From 199e65e9206428e04f8a0fa664a260f9cb5d0368 Mon Sep 17 00:00:00 2001 From: William Freudenberger Date: Fri, 4 Nov 2022 14:53:38 +0100 Subject: [PATCH 01/38] chore: bump version to 1.9.0 --- Cargo.lock | 42 +++++++++++++++++----------------- Cargo.toml | 2 +- runtimes/clone/src/lib.rs | 2 +- runtimes/peregrine/src/lib.rs | 4 ++-- runtimes/spiritnet/src/lib.rs | 4 ++-- runtimes/standalone/src/lib.rs | 2 +- 6 files changed, 28 insertions(+), 28 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 19c1bee21..53d67848e 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -339,7 +339,7 @@ checksum = "065374052e7df7ee4047b1160cca5e1467a12351a40b3da123c870ba0b8eda2a" [[package]] name = "attestation" -version = "1.8.0" +version = "1.9.0" dependencies = [ "ctype", "frame-benchmarking", @@ -963,7 +963,7 @@ dependencies = [ [[package]] name = "clone-runtime" -version = "1.8.0" +version = "1.9.0" dependencies = [ "cumulus-pallet-aura-ext", "cumulus-pallet-dmp-queue", @@ -1351,7 +1351,7 @@ dependencies = [ [[package]] name = "ctype" -version = "1.8.0" +version = "1.9.0" dependencies = [ "frame-benchmarking", "frame-support", @@ -1921,7 +1921,7 @@ dependencies = [ [[package]] name = "delegation" -version = "1.8.0" +version = "1.9.0" dependencies = [ "attestation", "bitflags", @@ -1978,7 +1978,7 @@ dependencies = [ [[package]] name = "did" -version = "1.8.0" +version = "1.9.0" dependencies = [ "ctype", "env_logger", @@ -3581,7 +3581,7 @@ checksum = "f9b7d56ba4a8344d6be9729995e6b06f928af29998cdf79fe390cbf6b1fee838" [[package]] name = "kilt-asset-dids" -version = "1.8.0" +version = "1.9.0" dependencies = [ "base58", "frame-support", @@ -3596,7 +3596,7 @@ dependencies = [ [[package]] name = "kilt-parachain" -version = "1.8.0" +version = "1.9.0" dependencies = [ "clap", "clone-runtime", @@ -3660,7 +3660,7 @@ dependencies = [ [[package]] name = "kilt-runtime-api-did" -version = "1.8.0" +version = "1.9.0" dependencies = [ "did", "kilt-support", @@ -3672,7 +3672,7 @@ dependencies = [ [[package]] name = "kilt-runtime-api-public-credentials" -version = "1.8.0" +version = "1.9.0" dependencies = [ "kilt-support", "parity-scale-codec", @@ -3682,7 +3682,7 @@ dependencies = [ [[package]] name = "kilt-runtime-api-staking" -version = "1.8.0" +version = "1.9.0" dependencies = [ "parity-scale-codec", "scale-info", @@ -3692,7 +3692,7 @@ dependencies = [ [[package]] name = "kilt-support" -version = "1.8.0" +version = "1.9.0" dependencies = [ "frame-support", "frame-system", @@ -4604,7 +4604,7 @@ dependencies = [ [[package]] name = "mashnet-node" -version = "1.8.0" +version = "1.9.0" dependencies = [ "clap", "frame-benchmarking", @@ -4646,7 +4646,7 @@ dependencies = [ [[package]] name = "mashnet-node-runtime" -version = "1.8.0" +version = "1.9.0" dependencies = [ "attestation", "ctype", @@ -5493,7 +5493,7 @@ dependencies = [ [[package]] name = "pallet-did-lookup" -version = "1.8.0" +version = "1.9.0" dependencies = [ "frame-benchmarking", "frame-support", @@ -5661,7 +5661,7 @@ dependencies = [ [[package]] name = "pallet-inflation" -version = "1.8.0" +version = "1.9.0" dependencies = [ "frame-benchmarking", "frame-support", @@ -6139,7 +6139,7 @@ dependencies = [ [[package]] name = "pallet-web3-names" -version = "1.8.0" +version = "1.9.0" dependencies = [ "frame-benchmarking", "frame-support", @@ -6205,7 +6205,7 @@ dependencies = [ [[package]] name = "parachain-staking" -version = "1.8.0" +version = "1.9.0" dependencies = [ "frame-benchmarking", "frame-support", @@ -6414,7 +6414,7 @@ checksum = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e" [[package]] name = "peregrine-runtime" -version = "1.8.0" +version = "1.9.0" dependencies = [ "attestation", "ctype", @@ -7948,7 +7948,7 @@ dependencies = [ [[package]] name = "public-credentials" -version = "1.8.0" +version = "1.9.0" dependencies = [ "ctype", "frame-benchmarking", @@ -8410,7 +8410,7 @@ dependencies = [ [[package]] name = "runtime-common" -version = "1.8.0" +version = "1.9.0" dependencies = [ "attestation", "frame-support", @@ -10756,7 +10756,7 @@ checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" [[package]] name = "spiritnet-runtime" -version = "1.8.0" +version = "1.9.0" dependencies = [ "attestation", "ctype", diff --git a/Cargo.toml b/Cargo.toml index fbf068264..c8c09c7d2 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -19,7 +19,7 @@ homepage = "https://kilt.io/" license-file = "LICENSE" readme = "README.md" repository = "https://github.com/KILTprotocol/kilt-node" -version = "1.8.0" +version = "1.9.0" [workspace.dependencies] # Build deps diff --git a/runtimes/clone/src/lib.rs b/runtimes/clone/src/lib.rs index abbc86304..50a235751 100644 --- a/runtimes/clone/src/lib.rs +++ b/runtimes/clone/src/lib.rs @@ -79,7 +79,7 @@ pub const VERSION: RuntimeVersion = RuntimeVersion { spec_name: create_runtime_str!("KILT"), impl_name: create_runtime_str!("KILT"), authoring_version: 0, - spec_version: 10800, + spec_version: 10900, impl_version: 0, apis: RUNTIME_API_VERSIONS, transaction_version: 0, diff --git a/runtimes/peregrine/src/lib.rs b/runtimes/peregrine/src/lib.rs index bb023aa10..f80d289b8 100644 --- a/runtimes/peregrine/src/lib.rs +++ b/runtimes/peregrine/src/lib.rs @@ -89,10 +89,10 @@ pub const VERSION: RuntimeVersion = RuntimeVersion { spec_name: create_runtime_str!("mashnet-node"), impl_name: create_runtime_str!("mashnet-node"), authoring_version: 4, - spec_version: 10800, + spec_version: 10900, impl_version: 0, apis: RUNTIME_API_VERSIONS, - transaction_version: 4, + transaction_version: 5, state_version: 0, }; diff --git a/runtimes/spiritnet/src/lib.rs b/runtimes/spiritnet/src/lib.rs index 35dba4215..ac90e1e6d 100644 --- a/runtimes/spiritnet/src/lib.rs +++ b/runtimes/spiritnet/src/lib.rs @@ -89,10 +89,10 @@ pub const VERSION: RuntimeVersion = RuntimeVersion { spec_name: create_runtime_str!("kilt-spiritnet"), impl_name: create_runtime_str!("kilt-spiritnet"), authoring_version: 1, - spec_version: 10800, + spec_version: 10900, impl_version: 0, apis: RUNTIME_API_VERSIONS, - transaction_version: 3, + transaction_version: 4, state_version: 0, }; diff --git a/runtimes/standalone/src/lib.rs b/runtimes/standalone/src/lib.rs index 49769c93b..ed92ad970 100644 --- a/runtimes/standalone/src/lib.rs +++ b/runtimes/standalone/src/lib.rs @@ -119,7 +119,7 @@ pub const VERSION: RuntimeVersion = RuntimeVersion { spec_name: create_runtime_str!("mashnet-node"), impl_name: create_runtime_str!("mashnet-node"), authoring_version: 4, - spec_version: 10800, + spec_version: 10900, impl_version: 0, apis: RUNTIME_API_VERSIONS, transaction_version: 4, From c595a47634ac61775e77c30526f63aecbb9ab7fb Mon Sep 17 00:00:00 2001 From: Albrecht Date: Mon, 7 Nov 2022 14:51:12 +0100 Subject: [PATCH 02/38] fix: yorlin keys (#432) ## fixes [KILTProtocol/ticket#2255](https://github.com/KILTprotocol/ticket/issues/2255) --- Cargo.lock | 1 + nodes/standalone/Cargo.toml | 1 + nodes/standalone/src/chain_spec.rs | 157 +++++++++++++++++------------ 3 files changed, 95 insertions(+), 64 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 53d67848e..f73dd9439 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4610,6 +4610,7 @@ dependencies = [ "frame-benchmarking", "frame-benchmarking-cli", "frame-system", + "hex-literal", "jsonrpsee", "mashnet-node-runtime", "pallet-transaction-payment", diff --git a/nodes/standalone/Cargo.toml b/nodes/standalone/Cargo.toml index b0dafb4ce..5328bd189 100644 --- a/nodes/standalone/Cargo.toml +++ b/nodes/standalone/Cargo.toml @@ -24,6 +24,7 @@ substrate-build-script-utils.workspace = true # External dependencies clap = {workspace = true, features = ["derive"]} jsonrpsee = {workspace = true, features = ["server"]} +hex-literal.workspace = true # Internal dependencies mashnet-node-runtime = {workspace = true, features = ["std"]} diff --git a/nodes/standalone/src/chain_spec.rs b/nodes/standalone/src/chain_spec.rs index 6e2f6b3b9..defe96c9e 100644 --- a/nodes/standalone/src/chain_spec.rs +++ b/nodes/standalone/src/chain_spec.rs @@ -23,9 +23,10 @@ use mashnet_node_runtime::{ }; use runtime_common::{AccountId, AccountPublic}; +use hex_literal::hex; use sc_service::{self, ChainType, Properties}; use sp_consensus_aura::ed25519::AuthorityId as AuraId; -use sp_core::{ed25519, sr25519, Pair, Public}; +use sp_core::{crypto::UncheckedInto, ed25519, sr25519, Pair, Public}; use sp_finality_grandpa::AuthorityId as GrandpaId; use sp_runtime::traits::IdentifyAccount; @@ -36,17 +37,6 @@ use sp_runtime::traits::IdentifyAccount; /// ChainSpec type. pub type ChainSpec = sc_service::GenericChainSpec; -/// The chain specification option. This is expected to come in from the CLI and -/// is little more than one of a number of alternatives which can easily be -/// converted from a string (`--chain=...`) into a `ChainSpec`. -#[derive(Clone, Debug)] -pub enum Alternative { - /// Whatever the current runtime is, with just Alice as an auth. - Development, - /// Whatever the current runtime is, with simple Alice/Bob auths. - KiltTestnet, -} - /// Helper function to generate a crypto pair from seed fn get_from_secret(seed: &str) -> ::Public { TPublic::Pair::from_string(seed, None) @@ -71,55 +61,92 @@ fn get_authority_keys_from_secret(seed: &str) -> (AccountId, AuraId, GrandpaId) ) } -impl Alternative { - /// Get an actual chain config from one of the alternatives. - pub(crate) fn load(self) -> Result { - let wasm_binary = WASM_BINARY.ok_or_else(|| "Development wasm binary not available".to_string())?; - - let mut properties = Properties::new(); - properties.insert("tokenDecimals".into(), 15_i16.into()); - - Ok(match self { - Alternative::Development => { - properties.insert("tokenSymbol".into(), "KILT".into()); - ChainSpec::from_genesis( - "Development", - "development", - ChainType::Development, - move || { - devnet_genesis( - wasm_binary, - vec![get_authority_keys_from_secret("//Alice")], - get_account_id_from_secret::("//Alice"), - vec![ - // Dev Faucet account - get_account_id_from_secret::("receive clutch item involve chaos clutch furnace arrest claw isolate okay together"), - get_account_id_from_secret::("//Alice"), - get_account_id_from_secret::("//Bob"), - get_account_id_from_secret::("//Alice"), - get_account_id_from_secret::("//Bob"), - ], - ) - }, - vec![], - None, - None, - None, - Some(properties), - None, - ) - } - Alternative::KiltTestnet => ChainSpec::from_json_bytes(&include_bytes!("../res/testnet.json")[..])?, - }) - } +fn devnet_chain_spec() -> Result { + let wasm_binary = WASM_BINARY.ok_or_else(|| "Development wasm binary not available".to_string())?; + + let mut properties = Properties::new(); + properties.insert("tokenDecimals".into(), 15_i16.into()); + + properties.insert("tokenSymbol".into(), "DILT".into()); + Ok(ChainSpec::from_genesis( + "Development", + "development", + ChainType::Development, + move || { + devnet_genesis( + wasm_binary, + vec![get_authority_keys_from_secret("//Alice")], + get_account_id_from_secret::("//Alice"), + vec![ + // Dev Faucet account + get_account_id_from_secret::( + "receive clutch item involve chaos clutch furnace arrest claw isolate okay together", + ), + get_account_id_from_secret::("//Alice"), + get_account_id_from_secret::("//Bob"), + get_account_id_from_secret::("//Alice"), + get_account_id_from_secret::("//Bob"), + ], + ) + }, + vec![], + None, + None, + None, + Some(properties), + None, + )) +} - pub(crate) fn from(s: &str) -> Option { - match s { - "dev" => Some(Alternative::Development), - "kilt-testnet" => Some(Alternative::KiltTestnet), - _ => None, - } - } +const YORLIN_ALICE_ACC: [u8; 32] = hex!["e82655d021c27086c4c8a47c29a9094c50c3d09d5ddbb71c01781b4cf6c2dc3f"]; +const YORLIN_ALICE_SESSION_SR: [u8; 32] = hex!["ecb26520504cecf51936e8d9df07d1355726bf186f9cd38d35277f918fe3230c"]; +const YORLIN_ALICE_SESSION_ED: [u8; 32] = hex!["d600f710ab168414cb29faef92bd570f01c375cb359ec27485b176246ac597a5"]; +const YORLIN_BOB_ACC: [u8; 32] = hex!["38621f2de0250bd855fef9ab09fd8b06e6ed67c574ea4ae2b46557a809fab56d"]; +const YORLIN_BOB_SESSION_SR: [u8; 32] = hex!["1284c324ac272432b83779886ad66ff74dc6147f4a4a67124218e0b88c27ea7d"]; +const YORLIN_BOB_SESSION_ED: [u8; 32] = hex!["5d1040178af44ca8bc598d48c6b0c49e8b5b916315d3d91f953df7623c9c78ae"]; +const YORLIN_FAUCET_ACC: [u8; 32] = hex!["a874b37f88e76eefbeb62d4424876004c81f7ae30e2d7c2bb380001a1961fc38"]; + +fn yorlin_chain_spec() -> Result { + let wasm_binary = WASM_BINARY.ok_or_else(|| "Yorlin wasm binary not available".to_string())?; + + let mut properties = Properties::new(); + properties.insert("tokenDecimals".into(), 15_i16.into()); + + properties.insert("tokenSymbol".into(), "YILT".into()); + Ok(ChainSpec::from_genesis( + "Yorlin", + "Yorlin", + ChainType::Development, + move || { + devnet_genesis( + wasm_binary, + vec![ + ( + YORLIN_ALICE_ACC.into(), + YORLIN_ALICE_SESSION_SR.unchecked_into(), + YORLIN_ALICE_SESSION_ED.unchecked_into(), + ), + ( + YORLIN_BOB_ACC.into(), + YORLIN_BOB_SESSION_SR.unchecked_into(), + YORLIN_BOB_SESSION_ED.unchecked_into(), + ), + ], + YORLIN_ALICE_ACC.into(), + vec![YORLIN_ALICE_ACC.into(), YORLIN_BOB_ACC.into(), YORLIN_FAUCET_ACC.into()], + ) + }, + vec![], + None, + Some("yOrLiN"), + None, + Some(properties), + None, + )) +} + +fn testnet_chain_spec() -> Result { + ChainSpec::from_json_bytes(&include_bytes!("../res/testnet.json")[..]) } fn devnet_genesis( @@ -159,8 +186,10 @@ fn devnet_genesis( } pub fn load_spec(id: &str) -> Result, String> { - Ok(match Alternative::from(id) { - Some(spec) => Box::new(spec.load()?), - None => Box::new(ChainSpec::from_json_file(std::path::PathBuf::from(id))?), - }) + Ok(Box::new(match id { + "kilt-testnet" => testnet_chain_spec()?, + "dev" => devnet_chain_spec()?, + "yorlin" => yorlin_chain_spec()?, + _ => return Err(format!("Unknown spec: {}", id)), + })) } From 8fe2c4de746bfee57154e0b970b39f860c75b769 Mon Sep 17 00:00:00 2001 From: Antonio Date: Tue, 8 Nov 2022 09:45:25 +0100 Subject: [PATCH 03/38] chore: renaming runtime APIs for public credentials (#433) --- runtime-api/public-credentials/src/lib.rs | 4 ++-- runtimes/clone/src/lib.rs | 4 ++-- runtimes/peregrine/src/lib.rs | 4 ++-- runtimes/spiritnet/src/lib.rs | 4 ++-- runtimes/standalone/src/lib.rs | 4 ++-- 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/runtime-api/public-credentials/src/lib.rs b/runtime-api/public-credentials/src/lib.rs index 52fada35d..c78ba04ca 100644 --- a/runtime-api/public-credentials/src/lib.rs +++ b/runtime-api/public-credentials/src/lib.rs @@ -33,10 +33,10 @@ sp_api::decl_runtime_apis! { Error: Codec, { /// Return the public credential with the specified ID, if found. - fn get_credential(credential_id: CredentialId) -> Option; + fn get_by_id(credential_id: CredentialId) -> Option; /// Return all the public credentials linked to the specified subject. /// An optional filter can be passed to be applied to the result before being returned to the client. /// It returns an error if the provided specified subject ID is not valid. - fn get_credentials(subject: SubjectId, filter: Option) -> Result, Error>; + fn get_by_subject(subject: SubjectId, filter: Option) -> Result, Error>; } } diff --git a/runtimes/clone/src/lib.rs b/runtimes/clone/src/lib.rs index 50a235751..0b472c31c 100644 --- a/runtimes/clone/src/lib.rs +++ b/runtimes/clone/src/lib.rs @@ -580,11 +580,11 @@ impl_runtime_apis! { } impl kilt_runtime_api_public_credentials::PublicCredentials, Hash, public_credentials::CredentialEntry>, PublicCredentialsFilter, PublicCredentialsApiError> for Runtime { - fn get_credential(_credential_id: Hash) -> Option>> { + fn get_by_id(_credential_id: Hash) -> Option>> { None } - fn get_credentials(_subject: Vec, _filter: Option>) -> Result>)>, PublicCredentialsApiError> { + fn get_by_subject(_subject: Vec, _filter: Option>) -> Result>)>, PublicCredentialsApiError> { Ok(vec![]) } } diff --git a/runtimes/peregrine/src/lib.rs b/runtimes/peregrine/src/lib.rs index f80d289b8..03aea7823 100644 --- a/runtimes/peregrine/src/lib.rs +++ b/runtimes/peregrine/src/lib.rs @@ -1257,12 +1257,12 @@ impl_runtime_apis! { } impl kilt_runtime_api_public_credentials::PublicCredentials, Hash, public_credentials::CredentialEntry::DelegationNodeId>>, PublicCredentialsFilter, PublicCredentialsApiError> for Runtime { - fn get_credential(credential_id: Hash) -> Option::DelegationNodeId>>> { + fn get_by_id(credential_id: Hash) -> Option::DelegationNodeId>>> { let subject = public_credentials::CredentialSubjects::::get(&credential_id)?; public_credentials::Credentials::::get(&subject, &credential_id) } - fn get_credentials(subject: Vec, filter: Option>) -> Result::DelegationNodeId>>)>, PublicCredentialsApiError> { + fn get_by_subject(subject: Vec, filter: Option>) -> Result::DelegationNodeId>>)>, PublicCredentialsApiError> { let asset_did = AssetDid::try_from(subject).map_err(|_| PublicCredentialsApiError::InvalidSubjectId)?; let credentials_prefix = public_credentials::Credentials::::iter_prefix(&asset_did); if let Some(filter) = filter { diff --git a/runtimes/spiritnet/src/lib.rs b/runtimes/spiritnet/src/lib.rs index ac90e1e6d..5e10aac9f 100644 --- a/runtimes/spiritnet/src/lib.rs +++ b/runtimes/spiritnet/src/lib.rs @@ -1253,12 +1253,12 @@ impl_runtime_apis! { } impl kilt_runtime_api_public_credentials::PublicCredentials, Hash, public_credentials::CredentialEntry::DelegationNodeId>>, PublicCredentialsFilter, PublicCredentialsApiError> for Runtime { - fn get_credential(credential_id: Hash) -> Option::DelegationNodeId>>> { + fn get_by_id(credential_id: Hash) -> Option::DelegationNodeId>>> { let subject = public_credentials::CredentialSubjects::::get(&credential_id)?; public_credentials::Credentials::::get(&subject, &credential_id) } - fn get_credentials(subject: Vec, filter: Option>) -> Result::DelegationNodeId>>)>, PublicCredentialsApiError> { + fn get_by_subject(subject: Vec, filter: Option>) -> Result::DelegationNodeId>>)>, PublicCredentialsApiError> { let asset_did = AssetDid::try_from(subject).map_err(|_| PublicCredentialsApiError::InvalidSubjectId)?; let credentials_prefix = public_credentials::Credentials::::iter_prefix(&asset_did); if let Some(filter) = filter { diff --git a/runtimes/standalone/src/lib.rs b/runtimes/standalone/src/lib.rs index ed92ad970..faf7fdbb4 100644 --- a/runtimes/standalone/src/lib.rs +++ b/runtimes/standalone/src/lib.rs @@ -1002,12 +1002,12 @@ impl_runtime_apis! { } impl kilt_runtime_api_public_credentials::PublicCredentials, Hash, public_credentials::CredentialEntry::DelegationNodeId>>, PublicCredentialsFilter, PublicCredentialsApiError> for Runtime { - fn get_credential(credential_id: Hash) -> Option::DelegationNodeId>>> { + fn get_by_id(credential_id: Hash) -> Option::DelegationNodeId>>> { let subject = public_credentials::CredentialSubjects::::get(&credential_id)?; public_credentials::Credentials::::get(&subject, &credential_id) } - fn get_credentials(subject: Vec, filter: Option>) -> Result::DelegationNodeId>>)>, PublicCredentialsApiError> { + fn get_by_subject(subject: Vec, filter: Option>) -> Result::DelegationNodeId>>)>, PublicCredentialsApiError> { let asset_did = AssetDid::try_from(subject).map_err(|_| PublicCredentialsApiError::InvalidSubjectId)?; let credentials_prefix = public_credentials::Credentials::::iter_prefix(&asset_did); if let Some(filter) = filter { From 0d0044b9f121076706ca19417364ce67954f8ccc Mon Sep 17 00:00:00 2001 From: William Freudenberger Date: Mon, 14 Nov 2022 16:52:02 +0100 Subject: [PATCH 04/38] chore: bump spec versions to 10902 --- runtimes/clone/src/lib.rs | 2 +- runtimes/peregrine/src/lib.rs | 2 +- runtimes/spiritnet/src/lib.rs | 2 +- runtimes/standalone/src/lib.rs | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/runtimes/clone/src/lib.rs b/runtimes/clone/src/lib.rs index 0b472c31c..85dc25ab8 100644 --- a/runtimes/clone/src/lib.rs +++ b/runtimes/clone/src/lib.rs @@ -79,7 +79,7 @@ pub const VERSION: RuntimeVersion = RuntimeVersion { spec_name: create_runtime_str!("KILT"), impl_name: create_runtime_str!("KILT"), authoring_version: 0, - spec_version: 10900, + spec_version: 10902, impl_version: 0, apis: RUNTIME_API_VERSIONS, transaction_version: 0, diff --git a/runtimes/peregrine/src/lib.rs b/runtimes/peregrine/src/lib.rs index 03aea7823..d7003e8b1 100644 --- a/runtimes/peregrine/src/lib.rs +++ b/runtimes/peregrine/src/lib.rs @@ -89,7 +89,7 @@ pub const VERSION: RuntimeVersion = RuntimeVersion { spec_name: create_runtime_str!("mashnet-node"), impl_name: create_runtime_str!("mashnet-node"), authoring_version: 4, - spec_version: 10900, + spec_version: 10902, impl_version: 0, apis: RUNTIME_API_VERSIONS, transaction_version: 5, diff --git a/runtimes/spiritnet/src/lib.rs b/runtimes/spiritnet/src/lib.rs index 5e10aac9f..4dfadd1b4 100644 --- a/runtimes/spiritnet/src/lib.rs +++ b/runtimes/spiritnet/src/lib.rs @@ -89,7 +89,7 @@ pub const VERSION: RuntimeVersion = RuntimeVersion { spec_name: create_runtime_str!("kilt-spiritnet"), impl_name: create_runtime_str!("kilt-spiritnet"), authoring_version: 1, - spec_version: 10900, + spec_version: 10902, impl_version: 0, apis: RUNTIME_API_VERSIONS, transaction_version: 4, diff --git a/runtimes/standalone/src/lib.rs b/runtimes/standalone/src/lib.rs index faf7fdbb4..018ffb38f 100644 --- a/runtimes/standalone/src/lib.rs +++ b/runtimes/standalone/src/lib.rs @@ -119,7 +119,7 @@ pub const VERSION: RuntimeVersion = RuntimeVersion { spec_name: create_runtime_str!("mashnet-node"), impl_name: create_runtime_str!("mashnet-node"), authoring_version: 4, - spec_version: 10900, + spec_version: 10902, impl_version: 0, apis: RUNTIME_API_VERSIONS, transaction_version: 4, From d67c5c43f5e0031558a1f4382b45a440f8771fcf Mon Sep 17 00:00:00 2001 From: William Freudenberger Date: Wed, 16 Nov 2022 08:57:01 +0100 Subject: [PATCH 05/38] Revert "chore: bump spec versions to 10902" This reverts commit 0d0044b9f121076706ca19417364ce67954f8ccc. --- runtimes/clone/src/lib.rs | 2 +- runtimes/peregrine/src/lib.rs | 2 +- runtimes/spiritnet/src/lib.rs | 2 +- runtimes/standalone/src/lib.rs | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/runtimes/clone/src/lib.rs b/runtimes/clone/src/lib.rs index 85dc25ab8..0b472c31c 100644 --- a/runtimes/clone/src/lib.rs +++ b/runtimes/clone/src/lib.rs @@ -79,7 +79,7 @@ pub const VERSION: RuntimeVersion = RuntimeVersion { spec_name: create_runtime_str!("KILT"), impl_name: create_runtime_str!("KILT"), authoring_version: 0, - spec_version: 10902, + spec_version: 10900, impl_version: 0, apis: RUNTIME_API_VERSIONS, transaction_version: 0, diff --git a/runtimes/peregrine/src/lib.rs b/runtimes/peregrine/src/lib.rs index d7003e8b1..03aea7823 100644 --- a/runtimes/peregrine/src/lib.rs +++ b/runtimes/peregrine/src/lib.rs @@ -89,7 +89,7 @@ pub const VERSION: RuntimeVersion = RuntimeVersion { spec_name: create_runtime_str!("mashnet-node"), impl_name: create_runtime_str!("mashnet-node"), authoring_version: 4, - spec_version: 10902, + spec_version: 10900, impl_version: 0, apis: RUNTIME_API_VERSIONS, transaction_version: 5, diff --git a/runtimes/spiritnet/src/lib.rs b/runtimes/spiritnet/src/lib.rs index 4dfadd1b4..5e10aac9f 100644 --- a/runtimes/spiritnet/src/lib.rs +++ b/runtimes/spiritnet/src/lib.rs @@ -89,7 +89,7 @@ pub const VERSION: RuntimeVersion = RuntimeVersion { spec_name: create_runtime_str!("kilt-spiritnet"), impl_name: create_runtime_str!("kilt-spiritnet"), authoring_version: 1, - spec_version: 10902, + spec_version: 10900, impl_version: 0, apis: RUNTIME_API_VERSIONS, transaction_version: 4, diff --git a/runtimes/standalone/src/lib.rs b/runtimes/standalone/src/lib.rs index 018ffb38f..faf7fdbb4 100644 --- a/runtimes/standalone/src/lib.rs +++ b/runtimes/standalone/src/lib.rs @@ -119,7 +119,7 @@ pub const VERSION: RuntimeVersion = RuntimeVersion { spec_name: create_runtime_str!("mashnet-node"), impl_name: create_runtime_str!("mashnet-node"), authoring_version: 4, - spec_version: 10902, + spec_version: 10900, impl_version: 0, apis: RUNTIME_API_VERSIONS, transaction_version: 4, From db1687f48d2afff8851120eea346ff7e10faf2fa Mon Sep 17 00:00:00 2001 From: William Freudenberger Date: Wed, 16 Nov 2022 08:58:38 +0100 Subject: [PATCH 06/38] ci: build latest only on non rc tags --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 775b6b140..b66878f7e 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -65,7 +65,7 @@ build: - "if [[ ! -z ${CI_COMMIT_BRANCH} ]]; then ./.maintain/push-image.sh build ${CI_COMMIT_SHORT_SHA}; fi" - "if [[ ! -z ${CI_COMMIT_BRANCH} ]]; then ./.maintain/push-image.sh build latest-${CI_COMMIT_BRANCH}; fi" - "if [[ ! -z ${CI_COMMIT_TAG} ]]; then ./.maintain/push-image.sh build ${CI_COMMIT_TAG}; fi" - - "if [[ ! -z ${CI_COMMIT_TAG} ]]; then ./.maintain/push-image.sh build latest; fi" + - "if [[ ! -z ${CI_COMMIT_TAG} && ! -z ${CI_COMMIT_TAG##*-rc*} ]]; then ./.maintain/push-image.sh build latest; fi" build-wasm-peregrine: image: From 5f8b12c559d25d6390391a461102352c9b7d7847 Mon Sep 17 00:00:00 2001 From: Albrecht Date: Fri, 18 Nov 2022 09:55:31 +0100 Subject: [PATCH 07/38] chore: update bootnodes (#435) --- dev-specs/kilt-parachain/peregrine-kilt.json | 4 ++-- dev-specs/kilt-parachain/peregrine-relay.json | 10 ++++------ 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/dev-specs/kilt-parachain/peregrine-kilt.json b/dev-specs/kilt-parachain/peregrine-kilt.json index 086c03cde..5a182e270 100644 --- a/dev-specs/kilt-parachain/peregrine-kilt.json +++ b/dev-specs/kilt-parachain/peregrine-kilt.json @@ -3,8 +3,8 @@ "id": "peregrine3_kilt", "chainType": "Live", "bootNodes": [ - "/dns4/eyrie-1.kilt.io/tcp/30371/p2p/12D3KooWALJtiCZzcUPVsCa5f5egGfQyFhPY67kKosDw95bJqK7M", - "/dns4/eyrie-2.kilt.io/tcp/30372/p2p/12D3KooWCRgcGtFRsvqxqgysiR6Ah9SAzUNkM12Ef9sy59ZEspSQ" + "/dns4/eyrie-4.kilt.io/tcp/30371/p2p/12D3KooWALJtiCZzcUPVsCa5f5egGfQyFhPY67kKosDw95bJqK7M", + "/dns4/eyrie-5.kilt.io/tcp/30372/p2p/12D3KooWCRgcGtFRsvqxqgysiR6Ah9SAzUNkM12Ef9sy59ZEspSQ" ], "telemetryEndpoints": [ [ diff --git a/dev-specs/kilt-parachain/peregrine-relay.json b/dev-specs/kilt-parachain/peregrine-relay.json index 7406dadae..df35aa041 100644 --- a/dev-specs/kilt-parachain/peregrine-relay.json +++ b/dev-specs/kilt-parachain/peregrine-relay.json @@ -3,12 +3,10 @@ "id": "westend_peregrine3_relay", "chainType": "Live", "bootNodes": [ - "/dns4/eyrie-1.kilt.io/tcp/30360/p2p/12D3KooWEeezCpJauUmWw3zfgEtYzhZTc5LgukQYtGTMaZfzgVfE", - "/dns4/eyrie-2.kilt.io/tcp/30361/p2p/12D3KooWHq5j9tLdZEu4tnr6ii2k33zp5DCoKREQ6KzuabC9Gihu", - "/dns4/eyrie-2.kilt.io/tcp/30362/p2p/12D3KooWQ8iTGLH98zLz9BZmq5FXDmR1NytDsJ2VToXvcjvHV16a", - "/dns4/eyrie-1.kilt.io/tcp/30363/p2p/12D3KooWNWNptEoH443LVUgwC5kd7DBVoNYwQtJh6dp4TQxUsAST", - "/dns4/eyrie-3.kilt.io/tcp/30365/p2p/12D3KooWCYnLwW3eEWiWqBNraUDjp8qVg2uwyJxh9fKAs32PMutR", - "/dns4/eyrie-3.kilt.io/tcp/30366/p2p/12D3KooWCED7zzribj75pE98739qp8QNDDfXFmL2w6JMLwBWFLxL" + "/dns4/eyrie-5.kilt.io/tcp/30360/p2p/12D3KooWEeezCpJauUmWw3zfgEtYzhZTc5LgukQYtGTMaZfzgVfE", + "/dns4/eyrie-6.kilt.io/tcp/30361/p2p/12D3KooWHq5j9tLdZEu4tnr6ii2k33zp5DCoKREQ6KzuabC9Gihu", + "/dns4/eyrie-6.kilt.io/tcp/30362/p2p/12D3KooWQ8iTGLH98zLz9BZmq5FXDmR1NytDsJ2VToXvcjvHV16a", + "/dns4/eyrie-5.kilt.io/tcp/30363/p2p/12D3KooWNWNptEoH443LVUgwC5kd7DBVoNYwQtJh6dp4TQxUsAST" ], "telemetryEndpoints": [ [ From 655b9238ce2a8f25db888fe242e4124a3a5bd2d2 Mon Sep 17 00:00:00 2001 From: William Freudenberger Date: Fri, 4 Nov 2022 14:35:55 +0100 Subject: [PATCH 08/38] Revert "feat: support linking ethereum accounts (#355)" This reverts commit c8f45771eb3f87c2617f925a7ee088a68fcc4990. --- Cargo.lock | 1 - pallets/pallet-did-lookup/Cargo.toml | 4 +- pallets/pallet-did-lookup/src/account.rs | 189 ----------------- .../src/associate_account_request.rs | 60 ------ pallets/pallet-did-lookup/src/benchmarking.rs | 194 ++++-------------- .../pallet-did-lookup/src/default_weights.rs | 75 ++----- pallets/pallet-did-lookup/src/lib.rs | 79 ++++--- .../pallet-did-lookup/src/linkable_account.rs | 51 ----- pallets/pallet-did-lookup/src/migrations.rs | 144 ++++--------- pallets/pallet-did-lookup/src/mock.rs | 14 +- pallets/pallet-did-lookup/src/signature.rs | 30 +-- pallets/pallet-did-lookup/src/tests.rs | 186 +++++------------ pallets/parachain-staking/src/migration.rs | 2 - runtime-api/did/src/lib.rs | 32 +-- runtimes/clone/src/lib.rs | 8 +- runtimes/peregrine/src/lib.rs | 13 +- runtimes/peregrine/src/tests.rs | 9 +- .../src/weights/pallet_did_lookup.rs | 48 ++--- runtimes/spiritnet/src/lib.rs | 13 +- runtimes/spiritnet/src/tests.rs | 9 +- .../src/weights/pallet_did_lookup.rs | 42 +--- runtimes/standalone/src/lib.rs | 17 +- 22 files changed, 253 insertions(+), 967 deletions(-) delete mode 100644 pallets/pallet-did-lookup/src/account.rs delete mode 100644 pallets/pallet-did-lookup/src/associate_account_request.rs delete mode 100644 pallets/pallet-did-lookup/src/linkable_account.rs diff --git a/Cargo.lock b/Cargo.lock index f73dd9439..41049f522 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -5505,7 +5505,6 @@ dependencies = [ "log", "pallet-balances", "parity-scale-codec", - "rand 0.8.5", "scale-info", "sha3 0.10.2", "sp-core", diff --git a/pallets/pallet-did-lookup/Cargo.toml b/pallets/pallet-did-lookup/Cargo.toml index 37350f458..7ed21aca6 100644 --- a/pallets/pallet-did-lookup/Cargo.toml +++ b/pallets/pallet-did-lookup/Cargo.toml @@ -19,7 +19,6 @@ targets = ["x86_64-unknown-linux-gnu"] kilt-support = {workspace = true, features = ["mock"]} pallet-balances = {workspace = true, features = ["std"]} -rand = "0.8" sp-core = {workspace = true, features = ["std"]} sp-io = {workspace = true, features = ["std"]} sp-keystore = {workspace = true, features = ["std"]} @@ -40,17 +39,18 @@ kilt-support.workspace = true frame-support.workspace = true frame-system.workspace = true sp-core.workspace = true -sp-io.workspace = true sp-runtime.workspace = true sp-std.workspace = true # Benchmarking dependencies frame-benchmarking = {workspace = true, optional = true} +sp-io = {workspace = true, optional = true} [features] default = ["std"] runtime-benchmarks = [ "frame-benchmarking", + "sp-io", "kilt-support/runtime-benchmarks", "frame-support/runtime-benchmarks", "frame-system/runtime-benchmarks", diff --git a/pallets/pallet-did-lookup/src/account.rs b/pallets/pallet-did-lookup/src/account.rs deleted file mode 100644 index b6eb29a93..000000000 --- a/pallets/pallet-did-lookup/src/account.rs +++ /dev/null @@ -1,189 +0,0 @@ -// KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH - -// The KILT Blockchain 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. - -// The KILT Blockchain 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 this program. If not, see . - -// If you feel like getting in touch with us, you can do so at info@botlabs.org - -// This code originally came from the purestake/moonbeam repo. -// see https://github.com/PureStake/moonbeam/blob/74324db0cfacaad555064c839f17072b57cb35e3/primitives/account/src/lib.rs for reference. - -//! The Ethereum Signature implementation. -//! -//! It includes the Verify and IdentifyAccount traits for the AccountId20 - -use codec::{Decode, Encode, MaxEncodedLen}; -use frame_support::{crypto::ecdsa::ECDSAExt, RuntimeDebug}; -use scale_info::TypeInfo; -use sha3::{Digest, Keccak256}; -use sp_core::{ecdsa, H160, H256}; - -/// The AccountId20 type. -/// It is a 20-byte Ethereum address. -#[derive( - Eq, PartialEq, Copy, Clone, Encode, Decode, TypeInfo, MaxEncodedLen, Default, PartialOrd, Ord, RuntimeDebug, -)] -pub struct AccountId20(pub [u8; 20]); - -#[cfg(feature = "std")] -impl std::fmt::Display for AccountId20 { - //TODO This is a pretty quck-n-dirty implementation. Perhaps we should add - // checksum casing here? I bet there is a crate for that. - // Maybe this one https://github.com/miguelmota/rust-eth-checksum - fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(f, "{:?}", self.0) - } -} - -impl From<[u8; 20]> for AccountId20 { - fn from(bytes: [u8; 20]) -> Self { - Self(bytes) - } -} - -impl From for [u8; 20] { - fn from(id: AccountId20) -> Self { - id.0 - } -} - -impl From for AccountId20 { - fn from(h160: H160) -> Self { - Self(h160.0) - } -} - -impl From for H160 { - fn from(id: AccountId20) -> Self { - H160(id.0) - } -} - -#[cfg(feature = "std")] -impl std::str::FromStr for AccountId20 { - type Err = &'static str; - fn from_str(input: &str) -> Result { - H160::from_str(input) - .map(Into::into) - .map_err(|_| "invalid hex address.") - } -} - -/// Public key for an Ethereum / Moonbeam compatible account -#[derive(Eq, PartialEq, Ord, PartialOrd, Clone, Encode, Decode, RuntimeDebug, TypeInfo)] -pub struct EthereumSigner([u8; 20]); - -impl sp_runtime::traits::IdentifyAccount for EthereumSigner { - type AccountId = AccountId20; - fn into_account(self) -> AccountId20 { - AccountId20(self.0) - } -} - -impl From<[u8; 20]> for EthereumSigner { - fn from(x: [u8; 20]) -> Self { - EthereumSigner(x) - } -} - -impl TryFrom for EthereumSigner { - type Error = &'static str; - fn try_from(x: ecdsa::Public) -> Result { - match x.to_eth_address() { - Ok(x) => Ok(Self(x)), - Err(_) => Err("invalid public key"), - } - } -} - -impl From for EthereumSigner { - fn from(x: libsecp256k1::PublicKey) -> Self { - let mut m = [0u8; 64]; - m.copy_from_slice(&x.serialize()[1..65]); - let account = H160::from(H256::from_slice(Keccak256::digest(&m).as_slice())); - EthereumSigner(account.into()) - } -} - -#[cfg(feature = "std")] -impl std::fmt::Display for EthereumSigner { - fn fmt(&self, fmt: &mut std::fmt::Formatter) -> std::fmt::Result { - write!(fmt, "ethereum signature: {:?}", H160::from_slice(&self.0)) - } -} - -#[derive(Eq, PartialEq, Clone, Encode, Decode, MaxEncodedLen, RuntimeDebug, TypeInfo)] -pub struct EthereumSignature(ecdsa::Signature); - -impl From for EthereumSignature { - fn from(x: ecdsa::Signature) -> Self { - EthereumSignature(x) - } -} - -impl sp_runtime::traits::Verify for EthereumSignature { - type Signer = EthereumSigner; - fn verify>(&self, mut msg: L, signer: &AccountId20) -> bool { - let mut hashed_message_buffer = [0u8; 32]; - hashed_message_buffer.copy_from_slice(Keccak256::digest(msg.get()).as_slice()); - match sp_io::crypto::secp256k1_ecdsa_recover(self.0.as_ref(), &hashed_message_buffer) { - Ok(pubkey) => { - // TODO This conversion could use a comment. Why H256 first, then H160? - // TODO actually, there is probably just a better way to go from Keccak digest. - AccountId20(H160::from(H256::from_slice(Keccak256::digest(&pubkey).as_slice())).0) == *signer - } - Err(_) => { - log::trace!("Error verifying signature"); - false - } - } - } -} - -#[cfg(test)] -mod tests { - use super::*; - use sp_core::{ecdsa, Pair}; - use sp_runtime::traits::IdentifyAccount; - - #[test] - fn test_account_derivation_1() { - // Test from https://asecuritysite.com/encryption/ethadd - // This page generates a private ethereum key, a public key and computes an - // address from it. We take those values as reference point to proof that our - // implementation is correct. - let secret_key = hex::decode("502f97299c472b88754accd412b7c9a6062ef3186fba0c0388365e1edec24875").unwrap(); - let mut expected_hex_account = [0u8; 20]; - hex::decode_to_slice("976f8456e4e2034179b284a23c0e0c8f6d3da50c", &mut expected_hex_account) - .expect("example data is 20 bytes of valid hex"); - - let public_key = ecdsa::Pair::from_seed_slice(&secret_key).unwrap().public(); - let account: EthereumSigner = public_key.try_into().unwrap(); - let expected_account = AccountId20::from(expected_hex_account); - assert_eq!(account.into_account(), expected_account); - } - #[test] - fn test_account_derivation_2() { - // Test from https://asecuritysite.com/encryption/ethadd - let secret_key = hex::decode("0f02ba4d7f83e59eaa32eae9c3c4d99b68ce76decade21cdab7ecce8f4aef81a").unwrap(); - let mut expected_hex_account = [0u8; 20]; - hex::decode_to_slice("420e9f260b40af7e49440cead3069f8e82a5230f", &mut expected_hex_account) - .expect("example data is 20 bytes of valid hex"); - - let public_key = ecdsa::Pair::from_seed_slice(&secret_key).unwrap().public(); - let account: EthereumSigner = public_key.try_into().unwrap(); - let expected_account = AccountId20::from(expected_hex_account); - assert_eq!(account.into_account(), expected_account); - } -} diff --git a/pallets/pallet-did-lookup/src/associate_account_request.rs b/pallets/pallet-did-lookup/src/associate_account_request.rs deleted file mode 100644 index 684c5c285..000000000 --- a/pallets/pallet-did-lookup/src/associate_account_request.rs +++ /dev/null @@ -1,60 +0,0 @@ -// KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH - -// The KILT Blockchain 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. - -// The KILT Blockchain 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 this program. If not, see . - -// If you feel like getting in touch with us, you can do so at info@botlabs.org - -use crate::{ - account::{AccountId20, EthereumSignature}, - linkable_account::LinkableAccountId, - signature::get_wrapped_payload, -}; - -use codec::{Decode, Encode, MaxEncodedLen}; -use scale_info::TypeInfo; -use sp_runtime::{traits::Verify, AccountId32, MultiSignature}; - -#[derive(Clone, Debug, Eq, PartialEq, Encode, Decode, MaxEncodedLen, TypeInfo)] -pub enum AssociateAccountRequest { - Dotsama(AccountId32, MultiSignature), - Ethereum(AccountId20, EthereumSignature), -} - -impl AssociateAccountRequest { - pub fn verify( - &self, - did_identifier: ::DidIdentifier, - expiration: ::BlockNumber, - ) -> bool { - let encoded_payload = (&did_identifier, expiration).encode(); - match self { - AssociateAccountRequest::Dotsama(acc, proof) => proof.verify( - &get_wrapped_payload(&encoded_payload[..], crate::signature::WrapType::Substrate)[..], - acc, - ), - AssociateAccountRequest::Ethereum(acc, proof) => proof.verify( - &get_wrapped_payload(&encoded_payload[..], crate::signature::WrapType::Ethereum)[..], - acc, - ), - } - } - - pub fn get_linkable_account(&self) -> LinkableAccountId { - match self { - AssociateAccountRequest::Dotsama(acc, _) => LinkableAccountId::AccountId32(acc.clone()), - AssociateAccountRequest::Ethereum(acc, _) => LinkableAccountId::AccountId20(*acc), - } - } -} diff --git a/pallets/pallet-did-lookup/src/benchmarking.rs b/pallets/pallet-did-lookup/src/benchmarking.rs index e24c0ec29..599c628a1 100644 --- a/pallets/pallet-did-lookup/src/benchmarking.rs +++ b/pallets/pallet-did-lookup/src/benchmarking.rs @@ -19,27 +19,17 @@ //! Benchmarking +use crate::{ + signature::get_wrapped_payload, AccountIdOf, Call, Config, ConnectedAccounts, ConnectedDids, CurrencyOf, Pallet, +}; + use codec::Encode; use frame_benchmarking::{account, benchmarks, impl_benchmark_test_suite}; -use frame_support::{ - crypto::ecdsa::ECDSAExt, - traits::{Currency, Get}, -}; +use frame_support::traits::{Currency, Get}; use frame_system::RawOrigin; -use sha3::{Digest, Keccak256}; -use sp_io::crypto::{ecdsa_generate, ed25519_generate, sr25519_generate}; -use sp_runtime::{ - app_crypto::{ed25519, sr25519}, - traits::IdentifyAccount, - AccountId32, KeyTypeId, -}; - use kilt_support::{deposit::Deposit, traits::GenerateBenchmarkOrigin}; - -use crate::{ - account::AccountId20, linkable_account::LinkableAccountId, signature::get_wrapped_payload, AccountIdOf, - AssociateAccountRequest, Call, Config, ConnectedAccounts, ConnectedDids, CurrencyOf, Pallet, -}; +use sp_io::crypto::sr25519_generate; +use sp_runtime::{app_crypto::sr25519, KeyTypeId}; const SEED: u32 = 0; @@ -55,198 +45,88 @@ fn make_free_for_did(account: &AccountIdOf) { benchmarks! { where_clause { where - T::AccountId: From + From + Into + Into, + T::AccountId: From, T::DidIdentifier: From, + T::Signature: From, T::EnsureOrigin: GenerateBenchmarkOrigin, } - associate_account_multisig_sr25519 { + associate_account { let caller: T::AccountId = account("caller", 0, SEED); let did: T::DidIdentifier = account("did", 0, SEED); let previous_did: T::DidIdentifier = account("prev", 0, SEED + 1); let connected_acc = sr25519_generate(KeyTypeId(*b"aura"), None); let connected_acc_id: T::AccountId = connected_acc.into(); - let linkable_id: LinkableAccountId = connected_acc_id.clone().into(); - let bn: ::BlockNumber = 500_u32.into(); - - let sig = sp_io::crypto::sr25519_sign( - KeyTypeId(*b"aura"), - &connected_acc, - &get_wrapped_payload( - &Encode::encode(&(&did, bn))[..], - crate::signature::WrapType::Substrate, - )) - .ok_or("Error while building signature.")?; - - make_free_for_did::(&caller); - - // Add existing connected_acc -> previous_did connection that will be replaced - Pallet::::add_association(caller.clone(), previous_did.clone(), linkable_id.clone()).expect("should create previous association"); - assert!(ConnectedAccounts::::get(&previous_did, linkable_id.clone()).is_some()); - let origin = T::EnsureOrigin::generate_origin(caller, did.clone()); - let id_arg = linkable_id.clone(); - let req = AssociateAccountRequest::Dotsama(connected_acc_id.into(), sig.into()); - }: associate_account(origin, req, bn) - verify { - assert!(ConnectedDids::::get(linkable_id.clone()).is_some()); - assert!(ConnectedAccounts::::get(&previous_did, linkable_id.clone()).is_none()); - assert!(ConnectedAccounts::::get(did, linkable_id).is_some()); - } - - associate_account_multisig_ed25519 { - let caller: T::AccountId = account("caller", 0, SEED); - let did: T::DidIdentifier = account("did", 0, SEED); - let previous_did: T::DidIdentifier = account("prev", 0, SEED + 1); - let connected_acc = ed25519_generate(KeyTypeId(*b"aura"), None); - let connected_acc_id: T::AccountId = connected_acc.into(); - let linkable_id: LinkableAccountId = connected_acc_id.clone().into(); - let bn: ::BlockNumber = 500_u32.into(); - - let sig = sp_io::crypto::ed25519_sign( - KeyTypeId(*b"aura"), - &connected_acc, - &get_wrapped_payload( - &Encode::encode(&(&did, bn))[..], - crate::signature::WrapType::Substrate, - )) - .ok_or("Error while building signature.")?; - - make_free_for_did::(&caller); - - // Add existing connected_acc -> previous_did connection that will be replaced - Pallet::::add_association(caller.clone(), previous_did.clone(), linkable_id.clone()).expect("should create previous association"); - assert!(ConnectedAccounts::::get(&previous_did, linkable_id.clone()).is_some()); - let origin = T::EnsureOrigin::generate_origin(caller, did.clone()); - let id_arg = linkable_id.clone(); - let req = AssociateAccountRequest::Dotsama(connected_acc_id.into(), sig.into()); - }: associate_account(origin, req, bn) - verify { - assert!(ConnectedDids::::get(linkable_id.clone()).is_some()); - assert!(ConnectedAccounts::::get(&previous_did, linkable_id.clone()).is_none()); - assert!(ConnectedAccounts::::get(did, linkable_id).is_some()); - } - - associate_account_multisig_ecdsa { - let caller: T::AccountId = account("caller", 0, SEED); - let did: T::DidIdentifier = account("did", 0, SEED); - let previous_did: T::DidIdentifier = account("prev", 0, SEED + 1); - let connected_acc = ecdsa_generate(KeyTypeId(*b"aura"), None); - let connected_acc_id = sp_runtime::MultiSigner::from(connected_acc).into_account(); - let linkable_id: LinkableAccountId = connected_acc_id.clone().into(); let bn: ::BlockNumber = 500_u32.into(); - let sig = sp_io::crypto::ecdsa_sign( - KeyTypeId(*b"aura"), - &connected_acc, - &get_wrapped_payload( - &Encode::encode(&(&did, bn))[..], - crate::signature::WrapType::Substrate, - )) - .ok_or("Error while building signature.")?; + let sig: T::Signature = sp_io::crypto::sr25519_sign(KeyTypeId(*b"aura"), &connected_acc, &get_wrapped_payload(&Encode::encode(&(&did, bn))[..])) + .ok_or("Error while building signature.")? + .into(); make_free_for_did::(&caller); // Add existing connected_acc -> previous_did connection that will be replaced - Pallet::::add_association(caller.clone(), previous_did.clone(), linkable_id.clone()).expect("should create previous association"); - assert!(ConnectedAccounts::::get(&previous_did, linkable_id.clone()).is_some()); + Pallet::::add_association(caller.clone(), previous_did.clone(), connected_acc_id.clone()).expect("should create previous association"); + assert!(ConnectedAccounts::::get(&previous_did, T::AccountId::from(connected_acc)).is_some()); let origin = T::EnsureOrigin::generate_origin(caller, did.clone()); - let id_arg = linkable_id.clone(); - let req = AssociateAccountRequest::Dotsama(connected_acc_id, sig.into()); - }: associate_account(origin, req, bn) + }: _(origin, connected_acc_id, bn, sig) verify { - assert!(ConnectedDids::::get(linkable_id.clone()).is_some()); - assert!(ConnectedAccounts::::get(&previous_did, linkable_id.clone()).is_none()); - assert!(ConnectedAccounts::::get(did, linkable_id).is_some()); - } - - associate_eth_account { - let caller: T::AccountId = account("caller", 0, SEED); - let did: T::DidIdentifier = account("did", 0, SEED); - let previous_did: T::DidIdentifier = account("prev", 0, SEED + 1); - let expire_at: ::BlockNumber = 500_u32.into(); - - let eth_public_key = ecdsa_generate(KeyTypeId(*b"aura"), None); - let eth_account = AccountId20(eth_public_key.to_eth_address().unwrap()); - - let wrapped_payload = get_wrapped_payload( - &Encode::encode(&(&did, expire_at))[..], - crate::signature::WrapType::Ethereum, - ); - - let sig = sp_io::crypto::ecdsa_sign_prehashed( - KeyTypeId(*b"aura"), - ð_public_key, - &Keccak256::digest(&wrapped_payload).try_into().unwrap(), - ).ok_or("Error while building signature.")?; - - make_free_for_did::(&caller); - - // Add existing connected_acc -> previous_did connection that will be replaced - Pallet::::add_association(caller.clone(), previous_did.clone(), eth_account.into()).expect("should create previous association"); - assert!(ConnectedAccounts::::get(&previous_did, LinkableAccountId::from(eth_account)).is_some()); - let origin = T::EnsureOrigin::generate_origin(caller, did.clone()); - let req = AssociateAccountRequest::Ethereum(eth_account, sig.into()); - }: associate_account(origin, req, expire_at) - verify { - assert!(ConnectedDids::::get(LinkableAccountId::from(eth_account)).is_some()); - assert!(ConnectedAccounts::::get(&previous_did, LinkableAccountId::from(eth_account)).is_none()); - assert!(ConnectedAccounts::::get(did, LinkableAccountId::from(eth_account)).is_some()); + assert!(ConnectedDids::::get(T::AccountId::from(connected_acc)).is_some()); + assert!(ConnectedAccounts::::get(&previous_did, T::AccountId::from(connected_acc)).is_none()); + assert!(ConnectedAccounts::::get(did, T::AccountId::from(connected_acc)).is_some()); } associate_sender { let caller: T::AccountId = account("caller", 0, SEED); - let linkable_id: LinkableAccountId = caller.clone().into(); let did: T::DidIdentifier = account("did", 0, SEED); let previous_did: T::DidIdentifier = account("prev", 0, SEED + 1); make_free_for_did::(&caller); // Add existing sender -> previous_did connection that will be replaced - Pallet::::add_association(caller.clone(), previous_did.clone(), caller.clone().into()).expect("should create previous association"); - assert!(ConnectedAccounts::::get(&previous_did, &linkable_id).is_some()); - let origin = T::EnsureOrigin::generate_origin(caller, did.clone()); + Pallet::::add_association(caller.clone(), previous_did.clone(), caller.clone()).expect("should create previous association"); + assert!(ConnectedAccounts::::get(&previous_did, &caller).is_some()); + let origin = T::EnsureOrigin::generate_origin(caller.clone(), did.clone()); }: _(origin) verify { - assert!(ConnectedDids::::get(&linkable_id).is_some()); - assert!(ConnectedAccounts::::get(previous_did, &linkable_id).is_none()); - assert!(ConnectedAccounts::::get(did, linkable_id).is_some()); + assert!(ConnectedDids::::get(&caller).is_some()); + assert!(ConnectedAccounts::::get(previous_did, &caller).is_none()); + assert!(ConnectedAccounts::::get(did, caller).is_some()); } remove_sender_association { let caller: T::AccountId = account("caller", 0, SEED); - let linkable_id: LinkableAccountId = caller.clone().into(); let did: T::DidIdentifier = account("did", 0, SEED); make_free_for_did::(&caller); - Pallet::::add_association(caller.clone(), did.clone(), linkable_id.clone()).expect("should create association"); + Pallet::::add_association(caller.clone(), did.clone(), caller.clone()).expect("should create association"); - let origin = RawOrigin::Signed(caller); + let origin = RawOrigin::Signed(caller.clone()); }: _(origin) verify { - assert!(ConnectedDids::::get(&linkable_id).is_none()); - assert!(ConnectedAccounts::::get(did, linkable_id).is_none()); + assert!(ConnectedDids::::get(&caller).is_none()); + assert!(ConnectedAccounts::::get(did, caller).is_none()); } remove_account_association { let caller: T::AccountId = account("caller", 0, SEED); - let linkable_id: LinkableAccountId = caller.clone().into(); let did: T::DidIdentifier = account("did", 0, SEED); make_free_for_did::(&caller); - Pallet::::add_association(caller.clone(), did.clone(), linkable_id.clone()).expect("should create association"); + Pallet::::add_association(caller.clone(), did.clone(), caller.clone()).expect("should create association"); - let origin = T::EnsureOrigin::generate_origin(caller, did.clone()); - let id_arg = linkable_id.clone(); - }: _(origin, id_arg) + let origin = T::EnsureOrigin::generate_origin(caller.clone(), did.clone()); + let caller_clone = caller.clone(); + }: _(origin, caller_clone) verify { - assert!(ConnectedDids::::get(&linkable_id).is_none()); - assert!(ConnectedAccounts::::get(did, linkable_id).is_none()); + assert!(ConnectedDids::::get(&caller).is_none()); + assert!(ConnectedAccounts::::get(did, caller).is_none()); } change_deposit_owner { let deposit_owner_old: T::AccountId = account("caller", 0, SEED); let deposit_owner_new: T::AccountId = account("caller", 1, SEED); - let linkable_id: LinkableAccountId = deposit_owner_old.clone().into(); + let linkable_id: T::AccountId = deposit_owner_old.clone(); let did: T::DidIdentifier = account("did", 0, SEED); make_free_for_did::(&deposit_owner_old); make_free_for_did::(&deposit_owner_new); @@ -268,7 +148,7 @@ benchmarks! { update_deposit { let deposit_owner: T::AccountId = account("caller", 0, SEED); - let linkable_id: LinkableAccountId = deposit_owner.clone().into(); + let linkable_id: T::AccountId = deposit_owner.clone(); let did: T::DidIdentifier = account("did", 0, SEED); make_free_for_did::(&deposit_owner); diff --git a/pallets/pallet-did-lookup/src/default_weights.rs b/pallets/pallet-did-lookup/src/default_weights.rs index 88fab90e7..faae7c0f6 100644 --- a/pallets/pallet-did-lookup/src/default_weights.rs +++ b/pallets/pallet-did-lookup/src/default_weights.rs @@ -19,7 +19,7 @@ //! Autogenerated weights for pallet_did_lookup //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-10-26, STEPS: {{cmd.steps}}\, REPEAT: {{cmd.repeat}}\, LOW RANGE: {{cmd.lowest_range_values}}\, HIGH RANGE: {{cmd.highest_range_values}}\ +//! DATE: 2022-10-18, STEPS: {{cmd.steps}}\, REPEAT: {{cmd.repeat}}\, LOW RANGE: {{cmd.lowest_range_values}}\, HIGH RANGE: {{cmd.highest_range_values}}\ //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024 // Executed Command: @@ -47,10 +47,7 @@ use sp_std::marker::PhantomData; /// Weight functions needed for pallet_did_lookup. pub trait WeightInfo { - fn associate_account_multisig_sr25519() -> Weight; - fn associate_account_multisig_ed25519() -> Weight; - fn associate_account_multisig_ecdsa() -> Weight; - fn associate_eth_account() -> Weight; + fn associate_account() -> Weight; fn associate_sender() -> Weight; fn remove_sender_association() -> Weight; fn remove_account_association() -> Weight; @@ -64,32 +61,8 @@ impl WeightInfo for SubstrateWeight { // Storage: System Account (r:1 w:1) // Storage: DidLookup ConnectedDids (r:1 w:1) // Storage: DidLookup ConnectedAccounts (r:0 w:2) - fn associate_account_multisig_sr25519() -> Weight { - Weight::from_ref_time(134_000_000 as u64) - .saturating_add(T::DbWeight::get().reads(2 as u64)) - .saturating_add(T::DbWeight::get().writes(4 as u64)) - } - // Storage: System Account (r:1 w:1) - // Storage: DidLookup ConnectedDids (r:1 w:1) - // Storage: DidLookup ConnectedAccounts (r:0 w:2) - fn associate_account_multisig_ed25519() -> Weight { - Weight::from_ref_time(131_536_000 as u64) - .saturating_add(T::DbWeight::get().reads(2 as u64)) - .saturating_add(T::DbWeight::get().writes(4 as u64)) - } - // Storage: System Account (r:1 w:1) - // Storage: DidLookup ConnectedDids (r:1 w:1) - // Storage: DidLookup ConnectedAccounts (r:0 w:2) - fn associate_account_multisig_ecdsa() -> Weight { - Weight::from_ref_time(120_087_000 as u64) - .saturating_add(T::DbWeight::get().reads(2 as u64)) - .saturating_add(T::DbWeight::get().writes(4 as u64)) - } - // Storage: System Account (r:1 w:1) - // Storage: DidLookup ConnectedDids (r:1 w:1) - // Storage: DidLookup ConnectedAccounts (r:0 w:2) - fn associate_eth_account() -> Weight { - Weight::from_ref_time(121_859_000 as u64) + fn associate_account() -> Weight { + Weight::from_ref_time(133_386_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(4 as u64)) } @@ -97,7 +70,7 @@ impl WeightInfo for SubstrateWeight { // Storage: DidLookup ConnectedDids (r:1 w:1) // Storage: DidLookup ConnectedAccounts (r:0 w:2) fn associate_sender() -> Weight { - Weight::from_ref_time(74_489_000 as u64) + Weight::from_ref_time(72_692_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(4 as u64)) } @@ -105,7 +78,7 @@ impl WeightInfo for SubstrateWeight { // Storage: System Account (r:1 w:1) // Storage: DidLookup ConnectedAccounts (r:0 w:1) fn remove_sender_association() -> Weight { - Weight::from_ref_time(52_909_000 as u64) + Weight::from_ref_time(52_441_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } @@ -113,7 +86,7 @@ impl WeightInfo for SubstrateWeight { // Storage: System Account (r:1 w:1) // Storage: DidLookup ConnectedAccounts (r:0 w:1) fn remove_account_association() -> Weight { - Weight::from_ref_time(55_046_000 as u64) + Weight::from_ref_time(54_371_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } @@ -138,32 +111,8 @@ impl WeightInfo for () { // Storage: System Account (r:1 w:1) // Storage: DidLookup ConnectedDids (r:1 w:1) // Storage: DidLookup ConnectedAccounts (r:0 w:2) - fn associate_account_multisig_sr25519() -> Weight { - Weight::from_ref_time(134_000_000 as u64) - .saturating_add(RocksDbWeight::get().reads(2 as u64)) - .saturating_add(RocksDbWeight::get().writes(4 as u64)) - } - // Storage: System Account (r:1 w:1) - // Storage: DidLookup ConnectedDids (r:1 w:1) - // Storage: DidLookup ConnectedAccounts (r:0 w:2) - fn associate_account_multisig_ed25519() -> Weight { - Weight::from_ref_time(131_536_000 as u64) - .saturating_add(RocksDbWeight::get().reads(2 as u64)) - .saturating_add(RocksDbWeight::get().writes(4 as u64)) - } - // Storage: System Account (r:1 w:1) - // Storage: DidLookup ConnectedDids (r:1 w:1) - // Storage: DidLookup ConnectedAccounts (r:0 w:2) - fn associate_account_multisig_ecdsa() -> Weight { - Weight::from_ref_time(120_087_000 as u64) - .saturating_add(RocksDbWeight::get().reads(2 as u64)) - .saturating_add(RocksDbWeight::get().writes(4 as u64)) - } - // Storage: System Account (r:1 w:1) - // Storage: DidLookup ConnectedDids (r:1 w:1) - // Storage: DidLookup ConnectedAccounts (r:0 w:2) - fn associate_eth_account() -> Weight { - Weight::from_ref_time(121_859_000 as u64) + fn associate_account() -> Weight { + Weight::from_ref_time(133_386_000 as u64) .saturating_add(RocksDbWeight::get().reads(2 as u64)) .saturating_add(RocksDbWeight::get().writes(4 as u64)) } @@ -171,7 +120,7 @@ impl WeightInfo for () { // Storage: DidLookup ConnectedDids (r:1 w:1) // Storage: DidLookup ConnectedAccounts (r:0 w:2) fn associate_sender() -> Weight { - Weight::from_ref_time(74_489_000 as u64) + Weight::from_ref_time(72_692_000 as u64) .saturating_add(RocksDbWeight::get().reads(2 as u64)) .saturating_add(RocksDbWeight::get().writes(4 as u64)) } @@ -179,7 +128,7 @@ impl WeightInfo for () { // Storage: System Account (r:1 w:1) // Storage: DidLookup ConnectedAccounts (r:0 w:1) fn remove_sender_association() -> Weight { - Weight::from_ref_time(52_909_000 as u64) + Weight::from_ref_time(52_441_000 as u64) .saturating_add(RocksDbWeight::get().reads(2 as u64)) .saturating_add(RocksDbWeight::get().writes(3 as u64)) } @@ -187,7 +136,7 @@ impl WeightInfo for () { // Storage: System Account (r:1 w:1) // Storage: DidLookup ConnectedAccounts (r:0 w:1) fn remove_account_association() -> Weight { - Weight::from_ref_time(55_046_000 as u64) + Weight::from_ref_time(54_371_000 as u64) .saturating_add(RocksDbWeight::get().reads(2 as u64)) .saturating_add(RocksDbWeight::get().writes(3 as u64)) } diff --git a/pallets/pallet-did-lookup/src/lib.rs b/pallets/pallet-did-lookup/src/lib.rs index 5c14302e7..3470989da 100644 --- a/pallets/pallet-did-lookup/src/lib.rs +++ b/pallets/pallet-did-lookup/src/lib.rs @@ -24,10 +24,7 @@ #![cfg_attr(not(feature = "std"), no_std)] -pub mod account; -pub mod associate_account_request; pub mod default_weights; -pub mod linkable_account; pub mod migrations; mod connection_record; @@ -44,12 +41,9 @@ mod benchmarking; pub use crate::{default_weights::WeightInfo, pallet::*}; -use crate::associate_account_request::AssociateAccountRequest; - #[frame_support::pallet] pub mod pallet { - use super::{linkable_account::LinkableAccountId, AssociateAccountRequest, WeightInfo}; - + use super::WeightInfo; use frame_support::{ ensure, pallet_prelude::*, @@ -64,12 +58,17 @@ pub mod pallet { pub use crate::connection_record::ConnectionRecord; - /// The native identifier for accounts in this runtime. + use crate::signature::get_wrapped_payload; + + /// The identifier to which the accounts can be associated. pub(crate) type AccountIdOf = ::AccountId; /// The identifier to which the accounts can be associated. pub(crate) type DidIdentifierOf = ::DidIdentifier; + /// The signature type of the account that can get connected. + pub(crate) type SignatureOf = ::Signature; + /// The type used to describe a balance. pub(crate) type BalanceOf = <::Currency as Currency>>::Balance; @@ -79,11 +78,13 @@ pub mod pallet { /// The connection record type. pub(crate) type ConnectionRecordOf = ConnectionRecord, AccountIdOf, BalanceOf>; - pub const STORAGE_VERSION: StorageVersion = StorageVersion::new(3); + pub const STORAGE_VERSION: StorageVersion = StorageVersion::new(2); #[pallet::config] pub trait Config: frame_system::Config { type Event: From> + IsType<::Event>; + type Signature: sp_runtime::traits::Verify + Parameter; + type Signer: sp_runtime::traits::IdentifyAccount> + Parameter; /// The origin that can associate accounts to itself. type EnsureOrigin: EnsureOrigin::Origin>; @@ -115,7 +116,7 @@ pub mod pallet { /// Mapping from account identifiers to DIDs. #[pallet::storage] #[pallet::getter(fn connected_dids)] - pub type ConnectedDids = StorageMap<_, Blake2_128Concat, LinkableAccountId, ConnectionRecordOf>; + pub type ConnectedDids = StorageMap<_, Blake2_128Concat, AccountIdOf, ConnectionRecordOf>; /// Mapping from (DID + account identifier) -> (). /// The empty tuple is used as a sentinel value to simply indicate the @@ -123,16 +124,16 @@ pub mod pallet { #[pallet::storage] #[pallet::getter(fn connected_accounts)] pub type ConnectedAccounts = - StorageDoubleMap<_, Blake2_128Concat, DidIdentifierOf, Blake2_128Concat, LinkableAccountId, ()>; + StorageDoubleMap<_, Blake2_128Concat, DidIdentifierOf, Blake2_128Concat, AccountIdOf, ()>; #[pallet::event] #[pallet::generate_deposit(pub(super) fn deposit_event)] pub enum Event { /// A new association between a DID and an account ID was created. - AssociationEstablished(LinkableAccountId, DidIdentifierOf), + AssociationEstablished(AccountIdOf, DidIdentifierOf), /// An association between a DID and an account ID was removed. - AssociationRemoved(LinkableAccountId, DidIdentifierOf), + AssociationRemoved(AccountIdOf, DidIdentifierOf), } #[pallet::error] @@ -153,10 +154,7 @@ pub mod pallet { } #[pallet::call] - impl Pallet - where - T::AccountId: Into, - { + impl Pallet { /// Associate the given account to the DID that authorized this call. /// /// The account has to sign the DID and a blocknumber after which the @@ -174,16 +172,12 @@ pub mod pallet { /// - Reads: ConnectedDids + ConnectedAccounts + DID Origin Check /// - Writes: ConnectedDids + ConnectedAccounts /// # - #[pallet::weight( - ::WeightInfo::associate_account_multisig_sr25519().max( - ::WeightInfo::associate_account_multisig_ed25519().max( - ::WeightInfo::associate_account_multisig_ecdsa().max( - ::WeightInfo::associate_eth_account() - ))))] + #[pallet::weight(::WeightInfo::associate_account())] pub fn associate_account( origin: OriginFor, - req: AssociateAccountRequest, + account: AccountIdOf, expiration: ::BlockNumber, + proof: SignatureOf, ) -> DispatchResult { let source = ::EnsureOrigin::ensure_origin(origin)?; let did_identifier = source.subject(); @@ -193,7 +187,11 @@ pub mod pallet { frame_system::Pallet::::current_block_number() <= expiration, Error::::OutdatedProof ); - + let encoded_payload = (&did_identifier, expiration).encode(); + ensure!( + sp_runtime::traits::Verify::verify(&proof, &get_wrapped_payload(&encoded_payload[..])[..], &account), + Error::::NotAuthorized + ); ensure!( >>::can_reserve( &sender, @@ -202,12 +200,7 @@ pub mod pallet { Error::::InsufficientFunds ); - ensure!( - req.verify::(did_identifier.clone(), expiration), - Error::::NotAuthorized - ); - - Self::add_association(sender, did_identifier, req.get_linkable_account())?; + Self::add_association(sender, did_identifier, account)?; Ok(()) } @@ -235,7 +228,7 @@ pub mod pallet { Error::::InsufficientFunds ); - Self::add_association(source.sender(), source.subject(), source.sender().into())?; + Self::add_association(source.sender(), source.subject(), source.sender())?; Ok(()) } @@ -253,7 +246,7 @@ pub mod pallet { pub fn remove_sender_association(origin: OriginFor) -> DispatchResult { let who = ensure_signed(origin)?; - Self::remove_association(who.into()) + Self::remove_association(who) } /// Remove the association of the provided account ID. This call doesn't @@ -268,7 +261,7 @@ pub mod pallet { /// - Writes: ConnectedDids + ConnectedAccounts /// # #[pallet::weight(::WeightInfo::remove_account_association())] - pub fn remove_account_association(origin: OriginFor, account: LinkableAccountId) -> DispatchResult { + pub fn remove_account_association(origin: OriginFor, account: AccountIdOf) -> DispatchResult { let source = ::EnsureOrigin::ensure_origin(origin)?; let connection_record = ConnectedDids::::get(&account).ok_or(Error::::AssociationNotFound)?; @@ -289,7 +282,7 @@ pub mod pallet { /// - Writes: ConnectedDids /// # #[pallet::weight(::WeightInfo::remove_sender_association())] - pub fn reclaim_deposit(origin: OriginFor, account: LinkableAccountId) -> DispatchResult { + pub fn reclaim_deposit(origin: OriginFor, account: AccountIdOf) -> DispatchResult { let who = ensure_signed(origin)?; let record = ConnectedDids::::get(&account).ok_or(Error::::AssociationNotFound)?; @@ -305,7 +298,7 @@ pub mod pallet { /// The subject of the call must be linked to the account. /// The sender of the call will be the new deposit owner. #[pallet::weight(::WeightInfo::change_deposit_owner())] - pub fn change_deposit_owner(origin: OriginFor, account: LinkableAccountId) -> DispatchResult { + pub fn change_deposit_owner(origin: OriginFor, account: AccountIdOf) -> DispatchResult { let source = ::EnsureOrigin::ensure_origin(origin)?; let subject = source.subject(); @@ -319,7 +312,7 @@ pub mod pallet { /// /// The sender must be the deposit owner. #[pallet::weight(::WeightInfo::update_deposit())] - pub fn update_deposit(origin: OriginFor, account: LinkableAccountId) -> DispatchResult { + pub fn update_deposit(origin: OriginFor, account: AccountIdOf) -> DispatchResult { let source = ensure_signed(origin)?; let record = ConnectedDids::::get(&account).ok_or(Error::::AssociationNotFound)?; @@ -333,7 +326,7 @@ pub mod pallet { pub(crate) fn add_association( sender: AccountIdOf, did_identifier: DidIdentifierOf, - account: LinkableAccountId, + account: AccountIdOf, ) -> DispatchResult { let deposit = Deposit { owner: sender, @@ -360,7 +353,7 @@ pub mod pallet { Ok(()) } - pub(crate) fn remove_association(account: LinkableAccountId) -> DispatchResult { + pub(crate) fn remove_association(account: AccountIdOf) -> DispatchResult { if let Some(connection) = ConnectedDids::::take(&account) { ConnectedAccounts::::remove(&connection.did, &account); kilt_support::free_deposit::, CurrencyOf>(&connection.deposit); @@ -374,22 +367,22 @@ pub mod pallet { } struct LinkableAccountDepositCollector(PhantomData); - impl StorageDepositCollector, LinkableAccountId> for LinkableAccountDepositCollector { + impl StorageDepositCollector, AccountIdOf> for LinkableAccountDepositCollector { type Currency = T::Currency; fn deposit( - key: &LinkableAccountId, + key: &AccountIdOf, ) -> Result, >>::Balance>, DispatchError> { let record = ConnectedDids::::get(&key).ok_or(Error::::AssociationNotFound)?; Ok(record.deposit) } - fn deposit_amount(_key: &LinkableAccountId) -> >>::Balance { + fn deposit_amount(_key: &AccountIdOf) -> >>::Balance { T::Deposit::get() } fn store_deposit( - key: &LinkableAccountId, + key: &AccountIdOf, deposit: Deposit, >>::Balance>, ) -> Result<(), DispatchError> { let record = ConnectedDids::::get(&key).ok_or(Error::::AssociationNotFound)?; diff --git a/pallets/pallet-did-lookup/src/linkable_account.rs b/pallets/pallet-did-lookup/src/linkable_account.rs deleted file mode 100644 index 927ebffa8..000000000 --- a/pallets/pallet-did-lookup/src/linkable_account.rs +++ /dev/null @@ -1,51 +0,0 @@ -// KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH - -// The KILT Blockchain 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. - -// The KILT Blockchain 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 this program. If not, see . - -// If you feel like getting in touch with us, you can do so at info@botlabs.org - -use codec::{Decode, Encode, MaxEncodedLen}; -use scale_info::TypeInfo; -use sp_runtime::AccountId32; - -use crate::account::AccountId20; - -#[derive(Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Encode, Decode, MaxEncodedLen, TypeInfo)] -pub enum LinkableAccountId { - AccountId20(AccountId20), - AccountId32(AccountId32), -} - -impl From for LinkableAccountId { - fn from(account_id: AccountId20) -> Self { - Self::AccountId20(account_id) - } -} - -impl From for LinkableAccountId { - fn from(account_id: AccountId32) -> Self { - Self::AccountId32(account_id) - } -} - -#[cfg(feature = "std")] -impl std::fmt::Display for LinkableAccountId { - fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - match self { - Self::AccountId20(account_id) => write!(f, "{}", account_id), - Self::AccountId32(account_id) => write!(f, "{}", account_id), - } - } -} diff --git a/pallets/pallet-did-lookup/src/migrations.rs b/pallets/pallet-did-lookup/src/migrations.rs index f604c9db1..06715d10c 100644 --- a/pallets/pallet-did-lookup/src/migrations.rs +++ b/pallets/pallet-did-lookup/src/migrations.rs @@ -16,107 +16,51 @@ // If you feel like getting in touch with us, you can do so at info@botlabs.org -use crate::{linkable_account::LinkableAccountId, AccountIdOf, Config, ConnectionRecordOf, DidIdentifierOf, Pallet}; - -use crate::{ConnectedAccounts as ConnectedAccountsV2, ConnectedDids as ConnectedDidsV2}; - +use crate::{Config, ConnectedAccounts, ConnectedDids, Pallet}; use frame_support::{ - storage_alias, + dispatch::Weight, traits::{Get, GetStorageVersion, OnRuntimeUpgrade}, - Blake2_128Concat, }; -use sp_std::{marker::PhantomData, vec}; - -#[cfg(feature = "try-runtime")] -use frame_support::traits::OnRuntimeUpgradeHelpersExt; -#[cfg(feature = "try-runtime")] -use sp_runtime::SaturatedConversion; +use sp_std::marker::PhantomData; -#[storage_alias] -type ConnectedDids = StorageMap, Blake2_128Concat, AccountIdOf, ConnectionRecordOf>; -#[storage_alias] -type ConnectedAccounts = - StorageDoubleMap, Blake2_128Concat, DidIdentifierOf, Blake2_128Concat, AccountIdOf, ()>; - -pub struct EthereumMigration(PhantomData); - -impl OnRuntimeUpgrade for EthereumMigration -where - T::AccountId: Into, -{ - fn on_runtime_upgrade() -> frame_support::weights::Weight { - if Pallet::::on_chain_storage_version() == Pallet::::current_storage_version() { - // already on version 3 - ::DbWeight::get().reads_writes(1, 0) - } else { - log::info!("🔎 DidLookup: Initiating migration"); - let mut connected_dids = 0u64; - let mut connected_accounts = 0u64; - - // Migrate connected DIDs - // We should not write to the same storage item during drain because it can lead - // to undefined results. Thus, we write to a temporary storage and move that at - // the end. Else we iterate over every key more or less twice. - let mut connected_dids_buffer = vec![]; - for (acc_id32, value) in ConnectedDids::::drain() { - let acc_id: LinkableAccountId = acc_id32.into(); - connected_dids_buffer.push((acc_id, value)); - connected_dids = connected_dids.saturating_add(1); - } - for (acc_id, value) in &connected_dids_buffer { - ConnectedDidsV2::::insert(acc_id, value); - } - log::info!("🔎 DidLookup: Migrated all ConnectedDids"); - - // Migrate accounts - let mut connected_accounts_buffer = vec![]; - for (did_id, acc_id32, val) in ConnectedAccounts::::drain() { - let acc_id: LinkableAccountId = acc_id32.into(); - connected_accounts_buffer.push((did_id, acc_id, val)); - connected_accounts = connected_accounts.saturating_add(1); - } - for (did_id, acc_id, val) in &connected_accounts_buffer { - ConnectedAccountsV2::::insert(did_id, acc_id, val); - } - log::info!("🔎 DidLookup: Migrated all ConnectedAccounts"); - - Pallet::::current_storage_version().put::>(); - - ::DbWeight::get().reads_writes( - // read every entry in ConnectedDids and ConnectedAccounts - connected_dids - .saturating_add(connected_accounts) - // read the storage version - .saturating_add(1), - // for every storage entry remove the old + put the new entries - (connected_dids.saturating_add(connected_accounts)) - .saturating_mul(2) - // +1 for updating the storage version - .saturating_add(1), - ) - } - } +pub struct LookupReverseIndexMigration(PhantomData); +impl OnRuntimeUpgrade for LookupReverseIndexMigration { #[cfg(feature = "try-runtime")] fn pre_upgrade() -> Result<(), &'static str> { assert!(Pallet::::on_chain_storage_version() < Pallet::::current_storage_version()); + assert_eq!(ConnectedAccounts::::iter().count(), 0); - // Store number of connected DIDs in temp storage - let connected_did_count: u64 = ConnectedDids::::iter_keys().count().saturated_into(); - Self::set_temp_storage(connected_did_count, "pre_connected_did_count"); log::info!( - "🔎 DidLookup pre migration: Number of connected DIDs {:?}", - connected_did_count + "👥 DID lookup pallet to {:?} passes PRE migrate checks ✅", + Pallet::::current_storage_version() ); - // Store number of connected accounts in temp storage - let connected_account_count: u64 = ConnectedAccounts::::iter_keys().count().saturated_into(); - Self::set_temp_storage(connected_account_count, "pre_connected_account_count"); + Ok(()) + } + + fn on_runtime_upgrade() -> frame_support::weights::Weight { + // Account for the new storage version written below. + let initial_weight = T::DbWeight::get().writes(1); + + // Origin was disabled, so there cannot be any existing links. But we check just + // to be sure. + let total_weight: Weight = + ConnectedDids::::iter().fold(initial_weight, |total_weight, (account, record)| { + ConnectedAccounts::::insert(record.did, account, ()); + // One read for the `ConnectedDids` entry, one write for the new + // `ConnectedAccounts` entry. + total_weight.saturating_add(T::DbWeight::get().reads_writes(1, 1)) + }); + + Pallet::::current_storage_version().put::>(); + log::info!( - "🔎 DidLookup pre migration: Number of connected accounts {:?}", - connected_account_count + "👥 completed DID lookup pallet migration to {:?} ✅", + Pallet::::current_storage_version() ); - Ok(()) + + total_weight } #[cfg(feature = "try-runtime")] @@ -126,20 +70,20 @@ where Pallet::::current_storage_version() ); - // Check number of connected DIDs and accounts against pre-check result - let pre_connected_did_count = Self::get_temp_storage("pre_connected_did_count").unwrap_or(0u64); - let pre_connected_account_count = Self::get_temp_storage("pre_connected_account_count").unwrap_or(0u64); - assert_eq!( - ConnectedDidsV2::::iter().count().saturated_into::(), - pre_connected_did_count, - "Number of connected DIDs does not match" - ); - assert_eq!( - ConnectedAccountsV2::::iter_keys().count().saturated_into::(), - pre_connected_account_count, - "Number of connected accounts does not match" + // Verify DID -> Account integrity. + ConnectedDids::::iter().for_each(|(account, record)| { + assert!(ConnectedAccounts::::contains_key(record.did, account)); + }); + // Verify Account -> DID integrity. + ConnectedAccounts::::iter().for_each(|(did, account, _)| { + let entry = ConnectedDids::::get(account).expect("Should find a record for the given account."); + assert_eq!(entry.did, did); + }); + + log::info!( + "👥 DID lookup pallet to {:?} passes POST migrate checks ✅", + Pallet::::current_storage_version() ); - log::info!("🔎 DidLookup: Post migration checks successful"); Ok(()) } diff --git a/pallets/pallet-did-lookup/src/mock.rs b/pallets/pallet-did-lookup/src/mock.rs index ca5f0e49f..9838a249c 100644 --- a/pallets/pallet-did-lookup/src/mock.rs +++ b/pallets/pallet-did-lookup/src/mock.rs @@ -28,10 +28,9 @@ use sp_runtime::{ }; use crate::{ - self as pallet_did_lookup, linkable_account::LinkableAccountId, AccountIdOf, BalanceOf, Config, ConnectedAccounts, - ConnectedDids, ConnectionRecord, CurrencyOf, DidIdentifierOf, + self as pallet_did_lookup, AccountIdOf, BalanceOf, Config, ConnectedAccounts, ConnectedDids, ConnectionRecord, + CurrencyOf, DidIdentifierOf, }; - pub(crate) type UncheckedExtrinsic = frame_system::mocking::MockUncheckedExtrinsic; pub(crate) type Block = frame_system::mocking::MockBlock; pub(crate) type Hash = sp_core::H256; @@ -111,6 +110,8 @@ parameter_types! { impl pallet_did_lookup::Config for Test { type Event = Event; + type Signature = Signature; + type Signer = AccountPublic; type Currency = Balances; type Deposit = DidLookupDeposit; @@ -132,12 +133,11 @@ pub(crate) const ACCOUNT_00: AccountId = AccountId::new([1u8; 32]); pub(crate) const ACCOUNT_01: AccountId = AccountId::new([2u8; 32]); pub(crate) const DID_00: SubjectId = SubjectId(ACCOUNT_00); pub(crate) const DID_01: SubjectId = SubjectId(ACCOUNT_01); -pub(crate) const LINKABLE_ACCOUNT_00: LinkableAccountId = LinkableAccountId::AccountId32(ACCOUNT_00); pub(crate) fn insert_raw_connection( sender: AccountIdOf, did_identifier: DidIdentifierOf, - account: LinkableAccountId, + account: AccountIdOf, deposit: BalanceOf, ) { let deposit = Deposit { @@ -164,7 +164,7 @@ pub(crate) fn insert_raw_connection( pub struct ExtBuilder { balances: Vec<(AccountId, Balance)>, /// list of connection (sender, did, connected address) - connections: Vec<(AccountId, SubjectId, LinkableAccountId)>, + connections: Vec<(AccountId, SubjectId, AccountId)>, } impl ExtBuilder { @@ -176,7 +176,7 @@ impl ExtBuilder { /// Add a connection: (sender, did, connected address) #[must_use] - pub fn with_connections(mut self, connections: Vec<(AccountId, SubjectId, LinkableAccountId)>) -> Self { + pub fn with_connections(mut self, connections: Vec<(AccountId, SubjectId, AccountId)>) -> Self { self.connections = connections; self } diff --git a/pallets/pallet-did-lookup/src/signature.rs b/pallets/pallet-did-lookup/src/signature.rs index f2ab1a9af..de8317a0e 100644 --- a/pallets/pallet-did-lookup/src/signature.rs +++ b/pallets/pallet-did-lookup/src/signature.rs @@ -16,32 +16,18 @@ // If you feel like getting in touch with us, you can do so at info@botlabs.org -use codec::alloc::string::ToString; use sp_std::vec::Vec; // According to https://github.com/polkadot-js/common/blob/5d5c7e4c0ace06e3301ccadfd3c3351955f1e251/packages/util/src/u8a/wrap.ts#L13 + const PAYLOAD_BYTES_WRAPPER_PREFIX: &[u8; 7] = b""; const PAYLOAD_BYTES_WRAPPER_POSTFIX: &[u8; 8] = b""; -const ETHEREUM_SIGNATURE_PREFIX: &[u8; 26] = b"\x19Ethereum Signed Message:\n"; -pub(crate) enum WrapType { - Substrate, - Ethereum, -} -pub(crate) fn get_wrapped_payload(payload: &[u8], wrap_type: WrapType) -> Vec { - match wrap_type { - WrapType::Substrate => PAYLOAD_BYTES_WRAPPER_PREFIX - .iter() - .chain(payload.iter()) - .chain(PAYLOAD_BYTES_WRAPPER_POSTFIX.iter()) - .copied() - .collect(), - WrapType::Ethereum => ETHEREUM_SIGNATURE_PREFIX - .iter() - // eth wrapping also contains the length of the payload - .chain(payload.len().to_string().as_bytes().iter()) - .chain(payload.iter()) - .copied() - .collect(), - } +pub(crate) fn get_wrapped_payload(payload: &[u8]) -> Vec { + PAYLOAD_BYTES_WRAPPER_PREFIX + .iter() + .chain(payload.iter()) + .chain(PAYLOAD_BYTES_WRAPPER_POSTFIX.iter()) + .copied() + .collect() } diff --git a/pallets/pallet-did-lookup/src/tests.rs b/pallets/pallet-did-lookup/src/tests.rs index 27864d4f1..cdc23f312 100644 --- a/pallets/pallet-did-lookup/src/tests.rs +++ b/pallets/pallet-did-lookup/src/tests.rs @@ -17,22 +17,15 @@ // If you feel like getting in touch with us, you can do so at info@botlabs.org use codec::Encode; -use frame_support::{assert_noop, assert_ok, crypto::ecdsa::ECDSAExt}; +use frame_support::{assert_noop, assert_ok}; use kilt_support::{deposit::Deposit, mock::mock_origin}; -use sha3::{Digest, Keccak256}; use sp_runtime::{ - app_crypto::{ecdsa, sr25519, Pair}, + app_crypto::{sr25519, Pair}, traits::{IdentifyAccount, Zero}, MultiSignature, MultiSigner, }; -use crate::{ - account::{AccountId20, EthereumSignature}, - linkable_account::LinkableAccountId, - mock::*, - signature::get_wrapped_payload, - AssociateAccountRequest, ConnectedAccounts, ConnectedDids, ConnectionRecord, Error, -}; +use crate::{mock::*, ConnectedAccounts, ConnectedDids, ConnectionRecord, Error}; #[test] fn test_add_association_sender() { @@ -46,7 +39,7 @@ fn test_add_association_sender() { // new association. No overwrite assert!(DidLookup::associate_sender(mock_origin::DoubleOrigin(ACCOUNT_00, DID_00).into()).is_ok()); assert_eq!( - ConnectedDids::::get(LINKABLE_ACCOUNT_00), + ConnectedDids::::get(ACCOUNT_00), Some(ConnectionRecord { did: DID_00, deposit: Deposit { @@ -55,7 +48,7 @@ fn test_add_association_sender() { } }) ); - assert!(ConnectedAccounts::::get(DID_00, LINKABLE_ACCOUNT_00).is_some()); + assert!(ConnectedAccounts::::get(DID_00, ACCOUNT_00).is_some()); assert_eq!( Balances::reserved_balance(ACCOUNT_00), ::Deposit::get() @@ -64,7 +57,7 @@ fn test_add_association_sender() { // overwrite existing association assert!(DidLookup::associate_sender(mock_origin::DoubleOrigin(ACCOUNT_00, DID_01).into()).is_ok()); assert_eq!( - ConnectedDids::::get(LINKABLE_ACCOUNT_00), + ConnectedDids::::get(ACCOUNT_00), Some(ConnectionRecord { did: DID_01, deposit: Deposit { @@ -73,8 +66,8 @@ fn test_add_association_sender() { } }) ); - assert!(ConnectedAccounts::::get(DID_00, LINKABLE_ACCOUNT_00).is_none()); - assert!(ConnectedAccounts::::get(DID_01, LINKABLE_ACCOUNT_00).is_some()); + assert!(ConnectedAccounts::::get(DID_00, ACCOUNT_00).is_none()); + assert!(ConnectedAccounts::::get(DID_01, ACCOUNT_00).is_some()); assert_eq!( Balances::reserved_balance(ACCOUNT_00), ::Deposit::get() @@ -104,12 +97,13 @@ fn test_add_association_account() { // new association. No overwrite assert!(DidLookup::associate_account( mock_origin::DoubleOrigin(ACCOUNT_00, DID_00).into(), - AssociateAccountRequest::Dotsama(account_hash_alice.clone(), sig_alice_0), + account_hash_alice.clone(), expire_at, + sig_alice_0 ) .is_ok()); assert_eq!( - ConnectedDids::::get(&LinkableAccountId::from(account_hash_alice.clone())), + ConnectedDids::::get(&account_hash_alice), Some(ConnectionRecord { did: DID_00, deposit: Deposit { @@ -118,26 +112,22 @@ fn test_add_association_account() { } }) ); - assert!( - ConnectedAccounts::::get(DID_00, &LinkableAccountId::from(account_hash_alice.clone())).is_some() - ); + assert!(ConnectedAccounts::::get(DID_00, &account_hash_alice).is_some()); assert_eq!( Balances::reserved_balance(ACCOUNT_00), ::Deposit::get() ); // overwrite existing association - let res = DidLookup::associate_account( + assert!(DidLookup::associate_account( mock_origin::DoubleOrigin(ACCOUNT_00, DID_01).into(), - AssociateAccountRequest::Dotsama(account_hash_alice.clone(), sig_alice_1.clone()), + account_hash_alice.clone(), expire_at, - ); - if let Err(err) = res { - println!("Error overwriting association: {:?}", err); - } - assert!(res.is_ok()); + sig_alice_1.clone() + ) + .is_ok()); assert_eq!( - ConnectedDids::::get(&LinkableAccountId::from(account_hash_alice.clone())), + ConnectedDids::::get(&account_hash_alice), Some(ConnectionRecord { did: DID_01, deposit: Deposit { @@ -146,12 +136,8 @@ fn test_add_association_account() { } }) ); - assert!( - ConnectedAccounts::::get(DID_00, &LinkableAccountId::from(account_hash_alice.clone())).is_none() - ); - assert!( - ConnectedAccounts::::get(DID_01, &LinkableAccountId::from(account_hash_alice.clone())).is_some() - ); + assert!(ConnectedAccounts::::get(DID_00, &account_hash_alice).is_none()); + assert!(ConnectedAccounts::::get(DID_01, &account_hash_alice).is_some()); assert_eq!( Balances::reserved_balance(ACCOUNT_00), ::Deposit::get() @@ -160,12 +146,13 @@ fn test_add_association_account() { // overwrite existing deposit assert!(DidLookup::associate_account( mock_origin::DoubleOrigin(ACCOUNT_01, DID_01).into(), - AssociateAccountRequest::Dotsama(account_hash_alice.clone(), sig_alice_1), + account_hash_alice.clone(), expire_at, + sig_alice_1 ) .is_ok()); assert_eq!( - ConnectedDids::::get(&LinkableAccountId::from(account_hash_alice.clone())), + ConnectedDids::::get(&account_hash_alice), Some(ConnectionRecord { did: DID_01, deposit: Deposit { @@ -174,10 +161,8 @@ fn test_add_association_account() { } }) ); - assert!( - ConnectedAccounts::::get(DID_00, &LinkableAccountId::from(account_hash_alice.clone())).is_none() - ); - assert!(ConnectedAccounts::::get(DID_01, &LinkableAccountId::from(account_hash_alice)).is_some()); + assert!(ConnectedAccounts::::get(DID_00, &account_hash_alice).is_none()); + assert!(ConnectedAccounts::::get(DID_01, &account_hash_alice).is_some()); assert_eq!(Balances::reserved_balance(ACCOUNT_00), 0); assert_eq!( Balances::reserved_balance(ACCOUNT_01), @@ -186,51 +171,6 @@ fn test_add_association_account() { }); } -#[test] -fn test_add_eth_association() { - ExtBuilder::default() - .with_balances(vec![ - (ACCOUNT_00, ::Deposit::get() * 50), - (ACCOUNT_01, ::Deposit::get() * 50), - ]) - .build() - .execute_with(|| { - let expire_at: BlockNumber = 500; - let eth_pair = ecdsa::Pair::generate().0; - let eth_account = AccountId20(eth_pair.public().to_eth_address().unwrap()); - - let wrapped_payload = get_wrapped_payload( - &Encode::encode(&(&DID_00, expire_at))[..], - crate::signature::WrapType::Ethereum, - ); - - let sig = eth_pair.sign_prehashed(&Keccak256::digest(&wrapped_payload).try_into().unwrap()); - - // new association. No overwrite - let res = DidLookup::associate_account( - mock_origin::DoubleOrigin(ACCOUNT_00, DID_00).into(), - AssociateAccountRequest::Ethereum(eth_account, EthereumSignature::from(sig)), - expire_at, - ); - assert!(res.is_ok()); - assert_eq!( - ConnectedDids::::get(&LinkableAccountId::from(eth_account)), - Some(ConnectionRecord { - did: DID_00, - deposit: Deposit { - owner: ACCOUNT_00, - amount: 10, - } - }) - ); - assert!(ConnectedAccounts::::get(DID_00, &LinkableAccountId::from(eth_account)).is_some()); - assert_eq!( - Balances::reserved_balance(ACCOUNT_00), - ::Deposit::get() - ); - }); -} - #[test] fn test_add_association_account_invalid_signature() { ExtBuilder::default() @@ -249,8 +189,9 @@ fn test_add_association_account_invalid_signature() { assert_noop!( DidLookup::associate_account( mock_origin::DoubleOrigin(ACCOUNT_00, DID_01).into(), - AssociateAccountRequest::Dotsama(account_hash_alice, sig_alice_0), + account_hash_alice, expire_at, + sig_alice_0 ), Error::::NotAuthorized ); @@ -277,8 +218,9 @@ fn test_add_association_account_expired() { assert_noop!( DidLookup::associate_account( mock_origin::DoubleOrigin(ACCOUNT_00, DID_01).into(), - AssociateAccountRequest::Dotsama(account_hash_alice, sig_alice_0), + account_hash_alice, expire_at, + sig_alice_0 ), Error::::OutdatedProof ); @@ -292,13 +234,13 @@ fn test_remove_association_sender() { (ACCOUNT_00, ::Deposit::get() * 50), (ACCOUNT_01, ::Deposit::get() * 50), ]) - .with_connections(vec![(ACCOUNT_00, DID_01, LINKABLE_ACCOUNT_00)]) + .with_connections(vec![(ACCOUNT_00, DID_01, ACCOUNT_00)]) .build() .execute_with(|| { // remove association assert!(DidLookup::remove_sender_association(Origin::signed(ACCOUNT_00)).is_ok()); - assert_eq!(ConnectedDids::::get(&LinkableAccountId::from(ACCOUNT_00)), None); - assert!(ConnectedAccounts::::get(DID_01, &LinkableAccountId::from(ACCOUNT_00)).is_none()); + assert_eq!(ConnectedDids::::get(ACCOUNT_00), None); + assert!(ConnectedAccounts::::get(DID_01, ACCOUNT_00).is_none()); assert_eq!(Balances::reserved_balance(ACCOUNT_00), 0); }); } @@ -326,16 +268,16 @@ fn test_remove_association_account() { (ACCOUNT_00, ::Deposit::get() * 50), (ACCOUNT_01, ::Deposit::get() * 50), ]) - .with_connections(vec![(ACCOUNT_01, DID_01, LINKABLE_ACCOUNT_00)]) + .with_connections(vec![(ACCOUNT_01, DID_01, ACCOUNT_00)]) .build() .execute_with(|| { assert!(DidLookup::remove_account_association( mock_origin::DoubleOrigin(ACCOUNT_00, DID_01).into(), - LinkableAccountId::from(ACCOUNT_00.clone()) + ACCOUNT_00 ) .is_ok()); - assert_eq!(ConnectedDids::::get(&LinkableAccountId::from(ACCOUNT_00)), None); - assert!(ConnectedAccounts::::get(DID_01, &LinkableAccountId::from(ACCOUNT_00)).is_none()); + assert_eq!(ConnectedDids::::get(ACCOUNT_00), None); + assert!(ConnectedAccounts::::get(DID_01, ACCOUNT_00).is_none()); assert_eq!(Balances::reserved_balance(ACCOUNT_01), 0); }); } @@ -349,13 +291,10 @@ fn test_remove_association_account_not_found() { ]) .build() .execute_with(|| { - assert_eq!(ConnectedDids::::get(&LinkableAccountId::from(ACCOUNT_00)), None); + assert_eq!(ConnectedDids::::get(ACCOUNT_00), None); assert_noop!( - DidLookup::remove_account_association( - mock_origin::DoubleOrigin(ACCOUNT_01, DID_01).into(), - LinkableAccountId::from(ACCOUNT_00) - ), + DidLookup::remove_account_association(mock_origin::DoubleOrigin(ACCOUNT_01, DID_01).into(), ACCOUNT_00), Error::::AssociationNotFound ); }); @@ -368,14 +307,11 @@ fn test_remove_association_account_not_authorized() { (ACCOUNT_00, ::Deposit::get() * 50), (ACCOUNT_01, ::Deposit::get() * 50), ]) - .with_connections(vec![(ACCOUNT_01, DID_01, LINKABLE_ACCOUNT_00)]) + .with_connections(vec![(ACCOUNT_01, DID_01, ACCOUNT_00)]) .build() .execute_with(|| { assert_noop!( - DidLookup::remove_account_association( - mock_origin::DoubleOrigin(ACCOUNT_01, DID_00).into(), - ACCOUNT_00.into() - ), + DidLookup::remove_account_association(mock_origin::DoubleOrigin(ACCOUNT_01, DID_00).into(), ACCOUNT_00), Error::::NotAuthorized ); assert_eq!( @@ -392,13 +328,10 @@ fn test_reclaim_deposit() { (ACCOUNT_00, ::Deposit::get() * 50), (ACCOUNT_01, ::Deposit::get() * 50), ]) - .with_connections(vec![(ACCOUNT_01, DID_01, LINKABLE_ACCOUNT_00)]) + .with_connections(vec![(ACCOUNT_01, DID_01, ACCOUNT_00)]) .build() .execute_with(|| { - assert_ok!(DidLookup::reclaim_deposit( - Origin::signed(ACCOUNT_01), - ACCOUNT_00.into() - )); + assert_ok!(DidLookup::reclaim_deposit(Origin::signed(ACCOUNT_01), ACCOUNT_00)); assert_eq!(Balances::reserved_balance(ACCOUNT_01), 0); }); } @@ -410,11 +343,11 @@ fn test_reclaim_deposit_not_authorized() { (ACCOUNT_00, ::Deposit::get() * 50), (ACCOUNT_01, ::Deposit::get() * 50), ]) - .with_connections(vec![(ACCOUNT_01, DID_01, LINKABLE_ACCOUNT_00)]) + .with_connections(vec![(ACCOUNT_01, DID_01, ACCOUNT_00)]) .build() .execute_with(|| { assert_noop!( - DidLookup::reclaim_deposit(Origin::signed(ACCOUNT_00), ACCOUNT_00.into()), + DidLookup::reclaim_deposit(Origin::signed(ACCOUNT_00), ACCOUNT_00), Error::::NotAuthorized ); assert_eq!( @@ -434,12 +367,12 @@ fn test_change_deposit_owner() { (ACCOUNT_00, ::Deposit::get() * 50), (ACCOUNT_01, ::Deposit::get() * 50), ]) - .with_connections(vec![(ACCOUNT_00, DID_00, LINKABLE_ACCOUNT_00)]) + .with_connections(vec![(ACCOUNT_00, DID_00, ACCOUNT_00)]) .build() .execute_with(|| { assert_ok!(DidLookup::change_deposit_owner( mock_origin::DoubleOrigin(ACCOUNT_01, DID_00).into(), - ACCOUNT_00.into() + ACCOUNT_00 )); assert!(Balances::reserved_balance(ACCOUNT_00).is_zero()); assert_eq!( @@ -453,14 +386,11 @@ fn test_change_deposit_owner() { fn test_change_deposit_owner_insufficient_balance() { ExtBuilder::default() .with_balances(vec![(ACCOUNT_00, ::Deposit::get() * 50)]) - .with_connections(vec![(ACCOUNT_00, DID_00, LINKABLE_ACCOUNT_00)]) + .with_connections(vec![(ACCOUNT_00, DID_00, ACCOUNT_00)]) .build() .execute_with(|| { assert_noop!( - DidLookup::change_deposit_owner( - mock_origin::DoubleOrigin(ACCOUNT_01, DID_00).into(), - ACCOUNT_00.into() - ), + DidLookup::change_deposit_owner(mock_origin::DoubleOrigin(ACCOUNT_01, DID_00).into(), ACCOUNT_00), pallet_balances::Error::::InsufficientBalance ); }) @@ -473,10 +403,7 @@ fn test_change_deposit_owner_not_found() { .build() .execute_with(|| { assert_noop!( - DidLookup::change_deposit_owner( - mock_origin::DoubleOrigin(ACCOUNT_01, DID_00).into(), - ACCOUNT_00.into() - ), + DidLookup::change_deposit_owner(mock_origin::DoubleOrigin(ACCOUNT_01, DID_00).into(), ACCOUNT_00), Error::::AssociationNotFound ); }) @@ -486,14 +413,11 @@ fn test_change_deposit_owner_not_found() { fn test_change_deposit_owner_not_authorized() { ExtBuilder::default() .with_balances(vec![(ACCOUNT_00, ::Deposit::get() * 50)]) - .with_connections(vec![(ACCOUNT_00, DID_00, LINKABLE_ACCOUNT_00)]) + .with_connections(vec![(ACCOUNT_00, DID_00, ACCOUNT_00)]) .build() .execute_with(|| { assert_noop!( - DidLookup::change_deposit_owner( - mock_origin::DoubleOrigin(ACCOUNT_01, DID_01).into(), - ACCOUNT_00.into() - ), + DidLookup::change_deposit_owner(mock_origin::DoubleOrigin(ACCOUNT_01, DID_01).into(), ACCOUNT_00), Error::::NotAuthorized ); }) @@ -511,14 +435,14 @@ fn test_update_deposit() { insert_raw_connection::( ACCOUNT_00, DID_00, - ACCOUNT_00.into(), + ACCOUNT_00, ::Deposit::get() * 2, ); assert_eq!( Balances::reserved_balance(ACCOUNT_00), ::Deposit::get() * 2 ); - assert_ok!(DidLookup::update_deposit(Origin::signed(ACCOUNT_00), ACCOUNT_00.into())); + assert_ok!(DidLookup::update_deposit(Origin::signed(ACCOUNT_00), ACCOUNT_00)); assert_eq!( Balances::reserved_balance(ACCOUNT_00), ::Deposit::get() @@ -538,7 +462,7 @@ fn test_update_deposit_unauthorized() { insert_raw_connection::( ACCOUNT_00, DID_00, - ACCOUNT_00.into(), + ACCOUNT_00, ::Deposit::get() * 2, ); assert_eq!( @@ -546,7 +470,7 @@ fn test_update_deposit_unauthorized() { ::Deposit::get() * 2 ); assert_noop!( - DidLookup::update_deposit(Origin::signed(ACCOUNT_01), ACCOUNT_00.into()), + DidLookup::update_deposit(Origin::signed(ACCOUNT_01), ACCOUNT_00), Error::::NotAuthorized ); }) diff --git a/pallets/parachain-staking/src/migration.rs b/pallets/parachain-staking/src/migration.rs index 93662db5d..2b8e74cc5 100644 --- a/pallets/parachain-staking/src/migration.rs +++ b/pallets/parachain-staking/src/migration.rs @@ -16,8 +16,6 @@ // If you feel like getting in touch with us, you can do so at info@botlabs.org -#![cfg_attr(not(feature = "std"), no_std)] - use crate::{ set::OrderedSet, types::{BalanceOf, Delegator, Stake}, diff --git a/runtime-api/did/src/lib.rs b/runtime-api/did/src/lib.rs index 87efc74dc..d652d3c21 100644 --- a/runtime-api/did/src/lib.rs +++ b/runtime-api/did/src/lib.rs @@ -32,7 +32,6 @@ pub use service_endpoint::*; pub struct DidLinkedInfo< DidIdentifier, AccountId, - LinkableAccountId, Web3Name, Id, Type, @@ -42,7 +41,7 @@ pub struct DidLinkedInfo< BlockNumber: MaxEncodedLen, > { pub identifier: DidIdentifier, - pub accounts: Vec, + pub accounts: Vec, pub w3n: Option, pub service_endpoints: Vec>, pub details: DidDetails, @@ -52,25 +51,14 @@ pub struct DidLinkedInfo< /// /// This will be returned by the runtime and processed by the client side RPC /// implementation. -pub type RawDidLinkedInfo = DidLinkedInfo< - DidIdentifier, - AccountId, - LinkableAccountId, - Vec, - Vec, - Vec, - Vec, - Balance, - Key, - BlockNumber, ->; +pub type RawDidLinkedInfo = + DidLinkedInfo, Vec, Vec, Vec, Balance, Key, BlockNumber>; sp_api::decl_runtime_apis! { - #[api_version(2)] + #[api_version(1)] pub trait Did where DidIdentifier: Codec, AccountId: Codec, - LinkableAccountId: Codec, BlockNumber: Codec + MaxEncodedLen, Key: Codec, Balance: Codec, @@ -81,26 +69,20 @@ sp_api::decl_runtime_apis! { /// * the web3name (optional) /// * associated accounts /// * service endpoints - #[changed_in(2)] - fn query_by_web3_name(name: Vec) -> Option>; - fn query_by_web3_name(name: Vec) -> Option>; + fn query_by_web3_name(name: Vec) -> Option>; /// Given an account address this returns: /// * the DID /// * public keys stored for the did /// * the web3name (optional) /// * associated accounts /// * service endpoints - #[changed_in(2)] - fn query_by_account(account: AccountId) -> Option>; - fn query_by_account(account: LinkableAccountId) -> Option>; + fn query_by_account(account: AccountId) -> Option>; /// Given a did this returns: /// * the DID /// * public keys stored for the did /// * the web3name (optional) /// * associated accounts /// * service endpoints - #[changed_in(2)] - fn query(did: DidIdentifier) -> Option>; - fn query(did: DidIdentifier) -> Option>; + fn query(did: DidIdentifier) -> Option>; } } diff --git a/runtimes/clone/src/lib.rs b/runtimes/clone/src/lib.rs index 0b472c31c..70cc807a1 100644 --- a/runtimes/clone/src/lib.rs +++ b/runtimes/clone/src/lib.rs @@ -32,7 +32,6 @@ use frame_support::{ PalletId, }; use frame_system::EnsureRoot; -use pallet_did_lookup::linkable_account::LinkableAccountId; use sp_api::impl_runtime_apis; use sp_core::OpaqueMetadata; use sp_runtime::{ @@ -535,7 +534,7 @@ impl_runtime_apis! { Block, AccountId, AccountId, - LinkableAccountId, + AccountId, Balance, Hash, BlockNumber @@ -543,7 +542,6 @@ impl_runtime_apis! { fn query_by_web3_name(_: Vec) -> Option Option< + fn query_by_account(_: AccountId) -> Option< kilt_runtime_api_did::RawDidLinkedInfo< AccountId, AccountId, - LinkableAccountId, Balance, Hash, BlockNumber @@ -569,7 +566,6 @@ impl_runtime_apis! { kilt_runtime_api_did::RawDidLinkedInfo< AccountId, AccountId, - LinkableAccountId, Balance, Hash, BlockNumber diff --git a/runtimes/peregrine/src/lib.rs b/runtimes/peregrine/src/lib.rs index 03aea7823..08c677b7c 100644 --- a/runtimes/peregrine/src/lib.rs +++ b/runtimes/peregrine/src/lib.rs @@ -37,7 +37,7 @@ use sp_api::impl_runtime_apis; use sp_core::OpaqueMetadata; use sp_runtime::{ create_runtime_str, generic, impl_opaque_keys, - traits::{AccountIdLookup, BlakeTwo256, Block as BlockT, ConvertInto, OpaqueKeys}, + traits::{AccountIdLookup, BlakeTwo256, Block as BlockT, ConvertInto, OpaqueKeys, Verify}, transaction_validity::{TransactionSource, TransactionValidity}, ApplyExtrinsicResult, Perbill, Permill, RuntimeDebug, }; @@ -47,7 +47,6 @@ use xcm_executor::XcmExecutor; use delegation::DelegationAc; use kilt_support::traits::ItemFilter; -use pallet_did_lookup::linkable_account::LinkableAccountId; pub use parachain_staking::InflationInfo; pub use public_credentials; @@ -604,7 +603,8 @@ impl did::Config for Runtime { impl pallet_did_lookup::Config for Runtime { type Event = Event; - + type Signature = Signature; + type Signer = ::Signer; type DidIdentifier = DidIdentifier; type Currency = Balances; @@ -1167,7 +1167,7 @@ impl_runtime_apis! { Block, DidIdentifier, AccountId, - LinkableAccountId, + AccountId, Balance, Hash, BlockNumber @@ -1175,7 +1175,6 @@ impl_runtime_apis! { fn query_by_web3_name(name: Vec) -> Option Option< + fn query_by_account(account: AccountId) -> Option< kilt_runtime_api_did::RawDidLinkedInfo< DidIdentifier, AccountId, - LinkableAccountId, Balance, Hash, BlockNumber @@ -1235,7 +1233,6 @@ impl_runtime_apis! { kilt_runtime_api_did::RawDidLinkedInfo< DidIdentifier, AccountId, - LinkableAccountId, Balance, Hash, BlockNumber diff --git a/runtimes/peregrine/src/tests.rs b/runtimes/peregrine/src/tests.rs index ac491f507..584a44013 100644 --- a/runtimes/peregrine/src/tests.rs +++ b/runtimes/peregrine/src/tests.rs @@ -20,7 +20,6 @@ use codec::MaxEncodedLen; use frame_support::{traits::Currency, BoundedVec}; use did::DeriveDidCallAuthorizationVerificationKeyRelationship; -use pallet_did_lookup::associate_account_request::AssociateAccountRequest; use pallet_treasury::BalanceOf; use pallet_web3_names::{Web3NameOf, Web3OwnershipOf}; use runtime_common::{ @@ -160,11 +159,9 @@ fn test_derive_did_key_web3name() { fn test_derive_did_key_lookup() { assert_eq!( Call::DidLookup(pallet_did_lookup::Call::associate_account { - req: AssociateAccountRequest::Dotsama( - AccountId::new([1u8; 32]), - sp_runtime::MultiSignature::from(sp_core::ed25519::Signature([0; 64])) - ), + account: AccountId::new([1u8; 32]), expiration: BlockNumber::default(), + proof: sp_runtime::MultiSignature::from(sp_core::ed25519::Signature([0; 64])), }) .derive_verification_key_relationship(), Ok(did::DidVerificationKeyRelationship::Authentication) @@ -172,7 +169,7 @@ fn test_derive_did_key_lookup() { assert_eq!( Call::DidLookup(pallet_did_lookup::Call::remove_account_association { - account: AccountId::new([1u8; 32]).into(), + account: AccountId::new([1u8; 32]), }) .derive_verification_key_relationship(), Ok(did::DidVerificationKeyRelationship::Authentication) diff --git a/runtimes/peregrine/src/weights/pallet_did_lookup.rs b/runtimes/peregrine/src/weights/pallet_did_lookup.rs index 53893977a..eb12fa31d 100644 --- a/runtimes/peregrine/src/weights/pallet_did_lookup.rs +++ b/runtimes/peregrine/src/weights/pallet_did_lookup.rs @@ -20,21 +20,21 @@ //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev //! DATE: 2022-10-26, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` -//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024 +//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("spiritnet-dev"), DB CACHE: 1024 // Executed Command: // ./target/release/kilt-parachain // benchmark // pallet -// --chain=dev -// --steps=50 +// --chain=spiritnet-dev +// --steps=1 // --repeat=20 -// --pallet=pallet-did-lookup +// --pallet=pallet_did_lookup // --extrinsic=* // --execution=wasm // --wasm-execution=compiled // --heap-pages=4096 -// --output=./runtimes/peregrine/src/weights/pallet_did_lookup.rs +// --output=./runtimes/spiritnet/src/weights/pallet_did_lookup.rs // --template=.maintain/runtime-weight-template.hbs #![cfg_attr(rustfmt, rustfmt_skip)] @@ -51,32 +51,8 @@ impl pallet_did_lookup::WeightInfo for WeightInfo { // Storage: System Account (r:1 w:1) // Storage: DidLookup ConnectedDids (r:1 w:1) // Storage: DidLookup ConnectedAccounts (r:0 w:2) - fn associate_account_multisig_sr25519() -> Weight { - Weight::from_ref_time(133_595_000 as u64) - .saturating_add(T::DbWeight::get().reads(2 as u64)) - .saturating_add(T::DbWeight::get().writes(4 as u64)) - } - // Storage: System Account (r:1 w:1) - // Storage: DidLookup ConnectedDids (r:1 w:1) - // Storage: DidLookup ConnectedAccounts (r:0 w:2) - fn associate_account_multisig_ed25519() -> Weight { - Weight::from_ref_time(131_908_000 as u64) - .saturating_add(T::DbWeight::get().reads(2 as u64)) - .saturating_add(T::DbWeight::get().writes(4 as u64)) - } - // Storage: System Account (r:1 w:1) - // Storage: DidLookup ConnectedDids (r:1 w:1) - // Storage: DidLookup ConnectedAccounts (r:0 w:2) - fn associate_account_multisig_ecdsa() -> Weight { - Weight::from_ref_time(120_240_000 as u64) - .saturating_add(T::DbWeight::get().reads(2 as u64)) - .saturating_add(T::DbWeight::get().writes(4 as u64)) - } - // Storage: System Account (r:1 w:1) - // Storage: DidLookup ConnectedDids (r:1 w:1) - // Storage: DidLookup ConnectedAccounts (r:0 w:2) - fn associate_eth_account() -> Weight { - Weight::from_ref_time(122_215_000 as u64) + fn associate_account() -> Weight { + Weight::from_ref_time(133_386_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(4 as u64)) } @@ -84,7 +60,7 @@ impl pallet_did_lookup::WeightInfo for WeightInfo { // Storage: DidLookup ConnectedDids (r:1 w:1) // Storage: DidLookup ConnectedAccounts (r:0 w:2) fn associate_sender() -> Weight { - Weight::from_ref_time(73_743_000 as u64) + Weight::from_ref_time(72_692_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(4 as u64)) } @@ -92,7 +68,7 @@ impl pallet_did_lookup::WeightInfo for WeightInfo { // Storage: System Account (r:1 w:1) // Storage: DidLookup ConnectedAccounts (r:0 w:1) fn remove_sender_association() -> Weight { - Weight::from_ref_time(53_056_000 as u64) + Weight::from_ref_time(52_441_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } @@ -100,21 +76,21 @@ impl pallet_did_lookup::WeightInfo for WeightInfo { // Storage: System Account (r:1 w:1) // Storage: DidLookup ConnectedAccounts (r:0 w:1) fn remove_account_association() -> Weight { - Weight::from_ref_time(55_317_000 as u64) + Weight::from_ref_time(54_371_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } // Storage: DidLookup ConnectedDids (r:1 w:1) // Storage: System Account (r:2 w:2) fn change_deposit_owner() -> Weight { - Weight::from_ref_time(68_416_000 as u64) + Weight::from_ref_time(67_853_000 as u64) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } // Storage: DidLookup ConnectedDids (r:1 w:1) // Storage: System Account (r:1 w:1) fn update_deposit() -> Weight { - Weight::from_ref_time(62_386_000 as u64) + Weight::from_ref_time(62_103_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } diff --git a/runtimes/spiritnet/src/lib.rs b/runtimes/spiritnet/src/lib.rs index 5e10aac9f..d75952694 100644 --- a/runtimes/spiritnet/src/lib.rs +++ b/runtimes/spiritnet/src/lib.rs @@ -37,7 +37,7 @@ use sp_api::impl_runtime_apis; use sp_core::OpaqueMetadata; use sp_runtime::{ create_runtime_str, generic, impl_opaque_keys, - traits::{AccountIdLookup, BlakeTwo256, Block as BlockT, ConvertInto, OpaqueKeys}, + traits::{AccountIdLookup, BlakeTwo256, Block as BlockT, ConvertInto, OpaqueKeys, Verify}, transaction_validity::{TransactionSource, TransactionValidity}, ApplyExtrinsicResult, Perbill, Permill, RuntimeDebug, }; @@ -47,7 +47,6 @@ use xcm_executor::XcmExecutor; use delegation::DelegationAc; use kilt_support::traits::ItemFilter; -use pallet_did_lookup::linkable_account::LinkableAccountId; pub use parachain_staking::InflationInfo; pub use public_credentials; @@ -601,7 +600,8 @@ impl did::Config for Runtime { impl pallet_did_lookup::Config for Runtime { type Event = Event; - + type Signature = Signature; + type Signer = ::Signer; type DidIdentifier = DidIdentifier; type Currency = Balances; @@ -1163,7 +1163,7 @@ impl_runtime_apis! { Block, DidIdentifier, AccountId, - LinkableAccountId, + AccountId, Balance, Hash, BlockNumber @@ -1171,7 +1171,6 @@ impl_runtime_apis! { fn query_by_web3_name(name: Vec) -> Option Option< + fn query_by_account(account: AccountId) -> Option< kilt_runtime_api_did::RawDidLinkedInfo< DidIdentifier, AccountId, - LinkableAccountId, Balance, Hash, BlockNumber @@ -1231,7 +1229,6 @@ impl_runtime_apis! { kilt_runtime_api_did::RawDidLinkedInfo< DidIdentifier, AccountId, - LinkableAccountId, Balance, Hash, BlockNumber diff --git a/runtimes/spiritnet/src/tests.rs b/runtimes/spiritnet/src/tests.rs index c720ae2d9..b3de86a09 100644 --- a/runtimes/spiritnet/src/tests.rs +++ b/runtimes/spiritnet/src/tests.rs @@ -20,7 +20,6 @@ use codec::MaxEncodedLen; use frame_support::{traits::Currency, BoundedVec}; use did::DeriveDidCallAuthorizationVerificationKeyRelationship; -use pallet_did_lookup::associate_account_request::AssociateAccountRequest; use pallet_treasury::BalanceOf; use pallet_web3_names::{Web3NameOf, Web3OwnershipOf}; use runtime_common::{ @@ -160,11 +159,9 @@ fn test_derive_did_key_web3name() { fn test_derive_did_key_lookup() { assert_eq!( Call::DidLookup(pallet_did_lookup::Call::associate_account { - req: AssociateAccountRequest::Dotsama( - AccountId::new([1u8; 32]), - sp_runtime::MultiSignature::from(sp_core::ed25519::Signature([0; 64])) - ), + account: AccountId::new([1u8; 32]), expiration: BlockNumber::default(), + proof: sp_runtime::MultiSignature::from(sp_core::ed25519::Signature([0; 64])), }) .derive_verification_key_relationship(), Ok(did::DidVerificationKeyRelationship::Authentication) @@ -172,7 +169,7 @@ fn test_derive_did_key_lookup() { assert_eq!( Call::DidLookup(pallet_did_lookup::Call::remove_account_association { - account: AccountId::new([1u8; 32]).into(), + account: AccountId::new([1u8; 32]), }) .derive_verification_key_relationship(), Ok(did::DidVerificationKeyRelationship::Authentication) diff --git a/runtimes/spiritnet/src/weights/pallet_did_lookup.rs b/runtimes/spiritnet/src/weights/pallet_did_lookup.rs index 67ca85453..eb12fa31d 100644 --- a/runtimes/spiritnet/src/weights/pallet_did_lookup.rs +++ b/runtimes/spiritnet/src/weights/pallet_did_lookup.rs @@ -27,9 +27,9 @@ // benchmark // pallet // --chain=spiritnet-dev -// --steps=50 +// --steps=1 // --repeat=20 -// --pallet=pallet-did-lookup +// --pallet=pallet_did_lookup // --extrinsic=* // --execution=wasm // --wasm-execution=compiled @@ -51,32 +51,8 @@ impl pallet_did_lookup::WeightInfo for WeightInfo { // Storage: System Account (r:1 w:1) // Storage: DidLookup ConnectedDids (r:1 w:1) // Storage: DidLookup ConnectedAccounts (r:0 w:2) - fn associate_account_multisig_sr25519() -> Weight { - Weight::from_ref_time(133_866_000 as u64) - .saturating_add(T::DbWeight::get().reads(2 as u64)) - .saturating_add(T::DbWeight::get().writes(4 as u64)) - } - // Storage: System Account (r:1 w:1) - // Storage: DidLookup ConnectedDids (r:1 w:1) - // Storage: DidLookup ConnectedAccounts (r:0 w:2) - fn associate_account_multisig_ed25519() -> Weight { - Weight::from_ref_time(132_369_000 as u64) - .saturating_add(T::DbWeight::get().reads(2 as u64)) - .saturating_add(T::DbWeight::get().writes(4 as u64)) - } - // Storage: System Account (r:1 w:1) - // Storage: DidLookup ConnectedDids (r:1 w:1) - // Storage: DidLookup ConnectedAccounts (r:0 w:2) - fn associate_account_multisig_ecdsa() -> Weight { - Weight::from_ref_time(121_141_000 as u64) - .saturating_add(T::DbWeight::get().reads(2 as u64)) - .saturating_add(T::DbWeight::get().writes(4 as u64)) - } - // Storage: System Account (r:1 w:1) - // Storage: DidLookup ConnectedDids (r:1 w:1) - // Storage: DidLookup ConnectedAccounts (r:0 w:2) - fn associate_eth_account() -> Weight { - Weight::from_ref_time(122_417_000 as u64) + fn associate_account() -> Weight { + Weight::from_ref_time(133_386_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(4 as u64)) } @@ -84,7 +60,7 @@ impl pallet_did_lookup::WeightInfo for WeightInfo { // Storage: DidLookup ConnectedDids (r:1 w:1) // Storage: DidLookup ConnectedAccounts (r:0 w:2) fn associate_sender() -> Weight { - Weight::from_ref_time(73_413_000 as u64) + Weight::from_ref_time(72_692_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(4 as u64)) } @@ -92,7 +68,7 @@ impl pallet_did_lookup::WeightInfo for WeightInfo { // Storage: System Account (r:1 w:1) // Storage: DidLookup ConnectedAccounts (r:0 w:1) fn remove_sender_association() -> Weight { - Weight::from_ref_time(53_910_000 as u64) + Weight::from_ref_time(52_441_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } @@ -100,21 +76,21 @@ impl pallet_did_lookup::WeightInfo for WeightInfo { // Storage: System Account (r:1 w:1) // Storage: DidLookup ConnectedAccounts (r:0 w:1) fn remove_account_association() -> Weight { - Weight::from_ref_time(55_750_000 as u64) + Weight::from_ref_time(54_371_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } // Storage: DidLookup ConnectedDids (r:1 w:1) // Storage: System Account (r:2 w:2) fn change_deposit_owner() -> Weight { - Weight::from_ref_time(68_431_000 as u64) + Weight::from_ref_time(67_853_000 as u64) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } // Storage: DidLookup ConnectedDids (r:1 w:1) // Storage: System Account (r:1 w:1) fn update_deposit() -> Weight { - Weight::from_ref_time(62_217_000 as u64) + Weight::from_ref_time(62_103_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } diff --git a/runtimes/standalone/src/lib.rs b/runtimes/standalone/src/lib.rs index faf7fdbb4..fe1e3200a 100644 --- a/runtimes/standalone/src/lib.rs +++ b/runtimes/standalone/src/lib.rs @@ -42,7 +42,7 @@ use sp_consensus_aura::{ed25519::AuthorityId as AuraId, SlotDuration}; use sp_core::{crypto::KeyTypeId, OpaqueMetadata}; use sp_runtime::{ create_runtime_str, generic, impl_opaque_keys, - traits::{AccountIdLookup, BlakeTwo256, Block as BlockT, NumberFor, OpaqueKeys}, + traits::{AccountIdLookup, BlakeTwo256, Block as BlockT, NumberFor, OpaqueKeys, Verify}, transaction_validity::{TransactionSource, TransactionValidity}, ApplyExtrinsicResult, RuntimeDebug, }; @@ -51,7 +51,6 @@ use sp_version::RuntimeVersion; use delegation::DelegationAc; use kilt_support::traits::ItemFilter; -use pallet_did_lookup::linkable_account::LinkableAccountId; use runtime_common::{ assets::{AssetDid, PublicCredentialsFilter}, authorization::{AuthorizationId, PalletAuthorize}, @@ -413,7 +412,8 @@ impl did::Config for Runtime { impl pallet_did_lookup::Config for Runtime { type Event = Event; - + type Signature = Signature; + type Signer = ::Signer; type DidIdentifier = DidIdentifier; type Currency = Balances; @@ -912,7 +912,7 @@ impl_runtime_apis! { Block, DidIdentifier, AccountId, - LinkableAccountId, + AccountId, Balance, Hash, BlockNumber @@ -920,7 +920,6 @@ impl_runtime_apis! { fn query_by_web3_name(name: Vec) -> Option::get(&owner_info.owner).map(|details| (owner_info, details)) }) .map(|(owner_info, details)| { - let accounts = pallet_did_lookup::ConnectedAccounts::::iter_key_prefix( - &owner_info.owner, - ).collect(); + let accounts = pallet_did_lookup::ConnectedAccounts::::iter_key_prefix(&owner_info.owner).collect(); let service_endpoints = did::ServiceEndpoints::::iter_prefix(&owner_info.owner).map(|e| From::from(e.1)).collect(); kilt_runtime_api_did::RawDidLinkedInfo{ @@ -947,11 +944,10 @@ impl_runtime_apis! { }) } - fn query_by_account(account: LinkableAccountId) -> Option< + fn query_by_account(account: AccountId) -> Option< kilt_runtime_api_did::RawDidLinkedInfo< DidIdentifier, AccountId, - LinkableAccountId, Balance, Hash, BlockNumber @@ -980,7 +976,6 @@ impl_runtime_apis! { kilt_runtime_api_did::RawDidLinkedInfo< DidIdentifier, AccountId, - LinkableAccountId, Balance, Hash, BlockNumber From 6c0bdedb7a0e83c30df52a73a58e11d55553bbb7 Mon Sep 17 00:00:00 2001 From: weichweich Date: Mon, 7 Nov 2022 10:31:40 +0100 Subject: [PATCH 09/38] feat: remove public credentials from spiritnet we test first on peregrine and will later enable this feature on spiritnet --- Cargo.lock | 2 - runtimes/spiritnet/Cargo.toml | 6 -- runtimes/spiritnet/src/lib.rs | 52 --------- runtimes/spiritnet/src/tests.rs | 17 +-- runtimes/spiritnet/src/weights/mod.rs | 1 - .../src/weights/public_credentials.rs | 102 ------------------ 6 files changed, 1 insertion(+), 179 deletions(-) delete mode 100644 runtimes/spiritnet/src/weights/public_credentials.rs diff --git a/Cargo.lock b/Cargo.lock index 41049f522..3b97d8355 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -10780,7 +10780,6 @@ dependencies = [ "frame-try-runtime", "hex-literal", "kilt-runtime-api-did", - "kilt-runtime-api-public-credentials", "kilt-runtime-api-staking", "kilt-support", "log", @@ -10810,7 +10809,6 @@ dependencies = [ "parachain-info", "parachain-staking", "parity-scale-codec", - "public-credentials", "runtime-common", "scale-info", "sp-api", diff --git a/runtimes/spiritnet/Cargo.toml b/runtimes/spiritnet/Cargo.toml index 389b1d2bb..802297525 100644 --- a/runtimes/spiritnet/Cargo.toml +++ b/runtimes/spiritnet/Cargo.toml @@ -26,7 +26,6 @@ hex-literal = {workspace = true, optional = true} # RPC & Runtime API frame-system-rpc-runtime-api.workspace = true kilt-runtime-api-did.workspace = true -kilt-runtime-api-public-credentials.workspace = true kilt-runtime-api-staking.workspace = true pallet-transaction-payment-rpc-runtime-api.workspace = true @@ -40,7 +39,6 @@ pallet-did-lookup.workspace = true pallet-inflation.workspace = true pallet-web3-names.workspace = true parachain-staking.workspace = true -public-credentials.workspace = true runtime-common.workspace = true # Substrate dependencies @@ -136,7 +134,6 @@ runtime-benchmarks = [ "pallet-vesting/runtime-benchmarks", "pallet-web3-names/runtime-benchmarks", "parachain-staking/runtime-benchmarks", - "public-credentials/runtime-benchmarks", "runtime-common/runtime-benchmarks", "sp-runtime/runtime-benchmarks", "xcm-builder/runtime-benchmarks", @@ -162,7 +159,6 @@ std = [ "frame-system/std", "frame-try-runtime/std", "kilt-runtime-api-did/std", - "kilt-runtime-api-public-credentials/std", "kilt-runtime-api-staking/std", "kilt-support/std", "log/std", @@ -191,7 +187,6 @@ std = [ "pallet-xcm/std", "parachain-info/std", "parachain-staking/std", - "public-credentials/std", "runtime-common/std", "scale-info/std", "sp-api/std", @@ -248,6 +243,5 @@ try-runtime = [ "pallet-xcm/try-runtime", "parachain-info/try-runtime", "parachain-staking/try-runtime", - "public-credentials/try-runtime", "runtime-common/try-runtime", ] diff --git a/runtimes/spiritnet/src/lib.rs b/runtimes/spiritnet/src/lib.rs index d75952694..861232337 100644 --- a/runtimes/spiritnet/src/lib.rs +++ b/runtimes/spiritnet/src/lib.rs @@ -46,15 +46,11 @@ use sp_version::RuntimeVersion; use xcm_executor::XcmExecutor; use delegation::DelegationAc; -use kilt_support::traits::ItemFilter; pub use parachain_staking::InflationInfo; -pub use public_credentials; use runtime_common::{ - assets::{AssetDid, PublicCredentialsFilter}, authorization::{AuthorizationId, PalletAuthorize}, constants::{self, EXISTENTIAL_DEPOSIT, KILT}, - errors::PublicCredentialsApiError, fees::{ToAuthor, WeightToFee}, pallet_id, AccountId, AuthorityId, Balance, BlockHashCount, BlockLength, BlockNumber, BlockWeights, DidIdentifier, FeeSplit, Hash, Header, Index, Signature, SlowAdjustingFeeUpdate, @@ -670,23 +666,6 @@ impl pallet_utility::Config for Runtime { impl pallet_randomness_collective_flip::Config for Runtime {} -impl public_credentials::Config for Runtime { - type AccessControl = PalletAuthorize>; - type AttesterId = DidIdentifier; - type AuthorizationId = AuthorizationId<::DelegationNodeId>; - type CredentialId = Hash; - type CredentialHash = BlakeTwo256; - type Currency = Balances; - type Deposit = runtime_common::constants::public_credentials::Deposit; - type EnsureOrigin = did::EnsureDidOrigin; - type MaxEncodedClaimsLength = runtime_common::constants::public_credentials::MaxEncodedClaimsLength; - type MaxSubjectIdLength = runtime_common::constants::public_credentials::MaxSubjectIdLength; - type OriginSuccess = did::DidRawOrigin; - type Event = Event; - type SubjectId = runtime_common::assets::AssetDid; - type WeightInfo = weights::public_credentials::WeightInfo; -} - /// The type used to represent the kinds of proxying allowed. #[derive( Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Encode, Decode, RuntimeDebug, MaxEncodedLen, scale_info::TypeInfo, @@ -738,7 +717,6 @@ impl InstanceFilter for ProxyType { // Excludes `ParachainSystem` | Call::Preimage(..) | Call::Proxy(..) - | Call::PublicCredentials(..) | Call::Scheduler(..) | Call::Session(..) | Call::System(..) @@ -810,15 +788,6 @@ impl InstanceFilter for ProxyType { // Excludes `ParachainSystem` | Call::Preimage(..) | Call::Proxy(..) - | Call::PublicCredentials( - // Excludes `reclaim_deposit` - public_credentials::Call::add { .. } - | public_credentials::Call::revoke { .. } - | public_credentials::Call::unrevoke { .. } - | public_credentials::Call::remove { .. } - | public_credentials::Call::update_deposit { .. } - | public_credentials::Call::change_deposit_owner { .. } - ) | Call::Scheduler(..) | Call::Session(..) // Excludes `Sudo` @@ -951,7 +920,6 @@ construct_runtime! { Inflation: pallet_inflation = 66, DidLookup: pallet_did_lookup = 67, Web3Names: pallet_web3_names = 68, - PublicCredentials: public_credentials = 69, // Parachains pallets. Start indices at 80 to leave room. @@ -999,7 +967,6 @@ impl did::DeriveDidCallAuthorizationVerificationKeyRelationship for Call { Call::Did(did::Call::create { .. }) => Err(did::RelationshipDeriveError::NotCallableByDid), Call::Did { .. } => Ok(did::DidVerificationKeyRelationship::Authentication), Call::Web3Names { .. } => Ok(did::DidVerificationKeyRelationship::Authentication), - Call::PublicCredentials { .. } => Ok(did::DidVerificationKeyRelationship::AssertionMethod), Call::DidLookup { .. } => Ok(did::DidVerificationKeyRelationship::Authentication), Call::Utility(pallet_utility::Call::batch { calls }) => single_key_relationship(&calls[..]), Call::Utility(pallet_utility::Call::batch_all { calls }) => single_key_relationship(&calls[..]), @@ -1249,23 +1216,6 @@ impl_runtime_apis! { } } - impl kilt_runtime_api_public_credentials::PublicCredentials, Hash, public_credentials::CredentialEntry::DelegationNodeId>>, PublicCredentialsFilter, PublicCredentialsApiError> for Runtime { - fn get_by_id(credential_id: Hash) -> Option::DelegationNodeId>>> { - let subject = public_credentials::CredentialSubjects::::get(&credential_id)?; - public_credentials::Credentials::::get(&subject, &credential_id) - } - - fn get_by_subject(subject: Vec, filter: Option>) -> Result::DelegationNodeId>>)>, PublicCredentialsApiError> { - let asset_did = AssetDid::try_from(subject).map_err(|_| PublicCredentialsApiError::InvalidSubjectId)?; - let credentials_prefix = public_credentials::Credentials::::iter_prefix(&asset_did); - if let Some(filter) = filter { - Ok(credentials_prefix.filter(|(_, entry)| filter.should_include(entry)).collect()) - } else { - Ok(credentials_prefix.collect()) - } - } - } - impl kilt_runtime_api_staking::Staking for Runtime { fn get_unclaimed_staking_rewards(account: &AccountId) -> Balance { ParachainStaking::get_unclaimed_staking_rewards(account) @@ -1317,7 +1267,6 @@ impl_runtime_apis! { list_benchmark!(list, extra, pallet_inflation, Inflation); list_benchmark!(list, extra, parachain_staking, ParachainStaking); list_benchmark!(list, extra, pallet_web3_names, Web3Names); - list_benchmark!(list, extra, public_credentials, PublicCredentials); let storage_info = AllPalletsWithSystem::storage_info(); @@ -1384,7 +1333,6 @@ impl_runtime_apis! { add_benchmark!(params, batches, pallet_inflation, Inflation); add_benchmark!(params, batches, parachain_staking, ParachainStaking); add_benchmark!(params, batches, pallet_web3_names, Web3Names); - add_benchmark!(params, batches, public_credentials, PublicCredentials); // No benchmarks for these pallets // add_benchmark!(params, batches, cumulus_pallet_parachain_system, ParachainSystem); diff --git a/runtimes/spiritnet/src/tests.rs b/runtimes/spiritnet/src/tests.rs index b3de86a09..ae7f54879 100644 --- a/runtimes/spiritnet/src/tests.rs +++ b/runtimes/spiritnet/src/tests.rs @@ -25,8 +25,7 @@ use pallet_web3_names::{Web3NameOf, Web3OwnershipOf}; use runtime_common::{ constants::{ attestation::MAX_ATTESTATION_BYTE_LENGTH, did::MAX_DID_BYTE_LENGTH, did_lookup::MAX_CONNECTION_BYTE_LENGTH, - public_credentials::MAX_PUBLIC_CREDENTIAL_STORAGE_LENGTH, web3_names::MAX_NAME_BYTE_LENGTH, - MAX_INDICES_BYTE_LENGTH, + web3_names::MAX_NAME_BYTE_LENGTH, MAX_INDICES_BYTE_LENGTH, }, AccountId, BlockNumber, }; @@ -101,20 +100,6 @@ fn indices_storage_sizes() { assert_eq!(size, MAX_INDICES_BYTE_LENGTH as usize) } -#[test] -fn public_credentials_storage_sizes() { - // Stored in Credentials - let credential_entry_max_size = public_credentials::CredentialEntryOf::::max_encoded_len(); - // Stored in CredentialsUnicityIndex - let subject_id_max_size = ::SubjectId::max_encoded_len(); - - // Each credential would have a different deposit, so no multiplier here - assert_eq!( - credential_entry_max_size + subject_id_max_size, - MAX_PUBLIC_CREDENTIAL_STORAGE_LENGTH as usize - ) -} - #[test] fn test_derive_did_verification_relation_ctype() { let c1 = Call::Ctype(ctype::Call::add { diff --git a/runtimes/spiritnet/src/weights/mod.rs b/runtimes/spiritnet/src/weights/mod.rs index a4e81bea0..29b65e432 100644 --- a/runtimes/spiritnet/src/weights/mod.rs +++ b/runtimes/spiritnet/src/weights/mod.rs @@ -39,4 +39,3 @@ pub mod pallet_utility; pub mod pallet_vesting; pub mod pallet_web3_names; pub mod parachain_staking; -pub mod public_credentials; diff --git a/runtimes/spiritnet/src/weights/public_credentials.rs b/runtimes/spiritnet/src/weights/public_credentials.rs deleted file mode 100644 index 7387a76f7..000000000 --- a/runtimes/spiritnet/src/weights/public_credentials.rs +++ /dev/null @@ -1,102 +0,0 @@ -// KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH - -// The KILT Blockchain 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. - -// The KILT Blockchain 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 this program. If not, see . - -// If you feel like getting in touch with us, you can do so at info@botlabs.org - -//! Autogenerated weights for public_credentials -//! -//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-10-26, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` -//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("spiritnet-dev"), DB CACHE: 1024 - -// Executed Command: -// ./target/release/kilt-parachain -// benchmark -// pallet -// --chain=spiritnet-dev -// --steps=50 -// --repeat=20 -// --pallet=public-credentials -// --extrinsic=* -// --execution=wasm -// --wasm-execution=compiled -// --heap-pages=4096 -// --output=./runtimes/spiritnet/src/weights/public_credentials.rs -// --template=.maintain/runtime-weight-template.hbs - -#![cfg_attr(rustfmt, rustfmt_skip)] -#![allow(unused_parens)] -#![allow(unused_imports)] -#![allow(clippy::unnecessary_cast)] - -use frame_support::{traits::Get, weights::Weight}; -use sp_std::marker::PhantomData; - -/// Weights for `public_credentials`. -pub struct WeightInfo(PhantomData); -impl public_credentials::WeightInfo for WeightInfo { - // Storage: Ctype Ctypes (r:1 w:0) - // Storage: PublicCredentials Credentials (r:1 w:1) - // Storage: System Account (r:1 w:1) - // Storage: PublicCredentials CredentialSubjects (r:0 w:1) - fn add(c: u32, ) -> Weight { - Weight::from_ref_time(72_520_000 as u64) - // Standard Error: 0 - .saturating_add(Weight::from_ref_time(2_000 as u64).saturating_mul(c as u64)) - .saturating_add(T::DbWeight::get().reads(3 as u64)) - .saturating_add(T::DbWeight::get().writes(3 as u64)) - } - // Storage: PublicCredentials CredentialSubjects (r:1 w:0) - // Storage: PublicCredentials Credentials (r:1 w:1) - fn revoke() -> Weight { - Weight::from_ref_time(44_494_000 as u64) - .saturating_add(T::DbWeight::get().reads(2 as u64)) - .saturating_add(T::DbWeight::get().writes(1 as u64)) - } - // Storage: PublicCredentials CredentialSubjects (r:1 w:0) - // Storage: PublicCredentials Credentials (r:1 w:1) - fn unrevoke() -> Weight { - Weight::from_ref_time(44_170_000 as u64) - .saturating_add(T::DbWeight::get().reads(2 as u64)) - .saturating_add(T::DbWeight::get().writes(1 as u64)) - } - // Storage: PublicCredentials CredentialSubjects (r:1 w:1) - // Storage: PublicCredentials Credentials (r:1 w:1) - // Storage: System Account (r:1 w:1) - fn remove() -> Weight { - Weight::from_ref_time(69_989_000 as u64) - .saturating_add(T::DbWeight::get().reads(3 as u64)) - .saturating_add(T::DbWeight::get().writes(3 as u64)) - } - // Storage: PublicCredentials CredentialSubjects (r:1 w:1) - // Storage: PublicCredentials Credentials (r:1 w:1) - // Storage: System Account (r:1 w:1) - fn reclaim_deposit() -> Weight { - Weight::from_ref_time(69_237_000 as u64) - .saturating_add(T::DbWeight::get().reads(3 as u64)) - .saturating_add(T::DbWeight::get().writes(3 as u64)) - } - fn change_deposit_owner() -> Weight { - Weight::from_ref_time(68_692_000 as u64) - .saturating_add(T::DbWeight::get().reads(3 as u64)) - .saturating_add(T::DbWeight::get().writes(3 as u64)) - } - fn update_deposit() -> Weight { - Weight::from_ref_time(68_692_000 as u64) - .saturating_add(T::DbWeight::get().reads(3 as u64)) - .saturating_add(T::DbWeight::get().writes(3 as u64)) - } -} From 654d00b6fea49f189ffe3c611660ed0667d6c61b Mon Sep 17 00:00:00 2001 From: kiltbot Date: Tue, 8 Nov 2022 08:51:10 +0100 Subject: [PATCH 10/38] chore: update weights --- pallets/attestation/src/default_weights.rs | 28 +- pallets/ctype/src/default_weights.rs | 8 +- pallets/delegation/src/default_weights.rs | 100 +-- pallets/did/src/default_weights.rs | 204 +++---- .../pallet-did-lookup/src/default_weights.rs | 28 +- .../pallet-inflation/src/default_weights.rs | 12 +- .../pallet-web3-names/src/default_weights.rs | 56 +- .../parachain-staking/src/default_weights.rs | 569 ++++++++++-------- .../public-credentials/src/default_weights.rs | 50 +- runtimes/peregrine/src/weights/attestation.rs | 14 +- runtimes/peregrine/src/weights/ctype.rs | 4 +- runtimes/peregrine/src/weights/delegation.rs | 46 +- runtimes/peregrine/src/weights/did.rs | 98 +-- .../peregrine/src/weights/frame_system.rs | 26 +- .../peregrine/src/weights/pallet_balances.rs | 22 +- .../src/weights/pallet_collective.rs | 86 +-- .../peregrine/src/weights/pallet_democracy.rs | 106 ++-- .../src/weights/pallet_did_lookup.rs | 24 +- .../peregrine/src/weights/pallet_indices.rs | 18 +- .../peregrine/src/weights/pallet_inflation.rs | 12 +- .../src/weights/pallet_membership.rs | 36 +- .../peregrine/src/weights/pallet_preimage.rs | 26 +- .../peregrine/src/weights/pallet_proxy.rs | 66 +- .../peregrine/src/weights/pallet_scheduler.rs | 84 +-- .../peregrine/src/weights/pallet_session.rs | 12 +- .../peregrine/src/weights/pallet_timestamp.rs | 12 +- runtimes/peregrine/src/weights/pallet_tips.rs | 30 +- .../peregrine/src/weights/pallet_treasury.rs | 28 +- .../peregrine/src/weights/pallet_utility.rs | 28 +- .../peregrine/src/weights/pallet_vesting.rs | 76 +-- .../src/weights/pallet_web3_names.rs | 26 +- .../src/weights/parachain_staking.rs | 287 ++++----- .../src/weights/public_credentials.rs | 26 +- runtimes/spiritnet/src/weights/attestation.rs | 14 +- runtimes/spiritnet/src/weights/ctype.rs | 4 +- runtimes/spiritnet/src/weights/delegation.rs | 56 +- runtimes/spiritnet/src/weights/did.rs | 100 +-- .../spiritnet/src/weights/frame_system.rs | 18 +- .../spiritnet/src/weights/pallet_balances.rs | 16 +- .../src/weights/pallet_collective.rs | 66 +- .../spiritnet/src/weights/pallet_democracy.rs | 96 +-- .../src/weights/pallet_did_lookup.rs | 18 +- .../spiritnet/src/weights/pallet_indices.rs | 12 +- .../spiritnet/src/weights/pallet_inflation.rs | 6 +- .../src/weights/pallet_membership.rs | 28 +- .../spiritnet/src/weights/pallet_preimage.rs | 20 +- .../spiritnet/src/weights/pallet_proxy.rs | 56 +- .../spiritnet/src/weights/pallet_scheduler.rs | 78 +-- .../spiritnet/src/weights/pallet_session.rs | 6 +- .../spiritnet/src/weights/pallet_timestamp.rs | 6 +- runtimes/spiritnet/src/weights/pallet_tips.rs | 22 +- .../spiritnet/src/weights/pallet_treasury.rs | 22 +- .../spiritnet/src/weights/pallet_utility.rs | 22 +- .../spiritnet/src/weights/pallet_vesting.rs | 70 +-- .../src/weights/pallet_web3_names.rs | 26 +- .../src/weights/parachain_staking.rs | 291 ++++----- 56 files changed, 1694 insertions(+), 1607 deletions(-) diff --git a/pallets/attestation/src/default_weights.rs b/pallets/attestation/src/default_weights.rs index e2961beb9..f3b896a11 100644 --- a/pallets/attestation/src/default_weights.rs +++ b/pallets/attestation/src/default_weights.rs @@ -19,7 +19,7 @@ //! Autogenerated weights for attestation //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-10-26, STEPS: {{cmd.steps}}\, REPEAT: {{cmd.repeat}}\, LOW RANGE: {{cmd.lowest_range_values}}\, HIGH RANGE: {{cmd.highest_range_values}}\ +//! DATE: 2022-11-07, STEPS: {{cmd.steps}}\, REPEAT: {{cmd.repeat}}\, LOW RANGE: {{cmd.lowest_range_values}}\, HIGH RANGE: {{cmd.highest_range_values}}\ //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024 // Executed Command: @@ -62,41 +62,41 @@ impl WeightInfo for SubstrateWeight { // Storage: Attestation Attestations (r:1 w:1) // Storage: System Account (r:1 w:1) fn add() -> Weight { - Weight::from_ref_time(54_712_000 as u64) + Weight::from_ref_time(54_325_000 as u64) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Attestation Attestations (r:1 w:1) fn revoke() -> Weight { - Weight::from_ref_time(33_260_000 as u64) + Weight::from_ref_time(33_435_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Attestation Attestations (r:1 w:1) // Storage: System Account (r:1 w:1) fn remove() -> Weight { - Weight::from_ref_time(51_711_000 as u64) + Weight::from_ref_time(51_293_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Attestation Attestations (r:1 w:1) // Storage: System Account (r:1 w:1) fn reclaim_deposit() -> Weight { - Weight::from_ref_time(51_974_000 as u64) + Weight::from_ref_time(51_952_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Attestation Attestations (r:1 w:1) // Storage: System Account (r:2 w:2) fn change_deposit_owner() -> Weight { - Weight::from_ref_time(67_325_000 as u64) + Weight::from_ref_time(67_531_000 as u64) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } // Storage: Attestation Attestations (r:1 w:1) // Storage: System Account (r:1 w:1) fn update_deposit() -> Weight { - Weight::from_ref_time(61_917_000 as u64) + Weight::from_ref_time(61_904_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } @@ -108,42 +108,42 @@ impl WeightInfo for () { // Storage: Attestation Attestations (r:1 w:1) // Storage: System Account (r:1 w:1) fn add() -> Weight { - Weight::from_ref_time(54_712_000 as u64) + Weight::from_ref_time(54_325_000 as u64) .saturating_add(RocksDbWeight::get().reads(3 as u64)) .saturating_add(RocksDbWeight::get().writes(2 as u64)) } // Storage: Attestation Attestations (r:1 w:1) fn revoke() -> Weight { - Weight::from_ref_time(33_260_000 as u64) + Weight::from_ref_time(33_435_000 as u64) .saturating_add(RocksDbWeight::get().reads(1 as u64)) .saturating_add(RocksDbWeight::get().writes(1 as u64)) } // Storage: Attestation Attestations (r:1 w:1) // Storage: System Account (r:1 w:1) fn remove() -> Weight { - Weight::from_ref_time(51_711_000 as u64) + Weight::from_ref_time(51_293_000 as u64) .saturating_add(RocksDbWeight::get().reads(2 as u64)) .saturating_add(RocksDbWeight::get().writes(2 as u64)) } // Storage: Attestation Attestations (r:1 w:1) // Storage: System Account (r:1 w:1) fn reclaim_deposit() -> Weight { - Weight::from_ref_time(51_974_000 as u64) + Weight::from_ref_time(51_952_000 as u64) .saturating_add(RocksDbWeight::get().reads(2 as u64)) .saturating_add(RocksDbWeight::get().writes(2 as u64)) } // Storage: Attestation Attestations (r:1 w:1) // Storage: System Account (r:2 w:2) fn change_deposit_owner() -> Weight { - Weight::from_ref_time(67_325_000 as u64) + Weight::from_ref_time(67_531_000 as u64) .saturating_add(RocksDbWeight::get().reads(3 as u64)) .saturating_add(RocksDbWeight::get().writes(3 as u64)) } // Storage: Attestation Attestations (r:1 w:1) // Storage: System Account (r:1 w:1) fn update_deposit() -> Weight { - Weight::from_ref_time(61_917_000 as u64) + Weight::from_ref_time(61_904_000 as u64) .saturating_add(RocksDbWeight::get().reads(2 as u64)) .saturating_add(RocksDbWeight::get().writes(2 as u64)) } -} \ No newline at end of file +} diff --git a/pallets/ctype/src/default_weights.rs b/pallets/ctype/src/default_weights.rs index 4abe12c7f..49598a802 100644 --- a/pallets/ctype/src/default_weights.rs +++ b/pallets/ctype/src/default_weights.rs @@ -19,7 +19,7 @@ //! Autogenerated weights for ctype //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-10-26, STEPS: {{cmd.steps}}\, REPEAT: {{cmd.repeat}}\, LOW RANGE: {{cmd.lowest_range_values}}\, HIGH RANGE: {{cmd.highest_range_values}}\ +//! DATE: 2022-11-07, STEPS: {{cmd.steps}}\, REPEAT: {{cmd.repeat}}\, LOW RANGE: {{cmd.lowest_range_values}}\, HIGH RANGE: {{cmd.highest_range_values}}\ //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024 // Executed Command: @@ -57,7 +57,7 @@ impl WeightInfo for SubstrateWeight { // Storage: Ctype Ctypes (r:1 w:1) /// The range of component `l` is `[1, 5242880]`. fn add(l: u32, ) -> Weight { - Weight::from_ref_time(8_531_000 as u64) + Weight::from_ref_time(10_200_000 as u64) // Standard Error: 0 .saturating_add(Weight::from_ref_time(2_000 as u64).saturating_mul(l as u64)) .saturating_add(T::DbWeight::get().reads(3 as u64)) @@ -71,10 +71,10 @@ impl WeightInfo for () { // Storage: Ctype Ctypes (r:1 w:1) /// The range of component `l` is `[1, 5242880]`. fn add(l: u32, ) -> Weight { - Weight::from_ref_time(8_531_000 as u64) + Weight::from_ref_time(10_200_000 as u64) // Standard Error: 0 .saturating_add(Weight::from_ref_time(2_000 as u64).saturating_mul(l as u64)) .saturating_add(RocksDbWeight::get().reads(3 as u64)) .saturating_add(RocksDbWeight::get().writes(3 as u64)) } -} \ No newline at end of file +} diff --git a/pallets/delegation/src/default_weights.rs b/pallets/delegation/src/default_weights.rs index da6baddb3..8e9099f7b 100644 --- a/pallets/delegation/src/default_weights.rs +++ b/pallets/delegation/src/default_weights.rs @@ -19,7 +19,7 @@ //! Autogenerated weights for delegation //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-10-26, STEPS: {{cmd.steps}}\, REPEAT: {{cmd.repeat}}\, LOW RANGE: {{cmd.lowest_range_values}}\, HIGH RANGE: {{cmd.highest_range_values}}\ +//! DATE: 2022-11-07, STEPS: {{cmd.steps}}\, REPEAT: {{cmd.repeat}}\, LOW RANGE: {{cmd.lowest_range_values}}\, HIGH RANGE: {{cmd.highest_range_values}}\ //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024 // Executed Command: @@ -68,14 +68,14 @@ impl WeightInfo for SubstrateWeight { // Storage: System Account (r:1 w:1) // Storage: Delegation DelegationNodes (r:0 w:1) fn create_hierarchy() -> Weight { - Weight::from_ref_time(58_231_000 as u64) + Weight::from_ref_time(57_306_000 as u64) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } // Storage: Delegation DelegationNodes (r:2 w:2) // Storage: System Account (r:1 w:1) fn add_delegation() -> Weight { - Weight::from_ref_time(63_276_000 as u64) + Weight::from_ref_time(62_800_000 as u64) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } @@ -84,11 +84,11 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[1, 5]`. /// The range of component `c` is `[1, 5]`. fn revoke_delegation_root_child(r: u32, c: u32, ) -> Weight { - Weight::from_ref_time(31_883_000 as u64) - // Standard Error: 39_000 - .saturating_add(Weight::from_ref_time(14_000_000 as u64).saturating_mul(r as u64)) - // Standard Error: 39_000 - .saturating_add(Weight::from_ref_time(537_000 as u64).saturating_mul(c as u64)) + Weight::from_ref_time(32_902_000 as u64) + // Standard Error: 38_000 + .saturating_add(Weight::from_ref_time(13_890_000 as u64).saturating_mul(r as u64)) + // Standard Error: 38_000 + .saturating_add(Weight::from_ref_time(399_000 as u64).saturating_mul(c as u64)) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(r as u64))) .saturating_add(T::DbWeight::get().writes((1 as u64).saturating_mul(r as u64))) @@ -98,9 +98,9 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[1, 5]`. /// The range of component `c` is `[1, 5]`. fn revoke_delegation_leaf(_r: u32, c: u32, ) -> Weight { - Weight::from_ref_time(47_672_000 as u64) - // Standard Error: 11_000 - .saturating_add(Weight::from_ref_time(3_986_000 as u64).saturating_mul(c as u64)) + Weight::from_ref_time(48_305_000 as u64) + // Standard Error: 7_000 + .saturating_add(Weight::from_ref_time(4_062_000 as u64).saturating_mul(c as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(c as u64))) .saturating_add(T::DbWeight::get().writes(1 as u64)) @@ -110,9 +110,9 @@ impl WeightInfo for SubstrateWeight { // Storage: Delegation DelegationHierarchies (r:1 w:1) /// The range of component `r` is `[1, 5]`. fn remove_delegation(r: u32, ) -> Weight { - Weight::from_ref_time(68_491_000 as u64) + Weight::from_ref_time(68_555_000 as u64) // Standard Error: 20_000 - .saturating_add(Weight::from_ref_time(24_367_000 as u64).saturating_mul(r as u64)) + .saturating_add(Weight::from_ref_time(24_147_000 as u64).saturating_mul(r as u64)) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(r as u64))) .saturating_add(T::DbWeight::get().writes(3 as u64)) @@ -123,9 +123,9 @@ impl WeightInfo for SubstrateWeight { // Storage: Delegation DelegationHierarchies (r:0 w:1) /// The range of component `r` is `[1, 5]`. fn reclaim_deposit(r: u32, ) -> Weight { - Weight::from_ref_time(60_987_000 as u64) - // Standard Error: 24_000 - .saturating_add(Weight::from_ref_time(24_379_000 as u64).saturating_mul(r as u64)) + Weight::from_ref_time(61_377_000 as u64) + // Standard Error: 19_000 + .saturating_add(Weight::from_ref_time(24_028_000 as u64).saturating_mul(r as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(r as u64))) .saturating_add(T::DbWeight::get().writes(3 as u64)) @@ -134,38 +134,38 @@ impl WeightInfo for SubstrateWeight { // Storage: Delegation DelegationNodes (r:1 w:0) // Storage: Delegation DelegationHierarchies (r:1 w:0) fn can_attest() -> Weight { - Weight::from_ref_time(17_924_000 as u64) + Weight::from_ref_time(18_398_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) } // Storage: Delegation DelegationNodes (r:2 w:0) /// The range of component `c` is `[1, 5]`. fn can_revoke(c: u32, ) -> Weight { - Weight::from_ref_time(12_738_000 as u64) - // Standard Error: 9_000 - .saturating_add(Weight::from_ref_time(4_329_000 as u64).saturating_mul(c as u64)) + Weight::from_ref_time(13_088_000 as u64) + // Standard Error: 8_000 + .saturating_add(Weight::from_ref_time(4_399_000 as u64).saturating_mul(c as u64)) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(c as u64))) } // Storage: Delegation DelegationNodes (r:2 w:0) /// The range of component `c` is `[1, 5]`. fn can_remove(c: u32, ) -> Weight { - Weight::from_ref_time(12_564_000 as u64) - // Standard Error: 10_000 - .saturating_add(Weight::from_ref_time(4_392_000 as u64).saturating_mul(c as u64)) + Weight::from_ref_time(13_085_000 as u64) + // Standard Error: 7_000 + .saturating_add(Weight::from_ref_time(4_401_000 as u64).saturating_mul(c as u64)) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(c as u64))) } // Storage: Delegation DelegationNodes (r:1 w:1) // Storage: System Account (r:2 w:2) fn change_deposit_owner() -> Weight { - Weight::from_ref_time(69_699_000 as u64) + Weight::from_ref_time(69_043_000 as u64) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } // Storage: Delegation DelegationNodes (r:1 w:1) // Storage: System Account (r:1 w:1) fn update_deposit() -> Weight { - Weight::from_ref_time(64_323_000 as u64) + Weight::from_ref_time(64_426_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } @@ -178,14 +178,14 @@ impl WeightInfo for () { // Storage: System Account (r:1 w:1) // Storage: Delegation DelegationNodes (r:0 w:1) fn create_hierarchy() -> Weight { - Weight::from_ref_time(58_231_000 as u64) + Weight::from_ref_time(57_306_000 as u64) .saturating_add(RocksDbWeight::get().reads(3 as u64)) .saturating_add(RocksDbWeight::get().writes(3 as u64)) } // Storage: Delegation DelegationNodes (r:2 w:2) // Storage: System Account (r:1 w:1) fn add_delegation() -> Weight { - Weight::from_ref_time(63_276_000 as u64) + Weight::from_ref_time(62_800_000 as u64) .saturating_add(RocksDbWeight::get().reads(3 as u64)) .saturating_add(RocksDbWeight::get().writes(3 as u64)) } @@ -194,11 +194,11 @@ impl WeightInfo for () { /// The range of component `r` is `[1, 5]`. /// The range of component `c` is `[1, 5]`. fn revoke_delegation_root_child(r: u32, c: u32, ) -> Weight { - Weight::from_ref_time(31_883_000 as u64) - // Standard Error: 39_000 - .saturating_add(Weight::from_ref_time(14_000_000 as u64).saturating_mul(r as u64)) - // Standard Error: 39_000 - .saturating_add(Weight::from_ref_time(537_000 as u64).saturating_mul(c as u64)) + Weight::from_ref_time(32_902_000 as u64) + // Standard Error: 38_000 + .saturating_add(Weight::from_ref_time(13_890_000 as u64).saturating_mul(r as u64)) + // Standard Error: 38_000 + .saturating_add(Weight::from_ref_time(399_000 as u64).saturating_mul(c as u64)) .saturating_add(RocksDbWeight::get().reads(1 as u64)) .saturating_add(RocksDbWeight::get().reads((1 as u64).saturating_mul(r as u64))) .saturating_add(RocksDbWeight::get().writes((1 as u64).saturating_mul(r as u64))) @@ -208,9 +208,9 @@ impl WeightInfo for () { /// The range of component `r` is `[1, 5]`. /// The range of component `c` is `[1, 5]`. fn revoke_delegation_leaf(_r: u32, c: u32, ) -> Weight { - Weight::from_ref_time(47_672_000 as u64) - // Standard Error: 11_000 - .saturating_add(Weight::from_ref_time(3_986_000 as u64).saturating_mul(c as u64)) + Weight::from_ref_time(48_305_000 as u64) + // Standard Error: 7_000 + .saturating_add(Weight::from_ref_time(4_062_000 as u64).saturating_mul(c as u64)) .saturating_add(RocksDbWeight::get().reads(2 as u64)) .saturating_add(RocksDbWeight::get().reads((1 as u64).saturating_mul(c as u64))) .saturating_add(RocksDbWeight::get().writes(1 as u64)) @@ -220,9 +220,9 @@ impl WeightInfo for () { // Storage: Delegation DelegationHierarchies (r:1 w:1) /// The range of component `r` is `[1, 5]`. fn remove_delegation(r: u32, ) -> Weight { - Weight::from_ref_time(68_491_000 as u64) + Weight::from_ref_time(68_555_000 as u64) // Standard Error: 20_000 - .saturating_add(Weight::from_ref_time(24_367_000 as u64).saturating_mul(r as u64)) + .saturating_add(Weight::from_ref_time(24_147_000 as u64).saturating_mul(r as u64)) .saturating_add(RocksDbWeight::get().reads(3 as u64)) .saturating_add(RocksDbWeight::get().reads((1 as u64).saturating_mul(r as u64))) .saturating_add(RocksDbWeight::get().writes(3 as u64)) @@ -233,9 +233,9 @@ impl WeightInfo for () { // Storage: Delegation DelegationHierarchies (r:0 w:1) /// The range of component `r` is `[1, 5]`. fn reclaim_deposit(r: u32, ) -> Weight { - Weight::from_ref_time(60_987_000 as u64) - // Standard Error: 24_000 - .saturating_add(Weight::from_ref_time(24_379_000 as u64).saturating_mul(r as u64)) + Weight::from_ref_time(61_377_000 as u64) + // Standard Error: 19_000 + .saturating_add(Weight::from_ref_time(24_028_000 as u64).saturating_mul(r as u64)) .saturating_add(RocksDbWeight::get().reads(2 as u64)) .saturating_add(RocksDbWeight::get().reads((1 as u64).saturating_mul(r as u64))) .saturating_add(RocksDbWeight::get().writes(3 as u64)) @@ -244,39 +244,39 @@ impl WeightInfo for () { // Storage: Delegation DelegationNodes (r:1 w:0) // Storage: Delegation DelegationHierarchies (r:1 w:0) fn can_attest() -> Weight { - Weight::from_ref_time(17_924_000 as u64) + Weight::from_ref_time(18_398_000 as u64) .saturating_add(RocksDbWeight::get().reads(2 as u64)) } // Storage: Delegation DelegationNodes (r:2 w:0) /// The range of component `c` is `[1, 5]`. fn can_revoke(c: u32, ) -> Weight { - Weight::from_ref_time(12_738_000 as u64) - // Standard Error: 9_000 - .saturating_add(Weight::from_ref_time(4_329_000 as u64).saturating_mul(c as u64)) + Weight::from_ref_time(13_088_000 as u64) + // Standard Error: 8_000 + .saturating_add(Weight::from_ref_time(4_399_000 as u64).saturating_mul(c as u64)) .saturating_add(RocksDbWeight::get().reads(1 as u64)) .saturating_add(RocksDbWeight::get().reads((1 as u64).saturating_mul(c as u64))) } // Storage: Delegation DelegationNodes (r:2 w:0) /// The range of component `c` is `[1, 5]`. fn can_remove(c: u32, ) -> Weight { - Weight::from_ref_time(12_564_000 as u64) - // Standard Error: 10_000 - .saturating_add(Weight::from_ref_time(4_392_000 as u64).saturating_mul(c as u64)) + Weight::from_ref_time(13_085_000 as u64) + // Standard Error: 7_000 + .saturating_add(Weight::from_ref_time(4_401_000 as u64).saturating_mul(c as u64)) .saturating_add(RocksDbWeight::get().reads(1 as u64)) .saturating_add(RocksDbWeight::get().reads((1 as u64).saturating_mul(c as u64))) } // Storage: Delegation DelegationNodes (r:1 w:1) // Storage: System Account (r:2 w:2) fn change_deposit_owner() -> Weight { - Weight::from_ref_time(69_699_000 as u64) + Weight::from_ref_time(69_043_000 as u64) .saturating_add(RocksDbWeight::get().reads(3 as u64)) .saturating_add(RocksDbWeight::get().writes(3 as u64)) } // Storage: Delegation DelegationNodes (r:1 w:1) // Storage: System Account (r:1 w:1) fn update_deposit() -> Weight { - Weight::from_ref_time(64_323_000 as u64) + Weight::from_ref_time(64_426_000 as u64) .saturating_add(RocksDbWeight::get().reads(2 as u64)) .saturating_add(RocksDbWeight::get().writes(2 as u64)) } -} \ No newline at end of file +} diff --git a/pallets/did/src/default_weights.rs b/pallets/did/src/default_weights.rs index ba635a454..e2b5e09e1 100644 --- a/pallets/did/src/default_weights.rs +++ b/pallets/did/src/default_weights.rs @@ -19,7 +19,7 @@ //! Autogenerated weights for did //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-10-26, STEPS: {{cmd.steps}}\, REPEAT: {{cmd.repeat}}\, LOW RANGE: {{cmd.lowest_range_values}}\, HIGH RANGE: {{cmd.highest_range_values}}\ +//! DATE: 2022-11-07, STEPS: {{cmd.steps}}\, REPEAT: {{cmd.repeat}}\, LOW RANGE: {{cmd.lowest_range_values}}\, HIGH RANGE: {{cmd.highest_range_values}}\ //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024 // Executed Command: @@ -96,11 +96,11 @@ impl WeightInfo for SubstrateWeight { /// The range of component `n` is `[1, 10]`. /// The range of component `c` is `[1, 25]`. fn create_ed25519_keys(n: u32, c: u32, ) -> Weight { - Weight::from_ref_time(156_568_000 as u64) - // Standard Error: 15_000 - .saturating_add(Weight::from_ref_time(1_515_000 as u64).saturating_mul(n as u64)) - // Standard Error: 6_000 - .saturating_add(Weight::from_ref_time(6_249_000 as u64).saturating_mul(c as u64)) + Weight::from_ref_time(159_180_000 as u64) + // Standard Error: 19_000 + .saturating_add(Weight::from_ref_time(1_144_000 as u64).saturating_mul(n as u64)) + // Standard Error: 7_000 + .saturating_add(Weight::from_ref_time(6_080_000 as u64).saturating_mul(c as u64)) .saturating_add(T::DbWeight::get().reads(4 as u64)) .saturating_add(T::DbWeight::get().writes(4 as u64)) .saturating_add(T::DbWeight::get().writes((1 as u64).saturating_mul(c as u64))) @@ -113,11 +113,11 @@ impl WeightInfo for SubstrateWeight { /// The range of component `n` is `[1, 10]`. /// The range of component `c` is `[1, 25]`. fn create_sr25519_keys(n: u32, c: u32, ) -> Weight { - Weight::from_ref_time(158_785_000 as u64) - // Standard Error: 15_000 - .saturating_add(Weight::from_ref_time(1_536_000 as u64).saturating_mul(n as u64)) - // Standard Error: 6_000 - .saturating_add(Weight::from_ref_time(6_746_000 as u64).saturating_mul(c as u64)) + Weight::from_ref_time(159_584_000 as u64) + // Standard Error: 20_000 + .saturating_add(Weight::from_ref_time(1_263_000 as u64).saturating_mul(n as u64)) + // Standard Error: 7_000 + .saturating_add(Weight::from_ref_time(6_550_000 as u64).saturating_mul(c as u64)) .saturating_add(T::DbWeight::get().reads(4 as u64)) .saturating_add(T::DbWeight::get().writes(4 as u64)) .saturating_add(T::DbWeight::get().writes((1 as u64).saturating_mul(c as u64))) @@ -130,11 +130,11 @@ impl WeightInfo for SubstrateWeight { /// The range of component `n` is `[1, 10]`. /// The range of component `c` is `[1, 25]`. fn create_ecdsa_keys(n: u32, c: u32, ) -> Weight { - Weight::from_ref_time(147_617_000 as u64) - // Standard Error: 16_000 - .saturating_add(Weight::from_ref_time(1_261_000 as u64).saturating_mul(n as u64)) - // Standard Error: 6_000 - .saturating_add(Weight::from_ref_time(5_862_000 as u64).saturating_mul(c as u64)) + Weight::from_ref_time(144_697_000 as u64) + // Standard Error: 15_000 + .saturating_add(Weight::from_ref_time(1_346_000 as u64).saturating_mul(n as u64)) + // Standard Error: 5_000 + .saturating_add(Weight::from_ref_time(5_674_000 as u64).saturating_mul(c as u64)) .saturating_add(T::DbWeight::get().reads(4 as u64)) .saturating_add(T::DbWeight::get().writes(4 as u64)) .saturating_add(T::DbWeight::get().writes((1 as u64).saturating_mul(c as u64))) @@ -145,9 +145,9 @@ impl WeightInfo for SubstrateWeight { // Storage: Did ServiceEndpoints (r:0 w:1) /// The range of component `c` is `[1, 25]`. fn delete(c: u32, ) -> Weight { - Weight::from_ref_time(48_314_000 as u64) + Weight::from_ref_time(47_977_000 as u64) // Standard Error: 4_000 - .saturating_add(Weight::from_ref_time(1_611_000 as u64).saturating_mul(c as u64)) + .saturating_add(Weight::from_ref_time(1_644_000 as u64).saturating_mul(c as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) .saturating_add(T::DbWeight::get().writes((1 as u64).saturating_mul(c as u64))) @@ -158,154 +158,154 @@ impl WeightInfo for SubstrateWeight { // Storage: Did ServiceEndpoints (r:0 w:1) /// The range of component `c` is `[1, 25]`. fn reclaim_deposit(c: u32, ) -> Weight { - Weight::from_ref_time(50_942_000 as u64) + Weight::from_ref_time(50_814_000 as u64) // Standard Error: 4_000 - .saturating_add(Weight::from_ref_time(1_614_000 as u64).saturating_mul(c as u64)) + .saturating_add(Weight::from_ref_time(1_657_000 as u64).saturating_mul(c as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) .saturating_add(T::DbWeight::get().writes((1 as u64).saturating_mul(c as u64))) } // Storage: Did Did (r:1 w:1) fn submit_did_call_ed25519_key() -> Weight { - Weight::from_ref_time(96_097_000 as u64) + Weight::from_ref_time(95_185_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn submit_did_call_sr25519_key() -> Weight { - Weight::from_ref_time(97_185_000 as u64) + Weight::from_ref_time(96_880_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn submit_did_call_ecdsa_key() -> Weight { - Weight::from_ref_time(84_231_000 as u64) + Weight::from_ref_time(84_388_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn set_ed25519_authentication_key() -> Weight { - Weight::from_ref_time(46_605_000 as u64) + Weight::from_ref_time(46_019_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn set_sr25519_authentication_key() -> Weight { - Weight::from_ref_time(46_186_000 as u64) + Weight::from_ref_time(46_018_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn set_ecdsa_authentication_key() -> Weight { - Weight::from_ref_time(46_031_000 as u64) + Weight::from_ref_time(46_052_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn set_ed25519_delegation_key() -> Weight { - Weight::from_ref_time(45_554_000 as u64) + Weight::from_ref_time(45_621_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn set_sr25519_delegation_key() -> Weight { - Weight::from_ref_time(45_981_000 as u64) + Weight::from_ref_time(45_414_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn set_ecdsa_delegation_key() -> Weight { - Weight::from_ref_time(45_505_000 as u64) + Weight::from_ref_time(45_478_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn remove_ed25519_delegation_key() -> Weight { - Weight::from_ref_time(42_688_000 as u64) + Weight::from_ref_time(43_012_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn remove_sr25519_delegation_key() -> Weight { - Weight::from_ref_time(43_356_000 as u64) + Weight::from_ref_time(42_950_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn remove_ecdsa_delegation_key() -> Weight { - Weight::from_ref_time(43_238_000 as u64) + Weight::from_ref_time(42_823_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn set_ed25519_attestation_key() -> Weight { - Weight::from_ref_time(45_835_000 as u64) + Weight::from_ref_time(45_531_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn set_sr25519_attestation_key() -> Weight { - Weight::from_ref_time(45_858_000 as u64) + Weight::from_ref_time(45_501_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn set_ecdsa_attestation_key() -> Weight { - Weight::from_ref_time(45_606_000 as u64) + Weight::from_ref_time(45_190_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn remove_ed25519_attestation_key() -> Weight { - Weight::from_ref_time(43_042_000 as u64) + Weight::from_ref_time(43_191_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn remove_sr25519_attestation_key() -> Weight { - Weight::from_ref_time(43_135_000 as u64) + Weight::from_ref_time(43_154_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn remove_ecdsa_attestation_key() -> Weight { - Weight::from_ref_time(43_196_000 as u64) + Weight::from_ref_time(43_091_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn add_ed25519_key_agreement_key() -> Weight { - Weight::from_ref_time(45_306_000 as u64) + Weight::from_ref_time(44_903_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn add_sr25519_key_agreement_key() -> Weight { - Weight::from_ref_time(45_347_000 as u64) + Weight::from_ref_time(44_779_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn add_ecdsa_key_agreement_key() -> Weight { - Weight::from_ref_time(45_586_000 as u64) + Weight::from_ref_time(44_745_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn remove_ed25519_key_agreement_key() -> Weight { - Weight::from_ref_time(43_320_000 as u64) + Weight::from_ref_time(43_437_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn remove_sr25519_key_agreement_key() -> Weight { - Weight::from_ref_time(43_477_000 as u64) + Weight::from_ref_time(43_447_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn remove_ecdsa_key_agreement_key() -> Weight { - Weight::from_ref_time(43_470_000 as u64) + Weight::from_ref_time(43_188_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } @@ -313,21 +313,21 @@ impl WeightInfo for SubstrateWeight { // Storage: Did DidEndpointsCount (r:1 w:1) // Storage: Did ServiceEndpoints (r:1 w:1) fn add_service_endpoint() -> Weight { - Weight::from_ref_time(52_338_000 as u64) + Weight::from_ref_time(52_071_000 as u64) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Did ServiceEndpoints (r:1 w:1) // Storage: Did DidEndpointsCount (r:1 w:1) fn remove_service_endpoint() -> Weight { - Weight::from_ref_time(45_053_000 as u64) + Weight::from_ref_time(44_962_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Did Did (r:1 w:0) /// The range of component `l` is `[1, 5242880]`. fn signature_verification_sr25519(l: u32, ) -> Weight { - Weight::from_ref_time(35_292_000 as u64) + Weight::from_ref_time(29_998_000 as u64) // Standard Error: 0 .saturating_add(Weight::from_ref_time(4_000 as u64).saturating_mul(l as u64)) .saturating_add(T::DbWeight::get().reads(1 as u64)) @@ -335,7 +335,7 @@ impl WeightInfo for SubstrateWeight { // Storage: Did Did (r:1 w:0) /// The range of component `l` is `[1, 5242880]`. fn signature_verification_ed25519(l: u32, ) -> Weight { - Weight::from_ref_time(33_666_000 as u64) + Weight::from_ref_time(37_880_000 as u64) // Standard Error: 0 .saturating_add(Weight::from_ref_time(2_000 as u64).saturating_mul(l as u64)) .saturating_add(T::DbWeight::get().reads(1 as u64)) @@ -343,7 +343,7 @@ impl WeightInfo for SubstrateWeight { // Storage: Did Did (r:1 w:0) /// The range of component `l` is `[1, 5242880]`. fn signature_verification_ecdsa(l: u32, ) -> Weight { - Weight::from_ref_time(23_193_000 as u64) + Weight::from_ref_time(20_289_000 as u64) // Standard Error: 0 .saturating_add(Weight::from_ref_time(1_000 as u64).saturating_mul(l as u64)) .saturating_add(T::DbWeight::get().reads(1 as u64)) @@ -351,14 +351,14 @@ impl WeightInfo for SubstrateWeight { // Storage: Did Did (r:1 w:1) // Storage: System Account (r:1 w:1) fn change_deposit_owner() -> Weight { - Weight::from_ref_time(62_213_000 as u64) + Weight::from_ref_time(61_871_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Did Did (r:1 w:1) // Storage: System Account (r:1 w:1) fn update_deposit() -> Weight { - Weight::from_ref_time(64_533_000 as u64) + Weight::from_ref_time(64_313_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } @@ -374,11 +374,11 @@ impl WeightInfo for () { /// The range of component `n` is `[1, 10]`. /// The range of component `c` is `[1, 25]`. fn create_ed25519_keys(n: u32, c: u32, ) -> Weight { - Weight::from_ref_time(156_568_000 as u64) - // Standard Error: 15_000 - .saturating_add(Weight::from_ref_time(1_515_000 as u64).saturating_mul(n as u64)) - // Standard Error: 6_000 - .saturating_add(Weight::from_ref_time(6_249_000 as u64).saturating_mul(c as u64)) + Weight::from_ref_time(159_180_000 as u64) + // Standard Error: 19_000 + .saturating_add(Weight::from_ref_time(1_144_000 as u64).saturating_mul(n as u64)) + // Standard Error: 7_000 + .saturating_add(Weight::from_ref_time(6_080_000 as u64).saturating_mul(c as u64)) .saturating_add(RocksDbWeight::get().reads(4 as u64)) .saturating_add(RocksDbWeight::get().writes(4 as u64)) .saturating_add(RocksDbWeight::get().writes((1 as u64).saturating_mul(c as u64))) @@ -391,11 +391,11 @@ impl WeightInfo for () { /// The range of component `n` is `[1, 10]`. /// The range of component `c` is `[1, 25]`. fn create_sr25519_keys(n: u32, c: u32, ) -> Weight { - Weight::from_ref_time(158_785_000 as u64) - // Standard Error: 15_000 - .saturating_add(Weight::from_ref_time(1_536_000 as u64).saturating_mul(n as u64)) - // Standard Error: 6_000 - .saturating_add(Weight::from_ref_time(6_746_000 as u64).saturating_mul(c as u64)) + Weight::from_ref_time(159_584_000 as u64) + // Standard Error: 20_000 + .saturating_add(Weight::from_ref_time(1_263_000 as u64).saturating_mul(n as u64)) + // Standard Error: 7_000 + .saturating_add(Weight::from_ref_time(6_550_000 as u64).saturating_mul(c as u64)) .saturating_add(RocksDbWeight::get().reads(4 as u64)) .saturating_add(RocksDbWeight::get().writes(4 as u64)) .saturating_add(RocksDbWeight::get().writes((1 as u64).saturating_mul(c as u64))) @@ -408,11 +408,11 @@ impl WeightInfo for () { /// The range of component `n` is `[1, 10]`. /// The range of component `c` is `[1, 25]`. fn create_ecdsa_keys(n: u32, c: u32, ) -> Weight { - Weight::from_ref_time(147_617_000 as u64) - // Standard Error: 16_000 - .saturating_add(Weight::from_ref_time(1_261_000 as u64).saturating_mul(n as u64)) - // Standard Error: 6_000 - .saturating_add(Weight::from_ref_time(5_862_000 as u64).saturating_mul(c as u64)) + Weight::from_ref_time(144_697_000 as u64) + // Standard Error: 15_000 + .saturating_add(Weight::from_ref_time(1_346_000 as u64).saturating_mul(n as u64)) + // Standard Error: 5_000 + .saturating_add(Weight::from_ref_time(5_674_000 as u64).saturating_mul(c as u64)) .saturating_add(RocksDbWeight::get().reads(4 as u64)) .saturating_add(RocksDbWeight::get().writes(4 as u64)) .saturating_add(RocksDbWeight::get().writes((1 as u64).saturating_mul(c as u64))) @@ -423,9 +423,9 @@ impl WeightInfo for () { // Storage: Did ServiceEndpoints (r:0 w:1) /// The range of component `c` is `[1, 25]`. fn delete(c: u32, ) -> Weight { - Weight::from_ref_time(48_314_000 as u64) + Weight::from_ref_time(47_977_000 as u64) // Standard Error: 4_000 - .saturating_add(Weight::from_ref_time(1_611_000 as u64).saturating_mul(c as u64)) + .saturating_add(Weight::from_ref_time(1_644_000 as u64).saturating_mul(c as u64)) .saturating_add(RocksDbWeight::get().reads(2 as u64)) .saturating_add(RocksDbWeight::get().writes(3 as u64)) .saturating_add(RocksDbWeight::get().writes((1 as u64).saturating_mul(c as u64))) @@ -436,154 +436,154 @@ impl WeightInfo for () { // Storage: Did ServiceEndpoints (r:0 w:1) /// The range of component `c` is `[1, 25]`. fn reclaim_deposit(c: u32, ) -> Weight { - Weight::from_ref_time(50_942_000 as u64) + Weight::from_ref_time(50_814_000 as u64) // Standard Error: 4_000 - .saturating_add(Weight::from_ref_time(1_614_000 as u64).saturating_mul(c as u64)) + .saturating_add(Weight::from_ref_time(1_657_000 as u64).saturating_mul(c as u64)) .saturating_add(RocksDbWeight::get().reads(2 as u64)) .saturating_add(RocksDbWeight::get().writes(3 as u64)) .saturating_add(RocksDbWeight::get().writes((1 as u64).saturating_mul(c as u64))) } // Storage: Did Did (r:1 w:1) fn submit_did_call_ed25519_key() -> Weight { - Weight::from_ref_time(96_097_000 as u64) + Weight::from_ref_time(95_185_000 as u64) .saturating_add(RocksDbWeight::get().reads(1 as u64)) .saturating_add(RocksDbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn submit_did_call_sr25519_key() -> Weight { - Weight::from_ref_time(97_185_000 as u64) + Weight::from_ref_time(96_880_000 as u64) .saturating_add(RocksDbWeight::get().reads(1 as u64)) .saturating_add(RocksDbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn submit_did_call_ecdsa_key() -> Weight { - Weight::from_ref_time(84_231_000 as u64) + Weight::from_ref_time(84_388_000 as u64) .saturating_add(RocksDbWeight::get().reads(1 as u64)) .saturating_add(RocksDbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn set_ed25519_authentication_key() -> Weight { - Weight::from_ref_time(46_605_000 as u64) + Weight::from_ref_time(46_019_000 as u64) .saturating_add(RocksDbWeight::get().reads(1 as u64)) .saturating_add(RocksDbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn set_sr25519_authentication_key() -> Weight { - Weight::from_ref_time(46_186_000 as u64) + Weight::from_ref_time(46_018_000 as u64) .saturating_add(RocksDbWeight::get().reads(1 as u64)) .saturating_add(RocksDbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn set_ecdsa_authentication_key() -> Weight { - Weight::from_ref_time(46_031_000 as u64) + Weight::from_ref_time(46_052_000 as u64) .saturating_add(RocksDbWeight::get().reads(1 as u64)) .saturating_add(RocksDbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn set_ed25519_delegation_key() -> Weight { - Weight::from_ref_time(45_554_000 as u64) + Weight::from_ref_time(45_621_000 as u64) .saturating_add(RocksDbWeight::get().reads(1 as u64)) .saturating_add(RocksDbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn set_sr25519_delegation_key() -> Weight { - Weight::from_ref_time(45_981_000 as u64) + Weight::from_ref_time(45_414_000 as u64) .saturating_add(RocksDbWeight::get().reads(1 as u64)) .saturating_add(RocksDbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn set_ecdsa_delegation_key() -> Weight { - Weight::from_ref_time(45_505_000 as u64) + Weight::from_ref_time(45_478_000 as u64) .saturating_add(RocksDbWeight::get().reads(1 as u64)) .saturating_add(RocksDbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn remove_ed25519_delegation_key() -> Weight { - Weight::from_ref_time(42_688_000 as u64) + Weight::from_ref_time(43_012_000 as u64) .saturating_add(RocksDbWeight::get().reads(1 as u64)) .saturating_add(RocksDbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn remove_sr25519_delegation_key() -> Weight { - Weight::from_ref_time(43_356_000 as u64) + Weight::from_ref_time(42_950_000 as u64) .saturating_add(RocksDbWeight::get().reads(1 as u64)) .saturating_add(RocksDbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn remove_ecdsa_delegation_key() -> Weight { - Weight::from_ref_time(43_238_000 as u64) + Weight::from_ref_time(42_823_000 as u64) .saturating_add(RocksDbWeight::get().reads(1 as u64)) .saturating_add(RocksDbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn set_ed25519_attestation_key() -> Weight { - Weight::from_ref_time(45_835_000 as u64) + Weight::from_ref_time(45_531_000 as u64) .saturating_add(RocksDbWeight::get().reads(1 as u64)) .saturating_add(RocksDbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn set_sr25519_attestation_key() -> Weight { - Weight::from_ref_time(45_858_000 as u64) + Weight::from_ref_time(45_501_000 as u64) .saturating_add(RocksDbWeight::get().reads(1 as u64)) .saturating_add(RocksDbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn set_ecdsa_attestation_key() -> Weight { - Weight::from_ref_time(45_606_000 as u64) + Weight::from_ref_time(45_190_000 as u64) .saturating_add(RocksDbWeight::get().reads(1 as u64)) .saturating_add(RocksDbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn remove_ed25519_attestation_key() -> Weight { - Weight::from_ref_time(43_042_000 as u64) + Weight::from_ref_time(43_191_000 as u64) .saturating_add(RocksDbWeight::get().reads(1 as u64)) .saturating_add(RocksDbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn remove_sr25519_attestation_key() -> Weight { - Weight::from_ref_time(43_135_000 as u64) + Weight::from_ref_time(43_154_000 as u64) .saturating_add(RocksDbWeight::get().reads(1 as u64)) .saturating_add(RocksDbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn remove_ecdsa_attestation_key() -> Weight { - Weight::from_ref_time(43_196_000 as u64) + Weight::from_ref_time(43_091_000 as u64) .saturating_add(RocksDbWeight::get().reads(1 as u64)) .saturating_add(RocksDbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn add_ed25519_key_agreement_key() -> Weight { - Weight::from_ref_time(45_306_000 as u64) + Weight::from_ref_time(44_903_000 as u64) .saturating_add(RocksDbWeight::get().reads(1 as u64)) .saturating_add(RocksDbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn add_sr25519_key_agreement_key() -> Weight { - Weight::from_ref_time(45_347_000 as u64) + Weight::from_ref_time(44_779_000 as u64) .saturating_add(RocksDbWeight::get().reads(1 as u64)) .saturating_add(RocksDbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn add_ecdsa_key_agreement_key() -> Weight { - Weight::from_ref_time(45_586_000 as u64) + Weight::from_ref_time(44_745_000 as u64) .saturating_add(RocksDbWeight::get().reads(1 as u64)) .saturating_add(RocksDbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn remove_ed25519_key_agreement_key() -> Weight { - Weight::from_ref_time(43_320_000 as u64) + Weight::from_ref_time(43_437_000 as u64) .saturating_add(RocksDbWeight::get().reads(1 as u64)) .saturating_add(RocksDbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn remove_sr25519_key_agreement_key() -> Weight { - Weight::from_ref_time(43_477_000 as u64) + Weight::from_ref_time(43_447_000 as u64) .saturating_add(RocksDbWeight::get().reads(1 as u64)) .saturating_add(RocksDbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn remove_ecdsa_key_agreement_key() -> Weight { - Weight::from_ref_time(43_470_000 as u64) + Weight::from_ref_time(43_188_000 as u64) .saturating_add(RocksDbWeight::get().reads(1 as u64)) .saturating_add(RocksDbWeight::get().writes(1 as u64)) } @@ -591,21 +591,21 @@ impl WeightInfo for () { // Storage: Did DidEndpointsCount (r:1 w:1) // Storage: Did ServiceEndpoints (r:1 w:1) fn add_service_endpoint() -> Weight { - Weight::from_ref_time(52_338_000 as u64) + Weight::from_ref_time(52_071_000 as u64) .saturating_add(RocksDbWeight::get().reads(3 as u64)) .saturating_add(RocksDbWeight::get().writes(2 as u64)) } // Storage: Did ServiceEndpoints (r:1 w:1) // Storage: Did DidEndpointsCount (r:1 w:1) fn remove_service_endpoint() -> Weight { - Weight::from_ref_time(45_053_000 as u64) + Weight::from_ref_time(44_962_000 as u64) .saturating_add(RocksDbWeight::get().reads(2 as u64)) .saturating_add(RocksDbWeight::get().writes(2 as u64)) } // Storage: Did Did (r:1 w:0) /// The range of component `l` is `[1, 5242880]`. fn signature_verification_sr25519(l: u32, ) -> Weight { - Weight::from_ref_time(35_292_000 as u64) + Weight::from_ref_time(29_998_000 as u64) // Standard Error: 0 .saturating_add(Weight::from_ref_time(4_000 as u64).saturating_mul(l as u64)) .saturating_add(RocksDbWeight::get().reads(1 as u64)) @@ -613,7 +613,7 @@ impl WeightInfo for () { // Storage: Did Did (r:1 w:0) /// The range of component `l` is `[1, 5242880]`. fn signature_verification_ed25519(l: u32, ) -> Weight { - Weight::from_ref_time(33_666_000 as u64) + Weight::from_ref_time(37_880_000 as u64) // Standard Error: 0 .saturating_add(Weight::from_ref_time(2_000 as u64).saturating_mul(l as u64)) .saturating_add(RocksDbWeight::get().reads(1 as u64)) @@ -621,7 +621,7 @@ impl WeightInfo for () { // Storage: Did Did (r:1 w:0) /// The range of component `l` is `[1, 5242880]`. fn signature_verification_ecdsa(l: u32, ) -> Weight { - Weight::from_ref_time(23_193_000 as u64) + Weight::from_ref_time(20_289_000 as u64) // Standard Error: 0 .saturating_add(Weight::from_ref_time(1_000 as u64).saturating_mul(l as u64)) .saturating_add(RocksDbWeight::get().reads(1 as u64)) @@ -629,15 +629,15 @@ impl WeightInfo for () { // Storage: Did Did (r:1 w:1) // Storage: System Account (r:1 w:1) fn change_deposit_owner() -> Weight { - Weight::from_ref_time(62_213_000 as u64) + Weight::from_ref_time(61_871_000 as u64) .saturating_add(RocksDbWeight::get().reads(2 as u64)) .saturating_add(RocksDbWeight::get().writes(2 as u64)) } // Storage: Did Did (r:1 w:1) // Storage: System Account (r:1 w:1) fn update_deposit() -> Weight { - Weight::from_ref_time(64_533_000 as u64) + Weight::from_ref_time(64_313_000 as u64) .saturating_add(RocksDbWeight::get().reads(2 as u64)) .saturating_add(RocksDbWeight::get().writes(2 as u64)) } -} \ No newline at end of file +} diff --git a/pallets/pallet-did-lookup/src/default_weights.rs b/pallets/pallet-did-lookup/src/default_weights.rs index faae7c0f6..1c1dacc3b 100644 --- a/pallets/pallet-did-lookup/src/default_weights.rs +++ b/pallets/pallet-did-lookup/src/default_weights.rs @@ -19,7 +19,7 @@ //! Autogenerated weights for pallet_did_lookup //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-10-18, STEPS: {{cmd.steps}}\, REPEAT: {{cmd.repeat}}\, LOW RANGE: {{cmd.lowest_range_values}}\, HIGH RANGE: {{cmd.highest_range_values}}\ +//! DATE: 2022-11-07, STEPS: {{cmd.steps}}\, REPEAT: {{cmd.repeat}}\, LOW RANGE: {{cmd.lowest_range_values}}\, HIGH RANGE: {{cmd.highest_range_values}}\ //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024 // Executed Command: @@ -62,7 +62,7 @@ impl WeightInfo for SubstrateWeight { // Storage: DidLookup ConnectedDids (r:1 w:1) // Storage: DidLookup ConnectedAccounts (r:0 w:2) fn associate_account() -> Weight { - Weight::from_ref_time(133_386_000 as u64) + Weight::from_ref_time(133_182_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(4 as u64)) } @@ -70,7 +70,7 @@ impl WeightInfo for SubstrateWeight { // Storage: DidLookup ConnectedDids (r:1 w:1) // Storage: DidLookup ConnectedAccounts (r:0 w:2) fn associate_sender() -> Weight { - Weight::from_ref_time(72_692_000 as u64) + Weight::from_ref_time(72_677_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(4 as u64)) } @@ -78,7 +78,7 @@ impl WeightInfo for SubstrateWeight { // Storage: System Account (r:1 w:1) // Storage: DidLookup ConnectedAccounts (r:0 w:1) fn remove_sender_association() -> Weight { - Weight::from_ref_time(52_441_000 as u64) + Weight::from_ref_time(52_639_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } @@ -86,21 +86,21 @@ impl WeightInfo for SubstrateWeight { // Storage: System Account (r:1 w:1) // Storage: DidLookup ConnectedAccounts (r:0 w:1) fn remove_account_association() -> Weight { - Weight::from_ref_time(54_371_000 as u64) + Weight::from_ref_time(54_561_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } // Storage: DidLookup ConnectedDids (r:1 w:1) // Storage: System Account (r:2 w:2) fn change_deposit_owner() -> Weight { - Weight::from_ref_time(67_853_000 as u64) + Weight::from_ref_time(67_094_000 as u64) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } // Storage: DidLookup ConnectedDids (r:1 w:1) // Storage: System Account (r:1 w:1) fn update_deposit() -> Weight { - Weight::from_ref_time(62_103_000 as u64) + Weight::from_ref_time(60_960_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } @@ -112,7 +112,7 @@ impl WeightInfo for () { // Storage: DidLookup ConnectedDids (r:1 w:1) // Storage: DidLookup ConnectedAccounts (r:0 w:2) fn associate_account() -> Weight { - Weight::from_ref_time(133_386_000 as u64) + Weight::from_ref_time(133_182_000 as u64) .saturating_add(RocksDbWeight::get().reads(2 as u64)) .saturating_add(RocksDbWeight::get().writes(4 as u64)) } @@ -120,7 +120,7 @@ impl WeightInfo for () { // Storage: DidLookup ConnectedDids (r:1 w:1) // Storage: DidLookup ConnectedAccounts (r:0 w:2) fn associate_sender() -> Weight { - Weight::from_ref_time(72_692_000 as u64) + Weight::from_ref_time(72_677_000 as u64) .saturating_add(RocksDbWeight::get().reads(2 as u64)) .saturating_add(RocksDbWeight::get().writes(4 as u64)) } @@ -128,7 +128,7 @@ impl WeightInfo for () { // Storage: System Account (r:1 w:1) // Storage: DidLookup ConnectedAccounts (r:0 w:1) fn remove_sender_association() -> Weight { - Weight::from_ref_time(52_441_000 as u64) + Weight::from_ref_time(52_639_000 as u64) .saturating_add(RocksDbWeight::get().reads(2 as u64)) .saturating_add(RocksDbWeight::get().writes(3 as u64)) } @@ -136,22 +136,22 @@ impl WeightInfo for () { // Storage: System Account (r:1 w:1) // Storage: DidLookup ConnectedAccounts (r:0 w:1) fn remove_account_association() -> Weight { - Weight::from_ref_time(54_371_000 as u64) + Weight::from_ref_time(54_561_000 as u64) .saturating_add(RocksDbWeight::get().reads(2 as u64)) .saturating_add(RocksDbWeight::get().writes(3 as u64)) } // Storage: DidLookup ConnectedDids (r:1 w:1) // Storage: System Account (r:2 w:2) fn change_deposit_owner() -> Weight { - Weight::from_ref_time(67_853_000 as u64) + Weight::from_ref_time(67_094_000 as u64) .saturating_add(RocksDbWeight::get().reads(3 as u64)) .saturating_add(RocksDbWeight::get().writes(3 as u64)) } // Storage: DidLookup ConnectedDids (r:1 w:1) // Storage: System Account (r:1 w:1) fn update_deposit() -> Weight { - Weight::from_ref_time(62_103_000 as u64) + Weight::from_ref_time(60_960_000 as u64) .saturating_add(RocksDbWeight::get().reads(2 as u64)) .saturating_add(RocksDbWeight::get().writes(2 as u64)) } -} \ No newline at end of file +} diff --git a/pallets/pallet-inflation/src/default_weights.rs b/pallets/pallet-inflation/src/default_weights.rs index 70dd8d9c3..83e4ea08a 100644 --- a/pallets/pallet-inflation/src/default_weights.rs +++ b/pallets/pallet-inflation/src/default_weights.rs @@ -19,7 +19,7 @@ //! Autogenerated weights for pallet_inflation //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-10-18, STEPS: {{cmd.steps}}\, REPEAT: {{cmd.repeat}}\, LOW RANGE: {{cmd.lowest_range_values}}\, HIGH RANGE: {{cmd.highest_range_values}}\ +//! DATE: 2022-11-07, STEPS: {{cmd.steps}}\, REPEAT: {{cmd.repeat}}\, LOW RANGE: {{cmd.lowest_range_values}}\, HIGH RANGE: {{cmd.highest_range_values}}\ //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024 // Executed Command: @@ -56,12 +56,12 @@ pub struct SubstrateWeight(PhantomData); impl WeightInfo for SubstrateWeight { // Storage: System Account (r:1 w:1) fn on_initialize_mint_to_treasury() -> Weight { - Weight::from_ref_time(36_843_000 as u64) + Weight::from_ref_time(37_539_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } fn on_initialize_no_action() -> Weight { - Weight::from_ref_time(257_000 as u64) + Weight::from_ref_time(293_000 as u64) } } @@ -69,11 +69,11 @@ impl WeightInfo for SubstrateWeight { impl WeightInfo for () { // Storage: System Account (r:1 w:1) fn on_initialize_mint_to_treasury() -> Weight { - Weight::from_ref_time(36_843_000 as u64) + Weight::from_ref_time(37_539_000 as u64) .saturating_add(RocksDbWeight::get().reads(1 as u64)) .saturating_add(RocksDbWeight::get().writes(1 as u64)) } fn on_initialize_no_action() -> Weight { - Weight::from_ref_time(257_000 as u64) + Weight::from_ref_time(293_000 as u64) } -} \ No newline at end of file +} diff --git a/pallets/pallet-web3-names/src/default_weights.rs b/pallets/pallet-web3-names/src/default_weights.rs index ef3e8ee4e..d330a908f 100644 --- a/pallets/pallet-web3-names/src/default_weights.rs +++ b/pallets/pallet-web3-names/src/default_weights.rs @@ -19,7 +19,7 @@ //! Autogenerated weights for pallet_web3_names //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-10-26, STEPS: {{cmd.steps}}\, REPEAT: {{cmd.repeat}}\, LOW RANGE: {{cmd.lowest_range_values}}\, HIGH RANGE: {{cmd.highest_range_values}}\ +//! DATE: 2022-11-07, STEPS: {{cmd.steps}}\, REPEAT: {{cmd.repeat}}\, LOW RANGE: {{cmd.lowest_range_values}}\, HIGH RANGE: {{cmd.highest_range_values}}\ //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024 // Executed Command: @@ -65,9 +65,9 @@ impl WeightInfo for SubstrateWeight { // Storage: System Account (r:1 w:1) /// The range of component `n` is `[3, 32]`. fn claim(n: u32, ) -> Weight { - Weight::from_ref_time(59_454_000 as u64) - // Standard Error: 3_000 - .saturating_add(Weight::from_ref_time(23_000 as u64).saturating_mul(n as u64)) + Weight::from_ref_time(58_711_000 as u64) + // Standard Error: 2_000 + .saturating_add(Weight::from_ref_time(10_000 as u64).saturating_mul(n as u64)) .saturating_add(T::DbWeight::get().reads(4 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } @@ -75,7 +75,7 @@ impl WeightInfo for SubstrateWeight { // Storage: Web3Names Owner (r:1 w:1) // Storage: System Account (r:1 w:1) fn release_by_owner() -> Weight { - Weight::from_ref_time(57_004_000 as u64) + Weight::from_ref_time(56_091_000 as u64) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } @@ -84,9 +84,9 @@ impl WeightInfo for SubstrateWeight { // Storage: Web3Names Names (r:0 w:1) /// The range of component `n` is `[3, 32]`. fn reclaim_deposit(n: u32, ) -> Weight { - Weight::from_ref_time(53_009_000 as u64) + Weight::from_ref_time(52_014_000 as u64) // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(25_000 as u64).saturating_mul(n as u64)) + .saturating_add(Weight::from_ref_time(32_000 as u64).saturating_mul(n as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } @@ -96,18 +96,18 @@ impl WeightInfo for SubstrateWeight { // Storage: Web3Names Names (r:0 w:1) /// The range of component `n` is `[3, 32]`. fn ban(n: u32, ) -> Weight { - Weight::from_ref_time(57_921_000 as u64) - // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(40_000 as u64).saturating_mul(n as u64)) + Weight::from_ref_time(56_989_000 as u64) + // Standard Error: 2_000 + .saturating_add(Weight::from_ref_time(37_000 as u64).saturating_mul(n as u64)) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(4 as u64)) } // Storage: Web3Names Banned (r:1 w:1) /// The range of component `n` is `[3, 32]`. fn unban(n: u32, ) -> Weight { - Weight::from_ref_time(31_647_000 as u64) + Weight::from_ref_time(31_185_000 as u64) // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(44_000 as u64).saturating_mul(n as u64)) + .saturating_add(Weight::from_ref_time(40_000 as u64).saturating_mul(n as u64)) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } @@ -115,14 +115,14 @@ impl WeightInfo for SubstrateWeight { // Storage: Web3Names Owner (r:1 w:1) // Storage: System Account (r:2 w:2) fn change_deposit_owner() -> Weight { - Weight::from_ref_time(69_614_000 as u64) + Weight::from_ref_time(69_280_000 as u64) .saturating_add(T::DbWeight::get().reads(4 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } // Storage: Web3Names Owner (r:1 w:1) // Storage: System Account (r:1 w:1) fn update_deposit() -> Weight { - Weight::from_ref_time(61_177_000 as u64) + Weight::from_ref_time(60_896_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } @@ -136,9 +136,9 @@ impl WeightInfo for () { // Storage: System Account (r:1 w:1) /// The range of component `n` is `[3, 32]`. fn claim(n: u32, ) -> Weight { - Weight::from_ref_time(59_454_000 as u64) - // Standard Error: 3_000 - .saturating_add(Weight::from_ref_time(23_000 as u64).saturating_mul(n as u64)) + Weight::from_ref_time(58_711_000 as u64) + // Standard Error: 2_000 + .saturating_add(Weight::from_ref_time(10_000 as u64).saturating_mul(n as u64)) .saturating_add(RocksDbWeight::get().reads(4 as u64)) .saturating_add(RocksDbWeight::get().writes(3 as u64)) } @@ -146,7 +146,7 @@ impl WeightInfo for () { // Storage: Web3Names Owner (r:1 w:1) // Storage: System Account (r:1 w:1) fn release_by_owner() -> Weight { - Weight::from_ref_time(57_004_000 as u64) + Weight::from_ref_time(56_091_000 as u64) .saturating_add(RocksDbWeight::get().reads(3 as u64)) .saturating_add(RocksDbWeight::get().writes(3 as u64)) } @@ -155,9 +155,9 @@ impl WeightInfo for () { // Storage: Web3Names Names (r:0 w:1) /// The range of component `n` is `[3, 32]`. fn reclaim_deposit(n: u32, ) -> Weight { - Weight::from_ref_time(53_009_000 as u64) + Weight::from_ref_time(52_014_000 as u64) // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(25_000 as u64).saturating_mul(n as u64)) + .saturating_add(Weight::from_ref_time(32_000 as u64).saturating_mul(n as u64)) .saturating_add(RocksDbWeight::get().reads(2 as u64)) .saturating_add(RocksDbWeight::get().writes(3 as u64)) } @@ -167,18 +167,18 @@ impl WeightInfo for () { // Storage: Web3Names Names (r:0 w:1) /// The range of component `n` is `[3, 32]`. fn ban(n: u32, ) -> Weight { - Weight::from_ref_time(57_921_000 as u64) - // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(40_000 as u64).saturating_mul(n as u64)) + Weight::from_ref_time(56_989_000 as u64) + // Standard Error: 2_000 + .saturating_add(Weight::from_ref_time(37_000 as u64).saturating_mul(n as u64)) .saturating_add(RocksDbWeight::get().reads(3 as u64)) .saturating_add(RocksDbWeight::get().writes(4 as u64)) } // Storage: Web3Names Banned (r:1 w:1) /// The range of component `n` is `[3, 32]`. fn unban(n: u32, ) -> Weight { - Weight::from_ref_time(31_647_000 as u64) + Weight::from_ref_time(31_185_000 as u64) // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(44_000 as u64).saturating_mul(n as u64)) + .saturating_add(Weight::from_ref_time(40_000 as u64).saturating_mul(n as u64)) .saturating_add(RocksDbWeight::get().reads(1 as u64)) .saturating_add(RocksDbWeight::get().writes(1 as u64)) } @@ -186,15 +186,15 @@ impl WeightInfo for () { // Storage: Web3Names Owner (r:1 w:1) // Storage: System Account (r:2 w:2) fn change_deposit_owner() -> Weight { - Weight::from_ref_time(69_614_000 as u64) + Weight::from_ref_time(69_280_000 as u64) .saturating_add(RocksDbWeight::get().reads(4 as u64)) .saturating_add(RocksDbWeight::get().writes(3 as u64)) } // Storage: Web3Names Owner (r:1 w:1) // Storage: System Account (r:1 w:1) fn update_deposit() -> Weight { - Weight::from_ref_time(61_177_000 as u64) + Weight::from_ref_time(60_896_000 as u64) .saturating_add(RocksDbWeight::get().reads(2 as u64)) .saturating_add(RocksDbWeight::get().writes(2 as u64)) } -} \ No newline at end of file +} diff --git a/pallets/parachain-staking/src/default_weights.rs b/pallets/parachain-staking/src/default_weights.rs index 3aeb2e585..970f026e4 100644 --- a/pallets/parachain-staking/src/default_weights.rs +++ b/pallets/parachain-staking/src/default_weights.rs @@ -19,13 +19,14 @@ //! Autogenerated weights for parachain_staking //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-02-14, STEPS: {{cmd.steps}}\, REPEAT: {{cmd.repeat}}\, LOW RANGE: {{cmd.lowest_range_values}}\, HIGH RANGE: {{cmd.highest_range_values}}\ -//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("spiritnet-dev"), DB CACHE: 1024 +//! DATE: 2022-11-07, STEPS: {{cmd.steps}}\, REPEAT: {{cmd.repeat}}\, LOW RANGE: {{cmd.lowest_range_values}}\, HIGH RANGE: {{cmd.highest_range_values}}\ +//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024 // Executed Command: -// target/release/kilt-parachain +// ./target/release/kilt-parachain // benchmark -// --chain=spiritnet-dev +// pallet +// --chain=dev // --steps=50 // --repeat=20 // --pallet=parachain-staking @@ -33,7 +34,7 @@ // --execution=wasm // --wasm-execution=compiled // --heap-pages=4096 -// --output=pallets/parachain-staking/src/default_weights.rs +// --output=./pallets/parachain-staking/src/default_weights.rs // --template=.maintain/weight-template.hbs #![cfg_attr(rustfmt, rustfmt_skip)] @@ -50,7 +51,7 @@ pub trait WeightInfo { fn on_initialize_round_update() -> Weight; fn on_initialize_network_rewards() -> Weight; fn force_new_round() -> Weight; - fn set_inflation(n: u32, m:u32 ) -> Weight; + fn set_inflation(n: u32, m: u32, ) -> Weight; fn set_max_selected_candidates(n: u32, m: u32, ) -> Weight; fn set_blocks_per_round() -> Weight; fn force_remove_candidate(n: u32, m: u32, ) -> Weight; @@ -74,79 +75,83 @@ pub trait WeightInfo { /// Weights for parachain_staking using the Substrate node and recommended hardware. pub struct SubstrateWeight(PhantomData); -impl WeightInfo for SubstrateWeight {// KILT Blockchain – https://botlabs.org +impl WeightInfo for SubstrateWeight { // Storage: ParachainStaking Round (r:1 w:0) fn on_initialize_no_action() -> Weight { - Weight::from_ref_time(3_103_000 as u64) + Weight::from_ref_time(7_687_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) } // Storage: ParachainStaking Round (r:1 w:1) fn on_initialize_round_update() -> Weight { - Weight::from_ref_time(23_755_000 as u64) + Weight::from_ref_time(22_824_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: ParachainStaking Round (r:1 w:1) - // Storage: ParachainStaking LastRewardReduction (r:1 w:1) - // Storage: ParachainStaking InflationConfig (r:1 w:1) + // Storage: ParachainStaking InflationConfig (r:1 w:0) // Storage: ParachainStaking MaxCollatorCandidateStake (r:1 w:0) // Storage: ParachainStaking MaxSelectedCandidates (r:1 w:0) // Storage: System Account (r:1 w:1) fn on_initialize_network_rewards() -> Weight { - Weight::from_ref_time(69_582_000 as u64) - .saturating_add(T::DbWeight::get().reads(6 as u64)) - .saturating_add(T::DbWeight::get().writes(4 as u64)) + Weight::from_ref_time(57_477_000 as u64) + .saturating_add(T::DbWeight::get().reads(5 as u64)) + .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: ParachainStaking ForceNewRound (r:0 w:1) fn force_new_round() -> Weight { - Weight::from_ref_time(8_791_000 as u64) + Weight::from_ref_time(8_703_000 as u64) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: ParachainStaking CandidatePool (r:3 w:0) - // Storage: ParachainStaking RewardCount (r:72 w:72) - // Storage: ParachainStaking Rewards (r:2 w:2) + // Storage: ParachainStaking BlocksAuthored (r:2 w:0) + // Storage: ParachainStaking BlocksRewarded (r:72 w:72) + // Storage: ParachainStaking Rewards (r:72 w:72) // Storage: ParachainStaking TotalCollatorStake (r:1 w:0) // Storage: ParachainStaking InflationConfig (r:1 w:1) + // Storage: ParachainStaking CounterForCandidatePool (r:1 w:0) /// The range of component `n` is `[0, 75]`. /// The range of component `m` is `[0, 35]`. fn set_inflation(n: u32, m: u32, ) -> Weight { Weight::from_ref_time(0 as u64) - // Standard Error: 3_005_000 - .saturating_add(Weight::from_ref_time(216_364_000 as u64).saturating_mul(n as u64)) - // Standard Error: 6_440_000 - .saturating_add(Weight::from_ref_time(440_763_000 as u64).saturating_mul(m as u64)) - .saturating_add(T::DbWeight::get().reads((37 as u64).saturating_mul(n as u64))) - .saturating_add(T::DbWeight::get().reads((75 as u64).saturating_mul(m as u64))) - .saturating_add(T::DbWeight::get().writes((36 as u64).saturating_mul(n as u64))) - .saturating_add(T::DbWeight::get().writes((75 as u64).saturating_mul(m as u64))) + // Standard Error: 725_000 + .saturating_add(Weight::from_ref_time(503_847_000 as u64).saturating_mul(n as u64)) + // Standard Error: 1_542_000 + .saturating_add(Weight::from_ref_time(1_032_264_000 as u64).saturating_mul(m as u64)) + .saturating_add(T::DbWeight::get().reads((74 as u64).saturating_mul(n as u64))) + .saturating_add(T::DbWeight::get().reads((150 as u64).saturating_mul(m as u64))) + .saturating_add(T::DbWeight::get().writes((72 as u64).saturating_mul(n as u64))) + .saturating_add(T::DbWeight::get().writes((150 as u64).saturating_mul(m as u64))) } // Storage: ParachainStaking MaxSelectedCandidates (r:1 w:1) // Storage: ParachainStaking TopCandidates (r:1 w:0) // Storage: ParachainStaking TotalCollatorStake (r:1 w:1) // Storage: ParachainStaking CandidatePool (r:1 w:0) + /// The range of component `n` is `[16, 75]`. + /// The range of component `m` is `[0, 35]`. fn set_max_selected_candidates(n: u32, m: u32, ) -> Weight { Weight::from_ref_time(0 as u64) - // Standard Error: 161_000 - .saturating_add(Weight::from_ref_time(19_480_000 as u64).saturating_mul(n as u64)) - // Standard Error: 270_000 - .saturating_add(Weight::from_ref_time(28_745_000 as u64).saturating_mul(m as u64)) + // Standard Error: 245_000 + .saturating_add(Weight::from_ref_time(26_950_000 as u64).saturating_mul(n as u64)) + // Standard Error: 412_000 + .saturating_add(Weight::from_ref_time(42_580_000 as u64).saturating_mul(m as u64)) .saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(n as u64))) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: ParachainStaking Round (r:1 w:1) fn set_blocks_per_round() -> Weight { - Weight::from_ref_time(30_326_000 as u64) + Weight::from_ref_time(29_360_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: ParachainStaking CandidatePool (r:17 w:1) // Storage: ParachainStaking TopCandidates (r:1 w:1) - // Storage: ParachainStaking Unstaking (r:36 w:36) - // Storage: ParachainStaking DelegatorState (r:35 w:35) - // Storage: ParachainStaking RewardCount (r:36 w:36) - // Storage: ParachainStaking Rewards (r:1 w:1) + // Storage: ParachainStaking BlocksAuthored (r:1 w:1) + // Storage: ParachainStaking BlocksRewarded (r:36 w:36) + // Storage: ParachainStaking Rewards (r:36 w:36) // Storage: ParachainStaking TotalCollatorStake (r:1 w:1) // Storage: ParachainStaking InflationConfig (r:1 w:0) + // Storage: ParachainStaking Unstaking (r:36 w:36) + // Storage: ParachainStaking DelegatorState (r:35 w:35) // Storage: Session Validators (r:1 w:0) // Storage: Session DisabledValidators (r:1 w:1) // Storage: System Digest (r:1 w:1) @@ -156,14 +161,14 @@ impl WeightInfo for SubstrateWeight {// KILT Blockch /// The range of component `m` is `[0, 35]`. fn force_remove_candidate(n: u32, m: u32, ) -> Weight { Weight::from_ref_time(0 as u64) - // Standard Error: 169_000 - .saturating_add(Weight::from_ref_time(17_230_000 as u64).saturating_mul(n as u64)) - // Standard Error: 279_000 - .saturating_add(Weight::from_ref_time(46_081_000 as u64).saturating_mul(m as u64)) - .saturating_add(T::DbWeight::get().reads(25 as u64)) - .saturating_add(T::DbWeight::get().reads((2 as u64).saturating_mul(m as u64))) - .saturating_add(T::DbWeight::get().writes(7 as u64)) - .saturating_add(T::DbWeight::get().writes((2 as u64).saturating_mul(m as u64))) + // Standard Error: 238_000 + .saturating_add(Weight::from_ref_time(27_688_000 as u64).saturating_mul(n as u64)) + // Standard Error: 393_000 + .saturating_add(Weight::from_ref_time(78_182_000 as u64).saturating_mul(m as u64)) + .saturating_add(T::DbWeight::get().reads(29 as u64)) + .saturating_add(T::DbWeight::get().reads((4 as u64).saturating_mul(m as u64))) + .saturating_add(T::DbWeight::get().writes(10 as u64)) + .saturating_add(T::DbWeight::get().writes((4 as u64).saturating_mul(m as u64))) } // Storage: ParachainStaking CandidatePool (r:1 w:1) // Storage: ParachainStaking DelegatorState (r:1 w:0) @@ -179,10 +184,10 @@ impl WeightInfo for SubstrateWeight {// KILT Blockch /// The range of component `m` is `[0, 35]`. fn join_candidates(n: u32, m: u32, ) -> Weight { Weight::from_ref_time(0 as u64) - // Standard Error: 148_000 - .saturating_add(Weight::from_ref_time(14_141_000 as u64).saturating_mul(n as u64)) - // Standard Error: 307_000 - .saturating_add(Weight::from_ref_time(28_608_000 as u64).saturating_mul(m as u64)) + // Standard Error: 225_000 + .saturating_add(Weight::from_ref_time(22_116_000 as u64).saturating_mul(n as u64)) + // Standard Error: 468_000 + .saturating_add(Weight::from_ref_time(45_139_000 as u64).saturating_mul(m as u64)) .saturating_add(T::DbWeight::get().reads(10 as u64)) .saturating_add(T::DbWeight::get().writes(7 as u64)) } @@ -195,10 +200,10 @@ impl WeightInfo for SubstrateWeight {// KILT Blockch /// The range of component `m` is `[0, 35]`. fn init_leave_candidates(n: u32, m: u32, ) -> Weight { Weight::from_ref_time(0 as u64) - // Standard Error: 169_000 - .saturating_add(Weight::from_ref_time(17_942_000 as u64).saturating_mul(n as u64)) - // Standard Error: 275_000 - .saturating_add(Weight::from_ref_time(32_999_000 as u64).saturating_mul(m as u64)) + // Standard Error: 253_000 + .saturating_add(Weight::from_ref_time(27_095_000 as u64).saturating_mul(n as u64)) + // Standard Error: 410_000 + .saturating_add(Weight::from_ref_time(50_128_000 as u64).saturating_mul(m as u64)) .saturating_add(T::DbWeight::get().reads(21 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } @@ -210,35 +215,38 @@ impl WeightInfo for SubstrateWeight {// KILT Blockch /// The range of component `m` is `[0, 35]`. fn cancel_leave_candidates(n: u32, m: u32, ) -> Weight { Weight::from_ref_time(0 as u64) - // Standard Error: 181_000 - .saturating_add(Weight::from_ref_time(18_181_000 as u64).saturating_mul(n as u64)) - // Standard Error: 294_000 - .saturating_add(Weight::from_ref_time(33_461_000 as u64).saturating_mul(m as u64)) + // Standard Error: 262_000 + .saturating_add(Weight::from_ref_time(27_719_000 as u64).saturating_mul(n as u64)) + // Standard Error: 426_000 + .saturating_add(Weight::from_ref_time(51_151_000 as u64).saturating_mul(m as u64)) .saturating_add(T::DbWeight::get().reads(5 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } // Storage: ParachainStaking CandidatePool (r:1 w:1) // Storage: ParachainStaking Round (r:1 w:0) - // Storage: ParachainStaking Unstaking (r:36 w:36) - // Storage: ParachainStaking DelegatorState (r:35 w:35) - // Storage: ParachainStaking RewardCount (r:36 w:36) - // Storage: ParachainStaking Rewards (r:1 w:1) + // Storage: ParachainStaking BlocksAuthored (r:1 w:1) + // Storage: ParachainStaking BlocksRewarded (r:36 w:36) + // Storage: ParachainStaking Rewards (r:36 w:36) // Storage: ParachainStaking TotalCollatorStake (r:1 w:0) // Storage: ParachainStaking InflationConfig (r:1 w:0) + // Storage: ParachainStaking Unstaking (r:36 w:36) + // Storage: ParachainStaking DelegatorState (r:35 w:35) // Storage: Session Validators (r:1 w:0) // Storage: Session DisabledValidators (r:1 w:1) // Storage: System Digest (r:1 w:1) // Storage: ParachainStaking CounterForCandidatePool (r:1 w:1) + /// The range of component `n` is `[17, 74]`. + /// The range of component `m` is `[0, 35]`. fn execute_leave_candidates(n: u32, m: u32, ) -> Weight { Weight::from_ref_time(0 as u64) - // Standard Error: 177_000 - .saturating_add(Weight::from_ref_time(20_987_000 as u64).saturating_mul(n as u64)) - // Standard Error: 288_000 - .saturating_add(Weight::from_ref_time(53_291_000 as u64).saturating_mul(m as u64)) - .saturating_add(T::DbWeight::get().reads(7 as u64)) - .saturating_add(T::DbWeight::get().reads((2 as u64).saturating_mul(m as u64))) - .saturating_add(T::DbWeight::get().writes(5 as u64)) - .saturating_add(T::DbWeight::get().writes((2 as u64).saturating_mul(m as u64))) + // Standard Error: 246_000 + .saturating_add(Weight::from_ref_time(31_941_000 as u64).saturating_mul(n as u64)) + // Standard Error: 400_000 + .saturating_add(Weight::from_ref_time(87_138_000 as u64).saturating_mul(m as u64)) + .saturating_add(T::DbWeight::get().reads(12 as u64)) + .saturating_add(T::DbWeight::get().reads((4 as u64).saturating_mul(m as u64))) + .saturating_add(T::DbWeight::get().writes(8 as u64)) + .saturating_add(T::DbWeight::get().writes((4 as u64).saturating_mul(m as u64))) } // Storage: ParachainStaking CandidatePool (r:1 w:1) // Storage: ParachainStaking MaxCollatorCandidateStake (r:1 w:0) @@ -248,33 +256,41 @@ impl WeightInfo for SubstrateWeight {// KILT Blockch // Storage: ParachainStaking TopCandidates (r:1 w:1) // Storage: ParachainStaking MaxSelectedCandidates (r:1 w:0) // Storage: ParachainStaking TotalCollatorStake (r:1 w:1) + // Storage: ParachainStaking BlocksAuthored (r:1 w:0) + // Storage: ParachainStaking BlocksRewarded (r:1 w:1) + // Storage: ParachainStaking Rewards (r:1 w:1) + // Storage: ParachainStaking InflationConfig (r:1 w:0) + /// The range of component `n` is `[1, 74]`. + /// The range of component `m` is `[0, 35]`. + /// The range of component `u` is `[0, 9]`. fn candidate_stake_more(n: u32, m: u32, _u: u32, ) -> Weight { Weight::from_ref_time(0 as u64) - // Standard Error: 146_000 - .saturating_add(Weight::from_ref_time(19_044_000 as u64).saturating_mul(n as u64)) - // Standard Error: 304_000 - .saturating_add(Weight::from_ref_time(39_101_000 as u64).saturating_mul(m as u64)) - .saturating_add(T::DbWeight::get().reads(8 as u64)) - .saturating_add(T::DbWeight::get().writes(6 as u64)) + // Standard Error: 198_000 + .saturating_add(Weight::from_ref_time(28_533_000 as u64).saturating_mul(n as u64)) + // Standard Error: 412_000 + .saturating_add(Weight::from_ref_time(58_754_000 as u64).saturating_mul(m as u64)) + .saturating_add(T::DbWeight::get().reads(12 as u64)) + .saturating_add(T::DbWeight::get().writes(8 as u64)) } // Storage: ParachainStaking CandidatePool (r:1 w:1) // Storage: ParachainStaking Unstaking (r:1 w:1) // Storage: ParachainStaking TopCandidates (r:1 w:1) // Storage: ParachainStaking MaxSelectedCandidates (r:1 w:0) // Storage: ParachainStaking TotalCollatorStake (r:1 w:1) - // Storage: ParachainStaking RewardCount (r:36 w:36) + // Storage: ParachainStaking BlocksAuthored (r:1 w:0) + // Storage: ParachainStaking BlocksRewarded (r:1 w:1) // Storage: ParachainStaking Rewards (r:1 w:1) // Storage: ParachainStaking InflationConfig (r:1 w:0) /// The range of component `n` is `[1, 74]`. /// The range of component `m` is `[0, 35]`. fn candidate_stake_less(n: u32, m: u32, ) -> Weight { Weight::from_ref_time(0 as u64) - // Standard Error: 165_000 - .saturating_add(Weight::from_ref_time(17_769_000 as u64).saturating_mul(n as u64)) - // Standard Error: 342_000 - .saturating_add(Weight::from_ref_time(36_575_000 as u64).saturating_mul(m as u64)) - .saturating_add(T::DbWeight::get().reads(5 as u64)) - .saturating_add(T::DbWeight::get().writes(4 as u64)) + // Standard Error: 238_000 + .saturating_add(Weight::from_ref_time(27_302_000 as u64).saturating_mul(n as u64)) + // Standard Error: 494_000 + .saturating_add(Weight::from_ref_time(56_407_000 as u64).saturating_mul(m as u64)) + .saturating_add(T::DbWeight::get().reads(9 as u64)) + .saturating_add(T::DbWeight::get().writes(6 as u64)) } // Storage: System Account (r:1 w:1) // Storage: ParachainStaking DelegatorState (r:1 w:1) @@ -286,17 +302,18 @@ impl WeightInfo for SubstrateWeight {// KILT Blockch // Storage: ParachainStaking TopCandidates (r:1 w:1) // Storage: ParachainStaking MaxSelectedCandidates (r:1 w:0) // Storage: ParachainStaking TotalCollatorStake (r:1 w:1) - // Storage: ParachainStaking RewardCount (r:1 w:1) + // Storage: ParachainStaking BlocksAuthored (r:1 w:0) + // Storage: ParachainStaking BlocksRewarded (r:0 w:1) /// The range of component `n` is `[1, 75]`. /// The range of component `m` is `[1, 34]`. fn join_delegators(n: u32, m: u32, ) -> Weight { Weight::from_ref_time(0 as u64) - // Standard Error: 154_000 - .saturating_add(Weight::from_ref_time(17_571_000 as u64).saturating_mul(n as u64)) - // Standard Error: 343_000 - .saturating_add(Weight::from_ref_time(38_223_000 as u64).saturating_mul(m as u64)) - .saturating_add(T::DbWeight::get().reads(11 as u64)) - .saturating_add(T::DbWeight::get().writes(8 as u64)) + // Standard Error: 222_000 + .saturating_add(Weight::from_ref_time(26_756_000 as u64).saturating_mul(n as u64)) + // Standard Error: 493_000 + .saturating_add(Weight::from_ref_time(58_560_000 as u64).saturating_mul(m as u64)) + .saturating_add(T::DbWeight::get().reads(12 as u64)) + .saturating_add(T::DbWeight::get().writes(9 as u64)) } // Storage: ParachainStaking DelegatorState (r:1 w:1) // Storage: ParachainStaking CandidatePool (r:1 w:1) @@ -306,14 +323,21 @@ impl WeightInfo for SubstrateWeight {// KILT Blockch // Storage: ParachainStaking TopCandidates (r:1 w:1) // Storage: ParachainStaking MaxSelectedCandidates (r:1 w:0) // Storage: ParachainStaking TotalCollatorStake (r:1 w:1) + // Storage: ParachainStaking BlocksAuthored (r:1 w:0) + // Storage: ParachainStaking BlocksRewarded (r:1 w:1) + // Storage: ParachainStaking Rewards (r:1 w:1) + // Storage: ParachainStaking InflationConfig (r:1 w:0) + /// The range of component `n` is `[1, 75]`. + /// The range of component `m` is `[1, 34]`. + /// The range of component `u` is `[1, 9]`. fn delegator_stake_more(n: u32, m: u32, _u: u32, ) -> Weight { Weight::from_ref_time(0 as u64) - // Standard Error: 133_000 - .saturating_add(Weight::from_ref_time(18_815_000 as u64).saturating_mul(n as u64)) - // Standard Error: 295_000 - .saturating_add(Weight::from_ref_time(40_803_000 as u64).saturating_mul(m as u64)) - .saturating_add(T::DbWeight::get().reads(8 as u64)) - .saturating_add(T::DbWeight::get().writes(7 as u64)) + // Standard Error: 184_000 + .saturating_add(Weight::from_ref_time(28_310_000 as u64).saturating_mul(n as u64)) + // Standard Error: 409_000 + .saturating_add(Weight::from_ref_time(61_656_000 as u64).saturating_mul(m as u64)) + .saturating_add(T::DbWeight::get().reads(12 as u64)) + .saturating_add(T::DbWeight::get().writes(9 as u64)) } // Storage: ParachainStaking DelegatorState (r:1 w:1) // Storage: ParachainStaking CandidatePool (r:1 w:1) @@ -321,175 +345,188 @@ impl WeightInfo for SubstrateWeight {// KILT Blockch // Storage: ParachainStaking TopCandidates (r:1 w:1) // Storage: ParachainStaking MaxSelectedCandidates (r:1 w:0) // Storage: ParachainStaking TotalCollatorStake (r:1 w:1) - // Storage: ParachainStaking RewardCount (r:2 w:0) + // Storage: ParachainStaking BlocksAuthored (r:1 w:0) + // Storage: ParachainStaking BlocksRewarded (r:1 w:1) + // Storage: ParachainStaking Rewards (r:1 w:1) + // Storage: ParachainStaking InflationConfig (r:1 w:0) /// The range of component `n` is `[1, 75]`. /// The range of component `m` is `[1, 34]`. fn delegator_stake_less(n: u32, m: u32, ) -> Weight { Weight::from_ref_time(0 as u64) - // Standard Error: 153_000 - .saturating_add(Weight::from_ref_time(17_715_000 as u64).saturating_mul(n as u64)) - // Standard Error: 341_000 - .saturating_add(Weight::from_ref_time(38_327_000 as u64).saturating_mul(m as u64)) - .saturating_add(T::DbWeight::get().reads(6 as u64)) - .saturating_add(T::DbWeight::get().writes(5 as u64)) + // Standard Error: 231_000 + .saturating_add(Weight::from_ref_time(27_176_000 as u64).saturating_mul(n as u64)) + // Standard Error: 515_000 + .saturating_add(Weight::from_ref_time(59_103_000 as u64).saturating_mul(m as u64)) + .saturating_add(T::DbWeight::get().reads(10 as u64)) + .saturating_add(T::DbWeight::get().writes(7 as u64)) } // Storage: ParachainStaking DelegatorState (r:1 w:1) // Storage: ParachainStaking CandidatePool (r:1 w:1) - // Storage: ParachainStaking RewardCount (r:2 w:0) + // Storage: ParachainStaking BlocksAuthored (r:1 w:0) + // Storage: ParachainStaking BlocksRewarded (r:1 w:1) + // Storage: ParachainStaking Rewards (r:1 w:1) + // Storage: ParachainStaking TotalCollatorStake (r:1 w:1) + // Storage: ParachainStaking InflationConfig (r:1 w:0) // Storage: ParachainStaking Unstaking (r:1 w:1) // Storage: ParachainStaking TopCandidates (r:1 w:1) // Storage: ParachainStaking MaxSelectedCandidates (r:1 w:0) - // Storage: ParachainStaking TotalCollatorStake (r:1 w:1) /// The range of component `n` is `[1, 75]`. /// The range of component `m` is `[1, 34]`. fn leave_delegators(n: u32, m: u32, ) -> Weight { Weight::from_ref_time(0 as u64) - // Standard Error: 153_000 - .saturating_add(Weight::from_ref_time(18_270_000 as u64).saturating_mul(n as u64)) - // Standard Error: 341_000 - .saturating_add(Weight::from_ref_time(39_114_000 as u64).saturating_mul(m as u64)) - .saturating_add(T::DbWeight::get().reads(6 as u64)) - .saturating_add(T::DbWeight::get().writes(5 as u64)) + // Standard Error: 225_000 + .saturating_add(Weight::from_ref_time(27_268_000 as u64).saturating_mul(n as u64)) + // Standard Error: 500_000 + .saturating_add(Weight::from_ref_time(59_282_000 as u64).saturating_mul(m as u64)) + .saturating_add(T::DbWeight::get().reads(10 as u64)) + .saturating_add(T::DbWeight::get().writes(7 as u64)) } // Storage: ParachainStaking Unstaking (r:1 w:1) // Storage: Balances Locks (r:1 w:1) // Storage: System Account (r:1 w:1) + /// The range of component `u` is `[1, 9]`. fn unlock_unstaked(u: u32, ) -> Weight { - Weight::from_ref_time(58_250_000 as u64) - // Standard Error: 10_000 - .saturating_add(Weight::from_ref_time(249_000 as u64).saturating_mul(u as u64)) + Weight::from_ref_time(56_797_000 as u64) + // Standard Error: 12_000 + .saturating_add(Weight::from_ref_time(274_000 as u64).saturating_mul(u as u64)) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } // Storage: ParachainStaking MaxCollatorCandidateStake (r:0 w:1) fn set_max_candidate_stake() -> Weight { - Weight::from_ref_time(23_094_000 as u64) + Weight::from_ref_time(23_858_000 as u64) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: ParachainStaking DelegatorState (r:1 w:0) - // Storage: ParachainStaking RewardCount (r:2 w:1) + // Storage: ParachainStaking BlocksAuthored (r:1 w:0) + // Storage: ParachainStaking BlocksRewarded (r:1 w:1) // Storage: ParachainStaking Rewards (r:1 w:1) // Storage: ParachainStaking TotalCollatorStake (r:1 w:0) // Storage: ParachainStaking InflationConfig (r:1 w:0) fn increment_delegator_rewards() -> Weight { - Weight::from_ref_time(25_796_000 as u64) + Weight::from_ref_time(46_081_000 as u64) .saturating_add(T::DbWeight::get().reads(6 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: ParachainStaking CandidatePool (r:1 w:0) - // Storage: ParachainStaking RewardCount (r:1 w:1) + // Storage: ParachainStaking BlocksAuthored (r:1 w:0) + // Storage: ParachainStaking BlocksRewarded (r:1 w:1) // Storage: ParachainStaking Rewards (r:1 w:1) // Storage: ParachainStaking TotalCollatorStake (r:1 w:0) // Storage: ParachainStaking InflationConfig (r:1 w:0) - /// The range of component `m` is `[0, 35]`. fn increment_collator_rewards() -> Weight { - Weight::from_ref_time(366_611_000 as u64) - .saturating_add(T::DbWeight::get().reads(75 as u64)) - .saturating_add(T::DbWeight::get().writes(72 as u64)) + Weight::from_ref_time(39_423_000 as u64) + .saturating_add(T::DbWeight::get().reads(6 as u64)) + .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: ParachainStaking Rewards (r:1 w:1) // Storage: System Account (r:1 w:1) fn claim_rewards() -> Weight { - Weight::from_ref_time(29_833_000 as u64) + Weight::from_ref_time(58_622_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: ParachainStaking LastRewardReduction (r:1 w:1) // Storage: ParachainStaking InflationConfig (r:1 w:1) // Storage: ParachainStaking CandidatePool (r:3 w:0) - // Storage: ParachainStaking RewardCount (r:72 w:72) - // Storage: ParachainStaking Rewards (r:2 w:2) + // Storage: ParachainStaking BlocksAuthored (r:2 w:0) + // Storage: ParachainStaking BlocksRewarded (r:72 w:72) + // Storage: ParachainStaking Rewards (r:72 w:72) // Storage: ParachainStaking TotalCollatorStake (r:1 w:0) // Storage: ParachainStaking CounterForCandidatePool (r:1 w:0) /// The range of component `n` is `[0, 75]`. /// The range of component `m` is `[0, 35]`. fn execute_scheduled_reward_change(n: u32, m: u32, ) -> Weight { Weight::from_ref_time(0 as u64) - // Standard Error: 5_730_000 - .saturating_add(Weight::from_ref_time(202_623_000 as u64).saturating_mul(n as u64)) - // Standard Error: 12_280_000 - .saturating_add(Weight::from_ref_time(415_436_000 as u64).saturating_mul(m as u64)) - .saturating_add(T::DbWeight::get().reads((37 as u64).saturating_mul(n as u64))) - .saturating_add(T::DbWeight::get().reads((75 as u64).saturating_mul(m as u64))) - .saturating_add(T::DbWeight::get().writes((36 as u64).saturating_mul(n as u64))) - .saturating_add(T::DbWeight::get().writes((75 as u64).saturating_mul(m as u64))) - } + // Standard Error: 617_000 + .saturating_add(Weight::from_ref_time(501_562_000 as u64).saturating_mul(n as u64)) + // Standard Error: 1_313_000 + .saturating_add(Weight::from_ref_time(1_032_648_000 as u64).saturating_mul(m as u64)) + .saturating_add(T::DbWeight::get().reads((74 as u64).saturating_mul(n as u64))) + .saturating_add(T::DbWeight::get().reads((150 as u64).saturating_mul(m as u64))) + .saturating_add(T::DbWeight::get().writes((72 as u64).saturating_mul(n as u64))) + .saturating_add(T::DbWeight::get().writes((150 as u64).saturating_mul(m as u64))) + } } // For backwards compatibility and tests impl WeightInfo for () { // Storage: ParachainStaking Round (r:1 w:0) fn on_initialize_no_action() -> Weight { - Weight::from_ref_time(3_103_000 as u64) + Weight::from_ref_time(7_687_000 as u64) .saturating_add(RocksDbWeight::get().reads(1 as u64)) } // Storage: ParachainStaking Round (r:1 w:1) fn on_initialize_round_update() -> Weight { - Weight::from_ref_time(23_755_000 as u64) + Weight::from_ref_time(22_824_000 as u64) .saturating_add(RocksDbWeight::get().reads(1 as u64)) .saturating_add(RocksDbWeight::get().writes(1 as u64)) } // Storage: ParachainStaking Round (r:1 w:1) - // Storage: ParachainStaking LastRewardReduction (r:1 w:1) - // Storage: ParachainStaking InflationConfig (r:1 w:1) + // Storage: ParachainStaking InflationConfig (r:1 w:0) // Storage: ParachainStaking MaxCollatorCandidateStake (r:1 w:0) // Storage: ParachainStaking MaxSelectedCandidates (r:1 w:0) // Storage: System Account (r:1 w:1) fn on_initialize_network_rewards() -> Weight { - Weight::from_ref_time(69_582_000 as u64) - .saturating_add(RocksDbWeight::get().reads(6 as u64)) - .saturating_add(RocksDbWeight::get().writes(4 as u64)) + Weight::from_ref_time(57_477_000 as u64) + .saturating_add(RocksDbWeight::get().reads(5 as u64)) + .saturating_add(RocksDbWeight::get().writes(2 as u64)) } // Storage: ParachainStaking ForceNewRound (r:0 w:1) fn force_new_round() -> Weight { - Weight::from_ref_time(8_791_000 as u64) + Weight::from_ref_time(8_703_000 as u64) .saturating_add(RocksDbWeight::get().writes(1 as u64)) } // Storage: ParachainStaking CandidatePool (r:3 w:0) - // Storage: ParachainStaking RewardCount (r:72 w:72) - // Storage: ParachainStaking Rewards (r:2 w:2) + // Storage: ParachainStaking BlocksAuthored (r:2 w:0) + // Storage: ParachainStaking BlocksRewarded (r:72 w:72) + // Storage: ParachainStaking Rewards (r:72 w:72) // Storage: ParachainStaking TotalCollatorStake (r:1 w:0) // Storage: ParachainStaking InflationConfig (r:1 w:1) + // Storage: ParachainStaking CounterForCandidatePool (r:1 w:0) /// The range of component `n` is `[0, 75]`. /// The range of component `m` is `[0, 35]`. fn set_inflation(n: u32, m: u32, ) -> Weight { Weight::from_ref_time(0 as u64) - // Standard Error: 3_005_000 - .saturating_add(Weight::from_ref_time(216_364_000 as u64).saturating_mul(n as u64)) - // Standard Error: 6_440_000 - .saturating_add(Weight::from_ref_time(440_763_000 as u64).saturating_mul(m as u64)) - .saturating_add(RocksDbWeight::get().reads((37 as u64).saturating_mul(n as u64))) - .saturating_add(RocksDbWeight::get().reads((75 as u64).saturating_mul(m as u64))) - .saturating_add(RocksDbWeight::get().writes((36 as u64).saturating_mul(n as u64))) - .saturating_add(RocksDbWeight::get().writes((75 as u64).saturating_mul(m as u64))) + // Standard Error: 725_000 + .saturating_add(Weight::from_ref_time(503_847_000 as u64).saturating_mul(n as u64)) + // Standard Error: 1_542_000 + .saturating_add(Weight::from_ref_time(1_032_264_000 as u64).saturating_mul(m as u64)) + .saturating_add(RocksDbWeight::get().reads((74 as u64).saturating_mul(n as u64))) + .saturating_add(RocksDbWeight::get().reads((150 as u64).saturating_mul(m as u64))) + .saturating_add(RocksDbWeight::get().writes((72 as u64).saturating_mul(n as u64))) + .saturating_add(RocksDbWeight::get().writes((150 as u64).saturating_mul(m as u64))) } // Storage: ParachainStaking MaxSelectedCandidates (r:1 w:1) // Storage: ParachainStaking TopCandidates (r:1 w:0) // Storage: ParachainStaking TotalCollatorStake (r:1 w:1) // Storage: ParachainStaking CandidatePool (r:1 w:0) + /// The range of component `n` is `[16, 75]`. + /// The range of component `m` is `[0, 35]`. fn set_max_selected_candidates(n: u32, m: u32, ) -> Weight { Weight::from_ref_time(0 as u64) - // Standard Error: 161_000 - .saturating_add(Weight::from_ref_time(19_480_000 as u64).saturating_mul(n as u64)) - // Standard Error: 270_000 - .saturating_add(Weight::from_ref_time(28_745_000 as u64).saturating_mul(m as u64)) + // Standard Error: 245_000 + .saturating_add(Weight::from_ref_time(26_950_000 as u64).saturating_mul(n as u64)) + // Standard Error: 412_000 + .saturating_add(Weight::from_ref_time(42_580_000 as u64).saturating_mul(m as u64)) .saturating_add(RocksDbWeight::get().reads((1 as u64).saturating_mul(n as u64))) .saturating_add(RocksDbWeight::get().writes(2 as u64)) } // Storage: ParachainStaking Round (r:1 w:1) fn set_blocks_per_round() -> Weight { - Weight::from_ref_time(30_326_000 as u64) + Weight::from_ref_time(29_360_000 as u64) .saturating_add(RocksDbWeight::get().reads(1 as u64)) .saturating_add(RocksDbWeight::get().writes(1 as u64)) } // Storage: ParachainStaking CandidatePool (r:17 w:1) // Storage: ParachainStaking TopCandidates (r:1 w:1) - // Storage: ParachainStaking Unstaking (r:36 w:36) - // Storage: ParachainStaking DelegatorState (r:35 w:35) - // Storage: ParachainStaking RewardCount (r:36 w:36) - // Storage: ParachainStaking Rewards (r:1 w:1) + // Storage: ParachainStaking BlocksAuthored (r:1 w:1) + // Storage: ParachainStaking BlocksRewarded (r:36 w:36) + // Storage: ParachainStaking Rewards (r:36 w:36) // Storage: ParachainStaking TotalCollatorStake (r:1 w:1) // Storage: ParachainStaking InflationConfig (r:1 w:0) + // Storage: ParachainStaking Unstaking (r:36 w:36) + // Storage: ParachainStaking DelegatorState (r:35 w:35) // Storage: Session Validators (r:1 w:0) // Storage: Session DisabledValidators (r:1 w:1) // Storage: System Digest (r:1 w:1) @@ -499,14 +536,14 @@ impl WeightInfo for () { /// The range of component `m` is `[0, 35]`. fn force_remove_candidate(n: u32, m: u32, ) -> Weight { Weight::from_ref_time(0 as u64) - // Standard Error: 169_000 - .saturating_add(Weight::from_ref_time(17_230_000 as u64).saturating_mul(n as u64)) - // Standard Error: 279_000 - .saturating_add(Weight::from_ref_time(46_081_000 as u64).saturating_mul(m as u64)) - .saturating_add(RocksDbWeight::get().reads(25 as u64)) - .saturating_add(RocksDbWeight::get().reads((2 as u64).saturating_mul(m as u64))) - .saturating_add(RocksDbWeight::get().writes(7 as u64)) - .saturating_add(RocksDbWeight::get().writes((2 as u64).saturating_mul(m as u64))) + // Standard Error: 238_000 + .saturating_add(Weight::from_ref_time(27_688_000 as u64).saturating_mul(n as u64)) + // Standard Error: 393_000 + .saturating_add(Weight::from_ref_time(78_182_000 as u64).saturating_mul(m as u64)) + .saturating_add(RocksDbWeight::get().reads(29 as u64)) + .saturating_add(RocksDbWeight::get().reads((4 as u64).saturating_mul(m as u64))) + .saturating_add(RocksDbWeight::get().writes(10 as u64)) + .saturating_add(RocksDbWeight::get().writes((4 as u64).saturating_mul(m as u64))) } // Storage: ParachainStaking CandidatePool (r:1 w:1) // Storage: ParachainStaking DelegatorState (r:1 w:0) @@ -522,10 +559,10 @@ impl WeightInfo for () { /// The range of component `m` is `[0, 35]`. fn join_candidates(n: u32, m: u32, ) -> Weight { Weight::from_ref_time(0 as u64) - // Standard Error: 148_000 - .saturating_add(Weight::from_ref_time(14_141_000 as u64).saturating_mul(n as u64)) - // Standard Error: 307_000 - .saturating_add(Weight::from_ref_time(28_608_000 as u64).saturating_mul(m as u64)) + // Standard Error: 225_000 + .saturating_add(Weight::from_ref_time(22_116_000 as u64).saturating_mul(n as u64)) + // Standard Error: 468_000 + .saturating_add(Weight::from_ref_time(45_139_000 as u64).saturating_mul(m as u64)) .saturating_add(RocksDbWeight::get().reads(10 as u64)) .saturating_add(RocksDbWeight::get().writes(7 as u64)) } @@ -538,10 +575,10 @@ impl WeightInfo for () { /// The range of component `m` is `[0, 35]`. fn init_leave_candidates(n: u32, m: u32, ) -> Weight { Weight::from_ref_time(0 as u64) - // Standard Error: 169_000 - .saturating_add(Weight::from_ref_time(17_942_000 as u64).saturating_mul(n as u64)) - // Standard Error: 275_000 - .saturating_add(Weight::from_ref_time(32_999_000 as u64).saturating_mul(m as u64)) + // Standard Error: 253_000 + .saturating_add(Weight::from_ref_time(27_095_000 as u64).saturating_mul(n as u64)) + // Standard Error: 410_000 + .saturating_add(Weight::from_ref_time(50_128_000 as u64).saturating_mul(m as u64)) .saturating_add(RocksDbWeight::get().reads(21 as u64)) .saturating_add(RocksDbWeight::get().writes(3 as u64)) } @@ -553,35 +590,38 @@ impl WeightInfo for () { /// The range of component `m` is `[0, 35]`. fn cancel_leave_candidates(n: u32, m: u32, ) -> Weight { Weight::from_ref_time(0 as u64) - // Standard Error: 181_000 - .saturating_add(Weight::from_ref_time(18_181_000 as u64).saturating_mul(n as u64)) - // Standard Error: 294_000 - .saturating_add(Weight::from_ref_time(33_461_000 as u64).saturating_mul(m as u64)) + // Standard Error: 262_000 + .saturating_add(Weight::from_ref_time(27_719_000 as u64).saturating_mul(n as u64)) + // Standard Error: 426_000 + .saturating_add(Weight::from_ref_time(51_151_000 as u64).saturating_mul(m as u64)) .saturating_add(RocksDbWeight::get().reads(5 as u64)) .saturating_add(RocksDbWeight::get().writes(3 as u64)) } // Storage: ParachainStaking CandidatePool (r:1 w:1) // Storage: ParachainStaking Round (r:1 w:0) - // Storage: ParachainStaking Unstaking (r:36 w:36) - // Storage: ParachainStaking DelegatorState (r:35 w:35) - // Storage: ParachainStaking RewardCount (r:36 w:36) - // Storage: ParachainStaking Rewards (r:1 w:1) + // Storage: ParachainStaking BlocksAuthored (r:1 w:1) + // Storage: ParachainStaking BlocksRewarded (r:36 w:36) + // Storage: ParachainStaking Rewards (r:36 w:36) // Storage: ParachainStaking TotalCollatorStake (r:1 w:0) // Storage: ParachainStaking InflationConfig (r:1 w:0) + // Storage: ParachainStaking Unstaking (r:36 w:36) + // Storage: ParachainStaking DelegatorState (r:35 w:35) // Storage: Session Validators (r:1 w:0) // Storage: Session DisabledValidators (r:1 w:1) // Storage: System Digest (r:1 w:1) // Storage: ParachainStaking CounterForCandidatePool (r:1 w:1) + /// The range of component `n` is `[17, 74]`. + /// The range of component `m` is `[0, 35]`. fn execute_leave_candidates(n: u32, m: u32, ) -> Weight { Weight::from_ref_time(0 as u64) - // Standard Error: 177_000 - .saturating_add(Weight::from_ref_time(20_987_000 as u64).saturating_mul(n as u64)) - // Standard Error: 288_000 - .saturating_add(Weight::from_ref_time(53_291_000 as u64).saturating_mul(m as u64)) - .saturating_add(RocksDbWeight::get().reads(7 as u64)) - .saturating_add(RocksDbWeight::get().reads((2 as u64).saturating_mul(m as u64))) - .saturating_add(RocksDbWeight::get().writes(5 as u64)) - .saturating_add(RocksDbWeight::get().writes((2 as u64).saturating_mul(m as u64))) + // Standard Error: 246_000 + .saturating_add(Weight::from_ref_time(31_941_000 as u64).saturating_mul(n as u64)) + // Standard Error: 400_000 + .saturating_add(Weight::from_ref_time(87_138_000 as u64).saturating_mul(m as u64)) + .saturating_add(RocksDbWeight::get().reads(12 as u64)) + .saturating_add(RocksDbWeight::get().reads((4 as u64).saturating_mul(m as u64))) + .saturating_add(RocksDbWeight::get().writes(8 as u64)) + .saturating_add(RocksDbWeight::get().writes((4 as u64).saturating_mul(m as u64))) } // Storage: ParachainStaking CandidatePool (r:1 w:1) // Storage: ParachainStaking MaxCollatorCandidateStake (r:1 w:0) @@ -591,33 +631,41 @@ impl WeightInfo for () { // Storage: ParachainStaking TopCandidates (r:1 w:1) // Storage: ParachainStaking MaxSelectedCandidates (r:1 w:0) // Storage: ParachainStaking TotalCollatorStake (r:1 w:1) + // Storage: ParachainStaking BlocksAuthored (r:1 w:0) + // Storage: ParachainStaking BlocksRewarded (r:1 w:1) + // Storage: ParachainStaking Rewards (r:1 w:1) + // Storage: ParachainStaking InflationConfig (r:1 w:0) + /// The range of component `n` is `[1, 74]`. + /// The range of component `m` is `[0, 35]`. + /// The range of component `u` is `[0, 9]`. fn candidate_stake_more(n: u32, m: u32, _u: u32, ) -> Weight { Weight::from_ref_time(0 as u64) - // Standard Error: 146_000 - .saturating_add(Weight::from_ref_time(19_044_000 as u64).saturating_mul(n as u64)) - // Standard Error: 304_000 - .saturating_add(Weight::from_ref_time(39_101_000 as u64).saturating_mul(m as u64)) - .saturating_add(RocksDbWeight::get().reads(8 as u64)) - .saturating_add(RocksDbWeight::get().writes(6 as u64)) + // Standard Error: 198_000 + .saturating_add(Weight::from_ref_time(28_533_000 as u64).saturating_mul(n as u64)) + // Standard Error: 412_000 + .saturating_add(Weight::from_ref_time(58_754_000 as u64).saturating_mul(m as u64)) + .saturating_add(RocksDbWeight::get().reads(12 as u64)) + .saturating_add(RocksDbWeight::get().writes(8 as u64)) } // Storage: ParachainStaking CandidatePool (r:1 w:1) // Storage: ParachainStaking Unstaking (r:1 w:1) // Storage: ParachainStaking TopCandidates (r:1 w:1) // Storage: ParachainStaking MaxSelectedCandidates (r:1 w:0) // Storage: ParachainStaking TotalCollatorStake (r:1 w:1) - // Storage: ParachainStaking RewardCount (r:36 w:36) + // Storage: ParachainStaking BlocksAuthored (r:1 w:0) + // Storage: ParachainStaking BlocksRewarded (r:1 w:1) // Storage: ParachainStaking Rewards (r:1 w:1) // Storage: ParachainStaking InflationConfig (r:1 w:0) /// The range of component `n` is `[1, 74]`. /// The range of component `m` is `[0, 35]`. fn candidate_stake_less(n: u32, m: u32, ) -> Weight { Weight::from_ref_time(0 as u64) - // Standard Error: 165_000 - .saturating_add(Weight::from_ref_time(17_769_000 as u64).saturating_mul(n as u64)) - // Standard Error: 342_000 - .saturating_add(Weight::from_ref_time(36_575_000 as u64).saturating_mul(m as u64)) - .saturating_add(RocksDbWeight::get().reads(5 as u64)) - .saturating_add(RocksDbWeight::get().writes(4 as u64)) + // Standard Error: 238_000 + .saturating_add(Weight::from_ref_time(27_302_000 as u64).saturating_mul(n as u64)) + // Standard Error: 494_000 + .saturating_add(Weight::from_ref_time(56_407_000 as u64).saturating_mul(m as u64)) + .saturating_add(RocksDbWeight::get().reads(9 as u64)) + .saturating_add(RocksDbWeight::get().writes(6 as u64)) } // Storage: System Account (r:1 w:1) // Storage: ParachainStaking DelegatorState (r:1 w:1) @@ -629,17 +677,18 @@ impl WeightInfo for () { // Storage: ParachainStaking TopCandidates (r:1 w:1) // Storage: ParachainStaking MaxSelectedCandidates (r:1 w:0) // Storage: ParachainStaking TotalCollatorStake (r:1 w:1) - // Storage: ParachainStaking RewardCount (r:1 w:1) + // Storage: ParachainStaking BlocksAuthored (r:1 w:0) + // Storage: ParachainStaking BlocksRewarded (r:0 w:1) /// The range of component `n` is `[1, 75]`. /// The range of component `m` is `[1, 34]`. fn join_delegators(n: u32, m: u32, ) -> Weight { Weight::from_ref_time(0 as u64) - // Standard Error: 154_000 - .saturating_add(Weight::from_ref_time(17_571_000 as u64).saturating_mul(n as u64)) - // Standard Error: 343_000 - .saturating_add(Weight::from_ref_time(38_223_000 as u64).saturating_mul(m as u64)) - .saturating_add(RocksDbWeight::get().reads(11 as u64)) - .saturating_add(RocksDbWeight::get().writes(8 as u64)) + // Standard Error: 222_000 + .saturating_add(Weight::from_ref_time(26_756_000 as u64).saturating_mul(n as u64)) + // Standard Error: 493_000 + .saturating_add(Weight::from_ref_time(58_560_000 as u64).saturating_mul(m as u64)) + .saturating_add(RocksDbWeight::get().reads(12 as u64)) + .saturating_add(RocksDbWeight::get().writes(9 as u64)) } // Storage: ParachainStaking DelegatorState (r:1 w:1) // Storage: ParachainStaking CandidatePool (r:1 w:1) @@ -649,14 +698,21 @@ impl WeightInfo for () { // Storage: ParachainStaking TopCandidates (r:1 w:1) // Storage: ParachainStaking MaxSelectedCandidates (r:1 w:0) // Storage: ParachainStaking TotalCollatorStake (r:1 w:1) + // Storage: ParachainStaking BlocksAuthored (r:1 w:0) + // Storage: ParachainStaking BlocksRewarded (r:1 w:1) + // Storage: ParachainStaking Rewards (r:1 w:1) + // Storage: ParachainStaking InflationConfig (r:1 w:0) + /// The range of component `n` is `[1, 75]`. + /// The range of component `m` is `[1, 34]`. + /// The range of component `u` is `[1, 9]`. fn delegator_stake_more(n: u32, m: u32, _u: u32, ) -> Weight { Weight::from_ref_time(0 as u64) - // Standard Error: 133_000 - .saturating_add(Weight::from_ref_time(18_815_000 as u64).saturating_mul(n as u64)) - // Standard Error: 295_000 - .saturating_add(Weight::from_ref_time(40_803_000 as u64).saturating_mul(m as u64)) - .saturating_add(RocksDbWeight::get().reads(8 as u64)) - .saturating_add(RocksDbWeight::get().writes(7 as u64)) + // Standard Error: 184_000 + .saturating_add(Weight::from_ref_time(28_310_000 as u64).saturating_mul(n as u64)) + // Standard Error: 409_000 + .saturating_add(Weight::from_ref_time(61_656_000 as u64).saturating_mul(m as u64)) + .saturating_add(RocksDbWeight::get().reads(12 as u64)) + .saturating_add(RocksDbWeight::get().writes(9 as u64)) } // Storage: ParachainStaking DelegatorState (r:1 w:1) // Storage: ParachainStaking CandidatePool (r:1 w:1) @@ -664,97 +720,106 @@ impl WeightInfo for () { // Storage: ParachainStaking TopCandidates (r:1 w:1) // Storage: ParachainStaking MaxSelectedCandidates (r:1 w:0) // Storage: ParachainStaking TotalCollatorStake (r:1 w:1) - // Storage: ParachainStaking RewardCount (r:2 w:0) + // Storage: ParachainStaking BlocksAuthored (r:1 w:0) + // Storage: ParachainStaking BlocksRewarded (r:1 w:1) + // Storage: ParachainStaking Rewards (r:1 w:1) + // Storage: ParachainStaking InflationConfig (r:1 w:0) /// The range of component `n` is `[1, 75]`. /// The range of component `m` is `[1, 34]`. fn delegator_stake_less(n: u32, m: u32, ) -> Weight { Weight::from_ref_time(0 as u64) - // Standard Error: 153_000 - .saturating_add(Weight::from_ref_time(17_715_000 as u64).saturating_mul(n as u64)) - // Standard Error: 341_000 - .saturating_add(Weight::from_ref_time(38_327_000 as u64).saturating_mul(m as u64)) - .saturating_add(RocksDbWeight::get().reads(6 as u64)) - .saturating_add(RocksDbWeight::get().writes(5 as u64)) + // Standard Error: 231_000 + .saturating_add(Weight::from_ref_time(27_176_000 as u64).saturating_mul(n as u64)) + // Standard Error: 515_000 + .saturating_add(Weight::from_ref_time(59_103_000 as u64).saturating_mul(m as u64)) + .saturating_add(RocksDbWeight::get().reads(10 as u64)) + .saturating_add(RocksDbWeight::get().writes(7 as u64)) } // Storage: ParachainStaking DelegatorState (r:1 w:1) // Storage: ParachainStaking CandidatePool (r:1 w:1) - // Storage: ParachainStaking RewardCount (r:2 w:0) + // Storage: ParachainStaking BlocksAuthored (r:1 w:0) + // Storage: ParachainStaking BlocksRewarded (r:1 w:1) + // Storage: ParachainStaking Rewards (r:1 w:1) + // Storage: ParachainStaking TotalCollatorStake (r:1 w:1) + // Storage: ParachainStaking InflationConfig (r:1 w:0) // Storage: ParachainStaking Unstaking (r:1 w:1) // Storage: ParachainStaking TopCandidates (r:1 w:1) // Storage: ParachainStaking MaxSelectedCandidates (r:1 w:0) - // Storage: ParachainStaking TotalCollatorStake (r:1 w:1) /// The range of component `n` is `[1, 75]`. /// The range of component `m` is `[1, 34]`. fn leave_delegators(n: u32, m: u32, ) -> Weight { Weight::from_ref_time(0 as u64) - // Standard Error: 153_000 - .saturating_add(Weight::from_ref_time(18_270_000 as u64).saturating_mul(n as u64)) - // Standard Error: 341_000 - .saturating_add(Weight::from_ref_time(39_114_000 as u64).saturating_mul(m as u64)) - .saturating_add(RocksDbWeight::get().reads(6 as u64)) - .saturating_add(RocksDbWeight::get().writes(5 as u64)) + // Standard Error: 225_000 + .saturating_add(Weight::from_ref_time(27_268_000 as u64).saturating_mul(n as u64)) + // Standard Error: 500_000 + .saturating_add(Weight::from_ref_time(59_282_000 as u64).saturating_mul(m as u64)) + .saturating_add(RocksDbWeight::get().reads(10 as u64)) + .saturating_add(RocksDbWeight::get().writes(7 as u64)) } // Storage: ParachainStaking Unstaking (r:1 w:1) // Storage: Balances Locks (r:1 w:1) // Storage: System Account (r:1 w:1) + /// The range of component `u` is `[1, 9]`. fn unlock_unstaked(u: u32, ) -> Weight { - Weight::from_ref_time(58_250_000 as u64) - // Standard Error: 10_000 - .saturating_add(Weight::from_ref_time(249_000 as u64).saturating_mul(u as u64)) + Weight::from_ref_time(56_797_000 as u64) + // Standard Error: 12_000 + .saturating_add(Weight::from_ref_time(274_000 as u64).saturating_mul(u as u64)) .saturating_add(RocksDbWeight::get().reads(3 as u64)) .saturating_add(RocksDbWeight::get().writes(3 as u64)) } // Storage: ParachainStaking MaxCollatorCandidateStake (r:0 w:1) fn set_max_candidate_stake() -> Weight { - Weight::from_ref_time(23_094_000 as u64) + Weight::from_ref_time(23_858_000 as u64) .saturating_add(RocksDbWeight::get().writes(1 as u64)) } // Storage: ParachainStaking DelegatorState (r:1 w:0) - // Storage: ParachainStaking RewardCount (r:2 w:1) + // Storage: ParachainStaking BlocksAuthored (r:1 w:0) + // Storage: ParachainStaking BlocksRewarded (r:1 w:1) // Storage: ParachainStaking Rewards (r:1 w:1) // Storage: ParachainStaking TotalCollatorStake (r:1 w:0) // Storage: ParachainStaking InflationConfig (r:1 w:0) fn increment_delegator_rewards() -> Weight { - Weight::from_ref_time(25_796_000 as u64) + Weight::from_ref_time(46_081_000 as u64) .saturating_add(RocksDbWeight::get().reads(6 as u64)) .saturating_add(RocksDbWeight::get().writes(2 as u64)) } // Storage: ParachainStaking CandidatePool (r:1 w:0) - // Storage: ParachainStaking RewardCount (r:1 w:1) + // Storage: ParachainStaking BlocksAuthored (r:1 w:0) + // Storage: ParachainStaking BlocksRewarded (r:1 w:1) // Storage: ParachainStaking Rewards (r:1 w:1) // Storage: ParachainStaking TotalCollatorStake (r:1 w:0) // Storage: ParachainStaking InflationConfig (r:1 w:0) - /// The range of component `m` is `[0, 35]`. fn increment_collator_rewards() -> Weight { - Weight::from_ref_time(366_611_000 as u64) - .saturating_add(RocksDbWeight::get().reads(75 as u64)) - .saturating_add(RocksDbWeight::get().writes(72 as u64)) + Weight::from_ref_time(39_423_000 as u64) + .saturating_add(RocksDbWeight::get().reads(6 as u64)) + .saturating_add(RocksDbWeight::get().writes(2 as u64)) } // Storage: ParachainStaking Rewards (r:1 w:1) // Storage: System Account (r:1 w:1) fn claim_rewards() -> Weight { - Weight::from_ref_time(29_833_000 as u64) + Weight::from_ref_time(58_622_000 as u64) .saturating_add(RocksDbWeight::get().reads(2 as u64)) .saturating_add(RocksDbWeight::get().writes(2 as u64)) } // Storage: ParachainStaking LastRewardReduction (r:1 w:1) // Storage: ParachainStaking InflationConfig (r:1 w:1) // Storage: ParachainStaking CandidatePool (r:3 w:0) - // Storage: ParachainStaking RewardCount (r:72 w:72) - // Storage: ParachainStaking Rewards (r:2 w:2) + // Storage: ParachainStaking BlocksAuthored (r:2 w:0) + // Storage: ParachainStaking BlocksRewarded (r:72 w:72) + // Storage: ParachainStaking Rewards (r:72 w:72) // Storage: ParachainStaking TotalCollatorStake (r:1 w:0) // Storage: ParachainStaking CounterForCandidatePool (r:1 w:0) /// The range of component `n` is `[0, 75]`. /// The range of component `m` is `[0, 35]`. fn execute_scheduled_reward_change(n: u32, m: u32, ) -> Weight { Weight::from_ref_time(0 as u64) - // Standard Error: 5_730_000 - .saturating_add(Weight::from_ref_time(202_623_000 as u64).saturating_mul(n as u64)) - // Standard Error: 12_280_000 - .saturating_add(Weight::from_ref_time(415_436_000 as u64).saturating_mul(m as u64)) - .saturating_add(RocksDbWeight::get().reads((37 as u64).saturating_mul(n as u64))) - .saturating_add(RocksDbWeight::get().reads((75 as u64).saturating_mul(m as u64))) - .saturating_add(RocksDbWeight::get().writes((36 as u64).saturating_mul(n as u64))) - .saturating_add(RocksDbWeight::get().writes((75 as u64).saturating_mul(m as u64))) + // Standard Error: 617_000 + .saturating_add(Weight::from_ref_time(501_562_000 as u64).saturating_mul(n as u64)) + // Standard Error: 1_313_000 + .saturating_add(Weight::from_ref_time(1_032_648_000 as u64).saturating_mul(m as u64)) + .saturating_add(RocksDbWeight::get().reads((74 as u64).saturating_mul(n as u64))) + .saturating_add(RocksDbWeight::get().reads((150 as u64).saturating_mul(m as u64))) + .saturating_add(RocksDbWeight::get().writes((72 as u64).saturating_mul(n as u64))) + .saturating_add(RocksDbWeight::get().writes((150 as u64).saturating_mul(m as u64))) } } diff --git a/pallets/public-credentials/src/default_weights.rs b/pallets/public-credentials/src/default_weights.rs index a586c5686..2a6ad203b 100644 --- a/pallets/public-credentials/src/default_weights.rs +++ b/pallets/public-credentials/src/default_weights.rs @@ -19,7 +19,7 @@ //! Autogenerated weights for public_credentials //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-10-26, STEPS: {{cmd.steps}}\, REPEAT: {{cmd.repeat}}\, LOW RANGE: {{cmd.lowest_range_values}}\, HIGH RANGE: {{cmd.highest_range_values}}\ +//! DATE: 2022-11-07, STEPS: {{cmd.steps}}\, REPEAT: {{cmd.repeat}}\, LOW RANGE: {{cmd.lowest_range_values}}\, HIGH RANGE: {{cmd.highest_range_values}}\ //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024 // Executed Command: @@ -65,7 +65,7 @@ impl WeightInfo for SubstrateWeight { // Storage: PublicCredentials CredentialSubjects (r:0 w:1) /// The range of component `c` is `[1, 100000]`. fn add(c: u32, ) -> Weight { - Weight::from_ref_time(73_189_000 as u64) + Weight::from_ref_time(72_318_000 as u64) // Standard Error: 0 .saturating_add(Weight::from_ref_time(2_000 as u64).saturating_mul(c as u64)) .saturating_add(T::DbWeight::get().reads(3 as u64)) @@ -74,14 +74,14 @@ impl WeightInfo for SubstrateWeight { // Storage: PublicCredentials CredentialSubjects (r:1 w:0) // Storage: PublicCredentials Credentials (r:1 w:1) fn revoke() -> Weight { - Weight::from_ref_time(44_346_000 as u64) + Weight::from_ref_time(45_231_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: PublicCredentials CredentialSubjects (r:1 w:0) // Storage: PublicCredentials Credentials (r:1 w:1) fn unrevoke() -> Weight { - Weight::from_ref_time(44_326_000 as u64) + Weight::from_ref_time(45_143_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } @@ -89,7 +89,7 @@ impl WeightInfo for SubstrateWeight { // Storage: PublicCredentials Credentials (r:1 w:1) // Storage: System Account (r:1 w:1) fn remove() -> Weight { - Weight::from_ref_time(69_563_000 as u64) + Weight::from_ref_time(69_585_000 as u64) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } @@ -97,19 +97,25 @@ impl WeightInfo for SubstrateWeight { // Storage: PublicCredentials Credentials (r:1 w:1) // Storage: System Account (r:1 w:1) fn reclaim_deposit() -> Weight { - Weight::from_ref_time(68_692_000 as u64) + Weight::from_ref_time(69_922_000 as u64) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } + // Storage: PublicCredentials CredentialSubjects (r:1 w:0) + // Storage: PublicCredentials Credentials (r:1 w:1) + // Storage: System Account (r:2 w:2) fn change_deposit_owner() -> Weight { - Weight::from_ref_time(68_692_000 as u64) - .saturating_add(T::DbWeight::get().reads(3 as u64)) + Weight::from_ref_time(88_236_000 as u64) + .saturating_add(T::DbWeight::get().reads(4 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } + // Storage: PublicCredentials CredentialSubjects (r:1 w:0) + // Storage: PublicCredentials Credentials (r:1 w:1) + // Storage: System Account (r:1 w:1) fn update_deposit() -> Weight { - Weight::from_ref_time(68_692_000 as u64) + Weight::from_ref_time(82_126_000 as u64) .saturating_add(T::DbWeight::get().reads(3 as u64)) - .saturating_add(T::DbWeight::get().writes(3 as u64)) + .saturating_add(T::DbWeight::get().writes(2 as u64)) } } @@ -121,7 +127,7 @@ impl WeightInfo for () { // Storage: PublicCredentials CredentialSubjects (r:0 w:1) /// The range of component `c` is `[1, 100000]`. fn add(c: u32, ) -> Weight { - Weight::from_ref_time(73_189_000 as u64) + Weight::from_ref_time(72_318_000 as u64) // Standard Error: 0 .saturating_add(Weight::from_ref_time(2_000 as u64).saturating_mul(c as u64)) .saturating_add(RocksDbWeight::get().reads(3 as u64)) @@ -130,14 +136,14 @@ impl WeightInfo for () { // Storage: PublicCredentials CredentialSubjects (r:1 w:0) // Storage: PublicCredentials Credentials (r:1 w:1) fn revoke() -> Weight { - Weight::from_ref_time(44_346_000 as u64) + Weight::from_ref_time(45_231_000 as u64) .saturating_add(RocksDbWeight::get().reads(2 as u64)) .saturating_add(RocksDbWeight::get().writes(1 as u64)) } // Storage: PublicCredentials CredentialSubjects (r:1 w:0) // Storage: PublicCredentials Credentials (r:1 w:1) fn unrevoke() -> Weight { - Weight::from_ref_time(44_326_000 as u64) + Weight::from_ref_time(45_143_000 as u64) .saturating_add(RocksDbWeight::get().reads(2 as u64)) .saturating_add(RocksDbWeight::get().writes(1 as u64)) } @@ -145,7 +151,7 @@ impl WeightInfo for () { // Storage: PublicCredentials Credentials (r:1 w:1) // Storage: System Account (r:1 w:1) fn remove() -> Weight { - Weight::from_ref_time(69_563_000 as u64) + Weight::from_ref_time(69_585_000 as u64) .saturating_add(RocksDbWeight::get().reads(3 as u64)) .saturating_add(RocksDbWeight::get().writes(3 as u64)) } @@ -153,18 +159,24 @@ impl WeightInfo for () { // Storage: PublicCredentials Credentials (r:1 w:1) // Storage: System Account (r:1 w:1) fn reclaim_deposit() -> Weight { - Weight::from_ref_time(68_692_000 as u64) + Weight::from_ref_time(69_922_000 as u64) .saturating_add(RocksDbWeight::get().reads(3 as u64)) .saturating_add(RocksDbWeight::get().writes(3 as u64)) } + // Storage: PublicCredentials CredentialSubjects (r:1 w:0) + // Storage: PublicCredentials Credentials (r:1 w:1) + // Storage: System Account (r:2 w:2) fn change_deposit_owner() -> Weight { - Weight::from_ref_time(68_692_000 as u64) - .saturating_add(RocksDbWeight::get().reads(3 as u64)) + Weight::from_ref_time(88_236_000 as u64) + .saturating_add(RocksDbWeight::get().reads(4 as u64)) .saturating_add(RocksDbWeight::get().writes(3 as u64)) } + // Storage: PublicCredentials CredentialSubjects (r:1 w:0) + // Storage: PublicCredentials Credentials (r:1 w:1) + // Storage: System Account (r:1 w:1) fn update_deposit() -> Weight { - Weight::from_ref_time(68_692_000 as u64) + Weight::from_ref_time(82_126_000 as u64) .saturating_add(RocksDbWeight::get().reads(3 as u64)) - .saturating_add(RocksDbWeight::get().writes(3 as u64)) + .saturating_add(RocksDbWeight::get().writes(2 as u64)) } } diff --git a/runtimes/peregrine/src/weights/attestation.rs b/runtimes/peregrine/src/weights/attestation.rs index 94531879f..7b5fdc5fc 100644 --- a/runtimes/peregrine/src/weights/attestation.rs +++ b/runtimes/peregrine/src/weights/attestation.rs @@ -19,7 +19,7 @@ //! Autogenerated weights for attestation //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-10-26, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2022-11-07, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024 // Executed Command: @@ -52,41 +52,41 @@ impl attestation::WeightInfo for WeightInfo { // Storage: Attestation Attestations (r:1 w:1) // Storage: System Account (r:1 w:1) fn add() -> Weight { - Weight::from_ref_time(55_848_000 as u64) + Weight::from_ref_time(57_114_000 as u64) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Attestation Attestations (r:1 w:1) fn revoke() -> Weight { - Weight::from_ref_time(33_607_000 as u64) + Weight::from_ref_time(34_634_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Attestation Attestations (r:1 w:1) // Storage: System Account (r:1 w:1) fn remove() -> Weight { - Weight::from_ref_time(51_728_000 as u64) + Weight::from_ref_time(52_872_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Attestation Attestations (r:1 w:1) // Storage: System Account (r:1 w:1) fn reclaim_deposit() -> Weight { - Weight::from_ref_time(51_470_000 as u64) + Weight::from_ref_time(52_778_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Attestation Attestations (r:1 w:1) // Storage: System Account (r:2 w:2) fn change_deposit_owner() -> Weight { - Weight::from_ref_time(67_312_000 as u64) + Weight::from_ref_time(69_052_000 as u64) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } // Storage: Attestation Attestations (r:1 w:1) // Storage: System Account (r:1 w:1) fn update_deposit() -> Weight { - Weight::from_ref_time(61_605_000 as u64) + Weight::from_ref_time(62_863_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } diff --git a/runtimes/peregrine/src/weights/ctype.rs b/runtimes/peregrine/src/weights/ctype.rs index 734e49005..e27658f54 100644 --- a/runtimes/peregrine/src/weights/ctype.rs +++ b/runtimes/peregrine/src/weights/ctype.rs @@ -19,7 +19,7 @@ //! Autogenerated weights for ctype //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-10-26, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2022-11-07, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024 // Executed Command: @@ -51,7 +51,7 @@ impl ctype::WeightInfo for WeightInfo { // Storage: System Account (r:2 w:2) // Storage: Ctype Ctypes (r:1 w:1) fn add(l: u32, ) -> Weight { - Weight::from_ref_time(8_308_000 as u64) + Weight::from_ref_time(6_447_000 as u64) // Standard Error: 0 .saturating_add(Weight::from_ref_time(2_000 as u64).saturating_mul(l as u64)) .saturating_add(T::DbWeight::get().reads(3 as u64)) diff --git a/runtimes/peregrine/src/weights/delegation.rs b/runtimes/peregrine/src/weights/delegation.rs index 6f64ac054..883431d73 100644 --- a/runtimes/peregrine/src/weights/delegation.rs +++ b/runtimes/peregrine/src/weights/delegation.rs @@ -19,7 +19,7 @@ //! Autogenerated weights for delegation //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-10-26, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2022-11-07, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024 // Executed Command: @@ -53,25 +53,25 @@ impl delegation::WeightInfo for WeightInfo { // Storage: System Account (r:1 w:1) // Storage: Delegation DelegationNodes (r:0 w:1) fn create_hierarchy() -> Weight { - Weight::from_ref_time(59_237_000 as u64) + Weight::from_ref_time(57_917_000 as u64) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } // Storage: Delegation DelegationNodes (r:2 w:2) // Storage: System Account (r:1 w:1) fn add_delegation() -> Weight { - Weight::from_ref_time(63_486_000 as u64) + Weight::from_ref_time(62_749_000 as u64) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } // Storage: Delegation DelegationNodes (r:1 w:1) // Storage: Delegation DelegationHierarchies (r:1 w:0) fn revoke_delegation_root_child(r: u32, c: u32, ) -> Weight { - Weight::from_ref_time(32_519_000 as u64) + Weight::from_ref_time(32_160_000 as u64) // Standard Error: 37_000 - .saturating_add(Weight::from_ref_time(14_313_000 as u64).saturating_mul(r as u64)) + .saturating_add(Weight::from_ref_time(14_117_000 as u64).saturating_mul(r as u64)) // Standard Error: 37_000 - .saturating_add(Weight::from_ref_time(533_000 as u64).saturating_mul(c as u64)) + .saturating_add(Weight::from_ref_time(467_000 as u64).saturating_mul(c as u64)) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(r as u64))) .saturating_add(T::DbWeight::get().writes((1 as u64).saturating_mul(r as u64))) @@ -79,9 +79,9 @@ impl delegation::WeightInfo for WeightInfo { // Storage: Delegation DelegationNodes (r:6 w:1) // Storage: Delegation DelegationHierarchies (r:1 w:0) fn revoke_delegation_leaf(_r: u32, c: u32, ) -> Weight { - Weight::from_ref_time(49_685_000 as u64) - // Standard Error: 13_000 - .saturating_add(Weight::from_ref_time(4_109_000 as u64).saturating_mul(c as u64)) + Weight::from_ref_time(48_395_000 as u64) + // Standard Error: 11_000 + .saturating_add(Weight::from_ref_time(4_088_000 as u64).saturating_mul(c as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(c as u64))) .saturating_add(T::DbWeight::get().writes(1 as u64)) @@ -90,9 +90,9 @@ impl delegation::WeightInfo for WeightInfo { // Storage: System Account (r:1 w:1) // Storage: Delegation DelegationHierarchies (r:1 w:1) fn remove_delegation(r: u32, ) -> Weight { - Weight::from_ref_time(69_994_000 as u64) - // Standard Error: 23_000 - .saturating_add(Weight::from_ref_time(24_732_000 as u64).saturating_mul(r as u64)) + Weight::from_ref_time(68_696_000 as u64) + // Standard Error: 22_000 + .saturating_add(Weight::from_ref_time(24_154_000 as u64).saturating_mul(r as u64)) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(r as u64))) .saturating_add(T::DbWeight::get().writes(3 as u64)) @@ -102,9 +102,9 @@ impl delegation::WeightInfo for WeightInfo { // Storage: System Account (r:1 w:1) // Storage: Delegation DelegationHierarchies (r:0 w:1) fn reclaim_deposit(r: u32, ) -> Weight { - Weight::from_ref_time(61_724_000 as u64) - // Standard Error: 22_000 - .saturating_add(Weight::from_ref_time(24_948_000 as u64).saturating_mul(r as u64)) + Weight::from_ref_time(60_232_000 as u64) + // Standard Error: 28_000 + .saturating_add(Weight::from_ref_time(24_455_000 as u64).saturating_mul(r as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(r as u64))) .saturating_add(T::DbWeight::get().writes(3 as u64)) @@ -113,36 +113,36 @@ impl delegation::WeightInfo for WeightInfo { // Storage: Delegation DelegationNodes (r:1 w:0) // Storage: Delegation DelegationHierarchies (r:1 w:0) fn can_attest() -> Weight { - Weight::from_ref_time(19_069_000 as u64) + Weight::from_ref_time(18_381_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) } // Storage: Delegation DelegationNodes (r:2 w:0) fn can_revoke(c: u32, ) -> Weight { - Weight::from_ref_time(13_433_000 as u64) - // Standard Error: 9_000 - .saturating_add(Weight::from_ref_time(4_513_000 as u64).saturating_mul(c as u64)) + Weight::from_ref_time(12_919_000 as u64) + // Standard Error: 10_000 + .saturating_add(Weight::from_ref_time(4_488_000 as u64).saturating_mul(c as u64)) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(c as u64))) } // Storage: Delegation DelegationNodes (r:2 w:0) fn can_remove(c: u32, ) -> Weight { - Weight::from_ref_time(13_177_000 as u64) + Weight::from_ref_time(12_874_000 as u64) // Standard Error: 9_000 - .saturating_add(Weight::from_ref_time(4_602_000 as u64).saturating_mul(c as u64)) + .saturating_add(Weight::from_ref_time(4_494_000 as u64).saturating_mul(c as u64)) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(c as u64))) } // Storage: Delegation DelegationNodes (r:1 w:1) // Storage: System Account (r:2 w:2) fn change_deposit_owner() -> Weight { - Weight::from_ref_time(70_545_000 as u64) + Weight::from_ref_time(69_415_000 as u64) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } // Storage: Delegation DelegationNodes (r:1 w:1) // Storage: System Account (r:1 w:1) fn update_deposit() -> Weight { - Weight::from_ref_time(65_757_000 as u64) + Weight::from_ref_time(64_222_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } diff --git a/runtimes/peregrine/src/weights/did.rs b/runtimes/peregrine/src/weights/did.rs index 5bdfe3ff7..539b483c6 100644 --- a/runtimes/peregrine/src/weights/did.rs +++ b/runtimes/peregrine/src/weights/did.rs @@ -19,7 +19,7 @@ //! Autogenerated weights for did //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-10-26, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2022-11-07, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024 // Executed Command: @@ -54,11 +54,11 @@ impl did::WeightInfo for WeightInfo { // Storage: Did DidEndpointsCount (r:0 w:1) // Storage: Did ServiceEndpoints (r:0 w:25) fn create_ed25519_keys(n: u32, c: u32, ) -> Weight { - Weight::from_ref_time(160_283_000 as u64) - // Standard Error: 15_000 - .saturating_add(Weight::from_ref_time(1_342_000 as u64).saturating_mul(n as u64)) + Weight::from_ref_time(160_839_000 as u64) + // Standard Error: 17_000 + .saturating_add(Weight::from_ref_time(1_114_000 as u64).saturating_mul(n as u64)) // Standard Error: 6_000 - .saturating_add(Weight::from_ref_time(6_340_000 as u64).saturating_mul(c as u64)) + .saturating_add(Weight::from_ref_time(6_112_000 as u64).saturating_mul(c as u64)) .saturating_add(T::DbWeight::get().reads(4 as u64)) .saturating_add(T::DbWeight::get().writes(4 as u64)) .saturating_add(T::DbWeight::get().writes((1 as u64).saturating_mul(c as u64))) @@ -69,11 +69,11 @@ impl did::WeightInfo for WeightInfo { // Storage: Did DidEndpointsCount (r:0 w:1) // Storage: Did ServiceEndpoints (r:0 w:25) fn create_sr25519_keys(n: u32, c: u32, ) -> Weight { - Weight::from_ref_time(160_669_000 as u64) + Weight::from_ref_time(159_049_000 as u64) // Standard Error: 16_000 - .saturating_add(Weight::from_ref_time(1_488_000 as u64).saturating_mul(n as u64)) + .saturating_add(Weight::from_ref_time(1_405_000 as u64).saturating_mul(n as u64)) // Standard Error: 6_000 - .saturating_add(Weight::from_ref_time(6_870_000 as u64).saturating_mul(c as u64)) + .saturating_add(Weight::from_ref_time(6_634_000 as u64).saturating_mul(c as u64)) .saturating_add(T::DbWeight::get().reads(4 as u64)) .saturating_add(T::DbWeight::get().writes(4 as u64)) .saturating_add(T::DbWeight::get().writes((1 as u64).saturating_mul(c as u64))) @@ -84,11 +84,11 @@ impl did::WeightInfo for WeightInfo { // Storage: Did DidEndpointsCount (r:0 w:1) // Storage: Did ServiceEndpoints (r:0 w:25) fn create_ecdsa_keys(n: u32, c: u32, ) -> Weight { - Weight::from_ref_time(148_378_000 as u64) + Weight::from_ref_time(145_535_000 as u64) // Standard Error: 15_000 - .saturating_add(Weight::from_ref_time(1_340_000 as u64).saturating_mul(n as u64)) - // Standard Error: 6_000 - .saturating_add(Weight::from_ref_time(6_009_000 as u64).saturating_mul(c as u64)) + .saturating_add(Weight::from_ref_time(1_296_000 as u64).saturating_mul(n as u64)) + // Standard Error: 5_000 + .saturating_add(Weight::from_ref_time(5_790_000 as u64).saturating_mul(c as u64)) .saturating_add(T::DbWeight::get().reads(4 as u64)) .saturating_add(T::DbWeight::get().writes(4 as u64)) .saturating_add(T::DbWeight::get().writes((1 as u64).saturating_mul(c as u64))) @@ -98,9 +98,9 @@ impl did::WeightInfo for WeightInfo { // Storage: Did DidBlacklist (r:0 w:1) // Storage: Did ServiceEndpoints (r:0 w:1) fn delete(c: u32, ) -> Weight { - Weight::from_ref_time(48_543_000 as u64) - // Standard Error: 10_000 - .saturating_add(Weight::from_ref_time(1_616_000 as u64).saturating_mul(c as u64)) + Weight::from_ref_time(47_954_000 as u64) + // Standard Error: 4_000 + .saturating_add(Weight::from_ref_time(1_580_000 as u64).saturating_mul(c as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) .saturating_add(T::DbWeight::get().writes((1 as u64).saturating_mul(c as u64))) @@ -110,154 +110,154 @@ impl did::WeightInfo for WeightInfo { // Storage: Did DidBlacklist (r:0 w:1) // Storage: Did ServiceEndpoints (r:0 w:1) fn reclaim_deposit(c: u32, ) -> Weight { - Weight::from_ref_time(51_855_000 as u64) - // Standard Error: 4_000 - .saturating_add(Weight::from_ref_time(1_595_000 as u64).saturating_mul(c as u64)) + Weight::from_ref_time(50_904_000 as u64) + // Standard Error: 5_000 + .saturating_add(Weight::from_ref_time(1_597_000 as u64).saturating_mul(c as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) .saturating_add(T::DbWeight::get().writes((1 as u64).saturating_mul(c as u64))) } // Storage: Did Did (r:1 w:1) fn submit_did_call_ed25519_key() -> Weight { - Weight::from_ref_time(96_536_000 as u64) + Weight::from_ref_time(95_978_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn submit_did_call_sr25519_key() -> Weight { - Weight::from_ref_time(97_491_000 as u64) + Weight::from_ref_time(96_861_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn submit_did_call_ecdsa_key() -> Weight { - Weight::from_ref_time(84_224_000 as u64) + Weight::from_ref_time(85_248_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn set_ed25519_authentication_key() -> Weight { - Weight::from_ref_time(46_737_000 as u64) + Weight::from_ref_time(46_146_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn set_sr25519_authentication_key() -> Weight { - Weight::from_ref_time(47_169_000 as u64) + Weight::from_ref_time(46_260_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn set_ecdsa_authentication_key() -> Weight { - Weight::from_ref_time(46_743_000 as u64) + Weight::from_ref_time(45_864_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn set_ed25519_delegation_key() -> Weight { - Weight::from_ref_time(46_335_000 as u64) + Weight::from_ref_time(45_780_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn set_sr25519_delegation_key() -> Weight { - Weight::from_ref_time(46_636_000 as u64) + Weight::from_ref_time(45_722_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn set_ecdsa_delegation_key() -> Weight { - Weight::from_ref_time(46_620_000 as u64) + Weight::from_ref_time(45_389_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn remove_ed25519_delegation_key() -> Weight { - Weight::from_ref_time(44_058_000 as u64) + Weight::from_ref_time(43_074_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn remove_sr25519_delegation_key() -> Weight { - Weight::from_ref_time(43_988_000 as u64) + Weight::from_ref_time(43_327_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn remove_ecdsa_delegation_key() -> Weight { - Weight::from_ref_time(44_104_000 as u64) + Weight::from_ref_time(43_082_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn set_ed25519_attestation_key() -> Weight { - Weight::from_ref_time(46_706_000 as u64) + Weight::from_ref_time(46_064_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn set_sr25519_attestation_key() -> Weight { - Weight::from_ref_time(46_415_000 as u64) + Weight::from_ref_time(45_833_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn set_ecdsa_attestation_key() -> Weight { - Weight::from_ref_time(46_641_000 as u64) + Weight::from_ref_time(45_778_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn remove_ed25519_attestation_key() -> Weight { - Weight::from_ref_time(43_931_000 as u64) + Weight::from_ref_time(43_047_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn remove_sr25519_attestation_key() -> Weight { - Weight::from_ref_time(44_109_000 as u64) + Weight::from_ref_time(42_916_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn remove_ecdsa_attestation_key() -> Weight { - Weight::from_ref_time(44_000_000 as u64) + Weight::from_ref_time(42_956_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn add_ed25519_key_agreement_key() -> Weight { - Weight::from_ref_time(45_734_000 as u64) + Weight::from_ref_time(45_280_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn add_sr25519_key_agreement_key() -> Weight { - Weight::from_ref_time(45_956_000 as u64) + Weight::from_ref_time(45_296_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn add_ecdsa_key_agreement_key() -> Weight { - Weight::from_ref_time(46_115_000 as u64) + Weight::from_ref_time(45_088_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn remove_ed25519_key_agreement_key() -> Weight { - Weight::from_ref_time(43_974_000 as u64) + Weight::from_ref_time(43_544_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn remove_sr25519_key_agreement_key() -> Weight { - Weight::from_ref_time(44_336_000 as u64) + Weight::from_ref_time(43_816_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn remove_ecdsa_key_agreement_key() -> Weight { - Weight::from_ref_time(43_897_000 as u64) + Weight::from_ref_time(43_364_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } @@ -265,34 +265,34 @@ impl did::WeightInfo for WeightInfo { // Storage: Did DidEndpointsCount (r:1 w:1) // Storage: Did ServiceEndpoints (r:1 w:1) fn add_service_endpoint() -> Weight { - Weight::from_ref_time(52_434_000 as u64) + Weight::from_ref_time(52_376_000 as u64) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Did ServiceEndpoints (r:1 w:1) // Storage: Did DidEndpointsCount (r:1 w:1) fn remove_service_endpoint() -> Weight { - Weight::from_ref_time(45_558_000 as u64) + Weight::from_ref_time(44_781_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Did Did (r:1 w:0) fn signature_verification_sr25519(l: u32, ) -> Weight { - Weight::from_ref_time(31_806_000 as u64) + Weight::from_ref_time(33_808_000 as u64) // Standard Error: 0 .saturating_add(Weight::from_ref_time(4_000 as u64).saturating_mul(l as u64)) .saturating_add(T::DbWeight::get().reads(1 as u64)) } // Storage: Did Did (r:1 w:0) fn signature_verification_ed25519(l: u32, ) -> Weight { - Weight::from_ref_time(34_713_000 as u64) + Weight::from_ref_time(33_492_000 as u64) // Standard Error: 0 .saturating_add(Weight::from_ref_time(2_000 as u64).saturating_mul(l as u64)) .saturating_add(T::DbWeight::get().reads(1 as u64)) } // Storage: Did Did (r:1 w:0) fn signature_verification_ecdsa(l: u32, ) -> Weight { - Weight::from_ref_time(19_251_000 as u64) + Weight::from_ref_time(17_995_000 as u64) // Standard Error: 0 .saturating_add(Weight::from_ref_time(1_000 as u64).saturating_mul(l as u64)) .saturating_add(T::DbWeight::get().reads(1 as u64)) @@ -300,14 +300,14 @@ impl did::WeightInfo for WeightInfo { // Storage: Did Did (r:1 w:1) // Storage: System Account (r:1 w:1) fn change_deposit_owner() -> Weight { - Weight::from_ref_time(62_530_000 as u64) + Weight::from_ref_time(61_888_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Did Did (r:1 w:1) // Storage: System Account (r:1 w:1) fn update_deposit() -> Weight { - Weight::from_ref_time(65_637_000 as u64) + Weight::from_ref_time(64_599_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } diff --git a/runtimes/peregrine/src/weights/frame_system.rs b/runtimes/peregrine/src/weights/frame_system.rs index 5a93ee17e..e9bdcdbb3 100644 --- a/runtimes/peregrine/src/weights/frame_system.rs +++ b/runtimes/peregrine/src/weights/frame_system.rs @@ -19,14 +19,14 @@ //! Autogenerated weights for frame_system //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-10-19, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` -//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("spiritnet-dev"), DB CACHE: 1024 +//! DATE: 2022-11-07, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024 // Executed Command: // ./target/release/kilt-parachain // benchmark // pallet -// --chain=spiritnet-dev +// --chain=dev // --steps=50 // --repeat=20 // --pallet=frame-system @@ -34,7 +34,7 @@ // --execution=wasm // --wasm-execution=compiled // --heap-pages=4096 -// --output=./runtimes/spiritnet/src/weights/frame_system.rs +// --output=./runtimes/peregrine/src/weights/frame_system.rs // --template=.maintain/runtime-weight-template.hbs #![cfg_attr(rustfmt, rustfmt_skip)] @@ -49,39 +49,39 @@ use sp_std::marker::PhantomData; pub struct WeightInfo(PhantomData); impl frame_system::WeightInfo for WeightInfo { fn remark(_b: u32, ) -> Weight { - Weight::from_ref_time(11_942_000 as u64) + Weight::from_ref_time(14_175_000 as u64) } fn remark_with_event(b: u32, ) -> Weight { - Weight::from_ref_time(924_000 as u64) + Weight::from_ref_time(0 as u64) // Standard Error: 0 .saturating_add(Weight::from_ref_time(2_000 as u64).saturating_mul(b as u64)) } // Storage: System Digest (r:1 w:1) // Storage: unknown [0x3a686561707061676573] (r:0 w:1) fn set_heap_pages() -> Weight { - Weight::from_ref_time(13_818_000 as u64) + Weight::from_ref_time(13_995_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Skipped Metadata (r:0 w:0) fn set_storage(i: u32, ) -> Weight { - Weight::from_ref_time(544_000 as u64) + Weight::from_ref_time(4_415_000 as u64) // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(843_000 as u64).saturating_mul(i as u64)) + .saturating_add(Weight::from_ref_time(813_000 as u64).saturating_mul(i as u64)) .saturating_add(T::DbWeight::get().writes((1 as u64).saturating_mul(i as u64))) } // Storage: Skipped Metadata (r:0 w:0) fn kill_storage(i: u32, ) -> Weight { - Weight::from_ref_time(0 as u64) + Weight::from_ref_time(545_000 as u64) // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(701_000 as u64).saturating_mul(i as u64)) + .saturating_add(Weight::from_ref_time(664_000 as u64).saturating_mul(i as u64)) .saturating_add(T::DbWeight::get().writes((1 as u64).saturating_mul(i as u64))) } // Storage: Skipped Metadata (r:0 w:0) fn kill_prefix(p: u32, ) -> Weight { - Weight::from_ref_time(673_000 as u64) + Weight::from_ref_time(2_790_000 as u64) // Standard Error: 2_000 - .saturating_add(Weight::from_ref_time(1_368_000 as u64).saturating_mul(p as u64)) + .saturating_add(Weight::from_ref_time(1_326_000 as u64).saturating_mul(p as u64)) .saturating_add(T::DbWeight::get().writes((1 as u64).saturating_mul(p as u64))) } } diff --git a/runtimes/peregrine/src/weights/pallet_balances.rs b/runtimes/peregrine/src/weights/pallet_balances.rs index 15486c117..f0c40fa24 100644 --- a/runtimes/peregrine/src/weights/pallet_balances.rs +++ b/runtimes/peregrine/src/weights/pallet_balances.rs @@ -19,14 +19,14 @@ //! Autogenerated weights for pallet_balances //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-10-19, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` -//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("spiritnet-dev"), DB CACHE: 1024 +//! DATE: 2022-11-07, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024 // Executed Command: // ./target/release/kilt-parachain // benchmark // pallet -// --chain=spiritnet-dev +// --chain=dev // --steps=50 // --repeat=20 // --pallet=pallet-balances @@ -34,7 +34,7 @@ // --execution=wasm // --wasm-execution=compiled // --heap-pages=4096 -// --output=./runtimes/spiritnet/src/weights/pallet_balances.rs +// --output=./runtimes/peregrine/src/weights/pallet_balances.rs // --template=.maintain/runtime-weight-template.hbs #![cfg_attr(rustfmt, rustfmt_skip)] @@ -50,43 +50,43 @@ pub struct WeightInfo(PhantomData); impl pallet_balances::WeightInfo for WeightInfo { // Storage: System Account (r:2 w:2) fn transfer() -> Weight { - Weight::from_ref_time(86_012_000 as u64) + Weight::from_ref_time(88_189_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: System Account (r:1 w:1) fn transfer_keep_alive() -> Weight { - Weight::from_ref_time(57_537_000 as u64) + Weight::from_ref_time(57_636_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: System Account (r:1 w:1) fn set_balance_creating() -> Weight { - Weight::from_ref_time(41_942_000 as u64) + Weight::from_ref_time(42_797_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: System Account (r:1 w:1) fn set_balance_killing() -> Weight { - Weight::from_ref_time(48_048_000 as u64) + Weight::from_ref_time(47_791_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: System Account (r:3 w:3) fn force_transfer() -> Weight { - Weight::from_ref_time(87_468_000 as u64) + Weight::from_ref_time(85_739_000 as u64) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } // Storage: System Account (r:1 w:1) fn transfer_all() -> Weight { - Weight::from_ref_time(66_219_000 as u64) + Weight::from_ref_time(65_442_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: System Account (r:1 w:1) fn force_unreserve() -> Weight { - Weight::from_ref_time(36_368_000 as u64) + Weight::from_ref_time(36_283_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } diff --git a/runtimes/peregrine/src/weights/pallet_collective.rs b/runtimes/peregrine/src/weights/pallet_collective.rs index e8a0418bd..260eea1f1 100644 --- a/runtimes/peregrine/src/weights/pallet_collective.rs +++ b/runtimes/peregrine/src/weights/pallet_collective.rs @@ -19,14 +19,14 @@ //! Autogenerated weights for pallet_collective //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-10-19, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` -//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("spiritnet-dev"), DB CACHE: 1024 +//! DATE: 2022-11-07, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024 // Executed Command: // ./target/release/kilt-parachain // benchmark // pallet -// --chain=spiritnet-dev +// --chain=dev // --steps=50 // --repeat=20 // --pallet=pallet-collective @@ -34,7 +34,7 @@ // --execution=wasm // --wasm-execution=compiled // --heap-pages=4096 -// --output=./runtimes/spiritnet/src/weights/pallet_collective.rs +// --output=./runtimes/peregrine/src/weights/pallet_collective.rs // --template=.maintain/runtime-weight-template.hbs #![cfg_attr(rustfmt, rustfmt_skip)] @@ -52,12 +52,14 @@ impl pallet_collective::WeightInfo for WeightInfo { // Storage: Council Proposals (r:1 w:0) // Storage: Council Voting (r:100 w:100) // Storage: Council Prime (r:0 w:1) - fn set_members(m: u32, _n: u32, p: u32, ) -> Weight { + fn set_members(m: u32, n: u32, p: u32, ) -> Weight { Weight::from_ref_time(0 as u64) - // Standard Error: 8_000 - .saturating_add(Weight::from_ref_time(10_061_000 as u64).saturating_mul(m as u64)) - // Standard Error: 8_000 - .saturating_add(Weight::from_ref_time(14_016_000 as u64).saturating_mul(p as u64)) + // Standard Error: 7_000 + .saturating_add(Weight::from_ref_time(10_971_000 as u64).saturating_mul(m as u64)) + // Standard Error: 7_000 + .saturating_add(Weight::from_ref_time(4_000 as u64).saturating_mul(n as u64)) + // Standard Error: 7_000 + .saturating_add(Weight::from_ref_time(14_868_000 as u64).saturating_mul(p as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(p as u64))) .saturating_add(T::DbWeight::get().writes(2 as u64)) @@ -65,21 +67,21 @@ impl pallet_collective::WeightInfo for WeightInfo { } // Storage: Council Members (r:1 w:0) fn execute(b: u32, m: u32, ) -> Weight { - Weight::from_ref_time(32_208_000 as u64) + Weight::from_ref_time(32_462_000 as u64) // Standard Error: 0 .saturating_add(Weight::from_ref_time(2_000 as u64).saturating_mul(b as u64)) // Standard Error: 0 - .saturating_add(Weight::from_ref_time(25_000 as u64).saturating_mul(m as u64)) + .saturating_add(Weight::from_ref_time(19_000 as u64).saturating_mul(m as u64)) .saturating_add(T::DbWeight::get().reads(1 as u64)) } // Storage: Council Members (r:1 w:0) // Storage: Council ProposalOf (r:1 w:0) fn propose_execute(b: u32, m: u32, ) -> Weight { - Weight::from_ref_time(35_601_000 as u64) + Weight::from_ref_time(35_616_000 as u64) // Standard Error: 0 .saturating_add(Weight::from_ref_time(2_000 as u64).saturating_mul(b as u64)) // Standard Error: 0 - .saturating_add(Weight::from_ref_time(36_000 as u64).saturating_mul(m as u64)) + .saturating_add(Weight::from_ref_time(34_000 as u64).saturating_mul(m as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) } // Storage: Council Members (r:1 w:0) @@ -88,22 +90,22 @@ impl pallet_collective::WeightInfo for WeightInfo { // Storage: Council ProposalCount (r:1 w:1) // Storage: Council Voting (r:0 w:1) fn propose_proposed(b: u32, m: u32, p: u32, ) -> Weight { - Weight::from_ref_time(46_295_000 as u64) + Weight::from_ref_time(44_296_000 as u64) // Standard Error: 0 - .saturating_add(Weight::from_ref_time(5_000 as u64).saturating_mul(b as u64)) - // Standard Error: 2_000 - .saturating_add(Weight::from_ref_time(34_000 as u64).saturating_mul(m as u64)) - // Standard Error: 2_000 - .saturating_add(Weight::from_ref_time(230_000 as u64).saturating_mul(p as u64)) + .saturating_add(Weight::from_ref_time(6_000 as u64).saturating_mul(b as u64)) + // Standard Error: 1_000 + .saturating_add(Weight::from_ref_time(38_000 as u64).saturating_mul(m as u64)) + // Standard Error: 1_000 + .saturating_add(Weight::from_ref_time(240_000 as u64).saturating_mul(p as u64)) .saturating_add(T::DbWeight::get().reads(4 as u64)) .saturating_add(T::DbWeight::get().writes(4 as u64)) } // Storage: Council Members (r:1 w:0) // Storage: Council Voting (r:1 w:1) fn vote(m: u32, ) -> Weight { - Weight::from_ref_time(51_552_000 as u64) - // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(41_000 as u64).saturating_mul(m as u64)) + Weight::from_ref_time(50_347_000 as u64) + // Standard Error: 2_000 + .saturating_add(Weight::from_ref_time(47_000 as u64).saturating_mul(m as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } @@ -112,11 +114,11 @@ impl pallet_collective::WeightInfo for WeightInfo { // Storage: Council Proposals (r:1 w:1) // Storage: Council ProposalOf (r:0 w:1) fn close_early_disapproved(m: u32, p: u32, ) -> Weight { - Weight::from_ref_time(51_029_000 as u64) + Weight::from_ref_time(49_966_000 as u64) // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(27_000 as u64).saturating_mul(m as u64)) + .saturating_add(Weight::from_ref_time(38_000 as u64).saturating_mul(m as u64)) // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(226_000 as u64).saturating_mul(p as u64)) + .saturating_add(Weight::from_ref_time(221_000 as u64).saturating_mul(p as u64)) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } @@ -125,13 +127,13 @@ impl pallet_collective::WeightInfo for WeightInfo { // Storage: Council ProposalOf (r:1 w:1) // Storage: Council Proposals (r:1 w:1) fn close_early_approved(b: u32, m: u32, p: u32, ) -> Weight { - Weight::from_ref_time(62_196_000 as u64) + Weight::from_ref_time(63_399_000 as u64) // Standard Error: 0 - .saturating_add(Weight::from_ref_time(5_000 as u64).saturating_mul(b as u64)) - // Standard Error: 3_000 - .saturating_add(Weight::from_ref_time(62_000 as u64).saturating_mul(m as u64)) - // Standard Error: 3_000 - .saturating_add(Weight::from_ref_time(230_000 as u64).saturating_mul(p as u64)) + .saturating_add(Weight::from_ref_time(3_000 as u64).saturating_mul(b as u64)) + // Standard Error: 1_000 + .saturating_add(Weight::from_ref_time(45_000 as u64).saturating_mul(m as u64)) + // Standard Error: 1_000 + .saturating_add(Weight::from_ref_time(233_000 as u64).saturating_mul(p as u64)) .saturating_add(T::DbWeight::get().reads(4 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } @@ -141,11 +143,11 @@ impl pallet_collective::WeightInfo for WeightInfo { // Storage: Council Proposals (r:1 w:1) // Storage: Council ProposalOf (r:0 w:1) fn close_disapproved(m: u32, p: u32, ) -> Weight { - Weight::from_ref_time(54_208_000 as u64) - // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(36_000 as u64).saturating_mul(m as u64)) - // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(217_000 as u64).saturating_mul(p as u64)) + Weight::from_ref_time(49_538_000 as u64) + // Standard Error: 3_000 + .saturating_add(Weight::from_ref_time(76_000 as u64).saturating_mul(m as u64)) + // Standard Error: 3_000 + .saturating_add(Weight::from_ref_time(245_000 as u64).saturating_mul(p as u64)) .saturating_add(T::DbWeight::get().reads(4 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } @@ -155,13 +157,13 @@ impl pallet_collective::WeightInfo for WeightInfo { // Storage: Council ProposalOf (r:1 w:1) // Storage: Council Proposals (r:1 w:1) fn close_approved(b: u32, m: u32, p: u32, ) -> Weight { - Weight::from_ref_time(65_686_000 as u64) + Weight::from_ref_time(64_754_000 as u64) // Standard Error: 0 - .saturating_add(Weight::from_ref_time(3_000 as u64).saturating_mul(b as u64)) + .saturating_add(Weight::from_ref_time(4_000 as u64).saturating_mul(b as u64)) // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(53_000 as u64).saturating_mul(m as u64)) + .saturating_add(Weight::from_ref_time(50_000 as u64).saturating_mul(m as u64)) // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(244_000 as u64).saturating_mul(p as u64)) + .saturating_add(Weight::from_ref_time(240_000 as u64).saturating_mul(p as u64)) .saturating_add(T::DbWeight::get().reads(5 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } @@ -169,9 +171,9 @@ impl pallet_collective::WeightInfo for WeightInfo { // Storage: Council Voting (r:0 w:1) // Storage: Council ProposalOf (r:0 w:1) fn disapprove_proposal(p: u32, ) -> Weight { - Weight::from_ref_time(36_594_000 as u64) + Weight::from_ref_time(36_467_000 as u64) // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(214_000 as u64).saturating_mul(p as u64)) + .saturating_add(Weight::from_ref_time(216_000 as u64).saturating_mul(p as u64)) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } diff --git a/runtimes/peregrine/src/weights/pallet_democracy.rs b/runtimes/peregrine/src/weights/pallet_democracy.rs index 50acfadf9..1b86b8b52 100644 --- a/runtimes/peregrine/src/weights/pallet_democracy.rs +++ b/runtimes/peregrine/src/weights/pallet_democracy.rs @@ -19,14 +19,14 @@ //! Autogenerated weights for pallet_democracy //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-10-19, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` -//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("spiritnet-dev"), DB CACHE: 1024 +//! DATE: 2022-11-07, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024 // Executed Command: // ./target/release/kilt-parachain // benchmark // pallet -// --chain=spiritnet-dev +// --chain=dev // --steps=50 // --repeat=20 // --pallet=pallet-democracy @@ -34,7 +34,7 @@ // --execution=wasm // --wasm-execution=compiled // --heap-pages=4096 -// --output=./runtimes/spiritnet/src/weights/pallet_democracy.rs +// --output=./runtimes/peregrine/src/weights/pallet_democracy.rs // --template=.maintain/runtime-weight-template.hbs #![cfg_attr(rustfmt, rustfmt_skip)] @@ -53,15 +53,15 @@ impl pallet_democracy::WeightInfo for WeightInfo { // Storage: Democracy Blacklist (r:1 w:0) // Storage: Democracy DepositOf (r:0 w:1) fn propose() -> Weight { - Weight::from_ref_time(83_475_000 as u64) + Weight::from_ref_time(83_287_000 as u64) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } // Storage: Democracy DepositOf (r:1 w:1) fn second(s: u32, ) -> Weight { - Weight::from_ref_time(57_324_000 as u64) + Weight::from_ref_time(56_941_000 as u64) // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(156_000 as u64).saturating_mul(s as u64)) + .saturating_add(Weight::from_ref_time(155_000 as u64).saturating_mul(s as u64)) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } @@ -69,9 +69,9 @@ impl pallet_democracy::WeightInfo for WeightInfo { // Storage: Democracy VotingOf (r:1 w:1) // Storage: Balances Locks (r:1 w:1) fn vote_new(r: u32, ) -> Weight { - Weight::from_ref_time(73_091_000 as u64) - // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(173_000 as u64).saturating_mul(r as u64)) + Weight::from_ref_time(73_223_000 as u64) + // Standard Error: 2_000 + .saturating_add(Weight::from_ref_time(147_000 as u64).saturating_mul(r as u64)) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } @@ -79,16 +79,16 @@ impl pallet_democracy::WeightInfo for WeightInfo { // Storage: Democracy VotingOf (r:1 w:1) // Storage: Balances Locks (r:1 w:1) fn vote_existing(r: u32, ) -> Weight { - Weight::from_ref_time(73_261_000 as u64) - // Standard Error: 5_000 - .saturating_add(Weight::from_ref_time(164_000 as u64).saturating_mul(r as u64)) + Weight::from_ref_time(72_313_000 as u64) + // Standard Error: 3_000 + .saturating_add(Weight::from_ref_time(174_000 as u64).saturating_mul(r as u64)) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } // Storage: Democracy ReferendumInfoOf (r:1 w:1) // Storage: Democracy Cancellations (r:1 w:1) fn emergency_cancel() -> Weight { - Weight::from_ref_time(36_160_000 as u64) + Weight::from_ref_time(35_782_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } @@ -99,45 +99,45 @@ impl pallet_democracy::WeightInfo for WeightInfo { // Storage: Democracy DepositOf (r:1 w:1) // Storage: System Account (r:2 w:2) fn blacklist(p: u32, ) -> Weight { - Weight::from_ref_time(92_597_000 as u64) + Weight::from_ref_time(92_163_000 as u64) // Standard Error: 10_000 - .saturating_add(Weight::from_ref_time(398_000 as u64).saturating_mul(p as u64)) + .saturating_add(Weight::from_ref_time(388_000 as u64).saturating_mul(p as u64)) .saturating_add(T::DbWeight::get().reads(6 as u64)) .saturating_add(T::DbWeight::get().writes(7 as u64)) } // Storage: Democracy NextExternal (r:1 w:1) // Storage: Democracy Blacklist (r:1 w:0) fn external_propose(v: u32, ) -> Weight { - Weight::from_ref_time(25_770_000 as u64) + Weight::from_ref_time(25_305_000 as u64) // Standard Error: 0 - .saturating_add(Weight::from_ref_time(17_000 as u64).saturating_mul(v as u64)) + .saturating_add(Weight::from_ref_time(22_000 as u64).saturating_mul(v as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Democracy NextExternal (r:0 w:1) fn external_propose_majority() -> Weight { - Weight::from_ref_time(8_655_000 as u64) + Weight::from_ref_time(8_506_000 as u64) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Democracy NextExternal (r:0 w:1) fn external_propose_default() -> Weight { - Weight::from_ref_time(8_830_000 as u64) + Weight::from_ref_time(8_419_000 as u64) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Democracy NextExternal (r:1 w:1) // Storage: Democracy ReferendumCount (r:1 w:1) // Storage: Democracy ReferendumInfoOf (r:0 w:1) fn fast_track() -> Weight { - Weight::from_ref_time(36_925_000 as u64) + Weight::from_ref_time(36_563_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } // Storage: Democracy NextExternal (r:1 w:1) // Storage: Democracy Blacklist (r:1 w:1) fn veto_external(v: u32, ) -> Weight { - Weight::from_ref_time(39_474_000 as u64) + Weight::from_ref_time(39_075_000 as u64) // Standard Error: 0 - .saturating_add(Weight::from_ref_time(40_000 as u64).saturating_mul(v as u64)) + .saturating_add(Weight::from_ref_time(37_000 as u64).saturating_mul(v as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } @@ -145,23 +145,23 @@ impl pallet_democracy::WeightInfo for WeightInfo { // Storage: Democracy DepositOf (r:1 w:1) // Storage: System Account (r:2 w:2) fn cancel_proposal(p: u32, ) -> Weight { - Weight::from_ref_time(78_351_000 as u64) - // Standard Error: 4_000 - .saturating_add(Weight::from_ref_time(324_000 as u64).saturating_mul(p as u64)) + Weight::from_ref_time(78_045_000 as u64) + // Standard Error: 2_000 + .saturating_add(Weight::from_ref_time(320_000 as u64).saturating_mul(p as u64)) .saturating_add(T::DbWeight::get().reads(4 as u64)) .saturating_add(T::DbWeight::get().writes(4 as u64)) } // Storage: Democracy ReferendumInfoOf (r:0 w:1) fn cancel_referendum() -> Weight { - Weight::from_ref_time(24_764_000 as u64) + Weight::from_ref_time(23_842_000 as u64) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Scheduler Lookup (r:1 w:1) // Storage: Scheduler Agenda (r:1 w:1) fn cancel_queued(r: u32, ) -> Weight { - Weight::from_ref_time(41_187_000 as u64) + Weight::from_ref_time(41_080_000 as u64) // Standard Error: 2_000 - .saturating_add(Weight::from_ref_time(1_052_000 as u64).saturating_mul(r as u64)) + .saturating_add(Weight::from_ref_time(1_001_000 as u64).saturating_mul(r as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } @@ -169,9 +169,9 @@ impl pallet_democracy::WeightInfo for WeightInfo { // Storage: Democracy ReferendumCount (r:1 w:0) // Storage: Democracy ReferendumInfoOf (r:1 w:0) fn on_initialize_base(r: u32, ) -> Weight { - Weight::from_ref_time(18_697_000 as u64) + Weight::from_ref_time(19_412_000 as u64) // Standard Error: 4_000 - .saturating_add(Weight::from_ref_time(3_132_000 as u64).saturating_mul(r as u64)) + .saturating_add(Weight::from_ref_time(3_021_000 as u64).saturating_mul(r as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(r as u64))) .saturating_add(T::DbWeight::get().writes(1 as u64)) @@ -183,9 +183,9 @@ impl pallet_democracy::WeightInfo for WeightInfo { // Storage: Democracy PublicProps (r:1 w:0) // Storage: Democracy ReferendumInfoOf (r:1 w:0) fn on_initialize_base_with_launch_period(r: u32, ) -> Weight { - Weight::from_ref_time(22_079_000 as u64) - // Standard Error: 7_000 - .saturating_add(Weight::from_ref_time(3_171_000 as u64).saturating_mul(r as u64)) + Weight::from_ref_time(22_572_000 as u64) + // Standard Error: 4_000 + .saturating_add(Weight::from_ref_time(3_039_000 as u64).saturating_mul(r as u64)) .saturating_add(T::DbWeight::get().reads(5 as u64)) .saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(r as u64))) .saturating_add(T::DbWeight::get().writes(1 as u64)) @@ -194,9 +194,9 @@ impl pallet_democracy::WeightInfo for WeightInfo { // Storage: Democracy ReferendumInfoOf (r:1 w:1) // Storage: Balances Locks (r:1 w:1) fn delegate(r: u32, ) -> Weight { - Weight::from_ref_time(78_219_000 as u64) - // Standard Error: 8_000 - .saturating_add(Weight::from_ref_time(4_813_000 as u64).saturating_mul(r as u64)) + Weight::from_ref_time(78_745_000 as u64) + // Standard Error: 6_000 + .saturating_add(Weight::from_ref_time(4_781_000 as u64).saturating_mul(r as u64)) .saturating_add(T::DbWeight::get().reads(4 as u64)) .saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(r as u64))) .saturating_add(T::DbWeight::get().writes(4 as u64)) @@ -205,9 +205,9 @@ impl pallet_democracy::WeightInfo for WeightInfo { // Storage: Democracy VotingOf (r:2 w:2) // Storage: Democracy ReferendumInfoOf (r:1 w:1) fn undelegate(r: u32, ) -> Weight { - Weight::from_ref_time(47_823_000 as u64) + Weight::from_ref_time(46_025_000 as u64) // Standard Error: 5_000 - .saturating_add(Weight::from_ref_time(4_801_000 as u64).saturating_mul(r as u64)) + .saturating_add(Weight::from_ref_time(4_799_000 as u64).saturating_mul(r as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(r as u64))) .saturating_add(T::DbWeight::get().writes(2 as u64)) @@ -215,12 +215,12 @@ impl pallet_democracy::WeightInfo for WeightInfo { } // Storage: Democracy PublicProps (r:0 w:1) fn clear_public_proposals() -> Weight { - Weight::from_ref_time(10_384_000 as u64) + Weight::from_ref_time(10_571_000 as u64) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Democracy Preimages (r:1 w:1) fn note_preimage(b: u32, ) -> Weight { - Weight::from_ref_time(52_162_000 as u64) + Weight::from_ref_time(52_121_000 as u64) // Standard Error: 0 .saturating_add(Weight::from_ref_time(2_000 as u64).saturating_mul(b as u64)) .saturating_add(T::DbWeight::get().reads(1 as u64)) @@ -228,7 +228,7 @@ impl pallet_democracy::WeightInfo for WeightInfo { } // Storage: Democracy Preimages (r:1 w:1) fn note_imminent_preimage(b: u32, ) -> Weight { - Weight::from_ref_time(39_570_000 as u64) + Weight::from_ref_time(39_182_000 as u64) // Standard Error: 0 .saturating_add(Weight::from_ref_time(2_000 as u64).saturating_mul(b as u64)) .saturating_add(T::DbWeight::get().reads(1 as u64)) @@ -237,7 +237,7 @@ impl pallet_democracy::WeightInfo for WeightInfo { // Storage: Democracy Preimages (r:1 w:1) // Storage: System Account (r:1 w:1) fn reap_preimage(b: u32, ) -> Weight { - Weight::from_ref_time(65_024_000 as u64) + Weight::from_ref_time(64_953_000 as u64) // Standard Error: 0 .saturating_add(Weight::from_ref_time(1_000 as u64).saturating_mul(b as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) @@ -247,9 +247,9 @@ impl pallet_democracy::WeightInfo for WeightInfo { // Storage: Balances Locks (r:1 w:1) // Storage: System Account (r:1 w:1) fn unlock_remove(r: u32, ) -> Weight { - Weight::from_ref_time(55_081_000 as u64) - // Standard Error: 5_000 - .saturating_add(Weight::from_ref_time(86_000 as u64).saturating_mul(r as u64)) + Weight::from_ref_time(53_731_000 as u64) + // Standard Error: 1_000 + .saturating_add(Weight::from_ref_time(102_000 as u64).saturating_mul(r as u64)) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } @@ -257,27 +257,27 @@ impl pallet_democracy::WeightInfo for WeightInfo { // Storage: Balances Locks (r:1 w:1) // Storage: System Account (r:1 w:1) fn unlock_set(r: u32, ) -> Weight { - Weight::from_ref_time(52_091_000 as u64) - // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(181_000 as u64).saturating_mul(r as u64)) + Weight::from_ref_time(53_668_000 as u64) + // Standard Error: 2_000 + .saturating_add(Weight::from_ref_time(140_000 as u64).saturating_mul(r as u64)) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } // Storage: Democracy ReferendumInfoOf (r:1 w:1) // Storage: Democracy VotingOf (r:1 w:1) fn remove_vote(r: u32, ) -> Weight { - Weight::from_ref_time(31_724_000 as u64) + Weight::from_ref_time(31_346_000 as u64) // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(190_000 as u64).saturating_mul(r as u64)) + .saturating_add(Weight::from_ref_time(186_000 as u64).saturating_mul(r as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Democracy ReferendumInfoOf (r:1 w:1) // Storage: Democracy VotingOf (r:1 w:1) fn remove_other_vote(r: u32, ) -> Weight { - Weight::from_ref_time(31_871_000 as u64) + Weight::from_ref_time(31_787_000 as u64) // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(193_000 as u64).saturating_mul(r as u64)) + .saturating_add(Weight::from_ref_time(191_000 as u64).saturating_mul(r as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } diff --git a/runtimes/peregrine/src/weights/pallet_did_lookup.rs b/runtimes/peregrine/src/weights/pallet_did_lookup.rs index eb12fa31d..e39afb689 100644 --- a/runtimes/peregrine/src/weights/pallet_did_lookup.rs +++ b/runtimes/peregrine/src/weights/pallet_did_lookup.rs @@ -19,22 +19,22 @@ //! Autogenerated weights for pallet_did_lookup //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-10-26, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` -//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("spiritnet-dev"), DB CACHE: 1024 +//! DATE: 2022-11-07, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024 // Executed Command: // ./target/release/kilt-parachain // benchmark // pallet -// --chain=spiritnet-dev -// --steps=1 +// --chain=dev +// --steps=50 // --repeat=20 -// --pallet=pallet_did_lookup +// --pallet=pallet-did-lookup // --extrinsic=* // --execution=wasm // --wasm-execution=compiled // --heap-pages=4096 -// --output=./runtimes/spiritnet/src/weights/pallet_did_lookup.rs +// --output=./runtimes/peregrine/src/weights/pallet_did_lookup.rs // --template=.maintain/runtime-weight-template.hbs #![cfg_attr(rustfmt, rustfmt_skip)] @@ -52,7 +52,7 @@ impl pallet_did_lookup::WeightInfo for WeightInfo { // Storage: DidLookup ConnectedDids (r:1 w:1) // Storage: DidLookup ConnectedAccounts (r:0 w:2) fn associate_account() -> Weight { - Weight::from_ref_time(133_386_000 as u64) + Weight::from_ref_time(134_609_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(4 as u64)) } @@ -60,7 +60,7 @@ impl pallet_did_lookup::WeightInfo for WeightInfo { // Storage: DidLookup ConnectedDids (r:1 w:1) // Storage: DidLookup ConnectedAccounts (r:0 w:2) fn associate_sender() -> Weight { - Weight::from_ref_time(72_692_000 as u64) + Weight::from_ref_time(74_100_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(4 as u64)) } @@ -68,7 +68,7 @@ impl pallet_did_lookup::WeightInfo for WeightInfo { // Storage: System Account (r:1 w:1) // Storage: DidLookup ConnectedAccounts (r:0 w:1) fn remove_sender_association() -> Weight { - Weight::from_ref_time(52_441_000 as u64) + Weight::from_ref_time(53_384_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } @@ -76,21 +76,21 @@ impl pallet_did_lookup::WeightInfo for WeightInfo { // Storage: System Account (r:1 w:1) // Storage: DidLookup ConnectedAccounts (r:0 w:1) fn remove_account_association() -> Weight { - Weight::from_ref_time(54_371_000 as u64) + Weight::from_ref_time(55_181_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } // Storage: DidLookup ConnectedDids (r:1 w:1) // Storage: System Account (r:2 w:2) fn change_deposit_owner() -> Weight { - Weight::from_ref_time(67_853_000 as u64) + Weight::from_ref_time(68_935_000 as u64) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } // Storage: DidLookup ConnectedDids (r:1 w:1) // Storage: System Account (r:1 w:1) fn update_deposit() -> Weight { - Weight::from_ref_time(62_103_000 as u64) + Weight::from_ref_time(63_024_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } diff --git a/runtimes/peregrine/src/weights/pallet_indices.rs b/runtimes/peregrine/src/weights/pallet_indices.rs index 6459828a9..aab7ff840 100644 --- a/runtimes/peregrine/src/weights/pallet_indices.rs +++ b/runtimes/peregrine/src/weights/pallet_indices.rs @@ -19,14 +19,14 @@ //! Autogenerated weights for pallet_indices //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-10-19, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` -//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("spiritnet-dev"), DB CACHE: 1024 +//! DATE: 2022-11-07, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024 // Executed Command: // ./target/release/kilt-parachain // benchmark // pallet -// --chain=spiritnet-dev +// --chain=dev // --steps=50 // --repeat=20 // --pallet=pallet-indices @@ -34,7 +34,7 @@ // --execution=wasm // --wasm-execution=compiled // --heap-pages=4096 -// --output=./runtimes/spiritnet/src/weights/pallet_indices.rs +// --output=./runtimes/peregrine/src/weights/pallet_indices.rs // --template=.maintain/runtime-weight-template.hbs #![cfg_attr(rustfmt, rustfmt_skip)] @@ -50,33 +50,33 @@ pub struct WeightInfo(PhantomData); impl pallet_indices::WeightInfo for WeightInfo { // Storage: Indices Accounts (r:1 w:1) fn claim() -> Weight { - Weight::from_ref_time(46_486_000 as u64) + Weight::from_ref_time(45_859_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Indices Accounts (r:1 w:1) // Storage: System Account (r:1 w:1) fn transfer() -> Weight { - Weight::from_ref_time(59_365_000 as u64) + Weight::from_ref_time(58_382_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Indices Accounts (r:1 w:1) fn free() -> Weight { - Weight::from_ref_time(50_692_000 as u64) + Weight::from_ref_time(49_802_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Indices Accounts (r:1 w:1) // Storage: System Account (r:1 w:1) fn force_transfer() -> Weight { - Weight::from_ref_time(50_736_000 as u64) + Weight::from_ref_time(50_024_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Indices Accounts (r:1 w:1) fn freeze() -> Weight { - Weight::from_ref_time(58_108_000 as u64) + Weight::from_ref_time(57_560_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } diff --git a/runtimes/peregrine/src/weights/pallet_inflation.rs b/runtimes/peregrine/src/weights/pallet_inflation.rs index 7ec117e58..c7d01ff41 100644 --- a/runtimes/peregrine/src/weights/pallet_inflation.rs +++ b/runtimes/peregrine/src/weights/pallet_inflation.rs @@ -19,14 +19,14 @@ //! Autogenerated weights for pallet_inflation //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-10-19, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` -//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("spiritnet-dev"), DB CACHE: 1024 +//! DATE: 2022-11-07, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024 // Executed Command: // ./target/release/kilt-parachain // benchmark // pallet -// --chain=spiritnet-dev +// --chain=dev // --steps=50 // --repeat=20 // --pallet=pallet-inflation @@ -34,7 +34,7 @@ // --execution=wasm // --wasm-execution=compiled // --heap-pages=4096 -// --output=./runtimes/spiritnet/src/weights/pallet_inflation.rs +// --output=./runtimes/peregrine/src/weights/pallet_inflation.rs // --template=.maintain/runtime-weight-template.hbs #![cfg_attr(rustfmt, rustfmt_skip)] @@ -50,11 +50,11 @@ pub struct WeightInfo(PhantomData); impl pallet_inflation::WeightInfo for WeightInfo { // Storage: System Account (r:1 w:1) fn on_initialize_mint_to_treasury() -> Weight { - Weight::from_ref_time(37_518_000 as u64) + Weight::from_ref_time(37_031_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } fn on_initialize_no_action() -> Weight { - Weight::from_ref_time(291_000 as u64) + Weight::from_ref_time(264_000 as u64) } } diff --git a/runtimes/peregrine/src/weights/pallet_membership.rs b/runtimes/peregrine/src/weights/pallet_membership.rs index d4f4cf518..3705b96ab 100644 --- a/runtimes/peregrine/src/weights/pallet_membership.rs +++ b/runtimes/peregrine/src/weights/pallet_membership.rs @@ -19,14 +19,14 @@ //! Autogenerated weights for pallet_membership //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-10-19, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` -//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("spiritnet-dev"), DB CACHE: 1024 +//! DATE: 2022-11-07, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024 // Executed Command: // ./target/release/kilt-parachain // benchmark // pallet -// --chain=spiritnet-dev +// --chain=dev // --steps=50 // --repeat=20 // --pallet=pallet-membership @@ -34,7 +34,7 @@ // --execution=wasm // --wasm-execution=compiled // --heap-pages=4096 -// --output=./runtimes/spiritnet/src/weights/pallet_membership.rs +// --output=./runtimes/peregrine/src/weights/pallet_membership.rs // --template=.maintain/runtime-weight-template.hbs #![cfg_attr(rustfmt, rustfmt_skip)] @@ -53,9 +53,9 @@ impl pallet_membership::WeightInfo for WeightInfo { // Storage: TechnicalCommittee Members (r:0 w:1) // Storage: TechnicalCommittee Prime (r:0 w:1) fn add_member(m: u32, ) -> Weight { - Weight::from_ref_time(35_803_000 as u64) + Weight::from_ref_time(35_545_000 as u64) // Standard Error: 0 - .saturating_add(Weight::from_ref_time(52_000 as u64).saturating_mul(m as u64)) + .saturating_add(Weight::from_ref_time(50_000 as u64).saturating_mul(m as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } @@ -65,9 +65,9 @@ impl pallet_membership::WeightInfo for WeightInfo { // Storage: TechnicalCommittee Members (r:0 w:1) // Storage: TechnicalCommittee Prime (r:0 w:1) fn remove_member(m: u32, ) -> Weight { - Weight::from_ref_time(39_797_000 as u64) + Weight::from_ref_time(39_516_000 as u64) // Standard Error: 0 - .saturating_add(Weight::from_ref_time(53_000 as u64).saturating_mul(m as u64)) + .saturating_add(Weight::from_ref_time(52_000 as u64).saturating_mul(m as u64)) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } @@ -77,9 +77,9 @@ impl pallet_membership::WeightInfo for WeightInfo { // Storage: TechnicalCommittee Members (r:0 w:1) // Storage: TechnicalCommittee Prime (r:0 w:1) fn swap_member(m: u32, ) -> Weight { - Weight::from_ref_time(40_332_000 as u64) + Weight::from_ref_time(40_058_000 as u64) // Standard Error: 0 - .saturating_add(Weight::from_ref_time(63_000 as u64).saturating_mul(m as u64)) + .saturating_add(Weight::from_ref_time(59_000 as u64).saturating_mul(m as u64)) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } @@ -89,9 +89,9 @@ impl pallet_membership::WeightInfo for WeightInfo { // Storage: TechnicalCommittee Members (r:0 w:1) // Storage: TechnicalCommittee Prime (r:0 w:1) fn reset_member(m: u32, ) -> Weight { - Weight::from_ref_time(40_046_000 as u64) - // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(182_000 as u64).saturating_mul(m as u64)) + Weight::from_ref_time(39_939_000 as u64) + // Standard Error: 3_000 + .saturating_add(Weight::from_ref_time(183_000 as u64).saturating_mul(m as u64)) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } @@ -101,9 +101,9 @@ impl pallet_membership::WeightInfo for WeightInfo { // Storage: TechnicalCommittee Members (r:0 w:1) // Storage: TechnicalCommittee Prime (r:0 w:1) fn change_key(m: u32, ) -> Weight { - Weight::from_ref_time(41_263_000 as u64) + Weight::from_ref_time(40_469_000 as u64) // Standard Error: 0 - .saturating_add(Weight::from_ref_time(66_000 as u64).saturating_mul(m as u64)) + .saturating_add(Weight::from_ref_time(67_000 as u64).saturating_mul(m as u64)) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(4 as u64)) } @@ -111,7 +111,7 @@ impl pallet_membership::WeightInfo for WeightInfo { // Storage: TechnicalMembership Prime (r:0 w:1) // Storage: TechnicalCommittee Prime (r:0 w:1) fn set_prime(m: u32, ) -> Weight { - Weight::from_ref_time(15_778_000 as u64) + Weight::from_ref_time(15_927_000 as u64) // Standard Error: 0 .saturating_add(Weight::from_ref_time(19_000 as u64).saturating_mul(m as u64)) .saturating_add(T::DbWeight::get().reads(1 as u64)) @@ -120,9 +120,9 @@ impl pallet_membership::WeightInfo for WeightInfo { // Storage: TechnicalMembership Prime (r:0 w:1) // Storage: TechnicalCommittee Prime (r:0 w:1) fn clear_prime(m: u32, ) -> Weight { - Weight::from_ref_time(9_971_000 as u64) + Weight::from_ref_time(9_858_000 as u64) // Standard Error: 0 - .saturating_add(Weight::from_ref_time(3_000 as u64).saturating_mul(m as u64)) + .saturating_add(Weight::from_ref_time(4_000 as u64).saturating_mul(m as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } } diff --git a/runtimes/peregrine/src/weights/pallet_preimage.rs b/runtimes/peregrine/src/weights/pallet_preimage.rs index c17857f12..e6ae728af 100644 --- a/runtimes/peregrine/src/weights/pallet_preimage.rs +++ b/runtimes/peregrine/src/weights/pallet_preimage.rs @@ -19,14 +19,14 @@ //! Autogenerated weights for pallet_preimage //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-10-19, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` -//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("spiritnet-dev"), DB CACHE: 1024 +//! DATE: 2022-11-07, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024 // Executed Command: // ./target/release/kilt-parachain // benchmark // pallet -// --chain=spiritnet-dev +// --chain=dev // --steps=50 // --repeat=20 // --pallet=pallet-preimage @@ -34,7 +34,7 @@ // --execution=wasm // --wasm-execution=compiled // --heap-pages=4096 -// --output=./runtimes/spiritnet/src/weights/pallet_preimage.rs +// --output=./runtimes/peregrine/src/weights/pallet_preimage.rs // --template=.maintain/runtime-weight-template.hbs #![cfg_attr(rustfmt, rustfmt_skip)] @@ -78,58 +78,58 @@ impl pallet_preimage::WeightInfo for WeightInfo { // Storage: Preimage StatusFor (r:1 w:1) // Storage: Preimage PreimageFor (r:0 w:1) fn unnote_preimage() -> Weight { - Weight::from_ref_time(62_744_000 as u64) + Weight::from_ref_time(61_090_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Preimage StatusFor (r:1 w:1) // Storage: Preimage PreimageFor (r:0 w:1) fn unnote_no_deposit_preimage() -> Weight { - Weight::from_ref_time(39_835_000 as u64) + Weight::from_ref_time(38_337_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Preimage StatusFor (r:1 w:1) fn request_preimage() -> Weight { - Weight::from_ref_time(59_989_000 as u64) + Weight::from_ref_time(58_161_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Preimage StatusFor (r:1 w:1) fn request_no_deposit_preimage() -> Weight { - Weight::from_ref_time(37_184_000 as u64) + Weight::from_ref_time(36_324_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Preimage StatusFor (r:1 w:1) fn request_unnoted_preimage() -> Weight { - Weight::from_ref_time(29_625_000 as u64) + Weight::from_ref_time(27_788_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Preimage StatusFor (r:1 w:1) fn request_requested_preimage() -> Weight { - Weight::from_ref_time(15_468_000 as u64) + Weight::from_ref_time(14_825_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Preimage StatusFor (r:1 w:1) // Storage: Preimage PreimageFor (r:0 w:1) fn unrequest_preimage() -> Weight { - Weight::from_ref_time(39_973_000 as u64) + Weight::from_ref_time(38_618_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Preimage StatusFor (r:1 w:1) // Storage: Preimage PreimageFor (r:0 w:1) fn unrequest_unnoted_preimage() -> Weight { - Weight::from_ref_time(31_483_000 as u64) + Weight::from_ref_time(30_731_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Preimage StatusFor (r:1 w:1) fn unrequest_multi_referenced_preimage() -> Weight { - Weight::from_ref_time(15_539_000 as u64) + Weight::from_ref_time(15_233_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } diff --git a/runtimes/peregrine/src/weights/pallet_proxy.rs b/runtimes/peregrine/src/weights/pallet_proxy.rs index 9e7f0cd03..1ef2aa2c3 100644 --- a/runtimes/peregrine/src/weights/pallet_proxy.rs +++ b/runtimes/peregrine/src/weights/pallet_proxy.rs @@ -19,14 +19,14 @@ //! Autogenerated weights for pallet_proxy //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-10-19, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` -//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("spiritnet-dev"), DB CACHE: 1024 +//! DATE: 2022-11-07, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024 // Executed Command: // ./target/release/kilt-parachain // benchmark // pallet -// --chain=spiritnet-dev +// --chain=dev // --steps=50 // --repeat=20 // --pallet=pallet-proxy @@ -34,7 +34,7 @@ // --execution=wasm // --wasm-execution=compiled // --heap-pages=4096 -// --output=./runtimes/spiritnet/src/weights/pallet_proxy.rs +// --output=./runtimes/peregrine/src/weights/pallet_proxy.rs // --template=.maintain/runtime-weight-template.hbs #![cfg_attr(rustfmt, rustfmt_skip)] @@ -50,38 +50,36 @@ pub struct WeightInfo(PhantomData); impl pallet_proxy::WeightInfo for WeightInfo { // Storage: Proxy Proxies (r:1 w:0) fn proxy(p: u32, ) -> Weight { - Weight::from_ref_time(35_412_000 as u64) - // Standard Error: 5_000 - .saturating_add(Weight::from_ref_time(137_000 as u64).saturating_mul(p as u64)) + Weight::from_ref_time(35_453_000 as u64) + // Standard Error: 4_000 + .saturating_add(Weight::from_ref_time(116_000 as u64).saturating_mul(p as u64)) .saturating_add(T::DbWeight::get().reads(1 as u64)) } // Storage: Proxy Proxies (r:1 w:0) // Storage: Proxy Announcements (r:1 w:1) // Storage: System Account (r:1 w:1) - fn proxy_announced(a: u32, p: u32, ) -> Weight { - Weight::from_ref_time(63_898_000 as u64) + fn proxy_announced(a: u32, _p: u32, ) -> Weight { + Weight::from_ref_time(63_669_000 as u64) // Standard Error: 7_000 - .saturating_add(Weight::from_ref_time(353_000 as u64).saturating_mul(a as u64)) - // Standard Error: 8_000 - .saturating_add(Weight::from_ref_time(37_000 as u64).saturating_mul(p as u64)) + .saturating_add(Weight::from_ref_time(354_000 as u64).saturating_mul(a as u64)) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Proxy Announcements (r:1 w:1) // Storage: System Account (r:1 w:1) fn remove_announcement(a: u32, _p: u32, ) -> Weight { - Weight::from_ref_time(46_307_000 as u64) - // Standard Error: 4_000 - .saturating_add(Weight::from_ref_time(350_000 as u64).saturating_mul(a as u64)) + Weight::from_ref_time(46_106_000 as u64) + // Standard Error: 6_000 + .saturating_add(Weight::from_ref_time(362_000 as u64).saturating_mul(a as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Proxy Announcements (r:1 w:1) // Storage: System Account (r:1 w:1) fn reject_announcement(a: u32, _p: u32, ) -> Weight { - Weight::from_ref_time(46_509_000 as u64) + Weight::from_ref_time(46_507_000 as u64) // Standard Error: 5_000 - .saturating_add(Weight::from_ref_time(346_000 as u64).saturating_mul(a as u64)) + .saturating_add(Weight::from_ref_time(306_000 as u64).saturating_mul(a as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } @@ -89,52 +87,52 @@ impl pallet_proxy::WeightInfo for WeightInfo { // Storage: Proxy Announcements (r:1 w:1) // Storage: System Account (r:1 w:1) fn announce(a: u32, p: u32, ) -> Weight { - Weight::from_ref_time(57_938_000 as u64) + Weight::from_ref_time(56_879_000 as u64) + // Standard Error: 8_000 + .saturating_add(Weight::from_ref_time(425_000 as u64).saturating_mul(a as u64)) // Standard Error: 8_000 - .saturating_add(Weight::from_ref_time(399_000 as u64).saturating_mul(a as u64)) - // Standard Error: 9_000 - .saturating_add(Weight::from_ref_time(20_000 as u64).saturating_mul(p as u64)) + .saturating_add(Weight::from_ref_time(41_000 as u64).saturating_mul(p as u64)) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Proxy Proxies (r:1 w:1) fn add_proxy(p: u32, ) -> Weight { - Weight::from_ref_time(51_510_000 as u64) - // Standard Error: 5_000 - .saturating_add(Weight::from_ref_time(141_000 as u64).saturating_mul(p as u64)) + Weight::from_ref_time(50_431_000 as u64) + // Standard Error: 4_000 + .saturating_add(Weight::from_ref_time(153_000 as u64).saturating_mul(p as u64)) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Proxy Proxies (r:1 w:1) fn remove_proxy(p: u32, ) -> Weight { - Weight::from_ref_time(50_638_000 as u64) - // Standard Error: 6_000 - .saturating_add(Weight::from_ref_time(264_000 as u64).saturating_mul(p as u64)) + Weight::from_ref_time(50_457_000 as u64) + // Standard Error: 5_000 + .saturating_add(Weight::from_ref_time(223_000 as u64).saturating_mul(p as u64)) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Proxy Proxies (r:1 w:1) fn remove_proxies(p: u32, ) -> Weight { - Weight::from_ref_time(44_224_000 as u64) + Weight::from_ref_time(43_320_000 as u64) // Standard Error: 4_000 - .saturating_add(Weight::from_ref_time(164_000 as u64).saturating_mul(p as u64)) + .saturating_add(Weight::from_ref_time(235_000 as u64).saturating_mul(p as u64)) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: unknown [0x3a65787472696e7369635f696e646578] (r:1 w:0) // Storage: Proxy Proxies (r:1 w:1) fn anonymous(p: u32, ) -> Weight { - Weight::from_ref_time(56_775_000 as u64) + Weight::from_ref_time(56_237_000 as u64) // Standard Error: 5_000 - .saturating_add(Weight::from_ref_time(112_000 as u64).saturating_mul(p as u64)) + .saturating_add(Weight::from_ref_time(78_000 as u64).saturating_mul(p as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Proxy Proxies (r:1 w:1) fn kill_anonymous(p: u32, ) -> Weight { - Weight::from_ref_time(46_450_000 as u64) - // Standard Error: 4_000 - .saturating_add(Weight::from_ref_time(210_000 as u64).saturating_mul(p as u64)) + Weight::from_ref_time(45_796_000 as u64) + // Standard Error: 3_000 + .saturating_add(Weight::from_ref_time(143_000 as u64).saturating_mul(p as u64)) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } diff --git a/runtimes/peregrine/src/weights/pallet_scheduler.rs b/runtimes/peregrine/src/weights/pallet_scheduler.rs index 3b060fee1..3fe998d89 100644 --- a/runtimes/peregrine/src/weights/pallet_scheduler.rs +++ b/runtimes/peregrine/src/weights/pallet_scheduler.rs @@ -19,14 +19,14 @@ //! Autogenerated weights for pallet_scheduler //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-10-19, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` -//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("spiritnet-dev"), DB CACHE: 1024 +//! DATE: 2022-11-07, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024 // Executed Command: // ./target/release/kilt-parachain // benchmark // pallet -// --chain=spiritnet-dev +// --chain=dev // --steps=50 // --repeat=20 // --pallet=pallet-scheduler @@ -34,7 +34,7 @@ // --execution=wasm // --wasm-execution=compiled // --heap-pages=4096 -// --output=./runtimes/spiritnet/src/weights/pallet_scheduler.rs +// --output=./runtimes/peregrine/src/weights/pallet_scheduler.rs // --template=.maintain/runtime-weight-template.hbs #![cfg_attr(rustfmt, rustfmt_skip)] @@ -53,9 +53,9 @@ impl pallet_scheduler::WeightInfo for WeightInfo { // Storage: Preimage StatusFor (r:1 w:1) // Storage: Scheduler Lookup (r:0 w:1) fn on_initialize_periodic_named_resolved(s: u32, ) -> Weight { - Weight::from_ref_time(34_195_000 as u64) - // Standard Error: 41_000 - .saturating_add(Weight::from_ref_time(31_314_000 as u64).saturating_mul(s as u64)) + Weight::from_ref_time(39_657_000 as u64) + // Standard Error: 35_000 + .saturating_add(Weight::from_ref_time(30_657_000 as u64).saturating_mul(s as u64)) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().reads((3 as u64).saturating_mul(s as u64))) .saturating_add(T::DbWeight::get().writes(1 as u64)) @@ -66,9 +66,9 @@ impl pallet_scheduler::WeightInfo for WeightInfo { // Storage: Preimage StatusFor (r:1 w:1) // Storage: Scheduler Lookup (r:0 w:1) fn on_initialize_named_resolved(s: u32, ) -> Weight { - Weight::from_ref_time(34_037_000 as u64) - // Standard Error: 39_000 - .saturating_add(Weight::from_ref_time(24_919_000 as u64).saturating_mul(s as u64)) + Weight::from_ref_time(36_610_000 as u64) + // Standard Error: 38_000 + .saturating_add(Weight::from_ref_time(24_526_000 as u64).saturating_mul(s as u64)) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().reads((2 as u64).saturating_mul(s as u64))) .saturating_add(T::DbWeight::get().writes(1 as u64)) @@ -78,9 +78,9 @@ impl pallet_scheduler::WeightInfo for WeightInfo { // Storage: Preimage PreimageFor (r:1 w:1) // Storage: Preimage StatusFor (r:1 w:1) fn on_initialize_periodic_resolved(s: u32, ) -> Weight { - Weight::from_ref_time(36_042_000 as u64) - // Standard Error: 43_000 - .saturating_add(Weight::from_ref_time(26_188_000 as u64).saturating_mul(s as u64)) + Weight::from_ref_time(33_522_000 as u64) + // Standard Error: 34_000 + .saturating_add(Weight::from_ref_time(25_972_000 as u64).saturating_mul(s as u64)) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().reads((3 as u64).saturating_mul(s as u64))) .saturating_add(T::DbWeight::get().writes(1 as u64)) @@ -90,9 +90,9 @@ impl pallet_scheduler::WeightInfo for WeightInfo { // Storage: Preimage PreimageFor (r:1 w:1) // Storage: Preimage StatusFor (r:1 w:1) fn on_initialize_resolved(s: u32, ) -> Weight { - Weight::from_ref_time(35_462_000 as u64) - // Standard Error: 40_000 - .saturating_add(Weight::from_ref_time(22_793_000 as u64).saturating_mul(s as u64)) + Weight::from_ref_time(32_379_000 as u64) + // Standard Error: 34_000 + .saturating_add(Weight::from_ref_time(22_381_000 as u64).saturating_mul(s as u64)) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().reads((2 as u64).saturating_mul(s as u64))) .saturating_add(T::DbWeight::get().writes(1 as u64)) @@ -102,9 +102,9 @@ impl pallet_scheduler::WeightInfo for WeightInfo { // Storage: Preimage PreimageFor (r:1 w:0) // Storage: Scheduler Lookup (r:0 w:1) fn on_initialize_named_aborted(s: u32, ) -> Weight { - Weight::from_ref_time(16_631_000 as u64) - // Standard Error: 18_000 - .saturating_add(Weight::from_ref_time(9_084_000 as u64).saturating_mul(s as u64)) + Weight::from_ref_time(19_133_000 as u64) + // Standard Error: 17_000 + .saturating_add(Weight::from_ref_time(8_862_000 as u64).saturating_mul(s as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(s as u64))) .saturating_add(T::DbWeight::get().writes(2 as u64)) @@ -113,9 +113,9 @@ impl pallet_scheduler::WeightInfo for WeightInfo { // Storage: Scheduler Agenda (r:2 w:2) // Storage: Preimage PreimageFor (r:1 w:0) fn on_initialize_aborted(s: u32, ) -> Weight { - Weight::from_ref_time(17_639_000 as u64) + Weight::from_ref_time(17_636_000 as u64) // Standard Error: 14_000 - .saturating_add(Weight::from_ref_time(4_579_000 as u64).saturating_mul(s as u64)) + .saturating_add(Weight::from_ref_time(4_612_000 as u64).saturating_mul(s as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(s as u64))) .saturating_add(T::DbWeight::get().writes(2 as u64)) @@ -123,9 +123,9 @@ impl pallet_scheduler::WeightInfo for WeightInfo { // Storage: Scheduler Agenda (r:2 w:2) // Storage: Scheduler Lookup (r:0 w:1) fn on_initialize_periodic_named(s: u32, ) -> Weight { - Weight::from_ref_time(32_498_000 as u64) - // Standard Error: 41_000 - .saturating_add(Weight::from_ref_time(16_011_000 as u64).saturating_mul(s as u64)) + Weight::from_ref_time(33_523_000 as u64) + // Standard Error: 35_000 + .saturating_add(Weight::from_ref_time(15_752_000 as u64).saturating_mul(s as u64)) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(s as u64))) .saturating_add(T::DbWeight::get().writes(1 as u64)) @@ -133,9 +133,9 @@ impl pallet_scheduler::WeightInfo for WeightInfo { } // Storage: Scheduler Agenda (r:2 w:2) fn on_initialize_periodic(s: u32, ) -> Weight { - Weight::from_ref_time(27_296_000 as u64) + Weight::from_ref_time(26_528_000 as u64) // Standard Error: 34_000 - .saturating_add(Weight::from_ref_time(11_645_000 as u64).saturating_mul(s as u64)) + .saturating_add(Weight::from_ref_time(11_541_000 as u64).saturating_mul(s as u64)) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(s as u64))) .saturating_add(T::DbWeight::get().writes(1 as u64)) @@ -144,53 +144,53 @@ impl pallet_scheduler::WeightInfo for WeightInfo { // Storage: Scheduler Agenda (r:1 w:1) // Storage: Scheduler Lookup (r:0 w:1) fn on_initialize_named(s: u32, ) -> Weight { - Weight::from_ref_time(28_141_000 as u64) - // Standard Error: 34_000 - .saturating_add(Weight::from_ref_time(10_286_000 as u64).saturating_mul(s as u64)) + Weight::from_ref_time(27_589_000 as u64) + // Standard Error: 30_000 + .saturating_add(Weight::from_ref_time(10_293_000 as u64).saturating_mul(s as u64)) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) .saturating_add(T::DbWeight::get().writes((1 as u64).saturating_mul(s as u64))) } // Storage: Scheduler Agenda (r:1 w:1) fn on_initialize(s: u32, ) -> Weight { - Weight::from_ref_time(24_985_000 as u64) - // Standard Error: 26_000 - .saturating_add(Weight::from_ref_time(8_547_000 as u64).saturating_mul(s as u64)) + Weight::from_ref_time(24_390_000 as u64) + // Standard Error: 28_000 + .saturating_add(Weight::from_ref_time(8_612_000 as u64).saturating_mul(s as u64)) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Scheduler Agenda (r:1 w:1) fn schedule(s: u32, ) -> Weight { - Weight::from_ref_time(34_698_000 as u64) + Weight::from_ref_time(33_885_000 as u64) // Standard Error: 2_000 - .saturating_add(Weight::from_ref_time(128_000 as u64).saturating_mul(s as u64)) + .saturating_add(Weight::from_ref_time(127_000 as u64).saturating_mul(s as u64)) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Scheduler Agenda (r:1 w:1) // Storage: Scheduler Lookup (r:0 w:1) fn cancel(s: u32, ) -> Weight { - Weight::from_ref_time(34_349_000 as u64) + Weight::from_ref_time(33_766_000 as u64) // Standard Error: 3_000 - .saturating_add(Weight::from_ref_time(1_065_000 as u64).saturating_mul(s as u64)) + .saturating_add(Weight::from_ref_time(1_062_000 as u64).saturating_mul(s as u64)) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Scheduler Lookup (r:1 w:1) // Storage: Scheduler Agenda (r:1 w:1) fn schedule_named(s: u32, ) -> Weight { - Weight::from_ref_time(41_101_000 as u64) - // Standard Error: 5_000 - .saturating_add(Weight::from_ref_time(197_000 as u64).saturating_mul(s as u64)) + Weight::from_ref_time(40_632_000 as u64) + // Standard Error: 4_000 + .saturating_add(Weight::from_ref_time(194_000 as u64).saturating_mul(s as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Scheduler Lookup (r:1 w:1) // Storage: Scheduler Agenda (r:1 w:1) fn cancel_named(s: u32, ) -> Weight { - Weight::from_ref_time(39_013_000 as u64) - // Standard Error: 7_000 - .saturating_add(Weight::from_ref_time(1_113_000 as u64).saturating_mul(s as u64)) + Weight::from_ref_time(37_902_000 as u64) + // Standard Error: 5_000 + .saturating_add(Weight::from_ref_time(1_114_000 as u64).saturating_mul(s as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } diff --git a/runtimes/peregrine/src/weights/pallet_session.rs b/runtimes/peregrine/src/weights/pallet_session.rs index b51306248..b660da89d 100644 --- a/runtimes/peregrine/src/weights/pallet_session.rs +++ b/runtimes/peregrine/src/weights/pallet_session.rs @@ -19,14 +19,14 @@ //! Autogenerated weights for pallet_session //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-10-19, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` -//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("spiritnet-dev"), DB CACHE: 1024 +//! DATE: 2022-11-07, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024 // Executed Command: // ./target/release/kilt-parachain // benchmark // pallet -// --chain=spiritnet-dev +// --chain=dev // --steps=50 // --repeat=20 // --pallet=pallet-session @@ -34,7 +34,7 @@ // --execution=wasm // --wasm-execution=compiled // --heap-pages=4096 -// --output=./runtimes/spiritnet/src/weights/pallet_session.rs +// --output=./runtimes/peregrine/src/weights/pallet_session.rs // --template=.maintain/runtime-weight-template.hbs #![cfg_attr(rustfmt, rustfmt_skip)] @@ -51,14 +51,14 @@ impl pallet_session::WeightInfo for WeightInfo { // Storage: Session NextKeys (r:1 w:1) // Storage: Session KeyOwner (r:1 w:1) fn set_keys() -> Weight { - Weight::from_ref_time(38_570_000 as u64) + Weight::from_ref_time(38_292_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Session NextKeys (r:1 w:1) // Storage: Session KeyOwner (r:0 w:1) fn purge_keys() -> Weight { - Weight::from_ref_time(33_231_000 as u64) + Weight::from_ref_time(33_521_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } diff --git a/runtimes/peregrine/src/weights/pallet_timestamp.rs b/runtimes/peregrine/src/weights/pallet_timestamp.rs index 663100c52..bb85b9961 100644 --- a/runtimes/peregrine/src/weights/pallet_timestamp.rs +++ b/runtimes/peregrine/src/weights/pallet_timestamp.rs @@ -19,14 +19,14 @@ //! Autogenerated weights for pallet_timestamp //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-10-19, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` -//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("spiritnet-dev"), DB CACHE: 1024 +//! DATE: 2022-11-07, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024 // Executed Command: // ./target/release/kilt-parachain // benchmark // pallet -// --chain=spiritnet-dev +// --chain=dev // --steps=50 // --repeat=20 // --pallet=pallet-timestamp @@ -34,7 +34,7 @@ // --execution=wasm // --wasm-execution=compiled // --heap-pages=4096 -// --output=./runtimes/spiritnet/src/weights/pallet_timestamp.rs +// --output=./runtimes/peregrine/src/weights/pallet_timestamp.rs // --template=.maintain/runtime-weight-template.hbs #![cfg_attr(rustfmt, rustfmt_skip)] @@ -50,11 +50,11 @@ pub struct WeightInfo(PhantomData); impl pallet_timestamp::WeightInfo for WeightInfo { // Storage: Timestamp Now (r:1 w:1) fn set() -> Weight { - Weight::from_ref_time(13_371_000 as u64) + Weight::from_ref_time(13_849_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } fn on_finalize() -> Weight { - Weight::from_ref_time(7_637_000 as u64) + Weight::from_ref_time(7_535_000 as u64) } } diff --git a/runtimes/peregrine/src/weights/pallet_tips.rs b/runtimes/peregrine/src/weights/pallet_tips.rs index a2e557ad4..0de4bdcdb 100644 --- a/runtimes/peregrine/src/weights/pallet_tips.rs +++ b/runtimes/peregrine/src/weights/pallet_tips.rs @@ -19,14 +19,14 @@ //! Autogenerated weights for pallet_tips //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-10-19, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` -//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("spiritnet-dev"), DB CACHE: 1024 +//! DATE: 2022-11-07, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024 // Executed Command: // ./target/release/kilt-parachain // benchmark // pallet -// --chain=spiritnet-dev +// --chain=dev // --steps=50 // --repeat=20 // --pallet=pallet-tips @@ -34,7 +34,7 @@ // --execution=wasm // --wasm-execution=compiled // --heap-pages=4096 -// --output=./runtimes/spiritnet/src/weights/pallet_tips.rs +// --output=./runtimes/peregrine/src/weights/pallet_tips.rs // --template=.maintain/runtime-weight-template.hbs #![cfg_attr(rustfmt, rustfmt_skip)] @@ -51,7 +51,7 @@ impl pallet_tips::WeightInfo for WeightInfo { // Storage: Tips Reasons (r:1 w:1) // Storage: Tips Tips (r:1 w:1) fn report_awesome(r: u32, ) -> Weight { - Weight::from_ref_time(55_145_000 as u64) + Weight::from_ref_time(56_984_000 as u64) // Standard Error: 0 .saturating_add(Weight::from_ref_time(2_000 as u64).saturating_mul(r as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) @@ -60,7 +60,7 @@ impl pallet_tips::WeightInfo for WeightInfo { // Storage: Tips Tips (r:1 w:1) // Storage: Tips Reasons (r:0 w:1) fn retract_tip() -> Weight { - Weight::from_ref_time(54_022_000 as u64) + Weight::from_ref_time(54_690_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } @@ -68,20 +68,20 @@ impl pallet_tips::WeightInfo for WeightInfo { // Storage: Tips Reasons (r:1 w:1) // Storage: Tips Tips (r:0 w:1) fn tip_new(r: u32, t: u32, ) -> Weight { - Weight::from_ref_time(37_722_000 as u64) + Weight::from_ref_time(39_757_000 as u64) // Standard Error: 0 .saturating_add(Weight::from_ref_time(2_000 as u64).saturating_mul(r as u64)) // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(50_000 as u64).saturating_mul(t as u64)) + .saturating_add(Weight::from_ref_time(46_000 as u64).saturating_mul(t as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: TipsMembership Members (r:1 w:0) // Storage: Tips Tips (r:1 w:1) fn tip(t: u32, ) -> Weight { - Weight::from_ref_time(28_448_000 as u64) - // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(154_000 as u64).saturating_mul(t as u64)) + Weight::from_ref_time(28_995_000 as u64) + // Standard Error: 0 + .saturating_add(Weight::from_ref_time(185_000 as u64).saturating_mul(t as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } @@ -90,18 +90,18 @@ impl pallet_tips::WeightInfo for WeightInfo { // Storage: System Account (r:2 w:2) // Storage: Tips Reasons (r:0 w:1) fn close_tip(t: u32, ) -> Weight { - Weight::from_ref_time(82_816_000 as u64) + Weight::from_ref_time(83_983_000 as u64) // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(116_000 as u64).saturating_mul(t as u64)) + .saturating_add(Weight::from_ref_time(137_000 as u64).saturating_mul(t as u64)) .saturating_add(T::DbWeight::get().reads(4 as u64)) .saturating_add(T::DbWeight::get().writes(4 as u64)) } // Storage: Tips Tips (r:1 w:1) // Storage: Tips Reasons (r:0 w:1) fn slash_tip(t: u32, ) -> Weight { - Weight::from_ref_time(33_213_000 as u64) + Weight::from_ref_time(34_401_000 as u64) // Standard Error: 0 - .saturating_add(Weight::from_ref_time(3_000 as u64).saturating_mul(t as u64)) + .saturating_add(Weight::from_ref_time(6_000 as u64).saturating_mul(t as u64)) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } diff --git a/runtimes/peregrine/src/weights/pallet_treasury.rs b/runtimes/peregrine/src/weights/pallet_treasury.rs index 573d87246..dec754320 100644 --- a/runtimes/peregrine/src/weights/pallet_treasury.rs +++ b/runtimes/peregrine/src/weights/pallet_treasury.rs @@ -19,14 +19,14 @@ //! Autogenerated weights for pallet_treasury //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-10-19, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` -//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("spiritnet-dev"), DB CACHE: 1024 +//! DATE: 2022-11-07, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024 // Executed Command: // ./target/release/kilt-parachain // benchmark // pallet -// --chain=spiritnet-dev +// --chain=dev // --steps=50 // --repeat=20 // --pallet=pallet-treasury @@ -34,7 +34,7 @@ // --execution=wasm // --wasm-execution=compiled // --heap-pages=4096 -// --output=./runtimes/spiritnet/src/weights/pallet_treasury.rs +// --output=./runtimes/peregrine/src/weights/pallet_treasury.rs // --template=.maintain/runtime-weight-template.hbs #![cfg_attr(rustfmt, rustfmt_skip)] @@ -49,34 +49,34 @@ use sp_std::marker::PhantomData; pub struct WeightInfo(PhantomData); impl pallet_treasury::WeightInfo for WeightInfo { fn spend() -> Weight { - Weight::from_ref_time(369_000 as u64) + Weight::from_ref_time(338_000 as u64) } // Storage: Treasury ProposalCount (r:1 w:1) // Storage: Treasury Proposals (r:0 w:1) fn propose_spend() -> Weight { - Weight::from_ref_time(46_813_000 as u64) + Weight::from_ref_time(47_604_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Treasury Proposals (r:1 w:1) // Storage: System Account (r:2 w:2) fn reject_proposal() -> Weight { - Weight::from_ref_time(69_298_000 as u64) + Weight::from_ref_time(67_946_000 as u64) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } // Storage: Treasury Proposals (r:1 w:0) // Storage: Treasury Approvals (r:1 w:1) fn approve_proposal(p: u32, ) -> Weight { - Weight::from_ref_time(23_126_000 as u64) - // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(194_000 as u64).saturating_mul(p as u64)) + Weight::from_ref_time(23_094_000 as u64) + // Standard Error: 2_000 + .saturating_add(Weight::from_ref_time(166_000 as u64).saturating_mul(p as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Treasury Approvals (r:1 w:1) fn remove_approval() -> Weight { - Weight::from_ref_time(15_339_000 as u64) + Weight::from_ref_time(14_821_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } @@ -84,9 +84,9 @@ impl pallet_treasury::WeightInfo for WeightInfo { // Storage: Treasury Approvals (r:1 w:1) // Storage: Treasury Proposals (r:2 w:2) fn on_initialize_proposals(p: u32, ) -> Weight { - Weight::from_ref_time(89_873_000 as u64) - // Standard Error: 27_000 - .saturating_add(Weight::from_ref_time(44_706_000 as u64).saturating_mul(p as u64)) + Weight::from_ref_time(85_112_000 as u64) + // Standard Error: 21_000 + .saturating_add(Weight::from_ref_time(43_385_000 as u64).saturating_mul(p as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().reads((3 as u64).saturating_mul(p as u64))) .saturating_add(T::DbWeight::get().writes(2 as u64)) diff --git a/runtimes/peregrine/src/weights/pallet_utility.rs b/runtimes/peregrine/src/weights/pallet_utility.rs index 2ee1188c9..3b6736405 100644 --- a/runtimes/peregrine/src/weights/pallet_utility.rs +++ b/runtimes/peregrine/src/weights/pallet_utility.rs @@ -19,14 +19,14 @@ //! Autogenerated weights for pallet_utility //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-10-19, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` -//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("spiritnet-dev"), DB CACHE: 1024 +//! DATE: 2022-11-07, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024 // Executed Command: // ./target/release/kilt-parachain // benchmark // pallet -// --chain=spiritnet-dev +// --chain=dev // --steps=50 // --repeat=20 // --pallet=pallet-utility @@ -34,7 +34,7 @@ // --execution=wasm // --wasm-execution=compiled // --heap-pages=4096 -// --output=./runtimes/spiritnet/src/weights/pallet_utility.rs +// --output=./runtimes/peregrine/src/weights/pallet_utility.rs // --template=.maintain/runtime-weight-template.hbs #![cfg_attr(rustfmt, rustfmt_skip)] @@ -49,24 +49,24 @@ use sp_std::marker::PhantomData; pub struct WeightInfo(PhantomData); impl pallet_utility::WeightInfo for WeightInfo { fn batch(c: u32, ) -> Weight { - Weight::from_ref_time(45_867_000 as u64) + Weight::from_ref_time(50_403_000 as u64) // Standard Error: 3_000 - .saturating_add(Weight::from_ref_time(5_962_000 as u64).saturating_mul(c as u64)) + .saturating_add(Weight::from_ref_time(5_798_000 as u64).saturating_mul(c as u64)) } fn as_derivative() -> Weight { - Weight::from_ref_time(11_033_000 as u64) + Weight::from_ref_time(11_073_000 as u64) } fn batch_all(c: u32, ) -> Weight { - Weight::from_ref_time(57_860_000 as u64) - // Standard Error: 5_000 - .saturating_add(Weight::from_ref_time(6_179_000 as u64).saturating_mul(c as u64)) + Weight::from_ref_time(45_913_000 as u64) + // Standard Error: 3_000 + .saturating_add(Weight::from_ref_time(6_092_000 as u64).saturating_mul(c as u64)) } fn dispatch_as() -> Weight { - Weight::from_ref_time(24_180_000 as u64) + Weight::from_ref_time(23_881_000 as u64) } fn force_batch(c: u32, ) -> Weight { - Weight::from_ref_time(43_187_000 as u64) - // Standard Error: 4_000 - .saturating_add(Weight::from_ref_time(5_959_000 as u64).saturating_mul(c as u64)) + Weight::from_ref_time(42_182_000 as u64) + // Standard Error: 3_000 + .saturating_add(Weight::from_ref_time(5_800_000 as u64).saturating_mul(c as u64)) } } diff --git a/runtimes/peregrine/src/weights/pallet_vesting.rs b/runtimes/peregrine/src/weights/pallet_vesting.rs index d9d66e557..512676692 100644 --- a/runtimes/peregrine/src/weights/pallet_vesting.rs +++ b/runtimes/peregrine/src/weights/pallet_vesting.rs @@ -19,14 +19,14 @@ //! Autogenerated weights for pallet_vesting //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-10-19, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` -//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("spiritnet-dev"), DB CACHE: 1024 +//! DATE: 2022-11-07, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024 // Executed Command: // ./target/release/kilt-parachain // benchmark // pallet -// --chain=spiritnet-dev +// --chain=dev // --steps=50 // --repeat=20 // --pallet=pallet-vesting @@ -34,7 +34,7 @@ // --execution=wasm // --wasm-execution=compiled // --heap-pages=4096 -// --output=./runtimes/spiritnet/src/weights/pallet_vesting.rs +// --output=./runtimes/peregrine/src/weights/pallet_vesting.rs // --template=.maintain/runtime-weight-template.hbs #![cfg_attr(rustfmt, rustfmt_skip)] @@ -51,22 +51,22 @@ impl pallet_vesting::WeightInfo for WeightInfo { // Storage: Vesting Vesting (r:1 w:1) // Storage: Balances Locks (r:1 w:1) fn vest_locked(l: u32, s: u32, ) -> Weight { - Weight::from_ref_time(64_840_000 as u64) + Weight::from_ref_time(66_644_000 as u64) + // Standard Error: 1_000 + .saturating_add(Weight::from_ref_time(38_000 as u64).saturating_mul(l as u64)) // Standard Error: 2_000 - .saturating_add(Weight::from_ref_time(40_000 as u64).saturating_mul(l as u64)) - // Standard Error: 4_000 - .saturating_add(Weight::from_ref_time(82_000 as u64).saturating_mul(s as u64)) + .saturating_add(Weight::from_ref_time(92_000 as u64).saturating_mul(s as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Vesting Vesting (r:1 w:1) // Storage: Balances Locks (r:1 w:1) fn vest_unlocked(l: u32, s: u32, ) -> Weight { - Weight::from_ref_time(62_689_000 as u64) + Weight::from_ref_time(65_664_000 as u64) + // Standard Error: 1_000 + .saturating_add(Weight::from_ref_time(35_000 as u64).saturating_mul(l as u64)) // Standard Error: 3_000 - .saturating_add(Weight::from_ref_time(57_000 as u64).saturating_mul(l as u64)) - // Standard Error: 6_000 - .saturating_add(Weight::from_ref_time(59_000 as u64).saturating_mul(s as u64)) + .saturating_add(Weight::from_ref_time(48_000 as u64).saturating_mul(s as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } @@ -74,11 +74,11 @@ impl pallet_vesting::WeightInfo for WeightInfo { // Storage: Balances Locks (r:1 w:1) // Storage: System Account (r:1 w:1) fn vest_other_locked(l: u32, s: u32, ) -> Weight { - Weight::from_ref_time(63_262_000 as u64) + Weight::from_ref_time(63_702_000 as u64) + // Standard Error: 1_000 + .saturating_add(Weight::from_ref_time(58_000 as u64).saturating_mul(l as u64)) // Standard Error: 2_000 - .saturating_add(Weight::from_ref_time(45_000 as u64).saturating_mul(l as u64)) - // Standard Error: 4_000 - .saturating_add(Weight::from_ref_time(96_000 as u64).saturating_mul(s as u64)) + .saturating_add(Weight::from_ref_time(98_000 as u64).saturating_mul(s as u64)) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } @@ -86,11 +86,11 @@ impl pallet_vesting::WeightInfo for WeightInfo { // Storage: Balances Locks (r:1 w:1) // Storage: System Account (r:1 w:1) fn vest_other_unlocked(l: u32, s: u32, ) -> Weight { - Weight::from_ref_time(62_277_000 as u64) + Weight::from_ref_time(63_678_000 as u64) // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(51_000 as u64).saturating_mul(l as u64)) - // Standard Error: 3_000 - .saturating_add(Weight::from_ref_time(48_000 as u64).saturating_mul(s as u64)) + .saturating_add(Weight::from_ref_time(50_000 as u64).saturating_mul(l as u64)) + // Standard Error: 2_000 + .saturating_add(Weight::from_ref_time(46_000 as u64).saturating_mul(s as u64)) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } @@ -98,21 +98,23 @@ impl pallet_vesting::WeightInfo for WeightInfo { // Storage: System Account (r:1 w:1) // Storage: Balances Locks (r:1 w:1) fn vested_transfer(l: u32, s: u32, ) -> Weight { - Weight::from_ref_time(88_444_000 as u64) - // Standard Error: 4_000 - .saturating_add(Weight::from_ref_time(44_000 as u64).saturating_mul(l as u64)) - // Standard Error: 8_000 - .saturating_add(Weight::from_ref_time(66_000 as u64).saturating_mul(s as u64)) + Weight::from_ref_time(90_513_000 as u64) + // Standard Error: 3_000 + .saturating_add(Weight::from_ref_time(47_000 as u64).saturating_mul(l as u64)) + // Standard Error: 6_000 + .saturating_add(Weight::from_ref_time(62_000 as u64).saturating_mul(s as u64)) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } // Storage: Vesting Vesting (r:1 w:1) // Storage: System Account (r:2 w:2) // Storage: Balances Locks (r:1 w:1) - fn force_vested_transfer(l: u32, _s: u32, ) -> Weight { - Weight::from_ref_time(91_469_000 as u64) - // Standard Error: 9_000 - .saturating_add(Weight::from_ref_time(9_000 as u64).saturating_mul(l as u64)) + fn force_vested_transfer(l: u32, s: u32, ) -> Weight { + Weight::from_ref_time(90_415_000 as u64) + // Standard Error: 3_000 + .saturating_add(Weight::from_ref_time(35_000 as u64).saturating_mul(l as u64)) + // Standard Error: 6_000 + .saturating_add(Weight::from_ref_time(36_000 as u64).saturating_mul(s as u64)) .saturating_add(T::DbWeight::get().reads(4 as u64)) .saturating_add(T::DbWeight::get().writes(4 as u64)) } @@ -120,11 +122,11 @@ impl pallet_vesting::WeightInfo for WeightInfo { // Storage: Balances Locks (r:1 w:1) // Storage: System Account (r:1 w:1) fn not_unlocking_merge_schedules(l: u32, s: u32, ) -> Weight { - Weight::from_ref_time(63_722_000 as u64) + Weight::from_ref_time(65_717_000 as u64) // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(57_000 as u64).saturating_mul(l as u64)) - // Standard Error: 3_000 - .saturating_add(Weight::from_ref_time(101_000 as u64).saturating_mul(s as u64)) + .saturating_add(Weight::from_ref_time(55_000 as u64).saturating_mul(l as u64)) + // Standard Error: 2_000 + .saturating_add(Weight::from_ref_time(86_000 as u64).saturating_mul(s as u64)) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } @@ -132,11 +134,11 @@ impl pallet_vesting::WeightInfo for WeightInfo { // Storage: Balances Locks (r:1 w:1) // Storage: System Account (r:1 w:1) fn unlocking_merge_schedules(l: u32, s: u32, ) -> Weight { - Weight::from_ref_time(63_755_000 as u64) + Weight::from_ref_time(64_815_000 as u64) + // Standard Error: 1_000 + .saturating_add(Weight::from_ref_time(62_000 as u64).saturating_mul(l as u64)) // Standard Error: 2_000 - .saturating_add(Weight::from_ref_time(55_000 as u64).saturating_mul(l as u64)) - // Standard Error: 4_000 - .saturating_add(Weight::from_ref_time(96_000 as u64).saturating_mul(s as u64)) + .saturating_add(Weight::from_ref_time(104_000 as u64).saturating_mul(s as u64)) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } diff --git a/runtimes/peregrine/src/weights/pallet_web3_names.rs b/runtimes/peregrine/src/weights/pallet_web3_names.rs index a7c529b35..207208c30 100644 --- a/runtimes/peregrine/src/weights/pallet_web3_names.rs +++ b/runtimes/peregrine/src/weights/pallet_web3_names.rs @@ -19,7 +19,7 @@ //! Autogenerated weights for pallet_web3_names //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-10-26, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2022-11-07, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024 // Executed Command: @@ -53,9 +53,9 @@ impl pallet_web3_names::WeightInfo for WeightInfo { // Storage: Web3Names Banned (r:1 w:0) // Storage: System Account (r:1 w:1) fn claim(n: u32, ) -> Weight { - Weight::from_ref_time(59_280_000 as u64) + Weight::from_ref_time(58_514_000 as u64) // Standard Error: 2_000 - .saturating_add(Weight::from_ref_time(3_000 as u64).saturating_mul(n as u64)) + .saturating_add(Weight::from_ref_time(20_000 as u64).saturating_mul(n as u64)) .saturating_add(T::DbWeight::get().reads(4 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } @@ -63,7 +63,7 @@ impl pallet_web3_names::WeightInfo for WeightInfo { // Storage: Web3Names Owner (r:1 w:1) // Storage: System Account (r:1 w:1) fn release_by_owner() -> Weight { - Weight::from_ref_time(56_187_000 as u64) + Weight::from_ref_time(55_643_000 as u64) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } @@ -71,9 +71,9 @@ impl pallet_web3_names::WeightInfo for WeightInfo { // Storage: System Account (r:1 w:1) // Storage: Web3Names Names (r:0 w:1) fn reclaim_deposit(n: u32, ) -> Weight { - Weight::from_ref_time(52_295_000 as u64) + Weight::from_ref_time(52_172_000 as u64) // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(26_000 as u64).saturating_mul(n as u64)) + .saturating_add(Weight::from_ref_time(34_000 as u64).saturating_mul(n as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } @@ -82,17 +82,17 @@ impl pallet_web3_names::WeightInfo for WeightInfo { // Storage: System Account (r:1 w:1) // Storage: Web3Names Names (r:0 w:1) fn ban(n: u32, ) -> Weight { - Weight::from_ref_time(57_632_000 as u64) - // Standard Error: 2_000 - .saturating_add(Weight::from_ref_time(22_000 as u64).saturating_mul(n as u64)) + Weight::from_ref_time(56_687_000 as u64) + // Standard Error: 1_000 + .saturating_add(Weight::from_ref_time(30_000 as u64).saturating_mul(n as u64)) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(4 as u64)) } // Storage: Web3Names Banned (r:1 w:1) fn unban(n: u32, ) -> Weight { - Weight::from_ref_time(31_061_000 as u64) + Weight::from_ref_time(31_222_000 as u64) // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(57_000 as u64).saturating_mul(n as u64)) + .saturating_add(Weight::from_ref_time(35_000 as u64).saturating_mul(n as u64)) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } @@ -100,14 +100,14 @@ impl pallet_web3_names::WeightInfo for WeightInfo { // Storage: Web3Names Owner (r:1 w:1) // Storage: System Account (r:2 w:2) fn change_deposit_owner() -> Weight { - Weight::from_ref_time(69_141_000 as u64) + Weight::from_ref_time(69_280_000 as u64) .saturating_add(T::DbWeight::get().reads(4 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } // Storage: Web3Names Owner (r:1 w:1) // Storage: System Account (r:1 w:1) fn update_deposit() -> Weight { - Weight::from_ref_time(60_982_000 as u64) + Weight::from_ref_time(60_735_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } diff --git a/runtimes/peregrine/src/weights/parachain_staking.rs b/runtimes/peregrine/src/weights/parachain_staking.rs index 9ff79ed39..0bb21cd91 100644 --- a/runtimes/peregrine/src/weights/parachain_staking.rs +++ b/runtimes/peregrine/src/weights/parachain_staking.rs @@ -19,7 +19,7 @@ //! Autogenerated weights for parachain_staking //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-10-19, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2022-11-07, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024 // Executed Command: @@ -50,48 +50,47 @@ pub struct WeightInfo(PhantomData); impl parachain_staking::WeightInfo for WeightInfo { // Storage: ParachainStaking Round (r:1 w:0) fn on_initialize_no_action() -> Weight { - Weight::from_ref_time(3_103_000 as u64) + Weight::from_ref_time(7_466_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) } // Storage: ParachainStaking Round (r:1 w:1) fn on_initialize_round_update() -> Weight { - Weight::from_ref_time(23_755_000 as u64) + Weight::from_ref_time(22_168_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: ParachainStaking Round (r:1 w:1) - // Storage: ParachainStaking LastRewardReduction (r:1 w:1) - // Storage: ParachainStaking InflationConfig (r:1 w:1) + // Storage: ParachainStaking InflationConfig (r:1 w:0) // Storage: ParachainStaking MaxCollatorCandidateStake (r:1 w:0) // Storage: ParachainStaking MaxSelectedCandidates (r:1 w:0) // Storage: System Account (r:1 w:1) fn on_initialize_network_rewards() -> Weight { - Weight::from_ref_time(69_582_000 as u64) - .saturating_add(T::DbWeight::get().reads(6 as u64)) - .saturating_add(T::DbWeight::get().writes(4 as u64)) + Weight::from_ref_time(58_509_000 as u64) + .saturating_add(T::DbWeight::get().reads(5 as u64)) + .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: ParachainStaking ForceNewRound (r:0 w:1) fn force_new_round() -> Weight { - Weight::from_ref_time(8_791_000 as u64) + Weight::from_ref_time(8_573_000 as u64) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: ParachainStaking CandidatePool (r:3 w:0) - // Storage: ParachainStaking RewardCount (r:72 w:72) - // Storage: ParachainStaking Rewards (r:2 w:2) + // Storage: ParachainStaking BlocksAuthored (r:2 w:0) + // Storage: ParachainStaking BlocksRewarded (r:72 w:72) + // Storage: ParachainStaking Rewards (r:72 w:72) // Storage: ParachainStaking TotalCollatorStake (r:1 w:0) // Storage: ParachainStaking InflationConfig (r:1 w:1) - /// The range of component `n` is `[0, 75]`. - /// The range of component `m` is `[0, 35]`. + // Storage: ParachainStaking CounterForCandidatePool (r:1 w:0) fn set_inflation(n: u32, m: u32, ) -> Weight { Weight::from_ref_time(0 as u64) - // Standard Error: 3_005_000 - .saturating_add(Weight::from_ref_time(216_364_000 as u64).saturating_mul(n as u64)) - // Standard Error: 6_440_000 - .saturating_add(Weight::from_ref_time(440_763_000 as u64).saturating_mul(m as u64)) - .saturating_add(T::DbWeight::get().reads((37 as u64).saturating_mul(n as u64))) - .saturating_add(T::DbWeight::get().reads((75 as u64).saturating_mul(m as u64))) - .saturating_add(T::DbWeight::get().writes((36 as u64).saturating_mul(n as u64))) - .saturating_add(T::DbWeight::get().writes((75 as u64).saturating_mul(m as u64))) + // Standard Error: 578_000 + .saturating_add(Weight::from_ref_time(491_280_000 as u64).saturating_mul(n as u64)) + // Standard Error: 1_231_000 + .saturating_add(Weight::from_ref_time(1_022_641_000 as u64).saturating_mul(m as u64)) + .saturating_add(T::DbWeight::get().reads((74 as u64).saturating_mul(n as u64))) + .saturating_add(T::DbWeight::get().reads((150 as u64).saturating_mul(m as u64))) + .saturating_add(T::DbWeight::get().writes((72 as u64).saturating_mul(n as u64))) + .saturating_add(T::DbWeight::get().writes((150 as u64).saturating_mul(m as u64))) } // Storage: ParachainStaking MaxSelectedCandidates (r:1 w:1) // Storage: ParachainStaking TopCandidates (r:1 w:0) @@ -99,44 +98,43 @@ impl parachain_staking::WeightInfo for WeightInfo { // Storage: ParachainStaking CandidatePool (r:1 w:0) fn set_max_selected_candidates(n: u32, m: u32, ) -> Weight { Weight::from_ref_time(0 as u64) - // Standard Error: 161_000 - .saturating_add(Weight::from_ref_time(19_480_000 as u64).saturating_mul(n as u64)) - // Standard Error: 270_000 - .saturating_add(Weight::from_ref_time(28_745_000 as u64).saturating_mul(m as u64)) + // Standard Error: 251_000 + .saturating_add(Weight::from_ref_time(26_691_000 as u64).saturating_mul(n as u64)) + // Standard Error: 421_000 + .saturating_add(Weight::from_ref_time(42_215_000 as u64).saturating_mul(m as u64)) .saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(n as u64))) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: ParachainStaking Round (r:1 w:1) fn set_blocks_per_round() -> Weight { - Weight::from_ref_time(30_326_000 as u64) + Weight::from_ref_time(28_992_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: ParachainStaking CandidatePool (r:17 w:1) // Storage: ParachainStaking TopCandidates (r:1 w:1) - // Storage: ParachainStaking Unstaking (r:36 w:36) - // Storage: ParachainStaking DelegatorState (r:35 w:35) - // Storage: ParachainStaking RewardCount (r:36 w:36) - // Storage: ParachainStaking Rewards (r:1 w:1) + // Storage: ParachainStaking BlocksAuthored (r:1 w:1) + // Storage: ParachainStaking BlocksRewarded (r:36 w:36) + // Storage: ParachainStaking Rewards (r:36 w:36) // Storage: ParachainStaking TotalCollatorStake (r:1 w:1) // Storage: ParachainStaking InflationConfig (r:1 w:0) + // Storage: ParachainStaking Unstaking (r:36 w:36) + // Storage: ParachainStaking DelegatorState (r:35 w:35) // Storage: Session Validators (r:1 w:0) // Storage: Session DisabledValidators (r:1 w:1) // Storage: System Digest (r:1 w:1) // Storage: ParachainStaking CounterForCandidatePool (r:1 w:1) // Storage: ParachainStaking MaxSelectedCandidates (r:1 w:0) - /// The range of component `n` is `[17, 75]`. - /// The range of component `m` is `[0, 35]`. fn force_remove_candidate(n: u32, m: u32, ) -> Weight { Weight::from_ref_time(0 as u64) - // Standard Error: 169_000 - .saturating_add(Weight::from_ref_time(17_230_000 as u64).saturating_mul(n as u64)) - // Standard Error: 279_000 - .saturating_add(Weight::from_ref_time(46_081_000 as u64).saturating_mul(m as u64)) - .saturating_add(T::DbWeight::get().reads(25 as u64)) - .saturating_add(T::DbWeight::get().reads((2 as u64).saturating_mul(m as u64))) - .saturating_add(T::DbWeight::get().writes(7 as u64)) - .saturating_add(T::DbWeight::get().writes((2 as u64).saturating_mul(m as u64))) + // Standard Error: 241_000 + .saturating_add(Weight::from_ref_time(27_473_000 as u64).saturating_mul(n as u64)) + // Standard Error: 398_000 + .saturating_add(Weight::from_ref_time(77_591_000 as u64).saturating_mul(m as u64)) + .saturating_add(T::DbWeight::get().reads(29 as u64)) + .saturating_add(T::DbWeight::get().reads((4 as u64).saturating_mul(m as u64))) + .saturating_add(T::DbWeight::get().writes(10 as u64)) + .saturating_add(T::DbWeight::get().writes((4 as u64).saturating_mul(m as u64))) } // Storage: ParachainStaking CandidatePool (r:1 w:1) // Storage: ParachainStaking DelegatorState (r:1 w:0) @@ -148,14 +146,12 @@ impl parachain_staking::WeightInfo for WeightInfo { // Storage: ParachainStaking MaxSelectedCandidates (r:1 w:0) // Storage: ParachainStaking TotalCollatorStake (r:1 w:1) // Storage: ParachainStaking CounterForCandidatePool (r:1 w:1) - /// The range of component `n` is `[1, 74]`. - /// The range of component `m` is `[0, 35]`. fn join_candidates(n: u32, m: u32, ) -> Weight { Weight::from_ref_time(0 as u64) - // Standard Error: 148_000 - .saturating_add(Weight::from_ref_time(14_141_000 as u64).saturating_mul(n as u64)) - // Standard Error: 307_000 - .saturating_add(Weight::from_ref_time(28_608_000 as u64).saturating_mul(m as u64)) + // Standard Error: 227_000 + .saturating_add(Weight::from_ref_time(22_245_000 as u64).saturating_mul(n as u64)) + // Standard Error: 472_000 + .saturating_add(Weight::from_ref_time(45_433_000 as u64).saturating_mul(m as u64)) .saturating_add(T::DbWeight::get().reads(10 as u64)) .saturating_add(T::DbWeight::get().writes(7 as u64)) } @@ -164,14 +160,12 @@ impl parachain_staking::WeightInfo for WeightInfo { // Storage: ParachainStaking Round (r:1 w:0) // Storage: ParachainStaking MaxSelectedCandidates (r:1 w:0) // Storage: ParachainStaking TotalCollatorStake (r:1 w:1) - /// The range of component `n` is `[17, 74]`. - /// The range of component `m` is `[0, 35]`. fn init_leave_candidates(n: u32, m: u32, ) -> Weight { Weight::from_ref_time(0 as u64) - // Standard Error: 169_000 - .saturating_add(Weight::from_ref_time(17_942_000 as u64).saturating_mul(n as u64)) - // Standard Error: 275_000 - .saturating_add(Weight::from_ref_time(32_999_000 as u64).saturating_mul(m as u64)) + // Standard Error: 251_000 + .saturating_add(Weight::from_ref_time(27_190_000 as u64).saturating_mul(n as u64)) + // Standard Error: 407_000 + .saturating_add(Weight::from_ref_time(50_417_000 as u64).saturating_mul(m as u64)) .saturating_add(T::DbWeight::get().reads(21 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } @@ -179,39 +173,38 @@ impl parachain_staking::WeightInfo for WeightInfo { // Storage: ParachainStaking TopCandidates (r:1 w:1) // Storage: ParachainStaking MaxSelectedCandidates (r:1 w:0) // Storage: ParachainStaking TotalCollatorStake (r:1 w:1) - /// The range of component `n` is `[17, 74]`. - /// The range of component `m` is `[0, 35]`. fn cancel_leave_candidates(n: u32, m: u32, ) -> Weight { Weight::from_ref_time(0 as u64) - // Standard Error: 181_000 - .saturating_add(Weight::from_ref_time(18_181_000 as u64).saturating_mul(n as u64)) - // Standard Error: 294_000 - .saturating_add(Weight::from_ref_time(33_461_000 as u64).saturating_mul(m as u64)) + // Standard Error: 261_000 + .saturating_add(Weight::from_ref_time(27_784_000 as u64).saturating_mul(n as u64)) + // Standard Error: 423_000 + .saturating_add(Weight::from_ref_time(51_337_000 as u64).saturating_mul(m as u64)) .saturating_add(T::DbWeight::get().reads(5 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } // Storage: ParachainStaking CandidatePool (r:1 w:1) // Storage: ParachainStaking Round (r:1 w:0) - // Storage: ParachainStaking Unstaking (r:36 w:36) - // Storage: ParachainStaking DelegatorState (r:35 w:35) - // Storage: ParachainStaking RewardCount (r:36 w:36) - // Storage: ParachainStaking Rewards (r:1 w:1) + // Storage: ParachainStaking BlocksAuthored (r:1 w:1) + // Storage: ParachainStaking BlocksRewarded (r:36 w:36) + // Storage: ParachainStaking Rewards (r:36 w:36) // Storage: ParachainStaking TotalCollatorStake (r:1 w:0) // Storage: ParachainStaking InflationConfig (r:1 w:0) + // Storage: ParachainStaking Unstaking (r:36 w:36) + // Storage: ParachainStaking DelegatorState (r:35 w:35) // Storage: Session Validators (r:1 w:0) // Storage: Session DisabledValidators (r:1 w:1) // Storage: System Digest (r:1 w:1) // Storage: ParachainStaking CounterForCandidatePool (r:1 w:1) fn execute_leave_candidates(n: u32, m: u32, ) -> Weight { Weight::from_ref_time(0 as u64) - // Standard Error: 177_000 - .saturating_add(Weight::from_ref_time(20_987_000 as u64).saturating_mul(n as u64)) - // Standard Error: 288_000 - .saturating_add(Weight::from_ref_time(53_291_000 as u64).saturating_mul(m as u64)) - .saturating_add(T::DbWeight::get().reads(7 as u64)) - .saturating_add(T::DbWeight::get().reads((2 as u64).saturating_mul(m as u64))) - .saturating_add(T::DbWeight::get().writes(5 as u64)) - .saturating_add(T::DbWeight::get().writes((2 as u64).saturating_mul(m as u64))) + // Standard Error: 240_000 + .saturating_add(Weight::from_ref_time(31_864_000 as u64).saturating_mul(n as u64)) + // Standard Error: 390_000 + .saturating_add(Weight::from_ref_time(86_748_000 as u64).saturating_mul(m as u64)) + .saturating_add(T::DbWeight::get().reads(12 as u64)) + .saturating_add(T::DbWeight::get().reads((4 as u64).saturating_mul(m as u64))) + .saturating_add(T::DbWeight::get().writes(8 as u64)) + .saturating_add(T::DbWeight::get().writes((4 as u64).saturating_mul(m as u64))) } // Storage: ParachainStaking CandidatePool (r:1 w:1) // Storage: ParachainStaking MaxCollatorCandidateStake (r:1 w:0) @@ -221,33 +214,36 @@ impl parachain_staking::WeightInfo for WeightInfo { // Storage: ParachainStaking TopCandidates (r:1 w:1) // Storage: ParachainStaking MaxSelectedCandidates (r:1 w:0) // Storage: ParachainStaking TotalCollatorStake (r:1 w:1) + // Storage: ParachainStaking BlocksAuthored (r:1 w:0) + // Storage: ParachainStaking BlocksRewarded (r:1 w:1) + // Storage: ParachainStaking Rewards (r:1 w:1) + // Storage: ParachainStaking InflationConfig (r:1 w:0) fn candidate_stake_more(n: u32, m: u32, _u: u32, ) -> Weight { Weight::from_ref_time(0 as u64) - // Standard Error: 146_000 - .saturating_add(Weight::from_ref_time(19_044_000 as u64).saturating_mul(n as u64)) - // Standard Error: 304_000 - .saturating_add(Weight::from_ref_time(39_101_000 as u64).saturating_mul(m as u64)) - .saturating_add(T::DbWeight::get().reads(8 as u64)) - .saturating_add(T::DbWeight::get().writes(6 as u64)) + // Standard Error: 197_000 + .saturating_add(Weight::from_ref_time(28_567_000 as u64).saturating_mul(n as u64)) + // Standard Error: 409_000 + .saturating_add(Weight::from_ref_time(58_728_000 as u64).saturating_mul(m as u64)) + .saturating_add(T::DbWeight::get().reads(12 as u64)) + .saturating_add(T::DbWeight::get().writes(8 as u64)) } // Storage: ParachainStaking CandidatePool (r:1 w:1) // Storage: ParachainStaking Unstaking (r:1 w:1) // Storage: ParachainStaking TopCandidates (r:1 w:1) // Storage: ParachainStaking MaxSelectedCandidates (r:1 w:0) // Storage: ParachainStaking TotalCollatorStake (r:1 w:1) - // Storage: ParachainStaking RewardCount (r:36 w:36) + // Storage: ParachainStaking BlocksAuthored (r:1 w:0) + // Storage: ParachainStaking BlocksRewarded (r:1 w:1) // Storage: ParachainStaking Rewards (r:1 w:1) // Storage: ParachainStaking InflationConfig (r:1 w:0) - /// The range of component `n` is `[1, 74]`. - /// The range of component `m` is `[0, 35]`. fn candidate_stake_less(n: u32, m: u32, ) -> Weight { Weight::from_ref_time(0 as u64) - // Standard Error: 165_000 - .saturating_add(Weight::from_ref_time(17_769_000 as u64).saturating_mul(n as u64)) - // Standard Error: 342_000 - .saturating_add(Weight::from_ref_time(36_575_000 as u64).saturating_mul(m as u64)) - .saturating_add(T::DbWeight::get().reads(5 as u64)) - .saturating_add(T::DbWeight::get().writes(4 as u64)) + // Standard Error: 237_000 + .saturating_add(Weight::from_ref_time(27_274_000 as u64).saturating_mul(n as u64)) + // Standard Error: 493_000 + .saturating_add(Weight::from_ref_time(56_335_000 as u64).saturating_mul(m as u64)) + .saturating_add(T::DbWeight::get().reads(9 as u64)) + .saturating_add(T::DbWeight::get().writes(6 as u64)) } // Storage: System Account (r:1 w:1) // Storage: ParachainStaking DelegatorState (r:1 w:1) @@ -259,17 +255,16 @@ impl parachain_staking::WeightInfo for WeightInfo { // Storage: ParachainStaking TopCandidates (r:1 w:1) // Storage: ParachainStaking MaxSelectedCandidates (r:1 w:0) // Storage: ParachainStaking TotalCollatorStake (r:1 w:1) - // Storage: ParachainStaking RewardCount (r:1 w:1) - /// The range of component `n` is `[1, 75]`. - /// The range of component `m` is `[1, 34]`. + // Storage: ParachainStaking BlocksAuthored (r:1 w:0) + // Storage: ParachainStaking BlocksRewarded (r:0 w:1) fn join_delegators(n: u32, m: u32, ) -> Weight { Weight::from_ref_time(0 as u64) - // Standard Error: 154_000 - .saturating_add(Weight::from_ref_time(17_571_000 as u64).saturating_mul(n as u64)) - // Standard Error: 343_000 - .saturating_add(Weight::from_ref_time(38_223_000 as u64).saturating_mul(m as u64)) - .saturating_add(T::DbWeight::get().reads(11 as u64)) - .saturating_add(T::DbWeight::get().writes(8 as u64)) + // Standard Error: 226_000 + .saturating_add(Weight::from_ref_time(27_049_000 as u64).saturating_mul(n as u64)) + // Standard Error: 503_000 + .saturating_add(Weight::from_ref_time(58_845_000 as u64).saturating_mul(m as u64)) + .saturating_add(T::DbWeight::get().reads(12 as u64)) + .saturating_add(T::DbWeight::get().writes(9 as u64)) } // Storage: ParachainStaking DelegatorState (r:1 w:1) // Storage: ParachainStaking CandidatePool (r:1 w:1) @@ -279,14 +274,18 @@ impl parachain_staking::WeightInfo for WeightInfo { // Storage: ParachainStaking TopCandidates (r:1 w:1) // Storage: ParachainStaking MaxSelectedCandidates (r:1 w:0) // Storage: ParachainStaking TotalCollatorStake (r:1 w:1) + // Storage: ParachainStaking BlocksAuthored (r:1 w:0) + // Storage: ParachainStaking BlocksRewarded (r:1 w:1) + // Storage: ParachainStaking Rewards (r:1 w:1) + // Storage: ParachainStaking InflationConfig (r:1 w:0) fn delegator_stake_more(n: u32, m: u32, _u: u32, ) -> Weight { Weight::from_ref_time(0 as u64) - // Standard Error: 133_000 - .saturating_add(Weight::from_ref_time(18_815_000 as u64).saturating_mul(n as u64)) - // Standard Error: 295_000 - .saturating_add(Weight::from_ref_time(40_803_000 as u64).saturating_mul(m as u64)) - .saturating_add(T::DbWeight::get().reads(8 as u64)) - .saturating_add(T::DbWeight::get().writes(7 as u64)) + // Standard Error: 179_000 + .saturating_add(Weight::from_ref_time(28_220_000 as u64).saturating_mul(n as u64)) + // Standard Error: 399_000 + .saturating_add(Weight::from_ref_time(61_739_000 as u64).saturating_mul(m as u64)) + .saturating_add(T::DbWeight::get().reads(12 as u64)) + .saturating_add(T::DbWeight::get().writes(9 as u64)) } // Storage: ParachainStaking DelegatorState (r:1 w:1) // Storage: ParachainStaking CandidatePool (r:1 w:1) @@ -294,97 +293,99 @@ impl parachain_staking::WeightInfo for WeightInfo { // Storage: ParachainStaking TopCandidates (r:1 w:1) // Storage: ParachainStaking MaxSelectedCandidates (r:1 w:0) // Storage: ParachainStaking TotalCollatorStake (r:1 w:1) - // Storage: ParachainStaking RewardCount (r:2 w:0) - /// The range of component `n` is `[1, 75]`. - /// The range of component `m` is `[1, 34]`. + // Storage: ParachainStaking BlocksAuthored (r:1 w:0) + // Storage: ParachainStaking BlocksRewarded (r:1 w:1) + // Storage: ParachainStaking Rewards (r:1 w:1) + // Storage: ParachainStaking InflationConfig (r:1 w:0) fn delegator_stake_less(n: u32, m: u32, ) -> Weight { Weight::from_ref_time(0 as u64) - // Standard Error: 153_000 - .saturating_add(Weight::from_ref_time(17_715_000 as u64).saturating_mul(n as u64)) - // Standard Error: 341_000 - .saturating_add(Weight::from_ref_time(38_327_000 as u64).saturating_mul(m as u64)) - .saturating_add(T::DbWeight::get().reads(6 as u64)) - .saturating_add(T::DbWeight::get().writes(5 as u64)) + // Standard Error: 224_000 + .saturating_add(Weight::from_ref_time(26_894_000 as u64).saturating_mul(n as u64)) + // Standard Error: 499_000 + .saturating_add(Weight::from_ref_time(58_539_000 as u64).saturating_mul(m as u64)) + .saturating_add(T::DbWeight::get().reads(10 as u64)) + .saturating_add(T::DbWeight::get().writes(7 as u64)) } // Storage: ParachainStaking DelegatorState (r:1 w:1) // Storage: ParachainStaking CandidatePool (r:1 w:1) - // Storage: ParachainStaking RewardCount (r:2 w:0) + // Storage: ParachainStaking BlocksAuthored (r:1 w:0) + // Storage: ParachainStaking BlocksRewarded (r:1 w:1) + // Storage: ParachainStaking Rewards (r:1 w:1) + // Storage: ParachainStaking TotalCollatorStake (r:1 w:1) + // Storage: ParachainStaking InflationConfig (r:1 w:0) // Storage: ParachainStaking Unstaking (r:1 w:1) // Storage: ParachainStaking TopCandidates (r:1 w:1) // Storage: ParachainStaking MaxSelectedCandidates (r:1 w:0) - // Storage: ParachainStaking TotalCollatorStake (r:1 w:1) - /// The range of component `n` is `[1, 75]`. - /// The range of component `m` is `[1, 34]`. fn leave_delegators(n: u32, m: u32, ) -> Weight { Weight::from_ref_time(0 as u64) - // Standard Error: 153_000 - .saturating_add(Weight::from_ref_time(18_270_000 as u64).saturating_mul(n as u64)) - // Standard Error: 341_000 - .saturating_add(Weight::from_ref_time(39_114_000 as u64).saturating_mul(m as u64)) - .saturating_add(T::DbWeight::get().reads(6 as u64)) - .saturating_add(T::DbWeight::get().writes(5 as u64)) + // Standard Error: 227_000 + .saturating_add(Weight::from_ref_time(27_201_000 as u64).saturating_mul(n as u64)) + // Standard Error: 504_000 + .saturating_add(Weight::from_ref_time(59_138_000 as u64).saturating_mul(m as u64)) + .saturating_add(T::DbWeight::get().reads(10 as u64)) + .saturating_add(T::DbWeight::get().writes(7 as u64)) } // Storage: ParachainStaking Unstaking (r:1 w:1) // Storage: Balances Locks (r:1 w:1) // Storage: System Account (r:1 w:1) fn unlock_unstaked(u: u32, ) -> Weight { - Weight::from_ref_time(58_250_000 as u64) - // Standard Error: 10_000 - .saturating_add(Weight::from_ref_time(249_000 as u64).saturating_mul(u as u64)) + Weight::from_ref_time(56_879_000 as u64) + // Standard Error: 13_000 + .saturating_add(Weight::from_ref_time(330_000 as u64).saturating_mul(u as u64)) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } // Storage: ParachainStaking MaxCollatorCandidateStake (r:0 w:1) fn set_max_candidate_stake() -> Weight { - Weight::from_ref_time(23_094_000 as u64) + Weight::from_ref_time(23_280_000 as u64) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: ParachainStaking DelegatorState (r:1 w:0) - // Storage: ParachainStaking RewardCount (r:2 w:1) + // Storage: ParachainStaking BlocksAuthored (r:1 w:0) + // Storage: ParachainStaking BlocksRewarded (r:1 w:1) // Storage: ParachainStaking Rewards (r:1 w:1) // Storage: ParachainStaking TotalCollatorStake (r:1 w:0) // Storage: ParachainStaking InflationConfig (r:1 w:0) fn increment_delegator_rewards() -> Weight { - Weight::from_ref_time(25_796_000 as u64) + Weight::from_ref_time(46_174_000 as u64) .saturating_add(T::DbWeight::get().reads(6 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: ParachainStaking CandidatePool (r:1 w:0) - // Storage: ParachainStaking RewardCount (r:1 w:1) + // Storage: ParachainStaking BlocksAuthored (r:1 w:0) + // Storage: ParachainStaking BlocksRewarded (r:1 w:1) // Storage: ParachainStaking Rewards (r:1 w:1) // Storage: ParachainStaking TotalCollatorStake (r:1 w:0) // Storage: ParachainStaking InflationConfig (r:1 w:0) - /// The range of component `m` is `[0, 35]`. fn increment_collator_rewards() -> Weight { - Weight::from_ref_time(366_611_000 as u64) - .saturating_add(T::DbWeight::get().reads(75 as u64)) - .saturating_add(T::DbWeight::get().writes(72 as u64)) + Weight::from_ref_time(39_475_000 as u64) + .saturating_add(T::DbWeight::get().reads(6 as u64)) + .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: ParachainStaking Rewards (r:1 w:1) // Storage: System Account (r:1 w:1) fn claim_rewards() -> Weight { - Weight::from_ref_time(29_833_000 as u64) + Weight::from_ref_time(58_354_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: ParachainStaking LastRewardReduction (r:1 w:1) // Storage: ParachainStaking InflationConfig (r:1 w:1) // Storage: ParachainStaking CandidatePool (r:3 w:0) - // Storage: ParachainStaking RewardCount (r:72 w:72) - // Storage: ParachainStaking Rewards (r:2 w:2) + // Storage: ParachainStaking BlocksAuthored (r:2 w:0) + // Storage: ParachainStaking BlocksRewarded (r:72 w:72) + // Storage: ParachainStaking Rewards (r:72 w:72) // Storage: ParachainStaking TotalCollatorStake (r:1 w:0) // Storage: ParachainStaking CounterForCandidatePool (r:1 w:0) - /// The range of component `n` is `[0, 75]`. - /// The range of component `m` is `[0, 35]`. fn execute_scheduled_reward_change(n: u32, m: u32, ) -> Weight { Weight::from_ref_time(0 as u64) - // Standard Error: 5_730_000 - .saturating_add(Weight::from_ref_time(202_623_000 as u64).saturating_mul(n as u64)) - // Standard Error: 12_280_000 - .saturating_add(Weight::from_ref_time(415_436_000 as u64).saturating_mul(m as u64)) - .saturating_add(T::DbWeight::get().reads((37 as u64).saturating_mul(n as u64))) - .saturating_add(T::DbWeight::get().reads((75 as u64).saturating_mul(m as u64))) - .saturating_add(T::DbWeight::get().writes((36 as u64).saturating_mul(n as u64))) - .saturating_add(T::DbWeight::get().writes((75 as u64).saturating_mul(m as u64))) + // Standard Error: 607_000 + .saturating_add(Weight::from_ref_time(495_051_000 as u64).saturating_mul(n as u64)) + // Standard Error: 1_291_000 + .saturating_add(Weight::from_ref_time(1_020_115_000 as u64).saturating_mul(m as u64)) + .saturating_add(T::DbWeight::get().reads((74 as u64).saturating_mul(n as u64))) + .saturating_add(T::DbWeight::get().reads((150 as u64).saturating_mul(m as u64))) + .saturating_add(T::DbWeight::get().writes((72 as u64).saturating_mul(n as u64))) + .saturating_add(T::DbWeight::get().writes((150 as u64).saturating_mul(m as u64))) } } diff --git a/runtimes/peregrine/src/weights/public_credentials.rs b/runtimes/peregrine/src/weights/public_credentials.rs index c5c2533f6..034aa26c4 100644 --- a/runtimes/peregrine/src/weights/public_credentials.rs +++ b/runtimes/peregrine/src/weights/public_credentials.rs @@ -19,7 +19,7 @@ //! Autogenerated weights for public_credentials //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-10-26, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2022-11-07, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024 // Executed Command: @@ -53,7 +53,7 @@ impl public_credentials::WeightInfo for WeightInfo { // Storage: System Account (r:1 w:1) // Storage: PublicCredentials CredentialSubjects (r:0 w:1) fn add(c: u32, ) -> Weight { - Weight::from_ref_time(73_886_000 as u64) + Weight::from_ref_time(72_896_000 as u64) // Standard Error: 0 .saturating_add(Weight::from_ref_time(2_000 as u64).saturating_mul(c as u64)) .saturating_add(T::DbWeight::get().reads(3 as u64)) @@ -62,14 +62,14 @@ impl public_credentials::WeightInfo for WeightInfo { // Storage: PublicCredentials CredentialSubjects (r:1 w:0) // Storage: PublicCredentials Credentials (r:1 w:1) fn revoke() -> Weight { - Weight::from_ref_time(44_375_000 as u64) + Weight::from_ref_time(44_712_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: PublicCredentials CredentialSubjects (r:1 w:0) // Storage: PublicCredentials Credentials (r:1 w:1) fn unrevoke() -> Weight { - Weight::from_ref_time(45_172_000 as u64) + Weight::from_ref_time(45_216_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } @@ -77,7 +77,7 @@ impl public_credentials::WeightInfo for WeightInfo { // Storage: PublicCredentials Credentials (r:1 w:1) // Storage: System Account (r:1 w:1) fn remove() -> Weight { - Weight::from_ref_time(68_711_000 as u64) + Weight::from_ref_time(70_155_000 as u64) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } @@ -85,18 +85,24 @@ impl public_credentials::WeightInfo for WeightInfo { // Storage: PublicCredentials Credentials (r:1 w:1) // Storage: System Account (r:1 w:1) fn reclaim_deposit() -> Weight { - Weight::from_ref_time(69_026_000 as u64) + Weight::from_ref_time(69_197_000 as u64) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } + // Storage: PublicCredentials CredentialSubjects (r:1 w:0) + // Storage: PublicCredentials Credentials (r:1 w:1) + // Storage: System Account (r:2 w:2) fn change_deposit_owner() -> Weight { - Weight::from_ref_time(68_692_000 as u64) - .saturating_add(T::DbWeight::get().reads(3 as u64)) + Weight::from_ref_time(87_565_000 as u64) + .saturating_add(T::DbWeight::get().reads(4 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } + // Storage: PublicCredentials CredentialSubjects (r:1 w:0) + // Storage: PublicCredentials Credentials (r:1 w:1) + // Storage: System Account (r:1 w:1) fn update_deposit() -> Weight { - Weight::from_ref_time(68_692_000 as u64) + Weight::from_ref_time(82_619_000 as u64) .saturating_add(T::DbWeight::get().reads(3 as u64)) - .saturating_add(T::DbWeight::get().writes(3 as u64)) + .saturating_add(T::DbWeight::get().writes(2 as u64)) } } diff --git a/runtimes/spiritnet/src/weights/attestation.rs b/runtimes/spiritnet/src/weights/attestation.rs index 091222ddc..b551b1c49 100644 --- a/runtimes/spiritnet/src/weights/attestation.rs +++ b/runtimes/spiritnet/src/weights/attestation.rs @@ -19,7 +19,7 @@ //! Autogenerated weights for attestation //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-10-26, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2022-11-07, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("spiritnet-dev"), DB CACHE: 1024 // Executed Command: @@ -52,41 +52,41 @@ impl attestation::WeightInfo for WeightInfo { // Storage: Attestation Attestations (r:1 w:1) // Storage: System Account (r:1 w:1) fn add() -> Weight { - Weight::from_ref_time(55_258_000 as u64) + Weight::from_ref_time(56_234_000 as u64) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Attestation Attestations (r:1 w:1) fn revoke() -> Weight { - Weight::from_ref_time(34_162_000 as u64) + Weight::from_ref_time(34_160_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Attestation Attestations (r:1 w:1) // Storage: System Account (r:1 w:1) fn remove() -> Weight { - Weight::from_ref_time(52_631_000 as u64) + Weight::from_ref_time(52_393_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Attestation Attestations (r:1 w:1) // Storage: System Account (r:1 w:1) fn reclaim_deposit() -> Weight { - Weight::from_ref_time(52_779_000 as u64) + Weight::from_ref_time(52_627_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Attestation Attestations (r:1 w:1) // Storage: System Account (r:2 w:2) fn change_deposit_owner() -> Weight { - Weight::from_ref_time(68_856_000 as u64) + Weight::from_ref_time(68_992_000 as u64) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } // Storage: Attestation Attestations (r:1 w:1) // Storage: System Account (r:1 w:1) fn update_deposit() -> Weight { - Weight::from_ref_time(62_505_000 as u64) + Weight::from_ref_time(62_215_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } diff --git a/runtimes/spiritnet/src/weights/ctype.rs b/runtimes/spiritnet/src/weights/ctype.rs index 11782b5bf..c3e962d8e 100644 --- a/runtimes/spiritnet/src/weights/ctype.rs +++ b/runtimes/spiritnet/src/weights/ctype.rs @@ -19,7 +19,7 @@ //! Autogenerated weights for ctype //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-10-26, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2022-11-07, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("spiritnet-dev"), DB CACHE: 1024 // Executed Command: @@ -51,7 +51,7 @@ impl ctype::WeightInfo for WeightInfo { // Storage: System Account (r:2 w:2) // Storage: Ctype Ctypes (r:1 w:1) fn add(l: u32, ) -> Weight { - Weight::from_ref_time(13_513_000 as u64) + Weight::from_ref_time(7_111_000 as u64) // Standard Error: 0 .saturating_add(Weight::from_ref_time(2_000 as u64).saturating_mul(l as u64)) .saturating_add(T::DbWeight::get().reads(3 as u64)) diff --git a/runtimes/spiritnet/src/weights/delegation.rs b/runtimes/spiritnet/src/weights/delegation.rs index 908b9bdb7..386b877f6 100644 --- a/runtimes/spiritnet/src/weights/delegation.rs +++ b/runtimes/spiritnet/src/weights/delegation.rs @@ -19,7 +19,7 @@ //! Autogenerated weights for delegation //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-10-26, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2022-11-07, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("spiritnet-dev"), DB CACHE: 1024 // Executed Command: @@ -53,35 +53,37 @@ impl delegation::WeightInfo for WeightInfo { // Storage: System Account (r:1 w:1) // Storage: Delegation DelegationNodes (r:0 w:1) fn create_hierarchy() -> Weight { - Weight::from_ref_time(58_915_000 as u64) + Weight::from_ref_time(58_121_000 as u64) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } // Storage: Delegation DelegationNodes (r:2 w:2) // Storage: System Account (r:1 w:1) fn add_delegation() -> Weight { - Weight::from_ref_time(63_551_000 as u64) + Weight::from_ref_time(64_134_000 as u64) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } // Storage: Delegation DelegationNodes (r:1 w:1) // Storage: Delegation DelegationHierarchies (r:1 w:0) fn revoke_delegation_root_child(r: u32, c: u32, ) -> Weight { - Weight::from_ref_time(31_825_000 as u64) - // Standard Error: 37_000 - .saturating_add(Weight::from_ref_time(14_337_000 as u64).saturating_mul(r as u64)) - // Standard Error: 37_000 - .saturating_add(Weight::from_ref_time(596_000 as u64).saturating_mul(c as u64)) + Weight::from_ref_time(34_233_000 as u64) + // Standard Error: 40_000 + .saturating_add(Weight::from_ref_time(13_991_000 as u64).saturating_mul(r as u64)) + // Standard Error: 40_000 + .saturating_add(Weight::from_ref_time(341_000 as u64).saturating_mul(c as u64)) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(r as u64))) .saturating_add(T::DbWeight::get().writes((1 as u64).saturating_mul(r as u64))) } // Storage: Delegation DelegationNodes (r:6 w:1) // Storage: Delegation DelegationHierarchies (r:1 w:0) - fn revoke_delegation_leaf(_r: u32, c: u32, ) -> Weight { - Weight::from_ref_time(49_853_000 as u64) - // Standard Error: 11_000 - .saturating_add(Weight::from_ref_time(3_984_000 as u64).saturating_mul(c as u64)) + fn revoke_delegation_leaf(r: u32, c: u32, ) -> Weight { + Weight::from_ref_time(49_062_000 as u64) + // Standard Error: 10_000 + .saturating_add(Weight::from_ref_time(56_000 as u64).saturating_mul(r as u64)) + // Standard Error: 10_000 + .saturating_add(Weight::from_ref_time(4_113_000 as u64).saturating_mul(c as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(c as u64))) .saturating_add(T::DbWeight::get().writes(1 as u64)) @@ -90,9 +92,9 @@ impl delegation::WeightInfo for WeightInfo { // Storage: System Account (r:1 w:1) // Storage: Delegation DelegationHierarchies (r:1 w:1) fn remove_delegation(r: u32, ) -> Weight { - Weight::from_ref_time(69_960_000 as u64) - // Standard Error: 19_000 - .saturating_add(Weight::from_ref_time(24_746_000 as u64).saturating_mul(r as u64)) + Weight::from_ref_time(70_044_000 as u64) + // Standard Error: 16_000 + .saturating_add(Weight::from_ref_time(24_079_000 as u64).saturating_mul(r as u64)) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(r as u64))) .saturating_add(T::DbWeight::get().writes(3 as u64)) @@ -102,9 +104,9 @@ impl delegation::WeightInfo for WeightInfo { // Storage: System Account (r:1 w:1) // Storage: Delegation DelegationHierarchies (r:0 w:1) fn reclaim_deposit(r: u32, ) -> Weight { - Weight::from_ref_time(62_596_000 as u64) - // Standard Error: 18_000 - .saturating_add(Weight::from_ref_time(24_504_000 as u64).saturating_mul(r as u64)) + Weight::from_ref_time(62_299_000 as u64) + // Standard Error: 25_000 + .saturating_add(Weight::from_ref_time(24_288_000 as u64).saturating_mul(r as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(r as u64))) .saturating_add(T::DbWeight::get().writes(3 as u64)) @@ -113,36 +115,36 @@ impl delegation::WeightInfo for WeightInfo { // Storage: Delegation DelegationNodes (r:1 w:0) // Storage: Delegation DelegationHierarchies (r:1 w:0) fn can_attest() -> Weight { - Weight::from_ref_time(18_250_000 as u64) + Weight::from_ref_time(18_851_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) } // Storage: Delegation DelegationNodes (r:2 w:0) fn can_revoke(c: u32, ) -> Weight { - Weight::from_ref_time(13_298_000 as u64) - // Standard Error: 11_000 - .saturating_add(Weight::from_ref_time(4_323_000 as u64).saturating_mul(c as u64)) + Weight::from_ref_time(13_473_000 as u64) + // Standard Error: 9_000 + .saturating_add(Weight::from_ref_time(4_511_000 as u64).saturating_mul(c as u64)) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(c as u64))) } // Storage: Delegation DelegationNodes (r:2 w:0) fn can_remove(c: u32, ) -> Weight { - Weight::from_ref_time(13_174_000 as u64) - // Standard Error: 12_000 - .saturating_add(Weight::from_ref_time(4_377_000 as u64).saturating_mul(c as u64)) + Weight::from_ref_time(13_172_000 as u64) + // Standard Error: 9_000 + .saturating_add(Weight::from_ref_time(4_545_000 as u64).saturating_mul(c as u64)) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(c as u64))) } // Storage: Delegation DelegationNodes (r:1 w:1) // Storage: System Account (r:2 w:2) fn change_deposit_owner() -> Weight { - Weight::from_ref_time(70_140_000 as u64) + Weight::from_ref_time(69_711_000 as u64) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } // Storage: Delegation DelegationNodes (r:1 w:1) // Storage: System Account (r:1 w:1) fn update_deposit() -> Weight { - Weight::from_ref_time(65_141_000 as u64) + Weight::from_ref_time(65_252_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } diff --git a/runtimes/spiritnet/src/weights/did.rs b/runtimes/spiritnet/src/weights/did.rs index 5899b35dc..47316c53f 100644 --- a/runtimes/spiritnet/src/weights/did.rs +++ b/runtimes/spiritnet/src/weights/did.rs @@ -19,7 +19,7 @@ //! Autogenerated weights for did //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-10-26, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2022-11-07, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("spiritnet-dev"), DB CACHE: 1024 // Executed Command: @@ -54,11 +54,11 @@ impl did::WeightInfo for WeightInfo { // Storage: Did DidEndpointsCount (r:0 w:1) // Storage: Did ServiceEndpoints (r:0 w:25) fn create_ed25519_keys(n: u32, c: u32, ) -> Weight { - Weight::from_ref_time(156_404_000 as u64) - // Standard Error: 16_000 - .saturating_add(Weight::from_ref_time(1_514_000 as u64).saturating_mul(n as u64)) + Weight::from_ref_time(157_848_000 as u64) + // Standard Error: 17_000 + .saturating_add(Weight::from_ref_time(1_354_000 as u64).saturating_mul(n as u64)) // Standard Error: 6_000 - .saturating_add(Weight::from_ref_time(6_298_000 as u64).saturating_mul(c as u64)) + .saturating_add(Weight::from_ref_time(6_312_000 as u64).saturating_mul(c as u64)) .saturating_add(T::DbWeight::get().reads(4 as u64)) .saturating_add(T::DbWeight::get().writes(4 as u64)) .saturating_add(T::DbWeight::get().writes((1 as u64).saturating_mul(c as u64))) @@ -69,11 +69,11 @@ impl did::WeightInfo for WeightInfo { // Storage: Did DidEndpointsCount (r:0 w:1) // Storage: Did ServiceEndpoints (r:0 w:25) fn create_sr25519_keys(n: u32, c: u32, ) -> Weight { - Weight::from_ref_time(161_953_000 as u64) - // Standard Error: 18_000 - .saturating_add(Weight::from_ref_time(1_162_000 as u64).saturating_mul(n as u64)) + Weight::from_ref_time(160_459_000 as u64) + // Standard Error: 17_000 + .saturating_add(Weight::from_ref_time(1_324_000 as u64).saturating_mul(n as u64)) // Standard Error: 6_000 - .saturating_add(Weight::from_ref_time(6_758_000 as u64).saturating_mul(c as u64)) + .saturating_add(Weight::from_ref_time(6_735_000 as u64).saturating_mul(c as u64)) .saturating_add(T::DbWeight::get().reads(4 as u64)) .saturating_add(T::DbWeight::get().writes(4 as u64)) .saturating_add(T::DbWeight::get().writes((1 as u64).saturating_mul(c as u64))) @@ -84,11 +84,11 @@ impl did::WeightInfo for WeightInfo { // Storage: Did DidEndpointsCount (r:0 w:1) // Storage: Did ServiceEndpoints (r:0 w:25) fn create_ecdsa_keys(n: u32, c: u32, ) -> Weight { - Weight::from_ref_time(144_583_000 as u64) - // Standard Error: 19_000 - .saturating_add(Weight::from_ref_time(1_585_000 as u64).saturating_mul(n as u64)) - // Standard Error: 7_000 - .saturating_add(Weight::from_ref_time(5_956_000 as u64).saturating_mul(c as u64)) + Weight::from_ref_time(146_169_000 as u64) + // Standard Error: 17_000 + .saturating_add(Weight::from_ref_time(1_339_000 as u64).saturating_mul(n as u64)) + // Standard Error: 6_000 + .saturating_add(Weight::from_ref_time(5_866_000 as u64).saturating_mul(c as u64)) .saturating_add(T::DbWeight::get().reads(4 as u64)) .saturating_add(T::DbWeight::get().writes(4 as u64)) .saturating_add(T::DbWeight::get().writes((1 as u64).saturating_mul(c as u64))) @@ -98,9 +98,9 @@ impl did::WeightInfo for WeightInfo { // Storage: Did DidBlacklist (r:0 w:1) // Storage: Did ServiceEndpoints (r:0 w:1) fn delete(c: u32, ) -> Weight { - Weight::from_ref_time(48_536_000 as u64) + Weight::from_ref_time(47_907_000 as u64) // Standard Error: 4_000 - .saturating_add(Weight::from_ref_time(1_578_000 as u64).saturating_mul(c as u64)) + .saturating_add(Weight::from_ref_time(1_544_000 as u64).saturating_mul(c as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) .saturating_add(T::DbWeight::get().writes((1 as u64).saturating_mul(c as u64))) @@ -110,154 +110,154 @@ impl did::WeightInfo for WeightInfo { // Storage: Did DidBlacklist (r:0 w:1) // Storage: Did ServiceEndpoints (r:0 w:1) fn reclaim_deposit(c: u32, ) -> Weight { - Weight::from_ref_time(51_478_000 as u64) - // Standard Error: 4_000 - .saturating_add(Weight::from_ref_time(1_589_000 as u64).saturating_mul(c as u64)) + Weight::from_ref_time(50_490_000 as u64) + // Standard Error: 5_000 + .saturating_add(Weight::from_ref_time(1_586_000 as u64).saturating_mul(c as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) .saturating_add(T::DbWeight::get().writes((1 as u64).saturating_mul(c as u64))) } // Storage: Did Did (r:1 w:1) fn submit_did_call_ed25519_key() -> Weight { - Weight::from_ref_time(95_882_000 as u64) + Weight::from_ref_time(95_824_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn submit_did_call_sr25519_key() -> Weight { - Weight::from_ref_time(97_389_000 as u64) + Weight::from_ref_time(96_937_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn submit_did_call_ecdsa_key() -> Weight { - Weight::from_ref_time(84_513_000 as u64) + Weight::from_ref_time(84_072_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn set_ed25519_authentication_key() -> Weight { - Weight::from_ref_time(45_887_000 as u64) + Weight::from_ref_time(45_271_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn set_sr25519_authentication_key() -> Weight { - Weight::from_ref_time(46_425_000 as u64) + Weight::from_ref_time(45_628_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn set_ecdsa_authentication_key() -> Weight { - Weight::from_ref_time(46_062_000 as u64) + Weight::from_ref_time(45_736_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn set_ed25519_delegation_key() -> Weight { - Weight::from_ref_time(45_711_000 as u64) + Weight::from_ref_time(45_398_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn set_sr25519_delegation_key() -> Weight { - Weight::from_ref_time(45_837_000 as u64) + Weight::from_ref_time(45_459_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn set_ecdsa_delegation_key() -> Weight { - Weight::from_ref_time(45_721_000 as u64) + Weight::from_ref_time(45_286_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn remove_ed25519_delegation_key() -> Weight { - Weight::from_ref_time(43_075_000 as u64) + Weight::from_ref_time(42_640_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn remove_sr25519_delegation_key() -> Weight { - Weight::from_ref_time(43_297_000 as u64) + Weight::from_ref_time(42_787_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn remove_ecdsa_delegation_key() -> Weight { - Weight::from_ref_time(43_431_000 as u64) + Weight::from_ref_time(42_624_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn set_ed25519_attestation_key() -> Weight { - Weight::from_ref_time(45_841_000 as u64) + Weight::from_ref_time(45_667_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn set_sr25519_attestation_key() -> Weight { - Weight::from_ref_time(45_553_000 as u64) + Weight::from_ref_time(45_691_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn set_ecdsa_attestation_key() -> Weight { - Weight::from_ref_time(45_554_000 as u64) + Weight::from_ref_time(45_853_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn remove_ed25519_attestation_key() -> Weight { - Weight::from_ref_time(42_795_000 as u64) + Weight::from_ref_time(42_921_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn remove_sr25519_attestation_key() -> Weight { - Weight::from_ref_time(42_853_000 as u64) + Weight::from_ref_time(42_808_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn remove_ecdsa_attestation_key() -> Weight { - Weight::from_ref_time(42_758_000 as u64) + Weight::from_ref_time(43_103_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn add_ed25519_key_agreement_key() -> Weight { - Weight::from_ref_time(45_172_000 as u64) + Weight::from_ref_time(44_695_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn add_sr25519_key_agreement_key() -> Weight { - Weight::from_ref_time(45_182_000 as u64) + Weight::from_ref_time(44_848_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn add_ecdsa_key_agreement_key() -> Weight { - Weight::from_ref_time(45_028_000 as u64) + Weight::from_ref_time(44_624_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn remove_ed25519_key_agreement_key() -> Weight { - Weight::from_ref_time(43_049_000 as u64) + Weight::from_ref_time(43_110_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn remove_sr25519_key_agreement_key() -> Weight { - Weight::from_ref_time(43_533_000 as u64) + Weight::from_ref_time(43_129_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn remove_ecdsa_key_agreement_key() -> Weight { - Weight::from_ref_time(43_315_000 as u64) + Weight::from_ref_time(42_917_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } @@ -265,34 +265,34 @@ impl did::WeightInfo for WeightInfo { // Storage: Did DidEndpointsCount (r:1 w:1) // Storage: Did ServiceEndpoints (r:1 w:1) fn add_service_endpoint() -> Weight { - Weight::from_ref_time(52_035_000 as u64) + Weight::from_ref_time(52_265_000 as u64) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Did ServiceEndpoints (r:1 w:1) // Storage: Did DidEndpointsCount (r:1 w:1) fn remove_service_endpoint() -> Weight { - Weight::from_ref_time(45_173_000 as u64) + Weight::from_ref_time(44_326_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Did Did (r:1 w:0) fn signature_verification_sr25519(l: u32, ) -> Weight { - Weight::from_ref_time(27_347_000 as u64) + Weight::from_ref_time(33_827_000 as u64) // Standard Error: 0 .saturating_add(Weight::from_ref_time(4_000 as u64).saturating_mul(l as u64)) .saturating_add(T::DbWeight::get().reads(1 as u64)) } // Storage: Did Did (r:1 w:0) fn signature_verification_ed25519(l: u32, ) -> Weight { - Weight::from_ref_time(32_129_000 as u64) + Weight::from_ref_time(34_785_000 as u64) // Standard Error: 0 .saturating_add(Weight::from_ref_time(2_000 as u64).saturating_mul(l as u64)) .saturating_add(T::DbWeight::get().reads(1 as u64)) } // Storage: Did Did (r:1 w:0) fn signature_verification_ecdsa(l: u32, ) -> Weight { - Weight::from_ref_time(17_648_000 as u64) + Weight::from_ref_time(22_588_000 as u64) // Standard Error: 0 .saturating_add(Weight::from_ref_time(1_000 as u64).saturating_mul(l as u64)) .saturating_add(T::DbWeight::get().reads(1 as u64)) @@ -300,14 +300,14 @@ impl did::WeightInfo for WeightInfo { // Storage: Did Did (r:1 w:1) // Storage: System Account (r:1 w:1) fn change_deposit_owner() -> Weight { - Weight::from_ref_time(60_763_000 as u64) + Weight::from_ref_time(61_424_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Did Did (r:1 w:1) // Storage: System Account (r:1 w:1) fn update_deposit() -> Weight { - Weight::from_ref_time(63_899_000 as u64) + Weight::from_ref_time(64_415_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } diff --git a/runtimes/spiritnet/src/weights/frame_system.rs b/runtimes/spiritnet/src/weights/frame_system.rs index 5a93ee17e..d64db63da 100644 --- a/runtimes/spiritnet/src/weights/frame_system.rs +++ b/runtimes/spiritnet/src/weights/frame_system.rs @@ -19,7 +19,7 @@ //! Autogenerated weights for frame_system //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-10-19, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2022-11-07, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("spiritnet-dev"), DB CACHE: 1024 // Executed Command: @@ -49,39 +49,39 @@ use sp_std::marker::PhantomData; pub struct WeightInfo(PhantomData); impl frame_system::WeightInfo for WeightInfo { fn remark(_b: u32, ) -> Weight { - Weight::from_ref_time(11_942_000 as u64) + Weight::from_ref_time(9_086_000 as u64) } fn remark_with_event(b: u32, ) -> Weight { - Weight::from_ref_time(924_000 as u64) + Weight::from_ref_time(3_476_000 as u64) // Standard Error: 0 .saturating_add(Weight::from_ref_time(2_000 as u64).saturating_mul(b as u64)) } // Storage: System Digest (r:1 w:1) // Storage: unknown [0x3a686561707061676573] (r:0 w:1) fn set_heap_pages() -> Weight { - Weight::from_ref_time(13_818_000 as u64) + Weight::from_ref_time(14_301_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Skipped Metadata (r:0 w:0) fn set_storage(i: u32, ) -> Weight { - Weight::from_ref_time(544_000 as u64) + Weight::from_ref_time(1_491_000 as u64) // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(843_000 as u64).saturating_mul(i as u64)) + .saturating_add(Weight::from_ref_time(822_000 as u64).saturating_mul(i as u64)) .saturating_add(T::DbWeight::get().writes((1 as u64).saturating_mul(i as u64))) } // Storage: Skipped Metadata (r:0 w:0) fn kill_storage(i: u32, ) -> Weight { Weight::from_ref_time(0 as u64) // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(701_000 as u64).saturating_mul(i as u64)) + .saturating_add(Weight::from_ref_time(669_000 as u64).saturating_mul(i as u64)) .saturating_add(T::DbWeight::get().writes((1 as u64).saturating_mul(i as u64))) } // Storage: Skipped Metadata (r:0 w:0) fn kill_prefix(p: u32, ) -> Weight { - Weight::from_ref_time(673_000 as u64) + Weight::from_ref_time(600_000 as u64) // Standard Error: 2_000 - .saturating_add(Weight::from_ref_time(1_368_000 as u64).saturating_mul(p as u64)) + .saturating_add(Weight::from_ref_time(1_310_000 as u64).saturating_mul(p as u64)) .saturating_add(T::DbWeight::get().writes((1 as u64).saturating_mul(p as u64))) } } diff --git a/runtimes/spiritnet/src/weights/pallet_balances.rs b/runtimes/spiritnet/src/weights/pallet_balances.rs index 15486c117..ab21e90c6 100644 --- a/runtimes/spiritnet/src/weights/pallet_balances.rs +++ b/runtimes/spiritnet/src/weights/pallet_balances.rs @@ -19,7 +19,7 @@ //! Autogenerated weights for pallet_balances //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-10-19, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2022-11-07, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("spiritnet-dev"), DB CACHE: 1024 // Executed Command: @@ -50,43 +50,43 @@ pub struct WeightInfo(PhantomData); impl pallet_balances::WeightInfo for WeightInfo { // Storage: System Account (r:2 w:2) fn transfer() -> Weight { - Weight::from_ref_time(86_012_000 as u64) + Weight::from_ref_time(87_075_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: System Account (r:1 w:1) fn transfer_keep_alive() -> Weight { - Weight::from_ref_time(57_537_000 as u64) + Weight::from_ref_time(56_978_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: System Account (r:1 w:1) fn set_balance_creating() -> Weight { - Weight::from_ref_time(41_942_000 as u64) + Weight::from_ref_time(42_817_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: System Account (r:1 w:1) fn set_balance_killing() -> Weight { - Weight::from_ref_time(48_048_000 as u64) + Weight::from_ref_time(48_020_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: System Account (r:3 w:3) fn force_transfer() -> Weight { - Weight::from_ref_time(87_468_000 as u64) + Weight::from_ref_time(85_916_000 as u64) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } // Storage: System Account (r:1 w:1) fn transfer_all() -> Weight { - Weight::from_ref_time(66_219_000 as u64) + Weight::from_ref_time(65_821_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: System Account (r:1 w:1) fn force_unreserve() -> Weight { - Weight::from_ref_time(36_368_000 as u64) + Weight::from_ref_time(36_697_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } diff --git a/runtimes/spiritnet/src/weights/pallet_collective.rs b/runtimes/spiritnet/src/weights/pallet_collective.rs index e8a0418bd..784222a31 100644 --- a/runtimes/spiritnet/src/weights/pallet_collective.rs +++ b/runtimes/spiritnet/src/weights/pallet_collective.rs @@ -19,7 +19,7 @@ //! Autogenerated weights for pallet_collective //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-10-19, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2022-11-07, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("spiritnet-dev"), DB CACHE: 1024 // Executed Command: @@ -54,10 +54,10 @@ impl pallet_collective::WeightInfo for WeightInfo { // Storage: Council Prime (r:0 w:1) fn set_members(m: u32, _n: u32, p: u32, ) -> Weight { Weight::from_ref_time(0 as u64) - // Standard Error: 8_000 - .saturating_add(Weight::from_ref_time(10_061_000 as u64).saturating_mul(m as u64)) - // Standard Error: 8_000 - .saturating_add(Weight::from_ref_time(14_016_000 as u64).saturating_mul(p as u64)) + // Standard Error: 9_000 + .saturating_add(Weight::from_ref_time(9_279_000 as u64).saturating_mul(m as u64)) + // Standard Error: 9_000 + .saturating_add(Weight::from_ref_time(13_278_000 as u64).saturating_mul(p as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(p as u64))) .saturating_add(T::DbWeight::get().writes(2 as u64)) @@ -65,21 +65,21 @@ impl pallet_collective::WeightInfo for WeightInfo { } // Storage: Council Members (r:1 w:0) fn execute(b: u32, m: u32, ) -> Weight { - Weight::from_ref_time(32_208_000 as u64) + Weight::from_ref_time(32_650_000 as u64) // Standard Error: 0 .saturating_add(Weight::from_ref_time(2_000 as u64).saturating_mul(b as u64)) // Standard Error: 0 - .saturating_add(Weight::from_ref_time(25_000 as u64).saturating_mul(m as u64)) + .saturating_add(Weight::from_ref_time(22_000 as u64).saturating_mul(m as u64)) .saturating_add(T::DbWeight::get().reads(1 as u64)) } // Storage: Council Members (r:1 w:0) // Storage: Council ProposalOf (r:1 w:0) fn propose_execute(b: u32, m: u32, ) -> Weight { - Weight::from_ref_time(35_601_000 as u64) + Weight::from_ref_time(36_100_000 as u64) // Standard Error: 0 .saturating_add(Weight::from_ref_time(2_000 as u64).saturating_mul(b as u64)) // Standard Error: 0 - .saturating_add(Weight::from_ref_time(36_000 as u64).saturating_mul(m as u64)) + .saturating_add(Weight::from_ref_time(33_000 as u64).saturating_mul(m as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) } // Storage: Council Members (r:1 w:0) @@ -88,22 +88,22 @@ impl pallet_collective::WeightInfo for WeightInfo { // Storage: Council ProposalCount (r:1 w:1) // Storage: Council Voting (r:0 w:1) fn propose_proposed(b: u32, m: u32, p: u32, ) -> Weight { - Weight::from_ref_time(46_295_000 as u64) + Weight::from_ref_time(46_604_000 as u64) // Standard Error: 0 .saturating_add(Weight::from_ref_time(5_000 as u64).saturating_mul(b as u64)) // Standard Error: 2_000 - .saturating_add(Weight::from_ref_time(34_000 as u64).saturating_mul(m as u64)) + .saturating_add(Weight::from_ref_time(28_000 as u64).saturating_mul(m as u64)) // Standard Error: 2_000 - .saturating_add(Weight::from_ref_time(230_000 as u64).saturating_mul(p as u64)) + .saturating_add(Weight::from_ref_time(237_000 as u64).saturating_mul(p as u64)) .saturating_add(T::DbWeight::get().reads(4 as u64)) .saturating_add(T::DbWeight::get().writes(4 as u64)) } // Storage: Council Members (r:1 w:0) // Storage: Council Voting (r:1 w:1) fn vote(m: u32, ) -> Weight { - Weight::from_ref_time(51_552_000 as u64) + Weight::from_ref_time(51_121_000 as u64) // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(41_000 as u64).saturating_mul(m as u64)) + .saturating_add(Weight::from_ref_time(55_000 as u64).saturating_mul(m as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } @@ -112,11 +112,11 @@ impl pallet_collective::WeightInfo for WeightInfo { // Storage: Council Proposals (r:1 w:1) // Storage: Council ProposalOf (r:0 w:1) fn close_early_disapproved(m: u32, p: u32, ) -> Weight { - Weight::from_ref_time(51_029_000 as u64) - // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(27_000 as u64).saturating_mul(m as u64)) - // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(226_000 as u64).saturating_mul(p as u64)) + Weight::from_ref_time(49_150_000 as u64) + // Standard Error: 2_000 + .saturating_add(Weight::from_ref_time(56_000 as u64).saturating_mul(m as u64)) + // Standard Error: 2_000 + .saturating_add(Weight::from_ref_time(210_000 as u64).saturating_mul(p as u64)) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } @@ -125,13 +125,13 @@ impl pallet_collective::WeightInfo for WeightInfo { // Storage: Council ProposalOf (r:1 w:1) // Storage: Council Proposals (r:1 w:1) fn close_early_approved(b: u32, m: u32, p: u32, ) -> Weight { - Weight::from_ref_time(62_196_000 as u64) + Weight::from_ref_time(64_393_000 as u64) // Standard Error: 0 - .saturating_add(Weight::from_ref_time(5_000 as u64).saturating_mul(b as u64)) - // Standard Error: 3_000 - .saturating_add(Weight::from_ref_time(62_000 as u64).saturating_mul(m as u64)) - // Standard Error: 3_000 - .saturating_add(Weight::from_ref_time(230_000 as u64).saturating_mul(p as u64)) + .saturating_add(Weight::from_ref_time(3_000 as u64).saturating_mul(b as u64)) + // Standard Error: 1_000 + .saturating_add(Weight::from_ref_time(44_000 as u64).saturating_mul(m as u64)) + // Standard Error: 1_000 + .saturating_add(Weight::from_ref_time(234_000 as u64).saturating_mul(p as u64)) .saturating_add(T::DbWeight::get().reads(4 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } @@ -141,11 +141,11 @@ impl pallet_collective::WeightInfo for WeightInfo { // Storage: Council Proposals (r:1 w:1) // Storage: Council ProposalOf (r:0 w:1) fn close_disapproved(m: u32, p: u32, ) -> Weight { - Weight::from_ref_time(54_208_000 as u64) + Weight::from_ref_time(53_938_000 as u64) // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(36_000 as u64).saturating_mul(m as u64)) + .saturating_add(Weight::from_ref_time(39_000 as u64).saturating_mul(m as u64)) // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(217_000 as u64).saturating_mul(p as u64)) + .saturating_add(Weight::from_ref_time(226_000 as u64).saturating_mul(p as u64)) .saturating_add(T::DbWeight::get().reads(4 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } @@ -155,13 +155,13 @@ impl pallet_collective::WeightInfo for WeightInfo { // Storage: Council ProposalOf (r:1 w:1) // Storage: Council Proposals (r:1 w:1) fn close_approved(b: u32, m: u32, p: u32, ) -> Weight { - Weight::from_ref_time(65_686_000 as u64) + Weight::from_ref_time(67_728_000 as u64) // Standard Error: 0 .saturating_add(Weight::from_ref_time(3_000 as u64).saturating_mul(b as u64)) // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(53_000 as u64).saturating_mul(m as u64)) + .saturating_add(Weight::from_ref_time(39_000 as u64).saturating_mul(m as u64)) // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(244_000 as u64).saturating_mul(p as u64)) + .saturating_add(Weight::from_ref_time(239_000 as u64).saturating_mul(p as u64)) .saturating_add(T::DbWeight::get().reads(5 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } @@ -169,9 +169,9 @@ impl pallet_collective::WeightInfo for WeightInfo { // Storage: Council Voting (r:0 w:1) // Storage: Council ProposalOf (r:0 w:1) fn disapprove_proposal(p: u32, ) -> Weight { - Weight::from_ref_time(36_594_000 as u64) + Weight::from_ref_time(36_721_000 as u64) // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(214_000 as u64).saturating_mul(p as u64)) + .saturating_add(Weight::from_ref_time(216_000 as u64).saturating_mul(p as u64)) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } diff --git a/runtimes/spiritnet/src/weights/pallet_democracy.rs b/runtimes/spiritnet/src/weights/pallet_democracy.rs index 50acfadf9..d5b0516c3 100644 --- a/runtimes/spiritnet/src/weights/pallet_democracy.rs +++ b/runtimes/spiritnet/src/weights/pallet_democracy.rs @@ -19,7 +19,7 @@ //! Autogenerated weights for pallet_democracy //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-10-19, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2022-11-07, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("spiritnet-dev"), DB CACHE: 1024 // Executed Command: @@ -53,15 +53,15 @@ impl pallet_democracy::WeightInfo for WeightInfo { // Storage: Democracy Blacklist (r:1 w:0) // Storage: Democracy DepositOf (r:0 w:1) fn propose() -> Weight { - Weight::from_ref_time(83_475_000 as u64) + Weight::from_ref_time(81_101_000 as u64) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } // Storage: Democracy DepositOf (r:1 w:1) fn second(s: u32, ) -> Weight { - Weight::from_ref_time(57_324_000 as u64) + Weight::from_ref_time(56_112_000 as u64) // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(156_000 as u64).saturating_mul(s as u64)) + .saturating_add(Weight::from_ref_time(159_000 as u64).saturating_mul(s as u64)) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } @@ -69,9 +69,9 @@ impl pallet_democracy::WeightInfo for WeightInfo { // Storage: Democracy VotingOf (r:1 w:1) // Storage: Balances Locks (r:1 w:1) fn vote_new(r: u32, ) -> Weight { - Weight::from_ref_time(73_091_000 as u64) - // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(173_000 as u64).saturating_mul(r as u64)) + Weight::from_ref_time(72_585_000 as u64) + // Standard Error: 2_000 + .saturating_add(Weight::from_ref_time(134_000 as u64).saturating_mul(r as u64)) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } @@ -79,16 +79,16 @@ impl pallet_democracy::WeightInfo for WeightInfo { // Storage: Democracy VotingOf (r:1 w:1) // Storage: Balances Locks (r:1 w:1) fn vote_existing(r: u32, ) -> Weight { - Weight::from_ref_time(73_261_000 as u64) - // Standard Error: 5_000 - .saturating_add(Weight::from_ref_time(164_000 as u64).saturating_mul(r as u64)) + Weight::from_ref_time(71_360_000 as u64) + // Standard Error: 2_000 + .saturating_add(Weight::from_ref_time(167_000 as u64).saturating_mul(r as u64)) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } // Storage: Democracy ReferendumInfoOf (r:1 w:1) // Storage: Democracy Cancellations (r:1 w:1) fn emergency_cancel() -> Weight { - Weight::from_ref_time(36_160_000 as u64) + Weight::from_ref_time(35_736_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } @@ -99,16 +99,16 @@ impl pallet_democracy::WeightInfo for WeightInfo { // Storage: Democracy DepositOf (r:1 w:1) // Storage: System Account (r:2 w:2) fn blacklist(p: u32, ) -> Weight { - Weight::from_ref_time(92_597_000 as u64) + Weight::from_ref_time(91_862_000 as u64) // Standard Error: 10_000 - .saturating_add(Weight::from_ref_time(398_000 as u64).saturating_mul(p as u64)) + .saturating_add(Weight::from_ref_time(372_000 as u64).saturating_mul(p as u64)) .saturating_add(T::DbWeight::get().reads(6 as u64)) .saturating_add(T::DbWeight::get().writes(7 as u64)) } // Storage: Democracy NextExternal (r:1 w:1) // Storage: Democracy Blacklist (r:1 w:0) fn external_propose(v: u32, ) -> Weight { - Weight::from_ref_time(25_770_000 as u64) + Weight::from_ref_time(25_282_000 as u64) // Standard Error: 0 .saturating_add(Weight::from_ref_time(17_000 as u64).saturating_mul(v as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) @@ -116,26 +116,26 @@ impl pallet_democracy::WeightInfo for WeightInfo { } // Storage: Democracy NextExternal (r:0 w:1) fn external_propose_majority() -> Weight { - Weight::from_ref_time(8_655_000 as u64) + Weight::from_ref_time(8_446_000 as u64) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Democracy NextExternal (r:0 w:1) fn external_propose_default() -> Weight { - Weight::from_ref_time(8_830_000 as u64) + Weight::from_ref_time(8_709_000 as u64) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Democracy NextExternal (r:1 w:1) // Storage: Democracy ReferendumCount (r:1 w:1) // Storage: Democracy ReferendumInfoOf (r:0 w:1) fn fast_track() -> Weight { - Weight::from_ref_time(36_925_000 as u64) + Weight::from_ref_time(36_411_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } // Storage: Democracy NextExternal (r:1 w:1) // Storage: Democracy Blacklist (r:1 w:1) fn veto_external(v: u32, ) -> Weight { - Weight::from_ref_time(39_474_000 as u64) + Weight::from_ref_time(38_531_000 as u64) // Standard Error: 0 .saturating_add(Weight::from_ref_time(40_000 as u64).saturating_mul(v as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) @@ -145,23 +145,23 @@ impl pallet_democracy::WeightInfo for WeightInfo { // Storage: Democracy DepositOf (r:1 w:1) // Storage: System Account (r:2 w:2) fn cancel_proposal(p: u32, ) -> Weight { - Weight::from_ref_time(78_351_000 as u64) - // Standard Error: 4_000 - .saturating_add(Weight::from_ref_time(324_000 as u64).saturating_mul(p as u64)) + Weight::from_ref_time(77_202_000 as u64) + // Standard Error: 2_000 + .saturating_add(Weight::from_ref_time(317_000 as u64).saturating_mul(p as u64)) .saturating_add(T::DbWeight::get().reads(4 as u64)) .saturating_add(T::DbWeight::get().writes(4 as u64)) } // Storage: Democracy ReferendumInfoOf (r:0 w:1) fn cancel_referendum() -> Weight { - Weight::from_ref_time(24_764_000 as u64) + Weight::from_ref_time(23_827_000 as u64) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Scheduler Lookup (r:1 w:1) // Storage: Scheduler Agenda (r:1 w:1) fn cancel_queued(r: u32, ) -> Weight { - Weight::from_ref_time(41_187_000 as u64) - // Standard Error: 2_000 - .saturating_add(Weight::from_ref_time(1_052_000 as u64).saturating_mul(r as u64)) + Weight::from_ref_time(41_351_000 as u64) + // Standard Error: 3_000 + .saturating_add(Weight::from_ref_time(1_051_000 as u64).saturating_mul(r as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } @@ -169,9 +169,9 @@ impl pallet_democracy::WeightInfo for WeightInfo { // Storage: Democracy ReferendumCount (r:1 w:0) // Storage: Democracy ReferendumInfoOf (r:1 w:0) fn on_initialize_base(r: u32, ) -> Weight { - Weight::from_ref_time(18_697_000 as u64) + Weight::from_ref_time(18_186_000 as u64) // Standard Error: 4_000 - .saturating_add(Weight::from_ref_time(3_132_000 as u64).saturating_mul(r as u64)) + .saturating_add(Weight::from_ref_time(3_047_000 as u64).saturating_mul(r as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(r as u64))) .saturating_add(T::DbWeight::get().writes(1 as u64)) @@ -183,9 +183,9 @@ impl pallet_democracy::WeightInfo for WeightInfo { // Storage: Democracy PublicProps (r:1 w:0) // Storage: Democracy ReferendumInfoOf (r:1 w:0) fn on_initialize_base_with_launch_period(r: u32, ) -> Weight { - Weight::from_ref_time(22_079_000 as u64) - // Standard Error: 7_000 - .saturating_add(Weight::from_ref_time(3_171_000 as u64).saturating_mul(r as u64)) + Weight::from_ref_time(22_113_000 as u64) + // Standard Error: 5_000 + .saturating_add(Weight::from_ref_time(3_037_000 as u64).saturating_mul(r as u64)) .saturating_add(T::DbWeight::get().reads(5 as u64)) .saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(r as u64))) .saturating_add(T::DbWeight::get().writes(1 as u64)) @@ -194,9 +194,9 @@ impl pallet_democracy::WeightInfo for WeightInfo { // Storage: Democracy ReferendumInfoOf (r:1 w:1) // Storage: Balances Locks (r:1 w:1) fn delegate(r: u32, ) -> Weight { - Weight::from_ref_time(78_219_000 as u64) - // Standard Error: 8_000 - .saturating_add(Weight::from_ref_time(4_813_000 as u64).saturating_mul(r as u64)) + Weight::from_ref_time(75_444_000 as u64) + // Standard Error: 5_000 + .saturating_add(Weight::from_ref_time(4_795_000 as u64).saturating_mul(r as u64)) .saturating_add(T::DbWeight::get().reads(4 as u64)) .saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(r as u64))) .saturating_add(T::DbWeight::get().writes(4 as u64)) @@ -205,9 +205,9 @@ impl pallet_democracy::WeightInfo for WeightInfo { // Storage: Democracy VotingOf (r:2 w:2) // Storage: Democracy ReferendumInfoOf (r:1 w:1) fn undelegate(r: u32, ) -> Weight { - Weight::from_ref_time(47_823_000 as u64) + Weight::from_ref_time(44_608_000 as u64) // Standard Error: 5_000 - .saturating_add(Weight::from_ref_time(4_801_000 as u64).saturating_mul(r as u64)) + .saturating_add(Weight::from_ref_time(4_777_000 as u64).saturating_mul(r as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(r as u64))) .saturating_add(T::DbWeight::get().writes(2 as u64)) @@ -215,12 +215,12 @@ impl pallet_democracy::WeightInfo for WeightInfo { } // Storage: Democracy PublicProps (r:0 w:1) fn clear_public_proposals() -> Weight { - Weight::from_ref_time(10_384_000 as u64) + Weight::from_ref_time(10_267_000 as u64) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Democracy Preimages (r:1 w:1) fn note_preimage(b: u32, ) -> Weight { - Weight::from_ref_time(52_162_000 as u64) + Weight::from_ref_time(51_412_000 as u64) // Standard Error: 0 .saturating_add(Weight::from_ref_time(2_000 as u64).saturating_mul(b as u64)) .saturating_add(T::DbWeight::get().reads(1 as u64)) @@ -228,7 +228,7 @@ impl pallet_democracy::WeightInfo for WeightInfo { } // Storage: Democracy Preimages (r:1 w:1) fn note_imminent_preimage(b: u32, ) -> Weight { - Weight::from_ref_time(39_570_000 as u64) + Weight::from_ref_time(38_863_000 as u64) // Standard Error: 0 .saturating_add(Weight::from_ref_time(2_000 as u64).saturating_mul(b as u64)) .saturating_add(T::DbWeight::get().reads(1 as u64)) @@ -237,7 +237,7 @@ impl pallet_democracy::WeightInfo for WeightInfo { // Storage: Democracy Preimages (r:1 w:1) // Storage: System Account (r:1 w:1) fn reap_preimage(b: u32, ) -> Weight { - Weight::from_ref_time(65_024_000 as u64) + Weight::from_ref_time(64_486_000 as u64) // Standard Error: 0 .saturating_add(Weight::from_ref_time(1_000 as u64).saturating_mul(b as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) @@ -247,9 +247,9 @@ impl pallet_democracy::WeightInfo for WeightInfo { // Storage: Balances Locks (r:1 w:1) // Storage: System Account (r:1 w:1) fn unlock_remove(r: u32, ) -> Weight { - Weight::from_ref_time(55_081_000 as u64) - // Standard Error: 5_000 - .saturating_add(Weight::from_ref_time(86_000 as u64).saturating_mul(r as u64)) + Weight::from_ref_time(52_858_000 as u64) + // Standard Error: 1_000 + .saturating_add(Weight::from_ref_time(120_000 as u64).saturating_mul(r as u64)) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } @@ -257,27 +257,27 @@ impl pallet_democracy::WeightInfo for WeightInfo { // Storage: Balances Locks (r:1 w:1) // Storage: System Account (r:1 w:1) fn unlock_set(r: u32, ) -> Weight { - Weight::from_ref_time(52_091_000 as u64) + Weight::from_ref_time(52_631_000 as u64) // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(181_000 as u64).saturating_mul(r as u64)) + .saturating_add(Weight::from_ref_time(171_000 as u64).saturating_mul(r as u64)) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } // Storage: Democracy ReferendumInfoOf (r:1 w:1) // Storage: Democracy VotingOf (r:1 w:1) fn remove_vote(r: u32, ) -> Weight { - Weight::from_ref_time(31_724_000 as u64) + Weight::from_ref_time(30_764_000 as u64) // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(190_000 as u64).saturating_mul(r as u64)) + .saturating_add(Weight::from_ref_time(196_000 as u64).saturating_mul(r as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Democracy ReferendumInfoOf (r:1 w:1) // Storage: Democracy VotingOf (r:1 w:1) fn remove_other_vote(r: u32, ) -> Weight { - Weight::from_ref_time(31_871_000 as u64) + Weight::from_ref_time(31_420_000 as u64) // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(193_000 as u64).saturating_mul(r as u64)) + .saturating_add(Weight::from_ref_time(192_000 as u64).saturating_mul(r as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } diff --git a/runtimes/spiritnet/src/weights/pallet_did_lookup.rs b/runtimes/spiritnet/src/weights/pallet_did_lookup.rs index eb12fa31d..63d0329ad 100644 --- a/runtimes/spiritnet/src/weights/pallet_did_lookup.rs +++ b/runtimes/spiritnet/src/weights/pallet_did_lookup.rs @@ -19,7 +19,7 @@ //! Autogenerated weights for pallet_did_lookup //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-10-26, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2022-11-07, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("spiritnet-dev"), DB CACHE: 1024 // Executed Command: @@ -27,9 +27,9 @@ // benchmark // pallet // --chain=spiritnet-dev -// --steps=1 +// --steps=50 // --repeat=20 -// --pallet=pallet_did_lookup +// --pallet=pallet-did-lookup // --extrinsic=* // --execution=wasm // --wasm-execution=compiled @@ -52,7 +52,7 @@ impl pallet_did_lookup::WeightInfo for WeightInfo { // Storage: DidLookup ConnectedDids (r:1 w:1) // Storage: DidLookup ConnectedAccounts (r:0 w:2) fn associate_account() -> Weight { - Weight::from_ref_time(133_386_000 as u64) + Weight::from_ref_time(131_772_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(4 as u64)) } @@ -60,7 +60,7 @@ impl pallet_did_lookup::WeightInfo for WeightInfo { // Storage: DidLookup ConnectedDids (r:1 w:1) // Storage: DidLookup ConnectedAccounts (r:0 w:2) fn associate_sender() -> Weight { - Weight::from_ref_time(72_692_000 as u64) + Weight::from_ref_time(71_784_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(4 as u64)) } @@ -68,7 +68,7 @@ impl pallet_did_lookup::WeightInfo for WeightInfo { // Storage: System Account (r:1 w:1) // Storage: DidLookup ConnectedAccounts (r:0 w:1) fn remove_sender_association() -> Weight { - Weight::from_ref_time(52_441_000 as u64) + Weight::from_ref_time(51_946_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } @@ -76,21 +76,21 @@ impl pallet_did_lookup::WeightInfo for WeightInfo { // Storage: System Account (r:1 w:1) // Storage: DidLookup ConnectedAccounts (r:0 w:1) fn remove_account_association() -> Weight { - Weight::from_ref_time(54_371_000 as u64) + Weight::from_ref_time(53_373_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } // Storage: DidLookup ConnectedDids (r:1 w:1) // Storage: System Account (r:2 w:2) fn change_deposit_owner() -> Weight { - Weight::from_ref_time(67_853_000 as u64) + Weight::from_ref_time(66_673_000 as u64) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } // Storage: DidLookup ConnectedDids (r:1 w:1) // Storage: System Account (r:1 w:1) fn update_deposit() -> Weight { - Weight::from_ref_time(62_103_000 as u64) + Weight::from_ref_time(60_755_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } diff --git a/runtimes/spiritnet/src/weights/pallet_indices.rs b/runtimes/spiritnet/src/weights/pallet_indices.rs index 6459828a9..08aba0bb8 100644 --- a/runtimes/spiritnet/src/weights/pallet_indices.rs +++ b/runtimes/spiritnet/src/weights/pallet_indices.rs @@ -19,7 +19,7 @@ //! Autogenerated weights for pallet_indices //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-10-19, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2022-11-07, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("spiritnet-dev"), DB CACHE: 1024 // Executed Command: @@ -50,33 +50,33 @@ pub struct WeightInfo(PhantomData); impl pallet_indices::WeightInfo for WeightInfo { // Storage: Indices Accounts (r:1 w:1) fn claim() -> Weight { - Weight::from_ref_time(46_486_000 as u64) + Weight::from_ref_time(46_236_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Indices Accounts (r:1 w:1) // Storage: System Account (r:1 w:1) fn transfer() -> Weight { - Weight::from_ref_time(59_365_000 as u64) + Weight::from_ref_time(59_077_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Indices Accounts (r:1 w:1) fn free() -> Weight { - Weight::from_ref_time(50_692_000 as u64) + Weight::from_ref_time(50_281_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Indices Accounts (r:1 w:1) // Storage: System Account (r:1 w:1) fn force_transfer() -> Weight { - Weight::from_ref_time(50_736_000 as u64) + Weight::from_ref_time(50_355_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Indices Accounts (r:1 w:1) fn freeze() -> Weight { - Weight::from_ref_time(58_108_000 as u64) + Weight::from_ref_time(58_017_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } diff --git a/runtimes/spiritnet/src/weights/pallet_inflation.rs b/runtimes/spiritnet/src/weights/pallet_inflation.rs index 7ec117e58..edeb02c4c 100644 --- a/runtimes/spiritnet/src/weights/pallet_inflation.rs +++ b/runtimes/spiritnet/src/weights/pallet_inflation.rs @@ -19,7 +19,7 @@ //! Autogenerated weights for pallet_inflation //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-10-19, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2022-11-07, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("spiritnet-dev"), DB CACHE: 1024 // Executed Command: @@ -50,11 +50,11 @@ pub struct WeightInfo(PhantomData); impl pallet_inflation::WeightInfo for WeightInfo { // Storage: System Account (r:1 w:1) fn on_initialize_mint_to_treasury() -> Weight { - Weight::from_ref_time(37_518_000 as u64) + Weight::from_ref_time(36_943_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } fn on_initialize_no_action() -> Weight { - Weight::from_ref_time(291_000 as u64) + Weight::from_ref_time(295_000 as u64) } } diff --git a/runtimes/spiritnet/src/weights/pallet_membership.rs b/runtimes/spiritnet/src/weights/pallet_membership.rs index d4f4cf518..531e6f96c 100644 --- a/runtimes/spiritnet/src/weights/pallet_membership.rs +++ b/runtimes/spiritnet/src/weights/pallet_membership.rs @@ -19,7 +19,7 @@ //! Autogenerated weights for pallet_membership //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-10-19, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2022-11-07, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("spiritnet-dev"), DB CACHE: 1024 // Executed Command: @@ -53,9 +53,9 @@ impl pallet_membership::WeightInfo for WeightInfo { // Storage: TechnicalCommittee Members (r:0 w:1) // Storage: TechnicalCommittee Prime (r:0 w:1) fn add_member(m: u32, ) -> Weight { - Weight::from_ref_time(35_803_000 as u64) + Weight::from_ref_time(35_511_000 as u64) // Standard Error: 0 - .saturating_add(Weight::from_ref_time(52_000 as u64).saturating_mul(m as u64)) + .saturating_add(Weight::from_ref_time(57_000 as u64).saturating_mul(m as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } @@ -65,9 +65,9 @@ impl pallet_membership::WeightInfo for WeightInfo { // Storage: TechnicalCommittee Members (r:0 w:1) // Storage: TechnicalCommittee Prime (r:0 w:1) fn remove_member(m: u32, ) -> Weight { - Weight::from_ref_time(39_797_000 as u64) + Weight::from_ref_time(39_954_000 as u64) // Standard Error: 0 - .saturating_add(Weight::from_ref_time(53_000 as u64).saturating_mul(m as u64)) + .saturating_add(Weight::from_ref_time(52_000 as u64).saturating_mul(m as u64)) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } @@ -77,9 +77,9 @@ impl pallet_membership::WeightInfo for WeightInfo { // Storage: TechnicalCommittee Members (r:0 w:1) // Storage: TechnicalCommittee Prime (r:0 w:1) fn swap_member(m: u32, ) -> Weight { - Weight::from_ref_time(40_332_000 as u64) + Weight::from_ref_time(40_112_000 as u64) // Standard Error: 0 - .saturating_add(Weight::from_ref_time(63_000 as u64).saturating_mul(m as u64)) + .saturating_add(Weight::from_ref_time(62_000 as u64).saturating_mul(m as u64)) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } @@ -89,9 +89,9 @@ impl pallet_membership::WeightInfo for WeightInfo { // Storage: TechnicalCommittee Members (r:0 w:1) // Storage: TechnicalCommittee Prime (r:0 w:1) fn reset_member(m: u32, ) -> Weight { - Weight::from_ref_time(40_046_000 as u64) + Weight::from_ref_time(39_708_000 as u64) // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(182_000 as u64).saturating_mul(m as u64)) + .saturating_add(Weight::from_ref_time(189_000 as u64).saturating_mul(m as u64)) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } @@ -101,9 +101,9 @@ impl pallet_membership::WeightInfo for WeightInfo { // Storage: TechnicalCommittee Members (r:0 w:1) // Storage: TechnicalCommittee Prime (r:0 w:1) fn change_key(m: u32, ) -> Weight { - Weight::from_ref_time(41_263_000 as u64) + Weight::from_ref_time(41_116_000 as u64) // Standard Error: 0 - .saturating_add(Weight::from_ref_time(66_000 as u64).saturating_mul(m as u64)) + .saturating_add(Weight::from_ref_time(64_000 as u64).saturating_mul(m as u64)) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(4 as u64)) } @@ -111,16 +111,16 @@ impl pallet_membership::WeightInfo for WeightInfo { // Storage: TechnicalMembership Prime (r:0 w:1) // Storage: TechnicalCommittee Prime (r:0 w:1) fn set_prime(m: u32, ) -> Weight { - Weight::from_ref_time(15_778_000 as u64) + Weight::from_ref_time(15_846_000 as u64) // Standard Error: 0 - .saturating_add(Weight::from_ref_time(19_000 as u64).saturating_mul(m as u64)) + .saturating_add(Weight::from_ref_time(20_000 as u64).saturating_mul(m as u64)) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: TechnicalMembership Prime (r:0 w:1) // Storage: TechnicalCommittee Prime (r:0 w:1) fn clear_prime(m: u32, ) -> Weight { - Weight::from_ref_time(9_971_000 as u64) + Weight::from_ref_time(10_145_000 as u64) // Standard Error: 0 .saturating_add(Weight::from_ref_time(3_000 as u64).saturating_mul(m as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) diff --git a/runtimes/spiritnet/src/weights/pallet_preimage.rs b/runtimes/spiritnet/src/weights/pallet_preimage.rs index c17857f12..1838ae87c 100644 --- a/runtimes/spiritnet/src/weights/pallet_preimage.rs +++ b/runtimes/spiritnet/src/weights/pallet_preimage.rs @@ -19,7 +19,7 @@ //! Autogenerated weights for pallet_preimage //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-10-19, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2022-11-07, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("spiritnet-dev"), DB CACHE: 1024 // Executed Command: @@ -78,58 +78,58 @@ impl pallet_preimage::WeightInfo for WeightInfo { // Storage: Preimage StatusFor (r:1 w:1) // Storage: Preimage PreimageFor (r:0 w:1) fn unnote_preimage() -> Weight { - Weight::from_ref_time(62_744_000 as u64) + Weight::from_ref_time(60_160_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Preimage StatusFor (r:1 w:1) // Storage: Preimage PreimageFor (r:0 w:1) fn unnote_no_deposit_preimage() -> Weight { - Weight::from_ref_time(39_835_000 as u64) + Weight::from_ref_time(37_860_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Preimage StatusFor (r:1 w:1) fn request_preimage() -> Weight { - Weight::from_ref_time(59_989_000 as u64) + Weight::from_ref_time(57_744_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Preimage StatusFor (r:1 w:1) fn request_no_deposit_preimage() -> Weight { - Weight::from_ref_time(37_184_000 as u64) + Weight::from_ref_time(36_343_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Preimage StatusFor (r:1 w:1) fn request_unnoted_preimage() -> Weight { - Weight::from_ref_time(29_625_000 as u64) + Weight::from_ref_time(27_878_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Preimage StatusFor (r:1 w:1) fn request_requested_preimage() -> Weight { - Weight::from_ref_time(15_468_000 as u64) + Weight::from_ref_time(14_923_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Preimage StatusFor (r:1 w:1) // Storage: Preimage PreimageFor (r:0 w:1) fn unrequest_preimage() -> Weight { - Weight::from_ref_time(39_973_000 as u64) + Weight::from_ref_time(37_758_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Preimage StatusFor (r:1 w:1) // Storage: Preimage PreimageFor (r:0 w:1) fn unrequest_unnoted_preimage() -> Weight { - Weight::from_ref_time(31_483_000 as u64) + Weight::from_ref_time(30_189_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Preimage StatusFor (r:1 w:1) fn unrequest_multi_referenced_preimage() -> Weight { - Weight::from_ref_time(15_539_000 as u64) + Weight::from_ref_time(14_878_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } diff --git a/runtimes/spiritnet/src/weights/pallet_proxy.rs b/runtimes/spiritnet/src/weights/pallet_proxy.rs index 9e7f0cd03..7b76c0f87 100644 --- a/runtimes/spiritnet/src/weights/pallet_proxy.rs +++ b/runtimes/spiritnet/src/weights/pallet_proxy.rs @@ -19,7 +19,7 @@ //! Autogenerated weights for pallet_proxy //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-10-19, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2022-11-07, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("spiritnet-dev"), DB CACHE: 1024 // Executed Command: @@ -50,91 +50,87 @@ pub struct WeightInfo(PhantomData); impl pallet_proxy::WeightInfo for WeightInfo { // Storage: Proxy Proxies (r:1 w:0) fn proxy(p: u32, ) -> Weight { - Weight::from_ref_time(35_412_000 as u64) + Weight::from_ref_time(36_241_000 as u64) // Standard Error: 5_000 - .saturating_add(Weight::from_ref_time(137_000 as u64).saturating_mul(p as u64)) + .saturating_add(Weight::from_ref_time(114_000 as u64).saturating_mul(p as u64)) .saturating_add(T::DbWeight::get().reads(1 as u64)) } // Storage: Proxy Proxies (r:1 w:0) // Storage: Proxy Announcements (r:1 w:1) // Storage: System Account (r:1 w:1) - fn proxy_announced(a: u32, p: u32, ) -> Weight { - Weight::from_ref_time(63_898_000 as u64) + fn proxy_announced(a: u32, _p: u32, ) -> Weight { + Weight::from_ref_time(64_923_000 as u64) // Standard Error: 7_000 - .saturating_add(Weight::from_ref_time(353_000 as u64).saturating_mul(a as u64)) - // Standard Error: 8_000 - .saturating_add(Weight::from_ref_time(37_000 as u64).saturating_mul(p as u64)) + .saturating_add(Weight::from_ref_time(290_000 as u64).saturating_mul(a as u64)) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Proxy Announcements (r:1 w:1) // Storage: System Account (r:1 w:1) fn remove_announcement(a: u32, _p: u32, ) -> Weight { - Weight::from_ref_time(46_307_000 as u64) - // Standard Error: 4_000 - .saturating_add(Weight::from_ref_time(350_000 as u64).saturating_mul(a as u64)) + Weight::from_ref_time(46_651_000 as u64) + // Standard Error: 6_000 + .saturating_add(Weight::from_ref_time(318_000 as u64).saturating_mul(a as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Proxy Announcements (r:1 w:1) // Storage: System Account (r:1 w:1) fn reject_announcement(a: u32, _p: u32, ) -> Weight { - Weight::from_ref_time(46_509_000 as u64) + Weight::from_ref_time(46_000_000 as u64) // Standard Error: 5_000 - .saturating_add(Weight::from_ref_time(346_000 as u64).saturating_mul(a as u64)) + .saturating_add(Weight::from_ref_time(373_000 as u64).saturating_mul(a as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Proxy Proxies (r:1 w:0) // Storage: Proxy Announcements (r:1 w:1) // Storage: System Account (r:1 w:1) - fn announce(a: u32, p: u32, ) -> Weight { - Weight::from_ref_time(57_938_000 as u64) + fn announce(a: u32, _p: u32, ) -> Weight { + Weight::from_ref_time(58_234_000 as u64) // Standard Error: 8_000 - .saturating_add(Weight::from_ref_time(399_000 as u64).saturating_mul(a as u64)) - // Standard Error: 9_000 - .saturating_add(Weight::from_ref_time(20_000 as u64).saturating_mul(p as u64)) + .saturating_add(Weight::from_ref_time(372_000 as u64).saturating_mul(a as u64)) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Proxy Proxies (r:1 w:1) fn add_proxy(p: u32, ) -> Weight { - Weight::from_ref_time(51_510_000 as u64) - // Standard Error: 5_000 - .saturating_add(Weight::from_ref_time(141_000 as u64).saturating_mul(p as u64)) + Weight::from_ref_time(50_975_000 as u64) + // Standard Error: 4_000 + .saturating_add(Weight::from_ref_time(155_000 as u64).saturating_mul(p as u64)) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Proxy Proxies (r:1 w:1) fn remove_proxy(p: u32, ) -> Weight { - Weight::from_ref_time(50_638_000 as u64) - // Standard Error: 6_000 - .saturating_add(Weight::from_ref_time(264_000 as u64).saturating_mul(p as u64)) + Weight::from_ref_time(50_461_000 as u64) + // Standard Error: 9_000 + .saturating_add(Weight::from_ref_time(313_000 as u64).saturating_mul(p as u64)) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Proxy Proxies (r:1 w:1) fn remove_proxies(p: u32, ) -> Weight { - Weight::from_ref_time(44_224_000 as u64) + Weight::from_ref_time(43_901_000 as u64) // Standard Error: 4_000 - .saturating_add(Weight::from_ref_time(164_000 as u64).saturating_mul(p as u64)) + .saturating_add(Weight::from_ref_time(215_000 as u64).saturating_mul(p as u64)) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: unknown [0x3a65787472696e7369635f696e646578] (r:1 w:0) // Storage: Proxy Proxies (r:1 w:1) fn anonymous(p: u32, ) -> Weight { - Weight::from_ref_time(56_775_000 as u64) + Weight::from_ref_time(56_715_000 as u64) // Standard Error: 5_000 - .saturating_add(Weight::from_ref_time(112_000 as u64).saturating_mul(p as u64)) + .saturating_add(Weight::from_ref_time(96_000 as u64).saturating_mul(p as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Proxy Proxies (r:1 w:1) fn kill_anonymous(p: u32, ) -> Weight { - Weight::from_ref_time(46_450_000 as u64) + Weight::from_ref_time(46_162_000 as u64) // Standard Error: 4_000 - .saturating_add(Weight::from_ref_time(210_000 as u64).saturating_mul(p as u64)) + .saturating_add(Weight::from_ref_time(163_000 as u64).saturating_mul(p as u64)) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } diff --git a/runtimes/spiritnet/src/weights/pallet_scheduler.rs b/runtimes/spiritnet/src/weights/pallet_scheduler.rs index 3b060fee1..fe9c7244a 100644 --- a/runtimes/spiritnet/src/weights/pallet_scheduler.rs +++ b/runtimes/spiritnet/src/weights/pallet_scheduler.rs @@ -19,7 +19,7 @@ //! Autogenerated weights for pallet_scheduler //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-10-19, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2022-11-07, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("spiritnet-dev"), DB CACHE: 1024 // Executed Command: @@ -53,9 +53,9 @@ impl pallet_scheduler::WeightInfo for WeightInfo { // Storage: Preimage StatusFor (r:1 w:1) // Storage: Scheduler Lookup (r:0 w:1) fn on_initialize_periodic_named_resolved(s: u32, ) -> Weight { - Weight::from_ref_time(34_195_000 as u64) - // Standard Error: 41_000 - .saturating_add(Weight::from_ref_time(31_314_000 as u64).saturating_mul(s as u64)) + Weight::from_ref_time(32_591_000 as u64) + // Standard Error: 30_000 + .saturating_add(Weight::from_ref_time(31_087_000 as u64).saturating_mul(s as u64)) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().reads((3 as u64).saturating_mul(s as u64))) .saturating_add(T::DbWeight::get().writes(1 as u64)) @@ -66,9 +66,9 @@ impl pallet_scheduler::WeightInfo for WeightInfo { // Storage: Preimage StatusFor (r:1 w:1) // Storage: Scheduler Lookup (r:0 w:1) fn on_initialize_named_resolved(s: u32, ) -> Weight { - Weight::from_ref_time(34_037_000 as u64) - // Standard Error: 39_000 - .saturating_add(Weight::from_ref_time(24_919_000 as u64).saturating_mul(s as u64)) + Weight::from_ref_time(32_298_000 as u64) + // Standard Error: 40_000 + .saturating_add(Weight::from_ref_time(24_770_000 as u64).saturating_mul(s as u64)) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().reads((2 as u64).saturating_mul(s as u64))) .saturating_add(T::DbWeight::get().writes(1 as u64)) @@ -78,9 +78,9 @@ impl pallet_scheduler::WeightInfo for WeightInfo { // Storage: Preimage PreimageFor (r:1 w:1) // Storage: Preimage StatusFor (r:1 w:1) fn on_initialize_periodic_resolved(s: u32, ) -> Weight { - Weight::from_ref_time(36_042_000 as u64) - // Standard Error: 43_000 - .saturating_add(Weight::from_ref_time(26_188_000 as u64).saturating_mul(s as u64)) + Weight::from_ref_time(35_254_000 as u64) + // Standard Error: 39_000 + .saturating_add(Weight::from_ref_time(26_106_000 as u64).saturating_mul(s as u64)) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().reads((3 as u64).saturating_mul(s as u64))) .saturating_add(T::DbWeight::get().writes(1 as u64)) @@ -90,9 +90,9 @@ impl pallet_scheduler::WeightInfo for WeightInfo { // Storage: Preimage PreimageFor (r:1 w:1) // Storage: Preimage StatusFor (r:1 w:1) fn on_initialize_resolved(s: u32, ) -> Weight { - Weight::from_ref_time(35_462_000 as u64) - // Standard Error: 40_000 - .saturating_add(Weight::from_ref_time(22_793_000 as u64).saturating_mul(s as u64)) + Weight::from_ref_time(31_517_000 as u64) + // Standard Error: 36_000 + .saturating_add(Weight::from_ref_time(22_619_000 as u64).saturating_mul(s as u64)) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().reads((2 as u64).saturating_mul(s as u64))) .saturating_add(T::DbWeight::get().writes(1 as u64)) @@ -102,9 +102,9 @@ impl pallet_scheduler::WeightInfo for WeightInfo { // Storage: Preimage PreimageFor (r:1 w:0) // Storage: Scheduler Lookup (r:0 w:1) fn on_initialize_named_aborted(s: u32, ) -> Weight { - Weight::from_ref_time(16_631_000 as u64) - // Standard Error: 18_000 - .saturating_add(Weight::from_ref_time(9_084_000 as u64).saturating_mul(s as u64)) + Weight::from_ref_time(16_225_000 as u64) + // Standard Error: 11_000 + .saturating_add(Weight::from_ref_time(8_972_000 as u64).saturating_mul(s as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(s as u64))) .saturating_add(T::DbWeight::get().writes(2 as u64)) @@ -113,8 +113,8 @@ impl pallet_scheduler::WeightInfo for WeightInfo { // Storage: Scheduler Agenda (r:2 w:2) // Storage: Preimage PreimageFor (r:1 w:0) fn on_initialize_aborted(s: u32, ) -> Weight { - Weight::from_ref_time(17_639_000 as u64) - // Standard Error: 14_000 + Weight::from_ref_time(17_863_000 as u64) + // Standard Error: 8_000 .saturating_add(Weight::from_ref_time(4_579_000 as u64).saturating_mul(s as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(s as u64))) @@ -123,9 +123,9 @@ impl pallet_scheduler::WeightInfo for WeightInfo { // Storage: Scheduler Agenda (r:2 w:2) // Storage: Scheduler Lookup (r:0 w:1) fn on_initialize_periodic_named(s: u32, ) -> Weight { - Weight::from_ref_time(32_498_000 as u64) - // Standard Error: 41_000 - .saturating_add(Weight::from_ref_time(16_011_000 as u64).saturating_mul(s as u64)) + Weight::from_ref_time(35_066_000 as u64) + // Standard Error: 42_000 + .saturating_add(Weight::from_ref_time(15_868_000 as u64).saturating_mul(s as u64)) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(s as u64))) .saturating_add(T::DbWeight::get().writes(1 as u64)) @@ -133,9 +133,9 @@ impl pallet_scheduler::WeightInfo for WeightInfo { } // Storage: Scheduler Agenda (r:2 w:2) fn on_initialize_periodic(s: u32, ) -> Weight { - Weight::from_ref_time(27_296_000 as u64) + Weight::from_ref_time(26_463_000 as u64) // Standard Error: 34_000 - .saturating_add(Weight::from_ref_time(11_645_000 as u64).saturating_mul(s as u64)) + .saturating_add(Weight::from_ref_time(11_660_000 as u64).saturating_mul(s as u64)) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(s as u64))) .saturating_add(T::DbWeight::get().writes(1 as u64)) @@ -144,53 +144,53 @@ impl pallet_scheduler::WeightInfo for WeightInfo { // Storage: Scheduler Agenda (r:1 w:1) // Storage: Scheduler Lookup (r:0 w:1) fn on_initialize_named(s: u32, ) -> Weight { - Weight::from_ref_time(28_141_000 as u64) - // Standard Error: 34_000 - .saturating_add(Weight::from_ref_time(10_286_000 as u64).saturating_mul(s as u64)) + Weight::from_ref_time(27_964_000 as u64) + // Standard Error: 26_000 + .saturating_add(Weight::from_ref_time(10_180_000 as u64).saturating_mul(s as u64)) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) .saturating_add(T::DbWeight::get().writes((1 as u64).saturating_mul(s as u64))) } // Storage: Scheduler Agenda (r:1 w:1) fn on_initialize(s: u32, ) -> Weight { - Weight::from_ref_time(24_985_000 as u64) - // Standard Error: 26_000 - .saturating_add(Weight::from_ref_time(8_547_000 as u64).saturating_mul(s as u64)) + Weight::from_ref_time(26_953_000 as u64) + // Standard Error: 30_000 + .saturating_add(Weight::from_ref_time(8_437_000 as u64).saturating_mul(s as u64)) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Scheduler Agenda (r:1 w:1) fn schedule(s: u32, ) -> Weight { - Weight::from_ref_time(34_698_000 as u64) + Weight::from_ref_time(34_138_000 as u64) // Standard Error: 2_000 - .saturating_add(Weight::from_ref_time(128_000 as u64).saturating_mul(s as u64)) + .saturating_add(Weight::from_ref_time(138_000 as u64).saturating_mul(s as u64)) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Scheduler Agenda (r:1 w:1) // Storage: Scheduler Lookup (r:0 w:1) fn cancel(s: u32, ) -> Weight { - Weight::from_ref_time(34_349_000 as u64) + Weight::from_ref_time(34_566_000 as u64) // Standard Error: 3_000 - .saturating_add(Weight::from_ref_time(1_065_000 as u64).saturating_mul(s as u64)) + .saturating_add(Weight::from_ref_time(1_105_000 as u64).saturating_mul(s as u64)) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Scheduler Lookup (r:1 w:1) // Storage: Scheduler Agenda (r:1 w:1) fn schedule_named(s: u32, ) -> Weight { - Weight::from_ref_time(41_101_000 as u64) - // Standard Error: 5_000 - .saturating_add(Weight::from_ref_time(197_000 as u64).saturating_mul(s as u64)) + Weight::from_ref_time(40_759_000 as u64) + // Standard Error: 4_000 + .saturating_add(Weight::from_ref_time(189_000 as u64).saturating_mul(s as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Scheduler Lookup (r:1 w:1) // Storage: Scheduler Agenda (r:1 w:1) fn cancel_named(s: u32, ) -> Weight { - Weight::from_ref_time(39_013_000 as u64) - // Standard Error: 7_000 - .saturating_add(Weight::from_ref_time(1_113_000 as u64).saturating_mul(s as u64)) + Weight::from_ref_time(38_404_000 as u64) + // Standard Error: 4_000 + .saturating_add(Weight::from_ref_time(1_169_000 as u64).saturating_mul(s as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } diff --git a/runtimes/spiritnet/src/weights/pallet_session.rs b/runtimes/spiritnet/src/weights/pallet_session.rs index b51306248..486b656ba 100644 --- a/runtimes/spiritnet/src/weights/pallet_session.rs +++ b/runtimes/spiritnet/src/weights/pallet_session.rs @@ -19,7 +19,7 @@ //! Autogenerated weights for pallet_session //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-10-19, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2022-11-07, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("spiritnet-dev"), DB CACHE: 1024 // Executed Command: @@ -51,14 +51,14 @@ impl pallet_session::WeightInfo for WeightInfo { // Storage: Session NextKeys (r:1 w:1) // Storage: Session KeyOwner (r:1 w:1) fn set_keys() -> Weight { - Weight::from_ref_time(38_570_000 as u64) + Weight::from_ref_time(38_688_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Session NextKeys (r:1 w:1) // Storage: Session KeyOwner (r:0 w:1) fn purge_keys() -> Weight { - Weight::from_ref_time(33_231_000 as u64) + Weight::from_ref_time(33_508_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } diff --git a/runtimes/spiritnet/src/weights/pallet_timestamp.rs b/runtimes/spiritnet/src/weights/pallet_timestamp.rs index 663100c52..ee2870bef 100644 --- a/runtimes/spiritnet/src/weights/pallet_timestamp.rs +++ b/runtimes/spiritnet/src/weights/pallet_timestamp.rs @@ -19,7 +19,7 @@ //! Autogenerated weights for pallet_timestamp //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-10-19, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2022-11-07, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("spiritnet-dev"), DB CACHE: 1024 // Executed Command: @@ -50,11 +50,11 @@ pub struct WeightInfo(PhantomData); impl pallet_timestamp::WeightInfo for WeightInfo { // Storage: Timestamp Now (r:1 w:1) fn set() -> Weight { - Weight::from_ref_time(13_371_000 as u64) + Weight::from_ref_time(13_607_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } fn on_finalize() -> Weight { - Weight::from_ref_time(7_637_000 as u64) + Weight::from_ref_time(7_909_000 as u64) } } diff --git a/runtimes/spiritnet/src/weights/pallet_tips.rs b/runtimes/spiritnet/src/weights/pallet_tips.rs index a2e557ad4..5bf0ee7cc 100644 --- a/runtimes/spiritnet/src/weights/pallet_tips.rs +++ b/runtimes/spiritnet/src/weights/pallet_tips.rs @@ -19,7 +19,7 @@ //! Autogenerated weights for pallet_tips //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-10-19, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2022-11-07, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("spiritnet-dev"), DB CACHE: 1024 // Executed Command: @@ -51,7 +51,7 @@ impl pallet_tips::WeightInfo for WeightInfo { // Storage: Tips Reasons (r:1 w:1) // Storage: Tips Tips (r:1 w:1) fn report_awesome(r: u32, ) -> Weight { - Weight::from_ref_time(55_145_000 as u64) + Weight::from_ref_time(55_330_000 as u64) // Standard Error: 0 .saturating_add(Weight::from_ref_time(2_000 as u64).saturating_mul(r as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) @@ -60,7 +60,7 @@ impl pallet_tips::WeightInfo for WeightInfo { // Storage: Tips Tips (r:1 w:1) // Storage: Tips Reasons (r:0 w:1) fn retract_tip() -> Weight { - Weight::from_ref_time(54_022_000 as u64) + Weight::from_ref_time(53_753_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } @@ -68,20 +68,20 @@ impl pallet_tips::WeightInfo for WeightInfo { // Storage: Tips Reasons (r:1 w:1) // Storage: Tips Tips (r:0 w:1) fn tip_new(r: u32, t: u32, ) -> Weight { - Weight::from_ref_time(37_722_000 as u64) + Weight::from_ref_time(39_281_000 as u64) // Standard Error: 0 .saturating_add(Weight::from_ref_time(2_000 as u64).saturating_mul(r as u64)) // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(50_000 as u64).saturating_mul(t as u64)) + .saturating_add(Weight::from_ref_time(46_000 as u64).saturating_mul(t as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: TipsMembership Members (r:1 w:0) // Storage: Tips Tips (r:1 w:1) fn tip(t: u32, ) -> Weight { - Weight::from_ref_time(28_448_000 as u64) - // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(154_000 as u64).saturating_mul(t as u64)) + Weight::from_ref_time(28_539_000 as u64) + // Standard Error: 0 + .saturating_add(Weight::from_ref_time(141_000 as u64).saturating_mul(t as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } @@ -90,16 +90,16 @@ impl pallet_tips::WeightInfo for WeightInfo { // Storage: System Account (r:2 w:2) // Storage: Tips Reasons (r:0 w:1) fn close_tip(t: u32, ) -> Weight { - Weight::from_ref_time(82_816_000 as u64) + Weight::from_ref_time(82_605_000 as u64) // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(116_000 as u64).saturating_mul(t as u64)) + .saturating_add(Weight::from_ref_time(88_000 as u64).saturating_mul(t as u64)) .saturating_add(T::DbWeight::get().reads(4 as u64)) .saturating_add(T::DbWeight::get().writes(4 as u64)) } // Storage: Tips Tips (r:1 w:1) // Storage: Tips Reasons (r:0 w:1) fn slash_tip(t: u32, ) -> Weight { - Weight::from_ref_time(33_213_000 as u64) + Weight::from_ref_time(33_891_000 as u64) // Standard Error: 0 .saturating_add(Weight::from_ref_time(3_000 as u64).saturating_mul(t as u64)) .saturating_add(T::DbWeight::get().reads(1 as u64)) diff --git a/runtimes/spiritnet/src/weights/pallet_treasury.rs b/runtimes/spiritnet/src/weights/pallet_treasury.rs index 573d87246..e84e080ea 100644 --- a/runtimes/spiritnet/src/weights/pallet_treasury.rs +++ b/runtimes/spiritnet/src/weights/pallet_treasury.rs @@ -19,7 +19,7 @@ //! Autogenerated weights for pallet_treasury //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-10-19, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2022-11-07, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("spiritnet-dev"), DB CACHE: 1024 // Executed Command: @@ -49,34 +49,34 @@ use sp_std::marker::PhantomData; pub struct WeightInfo(PhantomData); impl pallet_treasury::WeightInfo for WeightInfo { fn spend() -> Weight { - Weight::from_ref_time(369_000 as u64) + Weight::from_ref_time(378_000 as u64) } // Storage: Treasury ProposalCount (r:1 w:1) // Storage: Treasury Proposals (r:0 w:1) fn propose_spend() -> Weight { - Weight::from_ref_time(46_813_000 as u64) + Weight::from_ref_time(46_011_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Treasury Proposals (r:1 w:1) // Storage: System Account (r:2 w:2) fn reject_proposal() -> Weight { - Weight::from_ref_time(69_298_000 as u64) + Weight::from_ref_time(67_932_000 as u64) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } // Storage: Treasury Proposals (r:1 w:0) // Storage: Treasury Approvals (r:1 w:1) fn approve_proposal(p: u32, ) -> Weight { - Weight::from_ref_time(23_126_000 as u64) - // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(194_000 as u64).saturating_mul(p as u64)) + Weight::from_ref_time(22_722_000 as u64) + // Standard Error: 2_000 + .saturating_add(Weight::from_ref_time(178_000 as u64).saturating_mul(p as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Treasury Approvals (r:1 w:1) fn remove_approval() -> Weight { - Weight::from_ref_time(15_339_000 as u64) + Weight::from_ref_time(15_033_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } @@ -84,9 +84,9 @@ impl pallet_treasury::WeightInfo for WeightInfo { // Storage: Treasury Approvals (r:1 w:1) // Storage: Treasury Proposals (r:2 w:2) fn on_initialize_proposals(p: u32, ) -> Weight { - Weight::from_ref_time(89_873_000 as u64) - // Standard Error: 27_000 - .saturating_add(Weight::from_ref_time(44_706_000 as u64).saturating_mul(p as u64)) + Weight::from_ref_time(80_026_000 as u64) + // Standard Error: 19_000 + .saturating_add(Weight::from_ref_time(42_946_000 as u64).saturating_mul(p as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().reads((3 as u64).saturating_mul(p as u64))) .saturating_add(T::DbWeight::get().writes(2 as u64)) diff --git a/runtimes/spiritnet/src/weights/pallet_utility.rs b/runtimes/spiritnet/src/weights/pallet_utility.rs index 2ee1188c9..2c4917aff 100644 --- a/runtimes/spiritnet/src/weights/pallet_utility.rs +++ b/runtimes/spiritnet/src/weights/pallet_utility.rs @@ -19,7 +19,7 @@ //! Autogenerated weights for pallet_utility //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-10-19, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2022-11-07, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("spiritnet-dev"), DB CACHE: 1024 // Executed Command: @@ -49,24 +49,24 @@ use sp_std::marker::PhantomData; pub struct WeightInfo(PhantomData); impl pallet_utility::WeightInfo for WeightInfo { fn batch(c: u32, ) -> Weight { - Weight::from_ref_time(45_867_000 as u64) + Weight::from_ref_time(48_283_000 as u64) // Standard Error: 3_000 - .saturating_add(Weight::from_ref_time(5_962_000 as u64).saturating_mul(c as u64)) + .saturating_add(Weight::from_ref_time(5_918_000 as u64).saturating_mul(c as u64)) } fn as_derivative() -> Weight { - Weight::from_ref_time(11_033_000 as u64) + Weight::from_ref_time(11_513_000 as u64) } fn batch_all(c: u32, ) -> Weight { - Weight::from_ref_time(57_860_000 as u64) - // Standard Error: 5_000 - .saturating_add(Weight::from_ref_time(6_179_000 as u64).saturating_mul(c as u64)) + Weight::from_ref_time(45_007_000 as u64) + // Standard Error: 3_000 + .saturating_add(Weight::from_ref_time(6_183_000 as u64).saturating_mul(c as u64)) } fn dispatch_as() -> Weight { - Weight::from_ref_time(24_180_000 as u64) + Weight::from_ref_time(24_618_000 as u64) } fn force_batch(c: u32, ) -> Weight { - Weight::from_ref_time(43_187_000 as u64) - // Standard Error: 4_000 - .saturating_add(Weight::from_ref_time(5_959_000 as u64).saturating_mul(c as u64)) + Weight::from_ref_time(59_263_000 as u64) + // Standard Error: 3_000 + .saturating_add(Weight::from_ref_time(5_899_000 as u64).saturating_mul(c as u64)) } } diff --git a/runtimes/spiritnet/src/weights/pallet_vesting.rs b/runtimes/spiritnet/src/weights/pallet_vesting.rs index d9d66e557..41df94029 100644 --- a/runtimes/spiritnet/src/weights/pallet_vesting.rs +++ b/runtimes/spiritnet/src/weights/pallet_vesting.rs @@ -19,7 +19,7 @@ //! Autogenerated weights for pallet_vesting //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-10-19, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2022-11-07, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("spiritnet-dev"), DB CACHE: 1024 // Executed Command: @@ -51,22 +51,22 @@ impl pallet_vesting::WeightInfo for WeightInfo { // Storage: Vesting Vesting (r:1 w:1) // Storage: Balances Locks (r:1 w:1) fn vest_locked(l: u32, s: u32, ) -> Weight { - Weight::from_ref_time(64_840_000 as u64) + Weight::from_ref_time(64_602_000 as u64) + // Standard Error: 1_000 + .saturating_add(Weight::from_ref_time(64_000 as u64).saturating_mul(l as u64)) // Standard Error: 2_000 - .saturating_add(Weight::from_ref_time(40_000 as u64).saturating_mul(l as u64)) - // Standard Error: 4_000 - .saturating_add(Weight::from_ref_time(82_000 as u64).saturating_mul(s as u64)) + .saturating_add(Weight::from_ref_time(89_000 as u64).saturating_mul(s as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Vesting Vesting (r:1 w:1) // Storage: Balances Locks (r:1 w:1) fn vest_unlocked(l: u32, s: u32, ) -> Weight { - Weight::from_ref_time(62_689_000 as u64) - // Standard Error: 3_000 - .saturating_add(Weight::from_ref_time(57_000 as u64).saturating_mul(l as u64)) - // Standard Error: 6_000 - .saturating_add(Weight::from_ref_time(59_000 as u64).saturating_mul(s as u64)) + Weight::from_ref_time(63_756_000 as u64) + // Standard Error: 1_000 + .saturating_add(Weight::from_ref_time(47_000 as u64).saturating_mul(l as u64)) + // Standard Error: 2_000 + .saturating_add(Weight::from_ref_time(53_000 as u64).saturating_mul(s as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } @@ -74,11 +74,11 @@ impl pallet_vesting::WeightInfo for WeightInfo { // Storage: Balances Locks (r:1 w:1) // Storage: System Account (r:1 w:1) fn vest_other_locked(l: u32, s: u32, ) -> Weight { - Weight::from_ref_time(63_262_000 as u64) - // Standard Error: 2_000 - .saturating_add(Weight::from_ref_time(45_000 as u64).saturating_mul(l as u64)) - // Standard Error: 4_000 - .saturating_add(Weight::from_ref_time(96_000 as u64).saturating_mul(s as u64)) + Weight::from_ref_time(63_837_000 as u64) + // Standard Error: 3_000 + .saturating_add(Weight::from_ref_time(48_000 as u64).saturating_mul(l as u64)) + // Standard Error: 5_000 + .saturating_add(Weight::from_ref_time(70_000 as u64).saturating_mul(s as u64)) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } @@ -86,11 +86,11 @@ impl pallet_vesting::WeightInfo for WeightInfo { // Storage: Balances Locks (r:1 w:1) // Storage: System Account (r:1 w:1) fn vest_other_unlocked(l: u32, s: u32, ) -> Weight { - Weight::from_ref_time(62_277_000 as u64) + Weight::from_ref_time(62_635_000 as u64) // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(51_000 as u64).saturating_mul(l as u64)) - // Standard Error: 3_000 - .saturating_add(Weight::from_ref_time(48_000 as u64).saturating_mul(s as u64)) + .saturating_add(Weight::from_ref_time(49_000 as u64).saturating_mul(l as u64)) + // Standard Error: 2_000 + .saturating_add(Weight::from_ref_time(28_000 as u64).saturating_mul(s as u64)) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } @@ -98,21 +98,23 @@ impl pallet_vesting::WeightInfo for WeightInfo { // Storage: System Account (r:1 w:1) // Storage: Balances Locks (r:1 w:1) fn vested_transfer(l: u32, s: u32, ) -> Weight { - Weight::from_ref_time(88_444_000 as u64) - // Standard Error: 4_000 - .saturating_add(Weight::from_ref_time(44_000 as u64).saturating_mul(l as u64)) - // Standard Error: 8_000 - .saturating_add(Weight::from_ref_time(66_000 as u64).saturating_mul(s as u64)) + Weight::from_ref_time(89_798_000 as u64) + // Standard Error: 3_000 + .saturating_add(Weight::from_ref_time(42_000 as u64).saturating_mul(l as u64)) + // Standard Error: 5_000 + .saturating_add(Weight::from_ref_time(39_000 as u64).saturating_mul(s as u64)) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } // Storage: Vesting Vesting (r:1 w:1) // Storage: System Account (r:2 w:2) // Storage: Balances Locks (r:1 w:1) - fn force_vested_transfer(l: u32, _s: u32, ) -> Weight { - Weight::from_ref_time(91_469_000 as u64) - // Standard Error: 9_000 - .saturating_add(Weight::from_ref_time(9_000 as u64).saturating_mul(l as u64)) + fn force_vested_transfer(l: u32, s: u32, ) -> Weight { + Weight::from_ref_time(88_784_000 as u64) + // Standard Error: 3_000 + .saturating_add(Weight::from_ref_time(37_000 as u64).saturating_mul(l as u64)) + // Standard Error: 6_000 + .saturating_add(Weight::from_ref_time(36_000 as u64).saturating_mul(s as u64)) .saturating_add(T::DbWeight::get().reads(4 as u64)) .saturating_add(T::DbWeight::get().writes(4 as u64)) } @@ -120,11 +122,11 @@ impl pallet_vesting::WeightInfo for WeightInfo { // Storage: Balances Locks (r:1 w:1) // Storage: System Account (r:1 w:1) fn not_unlocking_merge_schedules(l: u32, s: u32, ) -> Weight { - Weight::from_ref_time(63_722_000 as u64) + Weight::from_ref_time(63_311_000 as u64) // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(57_000 as u64).saturating_mul(l as u64)) - // Standard Error: 3_000 - .saturating_add(Weight::from_ref_time(101_000 as u64).saturating_mul(s as u64)) + .saturating_add(Weight::from_ref_time(71_000 as u64).saturating_mul(l as u64)) + // Standard Error: 2_000 + .saturating_add(Weight::from_ref_time(107_000 as u64).saturating_mul(s as u64)) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } @@ -132,9 +134,9 @@ impl pallet_vesting::WeightInfo for WeightInfo { // Storage: Balances Locks (r:1 w:1) // Storage: System Account (r:1 w:1) fn unlocking_merge_schedules(l: u32, s: u32, ) -> Weight { - Weight::from_ref_time(63_755_000 as u64) + Weight::from_ref_time(63_748_000 as u64) // Standard Error: 2_000 - .saturating_add(Weight::from_ref_time(55_000 as u64).saturating_mul(l as u64)) + .saturating_add(Weight::from_ref_time(57_000 as u64).saturating_mul(l as u64)) // Standard Error: 4_000 .saturating_add(Weight::from_ref_time(96_000 as u64).saturating_mul(s as u64)) .saturating_add(T::DbWeight::get().reads(3 as u64)) diff --git a/runtimes/spiritnet/src/weights/pallet_web3_names.rs b/runtimes/spiritnet/src/weights/pallet_web3_names.rs index d0b05e106..c68cc0ce3 100644 --- a/runtimes/spiritnet/src/weights/pallet_web3_names.rs +++ b/runtimes/spiritnet/src/weights/pallet_web3_names.rs @@ -19,7 +19,7 @@ //! Autogenerated weights for pallet_web3_names //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-10-26, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2022-11-07, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("spiritnet-dev"), DB CACHE: 1024 // Executed Command: @@ -53,9 +53,9 @@ impl pallet_web3_names::WeightInfo for WeightInfo { // Storage: Web3Names Banned (r:1 w:0) // Storage: System Account (r:1 w:1) fn claim(n: u32, ) -> Weight { - Weight::from_ref_time(58_600_000 as u64) + Weight::from_ref_time(58_244_000 as u64) // Standard Error: 2_000 - .saturating_add(Weight::from_ref_time(24_000 as u64).saturating_mul(n as u64)) + .saturating_add(Weight::from_ref_time(15_000 as u64).saturating_mul(n as u64)) .saturating_add(T::DbWeight::get().reads(4 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } @@ -63,7 +63,7 @@ impl pallet_web3_names::WeightInfo for WeightInfo { // Storage: Web3Names Owner (r:1 w:1) // Storage: System Account (r:1 w:1) fn release_by_owner() -> Weight { - Weight::from_ref_time(56_251_000 as u64) + Weight::from_ref_time(56_431_000 as u64) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } @@ -71,9 +71,9 @@ impl pallet_web3_names::WeightInfo for WeightInfo { // Storage: System Account (r:1 w:1) // Storage: Web3Names Names (r:0 w:1) fn reclaim_deposit(n: u32, ) -> Weight { - Weight::from_ref_time(52_627_000 as u64) + Weight::from_ref_time(52_581_000 as u64) // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(30_000 as u64).saturating_mul(n as u64)) + .saturating_add(Weight::from_ref_time(15_000 as u64).saturating_mul(n as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } @@ -82,17 +82,17 @@ impl pallet_web3_names::WeightInfo for WeightInfo { // Storage: System Account (r:1 w:1) // Storage: Web3Names Names (r:0 w:1) fn ban(n: u32, ) -> Weight { - Weight::from_ref_time(57_316_000 as u64) - // Standard Error: 2_000 - .saturating_add(Weight::from_ref_time(45_000 as u64).saturating_mul(n as u64)) + Weight::from_ref_time(56_484_000 as u64) + // Standard Error: 1_000 + .saturating_add(Weight::from_ref_time(48_000 as u64).saturating_mul(n as u64)) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(4 as u64)) } // Storage: Web3Names Banned (r:1 w:1) fn unban(n: u32, ) -> Weight { - Weight::from_ref_time(31_600_000 as u64) + Weight::from_ref_time(30_798_000 as u64) // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(41_000 as u64).saturating_mul(n as u64)) + .saturating_add(Weight::from_ref_time(45_000 as u64).saturating_mul(n as u64)) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } @@ -100,14 +100,14 @@ impl pallet_web3_names::WeightInfo for WeightInfo { // Storage: Web3Names Owner (r:1 w:1) // Storage: System Account (r:2 w:2) fn change_deposit_owner() -> Weight { - Weight::from_ref_time(69_479_000 as u64) + Weight::from_ref_time(68_902_000 as u64) .saturating_add(T::DbWeight::get().reads(4 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } // Storage: Web3Names Owner (r:1 w:1) // Storage: System Account (r:1 w:1) fn update_deposit() -> Weight { - Weight::from_ref_time(61_537_000 as u64) + Weight::from_ref_time(60_306_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } diff --git a/runtimes/spiritnet/src/weights/parachain_staking.rs b/runtimes/spiritnet/src/weights/parachain_staking.rs index 9ff79ed39..3a214163e 100644 --- a/runtimes/spiritnet/src/weights/parachain_staking.rs +++ b/runtimes/spiritnet/src/weights/parachain_staking.rs @@ -19,14 +19,14 @@ //! Autogenerated weights for parachain_staking //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-10-19, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` -//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024 +//! DATE: 2022-11-07, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("spiritnet-dev"), DB CACHE: 1024 // Executed Command: // ./target/release/kilt-parachain // benchmark // pallet -// --chain=dev +// --chain=spiritnet-dev // --steps=50 // --repeat=20 // --pallet=parachain-staking @@ -34,7 +34,7 @@ // --execution=wasm // --wasm-execution=compiled // --heap-pages=4096 -// --output=./runtimes/peregrine/src/weights/parachain_staking.rs +// --output=./runtimes/spiritnet/src/weights/parachain_staking.rs // --template=.maintain/runtime-weight-template.hbs #![cfg_attr(rustfmt, rustfmt_skip)] @@ -50,48 +50,47 @@ pub struct WeightInfo(PhantomData); impl parachain_staking::WeightInfo for WeightInfo { // Storage: ParachainStaking Round (r:1 w:0) fn on_initialize_no_action() -> Weight { - Weight::from_ref_time(3_103_000 as u64) + Weight::from_ref_time(7_704_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) } // Storage: ParachainStaking Round (r:1 w:1) fn on_initialize_round_update() -> Weight { - Weight::from_ref_time(23_755_000 as u64) + Weight::from_ref_time(22_382_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: ParachainStaking Round (r:1 w:1) - // Storage: ParachainStaking LastRewardReduction (r:1 w:1) - // Storage: ParachainStaking InflationConfig (r:1 w:1) + // Storage: ParachainStaking InflationConfig (r:1 w:0) // Storage: ParachainStaking MaxCollatorCandidateStake (r:1 w:0) // Storage: ParachainStaking MaxSelectedCandidates (r:1 w:0) // Storage: System Account (r:1 w:1) fn on_initialize_network_rewards() -> Weight { - Weight::from_ref_time(69_582_000 as u64) - .saturating_add(T::DbWeight::get().reads(6 as u64)) - .saturating_add(T::DbWeight::get().writes(4 as u64)) + Weight::from_ref_time(58_095_000 as u64) + .saturating_add(T::DbWeight::get().reads(5 as u64)) + .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: ParachainStaking ForceNewRound (r:0 w:1) fn force_new_round() -> Weight { - Weight::from_ref_time(8_791_000 as u64) + Weight::from_ref_time(8_802_000 as u64) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: ParachainStaking CandidatePool (r:3 w:0) - // Storage: ParachainStaking RewardCount (r:72 w:72) - // Storage: ParachainStaking Rewards (r:2 w:2) + // Storage: ParachainStaking BlocksAuthored (r:2 w:0) + // Storage: ParachainStaking BlocksRewarded (r:72 w:72) + // Storage: ParachainStaking Rewards (r:72 w:72) // Storage: ParachainStaking TotalCollatorStake (r:1 w:0) // Storage: ParachainStaking InflationConfig (r:1 w:1) - /// The range of component `n` is `[0, 75]`. - /// The range of component `m` is `[0, 35]`. + // Storage: ParachainStaking CounterForCandidatePool (r:1 w:0) fn set_inflation(n: u32, m: u32, ) -> Weight { Weight::from_ref_time(0 as u64) - // Standard Error: 3_005_000 - .saturating_add(Weight::from_ref_time(216_364_000 as u64).saturating_mul(n as u64)) - // Standard Error: 6_440_000 - .saturating_add(Weight::from_ref_time(440_763_000 as u64).saturating_mul(m as u64)) - .saturating_add(T::DbWeight::get().reads((37 as u64).saturating_mul(n as u64))) - .saturating_add(T::DbWeight::get().reads((75 as u64).saturating_mul(m as u64))) - .saturating_add(T::DbWeight::get().writes((36 as u64).saturating_mul(n as u64))) - .saturating_add(T::DbWeight::get().writes((75 as u64).saturating_mul(m as u64))) + // Standard Error: 555_000 + .saturating_add(Weight::from_ref_time(492_148_000 as u64).saturating_mul(n as u64)) + // Standard Error: 1_181_000 + .saturating_add(Weight::from_ref_time(1_020_756_000 as u64).saturating_mul(m as u64)) + .saturating_add(T::DbWeight::get().reads((74 as u64).saturating_mul(n as u64))) + .saturating_add(T::DbWeight::get().reads((150 as u64).saturating_mul(m as u64))) + .saturating_add(T::DbWeight::get().writes((72 as u64).saturating_mul(n as u64))) + .saturating_add(T::DbWeight::get().writes((150 as u64).saturating_mul(m as u64))) } // Storage: ParachainStaking MaxSelectedCandidates (r:1 w:1) // Storage: ParachainStaking TopCandidates (r:1 w:0) @@ -99,44 +98,43 @@ impl parachain_staking::WeightInfo for WeightInfo { // Storage: ParachainStaking CandidatePool (r:1 w:0) fn set_max_selected_candidates(n: u32, m: u32, ) -> Weight { Weight::from_ref_time(0 as u64) - // Standard Error: 161_000 - .saturating_add(Weight::from_ref_time(19_480_000 as u64).saturating_mul(n as u64)) - // Standard Error: 270_000 - .saturating_add(Weight::from_ref_time(28_745_000 as u64).saturating_mul(m as u64)) + // Standard Error: 248_000 + .saturating_add(Weight::from_ref_time(26_647_000 as u64).saturating_mul(n as u64)) + // Standard Error: 416_000 + .saturating_add(Weight::from_ref_time(42_143_000 as u64).saturating_mul(m as u64)) .saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(n as u64))) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: ParachainStaking Round (r:1 w:1) fn set_blocks_per_round() -> Weight { - Weight::from_ref_time(30_326_000 as u64) + Weight::from_ref_time(29_347_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: ParachainStaking CandidatePool (r:17 w:1) // Storage: ParachainStaking TopCandidates (r:1 w:1) - // Storage: ParachainStaking Unstaking (r:36 w:36) - // Storage: ParachainStaking DelegatorState (r:35 w:35) - // Storage: ParachainStaking RewardCount (r:36 w:36) - // Storage: ParachainStaking Rewards (r:1 w:1) + // Storage: ParachainStaking BlocksAuthored (r:1 w:1) + // Storage: ParachainStaking BlocksRewarded (r:36 w:36) + // Storage: ParachainStaking Rewards (r:36 w:36) // Storage: ParachainStaking TotalCollatorStake (r:1 w:1) // Storage: ParachainStaking InflationConfig (r:1 w:0) + // Storage: ParachainStaking Unstaking (r:36 w:36) + // Storage: ParachainStaking DelegatorState (r:35 w:35) // Storage: Session Validators (r:1 w:0) // Storage: Session DisabledValidators (r:1 w:1) // Storage: System Digest (r:1 w:1) // Storage: ParachainStaking CounterForCandidatePool (r:1 w:1) // Storage: ParachainStaking MaxSelectedCandidates (r:1 w:0) - /// The range of component `n` is `[17, 75]`. - /// The range of component `m` is `[0, 35]`. fn force_remove_candidate(n: u32, m: u32, ) -> Weight { Weight::from_ref_time(0 as u64) - // Standard Error: 169_000 - .saturating_add(Weight::from_ref_time(17_230_000 as u64).saturating_mul(n as u64)) - // Standard Error: 279_000 - .saturating_add(Weight::from_ref_time(46_081_000 as u64).saturating_mul(m as u64)) - .saturating_add(T::DbWeight::get().reads(25 as u64)) - .saturating_add(T::DbWeight::get().reads((2 as u64).saturating_mul(m as u64))) - .saturating_add(T::DbWeight::get().writes(7 as u64)) - .saturating_add(T::DbWeight::get().writes((2 as u64).saturating_mul(m as u64))) + // Standard Error: 242_000 + .saturating_add(Weight::from_ref_time(27_182_000 as u64).saturating_mul(n as u64)) + // Standard Error: 400_000 + .saturating_add(Weight::from_ref_time(77_252_000 as u64).saturating_mul(m as u64)) + .saturating_add(T::DbWeight::get().reads(29 as u64)) + .saturating_add(T::DbWeight::get().reads((4 as u64).saturating_mul(m as u64))) + .saturating_add(T::DbWeight::get().writes(10 as u64)) + .saturating_add(T::DbWeight::get().writes((4 as u64).saturating_mul(m as u64))) } // Storage: ParachainStaking CandidatePool (r:1 w:1) // Storage: ParachainStaking DelegatorState (r:1 w:0) @@ -148,14 +146,12 @@ impl parachain_staking::WeightInfo for WeightInfo { // Storage: ParachainStaking MaxSelectedCandidates (r:1 w:0) // Storage: ParachainStaking TotalCollatorStake (r:1 w:1) // Storage: ParachainStaking CounterForCandidatePool (r:1 w:1) - /// The range of component `n` is `[1, 74]`. - /// The range of component `m` is `[0, 35]`. fn join_candidates(n: u32, m: u32, ) -> Weight { Weight::from_ref_time(0 as u64) - // Standard Error: 148_000 - .saturating_add(Weight::from_ref_time(14_141_000 as u64).saturating_mul(n as u64)) - // Standard Error: 307_000 - .saturating_add(Weight::from_ref_time(28_608_000 as u64).saturating_mul(m as u64)) + // Standard Error: 223_000 + .saturating_add(Weight::from_ref_time(22_119_000 as u64).saturating_mul(n as u64)) + // Standard Error: 464_000 + .saturating_add(Weight::from_ref_time(45_072_000 as u64).saturating_mul(m as u64)) .saturating_add(T::DbWeight::get().reads(10 as u64)) .saturating_add(T::DbWeight::get().writes(7 as u64)) } @@ -164,14 +160,12 @@ impl parachain_staking::WeightInfo for WeightInfo { // Storage: ParachainStaking Round (r:1 w:0) // Storage: ParachainStaking MaxSelectedCandidates (r:1 w:0) // Storage: ParachainStaking TotalCollatorStake (r:1 w:1) - /// The range of component `n` is `[17, 74]`. - /// The range of component `m` is `[0, 35]`. fn init_leave_candidates(n: u32, m: u32, ) -> Weight { Weight::from_ref_time(0 as u64) - // Standard Error: 169_000 - .saturating_add(Weight::from_ref_time(17_942_000 as u64).saturating_mul(n as u64)) - // Standard Error: 275_000 - .saturating_add(Weight::from_ref_time(32_999_000 as u64).saturating_mul(m as u64)) + // Standard Error: 252_000 + .saturating_add(Weight::from_ref_time(27_412_000 as u64).saturating_mul(n as u64)) + // Standard Error: 409_000 + .saturating_add(Weight::from_ref_time(50_493_000 as u64).saturating_mul(m as u64)) .saturating_add(T::DbWeight::get().reads(21 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } @@ -179,39 +173,38 @@ impl parachain_staking::WeightInfo for WeightInfo { // Storage: ParachainStaking TopCandidates (r:1 w:1) // Storage: ParachainStaking MaxSelectedCandidates (r:1 w:0) // Storage: ParachainStaking TotalCollatorStake (r:1 w:1) - /// The range of component `n` is `[17, 74]`. - /// The range of component `m` is `[0, 35]`. fn cancel_leave_candidates(n: u32, m: u32, ) -> Weight { Weight::from_ref_time(0 as u64) - // Standard Error: 181_000 - .saturating_add(Weight::from_ref_time(18_181_000 as u64).saturating_mul(n as u64)) - // Standard Error: 294_000 - .saturating_add(Weight::from_ref_time(33_461_000 as u64).saturating_mul(m as u64)) + // Standard Error: 261_000 + .saturating_add(Weight::from_ref_time(27_990_000 as u64).saturating_mul(n as u64)) + // Standard Error: 424_000 + .saturating_add(Weight::from_ref_time(51_790_000 as u64).saturating_mul(m as u64)) .saturating_add(T::DbWeight::get().reads(5 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } // Storage: ParachainStaking CandidatePool (r:1 w:1) // Storage: ParachainStaking Round (r:1 w:0) - // Storage: ParachainStaking Unstaking (r:36 w:36) - // Storage: ParachainStaking DelegatorState (r:35 w:35) - // Storage: ParachainStaking RewardCount (r:36 w:36) - // Storage: ParachainStaking Rewards (r:1 w:1) + // Storage: ParachainStaking BlocksAuthored (r:1 w:1) + // Storage: ParachainStaking BlocksRewarded (r:36 w:36) + // Storage: ParachainStaking Rewards (r:36 w:36) // Storage: ParachainStaking TotalCollatorStake (r:1 w:0) // Storage: ParachainStaking InflationConfig (r:1 w:0) + // Storage: ParachainStaking Unstaking (r:36 w:36) + // Storage: ParachainStaking DelegatorState (r:35 w:35) // Storage: Session Validators (r:1 w:0) // Storage: Session DisabledValidators (r:1 w:1) // Storage: System Digest (r:1 w:1) // Storage: ParachainStaking CounterForCandidatePool (r:1 w:1) fn execute_leave_candidates(n: u32, m: u32, ) -> Weight { Weight::from_ref_time(0 as u64) - // Standard Error: 177_000 - .saturating_add(Weight::from_ref_time(20_987_000 as u64).saturating_mul(n as u64)) - // Standard Error: 288_000 - .saturating_add(Weight::from_ref_time(53_291_000 as u64).saturating_mul(m as u64)) - .saturating_add(T::DbWeight::get().reads(7 as u64)) - .saturating_add(T::DbWeight::get().reads((2 as u64).saturating_mul(m as u64))) - .saturating_add(T::DbWeight::get().writes(5 as u64)) - .saturating_add(T::DbWeight::get().writes((2 as u64).saturating_mul(m as u64))) + // Standard Error: 246_000 + .saturating_add(Weight::from_ref_time(32_258_000 as u64).saturating_mul(n as u64)) + // Standard Error: 399_000 + .saturating_add(Weight::from_ref_time(87_573_000 as u64).saturating_mul(m as u64)) + .saturating_add(T::DbWeight::get().reads(12 as u64)) + .saturating_add(T::DbWeight::get().reads((4 as u64).saturating_mul(m as u64))) + .saturating_add(T::DbWeight::get().writes(8 as u64)) + .saturating_add(T::DbWeight::get().writes((4 as u64).saturating_mul(m as u64))) } // Storage: ParachainStaking CandidatePool (r:1 w:1) // Storage: ParachainStaking MaxCollatorCandidateStake (r:1 w:0) @@ -221,33 +214,36 @@ impl parachain_staking::WeightInfo for WeightInfo { // Storage: ParachainStaking TopCandidates (r:1 w:1) // Storage: ParachainStaking MaxSelectedCandidates (r:1 w:0) // Storage: ParachainStaking TotalCollatorStake (r:1 w:1) + // Storage: ParachainStaking BlocksAuthored (r:1 w:0) + // Storage: ParachainStaking BlocksRewarded (r:1 w:1) + // Storage: ParachainStaking Rewards (r:1 w:1) + // Storage: ParachainStaking InflationConfig (r:1 w:0) fn candidate_stake_more(n: u32, m: u32, _u: u32, ) -> Weight { Weight::from_ref_time(0 as u64) - // Standard Error: 146_000 - .saturating_add(Weight::from_ref_time(19_044_000 as u64).saturating_mul(n as u64)) - // Standard Error: 304_000 - .saturating_add(Weight::from_ref_time(39_101_000 as u64).saturating_mul(m as u64)) - .saturating_add(T::DbWeight::get().reads(8 as u64)) - .saturating_add(T::DbWeight::get().writes(6 as u64)) + // Standard Error: 198_000 + .saturating_add(Weight::from_ref_time(28_777_000 as u64).saturating_mul(n as u64)) + // Standard Error: 412_000 + .saturating_add(Weight::from_ref_time(59_236_000 as u64).saturating_mul(m as u64)) + .saturating_add(T::DbWeight::get().reads(12 as u64)) + .saturating_add(T::DbWeight::get().writes(8 as u64)) } // Storage: ParachainStaking CandidatePool (r:1 w:1) // Storage: ParachainStaking Unstaking (r:1 w:1) // Storage: ParachainStaking TopCandidates (r:1 w:1) // Storage: ParachainStaking MaxSelectedCandidates (r:1 w:0) // Storage: ParachainStaking TotalCollatorStake (r:1 w:1) - // Storage: ParachainStaking RewardCount (r:36 w:36) + // Storage: ParachainStaking BlocksAuthored (r:1 w:0) + // Storage: ParachainStaking BlocksRewarded (r:1 w:1) // Storage: ParachainStaking Rewards (r:1 w:1) // Storage: ParachainStaking InflationConfig (r:1 w:0) - /// The range of component `n` is `[1, 74]`. - /// The range of component `m` is `[0, 35]`. fn candidate_stake_less(n: u32, m: u32, ) -> Weight { Weight::from_ref_time(0 as u64) - // Standard Error: 165_000 - .saturating_add(Weight::from_ref_time(17_769_000 as u64).saturating_mul(n as u64)) - // Standard Error: 342_000 - .saturating_add(Weight::from_ref_time(36_575_000 as u64).saturating_mul(m as u64)) - .saturating_add(T::DbWeight::get().reads(5 as u64)) - .saturating_add(T::DbWeight::get().writes(4 as u64)) + // Standard Error: 234_000 + .saturating_add(Weight::from_ref_time(27_385_000 as u64).saturating_mul(n as u64)) + // Standard Error: 486_000 + .saturating_add(Weight::from_ref_time(56_532_000 as u64).saturating_mul(m as u64)) + .saturating_add(T::DbWeight::get().reads(9 as u64)) + .saturating_add(T::DbWeight::get().writes(6 as u64)) } // Storage: System Account (r:1 w:1) // Storage: ParachainStaking DelegatorState (r:1 w:1) @@ -259,17 +255,16 @@ impl parachain_staking::WeightInfo for WeightInfo { // Storage: ParachainStaking TopCandidates (r:1 w:1) // Storage: ParachainStaking MaxSelectedCandidates (r:1 w:0) // Storage: ParachainStaking TotalCollatorStake (r:1 w:1) - // Storage: ParachainStaking RewardCount (r:1 w:1) - /// The range of component `n` is `[1, 75]`. - /// The range of component `m` is `[1, 34]`. + // Storage: ParachainStaking BlocksAuthored (r:1 w:0) + // Storage: ParachainStaking BlocksRewarded (r:0 w:1) fn join_delegators(n: u32, m: u32, ) -> Weight { Weight::from_ref_time(0 as u64) - // Standard Error: 154_000 - .saturating_add(Weight::from_ref_time(17_571_000 as u64).saturating_mul(n as u64)) - // Standard Error: 343_000 - .saturating_add(Weight::from_ref_time(38_223_000 as u64).saturating_mul(m as u64)) - .saturating_add(T::DbWeight::get().reads(11 as u64)) - .saturating_add(T::DbWeight::get().writes(8 as u64)) + // Standard Error: 229_000 + .saturating_add(Weight::from_ref_time(27_195_000 as u64).saturating_mul(n as u64)) + // Standard Error: 509_000 + .saturating_add(Weight::from_ref_time(59_003_000 as u64).saturating_mul(m as u64)) + .saturating_add(T::DbWeight::get().reads(12 as u64)) + .saturating_add(T::DbWeight::get().writes(9 as u64)) } // Storage: ParachainStaking DelegatorState (r:1 w:1) // Storage: ParachainStaking CandidatePool (r:1 w:1) @@ -279,14 +274,18 @@ impl parachain_staking::WeightInfo for WeightInfo { // Storage: ParachainStaking TopCandidates (r:1 w:1) // Storage: ParachainStaking MaxSelectedCandidates (r:1 w:0) // Storage: ParachainStaking TotalCollatorStake (r:1 w:1) + // Storage: ParachainStaking BlocksAuthored (r:1 w:0) + // Storage: ParachainStaking BlocksRewarded (r:1 w:1) + // Storage: ParachainStaking Rewards (r:1 w:1) + // Storage: ParachainStaking InflationConfig (r:1 w:0) fn delegator_stake_more(n: u32, m: u32, _u: u32, ) -> Weight { Weight::from_ref_time(0 as u64) - // Standard Error: 133_000 - .saturating_add(Weight::from_ref_time(18_815_000 as u64).saturating_mul(n as u64)) - // Standard Error: 295_000 - .saturating_add(Weight::from_ref_time(40_803_000 as u64).saturating_mul(m as u64)) - .saturating_add(T::DbWeight::get().reads(8 as u64)) - .saturating_add(T::DbWeight::get().writes(7 as u64)) + // Standard Error: 183_000 + .saturating_add(Weight::from_ref_time(28_638_000 as u64).saturating_mul(n as u64)) + // Standard Error: 408_000 + .saturating_add(Weight::from_ref_time(62_457_000 as u64).saturating_mul(m as u64)) + .saturating_add(T::DbWeight::get().reads(12 as u64)) + .saturating_add(T::DbWeight::get().writes(9 as u64)) } // Storage: ParachainStaking DelegatorState (r:1 w:1) // Storage: ParachainStaking CandidatePool (r:1 w:1) @@ -294,97 +293,99 @@ impl parachain_staking::WeightInfo for WeightInfo { // Storage: ParachainStaking TopCandidates (r:1 w:1) // Storage: ParachainStaking MaxSelectedCandidates (r:1 w:0) // Storage: ParachainStaking TotalCollatorStake (r:1 w:1) - // Storage: ParachainStaking RewardCount (r:2 w:0) - /// The range of component `n` is `[1, 75]`. - /// The range of component `m` is `[1, 34]`. + // Storage: ParachainStaking BlocksAuthored (r:1 w:0) + // Storage: ParachainStaking BlocksRewarded (r:1 w:1) + // Storage: ParachainStaking Rewards (r:1 w:1) + // Storage: ParachainStaking InflationConfig (r:1 w:0) fn delegator_stake_less(n: u32, m: u32, ) -> Weight { Weight::from_ref_time(0 as u64) - // Standard Error: 153_000 - .saturating_add(Weight::from_ref_time(17_715_000 as u64).saturating_mul(n as u64)) - // Standard Error: 341_000 - .saturating_add(Weight::from_ref_time(38_327_000 as u64).saturating_mul(m as u64)) - .saturating_add(T::DbWeight::get().reads(6 as u64)) - .saturating_add(T::DbWeight::get().writes(5 as u64)) + // Standard Error: 228_000 + .saturating_add(Weight::from_ref_time(27_066_000 as u64).saturating_mul(n as u64)) + // Standard Error: 507_000 + .saturating_add(Weight::from_ref_time(58_897_000 as u64).saturating_mul(m as u64)) + .saturating_add(T::DbWeight::get().reads(10 as u64)) + .saturating_add(T::DbWeight::get().writes(7 as u64)) } // Storage: ParachainStaking DelegatorState (r:1 w:1) // Storage: ParachainStaking CandidatePool (r:1 w:1) - // Storage: ParachainStaking RewardCount (r:2 w:0) + // Storage: ParachainStaking BlocksAuthored (r:1 w:0) + // Storage: ParachainStaking BlocksRewarded (r:1 w:1) + // Storage: ParachainStaking Rewards (r:1 w:1) + // Storage: ParachainStaking TotalCollatorStake (r:1 w:1) + // Storage: ParachainStaking InflationConfig (r:1 w:0) // Storage: ParachainStaking Unstaking (r:1 w:1) // Storage: ParachainStaking TopCandidates (r:1 w:1) // Storage: ParachainStaking MaxSelectedCandidates (r:1 w:0) - // Storage: ParachainStaking TotalCollatorStake (r:1 w:1) - /// The range of component `n` is `[1, 75]`. - /// The range of component `m` is `[1, 34]`. fn leave_delegators(n: u32, m: u32, ) -> Weight { Weight::from_ref_time(0 as u64) - // Standard Error: 153_000 - .saturating_add(Weight::from_ref_time(18_270_000 as u64).saturating_mul(n as u64)) - // Standard Error: 341_000 - .saturating_add(Weight::from_ref_time(39_114_000 as u64).saturating_mul(m as u64)) - .saturating_add(T::DbWeight::get().reads(6 as u64)) - .saturating_add(T::DbWeight::get().writes(5 as u64)) + // Standard Error: 228_000 + .saturating_add(Weight::from_ref_time(27_351_000 as u64).saturating_mul(n as u64)) + // Standard Error: 507_000 + .saturating_add(Weight::from_ref_time(59_344_000 as u64).saturating_mul(m as u64)) + .saturating_add(T::DbWeight::get().reads(10 as u64)) + .saturating_add(T::DbWeight::get().writes(7 as u64)) } // Storage: ParachainStaking Unstaking (r:1 w:1) // Storage: Balances Locks (r:1 w:1) // Storage: System Account (r:1 w:1) fn unlock_unstaked(u: u32, ) -> Weight { - Weight::from_ref_time(58_250_000 as u64) + Weight::from_ref_time(56_951_000 as u64) // Standard Error: 10_000 - .saturating_add(Weight::from_ref_time(249_000 as u64).saturating_mul(u as u64)) + .saturating_add(Weight::from_ref_time(251_000 as u64).saturating_mul(u as u64)) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } // Storage: ParachainStaking MaxCollatorCandidateStake (r:0 w:1) fn set_max_candidate_stake() -> Weight { - Weight::from_ref_time(23_094_000 as u64) + Weight::from_ref_time(22_776_000 as u64) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: ParachainStaking DelegatorState (r:1 w:0) - // Storage: ParachainStaking RewardCount (r:2 w:1) + // Storage: ParachainStaking BlocksAuthored (r:1 w:0) + // Storage: ParachainStaking BlocksRewarded (r:1 w:1) // Storage: ParachainStaking Rewards (r:1 w:1) // Storage: ParachainStaking TotalCollatorStake (r:1 w:0) // Storage: ParachainStaking InflationConfig (r:1 w:0) fn increment_delegator_rewards() -> Weight { - Weight::from_ref_time(25_796_000 as u64) + Weight::from_ref_time(46_254_000 as u64) .saturating_add(T::DbWeight::get().reads(6 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: ParachainStaking CandidatePool (r:1 w:0) - // Storage: ParachainStaking RewardCount (r:1 w:1) + // Storage: ParachainStaking BlocksAuthored (r:1 w:0) + // Storage: ParachainStaking BlocksRewarded (r:1 w:1) // Storage: ParachainStaking Rewards (r:1 w:1) // Storage: ParachainStaking TotalCollatorStake (r:1 w:0) // Storage: ParachainStaking InflationConfig (r:1 w:0) - /// The range of component `m` is `[0, 35]`. fn increment_collator_rewards() -> Weight { - Weight::from_ref_time(366_611_000 as u64) - .saturating_add(T::DbWeight::get().reads(75 as u64)) - .saturating_add(T::DbWeight::get().writes(72 as u64)) + Weight::from_ref_time(39_479_000 as u64) + .saturating_add(T::DbWeight::get().reads(6 as u64)) + .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: ParachainStaking Rewards (r:1 w:1) // Storage: System Account (r:1 w:1) fn claim_rewards() -> Weight { - Weight::from_ref_time(29_833_000 as u64) + Weight::from_ref_time(58_531_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: ParachainStaking LastRewardReduction (r:1 w:1) // Storage: ParachainStaking InflationConfig (r:1 w:1) // Storage: ParachainStaking CandidatePool (r:3 w:0) - // Storage: ParachainStaking RewardCount (r:72 w:72) - // Storage: ParachainStaking Rewards (r:2 w:2) + // Storage: ParachainStaking BlocksAuthored (r:2 w:0) + // Storage: ParachainStaking BlocksRewarded (r:72 w:72) + // Storage: ParachainStaking Rewards (r:72 w:72) // Storage: ParachainStaking TotalCollatorStake (r:1 w:0) // Storage: ParachainStaking CounterForCandidatePool (r:1 w:0) - /// The range of component `n` is `[0, 75]`. - /// The range of component `m` is `[0, 35]`. fn execute_scheduled_reward_change(n: u32, m: u32, ) -> Weight { Weight::from_ref_time(0 as u64) - // Standard Error: 5_730_000 - .saturating_add(Weight::from_ref_time(202_623_000 as u64).saturating_mul(n as u64)) - // Standard Error: 12_280_000 - .saturating_add(Weight::from_ref_time(415_436_000 as u64).saturating_mul(m as u64)) - .saturating_add(T::DbWeight::get().reads((37 as u64).saturating_mul(n as u64))) - .saturating_add(T::DbWeight::get().reads((75 as u64).saturating_mul(m as u64))) - .saturating_add(T::DbWeight::get().writes((36 as u64).saturating_mul(n as u64))) - .saturating_add(T::DbWeight::get().writes((75 as u64).saturating_mul(m as u64))) + // Standard Error: 598_000 + .saturating_add(Weight::from_ref_time(497_598_000 as u64).saturating_mul(n as u64)) + // Standard Error: 1_271_000 + .saturating_add(Weight::from_ref_time(1_025_730_000 as u64).saturating_mul(m as u64)) + .saturating_add(T::DbWeight::get().reads((74 as u64).saturating_mul(n as u64))) + .saturating_add(T::DbWeight::get().reads((150 as u64).saturating_mul(m as u64))) + .saturating_add(T::DbWeight::get().writes((72 as u64).saturating_mul(n as u64))) + .saturating_add(T::DbWeight::get().writes((150 as u64).saturating_mul(m as u64))) } } From 621997ed4bed76a30aa9a53fdc21ef0217e3496e Mon Sep 17 00:00:00 2001 From: William Freudenberger Date: Mon, 14 Nov 2022 11:45:36 +0100 Subject: [PATCH 11/38] Revert "Revert "feat: support linking ethereum accounts (#355)"" This reverts commit df5abe31e4b3b3a23ac9605d5076eb8012f71113. --- Cargo.lock | 1 + pallets/pallet-did-lookup/Cargo.toml | 4 +- pallets/pallet-did-lookup/src/account.rs | 189 +++++++++++++++++ .../src/associate_account_request.rs | 60 ++++++ pallets/pallet-did-lookup/src/benchmarking.rs | 194 ++++++++++++++---- .../pallet-did-lookup/src/default_weights.rs | 85 ++++++-- pallets/pallet-did-lookup/src/lib.rs | 79 +++---- .../pallet-did-lookup/src/linkable_account.rs | 51 +++++ pallets/pallet-did-lookup/src/migrations.rs | 144 +++++++++---- pallets/pallet-did-lookup/src/mock.rs | 14 +- pallets/pallet-did-lookup/src/signature.rs | 30 ++- pallets/pallet-did-lookup/src/tests.rs | 186 ++++++++++++----- pallets/parachain-staking/src/migration.rs | 2 + runtime-api/did/src/lib.rs | 32 ++- runtimes/clone/src/lib.rs | 8 +- runtimes/peregrine/src/lib.rs | 13 +- runtimes/peregrine/src/tests.rs | 9 +- .../src/weights/pallet_did_lookup.rs | 40 +++- runtimes/spiritnet/src/lib.rs | 13 +- runtimes/spiritnet/src/tests.rs | 9 +- .../src/weights/pallet_did_lookup.rs | 28 ++- runtimes/standalone/src/lib.rs | 17 +- 22 files changed, 961 insertions(+), 247 deletions(-) create mode 100644 pallets/pallet-did-lookup/src/account.rs create mode 100644 pallets/pallet-did-lookup/src/associate_account_request.rs create mode 100644 pallets/pallet-did-lookup/src/linkable_account.rs diff --git a/Cargo.lock b/Cargo.lock index 3b97d8355..c00bea81e 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -5505,6 +5505,7 @@ dependencies = [ "log", "pallet-balances", "parity-scale-codec", + "rand 0.8.5", "scale-info", "sha3 0.10.2", "sp-core", diff --git a/pallets/pallet-did-lookup/Cargo.toml b/pallets/pallet-did-lookup/Cargo.toml index 7ed21aca6..37350f458 100644 --- a/pallets/pallet-did-lookup/Cargo.toml +++ b/pallets/pallet-did-lookup/Cargo.toml @@ -19,6 +19,7 @@ targets = ["x86_64-unknown-linux-gnu"] kilt-support = {workspace = true, features = ["mock"]} pallet-balances = {workspace = true, features = ["std"]} +rand = "0.8" sp-core = {workspace = true, features = ["std"]} sp-io = {workspace = true, features = ["std"]} sp-keystore = {workspace = true, features = ["std"]} @@ -39,18 +40,17 @@ kilt-support.workspace = true frame-support.workspace = true frame-system.workspace = true sp-core.workspace = true +sp-io.workspace = true sp-runtime.workspace = true sp-std.workspace = true # Benchmarking dependencies frame-benchmarking = {workspace = true, optional = true} -sp-io = {workspace = true, optional = true} [features] default = ["std"] runtime-benchmarks = [ "frame-benchmarking", - "sp-io", "kilt-support/runtime-benchmarks", "frame-support/runtime-benchmarks", "frame-system/runtime-benchmarks", diff --git a/pallets/pallet-did-lookup/src/account.rs b/pallets/pallet-did-lookup/src/account.rs new file mode 100644 index 000000000..b6eb29a93 --- /dev/null +++ b/pallets/pallet-did-lookup/src/account.rs @@ -0,0 +1,189 @@ +// KILT Blockchain – https://botlabs.org +// Copyright (C) 2019-2022 BOTLabs GmbH + +// The KILT Blockchain 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. + +// The KILT Blockchain 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 this program. If not, see . + +// If you feel like getting in touch with us, you can do so at info@botlabs.org + +// This code originally came from the purestake/moonbeam repo. +// see https://github.com/PureStake/moonbeam/blob/74324db0cfacaad555064c839f17072b57cb35e3/primitives/account/src/lib.rs for reference. + +//! The Ethereum Signature implementation. +//! +//! It includes the Verify and IdentifyAccount traits for the AccountId20 + +use codec::{Decode, Encode, MaxEncodedLen}; +use frame_support::{crypto::ecdsa::ECDSAExt, RuntimeDebug}; +use scale_info::TypeInfo; +use sha3::{Digest, Keccak256}; +use sp_core::{ecdsa, H160, H256}; + +/// The AccountId20 type. +/// It is a 20-byte Ethereum address. +#[derive( + Eq, PartialEq, Copy, Clone, Encode, Decode, TypeInfo, MaxEncodedLen, Default, PartialOrd, Ord, RuntimeDebug, +)] +pub struct AccountId20(pub [u8; 20]); + +#[cfg(feature = "std")] +impl std::fmt::Display for AccountId20 { + //TODO This is a pretty quck-n-dirty implementation. Perhaps we should add + // checksum casing here? I bet there is a crate for that. + // Maybe this one https://github.com/miguelmota/rust-eth-checksum + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "{:?}", self.0) + } +} + +impl From<[u8; 20]> for AccountId20 { + fn from(bytes: [u8; 20]) -> Self { + Self(bytes) + } +} + +impl From for [u8; 20] { + fn from(id: AccountId20) -> Self { + id.0 + } +} + +impl From for AccountId20 { + fn from(h160: H160) -> Self { + Self(h160.0) + } +} + +impl From for H160 { + fn from(id: AccountId20) -> Self { + H160(id.0) + } +} + +#[cfg(feature = "std")] +impl std::str::FromStr for AccountId20 { + type Err = &'static str; + fn from_str(input: &str) -> Result { + H160::from_str(input) + .map(Into::into) + .map_err(|_| "invalid hex address.") + } +} + +/// Public key for an Ethereum / Moonbeam compatible account +#[derive(Eq, PartialEq, Ord, PartialOrd, Clone, Encode, Decode, RuntimeDebug, TypeInfo)] +pub struct EthereumSigner([u8; 20]); + +impl sp_runtime::traits::IdentifyAccount for EthereumSigner { + type AccountId = AccountId20; + fn into_account(self) -> AccountId20 { + AccountId20(self.0) + } +} + +impl From<[u8; 20]> for EthereumSigner { + fn from(x: [u8; 20]) -> Self { + EthereumSigner(x) + } +} + +impl TryFrom for EthereumSigner { + type Error = &'static str; + fn try_from(x: ecdsa::Public) -> Result { + match x.to_eth_address() { + Ok(x) => Ok(Self(x)), + Err(_) => Err("invalid public key"), + } + } +} + +impl From for EthereumSigner { + fn from(x: libsecp256k1::PublicKey) -> Self { + let mut m = [0u8; 64]; + m.copy_from_slice(&x.serialize()[1..65]); + let account = H160::from(H256::from_slice(Keccak256::digest(&m).as_slice())); + EthereumSigner(account.into()) + } +} + +#[cfg(feature = "std")] +impl std::fmt::Display for EthereumSigner { + fn fmt(&self, fmt: &mut std::fmt::Formatter) -> std::fmt::Result { + write!(fmt, "ethereum signature: {:?}", H160::from_slice(&self.0)) + } +} + +#[derive(Eq, PartialEq, Clone, Encode, Decode, MaxEncodedLen, RuntimeDebug, TypeInfo)] +pub struct EthereumSignature(ecdsa::Signature); + +impl From for EthereumSignature { + fn from(x: ecdsa::Signature) -> Self { + EthereumSignature(x) + } +} + +impl sp_runtime::traits::Verify for EthereumSignature { + type Signer = EthereumSigner; + fn verify>(&self, mut msg: L, signer: &AccountId20) -> bool { + let mut hashed_message_buffer = [0u8; 32]; + hashed_message_buffer.copy_from_slice(Keccak256::digest(msg.get()).as_slice()); + match sp_io::crypto::secp256k1_ecdsa_recover(self.0.as_ref(), &hashed_message_buffer) { + Ok(pubkey) => { + // TODO This conversion could use a comment. Why H256 first, then H160? + // TODO actually, there is probably just a better way to go from Keccak digest. + AccountId20(H160::from(H256::from_slice(Keccak256::digest(&pubkey).as_slice())).0) == *signer + } + Err(_) => { + log::trace!("Error verifying signature"); + false + } + } + } +} + +#[cfg(test)] +mod tests { + use super::*; + use sp_core::{ecdsa, Pair}; + use sp_runtime::traits::IdentifyAccount; + + #[test] + fn test_account_derivation_1() { + // Test from https://asecuritysite.com/encryption/ethadd + // This page generates a private ethereum key, a public key and computes an + // address from it. We take those values as reference point to proof that our + // implementation is correct. + let secret_key = hex::decode("502f97299c472b88754accd412b7c9a6062ef3186fba0c0388365e1edec24875").unwrap(); + let mut expected_hex_account = [0u8; 20]; + hex::decode_to_slice("976f8456e4e2034179b284a23c0e0c8f6d3da50c", &mut expected_hex_account) + .expect("example data is 20 bytes of valid hex"); + + let public_key = ecdsa::Pair::from_seed_slice(&secret_key).unwrap().public(); + let account: EthereumSigner = public_key.try_into().unwrap(); + let expected_account = AccountId20::from(expected_hex_account); + assert_eq!(account.into_account(), expected_account); + } + #[test] + fn test_account_derivation_2() { + // Test from https://asecuritysite.com/encryption/ethadd + let secret_key = hex::decode("0f02ba4d7f83e59eaa32eae9c3c4d99b68ce76decade21cdab7ecce8f4aef81a").unwrap(); + let mut expected_hex_account = [0u8; 20]; + hex::decode_to_slice("420e9f260b40af7e49440cead3069f8e82a5230f", &mut expected_hex_account) + .expect("example data is 20 bytes of valid hex"); + + let public_key = ecdsa::Pair::from_seed_slice(&secret_key).unwrap().public(); + let account: EthereumSigner = public_key.try_into().unwrap(); + let expected_account = AccountId20::from(expected_hex_account); + assert_eq!(account.into_account(), expected_account); + } +} diff --git a/pallets/pallet-did-lookup/src/associate_account_request.rs b/pallets/pallet-did-lookup/src/associate_account_request.rs new file mode 100644 index 000000000..684c5c285 --- /dev/null +++ b/pallets/pallet-did-lookup/src/associate_account_request.rs @@ -0,0 +1,60 @@ +// KILT Blockchain – https://botlabs.org +// Copyright (C) 2019-2022 BOTLabs GmbH + +// The KILT Blockchain 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. + +// The KILT Blockchain 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 this program. If not, see . + +// If you feel like getting in touch with us, you can do so at info@botlabs.org + +use crate::{ + account::{AccountId20, EthereumSignature}, + linkable_account::LinkableAccountId, + signature::get_wrapped_payload, +}; + +use codec::{Decode, Encode, MaxEncodedLen}; +use scale_info::TypeInfo; +use sp_runtime::{traits::Verify, AccountId32, MultiSignature}; + +#[derive(Clone, Debug, Eq, PartialEq, Encode, Decode, MaxEncodedLen, TypeInfo)] +pub enum AssociateAccountRequest { + Dotsama(AccountId32, MultiSignature), + Ethereum(AccountId20, EthereumSignature), +} + +impl AssociateAccountRequest { + pub fn verify( + &self, + did_identifier: ::DidIdentifier, + expiration: ::BlockNumber, + ) -> bool { + let encoded_payload = (&did_identifier, expiration).encode(); + match self { + AssociateAccountRequest::Dotsama(acc, proof) => proof.verify( + &get_wrapped_payload(&encoded_payload[..], crate::signature::WrapType::Substrate)[..], + acc, + ), + AssociateAccountRequest::Ethereum(acc, proof) => proof.verify( + &get_wrapped_payload(&encoded_payload[..], crate::signature::WrapType::Ethereum)[..], + acc, + ), + } + } + + pub fn get_linkable_account(&self) -> LinkableAccountId { + match self { + AssociateAccountRequest::Dotsama(acc, _) => LinkableAccountId::AccountId32(acc.clone()), + AssociateAccountRequest::Ethereum(acc, _) => LinkableAccountId::AccountId20(*acc), + } + } +} diff --git a/pallets/pallet-did-lookup/src/benchmarking.rs b/pallets/pallet-did-lookup/src/benchmarking.rs index 599c628a1..e24c0ec29 100644 --- a/pallets/pallet-did-lookup/src/benchmarking.rs +++ b/pallets/pallet-did-lookup/src/benchmarking.rs @@ -19,17 +19,27 @@ //! Benchmarking -use crate::{ - signature::get_wrapped_payload, AccountIdOf, Call, Config, ConnectedAccounts, ConnectedDids, CurrencyOf, Pallet, -}; - use codec::Encode; use frame_benchmarking::{account, benchmarks, impl_benchmark_test_suite}; -use frame_support::traits::{Currency, Get}; +use frame_support::{ + crypto::ecdsa::ECDSAExt, + traits::{Currency, Get}, +}; use frame_system::RawOrigin; +use sha3::{Digest, Keccak256}; +use sp_io::crypto::{ecdsa_generate, ed25519_generate, sr25519_generate}; +use sp_runtime::{ + app_crypto::{ed25519, sr25519}, + traits::IdentifyAccount, + AccountId32, KeyTypeId, +}; + use kilt_support::{deposit::Deposit, traits::GenerateBenchmarkOrigin}; -use sp_io::crypto::sr25519_generate; -use sp_runtime::{app_crypto::sr25519, KeyTypeId}; + +use crate::{ + account::AccountId20, linkable_account::LinkableAccountId, signature::get_wrapped_payload, AccountIdOf, + AssociateAccountRequest, Call, Config, ConnectedAccounts, ConnectedDids, CurrencyOf, Pallet, +}; const SEED: u32 = 0; @@ -45,88 +55,198 @@ fn make_free_for_did(account: &AccountIdOf) { benchmarks! { where_clause { where - T::AccountId: From, + T::AccountId: From + From + Into + Into, T::DidIdentifier: From, - T::Signature: From, T::EnsureOrigin: GenerateBenchmarkOrigin, } - associate_account { + associate_account_multisig_sr25519 { let caller: T::AccountId = account("caller", 0, SEED); let did: T::DidIdentifier = account("did", 0, SEED); let previous_did: T::DidIdentifier = account("prev", 0, SEED + 1); let connected_acc = sr25519_generate(KeyTypeId(*b"aura"), None); let connected_acc_id: T::AccountId = connected_acc.into(); + let linkable_id: LinkableAccountId = connected_acc_id.clone().into(); + let bn: ::BlockNumber = 500_u32.into(); + + let sig = sp_io::crypto::sr25519_sign( + KeyTypeId(*b"aura"), + &connected_acc, + &get_wrapped_payload( + &Encode::encode(&(&did, bn))[..], + crate::signature::WrapType::Substrate, + )) + .ok_or("Error while building signature.")?; + + make_free_for_did::(&caller); + + // Add existing connected_acc -> previous_did connection that will be replaced + Pallet::::add_association(caller.clone(), previous_did.clone(), linkable_id.clone()).expect("should create previous association"); + assert!(ConnectedAccounts::::get(&previous_did, linkable_id.clone()).is_some()); + let origin = T::EnsureOrigin::generate_origin(caller, did.clone()); + let id_arg = linkable_id.clone(); + let req = AssociateAccountRequest::Dotsama(connected_acc_id.into(), sig.into()); + }: associate_account(origin, req, bn) + verify { + assert!(ConnectedDids::::get(linkable_id.clone()).is_some()); + assert!(ConnectedAccounts::::get(&previous_did, linkable_id.clone()).is_none()); + assert!(ConnectedAccounts::::get(did, linkable_id).is_some()); + } + + associate_account_multisig_ed25519 { + let caller: T::AccountId = account("caller", 0, SEED); + let did: T::DidIdentifier = account("did", 0, SEED); + let previous_did: T::DidIdentifier = account("prev", 0, SEED + 1); + let connected_acc = ed25519_generate(KeyTypeId(*b"aura"), None); + let connected_acc_id: T::AccountId = connected_acc.into(); + let linkable_id: LinkableAccountId = connected_acc_id.clone().into(); + let bn: ::BlockNumber = 500_u32.into(); + + let sig = sp_io::crypto::ed25519_sign( + KeyTypeId(*b"aura"), + &connected_acc, + &get_wrapped_payload( + &Encode::encode(&(&did, bn))[..], + crate::signature::WrapType::Substrate, + )) + .ok_or("Error while building signature.")?; + + make_free_for_did::(&caller); + + // Add existing connected_acc -> previous_did connection that will be replaced + Pallet::::add_association(caller.clone(), previous_did.clone(), linkable_id.clone()).expect("should create previous association"); + assert!(ConnectedAccounts::::get(&previous_did, linkable_id.clone()).is_some()); + let origin = T::EnsureOrigin::generate_origin(caller, did.clone()); + let id_arg = linkable_id.clone(); + let req = AssociateAccountRequest::Dotsama(connected_acc_id.into(), sig.into()); + }: associate_account(origin, req, bn) + verify { + assert!(ConnectedDids::::get(linkable_id.clone()).is_some()); + assert!(ConnectedAccounts::::get(&previous_did, linkable_id.clone()).is_none()); + assert!(ConnectedAccounts::::get(did, linkable_id).is_some()); + } + + associate_account_multisig_ecdsa { + let caller: T::AccountId = account("caller", 0, SEED); + let did: T::DidIdentifier = account("did", 0, SEED); + let previous_did: T::DidIdentifier = account("prev", 0, SEED + 1); + let connected_acc = ecdsa_generate(KeyTypeId(*b"aura"), None); + let connected_acc_id = sp_runtime::MultiSigner::from(connected_acc).into_account(); + let linkable_id: LinkableAccountId = connected_acc_id.clone().into(); let bn: ::BlockNumber = 500_u32.into(); - let sig: T::Signature = sp_io::crypto::sr25519_sign(KeyTypeId(*b"aura"), &connected_acc, &get_wrapped_payload(&Encode::encode(&(&did, bn))[..])) - .ok_or("Error while building signature.")? - .into(); + let sig = sp_io::crypto::ecdsa_sign( + KeyTypeId(*b"aura"), + &connected_acc, + &get_wrapped_payload( + &Encode::encode(&(&did, bn))[..], + crate::signature::WrapType::Substrate, + )) + .ok_or("Error while building signature.")?; make_free_for_did::(&caller); // Add existing connected_acc -> previous_did connection that will be replaced - Pallet::::add_association(caller.clone(), previous_did.clone(), connected_acc_id.clone()).expect("should create previous association"); - assert!(ConnectedAccounts::::get(&previous_did, T::AccountId::from(connected_acc)).is_some()); + Pallet::::add_association(caller.clone(), previous_did.clone(), linkable_id.clone()).expect("should create previous association"); + assert!(ConnectedAccounts::::get(&previous_did, linkable_id.clone()).is_some()); let origin = T::EnsureOrigin::generate_origin(caller, did.clone()); - }: _(origin, connected_acc_id, bn, sig) + let id_arg = linkable_id.clone(); + let req = AssociateAccountRequest::Dotsama(connected_acc_id, sig.into()); + }: associate_account(origin, req, bn) verify { - assert!(ConnectedDids::::get(T::AccountId::from(connected_acc)).is_some()); - assert!(ConnectedAccounts::::get(&previous_did, T::AccountId::from(connected_acc)).is_none()); - assert!(ConnectedAccounts::::get(did, T::AccountId::from(connected_acc)).is_some()); + assert!(ConnectedDids::::get(linkable_id.clone()).is_some()); + assert!(ConnectedAccounts::::get(&previous_did, linkable_id.clone()).is_none()); + assert!(ConnectedAccounts::::get(did, linkable_id).is_some()); + } + + associate_eth_account { + let caller: T::AccountId = account("caller", 0, SEED); + let did: T::DidIdentifier = account("did", 0, SEED); + let previous_did: T::DidIdentifier = account("prev", 0, SEED + 1); + let expire_at: ::BlockNumber = 500_u32.into(); + + let eth_public_key = ecdsa_generate(KeyTypeId(*b"aura"), None); + let eth_account = AccountId20(eth_public_key.to_eth_address().unwrap()); + + let wrapped_payload = get_wrapped_payload( + &Encode::encode(&(&did, expire_at))[..], + crate::signature::WrapType::Ethereum, + ); + + let sig = sp_io::crypto::ecdsa_sign_prehashed( + KeyTypeId(*b"aura"), + ð_public_key, + &Keccak256::digest(&wrapped_payload).try_into().unwrap(), + ).ok_or("Error while building signature.")?; + + make_free_for_did::(&caller); + + // Add existing connected_acc -> previous_did connection that will be replaced + Pallet::::add_association(caller.clone(), previous_did.clone(), eth_account.into()).expect("should create previous association"); + assert!(ConnectedAccounts::::get(&previous_did, LinkableAccountId::from(eth_account)).is_some()); + let origin = T::EnsureOrigin::generate_origin(caller, did.clone()); + let req = AssociateAccountRequest::Ethereum(eth_account, sig.into()); + }: associate_account(origin, req, expire_at) + verify { + assert!(ConnectedDids::::get(LinkableAccountId::from(eth_account)).is_some()); + assert!(ConnectedAccounts::::get(&previous_did, LinkableAccountId::from(eth_account)).is_none()); + assert!(ConnectedAccounts::::get(did, LinkableAccountId::from(eth_account)).is_some()); } associate_sender { let caller: T::AccountId = account("caller", 0, SEED); + let linkable_id: LinkableAccountId = caller.clone().into(); let did: T::DidIdentifier = account("did", 0, SEED); let previous_did: T::DidIdentifier = account("prev", 0, SEED + 1); make_free_for_did::(&caller); // Add existing sender -> previous_did connection that will be replaced - Pallet::::add_association(caller.clone(), previous_did.clone(), caller.clone()).expect("should create previous association"); - assert!(ConnectedAccounts::::get(&previous_did, &caller).is_some()); - let origin = T::EnsureOrigin::generate_origin(caller.clone(), did.clone()); + Pallet::::add_association(caller.clone(), previous_did.clone(), caller.clone().into()).expect("should create previous association"); + assert!(ConnectedAccounts::::get(&previous_did, &linkable_id).is_some()); + let origin = T::EnsureOrigin::generate_origin(caller, did.clone()); }: _(origin) verify { - assert!(ConnectedDids::::get(&caller).is_some()); - assert!(ConnectedAccounts::::get(previous_did, &caller).is_none()); - assert!(ConnectedAccounts::::get(did, caller).is_some()); + assert!(ConnectedDids::::get(&linkable_id).is_some()); + assert!(ConnectedAccounts::::get(previous_did, &linkable_id).is_none()); + assert!(ConnectedAccounts::::get(did, linkable_id).is_some()); } remove_sender_association { let caller: T::AccountId = account("caller", 0, SEED); + let linkable_id: LinkableAccountId = caller.clone().into(); let did: T::DidIdentifier = account("did", 0, SEED); make_free_for_did::(&caller); - Pallet::::add_association(caller.clone(), did.clone(), caller.clone()).expect("should create association"); + Pallet::::add_association(caller.clone(), did.clone(), linkable_id.clone()).expect("should create association"); - let origin = RawOrigin::Signed(caller.clone()); + let origin = RawOrigin::Signed(caller); }: _(origin) verify { - assert!(ConnectedDids::::get(&caller).is_none()); - assert!(ConnectedAccounts::::get(did, caller).is_none()); + assert!(ConnectedDids::::get(&linkable_id).is_none()); + assert!(ConnectedAccounts::::get(did, linkable_id).is_none()); } remove_account_association { let caller: T::AccountId = account("caller", 0, SEED); + let linkable_id: LinkableAccountId = caller.clone().into(); let did: T::DidIdentifier = account("did", 0, SEED); make_free_for_did::(&caller); - Pallet::::add_association(caller.clone(), did.clone(), caller.clone()).expect("should create association"); + Pallet::::add_association(caller.clone(), did.clone(), linkable_id.clone()).expect("should create association"); - let origin = T::EnsureOrigin::generate_origin(caller.clone(), did.clone()); - let caller_clone = caller.clone(); - }: _(origin, caller_clone) + let origin = T::EnsureOrigin::generate_origin(caller, did.clone()); + let id_arg = linkable_id.clone(); + }: _(origin, id_arg) verify { - assert!(ConnectedDids::::get(&caller).is_none()); - assert!(ConnectedAccounts::::get(did, caller).is_none()); + assert!(ConnectedDids::::get(&linkable_id).is_none()); + assert!(ConnectedAccounts::::get(did, linkable_id).is_none()); } change_deposit_owner { let deposit_owner_old: T::AccountId = account("caller", 0, SEED); let deposit_owner_new: T::AccountId = account("caller", 1, SEED); - let linkable_id: T::AccountId = deposit_owner_old.clone(); + let linkable_id: LinkableAccountId = deposit_owner_old.clone().into(); let did: T::DidIdentifier = account("did", 0, SEED); make_free_for_did::(&deposit_owner_old); make_free_for_did::(&deposit_owner_new); @@ -148,7 +268,7 @@ benchmarks! { update_deposit { let deposit_owner: T::AccountId = account("caller", 0, SEED); - let linkable_id: T::AccountId = deposit_owner.clone(); + let linkable_id: LinkableAccountId = deposit_owner.clone().into(); let did: T::DidIdentifier = account("did", 0, SEED); make_free_for_did::(&deposit_owner); diff --git a/pallets/pallet-did-lookup/src/default_weights.rs b/pallets/pallet-did-lookup/src/default_weights.rs index 1c1dacc3b..88fab90e7 100644 --- a/pallets/pallet-did-lookup/src/default_weights.rs +++ b/pallets/pallet-did-lookup/src/default_weights.rs @@ -19,7 +19,7 @@ //! Autogenerated weights for pallet_did_lookup //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-11-07, STEPS: {{cmd.steps}}\, REPEAT: {{cmd.repeat}}\, LOW RANGE: {{cmd.lowest_range_values}}\, HIGH RANGE: {{cmd.highest_range_values}}\ +//! DATE: 2022-10-26, STEPS: {{cmd.steps}}\, REPEAT: {{cmd.repeat}}\, LOW RANGE: {{cmd.lowest_range_values}}\, HIGH RANGE: {{cmd.highest_range_values}}\ //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024 // Executed Command: @@ -47,7 +47,10 @@ use sp_std::marker::PhantomData; /// Weight functions needed for pallet_did_lookup. pub trait WeightInfo { - fn associate_account() -> Weight; + fn associate_account_multisig_sr25519() -> Weight; + fn associate_account_multisig_ed25519() -> Weight; + fn associate_account_multisig_ecdsa() -> Weight; + fn associate_eth_account() -> Weight; fn associate_sender() -> Weight; fn remove_sender_association() -> Weight; fn remove_account_association() -> Weight; @@ -61,8 +64,32 @@ impl WeightInfo for SubstrateWeight { // Storage: System Account (r:1 w:1) // Storage: DidLookup ConnectedDids (r:1 w:1) // Storage: DidLookup ConnectedAccounts (r:0 w:2) - fn associate_account() -> Weight { - Weight::from_ref_time(133_182_000 as u64) + fn associate_account_multisig_sr25519() -> Weight { + Weight::from_ref_time(134_000_000 as u64) + .saturating_add(T::DbWeight::get().reads(2 as u64)) + .saturating_add(T::DbWeight::get().writes(4 as u64)) + } + // Storage: System Account (r:1 w:1) + // Storage: DidLookup ConnectedDids (r:1 w:1) + // Storage: DidLookup ConnectedAccounts (r:0 w:2) + fn associate_account_multisig_ed25519() -> Weight { + Weight::from_ref_time(131_536_000 as u64) + .saturating_add(T::DbWeight::get().reads(2 as u64)) + .saturating_add(T::DbWeight::get().writes(4 as u64)) + } + // Storage: System Account (r:1 w:1) + // Storage: DidLookup ConnectedDids (r:1 w:1) + // Storage: DidLookup ConnectedAccounts (r:0 w:2) + fn associate_account_multisig_ecdsa() -> Weight { + Weight::from_ref_time(120_087_000 as u64) + .saturating_add(T::DbWeight::get().reads(2 as u64)) + .saturating_add(T::DbWeight::get().writes(4 as u64)) + } + // Storage: System Account (r:1 w:1) + // Storage: DidLookup ConnectedDids (r:1 w:1) + // Storage: DidLookup ConnectedAccounts (r:0 w:2) + fn associate_eth_account() -> Weight { + Weight::from_ref_time(121_859_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(4 as u64)) } @@ -70,7 +97,7 @@ impl WeightInfo for SubstrateWeight { // Storage: DidLookup ConnectedDids (r:1 w:1) // Storage: DidLookup ConnectedAccounts (r:0 w:2) fn associate_sender() -> Weight { - Weight::from_ref_time(72_677_000 as u64) + Weight::from_ref_time(74_489_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(4 as u64)) } @@ -78,7 +105,7 @@ impl WeightInfo for SubstrateWeight { // Storage: System Account (r:1 w:1) // Storage: DidLookup ConnectedAccounts (r:0 w:1) fn remove_sender_association() -> Weight { - Weight::from_ref_time(52_639_000 as u64) + Weight::from_ref_time(52_909_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } @@ -86,21 +113,21 @@ impl WeightInfo for SubstrateWeight { // Storage: System Account (r:1 w:1) // Storage: DidLookup ConnectedAccounts (r:0 w:1) fn remove_account_association() -> Weight { - Weight::from_ref_time(54_561_000 as u64) + Weight::from_ref_time(55_046_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } // Storage: DidLookup ConnectedDids (r:1 w:1) // Storage: System Account (r:2 w:2) fn change_deposit_owner() -> Weight { - Weight::from_ref_time(67_094_000 as u64) + Weight::from_ref_time(67_853_000 as u64) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } // Storage: DidLookup ConnectedDids (r:1 w:1) // Storage: System Account (r:1 w:1) fn update_deposit() -> Weight { - Weight::from_ref_time(60_960_000 as u64) + Weight::from_ref_time(62_103_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } @@ -111,8 +138,32 @@ impl WeightInfo for () { // Storage: System Account (r:1 w:1) // Storage: DidLookup ConnectedDids (r:1 w:1) // Storage: DidLookup ConnectedAccounts (r:0 w:2) - fn associate_account() -> Weight { - Weight::from_ref_time(133_182_000 as u64) + fn associate_account_multisig_sr25519() -> Weight { + Weight::from_ref_time(134_000_000 as u64) + .saturating_add(RocksDbWeight::get().reads(2 as u64)) + .saturating_add(RocksDbWeight::get().writes(4 as u64)) + } + // Storage: System Account (r:1 w:1) + // Storage: DidLookup ConnectedDids (r:1 w:1) + // Storage: DidLookup ConnectedAccounts (r:0 w:2) + fn associate_account_multisig_ed25519() -> Weight { + Weight::from_ref_time(131_536_000 as u64) + .saturating_add(RocksDbWeight::get().reads(2 as u64)) + .saturating_add(RocksDbWeight::get().writes(4 as u64)) + } + // Storage: System Account (r:1 w:1) + // Storage: DidLookup ConnectedDids (r:1 w:1) + // Storage: DidLookup ConnectedAccounts (r:0 w:2) + fn associate_account_multisig_ecdsa() -> Weight { + Weight::from_ref_time(120_087_000 as u64) + .saturating_add(RocksDbWeight::get().reads(2 as u64)) + .saturating_add(RocksDbWeight::get().writes(4 as u64)) + } + // Storage: System Account (r:1 w:1) + // Storage: DidLookup ConnectedDids (r:1 w:1) + // Storage: DidLookup ConnectedAccounts (r:0 w:2) + fn associate_eth_account() -> Weight { + Weight::from_ref_time(121_859_000 as u64) .saturating_add(RocksDbWeight::get().reads(2 as u64)) .saturating_add(RocksDbWeight::get().writes(4 as u64)) } @@ -120,7 +171,7 @@ impl WeightInfo for () { // Storage: DidLookup ConnectedDids (r:1 w:1) // Storage: DidLookup ConnectedAccounts (r:0 w:2) fn associate_sender() -> Weight { - Weight::from_ref_time(72_677_000 as u64) + Weight::from_ref_time(74_489_000 as u64) .saturating_add(RocksDbWeight::get().reads(2 as u64)) .saturating_add(RocksDbWeight::get().writes(4 as u64)) } @@ -128,7 +179,7 @@ impl WeightInfo for () { // Storage: System Account (r:1 w:1) // Storage: DidLookup ConnectedAccounts (r:0 w:1) fn remove_sender_association() -> Weight { - Weight::from_ref_time(52_639_000 as u64) + Weight::from_ref_time(52_909_000 as u64) .saturating_add(RocksDbWeight::get().reads(2 as u64)) .saturating_add(RocksDbWeight::get().writes(3 as u64)) } @@ -136,22 +187,22 @@ impl WeightInfo for () { // Storage: System Account (r:1 w:1) // Storage: DidLookup ConnectedAccounts (r:0 w:1) fn remove_account_association() -> Weight { - Weight::from_ref_time(54_561_000 as u64) + Weight::from_ref_time(55_046_000 as u64) .saturating_add(RocksDbWeight::get().reads(2 as u64)) .saturating_add(RocksDbWeight::get().writes(3 as u64)) } // Storage: DidLookup ConnectedDids (r:1 w:1) // Storage: System Account (r:2 w:2) fn change_deposit_owner() -> Weight { - Weight::from_ref_time(67_094_000 as u64) + Weight::from_ref_time(67_853_000 as u64) .saturating_add(RocksDbWeight::get().reads(3 as u64)) .saturating_add(RocksDbWeight::get().writes(3 as u64)) } // Storage: DidLookup ConnectedDids (r:1 w:1) // Storage: System Account (r:1 w:1) fn update_deposit() -> Weight { - Weight::from_ref_time(60_960_000 as u64) + Weight::from_ref_time(62_103_000 as u64) .saturating_add(RocksDbWeight::get().reads(2 as u64)) .saturating_add(RocksDbWeight::get().writes(2 as u64)) } -} +} \ No newline at end of file diff --git a/pallets/pallet-did-lookup/src/lib.rs b/pallets/pallet-did-lookup/src/lib.rs index 3470989da..5c14302e7 100644 --- a/pallets/pallet-did-lookup/src/lib.rs +++ b/pallets/pallet-did-lookup/src/lib.rs @@ -24,7 +24,10 @@ #![cfg_attr(not(feature = "std"), no_std)] +pub mod account; +pub mod associate_account_request; pub mod default_weights; +pub mod linkable_account; pub mod migrations; mod connection_record; @@ -41,9 +44,12 @@ mod benchmarking; pub use crate::{default_weights::WeightInfo, pallet::*}; +use crate::associate_account_request::AssociateAccountRequest; + #[frame_support::pallet] pub mod pallet { - use super::WeightInfo; + use super::{linkable_account::LinkableAccountId, AssociateAccountRequest, WeightInfo}; + use frame_support::{ ensure, pallet_prelude::*, @@ -58,17 +64,12 @@ pub mod pallet { pub use crate::connection_record::ConnectionRecord; - use crate::signature::get_wrapped_payload; - - /// The identifier to which the accounts can be associated. + /// The native identifier for accounts in this runtime. pub(crate) type AccountIdOf = ::AccountId; /// The identifier to which the accounts can be associated. pub(crate) type DidIdentifierOf = ::DidIdentifier; - /// The signature type of the account that can get connected. - pub(crate) type SignatureOf = ::Signature; - /// The type used to describe a balance. pub(crate) type BalanceOf = <::Currency as Currency>>::Balance; @@ -78,13 +79,11 @@ pub mod pallet { /// The connection record type. pub(crate) type ConnectionRecordOf = ConnectionRecord, AccountIdOf, BalanceOf>; - pub const STORAGE_VERSION: StorageVersion = StorageVersion::new(2); + pub const STORAGE_VERSION: StorageVersion = StorageVersion::new(3); #[pallet::config] pub trait Config: frame_system::Config { type Event: From> + IsType<::Event>; - type Signature: sp_runtime::traits::Verify + Parameter; - type Signer: sp_runtime::traits::IdentifyAccount> + Parameter; /// The origin that can associate accounts to itself. type EnsureOrigin: EnsureOrigin::Origin>; @@ -116,7 +115,7 @@ pub mod pallet { /// Mapping from account identifiers to DIDs. #[pallet::storage] #[pallet::getter(fn connected_dids)] - pub type ConnectedDids = StorageMap<_, Blake2_128Concat, AccountIdOf, ConnectionRecordOf>; + pub type ConnectedDids = StorageMap<_, Blake2_128Concat, LinkableAccountId, ConnectionRecordOf>; /// Mapping from (DID + account identifier) -> (). /// The empty tuple is used as a sentinel value to simply indicate the @@ -124,16 +123,16 @@ pub mod pallet { #[pallet::storage] #[pallet::getter(fn connected_accounts)] pub type ConnectedAccounts = - StorageDoubleMap<_, Blake2_128Concat, DidIdentifierOf, Blake2_128Concat, AccountIdOf, ()>; + StorageDoubleMap<_, Blake2_128Concat, DidIdentifierOf, Blake2_128Concat, LinkableAccountId, ()>; #[pallet::event] #[pallet::generate_deposit(pub(super) fn deposit_event)] pub enum Event { /// A new association between a DID and an account ID was created. - AssociationEstablished(AccountIdOf, DidIdentifierOf), + AssociationEstablished(LinkableAccountId, DidIdentifierOf), /// An association between a DID and an account ID was removed. - AssociationRemoved(AccountIdOf, DidIdentifierOf), + AssociationRemoved(LinkableAccountId, DidIdentifierOf), } #[pallet::error] @@ -154,7 +153,10 @@ pub mod pallet { } #[pallet::call] - impl Pallet { + impl Pallet + where + T::AccountId: Into, + { /// Associate the given account to the DID that authorized this call. /// /// The account has to sign the DID and a blocknumber after which the @@ -172,12 +174,16 @@ pub mod pallet { /// - Reads: ConnectedDids + ConnectedAccounts + DID Origin Check /// - Writes: ConnectedDids + ConnectedAccounts /// # - #[pallet::weight(::WeightInfo::associate_account())] + #[pallet::weight( + ::WeightInfo::associate_account_multisig_sr25519().max( + ::WeightInfo::associate_account_multisig_ed25519().max( + ::WeightInfo::associate_account_multisig_ecdsa().max( + ::WeightInfo::associate_eth_account() + ))))] pub fn associate_account( origin: OriginFor, - account: AccountIdOf, + req: AssociateAccountRequest, expiration: ::BlockNumber, - proof: SignatureOf, ) -> DispatchResult { let source = ::EnsureOrigin::ensure_origin(origin)?; let did_identifier = source.subject(); @@ -187,11 +193,7 @@ pub mod pallet { frame_system::Pallet::::current_block_number() <= expiration, Error::::OutdatedProof ); - let encoded_payload = (&did_identifier, expiration).encode(); - ensure!( - sp_runtime::traits::Verify::verify(&proof, &get_wrapped_payload(&encoded_payload[..])[..], &account), - Error::::NotAuthorized - ); + ensure!( >>::can_reserve( &sender, @@ -200,7 +202,12 @@ pub mod pallet { Error::::InsufficientFunds ); - Self::add_association(sender, did_identifier, account)?; + ensure!( + req.verify::(did_identifier.clone(), expiration), + Error::::NotAuthorized + ); + + Self::add_association(sender, did_identifier, req.get_linkable_account())?; Ok(()) } @@ -228,7 +235,7 @@ pub mod pallet { Error::::InsufficientFunds ); - Self::add_association(source.sender(), source.subject(), source.sender())?; + Self::add_association(source.sender(), source.subject(), source.sender().into())?; Ok(()) } @@ -246,7 +253,7 @@ pub mod pallet { pub fn remove_sender_association(origin: OriginFor) -> DispatchResult { let who = ensure_signed(origin)?; - Self::remove_association(who) + Self::remove_association(who.into()) } /// Remove the association of the provided account ID. This call doesn't @@ -261,7 +268,7 @@ pub mod pallet { /// - Writes: ConnectedDids + ConnectedAccounts /// # #[pallet::weight(::WeightInfo::remove_account_association())] - pub fn remove_account_association(origin: OriginFor, account: AccountIdOf) -> DispatchResult { + pub fn remove_account_association(origin: OriginFor, account: LinkableAccountId) -> DispatchResult { let source = ::EnsureOrigin::ensure_origin(origin)?; let connection_record = ConnectedDids::::get(&account).ok_or(Error::::AssociationNotFound)?; @@ -282,7 +289,7 @@ pub mod pallet { /// - Writes: ConnectedDids /// # #[pallet::weight(::WeightInfo::remove_sender_association())] - pub fn reclaim_deposit(origin: OriginFor, account: AccountIdOf) -> DispatchResult { + pub fn reclaim_deposit(origin: OriginFor, account: LinkableAccountId) -> DispatchResult { let who = ensure_signed(origin)?; let record = ConnectedDids::::get(&account).ok_or(Error::::AssociationNotFound)?; @@ -298,7 +305,7 @@ pub mod pallet { /// The subject of the call must be linked to the account. /// The sender of the call will be the new deposit owner. #[pallet::weight(::WeightInfo::change_deposit_owner())] - pub fn change_deposit_owner(origin: OriginFor, account: AccountIdOf) -> DispatchResult { + pub fn change_deposit_owner(origin: OriginFor, account: LinkableAccountId) -> DispatchResult { let source = ::EnsureOrigin::ensure_origin(origin)?; let subject = source.subject(); @@ -312,7 +319,7 @@ pub mod pallet { /// /// The sender must be the deposit owner. #[pallet::weight(::WeightInfo::update_deposit())] - pub fn update_deposit(origin: OriginFor, account: AccountIdOf) -> DispatchResult { + pub fn update_deposit(origin: OriginFor, account: LinkableAccountId) -> DispatchResult { let source = ensure_signed(origin)?; let record = ConnectedDids::::get(&account).ok_or(Error::::AssociationNotFound)?; @@ -326,7 +333,7 @@ pub mod pallet { pub(crate) fn add_association( sender: AccountIdOf, did_identifier: DidIdentifierOf, - account: AccountIdOf, + account: LinkableAccountId, ) -> DispatchResult { let deposit = Deposit { owner: sender, @@ -353,7 +360,7 @@ pub mod pallet { Ok(()) } - pub(crate) fn remove_association(account: AccountIdOf) -> DispatchResult { + pub(crate) fn remove_association(account: LinkableAccountId) -> DispatchResult { if let Some(connection) = ConnectedDids::::take(&account) { ConnectedAccounts::::remove(&connection.did, &account); kilt_support::free_deposit::, CurrencyOf>(&connection.deposit); @@ -367,22 +374,22 @@ pub mod pallet { } struct LinkableAccountDepositCollector(PhantomData); - impl StorageDepositCollector, AccountIdOf> for LinkableAccountDepositCollector { + impl StorageDepositCollector, LinkableAccountId> for LinkableAccountDepositCollector { type Currency = T::Currency; fn deposit( - key: &AccountIdOf, + key: &LinkableAccountId, ) -> Result, >>::Balance>, DispatchError> { let record = ConnectedDids::::get(&key).ok_or(Error::::AssociationNotFound)?; Ok(record.deposit) } - fn deposit_amount(_key: &AccountIdOf) -> >>::Balance { + fn deposit_amount(_key: &LinkableAccountId) -> >>::Balance { T::Deposit::get() } fn store_deposit( - key: &AccountIdOf, + key: &LinkableAccountId, deposit: Deposit, >>::Balance>, ) -> Result<(), DispatchError> { let record = ConnectedDids::::get(&key).ok_or(Error::::AssociationNotFound)?; diff --git a/pallets/pallet-did-lookup/src/linkable_account.rs b/pallets/pallet-did-lookup/src/linkable_account.rs new file mode 100644 index 000000000..927ebffa8 --- /dev/null +++ b/pallets/pallet-did-lookup/src/linkable_account.rs @@ -0,0 +1,51 @@ +// KILT Blockchain – https://botlabs.org +// Copyright (C) 2019-2022 BOTLabs GmbH + +// The KILT Blockchain 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. + +// The KILT Blockchain 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 this program. If not, see . + +// If you feel like getting in touch with us, you can do so at info@botlabs.org + +use codec::{Decode, Encode, MaxEncodedLen}; +use scale_info::TypeInfo; +use sp_runtime::AccountId32; + +use crate::account::AccountId20; + +#[derive(Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Encode, Decode, MaxEncodedLen, TypeInfo)] +pub enum LinkableAccountId { + AccountId20(AccountId20), + AccountId32(AccountId32), +} + +impl From for LinkableAccountId { + fn from(account_id: AccountId20) -> Self { + Self::AccountId20(account_id) + } +} + +impl From for LinkableAccountId { + fn from(account_id: AccountId32) -> Self { + Self::AccountId32(account_id) + } +} + +#[cfg(feature = "std")] +impl std::fmt::Display for LinkableAccountId { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match self { + Self::AccountId20(account_id) => write!(f, "{}", account_id), + Self::AccountId32(account_id) => write!(f, "{}", account_id), + } + } +} diff --git a/pallets/pallet-did-lookup/src/migrations.rs b/pallets/pallet-did-lookup/src/migrations.rs index 06715d10c..f604c9db1 100644 --- a/pallets/pallet-did-lookup/src/migrations.rs +++ b/pallets/pallet-did-lookup/src/migrations.rs @@ -16,51 +16,107 @@ // If you feel like getting in touch with us, you can do so at info@botlabs.org -use crate::{Config, ConnectedAccounts, ConnectedDids, Pallet}; +use crate::{linkable_account::LinkableAccountId, AccountIdOf, Config, ConnectionRecordOf, DidIdentifierOf, Pallet}; + +use crate::{ConnectedAccounts as ConnectedAccountsV2, ConnectedDids as ConnectedDidsV2}; + use frame_support::{ - dispatch::Weight, + storage_alias, traits::{Get, GetStorageVersion, OnRuntimeUpgrade}, + Blake2_128Concat, }; -use sp_std::marker::PhantomData; +use sp_std::{marker::PhantomData, vec}; + +#[cfg(feature = "try-runtime")] +use frame_support::traits::OnRuntimeUpgradeHelpersExt; +#[cfg(feature = "try-runtime")] +use sp_runtime::SaturatedConversion; -pub struct LookupReverseIndexMigration(PhantomData); +#[storage_alias] +type ConnectedDids = StorageMap, Blake2_128Concat, AccountIdOf, ConnectionRecordOf>; +#[storage_alias] +type ConnectedAccounts = + StorageDoubleMap, Blake2_128Concat, DidIdentifierOf, Blake2_128Concat, AccountIdOf, ()>; + +pub struct EthereumMigration(PhantomData); + +impl OnRuntimeUpgrade for EthereumMigration +where + T::AccountId: Into, +{ + fn on_runtime_upgrade() -> frame_support::weights::Weight { + if Pallet::::on_chain_storage_version() == Pallet::::current_storage_version() { + // already on version 3 + ::DbWeight::get().reads_writes(1, 0) + } else { + log::info!("🔎 DidLookup: Initiating migration"); + let mut connected_dids = 0u64; + let mut connected_accounts = 0u64; + + // Migrate connected DIDs + // We should not write to the same storage item during drain because it can lead + // to undefined results. Thus, we write to a temporary storage and move that at + // the end. Else we iterate over every key more or less twice. + let mut connected_dids_buffer = vec![]; + for (acc_id32, value) in ConnectedDids::::drain() { + let acc_id: LinkableAccountId = acc_id32.into(); + connected_dids_buffer.push((acc_id, value)); + connected_dids = connected_dids.saturating_add(1); + } + for (acc_id, value) in &connected_dids_buffer { + ConnectedDidsV2::::insert(acc_id, value); + } + log::info!("🔎 DidLookup: Migrated all ConnectedDids"); + + // Migrate accounts + let mut connected_accounts_buffer = vec![]; + for (did_id, acc_id32, val) in ConnectedAccounts::::drain() { + let acc_id: LinkableAccountId = acc_id32.into(); + connected_accounts_buffer.push((did_id, acc_id, val)); + connected_accounts = connected_accounts.saturating_add(1); + } + for (did_id, acc_id, val) in &connected_accounts_buffer { + ConnectedAccountsV2::::insert(did_id, acc_id, val); + } + log::info!("🔎 DidLookup: Migrated all ConnectedAccounts"); + + Pallet::::current_storage_version().put::>(); + + ::DbWeight::get().reads_writes( + // read every entry in ConnectedDids and ConnectedAccounts + connected_dids + .saturating_add(connected_accounts) + // read the storage version + .saturating_add(1), + // for every storage entry remove the old + put the new entries + (connected_dids.saturating_add(connected_accounts)) + .saturating_mul(2) + // +1 for updating the storage version + .saturating_add(1), + ) + } + } -impl OnRuntimeUpgrade for LookupReverseIndexMigration { #[cfg(feature = "try-runtime")] fn pre_upgrade() -> Result<(), &'static str> { assert!(Pallet::::on_chain_storage_version() < Pallet::::current_storage_version()); - assert_eq!(ConnectedAccounts::::iter().count(), 0); + // Store number of connected DIDs in temp storage + let connected_did_count: u64 = ConnectedDids::::iter_keys().count().saturated_into(); + Self::set_temp_storage(connected_did_count, "pre_connected_did_count"); log::info!( - "👥 DID lookup pallet to {:?} passes PRE migrate checks ✅", - Pallet::::current_storage_version() + "🔎 DidLookup pre migration: Number of connected DIDs {:?}", + connected_did_count ); - Ok(()) - } - - fn on_runtime_upgrade() -> frame_support::weights::Weight { - // Account for the new storage version written below. - let initial_weight = T::DbWeight::get().writes(1); - - // Origin was disabled, so there cannot be any existing links. But we check just - // to be sure. - let total_weight: Weight = - ConnectedDids::::iter().fold(initial_weight, |total_weight, (account, record)| { - ConnectedAccounts::::insert(record.did, account, ()); - // One read for the `ConnectedDids` entry, one write for the new - // `ConnectedAccounts` entry. - total_weight.saturating_add(T::DbWeight::get().reads_writes(1, 1)) - }); - - Pallet::::current_storage_version().put::>(); - + // Store number of connected accounts in temp storage + let connected_account_count: u64 = ConnectedAccounts::::iter_keys().count().saturated_into(); + Self::set_temp_storage(connected_account_count, "pre_connected_account_count"); log::info!( - "👥 completed DID lookup pallet migration to {:?} ✅", - Pallet::::current_storage_version() + "🔎 DidLookup pre migration: Number of connected accounts {:?}", + connected_account_count ); - - total_weight + Ok(()) } #[cfg(feature = "try-runtime")] @@ -70,20 +126,20 @@ impl OnRuntimeUpgrade for LookupReverseIndexMigration { Pallet::::current_storage_version() ); - // Verify DID -> Account integrity. - ConnectedDids::::iter().for_each(|(account, record)| { - assert!(ConnectedAccounts::::contains_key(record.did, account)); - }); - // Verify Account -> DID integrity. - ConnectedAccounts::::iter().for_each(|(did, account, _)| { - let entry = ConnectedDids::::get(account).expect("Should find a record for the given account."); - assert_eq!(entry.did, did); - }); - - log::info!( - "👥 DID lookup pallet to {:?} passes POST migrate checks ✅", - Pallet::::current_storage_version() + // Check number of connected DIDs and accounts against pre-check result + let pre_connected_did_count = Self::get_temp_storage("pre_connected_did_count").unwrap_or(0u64); + let pre_connected_account_count = Self::get_temp_storage("pre_connected_account_count").unwrap_or(0u64); + assert_eq!( + ConnectedDidsV2::::iter().count().saturated_into::(), + pre_connected_did_count, + "Number of connected DIDs does not match" + ); + assert_eq!( + ConnectedAccountsV2::::iter_keys().count().saturated_into::(), + pre_connected_account_count, + "Number of connected accounts does not match" ); + log::info!("🔎 DidLookup: Post migration checks successful"); Ok(()) } diff --git a/pallets/pallet-did-lookup/src/mock.rs b/pallets/pallet-did-lookup/src/mock.rs index 9838a249c..ca5f0e49f 100644 --- a/pallets/pallet-did-lookup/src/mock.rs +++ b/pallets/pallet-did-lookup/src/mock.rs @@ -28,9 +28,10 @@ use sp_runtime::{ }; use crate::{ - self as pallet_did_lookup, AccountIdOf, BalanceOf, Config, ConnectedAccounts, ConnectedDids, ConnectionRecord, - CurrencyOf, DidIdentifierOf, + self as pallet_did_lookup, linkable_account::LinkableAccountId, AccountIdOf, BalanceOf, Config, ConnectedAccounts, + ConnectedDids, ConnectionRecord, CurrencyOf, DidIdentifierOf, }; + pub(crate) type UncheckedExtrinsic = frame_system::mocking::MockUncheckedExtrinsic; pub(crate) type Block = frame_system::mocking::MockBlock; pub(crate) type Hash = sp_core::H256; @@ -110,8 +111,6 @@ parameter_types! { impl pallet_did_lookup::Config for Test { type Event = Event; - type Signature = Signature; - type Signer = AccountPublic; type Currency = Balances; type Deposit = DidLookupDeposit; @@ -133,11 +132,12 @@ pub(crate) const ACCOUNT_00: AccountId = AccountId::new([1u8; 32]); pub(crate) const ACCOUNT_01: AccountId = AccountId::new([2u8; 32]); pub(crate) const DID_00: SubjectId = SubjectId(ACCOUNT_00); pub(crate) const DID_01: SubjectId = SubjectId(ACCOUNT_01); +pub(crate) const LINKABLE_ACCOUNT_00: LinkableAccountId = LinkableAccountId::AccountId32(ACCOUNT_00); pub(crate) fn insert_raw_connection( sender: AccountIdOf, did_identifier: DidIdentifierOf, - account: AccountIdOf, + account: LinkableAccountId, deposit: BalanceOf, ) { let deposit = Deposit { @@ -164,7 +164,7 @@ pub(crate) fn insert_raw_connection( pub struct ExtBuilder { balances: Vec<(AccountId, Balance)>, /// list of connection (sender, did, connected address) - connections: Vec<(AccountId, SubjectId, AccountId)>, + connections: Vec<(AccountId, SubjectId, LinkableAccountId)>, } impl ExtBuilder { @@ -176,7 +176,7 @@ impl ExtBuilder { /// Add a connection: (sender, did, connected address) #[must_use] - pub fn with_connections(mut self, connections: Vec<(AccountId, SubjectId, AccountId)>) -> Self { + pub fn with_connections(mut self, connections: Vec<(AccountId, SubjectId, LinkableAccountId)>) -> Self { self.connections = connections; self } diff --git a/pallets/pallet-did-lookup/src/signature.rs b/pallets/pallet-did-lookup/src/signature.rs index de8317a0e..f2ab1a9af 100644 --- a/pallets/pallet-did-lookup/src/signature.rs +++ b/pallets/pallet-did-lookup/src/signature.rs @@ -16,18 +16,32 @@ // If you feel like getting in touch with us, you can do so at info@botlabs.org +use codec::alloc::string::ToString; use sp_std::vec::Vec; // According to https://github.com/polkadot-js/common/blob/5d5c7e4c0ace06e3301ccadfd3c3351955f1e251/packages/util/src/u8a/wrap.ts#L13 - const PAYLOAD_BYTES_WRAPPER_PREFIX: &[u8; 7] = b""; const PAYLOAD_BYTES_WRAPPER_POSTFIX: &[u8; 8] = b""; +const ETHEREUM_SIGNATURE_PREFIX: &[u8; 26] = b"\x19Ethereum Signed Message:\n"; +pub(crate) enum WrapType { + Substrate, + Ethereum, +} -pub(crate) fn get_wrapped_payload(payload: &[u8]) -> Vec { - PAYLOAD_BYTES_WRAPPER_PREFIX - .iter() - .chain(payload.iter()) - .chain(PAYLOAD_BYTES_WRAPPER_POSTFIX.iter()) - .copied() - .collect() +pub(crate) fn get_wrapped_payload(payload: &[u8], wrap_type: WrapType) -> Vec { + match wrap_type { + WrapType::Substrate => PAYLOAD_BYTES_WRAPPER_PREFIX + .iter() + .chain(payload.iter()) + .chain(PAYLOAD_BYTES_WRAPPER_POSTFIX.iter()) + .copied() + .collect(), + WrapType::Ethereum => ETHEREUM_SIGNATURE_PREFIX + .iter() + // eth wrapping also contains the length of the payload + .chain(payload.len().to_string().as_bytes().iter()) + .chain(payload.iter()) + .copied() + .collect(), + } } diff --git a/pallets/pallet-did-lookup/src/tests.rs b/pallets/pallet-did-lookup/src/tests.rs index cdc23f312..27864d4f1 100644 --- a/pallets/pallet-did-lookup/src/tests.rs +++ b/pallets/pallet-did-lookup/src/tests.rs @@ -17,15 +17,22 @@ // If you feel like getting in touch with us, you can do so at info@botlabs.org use codec::Encode; -use frame_support::{assert_noop, assert_ok}; +use frame_support::{assert_noop, assert_ok, crypto::ecdsa::ECDSAExt}; use kilt_support::{deposit::Deposit, mock::mock_origin}; +use sha3::{Digest, Keccak256}; use sp_runtime::{ - app_crypto::{sr25519, Pair}, + app_crypto::{ecdsa, sr25519, Pair}, traits::{IdentifyAccount, Zero}, MultiSignature, MultiSigner, }; -use crate::{mock::*, ConnectedAccounts, ConnectedDids, ConnectionRecord, Error}; +use crate::{ + account::{AccountId20, EthereumSignature}, + linkable_account::LinkableAccountId, + mock::*, + signature::get_wrapped_payload, + AssociateAccountRequest, ConnectedAccounts, ConnectedDids, ConnectionRecord, Error, +}; #[test] fn test_add_association_sender() { @@ -39,7 +46,7 @@ fn test_add_association_sender() { // new association. No overwrite assert!(DidLookup::associate_sender(mock_origin::DoubleOrigin(ACCOUNT_00, DID_00).into()).is_ok()); assert_eq!( - ConnectedDids::::get(ACCOUNT_00), + ConnectedDids::::get(LINKABLE_ACCOUNT_00), Some(ConnectionRecord { did: DID_00, deposit: Deposit { @@ -48,7 +55,7 @@ fn test_add_association_sender() { } }) ); - assert!(ConnectedAccounts::::get(DID_00, ACCOUNT_00).is_some()); + assert!(ConnectedAccounts::::get(DID_00, LINKABLE_ACCOUNT_00).is_some()); assert_eq!( Balances::reserved_balance(ACCOUNT_00), ::Deposit::get() @@ -57,7 +64,7 @@ fn test_add_association_sender() { // overwrite existing association assert!(DidLookup::associate_sender(mock_origin::DoubleOrigin(ACCOUNT_00, DID_01).into()).is_ok()); assert_eq!( - ConnectedDids::::get(ACCOUNT_00), + ConnectedDids::::get(LINKABLE_ACCOUNT_00), Some(ConnectionRecord { did: DID_01, deposit: Deposit { @@ -66,8 +73,8 @@ fn test_add_association_sender() { } }) ); - assert!(ConnectedAccounts::::get(DID_00, ACCOUNT_00).is_none()); - assert!(ConnectedAccounts::::get(DID_01, ACCOUNT_00).is_some()); + assert!(ConnectedAccounts::::get(DID_00, LINKABLE_ACCOUNT_00).is_none()); + assert!(ConnectedAccounts::::get(DID_01, LINKABLE_ACCOUNT_00).is_some()); assert_eq!( Balances::reserved_balance(ACCOUNT_00), ::Deposit::get() @@ -97,13 +104,12 @@ fn test_add_association_account() { // new association. No overwrite assert!(DidLookup::associate_account( mock_origin::DoubleOrigin(ACCOUNT_00, DID_00).into(), - account_hash_alice.clone(), + AssociateAccountRequest::Dotsama(account_hash_alice.clone(), sig_alice_0), expire_at, - sig_alice_0 ) .is_ok()); assert_eq!( - ConnectedDids::::get(&account_hash_alice), + ConnectedDids::::get(&LinkableAccountId::from(account_hash_alice.clone())), Some(ConnectionRecord { did: DID_00, deposit: Deposit { @@ -112,22 +118,26 @@ fn test_add_association_account() { } }) ); - assert!(ConnectedAccounts::::get(DID_00, &account_hash_alice).is_some()); + assert!( + ConnectedAccounts::::get(DID_00, &LinkableAccountId::from(account_hash_alice.clone())).is_some() + ); assert_eq!( Balances::reserved_balance(ACCOUNT_00), ::Deposit::get() ); // overwrite existing association - assert!(DidLookup::associate_account( + let res = DidLookup::associate_account( mock_origin::DoubleOrigin(ACCOUNT_00, DID_01).into(), - account_hash_alice.clone(), + AssociateAccountRequest::Dotsama(account_hash_alice.clone(), sig_alice_1.clone()), expire_at, - sig_alice_1.clone() - ) - .is_ok()); + ); + if let Err(err) = res { + println!("Error overwriting association: {:?}", err); + } + assert!(res.is_ok()); assert_eq!( - ConnectedDids::::get(&account_hash_alice), + ConnectedDids::::get(&LinkableAccountId::from(account_hash_alice.clone())), Some(ConnectionRecord { did: DID_01, deposit: Deposit { @@ -136,8 +146,12 @@ fn test_add_association_account() { } }) ); - assert!(ConnectedAccounts::::get(DID_00, &account_hash_alice).is_none()); - assert!(ConnectedAccounts::::get(DID_01, &account_hash_alice).is_some()); + assert!( + ConnectedAccounts::::get(DID_00, &LinkableAccountId::from(account_hash_alice.clone())).is_none() + ); + assert!( + ConnectedAccounts::::get(DID_01, &LinkableAccountId::from(account_hash_alice.clone())).is_some() + ); assert_eq!( Balances::reserved_balance(ACCOUNT_00), ::Deposit::get() @@ -146,13 +160,12 @@ fn test_add_association_account() { // overwrite existing deposit assert!(DidLookup::associate_account( mock_origin::DoubleOrigin(ACCOUNT_01, DID_01).into(), - account_hash_alice.clone(), + AssociateAccountRequest::Dotsama(account_hash_alice.clone(), sig_alice_1), expire_at, - sig_alice_1 ) .is_ok()); assert_eq!( - ConnectedDids::::get(&account_hash_alice), + ConnectedDids::::get(&LinkableAccountId::from(account_hash_alice.clone())), Some(ConnectionRecord { did: DID_01, deposit: Deposit { @@ -161,8 +174,10 @@ fn test_add_association_account() { } }) ); - assert!(ConnectedAccounts::::get(DID_00, &account_hash_alice).is_none()); - assert!(ConnectedAccounts::::get(DID_01, &account_hash_alice).is_some()); + assert!( + ConnectedAccounts::::get(DID_00, &LinkableAccountId::from(account_hash_alice.clone())).is_none() + ); + assert!(ConnectedAccounts::::get(DID_01, &LinkableAccountId::from(account_hash_alice)).is_some()); assert_eq!(Balances::reserved_balance(ACCOUNT_00), 0); assert_eq!( Balances::reserved_balance(ACCOUNT_01), @@ -171,6 +186,51 @@ fn test_add_association_account() { }); } +#[test] +fn test_add_eth_association() { + ExtBuilder::default() + .with_balances(vec![ + (ACCOUNT_00, ::Deposit::get() * 50), + (ACCOUNT_01, ::Deposit::get() * 50), + ]) + .build() + .execute_with(|| { + let expire_at: BlockNumber = 500; + let eth_pair = ecdsa::Pair::generate().0; + let eth_account = AccountId20(eth_pair.public().to_eth_address().unwrap()); + + let wrapped_payload = get_wrapped_payload( + &Encode::encode(&(&DID_00, expire_at))[..], + crate::signature::WrapType::Ethereum, + ); + + let sig = eth_pair.sign_prehashed(&Keccak256::digest(&wrapped_payload).try_into().unwrap()); + + // new association. No overwrite + let res = DidLookup::associate_account( + mock_origin::DoubleOrigin(ACCOUNT_00, DID_00).into(), + AssociateAccountRequest::Ethereum(eth_account, EthereumSignature::from(sig)), + expire_at, + ); + assert!(res.is_ok()); + assert_eq!( + ConnectedDids::::get(&LinkableAccountId::from(eth_account)), + Some(ConnectionRecord { + did: DID_00, + deposit: Deposit { + owner: ACCOUNT_00, + amount: 10, + } + }) + ); + assert!(ConnectedAccounts::::get(DID_00, &LinkableAccountId::from(eth_account)).is_some()); + assert_eq!( + Balances::reserved_balance(ACCOUNT_00), + ::Deposit::get() + ); + }); +} + #[test] fn test_add_association_account_invalid_signature() { ExtBuilder::default() @@ -189,9 +249,8 @@ fn test_add_association_account_invalid_signature() { assert_noop!( DidLookup::associate_account( mock_origin::DoubleOrigin(ACCOUNT_00, DID_01).into(), - account_hash_alice, + AssociateAccountRequest::Dotsama(account_hash_alice, sig_alice_0), expire_at, - sig_alice_0 ), Error::::NotAuthorized ); @@ -218,9 +277,8 @@ fn test_add_association_account_expired() { assert_noop!( DidLookup::associate_account( mock_origin::DoubleOrigin(ACCOUNT_00, DID_01).into(), - account_hash_alice, + AssociateAccountRequest::Dotsama(account_hash_alice, sig_alice_0), expire_at, - sig_alice_0 ), Error::::OutdatedProof ); @@ -234,13 +292,13 @@ fn test_remove_association_sender() { (ACCOUNT_00, ::Deposit::get() * 50), (ACCOUNT_01, ::Deposit::get() * 50), ]) - .with_connections(vec![(ACCOUNT_00, DID_01, ACCOUNT_00)]) + .with_connections(vec![(ACCOUNT_00, DID_01, LINKABLE_ACCOUNT_00)]) .build() .execute_with(|| { // remove association assert!(DidLookup::remove_sender_association(Origin::signed(ACCOUNT_00)).is_ok()); - assert_eq!(ConnectedDids::::get(ACCOUNT_00), None); - assert!(ConnectedAccounts::::get(DID_01, ACCOUNT_00).is_none()); + assert_eq!(ConnectedDids::::get(&LinkableAccountId::from(ACCOUNT_00)), None); + assert!(ConnectedAccounts::::get(DID_01, &LinkableAccountId::from(ACCOUNT_00)).is_none()); assert_eq!(Balances::reserved_balance(ACCOUNT_00), 0); }); } @@ -268,16 +326,16 @@ fn test_remove_association_account() { (ACCOUNT_00, ::Deposit::get() * 50), (ACCOUNT_01, ::Deposit::get() * 50), ]) - .with_connections(vec![(ACCOUNT_01, DID_01, ACCOUNT_00)]) + .with_connections(vec![(ACCOUNT_01, DID_01, LINKABLE_ACCOUNT_00)]) .build() .execute_with(|| { assert!(DidLookup::remove_account_association( mock_origin::DoubleOrigin(ACCOUNT_00, DID_01).into(), - ACCOUNT_00 + LinkableAccountId::from(ACCOUNT_00.clone()) ) .is_ok()); - assert_eq!(ConnectedDids::::get(ACCOUNT_00), None); - assert!(ConnectedAccounts::::get(DID_01, ACCOUNT_00).is_none()); + assert_eq!(ConnectedDids::::get(&LinkableAccountId::from(ACCOUNT_00)), None); + assert!(ConnectedAccounts::::get(DID_01, &LinkableAccountId::from(ACCOUNT_00)).is_none()); assert_eq!(Balances::reserved_balance(ACCOUNT_01), 0); }); } @@ -291,10 +349,13 @@ fn test_remove_association_account_not_found() { ]) .build() .execute_with(|| { - assert_eq!(ConnectedDids::::get(ACCOUNT_00), None); + assert_eq!(ConnectedDids::::get(&LinkableAccountId::from(ACCOUNT_00)), None); assert_noop!( - DidLookup::remove_account_association(mock_origin::DoubleOrigin(ACCOUNT_01, DID_01).into(), ACCOUNT_00), + DidLookup::remove_account_association( + mock_origin::DoubleOrigin(ACCOUNT_01, DID_01).into(), + LinkableAccountId::from(ACCOUNT_00) + ), Error::::AssociationNotFound ); }); @@ -307,11 +368,14 @@ fn test_remove_association_account_not_authorized() { (ACCOUNT_00, ::Deposit::get() * 50), (ACCOUNT_01, ::Deposit::get() * 50), ]) - .with_connections(vec![(ACCOUNT_01, DID_01, ACCOUNT_00)]) + .with_connections(vec![(ACCOUNT_01, DID_01, LINKABLE_ACCOUNT_00)]) .build() .execute_with(|| { assert_noop!( - DidLookup::remove_account_association(mock_origin::DoubleOrigin(ACCOUNT_01, DID_00).into(), ACCOUNT_00), + DidLookup::remove_account_association( + mock_origin::DoubleOrigin(ACCOUNT_01, DID_00).into(), + ACCOUNT_00.into() + ), Error::::NotAuthorized ); assert_eq!( @@ -328,10 +392,13 @@ fn test_reclaim_deposit() { (ACCOUNT_00, ::Deposit::get() * 50), (ACCOUNT_01, ::Deposit::get() * 50), ]) - .with_connections(vec![(ACCOUNT_01, DID_01, ACCOUNT_00)]) + .with_connections(vec![(ACCOUNT_01, DID_01, LINKABLE_ACCOUNT_00)]) .build() .execute_with(|| { - assert_ok!(DidLookup::reclaim_deposit(Origin::signed(ACCOUNT_01), ACCOUNT_00)); + assert_ok!(DidLookup::reclaim_deposit( + Origin::signed(ACCOUNT_01), + ACCOUNT_00.into() + )); assert_eq!(Balances::reserved_balance(ACCOUNT_01), 0); }); } @@ -343,11 +410,11 @@ fn test_reclaim_deposit_not_authorized() { (ACCOUNT_00, ::Deposit::get() * 50), (ACCOUNT_01, ::Deposit::get() * 50), ]) - .with_connections(vec![(ACCOUNT_01, DID_01, ACCOUNT_00)]) + .with_connections(vec![(ACCOUNT_01, DID_01, LINKABLE_ACCOUNT_00)]) .build() .execute_with(|| { assert_noop!( - DidLookup::reclaim_deposit(Origin::signed(ACCOUNT_00), ACCOUNT_00), + DidLookup::reclaim_deposit(Origin::signed(ACCOUNT_00), ACCOUNT_00.into()), Error::::NotAuthorized ); assert_eq!( @@ -367,12 +434,12 @@ fn test_change_deposit_owner() { (ACCOUNT_00, ::Deposit::get() * 50), (ACCOUNT_01, ::Deposit::get() * 50), ]) - .with_connections(vec![(ACCOUNT_00, DID_00, ACCOUNT_00)]) + .with_connections(vec![(ACCOUNT_00, DID_00, LINKABLE_ACCOUNT_00)]) .build() .execute_with(|| { assert_ok!(DidLookup::change_deposit_owner( mock_origin::DoubleOrigin(ACCOUNT_01, DID_00).into(), - ACCOUNT_00 + ACCOUNT_00.into() )); assert!(Balances::reserved_balance(ACCOUNT_00).is_zero()); assert_eq!( @@ -386,11 +453,14 @@ fn test_change_deposit_owner() { fn test_change_deposit_owner_insufficient_balance() { ExtBuilder::default() .with_balances(vec![(ACCOUNT_00, ::Deposit::get() * 50)]) - .with_connections(vec![(ACCOUNT_00, DID_00, ACCOUNT_00)]) + .with_connections(vec![(ACCOUNT_00, DID_00, LINKABLE_ACCOUNT_00)]) .build() .execute_with(|| { assert_noop!( - DidLookup::change_deposit_owner(mock_origin::DoubleOrigin(ACCOUNT_01, DID_00).into(), ACCOUNT_00), + DidLookup::change_deposit_owner( + mock_origin::DoubleOrigin(ACCOUNT_01, DID_00).into(), + ACCOUNT_00.into() + ), pallet_balances::Error::::InsufficientBalance ); }) @@ -403,7 +473,10 @@ fn test_change_deposit_owner_not_found() { .build() .execute_with(|| { assert_noop!( - DidLookup::change_deposit_owner(mock_origin::DoubleOrigin(ACCOUNT_01, DID_00).into(), ACCOUNT_00), + DidLookup::change_deposit_owner( + mock_origin::DoubleOrigin(ACCOUNT_01, DID_00).into(), + ACCOUNT_00.into() + ), Error::::AssociationNotFound ); }) @@ -413,11 +486,14 @@ fn test_change_deposit_owner_not_found() { fn test_change_deposit_owner_not_authorized() { ExtBuilder::default() .with_balances(vec![(ACCOUNT_00, ::Deposit::get() * 50)]) - .with_connections(vec![(ACCOUNT_00, DID_00, ACCOUNT_00)]) + .with_connections(vec![(ACCOUNT_00, DID_00, LINKABLE_ACCOUNT_00)]) .build() .execute_with(|| { assert_noop!( - DidLookup::change_deposit_owner(mock_origin::DoubleOrigin(ACCOUNT_01, DID_01).into(), ACCOUNT_00), + DidLookup::change_deposit_owner( + mock_origin::DoubleOrigin(ACCOUNT_01, DID_01).into(), + ACCOUNT_00.into() + ), Error::::NotAuthorized ); }) @@ -435,14 +511,14 @@ fn test_update_deposit() { insert_raw_connection::( ACCOUNT_00, DID_00, - ACCOUNT_00, + ACCOUNT_00.into(), ::Deposit::get() * 2, ); assert_eq!( Balances::reserved_balance(ACCOUNT_00), ::Deposit::get() * 2 ); - assert_ok!(DidLookup::update_deposit(Origin::signed(ACCOUNT_00), ACCOUNT_00)); + assert_ok!(DidLookup::update_deposit(Origin::signed(ACCOUNT_00), ACCOUNT_00.into())); assert_eq!( Balances::reserved_balance(ACCOUNT_00), ::Deposit::get() @@ -462,7 +538,7 @@ fn test_update_deposit_unauthorized() { insert_raw_connection::( ACCOUNT_00, DID_00, - ACCOUNT_00, + ACCOUNT_00.into(), ::Deposit::get() * 2, ); assert_eq!( @@ -470,7 +546,7 @@ fn test_update_deposit_unauthorized() { ::Deposit::get() * 2 ); assert_noop!( - DidLookup::update_deposit(Origin::signed(ACCOUNT_01), ACCOUNT_00), + DidLookup::update_deposit(Origin::signed(ACCOUNT_01), ACCOUNT_00.into()), Error::::NotAuthorized ); }) diff --git a/pallets/parachain-staking/src/migration.rs b/pallets/parachain-staking/src/migration.rs index 2b8e74cc5..93662db5d 100644 --- a/pallets/parachain-staking/src/migration.rs +++ b/pallets/parachain-staking/src/migration.rs @@ -16,6 +16,8 @@ // If you feel like getting in touch with us, you can do so at info@botlabs.org +#![cfg_attr(not(feature = "std"), no_std)] + use crate::{ set::OrderedSet, types::{BalanceOf, Delegator, Stake}, diff --git a/runtime-api/did/src/lib.rs b/runtime-api/did/src/lib.rs index d652d3c21..87efc74dc 100644 --- a/runtime-api/did/src/lib.rs +++ b/runtime-api/did/src/lib.rs @@ -32,6 +32,7 @@ pub use service_endpoint::*; pub struct DidLinkedInfo< DidIdentifier, AccountId, + LinkableAccountId, Web3Name, Id, Type, @@ -41,7 +42,7 @@ pub struct DidLinkedInfo< BlockNumber: MaxEncodedLen, > { pub identifier: DidIdentifier, - pub accounts: Vec, + pub accounts: Vec, pub w3n: Option, pub service_endpoints: Vec>, pub details: DidDetails, @@ -51,14 +52,25 @@ pub struct DidLinkedInfo< /// /// This will be returned by the runtime and processed by the client side RPC /// implementation. -pub type RawDidLinkedInfo = - DidLinkedInfo, Vec, Vec, Vec, Balance, Key, BlockNumber>; +pub type RawDidLinkedInfo = DidLinkedInfo< + DidIdentifier, + AccountId, + LinkableAccountId, + Vec, + Vec, + Vec, + Vec, + Balance, + Key, + BlockNumber, +>; sp_api::decl_runtime_apis! { - #[api_version(1)] + #[api_version(2)] pub trait Did where DidIdentifier: Codec, AccountId: Codec, + LinkableAccountId: Codec, BlockNumber: Codec + MaxEncodedLen, Key: Codec, Balance: Codec, @@ -69,20 +81,26 @@ sp_api::decl_runtime_apis! { /// * the web3name (optional) /// * associated accounts /// * service endpoints - fn query_by_web3_name(name: Vec) -> Option>; + #[changed_in(2)] + fn query_by_web3_name(name: Vec) -> Option>; + fn query_by_web3_name(name: Vec) -> Option>; /// Given an account address this returns: /// * the DID /// * public keys stored for the did /// * the web3name (optional) /// * associated accounts /// * service endpoints - fn query_by_account(account: AccountId) -> Option>; + #[changed_in(2)] + fn query_by_account(account: AccountId) -> Option>; + fn query_by_account(account: LinkableAccountId) -> Option>; /// Given a did this returns: /// * the DID /// * public keys stored for the did /// * the web3name (optional) /// * associated accounts /// * service endpoints - fn query(did: DidIdentifier) -> Option>; + #[changed_in(2)] + fn query(did: DidIdentifier) -> Option>; + fn query(did: DidIdentifier) -> Option>; } } diff --git a/runtimes/clone/src/lib.rs b/runtimes/clone/src/lib.rs index 70cc807a1..0b472c31c 100644 --- a/runtimes/clone/src/lib.rs +++ b/runtimes/clone/src/lib.rs @@ -32,6 +32,7 @@ use frame_support::{ PalletId, }; use frame_system::EnsureRoot; +use pallet_did_lookup::linkable_account::LinkableAccountId; use sp_api::impl_runtime_apis; use sp_core::OpaqueMetadata; use sp_runtime::{ @@ -534,7 +535,7 @@ impl_runtime_apis! { Block, AccountId, AccountId, - AccountId, + LinkableAccountId, Balance, Hash, BlockNumber @@ -542,6 +543,7 @@ impl_runtime_apis! { fn query_by_web3_name(_: Vec) -> Option Option< + fn query_by_account(_: LinkableAccountId) -> Option< kilt_runtime_api_did::RawDidLinkedInfo< AccountId, AccountId, + LinkableAccountId, Balance, Hash, BlockNumber @@ -566,6 +569,7 @@ impl_runtime_apis! { kilt_runtime_api_did::RawDidLinkedInfo< AccountId, AccountId, + LinkableAccountId, Balance, Hash, BlockNumber diff --git a/runtimes/peregrine/src/lib.rs b/runtimes/peregrine/src/lib.rs index 08c677b7c..03aea7823 100644 --- a/runtimes/peregrine/src/lib.rs +++ b/runtimes/peregrine/src/lib.rs @@ -37,7 +37,7 @@ use sp_api::impl_runtime_apis; use sp_core::OpaqueMetadata; use sp_runtime::{ create_runtime_str, generic, impl_opaque_keys, - traits::{AccountIdLookup, BlakeTwo256, Block as BlockT, ConvertInto, OpaqueKeys, Verify}, + traits::{AccountIdLookup, BlakeTwo256, Block as BlockT, ConvertInto, OpaqueKeys}, transaction_validity::{TransactionSource, TransactionValidity}, ApplyExtrinsicResult, Perbill, Permill, RuntimeDebug, }; @@ -47,6 +47,7 @@ use xcm_executor::XcmExecutor; use delegation::DelegationAc; use kilt_support::traits::ItemFilter; +use pallet_did_lookup::linkable_account::LinkableAccountId; pub use parachain_staking::InflationInfo; pub use public_credentials; @@ -603,8 +604,7 @@ impl did::Config for Runtime { impl pallet_did_lookup::Config for Runtime { type Event = Event; - type Signature = Signature; - type Signer = ::Signer; + type DidIdentifier = DidIdentifier; type Currency = Balances; @@ -1167,7 +1167,7 @@ impl_runtime_apis! { Block, DidIdentifier, AccountId, - AccountId, + LinkableAccountId, Balance, Hash, BlockNumber @@ -1175,6 +1175,7 @@ impl_runtime_apis! { fn query_by_web3_name(name: Vec) -> Option Option< + fn query_by_account(account: LinkableAccountId) -> Option< kilt_runtime_api_did::RawDidLinkedInfo< DidIdentifier, AccountId, + LinkableAccountId, Balance, Hash, BlockNumber @@ -1233,6 +1235,7 @@ impl_runtime_apis! { kilt_runtime_api_did::RawDidLinkedInfo< DidIdentifier, AccountId, + LinkableAccountId, Balance, Hash, BlockNumber diff --git a/runtimes/peregrine/src/tests.rs b/runtimes/peregrine/src/tests.rs index 584a44013..ac491f507 100644 --- a/runtimes/peregrine/src/tests.rs +++ b/runtimes/peregrine/src/tests.rs @@ -20,6 +20,7 @@ use codec::MaxEncodedLen; use frame_support::{traits::Currency, BoundedVec}; use did::DeriveDidCallAuthorizationVerificationKeyRelationship; +use pallet_did_lookup::associate_account_request::AssociateAccountRequest; use pallet_treasury::BalanceOf; use pallet_web3_names::{Web3NameOf, Web3OwnershipOf}; use runtime_common::{ @@ -159,9 +160,11 @@ fn test_derive_did_key_web3name() { fn test_derive_did_key_lookup() { assert_eq!( Call::DidLookup(pallet_did_lookup::Call::associate_account { - account: AccountId::new([1u8; 32]), + req: AssociateAccountRequest::Dotsama( + AccountId::new([1u8; 32]), + sp_runtime::MultiSignature::from(sp_core::ed25519::Signature([0; 64])) + ), expiration: BlockNumber::default(), - proof: sp_runtime::MultiSignature::from(sp_core::ed25519::Signature([0; 64])), }) .derive_verification_key_relationship(), Ok(did::DidVerificationKeyRelationship::Authentication) @@ -169,7 +172,7 @@ fn test_derive_did_key_lookup() { assert_eq!( Call::DidLookup(pallet_did_lookup::Call::remove_account_association { - account: AccountId::new([1u8; 32]), + account: AccountId::new([1u8; 32]).into(), }) .derive_verification_key_relationship(), Ok(did::DidVerificationKeyRelationship::Authentication) diff --git a/runtimes/peregrine/src/weights/pallet_did_lookup.rs b/runtimes/peregrine/src/weights/pallet_did_lookup.rs index e39afb689..53893977a 100644 --- a/runtimes/peregrine/src/weights/pallet_did_lookup.rs +++ b/runtimes/peregrine/src/weights/pallet_did_lookup.rs @@ -19,7 +19,7 @@ //! Autogenerated weights for pallet_did_lookup //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-11-07, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2022-10-26, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024 // Executed Command: @@ -51,8 +51,32 @@ impl pallet_did_lookup::WeightInfo for WeightInfo { // Storage: System Account (r:1 w:1) // Storage: DidLookup ConnectedDids (r:1 w:1) // Storage: DidLookup ConnectedAccounts (r:0 w:2) - fn associate_account() -> Weight { - Weight::from_ref_time(134_609_000 as u64) + fn associate_account_multisig_sr25519() -> Weight { + Weight::from_ref_time(133_595_000 as u64) + .saturating_add(T::DbWeight::get().reads(2 as u64)) + .saturating_add(T::DbWeight::get().writes(4 as u64)) + } + // Storage: System Account (r:1 w:1) + // Storage: DidLookup ConnectedDids (r:1 w:1) + // Storage: DidLookup ConnectedAccounts (r:0 w:2) + fn associate_account_multisig_ed25519() -> Weight { + Weight::from_ref_time(131_908_000 as u64) + .saturating_add(T::DbWeight::get().reads(2 as u64)) + .saturating_add(T::DbWeight::get().writes(4 as u64)) + } + // Storage: System Account (r:1 w:1) + // Storage: DidLookup ConnectedDids (r:1 w:1) + // Storage: DidLookup ConnectedAccounts (r:0 w:2) + fn associate_account_multisig_ecdsa() -> Weight { + Weight::from_ref_time(120_240_000 as u64) + .saturating_add(T::DbWeight::get().reads(2 as u64)) + .saturating_add(T::DbWeight::get().writes(4 as u64)) + } + // Storage: System Account (r:1 w:1) + // Storage: DidLookup ConnectedDids (r:1 w:1) + // Storage: DidLookup ConnectedAccounts (r:0 w:2) + fn associate_eth_account() -> Weight { + Weight::from_ref_time(122_215_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(4 as u64)) } @@ -60,7 +84,7 @@ impl pallet_did_lookup::WeightInfo for WeightInfo { // Storage: DidLookup ConnectedDids (r:1 w:1) // Storage: DidLookup ConnectedAccounts (r:0 w:2) fn associate_sender() -> Weight { - Weight::from_ref_time(74_100_000 as u64) + Weight::from_ref_time(73_743_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(4 as u64)) } @@ -68,7 +92,7 @@ impl pallet_did_lookup::WeightInfo for WeightInfo { // Storage: System Account (r:1 w:1) // Storage: DidLookup ConnectedAccounts (r:0 w:1) fn remove_sender_association() -> Weight { - Weight::from_ref_time(53_384_000 as u64) + Weight::from_ref_time(53_056_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } @@ -76,21 +100,21 @@ impl pallet_did_lookup::WeightInfo for WeightInfo { // Storage: System Account (r:1 w:1) // Storage: DidLookup ConnectedAccounts (r:0 w:1) fn remove_account_association() -> Weight { - Weight::from_ref_time(55_181_000 as u64) + Weight::from_ref_time(55_317_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } // Storage: DidLookup ConnectedDids (r:1 w:1) // Storage: System Account (r:2 w:2) fn change_deposit_owner() -> Weight { - Weight::from_ref_time(68_935_000 as u64) + Weight::from_ref_time(68_416_000 as u64) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } // Storage: DidLookup ConnectedDids (r:1 w:1) // Storage: System Account (r:1 w:1) fn update_deposit() -> Weight { - Weight::from_ref_time(63_024_000 as u64) + Weight::from_ref_time(62_386_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } diff --git a/runtimes/spiritnet/src/lib.rs b/runtimes/spiritnet/src/lib.rs index 861232337..253a96adf 100644 --- a/runtimes/spiritnet/src/lib.rs +++ b/runtimes/spiritnet/src/lib.rs @@ -37,7 +37,7 @@ use sp_api::impl_runtime_apis; use sp_core::OpaqueMetadata; use sp_runtime::{ create_runtime_str, generic, impl_opaque_keys, - traits::{AccountIdLookup, BlakeTwo256, Block as BlockT, ConvertInto, OpaqueKeys, Verify}, + traits::{AccountIdLookup, BlakeTwo256, Block as BlockT, ConvertInto, OpaqueKeys}, transaction_validity::{TransactionSource, TransactionValidity}, ApplyExtrinsicResult, Perbill, Permill, RuntimeDebug, }; @@ -46,6 +46,7 @@ use sp_version::RuntimeVersion; use xcm_executor::XcmExecutor; use delegation::DelegationAc; +use pallet_did_lookup::linkable_account::LinkableAccountId; pub use parachain_staking::InflationInfo; use runtime_common::{ @@ -596,8 +597,7 @@ impl did::Config for Runtime { impl pallet_did_lookup::Config for Runtime { type Event = Event; - type Signature = Signature; - type Signer = ::Signer; + type DidIdentifier = DidIdentifier; type Currency = Balances; @@ -1130,7 +1130,7 @@ impl_runtime_apis! { Block, DidIdentifier, AccountId, - AccountId, + LinkableAccountId, Balance, Hash, BlockNumber @@ -1138,6 +1138,7 @@ impl_runtime_apis! { fn query_by_web3_name(name: Vec) -> Option Option< + fn query_by_account(account: LinkableAccountId) -> Option< kilt_runtime_api_did::RawDidLinkedInfo< DidIdentifier, AccountId, + LinkableAccountId, Balance, Hash, BlockNumber @@ -1196,6 +1198,7 @@ impl_runtime_apis! { kilt_runtime_api_did::RawDidLinkedInfo< DidIdentifier, AccountId, + LinkableAccountId, Balance, Hash, BlockNumber diff --git a/runtimes/spiritnet/src/tests.rs b/runtimes/spiritnet/src/tests.rs index ae7f54879..02d14626d 100644 --- a/runtimes/spiritnet/src/tests.rs +++ b/runtimes/spiritnet/src/tests.rs @@ -20,6 +20,7 @@ use codec::MaxEncodedLen; use frame_support::{traits::Currency, BoundedVec}; use did::DeriveDidCallAuthorizationVerificationKeyRelationship; +use pallet_did_lookup::associate_account_request::AssociateAccountRequest; use pallet_treasury::BalanceOf; use pallet_web3_names::{Web3NameOf, Web3OwnershipOf}; use runtime_common::{ @@ -144,9 +145,11 @@ fn test_derive_did_key_web3name() { fn test_derive_did_key_lookup() { assert_eq!( Call::DidLookup(pallet_did_lookup::Call::associate_account { - account: AccountId::new([1u8; 32]), + req: AssociateAccountRequest::Dotsama( + AccountId::new([1u8; 32]), + sp_runtime::MultiSignature::from(sp_core::ed25519::Signature([0; 64])) + ), expiration: BlockNumber::default(), - proof: sp_runtime::MultiSignature::from(sp_core::ed25519::Signature([0; 64])), }) .derive_verification_key_relationship(), Ok(did::DidVerificationKeyRelationship::Authentication) @@ -154,7 +157,7 @@ fn test_derive_did_key_lookup() { assert_eq!( Call::DidLookup(pallet_did_lookup::Call::remove_account_association { - account: AccountId::new([1u8; 32]), + account: AccountId::new([1u8; 32]).into(), }) .derive_verification_key_relationship(), Ok(did::DidVerificationKeyRelationship::Authentication) diff --git a/runtimes/spiritnet/src/weights/pallet_did_lookup.rs b/runtimes/spiritnet/src/weights/pallet_did_lookup.rs index 63d0329ad..27a327ef2 100644 --- a/runtimes/spiritnet/src/weights/pallet_did_lookup.rs +++ b/runtimes/spiritnet/src/weights/pallet_did_lookup.rs @@ -51,8 +51,32 @@ impl pallet_did_lookup::WeightInfo for WeightInfo { // Storage: System Account (r:1 w:1) // Storage: DidLookup ConnectedDids (r:1 w:1) // Storage: DidLookup ConnectedAccounts (r:0 w:2) - fn associate_account() -> Weight { - Weight::from_ref_time(131_772_000 as u64) + fn associate_account_multisig_sr25519() -> Weight { + Weight::from_ref_time(133_866_000 as u64) + .saturating_add(T::DbWeight::get().reads(2 as u64)) + .saturating_add(T::DbWeight::get().writes(4 as u64)) + } + // Storage: System Account (r:1 w:1) + // Storage: DidLookup ConnectedDids (r:1 w:1) + // Storage: DidLookup ConnectedAccounts (r:0 w:2) + fn associate_account_multisig_ed25519() -> Weight { + Weight::from_ref_time(132_369_000 as u64) + .saturating_add(T::DbWeight::get().reads(2 as u64)) + .saturating_add(T::DbWeight::get().writes(4 as u64)) + } + // Storage: System Account (r:1 w:1) + // Storage: DidLookup ConnectedDids (r:1 w:1) + // Storage: DidLookup ConnectedAccounts (r:0 w:2) + fn associate_account_multisig_ecdsa() -> Weight { + Weight::from_ref_time(121_141_000 as u64) + .saturating_add(T::DbWeight::get().reads(2 as u64)) + .saturating_add(T::DbWeight::get().writes(4 as u64)) + } + // Storage: System Account (r:1 w:1) + // Storage: DidLookup ConnectedDids (r:1 w:1) + // Storage: DidLookup ConnectedAccounts (r:0 w:2) + fn associate_eth_account() -> Weight { + Weight::from_ref_time(122_417_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(4 as u64)) } diff --git a/runtimes/standalone/src/lib.rs b/runtimes/standalone/src/lib.rs index fe1e3200a..faf7fdbb4 100644 --- a/runtimes/standalone/src/lib.rs +++ b/runtimes/standalone/src/lib.rs @@ -42,7 +42,7 @@ use sp_consensus_aura::{ed25519::AuthorityId as AuraId, SlotDuration}; use sp_core::{crypto::KeyTypeId, OpaqueMetadata}; use sp_runtime::{ create_runtime_str, generic, impl_opaque_keys, - traits::{AccountIdLookup, BlakeTwo256, Block as BlockT, NumberFor, OpaqueKeys, Verify}, + traits::{AccountIdLookup, BlakeTwo256, Block as BlockT, NumberFor, OpaqueKeys}, transaction_validity::{TransactionSource, TransactionValidity}, ApplyExtrinsicResult, RuntimeDebug, }; @@ -51,6 +51,7 @@ use sp_version::RuntimeVersion; use delegation::DelegationAc; use kilt_support::traits::ItemFilter; +use pallet_did_lookup::linkable_account::LinkableAccountId; use runtime_common::{ assets::{AssetDid, PublicCredentialsFilter}, authorization::{AuthorizationId, PalletAuthorize}, @@ -412,8 +413,7 @@ impl did::Config for Runtime { impl pallet_did_lookup::Config for Runtime { type Event = Event; - type Signature = Signature; - type Signer = ::Signer; + type DidIdentifier = DidIdentifier; type Currency = Balances; @@ -912,7 +912,7 @@ impl_runtime_apis! { Block, DidIdentifier, AccountId, - AccountId, + LinkableAccountId, Balance, Hash, BlockNumber @@ -920,6 +920,7 @@ impl_runtime_apis! { fn query_by_web3_name(name: Vec) -> Option::get(&owner_info.owner).map(|details| (owner_info, details)) }) .map(|(owner_info, details)| { - let accounts = pallet_did_lookup::ConnectedAccounts::::iter_key_prefix(&owner_info.owner).collect(); + let accounts = pallet_did_lookup::ConnectedAccounts::::iter_key_prefix( + &owner_info.owner, + ).collect(); let service_endpoints = did::ServiceEndpoints::::iter_prefix(&owner_info.owner).map(|e| From::from(e.1)).collect(); kilt_runtime_api_did::RawDidLinkedInfo{ @@ -944,10 +947,11 @@ impl_runtime_apis! { }) } - fn query_by_account(account: AccountId) -> Option< + fn query_by_account(account: LinkableAccountId) -> Option< kilt_runtime_api_did::RawDidLinkedInfo< DidIdentifier, AccountId, + LinkableAccountId, Balance, Hash, BlockNumber @@ -976,6 +980,7 @@ impl_runtime_apis! { kilt_runtime_api_did::RawDidLinkedInfo< DidIdentifier, AccountId, + LinkableAccountId, Balance, Hash, BlockNumber From 6185e9466004d54e42dddf20cee023df4a65ac35 Mon Sep 17 00:00:00 2001 From: William Freudenberger Date: Mon, 14 Nov 2022 11:54:31 +0100 Subject: [PATCH 12/38] Revert "feat: remove public credentials from spiritnet" This reverts commit 6d4fcc694be5996e903cf824056071ee2b135645. --- Cargo.lock | 2 + runtimes/spiritnet/Cargo.toml | 6 ++ runtimes/spiritnet/src/lib.rs | 52 +++++++++ runtimes/spiritnet/src/tests.rs | 17 ++- runtimes/spiritnet/src/weights/mod.rs | 1 + .../src/weights/public_credentials.rs | 102 ++++++++++++++++++ 6 files changed, 179 insertions(+), 1 deletion(-) create mode 100644 runtimes/spiritnet/src/weights/public_credentials.rs diff --git a/Cargo.lock b/Cargo.lock index c00bea81e..f73dd9439 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -10781,6 +10781,7 @@ dependencies = [ "frame-try-runtime", "hex-literal", "kilt-runtime-api-did", + "kilt-runtime-api-public-credentials", "kilt-runtime-api-staking", "kilt-support", "log", @@ -10810,6 +10811,7 @@ dependencies = [ "parachain-info", "parachain-staking", "parity-scale-codec", + "public-credentials", "runtime-common", "scale-info", "sp-api", diff --git a/runtimes/spiritnet/Cargo.toml b/runtimes/spiritnet/Cargo.toml index 802297525..389b1d2bb 100644 --- a/runtimes/spiritnet/Cargo.toml +++ b/runtimes/spiritnet/Cargo.toml @@ -26,6 +26,7 @@ hex-literal = {workspace = true, optional = true} # RPC & Runtime API frame-system-rpc-runtime-api.workspace = true kilt-runtime-api-did.workspace = true +kilt-runtime-api-public-credentials.workspace = true kilt-runtime-api-staking.workspace = true pallet-transaction-payment-rpc-runtime-api.workspace = true @@ -39,6 +40,7 @@ pallet-did-lookup.workspace = true pallet-inflation.workspace = true pallet-web3-names.workspace = true parachain-staking.workspace = true +public-credentials.workspace = true runtime-common.workspace = true # Substrate dependencies @@ -134,6 +136,7 @@ runtime-benchmarks = [ "pallet-vesting/runtime-benchmarks", "pallet-web3-names/runtime-benchmarks", "parachain-staking/runtime-benchmarks", + "public-credentials/runtime-benchmarks", "runtime-common/runtime-benchmarks", "sp-runtime/runtime-benchmarks", "xcm-builder/runtime-benchmarks", @@ -159,6 +162,7 @@ std = [ "frame-system/std", "frame-try-runtime/std", "kilt-runtime-api-did/std", + "kilt-runtime-api-public-credentials/std", "kilt-runtime-api-staking/std", "kilt-support/std", "log/std", @@ -187,6 +191,7 @@ std = [ "pallet-xcm/std", "parachain-info/std", "parachain-staking/std", + "public-credentials/std", "runtime-common/std", "scale-info/std", "sp-api/std", @@ -243,5 +248,6 @@ try-runtime = [ "pallet-xcm/try-runtime", "parachain-info/try-runtime", "parachain-staking/try-runtime", + "public-credentials/try-runtime", "runtime-common/try-runtime", ] diff --git a/runtimes/spiritnet/src/lib.rs b/runtimes/spiritnet/src/lib.rs index 253a96adf..5e10aac9f 100644 --- a/runtimes/spiritnet/src/lib.rs +++ b/runtimes/spiritnet/src/lib.rs @@ -46,12 +46,16 @@ use sp_version::RuntimeVersion; use xcm_executor::XcmExecutor; use delegation::DelegationAc; +use kilt_support::traits::ItemFilter; use pallet_did_lookup::linkable_account::LinkableAccountId; pub use parachain_staking::InflationInfo; +pub use public_credentials; use runtime_common::{ + assets::{AssetDid, PublicCredentialsFilter}, authorization::{AuthorizationId, PalletAuthorize}, constants::{self, EXISTENTIAL_DEPOSIT, KILT}, + errors::PublicCredentialsApiError, fees::{ToAuthor, WeightToFee}, pallet_id, AccountId, AuthorityId, Balance, BlockHashCount, BlockLength, BlockNumber, BlockWeights, DidIdentifier, FeeSplit, Hash, Header, Index, Signature, SlowAdjustingFeeUpdate, @@ -666,6 +670,23 @@ impl pallet_utility::Config for Runtime { impl pallet_randomness_collective_flip::Config for Runtime {} +impl public_credentials::Config for Runtime { + type AccessControl = PalletAuthorize>; + type AttesterId = DidIdentifier; + type AuthorizationId = AuthorizationId<::DelegationNodeId>; + type CredentialId = Hash; + type CredentialHash = BlakeTwo256; + type Currency = Balances; + type Deposit = runtime_common::constants::public_credentials::Deposit; + type EnsureOrigin = did::EnsureDidOrigin; + type MaxEncodedClaimsLength = runtime_common::constants::public_credentials::MaxEncodedClaimsLength; + type MaxSubjectIdLength = runtime_common::constants::public_credentials::MaxSubjectIdLength; + type OriginSuccess = did::DidRawOrigin; + type Event = Event; + type SubjectId = runtime_common::assets::AssetDid; + type WeightInfo = weights::public_credentials::WeightInfo; +} + /// The type used to represent the kinds of proxying allowed. #[derive( Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Encode, Decode, RuntimeDebug, MaxEncodedLen, scale_info::TypeInfo, @@ -717,6 +738,7 @@ impl InstanceFilter for ProxyType { // Excludes `ParachainSystem` | Call::Preimage(..) | Call::Proxy(..) + | Call::PublicCredentials(..) | Call::Scheduler(..) | Call::Session(..) | Call::System(..) @@ -788,6 +810,15 @@ impl InstanceFilter for ProxyType { // Excludes `ParachainSystem` | Call::Preimage(..) | Call::Proxy(..) + | Call::PublicCredentials( + // Excludes `reclaim_deposit` + public_credentials::Call::add { .. } + | public_credentials::Call::revoke { .. } + | public_credentials::Call::unrevoke { .. } + | public_credentials::Call::remove { .. } + | public_credentials::Call::update_deposit { .. } + | public_credentials::Call::change_deposit_owner { .. } + ) | Call::Scheduler(..) | Call::Session(..) // Excludes `Sudo` @@ -920,6 +951,7 @@ construct_runtime! { Inflation: pallet_inflation = 66, DidLookup: pallet_did_lookup = 67, Web3Names: pallet_web3_names = 68, + PublicCredentials: public_credentials = 69, // Parachains pallets. Start indices at 80 to leave room. @@ -967,6 +999,7 @@ impl did::DeriveDidCallAuthorizationVerificationKeyRelationship for Call { Call::Did(did::Call::create { .. }) => Err(did::RelationshipDeriveError::NotCallableByDid), Call::Did { .. } => Ok(did::DidVerificationKeyRelationship::Authentication), Call::Web3Names { .. } => Ok(did::DidVerificationKeyRelationship::Authentication), + Call::PublicCredentials { .. } => Ok(did::DidVerificationKeyRelationship::AssertionMethod), Call::DidLookup { .. } => Ok(did::DidVerificationKeyRelationship::Authentication), Call::Utility(pallet_utility::Call::batch { calls }) => single_key_relationship(&calls[..]), Call::Utility(pallet_utility::Call::batch_all { calls }) => single_key_relationship(&calls[..]), @@ -1219,6 +1252,23 @@ impl_runtime_apis! { } } + impl kilt_runtime_api_public_credentials::PublicCredentials, Hash, public_credentials::CredentialEntry::DelegationNodeId>>, PublicCredentialsFilter, PublicCredentialsApiError> for Runtime { + fn get_by_id(credential_id: Hash) -> Option::DelegationNodeId>>> { + let subject = public_credentials::CredentialSubjects::::get(&credential_id)?; + public_credentials::Credentials::::get(&subject, &credential_id) + } + + fn get_by_subject(subject: Vec, filter: Option>) -> Result::DelegationNodeId>>)>, PublicCredentialsApiError> { + let asset_did = AssetDid::try_from(subject).map_err(|_| PublicCredentialsApiError::InvalidSubjectId)?; + let credentials_prefix = public_credentials::Credentials::::iter_prefix(&asset_did); + if let Some(filter) = filter { + Ok(credentials_prefix.filter(|(_, entry)| filter.should_include(entry)).collect()) + } else { + Ok(credentials_prefix.collect()) + } + } + } + impl kilt_runtime_api_staking::Staking for Runtime { fn get_unclaimed_staking_rewards(account: &AccountId) -> Balance { ParachainStaking::get_unclaimed_staking_rewards(account) @@ -1270,6 +1320,7 @@ impl_runtime_apis! { list_benchmark!(list, extra, pallet_inflation, Inflation); list_benchmark!(list, extra, parachain_staking, ParachainStaking); list_benchmark!(list, extra, pallet_web3_names, Web3Names); + list_benchmark!(list, extra, public_credentials, PublicCredentials); let storage_info = AllPalletsWithSystem::storage_info(); @@ -1336,6 +1387,7 @@ impl_runtime_apis! { add_benchmark!(params, batches, pallet_inflation, Inflation); add_benchmark!(params, batches, parachain_staking, ParachainStaking); add_benchmark!(params, batches, pallet_web3_names, Web3Names); + add_benchmark!(params, batches, public_credentials, PublicCredentials); // No benchmarks for these pallets // add_benchmark!(params, batches, cumulus_pallet_parachain_system, ParachainSystem); diff --git a/runtimes/spiritnet/src/tests.rs b/runtimes/spiritnet/src/tests.rs index 02d14626d..c720ae2d9 100644 --- a/runtimes/spiritnet/src/tests.rs +++ b/runtimes/spiritnet/src/tests.rs @@ -26,7 +26,8 @@ use pallet_web3_names::{Web3NameOf, Web3OwnershipOf}; use runtime_common::{ constants::{ attestation::MAX_ATTESTATION_BYTE_LENGTH, did::MAX_DID_BYTE_LENGTH, did_lookup::MAX_CONNECTION_BYTE_LENGTH, - web3_names::MAX_NAME_BYTE_LENGTH, MAX_INDICES_BYTE_LENGTH, + public_credentials::MAX_PUBLIC_CREDENTIAL_STORAGE_LENGTH, web3_names::MAX_NAME_BYTE_LENGTH, + MAX_INDICES_BYTE_LENGTH, }, AccountId, BlockNumber, }; @@ -101,6 +102,20 @@ fn indices_storage_sizes() { assert_eq!(size, MAX_INDICES_BYTE_LENGTH as usize) } +#[test] +fn public_credentials_storage_sizes() { + // Stored in Credentials + let credential_entry_max_size = public_credentials::CredentialEntryOf::::max_encoded_len(); + // Stored in CredentialsUnicityIndex + let subject_id_max_size = ::SubjectId::max_encoded_len(); + + // Each credential would have a different deposit, so no multiplier here + assert_eq!( + credential_entry_max_size + subject_id_max_size, + MAX_PUBLIC_CREDENTIAL_STORAGE_LENGTH as usize + ) +} + #[test] fn test_derive_did_verification_relation_ctype() { let c1 = Call::Ctype(ctype::Call::add { diff --git a/runtimes/spiritnet/src/weights/mod.rs b/runtimes/spiritnet/src/weights/mod.rs index 29b65e432..a4e81bea0 100644 --- a/runtimes/spiritnet/src/weights/mod.rs +++ b/runtimes/spiritnet/src/weights/mod.rs @@ -39,3 +39,4 @@ pub mod pallet_utility; pub mod pallet_vesting; pub mod pallet_web3_names; pub mod parachain_staking; +pub mod public_credentials; diff --git a/runtimes/spiritnet/src/weights/public_credentials.rs b/runtimes/spiritnet/src/weights/public_credentials.rs new file mode 100644 index 000000000..7387a76f7 --- /dev/null +++ b/runtimes/spiritnet/src/weights/public_credentials.rs @@ -0,0 +1,102 @@ +// KILT Blockchain – https://botlabs.org +// Copyright (C) 2019-2022 BOTLabs GmbH + +// The KILT Blockchain 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. + +// The KILT Blockchain 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 this program. If not, see . + +// If you feel like getting in touch with us, you can do so at info@botlabs.org + +//! Autogenerated weights for public_credentials +//! +//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev +//! DATE: 2022-10-26, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("spiritnet-dev"), DB CACHE: 1024 + +// Executed Command: +// ./target/release/kilt-parachain +// benchmark +// pallet +// --chain=spiritnet-dev +// --steps=50 +// --repeat=20 +// --pallet=public-credentials +// --extrinsic=* +// --execution=wasm +// --wasm-execution=compiled +// --heap-pages=4096 +// --output=./runtimes/spiritnet/src/weights/public_credentials.rs +// --template=.maintain/runtime-weight-template.hbs + +#![cfg_attr(rustfmt, rustfmt_skip)] +#![allow(unused_parens)] +#![allow(unused_imports)] +#![allow(clippy::unnecessary_cast)] + +use frame_support::{traits::Get, weights::Weight}; +use sp_std::marker::PhantomData; + +/// Weights for `public_credentials`. +pub struct WeightInfo(PhantomData); +impl public_credentials::WeightInfo for WeightInfo { + // Storage: Ctype Ctypes (r:1 w:0) + // Storage: PublicCredentials Credentials (r:1 w:1) + // Storage: System Account (r:1 w:1) + // Storage: PublicCredentials CredentialSubjects (r:0 w:1) + fn add(c: u32, ) -> Weight { + Weight::from_ref_time(72_520_000 as u64) + // Standard Error: 0 + .saturating_add(Weight::from_ref_time(2_000 as u64).saturating_mul(c as u64)) + .saturating_add(T::DbWeight::get().reads(3 as u64)) + .saturating_add(T::DbWeight::get().writes(3 as u64)) + } + // Storage: PublicCredentials CredentialSubjects (r:1 w:0) + // Storage: PublicCredentials Credentials (r:1 w:1) + fn revoke() -> Weight { + Weight::from_ref_time(44_494_000 as u64) + .saturating_add(T::DbWeight::get().reads(2 as u64)) + .saturating_add(T::DbWeight::get().writes(1 as u64)) + } + // Storage: PublicCredentials CredentialSubjects (r:1 w:0) + // Storage: PublicCredentials Credentials (r:1 w:1) + fn unrevoke() -> Weight { + Weight::from_ref_time(44_170_000 as u64) + .saturating_add(T::DbWeight::get().reads(2 as u64)) + .saturating_add(T::DbWeight::get().writes(1 as u64)) + } + // Storage: PublicCredentials CredentialSubjects (r:1 w:1) + // Storage: PublicCredentials Credentials (r:1 w:1) + // Storage: System Account (r:1 w:1) + fn remove() -> Weight { + Weight::from_ref_time(69_989_000 as u64) + .saturating_add(T::DbWeight::get().reads(3 as u64)) + .saturating_add(T::DbWeight::get().writes(3 as u64)) + } + // Storage: PublicCredentials CredentialSubjects (r:1 w:1) + // Storage: PublicCredentials Credentials (r:1 w:1) + // Storage: System Account (r:1 w:1) + fn reclaim_deposit() -> Weight { + Weight::from_ref_time(69_237_000 as u64) + .saturating_add(T::DbWeight::get().reads(3 as u64)) + .saturating_add(T::DbWeight::get().writes(3 as u64)) + } + fn change_deposit_owner() -> Weight { + Weight::from_ref_time(68_692_000 as u64) + .saturating_add(T::DbWeight::get().reads(3 as u64)) + .saturating_add(T::DbWeight::get().writes(3 as u64)) + } + fn update_deposit() -> Weight { + Weight::from_ref_time(68_692_000 as u64) + .saturating_add(T::DbWeight::get().reads(3 as u64)) + .saturating_add(T::DbWeight::get().writes(3 as u64)) + } +} From 339d303cc3b66feddce0ce4d56133d2d0a9b0102 Mon Sep 17 00:00:00 2001 From: Antonio Date: Tue, 29 Nov 2022 17:01:09 +0200 Subject: [PATCH 13/38] chore: update toolchain versions (#439) Since rust-analyzer has been merged into the main rustlang repo, it is tested for breaking changes. This means that we don't need to pin the nightly to a specific version anymore, as using the latest nightly is always guaranteed to work with the latest version of the rust-analyzer extension (try it yourselves, for me it finally just works). This PR then does the following: - update the toolchain file to use the latest nightly, which gives us access to potentially new clippy warnings, and to better rust-analyzer performances - update the runtime builder to use Rust 1.64 as also nowadays done by Polkadot - remove the deprecated `cargo-features = ["workspace-inheritance"]`, since from 1.64 it has been stabilised (this could be caught only by using a recent enough nightly version) - Let the CI job use the same version as in the toolchain file, by removing the `+nightly` flag. This will ensure we have a consistent behaviour between local machine and CI server. The only thing to consider is that the nightly will differ from the version that srtool uses to build the runtime WASM. That was the case also before, and it will always be until substrate will support compilation with the stable toolchain. --- .gitlab-ci.yml | 6 +-- .maintain/srtool.Dockerfile | 2 +- crates/assets/Cargo.toml | 2 - nodes/parachain/Cargo.toml | 2 - nodes/parachain/src/command.rs | 2 +- nodes/standalone/Cargo.toml | 2 - nodes/standalone/src/benchmarking.rs | 2 +- pallets/attestation/Cargo.toml | 2 - pallets/attestation/src/benchmarking.rs | 12 +++--- pallets/attestation/src/lib.rs | 20 +++++----- pallets/attestation/src/mock.rs | 2 +- pallets/ctype/Cargo.toml | 2 - pallets/ctype/src/benchmarking.rs | 2 +- pallets/ctype/src/lib.rs | 4 +- pallets/delegation/Cargo.toml | 2 - pallets/delegation/src/benchmarking.rs | 6 +-- pallets/delegation/src/lib.rs | 24 +++++------ pallets/did/Cargo.toml | 2 - pallets/did/src/benchmarking.rs | 4 +- pallets/did/src/lib.rs | 6 +-- pallets/did/src/mock.rs | 6 +-- pallets/pallet-did-lookup/Cargo.toml | 2 - pallets/pallet-did-lookup/src/account.rs | 4 +- pallets/pallet-did-lookup/src/benchmarking.rs | 2 +- pallets/pallet-did-lookup/src/lib.rs | 6 +-- pallets/pallet-did-lookup/src/tests.rs | 32 +++++++-------- pallets/pallet-inflation/Cargo.toml | 2 - pallets/pallet-web3-names/Cargo.toml | 2 - pallets/pallet-web3-names/src/lib.rs | 12 +++--- pallets/parachain-staking/Cargo.toml | 2 - pallets/parachain-staking/src/benchmarking.rs | 6 +-- pallets/parachain-staking/src/lib.rs | 6 +-- pallets/public-credentials/Cargo.toml | 2 - .../public-credentials/src/benchmarking.rs | 14 +++---- pallets/public-credentials/src/lib.rs | 12 +++--- pallets/public-credentials/src/tests.rs | 40 +++++++++---------- runtime-api/did/Cargo.toml | 2 - runtime-api/public-credentials/Cargo.toml | 2 - runtime-api/staking/Cargo.toml | 2 - runtimes/clone/Cargo.toml | 2 - runtimes/common/Cargo.toml | 2 - runtimes/peregrine/Cargo.toml | 2 - runtimes/peregrine/src/lib.rs | 6 +-- runtimes/spiritnet/Cargo.toml | 2 - runtimes/spiritnet/src/lib.rs | 6 +-- runtimes/standalone/Cargo.toml | 2 - runtimes/standalone/src/lib.rs | 6 +-- rust-toolchain.toml | 3 +- support/Cargo.toml | 2 - 49 files changed, 126 insertions(+), 169 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index b66878f7e..391863b1f 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -9,8 +9,7 @@ clippy: stage: test timeout: 1 hours script: - - rustup component add clippy --toolchain nightly - - cargo +nightly clippy --all-features --all-targets --locked -- -D warnings + - cargo clippy --all-features --all-targets --locked -- -D warnings fmt: # Corresponds to paritytech/ci-linux:production at the time of this PR @@ -19,8 +18,7 @@ fmt: stage: test timeout: 1 hours script: - - rustup component add rustfmt --toolchain nightly - - cargo +nightly fmt -- --check + - cargo fmt -- --check test: # Corresponds to paritytech/ci-linux:production at the time of this PR diff --git a/.maintain/srtool.Dockerfile b/.maintain/srtool.Dockerfile index 65dda3ce0..717c6fd4c 100644 --- a/.maintain/srtool.Dockerfile +++ b/.maintain/srtool.Dockerfile @@ -3,7 +3,7 @@ FROM docker.io/library/ubuntu:22.04 LABEL maintainer "chevdor@gmail.com" LABEL description="This image contains tools for Substrate blockchains runtimes." -ARG RUSTC_VERSION="1.62.0" +ARG RUSTC_VERSION="1.64.0" ENV RUSTC_VERSION=$RUSTC_VERSION ENV DOCKER_IMAGE="paritytech/srtool" ENV PROFILE=release diff --git a/crates/assets/Cargo.toml b/crates/assets/Cargo.toml index b1646a781..a233d94ee 100644 --- a/crates/assets/Cargo.toml +++ b/crates/assets/Cargo.toml @@ -1,5 +1,3 @@ -cargo-features = ["workspace-inheritance"] - [package] authors.workspace = true documentation.workspace = true diff --git a/nodes/parachain/Cargo.toml b/nodes/parachain/Cargo.toml index 2ba531a9f..06cfc79be 100644 --- a/nodes/parachain/Cargo.toml +++ b/nodes/parachain/Cargo.toml @@ -1,5 +1,3 @@ -cargo-features = ["workspace-inheritance"] - [package] authors.workspace = true documentation.workspace = true diff --git a/nodes/parachain/src/command.rs b/nodes/parachain/src/command.rs index 9fd2e263e..d012ed6d7 100644 --- a/nodes/parachain/src/command.rs +++ b/nodes/parachain/src/command.rs @@ -406,7 +406,7 @@ pub fn run() -> Result<()> { runner.run_node_until_exit(|config| async move { let hwbench = if !cli.no_hardware_benchmarks { config.database.path().map(|database_path| { - let _ = std::fs::create_dir_all(&database_path); + let _ = std::fs::create_dir_all(database_path); sc_sysinfo::gather_hwbench(Some(database_path)) }) } else { diff --git a/nodes/standalone/Cargo.toml b/nodes/standalone/Cargo.toml index 5328bd189..6efa52a15 100644 --- a/nodes/standalone/Cargo.toml +++ b/nodes/standalone/Cargo.toml @@ -1,5 +1,3 @@ -cargo-features = ["workspace-inheritance"] - [package] authors.workspace = true documentation.workspace = true diff --git a/nodes/standalone/src/benchmarking.rs b/nodes/standalone/src/benchmarking.rs index 08a52335e..0206c3d58 100644 --- a/nodes/standalone/src/benchmarking.rs +++ b/nodes/standalone/src/benchmarking.rs @@ -130,7 +130,7 @@ pub fn create_benchmark_extrinsic( let period = runtime::BlockHashCount::get() .checked_next_power_of_two() .map(|c| c / 2) - .unwrap_or(2) as u64; + .unwrap_or(2); let extra: runtime::SignedExtra = ( frame_system::CheckNonZeroSender::::new(), frame_system::CheckSpecVersion::::new(), diff --git a/pallets/attestation/Cargo.toml b/pallets/attestation/Cargo.toml index 2be22eecc..6c66c902c 100644 --- a/pallets/attestation/Cargo.toml +++ b/pallets/attestation/Cargo.toml @@ -1,5 +1,3 @@ -cargo-features = ["workspace-inheritance"] - [package] authors.workspace = true documentation.workspace = true diff --git a/pallets/attestation/src/benchmarking.rs b/pallets/attestation/src/benchmarking.rs index 59edb493d..479e0a65d 100644 --- a/pallets/attestation/src/benchmarking.rs +++ b/pallets/attestation/src/benchmarking.rs @@ -41,7 +41,7 @@ benchmarks! { let claim_hash: T::Hash = T::Hashing::hash(b"claim"); let ctype_hash: T::Hash = T::Hash::default(); - ctype::Ctypes::::insert(&ctype_hash, attester.clone()); + ctype::Ctypes::::insert(ctype_hash, attester.clone()); ::Currency::make_free_balance_be(&sender, ::Deposit::get() + ::Deposit::get()); let origin = ::EnsureOrigin::generate_origin(sender.clone(), attester.clone()); @@ -66,7 +66,7 @@ benchmarks! { let claim_hash: T::Hash = T::Hashing::hash(b"claim"); let ctype_hash: T::Hash = T::Hash::default(); - ctype::Ctypes::::insert(&ctype_hash, attester.clone()); + ctype::Ctypes::::insert(ctype_hash, attester.clone()); ::Currency::make_free_balance_be(&sender, ::Deposit::get() + ::Deposit::get()); let origin = ::EnsureOrigin::generate_origin(sender.clone(), attester.clone()); @@ -92,7 +92,7 @@ benchmarks! { let claim_hash: T::Hash = T::Hashing::hash(b"claim"); let ctype_hash: T::Hash = T::Hash::default(); - ctype::Ctypes::::insert(&ctype_hash, attester.clone()); + ctype::Ctypes::::insert(ctype_hash, attester.clone()); ::Currency::make_free_balance_be(&sender, ::Deposit::get() + ::Deposit::get()); let origin = ::EnsureOrigin::generate_origin(sender.clone(), attester.clone()); @@ -109,7 +109,7 @@ benchmarks! { let claim_hash: T::Hash = T::Hashing::hash(b"claim"); let ctype_hash: T::Hash = T::Hash::default(); - ctype::Ctypes::::insert(&ctype_hash, attester.clone()); + ctype::Ctypes::::insert(ctype_hash, attester.clone()); ::Currency::make_free_balance_be(&sender, ::Deposit::get() + ::Deposit::get()); let origin = ::EnsureOrigin::generate_origin(sender.clone(), attester); @@ -127,7 +127,7 @@ benchmarks! { let claim_hash: T::Hash = T::Hashing::hash(b"claim"); let ctype_hash: T::Hash = T::Hash::default(); - ctype::Ctypes::::insert(&ctype_hash, attester.clone()); + ctype::Ctypes::::insert(ctype_hash, attester.clone()); ::Currency::make_free_balance_be(&deposit_owner_old, ::Deposit::get() + ::Deposit::get()); ::Currency::make_free_balance_be(&deposit_owner_new, ::Deposit::get() + ::Deposit::get()); @@ -154,7 +154,7 @@ benchmarks! { let claim_hash: T::Hash = T::Hashing::hash(b"claim"); let ctype_hash: T::Hash = T::Hash::default(); - ctype::Ctypes::::insert(&ctype_hash, attester.clone()); + ctype::Ctypes::::insert(ctype_hash, attester.clone()); ::Currency::make_free_balance_be(&deposit_owner, ::Deposit::get() + ::Deposit::get()); let origin = ::EnsureOrigin::generate_origin(deposit_owner.clone(), attester.clone()); diff --git a/pallets/attestation/src/lib.rs b/pallets/attestation/src/lib.rs index 6782a8d68..e01e25f86 100644 --- a/pallets/attestation/src/lib.rs +++ b/pallets/attestation/src/lib.rs @@ -246,11 +246,11 @@ pub mod pallet { let deposit_amount = ::Deposit::get(); ensure!( - ctype::Ctypes::::contains_key(&ctype_hash), + ctype::Ctypes::::contains_key(ctype_hash), ctype::Error::::CTypeNotFound ); ensure!( - !Attestations::::contains_key(&claim_hash), + !Attestations::::contains_key(claim_hash), Error::::AlreadyAttested ); @@ -268,7 +268,7 @@ pub mod pallet { log::debug!("insert Attestation"); Attestations::::insert( - &claim_hash, + claim_hash, AttestationDetails { ctype_hash, attester: who.clone(), @@ -315,7 +315,7 @@ pub mod pallet { let source = ::EnsureOrigin::ensure_origin(origin)?; let who = source.subject(); - let attestation = Attestations::::get(&claim_hash).ok_or(Error::::AttestationNotFound)?; + let attestation = Attestations::::get(claim_hash).ok_or(Error::::AttestationNotFound)?; ensure!(!attestation.revoked, Error::::AlreadyRevoked); @@ -333,7 +333,7 @@ pub mod pallet { log::debug!("revoking Attestation"); Attestations::::insert( - &claim_hash, + claim_hash, AttestationDetails { revoked: true, ..attestation @@ -374,7 +374,7 @@ pub mod pallet { let source = ::EnsureOrigin::ensure_origin(origin)?; let who = source.subject(); - let attestation = Attestations::::get(&claim_hash).ok_or(Error::::AttestationNotFound)?; + let attestation = Attestations::::get(claim_hash).ok_or(Error::::AttestationNotFound)?; if attestation.attester != who { let attestation_auth_id = attestation.authorization_id.as_ref().ok_or(Error::::Unauthorized)?; @@ -408,7 +408,7 @@ pub mod pallet { #[pallet::weight(::WeightInfo::reclaim_deposit())] pub fn reclaim_deposit(origin: OriginFor, claim_hash: ClaimHashOf) -> DispatchResult { let who = ensure_signed(origin)?; - let attestation = Attestations::::get(&claim_hash).ok_or(Error::::AttestationNotFound)?; + let attestation = Attestations::::get(claim_hash).ok_or(Error::::AttestationNotFound)?; ensure!(attestation.deposit.owner == who, Error::::Unauthorized); @@ -435,7 +435,7 @@ pub mod pallet { let subject = source.subject(); let sender = source.sender(); - let attestation = Attestations::::get(&claim_hash).ok_or(Error::::AttestationNotFound)?; + let attestation = Attestations::::get(claim_hash).ok_or(Error::::AttestationNotFound)?; ensure!(attestation.attester == subject, Error::::Unauthorized); AttestationStorageDepositCollector::::change_deposit_owner(&claim_hash, sender)?; @@ -450,7 +450,7 @@ pub mod pallet { pub fn update_deposit(origin: OriginFor, claim_hash: ClaimHashOf) -> DispatchResult { let sender = ensure_signed(origin)?; - let attestation = Attestations::::get(&claim_hash).ok_or(Error::::AttestationNotFound)?; + let attestation = Attestations::::get(claim_hash).ok_or(Error::::AttestationNotFound)?; ensure!(attestation.deposit.owner == sender, Error::::Unauthorized); AttestationStorageDepositCollector::::update_deposit(&claim_hash)?; @@ -462,7 +462,7 @@ pub mod pallet { impl Pallet { fn remove_attestation(attestation: AttestationDetails, claim_hash: ClaimHashOf) { kilt_support::free_deposit::, CurrencyOf>(&attestation.deposit); - Attestations::::remove(&claim_hash); + Attestations::::remove(claim_hash); if let Some(authorization_id) = &attestation.authorization_id { ExternalAttestations::::remove(authorization_id, claim_hash); } diff --git a/pallets/attestation/src/mock.rs b/pallets/attestation/src/mock.rs index 98d7099ef..489d7b08a 100644 --- a/pallets/attestation/src/mock.rs +++ b/pallets/attestation/src/mock.rs @@ -159,7 +159,7 @@ pub fn insert_attestation(claim_hash: ClaimHashOf, details: Attest ) .expect("Should have balance"); - crate::Attestations::::insert(&claim_hash, details.clone()); + crate::Attestations::::insert(claim_hash, details.clone()); if let Some(delegation_id) = details.authorization_id.as_ref() { crate::ExternalAttestations::::insert(delegation_id, claim_hash, true) } diff --git a/pallets/ctype/Cargo.toml b/pallets/ctype/Cargo.toml index 7f074f402..86086fa2f 100644 --- a/pallets/ctype/Cargo.toml +++ b/pallets/ctype/Cargo.toml @@ -1,5 +1,3 @@ -cargo-features = ["workspace-inheritance"] - [package] authors.workspace = true documentation.workspace = true diff --git a/pallets/ctype/src/benchmarking.rs b/pallets/ctype/src/benchmarking.rs index 1f18daf7b..95726055c 100644 --- a/pallets/ctype/src/benchmarking.rs +++ b/pallets/ctype/src/benchmarking.rs @@ -57,7 +57,7 @@ benchmarks! { }: _(origin, ctype) verify { - let stored_ctype_creator: T::CtypeCreatorId = Ctypes::::get(&ctype_hash).expect("CType hash should be present on chain."); + let stored_ctype_creator: T::CtypeCreatorId = Ctypes::::get(ctype_hash).expect("CType hash should be present on chain."); // Verify the CType has the right owner assert_eq!(stored_ctype_creator, did); diff --git a/pallets/ctype/src/lib.rs b/pallets/ctype/src/lib.rs index 787a45f70..73f84d530 100644 --- a/pallets/ctype/src/lib.rs +++ b/pallets/ctype/src/lib.rs @@ -160,7 +160,7 @@ pub mod pallet { let hash = ::Hashing::hash(&ctype[..]); - ensure!(!Ctypes::::contains_key(&hash), Error::::CTypeAlreadyExists); + ensure!(!Ctypes::::contains_key(hash), Error::::CTypeAlreadyExists); // *** No Fail except during withdraw beyond this point *** @@ -176,7 +176,7 @@ pub mod pallet { T::FeeCollector::on_unbalanced(imbalance); log::debug!("Creating CType with hash {:?} and creator {:?}", hash, creator); - Ctypes::::insert(&hash, creator.clone()); + Ctypes::::insert(hash, creator.clone()); Self::deposit_event(Event::CTypeCreated(creator, hash)); diff --git a/pallets/delegation/Cargo.toml b/pallets/delegation/Cargo.toml index 23ecef4a6..691e6138d 100644 --- a/pallets/delegation/Cargo.toml +++ b/pallets/delegation/Cargo.toml @@ -1,5 +1,3 @@ -cargo-features = ["workspace-inheritance"] - [package] authors.workspace = true documentation.workspace = true diff --git a/pallets/delegation/src/benchmarking.rs b/pallets/delegation/src/benchmarking.rs index 3b2974355..73dd553b7 100644 --- a/pallets/delegation/src/benchmarking.rs +++ b/pallets/delegation/src/benchmarking.rs @@ -74,7 +74,7 @@ where ::Currency::minimum_balance() + ::Deposit::get() + ::Deposit::get(), ); - ctype::Ctypes::::insert(&ctype_hash, T::CtypeCreatorId::from(root_acc.clone())); + ctype::Ctypes::::insert(ctype_hash, T::CtypeCreatorId::from(root_acc.clone())); Pallet::::create_hierarchy( ::EnsureOrigin::generate_origin(sender, root_acc.clone()), @@ -148,7 +148,7 @@ where )?; // only return first leaf - first_leaf = first_leaf.or(Some((delegation_acc_public, delegation_acc_id, delegation_id))); + first_leaf = first_leaf.or_else(|| Some((delegation_acc_public, delegation_acc_id, delegation_id))); } let (leaf_acc_public, leaf_acc_id, leaf_id) = @@ -234,7 +234,7 @@ benchmarks! { let creator: T::DelegationEntityId = account("creator", 0, SEED); let ctype = ::default(); let delegation = generate_delegation_id::(0); - ctype::Ctypes::::insert(&ctype, ::CtypeCreatorId::from(creator.clone())); + ctype::Ctypes::::insert(ctype, ::CtypeCreatorId::from(creator.clone())); ::Currency::make_free_balance_be( &sender, ::Currency::minimum_balance() + ::Deposit::get(), diff --git a/pallets/delegation/src/lib.rs b/pallets/delegation/src/lib.rs index d2bfa7633..c6975ed07 100644 --- a/pallets/delegation/src/lib.rs +++ b/pallets/delegation/src/lib.rs @@ -324,12 +324,12 @@ pub mod pallet { let creator = source.subject(); ensure!( - !>::contains_key(&root_node_id), + !>::contains_key(root_node_id), Error::::HierarchyAlreadyExists ); ensure!( - >::contains_key(&ctype_hash), + >::contains_key(ctype_hash), >::CTypeNotFound ); @@ -397,11 +397,11 @@ pub mod pallet { let delegator = source.subject(); ensure!( - !>::contains_key(&delegation_id), + !>::contains_key(delegation_id), Error::::DelegationAlreadyExists ); - let parent_node = >::get(&parent_id).ok_or(Error::::ParentDelegationNotFound)?; + let parent_node = >::get(parent_id).ok_or(Error::::ParentDelegationNotFound)?; let hierarchy_root_id = parent_node.hierarchy_root_id; // Calculate the hash root @@ -501,7 +501,7 @@ pub mod pallet { let invoker = ::EnsureOrigin::ensure_origin(origin)?.subject(); ensure!( - >::contains_key(&delegation_id), + >::contains_key(delegation_id), Error::::DelegationNotFound ); @@ -525,7 +525,7 @@ pub mod pallet { let (revocation_checks, _) = Self::revoke(&delegation_id, &invoker, max_revocations.saturating_add(1))?; // If the revoked node is a root node, emit also a HierarchyRevoked event. - if DelegationHierarchies::::contains_key(&delegation_id) { + if DelegationHierarchies::::contains_key(delegation_id) { Self::deposit_event(Event::HierarchyRevoked(invoker, delegation_id)); } @@ -574,7 +574,7 @@ pub mod pallet { let source = ::EnsureOrigin::ensure_origin(origin)?; let invoker = source.subject(); - let delegation = DelegationNodes::::get(&delegation_id).ok_or(Error::::DelegationNotFound)?; + let delegation = DelegationNodes::::get(delegation_id).ok_or(Error::::DelegationNotFound)?; // Node can only be removed by owner of the node, not the parent or another // ancestor @@ -589,7 +589,7 @@ pub mod pallet { let (removal_checks, _) = Self::remove(&delegation_id, max_removals.saturating_add(1))?; // If the removed node is a root node, emit also a HierarchyRemoved event. - if DelegationHierarchies::::take(&delegation_id).is_some() { + if DelegationHierarchies::::take(delegation_id).is_some() { Self::deposit_event(Event::HierarchyRemoved(invoker, delegation_id)); } @@ -628,7 +628,7 @@ pub mod pallet { ) -> DispatchResultWithPostInfo { let who = ensure_signed(origin)?; - let delegation = DelegationNodes::::get(&delegation_id).ok_or(Error::::DelegationNotFound)?; + let delegation = DelegationNodes::::get(delegation_id).ok_or(Error::::DelegationNotFound)?; // Deposit can only be removed by the owner of the deposit, not the // parent or another ancestor. @@ -646,7 +646,7 @@ pub mod pallet { // Delete the delegation hierarchy details, if the provided ID was for a root // node. No event generated as we don't have information about the owner DID // here. - DelegationHierarchies::::remove(&delegation_id); + DelegationHierarchies::::remove(delegation_id); Ok(Some(::WeightInfo::remove_delegation(removal_checks)).into()) } @@ -662,7 +662,7 @@ pub mod pallet { pub fn change_deposit_owner(origin: OriginFor, delegation_id: DelegationNodeIdOf) -> DispatchResult { let source = ::EnsureOrigin::ensure_origin(origin)?; - let delegation = DelegationNodes::::get(&delegation_id).ok_or(Error::::DelegationNotFound)?; + let delegation = DelegationNodes::::get(delegation_id).ok_or(Error::::DelegationNotFound)?; // Deposit can only be swapped by the owner of the delegation node, not the // parent or another ancestor. @@ -678,7 +678,7 @@ pub mod pallet { pub fn update_deposit(origin: OriginFor, delegation_id: DelegationNodeIdOf) -> DispatchResult { let sender = ensure_signed(origin)?; - let delegation = DelegationNodes::::get(&delegation_id).ok_or(Error::::DelegationNotFound)?; + let delegation = DelegationNodes::::get(delegation_id).ok_or(Error::::DelegationNotFound)?; // Deposit can only be swapped by the owner of the delegation node, not the // parent or another ancestor. diff --git a/pallets/did/Cargo.toml b/pallets/did/Cargo.toml index b801840d3..5aaaef86e 100644 --- a/pallets/did/Cargo.toml +++ b/pallets/did/Cargo.toml @@ -1,5 +1,3 @@ -cargo-features = ["workspace-inheritance"] - [package] authors.workspace = true documentation.workspace = true diff --git a/pallets/did/src/benchmarking.rs b/pallets/did/src/benchmarking.rs index f9db408cd..8992a5625 100644 --- a/pallets/did/src/benchmarking.rs +++ b/pallets/did/src/benchmarking.rs @@ -115,9 +115,9 @@ fn generate_base_did_call_operation( fn save_service_endpoints(did_subject: &DidIdentifierOf, endpoints: &[DidEndpoint]) { for endpoint in endpoints.iter() { - ServiceEndpoints::::insert(&did_subject, &endpoint.id, endpoint.clone()); + ServiceEndpoints::::insert(did_subject, &endpoint.id, endpoint.clone()); } - DidEndpointsCount::::insert(&did_subject, endpoints.len().saturated_into::()); + DidEndpointsCount::::insert(did_subject, endpoints.len().saturated_into::()); } benchmarks! { diff --git a/pallets/did/src/lib.rs b/pallets/did/src/lib.rs index cfa7e0dc5..ba27ddcc4 100644 --- a/pallets/did/src/lib.rs +++ b/pallets/did/src/lib.rs @@ -1244,7 +1244,7 @@ pub mod pallet { fn deposit( key: &DidIdentifierOf, ) -> Result, >>::Balance>, DispatchError> { - let did_entry = Did::::get(&key).ok_or(Error::::DidNotPresent)?; + let did_entry = Did::::get(key).ok_or(Error::::DidNotPresent)?; Ok(did_entry.deposit) } @@ -1256,8 +1256,8 @@ pub mod pallet { key: &DidIdentifierOf, deposit: Deposit, >>::Balance>, ) -> Result<(), DispatchError> { - let did_entry = Did::::get(&key).ok_or(Error::::DidNotPresent)?; - Did::::insert(&key, DidDetails { deposit, ..did_entry }); + let did_entry = Did::::get(key).ok_or(Error::::DidNotPresent)?; + Did::::insert(key, DidDetails { deposit, ..did_entry }); Ok(()) } diff --git a/pallets/did/src/mock.rs b/pallets/did/src/mock.rs index 537911a72..e9f906f68 100644 --- a/pallets/did/src/mock.rs +++ b/pallets/did/src/mock.rs @@ -481,13 +481,13 @@ impl ExtBuilder { .expect("Deposit owner should have enough balance"); } for did in self.deleted_dids.iter() { - DidBlacklist::::insert(&did, ()); + DidBlacklist::::insert(did, ()); } for (did, endpoints) in self.service_endpoints.iter() { for endpoint in endpoints.iter() { - ServiceEndpoints::::insert(&did, &endpoint.id, endpoint) + ServiceEndpoints::::insert(did, &endpoint.id, endpoint) } - DidEndpointsCount::::insert(&did, endpoints.len().saturated_into::()); + DidEndpointsCount::::insert(did, endpoints.len().saturated_into::()); } }); diff --git a/pallets/pallet-did-lookup/Cargo.toml b/pallets/pallet-did-lookup/Cargo.toml index 37350f458..a44b2cc92 100644 --- a/pallets/pallet-did-lookup/Cargo.toml +++ b/pallets/pallet-did-lookup/Cargo.toml @@ -1,5 +1,3 @@ -cargo-features = ["workspace-inheritance"] - [package] authors.workspace = true documentation.workspace = true diff --git a/pallets/pallet-did-lookup/src/account.rs b/pallets/pallet-did-lookup/src/account.rs index b6eb29a93..057bc7f1c 100644 --- a/pallets/pallet-did-lookup/src/account.rs +++ b/pallets/pallet-did-lookup/src/account.rs @@ -111,7 +111,7 @@ impl From for EthereumSigner { fn from(x: libsecp256k1::PublicKey) -> Self { let mut m = [0u8; 64]; m.copy_from_slice(&x.serialize()[1..65]); - let account = H160::from(H256::from_slice(Keccak256::digest(&m).as_slice())); + let account = H160::from(H256::from_slice(Keccak256::digest(m).as_slice())); EthereumSigner(account.into()) } } @@ -141,7 +141,7 @@ impl sp_runtime::traits::Verify for EthereumSignature { Ok(pubkey) => { // TODO This conversion could use a comment. Why H256 first, then H160? // TODO actually, there is probably just a better way to go from Keccak digest. - AccountId20(H160::from(H256::from_slice(Keccak256::digest(&pubkey).as_slice())).0) == *signer + AccountId20(H160::from(H256::from_slice(Keccak256::digest(pubkey).as_slice())).0) == *signer } Err(_) => { log::trace!("Error verifying signature"); diff --git a/pallets/pallet-did-lookup/src/benchmarking.rs b/pallets/pallet-did-lookup/src/benchmarking.rs index e24c0ec29..e3d85c963 100644 --- a/pallets/pallet-did-lookup/src/benchmarking.rs +++ b/pallets/pallet-did-lookup/src/benchmarking.rs @@ -176,7 +176,7 @@ benchmarks! { let sig = sp_io::crypto::ecdsa_sign_prehashed( KeyTypeId(*b"aura"), ð_public_key, - &Keccak256::digest(&wrapped_payload).try_into().unwrap(), + &Keccak256::digest(wrapped_payload).try_into().unwrap(), ).ok_or("Error while building signature.")?; make_free_for_did::(&caller); diff --git a/pallets/pallet-did-lookup/src/lib.rs b/pallets/pallet-did-lookup/src/lib.rs index 5c14302e7..a660322a4 100644 --- a/pallets/pallet-did-lookup/src/lib.rs +++ b/pallets/pallet-did-lookup/src/lib.rs @@ -380,7 +380,7 @@ pub mod pallet { fn deposit( key: &LinkableAccountId, ) -> Result, >>::Balance>, DispatchError> { - let record = ConnectedDids::::get(&key).ok_or(Error::::AssociationNotFound)?; + let record = ConnectedDids::::get(key).ok_or(Error::::AssociationNotFound)?; Ok(record.deposit) } @@ -392,8 +392,8 @@ pub mod pallet { key: &LinkableAccountId, deposit: Deposit, >>::Balance>, ) -> Result<(), DispatchError> { - let record = ConnectedDids::::get(&key).ok_or(Error::::AssociationNotFound)?; - ConnectedDids::::insert(&key, ConnectionRecord { deposit, ..record }); + let record = ConnectedDids::::get(key).ok_or(Error::::AssociationNotFound)?; + ConnectedDids::::insert(key, ConnectionRecord { deposit, ..record }); Ok(()) } diff --git a/pallets/pallet-did-lookup/src/tests.rs b/pallets/pallet-did-lookup/src/tests.rs index 27864d4f1..9b2b77073 100644 --- a/pallets/pallet-did-lookup/src/tests.rs +++ b/pallets/pallet-did-lookup/src/tests.rs @@ -109,7 +109,7 @@ fn test_add_association_account() { ) .is_ok()); assert_eq!( - ConnectedDids::::get(&LinkableAccountId::from(account_hash_alice.clone())), + ConnectedDids::::get(LinkableAccountId::from(account_hash_alice.clone())), Some(ConnectionRecord { did: DID_00, deposit: Deposit { @@ -119,7 +119,7 @@ fn test_add_association_account() { }) ); assert!( - ConnectedAccounts::::get(DID_00, &LinkableAccountId::from(account_hash_alice.clone())).is_some() + ConnectedAccounts::::get(DID_00, LinkableAccountId::from(account_hash_alice.clone())).is_some() ); assert_eq!( Balances::reserved_balance(ACCOUNT_00), @@ -137,7 +137,7 @@ fn test_add_association_account() { } assert!(res.is_ok()); assert_eq!( - ConnectedDids::::get(&LinkableAccountId::from(account_hash_alice.clone())), + ConnectedDids::::get(LinkableAccountId::from(account_hash_alice.clone())), Some(ConnectionRecord { did: DID_01, deposit: Deposit { @@ -147,10 +147,10 @@ fn test_add_association_account() { }) ); assert!( - ConnectedAccounts::::get(DID_00, &LinkableAccountId::from(account_hash_alice.clone())).is_none() + ConnectedAccounts::::get(DID_00, LinkableAccountId::from(account_hash_alice.clone())).is_none() ); assert!( - ConnectedAccounts::::get(DID_01, &LinkableAccountId::from(account_hash_alice.clone())).is_some() + ConnectedAccounts::::get(DID_01, LinkableAccountId::from(account_hash_alice.clone())).is_some() ); assert_eq!( Balances::reserved_balance(ACCOUNT_00), @@ -165,7 +165,7 @@ fn test_add_association_account() { ) .is_ok()); assert_eq!( - ConnectedDids::::get(&LinkableAccountId::from(account_hash_alice.clone())), + ConnectedDids::::get(LinkableAccountId::from(account_hash_alice.clone())), Some(ConnectionRecord { did: DID_01, deposit: Deposit { @@ -175,9 +175,9 @@ fn test_add_association_account() { }) ); assert!( - ConnectedAccounts::::get(DID_00, &LinkableAccountId::from(account_hash_alice.clone())).is_none() + ConnectedAccounts::::get(DID_00, LinkableAccountId::from(account_hash_alice.clone())).is_none() ); - assert!(ConnectedAccounts::::get(DID_01, &LinkableAccountId::from(account_hash_alice)).is_some()); + assert!(ConnectedAccounts::::get(DID_01, LinkableAccountId::from(account_hash_alice)).is_some()); assert_eq!(Balances::reserved_balance(ACCOUNT_00), 0); assert_eq!( Balances::reserved_balance(ACCOUNT_01), @@ -204,7 +204,7 @@ fn test_add_eth_association() { crate::signature::WrapType::Ethereum, ); - let sig = eth_pair.sign_prehashed(&Keccak256::digest(&wrapped_payload).try_into().unwrap()); + let sig = eth_pair.sign_prehashed(&Keccak256::digest(wrapped_payload).try_into().unwrap()); // new association. No overwrite let res = DidLookup::associate_account( @@ -214,7 +214,7 @@ fn test_add_eth_association() { ); assert!(res.is_ok()); assert_eq!( - ConnectedDids::::get(&LinkableAccountId::from(eth_account)), + ConnectedDids::::get(LinkableAccountId::from(eth_account)), Some(ConnectionRecord { did: DID_00, deposit: Deposit { @@ -223,7 +223,7 @@ fn test_add_eth_association() { } }) ); - assert!(ConnectedAccounts::::get(DID_00, &LinkableAccountId::from(eth_account)).is_some()); + assert!(ConnectedAccounts::::get(DID_00, LinkableAccountId::from(eth_account)).is_some()); assert_eq!( Balances::reserved_balance(ACCOUNT_00), ::Deposit::get() @@ -297,8 +297,8 @@ fn test_remove_association_sender() { .execute_with(|| { // remove association assert!(DidLookup::remove_sender_association(Origin::signed(ACCOUNT_00)).is_ok()); - assert_eq!(ConnectedDids::::get(&LinkableAccountId::from(ACCOUNT_00)), None); - assert!(ConnectedAccounts::::get(DID_01, &LinkableAccountId::from(ACCOUNT_00)).is_none()); + assert_eq!(ConnectedDids::::get(LinkableAccountId::from(ACCOUNT_00)), None); + assert!(ConnectedAccounts::::get(DID_01, LinkableAccountId::from(ACCOUNT_00)).is_none()); assert_eq!(Balances::reserved_balance(ACCOUNT_00), 0); }); } @@ -334,8 +334,8 @@ fn test_remove_association_account() { LinkableAccountId::from(ACCOUNT_00.clone()) ) .is_ok()); - assert_eq!(ConnectedDids::::get(&LinkableAccountId::from(ACCOUNT_00)), None); - assert!(ConnectedAccounts::::get(DID_01, &LinkableAccountId::from(ACCOUNT_00)).is_none()); + assert_eq!(ConnectedDids::::get(LinkableAccountId::from(ACCOUNT_00)), None); + assert!(ConnectedAccounts::::get(DID_01, LinkableAccountId::from(ACCOUNT_00)).is_none()); assert_eq!(Balances::reserved_balance(ACCOUNT_01), 0); }); } @@ -349,7 +349,7 @@ fn test_remove_association_account_not_found() { ]) .build() .execute_with(|| { - assert_eq!(ConnectedDids::::get(&LinkableAccountId::from(ACCOUNT_00)), None); + assert_eq!(ConnectedDids::::get(LinkableAccountId::from(ACCOUNT_00)), None); assert_noop!( DidLookup::remove_account_association( diff --git a/pallets/pallet-inflation/Cargo.toml b/pallets/pallet-inflation/Cargo.toml index fd7075157..dc4f5de4b 100644 --- a/pallets/pallet-inflation/Cargo.toml +++ b/pallets/pallet-inflation/Cargo.toml @@ -1,5 +1,3 @@ -cargo-features = ["workspace-inheritance"] - [package] authors.workspace = true documentation.workspace = true diff --git a/pallets/pallet-web3-names/Cargo.toml b/pallets/pallet-web3-names/Cargo.toml index 6074fd21d..6cd3f5da4 100644 --- a/pallets/pallet-web3-names/Cargo.toml +++ b/pallets/pallet-web3-names/Cargo.toml @@ -1,5 +1,3 @@ -cargo-features = ["workspace-inheritance"] - [package] authors.workspace = true documentation.workspace = true diff --git a/pallets/pallet-web3-names/src/lib.rs b/pallets/pallet-web3-names/src/lib.rs index 41bd78449..f2b36ebb0 100644 --- a/pallets/pallet-web3-names/src/lib.rs +++ b/pallets/pallet-web3-names/src/lib.rs @@ -383,7 +383,7 @@ pub mod pallet { ) -> Result, DispatchError> { let name = Web3NameOf::::try_from(name_input.into_inner()).map_err(DispatchError::from)?; - ensure!(!Names::::contains_key(&owner), Error::::OwnerAlreadyExists); + ensure!(!Names::::contains_key(owner), Error::::OwnerAlreadyExists); ensure!(!Owner::::contains_key(&name), Error::::Web3NameAlreadyClaimed); ensure!(!Banned::::contains_key(&name), Error::::Web3NameBanned); @@ -423,7 +423,7 @@ pub mod pallet { /// Specifically: /// - The owner has a previously claimed name fn check_releasing_preconditions(owner: &Web3NameOwnerOf) -> Result, DispatchError> { - let name = Names::::get(&owner).ok_or(Error::::OwnerNotFound)?; + let name = Names::::get(owner).ok_or(Error::::OwnerNotFound)?; Ok(name) } @@ -480,7 +480,7 @@ pub mod pallet { /// `check_banning_preconditions` as it does not verify all the /// preconditions again. pub(crate) fn ban_name(name: &Web3NameOf) { - Banned::::insert(&name, ()); + Banned::::insert(name, ()); } /// Verify that the unbanning preconditions are verified. @@ -510,7 +510,7 @@ pub mod pallet { fn deposit( key: &T::Web3Name, ) -> Result, >>::Balance>, DispatchError> { - let w3n_entry = Owner::::get(&key).ok_or(Error::::Web3NameNotFound)?; + let w3n_entry = Owner::::get(key).ok_or(Error::::Web3NameNotFound)?; Ok(w3n_entry.deposit) } @@ -523,8 +523,8 @@ pub mod pallet { key: &T::Web3Name, deposit: Deposit, >>::Balance>, ) -> Result<(), DispatchError> { - let w3n_entry = Owner::::get(&key).ok_or(Error::::Web3NameNotFound)?; - Owner::::insert(&key, Web3OwnershipOf:: { deposit, ..w3n_entry }); + let w3n_entry = Owner::::get(key).ok_or(Error::::Web3NameNotFound)?; + Owner::::insert(key, Web3OwnershipOf:: { deposit, ..w3n_entry }); Ok(()) } diff --git a/pallets/parachain-staking/Cargo.toml b/pallets/parachain-staking/Cargo.toml index 3e6a8e08e..85933c673 100644 --- a/pallets/parachain-staking/Cargo.toml +++ b/pallets/parachain-staking/Cargo.toml @@ -1,5 +1,3 @@ -cargo-features = ["workspace-inheritance"] - [package] authors.workspace = true documentation.workspace = true diff --git a/pallets/parachain-staking/src/benchmarking.rs b/pallets/parachain-staking/src/benchmarking.rs index 1a6c10f76..d271363b7 100644 --- a/pallets/parachain-staking/src/benchmarking.rs +++ b/pallets/parachain-staking/src/benchmarking.rs @@ -177,7 +177,7 @@ benchmarks! { let candidates = setup_collator_candidates::(n, None); for (i, c) in candidates.iter().enumerate() { fill_delegators::(m, c.clone(), i.saturated_into::()); - Rewards::::insert(&c, T::CurrencyBalance::one()); + Rewards::::insert(c, T::CurrencyBalance::one()); } let inflation = InflationInfo::new( @@ -296,7 +296,7 @@ benchmarks! { let n in (T::MinCollators::get() + 1) .. T::MaxTopCandidates::get() - 1; let m in 0 .. T::MaxDelegatorsPerCollator::get(); - let u = T::MaxUnstakeRequests::get() as u32 - 1; + let u = T::MaxUnstakeRequests::get() - 1; let candidates = setup_collator_candidates::(n, None); for (i, c) in candidates.iter().enumerate() { fill_delegators::(m, c.clone(), i.saturated_into::()); @@ -519,7 +519,7 @@ benchmarks! { } unlock_unstaked { - let u in 1 .. (T::MaxUnstakeRequests::get() as u32 - 1); + let u in 1 .. (T::MaxUnstakeRequests::get() - 1); let candidate = account("collator", 0u32, COLLATOR_ACCOUNT_SEED); let free_balance = T::CurrencyBalance::from(u128::MAX); diff --git a/pallets/parachain-staking/src/lib.rs b/pallets/parachain-staking/src/lib.rs index cc85b1dc9..163540ea8 100644 --- a/pallets/parachain-staking/src/lib.rs +++ b/pallets/parachain-staking/src/lib.rs @@ -1980,7 +1980,7 @@ pub mod pallet { // Snapshot exposure for round for weighting reward distribution for account in collators.iter() { let state = - CandidatePool::::get(&account).expect("all members of TopCandidates must be candidates q.e.d"); + CandidatePool::::get(account).expect("all members of TopCandidates must be candidates q.e.d"); num_of_delegators = num_of_delegators.max(state.delegators.len().saturated_into::()); // sum up total stake and amount of collators, delegators @@ -2270,8 +2270,8 @@ pub mod pallet { .map(pallet_session::Pallet::::disable_index); // Kill storage - BlocksAuthored::::remove(&collator); - BlocksRewarded::::remove(&collator); + BlocksAuthored::::remove(collator); + BlocksRewarded::::remove(collator); CandidatePool::::remove(&collator); Ok(()) } diff --git a/pallets/public-credentials/Cargo.toml b/pallets/public-credentials/Cargo.toml index 52899c206..8fc5f7dc7 100644 --- a/pallets/public-credentials/Cargo.toml +++ b/pallets/public-credentials/Cargo.toml @@ -1,5 +1,3 @@ -cargo-features = ["workspace-inheritance"] - [package] authors.workspace = true documentation.workspace = true diff --git a/pallets/public-credentials/src/benchmarking.rs b/pallets/public-credentials/src/benchmarking.rs index ee452732b..0434da3f8 100644 --- a/pallets/public-credentials/src/benchmarking.rs +++ b/pallets/public-credentials/src/benchmarking.rs @@ -70,7 +70,7 @@ benchmarks! { )); let credential_id = generate_credential_id::(&creation_op, &attester); - ctype::Ctypes::::insert(&ctype_hash, attester.clone()); + ctype::Ctypes::::insert(ctype_hash, attester.clone()); reserve_balance::(&sender); let origin = ::EnsureOrigin::generate_origin(sender, attester); }: _(origin, creation_op) @@ -97,7 +97,7 @@ benchmarks! { reserve_balance::(&sender); - ctype::Ctypes::::insert(&ctype_hash, attester); + ctype::Ctypes::::insert(ctype_hash, attester); Pallet::::add(origin.clone(), creation_op).expect("Pallet::add should not fail"); let credential_id_clone = credential_id.clone(); }: _(origin, credential_id_clone, None) @@ -123,7 +123,7 @@ benchmarks! { reserve_balance::(&sender); - ctype::Ctypes::::insert(&ctype_hash, attester); + ctype::Ctypes::::insert(ctype_hash, attester); Pallet::::add(origin.clone(), creation_op).expect("Pallet::add should not fail"); Pallet::::revoke(origin.clone(), credential_id.clone(), None).expect("Pallet::revoke should not fail"); let credential_id_clone = credential_id.clone(); @@ -149,7 +149,7 @@ benchmarks! { reserve_balance::(&sender); - ctype::Ctypes::::insert(&ctype_hash, attester); + ctype::Ctypes::::insert(ctype_hash, attester); Pallet::::add(origin.clone(), creation_op).expect("Pallet::add should not fail"); let credential_id_clone = credential_id.clone(); }: _(origin, credential_id_clone, None) @@ -175,7 +175,7 @@ benchmarks! { reserve_balance::(&sender); - ctype::Ctypes::::insert(&ctype_hash, attester); + ctype::Ctypes::::insert(ctype_hash, attester); Pallet::::add(origin, creation_op).expect("Pallet::add should not fail"); let origin = RawOrigin::Signed(sender); let credential_id_clone = credential_id.clone(); @@ -204,7 +204,7 @@ benchmarks! { reserve_balance::(&deposit_owner_old); reserve_balance::(&deposit_owner_new); - ctype::Ctypes::::insert(&ctype_hash, attester.clone()); + ctype::Ctypes::::insert(ctype_hash, attester.clone()); Pallet::::add(origin, creation_op).expect("Pallet::add should not fail"); let credential_id_clone = credential_id.clone(); let origin = ::EnsureOrigin::generate_origin(deposit_owner_new.clone(), attester); @@ -227,7 +227,7 @@ benchmarks! { let origin = ::EnsureOrigin::generate_origin(deposit_owner.clone(), attester.clone()); reserve_balance::(&deposit_owner); - ctype::Ctypes::::insert(&ctype_hash, attester.clone()); + ctype::Ctypes::::insert(ctype_hash, attester.clone()); let credential_entry = generate_base_credential_entry::( deposit_owner.clone(), diff --git a/pallets/public-credentials/src/lib.rs b/pallets/public-credentials/src/lib.rs index 8a2c47484..78d5d0505 100644 --- a/pallets/public-credentials/src/lib.rs +++ b/pallets/public-credentials/src/lib.rs @@ -259,7 +259,7 @@ pub mod pallet { } = *credential.clone(); ensure!( - ctype::Ctypes::::contains_key(&ctype_hash), + ctype::Ctypes::::contains_key(ctype_hash), ctype::Error::::CTypeNotFound ); @@ -542,10 +542,10 @@ pub mod pallet { ) -> Result<(T::SubjectId, CredentialEntryOf), Error> { // Verify that the credential exists let credential_subject = - CredentialSubjects::::get(&credential_id).ok_or(Error::::CredentialNotFound)?; + CredentialSubjects::::get(credential_id).ok_or(Error::::CredentialNotFound)?; // Should never happen if the line above succeeds - Credentials::::get(&credential_subject, &credential_id) + Credentials::::get(&credential_subject, credential_id) .map(|entry| (credential_subject, entry)) .ok_or(Error::::InternalError) } @@ -560,7 +560,7 @@ pub mod pallet { // Fails if the credential does not exist OR the caller is different than the // original attester. If successful, saves the additional weight used for access // control and returns it at the end of the function. - Credentials::::try_mutate(&credential_subject, &credential_id, |credential_entry| { + Credentials::::try_mutate(credential_subject, credential_id, |credential_entry| { if let Some(credential) = credential_entry { // Additional weight is 0 if the caller is the attester, otherwise it's the // value returned by the access control check, if it does not fail. @@ -605,8 +605,8 @@ pub mod pallet { deposit: Deposit, >>::Balance>, ) -> Result<(), DispatchError> { let credential_subject = - CredentialSubjects::::get(&credential_id).ok_or(Error::::CredentialNotFound)?; - Credentials::::try_mutate(&credential_subject, &credential_id, |credential_entry| { + CredentialSubjects::::get(credential_id).ok_or(Error::::CredentialNotFound)?; + Credentials::::try_mutate(&credential_subject, credential_id, |credential_entry| { if let Some(credential) = credential_entry { credential.deposit = deposit; Ok(()) diff --git a/pallets/public-credentials/src/tests.rs b/pallets/public-credentials/src/tests.rs index cd3e7faec..c84029d57 100644 --- a/pallets/public-credentials/src/tests.rs +++ b/pallets/public-credentials/src/tests.rs @@ -58,7 +58,7 @@ fn add_successful_without_authorization() { DoubleOrigin(ACCOUNT_00, attester.clone()).into(), Box::new(new_credential_1.clone()) )); - let stored_public_credential_details = Credentials::::get(&subject_id, &credential_id_1) + let stored_public_credential_details = Credentials::::get(subject_id, credential_id_1) .expect("Public credential details should be present on chain."); // Test this pallet logic @@ -67,7 +67,7 @@ fn add_successful_without_authorization() { assert_eq!(stored_public_credential_details.block_number, 0); assert_eq!(stored_public_credential_details.ctype_hash, ctype_hash_1); assert_eq!(stored_public_credential_details.authorization_id, None); - assert_eq!(CredentialSubjects::::get(&credential_id_1), Some(subject_id)); + assert_eq!(CredentialSubjects::::get(credential_id_1), Some(subject_id)); // Check deposit reservation logic assert_eq!(Balances::reserved_balance(ACCOUNT_00), deposit); @@ -92,7 +92,7 @@ fn add_successful_without_authorization() { Box::new(new_credential_2.clone()) )); - let stored_public_credential_details = Credentials::::get(&subject_id, &credential_id_2) + let stored_public_credential_details = Credentials::::get(subject_id, credential_id_2) .expect("Public credential #2 details should be present on chain."); // Test this pallet logic @@ -101,7 +101,7 @@ fn add_successful_without_authorization() { assert_eq!(stored_public_credential_details.block_number, 1); assert_eq!(stored_public_credential_details.ctype_hash, ctype_hash_2); assert_eq!(stored_public_credential_details.authorization_id, None); - assert_eq!(CredentialSubjects::::get(&credential_id_2), Some(subject_id)); + assert_eq!(CredentialSubjects::::get(credential_id_2), Some(subject_id)); // Deposit is 2x now assert_eq!(Balances::reserved_balance(ACCOUNT_00), 2 * deposit); @@ -131,7 +131,7 @@ fn add_successful_with_authorization() { DoubleOrigin(ACCOUNT_00, attester.clone()).into(), Box::new(new_credential.clone()) )); - let stored_public_credential_details = Credentials::::get(&subject_id, &credential_id) + let stored_public_credential_details = Credentials::::get(subject_id, credential_id) .expect("Public credential details should be present on chain."); // Test this pallet logic @@ -140,7 +140,7 @@ fn add_successful_with_authorization() { assert_eq!(stored_public_credential_details.block_number, 0); assert_eq!(stored_public_credential_details.ctype_hash, ctype_hash); assert_eq!(stored_public_credential_details.authorization_id, Some(attester)); - assert_eq!(CredentialSubjects::::get(&credential_id), Some(subject_id)); + assert_eq!(CredentialSubjects::::get(credential_id), Some(subject_id)); }); } @@ -275,7 +275,7 @@ fn revoke_successful() { None, )); - let stored_public_credential_details = Credentials::::get(&subject_id, &credential_id) + let stored_public_credential_details = Credentials::::get(subject_id, credential_id) .expect("Public credential details should be present on chain."); // Test this pallet logic @@ -288,7 +288,7 @@ fn revoke_successful() { None, )); - let stored_public_credential_details_2 = Credentials::::get(&subject_id, &credential_id) + let stored_public_credential_details_2 = Credentials::::get(subject_id, credential_id) .expect("Public credential details should be present on chain."); assert_eq!(stored_public_credential_details, stored_public_credential_details_2); @@ -316,7 +316,7 @@ fn revoke_same_attester_wrong_ac() { Some(MockAccessControl(wrong_submitter)) )); - let stored_public_credential_details = Credentials::::get(&subject_id, &credential_id) + let stored_public_credential_details = Credentials::::get(subject_id, credential_id) .expect("Public credential details should be present on chain."); // Test this pallet logic @@ -415,7 +415,7 @@ fn unrevoke_successful() { None, )); - let stored_public_credential_details = Credentials::::get(&subject_id, &credential_id) + let stored_public_credential_details = Credentials::::get(subject_id, credential_id) .expect("Public credential details should be present on chain."); // Test this pallet logic @@ -428,7 +428,7 @@ fn unrevoke_successful() { None, )); - let stored_public_credential_details_2 = Credentials::::get(&subject_id, &credential_id) + let stored_public_credential_details_2 = Credentials::::get(subject_id, credential_id) .expect("Public credential details should be present on chain."); assert_eq!(stored_public_credential_details, stored_public_credential_details_2); @@ -457,7 +457,7 @@ fn unrevoke_same_attester_wrong_ac() { Some(MockAccessControl(wrong_submitter)) )); - let stored_public_credential_details = Credentials::::get(&subject_id, &credential_id) + let stored_public_credential_details = Credentials::::get(subject_id, credential_id) .expect("Public credential details should be present on chain."); // Test this pallet logic @@ -558,8 +558,8 @@ fn remove_successful() { )); // Test this pallet logic - assert!(Credentials::::get(&subject_id, &credential_id).is_none()); - assert!(CredentialSubjects::::get(&credential_id).is_none()); + assert!(Credentials::::get(subject_id, credential_id).is_none()); + assert!(CredentialSubjects::::get(credential_id).is_none()); // Check deposit release logic assert!(Balances::reserved_balance(ACCOUNT_00).is_zero()); @@ -594,8 +594,8 @@ fn remove_same_attester_wrong_ac() { )); // Test this pallet logic - assert!(Credentials::::get(&subject_id, &credential_id).is_none()); - assert!(CredentialSubjects::::get(&credential_id).is_none()); + assert!(Credentials::::get(subject_id, credential_id).is_none()); + assert!(CredentialSubjects::::get(credential_id).is_none()); }); } @@ -689,8 +689,8 @@ fn reclaim_deposit_successful() { )); // Test this pallet logic - assert!(Credentials::::get(&subject_id, &credential_id).is_none()); - assert!(CredentialSubjects::::get(&credential_id).is_none()); + assert!(Credentials::::get(subject_id, credential_id).is_none()); + assert!(CredentialSubjects::::get(credential_id).is_none()); // Check deposit release logic assert!(Balances::reserved_balance(ACCOUNT_00).is_zero()); @@ -775,7 +775,7 @@ fn test_change_deposit_owner() { // Check assert_eq!( - Credentials::::get(&subject_id, &credential_id) + Credentials::::get(subject_id, credential_id) .expect("credential should exist") .deposit .owner, @@ -867,7 +867,7 @@ fn test_update_deposit() { // Check assert_eq!( - Credentials::::get(&subject_id, &credential_id) + Credentials::::get(subject_id, credential_id) .expect("credential should exist") .deposit .amount, diff --git a/runtime-api/did/Cargo.toml b/runtime-api/did/Cargo.toml index dd9a182d9..51a5972eb 100644 --- a/runtime-api/did/Cargo.toml +++ b/runtime-api/did/Cargo.toml @@ -1,5 +1,3 @@ -cargo-features = ["workspace-inheritance"] - [package] authors.workspace = true documentation.workspace = true diff --git a/runtime-api/public-credentials/Cargo.toml b/runtime-api/public-credentials/Cargo.toml index 03306deb9..4d983407b 100644 --- a/runtime-api/public-credentials/Cargo.toml +++ b/runtime-api/public-credentials/Cargo.toml @@ -1,5 +1,3 @@ -cargo-features = ["workspace-inheritance"] - [package] authors.workspace = true documentation.workspace = true diff --git a/runtime-api/staking/Cargo.toml b/runtime-api/staking/Cargo.toml index 4e558ad32..aad32cd56 100644 --- a/runtime-api/staking/Cargo.toml +++ b/runtime-api/staking/Cargo.toml @@ -1,5 +1,3 @@ -cargo-features = ["workspace-inheritance"] - [package] authors.workspace = true documentation.workspace = true diff --git a/runtimes/clone/Cargo.toml b/runtimes/clone/Cargo.toml index 0d69ce902..08d04490e 100644 --- a/runtimes/clone/Cargo.toml +++ b/runtimes/clone/Cargo.toml @@ -1,5 +1,3 @@ -cargo-features = ["workspace-inheritance"] - [package] authors.workspace = true documentation.workspace = true diff --git a/runtimes/common/Cargo.toml b/runtimes/common/Cargo.toml index d52a09082..9c3aec069 100644 --- a/runtimes/common/Cargo.toml +++ b/runtimes/common/Cargo.toml @@ -1,5 +1,3 @@ -cargo-features = ["workspace-inheritance"] - [package] authors.workspace = true documentation.workspace = true diff --git a/runtimes/peregrine/Cargo.toml b/runtimes/peregrine/Cargo.toml index 236a78fcd..30302fdb9 100644 --- a/runtimes/peregrine/Cargo.toml +++ b/runtimes/peregrine/Cargo.toml @@ -1,5 +1,3 @@ -cargo-features = ["workspace-inheritance"] - [package] authors.workspace = true documentation.workspace = true diff --git a/runtimes/peregrine/src/lib.rs b/runtimes/peregrine/src/lib.rs index 03aea7823..94a4b7eeb 100644 --- a/runtimes/peregrine/src/lib.rs +++ b/runtimes/peregrine/src/lib.rs @@ -1258,13 +1258,13 @@ impl_runtime_apis! { impl kilt_runtime_api_public_credentials::PublicCredentials, Hash, public_credentials::CredentialEntry::DelegationNodeId>>, PublicCredentialsFilter, PublicCredentialsApiError> for Runtime { fn get_by_id(credential_id: Hash) -> Option::DelegationNodeId>>> { - let subject = public_credentials::CredentialSubjects::::get(&credential_id)?; - public_credentials::Credentials::::get(&subject, &credential_id) + let subject = public_credentials::CredentialSubjects::::get(credential_id)?; + public_credentials::Credentials::::get(subject, credential_id) } fn get_by_subject(subject: Vec, filter: Option>) -> Result::DelegationNodeId>>)>, PublicCredentialsApiError> { let asset_did = AssetDid::try_from(subject).map_err(|_| PublicCredentialsApiError::InvalidSubjectId)?; - let credentials_prefix = public_credentials::Credentials::::iter_prefix(&asset_did); + let credentials_prefix = public_credentials::Credentials::::iter_prefix(asset_did); if let Some(filter) = filter { Ok(credentials_prefix.filter(|(_, entry)| filter.should_include(entry)).collect()) } else { diff --git a/runtimes/spiritnet/Cargo.toml b/runtimes/spiritnet/Cargo.toml index 389b1d2bb..b54269083 100644 --- a/runtimes/spiritnet/Cargo.toml +++ b/runtimes/spiritnet/Cargo.toml @@ -1,5 +1,3 @@ -cargo-features = ["workspace-inheritance"] - [package] authors.workspace = true documentation.workspace = true diff --git a/runtimes/spiritnet/src/lib.rs b/runtimes/spiritnet/src/lib.rs index 5e10aac9f..95b62454b 100644 --- a/runtimes/spiritnet/src/lib.rs +++ b/runtimes/spiritnet/src/lib.rs @@ -1254,13 +1254,13 @@ impl_runtime_apis! { impl kilt_runtime_api_public_credentials::PublicCredentials, Hash, public_credentials::CredentialEntry::DelegationNodeId>>, PublicCredentialsFilter, PublicCredentialsApiError> for Runtime { fn get_by_id(credential_id: Hash) -> Option::DelegationNodeId>>> { - let subject = public_credentials::CredentialSubjects::::get(&credential_id)?; - public_credentials::Credentials::::get(&subject, &credential_id) + let subject = public_credentials::CredentialSubjects::::get(credential_id)?; + public_credentials::Credentials::::get(subject, credential_id) } fn get_by_subject(subject: Vec, filter: Option>) -> Result::DelegationNodeId>>)>, PublicCredentialsApiError> { let asset_did = AssetDid::try_from(subject).map_err(|_| PublicCredentialsApiError::InvalidSubjectId)?; - let credentials_prefix = public_credentials::Credentials::::iter_prefix(&asset_did); + let credentials_prefix = public_credentials::Credentials::::iter_prefix(asset_did); if let Some(filter) = filter { Ok(credentials_prefix.filter(|(_, entry)| filter.should_include(entry)).collect()) } else { diff --git a/runtimes/standalone/Cargo.toml b/runtimes/standalone/Cargo.toml index df39ef582..279a5f8f3 100644 --- a/runtimes/standalone/Cargo.toml +++ b/runtimes/standalone/Cargo.toml @@ -1,5 +1,3 @@ -cargo-features = ["workspace-inheritance"] - [package] authors.workspace = true documentation.workspace = true diff --git a/runtimes/standalone/src/lib.rs b/runtimes/standalone/src/lib.rs index faf7fdbb4..8cfc60631 100644 --- a/runtimes/standalone/src/lib.rs +++ b/runtimes/standalone/src/lib.rs @@ -1003,13 +1003,13 @@ impl_runtime_apis! { impl kilt_runtime_api_public_credentials::PublicCredentials, Hash, public_credentials::CredentialEntry::DelegationNodeId>>, PublicCredentialsFilter, PublicCredentialsApiError> for Runtime { fn get_by_id(credential_id: Hash) -> Option::DelegationNodeId>>> { - let subject = public_credentials::CredentialSubjects::::get(&credential_id)?; - public_credentials::Credentials::::get(&subject, &credential_id) + let subject = public_credentials::CredentialSubjects::::get(credential_id)?; + public_credentials::Credentials::::get(subject, credential_id) } fn get_by_subject(subject: Vec, filter: Option>) -> Result::DelegationNodeId>>)>, PublicCredentialsApiError> { let asset_did = AssetDid::try_from(subject).map_err(|_| PublicCredentialsApiError::InvalidSubjectId)?; - let credentials_prefix = public_credentials::Credentials::::iter_prefix(&asset_did); + let credentials_prefix = public_credentials::Credentials::::iter_prefix(asset_did); if let Some(filter) = filter { Ok(credentials_prefix.filter(|(_, entry)| filter.should_include(entry)).collect()) } else { diff --git a/rust-toolchain.toml b/rust-toolchain.toml index 514ced16b..f5c70e287 100644 --- a/rust-toolchain.toml +++ b/rust-toolchain.toml @@ -1,3 +1,4 @@ [toolchain] -channel = "nightly-2022-07-24" +channel = "nightly-2022-10-09" +components = [ "rustfmt", "clippy" ] targets = [ "wasm32-unknown-unknown" ] diff --git a/support/Cargo.toml b/support/Cargo.toml index e0a94fb7d..37210d044 100644 --- a/support/Cargo.toml +++ b/support/Cargo.toml @@ -1,5 +1,3 @@ -cargo-features = ["workspace-inheritance"] - [package] authors.workspace = true documentation.workspace = true From 81d881a02dbaaea1e8372e17ffcd05d199c1c7fb Mon Sep 17 00:00:00 2001 From: William Freudenberger Date: Mon, 5 Dec 2022 15:41:58 +0100 Subject: [PATCH 14/38] fix: apply new toolchain to init script --- scripts/init.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/scripts/init.sh b/scripts/init.sh index 93b3404de..c5597c170 100755 --- a/scripts/init.sh +++ b/scripts/init.sh @@ -5,9 +5,9 @@ set -e echo "*** Initializing WASM build environment" if [ -z $CI_PROJECT_NAME ] ; then - rustup install nightly-2022-07-24 + rustup install nightly-2022-10-09 rustup update stable fi -rustup target add wasm32-unknown-unknown --toolchain nightly-2022-07-24 +rustup target add wasm32-unknown-unknown --toolchain nightly-2022-10-09 rustup target add wasm32-unknown-unknown --toolchain stable -rustup override set nightly-2022-07-24 --path $BASEDIR/.. +rustup override set nightly-2022-10-09 --path $BASEDIR/.. From 431c1e9a64096e34f27a440697f59789208c5177 Mon Sep 17 00:00:00 2001 From: William Freudenberger Date: Tue, 6 Dec 2022 16:39:17 +0100 Subject: [PATCH 15/38] feat: upgrade to Polkadot v0.9.32 (#434) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## fixes KILTProtocol/ticket#2289 and KILTProtocol/ticket#2296 * Upgrades from Polkadot v0.9.29 to v0.9.32 * Adds missing feature implementations for all tomls (checked via `subalfred check features` in all crates) * Actually necessary for application of https://github.com/paritytech/substrate/pull/10592 (see runtime changes in [dd81eac](https://github.com/KILTprotocol/kilt-node/pull/434/commits/dd81eac1c44c9309ba49265908435412eb1c0999)) * Migrates Democracy, Preimage and Scheduler pallets to use bounded Calls, see below ## Summary of changes (Polkadot v0.9.30-0.9.32) * Weights v2 are not fully there yet, but the struct now includes the [second field for storage size](https://github.com/paritytech/substrate/pull/12277) (tracking issue: https://github.com/paritytech/substrate/issues/12176) ### Breaking Changes * Breaking: Outer enums (https://github.com/paritytech/substrate/pull/11981) * `Origin` --> `RuntimeOrigin` * `Call` --> `RuntimeCall` * `Event` --> `RuntimeEvent` * ~Convention seems to be to keep `Event`, `Call`, `Origin` for inner pallet usage, e.g. `Did::Origin`~ Update: We use `Runtime` prefix internally as well ### Noteworthy PRs * https://github.com/paritytech/substrate/pull/12109 * https://github.com/paritytech/substrate/pull/12328 * https://github.com/paritytech/cumulus/pull/1585 * Following the effort of decoupling collators and full relay nodes, this PR adds the possibility of pointing the collator to an “external” (non in-process) relay node. This is still considered experimental, and the **relay node is suggested to run on the same machine than the collator for the moment**. * To specify the relay full node rpc: `polkadot-parachain --alice --collator --relay-chain-rpc-url ` * https://github.com/paritytech/substrate/pull/12486 * Before this change only the interpreted WASM executor was included in per default compilations. Making the compiled executor opt-in, now, compiled WASM executor is set by default and an opt-out instead. This could lead to **big performance difference** between using these two, as more recent versions of the interpreter see a regression in performance. ### Scheduler, Preimage, Democracy Migration * https://github.com/paritytech/substrate/pull/11649 * Referenda, Democracy, Scheduler and Preimage pallets are all now bounded in storage access footprint * Removed the concept of a "hard deadline" or weight-override priority and no longer guarantees that at least one scheduled item will be executed per block (since these are both dangerous to parachains which have a strict need of weight limits). This means you must ensure that scheduled items are below the MaximumWeight or they will not be executed. * Interesting comment: https://github.com/paritytech/substrate/pull/11649#discussion_r903159314 > There is migration code which moves existing proposals and referenda over to the new format. However IT DOES NOT MIGRATE EVERYTHING: > > * Preimages are **NOT** migrated. Any registered preimages in Democracy at the time of migration are dropped. Their balance is **NOT UNRESERVED**. > * The re-dispatcher used in the old Democracy implementation is removed. Any proposals scheduled for dispatch by Democracy **WILL NOT EXECUTE**. > > This means you SHOULD ensure that: > > * **the preimage for the runtime upgrade is placed as an imminent preimage, not with a deposit;** > * **no other preimages are in place at the time of upgrade;** > * **there are no other proposals scheduled for dispatch by Democracy at the time of upgrade.** > > The Democracy pallet will be marked as deprecated immediately once Referenda is considered production-ready. **ALL TEAMS ARE RECOMMENDED TO SWITCH SWAY FROM DEMOCRACY PALLET TO REFERENDA/CONVICTION-VOTING PALLETS ASAP** #### Result of `try-runtime` against Spiritnet on Friday Nov 18, 2022: ``` 2022-11-18 09:27:23.917 INFO main runtime::preimage::migration::v1: Migrating 0 images 2022-11-18 09:27:23.917 INFO main runtime::scheduler::migration: Trying to migrate 0 agendas... 2022-11-18 09:27:23.917 INFO main runtime::scheduler::migration: Migrated 0 agendas. 2022-11-18 09:27:23.917 INFO main runtime::democracy::migration::v1: 0 public proposals will be migrated. 2022-11-18 09:27:23.917 INFO main runtime::democracy::migration::v1: 25 referenda will be migrated. 2022-11-18 09:27:23.917 INFO main runtime::democracy::migration::v1: migrating referendum #7 2022-11-18 09:27:23.917 INFO main runtime::democracy::migration::v1: migrating referendum #20 2022-11-18 09:27:23.917 INFO main runtime::democracy::migration::v1: migrating referendum #13 2022-11-18 09:27:23.917 INFO main runtime::democracy::migration::v1: migrating referendum #5 2022-11-18 09:27:23.917 INFO main runtime::democracy::migration::v1: migrating referendum #8 2022-11-18 09:27:23.917 INFO main runtime::democracy::migration::v1: migrating referendum #1 2022-11-18 09:27:23.917 INFO main runtime::democracy::migration::v1: migrating referendum #19 2022-11-18 09:27:23.917 INFO main runtime::democracy::migration::v1: migrating referendum #9 2022-11-18 09:27:23.917 INFO main runtime::democracy::migration::v1: migrating referendum #16 2022-11-18 09:27:23.917 INFO main runtime::democracy::migration::v1: migrating referendum #14 2022-11-18 09:27:23.917 INFO main runtime::democracy::migration::v1: migrating referendum #21 2022-11-18 09:27:23.917 INFO main runtime::democracy::migration::v1: migrating referendum #15 2022-11-18 09:27:23.917 INFO main runtime::democracy::migration::v1: migrating referendum #24 2022-11-18 09:27:23.917 INFO main runtime::democracy::migration::v1: migrating referendum #22 2022-11-18 09:27:23.917 INFO main runtime::democracy::migration::v1: migrating referendum #2 2022-11-18 09:27:23.917 INFO main runtime::democracy::migration::v1: migrating referendum #10 2022-11-18 09:27:23.917 INFO main runtime::democracy::migration::v1: migrating referendum #0 2022-11-18 09:27:23.917 INFO main runtime::democracy::migration::v1: migrating referendum #6 2022-11-18 09:27:23.917 INFO main runtime::democracy::migration::v1: migrating referendum #11 2022-11-18 09:27:23.917 INFO main runtime::democracy::migration::v1: migrating referendum #3 2022-11-18 09:27:23.917 INFO main runtime::democracy::migration::v1: migrating referendum #17 2022-11-18 09:27:23.917 INFO main runtime::democracy::migration::v1: migrating referendum #18 2022-11-18 09:27:23.917 INFO main runtime::democracy::migration::v1: migrating referendum #23 2022-11-18 09:27:23.917 INFO main runtime::democracy::migration::v1: migrating referendum #4 2022-11-18 09:27:23.917 INFO main runtime::democracy::migration::v1: migrating referendum #25 2022-11-18 09:27:23.918 INFO main runtime::democracy::migration::v1: 0 public proposals migrated, 25 referenda migrated ``` ## Checklist: - [x] I have verified that the code works - [x] No panics! (checked arithmetic ops, no indexing `array[3]` use `get(3)`, ...) - [x] I have verified that the code is easy to understand - [ ] If not, I have left a well-balanced amount of inline comments - [x] I have [left the code in a better state](https://deviq.com/principles/boy-scout-rule) - [x] I have documented the changes (where applicable) --- Cargo.lock | 2134 +++++++++-------- Cargo.toml | 209 +- nodes/parachain/Cargo.toml | 14 + nodes/parachain/src/cli.rs | 20 +- nodes/parachain/src/command.rs | 22 +- nodes/parachain/src/service.rs | 53 +- nodes/standalone/Cargo.toml | 8 + nodes/standalone/src/benchmarking.rs | 2 +- nodes/standalone/src/cli.rs | 8 +- nodes/standalone/src/command.rs | 8 +- nodes/standalone/src/service.rs | 34 +- pallets/attestation/Cargo.toml | 3 + pallets/attestation/src/benchmarking.rs | 10 +- pallets/attestation/src/lib.rs | 4 +- pallets/attestation/src/mock.rs | 14 +- pallets/attestation/src/tests.rs | 21 +- pallets/ctype/Cargo.toml | 4 +- pallets/ctype/src/benchmarking.rs | 4 +- pallets/ctype/src/lib.rs | 4 +- pallets/ctype/src/mock.rs | 12 +- pallets/delegation/Cargo.toml | 5 + pallets/delegation/src/benchmarking.rs | 20 +- pallets/delegation/src/lib.rs | 4 +- pallets/delegation/src/mock.rs | 16 +- pallets/delegation/src/tests.rs | 15 +- pallets/did/Cargo.toml | 2 + pallets/did/src/benchmarking.rs | 4 +- pallets/did/src/lib.rs | 14 +- pallets/did/src/mock.rs | 36 +- pallets/did/src/origin.rs | 2 +- pallets/did/src/tests.rs | 210 +- pallets/pallet-did-lookup/Cargo.toml | 6 +- pallets/pallet-did-lookup/src/benchmarking.rs | 16 +- pallets/pallet-did-lookup/src/lib.rs | 4 +- pallets/pallet-did-lookup/src/migrations.rs | 23 +- pallets/pallet-did-lookup/src/mock.rs | 12 +- pallets/pallet-did-lookup/src/tests.rs | 19 +- pallets/pallet-inflation/Cargo.toml | 5 +- pallets/pallet-inflation/src/mock.rs | 8 +- pallets/pallet-web3-names/Cargo.toml | 5 +- pallets/pallet-web3-names/src/benchmarking.rs | 10 +- pallets/pallet-web3-names/src/lib.rs | 6 +- pallets/pallet-web3-names/src/mock.rs | 12 +- pallets/pallet-web3-names/src/tests.rs | 4 +- pallets/parachain-staking/Cargo.toml | 8 + pallets/parachain-staking/src/benchmarking.rs | 6 +- pallets/parachain-staking/src/lib.rs | 8 +- pallets/parachain-staking/src/migration.rs | 170 -- pallets/parachain-staking/src/mock.rs | 28 +- pallets/parachain-staking/src/set.rs | 4 +- pallets/parachain-staking/src/tests.rs | 729 +++--- pallets/public-credentials/Cargo.toml | 8 +- .../public-credentials/src/benchmarking.rs | 12 +- pallets/public-credentials/src/lib.rs | 4 +- pallets/public-credentials/src/mock.rs | 14 +- pallets/public-credentials/src/tests.rs | 16 +- runtimes/clone/Cargo.toml | 19 +- runtimes/clone/src/lib.rs | 151 +- runtimes/clone/src/xcm_config.rs | 40 +- runtimes/common/Cargo.toml | 19 + runtimes/common/src/constants.rs | 8 +- runtimes/common/src/fees.rs | 46 +- runtimes/common/src/lib.rs | 10 +- runtimes/common/src/migrations.rs | 65 - runtimes/peregrine/Cargo.toml | 15 +- runtimes/peregrine/src/lib.rs | 398 +-- runtimes/peregrine/src/tests.rs | 62 +- .../peregrine/src/weights/pallet_democracy.rs | 192 +- .../peregrine/src/weights/pallet_proxy.rs | 104 +- .../peregrine/src/weights/pallet_scheduler.rs | 155 +- runtimes/peregrine/src/xcm_config.rs | 38 +- runtimes/spiritnet/Cargo.toml | 17 +- runtimes/spiritnet/src/lib.rs | 394 +-- runtimes/spiritnet/src/tests.rs | 60 +- .../spiritnet/src/weights/pallet_democracy.rs | 192 +- .../spiritnet/src/weights/pallet_proxy.rs | 104 +- .../spiritnet/src/weights/pallet_scheduler.rs | 155 +- runtimes/spiritnet/src/xcm_config.rs | 40 +- runtimes/standalone/Cargo.toml | 14 +- runtimes/standalone/src/lib.rs | 230 +- support/src/mock.rs | 2 +- 81 files changed, 3298 insertions(+), 3285 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index f73dd9439..6fb72fe5d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -121,6 +121,12 @@ dependencies = [ "num-traits", ] +[[package]] +name = "array-bytes" +version = "4.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a913633b0c922e6b745072795f50d90ebea78ba31a57e2ac8c2fc7b50950949" + [[package]] name = "arrayref" version = "0.3.6" @@ -288,9 +294,9 @@ dependencies = [ [[package]] name = "async-std-resolver" -version = "0.21.2" +version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f2f8a4a203be3325981310ab243a28e6e4ea55b6519bffce05d41ab60e09ad8" +checksum = "6ba50e24d9ee0a8950d3d03fc6d0dd10aa14b5de3b101949b4e160f7fee7c723" dependencies = [ "async-std", "async-trait", @@ -401,7 +407,7 @@ dependencies = [ "cfg-if 1.0.0", "libc", "miniz_oxide", - "object 0.29.0", + "object", "rustc-demangle", ] @@ -429,6 +435,12 @@ version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd" +[[package]] +name = "base64ct" +version = "1.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b645a089122eccb6111b4f81cbc1a49f5900ac4666bb93ac027feaecf15607bf" + [[package]] name = "beef" version = "0.5.2" @@ -441,14 +453,14 @@ dependencies = [ [[package]] name = "beefy-gadget" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ + "array-bytes", "async-trait", "beefy-primitives", "fnv", "futures", "futures-timer", - "hex", "log", "parity-scale-codec", "parking_lot 0.12.1", @@ -458,6 +470,7 @@ dependencies = [ "sc-finality-grandpa", "sc-keystore", "sc-network", + "sc-network-common", "sc-network-gossip", "sc-utils", "sp-api", @@ -477,7 +490,7 @@ dependencies = [ [[package]] name = "beefy-gadget-rpc" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "beefy-gadget", "beefy-primitives", @@ -497,32 +510,30 @@ dependencies = [ [[package]] name = "beefy-merkle-tree" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "beefy-primitives", "sp-api", + "sp-runtime", ] [[package]] name = "beefy-primitives" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "parity-scale-codec", "scale-info", + "serde", "sp-api", "sp-application-crypto", "sp-core", + "sp-io", + "sp-mmr-primitives", "sp-runtime", "sp-std", ] -[[package]] -name = "bimap" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc0455254eb5c6964c4545d8bac815e1a1be4f3afe0ae695ea539c12d728d44b" - [[package]] name = "bincode" version = "1.3.3" @@ -534,9 +545,9 @@ dependencies = [ [[package]] name = "bindgen" -version = "0.59.2" +version = "0.60.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2bd2a9a458e8f4304c52c43ebb0cfbd520289f8379a52e329a38afda99bf8eb8" +checksum = "062dddbc1ba4aca46de6338e2bf87771414c335f7b2f2036e8f3e9befebf88e6" dependencies = [ "bitflags", "cexpr", @@ -630,7 +641,7 @@ version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c0940dc441f31689269e10ac70eb1002a3a1d3ad1390e030043662eb7fe4688b" dependencies = [ - "block-padding 0.1.5", + "block-padding", "byte-tools", "byteorder", "generic-array 0.12.4", @@ -642,7 +653,6 @@ version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4" dependencies = [ - "block-padding 0.2.1", "generic-array 0.14.6", ] @@ -664,12 +674,6 @@ dependencies = [ "byte-tools", ] -[[package]] -name = "block-padding" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d696c370c750c948ada61c69a0ee2cbbb9c50b1019ddb86d9317157a99c2cae" - [[package]] name = "blocking" version = "1.2.0" @@ -919,31 +923,29 @@ checksum = "5a050e2153c5be08febd6734e29298e844fdb0fa21aeddd63b4eb7baa106c69b" dependencies = [ "glob", "libc", - "libloading 0.7.3", + "libloading", ] [[package]] name = "clap" -version = "3.2.22" +version = "4.0.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86447ad904c7fb335a790c9d7fe3d0d971dc523b8ccd1561a520de9a85302750" +checksum = "0eb41c13df48950b20eb4cd0eefa618819469df1bffc49d11e8487c4ba0037e5" dependencies = [ "atty", "bitflags", "clap_derive", "clap_lex", - "indexmap", "once_cell", "strsim", "termcolor", - "textwrap", ] [[package]] name = "clap_derive" -version = "3.2.18" +version = "4.0.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea0c8bce528c4be4da13ea6fead8965e95b6073585a2f05204bd8f4119f82a65" +checksum = "0177313f9f02afc995627906bbd8967e2be069f5261954222dac78290c2b9014" dependencies = [ "heck", "proc-macro-error", @@ -954,9 +956,9 @@ dependencies = [ [[package]] name = "clap_lex" -version = "0.2.4" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2850f2f5a82cbf437dd5af4d49848fbdfc27c157c3d010345776f952765261c5" +checksum = "0d4198f73e42b4936b35b5bb248d81d2b595ecb170da0bac7655c54eedfa8da8" dependencies = [ "os_str_bytes", ] @@ -1020,15 +1022,6 @@ dependencies = [ "xcm-executor", ] -[[package]] -name = "cmake" -version = "0.1.48" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8ad8cef104ac57b68b89df3208164d228503abbdce70f6880ffa3d970e7443a" -dependencies = [ - "cc", -] - [[package]] name = "coarsetime" version = "0.1.22" @@ -1124,19 +1117,21 @@ dependencies = [ [[package]] name = "cranelift-bforest" -version = "0.85.3" +version = "0.88.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "749d0d6022c9038dccf480bdde2a38d435937335bf2bb0f14e815d94517cdce8" +checksum = "52056f6d0584484b57fa6c1a65c1fcb15f3780d8b6a758426d9e3084169b2ddd" dependencies = [ "cranelift-entity", ] [[package]] name = "cranelift-codegen" -version = "0.85.3" +version = "0.88.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e94370cc7b37bf652ccd8bb8f09bd900997f7ccf97520edfc75554bb5c4abbea" +checksum = "18fed94c8770dc25d01154c3ffa64ed0b3ba9d583736f305fed7beebe5d9cf74" dependencies = [ + "arrayvec 0.7.2", + "bumpalo", "cranelift-bforest", "cranelift-codegen-meta", "cranelift-codegen-shared", @@ -1151,33 +1146,33 @@ dependencies = [ [[package]] name = "cranelift-codegen-meta" -version = "0.85.3" +version = "0.88.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0a3cea8fdab90e44018c5b9a1dfd460d8ee265ac354337150222a354628bdb6" +checksum = "1c451b81faf237d11c7e4f3165eeb6bac61112762c5cfe7b4c0fb7241474358f" dependencies = [ "cranelift-codegen-shared", ] [[package]] name = "cranelift-codegen-shared" -version = "0.85.3" +version = "0.88.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ac72f76f2698598951ab26d8c96eaa854810e693e7dd52523958b5909fde6b2" +checksum = "e7c940133198426d26128f08be2b40b0bd117b84771fd36798969c4d712d81fc" [[package]] name = "cranelift-entity" -version = "0.85.3" +version = "0.88.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09eaeacfcd2356fe0e66b295e8f9d59fdd1ac3ace53ba50de14d628ec902f72d" +checksum = "87a0f1b2fdc18776956370cf8d9b009ded3f855350c480c1c52142510961f352" dependencies = [ "serde", ] [[package]] name = "cranelift-frontend" -version = "0.85.3" +version = "0.88.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dba69c9980d5ffd62c18a2bde927855fcd7c8dc92f29feaf8636052662cbd99c" +checksum = "34897538b36b216cc8dd324e73263596d51b8cf610da6498322838b2546baf8a" dependencies = [ "cranelift-codegen", "log", @@ -1187,15 +1182,15 @@ dependencies = [ [[package]] name = "cranelift-isle" -version = "0.85.3" +version = "0.88.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2920dc1e05cac40304456ed3301fde2c09bd6a9b0210bcfa2f101398d628d5b" +checksum = "1b2629a569fae540f16a76b70afcc87ad7decb38dc28fa6c648ac73b51e78470" [[package]] name = "cranelift-native" -version = "0.85.3" +version = "0.88.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f04dfa45f9b2a6f587c564d6b63388e00cd6589d2df6ea2758cf79e1a13285e6" +checksum = "20937dab4e14d3e225c5adfc9c7106bafd4ac669bdb43027b911ff794c6fb318" dependencies = [ "cranelift-codegen", "libc", @@ -1204,9 +1199,9 @@ dependencies = [ [[package]] name = "cranelift-wasm" -version = "0.85.3" +version = "0.88.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31a46513ae6f26f3f267d8d75b5373d555fbbd1e68681f348d99df43f747ec54" +checksum = "80fc2288957a94fd342a015811479de1837850924166d1f1856d8406e6f3609b" dependencies = [ "cranelift-codegen", "cranelift-entity", @@ -1369,21 +1364,10 @@ dependencies = [ "substrate-wasm-builder", ] -[[package]] -name = "cuckoofilter" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b810a8449931679f64cd7eef1bbd0fa315801b6d5d9cdc1ace2804d6529eee18" -dependencies = [ - "byteorder", - "fnv", - "rand 0.7.3", -] - [[package]] name = "cumulus-client-cli" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.29#2fa95572487cfcf8dbe6941bf93545c39d47f784" +source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.32#6abd385ce49f7feb882218646410feb063404b77" dependencies = [ "clap", "parity-scale-codec", @@ -1398,12 +1382,11 @@ dependencies = [ [[package]] name = "cumulus-client-collator" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.29#2fa95572487cfcf8dbe6941bf93545c39d47f784" +source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.32#6abd385ce49f7feb882218646410feb063404b77" dependencies = [ "cumulus-client-consensus-common", "cumulus-client-network", "cumulus-primitives-core", - "cumulus-relay-chain-interface", "futures", "parity-scale-codec", "parking_lot 0.12.1", @@ -1422,7 +1405,7 @@ dependencies = [ [[package]] name = "cumulus-client-consensus-aura" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.29#2fa95572487cfcf8dbe6941bf93545c39d47f784" +source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.32#6abd385ce49f7feb882218646410feb063404b77" dependencies = [ "async-trait", "cumulus-client-consensus-common", @@ -1451,7 +1434,7 @@ dependencies = [ [[package]] name = "cumulus-client-consensus-common" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.29#2fa95572487cfcf8dbe6941bf93545c39d47f784" +source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.32#6abd385ce49f7feb882218646410feb063404b77" dependencies = [ "async-trait", "cumulus-relay-chain-interface", @@ -1461,7 +1444,6 @@ dependencies = [ "polkadot-primitives", "sc-client-api", "sc-consensus", - "sp-api", "sp-blockchain", "sp-consensus", "sp-runtime", @@ -1472,11 +1454,10 @@ dependencies = [ [[package]] name = "cumulus-client-network" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.29#2fa95572487cfcf8dbe6941bf93545c39d47f784" +source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.32#6abd385ce49f7feb882218646410feb063404b77" dependencies = [ "async-trait", "cumulus-relay-chain-interface", - "derive_more", "futures", "futures-timer", "parity-scale-codec", @@ -1485,7 +1466,6 @@ dependencies = [ "polkadot-parachain", "polkadot-primitives", "sc-client-api", - "sp-api", "sp-blockchain", "sp-consensus", "sp-core", @@ -1497,7 +1477,7 @@ dependencies = [ [[package]] name = "cumulus-client-pov-recovery" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.29#2fa95572487cfcf8dbe6941bf93545c39d47f784" +source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.32#6abd385ce49f7feb882218646410feb063404b77" dependencies = [ "cumulus-primitives-core", "cumulus-relay-chain-interface", @@ -1511,7 +1491,6 @@ dependencies = [ "rand 0.8.5", "sc-client-api", "sc-consensus", - "sp-api", "sp-consensus", "sp-maybe-compressed-blob", "sp-runtime", @@ -1521,7 +1500,7 @@ dependencies = [ [[package]] name = "cumulus-client-service" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.29#2fa95572487cfcf8dbe6941bf93545c39d47f784" +source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.32#6abd385ce49f7feb882218646410feb063404b77" dependencies = [ "cumulus-client-cli", "cumulus-client-collator", @@ -1530,34 +1509,27 @@ dependencies = [ "cumulus-primitives-core", "cumulus-relay-chain-interface", "parking_lot 0.12.1", - "polkadot-overseer", "polkadot-primitives", "sc-client-api", "sc-consensus", - "sc-consensus-babe", "sc-service", - "sc-telemetry", - "sc-tracing", "sp-api", "sp-blockchain", "sp-consensus", "sp-core", "sp-runtime", - "tracing", ] [[package]] name = "cumulus-pallet-aura-ext" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.29#2fa95572487cfcf8dbe6941bf93545c39d47f784" +source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.32#6abd385ce49f7feb882218646410feb063404b77" dependencies = [ - "frame-executive", "frame-support", "frame-system", "pallet-aura", "parity-scale-codec", "scale-info", - "serde", "sp-application-crypto", "sp-consensus-aura", "sp-runtime", @@ -1567,7 +1539,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-dmp-queue" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.29#2fa95572487cfcf8dbe6941bf93545c39d47f784" +source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.32#6abd385ce49f7feb882218646410feb063404b77" dependencies = [ "cumulus-primitives-core", "frame-support", @@ -1579,13 +1551,12 @@ dependencies = [ "sp-runtime", "sp-std", "xcm", - "xcm-executor", ] [[package]] name = "cumulus-pallet-parachain-system" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.29#2fa95572487cfcf8dbe6941bf93545c39d47f784" +source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.32#6abd385ce49f7feb882218646410feb063404b77" dependencies = [ "bytes", "cumulus-pallet-parachain-system-proc-macro", @@ -1596,11 +1567,9 @@ dependencies = [ "frame-system", "impl-trait-for-tuples", "log", - "pallet-balances", "parity-scale-codec", "polkadot-parachain", "scale-info", - "serde", "sp-core", "sp-externalities", "sp-inherents", @@ -1610,13 +1579,12 @@ dependencies = [ "sp-std", "sp-trie", "sp-version", - "xcm", ] [[package]] name = "cumulus-pallet-parachain-system-proc-macro" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.29#2fa95572487cfcf8dbe6941bf93545c39d47f784" +source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.32#6abd385ce49f7feb882218646410feb063404b77" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -1627,7 +1595,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-session-benchmarking" version = "3.0.0" -source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.29#2fa95572487cfcf8dbe6941bf93545c39d47f784" +source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.32#6abd385ce49f7feb882218646410feb063404b77" dependencies = [ "frame-benchmarking", "frame-support", @@ -1641,10 +1609,9 @@ dependencies = [ [[package]] name = "cumulus-pallet-solo-to-para" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.29#2fa95572487cfcf8dbe6941bf93545c39d47f784" +source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.32#6abd385ce49f7feb882218646410feb063404b77" dependencies = [ "cumulus-pallet-parachain-system", - "cumulus-primitives-core", "frame-support", "frame-system", "pallet-sudo", @@ -1658,14 +1625,13 @@ dependencies = [ [[package]] name = "cumulus-pallet-xcm" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.29#2fa95572487cfcf8dbe6941bf93545c39d47f784" +source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.32#6abd385ce49f7feb882218646410feb063404b77" dependencies = [ "cumulus-primitives-core", "frame-support", "frame-system", "parity-scale-codec", "scale-info", - "serde", "sp-io", "sp-runtime", "sp-std", @@ -1675,9 +1641,10 @@ dependencies = [ [[package]] name = "cumulus-pallet-xcmp-queue" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.29#2fa95572487cfcf8dbe6941bf93545c39d47f784" +source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.32#6abd385ce49f7feb882218646410feb063404b77" dependencies = [ "cumulus-primitives-core", + "frame-benchmarking", "frame-support", "frame-system", "log", @@ -1693,9 +1660,8 @@ dependencies = [ [[package]] name = "cumulus-primitives-core" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.29#2fa95572487cfcf8dbe6941bf93545c39d47f784" +source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.32#6abd385ce49f7feb882218646410feb063404b77" dependencies = [ - "frame-support", "parity-scale-codec", "polkadot-core-primitives", "polkadot-parachain", @@ -1709,7 +1675,7 @@ dependencies = [ [[package]] name = "cumulus-primitives-parachain-inherent" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.29#2fa95572487cfcf8dbe6941bf93545c39d47f784" +source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.32#6abd385ce49f7feb882218646410feb063404b77" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -1732,7 +1698,7 @@ dependencies = [ [[package]] name = "cumulus-primitives-timestamp" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.29#2fa95572487cfcf8dbe6941bf93545c39d47f784" +source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.32#6abd385ce49f7feb882218646410feb063404b77" dependencies = [ "cumulus-primitives-core", "futures", @@ -1745,18 +1711,14 @@ dependencies = [ [[package]] name = "cumulus-primitives-utility" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.29#2fa95572487cfcf8dbe6941bf93545c39d47f784" +source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.32#6abd385ce49f7feb882218646410feb063404b77" dependencies = [ "cumulus-primitives-core", "frame-support", "log", "parity-scale-codec", - "polkadot-core-primitives", - "polkadot-parachain", - "polkadot-primitives", "sp-runtime", "sp-std", - "sp-trie", "xcm", "xcm-builder", "xcm-executor", @@ -1765,7 +1727,7 @@ dependencies = [ [[package]] name = "cumulus-relay-chain-inprocess-interface" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.29#2fa95572487cfcf8dbe6941bf93545c39d47f784" +source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.32#6abd385ce49f7feb882218646410feb063404b77" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -1777,47 +1739,83 @@ dependencies = [ "polkadot-service", "sc-cli", "sc-client-api", - "sc-consensus-babe", - "sc-network", "sc-sysinfo", "sc-telemetry", "sc-tracing", "sp-api", - "sp-blockchain", "sp-consensus", "sp-core", "sp-runtime", "sp-state-machine", - "tracing", ] [[package]] name = "cumulus-relay-chain-interface" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.29#2fa95572487cfcf8dbe6941bf93545c39d47f784" +source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.32#6abd385ce49f7feb882218646410feb063404b77" dependencies = [ "async-trait", "cumulus-primitives-core", - "derive_more", "futures", "jsonrpsee-core", "parity-scale-codec", - "parking_lot 0.12.1", "polkadot-overseer", "polkadot-service", "sc-client-api", "sp-api", "sp-blockchain", - "sp-core", - "sp-runtime", "sp-state-machine", "thiserror", ] +[[package]] +name = "cumulus-relay-chain-minimal-node" +version = "0.1.0" +source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.32#6abd385ce49f7feb882218646410feb063404b77" +dependencies = [ + "array-bytes", + "async-trait", + "cumulus-primitives-core", + "cumulus-relay-chain-interface", + "cumulus-relay-chain-rpc-interface", + "futures", + "lru 0.8.1", + "polkadot-availability-distribution", + "polkadot-core-primitives", + "polkadot-network-bridge", + "polkadot-node-core-av-store", + "polkadot-node-network-protocol", + "polkadot-node-subsystem-util", + "polkadot-overseer", + "polkadot-primitives", + "polkadot-service", + "sc-authority-discovery", + "sc-client-api", + "sc-consensus", + "sc-keystore", + "sc-network", + "sc-network-common", + "sc-network-light", + "sc-network-sync", + "sc-service", + "sc-telemetry", + "sc-tracing", + "sc-transaction-pool", + "sc-transaction-pool-api", + "sp-api", + "sp-blockchain", + "sp-consensus", + "sp-consensus-babe", + "sp-runtime", + "tokio", + "tracing", + "url", +] + [[package]] name = "cumulus-relay-chain-rpc-interface" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.29#2fa95572487cfcf8dbe6941bf93545c39d47f784" +source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.32#6abd385ce49f7feb882218646410feb063404b77" dependencies = [ "async-trait", "backoff", @@ -1827,11 +1825,12 @@ dependencies = [ "futures-timer", "jsonrpsee", "parity-scale-codec", - "parking_lot 0.12.1", "polkadot-service", "sc-client-api", "sc-rpc-api", "sp-api", + "sp-authority-discovery", + "sp-consensus-babe", "sp-core", "sp-runtime", "sp-state-machine", @@ -1844,7 +1843,7 @@ dependencies = [ [[package]] name = "cumulus-test-relay-sproof-builder" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.29#2fa95572487cfcf8dbe6941bf93545c39d47f784" +source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.32#6abd385ce49f7feb882218646410feb063404b77" dependencies = [ "cumulus-primitives-core", "parity-scale-codec", @@ -1998,6 +1997,12 @@ dependencies = [ "substrate-wasm-builder", ] +[[package]] +name = "difflib" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6184e33543162437515c2e2b48714794e37845ec9851711914eec9d308f6ebe8" + [[package]] name = "digest" version = "0.8.1" @@ -2078,6 +2083,12 @@ dependencies = [ "quick-error", ] +[[package]] +name = "downcast" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1435fa1053d8b2fbbe9be7e97eca7f33d37b28409959813daefc1446a14247f1" + [[package]] name = "downcast-rs" version = "1.2.0" @@ -2192,9 +2203,9 @@ dependencies = [ [[package]] name = "enum-as-inner" -version = "0.4.0" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21cdad81446a7f7dc43f6a77409efeb9733d2fa65553efef6018ef257c959b73" +checksum = "c9720bba047d567ffc8a3cba48bf19126600e249ab7f128e9233e6376976a116" dependencies = [ "heck", "proc-macro2", @@ -2397,7 +2408,7 @@ dependencies = [ "cfg-if 1.0.0", "libc", "redox_syscall", - "windows-sys", + "windows-sys 0.36.1", ] [[package]] @@ -2418,9 +2429,9 @@ dependencies = [ [[package]] name = "fixed-hash" -version = "0.7.0" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cfcf0ed7fe52a17a03854ec54a9f76d6d84508d1c0e66bc1793301c73fc8493c" +checksum = "835c052cb0c08c1acf6ffd71c022172e18723949c8282f2b9f27efbc51e64534" dependencies = [ "byteorder", "rand 0.8.5", @@ -2445,6 +2456,15 @@ dependencies = [ "miniz_oxide", ] +[[package]] +name = "float-cmp" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "98de4bbd547a563b716d8dfa9aad1cb19bfab00f4fa09a6a4ed21dbcf44ce9c4" +dependencies = [ + "num-traits", +] + [[package]] name = "fnv" version = "1.0.7" @@ -2454,25 +2474,30 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" [[package]] name = "fork-tree" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "parity-scale-codec", ] [[package]] name = "form_urlencoded" -version = "1.0.1" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5fc25a87fa4fd2094bffb06925852034d90a17f0d1e05197d4956d3555752191" +checksum = "a9c384f161156f5260c24a097c56119f9be8c798586aecc13afbcbe7b7e26bf8" dependencies = [ - "matches", "percent-encoding", ] +[[package]] +name = "fragile" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c2141d6d6c8512188a7891b4b01590a45f6dac67afb4f255c4124dbb86d4eaa" + [[package]] name = "frame-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "frame-support", "frame-system", @@ -2495,9 +2520,10 @@ dependencies = [ [[package]] name = "frame-benchmarking-cli" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "Inflector", + "array-bytes", "chrono", "clap", "comfy-table", @@ -2507,7 +2533,6 @@ dependencies = [ "gethostname", "handlebars", "hash-db", - "hex", "itertools", "kvdb", "lazy_static", @@ -2546,7 +2571,7 @@ dependencies = [ [[package]] name = "frame-election-provider-solution-type" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -2557,7 +2582,7 @@ dependencies = [ [[package]] name = "frame-election-provider-support" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "frame-election-provider-solution-type", "frame-support", @@ -2573,7 +2598,7 @@ dependencies = [ [[package]] name = "frame-executive" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "frame-support", "frame-system", @@ -2602,7 +2627,7 @@ dependencies = [ [[package]] name = "frame-support" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "bitflags", "frame-metadata", @@ -2627,13 +2652,14 @@ dependencies = [ "sp-state-machine", "sp-std", "sp-tracing", + "sp-weights", "tt-call", ] [[package]] name = "frame-support-procedural" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "Inflector", "cfg-expr", @@ -2647,7 +2673,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate", @@ -2659,7 +2685,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "proc-macro2", "quote", @@ -2669,7 +2695,7 @@ dependencies = [ [[package]] name = "frame-system" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "frame-support", "log", @@ -2681,12 +2707,13 @@ dependencies = [ "sp-runtime", "sp-std", "sp-version", + "sp-weights", ] [[package]] name = "frame-system-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "frame-benchmarking", "frame-support", @@ -2701,7 +2728,7 @@ dependencies = [ [[package]] name = "frame-system-rpc-runtime-api" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "parity-scale-codec", "sp-api", @@ -2710,7 +2737,7 @@ dependencies = [ [[package]] name = "frame-try-runtime" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "frame-support", "parity-scale-codec", @@ -2725,18 +2752,6 @@ version = "2.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "64db3e262960f0662f43a6366788d5f10f7f244b8f7d7d987f560baf5ded5c50" -[[package]] -name = "fs-swap" -version = "0.2.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03d47dad3685eceed8488986cad3d5027165ea5edb164331770e2059555f10a5" -dependencies = [ - "lazy_static", - "libc", - "libloading 0.5.2", - "winapi", -] - [[package]] name = "fs2" version = "0.4.3" @@ -3054,15 +3069,6 @@ dependencies = [ "crunchy", ] -[[package]] -name = "hashbrown" -version = "0.11.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e" -dependencies = [ - "ahash", -] - [[package]] name = "hashbrown" version = "0.12.3" @@ -3099,12 +3105,6 @@ version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7ebdb29d2ea9ed0083cd8cece49bbd968021bd99b0849edb4a9a7ee0fdf6a4e0" -[[package]] -name = "hex_fmt" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b07f60793ff0a4d9cef0f18e63b5357e06209987153a64648c972c1e5aff336f" - [[package]] name = "hmac" version = "0.8.1" @@ -3250,6 +3250,16 @@ dependencies = [ "unicode-normalization", ] +[[package]] +name = "idna" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e14ddfc70884202db2244c223200c204c2bda1bc6e0998d11b5e024d657209e6" +dependencies = [ + "unicode-bidi", + "unicode-normalization", +] + [[package]] name = "if-addrs" version = "0.7.0" @@ -3262,9 +3272,9 @@ dependencies = [ [[package]] name = "if-watch" -version = "1.1.1" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "015a7df1eb6dda30df37f34b63ada9b7b352984b0e84de2a20ed526345000791" +checksum = "065c008e570a43c00de6aed9714035e5ea6a498c255323db9091722af6ee67dd" dependencies = [ "async-io", "core-foundation", @@ -3289,9 +3299,9 @@ dependencies = [ [[package]] name = "impl-serde" -version = "0.3.2" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4551f042f3438e64dbd6226b20527fc84a6e1fe65688b58746a2f53623f25f5c" +checksum = "ebc88fc67028ae3db0c853baa36269d398d5f45b6982f95549ff5def78c935cd" dependencies = [ "serde", ] @@ -3314,7 +3324,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "10a35a97730320ffe8e2d410b5d3b69279b98d2c14bdb8b70ea89ecf7888d41e" dependencies = [ "autocfg", - "hashbrown 0.12.3", + "hashbrown", "serde", ] @@ -3344,15 +3354,19 @@ dependencies = [ [[package]] name = "io-lifetimes" -version = "0.5.3" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec58677acfea8a15352d42fc87d11d63596ade9239e0a7c9352914417515dbe6" +checksum = "1ea37f355c05dde75b84bba2d767906ad522e97cd9e2eef2be7a4ab7fb442c06" [[package]] name = "io-lifetimes" -version = "0.7.3" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ea37f355c05dde75b84bba2d767906ad522e97cd9e2eef2be7a4ab7fb442c06" +checksum = "a7d367024b3f3414d8e01f437f704f41a9f64ab36f9067fa73e526ad4c763c87" +dependencies = [ + "libc", + "windows-sys 0.42.0", +] [[package]] name = "ip_network" @@ -3609,6 +3623,7 @@ dependencies = [ "cumulus-primitives-parachain-inherent", "cumulus-relay-chain-inprocess-interface", "cumulus-relay-chain-interface", + "cumulus-relay-chain-minimal-node", "cumulus-relay-chain-rpc-interface", "frame-benchmarking", "frame-benchmarking-cli", @@ -3705,8 +3720,8 @@ dependencies = [ [[package]] name = "kusama-runtime" -version = "0.9.29" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76" +version = "0.9.32" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" dependencies = [ "beefy-primitives", "bitvec", @@ -3729,10 +3744,12 @@ dependencies = [ "pallet-bounties", "pallet-child-bounties", "pallet-collective", + "pallet-conviction-voting", "pallet-democracy", "pallet-election-provider-multi-phase", "pallet-election-provider-support-benchmarking", "pallet-elections-phragmen", + "pallet-fast-unstake", "pallet-gilt", "pallet-grandpa", "pallet-identity", @@ -3747,7 +3764,9 @@ dependencies = [ "pallet-offences-benchmarking", "pallet-preimage", "pallet-proxy", + "pallet-ranked-collective", "pallet-recovery", + "pallet-referenda", "pallet-scheduler", "pallet-session", "pallet-session-benchmarking", @@ -3761,6 +3780,7 @@ dependencies = [ "pallet-treasury", "pallet-utility", "pallet-vesting", + "pallet-whitelist", "pallet-xcm", "pallet-xcm-benchmarks", "parity-scale-codec", @@ -3798,14 +3818,16 @@ dependencies = [ [[package]] name = "kusama-runtime-constants" -version = "0.9.29" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76" +version = "0.9.32" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" dependencies = [ "frame-support", "polkadot-primitives", "polkadot-runtime-common", "smallvec", + "sp-core", "sp-runtime", + "sp-weights", ] [[package]] @@ -3819,9 +3841,9 @@ dependencies = [ [[package]] name = "kvdb" -version = "0.11.0" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a301d8ecb7989d4a6e2c57a49baca77d353bdbf879909debe3f375fe25d61f86" +checksum = "585089ceadba0197ffe9af6740ab350b325e3c1f5fccfbc3522e0250c750409b" dependencies = [ "parity-util-mem", "smallvec", @@ -3829,9 +3851,9 @@ dependencies = [ [[package]] name = "kvdb-memorydb" -version = "0.11.0" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ece7e668abd21387aeb6628130a6f4c802787f014fa46bc83221448322250357" +checksum = "40d109c87bfb7759edd2a49b2649c1afe25af785d930ad6a38479b4dc70dd873" dependencies = [ "kvdb", "parity-util-mem", @@ -3840,15 +3862,13 @@ dependencies = [ [[package]] name = "kvdb-rocksdb" -version = "0.15.2" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca7fbdfd71cd663dceb0faf3367a99f8cf724514933e9867cec4995b6027cbc1" +checksum = "c076cc2cdbac89b9910c853a36c957d3862a779f31c2661174222cefb49ee597" dependencies = [ - "fs-swap", "kvdb", "log", "num_cpus", - "owning_ref", "parity-util-mem", "parking_lot 0.12.1", "regex", @@ -3870,19 +3890,9 @@ checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" [[package]] name = "libc" -version = "0.2.132" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8371e4e5341c3a96db127eb2465ac681ced4c433e01dd0e938adbef26ba93ba5" - -[[package]] -name = "libloading" -version = "0.5.2" +version = "0.2.137" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2b111a074963af1d37a139918ac6d49ad1d0d5e47f72fd55388619691a7d753" -dependencies = [ - "cc", - "winapi", -] +checksum = "fc7fcc620a3bff7cdd7a365be3376c97191aeaccc2a603e600951e452615bf89" [[package]] name = "libloading" @@ -3902,9 +3912,9 @@ checksum = "292a948cd991e376cf75541fe5b97a1081d713c618b4f1b9500f8844e49eb565" [[package]] name = "libp2p" -version = "0.46.1" +version = "0.49.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81327106887e42d004fbdab1fef93675be2e2e07c1b95fce45e2cc813485611d" +checksum = "ec878fda12ebec479186b3914ebc48ff180fa4c51847e11a1a68bf65249e02c1" dependencies = [ "bytes", "futures", @@ -3912,12 +3922,8 @@ dependencies = [ "getrandom 0.2.7", "instant", "lazy_static", - "libp2p-autonat", "libp2p-core", - "libp2p-deflate", "libp2p-dns", - "libp2p-floodsub", - "libp2p-gossipsub", "libp2p-identify", "libp2p-kad", "libp2p-mdns", @@ -3925,49 +3931,24 @@ dependencies = [ "libp2p-mplex", "libp2p-noise", "libp2p-ping", - "libp2p-plaintext", - "libp2p-pnet", - "libp2p-relay", - "libp2p-rendezvous", "libp2p-request-response", "libp2p-swarm", "libp2p-swarm-derive", "libp2p-tcp", - "libp2p-uds", "libp2p-wasm-ext", "libp2p-websocket", "libp2p-yamux", "multiaddr", "parking_lot 0.12.1", "pin-project", - "rand 0.7.3", "smallvec", ] -[[package]] -name = "libp2p-autonat" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4decc51f3573653a9f4ecacb31b1b922dd20c25a6322bb15318ec04287ec46f9" -dependencies = [ - "async-trait", - "futures", - "futures-timer", - "instant", - "libp2p-core", - "libp2p-request-response", - "libp2p-swarm", - "log", - "prost", - "prost-build", - "rand 0.8.5", -] - [[package]] name = "libp2p-core" -version = "0.34.0" +version = "0.37.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbf9b94cefab7599b2d3dff2f93bee218c6621d68590b23ede4485813cbcece6" +checksum = "799676bb0807c788065e57551c6527d461ad572162b0519d1958946ff9e0539d" dependencies = [ "asn1_der", "bs58", @@ -3978,7 +3959,6 @@ dependencies = [ "futures-timer", "instant", "lazy_static", - "libsecp256k1", "log", "multiaddr", "multihash", @@ -3988,7 +3968,6 @@ dependencies = [ "prost", "prost-build", "rand 0.8.5", - "ring", "rw-stream-sink", "sha2 0.10.2", "smallvec", @@ -3998,22 +3977,11 @@ dependencies = [ "zeroize", ] -[[package]] -name = "libp2p-deflate" -version = "0.34.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0183dc2a3da1fbbf85e5b6cf51217f55b14f5daea0c455a9536eef646bfec71" -dependencies = [ - "flate2", - "futures", - "libp2p-core", -] - [[package]] name = "libp2p-dns" -version = "0.34.0" +version = "0.37.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6cbf54723250fa5d521383be789bf60efdabe6bacfb443f87da261019a49b4b5" +checksum = "2322c9fb40d99101def6a01612ee30500c89abbbecb6297b3cd252903a4c1720" dependencies = [ "async-std-resolver", "futures", @@ -4025,92 +3993,46 @@ dependencies = [ ] [[package]] -name = "libp2p-floodsub" -version = "0.37.0" +name = "libp2p-identify" +version = "0.40.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "98a4b6ffd53e355775d24b76f583fdda54b3284806f678499b57913adb94f231" +checksum = "dcf9a121f699e8719bda2e6e9e9b6ddafc6cff4602471d6481c1067930ccb29b" dependencies = [ - "cuckoofilter", - "fnv", + "asynchronous-codec", "futures", + "futures-timer", "libp2p-core", "libp2p-swarm", "log", + "lru 0.8.1", "prost", "prost-build", - "rand 0.7.3", + "prost-codec", "smallvec", + "thiserror", + "void", ] [[package]] -name = "libp2p-gossipsub" -version = "0.39.0" +name = "libp2p-kad" +version = "0.41.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74b4b888cfbeb1f5551acd3aa1366e01bf88ede26cc3c4645d0d2d004d5ca7b0" +checksum = "6721c200e2021f6c3fab8b6cf0272ead8912d871610ee194ebd628cecf428f22" dependencies = [ + "arrayvec 0.7.2", "asynchronous-codec", - "base64", - "byteorder", "bytes", + "either", "fnv", "futures", - "hex_fmt", + "futures-timer", "instant", "libp2p-core", "libp2p-swarm", "log", - "prometheus-client", "prost", "prost-build", - "rand 0.7.3", - "regex", - "sha2 0.10.2", - "smallvec", - "unsigned-varint", - "wasm-timer", -] - -[[package]] -name = "libp2p-identify" -version = "0.37.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c50b585518f8efd06f93ac2f976bd672e17cdac794644b3117edd078e96bda06" -dependencies = [ - "asynchronous-codec", - "futures", - "futures-timer", - "libp2p-core", - "libp2p-swarm", - "log", - "lru 0.7.8", - "prost", - "prost-build", - "prost-codec", - "smallvec", - "thiserror", - "void", -] - -[[package]] -name = "libp2p-kad" -version = "0.38.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "740862893bb5f06ac24acc9d49bdeadc3a5e52e51818a30a25c1f3519da2c851" -dependencies = [ - "arrayvec 0.7.2", - "asynchronous-codec", - "bytes", - "either", - "fnv", - "futures", - "futures-timer", - "instant", - "libp2p-core", - "libp2p-swarm", - "log", - "prost", - "prost-build", - "rand 0.7.3", + "rand 0.8.5", "sha2 0.10.2", "smallvec", "thiserror", @@ -4121,16 +4043,15 @@ dependencies = [ [[package]] name = "libp2p-mdns" -version = "0.38.0" +version = "0.41.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "66e5e5919509603281033fd16306c61df7a4428ce274b67af5e14b07de5cdcb2" +checksum = "761704e727f7d68d58d7bc2231eafae5fc1b9814de24290f126df09d4bd37a15" dependencies = [ "async-io", "data-encoding", "dns-parser", "futures", "if-watch", - "lazy_static", "libp2p-core", "libp2p-swarm", "log", @@ -4142,25 +4063,23 @@ dependencies = [ [[package]] name = "libp2p-metrics" -version = "0.7.0" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef8aff4a1abef42328fbb30b17c853fff9be986dc39af17ee39f9c5f755c5e0c" +checksum = "9ee31b08e78b7b8bfd1c4204a9dd8a87b4fcdf6dafc57eb51701c1c264a81cb9" dependencies = [ "libp2p-core", - "libp2p-gossipsub", "libp2p-identify", "libp2p-kad", "libp2p-ping", - "libp2p-relay", "libp2p-swarm", "prometheus-client", ] [[package]] name = "libp2p-mplex" -version = "0.34.0" +version = "0.37.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61fd1b20638ec209c5075dfb2e8ce6a7ea4ec3cd3ad7b77f7a477c06d53322e2" +checksum = "692664acfd98652de739a8acbb0a0d670f1d67190a49be6b4395e22c37337d89" dependencies = [ "asynchronous-codec", "bytes", @@ -4169,16 +4088,16 @@ dependencies = [ "log", "nohash-hasher", "parking_lot 0.12.1", - "rand 0.7.3", + "rand 0.8.5", "smallvec", "unsigned-varint", ] [[package]] name = "libp2p-noise" -version = "0.37.0" +version = "0.40.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "762408cb5d84b49a600422d7f9a42c18012d8da6ebcd570f9a4a4290ba41fb6f" +checksum = "048155686bd81fe6cb5efdef0c6290f25ad32a0a42e8f4f72625cf6a505a206f" dependencies = [ "bytes", "curve25519-dalek 3.2.0", @@ -4198,105 +4117,25 @@ dependencies = [ [[package]] name = "libp2p-ping" -version = "0.37.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "100a6934ae1dbf8a693a4e7dd1d730fd60b774dafc45688ed63b554497c6c925" -dependencies = [ - "futures", - "futures-timer", - "instant", - "libp2p-core", - "libp2p-swarm", - "log", - "rand 0.7.3", - "void", -] - -[[package]] -name = "libp2p-plaintext" -version = "0.34.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be27bf0820a6238a4e06365b096d428271cce85a129cf16f2fe9eb1610c4df86" -dependencies = [ - "asynchronous-codec", - "bytes", - "futures", - "libp2p-core", - "log", - "prost", - "prost-build", - "unsigned-varint", - "void", -] - -[[package]] -name = "libp2p-pnet" -version = "0.22.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f1a458bbda880107b5b36fcb9b5a1ef0c329685da0e203ed692a8ebe64cc92c" -dependencies = [ - "futures", - "log", - "pin-project", - "rand 0.7.3", - "salsa20", - "sha3 0.9.1", -] - -[[package]] -name = "libp2p-relay" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4931547ee0cce03971ccc1733ff05bb0c4349fd89120a39e9861e2bbe18843c3" -dependencies = [ - "asynchronous-codec", - "bytes", - "either", - "futures", - "futures-timer", - "instant", - "libp2p-core", - "libp2p-swarm", - "log", - "pin-project", - "prost", - "prost-build", - "prost-codec", - "rand 0.8.5", - "smallvec", - "static_assertions", - "thiserror", - "void", -] - -[[package]] -name = "libp2p-rendezvous" -version = "0.7.0" +version = "0.40.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9511c9672ba33284838e349623319c8cad2d18cfad243ae46c6b7e8a2982ea4e" +checksum = "7228b9318d34689521349a86eb39a3c3a802c9efc99a0568062ffb80913e3f91" dependencies = [ - "asynchronous-codec", - "bimap", "futures", "futures-timer", "instant", "libp2p-core", "libp2p-swarm", "log", - "prost", - "prost-build", "rand 0.8.5", - "sha2 0.10.2", - "thiserror", - "unsigned-varint", "void", ] [[package]] name = "libp2p-request-response" -version = "0.19.0" +version = "0.22.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "508a189e2795d892c8f5c1fa1e9e0b1845d32d7b0b249dbf7b05b18811361843" +checksum = "8827af16a017b65311a410bb626205a9ad92ec0473967618425039fa5231adc1" dependencies = [ "async-trait", "bytes", @@ -4305,16 +4144,16 @@ dependencies = [ "libp2p-core", "libp2p-swarm", "log", - "rand 0.7.3", + "rand 0.8.5", "smallvec", "unsigned-varint", ] [[package]] name = "libp2p-swarm" -version = "0.37.0" +version = "0.40.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95ac5be6c2de2d1ff3f7693fda6faf8a827b1f3e808202277783fea9f527d114" +checksum = "46d13df7c37807965d82930c0e4b04a659efcb6cca237373b206043db5398ecf" dependencies = [ "either", "fnv", @@ -4324,7 +4163,7 @@ dependencies = [ "libp2p-core", "log", "pin-project", - "rand 0.7.3", + "rand 0.8.5", "smallvec", "thiserror", "void", @@ -4332,48 +4171,36 @@ dependencies = [ [[package]] name = "libp2p-swarm-derive" -version = "0.28.0" +version = "0.30.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f54a64b6957249e0ce782f8abf41d97f69330d02bf229f0672d864f0650cc76" +checksum = "a0eddc4497a8b5a506013c40e8189864f9c3a00db2b25671f428ae9007f3ba32" dependencies = [ + "heck", "quote", "syn", ] [[package]] name = "libp2p-tcp" -version = "0.34.0" +version = "0.37.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a6771dc19aa3c65d6af9a8c65222bfc8fcd446630ddca487acd161fa6096f3b" +checksum = "9839d96761491c6d3e238e70554b856956fca0ab60feb9de2cd08eed4473fa92" dependencies = [ "async-io", "futures", "futures-timer", "if-watch", - "ipnet", "libc", "libp2p-core", "log", "socket2", ] -[[package]] -name = "libp2p-uds" -version = "0.33.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d125e3e5f0d58f3c6ac21815b20cf4b6a88b8db9dc26368ea821838f4161fd4d" -dependencies = [ - "async-std", - "futures", - "libp2p-core", - "log", -] - [[package]] name = "libp2p-wasm-ext" -version = "0.34.0" +version = "0.37.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec894790eec3c1608f8d1a8a0bdf0dbeb79ed4de2dce964222011c2896dfa05a" +checksum = "a17b5b8e7a73e379e47b1b77f8a82c4721e97eca01abcd18e9cd91a23ca6ce97" dependencies = [ "futures", "js-sys", @@ -4385,9 +4212,9 @@ dependencies = [ [[package]] name = "libp2p-websocket" -version = "0.36.0" +version = "0.39.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9808e57e81be76ff841c106b4c5974fb4d41a233a7bdd2afbf1687ac6def3818" +checksum = "3758ae6f89b2531a24b6d9f5776bda6a626b60a57600d7185d43dfa75ca5ecc4" dependencies = [ "either", "futures", @@ -4404,12 +4231,13 @@ dependencies = [ [[package]] name = "libp2p-yamux" -version = "0.38.0" +version = "0.41.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6dea686217a06072033dc025631932810e2f6ad784e4fafa42e27d311c7a81c" +checksum = "30f079097a21ad017fc8139460630286f02488c8c13b26affb46623aa20d8845" dependencies = [ "futures", "libp2p-core", + "log", "parking_lot 0.12.1", "thiserror", "yamux", @@ -4417,9 +4245,9 @@ dependencies = [ [[package]] name = "librocksdb-sys" -version = "0.6.1+6.28.2" +version = "0.8.0+7.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81bc587013734dadb7cf23468e531aa120788b87243648be42e2d3a072186291" +checksum = "611804e4666a25136fcc5f8cf425ab4d26c7f74ea245ffe92ea23b85b6420b5d" dependencies = [ "bindgen", "bzip2-sys", @@ -4516,15 +4344,15 @@ dependencies = [ [[package]] name = "linux-raw-sys" -version = "0.0.42" +version = "0.0.46" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5284f00d480e1c39af34e72f8ad60b94f47007e3481cd3b731c1d67190ddc7b7" +checksum = "d4d2456c373231a208ad294c33dc5bff30051eafd954cd4caae83a712b12854d" [[package]] name = "linux-raw-sys" -version = "0.0.46" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4d2456c373231a208ad294c33dc5bff30051eafd954cd4caae83a712b12854d" +checksum = "bb68f22743a3fb35785f1e7f844ca5a3de2dde5bd0c0ef5b372065814699b121" [[package]] name = "lock_api" @@ -4548,20 +4376,20 @@ dependencies = [ [[package]] name = "lru" -version = "0.6.6" +version = "0.7.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ea2d928b485416e8908cff2d97d621db22b27f7b3b6729e438bcf42c671ba91" +checksum = "e999beba7b6e8345721bd280141ed958096a2e4abdf74f67ff4ce49b4b54e47a" dependencies = [ - "hashbrown 0.11.2", + "hashbrown", ] [[package]] name = "lru" -version = "0.7.8" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e999beba7b6e8345721bd280141ed958096a2e4abdf74f67ff4ce49b4b54e47a" +checksum = "b6e8aaa3f231bb4bd57b84b2d5dc3ae7f350265df8aa96492e0bc394a1571909" dependencies = [ - "hashbrown 0.12.3", + "hashbrown", ] [[package]] @@ -4736,11 +4564,11 @@ checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" [[package]] name = "memfd" -version = "0.4.1" +version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6627dc657574b49d6ad27105ed671822be56e0d2547d413bfbf3e8d8fa92e7a" +checksum = "b20a59d985586e4a5aef64564ac77299f8586d8be6cf9106a5a40207e8908efb" dependencies = [ - "libc", + "rustix 0.36.1", ] [[package]] @@ -4772,29 +4600,29 @@ dependencies = [ [[package]] name = "memory-db" -version = "0.29.0" +version = "0.30.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6566c70c1016f525ced45d7b7f97730a2bafb037c788211d0c186ef5b2189f0a" +checksum = "34ac11bb793c28fa095b7554466f53b3a60a2cd002afdac01bcf135cbd73a269" dependencies = [ "hash-db", - "hashbrown 0.12.3", + "hashbrown", "parity-util-mem", ] [[package]] name = "memory-lru" -version = "0.1.0" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "beeb98b3d1ed2c0054bd81b5ba949a0243c3ccad751d45ea898fa8059fa2860a" +checksum = "ce95ae042940bad7e312857b929ee3d11b8f799a80cb7b9c7ec5125516906395" dependencies = [ - "lru 0.6.6", + "lru 0.8.1", ] [[package]] name = "memory_units" -version = "0.3.0" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71d96e3f3c0b6325d8ccd83c33b28acb183edcb6c67938ba104ec546854b0882" +checksum = "8452105ba047068f40ff7093dd1d9da90898e63dd61736462e9cdda6a90ad3c3" [[package]] name = "merlin" @@ -4843,14 +4671,35 @@ dependencies = [ "libc", "log", "wasi 0.11.0+wasi-snapshot-preview1", - "windows-sys", + "windows-sys 0.36.1", ] [[package]] -name = "more-asserts" -version = "0.2.2" +name = "mockall" +version = "0.11.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50e4a1c770583dac7ab5e2f6c139153b783a53a1bbee9729613f193e59828326" +dependencies = [ + "cfg-if 1.0.0", + "downcast", + "fragile", + "lazy_static", + "mockall_derive", + "predicates", + "predicates-tree", +] + +[[package]] +name = "mockall_derive" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7843ec2de400bcbc6a6328c958dc38e5359da6e93e72e37bc5246bf1ae776389" +checksum = "832663583d5fa284ca8810bf7015e46c9fff9622d3cf34bd1eea5003fec06dd0" +dependencies = [ + "cfg-if 1.0.0", + "proc-macro2", + "quote", + "syn", +] [[package]] name = "multiaddr" @@ -4894,7 +4743,7 @@ dependencies = [ "digest 0.10.3", "multihash-derive", "sha2 0.10.2", - "sha3 0.10.2", + "sha3", "unsigned-varint", ] @@ -4920,9 +4769,9 @@ checksum = "e5ce46fe64a9d73be07dcbe690a38ce1b293be448fd8ce1e6c1b8062c9f72c6a" [[package]] name = "multistream-select" -version = "0.11.0" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "363a84be6453a70e63513660f4894ef815daf88e3356bffcda9ca27d810ce83b" +checksum = "9bc41247ec209813e2fd414d6e16b9d94297dacf3cd613fa6ef09cd4d9755c10" dependencies = [ "bytes", "futures", @@ -5075,6 +4924,12 @@ dependencies = [ "minimal-lexical", ] +[[package]] +name = "normalize-line-endings" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "61807f77802ff30975e01f4f071c8ba10c022052f98b3294119f3e615d13e5be" + [[package]] name = "num-bigint" version = "0.2.6" @@ -5086,6 +4941,17 @@ dependencies = [ "num-traits", ] +[[package]] +name = "num-bigint" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f93ab6289c7b344a8a9f60f88d80aa20032336fe78da341afc91c8a2341fc75f" +dependencies = [ + "autocfg", + "num-integer", + "num-traits", +] + [[package]] name = "num-complex" version = "0.4.2" @@ -5122,7 +4988,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5c000134b5dbf44adc5cb772486d335293351644b801551abe8f75c84cfa4aef" dependencies = [ "autocfg", - "num-bigint", + "num-bigint 0.2.6", "num-integer", "num-traits", ] @@ -5134,6 +5000,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0" dependencies = [ "autocfg", + "num-bigint 0.4.3", "num-integer", "num-traits", ] @@ -5158,24 +5025,15 @@ dependencies = [ "libc", ] -[[package]] -name = "object" -version = "0.28.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e42c982f2d955fac81dd7e1d0e1426a7d702acd9c98d19ab01083a6a0328c424" -dependencies = [ - "crc32fast", - "hashbrown 0.11.2", - "indexmap", - "memchr", -] - [[package]] name = "object" version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "21158b2c33aa6d4561f1c0a6ea283ca92bc54802a93b263e910746d679a7eb53" dependencies = [ + "crc32fast", + "hashbrown", + "indexmap", "memchr", ] @@ -5205,8 +5063,9 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" [[package]] name = "orchestra" -version = "0.0.1" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76" +version = "0.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0aab54694ddaa8a9b703724c6ef04272b2d27bc32d2c855aae5cdd1857216b43" dependencies = [ "async-trait", "dyn-clonable", @@ -5221,8 +5080,9 @@ dependencies = [ [[package]] name = "orchestra-proc-macro" -version = "0.0.1" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76" +version = "0.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a702b2f6bf592b3eb06c00d80d05afaf7a8eff6b41bb361e397d799acc21b45a" dependencies = [ "expander 0.0.6", "itertools", @@ -5248,19 +5108,10 @@ version = "6.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9ff7415e9ae3fff1225851df9e0d9e4e5479f947619774677a63572e55e80eff" -[[package]] -name = "owning_ref" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ff55baddef9e4ad00f88b6c743a2a8062d4c6ade126c2a528644b8e444d52ce" -dependencies = [ - "stable_deref_trait", -] - [[package]] name = "pallet-aura" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "frame-support", "frame-system", @@ -5276,7 +5127,7 @@ dependencies = [ [[package]] name = "pallet-authority-discovery" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "frame-support", "frame-system", @@ -5292,7 +5143,7 @@ dependencies = [ [[package]] name = "pallet-authorship" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "frame-support", "frame-system", @@ -5307,7 +5158,7 @@ dependencies = [ [[package]] name = "pallet-babe" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "frame-benchmarking", "frame-support", @@ -5331,7 +5182,7 @@ dependencies = [ [[package]] name = "pallet-bags-list" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -5351,7 +5202,7 @@ dependencies = [ [[package]] name = "pallet-balances" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "frame-benchmarking", "frame-support", @@ -5366,7 +5217,7 @@ dependencies = [ [[package]] name = "pallet-beefy" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "beefy-primitives", "frame-support", @@ -5382,13 +5233,13 @@ dependencies = [ [[package]] name = "pallet-beefy-mmr" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ + "array-bytes", "beefy-merkle-tree", "beefy-primitives", "frame-support", "frame-system", - "hex", "log", "pallet-beefy", "pallet-mmr", @@ -5405,7 +5256,7 @@ dependencies = [ [[package]] name = "pallet-bounties" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "frame-benchmarking", "frame-support", @@ -5423,7 +5274,7 @@ dependencies = [ [[package]] name = "pallet-child-bounties" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "frame-benchmarking", "frame-support", @@ -5442,7 +5293,7 @@ dependencies = [ [[package]] name = "pallet-collator-selection" version = "3.0.0" -source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.29#2fa95572487cfcf8dbe6941bf93545c39d47f784" +source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.32#6abd385ce49f7feb882218646410feb063404b77" dependencies = [ "frame-benchmarking", "frame-support", @@ -5453,7 +5304,6 @@ dependencies = [ "parity-scale-codec", "rand 0.8.5", "scale-info", - "serde", "sp-runtime", "sp-staking", "sp-std", @@ -5462,7 +5312,7 @@ dependencies = [ [[package]] name = "pallet-collective" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "frame-benchmarking", "frame-support", @@ -5476,17 +5326,36 @@ dependencies = [ "sp-std", ] +[[package]] +name = "pallet-conviction-voting" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +dependencies = [ + "assert_matches", + "frame-benchmarking", + "frame-support", + "frame-system", + "parity-scale-codec", + "scale-info", + "serde", + "sp-io", + "sp-runtime", + "sp-std", +] + [[package]] name = "pallet-democracy" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "frame-benchmarking", "frame-support", "frame-system", + "log", "parity-scale-codec", "scale-info", "serde", + "sp-core", "sp-io", "sp-runtime", "sp-std", @@ -5507,7 +5376,7 @@ dependencies = [ "parity-scale-codec", "rand 0.8.5", "scale-info", - "sha3 0.10.2", + "sha3", "sp-core", "sp-io", "sp-keystore", @@ -5518,13 +5387,14 @@ dependencies = [ [[package]] name = "pallet-election-provider-multi-phase" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "frame-benchmarking", "frame-election-provider-support", "frame-support", "frame-system", "log", + "pallet-election-provider-support-benchmarking", "parity-scale-codec", "rand 0.7.3", "scale-info", @@ -5541,7 +5411,7 @@ dependencies = [ [[package]] name = "pallet-election-provider-support-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -5554,7 +5424,7 @@ dependencies = [ [[package]] name = "pallet-elections-phragmen" version = "5.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "frame-benchmarking", "frame-support", @@ -5569,10 +5439,31 @@ dependencies = [ "sp-std", ] +[[package]] +name = "pallet-fast-unstake" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +dependencies = [ + "frame-benchmarking", + "frame-election-provider-support", + "frame-support", + "frame-system", + "log", + "pallet-balances", + "pallet-staking", + "pallet-timestamp", + "parity-scale-codec", + "scale-info", + "sp-io", + "sp-runtime", + "sp-staking", + "sp-std", +] + [[package]] name = "pallet-gilt" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "frame-benchmarking", "frame-support", @@ -5587,7 +5478,7 @@ dependencies = [ [[package]] name = "pallet-grandpa" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "frame-benchmarking", "frame-support", @@ -5610,7 +5501,7 @@ dependencies = [ [[package]] name = "pallet-identity" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "enumflags2", "frame-benchmarking", @@ -5626,7 +5517,7 @@ dependencies = [ [[package]] name = "pallet-im-online" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "frame-benchmarking", "frame-support", @@ -5646,7 +5537,7 @@ dependencies = [ [[package]] name = "pallet-indices" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "frame-benchmarking", "frame-support", @@ -5679,7 +5570,7 @@ dependencies = [ [[package]] name = "pallet-membership" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "frame-benchmarking", "frame-support", @@ -5696,7 +5587,7 @@ dependencies = [ [[package]] name = "pallet-mmr" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "ckb-merkle-mountain-range", "frame-benchmarking", @@ -5714,7 +5605,7 @@ dependencies = [ [[package]] name = "pallet-mmr-rpc" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "jsonrpsee", "parity-scale-codec", @@ -5729,11 +5620,12 @@ dependencies = [ [[package]] name = "pallet-multisig" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "frame-benchmarking", "frame-support", "frame-system", + "log", "parity-scale-codec", "scale-info", "sp-io", @@ -5744,7 +5636,7 @@ dependencies = [ [[package]] name = "pallet-nomination-pools" version = "1.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "frame-support", "frame-system", @@ -5761,7 +5653,7 @@ dependencies = [ [[package]] name = "pallet-nomination-pools-benchmarking" version = "1.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -5773,6 +5665,7 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-runtime", + "sp-runtime-interface", "sp-staking", "sp-std", ] @@ -5780,7 +5673,7 @@ dependencies = [ [[package]] name = "pallet-nomination-pools-runtime-api" version = "1.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "parity-scale-codec", "sp-api", @@ -5790,7 +5683,7 @@ dependencies = [ [[package]] name = "pallet-offences" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "frame-support", "frame-system", @@ -5807,7 +5700,7 @@ dependencies = [ [[package]] name = "pallet-offences-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -5830,11 +5723,12 @@ dependencies = [ [[package]] name = "pallet-preimage" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "frame-benchmarking", "frame-support", "frame-system", + "log", "parity-scale-codec", "scale-info", "sp-core", @@ -5846,7 +5740,7 @@ dependencies = [ [[package]] name = "pallet-proxy" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "frame-benchmarking", "frame-support", @@ -5861,7 +5755,7 @@ dependencies = [ [[package]] name = "pallet-randomness-collective-flip" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "frame-support", "frame-system", @@ -5872,10 +5766,28 @@ dependencies = [ "sp-std", ] +[[package]] +name = "pallet-ranked-collective" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +dependencies = [ + "frame-benchmarking", + "frame-support", + "frame-system", + "log", + "parity-scale-codec", + "scale-info", + "sp-arithmetic", + "sp-core", + "sp-io", + "sp-runtime", + "sp-std", +] + [[package]] name = "pallet-recovery" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "frame-benchmarking", "frame-support", @@ -5887,10 +5799,28 @@ dependencies = [ "sp-std", ] +[[package]] +name = "pallet-referenda" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +dependencies = [ + "assert_matches", + "frame-benchmarking", + "frame-support", + "frame-system", + "parity-scale-codec", + "scale-info", + "serde", + "sp-arithmetic", + "sp-io", + "sp-runtime", + "sp-std", +] + [[package]] name = "pallet-scheduler" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "frame-benchmarking", "frame-support", @@ -5906,7 +5836,7 @@ dependencies = [ [[package]] name = "pallet-session" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "frame-support", "frame-system", @@ -5927,7 +5857,7 @@ dependencies = [ [[package]] name = "pallet-session-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "frame-benchmarking", "frame-support", @@ -5943,7 +5873,7 @@ dependencies = [ [[package]] name = "pallet-society" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "frame-support", "frame-system", @@ -5957,7 +5887,7 @@ dependencies = [ [[package]] name = "pallet-staking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -5980,7 +5910,7 @@ dependencies = [ [[package]] name = "pallet-staking-reward-curve" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -5991,7 +5921,7 @@ dependencies = [ [[package]] name = "pallet-staking-reward-fn" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "log", "sp-arithmetic", @@ -6000,7 +5930,7 @@ dependencies = [ [[package]] name = "pallet-sudo" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "frame-support", "frame-system", @@ -6014,7 +5944,7 @@ dependencies = [ [[package]] name = "pallet-timestamp" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "frame-benchmarking", "frame-support", @@ -6032,7 +5962,7 @@ dependencies = [ [[package]] name = "pallet-tips" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "frame-benchmarking", "frame-support", @@ -6051,7 +5981,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "frame-support", "frame-system", @@ -6067,7 +5997,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "jsonrpsee", "pallet-transaction-payment-rpc-runtime-api", @@ -6077,23 +6007,25 @@ dependencies = [ "sp-core", "sp-rpc", "sp-runtime", + "sp-weights", ] [[package]] name = "pallet-transaction-payment-rpc-runtime-api" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "pallet-transaction-payment", "parity-scale-codec", "sp-api", "sp-runtime", + "sp-weights", ] [[package]] name = "pallet-treasury" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "frame-benchmarking", "frame-support", @@ -6110,7 +6042,7 @@ dependencies = [ [[package]] name = "pallet-utility" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "frame-benchmarking", "frame-support", @@ -6126,7 +6058,7 @@ dependencies = [ [[package]] name = "pallet-vesting" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "frame-benchmarking", "frame-support", @@ -6156,10 +6088,25 @@ dependencies = [ "sp-std", ] +[[package]] +name = "pallet-whitelist" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +dependencies = [ + "frame-benchmarking", + "frame-support", + "frame-system", + "parity-scale-codec", + "scale-info", + "sp-api", + "sp-runtime", + "sp-std", +] + [[package]] name = "pallet-xcm" -version = "0.9.29" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76" +version = "0.9.32" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" dependencies = [ "frame-support", "frame-system", @@ -6176,8 +6123,8 @@ dependencies = [ [[package]] name = "pallet-xcm-benchmarks" -version = "0.9.29" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76" +version = "0.9.32" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" dependencies = [ "frame-benchmarking", "frame-support", @@ -6194,14 +6141,13 @@ dependencies = [ [[package]] name = "parachain-info" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.29#2fa95572487cfcf8dbe6941bf93545c39d47f784" +source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.32#6abd385ce49f7feb882218646410feb063404b77" dependencies = [ "cumulus-primitives-core", "frame-support", "frame-system", "parity-scale-codec", "scale-info", - "serde", ] [[package]] @@ -6250,9 +6196,9 @@ dependencies = [ [[package]] name = "parity-scale-codec" -version = "3.1.5" +version = "3.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9182e4a71cae089267ab03e67c99368db7cd877baf50f931e5d6d4b71e195ac0" +checksum = "366e44391a8af4cfd6002ef6ba072bae071a96aafca98d7d448a34c5dca38b6a" dependencies = [ "arrayvec 0.7.2", "bitvec", @@ -6283,12 +6229,12 @@ checksum = "aa9777aa91b8ad9dd5aaa04a9b6bcb02c7f1deb952fca5a66034d5e63afc5c6f" [[package]] name = "parity-util-mem" -version = "0.11.0" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c32561d248d352148124f036cac253a644685a21dc9fea383eb4907d7bd35a8f" +checksum = "0d32c34f4f5ca7f9196001c0aba5a1f9a5a12382c8944b8b0f90233282d1e8f8" dependencies = [ "cfg-if 1.0.0", - "hashbrown 0.12.3", + "hashbrown", "impl-trait-for-tuples", "parity-util-mem-derive", "parking_lot 0.12.1", @@ -6319,9 +6265,9 @@ dependencies = [ [[package]] name = "parity-wasm" -version = "0.42.2" +version = "0.45.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be5e13c266502aadf83426d87d81a0f5d1ef45b8027f5a471c360abfe4bfae92" +checksum = "e1ad0aff30c1da14b1254fcb2af73e1fa9a28670e584a626f53a369d0e157304" [[package]] name = "parking" @@ -6374,7 +6320,7 @@ dependencies = [ "libc", "redox_syscall", "smallvec", - "windows-sys", + "windows-sys 0.36.1", ] [[package]] @@ -6409,9 +6355,9 @@ checksum = "19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099" [[package]] name = "percent-encoding" -version = "2.1.0" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e" +checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e" [[package]] name = "peregrine-runtime" @@ -6582,6 +6528,17 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" +[[package]] +name = "pkcs8" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7cabda3fb821068a9a4fab19a683eac3af12edf0f34b94a8be53c4972b8149d0" +dependencies = [ + "der", + "spki", + "zeroize", +] + [[package]] name = "pkg-config" version = "0.3.25" @@ -6596,8 +6553,8 @@ checksum = "e8d0eef3571242013a0d5dc84861c3ae4a652e56e12adf8bdc26ff5f8cb34c94" [[package]] name = "polkadot-approval-distribution" -version = "0.9.29" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76" +version = "0.9.32" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" dependencies = [ "futures", "polkadot-node-network-protocol", @@ -6611,8 +6568,8 @@ dependencies = [ [[package]] name = "polkadot-availability-bitfield-distribution" -version = "0.9.29" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76" +version = "0.9.32" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" dependencies = [ "futures", "polkadot-node-network-protocol", @@ -6625,13 +6582,13 @@ dependencies = [ [[package]] name = "polkadot-availability-distribution" -version = "0.9.29" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76" +version = "0.9.32" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" dependencies = [ "derive_more", "fatality", "futures", - "lru 0.7.8", + "lru 0.8.1", "parity-scale-codec", "polkadot-erasure-coding", "polkadot-node-network-protocol", @@ -6648,12 +6605,12 @@ dependencies = [ [[package]] name = "polkadot-availability-recovery" -version = "0.9.29" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76" +version = "0.9.32" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" dependencies = [ "fatality", "futures", - "lru 0.7.8", + "lru 0.8.1", "parity-scale-codec", "polkadot-erasure-coding", "polkadot-node-network-protocol", @@ -6669,8 +6626,8 @@ dependencies = [ [[package]] name = "polkadot-cli" -version = "0.9.29" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76" +version = "0.9.32" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" dependencies = [ "clap", "frame-benchmarking-cli", @@ -6695,8 +6652,8 @@ dependencies = [ [[package]] name = "polkadot-client" -version = "0.9.29" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76" +version = "0.9.32" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" dependencies = [ "beefy-primitives", "frame-benchmarking", @@ -6735,10 +6692,11 @@ dependencies = [ [[package]] name = "polkadot-collator-protocol" -version = "0.9.29" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76" +version = "0.9.32" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" dependencies = [ "always-assert", + "bitvec", "fatality", "futures", "futures-timer", @@ -6756,8 +6714,8 @@ dependencies = [ [[package]] name = "polkadot-core-primitives" -version = "0.9.29" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76" +version = "0.9.32" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" dependencies = [ "parity-scale-codec", "parity-util-mem", @@ -6769,13 +6727,15 @@ dependencies = [ [[package]] name = "polkadot-dispute-distribution" -version = "0.9.29" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76" +version = "0.9.32" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" dependencies = [ "derive_more", "fatality", "futures", - "lru 0.7.8", + "futures-timer", + "indexmap", + "lru 0.8.1", "parity-scale-codec", "polkadot-erasure-coding", "polkadot-node-network-protocol", @@ -6792,8 +6752,8 @@ dependencies = [ [[package]] name = "polkadot-erasure-coding" -version = "0.9.29" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76" +version = "0.9.32" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" dependencies = [ "parity-scale-codec", "polkadot-node-primitives", @@ -6806,8 +6766,8 @@ dependencies = [ [[package]] name = "polkadot-gossip-support" -version = "0.9.29" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76" +version = "0.9.32" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" dependencies = [ "futures", "futures-timer", @@ -6826,8 +6786,8 @@ dependencies = [ [[package]] name = "polkadot-network-bridge" -version = "0.9.29" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76" +version = "0.9.32" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" dependencies = [ "always-assert", "async-trait", @@ -6850,8 +6810,8 @@ dependencies = [ [[package]] name = "polkadot-node-collation-generation" -version = "0.9.29" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76" +version = "0.9.32" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" dependencies = [ "futures", "parity-scale-codec", @@ -6868,15 +6828,15 @@ dependencies = [ [[package]] name = "polkadot-node-core-approval-voting" -version = "0.9.29" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76" +version = "0.9.32" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" dependencies = [ "bitvec", "derive_more", "futures", "futures-timer", "kvdb", - "lru 0.7.8", + "lru 0.8.1", "merlin", "parity-scale-codec", "polkadot-node-jaeger", @@ -6897,8 +6857,8 @@ dependencies = [ [[package]] name = "polkadot-node-core-av-store" -version = "0.9.29" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76" +version = "0.9.32" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" dependencies = [ "bitvec", "futures", @@ -6917,8 +6877,8 @@ dependencies = [ [[package]] name = "polkadot-node-core-backing" -version = "0.9.29" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76" +version = "0.9.32" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" dependencies = [ "bitvec", "fatality", @@ -6936,8 +6896,8 @@ dependencies = [ [[package]] name = "polkadot-node-core-bitfield-signing" -version = "0.9.29" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76" +version = "0.9.32" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" dependencies = [ "futures", "polkadot-node-subsystem", @@ -6951,8 +6911,8 @@ dependencies = [ [[package]] name = "polkadot-node-core-candidate-validation" -version = "0.9.29" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76" +version = "0.9.32" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" dependencies = [ "async-trait", "futures", @@ -6969,8 +6929,8 @@ dependencies = [ [[package]] name = "polkadot-node-core-chain-api" -version = "0.9.29" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76" +version = "0.9.32" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" dependencies = [ "futures", "polkadot-node-subsystem", @@ -6984,8 +6944,8 @@ dependencies = [ [[package]] name = "polkadot-node-core-chain-selection" -version = "0.9.29" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76" +version = "0.9.32" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" dependencies = [ "futures", "futures-timer", @@ -7001,13 +6961,13 @@ dependencies = [ [[package]] name = "polkadot-node-core-dispute-coordinator" -version = "0.9.29" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76" +version = "0.9.32" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" dependencies = [ "fatality", "futures", "kvdb", - "lru 0.7.8", + "lru 0.8.1", "parity-scale-codec", "polkadot-node-primitives", "polkadot-node-subsystem", @@ -7020,8 +6980,8 @@ dependencies = [ [[package]] name = "polkadot-node-core-parachains-inherent" -version = "0.9.29" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76" +version = "0.9.32" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" dependencies = [ "async-trait", "futures", @@ -7037,8 +6997,8 @@ dependencies = [ [[package]] name = "polkadot-node-core-provisioner" -version = "0.9.29" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76" +version = "0.9.32" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" dependencies = [ "bitvec", "fatality", @@ -7055,8 +7015,8 @@ dependencies = [ [[package]] name = "polkadot-node-core-pvf" -version = "0.9.29" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76" +version = "0.9.32" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" dependencies = [ "always-assert", "assert_matches", @@ -7067,7 +7027,7 @@ dependencies = [ "parity-scale-codec", "pin-project", "polkadot-core-primitives", - "polkadot-node-subsystem-util", + "polkadot-node-metrics", "polkadot-parachain", "rand 0.8.5", "rayon", @@ -7087,8 +7047,8 @@ dependencies = [ [[package]] name = "polkadot-node-core-pvf-checker" -version = "0.9.29" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76" +version = "0.9.32" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" dependencies = [ "futures", "polkadot-node-primitives", @@ -7103,8 +7063,8 @@ dependencies = [ [[package]] name = "polkadot-node-core-runtime-api" -version = "0.9.29" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76" +version = "0.9.32" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" dependencies = [ "futures", "memory-lru", @@ -7119,8 +7079,8 @@ dependencies = [ [[package]] name = "polkadot-node-jaeger" -version = "0.9.29" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76" +version = "0.9.32" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" dependencies = [ "async-std", "lazy_static", @@ -7137,8 +7097,8 @@ dependencies = [ [[package]] name = "polkadot-node-metrics" -version = "0.9.29" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76" +version = "0.9.32" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" dependencies = [ "bs58", "futures", @@ -7156,8 +7116,8 @@ dependencies = [ [[package]] name = "polkadot-node-network-protocol" -version = "0.9.29" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76" +version = "0.9.32" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" dependencies = [ "async-trait", "derive_more", @@ -7171,6 +7131,7 @@ dependencies = [ "rand 0.8.5", "sc-authority-discovery", "sc-network", + "sc-network-common", "strum", "thiserror", "tracing-gum", @@ -7178,8 +7139,8 @@ dependencies = [ [[package]] name = "polkadot-node-primitives" -version = "0.9.29" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76" +version = "0.9.32" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" dependencies = [ "bounded-vec", "futures", @@ -7200,8 +7161,8 @@ dependencies = [ [[package]] name = "polkadot-node-subsystem" -version = "0.9.29" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76" +version = "0.9.32" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" dependencies = [ "polkadot-node-jaeger", "polkadot-node-subsystem-types", @@ -7210,8 +7171,8 @@ dependencies = [ [[package]] name = "polkadot-node-subsystem-types" -version = "0.9.29" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76" +version = "0.9.32" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" dependencies = [ "async-trait", "derive_more", @@ -7233,8 +7194,8 @@ dependencies = [ [[package]] name = "polkadot-node-subsystem-util" -version = "0.9.29" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76" +version = "0.9.32" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" dependencies = [ "async-trait", "derive_more", @@ -7242,7 +7203,7 @@ dependencies = [ "futures", "itertools", "kvdb", - "lru 0.7.8", + "lru 0.8.1", "parity-db", "parity-scale-codec", "parity-util-mem", @@ -7266,13 +7227,13 @@ dependencies = [ [[package]] name = "polkadot-overseer" -version = "0.9.29" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76" +version = "0.9.32" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" dependencies = [ "async-trait", "futures", "futures-timer", - "lru 0.7.8", + "lru 0.8.1", "orchestra", "parity-util-mem", "parking_lot 0.12.1", @@ -7289,8 +7250,8 @@ dependencies = [ [[package]] name = "polkadot-parachain" -version = "0.9.29" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76" +version = "0.9.32" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" dependencies = [ "derive_more", "frame-support", @@ -7306,8 +7267,8 @@ dependencies = [ [[package]] name = "polkadot-performance-test" -version = "0.9.29" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76" +version = "0.9.32" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" dependencies = [ "env_logger", "kusama-runtime", @@ -7321,8 +7282,8 @@ dependencies = [ [[package]] name = "polkadot-primitives" -version = "0.9.29" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76" +version = "0.9.32" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" dependencies = [ "bitvec", "frame-system", @@ -7351,8 +7312,8 @@ dependencies = [ [[package]] name = "polkadot-rpc" -version = "0.9.29" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76" +version = "0.9.32" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" dependencies = [ "beefy-gadget", "beefy-gadget-rpc", @@ -7383,8 +7344,8 @@ dependencies = [ [[package]] name = "polkadot-runtime" -version = "0.9.29" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76" +version = "0.9.32" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" dependencies = [ "beefy-primitives", "bitvec", @@ -7410,6 +7371,7 @@ dependencies = [ "pallet-election-provider-multi-phase", "pallet-election-provider-support-benchmarking", "pallet-elections-phragmen", + "pallet-fast-unstake", "pallet-grandpa", "pallet-identity", "pallet-im-online", @@ -7471,8 +7433,8 @@ dependencies = [ [[package]] name = "polkadot-runtime-common" -version = "0.9.29" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76" +version = "0.9.32" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" dependencies = [ "beefy-primitives", "bitvec", @@ -7518,20 +7480,22 @@ dependencies = [ [[package]] name = "polkadot-runtime-constants" -version = "0.9.29" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76" +version = "0.9.32" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" dependencies = [ "frame-support", "polkadot-primitives", "polkadot-runtime-common", "smallvec", + "sp-core", "sp-runtime", + "sp-weights", ] [[package]] name = "polkadot-runtime-metrics" -version = "0.9.29" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76" +version = "0.9.32" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" dependencies = [ "bs58", "parity-scale-codec", @@ -7542,8 +7506,8 @@ dependencies = [ [[package]] name = "polkadot-runtime-parachains" -version = "0.9.29" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76" +version = "0.9.32" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" dependencies = [ "bitflags", "bitvec", @@ -7585,8 +7549,8 @@ dependencies = [ [[package]] name = "polkadot-service" -version = "0.9.29" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76" +version = "0.9.32" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" dependencies = [ "async-trait", "beefy-gadget", @@ -7598,7 +7562,7 @@ dependencies = [ "kusama-runtime", "kvdb", "kvdb-rocksdb", - "lru 0.7.8", + "lru 0.8.1", "pallet-babe", "pallet-im-online", "pallet-staking", @@ -7689,8 +7653,8 @@ dependencies = [ [[package]] name = "polkadot-statement-distribution" -version = "0.9.29" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76" +version = "0.9.32" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" dependencies = [ "arrayvec 0.5.2", "fatality", @@ -7710,8 +7674,8 @@ dependencies = [ [[package]] name = "polkadot-statement-table" -version = "0.9.29" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76" +version = "0.9.32" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" dependencies = [ "parity-scale-codec", "polkadot-primitives", @@ -7761,11 +7725,51 @@ version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eb9f9e6e233e5c4a35559a617bf40a4ec447db2e84c20b55a6f83167b7e57872" +[[package]] +name = "predicates" +version = "2.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed6bd09a7f7e68f3f0bf710fb7ab9c4615a488b58b5f653382a687701e458c92" +dependencies = [ + "difflib", + "float-cmp", + "itertools", + "normalize-line-endings", + "predicates-core", + "regex", +] + +[[package]] +name = "predicates-core" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72f883590242d3c6fc5bf50299011695fa6590c2c70eac95ee1bdb9a733ad1a2" + +[[package]] +name = "predicates-tree" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "54ff541861505aabf6ea722d2131ee980b8276e10a1297b94e896dd8b621850d" +dependencies = [ + "predicates-core", + "termtree", +] + +[[package]] +name = "prettyplease" +version = "0.1.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c142c0e46b57171fe0c528bee8c5b7569e80f0c17e377cd0e30ea57dbc11bb51" +dependencies = [ + "proc-macro2", + "syn", +] + [[package]] name = "primitive-types" -version = "0.11.1" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e28720988bff275df1f51b171e1b2a18c30d194c4d2b61defdacecd625a5d94a" +checksum = "9f3486ccba82358b11a77516035647c34ba167dfa53312630de83b12bd4f3d66" dependencies = [ "fixed-hash", "impl-codec", @@ -7777,7 +7781,8 @@ dependencies = [ [[package]] name = "prioritized-metered-channel" version = "0.2.0" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "382698e48a268c832d0b181ed438374a6bb708a82a8ca273bb0f61c74cf209c4" dependencies = [ "coarsetime", "crossbeam-queue", @@ -7826,9 +7831,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.43" +version = "1.0.47" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a2ca2c61bc9f3d74d2886294ab7b9853abd9c1ad903a3ac7815c58989bb7bab" +checksum = "5ea3d908b0e36316caf9e9e2c4625cdde190a7e6f440d794667ed17a1855e725" dependencies = [ "unicode-ident", ] @@ -7849,21 +7854,21 @@ dependencies = [ [[package]] name = "prometheus-client" -version = "0.16.0" +version = "0.18.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac1abe0255c04d15f571427a2d1e00099016506cf3297b53853acd2b7eb87825" +checksum = "83cd1b99916654a69008fd66b4f9397fbe08e6e51dfe23d4417acf5d3b8cb87c" dependencies = [ "dtoa", "itoa 1.0.3", - "owning_ref", + "parking_lot 0.12.1", "prometheus-client-derive-text-encode", ] [[package]] name = "prometheus-client-derive-text-encode" -version = "0.2.0" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8e12d01b9d66ad9eb4529c57666b6263fc1993cb30261d83ead658fdd932652" +checksum = "66a455fbcb954c1a7decf3c586e860fd7889cddf4b8e164be736dbac95a953cd" dependencies = [ "proc-macro2", "quote", @@ -7872,9 +7877,9 @@ dependencies = [ [[package]] name = "prost" -version = "0.10.4" +version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71adf41db68aa0daaefc69bb30bcd68ded9b9abaad5d1fbb6304c4fb390e083e" +checksum = "a0841812012b2d4a6145fae9a6af1534873c32aa67fff26bd09f8fa42c83f95a" dependencies = [ "bytes", "prost-derive", @@ -7882,31 +7887,31 @@ dependencies = [ [[package]] name = "prost-build" -version = "0.10.4" +version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ae5a4388762d5815a9fc0dea33c56b021cdc8dde0c55e0c9ca57197254b0cab" +checksum = "1d8b442418ea0822409d9e7d047cbf1e7e9e1760b172bf9982cf29d517c93511" dependencies = [ "bytes", - "cfg-if 1.0.0", - "cmake", "heck", "itertools", "lazy_static", "log", "multimap", "petgraph", + "prettyplease", "prost", "prost-types", "regex", + "syn", "tempfile", "which", ] [[package]] name = "prost-codec" -version = "0.1.0" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00af1e92c33b4813cc79fda3f2dbf56af5169709be0202df730e9ebc3e4cd007" +checksum = "011ae9ff8359df7915f97302d591cdd9e0e27fbd5a4ddc5bd13b71079bb20987" dependencies = [ "asynchronous-codec", "bytes", @@ -7917,9 +7922,9 @@ dependencies = [ [[package]] name = "prost-derive" -version = "0.10.1" +version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b670f45da57fb8542ebdbb6105a925fe571b67f9e7ed9f47a06a84e72b4e7cc" +checksum = "164ae68b6587001ca506d3bf7f1000bfa248d0e1217b618108fba4ec1d0cc306" dependencies = [ "anyhow", "itertools", @@ -7930,9 +7935,9 @@ dependencies = [ [[package]] name = "prost-types" -version = "0.10.1" +version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d0a014229361011dc8e69c8a1ec6c2e8d0f2af7c91e3ea3f5b2170298461e68" +checksum = "747761bc3dc48f9a34553bf65605cf6cb6288ba219f3450b4275dbd81539551a" dependencies = [ "bytes", "prost", @@ -8157,7 +8162,7 @@ dependencies = [ "derive_more", "fs-err", "itertools", - "static_init", + "static_init 0.5.2", "thiserror", ] @@ -8183,9 +8188,9 @@ dependencies = [ [[package]] name = "regalloc2" -version = "0.2.3" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a8d23b35d7177df3b9d31ed8a9ab4bf625c668be77a319d4f5efd4a5257701c" +checksum = "d43a209257d978ef079f3d446331d0f1794f5e0fc19b306a199983857833a779" dependencies = [ "fxhash", "log", @@ -8219,25 +8224,12 @@ version = "0.6.27" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a3f87b73ce11b1619a3c6332f45341e0047173771e8b8b73f87bfeefb7b56244" -[[package]] -name = "region" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "877e54ea2adcd70d80e9179344c97f93ef0dffd6b03e1f4529e6e83ab2fa9ae0" -dependencies = [ - "bitflags", - "libc", - "mach", - "winapi", -] - [[package]] name = "remote-externalities" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "env_logger", - "jsonrpsee", "log", "parity-scale-codec", "serde", @@ -8246,6 +8238,7 @@ dependencies = [ "sp-io", "sp-runtime", "sp-version", + "substrate-rpc-client", ] [[package]] @@ -8295,9 +8288,9 @@ dependencies = [ [[package]] name = "rocksdb" -version = "0.18.0" +version = "0.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "620f4129485ff1a7128d184bc687470c21c7951b64779ebc9cfdad3dcd920290" +checksum = "7e9562ea1d70c0cc63a34a22d977753b50cca91cc6b6527750463bd5dd8697bc" dependencies = [ "libc", "librocksdb-sys", @@ -8305,8 +8298,8 @@ dependencies = [ [[package]] name = "rococo-runtime" -version = "0.9.29" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76" +version = "0.9.32" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" dependencies = [ "beefy-merkle-tree", "beefy-primitives", @@ -8324,23 +8317,37 @@ dependencies = [ "pallet-balances", "pallet-beefy", "pallet-beefy-mmr", + "pallet-bounties", + "pallet-child-bounties", "pallet-collective", + "pallet-democracy", + "pallet-elections-phragmen", + "pallet-gilt", "pallet-grandpa", + "pallet-identity", "pallet-im-online", "pallet-indices", "pallet-membership", "pallet-mmr", "pallet-multisig", "pallet-offences", + "pallet-preimage", "pallet-proxy", + "pallet-recovery", + "pallet-scheduler", "pallet-session", + "pallet-society", "pallet-staking", "pallet-sudo", "pallet-timestamp", + "pallet-tips", "pallet-transaction-payment", "pallet-transaction-payment-rpc-runtime-api", + "pallet-treasury", "pallet-utility", + "pallet-vesting", "pallet-xcm", + "pallet-xcm-benchmarks", "parity-scale-codec", "polkadot-parachain", "polkadot-primitives", @@ -8366,6 +8373,7 @@ dependencies = [ "sp-std", "sp-transaction-pool", "sp-version", + "static_assertions", "substrate-wasm-builder", "xcm", "xcm-builder", @@ -8374,14 +8382,16 @@ dependencies = [ [[package]] name = "rococo-runtime-constants" -version = "0.9.29" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76" +version = "0.9.32" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" dependencies = [ "frame-support", "polkadot-primitives", "polkadot-runtime-common", "smallvec", + "sp-core", "sp-runtime", + "sp-weights", ] [[package]] @@ -8414,6 +8424,7 @@ name = "runtime-common" version = "1.9.0" dependencies = [ "attestation", + "cumulus-primitives-core", "frame-support", "frame-system", "kilt-asset-dids", @@ -8477,30 +8488,30 @@ dependencies = [ [[package]] name = "rustix" -version = "0.33.7" +version = "0.35.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "938a344304321a9da4973b9ff4f9f8db9caf4597dfd9dda6a60b523340a0fff0" +checksum = "72c825b8aa8010eb9ee99b75f05e10180b9278d161583034d7574c9d617aeada" dependencies = [ "bitflags", "errno", - "io-lifetimes 0.5.3", + "io-lifetimes 0.7.3", "libc", - "linux-raw-sys 0.0.42", - "winapi", + "linux-raw-sys 0.0.46", + "windows-sys 0.36.1", ] [[package]] name = "rustix" -version = "0.35.9" +version = "0.36.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72c825b8aa8010eb9ee99b75f05e10180b9278d161583034d7574c9d617aeada" +checksum = "812a2ec2043c4d6bc6482f5be2ab8244613cac2493d128d36c0759e52a626ab3" dependencies = [ "bitflags", "errno", - "io-lifetimes 0.7.3", + "io-lifetimes 1.0.1", "libc", - "linux-raw-sys 0.0.46", - "windows-sys", + "linux-raw-sys 0.1.2", + "windows-sys 0.42.0", ] [[package]] @@ -8568,15 +8579,6 @@ dependencies = [ "rustc_version 0.2.3", ] -[[package]] -name = "salsa20" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c0fbb5f676da676c260ba276a8f43a8dc67cf02d1438423aeb1c677a7212686" -dependencies = [ - "cipher", -] - [[package]] name = "same-file" version = "1.0.6" @@ -8589,7 +8591,7 @@ dependencies = [ [[package]] name = "sc-allocator" version = "4.1.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "log", "sp-core", @@ -8600,7 +8602,7 @@ dependencies = [ [[package]] name = "sc-authority-discovery" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "async-trait", "futures", @@ -8627,7 +8629,7 @@ dependencies = [ [[package]] name = "sc-basic-authorship" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "futures", "futures-timer", @@ -8650,7 +8652,7 @@ dependencies = [ [[package]] name = "sc-block-builder" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "parity-scale-codec", "sc-client-api", @@ -8666,7 +8668,7 @@ dependencies = [ [[package]] name = "sc-chain-spec" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "impl-trait-for-tuples", "memmap2 0.5.7", @@ -8683,7 +8685,7 @@ dependencies = [ [[package]] name = "sc-chain-spec-derive" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -8694,13 +8696,13 @@ dependencies = [ [[package]] name = "sc-cli" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ + "array-bytes", "chrono", "clap", "fdlimit", "futures", - "hex", "libp2p", "log", "names", @@ -8712,6 +8714,7 @@ dependencies = [ "sc-client-db", "sc-keystore", "sc-network", + "sc-network-common", "sc-service", "sc-telemetry", "sc-tracing", @@ -8733,7 +8736,7 @@ dependencies = [ [[package]] name = "sc-client-api" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "fnv", "futures", @@ -8761,7 +8764,7 @@ dependencies = [ [[package]] name = "sc-client-db" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "hash-db", "kvdb", @@ -8786,7 +8789,7 @@ dependencies = [ [[package]] name = "sc-consensus" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "async-trait", "futures", @@ -8810,7 +8813,7 @@ dependencies = [ [[package]] name = "sc-consensus-aura" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "async-trait", "futures", @@ -8839,14 +8842,14 @@ dependencies = [ [[package]] name = "sc-consensus-babe" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "async-trait", "fork-tree", "futures", "log", "merlin", - "num-bigint", + "num-bigint 0.2.6", "num-rational 0.2.4", "num-traits", "parity-scale-codec", @@ -8881,7 +8884,7 @@ dependencies = [ [[package]] name = "sc-consensus-babe-rpc" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "futures", "jsonrpsee", @@ -8903,7 +8906,7 @@ dependencies = [ [[package]] name = "sc-consensus-epochs" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "fork-tree", "parity-scale-codec", @@ -8916,7 +8919,7 @@ dependencies = [ [[package]] name = "sc-consensus-slots" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "async-trait", "futures", @@ -8934,14 +8937,13 @@ dependencies = [ "sp-inherents", "sp-runtime", "sp-state-machine", - "sp-timestamp", "thiserror", ] [[package]] name = "sc-executor" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "lazy_static", "lru 0.7.8", @@ -8968,7 +8970,7 @@ dependencies = [ [[package]] name = "sc-executor-common" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "environmental", "parity-scale-codec", @@ -8984,7 +8986,7 @@ dependencies = [ [[package]] name = "sc-executor-wasmi" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "log", "parity-scale-codec", @@ -8999,15 +9001,14 @@ dependencies = [ [[package]] name = "sc-executor-wasmtime" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "cfg-if 1.0.0", "libc", "log", "once_cell", "parity-scale-codec", - "parity-wasm 0.42.2", - "rustix 0.33.7", + "parity-wasm 0.45.0", "rustix 0.35.9", "sc-allocator", "sc-executor-common", @@ -9020,16 +9021,16 @@ dependencies = [ [[package]] name = "sc-finality-grandpa" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "ahash", + "array-bytes", "async-trait", "dyn-clone", "finality-grandpa", "fork-tree", "futures", "futures-timer", - "hex", "log", "parity-scale-codec", "parking_lot 0.12.1", @@ -9061,7 +9062,7 @@ dependencies = [ [[package]] name = "sc-finality-grandpa-rpc" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "finality-grandpa", "futures", @@ -9082,7 +9083,7 @@ dependencies = [ [[package]] name = "sc-informant" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "ansi_term", "futures", @@ -9099,10 +9100,10 @@ dependencies = [ [[package]] name = "sc-keystore" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ + "array-bytes", "async-trait", - "hex", "parking_lot 0.12.1", "serde_json", "sp-application-crypto", @@ -9114,8 +9115,9 @@ dependencies = [ [[package]] name = "sc-network" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ + "array-bytes", "async-trait", "asynchronous-codec", "bitflags", @@ -9126,7 +9128,6 @@ dependencies = [ "fork-tree", "futures", "futures-timer", - "hex", "ip_network", "libp2p", "linked-hash-map", @@ -9137,7 +9138,6 @@ dependencies = [ "parking_lot 0.12.1", "pin-project", "prost", - "prost-build", "rand 0.7.3", "sc-block-builder", "sc-client-api", @@ -9156,20 +9156,41 @@ dependencies = [ "substrate-prometheus-endpoint", "thiserror", "unsigned-varint", - "void", "zeroize", ] +[[package]] +name = "sc-network-bitswap" +version = "0.10.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +dependencies = [ + "cid", + "futures", + "libp2p", + "log", + "prost", + "prost-build", + "sc-client-api", + "sc-network-common", + "sp-blockchain", + "sp-runtime", + "thiserror", + "unsigned-varint", + "void", +] + [[package]] name = "sc-network-common" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "async-trait", "bitflags", "bytes", "futures", + "futures-timer", "libp2p", + "linked_hash_set", "parity-scale-codec", "prost-build", "sc-consensus", @@ -9180,13 +9201,14 @@ dependencies = [ "sp-consensus", "sp-finality-grandpa", "sp-runtime", + "substrate-prometheus-endpoint", "thiserror", ] [[package]] name = "sc-network-gossip" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "ahash", "futures", @@ -9204,10 +9226,10 @@ dependencies = [ [[package]] name = "sc-network-light" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ + "array-bytes", "futures", - "hex", "libp2p", "log", "parity-scale-codec", @@ -9225,14 +9247,15 @@ dependencies = [ [[package]] name = "sc-network-sync" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ + "array-bytes", "fork-tree", "futures", - "hex", "libp2p", "log", "lru 0.7.8", + "mockall", "parity-scale-codec", "prost", "prost-build", @@ -9240,6 +9263,7 @@ dependencies = [ "sc-consensus", "sc-network-common", "sc-peerset", + "sc-utils", "smallvec", "sp-arithmetic", "sp-blockchain", @@ -9250,16 +9274,35 @@ dependencies = [ "thiserror", ] +[[package]] +name = "sc-network-transactions" +version = "0.10.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +dependencies = [ + "array-bytes", + "futures", + "hex", + "libp2p", + "log", + "parity-scale-codec", + "pin-project", + "sc-network-common", + "sc-peerset", + "sp-consensus", + "sp-runtime", + "substrate-prometheus-endpoint", +] + [[package]] name = "sc-offchain" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ + "array-bytes", "bytes", "fnv", "futures", "futures-timer", - "hex", "hyper", "hyper-rustls", "libp2p", @@ -9283,7 +9326,7 @@ dependencies = [ [[package]] name = "sc-peerset" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "futures", "libp2p", @@ -9296,7 +9339,7 @@ dependencies = [ [[package]] name = "sc-proposer-metrics" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "log", "substrate-prometheus-endpoint", @@ -9305,7 +9348,7 @@ dependencies = [ [[package]] name = "sc-rpc" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "futures", "hash-db", @@ -9335,7 +9378,7 @@ dependencies = [ [[package]] name = "sc-rpc-api" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "futures", "jsonrpsee", @@ -9358,7 +9401,7 @@ dependencies = [ [[package]] name = "sc-rpc-server" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "futures", "jsonrpsee", @@ -9368,10 +9411,29 @@ dependencies = [ "tokio", ] +[[package]] +name = "sc-rpc-spec-v2" +version = "0.10.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +dependencies = [ + "futures", + "hex", + "jsonrpsee", + "parity-scale-codec", + "sc-chain-spec", + "sc-transaction-pool-api", + "serde", + "sp-api", + "sp-blockchain", + "sp-core", + "sp-runtime", + "thiserror", +] + [[package]] name = "sc-service" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "async-trait", "directories", @@ -9395,12 +9457,15 @@ dependencies = [ "sc-informant", "sc-keystore", "sc-network", + "sc-network-bitswap", "sc-network-common", "sc-network-light", "sc-network-sync", + "sc-network-transactions", "sc-offchain", "sc-rpc", "sc-rpc-server", + "sc-rpc-spec-v2", "sc-sysinfo", "sc-telemetry", "sc-tracing", @@ -9427,6 +9492,7 @@ dependencies = [ "sp-transaction-storage-proof", "sp-trie", "sp-version", + "static_init 1.0.3", "substrate-prometheus-endpoint", "tempfile", "thiserror", @@ -9438,7 +9504,7 @@ dependencies = [ [[package]] name = "sc-state-db" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "log", "parity-scale-codec", @@ -9452,7 +9518,7 @@ dependencies = [ [[package]] name = "sc-sync-state-rpc" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "jsonrpsee", "parity-scale-codec", @@ -9471,7 +9537,7 @@ dependencies = [ [[package]] name = "sc-sysinfo" version = "6.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "futures", "libc", @@ -9490,7 +9556,7 @@ dependencies = [ [[package]] name = "sc-telemetry" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "chrono", "futures", @@ -9508,7 +9574,7 @@ dependencies = [ [[package]] name = "sc-tracing" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "ansi_term", "atty", @@ -9539,7 +9605,7 @@ dependencies = [ [[package]] name = "sc-tracing-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -9550,8 +9616,9 @@ dependencies = [ [[package]] name = "sc-transaction-pool" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ + "async-trait", "futures", "futures-timer", "linked-hash-map", @@ -9576,8 +9643,9 @@ dependencies = [ [[package]] name = "sc-transaction-pool-api" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ + "async-trait", "futures", "log", "serde", @@ -9589,7 +9657,7 @@ dependencies = [ [[package]] name = "sc-utils" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "futures", "futures-timer", @@ -9601,9 +9669,9 @@ dependencies = [ [[package]] name = "scale-info" -version = "2.1.2" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c46be926081c9f4dd5dd9b6f1d3e3229f2360bc6502dd8836f84a93b7c75e99a" +checksum = "88d8a765117b237ef233705cc2cc4c6a27fccd46eea6ef0c8c6dae5f3ef407f8" dependencies = [ "bitvec", "cfg-if 1.0.0", @@ -9615,9 +9683,9 @@ dependencies = [ [[package]] name = "scale-info-derive" -version = "2.1.2" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50e334bb10a245e28e5fd755cabcafd96cfcd167c99ae63a46924ca8d8703a3c" +checksum = "cdcd47b380d8c4541044e341dcd9475f55ba37ddc50c908d945fc036a8642496" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -9632,7 +9700,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "88d6731146462ea25d9244b2ed5fd1d716d25c52e4d54aa4fb0f3c4e9854dbe2" dependencies = [ "lazy_static", - "windows-sys", + "windows-sys 0.36.1", ] [[package]] @@ -9677,6 +9745,7 @@ checksum = "08da66b8b0965a5555b6bd6639e68ccba85e1e2506f5fbb089e93f8a04e1a2d1" dependencies = [ "der", "generic-array 0.14.6", + "pkcs8", "subtle", "zeroize", ] @@ -9864,18 +9933,6 @@ dependencies = [ "digest 0.10.3", ] -[[package]] -name = "sha3" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f81199417d4e5de3f04b1e871023acea7389672c4135918f05aa9cbf2f2fa809" -dependencies = [ - "block-buffer 0.9.0", - "digest 0.9.0", - "keccak", - "opaque-debug 0.3.0", -] - [[package]] name = "sha3" version = "0.10.2" @@ -9959,8 +10016,8 @@ checksum = "03b634d87b960ab1a38c4fe143b508576f075e7c978bfad18217645ebfdfa2ec" [[package]] name = "slot-range-helper" -version = "0.9.29" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76" +version = "0.9.32" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" dependencies = [ "enumn", "parity-scale-codec", @@ -10036,7 +10093,7 @@ dependencies = [ [[package]] name = "sp-api" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "hash-db", "log", @@ -10054,7 +10111,7 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "blake2", "proc-macro-crate", @@ -10066,7 +10123,7 @@ dependencies = [ [[package]] name = "sp-application-crypto" version = "6.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "parity-scale-codec", "scale-info", @@ -10079,7 +10136,7 @@ dependencies = [ [[package]] name = "sp-arithmetic" version = "5.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "integer-sqrt", "num-traits", @@ -10094,7 +10151,7 @@ dependencies = [ [[package]] name = "sp-authority-discovery" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "parity-scale-codec", "scale-info", @@ -10107,7 +10164,7 @@ dependencies = [ [[package]] name = "sp-authorship" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "async-trait", "parity-scale-codec", @@ -10119,7 +10176,7 @@ dependencies = [ [[package]] name = "sp-block-builder" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "parity-scale-codec", "sp-api", @@ -10131,7 +10188,7 @@ dependencies = [ [[package]] name = "sp-blockchain" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "futures", "log", @@ -10149,7 +10206,7 @@ dependencies = [ [[package]] name = "sp-consensus" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "async-trait", "futures", @@ -10168,7 +10225,7 @@ dependencies = [ [[package]] name = "sp-consensus-aura" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "async-trait", "parity-scale-codec", @@ -10186,7 +10243,7 @@ dependencies = [ [[package]] name = "sp-consensus-babe" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "async-trait", "merlin", @@ -10209,7 +10266,7 @@ dependencies = [ [[package]] name = "sp-consensus-slots" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "parity-scale-codec", "scale-info", @@ -10223,7 +10280,7 @@ dependencies = [ [[package]] name = "sp-consensus-vrf" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "parity-scale-codec", "scale-info", @@ -10236,18 +10293,18 @@ dependencies = [ [[package]] name = "sp-core" version = "6.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ + "array-bytes", "base58", "bitflags", - "blake2-rfc", + "blake2", "byteorder", "dyn-clonable", "ed25519-zebra", "futures", "hash-db", "hash256-std-hasher", - "hex", "impl-serde", "lazy_static", "libsecp256k1", @@ -10282,13 +10339,13 @@ dependencies = [ [[package]] name = "sp-core-hashing" version = "4.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "blake2", "byteorder", "digest 0.10.3", "sha2 0.10.2", - "sha3 0.10.2", + "sha3", "sp-std", "twox-hash", ] @@ -10296,7 +10353,7 @@ dependencies = [ [[package]] name = "sp-core-hashing-proc-macro" version = "5.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "proc-macro2", "quote", @@ -10307,7 +10364,7 @@ dependencies = [ [[package]] name = "sp-database" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "kvdb", "parking_lot 0.12.1", @@ -10316,7 +10373,7 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "4.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "proc-macro2", "quote", @@ -10326,7 +10383,7 @@ dependencies = [ [[package]] name = "sp-externalities" version = "0.12.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "environmental", "parity-scale-codec", @@ -10337,7 +10394,7 @@ dependencies = [ [[package]] name = "sp-finality-grandpa" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "finality-grandpa", "log", @@ -10355,7 +10412,7 @@ dependencies = [ [[package]] name = "sp-inherents" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "async-trait", "impl-trait-for-tuples", @@ -10369,7 +10426,7 @@ dependencies = [ [[package]] name = "sp-io" version = "6.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "bytes", "futures", @@ -10395,7 +10452,7 @@ dependencies = [ [[package]] name = "sp-keyring" version = "6.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "lazy_static", "sp-core", @@ -10406,7 +10463,7 @@ dependencies = [ [[package]] name = "sp-keystore" version = "0.12.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "async-trait", "futures", @@ -10423,7 +10480,7 @@ dependencies = [ [[package]] name = "sp-maybe-compressed-blob" version = "4.1.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "thiserror", "zstd", @@ -10432,10 +10489,11 @@ dependencies = [ [[package]] name = "sp-mmr-primitives" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "log", "parity-scale-codec", + "scale-info", "serde", "sp-api", "sp-core", @@ -10447,7 +10505,7 @@ dependencies = [ [[package]] name = "sp-npos-elections" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "parity-scale-codec", "scale-info", @@ -10461,7 +10519,7 @@ dependencies = [ [[package]] name = "sp-offchain" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "sp-api", "sp-core", @@ -10471,7 +10529,7 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "4.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "backtrace", "lazy_static", @@ -10481,7 +10539,7 @@ dependencies = [ [[package]] name = "sp-rpc" version = "6.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "rustc-hash", "serde", @@ -10491,7 +10549,7 @@ dependencies = [ [[package]] name = "sp-runtime" version = "6.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "either", "hash256-std-hasher", @@ -10508,12 +10566,13 @@ dependencies = [ "sp-core", "sp-io", "sp-std", + "sp-weights", ] [[package]] name = "sp-runtime-interface" version = "6.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "bytes", "impl-trait-for-tuples", @@ -10531,7 +10590,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "5.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "Inflector", "proc-macro-crate", @@ -10543,7 +10602,7 @@ dependencies = [ [[package]] name = "sp-sandbox" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "log", "parity-scale-codec", @@ -10557,7 +10616,7 @@ dependencies = [ [[package]] name = "sp-session" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "parity-scale-codec", "scale-info", @@ -10571,7 +10630,7 @@ dependencies = [ [[package]] name = "sp-staking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "parity-scale-codec", "scale-info", @@ -10582,7 +10641,7 @@ dependencies = [ [[package]] name = "sp-state-machine" version = "0.12.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "hash-db", "log", @@ -10604,12 +10663,12 @@ dependencies = [ [[package]] name = "sp-std" version = "4.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" [[package]] name = "sp-storage" version = "6.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "impl-serde", "parity-scale-codec", @@ -10622,7 +10681,7 @@ dependencies = [ [[package]] name = "sp-tasks" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "log", "sp-core", @@ -10635,7 +10694,7 @@ dependencies = [ [[package]] name = "sp-timestamp" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "async-trait", "futures-timer", @@ -10651,7 +10710,7 @@ dependencies = [ [[package]] name = "sp-tracing" version = "5.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "parity-scale-codec", "sp-std", @@ -10663,7 +10722,7 @@ dependencies = [ [[package]] name = "sp-transaction-pool" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "sp-api", "sp-runtime", @@ -10672,7 +10731,7 @@ dependencies = [ [[package]] name = "sp-transaction-storage-proof" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "async-trait", "log", @@ -10688,11 +10747,11 @@ dependencies = [ [[package]] name = "sp-trie" version = "6.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "ahash", "hash-db", - "hashbrown 0.12.3", + "hashbrown", "lazy_static", "lru 0.7.8", "memory-db", @@ -10711,11 +10770,11 @@ dependencies = [ [[package]] name = "sp-version" version = "5.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "impl-serde", "parity-scale-codec", - "parity-wasm 0.42.2", + "parity-wasm 0.45.0", "scale-info", "serde", "sp-core-hashing-proc-macro", @@ -10728,7 +10787,7 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "parity-scale-codec", "proc-macro2", @@ -10739,7 +10798,7 @@ dependencies = [ [[package]] name = "sp-wasm-interface" version = "6.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "impl-trait-for-tuples", "log", @@ -10749,6 +10808,22 @@ dependencies = [ "wasmtime", ] +[[package]] +name = "sp-weights" +version = "4.0.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +dependencies = [ + "impl-trait-for-tuples", + "parity-scale-codec", + "scale-info", + "serde", + "smallvec", + "sp-arithmetic", + "sp-core", + "sp-debug-derive", + "sp-std", +] + [[package]] name = "spin" version = "0.5.2" @@ -10831,11 +10906,21 @@ dependencies = [ "xcm-executor", ] +[[package]] +name = "spki" +version = "0.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44d01ac02a6ccf3e07db148d2be087da624fea0221a16152ed01f0496a6b0a27" +dependencies = [ + "base64ct", + "der", +] + [[package]] name = "ss58-registry" -version = "1.28.0" +version = "1.31.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c8a1e645fa0bd3e81a90e592a677f7ada3182ac338c4a71cd9ec0ba911f6abb" +checksum = "1de151faef619cb7b5c26b32d42bc7ddccac0d202beb7a84344b44e9232b92f7" dependencies = [ "Inflector", "num-format", @@ -10867,7 +10952,22 @@ dependencies = [ "cfg_aliases", "libc", "parking_lot 0.11.2", - "static_init_macro", + "static_init_macro 0.5.0", +] + +[[package]] +name = "static_init" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a2a1c578e98c1c16fc3b8ec1328f7659a500737d7a0c6d625e73e830ff9c1f6" +dependencies = [ + "bitflags", + "cfg_aliases", + "libc", + "parking_lot 0.11.2", + "parking_lot_core 0.8.5", + "static_init_macro 1.0.2", + "winapi", ] [[package]] @@ -10883,6 +10983,19 @@ dependencies = [ "syn", ] +[[package]] +name = "static_init_macro" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70a2595fc3aa78f2d0e45dd425b22282dd863273761cc77780914b2cf3003acf" +dependencies = [ + "cfg_aliases", + "memchr", + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "statrs" version = "0.15.0" @@ -10940,7 +11053,7 @@ dependencies = [ [[package]] name = "substrate-build-script-utils" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "platforms", ] @@ -10948,7 +11061,7 @@ dependencies = [ [[package]] name = "substrate-frame-rpc-system" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "frame-system-rpc-runtime-api", "futures", @@ -10969,7 +11082,7 @@ dependencies = [ [[package]] name = "substrate-prometheus-endpoint" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "futures-util", "hyper", @@ -10979,10 +11092,23 @@ dependencies = [ "tokio", ] +[[package]] +name = "substrate-rpc-client" +version = "0.10.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +dependencies = [ + "async-trait", + "jsonrpsee", + "log", + "sc-rpc-api", + "serde", + "sp-runtime", +] + [[package]] name = "substrate-state-trie-migration-rpc" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "jsonrpsee", "log", @@ -11003,7 +11129,7 @@ dependencies = [ [[package]] name = "substrate-wasm-builder" version = "5.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "ansi_term", "build-helper", @@ -11025,9 +11151,9 @@ checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601" [[package]] name = "syn" -version = "1.0.99" +version = "1.0.103" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "58dbef6ec655055e20b86b15a8cc6d439cca19b667537ac6a1369572d151ab13" +checksum = "a864042229133ada95abf3b54fdc62ef5ccabe9515b64717bcb9a1919e59445d" dependencies = [ "proc-macro2", "quote", @@ -11103,10 +11229,10 @@ dependencies = [ ] [[package]] -name = "textwrap" -version = "0.15.1" +name = "termtree" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "949517c0cf1bf4ee812e2e07e08ab448e3ae0d23472aee8a06c985f0c8815b16" +checksum = "95059e91184749cb66be6dc994f67f182b6d897cb3df74a5bf66b5e709295fd8" [[package]] name = "thiserror" @@ -11167,9 +11293,9 @@ dependencies = [ [[package]] name = "tikv-jemalloc-sys" -version = "0.4.3+5.2.1-patched.2" +version = "0.5.2+5.3.0-patched" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1792ccb507d955b46af42c123ea8863668fae24d03721e40cad6a41773dbb49" +checksum = "ec45c14da997d0925c7835883e4d5c181f196fa142f8c19d7643d1e9af2592c3" dependencies = [ "cc", "fs_extra", @@ -11306,9 +11432,9 @@ checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" [[package]] name = "tracing" -version = "0.1.36" +version = "0.1.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2fce9567bd60a67d08a16488756721ba392f24f29006402881e43b19aac64307" +checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8" dependencies = [ "cfg-if 1.0.0", "pin-project-lite 0.2.9", @@ -11318,9 +11444,9 @@ dependencies = [ [[package]] name = "tracing-attributes" -version = "0.1.22" +version = "0.1.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11c75893af559bc8e10716548bdef5cb2b983f8e637db9d0e15126b61b484ee2" +checksum = "4017f8f45139870ca7e672686113917c71c7a6e02d4924eda67186083c03081a" dependencies = [ "proc-macro2", "quote", @@ -11329,9 +11455,9 @@ dependencies = [ [[package]] name = "tracing-core" -version = "0.1.29" +version = "0.1.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5aeea4303076558a00714b823f9ad67d58a3bbda1df83d8827d21193156e22f7" +checksum = "24eb03ba0eab1fd845050058ce5e616558e8f8d8fca633e6b163fe25c797213a" dependencies = [ "once_cell", "valuable", @@ -11349,8 +11475,8 @@ dependencies = [ [[package]] name = "tracing-gum" -version = "0.9.29" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76" +version = "0.9.32" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" dependencies = [ "polkadot-node-jaeger", "polkadot-primitives", @@ -11360,8 +11486,8 @@ dependencies = [ [[package]] name = "tracing-gum-proc-macro" -version = "0.9.29" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76" +version = "0.9.32" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" dependencies = [ "expander 0.0.6", "proc-macro-crate", @@ -11421,7 +11547,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "004e1e8f92535694b4cb1444dc5a8073ecf0815e3357f729638b9f8fc4062908" dependencies = [ "hash-db", - "hashbrown 0.12.3", + "hashbrown", "log", "rustc-hex", "smallvec", @@ -11438,9 +11564,9 @@ dependencies = [ [[package]] name = "trust-dns-proto" -version = "0.21.2" +version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c31f240f59877c3d4bb3b3ea0ec5a6a0cff07323580ff8c7a605cd7d08b255d" +checksum = "4f7f83d1e4a0e4358ac54c5c3681e5d7da5efc5a7a632c90bb6d6669ddd9bc26" dependencies = [ "async-trait", "cfg-if 1.0.0", @@ -11449,33 +11575,33 @@ dependencies = [ "futures-channel", "futures-io", "futures-util", - "idna", + "idna 0.2.3", "ipnet", "lazy_static", - "log", "rand 0.8.5", "smallvec", "thiserror", "tinyvec", + "tracing", "url", ] [[package]] name = "trust-dns-resolver" -version = "0.21.2" +version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4ba72c2ea84515690c9fcef4c6c660bb9df3036ed1051686de84605b74fd558" +checksum = "aff21aa4dcefb0a1afbfac26deb0adc93888c7d295fb63ab273ef276ba2b7cfe" dependencies = [ "cfg-if 1.0.0", "futures-util", "ipconfig", "lazy_static", - "log", "lru-cache", "parking_lot 0.12.1", "resolv-conf", "smallvec", "thiserror", + "tracing", "trust-dns-proto", ] @@ -11488,11 +11614,10 @@ checksum = "59547bce71d9c38b83d9c0e92b6066c4253371f15005def0c30d9657f50c7642" [[package]] name = "try-runtime-cli" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#cc370aa61e15c18d23a2f686b812fd576a630afe" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" dependencies = [ "clap", "frame-try-runtime", - "jsonrpsee", "log", "parity-scale-codec", "remote-externalities", @@ -11508,6 +11633,8 @@ dependencies = [ "sp-runtime", "sp-state-machine", "sp-version", + "sp-weights", + "substrate-rpc-client", "zstd", ] @@ -11523,7 +11650,7 @@ version = "1.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675" dependencies = [ - "cfg-if 0.1.10", + "cfg-if 1.0.0", "digest 0.10.3", "rand 0.8.5", "static_assertions", @@ -11625,13 +11752,12 @@ checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a" [[package]] name = "url" -version = "2.2.2" +version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a507c383b2d33b5fc35d1861e77e6b383d158b2da5e14fe51b83dfedf6fd578c" +checksum = "0d68c799ae75762b8c3fe375feb6600ef5602c883c5d21eb51c09f22b83c4643" dependencies = [ "form_urlencoded", - "idna", - "matches", + "idna 0.3.0", "percent-encoding", ] @@ -11793,11 +11919,11 @@ dependencies = [ [[package]] name = "wasm-instrument" -version = "0.1.1" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "962e5b0401bbb6c887f54e69b8c496ea36f704df65db73e81fd5ff8dc3e63a9f" +checksum = "aa1dafb3e60065305741e83db35c6c2584bb3725b692b5b66148a38d72ace6cd" dependencies = [ - "parity-wasm 0.42.2", + "parity-wasm 0.45.0", ] [[package]] @@ -11817,58 +11943,63 @@ dependencies = [ [[package]] name = "wasmi" -version = "0.9.1" +version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca00c5147c319a8ec91ec1a0edbec31e566ce2c9cc93b3f9bb86a9efd0eb795d" +checksum = "06c326c93fbf86419608361a2c925a31754cf109da1b8b55737070b4d6669422" dependencies = [ - "downcast-rs", - "libc", - "libm", - "memory_units", - "num-rational 0.2.4", - "num-traits", - "parity-wasm 0.42.2", + "parity-wasm 0.45.0", "wasmi-validation", + "wasmi_core", ] [[package]] name = "wasmi-validation" -version = "0.4.1" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91ff416ad1ff0c42e5a926ed5d5fab74c0f098749aa0ad8b2a34b982ce0e867b" +dependencies = [ + "parity-wasm 0.45.0", +] + +[[package]] +name = "wasmi_core" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "165343ecd6c018fc09ebcae280752702c9a2ef3e6f8d02f1cfcbdb53ef6d7937" +checksum = "57d20cb3c59b788653d99541c646c561c9dd26506f25c0cebfe810659c54c6d7" dependencies = [ - "parity-wasm 0.42.2", + "downcast-rs", + "libm", + "memory_units", + "num-rational 0.4.1", + "num-traits", ] [[package]] name = "wasmparser" -version = "0.85.0" +version = "0.89.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "570460c58b21e9150d2df0eaaedbb7816c34bcec009ae0dcc976e40ba81463e7" +checksum = "ab5d3e08b13876f96dd55608d03cd4883a0545884932d5adf11925876c96daef" dependencies = [ "indexmap", ] [[package]] name = "wasmtime" -version = "0.38.3" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f50eadf868ab6a04b7b511460233377d0bfbb92e417b2f6a98b98fef2e098f5" +checksum = "4ad5af6ba38311282f2a21670d96e78266e8c8e2f38cbcd52c254df6ccbc7731" dependencies = [ "anyhow", - "backtrace", "bincode", "cfg-if 1.0.0", "indexmap", - "lazy_static", "libc", "log", - "object 0.28.4", + "object", "once_cell", "paste", "psm", "rayon", - "region", "serde", "target-lexicon", "wasmparser", @@ -11877,14 +12008,23 @@ dependencies = [ "wasmtime-environ", "wasmtime-jit", "wasmtime-runtime", - "winapi", + "windows-sys 0.36.1", +] + +[[package]] +name = "wasmtime-asm-macros" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "45de63ddfc8b9223d1adc8f7b2ee5f35d1f6d112833934ad7ea66e4f4339e597" +dependencies = [ + "cfg-if 1.0.0", ] [[package]] name = "wasmtime-cache" -version = "0.38.3" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1df23c642e1376892f3b72f311596976979cbf8b85469680cdd3a8a063d12a2" +checksum = "bcd849399d17d2270141cfe47fa0d91ee52d5f8ea9b98cf7ddde0d53e5f79882" dependencies = [ "anyhow", "base64", @@ -11892,19 +12032,19 @@ dependencies = [ "directories-next", "file-per-thread-logger", "log", - "rustix 0.33.7", + "rustix 0.35.9", "serde", "sha2 0.9.9", "toml", - "winapi", + "windows-sys 0.36.1", "zstd", ] [[package]] name = "wasmtime-cranelift" -version = "0.38.3" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f264ff6b4df247d15584f2f53d009fbc90032cfdc2605b52b961bffc71b6eccd" +checksum = "4bd91339b742ff20bfed4532a27b73c86b5bcbfedd6bea2dcdf2d64471e1b5c6" dependencies = [ "anyhow", "cranelift-codegen", @@ -11914,8 +12054,7 @@ dependencies = [ "cranelift-wasm", "gimli", "log", - "more-asserts", - "object 0.28.4", + "object", "target-lexicon", "thiserror", "wasmparser", @@ -11924,17 +12063,16 @@ dependencies = [ [[package]] name = "wasmtime-environ" -version = "0.38.3" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "839d2820e4b830f4b9e7aa08d4c0acabf4a5036105d639f6dfa1c6891c73bdc6" +checksum = "ebb881c61f4f627b5d45c54e629724974f8a8890d455bcbe634330cc27309644" dependencies = [ "anyhow", "cranelift-entity", "gimli", "indexmap", "log", - "more-asserts", - "object 0.28.4", + "object", "serde", "target-lexicon", "thiserror", @@ -11944,9 +12082,9 @@ dependencies = [ [[package]] name = "wasmtime-jit" -version = "0.38.3" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef0a0bcbfa18b946d890078ba0e1bc76bcc53eccfb40806c0020ec29dcd1bd49" +checksum = "1985c628011fe26adf5e23a5301bdc79b245e0e338f14bb58b39e4e25e4d8681" dependencies = [ "addr2line", "anyhow", @@ -11955,38 +12093,36 @@ dependencies = [ "cpp_demangle", "gimli", "log", - "object 0.28.4", - "region", + "object", "rustc-demangle", - "rustix 0.33.7", + "rustix 0.35.9", "serde", "target-lexicon", "thiserror", "wasmtime-environ", "wasmtime-jit-debug", "wasmtime-runtime", - "winapi", + "windows-sys 0.36.1", ] [[package]] name = "wasmtime-jit-debug" -version = "0.38.3" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f4779d976206c458edd643d1ac622b6c37e4a0800a8b1d25dfbf245ac2f2cac" +checksum = "f671b588486f5ccec8c5a3dba6b4c07eac2e66ab8c60e6f4e53717c77f709731" dependencies = [ - "lazy_static", - "object 0.28.4", - "rustix 0.33.7", + "object", + "once_cell", + "rustix 0.35.9", ] [[package]] name = "wasmtime-runtime" -version = "0.38.3" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7eb6ffa169eb5dcd18ac9473c817358cd57bc62c244622210566d473397954a" +checksum = "ee8f92ad4b61736339c29361da85769ebc200f184361959d1792832e592a1afd" dependencies = [ "anyhow", - "backtrace", "cc", "cfg-if 1.0.0", "indexmap", @@ -11995,21 +12131,21 @@ dependencies = [ "mach", "memfd", "memoffset", - "more-asserts", + "paste", "rand 0.8.5", - "region", - "rustix 0.33.7", + "rustix 0.35.9", "thiserror", + "wasmtime-asm-macros", "wasmtime-environ", "wasmtime-jit-debug", - "winapi", + "windows-sys 0.36.1", ] [[package]] name = "wasmtime-types" -version = "0.38.3" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d932b0ac5336f7308d869703dd225610a6a3aeaa8e968c52b43eed96cefb1c2" +checksum = "d23d61cb4c46e837b431196dd06abb11731541021916d03476a178b54dc07aeb" dependencies = [ "cranelift-entity", "serde", @@ -12057,8 +12193,8 @@ dependencies = [ [[package]] name = "westend-runtime" -version = "0.9.29" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76" +version = "0.9.32" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" dependencies = [ "beefy-primitives", "bitvec", @@ -12082,6 +12218,7 @@ dependencies = [ "pallet-election-provider-multi-phase", "pallet-election-provider-support-benchmarking", "pallet-elections-phragmen", + "pallet-fast-unstake", "pallet-grandpa", "pallet-identity", "pallet-im-online", @@ -12146,14 +12283,16 @@ dependencies = [ [[package]] name = "westend-runtime-constants" -version = "0.9.29" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76" +version = "0.9.32" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" dependencies = [ "frame-support", "polkadot-primitives", "polkadot-runtime-common", "smallvec", + "sp-core", "sp-runtime", + "sp-weights", ] [[package]] @@ -12230,6 +12369,27 @@ dependencies = [ "windows_x86_64_msvc 0.36.1", ] +[[package]] +name = "windows-sys" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7" +dependencies = [ + "windows_aarch64_gnullvm", + "windows_aarch64_msvc 0.42.0", + "windows_i686_gnu 0.42.0", + "windows_i686_msvc 0.42.0", + "windows_x86_64_gnu 0.42.0", + "windows_x86_64_gnullvm", + "windows_x86_64_msvc 0.42.0", +] + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41d2aa71f6f0cbe00ae5167d90ef3cfe66527d6f613ca78ac8024c3ccab9a19e" + [[package]] name = "windows_aarch64_msvc" version = "0.34.0" @@ -12242,6 +12402,12 @@ version = "0.36.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9bb8c3fd39ade2d67e9874ac4f3db21f0d710bee00fe7cab16949ec184eeaa47" +[[package]] +name = "windows_aarch64_msvc" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd0f252f5a35cac83d6311b2e795981f5ee6e67eb1f9a7f64eb4500fbc4dcdb4" + [[package]] name = "windows_i686_gnu" version = "0.34.0" @@ -12254,6 +12420,12 @@ version = "0.36.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "180e6ccf01daf4c426b846dfc66db1fc518f074baa793aa7d9b9aaeffad6a3b6" +[[package]] +name = "windows_i686_gnu" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fbeae19f6716841636c28d695375df17562ca208b2b7d0dc47635a50ae6c5de7" + [[package]] name = "windows_i686_msvc" version = "0.34.0" @@ -12266,6 +12438,12 @@ version = "0.36.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e2e7917148b2812d1eeafaeb22a97e4813dfa60a3f8f78ebe204bcc88f12f024" +[[package]] +name = "windows_i686_msvc" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "84c12f65daa39dd2babe6e442988fc329d6243fdce47d7d2d155b8d874862246" + [[package]] name = "windows_x86_64_gnu" version = "0.34.0" @@ -12278,6 +12456,18 @@ version = "0.36.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4dcd171b8776c41b97521e5da127a2d86ad280114807d0b2ab1e462bc764d9e1" +[[package]] +name = "windows_x86_64_gnu" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf7b1b21b5362cbc318f686150e5bcea75ecedc74dd157d874d754a2ca44b0ed" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09d525d2ba30eeb3297665bd434a54297e4170c7f1a44cad4ef58095b4cd2028" + [[package]] name = "windows_x86_64_msvc" version = "0.34.0" @@ -12290,6 +12480,12 @@ version = "0.36.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c811ca4a8c853ef420abd8592ba53ddbbac90410fab6903b3e79972a631f7680" +[[package]] +name = "windows_x86_64_msvc" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f40009d85759725a34da6d89a94e63d7bdc50a862acf0dbc7c8e488f1edcb6f5" + [[package]] name = "winreg" version = "0.7.0" @@ -12321,8 +12517,8 @@ dependencies = [ [[package]] name = "xcm" -version = "0.9.29" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76" +version = "0.9.32" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" dependencies = [ "derivative", "impl-trait-for-tuples", @@ -12335,8 +12531,8 @@ dependencies = [ [[package]] name = "xcm-builder" -version = "0.9.29" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76" +version = "0.9.32" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" dependencies = [ "frame-support", "frame-system", @@ -12355,8 +12551,8 @@ dependencies = [ [[package]] name = "xcm-executor" -version = "0.9.29" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76" +version = "0.9.32" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" dependencies = [ "frame-benchmarking", "frame-support", @@ -12373,8 +12569,8 @@ dependencies = [ [[package]] name = "xcm-procedural" -version = "0.9.29" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76" +version = "0.9.32" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" dependencies = [ "Inflector", "proc-macro2", diff --git a/Cargo.toml b/Cargo.toml index c8c09c7d2..8fc9dbbfb 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -23,23 +23,23 @@ version = "1.9.0" [workspace.dependencies] # Build deps -substrate-wasm-builder = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29"} +substrate-wasm-builder = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.32"} # External (without extra features and with default disabled if necessary) base58 = {version = "0.2.0", default-features = false} bitflags = {version = "1.3.2", default-features = false} -clap = "3.2.20" +clap = "4.0.9" codec = {package = "parity-scale-codec", version = "3.1.5", default-features = false} env_logger = "0.9.0" hex-literal = "0.3.4" -hex = {version = "0.4", default-features = false} +hex = {version = "0.4.0", default-features = false} jsonrpsee = "0.15.1" libsecp256k1 = {version = "0.7", default-features = false} log = "0.4.17" scale-info = {version = "2.1.1", default-features = false} serde = "1.0.144" -serde_json = "1.0.83" -sha3 = {version = "0.10", default-features = false} +serde_json = "1.0.85" +sha3 = {version = "0.10.0", default-features = false} smallvec = "1.8.0" # Internal pallets (with default disabled) @@ -70,110 +70,111 @@ peregrine-runtime = {path = "runtimes/peregrine", default-features = false} spiritnet-runtime = {path = "runtimes/spiritnet", default-features = false} # Benchmarking (with default disabled) -cumulus-pallet-session-benchmarking = {git = "https://github.com/paritytech/cumulus", default-features = false, branch = "polkadot-v0.9.29"} -frame-system-benchmarking = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.29"} +cumulus-pallet-session-benchmarking = {git = "https://github.com/paritytech/cumulus", default-features = false, branch = "polkadot-v0.9.32"} +frame-system-benchmarking = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.32"} # Cumulus (with default disabled) -cumulus-pallet-aura-ext = {git = "https://github.com/paritytech/cumulus", default-features = false, branch = "polkadot-v0.9.29"} -cumulus-pallet-dmp-queue = {git = "https://github.com/paritytech/cumulus", default-features = false, branch = "polkadot-v0.9.29"} -cumulus-pallet-solo-to-para = {git = "https://github.com/paritytech/cumulus", default-features = false, branch = "polkadot-v0.9.29"} -cumulus-pallet-parachain-system = {git = "https://github.com/paritytech/cumulus", default-features = false, branch = "polkadot-v0.9.29"} -cumulus-pallet-xcm = {git = "https://github.com/paritytech/cumulus", default-features = false, branch = "polkadot-v0.9.29"} -cumulus-pallet-xcmp-queue = {git = "https://github.com/paritytech/cumulus", default-features = false, branch = "polkadot-v0.9.29"} -cumulus-primitives-core = {git = "https://github.com/paritytech/cumulus", default-features = false, branch = "polkadot-v0.9.29"} -cumulus-primitives-timestamp = {git = "https://github.com/paritytech/cumulus", default-features = false, branch = "polkadot-v0.9.29"} -cumulus-primitives-utility = {git = "https://github.com/paritytech/cumulus", default-features = false, branch = "polkadot-v0.9.29"} -pallet-collator-selection = {git = "https://github.com/paritytech/cumulus", default-features = false, branch = "polkadot-v0.9.29"} -parachain-info = {git = "https://github.com/paritytech/cumulus", default-features = false, branch = "polkadot-v0.9.29"} +cumulus-pallet-aura-ext = {git = "https://github.com/paritytech/cumulus", default-features = false, branch = "polkadot-v0.9.32"} +cumulus-pallet-dmp-queue = {git = "https://github.com/paritytech/cumulus", default-features = false, branch = "polkadot-v0.9.32"} +cumulus-pallet-solo-to-para = {git = "https://github.com/paritytech/cumulus", default-features = false, branch = "polkadot-v0.9.32"} +cumulus-pallet-parachain-system = {git = "https://github.com/paritytech/cumulus", default-features = false, branch = "polkadot-v0.9.32"} +cumulus-pallet-xcm = {git = "https://github.com/paritytech/cumulus", default-features = false, branch = "polkadot-v0.9.32"} +cumulus-pallet-xcmp-queue = {git = "https://github.com/paritytech/cumulus", default-features = false, branch = "polkadot-v0.9.32"} +cumulus-primitives-core = {git = "https://github.com/paritytech/cumulus", default-features = false, branch = "polkadot-v0.9.32"} +cumulus-primitives-timestamp = {git = "https://github.com/paritytech/cumulus", default-features = false, branch = "polkadot-v0.9.32"} +cumulus-primitives-utility = {git = "https://github.com/paritytech/cumulus", default-features = false, branch = "polkadot-v0.9.32"} +pallet-collator-selection = {git = "https://github.com/paritytech/cumulus", default-features = false, branch = "polkadot-v0.9.32"} +parachain-info = {git = "https://github.com/paritytech/cumulus", default-features = false, branch = "polkadot-v0.9.32"} # Substrate (with default disabled) -frame-benchmarking = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.29"} -frame-benchmarking-cli = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.29"} -frame-executive = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.29"} -frame-support = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.29"} -frame-system = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.29"} -frame-system-rpc-runtime-api = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.29"} -frame-try-runtime = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.29"} -pallet-aura = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.29"} -pallet-authorship = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.29"} -pallet-balances = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.29"} -pallet-collective = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.29"} -pallet-democracy = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.29"} -pallet-grandpa = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.29"} -pallet-indices = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.29"} -pallet-membership = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.29"} -pallet-preimage = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.29"} -pallet-proxy = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.29"} -pallet-randomness-collective-flip = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.29"} -pallet-scheduler = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.29"} -pallet-session = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.29"} -pallet-sudo = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.29"} -pallet-timestamp = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.29"} -pallet-tips = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.29"} -pallet-transaction-payment = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.29"} -pallet-transaction-payment-rpc-runtime-api = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.29"} -pallet-treasury = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.29"} -pallet-utility = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.29"} -pallet-vesting = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.29"} -sp-api = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.29"} -sp-block-builder = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.29"} -sp-consensus-aura = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.29"} -sp-core = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.29"} -sp-inherents = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.29"} -sp-io = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.29"} -sp-offchain = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.29"} -sp-runtime = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.29"} -sp-session = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.29"} -sp-staking = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.29"} -sp-std = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.29"} -sp-transaction-pool = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.29"} -sp-version = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.29"} -try-runtime-cli = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.29"} +frame-benchmarking = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.32"} +frame-benchmarking-cli = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.32"} +frame-executive = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.32"} +frame-support = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.32"} +frame-system = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.32"} +frame-system-rpc-runtime-api = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.32"} +frame-try-runtime = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.32"} +pallet-aura = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.32"} +pallet-authorship = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.32"} +pallet-balances = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.32"} +pallet-collective = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.32"} +pallet-democracy = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.32"} +pallet-grandpa = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.32"} +pallet-indices = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.32"} +pallet-membership = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.32"} +pallet-preimage = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.32"} +pallet-proxy = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.32"} +pallet-randomness-collective-flip = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.32"} +pallet-scheduler = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.32"} +pallet-session = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.32"} +pallet-sudo = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.32"} +pallet-timestamp = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.32"} +pallet-tips = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.32"} +pallet-transaction-payment = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.32"} +pallet-transaction-payment-rpc-runtime-api = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.32"} +pallet-treasury = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.32"} +pallet-utility = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.32"} +pallet-vesting = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.32"} +sp-api = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.32"} +sp-block-builder = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.32"} +sp-consensus-aura = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.32"} +sp-core = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.32"} +sp-inherents = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.32"} +sp-io = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.32"} +sp-offchain = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.32"} +sp-runtime = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.32"} +sp-session = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.32"} +sp-staking = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.32"} +sp-std = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.32"} +sp-transaction-pool = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.32"} +sp-version = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.32"} +try-runtime-cli = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.32"} # Polkadot (with default disabled) -pallet-xcm = {git = "https://github.com/paritytech/polkadot", default-features = false, branch = "release-v0.9.29"} -polkadot-parachain = {git = "https://github.com/paritytech/polkadot", default-features = false, branch = "release-v0.9.29"} -xcm = {git = "https://github.com/paritytech/polkadot", default-features = false, branch = "release-v0.9.29"} -xcm-builder = {git = "https://github.com/paritytech/polkadot", default-features = false, branch = "release-v0.9.29"} -xcm-executor = {git = "https://github.com/paritytech/polkadot", default-features = false, branch = "release-v0.9.29"} +pallet-xcm = {git = "https://github.com/paritytech/polkadot", default-features = false, branch = "release-v0.9.32"} +polkadot-parachain = {git = "https://github.com/paritytech/polkadot", default-features = false, branch = "release-v0.9.32"} +xcm = {git = "https://github.com/paritytech/polkadot", default-features = false, branch = "release-v0.9.32"} +xcm-builder = {git = "https://github.com/paritytech/polkadot", default-features = false, branch = "release-v0.9.32"} +xcm-executor = {git = "https://github.com/paritytech/polkadot", default-features = false, branch = "release-v0.9.32"} # Client-only (with default enabled) -cumulus-client-cli = {git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.29"} -cumulus-client-consensus-aura = {git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.29"} -cumulus-client-consensus-common = {git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.29"} -cumulus-client-network = {git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.29"} -cumulus-client-service = {git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.29"} -cumulus-primitives-parachain-inherent = {git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.29"} -cumulus-relay-chain-inprocess-interface = {git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.29"} -cumulus-relay-chain-interface = {git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.29"} -cumulus-relay-chain-rpc-interface = {git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.29"} -pallet-transaction-payment-rpc = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29"} -polkadot-cli = {git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.29"} -polkadot-primitives = {git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.29"} -polkadot-service = {git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.29"} -sc-basic-authorship = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29"} -sc-chain-spec = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29"} -sc-cli = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29"} -sc-client-api = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29"} -sc-consensus = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29"} -sc-consensus-aura = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29"} -sc-executor = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29"} -sc-finality-grandpa = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29"} -sc-keystore = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29"} -sc-network = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29"} -sc-rpc-api = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29"} -sc-service = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29"} -sc-sysinfo = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29"} -sc-telemetry = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29"} -sc-tracing = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29"} -sc-transaction-pool = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29"} -sc-transaction-pool-api = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29"} -sp-blockchain = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29"} -sp-consensus = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29"} -sp-finality-grandpa = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29"} -sp-keyring = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29"} -sp-keystore = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29"} -sp-timestamp = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29"} -substrate-build-script-utils = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29"} -substrate-frame-rpc-system = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29"} -substrate-prometheus-endpoint = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29"} +cumulus-client-cli = {git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.32"} +cumulus-client-consensus-aura = {git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.32"} +cumulus-client-consensus-common = {git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.32"} +cumulus-client-network = {git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.32"} +cumulus-client-service = {git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.32"} +cumulus-primitives-parachain-inherent = {git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.32"} +cumulus-relay-chain-inprocess-interface = {git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.32"} +cumulus-relay-chain-interface = {git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.32"} +cumulus-relay-chain-minimal-node = {git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.32"} +cumulus-relay-chain-rpc-interface = {git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.32"} +pallet-transaction-payment-rpc = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.32"} +polkadot-cli = {git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.32"} +polkadot-primitives = {git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.32"} +polkadot-service = {git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.32"} +sc-basic-authorship = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.32"} +sc-chain-spec = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.32"} +sc-cli = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.32"} +sc-client-api = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.32"} +sc-consensus = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.32"} +sc-consensus-aura = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.32"} +sc-executor = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.32"} +sc-finality-grandpa = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.32"} +sc-keystore = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.32"} +sc-network = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.32"} +sc-rpc-api = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.32"} +sc-service = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.32"} +sc-sysinfo = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.32"} +sc-telemetry = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.32"} +sc-tracing = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.32"} +sc-transaction-pool = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.32"} +sc-transaction-pool-api = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.32"} +sp-blockchain = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.32"} +sp-consensus = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.32"} +sp-finality-grandpa = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.32"} +sp-keyring = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.32"} +sp-keystore = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.32"} +sp-timestamp = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.32"} +substrate-build-script-utils = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.32"} +substrate-frame-rpc-system = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.32"} +substrate-prometheus-endpoint = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.32"} diff --git a/nodes/parachain/Cargo.toml b/nodes/parachain/Cargo.toml index 06cfc79be..e3d47c870 100644 --- a/nodes/parachain/Cargo.toml +++ b/nodes/parachain/Cargo.toml @@ -77,6 +77,7 @@ cumulus-primitives-core = {workspace = true, features = ["std"]} cumulus-primitives-parachain-inherent = {workspace = true, features = ["std"]} cumulus-relay-chain-inprocess-interface.workspace = true cumulus-relay-chain-interface.workspace = true +cumulus-relay-chain-minimal-node.workspace = true cumulus-relay-chain-rpc-interface.workspace = true # Polkadot dependencies @@ -99,12 +100,25 @@ fast-gov = [ "runtime-common/fast-gov", ] runtime-benchmarks = [ + "clone-runtime/runtime-benchmarks", + "frame-benchmarking/runtime-benchmarks", + "frame-benchmarking-cli/runtime-benchmarks", + "polkadot-cli/runtime-benchmarks", + "polkadot-primitives/runtime-benchmarks", "polkadot-service/runtime-benchmarks", + "runtime-common/runtime-benchmarks", "peregrine-runtime/runtime-benchmarks", + "sc-service/runtime-benchmarks", "spiritnet-runtime/runtime-benchmarks", + "sp-runtime/runtime-benchmarks", + "xcm/runtime-benchmarks", ] try-runtime = [ + "clone-runtime/try-runtime", "peregrine-runtime/try-runtime", + "polkadot-cli/try-runtime", + "polkadot-service/try-runtime", + "runtime-common/try-runtime", "spiritnet-runtime/try-runtime", "try-runtime-cli", ] diff --git a/nodes/parachain/src/cli.rs b/nodes/parachain/src/cli.rs index fe3b69d98..71afb4b0c 100644 --- a/nodes/parachain/src/cli.rs +++ b/nodes/parachain/src/cli.rs @@ -53,7 +53,7 @@ pub(crate) enum Subcommand { /// Sub-commands concerned with benchmarking. /// The pallet benchmarking moved to the `pallet` sub-command. - #[clap(subcommand)] + #[command(subcommand)] Benchmark(frame_benchmarking_cli::BenchmarkCmd), /// Try some command against runtime state. @@ -69,11 +69,11 @@ pub(crate) enum Subcommand { /// Command for building the genesis state of the parachain #[derive(Debug, Parser)] pub(crate) struct BuildSpecCmd { - #[clap(flatten)] + #[command(flatten)] pub(crate) inner_args: sc_cli::BuildSpecCmd, /// The name of the runtime which should get executed. - #[clap(long, default_value = DEFAULT_RUNTIME)] + #[arg(long, default_value = DEFAULT_RUNTIME)] pub(crate) runtime: String, } @@ -86,16 +86,16 @@ impl Deref for BuildSpecCmd { } #[derive(Debug, clap::Parser)] -#[clap( +#[command( propagate_version = true, args_conflicts_with_subcommands = true, subcommand_negates_reqs = true )] pub(crate) struct Cli { - #[clap(subcommand)] + #[command(subcommand)] pub(crate) subcommand: Option, - #[clap(flatten)] + #[command(flatten)] pub(crate) run: cumulus_client_cli::RunCmd, // Disable automatic hardware benchmarks. @@ -105,16 +105,16 @@ pub(crate) struct Cli { /// /// The results are then printed out in the logs, and also sent as part of /// telemetry, if telemetry is enabled. - #[clap(long)] + #[arg(long)] pub no_hardware_benchmarks: bool, /// The name of the runtime which should get executed. - #[clap(long, default_value = DEFAULT_RUNTIME)] + #[arg(long, default_value = DEFAULT_RUNTIME)] pub(crate) runtime: String, /// Relaychain arguments - #[clap(raw = true)] - pub(crate) relaychain_args: Vec, + #[arg(raw = true)] + pub(crate) relay_chain_args: Vec, } #[derive(Debug)] diff --git a/nodes/parachain/src/command.rs b/nodes/parachain/src/command.rs index d012ed6d7..b36d28854 100644 --- a/nodes/parachain/src/command.rs +++ b/nodes/parachain/src/command.rs @@ -25,7 +25,7 @@ use codec::Encode; use cumulus_client_cli::generate_genesis_block; use cumulus_primitives_core::ParaId; use frame_benchmarking_cli::{BenchmarkCmd, SUBSTRATE_REFERENCE_HARDWARE}; -use log::info; +use log::{info, warn}; #[cfg(feature = "try-runtime")] use polkadot_service::TaskManager; use runtime_common::Block; @@ -35,7 +35,7 @@ use sc_cli::{ }; use sc_service::config::{BasePath, PrometheusConfig}; use sp_core::hexdisplay::HexDisplay; -use sp_runtime::traits::{AccountIdConversion, Block as BlockT}; +use sp_runtime::traits::{AccountIdConversion, Block as BlockT, Zero}; use std::net::SocketAddr; trait IdentifyChain { @@ -271,7 +271,7 @@ pub fn run() -> Result<()> { &config, [RelayChainCli::executable_name()] .iter() - .chain(cli.relaychain_args.iter()), + .chain(cli.relay_chain_args.iter()), ); let polkadot_config = @@ -336,6 +336,14 @@ pub fn run() -> Result<()> { )?; cmd.run(partials.client) }), + #[cfg(not(feature = "runtime-benchmarks"))] + (BenchmarkCmd::Storage(_), _) => Err(sc_cli::Error::Input( + "Compile with --features=runtime-benchmarks \ + to enable storage benchmarks." + .into(), + ) + .into()), + #[cfg(feature = "runtime-benchmarks")] (BenchmarkCmd::Storage(cmd), "spiritnet") => runner.sync_run(|config| { let partials = new_partial::( &config, @@ -347,6 +355,7 @@ pub fn run() -> Result<()> { cmd.run(config, partials.client.clone(), db, storage) }), + #[cfg(feature = "runtime-benchmarks")] (BenchmarkCmd::Storage(cmd), "peregrine") => runner.sync_run(|config| { let partials = new_partial::( &config, @@ -358,6 +367,7 @@ pub fn run() -> Result<()> { cmd.run(config, partials.client.clone(), db, storage) }), + #[cfg(feature = "runtime-benchmarks")] (BenchmarkCmd::Storage(cmd), "clone") => runner.sync_run(|config| { let partials = new_partial::( &config, @@ -421,7 +431,7 @@ pub fn run() -> Result<()> { &config, [RelayChainCli::executable_name()] .iter() - .chain(cli.relaychain_args.iter()), + .chain(cli.relay_chain_args.iter()), ); let id = ParaId::from(para_id); @@ -446,6 +456,10 @@ pub fn run() -> Result<()> { if config.role.is_authority() { "yes" } else { "no" } ); + if collator_options.relay_chain_rpc_url.is_some() && !cli.relay_chain_args.len().is_zero() { + warn!("Detected relay chain node arguments together with --relay-chain-rpc-url. This command starts a minimal Polkadot node that only uses a network-related subset of all relay chain CLI options."); + } + if config.chain_spec.is_peregrine() { crate::service::start_node::( config, diff --git a/nodes/parachain/src/service.rs b/nodes/parachain/src/service.rs index 81f1e8f49..06dd73cad 100644 --- a/nodes/parachain/src/service.rs +++ b/nodes/parachain/src/service.rs @@ -29,9 +29,8 @@ use cumulus_client_service::{ use cumulus_primitives_core::ParaId; use cumulus_relay_chain_inprocess_interface::build_inprocess_relay_chain; use cumulus_relay_chain_interface::{RelayChainError, RelayChainInterface, RelayChainResult}; -use cumulus_relay_chain_rpc_interface::{create_client_and_start_worker, RelayChainRpcInterface}; +use cumulus_relay_chain_minimal_node::build_minimal_relay_chain_node; use polkadot_service::{CollatorPair, NativeExecutionDispatch}; -use sc_client_api::ExecutorProvider; use sc_executor::NativeElseWasmExecutor; use sc_network::{NetworkBlock, NetworkService}; use sc_service::{Configuration, TFullBackend, TFullClient, TaskManager}; @@ -181,7 +180,7 @@ where &task_manager, )?; - let params = PartialComponents { + Ok(PartialComponents { backend, client, import_queue, @@ -190,9 +189,7 @@ where transaction_pool, select_chain: (), other: (telemetry, telemetry_worker_handle), - }; - - Ok(params) + }) } async fn build_relay_chain_interface( @@ -204,10 +201,7 @@ async fn build_relay_chain_interface( hwbench: Option, ) -> RelayChainResult<(Arc<(dyn RelayChainInterface + 'static)>, Option)> { match collator_options.relay_chain_rpc_url { - Some(relay_chain_url) => { - let client = create_client_and_start_worker(relay_chain_url, task_manager).await?; - Ok((Arc::new(RelayChainRpcInterface::new(client)) as Arc<_>, None)) - } + Some(relay_chain_url) => build_minimal_relay_chain_node(polkadot_config, task_manager, relay_chain_url).await, None => build_inprocess_relay_chain( polkadot_config, parachain_config, @@ -310,15 +304,16 @@ where let prometheus_registry = parachain_config.prometheus_registry().cloned(); let transaction_pool = params.transaction_pool.clone(); let import_queue = cumulus_client_service::SharedImportQueue::new(params.import_queue); - let (network, system_rpc_tx, start_network) = sc_service::build_network(sc_service::BuildNetworkParams { - config: ¶chain_config, - client: client.clone(), - transaction_pool: transaction_pool.clone(), - spawn_handle: task_manager.spawn_handle(), - import_queue: import_queue.clone(), - block_announce_validator_builder: Some(Box::new(|_| Box::new(block_announce_validator))), - warp_sync: None, - })?; + let (network, system_rpc_tx, tx_handler_controller, start_network) = + sc_service::build_network(sc_service::BuildNetworkParams { + config: ¶chain_config, + client: client.clone(), + transaction_pool: transaction_pool.clone(), + spawn_handle: task_manager.spawn_handle(), + import_queue: import_queue.clone(), + block_announce_validator_builder: Some(Box::new(|_| Box::new(block_announce_validator))), + warp_sync: None, + })?; let rpc_builder = { let client = client.clone(); @@ -345,6 +340,7 @@ where backend: backend.clone(), network: network.clone(), system_rpc_tx, + tx_handler_controller, telemetry: telemetry.as_mut(), })?; @@ -382,7 +378,6 @@ where )?; let spawner = task_manager.spawn_handle(); - let params = StartCollatorParams { para_id: id, block_status: client.clone(), @@ -407,7 +402,6 @@ where relay_chain_interface, relay_chain_slot_duration, import_queue, - collator_options, }; start_full_node(params)?; @@ -446,22 +440,21 @@ where { let slot_duration = cumulus_client_consensus_aura::slot_duration(&*client)?; - cumulus_client_consensus_aura::import_queue::( + cumulus_client_consensus_aura::import_queue::( cumulus_client_consensus_aura::ImportQueueParams { block_import: client.clone(), - client: client.clone(), + client, create_inherent_data_providers: move |_, _| async move { - let time = sp_timestamp::InherentDataProvider::from_system_time(); + let timestamp = sp_timestamp::InherentDataProvider::from_system_time(); let slot = sp_consensus_aura::inherents::InherentDataProvider::from_timestamp_and_slot_duration( - *time, + *timestamp, slot_duration, ); - Ok((time, slot)) + Ok((slot, timestamp)) }, registry: config.prometheus_registry(), - can_author_with: sp_consensus::CanAuthorWithNativeVersion::new(client.executor().clone()), spawner: &task_manager.spawn_essential_handle(), telemetry, }, @@ -539,17 +532,17 @@ where id, ) .await; - let time = sp_timestamp::InherentDataProvider::from_system_time(); + let timestamp = sp_timestamp::InherentDataProvider::from_system_time(); let slot = sp_consensus_aura::inherents::InherentDataProvider::from_timestamp_and_slot_duration( - *time, + *timestamp, slot_duration, ); let parachain_inherent = parachain_inherent.ok_or_else(|| { Box::::from("Failed to create parachain inherent") })?; - Ok((time, slot, parachain_inherent)) + Ok((slot, timestamp, parachain_inherent)) } }, block_import: client.clone(), diff --git a/nodes/standalone/Cargo.toml b/nodes/standalone/Cargo.toml index 6efa52a15..7eeabca20 100644 --- a/nodes/standalone/Cargo.toml +++ b/nodes/standalone/Cargo.toml @@ -70,10 +70,18 @@ try-runtime-cli = {workspace = true, optional = true} [features] default = [] runtime-benchmarks = [ + "frame-benchmarking/runtime-benchmarks", + "frame-benchmarking-cli/runtime-benchmarks", + "frame-system/runtime-benchmarks", "mashnet-node-runtime/runtime-benchmarks", "runtime-common/runtime-benchmarks", + "sc-service/runtime-benchmarks", + "sp-runtime/runtime-benchmarks", ] try-runtime = [ + "frame-system/try-runtime", "mashnet-node-runtime/try-runtime", + "pallet-transaction-payment/try-runtime", + "runtime-common/try-runtime", "try-runtime-cli", ] diff --git a/nodes/standalone/src/benchmarking.rs b/nodes/standalone/src/benchmarking.rs index 0206c3d58..361f70fdc 100644 --- a/nodes/standalone/src/benchmarking.rs +++ b/nodes/standalone/src/benchmarking.rs @@ -120,7 +120,7 @@ impl frame_benchmarking_cli::ExtrinsicBuilder for TransferKeepAliveBuilder { pub fn create_benchmark_extrinsic( client: &FullClient, sender: sp_core::sr25519::Pair, - call: runtime::Call, + call: runtime::RuntimeCall, nonce: u32, ) -> runtime::UncheckedExtrinsic { let genesis_hash = client.block_hash(0).ok().flatten().expect("Genesis block exists; qed"); diff --git a/nodes/standalone/src/cli.rs b/nodes/standalone/src/cli.rs index d05376123..aad8b23d6 100644 --- a/nodes/standalone/src/cli.rs +++ b/nodes/standalone/src/cli.rs @@ -21,17 +21,17 @@ use sc_cli::RunCmd; #[derive(Debug, Parser)] pub struct Cli { - #[clap(subcommand)] + #[command(subcommand)] pub subcommand: Option, - #[clap(flatten)] + #[command(flatten)] pub run: RunCmd, } #[derive(Debug, Parser)] pub enum Subcommand { /// Key management cli utilities - #[clap(subcommand)] + #[command(subcommand)] Key(sc_cli::KeySubcommand), /// Build a chain specification. @@ -56,7 +56,7 @@ pub enum Subcommand { Revert(sc_cli::RevertCmd), /// Sub-commands concerned with benchmarking. - #[clap(subcommand)] + #[command(subcommand)] Benchmark(frame_benchmarking_cli::BenchmarkCmd), /// Try some command against runtime state. diff --git a/nodes/standalone/src/command.rs b/nodes/standalone/src/command.rs index df62f4b27..a7f426d49 100644 --- a/nodes/standalone/src/command.rs +++ b/nodes/standalone/src/command.rs @@ -143,7 +143,7 @@ pub fn run() -> sc_cli::Result<()> { let runner = cli.create_runner(cmd)?; runner.sync_run(|config| { - let PartialComponents { client, backend, .. } = service::new_partial(&config)?; + let PartialComponents { client, .. } = service::new_partial(&config)?; // This switch needs to be in the client, since the client decides // which sub-commands it wants to support. match cmd { @@ -157,7 +157,13 @@ pub fn run() -> sc_cli::Result<()> { cmd.run::(config) } BenchmarkCmd::Block(cmd) => cmd.run(client), + #[cfg(not(feature = "runtime-benchmarks"))] + BenchmarkCmd::Storage(_) => { + Err("Storage benchmarking can be enabled with `--features runtime-benchmarks`.".into()) + } + #[cfg(feature = "runtime-benchmarks")] BenchmarkCmd::Storage(cmd) => { + let PartialComponents { client, backend, .. } = service::new_partial(&config)?; let db = backend.expose_db(); let storage = backend.expose_storage(); diff --git a/nodes/standalone/src/service.rs b/nodes/standalone/src/service.rs index 82e93e733..78e2eda96 100644 --- a/nodes/standalone/src/service.rs +++ b/nodes/standalone/src/service.rs @@ -19,7 +19,7 @@ //! Service and ServiceFactory implementation. Specialized wrapper over //! substrate service. -use sc_client_api::{BlockBackend, ExecutorProvider}; +use sc_client_api::BlockBackend; use sc_consensus_aura::{ImportQueueParams, SlotProportion, StartAuraParams}; pub use sc_executor::NativeElseWasmExecutor; use sc_finality_grandpa::SharedVoterState; @@ -117,7 +117,7 @@ pub fn new_partial(config: &Configuration) -> Result(ImportQueueParams { + let import_queue = sc_consensus_aura::import_queue::(ImportQueueParams { block_import: grandpa_block_import.clone(), justification_import: Some(Box::new(grandpa_block_import.clone())), client: client.clone(), @@ -129,10 +129,9 @@ pub fn new_partial(config: &Configuration) -> Result Result Vec::default(), )); - let (network, system_rpc_tx, network_starter) = sc_service::build_network(sc_service::BuildNetworkParams { - config: &config, - client: client.clone(), - transaction_pool: transaction_pool.clone(), - spawn_handle: task_manager.spawn_handle(), - import_queue, - block_announce_validator_builder: None, - warp_sync: Some(warp_sync), - })?; + let (network, system_rpc_tx, tx_handler_controller, network_starter) = + sc_service::build_network(sc_service::BuildNetworkParams { + config: &config, + client: client.clone(), + transaction_pool: transaction_pool.clone(), + spawn_handle: task_manager.spawn_handle(), + import_queue, + block_announce_validator_builder: None, + warp_sync: Some(warp_sync), + })?; if config.offchain_worker.enabled { sc_service::build_offchain_workers(&config, task_manager.spawn_handle(), client.clone(), network.clone()); @@ -242,6 +242,7 @@ pub fn new_full(mut config: Configuration) -> Result rpc_builder: rpc_extensions_builder, backend, system_rpc_tx, + tx_handler_controller, config, telemetry: telemetry.as_mut(), })?; @@ -255,11 +256,9 @@ pub fn new_full(mut config: Configuration) -> Result telemetry.as_ref().map(|x| x.handle()), ); - let can_author_with = sp_consensus::CanAuthorWithNativeVersion::new(client.executor().clone()); - let slot_duration = sc_consensus_aura::slot_duration(&*client)?; - let aura = sc_consensus_aura::start_aura::(StartAuraParams { + let aura = sc_consensus_aura::start_aura::(StartAuraParams { slot_duration, client, select_chain, @@ -273,12 +272,11 @@ pub fn new_full(mut config: Configuration) -> Result slot_duration, ); - Ok((timestamp, slot)) + Ok((slot, timestamp)) }, force_authoring, backoff_authoring_blocks, keystore: keystore_container.sync_keystore(), - can_author_with, sync_oracle: network.clone(), justification_sync_link: network.clone(), block_proposal_slot_portion: SlotProportion::new(2f32 / 3f32), diff --git a/pallets/attestation/Cargo.toml b/pallets/attestation/Cargo.toml index 6c66c902c..9cc6b7a98 100644 --- a/pallets/attestation/Cargo.toml +++ b/pallets/attestation/Cargo.toml @@ -61,10 +61,12 @@ runtime-benchmarks = [ "frame-system/runtime-benchmarks", "kilt-support/runtime-benchmarks", "sp-core", + "sp-runtime/runtime-benchmarks" ] std = [ "codec/std", "ctype/std", + "frame-benchmarking?/std", "frame-support/std", "frame-system/std", "kilt-support/std", @@ -78,4 +80,5 @@ std = [ ] try-runtime = [ "frame-support/try-runtime", + "frame-system/try-runtime", ] diff --git a/pallets/attestation/src/benchmarking.rs b/pallets/attestation/src/benchmarking.rs index 479e0a65d..b5d09c4d2 100644 --- a/pallets/attestation/src/benchmarking.rs +++ b/pallets/attestation/src/benchmarking.rs @@ -31,7 +31,7 @@ benchmarks! { where_clause { where T: core::fmt::Debug, - ::EnsureOrigin: GenerateBenchmarkOrigin, + ::EnsureOrigin: GenerateBenchmarkOrigin, T: ctype::Config, } @@ -45,7 +45,7 @@ benchmarks! { ::Currency::make_free_balance_be(&sender, ::Deposit::get() + ::Deposit::get()); let origin = ::EnsureOrigin::generate_origin(sender.clone(), attester.clone()); - }: _(origin, claim_hash, ctype_hash, None) + }: _(origin, claim_hash, ctype_hash, None) verify { assert!(Attestations::::contains_key(claim_hash)); assert_eq!(Pallet::::attestations(claim_hash), Some(AttestationDetails { @@ -71,7 +71,7 @@ benchmarks! { let origin = ::EnsureOrigin::generate_origin(sender.clone(), attester.clone()); Pallet::::add(origin.clone(), claim_hash, ctype_hash, None)?; - }: _(origin, claim_hash, None) + }: _(origin, claim_hash, None) verify { assert!(Attestations::::contains_key(claim_hash)); assert_eq!(Attestations::::get(claim_hash), Some(AttestationDetails { @@ -98,7 +98,7 @@ benchmarks! { let origin = ::EnsureOrigin::generate_origin(sender.clone(), attester.clone()); Pallet::::add(origin, claim_hash, ctype_hash, None)?; let origin = ::EnsureOrigin::generate_origin(sender, attester); - }: _(origin, claim_hash, None) + }: _(origin, claim_hash, None) verify { assert!(!Attestations::::contains_key(claim_hash)); } @@ -134,7 +134,7 @@ benchmarks! { let origin = ::EnsureOrigin::generate_origin(deposit_owner_old, attester.clone()); Pallet::::add(origin, claim_hash, ctype_hash, None)?; let origin = ::EnsureOrigin::generate_origin(deposit_owner_new.clone(), attester.clone()); - }: _(origin, claim_hash) + }: _(origin, claim_hash) verify { assert_eq!(Attestations::::get(claim_hash), Some(AttestationDetails { ctype_hash, diff --git a/pallets/attestation/src/lib.rs b/pallets/attestation/src/lib.rs index e01e25f86..e4fd04995 100644 --- a/pallets/attestation/src/lib.rs +++ b/pallets/attestation/src/lib.rs @@ -115,11 +115,11 @@ pub mod pallet { #[pallet::config] pub trait Config: frame_system::Config + ctype::Config { type EnsureOrigin: EnsureOrigin< + ::RuntimeOrigin, Success = ::OriginSuccess, - ::Origin, >; type OriginSuccess: CallSources, AttesterOf>; - type Event: From> + IsType<::Event>; + type RuntimeEvent: From> + IsType<::RuntimeEvent>; type WeightInfo: WeightInfo; /// The currency that is used to reserve funds for each attestation. diff --git a/pallets/attestation/src/mock.rs b/pallets/attestation/src/mock.rs index 489d7b08a..3417c805b 100644 --- a/pallets/attestation/src/mock.rs +++ b/pallets/attestation/src/mock.rs @@ -214,8 +214,8 @@ pub(crate) mod runtime { } impl frame_system::Config for Test { - type Origin = Origin; - type Call = Call; + type RuntimeOrigin = RuntimeOrigin; + type RuntimeCall = RuntimeCall; type Index = u64; type BlockNumber = u64; type Hash = Hash; @@ -223,7 +223,7 @@ pub(crate) mod runtime { type AccountId = AccountId; type Lookup = IdentityLookup; type Header = Header; - type Event = (); + type RuntimeEvent = (); type BlockHashCount = BlockHashCount; type DbWeight = RocksDbWeight; type Version = (); @@ -250,7 +250,7 @@ pub(crate) mod runtime { impl pallet_balances::Config for Test { type Balance = Balance; type DustRemoval = (); - type Event = (); + type RuntimeEvent = (); type ExistentialDeposit = ExistentialDeposit; type AccountStore = System; type WeightInfo = (); @@ -267,7 +267,7 @@ pub(crate) mod runtime { type CtypeCreatorId = SubjectId; type EnsureOrigin = mock_origin::EnsureDoubleOrigin; type OriginSuccess = mock_origin::DoubleOrigin; - type Event = (); + type RuntimeEvent = (); type WeightInfo = (); type Currency = Balances; @@ -276,7 +276,7 @@ pub(crate) mod runtime { } impl mock_origin::Config for Test { - type Origin = Origin; + type RuntimeOrigin = RuntimeOrigin; type AccountId = AccountId; type SubjectId = SubjectId; } @@ -289,7 +289,7 @@ pub(crate) mod runtime { impl Config for Test { type EnsureOrigin = mock_origin::EnsureDoubleOrigin>; type OriginSuccess = mock_origin::DoubleOrigin>; - type Event = (); + type RuntimeEvent = (); type WeightInfo = (); type Currency = Balances; diff --git a/pallets/attestation/src/tests.rs b/pallets/attestation/src/tests.rs index 25d81e8b0..edcdd10db 100644 --- a/pallets/attestation/src/tests.rs +++ b/pallets/attestation/src/tests.rs @@ -416,7 +416,10 @@ fn test_reclaim_deposit() { .build() .execute_with(|| { assert_eq!(Balances::reserved_balance(ACCOUNT_00), ::Deposit::get()); - assert_ok!(Attestation::reclaim_deposit(Origin::signed(ACCOUNT_00), claim_hash)); + assert_ok!(Attestation::reclaim_deposit( + RuntimeOrigin::signed(ACCOUNT_00), + claim_hash + )); assert!(!Attestation::external_attestations( other_authorized.clone(), claim_hash @@ -439,7 +442,10 @@ fn test_reclaim_deposit_authorization() { .build() .execute_with(|| { assert_eq!(Balances::reserved_balance(ACCOUNT_00), ::Deposit::get()); - assert_ok!(Attestation::reclaim_deposit(Origin::signed(ACCOUNT_00), claim_hash)); + assert_ok!(Attestation::reclaim_deposit( + RuntimeOrigin::signed(ACCOUNT_00), + claim_hash + )); assert!(Attestation::attestations(claim_hash).is_none()); assert!(Balances::reserved_balance(ACCOUNT_00).is_zero()); }); @@ -458,7 +464,7 @@ fn test_reclaim_unauthorized() { .build() .execute_with(|| { assert_noop!( - Attestation::reclaim_deposit(Origin::signed(ACCOUNT_01), claim_hash), + Attestation::reclaim_deposit(RuntimeOrigin::signed(ACCOUNT_01), claim_hash), attestation::Error::::Unauthorized, ); }); @@ -476,7 +482,7 @@ fn test_reclaim_deposit_not_found() { .build() .execute_with(|| { assert_noop!( - Attestation::reclaim_deposit(Origin::signed(ACCOUNT_01), claim_hash), + Attestation::reclaim_deposit(RuntimeOrigin::signed(ACCOUNT_01), claim_hash), attestation::Error::::AttestationNotFound, ); }); @@ -602,7 +608,10 @@ fn test_update_deposit() { Balances::reserved_balance(ACCOUNT_00), ::Deposit::get() * 2 ); - assert_ok!(Attestation::update_deposit(Origin::signed(ACCOUNT_00), claim_hash)); + assert_ok!(Attestation::update_deposit( + RuntimeOrigin::signed(ACCOUNT_00), + claim_hash + )); assert_eq!( Attestation::attestations(claim_hash) .expect("Attestation must be retained") @@ -640,7 +649,7 @@ fn test_update_deposit_unauthorized() { ::Deposit::get() * 2 ); assert_noop!( - Attestation::update_deposit(Origin::signed(ACCOUNT_01), claim_hash), + Attestation::update_deposit(RuntimeOrigin::signed(ACCOUNT_01), claim_hash), Error::::Unauthorized ); }); diff --git a/pallets/ctype/Cargo.toml b/pallets/ctype/Cargo.toml index 86086fa2f..6614ffe95 100644 --- a/pallets/ctype/Cargo.toml +++ b/pallets/ctype/Cargo.toml @@ -55,10 +55,11 @@ runtime-benchmarks = [ "frame-system/runtime-benchmarks", "frame-support/runtime-benchmarks", "kilt-support/runtime-benchmarks", + "sp-runtime/runtime-benchmarks", ] std = [ "codec/std", - "frame-benchmarking/std", + "frame-benchmarking?/std", "frame-support/std", "frame-system/std", "kilt-support/std", @@ -73,4 +74,5 @@ std = [ ] try-runtime = [ "frame-support/try-runtime", + "frame-system/try-runtime", ] diff --git a/pallets/ctype/src/benchmarking.rs b/pallets/ctype/src/benchmarking.rs index 95726055c..a28689582 100644 --- a/pallets/ctype/src/benchmarking.rs +++ b/pallets/ctype/src/benchmarking.rs @@ -39,7 +39,7 @@ benchmarks! { where <::Currency as Currency>>::Balance: TryFrom, <<::Currency as Currency<::AccountId>>::Balance as TryFrom>::Error: Debug, - T::EnsureOrigin: GenerateBenchmarkOrigin, + T::EnsureOrigin: GenerateBenchmarkOrigin, } add { @@ -55,7 +55,7 @@ benchmarks! { ::Currency::make_free_balance_be(&caller, initial_balance); let origin = T::EnsureOrigin::generate_origin(caller, did.clone()); - }: _(origin, ctype) + }: _(origin, ctype) verify { let stored_ctype_creator: T::CtypeCreatorId = Ctypes::::get(ctype_hash).expect("CType hash should be present on chain."); diff --git a/pallets/ctype/src/lib.rs b/pallets/ctype/src/lib.rs index 73f84d530..05c898563 100644 --- a/pallets/ctype/src/lib.rs +++ b/pallets/ctype/src/lib.rs @@ -85,9 +85,9 @@ pub mod pallet { #[pallet::config] pub trait Config: frame_system::Config { - type EnsureOrigin: EnsureOrigin::Origin>; + type EnsureOrigin: EnsureOrigin<::RuntimeOrigin, Success = Self::OriginSuccess>; type OriginSuccess: CallSources, CtypeCreatorOf>; - type Event: From> + IsType<::Event>; + type RuntimeEvent: From> + IsType<::RuntimeEvent>; type Currency: Currency>; type WeightInfo: WeightInfo; type CtypeCreatorId: Parameter + MaxEncodedLen; diff --git a/pallets/ctype/src/mock.rs b/pallets/ctype/src/mock.rs index 03919dacb..1e5bbfb51 100644 --- a/pallets/ctype/src/mock.rs +++ b/pallets/ctype/src/mock.rs @@ -78,8 +78,8 @@ pub mod runtime { } impl frame_system::Config for Test { - type Origin = Origin; - type Call = Call; + type RuntimeOrigin = RuntimeOrigin; + type RuntimeCall = RuntimeCall; type Index = u64; type BlockNumber = u64; type Hash = Hash; @@ -87,7 +87,7 @@ pub mod runtime { type AccountId = AccountId; type Lookup = IdentityLookup; type Header = Header; - type Event = (); + type RuntimeEvent = (); type BlockHashCount = BlockHashCount; type DbWeight = RocksDbWeight; type Version = (); @@ -114,7 +114,7 @@ pub mod runtime { impl pallet_balances::Config for Test { type Balance = Balance; type DustRemoval = (); - type Event = (); + type RuntimeEvent = (); type ExistentialDeposit = ExistentialDeposit; type AccountStore = System; type WeightInfo = (); @@ -124,7 +124,7 @@ pub mod runtime { } impl mock_origin::Config for Test { - type Origin = Origin; + type RuntimeOrigin = RuntimeOrigin; type AccountId = AccountId; type SubjectId = SubjectId; } @@ -137,7 +137,7 @@ pub mod runtime { type CtypeCreatorId = SubjectId; type EnsureOrigin = mock_origin::EnsureDoubleOrigin; type OriginSuccess = mock_origin::DoubleOrigin; - type Event = (); + type RuntimeEvent = (); type WeightInfo = (); type Currency = Balances; diff --git a/pallets/delegation/Cargo.toml b/pallets/delegation/Cargo.toml index 691e6138d..5229c1463 100644 --- a/pallets/delegation/Cargo.toml +++ b/pallets/delegation/Cargo.toml @@ -64,13 +64,16 @@ runtime-benchmarks = [ "frame-support/runtime-benchmarks", "frame-system/runtime-benchmarks", "kilt-support/runtime-benchmarks", + "public-credentials/runtime-benchmarks", "sp-core", "sp-io", + "sp-runtime/runtime-benchmarks", ] std = [ "attestation/std", "codec/std", "ctype/std", + "frame-benchmarking?/std", "frame-support/std", "frame-system/std", "kilt-support/std", @@ -85,5 +88,7 @@ std = [ ] try-runtime = [ "frame-support/try-runtime", + "frame-system/try-runtime", "kilt-support/try-runtime", + "public-credentials/try-runtime", ] diff --git a/pallets/delegation/src/benchmarking.rs b/pallets/delegation/src/benchmarking.rs index 73dd553b7..2c0580e05 100644 --- a/pallets/delegation/src/benchmarking.rs +++ b/pallets/delegation/src/benchmarking.rs @@ -60,7 +60,7 @@ where T::DelegationEntityId: From, T::DelegationNodeId: From, T::CtypeCreatorId: From, - ::EnsureOrigin: GenerateBenchmarkOrigin, + ::EnsureOrigin: GenerateBenchmarkOrigin, { log::info!("create delegation root"); let root_public = sr25519_generate(KeyTypeId(*b"aura"), None); @@ -111,7 +111,7 @@ where T::DelegationEntityId, <::DelegationSignatureVerification as VerifySignature>::Payload, )>, - ::EnsureOrigin: GenerateBenchmarkOrigin, + ::EnsureOrigin: GenerateBenchmarkOrigin, { if level == 0 { return Ok((parent_acc_public, parent_acc_id, parent_id)); @@ -191,7 +191,7 @@ where T::DelegationEntityId, <::DelegationSignatureVerification as VerifySignature>::Payload, )>, - ::EnsureOrigin: GenerateBenchmarkOrigin, + ::EnsureOrigin: GenerateBenchmarkOrigin, { let ( DelegationTriplet:: { @@ -226,7 +226,7 @@ benchmarks! { T::DelegationEntityId, <::DelegationSignatureVerification as VerifySignature>::Payload, )>, - ::EnsureOrigin: GenerateBenchmarkOrigin, + ::EnsureOrigin: GenerateBenchmarkOrigin, } create_hierarchy { @@ -241,7 +241,7 @@ benchmarks! { ); let origin = ::EnsureOrigin::generate_origin(sender, creator); - }: _(origin, delegation, ctype) + }: _(origin, delegation, ctype) verify { assert!(DelegationHierarchies::::contains_key(delegation)); } @@ -281,7 +281,7 @@ benchmarks! { ::Currency::minimum_balance() + ::Deposit::get(), ); let origin = ::EnsureOrigin::generate_origin(sender, leaf_acc_id); - }: _(origin, delegation_id, hierarchy_id, delegate_acc_id, perm, sig) + }: _(origin, delegation_id, hierarchy_id, delegate_acc_id, perm, sig) verify { assert!(DelegationNodes::::contains_key(delegation_id)); } @@ -305,7 +305,7 @@ benchmarks! { ::Currency::minimum_balance() + ::Deposit::get(), ); let origin = ::EnsureOrigin::generate_origin(sender, child_delegation.details.owner); - }: revoke_delegation(origin, child_id, c, r) + }: revoke_delegation(origin, child_id, c, r) verify { assert!(DelegationNodes::::contains_key(child_id)); let DelegationNode:: { details, .. } = DelegationNodes::::get(leaf_id).ok_or("Child of root should have delegation id")?; @@ -329,7 +329,7 @@ benchmarks! { let sender: T::AccountId = account("sender", 0, SEED); let (root_acc, _, _, leaf_id) = setup_delegations::(c, ONE_CHILD_PER_LEVEL.expect(">0"), Permissions::DELEGATE)?; let origin = ::EnsureOrigin::generate_origin(sender, root_acc.into()); - }: revoke_delegation(origin, leaf_id, c, r) + }: revoke_delegation(origin, leaf_id, c, r) verify { assert!(DelegationNodes::::contains_key(leaf_id)); let DelegationNode:: { details, .. } = DelegationNodes::::get(leaf_id).ok_or("Child of root should have delegation id")?; @@ -350,7 +350,7 @@ benchmarks! { let child_delegation = DelegationNodes::::get(child_id).ok_or("Child of root should have delegation id")?; assert!(!::Currency::reserved_balance(&sender).is_zero()); let origin = ::EnsureOrigin::generate_origin(sender.clone(), root_acc.into()); - }: _(origin, hierarchy_id, r) + }: _(origin, hierarchy_id, r) verify { assert!(!DelegationNodes::::contains_key(hierarchy_id)); assert!(!DelegationNodes::::contains_key(child_id)); @@ -453,7 +453,7 @@ benchmarks! { assert!(!::Currency::reserved_balance(&deposit_owner_old).is_zero()); let origin = ::EnsureOrigin::generate_origin(deposit_owner_new.clone(), root_acc.into()); - }: _(origin, hierarchy_id) + }: _(origin, hierarchy_id) verify { assert_eq!(::Currency::reserved_balance(&deposit_owner_new), ::Deposit::get()); } diff --git a/pallets/delegation/src/lib.rs b/pallets/delegation/src/lib.rs index c6975ed07..5a6f91234 100644 --- a/pallets/delegation/src/lib.rs +++ b/pallets/delegation/src/lib.rs @@ -141,11 +141,11 @@ pub mod pallet { type DelegationEntityId: Parameter + TypeInfo + MaxEncodedLen; type DelegationNodeId: Parameter + Copy + AsRef<[u8]> + Eq + PartialEq + Ord + PartialOrd + MaxEncodedLen; type EnsureOrigin: EnsureOrigin< + ::RuntimeOrigin, Success = ::OriginSuccess, - ::Origin, >; type OriginSuccess: CallSources, DelegatorIdOf>; - type Event: From> + IsType<::Event>; + type RuntimeEvent: From> + IsType<::RuntimeEvent>; type WeightInfo: WeightInfo; /// The currency that is used to reserve funds for each delegation. diff --git a/pallets/delegation/src/mock.rs b/pallets/delegation/src/mock.rs index ef30b34af..720039fde 100644 --- a/pallets/delegation/src/mock.rs +++ b/pallets/delegation/src/mock.rs @@ -223,8 +223,8 @@ pub(crate) mod runtime { } impl frame_system::Config for Test { - type Origin = Origin; - type Call = Call; + type RuntimeOrigin = RuntimeOrigin; + type RuntimeCall = RuntimeCall; type Index = u64; type BlockNumber = u64; type Hash = Hash; @@ -232,7 +232,7 @@ pub(crate) mod runtime { type AccountId = AccountId; type Lookup = IdentityLookup; type Header = Header; - type Event = (); + type RuntimeEvent = (); type BlockHashCount = BlockHashCount; type DbWeight = RocksDbWeight; type Version = (); @@ -259,7 +259,7 @@ pub(crate) mod runtime { impl pallet_balances::Config for Test { type Balance = Balance; type DustRemoval = (); - type Event = (); + type RuntimeEvent = (); type ExistentialDeposit = ExistentialDeposit; type AccountStore = System; type WeightInfo = (); @@ -269,7 +269,7 @@ pub(crate) mod runtime { } impl mock_origin::Config for Test { - type Origin = Origin; + type RuntimeOrigin = RuntimeOrigin; type AccountId = AccountId; type SubjectId = SubjectId; } @@ -282,7 +282,7 @@ pub(crate) mod runtime { type CtypeCreatorId = SubjectId; type EnsureOrigin = mock_origin::EnsureDoubleOrigin; type OriginSuccess = mock_origin::DoubleOrigin; - type Event = (); + type RuntimeEvent = (); type WeightInfo = (); type Currency = Balances; @@ -298,7 +298,7 @@ pub(crate) mod runtime { impl attestation::Config for Test { type EnsureOrigin = mock_origin::EnsureDoubleOrigin>; type OriginSuccess = mock_origin::DoubleOrigin>; - type Event = (); + type RuntimeEvent = (); type WeightInfo = (); type Currency = Balances; @@ -326,7 +326,7 @@ pub(crate) mod runtime { type DelegationNodeId = Hash; type EnsureOrigin = mock_origin::EnsureDoubleOrigin; type OriginSuccess = mock_origin::DoubleOrigin; - type Event = (); + type RuntimeEvent = (); type MaxSignatureByteLength = MaxSignatureByteLength; type MaxParentChecks = MaxParentChecks; type MaxRevocations = MaxRevocations; diff --git a/pallets/delegation/src/tests.rs b/pallets/delegation/src/tests.rs index 458098dc2..e25560743 100644 --- a/pallets/delegation/src/tests.rs +++ b/pallets/delegation/src/tests.rs @@ -1564,7 +1564,7 @@ fn direct_owner_reclaim_deposit_delegation_successful() { .execute_with(|| { // Revoke direct child of hierarchy root assert_ok!(Delegation::reclaim_deposit( - Origin::signed(ACCOUNT_00), + RuntimeOrigin::signed(ACCOUNT_00), operation.delegation_id, operation.max_removals )); @@ -1616,7 +1616,7 @@ fn parent_owner_reclaim_deposit_error() { assert_eq!(Balances::reserved_balance(ACCOUNT_01), ::Deposit::get()); assert_noop!( Delegation::reclaim_deposit( - Origin::signed(ACCOUNT_00), + RuntimeOrigin::signed(ACCOUNT_00), operation.delegation_id, operation.max_removals ), @@ -1643,7 +1643,7 @@ fn delegation_not_found_reclaim_deposit_error() { .execute_with(|| { assert_noop!( Delegation::reclaim_deposit( - Origin::signed(ACCOUNT_00), + RuntimeOrigin::signed(ACCOUNT_00), operation.delegation_id, operation.max_removals ), @@ -1670,7 +1670,7 @@ fn max_removals_too_large_reclaim_deposit_error() { .execute_with(|| { assert_noop!( Delegation::reclaim_deposit( - Origin::signed(ACCOUNT_00), + RuntimeOrigin::signed(ACCOUNT_00), operation.delegation_id, operation.max_removals ), @@ -2359,7 +2359,10 @@ fn test_update_deposit() { Balances::reserved_balance(ACCOUNT_00), ::Deposit::get() * 3 ); - assert_ok!(Delegation::update_deposit(Origin::signed(ACCOUNT_00), delegation_id)); + assert_ok!(Delegation::update_deposit( + RuntimeOrigin::signed(ACCOUNT_00), + delegation_id + )); // ACCOUNT_00 has still one deposit (there are two nodes) assert_eq!( @@ -2399,7 +2402,7 @@ fn test_update_deposit_unauthorized() { ::Deposit::get() * 3 ); assert_noop!( - Delegation::update_deposit(Origin::signed(ACCOUNT_01), delegation_id), + Delegation::update_deposit(RuntimeOrigin::signed(ACCOUNT_01), delegation_id), Error::::AccessDenied ); }); diff --git a/pallets/did/Cargo.toml b/pallets/did/Cargo.toml index 5aaaef86e..d2c05abb8 100644 --- a/pallets/did/Cargo.toml +++ b/pallets/did/Cargo.toml @@ -63,6 +63,7 @@ runtime-benchmarks = [ "frame-support/runtime-benchmarks", "frame-system/runtime-benchmarks", "kilt-support/runtime-benchmarks", + "sp-runtime/runtime-benchmarks", ] std = [ "codec/std", @@ -81,5 +82,6 @@ std = [ ] try-runtime = [ "frame-support/try-runtime", + "frame-system/try-runtime", "kilt-support/try-runtime", ] diff --git a/pallets/did/src/benchmarking.rs b/pallets/did/src/benchmarking.rs index 8992a5625..13fb0a63e 100644 --- a/pallets/did/src/benchmarking.rs +++ b/pallets/did/src/benchmarking.rs @@ -102,7 +102,7 @@ fn generate_base_did_call_operation( did: DidIdentifierOf, submitter: AccountIdOf, ) -> DidAuthorizedCallOperation { - let test_call = ::Call::get_call_for_did_call_benchmark(); + let test_call = ::RuntimeCall::get_call_for_did_call_benchmark(); DidAuthorizedCallOperation { did, @@ -124,7 +124,7 @@ benchmarks! { where_clause { where T::DidIdentifier: From, - ::Origin: From>, + ::RuntimeOrigin: From>, ::AccountId: From, } diff --git a/pallets/did/src/lib.rs b/pallets/did/src/lib.rs index ba27ddcc4..fd210d64a 100644 --- a/pallets/did/src/lib.rs +++ b/pallets/did/src/lib.rs @@ -173,7 +173,7 @@ pub mod pallet { pub type BlockNumberOf = ::BlockNumber; /// Type for a runtime extrinsic callable under DID-based authorisation. - pub type DidCallableOf = ::Call; + pub type DidCallableOf = ::RuntimeCall; /// Type for origin that supports a DID sender. #[pallet::origin] @@ -187,8 +187,8 @@ pub mod pallet { pub trait Config: frame_system::Config + Debug { /// Type for a dispatchable call that can be proxied through the DID /// pallet to support DID-based authorisation. - type Call: Parameter - + Dispatchable::Origin, PostInfo = PostDispatchInfo> + type RuntimeCall: Parameter + + Dispatchable::RuntimeOrigin> + GetDispatchInfo + DeriveDidCallAuthorizationVerificationKeyRelationship; @@ -197,21 +197,21 @@ pub mod pallet { /// Origin type expected by the proxied dispatchable calls. #[cfg(not(feature = "runtime-benchmarks"))] - type Origin: From, AccountIdOf>>; + type RuntimeOrigin: From, AccountIdOf>>; #[cfg(feature = "runtime-benchmarks")] - type Origin: From>>; + type RuntimeOrigin: From>>; /// The origin check for all DID calls inside this pallet. type EnsureOrigin: EnsureOrigin< + ::RuntimeOrigin, Success = ::OriginSuccess, - ::Origin, >; /// The return type when the DID origin check was successful. type OriginSuccess: CallSources, DidIdentifierOf>; /// Overarching event type. - type Event: From> + IsType<::Event>; + type RuntimeEvent: From> + IsType<::RuntimeEvent>; /// The currency that is used to reserve funds for each did. type Currency: ReservableCurrency>; diff --git a/pallets/did/src/mock.rs b/pallets/did/src/mock.rs index e9f906f68..969b5c5ee 100644 --- a/pallets/did/src/mock.rs +++ b/pallets/did/src/mock.rs @@ -79,8 +79,8 @@ parameter_types! { } impl frame_system::Config for Test { - type Origin = Origin; - type Call = Call; + type RuntimeOrigin = RuntimeOrigin; + type RuntimeCall = RuntimeCall; type Index = Index; type BlockNumber = BlockNumber; type Hash = Hash; @@ -88,7 +88,7 @@ impl frame_system::Config for Test { type AccountId = <::Signer as IdentifyAccount>::AccountId; type Lookup = IdentityLookup; type Header = Header; - type Event = (); + type RuntimeEvent = (); type BlockHashCount = BlockHashCount; type DbWeight = RocksDbWeight; type Version = (); @@ -140,11 +140,11 @@ where impl Config for Test { type DidIdentifier = DidIdentifier; - type Origin = Origin; - type Call = Call; + type RuntimeOrigin = RuntimeOrigin; + type RuntimeCall = RuntimeCall; type EnsureOrigin = EnsureSigned; type OriginSuccess = AccountId; - type Event = (); + type RuntimeEvent = (); type Currency = Balances; type Deposit = Deposit; type Fee = DidFee; @@ -171,7 +171,7 @@ parameter_types! { impl pallet_balances::Config for Test { type Balance = Balance; type DustRemoval = (); - type Event = (); + type RuntimeEvent = (); type ExistentialDeposit = ExistentialDeposit; type AccountStore = System; type WeightInfo = (); @@ -196,7 +196,7 @@ impl ctype::Config for Test { type OriginSuccess = DidRawOrigin; type CtypeCreatorId = DidIdentifier; - type Event = (); + type RuntimeEvent = (); type WeightInfo = (); type Currency = Balances; type Fee = Fee; @@ -334,37 +334,37 @@ pub fn generate_key_id(key: &DidPublicKey) -> KeyIdOf { pub(crate) fn get_attestation_key_test_input() -> Vec { [0u8; 32].to_vec() } -pub(crate) fn get_attestation_key_call() -> Call { - Call::Ctype(ctype::Call::add { +pub(crate) fn get_attestation_key_call() -> RuntimeCall { + RuntimeCall::Ctype(ctype::Call::add { ctype: get_attestation_key_test_input(), }) } pub(crate) fn get_authentication_key_test_input() -> Vec { [1u8; 32].to_vec() } -pub(crate) fn get_authentication_key_call() -> Call { - Call::Ctype(ctype::Call::add { +pub(crate) fn get_authentication_key_call() -> RuntimeCall { + RuntimeCall::Ctype(ctype::Call::add { ctype: get_authentication_key_test_input(), }) } pub(crate) fn get_delegation_key_test_input() -> Vec { [2u8; 32].to_vec() } -pub(crate) fn get_delegation_key_call() -> Call { - Call::Ctype(ctype::Call::add { +pub(crate) fn get_delegation_key_call() -> RuntimeCall { + RuntimeCall::Ctype(ctype::Call::add { ctype: get_delegation_key_test_input(), }) } pub(crate) fn get_none_key_test_input() -> Vec { [3u8; 32].to_vec() } -pub(crate) fn get_none_key_call() -> Call { - Call::Ctype(ctype::Call::add { +pub(crate) fn get_none_key_call() -> RuntimeCall { + RuntimeCall::Ctype(ctype::Call::add { ctype: get_none_key_test_input(), }) } -impl DeriveDidCallAuthorizationVerificationKeyRelationship for Call { +impl DeriveDidCallAuthorizationVerificationKeyRelationship for RuntimeCall { fn derive_verification_key_relationship(&self) -> DeriveDidCallKeyRelationshipResult { if *self == get_attestation_key_call() { Ok(DidVerificationKeyRelationship::AssertionMethod) @@ -385,7 +385,7 @@ impl DeriveDidCallAuthorizationVerificationKeyRelationship for Call { // Always return a System::remark() extrinsic call #[cfg(feature = "runtime-benchmarks")] fn get_call_for_did_call_benchmark() -> Self { - Call::System(frame_system::Call::remark { remark: sp_std::vec![] }) + RuntimeCall::System(frame_system::Call::remark { remark: sp_std::vec![] }) } } diff --git a/pallets/did/src/origin.rs b/pallets/did/src/origin.rs index 5b33c1613..2dbc75d6d 100644 --- a/pallets/did/src/origin.rs +++ b/pallets/did/src/origin.rs @@ -97,7 +97,7 @@ mod tests { use crate::mock::Test; use frame_support::{assert_ok, traits::EnsureOrigin}; - let origin: ::Origin = EnsureDidOrigin::successful_origin(); + let origin: ::RuntimeOrigin = EnsureDidOrigin::successful_origin(); assert_ok!(EnsureDidOrigin::try_origin(origin)); } } diff --git a/pallets/did/src/tests.rs b/pallets/did/src/tests.rs index f928cc517..33066c0e4 100644 --- a/pallets/did/src/tests.rs +++ b/pallets/did/src/tests.rs @@ -57,7 +57,7 @@ fn check_successful_simple_ed25519_creation() { .build(None) .execute_with(|| { assert_ok!(Did::create( - Origin::signed(ACCOUNT_00), + RuntimeOrigin::signed(ACCOUNT_00), Box::new(details), did::DidSignature::from(signature), )); @@ -99,7 +99,7 @@ fn check_successful_simple_sr25519_creation() { .build(None) .execute_with(|| { assert_ok!(Did::create( - Origin::signed(ACCOUNT_00), + RuntimeOrigin::signed(ACCOUNT_00), Box::new(details), did::DidSignature::from(signature), )); @@ -141,7 +141,7 @@ fn check_successful_simple_ecdsa_creation() { .build(None) .execute_with(|| { assert_ok!(Did::create( - Origin::signed(ACCOUNT_00), + RuntimeOrigin::signed(ACCOUNT_00), Box::new(details), did::DidSignature::from(signature), )); @@ -202,7 +202,7 @@ fn check_successful_complete_creation() { .build(None) .execute_with(|| { assert_ok!(Did::create( - Origin::signed(ACCOUNT_00), + RuntimeOrigin::signed(ACCOUNT_00), Box::new(details.clone()), did::DidSignature::from(signature), )); @@ -292,7 +292,7 @@ fn check_duplicate_did_creation() { .execute_with(|| { assert_noop!( Did::create( - Origin::signed(ACCOUNT_00), + RuntimeOrigin::signed(ACCOUNT_00), Box::new(details), did::DidSignature::from(signature) ), @@ -323,7 +323,7 @@ fn check_unauthorised_submitter_did_creation_error() { assert_noop!( // Use ACCOUNT_00 to submit the transaction Did::create( - Origin::signed(ACCOUNT_00), + RuntimeOrigin::signed(ACCOUNT_00), Box::new(details), did::DidSignature::from(signature) ), @@ -343,7 +343,7 @@ fn create_fail_insufficient_balance() { ExtBuilder::default().build(None).execute_with(|| { assert_noop!( Did::create( - Origin::signed(ACCOUNT_00), + RuntimeOrigin::signed(ACCOUNT_00), Box::new(details), did::DidSignature::from(signature) ), @@ -370,7 +370,7 @@ fn check_did_already_deleted_creation() { .execute_with(|| { assert_noop!( Did::create( - Origin::signed(ACCOUNT_00), + RuntimeOrigin::signed(ACCOUNT_00), Box::new(details), did::DidSignature::from(signature) ), @@ -399,7 +399,7 @@ fn check_invalid_signature_format_did_creation() { .execute_with(|| { assert_noop!( Did::create( - Origin::signed(ACCOUNT_00), + RuntimeOrigin::signed(ACCOUNT_00), Box::new(details), did::DidSignature::from(signature) ), @@ -426,7 +426,7 @@ fn check_invalid_signature_did_creation() { .execute_with(|| { assert_noop!( Did::create( - Origin::signed(ACCOUNT_00), + RuntimeOrigin::signed(ACCOUNT_00), Box::new(details), did::DidSignature::from(signature) ), @@ -453,7 +453,7 @@ fn check_swapped_did_subject_did_creation() { .execute_with(|| { assert_noop!( Did::create( - Origin::signed(ACCOUNT_00), + RuntimeOrigin::signed(ACCOUNT_00), Box::new(details), did::DidSignature::from(signature) ), @@ -483,7 +483,7 @@ fn check_max_limit_key_agreement_keys_did_creation() { .execute_with(|| { assert_noop!( Did::create( - Origin::signed(ACCOUNT_00), + RuntimeOrigin::signed(ACCOUNT_00), Box::new(details), did::DidSignature::from(signature) ), @@ -517,7 +517,7 @@ fn check_max_limit_service_endpoints_count_did_creation() { .execute_with(|| { assert_noop!( Did::create( - Origin::signed(ACCOUNT_00), + RuntimeOrigin::signed(ACCOUNT_00), Box::new(details), did::DidSignature::from(signature) ), @@ -546,7 +546,7 @@ fn check_max_limit_service_id_length_did_creation() { .execute_with(|| { assert_noop!( Did::create( - Origin::signed(ACCOUNT_00), + RuntimeOrigin::signed(ACCOUNT_00), Box::new(details), did::DidSignature::from(signature) ), @@ -581,7 +581,7 @@ fn check_max_limit_service_type_count_did_creation() { .execute_with(|| { assert_noop!( Did::create( - Origin::signed(ACCOUNT_00), + RuntimeOrigin::signed(ACCOUNT_00), Box::new(details), did::DidSignature::from(signature) ), @@ -610,7 +610,7 @@ fn check_max_limit_service_type_length_did_creation() { .execute_with(|| { assert_noop!( Did::create( - Origin::signed(ACCOUNT_00), + RuntimeOrigin::signed(ACCOUNT_00), Box::new(details), did::DidSignature::from(signature) ), @@ -645,7 +645,7 @@ fn check_max_limit_service_url_count_did_creation() { .execute_with(|| { assert_noop!( Did::create( - Origin::signed(ACCOUNT_00), + RuntimeOrigin::signed(ACCOUNT_00), Box::new(details), did::DidSignature::from(signature) ), @@ -674,7 +674,7 @@ fn check_max_limit_service_url_length_did_creation() { .execute_with(|| { assert_noop!( Did::create( - Origin::signed(ACCOUNT_00), + RuntimeOrigin::signed(ACCOUNT_00), Box::new(details), did::DidSignature::from(signature) ), @@ -702,7 +702,7 @@ fn check_invalid_service_id_character_did_creation() { .execute_with(|| { assert_noop!( Did::create( - Origin::signed(ACCOUNT_00), + RuntimeOrigin::signed(ACCOUNT_00), Box::new(details), did::DidSignature::from(signature) ), @@ -730,7 +730,7 @@ fn check_invalid_service_type_character_did_creation() { .execute_with(|| { assert_noop!( Did::create( - Origin::signed(ACCOUNT_00), + RuntimeOrigin::signed(ACCOUNT_00), Box::new(details), did::DidSignature::from(signature) ), @@ -758,7 +758,7 @@ fn check_invalid_service_url_character_did_creation() { .execute_with(|| { assert_noop!( Did::create( - Origin::signed(ACCOUNT_00), + RuntimeOrigin::signed(ACCOUNT_00), Box::new(details), did::DidSignature::from(signature) ), @@ -786,7 +786,7 @@ fn check_successful_authentication_key_update() { .execute_with(|| { System::set_block_number(new_block_number); assert_ok!(Did::set_authentication_key( - Origin::signed(alice_did.clone()), + RuntimeOrigin::signed(alice_did.clone()), DidVerificationKey::from(new_auth_key.public()) )); let new_did_details = Did::get_did(&alice_did).expect("ALICE_DID should be present on chain."); @@ -827,7 +827,7 @@ fn check_successful_authentication_key_max_public_keys_update() { .execute_with(|| { System::set_block_number(new_block_number); assert_ok!(Did::set_authentication_key( - Origin::signed(alice_did.clone()), + RuntimeOrigin::signed(alice_did.clone()), DidVerificationKey::from(new_auth_key.public()) )); @@ -865,7 +865,7 @@ fn check_reused_key_authentication_key_update() { .execute_with(|| { System::set_block_number(new_block_number); assert_ok!(Did::set_authentication_key( - Origin::signed(alice_did.clone()), + RuntimeOrigin::signed(alice_did.clone()), DidVerificationKey::from(new_auth_key.public()) )); @@ -917,7 +917,7 @@ fn check_max_keys_authentication_key_update_error() { System::set_block_number(new_block_number); assert_noop!( Did::set_authentication_key( - Origin::signed(alice_did.clone()), + RuntimeOrigin::signed(alice_did.clone()), DidVerificationKey::from(new_auth_key.public()) ), did::Error::::MaxPublicKeysPerDidExceeded @@ -938,7 +938,7 @@ fn check_did_not_present_authentication_key_update_error() { System::set_block_number(new_block_number); assert_noop!( Did::set_authentication_key( - Origin::signed(alice_did.clone()), + RuntimeOrigin::signed(alice_did.clone()), DidVerificationKey::from(new_auth_key.public()) ), did::Error::::DidNotPresent @@ -965,7 +965,7 @@ fn check_successful_delegation_key_update() { .execute_with(|| { System::set_block_number(new_block_number); assert_ok!(Did::set_delegation_key( - Origin::signed(alice_did.clone()), + RuntimeOrigin::signed(alice_did.clone()), DidVerificationKey::from(new_del_key.public()) )); @@ -1008,7 +1008,7 @@ fn check_successful_delegation_key_max_public_keys_update() { .execute_with(|| { System::set_block_number(new_block_number); assert_ok!(Did::set_delegation_key( - Origin::signed(alice_did.clone()), + RuntimeOrigin::signed(alice_did.clone()), DidVerificationKey::from(new_del_key.public()) )); @@ -1044,7 +1044,7 @@ fn check_reused_key_delegation_key_update() { .execute_with(|| { System::set_block_number(new_block_number); assert_ok!(Did::set_delegation_key( - Origin::signed(alice_did.clone()), + RuntimeOrigin::signed(alice_did.clone()), DidVerificationKey::from(new_del_key.public()) )); @@ -1088,7 +1088,7 @@ fn check_max_public_keys_delegation_key_addition_error() { System::set_block_number(new_block_number); assert_noop!( Did::set_delegation_key( - Origin::signed(alice_did.clone()), + RuntimeOrigin::signed(alice_did.clone()), DidVerificationKey::from(new_del_key.public()) ), did::Error::::MaxPublicKeysPerDidExceeded @@ -1124,7 +1124,7 @@ fn check_max_public_keys_reused_key_delegation_key_update_error() { System::set_block_number(new_block_number); assert_noop!( Did::set_delegation_key( - Origin::signed(alice_did.clone()), + RuntimeOrigin::signed(alice_did.clone()), DidVerificationKey::from(new_del_key.public()) ), did::Error::::MaxPublicKeysPerDidExceeded @@ -1145,7 +1145,7 @@ fn check_did_not_present_delegation_key_update_error() { System::set_block_number(new_block_number); assert_noop!( Did::set_delegation_key( - Origin::signed(alice_did.clone()), + RuntimeOrigin::signed(alice_did.clone()), DidVerificationKey::from(new_del_key.public()) ), did::Error::::DidNotPresent @@ -1166,7 +1166,7 @@ fn check_successful_delegation_key_deletion() { .with_dids(vec![(alice_did.clone(), old_did_details)]) .build(None) .execute_with(|| { - assert_ok!(Did::remove_delegation_key(Origin::signed(alice_did.clone()))); + assert_ok!(Did::remove_delegation_key(RuntimeOrigin::signed(alice_did.clone()))); let new_did_details = Did::get_did(&alice_did).expect("ALICE_DID should be present on chain."); assert!(new_did_details.delegation_key.is_none()); @@ -1191,7 +1191,7 @@ fn check_successful_reused_delegation_key_deletion() { .with_dids(vec![(alice_did.clone(), old_did_details.clone())]) .build(None) .execute_with(|| { - assert_ok!(Did::remove_delegation_key(Origin::signed(alice_did.clone()))); + assert_ok!(Did::remove_delegation_key(RuntimeOrigin::signed(alice_did.clone()))); let new_did_details = Did::get_did(&alice_did).expect("ALICE_DID should be present on chain."); assert!(new_did_details.delegation_key.is_none()); @@ -1211,7 +1211,7 @@ fn check_did_not_present_delegation_key_deletion_error() { ExtBuilder::default().build(None).execute_with(|| { assert_noop!( - Did::remove_delegation_key(Origin::signed(alice_did.clone())), + Did::remove_delegation_key(RuntimeOrigin::signed(alice_did.clone())), did::Error::::DidNotPresent ); }); @@ -1229,7 +1229,7 @@ fn check_key_not_present_delegation_key_deletion_error() { .build(None) .execute_with(|| { assert_noop!( - Did::remove_delegation_key(Origin::signed(alice_did.clone())), + Did::remove_delegation_key(RuntimeOrigin::signed(alice_did.clone())), did::Error::::VerificationKeyNotPresent ); }); @@ -1254,7 +1254,7 @@ fn check_successful_attestation_key_update() { .execute_with(|| { System::set_block_number(new_block_number); assert_ok!(Did::set_attestation_key( - Origin::signed(alice_did.clone()), + RuntimeOrigin::signed(alice_did.clone()), DidVerificationKey::from(new_att_key.public()) )); let new_did_details = Did::get_did(&alice_did).expect("ALICE_DID should be present on chain."); @@ -1296,7 +1296,7 @@ fn check_successful_attestation_key_max_public_keys_update() { .execute_with(|| { System::set_block_number(new_block_number); assert_ok!(Did::set_attestation_key( - Origin::signed(alice_did.clone()), + RuntimeOrigin::signed(alice_did.clone()), DidVerificationKey::from(new_att_key.public()) )); let new_did_details = Did::get_did(&alice_did).expect("ALICE_DID should be present on chain."); @@ -1331,7 +1331,7 @@ fn check_reused_key_attestation_key_update() { .execute_with(|| { System::set_block_number(new_block_number); assert_ok!(Did::set_attestation_key( - Origin::signed(alice_did.clone()), + RuntimeOrigin::signed(alice_did.clone()), DidVerificationKey::from(new_att_key.public()) )); @@ -1375,7 +1375,7 @@ fn check_max_public_keys_attestation_key_addition_error() { System::set_block_number(new_block_number); assert_noop!( Did::set_attestation_key( - Origin::signed(alice_did.clone()), + RuntimeOrigin::signed(alice_did.clone()), DidVerificationKey::from(new_att_key.public()) ), did::Error::::MaxPublicKeysPerDidExceeded @@ -1411,7 +1411,7 @@ fn check_max_public_keys_reused_key_attestation_key_update_error() { System::set_block_number(new_block_number); assert_noop!( Did::set_attestation_key( - Origin::signed(alice_did.clone()), + RuntimeOrigin::signed(alice_did.clone()), DidVerificationKey::from(new_att_key.public()) ), did::Error::::MaxPublicKeysPerDidExceeded @@ -1432,7 +1432,7 @@ fn check_did_not_present_attestation_key_update_error() { System::set_block_number(new_block_number); assert_noop!( Did::set_delegation_key( - Origin::signed(alice_did.clone()), + RuntimeOrigin::signed(alice_did.clone()), DidVerificationKey::from(new_att_key.public()) ), did::Error::::DidNotPresent @@ -1453,7 +1453,7 @@ fn check_successful_attestation_key_deletion() { .with_dids(vec![(alice_did.clone(), old_did_details)]) .build(None) .execute_with(|| { - assert_ok!(Did::remove_attestation_key(Origin::signed(alice_did.clone()))); + assert_ok!(Did::remove_attestation_key(RuntimeOrigin::signed(alice_did.clone()))); let new_did_details = Did::get_did(&alice_did).expect("ALICE_DID should be present on chain."); assert!(new_did_details.attestation_key.is_none()); @@ -1478,7 +1478,7 @@ fn check_successful_reused_attestation_key_deletion() { .with_dids(vec![(alice_did.clone(), old_did_details.clone())]) .build(None) .execute_with(|| { - assert_ok!(Did::remove_attestation_key(Origin::signed(alice_did.clone()))); + assert_ok!(Did::remove_attestation_key(RuntimeOrigin::signed(alice_did.clone()))); let new_did_details = Did::get_did(&alice_did).expect("ALICE_DID should be present on chain."); assert!(new_did_details.attestation_key.is_none()); let public_keys = new_did_details.public_keys; @@ -1497,7 +1497,7 @@ fn check_did_not_present_attestation_key_deletion_error() { ExtBuilder::default().build(None).execute_with(|| { assert_noop!( - Did::remove_attestation_key(Origin::signed(alice_did.clone())), + Did::remove_attestation_key(RuntimeOrigin::signed(alice_did.clone())), did::Error::::DidNotPresent ); }); @@ -1515,7 +1515,7 @@ fn check_key_not_present_attestation_key_deletion_error() { .build(None) .execute_with(|| { assert_noop!( - Did::remove_attestation_key(Origin::signed(alice_did.clone())), + Did::remove_attestation_key(RuntimeOrigin::signed(alice_did.clone())), did::Error::::VerificationKeyNotPresent ); }); @@ -1537,7 +1537,7 @@ fn check_successful_key_agreement_key_addition() { .execute_with(|| { System::set_block_number(new_block_number); assert_ok!(Did::add_key_agreement_key( - Origin::signed(alice_did.clone()), + RuntimeOrigin::signed(alice_did.clone()), new_key_agreement_key, )); let new_did_details = Did::get_did(&alice_did).expect("ALICE_DID should be present on chain."); @@ -1577,7 +1577,7 @@ fn check_max_public_keys_key_agreement_key_addition_error() { .execute_with(|| { System::set_block_number(new_block_number); assert_noop!( - Did::add_key_agreement_key(Origin::signed(alice_did.clone()), new_key_agreement_key,), + Did::add_key_agreement_key(RuntimeOrigin::signed(alice_did.clone()), new_key_agreement_key,), did::Error::::MaxPublicKeysPerDidExceeded ); }); @@ -1595,7 +1595,7 @@ fn check_did_not_present_key_agreement_key_addition_error() { ExtBuilder::default().build(None).execute_with(|| { System::set_block_number(new_block_number); assert_noop!( - Did::add_key_agreement_key(Origin::signed(alice_did.clone()), new_enc_key), + Did::add_key_agreement_key(RuntimeOrigin::signed(alice_did.clone()), new_enc_key), did::Error::::DidNotPresent ); }); @@ -1615,7 +1615,7 @@ fn check_successful_key_agreement_key_deletion() { .build(None) .execute_with(|| { assert_ok!(Did::remove_key_agreement_key( - Origin::signed(alice_did.clone()), + RuntimeOrigin::signed(alice_did.clone()), generate_key_id(&old_enc_key.into()), )); let new_did_details = Did::get_did(&alice_did).expect("ALICE_DID should be present on chain."); @@ -1636,7 +1636,10 @@ fn check_did_not_found_key_agreement_key_deletion_error() { ExtBuilder::default().build(None).execute_with(|| { assert_noop!( - Did::remove_key_agreement_key(Origin::signed(alice_did.clone()), generate_key_id(&test_enc_key.into())), + Did::remove_key_agreement_key( + RuntimeOrigin::signed(alice_did.clone()), + generate_key_id(&test_enc_key.into()) + ), did::Error::::DidNotPresent ); }); @@ -1656,7 +1659,10 @@ fn check_key_not_found_key_agreement_key_deletion_error() { .build(None) .execute_with(|| { assert_noop!( - Did::remove_key_agreement_key(Origin::signed(alice_did.clone()), generate_key_id(&test_enc_key.into())), + Did::remove_key_agreement_key( + RuntimeOrigin::signed(alice_did.clone()), + generate_key_id(&test_enc_key.into()) + ), did::Error::::VerificationKeyNotPresent ); }); @@ -1677,7 +1683,7 @@ fn check_service_addition_no_prior_service_successful() { .build(None) .execute_with(|| { assert_ok!(Did::add_service_endpoint( - Origin::signed(alice_did.clone()), + RuntimeOrigin::signed(alice_did.clone()), new_service_endpoint.clone() )); let stored_endpoint = did::pallet::ServiceEndpoints::::get(&alice_did, &new_service_endpoint.id) @@ -1714,7 +1720,7 @@ fn check_service_addition_one_from_full_successful() { .build(None) .execute_with(|| { assert_ok!(Did::add_service_endpoint( - Origin::signed(alice_did.clone()), + RuntimeOrigin::signed(alice_did.clone()), new_service_endpoint.clone() )); assert_eq!( @@ -1739,7 +1745,7 @@ fn check_did_not_present_services_addition_error() { ExtBuilder::default().build(None).execute_with(|| { assert_noop!( - Did::add_service_endpoint(Origin::signed(alice_did.clone()), new_service_endpoint), + Did::add_service_endpoint(RuntimeOrigin::signed(alice_did.clone()), new_service_endpoint), did::Error::::DidNotPresent ); }); @@ -1759,7 +1765,7 @@ fn check_service_already_present_addition_error() { .build(None) .execute_with(|| { assert_noop!( - Did::add_service_endpoint(Origin::signed(alice_did.clone()), service_endpoint), + Did::add_service_endpoint(RuntimeOrigin::signed(alice_did.clone()), service_endpoint), did::Error::::ServiceAlreadyPresent ); }); @@ -1787,7 +1793,7 @@ fn check_max_services_count_addition_error() { .build(None) .execute_with(|| { assert_noop!( - Did::add_service_endpoint(Origin::signed(alice_did.clone()), new_service_endpoint), + Did::add_service_endpoint(RuntimeOrigin::signed(alice_did.clone()), new_service_endpoint), did::Error::::MaxNumberOfServicesPerDidExceeded ); }); @@ -1815,7 +1821,7 @@ fn check_max_service_id_length_addition_error() { .build(None) .execute_with(|| { assert_noop!( - Did::add_service_endpoint(Origin::signed(alice_did.clone()), new_service_endpoint), + Did::add_service_endpoint(RuntimeOrigin::signed(alice_did.clone()), new_service_endpoint), did::Error::::MaxServiceIdLengthExceeded ); }); @@ -1843,7 +1849,7 @@ fn check_max_service_type_length_addition_error() { .build(None) .execute_with(|| { assert_noop!( - Did::add_service_endpoint(Origin::signed(alice_did.clone()), new_service_endpoint), + Did::add_service_endpoint(RuntimeOrigin::signed(alice_did.clone()), new_service_endpoint), did::Error::::MaxServiceTypeLengthExceeded ); }); @@ -1871,7 +1877,7 @@ fn check_max_service_type_count_addition_error() { .build(None) .execute_with(|| { assert_noop!( - Did::add_service_endpoint(Origin::signed(alice_did.clone()), new_service_endpoint), + Did::add_service_endpoint(RuntimeOrigin::signed(alice_did.clone()), new_service_endpoint), did::Error::::MaxNumberOfTypesPerServiceExceeded ); }); @@ -1899,7 +1905,7 @@ fn check_max_service_url_length_addition_error() { .build(None) .execute_with(|| { assert_noop!( - Did::add_service_endpoint(Origin::signed(alice_did.clone()), new_service_endpoint), + Did::add_service_endpoint(RuntimeOrigin::signed(alice_did.clone()), new_service_endpoint), did::Error::::MaxServiceUrlLengthExceeded ); }); @@ -1927,7 +1933,7 @@ fn check_max_service_url_count_addition_error() { .build(None) .execute_with(|| { assert_noop!( - Did::add_service_endpoint(Origin::signed(alice_did.clone()), new_service_endpoint), + Did::add_service_endpoint(RuntimeOrigin::signed(alice_did.clone()), new_service_endpoint), did::Error::::MaxNumberOfUrlsPerServiceExceeded ); }); @@ -1946,7 +1952,7 @@ fn check_invalid_service_id_character_addition_error() { .build(None) .execute_with(|| { assert_noop!( - Did::add_service_endpoint(Origin::signed(alice_did.clone()), new_service_details), + Did::add_service_endpoint(RuntimeOrigin::signed(alice_did.clone()), new_service_details), did::Error::::InvalidServiceEncoding ); }); @@ -1965,7 +1971,7 @@ fn check_invalid_service_type_character_addition_error() { .build(None) .execute_with(|| { assert_noop!( - Did::add_service_endpoint(Origin::signed(alice_did.clone()), new_service_details), + Did::add_service_endpoint(RuntimeOrigin::signed(alice_did.clone()), new_service_details), did::Error::::InvalidServiceEncoding ); }); @@ -1984,7 +1990,7 @@ fn check_invalid_service_url_character_addition_error() { .build(None) .execute_with(|| { assert_noop!( - Did::add_service_endpoint(Origin::signed(alice_did.clone()), new_service_details), + Did::add_service_endpoint(RuntimeOrigin::signed(alice_did.clone()), new_service_details), did::Error::::InvalidServiceEncoding ); }); @@ -2007,7 +2013,7 @@ fn check_service_deletion_successful() { .build(None) .execute_with(|| { assert_ok!(Did::remove_service_endpoint( - Origin::signed(alice_did.clone()), + RuntimeOrigin::signed(alice_did.clone()), old_service_endpoint.id )); // Counter should be deleted from the storage. @@ -2033,7 +2039,7 @@ fn check_service_not_present_deletion_error() { .execute_with(|| { assert_noop!( Did::remove_service_endpoint( - Origin::signed(alice_did.clone()), + RuntimeOrigin::signed(alice_did.clone()), service_id.try_into().expect("Service ID to delete too long") ), did::Error::::ServiceNotPresent @@ -2066,7 +2072,7 @@ fn check_successful_deletion_no_endpoints() { Balances::reserved_balance(ACCOUNT_00), ::Deposit::get() ); - assert_ok!(Did::delete(Origin::signed(alice_did.clone()), 0)); + assert_ok!(Did::delete(RuntimeOrigin::signed(alice_did.clone()), 0)); assert!(Did::get_did(alice_did.clone()).is_none()); assert!(Did::get_deleted_did(alice_did.clone()).is_some()); assert!(Balances::reserved_balance(ACCOUNT_00).is_zero()); @@ -2080,7 +2086,7 @@ fn check_successful_deletion_no_endpoints() { assert_noop!( Did::create( - Origin::signed(ACCOUNT_00.clone()), + RuntimeOrigin::signed(ACCOUNT_00.clone()), Box::new(details), did::DidSignature::from(signature), ), @@ -2114,7 +2120,7 @@ fn check_successful_deletion_with_endpoints() { Balances::reserved_balance(ACCOUNT_00), ::Deposit::get() ); - assert_ok!(Did::delete(Origin::signed(alice_did.clone()), 1)); + assert_ok!(Did::delete(RuntimeOrigin::signed(alice_did.clone()), 1)); assert!(Did::get_did(alice_did.clone()).is_none()); assert!(Did::get_deleted_did(alice_did.clone()).is_some()); assert!(Balances::reserved_balance(ACCOUNT_00).is_zero()); @@ -2128,7 +2134,7 @@ fn check_successful_deletion_with_endpoints() { assert_noop!( Did::create( - Origin::signed(ACCOUNT_00.clone()), + RuntimeOrigin::signed(ACCOUNT_00.clone()), Box::new(details), did::DidSignature::from(signature), ), @@ -2150,7 +2156,7 @@ fn check_did_not_present_deletion() { .build(None) .execute_with(|| { assert_noop!( - Did::delete(Origin::signed(alice_did), 0), + Did::delete(RuntimeOrigin::signed(alice_did), 0), did::Error::::DidNotPresent ); }); @@ -2177,7 +2183,7 @@ fn check_service_count_too_small_deletion_error() { .build(None) .execute_with(|| { assert_noop!( - Did::delete(Origin::signed(alice_did.clone()), 0), + Did::delete(RuntimeOrigin::signed(alice_did.clone()), 0), did::Error::::StoredEndpointsCountTooLarge ); }); @@ -2210,7 +2216,7 @@ fn check_successful_reclaiming() { ::Deposit::get() ); assert_ok!(Did::reclaim_deposit( - Origin::signed(ACCOUNT_00.clone()), + RuntimeOrigin::signed(ACCOUNT_00.clone()), alice_did.clone(), 1 )); @@ -2226,7 +2232,7 @@ fn check_successful_reclaiming() { assert_noop!( Did::create( - Origin::signed(ACCOUNT_00.clone()), + RuntimeOrigin::signed(ACCOUNT_00.clone()), Box::new(details), did::DidSignature::from(signature), ), @@ -2257,7 +2263,7 @@ fn unauthorized_reclaiming() { ::Deposit::get() ); assert_noop!( - Did::reclaim_deposit(Origin::signed(ACCOUNT_01.clone()), alice_did.clone(), 0), + Did::reclaim_deposit(RuntimeOrigin::signed(ACCOUNT_01.clone()), alice_did.clone(), 0), did::Error::::NotOwnerOfDeposit ); }); @@ -2284,7 +2290,7 @@ fn check_service_count_too_small_reclaim_error() { .build(None) .execute_with(|| { assert_noop!( - Did::reclaim_deposit(Origin::signed(ACCOUNT_00.clone()), alice_did.clone(), 0), + Did::reclaim_deposit(RuntimeOrigin::signed(ACCOUNT_00.clone()), alice_did.clone(), 0), did::Error::::StoredEndpointsCountTooLarge ); }); @@ -2305,7 +2311,7 @@ fn check_did_not_found_call_error() { ExtBuilder::default().build(None).execute_with(|| { assert_noop!( Did::submit_did_call( - Origin::signed(caller), + RuntimeOrigin::signed(caller), Box::new(call_operation.operation), did::DidSignature::from(signature) ), @@ -2337,7 +2343,7 @@ fn check_too_small_tx_counter_after_wrap_call_error() { .execute_with(|| { assert_noop!( Did::submit_did_call( - Origin::signed(caller), + RuntimeOrigin::signed(caller), Box::new(call_operation.operation), did::DidSignature::from(signature) ), @@ -2368,7 +2374,7 @@ fn check_too_small_tx_counter_call_error() { .execute_with(|| { assert_noop!( Did::submit_did_call( - Origin::signed(caller), + RuntimeOrigin::signed(caller), Box::new(call_operation.operation), did::DidSignature::from(signature) ), @@ -2398,7 +2404,7 @@ fn check_equal_tx_counter_call_error() { .execute_with(|| { assert_noop!( Did::submit_did_call( - Origin::signed(caller), + RuntimeOrigin::signed(caller), Box::new(call_operation.operation), did::DidSignature::from(signature) ), @@ -2428,7 +2434,7 @@ fn check_too_large_tx_counter_call_error() { .execute_with(|| { assert_noop!( Did::submit_did_call( - Origin::signed(caller), + RuntimeOrigin::signed(caller), Box::new(call_operation.operation), did::DidSignature::from(signature) ), @@ -2460,7 +2466,7 @@ fn check_tx_block_number_too_low_error() { System::set_block_number(call_operation.operation.block_number + MaxBlocksTxValidity::get() + 1); assert_noop!( Did::submit_did_call( - Origin::signed(caller.clone()), + RuntimeOrigin::signed(caller.clone()), Box::new(call_operation.operation.clone()), did::DidSignature::from(signature.clone()) ), @@ -2470,7 +2476,7 @@ fn check_tx_block_number_too_low_error() { // But it would work if the system would be one block earlier. System::set_block_number(call_operation.operation.block_number + MaxBlocksTxValidity::get()); assert_ok!(Did::submit_did_call( - Origin::signed(caller), + RuntimeOrigin::signed(caller), Box::new(call_operation.operation), did::DidSignature::from(signature) )); @@ -2503,7 +2509,7 @@ fn check_tx_block_number_too_high_error() { System::set_block_number(call_operation.operation.block_number - MaxBlocksTxValidity::get() - 1); assert_noop!( Did::submit_did_call( - Origin::signed(caller.clone()), + RuntimeOrigin::signed(caller.clone()), Box::new(call_operation.operation.clone()), did::DidSignature::from(signature.clone()) ), @@ -2534,7 +2540,7 @@ fn check_verification_key_not_present_call_error() { .execute_with(|| { assert_noop!( Did::submit_did_call( - Origin::signed(caller), + RuntimeOrigin::signed(caller), Box::new(call_operation.operation), did::DidSignature::from(signature) ), @@ -2564,7 +2570,7 @@ fn check_invalid_signature_format_call_error() { .execute_with(|| { assert_noop!( Did::submit_did_call( - Origin::signed(caller), + RuntimeOrigin::signed(caller), Box::new(call_operation.operation), did::DidSignature::from(signature) ), @@ -2592,7 +2598,7 @@ fn check_bad_submitter_error() { .execute_with(|| { assert_noop!( Did::submit_did_call( - Origin::signed(caller), + RuntimeOrigin::signed(caller), Box::new(call_operation.operation), did::DidSignature::from(signature) ), @@ -2622,7 +2628,7 @@ fn check_invalid_signature_call_error() { .execute_with(|| { assert_noop!( Did::submit_did_call( - Origin::signed(caller), + RuntimeOrigin::signed(caller), Box::new(call_operation.operation), did::DidSignature::from(signature) ), @@ -2653,7 +2659,7 @@ fn check_call_attestation_key_successful() { .build(None) .execute_with(|| { assert_ok!(Did::submit_did_call( - Origin::signed(caller), + RuntimeOrigin::signed(caller), Box::new(call_operation.operation), did::DidSignature::from(signature) )); @@ -2687,7 +2693,7 @@ fn check_call_attestation_key_error() { .execute_with(|| { assert_err!( Did::submit_did_call( - Origin::signed(caller), + RuntimeOrigin::signed(caller), Box::new(call_operation.operation), did::DidSignature::from(signature) ), @@ -2718,7 +2724,7 @@ fn check_call_delegation_key_successful() { .build(None) .execute_with(|| { assert_ok!(Did::submit_did_call( - Origin::signed(caller), + RuntimeOrigin::signed(caller), Box::new(call_operation.operation), did::DidSignature::from(signature) )); @@ -2752,7 +2758,7 @@ fn check_call_delegation_key_error() { .execute_with(|| { assert_err!( Did::submit_did_call( - Origin::signed(caller), + RuntimeOrigin::signed(caller), Box::new(call_operation.operation), did::DidSignature::from(signature) ), @@ -2781,7 +2787,7 @@ fn check_call_authentication_key_successful() { .build(None) .execute_with(|| { assert_ok!(Did::submit_did_call( - Origin::signed(caller), + RuntimeOrigin::signed(caller), Box::new(call_operation.operation), did::DidSignature::from(signature) )); @@ -2813,7 +2819,7 @@ fn check_call_authentication_key_error() { .execute_with(|| { assert_err!( Did::submit_did_call( - Origin::signed(caller), + RuntimeOrigin::signed(caller), Box::new(call_operation.operation), did::DidSignature::from(signature) ), @@ -2840,7 +2846,7 @@ fn check_null_key_error() { ExtBuilder::default().build(None).execute_with(|| { assert_noop!( Did::submit_did_call( - Origin::signed(caller), + RuntimeOrigin::signed(caller), Box::new(call_operation.operation), did::DidSignature::from(signature) ), @@ -3173,7 +3179,7 @@ fn test_change_deposit_owner() { Balances::reserved_balance(ACCOUNT_00), ::Deposit::get() ); - assert_ok!(Did::change_deposit_owner(Origin::signed(alice_did.clone()))); + assert_ok!(Did::change_deposit_owner(RuntimeOrigin::signed(alice_did.clone()))); assert!(Balances::reserved_balance(ACCOUNT_00).is_zero()); assert_eq!( Balances::reserved_balance(alice_did), @@ -3200,7 +3206,7 @@ fn test_change_deposit_owner_insufficient_balance() { .build(None) .execute_with(|| { assert_noop!( - Did::change_deposit_owner(Origin::signed(alice_did.clone())), + Did::change_deposit_owner(RuntimeOrigin::signed(alice_did.clone())), pallet_balances::Error::::InsufficientBalance ); }); @@ -3220,7 +3226,7 @@ fn test_change_deposit_owner_not_found() { .build(None) .execute_with(|| { assert_noop!( - Did::change_deposit_owner(Origin::signed(alice_did.clone())), + Did::change_deposit_owner(RuntimeOrigin::signed(alice_did.clone())), crate::Error::::DidNotPresent ); }); @@ -3242,7 +3248,7 @@ fn test_change_deposit_owner_not_authorized() { .build(None) .execute_with(|| { assert_noop!( - Did::change_deposit_owner(Origin::signed(bob_did.clone())), + Did::change_deposit_owner(RuntimeOrigin::signed(bob_did.clone())), crate::Error::::DidNotPresent ); }); @@ -3271,7 +3277,7 @@ fn test_update_deposit() { ::Deposit::get() * 2 ); assert_ok!(Did::update_deposit( - Origin::signed(alice_did.clone()), + RuntimeOrigin::signed(alice_did.clone()), alice_did.clone() )); assert_eq!( @@ -3316,7 +3322,7 @@ fn test_update_deposit_unauthorized() { ::Deposit::get() * 2 ); assert_noop!( - Did::update_deposit(Origin::signed(bob_did.clone()), alice_did.clone()), + Did::update_deposit(RuntimeOrigin::signed(bob_did.clone()), alice_did.clone()), Error::::BadDidOrigin ); }); diff --git a/pallets/pallet-did-lookup/Cargo.toml b/pallets/pallet-did-lookup/Cargo.toml index a44b2cc92..45bb612aa 100644 --- a/pallets/pallet-did-lookup/Cargo.toml +++ b/pallets/pallet-did-lookup/Cargo.toml @@ -52,13 +52,16 @@ runtime-benchmarks = [ "kilt-support/runtime-benchmarks", "frame-support/runtime-benchmarks", "frame-system/runtime-benchmarks", + "sp-runtime/runtime-benchmarks", ] std = [ "codec/std", - "frame-benchmarking/std", + "frame-benchmarking?/std", "frame-support/std", "frame-system/std", + "hex/std", "log/std", + "libsecp256k1/std", "scale-info/std", "sha3/std", "sp-core/std", @@ -68,5 +71,6 @@ std = [ ] try-runtime = [ "frame-support/try-runtime", + "frame-system/try-runtime", "kilt-support/try-runtime", ] diff --git a/pallets/pallet-did-lookup/src/benchmarking.rs b/pallets/pallet-did-lookup/src/benchmarking.rs index e3d85c963..c70379560 100644 --- a/pallets/pallet-did-lookup/src/benchmarking.rs +++ b/pallets/pallet-did-lookup/src/benchmarking.rs @@ -57,7 +57,7 @@ benchmarks! { where T::AccountId: From + From + Into + Into, T::DidIdentifier: From, - T::EnsureOrigin: GenerateBenchmarkOrigin, + T::EnsureOrigin: GenerateBenchmarkOrigin, } associate_account_multisig_sr25519 { @@ -86,7 +86,7 @@ benchmarks! { let origin = T::EnsureOrigin::generate_origin(caller, did.clone()); let id_arg = linkable_id.clone(); let req = AssociateAccountRequest::Dotsama(connected_acc_id.into(), sig.into()); - }: associate_account(origin, req, bn) + }: associate_account(origin, req, bn) verify { assert!(ConnectedDids::::get(linkable_id.clone()).is_some()); assert!(ConnectedAccounts::::get(&previous_did, linkable_id.clone()).is_none()); @@ -119,7 +119,7 @@ benchmarks! { let origin = T::EnsureOrigin::generate_origin(caller, did.clone()); let id_arg = linkable_id.clone(); let req = AssociateAccountRequest::Dotsama(connected_acc_id.into(), sig.into()); - }: associate_account(origin, req, bn) + }: associate_account(origin, req, bn) verify { assert!(ConnectedDids::::get(linkable_id.clone()).is_some()); assert!(ConnectedAccounts::::get(&previous_did, linkable_id.clone()).is_none()); @@ -152,7 +152,7 @@ benchmarks! { let origin = T::EnsureOrigin::generate_origin(caller, did.clone()); let id_arg = linkable_id.clone(); let req = AssociateAccountRequest::Dotsama(connected_acc_id, sig.into()); - }: associate_account(origin, req, bn) + }: associate_account(origin, req, bn) verify { assert!(ConnectedDids::::get(linkable_id.clone()).is_some()); assert!(ConnectedAccounts::::get(&previous_did, linkable_id.clone()).is_none()); @@ -186,7 +186,7 @@ benchmarks! { assert!(ConnectedAccounts::::get(&previous_did, LinkableAccountId::from(eth_account)).is_some()); let origin = T::EnsureOrigin::generate_origin(caller, did.clone()); let req = AssociateAccountRequest::Ethereum(eth_account, sig.into()); - }: associate_account(origin, req, expire_at) + }: associate_account(origin, req, expire_at) verify { assert!(ConnectedDids::::get(LinkableAccountId::from(eth_account)).is_some()); assert!(ConnectedAccounts::::get(&previous_did, LinkableAccountId::from(eth_account)).is_none()); @@ -205,7 +205,7 @@ benchmarks! { Pallet::::add_association(caller.clone(), previous_did.clone(), caller.clone().into()).expect("should create previous association"); assert!(ConnectedAccounts::::get(&previous_did, &linkable_id).is_some()); let origin = T::EnsureOrigin::generate_origin(caller, did.clone()); - }: _(origin) + }: _(origin) verify { assert!(ConnectedDids::::get(&linkable_id).is_some()); assert!(ConnectedAccounts::::get(previous_did, &linkable_id).is_none()); @@ -237,7 +237,7 @@ benchmarks! { let origin = T::EnsureOrigin::generate_origin(caller, did.clone()); let id_arg = linkable_id.clone(); - }: _(origin, id_arg) + }: _(origin, id_arg) verify { assert!(ConnectedDids::::get(&linkable_id).is_none()); assert!(ConnectedAccounts::::get(did, linkable_id).is_none()); @@ -255,7 +255,7 @@ benchmarks! { let origin = T::EnsureOrigin::generate_origin(deposit_owner_new.clone(), did); let id_arg = linkable_id.clone(); - }: _(origin, id_arg) + }: _(origin, id_arg) verify { assert_eq!( ConnectedDids::::get(&linkable_id).expect("should retain link").deposit, diff --git a/pallets/pallet-did-lookup/src/lib.rs b/pallets/pallet-did-lookup/src/lib.rs index a660322a4..aedbf57ad 100644 --- a/pallets/pallet-did-lookup/src/lib.rs +++ b/pallets/pallet-did-lookup/src/lib.rs @@ -83,10 +83,10 @@ pub mod pallet { #[pallet::config] pub trait Config: frame_system::Config { - type Event: From> + IsType<::Event>; + type RuntimeEvent: From> + IsType<::RuntimeEvent>; /// The origin that can associate accounts to itself. - type EnsureOrigin: EnsureOrigin::Origin>; + type EnsureOrigin: EnsureOrigin<::RuntimeOrigin, Success = Self::OriginSuccess>; /// The information that is returned by the origin check. type OriginSuccess: CallSources, DidIdentifierOf>; diff --git a/pallets/pallet-did-lookup/src/migrations.rs b/pallets/pallet-did-lookup/src/migrations.rs index f604c9db1..9297997ef 100644 --- a/pallets/pallet-did-lookup/src/migrations.rs +++ b/pallets/pallet-did-lookup/src/migrations.rs @@ -28,9 +28,13 @@ use frame_support::{ use sp_std::{marker::PhantomData, vec}; #[cfg(feature = "try-runtime")] -use frame_support::traits::OnRuntimeUpgradeHelpersExt; -#[cfg(feature = "try-runtime")] -use sp_runtime::SaturatedConversion; +use { + frame_support::{ + codec::{Decode, Encode}, + inherent::Vec, + }, + sp_runtime::SaturatedConversion, +}; #[storage_alias] type ConnectedDids = StorageMap, Blake2_128Concat, AccountIdOf, ConnectionRecordOf>; @@ -98,12 +102,11 @@ where } #[cfg(feature = "try-runtime")] - fn pre_upgrade() -> Result<(), &'static str> { + fn pre_upgrade() -> Result, &'static str> { assert!(Pallet::::on_chain_storage_version() < Pallet::::current_storage_version()); // Store number of connected DIDs in temp storage let connected_did_count: u64 = ConnectedDids::::iter_keys().count().saturated_into(); - Self::set_temp_storage(connected_did_count, "pre_connected_did_count"); log::info!( "🔎 DidLookup pre migration: Number of connected DIDs {:?}", connected_did_count @@ -111,24 +114,24 @@ where // Store number of connected accounts in temp storage let connected_account_count: u64 = ConnectedAccounts::::iter_keys().count().saturated_into(); - Self::set_temp_storage(connected_account_count, "pre_connected_account_count"); log::info!( "🔎 DidLookup pre migration: Number of connected accounts {:?}", connected_account_count ); - Ok(()) + Ok((connected_did_count, connected_account_count).encode()) } #[cfg(feature = "try-runtime")] - fn post_upgrade() -> Result<(), &'static str> { + fn post_upgrade(pre_state: Vec) -> Result<(), &'static str> { assert_eq!( Pallet::::on_chain_storage_version(), Pallet::::current_storage_version() ); // Check number of connected DIDs and accounts against pre-check result - let pre_connected_did_count = Self::get_temp_storage("pre_connected_did_count").unwrap_or(0u64); - let pre_connected_account_count = Self::get_temp_storage("pre_connected_account_count").unwrap_or(0u64); + let (pre_connected_did_count, pre_connected_account_count): (u64, u64) = + Decode::decode(&mut pre_state.as_slice()) + .expect("the state parameter should be something that was generated by pre_upgrade"); assert_eq!( ConnectedDidsV2::::iter().count().saturated_into::(), pre_connected_did_count, diff --git a/pallets/pallet-did-lookup/src/mock.rs b/pallets/pallet-did-lookup/src/mock.rs index ca5f0e49f..43b408cca 100644 --- a/pallets/pallet-did-lookup/src/mock.rs +++ b/pallets/pallet-did-lookup/src/mock.rs @@ -65,8 +65,8 @@ impl frame_system::Config for Test { type BlockWeights = (); type BlockLength = (); type DbWeight = (); - type Origin = Origin; - type Call = Call; + type RuntimeOrigin = RuntimeOrigin; + type RuntimeCall = RuntimeCall; type Index = Index; type BlockNumber = BlockNumber; type Hash = Hash; @@ -74,7 +74,7 @@ impl frame_system::Config for Test { type AccountId = AccountId; type Lookup = IdentityLookup; type Header = Header; - type Event = Event; + type RuntimeEvent = RuntimeEvent; type BlockHashCount = BlockHashCount; type Version = (); type PalletInfo = PalletInfo; @@ -96,7 +96,7 @@ parameter_types! { impl pallet_balances::Config for Test { type Balance = Balance; type DustRemoval = (); - type Event = Event; + type RuntimeEvent = RuntimeEvent; type ExistentialDeposit = ExistentialDeposit; type AccountStore = System; type MaxLocks = MaxLocks; @@ -110,7 +110,7 @@ parameter_types! { } impl pallet_did_lookup::Config for Test { - type Event = Event; + type RuntimeEvent = RuntimeEvent; type Currency = Balances; type Deposit = DidLookupDeposit; @@ -123,7 +123,7 @@ impl pallet_did_lookup::Config for Test { } impl mock_origin::Config for Test { - type Origin = Origin; + type RuntimeOrigin = RuntimeOrigin; type AccountId = AccountId; type SubjectId = SubjectId; } diff --git a/pallets/pallet-did-lookup/src/tests.rs b/pallets/pallet-did-lookup/src/tests.rs index 9b2b77073..1dd7f3f50 100644 --- a/pallets/pallet-did-lookup/src/tests.rs +++ b/pallets/pallet-did-lookup/src/tests.rs @@ -296,9 +296,9 @@ fn test_remove_association_sender() { .build() .execute_with(|| { // remove association - assert!(DidLookup::remove_sender_association(Origin::signed(ACCOUNT_00)).is_ok()); - assert_eq!(ConnectedDids::::get(LinkableAccountId::from(ACCOUNT_00)), None); - assert!(ConnectedAccounts::::get(DID_01, LinkableAccountId::from(ACCOUNT_00)).is_none()); + assert!(DidLookup::remove_sender_association(RuntimeOrigin::signed(ACCOUNT_00)).is_ok()); + assert_eq!(ConnectedDids::::get(&LinkableAccountId::from(ACCOUNT_00)), None); + assert!(ConnectedAccounts::::get(DID_01, &LinkableAccountId::from(ACCOUNT_00)).is_none()); assert_eq!(Balances::reserved_balance(ACCOUNT_00), 0); }); } @@ -313,7 +313,7 @@ fn test_remove_association_sender_not_found() { .build() .execute_with(|| { assert_noop!( - DidLookup::remove_sender_association(Origin::signed(ACCOUNT_00)), + DidLookup::remove_sender_association(RuntimeOrigin::signed(ACCOUNT_00)), Error::::AssociationNotFound ); }); @@ -396,7 +396,7 @@ fn test_reclaim_deposit() { .build() .execute_with(|| { assert_ok!(DidLookup::reclaim_deposit( - Origin::signed(ACCOUNT_01), + RuntimeOrigin::signed(ACCOUNT_01), ACCOUNT_00.into() )); assert_eq!(Balances::reserved_balance(ACCOUNT_01), 0); @@ -414,7 +414,7 @@ fn test_reclaim_deposit_not_authorized() { .build() .execute_with(|| { assert_noop!( - DidLookup::reclaim_deposit(Origin::signed(ACCOUNT_00), ACCOUNT_00.into()), + DidLookup::reclaim_deposit(RuntimeOrigin::signed(ACCOUNT_00), ACCOUNT_00.into()), Error::::NotAuthorized ); assert_eq!( @@ -518,7 +518,10 @@ fn test_update_deposit() { Balances::reserved_balance(ACCOUNT_00), ::Deposit::get() * 2 ); - assert_ok!(DidLookup::update_deposit(Origin::signed(ACCOUNT_00), ACCOUNT_00.into())); + assert_ok!(DidLookup::update_deposit( + RuntimeOrigin::signed(ACCOUNT_00), + ACCOUNT_00.into() + )); assert_eq!( Balances::reserved_balance(ACCOUNT_00), ::Deposit::get() @@ -546,7 +549,7 @@ fn test_update_deposit_unauthorized() { ::Deposit::get() * 2 ); assert_noop!( - DidLookup::update_deposit(Origin::signed(ACCOUNT_01), ACCOUNT_00.into()), + DidLookup::update_deposit(RuntimeOrigin::signed(ACCOUNT_01), ACCOUNT_00.into()), Error::::NotAuthorized ); }) diff --git a/pallets/pallet-inflation/Cargo.toml b/pallets/pallet-inflation/Cargo.toml index dc4f5de4b..303312b53 100644 --- a/pallets/pallet-inflation/Cargo.toml +++ b/pallets/pallet-inflation/Cargo.toml @@ -38,9 +38,11 @@ runtime-benchmarks = [ "frame-benchmarking", "frame-support/runtime-benchmarks", "frame-system/runtime-benchmarks", + "sp-runtime/runtime-benchmarks", ] std = [ - "frame-benchmarking/std", + "codec/std", + "frame-benchmarking?/std", "frame-support/std", "frame-system/std", "scale-info/std", @@ -49,4 +51,5 @@ std = [ ] try-runtime = [ "frame-support/try-runtime", + "frame-system/try-runtime", ] diff --git a/pallets/pallet-inflation/src/mock.rs b/pallets/pallet-inflation/src/mock.rs index 432f39a3f..c1998e048 100644 --- a/pallets/pallet-inflation/src/mock.rs +++ b/pallets/pallet-inflation/src/mock.rs @@ -69,8 +69,8 @@ impl frame_system::Config for Test { type BlockWeights = (); type BlockLength = (); type DbWeight = (); - type Origin = Origin; - type Call = Call; + type RuntimeOrigin = RuntimeOrigin; + type RuntimeCall = RuntimeCall; type Index = Index; type BlockNumber = BlockNumber; type Hash = Hash; @@ -78,7 +78,7 @@ impl frame_system::Config for Test { type AccountId = AccountId; type Lookup = IdentityLookup; type Header = Header; - type Event = Event; + type RuntimeEvent = RuntimeEvent; type BlockHashCount = BlockHashCount; type Version = (); type PalletInfo = PalletInfo; @@ -102,7 +102,7 @@ impl pallet_balances::Config for Test { type MaxReserves = MaxReserves; type ReserveIdentifier = [u8; 8]; type Balance = Balance; - type Event = Event; + type RuntimeEvent = RuntimeEvent; type DustRemoval = (); type ExistentialDeposit = ExistentialDeposit; type AccountStore = System; diff --git a/pallets/pallet-web3-names/Cargo.toml b/pallets/pallet-web3-names/Cargo.toml index 6cd3f5da4..60bac0a75 100644 --- a/pallets/pallet-web3-names/Cargo.toml +++ b/pallets/pallet-web3-names/Cargo.toml @@ -43,14 +43,15 @@ sp-io = {workspace = true, optional = true} default = ["std"] runtime-benchmarks = [ "frame-benchmarking", - "sp-io", "kilt-support/runtime-benchmarks", "frame-support/runtime-benchmarks", "frame-system/runtime-benchmarks", + "sp-io", + "sp-runtime/runtime-benchmarks", ] std = [ "codec/std", - "frame-benchmarking/std", + "frame-benchmarking?/std", "frame-support/std", "frame-system/std", "scale-info/std", diff --git a/pallets/pallet-web3-names/src/benchmarking.rs b/pallets/pallet-web3-names/src/benchmarking.rs index f5b86a483..4ccf6128d 100644 --- a/pallets/pallet-web3-names/src/benchmarking.rs +++ b/pallets/pallet-web3-names/src/benchmarking.rs @@ -53,8 +53,8 @@ benchmarks! { where T::AccountId: From, T::Web3NameOwner: From, - T::OwnerOrigin: GenerateBenchmarkOrigin, - T::BanOrigin: EnsureOrigin, + T::OwnerOrigin: GenerateBenchmarkOrigin, + T::BanOrigin: EnsureOrigin, } claim { @@ -66,7 +66,7 @@ benchmarks! { let origin = T::OwnerOrigin::generate_origin(caller.clone(), owner.clone()); make_free_for_did::(&caller); - }: _(origin, web3_name_input_clone) + }: _(origin, web3_name_input_clone) verify { let web3_name = Web3NameOf::::try_from(web3_name_input.to_vec()).unwrap(); assert!(Names::::get(&owner).is_some()); @@ -81,7 +81,7 @@ benchmarks! { make_free_for_did::(&caller); Pallet::::claim(origin.clone(), web3_name_input.clone()).expect("Should register the claimed web3 name."); - }: _(origin) + }: _(origin) verify { let web3_name = Web3NameOf::::try_from(web3_name_input.to_vec()).unwrap(); assert!(Names::::get(&owner).is_none()); @@ -158,7 +158,7 @@ benchmarks! { Pallet::::claim(origin_create, web3_name_input.clone()).expect("Should register the claimed web3 name."); let origin = T::OwnerOrigin::generate_origin(deposit_owner_new.clone(), owner); - }: _(origin) + }: _(origin) verify { let web3_name = Web3NameOf::::try_from(web3_name_input.to_vec()).unwrap(); assert_eq!(Owner::::get(&web3_name).expect("w3n should exists").deposit, Deposit { diff --git a/pallets/pallet-web3-names/src/lib.rs b/pallets/pallet-web3-names/src/lib.rs index f2b36ebb0..447d7205c 100644 --- a/pallets/pallet-web3-names/src/lib.rs +++ b/pallets/pallet-web3-names/src/lib.rs @@ -94,9 +94,9 @@ pub mod pallet { #[pallet::config] pub trait Config: frame_system::Config { /// The origin allowed to ban names. - type BanOrigin: EnsureOrigin; + type BanOrigin: EnsureOrigin; /// The origin allowed to perform regular operations. - type OwnerOrigin: EnsureOrigin::Origin>; + type OwnerOrigin: EnsureOrigin<::RuntimeOrigin, Success = Self::OriginSuccess>; /// The type of origin after a successful origin check. type OriginSuccess: CallSources, Web3NameOwnerOf>; /// The currency type to reserve and release deposits. @@ -105,7 +105,7 @@ pub mod pallet { #[pallet::constant] type Deposit: Get>; /// The overarching event type. - type Event: From> + IsType<::Event>; + type RuntimeEvent: From> + IsType<::RuntimeEvent>; /// The min encoded length of a name. #[pallet::constant] type MinNameLength: Get; diff --git a/pallets/pallet-web3-names/src/mock.rs b/pallets/pallet-web3-names/src/mock.rs index 9ce3a6929..07fdcc0a3 100644 --- a/pallets/pallet-web3-names/src/mock.rs +++ b/pallets/pallet-web3-names/src/mock.rs @@ -99,8 +99,8 @@ pub(crate) mod runtime { type BlockWeights = (); type BlockLength = (); type DbWeight = (); - type Origin = Origin; - type Call = Call; + type RuntimeOrigin = RuntimeOrigin; + type RuntimeCall = RuntimeCall; type Index = Index; type BlockNumber = BlockNumber; type Hash = Hash; @@ -108,7 +108,7 @@ pub(crate) mod runtime { type AccountId = AccountId; type Lookup = IdentityLookup; type Header = Header; - type Event = Event; + type RuntimeEvent = RuntimeEvent; type BlockHashCount = BlockHashCount; type Version = (); type PalletInfo = PalletInfo; @@ -130,7 +130,7 @@ pub(crate) mod runtime { impl pallet_balances::Config for Test { type Balance = Balance; type DustRemoval = (); - type Event = Event; + type RuntimeEvent = RuntimeEvent; type ExistentialDeposit = ExistentialDeposit; type AccountStore = System; type MaxLocks = MaxLocks; @@ -159,7 +159,7 @@ pub(crate) mod runtime { type OriginSuccess = TestOriginSuccess; type Currency = Balances; type Deposit = Web3NameDeposit; - type Event = Event; + type RuntimeEvent = RuntimeEvent; type MaxNameLength = MaxNameLength; type MinNameLength = MinNameLength; type Web3Name = TestWeb3Name; @@ -168,7 +168,7 @@ pub(crate) mod runtime { } impl mock_origin::Config for Test { - type Origin = Origin; + type RuntimeOrigin = RuntimeOrigin; type AccountId = AccountId; type SubjectId = SubjectId; } diff --git a/pallets/pallet-web3-names/src/tests.rs b/pallets/pallet-web3-names/src/tests.rs index 2865c5f2f..ef6f555bc 100644 --- a/pallets/pallet-web3-names/src/tests.rs +++ b/pallets/pallet-web3-names/src/tests.rs @@ -455,7 +455,7 @@ fn test_update_deposit() { ::Deposit::get() * 2 ); assert_ok!(Pallet::::update_deposit( - Origin::signed(ACCOUNT_00), + RuntimeOrigin::signed(ACCOUNT_00), WEB3_NAME_00_INPUT.to_vec().try_into().unwrap() )); assert_eq!( @@ -492,7 +492,7 @@ fn test_update_deposit_unauthorized() { ); assert_noop!( Pallet::::update_deposit( - Origin::signed(ACCOUNT_01), + RuntimeOrigin::signed(ACCOUNT_01), WEB3_NAME_00_INPUT.to_vec().try_into().unwrap() ), Error::::Unauthorized diff --git a/pallets/parachain-staking/Cargo.toml b/pallets/parachain-staking/Cargo.toml index 85933c673..1eda33e37 100644 --- a/pallets/parachain-staking/Cargo.toml +++ b/pallets/parachain-staking/Cargo.toml @@ -46,9 +46,13 @@ runtime-benchmarks = [ "frame-benchmarking", "frame-support/runtime-benchmarks", "frame-system/runtime-benchmarks", + "pallet-balances/runtime-benchmarks", + "sp-runtime/runtime-benchmarks", + "sp-staking/runtime-benchmarks", ] std = [ "codec/std", + "frame-benchmarking?/std", "frame-support/std", "frame-system/std", "kilt-runtime-api-staking/std", @@ -63,5 +67,9 @@ std = [ "sp-std/std", ] try-runtime = [ + "frame-system/try-runtime", "frame-support/try-runtime", + "pallet-authorship/try-runtime", + "pallet-balances/try-runtime", + "pallet-session/try-runtime", ] diff --git a/pallets/parachain-staking/src/benchmarking.rs b/pallets/parachain-staking/src/benchmarking.rs index d271363b7..96e000b2a 100644 --- a/pallets/parachain-staking/src/benchmarking.rs +++ b/pallets/parachain-staking/src/benchmarking.rs @@ -49,7 +49,7 @@ fn setup_collator_candidates( for acc in collators.iter() { T::Currency::make_free_balance_be(acc, amount); assert_ok!(Pallet::::join_candidates( - T::Origin::from(Some(acc.clone()).into()), + T::RuntimeOrigin::from(Some(acc.clone()).into()), amount, )); assert_eq!(CandidatePool::::get(acc).unwrap().stake, amount); @@ -80,7 +80,7 @@ fn fill_delegators(num_delegators: u32, collator: T::AccountId, colla for acc in delegators.iter() { T::Currency::make_free_balance_be(acc, T::MinDelegatorStake::get()); assert_ok!(Pallet::::join_delegators( - T::Origin::from(Some(acc.clone()).into()), + T::RuntimeOrigin::from(Some(acc.clone()).into()), T::Lookup::unlookup(collator.clone()), T::MinDelegatorStake::get(), )); @@ -526,7 +526,7 @@ benchmarks! { let stake = T::MinCollatorCandidateStake::get(); T::Currency::make_free_balance_be(&candidate, free_balance); assert_ok!(Pallet::::join_candidates( - T::Origin::from(Some(candidate.clone()).into()), + T::RuntimeOrigin::from(Some(candidate.clone()).into()), stake, )); assert_eq!(pallet_balances::Pallet::::usable_balance(&candidate), (free_balance - T::MinCollatorCandidateStake::get()).into()); diff --git a/pallets/parachain-staking/src/lib.rs b/pallets/parachain-staking/src/lib.rs index 163540ea8..64e401af3 100644 --- a/pallets/parachain-staking/src/lib.rs +++ b/pallets/parachain-staking/src/lib.rs @@ -185,7 +185,7 @@ pub mod pallet { #[pallet::config] pub trait Config: frame_system::Config + pallet_balances::Config + pallet_session::Config { /// Overarching event type - type Event: From> + IsType<::Event>; + type RuntimeEvent: From> + IsType<::RuntimeEvent>; // FIXME: Remove Currency and CurrencyBalance types. Problem: Need to restrict // pallet_balances::Config::Balance with From for usage with Perquintill // multiplication @@ -685,13 +685,13 @@ pub mod pallet { ); if let Some(delegated_val) = opt_val { assert_ok!(Pallet::::join_delegators( - T::Origin::from(Some(actor.clone()).into()), + T::RuntimeOrigin::from(Some(actor.clone()).into()), T::Lookup::unlookup(delegated_val.clone()), balance, )); } else { assert_ok!(Pallet::::join_candidates( - T::Origin::from(Some(actor.clone()).into()), + T::RuntimeOrigin::from(Some(actor.clone()).into()), balance )); } @@ -2272,7 +2272,7 @@ pub mod pallet { // Kill storage BlocksAuthored::::remove(collator); BlocksRewarded::::remove(collator); - CandidatePool::::remove(&collator); + CandidatePool::::remove(collator); Ok(()) } diff --git a/pallets/parachain-staking/src/migration.rs b/pallets/parachain-staking/src/migration.rs index 93662db5d..93d54fefd 100644 --- a/pallets/parachain-staking/src/migration.rs +++ b/pallets/parachain-staking/src/migration.rs @@ -15,173 +15,3 @@ // along with this program. If not, see . // If you feel like getting in touch with us, you can do so at info@botlabs.org - -#![cfg_attr(not(feature = "std"), no_std)] - -use crate::{ - set::OrderedSet, - types::{BalanceOf, Delegator, Stake}, -}; - -use super::*; -use codec::{Decode, Encode, MaxEncodedLen}; -use core::marker::PhantomData; -use frame_support::{ - dispatch::GetStorageVersion, - pallet_prelude::{StorageVersion, ValueQuery}, - parameter_types, storage_alias, - traits::{Get, OnRuntimeUpgrade}, - weights::Weight, - Blake2_128Concat, RuntimeDebug, -}; -use scale_info::TypeInfo; -use sp_runtime::traits::Zero; - -#[cfg(feature = "try-runtime")] -use sp_runtime::SaturatedConversion; - -// Old delegator type needed for translating storage map -#[derive(Encode, Decode, Eq, MaxEncodedLen, PartialEq, RuntimeDebug, TypeInfo)] -#[scale_info(skip_type_params(MaxCollatorsPerDelegator))] -#[codec(mel_bound(AccountId: MaxEncodedLen, Balance: MaxEncodedLen))] -pub struct DelegatorOld> { - pub delegations: OrderedSet, MaxCollatorsPerDelegator>, - pub total: Balance, -} -parameter_types! { - const MaxCollatorsPerDelegator: u32 = 1; -} -// Old delegator state map required for pre checks -#[storage_alias] -type DelegatorStateOld = StorageMap< - Pallet, - Blake2_128Concat, - ::AccountId, - DelegatorOld<::AccountId, BalanceOf, MaxCollatorsPerDelegator>, ->; - -/// Number of delegators post migration -#[storage_alias] -type CounterForDelegators = StorageValue, u32, ValueQuery>; - -pub struct StakingPayoutRefactor(PhantomData); -impl OnRuntimeUpgrade for StakingPayoutRefactor { - fn on_runtime_upgrade() -> Weight { - let current = Pallet::::current_storage_version(); - let onchain = Pallet::::on_chain_storage_version(); - - log::info!( - "💰 Running migration with current storage version {:?} / onchain {:?}", - current, - onchain - ); - - if current == 8 && onchain == 7 { - let num_delegators = migrate_delegators::(); - log::info!("💰 Migrated {:?} delegator states", num_delegators); - StorageVersion::new(8).put::>(); - T::DbWeight::get().reads_writes(num_delegators, num_delegators) - } else { - log::info!("💰 StakingPayoutRefactor did not execute. This probably should be removed"); - T::DbWeight::get().reads(1) - } - } - - #[cfg(feature = "try-runtime")] - fn pre_upgrade() -> Result<(), &'static str> { - let current = Pallet::::on_chain_storage_version(); - - assert_eq!( - current, 7, - "ParachainStaking on-chain StorageVersion is {:?} instead of 7", - current - ); - - // sanity check each old entry - for delegator in DelegatorStateOld::::iter_values() { - assert!( - delegator.delegations.is_empty(), - "There exists a delegator without a collator in pre migration!" - ); - assert!( - !delegator.total.is_zero(), - "There exists a delegator without any self stake in pre migration!", - ) - } - log::info!( - "💰 Staking migration pre check: {:?} delegators", - DelegatorStateOld::::iter().count() - ); - - assert!( - CounterForDelegators::::get().is_zero(), - "CounterForDelegators already set." - ); - // store number of delegators before migration to check against in post - // migration - CounterForDelegators::::put(DelegatorState::::iter_keys().count().saturated_into::()); - - Ok(()) - } - - #[cfg(feature = "try-runtime")] - fn post_upgrade() -> Result<(), &'static str> { - // new version must be set. - let onchain = Pallet::::on_chain_storage_version(); - - assert_eq!( - onchain, 8, - "ParachainStaking StorageVersion post-migration is not 8, but {:?} instead.", - onchain - ); - - let old_num_delegators: u32 = CounterForDelegators::::get(); - let new_num_delegators: u32 = DelegatorState::::iter_keys().count().saturated_into::(); - assert_eq!( - old_num_delegators, new_num_delegators, - "Number of delegators changed during migration! Before {:?} vs. now {:?}", - old_num_delegators, new_num_delegators - ); - log::info!( - "💰 Number of delegators: Before {:?} vs. after {:?}", - old_num_delegators, - new_num_delegators - ); - - // sanity check each new entry - for delegator in DelegatorState::::iter_values() { - assert!( - !delegator.amount.is_zero(), - "There exists a delegator without any self stake in post migration!", - ) - } - - log::info!("💰 Post staking payout refactor upgrade checks match up."); - Ok(()) - } -} - -/// Translate all values from the DelegatorState StorageMap from old to new -fn migrate_delegators() -> u64 { - let mut num_translations = 0; - DelegatorState::::translate_values( - |old: DelegatorOld, MaxCollatorsPerDelegator>| { - num_translations += 1; - - // Should never occur because of pre checks but let's be save - if old.total.is_zero() { - log::debug!("Translating delegator with 0 stake amount") - } - if old.delegations.get(0).is_none() { - log::debug!("Translating delegator without collator") - } - - old.delegations.get(0).map(|stake| Delegator { - amount: old.total, - owner: stake.owner.clone(), - }) - }, - ); - - num_translations -} diff --git a/pallets/parachain-staking/src/mock.rs b/pallets/parachain-staking/src/mock.rs index 1a5281dbd..92acfa6e4 100644 --- a/pallets/parachain-staking/src/mock.rs +++ b/pallets/parachain-staking/src/mock.rs @@ -74,16 +74,16 @@ parameter_types! { impl frame_system::Config for Test { type BaseCallFilter = frame_support::traits::Everything; type DbWeight = (); - type Origin = Origin; + type RuntimeOrigin = RuntimeOrigin; type Index = u64; type BlockNumber = BlockNumber; - type Call = Call; + type RuntimeCall = RuntimeCall; type Hash = H256; type Hashing = BlakeTwo256; type AccountId = AccountId; type Lookup = IdentityLookup; type Header = Header; - type Event = Event; + type RuntimeEvent = RuntimeEvent; type BlockHashCount = BlockHashCount; type Version = (); type PalletInfo = PalletInfo; @@ -106,7 +106,7 @@ impl pallet_balances::Config for Test { type MaxReserves = (); type ReserveIdentifier = [u8; 8]; type Balance = Balance; - type Event = Event; + type RuntimeEvent = RuntimeEvent; type DustRemoval = (); type ExistentialDeposit = ExistentialDeposit; type AccountStore = System; @@ -153,7 +153,7 @@ impl OnUnbalanced> for ToBeneficiary { } impl Config for Test { - type Event = Event; + type RuntimeEvent = RuntimeEvent; type Currency = Balances; type CurrencyBalance = ::Balance; type MinBlocksPerRound = MinBlocksPerRound; @@ -187,7 +187,7 @@ parameter_types! { } impl pallet_session::Config for Test { - type Event = Event; + type RuntimeEvent = RuntimeEvent; type ValidatorId = AccountId; type ValidatorIdOf = ConvertInto; type ShouldEndSession = StakePallet; @@ -337,7 +337,7 @@ impl ExtBuilder { if self.blocks_per_round != BLOCKS_PER_ROUND { ext.execute_with(|| { - StakePallet::set_blocks_per_round(Origin::root(), self.blocks_per_round) + StakePallet::set_blocks_per_round(RuntimeOrigin::root(), self.blocks_per_round) .expect("Ran into issues when setting blocks_per_round"); }); } @@ -387,18 +387,18 @@ pub(crate) fn roll_to_claim_rewards(n: BlockNumber, authors: Vec>::on_finalize(System::block_number()); @@ -407,8 +407,8 @@ pub(crate) fn roll_to_claim_rewards(n: BlockNumber, authors: Vec Event { - System::events().pop().expect("Event expected").event +pub(crate) fn last_event() -> pallet::Event { + events().pop().expect("Event expected") } pub(crate) fn events() -> Vec> { @@ -416,7 +416,7 @@ pub(crate) fn events() -> Vec> { .into_iter() .map(|r| r.event) .filter_map(|e| { - if let Event::StakePallet(inner) = e { + if let RuntimeEvent::StakePallet(inner) = e { Some(inner) } else { None diff --git a/pallets/parachain-staking/src/set.rs b/pallets/parachain-staking/src/set.rs index 9995504c1..9ac86d737 100644 --- a/pallets/parachain-staking/src/set.rs +++ b/pallets/parachain-staking/src/set.rs @@ -49,7 +49,7 @@ impl> OrderedSet { let mut v = bv.into_inner(); v.sort_by(|a, b| b.cmp(a)); v.dedup(); - Self::from_sorted_set(v.try_into().expect("No values were added")) + Self::from_sorted_set(v.try_into().map_err(|_| ()).expect("No values were added")) } /// Create a set from a `BoundedVec`. @@ -146,7 +146,7 @@ impl> OrderedSet { } Err(i) => { // Delegator - self.0.try_insert(i, value)?; + self.0.try_insert(i, value).map_err(|_| ())?; Ok(None) } } diff --git a/pallets/parachain-staking/src/tests.rs b/pallets/parachain-staking/src/tests.rs index bae172222..8959cb9ce 100644 --- a/pallets/parachain-staking/src/tests.rs +++ b/pallets/parachain-staking/src/tests.rs @@ -33,14 +33,13 @@ use sp_runtime::{traits::Zero, Perbill, Permill, Perquintill, SaturatedConversio use crate::{ mock::{ almost_equal, events, last_event, roll_to, roll_to_claim_rewards, AccountId, Balance, Balances, BlockNumber, - Event as MetaEvent, ExtBuilder, Origin, Session, StakePallet, System, Test, BLOCKS_PER_ROUND, DECIMALS, - TREASURY_ACC, + ExtBuilder, RuntimeOrigin, Session, StakePallet, System, Test, BLOCKS_PER_ROUND, DECIMALS, TREASURY_ACC, }, set::OrderedSet, types::{ BalanceOf, Candidate, CandidateStatus, DelegationCounter, Delegator, RoundInfo, Stake, StakeOf, TotalStake, }, - CandidatePool, Config, Error, Event, InflationInfo, RewardRate, StakingInfo, STAKING_ID, + CandidatePool, Config, Error, Event, Event as StakeEvent, InflationInfo, RewardRate, StakingInfo, STAKING_ID, }; #[test] @@ -289,50 +288,47 @@ fn join_collator_candidates() { } ); assert_noop!( - StakePallet::join_candidates(Origin::signed(1), 11u128,), + StakePallet::join_candidates(RuntimeOrigin::signed(1), 11u128,), Error::::CandidateExists ); assert_noop!( - StakePallet::join_delegators(Origin::signed(1), 1, 11u128,), + StakePallet::join_delegators(RuntimeOrigin::signed(1), 1, 11u128,), Error::::CandidateExists ); assert_noop!( - StakePallet::join_candidates(Origin::signed(3), 11u128,), + StakePallet::join_candidates(RuntimeOrigin::signed(3), 11u128,), Error::::DelegatorExists ); assert_noop!( - StakePallet::join_candidates(Origin::signed(7), 9u128,), + StakePallet::join_candidates(RuntimeOrigin::signed(7), 9u128,), Error::::ValStakeBelowMin ); assert_noop!( - StakePallet::join_candidates(Origin::signed(8), 10u128,), + StakePallet::join_candidates(RuntimeOrigin::signed(8), 10u128,), BalancesError::::InsufficientBalance ); assert_eq!(CandidatePool::::count(), 2); assert!(System::events().is_empty()); - assert_ok!(StakePallet::set_max_selected_candidates(Origin::root(), 5)); - assert_ok!(StakePallet::join_candidates(Origin::signed(7), 10u128,)); - assert_eq!( - last_event(), - MetaEvent::StakePallet(Event::JoinedCollatorCandidates(7, 10u128)) - ); + assert_ok!(StakePallet::set_max_selected_candidates(RuntimeOrigin::root(), 5)); + assert_ok!(StakePallet::join_candidates(RuntimeOrigin::signed(7), 10u128,)); + assert_eq!(last_event(), StakeEvent::JoinedCollatorCandidates(7, 10u128)); // MaxCollatorCandidateStake assert_noop!( - StakePallet::join_candidates(Origin::signed(10), 161_000_000 * DECIMALS), + StakePallet::join_candidates(RuntimeOrigin::signed(10), 161_000_000 * DECIMALS), Error::::ValStakeAboveMax ); assert_ok!(StakePallet::join_candidates( - Origin::signed(10), + RuntimeOrigin::signed(10), StakePallet::max_candidate_stake() )); assert_eq!(CandidatePool::::count(), 4); assert_eq!( last_event(), - MetaEvent::StakePallet(Event::JoinedCollatorCandidates(10, StakePallet::max_candidate_stake(),)) + StakeEvent::JoinedCollatorCandidates(10, StakePallet::max_candidate_stake(),) ); }); } @@ -364,7 +360,7 @@ fn collator_exit_executes_after_delay() { delegators: 400 } ); - assert_ok!(StakePallet::set_max_selected_candidates(Origin::root(), 5)); + assert_ok!(StakePallet::set_max_selected_candidates(RuntimeOrigin::root(), 5)); assert_eq!( StakePallet::total_collator_stake(), TotalStake { @@ -375,28 +371,25 @@ fn collator_exit_executes_after_delay() { assert_eq!(StakePallet::selected_candidates().into_inner(), vec![1, 2, 7]); roll_to(4, vec![]); assert_noop!( - StakePallet::init_leave_candidates(Origin::signed(3)), + StakePallet::init_leave_candidates(RuntimeOrigin::signed(3)), Error::::CandidateNotFound ); roll_to(11, vec![]); - assert_ok!(StakePallet::init_leave_candidates(Origin::signed(2))); + assert_ok!(StakePallet::init_leave_candidates(RuntimeOrigin::signed(2))); // Still three, candidate didn't leave yet assert_eq!(CandidatePool::::count(), 3); assert_noop!( - StakePallet::join_delegators(Origin::signed(10), 2, 10), + StakePallet::join_delegators(RuntimeOrigin::signed(10), 2, 10), Error::::CannotDelegateIfLeaving ); assert_eq!(StakePallet::selected_candidates().into_inner(), vec![1, 7]); - assert_eq!( - last_event(), - MetaEvent::StakePallet(Event::CollatorScheduledExit(2, 2, 4)) - ); + assert_eq!(last_event(), StakeEvent::CollatorScheduledExit(2, 2, 4)); let info = StakePallet::candidate_pool(&2).unwrap(); assert_eq!(info.status, CandidateStatus::Leaving(4)); roll_to(21, vec![]); - assert_ok!(StakePallet::execute_leave_candidates(Origin::signed(2), 2)); + assert_ok!(StakePallet::execute_leave_candidates(RuntimeOrigin::signed(2), 2)); assert_eq!(CandidatePool::::count(), 2); // we must exclude leaving collators from rewards while @@ -443,7 +436,7 @@ fn collator_selection_chooses_top_candidates() { delegators: 0 } ); - assert_ok!(StakePallet::set_max_selected_candidates(Origin::root(), 5)); + assert_ok!(StakePallet::set_max_selected_candidates(RuntimeOrigin::root(), 5)); assert_eq!( StakePallet::total_collator_stake(), TotalStake { @@ -456,24 +449,18 @@ fn collator_selection_chooses_top_candidates() { assert_eq!(StakePallet::selected_candidates().into_inner(), vec![1, 2, 3, 4, 5]); let expected = vec![Event::MaxSelectedCandidatesSet(2, 5), Event::NewRound(5, 1)]; assert_eq!(events(), expected); - assert_ok!(StakePallet::init_leave_candidates(Origin::signed(6))); + assert_ok!(StakePallet::init_leave_candidates(RuntimeOrigin::signed(6))); assert_eq!(StakePallet::selected_candidates().into_inner(), vec![1, 2, 3, 4, 5],); - assert_eq!( - last_event(), - MetaEvent::StakePallet(Event::CollatorScheduledExit(1, 6, 3)) - ); + assert_eq!(last_event(), StakeEvent::CollatorScheduledExit(1, 6, 3)); roll_to(15, vec![]); - assert_ok!(StakePallet::execute_leave_candidates(Origin::signed(6), 6)); + assert_ok!(StakePallet::execute_leave_candidates(RuntimeOrigin::signed(6), 6)); assert_eq!(StakePallet::selected_candidates().into_inner(), vec![1, 2, 3, 4, 5]); roll_to(21, vec![]); - assert_ok!(StakePallet::join_candidates(Origin::signed(6), 69u128)); + assert_ok!(StakePallet::join_candidates(RuntimeOrigin::signed(6), 69u128)); assert_eq!(StakePallet::selected_candidates().into_inner(), vec![1, 2, 3, 4, 6]); - assert_eq!( - last_event(), - MetaEvent::StakePallet(Event::JoinedCollatorCandidates(6, 69u128)) - ); + assert_eq!(last_event(), StakeEvent::JoinedCollatorCandidates(6, 69u128)); roll_to(27, vec![]); // should choose top MaxSelectedCandidates (5), in order @@ -516,7 +503,7 @@ fn exit_queue_with_events() { .execute_with(|| { assert_eq!(CandidatePool::::count(), 6); assert_eq!(StakePallet::selected_candidates().into_inner(), vec![1, 2]); - assert_ok!(StakePallet::set_max_selected_candidates(Origin::root(), 5)); + assert_ok!(StakePallet::set_max_selected_candidates(RuntimeOrigin::root(), 5)); assert_eq!(StakePallet::selected_candidates().into_inner(), vec![1, 2, 3, 4, 5]); roll_to(8, vec![]); @@ -524,43 +511,34 @@ fn exit_queue_with_events() { assert_eq!(StakePallet::selected_candidates().into_inner(), vec![1, 2, 3, 4, 5]); let mut expected = vec![Event::MaxSelectedCandidatesSet(2, 5), Event::NewRound(5, 1)]; assert_eq!(events(), expected); - assert_ok!(StakePallet::init_leave_candidates(Origin::signed(6))); + assert_ok!(StakePallet::init_leave_candidates(RuntimeOrigin::signed(6))); assert_eq!(StakePallet::selected_candidates().into_inner(), vec![1, 2, 3, 4, 5]); - assert_eq!( - last_event(), - MetaEvent::StakePallet(Event::CollatorScheduledExit(1, 6, 3)) - ); + assert_eq!(last_event(), StakeEvent::CollatorScheduledExit(1, 6, 3)); roll_to(11, vec![]); - assert_ok!(StakePallet::init_leave_candidates(Origin::signed(5))); + assert_ok!(StakePallet::init_leave_candidates(RuntimeOrigin::signed(5))); assert_eq!(StakePallet::selected_candidates().into_inner(), vec![1, 2, 3, 4]); - assert_eq!( - last_event(), - MetaEvent::StakePallet(Event::CollatorScheduledExit(2, 5, 4)) - ); + assert_eq!(last_event(), StakeEvent::CollatorScheduledExit(2, 5, 4)); assert_eq!(CandidatePool::::count(), 6, "No collators have left yet."); roll_to(16, vec![]); - assert_ok!(StakePallet::execute_leave_candidates(Origin::signed(6), 6)); - assert_ok!(StakePallet::init_leave_candidates(Origin::signed(4))); + assert_ok!(StakePallet::execute_leave_candidates(RuntimeOrigin::signed(6), 6)); + assert_ok!(StakePallet::init_leave_candidates(RuntimeOrigin::signed(4))); assert_eq!(StakePallet::selected_candidates().into_inner(), vec![1, 2, 3]); - assert_eq!( - last_event(), - MetaEvent::StakePallet(Event::CollatorScheduledExit(3, 4, 5)) - ); + assert_eq!(last_event(), StakeEvent::CollatorScheduledExit(3, 4, 5)); assert_noop!( - StakePallet::init_leave_candidates(Origin::signed(4)), + StakePallet::init_leave_candidates(RuntimeOrigin::signed(4)), Error::::AlreadyLeaving ); assert_eq!(CandidatePool::::count(), 5, "Collator #5 left."); roll_to(20, vec![]); - assert_ok!(StakePallet::execute_leave_candidates(Origin::signed(5), 5)); + assert_ok!(StakePallet::execute_leave_candidates(RuntimeOrigin::signed(5), 5)); assert_eq!(StakePallet::selected_candidates().into_inner(), vec![1, 2, 3]); assert_eq!(CandidatePool::::count(), 4, "Two out of six collators left."); roll_to(26, vec![]); - assert_ok!(StakePallet::execute_leave_candidates(Origin::signed(4), 4)); + assert_ok!(StakePallet::execute_leave_candidates(RuntimeOrigin::signed(4), 4)); assert_eq!(CandidatePool::::count(), 3, "Three out of six collators left."); roll_to(30, vec![]); @@ -628,7 +606,7 @@ fn execute_leave_candidates_with_delay() { delegators: 500, } ); - assert_ok!(StakePallet::set_max_selected_candidates(Origin::root(), 5)); + assert_ok!(StakePallet::set_max_selected_candidates(RuntimeOrigin::root(), 5)); assert_eq!( StakePallet::total_collator_stake(), TotalStake { @@ -640,14 +618,14 @@ fn execute_leave_candidates_with_delay() { roll_to(5, vec![]); // should choose top MaxSelectedCandidates (5), in order assert_eq!(StakePallet::selected_candidates().into_inner(), vec![2, 1, 10, 9, 8]); - assert_ok!(StakePallet::init_leave_candidates(Origin::signed(10))); - assert_ok!(StakePallet::init_leave_candidates(Origin::signed(9))); - assert_ok!(StakePallet::init_leave_candidates(Origin::signed(1))); - assert_ok!(StakePallet::init_leave_candidates(Origin::signed(7))); - assert_ok!(StakePallet::init_leave_candidates(Origin::signed(6))); - assert_ok!(StakePallet::init_leave_candidates(Origin::signed(5))); - assert_ok!(StakePallet::init_leave_candidates(Origin::signed(8))); - assert_ok!(StakePallet::init_leave_candidates(Origin::signed(2))); + assert_ok!(StakePallet::init_leave_candidates(RuntimeOrigin::signed(10))); + assert_ok!(StakePallet::init_leave_candidates(RuntimeOrigin::signed(9))); + assert_ok!(StakePallet::init_leave_candidates(RuntimeOrigin::signed(1))); + assert_ok!(StakePallet::init_leave_candidates(RuntimeOrigin::signed(7))); + assert_ok!(StakePallet::init_leave_candidates(RuntimeOrigin::signed(6))); + assert_ok!(StakePallet::init_leave_candidates(RuntimeOrigin::signed(5))); + assert_ok!(StakePallet::init_leave_candidates(RuntimeOrigin::signed(8))); + assert_ok!(StakePallet::init_leave_candidates(RuntimeOrigin::signed(2))); assert_eq!(StakePallet::selected_candidates().into_inner(), vec![4, 3]); for owner in vec![1, 2, 5, 6, 7, 8, 9, 10].iter() { assert!(StakePallet::candidate_pool(owner) @@ -743,7 +721,7 @@ fn execute_leave_candidates_with_delay() { .unwrap() .can_exit(1 + ::ExitQueueDelay::get())); assert_noop!( - StakePallet::execute_leave_candidates(Origin::signed(*owner), *owner), + StakePallet::execute_leave_candidates(RuntimeOrigin::signed(*owner), *owner), Error::::CannotLeaveYet ); } @@ -829,7 +807,7 @@ fn execute_leave_candidates_with_delay() { assert_eq!(StakePallet::selected_candidates().into_inner(), vec![4, 3]); for collator in vec![1u64, 2u64, 5u64, 6u64, 7u64].iter() { assert_ok!(StakePallet::execute_leave_candidates( - Origin::signed(*collator), + RuntimeOrigin::signed(*collator), *collator )); assert!(StakePallet::candidate_pool(&collator).is_none()); @@ -848,7 +826,7 @@ fn execute_leave_candidates_with_delay() { roll_to(20, vec![]); for collator in 8u64..=10u64 { assert_ok!(StakePallet::execute_leave_candidates( - Origin::signed(collator), + RuntimeOrigin::signed(collator), collator )); assert!(StakePallet::candidate_pool(&collator).is_none()); @@ -890,7 +868,7 @@ fn multiple_delegations() { .set_blocks_per_round(5) .build() .execute_with(|| { - assert_ok!(StakePallet::set_max_selected_candidates(Origin::root(), 5)); + assert_ok!(StakePallet::set_max_selected_candidates(RuntimeOrigin::root(), 5)); roll_to( 8, vec![Some(1), Some(2), Some(3), Some(4), Some(5), Some(1), Some(2), Some(3)], @@ -900,15 +878,15 @@ fn multiple_delegations() { let mut expected = vec![Event::MaxSelectedCandidatesSet(2, 5), Event::NewRound(5, 1)]; assert_eq!(events(), expected); assert_noop!( - StakePallet::join_delegators(Origin::signed(13), 2, 2), + StakePallet::join_delegators(RuntimeOrigin::signed(13), 2, 2), Error::::DelegationBelowMin, ); - assert_ok!(StakePallet::join_delegators(Origin::signed(13), 2, 10)); - assert_ok!(StakePallet::join_delegators(Origin::signed(14), 4, 10)); - assert_ok!(StakePallet::join_delegators(Origin::signed(15), 3, 10)); + assert_ok!(StakePallet::join_delegators(RuntimeOrigin::signed(13), 2, 10)); + assert_ok!(StakePallet::join_delegators(RuntimeOrigin::signed(14), 4, 10)); + assert_ok!(StakePallet::join_delegators(RuntimeOrigin::signed(15), 3, 10)); assert_eq!(StakePallet::selected_candidates().into_inner(), vec![1, 2, 4, 3, 5]); assert_noop!( - StakePallet::join_delegators(Origin::signed(6), 5, 10), + StakePallet::join_delegators(RuntimeOrigin::signed(6), 5, 10), Error::::AlreadyDelegating, ); @@ -928,24 +906,24 @@ fn multiple_delegations() { assert_eq!(events(), expected); roll_to(21, vec![Some(1), Some(2), Some(3), Some(4), Some(5)]); - assert_ok!(StakePallet::join_delegators(Origin::signed(16), 2, 80)); + assert_ok!(StakePallet::join_delegators(RuntimeOrigin::signed(16), 2, 80)); assert_noop!( - StakePallet::join_delegators(Origin::signed(99), 3, 11), + StakePallet::join_delegators(RuntimeOrigin::signed(99), 3, 11), BalancesError::::InsufficientBalance ); assert_noop!( - StakePallet::join_delegators(Origin::signed(17), 2, 10), + StakePallet::join_delegators(RuntimeOrigin::signed(17), 2, 10), Error::::TooManyDelegators ); // kick 13 by staking 1 more (11 > 10) assert!(StakePallet::unstaking(13).is_empty()); - assert_ok!(StakePallet::join_delegators(Origin::signed(17), 2, 11)); + assert_ok!(StakePallet::join_delegators(RuntimeOrigin::signed(17), 2, 11)); assert!(StakePallet::delegator_state(13).is_none()); assert_eq!(StakePallet::unstaking(13).get(&23), Some(&10u128)); // kick 9 by staking 1 more (11 > 10) assert!(StakePallet::unstaking(9).is_empty()); assert!(StakePallet::rewards(9).is_zero()); - assert_ok!(StakePallet::join_delegators(Origin::signed(11), 2, 11)); + assert_ok!(StakePallet::join_delegators(RuntimeOrigin::signed(11), 2, 11)); // 11 should be initiated with the same rewarded counter as the authored counter // by their collator 2 assert_eq!(StakePallet::blocks_rewarded(2), StakePallet::blocks_authored(11)); @@ -970,12 +948,9 @@ fn multiple_delegations() { ]; expected.append(&mut new2); assert_eq!(events(), expected); - assert_ok!(StakePallet::init_leave_candidates(Origin::signed(2))); + assert_ok!(StakePallet::init_leave_candidates(RuntimeOrigin::signed(2))); assert_eq!(StakePallet::selected_candidates().into_inner(), vec![1, 4, 3, 5]); - assert_eq!( - last_event(), - MetaEvent::StakePallet(Event::CollatorScheduledExit(5, 2, 7)) - ); + assert_eq!(last_event(), StakeEvent::CollatorScheduledExit(5, 2, 7)); roll_to(31, vec![Some(1), Some(2), Some(3), Some(4), Some(5)]); let mut new3 = vec![ @@ -987,12 +962,12 @@ fn multiple_delegations() { assert_eq!(events(), expected); // test join_delegator errors - assert_ok!(StakePallet::join_delegators(Origin::signed(18), 1, 10)); + assert_ok!(StakePallet::join_delegators(RuntimeOrigin::signed(18), 1, 10)); assert_noop!( - StakePallet::join_delegators(Origin::signed(12), 1, 10), + StakePallet::join_delegators(RuntimeOrigin::signed(12), 1, 10), Error::::TooManyDelegators ); - assert_ok!(StakePallet::join_delegators(Origin::signed(12), 1, 11)); + assert_ok!(StakePallet::join_delegators(RuntimeOrigin::signed(12), 1, 11)); // verify that delegations are removed after collator leaves, not before assert!(StakePallet::candidate_pool(2) @@ -1011,7 +986,7 @@ fn multiple_delegations() { assert_eq!(Balances::free_balance(&17), 100); roll_to(35, vec![Some(1), Some(2), Some(3), Some(4)]); - assert_ok!(StakePallet::execute_leave_candidates(Origin::signed(2), 2)); + assert_ok!(StakePallet::execute_leave_candidates(RuntimeOrigin::signed(2), 2)); let mut unbonding_8: BoundedBTreeMap, ::MaxUnstakeRequests> = BoundedBTreeMap::new(); assert_ok!(unbonding_8.try_insert(35u64 + ::StakeDuration::get() as u64, 10)); @@ -1024,10 +999,10 @@ fn multiple_delegations() { roll_to(37, vec![Some(1), Some(2)]); assert!(StakePallet::delegator_state(8).is_none()); assert!(StakePallet::delegator_state(17).is_none()); - assert_ok!(StakePallet::unlock_unstaked(Origin::signed(8), 8)); - assert_ok!(StakePallet::unlock_unstaked(Origin::signed(17), 17)); + assert_ok!(StakePallet::unlock_unstaked(RuntimeOrigin::signed(8), 8)); + assert_ok!(StakePallet::unlock_unstaked(RuntimeOrigin::signed(17), 17)); assert_noop!( - StakePallet::unlock_unstaked(Origin::signed(12), 12), + StakePallet::unlock_unstaked(RuntimeOrigin::signed(12), 12), Error::::UnstakingIsEmpty ); assert_eq!(Balances::usable_balance(&17), 100); @@ -1066,7 +1041,7 @@ fn should_update_total_stake() { delegators: 30, } ); - assert_ok!(StakePallet::candidate_stake_more(Origin::signed(1), 50)); + assert_ok!(StakePallet::candidate_stake_more(RuntimeOrigin::signed(1), 50)); assert_eq!( StakePallet::total_collator_stake(), TotalStake { @@ -1076,7 +1051,7 @@ fn should_update_total_stake() { ); old_stake = StakePallet::total_collator_stake(); - assert_ok!(StakePallet::candidate_stake_less(Origin::signed(1), 50)); + assert_ok!(StakePallet::candidate_stake_less(RuntimeOrigin::signed(1), 50)); assert_eq!( StakePallet::total_collator_stake(), TotalStake { @@ -1086,13 +1061,13 @@ fn should_update_total_stake() { ); old_stake = StakePallet::total_collator_stake(); - assert_ok!(StakePallet::delegator_stake_more(Origin::signed(7), 50)); + assert_ok!(StakePallet::delegator_stake_more(RuntimeOrigin::signed(7), 50)); assert_noop!( - StakePallet::delegator_stake_more(Origin::signed(7), 0), + StakePallet::delegator_stake_more(RuntimeOrigin::signed(7), 0), Error::::ValStakeZero ); assert_noop!( - StakePallet::delegator_stake_less(Origin::signed(7), 0), + StakePallet::delegator_stake_less(RuntimeOrigin::signed(7), 0), Error::::ValStakeZero ); assert_eq!( @@ -1104,7 +1079,7 @@ fn should_update_total_stake() { ); old_stake = StakePallet::total_collator_stake(); - assert_ok!(StakePallet::delegator_stake_less(Origin::signed(7), 50)); + assert_ok!(StakePallet::delegator_stake_less(RuntimeOrigin::signed(7), 50)); assert_eq!( StakePallet::total_collator_stake(), TotalStake { @@ -1114,7 +1089,7 @@ fn should_update_total_stake() { ); old_stake = StakePallet::total_collator_stake(); - assert_ok!(StakePallet::join_delegators(Origin::signed(11), 1, 200)); + assert_ok!(StakePallet::join_delegators(RuntimeOrigin::signed(11), 1, 200)); assert_eq!( StakePallet::total_collator_stake(), TotalStake { @@ -1125,7 +1100,7 @@ fn should_update_total_stake() { old_stake = StakePallet::total_collator_stake(); assert_eq!(StakePallet::delegator_state(11).unwrap().amount, 200); - assert_ok!(StakePallet::leave_delegators(Origin::signed(11))); + assert_ok!(StakePallet::leave_delegators(RuntimeOrigin::signed(11))); assert_eq!( StakePallet::total_collator_stake(), TotalStake { @@ -1136,7 +1111,7 @@ fn should_update_total_stake() { let old_stake = StakePallet::total_collator_stake(); assert_eq!(StakePallet::delegator_state(8).unwrap().amount, 10); - assert_ok!(StakePallet::leave_delegators(Origin::signed(8))); + assert_ok!(StakePallet::leave_delegators(RuntimeOrigin::signed(8))); assert_eq!( StakePallet::total_collator_stake(), TotalStake { @@ -1155,7 +1130,7 @@ fn should_update_total_stake() { StakePallet::candidate_pool(2).unwrap().stake, StakePallet::candidate_pool(3).unwrap().stake ); - assert_ok!(StakePallet::init_leave_candidates(Origin::signed(2))); + assert_ok!(StakePallet::init_leave_candidates(RuntimeOrigin::signed(2))); let old_stake = TotalStake { delegators: old_stake.delegators - 10, // total active collator stake is unchanged because number of selected candidates is 2 and 2's @@ -1168,7 +1143,7 @@ fn should_update_total_stake() { // shouldn't change total stake when 2 leaves roll_to(10, vec![]); assert_eq!(StakePallet::total_collator_stake(), old_stake); - assert_ok!(StakePallet::execute_leave_candidates(Origin::signed(2), 2)); + assert_ok!(StakePallet::execute_leave_candidates(RuntimeOrigin::signed(2), 2)); assert_eq!(StakePallet::total_collator_stake(), old_stake); }) } @@ -1196,66 +1171,66 @@ fn collators_bond() { .execute_with(|| { roll_to(4, vec![]); assert_noop!( - StakePallet::candidate_stake_more(Origin::signed(6), 50), + StakePallet::candidate_stake_more(RuntimeOrigin::signed(6), 50), Error::::CandidateNotFound ); assert_noop!( - StakePallet::candidate_stake_less(Origin::signed(6), 50), + StakePallet::candidate_stake_less(RuntimeOrigin::signed(6), 50), Error::::CandidateNotFound ); - assert_ok!(StakePallet::candidate_stake_more(Origin::signed(1), 50)); + assert_ok!(StakePallet::candidate_stake_more(RuntimeOrigin::signed(1), 50)); assert_noop!( - StakePallet::candidate_stake_more(Origin::signed(1), 40), + StakePallet::candidate_stake_more(RuntimeOrigin::signed(1), 40), BalancesError::::InsufficientBalance ); - assert_ok!(StakePallet::init_leave_candidates(Origin::signed(1))); + assert_ok!(StakePallet::init_leave_candidates(RuntimeOrigin::signed(1))); assert!(StakePallet::candidate_pool(1) .unwrap() .can_exit(::ExitQueueDelay::get())); assert_noop!( - StakePallet::candidate_stake_more(Origin::signed(1), 30), + StakePallet::candidate_stake_more(RuntimeOrigin::signed(1), 30), Error::::CannotStakeIfLeaving ); assert_noop!( - StakePallet::candidate_stake_less(Origin::signed(1), 10), + StakePallet::candidate_stake_less(RuntimeOrigin::signed(1), 10), Error::::CannotStakeIfLeaving ); roll_to(30, vec![]); - assert_ok!(StakePallet::execute_leave_candidates(Origin::signed(1), 1)); + assert_ok!(StakePallet::execute_leave_candidates(RuntimeOrigin::signed(1), 1)); assert_noop!( - StakePallet::candidate_stake_more(Origin::signed(1), 40), + StakePallet::candidate_stake_more(RuntimeOrigin::signed(1), 40), Error::::CandidateNotFound ); - assert_ok!(StakePallet::candidate_stake_more(Origin::signed(2), 80)); - assert_ok!(StakePallet::candidate_stake_less(Origin::signed(2), 90)); - assert_ok!(StakePallet::candidate_stake_less(Origin::signed(3), 10)); + assert_ok!(StakePallet::candidate_stake_more(RuntimeOrigin::signed(2), 80)); + assert_ok!(StakePallet::candidate_stake_less(RuntimeOrigin::signed(2), 90)); + assert_ok!(StakePallet::candidate_stake_less(RuntimeOrigin::signed(3), 10)); assert_noop!( - StakePallet::candidate_stake_less(Origin::signed(2), 11), + StakePallet::candidate_stake_less(RuntimeOrigin::signed(2), 11), Error::::Underflow ); assert_noop!( - StakePallet::candidate_stake_less(Origin::signed(2), 1), + StakePallet::candidate_stake_less(RuntimeOrigin::signed(2), 1), Error::::ValStakeBelowMin ); assert_noop!( - StakePallet::candidate_stake_less(Origin::signed(3), 1), + StakePallet::candidate_stake_less(RuntimeOrigin::signed(3), 1), Error::::ValStakeBelowMin ); assert_noop!( - StakePallet::candidate_stake_less(Origin::signed(4), 11), + StakePallet::candidate_stake_less(RuntimeOrigin::signed(4), 11), Error::::ValStakeBelowMin ); - assert_ok!(StakePallet::candidate_stake_less(Origin::signed(4), 10)); + assert_ok!(StakePallet::candidate_stake_less(RuntimeOrigin::signed(4), 10)); // MaxCollatorCandidateStake assert_ok!(StakePallet::join_candidates( - Origin::signed(11), + RuntimeOrigin::signed(11), StakePallet::max_candidate_stake() )); assert_noop!( - StakePallet::candidate_stake_more(Origin::signed(11), 1u128), + StakePallet::candidate_stake_more(RuntimeOrigin::signed(11), 1u128), Error::::ValStakeAboveMax, ); }); @@ -1283,45 +1258,45 @@ fn delegators_bond() { .execute_with(|| { roll_to(4, vec![]); assert_noop!( - StakePallet::join_delegators(Origin::signed(6), 2, 50), + StakePallet::join_delegators(RuntimeOrigin::signed(6), 2, 50), Error::::AlreadyDelegating ); assert_noop!( - StakePallet::delegator_stake_more(Origin::signed(1), 50), + StakePallet::delegator_stake_more(RuntimeOrigin::signed(1), 50), Error::::DelegatorNotFound ); assert_noop!( - StakePallet::delegator_stake_less(Origin::signed(1), 50), + StakePallet::delegator_stake_less(RuntimeOrigin::signed(1), 50), Error::::DelegatorNotFound ); assert_noop!( - StakePallet::delegator_stake_less(Origin::signed(6), 11), + StakePallet::delegator_stake_less(RuntimeOrigin::signed(6), 11), Error::::Underflow ); assert_noop!( - StakePallet::delegator_stake_less(Origin::signed(6), 8), + StakePallet::delegator_stake_less(RuntimeOrigin::signed(6), 8), Error::::DelegationBelowMin ); - assert_ok!(StakePallet::delegator_stake_more(Origin::signed(6), 10)); + assert_ok!(StakePallet::delegator_stake_more(RuntimeOrigin::signed(6), 10)); assert_noop!( - StakePallet::delegator_stake_more(Origin::signed(6), 81), + StakePallet::delegator_stake_more(RuntimeOrigin::signed(6), 81), BalancesError::::InsufficientBalance ); assert_noop!( - StakePallet::join_delegators(Origin::signed(10), 1, 4), + StakePallet::join_delegators(RuntimeOrigin::signed(10), 1, 4), Error::::DelegationBelowMin ); roll_to(9, vec![]); assert_eq!(Balances::usable_balance(&6), 80); - assert_ok!(StakePallet::init_leave_candidates(Origin::signed(1))); + assert_ok!(StakePallet::init_leave_candidates(RuntimeOrigin::signed(1))); assert!(StakePallet::candidate_pool(1) .unwrap() .can_exit(1 + ::ExitQueueDelay::get())); roll_to(31, vec![]); assert!(StakePallet::is_delegator(&6)); - assert_ok!(StakePallet::execute_leave_candidates(Origin::signed(1), 1)); + assert_ok!(StakePallet::execute_leave_candidates(RuntimeOrigin::signed(1), 1)); assert!(!StakePallet::is_delegator(&6)); assert_eq!(Balances::usable_balance(&6), 80); assert_eq!(Balances::free_balance(&6), 100); @@ -1336,18 +1311,18 @@ fn should_leave_delegators() { .with_delegators(vec![(2, 1, 100)]) .build() .execute_with(|| { - assert_ok!(StakePallet::leave_delegators(Origin::signed(2))); + assert_ok!(StakePallet::leave_delegators(RuntimeOrigin::signed(2))); assert!(StakePallet::delegator_state(2).is_none()); assert!(!StakePallet::candidate_pool(1) .unwrap() .delegators .contains(&StakeOf:: { owner: 2, amount: 100 })); assert_noop!( - StakePallet::leave_delegators(Origin::signed(2)), + StakePallet::leave_delegators(RuntimeOrigin::signed(2)), Error::::DelegatorNotFound ); assert_noop!( - StakePallet::leave_delegators(Origin::signed(1)), + StakePallet::leave_delegators(RuntimeOrigin::signed(1)), Error::::DelegatorNotFound ); }); @@ -1380,15 +1355,12 @@ fn round_transitions() { roll_to(5, vec![]); let init = vec![Event::NewRound(5, 1)]; assert_eq!(events(), init); - assert_ok!(StakePallet::set_blocks_per_round(Origin::root(), 3)); + assert_ok!(StakePallet::set_blocks_per_round(RuntimeOrigin::root(), 3)); assert_noop!( - StakePallet::set_blocks_per_round(Origin::root(), 1), + StakePallet::set_blocks_per_round(RuntimeOrigin::root(), 1), Error::::CannotSetBelowMin ); - assert_eq!( - last_event(), - MetaEvent::StakePallet(Event::BlocksPerRoundSet(1, 5, 5, 3)) - ); + assert_eq!(last_event(), StakeEvent::BlocksPerRoundSet(1, 5, 5, 3)); // inflation config should be untouched after per_block update assert_eq!(inflation, StakePallet::inflation_config()); @@ -1396,7 +1368,7 @@ fn round_transitions() { // last round startet at 5 but we are already at 9, so we expect 9 to be the new // round roll_to(8, vec![]); - assert_eq!(last_event(), MetaEvent::StakePallet(Event::NewRound(8, 2))); + assert_eq!(last_event(), StakeEvent::NewRound(8, 2)) }); // if duration of current round is less than new bpr, round waits until new bpr @@ -1416,24 +1388,18 @@ fn round_transitions() { // chooses top MaxSelectedCandidates (5), in order let init = vec![Event::NewRound(5, 1)]; assert_eq!(events(), init); - assert_ok!(StakePallet::set_blocks_per_round(Origin::root(), 3)); - assert_eq!( - last_event(), - MetaEvent::StakePallet(Event::BlocksPerRoundSet(1, 5, 5, 3)) - ); + assert_ok!(StakePallet::set_blocks_per_round(RuntimeOrigin::root(), 3)); + assert_eq!(last_event(), StakeEvent::BlocksPerRoundSet(1, 5, 5, 3)); // inflation config should be untouched after per_block update assert_eq!(inflation, StakePallet::inflation_config()); // there should not be a new event roll_to(7, vec![]); - assert_eq!( - last_event(), - MetaEvent::StakePallet(Event::BlocksPerRoundSet(1, 5, 5, 3)) - ); + assert_eq!(last_event(), StakeEvent::BlocksPerRoundSet(1, 5, 5, 3)); roll_to(8, vec![]); - assert_eq!(last_event(), MetaEvent::StakePallet(Event::NewRound(8, 2))); + assert_eq!(last_event(), StakeEvent::NewRound(8, 2)) }); // round_immediately_jumps_if_current_duration_exceeds_new_blocks_per_round @@ -1452,7 +1418,7 @@ fn round_transitions() { // chooses top MaxSelectedCandidates (5), in order let init = vec![Event::NewRound(5, 1)]; assert_eq!(events(), init); - assert_ok!(StakePallet::set_blocks_per_round(Origin::root(), 3)); + assert_ok!(StakePallet::set_blocks_per_round(RuntimeOrigin::root(), 3)); // inflation config should be untouched after per_block update assert_eq!(inflation, StakePallet::inflation_config()); @@ -1467,14 +1433,11 @@ fn round_transitions() { Perquintill::from_percent(d_rewards) ) ); - assert_eq!( - last_event(), - MetaEvent::StakePallet(Event::BlocksPerRoundSet(1, 5, 5, 3)) - ); + assert_eq!(last_event(), StakeEvent::BlocksPerRoundSet(1, 5, 5, 3)); roll_to(8, vec![]); // last round startet at 5, so we expect 8 to be the new round - assert_eq!(last_event(), MetaEvent::StakePallet(Event::NewRound(8, 2))); + assert_eq!(last_event(), StakeEvent::NewRound(8, 2)) }); } @@ -1560,7 +1523,7 @@ fn coinbase_rewards_few_blocks_detailed_check() { assert_eq!(Balances::usable_balance(&3), user_3 + d_rewards / 2 * 3); assert_eq!(Balances::usable_balance(&4), user_4 + d_rewards / 4 * 3); assert_eq!(Balances::usable_balance(&5), user_5 + d_rewards / 4); - assert_ok!(StakePallet::leave_delegators(Origin::signed(5))); + assert_ok!(StakePallet::leave_delegators(RuntimeOrigin::signed(5))); // 2 is block author for 5th block roll_to_claim_rewards(6, authors); @@ -1583,13 +1546,13 @@ fn delegator_should_not_receive_rewards_after_revoking() { .with_inflation(10, 15, 40, 15, 5) .build() .execute_with(|| { - assert_ok!(StakePallet::leave_delegators(Origin::signed(2))); + assert_ok!(StakePallet::leave_delegators(RuntimeOrigin::signed(2))); let authors: Vec> = (1u64..100u64).map(|_| Some(1u64)).collect(); assert_eq!(Balances::usable_balance(&1), Balance::zero()); assert_eq!(Balances::usable_balance(&2), Balance::zero()); roll_to_claim_rewards(100, authors); assert!(Balances::usable_balance(&1) > Balance::zero()); - assert_ok!(StakePallet::unlock_unstaked(Origin::signed(2), 2)); + assert_ok!(StakePallet::unlock_unstaked(RuntimeOrigin::signed(2), 2)); assert_eq!(Balances::usable_balance(&2), 10_000_000 * DECIMALS); }); @@ -1604,7 +1567,7 @@ fn delegator_should_not_receive_rewards_after_revoking() { .with_inflation(10, 15, 40, 15, 5) .build() .execute_with(|| { - assert_ok!(StakePallet::leave_delegators(Origin::signed(3))); + assert_ok!(StakePallet::leave_delegators(RuntimeOrigin::signed(3))); let authors: Vec> = (1u64..100u64).map(|_| Some(1u64)).collect(); assert_eq!(Balances::usable_balance(&1), Balance::zero()); assert_eq!(Balances::usable_balance(&2), Balance::zero()); @@ -1612,7 +1575,7 @@ fn delegator_should_not_receive_rewards_after_revoking() { roll_to_claim_rewards(100, authors); assert!(Balances::usable_balance(&1) > Balance::zero()); assert!(Balances::usable_balance(&2) > Balance::zero()); - assert_ok!(StakePallet::unlock_unstaked(Origin::signed(3), 3)); + assert_ok!(StakePallet::unlock_unstaked(RuntimeOrigin::signed(3), 3)); assert_eq!(Balances::usable_balance(&3), 10_000_000 * DECIMALS); }); } @@ -1740,7 +1703,7 @@ fn should_not_reward_delegators_below_min_stake() { amount: delegator_stake_below_min, }; assert_eq!(state.delegators.try_insert(impossible_bond), Ok(true)); - >::insert(&1u64, state); + >::insert(1u64, state); let authors: Vec> = vec![Some(1u64), Some(1u64), Some(1u64), Some(1u64)]; assert_eq!(Balances::usable_balance(&1), Balance::zero()); @@ -1825,7 +1788,7 @@ fn reach_max_top_candidates() { ::MaxTopCandidates::get() ); // should not be possible to join candidate pool, even with more stake - assert_ok!(StakePallet::join_candidates(Origin::signed(11), 11)); + assert_ok!(StakePallet::join_candidates(RuntimeOrigin::signed(11), 11)); assert_eq!( StakePallet::top_candidates() .into_iter() @@ -1834,7 +1797,7 @@ fn reach_max_top_candidates() { vec![2, 11, 1, 3, 4, 5, 6, 7, 8, 9] ); // last come, last one in the list - assert_ok!(StakePallet::join_candidates(Origin::signed(12), 11)); + assert_ok!(StakePallet::join_candidates(RuntimeOrigin::signed(12), 11)); assert_eq!( StakePallet::top_candidates() .into_iter() @@ -1842,13 +1805,13 @@ fn reach_max_top_candidates() { .collect::>(), vec![2, 11, 12, 1, 3, 4, 5, 6, 7, 8] ); - assert_ok!(StakePallet::candidate_stake_more(Origin::signed(1), 1)); - assert_ok!(StakePallet::candidate_stake_more(Origin::signed(3), 1)); - assert_ok!(StakePallet::candidate_stake_more(Origin::signed(4), 1)); - assert_ok!(StakePallet::candidate_stake_more(Origin::signed(5), 1)); - assert_ok!(StakePallet::candidate_stake_more(Origin::signed(6), 1)); - assert_ok!(StakePallet::candidate_stake_more(Origin::signed(7), 1)); - assert_ok!(StakePallet::candidate_stake_more(Origin::signed(8), 1)); + assert_ok!(StakePallet::candidate_stake_more(RuntimeOrigin::signed(1), 1)); + assert_ok!(StakePallet::candidate_stake_more(RuntimeOrigin::signed(3), 1)); + assert_ok!(StakePallet::candidate_stake_more(RuntimeOrigin::signed(4), 1)); + assert_ok!(StakePallet::candidate_stake_more(RuntimeOrigin::signed(5), 1)); + assert_ok!(StakePallet::candidate_stake_more(RuntimeOrigin::signed(6), 1)); + assert_ok!(StakePallet::candidate_stake_more(RuntimeOrigin::signed(7), 1)); + assert_ok!(StakePallet::candidate_stake_more(RuntimeOrigin::signed(8), 1)); assert_eq!( StakePallet::top_candidates() .into_iter() @@ -1999,15 +1962,21 @@ fn set_max_selected_candidates_safe_guards() { .build() .execute_with(|| { assert_noop!( - StakePallet::set_max_selected_candidates(Origin::root(), ::MinCollators::get() - 1), + StakePallet::set_max_selected_candidates( + RuntimeOrigin::root(), + ::MinCollators::get() - 1 + ), Error::::CannotSetBelowMin ); assert_noop!( - StakePallet::set_max_selected_candidates(Origin::root(), ::MaxTopCandidates::get() + 1), + StakePallet::set_max_selected_candidates( + RuntimeOrigin::root(), + ::MaxTopCandidates::get() + 1 + ), Error::::CannotSetAboveMax ); assert_ok!(StakePallet::set_max_selected_candidates( - Origin::root(), + RuntimeOrigin::root(), ::MinCollators::get() + 1 )); }); @@ -2048,7 +2017,7 @@ fn set_max_selected_candidates_total_stake() { } ); - assert_ok!(StakePallet::set_max_selected_candidates(Origin::root(), 3)); + assert_ok!(StakePallet::set_max_selected_candidates(RuntimeOrigin::root(), 3)); assert_eq!( StakePallet::total_collator_stake(), TotalStake { @@ -2057,7 +2026,7 @@ fn set_max_selected_candidates_total_stake() { } ); - assert_ok!(StakePallet::set_max_selected_candidates(Origin::root(), 5)); + assert_ok!(StakePallet::set_max_selected_candidates(RuntimeOrigin::root(), 5)); assert_eq!( StakePallet::total_collator_stake(), TotalStake { @@ -2066,7 +2035,7 @@ fn set_max_selected_candidates_total_stake() { } ); - assert_ok!(StakePallet::set_max_selected_candidates(Origin::root(), 10)); + assert_ok!(StakePallet::set_max_selected_candidates(RuntimeOrigin::root(), 10)); assert_eq!( StakePallet::total_collator_stake(), TotalStake { @@ -2075,7 +2044,7 @@ fn set_max_selected_candidates_total_stake() { } ); - assert_ok!(StakePallet::set_max_selected_candidates(Origin::root(), 2)); + assert_ok!(StakePallet::set_max_selected_candidates(RuntimeOrigin::root(), 2)); assert_eq!( StakePallet::total_collator_stake(), TotalStake { @@ -2114,28 +2083,28 @@ fn update_inflation() { assert!(!invalid_inflation.is_valid(::BLOCKS_PER_YEAR)); assert_ok!(StakePallet::set_inflation( - Origin::root(), + RuntimeOrigin::root(), Perquintill::from_percent(0), Perquintill::from_percent(100), Perquintill::from_percent(100), Perquintill::from_percent(100), )); assert_ok!(StakePallet::set_inflation( - Origin::root(), + RuntimeOrigin::root(), Perquintill::from_percent(100), Perquintill::from_percent(0), Perquintill::from_percent(100), Perquintill::from_percent(100), )); assert_ok!(StakePallet::set_inflation( - Origin::root(), + RuntimeOrigin::root(), Perquintill::from_percent(100), Perquintill::from_percent(100), Perquintill::from_percent(0), Perquintill::from_percent(100), )); assert_ok!(StakePallet::set_inflation( - Origin::root(), + RuntimeOrigin::root(), Perquintill::from_percent(100), Perquintill::from_percent(100), Perquintill::from_percent(100), @@ -2157,7 +2126,7 @@ fn unlock_unstaked() { .with_delegators(vec![(2, 1, 100)]) .build() .execute_with(|| { - assert_ok!(StakePallet::leave_delegators(Origin::signed(2))); + assert_ok!(StakePallet::leave_delegators(RuntimeOrigin::signed(2))); let mut unstaking: BoundedBTreeMap, ::MaxUnstakeRequests> = BoundedBTreeMap::new(); assert_ok!(unstaking.try_insert(3, 100)); @@ -2169,20 +2138,20 @@ fn unlock_unstaked() { assert_eq!(StakePallet::unstaking(2), unstaking); assert_eq!(Balances::locks(2), vec![lock.clone()]); // shouldn't be able to unlock anything - assert_ok!(StakePallet::unlock_unstaked(Origin::signed(2), 2)); + assert_ok!(StakePallet::unlock_unstaked(RuntimeOrigin::signed(2), 2)); assert_eq!(StakePallet::unstaking(2), unstaking); assert_eq!(Balances::locks(2), vec![lock.clone()]); // join delegators and revoke again --> consume unstaking at block 3 roll_to(2, vec![]); - assert_ok!(StakePallet::join_delegators(Origin::signed(2), 1, 100)); - assert_ok!(StakePallet::leave_delegators(Origin::signed(2))); + assert_ok!(StakePallet::join_delegators(RuntimeOrigin::signed(2), 1, 100)); + assert_ok!(StakePallet::leave_delegators(RuntimeOrigin::signed(2))); unstaking.remove(&3); assert_ok!(unstaking.try_insert(4, 100)); assert_eq!(StakePallet::unstaking(2), unstaking); assert_eq!(Balances::locks(2), vec![lock.clone()]); // shouldn't be able to unlock anything - assert_ok!(StakePallet::unlock_unstaked(Origin::signed(2), 2)); + assert_ok!(StakePallet::unlock_unstaked(RuntimeOrigin::signed(2), 2)); assert_eq!(StakePallet::unstaking(2), unstaking); assert_eq!(Balances::locks(2), vec![lock.clone()]); @@ -2191,7 +2160,7 @@ fn unlock_unstaked() { assert_eq!(StakePallet::unstaking(2), unstaking); assert_eq!(Balances::locks(2), vec![lock.clone()]); // shouldn't be able to unlock anything - assert_ok!(StakePallet::unlock_unstaked(Origin::signed(2), 2)); + assert_ok!(StakePallet::unlock_unstaked(RuntimeOrigin::signed(2), 2)); assert_eq!(StakePallet::unstaking(2), unstaking); assert_eq!(Balances::locks(2), vec![lock.clone()]); @@ -2199,7 +2168,7 @@ fn unlock_unstaked() { unstaking.remove(&4); assert_eq!(Balances::locks(2), vec![lock]); // shouldn't be able to unlock anything - assert_ok!(StakePallet::unlock_unstaked(Origin::signed(2), 2)); + assert_ok!(StakePallet::unlock_unstaked(RuntimeOrigin::signed(2), 2)); assert_eq!(StakePallet::unstaking(2), unstaking); assert_eq!(Balances::locks(2), vec![]); }); @@ -2215,7 +2184,7 @@ fn unlock_unstaked() { .with_delegators(vec![(2, 1, 10)]) .build() .execute_with(|| { - assert_ok!(StakePallet::leave_delegators(Origin::signed(2))); + assert_ok!(StakePallet::leave_delegators(RuntimeOrigin::signed(2))); let mut unstaking: BoundedBTreeMap, ::MaxUnstakeRequests> = BoundedBTreeMap::new(); assert_ok!(unstaking.try_insert(3, 10)); @@ -2227,21 +2196,21 @@ fn unlock_unstaked() { assert_eq!(StakePallet::unstaking(2), unstaking); assert_eq!(Balances::locks(2), vec![lock.clone()]); // shouldn't be able to unlock anything - assert_ok!(StakePallet::unlock_unstaked(Origin::signed(2), 2)); + assert_ok!(StakePallet::unlock_unstaked(RuntimeOrigin::signed(2), 2)); assert_eq!(StakePallet::unstaking(2), unstaking); assert_eq!(Balances::locks(2), vec![lock.clone()]); // join delegators and revoke again roll_to(2, vec![]); - assert_ok!(StakePallet::join_delegators(Origin::signed(2), 1, 100)); - assert_ok!(StakePallet::leave_delegators(Origin::signed(2))); + assert_ok!(StakePallet::join_delegators(RuntimeOrigin::signed(2), 1, 100)); + assert_ok!(StakePallet::leave_delegators(RuntimeOrigin::signed(2))); unstaking.remove(&3); assert_ok!(unstaking.try_insert(4, 100)); lock.amount = 100; assert_eq!(StakePallet::unstaking(2), unstaking); assert_eq!(Balances::locks(2), vec![lock.clone()]); // shouldn't be able to unlock anything - assert_ok!(StakePallet::unlock_unstaked(Origin::signed(2), 2)); + assert_ok!(StakePallet::unlock_unstaked(RuntimeOrigin::signed(2), 2)); assert_eq!(StakePallet::unstaking(2), unstaking); assert_eq!(Balances::locks(2), vec![lock.clone()]); @@ -2249,7 +2218,7 @@ fn unlock_unstaked() { assert_eq!(StakePallet::unstaking(2), unstaking); assert_eq!(Balances::locks(2), vec![lock.clone()]); // shouldn't be able to unlock anything - assert_ok!(StakePallet::unlock_unstaked(Origin::signed(2), 2)); + assert_ok!(StakePallet::unlock_unstaked(RuntimeOrigin::signed(2), 2)); assert_eq!(StakePallet::unstaking(2), unstaking); assert_eq!(Balances::locks(2), vec![lock.clone()]); @@ -2257,7 +2226,7 @@ fn unlock_unstaked() { roll_to(4, vec![]); unstaking.remove(&4); assert_eq!(Balances::locks(2), vec![lock]); - assert_ok!(StakePallet::unlock_unstaked(Origin::signed(2), 2)); + assert_ok!(StakePallet::unlock_unstaked(RuntimeOrigin::signed(2), 2)); assert_eq!(StakePallet::unstaking(2), unstaking); assert_eq!(Balances::locks(2), vec![]); }); @@ -2275,7 +2244,7 @@ fn unlock_unstaked() { .with_delegators(vec![(2, 1, 100)]) .build() .execute_with(|| { - assert_ok!(StakePallet::leave_delegators(Origin::signed(2))); + assert_ok!(StakePallet::leave_delegators(RuntimeOrigin::signed(2))); let mut unstaking: BoundedBTreeMap, ::MaxUnstakeRequests> = BoundedBTreeMap::new(); assert_ok!(unstaking.try_insert(3, 100)); @@ -2287,20 +2256,20 @@ fn unlock_unstaked() { assert_eq!(StakePallet::unstaking(2), unstaking); assert_eq!(Balances::locks(2), vec![lock.clone()]); // shouldn't be able to unlock anything - assert_ok!(StakePallet::unlock_unstaked(Origin::signed(2), 2)); + assert_ok!(StakePallet::unlock_unstaked(RuntimeOrigin::signed(2), 2)); assert_eq!(StakePallet::unstaking(2), unstaking); assert_eq!(Balances::locks(2), vec![lock.clone()]); // join delegators and revoke again roll_to(2, vec![]); - assert_ok!(StakePallet::join_delegators(Origin::signed(2), 1, 10)); - assert_ok!(StakePallet::leave_delegators(Origin::signed(2))); + assert_ok!(StakePallet::join_delegators(RuntimeOrigin::signed(2), 1, 10)); + assert_ok!(StakePallet::leave_delegators(RuntimeOrigin::signed(2))); assert_ok!(unstaking.try_insert(3, 90)); assert_ok!(unstaking.try_insert(4, 10)); assert_eq!(StakePallet::unstaking(2), unstaking); assert_eq!(Balances::locks(2), vec![lock.clone()]); // shouldn't be able to unlock anything - assert_ok!(StakePallet::unlock_unstaked(Origin::signed(2), 2)); + assert_ok!(StakePallet::unlock_unstaked(RuntimeOrigin::signed(2), 2)); assert_eq!(StakePallet::unstaking(2), unstaking); assert_eq!(Balances::locks(2), vec![lock.clone()]); @@ -2309,7 +2278,7 @@ fn unlock_unstaked() { assert_eq!(StakePallet::unstaking(2), unstaking); assert_eq!(Balances::locks(2), vec![lock.clone()]); // should be able to unlock 90 of 100 from unstaking - assert_ok!(StakePallet::unlock_unstaked(Origin::signed(2), 2)); + assert_ok!(StakePallet::unlock_unstaked(RuntimeOrigin::signed(2), 2)); unstaking.remove(&3); lock.amount = 10; assert_eq!(StakePallet::unstaking(2), unstaking); @@ -2318,7 +2287,7 @@ fn unlock_unstaked() { roll_to(4, vec![]); assert_eq!(Balances::locks(2), vec![lock]); // should be able to unlock 10 of remaining 10 - assert_ok!(StakePallet::unlock_unstaked(Origin::signed(2), 2)); + assert_ok!(StakePallet::unlock_unstaked(RuntimeOrigin::signed(2), 2)); unstaking.remove(&4); assert_eq!(StakePallet::unstaking(2), unstaking); assert_eq!(Balances::locks(2), vec![]); @@ -2340,18 +2309,18 @@ fn unlock_unstaked() { // should be able to decrease more often than MaxUnstakeRequests because it's // the same block and thus unstaking is increased at block 3 instead of having // multiple entries for the same block - assert_ok!(StakePallet::candidate_stake_less(Origin::signed(1), 10)); - assert_ok!(StakePallet::candidate_stake_less(Origin::signed(1), 10)); - assert_ok!(StakePallet::candidate_stake_less(Origin::signed(1), 10)); - assert_ok!(StakePallet::candidate_stake_less(Origin::signed(1), 10)); - assert_ok!(StakePallet::candidate_stake_less(Origin::signed(1), 10)); - assert_ok!(StakePallet::candidate_stake_less(Origin::signed(1), 10),); - assert_ok!(StakePallet::delegator_stake_less(Origin::signed(2), 10)); - assert_ok!(StakePallet::delegator_stake_less(Origin::signed(2), 10)); - assert_ok!(StakePallet::delegator_stake_less(Origin::signed(2), 10)); - assert_ok!(StakePallet::delegator_stake_less(Origin::signed(2), 10)); - assert_ok!(StakePallet::delegator_stake_less(Origin::signed(2), 10)); - assert_ok!(StakePallet::delegator_stake_less(Origin::signed(2), 10),); + assert_ok!(StakePallet::candidate_stake_less(RuntimeOrigin::signed(1), 10)); + assert_ok!(StakePallet::candidate_stake_less(RuntimeOrigin::signed(1), 10)); + assert_ok!(StakePallet::candidate_stake_less(RuntimeOrigin::signed(1), 10)); + assert_ok!(StakePallet::candidate_stake_less(RuntimeOrigin::signed(1), 10)); + assert_ok!(StakePallet::candidate_stake_less(RuntimeOrigin::signed(1), 10)); + assert_ok!(StakePallet::candidate_stake_less(RuntimeOrigin::signed(1), 10),); + assert_ok!(StakePallet::delegator_stake_less(RuntimeOrigin::signed(2), 10)); + assert_ok!(StakePallet::delegator_stake_less(RuntimeOrigin::signed(2), 10)); + assert_ok!(StakePallet::delegator_stake_less(RuntimeOrigin::signed(2), 10)); + assert_ok!(StakePallet::delegator_stake_less(RuntimeOrigin::signed(2), 10)); + assert_ok!(StakePallet::delegator_stake_less(RuntimeOrigin::signed(2), 10)); + assert_ok!(StakePallet::delegator_stake_less(RuntimeOrigin::signed(2), 10),); let mut unstaking: BoundedBTreeMap, ::MaxUnstakeRequests> = BoundedBTreeMap::new(); assert_ok!(unstaking.try_insert(3, 60)); @@ -2365,32 +2334,32 @@ fn unlock_unstaked() { assert_eq!(StakePallet::unstaking(1), unstaking); assert_eq!(StakePallet::unstaking(2), unstaking); // shouldn't be able to unlock anything - assert_ok!(StakePallet::unlock_unstaked(Origin::signed(1), 1)); - assert_ok!(StakePallet::unlock_unstaked(Origin::signed(2), 2)); + assert_ok!(StakePallet::unlock_unstaked(RuntimeOrigin::signed(1), 1)); + assert_ok!(StakePallet::unlock_unstaked(RuntimeOrigin::signed(2), 2)); assert_eq!(StakePallet::unstaking(1), unstaking); assert_eq!(StakePallet::unstaking(2), unstaking); assert_eq!(Balances::locks(1), vec![lock.clone()]); assert_eq!(Balances::locks(2), vec![lock.clone()]); roll_to(2, vec![]); - assert_ok!(StakePallet::candidate_stake_less(Origin::signed(1), 10),); - assert_ok!(StakePallet::delegator_stake_less(Origin::signed(2), 10),); + assert_ok!(StakePallet::candidate_stake_less(RuntimeOrigin::signed(1), 10),); + assert_ok!(StakePallet::delegator_stake_less(RuntimeOrigin::signed(2), 10),); assert_ok!(unstaking.try_insert(4, 10)); assert_eq!(Balances::locks(1), vec![lock.clone()]); assert_eq!(Balances::locks(2), vec![lock.clone()]); assert_eq!(StakePallet::unstaking(1), unstaking); assert_eq!(StakePallet::unstaking(2), unstaking); // shouldn't be able to unlock anything - assert_ok!(StakePallet::unlock_unstaked(Origin::signed(1), 1)); - assert_ok!(StakePallet::unlock_unstaked(Origin::signed(2), 2)); + assert_ok!(StakePallet::unlock_unstaked(RuntimeOrigin::signed(1), 1)); + assert_ok!(StakePallet::unlock_unstaked(RuntimeOrigin::signed(2), 2)); assert_eq!(StakePallet::unstaking(1), unstaking); assert_eq!(StakePallet::unstaking(2), unstaking); assert_eq!(Balances::locks(1), vec![lock.clone()]); assert_eq!(Balances::locks(2), vec![lock.clone()]); roll_to(3, vec![]); - assert_ok!(StakePallet::candidate_stake_less(Origin::signed(1), 10),); - assert_ok!(StakePallet::delegator_stake_less(Origin::signed(2), 10),); + assert_ok!(StakePallet::candidate_stake_less(RuntimeOrigin::signed(1), 10),); + assert_ok!(StakePallet::delegator_stake_less(RuntimeOrigin::signed(2), 10),); assert_ok!(unstaking.try_insert(5, 10)); assert_ok!(unstaking.try_insert(5, 10)); assert_eq!(Balances::locks(1), vec![lock.clone()]); @@ -2398,8 +2367,8 @@ fn unlock_unstaked() { assert_eq!(StakePallet::unstaking(1), unstaking); assert_eq!(StakePallet::unstaking(2), unstaking); // should unlock 60 - assert_ok!(StakePallet::unlock_unstaked(Origin::signed(1), 1)); - assert_ok!(StakePallet::unlock_unstaked(Origin::signed(2), 2)); + assert_ok!(StakePallet::unlock_unstaked(RuntimeOrigin::signed(1), 1)); + assert_ok!(StakePallet::unlock_unstaked(RuntimeOrigin::signed(2), 2)); lock.amount = 140; unstaking.remove(&3); assert_eq!(StakePallet::unstaking(1), unstaking); @@ -2409,14 +2378,14 @@ fn unlock_unstaked() { // reach MaxUnstakeRequests roll_to(4, vec![]); - assert_ok!(StakePallet::candidate_stake_less(Origin::signed(1), 10)); - assert_ok!(StakePallet::delegator_stake_less(Origin::signed(2), 10)); + assert_ok!(StakePallet::candidate_stake_less(RuntimeOrigin::signed(1), 10)); + assert_ok!(StakePallet::delegator_stake_less(RuntimeOrigin::signed(2), 10)); roll_to(5, vec![]); - assert_ok!(StakePallet::candidate_stake_less(Origin::signed(1), 10)); - assert_ok!(StakePallet::delegator_stake_less(Origin::signed(2), 10)); + assert_ok!(StakePallet::candidate_stake_less(RuntimeOrigin::signed(1), 10)); + assert_ok!(StakePallet::delegator_stake_less(RuntimeOrigin::signed(2), 10)); roll_to(6, vec![]); - assert_ok!(StakePallet::candidate_stake_less(Origin::signed(1), 10)); - assert_ok!(StakePallet::delegator_stake_less(Origin::signed(2), 10)); + assert_ok!(StakePallet::candidate_stake_less(RuntimeOrigin::signed(1), 10)); + assert_ok!(StakePallet::delegator_stake_less(RuntimeOrigin::signed(2), 10)); assert_ok!(unstaking.try_insert(6, 10)); assert_ok!(unstaking.try_insert(7, 10)); assert_ok!(unstaking.try_insert(8, 10)); @@ -2427,15 +2396,15 @@ fn unlock_unstaked() { roll_to(7, vec![]); assert_noop!( - StakePallet::candidate_stake_less(Origin::signed(1), 10), + StakePallet::candidate_stake_less(RuntimeOrigin::signed(1), 10), Error::::NoMoreUnstaking ); assert_noop!( - StakePallet::delegator_stake_less(Origin::signed(2), 10), + StakePallet::delegator_stake_less(RuntimeOrigin::signed(2), 10), Error::::NoMoreUnstaking ); - assert_ok!(StakePallet::unlock_unstaked(Origin::signed(1), 1)); - assert_ok!(StakePallet::unlock_unstaked(Origin::signed(2), 2)); + assert_ok!(StakePallet::unlock_unstaked(RuntimeOrigin::signed(1), 1)); + assert_ok!(StakePallet::unlock_unstaked(RuntimeOrigin::signed(2), 2)); unstaking.remove(&4); unstaking.remove(&5); unstaking.remove(&6); @@ -2445,11 +2414,11 @@ fn unlock_unstaked() { assert_eq!(StakePallet::unstaking(2), unstaking); assert_eq!(Balances::locks(1), vec![lock.clone()]); assert_eq!(Balances::locks(2), vec![lock.clone()]); - assert_ok!(StakePallet::candidate_stake_less(Origin::signed(1), 40)); - assert_ok!(StakePallet::delegator_stake_less(Origin::signed(2), 40)); + assert_ok!(StakePallet::candidate_stake_less(RuntimeOrigin::signed(1), 40)); + assert_ok!(StakePallet::delegator_stake_less(RuntimeOrigin::signed(2), 40)); assert_ok!(unstaking.try_insert(9, 40)); - assert_ok!(StakePallet::candidate_stake_more(Origin::signed(1), 30)); - assert_ok!(StakePallet::delegator_stake_more(Origin::signed(2), 30)); + assert_ok!(StakePallet::candidate_stake_more(RuntimeOrigin::signed(1), 30)); + assert_ok!(StakePallet::delegator_stake_more(RuntimeOrigin::signed(2), 30)); unstaking.remove(&8); assert_ok!(unstaking.try_insert(9, 20)); assert_eq!(StakePallet::unstaking(1), unstaking); @@ -2472,28 +2441,28 @@ fn kick_candidate_with_full_unstaking() { // Fill unstake requests for block in 1u64..1u64.saturating_add(max_unstake_reqs as u64) { System::set_block_number(block); - assert_ok!(StakePallet::candidate_stake_less(Origin::signed(3), 1)); + assert_ok!(StakePallet::candidate_stake_less(RuntimeOrigin::signed(3), 1)); } assert_eq!(StakePallet::unstaking(3).into_inner().len(), max_unstake_reqs); // Additional unstake should fail System::set_block_number(100); assert_noop!( - StakePallet::candidate_stake_less(Origin::signed(3), 1), + StakePallet::candidate_stake_less(RuntimeOrigin::signed(3), 1), Error::::NoMoreUnstaking ); // Fill last unstake request by removing candidate and unstaking all stake - assert_ok!(StakePallet::force_remove_candidate(Origin::root(), 3)); + assert_ok!(StakePallet::force_remove_candidate(RuntimeOrigin::root(), 3)); // Cannot join with full unstaking assert_eq!(StakePallet::unstaking(3).into_inner().len(), max_unstake_reqs + 1); assert_noop!( - StakePallet::join_candidates(Origin::signed(3), 100), + StakePallet::join_candidates(RuntimeOrigin::signed(3), 100), Error::::CannotJoinBeforeUnlocking ); - assert_ok!(StakePallet::unlock_unstaked(Origin::signed(3), 3)); - assert_ok!(StakePallet::join_candidates(Origin::signed(3), 100)); + assert_ok!(StakePallet::unlock_unstaked(RuntimeOrigin::signed(3), 3)); + assert_ok!(StakePallet::join_candidates(RuntimeOrigin::signed(3), 100)); }); } #[test] @@ -2510,29 +2479,29 @@ fn kick_delegator_with_full_unstaking() { // Fill unstake requests for block in 1u64..1u64.saturating_add(max_unstake_reqs as u64) { System::set_block_number(block); - assert_ok!(StakePallet::delegator_stake_less(Origin::signed(5), 1)); + assert_ok!(StakePallet::delegator_stake_less(RuntimeOrigin::signed(5), 1)); } assert_eq!(StakePallet::unstaking(5).into_inner().len(), max_unstake_reqs); // Additional unstake should fail System::set_block_number(100); assert_noop!( - StakePallet::delegator_stake_less(Origin::signed(5), 1), + StakePallet::delegator_stake_less(RuntimeOrigin::signed(5), 1), Error::::NoMoreUnstaking ); // Fill last unstake request by replacing delegator - assert_ok!(StakePallet::join_delegators(Origin::signed(6), 1, 200)); + assert_ok!(StakePallet::join_delegators(RuntimeOrigin::signed(6), 1, 200)); assert_eq!(StakePallet::unstaking(5).into_inner().len(), max_unstake_reqs + 1); assert!(!StakePallet::is_delegator(&5)); // Cannot join with full unstaking assert_noop!( - StakePallet::join_delegators(Origin::signed(5), 1, 100), + StakePallet::join_delegators(RuntimeOrigin::signed(5), 1, 100), Error::::CannotJoinBeforeUnlocking ); - assert_ok!(StakePallet::unlock_unstaked(Origin::signed(5), 5)); - assert_ok!(StakePallet::join_delegators(Origin::signed(5), 1, 220)); + assert_ok!(StakePallet::unlock_unstaked(RuntimeOrigin::signed(5), 5)); + assert_ok!(StakePallet::join_delegators(RuntimeOrigin::signed(5), 1, 220)); }); } @@ -2553,16 +2522,16 @@ fn candidate_leaves() { vec![1, 2] ); assert_noop!( - StakePallet::init_leave_candidates(Origin::signed(11)), + StakePallet::init_leave_candidates(RuntimeOrigin::signed(11)), Error::::CandidateNotFound ); assert_noop!( - StakePallet::init_leave_candidates(Origin::signed(1)), + StakePallet::init_leave_candidates(RuntimeOrigin::signed(1)), Error::::TooFewCollatorCandidates ); // add five more collator to max fill TopCandidates for candidate in 3u64..11u64 { - assert_ok!(StakePallet::join_candidates(Origin::signed(candidate), 100)); + assert_ok!(StakePallet::join_candidates(RuntimeOrigin::signed(candidate), 100)); } assert_eq!( StakePallet::top_candidates() @@ -2572,7 +2541,7 @@ fn candidate_leaves() { (1u64..11u64).collect::>() ); assert_eq!(CandidatePool::::count(), 10); - assert_ok!(StakePallet::init_leave_candidates(Origin::signed(1))); + assert_ok!(StakePallet::init_leave_candidates(RuntimeOrigin::signed(1))); assert_eq!( StakePallet::top_candidates() .into_iter() @@ -2581,27 +2550,27 @@ fn candidate_leaves() { (2u64..11u64).collect::>() ); assert_noop!( - StakePallet::join_delegators(Origin::signed(15), 1, 10), + StakePallet::join_delegators(RuntimeOrigin::signed(15), 1, 10), Error::::CannotDelegateIfLeaving ); assert_noop!( - StakePallet::delegator_stake_more(Origin::signed(12), 1), + StakePallet::delegator_stake_more(RuntimeOrigin::signed(12), 1), Error::::CannotDelegateIfLeaving ); assert_noop!( - StakePallet::delegator_stake_less(Origin::signed(12), 1), + StakePallet::delegator_stake_less(RuntimeOrigin::signed(12), 1), Error::::CannotDelegateIfLeaving ); assert_noop!( - StakePallet::candidate_stake_less(Origin::signed(1), 1), + StakePallet::candidate_stake_less(RuntimeOrigin::signed(1), 1), Error::::CannotStakeIfLeaving ); assert_noop!( - StakePallet::candidate_stake_more(Origin::signed(1), 1), + StakePallet::candidate_stake_more(RuntimeOrigin::signed(1), 1), Error::::CannotStakeIfLeaving ); assert_noop!( - StakePallet::init_leave_candidates(Origin::signed(1)), + StakePallet::init_leave_candidates(RuntimeOrigin::signed(1)), Error::::AlreadyLeaving ); assert_eq!( @@ -2615,16 +2584,16 @@ fn candidate_leaves() { // next rounds starts, cannot leave yet roll_to(5, vec![]); assert_noop!( - StakePallet::execute_leave_candidates(Origin::signed(2), 2), + StakePallet::execute_leave_candidates(RuntimeOrigin::signed(2), 2), Error::::NotLeaving ); assert_noop!( - StakePallet::execute_leave_candidates(Origin::signed(2), 1), + StakePallet::execute_leave_candidates(RuntimeOrigin::signed(2), 1), Error::::CannotLeaveYet ); // add 11 as candidate to reach max size for TopCandidates and then try leave // again as 1 which should not be possible - assert_ok!(StakePallet::join_candidates(Origin::signed(11), 100)); + assert_ok!(StakePallet::join_candidates(RuntimeOrigin::signed(11), 100)); assert_eq!( StakePallet::top_candidates() .into_iter() @@ -2632,9 +2601,9 @@ fn candidate_leaves() { .collect::>(), (2u64..12u64).collect::>() ); - assert_ok!(StakePallet::init_leave_candidates(Origin::signed(11))); + assert_ok!(StakePallet::init_leave_candidates(RuntimeOrigin::signed(11))); // join back - assert_ok!(StakePallet::cancel_leave_candidates(Origin::signed(1))); + assert_ok!(StakePallet::cancel_leave_candidates(RuntimeOrigin::signed(1))); assert_eq!( StakePallet::top_candidates() .into_iter() @@ -2666,10 +2635,10 @@ fn candidate_leaves() { ); assert_eq!(StakePallet::selected_candidates().into_inner(), vec![1, 2]); - assert_ok!(StakePallet::init_leave_candidates(Origin::signed(1))); + assert_ok!(StakePallet::init_leave_candidates(RuntimeOrigin::signed(1))); roll_to(15, vec![]); - assert_ok!(StakePallet::execute_leave_candidates(Origin::signed(13), 1)); + assert_ok!(StakePallet::execute_leave_candidates(RuntimeOrigin::signed(13), 1)); let mut unstaking: BoundedBTreeMap, ::MaxUnstakeRequests> = BoundedBTreeMap::new(); assert_ok!(unstaking.try_insert(17, 100)); @@ -2678,16 +2647,16 @@ fn candidate_leaves() { // cannot unlock yet roll_to(16, vec![]); - assert_ok!(StakePallet::unlock_unstaked(Origin::signed(4), 1)); - assert_ok!(StakePallet::unlock_unstaked(Origin::signed(4), 12)); + assert_ok!(StakePallet::unlock_unstaked(RuntimeOrigin::signed(4), 1)); + assert_ok!(StakePallet::unlock_unstaked(RuntimeOrigin::signed(4), 12)); assert_eq!(StakePallet::unstaking(1), unstaking); assert_eq!(StakePallet::unstaking(12), unstaking); // can unlock now roll_to(17, vec![]); unstaking.remove(&17); - assert_ok!(StakePallet::unlock_unstaked(Origin::signed(4), 1)); - assert_ok!(StakePallet::unlock_unstaked(Origin::signed(4), 12)); + assert_ok!(StakePallet::unlock_unstaked(RuntimeOrigin::signed(4), 1)); + assert_ok!(StakePallet::unlock_unstaked(RuntimeOrigin::signed(4), 12)); assert_eq!(StakePallet::unstaking(1), unstaking); assert_eq!(StakePallet::unstaking(12), unstaking); }); @@ -2719,7 +2688,7 @@ fn adjust_reward_rates() { roll_to_claim_rewards(::BLOCKS_PER_YEAR + 1, vec![]); // reward reduction should not happen automatically anymore assert_eq!(StakePallet::last_reward_reduction(), 0u64); - assert_ok!(StakePallet::execute_scheduled_reward_change(Origin::signed(1))); + assert_ok!(StakePallet::execute_scheduled_reward_change(RuntimeOrigin::signed(1))); assert_eq!(StakePallet::last_reward_reduction(), 1u64); let inflation_1 = InflationInfo::new( ::BLOCKS_PER_YEAR, @@ -2750,7 +2719,7 @@ fn adjust_reward_rates() { roll_to_claim_rewards(2 * ::BLOCKS_PER_YEAR + 1, vec![]); // reward reduction should not happen automatically anymore assert_eq!(StakePallet::last_reward_reduction(), 1u64); - assert_ok!(StakePallet::execute_scheduled_reward_change(Origin::signed(1))); + assert_ok!(StakePallet::execute_scheduled_reward_change(RuntimeOrigin::signed(1))); assert_eq!(StakePallet::last_reward_reduction(), 2u64); let inflation_2 = InflationInfo::new( ::BLOCKS_PER_YEAR, @@ -2786,19 +2755,19 @@ fn increase_max_candidate_stake() { .execute_with(|| { assert_eq!(StakePallet::max_candidate_stake(), max_stake); assert_noop!( - StakePallet::candidate_stake_more(Origin::signed(1), 1), + StakePallet::candidate_stake_more(RuntimeOrigin::signed(1), 1), Error::::ValStakeAboveMax ); - assert_ok!(StakePallet::set_max_candidate_stake(Origin::root(), max_stake + 1)); - assert_eq!( - last_event(), - MetaEvent::StakePallet(Event::MaxCandidateStakeChanged(max_stake + 1)) - ); + assert_ok!(StakePallet::set_max_candidate_stake( + RuntimeOrigin::root(), + max_stake + 1 + )); + assert_eq!(last_event(), StakeEvent::MaxCandidateStakeChanged(max_stake + 1)); assert_eq!(StakePallet::max_candidate_stake(), max_stake + 1); - assert_ok!(StakePallet::candidate_stake_more(Origin::signed(1), 1)); + assert_ok!(StakePallet::candidate_stake_more(RuntimeOrigin::signed(1), 1)); assert_noop!( - StakePallet::candidate_stake_more(Origin::signed(1), 1), + StakePallet::candidate_stake_more(RuntimeOrigin::signed(1), 1), Error::::ValStakeAboveMax ); }); @@ -2826,12 +2795,9 @@ fn decrease_max_candidate_stake() { ) ); - assert_ok!(StakePallet::set_max_candidate_stake(Origin::root(), 50)); + assert_ok!(StakePallet::set_max_candidate_stake(RuntimeOrigin::root(), 50)); assert_eq!(StakePallet::max_candidate_stake(), 50); - assert_eq!( - last_event(), - MetaEvent::StakePallet(Event::MaxCandidateStakeChanged(50)) - ); + assert_eq!(last_event(), StakeEvent::MaxCandidateStakeChanged(50)); // check collator states, nothing changed assert_eq!( @@ -2848,20 +2814,20 @@ fn decrease_max_candidate_stake() { ); assert_noop!( - StakePallet::candidate_stake_more(Origin::signed(1), 0), + StakePallet::candidate_stake_more(RuntimeOrigin::signed(1), 0), Error::::ValStakeZero ); assert_noop!( - StakePallet::candidate_stake_less(Origin::signed(1), 0), + StakePallet::candidate_stake_less(RuntimeOrigin::signed(1), 0), Error::::ValStakeZero ); assert_noop!( - StakePallet::candidate_stake_more(Origin::signed(1), 1), + StakePallet::candidate_stake_more(RuntimeOrigin::signed(1), 1), Error::::ValStakeAboveMax ); - assert_ok!(StakePallet::candidate_stake_less(Origin::signed(1), 50)); + assert_ok!(StakePallet::candidate_stake_less(RuntimeOrigin::signed(1), 50)); assert_noop!( - StakePallet::set_max_candidate_stake(Origin::root(), 9), + StakePallet::set_max_candidate_stake(RuntimeOrigin::root(), 9), Error::::CannotSetBelowMin ); }); @@ -2876,12 +2842,12 @@ fn exceed_delegations_per_round() { .build() .execute_with(|| { // leave and re-join to set counter to 2 (= MaxDelegationsPerRound) - assert_ok!(StakePallet::leave_delegators(Origin::signed(2))); - assert_ok!(StakePallet::join_delegators(Origin::signed(2), 1, 100)); - assert_ok!(StakePallet::leave_delegators(Origin::signed(2))); + assert_ok!(StakePallet::leave_delegators(RuntimeOrigin::signed(2))); + assert_ok!(StakePallet::join_delegators(RuntimeOrigin::signed(2), 1, 100)); + assert_ok!(StakePallet::leave_delegators(RuntimeOrigin::signed(2))); // reached max delegations in this round assert_noop!( - StakePallet::join_delegators(Origin::signed(2), 1, 100), + StakePallet::join_delegators(RuntimeOrigin::signed(2), 1, 100), Error::::DelegationsPerRoundExceeded ); @@ -2891,22 +2857,22 @@ fn exceed_delegations_per_round() { StakePallet::last_delegation(2), DelegationCounter { round: 0, counter: 2 } ); - assert_ok!(StakePallet::join_delegators(Origin::signed(2), 1, 100)); + assert_ok!(StakePallet::join_delegators(RuntimeOrigin::signed(2), 1, 100)); // counter should be reset because the round changed assert_eq!( StakePallet::last_delegation(2), DelegationCounter { round: 1, counter: 1 } ); // leave and re-join to set counter to 2 (= MaxDelegationsPerRound)) - assert_ok!(StakePallet::leave_delegators(Origin::signed(2))); - assert_ok!(StakePallet::join_delegators(Origin::signed(2), 1, 100)); + assert_ok!(StakePallet::leave_delegators(RuntimeOrigin::signed(2))); + assert_ok!(StakePallet::join_delegators(RuntimeOrigin::signed(2), 1, 100)); assert_noop!( - StakePallet::join_delegators(Origin::signed(2), 1, 100), + StakePallet::join_delegators(RuntimeOrigin::signed(2), 1, 100), Error::::AlreadyDelegating ); - assert_ok!(StakePallet::leave_delegators(Origin::signed(2))); + assert_ok!(StakePallet::leave_delegators(RuntimeOrigin::signed(2))); assert_noop!( - StakePallet::join_delegators(Origin::signed(2), 1, 100), + StakePallet::join_delegators(RuntimeOrigin::signed(2), 1, 100), Error::::DelegationsPerRoundExceeded ); assert_eq!( @@ -2925,7 +2891,7 @@ fn force_remove_candidate() { .build() .execute_with(|| { assert_eq!(CandidatePool::::count(), 3); - assert_ok!(StakePallet::join_delegators(Origin::signed(6), 2, 50)); + assert_ok!(StakePallet::join_delegators(RuntimeOrigin::signed(6), 2, 50)); assert_eq!(StakePallet::selected_candidates().into_inner(), vec![1, 2]); assert!(StakePallet::unstaking(1).get(&3).is_none()); assert!(StakePallet::unstaking(2).get(&3).is_none()); @@ -2940,7 +2906,7 @@ fn force_remove_candidate() { delegators: 150, } ); - assert_ok!(StakePallet::force_remove_candidate(Origin::root(), 1)); + assert_ok!(StakePallet::force_remove_candidate(RuntimeOrigin::root(), 1)); // collator stake does not change since 3, who took 1's place, has staked the // same amount assert_eq!( @@ -2951,7 +2917,7 @@ fn force_remove_candidate() { } ); assert_eq!(Session::disabled_validators(), vec![0]); - assert_eq!(last_event(), MetaEvent::StakePallet(Event::CollatorRemoved(1, 200))); + assert_eq!(last_event(), StakeEvent::CollatorRemoved(1, 200)); assert!(!StakePallet::top_candidates().contains(&StakeOf:: { owner: 1, amount: 100 })); assert_eq!(StakePallet::selected_candidates().into_inner(), vec![2, 3]); assert_eq!(CandidatePool::::count(), 2); @@ -2963,11 +2929,11 @@ fn force_remove_candidate() { assert_eq!(StakePallet::unstaking(5).get(&3), Some(&50)); assert_noop!( - StakePallet::force_remove_candidate(Origin::root(), 2), + StakePallet::force_remove_candidate(RuntimeOrigin::root(), 2), Error::::TooFewCollatorCandidates ); assert_noop!( - StakePallet::force_remove_candidate(Origin::root(), 4), + StakePallet::force_remove_candidate(RuntimeOrigin::root(), 4), Error::::CandidateNotFound ); @@ -3011,7 +2977,7 @@ fn prioritize_collators() { ) ); assert_eq!(StakePallet::selected_candidates().into_inner(), vec![2, 3]); - assert_ok!(StakePallet::join_candidates(Origin::signed(1), 100)); + assert_ok!(StakePallet::join_candidates(RuntimeOrigin::signed(1), 100)); assert_eq!( StakePallet::top_candidates(), OrderedSet::from_sorted_set( @@ -3024,14 +2990,14 @@ fn prioritize_collators() { ) ); assert_eq!(StakePallet::selected_candidates().into_inner(), vec![2, 3]); - assert_ok!(StakePallet::init_leave_candidates(Origin::signed(2))); + assert_ok!(StakePallet::init_leave_candidates(RuntimeOrigin::signed(2))); assert_eq!(StakePallet::top_candidates().len(), 2); assert_eq!(StakePallet::selected_candidates().into_inner(), vec![3, 1]); - assert_ok!(StakePallet::candidate_stake_less(Origin::signed(3), 10)); + assert_ok!(StakePallet::candidate_stake_less(RuntimeOrigin::signed(3), 10)); assert_eq!(StakePallet::selected_candidates().into_inner(), vec![1, 3]); // add 6 - assert_ok!(StakePallet::join_candidates(Origin::signed(6), 100)); + assert_ok!(StakePallet::join_candidates(RuntimeOrigin::signed(6), 100)); assert_eq!(StakePallet::selected_candidates().into_inner(), vec![1, 6]); assert_eq!( StakePallet::top_candidates(), @@ -3047,7 +3013,7 @@ fn prioritize_collators() { ); // add 4 - assert_ok!(StakePallet::join_candidates(Origin::signed(4), 100)); + assert_ok!(StakePallet::join_candidates(RuntimeOrigin::signed(4), 100)); assert_eq!(StakePallet::selected_candidates().into_inner(), vec![1, 6]); assert_eq!( StakePallet::top_candidates(), @@ -3063,7 +3029,7 @@ fn prioritize_collators() { ); // add 5 - assert_ok!(StakePallet::join_candidates(Origin::signed(5), 100)); + assert_ok!(StakePallet::join_candidates(RuntimeOrigin::signed(5), 100)); assert_eq!(StakePallet::selected_candidates().into_inner(), vec![1, 6]); assert_eq!( StakePallet::top_candidates(), @@ -3079,7 +3045,7 @@ fn prioritize_collators() { ); // 3 stake_more - assert_ok!(StakePallet::candidate_stake_more(Origin::signed(3), 20)); + assert_ok!(StakePallet::candidate_stake_more(RuntimeOrigin::signed(3), 20)); assert_eq!(StakePallet::selected_candidates().into_inner(), vec![3, 1]); assert_eq!( StakePallet::top_candidates(), @@ -3097,7 +3063,7 @@ fn prioritize_collators() { ); // 1 stake_less - assert_ok!(StakePallet::candidate_stake_less(Origin::signed(1), 1)); + assert_ok!(StakePallet::candidate_stake_less(RuntimeOrigin::signed(1), 1)); assert_eq!(StakePallet::selected_candidates().into_inner(), vec![3, 6]); assert_eq!( StakePallet::top_candidates(), @@ -3115,7 +3081,7 @@ fn prioritize_collators() { ); // 7 delegates to 4 - assert_ok!(StakePallet::join_delegators(Origin::signed(7), 5, 20)); + assert_ok!(StakePallet::join_delegators(RuntimeOrigin::signed(7), 5, 20)); assert_eq!(StakePallet::selected_candidates().into_inner(), vec![5, 3]); assert_eq!( StakePallet::top_candidates(), @@ -3133,7 +3099,7 @@ fn prioritize_collators() { ); // 7 decreases delegation - assert_ok!(StakePallet::delegator_stake_less(Origin::signed(7), 10)); + assert_ok!(StakePallet::delegator_stake_less(RuntimeOrigin::signed(7), 10)); assert_eq!(StakePallet::selected_candidates().into_inner(), vec![5, 3]); assert_eq!( StakePallet::top_candidates(), @@ -3149,7 +3115,7 @@ fn prioritize_collators() { .unwrap() ) ); - assert_ok!(StakePallet::leave_delegators(Origin::signed(7))); + assert_ok!(StakePallet::leave_delegators(RuntimeOrigin::signed(7))); assert_eq!(StakePallet::selected_candidates().into_inner(), vec![3, 5]); assert_eq!( StakePallet::top_candidates(), @@ -3199,7 +3165,7 @@ fn prioritize_delegators() { .unwrap() ) ); - assert_ok!(StakePallet::join_delegators(Origin::signed(5), 2, 110)); + assert_ok!(StakePallet::join_delegators(RuntimeOrigin::signed(5), 2, 110)); assert_eq!( StakePallet::candidate_pool(2).unwrap().delegators, OrderedSet::from_sorted_set( @@ -3215,7 +3181,7 @@ fn prioritize_delegators() { ); // delegate_less - assert_ok!(StakePallet::delegator_stake_less(Origin::signed(5), 10)); + assert_ok!(StakePallet::delegator_stake_less(RuntimeOrigin::signed(5), 10)); assert_eq!( StakePallet::candidate_pool(2).unwrap().delegators, OrderedSet::from_sorted_set( @@ -3231,7 +3197,7 @@ fn prioritize_delegators() { ); // delegate_more - assert_ok!(StakePallet::delegator_stake_more(Origin::signed(6), 10)); + assert_ok!(StakePallet::delegator_stake_more(RuntimeOrigin::signed(6), 10)); assert_eq!( StakePallet::candidate_pool(2).unwrap().delegators, OrderedSet::from_sorted_set( @@ -3245,7 +3211,7 @@ fn prioritize_delegators() { .unwrap() ) ); - assert_ok!(StakePallet::delegator_stake_more(Origin::signed(7), 10)); + assert_ok!(StakePallet::delegator_stake_more(RuntimeOrigin::signed(7), 10)); assert_eq!( StakePallet::candidate_pool(2).unwrap().delegators, OrderedSet::from_sorted_set( @@ -3294,7 +3260,7 @@ fn authorities_per_round() { let reward_0 = inflation.collator.reward_rate.per_block * stake * 2; assert_eq!(Balances::free_balance(1), stake + reward_0); // increase max selected candidates which will become effective in round 2 - assert_ok!(StakePallet::set_max_selected_candidates(Origin::root(), 10)); + assert_ok!(StakePallet::set_max_selected_candidates(RuntimeOrigin::root(), 10)); // roll to last block of round 1 // should still multiply with 2 because the Authority set was chosen at start of @@ -3336,10 +3302,10 @@ fn force_new_round() { assert_eq!(Session::validators(), vec![1, 2]); assert_eq!(Session::current_index(), 0); // 3 should be validator in round 2 - assert_ok!(StakePallet::join_delegators(Origin::signed(5), 3, 100)); + assert_ok!(StakePallet::join_delegators(RuntimeOrigin::signed(5), 3, 100)); // init force new round from 0 to 1, updating the authorities - assert_ok!(StakePallet::force_new_round(Origin::root())); + assert_ok!(StakePallet::force_new_round(RuntimeOrigin::root())); assert_eq!(StakePallet::round(), round); assert_eq!(Session::current_index(), 0); assert!(StakePallet::new_round_forced()); @@ -3362,7 +3328,7 @@ fn force_new_round() { // assert_eq!(Session::validators(), vec![3, 1]); assert!(!StakePallet::new_round_forced()); // 4 should become validator in session 3 if we do not force a new round - assert_ok!(StakePallet::join_delegators(Origin::signed(6), 4, 100)); + assert_ok!(StakePallet::join_delegators(RuntimeOrigin::signed(6), 4, 100)); // end session 2 naturally roll_to(7, vec![]); @@ -3377,7 +3343,7 @@ fn force_new_round() { assert_eq!(Session::validators(), vec![3, 1]); // force new round 3 - assert_ok!(StakePallet::force_new_round(Origin::root())); + assert_ok!(StakePallet::force_new_round(RuntimeOrigin::root())); assert_eq!(StakePallet::round(), round); assert_eq!(Session::current_index(), 2); // validator set should not change until next round @@ -3412,7 +3378,7 @@ fn replace_lowest_delegator() { ); // 6 replaces 5 - assert_ok!(StakePallet::join_delegators(Origin::signed(6), 1, 51)); + assert_ok!(StakePallet::join_delegators(RuntimeOrigin::signed(6), 1, 51)); assert!(StakePallet::delegator_state(5).is_none()); assert_eq!( StakePallet::candidate_pool(1) @@ -3430,7 +3396,7 @@ fn replace_lowest_delegator() { // 5 attempts to replace 6 with more balance than available frame_support::assert_noop!( - StakePallet::join_delegators(Origin::signed(5), 1, 101), + StakePallet::join_delegators(RuntimeOrigin::signed(5), 1, 101), BalancesError::::InsufficientBalance ); assert!(StakePallet::delegator_state(6).is_some()); @@ -3500,7 +3466,7 @@ fn network_reward_multiple_blocks() { // should mint the same amount even if a collator exits because reward is only // based on MaxCollatorCandidateStake and MaxSelectedCandidates - assert_ok!(StakePallet::init_leave_candidates(Origin::signed(1))); + assert_ok!(StakePallet::init_leave_candidates(RuntimeOrigin::signed(1))); roll_to(network_reward_start + 101, vec![None]); assert_eq!(101 * network_reward, Balances::free_balance(&TREASURY_ACC)); assert_eq!( @@ -3538,7 +3504,10 @@ fn network_reward_increase_max_candidate_stake() { // double max stake let max_stake_doubled = 320_000_000 * DECIMALS; let reward_after = 2 * reward_before; - assert_ok!(StakePallet::set_max_candidate_stake(Origin::root(), max_stake_doubled)); + assert_ok!(StakePallet::set_max_candidate_stake( + RuntimeOrigin::root(), + max_stake_doubled + )); roll_to(network_reward_start + 2, vec![None]); assert_eq!(reward_before + reward_after, Balances::free_balance(&TREASURY_ACC)); assert_eq!( @@ -3576,7 +3545,7 @@ fn network_reward_increase_max_collator_count() { // tripple number of max collators let reward_after = 3 * reward_before; assert_ok!(StakePallet::set_max_selected_candidates( - Origin::root(), + RuntimeOrigin::root(), ::MinCollators::get() * 3 )); roll_to(network_reward_start + 2, vec![None]); @@ -3603,7 +3572,7 @@ fn update_total_stake_collators_stay() { delegators: 150 } ); - assert_ok!(StakePallet::candidate_stake_more(Origin::signed(1), 10)); + assert_ok!(StakePallet::candidate_stake_more(RuntimeOrigin::signed(1), 10)); assert_eq!( StakePallet::total_collator_stake(), TotalStake { @@ -3611,7 +3580,7 @@ fn update_total_stake_collators_stay() { delegators: 150 } ); - assert_ok!(StakePallet::candidate_stake_less(Origin::signed(2), 5)); + assert_ok!(StakePallet::candidate_stake_less(RuntimeOrigin::signed(2), 5)); assert_eq!( StakePallet::total_collator_stake(), TotalStake { @@ -3619,7 +3588,7 @@ fn update_total_stake_collators_stay() { delegators: 150 } ); - assert_ok!(StakePallet::delegator_stake_more(Origin::signed(3), 10)); + assert_ok!(StakePallet::delegator_stake_more(RuntimeOrigin::signed(3), 10)); assert_eq!( StakePallet::total_collator_stake(), TotalStake { @@ -3627,7 +3596,7 @@ fn update_total_stake_collators_stay() { delegators: 160 } ); - assert_ok!(StakePallet::delegator_stake_less(Origin::signed(4), 5)); + assert_ok!(StakePallet::delegator_stake_less(RuntimeOrigin::signed(4), 5)); assert_eq!( StakePallet::total_collator_stake(), TotalStake { @@ -3665,7 +3634,7 @@ fn update_total_stake_displace_collators() { ); // 4 is pushed out by staking less - assert_ok!(StakePallet::candidate_stake_less(Origin::signed(4), 30)); + assert_ok!(StakePallet::candidate_stake_less(RuntimeOrigin::signed(4), 30)); assert_eq!( StakePallet::total_collator_stake(), TotalStake { @@ -3673,10 +3642,10 @@ fn update_total_stake_displace_collators() { delegators: 105 } ); - assert_ok!(StakePallet::delegator_stake_less(Origin::signed(8), 45)); + assert_ok!(StakePallet::delegator_stake_less(RuntimeOrigin::signed(8), 45)); // 3 is pushed out by delegator staking less - assert_ok!(StakePallet::delegator_stake_less(Origin::signed(7), 45)); + assert_ok!(StakePallet::delegator_stake_less(RuntimeOrigin::signed(7), 45)); assert_eq!( StakePallet::total_collator_stake(), TotalStake { @@ -3686,7 +3655,7 @@ fn update_total_stake_displace_collators() { ); // 1 is pushed out by new candidate - assert_ok!(StakePallet::join_candidates(Origin::signed(1337), 100)); + assert_ok!(StakePallet::join_candidates(RuntimeOrigin::signed(1337), 100)); assert_eq!( StakePallet::total_collator_stake(), TotalStake { @@ -3712,7 +3681,7 @@ fn update_total_stake_new_collators() { delegators: 100 } ); - assert_ok!(StakePallet::join_candidates(Origin::signed(2), 100)); + assert_ok!(StakePallet::join_candidates(RuntimeOrigin::signed(2), 100)); assert_eq!( StakePallet::total_collator_stake(), TotalStake { @@ -3720,7 +3689,7 @@ fn update_total_stake_new_collators() { delegators: 100 } ); - assert_ok!(StakePallet::join_delegators(Origin::signed(3), 2, 50)); + assert_ok!(StakePallet::join_delegators(RuntimeOrigin::signed(3), 2, 50)); assert_eq!( StakePallet::total_collator_stake(), TotalStake { @@ -3728,7 +3697,7 @@ fn update_total_stake_new_collators() { delegators: 150 } ); - assert_ok!(StakePallet::leave_delegators(Origin::signed(4))); + assert_ok!(StakePallet::leave_delegators(RuntimeOrigin::signed(4))); assert_eq!( StakePallet::total_collator_stake(), TotalStake { @@ -3764,7 +3733,7 @@ fn update_total_stake_no_collator_changes() { delegators: 110 } ); - assert_ok!(StakePallet::candidate_stake_more(Origin::signed(1), 10)); + assert_ok!(StakePallet::candidate_stake_more(RuntimeOrigin::signed(1), 10)); assert_eq!( StakePallet::total_collator_stake(), TotalStake { @@ -3772,7 +3741,7 @@ fn update_total_stake_no_collator_changes() { delegators: 110 } ); - assert_ok!(StakePallet::delegator_stake_more(Origin::signed(5), 10)); + assert_ok!(StakePallet::delegator_stake_more(RuntimeOrigin::signed(5), 10)); assert_eq!( StakePallet::total_collator_stake(), TotalStake { @@ -3780,7 +3749,7 @@ fn update_total_stake_no_collator_changes() { delegators: 110 } ); - assert_ok!(StakePallet::candidate_stake_less(Origin::signed(2), 10)); + assert_ok!(StakePallet::candidate_stake_less(RuntimeOrigin::signed(2), 10)); assert_eq!( StakePallet::total_collator_stake(), TotalStake { @@ -3788,7 +3757,7 @@ fn update_total_stake_no_collator_changes() { delegators: 110 } ); - assert_ok!(StakePallet::delegator_stake_less(Origin::signed(6), 10)); + assert_ok!(StakePallet::delegator_stake_less(RuntimeOrigin::signed(6), 10)); assert_eq!( StakePallet::total_collator_stake(), TotalStake { @@ -3818,7 +3787,7 @@ fn rewards_candidate_stake_more() { }); // stake less to trigger reward incrementing for collator - assert_ok!(StakePallet::candidate_stake_more(Origin::signed(1), DECIMALS)); + assert_ok!(StakePallet::candidate_stake_more(RuntimeOrigin::signed(1), DECIMALS)); assert!(!StakePallet::rewards(1).is_zero()); assert!(!StakePallet::blocks_rewarded(1).is_zero()); // delegator reward storage should be untouched @@ -3856,7 +3825,7 @@ fn rewards_candidate_stake_less() { }); // stake less to trigger reward incrementing for collator - assert_ok!(StakePallet::candidate_stake_less(Origin::signed(1), DECIMALS)); + assert_ok!(StakePallet::candidate_stake_less(RuntimeOrigin::signed(1), DECIMALS)); assert!(!StakePallet::rewards(1).is_zero()); assert!(!StakePallet::blocks_rewarded(1).is_zero()); // delegator reward storage should be untouched @@ -3890,7 +3859,7 @@ fn rewards_candidate_leave_network() { .build() .execute_with(|| { // init does not increment rewards - assert_ok!(StakePallet::init_leave_candidates(Origin::signed(1))); + assert_ok!(StakePallet::init_leave_candidates(RuntimeOrigin::signed(1))); // advance two rounds to enable leaving roll_to( @@ -3923,7 +3892,7 @@ fn rewards_candidate_leave_network() { // execute leave intent to trigger reward incrementing for collator and // delegators - assert_ok!(StakePallet::execute_leave_candidates(Origin::signed(1), 1)); + assert_ok!(StakePallet::execute_leave_candidates(RuntimeOrigin::signed(1), 1)); // reward counting storages should be killed for collator assert!(StakePallet::blocks_authored(1).is_zero()); @@ -3962,7 +3931,7 @@ fn rewards_force_remove_candidate() { StakePallet::note_author(2); // removing triggers reward increment for collator 1 and delegators 4, 5 - assert_ok!(StakePallet::force_remove_candidate(Origin::root(), 1)); + assert_ok!(StakePallet::force_remove_candidate(RuntimeOrigin::root(), 1)); // rewarded counter storage should be killed for collator assert!(StakePallet::blocks_authored(1).is_zero()); assert!(StakePallet::blocks_rewarded(1).is_zero()); @@ -3995,7 +3964,7 @@ fn blocks_rewarded_join_delegators() { StakePallet::note_author(1); assert_eq!(StakePallet::blocks_authored(1), 1); assert!(StakePallet::blocks_rewarded(1).is_zero()); - assert_ok!(StakePallet::join_delegators(Origin::signed(2), 1, 100)); + assert_ok!(StakePallet::join_delegators(RuntimeOrigin::signed(2), 1, 100)); // delegator's rewarded counter should equal of collator's authored counter upon // joining assert_eq!(StakePallet::blocks_rewarded(2), StakePallet::blocks_authored(1)); @@ -4020,7 +3989,7 @@ fn rewards_delegator_stake_more() { }); // stake less to trigger reward incrementing just for 3 - assert_ok!(StakePallet::delegator_stake_more(Origin::signed(3), DECIMALS)); + assert_ok!(StakePallet::delegator_stake_more(RuntimeOrigin::signed(3), DECIMALS)); // 1 should still have counter 1 but no rewards assert_eq!(StakePallet::blocks_authored(1), 1); assert!(StakePallet::blocks_rewarded(1).is_zero()); @@ -4052,7 +4021,7 @@ fn rewards_delegator_stake_less() { }); // stake less to trigger reward incrementing just for 3 - assert_ok!(StakePallet::delegator_stake_less(Origin::signed(3), DECIMALS)); + assert_ok!(StakePallet::delegator_stake_less(RuntimeOrigin::signed(3), DECIMALS)); // 1 should still have counter 1 but no rewards assert_eq!(StakePallet::blocks_authored(1), 1); assert!(StakePallet::blocks_rewarded(1).is_zero()); @@ -4091,7 +4060,7 @@ fn rewards_delegator_replaced() { assert_eq!(StakePallet::blocks_authored(1), 1); // 6 kicks 5 - assert_ok!(StakePallet::join_delegators(Origin::signed(6), 1, 2 * DECIMALS)); + assert_ok!(StakePallet::join_delegators(RuntimeOrigin::signed(6), 1, 2 * DECIMALS)); // 5 should have rewards and counter updated assert!(!StakePallet::rewards(5).is_zero()); assert_eq!(StakePallet::blocks_rewarded(5), 1); @@ -4119,7 +4088,7 @@ fn rewards_delegator_leaves() { }); // only 3 should have non-zero rewards - assert_ok!(StakePallet::leave_delegators(Origin::signed(3))); + assert_ok!(StakePallet::leave_delegators(RuntimeOrigin::signed(3))); assert!(StakePallet::blocks_rewarded(1).is_zero()); assert!(StakePallet::rewards(1).is_zero()); assert!(StakePallet::blocks_rewarded(2).is_zero()); @@ -4152,7 +4121,7 @@ fn rewards_set_inflation() { // set inflation to trigger reward setting assert_ok!(StakePallet::set_inflation( - Origin::root(), + RuntimeOrigin::root(), hundred, hundred, hundred, @@ -4194,7 +4163,7 @@ fn rewards_yearly_inflation_adjustment() { }); // execute to trigger reward increment - assert_ok!(StakePallet::execute_scheduled_reward_change(Origin::signed(1))); + assert_ok!(StakePallet::execute_scheduled_reward_change(RuntimeOrigin::signed(1))); (1..=5).for_each(|id| { assert!( !StakePallet::blocks_rewarded(id).is_zero(), @@ -4217,7 +4186,7 @@ fn rewards_incrementing_and_claiming() { // claiming should not be possible with zero counters (1..=3).for_each(|id| { assert_noop!( - StakePallet::claim_rewards(Origin::signed(id)), + StakePallet::claim_rewards(RuntimeOrigin::signed(id)), Error::::RewardsNotFound, ); }); @@ -4230,13 +4199,13 @@ fn rewards_incrementing_and_claiming() { // claiming should not be possible before incrementing rewards (1..=3).for_each(|id| { assert_noop!( - StakePallet::claim_rewards(Origin::signed(id)), + StakePallet::claim_rewards(RuntimeOrigin::signed(id)), Error::::RewardsNotFound ); }); // increment rewards for 2 and match counter to collator - assert_ok!(StakePallet::increment_delegator_rewards(Origin::signed(2))); + assert_ok!(StakePallet::increment_delegator_rewards(RuntimeOrigin::signed(2))); assert_eq!(StakePallet::blocks_rewarded(2), 1); let rewards_2 = StakePallet::rewards(2); assert!(!rewards_2.is_zero()); @@ -4244,7 +4213,7 @@ fn rewards_incrementing_and_claiming() { assert!(StakePallet::rewards(3).is_zero()); // should only update rewards for collator as well - assert_ok!(StakePallet::increment_collator_rewards(Origin::signed(1))); + assert_ok!(StakePallet::increment_collator_rewards(RuntimeOrigin::signed(1))); assert_eq!(StakePallet::blocks_rewarded(1), StakePallet::blocks_authored(1)); assert!(!StakePallet::rewards(1).is_zero()); // rewards of 2 should not be changed @@ -4253,7 +4222,7 @@ fn rewards_incrementing_and_claiming() { assert!(StakePallet::blocks_rewarded(3).is_zero()); // claim for 1 to move rewards into balance - assert_ok!(StakePallet::claim_rewards(Origin::signed(1))); + assert_ok!(StakePallet::claim_rewards(RuntimeOrigin::signed(1))); assert!(StakePallet::rewards(1).is_zero()); // delegator situation should be unchanged assert!(Balances::free_balance(&1) > DECIMALS); @@ -4262,21 +4231,21 @@ fn rewards_incrementing_and_claiming() { // incrementing again should not change anything because collator has not // authored blocks since last inc - assert_ok!(StakePallet::increment_delegator_rewards(Origin::signed(2))); + assert_ok!(StakePallet::increment_delegator_rewards(RuntimeOrigin::signed(2))); assert_eq!(StakePallet::blocks_rewarded(2), 1); // claim for 2 to move rewards into balance - assert_ok!(StakePallet::claim_rewards(Origin::signed(2))); + assert_ok!(StakePallet::claim_rewards(RuntimeOrigin::signed(2))); assert!(Balances::free_balance(&2) > DECIMALS); assert!(StakePallet::rewards(2).is_zero()); assert_eq!(Balances::free_balance(&3), DECIMALS); // should not be able to claim for incorrect role assert_noop!( - StakePallet::increment_collator_rewards(Origin::signed(2)), + StakePallet::increment_collator_rewards(RuntimeOrigin::signed(2)), Error::::CandidateNotFound ); assert_noop!( - StakePallet::increment_delegator_rewards(Origin::signed(1)), + StakePallet::increment_delegator_rewards(RuntimeOrigin::signed(1)), Error::::DelegatorNotFound ); }); @@ -4315,18 +4284,18 @@ fn api_get_unclaimed_staking_rewards() { assert_eq!(rewards_2, inflation_config.delegator.reward_rate.per_block * stake * 2); // API and actual claiming should match - assert_ok!(StakePallet::increment_collator_rewards(Origin::signed(1))); - assert_ok!(StakePallet::claim_rewards(Origin::signed(1))); + assert_ok!(StakePallet::increment_collator_rewards(RuntimeOrigin::signed(1))); + assert_ok!(StakePallet::claim_rewards(RuntimeOrigin::signed(1))); assert_eq!(rewards_1, Balances::usable_balance(&1)); assert!(StakePallet::get_unclaimed_staking_rewards(&1).is_zero()); - assert_ok!(StakePallet::increment_delegator_rewards(Origin::signed(2))); - assert_ok!(StakePallet::claim_rewards(Origin::signed(2))); + assert_ok!(StakePallet::increment_delegator_rewards(RuntimeOrigin::signed(2))); + assert_ok!(StakePallet::claim_rewards(RuntimeOrigin::signed(2))); assert_eq!(rewards_2, Balances::usable_balance(&2)); assert!(StakePallet::get_unclaimed_staking_rewards(&2).is_zero()); - assert_ok!(StakePallet::increment_collator_rewards(Origin::signed(3))); - assert_ok!(StakePallet::claim_rewards(Origin::signed(3))); + assert_ok!(StakePallet::increment_collator_rewards(RuntimeOrigin::signed(3))); + assert_ok!(StakePallet::claim_rewards(RuntimeOrigin::signed(3))); assert_eq!(rewards_3 + 98 * stake, Balances::usable_balance(&3)); assert!(StakePallet::get_unclaimed_staking_rewards(&3).is_zero()); }); @@ -4352,10 +4321,10 @@ fn api_get_staking_rates() { assert_eq!(rates, StakePallet::get_staking_rates()); // candidates stake less to not exceed max staking rate - assert_ok!(StakePallet::candidate_stake_less(Origin::signed(1), stake / 2)); - assert_ok!(StakePallet::candidate_stake_less(Origin::signed(2), stake / 2)); + assert_ok!(StakePallet::candidate_stake_less(RuntimeOrigin::signed(1), stake / 2)); + assert_ok!(StakePallet::candidate_stake_less(RuntimeOrigin::signed(2), stake / 2)); // delegator stakes more to exceed - assert_ok!(StakePallet::delegator_stake_more(Origin::signed(3), stake)); + assert_ok!(StakePallet::delegator_stake_more(RuntimeOrigin::signed(3), stake)); rates.collator_staking_rate = Perquintill::from_percent(25); rates.collator_reward_rate = Perquintill::from_percent(10); rates.delegator_staking_rate = Perquintill::from_percent(50); diff --git a/pallets/public-credentials/Cargo.toml b/pallets/public-credentials/Cargo.toml index 8fc5f7dc7..7a8feb829 100644 --- a/pallets/public-credentials/Cargo.toml +++ b/pallets/public-credentials/Cargo.toml @@ -40,19 +40,18 @@ sp-std.workspace = true [features] default = ["std"] runtime-benchmarks = [ - "kilt-support/runtime-benchmarks", - "frame-benchmarking", "frame-support/runtime-benchmarks", "frame-system/runtime-benchmarks", + "kilt-support/runtime-benchmarks", + "sp-runtime/runtime-benchmarks", ] std = [ "codec/std", "scale-info/std", - "ctype/std", "kilt-support/std", - + "frame-benchmarking?/std", "frame-support/std", "frame-system/std", "sp-core/std", @@ -62,4 +61,5 @@ std = [ ] try-runtime = [ "frame-support/try-runtime", + "frame-system/try-runtime", ] diff --git a/pallets/public-credentials/src/benchmarking.rs b/pallets/public-credentials/src/benchmarking.rs index 0434da3f8..0525cd3dd 100644 --- a/pallets/public-credentials/src/benchmarking.rs +++ b/pallets/public-credentials/src/benchmarking.rs @@ -50,7 +50,7 @@ benchmarks! { T: core::fmt::Debug, T: Config, T: ctype::Config, - ::EnsureOrigin: GenerateBenchmarkOrigin, + ::EnsureOrigin: GenerateBenchmarkOrigin, ::SubjectId: GetWorstCase + Into> + sp_std::fmt::Debug, ::CredentialId: Default, } @@ -73,7 +73,7 @@ benchmarks! { ctype::Ctypes::::insert(ctype_hash, attester.clone()); reserve_balance::(&sender); let origin = ::EnsureOrigin::generate_origin(sender, attester); - }: _(origin, creation_op) + }: _(origin, creation_op) verify { assert!(Credentials::::contains_key(subject_id, &credential_id)); assert!(CredentialSubjects::::contains_key(&credential_id)); @@ -100,7 +100,7 @@ benchmarks! { ctype::Ctypes::::insert(ctype_hash, attester); Pallet::::add(origin.clone(), creation_op).expect("Pallet::add should not fail"); let credential_id_clone = credential_id.clone(); - }: _(origin, credential_id_clone, None) + }: _(origin, credential_id_clone, None) verify { assert!(Credentials::::get(subject_id, &credential_id).expect("Credential should be present in storage").revoked); } @@ -127,7 +127,7 @@ benchmarks! { Pallet::::add(origin.clone(), creation_op).expect("Pallet::add should not fail"); Pallet::::revoke(origin.clone(), credential_id.clone(), None).expect("Pallet::revoke should not fail"); let credential_id_clone = credential_id.clone(); - }: _(origin, credential_id_clone, None) + }: _(origin, credential_id_clone, None) verify { assert!(!Credentials::::get(subject_id, &credential_id).expect("Credential should be present in storage").revoked); } @@ -152,7 +152,7 @@ benchmarks! { ctype::Ctypes::::insert(ctype_hash, attester); Pallet::::add(origin.clone(), creation_op).expect("Pallet::add should not fail"); let credential_id_clone = credential_id.clone(); - }: _(origin, credential_id_clone, None) + }: _(origin, credential_id_clone, None) verify { assert!(!Credentials::::contains_key(subject_id, &credential_id)); assert!(!CredentialSubjects::::contains_key(credential_id)); @@ -208,7 +208,7 @@ benchmarks! { Pallet::::add(origin, creation_op).expect("Pallet::add should not fail"); let credential_id_clone = credential_id.clone(); let origin = ::EnsureOrigin::generate_origin(deposit_owner_new.clone(), attester); - }: _(origin, credential_id_clone) + }: _(origin, credential_id_clone) verify { assert_eq!( Credentials::::get(subject_id, &credential_id) diff --git a/pallets/public-credentials/src/lib.rs b/pallets/public-credentials/src/lib.rs index 78d5d0505..33796119b 100644 --- a/pallets/public-credentials/src/lib.rs +++ b/pallets/public-credentials/src/lib.rs @@ -119,9 +119,9 @@ pub mod pallet { /// for the different operations. type AuthorizationId: Parameter + MaxEncodedLen; /// The origin allowed to issue/revoke/remove public credentials. - type EnsureOrigin: EnsureOrigin::OriginSuccess, Self::Origin>; + type EnsureOrigin: EnsureOrigin::OriginSuccess>; /// The ubiquitous event type. - type Event: From> + IsType<::Event>; + type RuntimeEvent: From> + IsType<::RuntimeEvent>; /// The hashing algorithm to derive a credential identifier from the /// credential content. type CredentialHash: Hash; diff --git a/pallets/public-credentials/src/mock.rs b/pallets/public-credentials/src/mock.rs index 48f50baff..75d8579ce 100644 --- a/pallets/public-credentials/src/mock.rs +++ b/pallets/public-credentials/src/mock.rs @@ -284,14 +284,14 @@ pub(crate) mod runtime { ); impl mock_origin::Config for Test { - type Origin = Origin; + type RuntimeOrigin = RuntimeOrigin; type AccountId = AccountId; type SubjectId = SubjectId; } impl frame_system::Config for Test { - type Origin = Origin; - type Call = Call; + type RuntimeOrigin = RuntimeOrigin; + type RuntimeCall = RuntimeCall; type Index = u64; type BlockNumber = BlockNumber; type Hash = Hash; @@ -299,7 +299,7 @@ pub(crate) mod runtime { type AccountId = AccountId; type Lookup = IdentityLookup; type Header = Header; - type Event = (); + type RuntimeEvent = (); type BlockHashCount = ConstU64<250>; type DbWeight = RocksDbWeight; type Version = (); @@ -320,7 +320,7 @@ pub(crate) mod runtime { impl pallet_balances::Config for Test { type Balance = Balance; type DustRemoval = (); - type Event = (); + type RuntimeEvent = (); type ExistentialDeposit = ConstU128; type AccountStore = System; type WeightInfo = (); @@ -333,7 +333,7 @@ pub(crate) mod runtime { type CtypeCreatorId = SubjectId; type EnsureOrigin = mock_origin::EnsureDoubleOrigin; type OriginSuccess = mock_origin::DoubleOrigin; - type Event = (); + type RuntimeEvent = (); type WeightInfo = (); type Currency = Balances; @@ -350,7 +350,7 @@ pub(crate) mod runtime { type Currency = Balances; type Deposit = ConstU128<{ 10 * MILLI_UNIT }>; type EnsureOrigin = mock_origin::EnsureDoubleOrigin; - type Event = (); + type RuntimeEvent = (); type MaxEncodedClaimsLength = ConstU32<500>; type MaxSubjectIdLength = ConstU32<100>; type OriginSuccess = mock_origin::DoubleOrigin; diff --git a/pallets/public-credentials/src/tests.rs b/pallets/public-credentials/src/tests.rs index c84029d57..d1ca84e47 100644 --- a/pallets/public-credentials/src/tests.rs +++ b/pallets/public-credentials/src/tests.rs @@ -684,7 +684,7 @@ fn reclaim_deposit_successful() { .build() .execute_with(|| { assert_ok!(PublicCredentials::reclaim_deposit( - Origin::signed(ACCOUNT_00), + RuntimeOrigin::signed(ACCOUNT_00), credential_id )); @@ -697,12 +697,12 @@ fn reclaim_deposit_successful() { // Reclaiming the deposit for the same credential again will fail assert_noop!( - PublicCredentials::reclaim_deposit(Origin::signed(ACCOUNT_00), credential_id), + PublicCredentials::reclaim_deposit(RuntimeOrigin::signed(ACCOUNT_00), credential_id), Error::::CredentialNotFound ); assert_noop!( - PublicCredentials::reclaim_deposit(Origin::signed(ACCOUNT_00), credential_id), + PublicCredentials::reclaim_deposit(RuntimeOrigin::signed(ACCOUNT_00), credential_id), Error::::CredentialNotFound ); }); @@ -718,7 +718,7 @@ fn reclaim_deposit_credential_not_found() { .build() .execute_with(|| { assert_noop!( - PublicCredentials::reclaim_deposit(Origin::signed(ACCOUNT_00), credential_id), + PublicCredentials::reclaim_deposit(RuntimeOrigin::signed(ACCOUNT_00), credential_id), Error::::CredentialNotFound ); }); @@ -738,7 +738,7 @@ fn reclaim_deposit_unauthorized() { .build() .execute_with(|| { assert_noop!( - PublicCredentials::reclaim_deposit(Origin::signed(ACCOUNT_01), credential_id), + PublicCredentials::reclaim_deposit(RuntimeOrigin::signed(ACCOUNT_01), credential_id), Error::::Unauthorized ); }); @@ -861,7 +861,7 @@ fn test_update_deposit() { .build() .execute_with(|| { assert_ok!(PublicCredentials::update_deposit( - Origin::signed(ACCOUNT_00), + RuntimeOrigin::signed(ACCOUNT_00), credential_id )); @@ -887,7 +887,7 @@ fn test_update_deposit_not_found() { .build() .execute_with(|| { assert_noop!( - PublicCredentials::update_deposit(Origin::signed(ACCOUNT_01), credential_id), + PublicCredentials::update_deposit(RuntimeOrigin::signed(ACCOUNT_01), credential_id), Error::::CredentialNotFound ); }); @@ -907,7 +907,7 @@ fn test_update_deposit_unauthorized() { .build() .execute_with(|| { assert_noop!( - PublicCredentials::update_deposit(Origin::signed(ACCOUNT_01), credential_id), + PublicCredentials::update_deposit(RuntimeOrigin::signed(ACCOUNT_01), credential_id), Error::::Unauthorized ); }); diff --git a/runtimes/clone/Cargo.toml b/runtimes/clone/Cargo.toml index 08d04490e..0e3876fd3 100644 --- a/runtimes/clone/Cargo.toml +++ b/runtimes/clone/Cargo.toml @@ -45,7 +45,6 @@ sp-std.workspace = true sp-transaction-pool.workspace = true sp-version.workspace = true -frame-benchmarking.workspace = true frame-executive.workspace = true frame-support.workspace = true frame-system.workspace = true @@ -79,6 +78,7 @@ xcm-executor.workspace = true # Benchmarking dependencies cumulus-pallet-session-benchmarking = {workspace = true, optional = true} +frame-benchmarking = {workspace = true, optional = true} frame-system-benchmarking = {workspace = true, optional = true} # Runtime tests @@ -88,37 +88,45 @@ frame-try-runtime = {workspace = true, optional = true} default = ["std"] fast-gov = ["runtime-common/fast-gov"] runtime-benchmarks = [ - "cumulus-pallet-session-benchmarking", + "cumulus-pallet-parachain-system/runtime-benchmarks", + "cumulus-pallet-xcmp-queue/runtime-benchmarks", "cumulus-pallet-session-benchmarking/runtime-benchmarks", "frame-support/runtime-benchmarks", - "frame-system-benchmarking", + "frame-benchmarking/runtime-benchmarks", + "frame-system-benchmarking/runtime-benchmarks", "frame-system/runtime-benchmarks", "hex-literal", "pallet-balances/runtime-benchmarks", + "pallet-collator-selection/runtime-benchmarks", "pallet-did-lookup/runtime-benchmarks", "pallet-timestamp/runtime-benchmarks", "pallet-utility/runtime-benchmarks", + "pallet-xcm/runtime-benchmarks", "public-credentials/runtime-benchmarks", "runtime-common/runtime-benchmarks", "sp-runtime/runtime-benchmarks", "xcm-builder/runtime-benchmarks", + "xcm-executor/runtime-benchmarks", ] std = [ "codec/std", "cumulus-pallet-aura-ext/std", "cumulus-pallet-dmp-queue/std", "cumulus-pallet-parachain-system/std", + "cumulus-pallet-session-benchmarking?/std", "cumulus-pallet-solo-to-para/std", "cumulus-pallet-xcm/std", "cumulus-pallet-xcmp-queue/std", "cumulus-primitives-core/std", "cumulus-primitives-timestamp/std", "cumulus-primitives-utility/std", + "frame-benchmarking?/std", "frame-executive/std", "frame-support/std", - "frame-system-rpc-runtime-api/std", "frame-system/std", - "frame-try-runtime/std", + "frame-system-benchmarking?/std", + "frame-system-rpc-runtime-api/std", + "frame-try-runtime?/std", "kilt-runtime-api-did/std", "kilt-runtime-api-public-credentials/std", "log/std", @@ -176,5 +184,6 @@ try-runtime = [ "pallet-utility/try-runtime", "pallet-xcm/try-runtime", "parachain-info/try-runtime", + "public-credentials/try-runtime", "runtime-common/try-runtime", ] diff --git a/runtimes/clone/src/lib.rs b/runtimes/clone/src/lib.rs index 0b472c31c..24bf6b465 100644 --- a/runtimes/clone/src/lib.rs +++ b/runtimes/clone/src/lib.rs @@ -102,9 +102,12 @@ parameter_types! { } pub struct CloneCallFilter; -impl Contains for CloneCallFilter { - fn contains(call: &Call) -> bool { - matches!(call, Call::ParachainSystem(..) | Call::Sudo(..) | Call::Timestamp(..)) +impl Contains for CloneCallFilter { + fn contains(call: &RuntimeCall) -> bool { + matches!( + call, + RuntimeCall::ParachainSystem(..) | RuntimeCall::Sudo(..) | RuntimeCall::Timestamp(..) + ) } } @@ -112,7 +115,7 @@ impl frame_system::Config for Runtime { /// The identifier used to distinguish between accounts. type AccountId = AccountId; /// The aggregated dispatch type that is available for extrinsics. - type Call = Call; + type RuntimeCall = RuntimeCall; /// The lookup mechanism to get account ID from whatever is passed in /// dispatchers. type Lookup = AccountIdLookup; @@ -127,9 +130,9 @@ impl frame_system::Config for Runtime { /// The header type. type Header = runtime_common::Header; /// The ubiquitous event type. - type Event = Event; + type RuntimeEvent = RuntimeEvent; /// The ubiquitous origin type. - type Origin = Origin; + type RuntimeOrigin = RuntimeOrigin; /// Maximum number of block number to block hash mappings to keep (oldest /// pruned first). type BlockHashCount = BlockHashCount; @@ -173,7 +176,7 @@ impl pallet_balances::Config for Runtime { /// The type for recording an account's balance. type Balance = Balance; /// The ubiquitous event type. - type Event = Event; + type RuntimeEvent = RuntimeEvent; type DustRemoval = (); type ExistentialDeposit = ExistentialDeposit; type AccountStore = System; @@ -184,7 +187,7 @@ impl pallet_balances::Config for Runtime { } impl pallet_transaction_payment::Config for Runtime { - type Event = Event; + type RuntimeEvent = RuntimeEvent; type OnChargeTransaction = pallet_transaction_payment::CurrencyAdapter>>; type OperationalFeeMultiplier = constants::fee::OperationalFeeMultiplier; @@ -199,7 +202,7 @@ parameter_types! { } impl cumulus_pallet_parachain_system::Config for Runtime { - type Event = Event; + type RuntimeEvent = RuntimeEvent; type OnSystemEvent = cumulus_pallet_solo_to_para::Pallet; type SelfParaId = parachain_info::Pallet; type OutboundXcmpMessageSource = XcmpQueue; @@ -215,11 +218,11 @@ impl parachain_info::Config for Runtime {} impl cumulus_pallet_aura_ext::Config for Runtime {} impl cumulus_pallet_solo_to_para::Config for Runtime { - type Event = Event; + type RuntimeEvent = RuntimeEvent; } impl cumulus_pallet_xcmp_queue::Config for Runtime { - type Event = Event; + type RuntimeEvent = RuntimeEvent; type XcmExecutor = XcmExecutor; type ChannelInfo = ParachainSystem; type VersionWrapper = PolkadotXcm; @@ -230,7 +233,7 @@ impl cumulus_pallet_xcmp_queue::Config for Runtime { } impl cumulus_pallet_dmp_queue::Config for Runtime { - type Event = Event; + type RuntimeEvent = RuntimeEvent; type XcmExecutor = XcmExecutor; type ExecuteOverweightOrigin = EnsureRoot; } @@ -263,7 +266,7 @@ parameter_types! { } impl pallet_session::Config for Runtime { - type Event = Event; + type RuntimeEvent = RuntimeEvent; type ValidatorId = AccountId; type ValidatorIdOf = pallet_collator_selection::IdentityCollator; type ShouldEndSession = pallet_session::PeriodicSessions; @@ -275,8 +278,8 @@ impl pallet_session::Config for Runtime { } impl pallet_utility::Config for Runtime { - type Event = Event; - type Call = Call; + type RuntimeEvent = RuntimeEvent; + type RuntimeCall = RuntimeCall; type PalletsOrigin = OriginCaller; type WeightInfo = weights::pallet_utility::WeightInfo; } @@ -291,7 +294,7 @@ parameter_types! { } impl pallet_collator_selection::Config for Runtime { - type Event = Event; + type RuntimeEvent = RuntimeEvent; type Currency = Balances; type UpdateOrigin = EnsureRoot; type PotId = PotId; @@ -307,8 +310,8 @@ impl pallet_collator_selection::Config for Runtime { } impl pallet_sudo::Config for Runtime { - type Event = Event; - type Call = Call; + type RuntimeEvent = RuntimeEvent; + type RuntimeCall = RuntimeCall; } construct_runtime! { @@ -412,9 +415,9 @@ pub type SignedExtra = ( cumulus_pallet_solo_to_para::CheckSudo, ); /// Unchecked extrinsic type as expected by this runtime. -pub type UncheckedExtrinsic = generic::UncheckedExtrinsic; +pub type UncheckedExtrinsic = generic::UncheckedExtrinsic; /// Extrinsic type that has already been checked. -pub type CheckedExtrinsic = generic::CheckedExtrinsic; +pub type CheckedExtrinsic = generic::CheckedExtrinsic; /// Executive: handles dispatch to the various modules. pub type Executive = frame_executive::Executive< Runtime, @@ -426,6 +429,24 @@ pub type Executive = frame_executive::Executive< (), >; +// follows Substrate's non destructive way of eliminating otherwise required +// repetion: https://github.com/paritytech/substrate/pull/10592 +#[cfg(feature = "runtime-benchmarks")] +#[macro_use] +extern crate frame_benchmarking; + +#[cfg(feature = "runtime-benchmarks")] +mod benches { + define_benchmarks!( + [frame_benchmarking, Baseline::] + [frame_system, SystemBench::] + [pallet_session, SessionBench::] + [pallet_balances, Balances] + [pallet_timestamp, Timestamp] + [pallet_utility, Utility] + ); +} + impl_runtime_apis! { impl sp_api::Core for Runtime { fn version() -> RuntimeVersion { @@ -466,6 +487,23 @@ impl_runtime_apis! { } } + impl pallet_transaction_payment_rpc_runtime_api::TransactionPaymentCallApi + for Runtime + { + fn query_call_info( + call: RuntimeCall, + len: u32, + ) -> pallet_transaction_payment::RuntimeDispatchInfo { + TransactionPayment::query_call_info(call, len) + } + fn query_call_fee_details( + call: RuntimeCall, + len: u32, + ) -> pallet_transaction_payment::FeeDetails { + TransactionPayment::query_call_fee_details(call, len) + } + } + impl sp_block_builder::BlockBuilder for Runtime { fn apply_extrinsic( extrinsic: ::Extrinsic, @@ -595,58 +633,31 @@ impl_runtime_apis! { Vec, Vec, ) { - use frame_benchmarking::{list_benchmark, baseline, Benchmarking, BenchmarkList}; + use frame_benchmarking::{Benchmarking, BenchmarkList}; use frame_support::traits::StorageInfoTrait; + use frame_system_benchmarking::Pallet as SystemBench; use cumulus_pallet_session_benchmarking::Pallet as SessionBench; - use baseline::Pallet as BaselineBench; + use frame_benchmarking::baseline::Pallet as Baseline; let mut list = Vec::::new(); - - // Substrate - list_benchmark!(list, extra, frame_benchmarking, BaselineBench::); - list_benchmark!(list, extra, frame_system, SystemBench::); - list_benchmark!(list, extra, pallet_session, SessionBench::); - list_benchmark!(list, extra, pallet_balances, Balances); - // list_benchmark!(list, extra, pallet_collective, Council); - // list_benchmark!(list, extra, pallet_democracy, Democracy); - // list_benchmark!(list, extra, pallet_indices, Indices); - // list_benchmark!(list, extra, pallet_membership, TechnicalMembership); - // list_benchmark!(list, extra, pallet_preimage, Preimage); - // list_benchmark!(list, extra, pallet_scheduler, Scheduler); - list_benchmark!(list, extra, pallet_timestamp, Timestamp); - // list_benchmark!(list, extra, pallet_tips, Tips); - // list_benchmark!(list, extra, pallet_treasury, Treasury); - list_benchmark!(list, extra, pallet_utility, Utility); - // list_benchmark!(list, extra, pallet_vesting, Vesting); - // list_benchmark!(list, extra, pallet_proxy, Proxy); - - // KILT - // list_benchmark!(list, extra, attestation, Attestation); - // list_benchmark!(list, extra, ctype, Ctype); - // list_benchmark!(list, extra, delegation, Delegation); - // list_benchmark!(list, extra, did, Did); - // list_benchmark!(list, extra, pallet_did_lookup, DidLookup); - // list_benchmark!(list, extra, pallet_inflation, Inflation); - // list_benchmark!(list, extra, parachain_staking, ParachainStaking); - // list_benchmark!(list, extra, pallet_web3_names, Web3Names); + list_benchmarks!(list, extra); let storage_info = AllPalletsWithSystem::storage_info(); - (list, storage_info) } fn dispatch_benchmark( config: frame_benchmarking::BenchmarkConfig ) -> Result, sp_runtime::RuntimeString> { - use frame_benchmarking::{baseline, Benchmarking, BenchmarkBatch, add_benchmark, TrackedStorageKey}; + use frame_benchmarking::{Benchmarking, BenchmarkBatch, TrackedStorageKey}; use frame_system_benchmarking::Pallet as SystemBench; use cumulus_pallet_session_benchmarking::Pallet as SessionBench; - use baseline::Pallet as BaselineBench; + use frame_benchmarking::baseline::Pallet as Baseline; impl frame_system_benchmarking::Config for Runtime {} impl cumulus_pallet_session_benchmarking::Config for Runtime {} - impl baseline::Config for Runtime {} + impl frame_benchmarking::baseline::Config for Runtime {} let whitelist: Vec = vec![ // Block Number @@ -669,37 +680,7 @@ impl_runtime_apis! { let mut batches = Vec::::new(); let params = (&config, &whitelist); - // Substrate - add_benchmark!(params, batches, frame_benchmarking, BaselineBench::); - add_benchmark!(params, batches, pallet_balances, Balances); - // add_benchmark!(params, batches, pallet_collective, Council); - // add_benchmark!(params, batches, pallet_democracy, Democracy); - // add_benchmark!(params, batches, pallet_indices, Indices); - // add_benchmark!(params, batches, pallet_membership, TechnicalMembership); - // add_benchmark!(params, batches, pallet_preimage, Preimage); - // add_benchmark!(params, batches, pallet_scheduler, Scheduler); - add_benchmark!(params, batches, pallet_session, SessionBench::); - add_benchmark!(params, batches, frame_system, SystemBench::); - add_benchmark!(params, batches, pallet_timestamp, Timestamp); - // add_benchmark!(params, batches, pallet_tips, Tips); - // add_benchmark!(params, batches, pallet_treasury, Treasury); - add_benchmark!(params, batches, pallet_utility, Utility); - // add_benchmark!(params, batches, pallet_vesting, Vesting); - // add_benchmark!(params, batches, pallet_proxy, Proxy); - - // KILT - // add_benchmark!(params, batches, attestation, Attestation); - // add_benchmark!(params, batches, ctype, Ctype); - // add_benchmark!(params, batches, delegation, Delegation); - // add_benchmark!(params, batches, did, Did); - // add_benchmark!(params, batches, pallet_did_lookup, DidLookup); - // add_benchmark!(params, batches, pallet_inflation, Inflation); - // add_benchmark!(params, batches, parachain_staking, ParachainStaking); - // add_benchmark!(params, batches, pallet_web3_names, Web3Names); - - // No benchmarks for these pallets - // add_benchmark!(params, batches, cumulus_pallet_parachain_system, ParachainSystem); - // add_benchmark!(params, batches, parachain_info, ParachainInfo); + add_benchmarks!(params, batches); if batches.is_empty() { return Err("Benchmark not found for this pallet.".into()) } Ok(batches) diff --git a/runtimes/clone/src/xcm_config.rs b/runtimes/clone/src/xcm_config.rs index 14ecc9731..e955ca13e 100644 --- a/runtimes/clone/src/xcm_config.rs +++ b/runtimes/clone/src/xcm_config.rs @@ -17,8 +17,8 @@ // If you feel like getting in touch with us, you can do so at info@botlabs.org use super::{ - AccountId, Balances, Call, Event, Origin, ParachainInfo, ParachainSystem, PolkadotXcm, Runtime, WeightToFee, - XcmpQueue, + AccountId, Balances, ParachainInfo, ParachainSystem, PolkadotXcm, Runtime, RuntimeCall, RuntimeEvent, + RuntimeOrigin, WeightToFee, XcmpQueue, }; use frame_support::{ @@ -36,7 +36,7 @@ use xcm_executor::XcmExecutor; use runtime_common::xcm_config::{LocalAssetTransactor, MaxInstructions, RelayLocation, UnitWeightCost, XcmBarrier}; parameter_types! { - pub RelayChainOrigin: Origin = cumulus_pallet_xcm::Origin::Relay.into(); + pub RelayChainOrigin: RuntimeOrigin = cumulus_pallet_xcm::Origin::Relay.into(); pub Ancestry: MultiLocation = Parachain(ParachainInfo::parachain_id().into()).into(); pub const RelayNetworkId: NetworkId = NetworkId::Polkadot; } @@ -46,25 +46,25 @@ parameter_types! { /// `Transact`. There is an `OriginKind` which can bias the kind of local /// `Origin` it will become. pub type XcmOriginToTransactDispatchOrigin = ( - // We don't include `SovereignSignedViaLocation` since we don't want to allow other - // chains to manage accounts on our network. + // We don't include `SovereignSignedViaLocation` since we don't want to allow + // other chains to manage accounts on our network. // Native converter for Relay-chain (Parent) location which converts to a `Relay` origin when // recognized. - RelayChainAsNative, + RelayChainAsNative, // Native converter for sibling Parachains which converts to a `SiblingPara` origin when // recognized. - SiblingParachainAsNative, + SiblingParachainAsNative, // Native signed account converter which just converts an `AccountId32` origin into a normal - // `Origin::Signed` origin of the same 32-byte value. - SignedAccountId32AsNative, + // `RuntimeOrigin::signed` origin of the same 32-byte value. + SignedAccountId32AsNative, // Xcm origins can be represented natively under the Xcm pallet's Xcm origin. - XcmPassthrough, + XcmPassthrough, ); pub struct XcmConfig; impl xcm_executor::Config for XcmConfig { - type Call = Call; + type RuntimeCall = RuntimeCall; // How we send Xcm messages. type XcmSender = XcmRouter; // How to withdraw and deposit an asset. @@ -83,7 +83,7 @@ impl xcm_executor::Config for XcmConfig { type Barrier = XcmBarrier; // How XCM messages are weighted. Each transaction has a weight of // `UnitWeightCost`. - type Weigher = FixedWeightBounds; + type Weigher = FixedWeightBounds; // How weight is transformed into fees. The fees are not taken out of the // Balances pallet here. Balances is only used if fees are dropped without being // used. In that case they are put into the treasury. @@ -98,7 +98,7 @@ impl xcm_executor::Config for XcmConfig { } /// No local origins on this chain are allowed to dispatch XCM sends/executions. -pub type LocalOriginToLocation = SignedToAccountId32; +pub type LocalOriginToLocation = SignedToAccountId32; /// The means for routing XCM messages which are not for local execution into /// the right message queues. @@ -110,20 +110,20 @@ pub type XcmRouter = ( ); impl pallet_xcm::Config for Runtime { - type Event = Event; - type SendXcmOrigin = EnsureXcmOrigin; + type RuntimeEvent = RuntimeEvent; + type SendXcmOrigin = EnsureXcmOrigin; type XcmRouter = XcmRouter; - type ExecuteXcmOrigin = EnsureXcmOrigin; + type ExecuteXcmOrigin = EnsureXcmOrigin; // Disable dispatchable execution on the XCM pallet. // NOTE: For local testing this needs to be `Everything`. type XcmExecuteFilter = Nothing; type XcmExecutor = XcmExecutor; type XcmTeleportFilter = Everything; type XcmReserveTransferFilter = Nothing; - type Weigher = FixedWeightBounds; + type Weigher = FixedWeightBounds; type LocationInverter = LocationInverter; - type Origin = Origin; - type Call = Call; + type RuntimeOrigin = RuntimeOrigin; + type RuntimeCall = RuntimeCall; const VERSION_DISCOVERY_QUEUE_SIZE: u32 = 100; // Our latest supported XCM version. @@ -131,6 +131,6 @@ impl pallet_xcm::Config for Runtime { } impl cumulus_pallet_xcm::Config for Runtime { - type Event = Event; + type RuntimeEvent = RuntimeEvent; type XcmExecutor = XcmExecutor; } diff --git a/runtimes/common/Cargo.toml b/runtimes/common/Cargo.toml index 9c3aec069..fb3251f77 100644 --- a/runtimes/common/Cargo.toml +++ b/runtimes/common/Cargo.toml @@ -40,6 +40,9 @@ sp-io.workspace = true sp-runtime.workspace = true sp-std.workspace = true +# Cumulus dependencies +cumulus-primitives-core.workspace = true + # Polkadot dependencies polkadot-parachain.workspace = true xcm.workspace = true @@ -52,19 +55,26 @@ fast-gov = [] runtime-benchmarks = [ "attestation/runtime-benchmarks", "frame-support/runtime-benchmarks", + "frame-system/runtime-benchmarks", "kilt-support/runtime-benchmarks", + "pallet-balances/runtime-benchmarks", + "pallet-membership/runtime-benchmarks", "parachain-staking/runtime-benchmarks", "polkadot-parachain/runtime-benchmarks", + "public-credentials/runtime-benchmarks", "sp-runtime/runtime-benchmarks", "xcm-builder/runtime-benchmarks", + "xcm-executor/runtime-benchmarks", ] std = [ "attestation/std", "codec/std", + "cumulus-primitives-core/std", "frame-support/std", "frame-system/std", "kilt-asset-dids/std", "kilt-support/std", + "log/std", "pallet-authorship/std", "pallet-balances/std", "pallet-membership/std", @@ -83,5 +93,14 @@ std = [ "xcm/std", ] try-runtime = [ + "attestation/try-runtime", "frame-support/try-runtime", + "frame-system/try-runtime", + "kilt-support/try-runtime", + "pallet-authorship/try-runtime", + "pallet-balances/try-runtime", + "pallet-membership/try-runtime", + "pallet-transaction-payment/try-runtime", + "parachain-staking/try-runtime", + "public-credentials/try-runtime", ] diff --git a/runtimes/common/src/constants.rs b/runtimes/common/src/constants.rs index eabca7a17..0721500f9 100644 --- a/runtimes/common/src/constants.rs +++ b/runtimes/common/src/constants.rs @@ -18,6 +18,7 @@ use frame_support::{ parameter_types, + traits::WithdrawReasons, weights::{constants::WEIGHT_PER_SECOND, Weight}, }; use sp_runtime::{Perbill, Percent, Perquintill}; @@ -67,7 +68,9 @@ pub const AVERAGE_ON_INITIALIZE_RATIO: Perbill = Perbill::from_percent(10); /// used by Operational extrinsics. pub const NORMAL_DISPATCH_RATIO: Perbill = Perbill::from_percent(75); /// We allow for 0.5 seconds of compute with a 12 second average block time. -pub const MAXIMUM_BLOCK_WEIGHT: Weight = WEIGHT_PER_SECOND.saturating_div(2); +pub const MAXIMUM_BLOCK_WEIGHT: Weight = WEIGHT_PER_SECOND + .saturating_div(2) + .set_proof_size(cumulus_primitives_core::relay_chain::v2::MAX_POV_SIZE as u64); pub const INFLATION_CONFIG: (Perquintill, Perquintill, Perquintill, Perquintill) = ( // max collator staking rate @@ -111,6 +114,8 @@ pub const MAX_VESTING_SCHEDULES: u32 = 28; parameter_types! { /// Vesting Pallet. Copied from Kusama & Polkadot runtime pub const MinVestedTransfer: Balance = 100 * MILLI_KILT; + pub UnvestedFundsAllowedWithdrawReasons: WithdrawReasons = + WithdrawReasons::except(WithdrawReasons::TRANSFER | WithdrawReasons::RESERVE); /// Deposits per byte pub const ByteDeposit: Balance = deposit(0, 1); /// Index Pallet. Deposit taken for an account index @@ -402,7 +407,6 @@ pub mod web3_names { pub mod preimage { use super::*; parameter_types! { - pub const PreimageMaxSize: u32 = 4096 * 1024; pub const PreimageBaseDeposit: Balance = deposit(2, 64); } } diff --git a/runtimes/common/src/fees.rs b/runtimes/common/src/fees.rs index 7541ca3da..e1c137da4 100644 --- a/runtimes/common/src/fees.rs +++ b/runtimes/common/src/fees.rs @@ -17,10 +17,10 @@ // If you feel like getting in touch with us, you can do so at info@botlabs.org use frame_support::{ + dispatch::DispatchClass, traits::{Currency, Get, Imbalance, OnUnbalanced}, weights::{ - DispatchClass, Weight, WeightToFee as WeightToFeeT, WeightToFeeCoefficient, WeightToFeeCoefficients, - WeightToFeePolynomial, + Weight, WeightToFee as WeightToFeeT, WeightToFeeCoefficient, WeightToFeeCoefficients, WeightToFeePolynomial, }, }; use pallet_balances::WeightInfo; @@ -133,7 +133,11 @@ where #[cfg(test)] mod tests { use super::*; - use frame_support::{parameter_types, traits::FindAuthor, weights::DispatchClass}; + use crate::{ + AccountId, BlockExecutionWeight, ExtrinsicBaseWeight, AVERAGE_ON_INITIALIZE_RATIO, MAXIMUM_BLOCK_WEIGHT, + NORMAL_DISPATCH_RATIO, + }; + use frame_support::{dispatch::DispatchClass, parameter_types, traits::FindAuthor}; use frame_system::limits; use sp_core::H256; use sp_runtime::{ @@ -142,8 +146,6 @@ mod tests { Perbill, }; - use crate::AccountId; - type UncheckedExtrinsic = frame_system::mocking::MockUncheckedExtrinsic; type Block = frame_system::mocking::MockBlock; @@ -161,31 +163,41 @@ mod tests { parameter_types! { pub const BlockHashCount: u64 = 250; + // One to one clone of our runtimes' blockweight pub BlockWeights: limits::BlockWeights = limits::BlockWeights::builder() - .base_block(Weight::from_ref_time(10u64)) - .for_class(DispatchClass::all(), |weight| { - weight.base_extrinsic = Weight::from_ref_time(100u64); - }) - .for_class(DispatchClass::non_mandatory(), |weight| { - weight.max_total = Some(Weight::from_ref_time(1024u64)); - }) - .build_or_panic(); + .base_block(BlockExecutionWeight::get()) + .for_class(DispatchClass::all(), |weights| { + weights.base_extrinsic = ExtrinsicBaseWeight::get(); + }) + .for_class(DispatchClass::Normal, |weights| { + weights.max_total = Some(NORMAL_DISPATCH_RATIO * MAXIMUM_BLOCK_WEIGHT); + }) + .for_class(DispatchClass::Operational, |weights| { + weights.max_total = Some(MAXIMUM_BLOCK_WEIGHT); + // Operational transactions have some extra reserved space, so that they + // are included even if block reached `MAXIMUM_BLOCK_WEIGHT`. + weights.reserved = Some( + MAXIMUM_BLOCK_WEIGHT - NORMAL_DISPATCH_RATIO * MAXIMUM_BLOCK_WEIGHT + ); + }) + .avg_block_initialization(AVERAGE_ON_INITIALIZE_RATIO) + .build_or_panic(); pub BlockLength: limits::BlockLength = limits::BlockLength::max(2 * 1024); pub const AvailableBlockRatio: Perbill = Perbill::one(); } impl frame_system::Config for Test { type BaseCallFilter = frame_support::traits::Everything; - type Origin = Origin; + type RuntimeOrigin = RuntimeOrigin; type Index = u64; type BlockNumber = u64; - type Call = Call; + type RuntimeCall = RuntimeCall; type Hash = H256; type Hashing = BlakeTwo256; type AccountId = AccountId; type Lookup = IdentityLookup; type Header = Header; - type Event = Event; + type RuntimeEvent = RuntimeEvent; type BlockHashCount = BlockHashCount; type BlockLength = BlockLength; type BlockWeights = BlockWeights; @@ -203,7 +215,7 @@ mod tests { impl pallet_balances::Config for Test { type Balance = u64; - type Event = Event; + type RuntimeEvent = RuntimeEvent; type DustRemoval = (); type ExistentialDeposit = (); type AccountStore = System; diff --git a/runtimes/common/src/lib.rs b/runtimes/common/src/lib.rs index 4d597e858..9119921f4 100644 --- a/runtimes/common/src/lib.rs +++ b/runtimes/common/src/lib.rs @@ -27,15 +27,15 @@ pub use opaque::*; pub use frame_support::weights::constants::{BlockExecutionWeight, ExtrinsicBaseWeight, RocksDbWeight}; use frame_support::{ + dispatch::DispatchClass, parameter_types, traits::{Contains, ContainsLengthBound, Currency, Get, SortedMembers}, - weights::DispatchClass, }; use frame_system::limits; use pallet_transaction_payment::{Multiplier, TargetedFeeAdjustment}; use sp_runtime::{ generic, - traits::{IdentifyAccount, Verify}, + traits::{Bounded, IdentifyAccount, Verify}, FixedPointNumber, MultiSignature, Perquintill, SaturatedConversion, }; use sp_std::marker::PhantomData; @@ -125,6 +125,8 @@ parameter_types! { /// that combined with `AdjustmentVariable`, we can recover from the minimum. /// See `multiplier_can_grow_from_zero`. pub MinimumMultiplier: Multiplier = Multiplier::saturating_from_rational(1, 1_000_000u128); + /// The maximum amount of the multiplier. + pub MaximumMultiplier: Multiplier = Bounded::max_value(); /// Maximum length of block. Up to 5MB. pub BlockLength: limits::BlockLength = limits::BlockLength::max_with_normal_ratio(5 * 1024 * 1024, NORMAL_DISPATCH_RATIO); @@ -139,7 +141,7 @@ parameter_types! { }) .for_class(DispatchClass::Operational, |weights| { weights.max_total = Some(MAXIMUM_BLOCK_WEIGHT); - // Operational transactions have an extra reserved space, so that they + // Operational transactions have some extra reserved space, so that they // are included even if block reached `MAXIMUM_BLOCK_WEIGHT`. weights.reserved = Some( MAXIMUM_BLOCK_WEIGHT - NORMAL_DISPATCH_RATIO * MAXIMUM_BLOCK_WEIGHT, @@ -159,7 +161,7 @@ pub type FeeSplit = SplitFeesByRatio; /// Parameterized slow adjusting fee updated based on /// https://w3f-research.readthedocs.io/en/latest/polkadot/Token%20Economics.html#-2.-slow-adjusting-mechanism pub type SlowAdjustingFeeUpdate = - TargetedFeeAdjustment; + TargetedFeeAdjustment; pub struct Tippers(PhantomData, PhantomData); impl ContainsLengthBound for Tippers diff --git a/runtimes/common/src/migrations.rs b/runtimes/common/src/migrations.rs index 1fce9a577..93d54fefd 100644 --- a/runtimes/common/src/migrations.rs +++ b/runtimes/common/src/migrations.rs @@ -15,68 +15,3 @@ // along with this program. If not, see . // If you feel like getting in touch with us, you can do so at info@botlabs.org - -use sp_std::marker::PhantomData; - -use frame_support::{ - traits::{Get, OnRuntimeUpgrade}, - StorageHasher, Twox128, -}; - -pub struct RemoveRelocationPallets(PhantomData); - -impl OnRuntimeUpgrade for RemoveRelocationPallets { - #[cfg(feature = "try-runtime")] - fn pre_upgrade() -> Result<(), &'static str> { - log::info!("Pre check RemoveRelocationPallets."); - let has_migration_storage = frame_support::storage::migration::have_storage_value( - b"RelayMigration", - b"RelayNumberStrictlyIncreases", - b"", - ); - let has_filter_storage = frame_support::storage::migration::have_storage_value(b"DynFilter", b"Filter", b""); - - match (has_migration_storage, has_filter_storage) { - (false, false) => Err("Pallets not present"), - (true, false) => Err("DynFilter not present"), - (false, true) => Err("RelayMigration not present"), - _ => Ok(()), - } - } - - fn on_runtime_upgrade() -> frame_support::weights::Weight { - let entries: u32 = 2; - if frame_support::storage::unhashed::clear_prefix(&Twox128::hash(b"RelayMigration"), Some(entries), None) - .maybe_cursor - .is_some() - { - log::warn!("Pallet RelayMigration not removed entirely") - } - if frame_support::storage::unhashed::clear_prefix(&Twox128::hash(b"DynFilter"), Some(entries), None) - .maybe_cursor - .is_some() - { - log::warn!("Pallet DynFilter not removed entirely") - } - - ::DbWeight::get().writes((entries * 2).into()) - } - - #[cfg(feature = "try-runtime")] - fn post_upgrade() -> Result<(), &'static str> { - log::info!("Post check RemoveRelocationPallets."); - let has_migration_storage = frame_support::storage::migration::have_storage_value( - b"RelayMigration", - b"RelayNumberStrictlyIncreases", - b"", - ); - let has_filter_storage = frame_support::storage::migration::have_storage_value(b"DynFilter", b"Filter", b""); - - match (has_migration_storage, has_filter_storage) { - (false, false) => Ok(()), - (true, false) => Err("RelayMigration still present"), - (false, true) => Err("DynFilter still present"), - (true, true) => Err("Pallets still present"), - } - } -} diff --git a/runtimes/peregrine/Cargo.toml b/runtimes/peregrine/Cargo.toml index 30302fdb9..1983a7974 100644 --- a/runtimes/peregrine/Cargo.toml +++ b/runtimes/peregrine/Cargo.toml @@ -54,7 +54,6 @@ sp-std.workspace = true sp-transaction-pool.workspace = true sp-version.workspace = true -frame-benchmarking.workspace = true frame-executive.workspace = true frame-support.workspace = true frame-system.workspace = true @@ -97,6 +96,7 @@ xcm-executor.workspace = true # Benchmarking dependencies cumulus-pallet-session-benchmarking = {workspace = true, optional = true} +frame-benchmarking = {workspace = true, optional = true} frame-system-benchmarking = {workspace = true, optional = true} # Runtime tests @@ -108,13 +108,14 @@ fast-gov = ["runtime-common/fast-gov"] runtime-benchmarks = [ "attestation/runtime-benchmarks", "ctype/runtime-benchmarks", - "cumulus-pallet-session-benchmarking", + "cumulus-pallet-parachain-system/runtime-benchmarks", "cumulus-pallet-session-benchmarking/runtime-benchmarks", + "cumulus-pallet-xcmp-queue/runtime-benchmarks", "delegation/runtime-benchmarks", "did/runtime-benchmarks", "frame-benchmarking/runtime-benchmarks", "frame-support/runtime-benchmarks", - "frame-system-benchmarking", + "frame-system-benchmarking/runtime-benchmarks", "frame-system/runtime-benchmarks", "hex-literal", "kilt-support/runtime-benchmarks", @@ -134,11 +135,13 @@ runtime-benchmarks = [ "pallet-utility/runtime-benchmarks", "pallet-vesting/runtime-benchmarks", "pallet-web3-names/runtime-benchmarks", + "pallet-xcm/runtime-benchmarks", "parachain-staking/runtime-benchmarks", "public-credentials/runtime-benchmarks", "runtime-common/runtime-benchmarks", "sp-runtime/runtime-benchmarks", "xcm-builder/runtime-benchmarks", + "xcm-executor/runtime-benchmarks", ] std = [ "attestation/std", @@ -152,14 +155,16 @@ std = [ "cumulus-primitives-core/std", "cumulus-primitives-timestamp/std", "cumulus-primitives-utility/std", + "cumulus-pallet-session-benchmarking/std", "delegation/std", "did/std", - "frame-benchmarking/std", + "frame-benchmarking?/std", "frame-executive/std", "frame-support/std", + "frame-system-benchmarking?/std", "frame-system-rpc-runtime-api/std", "frame-system/std", - "frame-try-runtime/std", + "frame-try-runtime?/std", "kilt-runtime-api-did/std", "kilt-runtime-api-public-credentials/std", "kilt-runtime-api-staking/std", diff --git a/runtimes/peregrine/src/lib.rs b/runtimes/peregrine/src/lib.rs index 94a4b7eeb..fcd293115 100644 --- a/runtimes/peregrine/src/lib.rs +++ b/runtimes/peregrine/src/lib.rs @@ -29,7 +29,7 @@ use codec::{Decode, Encode, MaxEncodedLen}; use cumulus_pallet_parachain_system::RelayNumberStrictlyIncreases; use frame_support::{ construct_runtime, parameter_types, - traits::{EitherOfDiverse, Everything, InstanceFilter, PrivilegeCmp}, + traits::{ConstU32, EitherOfDiverse, Everything, InstanceFilter, PrivilegeCmp}, weights::{constants::RocksDbWeight, ConstantMultiplier, Weight}, }; use frame_system::EnsureRoot; @@ -47,14 +47,14 @@ use xcm_executor::XcmExecutor; use delegation::DelegationAc; use kilt_support::traits::ItemFilter; -use pallet_did_lookup::linkable_account::LinkableAccountId; +use pallet_did_lookup::{linkable_account::LinkableAccountId, migrations::EthereumMigration}; pub use parachain_staking::InflationInfo; pub use public_credentials; use runtime_common::{ assets::{AssetDid, PublicCredentialsFilter}, authorization::{AuthorizationId, PalletAuthorize}, - constants::{self, EXISTENTIAL_DEPOSIT, KILT}, + constants::{self, UnvestedFundsAllowedWithdrawReasons, EXISTENTIAL_DEPOSIT, KILT}, errors::PublicCredentialsApiError, fees::{ToAuthor, WeightToFee}, pallet_id, AccountId, AuthorityId, Balance, BlockHashCount, BlockLength, BlockNumber, BlockWeights, DidIdentifier, @@ -115,7 +115,7 @@ impl frame_system::Config for Runtime { /// The identifier used to distinguish between accounts. type AccountId = AccountId; /// The aggregated dispatch type that is available for extrinsics. - type Call = Call; + type RuntimeCall = RuntimeCall; /// The lookup mechanism to get account ID from whatever is passed in /// dispatchers. type Lookup = AccountIdLookup; @@ -130,9 +130,9 @@ impl frame_system::Config for Runtime { /// The header type. type Header = runtime_common::Header; /// The ubiquitous event type. - type Event = Event; + type RuntimeEvent = RuntimeEvent; /// The ubiquitous origin type. - type Origin = Origin; + type RuntimeOrigin = RuntimeOrigin; /// Maximum number of block number to block hash mappings to keep (oldest /// pruned first). type BlockHashCount = BlockHashCount; @@ -176,7 +176,7 @@ impl pallet_indices::Config for Runtime { type AccountIndex = Index; type Currency = pallet_balances::Pallet; type Deposit = constants::IndicesDeposit; - type Event = Event; + type RuntimeEvent = RuntimeEvent; type WeightInfo = weights::pallet_indices::WeightInfo; } @@ -184,7 +184,7 @@ impl pallet_balances::Config for Runtime { /// The type for recording an account's balance. type Balance = Balance; /// The ubiquitous event type. - type Event = Event; + type RuntimeEvent = RuntimeEvent; type DustRemoval = Treasury; type ExistentialDeposit = ExistentialDeposit; type AccountStore = System; @@ -195,7 +195,7 @@ impl pallet_balances::Config for Runtime { } impl pallet_transaction_payment::Config for Runtime { - type Event = Event; + type RuntimeEvent = RuntimeEvent; type OnChargeTransaction = pallet_transaction_payment::CurrencyAdapter>>; type OperationalFeeMultiplier = constants::fee::OperationalFeeMultiplier; @@ -205,8 +205,8 @@ impl pallet_transaction_payment::Config for Runtime { } impl pallet_sudo::Config for Runtime { - type Call = Call; - type Event = Event; + type RuntimeCall = RuntimeCall; + type RuntimeEvent = RuntimeEvent; } parameter_types! { @@ -215,7 +215,7 @@ parameter_types! { } impl cumulus_pallet_parachain_system::Config for Runtime { - type Event = Event; + type RuntimeEvent = RuntimeEvent; type OnSystemEvent = (); type SelfParaId = parachain_info::Pallet; type OutboundXcmpMessageSource = XcmpQueue; @@ -231,7 +231,7 @@ impl parachain_info::Config for Runtime {} impl cumulus_pallet_aura_ext::Config for Runtime {} impl cumulus_pallet_xcmp_queue::Config for Runtime { - type Event = Event; + type RuntimeEvent = RuntimeEvent; type XcmExecutor = XcmExecutor; type ChannelInfo = ParachainSystem; type VersionWrapper = PolkadotXcm; @@ -242,7 +242,7 @@ impl cumulus_pallet_xcmp_queue::Config for Runtime { } impl cumulus_pallet_dmp_queue::Config for Runtime { - type Event = Event; + type RuntimeEvent = RuntimeEvent; type XcmExecutor = XcmExecutor; type ExecuteOverweightOrigin = EnsureRoot; } @@ -270,7 +270,7 @@ impl pallet_authorship::Config for Runtime { } impl pallet_session::Config for Runtime { - type Event = Event; + type RuntimeEvent = RuntimeEvent; type ValidatorId = AccountId; type ValidatorIdOf = ConvertInto; type ShouldEndSession = ParachainStaking; @@ -282,12 +282,13 @@ impl pallet_session::Config for Runtime { } impl pallet_vesting::Config for Runtime { - type Event = Event; + type RuntimeEvent = RuntimeEvent; type Currency = Balances; type BlockNumberToBalance = ConvertInto; // disable vested transfers by setting min amount to max balance type MinVestedTransfer = constants::MinVestedTransfer; type WeightInfo = weights::pallet_vesting::WeightInfo; + type UnvestedFundsAllowedWithdrawReasons = UnvestedFundsAllowedWithdrawReasons; const MAX_VESTING_SCHEDULES: u32 = constants::MAX_VESTING_SCHEDULES; } @@ -299,10 +300,9 @@ parameter_types! { impl pallet_preimage::Config for Runtime { type WeightInfo = weights::pallet_preimage::WeightInfo; - type Event = Event; + type RuntimeEvent = RuntimeEvent; type Currency = Balances; type ManagerOrigin = EnsureRoot; - type MaxSize = constants::preimage::PreimageMaxSize; type BaseDeposit = constants::preimage::PreimageBaseDeposit; type ByteDeposit = constants::ByteDeposit; } @@ -342,17 +342,16 @@ impl PrivilegeCmp for OriginPrivilegeCmp { } impl pallet_scheduler::Config for Runtime { - type Event = Event; - type Origin = Origin; + type RuntimeEvent = RuntimeEvent; + type RuntimeOrigin = RuntimeOrigin; type PalletsOrigin = OriginCaller; - type Call = Call; + type RuntimeCall = RuntimeCall; type MaximumWeight = MaximumSchedulerWeight; type ScheduleOrigin = ScheduleOrigin; type MaxScheduledPerBlock = MaxScheduledPerBlock; type WeightInfo = weights::pallet_scheduler::WeightInfo; type OriginPrivilegeCmp = OriginPrivilegeCmp; - type PreimageProvider = Preimage; - type NoPreimagePostponement = NoPreimagePostponement; + type Preimages = Preimage; } parameter_types! { @@ -362,8 +361,7 @@ parameter_types! { } impl pallet_democracy::Config for Runtime { - type Proposal = Call; - type Event = Event; + type RuntimeEvent = RuntimeEvent; type Currency = Balances; type EnactmentPeriod = constants::governance::EnactmentPeriod; type VoteLockingPeriod = constants::governance::VotingPeriod; @@ -402,15 +400,15 @@ impl pallet_democracy::Config for Runtime { // however they can only do it once and it lasts only for the cooloff period. type VetoOrigin = pallet_collective::EnsureMember; type CooloffPeriod = constants::governance::CooloffPeriod; - type PreimageByteDeposit = constants::ByteDeposit; type Slash = Treasury; type Scheduler = Scheduler; type PalletsOrigin = OriginCaller; type MaxVotes = MaxVotes; - type OperationalPreimageOrigin = pallet_collective::EnsureMember; - type MaxProposals = MaxProposals; - type WeightInfo = weights::pallet_democracy::WeightInfo; + type MaxProposals = MaxProposals; + type Preimages = Preimage; + type MaxDeposits = ConstU32<100>; + type MaxBlacklisted = ConstU32<100>; } parameter_types! { @@ -436,7 +434,7 @@ impl pallet_treasury::Config for Runtime { type Currency = Balances; type ApproveOrigin = ApproveOrigin; type RejectOrigin = MoreThanHalfCouncil; - type Event = Event; + type RuntimeEvent = RuntimeEvent; type OnSlash = Treasury; type ProposalBond = ProposalBond; type ProposalBondMinimum = ProposalBondMinimum; @@ -452,9 +450,9 @@ impl pallet_treasury::Config for Runtime { type CouncilCollective = pallet_collective::Instance1; impl pallet_collective::Config for Runtime { - type Origin = Origin; - type Proposal = Call; - type Event = Event; + type RuntimeOrigin = RuntimeOrigin; + type Proposal = RuntimeCall; + type RuntimeEvent = RuntimeEvent; type MotionDuration = constants::governance::CouncilMotionDuration; type MaxProposals = constants::governance::CouncilMaxProposals; type MaxMembers = constants::governance::CouncilMaxMembers; @@ -464,9 +462,9 @@ impl pallet_collective::Config for Runtime { type TechnicalCollective = pallet_collective::Instance2; impl pallet_collective::Config for Runtime { - type Origin = Origin; - type Proposal = Call; - type Event = Event; + type RuntimeOrigin = RuntimeOrigin; + type Proposal = RuntimeCall; + type RuntimeEvent = RuntimeEvent; type MotionDuration = constants::governance::TechnicalMotionDuration; type MaxProposals = constants::governance::TechnicalMaxProposals; type MaxMembers = constants::governance::TechnicalMaxMembers; @@ -476,7 +474,7 @@ impl pallet_collective::Config for Runtime { type TechnicalMembershipProvider = pallet_membership::Instance1; impl pallet_membership::Config for Runtime { - type Event = Event; + type RuntimeEvent = RuntimeEvent; type AddOrigin = MoreThanHalfCouncil; type RemoveOrigin = MoreThanHalfCouncil; type SwapOrigin = MoreThanHalfCouncil; @@ -490,7 +488,7 @@ impl pallet_membership::Config for Runtime { type TipsMembershipProvider = pallet_membership::Instance2; impl pallet_membership::Config for Runtime { - type Event = Event; + type RuntimeEvent = RuntimeEvent; type AddOrigin = MoreThanHalfCouncil; type RemoveOrigin = MoreThanHalfCouncil; type SwapOrigin = MoreThanHalfCouncil; @@ -509,7 +507,7 @@ impl pallet_tips::Config for Runtime { type TipCountdown = constants::tips::TipCountdown; type TipFindersFee = constants::tips::TipFindersFee; type TipReportDepositBase = constants::tips::TipReportDepositBase; - type Event = Event; + type RuntimeEvent = RuntimeEvent; type WeightInfo = weights::pallet_tips::WeightInfo; } @@ -517,7 +515,7 @@ impl attestation::Config for Runtime { type EnsureOrigin = did::EnsureDidOrigin; type OriginSuccess = did::DidRawOrigin; - type Event = Event; + type RuntimeEvent = RuntimeEvent; type WeightInfo = weights::attestation::WeightInfo; type Currency = Balances; @@ -545,7 +543,7 @@ impl delegation::Config for Runtime { #[cfg(feature = "runtime-benchmarks")] type DelegationSignatureVerification = AlwaysVerify, Self::Signature>; - type Event = Event; + type RuntimeEvent = RuntimeEvent; type MaxSignatureByteLength = constants::delegation::MaxSignatureByteLength; type MaxParentChecks = constants::delegation::MaxParentChecks; type MaxRevocations = constants::delegation::MaxRevocations; @@ -565,15 +563,15 @@ impl ctype::Config for Runtime { type EnsureOrigin = did::EnsureDidOrigin; type OriginSuccess = did::DidRawOrigin; - type Event = Event; + type RuntimeEvent = RuntimeEvent; type WeightInfo = weights::ctype::WeightInfo; } impl did::Config for Runtime { type DidIdentifier = DidIdentifier; - type Event = Event; - type Call = Call; - type Origin = Origin; + type RuntimeEvent = RuntimeEvent; + type RuntimeCall = RuntimeCall; + type RuntimeOrigin = RuntimeOrigin; type Currency = Balances; type Deposit = constants::did::DidDeposit; type Fee = constants::did::DidFee; @@ -603,7 +601,7 @@ impl did::Config for Runtime { } impl pallet_did_lookup::Config for Runtime { - type Event = Event; + type RuntimeEvent = RuntimeEvent; type DidIdentifier = DidIdentifier; @@ -622,7 +620,7 @@ impl pallet_web3_names::Config for Runtime { type OriginSuccess = did::DidRawOrigin; type Currency = Balances; type Deposit = constants::web3_names::Web3NameDeposit; - type Event = Event; + type RuntimeEvent = RuntimeEvent; type MaxNameLength = constants::web3_names::MaxNameLength; type MinNameLength = constants::web3_names::MinNameLength; type Web3Name = pallet_web3_names::web3_name::AsciiWeb3Name; @@ -639,7 +637,7 @@ impl pallet_inflation::Config for Runtime { } impl parachain_staking::Config for Runtime { - type Event = Event; + type RuntimeEvent = RuntimeEvent; type Currency = Balances; type CurrencyBalance = Balance; @@ -666,8 +664,8 @@ impl parachain_staking::Config for Runtime { } impl pallet_utility::Config for Runtime { - type Event = Event; - type Call = Call; + type RuntimeEvent = RuntimeEvent; + type RuntimeCall = RuntimeCall; type PalletsOrigin = OriginCaller; type WeightInfo = weights::pallet_utility::WeightInfo; } @@ -686,7 +684,7 @@ impl public_credentials::Config for Runtime { type MaxEncodedClaimsLength = runtime_common::constants::public_credentials::MaxEncodedClaimsLength; type MaxSubjectIdLength = runtime_common::constants::public_credentials::MaxSubjectIdLength; type OriginSuccess = did::DidRawOrigin; - type Event = Event; + type RuntimeEvent = RuntimeEvent; type SubjectId = runtime_common::assets::AssetDid; type WeightInfo = weights::public_credentials::WeightInfo; } @@ -717,51 +715,51 @@ impl Default for ProxyType { } } -impl InstanceFilter for ProxyType { - fn filter(&self, c: &Call) -> bool { +impl InstanceFilter for ProxyType { + fn filter(&self, c: &RuntimeCall) -> bool { match self { ProxyType::Any => true, ProxyType::NonTransfer => matches!( c, - Call::Attestation(..) - | Call::Authorship(..) + RuntimeCall::Attestation(..) + | RuntimeCall::Authorship(..) // Excludes `Balances` - | Call::Council(..) - | Call::Ctype(..) - | Call::Delegation(..) - | Call::Democracy(..) - | Call::Did(..) - | Call::DidLookup(..) - | Call::Indices( + | RuntimeCall::Council(..) + | RuntimeCall::Ctype(..) + | RuntimeCall::Delegation(..) + | RuntimeCall::Democracy(..) + | RuntimeCall::Did(..) + | RuntimeCall::DidLookup(..) + | RuntimeCall::Indices( // Excludes `force_transfer`, and `transfer` pallet_indices::Call::claim { .. } | pallet_indices::Call::free { .. } | pallet_indices::Call::freeze { .. } ) - | Call::ParachainStaking(..) + | RuntimeCall::ParachainStaking(..) // Excludes `ParachainSystem` - | Call::Preimage(..) - | Call::Proxy(..) - | Call::PublicCredentials(..) - | Call::Scheduler(..) - | Call::Session(..) - | Call::System(..) - | Call::TechnicalCommittee(..) - | Call::TechnicalMembership(..) - | Call::TipsMembership(..) - | Call::Timestamp(..) - | Call::Treasury(..) - | Call::Utility(..) - | Call::Vesting( + | RuntimeCall::Preimage(..) + | RuntimeCall::Proxy(..) + | RuntimeCall::PublicCredentials(..) + | RuntimeCall::Scheduler(..) + | RuntimeCall::Session(..) + | RuntimeCall::System(..) + | RuntimeCall::TechnicalCommittee(..) + | RuntimeCall::TechnicalMembership(..) + | RuntimeCall::TipsMembership(..) + | RuntimeCall::Timestamp(..) + | RuntimeCall::Treasury(..) + | RuntimeCall::Utility(..) + | RuntimeCall::Vesting( // Excludes `force_vested_transfer`, `merge_schedules`, and `vested_transfer` pallet_vesting::Call::vest { .. } | pallet_vesting::Call::vest_other { .. } ) - | Call::Web3Names(..), + | RuntimeCall::Web3Names(..), ), ProxyType::NonDepositClaiming => matches!( c, - Call::Attestation( + RuntimeCall::Attestation( // Excludes `reclaim_deposit` attestation::Call::add { .. } | attestation::Call::remove { .. } @@ -769,11 +767,11 @@ impl InstanceFilter for ProxyType { | attestation::Call::change_deposit_owner { .. } | attestation::Call::update_deposit { .. } ) - | Call::Authorship(..) + | RuntimeCall::Authorship(..) // Excludes `Balances` - | Call::Council(..) - | Call::Ctype(..) - | Call::Delegation( + | RuntimeCall::Council(..) + | RuntimeCall::Ctype(..) + | RuntimeCall::Delegation( // Excludes `reclaim_deposit` delegation::Call::add_delegation { .. } | delegation::Call::create_hierarchy { .. } @@ -782,8 +780,8 @@ impl InstanceFilter for ProxyType { | delegation::Call::update_deposit { .. } | delegation::Call::change_deposit_owner { .. } ) - | Call::Democracy(..) - | Call::Did( + | RuntimeCall::Democracy(..) + | RuntimeCall::Did( // Excludes `reclaim_deposit` did::Call::add_key_agreement_key { .. } | did::Call::add_service_endpoint { .. } @@ -800,7 +798,7 @@ impl InstanceFilter for ProxyType { | did::Call::update_deposit { .. } | did::Call::change_deposit_owner { .. } ) - | Call::DidLookup( + | RuntimeCall::DidLookup( // Excludes `reclaim_deposit` pallet_did_lookup::Call::associate_account { .. } | pallet_did_lookup::Call::associate_sender { .. } @@ -809,12 +807,12 @@ impl InstanceFilter for ProxyType { | pallet_did_lookup::Call::update_deposit { .. } | pallet_did_lookup::Call::change_deposit_owner { .. } ) - | Call::Indices(..) - | Call::ParachainStaking(..) + | RuntimeCall::Indices(..) + | RuntimeCall::ParachainStaking(..) // Excludes `ParachainSystem` - | Call::Preimage(..) - | Call::Proxy(..) - | Call::PublicCredentials( + | RuntimeCall::Preimage(..) + | RuntimeCall::Proxy(..) + | RuntimeCall::PublicCredentials( // Excludes `reclaim_deposit` public_credentials::Call::add { .. } | public_credentials::Call::revoke { .. } @@ -823,18 +821,18 @@ impl InstanceFilter for ProxyType { | public_credentials::Call::update_deposit { .. } | public_credentials::Call::change_deposit_owner { .. } ) - | Call::Scheduler(..) - | Call::Session(..) + | RuntimeCall::Scheduler(..) + | RuntimeCall::Session(..) // Excludes `Sudo` - | Call::System(..) - | Call::TechnicalCommittee(..) - | Call::TechnicalMembership(..) - | Call::TipsMembership(..) - | Call::Timestamp(..) - | Call::Treasury(..) - | Call::Utility(..) - | Call::Vesting(..) - | Call::Web3Names( + | RuntimeCall::System(..) + | RuntimeCall::TechnicalCommittee(..) + | RuntimeCall::TechnicalMembership(..) + | RuntimeCall::TipsMembership(..) + | RuntimeCall::Timestamp(..) + | RuntimeCall::Treasury(..) + | RuntimeCall::Utility(..) + | RuntimeCall::Vesting(..) + | RuntimeCall::Web3Names( // Excludes `ban`, and `reclaim_deposit` pallet_web3_names::Call::claim { .. } | pallet_web3_names::Call::release_by_owner { .. } @@ -845,17 +843,21 @@ impl InstanceFilter for ProxyType { ), ProxyType::Governance => matches!( c, - Call::Council(..) - | Call::Democracy(..) - | Call::TechnicalCommittee(..) - | Call::TechnicalMembership(..) - | Call::TipsMembership(..) - | Call::Treasury(..) | Call::Utility(..) + RuntimeCall::Council(..) + | RuntimeCall::Democracy(..) + | RuntimeCall::TechnicalCommittee(..) + | RuntimeCall::TechnicalMembership(..) + | RuntimeCall::TipsMembership(..) + | RuntimeCall::Treasury(..) + | RuntimeCall::Utility(..) ), ProxyType::ParachainStaking => { - matches!(c, Call::ParachainStaking(..) | Call::Session(..) | Call::Utility(..)) + matches!( + c, + RuntimeCall::ParachainStaking(..) | RuntimeCall::Session(..) | RuntimeCall::Utility(..) + ) } - ProxyType::CancelProxy => matches!(c, Call::Proxy(pallet_proxy::Call::reject_announcement { .. })), + ProxyType::CancelProxy => matches!(c, RuntimeCall::Proxy(pallet_proxy::Call::reject_announcement { .. })), } } @@ -879,8 +881,8 @@ impl InstanceFilter for ProxyType { } impl pallet_proxy::Config for Runtime { - type Event = Event; - type Call = Call; + type RuntimeEvent = RuntimeEvent; + type RuntimeCall = RuntimeCall; type Currency = Balances; type ProxyType = ProxyType; type ProxyDepositBase = constants::proxy::ProxyDepositBase; @@ -974,10 +976,10 @@ construct_runtime! { } } -impl did::DeriveDidCallAuthorizationVerificationKeyRelationship for Call { +impl did::DeriveDidCallAuthorizationVerificationKeyRelationship for RuntimeCall { fn derive_verification_key_relationship(&self) -> did::DeriveDidCallKeyRelationshipResult { /// ensure that all calls have the same VerificationKeyRelationship - fn single_key_relationship(calls: &[Call]) -> did::DeriveDidCallKeyRelationshipResult { + fn single_key_relationship(calls: &[RuntimeCall]) -> did::DeriveDidCallKeyRelationshipResult { let init = calls .get(0) .ok_or(did::RelationshipDeriveError::InvalidCallParameter)? @@ -985,7 +987,7 @@ impl did::DeriveDidCallAuthorizationVerificationKeyRelationship for Call { calls .iter() .skip(1) - .map(Call::derive_verification_key_relationship) + .map(RuntimeCall::derive_verification_key_relationship) .try_fold(init, |acc, next| { if next.is_err() { next @@ -997,18 +999,18 @@ impl did::DeriveDidCallAuthorizationVerificationKeyRelationship for Call { }) } match self { - Call::Attestation { .. } => Ok(did::DidVerificationKeyRelationship::AssertionMethod), - Call::Ctype { .. } => Ok(did::DidVerificationKeyRelationship::AssertionMethod), - Call::Delegation { .. } => Ok(did::DidVerificationKeyRelationship::CapabilityDelegation), + RuntimeCall::Attestation { .. } => Ok(did::DidVerificationKeyRelationship::AssertionMethod), + RuntimeCall::Ctype { .. } => Ok(did::DidVerificationKeyRelationship::AssertionMethod), + RuntimeCall::Delegation { .. } => Ok(did::DidVerificationKeyRelationship::CapabilityDelegation), // DID creation is not allowed through the DID proxy. - Call::Did(did::Call::create { .. }) => Err(did::RelationshipDeriveError::NotCallableByDid), - Call::Did { .. } => Ok(did::DidVerificationKeyRelationship::Authentication), - Call::Web3Names { .. } => Ok(did::DidVerificationKeyRelationship::Authentication), - Call::DidLookup { .. } => Ok(did::DidVerificationKeyRelationship::Authentication), - Call::PublicCredentials { .. } => Ok(did::DidVerificationKeyRelationship::AssertionMethod), - Call::Utility(pallet_utility::Call::batch { calls }) => single_key_relationship(&calls[..]), - Call::Utility(pallet_utility::Call::batch_all { calls }) => single_key_relationship(&calls[..]), - Call::Utility(pallet_utility::Call::force_batch { calls }) => single_key_relationship(&calls[..]), + RuntimeCall::Did(did::Call::create { .. }) => Err(did::RelationshipDeriveError::NotCallableByDid), + RuntimeCall::Did { .. } => Ok(did::DidVerificationKeyRelationship::Authentication), + RuntimeCall::Web3Names { .. } => Ok(did::DidVerificationKeyRelationship::Authentication), + RuntimeCall::DidLookup { .. } => Ok(did::DidVerificationKeyRelationship::Authentication), + RuntimeCall::PublicCredentials { .. } => Ok(did::DidVerificationKeyRelationship::AssertionMethod), + RuntimeCall::Utility(pallet_utility::Call::batch { calls }) => single_key_relationship(&calls[..]), + RuntimeCall::Utility(pallet_utility::Call::batch_all { calls }) => single_key_relationship(&calls[..]), + RuntimeCall::Utility(pallet_utility::Call::force_batch { calls }) => single_key_relationship(&calls[..]), #[cfg(not(feature = "runtime-benchmarks"))] _ => Err(did::RelationshipDeriveError::NotCallableByDid), // By default, returns the authentication key @@ -1020,7 +1022,7 @@ impl did::DeriveDidCallAuthorizationVerificationKeyRelationship for Call { // Always return a System::remark() extrinsic call #[cfg(feature = "runtime-benchmarks")] fn get_call_for_did_call_benchmark() -> Self { - Call::System(frame_system::Call::remark { remark: vec![] }) + RuntimeCall::System(frame_system::Call::remark { remark: vec![] }) } } @@ -1045,9 +1047,9 @@ pub type SignedExtra = ( pallet_transaction_payment::ChargeTransactionPayment, ); /// Unchecked extrinsic type as expected by this runtime. -pub type UncheckedExtrinsic = generic::UncheckedExtrinsic; +pub type UncheckedExtrinsic = generic::UncheckedExtrinsic; /// Extrinsic type that has already been checked. -pub type CheckedExtrinsic = generic::CheckedExtrinsic; +pub type CheckedExtrinsic = generic::CheckedExtrinsic; /// Executive: handles dispatch to the various modules. pub type Executive = frame_executive::Executive< Runtime, @@ -1056,9 +1058,55 @@ pub type Executive = frame_executive::Executive< Runtime, // Executes pallet hooks in the order of definition in construct_runtime AllPalletsWithSystem, - parachain_staking::migration::StakingPayoutRefactor, + ( + // "Bound uses of call" + pallet_preimage::migration::v1::Migration, + pallet_scheduler::migration::v3::MigrateToV4, + pallet_democracy::migrations::v1::Migration, + EthereumMigration, + ), >; +// follows Substrate's non destructive way of eliminating otherwise required +// repetion: https://github.com/paritytech/substrate/pull/10592 +#[cfg(feature = "runtime-benchmarks")] +#[macro_use] +extern crate frame_benchmarking; + +#[cfg(feature = "runtime-benchmarks")] +mod benches { + define_benchmarks!( + // KILT + [attestation, Attestation] + [ctype, Ctype] + [delegation, Delegation] + [did, Did] + [pallet_did_lookup, DidLookup] + [pallet_inflation, Inflation] + [parachain_staking, ParachainStaking] + [pallet_web3_names, Web3Names] + [public_credentials, PublicCredentials] + // Substrate + [frame_benchmarking::baseline, Baseline::] + [frame_system, SystemBench::] + [pallet_session, SessionBench::] + [pallet_balances, Balances] + [pallet_collective, Council] + [pallet_collective, TechnicalCommittee] + [pallet_democracy, Democracy] + [pallet_indices, Indices] + [pallet_membership, TechnicalMembership] + [pallet_preimage, Preimage] + [pallet_scheduler, Scheduler] + [pallet_timestamp, Timestamp] + [pallet_tips, Tips] + [pallet_treasury, Treasury] + [pallet_utility, Utility] + [pallet_vesting, Vesting] + [pallet_proxy, Proxy] + ); +} + impl_runtime_apis! { impl sp_api::Core for Runtime { fn version() -> RuntimeVersion { @@ -1099,6 +1147,23 @@ impl_runtime_apis! { } } + impl pallet_transaction_payment_rpc_runtime_api::TransactionPaymentCallApi + for Runtime + { + fn query_call_info( + call: RuntimeCall, + len: u32, + ) -> pallet_transaction_payment::RuntimeDispatchInfo { + TransactionPayment::query_call_info(call, len) + } + fn query_call_fee_details( + call: RuntimeCall, + len: u32, + ) -> pallet_transaction_payment::FeeDetails { + TransactionPayment::query_call_fee_details(call, len) + } + } + impl sp_block_builder::BlockBuilder for Runtime { fn apply_extrinsic( extrinsic: ::Extrinsic, @@ -1289,59 +1354,31 @@ impl_runtime_apis! { Vec, Vec, ) { - use frame_benchmarking::{list_benchmark, baseline, Benchmarking, BenchmarkList}; + use frame_benchmarking::{Benchmarking, BenchmarkList}; use frame_support::traits::StorageInfoTrait; + use frame_system_benchmarking::Pallet as SystemBench; use cumulus_pallet_session_benchmarking::Pallet as SessionBench; - use baseline::Pallet as BaselineBench; + use frame_benchmarking::baseline::Pallet as Baseline; let mut list = Vec::::new(); - - // Substrate - list_benchmark!(list, extra, frame_benchmarking, BaselineBench::); - list_benchmark!(list, extra, frame_system, SystemBench::); - list_benchmark!(list, extra, pallet_session, SessionBench::); - list_benchmark!(list, extra, pallet_balances, Balances); - list_benchmark!(list, extra, pallet_collective, Council); - list_benchmark!(list, extra, pallet_democracy, Democracy); - list_benchmark!(list, extra, pallet_indices, Indices); - list_benchmark!(list, extra, pallet_membership, TechnicalMembership); - list_benchmark!(list, extra, pallet_preimage, Preimage); - list_benchmark!(list, extra, pallet_scheduler, Scheduler); - list_benchmark!(list, extra, pallet_timestamp, Timestamp); - list_benchmark!(list, extra, pallet_tips, Tips); - list_benchmark!(list, extra, pallet_treasury, Treasury); - list_benchmark!(list, extra, pallet_utility, Utility); - list_benchmark!(list, extra, pallet_vesting, Vesting); - list_benchmark!(list, extra, pallet_proxy, Proxy); - - // KILT - list_benchmark!(list, extra, attestation, Attestation); - list_benchmark!(list, extra, ctype, Ctype); - list_benchmark!(list, extra, delegation, Delegation); - list_benchmark!(list, extra, did, Did); - list_benchmark!(list, extra, pallet_did_lookup, DidLookup); - list_benchmark!(list, extra, pallet_inflation, Inflation); - list_benchmark!(list, extra, parachain_staking, ParachainStaking); - list_benchmark!(list, extra, pallet_web3_names, Web3Names); - list_benchmark!(list, extra, public_credentials, PublicCredentials); + list_benchmarks!(list, extra); let storage_info = AllPalletsWithSystem::storage_info(); - (list, storage_info) } fn dispatch_benchmark( config: frame_benchmarking::BenchmarkConfig ) -> Result, sp_runtime::RuntimeString> { - use frame_benchmarking::{baseline, Benchmarking, BenchmarkBatch, add_benchmark, TrackedStorageKey}; + use frame_benchmarking::{Benchmarking, BenchmarkBatch, TrackedStorageKey}; use frame_system_benchmarking::Pallet as SystemBench; use cumulus_pallet_session_benchmarking::Pallet as SessionBench; - use baseline::Pallet as BaselineBench; + use frame_benchmarking::baseline::Pallet as Baseline; impl frame_system_benchmarking::Config for Runtime {} impl cumulus_pallet_session_benchmarking::Config for Runtime {} - impl baseline::Config for Runtime {} + impl frame_benchmarking::baseline::Config for Runtime {} let whitelist: Vec = vec![ // Block Number @@ -1364,38 +1401,7 @@ impl_runtime_apis! { let mut batches = Vec::::new(); let params = (&config, &whitelist); - // Substrate - add_benchmark!(params, batches, frame_benchmarking, BaselineBench::); - add_benchmark!(params, batches, pallet_balances, Balances); - add_benchmark!(params, batches, pallet_collective, Council); - add_benchmark!(params, batches, pallet_democracy, Democracy); - add_benchmark!(params, batches, pallet_indices, Indices); - add_benchmark!(params, batches, pallet_membership, TechnicalMembership); - add_benchmark!(params, batches, pallet_preimage, Preimage); - add_benchmark!(params, batches, pallet_scheduler, Scheduler); - add_benchmark!(params, batches, pallet_session, SessionBench::); - add_benchmark!(params, batches, frame_system, SystemBench::); - add_benchmark!(params, batches, pallet_timestamp, Timestamp); - add_benchmark!(params, batches, pallet_tips, Tips); - add_benchmark!(params, batches, pallet_treasury, Treasury); - add_benchmark!(params, batches, pallet_utility, Utility); - add_benchmark!(params, batches, pallet_vesting, Vesting); - add_benchmark!(params, batches, pallet_proxy, Proxy); - - // KILT - add_benchmark!(params, batches, attestation, Attestation); - add_benchmark!(params, batches, ctype, Ctype); - add_benchmark!(params, batches, delegation, Delegation); - add_benchmark!(params, batches, did, Did); - add_benchmark!(params, batches, pallet_did_lookup, DidLookup); - add_benchmark!(params, batches, pallet_inflation, Inflation); - add_benchmark!(params, batches, parachain_staking, ParachainStaking); - add_benchmark!(params, batches, pallet_web3_names, Web3Names); - add_benchmark!(params, batches, public_credentials, PublicCredentials); - - // No benchmarks for these pallets - // add_benchmark!(params, batches, cumulus_pallet_parachain_system, ParachainSystem); - // add_benchmark!(params, batches, parachain_info, ParachainInfo); + add_benchmarks!(params, batches); if batches.is_empty() { return Err("Benchmark not found for this pallet.".into()) } Ok(batches) diff --git a/runtimes/peregrine/src/tests.rs b/runtimes/peregrine/src/tests.rs index ac491f507..0009a6c1d 100644 --- a/runtimes/peregrine/src/tests.rs +++ b/runtimes/peregrine/src/tests.rs @@ -32,15 +32,15 @@ use runtime_common::{ AccountId, BlockNumber, }; -use super::{Call, Runtime}; +use super::{Runtime, RuntimeCall}; #[test] fn call_size() { assert!( - core::mem::size_of::() <= 272, + core::mem::size_of::() <= 272, "size of Call is {:?} bytes which is more than 240 bytes: some calls have too big arguments, use Box to reduce the size of Call. If the limit is too strong, maybe consider increase the limit to 300.", - core::mem::size_of::(), + core::mem::size_of::(), ); } @@ -118,20 +118,20 @@ fn public_credentials_storage_sizes() { #[test] fn test_derive_did_verification_relation_ctype() { - let c1 = Call::Ctype(ctype::Call::add { + let c1 = RuntimeCall::Ctype(ctype::Call::add { ctype: vec![0, 1, 2, 3], }); - let c2 = Call::Ctype(ctype::Call::add { + let c2 = RuntimeCall::Ctype(ctype::Call::add { ctype: vec![0, 1, 2, 3, 3], }); - let c3 = Call::Ctype(ctype::Call::add { + let c3 = RuntimeCall::Ctype(ctype::Call::add { ctype: vec![0, 1, 2, 3, 3], }); - let c4 = Call::Ctype(ctype::Call::add { + let c4 = RuntimeCall::Ctype(ctype::Call::add { ctype: vec![0, 1, 2, 100], }); - let cb = Call::Utility(pallet_utility::Call::batch { + let cb = RuntimeCall::Utility(pallet_utility::Call::batch { calls: vec![c1, c2, c3, c4], }); assert_eq!( @@ -143,7 +143,7 @@ fn test_derive_did_verification_relation_ctype() { #[test] fn test_derive_did_key_web3name() { assert_eq!( - Call::Web3Names(pallet_web3_names::Call::claim { + RuntimeCall::Web3Names(pallet_web3_names::Call::claim { name: b"test-name".to_vec().try_into().unwrap() }) .derive_verification_key_relationship(), @@ -151,7 +151,7 @@ fn test_derive_did_key_web3name() { ); assert_eq!( - Call::Web3Names(pallet_web3_names::Call::release_by_owner {}).derive_verification_key_relationship(), + RuntimeCall::Web3Names(pallet_web3_names::Call::release_by_owner {}).derive_verification_key_relationship(), Ok(did::DidVerificationKeyRelationship::Authentication) ); } @@ -159,7 +159,7 @@ fn test_derive_did_key_web3name() { #[test] fn test_derive_did_key_lookup() { assert_eq!( - Call::DidLookup(pallet_did_lookup::Call::associate_account { + RuntimeCall::DidLookup(pallet_did_lookup::Call::associate_account { req: AssociateAccountRequest::Dotsama( AccountId::new([1u8; 32]), sp_runtime::MultiSignature::from(sp_core::ed25519::Signature([0; 64])) @@ -171,7 +171,7 @@ fn test_derive_did_key_lookup() { ); assert_eq!( - Call::DidLookup(pallet_did_lookup::Call::remove_account_association { + RuntimeCall::DidLookup(pallet_did_lookup::Call::remove_account_association { account: AccountId::new([1u8; 32]).into(), }) .derive_verification_key_relationship(), @@ -181,20 +181,20 @@ fn test_derive_did_key_lookup() { #[test] fn test_derive_did_verification_relation_fail() { - let c1 = Call::Ctype(ctype::Call::add { + let c1 = RuntimeCall::Ctype(ctype::Call::add { ctype: vec![0, 1, 2, 3], }); - let c2 = Call::Ctype(ctype::Call::add { + let c2 = RuntimeCall::Ctype(ctype::Call::add { ctype: vec![0, 1, 2, 3, 3], }); - let c3 = Call::System(frame_system::Call::remark { + let c3 = RuntimeCall::System(frame_system::Call::remark { remark: vec![0, 1, 2, 3, 3], }); - let c4 = Call::Ctype(ctype::Call::add { + let c4 = RuntimeCall::Ctype(ctype::Call::add { ctype: vec![0, 1, 2, 100], }); - let cb = Call::Utility(pallet_utility::Call::batch { + let cb = RuntimeCall::Utility(pallet_utility::Call::batch { calls: vec![c1, c2, c3, c4], }); @@ -212,24 +212,24 @@ fn test_derive_did_verification_relation_fail() { #[test] fn test_derive_did_verification_relation_nested_fail() { - let c1 = Call::Ctype(ctype::Call::add { + let c1 = RuntimeCall::Ctype(ctype::Call::add { ctype: vec![0, 1, 2, 3], }); - let c2 = Call::Ctype(ctype::Call::add { + let c2 = RuntimeCall::Ctype(ctype::Call::add { ctype: vec![0, 1, 2, 3, 3], }); - let f3 = Call::System(frame_system::Call::remark { + let f3 = RuntimeCall::System(frame_system::Call::remark { remark: vec![0, 1, 2, 3, 3], }); - let c4 = Call::Ctype(ctype::Call::add { + let c4 = RuntimeCall::Ctype(ctype::Call::add { ctype: vec![0, 1, 2, 100], }); - let cb = Call::Utility(pallet_utility::Call::batch { + let cb = RuntimeCall::Utility(pallet_utility::Call::batch { calls: vec![c1.clone(), c2.clone(), c4.clone()], }); - let cb = Call::Utility(pallet_utility::Call::batch { + let cb = RuntimeCall::Utility(pallet_utility::Call::batch { calls: vec![c1, c2, cb, f3, c4], }); @@ -247,21 +247,21 @@ fn test_derive_did_verification_relation_nested_fail() { #[test] fn test_derive_did_verification_relation_nested() { - let c1 = Call::Ctype(ctype::Call::add { + let c1 = RuntimeCall::Ctype(ctype::Call::add { ctype: vec![0, 1, 2, 3], }); - let c2 = Call::Ctype(ctype::Call::add { + let c2 = RuntimeCall::Ctype(ctype::Call::add { ctype: vec![0, 1, 2, 3, 3], }); - let c4 = Call::Ctype(ctype::Call::add { + let c4 = RuntimeCall::Ctype(ctype::Call::add { ctype: vec![0, 1, 2, 100], }); - let cb = Call::Utility(pallet_utility::Call::batch { + let cb = RuntimeCall::Utility(pallet_utility::Call::batch { calls: vec![c1.clone(), c2.clone(), c4.clone()], }); - let cb = Call::Utility(pallet_utility::Call::batch { + let cb = RuntimeCall::Utility(pallet_utility::Call::batch { calls: vec![c1, c2, cb, c4], }); assert_eq!( @@ -272,11 +272,11 @@ fn test_derive_did_verification_relation_nested() { #[test] fn test_derive_did_verification_relation_single() { - let c1 = Call::Ctype(ctype::Call::add { + let c1 = RuntimeCall::Ctype(ctype::Call::add { ctype: vec![0, 1, 2, 3], }); - let cb = Call::Utility(pallet_utility::Call::batch { calls: vec![c1] }); + let cb = RuntimeCall::Utility(pallet_utility::Call::batch { calls: vec![c1] }); assert_eq!( cb.derive_verification_key_relationship(), @@ -286,7 +286,7 @@ fn test_derive_did_verification_relation_single() { #[test] fn test_derive_did_verification_relation_empty() { - let cb = Call::Utility(pallet_utility::Call::batch { calls: vec![] }); + let cb = RuntimeCall::Utility(pallet_utility::Call::batch { calls: vec![] }); assert_eq!( cb.derive_verification_key_relationship(), diff --git a/runtimes/peregrine/src/weights/pallet_democracy.rs b/runtimes/peregrine/src/weights/pallet_democracy.rs index 1b86b8b52..a5e8e2ae1 100644 --- a/runtimes/peregrine/src/weights/pallet_democracy.rs +++ b/runtimes/peregrine/src/weights/pallet_democracy.rs @@ -45,7 +45,6 @@ use frame_support::{traits::Get, weights::Weight}; use sp_std::marker::PhantomData; -/// Weights for `pallet_democracy`. pub struct WeightInfo(PhantomData); impl pallet_democracy::WeightInfo for WeightInfo { // Storage: Democracy PublicPropCount (r:1 w:1) @@ -53,125 +52,117 @@ impl pallet_democracy::WeightInfo for WeightInfo { // Storage: Democracy Blacklist (r:1 w:0) // Storage: Democracy DepositOf (r:0 w:1) fn propose() -> Weight { - Weight::from_ref_time(83_287_000 as u64) + // Minimum execution time: 42_035 nanoseconds. + Weight::from_ref_time(42_673_000 as u64) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } // Storage: Democracy DepositOf (r:1 w:1) - fn second(s: u32, ) -> Weight { - Weight::from_ref_time(56_941_000 as u64) - // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(155_000 as u64).saturating_mul(s as u64)) + fn second() -> Weight { + // Minimum execution time: 37_908 nanoseconds. + Weight::from_ref_time(39_524_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Democracy ReferendumInfoOf (r:1 w:1) // Storage: Democracy VotingOf (r:1 w:1) // Storage: Balances Locks (r:1 w:1) - fn vote_new(r: u32, ) -> Weight { - Weight::from_ref_time(73_223_000 as u64) - // Standard Error: 2_000 - .saturating_add(Weight::from_ref_time(147_000 as u64).saturating_mul(r as u64)) + fn vote_new() -> Weight { + // Minimum execution time: 48_027 nanoseconds. + Weight::from_ref_time(48_672_000 as u64) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } // Storage: Democracy ReferendumInfoOf (r:1 w:1) // Storage: Democracy VotingOf (r:1 w:1) // Storage: Balances Locks (r:1 w:1) - fn vote_existing(r: u32, ) -> Weight { - Weight::from_ref_time(72_313_000 as u64) - // Standard Error: 3_000 - .saturating_add(Weight::from_ref_time(174_000 as u64).saturating_mul(r as u64)) + fn vote_existing() -> Weight { + // Minimum execution time: 48_623 nanoseconds. + Weight::from_ref_time(49_248_000 as u64) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } // Storage: Democracy ReferendumInfoOf (r:1 w:1) // Storage: Democracy Cancellations (r:1 w:1) fn emergency_cancel() -> Weight { - Weight::from_ref_time(35_782_000 as u64) + // Minimum execution time: 19_752 nanoseconds. + Weight::from_ref_time(20_235_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Democracy PublicProps (r:1 w:1) + // Storage: Democracy DepositOf (r:1 w:1) + // Storage: System Account (r:1 w:1) // Storage: Democracy NextExternal (r:1 w:1) // Storage: Democracy ReferendumInfoOf (r:1 w:1) // Storage: Democracy Blacklist (r:0 w:1) - // Storage: Democracy DepositOf (r:1 w:1) - // Storage: System Account (r:2 w:2) - fn blacklist(p: u32, ) -> Weight { - Weight::from_ref_time(92_163_000 as u64) - // Standard Error: 10_000 - .saturating_add(Weight::from_ref_time(388_000 as u64).saturating_mul(p as u64)) - .saturating_add(T::DbWeight::get().reads(6 as u64)) - .saturating_add(T::DbWeight::get().writes(7 as u64)) + fn blacklist() -> Weight { + // Minimum execution time: 75_593 nanoseconds. + Weight::from_ref_time(76_707_000 as u64) + .saturating_add(T::DbWeight::get().reads(5 as u64)) + .saturating_add(T::DbWeight::get().writes(6 as u64)) } // Storage: Democracy NextExternal (r:1 w:1) // Storage: Democracy Blacklist (r:1 w:0) - fn external_propose(v: u32, ) -> Weight { - Weight::from_ref_time(25_305_000 as u64) - // Standard Error: 0 - .saturating_add(Weight::from_ref_time(22_000 as u64).saturating_mul(v as u64)) + fn external_propose() -> Weight { + // Minimum execution time: 15_433 nanoseconds. + Weight::from_ref_time(15_751_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Democracy NextExternal (r:0 w:1) fn external_propose_majority() -> Weight { - Weight::from_ref_time(8_506_000 as u64) + // Minimum execution time: 4_187 nanoseconds. + Weight::from_ref_time(4_344_000 as u64) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Democracy NextExternal (r:0 w:1) fn external_propose_default() -> Weight { - Weight::from_ref_time(8_419_000 as u64) + // Minimum execution time: 4_424 nanoseconds. + Weight::from_ref_time(4_522_000 as u64) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Democracy NextExternal (r:1 w:1) // Storage: Democracy ReferendumCount (r:1 w:1) // Storage: Democracy ReferendumInfoOf (r:0 w:1) fn fast_track() -> Weight { - Weight::from_ref_time(36_563_000 as u64) + // Minimum execution time: 18_919 nanoseconds. + Weight::from_ref_time(19_574_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } // Storage: Democracy NextExternal (r:1 w:1) // Storage: Democracy Blacklist (r:1 w:1) - fn veto_external(v: u32, ) -> Weight { - Weight::from_ref_time(39_075_000 as u64) - // Standard Error: 0 - .saturating_add(Weight::from_ref_time(37_000 as u64).saturating_mul(v as u64)) + fn veto_external() -> Weight { + // Minimum execution time: 24_749 nanoseconds. + Weight::from_ref_time(25_443_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Democracy PublicProps (r:1 w:1) // Storage: Democracy DepositOf (r:1 w:1) - // Storage: System Account (r:2 w:2) - fn cancel_proposal(p: u32, ) -> Weight { - Weight::from_ref_time(78_045_000 as u64) - // Standard Error: 2_000 - .saturating_add(Weight::from_ref_time(320_000 as u64).saturating_mul(p as u64)) - .saturating_add(T::DbWeight::get().reads(4 as u64)) - .saturating_add(T::DbWeight::get().writes(4 as u64)) + // Storage: System Account (r:1 w:1) + fn cancel_proposal() -> Weight { + // Minimum execution time: 63_025 nanoseconds. + Weight::from_ref_time(64_438_000 as u64) + .saturating_add(T::DbWeight::get().reads(3 as u64)) + .saturating_add(T::DbWeight::get().writes(3 as u64)) } // Storage: Democracy ReferendumInfoOf (r:0 w:1) fn cancel_referendum() -> Weight { - Weight::from_ref_time(23_842_000 as u64) + // Minimum execution time: 12_754 nanoseconds. + Weight::from_ref_time(13_249_000 as u64) .saturating_add(T::DbWeight::get().writes(1 as u64)) } - // Storage: Scheduler Lookup (r:1 w:1) - // Storage: Scheduler Agenda (r:1 w:1) - fn cancel_queued(r: u32, ) -> Weight { - Weight::from_ref_time(41_080_000 as u64) - // Standard Error: 2_000 - .saturating_add(Weight::from_ref_time(1_001_000 as u64).saturating_mul(r as u64)) - .saturating_add(T::DbWeight::get().reads(2 as u64)) - .saturating_add(T::DbWeight::get().writes(2 as u64)) - } // Storage: Democracy LowestUnbaked (r:1 w:1) // Storage: Democracy ReferendumCount (r:1 w:0) - // Storage: Democracy ReferendumInfoOf (r:1 w:0) + // Storage: Democracy ReferendumInfoOf (r:2 w:0) + /// The range of component `r` is `[0, 99]`. fn on_initialize_base(r: u32, ) -> Weight { - Weight::from_ref_time(19_412_000 as u64) - // Standard Error: 4_000 - .saturating_add(Weight::from_ref_time(3_021_000 as u64).saturating_mul(r as u64)) + // Minimum execution time: 6_036 nanoseconds. + Weight::from_ref_time(9_221_096 as u64) + // Standard Error: 3_753 + .saturating_add(Weight::from_ref_time(2_068_013 as u64).saturating_mul(r as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(r as u64))) .saturating_add(T::DbWeight::get().writes(1 as u64)) @@ -181,33 +172,39 @@ impl pallet_democracy::WeightInfo for WeightInfo { // Storage: Democracy LastTabledWasExternal (r:1 w:0) // Storage: Democracy NextExternal (r:1 w:0) // Storage: Democracy PublicProps (r:1 w:0) - // Storage: Democracy ReferendumInfoOf (r:1 w:0) + // Storage: Democracy ReferendumInfoOf (r:2 w:0) + /// The range of component `r` is `[0, 99]`. fn on_initialize_base_with_launch_period(r: u32, ) -> Weight { - Weight::from_ref_time(22_572_000 as u64) - // Standard Error: 4_000 - .saturating_add(Weight::from_ref_time(3_039_000 as u64).saturating_mul(r as u64)) + // Minimum execution time: 8_435 nanoseconds. + Weight::from_ref_time(11_539_062 as u64) + // Standard Error: 3_966 + .saturating_add(Weight::from_ref_time(2_069_630 as u64).saturating_mul(r as u64)) .saturating_add(T::DbWeight::get().reads(5 as u64)) .saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(r as u64))) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Democracy VotingOf (r:3 w:3) - // Storage: Democracy ReferendumInfoOf (r:1 w:1) // Storage: Balances Locks (r:1 w:1) + // Storage: Democracy ReferendumInfoOf (r:2 w:2) + /// The range of component `r` is `[0, 99]`. fn delegate(r: u32, ) -> Weight { - Weight::from_ref_time(78_745_000 as u64) - // Standard Error: 6_000 - .saturating_add(Weight::from_ref_time(4_781_000 as u64).saturating_mul(r as u64)) + // Minimum execution time: 39_949 nanoseconds. + Weight::from_ref_time(46_035_539 as u64) + // Standard Error: 5_044 + .saturating_add(Weight::from_ref_time(2_971_650 as u64).saturating_mul(r as u64)) .saturating_add(T::DbWeight::get().reads(4 as u64)) .saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(r as u64))) .saturating_add(T::DbWeight::get().writes(4 as u64)) .saturating_add(T::DbWeight::get().writes((1 as u64).saturating_mul(r as u64))) } // Storage: Democracy VotingOf (r:2 w:2) - // Storage: Democracy ReferendumInfoOf (r:1 w:1) + // Storage: Democracy ReferendumInfoOf (r:2 w:2) + /// The range of component `r` is `[0, 99]`. fn undelegate(r: u32, ) -> Weight { - Weight::from_ref_time(46_025_000 as u64) - // Standard Error: 5_000 - .saturating_add(Weight::from_ref_time(4_799_000 as u64).saturating_mul(r as u64)) + // Minimum execution time: 23_826 nanoseconds. + Weight::from_ref_time(27_032_402 as u64) + // Standard Error: 4_525 + .saturating_add(Weight::from_ref_time(2_958_429 as u64).saturating_mul(r as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(r as u64))) .saturating_add(T::DbWeight::get().writes(2 as u64)) @@ -215,70 +212,55 @@ impl pallet_democracy::WeightInfo for WeightInfo { } // Storage: Democracy PublicProps (r:0 w:1) fn clear_public_proposals() -> Weight { - Weight::from_ref_time(10_571_000 as u64) - .saturating_add(T::DbWeight::get().writes(1 as u64)) - } - // Storage: Democracy Preimages (r:1 w:1) - fn note_preimage(b: u32, ) -> Weight { - Weight::from_ref_time(52_121_000 as u64) - // Standard Error: 0 - .saturating_add(Weight::from_ref_time(2_000 as u64).saturating_mul(b as u64)) - .saturating_add(T::DbWeight::get().reads(1 as u64)) - .saturating_add(T::DbWeight::get().writes(1 as u64)) - } - // Storage: Democracy Preimages (r:1 w:1) - fn note_imminent_preimage(b: u32, ) -> Weight { - Weight::from_ref_time(39_182_000 as u64) - // Standard Error: 0 - .saturating_add(Weight::from_ref_time(2_000 as u64).saturating_mul(b as u64)) - .saturating_add(T::DbWeight::get().reads(1 as u64)) + // Minimum execution time: 4_775 nanoseconds. + Weight::from_ref_time(5_033_000 as u64) .saturating_add(T::DbWeight::get().writes(1 as u64)) } - // Storage: Democracy Preimages (r:1 w:1) - // Storage: System Account (r:1 w:1) - fn reap_preimage(b: u32, ) -> Weight { - Weight::from_ref_time(64_953_000 as u64) - // Standard Error: 0 - .saturating_add(Weight::from_ref_time(1_000 as u64).saturating_mul(b as u64)) - .saturating_add(T::DbWeight::get().reads(2 as u64)) - .saturating_add(T::DbWeight::get().writes(2 as u64)) - } // Storage: Democracy VotingOf (r:1 w:1) // Storage: Balances Locks (r:1 w:1) // Storage: System Account (r:1 w:1) + /// The range of component `r` is `[0, 99]`. fn unlock_remove(r: u32, ) -> Weight { - Weight::from_ref_time(53_731_000 as u64) - // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(102_000 as u64).saturating_mul(r as u64)) + // Minimum execution time: 23_245 nanoseconds. + Weight::from_ref_time(30_061_940 as u64) + // Standard Error: 1_523 + .saturating_add(Weight::from_ref_time(34_810 as u64).saturating_mul(r as u64)) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } // Storage: Democracy VotingOf (r:1 w:1) // Storage: Balances Locks (r:1 w:1) // Storage: System Account (r:1 w:1) + /// The range of component `r` is `[0, 99]`. fn unlock_set(r: u32, ) -> Weight { - Weight::from_ref_time(53_668_000 as u64) - // Standard Error: 2_000 - .saturating_add(Weight::from_ref_time(140_000 as u64).saturating_mul(r as u64)) + // Minimum execution time: 28_063 nanoseconds. + Weight::from_ref_time(30_002_043 as u64) + // Standard Error: 636 + .saturating_add(Weight::from_ref_time(67_182 as u64).saturating_mul(r as u64)) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } // Storage: Democracy ReferendumInfoOf (r:1 w:1) // Storage: Democracy VotingOf (r:1 w:1) + /// The range of component `r` is `[1, 100]`. fn remove_vote(r: u32, ) -> Weight { - Weight::from_ref_time(31_346_000 as u64) - // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(186_000 as u64).saturating_mul(r as u64)) + // Minimum execution time: 15_306 nanoseconds. + Weight::from_ref_time(17_690_130 as u64) + // Standard Error: 836 + .saturating_add(Weight::from_ref_time(68_122 as u64).saturating_mul(r as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Democracy ReferendumInfoOf (r:1 w:1) // Storage: Democracy VotingOf (r:1 w:1) + /// The range of component `r` is `[1, 100]`. fn remove_other_vote(r: u32, ) -> Weight { - Weight::from_ref_time(31_787_000 as u64) - // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(191_000 as u64).saturating_mul(r as u64)) + // Minimum execution time: 15_392 nanoseconds. + Weight::from_ref_time(17_610_812 as u64) + // Standard Error: 819 + .saturating_add(Weight::from_ref_time(69_086 as u64).saturating_mul(r as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } } + diff --git a/runtimes/peregrine/src/weights/pallet_proxy.rs b/runtimes/peregrine/src/weights/pallet_proxy.rs index 1ef2aa2c3..8c079f076 100644 --- a/runtimes/peregrine/src/weights/pallet_proxy.rs +++ b/runtimes/peregrine/src/weights/pallet_proxy.rs @@ -49,90 +49,120 @@ use sp_std::marker::PhantomData; pub struct WeightInfo(PhantomData); impl pallet_proxy::WeightInfo for WeightInfo { // Storage: Proxy Proxies (r:1 w:0) + /// The range of component `p` is `[1, 31]`. fn proxy(p: u32, ) -> Weight { - Weight::from_ref_time(35_453_000 as u64) - // Standard Error: 4_000 - .saturating_add(Weight::from_ref_time(116_000 as u64).saturating_mul(p as u64)) + // Minimum execution time: 19_011 nanoseconds. + Weight::from_ref_time(20_076_741 as u64) + // Standard Error: 1_518 + .saturating_add(Weight::from_ref_time(55_831 as u64).saturating_mul(p as u64)) .saturating_add(T::DbWeight::get().reads(1 as u64)) } // Storage: Proxy Proxies (r:1 w:0) // Storage: Proxy Announcements (r:1 w:1) // Storage: System Account (r:1 w:1) - fn proxy_announced(a: u32, _p: u32, ) -> Weight { - Weight::from_ref_time(63_669_000 as u64) - // Standard Error: 7_000 - .saturating_add(Weight::from_ref_time(354_000 as u64).saturating_mul(a as u64)) + /// The range of component `a` is `[0, 31]`. + /// The range of component `p` is `[1, 31]`. + fn proxy_announced(a: u32, p: u32, ) -> Weight { + // Minimum execution time: 37_088 nanoseconds. + Weight::from_ref_time(36_581_632 as u64) + // Standard Error: 1_964 + .saturating_add(Weight::from_ref_time(116_190 as u64).saturating_mul(a as u64)) + // Standard Error: 2_030 + .saturating_add(Weight::from_ref_time(41_547 as u64).saturating_mul(p as u64)) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Proxy Announcements (r:1 w:1) // Storage: System Account (r:1 w:1) - fn remove_announcement(a: u32, _p: u32, ) -> Weight { - Weight::from_ref_time(46_106_000 as u64) - // Standard Error: 6_000 - .saturating_add(Weight::from_ref_time(362_000 as u64).saturating_mul(a as u64)) + /// The range of component `a` is `[0, 31]`. + /// The range of component `p` is `[1, 31]`. + fn remove_announcement(a: u32, p: u32, ) -> Weight { + // Minimum execution time: 25_299 nanoseconds. + Weight::from_ref_time(26_801_993 as u64) + // Standard Error: 2_746 + .saturating_add(Weight::from_ref_time(102_732 as u64).saturating_mul(a as u64)) + // Standard Error: 2_837 + .saturating_add(Weight::from_ref_time(318 as u64).saturating_mul(p as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Proxy Announcements (r:1 w:1) // Storage: System Account (r:1 w:1) - fn reject_announcement(a: u32, _p: u32, ) -> Weight { - Weight::from_ref_time(46_507_000 as u64) - // Standard Error: 5_000 - .saturating_add(Weight::from_ref_time(306_000 as u64).saturating_mul(a as u64)) + /// The range of component `a` is `[0, 31]`. + /// The range of component `p` is `[1, 31]`. + fn reject_announcement(a: u32, p: u32, ) -> Weight { + // Minimum execution time: 25_178 nanoseconds. + Weight::from_ref_time(26_248_780 as u64) + // Standard Error: 1_710 + .saturating_add(Weight::from_ref_time(116_285 as u64).saturating_mul(a as u64)) + // Standard Error: 1_767 + .saturating_add(Weight::from_ref_time(1_860 as u64).saturating_mul(p as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Proxy Proxies (r:1 w:0) // Storage: Proxy Announcements (r:1 w:1) // Storage: System Account (r:1 w:1) + /// The range of component `a` is `[0, 31]`. + /// The range of component `p` is `[1, 31]`. fn announce(a: u32, p: u32, ) -> Weight { - Weight::from_ref_time(56_879_000 as u64) - // Standard Error: 8_000 - .saturating_add(Weight::from_ref_time(425_000 as u64).saturating_mul(a as u64)) - // Standard Error: 8_000 - .saturating_add(Weight::from_ref_time(41_000 as u64).saturating_mul(p as u64)) + // Minimum execution time: 32_878 nanoseconds. + Weight::from_ref_time(34_386_513 as u64) + // Standard Error: 1_955 + .saturating_add(Weight::from_ref_time(97_872 as u64).saturating_mul(a as u64)) + // Standard Error: 2_020 + .saturating_add(Weight::from_ref_time(25_879 as u64).saturating_mul(p as u64)) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Proxy Proxies (r:1 w:1) + /// The range of component `p` is `[1, 31]`. fn add_proxy(p: u32, ) -> Weight { - Weight::from_ref_time(50_431_000 as u64) - // Standard Error: 4_000 - .saturating_add(Weight::from_ref_time(153_000 as u64).saturating_mul(p as u64)) + // Minimum execution time: 26_410 nanoseconds. + Weight::from_ref_time(27_653_752 as u64) + // Standard Error: 2_000 + .saturating_add(Weight::from_ref_time(57_860 as u64).saturating_mul(p as u64)) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Proxy Proxies (r:1 w:1) + /// The range of component `p` is `[1, 31]`. fn remove_proxy(p: u32, ) -> Weight { - Weight::from_ref_time(50_457_000 as u64) - // Standard Error: 5_000 - .saturating_add(Weight::from_ref_time(223_000 as u64).saturating_mul(p as u64)) + // Minimum execution time: 26_506 nanoseconds. + Weight::from_ref_time(27_604_932 as u64) + // Standard Error: 1_863 + .saturating_add(Weight::from_ref_time(78_466 as u64).saturating_mul(p as u64)) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Proxy Proxies (r:1 w:1) + /// The range of component `p` is `[1, 31]`. fn remove_proxies(p: u32, ) -> Weight { - Weight::from_ref_time(43_320_000 as u64) - // Standard Error: 4_000 - .saturating_add(Weight::from_ref_time(235_000 as u64).saturating_mul(p as u64)) + // Minimum execution time: 22_696 nanoseconds. + Weight::from_ref_time(23_736_641 as u64) + // Standard Error: 1_616 + .saturating_add(Weight::from_ref_time(50_577 as u64).saturating_mul(p as u64)) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: unknown [0x3a65787472696e7369635f696e646578] (r:1 w:0) // Storage: Proxy Proxies (r:1 w:1) - fn anonymous(p: u32, ) -> Weight { - Weight::from_ref_time(56_237_000 as u64) - // Standard Error: 5_000 - .saturating_add(Weight::from_ref_time(78_000 as u64).saturating_mul(p as u64)) + /// The range of component `p` is `[1, 31]`. + fn create_pure(p: u32, ) -> Weight { + // Minimum execution time: 29_461 nanoseconds. + Weight::from_ref_time(30_835_016 as u64) + // Standard Error: 1_587 + .saturating_add(Weight::from_ref_time(23_834 as u64).saturating_mul(p as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Proxy Proxies (r:1 w:1) - fn kill_anonymous(p: u32, ) -> Weight { - Weight::from_ref_time(45_796_000 as u64) - // Standard Error: 3_000 - .saturating_add(Weight::from_ref_time(143_000 as u64).saturating_mul(p as u64)) + /// The range of component `p` is `[0, 30]`. + fn kill_pure(p: u32, ) -> Weight { + // Minimum execution time: 24_319 nanoseconds. + Weight::from_ref_time(25_652_003 as u64) + // Standard Error: 1_697 + .saturating_add(Weight::from_ref_time(28_118 as u64).saturating_mul(p as u64)) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } diff --git a/runtimes/peregrine/src/weights/pallet_scheduler.rs b/runtimes/peregrine/src/weights/pallet_scheduler.rs index 3fe998d89..761a637d9 100644 --- a/runtimes/peregrine/src/weights/pallet_scheduler.rs +++ b/runtimes/peregrine/src/weights/pallet_scheduler.rs @@ -48,149 +48,96 @@ use sp_std::marker::PhantomData; /// Weights for `pallet_scheduler`. pub struct WeightInfo(PhantomData); impl pallet_scheduler::WeightInfo for WeightInfo { - // Storage: Scheduler Agenda (r:2 w:2) - // Storage: Preimage PreimageFor (r:1 w:1) - // Storage: Preimage StatusFor (r:1 w:1) - // Storage: Scheduler Lookup (r:0 w:1) - fn on_initialize_periodic_named_resolved(s: u32, ) -> Weight { - Weight::from_ref_time(39_657_000 as u64) - // Standard Error: 35_000 - .saturating_add(Weight::from_ref_time(30_657_000 as u64).saturating_mul(s as u64)) + // Storage: Scheduler IncompleteSince (r:1 w:1) + fn service_agendas_base() -> Weight { + // Minimum execution time: 4_236 nanoseconds. + Weight::from_ref_time(4_539_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) - .saturating_add(T::DbWeight::get().reads((3 as u64).saturating_mul(s as u64))) .saturating_add(T::DbWeight::get().writes(1 as u64)) - .saturating_add(T::DbWeight::get().writes((4 as u64).saturating_mul(s as u64))) } // Storage: Scheduler Agenda (r:1 w:1) - // Storage: Preimage PreimageFor (r:1 w:1) - // Storage: Preimage StatusFor (r:1 w:1) - // Storage: Scheduler Lookup (r:0 w:1) - fn on_initialize_named_resolved(s: u32, ) -> Weight { - Weight::from_ref_time(36_610_000 as u64) - // Standard Error: 38_000 - .saturating_add(Weight::from_ref_time(24_526_000 as u64).saturating_mul(s as u64)) + /// The range of component `s` is `[0, 50]`. + fn service_agenda_base(s: u32, ) -> Weight { + // Minimum execution time: 3_651 nanoseconds. + Weight::from_ref_time(6_843_488 as u64) + // Standard Error: 1_965 + .saturating_add(Weight::from_ref_time(579_324 as u64).saturating_mul(s as u64)) .saturating_add(T::DbWeight::get().reads(1 as u64)) - .saturating_add(T::DbWeight::get().reads((2 as u64).saturating_mul(s as u64))) .saturating_add(T::DbWeight::get().writes(1 as u64)) - .saturating_add(T::DbWeight::get().writes((3 as u64).saturating_mul(s as u64))) } - // Storage: Scheduler Agenda (r:2 w:2) - // Storage: Preimage PreimageFor (r:1 w:1) - // Storage: Preimage StatusFor (r:1 w:1) - fn on_initialize_periodic_resolved(s: u32, ) -> Weight { - Weight::from_ref_time(33_522_000 as u64) - // Standard Error: 34_000 - .saturating_add(Weight::from_ref_time(25_972_000 as u64).saturating_mul(s as u64)) - .saturating_add(T::DbWeight::get().reads(1 as u64)) - .saturating_add(T::DbWeight::get().reads((3 as u64).saturating_mul(s as u64))) - .saturating_add(T::DbWeight::get().writes(1 as u64)) - .saturating_add(T::DbWeight::get().writes((3 as u64).saturating_mul(s as u64))) + fn service_task_base() -> Weight { + // Minimum execution time: 9_244 nanoseconds. + Weight::from_ref_time(9_537_000 as u64) } - // Storage: Scheduler Agenda (r:1 w:1) // Storage: Preimage PreimageFor (r:1 w:1) // Storage: Preimage StatusFor (r:1 w:1) - fn on_initialize_resolved(s: u32, ) -> Weight { - Weight::from_ref_time(32_379_000 as u64) - // Standard Error: 34_000 - .saturating_add(Weight::from_ref_time(22_381_000 as u64).saturating_mul(s as u64)) - .saturating_add(T::DbWeight::get().reads(1 as u64)) - .saturating_add(T::DbWeight::get().reads((2 as u64).saturating_mul(s as u64))) - .saturating_add(T::DbWeight::get().writes(1 as u64)) - .saturating_add(T::DbWeight::get().writes((2 as u64).saturating_mul(s as u64))) - } - // Storage: Scheduler Agenda (r:2 w:2) - // Storage: Preimage PreimageFor (r:1 w:0) - // Storage: Scheduler Lookup (r:0 w:1) - fn on_initialize_named_aborted(s: u32, ) -> Weight { - Weight::from_ref_time(19_133_000 as u64) - // Standard Error: 17_000 - .saturating_add(Weight::from_ref_time(8_862_000 as u64).saturating_mul(s as u64)) - .saturating_add(T::DbWeight::get().reads(2 as u64)) - .saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(s as u64))) - .saturating_add(T::DbWeight::get().writes(2 as u64)) - .saturating_add(T::DbWeight::get().writes((1 as u64).saturating_mul(s as u64))) - } - // Storage: Scheduler Agenda (r:2 w:2) - // Storage: Preimage PreimageFor (r:1 w:0) - fn on_initialize_aborted(s: u32, ) -> Weight { - Weight::from_ref_time(17_636_000 as u64) - // Standard Error: 14_000 - .saturating_add(Weight::from_ref_time(4_612_000 as u64).saturating_mul(s as u64)) + /// The range of component `s` is `[128, 4194304]`. + fn service_task_fetched(s: u32, ) -> Weight { + // Minimum execution time: 20_377 nanoseconds. + Weight::from_ref_time(20_733_000 as u64) + // Standard Error: 1 + .saturating_add(Weight::from_ref_time(1_250 as u64).saturating_mul(s as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) - .saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(s as u64))) .saturating_add(T::DbWeight::get().writes(2 as u64)) } - // Storage: Scheduler Agenda (r:2 w:2) // Storage: Scheduler Lookup (r:0 w:1) - fn on_initialize_periodic_named(s: u32, ) -> Weight { - Weight::from_ref_time(33_523_000 as u64) - // Standard Error: 35_000 - .saturating_add(Weight::from_ref_time(15_752_000 as u64).saturating_mul(s as u64)) - .saturating_add(T::DbWeight::get().reads(1 as u64)) - .saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(s as u64))) + fn service_task_named() -> Weight { + // Minimum execution time: 10_526 nanoseconds. + Weight::from_ref_time(10_839_000 as u64) .saturating_add(T::DbWeight::get().writes(1 as u64)) - .saturating_add(T::DbWeight::get().writes((2 as u64).saturating_mul(s as u64))) } - // Storage: Scheduler Agenda (r:2 w:2) - fn on_initialize_periodic(s: u32, ) -> Weight { - Weight::from_ref_time(26_528_000 as u64) - // Standard Error: 34_000 - .saturating_add(Weight::from_ref_time(11_541_000 as u64).saturating_mul(s as u64)) - .saturating_add(T::DbWeight::get().reads(1 as u64)) - .saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(s as u64))) - .saturating_add(T::DbWeight::get().writes(1 as u64)) - .saturating_add(T::DbWeight::get().writes((1 as u64).saturating_mul(s as u64))) + fn service_task_periodic() -> Weight { + // Minimum execution time: 9_130 nanoseconds. + Weight::from_ref_time(9_476_000 as u64) } - // Storage: Scheduler Agenda (r:1 w:1) - // Storage: Scheduler Lookup (r:0 w:1) - fn on_initialize_named(s: u32, ) -> Weight { - Weight::from_ref_time(27_589_000 as u64) - // Standard Error: 30_000 - .saturating_add(Weight::from_ref_time(10_293_000 as u64).saturating_mul(s as u64)) - .saturating_add(T::DbWeight::get().reads(1 as u64)) - .saturating_add(T::DbWeight::get().writes(1 as u64)) - .saturating_add(T::DbWeight::get().writes((1 as u64).saturating_mul(s as u64))) + fn execute_dispatch_signed() -> Weight { + // Minimum execution time: 3_644 nanoseconds. + Weight::from_ref_time(3_761_000 as u64) } - // Storage: Scheduler Agenda (r:1 w:1) - fn on_initialize(s: u32, ) -> Weight { - Weight::from_ref_time(24_390_000 as u64) - // Standard Error: 28_000 - .saturating_add(Weight::from_ref_time(8_612_000 as u64).saturating_mul(s as u64)) - .saturating_add(T::DbWeight::get().reads(1 as u64)) - .saturating_add(T::DbWeight::get().writes(1 as u64)) + fn execute_dispatch_unsigned() -> Weight { + // Minimum execution time: 3_604 nanoseconds. + Weight::from_ref_time(3_738_000 as u64) } // Storage: Scheduler Agenda (r:1 w:1) + /// The range of component `s` is `[0, 49]`. fn schedule(s: u32, ) -> Weight { - Weight::from_ref_time(33_885_000 as u64) - // Standard Error: 2_000 - .saturating_add(Weight::from_ref_time(127_000 as u64).saturating_mul(s as u64)) + // Minimum execution time: 16_561 nanoseconds. + Weight::from_ref_time(20_688_245 as u64) + // Standard Error: 2_610 + .saturating_add(Weight::from_ref_time(602_897 as u64).saturating_mul(s as u64)) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Scheduler Agenda (r:1 w:1) // Storage: Scheduler Lookup (r:0 w:1) + /// The range of component `s` is `[1, 50]`. fn cancel(s: u32, ) -> Weight { - Weight::from_ref_time(33_766_000 as u64) - // Standard Error: 3_000 - .saturating_add(Weight::from_ref_time(1_062_000 as u64).saturating_mul(s as u64)) + // Minimum execution time: 18_830 nanoseconds. + Weight::from_ref_time(20_815_969 as u64) + // Standard Error: 2_132 + .saturating_add(Weight::from_ref_time(598_343 as u64).saturating_mul(s as u64)) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Scheduler Lookup (r:1 w:1) // Storage: Scheduler Agenda (r:1 w:1) + /// The range of component `s` is `[0, 49]`. fn schedule_named(s: u32, ) -> Weight { - Weight::from_ref_time(40_632_000 as u64) - // Standard Error: 4_000 - .saturating_add(Weight::from_ref_time(194_000 as u64).saturating_mul(s as u64)) + // Minimum execution time: 18_755 nanoseconds. + Weight::from_ref_time(23_838_238 as u64) + // Standard Error: 3_430 + .saturating_add(Weight::from_ref_time(628_138 as u64).saturating_mul(s as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Scheduler Lookup (r:1 w:1) // Storage: Scheduler Agenda (r:1 w:1) + /// The range of component `s` is `[1, 50]`. fn cancel_named(s: u32, ) -> Weight { - Weight::from_ref_time(37_902_000 as u64) - // Standard Error: 5_000 - .saturating_add(Weight::from_ref_time(1_114_000 as u64).saturating_mul(s as u64)) + // Minimum execution time: 19_761 nanoseconds. + Weight::from_ref_time(22_583_852 as u64) + // Standard Error: 2_440 + .saturating_add(Weight::from_ref_time(612_208 as u64).saturating_mul(s as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } diff --git a/runtimes/peregrine/src/xcm_config.rs b/runtimes/peregrine/src/xcm_config.rs index e0293548c..54d4b4576 100644 --- a/runtimes/peregrine/src/xcm_config.rs +++ b/runtimes/peregrine/src/xcm_config.rs @@ -17,8 +17,8 @@ // If you feel like getting in touch with us, you can do so at info@botlabs.org use super::{ - AccountId, Balances, Call, Event, Origin, ParachainInfo, ParachainSystem, PolkadotXcm, Runtime, Treasury, - WeightToFee, XcmpQueue, + AccountId, Balances, ParachainInfo, ParachainSystem, PolkadotXcm, Runtime, RuntimeCall, RuntimeEvent, + RuntimeOrigin, Treasury, WeightToFee, XcmpQueue, }; use frame_support::{ @@ -38,7 +38,7 @@ use runtime_common::xcm_config::{ }; parameter_types! { - pub RelayChainOrigin: Origin = cumulus_pallet_xcm::Origin::Relay.into(); + pub RelayChainOrigin: RuntimeOrigin = cumulus_pallet_xcm::Origin::Relay.into(); pub Ancestry: MultiLocation = Parachain(ParachainInfo::parachain_id().into()).into(); pub const RelayNetworkId: NetworkId = NetworkId::Any; } @@ -52,23 +52,23 @@ pub type XcmOriginToTransactDispatchOrigin = ( // using `LocationToAccountId` and then turn that into the usual `Signed` origin. Useful for // foreign chains who want to have a local sovereign account on this chain which they control. // In contrast to Spiritnet, it's fine to include this on peregrine for testing. - SovereignSignedViaLocation, Origin>, + SovereignSignedViaLocation, RuntimeOrigin>, // Native converter for Relay-chain (Parent) location which converts to a `Relay` origin when // recognized. - RelayChainAsNative, + RelayChainAsNative, // Native converter for sibling Parachains which converts to a `SiblingPara` origin when // recognized. - SiblingParachainAsNative, + SiblingParachainAsNative, // Native signed account converter which just converts an `AccountId32` origin into a normal - // `Origin::Signed` origin of the same 32-byte value. - SignedAccountId32AsNative, + // `RuntimeOrigin::signed` origin of the same 32-byte value. + SignedAccountId32AsNative, // Xcm origins can be represented natively under the Xcm pallet's Xcm origin. - XcmPassthrough, + XcmPassthrough, ); pub struct XcmConfig; impl xcm_executor::Config for XcmConfig { - type Call = Call; + type RuntimeCall = RuntimeCall; // How we send Xcm messages. type XcmSender = XcmRouter; // How to withdraw and deposit an asset. @@ -87,7 +87,7 @@ impl xcm_executor::Config for XcmConfig { type Barrier = XcmBarrier; // How XCM messages are weighted. Each transaction has a weight of // `UnitWeightCost`. - type Weigher = FixedWeightBounds; + type Weigher = FixedWeightBounds; // How weight is transformed into fees. The fees are not taken out of the // Balances pallet here. Balances is only used if fees are dropped without being // used. In that case they are put into the treasury. @@ -102,7 +102,7 @@ impl xcm_executor::Config for XcmConfig { } /// No local origins on this chain are allowed to dispatch XCM sends/executions. -pub type LocalOriginToLocation = SignedToAccountId32; +pub type LocalOriginToLocation = SignedToAccountId32; /// The means for routing XCM messages which are not for local execution into /// the right message queues. @@ -114,20 +114,20 @@ pub type XcmRouter = ( ); impl pallet_xcm::Config for Runtime { - type Event = Event; - type SendXcmOrigin = EnsureXcmOrigin; + type RuntimeEvent = RuntimeEvent; + type SendXcmOrigin = EnsureXcmOrigin; type XcmRouter = XcmRouter; - type ExecuteXcmOrigin = EnsureXcmOrigin; + type ExecuteXcmOrigin = EnsureXcmOrigin; // Disable dispatchable execution on the XCM pallet. // NOTE: For local testing this needs to be `Everything`. type XcmExecuteFilter = Nothing; type XcmExecutor = XcmExecutor; type XcmTeleportFilter = Everything; type XcmReserveTransferFilter = Nothing; - type Weigher = FixedWeightBounds; + type Weigher = FixedWeightBounds; type LocationInverter = LocationInverter; - type Origin = Origin; - type Call = Call; + type RuntimeOrigin = RuntimeOrigin; + type RuntimeCall = RuntimeCall; const VERSION_DISCOVERY_QUEUE_SIZE: u32 = 100; // Our latest supported XCM version. @@ -135,6 +135,6 @@ impl pallet_xcm::Config for Runtime { } impl cumulus_pallet_xcm::Config for Runtime { - type Event = Event; + type RuntimeEvent = RuntimeEvent; type XcmExecutor = XcmExecutor; } diff --git a/runtimes/spiritnet/Cargo.toml b/runtimes/spiritnet/Cargo.toml index b54269083..dc3e81e9b 100644 --- a/runtimes/spiritnet/Cargo.toml +++ b/runtimes/spiritnet/Cargo.toml @@ -54,7 +54,6 @@ sp-std.workspace = true sp-transaction-pool.workspace = true sp-version.workspace = true -frame-benchmarking.workspace = true frame-executive.workspace = true frame-support.workspace = true frame-system.workspace = true @@ -96,6 +95,7 @@ xcm-executor.workspace = true # Benchmarking dependencies cumulus-pallet-session-benchmarking = {workspace = true, optional = true} +frame-benchmarking = {workspace = true, optional = true} frame-system-benchmarking = {workspace = true, optional = true} # Runtime tests @@ -107,13 +107,14 @@ fast-gov = ["runtime-common/fast-gov"] runtime-benchmarks = [ "attestation/runtime-benchmarks", "ctype/runtime-benchmarks", - "cumulus-pallet-session-benchmarking", + "cumulus-pallet-parachain-system/runtime-benchmarks", "cumulus-pallet-session-benchmarking/runtime-benchmarks", + "cumulus-pallet-xcmp-queue/runtime-benchmarks", "delegation/runtime-benchmarks", "did/runtime-benchmarks", "frame-benchmarking/runtime-benchmarks", "frame-support/runtime-benchmarks", - "frame-system-benchmarking", + "frame-system-benchmarking/runtime-benchmarks", "frame-system/runtime-benchmarks", "hex-literal", "kilt-support/runtime-benchmarks", @@ -133,11 +134,13 @@ runtime-benchmarks = [ "pallet-utility/runtime-benchmarks", "pallet-vesting/runtime-benchmarks", "pallet-web3-names/runtime-benchmarks", + "pallet-xcm/runtime-benchmarks", "parachain-staking/runtime-benchmarks", "public-credentials/runtime-benchmarks", "runtime-common/runtime-benchmarks", "sp-runtime/runtime-benchmarks", "xcm-builder/runtime-benchmarks", + "xcm-executor/runtime-benchmarks", ] std = [ "attestation/std", @@ -151,14 +154,16 @@ std = [ "cumulus-primitives-core/std", "cumulus-primitives-timestamp/std", "cumulus-primitives-utility/std", + "cumulus-pallet-session-benchmarking?/std", "delegation/std", "did/std", - "frame-benchmarking/std", + "frame-benchmarking?/std", "frame-executive/std", "frame-support/std", - "frame-system-rpc-runtime-api/std", "frame-system/std", - "frame-try-runtime/std", + "frame-system-benchmarking?/std", + "frame-system-rpc-runtime-api/std", + "frame-try-runtime?/std", "kilt-runtime-api-did/std", "kilt-runtime-api-public-credentials/std", "kilt-runtime-api-staking/std", diff --git a/runtimes/spiritnet/src/lib.rs b/runtimes/spiritnet/src/lib.rs index 95b62454b..3699015aa 100644 --- a/runtimes/spiritnet/src/lib.rs +++ b/runtimes/spiritnet/src/lib.rs @@ -29,7 +29,7 @@ use codec::{Decode, Encode, MaxEncodedLen}; use cumulus_pallet_parachain_system::RelayNumberStrictlyIncreases; use frame_support::{ construct_runtime, parameter_types, - traits::{EitherOfDiverse, Everything, InstanceFilter, PrivilegeCmp}, + traits::{ConstU32, EitherOfDiverse, Everything, InstanceFilter, PrivilegeCmp}, weights::{constants::RocksDbWeight, ConstantMultiplier, Weight}, }; use frame_system::EnsureRoot; @@ -47,14 +47,14 @@ use xcm_executor::XcmExecutor; use delegation::DelegationAc; use kilt_support::traits::ItemFilter; -use pallet_did_lookup::linkable_account::LinkableAccountId; +use pallet_did_lookup::{linkable_account::LinkableAccountId, migrations::EthereumMigration}; pub use parachain_staking::InflationInfo; pub use public_credentials; use runtime_common::{ assets::{AssetDid, PublicCredentialsFilter}, authorization::{AuthorizationId, PalletAuthorize}, - constants::{self, EXISTENTIAL_DEPOSIT, KILT}, + constants::{self, UnvestedFundsAllowedWithdrawReasons, EXISTENTIAL_DEPOSIT, KILT}, errors::PublicCredentialsApiError, fees::{ToAuthor, WeightToFee}, pallet_id, AccountId, AuthorityId, Balance, BlockHashCount, BlockLength, BlockNumber, BlockWeights, DidIdentifier, @@ -115,7 +115,7 @@ impl frame_system::Config for Runtime { /// The identifier used to distinguish between accounts. type AccountId = AccountId; /// The aggregated dispatch type that is available for extrinsics. - type Call = Call; + type RuntimeCall = RuntimeCall; /// The lookup mechanism to get account ID from whatever is passed in /// dispatchers. type Lookup = AccountIdLookup; @@ -130,9 +130,9 @@ impl frame_system::Config for Runtime { /// The header type. type Header = runtime_common::Header; /// The ubiquitous event type. - type Event = Event; + type RuntimeEvent = RuntimeEvent; /// The ubiquitous origin type. - type Origin = Origin; + type RuntimeOrigin = RuntimeOrigin; /// Maximum number of block number to block hash mappings to keep (oldest /// pruned first). type BlockHashCount = BlockHashCount; @@ -176,7 +176,7 @@ impl pallet_indices::Config for Runtime { type AccountIndex = Index; type Currency = pallet_balances::Pallet; type Deposit = constants::IndicesDeposit; - type Event = Event; + type RuntimeEvent = RuntimeEvent; type WeightInfo = weights::pallet_indices::WeightInfo; } @@ -184,7 +184,7 @@ impl pallet_balances::Config for Runtime { /// The type for recording an account's balance. type Balance = Balance; /// The ubiquitous event type. - type Event = Event; + type RuntimeEvent = RuntimeEvent; type DustRemoval = Treasury; type ExistentialDeposit = ExistentialDeposit; type AccountStore = System; @@ -195,7 +195,7 @@ impl pallet_balances::Config for Runtime { } impl pallet_transaction_payment::Config for Runtime { - type Event = Event; + type RuntimeEvent = RuntimeEvent; type OnChargeTransaction = pallet_transaction_payment::CurrencyAdapter>>; type OperationalFeeMultiplier = constants::fee::OperationalFeeMultiplier; @@ -210,7 +210,7 @@ parameter_types! { } impl cumulus_pallet_parachain_system::Config for Runtime { - type Event = Event; + type RuntimeEvent = RuntimeEvent; type OnSystemEvent = (); type SelfParaId = parachain_info::Pallet; type OutboundXcmpMessageSource = XcmpQueue; @@ -228,7 +228,7 @@ impl parachain_info::Config for Runtime {} impl cumulus_pallet_aura_ext::Config for Runtime {} impl cumulus_pallet_xcmp_queue::Config for Runtime { - type Event = Event; + type RuntimeEvent = RuntimeEvent; type XcmExecutor = XcmExecutor; type ChannelInfo = ParachainSystem; type VersionWrapper = PolkadotXcm; @@ -239,7 +239,7 @@ impl cumulus_pallet_xcmp_queue::Config for Runtime { } impl cumulus_pallet_dmp_queue::Config for Runtime { - type Event = Event; + type RuntimeEvent = RuntimeEvent; type XcmExecutor = XcmExecutor; type ExecuteOverweightOrigin = EnsureRoot; } @@ -267,7 +267,7 @@ impl pallet_authorship::Config for Runtime { } impl pallet_session::Config for Runtime { - type Event = Event; + type RuntimeEvent = RuntimeEvent; type ValidatorId = AccountId; type ValidatorIdOf = ConvertInto; type ShouldEndSession = ParachainStaking; @@ -279,12 +279,13 @@ impl pallet_session::Config for Runtime { } impl pallet_vesting::Config for Runtime { - type Event = Event; + type RuntimeEvent = RuntimeEvent; type Currency = Balances; type BlockNumberToBalance = ConvertInto; // disable vested transfers by setting min amount to max balance type MinVestedTransfer = constants::MinVestedTransfer; type WeightInfo = weights::pallet_vesting::WeightInfo; + type UnvestedFundsAllowedWithdrawReasons = UnvestedFundsAllowedWithdrawReasons; const MAX_VESTING_SCHEDULES: u32 = constants::MAX_VESTING_SCHEDULES; } @@ -296,10 +297,9 @@ parameter_types! { impl pallet_preimage::Config for Runtime { type WeightInfo = weights::pallet_preimage::WeightInfo; - type Event = Event; + type RuntimeEvent = RuntimeEvent; type Currency = Balances; type ManagerOrigin = EnsureRoot; - type MaxSize = constants::preimage::PreimageMaxSize; type BaseDeposit = constants::preimage::PreimageBaseDeposit; type ByteDeposit = constants::ByteDeposit; } @@ -339,17 +339,16 @@ impl PrivilegeCmp for OriginPrivilegeCmp { } impl pallet_scheduler::Config for Runtime { - type Event = Event; - type Origin = Origin; + type RuntimeEvent = RuntimeEvent; + type RuntimeOrigin = RuntimeOrigin; type PalletsOrigin = OriginCaller; - type Call = Call; + type RuntimeCall = RuntimeCall; type MaximumWeight = MaximumSchedulerWeight; type ScheduleOrigin = ScheduleOrigin; type MaxScheduledPerBlock = MaxScheduledPerBlock; type WeightInfo = weights::pallet_scheduler::WeightInfo; type OriginPrivilegeCmp = OriginPrivilegeCmp; - type PreimageProvider = Preimage; - type NoPreimagePostponement = NoPreimagePostponement; + type Preimages = Preimage; } parameter_types! { @@ -359,8 +358,7 @@ parameter_types! { } impl pallet_democracy::Config for Runtime { - type Proposal = Call; - type Event = Event; + type RuntimeEvent = RuntimeEvent; type Currency = Balances; type EnactmentPeriod = constants::governance::EnactmentPeriod; type VoteLockingPeriod = constants::governance::VotingPeriod; @@ -399,15 +397,15 @@ impl pallet_democracy::Config for Runtime { // however they can only do it once and it lasts only for the cooloff period. type VetoOrigin = pallet_collective::EnsureMember; type CooloffPeriod = constants::governance::CooloffPeriod; - type PreimageByteDeposit = constants::ByteDeposit; type Slash = Treasury; type Scheduler = Scheduler; type PalletsOrigin = OriginCaller; type MaxVotes = MaxVotes; - type OperationalPreimageOrigin = pallet_collective::EnsureMember; - type MaxProposals = MaxProposals; - type WeightInfo = weights::pallet_democracy::WeightInfo; + type MaxProposals = MaxProposals; + type Preimages = Preimage; + type MaxDeposits = ConstU32<100>; + type MaxBlacklisted = ConstU32<100>; } parameter_types! { @@ -433,7 +431,7 @@ impl pallet_treasury::Config for Runtime { type Currency = Balances; type ApproveOrigin = ApproveOrigin; type RejectOrigin = MoreThanHalfCouncil; - type Event = Event; + type RuntimeEvent = RuntimeEvent; type OnSlash = Treasury; type ProposalBond = ProposalBond; type ProposalBondMinimum = ProposalBondMinimum; @@ -449,9 +447,9 @@ impl pallet_treasury::Config for Runtime { type CouncilCollective = pallet_collective::Instance1; impl pallet_collective::Config for Runtime { - type Origin = Origin; - type Proposal = Call; - type Event = Event; + type RuntimeOrigin = RuntimeOrigin; + type Proposal = RuntimeCall; + type RuntimeEvent = RuntimeEvent; type MotionDuration = constants::governance::CouncilMotionDuration; type MaxProposals = constants::governance::CouncilMaxProposals; type MaxMembers = constants::governance::CouncilMaxMembers; @@ -461,9 +459,9 @@ impl pallet_collective::Config for Runtime { type TechnicalCollective = pallet_collective::Instance2; impl pallet_collective::Config for Runtime { - type Origin = Origin; - type Proposal = Call; - type Event = Event; + type RuntimeOrigin = RuntimeOrigin; + type Proposal = RuntimeCall; + type RuntimeEvent = RuntimeEvent; type MotionDuration = constants::governance::TechnicalMotionDuration; type MaxProposals = constants::governance::TechnicalMaxProposals; type MaxMembers = constants::governance::TechnicalMaxMembers; @@ -473,7 +471,7 @@ impl pallet_collective::Config for Runtime { type TechnicalMembershipProvider = pallet_membership::Instance1; impl pallet_membership::Config for Runtime { - type Event = Event; + type RuntimeEvent = RuntimeEvent; type AddOrigin = MoreThanHalfCouncil; type RemoveOrigin = MoreThanHalfCouncil; type SwapOrigin = MoreThanHalfCouncil; @@ -487,7 +485,7 @@ impl pallet_membership::Config for Runtime { type TipsMembershipProvider = pallet_membership::Instance2; impl pallet_membership::Config for Runtime { - type Event = Event; + type RuntimeEvent = RuntimeEvent; type AddOrigin = MoreThanHalfCouncil; type RemoveOrigin = MoreThanHalfCouncil; type SwapOrigin = MoreThanHalfCouncil; @@ -506,7 +504,7 @@ impl pallet_tips::Config for Runtime { type TipCountdown = constants::tips::TipCountdown; type TipFindersFee = constants::tips::TipFindersFee; type TipReportDepositBase = constants::tips::TipReportDepositBase; - type Event = Event; + type RuntimeEvent = RuntimeEvent; type WeightInfo = weights::pallet_tips::WeightInfo; } @@ -514,7 +512,7 @@ impl attestation::Config for Runtime { type EnsureOrigin = did::EnsureDidOrigin; type OriginSuccess = did::DidRawOrigin; - type Event = Event; + type RuntimeEvent = RuntimeEvent; type WeightInfo = weights::attestation::WeightInfo; type Currency = Balances; @@ -542,7 +540,7 @@ impl delegation::Config for Runtime { #[cfg(feature = "runtime-benchmarks")] type DelegationSignatureVerification = AlwaysVerify, Self::Signature>; - type Event = Event; + type RuntimeEvent = RuntimeEvent; type MaxSignatureByteLength = constants::delegation::MaxSignatureByteLength; type MaxParentChecks = constants::delegation::MaxParentChecks; type MaxRevocations = constants::delegation::MaxRevocations; @@ -562,15 +560,15 @@ impl ctype::Config for Runtime { type EnsureOrigin = did::EnsureDidOrigin; type OriginSuccess = did::DidRawOrigin; - type Event = Event; + type RuntimeEvent = RuntimeEvent; type WeightInfo = weights::ctype::WeightInfo; } impl did::Config for Runtime { type DidIdentifier = DidIdentifier; - type Event = Event; - type Call = Call; - type Origin = Origin; + type RuntimeEvent = RuntimeEvent; + type RuntimeCall = RuntimeCall; + type RuntimeOrigin = RuntimeOrigin; type Currency = Balances; type Deposit = constants::did::DidDeposit; type Fee = constants::did::DidFee; @@ -600,7 +598,7 @@ impl did::Config for Runtime { } impl pallet_did_lookup::Config for Runtime { - type Event = Event; + type RuntimeEvent = RuntimeEvent; type DidIdentifier = DidIdentifier; @@ -619,7 +617,7 @@ impl pallet_web3_names::Config for Runtime { type OriginSuccess = did::DidRawOrigin; type Currency = Balances; type Deposit = constants::web3_names::Web3NameDeposit; - type Event = Event; + type RuntimeEvent = RuntimeEvent; type MaxNameLength = constants::web3_names::MaxNameLength; type MinNameLength = constants::web3_names::MinNameLength; type Web3Name = pallet_web3_names::web3_name::AsciiWeb3Name; @@ -636,7 +634,7 @@ impl pallet_inflation::Config for Runtime { } impl parachain_staking::Config for Runtime { - type Event = Event; + type RuntimeEvent = RuntimeEvent; type Currency = Balances; type CurrencyBalance = Balance; @@ -662,8 +660,8 @@ impl parachain_staking::Config for Runtime { } impl pallet_utility::Config for Runtime { - type Event = Event; - type Call = Call; + type RuntimeEvent = RuntimeEvent; + type RuntimeCall = RuntimeCall; type PalletsOrigin = OriginCaller; type WeightInfo = weights::pallet_utility::WeightInfo; } @@ -682,7 +680,7 @@ impl public_credentials::Config for Runtime { type MaxEncodedClaimsLength = runtime_common::constants::public_credentials::MaxEncodedClaimsLength; type MaxSubjectIdLength = runtime_common::constants::public_credentials::MaxSubjectIdLength; type OriginSuccess = did::DidRawOrigin; - type Event = Event; + type RuntimeEvent = RuntimeEvent; type SubjectId = runtime_common::assets::AssetDid; type WeightInfo = weights::public_credentials::WeightInfo; } @@ -713,51 +711,51 @@ impl Default for ProxyType { } } -impl InstanceFilter for ProxyType { - fn filter(&self, c: &Call) -> bool { +impl InstanceFilter for ProxyType { + fn filter(&self, c: &RuntimeCall) -> bool { match self { ProxyType::Any => true, ProxyType::NonTransfer => matches!( c, - Call::Attestation(..) - | Call::Authorship(..) + RuntimeCall::Attestation(..) + | RuntimeCall::Authorship(..) // Excludes `Balances` - | Call::Council(..) - | Call::Ctype(..) - | Call::Delegation(..) - | Call::Democracy(..) - | Call::Did(..) - | Call::DidLookup(..) - | Call::Indices( + | RuntimeCall::Council(..) + | RuntimeCall::Ctype(..) + | RuntimeCall::Delegation(..) + | RuntimeCall::Democracy(..) + | RuntimeCall::Did(..) + | RuntimeCall::DidLookup(..) + | RuntimeCall::Indices( // Excludes `force_transfer`, and `transfer` pallet_indices::Call::claim { .. } | pallet_indices::Call::free { .. } | pallet_indices::Call::freeze { .. } ) - | Call::ParachainStaking(..) + | RuntimeCall::ParachainStaking(..) // Excludes `ParachainSystem` - | Call::Preimage(..) - | Call::Proxy(..) - | Call::PublicCredentials(..) - | Call::Scheduler(..) - | Call::Session(..) - | Call::System(..) - | Call::TechnicalCommittee(..) - | Call::TechnicalMembership(..) - | Call::TipsMembership(..) - | Call::Timestamp(..) - | Call::Treasury(..) - | Call::Utility(..) - | Call::Vesting( + | RuntimeCall::Preimage(..) + | RuntimeCall::Proxy(..) + | RuntimeCall::PublicCredentials(..) + | RuntimeCall::Scheduler(..) + | RuntimeCall::Session(..) + | RuntimeCall::System(..) + | RuntimeCall::TechnicalCommittee(..) + | RuntimeCall::TechnicalMembership(..) + | RuntimeCall::TipsMembership(..) + | RuntimeCall::Timestamp(..) + | RuntimeCall::Treasury(..) + | RuntimeCall::Utility(..) + | RuntimeCall::Vesting( // Excludes `force_vested_transfer`, `merge_schedules`, and `vested_transfer` pallet_vesting::Call::vest { .. } | pallet_vesting::Call::vest_other { .. } ) - | Call::Web3Names(..), + | RuntimeCall::Web3Names(..), ), ProxyType::NonDepositClaiming => matches!( c, - Call::Attestation( + RuntimeCall::Attestation( // Excludes `reclaim_deposit` attestation::Call::add { .. } | attestation::Call::remove { .. } @@ -765,11 +763,11 @@ impl InstanceFilter for ProxyType { | attestation::Call::change_deposit_owner { .. } | attestation::Call::update_deposit { .. } ) - | Call::Authorship(..) + | RuntimeCall::Authorship(..) // Excludes `Balances` - | Call::Council(..) - | Call::Ctype(..) - | Call::Delegation( + | RuntimeCall::Council(..) + | RuntimeCall::Ctype(..) + | RuntimeCall::Delegation( // Excludes `reclaim_deposit` delegation::Call::add_delegation { .. } | delegation::Call::create_hierarchy { .. } @@ -778,8 +776,8 @@ impl InstanceFilter for ProxyType { | delegation::Call::update_deposit { .. } | delegation::Call::change_deposit_owner { .. } ) - | Call::Democracy(..) - | Call::Did( + | RuntimeCall::Democracy(..) + | RuntimeCall::Did( // Excludes `reclaim_deposit` did::Call::add_key_agreement_key { .. } | did::Call::add_service_endpoint { .. } @@ -796,7 +794,7 @@ impl InstanceFilter for ProxyType { | did::Call::update_deposit { .. } | did::Call::change_deposit_owner { .. } ) - | Call::DidLookup( + | RuntimeCall::DidLookup( // Excludes `reclaim_deposit` pallet_did_lookup::Call::associate_account { .. } | pallet_did_lookup::Call::associate_sender { .. } @@ -805,12 +803,12 @@ impl InstanceFilter for ProxyType { | pallet_did_lookup::Call::update_deposit { .. } | pallet_did_lookup::Call::change_deposit_owner { .. } ) - | Call::Indices(..) - | Call::ParachainStaking(..) + | RuntimeCall::Indices(..) + | RuntimeCall::ParachainStaking(..) // Excludes `ParachainSystem` - | Call::Preimage(..) - | Call::Proxy(..) - | Call::PublicCredentials( + | RuntimeCall::Preimage(..) + | RuntimeCall::Proxy(..) + | RuntimeCall::PublicCredentials( // Excludes `reclaim_deposit` public_credentials::Call::add { .. } | public_credentials::Call::revoke { .. } @@ -819,18 +817,18 @@ impl InstanceFilter for ProxyType { | public_credentials::Call::update_deposit { .. } | public_credentials::Call::change_deposit_owner { .. } ) - | Call::Scheduler(..) - | Call::Session(..) + | RuntimeCall::Scheduler(..) + | RuntimeCall::Session(..) // Excludes `Sudo` - | Call::System(..) - | Call::TechnicalCommittee(..) - | Call::TechnicalMembership(..) - | Call::TipsMembership(..) - | Call::Timestamp(..) - | Call::Treasury(..) - | Call::Utility(..) - | Call::Vesting(..) - | Call::Web3Names( + | RuntimeCall::System(..) + | RuntimeCall::TechnicalCommittee(..) + | RuntimeCall::TechnicalMembership(..) + | RuntimeCall::TipsMembership(..) + | RuntimeCall::Timestamp(..) + | RuntimeCall::Treasury(..) + | RuntimeCall::Utility(..) + | RuntimeCall::Vesting(..) + | RuntimeCall::Web3Names( // Excludes `ban`, and `reclaim_deposit` pallet_web3_names::Call::claim { .. } | pallet_web3_names::Call::release_by_owner { .. } @@ -841,17 +839,21 @@ impl InstanceFilter for ProxyType { ), ProxyType::Governance => matches!( c, - Call::Council(..) - | Call::Democracy(..) - | Call::TechnicalCommittee(..) - | Call::TechnicalMembership(..) - | Call::TipsMembership(..) - | Call::Treasury(..) | Call::Utility(..) + RuntimeCall::Council(..) + | RuntimeCall::Democracy(..) + | RuntimeCall::TechnicalCommittee(..) + | RuntimeCall::TechnicalMembership(..) + | RuntimeCall::TipsMembership(..) + | RuntimeCall::Treasury(..) + | RuntimeCall::Utility(..) ), ProxyType::ParachainStaking => { - matches!(c, Call::ParachainStaking(..) | Call::Session(..) | Call::Utility(..)) + matches!( + c, + RuntimeCall::ParachainStaking(..) | RuntimeCall::Session(..) | RuntimeCall::Utility(..) + ) } - ProxyType::CancelProxy => matches!(c, Call::Proxy(pallet_proxy::Call::reject_announcement { .. })), + ProxyType::CancelProxy => matches!(c, RuntimeCall::Proxy(pallet_proxy::Call::reject_announcement { .. })), } } @@ -875,8 +877,8 @@ impl InstanceFilter for ProxyType { } impl pallet_proxy::Config for Runtime { - type Event = Event; - type Call = Call; + type RuntimeEvent = RuntimeEvent; + type RuntimeCall = RuntimeCall; type Currency = Balances; type ProxyType = ProxyType; type ProxyDepositBase = constants::proxy::ProxyDepositBase; @@ -969,10 +971,10 @@ construct_runtime! { } } -impl did::DeriveDidCallAuthorizationVerificationKeyRelationship for Call { +impl did::DeriveDidCallAuthorizationVerificationKeyRelationship for RuntimeCall { fn derive_verification_key_relationship(&self) -> did::DeriveDidCallKeyRelationshipResult { /// ensure that all calls have the same VerificationKeyRelationship - fn single_key_relationship(calls: &[Call]) -> did::DeriveDidCallKeyRelationshipResult { + fn single_key_relationship(calls: &[RuntimeCall]) -> did::DeriveDidCallKeyRelationshipResult { let init = calls .get(0) .ok_or(did::RelationshipDeriveError::InvalidCallParameter)? @@ -980,7 +982,7 @@ impl did::DeriveDidCallAuthorizationVerificationKeyRelationship for Call { calls .iter() .skip(1) - .map(Call::derive_verification_key_relationship) + .map(RuntimeCall::derive_verification_key_relationship) .try_fold(init, |acc, next| { if next.is_err() { next @@ -992,18 +994,18 @@ impl did::DeriveDidCallAuthorizationVerificationKeyRelationship for Call { }) } match self { - Call::Attestation { .. } => Ok(did::DidVerificationKeyRelationship::AssertionMethod), - Call::Ctype { .. } => Ok(did::DidVerificationKeyRelationship::AssertionMethod), - Call::Delegation { .. } => Ok(did::DidVerificationKeyRelationship::CapabilityDelegation), + RuntimeCall::Attestation { .. } => Ok(did::DidVerificationKeyRelationship::AssertionMethod), + RuntimeCall::Ctype { .. } => Ok(did::DidVerificationKeyRelationship::AssertionMethod), + RuntimeCall::Delegation { .. } => Ok(did::DidVerificationKeyRelationship::CapabilityDelegation), // DID creation is not allowed through the DID proxy. - Call::Did(did::Call::create { .. }) => Err(did::RelationshipDeriveError::NotCallableByDid), - Call::Did { .. } => Ok(did::DidVerificationKeyRelationship::Authentication), - Call::Web3Names { .. } => Ok(did::DidVerificationKeyRelationship::Authentication), - Call::PublicCredentials { .. } => Ok(did::DidVerificationKeyRelationship::AssertionMethod), - Call::DidLookup { .. } => Ok(did::DidVerificationKeyRelationship::Authentication), - Call::Utility(pallet_utility::Call::batch { calls }) => single_key_relationship(&calls[..]), - Call::Utility(pallet_utility::Call::batch_all { calls }) => single_key_relationship(&calls[..]), - Call::Utility(pallet_utility::Call::force_batch { calls }) => single_key_relationship(&calls[..]), + RuntimeCall::Did(did::Call::create { .. }) => Err(did::RelationshipDeriveError::NotCallableByDid), + RuntimeCall::Did { .. } => Ok(did::DidVerificationKeyRelationship::Authentication), + RuntimeCall::Web3Names { .. } => Ok(did::DidVerificationKeyRelationship::Authentication), + RuntimeCall::PublicCredentials { .. } => Ok(did::DidVerificationKeyRelationship::AssertionMethod), + RuntimeCall::DidLookup { .. } => Ok(did::DidVerificationKeyRelationship::Authentication), + RuntimeCall::Utility(pallet_utility::Call::batch { calls }) => single_key_relationship(&calls[..]), + RuntimeCall::Utility(pallet_utility::Call::batch_all { calls }) => single_key_relationship(&calls[..]), + RuntimeCall::Utility(pallet_utility::Call::force_batch { calls }) => single_key_relationship(&calls[..]), #[cfg(not(feature = "runtime-benchmarks"))] _ => Err(did::RelationshipDeriveError::NotCallableByDid), // By default, returns the authentication key @@ -1015,7 +1017,7 @@ impl did::DeriveDidCallAuthorizationVerificationKeyRelationship for Call { // Always return a System::remark() extrinsic call #[cfg(feature = "runtime-benchmarks")] fn get_call_for_did_call_benchmark() -> Self { - Call::System(frame_system::Call::remark { remark: vec![] }) + RuntimeCall::System(frame_system::Call::remark { remark: vec![] }) } } @@ -1040,9 +1042,9 @@ pub type SignedExtra = ( pallet_transaction_payment::ChargeTransactionPayment, ); /// Unchecked extrinsic type as expected by this runtime. -pub type UncheckedExtrinsic = generic::UncheckedExtrinsic; +pub type UncheckedExtrinsic = generic::UncheckedExtrinsic; /// Extrinsic type that has already been checked. -pub type CheckedExtrinsic = generic::CheckedExtrinsic; +pub type CheckedExtrinsic = generic::CheckedExtrinsic; /// Executive: handles dispatch to the various modules. pub type Executive = frame_executive::Executive< Runtime, @@ -1051,10 +1053,54 @@ pub type Executive = frame_executive::Executive< Runtime, // Executes pallet hooks in the order of definition in construct_runtime AllPalletsWithSystem, - // EthereumMigration, - parachain_staking::migration::StakingPayoutRefactor, + ( + // "Bound uses of call" + pallet_preimage::migration::v1::Migration, + pallet_scheduler::migration::v3::MigrateToV4, + pallet_democracy::migrations::v1::Migration, + EthereumMigration, + ), >; +// follows Substrate's non destructive way of eliminating otherwise required +// repetion: https://github.com/paritytech/substrate/pull/10592 +#[cfg(feature = "runtime-benchmarks")] +#[macro_use] +extern crate frame_benchmarking; + +#[cfg(feature = "runtime-benchmarks")] +mod benches { + define_benchmarks!( + // KILT + [attestation, Attestation] + [ctype, Ctype] + [delegation, Delegation] + [did, Did] + [pallet_did_lookup, DidLookup] + [pallet_inflation, Inflation] + [parachain_staking, ParachainStaking] + [pallet_web3_names, Web3Names] + // Substrate + [frame_benchmarking::baseline, Baseline::] + [frame_system, SystemBench::] + [pallet_session, SessionBench::] + [pallet_balances, Balances] + [pallet_collective, Council] + [pallet_collective, TechnicalCommittee] + [pallet_democracy, Democracy] + [pallet_indices, Indices] + [pallet_membership, TechnicalMembership] + [pallet_preimage, Preimage] + [pallet_scheduler, Scheduler] + [pallet_timestamp, Timestamp] + [pallet_tips, Tips] + [pallet_treasury, Treasury] + [pallet_utility, Utility] + [pallet_vesting, Vesting] + [pallet_proxy, Proxy] + ); +} + impl_runtime_apis! { impl sp_api::Core for Runtime { fn version() -> RuntimeVersion { @@ -1095,6 +1141,23 @@ impl_runtime_apis! { } } + impl pallet_transaction_payment_rpc_runtime_api::TransactionPaymentCallApi + for Runtime + { + fn query_call_info( + call: RuntimeCall, + len: u32, + ) -> pallet_transaction_payment::RuntimeDispatchInfo { + TransactionPayment::query_call_info(call, len) + } + fn query_call_fee_details( + call: RuntimeCall, + len: u32, + ) -> pallet_transaction_payment::FeeDetails { + TransactionPayment::query_call_fee_details(call, len) + } + } + impl sp_block_builder::BlockBuilder for Runtime { fn apply_extrinsic( extrinsic: ::Extrinsic, @@ -1285,59 +1348,31 @@ impl_runtime_apis! { Vec, Vec, ) { - use frame_benchmarking::{list_benchmark, baseline, Benchmarking, BenchmarkList}; + use frame_benchmarking::{Benchmarking, BenchmarkList}; use frame_support::traits::StorageInfoTrait; + use frame_system_benchmarking::Pallet as SystemBench; use cumulus_pallet_session_benchmarking::Pallet as SessionBench; - use baseline::Pallet as BaselineBench; + use frame_benchmarking::baseline::Pallet as Baseline; let mut list = Vec::::new(); - - // Substrate - list_benchmark!(list, extra, frame_benchmarking, BaselineBench::); - list_benchmark!(list, extra, frame_system, SystemBench::); - list_benchmark!(list, extra, pallet_session, SessionBench::); - list_benchmark!(list, extra, pallet_balances, Balances); - list_benchmark!(list, extra, pallet_collective, Council); - list_benchmark!(list, extra, pallet_democracy, Democracy); - list_benchmark!(list, extra, pallet_indices, Indices); - list_benchmark!(list, extra, pallet_membership, TechnicalMembership); - list_benchmark!(list, extra, pallet_preimage, Preimage); - list_benchmark!(list, extra, pallet_scheduler, Scheduler); - list_benchmark!(list, extra, pallet_timestamp, Timestamp); - list_benchmark!(list, extra, pallet_tips, Tips); - list_benchmark!(list, extra, pallet_treasury, Treasury); - list_benchmark!(list, extra, pallet_utility, Utility); - list_benchmark!(list, extra, pallet_vesting, Vesting); - list_benchmark!(list, extra, pallet_proxy, Proxy); - - // KILT - list_benchmark!(list, extra, attestation, Attestation); - list_benchmark!(list, extra, ctype, Ctype); - list_benchmark!(list, extra, delegation, Delegation); - list_benchmark!(list, extra, did, Did); - list_benchmark!(list, extra, pallet_did_lookup, DidLookup); - list_benchmark!(list, extra, pallet_inflation, Inflation); - list_benchmark!(list, extra, parachain_staking, ParachainStaking); - list_benchmark!(list, extra, pallet_web3_names, Web3Names); - list_benchmark!(list, extra, public_credentials, PublicCredentials); + list_benchmarks!(list, extra); let storage_info = AllPalletsWithSystem::storage_info(); - (list, storage_info) } fn dispatch_benchmark( config: frame_benchmarking::BenchmarkConfig ) -> Result, sp_runtime::RuntimeString> { - use frame_benchmarking::{baseline, Benchmarking, BenchmarkBatch, add_benchmark, TrackedStorageKey}; + use frame_benchmarking::{Benchmarking, BenchmarkBatch, TrackedStorageKey}; use frame_system_benchmarking::Pallet as SystemBench; use cumulus_pallet_session_benchmarking::Pallet as SessionBench; - use baseline::Pallet as BaselineBench; + use frame_benchmarking::baseline::Pallet as Baseline; impl frame_system_benchmarking::Config for Runtime {} impl cumulus_pallet_session_benchmarking::Config for Runtime {} - impl baseline::Config for Runtime {} + impl frame_benchmarking::baseline::Config for Runtime {} let whitelist: Vec = vec![ // Block Number @@ -1360,38 +1395,7 @@ impl_runtime_apis! { let mut batches = Vec::::new(); let params = (&config, &whitelist); - // Substrate - add_benchmark!(params, batches, frame_benchmarking, BaselineBench::); - add_benchmark!(params, batches, pallet_balances, Balances); - add_benchmark!(params, batches, pallet_collective, Council); - add_benchmark!(params, batches, pallet_democracy, Democracy); - add_benchmark!(params, batches, pallet_indices, Indices); - add_benchmark!(params, batches, pallet_membership, TechnicalMembership); - add_benchmark!(params, batches, pallet_preimage, Preimage); - add_benchmark!(params, batches, pallet_scheduler, Scheduler); - add_benchmark!(params, batches, pallet_session, SessionBench::); - add_benchmark!(params, batches, frame_system, SystemBench::); - add_benchmark!(params, batches, pallet_timestamp, Timestamp); - add_benchmark!(params, batches, pallet_tips, Tips); - add_benchmark!(params, batches, pallet_treasury, Treasury); - add_benchmark!(params, batches, pallet_utility, Utility); - add_benchmark!(params, batches, pallet_vesting, Vesting); - add_benchmark!(params, batches, pallet_proxy, Proxy); - - // KILT - add_benchmark!(params, batches, attestation, Attestation); - add_benchmark!(params, batches, ctype, Ctype); - add_benchmark!(params, batches, delegation, Delegation); - add_benchmark!(params, batches, did, Did); - add_benchmark!(params, batches, pallet_did_lookup, DidLookup); - add_benchmark!(params, batches, pallet_inflation, Inflation); - add_benchmark!(params, batches, parachain_staking, ParachainStaking); - add_benchmark!(params, batches, pallet_web3_names, Web3Names); - add_benchmark!(params, batches, public_credentials, PublicCredentials); - - // No benchmarks for these pallets - // add_benchmark!(params, batches, cumulus_pallet_parachain_system, ParachainSystem); - // add_benchmark!(params, batches, parachain_info, ParachainInfo); + add_benchmarks!(params, batches); if batches.is_empty() { return Err("Benchmark not found for this pallet.".into()) } Ok(batches) diff --git a/runtimes/spiritnet/src/tests.rs b/runtimes/spiritnet/src/tests.rs index c720ae2d9..19da2c04f 100644 --- a/runtimes/spiritnet/src/tests.rs +++ b/runtimes/spiritnet/src/tests.rs @@ -32,12 +32,12 @@ use runtime_common::{ AccountId, BlockNumber, }; -use super::{Call, Runtime}; +use super::{Runtime, RuntimeCall}; #[test] fn call_size() { assert!( - core::mem::size_of::() <= 240, + core::mem::size_of::() <= 240, "size of Call is more than 240 bytes: some calls have too big arguments, use Box to reduce \ the size of Call. If the limit is too strong, maybe consider increase the limit to 300.", @@ -118,20 +118,20 @@ fn public_credentials_storage_sizes() { #[test] fn test_derive_did_verification_relation_ctype() { - let c1 = Call::Ctype(ctype::Call::add { + let c1 = RuntimeCall::Ctype(ctype::Call::add { ctype: vec![0, 1, 2, 3], }); - let c2 = Call::Ctype(ctype::Call::add { + let c2 = RuntimeCall::Ctype(ctype::Call::add { ctype: vec![0, 1, 2, 3, 3], }); - let c3 = Call::Ctype(ctype::Call::add { + let c3 = RuntimeCall::Ctype(ctype::Call::add { ctype: vec![0, 1, 2, 3, 3], }); - let c4 = Call::Ctype(ctype::Call::add { + let c4 = RuntimeCall::Ctype(ctype::Call::add { ctype: vec![0, 1, 2, 100], }); - let cb = Call::Utility(pallet_utility::Call::batch { + let cb = RuntimeCall::Utility(pallet_utility::Call::batch { calls: vec![c1, c2, c3, c4], }); assert_eq!( @@ -143,7 +143,7 @@ fn test_derive_did_verification_relation_ctype() { #[test] fn test_derive_did_key_web3name() { assert_eq!( - Call::Web3Names(pallet_web3_names::Call::claim { + RuntimeCall::Web3Names(pallet_web3_names::Call::claim { name: b"test-name".to_vec().try_into().unwrap() }) .derive_verification_key_relationship(), @@ -151,7 +151,7 @@ fn test_derive_did_key_web3name() { ); assert_eq!( - Call::Web3Names(pallet_web3_names::Call::release_by_owner {}).derive_verification_key_relationship(), + RuntimeCall::Web3Names(pallet_web3_names::Call::release_by_owner {}).derive_verification_key_relationship(), Ok(did::DidVerificationKeyRelationship::Authentication) ); } @@ -159,7 +159,7 @@ fn test_derive_did_key_web3name() { #[test] fn test_derive_did_key_lookup() { assert_eq!( - Call::DidLookup(pallet_did_lookup::Call::associate_account { + RuntimeCall::DidLookup(pallet_did_lookup::Call::associate_account { req: AssociateAccountRequest::Dotsama( AccountId::new([1u8; 32]), sp_runtime::MultiSignature::from(sp_core::ed25519::Signature([0; 64])) @@ -171,7 +171,7 @@ fn test_derive_did_key_lookup() { ); assert_eq!( - Call::DidLookup(pallet_did_lookup::Call::remove_account_association { + RuntimeCall::DidLookup(pallet_did_lookup::Call::remove_account_association { account: AccountId::new([1u8; 32]).into(), }) .derive_verification_key_relationship(), @@ -181,20 +181,20 @@ fn test_derive_did_key_lookup() { #[test] fn test_derive_did_verification_relation_fail() { - let c1 = Call::Ctype(ctype::Call::add { + let c1 = RuntimeCall::Ctype(ctype::Call::add { ctype: vec![0, 1, 2, 3], }); - let c2 = Call::Ctype(ctype::Call::add { + let c2 = RuntimeCall::Ctype(ctype::Call::add { ctype: vec![0, 1, 2, 3, 3], }); - let c3 = Call::System(frame_system::Call::remark { + let c3 = RuntimeCall::System(frame_system::Call::remark { remark: vec![0, 1, 2, 3, 3], }); - let c4 = Call::Ctype(ctype::Call::add { + let c4 = RuntimeCall::Ctype(ctype::Call::add { ctype: vec![0, 1, 2, 100], }); - let cb = Call::Utility(pallet_utility::Call::batch { + let cb = RuntimeCall::Utility(pallet_utility::Call::batch { calls: vec![c1, c2, c3, c4], }); @@ -212,24 +212,24 @@ fn test_derive_did_verification_relation_fail() { #[test] fn test_derive_did_verification_relation_nested_fail() { - let c1 = Call::Ctype(ctype::Call::add { + let c1 = RuntimeCall::Ctype(ctype::Call::add { ctype: vec![0, 1, 2, 3], }); - let c2 = Call::Ctype(ctype::Call::add { + let c2 = RuntimeCall::Ctype(ctype::Call::add { ctype: vec![0, 1, 2, 3, 3], }); - let f3 = Call::System(frame_system::Call::remark { + let f3 = RuntimeCall::System(frame_system::Call::remark { remark: vec![0, 1, 2, 3, 3], }); - let c4 = Call::Ctype(ctype::Call::add { + let c4 = RuntimeCall::Ctype(ctype::Call::add { ctype: vec![0, 1, 2, 100], }); - let cb = Call::Utility(pallet_utility::Call::batch { + let cb = RuntimeCall::Utility(pallet_utility::Call::batch { calls: vec![c1.clone(), c2.clone(), c4.clone()], }); - let cb = Call::Utility(pallet_utility::Call::batch { + let cb = RuntimeCall::Utility(pallet_utility::Call::batch { calls: vec![c1, c2, cb, f3, c4], }); @@ -247,21 +247,21 @@ fn test_derive_did_verification_relation_nested_fail() { #[test] fn test_derive_did_verification_relation_nested() { - let c1 = Call::Ctype(ctype::Call::add { + let c1 = RuntimeCall::Ctype(ctype::Call::add { ctype: vec![0, 1, 2, 3], }); - let c2 = Call::Ctype(ctype::Call::add { + let c2 = RuntimeCall::Ctype(ctype::Call::add { ctype: vec![0, 1, 2, 3, 3], }); - let c4 = Call::Ctype(ctype::Call::add { + let c4 = RuntimeCall::Ctype(ctype::Call::add { ctype: vec![0, 1, 2, 100], }); - let cb = Call::Utility(pallet_utility::Call::batch { + let cb = RuntimeCall::Utility(pallet_utility::Call::batch { calls: vec![c1.clone(), c2.clone(), c4.clone()], }); - let cb = Call::Utility(pallet_utility::Call::batch { + let cb = RuntimeCall::Utility(pallet_utility::Call::batch { calls: vec![c1, c2, cb, c4], }); assert_eq!( @@ -272,11 +272,11 @@ fn test_derive_did_verification_relation_nested() { #[test] fn test_derive_did_verification_relation_single() { - let c1 = Call::Ctype(ctype::Call::add { + let c1 = RuntimeCall::Ctype(ctype::Call::add { ctype: vec![0, 1, 2, 3], }); - let cb = Call::Utility(pallet_utility::Call::batch { calls: vec![c1] }); + let cb = RuntimeCall::Utility(pallet_utility::Call::batch { calls: vec![c1] }); assert_eq!( cb.derive_verification_key_relationship(), @@ -286,7 +286,7 @@ fn test_derive_did_verification_relation_single() { #[test] fn test_derive_did_verification_relation_empty() { - let cb = Call::Utility(pallet_utility::Call::batch { calls: vec![] }); + let cb = RuntimeCall::Utility(pallet_utility::Call::batch { calls: vec![] }); assert_eq!( cb.derive_verification_key_relationship(), diff --git a/runtimes/spiritnet/src/weights/pallet_democracy.rs b/runtimes/spiritnet/src/weights/pallet_democracy.rs index d5b0516c3..894687460 100644 --- a/runtimes/spiritnet/src/weights/pallet_democracy.rs +++ b/runtimes/spiritnet/src/weights/pallet_democracy.rs @@ -45,7 +45,6 @@ use frame_support::{traits::Get, weights::Weight}; use sp_std::marker::PhantomData; -/// Weights for `pallet_democracy`. pub struct WeightInfo(PhantomData); impl pallet_democracy::WeightInfo for WeightInfo { // Storage: Democracy PublicPropCount (r:1 w:1) @@ -53,125 +52,117 @@ impl pallet_democracy::WeightInfo for WeightInfo { // Storage: Democracy Blacklist (r:1 w:0) // Storage: Democracy DepositOf (r:0 w:1) fn propose() -> Weight { - Weight::from_ref_time(81_101_000 as u64) + // Minimum execution time: 42_035 nanoseconds. + Weight::from_ref_time(42_673_000 as u64) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } // Storage: Democracy DepositOf (r:1 w:1) - fn second(s: u32, ) -> Weight { - Weight::from_ref_time(56_112_000 as u64) - // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(159_000 as u64).saturating_mul(s as u64)) + fn second() -> Weight { + // Minimum execution time: 37_908 nanoseconds. + Weight::from_ref_time(39_524_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Democracy ReferendumInfoOf (r:1 w:1) // Storage: Democracy VotingOf (r:1 w:1) // Storage: Balances Locks (r:1 w:1) - fn vote_new(r: u32, ) -> Weight { - Weight::from_ref_time(72_585_000 as u64) - // Standard Error: 2_000 - .saturating_add(Weight::from_ref_time(134_000 as u64).saturating_mul(r as u64)) + fn vote_new() -> Weight { + // Minimum execution time: 48_027 nanoseconds. + Weight::from_ref_time(48_672_000 as u64) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } // Storage: Democracy ReferendumInfoOf (r:1 w:1) // Storage: Democracy VotingOf (r:1 w:1) // Storage: Balances Locks (r:1 w:1) - fn vote_existing(r: u32, ) -> Weight { - Weight::from_ref_time(71_360_000 as u64) - // Standard Error: 2_000 - .saturating_add(Weight::from_ref_time(167_000 as u64).saturating_mul(r as u64)) + fn vote_existing() -> Weight { + // Minimum execution time: 48_623 nanoseconds. + Weight::from_ref_time(49_248_000 as u64) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } // Storage: Democracy ReferendumInfoOf (r:1 w:1) // Storage: Democracy Cancellations (r:1 w:1) fn emergency_cancel() -> Weight { - Weight::from_ref_time(35_736_000 as u64) + // Minimum execution time: 19_752 nanoseconds. + Weight::from_ref_time(20_235_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Democracy PublicProps (r:1 w:1) + // Storage: Democracy DepositOf (r:1 w:1) + // Storage: System Account (r:1 w:1) // Storage: Democracy NextExternal (r:1 w:1) // Storage: Democracy ReferendumInfoOf (r:1 w:1) // Storage: Democracy Blacklist (r:0 w:1) - // Storage: Democracy DepositOf (r:1 w:1) - // Storage: System Account (r:2 w:2) - fn blacklist(p: u32, ) -> Weight { - Weight::from_ref_time(91_862_000 as u64) - // Standard Error: 10_000 - .saturating_add(Weight::from_ref_time(372_000 as u64).saturating_mul(p as u64)) - .saturating_add(T::DbWeight::get().reads(6 as u64)) - .saturating_add(T::DbWeight::get().writes(7 as u64)) + fn blacklist() -> Weight { + // Minimum execution time: 75_593 nanoseconds. + Weight::from_ref_time(76_707_000 as u64) + .saturating_add(T::DbWeight::get().reads(5 as u64)) + .saturating_add(T::DbWeight::get().writes(6 as u64)) } // Storage: Democracy NextExternal (r:1 w:1) // Storage: Democracy Blacklist (r:1 w:0) - fn external_propose(v: u32, ) -> Weight { - Weight::from_ref_time(25_282_000 as u64) - // Standard Error: 0 - .saturating_add(Weight::from_ref_time(17_000 as u64).saturating_mul(v as u64)) + fn external_propose() -> Weight { + // Minimum execution time: 15_433 nanoseconds. + Weight::from_ref_time(15_751_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Democracy NextExternal (r:0 w:1) fn external_propose_majority() -> Weight { - Weight::from_ref_time(8_446_000 as u64) + // Minimum execution time: 4_187 nanoseconds. + Weight::from_ref_time(4_344_000 as u64) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Democracy NextExternal (r:0 w:1) fn external_propose_default() -> Weight { - Weight::from_ref_time(8_709_000 as u64) + // Minimum execution time: 4_424 nanoseconds. + Weight::from_ref_time(4_522_000 as u64) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Democracy NextExternal (r:1 w:1) // Storage: Democracy ReferendumCount (r:1 w:1) // Storage: Democracy ReferendumInfoOf (r:0 w:1) fn fast_track() -> Weight { - Weight::from_ref_time(36_411_000 as u64) + // Minimum execution time: 18_919 nanoseconds. + Weight::from_ref_time(19_574_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } // Storage: Democracy NextExternal (r:1 w:1) // Storage: Democracy Blacklist (r:1 w:1) - fn veto_external(v: u32, ) -> Weight { - Weight::from_ref_time(38_531_000 as u64) - // Standard Error: 0 - .saturating_add(Weight::from_ref_time(40_000 as u64).saturating_mul(v as u64)) + fn veto_external() -> Weight { + // Minimum execution time: 24_749 nanoseconds. + Weight::from_ref_time(25_443_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Democracy PublicProps (r:1 w:1) // Storage: Democracy DepositOf (r:1 w:1) - // Storage: System Account (r:2 w:2) - fn cancel_proposal(p: u32, ) -> Weight { - Weight::from_ref_time(77_202_000 as u64) - // Standard Error: 2_000 - .saturating_add(Weight::from_ref_time(317_000 as u64).saturating_mul(p as u64)) - .saturating_add(T::DbWeight::get().reads(4 as u64)) - .saturating_add(T::DbWeight::get().writes(4 as u64)) + // Storage: System Account (r:1 w:1) + fn cancel_proposal() -> Weight { + // Minimum execution time: 63_025 nanoseconds. + Weight::from_ref_time(64_438_000 as u64) + .saturating_add(T::DbWeight::get().reads(3 as u64)) + .saturating_add(T::DbWeight::get().writes(3 as u64)) } // Storage: Democracy ReferendumInfoOf (r:0 w:1) fn cancel_referendum() -> Weight { - Weight::from_ref_time(23_827_000 as u64) + // Minimum execution time: 12_754 nanoseconds. + Weight::from_ref_time(13_249_000 as u64) .saturating_add(T::DbWeight::get().writes(1 as u64)) } - // Storage: Scheduler Lookup (r:1 w:1) - // Storage: Scheduler Agenda (r:1 w:1) - fn cancel_queued(r: u32, ) -> Weight { - Weight::from_ref_time(41_351_000 as u64) - // Standard Error: 3_000 - .saturating_add(Weight::from_ref_time(1_051_000 as u64).saturating_mul(r as u64)) - .saturating_add(T::DbWeight::get().reads(2 as u64)) - .saturating_add(T::DbWeight::get().writes(2 as u64)) - } // Storage: Democracy LowestUnbaked (r:1 w:1) // Storage: Democracy ReferendumCount (r:1 w:0) - // Storage: Democracy ReferendumInfoOf (r:1 w:0) + // Storage: Democracy ReferendumInfoOf (r:2 w:0) + /// The range of component `r` is `[0, 99]`. fn on_initialize_base(r: u32, ) -> Weight { - Weight::from_ref_time(18_186_000 as u64) - // Standard Error: 4_000 - .saturating_add(Weight::from_ref_time(3_047_000 as u64).saturating_mul(r as u64)) + // Minimum execution time: 6_036 nanoseconds. + Weight::from_ref_time(9_221_096 as u64) + // Standard Error: 3_753 + .saturating_add(Weight::from_ref_time(2_068_013 as u64).saturating_mul(r as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(r as u64))) .saturating_add(T::DbWeight::get().writes(1 as u64)) @@ -181,33 +172,39 @@ impl pallet_democracy::WeightInfo for WeightInfo { // Storage: Democracy LastTabledWasExternal (r:1 w:0) // Storage: Democracy NextExternal (r:1 w:0) // Storage: Democracy PublicProps (r:1 w:0) - // Storage: Democracy ReferendumInfoOf (r:1 w:0) + // Storage: Democracy ReferendumInfoOf (r:2 w:0) + /// The range of component `r` is `[0, 99]`. fn on_initialize_base_with_launch_period(r: u32, ) -> Weight { - Weight::from_ref_time(22_113_000 as u64) - // Standard Error: 5_000 - .saturating_add(Weight::from_ref_time(3_037_000 as u64).saturating_mul(r as u64)) + // Minimum execution time: 8_435 nanoseconds. + Weight::from_ref_time(11_539_062 as u64) + // Standard Error: 3_966 + .saturating_add(Weight::from_ref_time(2_069_630 as u64).saturating_mul(r as u64)) .saturating_add(T::DbWeight::get().reads(5 as u64)) .saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(r as u64))) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Democracy VotingOf (r:3 w:3) - // Storage: Democracy ReferendumInfoOf (r:1 w:1) // Storage: Balances Locks (r:1 w:1) + // Storage: Democracy ReferendumInfoOf (r:2 w:2) + /// The range of component `r` is `[0, 99]`. fn delegate(r: u32, ) -> Weight { - Weight::from_ref_time(75_444_000 as u64) - // Standard Error: 5_000 - .saturating_add(Weight::from_ref_time(4_795_000 as u64).saturating_mul(r as u64)) + // Minimum execution time: 39_949 nanoseconds. + Weight::from_ref_time(46_035_539 as u64) + // Standard Error: 5_044 + .saturating_add(Weight::from_ref_time(2_971_650 as u64).saturating_mul(r as u64)) .saturating_add(T::DbWeight::get().reads(4 as u64)) .saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(r as u64))) .saturating_add(T::DbWeight::get().writes(4 as u64)) .saturating_add(T::DbWeight::get().writes((1 as u64).saturating_mul(r as u64))) } // Storage: Democracy VotingOf (r:2 w:2) - // Storage: Democracy ReferendumInfoOf (r:1 w:1) + // Storage: Democracy ReferendumInfoOf (r:2 w:2) + /// The range of component `r` is `[0, 99]`. fn undelegate(r: u32, ) -> Weight { - Weight::from_ref_time(44_608_000 as u64) - // Standard Error: 5_000 - .saturating_add(Weight::from_ref_time(4_777_000 as u64).saturating_mul(r as u64)) + // Minimum execution time: 23_826 nanoseconds. + Weight::from_ref_time(27_032_402 as u64) + // Standard Error: 4_525 + .saturating_add(Weight::from_ref_time(2_958_429 as u64).saturating_mul(r as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(r as u64))) .saturating_add(T::DbWeight::get().writes(2 as u64)) @@ -215,70 +212,55 @@ impl pallet_democracy::WeightInfo for WeightInfo { } // Storage: Democracy PublicProps (r:0 w:1) fn clear_public_proposals() -> Weight { - Weight::from_ref_time(10_267_000 as u64) - .saturating_add(T::DbWeight::get().writes(1 as u64)) - } - // Storage: Democracy Preimages (r:1 w:1) - fn note_preimage(b: u32, ) -> Weight { - Weight::from_ref_time(51_412_000 as u64) - // Standard Error: 0 - .saturating_add(Weight::from_ref_time(2_000 as u64).saturating_mul(b as u64)) - .saturating_add(T::DbWeight::get().reads(1 as u64)) - .saturating_add(T::DbWeight::get().writes(1 as u64)) - } - // Storage: Democracy Preimages (r:1 w:1) - fn note_imminent_preimage(b: u32, ) -> Weight { - Weight::from_ref_time(38_863_000 as u64) - // Standard Error: 0 - .saturating_add(Weight::from_ref_time(2_000 as u64).saturating_mul(b as u64)) - .saturating_add(T::DbWeight::get().reads(1 as u64)) + // Minimum execution time: 4_775 nanoseconds. + Weight::from_ref_time(5_033_000 as u64) .saturating_add(T::DbWeight::get().writes(1 as u64)) } - // Storage: Democracy Preimages (r:1 w:1) - // Storage: System Account (r:1 w:1) - fn reap_preimage(b: u32, ) -> Weight { - Weight::from_ref_time(64_486_000 as u64) - // Standard Error: 0 - .saturating_add(Weight::from_ref_time(1_000 as u64).saturating_mul(b as u64)) - .saturating_add(T::DbWeight::get().reads(2 as u64)) - .saturating_add(T::DbWeight::get().writes(2 as u64)) - } // Storage: Democracy VotingOf (r:1 w:1) // Storage: Balances Locks (r:1 w:1) // Storage: System Account (r:1 w:1) + /// The range of component `r` is `[0, 99]`. fn unlock_remove(r: u32, ) -> Weight { - Weight::from_ref_time(52_858_000 as u64) - // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(120_000 as u64).saturating_mul(r as u64)) + // Minimum execution time: 23_245 nanoseconds. + Weight::from_ref_time(30_061_940 as u64) + // Standard Error: 1_523 + .saturating_add(Weight::from_ref_time(34_810 as u64).saturating_mul(r as u64)) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } // Storage: Democracy VotingOf (r:1 w:1) // Storage: Balances Locks (r:1 w:1) // Storage: System Account (r:1 w:1) + /// The range of component `r` is `[0, 99]`. fn unlock_set(r: u32, ) -> Weight { - Weight::from_ref_time(52_631_000 as u64) - // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(171_000 as u64).saturating_mul(r as u64)) + // Minimum execution time: 28_063 nanoseconds. + Weight::from_ref_time(30_002_043 as u64) + // Standard Error: 636 + .saturating_add(Weight::from_ref_time(67_182 as u64).saturating_mul(r as u64)) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } // Storage: Democracy ReferendumInfoOf (r:1 w:1) // Storage: Democracy VotingOf (r:1 w:1) + /// The range of component `r` is `[1, 100]`. fn remove_vote(r: u32, ) -> Weight { - Weight::from_ref_time(30_764_000 as u64) - // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(196_000 as u64).saturating_mul(r as u64)) + // Minimum execution time: 15_306 nanoseconds. + Weight::from_ref_time(17_690_130 as u64) + // Standard Error: 836 + .saturating_add(Weight::from_ref_time(68_122 as u64).saturating_mul(r as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Democracy ReferendumInfoOf (r:1 w:1) // Storage: Democracy VotingOf (r:1 w:1) + /// The range of component `r` is `[1, 100]`. fn remove_other_vote(r: u32, ) -> Weight { - Weight::from_ref_time(31_420_000 as u64) - // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(192_000 as u64).saturating_mul(r as u64)) + // Minimum execution time: 15_392 nanoseconds. + Weight::from_ref_time(17_610_812 as u64) + // Standard Error: 819 + .saturating_add(Weight::from_ref_time(69_086 as u64).saturating_mul(r as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } } + diff --git a/runtimes/spiritnet/src/weights/pallet_proxy.rs b/runtimes/spiritnet/src/weights/pallet_proxy.rs index 7b76c0f87..6aebe9ba5 100644 --- a/runtimes/spiritnet/src/weights/pallet_proxy.rs +++ b/runtimes/spiritnet/src/weights/pallet_proxy.rs @@ -49,88 +49,120 @@ use sp_std::marker::PhantomData; pub struct WeightInfo(PhantomData); impl pallet_proxy::WeightInfo for WeightInfo { // Storage: Proxy Proxies (r:1 w:0) + /// The range of component `p` is `[1, 31]`. fn proxy(p: u32, ) -> Weight { - Weight::from_ref_time(36_241_000 as u64) - // Standard Error: 5_000 - .saturating_add(Weight::from_ref_time(114_000 as u64).saturating_mul(p as u64)) + // Minimum execution time: 19_011 nanoseconds. + Weight::from_ref_time(20_076_741 as u64) + // Standard Error: 1_518 + .saturating_add(Weight::from_ref_time(55_831 as u64).saturating_mul(p as u64)) .saturating_add(T::DbWeight::get().reads(1 as u64)) } // Storage: Proxy Proxies (r:1 w:0) // Storage: Proxy Announcements (r:1 w:1) // Storage: System Account (r:1 w:1) - fn proxy_announced(a: u32, _p: u32, ) -> Weight { - Weight::from_ref_time(64_923_000 as u64) - // Standard Error: 7_000 - .saturating_add(Weight::from_ref_time(290_000 as u64).saturating_mul(a as u64)) + /// The range of component `a` is `[0, 31]`. + /// The range of component `p` is `[1, 31]`. + fn proxy_announced(a: u32, p: u32, ) -> Weight { + // Minimum execution time: 37_088 nanoseconds. + Weight::from_ref_time(36_581_632 as u64) + // Standard Error: 1_964 + .saturating_add(Weight::from_ref_time(116_190 as u64).saturating_mul(a as u64)) + // Standard Error: 2_030 + .saturating_add(Weight::from_ref_time(41_547 as u64).saturating_mul(p as u64)) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Proxy Announcements (r:1 w:1) // Storage: System Account (r:1 w:1) - fn remove_announcement(a: u32, _p: u32, ) -> Weight { - Weight::from_ref_time(46_651_000 as u64) - // Standard Error: 6_000 - .saturating_add(Weight::from_ref_time(318_000 as u64).saturating_mul(a as u64)) + /// The range of component `a` is `[0, 31]`. + /// The range of component `p` is `[1, 31]`. + fn remove_announcement(a: u32, p: u32, ) -> Weight { + // Minimum execution time: 25_299 nanoseconds. + Weight::from_ref_time(26_801_993 as u64) + // Standard Error: 2_746 + .saturating_add(Weight::from_ref_time(102_732 as u64).saturating_mul(a as u64)) + // Standard Error: 2_837 + .saturating_add(Weight::from_ref_time(318 as u64).saturating_mul(p as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Proxy Announcements (r:1 w:1) // Storage: System Account (r:1 w:1) - fn reject_announcement(a: u32, _p: u32, ) -> Weight { - Weight::from_ref_time(46_000_000 as u64) - // Standard Error: 5_000 - .saturating_add(Weight::from_ref_time(373_000 as u64).saturating_mul(a as u64)) + /// The range of component `a` is `[0, 31]`. + /// The range of component `p` is `[1, 31]`. + fn reject_announcement(a: u32, p: u32, ) -> Weight { + // Minimum execution time: 25_178 nanoseconds. + Weight::from_ref_time(26_248_780 as u64) + // Standard Error: 1_710 + .saturating_add(Weight::from_ref_time(116_285 as u64).saturating_mul(a as u64)) + // Standard Error: 1_767 + .saturating_add(Weight::from_ref_time(1_860 as u64).saturating_mul(p as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Proxy Proxies (r:1 w:0) // Storage: Proxy Announcements (r:1 w:1) // Storage: System Account (r:1 w:1) - fn announce(a: u32, _p: u32, ) -> Weight { - Weight::from_ref_time(58_234_000 as u64) - // Standard Error: 8_000 - .saturating_add(Weight::from_ref_time(372_000 as u64).saturating_mul(a as u64)) + /// The range of component `a` is `[0, 31]`. + /// The range of component `p` is `[1, 31]`. + fn announce(a: u32, p: u32, ) -> Weight { + // Minimum execution time: 32_878 nanoseconds. + Weight::from_ref_time(34_386_513 as u64) + // Standard Error: 1_955 + .saturating_add(Weight::from_ref_time(97_872 as u64).saturating_mul(a as u64)) + // Standard Error: 2_020 + .saturating_add(Weight::from_ref_time(25_879 as u64).saturating_mul(p as u64)) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Proxy Proxies (r:1 w:1) + /// The range of component `p` is `[1, 31]`. fn add_proxy(p: u32, ) -> Weight { - Weight::from_ref_time(50_975_000 as u64) - // Standard Error: 4_000 - .saturating_add(Weight::from_ref_time(155_000 as u64).saturating_mul(p as u64)) + // Minimum execution time: 26_410 nanoseconds. + Weight::from_ref_time(27_653_752 as u64) + // Standard Error: 2_000 + .saturating_add(Weight::from_ref_time(57_860 as u64).saturating_mul(p as u64)) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Proxy Proxies (r:1 w:1) + /// The range of component `p` is `[1, 31]`. fn remove_proxy(p: u32, ) -> Weight { - Weight::from_ref_time(50_461_000 as u64) - // Standard Error: 9_000 - .saturating_add(Weight::from_ref_time(313_000 as u64).saturating_mul(p as u64)) + // Minimum execution time: 26_506 nanoseconds. + Weight::from_ref_time(27_604_932 as u64) + // Standard Error: 1_863 + .saturating_add(Weight::from_ref_time(78_466 as u64).saturating_mul(p as u64)) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Proxy Proxies (r:1 w:1) + /// The range of component `p` is `[1, 31]`. fn remove_proxies(p: u32, ) -> Weight { - Weight::from_ref_time(43_901_000 as u64) - // Standard Error: 4_000 - .saturating_add(Weight::from_ref_time(215_000 as u64).saturating_mul(p as u64)) + // Minimum execution time: 22_696 nanoseconds. + Weight::from_ref_time(23_736_641 as u64) + // Standard Error: 1_616 + .saturating_add(Weight::from_ref_time(50_577 as u64).saturating_mul(p as u64)) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: unknown [0x3a65787472696e7369635f696e646578] (r:1 w:0) // Storage: Proxy Proxies (r:1 w:1) - fn anonymous(p: u32, ) -> Weight { - Weight::from_ref_time(56_715_000 as u64) - // Standard Error: 5_000 - .saturating_add(Weight::from_ref_time(96_000 as u64).saturating_mul(p as u64)) + /// The range of component `p` is `[1, 31]`. + fn create_pure(p: u32, ) -> Weight { + // Minimum execution time: 29_461 nanoseconds. + Weight::from_ref_time(30_835_016 as u64) + // Standard Error: 1_587 + .saturating_add(Weight::from_ref_time(23_834 as u64).saturating_mul(p as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Proxy Proxies (r:1 w:1) - fn kill_anonymous(p: u32, ) -> Weight { - Weight::from_ref_time(46_162_000 as u64) - // Standard Error: 4_000 - .saturating_add(Weight::from_ref_time(163_000 as u64).saturating_mul(p as u64)) + /// The range of component `p` is `[0, 30]`. + fn kill_pure(p: u32, ) -> Weight { + // Minimum execution time: 24_319 nanoseconds. + Weight::from_ref_time(25_652_003 as u64) + // Standard Error: 1_697 + .saturating_add(Weight::from_ref_time(28_118 as u64).saturating_mul(p as u64)) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } diff --git a/runtimes/spiritnet/src/weights/pallet_scheduler.rs b/runtimes/spiritnet/src/weights/pallet_scheduler.rs index fe9c7244a..46501aa93 100644 --- a/runtimes/spiritnet/src/weights/pallet_scheduler.rs +++ b/runtimes/spiritnet/src/weights/pallet_scheduler.rs @@ -48,149 +48,96 @@ use sp_std::marker::PhantomData; /// Weights for `pallet_scheduler`. pub struct WeightInfo(PhantomData); impl pallet_scheduler::WeightInfo for WeightInfo { - // Storage: Scheduler Agenda (r:2 w:2) - // Storage: Preimage PreimageFor (r:1 w:1) - // Storage: Preimage StatusFor (r:1 w:1) - // Storage: Scheduler Lookup (r:0 w:1) - fn on_initialize_periodic_named_resolved(s: u32, ) -> Weight { - Weight::from_ref_time(32_591_000 as u64) - // Standard Error: 30_000 - .saturating_add(Weight::from_ref_time(31_087_000 as u64).saturating_mul(s as u64)) + // Storage: Scheduler IncompleteSince (r:1 w:1) + fn service_agendas_base() -> Weight { + // Minimum execution time: 4_236 nanoseconds. + Weight::from_ref_time(4_539_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) - .saturating_add(T::DbWeight::get().reads((3 as u64).saturating_mul(s as u64))) .saturating_add(T::DbWeight::get().writes(1 as u64)) - .saturating_add(T::DbWeight::get().writes((4 as u64).saturating_mul(s as u64))) } // Storage: Scheduler Agenda (r:1 w:1) - // Storage: Preimage PreimageFor (r:1 w:1) - // Storage: Preimage StatusFor (r:1 w:1) - // Storage: Scheduler Lookup (r:0 w:1) - fn on_initialize_named_resolved(s: u32, ) -> Weight { - Weight::from_ref_time(32_298_000 as u64) - // Standard Error: 40_000 - .saturating_add(Weight::from_ref_time(24_770_000 as u64).saturating_mul(s as u64)) + /// The range of component `s` is `[0, 50]`. + fn service_agenda_base(s: u32, ) -> Weight { + // Minimum execution time: 3_651 nanoseconds. + Weight::from_ref_time(6_843_488 as u64) + // Standard Error: 1_965 + .saturating_add(Weight::from_ref_time(579_324 as u64).saturating_mul(s as u64)) .saturating_add(T::DbWeight::get().reads(1 as u64)) - .saturating_add(T::DbWeight::get().reads((2 as u64).saturating_mul(s as u64))) .saturating_add(T::DbWeight::get().writes(1 as u64)) - .saturating_add(T::DbWeight::get().writes((3 as u64).saturating_mul(s as u64))) } - // Storage: Scheduler Agenda (r:2 w:2) - // Storage: Preimage PreimageFor (r:1 w:1) - // Storage: Preimage StatusFor (r:1 w:1) - fn on_initialize_periodic_resolved(s: u32, ) -> Weight { - Weight::from_ref_time(35_254_000 as u64) - // Standard Error: 39_000 - .saturating_add(Weight::from_ref_time(26_106_000 as u64).saturating_mul(s as u64)) - .saturating_add(T::DbWeight::get().reads(1 as u64)) - .saturating_add(T::DbWeight::get().reads((3 as u64).saturating_mul(s as u64))) - .saturating_add(T::DbWeight::get().writes(1 as u64)) - .saturating_add(T::DbWeight::get().writes((3 as u64).saturating_mul(s as u64))) + fn service_task_base() -> Weight { + // Minimum execution time: 9_244 nanoseconds. + Weight::from_ref_time(9_537_000 as u64) } - // Storage: Scheduler Agenda (r:1 w:1) // Storage: Preimage PreimageFor (r:1 w:1) // Storage: Preimage StatusFor (r:1 w:1) - fn on_initialize_resolved(s: u32, ) -> Weight { - Weight::from_ref_time(31_517_000 as u64) - // Standard Error: 36_000 - .saturating_add(Weight::from_ref_time(22_619_000 as u64).saturating_mul(s as u64)) - .saturating_add(T::DbWeight::get().reads(1 as u64)) - .saturating_add(T::DbWeight::get().reads((2 as u64).saturating_mul(s as u64))) - .saturating_add(T::DbWeight::get().writes(1 as u64)) - .saturating_add(T::DbWeight::get().writes((2 as u64).saturating_mul(s as u64))) - } - // Storage: Scheduler Agenda (r:2 w:2) - // Storage: Preimage PreimageFor (r:1 w:0) - // Storage: Scheduler Lookup (r:0 w:1) - fn on_initialize_named_aborted(s: u32, ) -> Weight { - Weight::from_ref_time(16_225_000 as u64) - // Standard Error: 11_000 - .saturating_add(Weight::from_ref_time(8_972_000 as u64).saturating_mul(s as u64)) - .saturating_add(T::DbWeight::get().reads(2 as u64)) - .saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(s as u64))) - .saturating_add(T::DbWeight::get().writes(2 as u64)) - .saturating_add(T::DbWeight::get().writes((1 as u64).saturating_mul(s as u64))) - } - // Storage: Scheduler Agenda (r:2 w:2) - // Storage: Preimage PreimageFor (r:1 w:0) - fn on_initialize_aborted(s: u32, ) -> Weight { - Weight::from_ref_time(17_863_000 as u64) - // Standard Error: 8_000 - .saturating_add(Weight::from_ref_time(4_579_000 as u64).saturating_mul(s as u64)) + /// The range of component `s` is `[128, 4194304]`. + fn service_task_fetched(s: u32, ) -> Weight { + // Minimum execution time: 20_377 nanoseconds. + Weight::from_ref_time(20_733_000 as u64) + // Standard Error: 1 + .saturating_add(Weight::from_ref_time(1_250 as u64).saturating_mul(s as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) - .saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(s as u64))) .saturating_add(T::DbWeight::get().writes(2 as u64)) } - // Storage: Scheduler Agenda (r:2 w:2) // Storage: Scheduler Lookup (r:0 w:1) - fn on_initialize_periodic_named(s: u32, ) -> Weight { - Weight::from_ref_time(35_066_000 as u64) - // Standard Error: 42_000 - .saturating_add(Weight::from_ref_time(15_868_000 as u64).saturating_mul(s as u64)) - .saturating_add(T::DbWeight::get().reads(1 as u64)) - .saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(s as u64))) + fn service_task_named() -> Weight { + // Minimum execution time: 10_526 nanoseconds. + Weight::from_ref_time(10_839_000 as u64) .saturating_add(T::DbWeight::get().writes(1 as u64)) - .saturating_add(T::DbWeight::get().writes((2 as u64).saturating_mul(s as u64))) } - // Storage: Scheduler Agenda (r:2 w:2) - fn on_initialize_periodic(s: u32, ) -> Weight { - Weight::from_ref_time(26_463_000 as u64) - // Standard Error: 34_000 - .saturating_add(Weight::from_ref_time(11_660_000 as u64).saturating_mul(s as u64)) - .saturating_add(T::DbWeight::get().reads(1 as u64)) - .saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(s as u64))) - .saturating_add(T::DbWeight::get().writes(1 as u64)) - .saturating_add(T::DbWeight::get().writes((1 as u64).saturating_mul(s as u64))) + fn service_task_periodic() -> Weight { + // Minimum execution time: 9_130 nanoseconds. + Weight::from_ref_time(9_476_000 as u64) } - // Storage: Scheduler Agenda (r:1 w:1) - // Storage: Scheduler Lookup (r:0 w:1) - fn on_initialize_named(s: u32, ) -> Weight { - Weight::from_ref_time(27_964_000 as u64) - // Standard Error: 26_000 - .saturating_add(Weight::from_ref_time(10_180_000 as u64).saturating_mul(s as u64)) - .saturating_add(T::DbWeight::get().reads(1 as u64)) - .saturating_add(T::DbWeight::get().writes(1 as u64)) - .saturating_add(T::DbWeight::get().writes((1 as u64).saturating_mul(s as u64))) + fn execute_dispatch_signed() -> Weight { + // Minimum execution time: 3_644 nanoseconds. + Weight::from_ref_time(3_761_000 as u64) } - // Storage: Scheduler Agenda (r:1 w:1) - fn on_initialize(s: u32, ) -> Weight { - Weight::from_ref_time(26_953_000 as u64) - // Standard Error: 30_000 - .saturating_add(Weight::from_ref_time(8_437_000 as u64).saturating_mul(s as u64)) - .saturating_add(T::DbWeight::get().reads(1 as u64)) - .saturating_add(T::DbWeight::get().writes(1 as u64)) + fn execute_dispatch_unsigned() -> Weight { + // Minimum execution time: 3_604 nanoseconds. + Weight::from_ref_time(3_738_000 as u64) } // Storage: Scheduler Agenda (r:1 w:1) + /// The range of component `s` is `[0, 49]`. fn schedule(s: u32, ) -> Weight { - Weight::from_ref_time(34_138_000 as u64) - // Standard Error: 2_000 - .saturating_add(Weight::from_ref_time(138_000 as u64).saturating_mul(s as u64)) + // Minimum execution time: 16_561 nanoseconds. + Weight::from_ref_time(20_688_245 as u64) + // Standard Error: 2_610 + .saturating_add(Weight::from_ref_time(602_897 as u64).saturating_mul(s as u64)) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Scheduler Agenda (r:1 w:1) // Storage: Scheduler Lookup (r:0 w:1) + /// The range of component `s` is `[1, 50]`. fn cancel(s: u32, ) -> Weight { - Weight::from_ref_time(34_566_000 as u64) - // Standard Error: 3_000 - .saturating_add(Weight::from_ref_time(1_105_000 as u64).saturating_mul(s as u64)) + // Minimum execution time: 18_830 nanoseconds. + Weight::from_ref_time(20_815_969 as u64) + // Standard Error: 2_132 + .saturating_add(Weight::from_ref_time(598_343 as u64).saturating_mul(s as u64)) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Scheduler Lookup (r:1 w:1) // Storage: Scheduler Agenda (r:1 w:1) + /// The range of component `s` is `[0, 49]`. fn schedule_named(s: u32, ) -> Weight { - Weight::from_ref_time(40_759_000 as u64) - // Standard Error: 4_000 - .saturating_add(Weight::from_ref_time(189_000 as u64).saturating_mul(s as u64)) + // Minimum execution time: 18_755 nanoseconds. + Weight::from_ref_time(23_838_238 as u64) + // Standard Error: 3_430 + .saturating_add(Weight::from_ref_time(628_138 as u64).saturating_mul(s as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Scheduler Lookup (r:1 w:1) // Storage: Scheduler Agenda (r:1 w:1) + /// The range of component `s` is `[1, 50]`. fn cancel_named(s: u32, ) -> Weight { - Weight::from_ref_time(38_404_000 as u64) - // Standard Error: 4_000 - .saturating_add(Weight::from_ref_time(1_169_000 as u64).saturating_mul(s as u64)) + // Minimum execution time: 19_761 nanoseconds. + Weight::from_ref_time(22_583_852 as u64) + // Standard Error: 2_440 + .saturating_add(Weight::from_ref_time(612_208 as u64).saturating_mul(s as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } diff --git a/runtimes/spiritnet/src/xcm_config.rs b/runtimes/spiritnet/src/xcm_config.rs index cac6040fb..96b27c102 100644 --- a/runtimes/spiritnet/src/xcm_config.rs +++ b/runtimes/spiritnet/src/xcm_config.rs @@ -17,8 +17,8 @@ // If you feel like getting in touch with us, you can do so at info@botlabs.org use super::{ - AccountId, Balances, Call, Event, Origin, ParachainInfo, ParachainSystem, PolkadotXcm, Runtime, Treasury, - WeightToFee, XcmpQueue, + AccountId, Balances, ParachainInfo, ParachainSystem, PolkadotXcm, Runtime, RuntimeCall, RuntimeEvent, + RuntimeOrigin, Treasury, WeightToFee, XcmpQueue, }; use frame_support::{ @@ -36,7 +36,7 @@ use xcm_executor::XcmExecutor; use runtime_common::xcm_config::{LocalAssetTransactor, MaxInstructions, RelayLocation, UnitWeightCost, XcmBarrier}; parameter_types! { - pub RelayChainOrigin: Origin = cumulus_pallet_xcm::Origin::Relay.into(); + pub RelayChainOrigin: RuntimeOrigin = cumulus_pallet_xcm::Origin::Relay.into(); pub Ancestry: MultiLocation = Parachain(ParachainInfo::parachain_id().into()).into(); pub const RelayNetworkId: NetworkId = NetworkId::Kusama; } @@ -46,25 +46,25 @@ parameter_types! { /// `Transact`. There is an `OriginKind` which can bias the kind of local /// `Origin` it will become. pub type XcmOriginToTransactDispatchOrigin = ( - // We don't include `SovereignSignedViaLocation` since we don't want to allow other - // chains to manage accounts on our network. + // We don't include `SovereignSignedViaLocation` since we don't want to allow + // other chains to manage accounts on our network. // Native converter for Relay-chain (Parent) location which converts to a `Relay` origin when // recognized. - RelayChainAsNative, + RelayChainAsNative, // Native converter for sibling Parachains which converts to a `SiblingPara` origin when // recognized. - SiblingParachainAsNative, + SiblingParachainAsNative, // Native signed account converter which just converts an `AccountId32` origin into a normal - // `Origin::Signed` origin of the same 32-byte value. - SignedAccountId32AsNative, + // `RuntimeOrigin::signed` origin of the same 32-byte value. + SignedAccountId32AsNative, // Xcm origins can be represented natively under the Xcm pallet's Xcm origin. - XcmPassthrough, + XcmPassthrough, ); pub struct XcmConfig; impl xcm_executor::Config for XcmConfig { - type Call = Call; + type RuntimeCall = RuntimeCall; // How we send Xcm messages. type XcmSender = XcmRouter; // How to withdraw and deposit an asset. @@ -83,7 +83,7 @@ impl xcm_executor::Config for XcmConfig { type Barrier = XcmBarrier; // How XCM messages are weighted. Each transaction has a weight of // `UnitWeightCost`. - type Weigher = FixedWeightBounds; + type Weigher = FixedWeightBounds; // How weight is transformed into fees. The fees are not taken out of the // Balances pallet here. Balances is only used if fees are dropped without being // used. In that case they are put into the treasury. @@ -98,7 +98,7 @@ impl xcm_executor::Config for XcmConfig { } /// No local origins on this chain are allowed to dispatch XCM sends/executions. -pub type LocalOriginToLocation = SignedToAccountId32; +pub type LocalOriginToLocation = SignedToAccountId32; /// The means for routing XCM messages which are not for local execution into /// the right message queues. @@ -110,20 +110,20 @@ pub type XcmRouter = ( ); impl pallet_xcm::Config for Runtime { - type Event = Event; - type SendXcmOrigin = EnsureXcmOrigin; + type RuntimeEvent = RuntimeEvent; + type SendXcmOrigin = EnsureXcmOrigin; type XcmRouter = XcmRouter; - type ExecuteXcmOrigin = EnsureXcmOrigin; + type ExecuteXcmOrigin = EnsureXcmOrigin; // Disable dispatchable execution on the XCM pallet. // NOTE: For local testing this needs to be `Everything`. type XcmExecuteFilter = Nothing; type XcmExecutor = XcmExecutor; type XcmTeleportFilter = Everything; type XcmReserveTransferFilter = Nothing; - type Weigher = FixedWeightBounds; + type Weigher = FixedWeightBounds; type LocationInverter = LocationInverter; - type Origin = Origin; - type Call = Call; + type RuntimeOrigin = RuntimeOrigin; + type RuntimeCall = RuntimeCall; const VERSION_DISCOVERY_QUEUE_SIZE: u32 = 100; // Our latest supported XCM version. @@ -131,6 +131,6 @@ impl pallet_xcm::Config for Runtime { } impl cumulus_pallet_xcm::Config for Runtime { - type Event = Event; + type RuntimeEvent = RuntimeEvent; type XcmExecutor = XcmExecutor; } diff --git a/runtimes/standalone/Cargo.toml b/runtimes/standalone/Cargo.toml index 279a5f8f3..ff201f466 100644 --- a/runtimes/standalone/Cargo.toml +++ b/runtimes/standalone/Cargo.toml @@ -39,7 +39,6 @@ kilt-runtime-api-public-credentials.workspace = true pallet-transaction-payment-rpc-runtime-api.workspace = true # Substrate dependencies -frame-benchmarking.workspace = true frame-executive.workspace = true frame-support.workspace = true frame-system.workspace = true @@ -68,6 +67,7 @@ sp-transaction-pool.workspace = true sp-version.workspace = true # Benchmarking dependencies +frame-benchmarking = {workspace = true, optional = true} frame-system-benchmarking = {workspace = true, optional = true} # Runtime tests @@ -83,21 +83,23 @@ runtime-benchmarks = [ "frame-benchmarking/runtime-benchmarks", "frame-support/runtime-benchmarks", "frame-system/runtime-benchmarks", - "frame-system-benchmarking", + "frame-system-benchmarking/runtime-benchmarks", "hex-literal", "runtime-common/runtime-benchmarks", "kilt-support/runtime-benchmarks", "pallet-balances/runtime-benchmarks", "pallet-did-lookup/runtime-benchmarks", + "pallet-grandpa/runtime-benchmarks", "pallet-indices/runtime-benchmarks", "pallet-timestamp/runtime-benchmarks", "pallet-web3-names/runtime-benchmarks", "pallet-proxy/runtime-benchmarks", + "pallet-utility/runtime-benchmarks", "public-credentials/runtime-benchmarks", "sp-runtime/runtime-benchmarks", ] std = [ - "frame-benchmarking/std", + "frame-benchmarking?/std", "attestation/std", "codec/std", "ctype/std", @@ -106,8 +108,9 @@ std = [ "frame-executive/std", "frame-support/std", "frame-system/std", + "frame-system-benchmarking?/std", "frame-system-rpc-runtime-api/std", - "frame-try-runtime/std", + "frame-try-runtime?/std", "kilt-runtime-api-did/std", "kilt-runtime-api-public-credentials/std", "kilt-support/std", @@ -125,6 +128,7 @@ std = [ "pallet-timestamp/std", "pallet-transaction-payment/std", "pallet-transaction-payment-rpc-runtime-api/std", + "pallet-utility/std", "pallet-web3-names/std", "public-credentials/std", "runtime-common/std", @@ -150,6 +154,7 @@ try-runtime = [ "frame-support/try-runtime", "frame-system/try-runtime", "frame-try-runtime", + "kilt-support/try-runtime", "pallet-aura/try-runtime", "pallet-authorship/try-runtime", "pallet-balances/try-runtime", @@ -165,4 +170,5 @@ try-runtime = [ "pallet-utility/try-runtime", "pallet-transaction-payment/try-runtime", "public-credentials/try-runtime", + "runtime-common/try-runtime", ] diff --git a/runtimes/standalone/src/lib.rs b/runtimes/standalone/src/lib.rs index 8cfc60631..282010299 100644 --- a/runtimes/standalone/src/lib.rs +++ b/runtimes/standalone/src/lib.rs @@ -154,7 +154,7 @@ impl frame_system::Config for Runtime { /// The identifier used to distinguish between accounts. type AccountId = AccountId; /// The aggregated dispatch type that is available for extrinsics. - type Call = Call; + type RuntimeCall = RuntimeCall; /// The lookup mechanism to get account ID from whatever is passed in /// dispatchers. type Lookup = AccountIdLookup; @@ -169,9 +169,9 @@ impl frame_system::Config for Runtime { /// The header type. type Header = generic::Header; /// The ubiquitous event type. - type Event = Event; + type RuntimeEvent = RuntimeEvent; /// The ubiquitous origin type. - type Origin = Origin; + type RuntimeOrigin = RuntimeOrigin; /// Maximum number of block number to block hash mappings to keep (oldest /// pruned first). type BlockHashCount = BlockHashCount; @@ -210,8 +210,7 @@ impl pallet_aura::Config for Runtime { } impl pallet_grandpa::Config for Runtime { - type Event = Event; - type Call = Call; + type RuntimeEvent = RuntimeEvent; type KeyOwnerProofSystem = (); @@ -243,7 +242,7 @@ impl pallet_indices::Config for Runtime { type AccountIndex = Index; type Currency = Balances; type Deposit = constants::IndicesDeposit; - type Event = Event; + type RuntimeEvent = RuntimeEvent; type WeightInfo = (); } @@ -260,7 +259,7 @@ impl pallet_balances::Config for Runtime { /// The type for recording an account's balance. type Balance = Balance; /// The ubiquitous event type. - type Event = Event; + type RuntimeEvent = RuntimeEvent; type DustRemoval = (); type ExistentialDeposit = ExistentialDeposit; type AccountStore = System; @@ -274,7 +273,7 @@ parameter_types! { } impl pallet_transaction_payment::Config for Runtime { - type Event = Event; + type RuntimeEvent = RuntimeEvent; type OnChargeTransaction = CurrencyAdapter>; type OperationalFeeMultiplier = constants::fee::OperationalFeeMultiplier; type WeightToFee = IdentityFee; @@ -283,8 +282,8 @@ impl pallet_transaction_payment::Config for Runtime { } impl pallet_sudo::Config for Runtime { - type Event = Event; - type Call = Call; + type RuntimeEvent = RuntimeEvent; + type RuntimeCall = RuntimeCall; } parameter_types! { @@ -295,7 +294,7 @@ parameter_types! { impl attestation::Config for Runtime { type EnsureOrigin = did::EnsureDidOrigin; type OriginSuccess = did::DidRawOrigin; - type Event = Event; + type RuntimeEvent = RuntimeEvent; type WeightInfo = (); type Currency = Balances; type Deposit = AttestationDeposit; @@ -330,7 +329,7 @@ impl delegation::Config for Runtime { type DelegationNodeId = Hash; type EnsureOrigin = did::EnsureDidOrigin; type OriginSuccess = did::DidRawOrigin; - type Event = Event; + type RuntimeEvent = RuntimeEvent; type MaxSignatureByteLength = MaxSignatureByteLength; type MaxParentChecks = MaxParentChecks; type MaxRevocations = MaxRevocations; @@ -353,7 +352,7 @@ impl ctype::Config for Runtime { type CtypeCreatorId = DidIdentifier; type EnsureOrigin = did::EnsureDidOrigin; type OriginSuccess = did::DidRawOrigin; - type Event = Event; + type RuntimeEvent = RuntimeEvent; type WeightInfo = (); } @@ -380,9 +379,9 @@ parameter_types! { impl did::Config for Runtime { type DidIdentifier = DidIdentifier; - type Event = Event; - type Call = Call; - type Origin = Origin; + type RuntimeEvent = RuntimeEvent; + type RuntimeCall = RuntimeCall; + type RuntimeOrigin = RuntimeOrigin; type Currency = Balances; type Deposit = DidDeposit; type Fee = DidFee; @@ -412,7 +411,7 @@ impl did::Config for Runtime { } impl pallet_did_lookup::Config for Runtime { - type Event = Event; + type RuntimeEvent = RuntimeEvent; type DidIdentifier = DidIdentifier; @@ -431,7 +430,7 @@ impl pallet_web3_names::Config for Runtime { type OriginSuccess = did::DidRawOrigin; type Currency = Balances; type Deposit = constants::web3_names::Web3NameDeposit; - type Event = Event; + type RuntimeEvent = RuntimeEvent; type MaxNameLength = constants::web3_names::MaxNameLength; type MinNameLength = constants::web3_names::MinNameLength; type Web3Name = pallet_web3_names::web3_name::AsciiWeb3Name; @@ -445,7 +444,7 @@ parameter_types! { } impl pallet_session::Config for Runtime { - type Event = Event; + type RuntimeEvent = RuntimeEvent; type ValidatorId = AccountId; type ValidatorIdOf = (); type ShouldEndSession = pallet_session::PeriodicSessions; @@ -468,8 +467,8 @@ impl pallet_authorship::Config for Runtime { } impl pallet_utility::Config for Runtime { - type Event = Event; - type Call = Call; + type RuntimeEvent = RuntimeEvent; + type RuntimeCall = RuntimeCall; type PalletsOrigin = OriginCaller; type WeightInfo = (); } @@ -488,7 +487,7 @@ impl public_credentials::Config for Runtime { type MaxEncodedClaimsLength = runtime_common::constants::public_credentials::MaxEncodedClaimsLength; type MaxSubjectIdLength = runtime_common::constants::public_credentials::MaxSubjectIdLength; type OriginSuccess = did::DidRawOrigin; - type Event = Event; + type RuntimeEvent = RuntimeEvent; type SubjectId = runtime_common::assets::AssetDid; type WeightInfo = (); } @@ -515,37 +514,37 @@ impl Default for ProxyType { } } -impl InstanceFilter for ProxyType { - fn filter(&self, c: &Call) -> bool { +impl InstanceFilter for ProxyType { + fn filter(&self, c: &RuntimeCall) -> bool { match self { ProxyType::Any => true, ProxyType::NonTransfer => matches!( c, - Call::Attestation(..) - | Call::Authorship(..) + RuntimeCall::Attestation(..) + | RuntimeCall::Authorship(..) // Excludes `Balances` - | Call::Ctype(..) - | Call::Delegation(..) - | Call::Did(..) - | Call::DidLookup(..) - | Call::Indices( + | RuntimeCall::Ctype(..) + | RuntimeCall::Delegation(..) + | RuntimeCall::Did(..) + | RuntimeCall::DidLookup(..) + | RuntimeCall::Indices( // Excludes `force_transfer`, and `transfer` pallet_indices::Call::claim { .. } | pallet_indices::Call::free { .. } | pallet_indices::Call::freeze { .. } ) - | Call::Proxy(..) - | Call::PublicCredentials(..) - | Call::Session(..) + | RuntimeCall::Proxy(..) + | RuntimeCall::PublicCredentials(..) + | RuntimeCall::Session(..) // Excludes `Sudo` - | Call::System(..) - | Call::Timestamp(..) - | Call::Utility(..) - | Call::Web3Names(..), + | RuntimeCall::System(..) + | RuntimeCall::Timestamp(..) + | RuntimeCall::Utility(..) + | RuntimeCall::Web3Names(..), ), ProxyType::NonDepositClaiming => matches!( c, - Call::Attestation( + RuntimeCall::Attestation( // Excludes `reclaim_deposit` attestation::Call::add { .. } | attestation::Call::remove { .. } @@ -553,10 +552,10 @@ impl InstanceFilter for ProxyType { | attestation::Call::change_deposit_owner { .. } | attestation::Call::update_deposit { .. } ) - | Call::Authorship(..) + | RuntimeCall::Authorship(..) // Excludes `Balances` - | Call::Ctype(..) - | Call::Delegation( + | RuntimeCall::Ctype(..) + | RuntimeCall::Delegation( // Excludes `reclaim_deposit` delegation::Call::add_delegation { .. } | delegation::Call::create_hierarchy { .. } @@ -565,7 +564,7 @@ impl InstanceFilter for ProxyType { | delegation::Call::update_deposit { .. } | delegation::Call::change_deposit_owner { .. } ) - | Call::Did( + | RuntimeCall::Did( // Excludes `reclaim_deposit` did::Call::add_key_agreement_key { .. } | did::Call::add_service_endpoint { .. } @@ -582,7 +581,7 @@ impl InstanceFilter for ProxyType { | did::Call::update_deposit { .. } | did::Call::change_deposit_owner { .. } ) - | Call::DidLookup( + | RuntimeCall::DidLookup( // Excludes `reclaim_deposit` pallet_did_lookup::Call::associate_account { .. } | pallet_did_lookup::Call::associate_sender { .. } @@ -591,9 +590,9 @@ impl InstanceFilter for ProxyType { | pallet_did_lookup::Call::update_deposit { .. } | pallet_did_lookup::Call::change_deposit_owner { .. } ) - | Call::Indices(..) - | Call::Proxy(..) - | Call::PublicCredentials( + | RuntimeCall::Indices(..) + | RuntimeCall::Proxy(..) + | RuntimeCall::PublicCredentials( // Excludes `reclaim_deposit` public_credentials::Call::add { .. } | public_credentials::Call::revoke { .. } @@ -602,12 +601,12 @@ impl InstanceFilter for ProxyType { | public_credentials::Call::update_deposit { .. } | public_credentials::Call::change_deposit_owner { .. } ) - | Call::Session(..) + | RuntimeCall::Session(..) // Excludes `Sudo` - | Call::System(..) - | Call::Timestamp(..) - | Call::Utility(..) - | Call::Web3Names( + | RuntimeCall::System(..) + | RuntimeCall::Timestamp(..) + | RuntimeCall::Utility(..) + | RuntimeCall::Web3Names( // Excludes `ban`, and `reclaim_deposit` pallet_web3_names::Call::claim { .. } | pallet_web3_names::Call::release_by_owner { .. } @@ -616,7 +615,7 @@ impl InstanceFilter for ProxyType { | pallet_web3_names::Call::change_deposit_owner { .. } ), ), - ProxyType::CancelProxy => matches!(c, Call::Proxy(pallet_proxy::Call::reject_announcement { .. })), + ProxyType::CancelProxy => matches!(c, RuntimeCall::Proxy(pallet_proxy::Call::reject_announcement { .. })), } } @@ -640,8 +639,8 @@ impl InstanceFilter for ProxyType { } impl pallet_proxy::Config for Runtime { - type Event = Event; - type Call = Call; + type RuntimeEvent = RuntimeEvent; + type RuntimeCall = RuntimeCall; type Currency = Balances; type ProxyType = ProxyType; type ProxyDepositBase = constants::proxy::ProxyDepositBase; @@ -702,9 +701,9 @@ construct_runtime!( } ); -impl did::DeriveDidCallAuthorizationVerificationKeyRelationship for Call { +impl did::DeriveDidCallAuthorizationVerificationKeyRelationship for RuntimeCall { fn derive_verification_key_relationship(&self) -> did::DeriveDidCallKeyRelationshipResult { - fn single_key_relationship(calls: &[Call]) -> did::DeriveDidCallKeyRelationshipResult { + fn single_key_relationship(calls: &[RuntimeCall]) -> did::DeriveDidCallKeyRelationshipResult { let init = calls .get(0) .ok_or(did::RelationshipDeriveError::InvalidCallParameter)? @@ -712,7 +711,7 @@ impl did::DeriveDidCallAuthorizationVerificationKeyRelationship for Call { calls .iter() .skip(1) - .map(Call::derive_verification_key_relationship) + .map(RuntimeCall::derive_verification_key_relationship) .try_fold(init, |acc, next| { if Ok(acc) == next { Ok(acc) @@ -722,18 +721,18 @@ impl did::DeriveDidCallAuthorizationVerificationKeyRelationship for Call { }) } match self { - Call::Attestation { .. } => Ok(did::DidVerificationKeyRelationship::AssertionMethod), - Call::Ctype { .. } => Ok(did::DidVerificationKeyRelationship::AssertionMethod), - Call::Delegation { .. } => Ok(did::DidVerificationKeyRelationship::CapabilityDelegation), + RuntimeCall::Attestation { .. } => Ok(did::DidVerificationKeyRelationship::AssertionMethod), + RuntimeCall::Ctype { .. } => Ok(did::DidVerificationKeyRelationship::AssertionMethod), + RuntimeCall::Delegation { .. } => Ok(did::DidVerificationKeyRelationship::CapabilityDelegation), // DID creation is not allowed through the DID proxy. - Call::Did(did::Call::create { .. }) => Err(did::RelationshipDeriveError::NotCallableByDid), - Call::Did { .. } => Ok(did::DidVerificationKeyRelationship::Authentication), - Call::Web3Names { .. } => Ok(did::DidVerificationKeyRelationship::Authentication), - Call::DidLookup { .. } => Ok(did::DidVerificationKeyRelationship::Authentication), - Call::PublicCredentials { .. } => Ok(did::DidVerificationKeyRelationship::AssertionMethod), - Call::Utility(pallet_utility::Call::batch { calls }) => single_key_relationship(&calls[..]), - Call::Utility(pallet_utility::Call::batch_all { calls }) => single_key_relationship(&calls[..]), - Call::Utility(pallet_utility::Call::force_batch { calls }) => single_key_relationship(&calls[..]), + RuntimeCall::Did(did::Call::create { .. }) => Err(did::RelationshipDeriveError::NotCallableByDid), + RuntimeCall::Did { .. } => Ok(did::DidVerificationKeyRelationship::Authentication), + RuntimeCall::Web3Names { .. } => Ok(did::DidVerificationKeyRelationship::Authentication), + RuntimeCall::DidLookup { .. } => Ok(did::DidVerificationKeyRelationship::Authentication), + RuntimeCall::PublicCredentials { .. } => Ok(did::DidVerificationKeyRelationship::AssertionMethod), + RuntimeCall::Utility(pallet_utility::Call::batch { calls }) => single_key_relationship(&calls[..]), + RuntimeCall::Utility(pallet_utility::Call::batch_all { calls }) => single_key_relationship(&calls[..]), + RuntimeCall::Utility(pallet_utility::Call::force_batch { calls }) => single_key_relationship(&calls[..]), #[cfg(not(feature = "runtime-benchmarks"))] _ => Err(did::RelationshipDeriveError::NotCallableByDid), // By default, returns the authentication key @@ -745,7 +744,7 @@ impl did::DeriveDidCallAuthorizationVerificationKeyRelationship for Call { // Always return a System::remark() extrinsic call #[cfg(feature = "runtime-benchmarks")] fn get_call_for_did_call_benchmark() -> Self { - Call::System(frame_system::Call::remark { remark: vec![] }) + RuntimeCall::System(frame_system::Call::remark { remark: vec![] }) } } @@ -771,15 +770,43 @@ pub type SignedExtra = ( pallet_transaction_payment::ChargeTransactionPayment, ); /// Unchecked extrinsic type as expected by this runtime. -pub type UncheckedExtrinsic = generic::UncheckedExtrinsic; +pub type UncheckedExtrinsic = generic::UncheckedExtrinsic; /// The payload being signed in transactions. -pub type SignedPayload = generic::SignedPayload; +pub type SignedPayload = generic::SignedPayload; /// Extrinsic type that has already been checked. -pub type CheckedExtrinsic = generic::CheckedExtrinsic; +pub type CheckedExtrinsic = generic::CheckedExtrinsic; /// Executive: handles dispatch to the various Pallets. pub type Executive = frame_executive::Executive, Runtime, AllPalletsWithSystem, ()>; +// follows Substrate's non destructive way of eliminating otherwise required +// repetion: https://github.com/paritytech/substrate/pull/10592 +#[cfg(feature = "runtime-benchmarks")] +#[macro_use] +extern crate frame_benchmarking; + +#[cfg(feature = "runtime-benchmarks")] +mod benches { + define_benchmarks!( + // KILT + [attestation, Attestation] + [ctype, Ctype] + [delegation, Delegation] + [did, Did] + [pallet_did_lookup, DidLookup] + [pallet_web3_names, Web3Names] + [public_credentials, PublicCredentials] + // Substrate + [frame_benchmarking::baseline, Baseline::] + [frame_system, SystemBench::] + [pallet_balances, Balances] + [pallet_indices, Indices] + [pallet_timestamp, Timestamp] + [pallet_utility, Utility] + [pallet_proxy, Proxy] + ); +} + impl_runtime_apis! { impl sp_api::Core for Runtime { fn version() -> RuntimeVersion { @@ -820,6 +847,23 @@ impl_runtime_apis! { } } + impl pallet_transaction_payment_rpc_runtime_api::TransactionPaymentCallApi + for Runtime + { + fn query_call_info( + call: RuntimeCall, + len: u32, + ) -> pallet_transaction_payment::RuntimeDispatchInfo { + TransactionPayment::query_call_info(call, len) + } + fn query_call_fee_details( + call: RuntimeCall, + len: u32, + ) -> pallet_transaction_payment::FeeDetails { + TransactionPayment::query_call_fee_details(call, len) + } + } + impl sp_block_builder::BlockBuilder for Runtime { fn apply_extrinsic(extrinsic: ::Extrinsic) -> ApplyExtrinsicResult { Executive::apply_extrinsic(extrinsic) @@ -1018,48 +1062,35 @@ impl_runtime_apis! { } } + #[cfg(feature = "runtime-benchmarks")] impl frame_benchmarking::Benchmark for Runtime { fn benchmark_metadata(extra: bool) -> ( Vec, Vec, ) { - use frame_benchmarking::{list_benchmark, baseline, Benchmarking, BenchmarkList}; + use frame_benchmarking::{Benchmarking, BenchmarkList}; use frame_support::traits::StorageInfoTrait; + use frame_system_benchmarking::Pallet as SystemBench; - use baseline::Pallet as BaselineBench; + use frame_benchmarking::baseline::Pallet as Baseline; let mut list = Vec::::new(); - - list_benchmark!(list, extra, frame_benchmarking, BaselineBench::); - list_benchmark!(list, extra, frame_system, SystemBench::); - list_benchmark!(list, extra, pallet_balances, Balances); - list_benchmark!(list, extra, pallet_timestamp, Timestamp); - - list_benchmark!(list, extra, frame_system, SystemBench::); - list_benchmark!(list, extra, pallet_balances, Balances); - list_benchmark!(list, extra, pallet_timestamp, Timestamp); - - list_benchmark!(list, extra, did, Did); - list_benchmark!(list, extra, ctype, Ctype); - list_benchmark!(list, extra, delegation, Delegation); - list_benchmark!(list, extra, attestation, Attestation); + list_benchmarks!(list, extra); let storage_info = AllPalletsWithSystem::storage_info(); - (list, storage_info) } fn dispatch_benchmark( config: frame_benchmarking::BenchmarkConfig ) -> Result, sp_runtime::RuntimeString> { - use frame_benchmarking::{baseline, Benchmarking, BenchmarkBatch, add_benchmark, TrackedStorageKey}; - - use baseline::Pallet as BaselineBench; + use frame_benchmarking::{Benchmarking, BenchmarkBatch, TrackedStorageKey}; use frame_system_benchmarking::Pallet as SystemBench; + use frame_benchmarking::baseline::Pallet as Baseline; impl frame_system_benchmarking::Config for Runtime {} - impl baseline::Config for Runtime {} + impl frame_benchmarking::baseline::Config for Runtime {} let whitelist: Vec = vec![ // Block Number @@ -1082,21 +1113,14 @@ impl_runtime_apis! { let mut batches = Vec::::new(); let params = (&config, &whitelist); - add_benchmark!(params, batches, frame_benchmarking, BaselineBench::); - add_benchmark!(params, batches, frame_system, SystemBench::); - add_benchmark!(params, batches, pallet_balances, Balances); - add_benchmark!(params, batches, pallet_timestamp, Timestamp); - - add_benchmark!(params, batches, did, Did); - add_benchmark!(params, batches, ctype, Ctype); - add_benchmark!(params, batches, delegation, Delegation); - add_benchmark!(params, batches, attestation, Attestation); + add_benchmarks!(params, batches); if batches.is_empty() { return Err("Benchmark not found for this pallet.".into()) } Ok(batches) } } + #[cfg(feature = "try-runtime")] impl frame_try_runtime::TryRuntime for Runtime { fn on_runtime_upgrade() -> (Weight, Weight) { diff --git a/support/src/mock.rs b/support/src/mock.rs index 14f79b58c..9082728d0 100644 --- a/support/src/mock.rs +++ b/support/src/mock.rs @@ -40,7 +40,7 @@ pub mod mock_origin { #[pallet::config] pub trait Config: frame_system::Config { - type Origin: From>; + type RuntimeOrigin: From>; type AccountId: Parameter; type SubjectId: Parameter; } From 70ba5ba32d5eebb3cc0c9708c2a86468da7cf32c Mon Sep 17 00:00:00 2001 From: William Freudenberger Date: Mon, 12 Dec 2022 11:27:22 +0100 Subject: [PATCH 16/38] fix: staking API unclaimed rewards --- pallets/parachain-staking/src/api.rs | 2 +- pallets/parachain-staking/src/tests.rs | 12 ++++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/pallets/parachain-staking/src/api.rs b/pallets/parachain-staking/src/api.rs index 082e68e9f..3f1c518f4 100644 --- a/pallets/parachain-staking/src/api.rs +++ b/pallets/parachain-staking/src/api.rs @@ -56,7 +56,7 @@ impl Pallet { // rewards += stake * self_count * collator_reward_rate rewards.saturating_add(Self::calc_block_rewards_collator(stake, count_unclaimed.into())) } else { - BalanceOf::::zero() + rewards } } diff --git a/pallets/parachain-staking/src/tests.rs b/pallets/parachain-staking/src/tests.rs index 8959cb9ce..53a461c0e 100644 --- a/pallets/parachain-staking/src/tests.rs +++ b/pallets/parachain-staking/src/tests.rs @@ -3935,8 +3935,17 @@ fn rewards_force_remove_candidate() { // rewarded counter storage should be killed for collator assert!(StakePallet::blocks_authored(1).is_zero()); assert!(StakePallet::blocks_rewarded(1).is_zero()); + // rewards should be set + assert!(!StakePallet::rewards(1).is_zero()); + (1..=3).for_each(|id| { + // rewards should be non zero assert!(!StakePallet::rewards(id).is_zero(), "Zero rewards for acc_id {:?}", id); + // rewards should equal API call + assert_eq!( + StakePallet::get_unclaimed_staking_rewards(&id), + StakePallet::rewards(id) + ); if id > 1 { assert_eq!( StakePallet::blocks_rewarded(id), @@ -3946,6 +3955,8 @@ fn rewards_force_remove_candidate() { ); } }); + assert_eq!(StakePallet::get_unclaimed_staking_rewards(&1), StakePallet::rewards(1)); + (4..=5).for_each(|id| { assert!(StakePallet::rewards(id).is_zero(), "acc_id {:?}", id); assert!(StakePallet::blocks_rewarded(id).is_zero(), "acc_id {:?}", id); @@ -4094,6 +4105,7 @@ fn rewards_delegator_leaves() { assert!(StakePallet::blocks_rewarded(2).is_zero()); assert!(StakePallet::rewards(2).is_zero()); assert!(!StakePallet::rewards(3).is_zero()); + assert_eq!(StakePallet::get_unclaimed_staking_rewards(&3), StakePallet::rewards(3)); // counter should be reset due to leaving assert!(StakePallet::blocks_rewarded(3).is_zero()); }); From 3a852e5c4977a1cfb9f406ea3484bc7c08bcd592 Mon Sep 17 00:00:00 2001 From: William Freudenberger Date: Mon, 19 Dec 2022 15:05:09 +0100 Subject: [PATCH 17/38] ci: add img build for dev tags --- .gitlab-ci.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 391863b1f..4e73e516a 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -48,6 +48,7 @@ build: - develop - master - /^[0-9]+(?:\.[0-9]+){2}(?:-(rc)*([0-9])+)?$/ + - /^[dev-](\w*-)*[0-9]?$/ variables: DOCKER_HUB_PARACHAIN: "kiltprotocol/kilt-node" DOCKER_HUB_STANDALONE: "kiltprotocol/mashnet-node" From 4ac76101c46b57cb1302e9890ee08d9fba1567c2 Mon Sep 17 00:00:00 2001 From: Gerawork Aynekulu Date: Mon, 19 Dec 2022 17:01:49 +0100 Subject: [PATCH 18/38] fix: disable curl output (#444) ## fixes NO TICKET --- .maintain/docker-auth-config.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.maintain/docker-auth-config.sh b/.maintain/docker-auth-config.sh index 3e2227e1f..09d43634c 100755 --- a/.maintain/docker-auth-config.sh +++ b/.maintain/docker-auth-config.sh @@ -1,5 +1,6 @@ #!/bin/bash +set +x export PAYLOAD=`jq -n --arg userpass "$(echo -n "AWS:$(aws ecr get-login-password --region $AWS_DEFAULT_REGION)" | base64)" '{"auths": {"'$AWS_REGISTRY'": {"auth": $userpass}}}'` -curl --request PUT --header "PRIVATE-TOKEN:$TOKEN" "https://gitlab.com/api/v4/projects/26909212/variables/DOCKER_AUTH_CONFIG" --form "value=$PAYLOAD" +curl --silent --request PUT --header "PRIVATE-TOKEN:$TOKEN" "https://gitlab.com/api/v4/projects/26909212/variables/DOCKER_AUTH_CONFIG" --form "value=$PAYLOAD" > /dev/null From 8be0c41cf91e8bd1032e3aba24f65dcd88d63090 Mon Sep 17 00:00:00 2001 From: Albrecht Date: Wed, 4 Jan 2023 10:01:03 +0100 Subject: [PATCH 19/38] fix: new spec (#443) New Relaychain spec, code substitute for peregrine Co-authored-by: William Freudenberger --- .maintain/reset-spec/peregrine_relay.py | 74 +++++-- dev-specs/kilt-parachain/peregrine-kilt.json | 4 +- dev-specs/kilt-parachain/peregrine-relay.json | 131 +++++++---- .../kilt-parachain/peregrine-relay2.json | 206 ------------------ 4 files changed, 147 insertions(+), 268 deletions(-) delete mode 100644 dev-specs/kilt-parachain/peregrine-relay2.json diff --git a/.maintain/reset-spec/peregrine_relay.py b/.maintain/reset-spec/peregrine_relay.py index 92319bbce..30f350af5 100644 --- a/.maintain/reset-spec/peregrine_relay.py +++ b/.maintain/reset-spec/peregrine_relay.py @@ -6,25 +6,23 @@ def update_spec(input: typing.Dict, base_chain="westend"): acc_bob = "5DL9V1dmkuZnzRD9R3cwdzowim3sBZZvz1iJhNxC5QjofikK" acc_charlie = "5DcKRxsjojmbJW7Scxnu7Ck5zXfpg1RxtrcyVjaMRx5YFWUR" acc_dave = "5E4ZYy9tTPpJPoScqm6PvLtr1MjsBEjbDufJQYhcuBtk6rNa" + acc_eve = "5ELCvQBGu8ur9UDSMAiqB4PrYXTnLGwcaUg63gtkxWtScEYm" + acc_ferdie = "5G6ThxmfSbHVt2u8WmZmTH3xeKBckFFDGA69E6cSXtYPaiwT" input.update({ "bootNodes": [ - "/dns4/eyrie-1.kilt.io/tcp/30360/p2p/12D3KooWEeezCpJauUmWw3zfgEtYzhZTc5LgukQYtGTMaZfzgVfE", - "/dns4/eyrie-2.kilt.io/tcp/30361/p2p/12D3KooWHq5j9tLdZEu4tnr6ii2k33zp5DCoKREQ6KzuabC9Gihu", - "/dns4/eyrie-2.kilt.io/tcp/30362/p2p/12D3KooWQ8iTGLH98zLz9BZmq5FXDmR1NytDsJ2VToXvcjvHV16a", - "/dns4/eyrie-1.kilt.io/tcp/30363/p2p/12D3KooWNWNptEoH443LVUgwC5kd7DBVoNYwQtJh6dp4TQxUsAST", - "/dns4/eyrie-3.kilt.io/tcp/30365/p2p/12D3KooWCYnLwW3eEWiWqBNraUDjp8qVg2uwyJxh9fKAs32PMutR", - "/dns4/eyrie-3.kilt.io/tcp/30366/p2p/12D3KooWCED7zzribj75pE98739qp8QNDDfXFmL2w6JMLwBWFLxL", + "/dns4/eyrie-2.kilt.io/tcp/30300/p2p/12D3KooWM8RCC8r2Bc4qkAC5oh8m9gSQispJ9TCMchx4BjtGdpSZ", + "/dns4/eyrie-2.kilt.io/tcp/30301/p2p/12D3KooWNeTst8AmFWKBKFtAB1RJk5YwpXsTfCenFX6azozv4Q1V", + "/dns4/eyrie-2.kilt.io/tcp/30302/p2p/12D3KooWPT1SzyKnYBgDEmRVrPf88LLzD44D1bvp1Fh4EJLRtadb", + "/dns4/eyrie-2.kilt.io/tcp/30303/p2p/12D3KooWMSAdpcHmfZQfd284ZgDeW5KuFfRM9HAKqWU8xTdNDoYV", + "/dns4/eyrie-2.kilt.io/tcp/30304/p2p/12D3KooWMrteVGFXZUQNhJyxCkeUL18gEmcmggA6xj87GLM27yBz", + "/dns4/eyrie-2.kilt.io/tcp/30305/p2p/12D3KooWCcTV8vjq9KffXjcB2FG7SWK34zUfexj7d1vdVRAwCx14", ], "chainType": "Live", "name": "Peregrine Relay", - "protocolId": "Rkilt5", - "id": f"{base_chain}_peregrine5_relay", + "protocolId": "Rkilt6", + "id": f"{base_chain}_peregrine6_relay", "telemetryEndpoints": [ - [ - "/dns/telemetry-backend.kilt.io/tcp/8080/x-parity-wss/%2Fsubmit", - 0 - ] ] }) @@ -32,10 +30,12 @@ def update_spec(input: typing.Dict, base_chain="westend"): [acc_alice, 1000000000000000000], [acc_bob, 1000000000000000000], [acc_charlie, 1000000000000000000], - [acc_dave, 1000000000000000000] + [acc_dave, 1000000000000000000], + [acc_eve, 1000000000000000000], + [acc_ferdie, 1000000000000000000], ] input["genesis"]["runtime"]["staking"].update({ - "validatorCount": 4, + "validatorCount": 6, "stakers": [ [ acc_alice, @@ -60,6 +60,18 @@ def update_spec(input: typing.Dict, base_chain="westend"): acc_dave, 100000000000000, "Validator" + ], + [ + acc_eve, + acc_eve, + 100000000000000, + "Validator" + ], + [ + acc_ferdie, + acc_ferdie, + 100000000000000, + "Validator" ] ] }) @@ -108,6 +120,28 @@ def update_spec(input: typing.Dict, base_chain="westend"): "para_assignment": "5FxM6yYBFvMeX3C2QrQDXJ8LhhzG5sPjgUtX77cX1wihHhVq", "authority_discovery": "5FxM6yYBFvMeX3C2QrQDXJ8LhhzG5sPjgUtX77cX1wihHhVq", } + ], [ + acc_eve, + acc_eve, + { + "grandpa": "5GKaEkaA8NVdpsruRcnpeLBNGzMcFsEfwEY3Jq7Vmw9brztR", + "babe": "5GnPNFKvLRy9FF8N1G9YjGmjJA4cUsUC7WgEx3rDeMFnZsXk", + "im_online": "5GnPNFKvLRy9FF8N1G9YjGmjJA4cUsUC7WgEx3rDeMFnZsXk", + "para_validator": "5GnPNFKvLRy9FF8N1G9YjGmjJA4cUsUC7WgEx3rDeMFnZsXk", + "para_assignment": "5GnPNFKvLRy9FF8N1G9YjGmjJA4cUsUC7WgEx3rDeMFnZsXk", + "authority_discovery": "5GnPNFKvLRy9FF8N1G9YjGmjJA4cUsUC7WgEx3rDeMFnZsXk", + } + ], [ + acc_ferdie, + acc_ferdie, + { + "grandpa": "5CSYQMyi7iGVuHLgLNDXcpPXZgvWWrP7mqd1sHdBUSeafXf5", + "babe": "5CPW6uFwdjoHTj14C1VWiK96Cj2sJBALbC964zHaGAni3J2S", + "im_online": "5CPW6uFwdjoHTj14C1VWiK96Cj2sJBALbC964zHaGAni3J2S", + "para_validator": "5CPW6uFwdjoHTj14C1VWiK96Cj2sJBALbC964zHaGAni3J2S", + "para_assignment": "5CPW6uFwdjoHTj14C1VWiK96Cj2sJBALbC964zHaGAni3J2S", + "authority_discovery": "5CPW6uFwdjoHTj14C1VWiK96Cj2sJBALbC964zHaGAni3J2S", + } ] ] input["genesis"]["runtime"]["sudo"]["key"] = acc_alice @@ -124,7 +158,10 @@ def update_spec(input: typing.Dict, base_chain="westend"): "validation_upgrade_delay": 2, "max_pov_size": 5242880, "max_downward_message_size": 1048576, - "ump_service_total_weight": 100000000000, + "ump_service_total_weight": { + "ref_time": 100000000000, + "proof_size": 5242880 + }, "hrmp_max_parachain_outbound_channels": 4, "hrmp_max_parathread_outbound_channels": 4, "hrmp_sender_deposit": 0, @@ -141,7 +178,7 @@ def update_spec(input: typing.Dict, base_chain="westend"): "chain_availability_period": 4, "thread_availability_period": 4, "scheduling_lookahead": 0, - "max_validators_per_core": 1, + "max_validators_per_core": None, "max_validators": None, "dispute_period": 6, "dispute_post_conclusion_acceptance_period": 100, @@ -152,7 +189,10 @@ def update_spec(input: typing.Dict, base_chain="westend"): "zeroth_delay_tranche_width": 0, "needed_approvals": 2, "relay_vrf_modulo_samples": 2, - "ump_max_individual_weight": 20000000000, + "ump_max_individual_weight": { + "ref_time": 20000000000, + "proof_size": 5242880 + }, "pvf_checking_enabled": False, "pvf_voting_ttl": 2, "minimum_validation_upgrade_delay": 5 diff --git a/dev-specs/kilt-parachain/peregrine-kilt.json b/dev-specs/kilt-parachain/peregrine-kilt.json index 5a182e270..d487d24cc 100644 --- a/dev-specs/kilt-parachain/peregrine-kilt.json +++ b/dev-specs/kilt-parachain/peregrine-kilt.json @@ -21,7 +21,9 @@ "relay_chain": "westend_peregrine3_relay", "para_id": 2000, "consensusEngine": null, - "codeSubstitutes": {}, + "codeSubstitutes": { + "2140029": "52bc537646db8e0528b52ffd005824df04eefb45d6125210480b291d02ad9355b211395c8480a7e27ba06840b3c061d0ded82b18e3b089d7606918e50de0d48f745af60cc77ed52a00aff5d2f34b111075af360744f41f7bf929cbcddef1bb91bd3721524a29654a2979147911bd11edd08fb4c3ac5bbdaffe02dbc6d657a832d4f70e699ea18a5eb69c934de9f97e65a8fe7dedd0e6f9059ef2db558682be5c14f8eb9043a2f3eb8fdb2552a1ef38a27ad831e9fcfa8ef1445f77ced7e7bdbfdc366b39d66163e7df4e619d352667dafe750cd55e604b806d79cab6af2b651ed359a1da5afe39a6214da793a38e3d0d89ae5684ab508e9f39a5e95ce5597b81adfcec94607d3f1dc360c6b3638eabfcbeee67676d574865e6e60ae1aece37b97d6c35235ce5b9abf0d9775b4d4d517e7e3ad37b03eaa3d09fdec434e54041bd13fde94e3f3fd92b67f9e795f7318e1bd8f66545ccc330cea4564466b05b5b060a2a099509070a0a0aea48e546cd59b268d1b2650b172e4410d1a50b12487cf9c2041361c2881133660c1932af57993266cc9c3983064d9a346ad4ac59c3864d9b366edcbc7903074e9c3851512c87e5404155e92a9dc2732c4f448e30a7b2c211163f52f9f3ced20850755254fe44e4a8b3740acf9f635c63e9149eafd600d791aadb25aafbb252e6a71b3516339f0b704d8e89e754f6e84f2bc2de6ef498830eb517daa17337b94a7ffa5c22532e11199748844b04be25f27a89342f115e21ecab1d999fa25d753d75e62a3f2f915d21ecd38ddee4a2af463ba6f99de2aaebdb5b438aedacb5e0fac6b0d58c489f0eb9ca0f9d3523273c756c7215fef4d68a6c1928a8a75d13d3c281827a271c9ff2f79cb24f79f4d55e9821724d4c2b7caf90e94ef2a3639c4daef64fa75c537427f9295f0d8992a76ed4298ea9c7538f1cd30acf2b643ac619e59878ce539f5ce59fb4db2d61fa33eac9b1e46a3b3bc659e4f8576be72c6b6c5ce5f72bfdd6f2ebe3a95db35738544153654c7ba5ff9ebfe7efbd2a58febdf79ed05b6a43e50c152ddeadf67656b72afc6e17b2614dd13bea12fa2bd0b76ffb13220e6cfbb28188dfd794385f59df4e80dfd794d7af860481ad6e46bd6d59b7d63bfaaf6391db7f1c3fb604d8f8e5cb22279d35a4277db5165c2f31d68e44975d8d1e1d6bedc8f6d15783cd828ec1ec71fcd8cb24179db56d56ed79760c5b4d76d5f5d21f5769f4f7b80a5fba51638fab0af8e7d86ab3ab35fcf4c7d57dfdf3c8d56d560d33c8b08402ffbc6eb36a927f5e230bffdce8456e7f724c6fce9c39511ffd715585878e71f638e891db5fed85f94f724cf36357f95fc7c473e6cc99f3d5f5cf21b7cde20e368b9de8d7874b329c822d67840adba125dbbea68479daad7d4df9f2eb5917f1d1fa4fb7f60515f5eb40bfbe42bb02b6296ceceb9bc2b0edd6f2b3af633adbad85dd6a5fc71883d9766bbfd25fde79c10c54b3f61ff4e7ed4f43ea6e77e70533589ab5cffeb8851d6b48b459cf5763615f436a376af602dbef76eeee8cdac5dc02c6ce1c04b617149baff0db293ba5fb8ab687eaf6ec757bc80cc3e3d7fcdca8f9bdf71efb7bdcedf4bbdb81a41d7af311f6ee6afbeb949cd1602b54fddbb14561c39600dbfaf3d590d6592b52031414d494df6e9b55e9b7639d6db7d8bbb5cd6a37eac7c166b50f6083fed3adfdad5bdbacf5f69e6e3d6fffe9167ffb6a480f72517a3c14177d76fadced40c20e9d1d764efcaf5b0d89bbca2bd49d92fffa703de62fb0fd15aadbb763b45b9584206d6cec35fb3661637fbebeda0bec4adbac0a7fdda831e6de6b6c3e4ab6c238630e7eb6449a18ce33cd8f82234ab68a229fbd5d67893431d433adf0ecedab1d815050cf6ed45867bb44d8ebf36dd63aed56e57fbe8e3d8e366b5d00dbf3f5d58cc066adbf8e366bdda8b1ce98ebcf964813bf3e8a7cf6766d893431d433adf0ecedacbdb0413d7bd6adfdf6d58e30d4b31bb5511bb5512fb7cd5a5fa1ee94b65f1faee62e03dbc6d8b75b759dbb6dd6faba8bd907db175497df896d6b635fdf541031588d3741a882ac091284203708a2441030419608d244902b416cf81107881b40bc00c205903240a600020320668068f1830440d200f206081c2052003903e4092065004902881240ba00e203902000c1022407205040d000720690383fdcf881c68f367ebc01040720430042841f69fc28029016fc50034809805c0152050815203bfc1002101e8068016206101d0061038407407c00040a203f00d2c30f38408000c40620568088f9b1c68f21fcc00244083f70f841841f597ed820f486500f848020e4032137423710c281500e84c80811216402a11f7cb4f1d1031f3ff0e1c6870f7cd8c0871a1f6f7ca4e1a3063e72e003073ed8f820c3471a1f61f898818f1bf840e3638d8f337c08c1071a3e88e063073ec6786f7042705cb8203820b81fb82d9c0f5c0f5c09b815705e382d1c0fdc0e9c0e5c162e076e0a4e0a2e0a4e0c0705f704e70417866b826301078663825b82c381bb81c3c29180bbc259e150c09d80ebc21dc129c125c17de1c6781b1c94bfe172dc0d67c3df3810dc07fe030f82a3f12f9c0977c259e0601e18bfe2569c043dd2e8f1a6c70e7ad4d088d043cc03c36bd033848f1a9e27660e825810c485070f82ac045d09aa124482202a41370461f10187470f7808a1b74c3426194f0e8f1c785c0064069035789a701ab40e78ac00aa02c8079e16f060f1a2e079b362c247105e194150ac92986b1e991984e98395148d829e2056607656c0e384bb01d2060f981e20da8d8f31cb5885993858390104050f8bbea2c1ac96e059a27b3077b06a22480c901300b5e159010f1340e4aca6e8c101a88ce9660a61054510104048b08ae20711310a081b41a600794126450361a5044f982c8aae0264ce84b312b37a221b336fc0c3824c8cc606881b203acc33829ed072b0620110272611a61940da0445c123c6c1e849635ae1c12607971c47f0bc20a8043c4a30c570317ae4502b7cb4085921548590113e38402ab3073c2a9059acace0414262d12ee0201888b706c70fa60d260d660d66189307738d1967be91564832d2051915b205ab314043f04011644590133dd6c0b16546f1a460a6c173029e23b633784c20a3e0d98263889d347684b0036727ce0e1176868023881d3476dad861633383c34d50153d62f490d14303cc0ba682c8431c226ae151058f16f0b06247889d22764cd0b3454f183d6680d8e07103501b4168044911148747173cd0f0f0228888202f4145f8c8f161c3e78d11a68c40c5678d116c1801cac70ded05da17da0934253414c426a214318c1646ab427382878d9e2a3c6d68393c355a16a03080c8004aa395d162a0c120a807416382dc049109f2412c23be893bf069c3678e5c23d1906468559e19cd0a0f183c6978d0044d11bb8869a21759940695ada15991b5c97e909991e990edc04508b22168ca56c6a6839d2b56335885b192c12acd0acd6a8c150d765ecc034f15538dc926d5440f35380d1e2f3b39ac54b0428247124161807e00dab25a014f123c4ae0104296c68666fb623bb369b191e150ae464f9c55105637e0f9c2a38c5498140b7c8dd50d2b2c591619163d3f604800c101ea620433240d7aac048d11c5d8e6684b4436b422c43572fc9023889e22f4f0a20da1c70a7aa8a0670d6a8556f101c3870a9f2b7c5ce0f385cf0b7c68e023864f1a1f343e33f009c347063e58f8c0c0878c4f173d25f031e353850f173e31f0c9c2c70b9f57cf969e1e7a7ce8d1e2d3029f323e56f868e1738607089e20787e80557c8ed60657c154f0189e82a5e028580c43c14fb0131c869b6016301866829760253809fec25e7805ac024662b69943008a82878cc605c80d41de6841f428f3c3041a101308738c117a10844c90313e4708fda0dfb41acdc6a3f2aacc345b0e7870b0338677c874c04307de86e70a1f717ad8e889d2e26868f4f88205214888d50b7a7600da010e1f3620f45c010262fe80870f3d5c9e1b3caf094650102b323c5d82a8e0c942bea61a6d081e1468606868565e7ace9831587df12d944c1018a01e3a05120a1f357cd2681fe4141914405ae418a012cc194c343e513c4400ede039005284ec099f22ac5220a54839b13a62e74df7b04281a422aa80a7089e21562700e261d525a8091e23e61753cccc613a3179986166967965fad0c38dd7060f1c80b2f0e8a1a70d1516320c1e2178b8cc2200e9f0b2f0b14636850f367adc4831f18de8861c22ca913864684c19bc97ac62eae04901048647e500424b03879ce6c163e3ade16a7e0cf1dabc1d3c335e0d1c063e86f09c78615e138f05efcae3e129f17c7824783d3c2daf042f8777c3c3e1edf07e785b1e105ee671793abc2c8f8927c4c3f282e831c7870eba8d5ea3a33ace837a567a4eefa0cfe836ed83fe4197d1667410bc088e8613c1d3e816789c26d355f810da883641afa0b90891d145b4107d440f1ef8ab55d04838167e4597a075682d3ddc340f6d438fa81e3de02034149fc167f8e55324c06f180d83c162b00c78063d85db980073110000f00bd80d96c356f80b3c8bce01f7c02580d2c434c3930e44a0019ce5010ce580a4183480810b2471a10524bc05010b38c28211a4041cbdd101580b9190134ac8c0ec01e35f5e5549f54b82c264034a6660922483122518bf189c242951a2f289b350929c98e8f04163a1c4d0c4e403494d5094c490e481264c9660704243079c345162e2f4801f3e4458271892ea066880e23e43d8189a2801c106a02c3169e2e4242986a4a604c0d06469033424d9e10367533e42d81e9f3336c9034c9c2821c006923ea004041b88a1890246f009020c4a9e70c0c991a5a527097082216969e9490202e0f366a12435716ad2f44406271a98f0f800619d3c69e2c4a489861894383d5982a2a4c90ccfa48986f7f1f901e7e383850282242525509424c5f00486a418944001411212274f9a408192f4801e3e6ef6034d66f8a624a5a627137881f3e9c12a49a221898606c490d4810e308140007c78b05094604892010633168a9393a4a624199c34719f364e9a706087cf0e168626509c346972aa21490908966698818992a6a418969ad070a404c393a523209f3216ca5213264e493128494ae240101f1dec130e3869a204044d493430296932c33b3949f2000898248180fbb0d924189c3c71a284899226337c120c4e9e30c0c9090d4f6080e179f8e4603da08489139318983825b9b0e3838310345962d2c4a98993263e3e64d00043520d49387cd66cd3930464ab22560986274b1b5092e4c42486264b4ca2ac96939636c0c4c9090d1c50e20443525393189c3451a244070f99666a01a38b2abf2e6c5f5050cfaea7434e1fa60f3c034ff8de53e1bdf79e0a0840800a2a6c0a104a49e59c134a990038a78473ce095b268021cfc910c207213394734ec813329c704ef9644be66cced952b66c6c17be5dbabb9cc19e923643e80f424aa9849227cb96dd52369c0f4266397942c8f3e9f4d4d1a4843a74329c4552f69c54eb14a519d63a99945bb6d1e59e931942e608c8d91072d309596039a1a42cbb08916c96727643c812f693736aadc9293705b810ee9c1090549b7336072000943ee001bb52aee6e4e98039676b2d654b4aa5c63ce1a41a65f87a36a0010d68402a352784734a297726992f4c9ec944443d99078fd564ba9a3c279c38283764c0ecc9524ecd152000e62967cf39a7643879ecf880455602581600ebb00098374e1d1d1d9ddd11c09c738db08f36279cccbdcb7432a559632ad94d67cb3727959d9a7342095d70c105e9c26466962da5c6dcd3355e75af78cee6912dccb93b7725cf5d24242ce0080b2c4001cc3999f9f193ccfca06496724e08dff396746a7357ce09e79c2b00ee39bb79ecac7a3e8c52aad16e96944edee566e69dc9fc7af2a48f85a6934e29e9a412be96b4a59c0c25919cd38800d8c887e62c8159aecf9c73461e3b73ae04002194459014c02b9e93218409580999a50e9cac23654b29a700a6e4c93d7bce29a594fd64d3e686b08415ec9fa3397b4a2925ef303373534e3827aff0cc3fa5a4454552cea2a2396551919c334ac93be716ed84d248b25c618515e494452b4c29a19cb3a8684e9ebbbb73329ccc0ca794b25bd39827a5945249bb27863586754f4d9b534a4a29eda652368573ce39350cd3209c3c1130790eb09259aaa082019889a03099c70a88e19c536a057873ce29a5360140e79c53674e0879f29072ce21b2a8a8c53c563ce76c0210a58082448100440390739e4034a7a444442d2591e4c973b609534e9e2630cb270530a190e93367f7ec125aca6e2977ce96dd10ce391fecd99432843c257377f79c2ce56cca13ca397b32cf6e860c1942c893e794724ed95306604e3939e3399ba79c0d5b32b39ccd93e59cdd73364b8690fb35cfc90c79ced99432e4866f21ecdd960da5940fb6a4da04800ecf39559369f3637e9361f39c53f26cda58465b4b511d1d1d29e99c50b6c652ce39a56c399b79c221f8835209e9ee630501f243e83984f041e8a3e3e4f37e14424cce292184104a09617c10329c3ab2bbb596dd92a19c72ce39a7ceec07e584bc3b838811648cd72386a4a6a4189a9e2869a53080a4264d4e000882434724410906261b585a7a028020127804f1d001a4e3040313284e98343929716ae2010f3c61adba9d1d389c24cd3003131e7b82079a3839a1a1a9dbe180130d3c926450e2e4a449d30c4a6080d2c4034028b478d4f0e4034e41ad140600b4270c19c0094a0690a4c46469034a3ae0a4890c5098c8e004586aa244b42308093b00a7274f583af60426494dab2425254e3524392961d581203f7b021427284d6a4802408e1d400d4d3890d43403118ea40e30697ae20445490c4b4d64804189d3120d4c389014c3908e53131327284106e0630427264d494e923ad004e587cf0e2086242850929a66f0c0131894342545790243529312265062802149c9094aad140630030c49508a3619607062b20125324069e2a40907583d20e04093a6a4284a0a70420a290c208624254f9c660041130c3eb6a5a428494b4a6a60e2811e3c1d78b2a4a4034e9a74a0034f9674ac07823829a989034a9a9e383181e1c9d21213201c4e49503c8a93a4b7b3272871f2a40994a6a4284a9a98242dc1a0a486a4189c3451e2a409131960e000079e2871aa21a98be224e9f56c83a0e98907923c20a338497a00d0b2e87d7a72b9a6cba55ab24fae27d7932bba5c6f898b219c4bf6a9e1536ac9c6a7a7e87a824bf6c9d54bf6e9e9c9f5f4249fd8f5e4824f4f4fc396b8d8c52ed659e2e2a727b8645d2ed7132fd9a7a727d7d3d3135ce2e2a7a77e7a4b5cfce4ea254faeb7649f78898b77c9ee92277e7a6ab9c4c573c9ba52d41597accbd54bf6895ddc4b5cec72b9de9275b95c2eb8645dbcc4c52e5e22812805ef2e7b000a930d6f889dbba730cec062066bda8c4183231980975f5eaa5e3ef132872329bbba44f4b1db6641777f76dfce85b4df170bae7cf52786910458cdda6b09afaac251dd32bfbe90854217d1a3756c29b0ed0b4c95dff97d3111c4aff6c3c6be456707aa2cb99e57f4c4873554fc00832fccd0e1283aed16003efab6e5576050b02f2828a82b47d185ba688f625761b744b409b1edbf227ac4fed32daea787d8bd89ede7f705e68c57fdbec0b4f9baf113bbf83517d80ad5ed9110c48dc739217aa5e759b3783af5960ebd2e113df5946394a326d8a6efb747fafb8ae8513ba52f44e1e76e764e885e764ad063c7943b0726b218d96766667e8fdb8d9ab98c6bb2ed6b09395fe1f71245f826dbbe9070f3bd04117ebde5ef6b8937ffc36a10fd7cfb3a3bab5b3f396cf976a012bad53fcdea594e86f51edf5dd0d7cc07ac59f1f78544d41b5adfd59e0021e76453821ee4ab4bc6a7875e532eec0e5efa72d12507b9599f5ed2d93d27e01cc50e6abfd002bda6feb9d1835c90c778350b04f9f7c4ae7e9d06db076401100289cf3c7a73509885fd54a714b9da1f9db9265e21d19de833ed9cc7bcb52299ab5c8545ef14b754a067426cf9cc538e61316b95a79aabae6f6f0d09f4cc573b92f2cc8ddac874cc99c33cc565fe3424d499bb5d215cbb4b39c6d54e45a1cff4de80726297e47ec30b3d008fad6b832e9dcb9a973e935020082cef48c763756b877417622d91810b9778c403e8cdc712ba55a5b3362ef5c742468125dd8a6ba6856ef147270aa2cc47472142a28f9bc68c8eafdbe6237d61869fdeeb4ef2db3128d4add8d4ac2151f2d3e9f4ded9ed96b01d96922a29bd320b46df1c9d9ce4aaeba592d48ecce9b3ab23f8f6fd6eee3d6f242c3b24ec1d1d080322f294afd4f785039b0debe996f4e8503342bd8e60ceb3b77684a73c756c1beaa74b8e4eae4a5f377a72ca733f3894075855e1b768e5eb5bb7345fefe996ca771dc885ba457d9dd52de9ae57719a53ce8561981b75c6eda09ea202f5d0352bd2312d0f5d3ab64c65db17105d1e3a061dc35c9c792a8539c69833bdc7f63157da81647a84536722993a1373ea584ae5fb295557847aca53681ebaca5f0fa552f4549739e5f8534f2ba252a9549d52f40a1d8aeb0528aecf5c49fa0bd06757a5675d6a2516b3d5b2ae4af9cc25b7e25e5fd93d818faaacfccaee09d2f9c8e8651c93944c72cf57dc1e510e49aa53d21cbae6ab210591b369fe24e6b2ab9a63dd0ecca74724d0b56e07d621a12e9dba949ccaa712a513099df408f45457a5638e615ccd7c47caf73197dc8e5457243ae658b70f4498878e39d6995439d655fe2a3d73ec652a2ef3ca9fb556043b8261fe3cd531f19c94bf17a0635d5579c661fc92e35771fbfcfb1105157e7d1fcdd8003de5d7574b647f9d6848ea655ab023fdb2d58c3c16f6774b78a92542bda6fe49c7fafdf67b59ff6a2d64527b01faeb2afd275dd687cd4c5b003633caf5a738fe289d7d6a2f3446b5178c5ee5298e7f01ae2b5ee5982a4bb5e02ae2e4999e8e643d7e528d01ae2eaf72acb39466c4d5e59996bcca319aa9b405b8787895635896d28e102d1c2da5b5e07a9563ab2ce542579d9fdbbbcb71559fb43c9665a95457e9e3d5aa3e7579e92a6eb784aa72f64c7ba15dd5555e4d6a47da65b7aa4fef039b97ce4f397e8c66ad1d81fe9c35a6f74acfa3b356c4f5717634fcbcd3cfcb6e57c853626792f290db81a482e0dbf75d9425181fccbca82b65aaf48004db9061eded3b62e495dc8ee8fcd3e10ef420ff7c7a73d1b965cb9693b9f596749b57bad1935c7c2c72ed183f6ded1c5f166116e308b6762c6a45768d64ad9ae879bbad5941feb9263f30b0651c36e8bb619cc3d64dfcbe8848c1f711bf2f135479d6ef4b0831479ca8c0f9ea2223bfd250022d7e5d8773d85e16bfaf2e673c97f97d1da1c497f0fb326206ac1951c580cd332d7938463cd3d3eaab531938f839e2abd39723b032be3ae55046fc0aa5065104a00a345fa18c41f34ba1a076ceafff7aff8031f137126a9e7beeb98fddc525d67c1ce3d9b19871575f2ba8f2ecb0ba1e3a733b90c431949eafb78654a3f8b043c71ec7b473e6cc7981fbe8b1ab2ec845f1a9e2df718c67cea991f8e394ba35233ce7c56ec711f6e746d85fe784ed4b0550efd41fbbda1e85ffb9ebb97f1cf7ed84fdba2bf2b312e659a7e3c7b87dfd5d019be3e9daf655822e4f7d1a912aa75c55b952caa9479ffe1c6b2e736cc5ed58f97e75fdca2757bb3b269d8fe2d4bff24c87dbb172fecd3198b563cded3802a1a01e73f8ef316faebf35232bd7e1369fdcca9b7b990e071f83d9e4368dd7e1de63319bdcb6f13a5c3f069b374e2837cf7c72ebc6eb6ce4862bcddf6b99aff98c6bdf381d377a3a5c5ca5e9d45f0bae2ba82fa55b847db276643add71e47de6efb3aebac840417d739863ac3d6d98af38cca73cd6d98ac31c7b673c0689b0711e8bd98a83323f4a7f079af831871ad20836cc31a815d9358f39b69161531f2bccb70c940dbfe2881e53a5b04ef35d212acdb3aeef539ea53255ca31ae29d3b4f60c6b5771955bd81252ebcb7027765bb360d7fdeb7e9ab5e2d946d3b24cd39cb9aa699aa6f90a695118a6526118866198af104684548ad2548afaf4542a954af90aa5de7039f480b1d662fea7592b647637079b35e90a99ce5cadf3a7a7960852fbf4e97489f00033b2afe3d872cb82ff69d636f1bb42d897e3676d85e8642b44c79b6bb2ad5cf3cc316fb2a93ce5d4a737d9a4c74a5f47c7b325d2aee3da12d9d7f1d6c101f61c7b9cce9169e4b59692ded45fcaa9cbf7a84c6193fae3a2f053eacddb6ff59ebfce9f764ad4a7afe6024d75d5f5294e49a1ef3dea468f49ca373b657adfbe4e5b3b633abbceed78cded78fe38168c7eb7843a9d8bb44f7f47da27d26c72ca6638b2e4a911577a3e1da35c4af5544ee9a3f4798a6ba2aa941bb52ae534957aa96eb784a715894edde8f9e45f8fab19e17f8fdb9ab5eea23cbbc0f6edbce8587c8eb1d67e84cdeeaaeb9b9bbb2ae5d9979bbbbb3ef7996392f2cccd31bdc774d69980d631da7561b396dbedb87d6c72757a94ed9720d494afed4c53ce94391f85d6941274eadbd5edd79bcbdaa34ca6a628f3a1b89e3ba475a3b79cf476ea57b97455c7c4721e3af543ef761ce1d73f6f0de9b9e4b6b24b7f5c947ee898e46457e95d6592f2d06375fde429e5a937c7ddddd4198aebf715596f974cefe1c34ee939fb6a482012f6d729adf7a658ca81c10dac035b6b5ad6f892ad034ba4fff551a4f6341d08b5413d33d46f1130764c673ff3f525fad4aa7c8970c6f90a21fa7579843275eaccedb3a6c25445523afcd86a480b77b666a93ce598b386c45d753da738c8a9388c7251f82b7fca998bc29f4a39e5f621f69adf5b71c7f47e4791f7ecdcf90a59e7a75caa53a28e39d498e84bc7324c67df4ee6d053ce1a0dd353dd3a6394abd453aaaeba5ec5482aacab521e73e652dc6bde12d8eb025c57fc6e09ec29377a4c52feb5a79e8a637aff7c539cd3b6fd73a36e6e2727e42547b9ca1f6b74f6c9ede08e895f06e027cb15604fcb437f9c934d697a90afb3e32ccddadf170e6c30ced2ad7de8494ba489e8bdacbb9607cebedbc5aeca152147d1b1f01c65e956cfc3baf49ca559d089cc4852253abb512f6d95b33cf4ba663c7429ebdb1b4a8388298e98220c1b28a8a3e8f0883928b8c40e29b001052d38aa7245c8113b169ea3ad72a58fa46341c0117be4b020e0480a1808b04b49f286a0339a871e5d0a1808488f9d14a337045d7652c040203a7752fc0d418f1dd1be5eec75d16c1148c0859720d840091dccc01f7a1038db1eb97e38d302238cc042cd13681cedd17a257ae8ab41c0a1a08ed88dba15e4a1b396a776f1835db05d2295c8a5d3524197103efd933b78d8c94a53d0539d13da55ea4bcf09382f3beaf57555ca4367a7fe90ec173c3cedbc44e9f5e92557a52fb98878eae400555e2fbdc2aed6f0cfc97ea1e5a5d7103ca49d936df3b243f3c505268c9105d472e6817e5f5a58f0586792f32265fd4967ce9c39441c4d2f5023e0c0092a3e8082ce4c6fce9cf702c54307156ce9d2f4a34b1366a09c66d836ef05ca8431b2808a72802aaf1aa0f60b2d47eb35042f7dd700bb26d47dedc08377e2f762c3b6399a1dd4b639da4ecafa9313234e50832972a0a08e620755050aea68bd4a79d955f6d7d5193098456e1d72cf5b938009636031e7687d3509ece800072b7883ca9c39477ba4e7fb895dfcc4ae8ef205d883908bce3c698cfe9c725b8cb293785a74fe7ded10c5ff342b3ae4f8b19731741921e4f8613719eb74893c7ed45fca9ff427fd794a3a95cf9ff437fdbde791e3c724b71f91da0937ea76e92c7d0774fefe1d100ae9714aba42b683806d74b844a4afc725c2bf8e490e8566452f4fd4ace8abbd4a3b40fd15a93c3aeb15611e1da85bb059d4a30f5922be42a847c7b8ad87a8ab38da4334077d453f3d443dfa4fb7521e7d072c5f51f8e83996087f7449fd21c17316527fae439c076a16f57676d6a8ef98febe7fc7ec9878ce4fdfd70e4bfcbe7648e27f9a455d32c14f75db2c1a57c8fa6a7085ac1bb5e4f8633f27b0edd67cb0abfc309b1c7fe4a0af66243af48e1c13cf790ebd046c5673e13974eab0abf4a1c65443151ba6403d53fd401b6ecc79e9505c2f3b28d1b759b3abd03b724bb48a0d539e89e7d41a5a4342bb5a03b69a91e8d0a15644faae901abdf9257b4482dd8e23cfa13f879d523bec98a47c7ddf91fb05d8748c3524cc338f4e39cd7789ac5c3ab6e28ab8be668ef96a45e84a89fa7ac655fafbdaa1cb47d95a916ed738ea2a8e1fc35673a13d95728d4bb98a5bf6d590525d4d796729ae1f73a3c696cb1cdbaef2af678e75861951fdae90ba8e619c61991bf5621ce5b2663d9761cb1c73d5577a847ed629a5bc31aea69c91b4a75863e239af72a367d42a6e3fc5ed536e7f460e72b0599bf1e382ed920d7afdf94887742b127df4e82844ff89fae8405dd44751858f257cf4ad5bed31c6e82b143ba57d3d61bbbccb31600b77b266c19e24ddaa1e66c7d74df3d0a34f1afda7f4ba6a7efe1875ab5216ba553719ba355d856ee9f8e914e8d6be7448f3d331d045f0e8ad9a2df3d3b75b247cedf93ae46774a306c29a9b6e5808cdf5ff0ce1a763dbbc6fc5c4737ea7f7740bfa9c3e7d8566a7b470de1756b7b25469f6fa03b468be857ab922b69aa9f9f6ade76789f0fb0aefe707083edf5e8f910ddb15166583cddaced7e739e41ed7047bbe42755f5cdefbf6ad5b4fc7b77bf6757ba1ac593f0ed8382880424d11a2f0a1044038dab8c31a12043676e843ba55b7df5796d7b797d0457dd4aec2e3f8b7cef1ed195d8dbbecf79525ccc3eea759bc2f36b065b275b7b21fd856606bc7562fc07e5f398cf91f202c024afcc04a0f2f35441073b419c6be429588e3c73883cd62d82fc0aefa4ba70b7760b3baeaf45ee53fddc2fc3950b7263653a9aea65ce5a999356bebd64cf9736c72fc58aa5999b3666484cfba9ab9ca27b79f714eef538e712fbf15b7af4afd3c3b7d4537f8d1f6d07356057aeeaaf4e8cfb1c72cb9fd15d829e7141fc33aabe1a52f57e9d316ee6cb3166afb76b2660935ebf9746fd67cbd2e39a7f7ebcc6dcd6a670d69bbd8d166f5e6f4154128282828a8a3e7ac25f2feb9d0ab3812f1fc710fd834086c95c61cc2e0c0e6db8122f7d32cae400fd8d8971ff20cd836866de67a24ac86039abe41ce77dfa066311de9eb180941dad87640677f1e5dfad390a4e408bb23ec91190b6c956cfbbac1ccc7df171638bf3b6918ba51c38e76cf092bb23d96ce63066c1076b473312b408a7d095092a6cc7bbbed9dadb7d682eb95b6637afaf5dabeb11558d2fcbeb088f94a1f7a007e5f58b03cc4248771d45a703d34c22f5d2f3bda5c9036a26350438a6f35e9b45b3b6457845fbaec68b3d8f7d98560a7b471c18ab0d7e7cd5c103798b708b60c809f3da623e3ebee398cd248fb73a3de6eed28d2fefcc91a5de93974299d76ab5f66ffc296011ba6b3dd6ae858dafc72479b051d3aa6a300a6a7874cfcb0db00b6fd7468b79eb743df6e41ac3524f81e7c18c0b65bfdb2e5b01522019bec89ba5555f06e55960add82febc846ecd7fbe756b5f2440f3cf7bbaa88f9ed0bfaf28fc738cb3eda2ed0d3d5fdf85dd526a67efe956fbf3eda27d436f679b95358b1d3ad6197bc6be5db447fbba92e6d7596b5fad48290e5b2de5cc414f7146d8a1b343871d75d983abfc41b4136a56d0f27cab5d214159508fe930cd8a9ee25a0c0d36954baf1b8585b5a06e9f7c3b5bb3a2bb63c9d22d2eaf08d640a3a2ea4655d6d78daa442a6ee5bc7276d92c49bba5e26787dd0a72f60c6320670d898753800d203dba059608f4e817d896caa38e575ac479dd88f0f86ed1dc21761e57716fd704ae3d9e9dcbf1ec3a3a1cc4056963a31e5dc565456cfbd453b288633463cd0875f61413aa305fbed40ed3661a4dab69327da6d3f4eb63994f92a459981213f20bfcf2e58db6d2711d6f9ede645e653a4c0fd82c95538e364be59253726fe20ff224748a35bf22a2595b06bb7cf49a412e6f28fa7269d6175b0ed7e124f8f30abf7c815fba25bd88f3e8f065a65b24787488a65b98478762baa59579aff0cc4738e62324f351ea6cf00bfc029980619eaaab4b1974269d87ddae90ee9460d742b3bcdb66a93ca873e287593aa133b6d7a65beed19f9b57a4e33d0ebb453d3ac4f28aba4b90ab3a2c1f9de320d41b8a8e6942676c157231a294a459d19df85b685674d9294122b8bca2eef28622e4f2d1b155b60c3f7a8be93142cd8a391ee48dab1d47e0ab1cbeaaab2370eec16956741deec5e9a1f8e527e5ba4cbf9a4c9757d461de50ecd155fa41dd650757f977b8d48acc97dd93d3ace84d656307f2113c87779834ddda8fde6aba05e4d17b0d0eaf747b1f1fdff5f1d59072b851f3e0a4700cd5ac283bcc2ba2c01b8a1e6987811d505743b3a2eb7012bc6e1415ecbc5a7987e996e6d15b4c8f59228b64e5ecabc1ae66fb3bb87d12381d3f9c171dcfc16db3301f818beec335710f57b39faf1de6a3f3704d930229c7d155bad3a9d956cd4767e115e974db43d0579cc6655b4c75d559cf2ee9261db2d97962970a06c9025ba1da615e3ae63a0e9f4bc7b6bfab603fa86c9b1bf5f3c73199cddee336678ec7ec785d91e79b6f9debdff4c7c131dd9a6458075bb4bd21e93f3ef021bc5ce3a52f9cd37576b65744f486a4d3edb7ed2536f7310cdb6c72b05933bc221f1ecf7c5f518f633afeb9ca7d38dea1e73d3bff9c87db1daaa95f21cf8d9acce2d8c1e1b5bffcf8f68303db4181cb907d7559335f164d9897aedae1889a355da54283b53c199a25312d72fef9e6d89caa08db983903d3c035b08d8e9932afd58ab7ad8bc230632dddaad3594bb3a4cbd955fecdd9a978f3cf7138462996e1e0984cb3a413bd227ebd21e9fef3b3c98ec7a4d9b2da589a896e6d9d7476f38a984b6379453c2ebdb7748bbaf426a291e8d6f41dafaeb98eca994db736c7e1d26b6b79d95c6a7779d9c1fef2d279b8246f48fae430c0e515311bace3a2eab48e8b4eb7c35c5e3ab6ac65f38ae4fcf42a6eb2c0f9b8e5a7578e7ae99bd6826b731c5cd44f5f0d69ebe2fcd431d24ff47549e87730f1ef7814f8cf9974fee1f025ceda0bcf717451f877bacabef96a45b6ae84664d57e24e8666498fa15952d38488b04de730366c95c197ce6dba45535ed9cdcbd58371e573f86f3ab673477a57e9d6dcd5fc71afc3800ed7dae432bab3f27d4d21e72b8f79e995d9f0983564e0bcba55174d192d66ba55790bb3794533bc21e9b252ccebf6b3a55b3a2e3566f3d2594bb7f6a5cff08a7ef63dacab9baaab3fd297b079e91848512e4987f9f5f1f45c5a0755b11867dbf6e33f53cec212e9c77ca9866e3dc7fcc816fdbc21cc31dffd9101ab068f615e57078fc979cc9762711e73a35ee6a638f3fbe6f725059bc758a3dcc6419a8ebd8cb90acb3c7c65cc55a2678f1a12ed8860b35c29a9c3a75d7dfad9413858d62ccc97eef4344bfabea438f375c8638ea9d02d0c7316dc8cd79fff79457087d8b3ae667476b5675bda55a0ff792c055b5d338f79b3d02c8cfde90eb12f9dbe1df516ba253be82c748b3a361d632849868a354f459adfd66f146b7e775dc0b623ddea4ff55f397f21fd5165fb6956cf6adc6dcdeaeadf0e3b221f602b541f9bef0db851f32987605089fa948ee97567c773f891d5bca11835a4e970ba25bdd217267afda129afac17e60df52bcc2b62353476f58776d5595f5f18a9214d6736b6206d6cace62babf9874453d9e864ed71dbac4dcdf354577f6657b7ca6a6017bdb29a6f7f2ed92c117e2686f33ebdb20e3ee5504db7a6b7f31a66b34490a4983805b928fcb4abb459b3a3cbc166bdc7462281311a277a6c9904dbbea420f32a7755ca31cc55524352f1a2f994571dcf6be6535e779ef7f529afa967e72d1af28652cece2e352426fa212f734d35a4fe3cd6998a1ddb49a70f5922fd29c7800cdd7a9ef2026c117d4329dfb0f8e1e253beeb9ff2ba32f8d4be79ccebb2f9d4b6f994375742b352ce1c51b352be1a12d6b19a95daa9432aeb533e441bf229a798a730cfba4a555d0a73eeeacf3fcd88bfaa5b2a9563cebecb2a7f2a567190a342a9c8310627a0afc895650564de70a30d0e63707194c2b3b626e805f3e61c63ba9aca2b7c6c35a46eaec8f4072184103ecf542a67d2ba283a7ee5b55de52a4da53974d5aabb37f771cd556ed49bf9c6d5249f75b45b4ad253ce3e3d87afb89ae4579ec331129cd26dfbf9f127c1abb39e04afacefae2e11f9c673fec7310ceb0c3e7d2aee3dec87adf953b9c6ed0a5175d0778950cfbc5dc555ea2b377a195797927cfbe6944bf2ab1551b56a85c0aeb63bd3f45ac3e7f05d22dd45d1f12afff1d55ea0cf341d8a12f51cae44bdb7ee98a65788f986c18e693af4cdbb1d7a639d6fb46352755e6ed8e13bb01d3c8e8db0ed900eefd1e13e3a1c875bd1e13e24707589e8a1b83e876fae83cbe1fb3bbe9a1186fa5d213f5dcdd1b56fcdedafb8cd47e07cb89f37f4bc87b3c283a3dbe16a92dfa89310c48d8dfae695fe56a96f4e5f91942afbc69c23cca9609947565c475807bb0a7d53793be454dd11eaedda0bd4a1bf3abf1d72fb1bd72d95b3e6ecb48b749c9d35ea3a5c15304ad2b576adbbe24760a4abb8206b6c99f39caf2a5f691e65867155180a8ce6ac416f6dd5691a64ed05956b5dcd3a55e705f3d5bc60f123ac7b223a02033f6a48d0316e8fb0cea274a0badec97ca7f7edae676a95b7ab3a17a2f0a7ba1d47e84f5f9a1fe53ded28ba4431643e46a096d2e15374f5134bcaf3031628b8fcbe9ee8f2dbefeb092d8fe9acd0f44df1185bddd757aa00165c3af4ad5b988a35ff195289beb27a565e811e3aa6e256d1350e528ccb38ea468dc554ca5bdb66a5522e54a1ebe7dc21bb6dd1f0c302dbd6c2bbc5d68e75bf86f0fd76554a079bf5de5bad13d86e9c477386892f100bacd286cd8bcc23e271898a93064d18263a4b6371d3a6cc8bbb301172a27ed5a4791488d8b9ccefab59ebb00b24424e949a3462c23c2d2fcb1b3766ca20d15d1a4ace1a3563c4f016d6026769cfb0c05a6c2c5e5ea115b210ea68b13d0d896885e8700ab64af4ebb05b43e28ea8594b7f700ab6f5a819e1671777f0c1b7627feb18cb7d3de36ac71109a759ebbce3069370feb5635b6cd231e666496ff91edc7124427f0fbb2ae57785480c73c8612eb92af4b3dbbcfee8f8ca2b7da979edcfbc4a116213405044dfd073e93b389cb5d8b65938c440fdf6d4b16eeeb7c2e1ac1579cff41e47b72b64a7ab3514994efd15b1ded0f3e7426c0005b0096febeacfa6d3d5ed15ad3aaa75b5bf0a7d91f7d033ae85663d67a5fcb902d800bb26a8fcfda458ff522c95d7feba65fa315ed8abfaf42cac90e7bcc6061deb6af6b089bfae994a9f4baed2af59b3d697847620d97efaf6d348ece0c6520bf618420861841022b163fc96df0a327cfa2f345768e18f930e39f61dcf39cb3399376a2c72cb2654c6f2d0a5cc5aa30fbbba947d74aa21415fe675a3e62c523e7d2665c75c96af4efdd2a14b1cd804e8117b5cc66d5c4fb39c88f301f87d8571f34f5f111ff5740d310b575d4cb3ba32882df7be156d16eb6948b06335ab7578841eb21e46af4039bcfa14ed1bd2e155fb12bac50f3d6e519237348243874bc4c76157933c74ad841e6762af353cec9876ce7b517985dee3ac6e293dfff9f9f9f9f9e98c9abdd8f8d7f97178fb6aacc731f1776fa8c77b7c611782ec794f854ebffb71f61e37ea249bf7e63aba4a37cfd1d56db7b5cbaa397ef3d8d51ced12ba778bc7a1b330e64a6816746f167c5d157ac8007eee206462af0ff3fde875e150c95c8aeb28738c0b41567374957e8ee9d3b32ccb3a2b299faf636287dee33f9d17cc738cc079c9dc87f382c58f328f5c4df23ddd364bf394aac3a2e308eb6ec0dcca9c18e6d30a36dd0ae62ab792cadc8a2ae533bca2ac237a43ed294ae7f695e87be16095a82e1cc8e398f3f8d3907820c7d8a31ad2f3c74167c8e9383f0fc7afe329e944cfda8e7bc99c3538b509b88ea897acc3e247b473eaa1f68783abfeeb3b5c1df2eb1bd714bf2e1c9d6e06a132b685b3754efc48f039f4861da4feb8bd21732b5886cd945ba1294ab7577483caada454a99467befef38a6e58b915d52a731596616062e62a5ff77d3d81e5b58e5589a0a0a0a61cc99d17b650b3af27aa7cc6ed1b828e71f40d41570d79e829a27d4395f5d027c7edee6ccd92bb3b59b364173bded966c166c517b888ead60ee8d1f71526cd475fd69022fd857ae8ad2141f8021751cd7a8f3db18b9fa42b461280c0b6b11ded3589cb25a257754a4c51de7b81be4fe5b914d7d173c885a0d2aed2a7de49aef051ea3d2a529ee65c910321a8d1861b738e9e5b711dbdce4af454b73b54bb635a6f976ef468f5242fbbe6bc3c8fdc131f51d9394758741cbdee86e7f07537fc1c59790ebb1be89115fa86d6adc04d8aea88134421c40f5778d1e5e869d57c71c34a9a3662bc01e668d91f3becb637b46e6577e8e70dbd8b9fd8f59e9e8b230c02cb20f634247e1a0bfc5944621282b4b1f19048d41d67b141e7764aebf67087ea0ff4af2a7c9f21021d0a0aca86a375a3757f626367282828282c952800cfea2278b4ddbed1f75fadfd8d7a85580a8c9957483f7d3bcf8e971545f0fd2694d1794d88d1a57cfbfbd6e2948e493967c7f45ec66e61b75e075d92fb0aac99de1c390df532f6e6b86b9aee44bfc9697b13b8abd0e51156852efd692f4881113a6b474610bb0aff7d31a7cad38cb81efa9b59f74fc768f6b423f035bf1575da31bd9f72351770c0528ec13869eafd3a731925b3b1535761185c41ed15d1e369c7d46389c4df9e89e13c6562364f3155b66c008e10cb960dd053a6ccb25d22fdeb10a3d4a16390c320a4b2c8fbfa5ce5290d4974ca692e40376a3afd39e65443129d42ae5bf018a794f254b743f63faebe5fe169c7b4c26bd92e91c7b01f5c41e98f2291e8ecb659f085183b48b7940cbe98b3e5a577eb55ccb1daf5bdf1d13b8bd4a186443afbd390bc37a0be3e4df9e8fbf45957d9558e793bd48af457f6943f0d8974acabae3767ce1bbdd6e155dc2a4def7620911efd8de8f0bb54dc3b6044cd4241c9cb13d11118ce576b8f1c95e8ecd5e95929ca7b2f2188beffa4b88e6292d845670e7695be21f6c7d51140fd3b8a545c50af2e5ab054b1610ad49115d7d1bea1e790abf49fd06f09bea575002184fe86a0339badea3cf40dbef7749608d19453cee94cc656fde7dc4a10626ddd923ebde7474649b4c60f608cd08b865b0fe45a2bd2dfdd96b16d3d3f10c26ed8bc8621843cd8eaf670eb1674e83d3f30c6e82e60e9b459b25912897bb0d59f973fdd920ed4ad76e92e9dd5ade8527a267d27f36409069d14aa7c4a9f2e7d764a734e55b76fa8fe408f13763dcda29452ea94524a692a95a2dd1d45c79e1e8a5bb3a2330eb6ea1f5bd1a30bb12017a48d4d4aa232c2847900fcbec2547113a70933cfdbfc5645de6f9bad08b6832d08ae1911c8c156e9bfadfd2703711f079b15a19aad6e1fb91f94826d5bb3d66c55e75b6789b00f3accc83e1be9e7ee061bfb12f5643df47c69b31e10841e0530e8abb10d3668d4103af4ac5b4290014d8c79a1df170b7c908de4651e81b1538ade5e63e7058b1fcd4e3ea3e61a80b1c59697be42b253dab859090cabd8f73adc0e1629f21136ebf1a33572d4882d1a89be2ce92b3bd8becf69d490661763e7a42191b2db71a43d7a7beca2f4371643a80055186208a786b1a1a0a0a09c9a8cd79aef3f7f9cc63160502321c81adbf36de8ac3d5fad9dfa8fec60299382e7d72da9f03b58caa0e0d9e1afc65fde7befb1bfc7dded1007cc65ab1b5c227aeaf4fe888f12622cf1ec905b2282cf0e790d528cfedee3663b6becadbd662e02d1cfe642dd82cece2a4176de2c869c50b38ed61851832e45807933440930d8c4e021764b442fa594d057b680ba478e15bdfa0b358bfd154d87bebda2d9796e66732ab6ca5c984bb7da9b886ecd2e4c746b765ec2ece86ea39b8c1edfe65d6cd159a040a789be240619a0666829ddaa4bace71a5aa05ddd341f65e70459cc0a89de29d49e9f9c77b13197b7fdeb0e63ab0b87cb479fc1a906fe52050cf42b7e8444b7d8bba830c488d26e69cbbc08543003376c7e69d9c0971c7cc8a5c0ded3457b448f762b81f26bf260b44254188201a12d96843e461458420c21507fb1b13fe78d72085bdf7b2fce8d3112b184b0c8d59fdf1ae363c9d59eecb74361856c17d380afd7cf294bf99ce0b3376f68608c11eefa4f0f18e416924869d6b7c02d119561df32acc2b29a7fce5dfb9066b5d7a565f3cffb714e96cd2b75c72ec88f8a129ab5651e03526670aa404b42bf8b420f7775089067fe7869c86f6f6f19c94f078c2be1bb877cc728f4d1a8297d93f3b88dc2623dcd923ffe52ce9933e7ab375c1af2ec1bc780fedeae47af52aecb7525b9eb6f5fd360ebd7c65e9b061b3be700332263dc8dbe4a1b1d0245af1042b8a45fb0b143a7f83176d0ab52c442a8df9785cfdcfbde7bbdbd5ba47042cc36a9a00110563cb1f1fcbe6840a5c36c3ebf2f31cef8ac0c2f4d6c72cd76c60728b6f8fb12638b67ef285edf2cd8e6ef4b0c2a7e63b99018498811c457276a2bb008e7a163ac41b1b6d9ce0b5c746123fc915bf8ad0591b371d0597845bc4310fa3e08a1736e7685402eb4346bbff25beeb782f3c46b0fc1144253b490208260420a392f68e255461403dee042668939684c09a3831d781022c90839558040a384176dd8a4e98188763101033749f4808b1a5d9091832274304186650b194338010da6048183325a9ebc80ca193af8408829d8208307420c600d36d46cf1030aa080b3e6891e9e04d1832ec8b8c28a20a8b8411a25b0102125155acec0811a6f4c30c41529b041187378185344186e66d006133146186318511fc390434509ff7dcde0068ffdbe6680868b259248a2cafbefeb0b2ec088f344bf2f30cafc0c5e3210f3100d46a3d3ca6d2afcb77d3f1991a8fe4d8fbe6f7f7f9f53ce81e213e2322f5b650d79451b8b5608b768eba175e8fbb80c4dc3336b3e7b1eef2d3240e253f87da179f368c83cebf78566cba339f318b7794c07ab3f3a2a2fda27b5d571e6747c5fd1b6e3d94ba552a9c729512c957a290c9bb5791ceb6a3f759eca6d7efa761151d3a5ae9f536fd8adcdf77ded4ef52c5d529e78d611fc7365385fa5ab38a5943f7d73cb2a765565375f9d9ae97de57f8c43aa9cfa1ffbf44abfcd4b7f3e59ce37bd4e38a7cf47f48a1673814ee7ae7275eae6ca778eb0377b4f672c6c80f6990ad2c6e6d46db8cdab5c875b694678bc3ba5f6946b3caa554ff7e9c9268f63d3e1f4e92aece1516948aa2d8ff56b7f5ca7a68e4bae71702a8f9ca6c3e974b7d16116bb55b7d36d4cbdc25497a29d52bb8ea77060034817eaaec2efeee452f6a97695b3d3fb54a7d43e9d5d98aeea5245f1880e7b7b8aab4eef9bbb1dd4554e9472b9b494bd8eafbcc25739bd67af4eef753c53b9d48cb02be9601eb517b26727d271a8d3d5a5ec53beea2a8443d5a9ab9ce5a5330e6c004e39e62a95aacd4f6ea36cae82e0bb575504f1db9f1ec17e768c039b203bba42903e71e4b1819c729bab30d654290206315003a706fe585d8d5f98815f6c1166a3bfaf2fae882cc8026ab105c7ef2b06717e9cee04daa0a4c08c145031c58a26a08ea61a2f6cf0bc208387b8fdf4348bb7b9cd30738a1c80a0f16bcfc3007c61c4ff7c71e58b24be6e1e211531c6a0cb0d5b4f0c7670c5101e00e28836acd0011a25ca1cc931ceb4e139a34612524a39a564e10c133b9091c69933bed0e0cc989d335c0c01c41a6fe610e1821a5831839718677ad83993821f8028c1972d58b002346eb0b2431a2fdee878d1461040fcf87dc5c00531484232e1dfdd4b9999bb4a698f57a274fbe1ae0a7dd36e358b7677f4ba51dfa55d9d1dbdb2f9ef77f61cbbbafd037a7e7bf41eb6a0abd0173e25d85122b6e71984917910868e1761d6d8f2c3114868418504b810e2083970da58811933e8020d17663cd1633a5b87fcd682ee3dc48c7376deacc80935ab0b3659176fa8c86e89e8e79c93ce89802e84a003cbce1b78889802048d54f668638d314a00818d2924389a32f8e945113fa7175f7ece29630311db7c653d841072b18387def373e673fcbeb888229e00db6ed5071fdb6db5d7f7de7b757d775b0fbe576aea7f6b00f84acd35f13b21d93973be9bbbb2317d2b7c77eb7afc48d041b8a8780205616a1085061a4ca0d9396a9011420e5bd8e052050c281ee0c1053f00f1861b6d447df1c30f44664840c215090022f8bcb922d76c6fae9cd9628c2e5851d942899d2daca0a2f3fbe2e2064a4617151529a59432142106ca8c32d240b589c1163d605b1441458815b0f1061041b8c2052d38b3c5146d8b1daac41863c40110cc90608b2e5ca6d8c08b383a002135021a530b2d60d03b44c00da83865ec00a6085a8e64175a38a105164ac87de30b24763001182cc670e1428b2e510b1564895a6c915a98e04ae7e0f3fb3283832c9a0c7cdb7ea0d0d7d82d093d3563e686a3e83dbe449863acd48c1636340edbd6a3e3f76506cc67bf2f3327f8baf91bc34c8f0ad6745146133d9823c6149dc5006cded832043353a08873b45bf40d3710dd205484e59e5eb397be72614f17c12329a52f950e67191894e04ad757b67d084d20043466086d84da4a56fd9df5c511505f18b1c5a1605e12fac6b26dbf2f184c915dcc3ec65719391f1d769195a3f8b1ab4b42df24802e44c2efab4c192f7f5f65d67c75a28703b642356a693ed3adf9c3ca3e17ea5613742cb5f25755f8e7287491ca9f6394e347025dd5557fcc29e62b8edf05a0a7fd604820138f1f7ec679d171958e438ee909eae7eb6b43fddb9e7690ab59946ec45fe5b0655755dd0e95c74eb6a6ea6814269da7ae699ce6907b68d6b87971a0b27041220c193369d8bc8151fdcf311dae0a98ccaff81118083524d26157bbc7561c7f9739f399a73424af4cb3b2ee9969d6a7b4cd050fa9c9c8beca575cbfc6ed9a5031248d640466ba95f9cbbada4864f7ca342b0aff2c43e6dba7e682ced366e2278315d25aaa63e267262e2fc7b8820e7d72d025f7d2346b04f161f7d0ac90e72dd8ea7bfdf3fad0fcf3f77a65ba65a65b1bb5644da1c0e8fafee8fcc6400d2e73a02fff9c8d9999a3bf8f5d95d27117cbe637a0ee793d7422a187431efee01cff6e07216b488cc5c6fdf8bd981feb0caeb3b6586c1b7b3b150b831f62f05ae20d3770d804e1a8cbbc6b05578011468d368260a5882ab015aa2b369cc157fce7b04ca339a3260d9b35ff526ebe5ff74a99a174db7e7e4ae89f1f4a9fc7d715e98fee8fc5987fee589878e8d331991df9f1504db31e979233335663aba928a92191c066b69a32f3938a5af37aee5414112f551b2c4ca0c1e2702193b1a9f2e58c0667b505a319abe1ab316fa89d42395b95f588e5cdbca1763366cc98598d79946edbcf6acc6acc9afd8903dfc03646fc6307d5a8d95e07b71dd1a5efc7ae48ffebeb0fe5d49925122765860486c1968aea565d8d6903dd74aba6cc7cb76ab6e6ccb3b74336667e545852e5cb1986b3654caf8142c2cc7ba3058a59229d112d11f8abe60db553ba6d3f3f2939cd6a47f36366db571b2ba4bd12e0d78774910aea8435406a8d35a17d5f978a5a638350cd9a2552a55bfb41dad8201c8f585ed10f54f38a52516fa8ddbffc74d9b87cd442e9b6fdfcb81aa8e6db31a02eda6da919f17f3faf887afb8b9d96b93e0aa5b1bd39a74bafa9a86f9f5d14fe1d4838761ded9cf8612a2a25678920914138ddea077b04cf679ac5be923d0218221e6a70be1d8b5b62968e55a09c678771bae88d79cef5b5f926e2df9857a495e9a176288776f5bdaaccae3e3359d07cc72df1cd37c1d78699a27990a2a168281bfaf3281a48d118a1ff3aed45d1b0b1556683e6db49684ed35458ccf2e79f67ba47449e577fefd1f796f5764d78be41dad89ca1c6b389a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8282c6aa3a2a2a2a2a2a2a2a2a2a2a2a2a2a236d8ac9904c60d255565ab8d9933b2af27630e045bd682a8ff7db50008cfbe65dbccdc6f042e104218650e16cc39274d8d00032c53a9542a2c53dd6095699aa6ad74a4193bd9b66ddb0e0e1c40e8c9787878787a7c5ce0468e6c8411461821c70fcc81844c870e1d3a48d8b1c3038f0c48430272201d2ba41d4833c23c342ce8a76efb720196af998e2df5fbbaa2cbff34ab7b64cc65492ca64ad129237ccd9bad9a070ec641788b7c87b8686b05e0390b31589889c1143a289052ca2a5f96f0a28a1629ac7439922fb0b2bde00714c4185d2be001cc105167b87125cc0a5994a1238b3670384202576c28430855f8a08b241090050cb22c6450822352f87db5408a1fe1f7d5822ed24c6423fb91e3ed09c013444021114510d420c2fee00758149182205eb0e506fdaab0f9760c2e91e7d947df319d3f7245fa5ffc1d459e230436d9bd2c1a795c3f6bb1eb69563bddeda58016ba8582110b144001856faf4350d8a227861763840105660731386affd922d716343830d3831450543183a376df22d71046acf1469a2b362461c4513b6b8b1e8003184c64c1c10daa60e3a8cbb261177c4f0650df460ad0d9c1c13c30ce7c89a47c9d5b03505ff721b444a45720a28d0aa929fc06f9eee922a33744f46377542aef711658c0c1c388857d2980051ccd511c25a75b3c54aef354dcbed6c339f56f5e4459e81611dbfee604d870b8ea69482b15d49076905058b9513f9f950afbf59ea815c1d155f8389cc7870c6916095e87fc3be1df8fd7a17f5c121d415ee33f5f36000faff29fd72c7add46f0faf3efbdae2ea9f0cf899a35a4cbf6bc121941a11bf2823810ac90761e5c08d88476204e4ab3da77700cc5557aa8bd1d3a095dedd13f3f39ba113aceb242da7db81a56483b0bc187d32c91fe761fae879c15a640019a26d870020b290e008546184c8031c198318eda8dbaa5f27605f478bb0a876b38b8fd1e4e876fe721ead643c2e1aba91c07745641e798fa15b3421a023223ea16fc761486740bee702c86e3313a2ad50be264a941118080668c21389b1c76c87246071ca2782c86c7344b83b341c83d2e49b388b41091b9810762c43003ca043f58394e909901d4123ba019b3430082092978f8d2e68c22d60c13328092b30418505620d0ac5679c62dc64155d754043e939457f911f8aad8ed1bcab87dec755ce6d52c0a24e19714aed2ad2c35301463e97d7118a32b445043083843c8c1220d970f3d7831a5075068ba8481000f69bc3102053948011b08e0610c34be08710334b060315b7bcd415551afab39dab1d72bdaa3a3ca5f798c6fa7629ad5da2f91f9fbd14bf414e5784d783e39c9c1d72b8a4063f8a0f9d6cc7cc7ee761e033b0ed323ced6ed107861a05b755f3174ab122561364bbadd3451b75e5be4d272060f2c48a20c1467ece0a89dcd6c5116042bd41082106b2081c6513ba3d922571165fc008b2c5e5af0460c8eda59cd162519910231b6d0b2840cae386a7f5c97676f1d4fec7a0f280e748cc82747653aed9ebeffa4b88ea6476e76d39bdb6e36fbe43817e22e599479be648ba89bddd70569635b360f1f67b1b1e9325b5d364b9e43a8d7b00a0c1649d84390bbad42a186f45e7394cbf684e893bb428faa5cf1a32a57b6a3dd132acf47df2540ddf9e8daa6109d51b0c19f3d9adc1e3d6ef98a0d01316b9673771a586c147e84fce0f151b66ff7d9b92d9aedb63d4b847d9dd7001042e8d09be335013a6b45faa1ef2bf2d921e828f410f2f3e3218f87d8db9e7d45ac4a3f6edfa3f6f8e84546a13f9df58a92bca1e85a977568581f1d4bf22845d3559f7f688ef857a5878ef572afb8eb59210fe3b6653d5771d9b29ea738baace79483cb7a457a1e7ef6fddd3149915d74a386409266c537a6f4826d63515c61c5ffe85c81c56e136c7bdbb62dabdbc3f9c735f1cf39f74502398f714639ed854d4a87cd7a451bdc9a05e116194e2e55348c31db797e0d21e45eb86f77b7f76dd3e059f1a49cfebc6efb43c23665944b77a3bbbbbbc59f8e22cee36632a42ae55896f163aa14cd22b7cd2bb17730d02c3a654c51296384d489321246680633f3e3a0f03fee85f31e93c1cc8f1bf29bee86f0f5ebee66e6eee61e08637cf0793f6e0e03522a610f76e6a7531863bf261f5dba0d955833f0e9a04d9c52ee0a79d007f17129a496a1592aacdba9a41a929cfc982a4ab99ce228e5b2ad0655544177a67785df1b65f8d8a8d250da19437e922512efbdf7628c71251b232b2184310a698e0fbe1e54119f942a7c841bfbeddb7d10c2b7b5e777e3eeee3ef86a10a1917de92d772850b718a48d2dfa74ccb1a92161f1873a43089fbfc7ecd42f65b64eb9e5ed69afd9bedd9ed855291ffdb9dec27dbbfb3a976e54518515d00ab8d3ac173d3a8ccb9aaccc906317b3af3d527e7ae42afcd855485d46d9904618db54b155b8c17422841052a4d993da41f3db2ce8fbf0d16eb91efad36826e5ab537feccf3208b75964b0ac76a4e7193ebb1551bf2f325fbefefc23c3e5ad70f3fb2283e67f7e5f64c63c3f6c16430eebd6f50b3b08bbe57a76d620effc841d7c7208c8e6a363ab21f1702c2521fcf28a3a0c1cf38a2840e11716432a7704e9704f3a8e710a363041bedb0579a59f0a0af214a75219ec56cad7318c9bc22f4c1d72f00b7357849d3aed529e4ab59cd8a2ada9a06fbb206e7b45300c34f3d167577f22fc12e19708bfd48d92d2ace835b85c354b648b788782364526c86b4f0779ed33b1c3c8ccbd9de8e1b1d974ab9d52b161f1b187d7e6e2db7c6d351fe4b5d7480dc9591f8405a368a8a40a15cb73811e84d02934333382202001b31440304020120c47c41145d7651f14800ba2b25256214ac420c76114658831c8186300003044004000886a9a004e7455fae7b12d6da15ec29397f15ac18023d345c7e44033abfd0f79a27685b893f6719955795d4ecef6f3ec0e7774edaf7411c6610406258238aa24a8a1ebed564a34900e0a5329d952d6ffea115c9251ea376a96412cac5f80a82338ae7cf180e0622c20f96211f461b9455a4f64a07503838209a15aa16a2f079b2075eb2386d30fe4a1a74a4bf489897486066814c6b6815f7929d7e683c0e04511fe4ba92cbac8d818751b71c3522a902365c5f8046114cc2491e1ece9d95509c2023b051cfb873345f3f95a86b46f5ef273139d60ec6d3aa16d8fa657ab3dd63146e809101a8b104839d4e73c2c5a2f44aa55514ca3149ef55ed1da75fefaa9b00f62592ca8cf2f0c85c651ad941aeee10025e602f0eb76f6cec04ffb7dea1e965efacd0a09feceea5821daaaafcc8d6490d0063aca2dda3951a4a9ace2f95152a6d1ad1524e8cc1b32d0a93b6f672be80576e0ddd78d83e108b1eaed37e87a227770acd4098962ae646bb8e573f6d73d48c69f53ab2900926a437281f92ee331a65e73964b8d6bcc7cd02ded1f7a1cd2b967eab014ae703e66629de59a3441ed8d0d791d8b77d011205c184ff6e05ea1f1b5e3544c68ce1920d076c346a7274fb3ac2487d0ae982a051ee63fadcc32dd38317b4ceaae1cb21e6bb3ac187c76f6171b4ddd9d93fffaa93eada441dbbd8f879ba32fd8f0c754bc711fc9805820eb2b8d20d728cd5c6bdff7c216615d6de4885357edf4d01e518e7471f90960f25e982243c59b803a27bf7030783d5ccb3e9b58a23b868c6199a9874a2435b478121eb64431f2f5b314158b44133590057027b44d57688ea11ef000cdba9a9c5915f8c114ce8520fc02eccef8dbe3da1c541574348239f2408fe960bfb218b6580ad3d216564b13ad366a6ad42b620beda1f0b306a25eee9fa32a7fb65df729dafe78aadda115c4592cfa38563b4b0093056dab365bc27d80d3fc38051d5f0905df0048175b82f1b164037d0df35746013120178901c5f624702040f8312f5f9bb6b9fa72258a9442d7dacb4a1dba4f70d1277f1b736ade16e5641fec0b264c97a12a487128ee17410e62c1f869e22555736e5cb9e8d0f072c533d9c56607d68d549c5bfd33ea1d5063641904e66968994902934e3993d02ad81c1d65417e8ec2fc69fbb606fd87b435b8c584363c8d334d997a3f2490b256d5a710e8271ebe981e21f72730cb6720095072a714549a6d4e64dad0df1e52d71e6fef16a21021add768103e784df2c49234caa32c010cdf78e052fc71232dd1c599908bad1ef2b81357d5a2284b25e3b0ea5a6461a917b5956814cfa0d3ab7e65505574a8ff3351d540461e1793a5ec02a1208effbb33ed0759742371bf6d2dc380e89407b88475c69b8e803718aa15e305281102824c883190d406e7b5767dd546db34196336c5ba5de1c9fb880ce3217a39e581414d8069959ce74d62909eead492d42455ac8168a8af8a2459bccf12ea3b41db15d7826f3a769d24af6f73ab0117f2d00d4b326927ab0ce8edc89d8d5b61e6fa88b5f2157bbb64b92047a8ea03ab88392bef5ad7293e115d5d1dd75faa8b0edb7bbae7724f6f58390fbcaed05f0f2d679129ae506f406aa6059f33e2e07040df2effea0facf7db1e7e99674e497f1b23c45c5ccd643af974f84ef7585ee07c386c8a8130b039f1305eabe9b2f9f07218539dc3b8361c16dffa8accfdeea9ad62093a325110135042f4fa4469bba02502ce5f0da8f8d4e062e0d9f9540d24d0a790acc1fb926a2722a472e7a99d311fefe9883885c28a6c496a5ad6bacb43de4849c4913bdac30a6ae0ceb918c97b411aa26ebe891c3cb33911e7ab75d9dc78f637c962f0c3517f39cd03df7f0e3a0f6bf76394283465ed8e595d6a4cf436f32ce03a502d6a452fc6928311d209fbed75261998c2226c7b42bdfdf1d84aaa893053532991dadbba0b22d992739c2624011acadaec158ee24430517cb7a4085cae2b099438bd6ae82bcd4c95166f7370c3288f779097c90fc557a7e33c715a93dd00b79b0ea443b4c3e4a936ec0ceea7c50f5f02cac903dc7619037498654fa1a59456304ef824500e6987f0e3a78a8c8e88b885ff612b42c7d2fd86cbf9f489d817a0846dcc707f63efaf821e9b23aa1a23d2e7df8f983c782becaec7fff256d394b39ccdf5d1ab2fd96e0a061fbf329fabcb0426377206047a7f056ee83530ac44f7a6c694218dda6ca4027422a8455ed51ed62f33edb6d6eb111264a70905e1471683a947edd98eecbac70da0a6a6b2029ae8f3efa2ede56abd984f6d2933fbcea179e6127b01e7e02d269fb4ec1dc187cdffd1470672c79874c4a4e8b7094b4cf3714c2330c8a1d5af96fde75dc44ddbe56b575b702b16c1e2a2c7dca2a01b9a5c391b25bf62b03e82f8ea6dfd103f0dad60bc5a0d41455f794a34c3f45b844c71b5407f81ff47b00bf5c4085ea974aec3c1301783d237f702f7e4c51196ffb1c4371763032bd668f763e5b34a9c36e913dec884cbae0ac46640e0e89a910cafd9602c6ea79539508e1ebfbbcaf8e7a29b86bf51e6ceab3b75fa71a0619f8806e6b77d0e70a43669de66c911d86bc408b11caccbd5d35b98f4d5df99a9abc36ae056a9d496d52f783b77ea43eeb32d3a2f8360ba3ea890ceba40d288af4d9f14acdcd526e87f6af65e2921c08293dca1abf23348f67416c152341288d43cc12f1a615d200b0baa60f70d3922b394b9f778c3595ba273ef6bd32cfed560667f048f96aa82880f47a6563b6db06fe97180f73da782608f4731f351e018bbf9de0b2f05fb87975ebb3ecf9e623b0d09ad7007284d4c34372e5d283f6bff0052bc3d4db90fd3215ee7de5b9fbd6de4a8274f59c8e037189e29222d6f057958f9ab6115ad037deb98ee776dbaf904a184e0e51d58a27684fbb92eef21f55d26fd89037bb30caf3cbe93deb28628efa5f45cc9ccf39e162464280b03f427b4f3a7cb4d3902faa2aeb68663c6202fe776d0d8da8f362535e3752d78055199a800f6b679d50cb24bf756576501dfdbb3f5a3dcaeb7b9e66b87e87246013f3dd6a37632084ca161b4ad09c28f3b1c9bc84c6fb360b7a38738c9f3a40492719be5a683858b2418a1a95437cf08899408480ac4a1e9bd26500118a310e1eba00cd5922380e0682f2fbbf6ee4c8e51f686872460a827f0d5bfea17847bd1c09c0e1c587d650db6fb8ced53169e14ff4561a674bcea1c4672ef522d35d5e34a23485bfc18f768c115f8fc41d4ab5bcd79f3d530992e32941caeb612bafe632f6eda6f0d9941121cdf11654cfd7bfd314d11fa4ea4c970712475082ea1072aa034553a6a4178f551350827acdd34528de5f708ced8b0641d0698844c1d72e8ec1bc8077a53f0ca3d487289c95a520acfae64dff6f61be02fbd0d27a2c32fad44c497ac98b6fae7d1d50a8d4320eecb2df8f4f0bc89f2fbb0e92ad2eeae3ff7f350922b460975831c659d23c08258d357e002d63324fc5bee2e11550f3a1ac165c3de6aef893ac171730ebed7b0590a2fa74757f752c8d137b2c0cb6692bdf9a00ed5c119fa591ca2f6fb1418c533d66bb408050307c138223a5db352f4fd3a142ec1346589135c5f9afbc2db8d0f06976c74b66a471f07db432387a281dc60fa84f1424a16e03c152718a831e5f242cd7271769cfd8fd0464f448a3fbe335939c8cb84844a15f86b5f4137c8336e2ded4ba3179e19f28ca060c4accc2af85dee13beea9b96899e00cdbf446a69e061210593ffbbd0a0466a1c08cfd98ef4efeea70b1f424442e7f5e1013218f1a75e6a7d34f0bfcaeb78b2f9d28d78f82e10de59858d709be5a1858c0bbc2784be224721cc2d0d4056e4a1d9fb063ecf7e5ca605d8aace47b035fe243c33813b5a9add83ab05aba5bed9d3df8eee6efc9e1ea20dd8d2945900b644e47b610dfd5d6ca90873bb62d7faf3ddd0863b12fd5b676bfcc9a2b49d9141d1cd47b031895255884a35bb36d81e0b9f27ed317e057defb249f1b429f1a7546f2d9bd3f10c217f4dacf3e24cc7cbbabbaca08de96388a3087db168a3a39813284f804f764b4888edc4dd0e8f5e3fc97f2fbd1c7b498228e48aed0205112702dc88892f805ef639c1909f7a5eae7bb17366c8e83407cf8d7a5965bb5d2f6d51b5521509b2c9c64241fd922ff144b023202017d5c8a1d8c555a8bf7dd0d4192df328e0b56328076a8c41fde362f295ad751a7a71e206b904ea482eab26b337e49a73dfaf81a2d8994cde0f6c050728e1e9f4eba584150263802488b0fa67b2fbac3898bada0245bba5b1e1f0c9a2c682266853412c702bb0d61dc0f7dc03c193044592a6074a7f78a69f153c4c4d3f7baea9a08bc81d28d6c7c9687760ad5cc278064c61080def1bac00e605c4b30d5dc3abb21e84ed55e3586f909a2835bb091b83ebf519d53c5f3167d862d5e1c065c01d916e598c51db6bbaa94a309bea2a9c89437b331fb51bb0782f18dcd5342bac2998921c02cada3f5d90ad05a1180424904248cacbe6c57abbf06a7415c294eddb4a57f3206559661e4b0f69991e6ee4caad640d91d5d7dc90f57e12a31bbe3d8244969c2565bf5dcc0311c15723f3206d353849799dcc1422eddeeea344639366ed2a1ea536bcffcf8f8e19a0350855442be38670ce23cff3bdfd01a2383257033f189db7349115b87c74793308ddac901cb2958b3360ad953f8c1223e29e33ad4c8812fd2473ff35a384930b923a1b8cb7194869bc1a2e8ca349418b335a0539744c12143462682459f78495b67e01b0c0c223b89c5f027802b7b3ff0af6dbf393d6a961c9a98d6fb3dec8fb1c34ecedddd56ea9da77af9e5ad4d1f2f8761c7cbf4299e06e3b7c6e09fc9d37244b44b1fc72ef319152c2d8ad498b781114e5bdac66b705224d4e8795c28e06ec389c52073e581ee8bd8f55c94c8297f570776c4e864ea4918d8f409c137db284e70327a5b20c96df77c1d8ebbd37ea5f5e6cf40bdf9800a3c13d96ecdfa341c4dd4fcce2a9a01e5fecf9b7a860333e21f4f33a5d2ea795528fc83b5ccc276c97c6f12456ebe1a8d26b9a93eb8a8a5aad4e8a1a4a8bf3d33c99fb7ded5e6b08a2c83996ffd0b196721855d386ea543c44a8f8c41541bc5e3ef7f12fc0416059dd2a0fea8513854e408dc10c83920a37fae73fbd51d9d19c96008cd9f46f3e01749b0f2316f4bd9d57fa1710571a579a386280e92a64115fc6acc88010b68b14f2e688769910edfdba6c8b0d01854b04d321501135150628a3797dd52704c8d28e41d60736b1bff1b8baeb2e47e8a1c581cdb5f42be085bc897fc6b06985ca66ffad26cf20c82af3df63c781eb71906d3287c74c6e0dc1c9420dc9317e45f666c493c6d2a8d5ddb8d948d91b55ad59c3935aa1b93fb501ae65c3434d7c2241af46787db46aa83c79533f2af2bcb77b1f0b955c7646ab318bd3a38fe6a20a0a342c366737bb96aac2a724c67d7e50d24aa5a4ea178f162890c3c1a741c00ca596246f922c6a74c1c219516b49d47fd937be2449841e5fd3f8b5428597034b2409060de5b7f2042e9cc091ef110d88bd503a39ccb2b486dbbf028669ada0d10a22b44b1815aee6b26f22b4971b552c1166871cffd1ef1f7cedb4ff9e87a962057a10484d2b20e3c94e33e96bc8137d139cf7c73349181db6e3eb1815f671891843e7643e0a263f98e911087f1db4404f74663b660773f7661e8118405cdc17999209a058076e4f3c0480fc6354857ae7d6e4fb57f68c13818143052622b749cf2880e52b3fc254586a001d84fdd123b11eab1f263384e0f2ec5c3a98e207813a80c1febb5ec5f0317e7850258d2bf481ed8fc3ea81ecfcdf102a073a32c1fe4d97b1b4798e97000bd0baf54e8fe3de2668473916d96c2468a7334e053249e159f520ab285341abd8dd9fbad9ccf111ac254dbe14fd36f840535cbd5195555c767d0261781ee11ce859cb7db7769b8d87dfb1fc0e95d0c778e3d6a9aa8d0bfbd64623681a5b239ee084d4bb7d2ef07d6a4fbacc5caf5b6337f69c07510a98cd46430954cf17cae7c8c5b7e6c856482edd47ee5f3739bf96e60a7da6fc55392317377eaf1aca4d346c4cceb84b8b0cccf0b12c6ac0ee660946182ff66202c324f867096a91657129d42170a029bab5621d8c53865f95e3578971cce457cef3ebb22a03fed35f63c2d969d133ef815c850a287a877505153ad96c1a594e1eddd068223fcbcb2cc7d283dc553091c86353b03d8f8c408f1be7517187af20a278d4cff9bc40b218f1120f098b8c22db2115d27c356aa49b3bfbab48bf90ffd17cc6a5a31aac61344112c01843d4a89a83e677ee8b978978c6f951e61d92e7acf8b0feee4c1b63a0909233c8a94fa7bf2822673241092ca3e06dc71a10f3358310263b28c0a17a7e5a5300262519356ea891aa357f55a9cef319b185c0ead3d4a746ea0554b9fa7e09348786b987710d4bc8e9254c59e61df20cfa4af9e533c23ca182f1a2a876f528f8aaa4e84fa16d0f9089b5a9eacc95f6dc692788d730f7fec47290a556cee2626e89fce89eb56721e523f23d110251ac9aa41a0b0351b748908bdb130f85efaca53207cb315522ceccfe866013393865127c1be3885337d810d87e278f639400b0d1ea715a4a42d87cf3d0b9227c344ce9958698b3c5ea468c13197087410826440c4202a1ff33633d4e9f45d07561e9642153ee3520b5c8a5b210e833a0f17dd9a46f811f6b9fd03c30b563577b2fad165245a15b5f81fcaaec157c5a8181e0dff9318729b28f2af80d5ed26587342f6689d11b94524cd61cde41956a0c01b4f17c4e692228ef4c7b5caef8136a2b3816d884b4e2cea0c8f4d1f6011333832ad81a60a6c7850a76a5880fc1d9a0e492692fd82932bafa57b1189dbd047f4c84be7deff76b04568fa7c272ca75d8def4f0837b6e678c30e8b7bd64e026476808a918ff3c3cc06f0cadaa5a63e7b46e8047b4ec88ba8843959a4d3329804fc30ad8c11cae2e86632b8382b0d70e9509aef9ce3f159009380ede327a5d72bfe553366b683fbb9f0ab2f90401cbce29b735611817ba3aae67144074a5320dca8568604499638b2d89ca02d49b639cd553903b51dabb986bfde997777357cac834e7b07bdf6b7bf854ce41fef0eaedea3c0ea66f3abd795d9317096028052ae2c5812cbff4f1186228f7f9964c89e598c645baa552f47a09caafb23bb94a300cbb26bf15d210d5789e63b0a38e8fae06eb7a1046daae70ec76d38adad0d51e2c81cd628149ff246d8772177db0245ccafbb66887f6241e2b74fa93721399c507c12599a90f825b662a3e08b7c84c7d48ae92a9023dc7ea997856df44c7ea4e7cacdec463f54dbcd66f026365262e56c44ad90e76b77c2f839e8889cefa4cf8acefc467e54c38d6cf84b3f2263c56760283b5557ed589764f70bb47a1f8994aa3b9121469441a49a3d3688d5a23d348d1e4009ec2f380c300d1bcc7cf2b32e940acd79eaeb1d552893a0054018b6275546ae11ba7fd22e6c6acc95541b809e666a25d3d43f2710b6c2c859f15fc6dc193f40d3afd21dc09e432d9ad3c9fe3a15d047568da163c9171202e053834d9ac9ec538d15e82b8316d169edf78482f049d987acee80ba45f6622840b814e269a95cf671c8a7b410f26cd0a3e59f0189f53bef808464b606a7437eb94cf22a3ffe31c9fae724b89ff7f724812cb1e7409ac40650bc55ed2fdbb6f4313494777f2248c0436c07b35f02740fe75c9387c11b4de121628eb29940f4a14f68881dd14f473ae42613d5d67c4c01c231b3212430c59fbb69f6c6e525a59317bd2b4c97e9256b3b091021f40b94e57df82e775705545ae07ed9b839d7684719b8e815bf3013d5085c7570f3bc825456611206576fb19c078395ebc69898f0ee49ee1aba53df693186ab18efa2365dc7014c7704545904b689c13fe3c1c3b26cd3b2117f53e56270deac7407c90fe7fec21e6163319ce4218635db2280aaa10daa933f8f32a688b9736dbb0c4b6d3ef2e2bdf4811c8628ad0e413c5e5199a4df62abadbf7ac7b0092ce018ca7f6f354a1c3c9ccc590f3d243d6c84b8866dcc9436203ade0aab456b25cd9a5c7dc5e5e9d093a4eb2763d4b1fec59cbd9707f7d537e306d3b2c6fc3000604299c946888d99be4190d5f12892b5ba1a642173d313d42eaaec0a2be705f9f420b26ed8056c0be861664c24d812e5dcf6c5d9885188223781ebabf389731f4e9bc109e092c785e9612b8d9eed5b03dee0dc400f5c7a1c7c90a0897a594ca19f4d90bd3038406a9dedc1e14de8195f0f16c207c9e4aa6260f0d06d5854ff561c311ed4de8ec2dfd0e99df1c3ddb244745125f4c0be152835568bbadc25fcdcc7a502f1cc583ae941f8536b613a321a24afd6e449bab4f651ee16690f2fc28aa62b8e2511cacf9db50fd56ddb355e36bf79e98a19dae3f1abc641e98f5a8e4c0431cfbe047df7a7d0f78fccdd603bc552c1a1ac60ef336b3592f2e01ff5ca736abcaa27c7c0674c56c9a0c255d4cc56a1f1869f22bce2424673df80d217be7d0ec42c77a5dd35bc5787ce7a62a93e71586df4a8d8c326f439f54873793bdcc1282162e8d9714dc440946ad4412d72f1d68c0004071918ced68ab037b9477d6bc756837e6dd6e88c88c100453862b064fa63e748b7c94811778338b8018c40e121336804a95113765ddb4dd3048b45e73981c1d5e4831a71f3d0edbb8a7b0f3e5f4d16a45000d19b4f3e7aeb090157d0e8ef33db86ef4fde805a6aad0b69134744c1af3285655b03f704747ee12ebe2a0cd2a949828bffba3066f2183c92ea3521e194b10064085e49380275930824890df3bbc382976cab3cdf7a668adc96477bc69cd9752fc00ca01f048365706906f242a10aae9d814e9a4c143dad29f716760b09061a4ac65ac8ad4a6358c0aeed33b68fd65d0a2aa316671bf2646fed790d247e66eb15ffe2ad061d782d1d61e7e7b51071e0f99f2e860fd2b5e335d8d905de18b030eed2ea3ec8afe2fc758a4db5775fde0c083c80e573c72ad90a1ab9dc929ffaacbd122eae48515fd38be664288bb9a8294160b3cc1dbf4a3c3368cfd6fa61878ff486a0c550792cf3db034bdaeb3c0a29d943945854b7123d3c556c5492d8f33dceb07f51f0cab064efdc34fab4b7065b36530e3702d30ac2279c8edc7d9ffa37866d641154371f87bd1c601fde5855c3f65baa8dd6e2cdc2935d827ad39346c1817548d8e224b6d633b440a94631b4586904de1bd558cba49702849ac4fcff0f31e9aa69b15b5ad439fe25090d76f0cf2165e16f0f9b0b07b9cca6216121190224cda593c3188b5ec57f915539d9dc3f6d4f0e6b35516fad754e054476fc14d16a7ee73490da6251ce08c15f8d6ca2224537fa1b6748da4c893dba064f842f2dbc34145814722dcebc9e44c2057c6ef489de40cc5ab54b40082ac0aa722d02320a770cddbb67d98270fd05322e5520a25d8116163f538c2403f6bcd22a39412a84e53f67a07a9ed6ebbd5447cb0c886b4770fbed9441a9c21bcff64f38306c12b1c5518a4d608ba3a3f2704f274ab54a315caf93bbb14a58b8990e93e3fb95c866b8c257b0b7d04c0394dd69f20baccb20ca190698e8d3bb89a1805c202faf7523c5cfc9a6ac438fd3edafaeba3d646762a6618763089b1f3b1318c4c296fa6a101d921675b023e490fc23ee1d6fb3ff8ac9ba4000a1c4542c060b087d2bf07880b8ed915b4bae81362c17b5c71cd1647cc1b5fca1211c511ec383e6fba01b4534c0fe397bfb8c268399157044a07dca587c15860113e4376aeb131cfe023ad23890080f43d79f8878dd702229dc6695646d092fc0183f5237606e17a330860e13bde93f714a3216668ca6c94d7e90aa37ee62ae01988e6e0e68ef32a8480f18ae5c2533c0d1218d682831bc3a9da221c176530e4eee69e1d5b3f53ac9b4ea5c59e481e310eae99400433fca4b80895edf406dda6c7eddc06857888737a6f83e188d5c27380d52f8ec57f54943b27d07fb23f8844f788a3e91438afcff880d96fe0c862041cc8e6d0c2558900c00c840c37bee69a3fb97a6f3da701248022dd1549ac32242207ebe53d3c9ae5c19fcd570c4cbf7db23f496d95358ec6ca529fcbefabb0961a201e077492352a47a64a7b22037cc1c09335a4240847940ae2fb244f4ac8a8e6b0595082e54ef38a919b2694a2b945d95b69cb1b504b027fab25962300e6f0ad338663f965e39f96627bec00d479a4e21c78b8f65f71b231f098e00d09bbd4e60a9fcf462c825492ae59416f24e4c66626ebf7367ff878d3d74eefecbd2ca5d93538d9522323055a35139f75f1ced2665ef16948483435ba0c5d67f3836c2abd82aed1a3fe88e06adc3cae4f2a522827ec04846b67af563fa46b08c66839f5e813110c41d1753ea45a666b5c08b69a36371b532bd79f3da48ee63e7edea9ca0f9ff8cffbfaf6eb39ad2ca7bfb74d3d53af51705eff14dea91a6e5f240d318dc4565f6a3b70fb0fbc7be02b89ce3d908432b255d4dcc3cc878101387ffa3a8ace8617abc3ec1f8408cdbba62f8a1a6b6b0ea2ea967091cdabad1951d007dc5f3a19b84f44827fd174cffbc5caf4a9494d950d6376b1353647ec28712e7a8ea2cc15e826e5404334f8e54782f1652f2237a9448e015d5472123640d5aaeafe69bd1bc3925c1b9f3478132b9e5779a3216c85ea3249b161dae7f706d2b4751d17f644d926128c422679d1356879ba8760072b67ef918847b50bf81fe4bafc435e91c2694c41b67c43c4b5dd52f7810494e9dabc5bcf1b791a96ec0d36ac64ab1851b8e33c42cab2d0df511cdc642d155816e8b100004f6c98abb27a077bacebbb903bbeeb3e2a27afb8d432ff1ff5c9e853ac488888be4659b5e3529238feb2bd903d2021ca5e9684f9fd0ee97c9b046054b2a0288041eac3748bd1b12491b538f50f80d1569d125c477f06f0395d4fdfdfab7e7c9ae0d39567582eb0b28104248f0f09e0395a710ee084434c7982b9e584db74414fcac5bf88405848c9254da9f33b23a8aff9919c6952d2eddbc8fe40df4be17a87f779e7ad5168b97e03caaf571ab70593096cd4b087e5cd3a8ebbedb2113e119d552f242457062885461d1696ba025754f6b20529044e8b8a28ed6705ec72cbe557c387b7a996a7a1e038bafb0eeed72b4a89f275522d1897e71171dfc96f44989127028adab4eeda2e7daae8d8fa70fa6044442b3ea54a3d05f025cbd33b6b201342ec67f2270fa7429b1f40cbb82d87bd3c513aabd9300a337c8390e96cfd6b18fdce56ff648a3cd8a726a379e99f240c831034451a960a485c785042bc192a69558d017f6e5200989aa96683ddfe290308f3508f64d397e1e5d1be89e98125f970c458644e3d36c44aa41abc7095188120b779b6932a18b64142f55a4bb9cc10e369798cb492e8416d1e413630a2d9f3307570b005215a596f10afc72e1857fcf1600419e4bef3708d096a9d0df80ccd3d93318da63c9c6d90ac1d36bc501ebe10d69a4a9070a8ed44199200e8add3aeaef77dc54faa98f08d6df389cd2969897b58061227a3dced602a2dca423e68ec4901885f45f766e78449fb4fec7cfc2201f0190e0769e5764b880dac9ed4490344f62a175c81b80a0d6b28e33ae5ec6bd177e2e24a57894783b1a1c3a26dd5aaac9c19beeed73813dbd80d97d21e7580f1c4f689dae8930c09988281d997dd9836640204767f8dc44853b7a2d7a2e33096feb35e33a02513e6d5cf5ce85a21f9924c70f5f15bd4656d63916a76ea2aaa5ca6300b243a8c39ddf8ebc5a16ee51970725c4839203b4e15af956dc921a3a0f6a8f64bb216cec5b8cf034a695013ed9aa30b3e9b70e451913fd25e575834b45f97a4e763091b4004283cc0102509c8685dd23bb5640ea564c2cae49728c00a1a7e530962e21b5df03087ca7f06d9d0a722dec8a99892fd58644c67cd56b1781bd75979e130ae3c2bbf238111c3c24b01e046d1283ff15058c48baff6b996adaa04fcc7138772ef198d7d53e96f4fdefde8cddac88691617c64cdff7d886313d58620d32374d91040ca3be3d5def7f397b119e34d0f08e153f4938c70480543bc2d2de4c6d78f5494d069adb36bf5a08174719150614a0621e7f11334d8ecef336ea113bd6fc90d3925a545a4e31e45840249879ebaa2e84854f0c415636c395b8287145de2fb906d6580dafae3d6bd94c99dddb9b7d44b413e48e68201b9abea8855e042701fb8ea05f56c04558aa71d4be0d0b4e5aa334f9335f8cdc26ef86a150dfe2dd558522724553b99f940d88b263a2c9228838bb46c37a2512c5cbca8e5209a6324f73a73b971eba83516efd8858147bfe4f7a5f758bee9a00b20166491749bfd782bcbbca6770317da6f02f0f45177b1591c2cc8bd137aba509092c0fb5989ad7e3ccaba8efb3487e659ba5d313a4591a33d2d74a03c1fa576643f47535d8b470e67d3b0508fddbba08c418e2c1348cc7a62c8519492e94ef44e8251e63ee04881b335b8c3e6ee98d13b9fa6f907f678e3f9e31652defb16fbab32a77c6e671034df3bb910dd311cbe42f7c6cdd7d2de7042d25b38873d9b55c6b494ab5e87c9767c833eb9cffe7575ef23046795dff8b347b863c63e050d18877cd5248ecc506706e7a36116b415bc724071aa020cc20d23e7090cf588e7a004b62aa9c3a54a9bb85cb340a6bab03ee30e104062e2424788c49b0421991628cd9e1a435d2d4196bfb9e5c28873def76c76c7f3505f7e538eb1918f6f47c755db3403eb2adbf3105c74ed63709f1ec69b3918a4818a7573a5f2f9fca89c3965e0ad71f30b3a9f8f032c16289662db4dd2c4683a385efb54d0c491b4a0a0f93e3ae40d10234c5206a1a484985fa64f4f5b8f0223e6446d58229a2c4af4a2b68602e15114bbc7bd3010be79315cf73d0c96f5d345ae059ac9c44023d5d8a840b1c7ce47fc98aa45a8926877516c8c9529899ddb45647211828934d594e308d4f532293c464344a6037baf5c6e37ff62a273770c40b05f9eb6508c74c0f0efa47000095f98f96cf20310068bf86fd21a0566476f5afc952f0a557240bac3836e643953b2f86d90d09674aa6958ee8e448803ad403cf5d9f87100fa8ce2445c274e48d69f0fab5833403870d839db02d40a7c0d02be59219aed4af64aaabadf87e1caf8035c414133ea3ec9beeab7bf5a56dd313454e1b9b69014fbe5c72f5c2a733b7c5bb07a36ddc2b1645854163deff154c46d67fa63b41fe6f14fbb49f50d9eac3be1dddaa3efb8f5fb8f33221892ca52c68959d6040f120a1a0bfac4c49e97134926bad8fa0d1f7f83ed789e7e6f279ad384b7003fbba6b3ad2655538d7cc3b51cbc22a6307aaa826566bf63db073d2ce1ed276d9e3a9be61979555863163301711cb2e5b865cb04e743e3597d723ce2ac047378aee72eade5e79b63b79bd32b4513010a8cd69c44915f7df9a54bd453623083503376b3829744ee9d56ed3a75e299d4bd41cf1857cecbd4ce0e451c7dcf4a6128a505e90951637ef4c619c15242194f6cfe0cd3ee2196c0762f4144db138a43282af9317b721f8e199b801220d033afe68a6a368f2f5f433905c1ce634018c06fd592e0dfffca2362e59beee52bed062e07d63a5c9a91d6ee819e4f1f7dc30b0ce5831255c06df3084ad615800a00249687da079d6b803f0af421bab8a55ef7ad807b0ca71e3bfa7b13858ff17b8db95b583ef28377d1253958bc38ae1f04205a16b38f920a9ec46a9d35610959d3d71d1ce592754b158f77bddff4fcb652142a55b64c3846c664d34547f10dcb22e8027f4527abaa0ff7f606b4ac9189a322823f85bc517f9b991abf7e7e63d426c3ec43f801223333078f2aca194a49120dc322c33ae05d4e36d325f59d6d00e3de2c7cca624df95eaef42087254bfe091bccfd1e2bf6950460f834f056fd65f24a582102a619818f5691a0a058095409827b5809b112763554e6cbf7a50c1990885837541d255cf92bd6c0e93230940997c7eed89763eff5e231df7280ad06bcee4ffdc412b9e385b78851e3dbfd104db8b029bee5a82b03fcb5a289e28d05313a5930a12edcbf58f8a8790bba662263f299b56ff5da578140856be8f81ebe68f9897315333502ac9d2c8bb09ab153c2bdb6349ed642ad4cf65a22d470ffa0d8fc195bf1382622a52899eea08c40589f81b5523481b6c13a861653e663d1f5c61c857a557b97e8cf5248b32ce1b3b87a270c710dc59bea5061cb01f9ba1f6fe1a24d8995a9b4630d134c71ccf7ae2d036737d530b7c6613930be24dd5094e7341d6ffb05150f8e2f57f1c6b3616868be95cb64c2b0a9f479333103f861deecc7c01217913d1ba02dd5e6678fc95da95f9d7c138404b3a22037e5dc43ef06871e9b4ab0a96a113abb935502c3747af69a960304390f0d912efdb590763e5e993d64e117531cc651d25025cc23a016c147e6833c9ba3ee4cf783c2cca924ee2cdff8d0204f06cc7a8fd0dc3a1f81705fe80ad4531063153089ac907a8f7971018bc5e03a2a5d29174aa5c365a4f6a68cf095922760729e48adca3072eeee53a1bb13cec5c447bce4da4163199e2c28e2ac194b47bf47b7732490b8e6813308684e9584d91461c0f52823ced717becc4e0c7d830c1cd29eac7bacde5918659e3ffc1d413a05482a9dd68fc47d35e0186f2699cbc542a61469a9ab5e132630f03755a75935d90113a2313481db68cf0db3b9c57e1a4100704990df014e3a80534d1eb2e361e1cf56ebe7bbe4ec213993ac6fb1e015602cc778bf46abc203b1c67f70f6a43176be187e357b6d71ce2685f4f60299921898cca9b4a8c77ca93539acba047dff47a9c404284025b58923805bea10ed0b330809ffd952e3a157b39f59e2058c3e659fe1ee1acd38a9b49e6729210d943958f35751ed690d8089a4b8a5614449842c3594e99fff1444da9c3023a7d5375f3c726f2a13d909f28d647af7c02b2b7ccb001ac61474f9d7ee0dabe764bf292a38ce8b45e13d885f6427071346fc38678fdfdd132afd72f2adc59bcf4abb63f149ffe90ead662f6effd62ef20650db679b8bfbdd4c5e0b0239d56e160fec0697f18a2cd2ece7f95166999075da6f6eacb85110f55dd51f6224255f1e9f00e503d665914d66810da0f0348ad8aec65c2369fcaec67d2a1148a8ad2ba0a987b1f0d995e05cecf8fa4c861189ccc284f8ceef1102d229559841c03f42f5b0f02367b0249ddfb35b161b538b5aa6b29c105c40f53cf67b765a28d20d57b99e5c5edd8ab80844859802aa7101b64ceb3ddc206cf81825736204b4f96c985d18693126bc866aa6c3001a6fdd016f021d56588920feb5aeffd756615135ab56ac347c7521cb19a5c0190adb16c08e157799ccc7a9d047c984a50712d676a9fa374bd163c1cdc1746cf42af48b9dd777493a8592e757850f945e1afc0b223d8a01ad704927480da3ea2899ccee67f2fe11997535a170a4b98c168ca0e7abb3ac580dddd4c1716fe59a025d189dab2eb5a8eb743de94567f59c980dbd030120eb3c7e049a04e8c0aacda768b64a1da420508a0ce1e439370c43cba2dd4c0795739f8f69ee083e35cd9e7e4b354b071f4fd51c119ce0173cf95932450d2c460b86a7d55e66d4343ee28b1198ee0faa448c04631b28b9b0ed400ba10c4ea77d3dde913eafbc0600630a2ac4c941bc42b99f30bbc1ed444d59b03b8b612a4fd4220a229882bd1aa6393f00e7b7ceece1f4687cac08e1660286f7e919b9d8924e7251569563be598421bfebfc45b552f4e668cca7e10e8ab363d6d3d06a83417ce4825f997e1e03987c5c6fe55adcfa57f4cd0cef7e55b4c3d1e9ae622408a1ca62833be33b2c6a5b752baeb766b7d3ad818addc4801a2984c3193306c9d930cda3cacf779c30dff7be9a36050f5cba6f404d2a783329965f9042435f3097a553fe3c177e3f12b560c478cb3b065b934736255f5148cae29e4880e3749ae7eebf8533a40283b5ab3aecc84a23a51710398ab712c1bba355cbeb62d2b225bd48bf3735165f666aaa870bc80c8ffac0238482f811533ac4ff515897aa93debfeb9e7aba3cd41c7c06f9f0f79ee71798724a4bdc05632646a5b63a247a73961186eac40484a897308988908051b782c34c03f391e053080c6cbec1f0b2591e437782568c870f486d5be90d8c1e735bec83b8cbbc4386e3de93fc17b8e930ce6c0df1fb765f960671b12d3e439f652a680457c474184b4b80004b4c3082111c149a4f3d2af141d61d2016916ff626d04ef39d908af06fbbf996b2f713a5496db86ae0a988423a7f603376621de89206393998c9d286679e99f394d95bb8358ad021a1405d9a9bae6866d2976f48a557170314d1dbdd5a26823705a1a5ebc9d6428ceb3f9f165b8de2c8e3da22e73b6649ba431b3043605497c65e8d46ea7304d9f32b8c245db6afd05195098f5c614633166dc6b0e60898670bd0b9157119ee4793e66cbdb06c1cb340bed847ca9cf2c33c2950405b5147613ed590acd36b263851d0ebae2cb7f7ac6d93c26cff7cad1ea57ddbb87f806a421578cb778c1a39801acb4b8725e37bfb458eb2a1dc03d55ce425163fc50c1fe72a0e05158b2bfb3a289f42acd691837cc0817c4ae2532707e12307f36107f151894f9d1dc0471da04f100f75c2830cf061ce5fa155c34ae860ce2f2890d14b3fc0ee29502340f737e04350a8123217af7759e39560229460224a65821c945da02413a03413a9041a87838c8b124c48296282bd3840ec2e50926a9ceee0dfb824eb4d50d4c8eb4f73356584f647c0d664f07c8fb3e1a8000b2cef0f96f2f98d4965ae32f70858ac68378ad627620d202de11bf6555d3797e0f50323304c4572687eeb2c011bdbb564bea8d00214e78afd2dc6bf3a7a789337a3555440eb1a832250c01921f38dea289a21f5993dfd503a48bf70f80c2896347695369bbe94cc4572618885ca8b025f63ee48a609d834d13277eb35564b97c64ede568ba667a03334d14e70d07c701a8c16f819ea82baeff09b2d45f97298825b81170893ce5f34cbe6b20e8e1b39fa16d5a4d3cca9d2d771ec043697ede55e5741025a4ef128dbbec05b5aa76d39ee4c93de7ddb0b879c6096b408585a467ed4f3b9d35b630721082b9d3affbf16968c9d447bd3caa58dfd4fefc286de779be4ca2ab6868d005c80676b47985f9333bcc80c369b70c8c5b66087a60f7d638dde8e2d3cc1b107932b1c89571f4ed7ddc7040c752f08679e8caac92f7a7425e1c230994bfc893022b54fef39012835516c0587d5cb447ef5277a812bc1af16266d82844c10953197ef3be5d155e219a2648da6f803da38046ed68dc12a1f376957719b7bb08ac25394f98f46b5072601ec3a891b0fc093b65cd3e94666177fed65d6e16faef0456951cfdcaa907b20355720935863bfefcbd9cfdb9882a8bf70e8d17270098c52b374efc94e05e8ecaf65f3842fee5c638ef405dca19b65f90a9e0e6f9342de4a2ff20503e73ecd47b8643eb9f8869c5a708f93861e1f14cc483135ad94dd3dc2e3c3c0002de2b4e91291c7dde7cf1f1949302fe17f948b691492835d57c024265696b15e5ffeba2aad61e18b8cc00a198294888b61b74ac5ea004282b996e82a87b226cee9c9aee2eddb710a30a46355061594df719dddcec853cc5ec6c363a693e01bf4909e901a44a412ca663a690059a64e7f7ab508348efe0eee4721e3ae0771a9d6b94a4ab1a9856c906d6cf8806564a7e96ce1263cd543d34ba8b2cc14f60b7915b34d4f3bd26a87eadeecf152efd742c87564c5080ee19ff5da57606475e962d9e66ce082da4bc0b5b4cbf7195574cec49200b22fe06159e6a977eb286f938d66fadcdd8dc66314ddffe5910018851f43bcd85ac1f24543b00b70473104f4e50b22ffbbc49e1964fbe413cc813b2e19650d7f7d973a30ecb8c2a05ec250d0e49c4538fccf1b0e7ac9e8195397c318b6e5c90245c4014b951e3d30680ffbd2da13d0a8d484a60821128a6c4fe776ba9f36b8cd30b2f3a32f236cbf5d644b968bc0e91f111d9e899e55b348f2b8bc8ea416247fcce932cb4af2dff37b4fd615653e9a5ca90edaa67e7df651fcc2353bd870c336dcaa8a0de3fc84d6538579882607c78123d5872fd3d8d138354734394fbd89d60796cbde6fa653a2c56ad5c4c00656e99ed39c67183ecd2cbc4bd0b5b7134d8eaa8c4a2285edb32ed7975b93f58a1fa19290efad718ba37b0468011ddd68c37bba4dd63ce250db654c0da4a79b24b6e8e9130c1f8f285a96a710e2eed9bdf267a8b09f2145174cf380c828018e161459ba329c72d5bc97b78c7542e6620aebed3069d4ccd1e7130ded73a094a3ccb8b1357caf26dbe381fa3878c7b56e25ec36888e74a84bde12e77d2586733c3c5d0f6ca23603676ae8b86a075835a83d23ca8cb8ad4f12611d62fc719019047082e7b61b71172473ea5029a38e0408137abd1c1163c44db6bd5868546e58cb68f8eb029b7bb17169c6b0fc895b16f7fa01049cff4b4b458e8a05a0508e5a3ae181f127422f65c02938091ba167a41d34b00097252e09338147518b39426851cf26b2f0a70b752ee7e1042199c001144a86cd759e591e40a945491e5a384869ac721837df97e96dbd5edba22f82b88cc7f20ce53b561ba061c0b9947a6770acab0c9d3f2826bf1817015c2d8e2e723a5be791c1d69545512ce972e7ed4abee771a31a013012ea674419e87408be98918d68894625a3b4da379e1cbac941f94141338284639cbcef35b7e4359f1949d0c6a1962129ed985c2cc1d4f4398dfb9ab082a22cbd4a6291796cf0f8c6c0d024fb3577709d4533ddbf3a2616e4f8cfa7c4f08a4af11eb307fbe25a52a3fe505f1c9e9610f76d94c3fc7c410ed31b39d017680274b34d14eef888ee27f6414587d3fc774921c402665328de98f330b31c7778096caddb8b6d3ef949f41543d089d7f6dacad3dee4f96ef112bd38c7ecb6ccb040d0c8656976b8e7866eaa6c3d18281f502d90d7ae37ef2cc76284b395bba777b6faf7ad292ce8d510f41d8aff0ffc66066f62dc87091d5e127eb848ad58331d3f813242447d951c30937306f8dc1b62081a0f5fbdd76fdec9c0d5f39ae8bfe010eac07a5e25494692d89fab04169fc4a9424de07b1ae6f2f17f19f2b7308a1a507405475e6dacd43074f48679132cfbfb828ca4d2a9bfb9c1cfccf412667f2fefb44fb28edbb0659824862280658ec9a595bcaea591509785cd3d93a07352a6eb54bfd1585a6447f4c619e31f605ad6830ed897d25d79e5e050a385204524b152c3d14afc3021f4631db9c319fbce3543f418792a638fe31879364ce8176b0ebee5ec836fbda8919a8c46fac24087ddb507cb738ccee4d99bdfc25de325f3a19a891d37898b64fb0b5e7a2b8245828572b4b43966991145c35e564933f1cbd42d560d13033e6b26986e451cc640988846f92e872e6a1e5a2b5d4cc9e70166ba2a040390c959b80d73c1b83b9689c226049b4f4a09f11db8a40c0b1ec6293a6ca4842a1f2e8b758f947377262e2268d3297bed8a7f360da6e7aa78804c6b732418e05832993e371841c11f0efc99b267e7a746882e1bfd51b47b3ba6425496517917b0948baaa5ebe7d1309ec528c0197568b9b420fdedbe8d218ad13a33b24513d3b1e494ed0d65d07c0d75231cd474e2c19c184950ef0d938ccb963f6ebb82228aea87744c1f35a724d8e185b67de466e998d38e5a9d4cdfd6692ea63c0b427ba41b003838c7e39d76255cf89567bcbefae0838b98ab10ce6642863943554e289d31387a12d9f4c248f75d5207102784e38d9a0121efd77cb36fb2c352b456214027c13f817a930d17a5f61613f936978b27b840d89ff2ef640a381dd4689850e91a32d37ea7f5ee034d147789006a2c65b7aa9313323504c1ebf619784fee90ed781e2c006a0597ddf578f6c1a8622b4b1ef94b52fafa2534fa4dc11f7d8cd62a515fa26c7665b706226bcc4460861cafd0a4aeb58e6d94131f99983430218564b7bfacf0c5ef9f69af1ab6b7942127a6cf4e6d97581db235924a14d19b82049dc002b29c0804d7cc3ee6baa471f3d5f53fe8acfe7709d797efee61592bb76fd210eaf3e10460b567353d1ae8fc84164d89e3ca02f0c6f76c57407794396e4b2f0a73032a9551c27399306a186ebe2b12a7acd717dbae38257fda7905d71e440ef740e84440e5d830ebea09e17d81bcc1d55140ac6382e2498db058ac2bc25c296b7fa9b8ad12d58cff08955db48a1cfb362667d7dbfd81757d0075b0a2100664de5bbe5d756371310684d0adc11e0dd6734defed908afab584cd1b4bca0629b2f1427c4c3f3967e916b264bed19559c88c4f0ad9facf701529d80f7279c89813fec1c1d48699e1c40799bb05e19ccaa6546440038ece6832bf8f0ae32a8c2b02215be1638c491c00c36b4268ee2c284bc15e2321b4415175049ba9417fde550c2792117031e39077226e043126117dbb788c6d013180546968d07fc319457f2ad7549e593024a10bce19cf8e01e90e08c6e14f5aad5376fc89b75fca40645a4377d216160a0059ff09b094e04831ff313357d240955d1ab13a6135bdb1e9c1acd0759688687f6d8858705657c1f63ab5bd8b2aa6527ba30f3788b39c1c87f007ed729b7fa8e7d85468569e8ca47d01bf745cc776c54431d9e429e205a0db0c246a0a5f7baee23c8a213f802c1331e74ffa7f446426d8cff5926764a96c05f8af3a1b76f8033decac897d033565bcc106d0f640aa6ee2df815c465b53ab7138d112bc2b85d2dff0fe0530cfec1f44b1167541ca4d8237b74520cc4a5df8d35a112fafdbbe7f09ec80535c5c413e8744cdd8692b5ee0d8b6035211edafc907a6e41c58e55bf5eb33883860d573739c5c4d228dd1982a8c0ac77f62a28736b019a1caa6ee475fa3fcb87233f5fcfcfadea388ee04a85e4b78e73131294ad283f96f19bb7580b86841e30a04742fbb989028c3c10018ebde480e3deeb6950750b9f845683b9a74e277027444b6cc22affeb9d0d1e21fb6ae58fc31029ffcf3f8db95a378187ccacc006f4317e3a6d71bccbb10cdbd2c2fc4de8968fbebaa938759f5b0f0240cf0596e3dc480e57c0496e2992e980c482aaddd67efaf5ed276d80a12a42822bdd31f4c72cbeb0c999bf5915e7f7f64773649a118c7df016a0d011df68e9efc6ea60d630b686bdaaf272e02888d838461ff4fb778d6a0cb35e0529bdf85d85ee70b31d7b72d59faf32b3100ab8aefefffe368677843b8709d74e142dc439781442dbee5d40a2255cc00c95df932140646df07d06492a8a47ca87e18064868bf7e272521b522aedf818f7b9c601802279c86c52132da4a4c62ae48a452de069ac317c6fa788851815038b0d6fa652f3c08fccf1e644b0600d879282845884a52eaeb28d8c343bf196e70c4933edd88ebad2d6a88f5aab477f99ad33e6264de9dd58b28e352300764d4a58ced92a3b5c2e9e4e21167479a1458f866c2e209c5247468b0a84a58bf10d9ac8b2a0c0e41e5d922e0c3b6660ecbca9667d448d03c6c447332e803a789005e9d0bacba31a6cf4ad9451e385777d5d1455d96f8956b626e76d9a0be7c7fd110dad61b4a7ca143e2f9d1bec2109ce77769e4a08eb1718ae7098b9bdb4a218c06c5e4bac6c384184d0690f645ca86d509f9ed490ee6213a82150c7b8c2996e3d6a7225d5c6d35865f1efcf90faacda491011c055feb84d44468d180d8f2b0cc9d097b7b2c90669a7c959c7d514af22a16ae39c6624201e05d68b6bd65b8e9b8606c273782836c19b88996ab2e712f7b86cf8c7fb23b2c8d476b26557d3d63cbef973f12f5cd0aacf7f020356f6d956b9a8b15740c9732848ed3cd9e13407033b743940aeb3aba82d7c095ae79d40c09700865aee676ab868e9ea5f7bde70606123db8de40256d9c0fbe19b67ecc65f72ca31749e8aaa2fd966a487afbc59d4c07c60d0f70d988607af62fed4befd03f288818fe240c891f8a3a20fa49c1ffcb940229700c00bfb1baf14ccc17a1d11f9772ff20631ff5766f89dc469fd0603772040fa8d08d19e12545ee9e09d2f7ee81aad5743d38bf09ed895a944da580a2e88c48ae7f26130874568a9b938361203e9c3ee45e93f16a7ca045d7cb233b0496d3e5f78980b198630ae3b261fa145781717f8360ad79c268575f9c63fe81f3e4af1fc2e0371cbecbb9788677530e1d6eec94dfc5df808631526f24eefce498acb7d734b110bcb256e41ad8aaeaca1323700e73b3a414442fd37228b84cd67d609db8a4cc637e6f122d0e595375019c02f7c0b61786593e02beed6b5588cd68e639d110e665f719f1d96ba96520333fb5144c31aa8174171e031754c5ba89fad4778cdef9eb1f7c1bc69c810cd974ecbef8aa6381935fc81cb11670b3949bd458c5b51ffcda7512571e8e958fd15e9b49d0ad01503921746ee56bd117fe550c710c13126bbafa810d29618b3cd145a8ea58bc4d352bb38bc8e98fe0d171b00d46866d187cfc685f65c5e27299c437664428938bd1f8d8235250b0bb4167de97e1c7dbd09692f87ee0f77f9831084067748ae66ae8727a4ec1892f86ba14fcbd8d0ebab9e0208cb4fa880823789b5dd6d332d9b0835e9a0084e4a200b24b3ef50ee437461e5bb1aad86f77ee55ccd16e51a6a422d322514286bd9a1860736a33c118c8aa930117e15d918457a88c240d071212c58ddc612d1182ced2e8fef1f559d7ab36f14be7051c79dfc82608cfc986f0cd39a07ab5d616b4f8a01c006a5a004a4dc3daa7c9acf1509aa391012373a4e42bf7e8c9bebb1ed4ef200e8e6b8d1bf109203056503f503b60c2709816df8a127273b787b59f007d05f222d43ef29159cb514c06487493507a7e52488be32cd17816fcf43ec0622ffb920c9488445e6f8a7d86b452cbae9aa60b7462688b2690f93922afc8cda6a901f79d2674c37df63ac6b8c9372b334fdce2acd202c1b07c56bebf8fb768f7ef172c6cd974930b5620112b7e2aca25dd5bfaf215490744141c3cd80418c3e4538a145ff2d75dd2911dccada3605b334b0b64aebff394c8279d8e0b47e8f2e5b9c230d4fba21ec3ed7e61022ead33875c9bfcf64356455761a6ac2c37cc1ed73f096947661fb6941aed4121256bfb2c1cf34a7277de06b6c7ecc6fb3a31810f10ebee00c61e5d952d3bf190350fb9902125c8a2c4316b28a4eeba776e779b69377cb2eab16740171966bc1cd335495139789f85b0b78f449b010f58e191f50b7b206c027e81b40ac91030c8f446dcc81583d3556cbb5e4d4ad3e451ae50363b2edeb48bb03bc1ce94ccc159ac34080bfb6a894a8b688b647f7d381040bd6f666e741c8c9e6908de0defb80262c34d3faef0e4bf0d80748324b9b8f236f2d6acc3b2832e21b69f22eb8689e7b03b39694bf6d03ff301a71e3e69cd96d5f855398267c0bc38186c04c86113d7e588334df58bbaf2670bd3274634d872ab1ae9f4f7dfcacb36b668e47ca931b512fd2f47661b4f0515887f545b193dcb0e8d57baf06eed17a1e84b48a31604dd03d1baa384171121970c3a3a90e07d205827e070b37f41e4b2a1ce97edde9a16118ee24c017642b5c1faf1bf485c14fdc9f23c5ccfa4a4bdc9f8f8d9c88b483ac4ac39df8285dbc5f93d2f20aee732835f973abb8489bdd28a535f6c1136923b8f2efd150884ea17319a2fce080d978112745290991d421091016be39d250943c3d9fe88a617e1b7f7c780da440bdeb11c407d0802ae9cfeddb434070cc0e2c8538e875dfea848a906a74eb92c35e0d361a9753edc23a86d213f264c76d2c22308a9beafb2741b4aba60b6848eb32f23f787da3022090790f2d211a00991edd7754d8394e0848eb02e5d0aaf9e033d82ec746d94bd72dcf94d21659ae768268432fb7c3653e081a3dca54412fb8c8bb8a5b90457da63d87f0b3d34216bb9bbdaa4efa4b2fdc92aed6e18ea1d7167c9a54c068cce12228f07afe21bc12026d57c9f2154177b6fa0563e42ccf6b0f03e9601f12893eaf3e0aeeaf66bfd08ef4fe35a6efbdd2901b1f7e26a50d577d246376b8dd9a696e667395fd12397cedb7167253c44a55ad302ee1cd955392658f925506a6330fab37a15ece4c21065b60eb453ddba739e18438c00dd0f54917f581b2b32e0038f552a66010fb9ea10aba9e0f7a15e099039069532fc829ba282e9b953f19ad1730bddc743e82e7374741d7c9dc38d947f9993f19932ad94ff218251af54e45658b0d8c5819ccefb5ad47e91d8b64c5849ebec03dbde186c8669445164908aa145c7bf035e466f6c6cfecc18274b36adc105cc8204bdd77780f8343dd3aed920f4bbcfa0cabdb4398b223214425798d97c44f53613c5754f285f2b10cbec34f12af711079fb88cd79457e7545c86a46e94bd4fa5a76fdb323a9416d89324493f792a96278bc121e0e7183a89af427c746d30e0e2fc45141da1e8d6d30c3ee0628a2a272dfb687e6c055b8610d226b2d54aedfc3570dc6077b47dbb679e88700f8fc2a2a9b86a5ae495ec2ac2ca2bf9d608934b21043b32fb63d48ce06d2090b7f1cecfb296922a31b63fe11692c09854e1a41654caf87624c7af473271f9f0c051d1005028b2d1a92d60f125aa3c38dee4c385c691bd0f2165b6df6a5365c2385b68c51529d18b66a4c0f945f5f282f37424bb8a453944e2cfe5ff0049e2e6b0006e45a07defc8ba413d393321bc4c58a2be2754708dc17a1d374d43d6276ab245a3a42ee3fa3bcc1b735edc37c86e7a18ff6e012e3170d821dc1228751039485873d2bdb1be9f3ceb1917447bdb8aa07c3beae88ede3b1a1e4225875b12d473cf88538a41efc3cb1061d9e74263ae1ea52d1e93d5fad350c785e54bd44d8f2d786cef38a0b00c854b2a465c64d9b7a2c460e9133426f92aab930b11bb03ea751cbabcda350618c74950c19450c9e9f98961cc033db4759038e0a53a500162b603e558ec39df23390ab698a8dc0d026f18c705ef0c22f4aaefa2336773d778b40ebcdb3bed3513eaba248714a119e122fdfcfe6d034800a3f44450747a058978b01cc8e71db1f7f106115c31670ac7355ef2fb7f48f85e8bd7598247867a124f2ebdc3cbfb03bfac498b2da9fba4cc34f401b4245546d4464ee7a5e09739f4fd579211299438cc230f3245da4cb2e85cc839b38f0878e299f5daf57d5efc4adc8a9ad3e380fcd8be4c0eb21484d2f30b8c792e189162c7d686e1e6aea90ac3f576b80baae4df00f2aaaf7ebed94f3a4e07ea71ee0901ead8a1c06f69250fdeaa1cf1bc6309dfe51cd97ee7eedab8259d090cb85e7fd0b1ca8795b8012eab6e70978303d33164df16bdcb5eccc7e5f025e6b23678b9434e0272224d663131ae309ce22764a10d58c9ce60fd4ac717492dec25e3f908bbfc7916706a889a7e9138589db9ed3a62f87d1c5b58c8ff813eb9aafde4dde619f77aca0fc77bfbdd6344a5d95cf4accc009cad03cd30dd3b08fd8706615d2ac7e9678ebcb57d0ccff541803391c786b898d3f5f8409405f19af1ca5258c5572d4a22c20bb7c6640e9d047a255b2576aa5e09f3bc45ef8777bba993069ff5878cf529f60a26fbbeda475176188621b85d99495207e4e1396efc93f2b4549edbf4779783478b79d34fa9b88d018f783ab45ffda84c3ace32acf11d9c6359f4a74592c3434172d6612d6afd4911ad826dcf0b5ea2e452ccbf07e635ab0c8423ffcd875b143df2db28553f5439131c92349e691757543dbe5f29dead893eeae4586f8f312a45c92c8b4252de6c71ab7eb7f8921b9161939f44174a8765c81ca88a8158900c65314621d29a2eac329a3291293489ab3fd123fd6701fc8134460b85fb001fb0330710ce80c92693739d6fd6f0f98c72caa327eb0731e76c03507283643b0d4e5bb1692db59070f9a054866c8ed543cda6249264dfe7551f470d988a4c3aeb5b365966f836c126feb0a5e348884a38cbbf2906b85f4ced48fb200b583059cae6801fd93c4cd455718ca63c28377b8f7d6a7a7236a98fcefcd94f9345a7e26435853f261df01a08628cd948bdf1dddc370134248a02067a5a21ef59e02d88e838c61b8f2e45e24e04c197c12dd8c29751afc6575e9f07f32fee7ad0c94a3f83728278d717c8f74aae8590d7cfcb57010f3fc56e0296378ba26388018386e7c579d4dbcf2a80bd7bb3319dca2a504712d6b51e32755b28857f58858fb5f48345949c6a9f688a9dada5243ff0d9fcd2894036707bbc6f5f75506acf718662f46cd8eeafd1e27079db457547ac85125a7be7e425b64ddf1fec6a83820e6b866c6f8ded34bc6a1ea59d47e67de5051fc6a8e7be394ebf1fadedda14dbf94f05f2a18d21af1b225721b34a14981770dfa433f96abcfa58d3dd1a4a520fce989d3301f107f9641368a141aa7e267bca863dcd752519d201b5ec984838f5c7919af16b59a50862d9659276d4835722e1a5b5a206c464cf2cd1a15f86448a57e31a0d10cbbea184db1e0c2929cf86018131303e7d66980939984b3f2589fe0dafdd75ad39aa2539b656ebdeaa3ba950e7ace79ecb048528f70037cef070cce328a9a573bdc60eaa742ce4c0035dfb727169e54d4a9f24efe30771e96f30425adf8f3a6d2e7a053e11f89f792b36141944063402064c1ad552b65150e0ebb9ed4540900dfeff224aba425dd1d3dc52288e5b3aeb92197232c5ad00678bb274d1b51035abd45b1586ac64e38e94ec1fb671a8a06595d12828c051c81cb81df70e1f5e1460f4f4e58685101386de89b6c36e8319a02f10747fc110df6a5ae7692478305f3794e608dc40a41f3eec17ed5baf96c6e0ed29fa665142da34fd2c0923998637d512c714171455668521912b5f7901ca4e36874912afab6f0a9915824b502d9636438c1f54e51ed2a2a8593d90327856d5ed8d4616337613c9ca240892ab3e699ad4b61b2cecc3ee964c1b90b8138df37ef979599125fd67bb8ac455e037487f52da9398e4060b2c40ef1b74f054b027658d187e322bffbba56796a6e087c6b829534d8c0b3db440d3565698b70623d8c599ee395fb3acb3f2f0114754a5e904d10b9f41f41ec91e6631ca0abd664935e3cfa0e2378cd7b399fb4a7a4bd4da1faa09f65f5c35842f7edcbe051fa87cffce7f7d3c1d133bcddc9038c7926387c4f128406cc886feffca88e1345a14ac856d0c527b9bdc46747086c35435a3240f4df344892696088d8de2643b8f655e8ce6c14bf7a5b9c3f6461a7131116adeb5747eb87f7feae51800254d955276177e2103a96358b77bc33947e4e220ee060ab1309d2fdf8b8198cb35061c6501b9843c0bb5b0a14a209cc48b1f6b5703ad20c9809eca9105f960e4d33996dd23c910086117ae9b6369e3ebd42569d0743f289ecc6bcbd93c090a6ffb95cb86d45030b4a68fa36643b33b237fdccac3db2bbb0f99769653ef8fbbbd2c83e14e192fee70f78aadb0575e80655a94a85f342c3cd2bebfac7320c782f83bcb381e813f98e1c7847d7a8446db43f0fbffd2faf91fca64ea1077486297f1a96e0e65d1d6b9624cde7451692db3c89198bf01892e021a7061af7e5c29d6a5fba636e9527b2707b5c664757ab3ef7d9810968c357fc9b5cc84466e3d3a7190bf0198c4be8d80feed89624bbdd6ed1f2c21fecc552d460d64ce9a8a22a232843a8b8812bd7ca4dbd5602d49a3f057524ffd8ffc79986bc0cb0ab65dacfedb3b54bc3939c03fc017654f4c0bcfc0ee415713f89cba30a171d1782ca30bad3868fc67b4e84b3a1c11f52327e404824bb6e413568c30effd0fe7f9278e0b0d80c538e68d41ded16febe2d468c7c80b51d109e4e6d6d620aa21fbab2f08ac792601b5e9cdae7dfe353d7a5484245125f11479efd09db556b9cd3568bd3ecbe039490b99a06f28c86928156e789bae245339174ded3f5cd2fab6268c35576594c902b88095e1d471e60e47a155382a60f46c202fe5af2aba3b2612d4296ce2158606fa91caa5271c23fc01ce9a97d32e0b9b94e3bc16c3f1704d450a057cd874809260af7f1a6e1d1022e82ce30cee4591ddc0366377f792de04dfb0f92d9a86eb3c8fc4b38d6581591b9265dd84527eef2caf6ef0e5ab621b9147688d4272783a33867af0b5f5c8d5ee72ca7a9d612895778a8dea5e044be4d64cb6a86e20a567c35b1c9e4768399b878b2f763960ecb3e95f3fadea76e44a15135512fec466b6d760137aa550bf39f19c6744b8d7b4542fe3601c3439f7d3f19dff5612710602121631c8258f8e3716c8a83668c875f1af3e853e88c693cc7e4509ecb8a7af85e1813f47d19ed96c376b25cf948f46823aa67e4042b63dd5f196c39d73b72dafbdf448e13502127b02f24ab027a5451bed03c20b1caea8bd2aee82bb39025065d9683e3c6bb6f9c514983cb6d1d408765250c1455a59cc377839a295c5d443738bf8e96a6e060e2401595282a80dc8dc83d89eaffb18d9944e9fa701654dbf31396ae30b997f02efee7c16d38463a62f3e90013b13f1afca465b2f63d02e388a37377c96633cd71b89b4eca9d18746e685b5e4f9e71a00af0f989374c35c842912cee2f16b0cf8a7a4c7145ff354d5e44904773289e48de4bb82fdaf6d3e416c960c969a061e61c28285fee2981304e618b75cf354152d5802e376f50145591efc5535645954ab56306948b7409ea8d4cac3dd41e5fa54a55facd9ebdf6d3aa8efbbe1788729269f9ff0ef422de9d24a34050d1f18cea06b3417e42dae589a66224829d166d10153630f025805572fcac9479f68f594112e71432981dbf07b4a02ad09cda99c5fe2d962d5698ae0c41112c1019ab123cb5142cc8e8398ffb141144382f845ad82ec8f211359d50b76418895ad8b0d42b25e010cc5027a34a2715a30d0594a0725637c844c848a899605dfbb5f5933d33d167b35d7fe441c4508ba799b92fdca26809ee96a95771bb5dfc5c1f0c51d7bdee772410127f9e621cf919068342f77525fed15ad4fd0a3d92609d97b932da54c294929033a078707c2066ce4b0b0ba3076c48f0afcd0c189940e4b4d288993030e0218a3820b6ae23071c31a150c59824d1215dbb236033af0f0c35412536360189a70ee5c432506a82a6166b841722445cae98c15258220752dac4152f302d7e0d37d92e0898854932148da0419f237d7d91c056126165edb8242ba9ffd8e3d81fac1512c65a28912ec040d120ce50834415c7a610c4d1632b4e3ede9737a13b62f8ca1b981ce39d1a8e0ce3993f85800344cd7f54068a4dcef6145d4e1408c4e0d4c2c49224a54126754c8cebcb0c4cdb4938711a619c469f323083843d38d99379b99a915dca049723ffbcca6bddbd10841625ddd7d8689db4943dddddd2de9d8d585b1336b7abb3076e6e98c1839da07a5bd231f54e053212a2a822fbd0ddcf83ea45194226855ba9010c6682463d4427b053369802811115205ce50478da93344f683524a2916adce592636cbf840a77f3c13e6cc953336dcef61cee58d1ba524cc440171f3c234c08e3a46380c31024d4c0739584cc0c68c0f9999206270f382ec8710332c5091c981489d1a2a123725c8dcbdc5450c9d1e8248011131ac313384339304899b326f56667eb8792032526888dd804e1926323dd4816066a005851f6c40049818865ccdf53262ae97a9010b6e5a17c6c828216344065157be8463bf58e5ca2a55905868befc2f2add38c49d4f8e4982383d9f1c3ca77c0d07fc3282e66221fefe38d49de520f9ecf9e4e0f90c87e09016379e81c30171884a8ed8e6062d4743fefd3d7ccce7f7f67c4c0fca047cd1ca8d4f021fec1df11835498e86e6cf2af2159ffba7e7e38038e493a3e5b37ce9c9a80b03e0a38da2ec982687e06bac2a373ef4979f832509fca5e783a3dfe5ef8323d69e7b9683e0171805a520147ce2f7c08e1cfdfe39f8fd71f8436e470e9f1cfef3a747827ef77c70f8cf371a824375078eaa74e353ef0170080902fd3e38a2dcf83d8c86986e7c1f4390db9143fef420073d002e45a0471f799583e2cb70ee230dca28a02886f015e74e952f0fe4ab255f3ef461cc8dd3edf7a19e08f2d287b1246277fe0be9225ef921481730f67474e567808714e298115257c2b8d838f4c12f37481f29dd0f3e05e19460ec89e97e70cd8d1fe87437b0247537b028c9d7575b481710ea8616e801c50e8affb3907bf647bee6ce8d2c59e01f31330c4211b28412983e670e8e04a4adcbb6acf5e0864602626d8bd5c2fdecb31a49031f15b21869818719d000412386862a460541e69c73820005893545887132830c43f38c98165c0c9323615c8c113161ea1823d635c60422d2babcc5c43102c68d10ae4c3711627a30410c1620282e8c8901e2f68531315ae8204905094097cb650113033060aa0c0103800b63609680410221e4e0cfe02f51608e92d0a0d4fa1b87ebc1862ce46b906326b2306604978630208c165c977cc52e421142c99e06391bac0f343f840c61fc00be2623023a2f456a703082ced411273f0c3919180ce1c4dc0a15d3a07421a757ebfc0967f488e633cf9721bb2a5f95d239ddbb99e5fcd81fbfd7d97db1ca4e3ee4a8b7835e22f9ddc74f82d195fd4298a8304168e08198a32a06294c7761ec8b0bbed8e085c997a3226c28c2ca53f6f25fb2e518ab7a78551f9faae8ab9e9b9131c028ab41d4cf4f8964e4fa694734b3af5e489bb3c86dc4b0105e605ec67c1042086140ae310d7c4a29a50d6911dd00fc7289e8d72ff0cb8bd5c3f700d602c2d01e48a865593d3b0fdff2a0f8130f3de8416da783c2f32750d8d6cb7f59977cd197df73a26b752f83e8abba977cf574f0eefcb310cfcecb2a83e8ef7456bee8db0e265ff4595d0bf9a2bfea16205ff4b96e04f9a2f4b50e0764411fb2d00b1944635155adfb140d027d30ea7daf6bef8a7b2df6b9baea5e1c24bfb2d0eab997f4374a5fa3bfea2007d12a5fb4dee87dadcf7695346810c80709bd0f12608e8557aedc62b3d7c1635e5c7e8b0b5ea9215c29d4624a9e9227cf27f8e4c1e46bbefd62922bbd9607855f867419149b409cf7c1be781ff7b108763700bb44dbabbecdfb60777b0abb0fa8a7f5f0bfd6e5f99d5617827cc9efe95ac8201ecfee74cf41f159402e8e7bcb423b6f5ffe8ef76d4fbfbfdcafbacf5ecedbba0fc7cd3a5b3dead5c9d2071bb1b861d0629492b9dbbb199f7233640f16ca2b167a73f595706760e1fb0a564e6eacb5cab3b9d52a5fb0ff73e7f71bfc44ee55f982d0ab174248575f09b7195e78a10a0e4ca371aa802cbc7bf4bb68f64dc6e4f7432900b443ff64d6f13cf88cfe1ff9825f572ec8027e076c103cda3f4a29edd97d3c584b216e551681de37c285df9dfcc1c68730c6c0832c367effc7ccdcafcfa5694656a4161b9f8be095db2d271b3fd6cf3bc016af722103c28800eb8507927bfad0b72e5e99fd10f6b39aca83a9360974552f391b22e822a58bd22d827161807c39ddc8b21c14555dbcab172f64444ec5422d19c4cfdf82dc77b1df8b0b7bc14241a8642fe487eaf32f40baf846f8d9bcef2f6b23c0bb79452faeea99b3d1e307156460ba45f0cb5575fc0aafbc90aff8113a39cf1c62ecfaf7ba2e2934c226855e70903f16db1fcc6ae28410c2081b0a86e4fa797970c6c2a62051eee70ab274bfeafa7979e0238f86b2afd3f3da0541aa4359e6d5efce5f06d70edc49e944c0859c0d88e6420f8acffc1e30361482fe1078bb6896de03e090fff440bc3fdf077a38fca7273d070d0235015932610aa3b1b0098854139028573ebc4d40a29a4cb0e14208c8a321ea94a150af5f0697707d127d802ffc9e0b391b04b8d083128276d12c796a4ac6801e88174e4d0df54308219743012cbb8d288301dbffd5a61f5c6acd8006a590108473cee910b0433da77b50fa6548c97c464868fe7ce66ec41fdd677467f8d4874190ea907ff6dd21d5a17ed87d3e20208f86fcb34ec88ba1fe405ffa3e35e2934b3df63e1f3ed5c3d10f2f04ec907fb57a3b5846331ec5a30bbf3bc8419d0682a491ec8e419495819b2c3c1736fd60ba3bdcef61523408f4b1127c2262ae316a314a6e6f7796d1dddddddd65b74f5abb5696b1d6deba27ad59d7ce54dad6dbc6326e5bcd542a4ddb366ecbaa572b9671b5dab8156bdbba57cd62d91d9ee6e161197978e8486d71da32e6cb16a72d59dc67af58ac3557be85baf245d879baf279c6c8178ffc225ff2dddddddddddddd6edd7d21344f4f8b67eb6e9d4091c2d52e17cbe86a6ddd2852b854b854acf0f9e99f1f96f167c58aad7d7e7eb6e6a083eea00396b183159acfcf941f2b573e071c8d78e56b1c4cb9f23be860ebee934c573e00e494ef7f96f165942b9f0e1d992491e8c8233a524e5bc67cd9e2b4254b9c12a34426f149641297249d2b9fa5788daf81502148b8258410b4282573b7cf9e93659cdf795e00020004b4b50006d0031800cb38801d9e9e9e56ebc40914293a450a9631455df9d4c82e7f0c0009973f4ae66ef7499b529691d2f63929ad3553b54ac532aa54b466994aa5691bd71cc732729c4adb368e5bad58b6ad6519ade5562c96b53b3b3c3dddd3c332f6f4f0cec63c3c1bf7f46cdc6a6d7c0245a340c132a2407162ebaebbcfb6cbb5b50a4dc5d62b7cdac78765f4f1e9967602058a8dbb141c8d78b5141b772e8e866be34e0547235eb8a257ac601957acc8563e3554975f5ef65c75e553a35efe7ad9fb3c70f9c75cf98c8485dc65ef935fae44ba92952ed0840634a0010ac44c3141cceac2a61f4d9a7e2809232311962f6cfab102172b2f6cfa91424441a99b7ea0006bfa41a404edc56e17361d35c15dacea8d67ffcc11b62edb72d55962cb42ff168825f9af077a6591cf42b1e92876e714a2e56a42898bb0f6c2a623a67b14a57b8a862919eef730ea53481f38419c3332089122454d0a534a734a09129ad149e9c3a694524a291d26a753c55dd5d9ac6b514ae9919edd7376ec523a3d00e97e20b585a803c541904e16a73383234304b1238a09175c48a294431ca5245188170f586e680118364970220a43a4e0e40434e78a0940ccd1810810736298b36406f66aac09ef9c93b5d839a36410bc1913523208da3be768ce91249681a4c10fb01f80582efae1957f6db1aa0b6372a2ae900c39501c04ab14941499fb3d8c7dd824cbf890ebf8912313e749eaca95b184d495bf001cd2058cc539ba523eebe076a197df8cc5ceb800f9e2c17eff929f9b8198072b5f36934395aa3ebf0c595559553d0946b73ee444805e8ba5337324c1a85fa5a273ba7733cbfaf1f3a72a95eaebcb6055d7fd90cbbc1df412f5bb3f09469ee441ab2c35d9dd6097c61d51db7ee7f865e753c35fbef4bee811c9f761afc667748d6ee46674e5cea786fcf8f18d2e7737a4c6b223e2af44fdccf2b9d551d659020c92257a48b2840a922c91c21241e84c257c4d97e138060e17a41ce0380569efe7c2181c1be048e11a447b7777c38972bb73b0f07ef6c25982a3743ffb5d60301d602e17bbc005f905f6b3d6a5c4d39b251806eeee5ee5cdd39b315a6038b80ad0454a112e1c8070801521c449c89b2c5edef400e44d5390373000c236b02e8cbd49c19b282c007ab37461970b6349c424bf8f8c42f5fd3d78b100e922d69f0fe8fa7f30d57f21b860162b8364900c62e8c432b2b9b035288d9c90e1a1cb9125bc3451128b44a9a96f8618c930049a2946a8ec60429348246a4c2d33c40d0adc9c806b98744e3a23d29d6b968440373378e0e446063741aeeac2581413f7b34f856168fa710314149e04a183953804093a485ce025746e688195a5225d8c8023644d13146060373c9c20e5e509101aea9cf0c4c485a94211161aa2c228bdc0e649902a2830895305196990180c6e98219626064090c0b26449bb10e70b115245c4dc209a90041217229518240d20ca407923c4098e20137fac01420666c22ec0d80520134020bac02007ea055141ccc4239e414d0b6a56e0178c600015468b0b9a7c388a32d4536a545093f4a565d3c489a5b9011473058d0c4e20a7899713ea20c9a2b0b0d0d6655bd6364105aa0659c09c2193a589a815b090860b1238e0f4d00448102bb0c199384a98fc54818096216c723043430a94d08942a2e2c2581a273794b841881f6a90c8d9614e5491344a34a421728234404a60e9c4b0840c47441d51c41141c4c901872372385204529292105d5ae88284093234b54832c288911aa060b0d2664b0b8e406106372e88c1094c8eac000926a6dcd906054dfc5f0ff42f02162b3d6029228b1263e4b441d2a605161cc63143e50a982e3bcc5067684ab189ca02d7794c202ce5fed5e37d2f188ff7c15eec78df8bfbd96b592bef73e16021cedb5c2ecd5aafd6ecebfbdfc99ab7bd8e4a6d44d96de0c4b402d314a620a66c311452b118138b25241fca7776f9dc8c961d9710f0a33fce1963ece69c3e3dae3ee79c2f38b8f2e245ddac11d54980d4b1db0dfbdb93453256ad75ca408492b1309b75ba50f7934e500ee021ea71150ee2ef80081bff934e9f7492315eb2e54c95b1cb4c500a614018d9e654bb204260431522c03f487d213fa452f99810015e3f669ecf6894007fc9cde81e3d29f5de7c44236f96f37acb9b56a117ad8330c8ddddb94a4e63bdd6d963d612eadcac8c8293766c765daaa2947a5f9d5353653a64b0e69bfbd39e4de97cf953bedc8340fca6a312f7df8bdb07b81d74bbbbad02be0bc2a02f2384329b7509450000f773ddcda5795005bf30f58a88d8f81ffcd290cdec1062b74982a289274e59962a0762dc7d52fa1aa5947e2de9d3dde58472ef1d60ffd22ccc8bd67530c8dfdd3de8badfe93d64e1dd75879d90d245ca0660553611e769698a2eaa6cea783a9dbacf39613c656986914fb07d7c895190621408c563941b4428777eacc21315abc42a31ca4c5a628a51e4530ad449b6b8eec1f5d6dd1e480ad90c5e1102c642fc96573076b954f08357fa23d0adf3e3abbee46afc9d3d1a5e610de1c1060dafdcf69c3ace921f2eaabd1f178c317eaddb5f8d10421935effcabde7dbd8290857c19124648b3085b368090c512c1af7b2f342fef2965cbe76c4e2ca57429a5f4fa91ab117fb8fd954237c1639c3e7b3acf260ecb405556b5df8a5e67b6ee61d0eb7a676190bfaaf3cf6a673b608b5e2ab69c61c1065ed68d5cb2952d2a044e93a9c9649a4c339829a8d7bd19e300cc8ccdd8648a4f9ca24ca62deaa96eb5dff533dff59b75a7524a6fdbc173ceda7d5eb5f6e7cb665d56f273d0838dffbd7801f453c50d19a0a713b86d79cb3a7477a1acaffb16eb9ef9437ffab1b63fbcddeeed4e5fed2d79b40d054c4d4df5edeb4a7af5a49f6e45c17e310bf7801e02c29a9a9a9a1aa20fb91c3e44bd1e3e6217c972b9b19d6e7c39e4c986fd310a0bd16fafa89f6eb716db5f43d5a5d865baf3bf86ba9cc5961c2087a8a78242c2c6ffb2d8952b0859f8cba1c874bf2cd6dd5e513f452f5a8ef4d35d3df116dc7330d6bd218b39274376d3ace86addf9f261eb4ed9f3465f9fe1a2cf41dcb2018c83f8f9a7e7922fd80a76834c6cbcee3564d1fdea8fddc36dcbd542c0922d675ab79d4add989c9438555ba7f39c535e370b87702f72719deede847bb39c5806eefc2e72dd395bb7b7dbed22632775ef55c7c6ff5e2f5701ba48e9e2ea15304777f7e89e952e97cbab753959f641a51f52a296639bce1aed6dcd5526d6b6a4946d8632d58dc94949cb2d4e45f0969eeb1e3f1d3df5fdf8c9c985179871ba4d9996383d3d79e1899327639c684c298e98989ee84064cd13a72db4b250f610c67cf73e1e7e294563a90d79a7e7822c5c050cf2cf3a085dfdd04ba8d369072ffdc8c36d0060babb6414b4309de70a7c4b9cdc0c21fa4e414c23cacd75bbe7c7e8c16e07cf90deecc162a37ccdb906d4b9c12e52ba48e9edb67c750d4f97b9c7970a83ed228e72e57785451ce5f6c36a84edefca50eefc6f87bbee7115c8827f87a90a57815da3dca0f426cad30a73465d7e6dd32627dd66a5dbbe835ef79050b0279c6ecfae8899aa7c556bbfd6e57ee9e47d3545103436cfae20c01cdbbaec742527028aebde54922f7e0030b1f12597fb71ecf26f967d4eaf88996ea7c00615aa4f8d0d30d3ed19d535f4092e832622319ffc73bed1d57cf30e5eae0171ea466f8b1fc86f8ea7ac8c3134ba55df78cab64318f57d3e651b23f86af4259aeff5b56c8b5c8dbef5b923afdcbd1d7c2b9d1fb91af3f98b9659005db8941ddb454328634808258430e457086547c90410ff6e22c27459fd5a47ae06fcd81f3767c3f99f88bd8630e0e52895c8406b0002c7c99d49d6b6863c61294b2f6c1ab2a469c80a4294681232e7b22e6c12b26649489129dbb2f6064dded850860d9716c4b014678a3302091733ac40490a5f92acb4a0851b686c8a84a91a97a6139a82701c213223706ebc80d426ca062964411395c466d3093e1861384d42aa5cd5854d4250109510b242129ca525debc79c3c6aeb1f1bb52c8cc691cfec7ccdc9045b7207cf63ee6d6e59e4bc41d5bcc7c441b49b787d6e545f8b14de40a3324478c60126bb0c3080a4880bcc0872a3160a129489523466430c61861173e45a558947ce2e493565aa3522c4a3e699f747eb00b9fa2522caa7dfa07fbe053548ab5370c3e45a566187c922f3f18271159b0662b9f1a1f09573af11164519d200cf6c8ccccdc2ca4234b28086133548410425fa1a0cde8b1238490a1e4d7fd1f739b6f4bf27d5c97eedba6e42eb7a42ddb92eefcbaad9e3ea534d2494ba0aea25cc2e69df4be667e79c4428cd4727ff70d894ab9256d4957f55cf7c5cbbde568f0b078543ddf623fd15af13c47f96d074ff012b77a3c8e3cde56443543b559b95a56b32c93be713f571debb7cebed6a99eebb28854020b31924bba9017fad39097c5482cc44b5feddfe96295d2e3b8cafdb75d4d6e9b7f3c28a5aa8f9e2ae3a8b7f9731c45e9f6f312f312fd49e9e57ef55f44ba2acefb2295ba96d5b57c71dec7835efa2bef8b48776e1b7dcddb8aa866a8b6a49b514ae956247e30fb098a2956b492747fe84339e79c44729bd3e726e5df4c9bd3fb62d2acafc519bfa2ad5d17c2d8d1872ca31e3222c9a5fbf190b523dadec76dadd62aeb6f568b71c77a9fbcdbef789f8c4997e57db54a597ffbaf68db62f5d960aa1823d294327b4a59f23756f6b6adc6d160bd6a7a5fb3bc5824cbb268e56a75db3a786bad9bf46291aeb52e7b191c67919fa22d6bbaf29e7b285d6c2fbb89faebd358a4b3f7ff2d16e99b45d5d3a24de5c5225996c5a43b6391d6d8ba894b2a09b53d7c588d31467f1e9288a58ab1d6a8f2885afed6f5952e56539350d763753dab6ef7a3ea65a77ac8423a2cabbded65f7d96bd4a3cafeeabd5462eb88e8fbb82d57b5f6f61d63c8df3eb966ab2b8f687bda13b7d68d1eef93977ecbfba484ba71c7fb6ab5d6d55edd9eb6b441bd193f882f3d19b2a30e1e2d6b400df9fdfdb1638cae0498633f0955dfff935077721c8df8ed11f5b37ee36e6c337e30776ceffc675fa58399c793dec7c36becb71937632e5d6debe0eddebabb867659de8c1fc40f2a4743beeabdeb55375fd5cd18c36171fec7c3e75787cc746ecf3d845a854dd4bf3dfdef2ff5befa90bbb179337ec0719e0ffdf9ceefca54f5fd5710608e6a7bed391aaa27dabc2f52d5f6bc6dcf5bbd3e630c95f7653f1f42f9eceebf747a337ee05e37f3c4160b22f315ed39c9d5585febe703bad10527e943f9dcc9d7b22ccb885835cb34cde763ad20c418d9c78f8774ef9397f52aef9357e3243ab678599fbb977944dab3deff847bd4a8878feb0f61fed1e3e727ce0e8b31f8a9cfe8ac82d6ff581fbd8f93dcf992d9e321af16ff6379ae2df04a0837b6b8d13ffbe2273d1d2c045d2a145f573420bef6de7d3e5ee6f9b09efefcd5ef7c4f0d7e7ff787b018c33fbafbe7c3492e7d29e3bb47e420c40f688bc73ac7e7c0c7fbd9381afc44d1e735eec676f975b0d0e6590ebcafc50ffbfba8ae5c4df3e9ae75deb9b340881fc068cc5fd171afa2a32f83394a5fbd0b85f7b96480106364275adee7eaf13e178f67bdac6aaad732ad7a44feac57d5d7e406420bb757ae43b8e5bac7eca747e499cb06217e907d3ca44f7d2aa48383fa5dae06c1bdc5a5bf4263fda6a9b4d7c17a160f6f2141883134ef23c1038152ca496e74777707a157c41429683a82d474c4a9e9c8525312545352ac29494a8e33f3cb9d99192ac102c08517721d70f0e3b342852b058a13ad1e9e1dcb5a719ba6ca2a9dde2c638c913d0883e2c3d8f9884652ca321a842eba19c690321ac54863fa9cf37bd249270f799b4d0dece70292b65afebad92772e7469628f97a7fcddbbbbba7fbf4d8505a7f51c69f5b0f351221a7ffb773798cc418a5160dc618638cd1cea059567fcea7749bdfdc0cca74ba07270ccdcd90efb6e5d2010614c4ea06b574bbde66c1f652acd67eaeba6486952447e1207e8d068ec2517849363d71e2a519abb2e4876bd3a472e0c5c90f87c49624531c9fa3075dc0a44eddacd310b55258bb5ae962e9fed7dd7974b7752d4c7b8c10079f3c6bf4f3cfee86bb4b6fc79c73c6183dc658e76c38fd8ac3ae7305d6f7bacfea561dd741f68755c97260ec056bbc8271d0103260903fccb90d06833e6b164db61cee57ffbdae7faaeb99ca4b17a43e900e1c1d1d1d0dd9d758dd0918e4bfea5c0013e03af71344f6ceb9ad3e40af86e2bb3e35e89d4feffce66ad8abbad313c1ed862c46301bc6ae82931f2ecddc56707a7af2c213274fc638d19850d461627ae2d4c2c6a88f5d7f50ea469752ba7cafb573afced8117edb855235b0fd5de19a3bffdb4ae0a0231ea0d4b7dd0f4a791194aa574a900294ba511e86c9a433b9cb842c903ea5c769614a65a2100604e17a01ae7f7ffdf3aeffd7a95cd88030227431827c65198223920de8221a812f7e1767eb9c30c8085f24e902c257fd3eca1515953888bfd6a8a4e472412d2a695169072318f4e6759085bf5781db1f2d70230cf20c04b76bd43b5ff308e52af32064e1d59b59564caab8a9599828d7212ed8f3dfebbe089b40a8a4cc785539ea1499480800800073160000200c0c87c302e1781847ca3e14800b6e9e4a6644170c6391400ea4308a612008a220c418600c30c610641493c66e048a9983ad3d7173a31133388114540dadfa1da53421992f41e193aa0199ae18df10f23486b21d25701af16c81c800a042f1defe0cfdecbd447623a19300e581b6de0c7f378ee00dad8bb9be025ef568e82643e6f902b310c81a853386ec091fdac1f2c328500562cf5bd0b8bfec2a55517f841a3ee63629bc0831a146eca4f75462cb06f21ba497b7194a1357eb3434d5c2de5ff0e83bacd3584469d68e09bb701911c944e2a35a981116a716bff087ec04fe91df3cfb8f39e7ac2d8d9bea8d48cd342a7fc8dc813167984df9d07e30149ad76ec85f76166ddf59bcaf71547fad67de2eb87067f7a1015dac3ff0bcc1030ae82ab8be262b56d0d9ac212858696c8346e9d01e1bacebf93c2f8e0510e3a891abf303e79a4ddb477c55f02e831573ff2c2da09e9c2ed11a9e1e3f2da269f4551715b2f01b26265fb4f3f81ae1ed8f194b4e5a90dbd878d4bc6bfff36c3b194f388b20d376380aea9945eaddc2792d9671393a4997a7cf22bb9d8a6bb74363e9a982151e0b46838e7dd78c8ee98c93e4b16dbb67d32d587177b09c0f7d518638bb63316f86068210f32d184614044066a783cff03e34a0778965d78dc2395c2946633b01eb57be8051fd1d567a05c645f30bd16a969b344fc15b51250e3a5167bbe75b1118b41dc75b187b9b17ee20237d6db1e14d82ce504d4574a64e7d9f611e323ce772357e1c5212138d5f9572f9a3c20c999634205488c3f03632180457523cc729a8056441fa0296bae1e5520533397440c6340883843f3f2aa4ebe009c401ef4dc1b8718093c5ec9e11572386f1015105d5e0e1203c4828d0399cbee8cfad139b01200f3d7384fe755864443d9c18885311662eb0784d13e21d1f81548a0b91dbb6ed5e79bfcd01429da981469d2d0a5e6d58340e4c717a52d078f2ac8474abdd68c22110200a67befc3f81c3fe544a0561723050534a8582071def9e32e1f5266f28330a1045ff37b67d8b85a0ff0e63f84b213760bc0b8bf3514f639e28c9d81b93ea539d600d4b27e00211e08fd6d78d97ee01114fcf61a99228900d501657af80a463e4955c350edf4d5a4013c701156983267f7b43192f02334510cf47b0840833677b448c7faa14b10929ada2758c2af3e0fbcbd82d48b5d72911aff9ad81b70a2ab92729fa6a6a3d9b91a107dde946929c9565203127982570b52d77e10159d08fa5ddbf665ec4950afcbd1b3991a886d52e62b7d9b0781f16d3801deacd8a5d1606496e3a30a8811998c16e6381f6cd0b337871c687e8183f5ec76ba4cf6b6e345ec6ecdf3513cfd6a80adca627c6e674dfbfee37f938147078ce812008672448235859967ee841148d08f46ca1a93551182da47c76a4cbe2a3446adaa8865c4622e20e3e6a3ae8365191ee514278a4c7e8f62a247e0ae991a5016f847c500b4775f9c6297857c48068fdf58734ae29ee8c04e546c30a942352d8878fad103d68befa3729282cf81eeb2bacf6206b0ac70aa112b1d5a0c90b08b9254f722b9136ac30ece8d782093263c6943bbb557783f83fe768ab8341b0dd9702d53d619d211b2caa9b95ded970a3578e3da0d14c31b59f3b64932baec825e6d814adcc2e7ade3df233216c18b1c634dc8ce9e182a9c366af1665ee4ae35f95736de39c171e7f0570ce9a145376f5386504b343e537ab641ae5ad438c994859e7c0b24ca86490115e204f9c0a6e460eb9313fd7e460f9f91b3136294fc8d32d1e5d1d8d6b17be1a4e3871960de631460ecca18fa02704a2680361790863751a2d17f4a39aae60a2225859e5b6b212e704d02d453bec8af3d2e0d1c6b8233d5ea077c2ab888aa86a94ba89f6dd6a0f8cd7977035e411c961980b8236f8f64011046a3694fd2a866da359c343b4947a6f31e02b7d0ead03ce6433e55a2789a9573406e8ba26ad32e720666d8ac8cbea93fab213db866c590dc195974ef80971c0dc2c27b22fc907c8883738720c1c97e2e2026a700849ffeb768906834079d47d2d358a6b278e859c0c71f189769dbbfc30afb08a7e79fac1a5beb8f69466b236d1c83aeb92686708423c10b7029c76a6bc40e4184077fb7a12bf4b90935d87fefcc49030a17961803ef8ec115ca6f2f93bac8727967356446a9a4cf8a24b212728ec742e991a30c99f4571cb790c67a12a64e1518f2319d463e9095f3ad56d7f91d342e77eef3559fed592d2e1f8cfed2de89f41b33de3fb65b9410f98060c6ae3dd30083cdaa93eb2fcbe08c7841337de8f3ffb9131905763576b5ea6d3cb55de530f77df96a523912d91e990c6739e63fbf3a5e94cbd4b0aac0bf6af4c2c5a9ecebebc387bc45b7c7ef04a3670bcb03c3f0b11601496a297e8438a87af3ff8872b44f7e74b3baeedbe8938faf58eff975559cb368089a8791a7502995a1721309c17eec921ccd88384dac80d6d4b4b19be4d43f76e7ad1c5e776bd2b2f75cb1b86605ad40605e322aa1e07cdc1b7fcb105dc253248c6c6678c70ae48fdc1bf38eec2b2f779dc85d8c55fe3c13bc7114a96bb40d5cfd9ea2fd4f5828b1e9887da3693b8719a5e2f60112b3176d26c5d15876004d192974b4a484cb2b2a1d87ab016b4de1888b861f33f97ce7e3e5d16eaeaba2d9a2174e16c1470d732484d6e2510617d5a46a966e594b18575d5381a5da83600fee4c67b7781b842c9e88235325d85e56414af363c35e7fc3c019420ee16f63652338814fb011c5da9ab50e4e88296edc4e3ee6ba17f6fb16aa40bc4c61cd3b9d6e3f373af8c291ad0a737b2481ca2512212cba0f0e577b085d302da61de546e3d39f40921f7234e98c74a0beaa151c9a35b672607dbd46360ff650aff34e3b41367277b996009bf2e937aab7081ae6ea21cbb0daa261de6c1180abd14d638aab5d7422a783043b4a52e0808c85345336a43755adc0241044bc9a9bc0d3302c29a861eb7d0f5d0abc7b0a4a0b9856ee1fa43282af04d3947cdee805d4751032b6d890b499f3cf714880c257436f95d99cf002744c6dfee5a30bb347cde1dbad5b52b5b8e7a680fe9bdb999ba1cf47d8c3a037bd00678d7fe94dc4b2cdc4abb156031f74e4c8749b5200b9b74e51ad2f9c7fc8eb526c89bd5862be734dc38562d34c016ce1f020b3fb7751e6f1560d25af0cdaf52e1f677485f97c8893585486a247d31d2d6e61d5f2d029085a3108d74ed155a567bc3429c1dd276e6c780ab66f9131a7a26532c5050afa07795266aa29bc5fe197611b425e00eae90fc0a04cb392acd76e80f2cdce07e96c362ce0cd0b3e8b0613bc3f985f3c0822b043732c969dff4e1c0c2a81fa98129e2cb23040bebd25b6ceb9b5b72b4cc834a6fefc7b158593e10a332ce2f14e8ceb4920f0693882ccfd715586f128e94b460b217a10e9901bb425756bf587b37745b5e1d715e1f394214a7c8dd095bc10cbff80b71a26b5f2bd86bda834ced1ac64b51f6441dc8c7f523966c85f26c05dda79fc1e5a6991f3fd1fd7b1c16e3ff2450f50365d411c64772636b315f70f201fb41245e2c76fe9c7a87b0e45d6e0468a8d521099e0496b8ae3f9c0bd39b907db26f82fdde0b2115ffaa5423ca0069cc53dcc90a6c231c1b82ce00490aac584b84c5655f4485d4fa8adcd4501ef003e885a72b0aaa31287b65760eae602d478368d62a1a3b1757bf44a1af2daf164fc3bc3a513809804014e91814305e0253f5555c702d68e7e807967cba199cd456f8d928009c2ff92617a8c39e6da8a41fd7efb51d51380d40a84903a6ddb0a9d026f7501ba196a8ae4d53cf5c0dfb9c2fce61df2c35e3bce4b62fc8e7d413169ddf63667e904fa1fae3bcb013967b455eeb04b285828038e85cf8345cf6f789509a2019ab4e10542c60641b6a531d2f54b5d813a43a0af49c7e7a101a341798830ea148ee9e20db4ec7285ba41f22248dcd31361221e3c6f32d604f775164a61777a6976164854b3292d154024b80c40f967308da8e3bbb9b6192659d9b9e8b5d3625ebe01f7b6657368010312b76cd5aa64995265dfc2d1104c6e1fe63961b61951870a5e6fd1d80d66420a0a1325682bfcb8ca18c235e7a9b4a3cd1a888b4b3c491e652a74bbb72382c05e975fbf24c49019388235ebcc9daa72b661b2f19d842d0d011090eaf22630311972c0e72701f372083bb23cbe9a96a8f9adcc72a3ffe6e8ec9f34698d208ff19b73c7e62d4edc0b0a6de97c5b285aa3e34cb5104ab2721a37c58d318059a528f11f94a506365a970c64ff954d218f6d7a73f624c7ac4f96ce12c19f637502646a103f01cd2321dd933bff889c45b5561df47f64a50457eb732fcdf68467eb7f262ea8a95425e1dc55f01849ab63b51093bfd96ed07fe63ca2774e8476e9137167d1dee8e70de718afce99b066c84690f42e7c235312fbabc226bc82097121306a97968c3f230c736daa4b1888e7c9a152d810ee420649e20071b871a3862890e79758a9215ba39e09f2d8528a34d274ff84579d6532f1c204e8547b355e80550a9d31969c27793674f71dd8d0d01e27ab39944effcca607aacc62759e8bd538700c587f25f12c0ecd3e417d41fb61f29fcd3b755ed1ee40113c268efd65202843a5853623962305af82f91fc26321494f25d1f8f55d95a57518b77db7b1e8850b338977bcaabb6a9ca84f556ec506d2dced81b9a4861ebe506be631f79f18ab1a4f0378615e609096236378900158ec7b81afd58743115053b6c648bab1dd12399da019e542f67cead19e03d8d495966df78977fa62851f44311f7161d28876181897e3276c972a86fa26b88d93d0aad38ade57578da3bba12dd743b52c2c3033e7c47931744b3c559c2f4bea6728b4cfef189e6a50ef5819617186669d63bf0b01f608059d20518716e9ec85c16643759c50c13be44b7cb473ebb39ccd338aaac2dda4f0b73d332a811c8120753b82cc4091f937c2daa2c568d360b74f61566213c65fd0ca89774f206232f2fe850fca441c9ba04bbb112d2f370e6bfafca0e9a9c5493377e81f05e8c5fb6193c2dace50978248fb8fc82c55c7c6f72d373d8fe90565a06d2bef3f745458354e08048c89c6063b68a2d4888a495cc1e7a612e18b20be5c434fc189e5651795e8a666e26e84bb5489f4979c29a00cc60f9e517f0e8f862e31bc07819e712368109047671562fd3c56125b1370902e1cb8c0dc4c4e5c98109ed1c9d6384fdb168103d26abef583bca066dfd589737949cd1a363beef11faaf8f5f9dc06a128cc82351d30887e8703a7ef054a8ca59c8071dfedc0253e5705cd2a4fd1dce7e6a04434c73224c4cb0a3afea439e01b5a4b8bd21bf14723232681914228dd49f7173b9d739e1e3201d565a8e90c219c14a17ca3974164351a7dce3b759afcaaaac27fc1e1315222c39fe397d3ead24802298badfaf13df26621835cf410a0701f9c02521f2ad3d1d0a0e6a13fa7fa389dfcf49c4e6bbd6a4ac9fe0c6d32460d32ea4897ab81f3a1f93fa53b3d3631744594001293842e1cc8596d368961896be90da2080f25cbf2596c5a0757a1f781928d53e475d06b8580131d434b5375e02df9a7544e3e5439da96dc4d7a13a0887e4ec5666d2840a13a82f87f198b6101c181b0e51e161a24d6c0a5c95c8aeb6d39d7c1cdf916e0de8602771a558a89fae7a4fcf13b0b647aa9a36d80c7aeb13843c5e0c020d225e476dc5209644af4c4dbba92655603480c981750d9c4131744f38804c17b1ac3fb73e062c1669dc56b169d0893c137b8ce1e34657ed1ff509986130145657028b27017d7da76d8ad774ae2cfa63b75b6b5c1b2e31ad8d220304a561cfe8d42a63b23afa9b22958d00e71c8dfeeb7d8f8f3f3a064b43f40a0cc1da8a7a8edf1ced69de07c2778fd9abe99f2b601b48b04eba0d4065d382300a452543641461894094543e9a0ad81c71006c13a0f5d01c1fcb6993d30756c51157c1a80de11ad92ca8495e42c67ee2d8d730b023a488080734709b6fca6e48c7272dacaf0ea372f7acb1a0af2db1c1991dfb31396167d356abd91f124d63e64bc46287cc80d440556b8bfd0cc24537fa09cf6736597503f75d0b835fe637f635c2cc0d94b2e2d3c30bad292144a9db89eb93cfd9bf3747f32bdf3c50a6cb97a3a3098014baa3d5b1c3b51c4c0687e3654674feab91f47ec4b7252eb99647abab431d6fe7470d5e6ac0a70add24411daa3d6ca9f601d0ebc08328f6f510f2c6083e2d1d38bb5e0fc2d9bdfae255a6ce642ac687fe96450833b71380f8635353039757cceed84f7edaed270f91f332b58f7f2c6b1efddf7684ea3e86400bb960c4947bacfd54e23d5fdfc1c82f5d349e87c918a65e96d466547bc4d8b14f04198c6c437077e4949f3a7a77b1cea7144c45375944b593c443e1fb7c21012c66efe1170ea6efdd672546690adf155427a2e110c771f2851236cb39db7c5f67c7c870a96468122ecde198af4086b436ca8c8d5d949cc37c79895ca15d3059cd6908b382d97d05512db823b431ad60815d79679ed289fb5c0b88807f9d89d5537afdafef03362285567c93d908722d80aef37f20410ad3414ebfa250c0f5f034b73b3360bdb33fae0d497263ab051b0ea9fbc8d96a66bdf342c1d777ce0f5273d7ed4930920200eafa5650ca417f35a36158636bc6188f1168333a20f0b3ef22daf0767b22b89e722ee87322c764ec883e3cdc4fd852f147cff217fbddb42efa235a3253dca193ee2b5d37f37b61ee161f09e507eab44c12c7def688fe65a8d94966fe82ca86ac9d123549c38c01e1cabb57c3a6df5204b95e106815e5640b4bf83427bba56dbcea39da819e560ff99f3d3b3455fa886dcb99f8ca3a9d32dc1a3a40c316a4d8ad4350a5d1058c30a1a7ed988f9774ff051ab384c33bf7bec0af169c1c702c38c27d09916be69a43009363528b749d6a4f9dcdc8ec1f79f22567d422a76e17cc9d81ce4a3e66c939000eb6ee45a443d59509ef59cef12aa0377971b7e721bc802b6fd2ab7d62b2fd597ed4c79b435bb1580691858081bd625eb1459daa43284ab7313bb76c2708f29187758848e946ed9052cc0082299876bc13145cf98b9c630fa3bd6e001d9028db7cec983ef649e5d0a4681e0725a7a8ede1ee3d4cab80896e55c7269fa8c23c130b0a42c0417e3330b7c12d360852264af7360a13538aeb7f41eff5bcddc0a10b9dc9a644877026e6ea840ce1851c4a791709ddebdfab64838158d3cf02df9377bea152d782382f9acc837f9b34ad102b46f0443cf2ed37f812372b8a33171c2f474ffd26549483216975ccac0949d14e57592b371a343aa3e58bdec1528ad15e87a1169145efdd82dc685e0e8fa2b01927ecff84d503e86073f4bb4a7d003aabae1056911286940d5afba577d1a1c0e466f14d930782f3894e888fa8a9c570d1f9001dd41017c8e20db4c307123827614f812ec619249640b56a50a88a0b069e29ab8182c4cbdfd4a893dda762c2310a811ffd599b7911f8cd66e825dd2ee9709bd70164b08af40819186035382ca7cf3496e78d9638bbd143c4e6d8447f4021fb4f78c7011890b200c2e004f5cf5a23e949e0d7f7a840a9718762b45e03b2fa5c1a24f044564a13e3e19fe8d15d686c7b760b7efc1fe5a12334656a632b6b3d87b863f4288a71126e2dfc3be44bb89cef64b26eaec192bf70a57bc8ad4f817a31d38508358744bb38cb233a98b039c404402b4e730ba5a7f5b0c1fb2a3ef80b85edf92db3542cfc9c9c8c40f5be5d3a1be4a26d8cd3ce0db95bb046ea6b3b5a4660dd466623fbea0a98c4c8e981f103827671336fa4ba797d1b1c0e410ac8dc9c6322e1eceda7d882cd1ff89a230115c42dceeb4b6010dfdc1e780701e65ad150d546cd1d9604c073870a4b10a1d07c65e0e83ed6bbe9ed7d0a1db0a7e61c4f4cab85bd8a3e6fc5868f0dbb35c722a9f482bc0d2eb1e580dcfb2c6fded4edcd70f198db523027169d6196a13fcbec3e328dd80f2188c26eaf028b60ddf20d2c972d7284e087bb134bef2f6917328a42f0d4fa606a70a585756bbba81ec6fed4266c4e59146fc5a8adb92496ccbc9c0ab17e3409560cd6005030d45d2865bb9d167b72a3dbc68a1acd6dbf802bf97a2b7b8aa12facdb3721f25580f6a0a28f26a1ee602f69fcb0a00b4841f3b1952cd37d246c7e2eb39b9162073c951aa50053781f5357d7816f9ba783615d3ece6f3713e8e047a6fbd2775c0ff91386edbfc78c2d9796837075cd53d1677267dc827907f4388dffdc7c498cdff82fa147c83df2c139dc3957ca6622234fc687242fa0e981d9468090bf19eeca64650b2155d1ac04d88e8a8715f1c12d586614d434580441a2b0d53e60076ec216ee0de4ad592f78b17de217dad359093dac0c3ee9079b01333d69c0b1af0c8b51ead78c5318dd9ae5e92fd565e2757ed4252992f80d64ab2055f7ffa17cbaf175b1750bde68e9d44a4f12ba50ce92e8c09524d2254733cd2d8ec04b2285347b2141942807432c648d5f6fb33d6356a11dbad6cf52d64f4a238bb1cfe27ca75a6acb5a498e3395fa081e0e7731aec41a9de4f7d96e2ffb0ad8bf636d6cf55640baf21857853271bf73f41de1748dc44f1716151b409fae4ad7a318f0c01cbd7040e67b7a5b8e0ead6fc4081dd5321cf0394711ee07d2fcae3452931c7955217bad5cae737631d98f988048a2c7bf1b461e1c7d7de868ca7d0d0e9b649adfbf8819c6d14a7db55c95a6618b5777928172e6ca981dbae14375223a6db92cf16d185c82f86efc23c7dced5402701480ccddb01810654c3d72738204e359cef6d2918b602ad9935746d9fc739f34893b13aaea6cc0d341fb2d2718dc765badd4e66ff9b7cb24e2e07d96739114678f4b6d318cad0677bcd2ceefc7614f9c48b6f27f013bc699bc46132487eabc2d5ff51a5dbd334e6acc777cd4a895472100306f67a3e510e69c88c6ff575499542c0f4b0a1cdde417014227c5f9b4105e1a80afdda79c0de09a55d710500f50dfe4ac65263350cc3fb697c61aef5826fd018e2d0140b469c7a8a98101107162a6a686cd6a9346486462460d7374677164ab1b5c8d1a3e57aff73c3c6affb93317667c85bad3d4fc838355bc4c34cdef596706d9b52fd8ef22712cfefda8139183d2da5adaa2973acc45d6098591a5c6840c3cf0e502281aec3cc6881f8990e82a11dddec275922083ef30166468e20a8d93085cd286b31880cc9c88f89bc4b921cdf8710de1ee7643d31a232f6f89a0a73f56b816faa191652ec1d0fa04e4a11ca008b9060c830df4bf57daf3360061420f07ab13f506c32a09f833673a015519c5661a90765d2accb1d06e280dc239378087345861cdb4a5ff42b41d666b0fc42027188fffa0f5dda6a7d074237d59ebb551d11d74d2cc2f80402ec3460d9cc6b0f846b7d4ab1574264335406bfe7a5bc5f077cc01ec03d133502affcb1cc1cc43f05009776d5e04fcaaba98633df363852e6fe58257c9eb71232873a7e3fd51adf87d02eb219ea33cbef22b2f2143c050113c844f29ef0c90fb0f8882a36e656e63cf2ac2737d15c483bb088a329d682922b63a819a93c6794e3774c947eae4c9488d377aa22ade71c2a8d58e9aa80910d4b9d092a952f0abe880831b860dba63661e293e788a22cbf21d8da21c64f941fa741536dfc50674c35dd2ff48ca7cd1df5f4cc254f724b67fd453a2e14fc59af86a31baf1d1608fc7dfb5176373892564a6d1db2cb60cab6500027688246e7ea6cd5a57181809530021ab079c67a950d82fd89351a434c7364970c650440d76b0a732f6ec999810a557440445ecb3fe11c57f99a9984dec2999ed202f326db6a588f3f2666eaa2cf5808cc40d10b8ecb177e81275faa3d0740796cb134ebec7112945f4ba5ad790d5b8b119ae6bee8361f056ed08113bb6c7a8766fc3e5a7492484b18d8297e533583dc823b8a01981a8f5bec5e0826086fa560295dfd70078592bf5c8001544cbee69018a85f087cf1eeed9c30b2f4531b295ba1bf44b0c1a74feb9587b270055a8b9671afdbc464ab3add38acbf2e324940bcd655a3c41759c8908c5157ce4ca1314b4f8998f2635f561937623fcd4f581ba2a0a9bcf45c644cd80ec6b35aabdc63a0c5f0cb1904994169d44ede2189463c1a73a912bf3bdd906b57276b9436bcebe272da93ce7a908bbbe373f00e8684832ea896dcbff6b0be8034812ef4e637d8fcfebb26e455077cc530bf10987d8828a3a1371c94704392d74fa38cec751793ac2f3834f95087056c0fb034a3e2a4c91527e418f2e2b32e5d983fe850c4abee6a98229887f5193541cf4042a4c504cd9037888dc3529b4b5652641f108ccb31b65ce73c18fa18d28f4105508d91011c6e0db6c46b1c9f05f134a1c78a24e7aa163c249841220bb15be511a86a69f4693f68f7703d13caf546140294b033047682a5e65157714c4fb9336a21bb9ef8b308c91ed1184a5a0819a0fae20d28c4de707a4b15356d887b761968b3ef3ac86f6c22c71aa60d0db0ddef64e5534ad3f0e80c9cb77c676ba146ea3d4d4522ced299fcd3232412aa9845a23c4bdabf8ca75e22149e3311f166050331724e406ee9e2cf57c4a33bdd820ac35c9569f3c39c46a1ace4a7a2089c5576c178461972e949d4221567e85613bd058d601ddd2dd81df703caa0eea765a4031f788edaf5411117a573a36d42ec6c78b3af55aae3c6350963947a016bea24d8484f6b8a051bd405695b49af882178814a245d4c1e02452a642ee526ac25e2115a6b09629103abe39499977f4e459427c4fbdc40b5410227843a3a5b0ccbcaac942b6e21d1c125498642c481b3fc129bad4372d99eadea55602795120787d5a35183c3861ab96f6bd8ee0903411b6507c62bca71f73765691d7b6bd33f01d31bb1b79250563084be47422ac3c24981e99b500dd82421e4a621ee28425fca15376946de525d7243c83d77928a852119ede1fce2f4274ac076235ce023b0361e42a9ef6b2780fb64f6b976cb9a745b607e46dd3001967c0666effa99fa4e770f1595438571671a3f3abd24e6e24507eb159960924aeda3975d6cfea1370baf7645e0096dcf604294da0a3fd24be63d7bdd9f488189cf4f118cb2d2a89b9be801623adf87ec95e879492c28e14733e492a222fa13a68b4a0e608e28c950fd4fd0d8d8e0f95ff8e345edf7788b424b993e2d37342177e07d441868c0bf8ddbad5104e1156049bb28fb7afa588ffe4ab882ec2d6f0e49647a3064f7bb0c0798e28e62170b689ed8a492b2faa344fbe7df89370c5724b541079225ebed202c082232e701e4326c5e6b699c5648cdb30c0e54b5cd021a0bca12496dcdc1e3e03b9af6b3025204d6cbc283c6016cd254cb8999b2e4a83fbb1cf14586b1ee6f8af76ce54746efb672d93ff30f244d655c38b378928fbd5580f10916ef3b26e34ff1647e4bcdb66749146b15613aa6ccb7018756ccd6119a45886da5ef8339081c830bc6989343e2d696a3a93a0f8a27a308581aac3eefae5e6c12f0e4d8d38dacbb4f180caf9e9990de6406236396ef3ba165bec867ab32013878805f049ff37d80a27428bff03d4b4a45c54e853322c89edbffa44ac2b7274dc47f7681261d333db4ff137ac699119ab9b904348ffaf28f9404e891b7a4535c25c0322c35da7e9744df60943b64539374f707f806415639ad53fd1d0b8bdda88634a542aba0cef20a6d1104d1296460e2a3eee665ef1ce4d94e556d82fe48500592fdb755cefa051102a32455dc8343590942201cd8232820425b02c4bd45eca8900673077e6c0e97c32dbce68230017b7b8a81b154a380068104cd160b9e94562b945032422af4bf2cc85aa87e9d1f094c946ab954e3da6d1ec1993b21bfacbfae69edfcaa083e98b0c6b8466af644a10fad237a0477898347c1ba063aac65147160c227c6a38dfe46bf8dd5d49bc0cc684450db2f591bc1b851b4ff3a561da5369f9eac6c5e13310021bf43f7e07cc9c08333dc61dcd0518b56b19aeb09f050e1e11701d111495e68a597d306d20fc8699ab95288f3dc19fc6750fed8023c9b258e03fe6a125b3ba83974980f48d82cbe754a4aab5f6643c3eed5880dd184ea9c91ce043d90f25b1ea4022693930a90fe7fc94759f7d62c6f9efabda0f2c73604803284a2ad06f9b2bafac6eb5e1e60586c610c66333143877e9df0a9f58aeaff2c686dc5d6a1152e25ca0f193b8d8aeccb916ac32c09a6e7468bf150a889d946c92d5551267213271fb9ca45be7d8eadc50422789a9053f6cbeaeed580be7e93cc702043684a8e69a89c7a2e7c512643ae1959e18b6a458ee0ec2c7a626f749ad2b100893ec32ceca5c88ff6f30463246d146b1d43aa9fc0f710c17852d3ffb56814d9d821458a911f81423351a88dcb9475c30da6d210aac13330d4e2aa9e15c453e8f5a3a42f95eb3d1c6a34ce15cc242571589146a034103ef3b2ecdab3fe0c57164c2142d41a22b2a8bf0498a2ea815e57d922263e171c6ea7e5681eb868bd6e940c0757b56a5e48e4054414080fca5c184950166f48f0eac5098ddd7ccfa8aba7d7f82df8c48209218d6094ff8424a137bc379c8cfc4ecb7d839d0c55f43d157d1d96c91ce31c6387a1cfaca78170288b56a84b545a264d6f1448fd1da894fe09987975dd15239cf1a40432a036bebd2042b1ccf67d535056b4c6b78a4b31a01bff34fe2e65e01c59449d856ccd4e5a0f9125a9c7458e08e6eb177865e26566373d2d5f0631759cd4f94d7e15af7599c2684169959bd145219a2640f24b28a858d18d8ba16774bd1b4c975d9ad67dd675dc48874cb769247dbb130eb5c9ba88cf1e4a435ebcfbf95b72df88ff5205f865858a5095e204130e71dee96703bfe49ba0e8d46cdc3039709a5fe07482f414c5a25496a2429a61b278a02b4554e55e886bc9c5f05abed8810ce82b954f2bbae1c58e58a5348147691cdb0369fcb8ccdd8142a9369a3e187b4cbc2f183ba129b659a5c3976ffc89a66a791f85168eb30cf4e9e8d94010fe8465150ca41733a8ea59b20391a657fe99a96b0bbd8fe8e6fb807c0dafa10cb35d8db9108b489ca354f6b245bc9a432dc8865406cb3bb32e34a9633a75c64166832879321e4d6685968387ec25e2965420ac86555567a20d8a9c01c6bc7e8c0a059125276321aa78e31d7670da83da427aee148bd14b344ba0cf96ab464e8a427c6f9696eccd46035151f1c8059a7dd0a59e5707ee81cae2683374e0debad2aac200c218224dc00dcb1a4c6c991ee68d875e3eeb07904c41d40ae185211438a07ac527c2a04320a2c6f002ba269a449623eeeaac7f23c22a52271fe451e7516c0080768634bbbe01cab7320086e10a79566f8684d5e0c260699659c9b34f5c994226374116012ba57ec023f0cd3ec5baefa5a5d7935f69755776504c28bcf96d86b1aecf56dab1916a22175808854ba98a9a2b2bb12880a03bf56c98097d19ff665b25102e3fb0760dec542fa5e0ac7e31fc60ed108a9ee0b94ba3a099fc666bfffdf2cc30794dcc746e802a4b0cb074931c5876eecc699fae45befc218c7d88db928b78879cc4c452b58f4bd29ccea305e303179dcfa0dd5edf6765f139338d37924880c9449d4ac610934cb436af516d1ebb174b76ccf475be994f889d78ff75dc6d0db2ed23c35f69aae7da1dbfd724fc63cb2499743d44ebaebac0291b6970bb21fcf5c2a10c883be7abbb078cd4a67bdcaa4c51a11052cca881a193f3aed3140ac006a48e17753c939c3b190d71466f0db1ba8c62472c75c903ec34557d2adb065ff92a10054d69e2b3fce84459641ce7ef1064e661cd597ad135c13cbf81be9d8c7c715c210c7e37b8d76ec36c0e132ce33250a196c253e84544118ce1703c6d5e086733038997722f8102d8fa25f45b51118ec3e6054067cfec33750f660de010aa8f00ffcfbc3438014349d028dc0c0029b93df875a694339b0bc5c23e428bb2cb77612b63e634f302574bf19d9be0bee652c02aa9819e81d3a9ec4d71e554c2d341d0d9362eba32acf06ba868e4b716b469526137a4783a5f8b5a80a6946343079d07b4f6fd4f97ecfe4510709e63bcb4b4b529639e0561cd4e57d2db11c56f2d519e2bdf0cf131a4a2b75e08dc6c92f98100dd95fdc92e9b4710eed937599d7dab27a3f11080cc732c6aaa84f06900984a357913c2919ba91f26f7f9e4639bea12a695fa784752f8d2be3531b85990f06baa729c216161c4593184643e282548791a73dafeebffd519b1e296f7b804db46f36dbf3c90dd66ce29689d2815f52fb4e1d493754740023bfc381b1b56284b6b3342e49a1f680e80bd464008861485b502bd3b44e3cee6bde0f7c9156d4ff40eff7750a8d7d8a064236860063e89ce941387fbef4ed644b467185cea21eb121979cff9f6d1ceb42dab2cafac5d3b1e79081c14edee42e010c740d1dab6dfc452fc5a09967f1d64a45e7695471df7449189ece6031ec20aa14bf7d9336dbfcacc927f565280e3d8d91761807a1ec340f1b34a62310545122a1468ae1761c62ec506b95b3954501a09bb7b7d83ef02eaebdf46fc26ae2ca6a78f92a4ee39fd95c521a9efbbdd9ee46b5eabb67cb4712e0106dbea1809ffbfa1598970f811f41e067a676167a522ccb579e01dc4a259effcf5fca8d05d29d2b5a48194da41d3abcff421f9b8980f12bc75a73774c9e7b52e1bb0ecdd446f66259b24bf769167b7c000fe4de53311dc1aad2879f33ef3436dbec9e9e8d04d647a0b82fba45a546a971e5dd4a08cd4ee52239cdc83d9857a6656f52bc37150ee8f74d91e65cf220f4e6f5a008319cc57a378d075ab08ddb2c3d9a459b51d86893f29f7195d17a62adb1da9a42e268f17128f5dee7244108a9ced08e81b84cec0f5b312729dc5ba1f21dcc4c62337eff85cac3fb3c029f430b5356ca76cdc3272edaead41a866d1deac485fe777acc0cd93d3abce259b70c34914023332ecbc64b958e84c2335e46f175dea39adb4246b2a0b57b878082218767e5006a6df4ff0bfe6ee03e7ceffb98303cf4368ee22fe21b8051bdfdecccc11aaa3e3f1e116ab61bfd110e110f8ec6227909352ec1807389042b6eecaa74f06c0219bb2dd2e17dc18e73c0020dc2b3a1d9b486332ce6a73017b338c38c0e9b86d6363d4bdc775f583af8125c94d0205a264b10f621cb3309f59a7cb8e95f2ae103616ac96010072ced8790c95970ef0be0f5432024e6705f15fa227e0ad801244224dd625164690384cef63586931b2a245e45582be99ab62c4652eaf7cfc0357b26ead9e61c0b47f285d1a17a6b7c7592e26919cfda3e92ec29e9ed3e1f2341cdae86dc2da92087f5739a0a5f7cb9a71e860d8ca3b809478052d342381dd238423b8b02663b6c40be802dd95136b3c5c36ee02dcca673026ca0b717311787d0af39a66a403a23ba410a424a81e492aa5de8b2e5324b216438c55536cd7aae56905500f824f9c234ba14b6933776fb3fb63f923b1b7105117535cf70a1f8f43fecc22ae0638f6bcb5661732dc66efe2e7a9a01c679276c485387ca8a95350bde62bc005f83f53c83c7c0fbfad3dbafd13296f726a7288df2f529127d8c5cb607522ddff538fcb0561305896d63e8866b49f82a6a57c38ad1c28e117e1e40a894a06335db96c4457b2d145374019833d0ca5bb11971d6d288d0af020da4b9f8db75e6d7220182eb2b917ee5d0c91b00b9534ef380e48a3e5f5a1c17340d8000d54a6aab0a22811cd7e8b4f23a381e857cf30e325fcc13ad5fca6c58d7e8ed635babf4faddfd9e666bb8d5ef2ca30a7bc3227a69fd8ea125f62118c4ad946896322e5613ef979b25e301d3d50710a22f5771a789820924bddddfd503dc68932b1d28b6c043ac1df875e27d7fd24f4c7e02d449514841a4ad45791dd6e0bd56c697fb0aeea2c808ba99f1e528e1857306ebad128e621d79ef54018f7c07073afcfef7bb4d34dd0b7dd48b3a609f2b777b77b4892f3277dc218ced68278eece1f8d72f0d09501e4f3e69f1b21f8c5746004a811ea28920fb026800084f9ba357c028196d289ab6c3759332cf23d15ea121a843f1a9ed636caf31c53262fc350efc522e33ad58becdb2c19579a8c967eb85c9cc33ae73bfe13fa65be12287bdcbb61f0b637998c6f507224f9b154ac07640865322c2fd0d8f5efc746f4519c5d18b82e3de5c2b49bd91adb5b623b4837a2d51aa42d357dda3fbd96e42b947dd30ee10dc79a84bca575c2e40c2788183bae7c2bef4f2702d5773cec3c2fc18467c7c1c077d429ceba676494f581f363fba6d8a612dc78618f33fc2e5019d017aeaae1eec509455f91d3d58e53841930ea451948814c6c5a730e9aa8635141e3fe22602e747312f21d290a08c765e0ac530464779fe24789aaac882f8755843354cc571a94a780c894de34c5c96de4986bcbdd46a71b9156f6d4263f1d13dd2d94d6419585a7f18c394dcb29ac3c6a254f669fb11a7f8f2c3acb72a93eda60448e82682eaa81a56740cde6070226a4b3a7cfcac4a512ae400041357a3dc6f6a8c89be6a64dbfc2440b4dc2fa25e8a1e4bd9c959246bc31f7c14ceff7fe999770f624d9b0994a1c395a70f511e8674bc35f0f42900082cfe086c2b2e6cc8ddf71617f5e10991d42c3c5258ee684a7fb6d5839a6d7dff297633c46f5cef0e0a671fa69bb8125fcf696d2d9a824900a9513467d79b0eed3fb0387bbc810f6478a4c38c499165a5693440bdf241990bca75b61eb5d4f7f9802236282371535d9074596061bcc1e1a2d93843cdd31da11fdc692ad4873425a0e8a071f63104062987312e80d15e51bb3218a9fd629100b483e4d6ffeeaf0a51fdbffdb02522ebebed5463b2f9a02ef0ab4a2fc392a8b8b1c9ea167ff5e9ecb2de5d54bbc3151695093348ab53e88bf36398f1a3f8b9a5a6a4e947a1ce9b190cbabffb73e646447e99b138d37b10db4d685cba67ffb6b359456e9315c4b8bd69ea7d4a87b9d9b9c5a18936704987f2de321c3669590692baf8db399eeea922425eb783eeeb1030f08212a29910f86f206834670eba0ca606129cc827d574a149f63391eed0ec1ef62319e8e2d4c4ec0e5d6ab48871f3ec1186a240f583d2c614201ed495ad05a94c77b129b2e717bf661ef25608c9d1d07fea1438decd82d5c2478c2d016e4745bb43e14d38511ea307d96cb98bc32cd649fdb27a63ee12f4349731423ac43c129dfdf95dd51975fd625acfbacc17111a6aa063c4c206dcf1bce846341eb84be9e71e586d1da0a1028af9843b142a255e70c7f8c52e3da373786b225646265664844bf31ee756582964a13039384f1d69bd8e1200eb12e740ea119b016665bda2f6adc8c060f3d4457c56f6d8d8dec4faf60280de672e676af430364870f9126658e092e1450d65efc93c38fe37f19e5f17647e829f32d9747319816a0c3c2267b20166dd4884a51fe2998f72facd122c08e5cbc6fa254d644e84ebc5503432e4077e95064c6e9fd9ad39486b5ca7bb5857dfc0a4a6dc653d03399a341af7e7403f7e6f8a40b1f06d348b0c827d001e7ec4caa25757108f560bd7c5d681f4ff8d89f17c1d41b7316383a9656fbba96c80bc4ef4a0222b1b5ab6641197e0d982181e18f58d824a41df2c92c382c6abbf3470c04a5e52d594540f458e2bc4029342c3ba9ae8b04446db608446406a4cd3485d13ee36d924e488730cdd26c977d39dfdb5b36174c1247467c09a8b0369970f3004b7675b9674e024848717535a4aee4ae48c7e8e89b2e4da7a790b7bc37d9ae2687dc3c9c031acf9d08f23784aa342c020a375161d9f3babfb12e19f74f109a795c30f4cb92ee6139782ceb02e0dc81ab5740e43697bae90c74d64e12a2fe10ec672497864e198b6a939f269328484cab0664e655137c485ccc19680dfeb347bdb45a693842f71607d146cc2db35801b76797da367f31516e89d6465d3344ac0c6020f7c2fdbcae4f9db6473cd78d7905852a910b07b8da564f4e5610802456f35eab066dcadbaa7885b3985a940dfb781a8e8ea24f5eeb7c1f896371bd74f9962badbc593fd85a034326f4ad463d6fad130d5a987d9821fc310160d8b4e964b317ff4127ee84f6f4f157cca80d2152bb7826ad5a14b72b3ca78764635eb78934221ec1e57bc4c02360b75b317056eb13e67729e3219eb8c7be08e1427b3d949e03bb3d14fee3ac9619b55ca7c3338d5a7468637567aceb4d318a73aa524ca02b5e3a74eedfc6153f32cf8935c9d10b8141daff3c6226e37992138720005a7ef6762b268e03387d7ba5a972d7c5acf55fb5af6ddca6e2d33789c0e8b684ffb8620695a660e0df3f6879e98ef76d96dbe161918fc3a0c9198b6e587b14acb5aff904d5bbf54cfffbc222a5c6536b531b4fca571dd56e486056790839874997c8c3da5da87342064546adbb909ee036df6776f0f8b0fb753a794a49f06b99dec1d2a3abd372356cb3adb4d3cb64c538506e5a5e4fefb7e20879666a9b2c8aed1fd8a77ecea73fc2e0ca704aa1888af9da88cafaca459d30bfc18b22a6370c712d50609b4ddd46fa8abee71c51ff6993c00c6a0efc14777d82cffd248b6c1a2939ca382ee65da3892e00ec3a01e62a72af351554f2098c0d24833c4a4891ba513d040ab11bf2d1e6f792d8c32228e3c675583f4568cbc0e17bd9450c73295e992756a09af20c78eb852486b9a98a03ee47807954328f8904893b5705ac11cd9c4e4c3933b760a641481d3edee2c4bea138692fea48d7905a90c09c77cae76f213e76d7af0ba5e5b548e72d3f203be74ac8d3010ca3bebcbd2e68aacc408fcee70a39472134ae3aace4d8775acaeb16d0548f04617b5eb622a181aa6a0a3f3edf73c7afbfa81593365e136139ff9b318870e8d6058cec3e707c46213567def37b841b0672825116f183482978e3249142203c2f71734321c894ae997751866e89148d894f2f6713e46f3f3f95c731a5e4054e9b3442dd4324dc9cbf196ec5aa79871faddcb155186341a91a4eda255440d9e754f968738dd52270f14dcabf9529417182e112cc5df78a7fbca28017897a158aeaceaf5b616bae39d527c744401e86271a2857efeaaf17eeb878577d68c8cb16abcb38fa8785398a2da94c6941b35147b621ae624c50c2fba1502d3b0deb119785ec330f6da14eda55b95ee8240371c5be6fe6ec95f8cb2129e2db56dd4522ff4ca674fd139625a6f4e281a5a136258199c86feeda73b6483d9c29f7462d03a9fd6149a9864e09a041ed4cd55c6de83d18cafaa0f61a48ded4e647159d7c94ceb694316232323d30090a51bf65741f4dc6ebce31f9a0cea8b90fe653d6d0dd3ba4596c943f7383e78ecebec5d7b62563482a850c812b033580cd719fcd8e355e5da733fd590b7cbdbf2e18e0af18828a0b5e58788234b8ef54e41252fa1d6aa82f07207f259c8d2e062cf5228d76423c9533b9b4602821868a37c78f947c1e57c6583a1f71622d1d6327d8d9a5448b7c1c8e6cec0851ea891cc9e2386b7ac77986e3a003bd53f355c91684941706b58351522fc6370eea591038e3194ba4b8fafc25213a2ed962f36a767de807ed22a5cfb0fbaccaf4cdded0ddf48d2f669f1676ecb9ff174287e19ccb9ba2de666dfca8187825e08bcfb9d57fc03f3a016dcdffc620eb730ade12cbfcdecd51af1eae24cb132ea367b7d075b39744d1995a5ca3442d035a3b607d6df5724fd8afb27754fb67c7b7e28afeaee4c854afe3a79de4aa4763bb11619a227d09a8b98dd5c32cd4ce433aebdbf3c7fbecba37070dc449e89b4835d766c5af4409b009ea5d777407506a87dc630ceaabea84f59b701135e598a1e9f72d788b4c35df3c6f9cc11f9d78dff970b10f6de9b7fc5f94d8c4898388a4936843ba3134477498f2c52a43a19026d77538f0b4110d2d100457476754f1122fcd0b1382bc421e54ce678b743e1db5d090b9af6074f8b39f9a3c13a64c386e6dbe130015d6357c33358b0bfbc054fdbcd8c682ed2d4e7d4ce9cdabb8f40f523e837dc1a163a53b17ac788e8bc0a215783b896d4af2b1e39c7de91a36aded1f2dd24c0a35f34f93c195a3366461192fc871a1a31a9064b8089e98440c91ecba463e9b1a14a8468e1fb06e211ae557d3a0903943f37ccbfc0ac848f7d3e869aa48dfbef18ff91486494ec36e1b60dddd733ec469a664c70792d8845489a766168d816a6611e518684f42b00611ead9293958f118ed49574537ad4de465eaff908478512c1dbb9b1c8b36e4eac2a566709637ce10eb7a71a35c314fade146d03a877af3f6181ca0a8acb5bfc6fe9d779234e96ea7a1058d343120cd32b3184011bbbf3ec037981faf75f1fd8c96f2567dbf4c9eeaf744a76c0503abea069f37de7c559db7052d234edf7c2a3dcef6415e474ee68e1be842b8f9f03845bbd28e74a04e10b3758e545e08c66eeddae97b3ea15d75ce83c6e1377b36c978583e45dc405547cd2b294124196bfc1685360264783d19a70cf560fa553b2ef497682908862d968f8549cc5ba14a646b470cce74ec61f1a66bbb31d8aeed74581f77cd645bc0b9eba984c48b04224c598e3b988a1a684daeb5d5ee24d9fcd3f90b10bacb0dc7cccf67caa00c3bade43bffe56682ac247f6e6b442e78e840ba1d22c877f6419fa8065f8872e43fc717de62d7fbbad426985df07275167d4a7b0aa8bac6489dc7e9ca71877c3fa3d136fc7d6cb97419db356fbcb8912625fe7b61069518d77366ddbedc26adc921055902d2b4c57791eddc66ee64261cb822877e35944cff0f6c7c6cea823998e860bb5921b9ab493bff8bbd69cd4c7117787440834018abdf72881c4cfdfda4b65a1c354725d8234d609db2c1281647a0df4bc4786e81678e0d27fcc62b2c32665980cca782243842ce487bb7b6a360a5122b51e1b60e3d5c0338b67230291f9fea8297e29db1e8403eec140a9c6487104e9cc44cfef0b565d147cd7e1262210ea9082983dc0be1d947519575aafce6d451d8cd972bb4e427f8116e5925232c6d4342277739ca2daa31214a5cde1738903c1b678a8235261111915dbed9dc67c648b11fb07477c00dc904744b9a23a9627f77ee42cd9b42333609890f8554d9f1dfe9a400b901bcaf6a0bdaa26afb1cb9cdf5710cd41a6f2098a81440e7f78c3f1b8388ac241ba1b663d75d107010616c9e077935adbf4d47e124a63fd3542e5a07da4da31a9bdcc70d84187d753f947186ca0f37b0b28a45963c7e61f77173d4eacd3fca94bc4fb2c6ba69c084ea19fded023b8e6c0c7a71efc883d96287236fa5468225ae4bece060b6cf5c4239ba2b5061cba31d792ed87a758a42a806cacddf8b7a4aac84933b3224529b27427eca93848e54e338ec4183bbfa29e5651d8764bad4c66c55bb1ebcb057c1e5177dc0b41d328187644a918631ff3217db180f5185455e10c9c428135b930dc8035cc8aaad5402fccba255d0b88d4981d08f7809b754f30573e8434eb850c46de8f5345312f98b5ef9b87497c72dc2748332619b5e5502c94b31fbcd382ae4eeefa751cbc6b5851378b0ae7d4c5fd65fa5e83ee9812b784a51aec0167854f921b8ff989204ac3000cb286a35be05b567d6789b123e11381f14253bc07a829b68e04991762f14d65228405041a346b9e57409c51a50355c99c04a4372ec76cdbf45261d232a094a938225fe143c16fa107096fe971f4ff26c314000a696887f3e09ce4c7bd66a816ba15697531278f580a637e3cb9f9859b71081142882464cbbdb7dc52ca24530a4d09c709fa0990c4862ce3a984e8baaeebf98d66c6d91c3db1858bb545b6d68fe8b14d64b9589715db871f4bcec782c86cac1e70d5ca552f75c9ec8a9475ae308b947423d9705c1f3f1ba2d6486b0cd5ca9c12d55887108c17e4451c507b6123aceec78256cde1acfb2179120d79c05524ef575e1a2229fde89955a6173db36a043ec9c69c82f54ae6d2c69c7a8d53905322e75456ef3f27ff550963fbc0f5e572d885b9ea8b94356215f635844bc9d3ec3c4499864f87f25112edee5e63d774240d7928aab06f3988133b36cbdc54227e6c8d016e4730d1a561e9257c12a95483f8c1b13fb6542f8c2dbddc648ca32f6da3ef2c248ead6ce3ff58b931cceebb2956de1eacacb05de086fd15a97f94a20a5b62398814708ba7e3425c4e5b5981602316ed035be9aef6d64bf9d7bdac50bbd1a19b7de9f9b1a72ffbe50afdae37c5cad1cbabde672fe96565877a7f658ed266c4b4a557458f6d01f88272bd5acde1b06f0dc74bffb3a5fa9295b217d59b62e3ac399c83367e67d13e94de7aa735a064d59ac3d9d1f5597de987d6b520a0ed4b3e67d1357862b2a58416ac8f3b6a37e263f4e326c2b20f5d40429b8c3263ab23120c44e65b42f245ef9acb55e546b36ba35b0c6dec52bd6599bc817d967d6f32be0b657972281497ea37c997156e3859740df8503e87241c6051be5947743ea594cea7743e1d6d2f3aec6cd8db769f9d71ca9fd1a25066f327dd2eb5304a8ce86844df86d3f9db8bf64c4994ce0fd10fcdd1e86d3892a63d1d8542138648a527591f8a23faa40f7de94521d284a37a3b40ebedd08b42f35d8fae3133ecaa17beb4ac585ff62c1daa699a668a9a66999e5eaf99e08451824d7464d2a49431c6f85611b0b01d85e520ab1ab65aa5da9bb43799b43759747bd161b53699344bbb5eb3a4e9c2229cda6ba337516aa2d4f436dca4fd687b093d9b4494bec9a4fdc8f423ad22e1a2d187426fa2239376bdf548464a2491451fc91b79a5477aa347c591572289462c3afa90a9d2577aa427b51755ecad0f6dcf47d7d0e674a8cc62f5c6bffec4bdb46a84f595fae2e26d2f37bebf8e17df0bbd0f69d1bacfcacbb5ed521825b4d03b1edadb70edd2304da469d767da675787426fc389fa312d94fdcd6a1489b2d08b5e54dd0cf5633db71c7ebd7b6c9356bdcf62c2dd1dfaf3f17cc028f15633a39918f4edd4453eb5ef7f57959c44bbeb453d1a6edaa29efd7c3c1fcfc725451440560096834421c4c6976bfd7b1dd01a8d1e420dbe36ea18bb06f6985f6a6194d0469a367a1b3ec23eb4bd64234dfbd12834fa10569170abbd0d37b7abc3be843efbd1db705aa831d2d342fdec68bdd23aa7cdea9f6db16b6055d66bd5538d5dc32bcca8ad11b815a589f526ff664ca2898994ef4d62348926d68e676262f24cfe4530628cd6df1864f21e63dc4c016003bd46a4c4d39f4cde4bfe64f224132c6422a2a37791fe47383c1599d4fb216d5ea3928c2dc6f63270883152ef8f483f7a931825931f313131a9b7a49e62908c984aa4111585b499d50b733d1f27fa269047770fb969bdd73e5896b42d5f06a34428f42fe49f6d2ff0798642fcda07eb337fa1f73014baeec77a0f8542a17f1a8e190a5d18765d5728140afd150abd0862578c27fa640f32079dcbdc47e9641c0fd7367b3163877232997b8f33cb3ec6f89e5524dcf67bf6fc9c9d40c7f26039c8096656abec573127e0c9b2ecb3879ba57df657861ec69758dfcf1b3f568fb14a596f8e50857f3ddd445ba85eade6787662f5c6137598a7a361e4b3ac9049f713dd944f4629dd8ffbb142f53de5aaa8baca9eb2de594f9f7e96b2462f9fb451ed4774138536e69456af943146ce992e06c978866545b7a4ec8f6ff566a28c30c6e71765adf7d1a525d73ea5def9578da7dccbf8126984b229ae72a27a65a85e9afd080e6f9dbe6bbecaa817854335a937a592b87abf8ebce965bdade3aa1bfee44d9e5985f2d6dfb03d1ad50d4f72fa1b36e614ca76b249937adf8db5bea4ded3a9de6763ad8f114352efabb1d688a954afb4ce1ad54b69bd2751bd1faa5af59f3507b4168e17ccba2ef82eeb8b1561ef580640896345b2c7d77d0e67db4d69b9b72c6eebdb0b124a58ebd95a6e759ffddb95eb752beb7ec61ac0721013f4d813ece841c466ae59df630b1b00cb417afcb0999bda3439149346127b67fda85eeeb1a3cf9ea485b27a7384eacde1569b353e5673b88d0f715c9897abbef7ceaa2ffdf161669fd3f1603407ade09c65333fc8d6a09845f4fc424860880a3815ec1901960be09c620f7d3fdc42efb6f847a0fc95714f975e79658c7b72f76672b8b9bd5c9a73fef3df4c04c32dedd27c042f57a295cc1864fda2ee6661c9c5aa0e8210566b831042af304a388cfecedaf1627a1dd0826f3513c170567d71a61ffd8d41edea8d41f69d73ce7dcfcdba12eb46d6fdc5ef5e324be99d73ee4da68796e5ee9dd94b4c1eca53efa5a4d0aa2ff3af875a032e879be5f5e4fafe7884ab1ae78647a95706ca9fd47b3af9914a52af3cd518d504c400f81ec46aa67df0771e8362d06d1b7a5a5ffc4d2fd282b8a15e19268f52efa9e44fea481df918f59e4ef552928ae31fbf8d48c14820fc9086c3690e9a54f82555abcdf362d44a3252efc9d5db36369bd05ed15eeeeeee97e9cde0801ffab8f9dbf0d2267ad2467fb4691f3fb45d9f6d41a1b70202e5aac6f92bc3be8722c2a9c86791e830ace881782f43f54a3aeba52b198de3aae6793e4ef7042b8e571cfbdcdf14eb6a5b966585ea0bf42125a5a797cf8e9246a45c23526e64c78e1d867dd6dd133e1acbb2ace7a36bf43f1adb2b577590a77864c8784141abd3c99b47db02f0053522c5ced0c7c766e835ece926da24d3e8f92fa1f91de4aa8b53fd8e8acd7607755007d9f7cc8fb57a1f8d8dff7cb40ff3f978ab18f47cb89a8699100059c8712b9b89504e6534c3b2ab421cb317759d6f6d975a1825da82fd97f5ae8ab9bd68afc3b6457af0a73543b2a0667db7f625b7b2f0bbebcdf157b77cede1845122ba2aaeed65be2cfef58e879bb1b420ae5bc91cce7aebe5b32c6959715ad77c8006dfaaf2613dd1fefae8649c0a8f39ddeafa2c8317b4be7459f0aaa579612ec76652d336b6524a6d3a1e99dbe8fb26fab785362b7332ddd925ffeaf9d75f14d763547bdeb3f36f8ee7a6ab2e57b9bf66753dae4dfbf8aec7d3eafcf8d8d38d3d6a39e2743d5c0f27f3dcca5ad7755daec7e5231c90e6e451635f8c075ef4ac617fa15c9bf6da5b5bf4f780ab5c0c6994659773eeda5e2467ce5d9775bd9cd3ba30744d1ed682d072ee2f84154257a14f08279cf006d704ada0d28a375c239a8b6cefeeeeeee7fe3debbdbf26772799a518d3a4dd18d16e90cc120d879b9898381313933631e119ba2088a1b9c4d05cba9e4ea76977d0bbc374ce4317c69e30c06fdbae21b0aec628399994ccde4e522cbf09cac90db3b74b71300c5d182b9906ff0d937992a1348a3c41e9ee7ecefb55bf415a8176bd1307192fdab87695a10b8362a1c80b43c95050a61612d111a9641a21897142611c6458243a8c1c8ec0cf709a4cace36019c5f24b26d0fb27ce9b5fe88401efd58b01e7ae89642eab15ccc98953f05b9a4b9c8281807272e214b42d8d01325a32f46e441690f4d504754e5087b23e7313cad0fbf69d48c0b5f803f18b5be0e65a321219a73262a5db68f63dfd91b91f0ef52ef7d78e5389b466a3363ca0d7ad6b794f6d4a38ccd2d77724240165d10fca3eec6a825edfb1dc5202c804a43714c755fe2d16d45c747c0b17a2e140b19ee350ef3a01e22f7f7e16e7260af2d4fb67df5317300bf60266c9de3751903bc0fbb9c5b816af2220d216e8a53557044463efb563435201bdb486dad8d72df36702feb2d21a4fbd27f950cc0cb4ad181bfb6298c67b0d0af4462bc6be8f3cb12776c12cd9bf8f3f3940ae63dfdf18446b6e09475a13ab428dabbce53dcd7195bfe378eabde3cc2d28bd71d5b5436b98c5ed7b6ae3aabe76fcdaa138f63ddc41afe39080e2883b4ce3bdc7cc9f1d2bc271a8f7994b019d3f31351160d701d3788f6d9e03a6f13e6e3852e24cd720f05a5a30e6cf9c8bd139e75c9d0e853287d0d28dabfa4f60efb563df27d1b486599c7df792827d0f97a0fc97d6681090dfda04ba45562574b4c0670d02af0502ae05d693a7dedfc0c1c60a045676ec04b449723a968c90f18ceb313131ccb263dbe46a6a5c0908c84939396f747b05e9e59e28b242d67d8c82f6bb1da7a259f7d2befe7e873c326ee119178b9182b9eb74a733ce6c33ef712acefab0ff7891eb41d6cd21f47a0f8fb704ab7c09dc057b0fb364d639919575f23e27acbbae06ebae93c1baf78275ef3baca2aa9bd9eb4bb04ec6c225689fbceb0bfa2a10d506c6027abda7bd5e4ab97a8f43f9646d2039c38fff3814ca59df3c8669f07b8fff4caa43146812cf5eea2a1b01e0a1d7bdc7a9f83815e854809c4ac777ef453cc8a9c4b0dde1549e0c0fa7f2685e153fe84c028b914030c26f72a0c98126079a1c667258e5e0238b2974ec002c0791e20a9b8920cb27df939657ee1a31c257258cd50e8bd504de5f1f81f7123a1d0df374b4371564e4e2d13c948265590d782f1fc77b592dcb1fc63a0f5dc3c1c06e9e2ce3e93a63ed465b594f80602b1f075b5903000695f6360f2baded4a8b2d18fbdcdb7018d82d85cc49bedc6ab5aa9779deab8e8793713dba06eadd46b794941e565c8f5511292775300942f48b41560c723aaceba9956e3cf5fe49544a5db9bc13ab4ed4e826da8488efe6a4c5f76a60dfb8eadfabf7c43937aff2d633d7c5e8a36bfcb0af6b1cead53350b7e367a0ee19768fc34c9749c898bfddf6e35096dbd85e13fe7b7fbd7a7340ee1ace65aebb860d87727f8f4a54d8efe9b0f1c2f46606ea20e62214329e21445749694fd69af5b840efc9fac92793712a3c7a15a34ae664dc0905e578581ddf4ad6e7a36b7435a288238a30e208a772b53ca2a75f4259e50fbd9e7f7c68db7bb2283f03b543caf311c12882e684823ab5ccf321abf578c7dec6691e57b54ce37490f506b29e82922e998afc3ecac6ab08bfaa74a84713b7e7a36b38516b616428ac615d4d946241f4a1d04a14fad85717e8651d205c859254c7be2cd017eca1bd281b8aac727d5f21ff22f8c788d0d5980dbfbaa2b8d39f50dea9c0fe8785feec7d81c2cf026d0b84038490c0101520c2a9b4ebd1357ac6c63e391507c20143a0a076e0ac629b9371a8d7dfd93f2cd6a7c33d98499131cfb028ab3ab1ac264a7dba2ee6634fbe2dd0bb5284a4fca3f1d3027d890fb1228c3822870794e818a782b54ccb348f875d0d78f26d7857601b8288219c4af6443815ab5f17f223ac17e679815aaf05da2b3fd85800100e702ad9fb0b71dbded835643f1460ac3895cb3c2b45acff0f4ed52dfe15702a27d6bf08a7c241a0e0b1fe4634ffd8aed1487818619c4435a4c1db816c05bbb4cec090653c4911ba55104e46c6f570ab92ebd1925d0fb792aec7659e7aa1eb11dbc96810982f3a895edbba656eec58703d56d186b37e6ea1d7366e893fdab278e50debe303d142a1676d08d7a26d1eb7eb43db7c1b2e3df533503b3854bb1e3a22cce5d84da95e256ce9e1c683cff0d037944aa5121cf9d1c8c3e7a17d18a9418cd40b63477eb48d3e8587d10d3fb2dd307a1eda07b6a36fcd6594b15329718ae4c1679c8a1cc95289072ae5fd8108127d1e64e963909c622c2bc56d52fc478ad7a47815294e93e233588cef87240fff623e63a19c9894fce84bcf4e65e42f55a1d413939a5352f9c44f047ce77a59c80f52fe881c79f84f9a95f4a64b8e6a0e684ba47a7bd0680ca9c951e91afd4552b5bf58d5e0ac2fa32f7d8fd4d1843c58a2fed670586df9c2b2a8fdc4a17d49ceefcd7ad384c2ee86f6d1ce1785263d613cb48e0743e2a5287c7c7c7c4a3ea497f04935081249e6099fd293b6d2133e324ff874f713cfc627421b8441af8803392fe28f8532b57d487fdb275e12e963bdeda3fd087bcebea445cd8d52a37a9f1d4d3baaa3511cbd3f8fa611d3627f9532ecd52f61f5e5c2e433e9f94ba42fd5db3c46f585f418e6464f1a45dee2439485d26463f4ebe5b601937d897f5d6f59a2aa6da21f6dd6488b00fd90146dd3a5a268a39e92af5918864d8b5d8f61f467865d28aefaf7f1f1f179c2e78914cca91020ac7955388d9b69db3290c7bbaed6bf52de7be839cbea7d367b8d5f7bd366f5aa98f5cf5e17061b505f2cebb553084fefbde7d606a67d7955ce0b06c6144f79ac4144f86c411e4ec57281d7c7edaa17e689b664defbe6d11b5befa9204c7195acff1eac1fe282fadf57a2daf067c3210c430f4181341a9542a29128541a8d483fda48a391284445212c9b33c3b04c9bdaccb0ec75415fe443ebde31b25513ca51a249bed9701beead4abeb9a4de2e29292909a254522f8c2df9554ba9b948d2976ca47a619e8f6e5ecdbcd5f311839c8a6cf956eecfc7c572646589959b6416eda5ac2df368feefabd9fe3e1b5bffbe1b4804a4a2d0337bb5792b39b2b58ea7e213e132ae6a1b14b348d38fea9541fa933a7a935aeb3dd54bedb7cc67af87c66700b45d278c7d2984b6b9db68379eb5ec2a191f63fc3d9d584a7c3079ec99554eeee9528b438a53f2ad97b1f986621af271288095080862e59f3012ac7c936d09567e0937c1ca3f6deca9181b7b8a64634f8dc89612c7fc1d66b1896faa5786bdae4bd21b2ff3cd7ab975caf67750fc219c8aacffa713a5d122d161388a69c4ef6d08878a3f371b9e6d57076b3db6dd19d6aa3765e35fdb4dd9db3636c6a0e7c3753c18524b7852a00f08ef896c2c51c8d250d492d9742abfc9d14108f43e0ba5a6b93cb84d39adcc865944d6bddca149bc110fed97cca259f7317cd0ec6dad7a3b60637b93d2ead08215d0164c73812b8bf2ea39ce44c594a1fcfce2ca5371e56e6c565a81f6c3e83426ce7665a6d12b57d130cbf5fd9e02f601fbae71730f58f9dd047d9fc9099da0af0196959f615b1239a4754c033ee622c0b6661a5047e6b8593e47c4a97c85e33b6ec0b029e27c5cec91182b178175f75ed014b10e0cebae1dd6fdc503c7ba37b94162bd4a193d56cd2ed44c03c2f6cc9f6be76bf53427dcd8f7200aa84d5cbd2cf69fc4083fda381568dfc72b8838152dfa38553371f33e62b1857d2b213af6c51dfb2211fbde47d871e5546eacb1efdf8d3f7ec41aa7723dce3895aec2be15d81babb0ef65b2097ba38d7df1268617685b78250e5c8524a01ca406c75ef962ae1b1a886eba5d36350c9bda9c133641fb9de67231cfc9ccccf562af6135d845e3967fd638152d89d0e790f3c79d3632589d380ed5130ba6d19fcd1e308dfec903aed1df9a8b56e7cd0d76d1607fe54af6489fb88aabb88aabb882dabc9937eef3fb210f24e254991732174d126dafcb5c344ca39fb5acde18b158cdb0b86aecb11da7727dbf1be254d2c7a5fa8910f1f1f1a2bb5bbebc68e2eaa211dd846e329e71e7a5e3555c3a4ea5dfa5e355f8c326ae2dae1d6c45fdefa5d3f5d2b9702e1ca7028413db0d97a097de5847a140e9ece919f7eab1ee2cabc619e73caee2ea861d50ffeb32926536d8163641b328e35cd364cd020bb768333761603377cdfe4217127290708585dbe504bd7165671cca691cca3f105310e34cac02890e03890ea30336ae58bb749886ff95764443fdaf1d575d3857d01b57d6ffc27157aff48f2b661159ff48e354666215385a8669f8b306795cc6be4b04641d6c82fa3f7482baaf321d78f08d3573c7676cac493c7b67acb1f1c65a964d2c3f56057ae78ee88759d83a5fcd1def1b6b628dabe0ef6c930707b41005f4ce1c21ee99594cec7be9aa77632f1c122bd039c4a1f88d82d0c9e1a9732709f4faeace1debde5770091a29727f3319b3cb3073e07abfb16ee529f72ec32cf0fbfacac687c2764d02890ec3663b6c90c4cb95abbca666856dd7c32d5a0fc01734bbfe5dd95537e835aeaab1fdce6d2c46e3f6da9869b8b3d9c64ce36d505c7702caab02b16a6659217fb8a2b16dbdba0cd3e8b76ce646ac83cff512b4dd8edf580600ccd3e1609e5b4cacacfcac09ea048e117b3d6ce299b3e70c3641674f498ecd7ca2404131ccc9874dd00c050a8a599709613651a0a0329b3327438182460d4e41af88a72453e221a7406f496667c80e0f6c82f6f8307ff7cb16d0cd887853d2e350b2e407050afa2c0a14d46a827f0ea1b7048859d8ca2f2103ab486a38255f9aac4e264e5839b2256ab0f24980b0aa44e329f91207b407b10ec1cad75040e3c727a97155498fa764498fbc705a03c23d56befc929e121fd7b2813825bfbfc40cac2ac9c0bf118b88637b657b64bb24f38595af692e0ddf715c151fbee7b8ca8a585c32d926e249c3ecb159dcbaa56448963d842f5b40a111f1c6660fb7921d8792253c0e254f1a10ea29f92429a0b764c7ca2fd92919e2549c53a2b1b190c6425a63e19756cca2d9d28c25b177e4a707b38b9e6655490fc71b66c12cfcd9c32c250ba1656f099016585502c42560b0b224333517589263a114f48a78e20d8d956fc3e9108592ccccf1947c3973ac14f1906cdc102be221a911f190d4e800052805bd46b8f600f845e89d3b56fed499394e257bf9538853993509ec73c87be15869bb92d8389424f9c134e45f5b1239a82501c234e493c4806bc86fcd25ab2435243524353a705102e4aa7873c55c3be24dbc8937f126dec49b78f334771b66c95e3e0c826038158a1097924f84888f8f175ed89400b94d0990db34c126d13689969f6d25404c433e6b58bd3162bba2e43894fc7e07e48a38d5a9884bc92742c4c7c70b2f8a14716038307c87efb0f7adbcea09c8a1e4a308a197a4c6cafe5b0264e5f30c595f7e65d223a97cd309c5a98834177f19a5b4a20751cc29ec84acd0e991592148b3220a5060a613912b88603169174f5c56c8c9ac008309e4157e302b824c601101ba98e811a96023a760024a81c7a2a17957c889375238cb2779569e6297c8449071f4245db0e0123909dd5256018b2a00c1594a19a4055c5829dff4ccc2336a0c1e9e2097629729c4b814db2b6da4272032d07210199ca0ddc405ec93152dab9a082106412729a032a6709203fa5a943c4171b01c24062b38c18096580e1283119c04a12332987041ad2f94d8d0189683fc80c24909a8c872901f424e3aa0cf72901f393f709a83c0200ccf72101878e165d174897622337811dfadf7f71fe7b156dc4e9eea7f9b6fe1cf06dd0fb260e7b9148c140be95071be5f79fe5e7195742db40543769e254561c82be47353789c0aa40ed5d3a19a320bdbfebf28d86ce117fda077c5775cf5683cd59ff185852e8cbb7ea12cb2fe1ed81a05a163e3506c677fbf0db7e250ee42ae9ef0b375767e413116501beeb01dd0dd4008e150ee9e7591c4b32467a03765e5ef4aca4d49f1151b0b70deb1ba99bbbbbb5ef7d0ca9ce984e25056072aa8e49c86cf3d3b67bdb456b4b100201cca5f3281baefc16490f1bb8908d4dfb96666617ba543f99be1ae8a1e00d5800b9b8978078742f1b82816828629ec94d2320b722c4fc172902a7c6cd6b34fbade70f6bd5b7e0710b1fc42381512cbef81dee15430865f024e8583500104db72dfba1a2aca60b39c98989898161b70109a1df63218969f9f3b141be1860a2cff02da07f79d027b7fc0ce40df5ed619b1bc851478d8e623f438145b530e7da772d2cf417c0cc1f6f3cf38599427e5d07bea5517b2205ff8b139dc32d3681f640c81d09a2111a948501120213a4286ec08d11102db39f7f7a0f5608c9625e58559f2ba302ccb2696cda969a190887422954a26d3c808498c2bf42e891a5170bbd96ec7ca29a87b1bdeed0fc27e2e0ec5854e18605dbd16b05de57b22cb9cf3b1fcdee386f00c81fc60b4a225af272f2ceb01a63033964d2d079bcc93b52ec2a2f92314c2c2f28b6e2c6f94b7eb6c2cffb0ec6a1c8abf88dbe1628a04150112326447888e909c9ee91fec78a657ae08fbf00f11dc83eb61c5b64d71287e677ab09dfb7b10c60763b42c292f4b5e178665d9c4b239356d768bb49048446937893499b72b7964643209c9e418a45269f666d270f48886a37b23d170747f5b372243270c204018b26e08bbbbbddf6d4d858cdbf96be8f09a3183d973c759d659e8e68816dd41ba8ed1b2e4756158964d2b9317d618c62f367165ddddfdba06ffa5b9609db9a94987ca4840450db36c4e4ddb21141289341c224a53a829eee06b6a5a2844298a69f0cb3971381249c3e14ad1b2fd4ee3a26c48c3d1da8d5336ea11bb28c6886209e89561d0cce426936b136b2312339360e8eab0af92341c6d4b9acba4a1978758fe0c08876ad732c77b92ba19e8fd418a98e4310dd8440d13b00534cf6c808b0fc05f84d7a88142fd9f4e94a27e32d1f662b80b527031a28d5be4c69e6a035c021ce00ac0f2a32eff5c54cf4ececa4db1eea62cbfc59668e3964c4edf64dcd0047adfc5d3e329f7e329a02017e3646856588c7be088cd882298867bd405da870c700df73b38362fcc05eb1e0719506cfa76c3163c42808005890cbd2f9bbea1c44835df4e2c0915daf4cdc4b7126b6d3b6cf0fc794b42fb1cd2863e6e3b6cc01f3f6b20920447c81a62b8a3043fe300f75b4c02f005fd8cc47461ac56df3c592c62685accad773ce53edb9ac753ee4d241839807b2d0a7a9f098548298753c2ed703cdc8caba2afe81fd6bdb605bdcf37d2080732d02b290483c8f25684112ee55e6e41ef2b99be8562194cac6d87ac36f01b3417ae28cecc9ae5ec64fa364b4ff02d43b9cfd9c1d1b9691b08851ba66f98c5b66b6b19ef551897b53629635a5b119e721fb7233ce51e6e1ef094fbe9057af9c7668cc30d2827262532de93d84762573a248c3f5450b78dcd44cc2c9803503a9cb332df012e550004b4ef902a0002507c8ddad95da392cb498b8538e74a66e440e30039d03840025039d038400266a09c4ab70fd167a0b42a653ad7cc82823ca0ef519acb6b1bebaf1d2573502866e914db7ef7286661ad0023b6ff22c0ba76ff2e69450ce507d99316109e7266aeedcd8e1dbbeadc714bd7e06fcb34f8ddc93d3b47e9e954b7f7dea350d199c8c110747489a7f2a11eadb19988b9879f65cfc0b6ed7e94ef47f5a7740e92d0a4d6e12d6cef10c13f34f632101761306cef90b1fdbdeaa6d18119eced1fb66dae682c6c374e8e0e1630b0b77762d8db439aa789d8f6e91fdbdf405ff4f38fbd2ec6b6db61dbc9ac5aae9bb1fd7c1d8dedd79eafc902c05e14ab3dfbc06aff9cca01aca63dc5620c56fb130f8a60b59f9a8bc63d4cf8a0093b312d737ea6b94c9a3d5f93cdb22d6c96ed000936c3620536d3011b6cf698e69261d85f9a0b76e9e0052e977c4b7391cfa9fc60ad6722d6faa8b958ac8259be2809b0cfa9d4b010e2e0c7c21b1e5818240726c08116106599552923b002909f9896f792fda24814c8587f5a63fd063dd6895867564d2ff800074472625adc4b56718b733556eb0c880db6702f87d036a81980cbcbb2a03fa3e7154dd8f7efbdbc82c7be6f4aea825ee962f02c29359d503019a594b196d8b9a68022ae640dace00169ac1ad0c0898763474eacc10ea0701c24d0813510828cdb793530824cb37c12c708823cc5b2064c6802c712369e62f99a16bc03a55b255a4cc183b2a30b6c98620d2731cc98408b191450412f187c4d4c4ccc133357f4b0d8086990d9b12734a0d37290191ff49831420f669a50c54e0aac42c6336eb6b2fe73087d6c60d59361fd5f10b380c12cfdfc17f2b07e2113d6df755cf5ea03ba5264ef03b2227b5de701b9ca73c0297fcf09c3ba6be1349e72cc92b64081ac3b7f920f8a7a120dbd0f880c40d009eb7009eb4f0dd9caad81085ff4581e2c13010b35a31df4fea7f4b0d23ef8c3203408b2f077c8e27662dfc97b6eb1fefa8252cb44e81183dca8a7e05f5bd0b7f7a36521404bd84b4948a0f764e1e39c1d19ab769460a5c57a19d9225f0132f24a800caac5faabfd20b3d262fd1559a6ac00f7cf61160920f2311421507ff81a6095a955ae87efce20736d9421c02deeb339845280851842be17bab0af659c5d08082aba6d6543b1e1930b7a7947024ee5be219c4a046a8728c87886f46d13817bec7d13810d24e01eab22f06f68bb990c8e22048a7d7c11b0caf41f6095ece3bfcf0033615fd358282887d00cb08a896016927d5f04b3b07dd69f7a09aa86cb64b84d83f214bb10106b02dd625525605a563cf51e6e2836dc2684a76615e845b1efb965c70eebe3efb884c07e8643bd6b3bc253efe5d631dbbba04051d713e8dbe1efdef95b3110c6394c42c633aed12db1fcdea79e4af696c234de4bcb8f92057597b25d889b627d07db9f6214264306f6f7847de69e4569ca8dd8713322e546b4996329f69df4cb93ce5e0f0ef53e6e275d53ec4a152875a8f7171538080dd48ee7ed4001c31599ee85c382ebe80001848e0e103a3a4d3c1e2bc4ab810c7c1f573cd55047070820747480d0d111addecd8dab7038e68c56d040ed426078339c531cf80b43f620096014511157ac15510ee8e59f95981d719b810519e4c2445e60194e36a398a12e64da2c02be4415f1f303ab5cc15d79314fe6ad1e0db3c47f1e4322511744946a4147d4c76885b4126203bdfcb3b2e39fe22952a90c25d30b4c0bf86165644564b322b311d39424321424579e43912ce08795182b948a15e9314c539ee40fe48a5389f2b4801f564a564a407f8670153d4954ca2906c988a9441ad11201c440071e745a9c8e38940b7a238eb311c7552ec7553a4ec5d9176de2152fbe7495fb88838d8f72957fb4e1e012b4231062cc893848a0fdcede88b3f3848c67dc7763fdb34ec3bb82596c9c0a7c15caa5fa757e58cfa96265e6f1b0ed280fe7a22cdc34e593940939c3a57a871e7e10d20f521f3895cb41acdb96f601be534139548aa7fae1e6ba46c3d8c38759de778d683521b3245581bc76f0a4ab509eeabfe20e331efb25d0cb3ade337f1ce8be18dbff369443318d77634201eb38eb74843142131d0a2d07f149c169053e4f28c0de8fb17707fb5860ef8acf0e7b59887def69e10cf6bd3fc5d0a2065370410a2d66d08696c73a5af0b121cb41b410052bd06441643243c869de13cbfc712cbfbc2708f9dd93757f08332c5e233c90ccd615e97b70beeba70d7177979e72aa4995252d5f794ae689a6f643fbdd857f1621461acb4f7286c8cc347a9a88d07e671685b4996134c44c03fa0d3631e81903daffee3ebbbb43e92c771fc1a1fd2ecf10617d2f4ad56bfbc2d253fc190ddc72eefcec505917b47ff6155960ed045306cd32e893a7f86db8f7de7b10bef71e7cefbdf7207cef3df8deebf79cf363aef7e459085f8c297e285b998c143433891a683fbfef3ee18f165ab79d63d9a7cbba40fb658c295c4614b4dfbf5f8fb6c0a61682efcab660294144e19ba12d44964a189194402a29a1647a6f738c02818e671a81f0619a4bf65650473642022184f5b9ffa5b938e6531a2971258c909c4ce07b49804a50c2a9c4bbb7a08492510b220fda50d02bdd630bdcdf795b072483ee31babbbbe7ce5f4e41fd6db873ec50dd5d9925e319d7aab1ee33f7f8c2b013b4a867f38a195b41a71601d79255cd8736a3ac8fd6472bbea785248db61965c5f72ce9fedcdd2390a762dccedb516b1e815c15ab7029e73a403e568c17968ceb5c6b65752c1aeb608d3435f446a0d74e727e5c901e128d467c34610b28899bb15dc7a9c077a326d0fe1f31815ed00a7a2390754fd2dad3a11656d7d1828e750e05f4464ca0fd5886bd3fb76a2e476242c6332eb3e321e2546e887bc7ccfc266e470adaa1f7feb916e74125449841194aaca0a62b9cdc1ca1093a6239c80c74008618f498014d1966b044c90e2825c30918948485932968690b13204a81f0022ab1285103d580981081922c07b14101096ca24801bd2c07b191b18901b2823790b159d9585fd91c9b9146b44fae3a5129b2de7bf0b9e754bafb3da792814bd0f72219fba4aba4bfa63da8048dd6853d0d95aa110000001315400038140e0945c3e1681e287afa0114000c8d9c486a4e9809d42488511c648c3104184080012020043043346d00fff7e338371e61b6dfd62717251740444afa2cd7aa2aa5bd7752945d4f2102cf4edf7a3b0547d4a9335c71383292d5309dd495d388ec99c3478f43d1f78aa140a980f132fce90a5ef1bec2d9b672d7ae48a38618ea852ee3e983929dd5bf760e1643a053fa6cd1697ecd526d79f218ffe88768b5c1f73e6115f6211cafcc0116f1f96874c829a3dc153388fe6367a75e19f9783ce5554b266842e207347bcdc8b1c99572555164abb76cc6f8cc45a041497b8d2c2bfafb556c5bd396107e5c75807002883a786c869303967411bee6b35b8f573605e59c9b9f9a7f54e96fd63f12265df6022c4396c9ff47f2c187d42d7b5e708ceb31bc4d49716ee355d96c6a3042dfe01351d5eebac9dcf338706e685463caf7ad6ea6ca4a4e0a78a3951d8822c28662685fcf5444623b4a53ebc67cd80df3ced14afc6e4a7ed540822db967771d6f7f36c47a23eeea61abb9c7b1de83869432e799e1c878e140c0ad515f672a06596668a1ad23d3a9e4aa1cf01b0afda84b4aa63f1ec6e98c3228291aa84afcc5b476810c36e50666eada346dca3b759c135eca1980f113f92ce1aa8fa8214fbb638de6061ce5cf71ae7c80ae25d7af4b748ea6c4b1ad2103be2d653bd533e5e43c2d2625944c540987be01b585cf4c1a6f1e52a1fcee40f3a2b0f554d47d176bffeb67c3fde818e08f31b2172755854b816ec92e62036249c4226ce1d169f309df2682b2ef9bcee5cfd6491b7733af5e2573107a8b3e27583c0a3bc6a642385869a28b96a1d92ddd5495a0e847fa44cd2d67aaa3670d572fa280df88c74a000fbc7d82549a58d341f0f31a9357c35accec644570837296d7261ad945253456014d4c86923ae0426895ca4ae3b381873270a0f629437f883f863b4818357bffec15335155491153a40787410d9ce001a75a5321a5ac5752a46800b09f83c2016fb69359836b8409f3cf5119039eb1254e656e138103fec9debc025b0a2bc16935c0c3c068d2b6c9107638a684274cc8234dd94a08548b992102439adf90ad93a631ed5589a607dd6c4dd749fd9b2d44b215a323ea25aaf392b8b0b4a60d0b19fd19558242576889ee8a88b1255c7146d18de77b110ce34a1b3f3a6424f9cfa39ba206b46229dbe9e7f49e03bf774bb02ad1893bbe9f408c535f22a7b4a2e7643e13d3e826da8d69404a3b3c9c075469e4a77b585f0df72238c2beae2f4713447719b3ba949989a754a08def3f361e120118fa748d6b360710b369d03401110c680c8fd94d39e87c638f65881ea5205cffa7437e393f1d290bc8ff0063f6110ae7c1048101c68d6c45e0a9e904d6ccb6171c3c57a63595194aeaf8aaea703da2dfc50100ff3437822f490af522ee0696cce70e9136fe90dbd37a1085318e94ba76a956896a3431f10ce4b0131c82dcd52951ac1461833a179380762f3a3d0399ea5870bcc8320ceb8eb67540db7ca207bde1875f47e5830b3273473ee10ed713fc6352347a5207d6ee847816a069f6d2fd45cf1ed5d769905013e2458d0da60d8efea1645f413b91a19fded0265381b6241a20bc4a0b2d83d5c98566e42453a89c16f412a885a8be07c3b088f9c3695201e7ee1cbd9bf2a0ef940710dc46522cab422e311838f7b003482fa117e28bfb2a03dbaf3373df11fa4993c5549409077c09e061afc29be2f38a8db219596605e5d8e72c42828cc0d29e91d5d6abe784b9efe1b0cb6b928b9d415520cf24612665eb961eb44b8c4030a96ed81088462085ef9c0e07aa301b6da78ac5b61076ccffa46b79d51ed613a580f5477178007d92d73a21fa08bdc1f8e046c4912df74edddb09eb6f43e1f0c308b3f603c0c105bd36d094953436eae7c4d42107558c106b7405b0c0e86299d6591d35421e897496a84a1b6bbfb9b0aeee095807d10e5189b969dcb9f31092488076a38422817a919d15f7e264d9fa8ab87a2dc21d2aff85e61ced614998595be5eceaec4c87b23a6c94d2ae876f51eb459a984d29c2013b061df487b83932babfeb08d735346e95be2143578a96a23e0b4c89103faa6aefe2e05197b6943196900e19080048e5991c94687eeaa41cdacbe882dda86406aa6166d3d1ce692a6c01cc725c8de14c5e426a6a172c1faf47f0520ebbd9429243839765acafd47c414297344e3d33062a920096f9ffeca90111a4e8b88970c725d1343404c2a097ea9b65bafb7b425b95f3f363ad8656794d82d311028116be8352668a6cd983dc1ea10162d33edfd9780dc4daa77e649f9dc5ce58205b4db3495225289c9f4aa19e7856896611adfdaf08a82115eb5d8cad03e3d043d23e817244f07b1ddeeaa3b26291a15beab5425bea51d339436046bccc38ad3bd7baf78d69f3d65c546f004d4115f3b90c74f566e57a8fb98b4227349d51f1fdffcf0c8f56878a43b84c3f9fe94ba7e5f5591575392a3735088a231fd4faf372e4f97114972a8850f84933742556a4d1903decc9e9a6977ba6c3561633250305a0463156339175551a36562efdbac71a1ac05d2bd91359c8729f15382fcfdc900b12a24b3ed61074fd3186a3df3f16d0027dfc1fb9a1921dc8cdf012a269ae4823178f67ef292bb8d876a9ca8a5b0c3a5b788707a56871fb2e58a4216fa780db44b6f056433e59fef697b5374d77a051380c186ac0bba3b4fbc1b239b5bf2b660b2f04fb3e456b1622eb7b755d71c557cebf40a65c79ec6cbd26f8ead8e5103595ec39baac8ca304947c011d10996322b3905faf6f1606972291447426bcdc01bf2cfb49595cd0a882e6b888db6fa0c5119561c3ef9f511199de5d8611ffeea0f37774d031c52618d125180111edb036402de16cca5b4e00b4fcaf49ad18e9cbea64221e438c6d1e5d5b26556e50260fc162192a84881032c3564b9e40b4947987fc8844b8e63c3d98435e43098578d1d3511b5a3b5c412236fbdef9efd8067f9337b567b5b26c30c5688cdf83456328c2ae839cfe21a01f8764b3de063eca897b9679839608dc1bc72a5d51cf9416c0f3c199e006f53ca071514e08a7d63dd9633e13d10e679409ace718a247afe8c254ad54289704bb71d9e5ffc2f357597fa9b00b68835b347b09a5dff768eb685145a11d5e94243bedf206b6fdf9a809c631e76841ee473211096deb89a6188f4b023a5342b8d00d6e8a0a8dfcc2899b6edd1bafebf1fed17cb843e7178d8bd1fe9a4a0f78f27b16aadc62907b6a3718c0e8b2e0592c3f2784625170bb338a95dd259408a95cb0b66157e1e4f18b2968000a1f95db3c27a7223cbd1dff51f06d26669fdbaf73ba332bbbbf243971d111f873dd1875dc24ee7ae74c7be80d2c7d9670d3e6c57b303b725c6fd23cdc1358d2116b1d03383468b08eedf3183834760f646a8f7354e912a223c337efdd7d057cf789d53d0aecf9c108d423d1a6138d9b5e1473dab1956cecd001fc327b55f7f51eafaee21ed33a155eff490055093c77cb7f794861426e02e55d8fd1b75df85f870b1fa2f1910e612845fe07261a802022e70a36aac1fb4e5d8097f1dcb1ba65f307a1670e3c739c283603b3e40e56990373e42915245e23bac07c5367be50d2f09b5df94734dccd3f921118d9f058e769a5776916143928aa4c4c9ac79416ab9fa5af096b25d1e7778c1b081c020971b9b144f0b2ed195c31edf5ea14679b0d98f4d54e1b673fafa48b306f302a4ce962cf5206352d32c4e6ae861dc6f35e347661d27b2d4eec6f06e3157fede7375cc292c685e01a877208dfffa23552f14eaa13c06661efd37c8ff543b5c783714d86a07e4686881a83e96cff94062c1606ea67772b8edc7ebda0fe10d4adc9fed0790597fb1079e387de8aa365e36d832835a1960cd1562ac2663da91207942266f17b48b29363aa3bb420d942fcd537be40784f4ede4edcbac56a8056294d7a2206d5d469078217cdd697df44eacbb2ee633ed4e394bfbfc3025b6936c60691c673faa9a72c8e21458f4dc35e7f338311e1c2521da9fbf751358337d2cb8db8727330fc1ed9e38ce3d12dfd8c2facba4c13a9ffcb7b349b06b25b1f0bc5a2c004f28fb17901d9b52a8b6e5e34fe1e7656824035bc2815ef756c44e7677b86a5570989323195d8284501f844c65970610741a94d71cbce3842c9b8d21d737a79e8fbe96119bc452e149ebb956cc36639529e4b25a5da8309422946f1c986e5b3c1dda1971b52615e8d94ecdcdd8c17665675e6367385ffc85474d7ca50465a81ec3506a5cf41da3dbd5ae62cb594d44ff16282f256fdb1d08dab9745678e1d0488d9fb81a9037ab706f8cfb92077a4295c24a055b471de22067cc00f2c9a223368c6163924c500607a16e96db5d248dd0b57b52c086d784fd7ca148c108b1881e9092e0e0e9e04c46a357510fe270cc348322c1cbabf0f228f822e4646018a9be1cf248af919983831a452984acd9820946495569726e4d2ab34787a49a215c001a17a8cbe99290dedc406a719e44736e2f0b07120c7f2c293bbacc46d830672b14495067413fa0e08dec8307b367bb7a1c52b33f9c092884d287f9a798d891682af4e3851da54958802055bcb8c339dc2ff7a3ebb91cb622b00cd3a9f481a1baf1e8b0b50821ec0e2073765699a91a35e3561fc6df6858444bca659091805676da02cde1d272c44ace0bd6665dfa2ed3b815647f1ee4b839ceaad1fd5ffcdb9fa69d07e61447b07e81e72999ce98e15863646143c6e38cbdf02930eeab88600c17de056fa8a2cd57f719c645ee8dbc873e51aa90aeccccadb66c70c4cd8bcd28b71392f6eff707bfbca980db02536e38374b556d533992a0d91c273a4a030d7a3ad550cbde07a308e34372f342b5555bd4800f4f86e9ecb798b8b2967b77f2b2153889c497d913a8e2230ed9d8b53bd4dd3ae40e8665a07134af7ca03c70af3604db2f735c386cb11cd18c5564cec4f8961ba30334e3ad1dbcf251a8eceaca57e7146770ec6ea11e8a50e8871d08bc28cdfece98e3208ee73b4eb57f8e37c4a961c5ff2058503bcbd58fa39d668fc8a8bdc0271381095d30661c4e77801a4045059cccc41b507cca8f8aaef6c540c1c8c0bd597060461542cc90f69d5d5944de7901a76496e434f62d2e1cac34c8dd2c6409a8c025f5dfef67a2a28f9c46a8a0dba36d2210697eca124d5f0d487f688c5125482a1de5cfaf13d3d09b2444011f51dd83ca6ca3274b934dd9cada00bfd3f4d4a4223e8cb2395ccfd149cf9eb71a7ea83992c4aeaa23ed297c8f6538b30ed40229487f051bc4b58d1153e4e0391c93e832ddcdbf02b7a5b285db05fbd92e6b1fbab2d36c62ae9e1b4fbc43e80d5d2e4f8a43a583dca2b0a2ca5f5bab3194eeb2e3be932140f79bc900c054487b06c1a60e2bad4a18c77af895787bf968be3704ff84237f547544108d8068e61adbb61916f7ab13372d396d3388dd489eaef670359e8f87b5abc6ee49551d77610e14e6de6e03b7ae52614833ef888be76c249a04c0d8f0afdb91714629261858186c0086beb71526d41cf533bec341859440c6152bbe521c7323036fab735858e27cd8f76e51891285243564eab2a9b79100eaa6c9694858b5ad3f2085da260fb1c3ad231e03bb1ede2a69a2786cbd243993451d8e50cb830b2a7af731acd1addd96a833b55de5be0022e3a68686a59e1694d5958021c37b31c3ed0527e9270250daf889562d03bd0a24a6fa3c08e2d7520f1fea5d454d5b473dc5c238381b03c4028b89764332f421b7ae874b4a0b137192c1dbcbadf267818b8901195a30b319e0d0e5219a72dd0ba3c9bbb0ce61f61d8af82e06d521e5d47f88045d27d9d226197fa8167d33d723d56d5593f0c81dc4f5f397689abb59e42ead04175a91b551cbe60a34f41644d1b2933141a054f686cc4763ac8eaa741566a54615d1dde3f5fe0952f5473308a37590bb41dfac2891d6f68c600441bc896c85d00a226736876c8871328254bcc8a4e8fd70cd1abb2c9f6b94b738f459910a93a9e1af5a796cc810e066e4d856f9d196ee6a3269621b90b0c1709fecf6850e81b21cc6de70e7332d443c62c14f9699a6e2ab6d12b4dc0d72b9f85be33ef6869dec1043fad8e21993ff8b80fec7ff46bd78043bdfa6548823707e2bda5bb88cf3ba023b77735bcc9502c4d90f61a45516a977e17d05d2d131b09d32cad58e51b09a6149b1f4ac58633f6dc84c169de0d688763c00f3023ac096c4afe264165ae1df506bdb3d58f15c47e333e963a30f812b5e95d7136cbaf46266810ae20afa155408269a9552e94638cbd8e6ebdddff54b9299ecbc877a3b54bce17d8b80d802971af58b784ab4cd0bb1aaa3ad43d00993de41dceba29032b5961c8ebafef3e324ec0a809c90cf521103a4811f60d0547d13416916e6f687e37328cb0e5c4d713a8b4c1f20e0a0a77966e753ff53457b83744af878daca334c9cdab3b5601eebe1a5365f5fe6522b16a53f47304814d4660d9728df9acf90ddd18d0d17d92aaa74b08372e69a5947f8af6fe53bb60e676ac833c8162a9cde415d3af4e69d42e2ae2232040db0a41f8890cd28bd4da912c6aa9f9447e97d23b390682fd25009a341b0a06e948ccc3d24c53ad661b104a29492b5b166b8d154a628324102052f448dd81274b1d8e03c6d61e21c051c8442984ac9f7387a3e24c7b6dc10ee81bdfc1bd4e4e088e2ab738f1076c70aede268c6065299941b8e789b17eab8455360f9be45609e85e8659dea66565a33d9639afc889462787e4f71315734920b531c6f939cbe692ed4a701d761d8d0cef2c4333e90ce2d5898c15510be34e0c1b43c44235bbaaa31001a0cf018ba3a665c20a7496acbec923a95464d53ff8520be99268133af88c66e19bded520db81d9746e98956f95a227ffa8923a96493676280875dbf85fc7ecdb7498401046fbb63ec00fd94bd583a30b6f05fd59c86fcb189972f1d92a954894187a3bbd0b43302bba572a1cf7c77ef9c432315b65fe206154b2464d63cd2d31228249c73597432f9dd85adc4fad58b220d0e5119f8815cb7593e43c242afb0cf4a7bcf5804f60015e747d560181a9c9ce6243daf38286e975f0a9fd107457f34a27481075f156293cc0f2517ee821de1b7202025586593e7bdb2cf371ddf96f988e147c93c2795795044f6ae6eea73821dc83b63a02620d0f488ff2c9c779e2bd98d32e0e17014fc18281b5f1335ad4c1a3d3a834a16132a269aa496d21ed0f7a92ea6eb08e39b42a476ca0852f8c680518ab91d7ed143a4936d4803ac278f803b0020ad9410d275b9b298bae53ae4532d0010b920b6c505d633d07398e4f8615d86a46d44efde17015c9771c61ca922d782e23c24018db51745df5ea7c1279f245539a99fb9e0d6bbcd67d737d35d06064e521244eb24b05b628ff9b05b0c628c352218b263a7b02e49cc1bc1a0c44467bd10247734bbd7a831cfa3c5ab290d7d7a84ab33280c1848fe70a90733bd3a5f62250a5f0082eae150111aa2b7e0b2bc250be997cee10d00ce7ee4fcfe7ae279e78c8ff5c393fb9385e6fcbf06dc4573410b5cc509442af5215d412e5621c15baae920423f27bd49be9adea95d2bd0c425eab0d5741d6486199b832a8f02ea73676f800559c211d962fda06cd3afed84dc637363dc61839a368f12aab4b68922b204fd6bec4869d8e5b5c089b9aa689353fdd0e19d82899a66dd4785ec30c7e3c0ae898a0c54053e33094ba8449056dfb7d9516de42c915425a0a4ca946be9a36f7818a503eb7babea75c626081e4e41345292662c4275c11637cb69dd57b522ad51980b7d4f9b04ec2fe955ffd243c79294af4fdcde90c442b9caacf3db6270cd6c96591d393cceb8509eef447f990a929d80b9811ad8355c83a94e4e1be71bfe470dd396d99fd2ada58daf55f1bbc6ac7807d07c9fe1c18a00e6155fb19d8c0fcd06f6a6faa58dba98536944869b1f3a4e0689e3c149f76f64c81d63eda160a9daec59a674f509002a74dbb01a283d8111ea62662aa7eb8dbf545a97efcbaeb73f0ab3ca9c9f2b5bfb78cfcfbf1b65d57741f90cbbea654086ca26d1dba788b9f1108ab086d7e51be37e2ad5dfd038ead95633e2bf7709cadfb2a13f02eb900d3fc08a4e5995afe592203721cf8d5d0a5ce6f67fd10e821d05fdcc8bf5687e50ac8b111f71f21562f6874aa67c9cd4ae0b6aea59c11a006bf7ae60eb9cf3473e9f561f172486fe10f811360570ebf319d3f6ef717c9492ebfcf2e7c704a7ce2b1fbd488fd70b95ff2177b8d34c4405006604a41bf68c832a2dec4e90f4e2189e7aa065549d7c344f088a01352b89e686fed9c51ff71f5060446c1a891e6962a160b4e1877f7977788033497238f1b27c31900960eb64d0c5b5e89b3f25c4e2b7293e00c564a003ad767d31e556467652896efc0b975c18f7d41ec81e625cc80fbb33e7e3593b327cd4b6e8b27001473280bae6e534e1fd34dce45276b2cabc46df2e422a0a629b52eb15616c29bdcb1b6cdf976244734f928fc39af6bbb8d7c93bad2acd5eace281e5e20581d58036323b0d717b25369992bd60c2094595840180ed6ce21681c18c3bcb9fe68427a256385a6386733a1c75945c3c47c11c19458283b52cd930e1ce0bec82722652eaa2dcfcd9c50b860d00c3d33040856b4777a92148148e3e4ded685a85d900621b432ea9c803082148e00560856a2a447ffbf881359731d6f5a0ceb00da0411080569e9d0fd4a46604855c28c0aa5d2f583e43aca8a1c8aeae02db02e8fa87e99d815617c45c793c1d18e8e7eca78ba6bf720c460a5e11ede17d4346b4acbfd221598d76193b7c240bee6e0e4860ef99ad08094fc6d0f3bb542902abf37fef1359de5d95322ca4a4ed4f3845f24d082d0e8339e69ed02b562b7c6ed836b4c2530737b8f3c83164ee886e36b138e636f2b0b04661220b230a09f4c4edfe149bf8bc6231081b97439f34e04f61fee926f12730f0f80a8643fe8bc65556938aef08f7425481681c0d7540add13573ada11b0f8654851d9940faaf2c2a5b569654d204b975ce7854bbd00badedb3f72c85abdde7e3364d67a27bd009e5340a6d54433b933fc1592a991b933fe676bd49ade6deadccb7f145ed96bcfbb6d27c2f0fe56a04246f47f8a4b253aa3812b7c4ed79f47513561771f74743c4fb09745c0fc49da99326fcc9a4a5cba522fdc9b7cf7c8ade12a60c4da1e879eae298c484b7468784322e4781ef511a407e70ef70d02453e346e7595b16fcc5e9cc7f16d656451102485fb438842ce36b322bb550412ec006ac57d2e7e3fe2811e84142ee6f701f88c96b4b74b54191f433a2255aa7a73ed1fe2196a0321539bf10a5733a44515b798ba72a8ac1b40fc06dd41a8e5074f6138d6388fec159a0d6d6b6de0f15c586c851ef6ebacb39eca4af64ba9aebd25eacf4f2af1b05f4f84444b5bb25ff9de700cbceafa36757f0bfb55d9667df86f5637eb852300ac3664dbcecad7f4d26831b66d9aed2a3907480093690c87d08bf1141e5558decc1b14218735636faf8bec170afb498e211d9153ac843225f6f6e2435dbd18afc301fc42e3cb58f58b3f803fd4efde7f6e9553f5a31f11a09df5c9743cd81a57e6f7accbe53417ad0aa31233ad621084f0d47b00e0558b37d13b6779c7807b8a49a121b6d86dcc2e34c3e87e57782628537598566994019086d139f9b4ac26cb016914ddd9520858343ef978e7b76c402312e4335977b5e82b130d2871aaf850dffee7831ac35d4d898406466e81f52e17ec8dc7d5dad2719e2240f84936b57da7d23e05a689220c43c3ad921caa785b27701287ac0233dbd94e0bf079b33ad8585a0abded9e10893457b3f7e6c851ce6fd532933f716caa01087b49a566f49a1830a710654b0dcbe2154413b3890820fba3c2cd7129d16c7e089a180f26e6c81c362b01ca97ec9d94236fb582e04f63fc1000e022597723f67cc4c809d1c92bfc5c790d26f899c99fa11afa96c8f7936aa5135be7111b8c6652b636c9e0c863e56be46ab70bae2e8785cd4a60de1c86fbb8ac0f812e92d9ad131c71350e10a61a780bfe6cac03097ae96ff02c76f89a33680b3cc7f0c2c8faf99ad35dbc8f2daa4f86c814150f688a0c9106be3a67edcfb311a90e94cbafcd16242469b2b01802940b89947e6584df04ff11e8ffef2b522dbdc7d01ff76e8cb4be7e3f1820196fefb228d2ac340524a032821563926d70ad98521e512f27cf29cb1d26db85dbeca6090d30223c1b491ef9a46ec0264d3b97124ccfcbdca74805c837da3e6de88b7aed711fc6f0d2c3109144a35d82aba8b0d258cf131991922f8effe6b25546a058c78b3ddbd0754b1017f4bee02e35d3280e0b41cc79089e39e2bcaf97cc6afbeee5a8efb3da7a302f1c8f4eb0dfa58e37a6e4c6cfd8a1efe6c1d86ba37dd1148b909e5c53fe3451aa5cf5005e80a006dec5aaaf9fad4167f1eb44b7d0d96634ef454c91131c66218683cd243092b2d789e371d4f46374ec46e4da3ea5c6523e2e18e16ec4982e14e71e27a7bf2cbe138077f8930d7b4487774214d186ce90c1fcb5040a4c53fd4efa380db1ca4c66bb3447340af84894bb8a5dc192f88060a2988c7297aaae0da9d1d6eeb47696163ff8e6ae361108a2283f48729b5f9587033645422b7b92cdce485e20746f44ac2cdbeabe1d525ffc4397bc57f0363f740c3d379eec3087c52042fc541c3a3fbeaddf02d0fda0bd64619180915900e202953df25b3fe7220bfabe093d2f66bfaf1644c77f78e4388d4f1c7928cdccbeb6473be04e78049980019a41251b5522e49ccc000149f4d25c9f04ffe9b6be74924978aee61dda0d1c99887acad36db6ad4e34505a5131286f4ce048ff5a87e9c8c68a297c853ac76dc55ebff1af2f8ea7e075fb790f0ec4d7fe6750ae9fc2c7dc14c4e199f93126d6adc4e1efbc1890df609b4fc54e9270f5eb00eec190853a401250a909d5da824a37879e1bbfefb0fbaa06438c342cacb436121c7c6c4e515c694ef7eb12551811f92b8e7f7de39b3af254689d0b9da998e43e2c5fb3b464079660b45de98c38a40b18e713bb909a7a0f847da64e904cf9224c1f1633d0d26bb06d98ed888588e43797844cb450262e2775f87dbdf0d892332acb56bdc005d5edb859231be882019012daa7e79ca84f21a13a0ca70409fd33706d15dff9456c7560b603487c8d47f5750b32fc4527688ab891ab843d5ad2289f555ed83514774dfb8cd49680e652f176a474c069fbfb05071903a31cdbb25baf4f2322d6d853c92a055e705ea3e2f02de3918417b4d0a930903078c25c2b4c5b9cca39701fba7fa1d348231c1281bfb3719c6057e2ef5ce93bb02d6a8acb49332860cddf363724eefaab855744fcb27807c12f72b973cc9cd49a0a537cb9f57922f93fe38031533789f707bda46799bf201ee0b5752fd9274218c4a3ad428beff0444965af6f04907a188938e65a4456260cb3e9c34a6dd7984e807add6d0906cefa1f301aaa0b6ee6e95445075c6b47e9a18efb77e70f96c1ff66b5ac6e5683d5615db47b39740c6d9aee66674879dd9bbd203d69020676f4f7fa832c7e47d1c9fc7d73d9cad7e751651ea710fcbc8255bed27a561ad011ae03b221115044b88e4006cf6160a958576aa291ba517a7cf59b947fd3a5f674319902819907082297f97c8bc41786dd6137e2173dcb759f24fb11adefff5403cb63a269c9638bde9851f7e8d24d05c438f2d1df330dccec712789177f8239f02a311b62e07e665927b5b09b3318161ea1de4eb2d1f22ba8884cf7433b5681d86d0f66aacb060ee0b238daa7fa59bb6612657c3cf1028d86055de598f9ecd697c7cb2d16dfb5b5d372dcf5f8eeac0e71fdf05d8b0ee5bfebe3cb593dc4f5075f9d847ef75c32eefbc497e2a52a490ea77172e89b8c6a21fa9802098fadaaef925a83ca3e03761c43da65990236cf3c6d1fcc0f639cf5b4449f3d9279866193a90414f7bf4becbd708c05ea5b32c73172593103bbd6bee071935f44019aa96493cd28649edd47393477fbcf3a91274466ece51a33010f4217aaa0adcc676f1260c72d270d95125f2b431b2f7e7921648c0255fd0b09c7ef6954f1b2ce2b7fcc29320a18c78c38e8144e2d8651f69724e2f558112175dca033bb23ff0f9455b292ed026ed58d6bfff6298c0d66333038147fc31f4b9e3f36247587421d3113e456624fc2f415142339ea8283d8820796b59b29463e1dc99cded85d6a53e2d0c7c0f0efa09d841dd665e2662c942551b28729667f38d8a8cd3afa02259da05f738547c636b8be53f688186cfcc0ea423ad744c799c5ec09e91a6e89174857e2ffda746771c345b9dc75e14705fd7887f657d4a4e1451a03ee79d1b62f28200ceb2e16c3adedc168772c98db26f928c1739322a510c04cb002a75634bd03e754aa94be2b62e97d911d134c8c8f13e52dd8e769e9fc45f6d2d070d4af94a22e3adc9afa4fe838abaf80c43801236337e049304ace0fe5815b1afab1a9871e71b6b68cb63640e771781f96302b9a5bf7a5ff1c221b5f00815530140401c74dfc3b6c8234e233c50b5fe0204d74c7f2210cf6a9d13d541edf8fe8448787df806401fb4ffdf6a457ec4f5d775851acacc6e4ce84d69e8e12838a86a0aa79bd8a27445bc9286da8474615db871bed3295cc04adacc1cb930b375dcda32168315577e3c6b9bb6be99a2a0438a0038726c4737515dac9a2d92f751b38344bdf2cb6241c3c3de70cfea3f6991618787083139b682230e0ee985607e4746615867277c171e89d8ccf54b1c1afeeeb2aec9e67c00bc97c1fda39824054fbddc6d8035df4f43ad36fa0e21ebb3838edc73711972ee5bdc9e39baa0d149cc774941615adbe81689744bc22572efbdc46cbaac4eae5ebaf9f51db0bb8a2c63626871170b7e1e630b8b126687d652b99f6706d7e92420b433f8d44d0159031f1c723a235f6b49b469940ec8f4a8d7ecf8e747fe72a075650878c9a79810b3bac6457198e8eee9061f800da519c8e239eae84dccd9bc316b9c77d2187ba5a6e3aed464f2b60e8b7ad722d741dd190a4b2546d305214abace3cb9e03bd28a5e5426e9385fde34ee25e834a39f69a008b0131949c324eabc295d7df7daa3714b4d7de42b1f8ea2ed2165d73da711fab2d85ce97a58f1c8770ff71103bb85b4a3e167e66b4be6b17c63b1be49e365dc331f583cdbc5d4dd762ddd4111ecb50859edf9443312bc25e2f84728de6f9e082de97bfac1e5a18ff165d2239ead8fc827d580e18e68355967dc23e69f3f1ba4827c4df9effc6710d1a939d44b9d6bc7bb2083cbe4370668c0b5b8877d933f32a4ee53d4ae1dff595454e34d1a73c184b3b43d3a8632265ba3272892b49d0d4606ce535d46486de06b46cd0030c07b03180362ff903b09954c9b5729f0f058362d2ee8a6652a7e96c539593995ebec100e99a755bc24cd0b5c8ef329b063dbdeea9d5a5a5ca747501762813e8eaee36deb55f8a231351888148ab295b194c8078ad13327710491f187b5f86a8218e1263c63ecc7f8b390dcab74d37eff520306a5e11bec1dcb2ecffe968181178b11a42d0346f624e057dda15250d4b7b131731d125aadd8c281126ad61327298bd970867aac72deae5e38fe241a51c5bf4c711015560d38382432ecc376a4f9a7bf73b2564010f4cb3e6b39a85fb3d8f27b8fd2bd8813ebdd1b81dc968b25baee0c1b96d609e18be0f2c66406405cc450b66e75fa2bcdc6de3191125d2d7cc49a0307b2021693f74cc7fbf4c3be80f92e18c84faf71bad72d7c586fb4213516a234ab4c6e5886ba0234b32ef30286b6119699f37b7912398b01d299c4ea871e0f694ac7a46b0c31c182ebc93329e7817cb467444372d5d3ace1509f359489eb2b60de4dc641c770277caf7e17e80fca8597065b524449be941449457aea7ed07d9ece3f64b1106284a2201e6fac77db5ae31342e078f6b0933b079e1d8da1b02887a890f78ed587646792428c744b8d7be3478507033d517528d15a0cd7ae35cc608296f0cacb99a35d6c4279648ec7203c191d010ff0d7b7c30015d97a3db60d24cd14a2197df6ebc5f8bea9577e3b28c5afda516234dfb418d38cc5a4b0d933e1d06fb8c291acce943e3bff9d1bccfa156a5ad4f7be73ac4e958fb90d71151d19b0547ac0f0c92fe841569b3c812069059fe6528800a4c7e33e5f2928251f45be962c7756941ffa0796d95c1b37f30910ff6b9576b3aee7b87e057f681ee31088525b3d8eefaeb6cbdcc2a9875067f855ba197baf2f1bf538579a7e573dc9ab21cfee929e2cf1fe220cec6234b3301c4a2cf6a9e53e06c39c0d8057273857dcb70002ab1ac8a0770a52fdcd6ecd002e54bb88cdfb22bf70d89485302068ad5979925e3044af431b3b7fb77a0e44040d6326d3744626732d14877b3187afc5bed3a0783f50db4533c39761a443f3a24c3eaef0c82be79dd9d6b58c6f99397afd44faf63057310169a895ee77acdc2f97d0a3bd46725767de7339fc972720ea62e3ba72bd139a1eeb49808e078963e657a358bcf66de74bb86a3c077dd8f10b1126ef8793e01a103ffd64eec73a38719b68ef85799bef9f58b7cc27b22e8bce1e52d5181ec45c35dc87832021ddf96ebe98a5100ccf9455911beea98d0d20133b4e9e0038b2d583ae869142db79f6fb0a783c3905170fb8dba68ef83b5e769db7adc45ea4d32f67180849c86efe2bef5638f89c31e5100f75dff84856b7312df36be6dedafe4f541fae891d1705deaf1df562a4b860b93c065b22a006c634447fcf4110ebba1eeea66906048fd7df83b045b590dc1a4e57866da29bc302b6a6e8b50418aa5a2a60014f9c4c5488cd1752b99e2c4c49cabbefb8e6176c890e45e8d2031e5b4a34951a06b8ddfc90c8c1e0fa8be3107532ea3b0358271b66dd916792215981f33328cefefbde10cc181e20b3c5ae27e1405c7d3369825235a8b96950ac33bd6feb26cda6c216c418cc6668a93956e95dfad2e66311eedfe4e32d488d7a7abb1ec98c64d891d359db1eddd79f8bf00d902374acd505c86f6303c71e4ef591a2b7e61d93db1475f705689957b9d49c35f1c02fa9a33cc28ea644ddf5058cfb1f267b3883402db35fc7110ebe17514e034bc3b8f7f61e5e6f8c041f44a9802836cba3773561aef71f58c1cae81d4e5a5dce4146556a41318c0ec5a909c16ec9d0f886726d152767945c3c141db01af25ddb6d91eb3fed4c12398b8381d51e240f09d2c3aedf6c315b538cbe21f4c173557d2bcc5358b1f23c7b843b8da9aad9dc0574fa959401e967bf16d7a17411c134e0cd74e999099df478d7196eeed72ca699006d174f0e20965b78d657a0007ff7c0d9d3fb61e2385c0800adc09dcf217dea38366b8a8e8ada77b8576e52f443f0db86ee11e19ad208d3300ea84c0135584490a93a1d2bc91cdaf87748e2fd29f7c19b0f665812b4ffddc99c0b7bef5a5d4cfce2526e5e83ec56e38955c709c675d805430bc93c718bc7eecbf4336acfe806085212ca82889faa08feb2cf86eeb5af0fa458c8be27d95d5dc3d6f5f061e767a0c18226171fd23f733654325bbd0336b14086d89398ddacfdc184a93d86caca53f94a2c3c53ecce07f0bae7f8efba5c226b4ff73622203e6f91f241d49a7fb1188c8350092a73045e1478f92e9b7fe0c680963d50a7a534b6028d3b18fd91ab6a5934cbbaef9f5068f4cb008e14d22071ba39fb8095c7965aff88c040ad775108266176fcef2b8471868a309ad1077b4c265af2a55b824be5c7e6874659162cd3cfac08ad0c5f5bf2819af1cce725f234f588d2b79ba0601b75280271a0fe1861f880447354ba3766f13eeeb6d02a1e976c607286766ca589eab70db4b3c71e777804368a7493c052cd05f55901fd0cecfb1f8d260524d955a7b8db3774ce523ed8e606dc22d23feca982d7489d8237cbd346fa7734c75d8d32529e54c8b83ed78ca521384f35f4f65d8d24deb53bc41e47bab1c98793416dde23f6812b500250a9741f3dc08515fa5159cdbed12ec7018df151ba123e9f91623554cf4b2d377b436780f784033170ae634f47ab85f4fbbb2d862688edaaa057f318e098e4aa0aaa0c1c76266c2300a15d37935cbcdc7ab14d614820f726f72963d1f2e5f8b9461483c2234f862006368159a8b00c13dd40ddb7af7e7b1965f1a8471e855e801c99607c210c2195bccb53937d2a4115dc6370140c86d100855fcf6f03d23b5e00a9e48d02c39fe49a22dfa53052c4f13278c8d06bab314a07ef6b1392a98a5ac4372fa8ee308a966473a4477e4d9211f2e6364d6e140293afbb2f186025a784fbc8e664e43ef4f850980f401f87b5d5e3978e85813d5c1e36c43938fa4602bbe25c880ad7f62d0722babaefcd18808b12bed88619fd25a610205f5fa871d6917a0f9ac2c799861e3aa4f14e13a0cd08dffe02aef42b860a86a05513484d5040465c3757da0acca189d6d355455b733e1ca8f4927193838c618a56276243d7c22fa8be673630fcc875b272b025337e573d123c1d90f51ac65982c9012b094ba960250026bef2151fed4cf9ef67356e22f82c0569f03407303d0c26b4539fc0685d5c5f1ac71ae6a5226b2aeea17dda2e5af47a4a3ebf59cd2460716f36a006d81a03dbf85a05860e841c77094e15ff68505b3c38996f8350d7fbdb5a87c59c4d913d50dd95906a4887723b33a6d0e53bbe4618d881a2c339b936c6e846c0b44401fa2a893adcf9da5d855db88e488caa887de4cc42834ae705a45211884bee8ca53b568025b223448227dad13e6a7cc6b5741601b702e3c7bb785a28392e4f4a567c0c9377dca3a6475470e7683bfb92d58a0ac3343083860c6ee6e90f09929aed325eed44f10456ea8c1288691e9754ca3d306374b9446ba71ca1b0e5143694ac54516287d1871718e9c38121d886ffb759b5c1bd74dac8b742064ea7e9cea41649ea50ab6cd71dab753f70eaa0d73c0b606005376dfd170fcd7f846d5de12c8f8d6e48d8081385eda56884b16c6a058bd9817f6a678ee19c0e3a6caee7b0b7df02322b01163332fd291638992f35f45d45de3aad4d8dcf956241e11a0ea3c8282a48253c4f1b9a980cc1459a69057181c543bfab982abe4d8ef675c80bfb86ec7e9225ced115ddbf17e70a9ae5015aa03da5f91b804aea43ea08747fe7f249d3cdf7822447380ff5a413285b05cd7abbd1121bda4e2f4bfa2820827054d84cc664c1ccd0d052dbcbb03756e0c98147c74bf93b4e1d96f3f58acfd6ff3aa6e6cb88995691085314ba1b06227dcca35905b31b22075c67c29083af39cfb94e60a73ae4707f294bc4de9369b5a68201f12ccd091747b992a9c4718bab66d07a5143e487f54a08ac078e926ed921ac118daba732d015148972d7b351743e296b5233624aabdd9b61d88482a6a3c7cdf1d78c30dbcf6946b88e251d6c5d1f511a161095c7f8880cc4712076bb1dddbe9acdb7bf51a90363b1a9126d5c6c7ef6a9487ac01f2694156fa192ea2fa0ecbf58465f281ea6d6c31ce34c833575e207f9ed7e5da8cd7e6bb963cd794a0881c2e04139a871e9959bce36547bcce386b727604d5cbc4993a2283991ff428d2d810cf16b4d35e1df71cbc4c37c71ddfaef1a6887187e83422766c0aa2e4effbd2225579197e65ecb2cd96141e7620afcbc5dd780707aded0f3ccee9015c4205d8fd37b9fd2782d6a611fe805b8977556a852995b46408a6dd3a99caf210bb1ccdae59b8c495bfe9b4678f808ffdfd29564974febb7196bc715476ebd6e86a422caead37dc56e5d6adfa3f899115ead2e43770cd766797d66a35c0c64a08a9a0f6f7f1b1bb8fb272ff3e839406ae43e25d9c38dd87b94f91221ef643c7cb2ad3d50a04914e340813eccb40c185f7c6328da283686773407284521d7df4b36fe8a1006e9b8031023255c121a1cdf4af9ddb950b945914f912023ed8965c5f0c2bde6f3e05c0925eb0272f6a90c9a55c2cd48d34d5e19504b870811f283c3188e16293c6903a75e29fe6a3d1304e1dee334be39ef0f991e994f6c2f8b40b304d6485dbd0c1cd49aeff810cbdd0d9eeee396ef76864dda90bb58c644f88ce6ed9bbb281dc3a1539175302602b7b0416c23a6f80bc032cff7f56283161aa827db4fc4fe5735f9a49df10ed7c530ea52c3a0f43db981f7d8e79eec901352e8efde32df0710771581144d59cdba2c75ee08fb2851fdf3a157dc5e0e90d7972928346fe05edb5c1222dba0e9001e22007e63141fc5c8d9c1dff70517c3643ecc603a8a7166f41992beef841b613cd7594037c2ee2d219402061aab56d449a7d4fc68677823b0914556ef75b48eb68b008aed98b1ee5371a2f421a90936ce6565eccde3347ab062af300614f6107a796aaa91e95f106de49a161a6b00b773400aaf8bcbc771102f028e13e32c26f21e228d818eb59242671a0dbdc7a35b72d974454e10a37494fa29a3d56c3fd7c63bb4db446fd19ccd9f309232dee1faaa0f492273307b804b1fa470395db88da09071d996d47f02a0fc33abad3950d362fc3665cbaf40c116b024ccc273faf7115854d3498e8ad0b45bd2f41ad382740a92ddc7b27f9c986a57fc4777a7499b2fefed761aff04b5d35b1a97d143eb8b79953ed7737d644aa3fe15477dc05d4ad05c37df7c200901dc2cb950ae33a2d9e031f0d998bebc2c4ba628b7276f2a336c07c13e9637cddd9e2dccf0096827d5e4a70058837527c9640ccff25d9cc5c2304167332954afffd62aece35da0577a962b2bc9beeb9dda2b0f87dc8a1272da02dac376bb69fec7bd95d43454d29653b498284ecf7ec0fec338b3be90b2317939a8a3b8abb68c80d9e32c1a265e5c5787c6c5ad8865ee541dbaaf6638d128b190ea17450b84328eb0be808fcc2bd6270f8995a582e32e14c16507ca0d00ef6ba514985e4bd979c361e8fef1ad669cf4eb1233e9b7d4248fca9aa2c42fcb20d041af4449a0e90c4be8325606b0292a1a21c0d83df530d426da1a8df33fc7c74225d8e08a5b707a2d5bc3e95965c382718c44b435a0312e5e4b3d3219dd47c0232ecc57032a8047a86496e37a92c028225f8479f8163c5577438f7f38a9237884383f2da35db8f0a8fafd994398d393b1b078e3cb7cabca193656cc292edb7a132439d495a8e89509f684cbee09df72a1655198d48811d15072356d7bde371546c28f9135854e121c18bd559b90ee5b1fa4fc26767c68cedc5f106f1ed747363ae3fe8b6e1db11004fac3dc9b00ddeba3b26efbc22615abe86046d1b98cd99e0ea3203cbca44e14efe3189deea4da3f68a2355af192fa39b088572f3feca94d76be8b28c1bd66774a836ce3f77985bfb07318aaf5981b710f6849bfa47c1b0d8676170e36fba5360077d68e1de9640c39362f82a14ee960b3e48303a96265c4bb2bf3d2c614f6f5c6a5ee49fa3b4e7a5e52c6500eb66410f653f52384bc1c72fe17509e63edae42f08e4ebdf39a5b2711572390dc6415d4ed9c2b49d579a17cd2f00f37f6138e71bcb48c41fc4079294b293060ed22e606808571ccfc5c97510a7cd0f8a7bfae09a93d9aa7bdb8aba0fe2466629386c5351d63ad63a4bbb6c577dd98e9a2dabc57e0f336c39e27a1a9ff89a6b5aaf1ed17d745aa75e1b11829eaabeb1762d0ef2a7ab7038b3c2bfc57f588088c409009700d4fb6cb91cce300728e1ffb501e5af40abf9449c2c35e68aa7c467a44d39daae9d9d6965127d9666858006de206c369a91aeadeb899c406f7ba5ca0104e412e45a10b2ab450126ac96021bd5bd54e26075fde56098d4de31a5b6bb7d62e40b52ebf8cd37cb76f08e9d08e6cb398f556d831817a68816b49bda43a24a7195750878a67d927715536f3b58c2ac35d0d3404e4a0eb49ee6f59527382982a44415d1f13a10bebe92c654b283f666c3e2129831c9366540a45c90029ed7ec345dc71b40651428e36c62add62352a1011254f2d867fe51e86de500817e63edcca380350e0c6c72224fe1faad99cfa67c18c3fc836ac8e660b8a968f95af9a9f514468ef429e34257e1a838a51c2902332a8624f43e2ac19c3ef11bff7cab580ddb3ecd30642ad8bbe474f3099a26df59c6b9854def604adc1385bbc81733f9df5a02df51f8990ac3e844c4a0a668c8fbf04a8544ce8de090f274568c61c4f5fc6fd1f7320db11fe946f67018e22b819c80ca8c2cab1180bd4f90302073c30c2017355a649649d2447e083193159c99949f3fc5c972b6af6ae5e4911b09f9ff89872082388f83ad709225a878550d8a1c8bc688ef30af980ecfab8e3707e4bdb0b2c538035c2ccb3c6d1285d93ca4041dc2382a8b877e215a84c4c95c89cb8425e9bb4b04034b13173cc1b0937b1709604b6ea545175f930ad02a21c883eac15dc0880820b7936aed169e3bb835e5407958563d4a2f7c7c5f79e6b1dafa5117c8a28332209485c08d3e201834c2081c2beef67aaed209f3b521636a5b72712f18af15ff49110fcb46b0d5fe284b090d5016207984875b8315f17a9c65181bdf806a508d07f10ef823659c1e2dccd9347738e4528c0078f87c60727e2b733d61a89640801d0f0377d8cf00a740f6547ad9c53150598c0ccc8d5cbd721d86a083f1dc0a8c8c8c718ce2cf630d5b3db2459c2a71cedb1b7e4560c43936edb5d2ba27ab7194aded8e2ec7c953208467afcb94bbb60a457601679c3150d6d7bb202e518d2bf83f2e77456502ded6b7723d71a46585d897671e80fee3443a40801c5a08bd031c7e6333fb92863ef2d391fb86170f55d7540854bf2213066e4cc8034dd6423b04aeea07e27088df983ca26e8de033bc9f2e16f36087c81dae4817ce4fa45bab370c5882b46626e230f1cb903c86535886592043633b1b205fa7b9e99126da00cc7f41f987e0ecc3866fce3ac8bc815f728022cebfb8dab019e6203baffd3c53cca390f52e6c619bebd79629dd8649a59a516a97861dc9d5c914f49e9a35503efda16d544057e24a5a1ce813c262cc28b8fa653fd9f2d095e38eed15c5faf4ba570ca946aad95772f0d929a61c37d5548da188ad54dd967a7c096713bc133d06b3c4fd764a4d961f75e84aa8550bb8b5503e192c2fc913ea52178360174abdba27d86679e94b55242a2731d11349076d208fb9d538eae3511eac016845ac15dcfe3159a4fe72ba8ff658ea7f36deaf1fb38ea3a634683999e2e6f24396007392595c8e75fc2943ad697192f23801dc3adf448fb3cf58b3ba1c14648682923b1b25b572c5c3b1f336b2cde914772887f0d8f258d60b04a89424d065f344fae8f78bdfb6fdf2b01ad855bfe8a55b4da1fbf00c9513d0f1475ccab93630eceae68f670df5faeb05f2c7ed104ccc9a4b0891b6643bd5ff01f0d87514c35f79c50828af7f54ab4c8d2a9bee4e3164f2728c6095426d49d909e9a49f7085890094a6b33b727043cb4189a2a06ece2cee993f952b0fbc4013868d6c9ac7a7e5098cb5cc20945a91317da950b131433d005328935ad572daf84aa13c5d81f5b151093b363923d35f8a00758682fd794ac0ce0d303d475d6017bfb8c7f440142f48e31f78eed3f1cd01ffa6ba8172b99f0aa437f5312be7bfd048e836f6cbde42db367be9db0ae1c084fbc816f5ff2f0d881a98270a84706bea07323364bd312da0213a3f388caf6c39103cab524d0596bd889c5d44b01cf3856abe9453c47dceb5f0147d094146c1d7a490a8a3bcacce085741e03e5b79c17db902c0686bd33a64d2da7a8ff569135cf4708e3200bef9800e34bd3a7db8260985c86269aa20a2ec8d40f062c6fe144624d2d1e67d131732d8b47d8a2548b7a65005e9f0c1a75d96d6fb20b621b67b3f3296f90271d9d5d333f2d33bfee070c2660102c7d2e7887fb7ef6dd4a3ac252cc228d8619d18cbc9f02a8eeb5bc41d377995db8846a71e70dcf6a1ae8e42646a313bb1c661e9206199a950569cb4c6ad3a649b8a7bdf31fe2f413ca5949d2baba6e0c2cc5fd79bb6f093f82e3a1c8ed8cf54f7ef02a1c4c66ab6c6176f92aceed71e0724ee6b355453370112d4523479402330e384362338f0b33a1a496c261c948cf8e0f9c3f8fd1484eaa847a8ca77b2943565c168b57626ab70a55e84ce0a69042f6e33fb154ccd5b76faf1b1496efec97dd870b5dc1b50cada7480a74a19a180911b5b30fb23e066b16788280dd6f2d46ee7b9a423bac2a9468236c19d0af2ffc87836aabc61762c36b419aa1a6b35d5bf80d8a89290bbfe75654d6e6a2a4fc2a9e0d37c676e7d59b3fb7d11fe237a923905ea91ab418e674e04de1a054cb3c4a9f8bbda785760434ca4bd6018e30697e188c4c72fafcf70416ff9633501e5fa5b027a29cfc84288fb430aef39eaa264b98301b7e41c7e2c3d15b23cf8d1ee701ae294380d3a7dff5489ecdcba14baf50610baf342e3ddd9ce81843e13a2795858162e24c1d0cf044b12967aab82efdd7ce72b2d8d3825f93ceb6de2a057b94dd749bc45c3b8ab1a9a098c9e63792370fe3543a5932e98cc91be721fde1984054f5fde7ff3de71679c107cdcafcd1256adff91d0544a4ab778b459524133811407103e61dfb8a3c02722341d7bb4330ca3972467f00091abc7d4a6ce7bf6d2d220f1bde9587220886629bb625a7436a9db9e28f8e6a900726af90c9af148c197552a381666147d4f968038055f5b05d217f8a84a5091dc4dc62f524c40f59e4e08c7cfe34295040c4ba308a7cec110d66b790e17049e83a7957aa7afb9cb8fc0bbd996dd4f9ae8c2fca9000462f004eb5e460560cfbe0b33a5263b3b1c4d895a6ac1355f618bff2e8c987b0f69e245e869e81e660a30738537d8bcf7bae0ad3529ec42a7bfc96375015c7aa7715d350a7b93fe3eb93ddb6021a3055e3684d88e0498d58588d5ed92fa3182a21a9e191c9446ac22445f299980329de7a536c3e3b3a8d9dc330cd6d0c17f27090008823de61db738554c5a3f53891b10337b82cb8d743c4a8a16b3d52f15e7de14dd3bcc0c7582ab02a1850f88139acd25791502cebc8ac5abe7fe99a380212b5adc142b58493745fc3a9ce44784f165350b47759f218621613a7d7f5fb44a31f1369a310149a2c33fde0f1bcdb238c75da1f7c7a85c9158ea678fb1deef5440f1c61c1745f0358a9316edbea23bdfba19e845ede706fc2967f336d10946c43fc76439802ec3a0efcf20b0f4682c1a5b81be59d11ae70514635932f0333641f0cab3eb68a85759c385f013848a0813bc52396c0d108402ac3ac1e2aa8090137fe61aff2e3bab50d90ed7851c1f9e92e3cce4ecc844a935b2411ddb80745fe45ba2d99c953507acd619b1a9868012750bb4fb5746ac470c4c412b569727f24d067cdcdfa28d6a580cc0c8f66b595ddc62490090d2d02f72210979f2650d74a8c044f15aac9e64278bc29f831b3c42e3af4e7b5d3fe476316db54f610de4c3b8b1cc81dc239c29d935882a1161b2e78b14ee528e7a85268edeb3f8ef0258811834b542aac14bb1a69a70f5b9064495f1ff8d2508924f4db5f906cc587b791388589c5deda2c01e3e0c11c9d85bf3140047c5379b30de00bfe68c318fafdc50de977d9b3e3c8980aa21c46e1bb5cb1bd03b78c98991c91e562ef8e463c08826d90e2abaf7efb4097ad589687d898be3f9cda0bcb93a361d03e35b1d374950ce6cb9a31857a232f11909458d294e72dd2be37fe5537b94507434492a5e9db4b729b744c05dac499867ce4fc2d273bd21ce84437a9f11f1901bc87b5f9a2c586c7056926e925ea3cb982a24e82679619e1750b2ddb3559e8739d8dcc5e924ac9b8cb1f8086dbce5d32054325603ced5154e974817eed0d1c82eca146f397d8d2cc24489be33b214ace2cbed4ce3a3c76f0b0ebeb3decbd79ea182311fcd8818f6d0600498292c97f8dca43270459a0a67d1f1ee570128e3cf11e389a3adf05a35b87980e0f8f588a901e1170190d27c192df456af96e1907a66fe6b6cbc4d26ced9ec5effcde7a615b8a8da820b332b8f3d259cc2598bb2c5a555688a218bbb521bf6cfb092ddadeaa729d37b998e352c7c9341a50b3062b11c7a319d0cf790b77ee4d6fcda176624d211b82aa0bb8b4adbb655d9206fb95269b7b2ccd2c886f4b1c1edf085ba1266b6ae03628abdefe9c6b8b4fd1220d4d57d93ee1a91fec4b99ce04f7f1715bdb4786125cd7a6e0fbf207c039578d22042d3d06b8d52b8a0aa94dd101d44d07cef00ccb5740c590668e8080156d0cadc13fee59ee3f774c44ae730b38baacf3741707bb8668d2afa9b9d46805f20caba0e7c399ad1db0820a17970325f75c182f5e4fc79b954cf1b8810c38bd90160d182a64295eb9298583851ff98c5947170cc567a1520268d0d79cff9305697ce8353e3620c2db2c1ad38d36638dd7dbc2727b9a6a88a12590d6b2d3cc8c3908740b3e12790c14eae6ba8fc0f17e243f66c216c645f91db7b4bb52705c2730babbdd564675beaa983f456d51321411b52218828dd48be9cdf29dee7832e6fa754bec8d2cf16bc13f4d8506b8e21975a16b4dc4d53e3553b610eb1359babf0c46d4d454b68ca0b98fae0d9b0048307ff797877adba328bc96d1f4f2b5a274981d55330457cd1bc939cb7ba595666444922a4655999541fce2d273149c194f676d6584acf945663b1ba33daa22d2fc0f0ac44e434bf645d3570cc526d6ecc02f3fa9214d0257820b5023c10c46f61fce10cd600b89b10837ee1e6b05357c4fc5a7c5f641c180f5c8cefb265e7ea8d6f5b17ac2073cd05cce2970a86ed03f8c4f1d44f80ad1b544f46203238d2986ff3ea581128f4eb3f610bb49ff7d518c4f8ec523f34161ab9445badc92cc01d0a479bda62925e27827a96598ca9af7a12fb6ac57df0369d549d11025b264285ea35338bd7dac126cd21fdb2c59b808698b8429392407c8a84b1bf28cb8aa5bd2fe02517cd44ac8c52d66612844be6fba9c5800a7f9e0d1d1aeedfd06a96b5ebe792a6b6e0bda7433ce2754ddc4285241b94a0c66f240706610393343e6c53014014845aabec5a64876009e05f0a4262af7f3ba52c25edc3c0ebe7543cab42cb784dd655a74ed50f4eb00a9686406df3572a8832852b80f2863490fcf56697d2b4809aed4bd1a109007883c8e9a18ff919f40e51c1f95cc8d8abf7882e4285717edc2f4daad98bd3dfa23147c0ed50b87d7d5d04fc12e2de06cceeb658ae8d8cba4add996985eefd57ef565a00aa16ff8bbebe84492a11f29c7ddaac583435a08d42443458118d31dba76ed521e5dfdcb08c608324af65f6606712aebe3471c69693e94366262023780b8997b7ac4c905219ef551d40208722e6c8a75d10c4df9eb236d5a2617bb5dc4d6e14b188b3c2852bf9eaccadab15c9b5540a63e78009c802145159cf9ef36dbeeb78a5d6d7e502d742b1e8f60afec1f4559d10ee2c065544707cdf8f7b1cf504f0a33fee7dd28b276f4de8205c04b7e010250ab49a1ac167900208f8094e3f00ca9574df3618054e32a6c995ddcd2d6865a5d250d423dd4d6cc1f4c776ef72cac8ec80bf86eb65ecf7f706b2fbbc8ca296d8f66848947222d905002ad7f80806571a3326e867be3d18a6ec59a65d51be1e1f372a7d9ff4bdeab4f127e3d04901ebec312c03f99f072fa823996d3c864a30455a8044d083510e7159088244a0217e7aa49c3f3f094f0c7601e3f8da6a4e5f8d53d2d3c516009aa88247172041e92b1646c075fa1239cf84b7dec88b491230a52d0762f8d59e4e28f091b286f2e8444310dc05433fed4f16baa15fb04b6fa0251c2c6de85c3c364cb616dbdb79825d4e58fc23c115ec1f2243a678c8f80ccc4b5e450caee4339d0767d4e65bf80f2b3495137057f0b64aab53b07e9847a7fe3f6aad3c7575b7e73052a58e3244731956458914904e9cf798ed646040b7cad53b47ce02f94f291926fd4ec8246c55034d27d4830f466e715158dd681eba4a64071ecea57f50fc860857f110f4aa428069f7d97588a5932cd210f8efe5f3bd6a572e233c829ca86aba1ee2ec7ffc3b2aa5b6d38faaf45231efbf9f7b79e9d644ed100770d5a41d193892110e0bf6071b626f1ac66b7e4324368cf60d4449ec50e6908282539a85184536c46f9036eb60775b0385161e228d50001b755fa79ab87d3039d29355edd48990f3b213210d855f79e5b956217ac2725005885608ebfab01d81abd98f4eca1ebc40d09e8e81b3bf07cb09d647b367205fb7e8a010da9ac78a14aa1f155142bce5bae87958b253a97b92ff6ff79fc3991b3d92ff3e5e2625c40f5ea58382f0a847eb114a3081341959a6316e1e6ae6d524d96b3b6baa91af510b6c604d363eaa278d6993012a2784e77999482484a34019eebf9832662f4bca89673e5b100ca665330cb435ce23ecc77a197d7e3808cbceb4d7a80119a25b2f8b2948d8b0513570727729b98a8d441c3492911b570692f79539e2ad6a413979819fe972609c506c88fc0f07def7756ac7f8ab4ac2b8a8dd7f01793facc7ff08412f5f88060254c670d776bfa876b694a8922eda2ef61896f6ac2e8546784992c8958af5bf238c449ebb5d30b4a2547a0e423f0b4528bde2554e06653b895a5f8e93eb1cb088ec785e88e1e90f3db76ca3a7d9a45df7af18dbf0daee8d263c148ccd33113fddc32e15f51964481db511fb35677f42d0337a18d4815ef132d25c94c83dd0af15a38c99e562116d62cb19296c6ebc7cc1928ce3cddcd7381816341ed101f64bb3a2555af5e2e8c504a7038ad328e0bba80148e548e93c5e1b80b860dc8ee3ad8d6db5af315c6791d64090e2f7ced3d4b8c5e3ca9234a9d7a9d16f28761aab71e84b56f5e2f5bb27ba1e90f70151f5f003fed4aba3ff20083d802ec70a732c6ab85149b2de2b5cdac560182def81420231130c8a3a51139f99db7b3a5c9b808f1a760c526c4a95986def79d2b5f13c3a921cecc3b4290982cd298fc0e296153a53039d54447a268323764c527a43d0fbab5478bf84d7b445b6b4c43aeaeff5deabf766487f3a120a1e4c5b31e659c26c45333202f9604e903423b23e34058a8cbe892222f1911df52c1ab0397c600e024b5690b860709f1948aa5ddce580900164b52b6cfcca4a0e4583672880b4b611abaab25c7e012469e2c9852ec3773da65f3de49bb595ba98222e585d22d2165777119198f9505995fe348b6d4f26369c87613c65498ae21f17de711ce9079b5f4e77f1a83b96331aef36de49c676e8b1c6e2087dc5e5adc419223e73dfa6e899f52c1c83b8d3fa895535a8ccb89f9b5b91c2dade19f32c036579127cafb47393a8d4f5c9de049f88e1e84a1d2035707d2b38e137f337cf9a15270953b1da3c9feb0a4c20a08a99d567e38d7d9e18aa5762cc3a3723d0b4e2ee3a33d3df18bdab9671d62fe15a65c9cc08d9f2799b6c788f6e332d1474a682cdaec2bd978232999ee2b2241493d97f684d2b3b380daf64221c01e604924983e734611158a6bda3b66c89670459ca649c71f9d4482596879248d136d1a2652ce82d98e5ea0ea19d4355e9e2e48017065043d30984b15e91f71aa38b0373c48c12844c0aa95273c847a99aa3a175c28ab015e46fe8d80ae6546a1eca7b8cf3828e6d43ee0b0de1bd071d698615c535c3003df47a7813c92a1ba555ed4fdc0ca2a9e0e60876daa6e24345b64e7683df9860004188ad664500d2e5984a9ad1c245949d6098bc9a8a6dfb86d4e864b84c8572db20a3191d4b2af674e79ea99bacb14095475c1acd02ed1e3168901c6ffcbe0f8c23440b7ae0d026c9805d303450d1581b00cf3bcdba49d9e4e61e21047dc6c1f2e37c68c701d226617728b9024c374c00f238c89f7ae441a2da11ee02f944523e58790038fe7c19078b403713ea7a46d7753ef1b03f601ce07468314a6f131d36a1acc22f7ec151a3e6a601b914c139e9e884182ce8c1f06368a9c0f3e3901aeee1c980cc4b3ae421bc01df7eec74b8e3ed36f898c34d66e7d98d0e4d00f4c9c9838a283e36c78156d3ccea0eea83e9d78c2358c31a44cbd432a9aeb0c63293b0672d72a6c15e91613406c4fbcae7e101f2ccb8926f977dc577d17afc695d8a6c850766b010ce3dc43a4005c3cc42934df2c35c7254b0f44702182e3c9c6389fcaa7b08e87a7b99745709d98fd70a9a5c87cd601a17bf7f8c84383c2590eec2126e74137a8a03ec8d90b86ce61178015594398eb432380777ca00a2f87dc227a5ada002793401050b0942974aa342480cf38d7b04b1c6e2de247749d7306a6793ac5a1db79798a265ef69d30105b46df98d2eb08d7cea3dd4bebc64a2b8d60737bb039cab4e905e854db6a1b68ab94f339da0950ee786caba78df647f1253205e61717c660d41a8a213fe028ccb6f64e32d5ca5a1c452b2a3a066d12655f46e3f2ddc72258e075450360e17f2dc16a5c4c184a571f4f258860d8b4a3f6629d5abb679cc5f81f3e6b3c46f3b0f861774dc9c62a47438c0b0ccd15ea1f909c2915983f558a302635dc5c2466020a60819c853376809ed727d5dcef301b0fac690d9ca1b8d0afb40fadf92881d391d91e4ac8658e7597eaedd2e4bea8dfe7face06b15a6469a4b2459fc32dd79658e7d54dda6fe7b748d85314df0349ac37ee0156a09e0f0650ce05c2b1d5cdd592f70d98fd7fb01bcbee59f29fa27434d7e00d857072374cd027b580222c909e4584d823180eac564850a265f930fbd180234ae0060a0081a9d684549247de55d70c26ec80e5299806ec6ab189020a6f97ab5e37c05ace5f274fd314d970cd4f5f8b48bf7e9ae3d5b9e3716540322cad70993853709e971e83a2faef671f2cfb87c2296e5a75cea333eeae43242d1b8f47fc663eb6499bffa20927d9260142976a4b538c6a5039b29ddcf8733445dfcad10048295b4f7a05b2ae6225eea040c6772ff0c8b46ce00c823278e920cc623d9b6793e6535a83e0eb85936c0132f9bb1aefd5758d49ab1e55b4b74c8c0a09e2d1ec166d9b2b3170b5dffec9e9c730e48b5beba3e90ea38654f7d790917e7a82082ea98384167df0cfc6919ec2f73e61f10c0edf88c72152cc35b7dd9bec1c706f490b689a005c68ed15207d04db9170115c816be97376af2ac4898b87b49ea3fd7e47c5c03c9d89f45e22effd99796c0edcb312a4bbd3d841a4f7b8e84826d2b91850e8d5e6a923ec3f357de660f6ad40e6ce03fa826b8b95f1e20d5cd53ddead230336e8468b27866520482d26472bc3f89115f672b3289723adf5b25333e545de51bfa04c8c80453fbcd1e8a61f791dd02bcd45585b83334c0a82a6bdc970053c0ec0647bb6b926165e3519beae6eace996bea607dab45bbcc62d38a034585aa5d0d054e3b7dc3594cdd6cfc7ed3a881cca6f373512700ec68c50b517c9c8790125c380373f66abf840df1037a06d5d454de9c5a46074c5b8c283a4888e23418fb871e23e72c41abe8c43f8f07e2e6ac487705343a00c833485282565640500839d91029b9b510f9bce10aee9701715992a2521c135f47cba57a8cb3de2ea3823c94d2e6023db14f5de126d98388f8d790b4b8b4def8759c319a79c89065654ba9ab376ae5969fdba742f79aa238795f9a75517279ce3f1ae964803bc857cf528fb4cec6beefee2094b6c3d659af78caf3588083345c62cd58ec4ae81f83f6b2ee293e810e65ab51493b64b913041b7e07cd2881f92b683790c1d7244da24b3931f102c5a1da6927bcfce4dd5c222c22f0a86734bace4120b84651abd2e726b4147238f5eaa20e15aab5f4ae7b72849f95a20fe4b9b9c224908223737abdde3c4fb449afa229c6f157598a976ad047c6170ba9e4dd3ee8c3530b108a770d62cd910ff10e98ed8371eaf9c28874aea06be7db9a91dfb9699ec868f13b2fca9c6a7a1016a4c3fa30ac86dc41422c9fd9c1d4ec8bf7de4abd2a7d7d7b45cf6fae565a54a1336960dffea53789825e334b7df5680f26f1ac02b0bd01b69e0ba377592d5935896e89bead1ef95b770c5c53a23d09b36b48cd7bd2b4beb6f4653e62489768ac2d08f6137760a72595aec7fed1d42f33a78de3c1ea646f4fef44c5614975c9ac3d7065b940ee6f44d702a326cfb5b1435386bd21716e69937309d545ed8440ca322d0176d9e1ab8873a99903b8b54610cd2b463e240cd7e9517e2609bd320218eb12a668cf594aba4a1812722826f34cf1dab64f40091339de36c18626c898a8bcc4f8cafb4228e447a1e983f8a55042e8ca51e62a67fb5c2613201a914ce741d710458c9f3113193986e4081353d71a7880671f03100578a0051802becd4775ccbb96be9ec6534c1d6fe63262e53abd8ec54d4ec0e667c182dfb183f38f0fafd93d08c2ada9560233659c66a29c39dc382102c0e1b9d58c15225dce5dc309552d299538a97233eb1fc513eb722873eb57a60b8fc2efcb9bcb4e776af04345ee9ad883b264871a295f99e309a00fa4d5d6ff9f3b51e01dea5d6c95981c6f4ca18a54ad567c57c722bb706195c907f69c12d08cefd61bee393cabe0b9d42e6eeac8f90a8d33a09f4334cfb3889452adf52bc8f4bc518cc3519734fb4b710be9193350a754deb6e089aa8b85fa48327381715da8841cfdf11024175a2a2755f5a525339dbe01c3488c7984ea4ee68b2c8cca52e3ae18878396f6a05eb06110f0acc64cd894a4ca537270a69dae36ce5e5b5130cdcd8234098d8fd573911c4b62adb9c64196178394b66de60d94eb7061494bee98cb3de83146898fed9d89719574c764f4cbc9bc7752d88124d8945acca5c075afdf6322c39ff855204376378728326690ea99d5afd3e6316a9f2e7bbab957be8b081b8806c10ab836912481b160dbfb1e7a69c3d9ce3c06ff0d04d580d25ce2eaa94768a8358feee1805eefbe381f2a9040937595d4ea071064597af9b792ccbbf412d9c3706dd606d2702f4b3e22229513d0852f06e51c34a07d8f60f20804fe9da4399f3a1753c86b68e020e08809c2da6e3d3d1489243411ccb9150b79d31343d8390daa82f527ee644f856dfb05a1227c4249c71fc4867299999e0e518a1bdd65960bf47d68c8251de41af9bd42f4d03ebbdfdadd7594d03e8dcadde6d4f51fddcb4824e734cff0bdcb96ba427ca66cafe86e2d4320730ddf6e200e17d935152b10c42d701017d5bba316aee2bd908f6d58d12f0eff23fa704283e975b2480c1d0c305893e42136b3e3f0d63b3ab1dc1033973bfdb05052a04c188750abcc24663f32d189a18f8d280209d673c5d007059844ce47bed1036dd75e3f55586ddb9464ef929d847995a51001697dbe76fa8068570c86c210a4de8c827c6ec38a7e7106ae1c8424dd15ccfa02564bf00c6d25b346bbd4ad5624b28d1d47033b369c50a4e6ad2c6e55ed81424b2a74c1740cd92df02f55f1622a854db00866bd280ba5f81b98d54708262e3456631fb2585e22dc5877c66aefe1a3b0c93404447014fe2f320580eb5ab6450efd9f7c64fba8cf9e7f02e047b70562ee038cb081e63e90fe12c1f5882a9b1f7e245fa429b99ef8e105411ca95d7bd19229247ebe6e0dca7b1275aa37a60a7cec49f05e26033c932cc18ff6463e8f081818ba22268dd27cbc0d866db7fdea21453f3292844ce0fc60c11cae1ad26e4fc6940fa91722c4af44819a00891564dd281d9aa46269d18f0070127172d20fe1ec6a57235517d94cf75fa42448a7941233e7c72886e5143af543cf673a304b613e80aec31b8a1c7f3c046f7f78c59845b8dc851b2736309cc4ebe51ab2f4636940107f9c0965caccadf51031bd050d5ea7e18b55c59975143123dc25c1cdd78fc7d1b06ab9fc7d6cb6553a464b227496af991bc96d3040993f86b95aa369cac64339cf6a71cda8bacaa6026e54f158b668a7d3646cbb8781395a610ebbf1a594e6375ac38ad8042ed70bbb8ed5083588771e1a19cbde1ef4d915214b28a03073561c2ee5410b62c15b4c66fda72e3eb7ef6ce91bc4612b836c2aa17926e89892f2172dbb2f3c5eed96f4b686203e3646d5e64a2e2124192f92f95d03ddef279405d0b3d2708559b239d411042c6f03ea983a845b3054b24a074a9a14e283b9da95987a0310ab3f49736bdc496ee41e23753784801165064d98dd8c109cc665fa0184d7c15ddce7a318f018011ce685295e413de8dbd04711fd58d1f6bdee0407a82e8b2a1bd97b932da59432259902d5072008b308356630a9c2a609131edccffe112666d8f060b3cb483b24b1d161071c94a0010ea420643892a136e799924f0f6986dab48dd3ba21455ad67522e7693b3d80e89451c020cdea5311d8cec5d19d0cd0ea676f5ae79d27fbf9aa5eb568fcfa27d0f7af1d112180d0f72752e1933e729d099474272cea20517bf329b7ead79e5b955b75b7fa119ffe09fe5a47a4be3fed880801a47644e2734bb660e65333609e16a8304b7eeab524ee9c811b05604b069e260cead97978e8cf2fe7ce7e5d6920b8b08f9d5d9c875a21c50dee448272677f2181a85aaff9b7efc3796a3a380443a34b713dc3b1eb500e2e5597e96053bb60973ed22d384fbf92dcf9319dfd02f305f5a55ffdea57bfb60e8802d1444acea321ddd954ee6c28bd14b50c12b9ce84474eda9b7fc234296c7f3b44f33f5ee2ce9f1f74725fd0c94ecf08241c7911498259044e8d8b2c665668352176e3ec563fe8637f42fd5347a4bf3ed6d527e24f3f6af03f088581e02649da57c694c0a123e73941281008d8e4c6a3241faef390bb7ba02082eccf5c53b271a85911e8c891faf48f00652f396e4d28045fb0283e35f2d1030a71dc6a2fa245600e597c6e841b25dbf0fb51a84f9f37a0cb1d7fcc877fc27cd8111102087cfa44fae79f40bf7644e053695dc76307c42dec091b240566ea87dfa59bc8808ea14444133ba151623532aeff24a359f157f58b28c19b2572df9c493772401c100e05d771ad9b44f3c57e82c2fa73d4c2f267b2625a587ec7fef400609e940db3e67bf66ee37a4f36337f8c65ae7f651fdeb8ebd66366d1c64d23d7f16deb861469cd226e26cdd7549a4bd75fb381757f2165315fbe6b32588ae1305e325062d845065c32a51bae80fcdd78a6ad348db75cbf348a5c2e979116921759aecf97fff5a804842f504c5ef0409bf2d52c67242a4ad77f466916cdf59f4edab7121070fbfbfb57d3b467f6991fbd3eaddccfc8c912dee572dd7e6e2db61799713392714e265f5ab131f39ecef9c99fdc7de43c2d6c949db7e3d2bf3de95755a7d807ecece8f928d7b3b3438985af629fd508f0ce972e44c6395f75ddf9996d96f4ff01fbac3d0658e43cfeaa2677b6923bbb863bdbe8ce77faf5553da72706b55fc68462304bbe7d6621396d14802dec7bb4ca797ccc9f3fdf7250e9b47427d6412278c4c1a220ce03adb48ff9304d95c96bb5d67980b0efd1908b844decd346ee843fe8a13b4f2e0f6a019b2f3916da9bf33527ec07999a9af5d570d1ac8fbd30b1d0acfe19df7f3ed7b08fac2e49825804c6fa453c61725218638c598c319e3e46cc8bb5e974b914e32c023d06d1cf6e946c6fab1ff3fd4f90dc0a72ab1ffe997fb63aa15ffb7e2dfb5e8d0057208097ef0afee9b9e5dc0a3ef6dcd2b8552bf34a7bb80e7d6cc775e8430ec8e9d3af5d0ab4bb9fcc4cbe7cad23220490ac5bc1cf9e5bf289ac60b702d29e02dcd23e7bad2332448813da87235e3071e46a651d11f9da6bdd0a3efd222d22ab1fda670f44cbba2142c00e48f6b41b827df6434eaf716b3eb732b8fdf40a208000bcf129c02dfa2bfcc03c105dc1473db726b76a6d0c0464f5437bf927682f3b224200919f3d91d56b7f42f6a88e88ec563feacf5fc1ee84fa737542f65bf4b718f73b9cc6b5328e5b278e5b18c7adc9714b624fd82029d4222d2392d75ee3e08090f69a8516daeb17d25e03e006fb7197168430974290222c372f5d2ed258b2bc615bec172f845464a716d8222c7c07649cf351d79dcfb719a065ff6997b139e78c3fb19ffd7346eed173cea9fd9c739e3c67d739cdefd1f32177d363becfa739989303cdfa562a34ebab71e7cf1732e78a7de4cfafc13ef1e92c023b12dd146125562192fa835bf4618510d6fa3dbad209247b090afb31530acdfa6a100e340bba1226c81863941efcda34d2ee7168f46ee66844da0a6c8c31c61863431d1e638c933956eab90e43cec130a68bf823ccebdd4c0c2c7c8f31c699194ca0813bb81ba5bb7b73ccb859d1e3e731deeec6cf263f9437b6a7b160cef9dfa4f4279d737e3b1a33737c666619135838c2ec0b2fa401fdbfe8f34ae7fccadbd73b3ec1d050238db2ce28eb6c82fa306b9d5364ac734a8c726252ca496b9cb44e9971465ab55326b593945276314e5aa7c8538d4b4e2f0b7540f874feac53aa9cf04f27d6a1b1d0ac236308ae3f8cd1334dd3e49c42a73cd52a821ba7c49e3139a7603e259cd26117d30456e3435a7f5e8e72fa94587be542064f3e23e4e911a17b3e02c01d52877900813a1a7bd58ef78d84c67e835d0c164be3c4ca1e203dcf59e4c53a1438477f9caa1db2fbd8cb6ddaedf018a39c989472d23ae9cf5973d8c771306b3eeff02780cb6f637bde388d8b4fb14e7674d29875f78c1b6b4c38bbfd5079b0cc3ab0a71a8c94d20a7938a45b097de18c00bd936e1090377634c34e9e699a967574e7c97a5419a5dbb63904e8a53776cc3962f4930f6441d67c58e3f65bc8d32399870aeae84769a8ed673eeab98bc1b24d60de5307390746dfe7c5680a19688f03ad823c2cc03afabd24311718681466a458f82eac5764ecc0a693d269d3c41428f77b9b18a6fcf0c2941db24c39410d2ea618d97142080e41217ef82d384ff6f0b9e12b31f10e2efc1ee7f122b398bef3c887f03de7c1be3e7cc83c380075f443e76e386703cbc17e35c7ffb32c831d25f7c2b7b813f069939b186321c42ce99cb05fe400104435ca1da1ff426d658f71474a00cf680911ff4809a6ab05f32fd816f69ef304e1a6ffcb4d5e538ece88806f4bc08751ce5bd9d428075b190773393a7a8b809f6009f1c6971b041c76f40ee31cfd24a04b1cb5c757e732d21252dcacb637aa728eee5625cceb3fafff163381a4a53bafca1ab1df33e4bf3c8049e1868b85e90d302b850fbbfdf0e115f6fafb7d4b73157705885dd8c1a42ca71858b80495da6b086119f2e36b596c0ff6a9b9f17db08fdff8259800e34e7bf1460bcbefd5c0caff1ebed8a73f7e7c1f40ceee50a8cb8df1efce6ac654945d7ca6a38c73bed3d1f593dd6e8ab0720987c23cad44aff7f7129536e21cde543aa98aeb7ebafd721d8f2fff72fd0bfbf015d6ae7fecc2dd2fbea215d7a314d7bf7883ebf10b7d21325decd74343bda459d8ef44474520b0c417fbd4b00f2a22452a50ba353b4b7b9e14b144a5f65eaf1bb3b48e3f17d7db5bb38b46ae5386955d2fb5527b8e79614f47ee55898bca915191c7d028b4d7375a581484b417bf7756344868676947a927c9a888c8e58a2b6dd69ab2f146aa542e5710fb34fc0bc40512a19cff5a55fe3a89612f5be172c3f55e340a2a2eee317ad1a21b2e36c68f0469af83b4d7375ad88f9b6e1057500dacff075d4abe02d20df118985af08bb4bae7d5e296aa89e92e251d316c05e13bff293606cc652b3d90e17aca6d165b73bb5f4e20d1e93b932db0f24fefdfc3599097aad05edb30d45e7359844247d8d80909d2dec965eb83619fe2788f0afb795088ad5c16ea6ebebf6f13883f3b1ffd3263d80f0ab9a093ec1b7b8a4210e7c9ba53f7557642040a7d3b03cd8a22f42a7ebcb1eb1912ca2e5be981971dedf5efb4d72f4385fd7668914bad49363fbbe162696eb8589be98300ce31ff731e06601df32da0801df6a9b993ad98dfc33ef5ce9e3de7953bdfb91ded4def76388715f6fb6fe783c9c121bf3e90f8189defdfc33b206ecd9f712ab573b93065c576607e7cfaececa7d3a9eb0094b203f2a3fcd1c37b7467db9327259693b07d9fb128d28265ca185298d8d282dd690796bf8b407718a808d5e79c8f46970b85e74809b4876f959ab5655d733fc4cfb22ccb326efbde4ae02caed675207bbe59e5388c1cb270c18d841a3658667214eab97ffb214d57051fea403fbcbcfdcc27b6e36f9f458e03ad039f5bdbd6a590022b5f00e17e96296a3fddc1cf684cb156c979e2c36e3b721df85b1233ec28dc8ce2b67d0c0820bc260001b507b5868dc1c0601cfde8a7a25394ce30ed748126e7a18fc3d560ac5fb8255df84e2d0eec6795acd292656ad616d4e66a0ffea96833da8c50477e40e822b00fbcf0ad158bfaef51f05aeedb8c5801c230fdaa55b81939cf51b3ae5813362b40e27bb702e243600e644c396af917696959664e2fede53af0b557621fd4c3b759321487ba3792d8cf2abd2efc362314f450dd4b61bfbf4bde4eb3fac218b4193deae1e7d021140a8542a13e3a74e18f6ea58084fdf868857a0983cd3220fe7433420dc9bee872d472543702cdb541d90d1e6cf67d2abaa183cdbe3f06b98e77711df895f32fae037fe3a2ab3dfacd29f910475340c2329960add8862db8c126b029accf30b94e1396e19fb00aaf0dedc1a0f66092f6e05320db2e109f762bef86f068e205472dfa455a998dc2f6dd8c36a31b2ab07d37a30b9b9b616a0f72ab1500241b83aa857f2a721eacb34aae03bfd64aaded4e4517bea581e5db29d7a965975c07fea3c07ed672ebf4c5fefdac52ff6795ee118d2eb1e50d26326e715c7ad568b2c490ea86256aa8a1022b73468d33be502175b12ac29e2e232981c58d1125a6084289278650024b9638613409a936db35ea5d8f7a2e03398ff638eece0e209873fb3f02d44a7374aac4be7e3e9f727de9fb67daf6e39d0945eefc133777f4e4e85cf89d747b870037b0fa355e8f5fe74b59e5c4ead7dac11babf7b88e74291d937e62c93c2ad4d1ffc99bc5783d6e3ff334a5e6f5d79c0b4fb7e36cacb91cb2f6ee86b56977cf28658ceddd3d7b6c77bb7be7eecdd9dbddeda3ddbdc26ef8b5739fd2e38d117677116f55143b2d0c9d9c7c6677778fceec79b352d480b0f03fed32333b10919963ecb982cc32b3949299594ae93457ca1d5e06695cff628c51cad905e1317e33c618a3d773590ba283ccecb0b120d4d8ed71c64aa79452638d30562935d648a774122b9d52ca94b4c629a91339a7a452629d524a8d353a7112ab941a6ba4533a89954e29650649c639b5dbe3dc3621772bc1de8dd62921ad5f045db80d218452ca49a3901f8270934bceaf9803c1d74b847e2d21808b5d112e99ef1a42e107a0285f4b5e2f385d439007a402b3d8d87d108b6b88b6f65ce461db4f7dece787ff1e3ff4f4d4bafdd4af4cab8c9679e00bbada872358e5e53cd00a74411e900aebe8cf6221960b896e13c139fa7ed0058d26730e77c8445d060c1b2b1492d949e28baac4d1fdb8cbfdd84b12655c8ac40178eea72de0caaf4914918411661de0c60458c152856ed4a2ba47d54a15bbe372b94a00b493c900050a109c48810d3eb4260f775ad1e2c99da83be79c134208bfc7bb5f0a892f6e8c566cb8f169260324b0e8dc49c5eeecd08ec0c12dc09d484894e0ce0700f5380f6442001c5c4bc800862c44c0d08a3bdc7804521037fe8e66d11b638c11003dd86f875b494a4bdc7461eace1c1cf085fbed1081ad60b993b368b9f334b9b8f3632f38eec764dc098fdc79a10d77c225773ef3079fdcf9fcc128b7ca9dcf43771e71e757ab7a0fa90826777e4f0f1f40460471e7a390420eeefc2042b6dcf92dcce0072e1f04f970272319c1821751b318e9088908463a02c99d1d3cba2a11eeacf3edb4d224e5cedfd1acedceef794003f1120d58deb8f1b90a10aa11dc652b62a77788e84243105e449c11c6521513e01006519526623455090205621855a992822f5daad8e0862f4355b69ce04bd24e143bbdd374523a57479828055998e97ed0a895cc2e08e7a85bee17b3d40e13c29260413358a3266a967c68e43cfc43188c17b0bc5a24d88670c1524b88d385465c7fd0a8b120ce910328851496ffc3822e16c43ea70b9f89640e2ccfef93193886b0d216195e2d126c2ee821a825447cde805cf018985a2b0874405ea06679b7822fc243192aace41ed0a33db85db6b24515461736d1853eda83cf495dd444a7228ca28a802a47020b25aa6051841016545630b0990bccb0a85715567cb8e2640a1636286101430cb03052740518492cd6c5fdde8a914592162aae78028a269cb84289fbb5b357189da0dfcba19df7c292ebd480e18a17547145103b94098410da409e9cd651d5b88a46a4b15a2a352383d59813663398aa6ddb4fd4206f39af4a695c636ca0d75ab11a6383ca604e168ba93274c666a66c9a75ba4c9d7d66a55cf56803df6627f504f38c4c8ca9196ab398c6182353caee9191620cd225c248d474778e916e54abeeefde3dce897294560c66d287ebf0534a2917638c31c6538ccc8cc5c8ceae72777777e718638cf10607c8906e53d66631470b3987f78cc6cccecc2cc3aefa18dd7dc65dda18398572cf21c3b7ca39b58d93c738a957ac3b45f79c8fbb72935eb18f9935e758835b0c33338a99ad46c30032331a0d1a34bcaa31574a59a37d8cb17ef25dded83253695a101ec46acc65866cb3fdc466cd54f13133bb8c359dd3de8986337bedf1e7ee1e5333319861768d6893a131d562302866668df9843d7727ec33d48999d9a7acd88ebb7bae53a994b2d228a9cc9c91744a3a258d48c39e9a41236a8d4823821a105e2fdbc9d5a9bbf7e3d1ddc6e64609dc99c4197f98d2658d6331f034a58c32fe476f94b3a395c65dca64e2c58b172f5346192717514a91c9e290e8ce24856110be47585ba0a14169d44caf51490821fc149ee3850e933061c26446d979006ca0b90d10209509edc1ce074d0b92648dcd8dc138f66c60e03a045cebb2aeca9fb4d298323b1171cc9ea6699a51d1944a53b1309eb1d41844ec05f3a083449c6366cacce57fc0a9c72993c9b4186db355dc46811f03cc0389188bdb44350b0b9f7d50ecb3592d4e1591ebf4d3d3e91423232303734fb1ebc272001ac5c864ec1339117ada5b92c2983e7f363aac230d30018e631df9335b0955a7023333190d0d4aa366d668cc3e18adffc56095662a4dda68cc3eece3d55148c9b063dba9a175ceea7178edf54af3622cad1ab30f0ace33977c7ac769806d6ad8ccee864bfd686b55c16abfd6ead558c4cf38967c00038370481103297ea04d8125464b10282c3a9801d5432f221d400169eed7512e34aa72e1b795a40bbf95602f5581c4fd9ae9c2de726137b597767910530ef773a1fbb90dbe64e63f77e2444546563c713f772ba9ff3c090bcd7f9e85c9afd8e17edee57eee850674326e4d0cb2628a5b53f334b69f9a4ae369b61f1a3101f74b5d9a9b4b83e3d2d0bc6592e2d2bcca8a135c9a6726212ecda7b61f1a166fb9a99fd97e52335528dd9997d97e6664643e66fb9189d1010f6eccdbed27c63eccf663795c181de8f003438fb450bf6d3fa8a56dc30115335091c5dd9eb518c126a6a0026231c4162cc8c165a5b85fea623717cbb91896832617cb4110a428e30b200512f3656c960296ccf018982a961cf7cbb93e51f470fd5551f4e0faffd2115034f5bcaad0ad81324aecabac0a8a251e50acf8a1862988a012430fa839e79ca91bf74b41f1829928260e9a9878814f0eeefc38bfe2c005777e8c8d458880f0a10b182ff49024462bc2263746edc61863b438d0f96ea078e2882c386471828b3b1fe6b1708184c607054f5038718513496efc6dfb894ff0a7dd397dee77a3e4240aa531ee7c7b0327ee74828fb081941c36b842b54515db69fb9166d440ca8d8fd91ec8d004971b9fda2087a5808b65e9cea5268a322b163e0b8b110e4b0f2acfc6124c3680c103182e23e0ab075e322d091c173e8e66314f6c411a502180120c8b6f7c66828c5a5349aaadb5e224b940c38d520092845665100120a9090d35cae87293546403c62ac9882055538da4256aa849b2495a32010d32baf820e38bca265d31034d514d920f6a48996144e38aab861931966892c814a56a088a19636946890cf68c26992b4e68803923e60a0c6a407d19b257acd0b085d10473e589202d8c20d4952982b23382b62b58c8702ac1e5d2aef4a0062c28bb72c60cd507185f4e4c2431818f32929850818f203431d1a4061f667461e20529f07146111349d4e0e30b1350d0e0638c2126b2a0410c2226bc04f910a3cb0f6008a658838721a65517433e50d960e88b8d1136e6851d28c1a1c613253dd4385242a4da62bbcb484aa4ac8060695c465212c54a8a922e6ca87881d21c5270a90a5a946e97524ae992d66127f5898da2f2c1832aadc3f7fb3ba7f7f6c8e57225c901081368ef7d8ec7492c88c2746b5cb115062b1d88d09243922a08394861e3450e3b9021872e30e81004a5498d261da0d4f862e365241d90545cecbc8ca44312ab1e74a0c10e3cec605bb2762aac139f86764398daf3e01237d782bd1a12b6afbbff90222df8249c6e779816fbc12537d2d2accf366b4b6fab1fd8d3cf78fb815a56fd9ed4c2dcc875fab15fc9af5fa4b592ddea07fdf940e8ec8608213b20d8d76e487dec87cca75f84e9d4c12515b542d8a71f04cc6a2aecc5e7c8d447cd6a24d8e32d7d052eb18ffc0873d4aca884bdf8f11b89d857dc8873c438c439da9fb417bda8732237bafdb1bd5ee1d620101c0343170ce2161295dbc495684bd005a310c9a123d84f6fc1604159d9aa145d7f1f5d2719e3a08b0d608413e04f3988841100031b80899efc9049492550c05bb38343403edaf364e78373b87f9ce4837d4e518bfe375c6c76bd1bf501cee10fb71f783ff6c1f5972723d6e5ff01f661ef450259c4bd7a814a78042ca405f6c9ae6bff41201cd6701dc6008d5cf73f3561e973ebf4de8243429ca762afaa62a3d427d7bbaeabeef4a9c31b2e8c6120601d3f5dda09e11cfef289c5bc873268d24593abc52d21247d16680b42dafb7696ba1d2a247dde90a572daeb10384773aca3ff27e7b958943f9f5ac6106c11f015fc59a817065b0e102c6cc272e9cb7ca6695226c52db462894a314b5c8a5a2253dc5293ac1c6d9b0a3951e69f52d8049bbc2daa5c995f3df51fbac2e9b8996883634ec0276db8f0871b6f830bfad68dcf6868b03d20a49125f3f26516cc5a3dce7f924bf79fec82fb4ffe60e63ff9c59529152ba57af9322bd7858fd3055df85c1266ef934217fe0dce068ac598fad4ab600afec42ea8fe54c8c1919159fdb7272720f3ab2e04f0e2745f7c8aa33d4fa6cb694f6a1afc4983cd360d4608e177dc076f172973cfccd9cb3d33f7918bb63d59b51a138067a42db4dc8f8f98becafa2cfce2a3591236a9befb8ee31b002ed5de3ff7e595eaa24b25996438c81efd1517d9838fc355f6e0779cc61e7c6e864bb107df06a782d9843c9dfed087db087d6db8f2071bdfa35d30ba3abaa22bba306cbe6af5f16df3c888f3f1b5873c705e7e1702b3ba97f5d2d84b43f31d87c331eb884fb91b9c0d0ec688c309608c151797b02c3329fc2f569a452fce121632adb86ff5380fbbffd70de1ff6628c904bfa86e5825a52f512906b9e2438f25604f4618a22bf2d04211870e8a34b42bbad053485ac13cd11583249728247f20c5b8d3863b839244175535ebc37995d5ba2338d1e5c2e1e05592995152c2c151c2c1c1c1c151ea949cc0e9bac7e1b8191a2fb9905d9a15bde0705ea53df91de747edc9ee61f7385c07b87f1552d3d19de1d12eeec67f363604c082d1e53c02e89c4975a38b2e1b1dbb0e0fd70275c8fffa327b39ac9393f3f24bce7fde2527c7b590f037048763b027ff0cd6d10279c02f50877c89c3171aae6c189aae0c82ebe0ca2223ec8a21a8862b8594dc28372784ffe293103ee73ff8050727155dd1158f68b40bc07f9289d24e15bb14d7fd7b161b9ac5bd7c3ae43c365e1e49a666d18fcd5292ffdf755f956f83f32aad233f87f3a41038c722a3596752a57c8b33390f6cea974d57eb3edeaefb885c9ce738376a4faa1e729d84eba03ed29efcf24d23d08b23e94b26d7912ff3dc5fbd32a99f79679238f28625d3df0480b3ed65afbd649a4766d04c1263636d606cde468b47da0b6a4ffedc98e4cbcaf4375d74b5277ffb4f32a1fe8b2ec9a509c32453b34e2f5f6e914d58fdd58ae35b83e36bc3ad0055dca7925fc37d1a0d8e69057abf5f21a624d3953fc37d2999e8baf21fbef41dd5b5d2724cb5c7c5488fbe49882253860b380c21ed80681a9939328dcc04cd1b268ccdd44c92a70a9c89a9592e9952354b5562ca92a575fab5dc7eefaa52a724a78c58c4e0e57276cbefee1d04014049d10e5c2a24765542cb270de351b888ba6ce58b2df707763247964614b6481a7127f22742d76d5c7f5f6a165f7843178fd22c467a0559712d6e749de54be44db3e0137f6c0ceb454e64a5a8a6d28fa6f9cff71f9e4adddc589bba9147003a82044985f92161a2c0a66e84db088d8a912b86925f024b18b9c8fab3e646800d3342cd22c3f6082f6f2478c77c8b34844ba074fe146cbf891215bb96dddff3053063ff7108a5b34fe41c97ff26e7562d95aab646c98ad84d8a6aef753e33138a5c29e73682cb1f52adf460e8fafff5d83cf52311d2164f90b67072f96f5802434f9e20b9a9373bdccc08dd7629955828e1f4c02cba352eb07cebad7181f5c02cba70c66569cfee9b4577c2116e2eec6611e780af0d616b7c1ad385cc3966d19ddff12ba7753c23d461244162e1436877d86187ed04592691d8ee67bb64c91219b6c8b8b32c061b61801d1f8618eb4f7772d218872c84b1d25aeb949906842c63f83206eb51ce5491920a946c16dbe3201b63b05fe55a690dbabb2124282153dda8dae3cfa0c3f776879d96722462085262937138b20c8686061a1a6868982e4c172412fbd57ba359cea54a46f64a6ba7c528a59c5b5815df0afd6f6eef1051962f288be44bbe5ca7e51c8a48a2348f2c6a16f69d245f429f9443d79d348bde964e5aa7ffc9edc73af9c259c2c2ce8dfe932f8f225ff2255ff2d57991249240dc7ee944bee44b3a9144d4459732690692164275892394a8c244978b209624c478dd98cb497c8962796645c7f0e1de40c69d9f6a164d420c1cc05013c51628b65c598115265096681afb70f70fe597ecc0183201f043222bd503d80a2c6418ffa3d8adfe919bf79b5febd32a6fe4e4ede11817bffadf7cec259755ecd67931797dfbf1d94ec3e4a6e65cc67159729fbc5236f768e89d4492710e7cc9c952ca29a1aa7af255bbda3d3d5f8f0aed451564872047588d49112c7a35eb2be285fd60d10f1c2289fdb88985667d7088dbaf829021d827a6ac0aed0919f2bc7f952a26c9119d41c63926ece81e0ff0d1acea5af3f8709dfe9b251cb785aefbaa179625c618867120e09785417d5d4157b600970c69ac49568592b4b7614a6c2aa859b685cc0bfbf1972b0213d80f06ddfe380cbe980830eea63d952a87bdfa3e9c0706d96e0f85e8973e0cf2cd66e0ca877fa2cf51a8bd4e1204c5f66bf024830897b9a98a9acbeccfcc1fb9ab91005b76b8ce84e51d62cd5e0796abb7dddd7d887340e9ee344258f7e7d8905d4ae6dbed58d00c51e98c31c64a67cbeeee7666281a95d79191127dcea15185c5b8fe2c831b099e239e8a2cb9f13fce5264e84658a53d8825690f6242edc1c7849a15e43cb0055f72d0081eb507a15117f914563e9143fbec329f416d891f2edc7e6a920b6c03ee57bb5c5899922e7c0c13629f1a2c887d2ccc33c37c13394fb7e07751ede23cdc9281cf2c23f375fb91c1c8c8be5fce43bb1510a6cff028d65c18059584a5bf9acfad98ff9aa847f7e82672e86e55ff31f0c4826a73e41b61597be6ee2b52c310fbcc87a8ffa0916d22ac865b44e8aac05dee69e9d647715fbc1f07a04aa8d46c3776410ad58c08000000006315002028100c87c442b1489048b3ea0714800c7c9c426a4a160cc44992c42808629031c6004200210618430032866c560080bb322c7eb61658825a9830246a377b3867955e9175b872845fe0608db32cd2e106202b0b91dbd3e37da81ae4888a514770c992f88d96c559f299738656843771d61832b36b1513110dc113db6dfe063296fe70bf887a3c5dac6010fca5ec51acf3085ba37aaf1c0a66734333bf20bf6b0d24d81475f5ce1ba4d43bc5808bd7401b6e55643ceba7882280ffc16eb9e1783dbcec0ebcdaefc316196610e9a52661961b8d4b6c7847e2b17aa5a99e21fb7417bbcabe641a12fb65d021a3496bc1abaf83c94ccb0589021936e338e18812c240dcee5f7a0cfe4274ad69c552ace31afe48dfebf9f37a026422527c74de21940a32fd652100a562d2d95d220371a7c3904efbffc80c5874f145cd3d9237252c0ba683d30cc473be9e4b3b74f37956e6baea6b8157d2f1ea7dbbc3d289dbb0be2e95f9ad8ea2edc068bc395fec7991d8ab854efca0da83f82e7698f372e74dfb2c1effa3e0f7384d5573ea9eca575cbfd8db426310766b1a7de4266215b846a66428af74da868934c8836b5a9954e06a9ac3ffa4e3a541ad011ccfc197df681ce85213b510a6c364d46b814f81021a8144e176124f414c643c629696008c00d6b7ebb435f557ad4b5356b4eff2fbb9871b55344a2cf48d16a051ff70e449ba8a3bd9a6c55c5ea7ecf2dea90f2f8f33ec680cfac92983e33c54cf5a6337ac5764b4cde65c2427a9722bbc9aa95054d9d3359479add01fdbe9db5df61832e34694c43b3bad930d2f7516f7d54ac9d7bc0834277d2d29c5bdc3be4bd71406655e686eb077e86c603dc5985f2d0cadf8a5c21ab409930c8363f8c907794cb04346999757e1d56c3973ba943c23bf0ef38fcb2211505fa489d765de13733ef7d6cf865a304e05d56be5d7b72e5270eacae669f485befbc7a3a37ed34b856980c6fe49337391961b25571c250d2ef5adfdb4e44422518c2aba25a1622b4787ba107f67176301273d801f5ff0c5fd42f6cef0b6253ddbaf5d72078ebcf90be26ef23cd22dc275d89e19dc0dd849bb894cfa84c4b0d6c6642ac145dd92645f4779d206dea9dca359f71897a43ef1f60fbbc2de5614ef246a7a22d95f27077ab12ba16e01a630c351e98915f7a512adc1fac76da84359c950a14b2724f3b358a454e6ab097eb262f747529aa1c2abae2042d6774ba8034904ad7e675598350ded2c487da85431181ec60333f774df1ee5f77abdd67878e5bbbf9df1a7595da1c9fe188c76988cacfe7f5a9d4a7a70b0e94759af285514b78a305e46d32e5c31d6027a0bc21ed4d5131f556775b432ed875e7710b8b0afc0d95b2884e3c59b85614ac3d1caf5114e0213421b8e70a2236c75239ca25511e99b5ca8d30bd6b72ae6bebd9dedf6a7f06fb4e4f6d80a017f730e36c5be7ded46a76c2b8eda3c34af41f4416bcd7f09f8b6724da0d8e04752bce9e35c3ab9b4c285c42911061fb958b75b8a38de91340a0f58bf6697d806720afb95db5eb830f2418c50812181cf9740f7152b6fd37124cd8f2f326fc6cc52a4b49a8897f14f21868da180bb5d4cd05cdad257868ef7523c8efdfbdda982d39c152861eb435e9faccd71bd465328ddfe04c772f6a674addfee40133da6175071bfdd762aebb6785ea981f56bc05a551fd85f257494d881718b6f5b04dc5d8cfb5d6e157611e67044810745a38a8a18f065fa69df9b2b357dd5071d9d7680943b98131f4b14a801672b554e98a1e9434bb8258b144a78ade6065edaad8fa2c3034ce2314071fb75f531b6df0c8e1a690369b9fdc57695c154af8ab2952fe064464afc0a212eb69b800143afc841e7f8fada15d25e86bea15bed1f8de254e9a8feb033d9ad120b9279adb0759e92808faf33689929946222a3a87763c41b9b115014709221d3d86e6e7fae8e0483adb1bfa931dbdb0f9bc118b70237eb811fa44006d92041fd2a112e4a102b16ea97395cb4be7283d5bbc791638042db357723a27e07e0a86bbaa75f53df33855088b4e1cbe28443b933e948d754bc5d13356fd72eb32c3fe532f4fb9e7eb5edf712cbdf8ccba79bed559856c7bed42b59df7d88be7fd14b7df4275bf613b068c9544e4b2ed75a72669419895f75df1ab76564b6c664f39b95666bda1d4f63122d21fbc994ac30b12fe11ca253f2de3377721d54f2cdc741382583e1234cc1f44dc9d1862c454b4e81d455c1ac37b4a46ec0e6af46675809d95143ac92aed8ece79c248281437099de2ab5623322085179e35c4bb9e6c22338daf80c3c91e428443b6dcd4f5d88969452c98f81aed8039ac49b54326bd3eefbafed9206710fe91c2395b4cb7628b347c1892ecf005835c6c75b7ad4806a7ad128a6ccf09bb1aaf6a1ec0a098944af53a4b1fe0657cd879918dcbae9b3b1993baa9a7fa7920ec658eb7b90a3f2245417a64761039d8e8f68198acb5b2aaefd4a82f4a1ebc9cd1f1e703c1ea43c170ae0080f33c455298549a28e6831f64e775a64dd1e738d1e15c47560d797a3c2610eac5a55d2da0348833e7bdb62ae0018c07f85c7f8ee8fc25493d1e314d77134617ac94f719dd22685ad29018bfe95d885a7bd1fa58c5c14f10a2fcaf1030206f6ad681b90a72420abd01888f953c0892d653913f6e16c719c720f0072e625b6652bd74016847e0dd18044cf65ca8dfd114856273729a1dac3c59e4de627cb4f804fa50c0a167e19c088ee4035a3a84ea9c4bfd8b8ddd7698818420bf51e4bcfc3389ce3539118b12f7433e1cb021800f8a653b8db880323e30bf65111cfda5c5c9802181c2b2aa86f1977e8339f13677a3340f81231b2a0227cbee6c4a231e1f36129a618499a6cd4ddc95c31fa0b356937677f338d9a59359d972816dca8c0b4aa153e9451577240ce888bab82f71a3734f0a35600e637ad350fc06e1e516150b224ae8134f368ac4160d6ded87dab93cc7b4cac8da75606a2b3725d420854463a3009e1cf38e3159002e0cb8930ce0514dbad281f38a59f56afd46374370b0b0a62a124632c5dfc749a6ec6442a0984019344cb721c975efab1b5ae823401ebbcdb96fd3ed04a8cb3ffa48b82b6a261e21cb2b4192781764b158495e915daa02e3b2305be912305879bad614a2990889da6cd0bfa028502e563e77d24e37908b63494b8a5d8916658d6694242da89c11aeecb6a236f9b3b3572a6a891905f34c45891afb670ced62cdeff9280fd14b95095e93a64f6092cc3f36252b8cbeafc01f643d7e10e4df0aa96ead79674eff0cfa30702f97c0268619bccb060ad039fdce18a64f810bd1eade9d96840b46d1473cb6dde7f1c0a6e2d6291612b258f91e03387d7601c6274a251548c5c735e319de5b2edd1f3febcbe5c2f8edf1ae5800859a820f1a6cd8421386d06f8fbde5c5734aecdbc902a28399356ef073c77e042c798bc4c45489a75c0ee6f6390a0396bbeefcbd7900f623630def57896a0120d3e28463309ab927b20739005b9326a0e155883930b697c0862e51c7f4b1171bdd2bed68278b096807eb398ce809fba1ebe7f6587902c082c23b4953c1335ea0751d3320db11c62d5b670ee6a6713a1b6d565688bcf9a287dc8816468b2db2b51ba5795cd1ec2599d006e754daa04257bde89bb59859c10cd43e8c82efd2fd8ff05ed97783013ae43f0a6d46fd02be49531560fd8b126424ec772667ba7faa7e92148cfa192e8e0fcf19c873b1ccdb459b005647a2ccbb392ab9252d37a75629eb1600a887ab5e8759b6284c464d903f3ebfa767e9eb9125fbd1b00f502eca53d881e8fe06528d9f2d70589382381513073e80d1bb947d05b42fa98af77dd7f9b59d04c5f58bdad73af8a9e5aa6529408c19477eee0d881d64485cbb5954102863e334e581fc66574f94689feed1d8042ad56654c91189d27ceb821484e2b55f80d005885995abb9c65fba1246370e52595df1579143fab5162186eab06716e17a701080e0b4a6165d338badd1780f44e2b514b92427dba712f9c7f036eff6aee1c3043046e882755c1de15603755b60859f604bb0fceba680551c1b34aec479c9ff1c21b5b09af02ffda85d09a03d20ee3ad3f4e434489385364664efdf3c00666faf16bc2d2620e7c4952de570566a50859b128ac2e4ad61485158b92b522cc7a11b05214595b14d62e2a2b8a84b545c98aa276568162a1b291d26aef3880f1afaf30c44d31ed21d5cbea374624aafa30a2d34dc02e7158170ed28503bbea90ae3bd8250e75d101bb7078171dd28543d2ae9e03bbcc414c4367297590a0b40012e535a18dd86d45eedd56d8de3e82fa2c467b95a2d443153e9903328dc9dbfdf74b2398e8b6fa117aa8663a3b671e3c96f77a9d4fd073c4e1445381469d51e0c27a317e22aa9609500560ecc3b78d302209315235679667ab9ff7d73cc4ec2ff0751aedadda34ee0a9dfbae1d049903387a176b03289d2c0851bb2eff7b03ff4e576e6ee21e4733bd56eb3034c1974e24dd81cc6a92f5e8378924ede279cb3b184c79602e7170c31b0e195422a6fd784a143a79a8b26dfe94895ecf8a3e1b19d32aed62422265f2a068a7e25d6dd31628aef36bf59aad70e22d0c053c573d4b583d1504a61cd923bc4a8878eb31dc3409d7188d4378bf985d4dd22941f8c1dca389d699d359e342027bae447f76d5a1da078d7e5e053fb84cd6209c97ad723ebf59d4696f39751ae5569ba2e565e1935bf5a05ef04e39f48a530d09e6168b34c743b9c5ad86eb123485e156dd67349454ef9b99751616ab8afe899974a8e910b5e58badc8d2565d2a40558cbfe2cf687f296b972f39703a8d9dcb04864d2338a596e3f4af80ccee4522926f022073b432b0fe578546a824a6e55c8039a6680e8a9ed5f0c3a211301807ebe10a3faa408282fa3a3875b3bd157527ff9abda0ea2f48a1807cbca207220a1d8ca86f2603eb33d51bf9c8a32183b0d3c3ef22da322765b411f4294687287492f87547c07095bd8b1e4248cfdbddd7219fa4f53fcc41235d45735946adbe285908e08e00e399b6931171f8040402efe473206d2e0048069522b869273b1254f3251f012043bafca7f1820d1c27829cf2c7e58262851296124e1ee202bd426c7e115fcc0fcd555d70f526dad551a1600c642e5020dc8ffad2f1b25838e0e5efdc9cd265fd064157a9641484f0a3fc29f04b5bc8d6b5f2cdf6947f5f0f7d3dbaddda15df92c4f83240f5477d5c25476fef67493ec318304962c0826082a02f995e23038e473ca5ac3cb40a11fdf6626f2247d19d67bc4129598361b97fc2d6b4f8ca2eb67a1df9ee59f10aaf1290962c7e5fc6a414451a5db189320ed38c2f092ca832fc9e1e695c8a16d736d0185b683c922e7a01248ae78edb936a922b69311c4e5fb8b717d4eb66e348bf36f1d75974b5c5d48ead577ed85ad6a48e415b880ce7ef674d1460b80b75f7c16afe3c6f69e4f666e97903ccf6aa58e7a437cd668213251a39cb3c649bce133c936b30b7ca808a9edd0053f0dec10e8a88b548ffcee9029f94eb1b586d4c586b93475c07027d0f230786ac913c035742b7044b70d5ee2dc8c4604155c7180cb42ef1885ca1aca8238b548d9df10975bc7d285e7fb2300f8eab4d2cbb157ec4117bbb3cb47faaead0c38d137045fe68bf13b74a7e60331e1731c4a421ea82dc933a7d108685889ad2dd08830d8a11006ae4ce6a96821737a9a8b3944e8ed7a012c8b3819848b24dda99cb56d2c275571568e3231f0b10e171042e4f2c279eba496ef593e5228e0f4dd0567dc20af0d77d5bc97c33ce392001a34582232e97fb30b4515b7506b7e247dc57d0a99463c68a048a8bbe70f23fb1a6faefa997b9db9809b6f0a3b953d5862807270a56ca29afde1b3f4fc0a481cdb6014edefaf4d1bea5b16bf85112fd2ab4e3ce42bd099590b1eb4e87a66b77b78a840c007bfc75f8147af6ebcbaea8107365378571673365afcd2901c4975a4cf7b2a4e21f7046481c072ec4e7cfddf1749c0ae93bbf880890f34e589a8c8365ad0d3c4c28fbbd24116c0316e3a415cb827195202db20478856754305a5e5281764d7e1eb2719e1b600ffc64c07d0a553eaf6a35f44755007bccaffd1fbad237cd2cec3ef3539eda16b673fad54311cea1e49ae91e4680a83880addcaf12774775be8511b87ef1f4a6b56af2f905551e70c49554e21de006f6808de9d0ff5204754e4aad27d527d94b6cf347b9af22b284133dbdb74cbce3362b2e030c4ef676a68b5868b513bf05302eef771c91dfe8922597efe9164e4cf641864b8a6828b3fd487c1de296918cbf9ca2fa22ec35dd14413e4d869b1be0eb8de73acae2e4f005abdcc3c29e5043a0405cf895d77fc4d425336545ad67af5cf57305f520f86fee3b50c5e5c6837be64c187044f3a21f2eaad8b7b3f2bfaa39f5757814150bc46cb13ec98abbe831dcf43d1ec68b6850396f1fe51bc96c6b8fef1a81c2905b016661b26cb95acd3427c1bd9fd57f45b4a31786a649a6a2af1ad77e7f03e675d5508dfeb81158688749a2bf118266bb485584b874ad14f726075202c411305641071eda5c9920619ae5318da99ca1c918c2a4bac36b3c245ee6b1c00a927647121c0a69ed537725c6b4336a19082d994557fa4bd1ea8efbcb0f0f509ae64c611fb476094547f2a80e806736048dfe2307b93deb1057a5d623853298600b00ae75624a3c8b21c5c5644b11d717d917a4e76c27eaa0b940eca532a32907a213e5d4f05ae440a15747884062a192f86ec46b05fb245a112f77f8da043f1156f1c024aba3245c6f71e4cf6d913d4a993c8e728dba6ad3d08e5d467b8c222701e2be03f047df31e720280ef6d1e37d7609e1a3451410686682e6d2b286b6a6356e4a001d8368383e2ba7d1434342d2352b5f5dd3fc2f74a374de75f8074412a94848dd3fd6b91feb90bb9aac52de52fbeb730ae332a6170ba188be84574b8a29ac5d6591d2a9065a193e5f8adec965d914836a841c47a3cd3c08f16895f2ba29215f6ff123f0c64ec0a113a424c9d0b5530228af8e3895b76a8abd9c72fc4394e43ee46ba27a9cc19b693c3ee102254629776488bc73d11029b9bc9e9a09e29124c7b06d0429ff93863a592fc5666578026f052427e38dc507680f5cf5d83fb52a4d27a0a56aa866d592715d01ef617558d88186ebe4c3406e62472e8064993706f6cf8414f34935827252c74a16cdeba793055a634c10fe8604f3b8c916cb03fa054eb97a6675ede70737e5f118a770523b9b11993f03be746541a41b703053f1ab28712dcd5eeaa09dbb67a7653c106463292d5c07cf957220f706ead84cba49dc1f607ce066e45cfea5dbd54d2e0c0bb2632584632ed9f4a96eba8ffeecff49d6c7ea5b663971161b2ae4060f86850e9a0a02dca6711cf04c98dc75c6b7676228a49e867f82bf3ca638cc8ae99b9181b8bb117bb06e3b404f11351d28220e896dc94123208a03279ab41aaebe324b0e6b0a0dc04a0e45bde66a357c9699a0da2d59a445d234f5e15f978988832b8d07260f667b482a71b0c01b549b24875036034189954791c0db0b5f171738a61f30c9b160af24750067acfb3430ec41c2073ec97925bd0c06dc65a6f8bb864a444844514f95191a2ae34f6da9c6a237e28f68196dbdf91eee9e2b1f66600bbb7fae2bbd140703e5fa9e2aa97f2b932486b961f4a29866e6bcdf4297e62d5f20a33d22c71826c49d16d051a4c51384be378600dd3e1a8680ae9d1bef8ecd49efe9817b2d2ed7f3a21f76e094d50d52bdb9ff5486e6d264b789e6f77fcfd2ab20cd43a4fd37f60f1bb5d8b8d9377d576478ff8e17b56ea76fa42f30f08c2af9281803cfbedad30e40e681758285faac0bc7ea3131966be23f0a526c2f494e77afccec68f0aba121f3c59e8188103871d10f7f9c370c7ba200f0a9f6205b595d67a7c26d9b1976cc559606e0fc3f2af0a7f92bfd42993994e0bd3e7e71f0d128abcc7566ff82cdb252b7b2167b52d68daa25624aa555546a7611fc97cd27163692ec25d900a80b96f0e32857719b43c46d1f9786404a9ceb9eb0bdb74ab5e671f35dcf953810b20f00a0f9eddcabf58c3d3cba66f09ef4559364cb05c29fc3fd97ef2c2fd1c5ffd2a63cf11ba9ca8f7f3bc1b228475328d4c27ceb8140e1f0348097c93c24bdbed323ad579d83e02d90d242929cddb24e24bee088931734ddb6db3c91dba8e186142abfff6f9b057d2c2ac06ac4205dcc7e2895c03b448a0c7932fbfd9792173f601e0db4b06f939f11ae6d6f142b0fa3166d3f649dc4947f7989bb61bd8845246d3c04630746bd8f57ee69a8b78a5b910a3d714be2f9ddd46516bd8c4561e6abfe7e13437672d663a7c9506f1f374e6f3bd4ead7b9159716094c2c3765d13e28b00a5e6d8c8db82c979cb7fe3d00826b9cb194cf3cc06068d6d441ea1694840abfaff7e9400e0797c1040870a60b0443fee4c964620bd00301479690348be03fe372dd26644aa0c7b7aa5fabd569e5d95494fe1184ddbe37649196f0d91c2244cc0389a098f3dbd6f39b18f48b3c615bd939f90ae9b6c3130893ecb603f38d40eeb89cceaa03968470c5dec9ae6cb4628c40e60a1bd835339637db1f2277b5241ada9a400f83919a349b38db7dc3fcd78f387741fdac1b3f88b62a0e488a248ebbeb58aa2d1d13b6bc97fba617763b562a218781dc0a4394b840f4b8302b38a8eeb1d383fc0e7b864bbd40f90d9e12d57bfc0aac8b2c76e68609a32edbfa550bed6ce7bf7ba88e2e2119c1b7e150e32f2b02fde25ce8274e0127111c04cb83f7288a979957fd5877ce00a6ffa4fb545479a7998ac790ed4f5ae239dced0d95b0a318e725a40e23afd98f9bfe057d340c3c8c384d7ee4b7d84c8a36935bb3c75f3b3b71eb4c90950cfcd6932764084ae0a310a61f9f7c04ec2230745aea3a0a0582d5aa94579f418a0ac5dd2a3b21274a1aefa215071734258c1dfdc0cb59e1b0a58914c217f689239bc0c1234ad21f07ae9c2ac2cbec2976a24439f361298e63aa23613a5e0ee08e504343225e4ed71d047858eca76536327f0b3da41f24bf6851c74cfc634d5864435281fc9712832a5eaf0c9e73d5c1ae4db2d338d570f52fb93dcd4a9e7dcc56dc8c031cdabdeaf1097794bd9b635401e654b2f1402f84c443d20d65f096f5f2a23c1d939cd741d280b13b61f103b5c8906fc0c62197a6fc1f9ae00ea09a458cf63529ced696b4253204344cae4fcf8f082aa2d1f3a83e28318227a28a42a21478db6abbe4db12a83deecbfcbb042b83c1523b58ec2ec561f7a903abb068765ab9311ed2916803546ce4286756055cc1df554fef6a825771e5525bb3d1cdf7d04c11e0aabf4d89685128c9b7c2f3136394b85f32d90dfc45b16e8529aa7586ccc01e78ef285490faad81a8a4ad7c90bd8bfed43f3f7469ed6ea40cdc53ec5167e61696c19c8c71b468a8c850f7505ddac84ae13133844c23952995fdf6a09386cdae07554443de7d018c06a68ad6cc7bd51307ab0eedca744dfd25b9c3e11bdc9f455dab0b71abb2013329ce4a9d53c092806ae9f1555942e1d1570a89722920d0ee5693012f982652c29f05fef1308f7befbe9fbc14965c2938992e074e5490414e35fa6506306933a499570ca5e230a0b948a613bbc9b2b33c303db993feac5c47315b27240ac85e6ddbe6443b22f5586ea2b26c0ce941fd1b0cfea4a6ec4a7ec72f548740a689bcae39db428f6188af42b8132e403b0dd8c8574f27b5602209b8443ced4ef6ba4387eb0bc45f737eca7c35aa0e3ad7b2742aa29e98a6b6dbb046a608fcf8f641378b8563b45b55c0b3f42d9fa688ddee17f23ae4a730564ef208a4488f16b7dfe2e823a58897412aaee7089c44f82f731b6d123ee2fdce8af607614710f7deab7a2ee5760def19231e75a83e3bb856ef5bbc67af70a574ba9da006a5911ee8474c7706255b89c85bd70e6785608c08742ccd43198eea480bb45a2ed1ba7805aa65a63cbae80ce38b3f393d4de23730302f0a90913be5efc334df01c8913c4dc043e293c72b83f1442bf5b232b12cb79bbf5248555c26bc36c27ead9a367481d8416c81d8c6c364ac185cb28bb3e3bef10239106ef08c8021505f13839f200177602d87b8b6ec499daf70b1de71cb7b6536318e1cc8ad48d8c71dea8760b7efe70a63ed54a13581bbd4a30d6511abe7acdfbdbdbf86ac51ab8f36dbe701631cd9835cc895f390cc11129bcb9ae2bf65aa502339714ea95a49744e0ed2c237f0cce34bc686d9419bdc9b3ba7d1a5403215dbf28c8d064504887e5dbe74be58ff02adf00f36b77e26b6bc7ef2184d41d2eb896099840a8a708c1f6f4ef25678ab2db755b729608b1fea6806bf9737af288c38418c1198eb6e7e8155debe91f8d1fe244cc5634170e13c0f6065588f07b3190605575d20af0eb9c4a0f4e509b92fb1e858482fd804c4f70c2a2e687fa2242734c7a03e249ca01cf3020e5a2e2000010bcc079bd60bb409e7bd4b07fceba63da025ef219f3e9858454dd03f80c26d734010f2c0948910abef74e589e17ab62170e447f8bffe9e3ce714f67b83ff1ba0f2176e50b83a0aa94f7c03b0c61480195468f6c669ef50d0c193376071414fdb96ce30b9750f33accb643b17a54a9a8a112793fa36d20422c6047d5c36a0d062c675b21d9142ae08901e9e75044c62ad085fa0ff08bdc3bdd82072fd6e633d603142e49f90aba3ebd3d525ec535c2f3a84c2848c4b1511c8f59aff31f33dc8f985d42ef491bfa5573ed4cb7532eee55dd16d2a09fab3c4c258d29282f6bc5df8ba28bcea67562c94a8863d84958997c4cf473b560f3b4cc62f7428d1d78a2158a82bd986319c6b7df52798dbc80ffb244ff9b91b963caa5279f127af4f56858ac4721483c0011565afa0ebcf567a282db805ffb7d5f1d580ca3b3897ce614169219e82160964752e94e471e1f236804a33c526c4364867d6b44f36a26601f1b4453a22fb63c0aea0da39a01058aefd00066ce4ab03025410fc7429cebab465f54a77a5afb887a2f05de7df890cdf1d0dbca7c1d6a99ed31398a8044c84eba2d598e8ea3c797e63584410f70fae6319f779c06eaca91785f202357b281e082c04973ff6681425b63aea27c5872c5dbaa170474e3b97b39a7f55ed852d2a5aa1acd7a3810a9758a0a55db1a082d48b5d64b59dcd9f9b90efc5e509bcde8157c9f45b26e8c07728e2a33d46def6eb78e18406e167ab0e715401bf618a72acc30bb82e8dadeac90f1515fa2658f0cfd6df29de2f3eb0ebaf603b4e7e5bc8c59d51c5d78f1ec723e30a46398c22b07d201edd1c70115b5dd762711448865c8e707a2c69b7d21449afebf9c7fc10aa70bf6791903c364e3190a16817fad4488b06d2ce8952d739a75be2291c487fb84d173836f214787d60c5b094aa8a5ecbd4708d985ea493d55bc7676009cfdbb1cd8bf716f51ad1fed68949948e4ad4e3c7cdcbe8517b559e5b27d97e021865f889835ba8a6a920dcf5bf2a8a522fc5c66cdeeb51f58c7a11b809a7d48bb52a0480d713f8a8979a7fc75aeac5678f3ba890bc0eab03f62fc6a31879a0ab21ab54005632a0ec7d1672440e03fd3a6a95a30f28e7afe7b9ba06aa6b21d616967fb91e0a6c873138a4dee05894386be56c72276361fdf27cb4dd50cb58b9d56157df6a80c3239ae1d1d47f569b9246e4d273be3a44630a39b548e758939307555330a02d3a8f4a7d9cf69ba5219a17c3b91d82f4796b6db71ad6b31cef48b4cc5ec2d7ac68b881d0223e61c493a9da87a6418e7bd287009f03c1edab299b66e40cdd63355250de89530b23a6f3a20203fd35005e509e114c82c857c4e47fdbd97ec5af9864762c40535c5826210950490b8badbca973b8bc6f9d2b189cf92005ff54fbf02bfb30fae44861eabea28aeba7214b19a5a77909b1a82f95f53483c42262e15ac8048450a67bf587a555efccf48f44352c75087605d4b1d4c5a6d0ace3d15e7b3217008ef886fed971a62ca971794ca53201046aa8461cb62d5e619283948b123634775ac52d770d2dc35dad4ee5cf62bd2674d2e5329b6b3956b38fc3b4e54b6c914ff02db94af79bbe850ffc1302a7389cc94c0828c3c540611215ce2d8f10b890311ab836f6e3b0c3e7461902af9c5f5b481f638403caf0055886804673bebc9eb740508d420183ff6f79bad4935ff7d2f8785b88d081fb1fde863de164206cbec0a9c973694c9314a807afdd48517508ba70e3608983db8abbaab3b6acb20b601a50ce7cec12b8e4cc4e13d6f3e720da8925dc57c456650ef87471fd32f6ebda041bded4984cbcb2e1b0cd561bc1433c11311c4cd54b8604d71aca92ffc024fc6aea9973df2e3983ecf549907722b4cee6d2af732b841f9697fa249d366723dbdd1b8cbca7ce088582454be8f0fcc837e4502e2f24de3ce44726198dfc23ce8313aa9b090bbf3b90e12295c98ec52932cd09cab8d59091e58ee707493f6e820047a0f02cccaafac182688469238feca0a67c8d6c2fb7f446764417963474b99bb6ff56fb439fa6e6386a4f9a8c19cab57e62c114e3e3dfde018ceeda7e72f5c41d8c2cf72ced9fb4f42224ee7a46413c435a6d244f45a86a3efd1ad7ec9085b6473eb9799aca21aedb39b5958247241a17a5a7accbac5017ffafbbd62a422447bc46279d2b424309d9a37e50e4fd83941cd017b369d4c5117219895e349d09095b3557a874c9b74876572d87b99bbdf90e991f409503f29a2cb554c2e8179bcd4f9169ace3ae8b395bf154ed4d8478c1bbfcf72c8857a4a8511520bff08db7d5a3adb952d6a285a02e6c575f5536f035a268a88aa25ceca79f4a06ec6b62a7511746c805bc74d1ac08205c786a68b0a6b828d12879d0defc204143889e951bc37a4cf10403849b5ee80c113771689708377bd00c91de4e2ed76df0aaac7a44046661e2c24797dcea7795c4466dd1d0142a7f4ac78fb7daa8ba835535223dbc0c3205b7a56b80d4ab6dcf8d6421a73d923c41f815e863b72d701ba45bb911276607c02fc32bba64144fd219046c8ef62537019987de726a0eb6cd1187305f216b48997a904f55ba02420d7b13b16db8b5113468d7620a168d58bb72045adfc48d6d7a582cb261943651246103e32d197fc4a927bfcc7405a0017f0bf0ec477a5ff4d5d465dce47f282ea4026f2b2159628cbc77adade05882168aa6004c346d1e326c2d0f37a229dea18bd6aca9b63f78c479a38721ccef19250784540571ca74fc313fc2a9c5bfcb5081888b6cbc1f26d9df49c68c083c70e13c24f76a123f524f8d1cec850a1e1563ca09e52f8fcdc6f0213a7bf9c74b1db7a31dd0be3b9fdd361fb71790a31203f3c7ebb76ef5bff06b5731c6f5f21c49d0bf6c11e494278d23846a11c21a7127a07f220847c471e00b4b7d060dc467fde8c7958fdb403dfaf0743e88eb6a82887818253ebcda97d76c1363dd973c9d1afcf42097181d06365155d9e506bc97c14d135fa59305cff45e03d14b5650eae57ab2cc0b0c8e1ecc718131b2f3b0510b9e4f469baf851db920fb0a93ce22c5af53de97b30d228b2dca8261634e496dd3bd82018f0213162a9ecf5e11fd9a91b1ff517cc9f6df1cfc6aa4901478dc43364757746769da7c0f53b83f0c292c1a547607d0d5efc8444800d382f2c183f91920f1bf218b79e57b7ffb6d6fc95a5d4938aac42eda87f94d8e1ad9197d3382c542831d973f9783c2a149b66778c00bea22f572165573dcdbc5258e39dce2ca23223c7706119d81cd7f175ab231cd821c51a6d5fc2314d70617d355daf08c511d091a3ea57def80ae21c6c315d30aa2ab2f8659f2dd4489239fb761958d45a811770cfd012991ea3099792254d241c4f0d92b34804dd8c6453e181a2a45e0d40ff344a0c34eff311a7e1067666f760865b6d4e40ffe39df0ee7dab24ad050337c7d22106e33887e6bd73ba9e65b1b32c68cdee48fa6a54497979b069a528dfb12d7adfd0655228aa6a70796d2afdb1aafb927d66b9656666f8837205df00d863471c8c66aeb22909942827e76102c470e8ee0b1ddb22c6ca1267b1c4de1c861ea0a3ba818b368a9116567069d820bd6a207c81925ee3137955ad833169b2c1ccec59b50bc007a70177449c47eb75c5ba1400125a8c0409f77837451d09142d5a64da1973bf52cd9945b5503d1ccd3853466ed8f25d5a952b43fc0c7cacb8435535031a815e338e94eb56852028f2c503741d7877e4f20d8cc475a7dd84cbed6f9e05a9f9d7adc753be93ac36796c808daa250fe37970246a2ad616e29a8def55aa5f3151c5b21546e499602c9029267add2bd76cc08df44b10856a45765e7b68edba548cb8bda376141a690ece038aa95bb976669a24a792b851cca39e929a8789045eb530162387a4538fa1e0a24789c137e2e14d960e1b2aff8e6489e247336ed13969f419a333a1a74636c6a7f6015c23fc63d4bfce3e131a2d4ce6f299c17e7b23b3b75cb20bfb0b1d3ccb710291bcb1687413c02ae125ff07ee8c5c4688cbb4062fcdc454d0ab77716f3e0a60eb71328d523d0c1a26476c513ec98bc94fbf43cfbb11b89206c0e80613c37109a13825517fe96195376952fe9881d9c72af7e72dcdc0420d1b787c56b86a6ccd9927b5440813d80bae6abbf708335146e510e23eaa07642d1e27740b4d1dd86dae05fb0fdc9039f45a5e17021d445b5f7916edde431f3046c86717b111b973485ba5286bd24fbbe145e11f58741090834b26ed71dd1e72be18a30cd46cc27a416729a761108cd8b39297dab366c4185f6a29bed031e3df8c8452be5959c5bc7fa556d85e2d84c1097c1d442800edcfbb2993a76271ab98609003f9f825a25b949a78629b562d21b7227aa5181353b137b2351f60d8519f03fcdb87bb60d4366830f69d620af41914d8a63800ceea54896995ff50131577642bbb62787cf3e6ac2e84b8ae1a1fba0df11e1a7c8233d2ef7d1247950bd0c871ddda5a6567c3e73e6ec703eaafcb78649fbaaca0bfdf8563d139ae8b0b9b712daecaeb7ca400606eb34c8fe71755ac2ba21ac0c460605bd5f441320043f4fad9d858cdfe0252cbb5890f73da1867dceaf6f051add5d125be220a535bcca63143af816b470b5d5e9012ade0c00e0ef3c6c069855bcb2787143abad4d692c77468decf2696871160a26d076c6c105c4273c80b06468353080576c1e3bf68e2067fdcce1c87d6040289e26611a469c716b7de9868c01347c2d40883b72c6d163917afa592930d3aaf1c41c3931d82c47c71dac7abb49c31f7fa045b11dcecd049c36a0f934d5a0990e6a85dad332aca4e440b125df1db9498229fe69a8d4af9d74c34c800888de7fb11c934b0a89f09a54d3e0506c0e027efad037a3c338dcb22170180351b83ff1b984e40d4db6a95d486f5b596f8744bcffd41b3e4a91b8bfec26cde6ffd17d1958361ebad56928cc8217c44cea97c2024b48ce6f30e3549da1729b6f796afb8982c4c3aa449016256e287c6526558fc641cf416042b9e9ea617de1e3dafac043491dcd0db56a75f3e08bdf88c187abb225e44be9d1cd4d8b4edd4827852761dd998f6b410da7f4946fe93d579d0769e0ec4df3d73db7bc85df62945c02765724bb450a440e6ea36834e5ce6137f86cea66db554d0f4b9c3524d99a51ef07c5a66ddf8bf0906f418999565e21ed26fafe0c2522d99476c1987947d13356081aeb6ae2e00d2a59bf6d45dda31e29dca97f7a8f0a740f24f0d043ff909a213d8cd9d44cc2234964f766ab673e0216078edad9a0c7435d5b01411e1057b0d0690ac799f2dfd2eb85143bedad25caeca9ff501bb501ea19a0be6dc8f4f9c12ec4232545b944094199476552cd843b858e8942818a2049dc67c29442908bdb15441b757522158e0c6686a01abf4feb6997b5b6d39ac6f325a31ddcbb735478dc5f193f4c72c2a5123f08ad2fb6e8029bbfc348306415e0211b9ee4f56954fca2fe92b71b3c13bbefcece6d01d3ee604c9d916d2d272b8b8e8e6aa1a7e578b720c6bb8b8eca83777e9a368878887a949d1c164b6273be59c615f4da2f4fda03177c9c173094dcff9950cb820d882e94d3e78526124d41179715e5e7d95d020b18712dc601b22fee404d01028a3269bde3153819c831c694f7976318d94a71417cdc2eada63c3d0c702437c2754a5f8853f953693dfa7c50defc44e602d4e3fa9f93873b3f06c6e316be7c6adf5160814ad96dd557d4017d8d7343c8a8ca31aa169cc48c67ae4c31fdac7fafa3a0850e4fc02b32b2b6f91c8c7b2c0f9d43bf03308962d4011ce0d36beaeb35070b28b3d98e801cfa43797dab79ebe19a3300f94dade731bdbb311bb30013694a00a9df97884e817a316f6f0aaf10df50520ed71772cd7b55a9e42ce32d3a237dda4ce856468ce593883a2aa5ccafb36235c88c2d4d94f523be8d5c554e86b37fa6ab1cd9aa4acb7f219234586769d24b0cc996e913688a22ca7bde6bce2451ae14e123d878a62c5ad711b764345b67544d876d2e9a8b711668ed7fe0544b4bb47b5b3c01f1ba5c14d9042a91448897e881130d4b70e2e8e6d043d9799e5b6d6e620141a25dcb86c42ec0642a7f40072685dd1dd64514f601d7e5a644fbb100906c1a92d7dfe0a6d8f31f3f09ac9d3cf5e46fe3d3b01c99ce839cb0560b1922f966ee83985a113a8ce45b7f953276b62123cc3cb5752395f1d22ac769bb6d65f0c5c216fb39475253bb76fddace02e3aaad9f2fe0069526de3c4fb453aa60dc2ceb616d946acf0d38d5b729244280ba7e90bae15c4b4a9143823eb998e7b57cd4f731cc536b3f364c2bd5596a4eb044bbc2bba29cde416185c068d835a70f227c4cce674351343cc358b9d58bf400c53829391fe6d63b974d11057fa16921d9eccc6a69bc27cd6aa0affd8312a14a0255ffd85f0c2ca540cc927ec00f4a8066b8935185a5ac71fdf6fac004f9c87ff98edb9267feaba2149e62562b6e4adf955e31d0611525c9419a268269316cc1ba07a78d8952bd6bd13c1f96f21ad3817d303a72b012095d2dd076e83dcdc623cc4fd13d606e8e6433a36f5ede22829676f4aad59784b35fcdd41d08fb0d7c364b4875eccb82000d9e781a75adf4865069cd7288c738fb22c800844ce9ff2cbcb7fe1920b2e541f6f281906f95980ccb7ca214a77978a7d71bf5933f63a069ac56725af7b150b52d53479fccf475a4f57a7d134bb8be8ae03a465b8a270df0b7fa02812493b9df176136ec07e631c491bde042f32704a9c5a29a4354a1b9206306908367f3151b40480ab9bcd165d421cee5932dcfe3090524271f7a282019ea79a0396b5179a825dd5253528a6854906e5af1bb9c159dc43c4d7e9e8d08856c9e68588984c86b4a75126bd5b2ce92669d62f4ac247b92884ff1c421fb2ece7b3866bcc6e54d3c88421cb3088e0344e5fc560ed66572f364c49c28ba2fe74406b9a5b9084e1d282f11ba4d98c07da2a87d02e7bd9c5fe9787b525321316cc3f30a340cc54ed08e7edf919d630d3ed5f39ed8f606be3d4d6fa4d77275674a5075dca3b7f95f98cc3f287e040dce220022e3012d964c8f2f8791a2f90186bee964e07d18d834afe86ae53908acdd7a37aaaa89e3f5d64e9208cecb6278305f9ff5c9036b88ec0b0b68b6d38356ee64f88af39c2489391eb1a03dd85d25e56dc3c0d05e1a37925c69a66dcfdb8ad1298aa87b692a2a39648dab74323a3c8853cd2fb9ea207b5cf04010c30ee7f29c72d8213015bf628585a79048871b527f2771e7db25b4811550ba752072caa505c95b072e82c98e3cdcf90c0ad9364b0ee1dd9c09163bc2ddac2f8c5feab6a9195ccac85559151e29f32c22094713d9fba58a21fb46e4c56ca909aca11a147c612bca238ac941d08a2667dd01469762395b0541374a428f952fda1caa27bf81da0a3c7c28bf450790e32a8be898af30611894394717a5c1cb9399db8eb8c5d622f98f42b82ec3106449622c53a2f23009aebf04e8f407a711b7ce9372a53980e18fd803b4311537f14436ba862254829b6e483a15a95c253cbd58af98f1a695c61b5f68401091047fbdb34e24bdbe20e97ffc3c7c81cb8bcf2426477a069c5a92a5c231628f87d89d10501875a600f935d778d5ddef8f1cab00ddf00035c0ba6c25d4d61b6f0d76bf0567736a14ca3d228fde9844afb19122c4ef2bc0137f6b923fc21c40a3c69e564f0df7d987a1503e5f0ac30699b365b408fb70351dd7b191868a4b574322ea5f299c2da3bcd6f90d454bd58a18dc7b8079530b653738db0cde90926a8abcca21ca152f919224e40f9182054ef6217f246a19220749b785235a8748e2939d83a0a4973e01e75c08384739727d776cf71cabf4c91c4e5fb85d8dbe7d64e6a0c4ca01b660aeccd825cb854350a833301e7d7cdbef8ddf386865e380c433619a357fc4ef1361bbb7d38a40a91910bd8adf47d446faf29e14726cbc5f985411c443fa8293d7b676a51f66c3e28e63a4adf076e100a0f5e96555cc220e68c8d04855ec1fc4b968586e753c812d5910dc941e4832c9d6b7661494825bdee57ac3814c93a2bef43c8e00b39fe147e23a8bfa41df3cbb2f96c5f692d4f029380e9206a914c8f8263b92c47ea5d490afe23d11b9f103f19255057833e2230b255af104c401d1aba439d7552d5774593c4bee0832c2dc63c14a8be110e335de94eb68591096514aff360cb4153efe4a5ea9878afdf3512ce9586ae657b870654e76e63b86a5298caee3d98c590a308c8ed75c2533153846468ad8c90ad3f2cb04539dbc2309fae3faf5f37fad2e0a748732ed86a532e38f040a059abc87502e1aea4b88b40e6703045386562b35b71163785ade4ac33b5065aff6e409fa0293215e0e37f770e631b360d76ff17a7a4e2e41f99ab8a652167e4dc737bb33290caf990f04ef4d481a706e0151b57db2db87a5251481891487a57174bd471028d7928309f791b169fcdbd22ac4f2bc934d5732cd6f818bb5aa424a503c81bd9ebcc4db0bf68060c2b8d10987ae0e312b60bd32aac6217b52a44ab12ccea77ada9fdf1dd0efe34de901875379bb3ba5630c7983ee5f70ae9d0bec8063bfd004fa1cbacef2cbc25e249ede0372f0ffa7fbddfb77c244bd4d77c990c1621754cb42529a8851afc4513382275984de17006d726706e2ac2f0a18fcb314670bc392502e8559933b6a848578819730fb92486b4efffbc66bf826c751d53206a0b35f5cd523299092891f6808a6fcd6e19a33b655821e80aa56a361446356ef23504cd8e367948ba391a52b77eee174fd53085d1500390fbccac812b10deb95105314d7ea4af843bd258d255d8fa0c7e16a16609541fec6fd3ad4d288d19527e4da30616c1b69c55d22624daac494766380d56f2be3ec6b7fbfcb31e2d8aed1ede226a5b71c0a1e689b2bee40e7f674812d7405dadf4a406319030051834c63aebb97214fca1a70a48b088a276e2654553182f3c89c9ec2a96763da9f0673644823a07d9cb49974095598271dcc8221877c6f945a5ecdc00a60bf00ee9b0318f6dc985b44ab7a2d2266aa6d698bc36d94b0eb2a746661fa323663b038afd89c8573bd8484b51214d4409067f9a69f1e766f37722f64841081d98d8c48e6dedc83f4a2ddc4009f1128915aa360a9dd2fcd3e1dbcb65f2b78884da395728395f522b88ad31f556666ff82c2cf868e953e37554e71e53aa4a01aa0b4b52d8ff491a428278931a7e0ce0038ad8b38397c6447d5405f08bfe0f8ccc024efd4f6c54642f840b4fbee55f35f0385413105d90c485d5f5d580b1a52745e9365b762f616fb90f68275c26dd3a352071042fe82c2e41a10669a148c2d164477cf8d957b2be45818249796402ec19c1bec1f603de0ee6e140772bf0aba19da7207d29f368454778432677a4cc3ac39506ea8c6b99d0ee2574df3e80e3a9225a7b88acc5930290b649a57541f05186adf538ffb65a4fa4e9471e55ee20bf69908bd114338a69346dae4beb85f615113ff00edbabe9f65b9c1df72986f35750032951272e2ef3d6227cf23ee57fad67bf4bc7705a5257d66940f5a25f677d8a37f9a8ea981d01b5f2820bf2a589c1a5da36580c64582d41031a98ba49ba58872ff47ea073b741e2812ba818301c9f116c33aa2de2c2dbce94faae1017da437d613873fe4578ac8e208584e95894bb6fc8bbac95cb87dc3455778361672fc0839d65166e0da6464990628f921601db28831682acdb415632466fa94d01548ffe31ee3c73dc8e76345218572510144d7b343a243cdbcd82d50acaf9b1cd5f4fda6799006c1f640e6b3a9f495e3c3a9853e2e9105725c90115db1b3b42ae754663bed99b64788573583c3edd8ef65fad8fa31df3d69aee2f4bd87b0a8323a21e2411e6e3d7b6c079d500025285e1bad9964c4d92d9d0bc660b58877566f6e125a48b2fb237fda0141ad0de56cf28af668a6094f9eea4a86fdcfb827d18490616d2c2469265519f88c9737d41d12b0aaef9a0f9f1c52d1e831a6ca5f27e34bac20db3d112962f188312ae6b792c72040351218a34c52958e37085a5094d2c503053977449800e19f21b00e7111d04d4c1dad9b244d60430d074b051450b52f12c0c9fe1b4c089dde20be5340a1767de3914865a5e4ba45a2ff853ca2fd8c5f7f2b996bf97513ea64ca3cf2d9f0b810c510faece71161085cf258021276a03982315660d8181f4ba398692205583da794f92938bfc99900cd2c5b844f007cf5a5437c1b4b9ec23a48637e2ad0794a1f1ddb5318c93127770b5d4cf448070db89a82507a694b4de162155f230078926ef1a007e7d264bd937420e45268cf8aca783f184652017a1912c8ea76d9f08e72f624bd72dc590b45f00e7ff1e1a994e153ad8ca73d43230b6362ba8942272bde0638c45692c75db3c41375ac93d5e2f9014e618d8b75c217cc299a8935d1909475a2a99504197b98a3382acdc00dcda285291e04f8c2ce3412c3371b82bf6e06c0f116ee224433858cb219cc48a3d80c90d0dda23fb96aed6c2b95aac94b1fdb65d622135374340f74f10e60cf077248d52c91628e205db1a7805a2f4a1de9fb054446b1aef9e6e7f2a6556bc20b099d96107f0e94c791ddaa3f844ee47b3b585370c7602a6bc4a96071dd88dbe6b14c98bc8669a01538c199a8037fac3ef26cccac8f09391ad30ed5d4c61b5818ac5c359912f97a04131fc468c828c9c1699cb9015b707216c7e724720e0e681068da179509aa9d247c021bfa265af4c225bcb4fe55f16a80834262e307807e3124506c454641ba9d17a9337009939c31e67dca53dbb07fc65b853b964576dd03a38b07d86ca03801d26e7e63af7e2ff3857a6918005212334bddba18fed3b03b557146e8305861b887311eec392e668f8115020bdc572e686a3dc5c4a8427b4093e74e5c104b4d58881ecb6d613db69ea800713bf063e1524c7d925db08a4894b287c1a10c497deddb15b04b50e0387af08ffd834b959528930f0e0630fa85c0519a1e038b41aa4ebfe9110c8a0f7becb536752e793c171d089ba8aa1a5c1080d1e2a8000f1a17419d28ab592a16787fa7f12885c93773858c24aaf14fabf8e2a0a9f2a68a5fd3b831135231303d60297f4a232e51f6c71c4f642834487e2b0202b63249dc8fe6dc10b814e98622ef8328ab6702ddaefc459bc579ea5de97c5a5e0ac58a7d293bd3d2a35079cbf3465cf291028c0bf3a3c94f24b4587c64c99103c6ae85a5716b28d401c16b24d22f259b85c4ae4defddd07805275ed52296741f77467ae75f97857af1397def69c7e052798c9f528f019160fea8b8282185383200213a95227d6d632c9968f0b15897f6a01bc9d061f23ed1feb817875c8c7321231c5bd73c3da52284e7b885d5ab0db8dcae0bce2f288b96b3f5049591f3a4021e7f6fd91c796c5af8ad9424b84bac17f881f30f656d5ac341cf3fa7b632c64779154e16fd44aa7e98060165109138b9011236263599a85d47b58987e2f9b760d1285d95861309e6c3610cb7c8fe8d0ea18340e2802aba54dc0a707a244969d5f1a1dbd0f4bf0f2a2a04863ed03c09aff984e0beae9e9793b5aedd5817d7c111775a3915dbd02dd3f8125bf99ed408c4d6e9b7406bce47d2e7a88f2062e989a855fbaa29e84bfad8db160af9b5c993bd3c7cf8d93d657b17c93b2b2c66fcd9328d51e03e40b3229912b12acac0551fcfb31ced67ac204a1df4e7009413b3c564e6b5238fbac5c96885c97c8c904ffe01480a7463c1e6a4d5485e8db7796bd8475ab4d57daf01f5e82d1eb9f5bd758e2f1b585077ac948658059bb320d4b1a9cccd598b48e47c513b99f89d98e683dc464a70f974da2f9dc6acd3a4551ae982667b4ec3aa47f81756088554da6663757d916db2124f8f9189e1c3d45fba0d938afc03ca59bc87bbcf6478d10d8852b4fca23c0bc8ce3d991de634b605b1a77c099d24cf1a41d8eae32c2b96471c17b0665022044ff27905682f5e6ba4a3ae44f6b5407155e8d7da447659874946d42af7f8a7da87a10ab75932a1990698961d4c80b109a35df262d4ce423879babd3bf2d0224395f0c86784d1292512d430839c9f4c2b50c0d82a45659815080b23c47cc2441fbd508cf97040468e094ad232001062e80231cc484f363ce8350cec9e0e877a9dc6ab5cfdfca2adac922502219e17c807b6fb9ad1c1cb4fb43aa9442e4fb60a9fedb79cd37ed17ccd0261b682855c70b796698bc75c987664d352602e4ecf38dea89138c9e42247083d1f0720b4c753d89f32c93004d1640c616426cb294895f1aed2a71f40301e3a453c8154909060a1fae3d4691df26e1232f27b9cdc1626c04d41dae7a57df872da8eadfce324f44a580d96a2b013530433168ec33f7bbb6ab0a47111cbe877a188f8c6e1041c999e8a291aa15c27a302b556ff0c92505faf6f68fd5d7e0cf456d8d472e9eab6f6f00bd4dd08c98432ac1a01e7fab24447ad5f5fd531e64f334bcc5c908026e900b060d06d414cf260de7efbea5136ae7a485769733fa6bfa3840cef1ab435af540255b450207a34515443a374eac1e065ceec46daab0f2de4ef9595add10363a208d41a7c138db406112a4211c5fc0020233c1405d85043cb2fa84d08ca82ed0568a14129d20a1c1767866c7c96e816da45f8d43997682cdee9509746077b4238f68ff1999db7aa11a34a56e4b9e31a1cb5bacf9a6548575e84bd93306dc7d53bf9acdc3b77ac616fc838bd71794bf1ca8d7d26ffee414ed960a1f99d766add1d94002e9d7a0241256f325697456bb6b54ee191121184fc1e124f910d74c7652349096e5575da65939791cd5a3d7d20e079aa27dd4b5ffaa857aff4a1c6d9f3e562367b996c1388aac70e6d737b0d45e6b043a820f0a652a817914d2854882cbe2f7198cdc5ebb62b2a047ace55cebbe9120191f6f68150b24b2313f3f85cfc4505389c9a1d750a2138bf6c66dfc54b16f76b03604ab0619662925c0dd02a248535c159bd7d5aa44b51d60f03d88d15c963a061804b40d330e98714405ea3f6cb7c74538f8e9cdb50212ea093ab5d1e4721b518d2155e9dbf573ceba5cf241e860982b270c5b9e2add1c9eb820d070aeea080bad60f244a357f6b5cf8ba15d77d7852eb67a077e9d6af3d3202b07afe99f9c3057cc2ddcdf3e4e971e2f30b9fe422b14cdb92b4b420cc57776cb1efb1dc674fa68c22d30d82db7bcf386e1f18f01747cbab0cf36c7238a5b21fc3398e686fca7b8a4513afbd9f6f39e1b80b48ffa04533c98c5d6960c6607e9bad4a58f5494050a2cc6d81424c551fe9f94004357387b5d315ea5d6512e1c36a32361516551d68284ede855e22cc1dce65a93bb3496a95587da8beadcc12a322a823f08c6ec76d3a43711e9a72ec2931be6a115b9740f259e24454ac149387b35c61b86dc3d184b1deafd565059452bd20dc606c9681f4e6b0608367bd3c7ef35c9501002ddc11da468d00babd866e55428a04554eec23ad8b09a6d64dd27be0d70b7526d78665c63eb464aef0db3ad5ed43c37273ad0a97c178ab4d7622a0fdbd06a733a86bd2b654f2b4bba7ed1764f4ca091336b4666c78ab5ed07a2999b68ec10f4555f33736d3d83e56302201e9c0a1c8e93daa40afeac2d670a80afb2d793838ab0519eaaa9836e4ede011e0332285b1b6555c3034aaba425dfcf19df919091d017b1c1c5215397f630151f4500702075c61238cb927ec2b479747e0a13a8dd486b59442c13f5b046badb8d6e94f844386811ed01ab36f99c4e1d51cc05bd84cf0b3da406d3b10c5f31b0b54f4e38bd512720e2db27058f1a88cb1b5de76474cbe40c9df91157cd78fbab844b63ac60841e868f94499b0df4e6c32ff6ab01483a6873243ab89e4e348ca47211bcf8528836d2702a273a032d37dc7df138ad4875467be2ad558cf0f4be8f98cd830c1e2f3dff4ef7b61dd17f57bf83837de534fac4bc7166884f105c97e2262c293edcc0ff139dcd77fe47a038d16acb826958e65c605205a65a4e89185302365a41495560334019e62ecf1d67b0bb91d57d709fe55f07c0ed6df7547cf533b1d5a39314006cf6632cf74f6af15b9fd80af1aa1fc7b8fbcc33102887ba08473db5614103ae6b85197960c399549a40e91e90e74c56ee8021b687119e97b6e0a6ac855608f1539ab8227da14feb323c8cb385d07fff205938255ad0cebc621697a08b9ea79c4cbffb8478bf4fcda889dd5d5b949aa2a8a957236d87a0072722054240dcc871d231fabc813b1107631830a1d828b85266458b848616ad821b535ac3de1955789537e5ef718334b0acf2e869fd0ffcb2f9792b3819641de343f27e8b1b63851c70014ea6c237650deb9128f03b4bffc4981c20ff50c18c65394a5b4ce0f7eb1dd16ed0bc10cdcbd976194b63138bbf9eb2e8e3495b0619fb2ee6fa0001fdc3a08fb1e62b762425d15d67968b8bee228478520e2711cb5dc1ba49b15bcc6d7bae533c64af2b51b87af5813fd5f22a6a339326ddd0406afee5772f09ad42545c5d5e5d053975fad2e053661003006685af7122d997a23747cf0b575ce2079b4a478ff9c97bb1ba3601e38326838c25af51815f143bfc6150d3a4c2416bde9501606ebfaaad351e44e273295ebf21131661b0315a110c0cf1fa188ee9809d31013580ffe3b4ef9c8c3b9bd59d9814e2e3ad43c43ae1953bf40a27e548967b1227f867e4c03b8fab283a00463c91fc2961ee24824f78604d06b55e3a9462bac3e775c2b37b4bf4d35460ee61409de488bb752bb8bcf0831b03e728c776e1434a4f4156114ba2b934e22f56789a4119fa1a5e1cece03ddf6fcc3edaa497424efb34254fe2504078f87a280d2dbc1a8fdb87dd5109b4829c4c8f79c6340a89162505d6881c6e5594df8a55b635bde748710b50681a7e07f105f4f8a6c13e6e3133a893a74fe10d5decf3c5ceb62219c224321f78eb12e6d1f539134186abe6c077657051bc702e605fe250189a7e8fd89fa71e702c01e3c823422d651a45ec2654570c1964adab043712490b956b5cd2890ee33648dbf9c846ba206e78aa429f532ca784b1fcc4becf7f1b0429db676efb3f4e8a37806837afee539e1c236acceedf0897e42e80d772253f0657d3e54a62e5678ce84fd78f143f0c322302b3ea953f8876e0dd246200df387fe20699ee871a9866cdfb3ca5c7315f33bf9e9259540aac6d4f688f667d729c36114ba0d13dce58ab0abbc4c5a033c1b96b5a06b83951fbda31dcccd808f833d988ecbc6c49868dd196a6da2f1c319b6faf4555fe285b66588e680cbfb225c4289d65165d492060baf1f6d22e76531d08cd63a1978c7cd66abbdd79047cf5d08b8bb0878520f432cb75d83471b447c0cdeac41f590f361a5d023e4c8e6c336b938eee83322743a87834b1077685a7ccfd2764302188bd724b8df231359c9bd586d42560c8b9ad1c80ec2976f5abc7f59295e38091e2ffab12cceacc78114b02ac42ddbf75221f1864bd46665b4d9e4027020aea533ede4eb72ddc139612507e816b6a2aac7688641a6056ba9af00c123f43c666a0c8f2560ade5785dc2aa0ce144d52d3de23a4a3d455ca8593d94c0fca28b518627adbdf36251ba9f9ccc395b02de814567dae497f71d4decd2d82fa77c1d7bb9e8ba720865dc5017a95af6561552609d0c34b3cf1c2af0e85ac1b0eedc571837626f593641f5163081f2cb0dbad671ad0cb6ca47a44798ea13bee580012d0c5e48dcbfe4dc3d116874643aed32c02608305d51457c6f5df16b400dcb50ae39d499bfbeb7c76a0869ac85616a1ef1b44cb453202e373494c033019c8c34c514982cf1429f9a05b6c4ac884831a6c0e8d7e3fee580db43cadca0302ad06f5c3fe91992780d14c6036ef9546461951ccd21b27d4a9a26285dff7f2ba98abdb5a898af6c33eb49e7059feb259bfc257d79c2660cd489fc09e72d41b631c600c749e2cd1497e1d16a962f5e67c26d6655a29d3cf5d85d6500e9e45c197564ff830c5e722b5e842c1645d820120539ae8168c963e8e2afeae04175fc5affd67ffb6c3d58343e012f6dd0b61c4f5178160afaff336f125104265110ad135726ca1f93ff0aff38d61525a588945322de53a0a1476d3b132a92a817e9d0823b026899a5ea73497d65e8ac06e25b96db3cde5285d71c68bda5d9d91f59cbce8c304861a1ce2394dc2588419ed6f06d486d49eca5eed69f110b421a1f09e6cee22bf2e986c4d6db809005f401b1faaa2f7786c5b2baae5e1515c068a623aced42b75b2a8d75c49808916e5a6180b8c2a9c528daa83293ccdc233be0b8556d7d4526d66ae27ac3cc3e5dc97925388206d5897542e11f5911900062d416db8eaad4f4e3583af3968bcbbb4676bb69a26c794ce92b2eb710fb88785a862c3c9cdca3c4df791f5a6d2a8bca0d6a2cc17b139ecc4e501687bf501dd2d4c6958048ec5f0aa6dd8e744386db772a8a728cd33df080be21a97ac2c98b2b080a3937a5e03a4fe12d01be8b31a9d948e5119e2016f0a564558e19092f09edfd50c8d1972c53393ad81f1b929d0db33dca5f264bdae73087f832c22ad3249de26efb54dc32058c08fb763d4a0a36264a6d051863c9eb3aa5e87ca804957f1ea7e612ac0b5147d874fae07ae53abdd59a088eb80644229a2fb0c420f31f8603a6c7cee87e5b7869d18c6cd4284f721cb04ebd7e3b8e847f80a0925c2cfec63dec23b9727e343b396d1c959db0f2bf22566d69ef532cef084b7ec2250ee1d7da978f099430184185edaedce7c476953df1e27256764b58793d5e9d7a01f2b8d7ede0939e17db672a9bba6ad18992e9ceb21db170ec84cf18440eac989e224ee278f5bbb23982c6b85a8ebda0594ae0a0eded0c3f2cab0500b11aa3c2db6c25777c47f228bcd50158f01ad4c1012cab9705193a365cac68cb89bd4dc3994ad6d7dbaeefa3f41b88a60b0c65ca3a72e21634deb7391fe8290f5cb5e9b4f2171c25d239581369127033bc5bd03fe84a9e05107c7355f348451c66bcae1de010a87248a13f94523cf521d1ba565f5f7d8df1b69cb490de3e6e7cf0940b8812a08fc25e229903bbf551fbc302fe649c7b79672ae5917495a8b0c8caeab420b3a810ecf703aaa34fb85a409655698b0129703b95f6401bade1fab5c38ee5597e5dd034c589240726163ad2e176d47681b7eb83cbad9beb72fb5105e9fd4b1cd03d3b77b96edd75b704a9ce0b84777ddd56317b99188c70d466dd24d4429b8c9a4476f70e100bb10a0d0cb738d79bcddb83f6ed38538c6f297d56bfe54fb4e98cec5ba637fa9bbf0d02dcb3477a7c4a6f47b715e7fa802b66e357ba9dde6ef93ebb39e301fb165303db5ed188da2f7dc31658d3dca9c6c13dd338ece9b71c23d2748c68739ad6b09a544f4f4cbaaeebb66cebb22b23b465212c6e39742e7f319ba33ce0ed35d32ab50ce38eb33d9e2ea263dcf570e3d55714ba624475db0eef96372d6715e357d13bfd6587e72eca9f76b8634431a2bdfd660ec48d7d6e5b8ed972a6bdc6760e67ed3577fa8bd9f55b867986765c03c374f66b93bbe62f46b4af5b1bbc33f0eb6549d3b2aabf18d1b60d88815ae0410b9620d2020f5aa0841db7290282bdcb5f8edd6d78bba6bf1c7bea2f3b775dd7b46f27c992f62c77d8d58eb5eb5776aa33ad7d83d8d630accb7073f98bc1b0793b3f0acd5ba3a31cde08d84f7cd2a7fe4487b787a92ded96e69a653799b7d727d643768a9d5ecb1fb6b54d7b5e771cdbb1771afb86cda961bff2b7e1779f98d65eb53cb97823a07d6aafcbb2d71d7bb61d4aed759a06dcde3d8eebddeff5ee1786e52fc7fcb653183e3da76fd802639fafc7340efc4ee33079f61872cb31d8ce3ef347750cb6b1d64cb2c75bc3646e7bfa4c7fa44fa473cc3d3ab5a3d1d46eb5ac4decda364734f43937fdd1a951897dca7939e5f510762d879ecdee54b68cde75b75dfeb0dd75dfb0dee83752cece65db9d7e94b9e398f3dbe77635b6a9be42d763cc4cbbb4c3ab5dd7b50fdbd969fe72dc9353ddfd66284b5d76923dc6dc46a7f9139dc2340eedd7a5fd32099de6ed78742edb4ebf9d3ed41dbb49c6b175fa8bc1b4c3df6799fb28e32c37973f91aef2f55dc7b6eef7ddb1cc9de6ec5bfe726ced5dce4e9f61bf19c7760c77e823625f9aa6692c06db577f44c4e4b8435687fe19440e796b3e32f10426a08045269ec0c41346b31b925d4a3f12c6faabf835dfec91628a293e9e260c7fbf185276826129271e771412961d3f7bbdcd30be77d29d6afc0c88edda33cb82d974bdeff267b97759f65a47c7f146a09e6aaf3bfd3dce5e777bfc593bcbbc4ec3c069b2b7faea4f884d9f7d967b0c89f3873fd23124ee57e3e0de691cde710c69e3d3fc653a86b4394d3deca59cbc1ea390b0130ccbb0cc665866bbfc09b1bbe9622212dd8a60b4c369aa1a673a03427b96bb576c82eb3720344d8a217d3124998ff409b1b373a34d24d2dab37a2dc6ec44cff2c78d461966d3deddfc09b16bbe17e5aecb72dffc713a8674b36b793bce9f10309baebf3586b4ed47048ca66348445e84a8019fc0c41384c4903607e20d68b50911e56f882de24eb96bfa587f9ab5c7f8dc2f4bf85a161dc7a51a537c4e96a028c39de52fc76ffe64b68409c01086139b1e13b2e94d6e6d8c384c4e5ff5e71dca1276ba3de5547f236de1c0b735538fd792fcd8da4f92f4d8f418adb707ed557f19c09b03dede80ccbeaf577ba2e3e07e2fd2f7dcbdcd1f0781eda2cfabf1a95b8ae14c1fd05d3b97bf2136f77823804fb527ba27fabdc659ed89340d682fb217ddeafbfbfc0d413fee158db8b7afbed3376c81efe9b75f8d63bb48e338b996836eed347f55e7a07bd3f4e401f1dae3ad71a2a1a7e92f45d391ce31b7c9ab8949fe88a8a11ddfe28c8f2db0b9b9e1ed816e1a81effecb31b789fe7660d895719d6649354d39fdd5e7981b7f32f494524a43607f7dc9ae71ed7b9caf6bf91b625fb7dcb95bd28574ee9683c0762e3bee74b77dd3372c1175597b96b39332a7af0364b6971d073df74cdfb0843be544d7e1d538aedb5ff601f13602a17d7f657c78f163c878db8524d64e0c5e2d7f786baff91b0285f49ae9cf42c9509a445a6a27e51893cb1c88dbe4357fa35757e3c0b78ff701b106be7d0c49e3e47acddc3793771af77aeef5d7fd49c6c1692a4b222803ebec5aee6e92b72c7797bf91b632ce9ffd066436f76be19500dc9ee8d945bfb97bcd1a779cbf21b4d7ee3ecb38348d79e0be711962fb11b1ada71d473dbea66f5882bd1af5583bd6574359d2f49783ee4c7f446c7b7818f785e92b9e7e2f37367c95bf2128550f2f8d333333333b1e6660889d63ee34a4e1d618edf8d1ec62606db001c2b0c1861a6a80306aa8c1850b08c3850b1515084345c5f3200ccf4b49813052525050200c14141209c220914e4e208c9313131308c3c46434823046239108c21089600e1246d7711c84c171db06616c1bc61006c69a0661685a96411859762f84712f8641181806739030acbd2e08e3ba42219883846159554551100645d50a61d44ae99c52c21ce421cc213ecac448459d99250dc060b3739a4eb0020c88486c1e05d88928f49c2c05c14dcd293a8104417c4e96c266d61157c00217e09c88a87e4e2bd6128064017451110425fc9c88d078a20e575811743a401082e083e6642f363302749a48c1cec96a4920e1081e0d9b790122b082e7149150c24ecf291259820c444e96c3664e40153920724a0015a2507382544c11829f130d0daa0074a239ee3885247001e7a40342c1470b3427224241083a595201f11605254aa1084cb039c534582b946da4029215e04040966492246c4e769a400c5bc839591a6f9c9042d0c9d62992e802cfc95257b00207e764ab26e4649173b216368514f49cac057bce60069ad39439714870499622bca8c8e9c2cf294a2016ae7c95cf969515ad2a747855af9787d1b63eb3ccc9c216463a69db4a2c7087c6eca10181970e441e30361fdc813f10082e813d36b2e59b3d3f664f48fefcc8881eccbc9539d90e9b496449d64a51f5b44e2059ba32a8477d5ee6642b1e1ebdbdcca9562aa79aa9686449c2cc5bad636a131b1c5fd9c8168864573d6449528fd2caa6fae1b3e5ab1bd962b77cb55351215d684e0544b6c0233e3d5b56354d10d932a70bfbab74b6c48ef8a0617f95145555d3a3f2215b22902d63ae7ac8961ea298a978c8533910c6669d3eaa894d392183ca06a6542f802eb307c3cb435669a56aa594563a2f465d7a4bdd19a37d5d369366c78760352bcca6d6caa6b2a9d4aa16b5ac5aadea61a14b6f4377c6685bf387da91b55effcc9fe932a7005e80e7cf9c3d74fecc1f09a9feac9f699249e25642e7cfcf965746cd988b295db870e18246e8c20051303273f28904c08157460db7b4250464014d97171c9e0ac453812a908ad699085d81741ea2528154545454422ab2025136524a2971a490aa057419a296812a823a42250fb113b42be502fcd119ca63e6d4a7355d5e5454fed5252a57f947f5a815c8522baf5ae45749dd7cb50c457cd4111410ca6657eac78a8a8a4a56515151a94115a82aa17ed019c85381545656e48b05a4e2e2f1caa8e12f3f4c00b6545a1400912512bda2ac0068952b84310948e24c25b2a5da2af95339756b290f8cd2d0193a43d15035944d5d42f5a07c5033140f1a34ae0d1555cdd0e0d1f006000d006cbd2e912d1605b2b3aa4e651cd4ca6934c0e24de24c533dc4a95b6095a33ce5c302607383d3e307905deb466778d0a8d860559665fdff2a10bd65599a460364895aa948aa8f0e10d90280d75738d345bf1ec85212944f3d0079066936401d1a0d90426c7070a44a8276bd0d2ba77b457f3b0090e74f12693af907819c20229b9036d345e2646953e9a944e258f5a2aeeedc6b88aa2eee7996ae402efe55a018b2546d7805f261235b5cfc2091488790749a556cd0a41a80ea2d1ecc03e402e52965b8412a2a16568170b0119006aa50d600ed80763d77bdcc1aaa54b55c742ccbb22ccbe271414d3d281714f9c92982c5912258e48c92a87438aaa29523bd4a8cca164aa540d8c2511b661b721b9aa4c088db422c064d971b1e80932e3a9cdd6fc8119a36f85133bbcad42b43c47936bceadcbdbe065133140f1b83aa2a06c52534c720d145a257d263ac3e7107e08a0210805b52e66ea16703e491f3c50e50071e813b508aa9034b280c31ff505dbaae58049d6c86c9ac410109109e93d5309961154d4c71049d93c598cc3090f460e664374c6688041f8c41e764394c661d940c94ccd09c88204db145d0894a05c85cdae20b41b640e4344ac015aeb073222246b904eb5a3fb9e0755d28bf48bf46bf44574a28653412691cd6f5799493eb0a9146a110e9f3a4d1e8247f4b5048322c9244f994d3858a246db6b314b3397b37a3fb4499f634cd4377fb0c637c5d38e533421f61d8c452748dd0470f8deca4f3f04240746d9bd9e7fc09ca0342df5e6f04b25bedcddb8fbe656ffefac671ded43c8ccee92f66731886614aa767c367784fe93a7a7d8eded9a06b784fb997726d806e9f3af68c919e7bbbccbe3462e8740b893e350ed1358de3e4f3dc14cde9428584a23f9266a79d96746766ad2bd4c3b5afcb2bc342f9d7edd137b8002c1a407e343a952da48f6ec996948f8ec996938f8e210cd147c7f428df79f7bd95d66acfdeabb15dfb8c4d6b32f6da67d86b5ae6f276bd933e73e6ddab918198862dfad418e6603fb17772c790585c00bd9c4fc928d8fef0060dd07d76bb1359d249c632863974a794de7e86863007997def67641a5adffc769abf79127752f74de3748d93cf9f749fbaa3daab21fafc06a6ee2ed2187f7e06d6538b64a98bb7467ce80f08edebf0ca38665cc79f7774b791ae711dffc2f76a96c6b2c798a1d02dbae90f6f0dcad2a596498e31abdb79691cd64321eb211eacf5eebd1addb7cfe8362d73bf7dc6fdb65ddcc97bfde698860d2fc751eed235eee9afddeefd06aec63087cd3ab4375e1996fd286fa739b3a21d354d7bda67701ac21cb85f0d610edd65b6a6bd1adaef6768bf97d9347f96a5e52e73177fc3bac6b59ade80a631ccc19e6a0c73b897d9f06a7a4676310dadfe6244329fcc0e692bc65080ce1011514634739dd9f3d66a1452ec14a33f1fb0c12a3ead5ac56ad518df6dbba20d7b3d8661175d0deb21bba66b64da528c9dc330c698867dc0e603369b1ec3348e0ea33f1beb30cc64b4dd6ddb302cdb30bafda358ec7a9a05b800ba241a60be9e22e130a63f10e6f0654d689cfee80f5d121740b3000d803fb1d8f81b5db22745b231be14f447c3f9cbb263fab3b1d66d5cd6f2f7019b4ecbdfa663e84f768c8f650873c0cf7206621a36fd41b2bf18fac301211cc8f980cd8687d65c028a21d09fb904144fd4192b7c2ce4f96472b2d7ac564d835474ad0b45a7dac21db42e76ab6111b5f6da311a705b8dd94cc3aa767beddbad46b58eebf035c8b3b50ee31391c9e88aeeb5d766f65a2c8396052d2a9393c271fa93e1f2cdeeb48ed378204f853c5bcbae411e5c6572aaccd6b06b393b97419e8abdd66319e4c930c843440d113e3239285268a109c8a34d61e18ab5f894d27f3a7e32aabf5ab78a6bd51896611676f13dd5586462618cdd62d1a55b3dee21c3365d23a338e36bf99b1563a730ed15c3afd9cb6e5fbf7999ae616feb31dd70d5b0c6c1e198698389441a9a8cbadb75d8f12dee308c33ecb8c37086315a6bbe668d9c3eb486f527a3e92fd399ce166151d670cdf4214b58e3e36c8cd55ab19a65c7393bc6b562d971ccb4c12a867d3a7e326cda685fccb4f1c08e07e02d5c8d28428369538d2832831d3f47112311c4b6b750aa884418afecccb27010190d5a69a5955691b6b22b9526bd12b312b3321aa170a2934e46f7f8f772daebed61bbfd3dcd6846339ad16cd356df2bbafdc438080d67efe27befa6bf2036bed55f1057d4ad889e691ca2db9895952de2380d5132d2c96834c2239c65361be1cc664188461c5dc141871d361ab244bf997cfe14533a12ad98747a4596625682d899caae2a3b13e98fd48db2517751c69989c67559167d946b88ba20ba952062566256647c1009e2851658d85979a10516a0e8e648055d867fe9effb9afabb2efb7871fab32e8d299d3647b5f3863051149122807d9e98c0ebf3f6caf5ba3e9a54cbc0370752f675efbd9abee8e7759cbfab5df6f375da5ff9bbb1af7bd9b38721fe47da9797691a50bbf6fb1bdbd2ef9eba3a6b758e5a2f8da3bba6718c6ece51f765758e3a4735461a5e2726224c24ba44f6a2b04b3b657fe95b6346c05ebfda65a53dbd81b99921c0033d84df736a2caf96310d8faccfc2bad3eeb97b7f3ff5f76a2f6ae9e93d35037c3f39909dbab41a07a5dab59ff91edf6af375dd52fb99bf1b7bdee61b96e0d3df508e7aaf5bec3b148a316ed4c8c08d1dcf1265b4c94931c4b61acd6aed21abd9528cafe17b4522ac1361dca9d683fd7d56355dc36aaefbd671436cdbadb7e91a50968618a2e372d0aefba6716039680eba3b4c241289441bb6b953e9c265560fdab3bcbd66ecd365f4d999340d73d01c74dbf010dbe4dcc8a48e62cc2c7f171689728d2ebbb6e56f88fb9ab77359d3b2dc5bfe2e9d836ecff2dd728dab33ad6a35e8cb863786e0266682769bbf976d2f8a424f28a5cfb2acd6671aad5d46aa292827b5767554b34a358d454b41a915c5458a09e92a1e8a767b2d5329f5f660af79d881c0e70e84e8dbb5d38c6634a359a6bd91f6300d237aa5d93bd2479f36a3a74e6e9f65ddebb1dbec751fdd6a5996699ad769cf077cee30588f0e33fa487f2f2fbb3ecb488f21ed090b457aa671903eca5836c945a6e2a1a4a0a0dc66285a966157867269d92d965d18ad2f9fb54ff03e21ed9393937fba6c3fb93d198d8ef567ba93fcb16cfc491a1d4e1713cf856699268c0f04a781d834e461b92e6b47a32ccb2e948ecbae0c25fb75921d25fb49ca6582423ae9e8b951e640dcddb3fc99bc3a39e928e7b88f30940cc3697cd249f601e368c6dee5d1c844c7b060d847d7cebd6c7aee58f661d35a8611e9ec5dd671df0ec39d45a6e6569413b0588e6e54d3300758529ddca669fa13653646945998c9088f506e99fce4161e69d7641369225badcd6ebfe50fdb341bb369d9db8e71dca68fdd3e3b66b157b6b356e3c0df348e7b4db435d1c65743148d9e98d86b98b59866618c5918bb46b5b66c24ee59be27657394698cd9ebb2b662ccbde3b22ccb381037a7edee9db669d8392c7f58c788304d3ba66531f55afee2d6b4631a76c3126ced2f46f4c55cfdc96039eeeb7a0336a4c089a57234b8f97bd9974431ead1138a4265605da5b4eaafbbc963cc5a2f066f8d98022787914e506aadb5761a9ae42f8665e4a5d85a536af04e50ee4225a5fbe8ddeb6d97a9aefb49bd67f2d1bb0dc47ddfbdd65a6bbd3a039e0f186b98197077a7af1dcaef6737227dc48db2c7dde423ec5f69771886611ea73300834dae6918384df733e0beb1471ffdea0eeb501e438ef2373aa94379a771a0fc6a1c27ef1e4376231dc3b25158ba1a748eb9bdd377fa73a1a98ace3177caa9a7f347c4aea35157bb5b47ef5234b5af75a4e9d51fad1dadd5d65ab1db25b0876bdf8fb23d297f2f9bf47965d8dbcfda5df78fb4bbefbb2bb16c2a034ed3f6182f0f23ced2c1df406ce732e92639db504e546a30399c2e1c4a0d2e543cfd954a2c9be26b07026b4dc369e2806031d1d61eb31a7b8c49caa3c33b3af60dc8ecee17c33e32d19fcc3639cd1fcbcbee6c0aa906179efdee9ea2bfd2ee4e72a155b44dd128a5d23421bdcbdfc9abcfd1316c74cceb9e72946ba2a76418eddbbbec8376940c832fd2709a3afdbdec6e44ba498edf8dddc918e94bca9cdc26f93bd196e8f8349b8c7e4fb389fe5e367d1ee56c2b763376786774e71e438ab4d3fcc5b070d9c6ebf9b05d3bcca661e034d19caf8671db0cf7eb470490cccd0bcb002eac7a2cc0f217b3b15fd91763e1ad38a6874c6eaf19bbb29a4dec8b118dbaeaca0875a4913d31e9b6df6e990a3488fe04dd5c696eb5a934b7da6c79eddec7d3adbf3ef7564015912ae4569c8a5373a649ded7aa53732acfad3c95a7fad85b7d6a05bad5879aa1662ad0a566eea57ceead70281f21aa86aaa16e289b4bd9503694a69ab0a81c2aa7eaf1c14e314e8a08a5332922414b6449c253cdf0047908a97270646908389bd2d7c3bc56b7b48efaea3a6aadd9ebcd74c9d2f432a7d0b37fa417a54bc3fa8e2130d8eb77dcefc03405a649ee0085349ca64c0b314d577bf1f732a7aabda83500537fb50e4bc369fa019e3a7061908dfbec99de11fad55e107b78ba740c81b9aff519d6d106fbd5f18b34988e3836554a7db1efa83aee4c93fcfd1789006d3af6c41decb74a29ade387ae8d7a4bcfd8a8c741d354b345f35289c0d2e911a396343459d64c93f57a9c2d2f6fa629bbccb9d9f2d4f5e1ca78c9728eaffd933952c7d2d972db36ad6308cc164ff53cb2eff88eaa25cf34c967df6e1d88d39b96d93fe9b3a5757c1bd6b1f6e24f36b26bda8bfaa5eae161692f66da8b872dc0975202cd992c836449ca0fef397385334d71dadcc469d3830a02aa7228207c5285b3ab9ba98358d70e70fc47016d7978a214b5334d3cf59712d48e0daa2b289f699aa64a574270fc57f5583c984cd44b20e1a702181a3142cf46d9d08811807614493634b273c5f6d9d0081465d83248b64023512c912ddb8ec7210284c9b3abb64896f6916a2ed5e3bf28bdb0815febe3a9cec06b03bfe0c790d4860c9a2e34fe06335060e7f09485b07e9aa1c7fec1201bd6a9a68f27ba8308eb54cf1c5e1bd6b1d3172be31c69eaa3cd343de258d70778a20f5d192f18e7a1dbfb033cd5ea587b2f55a5750c81a98e7f3d9e307e3ce11d4360f02bfd0eace3ced5137ba629f6844297d59e8477e6f8334d9d2906fd00559795ba325e2a9a57df6cee0ff0d4699bd039edbd84eefd004f21ad63483c59f76cc493f5213fc0130f1c93b4d1028712d19eb451bf69ef04efd42f3ca885b3cc2fd62d46336de6cd344578ca323c5d780a9a4153474a51e54e9ed79c9141d3145f65db829913c46d78e40b413615928767fb4c538fec91413d530729019240f3ca4422a4cca45a1565f829030e75b8f2593c5b47f4411647684e94ac31a102d7c3db4c970a1f49d3143f739decabb65efdb3b428451d342107214882333373da31042614d22fa6a904b443e305057686787147c71018ebf0363a740cf15ee07f8027a8770c8109d9a08256d00518c0606766e6b423a48598a6781d6d425bec1ca8d21d98269af8c1a0c3efb0bea3d211679a220d907da86aefe564359148649a62fc0d66c0f074818640210842a899993959dabb0e4fd6a1f62e1d24747882ff229193cc910a1e9ed8137d720fca8647b05882ac510204b471648d08f077164db072e292181483281a1c61e70469a80c8fb0021fcc9c302ab0acf9215b6e78c4194bc7cab1884c9723b245c2684fecf09c6ccd16111d6b275b525839b226e79337b287ac913492c6e299d4fa58788294662788469311c230d9f13420f0e2220615a568fc4bd385cae8b0bfe33e84012b8d59b00a39e05175210b5b5e191510f49e0df8faaa77d4c3c393adb9c4925fc8528c348b4ef0ca78b98f6f78240b26362946a47c6455c24e88010c8da0c0890d8da040c8b661432328e8b16dbc724ab1ab6689b7728021205b62344032803e9ec64b19827a3602362c42062a76e555550cd952773c0dd982b2e387d0215da4113e464ea064c7181b10a1cf8e909a3becf8adec205baa8e3aacc896a93d0b8b5b78624f5195b73c7978c24ac019875c1a012e710167cf182f494ac01f69f2c829a98f11268eecead5bc4523a533026106a8881766e88c32769025f9ef48edad394d5f3c15aa1e73542b5655a563bca0029bf0e0ef275db0c20c0c19b1182bfd0bd94251e40f6e8a9801e73c66cd0eb2051601830b2a2fccec0f563a554a2cd3c583276b9a9ad81f0e5bca9d171c12f08723302b2392d24849b224b980bfd296f370974af3db41e50409fc95be93120e2c271006c464e907a45206a597076a4ae842adc4dfc2249aa3111280c48f233080f390a2482af28759d161cb175b52d41a83902d2f72c196af9177109a9fa656215159f201daf2ab261336fc54025c408506c8992ef750671e912ed9e1a71410463d849f372f96b09424699a68e4acb1992edbe165cfbc5cb4df8d2539a6a4c4c2a3c705a4c6e6873449fa20d6619c734eaa05b178725250e558d755439645c2bbaaaa6adba46959b289d25482f39c99a6e9337fe4b7db9c4d27cf0a688e993cf506e660f5e0a65ef506c2809b5e10dac0504535e6938358a7ac0b208766f2907346b6540fe550922d7f43405bfeded00f8c39dcb63908769ca99e69c2c9343f61274d174a8834c95354505250472827a8266692e93373b61da16028574608424ae129583b2ac76d830d52e08ff2c9570685a40afc513e50cb997d38f6312a09d87618a6e7cd4dac302ad6bff8c1e2a3d4e3970769c9176a824a12abeecaa0aa0ee5c892a47c2824d48f2cc926a40b76c51548902449e2337dae9aa8319f9c58634dd3962fce05922fced7669a7e64e9e624b944ae8f1e2f2e0f9625d289fd5d42aa7cf9b86c2e2d5f5684e52b234806218c704f019081f2c9f2c55d19217d5d3e644952d4bcf141e5987973d9c892bc6a7c600e399747b6442a3e423ab13c77a62952a3693251a814ea26e746058b48d4c26e5c0009dddc500a24e4436d6a68e84c10d00f452f1f1f243f68cdf491873e2a940d983d667f80f4fce0d999374b94ac90ac4abd4238569e3ea4495ebb322a3d6b92e0efead4c8964fe71eb93b76059b3eac5c5d03747f576757d72e0fd88e0208c2df55a3b3e53124d265de4c938f6ce9f9c1e363e7f6d0b93cb02598922d71925c355bfeaab97c5c36dbccd9f0f270b2a3ee9937f13e7a660f9ec963cf386fa29447f627da715201a85400ac0cdb14454f44b070c5de204a6c03399f30690e684ed5ca40e1272a23ac2bd01f2ca550a6854b4b82d57e80f5e0e223324ca3cdccd0441bbce11c0a4c97b9713f5c145e3a1f9f1b377c7c6ef8f84cb164a77e9ec67c99d8128d90e00ffadc10c00a0cb3302e809ad9f0a513bcca21bc0e6faf1c379455252b595dd7755555f5d0a92be3aa57460544e8d62dd99233ac2a0babaaaad21fa62d59da50b6542ed6495e19f1c2580fe98a7a3109714396a8530f4d81e52442cac8595d6035109fc3dad43d1bf0d5e59e3b8a7022ecd1114ff0540a05a6a99601432936dcf5659a229198234ba12970ac8f23a8681523d4168410491218b983b60155d58a5695ca5c993888202505a5d09216668ac148e586b244912481911042a8048e9f731eeae0070c7c7c7c28a53a530694c2d7282ccb82812e37a649deba0223f149429202c323386c1da04b0c118c2e71a606189bb951553e954fe51363531209e379635352103ce7f7bc316b2a11991f55309144115128928618f08052018a223e56b4c0892c8a94c0891d0021415904b0611125405bdbb088122bd47904961e3638030baab842101fe8e00a11c030bc20421d235710c20fb45872c50f4e3487050c62d8191650c829fa2825c9923c0e0a0032e0298a57204902232d29a5dcc13aa243c46c80e53facb222a2ca704314366605451de188113401d8c1be9a50670b06b0619131a061674508830b70d8b008197036deb008187820a50b620e1840002b78922831e209235a407902011010859e1f2088210a55f400076618410944608626b418f4300313570c7a7cc5aa963e2583226866b002268e40c215a76a4819b6a08a10019502239821063da2108588e1094ac5f0834d6b10811890e0a1822129b8c189c5dbb088187e6c6ac3226258815505a98a35658b2892586208384be000c5087cb2a191255890b2047c3734b2040952a0c0dd864670c880028c6d6804a70b4670b0a0466ab00223385518c1a1e2080c289d8585275a0cc840bc819467984214287082144600851e1001c10b86c8c04808c21084104426e6fc9c51461c163ef4027c4d81bf17b7520858de92fbf230b70573a0f417c322219004da0297662432a7cfce9cf4108afd412df61789402db2d81a889b08cc414b1c25b264022c8364691e6a09244bf3a12c80f69c9933b070bac82549286209cf293aa1c408391108563c81c8c94e4ce698021e3fe039598ac91c9950e405327351c0420a824e96c26416f1000b2ed09c6c85c9cc25f141e2e7642d4ce6ae8a26a8a0e6644398cc1c8f331441e4642f4ce68e0a4076684ed66232e310d0501174b298ce13447c4ef662324f32f42c21a41cc3b2ed4ff2874dec1037a6cba81362ba88a8e3c350c7df8eeb3bada37abd0eebd4654ef72985ce325d38ed6dc72fa60ba6bd4d7b3ec8638791c7be1dd33a866c1a261e6b1df3f13a68e831e64316091f4ec8b243b7360759912ed843bf6cb91e3a76656b875e922d57c88e007f873e39b343a15fff62869b244ba1c39590c661d5d458611f58f8780875d842407d4366522b10c63dbc8e4e1188836c911bc69d8d77953c734624c0a8036198ecf9b8036168d609700b66b02736b189cd19ab68429cb9a8b843e9a813af8e3ad8bfa8136a422774bdab3d1faaead7efb5b84a7bf7f064af6bd7f40e2f083e3c69bf0e4f1989cbb7a44d4722211d7348d8bf98738f847e1f7382589c595e4cd3d42c583c224b33c695697c78e7eaa803752cfde980f1e1c95ebb8debf8baa6e3cc77641f29f4f9580474799999848237784475ab2f7ddd1ee6c2ae83fed270c25cf5979639c987727c992e1109d0343f232443dcc2f3fca2ce7461024ce99af848359cd0475ed81216ae501c4ca0c01fc9e2e9621f7fcbc8098e6c056c68e4043db6b511fb6edc13c9ec71df2e730a658fbbbccce9cadebd769993cddefd7599930d4296e2033a7d4396a2e743e8f230a14bad6308771d3b76e087ce6918f94debd891dd6a1af366cf07fbeb30f65e07d6f657c35cd7b48e4cbfb0802cc5df186d628d2c5d4ce04f871de375902dd82396a14e8eca224b252a30e91696199ea2246256b404a41dab84ad9f448dd42cd1b0254517b270a90b3d59d8c2307d42948418746a7aa0845833333373c449e5c5fe5670d061874dc1233d80b05382224a004509ccb0a9974cb003136c918413360743228a1e25d8d431c6e12705dda67fa15d4820011748a064533f124f6cea90044136f50c63b104140b5b184ec0114a363d7665d02250584780401f618323926ceaf685a22e508417b4d0031d182106149ca82064d1048aa2a82b05528965d370016553ab005314c9a20761b0810fa670a240d81467534a297d89a7088ff0e1a0c3078f54fb835284c0049ba28c846047042610011336f5120b3675961723b062538f71b32923345830f1820e2a2b2048c1a640c0c383070f293675ab0261a202ec4fc5881a0b1b01844d9d64441636f5ead40b4551944c0d153e496870100512459c28224674ac90897a90800d9ff8a6b7e8f114367d3d028efb53d9d4ca0ccda6a85b49d8146564060a9b3252040b36557a110faf508226e020880e52b0440f4ef1072e6680e149748a4bd83030dec213230b5b183692861e279f943358b8f2c99c3d2f26b04912f01980264606fc459f2b8b4b09fe22903d6f53ae11d80a72370dc525a0695ed3df8dadddca5f945706766a59d8b1434a431a88398785b9b0c1261bde88447ad10709fc6bc32359e480caa846c09f4569adb5e25aab50ca988e3fd1e7b1d61731a87e112b8d97699a5552cb646b963e64694a1b59c3034cffc99a1b96e057960561f4995f45227dff4a3ba8ee8c6b633ae24801878ea321d13c6c7a98f67cb8bf8efdd23a86601ae6bad53a2eed613a3c4ce6344ff9dce363bdc30bb21d9ef0efe1e912220f314df35202733afe441ff863039fe8335daef6826487a7fbf92dc7991c69343d2304d37973c474bc7ae0387d80c89ccad2a6b8aeebb27e5915bd7555d7655dd7755dd7f51fe0e9d297855df7987559d775b1eaaa8e5dafaac753755dc776aa18b2b2f2ecb92eebb28edd5e55a6bd977bef7af678baaec7d375ddaabee3b29e5dab3a761bd5ad5b9d69aa95f6282b14b2aa9af9a81347886cd9763d9dd1310426145fcc5bba441ffa57029a9ac60b384d7adeee985a8869aa21dd01f86306ed515a0330d69aa67a92d640bd067e80a74f537d067e80a7f82873fa6090fd1769ec67cdc353d4d6da7b1bba35ea68334df5994d248263a3f6a8f81d3b6c7dac1a4ed3d5f1679aea63b5afbfafae0d6b6fe919786d589ba7cecbc4110190fc61236fa6a99a3e4964d74b5aaf8c97900e66b3e4a92f59a6750c81c9e2c9dac793b50f7d87cf0e5b7980340d2481a6a9d650bdb761fd6aaf0a1dd31ea55f26ce34d5cf9c69aad4b50f8f39234b75cecc9a396964a95e4ae0d0ec0aa41ed6cf1b3a53b32482422e6c704af4ec33cca12df04f3665593d1086c98630b82d27bd3df8fb0b85702e8db1fc9140334dc81225449628ee27fa7bd927cfb267affcb1ec0b050505a57b751df8f13227ea01da4e79974ba5ca73a1e2b970e1b950f1aa98718ca469a27c303c8d8edf7d943d1b3bbc97ea231bd878ea2947a93c172a9e0b179e0b15af424941c941aa4a46ccde4bfce8574a214bd466c95208e5a263b0da52eea9780f1d912d5fe826258b64c953d13cc8ad92f2108e6c899b7a4808cfa61eca912d7827c4335d78d01921f86ceaa11ed9728574e1718d3881847aa809d9028d0881c8748927ea2a5e4ae846b67c56d006225ba20f46199e4ea30ca1c9da283ae4439483c4876aa64bd4a1192cd4c3fe0bcd6cea5690b544b688b4e4b159eec892b4b91fe9f1369dc6966582f18844aafe58dad7bf12b5fd248b7ec8127572d14338d3c5bb8e4339d3c5bbb4e7437cf5eb95d631e4d230d5b1d6f182741d709a6277991375aa0a189e3c1bf1a38ff40e2f88c9e169f4887f651ab2449d945f2e25f0899637222d6d766c206d44bf2e6d827487a778ea26f9c6280b21d23e42424264891aa20352e0508e0ee1c812f5ab07fe4279dee4f94396a86f79c69de9227ba6898ad431f52ac6cc4afb93f9b3a8dffce10da40622e02fe2f45821b209d9729da2d4a38e6c893dd8d4e31108036eca92b6a55786b5b247f64013f5cb881125dbea0f6f1eb244fd8a9c12a81a9a10f5e8fd004ff1669aa8cb9c4231ea99186f8ae09ce0c9b2b2ec992e959e89dab3114ff1f114a5cf740901c92913ad0705c618638c312eb1e0638c31ce66084aa20611290b9b5b23a8715145900dd6162c28810584c6a396176ebc80e3020b4922e50a4bb0c0036f21841c2b0a8bb42dcbb22c0738006f61c5094eaad0a962678b244758e1c60156c0c15b880105236a4941679e584b46602312917a7cf4fcc04b6470d36561260b34a32b83c24b88c002ee0a3fae0044b4040a3eb62cf064a16709176c2ccbb292d050496ace60c4092c0d5ad4ba22680a3353a09942cd146cb62bc32aa5e005594f1570ac2ae4585520625541c7aac28e55051eebf8cab058705073a9b5051f5bf8a1e1330ce1049803b0b0939d81092da0288aa2b0b0b0b0b0b0b0b0ac9fe1c7044880380089107c86319020442d2e24e182128b674c6089485658716113a0a002c201ca09e19b1a6a0b3f161a726a2ab57c8438c0a7890aa341a7077580178028344891c47440163e150d56242145a42f00513470e104b1c7679a201ab638c10fce34410b88911a00b1281134a3d3c34259146565912c7d01470696c88ae288994d3d04c50b3a68514b891b257094c8518288123a4aec5870bae02f5cc1059ca886a7a6a7c6a7e6a706a826a88a40333333497c6149093618b46114477a36750a06ed949c234852b0d981902c746aeecc86510099d9d4ebcc2641016b3c283caa80441661001a010b2ccbb2a890267885850427212939ce92120f69824bf490264875366906280670e6ccccccbc8002f2c1a65aac57300a1d48d1b33d2b602d09380092c21340404dd0620468c0de8645b478c111b4f08116454802bb608934411e560fec83f4e30e7801106982fb2b6d0a934e35f889747ff8db1616ae58964d1d009a281e3c652d02b661cfcb2e04e1c7174650031d4cd18513758aaa340bcc817aa808f88b35241fd1863a45cdcbc3cc4bed5530f25ea55fa20f59a258728c901370b4893535d385f4781314820116a2039b02f5940235881bfa852cd5fa41a0eb7202fe600f05a6cb0b9b86eadf8b5d5dd8606fbb595e19f7b66a1ab661dbf5796b5c3b74993d7aee32a7993daa3d1fe6ed616eb58e2154c3c8735a87bdbc0eeef332276b3397e13459284bd8b36c27c66578b2998c0cc434eced76d39e8deaf63f54b797d954feac0e6c6a294631b6b3b1abb17ced204b1e4ca53debf044311736d8c5bef20e36d8db903eb4af1d82c08be9128434d5fa0f623b481748819011f08b2cd5d0111c6fe597ae595828aab2011064d5235f5d215bb62d5fefdc997712e9993d3b7afe4cd39d41989e41349466065996a5754c1c9b996343692c6a63c3b22c4a8412a1383816c5a13b748712a13db487ee5816fda13fd3247b6850a2f8a8040b58cc2335ea189a110104002000a315000028100c88c4a2c1609c2681347e14800f8d9c4c664818cac324c8514a19438831c0104300000000666606100aea43aa222a9607f3715397362bc10d724a9ed5531ebd001806d66f215ccf5869bbab54d0a4f778e1259c576b6aa5d5d73bd4054dd5f1e4b8fccf4a2a6074f243c8d3f12981ca14a0e6a6d4f236f4846025d1893bb4c2d50989590ab9844b2dbb84eb2a0e895ecf7cb72c59346d1eea9113573bb95682163df01a34bd73d8f477b732f4ce4b67ffbea278ea79dfce1207973d8930e8208eb67de2c5c5785b2a6d40c126dc41ee5c10c13a81470e069780de776980d1e47e845979953ca59d815c1849e8c6d1f7a56b21717e5bb47fa2db69b606b86a04d8d1ff6c01d2e9977b2dac4b5c45912231039ec884a5ce536b1339775f440c66a60199d90bb6f39e7c988446e74bf48b2fce4d027510d8ac1ed154edab79907e82972378d8ef10d1489b0ac0f3c1f61933e1e1a0284db4869d228615f7d9d1bcfd741d40fc4ae7ca74894c3e6b506e2ea45e42e77c220343490b749e615f23f302373389e4dc46256f951cfa7b20c3eafb470677cc1e9a4d36f4af4889ec7df545a4b7e0fbdad4ca10ac329793aedd58027bbf892087b61a2b8067f69627c3da77938e3dabfff6c41b7530599c414878e130b4fb698f640094afdde8b5f8c48ca1292f69bd34bc190833832883f046b68cd6ed1abc63940db21c7532683d84aa3f3a6ef5edcc37afb86959da18a2a3245c862e7fb466efc3a8e48df3b84c541b66171633ca822f55b4ae031ca79cc7990fec492e4c4e137ab830102709fec885816f22fc29789f033888295856fccb1c80893968b991336640b2de33f40c36deb31b0ff603a06a6a6356a26c32cede18ea3a57100f22f50c15d6c6619db46524047aac59d8e93f4dd3e500f743d882fbe75a136709c4d394470a53813d95cd9208675f76f0b4a97b9965a4461365b49d2d86f8ae4ed5ebc992ede8486bf41958a5e097f17ba021d950a68b7b5f6caf37252753196e6c95faf51cce166d04d2f096adb6f90434fe7e52736599d34b4f9c84baffe7486dbf8e33fa51e4111ca562c282f6299958ba25c76edfb51153d9445cbba70c0df2b62d495e8d2cb3a9ba0c33550cf744b8311c27867838c745bd8ac3925e36c79e87634a62d402ad556233d209e755b467e1ab9256ec4ac3ad6ca5bebfd80a377042ddbe5cd2693eeec9dae4511c04cb5dff1bc31e089dd00698740df1cfb8edbdab8debe21335ef16d9f46ee627ab73adbde6469dadc9d2accdfb41dd5d2ce618d9bec81a7674b38aab81e7f6cb998b70e2c79413f336730e403936772f3141a75e19a188b2793bb8395b457acdce4e7b06ae31e98070baabc3cd5e55ac8c338331aefe79759ec36da21004ce38074d79cb88b16f03fbc2add721c801c6dfd9c3ba02e9dbfc43a8b05c76680e3a6a66eda1477726b6b6feb0133e9f051bd4b53daff42d914e180bb0b587af6ef62253dfc3c110c69dbde6e1f71518556cf7318314b825c5270aab865f7c14617849419b86e703ce5e9754f1611d141a1e6a524b67b6debd691302b748f2165272f2be08f95b8821e9621bdc4dd00836753be0b9cb70af6bb463dd2ba5a917f03873aec661c12d1eb68ea223bcfc1073c0efd45f72eadec905766e00011b3656bfcd596564b90adf47f8c06063c0a0d5071e98b1106c0c5c708ae2375cc0a019e637aa765c46e697442cfc69f4d75d080723a99c5e973e4c0591ebb7f86ce6bc0849a621ad4b6e38b9e98777b0805c5628d0ee0eeec2fcd84e9eb5ac6bf350ced1547027bcadaea31a4892bb6295f0a9e1e54b75615bddf0050ca8357e4fcff1a34b08f60772f58cd7aee6c126352e753f1c994059d8e484e6086b566f4ca525a0cba857bbe6b77dad6fd2c6e84cf582075e719e57ae15bd746cf8c01bc4d47071a1bdee8fed323b04c2887b56e4a8c193b5ca1198048a25792001b649b4edb02a256ffbc452a6293485e2381270e63b0bd99b2f78b544749cfa7b764011cda165a061c3bef7b044fca494b1e8fc252226fa6b1dbd3644f877988bee856a7fd88e5ec8183adcc854ee135bfbe14a66a325e6160647709c85062bec5294778e350aaa487af26cd37d44234a0e936316d05af3c944d99adccafa436b8fca8e1533f56845fcc1e6ac55b6563225b774ae120259b502d7160a651c6a9de161987f924df0184c8b90bb47e5204d16db2332a6d8fe85df65cd2bb2ac3a60a8aaad5020cfc43e423ef7323ff165beeb1f0685d6b6c1aefa765e318105241d151e1de71371f1f484c0658aa882c555b021f928df5250fe22884e50950794bc1e02f44d3bc79f47428996341dffd33a461a4a89f7884b91759469ddd53fc62411947cae206a497484d7071923e48e44ba2085b555a3461640927fe4ee362c1a9627571b2c62504b6c9096838a0183f8bf57c1bcd94dca13de9808766d451de824e273b0df5974250235f436d46b0651fda459ef65b01b0bbdeb3fbc67f2b58d52dec1aee42b5c439f4e72ce4a3ea7ba54b9ceccef19a0dace977242f84713d3c246718ed989c51566102a1f4c31cd3c1ecd1aa8c700ccedaf24ba6a54d5bc740119f5517f4f9a19a83ba6ce43132b9fde8737c817fa95f54fbffcff28abf89760b61d25b55989499f21455c9b79d9929c225ea743dff25052affbd2e60f995fc71f6a94204c4d7147cb219d9b51bae772c230b2810f655e4f10b7ac407eab60e7e092543b8578112c14890930723fa0d0966b001b290149f1a2d7fcd836e4c62edb03f4ae6fd6f08f56961496c5a6569b07c3e01c2e93de21665eff1162eacbdd01396b7d80f408f9e69d83e36030adfef0eee5c2b517b5ce2ae092ca3f7428ddec3bfd2314f0660bb22ce3fe75a2824d4dba919c3907e94babd60cab34ee6c5f1146a08b4e8747147a155083a35ef59472fc30e82d72f8e67ca4f414e4dfed39da0bb01b29e37a3f297cd00b9ca1e991280049f09f71679ab094adee8ec6dda5eb96310f658975b83cb606802c711f9fa8e025a349e7712ef7a02a2970a720318b7d140b39ecc42078f41e5e149b3556d402c86292d7071fc0cbd8959ecb2266266715b24ac95f54a68fb82c3d3166f6650f20512b7354c8d1f29158fb9ad60711a3a534fee4f5a1b37b7f846775ed862fb553f4c549a43864c98ffaf5374bad2c1d3f263fdd99fc6b4ca1b37a042bd78609a831a930fb662a04f8975e5b160590088690350607cd5b705ed2c83c0cd2e3a198288165a2ac42fca534ae29658699604c3f9b284f34cf7cfbcd7490c01240d10cff603b325c2f6a52173a95c72113e14ec311e033d84c87cbb3a600824ff80e17654427d6a809a0a1e3ab29780ef0fd413f68731c1e7bbbdc52d3d1c153eb6307bb39d4a38c9dd3656e28d85aaf905c7377f18e97cf0d2316b23ec073c3c3fe26c0846c399597e08a956eabf5dc60e1a564208e8cdeb88668d9d433319ee448b76812dca0dc27df0eccd2d2b2425d41e03fcd0dcab76745c666fe446d5c8671ccd1f07d869f675c276c3177c05ef310e3010b438d0b5bd6e5da6123930b718473436d4415b964b5b98163f938306d2da64395e587f93001e65dbb9e212ddc6d66300eb7363794a5bc773be70630d25e98c1a9d61bec9f5eca9c4cbd8028b0f737fb5b6b4a34d31b328ae82c924d9bfce6a4ae8c452269d0b582edab8b1373ac37fc60721198b9c9cf87f0fded7d66c77a2987370029502eb86f82ea494b44180d8ad03db901c568d0b6b35bc01408c27a3a92e1686a78abcb5dfda93ba7f09ce10add086d858ee9d689f8577bde995259ee5b0c5791b2e04d8262be84c2d257034875afde4966226d5cf350b9fcc1a17c87d6bf9be9b94c9b6c6d305b490f6e0f760ef6c6d2d0060ba542397eb176060da3b42f560618735d6ed40c26212f2b9adfeff012f4e31833613c1a96018ec58c7a9b2a310f3a3088e5af79298cb461d29c1cafbc5921f185ec6865c23d52ce998fb9c6c5f5480cdcf58dbf69616080592a523199896ef58b1648028254039893f03b18e04c19a2a222ff443fa75cc077c80933d1a5643086c3c9bfdeb2400bfd34a52c4da1de208b8d3fb4d3b55b5add09c74572468aadf8ef9a556b6c9e620edd25db485e94f69a164fcfec045e7a25d9d0931e5e7ace690542337147141a40a5d886147e23faf9ddb6c96a601aa2f46121c23fc7086bda10dc5894238f96f09125fc8f1e549bd71b7d38af845002a1f8e2efd82cd8bd7caf156de932d68e1314d3294fef55513946224820799ee046bbdb169971199d5390200db9b20a79433d13375757aface6d7876387a0ac16d9844ef41cc2ccfbde8d93308db79d8e0e268c43e46499a7bb3e8cf1aaf8307c48414ba4dda65463b4945e134f79c90f3752fbe45c4973211bf50d85e9cd10481758b989eec1c316453337eec4d743aaaf0841375770c0994b36689179d8b8c1f7a188edb2a3b3f2e71e5c45877d7be8811307b293fe2e7804873caf1a5d08337ed6c0a03bab03febed5884643eec522d19b3355426c2b2a96017247b40622ca1f970145ecbeee0bb5149b21c1e7240e6da9432a94825cb99e1c95bd092326c708a72d4d28d7b72f5ec3863039861b372dd47ebe97d1090eee4d165159348e0e82281d9c13e534902722ca7802a228e38081c89f0a2c4158cdb24631a276198872232c68c50c12ce6811ddb68050c113efcb6343146f34933af1c4eaf6a30e7a1cd9860bacb22b5e827a08c8b5e92501e6e0aa56beea19974bfd4de2e0826dd324a4e7e3c52fcdc473ea5ba1d6984687ccbe3457310a8610480fbb310e936c5627dfeed96bcbf67a1ce346441bd20aec3d417558b292538bcceba5b468c9fc5772d2eb9a3fc940718074533f8023940b6a037fda0c6fd69119b91d624c65a8106fb1a41a5ee5299415c97919253b79ab0169f1ffbcce14eb98306c68d97d4c52564a2fddf2ff68bca0f9de64e84ff0c860e6bc8242458ca0abdc28b3dcfcbb6c107bc9b21713f2cbacccfcb92ceb73285ec953fdcabbf5b758d6f0bfd77d8d122b32514741e675b1fc8a15db941e3d58f632b86e956995985cfc2f07d4947314be1027c05e275d79f4d09621c9a43f08c35726c98e6b95a65c13a610a904effc5a4e28af22027c2b852ae52e17272a34c28bc8c18566cbca02af71e2f3a49adba6b8292e5504209a7295f27d53b05cd9233a524f170e882d870a93f0381a00031167e81664df2abddab75ef64041501c2d6d35fba0de8769302e2d29572d12b65e202b2929bf1cad9daece544648153e5cab5132516f5a97998cff2f56c996e10790ec88b27f07d0c416073c85398eec135728bb928a533d6f3e64e32c324645adebfa513656c8a7aa939c83acc264e504e4d67f4f6304ba3096ed6df3de20eeb888f20b71b16b1015b8fb2a4a15bb1ba2ba994623e3ecaef51275aec5ec2a3de716bdf6ea8bff4158b72514cbf826d5e8b56be2bb2ea77ef59954dfe9423c1a5345c58112819c90ccbc692ba1124c88df97186b96f71072ec211a8b03e2731d9c5a68a17b453e8de3521af9f870090f7df7b90b10392c48d64de7ddd9e79f2fe0bb762479e79f0b8abf4208edf5dd0b093c238837659f8443a81e26cec9ef4df3d97b2fe2f989dd772ac599cda90f3ff140baa89912236466bbc0bf41462b5d7898af9104058be20107489fadc2aec4b2759f264294351e24039359e0506ebf1277e188527c1af8fcf779a769f4d30eead30aabf18bf9a5fb4f61e97203729b2c663b08a8bb2f859d2f076171639a938c573357e905bfa689be11c55e283437502223834695657d39a4dd3dc324eb2b5e3536fa700c31502770deebc580f8ba176b65377bd9a839e3c6c80f9690421e70798a53503e540cd3998cbe6192a29f8118bf761e50d147bb071a2afaeb7908b036bcb4f377588847dd21c360cf22c8a1fec3843b4cf2f0260797d753af08424a94073ec021dd96fc4475c900f1f4dc961803f50f7392991ebb0be920cd0a52dc11616a92fb9463953bac273d30ec64f7f762ad33ac06d0c3067a6557d86f00661e66cfb16a69d0005d3543cd3cde16334b2059ac1e93c5b0466a5c6dec2472277d700018619176a65d83ee6cfbb4680853cb1528a60a29bb7d79edf45f9dbbb4a44256dca4d07367459093967207c5a3031336a6db53ec680a5b29cb514a872748590eea478f1bc802b0aac0e759ce46081f9a42d6c83884d24b16eb5dc8d2212e89fd37b26d130cf9825201bff013efdbdbb644bdd3ea4038bb33ea886675a72e76fb19898aaddd86307a74de573a6c1389f2a16bdcc3cf60e4639766e72589dc38653b9ad06d63c11802057919167760f369289b76fdba6626f9cafff95b848e9ffb0235f5fe1474a4a243c581273d0f87b2384655e4560a94cf3bbc0b418251cf22f5ae16ba82932a514fa246669b34c7ab874285c46d40cf4ee31fc8f0665bf1a36eeb93bd32d6021907084323548214b77ed0be8328e40092b812d19124d209e68c8bb4f8a6a9376b25d3902c9e9898a46c6e376a3dfdb0e9c87c836dc036fe0e2bdcf060ab6b6fb591dbabe86ad91202243c0c70e026ba768605a223be3261ab83d2693a203e5d49a70369a23154f22d86e38e2f627fc31acb2ae7d80f0f08aed8421c318fd489af095430484a69eca45b77286dfa434c8f06c18912586b45bd6cee038b7fa7d5407a2a5e8f89281c4c171d3721701c7ec349d6cb2b6be1120f9e83d7a507aedf2fa8186a31a76ab3e08183641ba585f2efb0cf123d4919702415615df2dfc81f32787e0394ac96e7caf996c8c6aa4df20959cfb758f299afbe28ab1d932e0ca305e2c5efb26ae6a710dfbcb791875e2390d590363fc909cae1755fd047de1b0de9ee5f15597610a5a877a1f50c65288624139944f9e3bc77216fc1393b4ec88f45ed3dc2f918b78e4337ed006ef1bdd4ee0dceedf4ba3f09007642d2825621cdbdd5af3181ca2444d36ad1a7ad6012435514c49d006d69c1b16097721b800fa9939f2ab0b3983d2a01bc09f8480f939d2f0b1756dedf859bc8e19a4a664e1c1eb5ddb55249ce028efa5ce55607d803c063e55ad21fc898bcc5c007e6c8c1226acf956fafacad873ecadf3e67ad4486d40243e73374c82e4c861815bf518117039a19f24b59289a367f1e97202c694bb07caaf6048a9408507b375a37892b6375a6c3f9bf48b7a90ac819384cc748e70f85654b0c9fce0cb7550cb56ed380b30524a02c4c1ea9d8ef05a65ee5055cf3488d9d9244e805b3dc0bd8b439aec3a4b645427962036068828e2369192fcffc41350152983b7640086cc71838056a3eb8670b9266afbe9332d6fa7c37d3eca3bba3946334999477531c91bc7302aa80167aac929897ab94ba3cc73cfbd598c1517b64121cfc8e0e3921a3506bd98eda52b399cc2ab64337b8f9180630270eb67d504b521ea2d6c074b6345d07ffa2c7a99d4d9b1665323898c3bf4d259ba19d01b831e78c479179d9fe696994811713ad512f3d1b5ea07165e485f079326b1955d72df7d9a03601dd2941e269c0ba0357636ceaf63339a3d2841f2cc6ce3deac4ba06f063a170827d9588d80e5911e85f782e85ba2c0938c880d19b9c9a3313e82e1384387af3511902b9ca368b5724b3d41218788d59a668cd64f98ca6456aff32a3d6d25021141faec860d8e2570cfd3bc517a212b565f7cee385634720d583bc6bb629d547b2a5523793cbb10dfd7554f2bbe802543bd80aa64eb828cd752814438d5dcf1120deb249edb9f695352a608fd0a9543924a6e0ec4ca003fa558720496034e14bdcaad0fb20c8221a15af1d13c9df503086c7c756a1404501cdcaa599f1880ddc452441a66ab58cea84bf5344182a0e32f485f621dde0655940dbaeb443a1d9c48261818f8b87f6c969e003af16a07fdfc3705388ff5042bd0215e565d9b9f6b1c8508bc3903bb562389c90f363530760abcb92fb9c1b137eecb97c1571bf17607c59fd6339c7c1c3f65313e9b67ff2b67bb862696c8c29a0798dc715723ff1790d82dd4faecd47fbc2963fdcb2e850998bf672d0048f9c2d98b16d7dd6431ffc24dd72a039f896ff9adead4c87de7b84abc7595822e626d652245e105f9fc42f270420be0a2ad9b5285c73c0c6c027fb18fdf6b50e9e8d22806c57fda573f9a0a9c11cead3f5577b400b44276e00b085b9c04ff8dba0b272ea410acf741c235e4f2e3bee550cd878ad1676e88e3e66c8350c6e79223e4671321d6656b2dac027dc23cf108085c46832a9dd5f990cb4e1c5b10ddf793b4f51bd72eb7826a0a63d9a45e13ecc550eecfd4d6fa373a0a9afb5b5dd059abd5aef4627b1434dbd5c3e71e6acf53ce85f2f3f00414c0558d125fad20b1d982fdd4be2f226a602c8ef8af99cf62a64bcc631fa701f285ec871f80c2ec8cc4cc99c2df2f38e90f2481c5d1c84ef04f9b607cb612767687a24af5523d735967c0e34cf2f74f08b2731d9ceb033851618c430ddef0b4770bfb0c3990c107a50ba0d5aef06d7d07f0f7f4183818c15fbfdc2affd2d04851daf389aa12410439d9045cb4b2be7c029e389df3552cd4b3fc55a7106a5e4c20b3231c8c2cbe79b187a2ade832845c0c6948b0e0d9c9d251d090d317b41a89b3721b1128d6f0a37008bd186b4d61bff2ed5860baa9010042a3a095af87ef08a93c1d93948f713ba49db1fd9b51da014ebbc05ce1b937102379738d0bcf791246001766d5734c3a2de9416d8e9526e8de98a1bb92311d5115ba3f207062d4b23575866565dbd6e0a6b9f25fe5f807605e135cca0db4ce34faa7822a6d157d8e4a19248b46851f3945bc42a7b34079fb73c7c577e05d427ee6304381816b0957290e793bd5b54fcb8c62be2e6778a62e78506c780b0ce3836a8f613fa1ca7ada92e99a939b9451c14851a435450257dae601f0bddeef25d6e877ecdc24d05917a35a170c8636a2cc3d292e0edc41a3aea754c70986c88b3274d8c49c5bad504ed2aafb09fcea7f05c7601560e377cbb09e44efffb135b0e295b0df1bc0d7944b6e9d885213ab824de564cf2c703e7b414c155da1b22b666d93eadf8e53068925354d8ac64f14573d68c16a1a943aefd60dca5e4755358c6fc9a42fd1813a54bc4aafb3953f276950f5f0683302da36677988ce6c024e2ab86fba73ad004f8a166e877bc321417b36f97bc07cc81690c47a25bbd90caa824cc4cbd4c1c17d498fa9090da72ace7e69d23975a89592960397ecb99f8e69a935b9cde84ee36bff1f9ebf995d78f682df50997cb3afd8c8981d1824a090ae6286afafafe389c8865e59f95e85da030bd88049831e18555a38e806fc3258fdedcbfe938387af2045d8fd62ec89a150cbe5521e084552ef91b92c3373355be8e89263aa5b5106c2c020a4df465374d376b2d14b96698190224035fc01ab5bb78b59073a459f9a2975a8f7b707fac0693b6fbe63e817a951e2816639a468161a32dd1c30d53d5b0f5840cdab986ab813f4565c2e806b932e8fa7b71c26ed956b65e251b0c81293772449d2fa348cc6a3b0fabbf15f8fe02da49ad0153957af88217d24a7b2b3cac1d348311da757526188a00c47004adb883693b0699afdce91f2aea8edef5a4cc293def7c001b3e401025ac0d28b9ed40b35736725e1f1f4f121543ed702383d73f9ebc6540a200a02d823210169e00315e9e6d5a3dfaed7f04deb8cbba2be5ceedbf47d8787d70fdf9216916a2703f3a0410934026d3b08214f37a65f498e4d2480924698abd3304fc4925f8c8b8348b1d1cd2e662b16c4ca014deed7f79c43206cc634dc4fdb740d45406db1c348bc631618ec8bec313b0d3bcb3d595b57b5977dc20c8a4babf1ecce1762ed17e61fdf6f35e31a01fa1cd5303456965fe13f8b17954ecf935278881d3d11427d82d64c3750633fb77651a9edba8fa9d91c50526fdce6817ef85af00f34bcf41f73d72bf1dc33e3a65b98440e202fae8fd68b16c920259820bc488b6e8288a6601b321148a12e52c1a857ab35f2061290bc1e1a67657eba7e8242ea740f12a8bab1decc878bd608219251cdbdc4ad2f3340b4b22d81f53b9f4203f4a47d1a13b49498da80aa264d5bd6c8aefc19b5abad7f00caf39173e34708c2b84520efd1806bc5181e781873e999f7120fae70afc9166085887e8c727dedd5ba7f6bcdab392b5a875dc816e73c67912ca78f5c3fc058d5737feccaf97956977dc467a253a9cfe5fe1a31fcfa7810cc7fecdff333144dfcc9529985908cc0b675c74004a252ea2274dbad6ae6c080258775e25f8503ceb20d6d96183df3fa8f1324a3b07d2d98a72d933c8460ceddb283476c4f5e7a4d38c32e9626ee5bab09bf2da10089c265f3b7de1d10b2c3fc59b1646ad106a9fb8a67e718da336cc4090431950c262b33cff00488f3d83ce6abfe2b34f844ae8a8b4848a8af41758e08ea00f024353fbc97aeed59bf3de5df2d88384e0fecd93374be38441c5c23a0eb8451905a466363b0c424d8e3cd225f62a4df7bca22641ece6eb0a3529a316e3066a722efe628215294c730e5b167c211d96fcaa0044a208eaee2141d38e8bfbb5d08b31ea07da586a0e4d28d717e9853e3aa1a26230fb9ded3aee20f921efc1087751f8e1b45e99bbfd75d537859931b0e2ca0585d5f6992e342a60116bfac29c255fe4b6478a1a20f7beedd65b67f74f20f8a99e042822eab3d8fee90690a1b83d5a0b081b5d1a7402b6428bbb1f9399c2ac879cfd3e78cb3fe9246f615a66191cac79d1c794c0b897a61e114f3e193e0d7c3d5d68ea8b0a48f55eb1a52b0a6868b1b662bc8b33a50bc5f119a5e83d8148115431bd46dfb7e2ff41ac66bc42d115d65b5f9234547e4961ffcdc94c241babc2d774161268ad07b96c240f9b74e0b0628d586af8f5e23950d3e4ac9de2eae31d1aa5305caa45c178bd7cbc9e3938b770be34777f30977b73aa02675b23847794219d05d181f38e50cd3a1125190f5b923078f2917bc57710192b53a987f5a42ebd57061d6d070a5b34347274e2e3995989e700a5356890adc9fc049e784440dee53d4608e7b931bd5cf379246a75c81619b0ec240c4cfcf7a8ec6cafaded7e94804ff5f4ead5017182830b97599a9ff15d366849df58c00efde67a90b113749ba196fae6a9cfd02ba9c30c48b60507bea2802be747faa64d9519c53d053ae5fb54d0c9f3631f007b4dc605401490388cbf42ce4e790f6ad71dc2dc9188a62751d942a8922879819ae819996a1d949a011d387c6e77aaa41dd5f4b95ebac8c0fef6f3ccfbcba96805d06e4fb0f4541047bfdf97a52d23cbafdad31c47302eb372f1dccb4238d539db926c65000a658b33f6b2a0b0f13c7bd1d9d3bab3ea4f5f1854649a5b027e95a0e7a059436db021b43566cccb798aa935572b63726e109b8a26c5c4152f55df708bc8927ddab9d0e4a0ab0945e7f5f1dd8d1b9be55e1f277c57eeceecfa767975fbc95894c7581344894ff669f7cebf58289f6754e27d469169d1643f384ce4c448d26b7ba515242877b33819a2317696ed1a9d83ec8dc1fa41b39fec18f1ec1ab5fe68e79521ce0ca664c3c50645e184522ffa127924dad895f5939a79a38d4e919449cd7c1c4d7b5681b9b6246776a7420876767bb8b498b6b646d098f51af16244afe4f49f3abf215fb09d20e97e76fa4e356e336be84cc51d4b8f86c186ba1b56721282a5fbde1dbeacabd8600c496a1b57fdd4ca261326ac4e5743be279f2ce098d0a87b2013dd12916e69f491ab4d9d469ad649b62b62f2cddcf887c3d3826f280f93803f17ad883fdc3ccb36719685b3ac9b73683a590e0e768936be96d76f6665da0740118552d8feae6897732be53b1931b37c6ed8cf87baaa00ca82e7332eee50878e3a2653be388d2e81e7286298be11e46c5d91560d85e112667be5c4ccb3313eb8ad14781f1dc3c19423f216aa4bc1a34208c421936043005aee868bd4fbc33463270a0efecca4577fc1e107dba7476ee02871bb97b1ed98f86a3992d62429541456ea7428de065b8966c5252849192edc3919f8fb919b56b6ea2125976e43836af6c69038b4058eb953ecf6131d776a49fa5809f3bee1324e45d12bd9be863d0af728204e6e67c355cc52269f26ce4dadf37c215606d85acbb2d5b1877515461117686443db7124890a82952b3e40e009c04d59b6df2e1c7fe44bfb27ebf5becd57801d6d3618039d6ce33382d44e621b34fb1bfa83bbcfb5b38621a56e81b2ba84bc96a4f8503fe3ca7f15c31933b39a948960bac1a79dd27dcad9145bdbab55b1066e36deea91ec52ca05ad517a6f34b809f9a151b829c99f50e3ac9b2a3fe706ab994b50e9bd01421b5c6a38d65b418b7603a21bba5e2096f4dff00e8dd3a73788d07891d8f038d0dbf124045d6f02cd7446835e0845acd0f930f303b83699865eebb2b3d710e8d170d987031b4593a369606f20903e8df536c17aeaf1bf4ef6b1359f487b27cff49d8602e8b83268feae0e878b6ad556e94b7cecca9e3cffc609d0f30e697f1b81151a8192487d8893a629a281e28c33ee347e9713a7c8392fa4a28810d93dd5b293f67c5de260545871353fe7aa675c4faac0b3a436509ea727f6757d896fa72bf13ea42e1ea16bf0b7fad79815d3eecbe5ef8b30466d75d4ce53d50fb9ee5f45c7acd168261f689a7cd0536cc17fc18f04737befbd82c8a623a3333ae121cfcf94ef8e0da10fdce02f7f05153616e2fded9988c5cb41be894a37f6d9b5bbff3d3ed7d634359e3de9b3f02ddd9ee4e75ac1bfa53cd8d106aa4358e5772a3c28d5558b67a95b4ecc7944dba457099e84fe3534bfdb1ec8389ae73b8d64ae03c1d17ce55157f5a4d0cbfe00c69794722bfadf24d76a5e4501f7938e8dfdb0774452a6044c7a841c19fd133c839da78116d21bdd0889d414d6d320bcab4861beb2aa30b38ccdb42f804f7ca05b60abcecbaa382c2668c00fbcc7e357ff03093e7304150022b691da1929f83b5dfdd98dd5112610725ee934c3b2be85260278cd0f21c028e658010e3e5820104709c27089085b84704a188b6b2f8110a3c8244cba35e58a7c814caf96927a227f4dd11499a6b5a6026f53678ba30682a6b2c431dbc392a7d429f4a263063da9d054dd0f3f5f85e61c15d57f8e1f60202b178ac49a191fb80d0d17d7b66ebf6a49e61fbf6c30f556fbe26cd61b47b348b9d4f89788f5eed2533c101be334dec4dddf9d1f945647e70634d2f1dc9956bbd3bed2bc1f2901f097da7e773f810b35c9d2760c4fded55669e2f3863806278f824f8279a9ce19ed51837caa3be3d87bb62d48a6be07bfb3b499c4f7203ec44289beac9e850311be5b43f190839a779ed4808fc153176cd519d5283922bc8fb06da4b5622b24b00704df15309aa18e1d685a53b2a9798342325defee02747becd3bfe6c159b821f5027e276ea9491e189f32177b0a98645bec20284a0a00d023b2e1bd8c44a18e3e5425a1b406104238426c13cf196175f840c8ce88950dbe0011e776919d7ffdb454a21b365b1814c6cba14ecfa37b37ca8a5dd2251f19b6f9d0c8e4fcc4f688177e241c431cecb7c500574541f5c5730afb413a882e008f5632e002393a0648aeb41835cd8e5663090485875b7dde5018e2e55d03360e424f1ac981f83c42128a4edaa095a7aee173ac1169431c368fc5e2af246fa35aa5e262beba0c8e4ba12fd75b659fb53cebb902cdac96364bc0a21015c22840915e391a38c50e24668a501246ad323bd7b97243a72cd38f89c5c95b180899f5485dd0f3a6779780f425389575753828affbf32afd5df5e8201f5469d535e65f8ca0c6c7fdb56d4351ebd2ef05248f91dde20d10908e075dc4fde38d1607811a779d763b08ac57112115bbbb992db77d01652cb0f1a77de6e5caf9681ede240e70ea9cdc800bdbae1b7b0dbf6bb7ac4d55793d1178ed946b6fa2f0702f5b6b22cfe7176b2bd95b140b09ded74cb475790aa72de1bcbe22b0957dc950d90c7af5a7b41e29c6f022fb1796b5e269c02b116e9f211ae45a543728ef66c4f9be497f52b48538b58005dee937c299826e6d54081f0470803e17a2217081de0c44d7b20205c374f98d1494491981560460ca01a2ecc68db658105d40048d47a2a380aa1fbaef0cb3ec10709b26c261a6b11e01245d90b535a5a96f71ad369f49cdf23de9b8c1cb155b1a38e4cfbb5040ace9b875badee54c4d7afeb06bc347e4cebb1a9cf2fec3de7e229e8ecfba42df01c91f266e988cf92aa98650314ee4520b09ee511d137c574a27fa4915f72f74ec93c72e4db06ed378a07321316bc35fe0563526a2f226f0b4bd96131430d719269c03b3abc844b9a22cc5d7b34e7e19d79ebad9f3cfff15ed62e7c31c1f1c5c9bea61cabc8fdd23286009de45220b629f5ea74d93f2a1eb68f8a194f4aeaa1c07d3c301e6146d6664ab32e46813ef7d671677f2a23d31c2169e98a954a05d19cb0bea00bddabf29b2a848a2cbb1b522005db3c92cda863b44325a3be07e481976c3e477ca5b16667d7f4a87d0b1cc40f34eda347bc7a79343bd282ec604b69556dba414c987a4d6e298e855c1c6acea9c4ba190f97d7544d9323e0697c8f852af6601dad11f20895b75bc36c392623534aeddd73c1a16732b06fc1185eaf50d346a3e70243d74315a533b54588883c081e963f9da87303deced23f5f1b6e021b22b2cb12777d7929723f6fd96aa010675d65d534cf91e50ce538aec7f526d38acff10abb69795c4d09c694326e5022e48c2ab6225da973dc81babd536f68c56e90e38b81d9a4f5c0408514aa886b301607fac3cd1c8ff96070832a72b32684429b182073a9e4f4ee5d67a166c39ba2ebd277ae76ed0c9fe2d8de044d6c09dc872c1ef06f0ea6011548da22ee0d6cf2055a2ed4ba6b53fe3f485bf29192ea75ae6aabf61e5380487a4f6d0fb545bc2779f47863ec992448a4905649cdcec011ffac5910fc5dbdd90c1be1f23144d1a46b99898ecc8bdb0de81978d9db8845e06396508ab8d9140e48a749b378e07e2d9222019d1e84fbbf5308ae2ad487f6305c5ea35560f57c03cf7b26977a19ee76b492281c0a6fd2cf8f9406780e859f548d8dbcd45a2c41703043a727291559693cf071c0f8e4efd111ded2e04e4646ff95f418c6cbec0ba609b2ea43d759346972b5bb233cc1b9cdfcc949ad3e6d04d17640e2c0e0065ea82cf7b08f21dc1961af5727667b6372638d563b086928c10378edfa06969cf13ffbb389c232d0965ff7035821c353c47eef32f4c6698b1c956c78a2ea19b7352c69230d081b1a5a03e7cb03986c82a92a69d49db6131537bb0a74b489d87ee1bb30a0eb2add7f2567ccaa494399ceb4b61bf05566f2ce6678a721a9519270df2f615e2b5dec9a6c2847079f0412159e826533e88f71a8878cd0c9327cebe0658c235c80d21c68684bd638ccbc081a154fa690de9c6b05e1355654ac8503c5c29f584ece56eb464581f2dcdd082dd1ba14b9abbaa92cd9181e1bc17f266cd4614e62e060cc76ef4cca2dcd0f15226c7fe4a39665e4c3a2dd64044db7a397fd41d72fb1bcab6e92eb8dcbc6aa0c89e102cb89b782ac05ba9847b4dba4c0fcf428bf95948bd0c7cc8ad4c4e4ff985fcd8ba5ab102e3cced43c257122496bd0151c0f6f8fe2bc52fb66b5938065952854166a1cc27cd49bc08fec8260215d7c9d7158011a0b10f158d7d14426a703ee8d3c0e118c7e020c05823f97b157b035296189c50106c411ef0172ba6d021bb5b808dc09979dcc5262e8a57a5f7569c224491670dfaa5ed2a6e9049ebec3da143dead3e324affa5a0fd0e2130821ed9c888fd8a357aae92f8687c87986a8994673e56ef73b878aa0c8a591362df9353f65e2bcdbd78ed20149bf4a31d5e14bdf9f92d50821b19802ed5c17d82b8bf3312ab88f1fd3122260d4f91ad9b47c2409a7dc89694c7d27b5cafc96cdae428ddd5b8bef09a03c25e629a42e6e03f0d2b445ba2fe09b357e22e93ee5b0ec4c24c6ccb4126132ba70926d0c83856a907c964688369d86b3c840f57a04a2c5cb515368857c1ee3744527e0bd7c867198809898bf8636eab281a23ec0820c223a86b206c6ad871b4ef871f09253c4d7eb571ce0f58dd448d6ee1cc8223fe173060ba38e632cdfa03e5c553784d6c393a11b8beb58df2a85a9c44dbc8eb15c849600709ad3e8c88ae70a8213849f65c174c753d8cc235d802ef92ff2094400987e81644b89b346bc569fb131ba7e723403f3117651ee0238e1d81467ac1a840c56c42c804c2a3b3238443c6a35209288b565a9f54849e096942428435b627d805701048b953f111f87dbc9d461d2598ae8eefc39f7ccc82c97a56a2803342d2d18110ef9353a871b0eddd07c198815e2b3b504d9ac7843f3e1a048a1e492f406ca227c4ac2f5ef9574d58b3b6b2e0d86c55890befc0d625104a8702a4044f9b16e01f48a2fef1bbe384006155d8692d6bf1947a91c7ac093f890ea0ef95236eb10399239f03e819109951dea3c28aec9c8a4d110afc63e7d8d119d96baf5b1c40e31030aa92644ceb60fc0f6fd4bb22ad639ab647e18bdcba4f80d37d78f657e774ac9978e9187e856b87a9bcef711110f357cfa1ca5e70807a5869dbc4c40dbf33f27eebf37e4abfc7c326c3969dca1f3633030d109ec6fbf2772f09b267bec5f64bd2ddeba791e877b5fde7bb9860579004aae5901c01294efecc660d6650e1fb4f940463b2261cd6c0b862bdd105f9f5e11b5b5c72c0cf5b56635c602f132b0969d615293211591b2e62c55f916cdd05bb24716782e09c896a5d071b69d347f4f89a3095b174481e724c5f4822e4df169b3f1f2defff914d852164a17a9a04665e5577eed4621e3b747f9eb0d89625417777f7df948314b9ae814401f00f700a4c46843449e1e84eeed83d4a62e535f14be533e019630571af8dcd23ecf437cba21354d32c4d4259d6d64612b7fcbab39521cd7879f4637063ff9985d85055b90201bfe67d02af3d9c1f3c7fe3e69fdd03bb5bdd0284ad9fcd3034835fb4a89e1b1af06450b36d83ca3480f7029a43d24d814379e241d3368da0960c9eec59ccbb890a226e0d50e6a85611115e2e27d0c39cadc0d6866befa5e51f894ac6e3eadddc5ae12b6b6a90b1005d9b8fcf003bda785cafb7ff33e480886cf7b8b2c323fd79ab1e7fc61a06a863db0a25b56d070b9cf56db6584e037f410b8180801a0af489dd08750b90f3c2ffc2854878513605a78e52797e113d4c04797d07a2a567806cc9f884384afe1110244932292a5a05cb71322ff6e0a1078e1eb2af2ce8db187152f3155e3d5582c570c2a62a4210eec804ae45882df248d54ce3865333a02c4d1fe59199386f9a35861c573891e22ed6c2f6d84b7354c6332018e3b01762c6a94a69481389fa724ac96cb1df8d884f3ef857ec86eebdb58bcd697532e2e659784f4e816533ec6ee8ea6b323fe2007437fe35a1dae0d0b67b54a19a84c5dd5a53239231384250e12a1a81365e326b32c15dbb3b7477cb6c75b2372bf716b72de6a2c995783e99edda9697838b3e94838fc5ebdfca66892622048f7467e9514f4e7f12003ce158a1fc0785c90411664000cdc292b0bb6437959e6ec25d410bd6d954c0aff4640a194d36d3c0aa573d4f061cabe172ebb38667c448b4201011d47ef2284d8a8e322cacae8b2a642957d203b11f1f01831dd9e10e01f9eb06ca242e03b7ec3e1e7e0d444c954a866589d81be27401454788abab2012701b5b5425b98ac0b722fe03c9e772f12eabd2188df172f80ba0eacf92c55f386a08809b2503b813f55210016b72bcb19d88c3d1e73bc064990f035f4cefbe0d3acf5f3162759be36e79d7408bdb204d15bf8b4a35a32bd9557ac1b23ce7737399188a6fb3e778d484a58cbb8e9347acca16b0ebab88bef48c1bf48a5ad819793f1c372188bc987e61df58bce42ef210cdf77bfb75e794a6fe3b97483861c8b29e6edd6095656dc96ac3d2396b4cc226a9bc2995dd930a41ef30defe1700c14e9137eebf9d5dfb30305fcc27bf540856ac76967b378713cd33947a4ba301ebd670a364dece2aa378f16ee62f6a4b24b83275478bf2725c39498392c5cea3af39bfdf344d9b0fc7487b7499965c1d5282c39aefc887aa605d799d47dbd2900ab88852e96d86f0eb1b956c8dfafeb9f9096f9d2497a2029a9988e528eacaa2c5234ba556021425332483d39c0f4a7755f166bcdaf851d88672d0ad8d180c538a80159f6ea5456af4a3bd8e71630ad04e2c890402aae3fcaf3b86d75b6a3d1e6104cdc58de0146468fa212e095d367bfb8b48a886e7d0ea808d11fb8bef93bef988777bbe62f32a635cea7f3e1bc6e21c29a2bc155b7edf24c604b66816dfa22df298e96315d300d12a03e093162b4770cf82224aa6f87150911eb7168610b62b960bcaf54063b63839290838d546061e7be6d6b1a0896a655a1e8595abb6b5f3ac345b9414e256710131ae5334fee3b3456e4a88a75fdf7d253e0eefb7d32dbb2dc2659bac38e68f44284b17b4f0caf6c1876466120e4d93434768b475187f1d06e85256157c9ffc9de0dc4603c790d58211c914f92ca4d5e181b442d6436beed5cb773d3a03098a8d0da515a5491a699370997cb67f70393f73172160c21851f65f225bf6bdbc3b8cfd9b72cd1e4c6515fa39b5ff4cbeafd2a87ff3dc820c9d492cb5cf931619806deaaa7b9a93e0bd4426bbda5d511821d71472fdf30dbca8e99b67b3aabed4f8c67b3d55aa1ef393fa56cc0f6bf733abb21dc504753303153ff511fadf0bfb08b78ae1b966ecfaa783e782427c45a99d9f0557c98aa672ede15df38ff911b8f2b7c4bdd964fe931fa6e2d0bb31faa1999e63d9e84d7e55dd25ec9dba1971ff0b292b4453d265ffa114f7f8d2e8998d7c7eecef9648542c3c60f107502a398744365921fe1eccb987a88ba1117edf13539abfdf18ed3495b344d6fd3c60ed8db40bf8d83cc8fe94286a7f7635f9db0c88438d9939815ef11e3be5bf6e6e990c09e52c761c4b2465ee38125a3c82f09ca88c449fea7bee766a0aa1b50e82deb3d088a41e602cdba8b11cc380faa9c3cea43a903a68c3f3f02bac0c75a522e6b191ad981467eb7f846160615f9ac431bba41d2f4abeb24906cdba7e3b6fcb7052b4cca0513b6d666cbcc612aa89157f86cb88caded8f8fd60187cabfaeb09502fdc1c045c7edd7a151061d362c7e63d48b56309853808a4584c0969042f74a806e3f3578887af7a95fc903d0047a9e46f75e41566570efec267b14b2cb40348850408e01c76fadbd1d6abe402f1077092dd97ade67a9491a4c7006cd1655fe94e73fff7ba9c88330ce3b3fbaf4e841fec54a4cefbc65d5d3c8273facbb942b6becac99974a5dd0ebb8430f84178165f583ec3624860881bbb6f96776b4214dfd15693a21dd89026ac604a983f8a3cd7fedd8fef6cb85819c10fa471515968087e9ce6727c3f0103fca2afd015161a465a017a5e2f247f0835322bf9995a480a872055c6521943c0f731f6353f29c737e9bc84feeddb34faaaf3a28eb49f8b0e59f4030d70fd54d5139a6c9ae485272052502dd21a04c9a58e4a6d2523e73f75fea6b146306a25ebf7453965cce02348a29ef42c837c4f0b76003b3eec75e2ab198594f95d4b7c1db2c931186127056dcae604835d57ff030de26e7e04dd76c5930913a1c015cdaa0f30c544c3d5dc40c2a4ff152636f7e1d91538cd7f88f656545ecca3c59b3f6bdf49045ecc3acdbfd9fa29d971b9f18c6c0d988334c25b71c79bbf694e1feadabf7f7689586ad2f449809c6e191202b81c392cce8b65192ea144360711020ed6edd76da9d1a5c501875df0153bf6a22aac3933ade8181f37e36af43fbc8e8a4ccb266931e9ac8a5f600da5a46d2fbeea569056ddb49dee3acd38ad99ac4eb435d39cddc01bfdb43acb04dd5978327645dfc7df6fe6e102dd2c34aa304a905900b9133891a18cb431ac12851df34d15444ac63ee45b3a858a56047951a2be116672f6ec905ac4d2436343ed47e53fd97ebeb189087a8cf7004736725c01f0b8308def65a5f8c4fad14278871b04403165dc82ab0bfb68a813a86669f9c99c52969ad260c6868b5459c012d0d2f96deb0ec6bb7641dc6440eaf36a6f531524538f39ca1d491d8e16c616897900a1a8cc09547f7ef0160630f5d84c11f358d9f8fc75c80d23582fe6317a071f235fd06d98e607f7bc45ed5c91c49c01b53364f0b870f58d18b9974bd6e012bf5c7be184238af05c6bb122a7e6fde825f75c56f7188d7875ca6c6232cee0d990722b08272ba84094d524407d199540162c370f598dca15b2bc2b4920a8abd7bc20e0ac185d670d50208d5b70559a4969133079ea36a57a14f588c7d36e4112dc2e8b6e4849f4c9c84ad2c4b5c078a3455a8ce6523c4afa3578365b47795a8fd073fc64cc7480208ed13acbd3939c070a9477ea6da533c032a12d4e52e637324168cef6498428db62f55357f0845afbdd4ba2c20cbb1b95c685b81c0a2bda33e8e573bee8f003692d6eb3f64b72d9fce85bd8c1cf4b2fd4fc11392f05bbb95fbda20b77f73a71e14374205b34e11eeb705d072d9658e667ba0389c446cda9a428757e454301b62a49850f42ae544698a24b464a6f542a682639ae51a3128e1689ec015b544872afac61562719c65311d9186e7503d5a12ee841737e1f4f15a8f2fdde6c411a51d05ebcbd79a0f45686229bd4ab14039143daec566f7284beccdd6db1eb93a6d4c43b0b3a0e265487563fb372a32b6da5210ed4b9eb39e455ea2fff9905c1be4bb2a4a007014c4b29f3c5c1a892c043c5ca20e7746e4a1a902b79f4444a3921fa804cf84c5193cf3429b578fe492782078a17f43c414acd59a60c60a20dbba67a9beaa2925b331a401990084cf8b513dedb25424109b3044dcaa3e0f48d57a02c6933b10bce07870d2f1f29edf2ada2cd1ecd61d13b20f59ae82711c64a2b3b222c120b524d9b7509d421a89de3719b15ca056830ab2e8263a443ec36ad523cb11145de52ab852004d4215b46ec2f3370115dcc98bc99febd4d0b056b209bf4fbd14c39f3b532f9b4297534086f8aa3ca99552a5d6fa4d1584a5da55f0956a1d61963e057c06c545732bf6eaebdff870b8b6b5c1cafed19cfde839bc7f886a1da7ce3503581950330a84d61726496504a4578893bf1835230af178f980f87fef3a976b1f1763d870c8d36c360621e18884ba148b1b76d6540571f12f4bf0f3d493f9c4635a126a03842b5957f9b703c83b4a1ff16f2fd1b83e9418fdaf92be7bac19d98ec5333822db323d7e335c0a049e4ef64094bf77caa3b423f72290454df4bef8c0ce143ae067d71fbd0a2e1c5f5da825b0ad7f8721dd160708f5cd570969c7b38cad960e8f1e739c5783ec9089e840dd1c8d46b9a96b799dc7430148a8cfa203e0f73890a49e367bb4203e75ae8f783457e061a3ecf91f9d829fd0cf0b58476e926c2669a70f184423941c24142ada7c19dbdd899c6a787ef1b60d3b566c1379fcdcff856418c39812557ec2e256b580c7656237272eecfec76810826e694cdd319b17169121d98b2b7d5a83ce9e867535d9f9dfa5c3adb5bc2a1afa8e2a03046d3632894feff98b1008cb1b295edc96d50a530d90dede321b82dcc29893cb029da30cd445ea6012ccb7b559321831fe8bfdf0b953e156a5af65cfa0867fb7f885fec8b83f5ff4349513e2fa1ffdfcb9c6172b9a21bcb6247b4fe03f5f5995d9a4b3979c0f690eeae9d284f82ad4608f0973616474fa432138af23c7a740ad7c69077f63eca4a9c939451827fc951dfcdfad650fce30e814e7e91d00ce6e98c0147860853c560483d5d268aff1b430c451225c723525740d87d7d3253dbcfc690049046d1ae217c513a3749847bb06c4ce12d71ff0fcee39ed7177df2c01a392108936a39bd4be420a38d2a9cf03cfc5b5cfb283933424c9779d829308bc472a2e021e1dc8108a1a6eb40363e44b38ef90e1dd8e74742dfe5c14ed319ab0e623274d6ff84f1e951f635bfbfa3be896019d2c5739bb61a322dfc339de26de925366eea2ee48a275b7f4983506c7f6c8af0a4ca42f2ece3adede3f02f9785d6d5307c4207cd72c06657eb65cd067ad85d0b22b5b61a1191ce496f9ca8f63e448505c6494e487e2e862a9e83434c96d3b785bcf8ab57eef22f016559d1219458605710ad9fdf0b65dfc91b41ac9f3c12856f2b20bc40f0c3a14ca0d04ca83315270bedec63ee45c51adc8dff604f0146b6a65fc340788152f9db286e1ceb43bf9837a3464c21b5128792f250785ade60de4abe993c243db6cd8fa7aa7bb50c9b420185a3fa0705123c603527526a8b3f42049b9797cd1a44dfe3f69383e28cdad975ed5d8d0d888538e3414a6c4b84604a21efedf861e162db7dca822591810154bb6245072621c42060cffbf9301f2830e1e57f2c895a491feb643adc2d0431eacb861a91bf7724abbd58ee5e6e16c1ed2df022c89bf408ecf2df751b51e8b5f8c82db104b56951c5d48cae2966bf91dd4d9e495190dd3d85709f92db733ec03e64c8be1135ea7682c5220d276a8af900d951161f136b0b6469bbf4a06166f619016664f8997428d8445a5ae4b5e3950877dce17e36e12d47d24e27b71815f6bd8442ba78b985dd9e0113c9f0f446cfc7ad51b134707aaee11562a7b92a75edd276e288a75b2741d8762441de28006fa4ce524ebdd7f2868bf897291a68f92601266a745386030cf2ff8f6ca7bf10c19e50380965b545760bfc9a331c3621041523c615516e43f4715f84ff86d4532e7c0f429e0878cb185a568028759109f9eadf95a0c7e258c499bf35ed06409f3940a07b829e6f29dfbe51ba8c8bbfe653d3b10cbff621eb9748f6cd833a38176a790c2fa9832f15273169911860e15e786eaeaa9ab57f0fffdbbb0cb28bec146a21b9a20497ff1517edc573221dd532f6ee51dda82864d9ff2d246bfc0efccbf596a68ce345053d5148725a9cabd94da8c17cf38fc840678ffc153ac08327855ab3186c3eefd7f8b6428b83f00220dfff3146ac1cbbd332399de488ad97bac5660aabea0cdd2516a3ea51cf3ec8e4b573691e4e4cd49d1edb95011b46fc68f922d47b1855d4efbc9d498699db26bcf2002a5b795e748dbaf93250d4bf098a19479753e2c69268120585a5d4fb6f435866dfa5c6015f4a67cbeb972342149da4155c7cecb41fb771b88608f5d0ec6e78216cd008a0d715eb4e7adb906c34ecb30deb07748b372488a3e2029038cb95d2407b23b758710733350953cfb297bd29a26b66d25dc02e939658ec08f8811780a673df08f1b582c2b48dad50bfc0626bf283aeb70d638568484a4441f01af335d97fc720e0f3f04d2e7112965d00f83e224c1bbdbe7c8bb2b110ec75605eb2ac62a98630aec7ee754c4d87a091b66e7b1e8b1de64f347f39643698f40ffb00d3f0c5f86c60a23a8bc62d26415dd02963ef276db5f183bc0756f8ce763edd71ada63e3ad148383c7f02269783511df0eef643d7164ba454bf48bf4a56c0e42bd279c0e581896e0b558b62c2cd6369d6bd51dffeb5c9049385b328f9d134a1c995d012c56943ecc28fb20050cd8660ab82623bb82686bfe8821ea0e5b2f1c70ce12bad43fd631876a4a835f215712da1dd79b957a4f627c34c6f2581a19b45f1a990838ee4c0196f9079a5a3be77391d97dd1a377429821d36c32c31cd6b730a46be451dda17e83e61df272316ac6a2858571770bed1607f580626869644e21e4d52371884069f05fef06035a4cab1c051753e9952a67f77abdb278d26e39c29be8225b5e4fc33b18670b94f8eba9e81244555b52417396989d84e5203c5629d3bad3ac3638ea907b0a8fae0d41c8041d15ca6eca8258eef125ac0824cb5e49a1df7e4ae67add48b5b6f558dd934161ccf2fc5f40d493152256f0e19a1e77659583f68be96f4924319fe172b727791614b7a9cc11b322548a5ff3ef73facaa94419c0d7bacadbae9fd183fc673cef20979aa88ac5f0b12021a7a768226f10fa1ae51e0544b348f8be548341610320b2de996aea35190ce4838ec2610ea6e2558c3aa5495fc912067e6e3d25da894809af3fd16c366dd66211e156a89912b69278b1b31598bc188cb1d91026bf219f82cd4d0c5e6595298f54f0dac0674afa4b87727bcdfe0bd07307b87f22b07473db11e3ab915701dbff797060799d2c2ffbf1aba799f4f2aa059c8d3a1e401fe47740054be7a02bad4ca323724d5d9d2c551b211c2f8a3e525cad3ce80f92b5cb30270be520a580a0a66187299c89b36acd59f1aa8635317f09ecd8bddd93c69122a15c11e9cccfdf0e7071fa78420f35549c2a1b92c821a67a85a375fa901b50dea39ae0cf4a62a175ba8dd34e9f122630d8e5d7b40898ff064187d2a2e077ad059286d9839efb37c984a7b74ee1e7571da30b4519fdd473adc8e51d4cc011ed3a90982c28fcc1fb35f9b9b4a302a4e093ffb8e1989194f6358a4687b936bcd86e32a10c8a422d5376e7cae0dd2a638150f463c0e7b3b5e1f89a863868a9dc4476c7e4f9fc4fe239e5e9a0b7806004c5e2457f85b6abc62a76744bd559d75add8d8d69ec6532d2f1f495c8698d546b092431a3a45aa0c6fe2a14b07f77b51960bbb212e6d1fb4949eebdf5504ec784b4612ef6ff24ea156173d5e11077c16a1bcc12bbf4005c2d80be9bb8289d67a7580187024a62f79b792033b2b3709b4f9fd3cfe0100a78ab535d4bdd49b4fe267a8ddef7c01a0affa55221b6f00969d2210d3782227411e06d5f5b8b4c5e5460cd40ba0a3785f216b7ccb7db44b20bfa3332040481f5f5ed8021b17170bc31feab9803290654dccaad1f9ae77469a35bce57cd32fe9d7349b4f026fa533164dabdebc0e619a0e590da845233a7cf79a941d8954d68ea8358367957ccde9690fe2eb1961435d383b8b9797a12b4092fb3d98357ea4f9d366a3cd284e08f02085ed596401ba978541cd5fcd090d30145b084ccdda4a91414e0272d2b0c7f7d9a74902791ac734cf673f505b59af20ee10201962c45bc65c3df51f325e5ada924c887131692b5e51b082ef05d20f3cb2f0e8aeb056f23f5459b7f260d14eaaf495a38deb4c5430c9b68286688eab4d184514f766e87b478494df0ea3e4e80adc491447164e7b9cd777badd529288cd611fa6b554c3aa8b000154395dbc05dc0eee950eafd1fb2b09180b199ba88fe14eca6faae3ab21e7927ea42fdf79d8ab9c4b607a6ed48aed3d6814262f6218d397ea828b6e9d8eb71512a3ee0515892d84a280e5f4549ca17d8beea3243f6614d558cde1b076e92d6cac8f7a2d0e40f28555c0ec6a85a867c281c66c428ef0b5cbdbcdffc531325f5f2f633750f4dc02b5a1644a814345103a3bcf09604048776c44f3cbc326623c5a1898134c02857ac51fcd6b039456cb0def10b052fb8566c25dbc19451ee06ee3763eb00658054a6eac8e7b66feff613b709976d694208ee99e1081be5f03702bb534620e759c46618c58702ea982cfdaffa45fd2c89d47fb001a058ed157549bc6f0118768be5643fd7081d8202e4573162e70ff13b5e40d70bfb59d802c5ce03a84bb9ffdd5767dabeafc5cbe64aa02d7d98d37e83c71d9440e0a614cb2e9efdb4fddb8d1d6af3ffe64934f87c875fe17ec1cda7c0528c123753d00ce2c3f230d22b58752b46fd874e16f1791dc91a217e003c31ce2093f6d4fd461a54e545453cffbf6ba3c5375b8c888c6fc279589621414d036ed190c590512882b95628308ac35dabdff6f72b12576105878b757be57b79647e8f9352ffa04d99e005bdf82303582a113ff0cd95b80fcf20613a73aa80e9430d7ed9ce39234cab58320123ccdce499374bb867ac4591db4291479ddd5891d10ac0718b7fe7f610f41d42d8a134f55f75d4a9d7b491597102dfcc16cd309798da23ba91ce764c7e1cce35f7b00c94c15390eeb6c26857a4a6fe242f495b4f92576160fae8c0ed7d6d250cad80c2e780113bed0a423186ea73c8a17b5786ee17d0ba324b937def385867d218bd2d5f1df9ffb91bc18214a788fe3609fc18bb1f221cee5551e604c6a563ea275f00af64f64c7fadcb81f7e595b1988a6474c163f3474761e3033f0c84337ea96cab1fb3fcb77c808c84a97a41e81ab0204fc0e4024b7fa475c96402c477bdaf2e7a223e4edc76c219f7e77c10950af066eec3e76448c7219e353979e76a8ec8a3892c01e323bde4c004a599ac8cef03442250a14ed034c94da8ba20804310a481959ca1829c4c7392930ab52b523466787ea5b715066575d4a0acc36748c186ad683f0d025c7fad09660cdeee089b72758fb8d6d9c9d8222f7a01934c4e91773042a52070c9681c9d18a5a7eca6796044c58fa0aedf7d59e9f1ca28a756cccaae94bb81740758abfb3c9a895f5f3eb26b6ad875fad59234b30f19b4af7d2f4f88de8f101bb21bf242830747333d185be296ec27a31eb037156594a9f26670d890ed03acbd081e7f34213e93a51c381127d94a9361968d4194646d251fd632958152f619d92f49bbce6646c94773ca61447951cecf8e75b91d16f272fcd22b97d4fc6cad2f85318cc0d6650e3e4f34e84e0fad6357bf6e4d0f074e934e534dd9ae0822ed7860e19706422469a77fa6daef494d48e268064784ddfc55233b08b56d66827b944e3318dc075122d4460419282c05567fa58305e617af638deeeadece9d86995fd660cd0d6a8e979e514971ded9be756fc06b2bfb8c6078895ded62bf34ae9aefbdfe799d3f4f78d9be9d96e7641f9cb4dcae4185d74cbb75f6a002e470290a7281a72b2d2fb6fbc4efda277b685b3865f5f3a95fea08dfa597c32d3d803685b3e1e4a5ee8d3e0c97bbb20b8e167b4e15b6029cf607c8875995c392db55455f0edb94b1830ad7100fc0837da80e55910c7faf44ac5a732205a18da60c974a1126fc07904fd6c201eceadf5b4dd2d77f3453fa411d3a68a7f38bff80392f257be9d80bb510f6074fe1a049980c967f6fc20dd22d8cce579589b7b200dcef55c0cbcfd073b23db3861a3d433e31bb436fdf232d80b3d9c092d1bd0eea1dffcdc8d90b3f48662ed3cec83fe20e2afbb1526408e9484c5b371f4f0f3d861a3ae9175f973e6f5e3ec383c9661347d7ea422263ccd591c9eecc3987c84c8c835afd692c480f28f6eebfd1cf1f771ab4d43ec5c70a350ee3554f1155896931788ba202aaad8f5d3ad856c4863eb17ff7c3f2257abb9735827228f52e37867f4514f987f194c6f648b10e12e0cc4337fb1a988256de2078c378d701695b47dd5d4ecf1208fb5fba503d74e57fc9141b1ae18619c88997e8d47eb2791121c5cbf6baedf0e855d559775111e6581697d8c1d3890e276c8b8a3222e5572f1a710c13609fd68edc81799b7ef50a8bd949f9e4c1618625164dc551ade88293ae58b4419cc209c13c9beb8797a1449fb03ed4834575287a0a53e09225e4f26874838239936f7ea1aa119b33ccee13bf564b220e9b04e397281fb05ca21e835acd75c3c2b552d8d7d0e0041291ee0dd684dae63298d06db5f2278a3ad84ad38e687090c47284e2d33ce9e99d8c499077a4c2687ce4109be47269315519cea6732d96a8b79282417580d1c60ec9d873a05ed2cc5e9f1218d881700a40c8f2c55fb89c594281093707b48e946cc32994c269e69234b0203dd14858006830e0a594b9ca0074c26d3c88e9b514370f9e3d84cb4ae68a7420ee0984c36d54149d68af7d427b8bfa151b8a7fd100d4c0d1a42d58c4cee6432984c2e75b8e4731f3a98d36d29e9ad20c27d54310392e334273332f9d38c34983d0360846d21c9dc2b8740871dc0acf03d1712e82599631521c36a611b291ffabdbb12cf8159b5814e2546807ebecf04b689554b19bf4bbda5986cccb0704106d87f082c56ed704ebf7522d79cca241588239528644b31994b1f1d905e564f33cf0e17d944202e195a0e6750409b1a7abe19500091d6bef72bc5d6eb6a0e33aba8f7e2a2e3329c15a425bbd7a4d7800c8bb7ce9ae354b093d7d21b42d0d2197bed1c38b431835eb9262a5927f111f6094f4ea32ec4dbcd214167a3fa40f728454cb6d2cd50d776f093b5af7ec2ab1756f96900e29104318f225881f42a329de3f4755dadb4d5923d41aa348a988c6613a827f04def2dc5f21fc1745d2e9c3e12c1404c15f604e86fa027a86d22cfc834b7623277ea91690a34b8de1897513b66f0fe809813b18b5324ea976254c888c0cb6f8015936fb8e3e5a25a191bd0b2ee002164c16eed6961d2d98093624921ac5405936b805a9647fa099c07bf831588ccd7455983d5742551325899c8a98293881c99415e46a3ed63316304dcdc56056f870910b769c077978db507468214fd2a55b30313b857e784e81822c4b288115a42c0de64be818d0a5f942ab6ae812b926a97dcb05a0b5bd81084038b3a9192961ceab9b9e95fe4062fb089b71f0cd83304130718106873bdb0da02f62dab23a1e7ad50a9c1f33469a5983482667f5861155658112b0b4b2e4bf4eee736189da44c33ef2b8774c1442f342b99ebf12931c3c367d1c4cb1b1ed650559ec1bf63950682fd4f470bb915ad7a7b8525d79345e5ee57d4e90ef94767b7360302be19b7fbf532c97ab94d725dbcd53fa79ba32175b0cc65070d76408eaedf671a30f5dd6f1df0ee7b71eae5cd140e777c4ecdd028d6f050529bd99729dfa43edf5315571e0a56abf27eac1ab455565de6b28b94c758f594f8216c61bbf6b221c8174f8c43daa07137e8539e2ccd75ffcbbe6504c5482b5ac3fedfae340523c34e2ac3b765558abe203c91d4a8970d808b82c4ba6be5f03edf012c78e1eed89979888df7e142a6c3666e355a1832411a246e9ce321f57c5208ebb7520085069fa6aa7477fb33f609d497674dc810bf9c9ff7c675c01c86300a4284408b0c1358495382555197335f580efbe832b488b02193e086a74a72af56edc3fdb0cadbb9a99a2bde0624406bdced9eacb271c5069de81e1f786ff84e76585d27ac33e5dae7b3b57235d76eaf05da745b74570b948c025a25426c5930d8554d07f1a607035da0dc5e6eddfed67e8048dec506503eacd5a7914054efdf203143c60c19e8138ff3037d7de6e962c83e18e24f2b262efb75eb38478a023364a48340f6ece5549643c331db427a93bdf7de52a694640ab7068606dd064de4ccdccc2ca594524ad971ee93721d3b3393d899d9cb4accec2e3f175639b389dd9d76730cb3bb3bbbfba9dddddb5dba64766636e1af3146777777e7cf57c56f74d1751bb9a3cb9969dcccbe8e99b99b79e34e5d2479251335f14a2af4f461775dfeb87626a405e9e9b499c893af5351a2eb504e7677777729976ac8ccbcbbdedea41a3233333373bbbbdaee2e33339ba4fff6afaf37333f8a3273f3eeee7e9f38916954db4c2497b2e336923ba9e3b68e44bdce8a536605dd2124d58c702d52d4c718e344f11cb02fde5dea42b7298b7262929d328d6a9b895725f99cc703efbe6a2e734dd9257f4c8d66dde0177e591bfc4195b51a5c542412c9eb3cd3464fd9447195496f270d487aa26d1df02a3d50eb32453d8ae700967df9247062b1000492a0c9c0eda40114cf0160dcbc0328dfa9aca4a8a4b07fc091f0f6765079300fd9416c411108a23d4ecdf52842d6d3771819d03dbf1efd28a7d34401a2bf004debc9b7b551c0204e3e1e5b66f2fcf20ada52539d6a7f0778ef20e97df87bef00120d8f66b1f73cfc3d9047f72470fba5c130881a9e5e7eb71e034edfcfa98a90356605dd89a77e7579f0634dbe2efbb8df9e03d9c5aaecdbab79c0c21cd1708f50f9012bb3d50baacad1ac3dbdc9a7bdfc88f0dada9f3e1416b15a435d201f20a95faadfebee7734b8a37b0f3cc2f4dd1f517aaf1fc5aa87517e26bd07c6f4cbd2cc6f13d2cf832310040e9d517769ba9a1f5456d050c54d0e2c22d69a7e7e2186308257a906231004cf8f870f68f6dba39aa5d1f07ff65b7b462095813c2810c41534660b629421ea62e90da1a26b9452eaae72ead4a9a3a826859238a12096928226bc264a3e3f4f7881a48222a0e08441650559a09aa0fde281620bca0220b078cb7182e4d4d0735ca746375263cf8fc372aca8a10b45575263e845357aacc677233f1a72855a654b02c1a9f1654e7ca286f2b5440d258fec99f1a1f4a9f2488d32a84a588ddf82525b7e6d6a4bcb6b447a505b9eb6fc0cafa665c6cbf06a6690be1aa25419325e2341950134248b2a0328e70755c6c7f06a64b026111fc068627ccaab89414a5d914afda4744801a5523aa482505153a92055a8a9d4a38278a1a6fe715053af127254531fe353532de0424d4551839a8a828b9a7a185e4d6a77c55518cfe2d5c0184065f97d4265799457c312430f8e64b1a46563438342fd8a578322d5951516e4a0aefc2e51a15e4aca6b4d00824208122380028c08a6458e8d0d0d0a55d59328605173005a0190186a6632c5a826976a32e1bca09a4c383cd584b3052aac623555f75ef301900a40e0a81a76af3101e80916d06a430d4975fbed352540298082ab0e3524d52c7bcf5ed341cd807451b35f2f3294b642002100a1e0042c1fa2c101e80448343622545b220c28223361d39df23cb801154356e0441887a40e28d3cfd12f5dd231c22bf9dbb7100a467f54604c29d0149514ee7dd09fef637b4ed3d8c626897d912413fd6e5a3868ba0f8146433fe54bb9cafced1dc07d0ae8c3c7143eb49fbf349b04ba7e73627392f257792468b64ff91ddba7bc7f4acaab80472c98f28d26657b9557017da476567e6954fea3a80f95425140234ec021e8c906a676527e69b6ef5ff9542a5fcc09a8f29b942db66cf8c368e3050d7fa83dfcc3988af228af7dd9c77583726c2ae94f3e7a093891814363dd989313189e987c2797d346bd16a6bff4c59c7ed2175f31897de9e76c08a309f68630361199c8d12ff4128c4658e5460ca103ea1f9848f4f4a27077f79f44eeeeeededeeeeeeeedeeee1dbd61d03255aec1d40ff4c318e676a216463b8268566a3f5ea059a9055340c8e7df219f7f17dcc11fc123989334f391a069f9da6ba08f94c61f979b19c8e3877d0a80a99df94ba365a011975f0ea36e18749dab6edfa9f4944c4d6aafc6a54d48f4e4b7ef4cbea539f99686767292548640c36844c4859f235e6d6114aa9bfc4da859d96f9aff167ffb186b16f76fdf659f0ff9f4b5cf87c9934cbe2976484afa7cccf57ce04e7f02533adefbadcba493cf07e94fdee4f381f226ef62d5b64db183049e806cf3f9a0e0f65c3908abb6e7b6ed391dd090d6d287d1e50307a67470ef3d07a612b0cf3d0756eff7d783f10958796febca97da617fe5575654509ef43b529ea23c29e529b775e5db477d42c4d47d952fa4df0612a0f21e98d22a6903c3b6fde9574edbf61d2909e5628d5646a56e1f8f5626d66d6326eac649d4eda30704d344a37ed95e461334fc9893f21bca475774a1c093ca97daa17b9557f9d3774e52f94ecf3dabb6377d2eacda7e3f15abb69761021a2e9151dd3e1af1eaf4db173b205159c0d4ca6f4db17cac2c602a0504e9e9ef30f99367c0d2dc2c41fa254cfef46d55f9ba0f4155be8c397b6be96cadadb5b574aafc1828f2448b6d379d502ca6c5b69b2a3fd502ea35ec210d5694c160b0a294e6f554a9bd8232eda5bd1a7c05c170efc52aa9b574b496d6d25a19a8536b473b170b7b41b2987613673858b4211f0c51284ac12ca6dd542f88c9d7f5f870b038d351b136e47742a88e6757a6ab6261420e56e5a3bc1db89ec04c08f56679ae58e5818778157a2efeb8b6928fb28278399e0eaf54a4ee7eb55a3b70d7f1b04afee9eb7a3a9f56b33a24b40baab2d5f12c8c7cae99101a72312ec6abece5735b70d1a737fa6cf4e9de73f100fa85d4af961d75b9348d5214aa3b7dbdd9aaf86df0773ccdeaf685bfcb419527957978f8aa7deeb96ea8f6fcf23d17af4ce04eeb69b697efb284863bdb73cf7d0489700f08afd6c3a9f26b20c9e9b99cdb73d5e0cdb106592a81291d5e4befb504863ef88897f04b07fa449f782406b14a3e7f11f64524ac925e4eb3d673352bfa68ec81a1aa869e8bc6125d0fb3fad51d0fa9e3a9f2fb95dd7840f845be0c52a5f442cf5565c9a88667b1b5848eebd6ccb0a4461717551717264667d5c2c4ef3af2766908408d441b8acfedd33c2aa0f1fb444d9486aef580860d0488a705d1903fab0c8645d4c80d45973d9182726272a2d913749f084fe2dbb5fa47b7a25cc10a860ce176c28966a2996826dad52d1c9c6e75ab5bcdead6c7a0e8448992e5747ad9bcf2a94f27a6fcdacad085892f5d3ac9dddba56732c3d1a6e4b4ccb9adb9d81d7177f7a4bbbbd47e489de6dce6ae497777e99e497777d9d25dba7bcb4de9e08e28828c18d0a8454dd3b41863fb170ab1dc2c050fb638cad12d67a0ebf60b5d7870615505ba48aa5ba357d341a3368eea1e0f433272e9c6c26c8a09280f3ad45d2575b914411c0bb3ef31f60f70b212509195a02b83600a585da0ba4053dcd42e2b010d9ba772469a2ff12537373f7e18d5ac091ac6215e358f96f3040d35212e0897d3acf924a17ef50b23a9611c028592308be3d18478e59a50f3740fc7d33d7da479c01f9c4ea3a8cd9691e8184750832aaca001f7cd7d73dfd97735a0f1fbb3ce3aeb8c9b1f3fab82862acf3ecbb22ce3baaebb8eccdacbf72ce3fabb0f6da8d9771cd77dd6cf7dd7711dc77120560eacd1af35b8fead4b1774c617c241b7135082a476cf5a84608bda3dfffcce0acaaf69fcd597b5b154972f50f94b031aaaea7c55b3344d63304485a8da71cc7104f75beda4aa5ae5f8f33b1bea7ce9f9204953078ddae9e0efbe8bb2bad40edcee39106b07725f0f1fe8ccebd22b2499d07180725da017182149e51a041b25158583ca4f8a4a80408847665309a18dd475a4f5e64c22a73351a929f5e4a4c2058dbfdfec2d4ed0f824174c996d1a5722759ebbc9ab3195e69c2d4ecc39e74ce988b3cada132c2da1c4f6afdcec2feca7912c4cb7cfe4e9977d952e68fc8c230e498ad9354b6f9724f76af617b5dedddd93c4d320a071f7a557b31f0448dd97eeeeee5a77b79c80c62e3866354b65b5c1b088ea0d810a5ed8d8cddd5d902ebf8faee08ac25b0baef62a8494babdab10d25e85106f2db8daab10e231f6e71fbbbd5ded5508f153902e6ea50bb3cf5848af26d3316bb716667f624135ad2b2dab3605ddba845c4ee5ef3646e6e9050dfb47ce4c93f384a7dba791ac4c7f04f7fb8759538b2d80ab679fb62fee5173236ab711a94e952f4c2c2869b66b0ad3a8e5f6f3e1f076626236ae643ad550a93a92895297ff52491eb1a651a34c2ecca3398d2616f4a4040b52f71b08b3fae7070b9444bd1ad9eea79b1a4ea36df1aa7ff04ab64d747d1dd4b0feb1012569536a91cba147718d7ed083223634f18758194ef1c79dfe18ac8a43342bb5e3887e09c6b821a10e3e8afb41f743541143b02aaa5050f40adae160d501b80823181c0265e4ad82dd8ddaeeeeeeeeeeeeeeeefc8911b5bb1bfd69b64140b95b823146eeee66e6eeee6ef987fbfdc2ecf7b6651bf88e5ad7e2c8ec02f518bd0a91841a377470e9eeee4601fd16c9aa98f164c99c4d0986bbe2ef9ed16fc082821eb05cf18a01aa072f28a4789d00460e4df182e50bd4a40a291a50ce09a82d502f098c25e8090f6038819ec8e068e7891416d4541768470430b040bd2e5892a02852d8014d11020c28a8c90e5246d4640a96218aaa0be48214c038023dd50572c10d0c265094ba4052186941b5ba4052c46af8af9282e85d748c6af831f3042928276de2276ad2489e2f89eb485b2933c993a318a5a4455799995963959f30bb6b5a45518db9ddd999d99999a9748f2dd7f280998d8836eeeeceee7e01237777d36c89d4dd4bee193b336beeedeece2321950186a8761f9902c3165488a2d4a7f6a35c5b01438dd21450ba3a93191e453d88075998f8d3842121d8d1d1c9c7d564c3b101cf6bcb499264618c36136cadcde68887676122fdb87625d814888684fa47ff58182d67073e3caf586c61b876a4234d059a4b6b693641410b23848518d110e770cec244ae242e7b653fc87e329f8c67c99285c96cb228329ccc95b586863eaedcd0178c62443d3d1b8f16b01f9fe88aae85895ce76ccd9d993371a66b0b211686e88b23a3d8c2722c4ce43a3fae9dfb1c4108f613ba549785895b6c61faa5ab591b15b8d60cb8245e5cd4eecf42edfe4c0aca2f3faefe71656db17ee90f75d858759f84e2526bcc6c3fd1467f88830c6fed34500b9d99b5a27e67f616e0203be51bb1f86db1eedf7e6ca8f15788b3811dd5de8c6adf50e3871b50ccc2c477f9e2c6caf0c72a80ba7b45ddcd0287ba15470f48548ea92e5fd0c8011123e0842139458a142952a4489122458a14193264c89021448810214284081122448810213264c89021438a92545a99c4aa66716f26842eab3456c5981f62dc63f861ddfdf2d2f0ae8a369cbf5e957cad59d9aae4bb94325281a4c68f9ab6b2041a5d34b5838c602844bca9fcd15b4004790361acf19755add5b046f59f5ffcc12a97606cb1cabf009c058946eecf9fb7c7d2ab61707a3d20b1c3d766766528e8d6252caddfc0c1835939fc52218d5214ea63daa503af28ab5fdc2e67a66d5c47f24a267af29fda9da0a4a8aca05860a462c898d1f29ff65fbb184831783a68540f08ab4ebc8a2f4da374ba683cc29d0ca41c3e932f12c523f1c787c745c3aed5ea7e302b87973edbf1743c73cea9fa396bcc1a7ece39270d3fe7cc047fce39e7f773ca4c979f73ce19c3cf3967fc9c734e193fe7fc9f73ced9f2734e183fe79c93e5e79c317ece3967eae79c2a3fe79c33e5e79ca89f73ceb9f2734e949f73ced9fd9cb167ce393fce9839e79cd3c69cfef3e4a7c9cf39e704c09c73ce1e78e5fdfc1c2bc33f5f0533e79c32cc497fcef7391fc5ab993466789991c1c15ae170e38600d810630300302a195432d448a9210a1a5e5433c840e304fc3ab0fb3a13172f06aee340eee3bad30c920c8ee3667032388e7ed7c271dc0c4e06c79960702c1c578a918ac188b1c43c152d05560483c148a86ce515a492d2a144d1cd161705955b2ce3fce7c76145b0097358079e6c2626263e3d8d330fb5099a6474ceccd9346929a8046b16e9e54f2f8807c4c3c9e1eb56bf489e95e92adf7bd76156c7626e24e63d7ea49ade737825c39bde85ec8cdfd4f0a147514def4156868637bddb30cb5bad96bb96f0ea858b9d711d1c1f3618aae953c22c7fbd8a5e5bbcb830c4ab2fc2ce7810ebc33e42929589c187590e83fdc06026f04ddf54ec8caf3eec2aaae99b676564bcc9631da475da48357dbb7815e34ddf4dec8cbcc1e1c33641357dff5899162366c956eba8d536ad2d7835830a3b23756e7cc85588ad0c0b1266c9d72bc94bc9ab08c62bd4153b23836ef8907f10b432a917b3240cc603f3313debf00ac69b9e87ec8c2c0ac0875ca49a9e735626e54dcf37cc92da8f6a8a31100e524dcf36bccabcd8997963c387f18b252bb342c4acd96ac55a46261524ecccd489f9302aa19ae69b3e1e61d67cbd62d00bc92b4935f59b3e5ab1333328da90363e8c36a8a68f3d2b83f2a68f38cc9a3058cc81bd4c270f800f230aaae9a3133b338b8a60d6d496dcd41f15e6c3c542353d067626bb89ae95896ffa2178d5bde98558192d46894cff03b3b256bfc81a1f2e16d5f43a7626d38936e46fd04b87f046357d0d6665af1e78c5bde973ac8cbfe955bca2affa70866a7a93cb875d4d4f6367b220178d5919ac9d57266ffab8335951b421dff4a697c1ab31fd546f352bd268cdd0d289339d111c3aaf6675add7eb151467ba172b08d62c2e1683c56031f95e1467ba9b95c79ac5c1fa453ecc63308fddc419ae08879b56b3b8d7abf56abd5a3a71860bbaa1f36a16d76abd5eafa038c3e9dc10046bd6168bc162b018acca97457186bb09802caaf265ac591b0c2663301983c9d84d9cd98a6cb869356b7bbd5aafd6aba51367b6a0189d57b3b6d6ebf50a8a339b8e8d2058b3b4580c1683c56055fe2c8a33db0d006651953f63cdd260b01983cd186cc66ee28c560473d36a96f67ab55ead574b27ce68413574aaa669da4b7e161467349da80aaaf23358b3b258bfc8d7349ac53258952fc3d7f514c519ed26da907ee302865cc3aca87ec7be635f03e837557ed3607a893e9d11d50ca00c344097ce48954fe32bfdd7f5bcba5795ef128307c6ba9b2ff6b1587753e5c7208314035624031603062baaf2c1966e06f70a92c1bd62702fee1554e57f2c1c8a6b713a2c5c0bc5b54c5c8bd3a9f23fb5c18871372c3154cc14e36eaafc96142d8315a5c04cb00c5654e5cf58c954b6d716d409a128f80a610755fff6e1d5f6fe6d03ffb662673848b4e15a0f1f69a87ac411d951fbac4cbfe7f9107f4a1da452370fc9d3d1df0c65ed09ee9c600d5635e85f0f11dc6535cfbef8fb6c278e3066e082f6e0ffba35e41c563983fc5a66b02509f4c8a77378a5c32c12af42ffa9d3867f78d5233efb1ce115f7de5db1325ee9bd6f0326ee0b4ba0e7f9109fbbf81cf374c4e78f46bc85736d22a3c8919b88a80834e4a34ad4354ff3348b04f234a58dea7fd5b61881f6602256f91711f2100f55f7d6ca6c75f6e917ff9f2ddc596849f57731a2210f716c8857ac84574bc4cbcb3ecdcc3eefd2483aa88f1cf174d0a8ddc32a27c26317b1ca6faa3fafdfb0ca9b6861fcb3a03dfa8b8847ecd3accef16f9b235e2de99b95c9debf975819eebbe73a308cfc1ce32d58e5cf462f1a324f758eb1d191fe6195f70daa33d83d5dc4f323111111a9f6b0f77b2b7917540c1ed7f1e71cce5c91a78757fe4140a26bfbdaa779beee59983ec22f41e24c5bb1365ac9274121a141d5df060be31f720bb8a06113555e85fdf3dd092bc33d3af66dc0547761f83d1ff8b5500256f9d7d3b1b51b8c40e2e65d8c2ef6e86295bf125ef913a9fe51284abd3f7ef46f225e153147f6aec4cc12976bf4a28d13e192866f2ac7f8c0dfab0dcc0f63edaf002723d0acc7067a34c8ffeed2fa89807a8db636c5045452ad1fb5325ce7ebc02bf0ebe1cbc1aa94047790efef9e8357cbb2fbedcbda5039f3165c7792fb7ae6eeeeeeeb40530ccd9f9f8357536e2aa3346ea88dcb945fe03cd105b35657267effe9bb927677fdbb30725f986eb73f1eb866a4c8a03718c32b048edabfdf5f0670d41ef1170cbbf7be6b30cc91f2e10e3df73c767562f27ba2a67d895ffa14944f639593fafbebfee40b67a8a537f9c2afa850ab259088583d101503fc18150f93a3f8f223132b135dbc0a634feddef7ba60f881d8f3ed609554fda3502a2da0e17efcf8b1c5ab1f2bb3713b231a32c2941a3f8cb951a38de8b336e487303586deb6318eba42041aa5a4a1040da30f12d1271ed9fefda20fe8bbab8e9a467dbf7bdb3e22e406aa58255bcdd25e728bf945ab13474c0c2fa9f37b2e923adf77be93bc1db86625905d00768eb367fc0fd405dd8855f355ad6994a250a18a335f187f54f30a8555fd0b6444490d5575553ce40ef997e2dfe66fef94454b4a29a59c534221e79c534e297f4a26a894524a29e794508ce0a82e500c8c6a6722625e8591575fe5b7d58d20a90b6424a8b21777a3498d306a8c6199187f770661dac2f86722a0fe7bc3e571f8c7ece015bf94a0378e0b76767676767676767676767676767676767676767676767676767676767676765ca0b5b32a7a9d856ed7392074816270a42e500c7a6ac724949270837e36a0198d4451b698eb068e9501c317ab924aec8b4c9124a8b1bd1eb87064c42a241505050cfd55fda61e999880611355d8148886848e544ac1b0712a173c212cc488864a253064a1fafac18f0f8f914a228121b7ead0178c62441c1783d48ce88b23a398a6f91c4108f633674c8de16ca84b7fd8d57d1497bc32313a16abd26255d189b02fed445da8ad848d143d042051e794eeb01afdc7852c0b47033e742918f0a14f01c4876ec50f6cf2fccdc5b28258c0879e84023e74267cf8d09de8814f8ab0acd84ac087bd04047cd851d0f1615b2107532a96157978f8b06fb0c387cd839a0f1b0807f8d3f37713cb8a4306f8b05340f3610ba91fb61405e0121596c53604f890b330800f990b017cd849e8f0a62b96c5af990f390b990fb908397cc84bc0f1211705ad0ce9f979c8b25888f521bf60f5215381c3877c831bec79b12c3ebae1435e22001f7213367cc82988e18f4b2212b6dfc687d10900f8305201a60677aa0f6392970f6316347c18afa8e1c39883ca1fad5856c3faa55d3e8c3c34e29019f8a313cb6a23ed798b81e31295d78bcadb85ca8f8165394ebf748c5d272c125af8752ccb7ffa6565e6f3e75899ec532f001c602aa37cf82c2a3496e52e2be3cf1f577a35ac35000c35068040e000c3961a44b3b69f0580a1a60030a43e2c510fbde124000c35048021d5d1da706a7f0e306cd18c7800436d0730a4353c46b5ff0060d8023300186a3460482b18876c9aa5e510000cb501802115808d9653fb7500c3969a1dcd80a12603863487d751edc701862d99100b0cb51518521c84846aff0d306ca9d9ab5ffa6f00432d0060486de0a3fe18306ce9ef9c66653636c05003001852989ccca6f6d7c89943fd62d4acc9d32ffd3580a1460318d21730440dd57e154c9b010c352a0318521a60887201c3969ead7ef9699624ea97fe18c0b00545fb1f476b01438dce0003985aa8b42bda89921e2aa29100000093160000280c1287042239922471a60b3f1400116c824c60583418c8e2519685208e3186190200010000608000999919ab0100b7e70dc0c98488995c8065afa04700f784a02491ba692f8ba035564680cb387010c5571f6ff26764e04f244ad01c79203073012241ea5194b5a390911d838b98787ce04920fa357a1a8af1c9e1e1594c213ba3ecceb6ede508946458c26780465c78e8908e8d18f5b7b7796ce75159a95a6be028a913ef91c2d25fd483f4fb35028bd8b1170cf2469794821b924aa04a68df7eda97df338e6fcb660a3832fb19dd3c521a91a3dc667703dacf42c684461a255e5f01da4a31a777b0469eca2a2dc28d81185db3a527a00e2d6ef2f12d18f45760bc15049107b3d5d951673d75821a6aa1f18a8450b05275f51db572cfd9517596decde9bb687bab4447d3efac2e9acf00d89b0ac5ab48332449f302b096b8bdb2b52ccdd7630ca9590ac1c4a2a6a9da3d7688245a269232a427ce0f9717098f0eb21d1de259e0b706472c3e1ce4291d6da93fc6849083c5168d4280e7c0971b20ac6b811884569f0f2dfe95d3a71968842c500558b281361a6aa021029a49e2f44ce436835bfe840241c40638e75d35760596d845c8a62925050bc386c3d9e5a9af556a9ed167ed0d53efb464ce3292722e7bb76030fe50351dca20f51aced34ab83f7d059a44486b2255b8681f384476014b770d916096b829652d64e6838954dd55e8941d705c43e197d9a308ccd1ae90b5e6612a44cf014c576414e0e74372bb0f1a3f4e66965dfb4103db798b7c8e108223e8b61ae83a629079965340fb4710f1f7de635edd83f6865d1ad79290e978251a5d49fa404ddd41ca5d968f9335846648106c0b982c514d87067f739b3c0416406190597495eabc8a23fe95f1614a96e7e623bc17e18d649068e662e6dc179d2552b1b165e6f94d98f87cdb423760406a7aeea9a2f6130d965828490710627ce5bab39b6c56f50bedf3804fa640e6add2102cdbe2390a3738448e241f8c2f1b3e0e70a85f92b0a5da9e9562bc620c1b4003d7477cd21364d2e2f56b4a46cd30e0662a49d6cb3546d021d0d61208152085b76d1424131ae2ec73215831da36d8480d84dfa2215c3ad17d24b90fa0513d864ee09719dd70508f0b0ab9703401958008261a040e0d4a957ba3e0b0bcdbdf8fb3cc11a2b1807f292ab40704f9d28902cd598c8f18d065a6385588ff6896705dec55a023d2660f2b2ddd22e5033adb3048a5946092f10c39ed106dcede53495b2fb8f047a4cf2f0145dea82c535f4a1aabbb838d88ba80fed0c2643b7182fe0e2e7ea7944e73c59ba864acde83c1d10803d3738093c3b3208229fe636355b9434a4bd1fd84f7eee45411c11e4eef72e88b86fe5354955147d74e196ba2edce29fc9fc87e9ff2681f6367977422f54fd4c91c485e45791eb6a0dc1cecc1cec3fb9f2543ad2df9cbdba6209f144692f37631b655f8a3bdb38c9fc87b08c6511855d91ec37d1da1b784bc4c22524650b95d4695e8659a220024488b7338748a0ecf464f8f5e974bb9f4b9091457209657a38209471ea0943b40630a7804f2f0cf2dc870b95c8beca455d4b719be765cf1d34500d40c402db2fed049a3835d453a7ab728c80105d1e0fd718ff356f7a8cc2f604eb69a7e36abaf860d6ed352489785958740d34503dd5e1bf6029062fe72bd49c976e95d496c387c83022df1fbf1b29efce6085bca5c81e072ee5211991822033f951680205c0e822581e98dd44de74142797f0af1b7e3047a481727e8c066f66d6bd4b8c372f7d6f9d9d10c3b499eeb0ee1514f20a518d5aa2e2ad939a836ec7702a45787575835d699dab8e2d1b5a2a14d32a1d847d476e764b6e9d6b9b814d092de4a07bdd0e576259c44afb13d8e9e9c3664274aa84f32e7e1bc14819b8431ce86ac7d5a56c4eea10ac0998da63867d734d3d8f650eeb5b7d25e8f459a47e898836f71a6fd5cb3f5306964a0c7c6bb300a5b22b1fd25a49a50d43ff56097161ffca7a80b8fb2c857861fa69975f4ecec76e64d56d1a25d42abb63740d63b25eb18f9aa6d6fd815ca3e8fa0648759c86aff72f16e721ca1068899b52ac9f9afbcbf98bd839168bfb5a5b1818c424a4a5514142ed7b2762f5edd0537540962efe712088ff2f831c287c1ef3d5648f79008748929941b41e9621e2eaded3a4f34f2b2e12fe91fa5defc66206161f7f713374e0520b32748c0c290b8395d7d2ffff377ff7d4c9dbb331b3ca848a171ea9a57db0ac6aa401e59c533a376da250823f36da326c9c949743c0b20b32bc1ed5451c124d4a369e2c34c1c81725b3997bca81d9e3c739f07c88d0629085690f797f140991b1480f935352619f8a1a812e3dd31bd0debac37d19dd12600968bbe013c0560b9b80aafadcd88cabd208f741ef9d2764f1ceb33e0a6bcb21f1b1b5038ffd8f98355239a3a6dff52126b12c116e442d7f66f14489c9653efb748cffc67cf48e6f2458ebff5cce5e68ddbcf1bb5ffcc2326edfcdd8631f731baea85c756c33d647eaac8ea70fbb212f2b59b8e48665ee8205d45e083ebaae1a6152b1b176b52f5b31810b3a45b210f42daedf1f121e8b31b732fbd42fdb647c705da9a9a880fb230d191d635053a13af0bd0f62475983bb17cf160b4460f5dff80c8dece2ed9e953f25024f73eda035d7e272d8d6314f7c4e6d8950fdae4294d844e96594437ced4533c8566ab22bab13acfc90ac2cfe0d03d02e430e4b4c88b5696e55f2c1762312178ad4fc3c9db494455aca910b7c2a5a7e096b7693d723cec6c62e31e99226c5b7e42f8a676a9902bb2b57464484a55a8aca2c6f13f6d22576633ea46ee3111dae4b87f0e7dedd5a3418a8b7b62ec1a7db8e993ab4eac25be5cbd0ed3cc659dbc86b67bfbf66c6db96bcf6be934d916f1665ed362d30dbe78f6f9ce99a7b46841b6ce56a3859b3543bef633f9652989bc5a386a0e73a8160f3f5e35368b9e61ce9d5b049fed169f19ebf3c5d695d76f9af5cc843aef852afdfaf5b79c42b2765826c8f1a85e82f0c235c4e8979da9448de9f619632105b4d2b078c48205e4c503ed23016845d8fc08e34a0a38683d2c7d0ae998a84c2aa11d51a5a924401c35b496612affad9f0bb1fbf9a532c1c831e16969d5ac28e057cf56c3aa6971d900eb51ae26ee4261a069d879183b44ff694bfb69959246ddd6177a2a3f4a32a2eb193fe33a88ab5b1b4812e4cca8b780c50398f43945536f55c155c104d62bd7e9f115403a980fc01b2e16101df60170878b01a4c33e00ee71e20074f887588bfebef2955cdfbfd8b5f4fbb8c47ea5d7d72f7695fcbf9618afa4fef0ae7a41cc7eb82dd2d9757f3f78aaad8a7f0e11ed38468d31e50799a36662bbcf14a426497593eab4f610013907658d4daf9158742089999bc5402fd7ff60a0f9c09e3de7a4b80c5dbb46c2d6308b143c7435e92a49f7b922b6df0592177d37dcd21fa2366f2089ece6573fb87d8521b0885d887478556a9d2b5189abcc9e53bfde2a0b907d5b125139f7fa0803a81f3198534d075e5913a6cba039d5cf4c2ccd748a07cf933d407442ff1f891b7e3d35e894f376ebd93c7a4f43e24b39faf82bffeb52529a7303893b5a6a893dffff9f2c758a39273030e02bd5db0e22919dc6e3b7fe56a5e47066062877a4d415dbbf0b62347b92640a7307687e527fc9340ed40dd6f8a1bf3529799cc1c3e294940da0bf51020cf63f4f12e62e2c49c9633e6010058812c648f50ffbcf173a29983b86c9973d1d44035bedf7a322c2991f4b6283c12cda0188a16197a356b68b6ff735a36ceb46e41e443c5da05e5894638172701502bc3c4e69a7c90fc07fbd73a4ebc9022ccffb7314ed4cc25bad8681ccdc7ddc5b55375e6e398396f734765a6d72f485b6b4ef65d316a66d3f1e343ba8f5a2f0a5e8718b87e3f450652dabb7e4b3d05cfe7ec80b0fc657a11d556a85a9b2571c97c2d564fc3cfc15ab4116fe1bf51d26d5ffe44e1645490b4303cd547208e6a330e4407eb8dc42a67eeaf7ae279bb728d85c6812e98b512d1036013ab159e2c5afc6bee979dd9b3af59ff9ad383f8ff48b150b863e969e416bea3f29e860142c9f5669b67dcc20f2b06b1bde580bb199382346011a43dc3cde0e9f4548355ec7fcf5a7c7c2b4f2b29a010b2d37e1930ee74966714d0c43476322a3953b235c07615c614b302e3f9d8071e529d91e01083c90107efaef127b7bec7fa63d0ce306290c18c557b74f513a972d0e8adf89b7d778209bfb82d96dd0f90d833f28da7ccea288c4c862e1e428cc839eb120d2b43b8c725b3536b595a9354af786f280cf7d2cc03c652adbfb376701a35165a5d75c46df1a0f5e8f2e13c282d30bd0de3f71fda4e0629cdfdd1a99f3f32ae2e99e689ceac39b3333a8e5a01b91b5590c5310e37335a5367cb3d81e2c50cd0b2908e9b51a6ece0d0d349a42b693664da162d7061c8cf0571d7af1a9b926c2eff78eb72cbe36b051560b23286a5c9faec07edf6f12313413c8d2ef41d43530475b47e74049dfcfe8b1b0ecffaa4f72974650d4bc46fd06e80b8809444887097ba843925faae34f30f48e18bd0efcc1496c2a22049d23cf51375367db287ee7caaccb80b1a4520d3d059a52fbe77adced605a7498828ee59dc864d33fd4cf3546297ffb24766e4976125730611a41f2ee2b1d8a185f4ad58e1dc2d6eb7a780ce9d8e47b5d611c7f9f6fc552714be49cd7e7d631ff41172003aa298a3b5d5d24278413cbdebfbf05a17c873309992d01466a9c260e730a50b68ed4a643ca1dd23cbcf5b4e9c3be9d5114c4c32816a334023f19cac72c3c58bd6398383196ed338ecdb46630aad3ff6e19421a1cc06b7cc0a531b60609c66c1f22f4c5054560d2d84c716943c0d28bdb58bb0633345529be738dc6e00b6659d8996b18a8c4e1ee0dd5abe0664881fb2894ce5df4374ac081836d6b99943269ba473952e11904b0ed70925a8315d8407c6eeee73268315045c23d1aaa8d9f72b7452263a52f8a1611d1574c6f0fb76d44aa754865d00a6e5fc2fa7db0c4e6d766a8aaa8f93c529e2e9399f8f98be7f419029a4068b0281048cabfc37392b72ebf36c87fe4a212b31e074228918caec644f9a49d38d3b72e42b50542e8e03c230ca983e8465055cd54d1991db78efbaa1faf8c0dc444c6ee04c221bdb050015a284ea7a939310cbc337dafed84ed09201843d3e14a7a1de0c6f7fe4e97bf5dd1a47b5e494477f5b3858b5057f6701783b8d5a5905270938874c362b1180b6c70219714d52b8bec74bb3e1ddd04a549a2160b395a88c46947f9f22097d359730832a55cda23b86d9ca6301d3d575ebed35440798ce5805468b73a8d35f8ba037062dc13e2eb7c22aa59f92413d380faa27f66ee72bb56bb4c9ba7448abb376018c1c3ce108d2eb37d172561ce572b1431e3a1bb776c1452f07cc4bf8db9bcffac90f9c7c143959044dd5bd6d999b977d6e16016d037d2cb56ed0330f32f620b6322c62a888d8829141311bb30262276722c03f4e8d1bb58af40f530d2ebf8e83bc5f8562ee9be0f97ef9ff805fdfff1e2fd13bba023cfeda25e787b59eaf58761bf2d8c8a1577f1d3345a4d544545252d88d7d0637a1440b451ada177d1ff7f80893ee58914dbecaf45704f2648d1a49de16abc4d74e0c2d3700ef7224fc80126ba2b207f22d09d07b049c7ebb7ff0c138fa8682c180d51cba986e7a867f77d00dd22f42b1ddfb504a78abc739ff5edb2ae9c4cad5c89d4027c937cb839c3230c9ff4c6ca39ee73d1b6531f9e86e09df6fc1084d1e3c8b3266dcb70da21b23b2197e6e488866e47bf87484049793701fdc5740efaef9e77453ae0ba33731374deb3b2a9d98f553e6b8896c257b924fa3d6858b1b52a27a45161ccf2cf54be99852653b8a42900c5e9a38566406905900bcd3e409c786333c657c43cbbc04b5e1da89eff28620d09eb9d3683383a472027a0bed3d1cae3f4a9aeab81f6aa39ef8c191a21573b947e9d67eb31369b9cba1fc878891522995891fbeaeae265d4f8398a466d263a486688da4900369584cb4a0964dcd0a641a04ebc77eda0d71bc0dc17225300aea182281f73329e143eb58f3037d7ed594680de7bc1b4e9572c283f4125a4b8bf1e01e985a4d3db0771436000ff3f992973dea46ac6dd51f86aa3573a37b208fca2ba42743c949ff6f93a82d41264681eafd1192bb605d5b11f9e9552a1aa3fd978339708e25d3d63db16b84e108f20d78ff31d18ac181cd8dbb6273276eb0b80f1f0d609ce1702ce0d310748401e9c246c7a8eafb0fc6b67eaf7e70913e786dd4112e458e61a7601319e89865da08f4766b5a1315b8d7dd2dca799c60e408f354d5307e8639a400d0e9d72069de582d6bebe0b72523daf7488ce567246fe8e21619bf23c7104728ed06f8703af4c8cc302774b67006046e3a3214405f4eec28df8ce66c869797184bb3583614fbfa3533ba65784faf7498ffee8e162f5c89dedfc65ef92482c55b8e2d9e6806e3390132519d66dc3693b5b0ad86e73d6a8ffb3007adce14ebee88961a1d35fe98c007216917543591d38a96045d21ca0a9074b1058d0c10166f5a0e48214f87a2fa54ab995e32da8450c45d016c37091e015921064456c060a0568960520ecc419542470443c40b05bc6405182c2853846a5b9868a09d4210760a8c11bb648502349a85c20d8775d09a0909eedb258ff20bea172f8a9bcdfd560591509aeb2255c453392282c58d1c69720bed409406537718b60565b5c15152dd482d985c4b1232a83f441d120350bb38b5a14e1592bac12fb6315b74a5a5f9b9855c2fe58e2f6d2d6d712b3335fa9a87c66564b44b099f83555cd74533984f2da3f029b96efb70a17141e4ef9c33d3ad543810cc129471cff15e522f2d9c406f0567c9f23c855ff329fbe8a73c1c423596338261b2f04b14c8397fbc4a256d0ba8885726df043269544d2b4c34336bab1b413c11095392da428ef387f0de588b84e6be07fd4d5087de12da2206608aa7e030ee34739317a8be89b945f19ac18acae4a0b742219539d324bbf1dcfcd207269ebc0d44f6ce3c38796b61132f910ba7489ac5ac33b1a102cd364b0ac7bce39b90b9b676e104e6b2fe5272f9c4a8758a6d86eed8eaed488f1299ac9a58f5a3dd123f5d01f80369e67d1c7ea6afeb9337344b2d10b24fd510bb7ea2e62b99db804b239dd7603b1324d692dd641bb4837bbbf8b989b6d4fea5d439d2fd3aec3260e09e1c7d2775a9d9630976f2611e8525d316e7aaf2d9493e8050be78ddd14dfaca41b3d1ebaae48d7660651a6687da61022660e88d6160a94007132768232ac64c91d4f763f5fc2c35e99d46c2f8eb566e745c2e7feebb6bda82e806c15009882c3eb23de9029641f5c9709832bebb6e68c4d4df7d98474e535dcf5028d7eb92d4d43f26dbf6ca7b8a178723ffe97b04b252129360451226dcc825e0040da0526520f7b4864a066b4536c741d3bfee778953d284502e5bfedd0599354629401b4125d96dacb5efd155438fe046cadf228daabcb365e81505934a8a6e9635c5a116ec0539e261766727c1ce06e0d2445ff63f9d8378aaadf0f0ad671e8c955e93b18dc09e94dc87240b3608ed862425f8e8f132b39caae4de1bffed701bc69c8be1b4395f97e97cc5285babf31ff46fb6fb253614f9a31be52071fbd7121bc6732aed13b72b88926bea99e5d5206c6a11c6b96fa19a1f19c66718c5aa10729b5f23938aec8f81066deb230387c48db2ed53dd866f36c6585b71af50821718f4f3202af4077cf6a015cbabc22255da703af08c05a4ed6c60bfb50fa1e912d0ac10f29b8c137dc55ee64ca9c158399ac7f1ca1cd6d8810bda41901b1403dc92d2ace0ff61b2e0e4877bf0790ce6b7ee0033c30013183d11b3708cc010206a2a9d908b5969d3538539240710dd06388960d00348fab86c5bd5011b560debb18c17a778f81f3f6ee9973a098f7349143931602358e12341b20e62853b674d5a04cdb048437408f215a3600d03c6e6b4ad9c7742f7b8464909dbc3b28a11d8528e8db459692e398f24afcde55a5093aec095c51f8ea5dbb00a355622224285770241a79745d2efdf7ca21988c7aba2c42a49d0b2271903609f3577c92ebd14038e4b8cb15e01d0642bc1ed9f3f9c3f6f755f8f5a17c5bc7e4e3babc50f285011ebb7a5e89c850fc5131f9abb5e120cbdf6dac852660cdb6e45d359f3dcb52bd724f94fe485b326a5abca7f8e30e148b46521b1b8c32075ea0c3f7a285100dc617417f108a5f05dce8e8760c045fb258a590944fe00eae5249f73421d1943d565882a6d4b098800f3a7e1a6199da186126345892060293b616da02b1e1708acf48dca8026d8e2453c73de2279b26ad253b585d9283f6483c426e779479a650f417899ea9bb80aed57c2c42f2e24670444b9d29544ba8c4cf5c87b8b3a12792b7ec3a74d713c5faa2717323c6499380738dde5cd953c8a6da861fd0cdea8cf2eb483ca8227ac6b85dd6137fa0ff7b10728ffeb185c92615cddcf81cafe1becdc60c65127ebc87134c406679e649c29841a7a9adb84548905a9dc60d9ca5d51c1b71194ba1c78dce143bf3ac64fa6209914188eaa6b921ad050d940dd9792d26f649eaff06a4571a43900e90d64d1989349c8545c9c6b66fbeda6fb1f7ea7359c30b806478665d1f1ce8d97f0f35fb49c116f7783b6119070ccdede0eb178769a5b8e528251346f39e9f5b40b476a9a763aff9f95e7127044cbbe251813a53f5bd0c481e1d37d6215e8eba53efbb8d3414ddc113298f4ae182f6f5c16d52b080e7813012b70bdd5f16a95e0dfd51c3b28059812d4a78cb767116319f912bba9128bcb2533d5189c6f44b0cab122053ac429472bd9ebf936b9fa6b90ec646ba5bc7dbcab96dbc16b0d5e2f5d2a0b9281cfb1078613a1afbca41379b91bb5f09e4a0a56b1e6cb1db45c8dfc2f52e23462a6f5ab943571e3957c3a222570e80f58aaa2821a612db003dd05af791a5bb3dac62d437004604bbf2038b678c7d2d345d2e0764772fb8332e6e9e0490786ed3da39b14de81cdf4630bf946b2f1b55ed2ff91a9c372d91ab4495c72b1d3aa5bf0bc7b6e317ff781c9a596f9b195d77ffb861e859f9bf782877b36ebbe7407682cfdc3085b77abd59ca6965f507d80ab55913ca63f6c4190fb9ebe7e674cfdf67cb61ce56445f28c0024d5e1307271b2eee681dc6010f0766c6f4d66ca5ad8e43c5d2cea4a840bdd524e20160e97a57e18da7bcf9c04ac9ca25a812207cdc55fd3efad737194fe65871ecfa343fafcff9a691da096f857f670ce131bd2a0aa506a8120c3664ea413a428dd2a992fa1823f6a5e0446935b72fca521b18143eefd551a1dbb4ceac3d2398fd5c5cbef9eae4d55cb95e1f4e150025a79f9e92ea38197882e9195dd9deff7dd69db863326be9d1ed778afe99b111c361034f7271c3095995819ca921de49777a14f4de5b1449a05f041546646ffb20ad8a2d0be13606acb56cff966f8800470e3565866e8853dc61ed3c97d61c1d7c52d15069b25dc523452154d3e0de13ed7fdd064426a43135c8a7e863391131084b66b25329b620be0fd8c9bb07c37b6046ff088482bbcd64901668822e0d9070cc2ac14d4618e53e3e66a89c66c160580d20e1494c998c4adf6f4458ff4018616ee1b5c0bccb70457a5a4a2d4637a59aafd7559107b264754547b7d1c4123b536f999f23a906d84824ddf4b9a1ea60f90d679c0dc1b75e7bb6536965fc53e188403a5b357af829f8f5d83187d51ae974db41575a17a3f5db41feacd59cc166fdccd256f7c135c82a23b933913b41133978df85b23fb95dcbc087b135d206954fcd8b1f6d3ac027bfd1f0a430cd72e72f002f035732a64b02b17a259312aa2ceccf51dba678d8ea256616a079899766824cd983abf0f8e8608d9b4b91bc9bad04767a113b6c3188f2897bdfbab9ddbce5b8bb3c51d07451ef60c76ed97348e0debb10859dd3766bc7499f48044bbf568e9a2a935549e4f371c2c380ed5843b0db64f46e99e024f87a1d684726280bc2b6958d74440f2656b019916cf834442855a89a3865b12131fe6899356f403914fb33113f058be751820393c8ae514195553332eadd622b82ed93419e92e3a3e59a2f1a7ae8df81e56444ca262ee4dbbfc9e110871d0c619209a0d52816d4a2ea74b8358ed0c7690c9976ffdeaf253803551f2678b035995e6d616f856978729920a4e284ddd90579cbc411f4a04a8739c659cfefb2372b16578bd936be03c4f2e0fed55425b819a30e0c6174182f5fae530aff2ebed97f9dfcdaf17f066f30fa6f04a6030b54fa8245477cd24d3aa4f18c92d7c630b02eea5e7ac93f77d47fc9027eba2d34189ce48595c97bd37ecf1454218bf518dbb3f709b414395cef93af5538bcd3aadc5a57973a2c90b3a759a8665be5de03bac825de1c324803b9c2c163473573c649e1fb2d6b8a416fb9e63ec640b95477d9c2d40c686c2f9713866ed825130e24070668146bee80f80897e59141ac1166ea8d6b838827cbc96e96202b9a9aa3dd3963a14a769c8fec273d0c488366528a8eaba2dce01cd0fd370b7697f5cb50ee9bab08cb013dae2f44d922e7124d6fac50d50bd43dcc7c1ffd73d8e69ac88f65ced29b0a834e4de2d3c5b0f4a5679b3ad7ec18353c2a9b01c44194cb51d5f0e83f5dc686360063a3eb1e3b215b4cb28bb9f4b2e1e6cea311128643e956c1a188bdfdcbee79e9f4b86453823933ca15ea3af2ad604d42496ac85565c04b3ab3374a89a7638d7b5c61b306f5edba431425a632876160b46d3bde1049b9cbe99c8c8f0fb6b9d702736fb6660b5edc72324d868f0fc665e776debcaeca349f4460b933b8780fa8813c4e0f5bf641d5696a0a1524583eb808e74470ac25c39d437ad8d770bd59d98e932e766ce6493f8547db0a1f4d78a7975a25665c74608de35fb851d6ba79de05bda231b59bccd6f258f305ccc30b13ab5b83f5109d298d793d945978c08e262b36a5eabb1190b62693b1953045d1ad4748084da7b36406336c340ca7ae4c005b24ddb7b0e6196dbf3dd26e38cd4b12d1ce048461718568f868713ac3b924217590f39bd6978454443a46ab912901b5cb8b9e53beac5554104206a4b7234f1e698b9c839a0748a3511271037a9074d4cbf2fc4d846404c5d82ab4acc8ccc5c08149b1a47a660eaabfbd414366f03f5ca2c0a0f4f42472fb23665bc30ca2c8b7872d7ac049a8f74e0a7cdea10a8ad303e34b1dba822ca44e13afd229af23a5c4be481d29660723ae80a0d1f917a4f5fdf9ad6963c91edd2f4499b4c668c466f1a198edf4ac00ca6d17ce3d74fdaa1fce2e0694b490aa31af718431b0dadfdfb7963288376e6eb9331d35fd563f4ffc25fc030f28b62b5a406f5e1f1d02442016b2afc7673c0f06b015314ba2b6a263368ac502d75b663e8e275a679b2b3ddd051063076748bf50e1bdc3f868fdc43c5b6b60f360034a704793312553fcb4924903cf93e5457740c8b6f26e4be2352758d4d515174754297e848c5847b7714d1c86f884cc6fb4f27e84d203e8e4ad3f8b47b23f4df6d3c2d76b1a87d2364b571528602fec296cb574e8e6952184f8b2f0eff95af370347515699c36c884776725344275e298af7c61fd968021a7d3b6edc0677f664f7bc9d55a84ecb278ab197fd8dcc846b12054935c2e1927c9bd58a493c44efed1e6431bde46877aba47e9e3598402b18592d210c2ffa85c0de069ae881c30dd9c64cb5620f914527b1b0f7ec931ec072396ca11ed31f097dc994b85b7a4552cae19b3fb90e63646ace41d49e4a54e55373ba26719ea3168a5943588c9771950aab65d910f898ab0363653820d2f93b394914e530025266d0b42d1ea5432d04660f79b1ddd6cfb21dfd5a8229c3dd377e36a3eb67e2981a932977ad17adb7c79a0848b7bb4a29caa6e988b4cb45eabda104abdc8a10fe80652949beb6420327749f4d4eaafee30e523a87c1e7990f63a5abfaac6f381088ce52a5bea16c984a683ef83347aebd203165f470c17ed9e1bc98c6266183073625c32e79a18a13d5f7e93975274d7ea1cd2f5de3cf18deb50f1c9f451ea0a7cd1ca6b5a90f28619a9fd1d2956b4f90dd2c945b2307bacd6ece16217dc1c4584491a955114bcc89d9b1e8e1e98e15478cd87e6535b87541a6f68efb306d0540d146da032a29a162157734066abeca3d2a9ca1fac9f7230b6d72bdac25b3d4475914d4c4dbd2e433edd147c905186f5f75f7f8c010800bf6cb7ae3dfa69fc62b80cb2f52af0e82d2fb4564f20d1dbe250a8fac4449e60912d8ec484a2483fd912a7dbeac20d2f3ff0fa872b6bd5b21f51e8c82282ca8aa769502f18299c8b2d853cc33f962e831f2ad6f66711be2d0b1fdbe52cd5f3b79a34a1cfc85321adfb679233d40be0eeb10d5b40a7200222f2a19d5c5f3d7f611910f8fa882884c13199ed9c926014cffb9929fdc9740b95a1731e8232d64719b1bdd61be427ba63951002a7cec0a6a923c1b5e4739e1c5d9720a9b1b8e8aa68003f463461009153aceb909d69209187780c5b72152712d52dd34a48955ca41b3d0e40e20d8a190985b3bb889e367fd7c02970e75b5161f9e32b9e6544db34aa141655fcdb1191f2914317d4d7dd310a577a7da86af2b4d8f2825d050c6e3d6d9e5a8d872b2d050746beb6b89c243b5b63a2f5521fba27838dc8938b5d09f94b4c2a3c426197c85e1ec619817af6cc56da274d3de96e2c9ba562042587359613144148e7fae6da6e9fe6e1d23aeb878e71395373dfcf02ea6cc7b51d39a357387c9a6ae246ba77cb8b0107e380431b6fd127d4332d142391082c1ea24ed3ccd457b5c07e7aa83d7e2c87b3aae258d643e146699496a5ac640d4eaca14f212bc83d03358080168abf223520585027b05c5340abd06793f2dc606a8da03f066371adbff54917d1b890ba5f4fc6465381caba96d7b6a12299bb98bbe5e8d71ca5ed02d487093ce3b44e3065cf11ef383cab6992bde47cf88c042832fe890187f043dda0526a07af9248ffe53309ac3787ea56e96e9a0a67c71263389226e1809e4921cba2ec729a1cf3cba4a3cf29269fc40475a0ec20cda8cf4c67e9332074ec1753b2f824bc8729fa8d4ff8286ca69cfbc79f0b94444947a77b474afbf4c58162079c885cb323b3cae441cd4f1f149ce569a9d4bf9d06bd0c033005b2995866fc0f0021f82e975619d72190e9faf7f3e10bad32c4a6201e1c3ac0b332c23b22d6572491232c913b77f4efa287c3ecf0873b86137637bbcd7d64980f6400345477ee95ac5beb2acdb725ad2017d708fe8eec7ef1f1affef54c5cbbb994c65b7ebbfec9c44d537d769dccf21708a55b2b665c2808b17f1164e394f05d57882251b47fc9b144ba1588b80b21a84527804b6605693cc439c14f1d8e94bf3e8c87e4145fa54619e47e46c724a9a03dd56585e42e3083ed6bd3041e39aba4dc461f6c1bc34b697215b1a11d24f9acd5b5f2ecc271712d8e907dbf05738c5b9baac83822be5474dedd112cfdf98c9418265e6c81f67fec0089800514ebcd4d0d812c09843a4a6fde6881194042aa91812044ed46d91da94f99145ffa8347287524df86bc80ec21d893945eda3217d1d0986673d294cfdc50dd8361326c5fc7692d9c4b8cbef7551a57bfa97b9c62986a0966dafb15f486310bc412f0700211c633033b31903ba059e0ec7d4e44e7d360bda77190aaf5c92559e3cc4105d548c1f283b0c914f46bb48a3b3b40cdb0e29118e3e4140351c94182a78558bb575000b25de26bdaa5fca62e95e176ef85d5f1026abd6c47efc6e59fbebc74e021eb338bf4c508b70abae3ef61387285e3249c518e51bdd8cad7abc4d0317caf37e18e7cec0488b22439b993e42b8ac9ea0a037567060127acef1846018ee0daf9d0dc3107978d97a5978d34a99963af1c0aeb74e9e562584a633ee16e003e77ea8a1998ac2d836af0a9aa96599e53900caf8df292040f82da9fd3e65658c96664b2340acc3492c81da9a1a0fd6646a6c5295a40c44a25228adf2343c040b73d30f877226e435738d97415ab42d1df9ea1a80944a360b0080e587d04b3216af63684195d38ae3bfac18438f7ca5618b8890c3cf8b2b36d7e9caafc266059995460060fe4648f2ddfa544b64a75f6b9810bcc6a61310051ad0a58ab7ebc38ff9943fa3e4d5c94395bcc154ed38ed700aa97b00fe89b2c6c03c977873265a0dfa9fcdf135bacd2fb27814fe841f843bbef04a49117655412954660c3328c3d6180e1e89b9f92bcb747c7376a4877011570c52be2739c7ce384b3623ca6c7159efc69edf734a95d641ab69ca37e79b5a1ba54507fae506bb505b2626f47add66c005071a9c7415010c05789b7bef51ecd0130d5cb87726531a374b338431c74d8aa24b83e23139231492545a041e8b6c615a31fd1f9ececb4c50de5fcb9bf3d81d1e3d192885b854b66f551311905c07c77fcc7e4441b4af5075a47644f95fb34ada5e38c49b3bb07812f7417c06bbc69ae756a5e5863f7a59acee6fb1e1c4a77d0961191a556f551a54d1f2b576a62b6d5888690d73ebe00d10b4a69b8d95cf61ffaccbb2e0689ab1de50fd725d32bad14a5dfb43e8436c4406267e825e070f0571d34d8bb791602490df58012432ccb7ea3c53be225f5bb6dff3645101e159ecd441c2bdea76e427816c93905f8748faf470719af6ace36e993620007a92dbd41afe7e889c6666796e37e102a0f70248a4a011a02dcbeb33964ff76701d1bfd673274b94ff8f4b1b1b52049a6816325d3d2d9cab2c9da3a2d49f5ce5a56c14e404a837debb8951005b76eca3d44dc99fbc139431da303b825c3b3798441249f13ae1d44c58846640621136783083d31108a3b5b735fd6019d6fe13a004d144a4dc3581aea2720de5406e4a980ebb9f8d81284bd147899ceff37e11f76837768c144e56c45324b0da58f70e7e24fad7b372798fb110eba6e4505141d6bf2c9b8804adece21222f73311688f990c83cb39a2601d4a93625548cb46bcf6ad192271fc41621bd4abb0b8e3c3f438e4ae2e04af678af625c41c4bf02f1e6ee30cfc6741d38bce6d119648efbda773a5afe0c8974ed45ce5be2abbb3b2a0a1073252c61f3f8bc1eff0bd4af3a5bd56fe2cac468c439b7647d00e9108ae0334bd4cf6924711a84410a8ac3036190fa624b9030c381530f90e9ad01951913b2df0359f8a909aab5f7b3e2b23378df556fd91143cdf0277b1b58a66cf0a164c2c4be209392e8d5a54de95daac187d95f6b1f472f7240db1e35ef410c6608a848794e84d02fd6773f8a45e8d68f12ce4c0e9db45341f87d7df0428a0a2b31e8a63452fbf8208f56000e55c016965708872e268c883225fce9fd7175a4d175e9345e202280b8abc9fa72e078ae2c4e84e1835bf1ed0d09fc2e98792a57af88515aad67f9adcd235d0018133c07e5a051548c8e87ecb536e4926d2b4978ad253f8779eaa3a1ed04de7c6760a623cc099d7e892cfbe37e3c01689d7dca941be0cb1050d4b3ab46b7a05fa2d631962babb3b396b527b7451ffec7ccc5b25b6a3f6e41c2c5adcfb56008aa1dc54dc03b407114df20f171d6d839462898620b25ff5347f805d464e0aef4a0fd01864d83852103eeafe45b955a2090b06b0e0acb121d2c9410da149cb474cad48f4ab5cdf45398994a6f695516aaa4633adf6104aafb114ef06986b0c31a3340b89eaa241bfbdeb9f8f8c6af9ee4fa23bf39884fdb1411de939a42b23b111b20b92061ae07ced5eff9cef9fc80ed8129b5163eaaacc8085fb40c45b0b203a7094e081ab5d9b815b4b149ec41d2e44d86895e1c9a97ef06073f7892788b774fa2f54b0fe624789cf1d56b7bd58d653ae77464e0ffbe6c295a3a112e7c69d0e2dfec66ac52fee7cf212750edd9cdd53f5697924ba29b0feebcb6afa974c8bfb51f071909a887b61518c468f7618c774035a646bbac1dfc1d0342266e437b6a9819c721b2bc82cb412d6c099a6e94a340804d75d0e1e12dff2905511fe997d0822ad73d48056ebfc2630a0dda3411b161c829120c559aea9e467017ab85d21e86681fa2ab6f84f84e2d34b39319c4ab7e1b10cc97dff7652a7cd2c9733c3b38b18019628a2ceae54c238d86afae19e08c1f050611330b5698b6892214c1a9cc8ee05059dc06b002025f5cb2f62e29741e9cf84ce8263bb588994731719453202ddec1c85ad30706dfd58344d182b88ce5c220a320646facca5304a99c2b112e518a16c0c8bd3f621be780bc7020844e37d5191bb8bf932ccc1eff43c04944d55f4e3dcd7a5847a732b480c56504a61c36c10be8c43c88a8156098120bf4a5c2162117362bd5c03c1742954c5c951da25669d3a8a208881ac3b01f8c51c2d70fd43b74569c70b33ead364d2fc943004c2e33654148b9e622f2d228d482692ccfbff7a383643a3c857415bd3bc83e0d4c297c26cbc39221edd8b6f223890ad1c81475b2be3bbeec231b634b2f70726d31a53306a4095d7efe58b71c7f35aec2b12d0757f25808ef7c64bf437b1d58b06f885e7e8d6a98e1a47adaf9e5ccf54143be2164a1c19034cde96d682b17ec3435013bb4da373e30a07fbadd82527c8501af34d9c484ce5445d978b6b769a961380232a98453ca001ca6bce1d20f443629554899dc6ebdd4198004570307ab3e733aefe1cbe7be53b3fd3e6b13868a69d059414d9d03ff8f32ad46b8dc0f3ad0efb64916042a46ffc6453a5811b630284867d9d3821d5c24c3b3138b24d1bebb2a3d5450305e297578b0928bf57b3cac65f6454fa99ae9cf77e39f784b7b43b2de982a711d1351773dc5e57aefa838585bb8528d1c8ae072cffdfa85b95fb4ea236836d47a5eb0e51b7a6f7f75539127d513f442d59b60f65858f4e7ae5cff94a8b357d411958fbca8a40d4393834649feb317570a031648269f5a14c6c4cdbd25b395096cf067201a445b0bb5de8997818bec62ac00e68ac8a246ff8b615a6fa87dd58ef3670b2a353aed8ad50b4b1a0316aa6635e73ef441cedb9767c5b8e0bb3369d23f9e9ca278b66965857c1679f358993990ae12d3237635dace15c7650227e220e0f34058da95d0f004087bbca4d4ee108feee1103aebfe2d289450b9c93a338bd0f971278d6a30806d2805270050f02a7be4c06a2126d6239030b35e2977e5f4885a418d38044a9c055c7197e86b51c8c191a069a03a199c022cc7092847c10a7091144aab42dba8d23db0de8aa94ae1464dad4c7aef437b1bd9dbce90f4a523a6c682d209eb172c5f9b432eacfd322b6f9a36a0b6623fd2222c9f26eabea8ae2f639daa777bf7b865edb204c7eaeff53c1f171e671b3aaa82819ac82c61e08c15169e9702acd1466aa2e523c76371e4a09ac866ecbce652f95c868fa7c539dbb49d6c6a62f4962157dce9fdb0b154f9b1dc86d4448d9b6ab26f9b1aa8cdaa92a7263e6b82423d8388ac6deeaa22bcd44493fdd44453d6aea11348ff2b1b2d4ba5266aec8c989352bb0e7785c437952640db7307c3a5af05aa56e2ad87f636a04bdc1ab6b82a1512b7bc620b6d52b60aa71ad239dfbba4351e55fbae8469bef4b6f8f27e78e5e169ed301d4dbfbfe18626ed9dd8dada6f60e78bbbe86769c1c7b3b7d0cfafc9e41d6e0e73ec70216f6c9c48460a235d4c3105f55a0f5f85a0333d810a141860bae0693cb1bff7e9e496ac82cac5804a324a8490ad0cadcadaae1b6ec84aa44a11f3a6a40dd96ebaaa983fdc41c4782f9837ae95000022ef713be305062d1f6fad9686ffafb86e0051da9aa8ffdde2568a0951e316e15e292a6f3d643f97d44584c5100f1fa2a1796212efe18ac79d0f0378bbca9c027de8102868312c209f910f7385e0803f52f2e19c793bfcd1f99079b74bcd319e0fe7da931eba411f7ecd633da2e154fe22531b2da56a2a40d851e8926704000c9e840886d3439e492f62d8d343aaa8a4281791aad1820f75a3b814e923d9438a6849f0991982e90afed7f5d9500f1d1e12b3d7436d9b12bc25a9aa59e5630f1fba4d96a7b3890fbb31e416a3e97e9783294bf2d0ad471ceb1793f9bada417f92870c04cb7d892a6d027adcb433351060730d070bdd21177e3ee4b80d2b9f1ed7fb1a8a9890ff9b6caf03fb6f10a6411538eb7f1070864cc8a112aa61a917b17f9ab240eb376581e961ca029980526745ca266bd9cc5a85064ea728f6cb57d93413cbfa6c5bb246285bc4d8124b529e3d642791fa9d96d41945601c8a503118e87e490597dda5a2f7d7e9a10ef7c0c26e827206b4e5d3d24621d756701ee227609c1763fa04839ba5a10b2a306243591a8e946a87bff1b40c3919a874dbc8401d8100daa60b012ab8085b3648be6c807c56b8ac31dd1dff08ac0bef862863610f0d5b8c00e6d2ed92c1137acdca460cad181606a6f3b0bd751b34a1a91145c029a1904d97d2dfd9561c13b12189f062241a90c5eb95ac68b7b133628a3f22531ad9eedc0a53b76fba0b8033d80a74511ae1a2865020f003029b1311360e846b11e105132def416d414a3d2ffa620be36d75bbec4ab94b8cfbd0a74966bfbf571950416c1932409da52cbd5918b05885caac93f65b4c602484c2f56049f699a5bb4a7391b4e1cf75cd2dbf2d79c53ff70941c0d175aa49cf5b1b851386fb7588d7f11bab0683f36e9c9cd14f3bed3e40caaea650781f83d99c3ff0e86983793b0fe7815d446f15eb866afe17d7459a39681e285536b34c7d9e6cf256d3a40d9e0202fbf4b529192f54eeb56bbe949fe7ee038051fe50b8c9b5b8720e1354a0aab8ba1d58f79ad11e92323c6db28e7d104f54507ab6177a68c63917a215808d3200128d9cb9a74c705c895d55624a858c4b58c5adbf4a1be1b4aed30a06259475decc381309efe9a123900bbd57241e596d6ad64f882ae7cd57e4c73abd7185cf8f7cf10a065c09723657ee6f2837d1da1b1c29388cf841f2d9c788fd42cb0931b047324d69e29927be7b36c4055a792a23a7adef22f90955246127c94b76b0ac83b194fc2c7d5984d6ebd8e25ed89e2cf9194925911d5c5ed2c61bd291f1905b050b56e1ce7b62ff14b70d2c6511c2c85daa3932e6e2d57ebfda8095d452770393bb53df196d0d521153a4c2913e1b5717e9b7f4d8ace44d02836eb7f7cfc109ffb97a38904468dd507594d60398f5da228c5c8afb8997b45c787af295991bd1f024b6ba65ec85ff453d7527ea7c44c1ae0b4dc251baacd6e1e73fa3e6068b52788ea1f2ee1a409e17b3c093487e28438840db009aa40c8d7b9b67e0f2e12814c53d0e38085064283cb4ccd1f44dba3de47c8d0919e9bf7c5605b39699bb1080ad4654c31b5c497c05633c50fe8b1e81cb1b08a0ba85f5ee3ae005317bf457deff6ab2bbfcd6fbb17e6b454c3a4e748f6010761191fd232007d677d2972258a6d0a3c4c444ab87b476096c46eb6a29d57793c0375aecf87c51c9e726d50b0763cba54f7bc09006b588dad2429bfc9086b9fe209f134473cb89b34d595a50ca5c468e6a70ea824ddbc17b81575cd2e29067313d041885cd6203bcc702fa296a6d5a30d819a70369e6cc5d24b20b4119642127cf3e6556d98b746b51854187450efb44ce9219ba2c55ced982e23a02b09ae0285a9c4c141cd865fee95cbb5a09c0bf9e214570c07eadd80a7f74c89921129264cbdd6dcbbda54c29c980068506ab063526c6fef3c5a2540eea2834feeb26ee8cff5aa55a72b1d7642c5f1a96480e313fe323c5a1f131ef343ee6b5de647ed0f898dfd1326f84afccb35063482e764549ccefe88f6920fef194106c087a3368c8c85879675816e2a1e62ced611fc3360cec4db65fd85662fbc5f6926eb15daab69daca86d28ddd351daa7bd96d2ac294d83bddba6c241d93b167f6e36487b1d63ccfee31b2d9ca2ec87c4904df92dbfe5bf045123f7ad2e4ed4af81b46e498923bf1ba84aa35abee4206f1d779f970ef091185db2a0c1198d0698aa4e837d90d4f6f027070bf38c20e0c6b0032600a2a4971900eae87e72b1ef2659bcaea1ab3dd59efb91bb3ffddad22f8af447f3af18a3bbe8b52c573e279f2221d2be3f30a47d7bc0c90bded7adaf5b5fb774b24c894e1e08bb3113e3e254dca3dde7bd49eb5ed4cdd4e856f6a20e0837a3d9a0f99ea39e057bf1980f45d16fff792e2f7ad175b39b2fb4fb5aa8ba74dd37f3b58ee8334abf47af554dd346da576d3435cda469dadbb4a6699a96d234ed35ad06c5d1384dd36afd46cf51fa5cd7f10cc5d1baacfb446f21c5e9f736e7ebac1f2cd1b62ee6916b9d4e222dc589ef3a8da4933cfd11bf21daefc037fb39e79c37e44ce79cc5036fb2cc832ef6de037883a551353736ceba94ea2977b2ea7122bc89f338135883fdbc52c4c5b02c116ab9ffc01b9f3e27cbef741aece747863a9cc538b09f2fc348bca32732d2380b6fd64d1ac3851f0c97d24abf85d60a441f366451aae3d28701d2b78137dc534a29a54f29addf519c4a296dc1ea7f2d5faba5417db4b49cc5b56b97d3ddddddddddddcda34716487bd80c802e002e8c62064fae56332df47e441d8c1d6d2eb79ae288ba3bce40a1b695d3161b253a6d6efb6696878bd847764068501f31a7f329a22bde4a4042c69906b0b59519fa760b07114963d963139bd8c4debb803a20c4a13df69e05de709fe29ffe7c0b17eb21210ec262c2b0cfa9348a08dffa583f7dd17fa31761cf545aba6f02690f7b19ea63d419e15bbbaf21ed3184005b91c854586806bef0a1507b18841dff1020b3907f7eb239b317cd2b9b417d5c9d112657f4fd1a6a73eb77d6ea3d0d1a58bb773214277efb0cfa23763146fee11ffef999b35693b70efff00facc174e0cd7c4c9bb66f8c361b904b2be6cac5b0ff6ee4b850fbf1387bce0945a239dfb331c756e5629f83faa871994a7b182644d5726c9c659d0bd8686f680f7b6973dac31e006bb07700c481c5eaa920ac189f6ed50f0255ee38c90beac33b56b58e3bcbddff24f2e75aa73dcc5937d8c09bebfd61f06e79b7bc5b7ec55bfec5eb30288e74f76e65da7bf7b5952b17fb0b86fad03a23ace4662f7a2db565fe22eb9735394e32bc1f0c2ca5cc691433f91b6ce08de879fbefe4f292323d3f0c5007bc3a2ebfc93aab69b0170b7bb3b069529559c2a038524ad9c5c01a7df4b5ffa24fc19ee35e83a13e686784efa8fb46268a239f7b66d21ef69ce59d6e81e06540227eddc27e060a75765fbfd6c92e8a985cac51dc4ffa46e2d59ec8e86aef5c07452fb22fb2a8a219443656be8a898ae863e814f378a7f74c5f67a75ac769b017f98844dcbf501c912806d17f472ecfd080830a0a1067e191d25794aca8f8505fff12e5e19a75a138a28e95745f3fab7898877988cc64a99fe85d070989fa1075dfc866f31c7bef9f852d51bf6ef177e949af59228cfde83f3ee296288ef63d6ae284447f68dfffb57c7fb7dc6bad26d37b2d9695a84616c6fe00acc19e649b0788037b693b497bd86fd873b69db0582ced65c7496ac7511ff4b5d7a865956525d8101508acc1be7544b69d5cec9b0778039b7c9de462df481a151f8ba153409c067b0cc3b0d7b1623383e59b51fa145883bd5b67f5f02301a658f4d83f0c1824d2d7ad1e7d45da1b89b79fc8e876f7b06baf8b46fa99fa107d0fa11dab58497312258d52b548c45480f4fb4ca01604cad15e8b6670e5d2ef8fd407fdee8cf0158dbe69bfc88eec0e7c695bcac3d91c56b35f016ec740793e3ea2497b36b79f79787815d333e3c3d826b2f1b36f5e9f72d11f3f64b687fda433743724eb72dac37e07be5a77430704e48646891efb690ffb724cc6e2624c85793c95634aa9534c549ee762cf3ffddbac31a6996ffeb9d86ba82d5a67c5df5aa70b80fdb43bf0fdf1463c4fb595a6c1b0c7300c7bac5ff41fbfa82b12db0a26a23eb833c27776ddc5f630193eec9518f61af4d80129e3057c9e001d71c40f4744d58d7f3d5fcfd7f3f7f3b33ed073f9bbcaf5c754f513ca60961b91e0d034f1698ff95076130c43a2f67b94dea962a23225b0c548da7b20d38f4f6ae7bb7121e94b5a49c995a52ffa7065d4a9a1533f0ffa5a0a528037f5e57b50a378a6aa9c8172e57713d1cb1b8c43366af4f29bc926802b65775f3599564dae7761144964e1c845a9adb3237f7ca28e6c2dae2c7dd441026fe065a1a691cf592692aa84594ec34b9a26c8bbf22dd3c72a5631994dea1313949730305772da931f04d6907889cf94a029853c2c6fc554a54acffb375579491dab7c2ae9bfd30d6aa1262a7fd429bde45e7ef401def8cb6f1514310444edb00e8fc238e4f7e06095c4956d0489e42de07ad245c248242c6bc1b0161296911e2bbda691e09522f296381224fd8ea6004cbd78f93941e00de967c0fcf7723fd87af98fde0fb67809ac915fb2ac32c1c72afab1eaebd595de7d8d83fb5fe9b9d75ee8a0c21451b9f43bbac516a9dff29a5b97e7ec4e7ba4ee63262e4fb21fab8a4829676e8b2592c32d3dcc0a2ae9b1ff58a55a026f20843524bea420a4a73f481f490b207dfc52b4b1fb868c7e07be327ecc5cfaf445d3a3b00e8638e24b9374e2377e942bffb231d69fff426770ee4f3e67ad26d3f5d9b81f2de9a7954bea7098b9f5563bba1c99c09af9a35b2d37c4dd6a29157aabdd56dbad567325daad56744574abcda464b7dad93cd56259b05bed0574dd6a251479ab8dac8ab75ac7810687dd0cc30bbb1c23cedac09a7e5aa3c170fbeb0d7afba5c9aba37be34a8e1a8c7e7839f775e0d60ef891ea1020021318747bbf6ce7e6c6d23d85ba66e949c2c985511c7105e862727ea7fb1fbc22c4e7c448f3b7f626bc1f3f3b224326c121878dbbbbb949fd4e17623e3c2781374f3a46165c3b8fb892cb4dbd13428a694fc2be640723c9d41e92cbdfcf3a99154756773ebcdd77e3566cd6ecbff9d87b8d1a524924128944ea5e2688ef2f7c48abd5eaec14006f7cb3ab5e439d777efd1d3ebd7644b4e7ab233dd306401924e5e1f21b7759781b006590dcbffcf6dc6b2f2e2f2f2f2e2fd256fb8dba6f76e94b35f86b17ed4184b770a9b8f589f016a6dcfa177d97195e9ebee662617b2f2eaff1e6623f795d5eba6faf7e7feb435a8710e1ff486fc4af111968797867fc160b690dde89bed44148f3913a22fcf5b16ab51f1580762723fc4559e7ab8b7551be0b719a46e2eaaae4d82c6eff8b26eaf7e03df450bd07e839782a76d54d1d3bd047181b119183264c26d32502fa619d4e999f349ebc3d47b9af30cefde8ea9e9f3d97653f9aef74ce39ddb479c6f3743a9d4ea71c645996651947b7c9d16d6e39748b71f38ce7e974da4ef4c49d72e0924d11a9d4325db2961247a2a24ddb388e665996655996655996515abfd153dae56c41b8adfbe60b9952b37c4fccecac136bcc546b6d7eff5fa2eb4da6cb339e27a0d3e974ca41966559b67d967d36e9967119977119b7711cc7711cc7711cc73d0c672b106cee7734f731701c7d8ee3388ee3388e83e1388e8379c1c1e4c0bce0b22ccb84e4b0ede93f277777e9d1a5cb5674e6114fac1fa08f7f763919774282446722db68966539c8b62ccb280cf773c274dfcc99cfcda959784f59b67da665db0ced338daddfd3e9743a9db44ccbbac9449665d99c9ad623ebea36b3d6653909eb784e10211388c03c01fdb04ea796a96552693b4ba60deb8097c63a6e98dadcb42bb56932b45f1b559c9466363ab4cd46e4242f798bbbf8cbbbfbbfb8b4944822cf36cfdc3d7b77ef26cce8e9676fa238d9739d113efdd8a8e8463feb3e1c66b8bf68a76daeb9bbbb8dbbbbbbd3cd35eaeedb755dd7755dd7755dd7755dd73555b3e325dc4e4eabd56ab5b479a92ecde6743a9d4ecc33374ae7a473f49de334d8c35a4da691e525ededd059dfa3b46315b73deff092564eebe4b48286582749a66262ce39b36debb659b5ba69dd90ade39dd9f11255a3e6929d39674eabd56a4d8e9b735a215c1784a3db967133e3e69669fd02fd31bfffdabeb32ccbb220425a9b1415eb36b74e48909928d49c2042b299cd4c93228b449ca79310eb07e8af6e7a5737cb77ca23d70e3c5aac26e9b0b967da63d8d174a38cf21c1fb24c36f5f4136b681b606458d31f336cee3b72653febc42934ecb5d9a839e3e16bff73fe7cd17c219de2204fa22313d32819cf3160bce9c5c3bcbccb73cb73e999f45c9f47cfcf9f001a1450830d8d923148a37c7ecf396717437b1ce4291738074fb9d0b1aaeba6ed54343e86c6c7d020ca355d18050d9a5c2d6e32f6dfed7ccdda8fd6082db317b5db73967e6db1a577b12dff625d1ec6befc0b0bf326fbe26158d3c7b0305e868df16d657c8ced9f61e1fddfd12bec335d6b59a869b07f5eb9f698bfa9cee8be2fbdea95f4eb1c37a238dcfb0f8ee3fc6e9685c01a19245eceb1340ae34b5709eb584e591a8bc4aaddc74cb8f2dbfd72771cecaf1e5589da7847305b6c548cb6adb4e70e9dc513553dbf3239a93c1be5a1bd7fe429b807108712a31fbd16b716cb579c86d3924872493f8ad7790a58239f7b00714c692ba69828577e4c7d0d2341fd1862433c34547b3533850a3427cb63b1608dfc18dbe63edee334f23dbe33691af94d9e404901c4219ff3b6726588db842b7cb8d279e0a239da435eda750b4a66b11215bcf1eb404011c967712cddba576413eea82b519cd17bab51f01bfe187571348180807696acb09890781adf910dd2deb47c49168034f25975850f3fcc038b0b3805de8135d2af86f56ceeebc0d5bab6026be447dbad282abf63015324078237dc938034e7f9b0f79f3c347a391a3ded46af754328e04623ae7bf8d4c61b290ea98b23da63c81c753e726de4a39133cb53cc339dd495e97d58a39547454f7b0505d630ab9560b1585da5ada0c224c595df448f21def22a9d03ddeb408dd256edd922a4f791d64b8cba86c22c66318b59405b3d79cab38034abaac58442dde2ca2e905ce1405e05d6c897b407fd9928543903ed285fce3234ea1ca8e5dd1619bd6fd491d07995f624f7ec50efe87b25a1ac56abbb640808717c9c02204f051102ca02f4d2cef045729aedcb52e08da8eb91753bf08d61230bf583d1876b1f32d0e04c5f97c015998ffec45eaf350d199f112323060cd30b9817979612a98e38ba69996876c77eac23cf9534647c468c8c18304c2f605e5c5a4aa43ae2e8a665a2c9cdddddd845c3fe4fdb2fb2f6336b8468b35a8c95f1336cccbb9df132d6374ee25326e9254d23df45748bd327f69bbfe61edd65ec6351aac4feeb5543e12b6389e4a0511c998f2f92f978c97cfc259daa4dee93ef1803b35086e3760efb4bca587eb2b20cc5724f0ccb3e2c855996a758fe612aedc977b10c64b94a7b56ae30160eb22cc4439ca5751a49d32861273aa8fef379a885bcf94184b4d7bdf5c4e6c4ae0cc3b2895d9ca43da96425a77c7ec24f78d5c5d92ac9337ff4cf89cd895d19866513bb5c07066608289c80c28911bfec8844296d8d1ee366ba91f90895cd15adc7c254858450c0005327eac3afd62b2b71b317f2c068c495ff9d26f6f0b3286880e4e2b8308a15943bb7399bb4276db6872d0f5d1ece7828f3d0c6431a0f5176e3a8d32c60551775224fd4e99d46cd74eae5515743e99e8ed23e2d45497bd81395ef5765a3463ce5e39f8fa9ccb021f90947b9332f6bbc9c3196f435ec177d08f2a0d9fd07f1ca5de8f931b17c5430fee32a57fec759c478192f6332e999175ea65e5e5e4c9a34aabefce8243ed11aa24abfb3f1b8388959c52e75343e461af165441a30ce46cd3ce95fa8f1311f3fe667e2df6854fdf8a746d117fd48436d1f3f013434cae5e32ba051333e7e0d8d92791b1f1f48a3fee3dfd0a9978f1fa4512e7c94f192e294628cdfc9051aff62a38ed3d8b0345ec6daf81956e65dec8c6fb12ebfd996d7acc88e6afdcc728fd9ec2f8b7d8cbdbe868df9176c8d27d917a69d79b11149d3c8ef1d5992f7ed8eae618d78f99897cff1d9aad687ae176ccc7336a3b6bec852cd8e7eb3da4f5bfa16bbcdb02e3f63e7cbd8196fc3cafccbccd76055675d78928d796bbb7f6b7fc6929e86fdb76169fc0b2f429a26fe0b5dfc1add4cfc9275c106e9acb5375820edc5a7616d90b133ac02da8bef626948c00e1b437bf147d626873dddf0663e26c6d4a68991f427bf58eee3522292de911103c68de9e5b3108c022e014491380936828bb8f299144b3196e6552a5db1346594fefad2c7b0324a5fb2f2a74f29b9cf2cb914782305749f46cd974558d9c942650515573ef725ee4ba59f72836167e89d66d244749456a29178c184f0c654faf9922ea088a43e4acf3113ae6315539c39b9cec8973df79d02783387645ffaaf7932fb315fa70b985f2af536e797feda0e6aef6b2e4a5d0bcd6c518dc44b44ce7051553b17a4383c3b227c5f4a16295994dcd2c72517de23772544fa8bf43109d69db9308a2480ae3637182a08a50824765e70251157fe172132bad913c9e18afe2b7d7dadced2c35217618aa8254bbf4efab3d2990bb3825afaeb6158bea51de2cddea5944a1f1fa33f4aa5d247589375d07c2dfbe447d7895d0bd1f8d34e92f3a49cb8f23b481600a6586500865644ac77525006f9ac2a759fc9491dab62f7d9b81fab34ba614f54f8f03b484a01530c69a4f0122b30b2602b24ab564fae74d2e44a524df693af6456c9d116753cea449d2cb35c666966b7cc6a99156536cbeccc2c96d90b4866190e195fadc43d84d08a0b1f4248c5756158630580b049b487d6b2b5b46801440c51c444c15cc213ce9f550956b165a0cd20aa097ef8610a41821f4850a70fd387f9c30cc1544d1004310220a692ea3245609a3f78cf10c238986e3f2f99499860e0e75a3db9b0ab42eb9f101a00fb7eee7c76dff558775dd7f5c7b6215c3eafae8e325b6d8ec954abbb63ef5857c4257641c4b09185cf3dc6f620eafa0ffbf91a66e775f9577b8c314628e3cb39ade04bca894d0cc32216614b29a594524a221c07d1230a7bf8d51fbaffece06b3c3077ccdf877711f6e5978c32463a9954811ffe6343f8c23a88c31f6ddc8bb9dbdaeb2742f693175088daa790d42e00f67336cd84335e0e6e34e2a09d364619a38c50b3b3618d73cecebbcf86f2c83a1b1abb982d01bdf6e66376be86695866bf99cd39b3eecb01b3b083347671fec6e3c6e5cc67097a8e708312a8a00b2c4ad0c1122d7470419115d4c11645a8c2114d28c1158eb0d2a3a40455180a02132398620a244988c2092248c14209212841871400bd60882980c0822941244107540e8a3841922df0600b3140820c17207182229080458555ab025c382182142d565b007184223454018921484102245a60618422479a80626567950228ac7cb2d0e1000120d2801e7a78a288238680458b2a3b78f0031d54b1820726598a5024091fb8821182e08125841444d081872148c1c41254b0c0032b60c1c30f5200859220f4d004201d70d0714284116011420d8a704511257aa8c0c40f401c410a490c41071c4bf0808827b2b06089245831011b4061a50948d061418b4a1115dc400a44d882872638d881109200220956cca0891256564138b282236ce1012066b07385275461850f50b005134e0001218b1f1d60144ad042175c3861c5118280806a811223086d21044e0cfda0c81127414ff8a1c7094bb8c2848a2e98008109207c60841d4cd1e1025640e267092574c10229a6a8f9a1c2093c3f44610b14f8000042e001164070841047f4a0c8cd128cb0f2812b53845801abc891263e2801031f2b5c11c10f3c805788a08b1da8ac2861043cbc831a082194842d544b78c20e580a17b4ebe08200f07fcf8444149172430227e0610659d860e7042f90723adda8c9ea34913b8634f18150c1042af06b6c8bc41ba50ded453fc19a1804d6c49c28ea77ba31071c86c85800ea88b93efae967248c893237aa2e207a8ac4ebd2de1544e51ced5dfc15d65cde57a940ae1c26ea57eff5cc3b4360951c3cb5c3692c0075dcc038aebf5e08bc997f7d355daf4dcb3baebf81756071f9f92ac2e5ffa011ee8531ff253f5678e3978727572491419224fedbf5dbf374397a386d82f4c45285ae5f1eaf6b14c7e7f4e90eaf9cae075dac23a4b3a13de6698f9b0a9cc2c5dcfd39dbd9800407cd518526ca415b0bc656678309765bb77536b4b7bdec3ab63cb58309519a06ee608294ceb7087f477b47038bda23478d9a9faf82a81478439202de945abe547a6abf9652179d90a213388aabf8c4fe1d39177ce5d60d6d43d5f45e0c6a4fa3589ed23a66390f89abf6383a894e52f387b204095dc672393a71129fc49511da944e69ddcfb815afc253da638f1c995cf62158c343aedf815bddd3a8288df269d468c8f6de2818b14428c01b52e949db931edaaf44eade7edb7b8f8fed8d8cecdf698bb01cd999a53d769f287f6591be9f0f71016ff8f23b1638155b4ec3573c107f8842f4d0824ecb53710948c30f45ab0797832e5711872ebf46630face1c77ca8fef0f24b248dfabce7b6a295c84426e1edb78e88dfd9e3512ea7d21e507bfc9f5771394ba778be0f7d31f7f32197fbf9d0b7316c67fde7423f638a71e98d4aff4ccac3e5f33b148e6259898fd77a6666e6263da5515068feb5756e67b6a87e5dd7cbf9576784afcbf8c1777bbe5b37c47fe3dfba1df8cee720168277baf4e9ec49da63d6692ffac7d8b63fb5e7976f97cfdf2147b31b724d07026bfcbd4635fc9fb9c15bb8f177b45bf89b768383388885788875e4601c76645ddae3f9245b437bf0a955407b36ee9c738ee8f333c32479c12fbc75dfb38e971701e16e3520cdf62f908abbbd8b95e26e5fedf6cde3a9fadcc29978fb91fdf6366ddbbaaf860d1c9101c39af2900fbb1958b37546fc1a9101ede1f50f68bf812332682fadf69bbd3acdbafd34a073fd77f8662fec2165c00effbc1a5c7eccc608edccb7075fd2006811812cc1e07312f8acb3011b1ae50fa5c470e19f725c1fb8ef61c48da657391f48df4325d511741aee471c9feba04387de300a1a04916a7bf4631739c6c8541c91e546661e58e762fbb7c6aa3c21e58927a43cf1c41352a490a28988e54a25919b834d796c3df84666126173f061e794c77ceee3c085a95aa5494254e9e1df00532d3f3566bc78e5e4e849fef0f2f46d5abe24dbd4fa8d3172dcbb8fde47efa3915bf12ad812f563fe912411c5197d64f19446fdc01bf863a40dd1e237135a0ba8a33a924eb5b4b244aea168a516d210bc8151d528eedbc24b6d5fb746e6e5be09c81db923c01b23d5b3803abcc21bae9a2a0b13a2725b134ef7eb161753e0361d8e5c8e0640557cbdfa7ad52bedc55ba71569e5b59e3cd5348034f281aea8e2a7072c287c96b8f23f9b9d8bbdbf660a99a0a8b4acf7b441ec18aa01000000051315000030140a85c482c1782c4f2355f40114000f87a64a664a1a49b32488719843061102080100000000000888d00c2700e525544938b773aa304158c449017c17b34ab6fb633c448541c2fb6278ca231a69f4f77025abff6d08409ed8c4f47711ff1869c416bc7f54789a9b387a3ee41be37a8822b17be87e70715978c1a2869792ec13c0bab54499b951484344f419183caac19985f58d423aa5bfba007c210cbddedb2bbc15d58833a8859235bafe7a0a231c24970bc4ab4c0457f48ad69a900d4216b2350507de37dab6fa20a2cdb6cadc973a3a1b3ffb1e1c5066e69a8128eee45ac297e4a4893c8bcfed5f8ad9a4e35a7eb47a885688f7ae3c8894074c8d936e640b4040e59f10f1e47ea3e87684d6218f9a7cd3229b901df344129a66f441f1521a62eb49be122904a9af505348371d6e594a43d2bb79a5acf556b6a9e9549d806f960eae25dfda07146627af54ddecdc5ca54f1ad59289ba5288a28f6c52515f7917bdf435bd8d92fbfb5db20b9938712e05192dc5dacadd3f00016cfda125982b62159b8a530af538f4a1d54a4aae6538bf55c228cb437aedca466d29359fec289743f15dd1f3c9e4cb2b1471b255f3a26e703a80883e067e31516b9584fe4ad82d14844a1f964aff433655013316705882973ae639f71ae92e991cf7fbe752a4e72810fa8bd23d675e2719353d01e924e85b8078aa291902163b6e2cf49d3c410825bcae98f0e5fb1f24134c61a67220f560ac103646b0da6f4bca5c674c1b18aa49874ba35446ed59edb20f1fd17d703956f818fcaabf19e7b78986550d02a294db85dea6d5ecace2a20ba4e2b99e2f100601b7820336d662f190fac99510f93914d537894cd7272548535a3dc6661b29e27c45c82551b37151468f606161a3052ab63ef966e942a063c370884452d10c1776163cf06fb2f5456a811e865e01ea76bb7711dfee4d19c9c70756d72d090aac713ccd61e9a7b818c62964df23686dd3031487e72785cc7ae6291246418b068db86a5bca09572eb29f56d22a8cc2c4b704bc50180b9c2be4d3cd6f53540413c94411f9a18d1bd2df17eea84c83e8006c678ab341fb48ecc3cba044fa3c014c08455b0c1859de6e86aa9dbe602dc99c77461f49cc709027e788aa0a11adc2e41148a27b53fe422a2b3d2eb5d9702aa4a99a6ca9e1206c4776934af7d985c97d289adc31f4a0b97cc9a7457f563f0b40c02e59c5eb846724aaa15de187596f998c63095194b4c3000d9a042516eaa8aadb6a6ecb7ac6d15cf1ea5805c338568547337416c907e87d3f0b32136f88a56aca752c7f9030037e4ee1ff54bb9a377df69abd84846099c5a7460516c250201c69e8b476a1a50555ac25b97278674ceec2f4b88c53eda4f04cbc8904e4867973eaaa6219082a62ec3556f06417bc03560e86381c33e1152596313cbae4e5f635f6d83e453ce66831fa43137351c29e23291d76c9549e1046e414c30c5a223f252311745e84b9a33e9792210eb95076edb8b023115e55441ac96570585ba081d631bab093a597b90211087d385ca33ce611d0cab6c7aa8a33d6fe0b399a731817d0ba526825359eefd53b8614fdde8f2e0589316f15add2d102fbca15dad51bb62001f95a5449669b24e7327ee75c5d7ff0ef37fe60350dcc7a04309b31777471e426e36920b2bd0b5f732a4ac02bd73c42732f11d2824f8894e093965d45220c125cbb0f20d6f7b1a6784518b0961564ae95760f86b34a4478849b78a17c7755edd704ea4260ad19b3b4ca8831ceea384ca0ab6b1b8614788d3cc3d1c75e7844fc16e6995c516ae6c653c72bcf6781db280c00f74b612c19dc90fa0c181791bbe4bf42cf2fbe4d918a552e4ead7919ff707c4c9a305ce62affc69c4d6c58b0e6a8da60fc7316d1e180b72da971c4e1d6c130f01fa2d98bfc3002168539c8306cb7731cb96e110030d80f27a8e1c5b72ba0e21c2e204c11403e13f8e591cf02b75b212ed36555e7b6afb64a857311f47fc91a56c29dc57d68b170fe2b2a55d1db3559f1fcd05e2261f80c82fdcfe97bae94b668d1a53f2cf304c48a9936529ab1fa98c38c4da23e44c5249bccbb8b71b395553fac7517c2986432c75ed24133d6efc90814a6ea4665863fb32b7ab04e457a302769dfcecd8c536f34e65ff03a676fcc989b9be1e32e812e877212c7a043b93042efcc7a7524924a6421a99c7c5a56c8792d3f23652e12c6e0cdbee507cd8b8c3cb94f44c4cf371c1f460ad1dc9360f72ee5fff609fef139e66877d2e475f05f28c8945e19ae97a3a8d9532ed223e7c8727de1339e22ab1fd710a87c707ffcf3ed25e6e9d4742296e8855c2d22f620b1e18bfb3ee9f310593085dd3cb78f165b78a02a5edcf2770818cf6b939cac5e21fa9904a72ea1d71cdeaaa39d879045fc516e3bb7f107339c2affe287452edd34fcfb9246c95dcf46edbe117ec6ccd8db57f9aaba91519c03f92089d89e355539f36ea4287a43f74dd33ec9e0580e72f0fc4c272e87986de8d3e648fdb90940e7dce7477229a34356cef49a100d7ee39b21ba2000d2bf35fa5fd5a6132f610df977d34b528fcae8566a2d5bd164fa75a39cf5a2d8067eaf091423041c9c64d2afad405e6402b4e3c17e80ae147e08a4df8948f0df46ac38d0968a58486ba7c34e008b9e2d94b72f22d093549d24e0710dd106a562a4535c4678f0ff069cf8c2ea52369d009695c0ccad2de6854c8b2c1309fb00d9b2a695f2e4f6670516c2bb2bcca90dab8c6782a482a8b2643426ce9d21f5d3d3b0c9629ba0bfae577b482d0ee2f42227edb33a8310cbe744cdba03cf21a22ee65ae8c9c05836ffa5a6ae4518727a25825ef26e127b73293d7ebd57c7502f8ea9e1b978b6a247bc133b6acf52559ab6677783271243ed0bee8e46200de416e52b642e9b975114476b3330e8aec4443d9a0b1e58c2b8bf5a1b2383898c459e0dfd216d0ef1bd151cce6934c6ec5ea1cc4b2903a844187af698c78e06daab2c5a47f2a2e3906996e993b7a7febf7b8800a3078e15009aa46fc32f56f3b59ba988fd86f6a38cca8a913763add76646397e483c34a2596fb969125e6b7037b1c240f90e4735ca4d4d586905a9dc7fac9855b0947ce58d77107ec19289cd7db3674d60af8e3bd6b7f2bdea290ef3a4d6985810a4f14c93c6c16181d8614bfeb58931ef7494fbd094db9ef419660e7ed04f1c56c1f44b97f4ee80f3826dbde26e352a7b68f938e4f2ae98f8b5c9ec3dfc57323916358669c3aa4afc7dd05a5972b4065af9e078c1a6e8f9d60e619fe98e12808276bbf7c25a6b03ab0b5d532efe27d11c35086d032abf16629347f14dbfa00a66a960843cdf1b10b700fe8e52a8f312a1a5067ccaa618fd86892622fa40a863448859495a1cf1e3b395a2b668f7a179bceecae1d4c5881a2680acf1b3504f678048282e4e65a2212667116856c5a8549f87c295b155e86642de794eed9cd474e81a877b1e19252b76e88b39220b4d8dd2313067b68ee88ba2b1da517bfabb87c405b7ab7edca9a1c211ec104718fd6f19dba69579c4b706893117bb0471766ac768a2df95276ebd5ee9f78494640f729b6d16e2962cf775dcc31e0abf8e51a7430664ffc8fe40f2edb55e34dcf093de37f9ae17de68b567b4cd89fb55b831ca8dfbba0a2d7228d2a4430578551313da14979f8ade1ee696e1b0e977026dce1304fbec8d596f98d94f5e370b4a9da56a177908e14184c82883274a106628610452fe31b9e1174aec51c20ca0f70b1ce21379a803660b141f4c1f4f6ead9fc4ac6d40d310f708fd68c43577db014f9e85523ca2352898d8017be1a47892a17aa7cdd936473bb234186cc30e31bf2c10e6e3903472c4864b181aea6b70026ba480d1a11848b9de69f0c4bf4b4e0ca21f1cbf359295450efec51c22f4e30828c04581eadf59f9edae9549148ed4eafeff9e1854e13cfdc3368467aad63fb408c5771bf13f2a13f2c5861f0b9fa8eae3a7e1482b1fc018500ce9af72ded1bf677f3adf3ef449351934ffca22578bd01f591997ac2668f516a7dd456a4ea7c87eb8ebd602cc1d053eaa16148b2cf4ea50c855a212a859265b89dcf115043b6e96b96874b67d7c34e16ffc207d1475b0e6e1a5488d897897401cbc718caa88ad99c34f17629a2fe89c0ca772fac3d03292feb32194b94e86146c6a050f895d075de2f9defd9e6178232e64280782929d0b1896b24f2718d9973a75ea86cf84524982926284407f1afdba6b6001371f90519f082433ec7e6577dcf6b47dfe4b91ff276acfafff9a89a29f382f3f7bf2609b9ad1439e87471634469ec6062b13986a2962c2125c58472146a9ec9b24b7f98cfe604e266fa489325440c796727812d1c61d389e9732dca549398ea8939a08e9885425b5767693e41e2940d03961d6d2abcd4b019622b549315308f3d6176629f4c958ef0e2d3e23fb30bf14c8c632d803ab143f3725680bf208606812f6a28abb3bf46eee4d4e86342ebda0b76fbe17dbec00a80c898646656c26b6aca6d6a629d1e93b7a3d6bd29969f7048f7c8ad04fb40abdce67aae2211d454ce0010dadcc91e1a8a8103252c1c9b04380b0dd1070c668a37b64dc007b7e66729e640c2f506c98abd6a204bdc03c4c707c8f59dc09a2be0791dc817bf62f177dc7e710f86196b6ff8ce780588ded7bd8d8091e9ad1b12ba0ad5c85582d791089e77dcc6668cf1a520698c29b86f6011c38b71ed5928d0d8dc63c5f14f5e5f387a0784c7dad6d0866f4c722257134de251168bcf2e8b01f708280e81dca966c00c43d1d7356a405568841ad606eb392f7c34a1fdaf95486d1f42e3da52b6f7ad199369fe8a2b0d2aec30ae93dfa1eecaa4ef05f30278df43b6373889306d4bcc1e0f34309da09eb31331dc7392ee48812a5863406c2bc1f9b1066a0e7068b0c1fafafb86390d2e507e6232a7ff364d00565b5af4fc8fb715966570feae47873a759fb6518eb76a8bce94cc49072a5547dac4299efa1537ddc5c53fe25751ccc68db6d6b197694ed588c0cb73ab0207ba2072d8884c11b13829b5b44fb065a2c9a9104992cf8dcb7ec438078c31b1e5b35e4a18a542fc764d0637074e0314537a1a82e8df98d139cddc4a2ba9f3301402ab409b3f5c262e8b45b2e636d06d59047997059f52f529185388ab059a36da1f76706b38546494a91cd69a325c38b1e836865aef5d507d62a093a596620a9a0f07c5b25dd596e60e25b38b9a1025c4afbd2d8bc2672a1b1b91aa13dc154b54308d7096664db5e522743da7b2600f3554f308fbaaa9a7210b50b27c73c30512f4f03414e55828fae805683b608360a0a20629008b9fa4454a3d29d4f2ddae1cc2c0c6276e21419591ede49f637f5591e8971d4b62d56dbb8df883c5163bd1b0a511ea67c7cf4a2742f69eea5f40d95efc55bc8074b2f1ad6cbbcc583a39e35ad77b3f9d5c4d564e50df7c0143dbf87e9bfa34a39419da8c967528b70a540c43e4fb1772182069a7105383ba52ad1ed79d558b869a39ce6f011079b1b983fc1887b86a38a1a70019ed698e0516aecc980e17f00f8f84a3dfa8e668ab58667c34bebd79d4b1f39317d29aae94b879302abd1e27a56cc43ac1c11551f1cc6f35db63eee91547205eca9cea8de8d84f06a65a9a7f6e1359c1df1548caf4447924b11518d3c6cb52910251523e79c2e81b3d683cde2fe98f64763fe827189235418ec5fc8592ea2c6d6c641947bdfb71506f3111f434b433a700cbbc40896fe98deed0fe0e026673198124c1e27be4961e18e95ad2fc2d97097b8f033a2ce5106b34484401745e45bacec5d1b38e9662e5a6b3aa5c18b570bec2b04b677b267db476289b17faff6531331f38da3e0ec0726e6297ddde9da5b8e4554b29e98897fbff901f702b28ff0332df41e785122ecf39b07e27c162f797e699ff8890da1015743f7b9798211abb96bdd7882955a273e6748684d8abb95a575b80404234eeaf40b53b89e5af617b540900073a0a00dbdb83696a430bc48cf6eb967e8f55d4646f85c5b3b7fd2e128115e088410c61db53ed102c138eb20e087e90ce511f2b7244374f7bf4b54579f854d46266306f267009ae1a108474938712855f398b9685c3df8f88a600f5c2a699db4c6384c74201d6ece2cbf6e30d30edf475613d148e17641dde74d40d89365402e8d6c4d10de3e50c7031e7a7657142b44d4c9abf07937242a07dc248f27b56381dfe90b4555b1585c6522cde76fde943feaa8dcbaf15628a70424728582ab79575abb2d7f50d25e793396bccbd8feddd9ee2f7e06ed5043d7cc20a3ed7975af606a8475c1083a45aa45edc409a3791b9345da8a3eac2c6210472f80ec7831a108b66a0fcd6ae62bb3fbec8771f13efa21d0e3335217c112e61f090917b140ea559ba3191d596156f0a86631b95604cb035d29429cc5c4bcb5cee2df7dcbcf50a2ae4181be653b2a71677ac5643172453f00cb7fe44dd6ec9260da3f3e33705b7b914f5203d639dd002189ffc9811fc0ac37b6060a7a3ec67750563b4302a359549053b961249344060bd7925c389b8dec0a3cec1602e25ea7df8bd97224469016fdc7850634e7dd3eafc650194e4aea0e2e909545884a73bc63b3eda72bd15011d283c32e044c26624f612fee0cd2b3cf698a8857dfd5341377e7094253808643538cd010ac8bd3289a4cfcde6a4e935c96e90dbeedb9f3c77133fa4d6f8cecee1a1f749901a15c6eb82507dedcd6dea90543205e6edb4446a129bb3f88f03033fa8c7fa92fc45700deb2d65ec436714c519e35a59175dddc7e915721f7dab7f6b16ffc520a3f9a0c194401baf22e983f4376b45b106307ea29c5b8adb64966beb004a726c125b6afde3e59b43be4eeaad823bcbfde3f6151f13f2a18cdef6f2cda31e9c713a36f69250c814867af44051f65e05e5773fdb8fdf44e5d545b495e6d496c31df49182638394bdb912334850fa91222efe26d98d448eaa729bbe026771c5497268599746e35bcc4bda8c67602fa0f2258ac0472372e4bab55a50e1936c8f7ade309a33cf51ff9ae1cd2db20af7d686e985df65189f952c0a0a50327a4edd2fd31ef4b319ee727e77340653ec8e079cef965f973739d4d5bc41a117e13ad94e72f3663bea47e7a2e4755c003d1b2e615736a35e28dc0eec2e54b08c56dd621e1751392ee4a9044d71984e93f72af197660a4eea761fdb4046b2de13b045a2401e0ad3cfbbe3de477f82410f666bb9a9f116cd84d87c1de7b534e3ccd73c71b19cfcfd234b6d4b9fc3a7841d2942a5f73dfd242423d3fc67b14715fcd807fdb40ded501fcdad492e8882a42f47499b0758b7a8fc0c51dfec02065696f7904939c1034751de1a82241a44ed378b6bd6b19417a74f3c3448b3a36af53a12ab6a3ea147e1eb3d212df96ca743d2253690637f00cd6d769cf8b29010c1c625c376832e0bb51edecac78bc81e8eae14cbb7ebcaf1f16d312ec4b71f9d63b1cdf908e7d9a6c9ad75aa4c8843bcf0cc4e56d58dc5f9f3e262e7a89250840bd5662ff322ff23960166ec4da8c108b09100df39d8ca364941cc21c612d072fdefd67e114740cfb82cbb6a13557bcd5322dcc7123e607fd7306a7a99bf72e6020e313f23a2ca2e6e44967ab04786c2bada03fd926f6ce91fb7fd236c2da0ba51d2164b0266a0ee31030cfe0e8b928ba3a10848c1d535e780dd686980e82d3b7bb5f630760b03b60069388c5ce076916f885316ca7511ac67083c52280fd721f08075fe601398cddcb1396cefc43452a7a19a246940b9c84528ac9c3e3d87059e1aac7fb54670d256322ae5f40f260c73d80bfb42b93f6a7291dd2a1f0fa48ab66ab1a5ea881b9acf4c75d4042fb2289d1edc6ceea2f516acd62148ac673e1a223b5b4180e44c83b9a6e0afee2acac455bc75b13119fe916efe225759e15096e85617cbcc28468362d233a29197716eaa5cab5afaf521812574bf8fd926c2c65963fbaea41cbf7950a95029f42eed8a50cd815250510b15108a3f2bac085a2c936f53024d149f0b11b128d42ca483d33ae08a5709b5d3c582d9750d32740b114c9178e19ee0b8d5ccf2203134fe65f5e780fdcac403d793fcd972c204145c800494851b911785bd4043c3687853d076080b25bea1aaee2c46cc5e6ee3d9f106e54ef726bba6f5c5b5e6c476fbadd3e845915840673fe905ff7c10ddf65e66714ddf70bd23aba257c5eefc552ac5dad0769e8eb25dca7fd866b0428a4438c6aac0ea63c581b87b1199a9ae72422d71a2110d1e5e83200886be87fc0ab11cd3fd962638a6b27142158fcd09bc113dd22f4c50f2d9a6a9295168f21e8a8e3959759da4f62ae95c70f6b707fd1f21d70dc7536c8b5fb224782c47788333926312bff9ec31608f8b161f69172f6c003d1acc22cc2d090ef1309feb901053a7bb1b0cfccf40dba0d9fd461a46969a734afd40aa57f6eaad09cc9dd1317c3567b15fa77f725f8e216f741f4bce88cbc5ede3f5599ab089c1a062a747618ac3c387b1943e0b940e8c2fc14bafa6f8b06d193f5288edb13fbcb6eef490bc973078920efc724d7f021801a3eb6f4f404e2e7f9770402afb749bb18fd869f5d4e887e82b1e500b546c63891cd30ae994e94653af12b127d48a79daaca8c8261cc32b3348a4739863932f5141202f19b21ad353d615f987ed0c4951261d18e93dd8819b5a640aea91e3e10d525e116d295eb216a7be714050b25a2127a04bf33f8e41359436c4a445290fcd9628528691209c0c3835d953a044652be7d7e02358a883e82b25faaf2dcc6d94ebd58dc53784e5c163890279997710c97c06e674cacb7a3dbe53991f69601ada184586eec6db5c19b5c3ded3e0f7572fdba478acaccc98888e63f4ea477afbde9d03602bb48cd37e5daa55c8d5a4594124baa9a1601245e725acb0d1cdafe0388111a38a3b04772afffec5e08f906367ec5147f0353fc2b5084378405b176248631f3e690776d8317247b4649d907131d4f44009d7d8e6e5eb50d31f24542bf13bf1140f16b9cfa75145289cb54f49216253721d06c631d796ba020dee7f15c1564224cd5fc45c33585d8e63b67b0d2eac25ce14f3ae23378967b739c661d376afb015493ad425c2457236e74ce66d834a70e8326d1575c4181ee3824a2eb036690a0252a172c2291a944b9679582001369844f657bb479f3f701e62da253876422bbc2538e36d24f6d21dd7669db0e26846973a26921b051e37edc3d4ed234c0b098a4867d8b1b9b643ba0d730715bcf897a2e42f216b5d3adbf49dd810f09a5e78d95ad4757df9f1083c80db1d278119b8903d4b71abd0a33b5348526af8c027f23d3f7a786136403183c9149a25ae06ade2de06338e844a0f978530a813211a5c0a1e2e1b479181b7e5cf23dcc8d3b60fcd84a21e3eaf7d28d4fdc5c260dda1b456a7d7549b3e0f1249592635747684defc5472e5ab4132cc3a9726aaeae8600f1387900a7cf4721410cff45c7700384ca01ac0b0008f5d663b92c7700868d8124092200043c39c029f1269377018f99aca231ac45c75a003610bf311a3ceef26b323aa8b40a40c535983ec24226c8f3964be750d9e95a74b0f3f6dc4a118c5d6518f9c8ea108030830b01286682b3e81d22b9fe5043d356e01102c81817436848054695f5a998577179ab17a6bff95c77e18eda8609139f5e5a48c16a5b81d9212dfb3c49f95569d7988d2ffa4fbc5425a3f8fe2260edd916b62f4481ef26b6ccf78f02fee419eb55f65aa6acba630bf6c3a58310ab88b7764cca9ae1d6b500ec07b1a806e1e05d1875094f065be5e8a5b8ebb67220e8ef497e2ac8f7adf019b0f4d5f003a11c4838468b0108e887af226f6fb552af3f9e975c7948e4b0b7dfdde4a030c029b3d64debc2a5015f71ec488efa14b63574686ad0988274e04107a3fc142394f581c2a74eb22678b73f0449456a4d3f048e1576032d01af297385aa9f4a13382deca1b1053172b5850a549c6f2c0e08a0171d6f6313e8e90ef982866f46aab29635bc5fbdf67dc8accc2ab018a6c36d9283d894d7f1388d091e11da0a3d8a7b5d9b8f8548e6660e4007fcf1d8ea353f823087aa11e63b94209762a6b2b9268d903de0c3c7dfb2b41d0ef78e9cd1d705df430cadba19e4cc8c50ccfbf7f9d3661209956bf410a82ba68ec4bd1f66ced1b27e27a8bad33456889dbd721d0ab3cec4a5c905ce47aa2fda16e1269e3446350efb9aeaef004c8924f2aee4e8280f28818b3c3405896b53322594b83949cc334626631e7088fdf6fafde1e34a3e6db96080dec88063523a40cbdc910560cdbe8f749bb9189a27bc9544bfe3eb2b4da255acddc370ab54e912bb4b246f1b20158d591aaf1b8a8252671cfbe136c95b07c7db1e3bec20b8fcf5160a756cde9cc9d44b92a590c93099305d14f3cebf79308741a4226adb66f3208425bf06810a9b6a9ac3d4db2c98e2c8982a6a7c3c7b7c8dd426a47d7562ef6545e8b04bb4c1726fdd63411df7101ff1312fb6e95d42af41a6c24eaee727e10a5d8756506e90c389b5f254ade1a4c1591954caa8b9bcd444c030a88e16ce04ef17bccda30ba00240b04bb911dbc5b1f0f33d497aeb38c95ee12c763498505f07f5bd78ad0ebc483e38b5e8178724c2f7e2ce18b487cd9d8c628598f40998ad113e6873db3c2627009a0e59948b91e68edcac4981bbd2c687e79e4dd72aea753dbc8293a3ccfda67b6391d39d2e6dfba69ce33322d6c2a3f8438aa2a5e8b9d8f23a89a6b731704f19212db8fad274574c20b30a14cd8817e8f7715083e5f24280bbe868177eefdae7c8c29bd5fcd654a011783256f1a0a57f29014c4238ea531698a2253790aaa40a861bdc6b1d7c050511d0c8ef80b8dd697d88454e4550164781e4bb7cf8c3a1d23b013349f9a5256c06511ff69ebe2afa02d7a52488ddb7c671d093953d0a500c655299c9476993e0e870b4fd7d4130423830611ca93283bd91bc24205c5165119491d97c7ec8472dee2d7281294835fb71801570106587a4ccf00889cbbe3fb2ecb9ad1beda1a6c27e464d595a712204af5a81022fa5275da14f1ebb02e61f7b48adb1e942342403748cfab40e2d81da53252ae5197740892b08f6d7d00e914a01a3b351030169751acdd2bb413ae01ad20cbb238a1efa21cc04d88a9e6db5ce6e8757fe683c6cc7a32ada03c8294227b3301b65ac664007696d58c65d911083760066a2d6cb16a26d79e465fbf6559a41a421b6ef85d9ac3552c51aae3cda388bb1c1fa9e8584ec047e751c33431ca147e19661c5c94692bc5ddc88d58089e31ea9d6f6b94775c6ad47bc0d00e6a15c06fa999396ccb8af882c15820e06c87015b68f8612d34ce3d86125307b2ddbc2fe0fd36ae52699242f3ceedf8b7eb4aba125a5f2b826d68c401c968ecf3f5302e3719d16140564fc6bdb8d70efcea3b8b7556a16a78be871430e079db1b22fd49182ab1f84ca0b0a5e76307ee7eb7f914c06dcf9842a6ba2eb14c29bf718c080dc7d8d858f2aee3377a9234abca1ae0acec4a320679bbfcbf8b08a0913fa3d74c41e56d25f284d84d79f2d3dfc8fec613005f0e1bdc4e8036496f3430137f883a8d90104e9e4100894ac4710633719c4e8b12117168b2cae970a31243586d8aa07f572ad011154891814db40ed6cffe3b5a9fb965e9787ca563f796d39f0e28ad2a90a0464aab64f804e6b9e2e97970e504d7cf41c84f34fa08790089195aa546619721b5844195ebd523f5eea7d68dcbd29e0ae1fbdecc9ee0a4e2e374b83e98e836b1e01b78a5291d6aef363bc44ca6763a964fc310cf9876c438d8c9c51ac291a483f8836f65cbe2fe99c5456af19ae31fb52d53729d766273a28cc09ec343aa5a9eb6ccdc30dc010fdd38f2093c749d9180eb05433dfea84cb4985f6f5bf155e91c8de3365caa3600aae93bac04474ff9c4bbe653262a46246d727bb643b247855ef7a485d0d212517095b0994071aec4d3391cc8f93ba21a2dcce2b48fa2aa02334f9929842a312b6d6313ec386c4b87462b4c3a63213043a0ef946e308a4aec92a7602918d1dae6af1c60fca40617d5a7b3bc6f18e095d4d5f38c2564168c10905246b44bbcefb02770b0f0cebdb943d8d73c5a5f512c7d0ce7accf69c2552cebf16707f14e10a1bd7c812cc852004f9f54f4fde150d006aa6a524afd448161b3f75b40c7ab0fc47830bc8f31b774bf40ff23cb717f9cf34128333f585d3ce32a68ec62837ac250c550bd1ea6676b0d62411b157ed29945f6b211015b37f5446a499f112a8823047f85f95d339e02e3ca3c13b782d9c4c7c8b009113ec00f181c56c3e96a9a6f4faa1dcf95b0a46db39003effc339e08e524d3293a4a3c4a9c7a68c0956b2d503731464a48a5b78e70f5e0ebe0e6e93606d0f372be0d4d34afd916fcaea652cf6eb84983b8ff07edfc67de7c5eb2d6eed544a0cf5ffb1d9701f9c989fbbcde02ed7b404a75f9be211e8d92f072ab27c3fbc37dd66a8246d06b62d05fce00d1d89a80cc0a92c55c979adbb964f329ae85914b6ec7f2d37114ced749fddecdb10cea24e7b8bf33b24e35e462be452c887cc5442218298f8a30cfe9df358532d6a28f8ca38ef3480d8c6e991da4344ef97622479fd980164241d777264caba151f4440c87618a5fb392c3a390db1149808d8c39c2f9847f7c6386a4e1b836a11b1de58cb089dd0e2788ca66d6bc9e638beb2dbcd525388a21c23f912100acb5dd657d6783ae279c210a3fcf17490670bf566806b36f3d8e8fc4e7fb12515e2c50437d2126fc7aca39e7dee34f158d495173f2e278f97043d59699fc11fcb33ca9963e77356b7013cf2276205cb7d06600091005e1143409c9249499f6b288598b5501a0c7e5d4dfbbf1c49ac1bd8d5817271e1e50d5456af80428c3d0b828ae3a4aed9801b2f55f13af36fd572682bff1b2f956b51684553f22e67a7d900e024c7dd1e0ec9413188cc695e4f65c3e9536df4de2145118546398327515ccc370ab9826466017462018bdd5a1dddc4abb36d2fe2617957e55a4cb65241250d22a4cfdddfe64bdf0cc3e3ac0ea4dc561838d311bbf54de55c5e66d1a44c1c4f8745c2c73f7760a72379f500f0eddc5fd5bc940b946147a0c03d3f43074f5589c207810c79302dc49c0b909c2b725c80b807d3ca31645c154285c725d632610d0baccf8ab75b1198354b489024f540cb0da3420a2a96e5c2425fd63000afe7fe3329ae2a84bb061dd736741fbaf85a0dd72b8cd07f530fdf80a54d5c378df1532fc2f9738f8c41bcbef0b93a031095e3aa1b79e45a6b801a1589cb15a86cd07c4452faa7f4b06349a680b2e3e7562528f66184416341e7d3a405b1c05795216e594951bbe38e26bd473e9af19a25ffd45b91260d9cb87829ce5ac3d740e51b1ffb7bcf07f99a9312bd9ac7286dda17897ecc6b7dc9a65a2f34c6939645a5d401b5bc3c540bedc9a058afe63ea07e3e43a561c0887ea6292b799b810ee9ff3dc06bf5e16b5eefcd77ba2b60f56b02881a98d64c19c98aca90d6f69c4e51e68e69915701e64d330e78a1daf7781a4363a0f0180b8f31dfd879a08fb0267891bb9f8e5cbfa02597cd62a00b472c89f9aeaa0626a3514280122748dbe825fa1614ad2759e9b0311435fdc43e29f4e075a27ac990a90d0928cecde2105ec5d0ab59731d0d828bc7a2d1af1dffbd280a78fb0da3a3fe6e270e7a7fa55e1177fc4a4c46b9fdb19dea0f1c694f2a521e09ee0c62347ad5145eac0307a0c98e2cc13ceba5b6f8af715957ecd131d90ffb1b5bd898e03ec2843d6775361129556a8269b2e9ce314ead8d47f043a01746801a992bf9e7dcc07dec89975a7292e80d2c745026d456b2fb0fad4485da7702d2747b3bec84fdeb55ed05223d7dff9fd557bd8688476f2320ccfc482f9193de8da4499ef4dce80f46c0d8f65ce78522be8209641083f94d4b8ca5734e75304ea579ea9e5454a80fe531f60675c7e69f9315e60045b288229be05faa5f03675bb33a88a34bb6783001ffb16f4335d2858bc36e6885a7eab9860df3588715372d7e0b288ce3244bed694d377eff8a91d1a8c1a6d65016bb4d11df1b45232606cc530a74c92af989007544caafd4278de3264edccf68c0e5b4a4cb26a37aa403d151922e9e8097863af9a19a935fc7f06f3eeaf75f422a3443c9176ab0c75f70ab243d6a45f9f0e1006c1c14be50f02087075d909aa564988e58c6c08e309f557a82027c2625833913c7afd129ac0fe17736afbf98d3e4958cf3561336a4ce296e4dcb096ae9a3bce020331bdae62f4ad63f11c0cf99d02131bd2403253725e86db8f2a899d01a0761f4b8a9e7887ae64ebf975f99ad5d5494f87ec0feb969228577236c3d2603f054a10634ca0f7e188c6ef8ac858787865338c8aea2a8e8c6d555906a8cdb5a30814a6568ba327331861abc5e6d7d4d9c87a21b036f35570ea31b7e75185837a530b80e2e8b9dfe64423788b14617d7f846c23f6ae19bd3bd900acad7af64dff711984f02e3af7555f3deac377f3d4b8be51f7efde7ffe975bfe8bd1c1e8e2a0e9877a528cd1fff5f3460227c60cdb7bdec4a78901749476f8119ccb561268e0b51963d84d3bef3daf048075574436543acca96f65a10d587206022a8466b38cf72d04d470bb86635fd2ad1cd3562b9e1f76b7b6ee55c24df6467265d339229ef961b543f3ab9b4d8faa1cbc56cdabbec86771439caf0e3e47e010917635e8d3a356051ae734e403077af0a284d7dfb8675ad01986293dcc0cfadd139d1e98d0188b32cfb7fe7bd15bfad920b4499a43d5ce6e3b107d245b32298550d4d8d497da80042e46c480404eec479caff773e64af5f9b723afc330eb2ae9ad88ffb991c888402c8af347fcdcaab9912df7fcd111f57431853fa26894e022c0dd2945fc1267d266341da7cf30feb8dfd47f2f7aa7cde9c1f232938de578b4875c24176e9368233b0c3e6dc800012a8a8314200299b9f444203c879afc2e7c578399403736900a23737604d3d12228a296aca82feae6d9d4156b6db533c0061fa065807208a201ad3b85e738e4fd57c637009a68220af545d601ca37a001026c7ae0b93679a98ffea3ff6c067c2b042eebffd709f19781ebde3120c007201f87da22f28b9ce623fe007bedd578374fc31a10c850b0051f436b3882578d1873ab6a013888a7002e3bcfe7a7e43e89b9ff5cb877d03d5f919022ac4df3014fb3b6e214c3ffa761e5b8b2161f0024d5150462e0880bd7038f728eb18fd35d1ec55a29a0c13e30521116c42a1b003a7c24bba9e6ee54d76089008e6d8509d5cf064237ff6e9cd80e951870c8b97a9ef319271aa8d39e38df5cf238225eb6991cbe6bd9ce1e2ce45228fb58015e92ee2977487119d32cd2b9442321eb8984718113887832e89ea570ed4d0cc086eb44adb08968f236a9181a0163e06391dbe51d02d8131e3523a1c59ccd6b70c424ba8db8d9d4eb0d420af94344ae55a6c92bc667d05d257c8b4728024f3093bc29e74f098a3808449acfdd7305afcefa53626179cb0b2ba21979822e877d75d30aca5a245a751abab45e64125c5cc132fae12d79badc8bb6d8e961c32aa247f202458a49b810fd84330f8c1f58b1c9b8bc3ad653c9ffb35965daecbdd50a220d4f2570aa26ed3aca01d621a45b441d4dc01159c4962da5a2314dde9d5b16138ac43b68c1d421eafc5e07796efcd8a0f2c993d12323806b490a9314174579feb031d7c06fb81e826b62290c618e68bd6783d9d72e029a4ec85adae9ce301d21208f99018889998134343e6c6e8930496b0cf89569dcd6b7f7dd85301b912ab1e99d9c2510cf456238201d9270d2c6689f49cb35461f99faf02297f4614ceeb30470b810ea27b3d3ca8a09ff4088b6304fbe5e9450089dc3cdeea4ce09fb36b85cc00acd68923cf7a1d1a29ef982c3cd02d398011b2c4710845e44abd3113dfe87124915146129c8ca2293d4c682aae40ce8b3f399f7c95d4fcd95b0a6be41f0e042fe2e8101ebb854c943da70a4e98d03cc4a1e951a362599007a06416bfcb623c20405be767c71835f77dbe898727535662e0fcd40271c95cfc97d3c58af9b29b682536680240bd58fd2635245b82798cc9a3031b4004e751750e4e6be14b25ba7d28400cee337135808bcd898c9f00b2796e6a59ae1e087784add6114c4e0c875e44b4c31111509035e808b3e571ad2a1c30014ae46ee808a38bd82235334acac58f38ed5ac43bee6aec9350bf20733799e5c7ff44382cf6230909ddabc9c46e5d80eb6d258ac48888a4ea7b53b2b23aa37c40879c1908bfc7300a0270a1bc145dd6daee7aaf22c8e6f2ea0a03dcc82892583e88bbd4ca458e7cfceec293011c5938d644c375d415c6ba1ead3b152a99ad0aa794a17fd219ec30ada701d797c6d7f30cb42ffb0870e3d76787835776e0f4d9e10f94517389a85569cce378015d3870c0f50c65de1f47e1f8f5ff1e005f7fc99c9a690fe8248454c3d64f3e57e42c7bfd485e16c1f7680fb1bcf6d900c41b835b0eac8ceadd51319c9798dc5d6172783101c685a48bf621f01c0c2263d4cdfbdacc2738a3d6e95111051a2488ff83dc6cc24bca56d9b5b03513556e05de61016eb8956a0649f3066938bed04fe0f84061efb7fcdd37660ee567855a0349f9b637077d1c09c095f776b34d366f489ea031fe41da1d1993b3295d300b62fdd24b62638dce68c531178ff545b9b40347eae8d178397381e6f0a47a66c4a26a0382416a1b8ea5f74e3c73a2ef3ad75b21c52877ab57bcd4fe198c0af8bd1a7182b82de35ca914f95daa2c3cbc0c252de80f8a2034e36afd52cad59b312cebaffa6271f3d31df6ff2d18561ed3bb94ce4a8c10691402acf1cf8801e109b79511d085e9d57af1fe2ae0bff918a03158feb4c0d9279dd83d47f25110003b6f44f392a853c152dd8c2511d6135d515727df3303c6905f9291c63fd62895c3f4a3a71c8eec7f069d3f53e13b8c5e8241f024776dac0d1b87028fda4f0cba17efec07b46a5203ead133229f58df281e5d89e46e2aebc5f3e744aa477b3cb8a70fdff9a5dc3cbaf9e865d49b882bd66ef0c23ea2f2b58e2fc76d32e560e4fc68e45ce13c90f89e2ae4b002716648b5c116596a882828d560abf80490ddd30db5d405ce91a6b3194dbfe7599ceedc2c90020ff15e43d94900e766615612382c4772af96c385e2d1039ce008e61cecb5cdd7b39d4c58a49bcd9795f7658f7baeb4aaf14fe951bb4206128a528f7a179b0ba9d1e2418b6a78b9c7db9e955efe7b5137a475f1d4d9d2b28ad697ede23d8ebb657ba03b2eff1bf5e342c68469d6a29869381b3089a73581e148815450b05336862907b18a78cec6b1d7dd0656ef27978619e876dc9f24d710eab7cae98391055ed5d118c26c4b7b1da96cdd4d11b74a7d5b35db38f95525a3c1abf31c042175b623d3321b18f5804e1f961487766d3dd08427f4499707ca18ac6bd16e3ba07a5d522ef6bf8de70c2ca9e60c32db32bfe6b86dc5511f0793fdb201a3889ba30b486effc52ba8d7dc0c191d5c12c59cf091118104952836b2c260596a621251a6af585a2c133a39057c68bc00cf2091e328a053093ad99648af3ec847da080891e59c010c0914a804c5460fcb14542c2696cdc1a9ebd2fa0d32c376d73e3702dfa2e4d3cb300282e49becfc19b0415d81fea18bf13b7be3a1c88c9327a89fd4cc9102221ca4b022da904fcdaef6c55860edf0e30c631c29261500c67181281e1c657986b98531c84f6e1425903198ac97dd827b1d295de865b1f469c75601c8b20aed09adf2253430965225f66561bea70a4dd797751fd9f4df6988265a04d347fcc256a3e733a6b06bc7b1e43d8210db95da2a102ea2b4e6a33179750ab4a012788baa19dc69706610d463e460658b2d6d1759eaf6294764f4463ef5775f1cf2aedde2a0bf6265809778b97361336f57df5c38a15ccdf3504a214ce071a33a555f55f57c186bcbf58c7a3ca983dab689f524dd1aa3fa55582dc442cfa487f3208e866a84d2220ed39bd801114d12958e7014e7cda055060f253321281306f22016a5ee2bb0a0cbe2d42a5bf02044f9003d714672de1f01056102324516f33d99852493d538c962965b850ff551a4a7278111d8746405b22f49edf790fe85b54fddcf79e2d427de33a7aa737fad4e7b2737f65b420f3d5451470bce86aa8f256a4e29f1123af3d1c37260b438c1e5aee6b91b700c41ca6200a65877e42712ee15d0731a2eac3053be48df602972a98918960d04e0cdf33e218a430f78830e740d5efd19f015cea500461cf80342dea7d4981c84e8daaaf48c17f8a0e1f98c7c61bf8ed99c820ba0cbf61921ceb4a46799018db4a5fedf8bb3b4f3a3c9973c5cdc43815cfea1a55974cdcdc16b33999a5bd6e4e682d550cb381fc406429c16e14177196287bfd33990794b035bf783cf63808f237ddb5aa09e2a9a259a9db14fd4e842e5a7a80cf40ea548a38251441d808fc665823a3cf552e8dc0c88e4f3c0610475b91e4116c8732b65afac6acbfd5a4075b4c9d1c02af850f418fa2da1950c7891ed322b36885808320139c1e444e3864bd5ca34f13e96bedc26d60f8cf546318c23e94a1e683a8c3dd22a3a3bd3047e718f83412bb0bd3656b9f84d14a726c4970122738596fac0e69f2b27c08b1d14048bcfdc9964c26563c3a5e7705725fd3146f6585c4ec09d4c19698263dc14d192a9a4281c4b6420403df03625542d55b5d1ced1ae2c3a164ff1cfd2e0bbc748fba1681e450158d08afe61eaff3a80193f537f416c96e20417d3ecbcc02beb9337a7fe20e0bc020e6b457b107ce97740ae871a33a707bd7b72374be068e203b81d9d6bcfc2dc78d1fa5a11d97c1e828b9665c20be59a9862f4781c4a4e3ff2830cc261c945f51060cc945fdf105b6b3ffa3d17bd39f8d018b45a0f3dcd7827056346a7738c233cdf3833ba006a1cb59ae91b80f7a59fbd0d321db069293fdb8600845ac8c6b3fc2d86c7f5466daea258bcbcccbf08b0c911dfc7aa55581f18525d7f306a12d4951223510333c0533e4417485e58a6b2907f173d3dad35dcf3e4184e51a0897a2f834d42f9ac69fe30af11722f040222e7824a09d60eb0f88d8dfa79cc1e08e924c912c798ab10cffcca2384593854c731a26d1dfd703c35184c11a8f9850a1376ae50e1b44ded6d2613f6177f3035fb8ed1a61b0f1fc78a4376a60a65dafaefb58f6ad10259b1db534ca7aba1e735b0b881ccac70e9438ba493897dd2c69382f0727f447d33ddf89a7d8a77cac95382eed204ceec6367bd2f62d11e679e4ca7b587cae81904602dfa4d8d5ce6871881b1665304ec1327802fd36ae63f86f6d58454befd84f3cb32e104dc9bb0f118298ac273048139714a3360e9093663f36473159910465131da0a3451d067413bef052b3565a0f0631262a7664d75ae5c6c76ee29786c7d83f923725b867fa613499bb4e4636b45f90a22feebb2ee854364d1c18b5fe4b87d6d4fd4c6729dd1d9ea0510acbebc69076385be75dbff8c935c090952889066ee99a3a8dec3623de83c5ec614e481d5a5bca994e615e4a5eebe981fcc470af40e377520a09374bb2cc80dfd7cc349d52f8be9618f3aa96b7b5bbc4c1d79da8bde25bccbe3a8cdd21aed550e8523f92d1ce5462d9fdfa7127d3115f6bfafb6de6ff429a3405d8efff116e16960a98e400dd5bf750aaef0ba266e8b8b6c3ac4b2906f35b4c6628705ee1a2c26108433bca47184ccc137392ed978b84070de57b12f9208c6597a3c7b8aad98262b7c4ca365cea23d7c664736589753ae5601c27c4e0e937795a25a8742a94a0b3d586c7c25e546e8c94b9c31971a89f4b0524ebdfa0eb26f83f0435b17d7ae1fa2a2c7f52ab8047ffc80f6632a04c64f888f56416909edcf7fb0fdd82c0bfb5f715e087d2fb464c72b535a2e192c3f5ece23583a0b56b73cc0f86e4e1de0cdd3f35c0f6f0dfb48408fbda51e4f72015cfaece997404bfa8a13f4351af57099740edab7e7160e80564d50e55f71b19bd3fe59e1be708562cf9a1cdb29d60d6d5c730ead5a431120754af51b2f6ea4e38252d0680d31f303b0f5a9c4762eff0f8e70f2c46aa35e1561a950a76f9179932a6f8dd4874ac7f70a3b28a422d41bf5d195d64ebd6b2ff728bcc59bb3ce2542880c8d40d2dae9533f1ed48af8b8a4923eb22ae104742f59d9876a92278da7403f4a372ddbc460a0621f68dd9fc5c7a35b48303ea9ab3c9ce08b4c8d69b2120859935065ec48eb8ca51ff3dec87419652a64b384054a4d8753995735efa2fd8dff45580d085d5240be9e6ddbdde2b7b326cb00a283192ae16d434541e32672239e5422504902accedd84aa6824a02936c8270273d2e5802073e0afad7ef09aae64aeef301d212d2e5fbd15243200a58fcf01d40f48a479c02f7bd36ae84e38ba5f386dde0fb157af1a71d2ffc261a2af555639025191ef73a6dc7cbbc2320b04d6ca4168c899b538bfeeb902e4e8cdd038082c9204a8296501b3905a2676e23739b354f657c7f642faa0216212efcf6fb5551df0aa9b26d56af472705f97c68db5550a8d5f4863392f44d6df309331656eecddcf5049041dde8905be93c7c8f58c436fb3e6efa46ec79bd6169a0e25356d742b50300e6348868cec390cca0fe75e548204c3ac2d1054e366250551a88b21db94233417ecf6075056e8a92723fda0a59ca688a01def001ca6a38e69601f97ae8b510051fdd62fc1591696ecbcf030bbfd95a074c7989b1f011317023932625a2d686c576c011c3af593de8ee55423537b02be04911284ed216f293cf680c9f1788fe9490bd7e601b540f3036265ac2ddecebec4197d27b8975a58016f452c8ebeff1478deb40cf67b110d3d4e8fd819460b27949af3a87a238a2e62a5f43ab86c1f58c5e9289fc5966fc6ca6587b29dc90656f32aedb8a0351bfb78ac322a0818a9f3ef46d66d89d4471ec4bc8a0fb7615682b21ef1405fda3871e1a62c685dc84aa6d82e055bb5b3a0dd747057f7eb58bdd3531add4dbfafe866037c7dc622f20df950b7266a608c4358a06a729b3ff102f36222e0c15fdb7b10e46b0362df1d8d543bf2999d36070ebe28cf2c2950403e32df55fb40f2cb973b1f605df956427254f69eaa498aaa52a6ba27a306b793eb53240a759e75bb4c5b1f318b9932b1c80479c248f7a0c84ac5f49bf2df8834091c402a16957a5031a9a22018c5d47316baece12760087edf4535ae26d43b765f1b102b19dda914a53b79de2eb4d1e330804d44bc24fdc35832c1ff6e831ace0ef21d53ef8b5b712c0c2cd945941693f56beb59b58ef7889088cc9dcab4814b95371f9a2ddd2d79eb9e096f487f68080baf5dd6f8d92ec435ee4e7b0073cee42666b190e246663026246bc0ab34920da43804a6c8369b624f209fcd3dc7065d6e6367eb3e900526dcf02411490128364b6a07fb5ab94aa4cbbe8741df4c5c5200646c7e7eccb87bbfde6648c073dc414652cdc0ee3c97c3cf49d71eadf481c3d997158036b3daa70cced1f9f79a13953bac973dc6434e9d5ab9099c3c9ab59bff792199760b89007047fc8e9ebf43ce5a9392e0814c7901ca7e83f454e4db5ced30e9795be8cdd194e33751c323f361767bfab2839d66f8d72bcf3eabfeaccd2a6586fe89c1b2e0fa76e8329ddd25fb55afd8550a16cdf6e4b24e6b805744d273d5563fa2819cf2fce71a13ed742655c4c8a3805a0bd9f4cd873838b3a9fd767cefee9cd7fdf207be14ccb1461a82a51ae81863a45bd6a7c97f63ec496379f9c3da3ac19a3d52d8ad0cd3ec3568e0477f1bef0a1679152ae7cd06b4159fe36fe2ad2b62572606c9ae202727f27e044f61aa977ead612d110de825352085209c449b0653956e6dea0ebbd35f308dd6ff175b3bad97ae68ee46b92184179cf0d6a66bcd2f7aeb792f086e90b9918b1e6fd40bc9b0402562385d8a745d41c284e180be23a5e3d8a01c4a0b8fa0fc17bcb5de256387480c96e7c36870bb43533c90dbc02396cdc9e294c5275b23122add8ff5a16b5f57e0cf05e074481ca99c3dec37e27dcb4b02d508fcf312a2bf4cb7459f8d8e19601e72473d1e70d41ca11ea9cd0675211abfc9ccdd9935a73bc44ff745b79b9929c02701cccd033aaa92845930da55a50365c8fd63e69f74996b7fa81f481dd60c2cae3bb10ad8176fe9932680bd8288c42881448f3286039d1f800540a08246006348485d1300397b2b94d0edc99c3e1a520963d9c0229246882464efbdb7dc52ca94920c2c084108ff07408af05cd2f5580da243b3b9ddb8b6edc9cc70b1adf0ce1c140d499e442107454392275c9058063936e7cf9f16ab18c520f62cf9fd5007deee56c283b5b3c1746ab94cda5ea3a84b1f655fe54fd686caf7fda9ede0cf7763842fe176e38257f5872d3936407f8643a5864eb28983898353cb433914b442bde9f41de459be5dbe5d88570395411baa9edea5cacb42bfe54da796d3e9337edbc94696962332c86b8064d0ed0aefa9ba8f09b5aa7e4defc9b0f435d5775be053e852f9b2d4774ff04d28ab64c59a9ea59a5ceabbfd6f95f21a234eb0fca9852608109e725d1ec6a56203657aed4daf06d3a73e0bfa8ca5b63caaca0ba3e54deff2a716979616979697e8413d83aaf0b654f8a93fb1a450d5efe9c9c070b1afb9fa2eaab64b3541d34555be30eabb2d2b9faaa70aa408cf65b14a566c262dd2e94ff63d19547d5745738df6f74fcd5403f0054adff4a7cfb0edc6e9377aa22668cd1dd06e663252789b66da76c36482260829ecee2e557f761174eed3a9fcc5e57810cb6089092c7f6bcba165b0a4042e8750d1a40222a22022222b09911137e082c8881b4081c8df1ffeb0fffcb05041e3b33f57d95042bf38f414425401baff3018a048c2edefa741e7fac76a4d38fbbde668fe6fd369267a89dbafdb0a8fe1be1830eefbcd25f305fd1d6637d35f4701d69e0dbf7073c05fecb3a861fc64acef6b15e1279bf4fa4e0b1ff476af1191602a98f8b87c44275e9161da6fdb6fdbf7854d6f202851a244098c0f1c376dc7913ec61d9cd23faf313d7d2760fc1015ca6461d81da7212a9455ed903d7d1ed9534bc4891da6df9e08fdec796caff22a9688e9ed0e4e897ef63d4c96fedb82ec303db5434c9607950eec553c3c4d7bc6d13a4aad8a077dd39b2c11d2a79a636cf686633ae935577a8f91bf55add20c4bc5eee5329c110239f10120273e00349b0603f1fe801fe19b7fb3d7f268264d3d1bd76734ef3d4eaab6abaa7090fefa56ed401f7bd5667950fbd9ab78d8277dead9f0bb3da9a69ecc661f0fefc550ea311976d9d493911dea7257df99b09d903d988ec56892286c1a27bad85f51e8bc1a6a6a28d834a40e4382e2a19d1bb9d1b3316510ca9f2091412a97ed668405ed4c9bd13505dd76a327d3419b118b51177e82940061e1c7e887a4a48a9f257cf09fede828096c9519fd18fd28f9b95e85d1cf123f3f3f3f242555fc6c472629d00e5b1d2581adb2236c15a4f2a3fdbceb678c3ef4ba704920f91363762dc9aea0cbb2c7ba7c8046b7e3c0cffd11ffc7f5f27dc321ffb2c060615e68f27a377d39b13eb36c17fffacb09bc1d846204a50ff68c4128b069547e6e506c0aa174f0769817b7a372658a39599020ba2ca111348246d0e846e6a1716613b7bb9c78711be8c61d1c675ab5bb9edc7ed67ea4cf25640fa67319ca32dbe5c8a0ab62cdd6e34bd499aecec42203ea8313c5a90204ede450d3a8dcfe8c28c77519234124624b875e5e40bb9528437725caedefa1e6fae5101d72198a59e828a91affd32fc75cf3cd495e72b79d8ebc325567b840f94a1b9b99192e4eee312283f0adc146b8d44b4c653337b3b9d9bf5773e3317d23e3b9936b588817d35f858d14334f704adc5e412a09096e333ff77081764cd4cf44fd88de86c3ada6047e436ba3b45f576cdb4f7cda3424cbd733490ae54b92df39d0bcfea637201620daf147e98303f1a55d5bccf86e5a110eac73b918866d3cb773617e16201affc6995ffae040537ef6b61c0ea45d4ee25e7dd9caa2952d50bea43c1b8c638bb2e8f6cf4bcaedb72a6d4e5a8de1f6239be0b9cfb4e9c4abce2e28dfac1b3b61247be335d4fa28f9d6cedafbf08eb3e2b05efe8d6746fd9a91f7ae207caf9657435f8cfc1ad315e0f6330e7f6f2a1df379783c92983205e7798cec766ed4b82d89830c93d7f52342ff78c3bbd9cb8a7d561bb30c7837005fd0679f3f2ff61e481b9b99198efb4fa5289dd3b7f76472726e7c07d087bad06202050f9319f848c9509a0d02660a1073b95eb62ccb62abf6f69e8c14c1155368c27d8feb34706527e4ca17bfe87fee0e5f66715a31cbf9e1dfef70878ac745c43e1c7f17c2a9b5e50d85ecc1405a2a954a2886c13c61989ee70e8ee9e314543241834edfa598794e9e2ad7a572aa51609dcd7592db6d5d979605edef24af86a3a86e0f79cdf6dd4abc5e81d5bfd527fd0ecefce735aa48fa1ddb93ec1027e20fb173c73684b33b38f0e314f4798c6539280a1374c863201127e21321fd4644fbecade74db503e9b7df41b241cfa3dda1590eb2cf63acf91d07dde0318df180b68fed0b0ac5fa6f1ccea0cb310f64b3697e7c97b32374e3c3f703be672d3b005f501fdc9b54883185aa2ab5193ec33c9aec3116c658b20a93b576c312d243ed13c509ff4879441d0744080ed6ed8a5cee763aeec629a72c72b18ff539795520a000377e17d371cff2a6277dc6f2dddfd862baf1f9d5a03ea23e65596c3763da2eb582b2f6bd9893ede6a496a4d9cc3a568114b9f3aa40762e4f990ec2b793816f0e7759c0409989300b5b65edfc2474cb47198c6fbdbf87d5e7313ee79cb68b6f55286dbd71e68682dfe5cb2ebe4b66088598f099996d5b9103c267dff3c7b3763a90197a3779efbdf71e84f0bdf77630a335fd65fc18df23d49151da20f0ea4098852c839a65659d96252b164924a139410289d99382d99382d26be84dc49331377477ad6846089340082584492084564f0893400889d0b624a5d296e3e552d349e5a462a22a2a2a2a2aaf45a5892c2b4d2368e73e4430ec093587ed3c8da0136a1a903e7202b911b40808054047fc30fb304aa220cb5040e1246212515aad7cb8bd1b4910d10988901cf19ea126f7f17362026a5924ebf27c6216318b984866113fc8b2d22c6216318b9844c022450cd4c340971fd005a66e66c667fc61f8b14fbd344d7cec29aa69b6ecb17fb06be663196bf0fa8c2594104a4dcadfb292f6241289f4b61b1d7d12a952bb69dfe95c920fdaed74ee0f7e8df93392cdd1eef6d90fcd75667bd8d15cfbf098e6aa90213a9a6b194c683746ba223e918e237e5ce023251f6123dd33ead134cc41cd0f751c3d619e273e9a53b191232af6e11f17ec40b978b30f871d3be8c9e56f8e83ae0a46658301787f4477aec68eddfd3ec68ecffe885da30c303fb087e6f8bd40893424944e7f550ae3bb19979959bad4cdc0fd14cbca7bc065db5d3f3f9b5f50bed0b1df48309e3ba354b22e5caf1d0b71fb4fda4c4ddb21e0ce02907c9b31af26359f7b36b01b53ab9cf2919a71f9b3d413626e39e0c52cab0841e5fbb056f24b0eba8af00e062f12c8fc6c3c1bcf6bf1a2e58b16292d5154865486b69594bff5348dbb4b08e46f3cddc673db884b08a4901100470070e1d97836232f0584100052dcd6a0dcf67fcd45b9ad1d352785a4d04c42bb8963c6b602c0d1b672826a52647cb6952645e6c78897442c55d06e5bdd96463264d1b6c48e24928224ba9dc512b79f798a11e41317d6207c5db61f49d43459a818c15d548c7059aaa09d14ba2d3493a02f17880c193d73bc5c3672e98971d94aa3271344a593179246d7c91d824745a4ae33432854057fe742e6a3d45dd980073a1c724b6f8ab8318276bd3a723be659ad6cc03367dc42a93513d0ee0db965669ec902e5ed86855d0e73b1daa5ee1b9a4333356c6a6cb4ff3d3874e69a33c1ec410a1468b5f269206ee29a01ede685175b4e1ed1c5deb9060ef123ca9739b36f7d41e55facfef087dff1f5eb7aad6be6ac306cff0b2aed8cde61c81e4c6745b9fcf3fb3b0fbaf37534cd0ffd0982e2716c3b0bdcfed24faff9e1b6ef2cb9fd2b95615414554999eaf3989d20a22146374c81d2239aeb2a4485c32f7d1ed29c0ea41b36fec9f84b50f8d584304a53a97fce62a16d48733d7a74afe876169124ba5bedde171612eb8ace32bafc2e3a74681aab31168add82c7f1bb108f867f66dc08f7c57b918242b728caa26b7ab8f73491e528b7a7f5afad7f563fbc6d55fd3bb7b39dfbbebf61ac2babe584e89680364c734f568ba8165db68cac23cbc993e1e716584f2e3f5b573c8e2d241dc37f840b8e9a88b2e4f25b54f0584de01014b461320d09756bad6a3074f9bd85d12664d747586f681d21978760ff832b20b9ef8bfb7e50059f9b49ede6c60ab47bddfba1391f52f707f6429aebe7e61690cd4b4873fd33b33a3a9ac6afeb7352f09af292133e1dcdf5c7979b551d5e3327a5a9d453bed86b1896616f8b5764a8e2dfb9558503bf0fa9fb233e6f37629c34b1c6a5ddc1cf497106610ef146fb9abb94e8186eda941d7341963d6dd68cff51162d50d5fc9dbb848a25445785c3fced37db6d3f7fe766db0ff0e3fb003fdeaccbd89979fef6fe5b7d17fb771f109e92e3ddeda1955d8e777fe4c0b73ec08fbeddb035083f19f93af063fdc11f7f759b8c80e7befb2edbd69ac69f3fad5ad71febab354d57a403973fe3c9aea6d5ebb33a31ecad8abfbb76d6ebc9f0cfaad5ad5254caea400f0c9038c232328c48446182043ca0620450202103245c7002248ed8c111531c5183239e2051c33fb822043f48e4004641b577f340cd3dd9c4cdb6dbc1efc1cdde83729f708db69035601194ff6dda9444d07984763036d88603c63dba99b4ac2863b6e578b99bb691ae69c948824e229148cdaf446a082124c52d07bef3c9c8c9f17b506e37d85efc9ad415b9f3c9685b0ebef382d7e57df1f556489d06ee8c97cbb6fbe142db1710a997fed46befbdf75e840ce35e64590fffece3c7fcde83ceef1d74cb51f43f9bb1d6f3c9f0fb96c3060733333333b33b33b30a47bcdfc19bc346601019db17e37b0f3ef8a011cf2073089997b0418c2e14191104e4400e642a0205a2c1ca0b201aacb2100404b450d7dd76d6470c8b975fdb0d8f5ef962db8d69bd958250004458428bdbcf18bb13ded5cec7b4ac2a63d489b7dbd97178e7ee66c17b433757be8dcdccec66ea5f47360e948787474796a64c99c2b23d06242431a4a0607df9ce7b5a542e2a2a6e8426e771cdfd457bd15b749d058c4ffd94b6f68c8ef156464bfd6f795595f131660c794c6733aa8c7fa9f2b6c87895ff97f153c6cb5079a9b1e555865e2abc335c62c858412d865f192d31eabb7d5fe5dd97ca7786ea5d62c8b04a542d316acbbfbc54ebaa5c5a50aff2a99444a550f3c67b76a7aa0fa1aa3ba9729503aaf2d8a3eeccc14a5589b2524fcfab954aefcc012d7d2ddd99034a7fa592eeccc110eae745d9ee0217f5db85c17355e276e3e40fdf15ba192352e7433c743bef7ca87f6ee79d0f69d3bd77526e62810cd200a90819c43f444ab80c8a0f779e946ea7e75a2f65ff74422743496d01b906e62f094f4ac7389bb0a004d79fd99f9d0b1289c40c44011083114d5382b9fd19b743ad69284df5bb48ddce2d591ad0de7e941062bdfd319e8dbf6db1ec083112899441edd968c94031cf06e9f45d2a95b0cf48b56f15b713c025f5bb0c24804b7a0304d910623284851321101de192da0946dcc53c275d9235ad19b73f0610a6260306f48a71fb577a304d3b99b24c7b2b28d05c9e6c1a7c364adfb73ff3be8ff493448a7149a6a72cdb0d9a2291285f53f66e465a5262b9fd9b1474e5f6a38030c120c149eb7f49828ad6bfa14e304cb75f061656b4fe480516ed3da1d967a92e5a5ce8974aa4efcf7ebb517a4b2a91481a89447a17ad5f45082aad3f0ee1059b12439b32b4f76ccc4bfaed576ec97642e0a441e02580209181581ef17902c21985366a04f2e1cf7413b8f2993935afa033b3ddcc32986d37ae39736098a56cffde727811c2c213dcabb8b6edafad060c63db6d7e5db6277d766d3748f3225dbc715f414a1af619764b5a7631d7b2bafd0ca27d5549ea597a5a70525608fa2b94fe4a1074e583a09ffa20582cf598f7a50f226559fec66b4a96c53e8f39bdc79860a0aa0ccdb14a7373e9df951488d20fd9c1297da9f45cb192945846aadbd00b0256afeaf29e89be0bcf39e79c73ce6f0e4686991acd7191cbda4090adb4eeeeee18637c50a8d6a31db91a15da112864d066062e11128a4248680a99a669f3cae22aba58cf55c4c5fcb639de73e36574e1cf5a74a16d1a4768f4d0a04123c64823d2585d1a347a60d35879942daf90cdae99dfe9f88d1ff3780bde4252217b5e8353d476366c97fd56bf86ed9665b525a594dd23dd572e71dca516b2f76cc48f1d3df2e57eddb2dd8091dddd8bdafb283aacb18faefbdc9b8e47d1c190e5f84a0c486258c57082187c62f0b93138b937ed3586550c3e37c8fac8ed74ac1bbf2f4cbd08bd0d7685edb21f4ad7e0d4186e2db7217886f658e4bdb3ad3c42e80f6bc36d75b7a1bbdd800debb66a0e3ae4e72db590ea806559d1b2a2c90f64c2b590e05896452db6b2b87a00a4040f30338a49132b3069a2c555b98f49131d14e10751b66085919e218290420afcc404485060851653c01084a328ec206902062c109184274757f0f0230590165e6c218408980b9622a498b8dd2fe982c9122c3059220521a1289644c1422bee59cddbe9c4a3231925947d7434820edeb6209432b63fd73eb2dd68fbf8238cef3133f4e6f74aefae742ced88d6a385403ba21d59528b6ea703bb7639de436345e3088d1e1a43d058d15841116bcedbe2ca87704218e1dff48c305e45d1e1f795c5a505cfd050f2e02af2ae4c830c9332fe7c2f1f9c56b4afe8c6eee9217a353b22c93a9bdfc98f31be5cf2b236ceeeface1ffb57b30bc3fec2ec6bee4ed99ac70c6a5e3b793d3edbdd31f673e8d0db2d1f182aa0fcf1e7f5cf76d7bfe6f8ba32893d299feda0cfedfabab0ebc2ae9965f02dfb7886eb658548ae5c3527e109a4bc2c4d4ed93c9f1a2173c8b68b317637cfe6e0bc427cf76a017dd0bb99dbe5cc79cd79bdf91e7c691fcf309f97dcc851c0f71e42167ab25acfa1c32ba21052e2024113d18a51285a56b49e852e1fdd9bce242fb9fe6db955bd7633d7b28462b4a21563b484a2156514d292965b31ce13085141074621a4c425829f24da65ed9e5ef5eaf6501fe99eb6ac18638c3d44af84565d70373c7944a99745f7f4102da0dd2b2281d10d32ae3bf7f1eb0a57cdf1bb10becaaa7e29e55a40f7c195ffabefcaedc68b51fe4dc718bfc8ed7f0f9fffbdf78fafe4c823e56a302fa92a504ec7b3116fbf90f745ce23ea60522f52ca8555738276dc432f1eda711cb7c281fcaef2bd5dd6e7ee00eb46777716ea97d57aafedf2798bdb48fc2df6ed867f5b7dd3bc856515b9f2ddce2cb7fc6326ebe341d11dc07d4cac78c2571312798bb6fc1fb410b2fdc972097cb9becb2fa8e69a8b42bb971cd4f5678a0a01d7f060854a68f79c749d5fa090fb69579207e1830f3e685f9aeb66b97ce0c4e2d5a0734278512fa0b6aabdbf6bf67d16b5cbb10b5a52fe740b7bebaf1a802fd00bf6e600bee4a559f621313f8a207b35e8c3aacf693bac8b795d524b4a7ae3d95fab06819a6559165f383c4f5bf25b5a550e575a95fc9ddb4373d1d2965793d33d781773bdabd7bbbf4347476c7a37cdb9658256e315126c04d5d138c497d1b211cbfd3efc1d07350ddcbe9fa9e0a126ec849f0cb9ec90e69aa67fab2c54b9098c97651e36d25c2f69d4cd6ac7486e73d09c94a652ef73e615d9608d358639e6ecacc2c19fdfad0a07be3fa0ad31c396338276f372100a0caf491057a069e2c3a923c3ce557de434076d4fa0023d34d7e39a82eb6e5e4c0596052dc80cd962cbb2f87d5cebb18cc19bccb40b88591876611846190e3d23bafdacd3855cb7ddbc8267adb1ffddfaa1a66575be98f9580f57fe654d21d3728f026bfc7e9f4946754ce57b3d2c0a6ad9f974f0b5bbf03368416bca774bbecb7faa1cfae347db5a40a8659ae5051a706875be7ccb9a169cf2fbe9cd5010fbb7ddc06eda7a79bdfc79cdcf264f4b6a8d35bcc23fdad87003c725a19d4deacae6fe265c4871a1a6794db888721ba7df9d34cd6bf283266e7fe74f38f691c1a9b9e63ebc46bbfa4888d7704f8f1428cd45f1ab7636363636366ffdb58432cb3dfa27a1fd2ed45c4f30d08e7b5a1e59d1483e827f84bcc6074b0e68a7ddae8d7a0b29f2b26d285abf0fee81d22f448405c187364b22914824d28b72b72fc08d661a5f7fe35be737b31d1be1f64f1a95c7f57c0b3c1afa3d3c1bfc33358f7c00883b7f7acdd07d5c7fbfca83b2836585784c13b96c798b233632ea9e94e9518b96284924c1c4c6c3846b474924c144a4625e971573ce395196754d2b2c871dd88ed87c923c21899e80920ad9440e2579225a313b7a258cd3e50d429ad3a1b97ec89f93ba1e99d95f2e5754510faff92ffaa22fba41071daf3984d3827c236b64e6979412f4ff9f83e0b80538b1b161664e4a2527c35fae3d8aa09d8d0d274313a6146ef743c05946113cf00bec5dc89552da0e52bede301d03add4c528eaaf9f43967dd803daccee5ce8d5bf0d433335666ec3e75c9e9987eedb700c717daed10779a857d9bbbbf599d585bb3b638efdcd2c694d0bb32c8b079b533ef3e4217822d1cc8c0e44370bb01a636cb164ce9e67b640f95e12d338c36c2ae53ef8ca18aac14f28b1822b9f933ccb737bf01a9f34e547331a0895b98d404fa6df8fde8c194747123eee9edb4751091f7a3243b49b9128536246fbab763ee4baedae87ee6e31e616c6dcd51ecc2636e59c935e9f59ecc17013e6304372c6b1052b9e7f1b38e6d4cbdb6778d324e9d2a53bd59e4ff474a2cc9bbfed469cff4d67d92bc18151e091c7f8df34bcbefba7c56c5996b4a4d50f7f5a8cfd432d4165f60ce4358dd341ace4765cc5bd8a683779ae33db21457098a7dc792282763c3471d85a523cc67b72a0d19d0fdf2d299655d2f338975559f3ad9fd73aba7c1581ca082d223ef24e43db870eafc1de8952efc50aea57476c823e9cfece667b011129e8e2880787ebc34939f3a83c9af73af07c788c7f8a28351f91d5b087480623231fdc3e8c8c4c59744f0ad0b3c13436cd3d1c9c1a9e8f15235021dee3cf7f3d0779cd8d0ba9418977e33f87663829d22511f0bdf79ef4681afab846bd988679315de3c574cd025e4c6b8feb7f1feb7c5c3fec722ebdf1c61b2d9021975b085fa862892b78ac6859d29231e3996723febf18fe98990dc7cc6d203fdcbfcd33100446d192313a3701a22a8660427d5052a40811f264fcb3172b285b41e5774f8a9067037bffbe37995baf55b6d811bd8240a34dd18b88f277f404520439bb3b3b747777aeb1001d98e840084564fe371368ce4773fda4392762277fbd220928a0c7047c54a069482708bc1a6ce01984b80b05b1cfce257517d8b9a9277d37735bbee533bfb1fd6b7af364fc55fd2f8ffa5355f1987ffaf9a79747bdaa2d8f9747a978c478958ff12a3002d3aa76f05c1dbf40ac7b01b883a33da15dfbc9c4a82ff5023780f07d4f26c7dbe69359d29c7f8c1fda42b6837e40fbbb0e3a7adc9c95ecc369dba9faffb2fcfc87c32c56b583eae7f350fdb4f389985e6579cc57bdca12a13fedc361dbb194eb375cc37c39a2dd2b7232bde835950bffa65b0918efdf4030beeb268a7057fcd989d7103d1b9603b1ae3cdd1cfaf953f547bf6f3978ca4db958550e2ecff2395a52a9d79ee577ee4d933e5549df2bb5bbbad78477e1c63f36f80ff9bbbb0d13f0d19c3fa956807b3cc63fab3d08a9bc42d579b31e4f060b8ad9e93e9e4c0f395d44c6b9e1207b30f01f4e911194991aceb13e2550f31764ef1f4cd743b76f9e0c92f6e9d57c9410ed6c6aa0b1b161d3be53087835d4e019bca6f4a68c7fba1f110a7b757b9b9ad16d72809328ff33fe250a36fd3368f0793668f87e1bafe9957d1a31002000aa291ed7ffe2f2bdf296e165fef90062feb901fef9cc3f8f31148d5a64fc01fee1ac54950cabda61e56b3c0f963f00cbd7607922fe2bff70bec63f1c193456b5c301bec6f338c0d7a8f144e41fc03e8f9161bb79653c8f1a7f803f8025627d0dfb7064581510be32be63a328b769b0ecc3465ed3cf515a78788a36802d80d18c9d21ca13c076f3b2acd4e7312e32b64ba5066005c0433196b3ddbc01b0dd8c61bbd91283ed5230b64bd1b0dd5f5b6dc76135a06f39c832908c7a63c4b01d3f8cceafcabad496bada1ec6bfca57058542a9a8a8a0fee1645515b18a6159963d119cac3718cfdb9728fd95e7517a96d2af949e88ac2a7e967f38a77afa95e7617a164b04bee9572c112776c0373d11ffd33f9c1402de0cfd3e35d4b0e16601cdf56bb5546fe8a1426d508d32e5e87ee6e9b92c9d36d6bcb0d61eba8fc64b91dee122b2b71210413274dccc4c0d1f393630d0131ba2a22d18e80a3708cfa088a01dffb08579da2f530bd2410d564c1081890e9ca084e6b9cd3af4d011f2c37564d9a83994d0057e7836de9d38fd43b2b7717dff78cd06e4915a26a0e7714cdff1096e3f97801560fae61e547d38a6fa70aefa2e4e8f27d3f1b3aac4faab2ae99938d69faaeafa93910fcce0c4efa138d6ab54d50ea787afba2c8fd343150fd3cb37bdfcadaa786cbf630893274357c77b3c1bd8cd3e0af3607fba8276f4ea01dd543295aacadec663fa7770b6aaca6c901ddb8cc7f4abece098beb30182a7e03871fdc3397500bc401f0e86737ad377a9cb09cf8616f7098f260a8fa9f0684adfcf53d8886bd8c133f4f7f3155ecdc685db7f3291e0c9d04f2baf9e4c7fa90e61a02a04dbc135007933f45f400a74e5fec04e88b0a06e755c57507e2f12775a5e5b640f86f4383b6d7bf564fc2794423bebfa5fd6b3f134de36abe2219ff43cc8ed776e6fb5eb6ce7b68e5fcc7a380fc62d96fe8179e4cedc57450892707b6069f554bb794fa5f951d3e6ab90eae680ecced8bda29bc6a1bbde14559e75faaa3c36498f3a7df63dc42907ec9e6c0fb1e538f534cd7b376e3798b553a516d59ccbefa8c76837bef544b2baf3adedc6556773ddd347b886d7f3dbaa6ff5bc3ddfc95caa207b3030cdf9ff9bf255d3e2e83badb7b1c1bf079daef1a1056441bbe73f2dd9d5dfbf86773636748cdb9078403bceed8b9d8e6ace990762014424c39c73ce705c6773fb061d8e6c2e22269ccf0794888b1ec899e638196c1e03f918f119d29ccf232e18d08e7dae90215dc319e96caecdb3815dff0b09baf1f07084e0906e4055acfdf53cb4bf2c1127f88964bffd3689cc1df3331e70f3aa2ab644e613d1fe52ed70bdf63caed778cccfac8f4d8791ebe7ffe03598eda14387c7380d68c73e7e44fbfb11cdfdb08f15b49feb56e930f23ce633ce6bf8888ef1bf3274cd639fe6dcb29f6acebf639feb43b12f22b24703fd22c618e3bfcbca6b5e96bca2f568c9189dcc79bf5fdec7a40a2b6ef73c8029885a8caa27d3dff26668203ee50b1ca64cb956cb9369a8450cf4b56a0e2d8f9de40fc4af65534f265eff78639c94096d0224e51ae0be262c90813ff3a7faa765d1828feb0f3bd8cdfe25d0ee11ede83181a621f23929b5ee63c2e4c9ede8090b0aa138122ce4c0b40160854cd0ee15bd0984117c57c63d081fc8b31868b9d677efe3735c73f0e79c734e0bc47a691f8e80f2859021107efc2c10f91d47f9fcd19f05625925fed276cc7befcd0883ac9674640644966530c6bf6e40bb17e5b64a0d0cd4a7fea9dee59be56a25cdf6bfb76d3f2dcbed3eab34b334df54beb71b4a60985e86a902d38077279049ffddd39768dd40e95f5edef470e5574aa55a2ad920587ee56ffc45559594dea5f4a7dae9b82d9603a368a8346e15753d0c15d100000001008314000020100807c522c168381ce989b40f14000c8a9e4872569748b324865114640c32c6186208208080312233343323100050845b8f2b86e6d2c099a7ec41cbe45822b83e3eb12e3dc6031f6db88f42c74461a1bf1dbdd84e6b2d52625c71b834c7ed973985f5215f8c3eb71661ae312c4b56f9e07c5555c76625de9ad225e1962dfc14e49b341376df389b6a0ec2913a85b7cc7ee536dd61b5359ae57215fbef6953129f6354b3b6de422d6a77950b9a1f047bf8a161869c72cb1b95fab1b187963981b62e55e375d9f7e148df3c8fd1f891aeb36692736cc82ab471892e698e762ceee839106fe0547a6ebce59998d276936c1cd30d635fea75db9ce38d19d99c478a03fe2a923e42c2f852040655de85adb7e283ef41974b2a0968fb2560d709f6c5a13e094bf6545e38256dba80f255994afa990053d5c11466aac3784c62bb306d438b3f01d1478553e5c097c1e5630a24391ccbfc1ac907d4ab8c14a1474d973a672d9c91475d698aa86638744c6ce9f260c2d37728c269b6609ec1c9a0b76ad872bd0e5b04baf22148e2e86500f8fdaafdbd3b4b58f9e3e8ab302b653cfd2571e1043cff8d3819bf4ebcc68ca4d9f8f1db7e077b49540ddfb7efe0c4f433772fe7159e4c2769e654d09b1ee1b5dd82ae4d7435afd1cc5a342e4f4e986f81c4d69397143dd5067d6e9e6d16759748b8677d6bbac871cf2b23ea65aabdd51205e9478b078e0e70c9c55884961c1787fc6b02156a4ed5f2a3ea6782320263ea6a3acce13b75d7c263cf5849202b1477c4a5c1a184ff36eea031c4833a5f8b574d584a4aaa15d4d8352355d1ba6ee7a474d616d9c5c3f3cf645f8e9abe3f4c50295a7e9f18a848a6b8ee71e016d3442e9b19a1b911c8c6f85536798d17c4333947c4fb70a7dd6596285821e586b5c171c7040a152fcd984278b38e4c5c233809cddc86b41b848df56d11e85d5a28dbb2efe7412242cfd06a4ecb15b5cab4062ce0bc9b5aad1e7e98719ec2a980fffc26682b94cbbce0037ad4429f5a51ce74c5bd83c2be440c6a052ab50dc0b6582a39131e492cf47310edb1c786ca81f14dd03742ff6fa04d878d13c0b01e3848bbc78cc33157d0258147f77ce9673a2b4ca53307821a87e149e395327b18466d9a1490dfd9b8ad0ddbf75d60748ad043f0f1656203c47451937ccf35659f5ea6d38adc616539ab0927d9bb9c75e247246d7bcefeb23c9d63f2a562d24425a30643565d5e703ea4094872321974b9eb6a1b7d461c1ea3c778d3debdb54ce6d8886d3f3e05729286b9b707f25794c12c933bf3c487f7615ec86ba40ee8d822770d29e5f0f69d45de2e0b81fe6c75443183b51f91cc641f905272da99a67fa754d4cb57d47c26a19f94c890f55c193a3ddb92a042d1000f664365183e6bc3129a79fdf1a280f698f4feaf32f896a1012b416704f646b39f48db70f7d9426bb9c38e82099474c1e47090686c98886692af4eefbb83272a994aa905343de81f54208e0b253226467afa901e7fa25c0e125468772f0eb21278f54000ed3ae23d6b760cd7f10dd60876eedaa30aefca0d4e88a63d823c5186320f7bb393e164c75225d7c92d1f7d118010ea6211becedbcf7005b98681d8cc58204c1bc5fa672245d13a54adebe6ea481b71bbdcdf99968edc5629c1a6ea6bcd3c35b2b2c870a88e2e8bdd000aa2e63721a9fff55f28498b16f9f4a7611182bd7026761fe127288e71ab807811961412bd268536a584eac3075b8f7c1b18cabab517d0bc97d9fca4f03ce62d3c00c38caa4f5e21fdbd78d6249225da357c81ffbf3d20c7eb127c30fff7ebbc745e6b85b169a4fd026bda3c7abf9c1d5a95845993e4505c07b514c50022d53522a47633d72be82d239a224881a5387bd9815bc43e6a1aa4298e130a343e27bf579a5807918e1404f2dd5400a13e5c85c57cdfd0a59a9b58b9c003f12973ca4191a446a25281a5ce388b6e3be483c3a11ebd9541496162acef1d8d1f61d190c3264acb533c5cde808b76a7eecd60f6194fb97855246a264d8e126761978688aa7d955f5c93d1b9fcb4820447ae0a7619c6190a4ea7963ac7f40e6ab7ec08fba90460c99dd1e22add9d01f9b2668035f7dc4691ce012177beddd4526f82e370771f2be7a01b3d3953cc836f05fcbd46dc688b244a05430ec4ce3bb17c4643d1fafa95892ad53f548832432428bb4fffeb12980be2c9226cc21eb9c736f443223fd824e485aaa667f462ccdb882958c4409149b2bf24c7a83e189a8727d3172bfa7f758cb2d5264f2ec35e866a02a578a74e091bd19405073ddc74aa44fa24411dd66ae9fdb010f350e730a3317ad4843702b050e8ff7b20073c72f2b70c7d9c8e2e14346d3b39f483d38a19fc9f0effe0291c8a812db1937ed25088b331b7a061c3554925d7e40d3086cd9ce15f380ded9c31b7a25d05044cac9838d236aa07596fcea94ffccf1e3edd49d4d32bcb810027f7bbfea66b087bb5184779584de64a8e8aa5cc843be19374172c6e25acedf25b9d1e92f21553413a284712c243a34ce0343ddd1bb719ba411b14f6f304693a8458da709f9b48cb5e989dd6162fdc3af99a69357681ead92e3adc7631d9ef6e9fbd205786ac55d65461ce1de8fdd0fb1f6ed853f77d569821f0fe1337db2ff262e966f3250b47c47a9b0292468cc99e03e8a6bb30f40c9ce1c5933b9dc20d50dbc5922be24f13330ab82060d9012bc566b721aadfca5dec1d5c0b87dd7ec663eebca5752fa42827b3c6c35d818495b4a010f6d6cf9a0a1749518221664043d499660d7b07a8c70c06ab1c6d794fb2ecddfcae3cc4a143cfaacd1cdc498418c39f6b319e473b555993bc233a2b5526de5c404ef47bdd0c641dbbd8f4b07628f8b9763a35bd4dea6f630e52ebcc9e5c8091bc4edbd87eef0106a79323522abb67d157f8af05b0647b20597fd6dc5c4589d604c72f63250a9fca172dd256408921a7f16ae939ad753e55084650d779697106d1b340584aa24aa6b1b80a0e0811d7f2b6efb4dae085b4c3e25a188a8930e4034ceff9f4d5edb361af4e7b9a4ab835f558afa187fa1403ef2d124b398ab2357286fe5256030acc4b4167cab65ec0276609a895f47a453a5da17d5d2964ef2f0303370a17a911e35aeab797e55b64d101db2aeee9c93fff4c2e0978f36d1db8b37249228588cc22ec6dbce888bb8e5e206f13b54a66e48c0bcc24209a51e7f65668bf282c5c6a9410a871451cc0dae4ca2b6e2c6b1b8779e17e9f3764042aa7e2dcacbb2fe42fad3a0fbe09e02c6509555c9d32e880f0b7b0ed8dea18c5864519acb744dad122cb3891801ed8ea35cfdee4fb980c11d875139a69c2f7dbe5a1577e236ce2c961a732f753464c52a56071821dadd4430625503163451dd0fec303ef4dbc403e989fe22f2cd82e45b35aede90b9695b65c2726ab8913d547544508eae9b5426f2a44dfacabe7969c959c842e3dd713e8b807fc053658749f89668968beb986af74fc169ccdef7d7565087042afa81e542a96745d98e1f5cb328ed286cc4f77aa3fa6da9c4f959620c4cc03c243487377f60be66e3d33f01c86927403131116c1eb6c664db8d1a738b3403cce7483af6c25b08608b96e4912dec1fc47324be4a24a810aa122ae263b6473a404c018e9d3ed18aca31b0c85c3919d95f612eec44c5128f03d38b26279444ad000b28e4d5b4066d987eec2129de53e8ef91f9171b27e5584a84e2073e59b0bb2bd281463fecb8f22b02a9ff4e2f13421b1655101fd8097314c0938f6570b610644396362b60f468b24f6f7d92b4c4ff239738316f443c31de92e1d8876f8496a851f2564271710837b6d93f8e3afcac9d50973b5f59e9a226662fa664da42a379cdc8badb5aef1c68a34f6a677a531c43ece4e847b34466815c9e2592e2d71eb03b8896ccc7dce7e82b98f1b21818131d06dbb1866b3d8ed63945638e25e3dcac1990881d628070cd87ddaa78a80d10c7dc0d99c63d5d2b188a6cdccb2fda2f7fb813a02e30a33867adff8fa76b41650399cd3baad85b3408276b3f8e5ec16c39181775f1d3c99e6412f83f51bb74a54207b8b8d4cd48e55a1df0cb61f38b9f5d86615eca05e5218a55b552479d946f942d5418fbc8bfbd403fe4db8771967584ad257471280dd7d2602d0b85c2aa79622b6b41b8155b4dee31ad66a8952f57c050eb4bce4a5036e636906b586065e37982e443d077613ff6ccae6b9a417d676b7cb8cc7cb26c7d0e5b0ff9e15bd0663105abb2920790fc759f72a7a009c4e46fc8024e22c1b468fed197f383e7c4e353d5dc20bab1a847ef81b9db1d2d5190f72ca00989f04c9f7787a56c8092df2428ea96de86fc3fc45782521c284abbdbbba960be952c475a316a86cc16e1f7b05d8fb8fc47447d55b034a0b70ea773dfe62a97993054a3140b6efd6b8558076afebfa7801d2d09184c22a40361b20b58c08f3a36ca7ae002e4da068623d9cc47a5e12b749fe27c01a2e3d7588028452b12a35f77e600116aa6eb209620156f0269b7b4df527bba21cab0466e9136f4ba1e42f43da9c09a2b2cc00e965d26db73035ba9d31a31b35fd430219c0d083d3537e6c6c1f38e7980005eec3f16c630c0cc935dc70f773adc11c89f7c41955997d37fa539f3e2a8bb7c4c713b35869a604a9ac5eb1be7f75e887947a2280d2ff21994cd0bba7da7f7eb292da18ef50c885397c5c95a5927325e63b7401d7310c18a34f3b600e14680260b5011855ff026e3fab0a23ec67444f0a3f13823f2c4a9c274c4935c2fd6d24cb7fa3f33848945de78ef002a851727079c8445f25a5e7515c3f5406498c4c2f0af0519948cd9a7c2461830b73db3d3ff812f2be9833f814ca0a4ad21e367358b9eeb0aabf3e609aa302107cd9e6048ef337640ad1068898bcc4f5713d152381e16d64903deb0096870f6a3419d13e1013945d8cd37c5e51fa66e55d84919c40fad01f17fe2df4f3c5ddca411ead5c7338d029265795c71f91ca526de4301a2a21ddd6d2a57bb60b5d0053646fb00e2a5384fc64a60c4fb9c1f6e221f6466671b76d53f36fba35b529a3fca923388bcb8dd11c655d2bea5965f2998ab91539bb8c1004c21b56d1b8e08152b0879d8b8389a6c32c3823781096f12399b1262e6f54d06146e46309b8455e7703e024989874543c8c48bf642f7164daf1979ba5bd0199b2c757a1a20d4c15e1624d84822a67ea7e929187aaef43a638825e87ede35f3232376d5315d2abe95b7de0b943f3d71e9e0bc7e854d40041601e36cf4b34c033e8567ef022c2294b66adc326aac910a1c709b1d1008c9ac786f582f5f8fd601a9b2f6114fe4f8a5159ce0071fed2013a63e0b1e42db8efbff6fa9e0a63a197a2f926b1233c0ac57bfe55a86621d652179f8bb2b89fa1ea9a3cc310aaa2ad7048ae5c5c3c90e2a5d313123626c79376e38178f86aade85209a4d0bb0e0b22f1f83fa63b9db788619c787466db78a711f005df418a877dd7d40ea4ac0afff113046165edd9a15dc64a397c5e05dd0153a8f8733b9711adc1c6a39af302c3eb9569583197f90607265a03d92f3c6106cd644e38f1db4ae7f135825696a1f75c87eeb6facd948447edd8da434ef88313d10cf3599cab1392e9fc05b4145fed1faa7a21ed584fb75d494a8ade6fc7d5002fe17d456222fd8da71a0b749c8fbae5f9a2825c5e8d45e7268ac7a9f58cb9f45f7fa768234431cdd9aa1d6fd962dbc34f561ae676138163e82567dd9bb054141677d5b2037c56dcc2ffb2d15a800520cf33094b936c43ba6de20dd2750b49aa2e75a2d06ecb54f4467c533a3402088724d202b44f8b0ff0f16cc2c0420389090f380ff820e216cb5577aecc42352ab96ef2fe07ebdea2ea21379feca9ff921df1922475c65092bf2ed2207e7cc6af0c9d3448ee36191b184e15527b0456ed6cfd8055ac9dd5753493296a641d3dc82affa08c793e67cc294d2bdebd0feb0cb0fcd524dece02e5676740721abf5a4caca25ca579361d4331e978fb20826bc7c42a8efba86b998615d51db4ee2152a93b909b4a2e15713b5021ae5878ccfada8340a259f14655b42b1f4a4d8846755e0a798f5cc99257c87b6d0cca66c8fb1b41d588e0ddbcefba96b6d5ac2e1b52d138f23a42ae8815849509772e8849105c9cccfc466bbb66074420471f84b59045df44e16f51eab69e00c3fec7b9155be284916eea7bc6493628a7ed9eba55fa8993c04dd7d3f96034d32c568f0ad5562962d92bdd1b6ebf6b63d44a24b64a6c464d92b010a1deca996ba61e7230e586668417027bba12ee5494cc80a0e030a2051586d6a101e26e166b5cffa4c2564919996c6a7d15a31f900927b3241f9c961ec6aeda1422c9908e7b6cc527cc0e7f44e14995b9fa93a5293218c93087dd19c24d48aca8c898503973247d433d3725dc07ff76f714d5ea59f1adf6aa3b91b90293f3413c59bcdf84869c2b2a8b0751e5054f27a36331dd26ab05255747feb1eb45c99db25767ee916750ae5d0b20b45e34d5ff4723d08fe52b718adf5a56663c5de0c959b75afbe1e4b7c0a1f4a3c2af4a57769a41e9491b04b2b2eb8f160b44418b805b60f551891bb083007ff981be9246a4756368841a8b03bebefb61c99026ec2efd48f7d280d8946c7bc04a0f9cf9cca8bba5d620f29d5ac21fac7522000345d71d8ea487d80ace84e8de36207ae135a95990339e80ef8376685049d9b1bd07e0e14d38dc439d50317663fc71aa7999f251a80ac1a2bc6dac099bc8c84ec858298aa4ffbca7a137216b2bc829caca73431d3c8c14bdf273e11b09f58859d49ab4eec0206824adc1756e997d68a1bc8ceed3822ccfb10ae4583add62a3cd513b6ddd6325b8a5b132ede266742d899114f084ff422ebef941e860a5d4f0ddff910f2d90a9ef75f40dfcd3ca6165c284a58cde4953f6d904c838714325c942e80bbf4126ee267d341a5ff99c8e4642d00c34e4588c910f2c9089917d5ba22ed8eb39373efb95afdb70604fe30bf35b4fb05c3013fd8165017a062e2017e275fd49a28626dded2fe1f71b9fa067923afa90f6f1b4b5c0c555f1cc1baeafb79db641bf4658f8aff714f42ef4111574aab4c1b23483af6945657c3670c7557c702b99b80f0c0b996d9f58d9e3992802ce66fa8d0b7f24d494f8a272e6b694f381d07f95d30ac5d4159c6f58d757a70b7c85b5e06eaed294c00ac590f8d48cd816c8c4e8be2d9d950aa62f81100fdd082f23b23a60c146bc0997c616dd6917be2c086ded01d0747091d866247c367c13facf3d8b24ce706d3ce34f54d6d0264221fbf8b0fbbd93b90f1ee8e56bce1cc7e4d688f655340244d5272c1e99204d9386bb883106bf66e4e43033cb14dc397f5b7068803048c110b8acefca8341e6875b48ae7d50f1320b50b245bfae582abc12746cb045da7b82fa55ca2621c8e8ccb00c8c8ef0bb1d4c71312016bf59def0a7d6e71de246eca25a0e8dc0bddaece6e900a62ba88a3a23423bd8e3d622b841811983c128b8c6a0b113fd545f1cec5f282b2305dc2a03f62c9c4785a5be997d3b22888128ac6eafb00e42b5ff0ef1ea64bdf8bfaddaac28e41216d9e4e7bb148c3b9c97c386530445ec381bacb711f80b0b6c90afec44394c74fe0d8e94d915b0cc72e7f4433913cebb3643bec8c3dcba1355eb2f54aaaa2b10ac4e472f5e0c57a6d950ac20055f801c4a5b282ba3fcb4305269e26a00e1f6d34a626568a0d4efde6295b422c1551da2fd21bd45a71f4ae71040d330353519e139b7ba1a42900aead792f837f49be898912852017d3d83210e4f87ed16ffa2a15b4f77f846cdcdb12997ba352b3ba9e98b8401ae49cc405654cd20bd635572ebfb0be1b4872edf45edabfd4cb1c13556b6a7d876a96321452180de1f60dfd342dcc0974a750b08afd285325d65bd222b9eeeb38cf2f90ab8ec2aaccae092dd1f088f67dcd429889814d3573484bb6660ca03ff2112f2a86f362bee84fd5fa406079fbc37b8495f996f43652776c369b68fb6bb3a090b010653fef6e9ead1f3e34c7e9e7e3f41ad0acede5134468522b6bb406d1a287c293ad1a660e7f4d99f1033fcc5cf2ded08a0e8a7139ce63058388019f59f74e31af5c5961a6eaed98c6f77cd6970b00388ee9a22171910514c1cba5fd5ac1741f46845b19718626525939e9b0647ea15c3e1c2050728f3b70f93ac5ad7106282bb8b381b5aaab6bed4030608cacd4e10bde49a8f67393a80d9091e05b36069b7a8677894b0c7a5de6d19982a360168a5c0c85c0847b3e664c2d21714052353a1fbabb6938b3d6e2a15a2f4355ff07f69efdf87e63a3215dcc0f7c2bd027542d0ebb3c984a090b1b358d7cd8c26a6b36a307b7251cd2e514bc04d8abc781242b789a7f6b21b87462bbbe9c458ad5979df98ea84a91c170958dbd9101be204d3020af81301b1ffb47d935e61e97807548f8fe1066ae4e335f0611fb6c4a881469b72bcf65a6e9e0f0b34abf65a409257231064727bef7ebc2b765a6a3d305be3ca841fb8c5542ad32d6f80545ac6e72f370b0cd200020c965b3b174fd3ccf3b4c74242e9798fbb4bb68b8911e37cdbac80de77fcd86384a2185891d5903f454c68da7a1a8665558478d3b7a57203abb24fd53497c1d4c42d29d92583d61b122013404a9fcfbac75d8e1e07e228ae45f2aae2cc0d9cb68fd5369b81c9919b399ae5501b3bbc0b2681233d9ff5ff784bc7d3e73d9659b041ddc18f77ab48dc1975ea29b895539f978b6e245f9840cf8d4665e09c5f2cec2c3b19263afc9c192707631f03c9aa72c48b0db7d09e6c796c2dc2ab68317ddb71bfca933a8218a4e5e422ffaf9595c8830e5e48144bf24f93bf6f94e285b32bf8fffcda74f998cc73c6a807591ec3ad49c9777bee8b22f6803ca65ae8c60355dbc6877fabc28b51600b1d82cbfcbc6114224b82ff88cdc9c20dfc98e355e2e6cc411ce28987db72037f3bf7e2a128ecced7fe04ff80e067f2de1aee648f40ead25698aec129e1ffa2bc55777a7e3a013309c3f59d8136fae465c16671a247fc78af5090b10e5a679357d6339e4a7b33140d7c7fa491cca92e73fc9bfd4041fefd6cfc8242c60ff88de6c331eb122904c1bdbfcc159f1a8fc1da02071fb9469f5acc1695113a1fb5a0b0e259a7e0d7eee861aefd296e6fd4758ea6241e711702ebdde85ca184cf1f996848853deb577b1e4a403cc94ce8d4e807f19cd0db94fab8194bc896e3efa1531f3db4b6f8819b3115b69f92b0e5d77a5f466ecc822ce533bf6b4e00ae203312ba97ade6d89f2246712204b1b845362bbbcfe379fb4c9f9ec2926332f03e808ba205a7fc76c453ee52f181bebc3fe3d2f29db13eae809662e916f4d3fc21170fe684f287bdc39cc3e3d59cc5e35dc93041f38a381b0c23fe559ff64af9dfd79fd6763561b82e0375c6411280bef51360c968d9423ffb2b92358da6c6e3ac916cd5b0f24672f8ca7813464115fc03028a5a1831d7a0e0a2a56bbfb18a5c4c8e2f7d50f9311391a28f30b3076096efac7411a0bcf70d8181720425210a96880afde213a2cceb02f4680e14208e6d81f16f506c2c99f871a86095350234f4d4c540398979ccb85006c5c67764cd71b0444d272cea489100024d44ad7a6242a38c2a5c6854195457fb755b810bba6b10ccabd25a081574d6652b03061529d67c45f1cbeb7ab4975fa634a76c4c559b6cb3a6c628b4e3939f59a7c0d604286892f1a1dd37c06cccff2081bf2661ca6463f7fe34b532db8c57fe7631e8b13679c68066136e5a37793f82ec017d66ec2b8ba7ca50964d1673debb4163f6513393f0bbeb06f532eec1ef4b3e148c7b5b3adafc63db5f78e0351c828004f9007e3d77ea1b71bbbc6f441ef74731ee5aeaf56b488a9bbf8f7f7e30fae735eb0824bb7549cc647058ffe35faf41c52c2c659d85b625069764fcfc8d5cc6c1ada05df951b336ffeb2ed9d6bab9347ed445d236f72f8e17b5c025da29a923fc26869225fb1fa08fc4556041072168b10e0c50ab7b6c5bfef2b7189f58f6043e7edc60bcefb718c446c598dcd066477745c489474b63fe6cb75306ffd90d845d6e5b2c4ec12649189785b52887c4026e126126b7474c1556807f480fa1b4187e5b13ca7d8b32381b684147e0fcfde7d764a3141837e9d65b3958d806894d80f09d794a6e18077ddfeffc763fee4aa3bc4931cce97c50f891f2651a5869655c17f6dd0865a2ae07798707e55732442d0e704a8b25664b862f5c32dc351cecf801ba70ee88fb8b8b305a0719d2152fa7db30f06b252837d0920c0a6dc1060f583829fcd26772e4c1ec8346fc35518928b36d4ffc5d884347bf7b585a503bf3efdb710ad95b5c4e53590be65f763307d2c6793e19710e2bc047d39dcf4f8304d816fff4354377e7cbbedf36f957ad374740d5cb27b430eea695964c695ed9900c07da811702f300a19cb51a90ce3f567f34fe551d3f421d86ab2d5506a10ebc884d67fc30a9b792e9111075859d815bd82a5effa33b9c56486cc542e41ae978eb533e2f9cc10f32cea9a6b75d7c7d892b1242d7dd4036d250b6a63508c32807ead201faea48600a8a9e984b0268d5dbb005ecdd0eb357b06113ae320412303e22cf7e7712058af5d232e527a924d04bb08f3f8d44cc5682d0489c53a226916c77a57f2dec01bacf5626c30bb87147122abd529dbd51cf1f01dd24849691f32641a9123361f37abcb7e353fbc469472ed97f7c70364dd52c8d6db1f9196ad2ddb4ac9125ffdcd6de78b4a41bf973f5a02a9596ea9cd5fa1de44a175bbab9b49f73644340bc4be009788c4eba7b2a11a93aa95a048067353bab8638356248a1ad968a0a921c6be30992fcbaa81368abbfadac0819cae613fe8c6d9b3be12467a88f044074d826c5fdac247cd0499f3b7d3bc6dfe32aafb5c4e0c45e30fcc9ac5f5530f26478844efcdfaf7ec1ea2e02cd25131444e9dddb4a550f05fea1a2f4906e2f1bb343531afc1f86b4a01cd18b1e912f8e7457ddb5189fd7afe6f1a4a32a67f7e765ab7f4da9403f7321f9431adccce9f2589251de5d2920c829e79c357544eaaca06e12ee18aac144ddcab76e3705e6f68063be8a42fd1e12f270b9bf15e31bb9eec39c6cb5092a66e0c1c90fc511a991c4e7af7119d500242aa44fe1a4c32a0d110f51cb48ed7a67f7c1fbe80d8b716372901db66f9e6f31a8c6b7eb11fe0e1edd9827abb63a361f6b55963a6059d5387846cb4b7cb379a217e8e3b88e1312f1ce5d6b27d4fbb4423913a0a6ec15ecc34dfedfce947f73e1d3bc9c9663f17d711dff2da4c3c2a3e3fb6e9eca053584bf4d6b7e5598aaebb213167829fa6133c4bd47b24fe0d7c2ae52471412d843fa8e00404b228c219bac31f071a92e7c25feea708b85079718b94de9bc76de12c2c9b42b149386238002d1cd0d93982f304af27021284a9c5a5072536a68a5079089c33ed15e9640d19fa799923bfefacf7d099b8352e4a41f27acd789ba83ad7de141ecb67880ddff871133c6fc4c2f0e33f51e7f33f91b9d0c1238e3f34bea53b1e4585f777b70b7c87a752166f19ed2d378d855ba48f2de8671f4e47ab666dc3db1f24a9fb6827c29360a0316568c83dd149a614435324c707f5f756d0591c92dc7aa69bde1580f1a2f2bd7052520000ec9ad16f0de6a7ade5b6cafd6c2fbb981d175ddc54d5fc7505c78d1ad018cd4d1c5b701610a0e500e3d92a9e50ce995b30a26ce90c0e1383b434b18fbb0cc2a19541ea6a89aba2ee0a96b2ab565c0df3712e5289769575e6817ca714303c3a577bcca9d2f415ef3860829f8bc3e0b7db1557d8eeebe6aa711bdf62de147c4e612c916802973cb3329531c8265f67f13349b53e9d5ca55c6550e8cd7acb8eac1eff4b2d755f7cb82d8da89faa940a6ae0b2bb9433c9c1e7954e83730d91bacb57a6ceac5c5e039866f426013c35aab7b7648a04439c5524632390dbf50dd3856dfbc022faad99bc0229d29938c14aa972f1e9541c74995208fef8af753302f0923c7f3413df0c351912be1d1b2031894c14c545e69a97a241e25bb48c551bc8d2289b16c331939b31b67d79877282ac2df4aef59e211ab2d0e49f485f2e548426cdce75a5d95a70d96fc108c4046cf9abb55c7aa5a2435e57ccdaaf04fdef42649a662cf51c276cbd3b9b92bcac42e2095c03d7eb0035ee95c2daa93025782530418c2a9c9e4841d5466464fd528a17d6efd00a6d76afcf8dbe13fe3c21f3cc3639702e34bc6c3b1d5f92edd04165feafed6c89fc54d74766da16ed2d261aefe7a70975ca9784e61db69159200684dd28f243113a317ba9fd040db308b22e37b17b61209c0d1f1378cc30ca45cb4449b70f5c78e42b71d1b80861f69ef527d7ecf58cdd5c3032260f1c27d361be15db316fdaa9cf5f6813e0dc4a3d690d476d8a80f9858240d35606c5fc9176b27fce69f2bca47a78193f8e60987ccf27e2392bd10082c7e6ab59e7461c0ea706884d6d5427caa587d26fb2dfaa2d0b8f9b552da463604d93fd335fc0bb3a30a050954451b250df648ecefb95ee45db8bf886ca2b85e56353a0f1d1f28d6388c380c10833c4109b93d14583b7bbe458c112d865c376d9809dc39b0006d1ca7b8f560bb75b146d6591edc2e25f215a5cda7ebc82705a6e8d0390a0a6918d13d5b91a5c57e2810101235aa5cde4d2abe0ef5704e1d1f9599dc2afaf0448160b72cad4b63541c1040e11c280c0a6c821e5f3987860d0f20a366e99a062855a55af2e88f1198683cbd5ea1750d9ae89490fdfffa7a62ad1a3121e33d0b705ffa7b6a6ad4fb2a09158d9c5b2da75bae1fa9fa59ff026770ef9833c1e3fc099e112f2456df5d44f502aff05fa552f02520ff5a78aa4b9f4fa943d63875e3a3b2212e826dc09774047dc7e22581e2354541ef4ecd8ecc24da11a990cedf385731246398a41a710dc23332d2d79a70699463b8bb291649fc84d7a0567db06ea443ed6960cb32260dc64f4971630c4900ced33505fe852454bec2af7f3094057de17c03b4be71789325feb99d24038e0bf8c05cef618d502959dd8ee5ebb2ffa7ec9c202a6d48f890ce91ef602aa150df791303da5a929bdae590eea2a3c64d91c927e1818685af3e56a42742f0ea8ab0384c96df60915ec07c0a52085061bef2453e378ac663f4d2e36f481e49c2d4f36c70f358643538573e5c1ade574115037c39023d8bd1cecc155459f62a726d093ec051078c2970b5764c16cb4192d00b1e54e6497998c3200126c05be494b8eba167d5bec0852510365c0f0ff293f72140c007c8537e2afb853783d4f4c45e503f1168198c3241a88d359510f98046b69145c4c60a2d94f50be5f7746a724eb98b36a9b6118019a2202fd4770eb998b68a9182b290a52d4243c8ead28e18b46cc40b496a3d8a410e596033eb44a4fa0d9cb711464b8b26a209697f05eabc59035582f947cd9e6350b57225684887adb2accd06ba0fdb651aeeaf2770bdf23c51a3b0a29bf58bac24b3d14f3cb39c880c3dfff760bbc64da288d3e9e894183fbb52369f8ca8f6ffb7452411ee8bc65f58157919535614a22937a108d1881e2e626e42997bbe2a6d1c6da384c40001a00b086a1d8f563b9560ae264555678c2774e7f25defd61e66d7649f0141689421315275e8ee0a1473d4a0aa31aadbccab09d0e0da6c69a0d77d06dd82ba0e0fde9bf61fa12ca095270d62c3afa3a7f80e34e02826248bb9540114ba75f0289b9953fc6e70f26e746dd97ff43288468752a10e732ee7dd463b6d3696c32dab335940c7c4002e1cff54926a04a85c16c1be433db444436054f63a9c91cc6e47fc1b879614315b357709f2f143a3d7efb4208a910041aceec1406e21cc11c6834ddbf8721e72908315a1eee4be74beee227081a965d9a58b9d8fd9ce869bbf1093bc3643e181e5a2834e7f3c7c83210a4006505d1ae5feaaaddb16d231443ceadd89bf800d35625993bd398b08d7139e1df59f7180023434fc59cb9dff428de4d9d3af34feccc706289e56b0a52b0bdea0edffaf695aa399a4c4c327121c102cdfda59b3f11e4eaac0e25bb0bee29a48c9f96a869146752e9c6558e63a4ee3942fba9a23a0255929a2b81a0b46341b8c850b52466379f509c11299860f150158ac66253e409f7466f49fc6051aa0d110cc2acef87f1a8a37fc4365236db2329865cd0ac9d34e8f45a1aea9d3b590b9b092af71aea4d853b6ff86939fa95908c5b6d939951ef38a8b3a8e4e6ba6199c7a744dac34adcb6aad72f285fd38083aee81715e3ee06471347e1df03e8a6969277803362a8e1681cc963d4e509403e43d684b4fab719a8b0e39798efcb78d09bbcf2f234cb05c8ea906769e962f7612c0ee2dd1cb97485b3e022b664859ea65ac24c3223d82164f227368c173350a4fea6bb4b59d1121c0283189cf4f2a3fb58e09ce8a939f3b52157c62dd96e3d8b367b8499633737d291fdb0728aad6f852fc6b80f6c734b6ff5b50881cb4491847ea3f53964ab7bc68d36b71f60fe7b1d89d97d44353aa862632fedda6ee6589e6565bce6725cf3a9b8e085d6649b1311c49e2059acf42473f0726f4da771bd5a1521073143510a6a1819e49b8be7543e1d35a336ef629dbb1f957dd70f56dfb3bd1e6314fa7ed26783f4809da40fdb8467b8478be6a9ea3c8d1125c3c339b9f0302a6198e7b182aba5a35ab4aa6170d6c18127950be210284551b9131edd5af77c961691ccf5de899e8ae5c4c0dd79856f0e6e2e0d5b2e18dd92dd58e3138dc4ff4339310e883f6c800874c33a33e12c22785fcdbf4ac3a650f441c6964778a92c916d734bac91df5e12ca76ccfeaf3b5f8b48de836cad2907bda4621ac79c31758de947dcf7042fe50141a1ffbdfe146c9339012321182dc2621d08538ac8e0e4c24bcc6669df4d9af1ad7d925180de45aa277086ad6a2fbe905cf400430feefe8d00adb7a6f1c2df3d5519969b111de9a7b3f1220313c3cebad8a98970fa2bc3a78835cbb7129e9e583ac42d6b630a1a11d9890d0200fdf7c161f16faab4a336be3bfb62a7151c1013f25eceec02cac17f0b64035dcb6fbe5c5a728fce7cb1f201dd31b0bf256db95e751e0150867aa0c37750a1ffc2158a93dee030ee23e935a7c7e4f532b5ca7606b8ba26a00781a490f4bb1758236032ebd8434a13ca26a2f868d2f73834198a7bfc37c2c30322cd393cc1cbcf2169b7f7335627b0c86af5ef2d80b93555980928f2ef8e36dea2fa4a6200e936f21ea2a2b503f973e2817bd5e6956894c6c8096d855f7b5612e3319fcaa116b2db793d1f5c10e7bc0802268920f14eab091c2a091c25d179b4429289298b766717a85e400adb903031ff008be5dfec660be66f55916d0252b13633c492b4716e8c6502b05fee96c65e4848725df61a03f44837a454c8c6445b5b1127eda5ee1b68fcc54e3314fe4c3e9e296bccf308a228da297352702366727120ad276e373967fc64c7f732f888d6989adfaf3a7a08ba8c4f72542394515ecbb804179c5d5366cc0bf185c66c2572007be3b99d00d870117f8c8ead503f7e2949937544c6fd14901b523eeabaffd1d2423f89b3a2bc14edfc3695851251e4b11fe6fe198562d30b483b3d61e61915d6b2c76caa0f7057bb0344ce9b660baaa897abbab130b660edb3edf84dcbd6a2afcd016c116629726eeddff25939dcba8c1c5111d992e09f306a2819376df33834737098e0119476a1c0b07f263f503ac22af4d359c97c843d9ac0dbb47f8d91ec004e576fe09411d0bbd048fde126cdce61df93ba2fe644e01d769e71cb00b5d1c50d69ebc11f6af6c93f7ab5c5b60418eaf3600040657a3d9e22890d36c7e9fd59e06cacb5543fb0dfd3fb3ad355928d7a82bc42caf82071c9baf911c2bd237c61458def8ec646ca736945ff302a36d655dc7b85d9548db07dd0aa4debb403f9f001f11fb80592939f1d9167002eb30dd0984830217c8ca352a640cd78d885b3caa001760d40c4bbd7f640b39041eec190e061627338b15a2ad6838892a7796e9585742bcfcedf3e8eb3ad4857414e0cc01d93720ab4f651619fe8a43dbe641cf62f8db2014ef6201bebce3cdcd954db86f21d607564e38106843af932cd19cab253e3ec6988bf93d0a95f2c794154c912c826f0e8567a954581b2dfd5e69f808919c5e69458479098b6259b7d41770c742da20f077196b9649679eec328226bc8427d79232e24ac74a4a54ad3285276d9f0343a2742ec2745b842195a32fe35f5a89049ea7ce4f65fbf74edb4e2362dca02153f07a89613c8ad44be95936b01b026505c84a18c6d70e3f3c20326072af98804403a42a400aece42f9c05d709cbfb029b382feb85d0cf627e3de20f31cbf2dcfd2457855a44913cf265ff8fb06345200ed078800d475bc52e3ee0bd45d2546c7e1cfe98c1ff5c1a98c9b56e170f38a0a2ec568f6442fcc611adf328b035c22e67bf1e9f4dd5b5df3c67a365520f5aebbc4a7a1023268ecaf10d77a38e9737f0906e2675c40aa12af2eebe99324a30b309cbab026d2b95d72613cba932add90839e444813258f5122114a0c3b7c0ac632181a42e8e7fa7a957c9fbfc6fc03da9e3283d5568c62de37e0162b3493c4027a0d4d40c5df3599e7cbf7728461da513ed6c59d5e6a35460cc1dd128ebfc6f6c7692e767273f966798bf4b2aac05bf4cc46ede9ec2fc803d8df9eff413968f559e78f5a4bf199f055a07fc91dd0519487a18ab9143f918644f0b4fc4a9fc0dcb3cd1c6c688d399ee7a17a731a4e9433fcc566c796179047a3e3dfb5bebde2cca67b5eb86293bfe272c5d5b38006ae995e604d10df4c31843f5a2f10edf65103f025207148af2e6bed8194c21074056c2e262b8ff47d0e3baac4751f0ce3e02ce49198d2f5b84bd01039e7032f264bca65f4e2854b65be8af983110584c58266e702643522360242d6803fff353c54d44beace7c8148acc7cbd59875ce5bd547cbdb25a13d70436094a63648c4b64002047d3f7bc3b1878aa60dc46724811d402489e9111492ca6d6a8fe990d169d6e0fb043d6b4247e2c89058e3e9297064e913c520ee39d012d3410f7f9c826bd171b86bb30c9169a6621352f599f10c2ec12012d8a3f90edd1a52048b8410e750c9a40c160d50f915b1c965b28ff10478b9d759427707ad1f2c278da183872d118bf1c2b5128935b4661a58cbc456edbc83624d6b4663d3766d4bd06eeaf10f096dfa57f42ce148a225ca2768c891039b4f12869c02671ee8b365f479bc85676e1c81f1ff6b11408385fd7708e803779a300a1dc29233f78d0e79d7809b2b1aaaff06d29022e3466d82e8331f6834442a5c803830c2c9c05cc1a622cb309fd5d27f4e103cd18c8916b5854ea82084651fac6cfc2cc2332af6a8a0a682cc9b1a6bc2220521d4923f782c6b8bb4f40cd71457fea824c5c8f9618071beda4ddcc64693122e53ed2afdfd1eb03c0369ff009da9c57ecc1c1e7ce34cb078500c52e7cac5470a978783e85f16a8bf0158bd7e035088bf81206785ed6c7c656c31210aa9bb566e1a4150f7af825e72d07b61121c649726dc8cef26da081577df913702d906452add5f166730e168700d2fcc4247fc3f371ccc02e2b756f0032d029446015a80e7aaec2dca3c2a2f9e31f5a36e4de1a1655e140e74af98e6bde4128a71ab9e45d618051586326102914896e890ebe56b190b9eb333f6b00e1532bf5ed6307775acfc853a1bf4f4a09f2d182e62c74736ea1705f9af750db6295b4fae0161d256aa0cb8d7350da7422790f633ae766fd042eb159881a2a7359ad35b8814b1d7c544327b560ae7def99c2025521c4e4c5150bbff3fdf73b12d256c33ec28755cb13e500d4dc1ec2533f10eaf4579207db0d9c3c57de6be8a88eacbb0c8c59bcfb26ac45ae850d05824ee9d3d23e70b77e234970419751c643a4a04a41ea5918dde051a070976211fe93ec42727abb4aa3ee6b5960600930cee62847547aa3c7eed51efaca52825fc790d759cb5f35809720e74e0f0c9b1564f643677179ccf4f597bf2b4fd0ba44c021c8a45005b3553e5f68158451e5c8df38b0c0dcee5cfe886c1aa299c1d59fe10a1bfb4e65647f5077ba65ad111b42b477c208ccc1ffd07ac4ffe3ef32a022af737d6abf2e7bf4d9bcf1a8b94a760c167825ab8979bce654d0b03278fd0adb1197537748a197b9f92dfc8de150608122b6e62fa0b807547172e71e939b5660488333af4af1d28a8a5fbff4d53e60fb5020c02d340c9104502589c8fdd48ea904097cf343d0937e82091a5db4863d33f380c6a2fbaa81699831c44b65ceda9821e11fd2b56f5f67932e8716ae71bfc5385203490621a38401447ed786cc7e10215784fe691a825998ab89f02d1dd4f14be8bd27d3c7a30fc1ec9b39bf9e36269474e954bba005fd0322af3c40821224dfba048a097c004b1361011eb83f50ce4eba2832dddd7f18d5c0f8dac6c958bb7eb3fe0e3cc5bb064c385ce444a7c2682fea200bb546e23dd1b46e8100a291546e4f8c459d244015e90acc86348a109b0da609b5f1cc69eb2edac396c455b09d7ab268f3092ba7007a3b5c074e9f27295146b862a62258eb2dd8da9e22c6159ce2b58e8bd790b7e9bf4e4bc151a880a1627c2110ea84c6de947f461182b581ed11659aea5bbc8200c19a7cf4d5f50eb6c2d0fd321ab14b840a7706d12ba19e0e794fcce3fb21b7317bf08a44808e90a2df64910be55a95f40c478b22943422d1817acb1ef39af8f09a78cba43106ef5808cb63aaa379c1a5b58ba4840b4d389054548d0380406f8392ac7a7e38105a5fa51fdc99314084252a2dbbfb4b285b6894178e087b88f00fb2be0309b95a91e9dff9a05a81b9cb530f23d02fe24496d909408a6b90eb73980cbeb9530a61b0fc0c5377d04812a9a5ee5baa89462ab28d31422ce030a886e0117b8973d26b5a47d8809601c3c5837b8e3023a1af1628f062a758e637c9fea3455e38d9ffb1bab19be2117d0bb7830990ab4c3bc022a459a0667baecc24e7bbd4033b32d347b68a595bf6760bade107203cfd0e9aadf1eb1ecd3e09f3c7e975fb3224e39c0449013e4b8e3fb5172f301e153a8b693ccc2a3289595cd004255c11caa9f1d85f5de12dc1b4e8166ac0797dbb43f8541e4a65c675696b65c5cfee93e52c9155209cfb4a1859753d4cfba2c29d0c1537d2b482e6683a804f3ace2736eb72c25410b58f67a7fb1d92e2596e6a0bf4be799f267f6684a4d4bd8c720805e3fb094114c727dcc6f95bdcbc02623b78881faece745c01bdcda9b5bd45ae26423bc22624e1310ad8ea509d5ae56d6aa50823c5a0968abbcff152aa63f560bdfa539b2347e655a0ab76828ac62111e1e03237ffb875cf5928217ae15008b59a7acf638da40a5b45db47a84a26fc31eba6313b9cc654314850a051f43477d36d4ae2553776a7be93543003f95e5fdaf44bde6e5cffc007b38861273b3129c284076094a571dc2fe910beb81d3168835fc1718fa54f7ff09cfd5a4a12e1ce60023990e14a955577e7ee71c35366664f7f63464512e033acb1159f0d4bf106fc1e255284b4b31fe1026c7b679ae8033544f221898c215209c2011080d813e74bbc74f3075e3b6b05c1fa50b29b267647ed519fa2e599bbc7494c0d3fb74fef751c74fa445dfe6f5f2649fa0fe460aee2b10ed0f17a13c5c56da4d949101df09b2ba2b14af8f13dfb2312beb8974d65e065a4a6270338f628761fd6ff810ac6234f51b2002b2fd6e56061ccda3c26b4cbb811bf4ca272ec20024457d143b0656872706bfab28b565aa8a41330619d07ce3b6010cf8642f9d362eb9529ee273ed59240bfe820948769bd3002bd307981beab03f032ea6b4d80d2f8d0f59aee40535f8b29c66729d17fd19aa996f7d6f051e2e829544a6d507d1666e1909bc40595a472e5457185a7238cfa28d56613a05a7ee64a2c11dd88c3398878bc6d2f309b8e5bb4372dbf32fe882ccfb30222cc3c5d67859e9cb6b55d72b616e4ac73eac91da8d4268e367f10e8a1a01e150f7b83ea41d883f4d5c495aead1b5c9871deba82757a755fe6795ea5abb37cb939ccc1898bef3eb428f5f6518369385ebecbc532a155cbb0ce7ed6ceee00c7309c7e0a686057ae19842feb6df664817a596f29541a3001b3dc2b8f169ca12527ac70e7c246a1f7793d55c0b589284c765c70ecae5f13fc563dd20953347158443f7616abb5c7c6d2ee8181d60190c151586a8ea9aacd1c447491f597719d19aaaa668be4dfc0f04805912920dbc5e004dbc198e0156449cd51bb724d08b4500f327ccb47cbc281df4483b866b6ab59762cbbbc7b780865c228ba493bbca52b90e23121e958128a314afc46d1b8532e1386029ca38855628b585d4c11fb227bf0327cb07ed83ef1b2830492a345e2c0cbf2e065f9c02e7fed222ce6134bc91f61c9cbc7f9eec243371f8e658cac23fdf0c7d97e84974d28863f7efd71b8756405f0f1d13ef48f976d7a30e2bd39046854f1922d5835027408a33e0fdc7f3517b80b4fa0751e43fd4d7bf6b9bf8b1f46bc0bb74157e8528897a66b1e1d0cd21802da212a11f092626b43201f3400df38816206ef5afd963b594c282566008ce68475868119fd36e168abe149703de4e7620e4afa9e33ebeb9632cf04fb05a498b9470baf21e5812a20891eb75faa82a2f105e0e72cc276ba0ef69cb7603de8eeee511ede5afd5bdc1b80657f8f4dcfa2c6d72a38e1de5da8631d96b80187c52cf9abe6b4cbbe115e8c7b60cc1734681a39077a006810f0d3b6aa46aa1e0e4f040c01db2823960379f9d9fb6ae52dfce62058ef84e819546e0ba15e08c49092e9ca28f95b9cfd3abfc9906512e22900403a7aa6dfcb3d7453b3462a8667fc462666dc6c1fcbb70d247ea0bda9fb40014182aa53dc2af1814d6b5839852e4039f8dcdc2b1784024d25b79745037742848ee11ba500faafa171a8130f038da8d6009daf5ca113bb115a97fa14aa8005ccd0e3b05e50d8a0191984343144ce5a6b52076efe4b6fd138a4f2a85cd6462f3fe48381709e740f72916c02b40c6c225362a4bb02f0c31bc1ee08e629622f6e9c2df3d9edc7d7b7619ab0d60dec34e32bf117773a2518763e596e02196143a1f6d3c4a3033147c177a2b695d2dc7c706a871d3b85a500fb294dfeb58db7a0c6186823bc88d8ab8a0a0d085f41e46ec0269dcada4bb69e06b626aad69006eab04d003ba532557e25bde2c670c69a282c355755747176870915ead92518f45921009a3ffce2862de4381881748b5503a0584d72aed058d5e85300aa97768d988ecfc6a9b3f8cbcd0d670237e8eb3170518cc33279e67b290f100ebff59a25e3ff199d22cf5af6cd87dd74002eeec6b82189953a30d34d37eea8037b9fdc10e975f197c79a61d1da49284b68839297b06cd007780026f892fe632e6ca53cab0497b29f1238a54e6f4068c9b712b55ad289b4b0eb476c024bff2ba11d3650a63d5cf22209f2f7f7de5f6699994eb3a397fe839869a1c042e0127522f94e7da220eaac4af09e256dbab808cfccc7b5ec307981dd035041887e5fa780ac80132e1b62901c39c825f41a9478163bc1a30584cee5123a6a2e0aadcfb5db9e711b48c633e1402d2bc485c0c92520d1b2132d90fab0caed8b162f606cb09679e8e6cb7c977400089c6d849ea7ab62fd2dfecf7ae896795481c8bdca87b1775f8333c2c8af234765026e9c0dfca9a6a4a42a89030bd0ca82b104cd7e6877ecadd8f1a7dc10c408ee3f3ba22c79d3adefed6228b74fedfd1263ae37326ca7c176ad1d97bb5872bcab290c02f7090f10eb5e8ea73c03a4a0d641b5bc63428e5c39ceb9d3f01b816124670a3affe4b89704ee3531f79269eeb7b937ae750a4738f303645a2e9f7501ff73cf9c3d1ff78a62d7b38db0bfd088f9878b109e129aa52819ad0e4fd595be2c2159facf8d7938168a8fc7f678b03c4362ae8972ec5c508fb395e3f22c6ceb4f5ae3f375201848ebe78e468edc52d74a071ea82fcb03f9bfc7e357d23078085177d4b259a2bac4ba6becb7d2a671380d5ad656c569a90d35376fe5616e614b536e2acff7d3488cc2589ffc9a27c6a70cb3ee907a7128880ab04d14d9364081ade4f99afcc3526703dbc367aa8d942bf8430dd24612197d9412bfbb76f55c27890ce91f0321fb101299736c605227857b9041c2a20285a66ca81212196ecc3737904bd76735588ecace01d849fc2bdf9ed8674864dc232d0701f3972b7641303a22a3436f9b0ebb4e39b75627cd91ad23a81703504c468d3a6abb4748c85f5a1a8dd8109b96a34ca9f0092c2fd12bb081a143eec771a48064649f5dff0081437cfedaec8c3ae2a9a08702b0015c8500e02161cd5ab50068a996e7dba42d7d4ac9d822d5daeed4498e8a2d4dad49bd197180e703cadb8e4a348ff898be53fdee54804b2a6c978d90b9432282bf3a8e618c6349855ead3638e5f7e12414fa5d4062f08d34bedd9c711f4030b283569108c57161fd091bd8939ea687f8149e23a9d30fb6c897142b0e43a26cd3137181d25a953eef4340277948b67869b4ab6f916f0748a75c3b9b9eddb9408d13250e71d776dc1e5522398497f0b06b74088d824270b7920c6f93c0a1fe4e425e777a1e28a03b1af53be635afddb1fe6d3b91057c1b518b235eff471db929930388117ec4d22049130104fb7ad587a7e9a8441de24b53844ea36d8e1e410787eaa6de24881caee3a3983aa1bab79cd6358ccea64eb0f897159f41f09ca42b962698a213c4272bece825cfd5703aaeb6ba5ac0cb1fab0e5903110d77cc14475bd0064a1aae9971841d28ba6c8dbcb8c9ac78fc379fd84f323a9141eb8ade854c46abc2b284665c3a9a789c9899e8e123ba2d63576d35d0d8dfbc9103b766963e052b2d2b5db638b030658f18e93bb60b609f61dc7f4234276f1099aa68837b26a3280cc17c9daaa148368c39f41f1746c13ab3fd42d911d5c6ccf20bf54493efbdb57aab795daf6010c99f8b7d6d679eb93d953ed8302c6b7fbc0c0a14864a2dcfc591e10efbdde1778f86e3ab621e894ef3aa30fadf779ca387f88020de09238e93202fe21e374e4e79f4ebdd426d994ccf9f45414d437855e890029214417118d094cf74c145c02965668239721080f15ac32927e1a1a9c322f5d01cfd5aabf3aa2a472c1b2fa6b8037e2135b21dfa502db2c0f24e3d8946aff8f413dc0d72ff7c73c0a12b4a36d85330c10992c105936b2b2186e5d60cb7297c7eaa5d64e4af88d218bd311dfabc9c919ddd6c646e9332b0bc5113f7e9e7d64f0fbef823372dfa659a78724b61f6a0aab05b42fa3bf811ea7fb5f97562bb49f6db14086ba8b7b8778e4aff43680e38b7c017f1907f38e1bebf5663c464b20f5cca71fc1b47e80c73fef24ec65974f671852a0e5048934fd2d671d9ec8d3d8ca3ad4bda2e6708a64bc403b1462629ea96d98fe803a9fbeb5b1a7407a6c135523b9f9b3d1c3ee64e0dfc099bf8211c34a04c3eb88d41eef08bf8064beea59fa3e17887293a4573a0d44af02ec5c8684acdc88806031f1649a151390f26d13b49c4160175802e0af364ea37710a776ab4dff4569a4c7f324da7bbc99e50625ec96869de29e6754138cd37df9b667e9baecf9ca5f5b9df318e3a694afd6bea1873fae45cb5e63f58570aed34f5530eaf16cf4d70c675d85f0994d6e4ed57ed7e2cad149f45b4f0f2777749b97a033defa9a1f065392a2e7a558d2eb1ae867f2740c49370c42928005a789aed8345ad0aa4cadb60125117e43918861831220216532d48a50e61e46c42c760a010c99450c748cd97c0a82723c2e98d0298f21ed4f7f29586236670ac789146312f3df9b2d3825172d2a1659125f97447b125e26e533cde94ad9b6d8804fe915f9901c4629d829d8bc69edb977d66d44366ef0d7529410eebcd8d1cc37881d63fdb5cb7fd08e09b226cc639150698bb258c4c8ec1e912d038ba9a06ccc797df751551a8c6fd0e2b60401de423a3bc754c8b245d074597c93fe87fe2bae950503d65d6842761fe77bb1f2f363a7dbbb1803c2c2772cfaac31ed4735683ac3c571087e9838621442ca6890d1494184cac9b8fc02c72ae2b10ceb357cd838c139cb39e4a70fbfa620223467deda8a33793b2fb19f8c5bc88e608734820f18659ff7f30480f22893844504d2285c7305258dea37e5af8710d39f21b0db4d05d13384a0d10d3e84dcda0927dec9b49316329c8a14ce1167510e914c1f36b15cd12065d9452f95c593232add53c8761a3a694427f977f049abfeb4b96197d2516ba6283e09f5b70bf20f217436009292ecda79f871b821068c9b2c1aa54e1ab38d920a82df611e57f7b6d8c8fd0282beda97bc8c4a88ae25554e2aff1b387e723685997f8972dfd340dcc110b96e38a0759a5287a355432825a75009f8a8850527d18d57ccf8541d2415e36399f8b1a6d653b546f0f6a92ed96d460ead4b074fe547617306c1f085d07a6198354b4fea7921c6a1f80c650da1c1d3c13dbb1249a3b7fa8d218310f161ed9d58182cfe01667ceca6587db9d56a51726fdd2ecd700db0a97818289f0e130621da45ade6b4ff39aed0a7483f558d11061e6001c9e1a5d4b2c23dbc8b2de6a17a4cc378ca90b0434c9a28f9cd8a352044bfa9e7f170fefecf363402508cd4265634a5a4a5dbca29bfbca0094ea2c5f25e585e15d9d0044299752180dd3356ca71f6bbb3532695c50de782b24b363f1fb3bdfc07beb50392ea8b829b9f4e324b10951aebe870b1723f988473cdc5855767cdd545f8060371773f25c1558efec66556c8e2f02aeba3dfb1559f6e36bfa350ab5c75249a7e97adaf703b0e3cbfde95a9640c83215c147fdf3f0f77b39693dcd3fca07b24bc0bd11b36bf0d76f4becc7f2d0b3558d1ec04dc17f7655ac66c0ac6553a6dba199aaeb03df8ca918def380e25e2d6648d911b30290b4d10922e91cd3471978f5044783cb1ca6d8447cdb75d340c6461796f6f07707de8bd6b69ab0ebc6fa8a555493bd8c87a7130765290eaf4f111b90f0447a1bf06c26fc3b63c66055099008054014b4cc9d99ec9c2abf752b9b2f3ba699d3987247427deb8f99c6c39af1de0eec989602e85439ec546192925af5bc4fdd4e82cd3e52939c2c7203419fc10bde3253565d5f828b1a52c69d207ee3d439641f0512b5a75fe04b8f8ceadc86e2039551736694d580476c1eaed0a08d1a3012672409f3ed5f302738188bb8efbd79fe5ea5436e645788dabc353bf655d91cdf355477cc9e5cccca4c3bb6e99dda65d10710c10c1c80c0530cffa21b950fb35599bd23ecbb56e8f4b724a058670ff85ef6ead04eee7eff68a8ee8cc25835532817f50727034b035502508f9cc6e5834c27608766772f638266ab4594d7a1ed6dddb2fadb4441d70541227f59a086c78132ff1a3fb897cb885818872d2770b99fa384d8af6bcdc965b42620d1dcfc17bb738b827694a553dcab9e0abb9f38e7d23981425e755925117164c46fc87502f6c5d6fe714657295f122667b9f0f97743de3b08937591ee4202361ac4d37f6be1b601a1a6d2e120f62132c6a52fc837dab4b7e2c6cd1ce8d82dd7a1d1f3839e1b1068c3df2800d1bbe494d775e75d0ac74c0226dffc30ac901f9efd6fd4dbb6ebcf57020c6008e799adc5113c0248360d75dbf2211f8af9b8795e42e5d9053aae09e6514fc6f86a92ba4bca3d5db43874776470546f6652fda4bd3b9df32c0f3ff1366c9ca13af23c3812ec2899b7acc0c2e2557c21ea403a5610bbf241729731e2849d263943de59ffeb1376b67f46f1b49db4dfb6fcd2cdc4144632082bdff3f6318de75a63d079bd028a60342b33d38ce899ab8065718b92b4859de384843502761f954e3a8d25e1710a81ced10388897e183c2fa5cf3fce7ee870f97e68a8716c39e28a65088de9e2b527b923546f02c49181c644967925d8bf658e0c561ff5ba2ace3fa162e703c93042e089189a52abb209dd7940c66ede8de6164f6f01b82dbc72e51ce0f5466c04ebed2637590acd0faddb075336f34ee758822618457309d017c688e02cbcc52477e5f5552a21f61f006c57c174d0d5ef7392286f4f2da2353a450b223f78e8e3675528b3473cd601566fc0a63a918fb3f8f0ba41c395ac009d71f4e97be54b66767dc0f53e6a5dabb91f3ef7ad8738c129ae369f12c771455d4ef13ea054b768af88855eb01de1b9a6553207c078a0e58baeda54c648868b385c7a81dc30eb01e8938272977659f3189d314ca425e000b97224af0e4850fee85679c17d07c309b50acc3a28f183f0f8310621c5d2cff1dd00e3b8d8f86b4097ae0b8f1190109bbd9f52e81b60d93c69f3be2a0814a9d877232df54ca348c41db4a662fb1befce24aa2bef4937edbc194514e0b4bc79076556956214222399e9623da868ae5ca8eef115a53a3caaa19ec710516a3c513c14aed4244f93550c65face2a252f381a6a3d2f56957345d1e7202cd9de1ea53c1f22a2ea40ce049299b111c2bfd523022dae4f234c68ed72b8400bd6812f0d3b40f081a12c5400046e5c149cf1f401bdf9c32ae6b18152749fa734f9656fb3fdb0862a93e4812f9d00286775d24313edc706a898e3a07322e9c43028bf1f93890662f8346b59334cb0c4b5332d479d778080465a8ccb75a1c25de5d390cf98810433833afb36d0a66973d4d73f8beab0562f0b9b6673a49a30ec8356c3ade6bc0bfc449112a473fb24a505fe1f635019e9b7ab255108a217fbcf12c87b5120ea19918820aead8006173e58c1f369ee539e84cfcf8a285af8a8308bd0523c9110c8ccca3b3bb9a431263461fe561130666d2cdcf10752387e02573fc1888cd884a7f86a04decade08de3886942fd93a66a592c32f1ece277d84ad068bd59b6b3ea894142c6b5f3eb9e04bc4e8dc4d63433f28e9a12f4a41ea1d89346dcaef759bec4afaf18974323366345dbb3b3e9d21231530cb44118cfaa3ad5c39941d575b45a416d878708fe00a691b0c28e4aefce90cdbcd47f1fa4268e11b29de50191aeee468ea15a302bf3878701b65f7354dc15e42b0464e0684ff472e6c4b4becf4ec28568963337009d0efbda7c05564289b6d63dfc21bd2f93659cba41125770032db5105c8688137df0277cf592793e9ec2d52ef4ba29f1c4d47d778f5e38700e5c277ab63b4d53ac0555fb3634a621ba6646b48defa26f52b19a474a90fa883cf1ec70b133885d66585083ff487c82a9ab92d8cbdd893d21fa4bb783f775aa0be51bed2d2885daa197dc487c0dc85f78316a201f0798bb7c7897f3052d87ab307b7c7bf5ddd2723571082588345b7fd7bafe24775d8ca4782b8cc921accdb2935000370fb88c78009c60caf086a0ee86712b21f17d2c2c57c916992eb55ea833d48ca1a9c65f5dcc7412af19a0d4791db1d961a4fcc853ab7902a4b1d16d03b2bd2c7d7719e6f8b920dff8ab2e7bae1b7337ac701563ef38868a54743586e5383d15a833c3092801f484547ee0fdd75e6188cc7b2a0a831499a52200520681023f9807e5d963f988cfced6b557bc83588b2992ebe97a12c86846dd203cc678d11eda9041e1d7d7579782b50093cedcbab38f7da45119397384e7ff21dba790c63d0a985e31802178a9350cc1812ed91e34cd4d24af8ab893cad0f774837f9058179a5728351de289841193abde1c28250d8f247565bed45c809e21cecaea7780d7e50c21999e7ca56b7ad689a8d72dd04a71c9488aedcde61163a7e1f0a6c016a73a74323ef53d4fb83c9cce9cd1ea6b4a477c6ad6d8fa2afdd382620e8b2dc5f28bd2896495c04f1845a6de11c8cf0e34d234b72dad7e95eee6d58ef2eaff04aaa5b4cadc693eabc5163c6fe4b5882a38e3bfca6ce9edc3f5688ccb7c02adf890fb722f8b0faa9c9960d330ceb38674cd631b1ed57a17b0c2e5792500d2321e06da02f80281f60945bd17adf08992196aa920c83c9fac6c9972b7c3c71223435423961564d8db812ac540b20c96a39cdfb3436550e137e0fb31e654fac10746b0b6a2f752ac2f9b43988b204c1f26b7c12000513dcf0e2284a0dce671da9b3042be3b035e54ef8a31048fba0b348d28048642f329075c022534474f4aea11a9efa2ecd280ffcec50bf39833ef40560123f9923eb7ab6e6137f243b4cee6ff35d3de100a68f63083ecd2dca64236c8fe356cf611b2065da594acb2c46b71f835ae576c9d1080b3984dde6791163086b2f8dd93ed908b578ca658bec07f23b3697778da9d602172700472b78a49477bb01e0c9bb7b700d491ed24e3c1677f6b52ba11a542440999996642c92442e11a5f35546a231e1bebf45412adfe2302799aaa051b79c1f1feb7bfea262ecddbf844bdf315833ad7e8c9774c93a0b9d8ae1c50cc270281493ec87ddab970804045306972926fc0938ffaa5071a824b24626e6d737cc3fa095b0698feafa20b9e489ead3682fc4a55483881323f2c3c5732ea0fe8f3bbfcee3b2f9516337dab3c06045dc6dbdb93c1cb7413ddade263d429be230517b2229123e6f36b70ee56ed432bd75d618fac10156da35f437f86e29686a93974c360d093e8950df65e26b55904985197e1e0cfaebbdf661e15430b822f49a624255134b36d496f2ce53c5270de030ecfd6d9f262b02f727c5a70b1f14aeba1c594d2313511794cbf81b479b507b1050bc016ca0320c30af849844c3a49f07b73d591f55fbe80e79805bb63059c25920ce1ccd1cca14c012817c0aac12f920ff0f67e16d855fdf46ef3ca52de18ab637b33556da3c352a1dd90f0fbc0cf9bfffc03a67a274616a90b9f26406deea549167842337058b300f978cf864fdf3bef3b6120b8b3c01e001e0beb96a6a0730c9d7c9da025dec50cf65f8a74f70706c6856c11e1c00893100a31364cbfb85634c003cc3b9532a8c3f7120b3c4623b11eee93d98ad81e4b79ec076eaf999f01966e8c5662b0d97ac29e7eb8569196f0ea97fcc66b8a988e2e082f31722f3894d5981b1d23aa2758b754a60525f34f90b82b4513cf06881641926b3756dd7ebad6dd43fcebfb889110e757305f5129da34c88d79eb180630e8490ca8baacf6c677a76f20d56b7aded2dfef03a162bcd39df57dd0638f21aacfb810344db70d7ad4d0dffa36c6abd7d4a72a7c669bf6d9988772085b67de01f9c1ccca7710e3ea0abbe89989904d697fbbb7f2b7298890fbf548b136be51737d80093a83cd01f7edc8812944ce30c016824fc347527b8cd42040682578f98793010b8915593434d00d02e514dd9e98932d8edf5f0932ceee1ac36d8dfbd0edb81638ee11ae3279b1572021ed7ecbdbb4a80170c3de6134d3c578d3302b55d296f4ed1e2c745d7943edb3cc96d29e873f822aacf8d6ae07083f95d4eaa1d1b656e76d73f0211dbc24803064976697b4cbcdb0fb119a306fd11fc63741170076a86979e96b06312a71f1ad620282793ba7f0ea1a952ab7a0b327be52050d61fd8250bd57c981e257103300179ba36802d161bb57e16cdafdecccabec6b58dff355fe06ff2726e2462a88f368ee113a07ffaf19e1fe2dd238187995411aaf2cda968d6328e0d7efd43bef726ef7fd3cfac8402df07ad36c81c88c9ad7730da1ab075bd2050448ac8fe50d182f6602ea78ec96c678f4b5fb892d5080b17c2146b1104fb70c5feb50ade99e9a0ab5d86f01e0c382166451be2837890f1896b07f4bada390eb6d5bb8a391ac5c570fb0c0aae7010422694e811036f719b5d0292bec14561abf9d36538a23def41d039a5bdd6383716ad8497a001a66323a0b4377e36be85bd5892a22a74d1bc190cbc48ed8d80746190fafb24cc283a31ae412c600f61d61e3bd565c7aecb1921c4989975dc3b31fe68fac681abb182bbfde1f5a58ac932842a88107e7064cabba213f5abdf24e3807b243cca6f3e458198de8af3518e7ed5b2999d12ac6d3ba9cef00cca89b3b68e101e7760372ba1cbe964a473542663c35574988aa4a041552624fa58c56319ac92ce22274e90ce8f46a3addad598bf36a0cb720796e460adf8ed7181c8a430c2e55f99de3adcc73f5092f55ab4215e684f344e632dc001ef787a52c014f2e3d080daef30395596a8c1c8d448b8e1705481ae03827f90ccebc0ce7a34dc9a366e280c02b0208944d81a71dfbf6cca8c31a2561fd6da52d67c0eab1842c0e65a3a94f6fad4c228b758b61ee0064d2e5f3ef0df39b62b6389d4345dc1c4a4e84a5e29e5555432fe3ee655c91f3a52db7b8c5028b9f8b6263f5f4afc0fa2231bb3a973fc523034264b018604743c00f80fc7056536455ca8a5f245df3e690f98de171a03875a79e04d905231554018dd25864ac48eaa13eae92687ba1da6921bb8c77c88d739680a8247d7161d3976e0c4d1831c39aafe142f8c5518fc5af381b611ec3d61177be8969de47b03e4f5778a99914a6a30c078f68c630895a499a5b883a6a7436489fb347a4206808a30f99c043652d5ea4dbb838149f94522f7c540796196a8b292441fa7746bc16db907553392905d82562245553be432cac3b4b7f0cd4adc5858d75da57012fa1984f87ab888108984a49214a78dda2e94fe6b93cb2697d00c89473e4b7ef7689d936da2271eea861337e4faa967aeff36eac73958929a312b89ae31a10f0b6ba5913339ac125d51992821dd4ad3a075c55d0a09659ef21c97e98d9ff5e3240de9acf15d642fde685cb240d7198992543a1a142ff196b1c6e84611e0a3e19622d90e28bb76d46aabb7f394ff753aa8a82e760cd4349cf354c840ffea093944b8981f5efc8214ba4a546b3d617fa3ce1cddc9225ea19cc64b7abdae5fc01e22729845593eb5dbae53fd57da0602342db737ac21a63d07a6e27254cf03c45d0e2f401a20ef500fa165b1f206f2a95f7a3914c56c7b46d0d04f7061fac05473e63fc6ac5674e7107cc2534fbcc656020fda68ffc1b533ca8ff10bb8538b30b1ea63daa704b7cf1086a9abb9f6727a88a89448f8781e540f551abfaa287e91b4fe86dfdb802514e02ac7e03f89f03b8856fba73770e56497dcde0ec46da4f4b2e85fc57d9efbf678566d32f1c9f96b283fd2f433fdefd37ef12b0dedc60d36de0f016f3d8170c68dd6849b3a3520a0ad02b357ff8341f2b5a27753ea974135329100aa3c8518c6e7aa000812e7d296278a24433515c81ab025a8908f55763cbf52fe789be36186680f8ed597ff5b83c444c01d12f1acb2dcd3a3bcfe391fd0b385f0e66e8c483217bb8af004a4a236eabda66d9cafb274f1dfe1a6bc5c6fcae92e63429021ffc5bfe91db6dc3d4d8510a432864789b9b703a8efa9a8260c15b55814ff4d6f41e70686bc3784f73a599f96a1ce4ea41dcfd0acc4a54fc1c031fbb6700e32ad749cc52f27046ce393818c2f6856e5e10d42f3f893377e650459ae9198f89c90a70d6d76d69d2a6e988721d6d3dd08bfd959e60c0fc62b4c3387744f26cebcda46f7ebd3e71ef2b5d3614d975193ec2a9d9fc2c950350e9fd7776f5912c2e4f3f8972fa8dfa9c90b6687d60fcd1b7adfc22500720c0e6a2c2c7fc3430080a64523e9176dbf143bfa1827015f261942375403f2ad27449d3487ae36bf42a5f698c5c9160894eb227dee0d788b05e29d9286679f8f88c2c973371aaf2ba8f355d325535282ef78e79fe722739a3e15e326304f4eae8921f5cf95c47cdf1d203ca7e8461424a649d3454bdc1e60827bc63ff153669e8299945e19ce078bd3790e6caac81422c913e37bec873cc965ca0f77ecaf2b03d8713c1d3299157fc3356b79d73404f9888157a8c67504796c88100f7dff869131d14a9e4362b2de7bbfbc1873962e2086e8f6a53c06c469ab3f155e1613fe06f97f110f347d02aab431565b40d6554d07f5197879e738bb0a9c816716023288b17b35f46d217e4ebcec85a0413f700c6f19c8a782d2dd529515e3e3a276043838eadfb1732d0759dc8d064576b246b7323073accb45bc5068c3ba24a41bd97b6fb9a5942925193a055f055e05325ebc7fe7e0f011b8f2ce794bc75b284fa432f17011a9ff8ffed915f563948adc31837a15156b93f2501eca0e910f63522a1d85dfc1cd341439668e1c29856707e5617ac509f5c5fd9867d4d5e7bad29b526f7a944e9543ea4da937a968fe51ff8f7a52a7a221bdca93ac6a86f4dc73aa181895cf805e377cfcd2ac4c131546f644fdb88348efdcfbbf7fcc752aed7920752acdee9821bd0e6b93c3921ec6fc7fb08894fa0f0e711d0e9250eaff3f18d44664016d3411c832056c2a600be5fd3b88676820ae21857f2701b6b81ffdf7e2bbeef195efa07c4ad744ba2702d5e572b96250627cd639f4e6cbe8b021e6c3609cac897803f10c3c04d7705ee94a70355fd5c9802c464818b6af85bea2b75f9dd3413a52c7453eed3df155d0e886f68c3304cfc047600d7f4fc243e0780bc6bc208b374ee644a59683b08b9b7245a31fd92c8d608b11d6d837078e18638c31c6d8f27e2ed7e525e6f8a028a9f33948b7c488c35b2aec4b35de52615695033fe969b82fd99bd2734fb23743664acffd0d29c6d3c7f8e464632a056d89d4c99fcab78370782bb5c5a70fd905596287c357317e8c1fb52c8ba24e4b63d4a1715ee1832486465cc06ed9c1dc031ec01ade6223bdf2e71e8e070f3975be9c3bdb6fb0a848c65bd943b6dc93fd8df6d9c75702c85dc085487a882e8f3887ede9d364afa972a0bfd9d0689f6d36e52b7e8ed13a19dac138773052546e4076f919e3018b601147ef0f6349a8532221cac6a6d8e00c23fd3eed79ffd02694880eb5e7fd1a82453ced11e1e96aed4cb5e9fef90f5f7e45fdc9daa0dee6477707b9ce5ba7a4a4a0d079fa99fa277bfa4ea928195f99ba5a4f5fbfed8ce951d606f5a652a9a6bcc9da943ee5f4a8ff5ce0cfc95453de64eb9fac8d8947a39fa72ffdcce94bd66648bf4dfd936d3b737a94b529fda9df4be954fd29af5329f54bffd1b60d5918b248f9b5e394d4226fc1ef26603be917b4f1e27aff401b28d7bf76f171ac7b57e1d32d44348646a3d1e8351a8d469a919e9ef69140d75d7af3f0f00cb4bf7a51a7aed4d50db2ad7fe35fa2a927cb3f37f855a339b2aa1c4a5f9fe6f4287b83fad3e96f60cce7ddc928ee4c28264ea97fa3f22996a63ecadea07cb5d557b59a3ec5bef04e3fbf769c63ea68ea97eccd90999447f91bd3d7a741f993bd497914d4d7a7417d3dfd4de95116faeaf428a794ff3848cadf50e590f2a5a749f912ea6f4a9f4283fa93bda98fb26fea54fc3fec8e99d3a31e023006656d74d8d3c3987ab220e02e624a6fea50bcf4f53f28747b54b29fc6e384caaadb0e804deef6dbe8b9ee024de24856d500d2f3d740b2b03dee796b8c8ddc7e37c23dd0067c5244342414f4432fb4fd822cfe4cc4324f7bfe94a3d90fae5d5052998334daf39df87064c37677827c4cb42f5d831e3d6a401cd9107188cdee24eca3cba70c900842c28ad7751fa2bd141654fad8770bdd198dac8baf3c55c329a9dcc4c809d0468436645cb782abd08e300faebfcb786b94837a33e4c6f4a8bf19fde9e5bf784d0db4d12d16226bcb3a37436e506ffa9bd38f5ebeaa7f06f5a69f39a9dae6807ad3d3a0accd9019d38f9ee66465ac8dc9a6581f60b243e48a813143fabfd4ed7fcf73f60bf46fcfffb11250b7feedb7768942e5bbfd4b8f6ad0ee0a1242d2598756e79eb9fa1bd787a31a20309a19bd098e98bf86d2b3f5200bcaff50d5002f5b14fbedc0eaf13fb66efb52d70377f1511ebc35b2fe3e34b65fcab3ae7feb5c5ebac543acaca074bc45631c5e19679df66e76844a31d631c2f4204bbf22e907d70c29a5c4a653971b2e42ea7c0778175d30f4f8bd7eb721ba5c0c6b449bdbef72ee98cf83b6f768eee84c74b6bddbdbbb1d43d1d82f46375ea452a90d8b0a83dbb0a81b16deeddddddd2ad50ab7e2ddddded1fd058e496dfb713162c8e0bee3546edbcf070c2b98ae28e79cf3a1a6619afd328d62dad426c5e67469a14761e8fabb07d19e3b919527cc9feb7308f3056d682f682306b401a405790b7b9f4bda73edce97b7e613385f5fe97ef3757d63299939e38c995144d48e8fe560dbf7a546a8df24bafe90fe9609517ef98a6a412aa53406693fd737ee0af5639e9b65545aede52bff5150b750fa5bb7237f1a69cf494fa26e899a4faffc6a3addf24d23d7df71aeff249a45daab3d7f2a6adb3964a790f6c2fe9b42d77f1aa15810d836e7cc5ed37cb4228d0b0d48e3d196683fda90e65987431080c0d178bae59b4f8a983dd85cc684c8c770bc25adf33886e33c5ea43d67ffd979ce08eaa7bdb497f6ba5e87e46809e66ef9dc1a86699a866d9c8635f6dcdfd0df34ac5fc330eeb1a7e11ee37ee3baed2ca2c26e6d665a46b1293946990457b775c1be7538e4d1abd95da0b300acb182446d1f49d93ab8bfc97ef437da731f297725bfec6adaf39573a3cffe861b7df634a3d1d3643f1a3dc78d600cd7594844f51a1da08dedfd25005b14003dffee05b2f86b9d0c6659de8c120ae719b40b3f5eafe2154573132fa8f139a5e3070f3cba8567681264dfa31b3bb0cf7ea3944610b8866884926b2f5d7f2ee2a25b2c021d06ea1688a44767e88544174036224994e07eac057fbce4fac7f6e62651cd7e7f3b1d3b602ebf4b4d51a3c586e46c0216dafaf8993e7a0a5bdc8fec873dcd51a303f6d3ea90a35b30661fbe9ad4d6e4e068b6211f0ca1f90afb14fd5a31148c7b48891e257a58857b29210496018e1244b09a6ef9583a740b3fe1facb2688cbefa35be20a8ca14496e84921b28410880489a2cb3fbd4736f0e8060e20d96b0f7f35ad8ef6b802ed71c454933e0be916d5b40ce83bb1f761c3cf2e1d7ee6e1228a74cb5f0c849f83cc0e8726b8e870080210382d1f7c1edca30694ee0e332f77a4b5b13e8aa8186f588f76800e9efe3a7832f4fce5d78188510a75f8641ddde276473eff0eddd256879633edf1c31f97cf0fd392cfdc2ef6d11e07b974cbf7ffe576fbd197a31c8149124892302102ce8cf73c1a35158821880feb27089b3248b700111f42e8b9b8b058eeef450be3ab11d48f5d9e0b484cc421e266f98a1ff5438ae52d8e4979cbbf9fe5ad8e99e91856a6850a6da582afb4d0f3f9c6d81d849e94947327a20840281722796531e444c8c9112350c013abf861028424c916553c8c2838fcbcaa50e1f3df9044500e9878119638bbbb3b33f30bb2b4c21354d082ebe5ecd1dddd39465173eef7417879144b824082a448154200c22f4472840647aef849f2049f287890f8dce0081545921cb95f6a48055030590205143140728409117a5e3e384c868ac0020811a8085c004121f4f218628c91638c1e23b34c503f0ec90ff7fbca4f5428927049a01ff85cd1e3130508302b7e707c64d044ec81dd961f060c5bd4392f306578f2a4f265600743437bdc34744b8ccdce90995f866b0a7637d282b99981786d2188e5cf2ff83042776769371c00f9122c96a657189dfdae93410613007e460060f01efaea85182b356260bd0cd5ffe94d3f8362b23643dece98fe6442fd8f983f3dea87b4bccdb41fbdff2d16656db03fd91f31ff32a862bc1003020ea07a033ccb84b252a3002c34083080950c4f05830002300300b693f13264c47861450503e56377fad9991eeb505faab5963e5a1bec4b6f33bffe8ff83ffc67b4df3e5a9bf8dbdb7873f0c5ec528f752ebc0b9d8afff43f62529d8a2d3f0a0af53653a553f18b4ec5a79f41399d5ec5dac43fbd8d3fcaff409d4a2694fa8207e2567a4111b6f9fcb4f772a10e6acf513d49a08d1b5c8736f87af601b0c582ab160cc2216d0f3c70ae58245948f5953fdbb4d718e7704e7b382c84713e3ae308c9f18184da8cf3113190e72afd28eb4cc1c7872431b27bf788b2a0524ae79c92d21df479d0db189d537e6394523b7ff6b43b51468d89ca2f640b226802ca29a59c35f5d2decb1131ce116c70c67643b7f485618b0a8124f4560d0f11147211fa684db97cf44a89c365cbf7e12af7d395241cf9150802d2443e765df93a085df94ba0703f06e24a9eebb1fb9948cc425ae1091d2798e89142eb41854f692a45856bca39a7f4e8724495cf9fcd7e9ffc5ebf4fec615a661ab8fd2ea9a44c4882480b98e0a084a0d6e07ecf55fa7220a46c51854eccc909827f809e3769125798503fc6c11112759a18c1841fa1088bf5a2c34bd0f7f272048b3b84a118832a82f8ff7829ff5c30da312ff3f3e391c6b36b3a688f5890d89c586d97cb876b6fe85533773dba473b204ee61ddccdd08b2f27b3e569a564234eb0f1c0296015c016ce815ecf1004b7e0c2ef01b6a0432c5ce83e5ce83fc0a790c542beebcb3d6c8489580bf6c951c2423cc44e6e3f4691c0c10917a53939b1ebe08a7eb6baf49fe18a3e06ff5ff47b3e0a5cece1c5684fcf76c50cee8c812bf9af1ff9df0f1f40c8c21606b24878e4ca1fdc39a7dd893e78e0a1230716431d35260ce510125a92c30a2b8682c48041fd382848498e2154aaf678f224c90a24a5b57aded7ccb4f7829088b3458fb3bbbb33cbdc40e432d2220aec5238c1420e922960bfb4d79f0b754a238d30343484117ad3eec8673d8b466aa5529ecaef5ad40be7ccb02ca319c57c76b0ab9cfb12395813a0c08116496a4e4ba4d8c4308ad189ddf892fa90930332d340941db83ec40b5c36744644c904931836b1295315baa460eb757be02107e75262891317a2f23bbb33bbb33b272922c507a85092448821b4267f46b30ccb30daf5bda181f08be063a68c1155fee7229fb71b3f8335b8c6e4f78e0cb2683daebfcda0177ff465e0ba0d3d5a5a0a5962a681eb0f6588f4a5835086f8f0a55bbcdf5d9c47333cba4683e8f389219f235e72a60535d66018f6580d86d5b437d35e3fe3987124c81f86e8a41413a2d8dcf13c0e0a5202877c1057cd823f3237cc7477773f36230c0dcda3696586503f1797fe976e614ba3bd963695eaf726547eef02e7e367aacc32a06f2673830f0632e335c1e11995343c66638e055931b263e8b5e72d99ada19d70d53186546e93ae7b0072f7e8865c815232093ab204906bc6534a6910ee0ebe9fcb95d605b2ac3c4123ba9420020892d71090e0844e4a318a4d5aa10c7cb86a280483e00f6c18d8820f5b1e5cb50dacfbd55cf6f111a804b18a9f201a1eeb2748a8c90f5085c1ea183ef5e3d7cba77aab6382fc0948f818a191c21ccc755b6708e84ada73215fd242fabd49fb50fb93db1da7a4cdd685e40bea379fdcee6877f8dbad0359ef8981232712adebe054fe161411b538e1410a175ac984faf1d050932237c2912744241714aa1d870c3d03aaa93a81192c5643170e4a3f989a70058136220fd808215e705dfac65df631744bab5c95dffec6f4dadfa870cf83deeabad1b65771f1cf686ffa99ed551e8e546c73d0def434da9b6c86cc98fec5d36caff2a2a2523ee5b748226d12657a15d3aba49c4e292829a8d1e84f5d0fdc054af7d15bbb1d3cea253d7f4d29a844ea5a9d0cb086ffa8e3ba18208b3fcb7bd67bffc026cdc20699bdbbbb3bca39b13ab94b9be79c1886519a6599a669dbb67155c8322c36ce0342cc13a4bdbbb5cd491d719b93fa71173ad9b68de3b8110d1289542a956addb0a8106e5870dc683422712452dde043d8ef1b14ea077f504cdca645fde8dd9c604da31a984371998e072f6587defcad3cf48eeea81415ee452654617b6db729b800430a5b51fd505b1619ed3a76403c724a89496c9ea04e26300c9bd8841cf4faa17b0f66c41ac318e3de89b4bb2de644edeeee39a7c4ba77f49c12eb3925d6fcdc9e3f0d9f324e1b482104875a812bfe08579cba1f8fdb34f6e806c3212ee4ba0fcb851cc085b890193f31e9225dbae565baf8d6822c3f70695d7f6f411b10e20081dddd2e2f3001310c9bd88429c819e9f3717bf0c19cff1cb184236663fefde0085d4a2e3a125737aa5b75a55b29b8920f7f46b73cf4644ff9d0839e7cb9c3ed1e6c2e3317a310a022388edbb82d6ad6f33e0557a92b1f56b86a0a57ed8306ae9a4a2b70e8a4146311157121655c4a09e3999412c63309e399d43498cc2577c4b076fe966969a0a15b7a8680db010dcf47070935e925f3fb37e0830f3ffc90821458d6b4ccf302112cc976860f68a3b9a11b4829a50d7a50848823fcf161cbe619ed753bfeef2db7f575249d9462d8a49525e78a510c3922dddddddddddd5dda907da57dc8d2dc15d8c3a714a3545289318639b681d9f9b5217a84352607fc52e9900593b29ddaef46b2d70c6724c5d943bbfbbf3daf59ac767169981790b88ac02508019150838368080ad2ade1c854616826869a1a1c4135b5d65a83632608c74c0d8e991a17168e1a1d9a9b9d38814c7c02836c38915d5e7b35d9436f2100f4fcb927bdb75823ead8933a1c9d8b009cf5581616b1589f829e848a8a490c9bd8942e2e2e2e2e281840d7165b842e98e1f2425fab9bd6f590b0eb21af8a7ea9a354d56da72f75a7dfb8ee7b189f728183d1b9f0a96e83aff2a8ee02f0557e832f502f5028140f795fd80f7e8a4a874ae950f46fe9216c95489644da481dfced86f66468807969cf9b56735265d4aea89fe7a9380d62cb005f7eefb864720c173102447403e394541dfd39a08d0abbe70ef81312c122ede5f0151b99a2a7d030a8d1df5f47700b72ab807986de49395191f0aa954811d135600a03da384a2a17dd97fc3bedd739b785a8d1a6a0ad8d031fb03ca8763bd3beaf9abed733309aaa35b39463e6cb6e673eaaebac8e448dd66a3ba8f0a3ce0667c098c2cf46ba653effc74570910a3b086b74285d66165201a2cbccfcb32194927fc53f45b2296a5b4ad4180febb0f839ee2767a755d1585fb51caaac434a29a594f6c3f1fde8b93097357a4d9583f653fba9a2d91ecbb2e7b2cf7eb33643323bb33db7bd8df63f62e0e806852c18605d6a7760dd185ea6942c1555f1b32e14ba1fab533bb8212d221a120afa611dc8d21fad17657684c228851364590811816be9870f613a9342854166aca89aaaa99a6aafb55785ffbc85be59162a7c1d885073d26207efd54b6a0b556d49ed6e8f7187b8450ec5ddddddbd12a36aa663e0c3fbf1dd81d6c603316ea1af6416d579daba8e86e33a44a4d085477ee8d49c5ff5d4ff7faaaba82a7045a5a257540aa604f55bb9cc90e1bb14b6ad1480fb75e7779b115f5477835246d2c748ea136c70865645e5991c15c8b102543f38a423078e1a1604fd30114688847ec68aaa392e5c1102ec78c8cb1c13f03f0aa5282af36458e8b0043638638331b45039a73d9ccc0a8c93c900c2cad052665ef168789e977a9f0abf7518cec8c506676431a81f94a27ef0b5b512a1a0215428885fedfd98a0c2fff8c53d43bc048e4fe9ce304dcc2006654ca8f01fb03dfc547b0dedafbca4be2aa17ea9542a25b99be87f5f511ded693ed40f1651ba02192fec4fb143685395f254f8433ce3536abf547b5d144145b5d7dcfcd07ed4a66a7b1d039f7e6c1d6c0d3f558ba890021b43a8750c6a12ff93aefbd2e5ad5854245d38fce81ca94344482afc2f4a9c209f0b325786a34ca9536719f66655884d32996534a312e280ff33e4f2920997aea874adb854b9756a240100025315000018100a8582e18050382a5716490714000d78964a7a4c99c843518ec3308ca220448c2184000208010400a494cc4c35054c359c1756407e4946d1bb9f068e450e28879c3f3a4926e8194061bb9a609e2cdba7e497047043ba0025f4d63f231d40df821084146bf1cf52d80008490d2376ed190fc5b0d937bdd2a74c347ff2401f6781490510024739dbe9b01950783b7b6e211ab6f56a9c92f025e8525b7b600dabe9f02a3b7ea2dae289cf26099443532b8004a58f5e41f484444c78c6b3fb020208b1669fae5e28e575847609e4c3c5d525ba1075273e74d9e388ba836664bcf6cbdb4c208928e82a846ef4c57878cca29ed28be1550b388dfd856fdbefcaba8fb3e81728655a8d4a0d6f15148bde08e5e3523153f035d441fe7385239c6550b76f588533d20d263b75f313b9e0948d5a2b1707a4c4fccba26736de2008c88c74448f1d07ea7ae92d7d781c35fcf7af4fa3180888cc0ba2fa094386112bcac24c10dc1c088065deb7cbda69bf3bfd0aeed5e4c3276afbe92a83c80d88af32cb5ecd173a5205be11d09ff21a286e2d30d3ec26aa8513dd1a66f4e44df13cefba38257272d7fa2cbbd73e01ad8b49e286d19b08d51c34915e08fd55fa8bb7b3fca80e5ee5112e46001a5626aa2ee2db872eb1046d86275fa63ea695f45b26975fa7dbd6c42c0c537590593df685db5028d9ab2fc7762ac0f3dd3d0e10fff6c511a71520bcc894548ac402372eae59049ed24e0ea7f6f69077293e978b84451a4de38984aed8fd63844f305887cab23599c13af9236a9d9061ce75154953e25d8d6687a0b5eb5fda505abfd2d582049dfc9bbf358abde9b89318e72c921c8dfc19fea484de3a2c30733bf8d88221c59b3cf73df6102a9b7d5ab9bd789b82927541bd62bdebe11c3ef1882b842971a43aa1637abbbc769751a70d2363c43e67ffe457a3870ca85ea5c89adfbd89ea7bd4e1dc3aacd8631f872302c48cb5f8ff7b484e26338474d2e004e9948c0fa1ba091f3b90aeaef011393acbffaf3c1dfd8903d0b48f7e02906c42025445837fd1e6fde367c4e19f42e0eb211ab7ad9f97e816950d3bd07dc5ee45780ac9000956bb14d413f40b208f82f3f8c7f361e7f25475bc2b2daa2104c4ea85c6f33ac4d449676b175a7665e20e8c29909fb8c649cfc148b066fdb1dd4145daa4631a678d1bc0dd01d858e09fcf3ae89c61122a9bd5989c2edcfb1272430a359d0c302dfc4aff93440cfb579b0370d9cbbf24b9b4d6a22fac803e0bcfebef3088fa7d791e9543b3575d7b6344acf36b15b0b0a8102ae92dcdf90d6052689a797c48f529187d0f9d7337eb7c73f67527e4568e96588facd29d26768183cf50acae67cf546637901a385c2a6bbad6f88115ae52f6d109a0dd9588b43dbe0e43ef61a73ea4b2f730b0db4809a883ecb16bf1888f68790782c37cd14fb14d8aada7f83ec63e6c2a594c1999957c1abd2134be6f49168df915520414e592a7ee64d44fdbfa1196f1394dfde7f7c5fa5e701af1549f553463016ded8dd6f81883e8963ba255a2556bf0bbc2f0c3ba63506f825f8b1cb6968aebeeac350c3811428530f5782214edc9f840336dc10e383a6ee1419c1d30d3830ca51c7bc4ef92378a6110940384ad7a4177f279d4b5885138d23c03d0490e93decb50f3f73dafcd23511289cc35ed0f40803095ecb7a9bb2e84d4ecb7d195fd6d8013f6768e6c2451aa227db24ac224f60a0986a1961d3ddb1450573ea88f9c251118111054d1ed712234ee23626f261ebf485747b395c5f86b16d4859020879a48e6704552f3e862d0267be7eb47f4a84b5888e8cf9722cf036ab2aafe6f364eb38b1e6695c53459647b14a1fa658c01e23570d22ceb98510769034171246f4359acda212856234b0e379ce8df21d8c0296c19f9dccb014fb26577e9b6f61d68d5346a472eeec58e9a202f5912de51a5c1483ac2a9d9e4c3598f8570a695586a1700dcddff9b883f570513a95479b8db33ceb9f355d029a58399177a400738a3760f78d4ac6ddfe2c16c8d4ce69c7d6c5fcece7d2a93b4919dba43c647b073a32d915d1ed1ab53b3af4c354c29f94794b46c88e332d9e72ebb14861b585bd447ca5249a19a831c62dd023320cfcc513ea5751a1843aaa2678c9079b62a05e920948454707ccf89e733b91b48b65b6fcf43e41d0f9c7140cde4008e03ba9af4cacf20af50fce784be7f6bc61c62a9a1a267cd64420d7d2fd996f5d8c4f2f6a0600c46f1d62886c2dc2be7f8404db1e579404f3bcf1e4edf3206ac3ace44fa37bcf27ebd50db95e26737656e6faa12798c1f5e57849fea8a145326a5830c4a30019ef610427f6db2bb2b62a8783d99e759b00345d61d49cda09c93fbf8b9dae205998848a2fb6c8c80e6146b4892a4e901535767dd284fbb796a7369ddf5cc8b2ea7814eba2911a41152cb6403960cb36ea47f7bd8443aa0ec6d2e3aa0783abf1bc368cda083b36710b6208424a9e91fe05981679327bee62624882cf3da287e2e33e180786be0106e0de883f2dc67e01ab357ffa1ae26bcd750b5c01d3c4aad8a8852e0ac6e22de113d848def875a14f03f8ec5497b304903809043b8382c9a773f6943635a46f162d0232520ed51f9b2a24a6f10009e005985d94ed4f2a64fb6fedbf19dd9f1d96e61fa2b3c0f34ca232de9a396e4930a2e485deaa38223316b69a17c38d1a08854283844b8472cafe60a2f435caf80a4708a45a42899ebf620025cea21d429be662f2602908d61b41a8a891b13dd4314051e84cf871abf017a0c2b46547228924098440827127b51b6b10ba687786e9809307201092740cf6f8e8a1a05a63e3f6a0b0b4c8a6884c9f6dbd51e70af1234a08b8ba63895dc8d20b48249ee1376aabcc3ec28f585f52b578561035f78517af06b0c5afe444842ee8b38f100865ca331539fbf56095ecd59777c5f2b6b1173520513e7c940f7f19fad5eaf35a0695f7476733602e7d9c7b5b04decefa9461f32634d135c9a10df8a351186330957e113308069f5af0dc2379fc88d97a56eb0e59c5f51822561ce52ae6c12dbeeba7de55fc4e3cbdb4f1bb46c7f16eb598e5fcf1780baec8da5dae696c5902cf6df2d013f0620420bfed6b685e0cac6881f29d2dbeeb64a514d64e321d9a441165cbc26dba9fd9a4b210881e2df849f406714d269a3d433b086aacb85f3ec0ed951f86e13d0ce48dac09d99006d20e4da9e4b0caca6dc57d95225bf710bd22d3bd82ef9d149f684a6c7e547bad5c9185729d3e78a755a2713c71c09c7e1117e1a7a98d8c7e31f6d9b1a645051c60672a766da43022ae9664d5a60085efd9f81a497285e4aa043265bee33272134d0a93033164d5d49571ebf4d8f59ecbf8b9fd823a1d8835e038d7cba824f995855404009c80db05218a6e80587a22de0e8db95a2cd43e8f76871eb7768678bcce5acec7fb7d907a02abdd4a792c55699a9ac97901c95648850ad4186fbe4abe4d23c7ed0ba130d54326ef1774410724c6e4d4be4f52144a7648558a4a0f5acb60ce4b287f778e11440c911334a8affd922947aa3878c84aead32c83ecc9fe1874ec44efaa89d1ff89135bf1974afd30fbf6051d6a6ff30fdbb08c0c8092e55c4e94dc3734e61ef673b823f242d6a4f5e79467ccaa2ea58215649939851e08784f6dc8bf5c97b57c951748023d7089b97122935c8e896de412713395c44973bbaa111740c8a7cd7a8d0f2df0304f46db8d1a6941e332f3b4129ad0d92af9a7035b525d747c33e93732fb812b526bd48f166d92abc74b30aa65c87ca56042db8c627edf8e1a65c15ac5b1bfec047667f941042317bb6c3fd5eaa8e0b92278a2e74542eeba892ae1d5270ffb0a0d37ca1795a50bc91b84d0e70d703a844310f12bd0d0e7294fb2933585f87605cdaf291e49a5b806b7c968b3f0e212b0c991a6bd2f8c89862823e19e74eea1a586a7daf82b2bd23d18e76a056799d5d2739efcbd969936dc89ae5a8cc97510e88908b87f993f25e02a3aca9844922eb8bf40f36468db84c4a275c9ef1a101de9504642911c877f5262de426f1b9cd6c575b723fb653ac648a351a7daa2738ef88e22742e23e500db674aaffb6a1d0ae789d55f65e80ef91a156512b77a81a4b3d029b649d815a80012fcafa661464119882cdd799fa6b976636b9c550d4572499a8408ab29153e1cf28daa753b18cbb1392e5384de715327a046b4336a86240b0b77f5528fe2a949e6ea6935770e8088806589488a0096387f4ab8563f463e8091e6fd121840f91998a4268eb2855ca8d6e37518677fbeb78654da68c25f4cc7dbb39ec1515bed4e5ab51862a5cae09ecd6ca7160c1add10d805502561f1c109566fc1707b518721dc7b513a2a6cd55c407f496f16af0b4b75469be653b715c438814b4c4034003d9e41e52cf4fcb56eb92c42c1255c6cbe8683f078a890d13987e297eaa822c75400dfb41a9f1d89d30719d11b56c0329851d30ff94f7c8820a5347f137618e091a988c27c403ad27c2ef8ce7a832aae3cfd9e11084aead866b8e0c8a7fe1a586d16a2d0bd6265aba22c4d149d24e727cb462b73bd06af2b861828446002b4a5fc35fd8070c8af850e0f6600e84b64adb69161f824e4958f219461b901cabd53167e2482f5024de30eeff83b819730d4da5cac756bbdd53c6b74911090e04c84057e1ccbd49421322fe9d7c86300da772a6d0125adcfee6bd84ea615d3ec23e49a07a2981d4b640eb768b2f812e1e584106d6aa978e095705f217fa9d573ec6245f42d16c3ff51ab7cc7d9d566e69365aa6829b90e85507e01c1e771316629ef196c0b21229dd281c0e69d520aecd5324a9d29d284eab1d47125af87bea6c3a51fd21164ff95c605c2b617d2126ab17ae8e52d609ad3fc36c6a0687ebcf6d5b3fd7a173ccabbab19ff2a62634bb45cd884518f90d4e11d16ec379ddeb82496636503994fab7efb9d6160f0130c7e73a0d34b9e96525947a4644d495decb259a0bab77e64fcf3a5a1478d12468a439e5de4d845cf420c6fc2dd72ede33a7ea6f18843fe21b5c25a4329fde6874634170f69f071a5484deffbdb783dbad4ce76022175037805f42fe90a14abb681172a9c5c74e21abc7173ac8a79009134232dba07a7af951ba3bd62c38edfcc6ee0701172838be5826be5d12da3f8a9d3e4bb35c81bacafc6f647f70b6305de5190c7d8177adca027622704e161b76c90b9d27ef4de0a4c5f397d24a972520e010d38a98e1b6790d388f893b8f3d9e2136267325491ea08c00fc528362b50a627c1057b0ceff25e5d9d03d625205f0270bf05fc7a501519e897e404bcc29d6f6356e1de067dcfa1b2823e45a573742c07ff45b9cf400fb214252dfbfc69f00dd788befe5b825b32bd230e54b12e2e82a831eee03827fd1c62872e6c8e5bc1522d4a1551ac59c3309d43440a0b22abe2dfca2de843dc8659dfee2da108c5552e0b7d33dcef33ebb5f41e62506970b64ead296f68d208fced43dcf4be804b7d3398de54e606520576f15fc7faadd011538a7adcb62fd2db11b397d23697e9412a1f6dc4773b498c08cc7bf7f36ef03d5ea1e837c944a8ea4a02331f6488c00817bf2dd96a2ec3eb01235d232d1cdb01c5b938236a6fa3b932c1ebb35d657ca3b6d163f5b89c7f092c5f2697075c7928ac741d7e138a21b0abdadc8c73d0db40d357c669ea2ff4f9d5244da1a781a7ea30518ce57e72b7d8ff8554c8e87066612b36d7238e9336596878175c3ab6b77af1babbbad81bb5a5ce555001dee6a4d2c9b3ee4c83b6ab4298f3576d164813265bc23b98cb03803f617b53c1052d20f7560fc2c2f3ebc888d591425c680a3bc19082e2ddc92113a939c35ca85088c0f7c48f3aa602543d01819799924f449f6fd3a6bca4117a3a7b44668cdae2262e6f37fe6f1e1ab3660eb7375278941ada0cfabe014554184bb34ef3113443f58ebf978b36642d7c0107a2f9a0cc29540d97a81405b8012a424b8053335b9077b686cf0f2dd033add4a947aa83cefc0177c353f752aa7c67bbf6fed503d4918c33762f8c35ee6678e97653407edc73c1800ede651716b23037e8b58b15ee02d4228b5d61efa0ffa9d183efbb1985fbe5b34c8cea679550767f135a962b6ccdd0da659c2ad2b3bd18d5d9aa75b26ef417a789bbb6abb1952c3d215466b47c769a0452725a64617121d9a4ef67377c72c2978893605eddeb9c367e207099578dc44f1c4018833a46938e89044896c629997a3680a45f1bcdc4457b13b19e97a08a8a4f840f6774a0d07a4a6e4dfcf83227cc8141a114e214f9b6c1af13e0bd7d26d9be2da5cdce1fc538770460edcd6dabae21d79744f78834b5ba1163d948d1b6483a990cda3e2638b46cf1c5bda05817f03f9a7690b04fa0d426e53d64cc97e5ce78dd376bf7b9c79642dad49a213743715dfd95ad849d91117c1a44a560ab09ed3253a8d5fb253797cc93344e31379498f25bf4b0ee0d59d8fbd8b4bf6cf5b20a3e353ab250f8fed0b829feec97f3e93b6293ec0a6a41a7f4e0d95520508e3ecc18cdd36896e3d8e615f3190e82f81266a6a2902119d272b23ad521a6dcb09a0797ae1ca69922a5d13e548209b5f162e280fba076114cc22f1f2d0a233ab8f86f63f37b318f7dac526385f1bf3c834255bb4172ff8be5f87f06b576c71196491a7eca0d8f8452a90db5c93672abb8462e323d71a321636267f77d4a25e60198b855893f72172c1acf52217b005633ccbada7e71a8ae3ed669c87914670f2a5c47f07e5e1135a49f627a8950e69d4a4599755ab755657a56315cae534e96eb974bd3b655f9338a2d3784278b9719c4620c4e7aef8b884d17bbb8beb74487113fb7beeae349a1d67a0015b5e8735cf8e7bfe165617e94307538d9eda967da101e071c6fc9026d82deb49e422efa59121632eb45c14cd82bb243f10c520e5232dc0ffcd86bb0652cf69e48407b918265878a283def43b0d5abeba99e7c0a05747d2fe8b079b9a5b8908f21292415e6e4296579842852be252e9ef8b84988a0f2301a14cb2ebfe1d11e452b734607ef7302e15ef752d32480bd86cde374b89c74ab06cb8993fc89caf7bc584e0d817fa0101ae4432836a4b5d446008e257c62d3e515d57610a19613391c1574bfed5e022b174f41d345c505e062e9b8c89623398e98789fdeeba93a2616180a099297fa8a7e18ae5985ee97f55b9ed77080a673ea4bc6af835c774ffacadd1f829f44957f6a49ce429807455f6b87acf77af67d6d84be0c2ea2446d9ee817586b5f63140d5dadcfc2acb1dfbf2c4d14e3c4532082aae9842600218af9bf9dcc107ee18aec0c911c859d82d8f200401cd922bc50935606a285cfef1588ade926a622d90a9eec210697bdaef24905e662237c92f6329c492495cce5328a021f605a1a5c9a974c78f4deabc8f2f0114c5933ab51062af44102b74d98166ed48ea36d7032b24f9d1a82a7d33509f41ebe8a3cb03b035338273058122d9ef6fcdf502a4f767aa4f247b16b98e26be9267121d2e159796ea2044e29bbf6aefa50780c302a71a2681819b6d68097eda20de3d076bf7401d7484a4765b517a571957348bd0769007b26a7c8ebcf135807cddbc42225caa79a2b7e296365756ca7977cf17dd44a0d5d48f818d43afdbf48367a7518b1a4ddb28c6e601712e185f68e94f05fb50a87633da208de8f77cf9df8c3c62a358453a2ed323b3e080fc4066218b15fb6729b65b14cfd5f558fac5b0a81b41d8d11e4931d40320ce440590189247218b5c6286ffca2d3e25a867fe2b101f3e66d57a28afc02a45a9f47a6756d45c9ac810c5290509e65848f25ee48c28a795989ea375891ff4cbb20dac53a4dc982c4d577902a7d7fe724f81c65cea7851ad65787f2d115cbce7121d98822cf32f8642a3281254059c30c8f39b410bc7f26fa74044e3afa88017fe015e67a437519f03ab312b41c43c7159ecf9045dabceef17bfb8ca9060c07079ffe29482b4c6dad23553eafdf9fcf4837b3e3c10996e749429c20e1cdeea3f706464077367ddd80805585e050e5bf742e54f797be5e157dd80cb45e7c6fc1cee64924b5ea08feee4c74da2e554ea88264f9796809218b68afd5e6d19066725c215460832ffcd08f8e1089aa44a82745293d0f749790e035d40f2fe435f5133df6228358ac4fbf42f9621966b456c1614679ec7c04121427fee34e2a8de90fc8834d5c4b73f92a81f4a8aa00a8db7a60b4ef616e99372f592b42ed8ddf663499010f7b3e359b40c3cec4dbc98b96d6291b10fad34911da36782259dccb6378b6c0bfc1e8fe146c3daef3b2d6acfdbc650a12a8aa43b02f5c5e918a644e8ae059affe1991c9b52953a6cfa1ae337cea9d2a5d74999b7274ece6c56da143851130d1d0e87dff99cdc8f0d38b2e8f2431df0054630ab2eef17d4f12f6889179754ed81ab88810c2db9c9d318800f7a94a262ff939035ed94e6954c8d0ae0d36fd270fbdb7a79e7fedc39253fdf8dad25c8e08b4c7817093460b5a619ee124ff431354e7de0ca36de4ff381ebc4346354fea2e413fc9ceaf0e98204a3bb361d2a68b38030c013b7352040b44cf0a44c3ecb7a5ac94116ff3eea0b479bd122746b54c91ae00526af4e5c70150792932320e012adb2d41affa23d584ba2fd2da7d2b8cb1ede6e8248d29189da0296fe529ca1dbd930a3398abcc33bf2fc855a24bcae9d5ea8b500d961906aeb1b69bd170f1714bc159eefff3a26d71fa5172e956fb9616ca1bc7a7a125d7b7efa9099f5370823700c450289785428b9aab2751ac9fca9b2b68da62ddf10665a11cda0b193e4239b61756d547d5de4f308ee6ed0f8e40e220f30e42a1f5f17b290831290eab77e01d1a132602cef4f601443dbc1c7d69d0358caa72f21706721883a87e7f531ea67ca2b1caa9209f69db3e98966ad007c34f8c733ce4a50330b97765dec00fd2f67e4d53d9c3dc7a56f3ec3970de4a2d979f8686815d72cb872b4d80e166bf10dd66c43b5f69e05c4f1faca1465b2bc4ed2d00e1c0cb6e5b78cca5ae840b15498d9010407eadd800885aedb2f2139c4ee273b70607779ad9f34c53e923d4dcc28283ea519b18a7bedb99b4ced527778ef841a1ad5fbec5868838b2858ba51bad4080e7e0594bd5ad42687767796fb498d9d69ac8779083222a79c3fe17a90f37f14b5a43f8919880fa1264427da5da727d3420e65515c09a395ce48368c0e5ecf6aa198baa24a7fa2a236ca9abc5c95c1fdf9830025782317f8d0a7ae1c8eae923feb7efaae0ba4d535474434d916573d2500fd17a96eae9cd61ee6e5d59cf36e6801e6020ce6cf70e935b20d619db8f0c61d805c0854481973a330e15f40216cdcb423731810c0ebef91c373b8307c8c64c06580d226eca0f68fb92359967bd661eb4377c247c67adc5429429d4ea6092156d5ef476c8f4d8c38362b642705a5727acb2435e46774f51662619029f236daa4d529245237b2236e0a6917b4d434bd56142e4d0045fc22bb09b198c320b94e4c1424ac1301e857d0e9947c47d2000a1740ffc848ae1fd53270261a44bacd27b2102e4f1871877a55c78f2ad33ac4ec8602903745733069021eba228c982d19a903136dee0dfb87b6c8c59f54b1add5d40b707c31d158e43c3a8b794e093abe01009da4a727ffe7a061598af13b6ee2bb0320a94156df8812b76716a0fc69b0ec9e8d170d00daa32c08e6e9512edca1b6dac9a026b6e6f6a9c76264204cfd8644596ed856861139f4d8d65d240af04bd98cc334cebf339554dc50fe69f897a28682ce00efe50f8f6ca88c35d60526858f56c01dbf519a7f5fe9b68d7be7587dab773de9535ca8d23c339278fc00bcf3c599284cdd650e9a86c091b2b46e2483f1077742ff369242bf2ed4f57d144bf49c5ed9b83034b3bfd923fca53a4376148b2488cdddb7610ebdffd2973864c558a8996e780e125c321b7a7ed497cc89fb862a3f020105c243c1f396a0643bd8f6fdbd6a1984f1d0f910168a17967be25dab5ae6d05228805c0acfea95750c894c16b856134cc057ae5ab57eabba70956b7a4b6196aea29d5755aacdebe31befc0399a2508809be7f3e2487e9ffe9fc2aaf3e0f97087250f8d7d0b8dfe60492b25aac135c7acd0acb6efdf673c146a1d2908cd9fd86e8c2f10d51db3b96f53827479d598121418e22dfc686ddd70c35d0cbe73426f7a4af8ad131e060aef2c48dd6e5b0ea68ddf7b912f576940dfd91ad55f53a7c129a32a0a7257b63d00e4a943e4327a744266b57f70a2fc014231802f89a076850cb3f3d1f9ab5bb292d69f23345b7f4ef05d66b893c5db107ba255c3f71def2e4963e648ad50792a872ec687e4a186a89d504b414a4cf22f2341e7b15e95f303e7c9fd16bdf87704c7d548620802f86d7f2fec36d40fc4c47e13782a23e7fcac0e57880b194a402baf424205fef769e03b679bda2cd37fcd01c94ee349c5dd5ac44d7635ee4f7da5471a70eed680e2a1ab9f38f6a15e76c6cfb3015948ddb5bc48861c17ef0101e1e23ac40c482315721518a7681b80b133a2de9e11719ea4d73696fad4c9de3db44137091e8b1c508ece19080fdcd29c9b2efd4b97c38b430728bdf9f6c201e340163644ccfd835fc54c80b8506a31660244069b152e80ea83ce300860d978144a0887d210ec1cc5b4c7fe010c2642a9d9ffdeb1eab7479bdc7bc34f55c43032aeb140fd767c8fca499a35c490e2c240313405c7df8266c9c551a7f5810f9759afd9c642bac280f557cdb59d00dca6f9e05fc5f92a5492daf555baf9ee25445d8316f89bbc0ae5b433f753860998350c8497be78003c301d8cf163aff6b6304dd352b4df6c52c8f1c650d57e6a368695d74eb0b20f184e36660709b4d43138a5f203f8349aea7580a42e12f711351b87344ff773214ea9d32dd7fe248392681cdd8b721d0070a7e659555c8f25cc645c48f3011f584c5b41dac5941e516b25cc6985b5b9411ca2e6c4be8230f5ca44cf513a81d45e14da2ef54e8553e85303018789b79000d5d8a67bd771d7c0292809e4774f9909d17aa06cb626eea382af57df7b2baa8928cfa7abb24a7b4d458a8f65df6be57ef5980848f985b1431468ec4d3b3ab10303d8f58be15b994b48bb4db8f0767a07ee8f31e29d2273cfcc85daf9035dcff41e07c32e9bbd4d32a97b28a13d14e4426b759546212465f34da3c6ff6748092144e8950be09b1499c919d381b006f5848f1941bb5e7120781a385d9c5e700f10849dd889ecdff47e0182f85a4a6dc3069f646bb956b6bc2b6b5f02a24f74cbe79a015dff541dd04393013d8938bc9c7cf515af203c057f010e6a134f3a09abdee741a4f443e4ff11a4f8a592e4e5f962862308aa83b34fe83ae2bbd905c0997319ad4e940c2b24ff9c8837e391bc7402eb2e880d9e1fb4c0ca3eca643af31606f16b45801ccc6957b04a63bac88fa907e105c7b35cc2e4006444e35f9ec622f6ba77a38a04287fa2f727121c8483a217728555d235362ba1b4aa16f486c2fa06d47e4b08a5883d845f0c2892d5c7b71d4ee6e22cb1156ed73089c90822acc31e1b471f531ff121eb9f6dc3c9a8bb7b870d0241eb165150f96e3f9ac3526fd151535959f5437a11e4bbc88125aa18c0067f80723ce268da9af899dfbfaa548b3558b8e1bff61b1d80443deb077cd163f17b877df812592ae4c4606c099d166b7431c262e494033e777386df23b0cc578c9e001b3296e288b855e54b2ac7ac8a57944c34c151e19dfbf9ba867619f0593547c985d3a2d9914add240e71c6c56feca0dae647855b45dbef0ed7de6c5b9e7865163f08ca534b6b0e9f2526cf16f025f5992538db844969974712a8c1dacf02be65a8fa9e1118a7451743352a9905bcf159825be66f487f023e3d7766496a0c70d48c5c9a1c444e9a5348c0d71bf9e8ad33588c712a645040611dff79b849464c04d7aaa0092938b199da74beba33c50ff05d3c3163b22d6c5bb9205501581ce196058dce043f9d7a4093f96980cf4ec351fc837abbee9c48a35993af682b19fc95013edd404cda8b013e7b887c1a1a1810ca19535f1fc1c0f1f805f82eeb6c46bc74573c60013e4105c64105b68faf6352930d1e41f06f12e06bab07ac89453139f2ca7589288b83a58e3d82563d9179bca7b720c0e7ead297077046927bb00eb57958a7d2f40746882085d28cc43bc41b8606006c50cc71693c27a20fe8bc1c2426028c30e7f7f27f7f5261f553d03d47de8d9b32b1f1a088dd3b74f8df68302462bbf5f302758b748346b09cdf2b3a90d92dd8cb9f934a3dd2057dd446c6f6433b8fefa2d97f76fc6cab1509eaf0150f307f4bd911c1ed9facb6dff958c9f87435939a4a7e4f6dfc3c3bf2b295a7afb14c7369137ded40a7970125f0391ba93b44e9870aca09d2586018f2dd664b0ad8c302a4004213fe27754a49e9c7bdad20cd9cd87421ae1c5a6ad66d0b33a38748660d247d94bad41a00441041f0105179efeb91dfb3ec26806f644ff055fc6a05c9e8499ee675d672fa3b03be766ec8476bbd233116c0aef0dd66da0f427736ed1fc6ef71ca9a4c9057dfc3241fabc1d0752a9258dc962a0a1230a0a29ea46a2810cb43caffea88638eaba10da2e2f7287fcc86e393a3a3609187fe3a5e0e643cfc5edf1b8ce3e8fbd1c15231746c3b4b89234c177e8f16eb9d99f3d9eb06c259584f04f7355a4b2187605ed968d1c686734296c383788f122799d44b774e093a95136a238f40d84a8a3aace273740aa6bf2080eb566268c2b30356250d32271b6974ad31b3368359b7269e6853a1a7d0895c26f0396b4b0c2e0beb33f6740e54c16b191e0766e507e39afd60e1c010339e976524e37e6a4e32ecd4e2c05bb34990e2d42618c1d6bae0863c37c98069bf626770773f61089b87cb2052411038b6fc14434d5a1c6a43ceae7cd0c8e363f02f308bbf0565b8c5864f0452c0399ac4cb5da3eade82b7267b519b7e3499cc1c8debb1fe0d98f742a281a5c12b5dd98b203ee87a0bf0d52c19c89b61767c32c3ecf406d8b6951863f100d75b4b89245631da35bdcdbdfd7eac9c64992d7214d97bcb47525af172ce3f23619e336882bf28ae3d54264c9c4ec19a1237eeab3871607e05394e0142694838fa678cc4b82ba69f886e4d53a146d004bd58a7a87915ff38eb81b02ecdb3888866f3a6bf7075c91ff0e79cdf583eb311c8351d540614d0a18cc13b3f9a945116fedaaf579233df1b46344d5055e19ae81a1c5258b1917de82c12d64f48bc4d891dc2fa57a27a7c5220bc7192f9e77d6f9e07f1f3d03eb7d1170ea3faf5b4aec72c40ecb885c537fa0a40324d56c5177d7c627dcf1b8bde1b3f0f0e1a3ff982ee2322a59010eb054dea0afd048071522eb5324a58057e0cdd69a54955f6e0dad94a7d29cf92405f255274534f6dd7aaa2396ce0996d849e98915e501938565c7d95f895cb2608bc6d4adbd551f5c2a92c0444643ad9e258afcdd77cee4f61dbdb6f67907bdf4e4b3fb3b4ab83e4b6ac53cf6f3fb19d13aaba6c4dbb6fa7a55400453d656a7d86c8e1ee658f1cbe538a3d590297c60d3bf2733257f8498ba369b39344c167b47a91981452aab654f794ee5d43c52e0d6329cf4cc4e0952cfc6b4ff32b087f532bfee4592980433bf9def1a5308881f006cede0b31a82e2116f67f893b571fdd64d245ddb1d9ea5a30b06963935d86814960c69de091a9b2fbe1ea661a5152f8a6c50c1961f106dae3ecd1e1b91539d216e7044217a7e3ab73ea2de33d873db4a2fde026740fd2c39cbe5953b19a1be369f5c4236ea3eb9bdd347827de992fffa723bee643bb4b7ab49226b9dff1091a51f1434e1062fe16b7cdc4db51b732931949ffd434ab62347c00a80e833c3b80d157b3a398459e8aa31ad792f04c117e7640d7949df601b5738dc9bad24c5f4d4b4863c85b9161ea1b735c9cdd6996d9f174d06af29388f2899607483e9ccc9da74a369587ea626f32bea7c339798203941af15ab59ccaf44cca5631da4120231acd304cf66a9c94941c980d5c88aa02296d47f99e32bae4975d5eb994b7743beb964cfbfd8a2bd26cd50b25e521735825109187fc7d9436aa3ba2964e0ce1628f65499379135ecc4759f1a7bc285df0fa3b19b6fe87ebb1cd9740f563b848c6f13484c1ecc23550304a3670426c3a1b4f4a1fd4a5c00c87116a3fc22020f7d66434477afedf75d556e2fe1ca3e96e9b1e61cdccbb70920d13b20b83cc6825cc42c6664d46f608cf3356ddde50f58538956880f215dc15b0a8a92d2e8a1ca40891a5e352b4fd5ce26d796f0768a079e2b8181cc1b185c4f18c9df2c56524388e8883562556ab298309bb81e10685a7e1398c22c1e41455c35cb4e729add410d113c9a0fb53f8652f2a41313cc30fc8571b450f9875123c476c5197e1b4bdaba3617f4318311e2e84932309c6951951e0f94563c1cb659eee2e47d1e903ba2be41ad2636dee8e278ec508a256a07c0a909f2c626309cb7d53dfde0a3bd5f44415b1292aca5f4d4830cb6695219baa0ffd9a77d97f8acfd0cf266dd4dedddf3c13c8bd34b9cd16deb03459b8ddbbd14e4716d4a95f9e93b8b34654ec33ccc704e966b8d0e4d51103455377c863dc680339db193ba35e94902b44f2a5144e87a76be97af4f3b686cb49958aa659169b74d881f29b23b36318763f879405a3710860b41f46321e5c453f1cc516390b5ac132fabff843f994d1847d0a736895c549242fce201ea94024ba6f01410e36c95247404b84f7d2f71dbc7c439ad339123550e0e40572113c55bfce65f5b2825eefff77eb7be46cc136086a6fb8ce890372a18886e8da32d4af8c110f7ab9ec6263298264327ccaa3f073c725fb3aec3af08d4561c86740804b1c5ef011f8c6ca34ea93035532d1483616a70ff485c26f6cf757a6cf91c15b61b2c9424aff21d325aaa75b145bbe52fff4f60d464e147bb276acda8d90835281406ddca3a66a495f741212116cd2b5f61c0722ced5871b04774dc75b31ddf01f9c85d7cb6f5ed92879979831e6ea83fe4c49d1b2027622f87e03fd9fff0dfa638fed1b3dbc5aa66638858f188eabcc304a7ed47aac2fa5e6f308003321068b9809c19eb15687dbccb51112c6fdec4c59a9e88fcbaa2fb46052b203d18a55c65a890c8d79bae16cbb4d96b17a18d64520de91b029fc12691878d9175ef5253002bb3725fcee26a3952cb1a44f348ee0c723284c24e3fce956152a9e31c8627f4dd49acafd0e8e79d9307172c605780739ef03f8089661e11a4b92bb37749e31f8bbeafcf33d0a4480bf09eb4d6b86edc1e257f8367f3a2c64110e8e2c0340868f1d1f465a0bcf0dc8cbb86f5cd85156043243ae76bc99885b1253471ee599ade42ab348cddfefae3790aa45515d530994af2948cac8c5b67f6e4e1208bb0ec36448071901201b0f6ab174db666f4f865dae4de48ca05f69b13a77c816c911015d29c50a9a05e25df38ef0b62dd80747d50350bd34b38985fe94565d6f284b3642cb00237d24302d916800e8682c20af9f21a0136f82022bddefcefdb21a3fba908e1c94c0e306627da59ee0929a11cf638fea9ce6349f0bca8e0a4e32535266785e86d78a6d9bdf4fcf1aaee8f2804786b2f541aa8953b9e290b984137a004d078e484428b9a0b3250dc9c2081d2bf6729dea2e4835a900c6c2fe8d348098fc68194801f5e62afdfada2558c3196e64413201d7a0d26d42353a1dc8ca357850d8283edc5e3fc530745dbb6d8fbdd82b3c24fb5c48d40e4ae9e35a86d3e9aa6e57cdb41cf53ec2afbeef5403f8f702b3be018ef4a1dfbeeaf9fd5597daff8dcffa385b61dd9806abbd7d5183cdd87174bd975b1072118dbeef952066e98afabe491d70f51ae9173f5cd683d09e6a1bab0b4fdaedf73214cab557cde9e05b7b8cb07d6292b32683375ca73dbec80031da96b0bfa4acc7504f0044ad2d265fe045683a1074c824c516376914d2dc54470c77a5752c9d6eda96d030b312e5e625fde50c8b43efaf6a00cd941669598406de36167df755ffde6649ddf32f7f33db731e328c1e9261b67b5f5ad8b1d3f6234176e5083dff68aab511f3041b9901dea1c9b83d05991a16afea11efb3ca3642f8e6b5fbc963d494e4ff314e33d382012afd08e834fa71ed41b7798a036c817683948d40bdd01fa9ca3c5ecc097b8ffbc8040f41ddc7c420b1cf44b08bff32e3dabf901cee48c8c22f1f44a45d3cacf4b11cd3873ab47b60a95cdc025c8c1140e4ff7de8b9d122072b4cc688f337fe76934ad7ea864e23c4b89faa6d66df7126aafd10f4cb585e594a006ce925908bb4633cf617b1b826ccb259d6f7b4717e9f9c7cbdc975e304f91b3c1cff7c3d2bb2f32d0d4292becc2507de5fbf43d5c0a6dd6e00a96ddf6167d691a45d8d197cd3f8c977a684c7474cd950430e017d41bdaa6d6b07dce47b250648297e7258aa25ed2cfee0934f7cb2e0f0799b553532fabe220f7545146aeaa5eb725b7f2b922806d9c8431c1bb37fb5a7989597436db1f096d0d6365e221f0d54a80fccc03b6028056211075c575b7749efa646ad9ea795191fcc5ded824b9bb0ab1d7d6ca517b6ac4ca2a9b6110cb4ab155bb6e1fd364672ab3cd015b0ee6e6bad61c7abd5a2081acd07fbd035862a517e37951123655d75a0a288bf110af2cae518a2b8f8ca6bdaa921ca8653032290a84cc0d4c9b5f954e36442905f6d9532e494f7d49a90e495bad5e61d21540b047f78c70e058f8e3165aaa25b6cbd667d4b7a41ed2525e06398d64569ad897d922ba9972afd6aeeb8baa02e75a844506f555a05e2e19e9466e5e7500b34cf986af5ababb6bcd6dd177cc88e9b33f2609283d69e207a15036b02e168935f12e62c1b3d5f401705dc309a728f1c3bb7f252aeb196420baee5b762dd896e6a2b58ac286431bfa49c2beb616da3a8269583c32e98edd133996a54a9d86ccc4e9e2e0aa31caae598031cb8d69bc2f4202715786a8928a4028d2787af5114e97d3fbc441d03c135977bddd928fa1519b0079414f9d33c64b40f6de794a8ef693c04b2b21e0a6a4b029c7a698a0d87ac0954515a1bff85d6b27dc360c080ba4ce9d57bd4852aad2e7dcf7fe85aa7778d53354d7d4d1d746ec95584bc44ef9c986093526d4fadd1ea7ea3e93d085aacc5f5163a583f17ed4f26e5a22d7a036c61dbf177fb074fc7a092ee01b53769eb1fd0cd4cc1f5de299273c8d9324a199e43168d36de8d8958a600a2f3cc7a5afe88a0aba064cb10de4894b0fd1c4e5f20db20e4d553a7201ff82dd6bfa6b07c1dd7d5136673dc4dba31d2a0536356f66578abe665ea7c4ad611596c19f89bb7c30ac48995867cd97ba6e2be1cf99247a14e7e9c9e2205052a10c43828a6d59bdf1e9e751364f1f7d148cd1d5f6e6b7317494bb0ecdf7091646164e75a6fe18feace40d340e655d515193cc3e9347c988268933f085aeef09c8e441b5a79d693355e2153c5a51a9e80dc05a5358a36b2ef6eb1c056201db59c7b3cd420806a2cf287bfc6f0be6f1cd9695c9aefb5d96519e5703b828354f6b4f0f2f600361358a3c515c619bce7d2f4a7ae8729f4f109a3e9ea4b509558079fd94b12bdb0c2560f7f05208c148ee16c1c471971159ae34b9a2727eb9230712aee160862f496cd1d9c92d6a1507a49aff8205806eea10039a6d179a395e918b619f12134d7343261be3d416fae754f4e1c9181fc0e40f7212ac4d197c08f15470cb95c55c59853b9242c8ceaf224c20b3c58cd9477ca92dc2dbc3464b3cbb3327519090f26b1813ea9f05278cb4fbac1b2e90517373b494f6b8313831b0fbb4861e3861bc4c6905866f7eb4f99d955e6b4127814b4944863b271a7d7a59adad363d4f930335c9bb026baf7a4f339039883a0a48ec77aede5a41ecbacea415a5ec9d276e8a052ee3510a3b012d2e6554b0e8fbf64d79dd39d3dc46cd006fd03d108b5dcd18e39be1a9f12f780492d1d3ff52d9ccfba29720570093e854eb0719c651890abb56e81fd49bcc9ee385feac54f86e86315cbff53ab4b8d6d2fd577989837c3b19058f30cfb53117285599cd38d799a47e13685a17aae855bab6bc394e03fb4d7bdd67256bcf9fa08e670f05e9b1e2b018536fe50a24502e304fb5a8ea2f5cef9110f7240fe76447759de00392a3334998d24ade8fd6e5724c732e7b4be3d4465e5ba0a8d0786d461e24af875b7d870f98cb8f0833f067cc4384de12bba37cca1d85ff867a16d210293baba44ff688bfb81f107b1ab77dbbacec6edbda75811ad8e0a88959f5c848f0d808bf4b2db1c623817b555eaa1df053eed678bb43c184403d5d572bbf5baea5d684331a1b069ddb9c3263faf5249d5c4a2adf7013f344f387e212bfd6cc39e8c1c26c8109b1bb574883a57faaf30ed30dd5d4894ab5599beb69a2a4d949ecf30a165a6d421e248e8c27185f4b1441c50a815462f22b2f3505f752d24777bc2efba43bd3274f6cb70edbe6e0a1d5ace77487ce2b6e21500a0819240ce4655af2eebb3654477a0e7abe54fdaade8726389628afd46f1409361792b569aec6b10684e9599bc9a936105b50b2bb1b0aa27b801b7f2cfd104ddadb1eab05c8c1e4baeddc1f04fc71e6e90fd32f0932a470178297a8914ce49cc588a71e6d66d963a8e46798c2e3118118a83bdd4fc93aa714c9e421a9f9b128081fe5017e35261d28b9a72f78c56871adaec947550496c10326c1631835c16b9259636b38cfca176e4a6fca28c11a1fd197447a1223dd21e4e27ce04b3cf48060d8339154376bfecef7a36cbcab008cfde459124f45645c23d61b0fbf9a290c0d10e6f52a55b6b53dbd6421d3efdc1ba338d5655e45c70191109798ee45bbef80521fddc9024a770722ace4bcb051be6b34183b09eea102f7337a1e72c351bac028740885d3402ed5cd55dac6ea0114e6dc0a970efab27543d32a10144dffa8b4eb00c0e5b07606cfa27db8aa29d412a64a1c6890648cee2758506a5a90533e81662e5e6c0c4778217d3e4f869ba2737caf8c0be1cc817feeb101b45a471dc3a991900ad45b3734db8e09d2e5f8fa571e4cf8a0592c68559653409645a35ef06a228f615f26a12909402fcae593ae441f48709cd8b7976fc03e83f14505d2f9f1931ab39daab5e2b107ac264ad881f59118de0bc03725827c009a9f4aaecfc0dcbb18e4a5e89469c254682d551d05084869553d1435bc8d39d5de25b07f0e95c03f290cab712fec90595f59444e17897584cfc9ff468d9a760d5aa901a5068b428be3fd57ee5fc04dc19430112f733a084295db7956900c3a0189c47298bce651600f07aa22f985ed3e543ea3e780b86f7d7b3ff82a913f46f053f9e729a1bd062d500f664d7faf9db09951fae47a546b493f8cd4e59c48e17a691c37d6990b83571450f8324aca428e13837b30685a07df2fb96878218d0784bee0538f1654c46953495ee7c24b54ac0051329da9cd294bdcd836d96e4ce6116b85f9de18039c846451bb066d9f6e34afbae4290b01ea2c025d6f8523211b9d84deee65640e7c2e116f9b8800333cd1dbd08360e4f08fcd357dad0cffa38cb96d52f9d80902f42a1332d571864bec5dcac9c6ecb22fc88c1a9f80eb3569ffc4bb3c9706e7d125dd1deda71caba233ab8b24337cd1cf2e4a84378d40b4cbaad5d430464f58ea5a82d032f83737b37f1145f84a7d44bb5b002810da740f92b3efdffacb00c6696e36bd16ae4d8af6ab42a912ca05c805189da1d020c85f50ce34b09488daa80901d591c7285b3e195f03e70074fd08d3bfb1565989748538f447c8408c258194417375becef579fe2f41db98e811c563e7d750ede05b3c752ac2dc5317f8c2163b68c896e11d0b483bad1c168285d078212aca308a799ca85384dc12d85775b6d356fa59ee9226eec1971b1e36059f78336b6edefb87d70020cd81e8f144f8487982490dc6b9972572f80b17f01d981c14fedab00ed59e4825d5eb9a1aa89f4e4424e3152f6001d22fed02b7fca81b25b1a0f8b8e1a42b46799fccde01a0497dee74bdc66c5ace759afdd5223a97087421a5f82541711fc4e9047ae2c2bbc0b0199ea0af2d2a22ddd3741b6617fdb7ce9de6f6b24537218287746951556e2722b241e5e07b7cc476cead3ab261f923b9c3645f6992e99628dc929d9f6c0988476f4d2402a318693d01b1617711342fbd8dab6c71ea71ca90bd0570076969bb2fb0cd790c9eb38836f2143c31bdc6088d23fcaeaf4fa1e0190eb53bffd01d3f0460397fbe87a4439d5d57e2b723302b9ab552ffd23875954ae59ea2fd77b0ef3fc5241fb793022a7990524398fee4cefc952e98f788e131aabbbb096ed924bdac02a643fbc498c485bd3be17911ad29678a652bc412f6a3b3984add67febeab01c73565c5994da1944a7a586d32650e4a522ad14534e3a456befb2e7831275f7fb04657b7275671db90acc7ea0811e3afcecd0a4a4b6b6a4cfbea8d90c58ef661ef574e3d5ec8af0dd18b5ca960d25c7f533e0d892860a5dea877d5706ee70f90d0f29745385168e2827f9a8ef435853448ae7ea2268ad824d135865d617da8763f08aa45e7193188fc2d3440d730a24284aad12b26e470b192564aefe884019d532cf3c836e63b7f50c0f5b154bba68517237160e2c71b66bc65028c7dfa02d1bb22d99dd6b3c04d0115fff0cc5120819d6570e98ce19b30007f3cd354c101c25eb6905fc757ff41a906cd1dc2c028767ed38fcdbe804df3d27a5810ea2fd5a2d48918bc91f986ca6676258acc2f71928ea9681003fd3192d6208335c62a018cc3fe2f3255f4f09d2093ef4830d84760a606167d5655c8bdcdffc21555173fa798f8818af4ce45225b8a71b23eefe3e9dd85623eb7adc004a41341c46038a59be795c3092324e075600ab92240da08408cf079c8a508cd7f61b498da14670ac921de11100fda5ac143aae93c1f1853f9f9bc9351fd5dc71004451202c2391763ca1feb560b089a67b224c7df64a3ba5c6a39fb490b6f7de5b6e29654a5206c8075f077907df798fe47add5fee3bcea7fbfb561401515194c713b2f42d7c5f9544daeeeeeddd2de78643bbb6c0933adce794c17acf76ea3e45ef913c5c07de32575a6666694ea60f86caf8b21bf1adca6ad51f299439822f8094677884fd1aba6ecb8af64aafdc0e8158f008f6a06187ba73d9afbf813090099900ff198221988494248c201450a609600ae408fe8e84e4e13fba11d9c11eeff11e9fb139b05ff8cf1178f41ebb034b0373ddde7eed5e1d0f92047f1b763b4804e8201330c5ce2579f87b4b589aa53905c1219f7124bc89ec3fda19e8ca0ef6647fb047f6e8f79e66e0f9defdc01f7d83c0927edf96ef81eca37e1f8db916f815d941efe5739266560efab2d6de1b82618daf26208b727c383063ebbeeffb70b2e77de1e879de199eed5aab4892c72d038f241f4fdaa6e7799e47690d56a4de583ca9c3eb38af4a9538725f5fdec821051e65cc87bbbb73ae62f90cf8b476b337ebbdd762cde76da1034220dbe6799e4777b2f738b9595fbb5c93af48819823542a55f74aa21f78f36fe400c223ce2754a53438c4e7c4eb3fe6bba55b75392b95524ae92df0e6dfc83105fbe3d3ccd43d4f4ca520b327a6be8fc1bef7f6bf198e5fae2173e1759ccc85327c5ffdc12ad21537f32af860285b377250c1b4bf7e4681f4bbf7500ee5eefb0ea52c77d6e651907ef05de8071f2777a11782f7392fc4c95d0d345f7176508e13f894eeee2ea5947205d3ce39ef9c35a459b2287129c972fb6b93eee571a9f5e0d1ce7ce66b2f8f5c1978b4b55aed93ddebc8161edc407a68f8cfaccbc9272c78b4333b933d7aca762a8e1c0f1ccee85c9dabc83303536ec6cd3a2c1d16208000c22ba3c312036ed62da5a4b2a97c4b6badd65615786778459e195e1941cc1ee10e1c6e69ad56abad45b1d63eca5a5b6bbdb5d62a5e6bed66e7fd54c0032770901294eeefa52878beac1102dc53fadc820a256ae43849a2cb9c529afca4510547247b606bc5caaa4c7cc382d9ca4a2bb0326f30cb2b72ff0d2f7b4f103047744577774b97524a29270e729c40ce1b8f41c3e77577779f39e7cca109144d5c096fce9993148016787ceccd3201cb59ac267cf6a8090fbcd248ccefd4032c906fabd2989f63b08bd92df3599e4a2af01c79ce7cbdea076fcb84b4a7d3f6c286131a2a8a0cc5440ea83390dce802779640531ca1425d32ea752c813d4b20212e445d58f4cb58087feef30542467cb37fca050839e1388ee35e5e2b8eb845a1980b9056845ea0b5624507212474a28089e1da02d33d4650199549184956b0c4090d64b158e710d483af5d7621c1143a2831050d091049bab8282c79c0e4a5c93ddd04694c71831c262100f2c196461224035c6b7ad083829d2f78806083d609aa62f6688c2c4a7004911854baf491202adc0f2bf03c31c594d9104248340e414870967577e028d931e2478b21ba54a122044474cf8258d00fa35b994c5980274149404aa94c1f4368881a34118a15f9744e500828a5140aaa79d010e38a5712283a9822082dda05480bd86356123811c3f60f7201590061860e619840898f166900d5e80e7a8ae111c5c5cb4c29a5d49fe0601371139605b8d65a6bad0428411634005a0207253ead1a845cabf76d349a071a5db2c8c1e104454eb858d99a49017c7c61464d8a289e8051c59620ae7640082d3740020318a401051a405148fd83a499d1a416460eb490800c2b8052e0dd1982a07c11829c1c74c9e20c201e38ce0956d100b9f705a4836d4f408f105292b0428820aa147101a7549615a87f22c6a883f0dcb2834db6706d526b8d036a7d8cfafaaa5abb5c6badb57b5c7f193b55d18116414254d1850dccd882f60f3828b8c28c1f9c90f1840830cac0e252318231c280011112a21f8060a5deeec1ce4507185039a204186728d1f202db940239c18209184a603b14c1c40fa844c1f598d6a5154e44d9e105b22bb8f840069527b67c8a825b566ca88193255b0c81248720c66079e18515a098121d22266aff20e3840f134cfc70860a847ce0a4885b49b002842a645272d0a40b31a80ce13da6dc62278c2a477610e2019530a800c1f5b03b64952d9e18314516050f1630a88ce0cebe3ba8e48c6ea55d001f946428e95e99515ab999be037a46b6a4780138469c004a163f48811650bc5af40b53a69452fa948a57ca1e4c7cf46847ef94537ab7bbf6de4bf37c4ea473ceb9d1b0fe0de7a473523a279d73563add65a5b452c7b5278ee86817638080fbbb7bded951e8c0fec82e4181e7cb1a3aeeeeee81dc431ca5f225a594fe9add9037127498ff70e94471ce363263b28b9756b9d766899054c2003551b755b4496c8a17d82728c613db791d537af2f82c578177c282e77f4f39737d25affb11299b6ef577abc59b222de9abd9fe7a79313ea170f8141e2998c0272027a49022893ce26f204fb624b53a8ef0af489c32f19ef887331c519f8877e192659059f2115560c9124886e57e13143229d0392d29e6d09741669756157364163a7fd664c952478b3d7f40abccaa9065fa2bb40ca9fe1139fe468e74aa46fa2ab778ffa66afa5d90ad16a5af82b888f295fd2ba66aac156f7c6cecdfdffa8b882a14d1265a91c657b4e54ffde707e9978ee50b2639590e75fb4f083b22f8a4ec4a1910bfd8f3dfeab6d9cdd6be970e614a44299d74524a29a593523aa7c0b4b378d35f3140a0e16cf71c3e5c9f9d021b8610c448fd718c3554efe62a3dc01ca1567b80aeefd5ca7977776dd4751dd9077c43eeeed99ad1c0c0b225890cc973f6e7590831850faa4a6ac85b51589eecc00b4c9a59f189153b9cc098e2c393268cc038cba0274f4a806b6419f46489150c76f9020c1ef0478382bd19a48c284226838a8822d7faa79ea1addae55a6bad220a5504366519540412281de0972c838ad81903dbe892c2025f339ce0530e76c0200d50310c56b1f1048e69e2c6111826cb20228440e96030cb20227ac8a83286b62c8378ba642fcb202292e411e7e99c15394bb4f8f2923ce8cf916a2dcc4ab1b01fefbe4109bc6f0a6df24dc195da4b3f9ed389763ad1eefd7a70e0a8a13cd9df37fea67c6010ff4dc123067fdc2df014e7e3d419938328f7f09283c7efa3dded1d4c2184dc713fbef4d0893662df12b8bef8d1240fba55ce46ecd6a60d43c8de8d016cc11f17997ef53e25f01c2ff02981b7f7e8b6d9ba6d288490ad587fab280020db1fc963fea704aeeff9577fb411cbd5cea739883e5acf8ddbed9456cbb97cd593db431d1f8e67a7a867ac7d713cb99f9bf6e21e775aabad357b944ec116fcc141e178e4e611b5ea9b824bf986fdd942db63897ac6d62257ce924c03cd1c4fab98f4aab997dd017f585a661cfaaeb4ccac65a82bf70bb4d6da190d6912b93ffbf5703c1c946f0a1e391e8f689c32780f8ed9b2e14ba650f2f8658e27e47a5ad560e54cb9d67ac6777a359f87a816515a1e5da6e3abe9b1cf86a47c923d706459eddca8bca38f4649493ca963b4f1359d9609e9a373c0f43d297bdc4c7f035308215bcb44eeb2153f9ae491041e3f5aeefec6f8f242e10e600bb63f5fad653871b41f2d53b106fef86821e41c798690ebdb1fd1fef400c0cb2bd35a43a855b411db91aae15ee6ee31f737d44942d3e244faaedbeac4eba5bc3d17ba685af7b6eebb685adcd350b6281154ae136461cb1e2011d9721563c0f56f64acf501ff0fd00fe25dbaf4d7a75f4517648b8ad257d2a97bc19aa16a388125d01645405bd45ee4c790da6898da44145a2eba689ae52a6a2b0d5da816a559ba70cbb3146d702ecb76dd96bfbf8fa6dea54bcb2e5d5ace80ae4e05d02ccb0c4b8d26b004da4206342b02da2206148357ad9472612b7517f2a40e9ffbddbdfd79f3eb429ff9727e627d00ae5dadfe7da16cddaed64fb500fef74240f17b21f207f08318642de3b4705a4d6b17ea748f7dd5ff853adf00c8c0446451aec1a524c1a280d3ea46d4cc958616540101b9db6a7d99ed5741fab70b7d6c68ebd5dd2938e2b6fbf59bd629a920f5677d5a43ecabeeeed91306ebeed9dd1d4b05b9993df849325b3e14d8befe6c6d62ca0044ad1b0310b5f00bf5a08a3cb2fab9e448b0afe011955752882a4b202c5e198b9c2c81865e3cb204baa28bfca19c61c17694a0e2044ec8404b6bcbb255aa3f034ba02b6a90e9d7585bf1f2a4cff86cdccc3694dacc295794f6f5b8d0875aea53ada4425c3e4468720c3578beafca382dce2917ea709fc487084daec1499029e0e4a6463255e125dbf7b66f822c78cefe1b17fad8d09bbbdf3abaa20d4d02a18fda60bfeae023e9c0ef3beff3fefb8ebeccacbb6fbf7e5e6bad5e2b0b558a06b005f70d96b86f39b65affcd768d20b0b5939b713331787ac92803ea6505e744ca3975a6cbda6f499786082e115c22b84470114410c192d18ecad6ca80cafe9b834bdcff059aedcfac00f16cbf0496ca7d665b1dfc61b3151d6f23cddb06fe005fdbb681af0d7c794304e0e5eeee312ec0eee22883db00bc5ae5dfa0ec6edfb66d0bc04eabdc766f43d4b627f0fbbcf3c1fa1bc88297a778a9c0dd9742d92afc3e9c52d613753e0182a439bf9ec14f4c134a62c5783e81bdf9e1f0451da450255bd55d2a30fd116723329035b2b827a23c01abf580276c828ea745c2c33ed335b9ea27ea22dfd9a60559f83cda6c48e6c9866634af8bc17e7aba9e1f58ace3787aa75fede2dad5afdee1e16ee71411d56e8da8a873ee469b0dc936d9d08cb6d918eca7c7f6fcc062b6f2cc9df99aae3a5df33577782a9d394544355a232a9a39d469722687a4cc673497311ad6a8ca9de7c7b0681ed0d9ce11faa79c89f9f9769a30678e09614229a7edc291e68e3ea5d44e134a1b581a9564e93d3b47d8be822994debe4729ab049afaf88e50b3373068cbccb72fdcb5da8e9b04c4edbaa77fbbee4b3f95745eeec0aef3d1dda8349a4ae454e27d127cc00d1f3fed463f5dd384d28f4693f4e053712c89e3bca00a5d06373005f0b7f746a30dfc310247285208fe68e4a3bfdc4ba69239426f7356291f0f782e59329790a69d01ed49bdaf78f3670801993fef09f697ee73bae4d01ce24f829ca13bbe77e75c0101d8dcfd39779c9bef9ec4d197d9a32108b6712472f5ebb66d9b88c47ee5b8ef8ed8fedbbc8e0b8fb86fafa8037d24b552fa9522a17f1f89dd1ec9b59b5bafa26f462ace74cbc4933a3c1905ae000972667b4f92464f25954c151000b9a24f690232fd133295d9e1d9301c5f0233db92180391f9a3ddc63fd2fd0d4eabfb2d0441178e581cafdfae1391707fad48e488ee47dd4ff03bc27b6e7b24f76edbdfcd7b245cf7483c4ee4eebda2b4cf6a957c2b3acd1aa938eedb1642129f2057f3e527023cca18901b3e1c50adf8f7bde77b8cb6cfd93dbd6920d03f039fd1a17b245cc7d5ef74d81e89ddacfd4e87fb48b6bb6d0113aca9efad3064c66ab00844060304ff48b560bf7e10d3f63dc4573c30bc10f3353ad25725d68f544daa7fdbb6d3d76fd1e6de605f9dfed27c7da6fee9f431e1ddbebecd86ffe6e537118bf724a65aa86f3f487d2b6e5f442c72c52df44c1ad19c17cf8f6ba70736c4c3694b42c3933ac6abd34b5a73a836d4349fe17ed6432deb18d80d13fb351245f1f4fd42b57a872777cf6d795cd83b433ed3b4da1c9ab37e71546c57e774ceec248d889691a4cc47f7d0af7eb50fdd3df4ab5f0ba82a076948f56d9008f8141453ed80ef41fca3ef1cfba65b73dd8b3d30f45ec7fec9ffc56562cd155362aa454f94be92be6ad1c67efd2ade9cc4c9335f3eba737ca65fad5188a5aa71e4c624b1a6fe9520a4ec61cafebd7399c8de44b46ccedc8a3738ad39540b7b49ab88fcbf2c70fb374fcb8cbd247b935e325f967befbb1f27ec7b3a5b3b3c3d3fb018f8bdf7dd73f7371dfb7547f3f44fc77aa85ffdba17a76de98a0c28d4bf4ac562d1d0f40ad38a951a0cb39810584c4dd666cf4f7d1be1e951e18d81b160698301bd977088af60319a10f045ac0152c331843dd3407d03b5da8842fdab542c160dcd0660a028d4bf4ac562d1d0945e643d95c49a976db33e35e04badd6f4db9f4cb59eaae99d441a8dbcf9c9304d6857aa85983fbd4dcc9f625ab4393d8c7863fa134ef587a997bf6f32fdf6263055fa20f75f3ec8f6a6165e44e9ab2bde922849e1876f70edf4e4bc787e60a851231c4ed391117356a0b16029ba61e6f8cba2981a27987f99b01aa1fd98b03e4c78ff149afe254cd15198a2384cd1d2f7124c917c748d50b66242d9820965ebd47af1c05036440403d10d2f0829a2ef7d7fa0a8080423cd076e28ba39457a1764abf4dbf7d37e6affbe4e7dd3b798228935a5ad8b808f7f54b2bfbd8dddaa5804bcb962119f222f7fdf16f129f2f2a51fe510783fd50ffeb63df8dbfb8f32664d5f7a304cb568f3023efe940df8f841f08398fe452ce2036e0ffe8dfdfb41c037bd49bc298265cb122762392d50bca9382c892491fad4805fc314b561ea86292aba205bdfeb78af737fa7c757b0dbdd5064e4e24c231d4ed30e0aeff4d47f4a11f282cfd89f71f6a06afcf8a8f71b21e96d84f85161e96b84a69790fbebf9e81ba16cd908650b15ca568d9750b6ae0d81f80c10b727d1074dcc167854d5fc04240f9f238ca61b59be1c3b1305e6ca7fec262079f80b913c8ee0f95d0fb05fbf7eaf8a861311fa31a20bb205be04899cc494fd2053bab4ea8f5a86880bb2a5a343fad2ebe0373d15532dd6d897d94687aa5f522da65a207d7d1bd28dcf26de981eff4d89d41f76538a923cfa618c649adc9f983a7de8a54e62905aff7eed2e4cc570612a460cb27d970a729f23324fedc389c82e5dbaa4914f302191994f62b7cfe84d616af4dbe8ef8814a646620d28eae8e87cdfbdce7dfb3a3ade73afb37d2b84c157ae1d5fc95615825be5741ae170da8eba807914d8be8a465c5f6b7b176de9d44f725b5392d09aa00d6d6d629223a456fd6e55514a1268cf26bcd47c1d2d59b4f952c6a6083c1c822b174b96d6922569f4c97833dd733dd432391b0eb951e8e157e1662c8e37ad9ab2ca568d3034abfa5524fc2511c3649949a145a20ad0501e85b326469e823d055c7abac8a17c1367a2c3b38345d3d598602d0e25c67f3316fbfa2a4471e1eb086de839577ae382f0463c9c48231e400f58c9d1f8aa7f562c3d33035f3647e31a8958da2e61599dace2c4b172c95fb5e4aee258c1186b969bbdfe687cc6775cb19e1f34a030f37c156e9eee4a61e6d4036e9e7feb0cacefef3ab86b7457c985a3091e69da257b54e1ca34852acae7b1b1e32f77b58f60cec89609328f6e8410add18130c17fa47974576eb1014d685225f3141bd0248b1cc1beb615c4600a29d9469631988227cbdce564d94d42eeb731e79c2f4194e4d171c1407cb46a3eca0b4c7f4415c1817efd1bfb554c05a9bffd2616b122f6d5bc600d156f8deae434d215ec82d10d48406829021f9941cc1ed5da49529ce22437466bada431da1d8cecd5621f6cad5b14f262d4db8d521ddd1e951a3ab7e73051b428e309b94a59965604517b1263a2248a961e7c3082a7b15f00f278da818b303245d55aab8d42042e88924392264cd0aafdcaf58b1ae45a6bad950b19a432a5a89691a62cf0785914089ebf3783301b4855abf3e0740b3088b4d057b1f00e1d5f7f0a1ea5ec6959ead7f0d65a2d0d8f5246cbd232a3a422fb7b0a3eb266cef49a78b2656cb039062c000f879c793ac749d2c16c0ce5e2134a6039ab0acc956c381020405024c0b4b71f7c34c6758275f8162589e1d2072cf32167b11ec59223cdb355ad9aa2c7be2978a4a154bc31d262e115e0d18746d6d01c61bed346454c52143cb274e040350a43814796cbacf4cc77a5b1649fce33b114b0d9231b60c941df3f87ec31250f55bb09aed311172cb0986c28fb54d12a051ebde6b5de665c264989b6d66ed65adb231eb87742e31d648c9254504734afd9181ea58c66e22733a432191020321910996c04789432c93951a37c4a61e0fef9f305580e41b1255d887015350f4a8ea05a35efa485b1ca1288266483111080882422b75cf9a2c1f600bb01fb596b8562021f52424051827202d32c83a024b93184bb2c839e70914fc808abf9f26de40c9d79c3fc8ae2a45958ad9686fda4b46a7eccc25a35393044cb8236a62e5af6a52df54b0bf3996db33016a8e05eb85f6ee953ad184baf6638a050453e63a9e454c9f32d16af2e7a5958c7057fa6331dfe345459519dd034342daef0d325ca4737224a37a296a179fea665fe5674796e123d339fd0362e2d2381ba80e1f85ae3df9d3c4bc8ad1167ea4d8bd564445666111639327065f1ba62064f949e9619a9163f4c1ad632a385c242217bf4cffe018ca905471e274d674909799cb426509220c16492c7966261b3c8da78354c5a66c76766cd57f3278d27cff976c7f2d89e49ab4027846a5161354667b50cf40b340a85d198cfc8562c53990c7ec11f2ec2d066c81e1e113855b3c269a56aec6fef031ebb88d27c35f3d5fc16472bab611b72a565664e94e7cf66d3f29cd199b784cef2bcb1b2288ba993b3a4ba64207bcc20739067f02060905d4cd12cf9060de78bc9ab09dd692ca88559293302fd9d93a938833f7d5085195c4ca93065962cced0ef38e0f66268899c5c274f12b3a727357fb608eda0496e2916069bb29649cdd8144a4d59ab86382b16d6169627160b9b7e63d51f491a69fcd029e5a33ea35a26d52f460cb28bfe52c4b29f9c96c8f96e0933a765a498c2799cf9345db207fdc6b0d9e3831a5ff5cb1506e40c4aaee4b7ea07b9ff0b9a4cc99ca9934426e59633338ad7121c34c9dd24370e5cd033a0d2b4760af5beea1f72fb90c71372e7e496e2385fb93b47d5371a90b2658f1464a6014b1ef539c92365b3bdfd4db4e2055da0620bddf28da76e5d3c8f44ead9dd5396d0ef914647eedde1ef91b81d37fe83ab74a868be29b7a9b441ccf9cd9674dedec01fdd38728be3909b24083c5b863c39e594534e794b2cc87e5a25334e9e2f44feface539baa7c41469ea247915209ec59e25002ab20af30f16529f49ae554f6bc1047ab3c446d3b68a810aa9405cbe0efca6e0b82c0e5674b2c0bd55c4ead745a69c80a69bcc037382dfbe22876f3400699968ee0cf3ed892a938cad8a9dfe93455619d96c04fffb30fd94929a5f829a59462d4ab58266a23bc8f0ab9afb185a93a0a53b5da101ce17088afe80ba194528aa70844467f524a29a5b4e694524a29a5274cfa5aebcbdfd7293df78de9eb50f90c494c35a54f83efe3b7b98fbf1f73cffdcdcb5fec33dcc752fddce3b46e88314c0a4644a133cccb1819b17c7a1864c892e90f69992d43e999989f1a5a460a51c192e94bff01fa827e424149f2389b640a739242405832fd0a5089f1c68937a4b7a14fcde85fc2223e454c5c1112875395f4f75336a4bf4f4a8d441d1d70fb7b83afe85ffa1dfd8f72a107524ae9d008a7e948a86b6d6b2386a7c704530237d22866b37676a5b4badb8f86d4c8569837bdce4d8db6aff19b09f7e9d6d3e9341abd47bf152220672c2057fe334021864d8fff497ffa54cd8d8fcd85116feadf6d8bb9f1a921dae08f116fae98a237307f7ab16ffa20f64df58b94464548d2473bcea497640437a46534412fca4ee435a7957ce813fda7bbcde385ddfb4f0b16cb2e7398af3cc7c5b3c353444464bffeccc1824aae65970bb315a37126fcc77f7c05e33b13fe73c2fbf07b51947b1dfbdd8fcf6052491c7122ca76e224ca379a87d653ef0ce6342cfef88fcfc8fbe31d837935f55920674c9f63e155baa8897ce5fd729e0f0b3cfa4f76292d334e9a50cb8cedb15923ea1c9fe18aba49fb26eda3bdea21bcb90e8ff990d39cc8653ef322ff517dabbce4826e534c8d13cccb68fb176a5f60f8819942d99add9bd3bfdb8fa85853ba3aac98ead1e351bd204d5e619ad02e6b4924d1a6fe48bc014559a3f3bde7115592691b7d4c681f26c47f0a4b4f326da08f266db57ea0a80804e0cbf51ebf8efd1278af89f4296abf4de24d49b4e20d162969244a176587338d5c9ca6d706dea6b32dc9fedb12920c06e4a7060d457ba1c5d04a341a4f8ffd1a617d09b78709bb2f85dce3f07b30f44e31202984e107360464e805d2e6da7268d35e5981661a68a6e169011aed021678e10791d4c9d4f4fbad58531a8dc4147d127e3a7a1bfba3a79434b262305fc3972f91febb8237f0020cb2c79649ef4e5d8e31026160c41b9fd349b4a9250fcc6c126b4aefdd50b6b6cfce564dd58c48a551eb1b92f3e229fa5ea0bd409cb6a0168c51a87f956a05164ae57acd1d1e5458bf46b87d4c781f26b427d28b8f4685b2650a5ff0d5ec610931f59c3daa55720242662a691a5d6b1a8d48a6d1e8fb4724f1c65e597ff441b6274db0c624c457aed14be7e54ddff76d467fc51b9fd2dfbcfce84ba20de9ad78637ad28f6a68afbdbf89454c239af3e2113273fac5c0933a463096e7734983e7e302c7b4008f5b0e6c8252f27c504acbf47f52bc97a855530b177894b2143e6dc1b4ec381c556b99140a4e04469eb6884716be0ef8b3501828c82eee50b56aaa328dafe6dc72f29c5b8e0f19038954b284178886dce0335716bb4194224211d920026bbc985261fd1be1f636480fd67831f9e854285be0cb0d6f88c986800c0db9342c22d6a38848224944832432844855ba1635fafa3aa4dfae7d91a916fbedf62fe20de9b7bf197d75a715b36866491ef8fd035335d6ab9f83f7be8dfd3b7a7b43aaa6c761cd1324a2c2cca50f9e39a8648d9735350a15d5080080003315002018100c864362b158304af37c911f14800d79964a704c9c49a3490ee4388c310619438c21840043902102334343360861f8465116152ec3a2f219a72d2ac838b0dfc9bc78a837cbe65ca4febbc2536a5d0e0c7fb44d1be1d82829dde7a0f263f5fec2b6329b169dded99ee9310dbe4a0289af1e9aa41b7b8eaaf9f44fea64dfc36c45e36dd1aef93ab2777e1a589d48ab4826dd4fa14a221ebcf40486a9c8ea61816334591f3f1bb819596cc869cb629ab122295a37336ad3bb766076eabf4ca24da7bc80811799ddc96772c9c61aa3adf9b8de71e845f60994c2886f4fd3fb331caad5ad6cedb32e65ae1a4684d06241af5e9a49576522ec73998395c62d1c556861105e6188b58f04cc222efa2397a803d525f9306fbaa3bada4212938c4d93999dba0035244c5824a7d839639e91628dd450011dfa883ba6eb0186cec06080b31a28da1f4b73659409218ce6b1a64c5e5d917f941d48fe2496942fcfea73ca1830bc64ada49ca0b7901f892a6af6bd9e6baf7502b96b695c008e80e23aa7661690a29dee555a6b67e83e57933ab84cee533c62e23b04deb80fccb3dc532b47280c27d1d50349a112bdb5925b5a79aa03e8966eb67df3931bbb24330402b3e89d6f7a27377bded232dcd1e1db3925f07a45550590478e80dcee159b7f7241e468b8937b3975f01184ec0b2ca98c1016467ec560c1855bcd45b63cdc2fc4c6bf0bb7dfebb830e5c4639bccb015a2e72cf90ddcc557ccdc9bcc898351aeb0bc1260632500cb42fc2357e6729eff1766105a62a589a0745290da36964007de2d9659a4c4c724e75d066658997a47a54c6145bd4a397c459b00444a3b9de782193bd7619aa51f3e18e1c4fd4954502e62e646a01c77160983f12265dd4b963719387f9b73cf56e59f113c2f35d6f13769707481c475e2ff52ebeeea89176c4f7627333f373058c3bf01795dbbb5d18227a4b3d3a321166374873650e65d9f0f7eb43ee3f82db65db2d8591bf3471a647b9a9931469974278f97c98cddc33476e767c7ee98cd666eece693d4994817e68bdd072ec53eaa6cc73642fffb62437713e24021626a2fe2412c49f2b04fcbd2458596803d48f8e6755bedcd4395ad056f91a9ef4a661f60846143500ec5251277c237c42132a036d4f4bbf908b338406c131b1d718ac42a28cd13fc80212d8cf0169e156cbdfe72ea38d2d8b2383ab0331329f1ba49352aba94b5a32b4a600ce8d03d547328f57dd381f75b27ad416eae323800a783078deca62b4b3e0932cffa861d8d135178934a207ba1dbf8d285f121fab8511bc57ee23f029db444e81345ea7a760aa4f931fd3fc2180d5ed48f5cc0e9515472bf3ff67c9426e2025fb1ce5c4779e23e032fbeb3ecc47b9c37b64d26b58d4d654211dd5fdc7f4b46ea7cfa9a3da88e7c36514be55ac08aa7c1d65244a53772586c6a3c123b98578a0ed16a205a7baa7017dc5ee2ae9a74b6551416472cc37cbc196036ab1abe208c592b6b95ea3c0ffbfbd45bed0384487649c3ead70b6ebbdff92e013ab1d56cb2bb4b9a78f8b8542048a30107e510a1a1e3bd38ecd679cc1cf459ac169e29628a78f3045ddb5848dbaab9f2a33e02c5874262825c30c7e8523e397e58d38cb156305367057639a9e91d8513043315c3523d6b0d164df33a2c750a2f8df5b8c25a4ee9b61733ad07e0164376bdfd9311715b994305393ff0a687bccfa76e669d8ca6b17f680c5cbcba64972f79aa40584422a34352e572a8a84faf6f140b9d80ea8ad60c2baa45b1648f286c695d7ad2c4b296c5dec48fedf4988798fd4942fff305dd0b0c549d685c53a36dcd9fb8c25e1b624189e16a8e32fd230ee64ebc4adbc61f2226422193cc40659a02039e0a5edf100841f26f74faad5d2c53af490b9a3f0793d54cdfaa5233b6528bbd499247e59d7cc03ddf05b16d6ccbb0bdab83bc659abf7756b9bad909cde457b30e54130ebde38bfaf83fa00257de57674f04cd8658b5a371ad5af452dc631601c39f3866938c6977b856af56a2b0991209a028820e692b55b2dd069d196b9e1e5b9b7edfd3ad60d587207629a1383c7dd4e294cf21e85f82c27318fb23b9b4fe47b15b4485298fac7d0bebb1736343de70b8c793f8740f4a32acfed44d18ca0800bf3936341f7aa42c4030652bb2051a313f88caf6c7431ed8d9e42d6a0ffbc1253d49b865d3a45aa48e239fefe88e001509ea3a20d12da86e91c019244a5d3092036610d5d25779c0b018a316a97471ee3409720afe15e4fd85b8716e55109cbe627aafd6d4e6544381899490157c96cd19a7ae7960e7633a2bee974e47c534555b7970409b9404af50fa49425ba62de2a14222cf3f474ca0f17cd38f22ffb279ee535d60a89a0d1f91b797f24836f58f0946b619d3b1ab35de824ec50dbe7ad0d1e959df8800b43d49eb7cd21a1f693e51a5db07c550f2bb39b6414526ab5d3a82f947599301304635d08164ce5887eac86b187fde703beedb26e7ab8fb9a98e30a0b50c7db460d69703e4f0c7e8ed2b7d0c48492e64571b00845d51d7fd6b8c5ee491bc284e26dfb2595ea4d3ce4657ce29e10a5b5e9d3d0d65ada1d3b658ec659742ff2654e4c0b9daf2d5d6b6e8ed36fd17baa9008891f70784a50402dc5300fb4cab8ba8a1f8d1bd7494f8bd8f376a9d1b4695c0f5e28bf503037cb5a5c82ea9111aa4036eb21384d5e60e6f6111ee320d38feb7851b268bfacc3d901d23c789aed703b2a25e98df2d351093c111f89498471a3ba819676c9aab5d96caad55a2d3a1278f7a020895e467c28d4958aec52b682a1fcab83b9a389d512c6c7c38ad6384fccfa6011fc575e30a654a4495259d27871a2bf4f72c8df73949c85143451839887c8e8b1ff6d0cdd9b94e4bb8c138fc3792de73284faddaa39bd0ca4fa079595c7905273e1d29b0e6ef79766978b6155abbd863c716689dfc685708a5280fc51680ac282a4c5718f71e2fc9a8418f0ec7e3ee22c720246c67f877ff0d4fd049794828ce5c8ef6eca903e12461e00e32aae8db3029b1a3712fcc1a12229b2c9f4c9aa23cf3661d631a62db156a7bc9e45167dd7c114089ff1b2945e448138b5b08c65ab10671baf22b3385fc5da1682aa3d9c0f18b5233341b4d594ef999d56a4993ae75072a169112995279190309a9689f5522d4bd243eb33e18f436adb9008dc62d034f2dd082b3a003c9dcfd5257b7ed312e6676cc9c44d0a77926b1608d0974114d1fab8c0415ee8f0dfb734234cc63948367152263b8480950717595ca798cc1cc2cf90c38803ee6d422fdf25d338f1a0d4f5c16e0596f706ccd6279d19a205aadd9002c19805f341072fe3155f8e650f2ea82b1f91f18ba11baba5e7bbaba7b42f900a4730e32b782bd999c83f64ee11540eb665b218625c764ce895ac8043bcf9d8967faecbad9c52c94779c73105577a68cdc46e8bda09520a2bea11b2221526b50c2ddf0ec3522d740a160254ee630aa6b2d7a527c35ce9d89876a7428d961c56e316a80f31988500bb75ebcf2d78968c99f9317ffc392f18a5fe8f24db5b281f5437776c8b3195f139c2c86a38fb2e5621999ed121f9888ec50625f0dd71e4bbe55a60b46fd88b8b8628715dd72b0d0174019a132b678ee34600fb7d993517b24082afcf5213cd0a7a4a22779a56012c0bffa47219d6761532035ab350c7222c51813d6a6ebeeab26abfe003b70ca6ef9d3d2095facea71705ee7292675e132c656cf3eda8bae838ed2f1eb4906ffb274f37c5e156563a1ef54f63b6950ac12f722539afcb2b61208da7cf8b42a56595a9eb3cad207c6c204458255ac84eacffc8aefd30cc0fa0c656a4ccf2fbab412a4845498894d568ce9acd4213a12b3825e039b87ab1087b4b62eabc7c877e4e8f1eee4a09f92788d2b9c550ba8299da3aaace074af8466d4fde6b19aceea976ee25159679517e1adc4e08553dd3da658461afbf95599dbd3d71397b17d3d48fd4fedb25b09b4bcef46e00d5fe722be7255b78b74a6a5ebf8ed4586a65d6172fe05ba7b5579136776293a46a6e08b85b3dc2dea136832273f1663884f4b6b69817650267858beea8caf4c7bcfe573eccb40d3bf567c0ba25ece29b96fad7a0e9e091f4931ab4afb48a9773d1f0eb01ff6d944aa725a640b5a1946493365a4d8aae1ed16a78cbffd11e840d5d3afa8436a622862b83d960a3bc9e4223e7f1196598818dc643f13f530df54b3b8712d3197d724c732987f03f332c699438ec9611c3c88862b98cbd24128b1bf9534b0357075fd3e23d0f6ca956e601284023b04d4b0cdf08660f5e8f000e8d5f3e3e9a522651c148c0255f807014e4ceb14ad62f53fdd401d404af782f5e0cb04e7bc281fde8e51f7518d0e2863f0f268f2471c07bd929d6b2ca4afe372cd2e59b03caf0a42ed6af57fce49fa1d2596170a4761cda8c0789755797469d504cb522a05910446120b1a444252b4fec07e51b6d5eb5ae87f83daa43626d9cd68fea10437451cdae9532a58a96f7d4a767e96d2679adb0e90a786d263576dbf2ae2d1e753d05bd551ce8355d64e12cd9eaa577d582a69d6aa1b88efe250c75a7b11ee90b0499af901ca468fa5294e1c8c0692792ac1b76c7a543c225897cf8ba3392cffaf07108b9186034344a92cd1ad4a14bf8e9a87d051d613a2882001be3399fbb6dfbb4340bffc815a19a29d13c3b821f68a92ca9a87c2a8b691dd29d5d9c76d41e014e69de548bf0df32bd1e91f37656113ed2ed456767d4f80e5c20d8f5d15c4696b3239aadc48f57ff3dab123f3eeac1e1fe7e2d843a108e79f05bbf589093d97b940cde46d54033136c579e70fadffd3ded58a52b005f4e6e45e2409ca76e04b908e28e75eba2adacc53b09c2633869ba648fd8ecab460f460b81e61f9a4b6c09ac2606efc04ec9da5eabac1a6b6e540cc82f2db35a71612cc32ad3e86a8a814d4a4d136cb3986a5e1cc0860819e652e38565b9c465d9e6a1ee0fca4d85ae9fecd2826d6a2800177d846dbe2f0dc19d34874b64a84e9b8099bf324b85eb46356b644e1735e0999266d90107c0a05a6883faf48d6f8ff82eeb1b5c9c6f9fec7dd5d4cb10b6c83e7036376a1eb73523d90e463fb8844360266e720f32f4425332e417f39dde69c39871faba584b5fa49218dd04a5686b010180b3b9ebebbdd7892ee48f0816ab54ec97bc0e763a587836b9280f9dd5f9b2f0a10c538041ce47195a6898f08ac45cc76281f2645ae291abbd46c27c36aee4f82969411247da9d3d2efec8cea2eb0fde2a6524fe6bf900b9dea92df8c905c005716cf9518fd73e256eb9c237dfb582f4cf7c4a4421c8c2a4a251051119bf64c6ce22e0e9c44a2e4b9aea4b905d260291c41ba0c130b5f067a7a11499f008ec4148c242bc12e6a9994550b1310fbcfd815ed61a8cf5f2cb984d412242c171e58a68cf95bc8018711ca075753019e4784d3b88b539bcc33e29709a27f39de1195c15da477523e03bff2aafa5ab8f7a741c0e6ad2eca008824f8b05e22d685b97c41df577658ee97d3cf0498dd7470e54eee20f529797b398404a3ce6a8b609e43f54631098704375ae80630e55b1021e9b641de1729353598db39f182812103c9194a118971bcb9cead33a82673c5ce73a7dc11dcf2db2982b5299841b0be2da21c5a73aab5e7795146f812a577934cbfe7984f702776ef1c433142a17ef96dcd0b153cc058d660a3e0a1d6dc0b5b89408d01b739e4381f25a1ab7898a13f678624998a51816223d4966227e951299ad767dd3e48f1288abeb2f236998b9359651aaa3ef9d49a7c09f2d1c71ad9141cb6988336c2d9c5960761f5b509e485488f787d39cdb0669fc429be3160f8f7a59cb1048e5ab349ce1bfd9607c917a70dd8af742ab5472ec9a1e9c4afb11e14a5b1612840f952c48319e0cf007a14844663f13356ab67e22abf89839a6f50d0cc470779d2a30fa53b0812b1f7c117241115113fef33d0c699c0113e2f24b68c9587a9d578f61c99d41d8405552cdeea074983a4a85c129414ca3a30563aad7eb14cad254a94aa0c61c34bd38634d40c43141f8de54d0953bbadfc8b9424ad149363f62115c0327933d36a90f505463e803cc37be23c452404cdec2574af77e4dab16fd4c58827d093cf37d30050bb8a4e1bf73611cb4471da380cf2068afc47e8c32841a6738ff20c729c268a6df5f36a6e984cbfafc3c216b0f8986344818c31bc35b4880c6a2a2cc3c7067580f44310cf1e5c188ad1e563ba5ec5e0b3c59572efeb6fe9dd88e4b642a7e61eb97a8ef189ae808a5eecb42287487ae513e951fedf26812d904375fc2ec8cda25eed19e1d7ae6d3a7b6df89ca3485b3234e8b52de0b38d6e9575afbe988787d31a14126d598e26c0bb4e4aecd728002695cd9f3c49f7c4e48f4a0c1cbf04ef798ed0f0fbbd662eba194aaa3c2117ef4e826d9c0235ff080a060dd7142d11537031a4661b992152c9d976f01b7f986c14c6249c55a7df76fd2c2e04242c2447defd24f6a25519343495230b9fd975531f9e966a9c67cfe41e4d27b12031b28404609fa837ed84bea92606bf820c7ef54a3b6c5ac3b9c28ad6a91b0cc2fb6fd13cb8c9f2c6a8aeeda699a69572532a4a93282430cb2cfd58721109087eef6839fea90ce055bba161b105333cc70931b2dd5c6b813b550fb91ad759235ad26a88c420344c8c02f0b68500b846f90e6e63ff049fd27b78c37d64d11eb3427c99ba80aa1545d2710a33b3ecb828680933b109dabedbd9536f0fe855722ae0296e009ef67154ac4e4c03b7dbafcb650d8d1331af0dd06f8e8c06d30d32bdc33269425584a84049645adda7bd6d9d406b39c2b8d3d54e607e4ac0c2f593b9ae1ac886009b6174b6a2ca28fa71d14bd22f6d07e966c47a221c5ea0534feb30cd6197249e23f632dd94abb1a99b76b1bd2bae6b770db5276a780a8439be1353a5c98b0c138df08d8a0dbad166c8d634fbfe471c9fb763792748fbe47923f1bf5293e7468c9cf04f7c141332bd58c72413e25f6fc7cc0591b8006b20e53299b9c3cb1932a07280cec20eb40d01e1b86a5b85131bf14687067f737cec94050c284fddf0f7b20077ec7829c155752d2d0962e6dae40d07d1836faba9c4c9a4fed397387030ec98d8561d9ac934c8229df2b71d92b420e7bd816e92a0951aa179516d58eda5a360dcddb709e68bbd04d32f03238aa376b9c420dde00e2e8e6c0f799c67374c8e228505c11fbf8f096ed7b8db10a4a0cf6aa16d5fc92eabac15c3c6c108bdef2a3d1481214178a7c69c6e4381ea2a52ccf7fc7ecfa7b66565f6c61f8a32ac195cb653d150c7d7957de0cc19d4f7e6babfa68213e052deec35d1cb4a62b8050b4e9bb783a203217fa1033ca1185b0334762d7acd90516abbae69cc1cb421d820d4a63300dee076f10cb9f4865215e45d290fb6ebb7931204e706a7ad172963ee0aa1dde6cf1368fd7c18ab73ea4b7ec2a5faefd1a19db0def1ab3fbd37147e4785bcaf56619a60c4cb86fde2b4d74657b4b905f6b942e141fe1c299093dd9c9b3b599fd3fb9d9062f9ea18836632c465b90699b8de4326056652029658d1c7d68267405aa94cdadbe3d31866d4a62a247982479e29c1d2742418696c198bb18fbc095d0b1d331c6523ef7a4eaf5ba094630a8f96a7f239c08c357a0f36cbf1a12fe4720916308375503dc406c05fd843acebb5e59e2b81fc7bf20400d0fe08f74859207d8e4c8225debe12dfba26627124cabf8f75360a28fae8ccd46cefa9b6f8b9554ba8355ff0c09e45689991f8b99e1d171b691559a5f4522a6e7fec456bae6de5803394e341dd352f804ee2cc1f56c98beb4f0eeabd1285e98d47664e7651e4881a10cd2352a8bb7f719d6a103fcc80dcdd8489ad7119b8046204ea8b3e90d87d16346661eccb6159f1df6a23c9c061151bb68340936bc4d253fdb58132c1dab4164e3c624db4a13e423991d8cd47551eca4de385c2108c334402e794472e59082011945bf75279a97250b38b0653e30d0d18012d1ecbce65be0147fc8f50b7c24db487e5b6cbf5dc704f6303e13acad692cb00ce4a612b40f68f334b89a19054b501c1ce4e71ba45895327d956f421ecccdf1af3310a9e248f8b45b051b7b114dd0bb01f46e338709999bc062e18d3e365027bbaa178bf368dab83c4be67c4620e2b545a872008be7263bbe84eb35599a71a4fb0be79587035c338d840f2c0c354cae53cef303304c64bdc105b6df81f774d5cc73dddc54cc6da24e0d86c1a31b189f9ef46b6070c67eb298713fbc9530210e32018fec6390a60686255919302778025edd9dfbf00050cc28e72f6960a1a24754910f66f3b78510c890a204eb56feb68eb4c285fbec6128ea26fb968f8ac4f5abc6c45f13555282beeb01256368a1e826f2fee3544c5ff1800996c1d22fd4073de02c2d1827509993abf003a61bf85266c62a7930e522d50da80c6e95bd0acdde140567f66ae8861aee7cff311845c5b7375dab69c5d258f2c3e5fdb53cdda564132d04ec89683db35e432513cb660444faa651f36cd7a4796bed2d8568fe7c3e437896f8150d37bf9e6a2f3530a8a39e0238ab1a7943c2d1c7cf3f8b2375c4244aae0a965f2cf5efcf5c98e0fe6a37b3ce27727d2c6d24500ebec7a18fa840f17cede03e20e4cad34098340f1c4b288d46228cbe8c3267d7388303691b8f3acb2c89804b7c61b25bdc390d174e092fd9895390fdb949f4fbf81ab65769c0c6bb0e8995a2ef464c1a31ca1bd90b7cf2d6c092df9abd4b768a0caff0a3e2a014bf6587e82d6bd3968fa7ebda6259442f88591e40d58b3807e77c2dbe2b25ec6473875bb598d66d4783c60fd0607a0e8314d8cde2f3751154c46ab3fc72453f8c91e477457a065b4b4df0e0297540aa3b2cdcf2e1b346b25546bbbf4296a9c6d7b11cfea41c50fb0f7b9327848e35c0507bd8b85a9c3c6d269bec0cee1c1da35edf93d018eeb829f5518a3c45d2612a817405bd8206552ae6ffcd8660b0aa685ed6d27bf933279e9a015435066c5de4e7a35427a9d6874185cc8b2e8f7cb562edf0f7c579efee13b07667f07686e12439eaf7e70e87be363b8c2d56e729bb60dbd2dfe9084973b8f1a73381be2de13d68540e967e21ac1b6c79ca5f72f48a4def13a50641bde6371275900198e8967715d3e0aaa4d58ed402df068d45e1a87d97a58d65aca179b60bca33be082f6b860f705ca8953ff8a72954ae163d6d89109fef2e7bd919c31c0a29d0d881c955449f7e8b0943ac1b6268341e1c2991b7a1935f3d3338854b1b8d07b7fc493f84b3cef39dd36540fbd7387d5d9e4c05db9049cc8b69511420cab380cea0808a7a6096681fea93ff57e7992ebeac64d8a13fca455ad5174e95088ec1935320f17e49ad7b50316b5431127b82d37f5a59d79a7cb3b0ce1d2f992060988ee67976a7389fb529bfb602058980026547ffe77f6e32671484f0b99310478c0a6d7f048041d2a8c527be8dc1a9d35e7223cc713220dc2eabb362c8cc24b4838592cad2265a251d395c9c0db09b96166be9e24bf0a351a83a27c301d3eb27719537dbc13efda2598eb4ca4be2cb2d94b50de0c2bf65fb9d62e74a7b82fd68051f9ab8d51e7f7d47eb912e8bba921e9e266e5c9fbcd1670f6d5ab70e1cfbe2e089847b9f5104b116977b4b1b3a078e0c8e0bd538e2243d3e4e9decaafa1af3087c908b1fee7908138f93444cbc04bb07f0184317b330967188e20eebce50f007e4d784e581b44ac31e6ac68fe82cbccd956b50df3d2e41e988d4be0c0be85600978249eb0757f5fc370cd8fdda1b5ce6aebfde4e38ea27f16c730c4709d877c9306961ec7f9f6b7bd260ab6cc69fb9bf99ab79331362b9d48d9c46d4281c5f9db4533a93d37fb6ff6fb9571fa3d04d495f2fa8742d7924cea3d58da106713e3195a605e1be87e08ce5cd07916f56e055abfb0146c4e9da5d1deb6c3699469a8985dced2dca6e97823631a2d5d4667699c20fa4f5298a682abda599a182a14c3be34ce7f4a67699eabc2af0ef4c003a7b334724b1ce1bd1540de02079da5a1b5225d1bf45c527d3dcc0d676b6f3b0bde3306e180528b9f61a96b7fe0e7d67db80726172eefd25ba7b0d0042f8956bdb099fac1fcf1ace45a9a475b757caf2ed5e7ee2476432c23267c3079c0abf2297cc07539e877ce92913583d1db0ff01bc282b556974b2beb30e49fb985943f67da7851b569e649be5620781d24cb7871e5f46cda40e953143c1d1a950a4b26c10c10e806fc1e7ad63a1adf09e416b53f40f5db7ca564df919d81f2f105ad84b3d6d5f906522115f7f50a0f25b491e645621e5c8c4d6599ccf17f15b5c6433f8ac4386277255bbb2ede77a896add48df7c621b04d373c42aa824eb53972409bc760e30ae0fbb029475abf3013d157360dbfdb980a1152b75c21408476a301db5e479fb7cbd0cfb95e844830bd1339c5cb04b507c3295aa8492d1e980eb9671ebd85879a13366dfa84cdb7aa3d1fa87137d60b6c62b79dc7015ca7fdb2132cc6f08d0b9bd5bbe8fe7648bf2a861deca25574350a9015ad0193cb05db6bb85fff67eacd118ad77a1aa0106e1b6d2b14a1691f8bf3fd261bc3e3e3c427112d8a88bd919053c448b493b252a02cb233cedf4828eda56b2e07eedcc33de4e41529b68feba2deeb0203e73e53fc12e8dc9fa44b6c038c87ea0d78c95868d5e04ad039e33204fb34f34394a6a32d295dc9b797567aacafa4b95ac6d9c83881088dbeeec149e3197a31dc9f9c22718f46639d29668296811c9d9a949735ed3c8f85202cfe890a3422b250d4cc9e1e68a18e2f5019a0e486b81e3eea0e15ef2ab9d973d01ce0597f5328b8e74617eb4d543141180aff525324c38c5622598b1fbf099b377ad5ef981946beaec1dd92cdf61915b88e48443775bdf1be688920cbeb05c13f9eb09f75f8d1c441acee67a581b64981ad576e0b622329bf2a8ef49254150e2a42e8dd000ec446b65ef87d1dcb16a40ff01170d9b6c5fb109508b9b8c0a84c5d17c8e7d572e05d4d0a2336eadcdba80230ef0a54f63bf35f12f4d112e0dca11080ae91583f18152458911c9b6d24c7c01dfb1938728b30757cd9ce7030774040bc53a0f8a14a7d5b4731a00b501f7e221c8cc58a92e10a3412d558acc492a0c738015b0f5133cff482f308b299dca9b6901bddb95dfc0774c3a3f00e8ce3c5ffda7b7a2fe59f893c4eeaf10855ad09bc893656481abfd10e99e464c6a811591d43a84da9b448a6348763aec533b8e488b9e41471312faca582221194f879c98b52a409b46a56be7bb2f65b77461cc2c6c8bff3296b19ddee1db125f4866e59161a3650bbbedccfa22af69b1842b9f6ad6ea35d7d2ad041442b9b4c5bee6ab0e316fd7fb2eacc9157d48181f707ba974240fc624a945010b46c392d1b37f0f54803aff86fd656c48618fac0b570171b8dd71b470e1233a659594cdb10a5ad8dfcdbb228c5d4df768d5250da82a0a1551818e7488b825a53fd649a6a3bc6936ac51000824d4b8d31e8cd7e4fc68578cc1bd0d800908d1c99eb0abf1336cb0ec3c0f41708c2ade82ec91508db191bb5b91f4b302e1eebad948da0e8e66c9e62862b58d2739d7c5c52ec3f4cdeca905efffb01ef06b13d07a69a876440e7808795e7f506ae05586e077a3ed2ededd22ba2ee11cb25e54ca38df3bdee747c6c1d4cb7d583ea81f29bd0e9f77326a925277c3605b384e4856c1487627e749adc98d0c0081107557a8b74b307e62101cee582064114484eb439ba2eb19d2666e51883d8a7bd4a63523ebef4ed1a2576dface79fa191a27637c1700ab8689578eca5575f1363a5a338231a98451dd3312f07101c181314e82e68b9500a14248d0b013448cbd22e8394e4428fa48233685d4a50b999d289168ec1023a2d5194eabbb5e790a23488cefe42706cf21e0ac2397efa4f22d350c2fa1f30bfbbd7004113382767ae76ae4d7d82533416d5e601eccb62f2f98cd2ea4ec4185d28e366bf3363a3a76e3f5a4459111bcbaa32ba96fdb39c254cc33a06db95cd1be77ad2c9e4630aadda23f218ac898963ff285620d7d059cfa841c1b14bd9cb34c150c81fd378d81b02f77e6e1c8126d9abda7b1f7d5078850000d98c4adee7536a7910c59a711a089751917adec5ea06cd13da8019771d15b1b8ed29843cafb0ecb1fe1369aa7e2533704c64bcfaa64dac3f116a02007d45550a1ab95378273484556d5b3d364f47394ea4a735f3bca7b729da5702a0d738803663ff6899576abcb4d2341ee5c4ed01d0d07882894ad28d63a021e27b4a575821160ae1a38ae40570f94d7a57838bd4c7080f2abad1713b59bd6e36a07d540a4aabbc82d4e0522f3b252d0b5abb90fa8a86b4d507fdb9cf84af32bbffc5a13444f64eb52c5c30ed420a05b5f3e9bb06f5cbb6e860261bcddf97e2c95e324b156ce6230084db1c6f5ce5609fb7221aefeb07134bec446e47875ca117a763b9d1915e3334dd9c1add91113db8dd51eaaea7ca6cf909a9c025e068063050fdba4baeec5c1e117f7ad7e12d64d7415b5c04cb15f98a5a3e6662b28eb839cb330c38bec4a7673ec2c2d2f2c0beaca6b24882881b88f2c1606d28598bccee2f877bcf47825fdefbea0c8737a87766d77c64d0515f99b49ed26460d80bb2abf571dab0131e9f2d45b0b5a5735aca38a6448654bf410e83eb7251f14045e4faf272bb997cf44bc8b2162d226e0e024d7832e10b00b39fcee729795115cd5769a7eab19688294e686f232e06314e4afbeb5601c079cf4a635bd08fd2db3016d15876577a2454857b6fe441ffa035e8aa9e47052eb69527979c924eebd19c7c51ab7874de4cfe3ca66410a7635f6e3cc35f3f5b8aded5a1271a80550ccebebe183491f303746d43b42763fa62c77a5ebd4ff48183798f2169cb641919c709ee44b68288e1cdb6c308a5977a3fe2e9d309eb3714c781ce149c4dc4bd99d35999a5c351d985076bdc8f40cd4dfaee5c67c8cee6efc4ab97fcbee2d5d4fa9d14b9a04142a1f24cd504aad9048e9306059f36ad2fa96084d2b8a9d8358a81748a1c8f7a40f3b888d9c309390537f25741e2c356b18a047c118c9b44080c61613b31df68f5a7bf2659be61c02325e40115365a4bb146a9f9f5bd2e3f94ef39e92042c708fda5390cf40e65d4b0d130c0ae715b091967b872b99c8dee8807eeec6a94637561660ca14846b002cab02e4780cf23945b57f4bbf9ec46da800cf714b9301909783c80c76d3a111ca588c632a132b22186ef476becc82647206529956c1a02baa9a4448c852250f3cd013999cc4871b0bd990730fd3e35671301ec53002cc264cef5f82736e2e36544d1c751cb0d914bc0e6d87e3fd77eea42404c9e17036d51790bacfb6d4ef4af5d30e62b92151b3daff14ba8846e78492b098223c7e319ba1f89f17232eaac7a5764d43577c6090e6f5d608a73682ac4c9b437d7f233d053fc58e717d300b0e0c9dd4d6bb2313e2ba7c1930ff367ef760a944ae1b2326009d3b0620220c1e979067b3e46bdba1f51eacb43e82b3e41ae9f5f1451eb44d57fc0d341cdb3436fc68c94e09e5920b1617fdf55c97d813e10bd0d6f488517ea7d8b84618a0018ef27cdb8ff6030e6e839b8c42c809eee5ea3930112850264964a3426bd3c1072cff167b267209aa19a31d208b6e3698ed8927757b176181364028f8f901889bf588284d4bfed3aee099ea5259b647d6c436e8f7fcd6093b60168a19d9283b2c4028ab460aa9db43654d511ad6292d080933556add123fcce5ed86ff70f7d88b1534289e2a04b02dade71643b5b906d3d526cce15f64549cf6feee27415dbaa7507fd75813bc7eabb0d16843033b80c70bb2358acb6c34190b82522689a2378b6ece91b7067582e6c7860e965029a94cffdaef0bd056b68ce720c7c91939c802cdad61450631471df424aba9a9f8784998ade060c77ee427e7cd6685f42faf2918e132acaefad4f7a37c4f5a46005bc5ff5877c55c269254c2ba47e85f48605efc3fdb418678670ff7d083d2b2c090997579b88877608cf68522e67888654af65bd05bb1020b2f852464499912fbe0c0162c470b3f35e6476b47980f8bd4f39437c331e9848f02b1b357097e2a552913d3c5b6357a8df8933fc8e9f5f6ed3053052ed0b86525bcfedd2ea28eecb09980c9252ec3f9571545d7fa951f76dbdd6acbad4a3c35637b359dcbb2d4dcdc8350030f61f59764e7e63c2993d66e355297491b5d87264352a95f418564e845a639a78cc018bf3df90d07eb6b2938aa22c544328b8c92c155a7e24244e533f51a334ff3e430aa0b55599a5212f21703c6264f189b1f42c2ba5ffe009d0a83146e99330f2b242a8fcb42fc3afb81851e700c87038311fdbcb60702ab9bc3fddbf3261225405f7cb3e38f6ce5deb66f2fda73466820f627ff7ef86635b3884a4b2cae34adfeea1ce25bad56c891238124190871999ec6a3151900c37cba0e1735e87d5ce3623ee8e6fd48bad163a4b20d8a34e11a2ecf5c9d6f55fa60682121e8d9ef98f7ab3aa8b5ce2c8a43e928acdb01f4b85c5968b85509258d2818046c7521d7ef6438e84fe4e55159412d0bbc6dfe386e38fc9feecbddcfb0ba4c69a64f49b67710d5b1303320d31f7e5ff9e43528d5d468796966a5484ed232f6aaafbac064c12cd9fc6c474b1006e33e7ed40cc851bc0b10b8f1948f1c4884c949f94c318f13525f475da9a5dc2ec11a349e91aaf02d7cf421291863f8973b887deee953f61577a8fc9fac90b50fb17807deb1630b5648cc86d4e1323256252ffef6ca04b15d4c13bb24aab82d129c8c1b3565751e1a7d056bf8d35bc1f4b754390388022c507f2d4ce61f6ead51d84226de31776867c14eb05174d506c5ac9ebd106f9ac1548427daea5e6cc21e87bd3b91629b3ac2d7703dfabbde6f0902096aef71f772d0f6c2cc64b5215a243f5adaa0283a5710b044ab66c2d4a8e24262524550493a39b54707891a8e4c519435b5eec578fbf03cbc9aa1f3dc929e5b0e94d69161c17459b2c324b866001650c72b688c46afd6b85e1c560a8b964f0c1874a8c26ef539e3dfde1bd582154978f9a4182518fc4ad1d90a9093957012646add3b66d5bec23c9a6a662474df37fc20ff52354ecbadc9aee15763f1df4a4351c4b0388900fac996c996e6ddb01dc8b303c0333eb8e00827f2b4eb446fc834545a2ac6431b4d07b49c7371409b20c04d936cad3982c4c9db360cb183d3c79d2b4dbe382acda274d77fd6a0620d4a26db55d27f6648592e948e21e7acc6872737b6484a41af143470c4c8a97e59be37ffa97a2f18acd537ac2c9d11adbc4eab6d8a737012968892583a48f346137219b2f59ff47ae502de0955ac0155d1a83593ede0c26d56b3b432579253c1bcd89ed3f72f5bc2459d3723ebe8912b5517b47ba57c9873e1d3479b4586dae496a5aeb412e09fb47616dc9425950984af8d937c460bc8561254fe69bea09b08871b4ab6716c56f48b971734646c382b5a04097d7c3b54aa5d25ef3fc5db524a1ebec92a52bc724324a52d149932c5a05a9d427d5049a04265cf7b48d67e1b325adbcd1b8c733bcebcc36858fbb2f095627ff818d6672d162642b5e02467059f7697a0433b9822c0784ca9e040f6672bd22e7094c544be22462705f3239146075d4408880624550fe21d1e3cad667e30c9beee6ab9845f6e64be929dcead2c6ae7001d3979a503ca6c4b747664eb2c73577de781b4c75fdd2187e54c937dd03c134667561dcac889a16aa8e633a57929246a2fe505e19f1af31dcd87c6792cf92e5961d6b6a63e580a93f8681b714c38a4550a2c0cd7c7f5c838fd074267daff982337d3efa81374da061960ea0d9e3e8b255a5a7af25535ef01d98b8d9fcec6a9f33c1bdf850d7c93806798d5f8718bf8179b6f21493ccf900b92866cee1da3bc74026fbfaaa09f65ef681b2d5809284a78e9394833a79af0ad2093a2c968e03bc160ad24e14051566b6b61393117762a5339357885aa100e9de477991390daec666a5aad20ada5f78d2a33c9bbec70352ff62f09e24665f8da0c4d926f335f302aaab1aad7149b7a1d18b2509f4b8a4e00de2e16d390923aaf9299de2dfc4eaedca64810b2549963251475130c066d5c22ed498b46e9fa0d12eab68c6a87de06fe55d3a32782ba4a57b2cf30467648b6f28f5cd94b0ed22732f6d4e88f342752447b7698e18b2b47cff9a42ae57b84576187f8bff4014086be735d4e5f03da7e196450c57229e151608b1540a7afbd22f23219339fa6d6f5cb511457a654b870b4ef72c77d3ebaaf7f669c0bb82bfdfc5208a5e5cfc628746c4b376ccd1c0328b43b24cd63b1cb83041f18965ac66315761d53365e194e3fdde6277b9a86ca6f56c9fdce68ae4f7e688c368909eee9f436dba055e51f75bf8bb7ab3d4dcdbaa6164d6085af23ad42ee37a98bf2ea4243b2378c00912d3feaffcb00127d067961390ee9e789664bef48d454dd8a54941fad0bc30cded5a7d9bdd96f09605e342c45057b9ff5016664b2423cf02c5f303dd193b06c74ffa1b2c7d4657cd170cd3c3240f77ae8a23d160de776b992b2e2a99b7ffb412d2b69150ec7e2517951ba74b979f490f733c37600525400f93c95babb3e17388c107e12f01e8e9afba2cc121492ef81fb858d7bcbdb4f73066d8c7dbf03f8d7d8c6930b79c90ba74ad60cd62e39a6fad7f9b551d11dbebd32e06e260015cdf9f0e58097d4c3b214a77a86ec852f73745a4c768d7f996e1e3bec364dbb42a1c676d9939c0c19c200b4355db465af145ef4c2e02b5cb0514e35c6fe6d6b40e4f6731de496346c502dc581237171323a1a5ac80a98a6bef35f381b8eef4994ab70b6abcd6989489442814c3cc0ba60f18f9c487c89ddc46d7a59f8bda164824d3aa7633417164d0a0338b516197d3795a7b35afaa17e67fd83d1a4171f502cd697dcf9a5b36ca4bb30003cb24656fa70eb3f560ed801e133064a7237bd65dec2d026e463659b7ddf242487b527daec84fed2894067c8719dcc93330246d47afeb6458332b447a15d28fa96764add97e977b59d9ede6407c97bb422efcbab8808e5f7063747afe7c0f4775ab4c912aa33e0965314c894baff18d612e69a68d5a00178f5d5ee702f6475d034855b7e07e5a62d292523a8770981da4184368e80b3f6644c40ecd609d34c0e03791e2a985eacd816306726c5bbf5953b6e87c8334561c510b4d48b7e2f582cd753b7d4136c4abde9df0f8ae178dae99c8ea2c94bfe1cd06df9db2029a415c6b5ae7b2943d502368baa223454aefb877e0c02f09682025043d86c7ef8263c56a5fd8571f99c1a01cf7a9be359046bbcee8615611a1004b4196e086a30664286d9a33f4a8ee341ee4b3a8bca34cb54796c823717d976d554fef4f6f1d3c60223fe6ad8604bd65cbcc1c5a634ae40e73cbe0b95b21af76700d35b7b8e570aeb6d2666fcd9b0c74445b08ecfe17c6a24900760d982c32013d7ff37545fe2998d0afbbe40ffd2436c28b2db9425700cb2e333697dd06b0f39788be40e0be3ba96242018cac603830779238cf30716f524a94cc9ff075f10825beaeac9daf22d3e3277ba2727545052e307365c860700a013d76be1a439ad19465467b2ad1828209d72afa0438380246d52cb7f775987fca979612bb237eddbd81ac8a13e933de9fc6afbb8e5f588d9efc2b68cb03366be210b98680921a34ab71a6f01ba1e3a6d78ef767ff857d94d8eba40744b515be772829f099bd4b855d1b03458b4e6bc8a50ae601be60b0702a35c739767a5df9c67e388dbfefa941dfaedc5ca02cf07f39425d66d778ec0de0523a22eb1cb6d35f44b5489b0850563c6b183459c68455bc761649a88a4a32edc2c6b8ca622bcde8ba66077a4030eba7850f415a0f8aa60e1385177f32398787b63534052cf2b8368d56e017dfb20d4978740954c2f059c6351a9177e6a269be8e3ab5e0cf506fddaa206a0068d13c803f8dee13dc58b2c3a68ea25ea9c7dc05877e225abaa399f3f143fb6806995cba6ba115eb1603cbc1e780d94f6f4b857a9303310dfebef0a7b9ba4179f3b1dcb17a08d35ca937438ae9ec1de3ad09a8208fd076d01c377a3a1bc2092224bf5c719dabb22e592b56f8915d2e783d87b8531eafce5a8c7f12de2c4dce33c6d10f78e2bc5290c539b1891aa34aaee82398cd512462b8c1fe01ab816e1c7d2754f98bf3f95ae8bd1aae895c7e4203bf17915a28e596b76114550fe64ff4a59ffcb262ec6c1e71389c4540c41cfac8cb85ab52793108fd5fda15e8414c76e8635d8c01421da159437c028a2c6aa30f66dec2db4752a20a8e9924cb02caf5e6848c8433c00ceb5568fbf146a546f69358fde9fd7e853e1a78b6b7012274853e00df40fb7c1be4d8c45291fb058c85959ee57b738cad014c73a4304f6fc6647460c131ed5a582c994d9da34958ba71baca9f086698dd60d1b71a190bb784f56f61a90024e569cbfdc8b8100e7c31489f6cff21616f650f79f1947059fc941b708544652da3d8fee5711546b57af92651fbc71cf15264ef76a70b8f65504c6bf63631fd310effe69a09ffad5037a521f843b36515f143081b9df0ce3d782d07638d79fc70cdd8f9d1761749fe352014c90a4445c1f05d67200eca20645c397b2a47fc1d1853a01cc136348e9f4b7082ed24bc90a70aa3cb713254ea18d9e2009dcac179bec1c6fb02cbffbe180b420494e69020e5a6aac94c8777b03e728ec497b7a596b668546550e7d20067da60b175a9bdf392d2d0a3446f4b225abfc971cfa873285e4ae041ffa84c591727fe0ffc066449d6f488e781ff57e2441957e965c25dd40740b5ac4904b9e16480db133f6306233579729c683430fd5de0fc686b323ad09a208f4213d217b796cc4b63efd6a3ff6451e082e8497c4916c6a6e9bd869f6e1febc98ad78f91daa6c00a93a4aa2297439bfa9ea0324bea2cbadce09d55c4ded5fea014b4c178ee46d741b585d3992cc98b5d8eaf13b43cf05a10c0e0e0974a72561de8f75bd5c99b855ea5fad13090ab1d05ecc1e319e006afc0a378309c808985fa73f4a6d66e06d912bcd076ac5c7d71edb20ee89d9295e37f9b307871245b08143a22ffe10386ee3fd387c30f8f7f7b0874fe9fcfdfa455d8bfcf11f9e9596bba6b4668d4251a2b9d4a54ffbd19c8e4343e6e82e979e5caa56a45fefd162668da5a2cf97f420cf3eb9253b09462addf39bc23fbdbf3a8728fa2fd70ee859b9ab6034af14a75b95d4a6b9fc2522fb77352c8304ab4e83a10642d74c35967ea95416c26c1d6378294c273a0b01c05844d0ff62548079ffc6314dce80c5b4f26e8b6bd5eabe10c9d2760f98f1700f588183851adfc1b2a373e21a0c1e2df115524d0865d0a5239557e29ed042c8ec0a07b06e875b3b5c809e1e5ad7f4f78343d408ef7766c1a66e5397eb3bb14684604e104639c1c701cdf2f464df35dfd4c832b8989f18245a94eb3e50a9c788b3a5222cd4092aab5927b9a75d620ecda301d9772ed87b0fb1f47cd4f46a1a1417e63358886a30f6d62fe5c59aa9cb6e158235b8f2360c7c2e1a28a00934602443f0158789d4a549dcceeefaf8955e388401507fe0dcfc2d027351ba909810efcdee8dfe119a046b4c38ca94b7a6b7734a2edb60f3abf415208b9386b49c16ea98a3c2dc462a66e33fa156bef6c321d6b46efb941b8d4ee0881ff67c882d19b7aa15dedddc1bf2128c6a9171abee7e385364f2272634f7d7c92504a5a5a80b92fb0ac0258cb57b2a5491d36f6190448c4b768bb5d45d9ebd93aad4343df8953317e4c570869c043bd0f139000bae56ef178e011e16e46b27f7176cbeecec1952010d53399d7403da395d9a5aab1ac3be9bd76900645477b450c930c27f74ed14bd54f1b46ddb45b1e775fde42c5c8c3d8f0b28490584becebd61f424d90a6e8cd3ba65f7063840505523b7a108efd36bcf8de4905ba5eaf8b30338c4ead49ff5a309a3c4bff39595b9164d272eb55fd37f6a142a5054acb5bb50815025f0f118f3899b9fc2fbd6f70ca961ddfb4ae0e5ec32b497f15d58cc8d316e8c338339158031e472364f3b55164f140f45b6e795b301d44501b81416eaa21813079816d019d7d26f2176a3d6ae07ba97cadd193a782630f0df7d026d80bf0beee1ff354750ceb70a9b140b3fee143f651bf2a75443a4500b34089ae3b2a5a7f8dfdd5b1b66e2fa72717979efe415dca7800363fe8f1d2515c4f89568b974440fa4052043fdd5f99d13a4318301024047dd84d5860e9cc00452d37b4c9d1cd5b34fe7a26b3230f9f2925cbf044b0cb16f102f266754dd2bbfe734ecd5b94dc275c7a967bcd471287c64f54a216ca518d756afd4e2f1f487e9b572f87a6512733465c2f64f0e3b52104ab490614417108fc48d01878dd9897122249d979521d92547e648282dc63536cead4e3332a319bba4dce10cc42eea1c6f0711691c85c22c13da01d70aa9b6c94d330463d7e8217411397f125c3d3010cf451adbe43a499e16b158ec56e6052ab0603ac5aee0d2b510db1026e97213d481239f96ac6cd3a2786db08a4c46bfec31c7898f12198a6e1c61e11124f18e21b56feab515cc42f52f292a48638b54ea7a817109f2bc3710a73ab25f0ee1e09d4ad448a8e6f5ee4e433c0252a75cb4522b080289c3368486769bbb52b9c9abd5ce1cc17a5ddb4f0382aa63094423592f03fa415433eb856e6929c58b9672dac7f637d2c60e4a3acfa82a37cf36479ecbe77896ade4a657e618e9f9a8014b9aa6fa6c4bf82575ddbadf5bfc5965ad0cae144a2a5f3dbda24c78f4daca9879536a40ce6514465d0811670d6566c500e1334f21cca45ce5d4cf96cae265c1e04b98847b152491dbef48c3da9727df58d2bfcccb06838c8a65c0d4d9fbe72581f11d46596fce43a6e17019c4f4873e32e3ed76a91ad957657eb37ef6f1459523149331f8703e280b5bc6fb91da2ccdb443a08cc927c66c851021fcb5bae5237079e6e3ecc9424ea94c9052d5426309a18e8649e10d01f79a09ab7c0b33799764484b1ce1e9cdcd73b87031ec275bd8807c2ab63882deee0ee8df020c17203e431a3535e6ff5c687aa14970cdcb9d1ccd701bb97ad6945e901687b196c39906b997ae7845a024936be440bb11be0079009d35722e56e24be43c8d069567ab86e8d81060c986d540d24c07f230e03e31bbfbcfc281bdb0e8614a6b3eafb13b25bc4c44ec6a4973c247f09b8a1d7c6fd118c8f34609bbb2d0b147f0c0f09d153a55ff20d0ffd6e8179885b43514c071537aecfb7d527ae93313b4cdae3c80e81b8d7129c78dc41c2f478d09bb91a90cc17145faaa004e780fe2e43e91b142564a983fd6928278a1174593484a7af37cec008dfd8c6f21b282c7f71555db8f8f1933c11fd5f9ca06626e58bba98185b06af587ee5b1a63159cd1b4655e395e232878c2747b3f5d5b5859c15f6bd510d6feb20a27cb168d3df98a6f14572787f272eb95b5edc3622fd3c5aae289d8c4a68eb912c82cc60b80055620b59b4ab216183b16ead535e9a22c23f0ab304ef350a0db403202b335d099815f710dd86ae65e93170e4c8ea695f3876aa1096ded115ff069df10a7c08c75693ae08655ce8570c5a34d4cc86159c7ec5d4fd7158f7bab8c54b11a8441b6836e4c6fd75a62c3b6ced085c161ecda8afe41735858a32aa8d59b56c3f02572bbc71f62e506a3ba2c72370a566b02841654235025254fdd8c108d58acfb2f171a27bdedb7282366aaac23dfe9c34ae9913baa37a78654157014214998c25cf559e2d0534f267cdd97aae141940b6c0a1a406c17d1b8cd240ef311d5fba0de39d973bfc888efea7cfdf9060363ff44fb823f7cffe4777f84de4b9b1686a22fecb94f688db5316c5c40a67111750914221396a4976db02ad49ba43d76b6c46ec2a59b33dca8ba20d1dfda1c65c06b7fba2e4263984c9d00122c57183961b11ac62c0e2451fe72ef33735ab2bca6f17d65513b00cf0d1f160d186a09f6eb83541acf85683912c7b35c587811ca5c7abb3987fdfb0135e397ce7b69b930a48dbcfbd010c15dd42a71e92e65774fec5e2f3dcba8717684277a07663eb10c8f7ae6716d63752dbf5df947f5f202ed36c5c0f872033501c353070c185ea1151fb201f75fbd177195abb16655e2e50fb6c2b9363c66fc6a5433d87b52d5d5089be646a5c86cb05627752b07b50b4af19ee7f4eb2befa45e61148572d021098f0494c318587719564212305578c074689a9afeae6e26f88775ac7fdd4aaafc797f584b491da5f28f09d49adbef8efcc1269ec2d31d840f3013557a8eab77bc19844d8cc1292ebd780979fd515b8ab58cc898a0b4e51f0f7e497e5f91d979a01b10256f24abb8d607e477d004b4340d02f23ccd14a3f649c8e61fcaf8cad817b59ce1b57e774a5afc525540d07242e021558a54bcca11cb50d110520342218e43bb055d9eddf2f518320fb0ec5d47b4ad1f147683e14068f647da3f5b2cf56ba9844022201358fb0992d7ced4abd990bab44e80606374ddf58a49f636885bc45c784db903620941b6fe40bfcf4c66d3a2240c861a0c81791a7fc3a049a7e41878620f64f607dd60b18406c9c2ae361dfb4d75c7c5e06247bd84c62c5dd064477e2c9cc887a2bbdccecb75e8481dbae78b11093a2c31da7a8272ab27b25d75232386c0fc3b3802c44a584812b817a420ade730d7280a12abb9b809aa88945508e4a825b6b79f8823b41d16f29d85ec6c20e4517623437ea5a0701d49e64e55f7abe4d900116c8b81900f842f7c1598ca5b226831bfb466ea7a367330908c609fb4e7a4042d28b70aad14be9fadd1cc85a3141a37826f069452db79ed0afcbdc6a0802bccb33c0847a58d1fb1499a33ce69e412ed8361c87eb9245c0bea607ebd53a5345334bfed7eb317142bd54122d88abc2dbed9b1fe44bed446ce82e91eeaab6c1f831c9e2a098e30d04230b11ce5306e5b2dda64c197a94adf74fac9b7114a51efcb15b0da23bf1d0cc050060f2c4658e55368cbb0a8169daa563c1815f3b23d4f94ae517599674816fab5d308f56b09bb5c6c402db85f8d5172841b49971fec5110b9b3d0961612b6d3afeaec239a86c06b37f0c3b9013f62060e0597818d0576d2bf6fd3d049f1c45b97c7a3792fa60d048508414f027063bea1aae2ab4f7ac98d9a50a9ff1c460116c35cb3c608c10f13416b290295ae6e0f00a395da9aaa3c2546ca03df8e7914f691fc9ce322bb33fd2288c71a1e788bd7e001fa0a3fc86bf91aab3acaa397742dc385043c5deb684522bb17bd01283553c86095dec614e9d11028366089aa1c3644c5899b8e570b2111ed743b2ce26d8e0cce1a15b46fcb4ef5e0e2fa745bd72b5ec99f611712311f49b2f2be38a105c2a1e310716f54074baea24448dccfde5cc8ce73666573df41f36a61c44d2f25df93b9756f78e596606017f8cf136fb6081b99f54809dbff5f91a016458604b52efb39fb7dd4fbbb95fad2d3d74e5a69530d67dd55db346699ae65b0bcc637a9daaddc3f246d2af3ebe3cb4e8eec4af4b5616e1196eb1370bcec7c4186aa0017ddb9c178f0984f11bc21610b5edca6472147454ca53c88ce215ea254a363702de78ff182602c5f886b14cf3f39a27f3b8ccd789191a8129521514e66f0a1767c05b419d5b1548ed6822d4932c6002764170d4e203c35743011270b66a5c99c6da24030780f6e35fee436181abcc0214ad83bb124e26ce15e428fc2ed523a62c4388555e987b782bceec1fb943dc64f0d91044624a75ec41ac0211b0af4f78ee8737ab9ae29398f62802dc13ace745860b8c40f97e5ba294cdf22f8230587c4ec74c982f8f98872cfbc2a8eb511caf0b818f08f920cfb889841cb69b76f58a442982d533d77b7e14c0e27fcdcaffa221ae06abc81d104bc1121ffd1f5603ba82a670b125cb17d458afbe002c2e813d50732cba13b6bfe541d974fa5c2c181d92214f0acc964a2ca949250ffbe295271d584f234f8128ba0a886e960ed2ba28911fd9851cdf918ea48aaae9a8d812158fd1fd7e7c2715dd3f8d93290ca1b5b2bf71164b97324650237d206733091a23d28470572d36fadb0200a54812a62da6adcc1d3caa83f2fd7d2feba0cc5ebace23428391a35b17ed332fbd433f3a7acfdc8d4c9c7aadbc2d6b7b435837866070e5feb15937ea2187d43afdb1c18079fff8f61f2a77619f0c7c3e70a43b6dd0f45044acdc47a8c0bb2a43522ec67ccba89bf96bcf5227a5a019e4696e14f3ad1413abc928d633fa66cbf503d88751f45b9cc5bc5837cd5bc5e050319107d0965dc30745415fdb8aac37978c02d1ea1bab7fd883477c61183c077a20b761de2dc3b4970714ff0c307cabd388e17194fb8d7527421e0645a5c4da34e329670dbe34a8f9e183272cf54553f9c10e6735e009212b231f121ec34f4aac4118cce60623c4543c505c4cb6cb3a1bf5e813530a791d63aaf8c0ad86044cc986568dce0e56d520722d14c4a1cb1d3df374de8c6057b7847631c19b3bdfdb40ffa35cee02bb2f0a96a7613bc428d623db6498ee2f2b1cbc152cdc99043065f2c6ccf5d8e17d2ef92a913f6a25e169d8ea726bcfa115cfabac7407e9988a48b0fc014d2c4624fb16115306597dd3d738b7d82baddebf0c5952aa9058846fa3c6779d0eddb2ee5d5480d81b83a6054a14191fd68ef93267a144506c68c226ba1561c85db041c48b5b8b23631fb07b01232577ab0ded944b43ecc504d8517877583a18bd65c86ee40ab022244592ca7947b5328e4785686aa45b27dbade1205a804691d2078d382545677a94349e615283e0bc2ccf869b66eadf5ae1471b595e0b003234cf98f5e33d583ebd8edd763aa95d10bbc38bd56e3e6b15f5152807b53a453e95eea94fe877208518f77eb78fe23553ac9c873006401afb3b2a1c513e5c5604f30c14c1b8849b4c3c78e1482761c11fa0a1b8e6c898078beeada296fd0d0390733767f5abc5bfa7c6e146750cb13ec5cdbc4bd878b24f9b3553f5a94d2904c3b90697abbedee00c430e9b5d52561ec41cc11d688263049ef96867056f39ac51aab120b2dad979794cf5de691363e076e326072faf337da6abe73ac33869827eb127cd9647f85bccf18bac96a650a27e7bdccf458a101d8205b98890bad1b41c3b2bb6a654b114204762ea723fad6797226d34154d1d39241bcd94668f90a3ba59c5b1a906b0d154eaac93bc4356778b30337e1b209188bb98d4bb0105b9f83f076f759fb5903932099df11d89f7991a3d6b0571019e4eb5a621b505f3aee7da6278bdb021b4d7ca774986c1664fe04c9f8b42fdbdc3990d55bbc64e2996fa34bd534fc44135cbe1f31687c72ee5ef6243675817d587040623785e45fbb257363ccf5f22c045983ce94ec8d9b933b71e91dd16e8be3920f70df10a39db6b304b38b6646b386887696a42228b89932fa5eedac567b3924f78221fcd943733d2a49a62504ce0bf55b991aa1d20a73bda413da260c7c36a47844d02eb51661100fa668840f3197534c8f86ed9017775000aa1268d0c4539fde57626c1beea2c1ccd3eaaa23e8fcfcd7eb274f20adc38d2e2a37b6a13292677f5318892ae67973c840989d52ead9c02ebc756debaabc5f4106660740cb615c2a861b6f80bc43a1f6951b97c1b93594254422fff3cf68d9063f978bf6026880c6e3852f5fa8907e6183c10a6a2f0e0d49894adfada27aa492ec2411a20e0543591bbaa82e318e173ebb57211fc6816d95fcce63e8507791df0960c39c87d7d4b8e08fa27e7097c71622be491965b1669ac49b0b058f796899f7dff522cc56607f667c12bda7f77002a9ddfd9d5005e0464f5fdf043b8b0d60f658425be3440836cdf7c9577b79445bc09fcf35015b553ed469b6648bbb6781bcf97ed639de7d6278c05382c9eab43e394a5b1c27dad5d581c34a734ade3f7626ff0a4b5431270c71bebe2487b9d410ce2819a08f319c66f7560bcf8c72ed1c1fcc9a4cdbc0800e878afaac589990f8c524136f693cfe25f090ca94113ca8a14fad360cae2dd0c0e5204e73a52c0782a0a2b7e2d15e3f4f75ca8476644bd7ff48ef10a0cbb253ff9de00584f6b8dc64727e864e4c6d5366ca14dec58e082239020420fff997dacb8cb7786bf3a861657db7e49373d72373b1857ab68cddb4d7d797643e92594b72e43d210c72f150406d5a1bc5adb567347f6c8d9189c6c931c0546d2b41f37ed4fce4d63583cfa372ed54d129863bb03fc68cf9ab6a0e564a0f4d14157484a80113f1a0d93212d63511b31213b97dfdbea8de35fde6df2bc7acfedd4ed31644db9d95018ee89163fc21df72e8ba9d333f993422b7a5271c4c664eedf62599dd886ffc6c1243231bf6628164ebddc2b0475f5851bf3c3c3c9f8d88346acfef989fa2ded126b7364ef9ac6eeb7e4825c79564844adb4d36ea1fd19fa0e48e2bda50c52bea128583b4c4244f996e675e85bbad29b069689090712fbd4abc3f517bc02458e331736e479dca66f69ff552cc6748ddb7b1c78c47d4c262cd6112c4b0944cc555ff32ca09fc7926753a93c466609cd16c6dcfe71023494aa1ae05806c6955bd64fac00165d5fa66cd0f5a000ffd51de0a348e77040386d3b713652ae31a4a80edadf48af19543543f281c456fa557a98805e1c087df8e30f2989b15f23f073c284de8538a037b01b18bd82f4da2d13ac7d031a88fa845e3050b2a20e9a6c2b0f91e9c46e1bdaed30028eaafdc7280099919c8bccafccb5d2f34b0b7c978af7ecde83186509e312e4d520a002c10128a840106b6c61f2d4a1f000038edceb397d3d3931fb24545e24e2ebca48db25446e29654a520661086b081b08456acc63b5e2549cef0866e58cfa858395c301caccc2f9ebb070fd026566090db188faa5f3feac221d1007c8c20959432db28858453343e0fc360764c17d606ea79d1ac2f89ceaeb0051432dfaf30051321095679860c2c37ca918601a106e6e42201e9081356fb52061d7694775246decbc1c9151e1e6737c8e1088cc0a397ee777c216647c90a9bfe3773ec7cbd430012ddb11ee843434395eca6e428bf3d67c1764f35b708047160eacc1dc56b8f9297884b9813590a75ff5c17f142a640de508593354e0fa23cdecc506e3d3af582dbf3ceb65c36866ddf2a741e3479a59de8108482dfa8bf05e4a85d4d2f2b327a37876107bff1aa4f6f704f0624b657f2f958447b05693a5457fb01603f1c37816ce063c8a634d5290864d59967ebdf0b4e82fb5168fa48d541dd95648fd92bd58530373d3f1b130e6e29c1f57597cd99f459d1fc52ce61f5d596c3dcc2df63a42178ae6108c62328d1bf0c8aa5fc31d2eb973f9f5634c006272a85bbf2a0000f0b01a282d7aae45af199236845af41aaa8e6634c1634cae26e7b01c7fab19aaa97121457f295f35492e51fc5fad5e6c36b0d6e51c60cd502e7f48e01a39c09a5c4d51f687b939ece6fd6bb8902f11065993d42f71d6e291c36ec287b9dd8431544735220c32abde5f9ca9deffc5e6f7e2d58b2c5cad94025ce347166e498b34b37e7d47f04833a399b5e835aca90d81479ad9d3ccfa5583f42b46eb97adf5ab1ee957ecfd6978686cfd92b12f73cefbd32ce9178e1b937e39e9178ef00233effcf40be7fd698ca011ea974c0d415b0697e080600f78a445ff1c108c81608dc74b0ea1c60a5c7fe691857b95f0634cce88123e1184e09185bbe5119e85eb577d3f9247308185cb018f2fb69ced65492cc7df3ccdcc5ba79d7ac2d3ccdcbb1c200ae7ad548e8498ecd37309e0840f75eb97bd79d8cb7ec15e9c39ec2664e19a859b651e2e5916d6d472391c5de128e208c7cf09c7154e38629b985c765c3efd08d65834b311debf0637c2c7c2f19ef0a3ea08b50269c3ff0644e14e345822845023b646080150c3460048a8d47a4f94bc2593f79d66503621ca27e6c67749f5c7b90401c2890be90df0c784813f681e51b7ecff02c77b02386213c01f7400e0580238a672d95f00e0e8361738ae3209e09832cafe010047960df007ad018e2c00803fe808e00fda02472c826313d5803fa808e08f49031c3f1638aef20873cbfe2180e30dc1f10363c61508e07869c09165cbfe33c0115594fd67c0911594fd65c0b18962c01f14061c6b92c8feab175bf697018e2f43d9ff856696fd5dc0dad8442a70ac5922fbc70047b7b5803f664a75f463c2007f4c1458cbfe27162ebbd3ac5117c4268db636da5b9e4638e997a5344b8bfab116f5d3af9afd514638c9fe285cbfbeec8f3a426169988c194aa85f12888b23d9bba411f553e4832779441919f900288f282b5936a286b2bfad331c6de8d6fa35daef92ba872ee90ac96ea44bca4e3d9c8058eb1bddbccdc01bfde59df476eef4a394b2e0b64a207fb1922fbd52afb4ba8337fbed7ad2eaeeeeee737e3a789e9440ee7e1c6ba69d2da56fe9056676098e2a165659be6ddb2a5a57b5d650be0567d6f10e1ceb972dfd111cbf9a69e75fae210b0d8e5676d4eb6947beccdd6f5bca5bead13f071b1ce70d12524229a5424a9a508283122125424aae5f2125eea194e29c731e79b34bb11bb8670f1a9ae0a2b5bb01d710c56a6d0db3de767566d55daac2b7e443ad733d93f7a150bd92a9d4015d97af6cc0374ba0a42496243959220908a0a41e6cd811854d86071846964049b5a2a459d2b372797c578d61d23977e89c747a4c0d175e53a7350928f048f3acd77ea55b873c29dddd2598e5777b7b38babb7bcda3b7bbd36e29a5bc33cfee96d267e31a4829515e349d734ee99f48b2893ccea42d5c90c79ee5b1837c0bc97d2437cfaa68fee4ee8173424916272012c40710e4710e5191c799cb46f3d6bd74c0510e72dbee270a023444942a57940029c9e3e4c1f2c4e5b09a164c41b2a4c8942d9ec8ba47863c4a9c97db1110c58b2c4e6a98028888e621f7e3dcf73931cecce4919529961c644a290f6a99f2a006996e0104bd11217bdf9d76bcbc72d84402c2c2826c8ad1999a41479159b724ad5b32d39ac8e3b2ddb8754bea28e2d32d87adb0d4d34ee9fb45c2144033d9487ff5ab99ef17f5788084938dbfda01916cdfc25a8c6477e6fa3542f60f602ace66b31770b3996c3e05af0e7a4c30c2b089d4e24ca213cb27cda49984947dca665e753bea0498dea073ea40c85dc9950fb3276408010e8a7048227485042821d7828accfdd96cf642162b585d7c3f6c13335bb488c28b4c1f064b285554e0325750200591e9cb3805e9d10112433a2041c30e5848697989220b29327d171d94562e8ac0c1061e2526788286e60101a51453d54e9d342c511402400185bd62c912575cb152c44a0eae0c7105098ba06c3f0b1db2fd962c8c4c73a706a0ca16993eb6229166b3d90c4ae45165421e67c61a1947964b64fbf6480b2b7eacb05265881b19636ba709b2e0c2861005eab4638f86c432fdd36987be5c41458b996cff3bedd81a481fb0d3bb405484c8148a51b64f64fba5d38e2dc2392042042a3db893b92a995e9c0bb5a4274982a8ec7004091a09cd4bd1563818ca947ec5c209940c000e92647a916605accd444c1185125484b07283ccea900410d976d95a6b554760499465ce46b3193ec07fefbd55581152e5a53787f396bc405524e1c03383911d51922869d58ac8a75bf2e712e1ba25f388574324b1ed80e20634250a0eb81d3018c2aba11edc3c1d62a840493a828621f8cb12a8892379fc19f6b2046ac24604969125501341b4a009a024302a4ba026985802db2c819a288ac9a1891ae4f15fec81cd5b32d71a45932d7222a8424a96405540c9e3fdc9f36b640954852d7b3064fc69f697f1f15bd5c02c092576a5e029b4c84a27992061f6c7031270c084dd975f63c26ed841bae5afe93f615d28bb359aa08403a40d275275e84fb5b28293366b2dfed08cf8c1cdf9f3f3f81d206df8a9e64eda8fb96ad30af038ad0d4b54b1c167ff3675815b34e9c81f3e300d53e8a6113df35613b538713f3dbbd2c6bf2465aa64e415a1e1851e28c1a62c835eb81263c50b46e20b4555da4c9a6bfb93335dbe75a6efcca5b933f7d258eb32db3a4343bf4beb3419f93ce79ca1fbedeeee5a61f54717bde50ddeec5d7966a9e41ee646d1504e6a43ddbbbd5bf4961cbbbb6d0eb35a6a69d7d5aea3d6a9d34aebed6ca5b7b34f661562d6a6f355e78a557b5a7aab53a7b4dafee4eb65e9e763e9e3e612bdb6b2447b6baedbe2deee0b2c34207dd1850d345a0caa95121f6fc93b843679f40c794bdea0590e36f000c12ac7078e4a4cba383a8205521359f2f84f3831abc1091a900c68150676260ab6f3a4644a22dcdf93daaea92526df70260ab6f9755a7a4b5ae4c1f6666d2624b87dbc064cc34e5dc1f365f74e4f71b52b084cb304fa2289115cb304fa020439405f249939d5ca054296405e70e105d20f5ed339be3c7518025cf2bed2467fcc8865d08d8896a48df4d4d7a2671964cb92572df2004504450445044504450445044504450445044504450445c483d1430f1f129effc9f8c2e79c734edb65e9aeb55d774b2593c9f3be174a5ef7cf395fc7bbfbf483d30f4e594e3e407de09474eae2430235fbc20b3caa4e5dac4e5944206c8427650478d46d470c88bac976d4cfc902de11485fe40bd8fcccf284c22adbfc119fe6b93d50e8f11664c116f1f1fe9e0f998e4c47a700387270e4fcebb40d1b34b35b51e0c183078f6900acc233be5ac97cfcebd0f1d5100d50802aab321fa12ca70038a60b870288122281ce20271b9d9c7f791c1b1c1c9b038eb1d046762c279623d38123a623862316c321cbc989e5c462393838319c58cca3b94c70c5e68d1b600ec11ab6d1b195278827bf0abed884f0f9acc7e47af818757cecfd7b7cecebedc5a6e33b8f56c7f768d511c5c1c1a193a3934353a3399203d208a1a1b51864f6828383432384a64653a339d2f9c59671e4641c3928bccc3029d3d181334038844348bf78e814604615b83ece8f602d852fb08c1f656e084a0ee73d2b8bc5de8234785ab4311938baf032d4a2bf40a9132794a91f8097794abf5ea6b4e83b3cbf08bdd8fae53904231e964dde2b232323a33a9261dd32cdacbeea4875a43a521da98e6a7eb04b8ebdadbf6371b535c6c32507286fc2062ce0e639e7f8f42be738f979c1f50b855026e76516ea971d82d22fa2a27ef178ff17292f53fa25a35380900708f6b47804e4016b2df2a8f5f001a2748028a11605f0634cee74fa90800143e219b69b995c5f9c6998eaa8fadc1fe0988d4de957ce9195570e2ba95f363482f44bc6862f3e2f4c706a9ef861c5c4c77d5a7c71926bd0a70608834ec09f7e8d2c9c11fd1a5547b57ec56ccccad49739668349d9cb92975b8b320e80408b4e5d58006b129057e03126f762531979ab76c2bdf92ed3cc544752f457e5c0d5d4605ecad78b4d8afe30e2e31c7ff33b3c0e93b1a14c0276fcceafb0e377c2169aa870f33bdf428edf114a6fd570859ddff13bc2166e7e27b43cde9ab6e6b01676fccecfbf012b004a6fa5a2c0230bb723945161e773fc4e686befefe5006372de0a91a6cc6c15414cce0edde4086f167013daa1d3c9e64a2fbd54b2596cd22c37a3cd50200fcc8d2d72d8cdcfcbc279cbf4f2b443cbb3872e488bb313c2c2390cac01b13966ed069c3c3ccfc2d1cc622c293516abde6c9f2bbe999091173e45315b6388fa359758b006d6c05a8c4b8621c4c24be0fa9d4716aebe4ee32ff5551ff0cde7781d7c346963d63ae42db731be18a79d18a216dd068481e375dae27c7d9cafe198f338dec3f1d34e0d959a5abf62ff9263a1e718c75b300707c411c6e462c298a2167d08ced5e400b3700edbf911e71146f81106f01ec20f20841f00ee2507f8e6ef8e1cbff320fc0e10ac796b2794dd02e17384b25b20bcc4c8352f35566017b21c69669feb978cec2f8214304c2a0b57935c3e29338c5c5c6614491bfe31b918a219b698044c590ac90709c7f8629c766098b4e83938393820ccad456bbf82a3dd01d7d7f10aea780b7a3fd05c3c9e09d654473433194cb0cc38af42ead7287bfb1e7b1daf420255475660d9771e5547b2ce38e0180b59b03e59f63a5e7564c595c8cec2c996b73873a3548418e011e61643d42f193925d319b67ea132cdfe3372ac2b92e4130b775b7278bc2ad569a7c77babd8af4e3b3d707062f2b4c3e375fa4342463f1d3838b11d1e1f038383f31ece0c6fc6b6e4a5888f51c07df204eac7de8b812f4c3e1938560fcbc6e2111daca1686621fc132d3892e51341467900593e211425b7be4f0b3c764939fec605156e3e47084476f3de0d7867deba01e7cda78d07c7b49429d4c8817c034a19eaa75f2eb04410217738385fc11c1b8bc562b158517762cd3001ce5fcab9b170c4c93535b198b53838d65a6bc331f6356673be0abedc4eb1d85710e76ba8e0d34e4d0c38e7653e04a37ed98fc9d5975c8bb5fecbedb463ff8549bf70c23116b2e03e2fb77ec55ea72b4a4826264f3b385ea7bd16ceb74e3b387270726a0c75b33239b16749e9578b3239e18ece39f659389690951c63c43a725890ea2343f66721b1b0342c080ae909dc09b23f2b4bc3688d05a55ff20924a4784e6c8cc98147fa05f6f4ab6dd9696631b97ec51e07441981c209c9d81a9fcdd738ede458fb38b5c662b5d65ac3d1becdeb344e8d138f998ccab56803a28850452d4a6931a6be806f3ec7db67e14e38e14f78236f79299007b4c92f75dac181e3bf22150727a7e680369f7ee9bc4d079419ac65b0964199c1233ce0927ee5f7076ffdca79ff0c82477440b027270479c0252ddec09a2cf638401d210bee93797ccb6987c7e3537d590c44f500513821d4cd61ac21948fc35839cf93f1c9534e3802c9e59cff02b5567ba40dfd59b2dfc4020a90b2d2a330b327e0f680c799ad5d40492685299351a104c4075046ca56deeabaee5bec5ea7ad112d02afba88c1125d37828a4c91478993424512ca976b911a8e5c8b3c912b66c2832caca052e549bfa4d0a8ca9e44f6bf27c84e8407d96b48d91d0a12dcd04413192d70cd32e88621eab39d3a2d6a972ea594e3ec27bc7e4d29e594ad514af93548857c7a67ab534a69e7d6abbb4f77eaeeb46f0d93ba5b6b2d3d418f6dd277ff6f35e79c37255bed9a71b9eeadd57b52eac40d3f40f406229946a643d0215758505ac8bdf747480f1a7242d04013a2250d8132a46748a23198f4f6a0f9784bde2138a0f598e1c72403d75c7567bbcec258815bb204222a12856809142227551005c9c812680625608137a594e195b5996d302190ad7e5b0c1ae0f1c638c2e3751e0743af19711ebc59c29cef9a376db3992fa76442a7e949099d7fc3bfc262dd9a3f896646d79c4f7df06f99df68717ae8f2d6ec950989cd4d1ecf15306132059737a872023cdb1790428b27296dcc44c19e6510f87ee947570a252900e9abd44c145c67a2603adb1de543fd3eadd0b2fa267001a0063052cdcb9ccb6a9882b76eb85a3421c148b5d2a4749f4eb0bf7cd9d246012ebb2fdf356f3efb973061d3944717d0944c38e19aeede37dc65fad54a1a7595092e85409aa8507ad30389e1b1c14f6e744959939a8096dd6f2225d816e58cac519ffa86dd91354af2764a8bf6c81a5581479751c6b3da374986092e65193444881a0c59f24394744a82861c29050d89219fb20c1292e4de794767e79d77e33c6788614cea4eabbbb70bee1d0fd2863a96aff9f77d76d5ef55f98cd33abd0b59ddeaff6bdb769fed2aae5dbbdefa8420121081852759e30a97eb5bafc264494d3e49b5c8a80439235746f66c90623bc789454748468c8c6071296e94eba7a44c4911e554aec59a2acaf5d6622d02a5c5fa427928bbf0b8dcba730a47ab2e42fa65c3d48f4b4fae2eb65c5fa68cd899b48566e98ccf0f7e9c9a4a3675841bea5710b90291c71621281ea68efa959aa568609db9d06a7ba6ce642ac5c8d482b49b4a1dae5fe3c9e8a75ff387dc2234a67ef20f28b9a670b9caac705b48f178abceb000fbbbd05c6ab9fe0b1175a1b9d47012056ba8e0d125f5737358eac85b2b22f295fa8114791c46bffeaa266dbad4914fea0747725dd972fd150df2d5f20129d6af2f434ac35a68bda2c928ead729d7960f08c92d3eab20b72c362cb9b6f058c9b545c6945c5b7ef0d3c7470eabd37f0518ef610b4d5ac0214ecaf557701a5e8c94eba7a2c02e34154eef7f0af191b7ea3bd842f3960bcd85e622c4a5e6f2e322e472c46589cbcdc5c7c508179e5cbfb3b34504b48596b201f1506605ffd39fc216e8bb0b344cd9bc55dfc3944ed7f2e843ab2ce90949c850b5ab9f5c8d8e6e45252081159f2ffde9d3108887269ac9e63029a3a089c75b9e49a8c53ae734e15aac6fb275a0090a68ca9988fa2533518bf57b0b7a43fd92196712320db558bf84d42ffbd554642af25685b9d02ce8626b5146050ac485c75bf56968aa2e34cf84a55f63cb4fae5f65bc7047672f69e6b02013f744080c24213d5356dfeb6ccb4f8b11fd6a1f72fdb2c04557c74de00f5a02c712967c6d3c0e93501ae7b02b2b15394cca8846d3502dd7d1fa78c9a87434742a9236f3eb7f4c6070456362fac9f56fe4faa30b6d66057874f58f37f20aa24e3baeae5e78f0945340175a8bf53d1396395d68b5df85d6998afa55737d930f7a727d9351bf62727dcf3bd2b0d2cc34a55f32a8869f5c4d45b99a9272f566b97a42721d4d47b97e377d68146b9720d77e12e4d1895c4aae33d57f85735ab38457bda594524a29bbbb45da8595c9a75d19adfe781d5665f29de63249296f7c375c9e8b6612bf14861246c32b5b94d6bc567555969c56ca39789dbbab5efd1c7498769aa76a7ea58d29a38295d1a7d9075ab3252722d048321b3bfd3ee9f2533d34ccf25530a820ad9bb6eb37a5947204982c4bf34bc0362ba0f9a358cab30321cb9ff1c47c29ff85e6a8d38e7feec964f92f48be1828f883f1e8f4eeea44fe6905f25530a45c88c89f9122a9aac52595e5d36851af9071a1ac3ef956072df63dcd38edf88cdf8ef9b2fc1830905fa198317d31435a815fb287a306722e86937aefc908f66f07bdf3a908a60ef62461ce7c5f502bc273772bb3d6961a2c7549afe0962bf07c4aa95f77bff13a3d5094e53b98ba5269955f9ff4d0736963d1434f9d124992d0434f17023bab4ac9a4d686403c20934e29a5b45110dd862d57a83b21de50d17f9e6e39e6c714dd47dae86fb101cf47e15249026d0fb43fc9fd13e63e73decc2cdf51302711b94527c47963af10efbaaeeb68c0e5ce1e91ab6e65e84a1428b8c0a52c81a2d4608b285464688882c5c9f49e737e33059e648db8fe482ba5b2d65ae9d75b54af2ea484befb0f3ce9b54b578dacd3850e1871e33c1df0195d585b5c751f7422d5f62a978a18531a44c3e27282825c6b143ce2209a0d35f9fe7bec07da085220a5064e8c90d1254257a0504a29558d332c199cbc133210e5faab11e41a34830e76ea6a25a71c79c1103918e9f0c20b7a0457e4ee1743934ce9df18b264faddaad65a939c5a5406c510e449a6ab55adb562f1c54713148427d3f73b85b210c2f42c1f80d08293102282089201881b0c4b0c01220783144882b0c1704508104834dc40e0b6b3366cd1092b3574b353e28634cb324bb658611508f0ebe04996890a9e9e824c02a281cffd624bc27a10808adc3fa304a6596e40dae0c06cf5535143ee9f2fe4d680b4d134ac4077b78d055ebf48c1e37700f922023c778cfa9b5102d72cdf3f08b8ec80ed4f3a6595825e9f966ba22ef29694b50d0317868ea625add3fe06ece9c882b0c26efbfadf4b4a29f87d24c0f3c72f9f88a494d20b216c56089306eb9334664668422badd4e6812abba08c94b5eceb61ca6e94f784c1f36a96414d88f2053ad3f73c2a41d881aac231029986d9053ae70d809873ce197a684000c1653276613293e57fac7779924b652a4d46891e203df1e26643132166123b8862890c36f069c2045076a0e9707966983fb78792901eae17a9a4130dba3dfc3187ee2dcf183e317c1fa56f92b25629a52cd5f2874f3eba2ca58de979d3fefdc0eb2ddc25daddaf82f46bd1b664fb63caf67bc2eccfb444cc95b56e7fbc7657de1aed8fa5f2557afb577e52d53523724fb73ab43c43f0686f998789134b2bddce91e4aebd1bc99687dc6f7f70ff755813faf6573479265b6b5fb43ff31de8995e64c8686f050373bf88718bc113a327862dc692d9815fb7faca8c77076c5fc7adf5c1b7520d78b43f5f52bf467bcbfd6dadf48b2261e9d70a24cc6bfe236d647624b2d56f6fd266e5482412b97f64ab0809a35f9067429d501ec6f0a9b40588063f99005902d120976f0926f4a1facb0dfb7bf2852653b0fffb7cdc8477fbe52e1b76a5b776f06ebff0bdef52ca9916674bb96a717acddda5b8f256adf5473ca5b8bbfd7e9cbb1b8ef7521b96dc4b211d57b9de5addbba7efb9d50dd992df852351777f9ef276b7bbbbdeee6977cfac5a948fa3d87bc3f4476a43a50df99a4f256d23e92e4ff0fc068107f78e800f9d88f078615606dcd8bf16b1b4f135cc24ebacd3ddc4bbfd929384fed1dde924a1d4b767e7247882c1972795420ee5f1bbc92c868e86196a7c6172c11431d810beed3e10446522482d861a7693d9959e28684faefe388103145b283143a208197dd7b3525906f52091c777d919cce083e567c9955c1226f3054cc040856d15d433821e1d5c5dbbba7b6f951e22ff3d33d44067960b215eab57f2bdf7decb127d54c1d17f1e8c86dc7bef1545fe3c4461c3bf159c0b875a2bce449d3a754a2da5a5eec200cf98986be49a2cff5934babfb6f42e1368dca8a9c99e5772cf5d54f44477994023cf6fa13c7fbce1aa11a1743fb4a5fbf78639d7bffed696ac5f50665baaff2b97d59aec8d5f354bda5498e82d3b55d46b4c0d17d86b7571fee7f954d64a43d38c51c2d6a6d4c10bd4ebd4dd593186c0f3ddbdab55aaedaea9bddaee963c7bdaf197f48482d4e9cee596a494ae09b6d35bf24229bdaf76e8de214bda907f7b78f204053dddedaeadf4c9ed6ca54f9e3c992ac8b1a48dd76e924e4b94256d7ec0b47eb5dddfe9354ce8186b8aa2edac0a4496883f96b4e92e1152501e845cb5be09f66badb5b678ae084714b1c10f426a56e08009951cba99240725d017dc7aef4d027483153c49723458e193240643acc8597bc5cad5ae0e484a1236d8551556ba25b1f8a8228ba50297a0c040814d51c0b8800a21a4580992d20318d020c8aa06f1400444839e252f3f9801b25b6a91db0a597444a514b8566b6fd84a6f382cd5cae1225c2405762d7012e9bb54a0004ec0fd0235d770f4c7c0bb907d256db450951cb211ce9ec4a33add0fc032c8075ab66fbf10b2a5d2e984f3e9f48152b6fa3d7087ff7d1d7fbf40cdb6ad5b1baaba357fe6ead5805f884a0e79743d1578bc795257c2da1e6a77c0c1263c6496363c27067ed6c833890af2943f854acce30c8f102878a8d8e149f65f25191200a42137084996be54a894a68d27f26a558509c72bac5a350b4910443488074523c83fbc2003243ce411c7a40009913c7e17486870826426ea90f4acce6559ef77c109fa056b9ed2c676bea2c1f0a46a17b4794a1bd3cb8fbe9412265f9efb534a9a4f9e6993270afae9f6fcf057ebcb6a9a75da0bd2ecd98abf95a9e4faea7da71d1b565b3b53d39c218f73891f64ab3f09db0a78f209669112ddb99d8df764a5b6738d65f06ebfa494b269a5d86790cca72a203cbfbeab8adddd4dbd65778f67eba4b4529c655f77bcf296fdceb694777e5bbc2a08cfbfd2ddabf568e0deacd3e25bfa71ece9eeb4c3ecdd7ddae97ed9e12893c229cf5c6d7704a526ef8361a9901254f5da0929716a72f087ced4512125403c8abb50926275fa9d77727a455121db69b5dd35791f0cfb9d50b5876c350a50b85030700ca7f3e522eedd7bb89480d2145a6c035cfcd17e95a497a2a916bc7258e9a54ce570476526b0458af55f46d0245bf54b271f34b750a0649236aa3461c066a03bf9b8b6fee90614cb9723e47ecc44eedcddcf125ddd3a44d1aa2ef56d989c22979e967400412e9590efa5ad3c7eb98b92bb1c4290bb2339204d569858a8800920f56d7761446d266bc103359cf983d85b9526093a82a394e255bfe60832fd77010fa59416814751cc46bce81f2cd6301244a68fb345aa14b115c982c4476d66c408cd070e434678a8f9b8a1a8e3a26b527031058722a65082c4143fc498608a21aa98e20820294452b54cbba24cbb9cb7e88fb6563d3421798748f4c83425d32ab84f3bd284246d68327d5392294bbf28b5d2227da4901eb548df34033621998cb2c9a845da03fc638e26245bf3c9dd8fe332ad3f3ace673421d18fc75b252970ff6842ca947ec9d6aff1fb52358ae4ddf7a47537f935ddf76baa9fbcef6af1defb3d0c9082090778145dfdea4299ee65be37097cdfb404f6feebfdfd99546bfd2a1da93cfd32fdb51757c3c5f7994c2f4fa6f61e85994d21b6df4c153cb394cd5302a6cca3ddebb43d2dc07b9914fcddf3f7eebdf79abec5fbd7d423d469f17e490b6c8ddc6d90118cae7657246c61fde36d70a60a3640bf6c38baa0236d6872f73da48dccdda7e0b07e0bde2470bf6909dc1fa015a824ed1636452915d1000000005315003020100c0885228150348c2449911f14800b6b8c4c705a3218c8634910e32808828c218400038c01c418431429564402c6d28f8baaa86f548f1eb7049a6fee14955350658b1dcae43af49c9002a0d68e71473196c0f4237a3871e44ff3a6dce4474cec42264f3271b2d75b1637cf8680776ea85b0c9e00d23147c3e70efa1f1ec367c37c3e45a9a6f34f57cf1cf0ac8c3ca501c3dd1798f8591c8c12446926b738fe7f477c58a3244524a7912263c6352d9c148f5b7b09796f4951a05adf35d868c3f8a01d71f7ada71b1fd8eae8181d86a57693cad24e11a6d69164ae88161f924b0b052af56ae68cfc957bec921b025c315fbe147471260885e9f1a4573af659bf5f914c8dab25a83f2f195fd927dd2ec920ae0aafb841718f841578c95315caef42be81214f6d282a13e4b8e350d2705013872e67ad6866f8b8137e91d28480f678b38d819f759f13145c8cc7526817b3d802d2f5a3026b5e20b03dd157ae3f2c6a12dca390d6c96960b1a2d2e45b991aaf1ae029950ca4eb1fb19ff7bad79b8cb72ea16847821100917832bf4496cee1942a81a7d619459db0caf2315d6511a4159833c2c67b55fe37b1fa990c0b689ac83b36a4c579becb39689b789e10a37c9a13206033ad941fdd523e390f7cbdafec2045bf15b9213248231d474b51565eb4a938a0b2b806bd24d03794d12c89119c9125ab23a8a56086f0ed265a4f3b59a7ebed465dd10f41bd17837661bc2ffdb0b3b99ca038f78a847034f7ac47ee5d84150e8d73180b7cfb0e934137e0decd917900fc15fb06c8fffc7d245223a4dbbf07935fd5080bb64de63ec2e4d31da4e9a14b2080291fe5aa7eb8003ea477c92c344874d0b07d8a3c49bdab0e65c25acb553d11872b62ddf2497f25bcbd9ec281f155823248f6cb795e2fae9080a0065c6700279faaf52e11078593a4c88ccf39cf58c8e4b6b1e41576406dd6cfd40a9c9108c8faa6351fa62594a8e2bc0ea375f98f5a3b739bcd43948bb78740c26b8ce28fcca73d6f48c18a39086b1e58157ba6369eb4d1f74e4bd71ffcc5689d3137f0e770668af2193beeab6dbd19952b349935ddfe024f71fb7c843dd4591c5169b9ee2b9d2bad5b1194ebb922a5af46cb727dd39fd24089c0da9b76ef7b26a448305fbcbeb3e2c6b122d11c83e27bdb1a3a58f55179f9e15e8e4e084a8da1290d2982e8431040a2a4569fa6b6fca27b07fd1d5ddb61f04d294f37e947fdb07c1584d9339c888c14bc245e5c7d841e9ea449e002b3c0563dfb84aa7632b644825098c828a1b471b34f7b40431689170f3a93bfcfba2083e9b3da976d5081d986de0ecbb86b132b3d148e468feb2000da5464b6a079ecc77cc0e81e17bc6f394463f2c3a9bccd01c9088adb23eeff04462aa5434ea6e728c381708136cd09654c9547ed8de648bb58e5273a001a2d7c005641c18c2452afea84735828f920450ec5e0252ff80530e52136316ac7491bf42542dde9b4355b72f149b2ff56a97e55c4eac775f1ea556ca542a73dc66512c9f6e1fd89da1a6c447be22ed5ed4d47bc5f910d057becb3f1ae91e9c040be9a9367386d5774c80e1540647077ff0e6807915d8747164db9d5299002fc6a9aa370761ece5f9bc45c4dd6376f2341d5b0febf293c42983213f21fde47315badcf30f3e4c8092c1a8e3689219092c7e46689365431901ba1e380e2544235a8aa8de9320cc51b7370c650f3dd359073fc405e7f88e59f254d0938be3742dec335ecb794b17dbcef64c23b5d628853feae18c00128142e0a931db50eae812564e83b570d5eb71c1099bf28f71739375694788785e86c859ad46e190dd47866a201b45611239870c408c4b19560c70df303e1b125e6442b4f0942f0eeecf028611ba174be52ff11db42934632ce079a04b0996c7953c2a7f533dc3c076d806260cde7ad5b61a60a012211c108a20e2dbdfab7c7c147abf0d3134d682bc08c9c6a684a9a74cfd7fbabd1f7566a3b4e1239178a01a2109d19b43660d5aa9741563e4aff1e135e39f7796bd75a5a062565ec52746cdaafbfd0ecd0855b5dfb468a1258d2cb757ac9c251014eb7a85095c051a509486b0e14e25df3715a59c6d1e55710bf7cb519b7f5d0299027b6934631c32c03ff4f8d458faef42801245f8988d06cf279b7c2f2c034c8112504149c4bc915704bdb26cde98544a0e5c9284127c9e50e41d216223e398002d7897d19da075077ad68874a1a70616779f73b1028007baee82a20d7728b4a4a9d15499e454a81d9bccf893b984f194d7273644c91ff29bcbc77cbcf1e67106852220bd92461e1a67dc280e47de38265a93d217e7060e8cdf023f71972b5c1b30820f35e6083ec2df6a74e839570f5edb584cd4db5be2fa9d557ee8804ea6edc880331b0146780b99a01050e6222a30471fe9e975fcc269e69f695cef8217883e7a22f687893012af61a04e9bc1df4b9c0f1ac888981b20450db66b30ddc2888c383090a515822bc4fb5beadc2c49d1b603028b1686bc189b2200b4268077dfb7e6ac68c91ccbac5d63f4d3d133f326973047fd9e7238e779d03b03d5bb5b444035886233cfd1047dc359780407a0e588b44cf9f07dc62c81d2380510dc42771855298ac801098a512905a13f75cec530a01d6eaa6b5b83c2c3187143fdf8a88254678eda730b7ca290b13ab9b43db54611bb5f93eb211aa0db5f0b9c73076a051b623a1ef496f2d3d787341f37180a85f2b82ce3f193b1b7355115c84edf0b0aa8f5494082e6f620e701fdba3af16a633d1938da618e7d567832f9d9557449c09abb8d1cf265bc7b00bfe868017ae73caaceedc4bc8b99f679515c3a2316e953fd6397dd3b564c2b02837555c632493e1ca51926115fb08768958afce199f224c5367592afe03cf46e9cc07f1c10f9b0bf7ea1fd1a9f8f760cee9d8d76baa8b241e3ec9f390b7749daa3f329050f06a166be5c1fd3d2b7e2c9f2717b55d5dfdc21ea6aaec1f280541673b66c0913a910833d10cd2541dd08babe2313e4bfbdab2b8859362ca1c5951e51a2a07040dd234737288a2d1df994cf3b1ad40568ab332bbe93b08a89b88833be57a0eddb968bed1e7e4ce1a573660efc55625c66848de71c1bd3cb8bfb50ea2ab56a67ba1aaad7dfeb24685fe592648f4de5e6a1e4d9425ad0150fba07de73fd8e6a7743998a34cec9171104c7f9a461e04ee3e6d6f611cdb2cfc5b239e816f13ace29af09d077a9a444cca744dc33df07c85c16c3eda5514436d13b3d9c29d056188f1ae46b938f500b3d4470e7c573357afee52e0dfc8811f59d552e9b85583397c3461fc656ede7f44a7442d5a726e73fccc1a83f9eca5943ef229e56bdb129c09e46e4a194084eac01c749ce7dcfaf711d4c0004a89563e9ef538773cbde843ca9579433cf4be43d1ca692b1887c6a2e3b3f38564997fd1f1da146147973526cc2c7a725e4cd18ebc5c97844c51556a23ac125d749cac2eb74029d810e01bd74b5675367cc24c475ad1c6f2e418043cf2d283e61fb309434e424f876107427a1a1450977e90e69239c858f4916cab3903f4c817b1e63502a487b5fcdf97962e191dffc4307d64e2f8cf32d48b5f2d2f2159e98d19179198ccde25a19a3986d3105ba723a9f6e2228e8c313e0972a8737801eb9da4fbecf5536d3c6a689031ba790cc5a8a8a902c8cdb7a323601861969f33772d8160ee247206f68871965f9d40e1b4c7ae23a3e3eef3c3854a2bd85e3c742c1ab031cda31412e1f7dbc65fb30270724d5477fca3f85286e0fe5c087fca7e9b300eb35360f6dfd5139c56dc5e173929ca9eb429a9de2d9a4d5d9c8cb9231a2bac0e1ad7138ac2385e49d5103007e9d860865b5f3fcd20d456e2ec6902eaff1045a22458044e2976bec42ec31acf71c451fac9f7b50bccb547b8b984cba157b72d9606a1f2a2ad96513a94ad821dc026e5d893fbd73a18e372cd0d99235dab2f9b933e773e910cea32d82675005488376540b14fe6122a55467fefad7c3d0150a90d5b0587a2b81667f19f4b994882a947d4fdb122d6098ffb9615975055dee86b67235b18aa520b3be0db950490e8499516fe74ce9c86a7c8f7766eeeca608fed446d176c4dc89dc868e0ca954eb3b28b5729ffd7e65b291d9481b42d2be9c9f3b4233a07792235ae61a2ace36dfd600760e41dbd88bd8708f470cba373ad9cf3fe5706e793442943518a4fd38463bc7fe5b87340af0e70e78336148db3706e8a86fa1fc0c701cc814f1a18d8c7a87f25590f0f75c92a46fb61517f5e611dcb86a55f96e17261838f98c9d02f27d9e1b93b77f9d6bde03526f9ac67b56218c36ba79af0bf5cdb071dbe0ab91495d84c35d4fd9d30733dbb5c327c50a7c55936387260381266a5d8f3e113f1fdf93b1d80dfc196113a6825da618683a3dacf8841bba8e50d0a1b32299bdf03ce8c766f36a23d795973d1c15c3b86afa1db78b8ebb218699230e7faf6e30843635f5836e42fcddec88395a3854a7edf410517ed2ef305bf82b2551f92d421e42e2ebc86df0f457a848fa5befb4557195f93999276ed52cae4b793cfeabc694b7d172a2cd48456f67c4de81828d5fc52c7269b009302b415b8c44acb0ebd3272e2de3091cfdde3a333e78233dfd6064313dcd78735aab8709b9b9d981ad8bb2f9583322b2c275927db62d0121cd0e66d7d9f8a95a7ea132ef3f6608a47a5ba9f5604e5eacb5178e992581cb29de1fc76518bade9dfa777dab7866ef8c648b8ff541cf2f68cb24f9144ce39f6f5b2926c1c4c002762b1d37cd7ad1b84ce4d8950971a89004a228245cd7335f639286d813dc85fc5c7309e55c8cf26dd8edffe99e9e899a71d0068ec8f7a86a3fb04c9312086f2ff939bce75a25a2ef1da49c13cb1a7ec74a305c45419a72f4d7c2390900a2b74335594e98b47b82d0c613c439e7a32867b21354a88dcc9556c634a25fb947fb96a0eeae4bd6045a2c332599872209ec4ad5e6165d005de9fd10f7c740cbcad7cf03517c8b06f808a659c7c0ff802a1cb90a1227567d2c123719a82f2b583d89a5ed4d815ae30496df4bbd061f0da0891487d2dec5259d0ab8ab8d1f7f6759661e13fdba9608585a0402e66eea74788b2fb0633f7b6e43d8278938298bb854100de58b75b189578a756743bdc861388a50f8b6b9ccd8e2ef5d56cd8c45e0d1a23a0ca6a4d7513d2176da4925d09c16cebf140b871ec2bb346209c9907815e357ca3ef5342d12efd56025b87db659c73adc206dbf8cd791783d9cce87acb216b936cbb3e4ae1b875bb5c0b5cb17703933c04b2a1fe3408fb022c7c02776c2c1c95108281b0d444cce37c1fd09124fe75a647470b3216ab00a1779f8fc4eeed9b5b6789006654edfc6bf92b1ed5a90b74e987b6f48ca80ffdca3b849a2d38406ba9a7efc57f038e4d11300609e7520575061e1aa5470491645b3b65374985c769d0bc7d4ac057e27a05b9c9b3222933ff4fb43888298f448b5738d478bbab75548348c38f99a1967bfdeb1be8dabf56f5844fbbf64bd455772e669bb87a276ea8d0ebd089804a5efd7996c2a0f9e8c195d7fc221ca84ce2f4b829726677a7bd7a34591104ab03b4a036a574df26b53aa3a96f7329b5ae4b0a7e19317a62d819888f47e50f857d0dbd58c919a3726fc1abb8992a9ae587f97140323d941ff2efc5ccfc0c24e6f2d1dd36d4f0c664b648b61d0f97739e6c2bbba122d06089a78b08c3d226a442abd36964947ec7ef474018b17d221ec814216935118a2447e712b50db7d23426f699cfcaea55d1ea4d28889a6f7182d26443bf85a1c3e51ffff155ee0faecd50f735b8782d1d74cf59fa4e47e4661d94e8964bc7efae06df5a38644eb3c381a7190d3cec771f744ed6add0ea32746f51bbbddbd6096ee0708c9dd0665f9b1d403780110100a842f255d3bcbd70ade61ef534c3accaf31d7beb6d3d011b8b270e7fc0e3b62f86dafd0e9ee808b8df2c71c4200e7a255fc4e7f69be108a708e148fe9e0b3a17e2aa8f5270b902a4c109009ec2ad623c1109000cd4e29d9caa8a80f9fb37beef6eddb32089521c0c99004bd8f33f5b4f082d38a091af2edac36feea9375dc76b1336ef8ca676501b012896a42484a73841ec5cd4d1667ec90ba5211b8022f6068859c437f8a89e282e433feacf6684766ffe379c3483790f7fff7f0bc417699649020d91f122e0a428de74905a6a9442dfde6e0b80e9981a40ab5d913b0add15a2ecc23d063c38eb3e253d6cd60004d780b2050d0e26684ca5998d57070c80d922f034ba5875e998d8026cf9f7e8ad37936df8553857eec7a32b0db148960637dd21325a99f5dbb02136a5c9db2697d38dcdeb32a84a7d147a74c63763bc37ca4e6ec3e64ffd28eb8709c5c7e6ab97d1148a2707d5803c5f1751ff383407b94ca4b0df174905223fac59d15048aee11a6dc98f2be11104b81ad69551b7371827f985cdbe7c1207b9355c6ca730ccd623a626c9ded256fb4a24e73e0ca8dedebc45bc967c9c4a88aed9efc5cb7162c810abea74bf58211c31f642506cabd7368322b6f7bbbf50e6a3295564cb4bad9820a2e47a2cc64cfae85eeb36cba6cc902466a012891e70ceb5830fb85b070df5a9833808571243c7e0ef9ebbf5fea8c21a804a28650fca5955b30fa2b0a9b6f8c1105d10e72e8e940520247be3dfa5e7c8130c45ded25cb24c71a6e0fe8c3110d4faa811da0e34e6ce416601a82846676343099e6c0b0ef3950c860e6a7e0eabb23a81e414add7e3041b662d4a55a5bc863f809d4788d2cd483f3222a8e6e1e852a1f75f9c1471326a0d1c91558a22983557a6103276308dd18e06f38d35a8ab9ce5352b6b92c8a041aca8ee06a0394d7661e4da5cf94b0f0ba0b2ddccc3709dfd45d043b95e890c071810773202f16b3f4e3010ac2f1c3b584dbd5c568960726ed0ed4022af05f5fb11ed35e0cb6fbe4eeabf4a7022e3a9c796adf18e1ca8ee6873d3764a23f64f2ebb3ad72286bcc540dec69ec3ea5d33780a5d7d0bf309a64b65e071012583ea1e06e54551b5ddefb32d41c0540deb0d54e1c366bdae194bacfd7c56f807b5e0d859c9a46b0cba63567c73f023df05a0b8dcfa0b38e14df0c3ae5b86bc882a8c60a58b6682c94485a86d30a1d1f90b1c8c8ce991b27bcc0722bae745dab768337f4ac7fde043ec2120231c6b6d2cafbfb5d5e0ae10087971492593b2f1773f62792365cbb825bde83af3240691231bc644816584627e21d6e829e2bddfb385068a57e78d56d2e13e19db47e6497c121bd509cef12a96c70b57e98f76e0735fdbc7448e22d270e81890d380fecb96b74e74f486daa5ca009486690195c465bbac6985faf8a7ab7cc793264edc9cc64d99c29cfd55473c3a7592f92276f0662329e4b60f3b08898a0fb5e368e158314772e287738bff2654746238e3c42a0a597d720625e82e78ed4b8174d6e842a42850cd4c9dd5fa1803c8868b2272578d4017d00360380d65abccc8b14a488124bd1295c68ced011bc9b4a655a5de85a4a30df0ade019766e750f109d047618d4c5bde31d2d2720a811493530b394bc42c872b65c70a24ff3ef46127baeb10ea871ac3511ae2be98513cfd8776d4af5ecd41f22de650fd3ade3b7954ee702ee63de014921d36a81cf202a1b3834e5c947cf791f117f075e48d7cf1ca10b6ae21d1bceed8ed2bf60f3290bfe506e249f440d658a4ea86c3a93b6a14ba5d228f0a9c3b34a39611e7553ee831354041fc5a8ea607753b9305f0c6dfe1b7a74ab5485abe45ab26ebb5ce81f7b31590790941ec76ecbf14e1687801a31b97fbc2b83a91e85b7f228480fc5e0f2d09dd65f2a00f0c50adffaf695fa86825ec2096202e25b5debc7d598b3528b18b40f1da00b563dccfbd866ebf266117d81f89575e61147d1a5807041ea8c91b3576f7d819d2daf7c01865d2cc474be6cdd633974dfbef9183df86525f8f199fe3d1690d337f4f13f22802ee76cf0cab95b485f7f307ba92380c7207764518ae099febdfa3b747f9982449226eadc3cbdbdce998a69ee5344362e535b7cafdbf059e37dbca6eda3c034dc0973c0e193bd1b6022d779c25d8191bca98bd7445e8976fb77de2968d7dccf04d1b6caaeb2498cbdb0208e2676a29233401bf14f0cd8ab1d637a5a6c1fa9d401823df2147ded3f12e1252c919f352f0deef6d07395ec6269ba20900e43f0b3fd15ef522eb5d2a3afed7fb6ba1ed4a39c8c312526b4246d2c2f14e71e4e9e84ca8d73c86e4c329f86c9c83ae54622c746b7eb33e306722279ca5a8b15b3ae95db1afa3eb49fc3978d9dc8078ec11770ec90d0580343d0a09fd4b5a04af8beefdbb2a93bfec789209a5c8bc892bc8da069c5d947785011f78e7c8101fab36e0bf2e49e586ea663a6d4a6b506edb9828f3dea41a0d74e393a913e5e907b772840bdac20e1ec4b59c21069f0ae89675920010540877bde4ce9ed26331b1a29df33410a3256e971e38c9fecc70033d2824829186d0d072e52e304532a204de4f30b0876f6c617fbce693aa4d778a7e857822a65c73996b4e6b4082c6d036961d0e4de8e2507b70a205f4b29527d611fcd450d01674e022419664e651442552ca31df74124f13d291d5c7bb041a937ac782aafefa344bd2002d153252718a36e465e1006228f262e089621b55e83745904ee12739415bc14e53040440af1a9a63c3955200ecce08f9bc4246469a10b6f2dd9996715501da0c8239d264630d11fb4df1f0067a99458481cb2b520e653d8e11c8db2c1a25113ed03764492fb74c2997e176362cf5f39330bc1485510fe60f12acd127827bbc4859b1c852cef7394da06036a03eb69b80937d8ac3c45aed855c562083045ad56f9b95565f0b23d54fc47e7c6a52265a4ccf8e692a004c51b729cce1ce23d0d82afed2397aa76c62a6e2f41c55db9c4c711314111b6d378af922b10ddbdaa325444f32be0c147bebf2516dda5b992717fbca3e26cb89643bf611676fc73667751ef1d11493a8267f1d58bea2ec44a1e3f67fa00ee9f5b879056bbc91b304f113f67103b2eb5e01f15141ec5d78c6002f8e2bcd8e6a9e745a839192c64ccc48baf1e2850a1dfa3b8063a89d4f7025ae4a3ff4ed0e84d232fc390b191ffd0760361a6c7908a49dd234f4a0dcc490ed898293110153b74cdf9e9019cdd5128161984a122941a61ace037549a0229fb3cdf82c45970c71b4bd73d1d08f0e7d33b13f0dd504e906d877136d35ea4b192f78c6eb368e8e9530aac60fd11f8ed32eb7f1858b7b21f8eae4a86fa8fb6cb401a619b4950ca21fec489b164e8d7680b57582237f86119f22d0e7523cead38441b91511258779313d26cd8f211adabdbc60a84f72809479abcc38120dab351e087fec674dbdb882970e48db1577a9bb8960cfe96a1a6521c5b9f4d6bae2ab3859c6396e60701aa128dfd3bc500eb83e79007263c93720fe3b0bdbf86e1910393cba2ff1caf3d2be26c6d832a4aef180f4dc8af9edb3bd74c0e2b880ea677109618eaef84865f248d0e8483565d8b18df4ee453435614911b1e61a29208fa049794c794e43a4ce23037a592953b0badbbfa263063c30a8702c0002748b836a2941e21803d80c42ab64efe83ea8ad3e2268606d9d005b368e7bc4016d1710f31616d288a5302ebcc38bac6a319faa11fb9f9123e16b4e3948cf44c151e45768560f8c0ccc30f326df5d3d5c49f6aaf4c36b158dcadae9d73eac0d12158ad79d00ee408a42724f63a456308ed1e410658f91e16a3d54516e21ec5dfcd7b31896faede53b150a2d0f981abeabcc91173f230fbc0d32ef73b1a4ef881e819d0a2cd05292008e522c7529910abf2d4c41c91ba44e6d0fe3e1f2e35eb77239172d80145f938c0e18c3ef719a0588f8519f35462b7a4ba320bf641fc87c9c2457a55f04bd84df530652ccab366b66c9780ce0c9bb66785ac274601b870779dc0339ee035dbd2686dbbe90d54b0f0891056529c1004449c807373956f7d1737f48949946ab5a300d78baf4508f57e7a3570bd91b68a310eaaf78d91909a65428e3dc71f60dd747fa50164119b0a95a75bbdf2fea3fac5f6b1c0f961e94fe81059ddf431658ac6a3b8128a760eab84a3830f01a8f07cd5b760b90d744a2db063e851f05337572a529d1550ad05992e0c1dc8142ef62658ba2077e244153e15d372dcca794e49a3419f98c22c1f000364bb0dfd9d8758193f9b1433c7e7a41b249dcaa2184cbe70c9787c025533814008726f3090b47a40944be0e6da9cd288f3e68aaa36a1c79f4c6b60270851ce141565e8f3b28aeadbddd0ab406d5b089831a20def94792456611703447bdadf75d76218f9ff4b91a845e4165bffe1ddbda5fee9f5dac3d06dfce4bbd7223faa59695cc0241b3b98079f36a9cd3f8f7e916b85a87f32b8fc9e53c051c9d423b490324580ddceaf22ac765d455a90cb617d6e10ca4472dce5bfc0180bf829eecc5447fb7b0dd64085d06c1fb00402b2994ec6ca45fc2ac948de0cddabb93069869e2249b64d03f8ca53478524d1e87116ae5cd99e83c9e93e9628fa0290d7905fc048755c8fab09613313aeb3ffd2b15f55441ecde2c1230f6a53f977df922029ccffc8111ba518f489080caa2a4971d942678be847a0ff965d641689b12795cea9b26f03e4d664068bc4441685c04d6b24437450a0d031706d2f431791274ba23fb2f2bb5867d64324f5f7210ec4e874455e0acf14db336a765aec1d3145a1b9bfae50545f748cfbe18baf53f481e41e0864211a4d4cd10c7f13223d0a4574aae3a260c339da484f8181363b88821e4657388afe9b10c8aaf3be9bcde10ab9d110268b4dcb8d00f956b10a561db674c4e7c8393c24d6fbd4d479019f2b864ae0942524dffd0f33d42dbe38c7bd93c61bf570924e161101c4223711e4189548322f20483eaa5b3e1919b62149b29c4297e79ed5c6f47efecaf438483c44597b978fed727de4581f7d3509f910c050b1cf592ed6d82dfed3d6c5dca1458c9ebc61aaaaeaea4563280a35d27413c913050d29a833825cdebd6308c4b12537acb7ee02bf46744a870e43e04e3f5b81d18228db45b182b94490914be977c9e390b6e1a615a6fbbfc577d7873ee5ec9cd275ae41bdf454a0395e6d9f585ca0d335cd4b2a5c43523ded2440b056de4e09b17ff116ccb094abf06595217fd0a12112fdcb402852e33011a035f429658c5c773aaa076ec72b9d7d9f91b7dbd1b50f82800afca76228212d62719cfbfdadf2cd081284f2ebd17785c8cbb0dc05ec10ff8489cb3520fb9211e732fe0e4ba7b537822f8d73f2641485a92a517f4178fbb867b87c478403308572cb63ac5ba4911579255528aa9533532ada27dfeeb01c4c2ad0bf5f26366cd53513445ac9c5ee90967e18b67b1b0a54d599385c0421affe37adce518010a741d5aba177b308ab678f954e07fe12d96ee91f5df576262ae660c63a7352b2532fbca73ecbfb88936fa48ee69a5fab1bd1872e9886aedfffd14e572f360a0e32cc751a46ad139fcd2c1d75ad1142a1344337a11f72ead23012612fd5dc176c6bcecebf77dbdf1ffe3cd47104bdbd90dad9b69e304a037f96acc32fbff0111b3ed6c39b3812be2a75233456878480e2e8013d1722ebb7507c03064299f8a9985b894d36e1b1218b5cd77a9686ef5e78eb24a99cb5411bc07bd46c71caa98d8650134a0d1f28a0cb8f31dc43206f3e9fc43e296f15e9506dda71d9815b41b5443dbecdb19971db8c7d5f2f54890cb3beeb0bac44381b08aaed42cba8069a1f409cab2af719d2aa963ea5561f4c00ec26b220e7b3cd96cb9c8c41e0d9555598ca87f8c22cba573e06d399811383f6069a6b2cabaa96718334295bc66f79e14213b233786fe966ad258decff198d5d6155d393e31bc2b085bc64d732ae67c613f7bc887badad6d4ed4944b25b840f593f665f77a763e25ae9a0612d05a06f965bb559030a0626807a5a5372dd36ffe6681ba07be0ec2868e44b53568be126cc936d43dc726cf36e363433903b492db5ceb70ee6f2de15e7b5297da99f18daed2a524d9dea22abf67a8cd0844047d3ecf313d475a45b83a20e7e3ebe17627bafcb01e7ee272312aa2d4aae72caf3913cfbe881cf43c582ed8563f09e4cfdd4a1050a42b406e544ca0f8162a69cc53199a054cbac5caaf3e2c74ab723a957623cc57650ab17eb6ea506a8aacd9b8084ac90a9f45c297921582a0b57fceeb89dcc7c2f5a536caaf9a91e48380f67ec4d761e4ab18b71382f5933e6e47033da209b50f284458a12fc412818c867dd2c3513765bda65247845d031eac593f894628d808fc90a305f1f05dc5fda290301464095a181868b9d467eeb16c72c5b0f3a67ca2a87abe2e68dbc9ed9bdba20bb8b32b56a85730817f8edf3a42da8c761b6f6a6692ba8ffa773597142ad6ce5b5a89b296fe98b09617eda891b9c17c72953289453b7a3e141f3e5591e99b55cdb3e147792164dcb5980019056c16e077b23a5b00ac407544b907e6e285262148abc384ba4e317b807c60da3fd43c3f0b926092e22c4ff3813ffe9f815d3abb193507fb7a8ac1bbc9dd8a4e1da499290a9691ad9762f757fd9fcca16dd6fc11b5ed93e7111b2f70d18395db139a3f3ea391d7d07bfc635433fcba7833360829fabf8388dd8ade865bb4f04f3df962a76acf9f09b014a08c1d478d0a6328abf246e8049455db482467b328ba652a338aabaf713c90a45d802c6b3d89adc1ba3bfa6f92f0696fb815353d7e8124f933b6a7983ef85052d1d7a211716e2c910255c4c5250d5d74b962317a0421e77935985fe2ab18cd61c70cc3c31507148be0e061b33db2d114aa129c55807461857ecc6f3aeca08711aba239c5e9f23f9deb47c65265308108368d55ad3ec0910159a6f2c6a1a6b21d768f005b86e89e2a05181840b1f03b1fc86fc1fd9ef9e8fbe1d834440caf03ad18dda63f316fe77afb4b8b79f5abe894ce9bf8911442dd8427848f64788c12d94a1ed37ed99c67f36b0ef6fe3cba0acdc360667548806833775754e33953bb1e8398e8ff78c882ed1bc304cdedfdc53fb4479af97a1196a5904278d815f1b8e3b3d45b77c048fb144874eb186fbb69a90c0b3ed1de82bab3840c652fb43a00cfdaff8e9b928810870ee9b171e96931889fbf81255ff0bad2a69607c7973d8f20042904bc0707d4db6edaf8be4261da006fc1042b5be8a3eaedc3684e867767dcacb6d1ef1b2e841c0cc39c64177cf5261383c0d19da069042749c73dc283f77df8aa3a722c820258863ace72dd0442eb1dca69f7a6f63c92628841275c49845e185bb57ee54b487ef3e41bb0e40eddc9cac9357f5cbf521fd7dd516ec324675e38bdcfc3d163031731be18f686fbec238b1167babddb50f2403b2e7e05a57f54944b39cad38d68e013f246a30400823e95d63fd98e120457b51f92a37f427c4adb6045acac7ab10eb2fbc8f477ac36323f0876c613ac6e8e357fca98765f9121552d9af5776f04e4dbabbae3e1048b813b9da01975dd688220d1da19357b3004bbff8968986d7a078ab74ae0e00fd85a0e7553dad0d9bdd1c1f9b428c16b308d6b5f19dfa30686a237338e83b9ca9eb0b1450240bbb1287534a12d316c7db4b1c11ac2dcaf1dd3928a39104a2a3dc01427bb913d332c4e382fb3c837fe8d748eb348105f61fb925811b00e0445c2881cb20027023d0c63a1fe89467b3c18de6d2feebe2e904a638a8a1d482fcbfccc4af4c322cd77898e01928acbc76438f5c7c4758e9a01d8c5c4a6dd7f9709a427c21afe10be6bbd6bf01b50cbbd22a549e77c5f59a177c31cd4a272d49792d68445a2066d670c8f9f9018fcf8b28e6fd575fca777845660c78ffceee7805acd829662911587db755a2b4809c19e62559a40224dbd52172dfa0bc908c7a0a158a42f9a74b936cb84d68701b05be97b074e66891204eb3dcef4da61b14a2696b007744f6d32a1a518c3cca88474192bf24abc1f420faa63357c33a8a160fb9588e53553d8c58aeb458d2a56805145faf3789c1c46313ede3937dc1490dfe3bae51c27646ac7599a54798c2bf209208de456640146c656e2dea115792790fbb22247d3185ef96ff46489ebaa852251c852fd0a0c63d1615898a02493b9a08715292ee2dba4e732a8740eee1a8bdf29637eac071bee4b5982373bff6db32947119b2249806fdfa5b618518d8e11b24c99ba2e51d29b7c25124e62e7b89f87b55e66f1e7155febb80ecaf086ecc6fab64819418a850b8aa45fb0dcbdbfc945e2267203048aa4f59b12956631e938fe896445b50ab60149502ec50405de3e5abaab9d41986a5d5e3ab076b6b0e22df3bc25dfc35d953ce4bda00888cd0927aef1f4c2efa65ed21ed195069e38dd299f56bc28b8db19e4690d993e47fb8167a866081f9d01a534c3438a5978cce24b6e57027ae768243a6bba86e6d5b46f82a93810d5dd192b23418783644e4800a7def39ec2c690f0e0f4c75450ece4b25853b8d57bdf279fa9950bcbda117ce3800fc1a41c4e926052cc8b692156ec535631d2a8004b2518b334ddb4a31d7a5dc6c3b41173b9e3a4e26556d26ccfa49a607e3a7c6d72c70b7bcf99f88211a5f6962f2680adc57401a0b3b218166e68580ad671814e16ecad95fd0a177d16c304f9d4c26f4888b750573230478101ae1b64017014ab89b4eddbef97c1687198e8c199607a91d978aab2c4e6c98232042a0a7cfc51327ffbd5d8a5dfccbe4bf3dcb1051c063788ff5b42d26cba2c685033c2d489fa4608a0515f01600e0074ec51775011cc1c8aa5b327a74c22452001059f50b3815d5d168d8078700fe655c9d165bea4e88b4d7e393574e633e230e294d02d81967a6cbe92bc8f8d2623a15772ee1daa9757cab5283e8888d7d349c94f4cb90393a989e0a9424a6264a3aca59960b19a89ccf54437ea0f18e24e6a08098f89d26a785ab7781ca09666b7e440be64a62357cafeb1d83eb91a4e4ca158eab91519b80923038181a42838e0c8115814174d853925d9412d6d96feb85edc34f9335b609bf474091303076645b55c3a73b072c6b220866c60b71bb38292e724b5aafe5b891d5528be89506232473dbb0107fff3e9ef2e49d76741cede6984b48645dd35a9c752f465410404264627610c3812a334a25343eb9a9365e3963a00aadfa8b9e6027c0a5ead51a0d1255b280a743457e28e13741db9d58fbc9ffec8ddc5873758e81b078279823941c3abe25f09b7dc15f2dd206682af568f1d7cf89ae3d2aac76a2cc920dc12d62b60f60bc5fff5228d1da8211f1848ce03eb964cb6c2d351f830c440f02bca2612a5880c033b0e58413824d1ca92921ccc88b64deeb156d8404b8c7b3006abce54b6e3bf02ef50498d5ca64afd6975e0f5c8f7f5ea90cfa9526e56ca4adc49b67ff209ca73a04ce24a86be299f1148d651efc9bcfa6196c61a65fd02e4c7573fc458960fe121dbb3bdcfea5ddb8e46fc8b0b93250030cad9c942b9e310709978956f8d92489cf5545ef4d4d65c8bef4871caa5fc100b0b015b559c54a18e358646c97143e404710fad64523435adc4387a4a152c65792881590a3cf257746ab8145187c68bb380cf1376c28bd90db11dc8f2db5107bb2472f095dbb9cebff527f61172f08522874142b2349245454af6d2271e46458de5b2f0aa0e027dfe99ff134c213f52422f2ad6c080b920456c225257d0a4ae5529b47b33d544cd064576b34a4e71288fc83522bd11a50ca792d5d2d305a8ea01247c505111e9b3e41483cd22fa3f47c05776a91d59142942c685f14e65327de555d402df825fcd49f6c2e62247f0a22b532cd0b4550832ba4c99e098173aad5d940da8a027b64f7d2fe1433bbdeee7243abbba5aca188043f1ce5ddcb82f145badd76268d7aee527c58b7008c40994eb3a77385cb7beae1f4f33f466f27bb8749463bd633adfc4e551f9c2431eae35a5984f46d16fd14fe9d263c971f26331bbf0b13ec90a1d49194621666ec288cd0162edbc55d12e6018eae82e0e3bca865d20c1b420251666c8b3d33fb6d67bcfec1c64e0f0a71ac588d525e644cfcdc57ae13276f0337121d6a2cc1286be1e38b19a8ded3fd022d447ac85990f0bbd5ba88e0154552aed367d1d93dc45ca0e5697fabf2eca5fad4333d6f0e121ebae29583ab85069874fe2bca352959014363c97f865b5b7bd0990e08f15fd035563ff1222cad25e0589680705bc0de9a742dd684c2c621346cef688d3ca1d474b041ccd122486b8f02243cda40d750d885925d556f5d3185ed5019a8633fde2ec2cdc6934855321317a842dc51e02b703184ad5694f28ef24f9937ab5bc7b8baee06d82867b4c684607e860b86fd707b8b2868855da4ad0296aee9af2836f1a846cff792925713bc65f8f345fe5a9fa113113e145aff892ff5a6dbed5c98eb64e90f7e4b110bff0a6437ab0d2e921eaa6c1652e6776576569dccb5c28e2465e0716c27e0587fad5c85c0c74ba3bc4023cc97b0117f60d375fbcdba51868267f101ac7119f1da647afdf39285be78b10d46a4dda2b0c15e8c15f35efc0d9a6986046f598aa793f8f09e99ad79bb5708952f2d1acfb5f688020bd980803cbe4d3e8b2b6e5bc326b087816557534804f59043e250f1ee372ebcdf71549040dd03028e507477abcec42452d97d0b365a425afb3706ec7309db071a9eb3c31260afb0a0eae844d01373c03c414765caef13b9b7484be72d874430ae7b43dc18b0e0158c5a243539bdbd59f22082f3cbcba59f846324c330031c2bffacd1fd750cb864f7899c89f10eca98eea0ade4ec25f965c1134ba4346193b1094506be4a018dfae7fbb512b5adc0b8f6e205fb341d53dcedb62b748dca1b924dae19f3d6ce9d5bee2fabe5f0492497096f53212fe60114b426d5f56642abe6bd77d5891e4f6baed5c3be3758768e58223a4ac4ca8e30898bb22750380989f4c87e510b3abc652f76add87d15299e8d07762e2e60e20e88e94cc927d3a20327939d3dc837bad0040fb25c95ec089c4237a9994ce0956238cbf4caacf9b154f1ce89642000996f87367500c48b822acf369454ea210505c36e0724cfe5060a005c5a7c4c57506dab3a0932c43518a95730ba7b761598d58e5939e12f00df4e8b3714105044cb15c7833d58b0f362ed6d671abab616a265e540cbf57cce72a6082a4209d80e8cf0470ecc7ca1c95efa0410ba00ec09b5d061186ef45ed1a433316c9b7d7134ef7bac00cb9d2c8ed70555920d6b288e98b54f0f84d9c0e1e8990eca414acdb5b2c1325e5260f06f5be4acf7f29e401e38694b602cd9b23d17d984e8f670daefda3747c6737bc53b2b558af5afed2e7ba5d2d54fd492780f98d3568ed82840961280c727657f3c377760a95abe3924f493e60c7a84432b8deeba1e6ed018b386d61794414fa0f967ee147c2c4c1a9f6aeaba7ab78aba8234245d5638c5a416f76cc25f2cac9d77a4898d8db0bb065710ec4ba1b330e3ee586be9e3fa0f22e3321842ec7e04275e6a7acddf585eaa0d23a75712fd00217fa7cf71145ab28623fd31581c0a7befa694b285b91d03a3b5d29fab12ac88977bb6a3214f9808683d6d4709d13ed741d3cb70a6582296f23b3fa385245b7cf678db47da191c75566f7f8949ece35dc3acc5b29ad39b690733250c97ba729ac06ddb9302f7568b2fca98e98288df44e1a2660b0b43ece26789841be65e05090a38c27fb498f9824edc30de5a089c7d94db10a5103b12f76c6ffbf67f2c780c9fba70955a2374269cf64b90eef1123169397c658efa894ad31e5a4983cf9f57f0a1a828dd3631f47311921f573ddaceb928bfba0d33b95f8cdac7dcaec5c8cda5960159f6cdb6f9875fedf52c41e4184f5c6b2fd3cc7ebda1d0e39ca5ebe2a20e99e1cdac75153fbd44c21d8783d963e030c1a48dd313b93f138ce05580fccfb2c33af0741127c1d5c1634437fccceb0f17f330dfa2bc398012b123c65c7532aa5a0d02756536383151b7cab943a1eabfe66506682a9cc95525405f8283905e3d906b2c9e1bdd27a68aa11320b771ea75407a3d043512369f583844ee736ac1227f52d7fe6f1dd191597ed50a1688bcf426e2a22f9f8662b4955bc3e6eee7483c4ea84d94005608c8f54f571a39c1aeb942a4e5d02e8ab1af24fc8fea52f3a8ecad837262a97cd767013a898d5f41c4bc6370ae2071d727897c86dfb5f5f582df2ded5b601d88a6035c5dbaeb5c18acc30a125ec388e05b29d11912902713f18f47a73413439aef19f1114f4c2ba5f6aab4b417b063e086f9908a72f086c28e41f453260e405b82b62159f5b8ef58b9e294644409a4a48b94f040403bc3170b28977531aa6806518697aae47cbe55990e71505cbd1eb27fa037489d7cdc96139e52f58c000c8283d1205c850f9d2e81eaa67b5fccf11fe041264540f143e4e58512e6145498041e057ed0d52a62460ee4aa2fc2ac9845fc2fe1825049cefdf0c7126eba7b9a11c5cf0ce2f3869e9362e003407d83e34b5ee6961e94771b74e45d73dc628cd4931a03919b90d4ef979ebcec813df6aa7699f980135ecdb8e573efdb5104ce5bde2e523ed18342e72583c0c4547fefef33dd8ca0b377ae2146e262c5bbd34331a8978879d8dc9c433cfcd4f35d09a220cef811eb2165e6ea7f030e179e9a806e6e211563084642827af11d0e241a691de2b7059c886c761353cb628b95f7a5172f98c1f55e251ce569c923966c06496be52cd5e3fcd236782be83f196cc3a69cbc83ba5ef246e26d18673b759b45201151f43347b483602bbb93dfb021ba0d818d4e4e1a07f5e6a09eafcc6e2bb1db9725753b6dbcb3ac3c14c5053b6c6833425f191eef8f8ac79485e61ea3cc1a50cfe1f209ab342ff0de88c26129fb5c46f79f6f0560ac762a4d535918f2b9a6f651d2cb48587057cc1bb6a03ec00817cec27bd5a2846895f7fcfd78165cc15e9290a46954f040ea837063a5ae4f94cb842d5368ca4e72e3c9b92ba14c65b25117683572ee1c4af29bef8abdaa4292ee317798c831af1a4bc13378cf3cf9a60f55e459d68fa06659606c9131fedea7d153ffa15ace57a9bb48bbb64afea9447ab1df8cbf516d98e6f40de6c9b55b92d404db2c8505621e6bd463a9fe85e4e24beec721591b1a35d53952d02e3b591bff781a26dea63e8b4014ffbe963833d4b12e27b270b7d872b2e620ac95f6d2a5792ac78be96236a6c5607346eb844e9a0c9073ab44bb0436ae6c1398ca6961ce11088b3d14da41858e9311e65174047cbbf14657790464fed50e521cd67680edf314ec7ecbbfd1b4173231460de8a2002080de3fd52e68187d1c81ab2225bd24230bce13cab691e0f361295bd0478bdb27364d027ab40dc9f9245cbc617c4bb3566ab1b785a583849e52165fb515c6b349875e01df974b65a8103d4459ad5e2f669e013bce76d7bf584ac45d984e6a325ec62385623105dc1dc0089df55208e1877983fcc0572baf641181b198da0abcc39d479d760ad181cb628d5a84642aef2a5e342fa082d169a088624c48affb695f335328ba6986eac5212b418c1407c70956b6f46d95416fdfe07aee77b0363838a1e8dcc666f79f6e391e6fb416c916a87c5caac5add001e642ba02fa75f507ce0cd8c19c1cf3192c9328c5d7ddc4637c7a6a885b9f313aacb38411a4a7a7f80a4b9385b57185cacb9644a240d8adcf857c76efb0dac394cb38d1aea9c6bcbd13929e6cded76edc8baf87bbfdd6888a3fd1ee01d80ea7feb2b8007c9df3e15b59d02ad95a338a4877b6293c0b576aaf6e15285fdc37dfdf64131f7e182c613402509da0fb0f6770d1a7ca2f9999354c9f3e1930e3cdc3d2fa8b54a98e305395895e0ab710965d3cb5a8ee2fd523f79364c22826e9d25af887f4513b129ead758e688922248f33c544635df14f635313256412bb2a695417e939aaa011a4e6d635762329b0c8a60a82e6c31283086a73f92e1ee753bc6cf6cfddfce47e0873236c422a8605b30f34c5fc0fa63f0338aa1f52b8b336f4e2162de443993178c1b48500b5abad66fbd2ed8f715609791e04406c25f9918a3f6e861c798fa8905f798a417911883fb442cc50fa2c33986dbed0faac4322f4ef1e60abdc9dcdf4e604187deed5629dd4ce65640bf738324d2c381438a9546b3124dd2191b000bbdab590f4d15f58a025ef90cacb1052665ba356f19fa818742184fde57c813b852e791d931abf5488368b46ce0213032933f5f35ffe00e31e41999abea1bb83125ddfece1c6c580b2b05a2775c1483a32bcf0a4da4254f228964cb27952cc858052409fa65967d21041059e4af31b13568944eeee8659c7500bc1bbef2f43d903996bc47185d327744f114e17c5998a7628ceb0c06e4b336ffb410f687148ca0fdbb8dd06790161c88e627207b6caf87447e3844ce83b78509c7b7f078ffc3497f1757334bd233bcdbdca8d468e094fc9f66d53c9304a70e527a980d134cfc3dec41c33e1622c7f809a9b7d2ff7243eba2e37a9063c63bbb77f685536885ef664772fa39d5893b55305263601bbc902e83a078540b675fda348e9393de81870cd901b3c92ceca44f731c8271218df4d98ebd1fe1eee1198aa365b071d3ccb882709f510b88a3e603edc4f0a1f103ca5eda01bb1f47ef3da24b021f267f979c3c6efc0cda74c9f9f61a9533f2141658d39c25de671cf1a2a145d78cab79a06821e7a22927f6d900056cd197408de87fb788c7d14678f02c447cf4a55e5611d0441821ccd07e3c90a5004843a74bcd237ac6b73584a9fa197056eac48887b2809e3f9995a840bc2606825c9bfa40a8d58f0c21fe0483031d8af43bd6f3c21833bf0ddf226988bb443f5a5de8370862c7fbc3ef2202aa18c8ce56b153cdbfa59c2e9d37a967e79fec94f6cb128a9d6d541b179a68772c145a0f9e28521264790b9cb11f82d016a6c03fd43aca455dd499a75223c94fe7165e500bf85969d76ce193393f1c45698523049807c73a49018e40c34781d29d7dc290dac2befa18cdd0741e235592821c3c2efd15c58c6cce60e5c0183fce07a74ac9991692d8172e706cd4e6038d73484ca80984eea8cbcea7b69d0d116e81f195a3a6a5c585737380830f8a3c9c3138a115fe6fb79fe6b26bf50e17eaa3559eb15d7f40256e9fb1e21672cfc72e3d5a20e9ee80f48cf543b20363cc689698727c5527382eb4923b183a1305e68be4fad859368e295dacbb973c307625dc5a5ce1a6952c612fa52adf61c00f1ce56d333a063c3ca5b1a83a479dd85dbe4b42dceac36efa25c527c374648f20dede2d03f2bbd97f25fdc882b9cd079b46f13b60c3ea1a2ad0f678ca7c02a4196b1b91c1724daa71fbefb30ec71667fd29386f23ed14341f97404229078e4c313907b1ad01e385a0b3ef363a0107deaae07831d6255360bb305911784ba7c2be817f198477019231a0d7570f2acb407a9ff3b8c02e3cd14ba082616dd22c9f3872fce700025f281801a42887505b85d3fba4e74d735d206d730e6fa9c8d0741d4a59b8529e0e020fdf6d8d55f018e09941001afbc361c01fa9b70199e3df995b12f6a6cd5ed1ed2402ba17e6fcc807baf049da8f5d7802bd104684b7d044200f54de8d5edb7a2852a0acc0bf3443900ba0464ec86460edf4969b5466776fbf522aaf5b4f6cee03e5f2d7898c81e73124b9d5661820052e43949f8a55462cdc606aca5fd7ef43fee972e587af633b1a1aad2e6cda7c94ffde9391453b0ca74f85460b08cd753ab1b0963ce320c6bbfc2d703dc2fc8644fd0d339b790cb4b196a985b1777a8fdb9e4c5ff6dca3d1718123016ca40288c7555b9ca30cf47aaeb8a551e34114c38039ffe4b615b96c21f4d5e6db9f1117e7ab46dfa3d744b665b97504ad2a7aee91557bbc5aa7c369a8799cbedc43ea87da180c5b89fcc84a6b497c39aa1372d0846d4a20b54881a98fa9526900e165261c3e7e512c9319c6687a6439f5897e6ad930889cdb510587cfbd4bcb9798f4ff0655504f4d75407d3d2193319efe100fc2b1069a527a881830297c5cb51756cd0f347f4abf49b63be38886fce82d380731c8971617ca543b60d6ad1883fb1beec1f7d8d70c51c144933e21eb99eda9474b718f925585f5c4101a39a7b93a6f375375b4da4271f2dac85f9876188b121e3620169126f3dc5713e55572fc6ea020674f0d83fe7847dcdfc2c656ba7917e496246a3475a52f1079a544c26c3da23f552fc1af4fbdf280096e5dd1aedd5a38dfd16cd19a60c0074ee1639044cfd1edd882184d343c0a3dbe289e758bf736ecb973a630913f5c49ee5047dfb425a0fadb39164e3773ea9bc5ed5939b564748037fbc08899f5d6d54dfa8ec1faa9ed0349ee60155e2457969ec92993edad34176d947c1f8d1a4a06101d1487caf38169b720a0f0c7ca0c49e97e6592cbac1eaa524eb28c8ac530ac90b671ce4fc4eff5d3642e34e85afb4310e0279aca81aa6033a33db836e29e3272416a944d6719be975f46d3e01af15be8e2f2c048476bfff433a6e77db1b1d98fa031c438179aa2c89780ad32efb286c8c61590fc7ddeaccb5b2441285c7246e4496b081e78bb38ed9b5cba285140ae8a16c519c548baa1e5d72176105b972a687ce68942e2a395f5f8b9e55818fff89a39211a1617e4a4fac5135a1f89f9abbfd7a8ecef03ced7a392bb3ca494d199afc840e7a5c26fbc56b092e61f6028bb414a009849413dd469ba6dea3d2c047490c1b3ac859277d77c81fa2016df45b6969bfcb8416dc2dcfb64b0ac2ec800588bd4ec0d5dae2534cca08121aa2b490410b0e3ee258c51b66cb695c762b614aa0480411e8d5160b7805aa9e4690e1616cd7d845a856ba51275957946278c89f775f12bdbf82f01e795d8125da4ec48e6c19a41af6d90336be02db1874b20a05ba521521dad724ea50cfdab24db2bb5e00d20be1a7d0f2d59d344ed617f78656125b3ca02c46d255626a9965febe642472013c8f99882d2e94947e9b46ad0798dc15e08658768344519baa9f4e632adbf5b6ecd963542c2aedd892bf983e5a0f508ade334e914c738f212aa02035bd330daf685a7490393c8085a800efd892e661debe07cbaaa253bc6d1413184a125aa56a32551a603261add811fbf25925210191d07f53bbe72da3a066f86306519665fb6448dba0dedd23dd1d90d412939a298310a69dea1dd7e1924eb2a6813325c699846409a45d06b10908a3a21ddfc7b1cc5a0c7c0934f7918f6d436f65e03d90e2e749a20f48bc26ebc58c79cc0f49cd2ef1cbd8febfd0ce99abfcf18c53fc8ee62ff8a8533eb9d4eec582620d3e644ee58d772760cb7da43e5548faa8a1a811c9e97cfe57ded01b3c6898f56c29f2852bf29682744ba4833388f8e975483918922c51ca4e900fb33156db95a8c0d07ac18d06e00eca914c3d493356f6839e7161854f3e6c55a031c9d123a30d48cdce790e0b54103e942e4cc6c393927c38b577cb909602884ee73831600333e4b546bf7c6f527087485b0532e8436e3f9dc12e5388304667565e859593226de3618374f9811b0e4cef475f39c96760b97991d049044dc69c4284ec46cf10a138fb346f1bb53be240244ebc51af1ee80e7581aefe4bdfd289b891559a0ccd818b60ac333ae7ab5483908a27f6a615c0f54e3f0a217853d416a8fea08d143e6b45473daaeff555993620f15ee3ce316038c7b0322b084deb57b0162f334119f812ed746dca40bafabef36e48eb9a51d5261da7546cd10170227376c8dc5ef6ac4cf5770f784a4fd0101ae852ceb1029cca09b6ae2e4858a5b964465367d021f0892f79254b2976299e95c100c7579a82c7932fc20f56257d5be169ee3873f11d014fb4a95232b094c7e0d17c905c4a2bb2589608b0dc8d4c568a4f51693387ac43cc00893184f0fdedcb8fd4e21b6ee2b89842b61e5209062a7fc26e6280d64772370e3776f5a3455ef313435d171a3077645452fdf165f8a731d0d93c72de6dca939dfd0e7adbd222b120d4754f3014693ccf69d29174dd88cfd2decb13fcb559a3ffc4e1c36e2b93cd69fc4bb7b021e8f74ffd7d75dd49d7300de5521c5100f28e4f6251d780e9e5d8a70e4009d6e98260c7de68ffce18a157f9e441aa97b2e9cd75fea68b937f55b88d713137335e0161629e37f3511062e0b16d9b5ce7d1bf21450f808d1d2c3f1249ebcb2a3a574f2dbcd91437e3bab4a089de29790d341731042a28f2978bf99287786f39217024f50d461ec684158e6eb204a92535f5e0602301a196f01301e67a9abe1fa5eb2b7d3c035f09460f70205184cec50cc7a2d61b275cf6506e7b77a8c243659f0e219ddded6c13894fb0d67fc9a7e7096a175e429c118b71cf7cd8738a86f155cf3f922e69c40bfbd7fef2fccc76ba75f7ff8e817301118445a03cf47ec8fa05380027db7ed8f431e6f003bcfaf72e52f7c3a2baedfd97512c18dcbf8b05002e27c96099943a2939536cf92a0b9286190c499fd22ef83552ae08b2f088a0eea3a9c67261821ea039c4105b7b6a11fb5b669f0a9e60453def28a3a632d96a61de446fa1351f23aec3f94a21ac51b91273c7dac8e80a6a6eb1367f52e0f0fbbc1a1850839d41071f4570394e59b4e1b2cd10b6ce0231023007266831f01e9ef882915d3d83c0b0b6a4d905623da1de01929c2b806fbe73f65a68248fcd7aca4c04bf1fa592a90d3ac7c7341d2e4cb64e863329395375c24d7148fbcd3ab7c34c0651b94e0dd588e1fad6bb208ed61695a7cc24ad2cdaabfefa0cdd4b23074a8533670aeb93abbce413c86e25429a50cd56a0d7e21b34e594e292b5e344aed97a574b4eb27aacfd0f3d8295497101bc26375f4dbee6267147c1928f4b015b8da733344f9857fad7bc0f1c4ea09c1ecf1a17def641ce684029d8f9ed199621caef9ed9027026a574ae0d97c44a25675fae808790e392260d66973d48ca271611a167bc387670f3d54dbc1142c69733be2ab484f10cd0cc83ed4e8f715642b35a113a2277eced7837157216399f03fdad68c7bba809d2bf6f3c6b1b24ec57e136c05c2e5c679d1b3e349f6a1ac4e0d9a414062c97984155bb3847a8b500cd2eeb45bb61e5fbb4c2883aed739f011d7e50674c9e8e990938f2ae3050d33f5b7ce1bc348c61360c7a9d4b3b143dc6d77065b5fe702ed6d5729582369b46e2db53849c43b58140b0b736444e4432cb0a2ee50242f4b166a01c17bc0df81a3e2145f3dec12b190db2b16d75fa9274df47182bb27943e460508d7f95504b9693cba500d75446001a5aa8b50086bc13c2c2706157851b16e5fc4d0efb3f14eabdaa016d9aedc170b3e363f179f266e53991c401361928773bdfdabeee4363772b425ed71d57c64686f613657fbb18bd83fbf6137db5695b65327b45b2662af2634fbe831049b89e12da2d839bb9b6a8fbf7b4f1a18c10a39dad5656f05c3e27d4665907c67a65cf8004696930454f1a2e3d33d8b23385bc70323aa66ef86ad694a6c8e148a9cf18e3f919cd9674fd48716759cc58cc79bf4b0c8d5243843a1a1b32c474b027e383248feab7d3e65b4671c96269d018ebec7fd898872d43d8bedf73674f5c3bc6fd085597d354dbf0901c9f95ce1596c6f728b4568f3035b4dd9d4c064a3b771ca895ed604d492485f7b56fc92a4f131b28808f13171c430a04ac0f3b8166b789272df7ced28e5d1420497469c1839cabf54c0b9410cf011264abba33defadc0802c6efe99709075ad6cd5a993ea129c04dfe3aa3b4df5a7b9eb5e28f0ad12944b4e0a9ca76afdc823810789294822a5fcde588867c22446a759ef97169d7e26b920f2b42a4120757fc825677d28127feda44849d33336d8341767a761a4a2eea03e306a5ab97af2d3d89bd8a14879f9d680d3e0d4dd164c5af60d0132e296aac28eddd0bae2a79618029f601b2b33c96c9d1bf946609795c74f34c6f4930d29d35a58bd32eeee2408fd1e30096b605ed5c6c5f574134d183fb1c2f22196c26474b9e31a8903a1103ed7e751c607c7d03fac8c345476ab2e648c619cbd3dae6f4ec9b582d184dadc2cb6d222fee7062cafeb4c5a1853ac73a58df68a02de4e01e85e27319a7f4e57f7b1b9a4ffe6981f3a104c094223493a1a0c1d63634da3eacb49b66ef29047634ff99d8a9110ea448af49be576daf7b1482d9489556590b383079a141769ac89712483d391dca7f96247694872f6a69341fc0b314ac6b97874e74aa89d000c2b5d8900d99c3d30b70a4164cc4664f47ebb3c60dc09b65f9060135608fa90cd3250b5d6a95f53db0fce4c796290146baaf655e80a7afcbadf3649d6116f711df5a18c03ca095daba4eea53ac31d6c0daa160c3b993d7e8fb91bf78774c0fe7d70194509420275923a3f341f280fb5c5b930db9a2564d9f29567761689331cbe6d45fd2acc07892afa8aabc7c8d0c6d01b5d68c757dbb87d33956dc8a4fc7a3b8c740bb0acd6a253bfb0aeddd989f98914fcdad5109497e0cdf8f96d5d014eeeb7e0af339c8368115d6c28431cae30eb7af98a7de65f41d7e05a1f145e4720fbeec6a7eef68c7bec5be106b6f973478c1aada7167ae5982645a1ace3d1bcfa59ccde11b20b41506ee2cf5f4682f5a8d52d17d8ca425acc4b11d0f9c919a3f8f29a9623c90905da3456e27b9c901c79465250f75ab912eb8430ac596cd66b0c809f834bf89541c245c4aacb6018e255cef01fb07c9b4341c51b9343a7a3fbc9a3189c3b6c2c2a52f40eb402100d39a7e87871907084e831cc2cae2b6abedad4240cdddd1dd57a11a80fc599415a8d03f5a4ca9abb2c091266615a9335b64011607e36225034e84a11f52cc47c802557b71e31d2eb2175e310927a2275cff08caa0b8e50058874d9ce450bfd21ddf485c84b5fff7b6f8439388bb7071691266b2e78740e42aa1c90f7f7eeb91145956fd175bfeb85bf56a97001fc53fd0d7d8b1e4f990e01b20ebcff0169b156798739f445c611f26e10d9b7f0c49984cc55eb01aacfbc259bd4ef8ce4f6b13d9564173ee256c6bbc88fc27cde9aba6491c814b3ca2f0ac75aaaa361476e5e656dcb4a96cf5f628244cde1d9800a0aa88f714779d7a2e1f37065f05f4a14336b2f03a7a478a4cdf91301863ff9aa97510f1a18755f189576aa2a05dcf29d764df7188edb607ccc6d076de77f429b0acb70fbaf880bfbabb3b85cfb313013f900dbc407285d1930d45f3fc5d8a5e79e3c9e04e3fd491be1e5dfded1f0cd73c178c4dd0acdc7d97c336b9d87ee6920428e5fea7eceda3ccac6049b31d82624da05f590aebefd687f9d014605125ea3e0adac6b89a8fd0b3fc86e22283d14f88bfcb5bb59e4cc4dfbbc60ee6c987df8b0d34fb18679f2ccd3e5a2c27e5c386afb749778c35ebbcca1286b5e8e5022a2d52b6ca2d108dee36cdee41d65b81f33a823c7f688b0e248eb722282267bcdd9b354b9e39ce24828d6961b562f0c6e46f4e920b236b2f356ca0a1fdebcc86fa3bb35bd54535817bd4c5fc0a08aacc9026fe4ae79a61ef70a8a09407989f8995c20fca56af607af10be73d14411a5ef72e16e07ca9cfa1514338bf77dff7348b57133a4391e29d56b858c637a8d20128a3d62dbe4027acb3cbb10b74974ba2744d4beafa6e35553e675e3732dc857f684ced8a85a9a584ecb36a0d74d1ffb519c0173a8d9bf38c46b42486da81994756cec0d994ca26a330810c9ae67d333e28b254c3922584f1eb85a63ed4227a98d817a178ce6215a41fd2209e1b67210c4bbdbee533529df427ac57bc352811ba2e9f43b251f33412097a1368b902673cf06b7952a03caa734226306e24600d1c00107119187a860161992d8e77e9627e540e3618878273a94443a2b472cb9b40161ca41fb012dc9014cd1bd7a84eb715dc127a4934a2c5175699c3ca6deda5529a6adaa82f63aa77c59e44f1a6766ab2e5752503c0e164db8b263330662c824cefbb11d896cb46f9b3b0d12d8f7c57b59114a6c4b7e1a9fff307b6fd3f013d2e2fba7b551c799d87782b83b63750f9c5dfb34434818d916f91384f67cd3d59f140688ee920ab4ee0c2a019dcbf3bfe185dd915bc97f013d3a76b87606d6f1d6ed3bb7772967b128cbe639914e4ece516fad396a7bb733caa7bc0c61481a2340ab02e15c80da51ebc426e0fdddce82e9bf159e09defce6570e009a954ede9920155c6416f6bd34093c26368752ddb5de82f5822e0c8c1852ceea362211add1d9afec40ccbb023a3212755f30141aa903aa738200404e7c27eee53ae3b5739e5eb1e974ab8a2d8a9d831058b3e59071549f5a06e64fec805a5fbe988d652c7a7e0e0c06001884c189877097566ead24ba4c745f950d7621b1978e31690fd8134a237befbde5de5bca246591070d07140745f0f8209b9ad069fe66d0dff97202edbd9c9899c3027dd2e9114e83b22b93c1425eac47039da270cf8723a03c0c149dfe975312ea6c452a1a30d0a94ae76a6288d0d6440c6c9460039ddad0364b8b12c37d3d9d092734d1a909a4cd653814803c1e1c0890814eab6d844541d28b32c4021880d369cd8534abab4207d68028059a23745a7523971058123b0f88404ea77527010ad440a79527ba9a5881ce476781167a745a83ca1c9dac042f0dec7042a7b5d722fbb9e12d61040c3c9ce8b41299783921b0d9d003570d123ab52e11c6048f8d09245e364fe8d4be724aae9e23707a9e00f5dcaaf418410586c3d3a9857db0226690a3444e2c47099dda98ccc84ea75676a24559c204382ab39d18e8d4ce5ed09ae4a083030c2ccdf2cc40a796f6f56eaf053590ba16f4505b42844e6d2d0a8e0d17c50605640f27c505b81e9e0dc7844eadad891435255893288a2eac89143734890206b99e9c8c8dc7440eb624aed0f918a153ab0b75b4292b804d0962f73345a77687c3c165ea703710d18890301c0e3ae06e80c2035a42a7966703c3150557836533d315658744941b1341422fd0a90d6a62821f94ae494eaed704c90c4d8830e90d7d34e731f1b22501b344b6a8089d5a2292ebba7e74e0e964ae1a1f9dbaab68d4dd8018fa603c98bddb10bb1b104f5e363f3af5d7ae4fdafaa97b7de63bb05d5b3690b35036e7f1552d62ca6bd797edfaa9e372bbda5c2e97ab95c47f52afedfad7636ea47aac0818fc788ec3b6e338acde1fd8676c2358cde1b9cd8cdc8ec46af6307c18b0bb67777c8667ba23c4afbb0105d48d6f0d8207556730ff775f5c5557f8ee32f6b7a8f528c8ef932104aea0754f7fec94ef104d2bb0c18d41eb449015638cf1575cf78f6b2d10e4774116463294bd2031683c02320232aa190149a264329261146414c3a8a664320252f6664f805d01c02a5994c45d2b16ffc65c147c8c827f59bbda5e571487ad795997edba3bec73ec0329e30a5c6c078651f61d83792c8ddc40caee7eaf502ed166b8488a300cc39c319983711c4792d4c186594a6b4269d1a15702d574f0c1ba143071c9e50f289d0216482e4e3893e916f586e4875d8379a892c2ae194ae865140223a9c925cfc5ac28062e654b4b4b8b8b0b129e99b3e4105ff64c3b9c372455d03256ea5d6f3bbc32121c122a585409a1eef0b383123bd8326da7e56d0723dbbfcc40804112bb38d8f5a72762e8402377bd21f1b9e920042b21c35a1e36ca055cbf2a5365c65d6f3b35aa1d867610dadee202bade664279d7db0ce8ab37ea938d72d5799e278ab6fc10a384818181891163869963c68c192ad5eb104bf146b90a05808bac7f764057294c7676baab1426467695c20467ef2a85c96b57294410ed6f57294444b1cd5da51001b46d4e511c2067b8b4fd5a621996612c1332c55a2ad652c1f806395846440896598c2d1521442cc6968a1022d64e2182311521394484e410c132215806fb72be9c1c6b73be9c2f2707ff208a4fe7d3f93e9d1b9f7ba3b8378aef03cae1d31972f3e9dcefbb403743eef75da09b21f7fa0cf93ea09b22436e8a0cf9746e3e9d1a70115ca4c8bd4570115ca4c83744fb743e9defd3b9f1b917e85ea0ef03cae1d31972f3e9dcefbb403743eef75da09b21f7fa0cf93ea09b22436e8a0cf9746e3e9d1a70115ca4c8bd45709122455097f5fd671abf98fd6eb0acd265c7d206089f8e15f7fb2ed08dcf8dcf8775b0139f8e8f8fcf4b41d6fbaab866e05a6badb5d66ff9b2ad0f596152126dbb6adce557480b69301447b23447245d32ad9c5e585ac0164137e688e511f54816a7dd599dd5b568917a41a55c5cb4bc60f9723cc673ef85b9039d66ddadd994acd07237c6516bbb3137d0b416183928d4045a99ac1269a9b198472ccdd25aa44228bd9459a7f1c33efbc54c210d9397c8ba2995e5b026b6c31c661d06a32c99e8ff62d8613398c3725c158b8d74678996a675186a874144649425133da3bc311834c0624fe611eb9af1c548978e4be702538911788004782dc8302d1024c20825f655a671550a2394f63cc184ef44c08d311790a3491a2f32606dc6fe6255660a1b2a544b91b64fd2284b265aa6fc62d64de0b01ae3ba9c5d33a4b21c87eda58bca48e7ae1a5957c3cc917db28e84171ba50ca5ab045259599796336cff620960d96190abfc5d84645d0cc6149284d28442db28ab4bdf987c634a59e9baac2f7663be584cef16660260ec4f66036d3ffd62db3c8292d90080032000360065ad375e74f217fb70a8acd255ba52b0dd354500e58b8b1712ed79d0810e3294a020d40ed7f137baad1a7f4f92e51d91bac4185fede2822a31c62854c9c2861660992a497354be9046dac585a9b4a2efb97259ca7b67a8b3e544c1887d79632e43f459ba0cd16819c20b0cccf722c68de131ca9751e297519618a7189f17fb0ea144bdc294f844cd3073d4196595a12a2bf87df7de7bbfefdeefaa4a9721fae298b25c81f9c40823d0a02103c3066d1f5f19991724acb5f762fcd96ad3f2d65a6b8ccca1cee0ecce7c80e8bbd35a6b1dd35a6bbd2c4a7cefbd69adb59270306ad13800492cb5d65ab2d79681e85ac32b263034852038cba795120b78fa409996912d2c98a4472689344295b4c904e3066dffbbf7de5205e0bd56dfd8bd2cc8dc82427df76216b5d65a33f679c1f70e4fe129b6002fd8ed01337e06cac3f42e688a667c97774179903ffe8f564b0bdea784aedf729640a0a39c004aacf542846eb9687ab2ad50350db6168a05f8648b0bdc34511e3e5a2e45f4cff6dd763415bff47e6200076d16c22f3d4992b7ac688b024a2f560194b90cbf32972d2d2e9e0431cedd18fbdae38fabecb8c3a8178c3f45f1a88f9f0c6d218d7659b515a2a1cd55b51b635b21ed45bde13bbcac11defe49770abaacfa3684b779a7ca4f493b953aa2fa192fc263d414c52747386b623ec8b762d02477f4e193201e792374dc9d6a302411ce98074f135195b17faabdbc7d39d55e6a654f8f4fb4cbb73853f7cdffd1224727b4cbeb179b689771a73a635e84d3d4bb31db9a2a784b859a624e53d08d39d54c3cf2b5025ba1c5a768541ff331280ff355aa57a13c66e4074af12840141f6c2df3cd5f99814e4fb592764349db2f669ca75a1312e020d7b24c6ce881d7226d9502073bb85a360a1a76306b950085f76a591fa0c868ad8ac353e16312bc40d6b220e805e55ad654a1b64cf2659e21edc6ccc61d0d7e13e591027f2484075eeb00548cf45aa49529fa9e2510f41894511b7c91991c83b6fd0f4d7386c9f85a4777f4b5a6e4cbc2f815d8bf8967e2f94ac6db37015d19e70c2b74f9f7474f6233c7e8afc9801fbb3cedc9e6aad31257d915d8659524987caad162a06986a191d014b5d39226c3fe566076e5b4e4643bd5a2d0fad3536ddcb9ca9e1f5af453f045137f678760a2967663c447a1789786b574dcbd60cff3050be34ccf17671ae6b67d17e78b8997b2d82d678aa68eadfa3f5a2e678bd37c979637518fcfea24871868ad6ab2386d4eda020edafea80759a0d3168f426dec7673ed00ec7a2b220959ceb09849860c06ab27a1ec5b7c6b362000226a653fe8f4546b01f372e2795ae231f6c5bc317aaa9d2e17b4053f7e71097d511006b29c2f52e8faa7f3db81aea00df87a13113afd961ee8faa6135c42d727c9f3f4357c65497395e5c1df32c4109505be6a8c7dbbed9f82a82b0b0ac16dfb648a37e953ff53ed643b2d41c5272d29819ddf4fdb6f1185ca59fc53cd553651fcd31277d2833354d6a976b20dd9279b78b2d14ebbe32a5bbbb6169aa6f92aa58394e3e5d224f59046a593a47395fdebf78afedad67c71154103a2d38e56440d4a909e72dbfe15ddeaf06c36a042d9a527ad39a3df9fbce2e7f3be3ff838aeff268d34493fe924e55ca5319af2124ad28d68802ab104dadfbdf4d1f506cbb67fb2f586fe12ae8d5208fc04d084fd026d4e10f6029d96b4927659e08b56d2aa8cfddc834e777cdbdf00b876b2a5256ddbb72929b7eddb27e5483d25adde5040dde2fbdb143903021c874d7cbc0361a053dffe29de812f5f91d0f494133f3d89b9952a40bd20f08c8036aeb263951df4d0e0142cea82bf027c7b29c829170123c89128be9fa975ed8874bd5c908de7b2bd723051aca20df15313745c517c517417ee0edf5d8051a23bc01d9a763b0abeec264100858e0227de7885a3e929d78278d66d01d2c54f4f35cfa79aafbe9c6dff14741a72569572c2f9aade80e0f8ec93cd57faed0dc8ce4e4fbc6d4f42db7ebe22f8f255ba02db36f60a6ba2805760be4a6960efb0bbe27850653b7a32c2c640d7278b6c7ea6a7cfd154b5fd5d74175d746ce610339973cef7c59b10170dbd532d68db3f2d39e57a6a5c36c84f6ed76a3981fd96241ab71cd1383c43114224d6ca3f3ab533d14d057802c4cf229a7adac276b485d306ff7ee711fc76e6ab1d676114b4015fa75a7acad99c6aaf969b4eed0c7c5dd6a9897db2edfbe905afea27f0758ae1bcecdbd965b5e095e00ffcf9b03f6e8943577483f176dbb66c5a02ace4d2f55b7cd030ced244f46f26b09ba668fb2d3cd0f55b9e686be6707f31073e4151a2b0645d5b52854d591628fcb5e840165d786bf66fecca326db6f39b0d368173673766e7ab7b53554dd4d5c5a92aff9d6d3abd38db5ed8a7830edbf1ddf7e6e6deecd865e5bfb1706734dc2449946d1a8333702603435007e66c35da0cdcc966b49a0dd4893310871967308721cedf7d8d25b2c4a5d69e63309e9695e20ca663305ed6e20c853d87e47865e10886600c1cc71044ddd9e8c660b37ac3e2b71f90b3c05dacde18dfffc3095d3644604daf286868f33e217077596491c7f8d7f06c82707a3944dbc8f6df79ed7c6155c63e996d3a7f2ace482257798944585976b85db67f4e42e74f2fcc6587bebbb1cbfabebcb11b632bac645a294b57b1649dbf1956844fa2cc1ca18b0d6d4ba99d25ce3e9c753ad52f7381558d6b92e4ff54e2ece5f37944fcef04a2811767977561a928c2aec3808fc35fec9c844e5f662f9bbcd6ebc523546adf33b3f01616c772123ac5252d14e107e4f79d299aaf8e4aa9156c8f56258d6cf0c4094877380a32b63bf86e4d1d33523a646c7f19db9f85f0fdeef01da2291dfe1cf0cd02f8b724b50dbe8c7dcf7adb916d3f8f844046cb8f90e0633445837fb45c2b38c11115df341033ac2b02081911a4ab082076012927b82038a81c5c0c5588e06290e28684135c0c50c410b453fd98c86b566aa0ebd7b0488dac30e9e7aa372e4d5765bd4d8a250d1bf546c63017551576514ffe6934d257127a9ee02acbc3cf925de82a4353794b0e3a253df8e0e3d41b278a8433febeefde7b31c6f97178fdb147a636b536f5a8e2d3370aa38d5f0769e31ebed31ebe533aee4e7decd3b69bbc7ef73dd38c77da828d5d7e1a03f564863976f1d1f9f3f8e2288e9ffe164d8fbf74d6cae3c7bd4d7a1cee836ddb22bbde7a706df29a0ac03b6dc1c6b65e311ea574dc8dff6e8ca61fd8a4cf8f65f971a6490152dba527994fa26dd2eb27eb047ef26320e667d8ce4f8a213f8987a1adb77e72a5746229914623185761120dd29937cc0fb439c2a70b24f349e7e8b49b941ffbe8ac9b44423f9f66fed2d441cad761a8d0a9eb37bdbfc74aefefb07ae3f4fe7e536f904e1748db44fad369b7693680f42512e94b8fc34f9a03766bd474a6fa475f3a491305f3493f9a3a344aa24a2a36f9a4d373fc4da7c374daee14f37450bd91df75407aff06a04827e944993af06794e72bd2fb93a68e1375bea0e809467c9592f0cc572c903ebf8b260a1626dbe6e7b76603cccf6fea20617dd2cc9d9f25bbd03170d6a812e6075a7ff83053686fa1dc1a3fe9ccfb335120ed4debed0ac5ae375acd265325cc4b0933850edf45090304cd02fe1d76b3505d15bef846e126ad5f1fa53d76093d81e1777ae1b6bec023ecaafce01e9da6de3875b1531f45876d4f59d0cf55ba6f44942a62bb46a162c7b46b142a6ea8c1c1bee530336739e0ec5b0e3eb71c7a64379d1a1e098453c2b3d32cab38253b9b655b1517eb659eed8f8bf1f6ef8a3381cf26493549be0ff2ad1aef386b9afae32a77b2e2720164d5d9134aa871e6990fc01fc60d743ef39ded16b5d5da6aab3d91e49324263189497cf2d9ddb90afc39c15ccf76d007ccb9ca874208c149118afa9c27d0ff121830702f5e0cb970c1f3f222944afdb468f1a487058b252814908b4b514b8b0f0b8b91d389676545c864da2995705af7904843bd3d93fbd933b9ddae660ef371b828d369a6655b96e5d48c9379722ddbec13ea71de8171d6f9556b866d279fccb9ca7b46dea81b7dc69f5137faec744aea6e8cdf9f7225d2b6bf60d6f5da7e4d5749645f3bc53653e6ab94cce57a489bafd291861b7d4818f993e32a97b9ca6d59bf5ca2ea98e3821dc51f71579a40dc89ba2162cfc689391b449babc4da12926ca1cc44db77f8a0cc43bb9640a724cf573d521744faec5212880cda4035dbc91e39e42affbec609a4c69350e32b0935fefb6ad4a8516b8d1a1f5944f6c8a111133a1d6923cd5729591b797c95863f1b4dc3a29aaf521b4b7c556f3a3f3bcb4a207527d8020cd519ad66cb655ddedd59bd51479c3146ea709b555b2cdc2a8d884b5a69064a45da1679b67f98f3954f98bbe9f46c995d6f3a39bb87cd6d66e9b3613ecb7c551a99e51d5f8df0fe99e62b1aef5e3d45e934b3c21864eedd689997f1d6cc2183d6ea44cf78283dceaa2dff8468993721ccc9a027d018e11c6957043445c5a0b4abfaf28c89b131a90484b0ebd71dc2aed654c119a03a679c69b5c938d32cb4fd639c69f6d9fe30a72c3d7d3557f963fbd97abef22376dd219c334e7a43434e887ce546ecbad173c60991932227453a5f396ed77d9e334f743e3e3c5ff96dd7fde7cc131e1050cd575ec4ae1bc639f3a4b66489cd57de64d7fde29c7962c3e17abe72dbaedbc539f3a4373444f39533d975bf9c334f683c3c41be722276dda973e6499090d0ce573ec4aebbc539f364f7f3f324e72b5fb2eb6671ce3cc93de979d253f395bb60d78d3a6772b5254b78be722176dd2ee74c8e070444e42b0f62d7dd72cee4888a8a74bef2daae9be59cc9e97c7c64be7225bbeed3399393193142f395b760d7bd72cee4683c3c41be722076dda6732617242434f395f3ecba4be74c6eb6b363f395ffb0ebd6e74cce86c3e57ce53eecba49e74c2ed7d3d3f395f7b0eb1e9d33b9ded0d04c6ee72ba7edbacd73263793fbd9d59cc9fd5499ba71f8ed06f30f5f19a663a16c7f39b2ac9fa3a62d94f849f2f1e9c2ad52b19113cbbe1cee08fda1a9fbc84e3bc536263a75d957bb2c0c7b6cab42a73746935d56e9e3b0cb2a7318e62cd188c7e42e4bb4b136dbba764aea5252b72d0cbc5dd84eb36c16441cdfdf0237d599e7cc3bd9489e659aab726d2793e940a7a44ee763d2700628c17b1cd6130d48f46ce0b2614bf68044766791e2c8cc073ae07df9b44591c3ac853199433401381c5593a4d6e281df873bd1ebb592dcffd13abfd3c68f3fa23c2a8e9b8b662ef83bf0163fa32ed4cfc7ce9a8074f82ed82a55aa54a9922f1aeeef7e65133716d44e1f24dd4562a4d7f261631604ad95049f27086af9b0e18ac1c6c349b024d6f261430437b956f501a4658dc20a9b5a0b9f96878ffbdf8720eae3bb5f834ef376b28a23d00922f709b226c8b792a47900f6eb995d85d237265febd65ad781c42c7faa4e6e2970b5565c3e39a121a19d96886e43402cdbaab71f8c6c93cdbe60a9879e14e14c65fdacafd8f7bfb2f41436e67e01d2172dbe1f9fa8aafba5ba1a498fc3c727f40ffbfed53d57f17ca5695575f59025e1feecfba4699aa6d6e4c82349f347de1844c2c89c51e8fe0844ba489cb13716edfba45975efb2463bf59deadee8840da4a0222557dbeead9137f62cc6e67fe778832a73dfcf11a8cadc1107e314230ff6bdd7b478e45599fba328da9aa417b8ab37401990445059201336e6fe8d02a4b22fe935926eaacc58043ad189a447dec873b76669a58462df4f5f765055d57c40504b44f58608f5c6ddd7867d4d37fb5a9b339aa2ecae4464729966261e538d49b6ef978a4c31d38ee965c2317b63d0c8bba6901914b4f2a3792522225fdd53c962579499324d30c6be1fbe7c85e3accc03816ab66aa3816d5fa27d6970839d8636fb8243fbbee9d6b77d71b3c05870585e265789c85e1fad98395a82d029b8037f409ef942fbeec89707813ad8d9a9071d21a196c75b2911b1c058705c759f74b2c46e0cb8037723cf242a47ae912725c7b3ad529fb565cf2dcab4e9e52b5b22ba236e5c32f2989f699a263ad2dcc7dabea3917d7bae1287c4a0518f2691501e3e5a5e222a15995ca9c92635c1f635dd4d37bf37473557ddd10e91ab6e5129447f3f7eaa7bfb3ee975592321d8d0bea4d7a848b6693c4bc61ae9b5ef935ebe321f37ca3142adcd3c473f56e81c8b5d715484b64553d3cb27eb4650b494237abb3c47b5d1ce927d1fe419d1f6fd91eeb24ca21b73dfb57b6958506cdf916edf918c68934c21db4ef5b63bbb43579ad069892806ee78fb7e2595667225a27dbf44e4ab2bb645bd077a6557db0c72bbb77b9ce53f1e73df817cf62ec7729cc7b86ecf92f275bad7de12b64df1c62899ff28c11407b234eb0d156a0b864da75993b65696f8e4387e8945b4da16eae56154e467834e517b7cf1eb46e11ff70ba6b1f1398ea728fef7e497c9ffb1c7533cc9331dfffbf0c7cee78ebbc3475dec6f9a55c67eb5e55af1876a1004c1108845c422628e88c345e1b4ed5b11079d3e8c2ae32fde0063fb9b00e366cb23473f3a530e28ff7b9a52f9f971afd866b1ebcd075eca01e48fbf0289d6fb89688f24f7143f3ccdffc21fcfef730a3a5b46717c687eae3c0d48e0c690e37f2f9ef9c953acbdd1a9426d999e24ada9428f24a32f85e269fa29fe78e6ffce1ee3df1f9d3423aa6fe9ec815330a13526da2309cdf7e3f7c03d3eb43e0e9fd1d361e9f1cfe87d6f3e687e6889c660a2366e0cfe12fa3726143f3ba0b66a42347c12fdd2bcd353d71c7ef6007984df97e105c1af2d2fff3e0d88f2f8c2dbfa5cafebef81ab9ff4a31fcf97b7c627cf9a2006688dfff216f9fa4c617cd2a9c20ab7453e78f6287924a1313fa33c6a821ca025fecbb6463c5eb6257e6a74f6484253a2a9d1973d522334e500f3c3a7297924c94f3e8fd6157b033ff691940ab51582ef81568882e20f8b471cd2f735e0a1c6d532017ff5f33f208720be5d21db5e77b6def3a45f503726b21b114e76f8011168d9b5965c145812b4ab0943696f88d74eadabd4dd7880766a6d6e6a0387cf027c95562556b005b0bbfe0934b600feb8dab3ab6f4a42a7bf6d9490844e5556f6dd9c33c308978d0ac29e118437353e7aa841135580f0e007b62b64a783726a15b76c44155048500d601b91a0e126440ddbb4eb4d0857d6a960e97293c6fef7a98d79aabfd701fe7d104d6110ff3703f982766dfb2d3d3aa77246bd289991f6f73d8db35cd8607c556f4a64fbfb3e9e9219ecb4f664c76979f2d5a5610609579902f82807d8564dad00f6c82ed82a2e05f942e90a028fef51ce862dc52759e5fb5bd4cc6169ead79b757e80bb68c612b541688a46446dcfc96bae20a668c6cfd8a419c7a0f4d2be9a0eb02d1145dd18fc2a4ce2337522b7d9ea3628b4bd7c69298c2f7e6dddf1bcb41b53cbd9609408dbd8f73f1305b7b95c9bb4b5da33a5034dfd86d9a21544f7efd561176b52cb420853e893af4a9475546ad397edf71facb6565b6d4d6d1886f5becdf96a0d83b360b830d4885e30dc981a10a77b18056485b92cd3ddcc591c8dc456bdac9ced8561cc3bee1651a7c19200a220ee8c8dfcc05112c508748808aa91800456d0b0806e044a2c01c4111baa6881361b048da0c2061b047992d8cac3025c71379e1d9e209bb4ebed072058f1e5cefdd85d5fe5e2a6c314b52b7eec2cecc240addaaaaf2feae5555e413307d6a5ca7ac01553bd5ddc74de2f60134c6041c0c6ec50546ab5c14e4d188b704153e024ca7aafdd215fd89177f855a692e0fbc3e1f77df7fbf074e1d633ac61ad3587efd93df4cf21ca55f6f4f230aa9110ba5e286e42ec2063d79b12253f08b930c242344a01f98302192730f5e02405cb14e50fc8264e3918a1a024140307d47695ffdbb03125054478942841c1132470b0b57c86ed4114b1508af4a821d7c3cd62580111034011036a08042d688183469d70320451c2ec524868bd2b4e061d583c819321079c0c36b82054e082f05aac001764c7c2095c109c12163de08220099816a814ec5697390d19a2110d0040009315000030140c888442a1389224a1b0ea0e14800b799c4a724c1a0a4441100321086210630c0000106000304421a49421230a00eab9f68db2c06bc3e9748f5bcc3b0bb103a84b4efc31ef6e4238805fa43343048e6bce75d076e32b946928a73019a28c812174f884a1981a8101f8eb94048d6dec27a64b3fa198346a26c6404b02694494edcf23d64244624a358787b23f6714448c92324faf7f1f1d4b0b3c54736c96a09748e9ade02a74846c3de3cc62d3d7ad2eb8c223e9d050249bb885170373adb48b42df48177e104e5acbf025cdb1e255935cb79c07ae7f858b0d6ad99288ef87fc0b554718e84e10c3509200143c9eeae09b150e928fa1e7aca8bf7d89e288cee7c5c1495c3270b0fb6b9215cf60bd642bd8df90cf4fa9f06ab3347d3b532a3bfaca6d6fcd8ad6267d4843cb23a3defd684259ce65c1c04090edfb37457fbeeb9ca6ac355ee7729ccd4dc113e1fc094dd12c4bc840614ddc5c3112fba85bf6f08305cec32a5a2a158c2073d931dad59caaf82e3c163c263ed82005b19001132f745dbd142056d4308c4665538c261e5085864570a283d60f63fa27536ce0058fdb1e354556b0ef8fd2c34913506a1cb748c1f23ddba1cec70da206cbce52b054006248d04e9beb00ffe1e0d8a365f0513f29142a88ed681d564fa15d935be9aa960276c27b5b7346ecd611e1e3f14967974f2c5e8312773329695ba310dc9ca4c894a5094dbb2050ccf755b4fb3b47aaef1cd9fbbe25b1ff532215ecffa2f432d32f67be0e5ef0b7b20e1edc3a9255c0f711a301fd4136276ba8ade881abd1885c364bff27a708be762eac897aca65b0213490f022bfaf1473aec221034e30725037fc42e525e001d9fe8a8f153482d59063060dd41e50d3f19f41af8473507c71ab89a08480d360dadd03e0634b1fcdab71a9108016c2d9b4cc7b939f8080a180138d7e9906b8b9ca6aedc1c7c6f5488bf11e9422ceb4262689f295189ff05ed753d53ce3059730b6a4d5640f19c8a7110c15483a5e0c2683b6956bcf655b6bacd8aa31afa35e64cbaf29aff5a0b7eb7c1c6859d74b80294cb9308aaccdf43ff4302b40ff244e6441e710e7b8318e6b196bdba07012275ea524ad165148aad50e67f3f81b81e2ff5150443dfcecd025d7b0b0f936e1c955b60db4fe23f5eab95c98425273d2636f705aee9077361b6dcb7a139806c5eb9312e91e866e3879a25ff5e378a3eae78464cbdb291d09255b92fd6251dc06ad3e96d3359e7a1ed3100bff7022509ef1edad088969d1e389e35485dc547a8d7fd6637acc887a51f40d93f75699382a34dc9c687f14a678394d5b1757f1d8b7743e46c98bde0a4220ba056da00c1326d5acecc0b6d9b204d20a6bc0fafafdd6eaba0d9e3f6b59ae0bd1c1751549170af8aaf7b053df1b90c59cc317febb5ab40d0fd0b55004dfdb7a77b8852bb0f945a54142aa48b7d8cf463684888b8245f22e81450fd11003a01ef971a6997a35804ac5b1075a89dc1f42dc5dbb677e1b5660d07c3586ec211b9c26a131406d92f997c4e44de0f01ea48e4467f609b548f3fc6083b37cb493a09f2484bf3e5773dee34bdc247af7f7bdaabdf1384cbb072830dc4d75a363dc4067c112960fcb3afd00ea4a50eb46dde98918b7315423e800e237b00e2abb3fbe2a27421352bd72594a1115183bd2dc9126c53b4352020f378ffc878a2e58f2c6d7f7f964406da342d10c110ca247b5ea762c3f6f273a65f5ef66a6796e663517970140dbd0080f1730669aaf92d6dc0b05b9c61987232dbc482b590ce8cb0c0089afc31ca6bbc75cf0611e13670be6c3dc570fd20842881448423af427821235169d669bf15cba5f74907355053bde63ce07f4f09661772427f39b0d3f3396e64e267ad18b76e2a9b2ed36cfdb7ae7823fdaea98c2bad76a3eda9c3079a13fbed424af5554958a5e9080cd77eec61eb8cfc67f11bdbfad2b99d87eda913e1ca023b039148847efdd51b9b52b8fca31bbb0e2f1ef04f2b003a141e038bf443c924ff39d84fee2df6d49c1020f4844bcd5c13730dc148cd6518c1e80fa94618584b0f1f6621399889d068a3f399bb45a587bffbb9c6ed0923ca910e1626070ac4f122ca6dc51b1e1707bc408c4c13996284444265b84a1f4e7ec8ea0aa18e651ac5262d0efade1d26c263c6125a19ee827c3a86ae3d62b6cd6310d22e0bf4e04597922c438a840081e0d2516922e0568e38c14bc2848959347bef108e75bc900966ea228f07ad24cd46ea9c4ad82046506bd8abd0261471a0ce3e2826e0a3116eccdc5e458cf65a05c11a8edb8777904107f089ef760b8f8b19994891cb84b9f81246b1e420e74d1cb4d1e9ecd7b412024acffbb75ac6a323dc9707e20bceaa8c0f2512aed549e43885191359ceb732d7504315c41a0f753c0c70c1eee61901afc3647c5e54c1c357b03e18681ee6852d3dc21a06868df728b75e2d0e6d36e1227a0ac7bc2941ddd7dfb8d720440daa43905b052a2b17c91e18ffc7ab5dd098f2efc96a910fc0c7499aea599240c098a62694d8ec303359a859a0d40a5555434720f2051b109132ba8c41058fc0ba4dbad6e2527a29408e874817fe2d7b42644a277a55fb7967263e4c1d4e0703faad1c8c7613726e0719d20efaac7cf04889f50cf2738b1d52675e2366b5128e7cc7d66edda7f5f454f713241e99b3ee4c2210f032d67779a2b3005edc2a00b802425fd60c5c3d23dfca31f1880108bf8b877ac2f8190812c0649d207572a1ea7078ed1feb30efcf0f24a5c491312b46be3096903d7f463e001c9313ac4891ced527c77ffaa5245a9279e11023a669f05668bf11f8be5dd8cf324b625863ccfe472f294785500e35a29d6449fd73406152ee7ccd59c74fe44bb4d948079f14580158aa9143693010ba3c252d2fa205b8a5addea509b9ec74e48a2a8b365b078c2c789a2a8d568407e00047025039ce6df45695c673651ee108e3ea6d6a6de8440c615611631a9ff347c747e75d4747e8407f9d11352fe482cb754df82dcd2258167f2422cbea2e05f75cc3c87062cc10758bb800112e4a126e1b2d30f5893beafaadc5989ffc2e55a1afb11f07dcc8bdb44055f6122af4f15bc46fd7b99e0f232f3862ada9197ed2a42ef7b6c28c7447d43e94fbfd3fa445b8728b2146f0607b6cf6d3793d2fedb1b23fd4852bbeee10d061fac423da07296dee50b438dd8a088e585d9a1c892fda2717e73a3da03aa0d8df6e3926db1bed7169fb88f0d8a2c34c5a94f64d18a0a764beca1eb040cfa5b95631f830a12c1f96de4ae25c13ce7de512fba9dce6b3748ffd85ae225c8648e531574b45cd24335464a403827cd7c092027516d908e09d890d5127a8e7a09d40a14dc89e4122cb86ed548ca6eb36cacd9d9b611e08513fee0e0700a42e0b48529059f0bf7e1c010686e6310885b728510e4038dedff8952a0da23fbe823f5a645505c877e06d3a8b1d09e3b7445423082c33c8cf7972060e33032b4604450f44cef06d32ef678b8e7ee8eaffea84cd3a3fd18d7cbbe54f7ba63ff3901cfa42bb137e7d485d1eec03cd01899b184fc518c0442f6d20d17627d00b4bd669ae492754f3bd32bd33a6d8191ef498f45adfb8ddaf37f4f89739fcf6b547603fcf1dc3c7b8c33f0410ecbe34e8238e5f0534ce097f5d5e2819dfb0e6d1eaf5183ab51b6ab5e697721b3edc8d6418dc38ea66f6554762d3dfcf3e82e005c7f5cffe00900dfb420172f40bde5aa5b8070e4584b4891c6b84267290c7f4803747f577197c9f71d0938615b15c2ffe1478902f922e53679ca00c2ec8a78449a3b943742179f732a6c886c7752b7b9e7606b1ca5779cc45eeed673b81ed4ab0c6284232d8ad029fd81deff2b122acfeda94cd9c841157fdf28e76d9afe13366e0aac6a2e200297e69e5d660c0ff4787fcb422c3b635d80a4222a2c69a26a455577442afc77046d02df7a36b6d027b494f3c027e19f71b13bb392a4745f65712ab9c4a99715c691550706b2287d0418ee4bacfba8e3edaa26a42bbcb722cc8441d5184211fd8812bc74ad79d3afd49be3c5b8599c703de57ce1de1beabb7e59669c3345eaa44ef7af8773bddf82192816d46f46c517d01fbad82e892f38a0c63bf897b730d7fbe8ea2d186c6866a93441f3ccacff23875f04df9bfbb60e60ae2a012b6e0226c54e8dc1493bf5933440ea5f7d7aec035af4a1a187c519397bb5861e339249598a12bc31a6efae0160ae26494476c0e8cf73012bc774cbc25776285a5af4ec691ab5755bb8457dc7570be4a7d79a64a29746407fea8955f89b6bcc0656c73ac593845a7d9de423f6ea119b5992603377fb268da1f996bec90d0a52eff3e8c97d86b8a1f96c17f9ea650c6c6f428d4671b1429beeb4b4cb9e5213eb0cb15bdbae0597b94bce8898c34084b14bbea1c19ec4ee3425863da000c769c983ad43210192ab0ed00622307bc2a965afb19ea0244aa422092d6e40399bd46b275a5fd6f919b9f1a4e8520a53a619b9aa055933bc0618afd12ebe548fc0b6789e99bcfebe5b7ed0f33b62bfd4cf5c94cf3e8147f2c9f77b4b275ab6529c22aecd2847f8d68c5df6e0c7331ae601d558134e0b9f446d4d6cce6ae8a2fcee192d4a6182cd2859a30de4d285bb26cd2f3ea701e3008adeddc0a8c34ff5032f01f2ba8a23f50a06e8d6ff1985b6e2a517b620c92be7d493880cdd30d2bc8bc7a5dd5f8f5a731a6240bfb2150f72c99eb418141763c62eb7f6893d5f3e7e662672312edd7f032980dff186f6cb09f5d98d41f884e5ff39e0487c1a239b1106302b4af6f2756c04651f35aab10fbda24fe0032a099bb29e9b186257067e8f250ef623df35c6bca7dc58704df1ac78c0ef1c0e0a17f55e93d9d1edffff3b377823b16b2f188c37c4b1401d88d9bf4e4611ad0b3c2e539299ec00c9ea483b32a06b36768957dbdb72a66bae33e1dcfc00ae1cfc8d2bd329021f764c9161eeb513bb9eec5d9652993763423ee8c11612d5d06e29b53a200c7c6b6a0bca18305a1d26d66c2c2a16b2e731f6f04aeeb66f00c5fc3f03bb52cf5195b80ff7b72ea9cbe47b219234881361a942c413a83a7bf3b293c170e866ce3dafd36d378298b19d67a4e3ee0eab1b97c776bc425d4772bbfb323c3a7a931e83b4b49dc1017468e4064c561a5b3ddc6c1d9f34aeae4737fd7597152bdef974ee82827239887123559df4d58e0cae370eedb10a8e56c0864d2430642f57497b78281984d18af6c42adae7ad49a2fb56b1372c1d4ec8e83ab357d693417a6389ac278c4ac8ec1fe4d99dcfc3ccf89d61856f9f7e3a2f2d3a9c7e6a44e894a94619b4f316e74c06569446ee8d5180cbfe5cd90d4563c86ab4ac5c26c1f937f41088b152341342ba74b4a9bb834858d32c73538ca67d16a879dde58c5e83db5d04670e9a0e9c1aadeecfe76944cb798b9aac77d712d2e3b2ae8b97b98a3116d485fcad388b78a75d4ac1a9262a2c9bda525b264e84c9a58765686c5ca6d302138f75e017aa18949ec416ab93f6fa34820ca0615f02fab8dd4181154afb2d71c44c91dee42a1db98276559fb914c27eeb1ece042e850ea6f277eef4024488860d77ece00189cca6e0fb090f12325287192534e1d0199458017d0b5652ad2a2e03b11b93f961e2e60974fdd57e04489a4b5d1ff8d8aebdc194d3f6947f21a20f031e4b7f4000d444787ddc6d0499f994a39a550946b351dfbd9668976311abb4e3adfb0dde9c90a1cff593ed134b721b04ba672e0d065927563b548fe3f904162e2c6867eae434c65894090f007ef7a9a2f1d93a86165658d8edd53ad220ec77b07485c12b5a76ef6fd31b82592b862519c56110430231d27cba3a2dd34a783b3c9162f970a2642adf764fc276f6c1d2de8696f15bd34333eb3e9d9434b157b70c5dae56285ff0794e3d56b72cbb803cbf422a7052c19d7f1d902e78fb6689d2badaa2721e4e09a407007a1f21c4d463a042302ad99e77c608a5b34d68577050060429a81d620940a9be5bc57a02ac9c56e60a0192a96a4421a9ae79b7e877046570d6277603098279585e454050283d5763d0e82c3d62ad0594dc1ea66351834d15005dee202fdf5f1cd26466f7aae9ac07615cc8219509c7d312d0e845559663412579b1d3a2a9edbb30f401e3f55b19b74c6d1e7d2eff0821b251b470d5ab7454b8fe5a317c5a8b1835e2e4b8a2dac53742786db9b30f99edcfa6e475f1c534d2b34372d51d98f3db39cfe932410f3a010e11c756c16dc17b9130550676c235779ba8335589cee96bb206d090105007141395b077764d96ffb68364f67a7e0b29cc59a95ec7c797bf4a15ed7966aab741b60845dfaaa12c89c59ed6332e39d8b5033466e3159b5d62555405d59b781f78e6f39aac7e67031fd47a62f3708992623d5115e6fceee7cef8b126576ccb3250237c40db8fc1a3a3e3c89c83b28ace3f5c50ba2d30dccbcfc0f65c355de4000cd2cb56c9799ba9168e416d5f5c2e9e792f6c2120c64ba5872f3d3c3bd67f0587bcaad2f6cf8a3536f7561ff268c9a9f466f02f7b8d39af1561746eae041370a2152e8bd1111b06acb87bc15c18f6fca983438f97b0dfdd22061ee0e6a6e65fcdde29112728c5e61aa31f9a6b439e5cf2349c001c2615ba7b6240b6a03a4c9e31b003fddeb9d1b6caf44be5023aaacf76444b2eebb93e5df7c01935ed09b080941cfa311e82fb162ac487454e330d88de6f1476fe469b892b2cc92c2f147448e0e7ff1bd8c39539d6ac15d4c992b7c1ac7f877df6a32e008b0a8d70cd292e1648ca0470b1c543ff865e2fc927e4b82c4bf97003740c2084bdee1cff464d4c7790212553942cd17e066acd3628587f2d8dff65872482f5a38663e565dd76aaf26337a5d64bb081968ee8c1c912b8a41aba4368c620108dc32810736b5bd9b0c76352c4dbe85458a039d702ac53d8ed6f6f40aa3a6bb38093c8770c9696c197f4c19127d27b1dcdfdb71eb496c0a101987264dec4cb81e56972f8ba9e1adbdc39629b72566172e0ae1562fa50507376ad9c4f7c4fa61aa0bec530a7c75e7bc4f4f4289833662619866225e5e75d0f6a5735cb950878148338ee5cb3ca036c72f6fb4db8cbd7c35af72c72081ac47717985c48e58c1a471eae439c935c48e3fa28f745a39166ed5d79ca1cf73b6588791437b37f65474ecc6ea83649a5f6416a6d86205f1f455d43c346e68bb651e448db3b3869f697bab3604c0b9d5807bddf6ada5b2bc1746228f4f50beb9ee199f630c7592a7c13916741092fb381ec0be1e85bb1c9638a2063bde2b68bc7b92172a6991030889f5ebdc4302a99913a0b762139d520da40c4851f967afce5f343e185a3c57135c6c54025560f6f4733c3cbfa84c4259ed564c0db26bb5626acee48777704e8a6bf503b26c053b877155e7bdd0be550608a43f5ba4df156c497d67536c296c8f7c4dd5c025f70d34b82033e81a9da860b624a7270794cc346ae2c13829783ce343073469a1aedfc56937498f0904d8b2ecf7253c4ce09700abff2769c005c4ece09d1885b7542bee6c29d14477cc653f79d0bf594fa72179f960d5ce02744d3b27b6bd156f5611592b6c8c3f1504993a6dbbcf34dbaae9a700e4f2b080c1ee81d5baf2463df6fd255c0b8587e03fb40dbd03e8ebfd51c18f685b754541a4248cf76fec2653b49d217d71d5a8880257521b8be1ad9ec4457b22fad0bc6aea0e4d4c7c468b6478adfaaf17806ebe090c7307a8b849e907bd6d05d309fd6dbdaf16e20bdfc1cbb454cd20df8eff84c5b5b7004795254881eea3544d756c475bfe912f036b3393ebded38e0335d3b404bf2aa5de1723021448af6982ee0b36cc36037ee10d87a25f2c4721cfaa2df351e9bfab7da315d3185949bee1a2fcc7b114dd5f096364d5b96b53c40e24f5b7aa143f028bf1834985a4afbb215329fa5830255c397a10eb3567088d0c8fd23d2ed34397eabeac809c33d427165602055879cc24db1562401e90e6074f471282a21ffc0816ce647ab5d2bccf40d002f27e419b16822a4360725b8488a1184a4c8b0676ba0eaf0d0e0796167e08192ae91a27ba126a1298c141f2045962133b048701e338461651d170e25311dd34f1e3735ff40f0fdef54f566728bed12d2cb65c00862567e67be97b199dca874b1714fd2f70dfba64c2c6607f2d0024d36622fcac8d4d643e0dda23227d3af0c3a9059eb5069c55dc22df3c1c60599434129005ac09e74001c4048ca64f0bd2f6ece225daa0184f8a579a54395aac433d5cbc28969c7b9c44ef0492e8131b203138e2f4895015a400de9d419735e79a936622707651ad90f93efd8973bf6d2e7551413abc7c24870f48736ba9927a776cac9c95285276c8f13415817ea6fdc077131607e2241cee46443920901d9191056e9eaf16c80270305a4d22953f26305efc6367d43aaa5a0db007b999ce7cd445be2c0b35cf38b6d01c889cd8cb903ffa183ee8d440c4bc2289578ed2870b33b4af049f4301e3b62b6ea4c81cb226e3d19406026d1040528c7e602d062c0553973d20d4d27f25ede1c45b31d0c438532f8463474516afb9c171db0300ef02c3e6e64e43f7e2ea96980f564e7e23ea44075307535fb88997b17eef10734667e04aa84afd1eb227595da3ff7db8e39d72b796eab634516af8e0165a956a5baa8aa6315553409aa2a53ab525d54d5b18a2a9a04aafc6d06a0ba055555a855a926aafa4855958d82aa2ad4aa5413557da4aaca464155156a55aac9519542bf2bca5fd4a27191d3a186885703dca7a7e3d8445192430b3ba4476a077b0e3e8dd05a82dd7d89117fb3908d71a8b54c848494e15934c3e090764288313536875582c0e60d4e54a28177890f5a2622fe8f377da76af3a3e340000cddec64622f2e0b564e2fdecba58a1728639b9bc90a8515a412170e31a9d7f23244261458a3ce4450f240928e65083124e19084886b9e77dc41f6d608341f08210b2dcbd121ef320e004a881ccf3ee638a528ab7320eb5dc8ac810c91f4a784f71e57eb38a94b8734b562027339016276589d0caafbefbfbea33faaa93825f423f033fce93131f02f36e3025e51f32ec0bd3767e10667a43935bb2c09c76bc6f42737e2c6eef80d7e5a7de65d4500f103ee25473dad4b6ab87603db8507d33d1b72c8d070124e56fecd47482485d5d5a2987ca091aac64c404f08f88f4e9aac1786f9ce3b67fec4e170d60323877c56a4ca187c044afa4b04b43b343f5bf363b21f655e50d1d4c05b1754b9447be16d7883b1362de0d7e5383291ec350758b38a4c2fcf7a1f82391186b95b18c2d2d7b2782def85a889f240a66be4434ab5178482d4880812e9be2384dd02e6bd9983699ca0b68082fcade0e30bc05cf881b0de24bc87b21731cd35f3cc389e7374ac3e32d5179297c8045cb912179527b3d09523acd7a8acd621a889a66b3432b194b89b7c3450e0c63fe4912745d20ea965f3ecb4988ac3def8a50c8fad7782647dbd0cd378c8b49132748d292388edb72403b6fc5ea7a6c0c3b718bff6edfc1dd9659375034d78bedd7d99689e176fadde72581f585f7cd853e80c9746090f9df7ca9d6a9477c44b258ee51bd26470d90f6ce87faa0ce75336e8015e06060ae72ca665e742c7201e89949f73a7dd1182647569d79965f06ac1e0befa2f9c064e1732dd41bbd29802979bbac1700ba64fe22ce0359ce5ae1a5f81cbad9b812f4de499b4bca006a8716870d8c8d17e2c2af6c78f9a9d4511893e2010942c354c6808802b044ea77de62cb31fca768fd3ff223106caa1699b649d0d16ccdf010429f7f2cdf8e857c3dfde177db138d8344d7e3cb0f436fd4c6a0461406476ee0559e4204c12ec4b7558237b6264cfc2865ae55862001f2d48f15a218ae04a083ceaadc6fa0a62b91a76fb80e901b7d0f6ad62fa99f280819e9ddb0327f55004018285a7645af3d06d29e3e1b02de877c79fc5b37812337a4765e82d5b7d9f1945ae8a6f3204142c34fca290d8082ca490802742b9e50f4c00ec7829e601b60f5302dba4b78a4383682ef30c47f32398dee1ada73bc84c9f40c1e9124b3d2fad8f8d2c83860fc4363eed56a613b4e0eefb5fb75588a34197ae695e0876302d0159d95e454478b0922d1324fef9fab807d52e4d29961907239b31535d0299844dd6a4ab6f86b5639175efd828eec418fb01c1e958f7a58e8d39f09f373765c684f2e343862e869069984005f2b1633166f3fdb62bae1f22f1b6fba49c04c86cd38c2ed2589932cb3fbaf79443f2ef19663ba9f6652bd4b0219a03565e53899014a409cb9f7110727f244dd0e7f4eb9b282e7d46f31814121013d69b79d221e7c1054463471810d82418075c5cbd53dc60f8c7f3a8f851b5adc84686418ac6a56889f8681fd0e701109d2467cc10d9c5c9c26f68aa075b7c7a07442359ff60c8982758cfed1a18f705916323a53a492b8c51a0829049beb43e5a03dfddc4cd4a85db3bc6f6ff5a61de71e9437fc738aad70a07888c33248902b0b1f6d5ba5cc40526df5d84d62a09e2d6e9a451c5cb8269df48084627950057d983fb36b23994a06521a60c56256ab31418c31ead0a1d2c08d56bd4a86be85105a94fba6d26a4e361ee13b251782b445ce605b8070a03e7ec3bf70cac320f0b4c78a126c2136954253d892198e173ff051d760baaaa1d9cb4407783a31c6694a2af2bf34f01dd44997ac7da5c0c8ab55a550acbe9084c6ccd2c8f91d19526621f7d0dfb4cecb61b75b33b498ef6fa04a70469ad05948886206b64778f8a1471203a8387245a33b722259414930a7e84c4175b0b458d8e1c532cd5f7dfb292a7d1a16eb37a00f3e0b40e206979e6c96e1e7c070e1eba44d9278d90c2d935e02f1ff90eb60b1e1e4cd0f94c3e862b8f2b36cd115fae86d5d55ea6994c8eb54f4d7a76b35bb3399eb2617c8d2f3579ec434bd23272438b68cfd01fbb73bb5c69be4fa4778d99aa7f018040260d3d487f65d3b55922e111fd49e335a294554186e611b830d1e26a3cd7874cd9f4d438bf9937c6e0748db492c18831cfa8ace7e4ef6235e3e168c7101262cf805f989615e72ff8f7078206f8017f947b71000588ad01508bd7c4b439969030fd14a157cc62178706d733226208484220a0a4868480808a0777cf12a7c84684113da0182326e5ab1c5d48b7127b792f485714471ccc6f8c200459e1aba5036af46086a3a730665c2ee7b6da5c161fc27f67c27e0b30a4258a18a75d30d9c40ddf9fb11579d8b44225b303db919eb246e700d14a00d9f6f1f7f9bb7c1487b9f355b2a32096655ef5765a2ce979ad2ccc1e7beb3cc80250624523d5683dbd35d7affdc5b8a8767cbc224880c6bfdbc0d6ad65c7211f40b3d8d4b2d889f73ab6b7039d688d792102614246bf71641dca17240fb4cfe23e505bf52d14166883445667c72214ad6e622087743dce51012c6b2c494b1f85281252282c088b2323657fb8de47800018f06a3a73b64f4b7e8dfa5628cef9b1670c4d80fce22aab0c45b7b97cdd927d363532667ea876af3f873c77f4bf3998d1deddde25639b81b1faf38d00a25008c6bce02a0cfc110d4b28b19819b557a9e1a9fec28124e492b183d2b6af52b7a7e281418c70cb8f90d468fddf1964195ed5dfe4b110c7dbff29d8846c687cd7401c338769026a761daa6e042e108722141dc5d76c7d5672c8ede628ccba6f6e6e49d6de1bedac0258b1e2aec2ffaee04c530bdb434a0596f7250ee9b15c5f98f32c2149a341879dbe5a485c2ced864a06eb96fd094b04b5a698c8132df14e8ef1d9ad008c6cd11fb29df28015c7a903eefb66a662c5e5292c7ba57f486ec05291bad5cd06df3dc08458664310102df1f03cac014e2c0ae765001ee7872cf1aa2c659d9064aa3a90f5cc127bc7ef95e03568b3520f115645c82747e319a351ec024c7957094e0faf5262dd4a4923460bca58636ccb80d5f573cc018b58d68a40422c7fb5bdf6a5573fbdb9aa05a5db7974792fac3e51a22f5f65db2e4419180eafb62c3b47081dbe7f39f84c5a22866b796fa86e3a83e805a661b040f8445631fdc7fa73a382deb620fcf94027ecc33c90c7ebca7c46165bd95a1cb59526d64fc871e9b2efcfb79c1ee769bb76d166560b2ba61643d0f1dd2757f08b48853e33b39751c436a9135c643f09ba0f4d1cab221a8c8c644f03217346d587aa9a9747ee821e54a0951f43364c20fe44500d8d1898128eb785d8120cc204058bfd3b093bc7ed217c645b033b43bb1b5e9b7a79e779247097d063bc89529c7d774c5dc303371a8547b814ddf9adce10241cbd8555f656486e6099ac93153ad1e76ee0f266e689f19c49633740df333ee576126f61cd6b0060051030d77472cb3f81c0e080cc55d49dac83bc3ce122a79e92710405528c079dcb4c48b7e1deb499f58bc3431d47fafcc85c5beb25347bcad2fc7245d6904930b23fe2613ec48485b553e4a3a98ca59679a9d03de8edc7ee301de40a4777a77550abd79d6ba7e9512fbcc30c1d5ff590bc2a202d10008d0225aee01fddfb6887f66334ad869378386cbc310da23eec9c9976b0fcd33983cc54a7dcd66f85a1882202be817cce4923d11176fca70be1875e2b3661036fb9b0f5d32654e309c5e965dfee79956f203c7fca8c1efa3a8696dfb7ae726abaefc56eb82da0f44bf141909860d4ff50b193719ac902cba70d076d3cd6070e7d85e658395c5ad76b2ea62b76cbfc65d250cc55dc2faddcbee57a9714dad86dab721baded938911bcb35b553e2eb3c159ee929c02d2c5ae81015c76afa7974cb4f180ab2ad6172cc8be1259d0b75db3abaa3543b1a9deced1434a8b9cf2ad5a0f80430b96acaada93eb900d783ad82051861a989286efa3a1cbc43ccca17fd6dcca5657d76161cdb3f01b0ec207b03a8f84340a50779acf17d0d120f63b9b23351971f9bb8a2ae232e8fbdfce158cf47c34a7c3fc1fa8cd24c888d2993eb3f8b83e1d6cd6f10b4e89f8e8d8a91ea134e6607fd77449adc353e4c0f891cbbeb1ba0367ab5f670c65fae895e2097fa50e95497c8469a2ae159198d15a3fd23e196e0e41bc728aaf7ef91d70a0bde21f4700fb7d1c394bea9530850bdf81564337e300072fbd8ebd77357ab5753e76b50c61479616648491a7fbd7b3624a84aace6bec620d547bf4da9fe3195c7c4d8443670362f4a4bbfd38f118d5e7af17cff3dc7e9c74306d4e55f806ba4ca5c1d5aa22e30ddda42d5b68564544a7b086b53754d5226ea62a7657dddf38d92ef3aaab9d7b335d7adb54dd1215c6312962a4538f9b506b6a752f1e46c0846734bf53ad27cb85e83ca57f2e08c439e3806d19017e5c67ec3e1752fa8d8c684a962f67f2d163e0ad10f16c36bd32414cf9afa49a36a2e5efadf62f89d53e98c0d1a583c61205278e6c177068ae96f9c7b1fbac74b327b02fe30d2c08890df0e6be7c4bb802bd830b517b9e1e8d3a8cfaf05bda32f29b92824ac3b6ef06c9359a8392fe5e166e3e0e49008f2e491732d726eeb84c67393c2a17ff281245894089a7d65776968efd6c28420040cc1efd285049b3ba27f43ecebe101f6db62045543012067bf4576f8a917c9d8944a105b52fcc4345665a641de5de9289872b1e062f08b1f7ba4081999a94b1978959dbf56009bf33407e628f229301cec36c2956f447b3cdb1d845b542b3fc4b5532b5e4882594c9b8fbe4db20810ffaf5f844b4fae654e47dca4c9a06a20190715132acea5c273e8cc7f26d200ce93c193c54c73b712878e5034d06a72fbca18df14f8a7185364f2443435632d59400908b0defa70fb6dca9d72c031310c998a055d86a627b28c4b06a484f3f1d9c99cb2f28cb1092f1bcc39fd1442069914d62e662716f0a1dd348f322464573f35dc714dac6c6455fd2ab01394e3b249a972f0a82946c82bc64a178ea0a068401ea604c66de8312ea6b2719b9bdacecd05945179c69563b9176457cd30f13dd245064adff0d4edc13cf2015f026d6e9d5399cce026f1454ad00891fb011fb41cf3c470e66f954e22ff3575bff32852e90c173a7e2bda2ec66c5a0a3480e7fa5f08a81c85f8c0917ab5959fd88b83d2862987df2e22a0a6108fa9b9fed584375a79a02c123f092a5e49f193c98e5e95aa93bc2a565d39167f86041c102ec41db41189253695331c4346acd3aa4f14332ba70ce48b673282ac3f658bec957935b627fa3f70c5e0afb0a1bb5aa4cb562f54ed67a0ce600975d8af5670e9349857cde7fece8a46e464e5b39b1f0673b14919dc78fc41c786d28f207dd431d98c69ed86e1843bbda3e138a4664b22ecfa7ec683e2b0ed1159314249716e791a6c03cc85622c58a994767828047c91933d6cf78a7045250c430bd96ae7ee06b14dc04e1c1eccfe1a988ac4586dcdece400c70d47b8aae5cacf720b5e147ea73f3151eee2d5725f7270055cee4ac9b6fad41d1a2874c1b16481bd9bb570aaef80da0c5d28c47ae60b818d010e809361d39599dcdba8af1be044bab05b84a6f3b5ace20ee259400e340a261d196c5182ceee8f7988101e9ad85ce35ae99aa06f3425138e70624484aa484c988426d0f7057213c68e5409287db98ec029f5afd7ebee57030b893a2ca90b3c89692b3e78f23ab3d950f648efd0f94c8545a7764b8f819b3a8c5a106d35f9b48155f67c6c28f9dc06420e1b17c721ad3427c94b62a2c32ea4c083d5d5f60dcbd241642207fd764f87ed1c48aba223223201cad1a3756a63cb82a72bccf7f102ce507dc1321d39dd40ab01386c560955c7346842cdda4620550b9e0d18c72da8b1588009421fa646203e0b79eb8d8e89722de69cbf490b0c9a469c8f18663eb99365a32fbc0e4fa08da36bab1325164c83e099dd571d6448586ecf9628bd2377a3842f1731d599b29fbc269530e167b8b43469f1da1c6372d13a3ecd48c3ed8eb363e240afc081abed358a68726561229d06091f21fe12261669f1bebb9910018366e96126911e36b69ed1a6990840a161ea95c4cf6585c59d21a749897cd12cbbb87c7955ca932add44ef8e29a30251fe3272a060620262a513aac91df056741db64e28c789cf66c44456fa1dc6d5645a3b41883c38954fee3ae64ee93f410f8bf60e0d52c17d06363719181905b21f6a8fa8b6fe5420c0632f11b0732917f4515e35240c60ee4529220d2a7a022edc6aaaca4a00b8325974bc91f87dedaeed2f885c14594208868dc1b98a15fbca51599a6e027fd55e8c6e0c7c48d159ece6effb1246b4dd5a7f4add09b611ceb4d9cd3ffcfcc5b292fd40581564b49c46f301c88b49fa07b206c49484c3297c6d8324f2c920ad3e211be57de078d8217783ff5fd4349563475ffe8be42b72e384a2e26bcb7e5e9763895a01e5b24e6a01ddeeaf55355388fb839a96e88fbf5b0b71fdd1ced1be32094db9bef803e51418b946a31f006f8f2160c36a6dd76e53535fa62e9e0c850750f341f225ffcd3ee31e6aa0142b63d9ef169f27209d706817abd12ab3c6b06af8bb422f542c5bc73d564285f3a8a84fddd9381907908518687b0c582a39a23a90293fddd1412792da5c74987d8113ad331e7278b77f1e71722056f47cb151b1cb03f2bc1ffdcfee668b5c5917849a86d8ae4075f689989afb2a771f3b0fb44a9a34c18843837fc55dcca2090c9e82050bb1efeb2757d69ce4a9cb8d874a43e20556081b2786c8ba42ee246e3d07e3a3fba735f869e31813da6455a2203c554a0a915c398247d71d753ebb56e48dd888b41494e1925d3abda665f0f68c1b4400ce76d47ccaf5a9fca7004e21a2ccf2022db1a56727cafe4987d6f99442a0d764134e1ee4692a693a1fe852a0c4911a3191e20f95c381439653193ed1415634e4aac2ec6dccc82d144bc98b944dbdf129b86ee626fd7284a4d911fa44f74bfff302f12a32a071cde71bd9e554a23a738fcb6b5192c940f38b03926516999bed378082efaec11ed68a656442d05cf99065bf70818da5bb625cb140f589014d6197399630f7a5ed9b2aeae983c72c40b82294b3778fc94e20c5efa4a49146d1286e3316f13c33f5df1ef127f592f8158c15852fbbf982069bffbd48c1687a27713e0a270c34074683dc00b58771f1f4a5ac50d0725dd0bebd4a75739af7daaf92c148b159d8dcce0a97356477e7cbb9783958413e344e307da50cfda85fd72e6f4fd124211edb835236621a563a91419c159daf7644cf6ca87de0bae9b1bda003f829d237161132e5ccdf883db3a481b28292fdfe17a3564c2857b3a5c6ef4036c6c8ba04e6395a4e4961fe74a48200fe9aaeb9ba7d74f12a1aff9027392785bb70d574afc3699ccdca586fd1c613b72ad9b5c9517703847b52749be5d409ea6443978a7c409392abb98d496a5cb49f99b1d23a56172bb84b5ea5f98951c6d3ea626ac76936005f6d5577900b4b958c7e6a3d314974b066e1881294d52ef86b56d06f1027738fc8655c932dd5fedf0bf07b6010d1cc81f8c50026421f2056baa35b816699bfc338dee081ba71f029614254d3943ea3bc92c767efde40744fbc8fa7f320d15a50c26c98401031885e92fcac26ba52eb4a06b452048bf1c60a5d01fb041a5aa46da135614c75613e71abff4fd8d8e708d378edab9183129a35e860000992f9355a6f953e947c2416804e5446d74abb502889d05b93f070ee7df5839d4e20f6d8f0ad9fd7bb010e19d00d8d4b1a49149c7b6d376c07c079eb0a50d4c1c75dcc61be7e1a35b86b262254daf2debd6c3747f81295d82459d0a7271c7d8cb8a6d044f77581b530374e52956a3aaa97d5ce39ee66530ab39275ef7843b54fb171aed6e299a3b83b9b077ce52078c1fc22697a2e69ed8bffd833f0a8bd65bea0623378e8da62ced691e8470e4267ba48c9ac771acca8338ceab49025f0334dcd019bae2cea12af686df1ecc2065404070be2a66a5f701b057899bf202d4522037e2cb1fe1904c5286c46dff2656b7e6f6a1b2440e1a6de3d1772a8155caa4d4f31c8ed066038890f78506823e9318d3559c1781ed33d038633db214f90f12d11df2ce107ec5be99e11ae94d5ee7c5d876065cb9ea80feb9bb33271cabd81a72bd645db8b69995198a538f7873271f91c48914c47bbfa4d1e46a98c0600eecc60a889e1cd79ff31582ddcb703ca354a17881fbaa222c1ffa305a394ba92e77174d9c3d74b70d977fa677b90e6d0effacc064a0312a76384d1f6e7cea3fb969ec41a1ba270d626d903b4590dcf1a3baee89364862abe12d4123405ed0f869edfebdc28deb1a7043686d965a1c50b1122098cef939ea4e967da8f90a43ac8d257aa62fe15d6317d0d30fca43c797ba3916fdeb83831e0b0b0e381094b7610c50675817d6c3721ed9a4f5803554534e28b12e786630a204424e275bff76939678f3dadd5cfb379b2e4b9c2bbb2a3657fea4e7797f152e89aa6f6abe88706a7ecbf916a47be314f68e537fd5e0d4f018883dcaf96c2bf6ae7b7692259ed99fd80f67b8efe875a414f4d2377a0321925e3e984d8dd25e0e4f4324817f5d8480ea8c50299a0f7a5900823a08ca52a141bf682c1d135a2c00c8940c8151379aa0d4811ed6d1cc4804056f2a12af900d3448e5a209784736a0035720a696742bf4306d331a41c815c62d45eac258d4a7836430109b5f5ca43427473f50cae14c4327387c8cc0101538d75d4e400a894cf77fd0830510a943a29c4a1af445e35218a161094866c9084c75d1004a0f746189ca4c225078d29178874c2041281f4d8637b20212b80462b54847a10b539ba211e25c336e515c378ca36e3a240681d8f9e542aa1939fb815606470a7ac1e1cf74152f9c7169d6f54277e03e1ff5a00c44f59695bf42935edd70ca66b45e049e699962bbee9a51e987be2c579b4e8c3aeff5529e9631280ecbae96f3aaec4147ee4cacadefd2e86df2e6358af8eb9cdb8bdded31d67f8ffc0018eb3fde4b377fcebf21cbcc692cab9ac0e27ee50bb267467c95113e834183956518b1061a7c6516b470cd1c102555eba926172a396663339a0ae13ee15cb189e710e201238c523022025540d7b849349246fcd485e318587108561edc075e7d9fd8b5d6c0ddb935d051e2c99cd569fdb22c2cb53a6d53c5fd4d1c0a2f34a0dd7d27482fef5e98296d572306bca001ae0dd7476db4f0f178c1b2cd7f139b818b2543aa8fa86b344272633da295ba6e747147538d06cee58a63a3bde4326629e7a3e7f882b262294bdb5dadb6aefc0321a4c74213d5a86d5f324a74a2dca128b0cd45a39826856b2cad6b42c3a74bcc2facb427ba220693bcde97cb2da03a065105a7d712d7376217e9a7698a6dccb6a63c1d2655632046b62913c2e34eef9917d11ad6760b2facb0e51b97a6da129e152c2b54a3c8ba5a3abc17e8481726f28449438fb1f74b67d6a44cd1c5b0386be02d3e98ffb25601f66babe7c3b294d0a3e117541240547a5dee194b266ae11f08a35e3b2a14af162379a6a7b2a317530fc244fb9cd52578add330411e98a28ef69b3bf95f2068120e0f2a55a3a274fd9b161aca5c8af411fd90cf228e4d859ad2732dd4e6ffcdb7fa6d02338e4403502bd2bc98573200eec896f90a118a91546ffe9522567bca99cccbfe93446bb00810f8bc6db274b9f325253765ff81cccdfc4aea66e5867fbd8d7847fc4c1f53502e08c80b33ea4e2f8603cedad05951aa3147b823cb1ba81fc126444ad1e892ad740afdef4254c5e065dd0cbac24ed74ca679878a98522e69c437f96cc74a6104daedc66b6765cb5d6d2a632cf0a646114cf7cd7c58301ab6d26aca3e20d1420e5c26d872e129c295ce8f007248f40fbe2df08ba268e46024d0ef6e87c4e751766643233e79824fbea6ec0ddde227ace5bce287c816be68da6163d7bc0e5129c826c7d5643e74543a5c4d0233231c38c6518a219df0886fa22c8b74c79263177dfaff3e719d35d9721f4e8edaced866f5497a80ea350040aa0422f922804a7224c73e90b9f3d4868a3902cbf27593325357f087c45a31d8073ebb262c45c873b60928a9c34cc75bf4eea2ff6743c477f4c96b23ab10b3b8735338f0a99a83c093fb55f27badd007e37413ddd7764243f91d4df918fbea335054c5e17ff7537ee97bcbf00d45353298f8ce6c6335e817f76090c0cc34edeb554494124b9e98b07fdd4d63011fe4227a426f84d1a45aed566e6d49acdc0ad7cdd3f5a15a2700fbbddb844eadd0c93c1818cba2d41c518671a39fc74409d3b1f618467a4edc16117ad14c53d0e99b242bdfcec7f6a01932eecc7d333ba82ab16077954fc58dfab094e2f79a9e551f1f1c257cd56c3c97e53d25c6db336d38322c80295385468fa7066c0d6e36263301ead91a1303110c2208902221fa501fa11c676792f0b02dbd6642548e062e8994360483ce3a4be9b69b90d61aa14e0198bb0b85789c4f953f07b3ee8315357eb045f69b70e8781cb40a5f7462fc037e232efb46bc6b0591256f546f2a02f7d7cbbd83bfb16bf8466c9f396e76ef942808a076d30dd0f88dde5521f9adabcb2ef00204b1d1b1094f43de6938a8dd931b95451a5597aae380d06628bb500f711df7147ade51d921960ae458f8cc4b3d7bf8a034ad820eb975437d567d206cf857ab496d7a35af076e6aa7fbbe0f21958e56ad1ae277dd7a3c6adfa190925be002d051a5a7872d225130b6112d361f4cdc461f28e918d722c211445292623f4e0402c2f85ffde2dbb274a07d77d6b3ad84b0da451f5ff8a0a4fff6d3865c9dfae43034e29a541b9efb8224d1a91ca6397e0aca2d1b8c86ec2d099774c5d86687b9ccea90ebfa0d0d0a33b710f30cb66781797831c1065369df19b4dc6f7d7f9214aa90ed72b171f8a01403f9f657f06a17d1cfd551ef89dfceb42671a5f7bdfa182a1adc18c308c4e23c0d46b0254f61805a68cd095332fd813607ae16e1db12b0211a7f8d28bbdaf43240f867885dd05888282c921894703348ec01b92ba64c08a9ee5e6a0f95703d91687b9ac242a9ea130702aa2179dd2957600b5311bf0f9ba333655247a62df74f0ce04e55edc0cf79c0d158752a98fffdf49ea3feb68e2bda225009368ff51d0735bbb06359807f9e06d8d5d250472c2d8bdd136f13a83ecb918eae905380f6065131b09aa1f0c5b687a7d726d495a3965ddf23889185a7ad73e82a5f4c7cb7d5efe1e3feb9a9898c0c2b74b29e3e7efae2dbe9ac552126885aef2f20a6fabbb5d77dc4a59086885c3287b60f9ecc0c22d69e7bcfc7a38762084a256787a0dace2422b49da9cd94fd432ee52b4826a232a17e376786057ddd68f249b4172e8acf9fcb1a7644767344901d4235155dfd056c4da685ef9615f74a9428bb1d451a8dfd279c989097a24188dbd49c2d547a2f8a3fbdcd0b6ae58a54f06fff3462f4704064507109c47649fec731da968e2c96985bddcc42f8d5327d6e78bba21c3063c9267ec9f08f865f931f4d153b6ccb3a3fad44b3b4fd63cd417900fb0323cf488a0ad9e287c8d16b6ad4a31de884e0c756faddda658f78a2215a3c5b6289982dc5b5adfe391f44e637fe77c8b6b7e520ea29f4637ded629db41f0ee6bc712360f7edd78de3d87523895bfd256aef2048c82e02d4e4f37d7d8d34d53a8a822c0628bb74ddc6b62ec99f2c2118425b6f16af9004593bcac47523f2d09869fa8bf140ce3fe917840acca5e4cb957f5224077f2490241dcd0a47e290fcdec15d48a215fc041ea664923d037b1de37b29e7860d870499c3ab8040e0c467c77f093187e04a6b1a80c8aa7d94b9474b5a966cd780121bae4e8f006d2284ecc2eb115308cbf85c8b4166c17cdc256194386bcf04a98eea893b39c05e9e8f718a72bf0577098b03b5b4dfe67685f444b2c0774483aa6601ff64646b8632ec0a842e6af3554e5cb113040270ce9a47d34c95692db98397e653cebcb5089dca0474eb036ae1ae905b5098d5a803917081632ca651b650f353e84d643ce95b42bd4aa8b76294257a4fd6001c3c69c74d641120ca5d5c148818e99af52b04210200461ce1f6f4ef5f1b9bae4a364ed465ceb82d3cfc2c31c040247823646f29a5942925191609e008070997baa84bd5f1341ab1868c0460f197bf1ce6b31597698f69afb9edb1dbceed7e84db2c770e33f39ced2c27b990263c7604afc89431e72f984285fbbafef2d7eab362035f74349e623cf5a87b84034c936ad4c1fc1107c7d5e5f87239a62e4796cbcd1fa8d2dddd4d1223e587636871450324f9aa3d21dced36273ddb51d5e5a7aa1eb1d0553b40fea6fdc63991ca756ea4d2282e336785cb3d98a2051b4fae72118f0ea53ac47cea51d71eeb26a2c4284df22459f245e2902b52255d248a2184b11af338c69ce4d561311854d94c1ca3f670184ce9e9a20a4bbf73d8ab431dd3a186a12db79f42585df5b12d5a6c1757b4c3030caaf4edce0e3ff0fd816f17633cf095362029d61b36c7edd38edbdf6207b6c50f6c175fb77feec06a3feb7775f310aee20ab4a200ed58803fbec76de3502400af6f36fff935ae8cd69eeb5323eac7578fe67371a645fdb3631d6a8992dc1f77005554708f80a31ec01f408e1157a6f08f08d7615085f9e4a438048afa895423b73b4671ba31694ab15a3ab48229ed2e718563b88f980f8c951d71fbfba5499a5c9b5822850d7ce1a898ea110e3d8ae98f3c3ab63ab26e4798dbb1e5f63b6cde6e2bba9c54bf3fee682da2a08ae7bbddc51fb7a3c9c7d6054bbfd0852b05ac028eae802487f9c731fc08c3e8a7c2ed130c88f6d56d08e1cbe814494c851c4373f9dde1a13d428e2087e9d0ca591ce6246f69d1118ee13d208cfe97dbef2e31223aa26e4754bf365675a237d06331367acc677a345fb783af1edcbfeb777cca4187500ea10fe79a771b002e2003b5446b871fd6c8807748870e3ae4904328f4d5bd1964e34ea78cde20b0508924bcc4f8a23b085370b14ee2d60c4b8b477fad0ef54b87fa65faa443be42a700f30067d94a89132e26ac194f46f7981e39cb53ae0a82edfaebcfd4236f9a9ea17a84e25c176999ed108a945380b92dbd638cd11d260094c3fc0a02a2bee65e1fde38a346a9f650b9fa0e921c0a4c37be0c7790ac33076d87e5578f62dd7714bfbd0e35ac8b74a8fb084c7981ed99282cca7c58e47603911c8e0b6c7cd85fb4ee1f50b7b805e38f9d70c20939d6278827a416366c41eb0c9bed61b5276446088f202e40340a23fd92f846d4b70f611dea2ccaf6f06e483ef1ca17f1cee75850cb3ae475912d0859f86e8c253b9470d09f045439fc3aa1769ab230841be777fc02bd780284425da4455e0cb440831b132063105e1c63c00d4a70e87ac1930471aa7301d8abbdf65ea72865c7074c8f950b6186a06308364e2e9018fbc391d3a31a9c0eb1b7a8584886d84e9a60e75eaa475dacb9353deadc75b4c89f07ea76eef5a7ea99cb749dd3a1cf14ac7cc87d3872727a54438218d6a196b03381d8a3165f808e610c6318c354d52a821c61a6470e82b723801a2b5fe3c188d397b69797b9d8227fcb1cec50057d6a3ce9101b415f82628b64e5782702fdb2475046ef605bc63e62d30f5fc08e1df27fd9b1d1090e0bbc61841146ce010787758f0ed8c0171c21ecb32c6de08b0a4f7260ff39376cdb1b6171c277f139b19113e977f167945c8c317a1c41a9038710ce3adf35592501e04b9feece91dd9c73fa47e8f1c606beb02188c5f1aa914260b401dcee08e348c955a8c2b72f84e14216ae3c993646c17a410b5772f203811ec5ef50c0037e6367870e9c20ecc53f0148c037a23e17c21809c3ede097c30e0c988117f38185416a5435a919581606b9a2c86d78835c3163fb4f5c33e8929d2e8439b56ef78139ad2e90d9a68407786bdc3a398e7678e07c608787e92f6bec2067dcae04dd4aa42e843979f77321cce975b93301ea10d698eeb1ff25d395cab60aae3f24b118980959101d62405dd18541c250e46e648c8e7cf8f64207947c2743c977335cf8fcf548723ceb0ec7350cc3bf639af81d293b9dcea663415d629011f64b40a75ab2db122cf2df96e0d9b6044ca6435ec3dff025ad0e79c9cbf5121010256f6d49a7a4bb5352d2e99296eb252ed74b561d8279d997eb9e980ecde0e243972b67db9e69d8be69708145f13cca6befb3cbbe7181ad8165ee05c76232fce43a06ccf76932e7074f4c589c98b098dfe23f2d2687d27961e704d455161e170f0bd4858001b7c5cfbf016483102c4aa8439e838b42707269f8edb71a2e8439f2856bc23120eaa003c8f302bd5e2230c3b3f80dc4e2bb87ed3c94b2ca6eff79ed4fde03423179cff3dd34080045b06ec34377f1d069f0cc6c78e88206cf0c0c767b7e0fab43ee71f1987a44626b7ad479e7744e9e4120e0e780384f42b291cfc386935fe336a88b5d073abe9ddfc8f0b0c343086ec75f6b5c0685e0cac01d806170382fc349409e988705a83bb9db9b807ed8c1f314d0fe848b6e03c805e87e409d098f1f66e0206190b950e6c2206130dd4de47840f0d2c0ef99d978584eb234352d8fcba605f68a9e45d8ee93f2c038cfcb867dbdbf090f96ff123898831d0af0f7e6512820bff33c488e0177c375fc26e0ced7b82d5e825a7440de9d1d5a3c833424364ead9c4ac2a1d47f14dbda3c1770dc0a4800be6670b13048cd773b0feb7a583d824bf008c2121344a672564eaae1fd4d6cc81d26394c6e706cede7a21d3a3ecc1e602c966051f8bd091927c0984a25bfa19bef4a10fd19b4810ec46ca188dbe13a935308e407e2edafe17392c70a28f2b731bb7ee3fab3498ed3e72458f299e7e499c994b8cc751e5309e2083e4fccb9ee3f244cd819f63b019c5d13d8cbcf9d1f79be4726cfe24fdedf04478f3eef6f82ead10cef6fa2a3472d6478c761827a3b262693958b03fbb7c54c6ca54d26fbbd67e64e2af99324581ab8129065b9c8619f657d96f5753a486165d0e1895d7f4fac479dfd608efcb8cce138d1d8194913ec7f3aa0fd7ad491c02c6bc6b29fcf7f2894430e9655050e055c18840a99eb9979ac8031fafd3d57401578ab801de0c22055f0b8f67392c90a0e13d3172c94d11fd0090cf1cf00fac0107f0b900b18e29701f430c47f02b230c4cf02c481217e135085217e4fc9ed42703b9d4ea7c39160c6ed98982e739e9a0eb967d62131bc78b72b39b5e881b551c0142a60b80b8350a18a00d3d8aee4f4f2425353727202885b72721215282a4eb2b3831125cf9764a6e4f9e58541ae30c2dd94802c4d0973f6e311533bb0a85c06660b41dccee4d4d2ab295a2e0ce2040b002e0c32058eeb9939c97e9f67469b9d844910054c71fbc11497c27a662651d8ce7ea787452ed31216949c60a1d07f94d9be72ee8024fa27b77fea9829d4ec41b98942a14a60289f3840b52468bb26583049d92eb67c165d444802c6883a18460baaf00d2236d192b938c276ee79fe8ab9930860eeb8fd3d6efff471fb5130a5655e60c19d5c1767ef52b0d10814f5a7acb8fd366e7f944d5494f12cea7899b9cc88d0315113c5ec2aa1a2a488171d890a561384d5544f95555f2a8ebaaaaaea5251d099f9fbbef8c5f8953c7dda49d30d8566dc9c26015fce9cc106bc6211f0ea8280bffec6a1889d9f5ffdea66e3e2e5fe2707858057ef5d3993eb78756d353947c69aa08a8bdb5f5734cd371fbf5ae3a7a5e297eaf840bf645382e203c9973c09e7270ea5f324ef2b177109a5c361a04b255fc2798a739509166c574d9d0eb36752c4f602aeb7a9abce026ea7cc6a9abfb1f7755b8702100a3b6031632b8b29d8ae9a50f19beca82ff4575335cd49a26a29597c81a2663e33ad5c566a522d271df208eb33305071c518e048720ca76118404092c71c8a180b5c5aacd553fa99b55c3ac48229fe42c331fc478c0cc6fb01cd6ce6fa50d41662311ca017f1199f451c2e739a6f7eadf939c95d2e9794ac508c1f5d2edce56ac1fc74a42aaa43a8d8e4b898733ee3c5b0603bca03d562fd3b1c70d9bc2ebca5c949f3fbc4a280241f02453dbfc8b9cceb4a0e5b4f757b81ed2aaaa21a353f98d2b1ef63ad98c72acb392f1bf8a22b71e8ce8d43d58ef817d360508024cad260502500f4a57181ba3428684ba3c2e7248fc5be5895a9af1813bc19cdd38edc7ea9c1ae40611446611acc491415bb34a5c1a8263598d4605a6c336d389a046350dacc8a0b8569473419eddb56342da6471d6551588f3a2d86ca68af1ed199588cb18ad24c508535584569b08aba30e6361753191aa3b00ed51c50d4efe3d5c3b5a3f5e34b0288908ad2601aecf6771f0da6c15c259f5562032f8c1bf8a2e3a01cba73e3d0dfc76245568bd562b5e414507e50250050856543783388581822cb49deb2de8a342e7c608d38a9c04b2813a0ccd1141051ad749c8028454ee418dd0ab3e81c3b16d88a386c73997bc2a24056cb8fb9f97339da902011584d8f204c0a605f37697a04614c2ed3126e3759a6e9f64f79a4479d94ddfeeee491dbdffe82db2f65395a957ff5527e5cf8c0c6db79cb3b14f0cb822a31b2bcf081e40753fae1f49ca643edb3af439dc3e20f28ea172203924413a821711559f2637d1f07657bb85ce5ae5ac1665a585acadc96acdbf2e5f63bf7a69b7ff5527e2054d9bc085e84db313e64125602b9f2c7952c1d6aa9922a955c419579fb654b8ffce34cd68a2c2a5897ac5ab9155ff1bbd86a0105cbbf6ae950c79714d8e88aad0e6d43b0fc52e5a41aa57eb9eab090d90fbb489554a93eae6d06ee0e1d6eb745132c8410be8db13aa82f736707395d10c2152be6455c602daf99169ccc3c27649e73523a73e0d08cd279c5bef295ca458100bbdd1c5b1126ea8838ba5b45552daab211a8b5ce39e784b568d91b3076ecb1e37643aab291aaa8ca23cf97d19452e9dcccf68da798ea28589a034a0435821e415bf407d585cb76f1144fdfe9e4b214d6e902f58f52ff7ad4aa16afa141b198705c7eea41172a92a75c440337cfe0216050c5aa44a3015fd041ac04ad80247fcd70f97d0655b4cb31c7650f4d2b2076c74e373305394dca493e7367e1181e0584c1cfffb9143085f9f97bd9ce5f91732150c42fb5d76be52f98c2febdfcf3af9bbdd26c9f47987b84f5a87b8483c41167a24cfce44af47ce52baf566b3f1f4e59e932a8026fdfce3f198acdd880b044124e251a1d5314502524587c6c08842a2d6e7f8c411519a3b8fd9108c9c9cf2c5823d8154d8fa2ffe6fb63f49c54ff55275c275356a2e4933c0bd0c4c2f61a87c202854507052898cf7914d0effc84b987eb6a25e128bf7f50a5e7a433dccebf6a43ca9adcd8075548601c624513308a086c97849b4ed8efe269d6a1f660283d6c1c4a095e1f361c0a73281898bfbd06e66fb46a3f5f031a075db472d2a134213440179f404017a9703b0eb9fd1aa81ce45680e0319490882aa8a5c9c526a0c8e3d7219a0eb57cad50add3edf758d3a1f696ed08eb2c5f756833420f2b22ff714a02c8ed5f455884a9be48a3d688d224059e735842e80e218491420a29751858e89052ce572c2c95040acbb92a65e7ac102502db654199c3ceef1254b178da1032537a17e3cbe8dacf33f6f343fe8d7377df0070f92bdd36ad524e023954c1c2601042f6a1031ee811bf73ccf500632c9764586ef7b10ab6ab1d2f52578cd4d5a3a61fada131fd14867a9486c222c3095ff355abb59f0fc915ace7371d59deb8b90baa34677a68bee60bc5878a122b3783a120e407ae128d1258099656ccada88b89dbcd57475da2db4f8540927c4115f82162875cd9c4edaf417a5bcc4a155481e991a41e2d42654e3af97e5a534d4e9241fb7e1ae4731255b988088c315f0c03088c4179308c7ed5ecd22b80e0a5aa15a7a4a4c34f2987c6f2eddc45e2b7fbdc782788b25c5ad4bf9161c363a240de97aa9ca43a993f572e8fdb2fc3cb531c109fccd3eda72c3a6e7fa3e6ab9b366e4f20969024d30453fa41f12aa09bb0dbc9cf6fa52e0ad3a27e1986586e962059a443d0009dfce4b77c1eb7a5cc45f2bbbd726fd9d062f94ac9d2fb81678c0d5258caead17cc1ea1098245d2927c5542b09a842f21f27d8256e3f64971255655797ce9c14633127cd15a52f277d50f6d4f4bb5446bd183b57d65ac14507105aa612753929b65cd43f29d396a42e2b10812a9def97475a5a81636cbe5f1691b21e49161e5e0cc6f90d6c420b5aae0421e0522030a57f03a24a308c7e0e88c2481ab35233a3f98ec88a7833548639ea7a1ed6e4a77455e9f299952e107d31097412eae20b8093eda42a1567b30de7a5e470f3b501cd98bff141107fc3cd9809ebd1e63bdf6d266cbee62bbefc3a5f3d8a99300ed7fdad35a65cd4dc011161294c879abea8cb88ed628c23a3e3cc499f4de739241f6d9cd518bfe7bb8f09d7c11884dd0d29ce5cd4cf1d8ea4843bf9b8909e93a8cb453327cd8f35e13aeb915eb536ce5ca11785d1d8ed4f87e2e6399c0ad4e86c3a3bcc19654051fc5785d9580455fbd9aa4d3969e3a61028ead79aa875c8ed9e4462467cd6a669c5ed8fd4c66dd49cb11d755157a37ee9850d0ac218618d4cd1489464912689237e1fb3e72ca8d2abeef0e0c207f613a3547d361b6e060d569c0292fc05550200557888206e186e7fa45979e4e22c7e609872c639e7f6329a7a8df51d44021f83f632ba45a23ab41269628d3475489e248e0ef5d7a1216ce4226bd5a192206c8cabf8c52f7edc09c306be70bdfcf39a18e67718865de676716fdc9d42fa628265eee613979fa71763309b10acbfb426c4e613506512e16766cf5dd3eb90bbdc453d1a04e6668963468699f91d06839dfa7c986ff7f197c75e4ab96d905f21d839912e8542bf6999d9889552cddcb9bcf9598c62168d10d9f83bca6c3fe0626b6a21c29c535e5331a6719c09d64384f9c07a8fea83bf39f7542ac2b84384094be3a0348d83e2a4382e4e0c8707735a1c160786a3e2b45c7ecdbd977bee39c9f90553b6667f4195beddfd31b62ed7970b81242d0aed7b09614984b09be842088ba27dbc7d3b7ff9abd3eac4600ac88102e42158705027dfb10d2e270cb0134467884a050bc5650e172e3f070890a4b162004954e6221454c1e1f273744015bfcc61c2650e122e738a40651c243845c86c70f9b51ad73e98c27f83ca769beff46dbecdf79b6fb581d9df14a1a6df5abeb17ce5fc9b16a8c2b0cbafcb33973f3688c1e5ba3ac4edb6d50689cbbfc1d1248db531b1e03a3bbb26df6ddfe54da683c7656ec372f9b7d376da4e73b69d2e09fa561898123b02a891757e58ba52b98e9e2e73523de24ac275aaa66db0f7ce0e1a27c541f90d44586ad2584eaa475ac44f533596b67259635519071279e2c4899c0fa66c2d1b0fecc6da561a376b368da38393e2389faddc9c75889fcaf8e9ca4994db7c4011fffc51b7242e3f90cbbf12425f4dc0865ce68dc8657eee6c2b98c21cd4b6e2a05e1c1407d52f1356678620628c9121842cc9921e7b5ab20ef591d89cf33f52b2f440df63dad78f1981a4b86a0155b43b5f463153a019343a3864b2526d05f457108d86011090889538ad80fe7905dbc2c576d2932a17791b8d2359922559b1da2e8dc84f12d1403308487082cb3b18e012e5a40d281b572cd96a0b8bdd961e11eb59207e646912fd66e9d2a206d52b554eaa25b802fbb7939e1656b3b303778cfc2849048afa61b0d70bba7408814034d0e0f17813074b17d9627548b258e28925c6e06331e379eb858563f80f99db2916d7a7651002a1fdcc6d9b1bd7699af62eabadaf7d8524fa1ab799a0da215b4241f0bbcf9db0ab92abed4e6c54dc3dc221cec496c8e28a329155631fb7a400c3830b27c446dafb37593e600ca8820255e8a50fe4befc8d0dfba38e31d8988aa80e6947acf6c128c5f7fc5e4210389a4a8023c9312a1771308c7eff2e5aa1137b824ae55aa044a7051156e350b42bb270ba27d17ad6a54529069cc607c5eb1f0ecd3fe82f1ad7f90f8e4d39654cab55d36a7dd8d134ca728103dbc5157dd347e524fa91721f17b9f847a5da5c71a533b739b7d4a6da5e9bccc6d21b8fd616b3ad3697db3f4dd4144dd4647275a8dbbda70db7f358ac06396319c5077fedb5fab0e45b6a4bd12d45bf7eb7a52add522fe8775b8a72fff4e9dd448e0b23b6a90d68d236d0d6d976f8966addde3aac2dd55102735b0ba65053ca440013b38062533d8a9e30504bce515314b6db52754b39c99fae94a08b262c2607176da92dd581c94e119b275d52ba5e5f4d0cf347188e3497e3cce597cd9d6ab95c2e7e1749b09152175401024911882bba3832f6739210f8822ad0735d50c5a3621189ab21979f32175d9e8dae48831ae0800848f2588a6338cd11973dc2c84ed2710714f1f798a5a22bf512739a582cbaa2cbe56d649ea752a9dc150086c9295e920bab5884df850f22c7e8586005d1e29e4b755205af5102613bf762d3db40288e0471f278a6479d9cb9fd23cfb14ad9ba52a13c95a7f26045649ee7ea9144ec07ccc70b8849c8a909d49094ca53554fe579d554f2b2e1df4814292133333333b384dd2f27798d2998c2ddddad692ddf454bf49793dcf326a79bb4bd3c0faa6c971fb6ab43301de28fb9210cd661af0e75b1355ba00ad4c1e332c7cf5cb93534314d92269784919f2276e6caa86ae53e1fed358e8c952be903aaa00af701629368f177cf99eda4aa9326c9d2a37ed92b4e9a6221ca223b468e5cd755825cae3a24552e1bad20837b0518b300475b80249fb9c731a20e96e2cadf4c38d949805466e6164ce11a28c85f5c3e7392b374d4c1317c0773cb6566deb0b0426ce1106960bc97583cf292b9fd7072abc5dc6ab55a2d6f79b57e3ea1108d8d1bd9d202551f4a2dbc4d0498920484d1df451b2d27792824b32eabd365a50d0784e2437dce73b81928fc9d8f306e46c8c8124ca519344a60a5d8ba012bd5af518a2698cb4adc310285390c7489f39cef70f1e5a2e670d175c31097b9a0b17c6734104848b94a3368903cc15482ad8019340af095fca515d04fa3575fa97e6cdd2063cb49b1d6cfe4df9e3b1bae04f21a513994c979cb5f5ad4f2166787098524a0a8df85b4628bd5b28aadd882c59295e411636c71542a9593a4c9a5c9baa9fa6a4e295d1859ada0cac672e5244d339ca0ca1c715c4913d74593c9234b5c4595166c274daad3099592a9a86ae9c10e7110db49535549c1442aa57ac9b0b8622bc6c45574b9fdce10420dd425074122b2211b688602569a58994a1addb4ef780b21d82ea66800405542825f03d1903668c2aca4f9573fdf0d4dd881e5f78f618ee470366d0096135a9c8d8cb99d0b4cce088d3b7d69e3e84b8be6f39d1c6db120d5aa1c146cbf6f5be42297c56d48ca010681c5b45c60553481ba5d8cb95de9a4ad1e75d4e5c6c4f488be50170a733ba652ec1f0cf53ab9622aa6609546121b981a0759e379261b3dfb247903aee469655aad66117006012514108789c4ed0984dbb308d306b7670c6ecf213a728a2bb9b05dcbc9134ce9bf2107b6931d6b7d999c1465cd995c9c0d275dae798d5c8cd704c5a34903501de1715b1681417e1084db4d1df2d36adc448eaf28a5292b659d2b21acec5060e555168952c649cfe5a2feed9f7e57a30d28eabf51ab2bf6883e7e7c3e33792a4f7a2a130dafe16ea9f000f100f100f100f128c103c463048f113c46f018c103c403c453044f123c2f1e253c4a789040430d309e20b63bf128e101e201e201c299a839e79c73ce392743086532994c26f342a17f121acb5f84736068acc340a8a2d4832a1dd04585d7e5d414e48d0b2a2cb3fb9c54d8be9db76ea8c276f4455fbe41dd97e46a10c015f6c539dd6ee303fa7291bff4b0eef25687f8371fb673a076a47aa87cac383f589c245a1c202ece89be4eaf6e713c4d05041b433768c5c4628c91218432994c56516e23aa51a00abcfcf1c83705d891ddbe02945280308e116118466a7e4c82133eaf168af6f06ecfd96cb85a4f24ca32e702f5f9cc2983295ecfd9838b5a469444d19f281af8c9cd40a2d3c00d4aa84a2968c08aab44c355002bcd17c1c9356272287091ab00f65fe564e4d0801557c923f78d288f1e5faf978792c1228eaf43473a2483294ed322188ee146208cfe9a2d3084c55842c466329d582f38562b2a17140f93c9552e6acf29469593a28d6832f5e072343161451eab318f994c9b2ae5b158b1e51d892fb12e723b66328bc5cc62b15821f7bccfa739724ed9999352ea047dd125a6a0adffcf87e5b13c197c028606b3128df642aa54a9900f7d15b110a6c8a7af8e28142aa2502c17168b155931db1f518e72212b6745168b2ab2228ba5779c50a956b09996178b4b86f5a2521d41758426dcce590c219c020b779809eb2a952a65858a99a560bb7812a20a2c7081bb4e1cc367985083ee3939ee4577f9cccbe5d3a91b8acddddd3d468f1ea3bbbbb36cb76a15af1863f70baabc3c8ed1c2a18031b200554cf02902553c77cf5bd5cd546fe0eeeeeeeece725297fe7fe0816fe4015e7656add67e3eef1ea37bdf0caa240153e2125188d88a29884360517fe760b8fdccc5160f8b72214015133067827ad905aaf0f7fc262cb7c964e34ece88f828a8920392fc0714f53b0be52c140dd7591d95ed628bd552c5583732dbb6c9f7568f1a07a781e9178ff9117f6d92516cd7da14e43f93c236a59b947293bf69db06d4c5bbfdc621336f2f390a67bee2a494724edb220adb4dd828161bf66fe443c905d7edfc555b5258df584cc13ab75a2c4974dc1883bf73e7170c835d7cdadeee7ee81cecd0ed1c6c20dc94c4ed15e306db669b958d37e62d76b937e6d1212931d025e92439bfc6df5e2dda609b142e7f8da0be2434b67d5581a0612a514a5530a5b42d81b25c262089ae680f18e26796144ab14bf4bb3441285382e6cc458c32b9299f2387812ed1a71ce5eda56a77f71a9d5887f8b531b161bb7a5d6592b23409489ab11654e10f0dad58090c6cb7bd5eaccbbf1d79de642ecbefb622b7456fc093a49f0edd5e9d58b7b6d764758827ab43ecb4e53cb6d7f68a35bc49706ce08b6666666666e666ef0114b1af1c09901451b00848aacf2c50852fcf20e6c622dcf95d04c2771189cb1f6100630d2e572eca3ce6a2c676d1c4d2e231760f20c99f80227e7f0292208c3567430a2c3ffbf73b203e0f21d2e2184c6155acb9a3c68457c7995c89323126ca624d8cc522cd84ebc403473e0486b8dddd5d2c26ae4a09cb770917c312988023f90448728f63780dc3e0772ebca6102594fc3eea0fcb2a98c2ff52bdbc1acfab79bd5cdb0c9a1bb67b6d79451ce6af1865474a673969bb91634bc918e3669ab3f9b9a83715d84d353d17c9a6bf20106b72dd8e758867ec0bb6e35abd5e2b0bdb405162a21ef57ad415c594abe972d571997e9769cde5a6dcddede25510a49473aeaa0fa8b2038ed1cf5f6f406a049228cba90755000055f8d3c3eec8c1aa3658d40a561497df37273e2c8dc168119e5122d4bb1e47bd1d45186265652a791dbb3f542968ce990e4d998bf86b95c93eb4089551cf09db519644c276949f7a4e82258631633227d11b50c49fe3db71997b5c7af2e8c95bb9a847bd263101d9b87b8c1e3d46f7d99ccdd99ccd990f6c6427e2799cdbf98abed095f7c3ce1995f99cf99c79ac2eb55559cedf55d6b4416f388ce698b319bbe75e7569dffc6cafba5a977fe72e29a5945b0b222cf4cb9d1de21157c2761e63fe2811362c8992122553ae18c9a3d5cd2d5b3d7a91ae1ec500ea802a10892b8bb82d6d70fb5d5861a3cb25512e8972791c37736f0e54913f62d71ebeedd1f6eec2301a2455924787644aea70e118320784d12f61e0419036c6ea51f2b85207a825ca64bbe8f2e77740ecaf9a1550d46fe376dc11f3efce60ca8ced240ae52b89922866b5e4c4485030582c9a228e1976198e2b97f9bdb957744557dcb2a1c5768b358de40ab6d53a5962b539d5bab93e97630392382b135489cf90a3baccd9c1c971e33207c62b27552350c41f45b5c2dab8fc7375f94f1c251ce1fec0b7ab0ca6f03788ae62ac739da76ee7307a7212a70928e21f5239444e462e3f3d716074c581d1550be6308775ebf293d0debcc0477c867763030f6e350ba6c467d5651409688689103e48956890ac200b6ebaf105aa1c018efa0a188a1f9f8b0063b4151046fc6882b9710c30257ec74122c78510b6e4760d4c893d8329f16fa88145e9bce0c65987e31c30255e5892d12898122f10b6f64c8736cf9bd7bee36faedacdf305360f02ae3508e08aaebb7e7f572f501f04fdfc32dafee57cacd5dac82d28e27ce7371c90add5c60ea7476ce386eb8f6baf4311d4b1f8b299bd5dcf22cf3a146b3a143b76bbeeefc68fff2f7ad4d5e78f9c9b7a26bbb1673337457edd187380ae4d614dd4a3d493a1781cd94e4536938e8f9b65b25a3f9f664195769993622a144ac92ad75548051604612af9d72851ce08d46450c5e16643b3e2f647b19152ba935cc176da29ae8cc0947e59c98d98cc867ac2eb5157651b8e224da2d5b4adcc6a3e8d46c6dfaf3d01554eda0da8521f26e1fed0f787be9d76d28868473e977588b9ae9e644e9a5fab76038afa658e1a77d81e9a8ffad2aa96448d69d5d34e9e76eaaae6699e6772921eee4ed22227a5261f3e0064780595a06f9cb33bb925e81b39e847b8bb73737773b3cac53737e6adc30fa354868bda88e58d434dfef1f3f65e2a2b6c17686e175794e5f3625d5a489b8f2f75e0d8705a74c9c8630536aa3a94ea908dcd4ed2bebed6f9ec368aac26cd85112b6fe71ec73da812894092b461f222274dd107fa6db212f5427e4ca95edcd4b9002c7209d02195ed4209c8e10a19b9eb838fd30f548a0aa99ee950ec071d85174f3220fad00d1f04fd5b777f3e9ffef457baf5d6955628a3433af45003db9d74151e420883c8f4e07afb4907a534a894cdb417450c118d00000080021315000030100a070402a16044b0cb718e0f14000d7990507e4e1c4ba4518ec3206610428410660c008000000c66020404ceeb713245cf8ad3dbc8d274cc7ac1f0c5fa56e64569747b57117ecd660fda049f9a0ce73bc7d2ec2426f2702a618f0503c54591eb1dfe0c624be4f15ec352d868c6cf60dd3763900393ff6ff3ca85e2e6d6b05404302acd5de0c78724452a3dee0adfd235626db31b42d31c17b2ae0fdadc33b1511c1f61bcc1ec38690e3d34e8a6f56d010c80acdc2476189f965c349c55c9b6f20abcfb7ee3979d53cf52a4dc98bfe7249578c47115a8e8b6b78e0eae73d0d9d8e49464f9b698f09f34e9a61570bd63f62b908bf1149923a2931a2c10f4874e7faf7ea8a46fe35cf7790aa8d9d392bf68c9d6f6b8585e705cecf6ad1d4fdb0ede6b5d19a165eceac09ecf551554308edc71b367121a67fd8fef02729e23be299ef095aedf80c2279aa04267992116021fbc2d1f16a19bb210ec17fdbc2c619a795f164ac0f2595f7d2fc27d508a1f8deedffaf10ba5da995580b670ead87502ef026c44caad4175c57406b4a9f4c08ff155f03960402bffb32aa9e11a14a85a9695304120d30a1264c34b04b0a4ef3388d4f63bacb3cbbc1abe6bf89963f0dcc0bbc7ca1a4e1d4a7a2662f9836b4210da96fa414931848efa1e76487a2e624cb91272107a9931814d18448639f1919c88ef2ce8370659b9dde43849a10816ff393e788deeafd216c51c4ed8994861a1ba6e0c2e35b55cbaa733ec0a403bf0b5ec25a16cebcfad9624abfa32e76343591966fc134316a83e83a21d62de892f501c4f9aeb80275e892153f32e08d0b9ac320b189daac9caf674cb6674e5b7ae68f18116b57163b8bef3606e93ca3932ca2a28217496ef968f59be2ba7ee3bf075ae86fd86a938b9324cd1c451b88a19d57894bfe1e87b56047d739505aa9fe06d518bb1a9dc443832d039ac0d0c069232471f71c894b556f991abfb1c0642a0a21085ae682542f9961bb4205aa65af3c91af01b269213091103d5314f55c07b88017beee36bb28f0149696942bf2906a43a47251b86be06501a5ae2a2e0f1fa3ecb6f6fbcded5014198b8f2fe609ed7399527a0b76b12e4eac3c3c97e7ea0cf22d951f010cbbac8af99a12b60fb6c3362f63b8a40ce41ca4e65cb9bd7ae0893d8eb9107f788968078187ce53c860ffe50a132edd8d9db28adff4f5eaceca5214a6a4836a72ecc290070610350c8b46add499be57edd5483b009e418ccdcab674cd3cca6703beaa3323b5d08ebc315c264812c48d0b5a1985fe7f7977eec72e8880153f8edd40c259f49570a5c387bda44f054e9a0062dd35615e72fb4a498996f3b08942522a2ee67c82099c57e633846f35fbc6906f8bafb80732a39d129ac300ef0097395d19f0816196861b8da8a09637be4c5dcd53295a04f2c72076fd307cf64fef485894a66de4a7800907eb708c990bd1171dab1e0398d13a051f24fe4b0a123d5e91e898753687b1a84ca553ac465fbb161f5bbb05932677f8302862407526540231d9afc3837a2fadf4020461485dca1c175a6022715b59e84343d6f138dc8761261eb40f9a04403454a2579b5813f3ae26331dec0292ef4cf0c706a7e4e926a936f3b79d6989a2f295211f44b832465969d5f2cf2f3099e40aaf1afda51e094123313495d08b999116daa4ff4307abc0fd63b8bfd6a551c33e36bec603ba91c3f9d83eaefe64c02998d6225b4dc178c6c099d204314420e1023e94d228e355dacfa8a58d66e8c0117494978fe880e7711ad21b6ea701c36549da1b6b45061e17f4c155bb6c22609da65b64016323ace167cb7338a1220b4f476090c07145c29281b58686714c442a0a17b1b05b1e934356bc1e4639ebf1e610e4964929415dc32b147aeb3e4dded874add473311d517c7faf2248e85452b0fcc515c9ad0c907d49c175a127f2ad9e398b43f1f2654c2bf84cfcf447ce751a4a187d5ce47152ce9f86d859dc7b83e4e56ba32af20dbb62c7ae22641a2addf058b92aeb6ac55de9f314bd05448fc2051591584a1982fd5e7676ec2761b282e3d4157101b1c70ee38593f5a00a6ec39c4074c755f5a2f653aaea85100b55f0117160f640cf8db1e0242aabd6d1a39951cf00c54f57d84e07b83cd4667ea20526caa0b7b998df9f8cd0c21a8140d4090acb58300c7cf547798c7921fe737444bab173138fa7562c4d811f76fca6111d588ab1768be03dcc65422feb4d424ffad7d13b84f47d70d4d6154a8907ff0e827bb385f1e4cd7b540de23cc886568e5020e4240b7e8d19074fc6674c642035cb007cb44c2588254d108cad08f998f5fd4b3fee22639407c74417dd2db52fa9b88beb4a7e5250dd012d5ab017b7254a344bde9a5ab1de51d319908945a15b1752ba05ff921caf2a52dc17f97b69a04a12b6f8d5e5dbe04e82eb9dd30d70e4f0e37a5cdcddf5f57f464f37abf72b3e713a2b68106212203f00321e54a5e6936598d3aea91544b2f8298922d3356576764efd1b2618b553d8db9d4de3d460931cf775d9195417a2c6e72e824094f8d38fd44174825649c9325b4bc2710ed8d6daf1eda1107c1850a9f78e2ed86a55655332dc3ca0af70c80c18ee43ed4cc421edbf153f1e4d5efeaeef204972d53d15c47974db8c15e8d2cfb94ec4c343cf8681189330483f3a3055284efc2360608bd78da4071ac600151c18f6f6ab8cb47ebcf7f553a7ec49a046b5a956eecf998c233102152226660d3de191a3692301246c268c7809dec98c27423619307182de2bda53bfb1bd2131bbf5518ff471bf25b9f3c6a7976ea1388e475730d7c07c9941fa8f0ae0ba43c3d9b08137843690c4ff07f570ff7f5b2c7447090c18355532ef30fc19b8ad8c295164d256191f20d95425ae0bfaafd39aca940921afc904ef0d2065e13ea01e96af5ff188e584afbc78925fd0c72c412e01d67ffe390d7a0ab2c8d35877116f3a7ec3fa28f3e30569fd477946ce8506e4e9db0f395c68d616c59056e9f8c2767f4ffac1831fb2187ca22b2dd06f728f41e3367d3156b87c394e78fe67078167738e1b3f24167561b4b0ca9de1668218a0ac18f1dcf55b460bd983685b215c7c684e8f2d4f159a010a70a6fc08d1130bddac520a1e0e8615cea23e51281e832a511efb368cabf1bde6724fb04c7b4a256611b1dd98dc533dd2be0fc16a51b64780c0d375c22e4843abde7aa240f4b4449420431be2ad6927c975d91f442a9941881384778f5d8ea74a38643209fe385c442258f4c5495cb9089fc9fe82752525a79b8cd0c5e4682fb0eeb716261ac20d8bb95541d129a0bd7d73222ecde48ddc15c799b0f31665dfa342ef33ca046f31fc76b70649a65d73b6a184072af93fd00519940f3f03bba34e6a14a15c5f5de6309e0e1115783c9f7ed4bc4ea55b217048dfaf755acad832330d40bd2fa20c01c050e19adfa80fea0269f032ea42f2c4c6a3fb7adc1014e58798f178f90a4aa17a2f1f1c102eeaf76db6ac8fc64e73cc026e1c2be35d463dbd0c8f4a4bd9a06c72c099ec066e86eda6a18b4f48e1edf7fe209f4c4ab901437e86ab27f31639034a2675729689ca877b31ca8f6923dbc823a0e2b1523aeb564e0335b718bd75f19bcc64601df146ad2be03dcbc5e76b33aa8dc810603f0a147aa15880d31cff13dbeb9f64bcbdc8d9a733404805b8d0adae47fde17798fb4d25e11122bd4fae73c3e0db9878ccf84b35da2475061259e6298b1477904bd0ed863d87cb44e3dfcc81578ecaaa2cf5047e88622d515c60d624f859cc1d4f9510c343798780a3d59eb96f6f4981e666d221c9f34ba0395760360c6a0add70f9e0e9aa53342244102ede63129884e142fbba1b930b63ec8b32bf24989fe254da8da4038682314ec3a418e815ef1963c038167c314583f541e8191a8174fc4e7079bffea5452e82667f41cccbfaaba6f1486e5be3e596ee529abaebd7852d087963d501a4f27c28d97825e4c9c8ffe25b50209d13b94b2033428849f365fdb843d62fa1ad9117c78c618f014634c767e208510d7416c5adffcf8d45979e83036a3b67cc33847fa9bfa9ebaba8c2a20cf0abf49bf649cc21c9d87091c22518930c87af950c61fd96785bc8134deba12382aef02e42bf586d189d6450216704c5658d54e3d1493def9bf15c73f1e43056bbc3556722b34a92ae6466ad8c1adbde7119022fb7a1a7da59c9924da480a63016ec712c7f1fbc0e6f40af9922ec06e1e25a188dca3c3ba33e788926983642c8ff1a81ecd37050ee57b5b044110532d2848ba412c6914182058b2d21bfefe34fc8c4a2f6dc26d80fa090614905df0723f67a67df18b2488ae7e97a66f70edf3878268f7542a201ce1b4ae39bec8979da69d4a05756d445edbd82770a3ea6e93515d3654ebecc30b773139042114f51792d14eefb5a1103fc22e68f5c2b7c18520d6571ca09b1d0c1f443115bfdc7b6c531fbcb0daacbc82820e865a55f351ce3008aa251e6699fa35d5a6bb15f5104892ae5d75293b8df6f5ee65b0c3acbf8def52006322c6052e8d00bf7f9a0c5d570d6f3b76de97c5331049a4f11a67df82fae45a0f8b40a13f51f18b17218cd5368fbc3d92196c7383a34af0768f028827e16a3b946767f3c4b9b15925b230fd01c66eb59e9d909aeb7a7f3de9f5f8945c95f0981af93658bab08aca5dc8e93d116ad4099296e637729f18d5e04e8955a4af7476debf235493524fc301380ebb7d04ba410f970ecfa836f56a691b49d7a56baa5e9eb083de3b9b29cdf8a3812b8966ee4cc1ce0073b22f209197654b9335963549f789645af3c4ac084adf4004a94944fdc28fd0d7b832f21230ef7fc78c9f1c37e52c5b4e3b8c638128e6155387028faebcbf03f1f11193c019adf806710b0a6073125342291cd7f5aa5a5c2909388044a2b2993d25b4f0d2c3e49cda7a84e0b45041cb5e0b91aa155ca0314d80189033d7438489cae157ba4fb4309a95552491a8061b590254b9c404841deedd73e78f44696b0c5a54de189f2fb8fa8110d1c7924f9b4256d5427bbe6273242397a0ac72613b46c1a3fa440225a06957f0a2cc97947b62fc6bdc8794d12b2cad96480336d282f5ec551781bfc9ff8e9d2ece56570567dac49ea69c2b8e7d08e40c6457e5bac2bc1db8fd7f90b0d6328e492962f4188fb54b5cb14eba366f51391b1b1f29a6283035545760f0056869742a70d02efe65f18803e4046e5098adb36bbc080f7ff890abbf042a0bf5818407fc0f0cb981329a3284247ac33d62e0585d0004f4a3c46d86c462ff80ada6466fcb4e7a73d08a0c8f248557e7c800778b7d2565eb5d4bf41856cab53bd12ec42a294bff30b97a36e3439ce39378325f4a43d2e6681ddd39403e82f66b56af82911c15e41e8e7d252eecf8e9bbd61d3c1c90c05555e85a6cfcfde278fd93796a5e05f6419e9b2713a673db5e9d22ce390e4238dd04d3ee73c8b99258b95e0c5281cb647044d569e8e128ac3f0092788616c29b238062539e7d55da15090337e4ba2c572374bd744e7120c4eca41280b1f43ea8a1e66a2807e080d42115b122a0be26d828cbb2e3fabf48381a35635c9458c89fd3f46d2a1294e6f6710a6f8b7f25b0e89af1faeb519a65de60482749f50f4e798448840e0e9461153b0bd5ddb7bda8529603708124016cb35ba25b782b0f278cdd5b59f238e27e320e81c2b79b614b6356c18a51a679966f78f13eebde541c7641fc1a85decb4f2fee81838fa22c964e1097087b03b2e6a754b6201648d9eed4995ae972221c6e50c3dcfb023285323b38ce96d62d67efa95fd7e41d0f5898579d7a9762a7b25ac16dd8ca2084cff821846bf7c76185f3a9c4b34070a484624afc49d9c41259e20547642a186900403855428156319968fc1dd6e8ef095dfa315a6c0ab916d5a59a49305bbb418359b1edc0d90a4e109e0927c7492c9f4146fa5778f280d94a2aa55b9383e848f3d1bfa2e145049a2ecff8a258bf13c624038667a60b29a1d907098a271e130cf2f0f0422f28396e504f49e83886c96b765dce066fe26421a4f2f1bb237e1d11958654d41ecec2aabfc49236ec759685f3841d82d2f7665576982fddec88f9b20893447f988929c957590fc0a21314935ee04ff3d95d8fd44cb99c4d9c3a4e4f01c576411c5bbcf6a32b2548d14b4ff76d282c25366a626a570409687770160e7042d59c0a2daee0b0c547f94a5db5bb0d725f455a0c020fa6f9559d728b84f0a049587571f4723a21f83feda88c3cd2fb1160e9361125d2a026e0f5ac5b41844fce489967854df686f5058fb2144cfc06d89a52b89b66091893670db1296197e453a2f03f50237eddf076ca69c0ade3f6601d00e371b8d5845d7b49176018078d42301cfadfa6fdf098bb456b2a32067b4279eb367ad97439ada5cd8d9386c3530152e7829c58d87daea86519b8001b9a8f09ffbe83ce00b782022390cfca32d8b70c246a13f820b5da6090351db74d0be6a5c26660650a32bcdf62b7d26dea0352e1ffe9f7193c74bdc836bb6c10d1baffe0da0d4fae8a0c81562ce10476c3d5e1fa550cd40816da4c344e4aa726a80a864312f7c44332ff2c2f96aaa1fbe59c8163057f5219bfd309322d597d422c7e595658ee84c3e1884c23d0d9aa8b6604fef8a7b1ba14d0518f756c2370b243f8d7ce4d4750b27daf69155ea2aa1a5588a0e1071d77ead51b08747791e608d1516236b26417317c3695479a1f254f6060388f8eb664532675230823488917dd85725f6c8b278396a0d88ac12bea9fe6882155b6d2c6a84c846d84b1e945c9d5c41687aa9b8de0ba5f608c48059812db93fd94a13eae11663a632c145632b8ea6018dd6736d74fd614e46e94950aac015616c90fb37f3a4c367b03c27e4bd2fd2d8294efdbee01c968e9f4b920a4a7c54815f66218adcc3fddc03c031cf78209faadb1f5ce62c4969a674122184d0c0d0a34d968129d96dfcbb00cc48006c477c7c5d991babb62715159f9524503a785e575be5cbe0a124c23dcecc96c641c968d55f617b8881872d7181b105447d08447428b7ebe05c5375bc0d02f9005cfbebcfe0d4d82fd6b3c4191396f90f24febebfdcd069ba5b529267a0e952f0713ec04723214249e02d68c9f9ae838697300df56278df065946e01b96b5d6afc2c8096aee7c57e01625e74cd37f9e43777bc845630b303af32d7f505e95b1daaf553e760513b2d0d801a0d5db7e6a1c058a0eb2528fa9af812bd4266134cb0224ce341ad5007250ded1c88151cd28189b20210e916d6c21906c6f868e51d28f1528023098f07c7b14ac387e18103d3b1604de520c7b5b6cacb00a3cded8c56ecdf191444afc2126d1053c9673a01369b9014f5a50634eae870e87d999efede83bd1694c55c6367d42446ebd96344b6ebaab8788a8cbc44a96dfa7a317c0829aa2f63d03abc0559a1690dce065cb70fae6ac29830ed78b60410bfad7b0832c60e85c2ccf6f6a55ceb05e1f54b43af0933b10e361b0945b2aa80ff7e61945028f0a30e1ea20a67f1093e8024531e7bccaa3eb01f4ac6eed18f38ddc325121160afe1b904f3f98b22f86011bcc813013cf40151d0b9085e15cde15551e08ff975f5e813e2cd4cc9dc87e680cd8199cd9f6af594f31b6b5e9034b3991739532fd9ba855098b5c1e83636a3049a99c65bff997497fe8c9cc7a6910dd8d00843db8c3cb9e61b594ad2a9daec3b4e80a7e0966c18ae1ec6204754dd2070f09001153e9914a7ddcb375dbf6035917bca366b4a4b3ef6c36aaf307bff669fe1864f5a1b35d4add1b12e281fae06f80ea2b7a5367065631a19816d6e86f5eaa0a205f2306f5298194ac8974082e9cfd3c278a5ca29588420f2e3cecfa78c11e95d2e9d9743d2e7641de0bccec22778ee9b33a46d78d0e2532a15e874c455f608e479f3e0b221db4ed58df380877b38f8bd60cfc52229e86e501aeeddc67019dac52b6e6bcc878e7db0746dc71f566043070b757bc42cdf47a3076f3f4b031a93b08545e234b90b13d9c44821d544156b2c842dc46536fdf18ae55e42b5b7d854affd9afdc08fdfb4141c5842a9be422c0f9eb6c6c8bca48ea7de80a61337025d247fec16db10d2cff37166ce7ced4a64f95784b75f3643513aee9a0ca2394a0c3a237d4134dabd990085a9c15993ca7d5c74b4acebccee1827a21680edde9052edd37ddc5640a2bd6ab157c67f97fd3c133f851241a7f18fd599bbbd4540dd503f193f85b25260d0fe22a75140c098b2e0fd8aa5ce81154fa9ba7abb9e2bc94a76a4466e85af5ccf8b25c79137fd141636e6ea4964a898c36d022867bc9bf6e27672183ea072e4827e9bd2f51c4453f5fd9a9f650e279acfe374a824c3d1e8ec50c5ff161f5b7b7ae91a53608ed21f5643e3a7d18836b25884c80547c6447c0b69dce43586bc48fb7aabc56216daad88fa7874def3179e9d68a49a8d346ab96d1602a2a437dc3e3dc52f7aadf18845a36fa2bfcf3980401e6cb370c3e9fd2ba6ccf1fa83be03307ed0be2018584bfa5d1d9d1e2ba6ad47b337f16ec5d8633f3af2af08e3c739a1657c8bbca0595628a88399ec4ab6d91393fce82775c8355d41b6a105455223a0014d4162b027de1fe31d50e1acceec1437bb86bdeb265786243e2a4d6a83fb2d1fd9f2c26740d31ae4668fd7f2c26a0c134ffffde0e07239238d6f9fa2ddaff20f7455e79c14e133537a00a1e0a874af413e49e24530d18819fc4016c66e8fd30b295424d3efb141ce55b85b0b806717ef5ed0dc0c6395abd9f5d10831fb0ff20d940158bf8feabea03ca41922569e089b87d93d4839372bb4620c494de323f4bd3bd8653baee14d3d918fdf9a105219a62008c2584433d3e7239e3f8dcc90d9e1cb1d6d3dd228ea18288cbff041002547565da0751f9f9ff51f6f5d453e9454916d91be388ce88c9b7044fa3dc26c9a42fd0ae739de971117235de380f575a6b3da59b98c646ffbdbbd39b064d62b6e416cdbde4bcc324c1704008f7064a3b301a46ad3013825c1576502859ac7488bfd6e183b9b62d260fb03e2488f7eedfca29f1171c4409584db11ad5961f93ea93dda80e17d7f3c25174c48db4053f992cdcb5fb37524c943882a5def6a46e92029f2afbea46f28d04a85d796d66aef7fc07a04426d014a2a96dfb85fe21b8a4e48472a1496356cbd0fa9a3f80eb3a304b9216c14b0382588608efc0d66fa9579c89fcc136c0f6139801fa0a454c875aa4cbd3fa9fd878def2f4829bbd5ef9f0d2df43933052115b16ad274259125b01b345545ea6f50356db2656031a6644a5b1fb1e4ff965957c40ac89786dade7a3df4f93f20501470b0a98d158bf6d19f18d7113e90953e370f85e051a3323aaccd60b2d24481119f35f03716036ea1327fd997ec41e2b0cb225958cd2d1fdfedeb49ef81f3ad68a75a09c7cf3304b46fd11271c27c74c72ee7102ac0a0d688b402c7130d50b46a62d2f2d0844900f2cdf9f5b155a7c5a152fa2b838c3f76e60b66056b66992cbf3be63ec75106e5e8ddc1f2cd966bd6fce1303337cd0563f86ea94a4056f1f7dbed05dc1e791ebcfe473fb56dde3683d3f415a630adeb77fcfa8f19454ad564d6ece992a262e5a1c8907cbe4be14549b315f3434ba954bc38345daa442a634ef3a7347dd83e428015cc4e5f03db3fe8397afa58170392168083052540a59f1ed4c540268196a4356dacf0b8e8c11cd629d72a9e18570ac734dad13a298d524b2c72d1100a9a737324b194206110aa4481228737755a22c1d5a7e6cf55cc3f06a45b98d9d989dc7e67f35f8ca6a8f2364eb032060d10807f58c1a05ffce6e3efc80436224cd7190c66acc78e64cac4d264f4bfb791efdeef48910c354ae06ca9addf2357dbefd6dae6b1066e6b3cc24b155065354c66b4d94088fb05f90b54ae92f4b32c28b5b8d3320025e98653bf5ae96f0ec746f8be30df153c45778a8b643a858cb45198a0af56264778b69d945c09175b4f4e9fe6c2cd2e447d73236aac595fd185d8f5afc9622381e304b4ea721403ce70b7afec34eac48eb8c4d884e96e01adc4ae38d1ddb7b1a09a040d19230642f97f6fa984a7266717e65570f3904b7652eb810fc37e22cab20dc49ff20159401c506f0db1fd146ebb510d86ac13e8da3314ae91d30e23b435cbaa22d48559ff609254383e4192cb332fa0b0fcc6dc95f22554ef9c79e61386118fd43ad92a4e0e96ad79bfad0879eee17a9808e27afc823b5b7f49e0aac2bd056b5c4c21bbf986f53208a610c859c11d4e6fa339bcbfb3fc270cd45e29638fc56ba0bb5a36bdee6274cb69f48a786dc59212a93c1f1adf5221e626ec39b366ea2e45f277396daac03171fb427f8b5b0740b95861c9bd2f85e0c4fc899706e100dfbf98bfa664b84d99e83beefdc8ecb1de0e28d19383b48de5920f570f79f0afdb95967ee96e47cab50940463deb9b7d0a858d8f0071f413f85b1bfb3a7ec6b53a379f58b471aebce32a23b258735f8aefb26320cba130642f3911994ae72972aafc395fdf2776cb3e695010182c00eff61c29a5a5c23c69ab1d6dbc09ac8995cac1d54259e1c8c8fb861214f770e1d256f90f86f5096beeb4986b960a2f79822f477e8999f93528e8d6e3177eeff5440d425577a033468e7b17b3d8ae2aa9f871f7f9607b5ba3d101cdaf2b7a67ed583b03f822ec46d226b8c72f29f21e59a1ea7f348a873ec9105df015e1b2cae8389d96e9f4799491ac24cf7219ae5792d6882ea171fe8064a6e3378814a058fca9b52e3b3917a4cb1be5d2a27f2de23d43211c269284b2c67cc307a02428ecb2b4057730fd388af5a6d20091c5313004b220807af0d8d5199715a00e1127f178e9360404d93db785295cf061146cb0563eecf4358ec72c9771677eec83b18af9ae1fd0600879747c750291128716b7063947c33c416bc109de002b95e178cac8c5e209c79d0ebcb109ab5ea28f153d06cb9c14bd2fe791ea3172ad3831630905d42b0b4b60e6e3928789bdb4aec31e1ff925e3e7912c2d1e038727d3e76c2f342a593865e5692053a51e7d265cc2048fdcaca3d44bb1fb5d20dbae5f79c11716496edd9c0a0bb5ed8916ce7ceb8ac018a10a12e2102d842eda9bdc9c6333ad5f6b8fbd3866cd7be66efb6646036bf2739eed331714221cfeb6b3eb14be6d893ad8a49742c920cbe4380843ee4f10b3ed187ce982c9d1a0080845acab907738608bae9d01521db837d51eae42a8ec6de66f4ee7b0b5b8d633e415ef00f919d56bfe3909fa648a040c10503a9e7078db4d658cfeabf5e1ef8da13adbc273df0a74b71540fea25062214dbd363b4648ebea25202dc2a874ace7c682b4eddfbb04e63d42d6d911e0da6aaa2c20d24bb99f14aaac50e2a1fcbc7c08a640a67afe94a4234e13ca3dff212296a68ff7839e103f89adfde80e658495d938f246127168cf7c258ba4c1d0b3c0295944e7d97902e079196b3cf05015e2838faddd09ba8db6328e4dd85a3b308baec836065eb9cc22b1effe7a63093bcf0d531708df0c855c393be6bb129718378c9f4cc694c494bf8c52e131a6c05bd5b1f8c00b8ddffa76f6d2cc9d7b2de776fecbe2cb0d51019ef20cbb6d4aab7ab5c4ea22e1469ea3d7464074306678a5786a9554b3c54deb574a9493ddbd0e02afd9dc350d482177fca130a8210b6968bfaff9eacfeeba1fb07b19677250ea394e3aff2883a30bc8fcbdf8d30a5c243c5b67a2873da7be892631447826a01008a5f7895885da175f6190b193d83942841916ce3d309f1ee84b66a71f24a3e394c486561fc3d161f4100a7d5cd8f2705b1e8be6a00456d800d7bfd6fd0ad8aa3c27b2d360f0056b2695811e215ec34725702da6a01edef3559f05bc932ae4e3f1c342dce14ac3e8de66d37763321d033d65d118430a4004d9b88fd983b90f9e834e02eed18e4d687f2d0355ee02ed67e0142faa3bd557e0a2d61284da9707fae34a3d3879fb4dd0e143797b6f620518921d402c58ec4040a743eabf445650f446b28d6f1a23936a0d9e6e30be7057f9f8aeb50252908ae45eb345441acdf1975ba31829dedf9455eb7e1ef7d7dc0215302bb6b0953d00e35b16147d409a399be745e31ed6f64446ce113b44b2db0acd80718d19e574baf4242540ddc26718b17bc9773347a8f16c1d82298bd1a7483036129eca4d43080a7353b0b4db82be07ad455a05146f3bf6f98d32a2950fda6c397736a86562a884628aea08a0d37b38d579373614cac15c82f4bdfe76ab20c7b9e2c2b5ef5ab636490d4e96759787a5711e8cea30bde88b8c35944202c940923f1f39088bdeededf1efe6376d3c6c875495ff17a8d42ba2865c0613161a01c5bf0a132ddd467a275ed7bb0ad99ec38dbace751a01e0141b2d3df115a246112e86e5440af6ea8af794cae24908381a3031d4ca821653818973d2f37582a3f4830d3dfdc955ae8583e1e6db7710e0670a8ed1cd3572979cffa114812a9930885f85f0d808d1f702b23d97724f3c3b80f0911ef47e856098a70ef4366272d4516b9892564af102c3737b50a2e2ab2f9f52a554318dc3b730f91a43bca608e469eeb98f766ef51dfa060552008ab02c3931e11492107894063969ab855b6e0219c90e01fc237a08efcc906936e23ea0410720e045ccd821010134313e5002d466f4b330d92eba5d920e0a9d403ff7e5d86fd9db5fc6e8b40b3502ab0e0d8d4f7eefda7f8e4d12a6f320ee9f1016e03a67f4f6d72e7d90a2949af1b75ed0d3b9d67b5f44028bdc93c785d0076c8b6e446f1b1364afeae7b13f3b3fdda54a89a5089588e00dc2dc6146191cdb9e6705633daf5b22719cd20e03342ac536fc26b4e4d5b6d387940349b0f999e94539cf79b69d2c90cd386c4c24137c487705b2b45883ea8ed2d9883955d7358d608a7070385c46f12171f1d55a69d855ad9ef4416d677e75cebcfd0fd5b89665414772db8e989668dfd57c86d67a340f1f8d993b8e18ccfdc917e2eda192a0fbe0ac952249226136596e514ccd66f8b0f85b50bd8a11edf1e346181b7dadc1c9c5df4dcb9edcc66501602b96e13200be9fd32820e8b1668950a7c4c36784851bb7f1b589bd859f31446feb2e8791832e6185fd33cd88e1a9d74299b7f1abc37b483425f96c67cc9a5b76285e00d8eab19917df09fe4290d280b2b66b64fc2d65412aacdb43f54a0e77ee9ed2ca03fc477e8334ab218e23094db8052d7813636b001b365e47283cacae2aa911d84c52fe7d4f1f5e6b627d598e2958ce495fe39a5a6cfe45b2a55bd1b033083e2f8281707b0fdb1652b7d1ac0992cc9ea9991d9c11a95e8f5ea2433d705074bd0eb5a0d18c4b01e645dd8ce9000920ac330b820cc6a973996943f18a822fbabe533cdeaa993128f1b50322aa5ff387408533ded615b8d1d3a3f5cc89df10cbb9b6a4cc246a57bdb253fc40c21f46d8740db88f7da90f230df5427d991bb2f2dfa91f1042009a2b690267c3ee3d820fb88a4ce242cff3736aa880b4d0d86b3ac20c6db97a328824ae4a3031c7b193cb4746c5f5449987d020e20d1c73ebd02212e665ce1a498c9593184989aeeb59c4d8ad1314c97fff84b4d28edb23cc4c072bfad65be8ffd1e476ece77d9e7e8eaa93a20063f24a4fc0381d4cebe2432b0529749007acf5fd9ac8e4319ee202513a95d32d35304df9dc794204de77fd7d8658919e053c0309559f37cd5bc44c0d5081060028b8c3299f14eb6b9773e7dc8a5902ecf38394dcb3e569f2a39651f6d36b33c22f1d6beafe35941f23c645628e14bca6aee49ecbb7a101b9d2a64349f2aa0c21243ae89935f98fdc0c3d8f013ec78620925d22c0631b39b3c961b4900dc660ab8b175ea7bdc83e6fad2bb45f3695b30e39815f8df399b3ee4bb331085a33bb1ff337ab2bb032c4b4be5fef1b5269f80a299756b0d6ad7af7e19529b8d5c16bbebae3ebe2f0d99d8336bfc49e2bc976a6b5548823305f1406e74f88b2f046a3a80249649fd5361590098f074c50dbf4a851d534ea8ab576f03bba58943c9a2a3dbfee1d1edee66c0085e709f53ede622b4d1231a962a509b4dee32fa692437988ea82d97f9d1ab3884d669ea8c9ba9520d59dace57ce63f54c337964b8ecfd828953a85768e6881151acba6152969385854d53c995d2177003cab64a5a1f54db6d2dd22439a69dd9bb3aa94e1939f373ca371e3e010801c0642d26981863a52bac6094e3197266dae6e9f7127a279755d0acb06c1f944d6ed900f25d01a1749626162df6556890c90eb5228efbded211a519a5f6eab0e7b5f344c36365e36325c3ebd7ec5e8adefb58f846cf206c2001710d70950b1492c09ef3a58606e67acebb807747c7d1790eeaa7b08751ae8b5048c3a64cb4a17ca9551eac8f948ab474aaaa56dbea8f94f5eacf7af016575b7eb7d6d2ed589dbac20c2e4e683cb57a2d6331ec2de41b800608b010d946aa8aee95b78baebacb80390d84797139639cdf016b50da9ea2a7c8d46dcc2a2e94fc2abc4e643d273d544e4d0703013351bcdf02f8b7ffade5a6ade4295ac1dece47363c4d4863150b530ea6df3802a69b7195533975ff0d2a201bf4a41dc89b3cb0071cd6615a0f3fa01349fe7830fa504af8e4809644906e5787008389e9c504845e40aa332bdc9a3b68e32fc6742418c5d83df2065c19f1c4a03974865ec570bd34a179582213be68362b54790b7086c1cbf7005f1a3197b2e32d3de4822098c48c48814a784e4ea2f8db553c3210eca6b1d83b00f7b2ebe052e104cb9932a5865015880cb886d89531db24a46883afb150c2a7d00e277cdc47a710bce27ec7a315ffe546252a538e2033cf310df769741c05db843691923317ccb78c929ac9b70bb6c201c89f72ab18ef7380a6ef2dbb214549b453966a09dcbf594471b4ba9c2b4ea5009a9fb15334d31b7d70b7ed7309944a7a03d9e9744d50005b4b387d4fa552d6c94d03b6dd97d0a631826eea69b11ed1fba97376707973193ddf6aed136cb23066d753d81c75c6e15b03d1253e4f43e6ef1bd1d3c99218cb348c8f936a73b20a2a1c003e7e7f7d9fbc0595b7b54f4734038d2befb046ea02423f46e57680ac1e4333b70d1cee3a5e8909b9c154f415f7621f7be66c1f126058a37016a637b988624a1468c29ac0da77022c3c5b041de4cd1b69e9451239beeb0718da0cbc6b85232877f2c77dabfdc142b383f0bcb6fe5d3986ded4007ef51bb51fcc644b2c28928c7b4b8c14a2e207f29636a7b227d42199c30f4d7c16cd62b1de8cf7372007c2ad179f297035df1dc30f55a373afbdb55f0dc0fbadfb2c7455ee664c141010579b62c122d2b41a1df113eaf2a4f03a8909035e0d11f8cb43a69e7e4b979aeb5921f6ae2c20c34ec0c3f8299848da243710d42fb3b8706fcd42c56cd0bc0b19e9d86720bdb100258b863ccf6f34611cb4ec6530b92724e83f0de152b89e450b7922a3b0521fd972a9fc8f9f3f04aeb37cd60227ee22bf083db2b9192f0d1c5f40ed2a5b9059c4464a15008a7aeccc8209b65103a844d70f41a549d2f86cfd3eaa51269e64b75760e07c968e09f2f193697b8c85acd2aafbeb87ececcc597098909a53882bda16e8caf73b8bb6c5edcd937729d5945e490754014aee53b9efbae0a0e37da09546a529ae9919ade400d668c38267e37f0329be4488d604394076407622e453210d47679af1d8e4c6811a2843bbc819497ca9186700efb7223b2caac6705bcc39c13bd67e22fa14dd51c6aff171ffd34f108b390505b504e978f08588a7a0f3d3c458ef81c812942aad7332992bcb1a281605ffd1d7015724c42a51cc38538b422cfc221d73e45c7e4a78a5fd01b1a52c7364dd1d857e1f70f387787c37c29de0e6a30e6e373075f5e1f679a97f16c840d7218602fdba95dd1ed532bbad2ad1e717f9d55f510563523fa36c82278b1a429518447d609b98bf141676f18eff0ed0d3d47be51e21c47950a5892e15a5a7e1a888ce8f81830753e3602bd2bcddb3cf25c8ab6aa08395a2ae7ce2881ba24ef6194d2902ae0bd3aceace0bc730225af98d103055e0018aa41cdf745b7c09074335fbd7d0d0b316cc32ed1b14db4b1ad165f7c97c5253c5d00c53cb377fc4e6773dc81b2f2a014869e32a500bbcbe758fccf25096ae986613afa9b0db479a37fb68658856c24f88f49d6f2a0e753e5d69ceb4b3f673131566a22369ffb2a4ed066da34d39ef95f322cd948d7400c0fc149833166c88eca0d746de778d3a41bc4c324a8bccbe624c4f71db19478241a6b51d497d1a065bc34f36889f4d9b0edbd90458f8760fb619d6452e97314dcd34735a0cccb8d3d233a68a72c6756ca54cb5f358a4c396627f84e6763d4e866121e259e39eb941b1a7d4512ad13a427794d9c82b8b8364188581faf690604a57c42566468aeb174f65749eeccf29192bb2b81fd0fc3ea24b2a3f32883f5da8f9df401fe1bff523fa5af1d9bb898af502de5889ecfa9f00da4766d541e9a3901bb7a1f81f6627966455627eb86d7f10ad127f391ad3968af7d1d6de604f3ff71992535cf8c37ba33b6c4c9942b41e0971f23fcc7b1f58353b16c4f0d28dff97a3d96dd4dc94b821ddfbb986579b43ebbe546983e3fd673ae8b116cd04981d58ea79efe6fdf739d124f3bbddcc80e5c858aea7e03f6101e37a7b448009f03cf4bbeb7a2138d0474c40115b7b8cf6a7b5aa278f20cac0c1ca3c42eed2f500d3954969a1c721780626ec504a9053629500da6dbb02be1273cf6835c9856956fe4c4f1e1d8efdd77a38b6f20f2b7c25cf675435677d9517cdd527d82ceb04342ff3d731497c9ef9d090b780428428f9956514655d785c9d66889d80cec1627e44de52e40efae7afac6e7b59f41a73630fed8095ddb8291ef8c9e1bc6930c85c2ef53b2e3e322b30148ee1ecc9c8d896edc8553439d0de58ec9623dbe4aba022f316c94d8944295f88f57d9faf3c1e85a532ba37498282b9bd6ad2e91e91901174fd011682d4e273dd26f3ac1d50c9037579a244da13450e0ab7e1b52578a98ff7efb47f2d3dc50cc5233651f6b60adea48601354365ac4d7f0bba485c35988bd048d280bd6408afb111d0db943ae6728c0efa2b7d556fe25d5294fa329fca9113b2bb108f7750c6ae2977bb42213628a9a160d052ffc954cec70454a77aebe95e32a655f88f620c1c3fb0f3d64f29c8370e3a1113f00beb84e537acfb5c9456d79858879194a1b90619f302d2d97ebaae5cceee0bca2c690a3611d043777dee732415d466f19705176d0d71f352ae02b9634ac8b9d9ba1ae1a499df438a884bcdfc021a8aebc50a9ec9e0a7aa762bfbb6eb215901b066b3424033230a0f08ec9d8e9343c442cc13b961ee3b521e45cdd1422bad9d93a523b8f0eb39a5816571049ccfb5ae56e1d0ba2973f6e27d8b6c3ec04b9462bb26f0a482e2636baec8528bb3b3807c9572c6b2168cf85cfd73db9e2518245299368bfab75b2589964d35af89720775c791ef7d89c65699108c835d76840967d98b55b40fc2d49fbbec3b161b073d68e73df118f35787a328a4ba9ac7ef6efcd35827a372891319d0cfc69d445f10f477a096ca2e875958fca355932f482adf8d1368e39887c865d0e1e6d3f8281e6f15d2e45b2d822a85f7014306af5cfc1edff3d25d464a48c494f69fccfc5045a26ca37aa27691d4ca57a019b869972eb2059a8e2e23a00ea9fbc6f113c9c22025059a62afe194869d3a889c3f39b26fe83efb681e94f6f6ba721cf1e4e7e61d97f66f924cd513ef8032d5c35c37f54cf089e44ab5cf2ae589518b8c359c7575f7f7bf44782f942fd80ed046af0e883fc1715956075e193f1301d09ddbc8ee9d68c5297c406e099a3c7772054571505dcb28022d1c69555d4089e4fc04c9f7018f9d397be4f43d3f41d0db834226367c5a759a5d204e8ff48197669b66d255e5d3ac9ebcc2a0d941b8a98791480c3cd1c2532b543dd5840ec525796868e930527463c7bcf3ce8d6c06e27e061edf8475a72af4238b7dfc4a9efe037ad799379fc22f10bd80f4d487c4d13cab8991c7d07f3acd8b371f2455cc90a742922aae8b1eefe0c63fd9e9eafa2f71837ee6d3f84d7694dd3b329c8c2da9ec4d7594f94b343eb0c0b1862c06219376d4839089450c0660242775df018eab010ca807bb61c58d08617f5293a1da649219050398f485022fe1065b71309c73fe6f315672e7c4bfee6f333409aa2739a759df12b901478b114ca6c74ba46b0856ce51b08bfc93e915edb0fef395029e1a854c3527834aa22f0236f749936f62a6600e7fc350cae69ad450a838917b1cf8ba4d136d57425e57fbdaef7b1501f3c06808f8100f1eaf7be33a477df8910928d33665234580fb81465159d037044faf3139159fd93aa4ec51b1bc2973a5e2576d23018742673fcd1350d36994e09b76a9a4e6afd5e78c0350d8c58c512bb259d8ecde75cfd7965fbf902aac8f944ad7e922014b4474f94ad751010acb2d746eda9dd4a3e0e122c7a37c7b7143b61421d488237c15113b98e6d56246f3e4c20df6763632628822260a92be1c171482b6858bb0f4db8c6cf84ea7472af668ccc5e91077d2eeaa533a1107ef28a092bda85183d698dbfe797b483877b562f130e3346488af392365451503603a93bd151ee299df2f32bc09993f4967ef2aa6714c22fb89ae5ffd2396dd8fce6a791470e34d22203a66c92590e282799175090a7635d894ff7bcecc389c373b0a26c0a94fc660e3a38e2ab01da8ccb9af40078f2e07fb535d0b94dae3102cad3580d622b37839045e03518474223ad690e70d17054c010db593ae2170392f34c65e745d18fd0931baa38550d2e1628538a3558ee2902700f444857158fbd02ba725ad36ad3d246df4946958e05cb9a52051e0f74f86ce5ffe1523e512778d8d3b9a2de78531253c7d16e6fa9e07bf4fff737672372a867e9a6597d1c5afe59dcaea458234405db3c34bb8ba16366f97238489e29c9350160b4a72475652b506453cf4a7670d335d95b9ebb1c22cd8794239391b2fc5ea200bc8b9f9a116414af2d94fe2bdc26afea313ac7983515055dd9a519a16b233560383d8f0546fe09ebb7b159dbe4a5c61d9a220a9bccea2f0d3019f83ba5c305e0989bfd9ca91298935900daee04fe755dfc829e399c4df2f6a4923001f3fba5c3cef735f5e67306b323081b745f2ba7cc8ee0319fbbabcfe4ba02ce3337548887c42f3715ffc4a84f3bd38a7966d6a366d7c259066a716eb99c16951bae7cd00fd3a875e28d8ee5ea333c8549a3ab3295eec3e2d191159829d4034b7c0839ab39b1f37922ba5d43e5578930052a17422263b5efc70f099ec31d1d020a7ee86f02ab13ed5c208016f85f4967e0c47e2e6a59dfe9630cc3ac97100039cb0f18c9ca97627f34170088160f2ae0739a8059a3baf5d11146f5f6efc8de56bbb9e3cb14fccdc4603acc889c8907132a95a2f459533293668347f978e1123b2667e02a95497fd29ff51e89efa1dc188d5d62f88f531b2a9706e0b677e43ce6fdf853b57a4dd5da5034059ce3f6f426583bfffb683b5ed29916b956d58a3594bd5bc685eafaa253893bebacf0b7a8434507c736a120addfa48d5705ddfa326a18d9057f7f2eb3e3f54a1378aa668b10f0b119380eb7131715a4e3c5a547675c77a6af818b1668f53ef97ace7d00d1efde75fdbd1dc71c287afcb91204c2ec96fd6450101971fa15a83f7acafb37b9c9009b432811008cc08d3c00999b207112fb13c0cb14289a176f3771e2b12c67a87cd882dbcddef48f6329aa98422671882905883e5ff5a63959c87a42c69cd233b1aa8f0e4bfb198274d8e02e3e4eaf5538170c68cdd691954fabd8a831c210e190c0620956824a46a2185ee21c3a1d3c04c0c82f2ccfecb929eabd0bf68b9174ad67922bf0b83d804591b4c1284752ac580215171e041c2693fb9af484cba277dd5a8cc3cd83497eb622865a9b4ac0bd8dffdc27d95ceecc129095cceda4ec31851bad9ae2de31e14cb16d31bd2a4b265150277a1a0cf258285d21d7951784924d7acfe73d5695c33d54b092c330ef3b49741d5c4a4ff59b72a67f364c05b49d0485cf85af6fed9da5639e2386bbfcca9a99e73dca8972fdff76fafd5263dc424dca04da18dabd756eb18c8dfbeee06e1f06f47a108a41a503d67a0de6b08015a6703084873e40f6d81e2c266dcaae2ed7467d1b61e58dd3a330d2ba13e409b5e4e2574be54177d516f799495405e4a99905bd682792a99c914d818b322f13423de164d473e46636314aaf592dd9086e9bd13ccfef6370da705208869a0ec3d7456472b0c17f4e019021b90e1f718ac16e94725270f2e37034d7e47caf522ab227359d5738778bccc0213567164dd392ebb5204d0bb0f85c18a5c246b10103fd9e6c8873dd027a29a5841fe0140e0788489824d783307399fb1e00f222f7a68f341062067e47e0a9574a5541b4293cf5acf8038b1f3f561a9285a2f15a8aff9b167e186ef3431bcf5204663262139fcc32c13d69c38517f8b45da5710714bc672eef0ec52d2a86a29f7a7d9112e4719c824da29bad89207e8c28b9b79d2a89b2492a474643b1937da296c98d2ff7eadadbd0b527959fe91705881a4a855f2f80417a0b0f27edd854adea1753e48814a6a8687c993da130c8e54491be486cdd5049506eb2867c2584d7213d29b4891216b48cbb9d716ecfbc9d4c16ace453734158bad313a2d9968667c6517b3fcc7a37f52cd3264d014f41e73bbf9736749422a1d18bf73b213ff13a917a2265a6607dc7222e91c6157b146239bc4ef298562df6e907466ed4a11e123f511019e4688154335054f2864fec95050b561f848b7d595eef16644d211bc4e16a761d4fae96673844b5ad954f85a8aef615049c23dd6ebb7191a45fcf19bc3d4be5505924dd475da642f3234ad8d2e631442387fa21a3213d6929db0248e09237d47dff63b3e36173caa12401d4b5d64443a30d92cd4c1c9ff0764ededb1a66d272ee8a0fa9a6da871e17e1168d4fbb1359b24dc8c820bc1497b880a9347669918bf0b1142d3329890f9893351050e2e5eec0519eb1abcf0c72088cb912321571e3a6d3f05e6929eaa342ec11e5736b477b6d189ed6d393cef7c99a8637c33d612ea4469a71f4287da610a521375039a4c80a6404f2272e5ed6d1c5c84f2ba4f0c5336992a53d0b9c812dd3358c3b3b4ea00ca912b3d40af1decc1b71ac1f2b64fbdbbb460609f21461d2450ce07be5c3f636cb106a497baf949a311e88081ee44c0f1025ea9c0dc4e091142df7b9bb8461c01ccc2b2e8718c2d2538e724efce894c39c9dd1429aa0e07c1abb2c633723fd79bfc570016648bc91fe9ea82d238093b320c03f1dae056315802370b9f1c211932c4cc129c7422adc2bab8a68e4a63f03ccdc6967fbb1e1afd6043f311908151bb982b0423a93e384177e7c87179fa5cf7d6be649eddef09cff143d724a0ff0f371f2e03014f844b2375b74ea77ed84613bbc56165fd0ce94ceb49e40159abfa08f582466fa49734f680f59fcf92d0e1d177ef4b7724415dd4d5718a78717a86b322003c15a4fbae81529d95668af0505aa762c54fa0c2a911cf856d39c202b10a42d4aec625039fa27434f3733f6b14e37a7aca5f3f617966e1db9eb05d63895fbf3bcfec0e0e4aa22046cc07a6586fd15a42ecd661c861926bdfdd632d98bb99415cceac8c7b1df05d56a9742b50cda541fba59a0d7b62733037944cec4b72100ca8ffe91195a81645349cbf118d28119ec11b56cc4bfdb331b9c545d1a8b78e0bc8a6248534f2bc838eda0191f6bf01522ce50a7ac543c84324b0f11f50e16b494caba930fe0e8347a9821c5dbfb5f508e94f764293a6a13c1b5c4d6579a99edc25225a7e79bf381b2b926d796421a58b99d2cb0f1af11a2bc5ae66894a1eb1f1ed414734fc41b5a3978329713ce20d456f6fd3d5ddaa43644a447092385a58f41085acdea21226ac5cb70c371c94c1bed8c4c3e7bbde25b46bb0ff9dd51fa947685e36932db71382c40e81519062917ccd359330a87013f8ed5b64be408d308727bfdb2c097b94c396128136be020d7396e68966aeeef6ffb285277a3443d2660cb80a8f9107832f865268cb7234f1df4a2f3327455a73788e07200c2acece174da4cb265f7b11130086e3fb904598a488db6aa27de8777ab7c1fe25b017e38b8bf2a35d7850e343b4376d6a24a8344804ffd185028a7ba40e362070e31f37a78fd2c2ccee7bc6744023cac73fbf73bb149cc5e2442ae72a85458891dc7d3ff2fe2fd585aa185f1fbde79b0f52193344c1404c0adffe7c879958017fa84878b08526c1c0680a5cb7fa40f75a1d953f3668eba11a63f331c3e32f989916252a208423650b2020e277229e20c068ec23bdf6792712e961449be5ca902dd15d12e5ee771a9d251a7fdccf1f3bf4ce4c0ed37132448b2df87ec817e6a1ca2ff5ad19bf263f25c9d8045393e91bc1ab97edfc76372ccafb339c902226ab6a5adebe63ddde6f0487f6729c6cf367712e86e5bbe034859599ac3d1250e31facc1f659eee16b65db5262e4a42d3d3b381ddd243a191d5c78204f90ff682d7c60cdad639b40c45242100ca5a0a8460c32ae65570d304bcb17127d5aed57786aa965a5b527155c9db7266a2e53550f4cffcee251dd26b3bfd7dffc8758b611a8407877effd2fc4496ff0e1e606ec4470fe1230a11dbbd2fb3e097002986a60e86b2999cdab50552db056cc1500e6f7a033adf09cbbeff0939d910801ab326683242325926217988228d3c4dd9f0cc7d1a54b0489eb2ed1fd756a1488a3fb4aeb8402fcfc52458d495fbe7e45b88bd89486e2c8303c869bc5b3c577dcfbe512c7ad227629f4d9bfea5ebc498476118d3c34c2c747c4e01076e1eed9fe8e3e9f3a7bce20a45ca37cc39cb320ce4a14032119a86a96c342f7ea401a19317a449782f628334ba055cc8c696993ec66d5882824c911203f63794c804a2d9083e9a4e7b9ec6ef033fff2a7208eeb17998468186017620648b82b7dfb787c951af7c33c80c998665e21dc3f0d3d9f8c6b21a1d661f6bde3eec85a8b554524677e0be0918f4d320af68ef6d5cbc82c451bdbc527346adad3c775f117a3bb0493485905a9107b380c6b16bdb297f813c194ed8487d93303711ff7ed71ca97736f25adf8478c42cec541a9600b1c2d30ba141402c5422ba1682e83d373d6e6b0cd4254bfae68d8663ba0fe71e583ada4c7b06618add835cc374147a5cbcc73f141fdb3bba1b02b52842f4ed99c70b5604c4b9f9f6880f52a227fa7dc52855535f3ca5f0bd8d0a23b8bfd2f1cc4292d69174402aebc4e4a15e030afad9b35f6515e4d57f5238392e77fe78de4dfcbf9e21623b1f65fa258d0f206eb806e5d7b8a62d813a4bcc72785f8d00a7a2118ebfcf3c48e0951d2aa412baf7029fd08024535316315797a5661dec6b33349204f30388fc8311040e1f61c241a8820fa77aa67df1e117bd3ed567b7771aab70c8b7b0c2e960db56c8a9d63bd77b7c7e2e73bb3bc2e4ae59e798ae7b3fab4cecda1614223d6baba1dfed52cbb023d960163b20ecee136f9a289b9acc2c1d4c72928c9f4b7dcc1be22e69b16d155b8dd371305e6936338642c9e20a476c5e06be1132c3783277b816c8dc5353169f3b75515c671d8be4626a2f0eb760de9b1af24f6c06ec0cff50eb74a5dae6b306adb30406642b157c2d242d96bafd0cb1afc5691b52c4955f069c2bff20b622da18e9bbc8593939abdee27c6763c43915a1fd1d9f8cc92b93dc8eac5a2e4031b90529e07a09de3b26b37eff62daf845e02605e2a434a8806f91a5a51c59d473effce4374d1c581c79d59aef6df176fa7e64a9809875316582687503c75142bee9101db2e17395c50f9d81e52616e8c7a6f8dc5c4285f005dba072145ee74f3cd4cb45729e877634374bd4f388cedbe484bf3ea0472bfc6215744c8f24dfeece28a4cc07b9eb7e08293765fe2a932c79c01a279b4c44372f9bc6c8b112bd7b7caecbbd3f8b1c05ea1e8c05722ec8241b94121e77326d8484a37f93370344b60ac53e88dc976cf44df8c08620c75ba193b7249207e1cd5dbd4c40635dd68d4e574d69b840870be77c6458f2ec433890c65cfa7924186147b854b8fdc65c027cee9f0684b54431a5efdb4f401c50e851b7c7bbf17f38a0b9a00010b33e324d2daba77bc81b917b967a599d2ecf71496282c9689327cc75ebf0580358d45b3a55cd7afe68fc1c119a734d49f6719d91cc819be0bfad731301f547dad7305e026c1defbac38cf429ee84b20ed9a702c2d580d8ad2463250d7a2ea8ce3be00d01082fb5448881d0890d41fdfb9e4f8449475fd83a0094129e08ac3345f26edad655fdf150de9046f07db99ead64f86f278a1fa0996af57ea47ad42309d84b296cdd00f6fe9fbf4c25c20327a006a0046f975a712601a40f7b5a9184a13d7c1d74157624f5e1566bb6a23fddb9b63681cc34a89ed3fea95506f8632ee53c8c8d64cd01e01e7cb336b585a97e455e518c5184969ec5e7a43b85a25b94bc9650dbaf035209348ed1d671aa53f3d4cc594b814fffb2c7f81cfbc16d822fda15d882e509f25bdb34ba3814a9ed327ffdcd94d71d65977fac710c7729464129a1af5b30c1cd4dee75d10da1fe049d4f7212900fcf1536faacec68661409b9794b22abb008e90a739ce1052d045dee453ac4f0816d2df17c31a5f90dac97ce9632bb2ca6bbb46ec76e7784774f2704f24d53b70235d96fd2778035c7776329b24868ed392147fbdc12572d007a7a7d1a42634b46335d9fffcc3d7069c062b4d6579fdd311c4675068718f44771dd038b261805f7c81df5855e8183ce8f8b74bee786ce9859fc4ccbcab5e06f9e28f4b5ae9b9738ea7c5ba1a45c238e5f1942ea73c5993d6e3aaf13cc884c1a0577f8c4be72bf850140be731bf8ca903804ce688dd00b7a4369c9ffa1f0866a9c6ebc51e71b364064449a3636ee41a6b58a878b136cfd9b00fefbc1b44d76ad8329b10909bdd25bea198027ea5f14619714c33d77554be8d07132b1535b07e07490363748d7b7b4d6c52541fe72653f70b669e1311b5f365f0d4b5a49db5773601d180fe2476b9f5038de9137b3d248037f7e84bcde332ab3048ee07724af8304f569fd1750bdfa0201580255c83ab1586ebd9b31aa1b81d458063dcfdae8099583ba943afc2d6b15be1e67149d956a625e4aa45c572c3091e4ca392326219dccca9c2b1cee481cc961d409ec38303b33f1857b2a2b2fb12bae3296e17a57e95b255e6695f0f6a1598e51804294cb4cd6aa3c44595ec174c245ccd4d9f91fb373b58ba601707abbd4a843cb8a69851ebb98e92de0e7d0ead53121d48017058e09f711567abf812291e1f2813d1988fe27dca035f3b9ff56ac30594839630ea5891dc916174abb4845828995818a27781a71c079df6792262f09faa7088ea41575031eb7af1ce4bc481c71f13a639e201e9e8c77ae2779ac870dc8001b22ebd10ea3b1f38c0bbfbfca4ec5376e4beabd893c02d8461f8c60b1702c5f3e4ae3c3a9f128a92b15e4b5700070cf9d6ac32bbf55c4ca49741e041a523b960822744a47aee44543ce62619967e8f433ec05abaed27d5919af61373456e9e7184368f78f993ee1002f7aed235bafd28e0a8fe295fe1b5fbb1c7a7da771a3989e21970a51483bda634aae60571cbbaeea700afba862fb68ec81d79630e6b160195900df02a84d9e5f07e46f700114805f47de26b2ab9b516b51472b307f38134b12d783313d5ecd46019048a795bc0c96f40dcaeb91646bd6b03caf6315426408a0ec67d96141786158cef7716a70f14a1a66214472a84b871bdf6fc25c30e4e00f169f9bb54b4f0d7f92a4738eee642c23e9ef0a2329108dcac2184965c164b25e24bb410b3e7a029d03e1d0ceb34fe88487bc201cfd5cd5b39a4351d89077093a1735f4e5216769bd43380fe963ed00c79958f47244cb6a3e5a29ef86e43af65948745902d14612dbb245a0fb5dca8750fb8cedc438b5c23ea645e53cf79851c0557966ea9dc91ab94c836f4814ea567d4cd48e882e35141a1b647ea917199537275db5f46269d52e68761a6dfe5eacf60854b5560a09b3d0a902ff63a295fa98b384efc70bff3bbb8b5bfdcea4bed7ded9d24fc99d37de1919d972efe7ddcdf2262b679467dec00879f10c1742225410aa680e6196081d786cdb353b389ab5189b9962ac8bef1d7a2100ca8337c30661a22c475373629d3867894a0d7c7c59f0ab0aae88ef8f0b8bd529e4d922d2b22999c0caa8582538edcbd6852e2e2c8b2e5b6bba331b6e5d8a5c1a50030b40f1ed079ceac8c3a56a9101dbf7ef60cbee96e9fab3289275f596cbb4703f412d8d93892b06c514176bc4dbfbc6c59af64c031964a06039b2076e7db8cf639b65bedc9184992d3b5ad3b69d32b99a34f4e3f94a98492478b0ebda30c25e33dc91eef74a490dd446dbda9cdc14640ccfafc5708de560d02704e452ac4188e3c0d54b5828c49aeb11c65262abc12d8aa9f8a4c1859f2af8b58028040bb7bb268a31a71f40459f4743a86fed2c5b9060fcec3b546d01f9f6b0a1bdd701fff1d3f72cc5fd18d4047f5587ca407d855d40877b51a381d6cfe190b0b6cf4b52e0c54c2769267186cc0d88da5119e29a43d63ee5851589fda5e27f54be0fbb6bd87e2834091eb1a5af065ae14e38cc3b043fb949e3c7580e5eb485e6af289f0589404aa69e85758761a6e77aa2869f55d8d6fcb6e83c06353f9ed7dccd4c5d22a4e3c5bbfa80764f44cbc36b47b6e8d6627492c305de6350b2071050e77057525fbf615ebac222a5ea72932cc2546841d595662c782478c1ddc6caf38cbacd749d4b9abeebc696276a170851e50fba2c2b3dc0ca606e3bd188c4e6a76d0e9871e3128210ae604d81dd1832a1666b760bd9dc8a60d9a9688305f687b1bc21ce0659c541667a7abac0880dc6c72ea79a5e5338d85816a46a8f853ef511f8493941af21ea36bde9da92383eea3c87679f70df4c1a0e81543b5d01a572d2b4d1c6f143e3fdab7aaa399054c72aa20ba903e8cdd0e4867839dd7250396c0d5a181e7445556617815d51f561fe2d8b1916ce863cf4726abb90cf5ee725902d89a819cb84e36957a9fb48ee158ce27d586c2255d4e76815c9b4a96f9109fac1e3ac55268fc910b589cf3d94e2956d2eda4e0016aee2f1b934c94a3b5ed21a0534bb821a7b443227f11965483275045aae914997710a9517341e9719f47cc65423cc848fd3be18354dd3cba8c45aaff0562ee6e32f13111c881ff2623874b37724c6e662c6618de6c0f849b985d84a0d1ce04aadd4478eef2f62d94d4ad27459f9ed20069e6560b2018813c0ca2695421d445d4e1db1b96a59759a19b68c0912fcfaa743bae30318475d23e3bee7a0256444fa7a74ce14b625f03a63e0a1dc94e14254a185371495fb210b31d152363d2544f23950571aaf108aadc42c754ffb24c3c05ef3750e39f61ced1ff11a420ad466498353ce2316282e08ce8455d7804bdceefb5a88c9e7e0c4c12c0eae1b17373b439986e332e6e58a352b2b4af46787168d4ccb9a120704e3c293df52929af0c69a50492afd70b873149a9151b117666eb75b92fab38f3fb10c0c1fcf466ed79a0bf223d78796be9752f31c1d685d015a28497d113ba37c7a1b51bd7ce0ef3f967937aaa95d15f7b2398fc3973f87bd6713873492eb85f6b395c8d7d338674b79015a2e994f40eda1b6a3137646f4d50aa3a187e2aa900824439c88a89d3ff9ada084a52f5bfd450ce6ef7332b7e8855598e01ff2b503f04ee1fdb1d100944d05798504ad16d75424ec0e6c5c04ce9e892a5594fd39ba1e93b4e6f254a7797b738213166145189e7f97fa3512e98b0b60c41ff4d57b70af65d7e76aec43dc183a6a9134373cb39abd65914a154372ebd425c84418ed68a1d5d636ee4daaeb1aae3b353fbcd49892807e7a8ba5ae64d095ceb670f77f887bc1e10b2d61beac3b08897ae332d8c744608fc3222fe056b34302118332be0e3466473b1767ebc282df68f0ba2611154b74c3477051a44c4a0c015f83ac9e461d871f745be0031326ee8015dc2158780a9719575882514896a68c350a10e76710f931ac9b7a18ededc786f7817b64ec8e85f3f2107bd8978b5fe576a4d854b3a1d9b99f6436dd89ede0f879c008b9f4d1153042e64e08c7de3de50ec97acc43e7ae7869b690161e085ef461ad2443d0f63a66040251f22a3b466dbf9f28af5b709072efa036f71ffca7f9c17c03f7ee0252a795f5124502eda57a283a1ec4698061967909f04ae3de0f9d6802aeedfa611097acce4e9ab09cfb8fb8450b5e42211625b577c23e279dd004ea4681abaf047698c60c16e45deb6b16a0c2d6f87e38aabfe8595b2994da17a168fb8f3630b87c16bab30fcda51b3b8f1a789f3397f2a8df8e504f4e5a85a494953b851166b20c5f6191c8ab9de258cecf87195fe1cf31b7aeffdbc441710bb84a70a9f66fd8782d999f24d87f631b69b45047abd9648d800de829b9b20b2af8aaf3dc9dfdfaf46976633495fb000a3138413d8e8757d05ca8f233a20807fbcca9edd49cabc757fbe1a9c5c8389d5dd1093ed603b4c6b87f26b00de5aca2c63a4233ed8e29ce79f32911cbfe414b4aa0a16fdc86bbb215d05dd86cad7d52eaa193457b3cc5d3c6a5c1ef5553982a97273b165086c291f53dbd3852f3e8a88bf29709c473a9d2db3a15c9742256b30e3554f6be17339fa8097d061345af1dcda8325995b784c2a81f36012e192ad2774b0abd69eb2557d5360da1be61c2c291d2b70ce565821c77f1b4ed0c1214fcb3ccdfd2609a8ff1da13d4470acbda30866799a349cb3de18d6661a9e1ea2cabe992a697322bea08ddaba3b9848de933de8901971419a488701991077415d82efc496025985a4f94f819db99d0102b1d14d223f30e40ae8722564523a07c4a832ad9e4875e079ec7d3b2e42782f6d0bb6314bacb5d229d0d3f2b25f2a5d734b2ea8371941917abef0e57ccfe040acebb83ee48c3200a0f243f7c1ef25462ac7b5a2ba97cf7b40ff9bebbb8b81307f5419373028e23b9cfc894b5dae2bbbe5de3e2565b1cb1e1f22235dd2e88163ca392c7c24a01513d271416a1355fb3410a7606170dafd3a9794e9f373646ed04f616ad3e07591ad7d685cfd59b34dfbb91263db3f0b087258bfa5da7637af64af5d15f0ac6cbd38b797df59789b9b238d5d862be6364974f99d573a90e868df2b81a9cad7a0940f6bef78c558e0317196e693e42e807c6fd78a870d54f9300ef22ecd07db58d0cbf6ea590b849350e04f65e37c973a3bbf164b34a61eab64e4698a76875303bfdc25e5e5039c2e2a3b3abeac297af25a541cad0686b91788bf258522bc99d38566fd0dfcf1d9bbb44b414858a11c76e5d6c475e4d8a7564ee8b34c6618af67a2949b846041a2c28f7555190bb6ae034d677b7f3805709638f37d121d98e5bace258d6849238af43d2b1885bb66db44cc4e8891ece55a647bab685c27054f494998f3a57ca6b6e8bb329507b40186d2991deae2ca23ee8aaf6f5f3765a3f8cb8b1c35938a1166894089da24f0df2ae999eec9f124ca8ebd20831a1145e7f56410d598aeb8080c2d20f99c589b31bf4c4da742a79dd1c81ef01c7e2f44b38c5768e100e3dfd8ea4bc990791880df7431c97bdf87c57a271d9b6c37eaab71daf65d791f3315c7fabf6a53537e4ca9f7f11b3e4b0202126b2d6f2f61e3dbe5b1d61adb297526fa338b2a0ee6e40b85ce188ac2ee4be5f8d4e3280e17f4f3ab209d5f9b0bf86d0567d8748b51940a02c1d950fbf6e3fae84a18e07b2d53b9de04cf826ffe9c135d460973d5d888c8a1e00a954e0538cddaf66745b53806068541478b938fa15fbf9bdefe842480c48c4fdfd27311b93ce8de24371904c7cb4243fb99beaebbe48fadce5e5e2266dbc27f2517bef472820d7b288b6578db101445b156feb80e39ef691d53e53f00b2021d5ff2986525ce576ed7ae98a017d7d9d7352e1b8a02c88e886621d504d41c4db51b4224e81d2b87817589b69b82df05bdf3f669def6ca9f644ee92eb020b45d3984307dac518f9cd91d91a10524b0e2e24061baf7d33865208d21a55316df39f262d4479fd35066d27223abf0b6b3d435e12ecd4dd2d54e36b29ac9c3b8d3f7dac26bfa6eb69f545ca246a7ea5c3e2d690bb8b8d396e9510171d5a040d2900f7085414f2233c089c4c15cbf9ae292b72f20e0ea72cf903b9024ffb1ef4e2270dc9e51892b49ee33e66f69117dfc60976331c60d3021b6e7028aa7af7521406871e45a410ec41c124350d4a8dc1d6e7962e70c42c0bdc52efaa1fd30970dde067d2ed7711f9551b0f24b9f48bfd3846f9ecf8b334c938debf1ffb34dbe38100d2369dd02514dffdf402effaf3676385755e549ceecdade81e36ecb339477877f8a734b461d6fd00775417a388443e8b426ae3bbc199da6a4a5d0f1179c41862f133a8929d63e39944a55b9844bff9483920d8c136d7b439e8fc05f20c0520a470e4a1bf364b75502f5146f7d333b33d8bb3edd2379247fa5b403004d88d1200bb01ba14f72cbffe41501851094b55249b074a7e01059a3d913c2edf1514e3dcc8bb170bd40772d853f3078e3a4cb14254deb4aa916b3df44030e37420ba5b5394520c9e8662f761fbf0fdbafe3ee2c035c6cb5f37518bb9c315febb903f1f58fb594262cfacac55725300324f4634ab59d22f00846d8835b857331a9c4dfd479939109a873bd5dfee43a4cbf135dd5f24909dd44098e757828af96c8c77fa4792f6771bdc66e0dfc5674fa3118bc62892e2a6e5ecc23bc88e820c47cfb5341d9641d6646999ed096f5682046d12994b30d6bd6d7eb5f5b9d66511d70d5da77c47c500ed2c815d436f2ac45021851db0e36a88339a7223de78cf9a3e38887bf35593b3ae8c0e68fae468c3a7033a59730b9d0d85cc50fee53b6c7a93a1d8f6f2970b1213af41ffff546692130922c962346338846c56cff01f6397adf1a6ed384e35449fc0b38c675d55d7d981202dc0beba56c09959594eaeddd2bcfed5248d66395858ac13ad992566e31430a4de1ed079d9cc40d145c6b573dee92c4e6586f53e32f40547c8651018039f6765365bb99b2a0d4537805aa0008ebd95d46be107b647a9efee87cfab5199cbb5ed1218551ce0638b3b34b18605ab3bda8365630c9f1a7267e6670ff7cf9b0196ca9f8f205876ea0459e772f39091410176bba889291a07459921c3c39cf601883d5c30579d8de593ed017c0dc79f8ba94b48304cbc7f08c868049742df15ce6f007e3f4722714bd25f7b2c2932de8e162d78f209f354484399a6ad3843a0f86c6c20c2d7d9418e7c9d7d47ba7f5556338b405d5b377163f904503a68c458b6c1cbf4b2cbbe3802f6723a2a9f35bf902e75605919c7de118341268d602d24281f1e8a163e9cbd3c5e69ece0b28634d4b9a8d9143b52b1e1bf919e45a1b546cbc1d84fd4cb945ed9f9243b6ef25533c8143f3d397cf10077a3b4b393728f5577c23ad5249d71786b47cc9853efa6c0e04858d3d5a739a6e5a6bfccda9557ca797d359954f74e5066b2982e18ad45dcdd1c7daccea18414bb8151bdae53949af15a3db38546b63c47d4c2f2d2b8e984d3e337a760eb5d60ee2043d6a3153f4c7fab946632845137fe6eb40e7d282745bdf04b9055883f51860192167d4378d1b1ee7d49ad82dfc39261c057781267b856a7b77d6b3c68c28e80f16471165c75083b74b3aafd167259b49e31337cf21bab1bab1af159bf3002abeec0d3c4942384bf47392caf80662ccfe78038c789beb9eeec4b717cbe8d2934d1c6aefd90574205a9c634ce4f26690bda477c8a5556fead8259fa547d179094a5d0334b05408af143f92e20c4e760a276a6b0a9efa29a50a2b7717ccb263751891d682f3c7dea187129153650ab17b5b37809be2eb499d617d15a62b275051b490e22eb82a785f6f92ee5aa3b07032ffe0f9a572e6b22cb427b84e4bd76974a1a59071a13cd40fb9fc8920b4f985179810c22cb77effe078a9a2d32a5fbb4323fe776a2a14912dc5403aa2c4a6e5d6058113707d9c5a426124179bffec391fed23c9039dd93ebc739f26c93cd35f4cc2eecdbe426992416ca0aca71b61f093f60c6ff24e9e016dec1bbf894442cffc02bdc556566876baad28fc4008c81d5c6f8286dbdb4899452ca24a50cc606cc06ce06988a4f4df1a9265a794893f9231f918fae3db65c40568fd8f3391589cde6450a0a52473bdad3aa58ad9e729da1201abe9128a8fa8126913e52fd26ad300f96738a306e4a27a594524a299d209d3e41778cc1246cfa03fd8da25422504a414a299d94524a2925551104c750fc3e70ac8131bd8834a1ccf781200882a098b3c70302592ad65a6b6ba52ab3470522dcf46556678040ff9e13a86257363d556da3a9fce013c1a02b08b289a2fb133bd91e32543f99b222fbd8f42d2853b207c8a63fb6fde40910dd001c4a727050b424962f0a34d8990d2b3d551b65da4f9e503b5a1e9fe9337da6cff4993ed367fa4c9fc9ce78e8e00712e1c508242a575f72207655893a3a55956afabecdb56c41d8cf7e338b2342f8e91483943137d20d955aeb2604c97dc849883d3721d09977ee6386a749a71359ab62ad620c96c6cc549996654f2ace5a6bc6197391850e74ae3fb498e16972ef2b0f80d003498444a95e0f5e36624f717aa2277e2e8a60d62e191dc6184f12c5d7560f85d830ac3ecc39ddeb536cdb7c248d9944224dd2c4e3c6853237c0962fa6db36716edb693bcd8d05149ab32f8ae23514e441c814c7823ca92169f021a78dfa36a19059c89e436c0c4bdaf3ab8dadb367dd51737880e81fd5a8e95b50cb7d1f7fe69eb52ca0d000d8996f2ca0d0bed1817aebfdb3d9bec9c1bedcb42831408d9622076ca20a2b6951b90fa2a8b2b00b46d7404b3a7bcd5e61a13ef5036128e852910ddd64347966f56aa82ce8aa9d2868d2c7a1c6313f31416775db3ce7f9f367f876725a3b39a45330a6b6d0f06038770a16e183993258ee4758c1899208468a138c44f8a5d3d006588bb1bdf483d13e181f677456eb8cbdf62d2cf1744e1d49e3b5359c3189a51912897614122aafeeb5d65a6badb556afd5ddbdeb04b033ef3a1d74622e7b85a83337012157ec2a22b2431b15a4151b51100f5d3f07199b1ceebc583503edd89481ce1ca4a6d16844f254416ca9adcd16ddd4fdbb9e6f1c4589c165fc46cb9c4e1a19d9b66d73ea1b097409b5377b738cfa28884567bed1d0d0f5fc27a6ac4de72515b942f62653ea5b1a6a325f04cb6ccdfd3a5876655cf0aedc704f964be38afbb65cd39e16db61ee4a026d6d15db313b52d0a43eeddbf3b76ddba824dcd2bd25d1aa5896205366ce39ffd2d2bc2f7587e4a4b35a228dda74f7dc4259a4c83428ca353fb700084943d591493285faf9780a3514d3509413451132ca94fb2cf038df5da4ec7442baa3b10e66aa818a244e89e49f571d9306f78194613e117b7ea5c35de4c9fc8c6ff56a8c574bb59437f40a817fee1f38d6c0985e449ad0bf4ff467617d46001ae67f40531fc7ea8b7b1212443d4cc27f6cfafef9aeda88f5b47a12901ff554bb1794f5d7d3b7eebd1475bd4551d65fd457af03a583f51756bb15e28beb2bce637beb0f9d550f71fe45f5d7bfd83ce74be6b7e0fce6e7f5d5eba00307ab2056b74fa97e3d74563bca7afad6667da488baaa7781a305f5d6bbb830e926bb858b0a0301ca08a44602120aac4a56d339f5b3addf872947acb5d65aab5b3b2904ecbb09088ef8860f1325b538cd8c0a0d3f79b8855b5777ce766303be115e2b602cf7a5b1e6a1abc230be91fdf4f983dd843793630830996600dde4266c11a1230407068603c36982d34467069c26446444645e181919474e241bc98d911a12d2a63f424332226921d14856367d593b6247ec88eeeeeed575bb6a671db123849633d059ae34d7cb5b7cb32c98264499426f475ca1422244862e508e8c485c46c8d0e5a15c49c050dde57279d74741f44f9bd6cf080d05d1911a0e8cce48b4919182ea05521049672362d6112f6f53fa2a46aaab97e722532e98bf7c2051ae2324883ee65de01546ba4ba328326848858c4c902033332323d58d8c54373252dd083532aaf8288856207476811da5514a060d75446a65538a65538ac6a654cba6d48d8cea3a12684ac5b658a7237aa84383aa5ced3396754ef9292ceb8c5f75c44d291217487517284f622881ce46c6519e801d50a654e72e274fea873a14965119998c653448103a3383659486d6d09accb90bac5887c4e2456723e3058e8c8c23637e41450a3ace39187aa894800059e2cb2d144433b78d5bc7042b88dddc4cea9c87307673d6f7db4ee8cc39ce3ddf1a5c392aab8e1b55a67ab5566beb4ba939e8244368d5e8e60650a6ccaa7155f3297acd68aaa9dcfcf057a958b5d63aa594a552a9542a79a8fe7b3c32a8570904fa9f2a4120d9f32d19aa9e9b4889e23566ca407ffedfebb1d66ed6d690212f49136a854d3ff3ecb0b1e9bb1232543313fa099b4e61d3772c5435db69b3b96e75ab2a95e475da1a56b43becb69952fca0946e5e8cc77bf17010b36df3d3a7af568ee32cd3093e8eb3a0b08458436258268e06da7efd5aab0c8b8d3ebac9c8b258921d551aa1cc1eedc8edc885c8909de176b35645ab829e3e987c1c8dbad1c8c241631041cb810e5ace1a417b33b883c012df9b873c0f41570c0079d72272b89510fc8e401f28774ca8cc7bedb555003dd0d9058498d1ae73fa8b763b73dd7befbdf7de7befbd5e955237024c074b1eee2be36a42d03172ae81d626d13b6b37cfbd7a23011a68ff6dd9cbbab5b5923060f46dda8140e001d85d20f040899ddd97edc6a66fab53c0b79b644ac572881c122346e626d31d99ee086bd50df4fcecbae636dd1141474e29eda8455bb120088220086afdd6762fe821e72e87a7c82ab10015597f7de5dc84e2008811c77c1893c513c98d1025f9373bd25be3643d320ba01dc16edc8205a8c8c22aa9093d42436795549a9e1c5252ff918682e88982402251c8297aa7d11405a41d3fd51ef9416776b4a3b525f6e7b64f7de6ce182bb158052b8c0552413bee995dc7b8e6aea9742e2b9c8c4dc748d3b66ddbb64dcc79eecc4dee6ead10760853ddb6cdc3cd430fd1fb00199fe83e0f22c71250473254aad6a2911ca1ab8a578d82a68c20b449a650b16a5a45c309f7a473ce39e79c734ecacd90dfba43b53d902d29dd77a8ef81bce9538b43835d18ba29a59476eedc9c1bea2bc6d48cbd28a594522205cdd04d28130e9d55246dcff79fa28c32ed796128e88617a4a0f995e69abf68f7a3204ea428f4ad1b5e8f8226677d9386f6ead119e59c292a53246a44b5501ab552e79c9a4441a46d652422c22283c5105aa4babe8d0d1fa8434a17396badd50517280f73a6820c612e671a99324bd0c3a659d8f4ab257436b72579b9b1617e5cd85aeb8eee74362a467eb3d96c46362323222bf0bd1e638c2f7c65eba94a519455adce871aadf8649a5c4369940ab542a9502a1a05511f7177c7720d256306c0054ff272c3f91a681e334d3e5194cdd3cf351485ca28d65394156a44512e112c8ff349440aa2390886e988fc7c91ef7c369f042b89fc14790d80a857fffafe1aa8b944512a96fd1e799ac73ce6519a8c3cc95b239f5cca2105c5c45094f9242423614c898a60798431f8c92a36d05916c1110b45a15ce6386eac3c34fd2c0631713e58c32a5b2563d3a75636fd3c224dabb22e1643e8f97961936c8b5ef3a3628fec14dbb2d7fcacd822dbaaa8cdc4b44d055ed8767ea6c927cc513a284e02745379258fb24a1e392a00a0ce9cc4792867156adb30a98cf43f531ef3f875462a680ca56bf4d1dda5d7d08c5ab4959c751667f63c59bab70ada4b3265fe90a12bc7d595f4adb8b4b1e16229d1aba382b672d63af49095b3758556085a8a364670410e88d034d1a55d2215e8b15190acde662f7bde27ef9026f479f4f0f1d963ee31babafad5dbcf2ebfb6cfc551100ec2b5791465c6bc501490a2d0cf304a5014f99d98d89f8b748de65f2c1789a24ccce3e9b08b445968288ba635373adccf6e42b10a05652f7bd91bdd0a3d44658c854813fa78489763f8300377b864039bf098bdecd1cf738dd5494c9b7b0c12c6f422d28432df472949bbe76e07d65a49516c087ed4288a9c87a8213138951d50a349a43637d09282ae0c05d112059dc4d1278ad4588dc430fcaad1f67ddf566dc19dbbc1a675eea968da9d9a637c84126ea2d62a6badf5fb344d132708d26a0380db66ad01572b56bf9a7fe2303fd74deb9ce79c73620cde0d0e92899dbf7e5fd53e8aa2727edfd890f1d716aa839a6c1e9aa2ae7e5d0dbd52b47edfd709c28293a733abc598df8c1536b0a1613842d7908240f455b4520d902092c4b76d5c2873036cf9623a976d133b00cc9c6dadd175dd1ce1b123c79663603759af9be908fafe0ce69b9bf88c4ca92df2240a19aa3290db46c5cedcc4c254b7ca5284ae241c6c8b27b1480586f05190a419f7fdc82d250511a169c904ecc5f25bb971142429c8443b4d5854f471316fd8807412c1d8ace013e18061092d2557ab14d9e0dcbc30c8dbbdf74e8fbaa61475c3bc94e4147a590665d934636108a6282799e24386aef0c2b045e54a843a91c47bcaf89e583c2f6f985a4ce8608c719d54ac396bedf148ea220834d2a32c76be4bec7c18773edcf970e7bb482ea613378808392af75e777be52032e50989c2098104e526240d9c181c9519ce0a35999fe571cf11c893f9597e42e5b2c891c1d15aa0655eee6ca384d3e6873c99750bc00d1d1383127822ebb4f9b1296d4e7b6e84ecb98162cf0d108e7689a4ca46ceb1e3f32d64acdae44916319665ed344f1eba1827860f7986e600b1d5d8f3371b608e70737694385a16395a16c58e78b50ecbb2acefa397bbc841ece0084f04630303273e110e15df03afa83f3cf6073aabdf78599f426e3c44f2233fabfb52e43aa13bcf7992df6c449e83bdd8fcc8939070bef3fa37980c152f822c2279f76059ce2e602b0225f18992e7a2837b8fbd397694be276c11da06294feaa82a41892524ca9d34847ccc42e909d95e4b841ed5ce45873ca15f47cf8194817e38eea0ae944a1e0a88556bb5b6da6aadb55467c3a1a28e87f3b970d179181e2360e124c2617da66b8d5c5184ceea9879cda68f32e24811e723459b7ae27c60a418c194ec90af22c579eaa99efef5f5e988826836c30bea39dff9bcc0d182c2eaf862432f1955a56a1464ffa9f580461e12d1a311487fb2fb1de061d7a73ef370eae72111ccc10e08742abdb03317af6b33df9b81a240a06706095c5f32818983fd89e5fcd727dbc00cdb529f9fdad860611aa858c9047e7e1582c25ea889fdbc2d563f0a127d57b68f9560a16299d5a611fecd69318909465cad95a46bcdce7155b240cf530dbfb9652073ce300c492129249148212924596be93be93ea1eb08f6eca10132fc2415305f045954311f224dba5a6950506d8929cd397d5224e4e4b8397dbab7796ad55af8e6867ee826e9283a631896b415197b8ab1a3b55386a1941cc7711cc7b96399bed7bfca7195e338cb558c0b6364ca0f19baa12dc994eaa936b4611dd9d0437546dd96d814886a8f38c17199e6926023c70e1e63e5c2cd8636b4c6cd0b5c7be83d253c882e56d202c3d8d4cc788226ba8f311730b28c8e2134117e18fe840f119844574e15882e266903a408860445187319da00fa59a694decbe20980844d3f2bd93153068f9934f80f57020997097ae3c189322fc180b20b3ab686ae9758add262d2aa7766f5ebcf9027f255d8407bb6de73b63e99822cebf3d740ebc72dcbc228cc01b6ce50abb4382c3ae99c734e10e81fc6042da168f2d86112608f72754dbf300729888282a69f85c89439636717bca087ace741dbc3a49387ace898fa4c8ab373c0f7d5cdf3b6fd069a967a7567d503420f824820f440667edebcacbad41718018c4097e4973bbb35f6fc0b66edf9bbb1215f6dcfcb439eccb79d4cd96e0d19ca3eba2dca931cca93f97434abcd312d8fdac3e323fc01644f286c67bbf97dc7d9144fd4504ae53c9de6e4de636ba0f3e39fd57f7ebc8682542ee62725b4c5bc444121a584bca108fd14d2d3c43360b082885689d4445162b0685433f4ab2094d229a51ced38da5108fc5e992af1621cca140f75a0f1ce3c0c2bd12453a290215ccd54351515367dca132bcaab286f53a287a81ab28a4225522a5e8976042915e84aac80546235a412b22914600e5802773b66a9c8139106fa72d552a15ab742ec901be3fa60c74ab463055637c930054141118d63c4a5827104411004c11378024fe0093c81556588695e2008e4c2129368c12782b141c2889208478a074f4364a8722baa9da1e57d157f9fd0d68bfc80d6a7d179ea2ab0cc7a3e3fc5e73aa13958498ae73c0fa217f83b58490aceb7a052bc8bce539f026b513de739980bce57cfc30b1c2d44befa1722229fd59123e146cd8d5cced9b24e786775743a51342c7b9b823c11226518af123fea90b112fd5254b2d1a1446359976cb0120b587f1fc7e65d74deb236d808e682f3229b17411659cf83a89a817ea2085b6bec5f7a1d2d8982aa8fd5f0dd8265a1206ab7cfe4815d89032d0d98101c39d07f700e8edf386ea0112649019dd3dd932773f3029ffe2f90a88d3117224de65f2a8f61adb65accbdcdbb816eb64967977b708b3bdb610f8b7806bb382ee13008fe30ccf6b7d39a1ce3cc049d55ed0832e45f0ea47f01648af444b1bd89ed4bd8476c41f0c1f6af96d0d57d10060c3f0abbe097150a920256c1a31ef47d6b72137fcff7d0f9730f7dbda42894fac57fd9ccb3ab209af3fa2d1f42cf975bbef40093f967b27686a2f88c97ed8f75cccd62080d030934cee1d584a90e07fd29998f3d11e75332fda5c8ba48917503120f9a4f13d1cf30eebc0d773bcc9d37794253883ac32af88719725105fb2053ec7b0cb663166c7f392b8b2134f55131b253ec159b7a615bf7a23e24d756c73473e86f249037c5e8cf0fc54f6796b10d10605738bcb02bac56ed23b23311b4d5a289fe2c86d0f3031e701349468c3d6f872d4a5db5e6e9f94b533ae7b4f64a41803dbf4e27e80c7f38c41dd6813bece1170c56cc4973ce39dd391ccc058c7cb11842db6b4df2c4bf6a1e929e5993b5a69a439ef83b116e8c22b6571e6cffdac994ebfd3111d29f86cdfb631cc810e7fd710f244ae77dca607d1681900c0610c076617f2c099acff9b83499bff94c29c3fcab234db2085431b467490603ec090a60cf6fbbb02756bdcb635b38cf7c55cd43788869e24f044f111ae6817643dd16eb819e8f3bdfb8932939a47fdea1797c3db6cfad7214e49fc265f328d8a71fced681bb2874e69f2741d384294061d4441ee9eef11c3bb2fb77f2c4bf06eaf533dd71e7573d000fcb5a6badb5d65a6bad1dc7d193ee5120b01cd286ac61adadd5ab412b269a52c9cb19e39c73ce3963eee9d0d175d67edff7ad40bf975c3acf73a75c30a108adedacb59df5c419eba2c3863688fdac67adc9f37cb12ff284a4ab2a8b73e26bbf064aafcada9169666b4ddda4a1b260d3df146155acd6d951d7e94fb4de456c452cf1b55fedbdb5d66bfdc77abbb1c1c22821aa0ab32c1f3a1a7d9d57d5969b26d0c04fefd3aad1d0444d9cf6e7ae4578ad2e53061293560261684c1a3c085206fa43a0214feae612848bed6c67e54aa24929abc6325651acb5d60e4451efc226c1c0fe2d3d9fae1f0fd8e92f1ec4344e117370c58bf69f44e8ccc5df3ebf80ea30c6f874eabaaedbba6debb66edb027043e3a794d277a780209134be28923ca1487b7ac9430e133ac31dfef9799429f943b6470f1f3e7efcc870d759fcf1d39c3807deb1e79cde0f1108c61da53a8b897be7fc3eeaf14cce0517e81adc3930b9179c7751d242e4ab17c17ae041a4bf7afdf4dfa7480612a95e04069d02142208442745617cefbdd7832fb9b981fa6c723bbff59c8f8b172b2ad8441c2f69e142e7cd05a848e42d5dd262e4f58f60ae95745ebf6f1dcc025424f222988f30278d38d1b94de82c6ba4d2480a74e65fd67c54d214304b32a5f3990236fd2b4f3296c128ed990120a070da9436ed321825edb15f654c566be459bbcf9182be9ff9a76997936f278a1b60cb17d3b96c5bcea52464f0082fc34b6cfa74cb70a97275a3a025300f2a1112c562cf3362d389a1c84236fd219e0d16e509ddb6edcb5e576badb5526be75c220477de8b2f9e738aa2e8cdb96d54e46e5c8cf1dd60ac292a63d3c343efb0395698404b9ffee18b6da2dde4c9c47c627686d5ded23971bef7fe0d725fecbec517b3dca7ddc56ddbf2b5050d638c4fa7d376da4edb76dae846d2eeb9d690216c2a511095a1205a61933cd1814b62368d5346a6e01979b2048982a39020fa25fc02569ffe4ea79337c4f3c1ab333c3f592ac0186319c850056d0f32e42348a6cc8dc40d17a42054bd9ac4a69ed5eccac42e84dc6aad24ed9ef1c78e8490a18a04125aa7edbeac0f12a5362183c813bb2252d0ac31d0550a3aab327becbaae860dadfac1ca3886a1a83d3a3dcf5acbfdbd1e6f45be25fef65304e005d74839ce58896339b897dc44749370a43744d24d46cfd88de346296fd239e92d654ae92d89e08efedd918686e6a769dacafc2c51fc23612dc65a6ba7a4971534f77d1f374ba552295f2694388147c84c90d25a411000998759050f914d950d3d7d867f59059ce0dcf2f86d30c618638c31c69844ba24d22559164741d9ef0bb7d020f8069da197d7bad9998b14b5618c598462b6aaeb923ca79a1289b5b1e13ec9779c9b04214f700d07429a24520adcc3860c55924c59215338220fc4c33f7c4812e62149788724e11cf85411415724d030ba5646e80c6f75136ee193bcfd81cef05681146544e47ff498b498e2e302c625851327c2719dd022ff22bffe17f845ac7fc179ea5f74de7ace77b62dc5e73a41cb114a22120c6f4a682992a2cff5aecbfd3e971b4d2f8e6ebd501029c858b2dd88bf4402c5ce5735569341415404e3415472b1120b50d4e3bf176b617dc65c6cde7a17d753cf83e8dfddadca00b6e9534b251b5a6f870b0469456778db60eec29b85b7caed06aba40b23cd3d310edd84d6c05b096f25bc95f056aaf056c25b096f25bc95f056c2303ed8700b0561ee06bc992aa0029de10d73386c133aaba4921ce46e5149f85b644cba09c64a668b9289e540cd2a437df09684ae2265049d5dd22591b6873ea5d288ea02214de8e7205dd2f6c2b5b89c749c8260c11bdebecd87ed1d00686f548ede7b31bea1a7b5d6870cd919a3700484f4e4d03676157369c89499af8c151596ea4243555a0f8d9e0983786234cca6f665d3af90d0177381a3c57dfc1873712d118322943069a2bc2b774fb38e1387a9697b62d508492441a2d490894d85107b9d9c3ca19cb62398ee860e1b2f2e35989fd63190f28694d25a7d07b86206da3dcfa337bc3fd03071840dc618638c31c6187b976772d2b2d69274ae30fca02d0c3f68c794b3791e44dfe8009b3e2651940f66c12318b8090002b043e3dfe1e6c78f473265c60cf685ed40f707cf9027b4c2f0e81a81cef0ae1050791185611ad4846214e01952063cc22c98f4022ddde4c3233cdaf2a6c3f5824110b2b86d5c2873036cf9623a976db34876e6a6d04352b471163f983c0fb7ca085a622e66123d46a08960c82198c04728ba5f4941d3bf9fcae59cef35d1c0d0a2b38983dd6e6bddb057377952bdc539cc370a1a310f951e7bbe0fec6d338b970c3a9ae77d269a17d1a53403c6785e274d260a0a2968c6809f5769a751a5a251ad982aed34562a36d059058edd1665d56602c73148d789d5e6a11b96bc71acb47104416ff43ccff33adac606a5520c2c4164a889a614a1c4a8542ef7d53064684600000000d3150000280c080583e1704830241978cf0e14800c6c7e448258409848a320c85120649431c4306300000004604686685601a2410604039980f3409d8b046b2ea171fd1803d5fadb9cd82164f720c90b59e95d6999fa27ee149977771a7d5535b34fb01b136bc1512de405837267a730f31b4525fc0c814e58983328873bcc12ef84b10784f3e284534311befca88dd32d840ac53c0193721022470a13f1d6141c3f1c2ced0a68a7eb92f8853e8fc3573a10d45923d4b5785c00899b411cc6db89dd67cf04beffaed18cc4cc5616bd29288ee2bb568fcc274b69fb31d1cd8394f3bcb668405ac8a92e2699397de7cf5fbc2c72ace0d2f53b0bfc810ee2d04c805480b525d60add69daf9b74925a0b5fdf81bed221a83c6e418cf3e2d56141c4788ee74a6c8f568a7c12d05fd23759e4f7e0ce7bffc2a599acf6979b93bbd9756d9268b824bbfa624599b34c24050632032d94823c46b419fb6b788e6b33c3049d05f360e59845d7ef81ffc6dcd8570628f264ad41da71d89289973fa4820ae63e44370429b7ff0ca949e6e1a526d9b8fa35160e7d92bf6ef2e8ad865bdd61414dd5b5153c1843470e89b8fa1725ea94f2a56452fd694b79b8f89389d0f7c5321b42f1dd575a4f206086a897b0edcc200098d66359b8236c2759c5847314e2c2819bfee8e30e432897fd5f509b87d84e9ba6aa633aebfc58ad5eac7e06beb2866b50f935675c56e42d9e858bdfb2da9a678ec25cd2cbebed11bab74363fa3cc34d6de08c8902dc6dd0ab564371d502826288687238a484d4e4289b21157cea4cab29c918e5748e8f675fe23837639115847fa7d923793bf63af6ae1cc16b83bdf112914b6701b7182167ebaeec6a7a99f04e8b1facd51f9d37362699303d0decc0bec38eda52b02237194ecbc60f99947a413ea7e720b6d43af8b6d1357bc05721a49392337d5813067d85d2487dde83ceddceae3b67d37b9190654c10ee8d404ed1aacf8497938434a2e8dc4bb92255ca69113fa783e0ae31777e6be9924e86795a65668e7278e6105694735e8250a473efad65bbcf73f63a447b016563bcc26e33b9ef3a28e302790540f3b6b0ff39e76cdf542390407a286f962d496d3d041ab52fd776b9a6a96d0026b9934c05541a05f54c92f30243b79dfe00e3ae54352c0f849871851e6f399979819e233126676a2ec0f6a6f57a5254da321a971b939b57ec8d2860677f2dfcb1ee652871239fcf92a9129ce96e518e66d3fbba8f2091637901a7fcb34126e5bf0383eaa60c2d1b056e4d95be57a07cdb5958c5d2a8241756b38c4c871713baefaedc7663b83ae3d3f03d64b7ab66803f998e87396496bd7a59458c83de2f134c6304c3713cdf771784968ec2e3f6f59ecffae4efc00ad227bb31ec575818ab00d80d7ccd059664527acbc968c6ac1d55a1e5577224148232f3e27b6b143d589223671b28acb3eec1baf81484d93d22835eafd912ac7341852c42539957a82e95e23cd993024ceccc72a469aba05f2e450ec957f384117389d03c66abe271962dfa37f6362784d7005c3d530dbf37659c5db11520ab43be7c86895f930535372953c6f39e11404ad813fd099cfea76f8d5fda323783db6e7a9f921ba025fdfe9d2ed8965d34b4c0096090a01a82a9a380da94989b33b0cd63e4be1e22048a4719b23be485e8f46ae82541a26477cb03b9452db83c21288dfeb6f99618943ec6aaedad0ae472f8411c500aa8d5f7c46ba024c5467c6ace27d337ffd7a0bd81ddf661a52f61196e0036bc739d310800d37a0beb7b854e93eb974f8e727df1b67b57bf8af329aa624773c2018a13b2f51a2abfb2610e8ea153c7a277e777e390252d24fe55cc65e59a2650c4b0f3637b404a6547fbd663b973d50a0a5cc4141a5f5033f75379294cc2cc84cb5214d24b6aeb648bea65fead7678a76217fe30e321a50ae72bb00c0ad55ed3ea01521fef6735ff703817ea69ce4ad7338efed43858dd9bc8f714ef499c8582ec8d1505a07903632f3f0908ecfe3836e29f670f5c6e48f9ee53e90b4fb66708ca5bd34fbee980f76df494379c7a1bf1b6de1cf83f295fd011abd831c81d3c5daaac77b24bb4f29dffbe2e404ee1d67d8a70bc09fa790b61e0da28a9b200fe7cc2090ad4b3103ce7ce2a011e67eb8becad2a24bf899d3db128b321b29d3d5908f46a3d4750bf0c702d4c90c41ae6d4fbcf9687ac810e8d6583fcfb5984e7bd903a383fa18bd928e08298c4a32d30ce89a1e557f9bbdbd5acf90015d627f19407c46a9f9a60dbdff2762a35efef6068191e298f2e391fee1516d2ea9e20e00f5e720073e529408ba7cea066023b87dfa9f0549d628a3847aa26ddf473cc5ee7f9ebbe3901273933c2a853ecefb31e1f4791daf66a5a40d2837644dafdd0b9116f1d1a2432ce3bb8ed3f5e0be3d8163fa42d5a6e67b1bb433ea17ea015a4124725b78b9bd507278b0c8d5c557fc94cd3dcd8096c020d5deabe3122b4dc249b1ef15bdc729a44a44a6512b0f219696158ab904cd08ecde858036f37b54520e312514f3ac008b9a18084379f91ce55329c3da93b5907a388936a0b8018b2c6e86e38ff0eebb87158a4c40da1b973a86fa09057e26d5096b75e75a40b0e76fc7774fd79e4396883595312a9843de9627947e2ee5eeb178037ddf04d87b526bc398b67a478d2e9ba1a483ead51ab5e0b97d0798339aed745f5ff8e83e010e97a83d9634d3b850ecdc15491f4562ff5bf3539ae3e8cce3dae1d3376d7d552cc053655ca86246e355e8bcb4896be0953a8b09937aaf7ecd22191e225335fb900f66abd79166ad5b70da28c74f605b500c5d51a9d7541f482b792c9ee64e10da67958cff4e0e2e06568724f96c80422d0639be29f9a028cdfa9124607ca9038e02b352f3eb2f7fb4c38283d156252dac84fe6864209bc1248e10762160ee17383931e1e998d786fa2dbd5d6e9f05736ca2d94809faf8f65ac748ad7fdfd491fb8db0396ec8fb8ef2b093ab55dd315d5afa4fa0b80deeb73850d603861d143cf01896e2962f06ef7b1bf4ac1cd1c24727b98232470007f2026eb21f45afaa3949040ef4ae563e470e744bb0bdd33c0d3d80d1ba8b7395d74bdc8a42d88fa452cbb2de62a05dbf6ba2f5de62a29dbf6b8e98406557ce38ab517401ca63ce293618cf6451d401ff7de18ba18a3a68a670895a9062db01fa7b3c1c0097fb912a003d532c87ea5e5f105deb7a955741aada55d7f7b0a5520e31a356ab6ebeb47d2cbce484d55529c080f64749702338d2b039d3dc4b66790c92326b4e62aa829a223b3b6f1e083182012a1b21439fbb2d090bc8cf9ca39ea28501603489fc4d1b4d0191885df6273dac6ffd2ed8b9360582bfbaa0ae12b8388c978dc5e024e0bfaf48ddabe37c25ec8fa30dd36489267af31dc538197430f77d2cf24ca0a5247d08f324f3f9b7155d91be90bde24fe059f483376a22c7310c5f5a578f4b88b807f147208019e948495235070f28185c649f655bb483c12f5452b6cccff5a8a06f81cb733791902a4ef0c568cb0773e367de10364838febb9bd91e80a567f154a7d380430b56ceb924a5f17b8f5232b1ea0aa9562bb792b399b51d01f4d89a37426e88f732bf5470405710510d8c29c3b4132791876969802934c987023587f1ed3e8cdcb70070b3bac868338be8254745a0305938166270f97e8c1657766c7c6387176bdfe21ee3199ebe98cd61bc1d7af54897dbc8c8e7d17bbfe0a7ac4c38b1e2522a967c495a589fc8072bc77295301a9d37e64309bb3b9b26f50f7363b48837c98f90561b6e78aae3449603f69cdaf979213d454ca708e08060e5507fa1a6eb503b50644ae55522780c9222943e8fd40ad0f9fec3fcecdc5e817b2a21a962b1a3b62081dbaaf08ea889490ebee9ffa08640daab2674c2ac09a942f1f06bd91fbe8f6d9e8fa7d06d51e1355314a238be2dcdc1c08dba2854a065219470e60ff04dc873f89fa05ede1dc88ecf121fb99bb23f44d3186f127b3e43e44a42978f40d9ae2752abf05713c64d64ff50a30197f140809be5d047a616c6fa4890486da45800aa2043e06e26d14e0626d80489564829c4d497d1d90fe4e8d3ee95d0acdfcb9baaf7472381822aab054534c4503ec12135ce093ef02e5e8e50ee0b2b8ffa0035e536c9e1255b2e446cbef11bc8770d22be83cf112296a1a9844537a1026949b8cdbbef1c9b8a46dc4888d84e5294200ad68b05f22777c632f7c85858b4c4c025f1e2d5e38589f2360e325bce585260a9e56a0996456e6659092e53341ef7198f65b9496791039abb013ca8747d1768984e15955b82daf6ceb14dd3cc5d4f8843fcf455e56e9c1803453b283439cc72d8d62dc09c2ea8a6e8407460ac35ef82eefe3bf6560d0d709efd9820ed90ed125def21048f29bbab1fbedc7991b10715ee0f82c7883a8a0b0dde4d50f05d396d928f3348e3fce041b2062131b1eb6730dfee5dc78459d88cc1acd1b5a6bebfbfebaef0a2c5038fc00abbc16917a07564079cdf1ed9bd361d211fc9322cc9862cdff8da17b6222104748fd2c02eeda7b0e29c571125c58500c36616b3748be6744a4a3b944d0aeab87f09b936eaf38e3b21985b1a2ef15ab1dff328116033a363f9d30631d55bae15fb3a53c9fd50ebce01172b8ea06b0b822cfe08f4379e44abd5a808a10d12f20c2d80aeadd45a81043772a681559909b7f7567cadc8597ec520467809edc4c2c8a18697b8ac19f710ba14b624a5f12312f83b9c36bd786f65b372d39db342c38283df06232a9f062e285ca29f04f36ec9ebc2db391b215bc79ed7f0b67a559ec0e156a4199487c117d2c58dd9cbcc441f74702b45554fe9bfd3ef090a9e1fc2e1237664246798d10f4a7f4464ea5f3d5bceb7136724224bc612fb423dd917071939512c34c561968fd23a7c943e552f9b7ccdeb20835207d8f28576cbf4dcfbd525d22bf5f6056955017b5fa3dc94a427669c4b2d80096b690e957232b44fc7ab48800bedb4ec0de451df8f622467c07d39800cc2b461a54a8201a80c8df79c9f6ba66d75aa87205c4ef062ed9b6da0f35ea517a3fcc899951323f682ef6e14c28bf01b322f6ef18b76da65c609ce91a500388574cfa76c9527dc31f9f518caf206ca4eec94c4d71d93c8c18a48882aaf8477c7118ecf6de6d66ca2687c0547881bca2a6cdf14009279538d9b3a4dae3702fd3248ca3cb1180a8822ffc4b0e1cc786cceb2414b8fbb38487a68e89174d712885668f6122f0cacc91368429bc8fd2523c6022b33f55227a5494ce194c2e98122c6a577d686ec07b90961a4b4b0dc1798d8590a1288f5480daebbe43257f7f38b2c41f0af1e3345d2988121484ea00ab0e8c5909bf36a04e0b826d88f6d50a45a8442e50120c4c4364854da7a620e729f00490930b555985182caa980d6d43cb0ef9c76047be857cd26fe3a9fb35df9e1d96a2bc392c8f76d9fd2198f2e1754e7fdd23146bba164406225df8425b232702a08898bba779a8c03e0ec669a0967a38ad19483bcde5304bc4551bbfd17ffaf412cf4bc439f1018cf9185eb63f746aeee35365bd0d0e23d08b21014a113b225d453f37f9d7586fe7d9a6c7e88112c488550f8936d89329d52e33c25ed249b736b6191c1e6bb0917af760a42498e852726199d7ad31802d20c964335d3e8ff4400b890883f5d888634934b0eb095054e1c7c8c615bff8f5551810e1512502d471f463848a7ae8ade0901cab8aac9cf8567b833791fc0f34fbd0693aa6a313c26000f08fe108ea444627881ad8438ea93d4ae9435d0a128cd5159cc3a649db3cfc7983de42710b6ffdd2a050edc4e7bee332f88fdd162ad4f74e4abfc90a6fde754c767009ccae04c56f18f2be5d56e9978f062da99f1b69fd94af3ef0289ec93f5aec80d8042c06999f08ee1f6ce7de285f84ead35ed6f9f2351092596e4ecf0d2f89e29d0c71e6065ed96d28496d9e4ce811290cbb7c28ca0faa12681ece3862137d699e105507080b2d4e68a290007d8528b4b08a4be220aaffa84c912ee3a569fb04aa97d38b169768a74b7029813aac658d6e4c4208b499ba502ae02bdb19417aca95a0bbe4014c82297cb34ccafe2d78424855e3b46212c637a709acaed45bfdaf52a0a62d5d6645a7db315a9d44ed30558fbf9281de8083416c0241586d4c8f6e10d1df20a2d877e3ef20e33712049574bc70719f18ddadfe7b7ad7ab4bbf2955457aed1838f0c940946a799c95cb90cc1587e2b9e34bb4381f15ec71901be2feac60893141e06b72fc6e71ac550cc60ea76e82fe9f3e88a336286f3da67e778c3fbccf86becc51550da75d1d04441dadc2a1f661d1c44428e78c45ee901a575232943e5f8b18cd1133938278d0878ee0ba2c04a4a26d6886d6b02cdbee310999376070f2c819232189165a57a720a40c79a0f1bcf658266c31fdbf667bb3915a12db0b7e0d3a5ba9ecce9c1e829337deac8e9bc153d6550bfce6d0cde7cecb0d65387f4840aebd7b64e189ddf8341d4d893c9c6843997ff35495701c6d13e1221d293873b4823e722c799a4050d4d9eb4e82fd51837beb942cd804e246954fa759c0ada9d1ef82cc2397dc840eff48fde4695a591965127d74c46781fd3dcac5bccf0122ee4ebe870c1cbc644b9eff9aadc0c947bd517d7a3731da5178abe7ff81cf5f6bb301552ec2fdd55bf92d6d6f9e25d4d687ea36892c9227ac19cc6b464ab0ab1d6bb53c422b4d0fdb90c624471319393dceb1f78743f365e88114468bc386bbaba69cfd87af2c9ef37480162e7193dff1444aa8678fa7f37037dec5a32593df42492c417a667b544bc4f5af80132de32dde6959838f0a5bf5c10ff0c1b4ebaa5f1fb5e73d78b0e7972af42623ef594fca7865a0e9eff91110ab10972705a866d02256183cb2190f89c1fa5c70d41fc15038cc3b9b77461b29782347c74db0c8dd52f82136f54daf49243c22262044756e221f2accb62ae9a79d981c9839a5eb9847690c9a6857167a7deb5fef53326d5818b2066251f7ec325799a2849e9b2884239d0ee2d9d961435b2dc8cbc129fca144270a686bd400238e4ae757f2a2ebfa8abafd7b687289c18206d7410c6c5d179ea5549c6d5d4ddf270007f1061ced141488c53c4c17693e3f10f98983d990d503d5b0475678e79034cf4c4829c829e8418770eb4f933c6fde08d3c8c3c41cf2fbcc7ea9ea70007924aed640facc2573420615812b0d7ac432f4046cfde56d0911fa4a45b683674676181a43e76888d6c70f6d49f1e552e8666767fe37d431d282e13820f9da90731d38cff4397b634c1be3714b823cc2c1989ad1ef38db94029d0eca0100ad74f8c11268ecba91e7e8d0a2c8670dc0dcf80ebe232d775e680f5f04edeceb9dc184ac0fb225f8bb481d122fb71d61c2d28b9ca54cea252ffce457b407a77cc3d3003ac3d0534a85558fbf8306640f6fd788c7b1e0193f2959501a359ad33188939d194c5339985501f17eadca336c12217179460a0f3fa052c6bfa5ec360cfe3026dda10dcf73ac52343a4f6b6fb5c3bd1841e5745bdebcc232731a684e4b201e2a788184bb97273f08f3018c00ba8432f81471ab5ded0aaec48ab113d2c27805a56832b4151c34444d16eb7023dcb63d85cec8672ae81f6846aaa7528bf2a02bea29dd1ca34354ce84dccf672eaad112af0e9712525e664df0c28cd9253406547ec5ce25d736da2bc274f228aaf0f51951282c05d9d6561ab80a42020e840042dea2b6f11bc62b86404ef1828db9c7f67990ee2be3b296960488587c754e6f01041f39a2e287c84220b109be6b5117f8d3960f9d01e3aa02481046da93c5d03637ec706c47698f19410914326e463bb628f691d8170e632dec1a55c4145f75095e1d8f5c78929abfa6a5a6d272e67e99a8fcf49ed89a904ddcab3561719d551d8191232e9fa8d12b9dd2bd258e238df9312f2d7b0ea4c24cfaa0de5312f7cf299edde64f0d10a01964446e6b8f7eeed2d8806415c3d2e30b4f0e89d1a53875994f3c9e098c278c2380a53aafcd9f1cc81a29e0dc4aac720cff3f57f056b6b2961e471e4dcd450664b7709dc0e53c42d320aea403e1755bf2b1ad7821c36ec6e9d8218148f9b9dc8a08f99f2a36bcc3ed8db0759145e9bb750e75c015fcb43d67a048603a455b2bce81049fac956bc30e414ae0aae9e8d33a32c0f33e4b9bc2c1cb2dd97b706fa35577c771ef53f277d37a19499d59ea9fc26364da2e4dac9b53d64ca95455988c1a5cf60b23ea309c493a3526c3c6f01ba3f0bf8bc0dd1b2a7920f65cfbfc6371166596b5d20c973ef6b0699756541b818f7b2df3da85d436c5b3979cedddf61dc7f4674aea71d47f71041769096ba35a4d11b108330f7adfd0fb82843ef909e73de09ddcbd079e29d4ee1516db9b2b91520a008352e05803f8500d15fc5a8a139ae5cb575790924c390b632bc83c82170cc4960e3860278488b6c75f2379fad806d4894ee087d55f52b03904ae74bc1c30a524be439cbea838fe5a3594c65fb544183bf72554183025b116b9666f9da73e14fc481191091eccffa0b807846fb9e2e5966fbc4a66b54bdfad436ac3c9a738f79481700c965585fcabe798acdc754574a42fba9369881b7d86651af49f0c9698c40515f37b7a7d856c6ae549798261deed8538168d71d903936fbf19aa7e458db1feff4f277384a098c1f2be8c3f7b0525b2a5242877c684e3e46e85d94b2d1f8ff7d0e1a4a5b7f9109bb2f71145192b52a4e4b06a033d088424c59380ed1fcfb1b0dcc26f91c0ca6b37235bd1d8c511687336d75f9682adbb7a2be8ca16e291ed1aa649df316801032d3ae9b6534d6174f14c9fc93136ce46d5879ca17d53bcadf17f304e9cc8f0967f243846043167c4239c948cc4829d33ba85cae982b2a763ac6475d9d0cea3a9cc5cd0d7c539698b310fd1b605c461e3a6242850b47035d1bba4e08dcc38b802aa6578208c765d94916c626afa1b2b7e451f02fe3e80a8d205c2824dd0536448806c29042b5630b014e8708e41c228bcd9d204f916d516a3e1c70d39d704eb6250e5fd19e91c5963c4b08f120b971389ff003152fee8691b7b8193e32fb9ce494f38cf62122b475cf830401fbac12e97a82cc7190498f2e10f47e2a9c842777d0e59bf1b341e17541ad422bb6dd870ae48ad0b110dec62b74b4020f7037e1c2316ca22a360666ccd386dc9d7e2d18d0af23e7fdf751159002ee4d72b5f9efa31c70db5582c5952724f0cd5bd75ffbfb9f78c269d848abfda8cbc5f31a8469e27db7b1ccc33915b28e848da098b2d5ff98e4c9ec19bcc6dc827fe2d318fd39f7990ee6cae96382d74150988c314e0dd84ac4290a42d3e764ef8e54cd377633bd1322dfe27a55d76e72ea99c0a406133b3972fba83c453a6a38febe1a84a0fddf9a7644f5d4ff446e2717770eb857366e19874ab909717052fd7350009d11b524f896f5af2e1e408f61cbf72cd013bc2b7bfc7051fef0a35e00e944a492b5e14807f808bb81e1de46f19aa4e3fb7750d6b4c8aaf1de33562ffd8c3f8119dd7a08524c623cd5772a2f38f83ca9b6cfbb6c22a2bea6efe398e8f867ad9d2a8e907feba4c4b9e47e29f0cd44afaf85800106b213863c59158e6a9f2b940ea443012fa5700a08308e90efb0b3d62cbd6fde2381221c13067b5095bbfa93ba0d5fceaa6a77c805414d8a67a5e84cd425789fa16caee13ffbe19335a5783fb715a1ae23ff0471d2c207edcfa0e0edb94e26eefb7ac0261e6d840e1e3c1098675f119eac703620fedd73788e25729436347abd6e81eab5758351ab25c2b8aefaedec58b3e536cea6835ea3ce832ba89b07ddc8409843d679a6f6e23eccb0ded6d097706a89c7c41174351c2a59418691617d16e47a6398df77e68e2c2b7dc26d2ef2f507d4df91c3d7a0895d52b6d54778e189f54dad7296300cff0ac73ce82eb449d4749e896cbce5a6cce864246a0949465ead842379b0df50557c0e49499df29ba3aba25788424490a87f6c4ce253673650445cf0366d719ff809b0b5953cd5092ac7ce8eddc150d0ee716612f831bf58ad7b3a341104d65ef94bc259bf341f800ff0233c969e31568c35233c5b268a581d2bdda8b6ac5ac643b832683ceb58ac253ed5c4cea09880ebbac65024f7f4bc81e170b88490f521daf2848baa118b63f7ebac1fb8df28609496aa7209619dfecae246e1b9165231335c7308eefe3f350fd65d6dbf3aaea628020e4ec324cbf003905c5755602e34611f1c0f852aca92399817c97e7396467708d84a154ddda43cbf34d71fbfc350e43dc8dcb25ae2ffe8f4f9a5ab79797a6c73d0ec31b969ff26477c26cd36be36decbcca9d87418a26dd0f7451255f610628b38de3da8597f2ec12f6656fbddf1680dc67ea1d45293ca77be177c61b45a985587b178b2d024130b32b5388e2b04348603639188b914b6f7d27afa94cd4278861d71e23222de132afa61f31fd5b6b5737b82e22d734e78b3f7c4a6665783a8ad3518fce46f679dbf32730c707881afae3357e4da23e16b05751800e6955406e017f74b756c04a2488d03f7d362d6e6006177dde8711ad247b97e79b918d643c7f56f48e43b1137d66c89e9c0edd2ea78d06f23b3bfce9c01f4eb9de43da0a33b063b6fcd9c286df739dbacea91cfdbc77404da1c5914f1fc15e9618ae3898ff69f8bddfca54a1c62abb8895a346f689c22f6eb85b7a358563871688354b71ab9d1fc2b4cdc88c3198b8dd8c7a28a7e74067a12116dda4cac50ff1b9d8d73b8a98f03fdc7d5e9d4742e41f322191c8207ed3859eaad9c8fe9024cd29314dd8646b2207ee41f4e12a6885b0f458f51f588cc62eb35e1746075e64d79c0706f7834d9987653628c462091bc66f28cd0ac3a8f05889a92c651e55bd6efa48492fa8846e048b544895ce3491340d485400ae4e436572b813b40897e33d82df43a035509eb8682bc145e63c6cce5cc87e8789be2ebdff66574045ac9509f4cc2ea50ee2c904c213581ab0721363c064b0c6c6627f61b8954fd4f616977b031fe65bd24295ba855eeff82426e20545108e9f1068e6c72cd382cab3ab8512342dc83b8db36f888d66dc087de722dc517475ee18928b429687bf77b4dd9adb781331bc6b4fc6e3b667b9ecaec860698abc4ad903671551f5b748c8d8bf68f1c194351cdcb8f610060265396e772d12b3bdc4b9778c36e8c263d3df11f017da5b85be24108c535f497a40da5c462e20dddfff88446df0e3b74042ff62b717037d28d011abb91d1fec20fd60dac38266c86721b7724640c995d62247d774305d816de09f73d7dfa1f6d04324b3400c9703095ff9bf38e654e58250269cfa6ddb1430ee8c3094c9bc325f3355b98d8a53c72c7a2ac088e40417872ba131bcd2a48dbe4bc25306ee72821dc0a50df0ba8981ee62f9d0ff3ca2cd1446c99f35bbd6d8f65f86699f3e7c5a134abaa3c85bff78f50841d878e2619336204951b98cb2c39873ba12d51c0cf45d5815481582ebd7dfd22c23941cb491dc755da930214aaaf1c595d6f422aa9d25a79b6deb0e8165d7e91d3290ea854b10788b37276577c6238f9e47b2aef1703e0f91c8c387f257cb616071a8b5efaf94ab9fc44bfc305619dd719a5a7d00757fdacf3a813528511a9b5eb4d2a0bca9f2505d367178eb1bf1bd055f51c3377339c9f522815ef56a6a3a8c03c4779147fc92ad3da8d523048695cd4ecdcdd10101abdfe0511bae334976d779fa575704a718d7e75a6d06ccef4bb59f339fcd720c22c263ccf88fb7d31f9f01f9e87e9e4dc1a057e6ae78c969859b14858b51c0bc984a57f62a4465944c01a07c3223e538cc02c6f157ac60d6a0326994432436d132ab6d2fa16263c0b0ce10c0b4865b1433e7fa97b66399c5ef235a0c40b35ce14422d76daa9300ca983deaecfcfb61cedc8ba43a43bc13b8b97d91a83a91d4396c74f96cf81469e8c01afbed127261b7f4029662a8ec6eb825812637b7bd701fadaf5ae33fb15a620603454e9130b07ed203c45e71c7154bd8cd982c4478d6243fea3a585fb2e961cc2211a765e2c8ac9a9f6be184372b419997f58b6028556d887bd13f5a50b17457a021a6005067a0d787248491ee71df76dcb132f64c55c04b8a9bb542793f9f10f369568b959cf71ecd379f2b0f28812a6c09c0fabb4d9060afdc3cd8a6bc2be56f8097d5e833330830485f4267f582fa9234eed2055a4b30c7af2c542940567255bae7e364f029dfe69d2df0e38b8d2b4f72106ae2cfff6a5ea9871e36c1c4c874565844d87199074984da63cab7814f468acaec23aebfbee1d62164f2f3dcf58c5210a5b35a75f2f48406a5ced5d7cb6d0805eb8bae7d7011e2b98e71571512d8c18e93a0a2e4b52af95825c8c630f6d4e6e9e30f61023e5c77905df1c59f6897416b3ea563097e6d7f1bc50c05d16e3a76a14c1858fe8efb8cf85b5642643ac080a3c4abb212931b33f1b08d67d67f9de65c88ec03fd690fc7d052f4292cddda46d0e8bf7e082c681e99e40e551841de1a8a64dd3eb17dff145abc899c39bba7ac746659161ae2941a9057d644ff9d04c8df44448377514294e135ed5f8d87cedb49498a750247f1d3cb9474a1610f9e82a9d71aaa678eef138b9a0fa51a8072635338a6907ab14032935c7e46d063b7d85da4967912d090cd219931029219fca5be15a50ad22b764e2f381c231bf27a62816d3637a76c306e312d109757548037f7388ef67f428f7d1fc0ae99f5d891e4f961e84a2d671a167f97aa8907a00da5c490c62b4b864aea59d67fb94502cf1559dfaf3665ee7c7a80a22ddc2739f83342a7149fb3ae2c9d27d1d0d28a73610105cd1d2b179c326aef46951d988a0b57ac6b81cc93f94a33204d22cce134a97158e3cb5d9c0920208fbb0f056cbe86ff2382c16ffe2624e617ba762d7471be707e0e4031747a27f13b6b19d0878e51ce72e6c3d10076bad20d8c37bfd661107eba13f84537f431c48545be43ee82f8b3abe22b3bfd1806c12ec3b4965b6360bb0d479f0f4f0edd0dbd06cb74aa92f80213e713af26acd0f53a5073669a7e2072cf61fb08570c5b484870fcf91f57bac8eb724fb3af8acfd2efbba51c0075cf42037889efd3164a3a77c12d8704dfcc522bccc1220a312d19ab006bc8160ef84b5a3f7613341b2493d74eba49c57e296aceac3dff3694b9d1a3a13d1211d03c01a8a9e2783b5dabe7014f917dec96ab39c0ebdda10d0705781e972b0108e529ac32e301fd632e535450d82ece15482e667e355e752a580c3f381dfdd7f014125a475c27f899700c223382a644a1c9f324e77b20328c16f18e533983f59d4b23223731ac80214b600d3a3c76f63685da1bd5f634610fea4698a6cbb6446c835eaf324466b07b02006a586f13052ce1ac9fb8baa9a3b054716b5d99e1188fa8c0b9149fe699f91a2beb178eeffa9c7c4a21b6829c479643c8c037d9e3971e54e8d1c1d6e54d22edb1c7a4c6d792d26bcbd508f16c83e5e3a5a14d8bee7455a0abf93f96906942261e3263d68aa329f46ddf1afc9f6d6440db3d5e68b7a154dbb7a0813788b2ddcfa8957d3e1291d0a02af960f4a7657c3d4032c97fc7ef6d319a442a4d87461a9ed6ed4b64781e7a00905c42e533dd8da92c78d5b89246305377d28bd3970fb3cfe34efd6711015a221531251311795d6e1de26ad0be7354aec14ed1a79475bb7b945d6a376baafea6c339d5617d9d4fca9b9e88fc13d774b7079132ffada088c4884cfdcf2fcc858f815da15783c044cac453a301760852f5f8c415d2f6b63e49c60fba00b55279e9cf40a735d1e125898439ed92adcf152a4b82367d1b1f4e58f4eb12b1dedc5d5f167f5481420570fe4d4dc98649f672926f3017389ab70ce75c4f278208166bcadd9cf35a5801767750817d02e83365f236092a96aeb1a11b2a51e966b74f673dc79d4f47e8fa0a88c13dad422d8333f3628a21927b7e4738d98eb36ab5938ceadc5adb5679accab18164d5210f69d8ab4886a27eca545f4065887a58db3e89179bdd0db6024de8afd7e0eefa042b3d5dff38e1d550c6c47e2df9b3a69701e2f4651e34fcb47b30c9343c898d2dcd2f48a2da55853a5596d2f13ae507150b5c6e57a011fab6253833d5f3cdeb2318aadd0bc2fda9d3ac91ff7ef2d6c4f299475e633fe8b214e60940acfaaceac9242605a546415313c8439868995a74eb0823c3cf3a0cab3af6df12ca987a003e5069cd04ecdd855c6247b1ebd4df279106476127a8bd95ccc88e87c704f0499cae63236171c615c9c293c29257e8162862053af956a8dc5bd61bbdbb699c9948814e9622514e3df587701879cee070763c98147e6b671f06be2c1be00913c67b62412695a05c6a5f8c54a6937314304105ddbb43474355677b7663822249614ea9296c94a70aae05ea5692404591c79530624d12d547b7acb27cdffd1682629b114b2c0786bd10422f8a791c8b23160cd21ad0b52f8c35daf6a1e827e574609692e8e7bc1168216b6caf8307d1d896907ccafa38596fa1ca1a8919906d33240ad1e3d617e972e48a6dcd39c1a252d623d409e8228bac3b54b1efeee52e4a7d248423f72820cf19ad4af9ef521b59d1e84cd2902430d417d4d874d3835e7998de5e9c2eec786cda2f910eaea94d1f9df1ba30e9b280766cef0756bda16bf1be514fdd38a30a0f4235d464341ac31efcfbfa90f1ccc08816be2f0e3158ba90d5b5810235a384060f5966a03d1976aa62ca6b24723a4dbfd5718f8418ebee1e99df2841fb6617160fe02aeee4ee78833df82bd3d0884ff16f065813dc1eedf11479599de2ee45a31baf285a2b5e28453bab3682e7b33ba8dbcef0b5876eb0dc092813e263bab362af92e824427959a2d630ff9daccff53e8f9fdb632f0c87ae601c17315a0ba987d101351ee155c5873b2a4ae39070de31e6df61b20bcae6967806cfdb85c06584ad72e88b3cbd6d7a3b242338ef7420412184aa3922b493528205c4cefa3f791485f9ff8228148ef27f4580193e1ef6f76c4093ff3d777c415178455ff3b322823c04bc9f6e15faf96a24accb5c004ddb65cf77a95beb9833ec900622a9d0b96f5b80158aaa73e6a3469d1cbb12bb457c00113f60d9a7106f3e5801e58f2007e7d161c70be8f730a308f4418a3bf5fc61411deb524e1e6faaf39f9192a74cdecea6d949b1beee3372a742111cc12c4cf2f526014e1d369048bf95e5e4ead9020c47ae846b320ac4cc062a06d71643645dd44bc55ed0f3ac3108e55dafd3878109f8dac20d330ca14c6a8987706142ee17017026e9bbdea3ad81c022032dc5bef06da45a28fe2f6d763600a25704d08f7d02d0cf6a2e18ba6cff2f766435c3ede71dab29767a1f9a7381a1a8dd2f2094d19e807ab328437f11c468224aaaf86c9008c456ab31d65a89c2981771f9dcd21bdf9e2f48489ac0760c21af38c29df03af84567720724c9c7c00a475d3286afc2a1fd606cdf09a29e5bd64bc8e6c0a6092025839d590af13002f860b8c1936d432b480c691db4ccb3364c5a41116d9e22c9e6dc075da83545960af8f1eadb364e884dd47601f43b8ab2a512b5abc3ca35181fd5910e42e957747ca01e7b1a447bb613e6aa1f6b75f21528b0d089512b8cffdde7a640be1ece623849efb15a68502e1e681cd57a1ba081b0e40e6de3a16a6908376352c326ac1754629209bd0171701dac888fe70dbfd02a27f0701832e5ece8711983e382a9cdf6d245907c68d4bfb0d15d85a89143f8e8ffe33cd20fadadafd7f326cd715207f5e0ad304e6a38aeab525b28de5c9a9e6932416f220ea327b2dc30c5ef43b82e20e4242273f76c2d075f5d4a78fbffaedd44f1450b06e52419ab08d4d5d1577154ad4ea989f2f15c0f76fe9cc30b02ccea3430b602a21716665937f51e981960f03144c6a9b0a6fe2da886ce58fea5f9f9ab7d0974b0099521fe15b21aef13478b3eaba98a7fbaededcd3c064b51e0261c3fc51cebe491df65b4abccec2e9fc1257c087c87bfeff825343cfe9d497baddb5e76584d6095cf7615ef25ba00b59768485a70c099896561c4b760f340a002867eb14b0202926f418d43d5767e6ddd1f6d80ef4c49aaffc5f17e531e58b8761a6c6fe825e73366bfd040231e39ad3ee88b097a2172994c2c6ee8926e8d7ebacba313f604e5a70a5e3b23c5b84dfa39dde712629c03aabd5d9b848d600ab44fb8d57e6a9cd435c3fe37cca1e198b4ff8fdcbe7ff61b9e72d90b140f3ee519cbcc754dc980c6619de49e0ceb26b8553b8d1241084de93916faa8fe0bc64baaf9333785d35eb03f5a51bb5872520ea612c03467be3b8c0d519894eda26e1092c9d8a29a1e5ee0e576405ace909ea8f449259171f65f8c1c66059e4a2b38b8ed33b765879d12afd792b6a41ef15f805b7982428b758ec7b43bad8d75fd96a55e6124e4229b694ac17b79121b9847fcd16b281d600eeb02e780ad322839d5c72e2856f546465ecc3f07f3154b1441978cbff5fb0ec16694fc64c8e90850229f76c2d2b46062975478992918956b72882c4f7c730022aece4d37524a0b665ad5c3b14a200a698a25e1606dce694b0b25bb391b6afc06046808633924efacea95938590fcd8e478f9b6f41aca2fbdb90b35843fc35746fa5acf7815550d2cb74688b67ba5099d0bbe99a52e7ed963d9a77b0828511bcc027e7f0021af369882ca7fff66cda559340803a184f6188049c9c38db8d8d1b5a57800f4b0b184a5e1f49a7c1eb1bb2fa1bcf22a78990bf776dfcbcd8c9c969b5131bf24173766407a8682e223b0b118e64f4c7fbd218a839a391a0da2398989468cddf168c3ef92e56d1981d2d25abce33b898136016182fb642bbbc0e02b62ab679d663ffac48c1967f997d972e6e5d99ecc6c06669a531195a982a36eb6684e2727cbd3c304841d25889e23df1e22178c6f47296003f7724e3d9eefcd6aa6a3a8d4007c8b60538731f894deb131d31cd1bce9f78004fbce2e6758ca92fe79b186de92ae9893496de16e93b3920a180b9971f6b084337404155634b338bd2d50189d80b6e69c8330db9be4740772a6157e792e82b8ee18b0075f1b2b0a9b5f2472a16c3aeecf738fef7725e62d1aba148d2380cbd99d0bc516ffd0787e05d131e77a34cd9cc6a5969f24df4c291274f39b93856f0d063f9f4be809822371d6a9c9e48a72e237903b0c7e5dcd960c9d9c71b1ba0b7742ab48e4bc4c9ea61e1682e096e58212506e474862e0edd1f11c647f7973784e8f56b94c774bb6e2f9936fa0180d36f2c15a6417b510d8d20ccf87d4e09451b2932518bd34c6d908f6a4bcf248a529011b5397346032a87de76d8218f2bbf214b91536e577a3f62caeebe08c039d7aaac4398280256dd79d80af91988efdb2484c0f99606c928bd602786833914ad3360af4c03279025d9ea802a5ba1b193a6d43c3c437c582c4ad3f8e2d2f66725b5054c8eb71547af5921352df04447a8e635397d70ee88ec9c9a6f84255a9795ab0f6afc838cbca39b0447b8cf1ec881b7a0ed1f891ebf3885e72270aacf9a88a3938ccf9df02557f71ca9775c1fd738beafbc67dda66813c05a64d2851693cf3028340a3d0b782e873f7dbfdadb1600eb21db03f3e925e1d7467d5aa66d9fdcb17539497b097a41952827d4247e842992b70ef514ae3451eb74b1d113adf7bd659f9088582d5fb9fd484e32aa669d7daf3f89d559b9993275eb9b811da6f61d6867133af7afc4da246a4298ba5bb99e5d6f3c3c99c901426cbf2156c0d09e337c73f308f7c82ec6d5037b71340455b8b5fe21a1ecab96801c9def3ae2cff2981872bf57955b79862e2316cf10380910bce1c1c0c6bb3714cd434f4ee188790ca869186eadc691e7b9d08e6a1c6bbdd2480820d43aeff1837a3a993b766419b560b547c982a6fc798eefcd2751bca914018979c2c842eeed0e4298e83a618848e80e6afd653d0f4476730018085d4319ddda99dccb8e9c41b937a7bd8f0c897ddc5f1e782611c30faa0d936497ccea41e7989664f42c04a5e19261cd856f19c3709afd393deced499c3dd619fc0b16a5a78c58bdcf417eff0dd68cabe15389ffe01caf39566a37c2ce0c7ff5384e6254fa6a1b1b02c1de89fb80ee9302564110bb844018e7ef61d7e8d619dd5467fa41dea78f18f23abebb8034217692cadbae0a30285e77dec6c5c19781842e944da29ff0ea3bb20e957ed522ec18b8958922153a700c32d85a6600a494dd338dc8997157d36890856474c9b5764de539c738403dca37c08dd4fa3de7a7a394755284ff0e03ebdaa0c741118f47c6237424b84119a3e590cc585f9de38c3f5a4f4ef528c681f16354e0a7531d408f4c7ce579fef48c3024df8df06a8039c88e1c7639acebd6e02e408b3d8d9bc077ea24e2317155f58cecbecd77e8f9f4ece88f6c71195a20379bdc68e6608f149cfedf4bf47f7ea8237514c4913a9f2a32f54a49dc8dec5d2bd7d15eb76499381a05cad04c0bfc87ee98a17641f33cce1627992ff431479d860a8dad63099e2c8a36023b850a10e5ef561e3b5a71f1afdb72181e93c096115407b1df9ac722b1824ed1bc3e407cf032bdaff2a09b37315f78817ea63229c4b1142f958650585792dd4f1bc085ea7f7608a4f2d595884e0141062653e589edb70f253ab15e53919582dcfb4925920fc526f0e7b5d4129eec1c1874427130c15981c463ef29f72deb718b3435c01df6273c0943fceed91bec90d02adfb46362f93661d36b78a31392ff2a9fa39cf80d8e9a0d2acc407e2aec52a27532c26f6063a2a4f96a565f0f2bdb7eee3d3fd006432ba31f66424824c7273539055b6d0d1ce30adb17a3380c7b86df313f8a0e1cf75ff1cdcac32ec849a6108ba9f19f2fb65d384a76783090a5479053d504d371ab40c0b11f1385756ecd09faf07017edf92a823978d2b00a5d00919ed9f53ca48746c1e3fee4955a96215a0bd252d68eb40e3446b677bfef6d1662749c736b3aa2f746a60066fd88e50f4e9a2d2481245de75c37e67521e1c2473458f4aee642c42ca1ae9005cf7a6bee9b3a674e1e12217aed2924e45d33dd2ce1f6122c35f9e655547dbdfa1e5f0f2dafb0ed7a7d53d3adaabd0217146c8f63bae7a99240e7a4ee002027f78ea52e06fc33d7bcda635634c77e00ff413fa9c00e448b6edab29c1646421d8d0571a043164d3cd62c89e98a20458599408048f01bcef0820229c7ad0b9e0281635deac61588565802766460f59f70050304011ae9cdced89b1b286e34f31d258c578ecad532a8e2d6b4dc74c609341261bfbf56be30fdb859b825373329ad0deed4f63f9a8ce9b28efe07a8c3deb6fc0fc59f6041e8d82b1ac0ff10825d60838613872d0d638d158c8b684f2fed0a2115c10884e77c5f8527f785588e8348bfd44a24b8dd30bb4d8fd425e438d17f870c0d33190793c2472bc21949e8756f56e37000e741479fb75df275b837c5149c606920ac276c71ef77eb1da449c8b3d0469da4c77f0773b2ec4fea179592a8eec640933a01a0d553b15e362aba0bda58f6b78612db9c61a2e8955d1cc2f39725a46b3c8080581f4cbd9a4ba894ea1f1cdef4f123ca4518600ed5548ea940e2502aa248b35b982fd291a0868a2315c914b146981e0f4f6a7c64d3306d37ab0d984d41c3a641a7664b58a019f616ebaff0c4f9a46ffba24b90d240f0e150f1599a48e1b8722e1caf4672675d752b9e11f69f746f18cdf77ca935881cdfe83eb1dad28f40d55eb2ea971802eec2282bd8a0bbd0450a25bec409f066544452181444fbf3245bd52d3519cb7d269e6bb8c98b87ffa1ae217d4b79a77903c85dfcd1250c51cad823ce5c537544272ae50a5b68f1d51119216272d782c92812c9948d736157a179a90c5fa4a47cdbb368311e917e274a8b6b0002d423c91ebeb7e5f2c6fc21c9e38c78cb113055fdb1548b185f14920c4db9d596bb5273e5be68d11bea2e8aadf998482c4ad3bf893cdbfda10ec7952cb1e9e8c99d0355f244d220e0f434281150fcb9480c6e750b3811acbfa1e071a06229befdf5902784efa8bea3af1632cbf1b8d40f6cf64b62a3e91c4b25c2035f7dac20836b21349f9b9894177f2823c92ab05497e9f3a43599cd65368df2a7838163ca5d866e9ada1a05917765a5f0bea22ff9eab6142ec1bccc8368fcbf2bcc830fcde01bc360e7fe86f57b12f45231a33fb9815b0c8a6eb32c07355a638b37086540f0bcc8c159aaed54c1e77834943fec61507a0c8a8367327953b715007cc60e8d3ea8f97705dc1d51d4a8bf2cf868ee0ebb16d17d0e7b5b129cc2433f48d2d01ab628883cd94f1ad2f861fbae3cf063380bc5d19a402a20ead82d43a7b3855d06a9f25570197186c8c56335404da5e68102e03391aba44d7ab412f689cda40806ac5782a022ffd6ef94cfc1efa2be6c4c687b8bc66e9c2b737200057b98abb24802d19107c86f1179d237293b19e597ce4b02bdcf01a8271e80b39e3c93f2d91b9d1fbf5b461e437df0b945b37301faf5122e92a5f463977afeea4d1fae4a547eca2a440f86b2d3a9831465924617d3ab6e2d8509b48028c57dfbfd42cdffb7223da2dae8007da393664da60c8dbca82e9890ed45b0ba4d6f5cd5ffa2d800805775e598d841df8b3342dd70bcaafb6bc1e701f74682aee085b6d84d1fe7b3678a9b50a57b95f2f9a9803f6df1f27d12deb90ab723fbb3f33fd8f6b978e6ff25105c0a60d9003cda5c66ec3fc6e47e4a6f414da0744ad3256e5d58b69c94a987cb5844cb31700d5448319119d6ce95cdb1adf8288c4988394c26ce024e865b7a4f39aab8992cf528ac4f8a12767a2019070f187f8660bd3c818b9bd714d04c9bb3fa783c6b59032042da7cd37ce1fb6afab51e60f4c341650c148d73ddffccf5fd02450457cb8f894a352d817d903677254588b0ca959abf8b6e299b6f7a25629e88bb53be9fc5e8bc380d319278096ca3ec55d58521c87bea117ae0f2c33302765c37df303da72f89bcd56d80fe5b02cab5a7072fda39d35299280900ad3a7fb6b8caf7f74c17d75504c8380f1b892111f450035d360617700f55e9a88ee9b6d9b636b74d624a006008bdf617c07f25b89c68e6ec64c6c92194cb895ef83da04593d180300ade6938f61613fe08c995c328ce1afb541b0ddb959176f773e99a8a0463a2cc062349871dc612c6db5da095f323f985984ccf8663c9f9780d99f0da317f36d42bb47d6d6059729322a0d07f83a8a9ea3e4ce6f98d1690476884b22740108550f3e0c04f8b9a07782946848451769bdb41a703c2acfcf1096052404eb522325aec62da48285584c1995276e183da89349bbc53aaf80493cb6966d25a8516cf2ddbcd3a8de9c0233e0106ad0fd620ce42af71b3ae7a3284dd2911e5bd99eff6fd4e59f1bd01cccc3cba0761ead0877d5f2c085737f421ed2043200e85223a5964b6de5a4d59c432c951b12c006a40d0ee63195a185d6521bef1466821ab9e7f29b559f462c7185c14455e8819ae8c69991edaa2ca147fbc3d7e729d324aae68fa18db139b02ec8f9b4e4f05b54d8f9b2bd10d1fc4e8d461f58292dae2f6790e37f0e00bd00c58bbf558d4266e234ff352cd12fa4700064b30d0f21f8ba2bcc8271f413156d892944d31cb7496d7d6615fe1eaa33be43e3ffdfd8afcf2fa1ec6cbf8514f928daf6ad60c8e795ec5afc87d21d7109ee670121fa0b7cb95eb0024d19289e3cbfe605f72113b6cdfea25b03db840496c81998b01ee80d846538c99ffd538eaa809727022b3e00c797aeb92612e876d314d8de3fd0af06afcccf28a4d339b0c0229f6ce630cb5f310e7630e7ab96e27ba83f110c4781b6c7fd6b414fe5c40944d67d6d699ead709c3fe58bd02a702b35384f8d656641fe57007553b76900bf0eaaca76e04a6fbfa48a1af96b26178d17d155d178bd1e4b2e26470fa00053af99f9eb9da7f66c13251521f628e075e797bcfa9cbca7d2cf8e92b0eadae7c7504c37222bc238446b504d7f38b9d6e9b484c04f0f0dd1b5ec1543914cdef460f40891d00c65d0b250c73ec470f005acdd6952c4420baa44aada14b79ea9074fbc65947db3cf05ce7228d55c5f8b84107c3f05d907c358f772c01b6ca142fc0469ceed0774ea9ef6fcff8263060549da537383dca6f1cd150b0b86c706c84f89a786abe588fa17157580cd723f02c1b82c1aca03dc283554778b841fb0c4d1c8f1f149a30b81e3a0dcff9902cc1b0ac5db8fed5d787834c0a3c94a592c5528e6fa3a081b21cd190572396e219be6cf9a0cfeda22f6b728a6ded89816ceb546f245465826c49b1be26e1a5b5967f794c9807b896a8678eaef54e2ff734a3eee33c8e58e39d09df9bfc499806fc71f86f6d491f6a637daab9ed0fd06586db0b1febf74634cc89812f0c23222e1a90b5eedbb5ec43569b5d5ce3531f420fa6025fd630433c9d3354980a9ba369afba229b32be3cb42747f8e2f22edba0b92b8e5216f4b8dd7e74923506a9ee6a1af26042096adc68cc239fc55d43b6dc050d00ed1827635f5de3b5ba414ee294eea42ec0a8a36fd5bc183f07af47e0c9958867edbb09f64b3099a39723401366805ac1a9dbe856841da431e6be618b5dc27c67b06ffc47bc4a6b170284a2a9ab09d2c0e6b8557f083a6ec81ca4f19c8fadfda6bf311d7af500d70748e8232293a41aabac4b70239cd86d01a73815cb28ba016cdaea24ba15abb836269e73dff7acdadf8938b3d8c1529855275d52c2247a8f31f4f7f63c3e8ce54b7c95248f881ec38e0ee79e4d882bf1653d1c2f0518836474ed60cb7a5aa3e01fe614e51ccbc3d01e3c1d201067f5dc15af7aba7c1ec4d433db352b9ca2a99c787745f904802b7a847210aa7a5cb94ee11f28f22dc0bf5d194e00530949209a88af49fb5c39d2bd99b8dd383bc0be83a63e9d94cd0366d0c4738b04d8bfc6187e8095f63a4f37291b57e98b135efacb82e4a8eb970688be7d8a982d8f11c1c30e74cf855b997c5ef41a448cd658203327856eb4db5cf5e4fcb5fc1a0074da0425c2d5e53db7c2b37263dc58fb6e6d52fa6c6af2b3867d94bddd6eacf2f599da53331000de4c9029b50f82be8673caacff88414112d7388adb290f54e8bdd9fb073b592cebd4e1b1766a8a427d4232e7606737ff3bb7437e15c110e63377964f36cbca3cb58c8346ae914eab0d7a2fe2893d8201cc2f6cc39409cac522690c19d150901325397a2eb6e4768012898bad0229a73be9feea757fddf1c24bbd003041a5b753bec89ca1e1c7a844072d119a63f5d2b36b0e18a92be6591257829f71be37b7e2bdc32f3a241e915e06439a1dce4c1329e396dd90735171641866bea32e4955d79392d179195cd1cdb59a259ed663e5344490792d6ff58dfc189c45d17d26be57541632e215238704ce0790a33d10eb611801ef28f72bb7a6e6937d9d2025f410f06bb4194fe1949b07c66bb2ef7d13db7be900270a83d9e6064324cd7c3c5d070c0ceb82821d42b4f6f18f5f045ce0a9b835eab146577e13edd30cfab2bcc21a6568e0d847f7c1057c0d841d05c7a2fa1dc05e9c53e61a28db3e625ff0f3cf6ed7abe0ea8f16198274ef8ee6f9af84367c1476047cd4b684cac2f6fab3d0559edaf365f7e1def128a41dd869405259ccbe104946ded49370cce57c8ea851481f3608f67d85f2df04b83f9bf4cd55f01cce5387f859bdffeca1666e01f9f86778bca00e9da1a504c2c1b351b93ec8a6adf089e7abdaa3a0f2749323c636f00415065b7734a05776d6fab16eccd1688c404d2ca46b64f423cabe00235c84d9a687a206554f5d0e898d831ab3d31f5e8368b1e45d30efa8496a035a30d21aee748df04b55b188b0bf982e57989b82f6075bbac6f31058dd2f7f4afe5ecc8649c5cb95983a808bfe98c2897f354d4429ce56d43211d8b89d70dc6a76ac69019958eba961ef01de1edde56b849099b0ff454a9a44e268ddfdef839ce9fdf29792c809e1747a18b381f322331309800eb0af72d79607209d0feae8b4e395a6dc4c33d7893b514d02726d0cf0f2d5f38413056ba6a66b3536c232d848d59519536549c9eb85c47b362ca951d134c2961ff31fc3b1c854156d3c47dc2177bc9e7cd1a48286e9bb410eca86222c44bd250558dafdadb12bfac50c942f5dfd270ebddf964d896a4068ca54250c6a95bd1784c68b4ab445d63b8b9ca2c5e676bb008c2049bc8d7315905d432c2b1fa7f7745741a77a234d1b430ae7f3a9919580cc684686bd2e5d96973a13feecbc7ab4fa6a0ab962dadecb5a8e6dc7e545fc4840112720d41b62df4d4249cf179f45c7f4d398c77019349e79d1d0d468b7b9b9ab62380adf97c9f05d1c3787ef42f515b69d42dc54cdb18acc60b2af45593ee7329022ec673507997de9baba013f5b8611cab814ea6eb8027a17756e7cdc851b04c4645cc517d7cc741cda62f098bb9dc2e243ca0e2231da47f59be73ccb4be089a345ebf77fdfb8f96ad9ac0199318e22a1f57d11577027585d4b3444c56fee580de782d7b69dcc01796d1a4c1d5a1fa18cb5e6ea72d74ebc1c3c76b76b9b36f8bcbbd27dd7e1f64e785cf906d9dfeaa59ad90d4d591780e0656d4f185f1cc1d413b0a2f6a7e6e3d7cfbd9ee36e8096fd3437cb1f53d4ba8a34e29ab4f0e53d7b9f49fb5aaf37ba154e93af4a483470c82758ff3799d9b92e3986159f8ccceca4506c88d534a25a5e321de784d74d9f371d8f1ed7b6e4ddbbe6ac0c699f03b4f88109ab001bc2fcb35c7385c36d11204214c5a62a4069ac69235f78c346a7cd0e534b53bb9e593255f9e08bc86dbc0e2d15024531eb8932fa2b187ede01b13d384a7f0d2635a2fff41ff8c152cade93dd92f515d398cc4d42507cf0ca9d00a18331b5c6513eecb033946670aeacaeb11ea89f3b5765b26ac3e863351ba629b4f255a206b60275b9e4f0222821f90101261d37fc47fcd26d91a6ffbab5e0e4ccc4cd91967e93108d684c2e776272f09f1d07585a735cd638d67bcc9f32c056c506acc9a34aed878d69106e7b413269132f740801119f95ec064aa3d9bcfdd9a50971a0b407f4ebf323d0dac115dc4eb3ee542c1d3ff78fd8c93d7565350085165a81be8e81c148fc532b66a9f8dc2bb916e408a5a2d77fdc838d5fe77d188d62b9aeb468badbcfa3d3a5d04eedf33873de604efe0d2cdf681c2f413154dff021797fa0b9371cdbf64d11335580b7d164ef12214d0dfe6d1503a2e2f6f10024d404614c85fef808fdd52a035bc7408a0c815a1fb0557cc70e136075db0a90efcd0369e26aa3e4942c6ad93f21f06042609d24fe2c191251ed02cb31ad51845906d39aca70fe398339570daa6c30b74fc8524c97cd493714b62e855efcc7ee8b8a9c51ac2be0c0af2976f847f6d98ea4eb0f9432130156a2e3802cd0fb12647cae8ffdca50a4af9c0b6b449b9885a17992f9c7e8ca65b038b2e6bfc5b0e5d8c446ea152c6780f7eef97966b1caa540a09c6db0aa3b331d5e9aa09e3841806628cfea11747a7391d3f853472fe69fb06a123cbb6021cd60b66542f3403b9c671c4b1167e1e2577ed254ac005f0fe3c3a04125f95c4217f815c434ab8d63cb3297b437d798084187b6d1512c37d916f858983f1d6bd5e20a84278d3e2a20304683c2c50066c15ca5a2e3b6f972ed55c869114f7ccacfcc520209d6100f23d8c2f0252965eb04969fd7f1c0ce7782a6afc608b947e6d43362324c61d920cbf4775ab906afe54551fd38aede0404f4e97105eccf8051fee0eae31ba08b4dbf72f2c69e03de545b11c429f7622fe18da46f73331ef48614784a615d04770af0b5c03c83e09ace878ada8528928829f6df8ee3e96ff12c3ce92abce9ef6ba4d0baa002630b57ce079502258f222b3ce226c0738ba1a96a893e6025dce04d4831f48f33c3777012dfc27a4850ff2fab8fc0b4f5d14ac410cd22b2340751170a6e1751d0125ccee25930a55bf2c766dcf6a45e855c37607995542540cb5bac8524fbda7ccbed1963400cccd0509d477c2ebeaa7cf9485a706f8f7eb4a2885ffbaa9657fa2c8e93a6270c34efdb028933b1e50133f196293c9c33db4eed5fd3aaffd09639693674b07be4853e7260ad6b95f012adb6635999b83d0b30e9ee8cc7b4bc39265714a125c6e1d3880d6a206c52b1a49f9f49cd7575d51a2ab649747bce921d617fa9a16e8e4ac0c8ae72d9e19e28ed79cccf40a35c86e085cd69d1010a97a8f65c86c20ae133ac6505e1774612e2162a3fd73b3f33d0673f38d44842b1547d5629568de40c28f3005b9245fc1c0b03e5b497c0ed91d391d548f331d107575800e11cd89b8444dc2820060827d0b1ee5ec9f45f214c517b35ac4367a79c2f8938ac24ec256e6cc8c2a9f7e4ac7043ffc0e04c08ef6e0851c15265a1edd972f2da76f01e19a03d864e8becdd73f8d25f91c9711c01c0f9f27c8eba0e57f261444f98c510a78e546f3617ce39f559d019e01b6d734f3126c44979c6f44de5b8399344190a9dac09f5ca7c807d5de390633c8c0a04674a5348736bbdf051a0d032208afe16af572c35fa714fcb21969110f094c6e83b8693bbe6d41fdfd102c14f3a72d896e5805e2c9823c3e9b26e2710ff6330c32065bd9e81755b4345ee61f5a56d356439ecf71724724cb4813d9815631ada8fe2516245d31828c2c056a1e43b1e0f6b4753c8c40edb1515375f8b16eab80ad509d46c6f91211fb727a0b40aea483d51384b63741be453f40b915a8d58c81459be3cd441b9ab779aba33b5cb5dbcead41d224fd91e0e442d1c74f5787d68e430bb9e88993c3ad69deae9f4c42c0add2da28fc5c075e6754c973d582cf15441c2204763ef49336369b20c55a8d7330b36b8c0409267cddd104aefae6da56730fd50d6617672bfca450483b4c65cc307ee2c79e8afe2dad3f824afda402295f042a2830bda471136942f5810b5d3c15952a327a0320ea7c4d4926c0c6ea6d2334c87a49a205f8ae6d7b21ed7d46d39b545232b73aa454c14cbbf588104c46dd5ba21bbf39ae41ca1e7cfa837418d9b4dc5fe39cbbc7758f64cc622863a4255378491feb6c77047aa1e2d6126645c32133f7ef1404ddbbab18ee61c1f1ab8561f3ab52e3657accde9dc11aaad8b8286bfaa5e28f9dd8eb6a2faa3f9081cccd9741c0421e7d7aec08f7f3c07b65d1165412e131fa6b9b5e8c4b08e254109a740ff1b84546c1dbae761b0b6d3c915e34c08b9e56753338305d8b6a60eb44b3a2e4d54077244ca5b6978cf9501ee12d37d6fda8cc851a90b3cfa6ca6882fc3e9c0ec6d4cd13bfa6f89e746b1ea1831ba6e1fee80a54d0cc5114a5344f5e90983fb655d11cb366d42675e43f989dd65da7335e8690a7a1d4be2047b0ed653bf9cf95a8fb3a94b5084d7a6d48abc839f839c12e437a287949b700a6c010fb7ea2cabc66672ab6af0441aec0297e64d8791b09d9286a4da0892742a7474065251ab72b9e02b7c4a0832c727c282dafbcce2d2a0c8888586ce2da09cd7a7f48f7b88a186fb35f47aae065c2631edd3b038c854f20fc5c262f2198734e817d7eee7254ad2faa871fe522eff3f6b66ab56ce4ae0cca371190327b4ffadf69b7cedc0552cb775144d8ec41ca7b2c729764bca3a018070cdd3e920e32a122ce0204981bf0a4bf197b9407b8a83cef9f7b9fce3b912c68b0b24d63def047d2e9ae99c1253d3328a35e715b16ad355d4b2db8cbbae4ccd9591d88b9127a06b4a1ae79c6356d2a73bcfc19c4497e2c4681eb9869127b8c0b7736bbec78137b6b51cb03a8d6226acb0e1a68dab14ef3e0f51813d71859b8826bcb053d4e5ddb2f544f25cc415c95c4e99cb0a5b477b849edc5ac48d51f4901a4dff93268c59a34e614521f4586cc369ae6dc617cc1b95dca743e90ebb4c3357176a9f28d8de4a027da2e3985eeb1b876e8cb5f540f80da34b297b479c356a39f402ef82c9208f8919a0071aa36cddaec5c49df4a3998b90f263477a4339e790006dec5c5f4195cc3c2d51fc8fd93ab234da863ec4d91402d7fd04829ede9c30e5fa766f4654236341a7e118da4b1d5be209bd8793a958cba5839abf35fa93975fae8d8235b21779ee3021c0b61642b03bb8581561139c528d051e9327c6d61d23228adce2115d3dfbb82172eb5150238cf585849f56e89162a09083b5309919477e0d305070a7604513624117313564167c9875ab3096a2019d106c3480e16008038591b739dc6b35e97de066c57507fa3150a4c81f96f219a2c29b62aefbe98946f727ea6c905dfa931534c8eefa93c922d95745f23e049439ce108368c4ef244d0279ca0009680cf7d0a0fb3a0648319a846cc92f2e483980415c2f7f7670d6e1e44149c1de8240a948460f8821c33fce5e3134ff3c63df010f4fa592f44a74a272eac2e40e79fd4dc0731123602947daf8858543c103cca402ca863d4e5d5054d6a603698218ec181a6c207dd31857d9ecf32326d6cb0886e64f71458cd55f72e197ea85d02e045f3052f52909639048a2d725841001104700c2810864561cd5c46fcacd5f7d5e0d25682f4f5ee1998692ffb7b52da59429a52403d404d604cb049cfde8c6d0a2835f35c3f6694b861574eb6e861076ba399c316ebb3c900f02e994f6022264451a838a204cbff75418a113f4238f5f7823236fe4d129edeca2c60b211001f20b5f534acd9447f23c351a4d23f1bd545322a2a653970fab1440f1fff021332a06014956241d319520841072385f1890fe9040fa474e40d07f50460050a63d54aa94279e2555099c81e4a4c6d5e7a05fb5743aa662c705520bab114b9692d57f1493936dc0e0c67de85e2ac98fbce1065bdac2165eb7f28fb84b3cd2c2582c99b2a8fff9732c79a2124cb037a3052bf6cd3d0038986eba31b1ecb5efb20ebe9a345c7fb6221b6d429f5029161021f4fb2c20c070a95bfc50a9e2aa0a939899ad339b54fce3669f8a1c53fda96822591976060db6cf2ad5a652ad70acf801653c6154fe71b3a8c2322aa5dc947c223ba939e84f6ce3eaf36451e5892aa72b9d94839e081ba191da4cb4fc53fa855f7829b08523a0cc7bf12937d2ab230d8a37d6b22c29e34a03544c5310865bba1e824063d2422ac71efb27c2fc4a7c5469ef82ca7cdf05bae5dc74565125a5325bd84ba18212920a421589ac3ec5234e094508a19452136afb7f6a2f55424ff424e9c90415541ec5fba924a68c3f65fc664e132800425505855aa23ea9c64849e80cb9dd19ddb6292859759de783323fbb8ef3cd8e96200c0918cb6495db9c279c142a9c8ff3d1dbd12eb8a9c350f79c1df27aa31245e077eccc727af293ca55bc510e17365388e89ab5e86682102103268ec8220b2e138132908813d494ebba2ed81ba5b57a3c91bbe4a639a7bb9b36be9a4011973831a96f6cb24cb8bead5cdda18b490d03bab7c99283a8f508a9402eff8854a294cbf14906bf1a3850a91ca48ade4a4aa9d97f6f7744fb580f24daf680fe4263fab8a4d0a0442d0e25d81a1607b7d4968039f63820b1e3adb438b058122c0e6fad4813452e1d135421a542355c523841a5de85f9cbca5f9c05cb28d6a2635a5f39285a8e1687b736443b311cdc46cc55d6fbe3cfbb96e5e84118ce41528b4b707c5c5c4e3841860c2c56b19eb3b0dfbe8fe98575300e967d6e0b1844b1b86dd3d6407a6010ebbfe03246802b0d70b35f454fc74c18402edb28e4f26ad59139b0f438d944a291290910a5201c12128d482421fcfc856dc7f278e80cc00f5ef494b27b485a9cf9716efe388e629c88869bfbb69070777777777773739daa8e895d35a76aaa68aa3fa79a24ff9d8473552abea04e8ee3b8cec99a367ae7daae0dc280a0665375b30e77d3315927bb48b74ad6115d9283ae9adaf69241cd666a05654e0eea5081313408f899b67361a70ed639b17059b859e7c4a1b4aa367fb197314a823059a7c33101411e37850b6c7044124e6e5beee36292d30f503489f000658818018cf101c6b06d27e6918ea89ddbf2b56daa54a7a88a2d1921e8b0bb77afc0537e64b20282bcc40c842e8a931f31215d31eadadd54438b9a452f2ed1e1b217c4655b82cb36f2109bc41f1086c7881a8461ebc518bdf8754c47eb186845c9a66360921d368e4c3a8699d946ef58136b2e5b1742fa1f456dc481e841184c7624b08420e4453f8adec8bb4c820856275c21485f7c3c7811182ff298d41829719ba75e9c0b7b9168a379d10a1435725b7fe216b5a8a1361abf7155a743dc218a208e608bda8b6cfc3b9b0ed5a15e543fd496da3c2648f805cfc10e6edb78c4865ff022493a24dd11365586155a9c4e0d27d4fce0080df072b01be8852b1f04c2f4005bf001c2bc68889a798741fe50229aad397d65d141cd15e89039a5ed84d2dd906540e0a4d1544a295f4d296a4a81201a6f943e51a8e9dc443595943751335250b3f726aa996e8145a703f7a449a7c38caaeb4eaa2a35a924a81bcfa6ebbc2b4e4cfa0731a270211f0ba092025188336d389c69d31f9e289f4d380b08c336ebf97d15fa0b8430d466dfcdefb20d608c8c82d4916817ffbbf96ebaae3b3ffcff0c6a8ae7711ce7799cc7cd49a7e74def394044ef754c3653f7fb827ae177a638cf133d7782301ccd6684089223449c280a98d90453cd9cbbe2081c77fff7f7ffffc83128bdd61f907301570ebf802047c197f61b2eae0f20c83b8e9eaa99779d63995739b9ea0737035eb58de293fa2426710c349cd02225cbb22c86108a442253777552a01208f2140752b99e27b0f335d7b2f04b6cb16559961563b4bef4251789442ea5e47138735a1b52aa0cd14aebe958965a4e2d170ea5d4531c6adf72892e912768625fd32f6d25bcdfa5ded47f9a41fd91dbb7dd772fd25ec48568bb117f86112377f722d418e37f93effb02f045cdbeb31d8ebdacaf5455a5bab00e66d129e33bc6a4910fcfa19d63844e8c31c618638c31c668da98650097e3920e4728a2135189222c1827c6ad7dd51fede9b6aaee614829630a37b5e5358220910724378b472effc056daa8417dd9b247ad78d37816356d65068e0daf36b53c26d6e296c3a3c5b1161b52e8a1082086182334ad0d964da1872280d8b4d0741b260586808517282d343b96636168665e2ed1a338386efec2257fe12aa8a8d9a3505ebf7353181633659efea5dc4dbedab6ad63cf78012a4619865c71f249659bc9550765dce404a3f889b841981a351dea0729a594b139eb400e97da69d907506ad138a7f5df3a26da96d8db58c5aeeb7c88cd5337ae721c57a7c01da4b0f8428b4f969ef44fda4e4c68ba21a61aee492407b5b48521f9e404241264c096c668d8d42cc4216849a496a55884bb4387ee104228a5bb27b2103327ed443dea7d966605b1593545dda6536e739b4c269389e5a6130138f297b61163c148c02af698170604c91594b102825e0465081083db1e67fdf000a146b94e6e739c836811f8226320393a7aeacd5841cde868a5622460232c6299e5dc184594e7799eb2d4f3bc96799b964afd696ba5f42c515bab72ff4a112ac67fb86da96702718842b96d596e2a0cc1b7997bd19e00640a1610d93e16000975f8fa77d9008f115b6e74b1a80eaa5328f3bcbabcb201bed54586909a5167db51fe52d4e398520f8beac201bccb7802755dd7c5104293c96432a128f5786440990a936cdaedd84bb44af94a5a56e9c3e158d3e7d3168d1a96c55e582a4582954280a8dee4d5b67d2a10f428d391e722fab8c49842c5e2e2c3038214a4485d1202e48705e2603d34a0699a8642018c50331df7026c6fb87167d81956ae40a0636bb8389025b42ec4e2024332b00254a97606965d192e37dcb81d5b5d5a6a20c15ef6c2b2be24602d3a58ec65e1cde1466d7337b9f7a615ec5762b8561ef0177324945e5eb130b7c18c793c91f4aaa8a9d8724105264172a4917426929b542a92edb0d31a3e505aabc7d31dad19ac00b50af9e0e4c0892884048b0b01f263c53e0dc150fc6823b762595ce40fde46ab5ab9b0e730acda409973fe684a893d0601ce3d41fd950d116b711b5adca775035d7b48108b850cd0542e0c737494d899524a8ffdce754929679896c391be62e965afeb6ae9d8abb36257ae8ed57cd4b1d0ead804743098c33950ae486ba13874ba64dee14866711a2cd044b1149104e166b67864a4692693c964329928add5e3b196af9ee1354c913389fa1383744d1481dbe0ee003f6c3397e2c61fb005eb4d2d364c4bb5c8816815f2b1228425b4d0b414ebd1b2f5a00bf5f001a338628753885a1f363a5368daec4f9f0f73b1080882ac451ac42622121e21986f6a3702d8ce95a815515bdce630a328ce4018b6500b800aaadbb677468ab4fe2c512949a19a909e6c52dea4bd496bee0e0b95186344a14aa5d2a9742a9dfc742a9d4aa7d3e671af2714cabe751d8e712854d566e0eeeef13d7ecca2c2fef8f71fbfeb3aaa9a4e34777777777395ba0d1edc3954542aea0daa7f5d478232efaf4dd26b93f4daa3dc279153114f89db76925e9b244db382e188460b0299d93bc2084208a1d55103a5c6260a2d4c5168515a8980069da042d1b6d0ec5d5651330fbb0a6eadbdd13ac6c27f3e3b7a1840157a1b7150e566ae92020740fc8cbfe0f0979a6a6f74710318640e0760343099a9fe6ced1d239794524a29a59452721cc7711ce7f14820867c0e82211aee73ce7f6a83874ab9b71473ec6bc20470851c4c41030f12b50829c489d408681b57e4a83ffddc4d4119cbfe1610a6a50ac2b8112f39d71f3ab1a7f2db68449ba58bffffef5bad56abd5eaf3b1b6391b7e7d07655429f7097cd750ba260b299ac016e6ca5323f597961dd1ba75b731faaf1c838d801ab1ff4f8bdab2a3878f2d6af0c12e6ed084941b92a6855ad84a0b6d0bdb6861e8adb795287f81fe72a3a68b20a63c21d2b4100cb530a6e3bf54a813826aef278425f7b1ec4530e4801d0f13b0a89a632d34e83849e0e3f1a178058bc9933b7fa1aef2b8c026171004218af39552751a3b6ec575128c82a73a47f90b10d5e2acad3fd6aa6672c50ea55fd84ee9526dcb9cdbb1ac7951ee6280022303dc82a303859bc31077626efd57deb64be7c2951a5c1a332242d18476dd651bbf3996275bd462d444252441b8994d1e91a368aaa239885af90181b208047d927ed15e129141d840c1c489af51e27e33529bb9747e5dd77d9d94b2f499d3520cf3cf5fa6fdec53288f118b2b8d0bf9034a2caea426a5a6b1d4a4c69bdd5290bb9b2184dd523a4dc20613169d328c293f5411ee66d5379581093db071947b6a34c4a7406166b6de198dfb821be116d8f200beb0f58c380f2008428f082ff08e0241ee39caa1f0e072156d3958d4cc5136aab89faa80a0c71c4a476ccaf52c2ea3c6a89977defcdcee8339e7e476a7a595bfcb6b13db3c1dbe5a6225a5441a7d0efc14082b43a4fed4d0037cd93226435f0e01879098a12f630e2d0d54cdfcc42826c0f807638b0b894a84e586e5264a94ba45812d105aa98e691287c6ba99c21cd165ce90cbd6eaf243e8a64aa46e1d6325527dab197dfffff7f79bfef010b555fde1bfbe803116aa3faa8e69cb07f073adee7573d93d1b08c3d6f28174d29f18568aa64196917e616b630305ca9429373755661ab3b8feb0b55256ca4af5cae89aa26339b3d4dda47a5d94e3cb465cd64b5c100e50eb017a250d30ea8a65b1964385e3a4b2757f202faa2225b5576a48e1fe658db8ecdc3ae64941fa4544a308357354bf9d5cc770e636695c38e0817a3b2b31049d75552c42941cad6417ea2fff8fd17f1fdceca446d72a4017706037fa53af70eb42836a84608e6e17fb610b1de4778b57b9f0fdffffffff5f6bfdfa2f3ffe7fe3b8d1dd37dedffeffbf8c8f8a2932a283e5688e0b856132269ab6e78c5b140a2006b36dc6dcdd59c41acff4c7b5eb965b54eb18beed180f1a72b437d3169880cac6658d359588673a26832b0e82424dc0d6b075246d66ae8057d8c02fd4a892c58dca855a6bc571e363f2314931d9d155e086cffb78d0b8508a2aa4d4abd21dd48c5e1778655cf8819146af1d43e3bac501430dbffc735d01d73dd755b86e237beea44a10963dbabb33bbd75a2bb3ddc1c3fbdbbbbda114557c28270e9ad305c2173a226d37da8e8c5225fc78b43da541bea54e4074414c3e5325462b5dee7461194a00c0885ed285efe6207ad32fd1466ea614e4c608c48d76c88d76bb3298701ba3aafe442b0012c8ed467a554f0e07d8a87123897db636d903cd0694e10b510063b736f258e89694527ae3d339a27697c3ad3bc005175cf8bcb84eaf5b8f0428185df8296a469b576a38c035c246bf440b95a80f218c0cd8428d1b6edb286540981918b86d636332e0876d09d9056edbf8fe589571596259066edbca34aaca060e1720aa0a2848a4963d9b767526e1c0e1a00a5fd87e3cb4461b3d8e652ddc1871dc68619f527041650d448fbfd63a48832adb7ccca4676e8cd1fa77ab9c14417d3a4ec083870e8f070f1d3b3c1d3b78e8d8c1a37987c73673cbb61dcb81a33f6d71e0c8d1de6da10a9d04a3e02987bb092eb436a00cbc2814408c68f99b051a68c8d1d14029a534e4e818b79ea36338265a183e316ee6893f5c46e9309beeb3c976521852a3e58bfbd44a20e8fd4129f64c10e6693041190eadd5e3b19ffb7d82306f5b097c79fba0279e26b597dcb7bf438d18bfad52d4b6ade2dfb866468d3a6e020d9e28dd7f5ee9158eeb884469264c1a49fcbcab02c2cc60891393763a13865a1ab38fd92071784c5ae86345064750735e51dce00b14cccea2ba545d765ed785ed782b7bb88d580ea10bcbe8fb14548c7ea07ab064f4030918524a49e916606c71c48c48d45522a54ffdaf407313472dbafddcdc7de7a9544769cda8656afd944ee7721cfbd46394a35b7fb6ff6766664ec9ed531ce264bfe216a2e5b8501d5670778031228031da087ab86db51fe84d3d14b0fb54f71235848921f7539f62cf53ba84b03a667668ffbbbb75b0b17523dc1673cddca41a23353df14aa03f11b7a827b7cf713b403151d5a4aa7c504e278f0727b77e72cfdda5a4df2b3f6af6a7d3e94484c6b95b4dd59c737edf7c9feff28504418914717f7f1f31edb4eefef6ee961cbfa3d200aa19f32735bb541a407dc0f340c76430d5a363327f1d4d7ce876b79704d2812ac8923475cc0a728a44c29ff42414d9c99acbd61bd56d3b0d2184a5232c8db47491b5899af97665c959966469882cc9d2e5c928ddb6719e8d91134dc7a48464db464d78d1853efa03aae0fd2ae528ffaca62c0991a5af244b74248f48932cf9f7924592e845ffcf96653d8d1baaf93e399a364203652413b308f8825402b6d026231249bfc818cc237ae3c01108d35205f56d8b0564c51609ca70ac65a990b945d2dc22696e9134b7488aa449477333c520602c628202a524b544154973633e55f71a3c309b5434f3d8189b29a8342f17f52444330000000d00a3150000200c080443a170482c201477be1e14000c5f7848845e4019c8634990c33888c11863803386000200008018325443c601e0b77b1dc6f7c36179ae25823c1490f02db2488e65c5d6818870f00a0e57312d953d792120c8ecefc85454ec4c2e0748ff7c4d50fc450c15650445e980d20e654d50c1358e2988f8d69810a3b69730662055cc233b4e430bf8a5ea7bac910708f28d6c6cd10fc1e83290a1d1be143a4cea056f3e0135b8a6e7e8cf6f3fc0ccaa29cdd9de4493797d4a8d913a74629fc4c63b87ebef5a81bd2d6c0ee33c1fc51a37679ab735018edc801e38bba48bfff30cc03fc17b13b440427783d5027f13dd82a631cf480db3cb9ed2aa392f38470911d5ac704c9becdb94832825dc192f3b578e37988cfb3af77e4ab6433c65d5645f893dcd93a85cd0e831b0417ea99849b942ccd52e9556062dfe26868980e6d0420750b0540571a89870dbda04a931528a42efe50aecda71ba66f990f34413b467cb5f583e704881a31d5b29bb1793dcfb19796b3d4a8801e2cbba7fe19e604c81658f205cc5304ac647c546d62abb6649f1d3256074de4e287c2b79aaa23536abe5168b12ac639c15b0d2a91edeafd0df006ef5912a741520f63a950440c989ecfac6859898c494a59193e18a5a960f0c72a155bd48bbc48227c4bbb2ebd95a562833f5201ea2056e86fd219ace68c68ef7ee5709b7890c5bfc2c31f8da14b3ef8583e60bc433b9c300d86a2b07ce67be1c69a388193eb7325c7adebce73b7333fc1354eae7b657bced480356aed8ae6c13a2309ba0af3b0d737a16e8b78b938b6ad11824a1c035ba384540d4ed39c6122d392276ab05934457ab9619315dcd7e9981ef3ad60c39157dafa588f82f774951095b7fe29b844f1d46c0e40dd83d1020fd03cf3a5a576725ff3c0e1c78052aac4ed9ab8b1a7343718ee76d0eb931b413fc45d02a8ddef0428d31c1e76d6a5150d8949efbd4362d6474ee2e71cb6dd8bdab130237eed36ccf84fcad0758244384abd0b37ca35eacb2d7a3098e421c5219361dae503a29587b91a9825906cd686287b8aa980367a4b494b27ba31445e446b6115cad4c6b6579a24810e4e809f33754516a72f275e5d715478450a1afd70dcb60555d9cc6abcd5aa57e622513a9ae995bab9b18eacb0c4e561e6d753e789dbdafeb5bbeaebf20ee7bd525cb7a565cd4f9b6873f4ed2833c82476de1c28cd8656de5c3b56f0345a89cb99de9e944d04e5dabb41ab58e054471cf6cd33428058028e7324405b544a9b76ced34d588874012b090e0b02c35830dc1c668bee3584d7a4a5346c054a0112e0d3365016b47eca8020539b1a5c94ce100ce9b7b4ca46739bed1b0a69e23095a2ad4c399420c8fcc4caa4d5dff1e2e5188c2a329a11131693dfe2f0d0c215b373115bc1969f19dfbf20560c571575c5cb5b2982bf3e9ed61e62b77e3480a9e9178e874d2359725b54cf0713398671793b1fa5ccfbd6cc2f0e2ed6b07d4262b1339009b6766a2d3b489de777b132016d6540a954c8e35a457664f8c136e3000d9c86d6499b909bee52f8009bb0b8b05edf1fff509ec207321db310d6c9a97565e15ba063b187a8c5a51b6bc6abeaa3b1ffe1f34ac490f88890298e4ba65c4b202a26fc983043b27214baecde4e4907f8c380afe3c6ee27d6c44851df59964f2fd6db26b54ac2cd44ed0e223b1a1915079b7e6db22eac7a9ead32cdc416c43c5200ee8831a2455d298f5ed50b5f6b07c39171ba6e212b08512f00daa514d328b0fc6fd2296cc961343e22c7ac74ee82f93ed621e74e71f914f141140cc85592631ba3b21a4c0b2d911f9b65af8cfd109e23d25d7e2d00f3f95bde12fa7321290270fa6377af85b1a620c57f9c21396eb02e6ba7f045b9f89e1322346c355ac167af48df1f3d9f47c9b20385b5506a41e04e7df3290821978a62038839a810cd619a84ecc40ed1c145385b8207be0bc19f490718f6b569cbcd7afff00807a42e5ae9c793c069c5ceca4594a776394f51237ae704e03624659bbcc428c1e65d837cb83a9c6f57631f69134604506df57c79bef759da09601c4b9e91ed6e3d2e69ecdb5b34ea10557fb3795d0517bcf997317bb7797c7a71bd9fd0c047f371cb68aabc41d98218507e24492e7c36eb28330c170f4eb105903dafe482557684cc95dac9048251719521cf198e04cebce5a4755845412a017dda998699b6e28db215178c89bcd30bfac1c0a3219f86420e6778939352074a803d6c4d244e1c3406f21b6ed3caf6b392377e8e0d1398e51f727ad1247a34514a07d5c317ac61b2b47451d41ca8de8128e5e8b67c18956101c656a18e156dee6ecebf0d0312dc5d1c4f62b73a22c45085238979b968eb36d81a5e49521a3be11d5458850315ba1e1066a5370f993b68e3664ace8d65e34ecb7ad94a7c2deceaf3a1c57079713118b17f77c68a7130a945c3bf96cb1614e471762308ab805bc79bdfc4df055b6cf6de8eb55b8ac88e42952d897dbf219833cfa424910155c9a6c8f3ac8b52f1a4a1bf99077c79a48e208771e4b8eadc42a457f431137e14727a0f52326121e91789a45f8ea51c913f9d4ef330d2245ad730a0b8c50087e7840cb71a3a8a3121d9b29d0be087a42de809fe326deb733940368d794c01e52345c1a90b50988d601e1ada9d4df6ea796f69f23772f5cb6b272f6002f5c242a72b630d2a1bc3ad47460b635cb6472db8367c280f66e0f1972db7046f9d6971b9cad3672d480245c7c3c5e193a92d43be7dc77e76c6b2d563ca65575844b501d0794721043fd8bdf3a20823d1329660e7683c3c5593cacf12c3e088f0a77d9f1b2f89c08e85e69f40c9acfead77b0a1a5d55cc34684b02fac67d57c9ca31b2b140227836145a9bd3e8aa3bc7b92ab0a7c52be4a5a20a58ae889913da0d5e5bc7597198837dc2f24ad497d5950fa9740f8f5458ac1a219fb2e27babd3a3c4a538579e55ca8808340364af9241be1f81a1aa4e0da266a0f4ec53fa89d683ab87ac3950cf26c5cdf5acba4d33fafe2d4272b3d8d010db7495e5b942f48d624d34a499f476d64546557e4d65b74aad27f1897c18d120987369f88bd9936e7843e2280d217c9403177c063f64a1115e8f359929fb00d641693886c378454943bcbf95b752ca90f56694a8a0b60f543bd04a9baaad19eeb1865d6c29830d533b1b169aa069f88fa33d0debe57d7a6623537a04e2c502b0512a7b61885e84990ed56dde9d78559b909f7a2bb11905fc9dabd14b40323881636483d9f8b0d41b05dd46e3e9c0ecbb308f992cae649a8097a7d39a1b94d58e0c21543c9ae32caaa96346814b5a949f9f23ad9f08a543da9cabde58a6989e1d0f74c940236a4a449c89f3db88a10b8bcf03585a4f858e8ba8b8b9764adf26371bc22f67fcd44ff87a14c436fef8b8b6dbe4d7cbdb54c90e46f1db92458a230008b026c1eb9a38f2cd91aa2c8d5607a73a58d7a5627231e7d03fe8e546caac0d238a20f0a54a3bead466d7240dd0b4c66024b253f899c084ee7b2a287d3ed2eae2096b67c532ad9e208af2ef6bcb23147474fe92e97e71633d5aeec8a0505ee224ea8de58229b47d883b60e8b1e10bb4d659dc5dfc519b2b7ca137ac066d9d8a3eabad4c913ee070e1abdef981a12f1cc02c5a16462546c39318b0a694f6e92eb244cacd031ccd6af0da964244911255e734b148960e1d348aa69817dfd0c43e2eaca67b99b77a2daea89ae549457e97d71bf87d8018f0b2bfbca7042195ead2b18e62b6f456b2a8d7c5447a9ad3f5f6ec45a92a8b93edbd41506485e6b19ef4ba0b0a1ab26cbbecb0918a1bb068a7a771ebd1fef6ca48411cf134427011b082c890f27fe5f961624487239f481a7cc5386cd75b358b8262541bb97ee49035e8b90b6f5d9a056a717cd09aa3329ee6370e3a2d91e6c6e63525bb05fbad004a4558e92226b31cada3c681ca257f2377c7290fc6b1334a8bc496e9afb605ea7aa92d5adc470b8fef6429b893be264d2b75d50bb600374506bd0287781062c467318089cc96e811d78c7b0a38d9b068d2922cbaa6dd1b62b6619e9cc5b584668c691756d71791597733904b332e64d97372e9a06932ac837f0bdde0511b9c8423a955f6528e02850ed0f0fdbefb23041e28fc30c08af5244c47d48ad9163fcbd59485a3d39d68f5dcfcca2e22b7384c32eb45091fb744c4ec4219a1cbeb4c6da5ce1d2dc287a1fc380565df42bd4d9ff38c3a0d8048cc1d6919da8fc6ce7c1ff7ab2b891fedb7b24534e57843a0c45d5513f6cb369b1a06e7eabc7f6bca5fd49b6b198b4ac1e3873c1e8ee85fea04e285ebe25af05c528ea9cf93dc0bb514ef8823e8b75e68c0553452a204ca35177b6812070793923e5f00273006ad98f43b67fecf858a91307810a8f229e6ad142ee026af8f272481ee2a854fdf00c7517978342c983bf1540aebf59e41c932ed8e54c36436911e2ac124301b73fc92bd2518b8ff45d2024565e0e24ead4a920b079002289dadba40dca371b54fb1b78d6e55df9c4f439adf3fc4e4e3730940b183b97fd452969190f6d798f51555b5f2fe2ba4fd0532a3e01e325bf02c903a03ff8397c5d461ec6f1ccebbc0575f9ce221ce85b2580ce57131fcbe18615a4ee2f77d9288b8bc8db80069c99095eb7df8eb020f21f1fab85fee689c00fc831c226b5c0a735488e3ed1ec64f0fae8826e163a7703c8ba27a77ac35e2ca13acad495a2caae87b3e8cb299fa55024efb2d5dc38b24ec969a7d7165b132413e71e64f85c780db609f04bb290736ce928ebfc0b2d89eeb7ed41806900628f5dbd98336a696f8bd43dace64469124878b0a80c35adc4fb87aa0887471003db5971932d77be906ce86582a5700c1474dc4eb4df83cadc591761a271910914687c9d44994304031a9c226a075e22ee54f561b22bd1824bb57a6eb2f8d2d3c916e30787217608db395a22d9f8f96f27419868a9f3ce06c63f2ea8b324741150a000e028ddf885d45bcdbda903e740faa88c600a5a3390750efcf1103f14f32fa57fdffd08103ff72a4926a9eeb84c1b62f3eaac36179d3dc07356f09e35e83be8f767ebe27de931a7eda46e58a997be3d3486b920749a46ac18dd9b9924f34ae4f92381494dadfdc5bbdc4021a3d35f7924b4b07d2ce780573e8a669c3bf992a36d6eb08f41d8cb4a5eab24155a105863a8eb94e04c54d3dba34fb990b316611c4b7fa8144ecd90131b5a6e061b5cab500b1a9a4e32bff5ef664706461182d2fa6330e9193343bb4a33a94aeb37e617511c380567c6c5cc235e7664edd7f086513bfda2a1717bc28f33be69829c4e9423f60b0ea1af6820cb3feb9140b9ec20e3318305a3e9328c0c6d86dc88bcffe1016000ee4884af2ae4b2a54c7337b2ac2ba985ed496488e6e1067a18735d1dffdcc9896aa5e485457841e11af15bb60e4a59401021856645380d8ce31bea978fa83eaf53a810bcaac2e901faf823a7563c6ab61f3b92b7d31c6f7dcded653d00b0d2a62bdae60b57491b539569701acd027e51ca7ea639edbcc5df1df6138ee96b1eaee9019fcc193d9d31bd12837bfac6906b97c60ec1594280922185b32869e660ed4aad53da48504b94b8158951ea07bd7f1f9effe17e2f15838a504e6a5d2c2da6d5b81ccd59717673fdd58c854231a811bdaae634f511e7ff3bfe992b070bb48103052a9da3f82787bf18dc350ff36f5e33d550e0cd36a6934add8b820d97aaef8f259ae18535aa6de78ea5ce883464846558905a4172199eff2fa51865c34e989d1af035c82540121d105a770181801cc1e1e10a37b85dc34c1785ca71539e1059c5b44ea5cbf6e649573b719f12cd54f8603f66e00758cd04db24df4e1069a1112dd13141523d3c9885bd15c3cea904046b1e9eed2d10119ec44e58d488e96b0a02dc11398fab28054de747a4bcb466824db0d8155c21425db8c2cf7c3962e9a2ac4256cd1b1451421728eecbc08dd8b5ae44886240e72bc338d0827d9f01ebd1bb23cdaecc80eb282a4c91b37825a4112fabd9f94b5ef36f24e51f233bc6dbb1b41f2676377f0cca9ba424cc33e167895b47958e6c07afac5c865be14afa0319db0c2d2064f389a08472361e4244261fee2e0432dfbbb7e34c3bf8ae12cf1d55717d420c369cb1f223430104c284bb8b964a7221ea8414af71ea1464e30ff04e75b784d87f1414fc00f8cc9ae4d46229470b30a2513f1ae80ff55ef2ec09218a2e43b04d50339b74d38efff07106b61b9c3ddb1e402567ce307944a50675e89e1833b3cd978461b4125363632e1de4e99ebe55006688ad6e94d7c54bbfe4e98a90092f86820ab79dfb5117ed17763140b7a4997dd257a76479907d8927ec7ec09ea45e3a3d23604dd47dadc148da402406f406981418ba1043c038044b144cef8068ae41e6d6ac76d72a344d8882c527c57dad8b343b91cdf2934d3fc0b101e0726f848a96ccbefb7f15891086a9b54d9c68f0c00a9b072ccbc256cb3b5559605bb64e7aecb7d42d59720f4900241605ea61ccfe60a279e7fc541996efd1ef8935850e2158362d09487b2a7af4956580989f20911643290d86f456ad2137e563fd87f52237550e9d75dae3386bb6d6320b79aac6b4edfae7a3646d4fc2d86ace688fbc2939191f01bc33e9fe1aa52f094d204fd91fe86d8f8d8abcb59d652140a6e0172c9111f8ca0a82582c62f2b6f18a26bbccdfdafad32489666e816c31b0fc712a676cfd4830841aa32d6a69d6cc2dc7aedd99b96e2de04c0c541b17c06a113f873519c9a97ca34a9076b24358b67fb3a1954ea41251213e1ad36a5b588e090ebc5b14eeab1c26d4f815d88da404af9882a7a19e16f9ff0db361166fe1faa963841cfc708f4ce1770fcc88eba2ee76d642bebb02604bb7e0dd2ca528bf3915791542be38c005dfadf8816f2f674258330e63779c6e8e2870f6af441afca99f21d2d728e2b6c44287696e6c3943f5ca6324bc2b5a570ff139fd54adf6838a2ff896bb7b9327bb24acd37ed5650ee326317c0023502437c135b176b4d23889251c86a2943a0eca8a463135bb06cde7f5f1a362d796c768862e7888702d419995c987b15cbefdcda6eea1587d4abd04513c4a990e4ec04f6562d5cf33f99bbce662a43022b80d58b5f520989b7d0c792bf80262a8a7ffde93e43ece2f67ce6576e5301f3a109f6e15aa26c533d4ae1c9dab11f634498a0cf6c231954e66d312b1e740ed3b490834d4fec5f3d1b20b6cb906aab853f3206889afd71c30ac2f68ba2b5789031af4411b31e9bbd969e26a0cb4730465c8b2a3063d089e74d7f1e323587e12159d531fc643d154271c0c3f77f9ca741b91a04c3a64ecf1243afbdbccdf087ff0938895d7c2af25bca6621f3dd4fcdac03077f1be7ade7d6732a81b767dbef61bee3ffd0989ad39ac5a471d47cceb7dc6273baed753add65aed16ca8b552b1ca891dd2816606a08ee4f929942e81dd0081c7e0acf920a925f97ec38df15360f17deb2e3f61c4390a64dc98f4b7a8f13e0fce5176ccf67bab1d1cb45d2a8baa3fb54cab4d6b6bf0590990eac90923fc859e52ed114d0cd32f1117ceb50f11d8204228a06494503539717e5b2d8c02a60e588e5936d710d43497d1f613730e316cfc51a77eb4144465e06019f60b83bf87a2f24a54e862e9f4484d54b5dbae0b27089311578a17c0ce0222dc4efbd1cb4c9351ff49a7ff4748e1f9071a1b4d6e659fdbe473b6418afe9801343389af5bc804434a7328e4a74eeb61eae2dd610c64733f81b4a8e567005cc0e266f52cdedff6467cbbb324f42337c3a27037b023d77c2e5848a163123258bd25d4b95012274f77cc04dfd61763d5af67593bbc55322f38062e2ec8b85275a92a3edf81e42cf4fc76f855f684abd16046645b4dad674b90bcad728adbddc6281004ac366861d548bec89447abf40400564e2e0933001b044cac9c061308d30e21148fc48b0ebbe1192c3ec4941d52e95cd426214da6280038f198e98460fdec627283f5174cba92e586bac9533cd302a21a89e2e8159939eaf6e03084fbb685e7a5e0177139639c85161b86a1fdd9bbc102330910ff623114e648b8ca97227bb11a5a860957509e1a5b973f785a7ab2f95444b46a9e2a22adef1ea09885dcc54e75cdf535bafd4797bf7da11bc0b23fe0aec375318eeb684f8ff1808173c6f5e75c8cfeb3e739ebb13091f02aef01d79f882d94f45a48e3fce91c3e474707c125da134bdba349dd824bda8a98bbef9f15e578ee81131fe1f61c40ae2562263ed6447705f07307486e5c06def9fcdbf4285e6de60f06be12e55462c4447abd4e96e4e7fb791bf0b5ceb9df5e1bdb80c39ec48144a274e4345221b313b9d100d62b02d98b9be87384ab1f0180d0502dc843388d306a2633e4a2e97875d8ab7073ae271a6ab82dc2838f3551628f3ca5ae1c9c9a4e5de06cb6b2d0157f60b9df2427e259848b1c22f4673ef9b2d2f27380f8f58ac1e5e655de14e5b365de46ced9f05799b6b03c674a7392b939e0d69a5dd43342fcb2c6206748ae19be671026a0bff3a8eada5b639f89fbdf81bcff905c4206559c379d19804b536e2c48be7890501d7662eaad6c54b3d81839b96c937cfbf34b1d41c60113ddf43b11b474222d612e7f080bf6d46ed0901084c34fba8fd735d1153c231e3ac8345f1d05764ddad202601e6d3749dccb9957975245cf248b00771942b60936332b86fb2582c3b88e13c5124f876b132e318ca4bbfac5a5417c3122aa4b8bef8b4abf77bef81bcb69d0beeae03964ca3c0765d7962cf4998d872be0ca08034d3a81aeaa33a734139559a019991958f6a820506817de183a79ee44e668e2eafe0c4989c2a632033adf2cc1cedf4c7ed69a9807a3d6c60636e50556d37e46a839679847e268a2cb3ca8e0c9bdb18e509e39a8721b0a9a0658bafc2c0bb34253564dac2832908569541eba3056556033a3de1bb7c793b6e7a90cf2563b44dba4b146bcee350f5a65ecf8d95ed3057d18996e667c364bbe6e9cc7272462291a1df82b5b48a44a042d10b6446797b9072f7cca8ad3305451381b1ea7cd33d6bbd004da3f3512e9bb3a8d2167d7656c282283fe636fd6fb050f637bbe3913964ce8e24cae172a69d8a21cf100b80731914f6a21cda8886bd0ac38eab1db488d47f34247ff9ae23b45e9907923e00cbf6bf40f40807008389cd66ea0af1e803d5563853d56242a22410b1cfc089b6243f73b14f7adc9ae5cf5de4c32700f37d44e97a7b1751b82e24ffebc1ad63676716607077eeaa3d0172f2aaf06f618061964188262e54f070473d845483ce1069c9d4a8203f121c84ec6e90a23326bc29862a9083662faf4d65a40494013e06301ab1c8f072495f3a3e68a74ac782b7e1aadf51c239d4f968dec0442dcb6408ecfc309f1778a60865114b68f374a4a3cd8cb11744669ad426967ae669b592551445aebbb8200e4a7510fbe42ed043dae8bb9f0945b93ba03282850f230d9ee381049f1f0e458a3641a5b2d51ab963e84100bad7eac809254dbb98642cfeecb96fa0c0ada1d23a27bc69c7ec7ee1d99f9ea1c7c8ab21e770bdd7e8bc1c916548a7109fabf699f8ff34e5ac56948e7bf64a58e75793f3d60b231c947ac437428fbfc4ee6a343f3edd3f9b8ff7d66f6794b6db0077b7c4c0597e7aa6d4d2c935a89921775242b29c73dced969db43beb450429a10300d2a21955b847f41341508cd5f5d422add6f46bcf0c74f81a18d2e1c287501d1769cc6e6ac95c2dbd2bf4310f631ae92afca8129f6997aaaf06d584cc9c004ae6f46c4472b426a58238d707c73113dda3cb2ec1c5043668d416a373570b5dd71573196ab742c358661a9180c16dfd478bbd33fda9d17d7a4607e1dc324f5d265a1676b5f88a384b6b47e64bcae40908829832130eb07d885966cbc63243c8bdc01e3ae78c81183612715c663f52a8baec6d345dcca874911af8ef265b5c8b591c9be1ad3b5e3f68124b8c5ad7893ec543daeacf0178b410e9182bfd0b1f72fa02e7d1f37a94bc03067b2cf6ae32f328d000d659b50164323c9343ede92be82449cb06a415078bdf986484f3b4e7e5677afbf3094503295d8231adb0f1b3e8fc2d8dfb56ed1f7c29a9f88bafa932d01e1d8aa8b6de9d1c0446cab5fc419a3ea90a96ab925475a855134b100b04ec1b70246edd4d88fdb145308b8ddebc8b839833588dec431e4a7c3c53e34f5c0d8108141704476574f7b025b29015b6eb1915fa566d93059ed946c5da0a875290c0a957b30cac229dd5c5d05b6b92132d62b98922781d89fd9892b60817ede9fa469bf4b8daa82111dd577a213e850347c6e9668bfbfc96e62424a2dc6bafe63c8a79b941bc201eedbead4b9b42038f4d661d89e9fae6e886be56f98e0119b6f2297cf9db73fc7da8111aeae3f396a87de3c04fec18aecc480d18be3f4614c93cd928ef8d108efad71f5081e54d8e751893b4a1b6a91dba64d1fb9ea6bc57936bfa1d6a0fc94ddd18841f34b4f080e5ef99e7b518ba46037a44e53caa770f3750d4421f6c602962862871defb91ea72f142b5a713d5636e970ad207a0f788b2bf543a687bd582bc45fbc70803222cb26f1807780e54d61693304221ce06a284150eddfa3904b4c880680e24e343763146491a86bdc8178653837e2ded47ec9454ffe448126ea86f8093b5f83045227f4f76afcddc6431a6d979471a3885f0c6568b4bd98b63a63aa3eee2a42df1e58363e70f11dc807e4d351b646591f9737d494b2961a84979a7734c25353d1bba67fbab1aca7df09bb562c8b1314e0972aa10ccc6a58985b6c385f78483c2f8fa5510d574a1fb0ab4ed265778687877893029ff6f59d87a11a870a214dbe2e876acf3e7b1e4fd5c0f37c574d41cca4f2a92538a5838df54c017194549eab89a84165b839d70cc28df1b4d31ceafdae3dd353a0c28033db65de0d4249dc1be99c807c6dd429a7220809d5fd4970960de6041dfaafbd70fe581d28e9a41615c770c0898c1cc947f32c29315e7702d9bf008aadb5bad004a1c24fe1d852a86ca2b7273ba47a9e95ca23823666c999c36536fb70c608b48ca23dae8333b9dbf23c9fb99da9f60e08778825e635fedb11dfacf6f08c85664307688926ca46fd568d90afd432d4bbd90c608511228a168f50135a8a0f88821c45619bf162556540cc021729518a52832c68b9f9a6f9f1bc7f04828f392ee1388d44a271d123cd66efe464116fc5ff417b7393c2a98bacf716dc1bfa6b9e482d4aa4a3e9b7884577d3dea8647db9079074332b667dc2489773233e0ef7034ff7ee4dbd6dc53540a7e783dd213ea0fcd69f6b276fd6fb7dbaf2bfddac0699d9fcc3723a1c67b47e4c321a878c08d95161925f3d5460227f1bfbc9bc18b6f295a24750161adc0b166ff2abde0e59fa343ae33cc8bc8d74caa45b123093d4384f02395af27e1e34ba889d0ab853981a4a6e226b6fc1f2dcce31b611fdc56848e2b7406dcfccfc13ea051215e37f77024399ecfe867d4e7fab3ed31a38a2f0796af85096bd17094640412c94be52d72e61798d9f01f853b5526c0f10bc613ce278dbd455a624a76c5698fc81d08f8734641866ad4a201dd714323498173a0b5624f9f51e41a491870d9c74cb388b9c5ea6b97400e18ba405901318823d4df93a1c2e1b0fd5115270469842c45903f3506b000ba8863f0397e08858f7f7b6ee8d1e73b1c46a3a937d759b2fb35204ae4364b0ba2bcc69ab66ec9706cfeff2b5504959287addb419f26bffa0b8c293790fd2a18bcf89e0b94fe109645b5079f530b317a3a3c87f752eb51ef5c0eefb4fd96154e68e74e0df99afbb95bcd793ffca1ec948740274406b69b42177ba3c22648284e4a1986e383574cd31aa46e6dceb5c707831c726f7d8eaec97f8ed35ea655267bd0985e505024ab42e55d0e5b2ad1e31b5d3fd4bdc6f525056a916c93740959324d213cc20c02ba8724025ee188b958ee6f2d581c319097e0f5d510f3a44a6e31c3962b73618e681954c58934ea807723bbdb13aed88cc99e27ed1bb999dca1924f7637d2d235a71a9af0aeaebce84f9765b3661dfcd6df8323fe5b295427d09d238281e96b184390ee2fde7abda50497ab2ddf42f721d62e3d2a821d9dcfa11c94abb1e41a072d823c572cd55701b50f06ee98a23030b45b7a78b15e6226cdb36fd7414c7b1bd4c2428b23d223e2539f0a0655dfb837f66415d11d015d1ad08ba6ae05f33c49c7ed991e66eeb15763ca5ac1a0710871654ff001e5508840932ae1aeea6b642ba1254d44f8838ce714a35e9d4b18f8dc2e752702726a5b7583c5c36f2c03c83eb230fc6e7fd5f9cb1977dc17416bf5204eb103e4ec2d7719046a6233dfb215cf57a53fcfe473fe3898f332aa15765071b4635abadc8746e1d5f16d4286a3d0d18461637423cfdf9feb320185af2e1ccc15000367ee2ee5f080bc98a7d535336c95f4382e752a042b2d7c3f9a60a6854d17ee9e995031d2cb5543aff0c5e158ec4c7123553193786cf8f58c94e46b8551c70dd15029462c8259635e57f886eb1e57bc40104eb6fd5671f6c62cbc5ff9a3e4421f0f208e1c46cdfbb4aade4879788eb01f21e933d7590446c6a1d9d3133d180383ea804c95c0d554ad6144b9b24c8f2dc1464d93d2a45ac74ac497b82410a798928757102b230c2226e4f15d24b6a19ac85af4c914503484f6568afdbd29268a384dada25d75d4a221e6349a1d0127513117d74e90618d7b9337d733e82e199f716e2b92ca140104f47b1b4108603c2737e3c903b6b7299d29372eb99b5a2d83b63c942d491e427f7a7bc72c6fdbe644fca8a3948f2d31947fcd36a63dafea052ba1aba2659601a700a4ac95e05617544e06d075e0167807bd41fde5ee5f7c81e7e0ca7a3f45d9e26af547dd44f98496dc77b003aee60fa6319beb38b329588f00617eb0a946ffc64d5e61e67d73e78896fd303a2311fd091ceb272061d34450dfdd2f98bd78920367603937f621e55a4f0dea89ae5a2fb7d6a2ab179abe447d9d57fbd20837db2eaa406a164fa7623c97ec90854b9f0d3620e51bbebb500ed1826e3bcb0640e93f16198ffd57f5c4c240ba36461b42630e4a51dd7071dd6b4f51eaa1cfafefaa9aa9bf0f73c6736d30e6b104c3372effa7d298705507137d7d65a220c1e47e07ad8be569911bd071f32435bfd4a1ea5c607f80f49ac91dcbf95473f1985aaa1007ef6dedbafab31a1fd895a6a7d3c0c53bbbfbfdcdfcd654f46031f4322a6cb9a43b476a4863dfa658325a639421e4c17892c97a6a5912a300dd2d13d9eb41b1f6fecb1af3c6626362f4938ffc24ccf6644112e36824e55d7bd3445e4890e5ac5833e24cc3f54d9159944e5468905c197d0ef4815d9f721f67d8b5396a06999ac66c5a56208bf15d374599121a952d96b91c26fc937c5739419c74baef725db9304144c355d2575e8a98ffbc2002417e328de86acc3919ea0f9f3c1514986cd9d1cb8072a8852bebae138ee0dfcc9042c481e29f4e2d5c41b08732696acb59ce722b80e52e4e113ee008a20d4ff27129dfc297453ef42863e94907ad005509f525d6d15eae78ab5f9cb6ffdb3ee4978d9f0c2aa8b5160005cdf88f5d2f0eb541064a3c17ab9d2ff3eea6f168a7706f31ec16fe0679693eb2e212cc1573780111b0d30e7c9a7e57eea2fcc047a4a50b2acb4172ffc1f09156aad8bd2c0f91dfc16d0a914460f6e0f278e21c7a996d00a02180a6fdcd6306b0047e9a7a11a36063a89edf68d0abea35b8c252e42446cb038ff20e511bb768a8b9a42ed9f7aa570807144504e868c9e5c0a1fefe0d1db2a23a4e9694820352f4692cf658e0e1ae35712fdf4fa5455ace2afb5e8a79437230ee5f2c5ed6573e08145c0efaefbcf338f8ad9d1ba63bcba37f95cfb0334509303c8a2003f163ec4f0f90ec422e8a50e3e404693b1374247a678639ac0495f80ea620e59e833af0a627a556e0b0cda87f4d64412da3af622a7da62edeb87699a961ed71ee2b07cc9819d03cb6bcb4a9376a02a81a3ce62b578e8766bdb99e670741ebc96cd019c44df96bddc2813c1eeeb50022f792fd89dcb66bb7fa64c4474e1042f38706c8a5f5942ae8d786ce25d8e273a9bb2fb1f13195abe3238e91dfd8058cf4698dc3af5564a43fdf1698f4213669bddc620052ccab8c93d85010080de22197fb7921ee4a7ac6bc0074a16ff69d963f1fba878319c403502577933dbe9f93f34a3c507d7a054c537d3d3112d23d113d5d37fffd727cb77591838b2f4b22d560a8cd993eaa0041cd72bddf90275e05ce0f999b00f0fc885f9332a2dd083526eef1ce0938c3055a4a64b231996762e4a4bd48a1d733aed3982cb22bd4e5e4b7012521b3dd409e0b9019a30dd1e93365e493459068e4b3f8bb52f5927d5268a69b9355a3e625a6e5c6713ba0b3dc3ae532e7fb52f5a74e8456d40902678c3df3422e009c34bbf9f2c8fa80872405ef80a3107005bf240819f0fe4865a8a53d05b3765da0fb631b9494d24f72a8e28dcc09e17eedbe56fbed4e398668d0c81e5e7af98783a0cace0f00d5c5a6e99d1c8507650dae4d97c22e27f7cc25d00f4de0b0e60ef06876d2bb623238bbcc2e3b84f06993917b7f9d5f52e1105c7513bb699e13c6607809836384e4e0cb186f93292df0295d433e8eb3434720ce485950560359b7aba225c39cbd6f97b5b3c0bba927c81d966e4ffe774516280f4463ad978487f489cc09f6c1700e3c29d36851738a970f7484308d70715a1f0f9c3ae023fce2af4cdc07e5558a0bce144bfae4ffe580a6f46c19206ba1c3fc20a203c68a2dad8f7fc49aa026f4c4116e6ea59c5e6d1309a179b28ccaefc753dbd4031df2ec9ff173629db60f6afe8059e075bd236a649fec499886b2f4056d23bfb19c17a26f78249e25693009fe882fe7329e0d986d699f1c3afdac520d62b00bd176a6df21723a910425df5a6904f797ae2da5b07387d3fcd1caaabd4812be2e44dd0ab858e4ce1c2e4cd9f4cd84c4f96f2c65182437ce7841f8a047effd3d07becceb77e5ca4637df1492de8024646e8b198be89fe346dd4cef7c5c98e51108c6eef2bf962eddf639c97a8519ec67c614d9c5032b83b038459859b971cfbde88c53df03142ebc25a3054ecbf7e65233f4a091b02cf142141c50ee7a10be52793ff3c44b51c19ca7990646c4d4609e89701d0768054fc504491640e3454c4151fce7d1a4e34bea1306f50db13255e19a514e9247766a263aa91a3be8cecca1a94531f119030f44130277d8d5a7c1581d6459fd76aae10476c2c117c419c44adf3bf54595e73373f69311348dbc1fc197214929274296f58e0b8485ba25d1490b159a70f5db14c0e9a36f78659d30ac87ceafd90045548d64b839d7df641c96676dabb202b554f2c0c304473d6ef19614874431d234f41abfc4e9ce81430059aeab47ffebae0ca4045b333035c311c4b25eb9843f5fa02ac1fc355fc4cface4f95743b5f2ba066e627d43cf5bf9277d3f2a1cb436bc80d4a72b5c1fdfd2b200e6f64c8f38acd436434c6ab17390fe513442406b9e589cb8a2daa19a7f4cca46e9461771c795e4857958729e5a7b78de8c7c90bb6878e5c4e4eeb6ab69c87bb28ef8f5698b370e32da902756ba6b3e460512220c740d21b32dcd8765424130dcc5064940f04c58806287e5c6c92122575ef788e365bdbfd4af3dccc98e0c617ea573b7baa0c3926fec6eb0b86a60e545a3f1b201fcc2a60072684521e8938e9e6112a166ac90b729fe342fd901e01f298a468004db13971b2390738a9266e66d48368a7d47d5929944a481db6e52a5454d5287c33085bdd17af13cf19a868233b1ff31893e15ca0aff092f70a76b6ba53cfb3737d2e0f381aa655e615c34e1d55e9b2300314305363dd851b7c5eeaaaf59e9d4ce15297f09d0b21310efae8d1acb9ce0e3c6c89e1f27f6e9a3bfe18addf5fef4bf7af262d7bc3f07ee0d68d826fdd117de8c643d6590de32ab92ba45bf873c0065ce920a61f09a1d62962711f9401ad8858dfef32418bef68717fa03b9a0b7cac80b9d38e0669c463ca1dcc19c14ff633b0c24de2820086120b05028873bc396d388046b9da1a92506827dffa736e812bdfb8ef813101d594366e7fde6b1b58ec5df038d6193626681e50d491c4fb71e0729143a4a0db64eeedca0c8e25272bc1730f141e83a28724c803d511ec8dcb5f46b6622e838249e5e4e07d4022b086aaad3fb23027bdbdd39890f7964f64fb337423f95df17e7b16af2d3262ea2832ca3972af5cc05271f1959d211a1b225c3682440b0d4390f56d17bf5e00131d4bfcc6ad1ecd09af56f1fe2581de7b9ae0a1dace19cdcda764543d39ea94bb6bf94eca0bafcec0e1aea501480b14a6f451345878dee370e8f633d13a92dfa941d3893a883a758c7f59422b1c773c233d2bc19e90077b1e44e2238d2245a91d31ff8a6005826222a1f47ca94f89695efe7b2db29f1d71edffad0f30f3494b61ec89a9cdc927d582cb7aba2f6995276c36a223a663e065b6c134f25acffbdc4de1bd3af78d1cd0b29b48cab9c99ff8b2ec87d8b220435aedf16021f372805f9b8b15cf0e5b79faf3099c2fa209c274e2ced9deeb2e92f56d77ec067e19e118fa047a1176380a8217dec6513834febe02f9aace285de351621ba166668dc783c9b7607b3fce78c37820ed9eb687d09f631d949e06cfe2afe2745337fd80ebce1617bc8e6cabacbc5b8d4e772283a22c2e2802aba1af716728c8e7fc10d1eef478a9f11f27c07dddd67495658969bfa5b090ce807033a536128d47e1cc89556a0dc0a75005273a951dd1a441f6f8f5985eb3ae4374712502ebdf42d8d15cb86816bbcd0f244157c09deff23722c0c0f7e9eda06db9b64e6f744b4de2c8e598d88e155935b537fd2b40f6c0372ea4c593466d6082e725f8e39ecbc784ef0d3a6e7fdaa89da1d53785f1edfdcd6b7b8c6f94ce2333b012e8afbbd6ad242d7328b14c1825a8d9c5c7817ef754de4c62c0284463fe46390916c4e839b1ff5b5062dca0238ab9b589105e8563f043a654c22ebfebe93996a111a20772e51c63c03a2f8ed857bb9411ca1eb5d3ac38454e8d2a8d837974d50052443bfb048db8565b80ed6cfd9d7dab5ad9180589d54a4037880cb9b5be31ce84ab17c609264fc5c46569efcf54b0f73040e6b9d78ef8d6384d50f0fa0c876f1166b1d13cbfc98f178597821e1f4cef8f05b4075eed4215f9caad968642dbf113a2565b7d5463150292eae4f6368e49f06fc7b571e140ec460aefd82fbc95d818b6e3484aea32bd687f73353c20a2f3373e015c6ff86fbc7566b2e3248318c0c11503f1bed87818811d001c7948184ec0c26de2d765ba0251186da2d6abaed0fa9d104e1e6a563f9aec0543d92a689f8c7a9c0e5efb6810420adafee66f74e0d21565406fe765c2f86f86aabb45e82124c3df18fa08c466597ad570019056d95ca8422dbe038cb507c96cc679d9283475a28c4f0e3afe7c5ef33b024b515c0e9c75077d13c495342f8ea9896904009ddd7187d07b069ab7ded95280bd6f92f41c11eec334afedaa2f667d2e50483c760ede294647c1665950de3a75eb565d7f72cf3408feaa3b5029b732f08a259b7c00d734c64a8e64376e31456604b0d47406ef5449d47a5bd52d46518dd0a91a30ead15a8d9666f9d3d82f2e28161151037bd0c98ac432eccf138ee2f12eaad828f4f3a2822e9ea705d21bf03443054e557e82deb137d8f59043ddf0b262a166c08969a547df169fb9e872125093b8f0bbf499a992744ceea8bf427802c14b4272f5a4fe3b810e2e8c0506d4014a0535091f88e1877cf7b27c12e33bc8b8622ef6fb4f60ac08f05b72839a2049a801b13e7fae17c9347baa9e43ec74248645abfd812ed036816a4be1357dbc6990348ab8a6575f0044fc412447be9889687ef2580cc45c51632a89c28ecd3319c8e9bdf3b8624b85fd90103ed369d64864845d40e64566c1cb814fe41ee5ace24b2c5b183517da0fb203022125b6bc183e8e6e25b6d865ecebe24d95e5ba7427d9c293cf91b8bc741acd39d2b0cb2b1f284507654ed9d6a7d705cd097b0dcaf56c5b4416c0742a0fa983016aa7dd65e5569018c1804f03487b41c35fa298cbbb3609217ce9f4e84c126ed61abb917d6f433daafa95a97db7a3face8c4b6f59aa63a4f58a567909bee4623a064befc430f4cd28c871382c1acd3b2b091dda0d4e444702824f645e0c617f130322938d66a54549b60cac2a8c3e9b51010b54bf81c04844606583d163558044c9cf5f5aed893eb3b52b102831b34e741e89984812be301254068fc4780f09cf76c2b4a43cc758127618f010962210c56a06dc78a5ca328fb348d0cebc761c72df8ebab5f4b024ced93525e2f4d96768150a3a015a5d96c9318f0edabda28ef47a052fd74fcbdcd48995746278e42d188b509a47d26922f9805de9c4ae4919f8ebb0d6e1d5a5216cc91c0e4a35652c890d71edf64220da0034401c419b5d78adfd243a54d03925317cac81d12ac7571b3b9269540c2841b43305620d6eb26126b7c5398c149bdc8e60115e8172fb71a790d5ab61a103e14c1006b00b0c11a78c88b1c3c5540a32bc5ece0183ae1520121ab89cadc24f1a980f81cb64fa0207be27f5705a03e77b48cce2840c8a70e531de853e0b76728e32d2a8d1ec4bee0c7fd642d042e307be7e472ab2b222a2f46e96e28347f949171bd4e80fe144ca7be5f2dd8c3715daf58964a504a42b56f5fa61b080232244bade0facbc8507e71858cdba8541506530322c5e1927f8cd8f63fea960c00f1fd703b78a2788df782f600efc740cfa68f9484a3bbccbcf40ee7eb5bc9c33be5a7610e369c1d64e5f40d4ae09153ede5120db696802f0a697894614a92d845a829c94a61ddcca54da570014d9b9402195b4e29ce6ff671a579aaa16f60536887693e5628187c664156e8bd14653bb434782198e22796d4ead61c841a15742a202758ee2807822dd70437fefd86803dbcf9626a2bc52688d0ea7baa2370ab946c06f6d58993dcf6d96871b1f08bc5f58d1493823700fd969efdc32a86ac5a4ae9783ca0b08df04eb9794bd2ff1c2bec084f19c906d0b3dce05056bb4cf4f0774140c1d519e5908ea896a3ba21375aaad014bb3c2fa998e20e9dc2a243d65f311c3a18e29101044059be598a2585de8b1704c99aaaa16a270428de350676b6550d2ca3f5c4db94c4d2d4b6c9817b6adb48bf14c88d8f1b937c2f3ed732350432157bb182352b55c5938439b2fb9b5787e68fd62a9f286b6095fa18c33031ec2f6ce664d142cac6a0e9299cc567527be7952dc283e4875ec37829dcf588ddb7c0bc5f061611763ddac4376814c271626b29e1ea019a859200e9454593edee13521c1c843fc555024981fd0dfb431d67381d7fc20242415d660cc85550ccfaa78816633229a82f8361895971e4251f84266aa8a5691eedc6a9d894f86a9681fdf318552c6129df8819061a4a513241e1f5fd415ed65b650b1b9d1dfbcf0fb1b0669ebcc28506d05ac850607dba491f5a65b2b925b882c746a3160fff361af0e09789bee3fe70ceb3a51ff6c094c310e5a0c414466616315dd24177dcdc8e3c9c20172a7477135d46aa8c7198b1dad6e4e1f8f08ed6f6527abb881321e85935a4fbae919edbc29b55ef20abf9384d056966f58b58766bb3f012c82d20273a877eef7a2cd5fcc3ad80821443a183a7257800a076dd5c97b58b31121ea844fbe0ce89b9722a0b4fcb5404f13180d9bea6e407ea56ad42742eb2863b49b43aab7705dbb1c01e3f8cef1c0eac0a3cc38f30dcdc23aaef2ca2c8b92707d36109c9e44809ac007fed3b04c57f6b1590f024026b2e93059ced5b79e1979b3c77b4957af8dbbb8ac38b02ecfbfa344d830272320867d4ea3c36d05eef6883f707d50e4a5c710d84cf1f1365c2d42f673600742b0cf0cf77f860910f830ed03785d4000279a8f776303bb7c31daf3074eb425b9c68ea82849cc298027d319d6df443e4b9129ac0e2f2251a18c66ae3022deb8f741f16ac5352fa3ef8f7b4c1eb664d4a8022a459cf946547299b90f7df587d953e5a1b1a633f9fdd16fdf290cc4e49170039ab2e1440fa6780a62fec334f998f3bb294785cf91a6bbf77ed0a0fc152fc569149369ab83d5bdffd5113d94c95d1ea2d51701d42be4a5075f482811baeb0310c7595f310fc73be18306e68db690a299c066633454d4ed1c98b394c5cb8f26fdfaf26efdcb8e90cf78711817e5e5ada26195215b48c5acbd7b15ddead23c9446fc8b71c4df360da31604bd15caab2675d550710e49e842db7f0fe51ca4eca2a0013f477ec179808ffd04c8c157b4e71f2908af5f692d7898396439d614e9a9c0967d53ef286b7a75a677db1ba174bf40b4bc0eaf205a014c7827ddcccd1ad513c5224c8c36977f09a495644ca877fad4af0635733860bd801ec3b347a30bc734cb7e9861897cfd1c4a6e13fd6af9acaff4014d82a1ec3212fd840820c1a9ae9e66e8a6811e26a320758ed1b4212ae12f8928c9f15ffcd4b0ea9b92f0ac182c160ae5b67c87cb880281282edbe714f2e578f604852a0cab925352f27f3cbc08d7eb63f0e29b752564434ebd7699c3d6fad43402da0a9be7d7947bcbf506320e855d79288e2ce68565080d5e794ff006c747c250a2f2bcc128927a3269a9c8d85db0bb9caab32660948d11d51be1a725bf921d101f62a46b7809c45db2a1e031ea028f3dfcb14350db885401e9c78f98ee719d991dc239ae3a26a3eb5bc4c4300cd269501192792089842f97e4fe2dc9fc55001b1498bc884b9559aa77d7b13aef7ae88ad026bc2f0421fe6904ee16d50460b52b15088e1b35a83c8134a5b8a62d2a5e658bed5712f570495f21ae4f4151b365d352e52d43e8a92b64337fe888f029af373d75014d250d7c0e0b2b268495ef9264b85772d667e9e20b643c37186f289d4dd704cdfe197dfb86c545d122536ec9ddf6a99ceb55b22993d06de3469c503d555cd800554334295003fc157038470401932d518f32373752e969c89e595a29c4975da201d140ce84a07c06e68684b1018289ddf4ca183ed334586f1605ce83ab18d894749fe6e75810ff69076ca7c803d377e9165a52253c986d5ed1dc0f37774c5013cf72ff6a9c5ccdee1eb16830e1543e128c6a41edf868d56061856e932a17697fb25430aa12dcd3c829b0bcd50bdf64bd206709ec246a1c3ce743086cd6baf1da7b8d2165751018b43af7acc6c6b99c501a1b3fd98734c5ad678eff7e2d306b81adb5198a761c812e0e044eac7aca3e041e622bb53002e7e41e128b849dcd6a41e5d9dc755c4b35a6260f120534409c1679904426c3609908cfe8260dd5efcb61c82cf0c49831d3244a939ab806ab57b8fd17ad7ba3d17537d8ae168a8bcee448f8700c5d2fd579453f4b00f3755d8bf995cf9368b86c721c9cc6d62c53874d5b05730503125a75769bb458eb4dbfc45b4ecf88d1b4527dacad5884379cf03156926fa9094608b7a313543d408f61e225ba10204f0c02bfaff0710d07e1e537806e4541cd6e5ef9c5c615f93109320bddea403decbd1c979f5c19131240c5f758fd9035fbf26287a287fd89be427edef123d31e6e2e618f90eace9dbdfc685af802b087cdf3c329137b8c2cdf983cee329b806ec47c6cd10c18fe9e50b02a8c0d4cbc2d8aab9b374439dc757ab560c1e277e3572be38c4022131142fc1153d8e64347c6db7af50bd1eef3719998696a8f8ae0f78ed6a3c3baa9859a0f915686e7697b31b365b8df39711154964c0c42e566a164b89b54af608d453920e5cdb95ce7e122806249e0b0985cb5b8ebd9386896c13db5e45aeface32effcd3f686da3ad42e9366fcc0618e08cf945ccc3727819c1d37160844cda336083ec179deb91020ced98187bc8e3f6af865851762224b8366bd765a90028f5024a292002459dc78ead6e5601d95220f243bfcfdabcd248c70248d2a79846d0d15f1e40335276f7009cc6f46ed95fbfdd2937c1d152df0dc063a1c4cfdb2ef54e0b31e67bb2c816e095c9506ef8c474b4abfebe080165aed63430b64e1700b0034c79b0ecc84e8928e58c25dc65c08663f50e34431e9aa57386346a15084a125ddb5c564324b02aa65ac3d75dfa2ec5f76bebff91c60879ea8e9f019ef52357caca224a62f7da0b292ac1f2222d4258c53cfe73a65b9cad4237762b69ba363115a9163500e3b6fc24a0d53ece79217e09a66f20344d51577bca79a3fc1f92df561e6f31ef43f951ae0a17c39fb5939f5d784705332a785189ef38e379bcc3ff112ffe4b1145e0780b4e4d7d80436b9670eb61a00d2c6e85c858721424cbfc4fd0d61d1077fe74a4512a8efa2d0c8ec5b935c8ea291198d2b06d4c8e4cb6604eebfdb50e6a560065039d601bc6a293872ec2258e3408b76ff78820a73157d41eedd20656e5d6a048f6d64e0e3b9d6d3d2494790bf39ce82c2ad5c4473ec01cde5ca556694b234b06fd8b88b973ae03c6323c0c09a1782557893c221bcce824d3e38e04214181f044418105a966970fb3951e7647d7d29c6a122f65fcdc7e22b4fd4f33a24ea4ff94d18ccbaa58caa7b0e75a97e66dd55da87c701e2c19e2502bcec57443a7343719d3a4ab6113c599db5075b4c44d401070dba92c23e7eb34b5641fa9847a2899e85407bc1d62e267dbe66829c376d437be0858f25e7b01e0bdc45ac377676542d04194c858a63746006248986aece1a2294b763d824b116a79720a35602cc2bcc9d91a71e5ce00fe2cf0636379438753a1c233dab6382bc5fae8d633d0b693cc7938c2ea698c827c4b5bd232efce347b343ca72bf74cf2ead473d19585fa43af5fa95358684cf22d38b723ee7ea5f6efd6b22e49d54d5473736a262ee270f2cb6949084778b3a90351a2315e782f50cd4fba43b072eaa3ae0eecacf061d36b782ef1c90f5a2714df1adac2bce2830fd32073b7b2309e7034e3feb4ce1c09408374a29c299b657f4e60ff15a5ebe37aac154e864d202d3500dddcbb2635465beab04992010800bee5f1419992ea5dd8c026a257736f10cda27ace83f2499e93640336a3607eacdb05c5174dade09b36a2f63d6433662835f684f9561e57241882ae15c1d0299e740233eefae2cfb5b77e987408c60e08afc087ef5f42fffb8c23507a5503cb5be56209b10af74603c7ac82afd2974ad54f85be664b5ea83454cb76a45b0f924a97ed09ddff48ea128d2d5940e37f3675e219c3a2b1b457cdcd96477a9fc7b9b85f8507905690992a84c88f4305be5d10f512bdcc9a1cc0681864004463709bf3903542519b2b21ed65a05b55fa156d7b51540354ed914c4c3436f938b0016046eed839421004b8031a90da825b30d0b24a07a9ddc327c537168767384ae7123da38dbdca4860f8d87e454fba880db99e313e2d15ee56830548f6d7359b78e6e7210c0cabc0c2cddf7199f798900f6809a97e28cc40792fedc0d8f0cb21c846f6de64cb2da59429a5f007650804081eafb0c7300c0127f47dd6c1de8e611bc362163748e399474f3f3fc8dc494f7135bfebb018638c11fb78b12f4c725b0807e753d73dcda7e8ea2bbc9a4fc49d73ce2d3f3dc43a138d30f3b99fe2d76a6df44992eee09d423eb3d24fc39e9a312fac27c44bbf7e629df99b8fa5d162bd8b84c6393a1c9c73cb9d2b5e4d9075e6cb37014908110dbc6290129040c61e8cae0c70018a31c1cf04d6994b3f55e86b2e8e73a0c0f6d318638c9cc7c44a7c169e87fd006137b93ef3e39d31c618a3733dfae298c1f63717bf1c54583a3d12b6d83882839404f748d87190be0d0dec7ca6d8d31f01e37a306fc09229c2016eeb78709b83db34ccc3bfc877ef44573fe122d1d54c7c459f8ac05b1c40fb425ed2e1240f321a36a5ed8475e8bfd0b0a1bd943e8ebb98a75bf129a594bee6e5b64729aa495f4b46b77b8ced28770a2ce141f57c6e3ef70ece8f412ae0adf9f32de025788b6350c5e7ce2f32bfdcf974e7bbc77767049e1302bc9a2fc59d9f7d3cbf7e937e4158670cebdf2f7986b6f43dd443441c943ff47487a28b03bc922f069194291c09e1c08c33ac7cbe72e86769c87ba87fa2cb045ef533d5fe91af016fc9976fc2e6632913f1462973a594ab9a2309bbc35b2c111c046f31962e45577e1099c44bfe024b460b96b17419baf2ff5a326c777783c0362e47578c1de7e3affca880c0cab184954f42f708dee218fce074e39b10b297f9a017eb1fbe5ca289883361d74e5ccdaf4dac938e72999f598cf46c777044e2590c287794a3c18dc996980c63c32632a248fb8ef4ede946f256d2fc9c1aacf6cd6d4e4fdbf6853de5b611da17b6d19d8ff2b21c2836dc6ed8446d8483454de4e0fc259a7cee124d2f17f29657b95322c9af8d1c9c48527e1ec55dcc3377a28b978ab8c8846abb67b16e30d27c072a430c07aad5daaefb07397e21789710ba215cc6c2c5e936138e26d69f931c9c12244a4a3adab183c5aaf6e79bc03c3c135887739a9c28c7c194969f3b198bee7e139847dffe62a63de7a9c07daa9b7bbed8ef788a7b4de33eeedbab5f581963ceab5e586fa623663bdef32bce1775b3f371de5bdb4f2630dde4ad9afdfc0ee32dede53edec21a2868fbb29d6a74fd670aa1718e506fdf5ea8f83c8f12f3c8be3f776a21a1c845a0f2f80c18cdc37919839c0736afb32b4170513feaad429a6cf77ec9f5a064d8e54571153f6985e45ec44517f898c2f5f7a2e8722e8eaefb97b1149f75e4d7a7425f8b9e9c9f2f5db1723639f65ac2810a8a050c188661d81428361461061828646811a5c4908ac2c30d597030926430a19452ca482fb8a06e7961cb0c3263b840861d6a2062893278b02836a85b5c4843061d305042c30106507092917e903764a52b9fa34b0243305da92294058a2c3cf106f91d00a4a8a0c315a72c3e70e1914f8294bc642f6381c11057bb8c050655322d216837d8e58f3f96d865ae775848b2050cc3302c892768a011615d4a6da2b094cfa8c1d1cc92430c2d1cbde0c5c88523218e7e388a72eb652c474eb024e46ba00ff5071e04ebc8974e763e4e0b6cfc992f767e2177d1e53f71155dd9cb10bcfe23bf5a29b3cf91e24a52a62b87a0b02e638c31c618310cab58c52a866113fba4901c7250c946c92339ba6e982749f354493465191c992347e628dd3f96317eacd5320ac9f223617953b2f5c8a640e3b733e0791c1958cee926474c6ebfc5691f77350f90fe1414cbafd520d9efef22e6e1291aeccd043025f131e62a4023f6d924af8fe20aa98b9ad8bf61edb05b72f71a34ce894d973a84f839507f2003e6d19fdfc03afe3a5cff489f7ea40e4b71b56443f943913a84f9ee05bb7c075e4d140aeca0839b9b1a3774a08e971f9b8179443fc1f50ea13f0fea0ffc230084c3021b3fa4484d25d00f0a8bad56f5ef1f5d5e9d2e451ef939118e241b6240ee750efae3802208b392bd17e9d1a3cc50288992288992d25b05c4569b49fb6e4ad0b45fd2df4c9cc762a56ab09b920d5ff36ad060ddc7c166a2aae22f9575b07f668b0d5fd1c55eaef0f4bb8fb7d8e8a789b7b61ba30fbe37f18d7e926e3f39e8e5ca6d300e7637b5533339d82b80a1d4dd6d5658225782208730dfdfbf9088eaba77c0c53ae8607ffd13507805e00cfb733ec53cfe20ec7ba7a7bafe51fe64636811d212a4c5a9bdd55ada49862929ba91b2cafa3818bf28638c32d22cdb714abff691af249eb218914588662f728915385de67a6a16a72c6098f84f3bb15bd84833833572c4dea8c4168d6dae58c692c42b1a5d2320b9a96e4c2209a2dbadc4dcdd777e4fb5cef900437670c63be7efb88ff975f064e917c6af9dfd8e472307b3ef66617bd8ca3c608bcf0cacf69b0c2c46df26fe2729ed8017dd2152d3e2167a510fedc6232d6cd82fa44bbf99a2cb5f10883cfe09893b1eb3a75ec84d37ec5716917849bc2d420e32ebcca7cdf9c82eea698f0eee090bb8a88f59877a7d85643dd15b32e5c71fd9412ed1d529707f97e0b60dddfd0ad3ddfe41fc63fbc5725caa358ab4136827a0196a9fa72271b584e435469066c83a1001b892a55084960246b5b48082140480e505442f1092530cede7d788cdc73ed69928b4b7134031e86bcf72e5553c21c995b24a0c48e388652f91a8176a4fe9d75995e50f51ef3f04f5d9d32f44bdc63af4b5df7146558f4a7dab7257fd727c151fc9627ff97becab4dd87e6659593346283f551585c5b955be65c2f6f373a09774602814866912a57952cb34ad462dab5a6b9dd56e4cc618b39e56627be04b61f9c367c5a67ec526fe08be972fddf53733f387969f8786b8b32adbb6b3deea8e4c3129861fe352540a95a252f4e3a8647e1cfb270b2c92e882c053930d19c915df1f89895720bafcfb83e01c61e90d7ffd253ceeddf0770301ff2f8915fe4a885fbf249f64090fd7fa7571a5a47ef6d153325f097d2b25ccef0602f4e3df605f09f4bbc1deb544b1820c29782107259ef8f3fd6f4ab8c13e2311609e2eaefa41339a98a001163b78f1021e7ffec243bf2436ae9a150dc0c33cfee17becaebbb8628ffe1118724a99a451e30817d0a085900d64c410ab70d1422a2954dde0879a860a57be4d838a4e09c87543f9b7ed736ea60e770509e266d8dea9a90f1929c56da8156cf5abd5c1332a0e0af575197d52bf9c117ca5bde2bb8c5fc84b483b9a66215dbe943dc1b89a3ea7f4e89f336b1e993fb24f32ae231199b956fbc977dfaa8cbcdd13643b58503544b8430606dbddb2064652babbbbdb48ca1836480ae12db7ca31328dab8f9ea9b821cdf5efa32b869dd2e51459eb8d21cee061873360b801869509630616385418fc441b5acc38baa1356308e87f4bd28366089541444b70f9159fbe8cdc9b3ce9621fc441c7ba3b6ecdc431495b625c8f6cd99b0c16fb1d0e62d4f34c0099a6a44d74d576b2935df7ac1dacde216b7717645da7202ba594524ac9596ea82203863bc988e2cecfe914c05403990eb81e7ac59dff552f78b0e14131860b77fe0b00cc183798478e26c0fc2a06156230b9f371582e943c0e44683a0a238c9e69251844d084b1c30dd733eb8b60046964b144939395267ee8e20629a5ac3dd890259f0670a393526660852e7e980441a4041451b04511524a296d703db2cbaaf3e289b301c1a072e7d7703db36b62434a29658b468660802fc07c51c49dafea604a0c2ff844594193271fee9c73ce393519ac1510dcc560989aa8e9c2861684de54385e1491802bbf5a2f6c70e5776090aefc995fa203135f7cac584106144144212eaac8c8300cba68baf2ed1229512401860d7cb0610626a00246a98655380390a20b2bae7cdb3dc8ea62852b3fb5839f007325869b0a2774dc023055e1a2052ea6d8e28c2b7f63dd29ac7841c3143f3029117be0028d6ece39b5a41b1c1ddd0d41a8e2caaf5a1071e5db1994e0caef7e0655ae7cd0678b2cbe285db963005d80b121a5646e316bf9f2e4ceafcce58b2d54524a89edc8a28a3b9f562979300253247f046fcd9752d5516fb112aa0bc29d5fb358e1ceb75920ddf9ccc49d2f3bfe30ba9099ac5201ab85438a1be2e42c3d458145172cbe9041962b3f824bafd78b0556efb0028d12ac6781e04d5edc1027e7863aaa40e3ca2bac50ba82cb95ffe0d210ac25b8e883262c4aa909d3b29429852901354aaa30349940980d52806c015ac10d409260aa028905559705c9577c6996245ff10dabad020a27408e8aaae88206205a846c5706962722eea83bc730ac7ba2ca0d9195b98c8508239c156c77190b114f8c616b5cc642c41737fc0719f034c49f236ff8ac238e3a0499c2656f710d1136ac40fc238b8bfc0badb7885dff20deca71fd91788baf8ba958526a92e20be6808e3d436ac59e997380ec2bc2958dbdf486c4c75e8b9e7c2a713ee7a826c9a3a902638f516f889cf3477f7d1ffd757ea1fc0ff412d9337172401d1dca068cc44b4d4e0326802e4b71990b9211578bf1f76c77b1fcdace08491775f98b2471170a89b1448174b9280a19dc90999258b88c74995fc6665b938545dafa278201a160594dc90a116e9873a51724bc7cb9f289a22ba1c8e14a3e22ba804f38e23586961ea858c1674a4b01848502468b1752d4a0450e49e0b0830841590c01c5e074832df104533487e2edaa315a8021065a4a90850a135cf9cf5cbcfca862cb15ae3b94950bba7c81e4830d57c410144685c5a38c0b5774194a72618c2f74e0a28694a811dc18b1b81931b0f0c48521c028c30c1e99c395fff2416ff54f924ce410e4081c8a640eb1d95552d5eceeee969f472c98e75057e480c4fe38a2be597fd2bff5d22f09363f95adac080463673819a581021a4c502568498920325e9a12262081cf3b118513503412d7e6321627848ed06886b0fda1aa65b7eaddcd4c689cd31ee5dce886d598a3435569822c835345447a9bb445aa57e3e615c98d2f3f7e1da368952777c55c7ef55b125168ef2c5ac820b00e4bfb707e9d4cebc7149b1f631296c1fb383c99797acf737eb8dd189f670733b0fd1dc8c086f2f67bf31c51a794520cc32846e96744def91d99b20532a66e1da8e3e3173b7e7f760beb7b2bfed4a66765921b1bb0c4e58d9fb33c0d1cb1dbebfa838ed37daae2271dd3a2e7ec71e65071dc1d8f674c223785844a25e9a4b2b9e3da4fe5e738423dfe8cc87b84ded80225273149500821064114f158f18fefbf794eb702fde2a4feb138b3eb72e4bf8e08822cc94c613ce9851853bc781ad024f0d1096dc40d402f1e0f99a984258292ba3c717102e8863d34e4c48f104546b7df08cc1626481c6c0e735bcef8ee457777595f93f6d62f2c22a5d8bfdf10f9f4e51645dccdbfba04fde8798c7f42919b3d46fd0bdd5efa85456ef68545ee10fffa61914bedad5f88bd6c22f9f5908342acc0be4befb211174a37ec229cae33010b1bf69010de3222c3da21d76a6dd7fd83208bd5446483ee9ca6ff2d84affa8db8dd5cda8b8f7d7bb989c57211babba8878ab8258d7958aaa49439f2497ca9de8787dfaa44f0167bd0e578cef51c07a557165717eae7aba2ab995ca7dd74b1284937cc090a73737c8aafb2cfab7850910779d1506bfe5fe6af7e2f893453a0c9a61b3596724ee93f3c40329d394e8f08eb88834934d46b394860392eb0612f699d846995ebc128567bba48cb39c27a56abacf3bfdd735a90711853213a8f3f631ec231835d815dacc85a7684797c116fc9ef157875c463bed417721437360f2de5c647c57e72e3d72fe4a2d83070182645723461d941f93998b06d1d647fc6a2822937fe6dfe2ab09bb8d6c2303333730fbf66c358c6d2c54b102cc75bd863bfe3b1c79ee52d8ae9b81808177b8d99397f69caa6ae7feafae7b837a8e7ab7937a80f88026e7d233b37fb6e7e28e0fa2be0fa2fb9cc4907e38f98461a6950aa428e86c45b157ba6a9e7ef269b86ca6cb0213f5d0dc85bdb6b48bce5577bd792782bf51ad74abdc6cc1c9d89cf8dbf79931b2bd6edeefecdafdf9466deeedeeeb3354df39f3dfeaac136aa3a3d75987e092152e4078b281f34253eb69999f923e245edded84b6fd9b2654b29e53b126f25f116b79c28af97fa8bf72111e21d29923ac246276ff94b4e21b46e2449f1e7d6c92e5dba504137cd8b3e325158e9600c0f36ac37ca296595edd559bbf854ea636378b0a1f5f9919b8c3eb189836e5d6b9fcde7270acb4cb9b8f402933b80cb462e40f1f3c811bff488dff80da11f9f7e43e43be780f9c9ef48df96dffc4d66b147fcfef0f8fd56e5ad237efdba7b4962a5046cc549ac8454e2c70f05fad8473f2bdf4b0bb249ac2471a31574815286129ddfe065042d287af130cf8eb8727049f61632578be98fecb1588776f53beb92e1893bced1b5a091c618a38cce45d26f29e96799a3645a255b7741c618310cc3e8bb7c9f245892af8c998762d7b58781fbe33dc9939a3c49be58f032c618a57685e50ee287c6196bcc222ac618638ca8ac4e8acd40e5fbc47edca793c642cc3cd3d4ce427b0bf50c09da7bc85eb73f52ac6649accbd115abad4d91dae647727c4557f5e2ab7e259f2f3f606e87a12f2407fb73c460f9397bc9d98555da92e59fe146b480a6c5a4b8d860438a4b8a8b0d9b2cb85813d8a04e39bd2e56abc73cf30685da21c28eb7b02b5fc89111242f3118149da08e897937b3f38c605f049e7948882b897d3b7e00f9ccc353b23e70c79560bf3a869102e68a01613bee901584db1f08e10ffc431d240f8e38a0a995c88e6be384edcf1ccc3e632621f4d913e2a0d35f72fbdb13e22d8e947e77ad6f64d6afee88b5621886611886bde42f9446177bc9f5c8a2199ba74f9abaf9413fe7c9627f42cd3d72775ccba181a5e2537982a8d069f0c4df7110bca503dcc13b44601e4c45bec633e7529f5f35d34cc88b92a6b89cc73bb772fdb989aa9292520a786ccc3cf010323333aaca4c486e42429bd01659ba6877175734ab5dcdcca48cb1f68603d7c3cfbcf11035e7b64e5561fb630f3fa7b82d55a38a155658b13d8913e3e00adb1fb71eb61e3c6e636f31cbd4c6de628e957a7e63b61973539b762d2a9b5afc38870dcccc93e73747d59cdcb3f5e0356252563523538386eba1d954b3a69b73ca396bb8ade6a3cf380942053368528a942265e36294c24929528a9454cc9436b04141414a43577e5233ca8c1225c67647b133ca8c12456606a335a8a1861a4c1013638c3229b0fe4254667b949362359b1886d261ea80d2a20c103368528a942265e36294c24929528a149e440170a2b47e5566460654d20f55346f904265caccc81928a5f306293233d387a9036b66a686ca73fe7580608d1a2a9a5649c191a252713d54264d0d1f5939a5d0b4cd0d1a3ff76dffa2103f45f2e1ee06a285fa0776614bad822499143539295699c7b6719c4f10506a93b162fb779ceb417353d991224d49903c35937ed94dd6eba0902d88052a90a4018d336149869ba14dd4422dd42868974c6a21f9c5735ea13ec0fda840e2c5be9e928b8dd95a482221899a05ec924758ae3f7b13d684355530f35d2825a52f5fc08071c2b026f9a18a22f6055b5a6a00094735a8506c49624b1e99c8262dd4422dd442fdc5a7d9555a68841d2baf9049bcf2aee22dc4156a21148b86a6468ecdbf0e10aca9a1517516a7b3d96cb81e2af4ab1436dc142b6d488f4610614d31a985d4a6a1322ec5ac23a54d162d8e314667be81ceeeee16a2d0a7b34876b3b63883e5b7a9623b4087ee90fe297364fde910132ba967e179ac6c4cac70998dd1623caf7a9b835193b14cec2bf5827df9175aa249e98f83d6c94fad54643ecbc4639868a73c2a325f4614579e19e12eede53379695e0c185fc53065444c99119e1519796bbed3d38d71f28173639a1c0c023245978d314c4c3566ded43c9fe7d11ee56544d689db1f0799f88afbec2b061bc6305dff18ee99bc0526a6c95b1ee76f7f806ee6c99999a71bbe95f1648eac76531e1599e73c2a9acc87f26c5c655e76b5d416e34907535be6615793d9acd71d15ed396fd3be1a35542a4da5e22c0dd763edebfa733d5057becc91955f46c43abe74231dba6d5fd18706ab74ca88ca34ef144e0afbedde08001a9602718d608f13bfbdf8d4a2e04baab496ab138f4d98b09cbb25467a1e149bb15ecc93d86c0f60b061d614d383953fa8ebcd2eba2698265d98e9f4c3414e1cc4b0ace90b050afd8b8371a7ad6933f2adc85bfd7186fb99f9e88ffd82ae53a1eb1fd1e674fd515f488baadc2abdb48babd95e569435c98e32233221aaec98c28a82615ccfa43f1c90e4a2c418b9200ec8226191a01a458279305014776d193dcae851468f327a94d1a32eba36235ff973792fd795585fc03835654f71c55926bd46a13cbfd3abf533cfe779ea47b968da47b9381802a43b29d091831c10ebd4216c98354d39376ee37aa86c1f7b93f4880372c245ae077b8da234cceb7b99636466668ce676f43cb0c1e38fab3ec645f1d59c5443751f7f525ad8f8137f2c07949a1e95eca347858be2ab38abb55446a6cecc703d7228225dfe0ac5f2e42ebf86e2b08f038282036a17e5428f3cf0c2865953d6e4e42dfad8fb6761bc85a9523156862ba213446229118357e60266312d5438f99625d080e1c14ccab7345cf9aa8e65552f9fbb5dc69246981bda5741e39c9a25cb4fc51b28bafcbbe167a179acdc605fc20c8aae1b7e25f4e3f377837d10f09f5fc22ba1afc47fbe122bf22b211e689179620931f3e620b3111ff1cafea0df070d7753d1667eac37c7ac13658c31ca18757ccc29a5e47a4c9ede237ecd3af1e58c13859b1e9d8feec68f550ef617db81628c1d3d99317ce8cb32865fed3e5f4162ec71efc6c805619dc8ba0cc45f7746271bf9553bd8c82ff385bdb1b12754533c3177708283a226369920245597243860c108871958b08d83276c7f2caa1b8e1f6cff026ed844012899809a2704a8dbc629a1c3f5a043a6b659c40062366e0801a85e2b4e0610678a0e38253ea97a1c61e4984c3896f85ccec24ffcadea361a060de7428dbcb1d548aa93091ac6f6c71bd68d87970e3a8e6d03a332330e0e7072d4dc5863c55d92c74e39db861728596eb240b972130614a11b276ccc6523284d6e96accc193751d86c8c296cc6c58d326cac02670416e54415563bba910396264f9068c2a62e1b3db972838a273ed8a0c2cecb464fa6dc2cf104871f2737297802031a4f5620b235c650819db96ce464498b143020dd1c59141237587bd96806296e18598cc886132b876cec602b944e078b5d36722243e784cd2e1b3961010c4b2f1bd1c02473d9e847cb95978da034ddf059945d4976698f34d2a395385df7d101b3ce7ca318c05c369221e87e978d62087359efba3148763fb5c5d6d09ac0f6874a9eae7fec91b1cefc42254d978817855148485ca9703a842e8a4ebc69ac74d01ff6141e6ef79c4adc90bfd000ebf8476f03bcf22722cae52c97b11079b92688618da8f40b95bfe44e2fac486ea33ce905208cc542c4e576f70bfd01fde9552f4472a9c6d379e61712f1a22bbf3a85e51a575438ae4e60fbbd16a1d04b3aca29ee3bb8e04cece9d10a36cc9ab02feed280b4200c4cd6583746311b64b1c88a53b8fcc495833db9c0649c514e19a78c5ee693651108c3e2ccc02c0c97270719856a4dc3b02032a798573d2656b067e179b66dc3320cf3c29a83c57e2762181644c66159cc52a9c630ec1bc3b08875c73487b58c4c949e9989d2356a44692e156367b41550276d5f6906bbaf449154daa364c6e93a6f95b54d7bdb221673dce8b9b28ccecc9db1a2d07cfe12242e3333f36beeeeeeccd2bb896f64e7ce5fc23a33461c8fe3fae358804c5de71cbce4721a97bd1085142ebf2ed7c3f2d9f3805fbf3bd1bb89cf77087f742ebafcc934ae263777e799fa426609eb483f205f75306342e625c55a1b97a3a3c68720dc999fa9b5bea64d8a6ddac739c06fad5c0496e03094021950b25879e20a1ee695f6d5d3bcb03eea31ae477dfb35bcbe332a8fc876633e4b8665507bd6c223b77ed490dcca0c6a282dc9adcffdb862559dbd626b94999e5d68eecc18c662f6d6832eff421b2fd6df390c9b93082b7ef515e6d9ad9f6c19fd9b35b568fe9399a3f376b3efe7102cf6f1b5b9b996c5f85276c7e81161b11706b99e79565f7224f0ed2f645d29af07965cec7b73e9551965f49f445840687cc9f5f879608903e8f7bbd743becfdc31bef248bbb7393859070bf9235d63ae93a2cb7dea4c0d1a6aedd7d8afb1f91a95931a197faaf074e34f15e60aafe1d8baafe9babf6163f35dfd2cfb7ea318a65c66e2b2110c43570bc0733d62fe486f608ecde779aabf5153f3360707a4adc5c1fda879cb0e5a9b016ccd3cba7b1bdddbdcd8f8eec6eb9bc3c6e66b5e23c0c63beefde3e080831b76ce47cd39a767a3e37ac4bccc6b02d8dc27765de63e9552fa1d7d4a3fa445977ef7a1fc91627e52879464a3fa405fd517f60d6fbceaa991f674882df2160d07a45568ce01f5e7d7787c55dc0f6be349076bbaaf96daef2bc3f5f06b13e2d8781b1b1fcebff921f33be681f3f46509b49a9abff959f3385e5f19ce0135df755f53f3ccfda8f9ee771ce7041bdfcd07e4b5f127c45c1b1fd65b736bde868df7d708b035f3e8cea1818db9a8cf29c3a23e270c1bcad7ad798d9503c6cb28062637be8db7f17da0afcc33e763c8ece6cd17dee8be2137be7bfa31dda7b81f37baafa6e69dfb51f3367fe3f1edbec6fb40df2ebcf131b7e627e76348f747fadafc8d2f070cfad2c75bdd67e30bbbd79eda7c43bab779fa299be7b81f9d8d01b6661e3d86c4fc91be3960f4c871b2613f5dfa1288befcd19ed2e73820f5b3dfb81fcd0e6a9ac7666da6d8419baf7a35dfd7ef430f6e0d39b895e656eed60fb73b531855ed4495c73726ac294fc63bd277befaa9c3d0a0b8a24fa7a59f0b596f3eb18e7c1a145db30c5ec92fc195564aee73a12b7ff3a4135f49ed93511c94f2c741f939906c879d44e5bb8f749f2beb77d2fc2a0f8e07977e165527a57409c7ea11615d8ac9dbd46bebd540861229e2e0fc1d3b220278359f53355031afb9c7d7ab955c4f8d4700b7e2cf993a33f3cc0a98c93ef695f50eb2411ee4e5a8c811249b0f220ece8f9f90230e16617ef1a75efbc20e25e3199937dc61a4bd23f3ca1a9e9038199c52dbc176ad5684db9f030536070aac7c4dca4dd228ee44e27642e6a79599dcf63bcef256cc0ccf073dd6131635e7a33e96834871266648480807ff36918358d5de911a29bad891b4ef7b0a655bc6f50839386d6e7ce67ed8dcae3245c63322ad17da185484951f76500e2aaccd65a3264c1f8a70e501aed4b9324a0eaea4615707c5d57cf92ab921e072012eaf38e3e93d273b28ba5a0b5ecd6f2fbe9a3f63beb0b51c203591907ae8ce89fabeb08e45c3ee8cf0b389973bbf02bcc47257f6510153f5b1d6efb00e898b9d3f289a19cce7c9cc3aee5f972c228d73fcddfd3797211869f78eb4917e7eb2cfa2af8379d4a70f82b74e40e1fad316eae9832be6a13d7d1de6913dfd1ddef2ef84bef5b3ec33b2e4752b12464d8c2e352281974b3f87d5bab954e9521aa236a8f4cd564539ea14d108004002c314000028100a8704229148301cd0b460f90114800c8296407a581b4ab328c87114420811400800860042808cc00c0d6d140dabd9cb8668e421fd908663ffc99b820a7243941d0c9e0478a0a03d46200020384173365f6dc62f86f4af69189845b564a58ebb01d9c751332f37bd9f5064c812b477557c5d7afb46c470fe1388dca9c546b2bd02264df400f3ea2075363b26342e097ec287c43a5955379b3d38754756223ad76e6cf6c617380fc0fd185bc4827e16b8aa48cd9247b5c298be8de9fea09c0ba8c0beeb20a5fa75f9252f2080397cef28359154d5c73fd129e2c135881923f40bd02ead86eeb20d3b6a7d3eb83be5452b4e815b1104ad527863754d0b35494437517f689cb4347aa26f69c8386a2c9abeb1fa3bdb93e394e855e9febae93a5280295d8e8bc6ee7f351168d9acd7bc8e7b09078c9ddb5ae7cff1399890137955935a1616f17ddebc08263ae1fb6f57a741b3dde05bd8b6736256cabc4ab4b16b868ae5c2f80524ca09a1412836fb4d38b0c5ce7c04af632bfae59f9521a7651150c184abb3a4869cc293df2fcdf44a324ad2662eccdfed5f3ee42428729071296652ae9ceb3746ca09aa9cf5047275e0c52158e333fae2cdbbb69e3f639412cf404a75cce4eb52ba887fafb4b9ae014ccd44a872ade1e2a20f79ae85348a2f03118dd17bd81727a0dd42cf8f7c9907d1d77882d0672d1a9cd9d0a0423355563b9bcefb2e46a0ed00bd7d8fb90b0227021e8199d26213976320b47c9bc63a88d25fa9c75108327f4d75544b54d5382e9cd83804c44d80f59750224b33e25e09253ad53ab0fa0acae609e879aea0bc434ffb8f9485cd5089a300bd00f51c1589a26b9420501d49c23e17c0f1516513369093a017613511e50d5aaf78d20b0056b1393024ff88877ece531fb1aa4394b5cfe97aaa2bca509d2a0ec9ce81677ce128157ade293499c0e1f6b439252266484f4f623c239d946f4fc5924562096c3a8e3daee6da83aeb5893bd55db4ce000eb97b233c20a003795c45d6b10c38ce53f1190a448ad7be6f84ff1974b999e967b6587e4ec899f61e6472e355ec3a662607d4a1a206a86a585e6c89a5f3b5e96981b91af002581ced0a07308573c462ef5f7e7077fc4aabb2ca73bb79a85ea5558e5a9b22da697a194cbd8db5ca8913b6a121ec595e27205035b56eae66bc2839ea80007a44608649490f0fa7fca1bd12445e7fa1cd053056ee5ef5e865f9c261ce8448a9c886b2447c09fb94ad043204b99a79e5f90c8fed95bac7358161bd46c85d690634646374cf23cfe56e762b327f93f7658b8cf5fd1665ce2933991169c338fec77d80fcecce43f4c6fcebef24899a49d40ae6d94b08627c9a70d13c5902057aaaed66543aa5aae2bfbded811c91e96705cab23466c2b5d23426598ae793be58d4f1106bc9673f0604c9c2d91e72ce04ac6a74a2b468fb94188c7308e4c60d21a20e50d08dc631a40f590ffcc74eff7f66c33d6737e00e4a76837b32350895a4235ac20008aa8a30065595bbb903a59cc1f9169b230b02b792a90c445c55008b08fb6138ee7f63099bbea70674837f5a3c20b3a720f0da19396a92243ff48fddb8aa009b9a3ee829b4526152f68f6f11617e06f526f5e97a287db4e0c21e782050e94aa5de091e80d1939096bd03981afcd44784b624f31ae8dbf3806a08f1c3d23a2eac3f5f83f278ad6c58acf262a2a94c0289afe4301df453b142b988360736d21d5ea648ec7af693a1c5c8e558a9cb6ee776bdca296a7c6611f6e2f167ed4ae6fae8122fd58b2e1adb57861041deae666db57ccf4a16bb62ab04fedd0341dec501334629517c309bdd1a1ae505c62efc9aaa7e604f521b8443bd2b31f6e1db8718c3472b9239da42b16ed3838bd8aa83d035132f1c7e94c77273aa7f235175b39bb0a2bc54f52f98932763aab3808992ba84c2233df4964c31b552738487c40ae506e3d8b8c155c7c63efe5cc8badd6041c14f90d98af24daab12fe6e95d32ad43a04b4f0a002b779e4485e91246811feba67f24ebf463f11016f4caba4d9895d7544e2fd30f08d62c55f67979128483d0acaa3b43a3aea2bc3ed73ad84be1641cbcdcd15fb28e6cdc1124221e60a19605c93a8b8001477942fd8a0ac93534e592058d1c95798bfee5c026f056b95214d3b514a24f4187e14b9c21ba429574f814d4d72f6f5a264993e56621fd14310ef76fbae69771bb6fd325bf8dd3f63147b2ce9b8dd274410bb28e3bb60e380bb1a40461cc744c31cea6f23b92a71b5bbcbb53821214276b290a58021dab3601e13d3d9c32748c4763c1c12cec8fc96932d96fb1f1d61fa7d267a48ad267d07a2ead11f962797ca49c43738c070d1114dea8da7af1625b58a5bbb6ee2785fa55fb74b9b801914b8b5e803f7e56beb0ef524ba5791a4f11a961dbad5b0a98e47d5eda86687125c958e79fcce4341a16511240ecf7444734e8e64c8ddc9f79df68d1c4c58378d2a39548871f06014ca0d876a1d3a24c6a5173faf363432f80f4c85a24c032394948b7a2e6d4476243847fc73b8c23834153bfae96148bfef8cb259c12dc8fb4b19c00dbc09ef0c05bdba176af2ae13ebcad0724738978f119eaab6451caac608dac2731c328c253875985d4262c0e8a0bbce43f9a542dbc31b369b20222e369caf6f54399870b5076e64980c65f001c000aee989ba8097450317568b8e6da576f68e96658efe61a1d8f4abeb9603e8a0625f9ed87a9616ced0dbee1711f0092dd8421183f4d23d77cb3e0c5f56b23b9bc117288b4e1917891cdf2b5f63b6a3a68fef1285fd2087cf4db238a922fb18383cb2f3c332154592653eb694e1349ef2b9b65882e720e29706ccd0ba0e1ade69de1c4b8895b47b2c65f2805a222b2eac48eb0a1f8d74e7c5d8a6543688204fe1e5afd46779fc222b2d475bb36448fc3b2a1e81c5d53575bf203004111b02a4e8b2a19b88e94502568d26114c2f8f6ebf5acdf8732ad833b81a8d554464a55e667069221b364edc565842904d528b0cc5dadc28a6e35f0231c18c781692c179fe6e54b0cafb5c56e5b6d819eec789f89091e6bb789b73c01714c386e724dd62a1de1b6a9b4452742cd8aac29b91ec035d0dad3b24d592ab082e68ebe947816ef764ccfc4b5cbbbb316bfbe0ed215b8ce67ce996f522d489aa5c46d5bdf40f903c614b9a98087d4a80c29e3306ab84c9bd817f28468bba1348a344cdece15b95f6a93fdd6aaae9b02907a158171fb60d92a431569773ca9500385d1dcd1236f4eb0ce07ecc6e52c18d4a0a105437ca45bee75fa6a53be3b6e8cd5aab83dc41096325c1f417525a989b01942a3fafaec3ff239571f67433e2c4c3e27adffc0ff003a3eb384c6fe77395ef775cf6bf168c236bced36fa8f5467758c7d94d48cc728d1ecffd507fe6658e938730610ffd45e458780b6465474708114f426d1f756b9a1e06d1d93c4e55877e8c59d5def6546d894ce263c79e957824d6026c89503f1e8da07f8b6287ba28a4fd127f1e8a742e59924b9cc7eec86e54751bf53655d9e5f5b1ae4960b53b71d54216caca547ec27a48e46f96504fb310a7208c2f287202793b60c97e48316dad8c520563dc57cc2c77a5ea2b93f3de9db9f2a459b7a99e3a0cbc6007e6f634294e2d70aed6c4a8a40449d5bd817f1c08e021383535b3272bd5b0d413109241f7e1b2868b2b92ba7e56fb957c7fbc0d54c272173abcd9d6292b681e60ecec8592ba0984dffdc159905c0da90cd4e2585209db9911ef868015512b449b92222297684b1735a4db10142fd375524aecba6a42e037ef000c8f06801d1ff08c8a0e98a9bc8b4678b3a82ba8fa5300cb384d4c5b9d938fe511e957de17626a9e943529385fc94322c74e0bee4c9ec8a11ba9c21762186cc02cdaf45cc72625648b189e5938158e9a24f1f7f2a093727f74a47d471d17fa57ce7d15d8716a08535892ae07cec527732524b6f3f037e409d4568554ef61f5037141c75f978f311037abe083e2fd40f9f37e030a0bbee14a6cabe93e153fa89e6b716010f3514dc58e9055987647bbc9f4c51f0adac616e7884cf5c9414a870027118a0491e85fa3265f2f839cbbbf4d3fc0cf032eee23759d33406b41f9bb3c0e1623769aa770a008e9c41922286d54521c4591017442d5f3efb2f2bba71f46900e1eb64b3ff160d163f5c57b406df801e92835d7c2ce7215b4ba1f8f2b45392fd1ef16abded452377316e958c8bfb9095d7738024cda897ce8db813d1057d70a599b29328056c0e0ae7a495a28b847d5eb79729e1f8a95760c53cac82750c7b27b1a1dc03a42784ec1a774680014f1b545784ad78b28ef045e34cab280062c8a984623ed9f450fe46116e1dace3d783030f30db81ce4ab41305133f10923dbdbbbbefc61dee847249a60bc8c7400d728e3c28ec925dcc97fa83b853606d4f89252ae0871c90168a596ce4914c9a24dc8ad5a4e731ee6e7fd40015236b331ddf323677d6575b01583aec5f212151bcc9f423cd8a28a56b5bb40cb067efe9d1f1d104828775515ca2f8e96ee3850fd063a0720597e68614ae42da46c8413885798e41a215992436c3fb7051a75cffe62d30514089c6e245ee9b73fe1d39aa0b5ea3ac596bb35c88cacae9c4e02581be51961e6e03aef4c98b400fd1d596c097399448ce25c2f09e61ac9d0d7056c74df8c57d1eb8414a299ddc4e2fbb1281231fcd32ce9fdaba7359efed8cdb51ddb5be37b4751fc9b482525a93996b06f8c58299fb1f49e5011412f58d22f5cb2d5d7b0a0821104141dfe8b1bccfdd1e1e28ca1ad429485d7d4728dd4130941e095cff15c9ee04160d893107d47ca81165cfb5ec6592b9c739ef19bf5ebcbb76109057c7723003b5ee083d40b0553b6dc215a6b5586279aba38f2586f2a76aa0fe14e2cd40f30d34e10cd0c72cd5aa5a159a4060b73e08000279c61840cadafa8fdd499a4839ece9f24fac601616420a94667fed9f7b667624247a8ee2ef75af50504f5bc2fe59ada0154f84f2db627b88d53fc6d42714d2c66bf5a4ea342a9f7fedc4a4d4e00030394bdc4b74c5b416935bb58566b5c69c8d4ed9af346855c3801a4a88092390e712402f559e08f0e16733f615badc97aa3cc753ec7cfb9cdcd1c70a50bd786de8ab97fe8b505f547c6d2c6a9e232695cf614be0a90f34bf39843c1011a4be5086a099a0b55c22caf3e86c6ff8f6f36c1c3db5393afad8e5c59673522226b70e7ef21dfea5c55e1ca8bbb7e7fbdaa2ca1faad6c7fd5c83c9976164fdac5e14b5e35e0046d204cdad5c749ba8f73d778cad767d8d9a656e380c6fdaa92af84334ee2695830d0d77330c5181d47c22188ba36d1e2212a394231469cd9b8fc19b1ee0d6b2de4119e5b6c94e4329ced9609021f494da4f7dc670e3762e4a806f5620014d796057a30c23f2434de3303132d13c415ebef09fb09639083da3c27387fe398b1899bd415c69193d88a1a3048f4acaf0d6be6ad25324fd7fd81a627a6cd920642db5707f1d2b02867bbdbe083731d967f0c1c35de90ffe5c9815c13e54a3b878170329078cc99b52cf2c164fc6a646c4d78b0a5512ab8ad14e5b56ba948e95554b4fd69077170b599572012393494914832d13aacfb1af06c990c69521dff306170da0efd7ec7a2ffbcd8bea1ca64571ca2f8215e4d360a143a46c9b3315054c31d8a2d855fafc5472a0c2ddd6725b5c91c2815d0eef7df403f58857b103d777aef73cedca4242b3c2eed0002e6d1c94c25a72e42715d9566db838c14b7a767b1dc6a0636c7fb73bcef9f39f72611e63a4eb2660e84b2120bfa51eedf29abe8a5f55deea278a3b1a80f0d3b9e87e5620e5c17c774aad5a6f72f900a3fad669e03399309b38c14150b50f60cae341e771a39638b8282ad651f3b43888199e38ef06f3d07c74af141341dd1f726b5926c4605a4b25b2207e269c9e6620afcbf02c6e1186abc390b9d6feabe3decf17fbd10816784e2ecae60a0547522c64a9a4a2d2748794fe825f371b754d42b62fd8a9c5e18cb2044e3f22b793fc284a7cc9272e2a3294a4f2ba573a7490f719092fcc5ca0969cc0f38e46df99fe534ed40607b1d236e8c272b461f52632ffb8555f27d42e3cdb093361cda2ad71288866bca542ef6a64c26e4983626355156f182fdb2d7997fcc9b3ff4a64bba57922fc226cb76453e5ca0cb008f66f9dd82d41268e6a6a848359946a3ac75a4006dcb0df136838625bdc83ba88261f9700efce453182c0eb297311169d3230902cd7f750f7d64c9e5a03ceb7e8e1aec08069b0dc39582fb94500ffd7ee4743d4dcf51d6ca121b85634943f93cd848499162738c59862b0d8ed8b893e5f670c3af3a20c2d08d8b924c84737443fc245fa9a0714b421efc98f954324beeaa6cc910b02d27c9251f32a6877ba235eabffa8b4a842e628e0b2220b424e3c19bedcef4ac50a8d261767871a1e2ddee2139c7ff36a7f5c6888833ca307b1c2c4a405cef074e5c8e5c97be7dc4f046b954ce05f7c649b564e4fbf4915974231a6ff62ff28031b05571cd1d348c6c24f021b56923de77e6bcda6119394f040c99fa668e829d5f04225390eae7c0a2a4e73b2ddf5a6718c187111278720c0c09949d67a343843216b76ed2b966f19032ec275f7b27b55b2b96e3e84524ae5e56e1867c59f7a0726bafdc63b6ec63c54f7d74c08c06d99667e21acc958bda592a48ac12e6d4ca3a3afb6536e0836ae806e918d3711f737f0d693046586129997d952b1b55b275017ae6c0115f44d5ac9f5c211c4e719a11e4fb9c1622cb4075efa4cbbec7a6c647427ea4d24b991300efbf73c6ef287bdc5fe78dfb6e192d035de27b6724b70c5a479689f044603db0f9bbaeac61ae9104024f940514448278a4deef243b2af150b86c61468d35c7694e6f35f06692eab1ef6b8ad8b9bfaa63b8d0eebcc00dea0fbc41a08b170df5f74cefd2e4c1ca168ce40d9f40d673d8cd1f504338a277ff5581b3e0bbc2cf82823df6b62182d3d349628c17624152482bf30d87dd34060e566d0615fb47e69eed3fe575ebc2890ca30e335294eaf0bce9aa26935a30bd25d3684b92be1042c3dc18e19fcefc232e91021520ec032085c13a462c73b0e6b7622aea8090d3362fb5defdcab67424bc23911754125554d47b849e002e3bc6ed2e8197f5de13fb425049c35a0fc7ef50427adf51677dfea169c1278ec56f5dbda6008556e65bcf7198ef7c2156d2e80779dc50fa7bec0c2296652e2ae78ea8050aa665919ad69d79dee7a23ff907add6adef243d36c083a414124097e79f78856ead07070734c1a95c0d5ce482843d9172e9cc1b27eb6e6f39c0683303203288101aee0a91654ca58b362cc03e3cd95ac6243780e65abfe2574ee016fe9d54c0e3571cc1a4ea1eea59765472a1c6ad010e10f980b1d029d7968a569a57206eab9b337446881113017a28fe0149969357471404ce5bdf8dcb61fd1721a3ede2ba61db1d9c86e3a5dadbb013cb3b326097c228a9940c1a9ae250f366b66eee3c121674fe75a900793397b2bee4db901e5d1eee735c259685902c723e4c0a445b4180670a5e04f131cd3680799d42ca7a646b1b97f88084228630467eeea2d720e7c800b03ea02a484456f21f85f907609f0c10d38982fc5645c904c2340f0dc098541e2bdc340e48c502fbe159277d5108d90e50731c8450d177c22206f6ba013e2796976ab8e752ed828580163a268b2e4cb728f6a9b08174a00ee04e720434ec2b58852c7235ce883184bae59be5b60380d06439455c8c4e5b8f7890bae7a7f66486800a50acffb664a77870fb909c033093d977e1d267a8faa6aba91a7e384ba52a6f31fc810a76cde25702be542da6c483e0bb5905895800d4dda9cd1863271b5ff7f9c0a52f33a139d4dd7a1e3d51ce711f02f2121a744254fc54e08798c23a0faf16e625416c13c47b91d254f5e610770ad56d5b478e62290e04320d7d1203c573d1f5483abfb8f49e9b6d22265346a89b0c5d0e7859513263107ae733f49b938d9a0ec496e5aae50cb8b80b3cdae939a6a0dda04b315ceda72527ca8b00d5387bd728c18661ac35b1f45563378b95781ec0072aeb5512eeff44898877eea43a28702ec6c4b53cd94ec8a7621e04a82a78727ec6411d5d20308d534e94f65f7f43b1707a32d058ec7528fad29a102988ad73ccbdbd7fbef8a168461a3eb57cb26f8a9eaa0681122eaf36adf624c3679b60cecf48c999fb858102023e6e2160cc1d71677e59d0a603dd012826c658fedba3ee82f2e5ebfc3e8fbc0a25da3cedcda14eb43add0b70f04f283fbc483222f46807d357f58bc1a6c50d94ff2d75a2503161d80247359b2ba7a70fe37ee4a0d56c990da7904f483dde7cf9425f2b2a66f1a52571a6b14ccfcce345a7d10da4b3c02fc33391352c35be109beae8c55db2a8e19338a980c43b656fc123c557eb3a605761fe8c4149a458f45cd510c2e05a0bcfd63ef46a5ce17867312c05df3c5caa887bb08d1f5f1ae16303a8077b5de1fdd7002f52e09a3865bc8c58b9e941903bc2f14641f824010e84976ffac3e003519ebcac71d29c340d5ef50f9f5c0dd9a3844c915fb06aea75ac9b7529f2322bd55d1bb45895176edc90f220e9baa8611bdb438189b4cac26596eaa270142c81fed931e68c729894a071a7ba0b31de3512f0a3898c703d649d0e3eb737c842630eb36344107ec1bd59534623f2084de23d50e90b011d0a46c2a01b54ab8c4fa6763e6485117b602491717e8a402fe599fb4c645e377f1088a24d771be1875080a18c3c660d3472302440d845a27614ad34065c39f9210c654ad95860ef112fa56aaf9c0e2966df2b70512415fcbee14d777d6c9e6cd10b2918470a412965105cd63ae84175f37e885f3a901ea277d61a8772a66f168b71c7e11d1149476253961c7b4be4d90b10525982ba1de2de1bd0d60c75230401996a2a319211da4435bb3557501fe45cc2909172bb9412c83da26a0eabd67b9f91da0fbc4adb1ed54429074d501b81bb81ae22c99fec3b4a652483e76b63331c2e894bca719b077527e3eb2adf1ed767ecfb1bd2d39cb1d524b3bb0b9d0eb49fb6004b8a802aa6a66b26b613fb9c614fbf26f7372b22643f355fce3c6a1be90bb5fc0e069a47f5e5f7acae2d2c86dce2a53e5eba3375c3971366ccf6ea1abe7a114f04f903dac804c8a3ff45517d30b3287ac462a4f4175b313c3cc2089a4d4e2221c8a192291d461959d4ffc0cf578dc00e8e48c4cc00d0118dc84788083c66470dfd5509d32c584b86efd0529eaed6f8e9a837f044a70dbdf57fa89843cdd58e0a975ca73277879bdbe81d66e54fbe256c0287042d9e674b15578a6acc4b3aa68b1bea8664d3dda5ce3abde735d887e731bb8505e725785dcc0b51a0e28ef7cd5fdaf60a1b783488aad4a938510d50d5c9840c6cbbad6c2b0d61c26ae69aae4ee2f14640786e4451c56d82a37a379c3b8ea6b16e89a4583141163b962bc99e646851620514e44594fff93b6ef340267792baadd9aaee36232fe148469bb6df34c444a1045cecacf985823ad0404db00eec1cba0aa51a5912e3f946c99fb77be29c0313e2580cb4d7917283c3ac68de26b4a89fde7ecbccf63744e0548ccda4d59d314fc3c916f7aa7f9846ce96b5ee0e3a962c3e78b2d58857452aba5999f9edc01405ef14d93fe87366219d75e2d4569c6368f712bf07bb716dfc46542aabf1e8c60621ae4b26b3e0b885149425c7c73e7ba3439425c913d71e04928146c4addfb9dcd98cfd05428aa29cb370b2f0697777871fbd313bec4032fce7e89fb93d14024958bd4d530b1af5439329ad4dfb700a182cc0d9f3633f2ff9ed927e3ab952f24b0a38d114348bda4c8ccd06d7e14a158f9c657c7fe69ff3f2a375ceb0b74b5fdc50dee4c38b5648d9a51d3f34d69c652d5cc5e6b80f07ed35384b9e7586f08a0a4c2776bcbc221b5108fae961bd728de6215c7a98070a617eb04a8b60631e8f6417412c1a789b66ac7cd5a9ca30894c34df5934672df01b0ffda24f4e371c6476c71e3472d201f18e9ce38cd06e059c9377193441f8066e3f630d54997f409f7a45a7f4e49adb3416bc21bbdb9ff77af17ab3e28a19237cd46e4e34a40fda3c1bd6b858bdcd4279fa99b69a217426c781fa4c6110ad3a9cc0030077995640e9c0312fe4145bea19cf54452028419e320320f61fd8e2d035e6bb68dc2169b306d4edef40aeeaae23741cf139ce39deb83e544bc284d7358488ca627d37a8258d70c7ffa97c3910f94a59c080bcd6d2cfc26402d24e6c0e502c0619454874546298390a97d161cb351318528da2360813062903773fac042acd1ff03b07d5f1c16cdbf4e7615a8236edfa2a0c47d0748b3141813256872a23b30ac0250a44a35397a8a14f772911333510cf48406d679541fd304e8f74051654b75b0310c57bb776b52857122fa708d40ef35a00740f0c262653d3a8e6228a8eb5bf463388f4aa003e07b1ffd1d0be6316040512d1fdd4bcb34f941c565c742ac1caed6c7688b6ca002fa566df9a8918427a743837a898f1181c92a78894307ca54df712d61a6a4e2daaeabe11fe7886fcc2dbc91a41176df22421ba0b14cafaf3c9b86283529d59546ca8d18c0e2e3fe11e0c4650458aa4544a31aa93456a11793c1074606d96fc2224f99411e553badfdf216d593dce1f73599988418e7a3c32c2768fbcbdf8b7a5b94733f7d3a12842b8db0536617e01da11bca3b72838fe0b6819e50d9e3ed4002ded83a921487c7879abd841b705dc5e7d9af702f1de12d66a80efe4495fbc5ef258ae548b4f06018b9dc4d0817404a9324fb00b74788c1da3b2e9d6abd88d214a6309d9b81e8033a3aee758495d6688eee1ec289b30cde82618965643381ac6047725018095e13d99f72c9ff12a488e62db23869b7fca5d5486e1dd01cc9c5af1ab5005eed5fc50dd116f6fdf220ddd6066740c9a903824ca9ec53d9f58109abd10ef6ce4372b065d3b7343cd40547541436bf87c1fd8b45f4dad619b8657eae2bf2967cb02927555dae55d24d3bbc73e35ef783c5009ec3517701167d48632078909279badf27c062d7bc1d9cad69794aa2f923939153395d1d2614da6c989f5958856fd467b788d9bd092b46628a622a35420d35952254dbee7d490a2d359a8eed0817e96571090539ba7a0d981eac57430bd8ad29546d4d7f415a4f64b90f61e4811dc6b4410d162cfc5fe8c58b5e2feacd4937b0d8e1f93d26b7204555ac49db0ff3685819b275862a5ad35748df79048b1eab6576c2efcaed55d05b0617479b8aa2f64321455767eb6d76bc6a7f18113fa934283acf726793ffa9a2a5d808e7c49648c10105556242f54d61d638d02accc51810e7cb7a9521359073b84a62253627841cf395a32b58d9822954694d8d3e9ca7e16a98ad185669cdf8b6bae889abee3879f87fa4ad526aeeb9c41c27224b4ffaa7899db4f4fb79115238df9d041e176aca6b67a71298cd9d498834a97158e8f5852096451e929e9e32408145794f80cbfce2cb0e6e02c5b2916c692f09074703067303f1b5f27604af77e383ffb8be17cd140840cd92d81d0bfc10d61bee2f5b2dfd5d27f5924154db6b32d9bfaea4c5551909332a74c40c19d87e363bde6222d762c6ac948131f4893584a7f3988847a25fba9321439b3a7cd646a13697305bcb5ac305fee4bf2c45f0e75a39f1960909506cc71b37ced18cf8dabfc400707d24ea7f70c911040d86c6f14cfcb22f90fd17ab8b6bcbcf274858f4ba82e5a6ea6c9d835cc5c46dc2380e1bbf3715d3a4c1afc802d70a57be1fc3f326720ff9870ff3329632ade358f9a13bbc394668a07e81be48943fde2f4ef4725738c4527d8a8611b5e12b47bf6b3dfe18e5b0f95a500021cf9dcbe5c03bcfd85b783172d0557cf2c79e451d73b544dffec43aabb67780f87bf7be3a01db4194cd1f7559fd5de692811e26311f4a8e92563e8b2baf7f75fd59b3c569665b90532acf249f4aab6f15b82864fa023e7eecb6986756a0d5051a3e07ef153ba78a45f2cae10214772180264bb29fda178797c2c9da31dcc58098b89af042dd3abcb0c4cabaff09b5c519253d7bbe3ce17a7df6513e65c9863c3de2e18508be263bb67793cb2f07f72395f7289d78d7e32e55995d7cc4e5c7f9fd2d8238f2c711aa1d2c0ac411b2d18ca565d2b0b68bf47ac70fe7712593526e96e676510dc7847c1961df0c29d2525e40bd372dd3bfe6bee3e9e9b8aeddd7c259286eccc05f568bd6cf54b6de6ace493100460a319a11e363f3bf5bc7206b6e5b161d8c61f8048640ee0945bc0413712724e9f8ad812da3cec46155ed6f912e53b9f3f3e4709f94bff898ce84f987d13345ba239ac5b454f5e87365b273a7bd4ca9d253753016662147a1b20811b4ef1d49325092c0f7687b606af17e5b5acc4d40af619666e66ae0e0cd92315d18c0fa96b023fb6e2221481bc311b9a05d7317951c42d8f1125241d8b69ae2d2629e9320bad73277b658fb9ae9ba372ab1293fbe6cd7c8764767b29453831620d54c6b97dce46142fb860f1261e716455da059b2d79a5833d3ab97e5b62cdac5ca5b3ed33317b12d114c5c24128db179c0c5b1b434dc994cf6c41e88731f06f0992fbc3d1abbc790f0118f29da126f9e0fc2bec1fb06c08dd0121364cb7d158bc26ec389ddbaeb5f1bfabfe03f98239cd7743d1fb75d3f575d9915797c5c79e59910b00e00c5ebc465d8f7c8f794205305206eea9a6592ed809e1abd9e1f1cad3afb2ff02586c69b4cfce101eae682fb4896d025804c735a95418f6200dcb7ded87085452bd250c3b7740bdb6e381de2ff5c08b25409355a1698e6000209fed5afe00052f115fad938df9a175607aa149e9fd48520286f5fca1233dead22b08470b7284a257fa169c3896f1a1240c63ddb350da207738094478fea8cdb756f89959313fc751182e6d681a389598f4a524fb7b91490cacc6d46736f166ffbf593b29ceef4f0711b0177ba84622293f324199fa57848c657616407e97f68a11fa3a28779692d7b1e14f75f344d23793e020e800677f0390ff71967b07b403bb9b5c0b4b05219c27bc33bb60ec1818804e2f214ebb2f620dbadac15e698e4c52b045f7173c51ad2c7bacc29970dfdc42ac4f9c2d54d6f25e5d0dd44231d24221b20de285d9d87197581f15c3a54ee320d1ec053434f70028b79f6aa661abad3bb17a3f5dc2c17d7d2be2681aec18a1c947a8fe0ea705ff1f9be3d8a4c6316cc1e6ec1b24a1deb0fdea6d3ec9dd59c1b3bf8f1da938c155671a337e85a6a05dc0c35bebfc74f41362b16f9aed775ae3f2c77ac286c2e85c01867cb931931a89ee0ba16988172dd0c410384e1c1a48aa571500061ef16ecccf0744b3feb0ff58f7945388239f5ae81405a6dccd183fdaed2687620dbcc0f528deaf0d685c04824b2759c6bc79abc9f544b4a4e4080b74d740c44aa32262edb8a00e6f8f5f5937a4ee6a82ef34bebff6d4797580bbfe013b70471ea563dd32c602c4b004ed6bf5f83abc764eb2d9ceee24bf39c0cf99fd7ead8ef4e6f379edebc1cc8308ed34f577ba7aa2f2b9dacaa4ae6c6790f8fc35babdfd67bd334c3ae1b866c003d11fe9eec78740e54b912ab3d1f409f228cbd878903d71df41bb7d095ef324310022f2e0a90d3deee8cf1938a3ffe412d8d4a9714c684a9422702f14b73fdf28ff13af88f1621dbc93e84c43515c8d0233b64721e5cb73cb1360ba6e16acc047bc82863e13f7952447490c10ef1fcab397eae2ca321503aba4f3d602c33a8517a16a681e192f865fd34e1784daba33aa089595c5f2d9e9e0f5383a8f325a63095354bf039eca24c2520a6f94cff39b2c1bd935f423e53171c459a8de00f196e8a0145427ff02eaf1fde5bf1e798b22b4514c46866ba845e270096781a74f1a519fd913349f06ee1c590d90c815a5883a80d43b231ac051ddec267b5636cc56780eb91262ac27f77f9880b187ed935361892831c917041f488d841cfc2878998978a23ce949851ee72b3088000451c22501a2f577a1c64b88b0d293288f83463a9c6cdb0731ea336c469b77e5f9159605924e22356fcefd6caa9fb09a12b68d93f2c4898caf0221fc4a1150115767a22bba0eb113f3b8518c8f4eb2d869c3f5ed209ddac1134555dbde0eda48e7df4b9fbb53df160f324a4e70a7236943d53e702e79c8ec57d10b57a274f783f87cab7afe8f9e225ad1ee6f4763edf6d9475585be548f7ddf153711c0d087fa8030e100b54e83b052da0f766dbc21de687d53b929d4961613f9ded60ce02953f6bbdd4f864f74d4632ecf66afc6aba36a63a397fa1c3a9467a521385d0161e9a0e845ad0f59d05b6b11ed529d80608e2e93a83ec2554c16336e4ee904621612e084df1356569a6ca05116a281be04b32bd97c300cc5432bcc4985515cb692dca7003490aa4f9cd26d2b6f97ec627339f80fd1320ac85190894335af6c8e95b07e80390a0aef85013fd8d423850d2799a9e4f6aa53a428530dd4b81ec39c70a07d0020cf416b21a54aeb0d33cd17443c66f311458b067d983649cab0246b067ab54fbcb0d810b5b6c2ad05f78ec09f33141fca212695ea6a5769d65bc2242d11ee4c84976581b19e6c27c7fa57e69ab49e2d2c5c786f6a38932c493ab8fe03c78eacec4138a53623597aac7852be0ca319e6f36a47687c21dcc163689049e1d234b5b7a0b57f8282a28b4f3b07d1821de6255bd1b29469b79f60797dcc22f4976c2d2ba5fe9b3cb2866edf7fd30e9649dc126a06f3b1b527edade3d7a6b3f9aacfee5fb3b0e25821af913ba872ec9035a38fd4fa8ffcb04453e9f814d955347d4c14db4e31b5aedcb98e2a5ea73bec763f67e0ad8b10458e4a5b89316bb256e842a8a24ad71391729885d641f7d27db5d655c9db95c27c9e997c8851bc04de96bc1253b4e4db0e7dd5503daf9d76a0fc7a58abeb5fec228f0c79bbfb50e34773e4decb4e542a7d0e5789b9c0dc018b2cdfbe264b10d68cc1b5a400c47383e8985508d6f3657c632f84f628ffcf07eb7962aa2731345b03a04258204ba3b60f8f432e867f169d52a5a704ed65b87db790daaab458fd5dc7d6e8f28d3ef7f2ed48a528a69859262356e1fa460a3832ea731742818fb5f0cd281105340a5c83296ab5ab7f341c42e07926d0ce933c90e6edd283d76a37571fb9a9e137f8161e1860d00838be9a6962346d5318f8ead45962f7d7fc7b5a3694b7ac2765b5c217fd1ecd3651eb6c6ec7a4180aaae1b45dd481d5eac8f7a5d36d88e06e8538f609777e1c72d3ba07241a90f77aec6480c9b7f06322b4bc06543f4fda3ce3851b00d3126679e57024af15ec09b275f4ad6b4fc833f4f59790f986d54fa6f7eec6646918b330edde3001c4d6abd45763786cd3a8567e8e461d60a50e95341b10c8553007ef301ecd74f72e4591af3641fe1293efaf5b2e0c3392e9c19127a78d5e991e68abc2382954a21fb7f94d12deb483cb43423fa805473c835338fcbe30188e0343eaf0a47b7ea206c88d6c8613d805db36a9ac2cbcb981957af780a2f70465ebf6d5ff37e7249ab53257f7a38db16195266c3a8dc668fb7092453f28d72f2a76fddbcd976366e659afe5bed377773d9c848d2bd4e7f7fa154282ea7f6ec9f9db87ac3c71733f3eeb681cbeeb1fbf20d5c87f9e693c616ee4bfa377fecde98d9be2d29ffcc4f59685cf2333f7985c6ba58b40e0c2d40a0271ed22f7ee9ac33b71c4039e39bed2e4b0d0d20fc75a7ebe48ceed35354684b4bb9ccd61fcb85ef9da5569c8ae9726c5db665291ace73dec7039a766d8f4a63968f0ddaca7879ff2ed9c2b9c1c9fd30f8e0f2d9b8949f7164a89811e2cab020ae92fc65a70ce66fade79496e4ef8737c4c009f99c1e4f7d248d00d378133a038308c0d5337e9069f68eb08f7362db2e02058d4277efd8146cb16d691a2a66be5017cb8cc3cd1c9d833a53172f4c25e0de43d8f062e6dcea52b8411b276811ddd41939d36b1be8f29d42c51897eba2fe89dc4426ce8602fb2a7a96a43e556fb4a44a667d7f4213cfa998d1930934af8489d1a638ca61e4030b08881fc4d34654fd2c418817741b288730be412d26dfcce24afcdc5e91c6906bd414de81a9b5125cbde45bc52a0bb38f314c5f21ab70dc4b52bd99e9805e068009ff112e51c8339494e4185719703f4faccdd03d34a21bf25e159bb19f8116060026db9794d21fa76828180b8c379f8441761361381bf51cd99f0886771e4e9ed35fa0b63d620a6f84c317d5561b013819abaf8f9d759eb06c79f8af628119acda02138dd8081ac045c80b79cd1cd17d59e995ab8fa2ae571b632c47ddbf0fd16226a42ba0ab2d0166c7ad7043ad73020c507e251cb43e72067d445c45832f6aaebc9e2241814e22a89ff2225e30642fb0ed9453e1c8cc1b6b834c15e8a19f9e4d19bb65c4ee95fcdf024637b46c0eee8c34b5ca45590d4bdce805ff42150fbad7de1c28a00afd0c4e88260a882eecc3583b87468bdf3f4117e295b43b965ace2a563b6666f24ba4492b31254a8643101d57c5961d1f100aebfd8fa3ce0f15af3fb79f09b82a74739ee231836450b8f40f8e83567cb81eda7430bdd174d53ab001dfad96fcb2cacf9fdfb291a29cb225a511183b4baf6850ba1b8ef61c0a59ecbfb15866915685f27140991762ce14c527715f91586b9fac0a16ab98962b2995ac1697ed714e2bb4affbc4870f45201929e9b21aa2025da5010e53b986e97453123ebcfdfd0f0ece8306a63c1d1aae964981c442edd26183cdd7014401c505694886e5c390ddc0fec60ac8db86437af0611b58d78785ad1dab245a514893129c5684baef8a9fc9c2962e88d4469b26a39e057defb33c9ef93bf4700772460845ba5b61270d9a1fcbca9e4b8b4c3664c0204ebccbfbb163c8d0ee5baea73bdd99ad21bd2d8b38f495cf79433722daa7b5c03de7c1ec8122ea9832f38700f6462e64ebc12022aee7633119e6d086b03b2ffb89a897896caf943dc8cb089912f73b6eea5b6d7716eda590cad11ad57929e0810d3a86c4abb360b425e53c1e56431a369f18e70f4d3f5ce5ab7ee2e19da20d471d07a5d937e642c350c0b9122c363edfd08df76689f79d3eac9db05ff0d9f0613361d8cf8a5ab21ee2f1db11aac7a86386a8dd68ae6a7951c680702dddf58d271ab99911b9e7a3e1f3455fd986315b4da18e6e0231c7a800188faa29b0c0c47177ede2debfe82ac07f0ffa800fde50f81043ac34da4e656ac4a31c91334850d8654591dfa49810f2b8aeab626d023962d03c76fb1d2db8a33a12ae2dc3264aedecf14c6f8bac809e72011ed67989cda29cd155deb4fdba940af82a357ddce29039d1eea3197e1302c820caa2690ec0b1eeed4052a13803ff29ded4cd2d72874ec6b60f7dacc5f98b43d03bd059511bc14a314a4cfe9faa9785f6d7617ba0792ef53ec2b00cd7f7462663f3cc9a54a4d668f25a8953d7ee7acdbbcec2a2f9522191f00058a85285cb9fc18dbd6c098b2171d68f001acac1e660ae42c5c1312f1af22025bcccae396b6d17948a073e90164fcfb779179a01ded3710b38e003bd8e695d3e240416b0c3336d63fb6f579183fc6248cea13851aea75f2124996a9d0477def258ef83c2b9f4a9d04ebd7c2d6abf68ca819cd0316c0e51ad9cd314138137a67dc769242c507f24679acce79d0631926a8d11b8d780979cddd5053aac8d792c167b4583eaa3234b2ea45a4fa904b88709a8590d175f19dc5a9f9dc5624397fe70cf1363e959ec5747f6207b1e5195a661ef9d4af776982a9a8e066628358183d758552de16c00532fe685daa0b5e4b050b78d1e1671f0574ff41fcf813c98b1cfe506013687e262f66e294b2b0c6c4ccd73da0409030e58c1467667baaf201a098af382700d6a5347a4454b2f3604863093342d111507b97ca2568283b8a850a6d2c8ed22dfeea725c2503a751f78bed0dc16b0017ae97aeff8e83e9446b7c71571d86c121d3207ac5d8c2659fb9c6b909f3b73c75837792030d91219df619c92f708275755c364c29d94a6240c884584869a5fde2226c2e3e49622db80722704e654f84a407bf9d65359ee0cb18370da26963b1fd6097bf949b5885b0812d2124f2969aaaec89e6a011900f98c40a10a6290ef4e6d15a32a9aa7a3bd9577b4521314be89ba03071374317835b028e78e1f9645d699c0234558b2414d44278a473870d9b9fc9734d0a5511de1c8374f56a9c71ca3d552ba00aa0b770b74b4e02d74249db1d12843e6486762668ba10dc803f01ae529ebd2a6e1bd8c715883d803f23abc1e9de746164cfe5ba4ece10abd0387cdbec130c62fd60f6bce4bb430e183416eed639bf482ee5c01acea2067b80094d998177851094861dd4206068e963de7c4a15b177f1b6e566e1e7fc66dbb976825a19652268155546c96c029ab20efb1b47800e0ce2454a9b4903e974df169bdf94b999a72c931b40cf53cca038bf3abb665660fcee7d8e4fc1fc6fd4d74e631f8a13c04e2bff3d2aa98a62fba1bb17e878706f0a9918a83c2fe420834f60e80a9c4758d520b4d7b371bd546232cd131c7369f486696a1f0af83718364da998da633f7f70d8181721548b99627a661ffcd9eb6f20caff5dfe3a75c2c38ad8a74decab26c7f612bd64def44ed7aad219e012d91e3f269796fb0eb1f4b03add2dc6a70845ac20fd3a2f24c78d10f6e2f02125557f6f54d4e332c7f5930c53e2ebf7624a4cebb4991726793bd41a012a5d81bc04520e813be1d0479825b2d0440356119338114041558c28ab6a03a94844783fddbf4c9d674a57868c368722e54a5f69b6618e31ddf48463f08f5b0cb8919e135704a0c4a008c0553e2645c85453e6513796924a35dccfccb4a80f92ba4a60292305989ec6605e9bfcfc1653c71beaefacc03c1ab8d2670ac8c2008ce563466002e9e595623b949e414f0e9eaa7606ebd9fb4039026cc3beb198efad1176e6308b48a390c2d09f136d435ec6d1eed83d261f69ab11d066be83f2539f3e0f062f51e99ef7f4d89655a4e10971206e9734160bdf22756f17a7a979b8caf8fe9734db74da284d73e69afe34222b7086a3cf887379eb579ab2984f99f37e5014b16fa61565ad7d676c6a69af67b0b89653648813f50b16ea7364e1aba1a483a15538449140833a76c98fbc91303ee0728f5fdc0cc4cad3d45512cfb85c93102ccb85d65f008e43e6b5cd568161a7e66a3b9578a6073d32f746b14019842ffead1e4f4ea71791935f1e70fcff332cc251596a0dde62a880e0a5123f1bf7b7d835253bcabbc951ecac5b730bcabeecba857bcec2ae0c1daaf481e8df486f94863c333fe5065a555b4c8d04cb86db9d8bba9c9b120336e51e67a69a7b9bb2dca96517efcf530514a7f20df72dbef44ef6b950a928200ba0c397024c43510e35125c435133ba13865444256b91086cb426388f9459689a5fe88258f341b342870488d66108bb344d6cb711a4e1b29946347cc63051b578377bc66e0268dc6006f39cc937938693aefede9aa7e0d15e352faec27553d89e7e74eb5e4e714089d7e5d245dea66fd8db2884b152cd75d34b7a8918c0235163fd2c3202e4cba5b0aff2469046549a860d790a04c7b59688cdc9319a4a3fe2ff552c7fb9aa644c751c7571146a9e4a8793c040d991c358b345bae215b1698b97a0e8435a3e6f4d3aff71b8f31e628a7ae959235612965d0241834466202f1958067d46ba56d44b7508cad072eee7fa8083f1cd78ef72765099dd8e7470c07e03a614ae9227965a9c20d5ce5d5c6ee765f2dfa4c433fce20c7f20522893792a7cb21771c463394a4031ed1134059e9b1ad9320bedc7138c1c808dcf8d20e143c4abfc98391e0e18737d8cd6a144231c0a823efbc61710f7ab0169fd8f48033218eb744e6d2d030a4d05df45978c4b3597015f8f1921a8eb86249d69795329067a0d41b343e622ddc5238ca7e27c90a1060ed94b2a16428889d5ac6409d00f2e4f8f1723dcb9dd6f9e3361db011f91b3970e6629d1ee291263b40f20e4be699559fdf175a593b3d408d37eba5d69fd44a3adee417d28ac0b08eccd04761916422ea27eeecad50e698f2cc7ba13bcda2805101d3e3502baf5e6df3c0bf1349078422d1ea66df427b3b802022893748b2e5d7a3a356c7b63f7159fb360c37cac4347388b00738cbb27905112c49f15134ea9340995f735a5854ee5c233e4dd2ac4fa34a6a90800c99ddd11559feb6f6ec671954989833a0fc54c9ebaae064ffaabdc1f7240e1842724d34d8ca5d02efada73b04ac19885e80c12b4b4a483b10f2ca2e61e642c61ea8e1be230b0c464e004869140cd5b8bc71b2259023a6f2f3df9226d9fe37869397524e01a849ddd31a12a5b3781b27655d1e86fbb968252600698368ab6202cf5bb080541b087d95b0577771bd9b2a67744b21366eb6496df47ba08bfb9084bc50150195b9d1fb7c289b0effbf2e941ae741126487c5717ad1462a222f7160a7e08145420754d4f8a05be010039720e7fd56e411ab0868edb11b140b03159a628166321d68268fc7096190152cc5d8e2c4ad706d2335ce1d9c1e413684c8df2ac654c51c8aa597642ab41c72a61cd0c1224c697f009d731e888610714d5a0867f29eb80b64dce1a5bbbb81aeb57ac4a5b14e05fafe061f93f91fc34036925d56aaa564a6122faecf2c8d10aa6e2cd4fcbe8707a1d093f510f3e9b90b0dd45723790c42a0b098b8698e70eb634c812173c032f0c8177ded44a2e500b399e275ed5dff0a8ea36243ac3d034c0ccb61b21d68193b681d103a3f145a52aa645f4338bf473a99b6e0a41598a1ce92079160fc4aa0db53a509c7db640a0d3a5c999e0a6f93f46f51ae5a45165715d8fdaecb102cc13894306caab0fe10d3c47fa66f566d9231598d9f17ff977c5dcfa73aee8a55607cb3e14dc36dbc85185ff2c3918fe8bf4798225c213b0404e58f87ba56d852f9f828ed6761962e81f89ba23fede510fd2c07f704b5460c47bb0aae5e8feaf4647e81d21afe3953637280b6d5dae04d8eb46be943878ba21fede89a21a140029f7570e248d1369055630aacb93fd5ce779e8530d16d7aa8e2a578e22cc2c7e5a03d50675998826873215a98ece5083eea1591cc02e852619f5e76cc024bc7d05af08cf082c00b322b32934251eaf54ae91f6c65e552435f9e2a626c568d8c88c8883859e50d8c794ea73f8ab7c6a473abef5de8c586d7a4916dc29ed324c26c42583e9328cadf76af29d2af2084c2262e3d8ae345e76c000185feb7cdff4ff2f501380cba70c6c767ff706bed51d3d6692f4791a4766c40649685094a739654d56e8d0f45d5ac00d26dd5999926a2961a1b34633cd84582eb428c4e508a2047292925313ae26a83a8af161ed29d2d9c7085e21e336ae40445c728831035fd703f2c2aaae9dc30fa83c1df0c6d82c8626b4bef38080f51eb28325947eae13c4d44ec928fd22eff74632c8580e2c8186c87d1ea888d70648af1c0b9388ee2f033ee0017bbb0026fe278838cb3bc9be21e21185a0aa510dd25cd52ae7fc15b4f7de01117daa22864e23b9d46886d3d144f44429b618f4fb37e3dc8fa865da3492c368b400e558c264a6c0b114543f7362b129185be001e3d5196732c4ea58ac8a069d3e4cab853ccb1b634f44212677affc5e48dda2b7d7b3c5f2ac64514953a48ecb69fdd5a694e865329e8934598b6dc3732114076e58866255e4c79623733855e6efde3d927d8d25138c1cf200a5e59817288143aac90ef69407b47ed7186aaf9c5807a75606dacb1cc2ad7a6e47011ce8281acd93478801f20d1e41337f96334cf8c3a86494059989e32129e6e0c84f53d5aec340986c7a173176459af1dc11af8562b607033cd7449a9071166940963cbc8007faddd0f87d8d6848a6ed0b2bcf0aae0777b6937b7e9e1e9f148b20ba04599722193258f6d67d21bbdfb5b05bedeab36f450125801961f0e954290665b54e986597054144f59de343235a66cfb50b55117c9bc0d558c1b95e96c42a29a03a2e71bc40dca6c08064412fb3bb1dbf0a7475439a2b5b20c9fa152499de13da38e148c61782631fde173530694e05953da65987c5d83ce56da20ceae0a394b63a66ec7cad25ca1ea803871d1ac4cccb3af2b94ea4e84be4075b029428e0ffc871c96ca2d6149cc6fba5bc478f0262e93f48d6cbc253320ffe97534bfca97f7680cc300d729577043b1c2f5514ed258a63910afe0d2d458b6ab4ce1d428771d04431962bf31a3e829a43c47e9d448a36ac5a6c2f78c0f555c333243dcd4375135d1db045646c1220276d11bbe4a334e5e4ea362c6726856ba4295711336f292082f87f8cd9151d04d44a7cd850e76858844edd0b931c8fe8cf968e31ae4d8bc5238a3f01703237b5fc254b50c8660c38b97c534f4e68c11a5efd0a08868fa6b7a2157a63efa27cc03fe5433ca9c7a5c490c5aaaf9a3efb666d4dbfc05d9d498935f8529a32c6fc191c4569a46c048a4b4b4dbe6437db3e0847988b0252f300e1e7b2ffc58b7627b497610072509aaf4b563bae7a02188e4e75be656d2f623427e7ddabb23ea03baaf53c5cdde8536a28b54342313cb0d5aee93c0d90d306031c3bee6c6b7fd1dc07931c27b9ec301edce9d0c0e3787455d71def71d721fbad7b813b3d88be28677168d5b4743aeedd8db6d3a9f6816d3f796662b9934885db92c8e319a8068b73363b3d0934b2dd907db2653acac86132fff8773fc1d5a3efbb49fbc3a9ee071491c23440be10e8fe7acef792e52887c51e7cb93cb646c6e8f1accf8c40e133788156b6b4d76f8b4c8f49988c24608fd3d6c761111041b5d69938e4c6707df47f035e3c5a886fb6e50d1c22db0f192e1c9a952a2a69fd6d78d4ec0a2d91559a7771f8a12e92c176358b822a7e4a90c5cd8d40a33ca258553b456beb82a31dad749497a2a5ea8677b8baaae43458f64dbb9c01f95fd437fbdfa8656043386fc57f765eccc0785cc5811891b0caaa245d3f70dfc051450fe53120137e25c9bd4fd0193a82639f54c2eab3bd8465965d6d60947883b5016a94d7c0738e1ba243d7da3bbc6248273266acfeff59bc37b449bbd5e0b964cb91568157757c9e7efa54f52ff4b6a2686d675b9a0588d0b56dc85460f4393fa416e0c7290778ac3da7432d297b7d6fc904dea5ca733db5dde6986fb73a44c3333015e840982b76a26d555dffd1fd8c9bd226d7da9f854470d54f600825971e9718d70a69469986a82a601468d86820c6b46b8b6f556509e77b9b26fc87f9e55bdb447652bcd2e725738e7e9a4966c9e15e0ee9813bed1a220a77ea19ee8d23dbac49e11c4ee63b6bfc81cf00b4d877c20c66dfb387d8de5106417d40f9d3790111b25a006e543034a3a3327c93124b340eb339d96b457e8679793e844b858f1305b859c3496abf988728588e91adc7d32dc868c3cfac14e2fea364688279ac18887680d81dbc50378c01dd1019068f3dd45494a1855499c643669952af9fdcce65e6b7334dff0d88fcae1dc30319f4f4820e26a73b2e17b80496f4c225ae5c30e89a28b038a9125edfb5b48dac573bbd8bab9ad2994133895090796f72ae7d0e0629da931786785af96bdf6d1344ffd3a5257a6d5bf0813ed54cfe9163ffda00b78bb0e1486aefc495ca5d9857c40892613c712f382091b6e1e0c6e8c2095078a15c9d5b50847d5231b458060e64e2cf26b869c95d420f6d3b33bc68d967f302538939de338a6275f1e7fab775116aeba2f18d2545e286dd8b0ca96267a9a5f621e059e0918347c5a6be39f5ce91ed00cc4d40f220671c00ec636ffb0e8fcf6c5468a89ae43617e8fa63784c3a02fa90613e67fea44fccf8042c2dc98d3fc443fd379a0f45d5e94fe4a1bbf12b73b6739be05a699023c2833aea306cd9e9fd0be2c4ff0a7a9595177f4a5d896de43b3949ce1353f4df85269f743357628efa6790221c6b1a12b7ee88a674e449f2be624aeb71768f84d86a7269ebe80d79f89bea00bd97a222e2d95a2c3e5a013278de1048550877de1322b8ba66df167fd80915d3fcfdf6d117e8ad8047c1429cfff776cc0b52698b9a59046645c6bd88a806ee04ec94c7ed226933622e030a531efca913478595d2a970f783501eae0a892575dd1c94f0c601ce90b22b6db8da1c9aa3bfeb9644ebcabde9b07818f34490e598534ecb2ad71a9b106c1f370a62bb5ed7d3bac24dae26e0db3f4de5c311f84acdfa646a207864d15a0f746b79b1366252c1c0541c744d405b552e0dc207a2c7681aebafe5aa323d5479c7817aa0921f4049f9f52a0c3a6f0f68a54608a320aa8d9e7b1058bfb03fc70931b5fa1e0669dbe6cdcd8dc1439748786afcd98e27897cd84ddfbb26a08ca8f7ed79e6e78717d29112df0fc90e71944fd593b805968b45f335f81041b85dd5724f008837fa4560f99ce11b963f142a867e986d45f855274c7d73964da4f774ae26dd8c2fe9e30d61cea443402087c68840d6d38cf8e72d215f31dd1706a2e49582f90c70db591d7d27d0f24fbf75a1f254104b62d9c4db357e8dee082f2d5263a06853c4e6f264e42d64a8c30821f929270a5251ac07b06ef81615363046184687e5d3798ec64f283a9a578286e8a87cc2374f7148d1c63fc4f43aef76378ada96eec73763553ea6b81611a039a5c833034c00440fb9c12b9f7c9478f920cd3e720164c57c2a156f7b2411f62fc50d39f84012d138e28d4c73d37dc40fda04d974a7c376586e7cce69233d24763e4bcd52ea53a495fb9b282ab99a9777412f95918e82cc57beeca7d15ca1383e4d084d2a9182e211cd7a1aa6a1ac883c907bf2052e70bc65ee7a2775750ca05922b61f3011fc33f8a00a5d16d441887ae45c87f3e99680478ed7acd0884f402d60aff486ec069da7b026403456e80402aa3912b64058b3d29188506f5facd853461153b67f71a723e5c3e6801625b5b345a11295c2226f87eb0fccf6b4017b8744b46d74596e2ecd4993a3d394d29286d2458d999f0d00174e0d99a27ff291dcb56863c808e80c3074cb58696bbda13026d549877bceb4fef8036e0030896d1b86eaa5eba1e302355774b800b560da963d63cdc936ba89f0d57f8c99111be8bae0e0cc428905e1917a16b101f774990280d34e769df1f213480a74803cd14338783ce32a5dc78371cda50bcab08312ec1351fa1a03e6c24b1dff1971c256dab5907cc131f7c08d69eae1b8f9f1347423e168490d88d0b114f8a8988fffa7e928a08338c9e22017cd771e2b07f4206f59547caa00664a4f30af2025ed9206e0eb7504df0fdc6bbba01daeba9d955b12919c7e7345451097284f7dbc709ff24d5c2f4f3cd2695f6e6fcc443b1108fa10362f5e72349b11d8ec2ae6b8045bec25ac7b1f6b7436e8a689669eddf20bf606bf192479b270e814ec6b9b3a196f618fcd9f6b1a24db600b390cabdd4f87ce8a31adcc230fbe79ac3e0f3d053e32028abe6418e1fd29ea2073af4f74aeacbe285178d5410d01af6b79bbea50986b264993ecab5ff5d89f33e6f139fa9b0bd5034ab35c8e6fb092d6eb4dada8ab037ade24ddd17c4975cdd724bda8ccc6888cc0f9312233e126f41208d7aa720cf759d6b04ce08350d4343220f181a00d4db9f5fb777a10f8ab164fe1d65634fc1a275638cdce22a1f45070b4f682a10e37b791926511adc562a1fd5a4d9ca74a1d39e1c3a97b4d11ebe5395977cfc8b53ee46bb72833fc611f96a8c622d4dc486f99cb295db50600b12564804673a4e4a2e3abc4a37ac39f0358a8044b873ddedac40ae0cf7be769014b7d0f50a895dfd2134ff46d1f1b1e9cc06e69e126b216ba82aca2b935a972ee94ab4019487d0b54e92c5ffdde92c6295b06c8758fb5cf992824864001724ab8157ec260e5163e2d9b7909515f2c7f08e505cf3b27c1bc23507bd6b3970894b7620df4b7f08407221be3642de336816456dc9494d19c2ced2e94d18f66b15b4ff79e1c9abbbfd55704ecce6efa9f275855f1e74cc0ff24d1a68ef386c32cfc696b2414cdc94e0681b5143394535347d3292d6ce64d5f1b3bbe943d3319c639ee102a0899e0fd69b75fb3891e69bb270de9189915cccfad8c9357db52a6304fbaacab6d8c452976e1fca29aa60a8b1f30688afb9eb86eb5b3cfc8c20a50a21201ad73a76dd7780a3490da99e0f832cb732aab7a51dd792d155f1dea99e004d07fbc5ab1deb61e8546fd18ed9e8175b729cb2d7b3872ef5ca0285d9b4dafd17d31fa5b30575136e70fc637638e7cd371d49195c2a81e9e8c405cec8433eb7283c240491e1e601b383f7c5b630db82fea67046912a631cd8f16b4a2fba8c0903ed7e296b28b823d75dcf6574289455e6b3f00882291b421237f69507b9797ce36c65a3403c41a3d82bf921c2a5ce92d943812ecdc73abc64caa657666cc097146f79f933adeab3bc0c401bd6f8c8e2320044780786d39f4b0322e694b77ec772ee75ea208bbaf5b08da5fd25823fe8850555f0a535ba9e7ce02080ffaf8f85d586f6fe1bfa25c5515346f54b0892d81d1425b3f28da331aaecfd7e23c7ead00b38a77673ac449df6b49f8e15c06d3c703529317139932f46bd12474f74d8f262bb3780b1d2fb93ca4644369543892662d3726a7a0be233e67befcf5b3a40d02ecf02bd21566e19dfcd615ef1b2862e2986ed735f7318458010338e710e28e747a3a1e0c4d0aca95c0280cf9e65955c5472c130edfe81e6970242cb1b8b661ba46a4e815e06b9477d018041c9634192851d636881b16aa504f9b38abed3dd70cff538be6cc317caa4cf4bd1cb8e85bbfcf684e0bc798af1644ea58b44870457f224e02e4e1658c6dad80b60bf52a82f699c94f9c159a3bed625b0bb347d57807aec0f0e52215cc9d05940035213836b47b2a706e21e6e79300b3ba6b2f351ba7bc9717799898bd540723dbd756125b514f54501f86027901abfd73ea59197a118423b12125949755d0380ee34c6a4470bd695963741710429f276429c162a90c4851407a5818301ff99cf6a9c0dcf20676253550468905c124c00a3af9064ad3ce47e80b62afda9aca461cba5afdc790bf40c5f1af36073f175f1232cffff8d2ac22efc39f04945d9eb824d89f01d294333d65a7361ff367577f935f27ddd67f486b0078e253ab6f3ac8fa9fa6ff8b1ae64b22208350b11892c1ef581ba1e9422fe1e0bf331771a2fa3de9a6cf92ab27f6c4abfe27288431eddf538af1ff4e7b777cbee086d862e79b4fe139eaf9203042c0cc496f2e98ff7c040118def6b17a30159398d48874d3292366d5b239c4f3242eba304e75620b0d18a801574d3eaba8b8def656f4e4a8724a2458d81495969c96b9c4a59cce38898cc4c5027371cf69a61cc4a485ef66dba3b46df3cd059c07d32973a3b4e11472ed1d1c7290e2c5bf75996ef6dc56571f205dcbeba43de89b8906d6fedfe5dad67be440a682989b1718cc5704bb8ae29086c7b310c85b5529ff88d5ab60fa0321042a4db2a06d527116891c3900fb514ad3805ff4eb3756f2364672f22f985eeb11e3da1d651f28b6f6819ffd1ec2a8fb40b16068eac22330bf5f4510a1c41746d5b35617f598a214212d4789e371d1e99c14941609aa115ba3b90fd730e6c02b2a8116dfd0a2f59b779ab9d19e8eacf7d6413f3351d131e6c5cfe84b65a7413e4bc6a200efae149fec457c4df3210a36518ee1160f5929e0a66ed11caca8c94eba5741520d593dd0fc17fe128be477b2b40144fa2dfbdab5f0e7673f57e6461f137d760a84ba169cdbc129c48eaf4cc0ddb261355cba6e6ac16ee698c5044326e5a10385b388b6ebcd09b1e1e72588e53d0d996950198208c5718dd5b147c652ca39113fda4ce2625ba84c82c95b2efee4a36dda7807bad630dac8387a2ed4ff7b5a4dec737657c51d4b3d84b4b9e408e88d6cfb21f9f925e0691d75313aeeb8136ca55570022c2064becb1a95acb6c6f6d58281fba61e1a9595b33706d9e28931e93a0ad31ac647ac3436dac1634e372c4e94270939aaa8ce7a1f39dc83ff398167bada1e65b4122cfb7c84d36b6b9eb41b2931de0c990a805b38c27a307b2d9d99adbf409412799b21c34140902be85337b50a01c2da9a852b25ed14f4cd2ac12103f2f0589b5f2c0de9c716c8b3684179dee7b5066bd5f76fca9df9d4192683c4c1f9e8d6b9c75970910abed3032342e07bd72560977ca47289470097bc76a82ee0612598742b78ed8e2fe65ddc303db2acbd0151461c6a69ce866b7ce087117045ba82a0f9ea04d4bc728161ba28a3ccb67137b1280ac4a0a7e8c95f2ba3adb820140fa367ce286ee3bf449dcf54ddc6a599449da33db8f44efd2b2f074bac1419a615b6f33e537d3a9b53f1539aec9b3c3c14a71fcd500c2d55fab28e02426f541e1f7ed2482802a93ad0a346e80b8dfde9a1526283c3e1286c015beb3e9e24b477a7429fb98b21417cbfc7bfb72c829cf4dbf8d055d18e320a835e99f5ecec2234af40e60940f892d05ab2b8acf7a14a4f2699a08015a69285f348fc8c28fb7afbc4e2f968f5677910bcb5e2412f6101754c4f10f0633f415f3e1b8a7d591ab34d2709ec9e6a843446e8fecb9582046080e019ee3921f930d6ee44551dce16f6f7705abba8572bd3a7af44ceb799267eed13ddb7a3bd71a88cca2fe1299b55d8d63a59539b23f89b7710951761ddbd8986458f28bfdb2eee85d4652a76212b794fc180f1866b38bf527215b01027291a20da0b08ec2836177caecbc7d61adf82b958cc0774adbcc5961c8cfcb43e678c82ac0dfbd006bf013983d47acb5ac256e6a612865132ede44252a08bcd2f77888ad862a358d42dd920689c6ee1393596baea6e64beb4e3e9c780ef191f62116348089212f82adefa8898c53d70a44dbf04010d6bf304f86a06815ca988334a0335865d2121351562939ad67bea8001c169ed1ede4e46f003871d6af056dff397b02ef7b281fe0ff825356826a19dab1ec63357769af48acd32e4ff5052ba84c7f95cf05d6edd08f8376bbf1e14f333d94150f58f48d3aba40a6c216055acb2dc6e724308a03ef9edf783d161456af7fb59a27c5c16115d3804ac599e64f3ebd161be938f395fac3cbdd5e7ee7c4dfa83f6e0e52fbf858ac839961e1c640b5fbd726db704d5a517ba10f6045dbb27681cc3de9d18fcbfb0d373a29eab17ec502df35ffb996af860f55e0bf96a607622cc85a0540449d12198d2cbfcc064b2b7c85b4b01a272c843082d8f6abffe1740283a5e3078134c4d9e41c0df1ee682cec22609ad7c6c4ec01f9873763c360f4de26e78454224c211b3e6913b8f96a38c72bb60c353b39806c4b815fbbb6a6826c50528102653e23ec0ffc3040d90b0d2fae61c24497a4124fc180326f3b5c9059f34e3f929c2413e90c12c3d63e47611d0f29123bda37ed7e692265910b336e458064e31fc39881924b43d13925ff4f1fb60256c5a44fd4cd36cdaa19bd1f7e1e1c58893d36667e2107c5c89b0cc0ca4be3665bb5877484a6d180f1d99ea9ca755a622c43081e94b73ebd10b36681040fdc46abde949256e5ad94e63ab17f51e3aff36aec46dab51a54b55b57e6090e4981eb444efe58da941f8ea0a0730d77e72bc1c0feaf049942042bee6c2a28f119d306d0462b4ce5f92a17f92c10da2e7b6c8fa161cc63f87c5b866baa18c52b9b87b7947a2c5ddcb63caa9aa5958d69495cadc20ce4b9b9e66ddd354037d407dcd1de91931a1a4c7a237be6499fd07cff9c2625055843569749934e584dfe1fc29422749369ea8fa60754789a0f2928e1b819d05c2fa3660059d33a1b0b8b3356b612de6baf394486bc1e3e3e651dc079958edf00262072cf5a2537d8d168c396e4144825ff8815878d46489acead76a70ee9eb474546dd569e2a30f671e65f2021fb39a97b64ecef323b4a9ad16d8013af0a9f01c1c10f5ce02367b2e33e58b2ae17856f72b1ceb4e30f93d73e2cdf4f047f5cd868c7a6418371aa6c0e0eab875f228c2dd7681b428570f4cc81e094bfd0061301f4ff80140e823d860017244c0416b08e5f14fb65d1a7db9cac9804d3f1882eaece0fd1838f6e8daccc6b0cb89514c1a8cf35833539d69650fe46c895e027e82a8610d4bd642647173f28fc326762236dbb10e08c1c7e570ac33eda6d28627e1db3a381efa3df869f307e9cacde724365fe0380bba30fc414073fba50806a0df93ccc6eb9a843bae54e3c050734154323343d978243bee078c961df7f0cdd5a60b5ceab79bd221cf1f53d07013949ae0c5a6c7a2be4e4c2f51a41182514f676cd6f76a01f7581b5dd4cae573c3e9cfb6dd51693f8efe92a24b61b74420cf7ea00c1682de2a4ea56bf3c55198f6e2eb1cd260072e176197643a20348ec46596812430fde99234c76188290956315847fe02f723fbd781504fa76e745b321e851c9a530706b2c27004d94514210e20d90bff88b2f19acd9e234a99bcf78f3555a5a1292c30c3b88051b884aa98e01b08c05e07cf3a8b0807dedae003b5a6206642c854387e5a6f02dfddb8fc41db0ce747ba0371ed1559972f285cfb2e6930efe0874d2458b2fa361b12c7985120a77d8453dcdfa39eccc895a6b3caccf68743cbd39f3172f8597907edb4b41546cb7d1c8354b1c40a18400c39307e228b130a701311a0ac4dcda0c41a7c9c19dbbcc040b24713213a2aca29b951ed56abbec0612cfc560e7021a85d589a0a63003473f35fbcb46038db5c7bcd048455f60193863cc3c2c5d1392ba3341aac52168dcf5541d37bedb45c8e23cd43023b0607d9544d34242d677014a4609cbbd84c5139b949309e83e4e19194182079d528dc1d5aecb7ca0e471b73940a36d47c24a49586dedd596903b1344e7a73ae1c32760803979a09381e1ec9a318466332104c995c24f4501e10aff8c7bd945e1d52d7f02cd0ac06025d54d4077674f300ebe59b5ee4c4df87df5a4ddacd153b6d63c084d39454f434ad8de7952d7e8cfd408540839a219c933209fe2338bcc9c022a21ee755b304e29a30ed20cfcf793ea02eeef10fc0e84184d087cb90c384f364e225330fb9e348de6776842b0279438dea641f907a29b4885e16285504b3a96de07b9abc0eaeadc9b46e7760333d3de10474f8e18a91849b7dd4df696324919230789072207bf2779973a323924934232cd85bcc92179936bf226836ff54d58de24a9cd7cc3931a87d43c5257ab2f4b2da389283f542b3f3ea64f9a8898491341fac09037f6b1923786923988c91cc2e48dbbe44d72c9b7a3ec85e531d61dfc03d6391f063cce19ab4fc093c4336d9e247a3d3da94b9a8892a489c03a667229269733645a51de4eccfbe62aff18e51f16999492b765ba57e731b1bfba032fe7737d4c6acf6922eeeff66442f296097dfe01858fe9777fafecc93f086949322d2adf76e4d9973cf392abcff051260e78e1dda0abadf09a57933bb3c916b632922e7259e778da27489556155e92ea4a7184624b86de23e3259a9a41990d6f87cbc3346db359931baadb6c26e583a7857820849e600e4e72661c9e04758ea7857820847672b6237ba9785a8807428867364b92734f7c1c6f54eef2f4cd80430eb2313622c9dbdaae1e7cfbcab62c4b2f2fb044dea60f0bb9fc9dfbea256f1b7c5b96bbea78e85468bdbba1f2868f0a228daeb72cd82e78bb3be13e3661e271687c8af2c6c0bccde7e0fbd1ca3b4422656030cedeee385993a5a6985e0192239892a8686a74f165b7b7e2da1efa1179024c515b89a3a6941343de66cd46ded8e797b739eb9137e620a3642a853aac46851a82a95581048ca97ece1572458ddbab4c6a58d94aab366d084fca4e3ab5881dcf1d249129a43643cdeda878ca2093a31175a4644615d91127c4666eb26245e791139e01e63cba81b3410b9e348c6cd98769e69c711493b1552ac136ce194dc8a3a7d88c2994c613f3e8456c06964b43084ac33ca2fa981f319329bc5d6e16b1cf1cd622799431c58af7581492401fca4c1f1339acc758975056c4427bdadb237db57bafbb5bd7f7de6bd308e95cfa05bbf7aa5ffb157b2e734de7792f638c31597ea821d0a3006a089ab63aa87230d35d3eab7335c4c9829e10326d51d726d6a699732ea779c7b23cc66c5af5071b82a67fbb11015ff500aa006a8853571d74eaaac157adab3d1b07354445bfea9c0d21d3b5e7abf6e3ede59d77dd9e6d77814726204fbdebf66ecff4d974a59920a247d61b28d3bc2381426a33ab0701047db01b582d3beb06569f4039bbc16ceb06f020de6a5de0ede96635c86a0dea6904e8eeee6e9fdeea9c3673f1bd08ea0e3031c64c7f71e5400d7eb456d456adb5d61265fcdeafb55e3ae71cf68a415a302cb28054561059e49e8cb1e449d288f12ec653ec0add316fd0e16ec057a202bc67a64ec0989c7c39912489339827c9a5314f0a494972b7710efd4a0446f9163ae51f64e7817001b36a1d673731595fed537be48e777b3c983788bffa6a10fec15d13814d5f892fb8fcae53c417c2ffa07270ff6a09540e1c04ded5b40f9040240cd095a26080aeb4d620ebf3f90cd095a23e73207f103e48e2f38b05c80269edbca05bbe391e6b82fd5a22934f820dba16f20f26d8f7b37a781c8cecb7028db08fab076b96266962b2b687d013dfeb16e3b3d66a7b05aff3e46327d404fb6616ecc566c15ad8bccdf2986601532701f2370a6fb57d4ba60e8f5fd22c5033c13e0bacce6c7c1fa359e0e6edae9ef53c6badba9a0923ce1f91fb6ab38fa2340bf8efa1373da88d70132090a50d0d7f42d5f63b70196d023d5f7755eb7c45dde25bd1b236e4f61e414b8dda3ca81aef4898e11d09d9b6296d8e3160d3eb5f692190e9a58dd0d937816c0d6bd4e68f92b4111e98d63a4d04ce45dea6d33ce841ea1ecef3a0f46046620feaa3270d3d6d3d4d9a07e5ce7682fd53a6691e983bac3d207775a7db40995e8d314905d702d702d702d702d702d702d702d702d702d702d702d7026774851c04e0af036f90ff6e108e91f41fd00d002f48ad972eee9081124c6ad140eb86832ca9ecac5858e14c2963f904ca0045cc44a3bbba9e03987946f961914195d37fd50387a00c1593c1d6564c67053af3d93132a351d14d4de9c4a0d57a6ab61efa76f238909c8e6ce3b5de61cb577245d248beedc4f2ce6fff0909d188dc706d74be6edae052c8678edd80d6e20607c7c7889313e5668ac5d4cfde3ad1a67274703a3b370e63767299fc927b6156ed2c6acf0265e878f1f480103ac0d794c462a5905049a6c7d69e05d620d74678160814e4617ab7326acf8d90bc75610710251d7e64a3c99d78fe731eede73f9dcf8c3723c91b2b3e5f7efb0f3dbe7827a9d42dc40bd240391e997b0b399de3f1aa87341c66e6994d9a92fc536bbeb9ff6a90fb8b5a5378771cc0191750ffe81f0e19fcf8fce87a787e7e723b3a393f3f3f3fb4d90f2a3b7fca98f943fee0fbf3e33fb60357e8e10a8a5361a7d0f427f8e7c0454c54c6cc7327436703f8ad93807fad1e987c5df217eb870e0bd9759d235a15ee4142152961d280d827cbacc2381cc8807182e6ee636d73b3b22b000f000d768f81b6fd6bb36cd1ae710eb3d9986c5d265471fbba7dfdd0a28cadeb1218636badb5d6b1c564193363a66996333338221c110e058e085702a702f7c315e150e04ae0886eb7dbed863b71bb81ddc06eb71b1a9c89db0d25b20de76bc3266f9cdb9adc2dac83518a8c897a82e147ba73baf089df395f696898c274c4245526dd3abe37f15be7f7aeb70e50e7882a278b4aeb9dc9ef1ca359ccb12a6299c79c28f348fc21e504dff5ce11a63bc7c94c023393c2de71be4c262e93c94b8863141e855bef1a87e9f64a4863830b1352319c886989df384d58545902ae18928345ba71b0ef37ce01a634b970018aca8922e9c671bd717ee36081c14902a3f48e83d4657464de983826ceef5ddf0c6fcf26c190b2e108991425d8fcbe39c1901f3ba47c553c5e48f7cd9adf3708181ebd48a3e5ca16ab74df84fdbed937375e5037505051ef374fb1e14dd3d0e95ddf20c58a374cfb26f8ae71c7db2be1ea4986183d982c5992aaf98ddb02abb1028bc9870c555ca41b97e6378ec8e3c755d814d8519774df80b9de37c09ba3580e5c562c074e0b67f58ef58e33e28641dcd4bbc6f96e6f28865190243e19a08eaa7cfdc6fd90a6044932f49162a94dba71687ee3b47c69e9a032f3840656ba7137fcc605854eef7ae39e7051656e6065c2de6f5fef5ce597d7bbae7ebb6dbdeb1bd3eda13e2c3a8a2b66a85226b5e1f7cd5764478b30609088a4fbe6f5fb46822f58c4206911c3ab2addb733bf6f53ef7adf8a37acab5bd2d54de966743b7abf2119f397effdf67bd779787bb5cc97a08cac2843acd098f99da74c782185695d2162a425ddb958e677367a391549b90186c98ba274e763de397b95423254292447e5a6ecf49e9f9e32d253667a0a7e0b98565c4119b26484eafa6ddb220110a4202ef438f3d423ddb6ae1a7edbbe682cc170f2b204eb44bab38fcceffcf3f13b03f35159c2965596d07ab719cb9fcdaafcd9b04a24dbd3f01dc9b5cd777bb5aac8481a1b49435a6861cc6f5b882e2d40e9b2e5c2f14aba6d5cbf6d03a06189148f2e615759e9b689f96d0bbeeb6d1392bf6d4e57605761efb52f2397d16bab66dc3abaae31dd1e8f182d59289c6471d19086f95d0bbeeb6002a50797252238d25d133e98dfb52720a9343f2f14576088e9ae6dfdae4dbdeb5d2bd6b0c81cb52432474d29e8770d890cd68c8247e413edcbf7fef47bd7b4e1edd5274e35689161f261034dfae5376d6a842353c614491953b4956e9a97df340d2c5581b224891a3049e9a675f94ddb7ad79bd645f32255d0a0481551efb4a6779af01de841566f9ad23b6dc7bb9e1d6f6f68051b576a405344a60797dfb307d418e3246ba8a4c828dd331a7ecf56d002ca18184ac2cc2026ddb4197ed380efe9a61d65cdb2b2b4def70c1f6733acaed953d76cd8355542183156486a08b2c3c496dfb3df08a66ae458c107e486a674cf80c7df33a4306044a48654715122dd332dbf677b36738202830ae3f2dafd46bf86a8113dbea34cb7377484cbc9102036ace97294e5371a2c1e89a2acb9214c51ba512196dfe8d3185f16182ab824b19125dde850eb373a6506c5c24968124e42955023f4e87da3484c5fbee1ed89e0c7821a158408ad18a532fc964dd59092c2102a4d4caeb8d22d8be1b70c0b079135465a78696325ddb2e3d6bbdeb22e9917980c0a4c1625dbb2a7772d43929d4c888c345d1143c57825ebf7098218e18d2e5f5d36aea4fb34fe3e79904aa8603145053344e9965df92d03ca8ea8ce2c2aadf7d30aeb783e0ddf7db75781a2a2283e4ca420b22285e1f739a3c6b10a1722238d749f567e9f4807501105c38a0e185953e93eb17e9fc177bd4fe1e9747d9860d78719667279bd9b5f42d3689aa6eb6d164dacabc24cba2a4ca56d5e60cc07fc552a209813253630966648abfc8e4d51c08c170e2e696a006193eed80bbf635d31cf8a79562ce777cc8fc7ae18532c58bf344571bd4025490a20e9d5e3ac887e5a37aace1c497759fc1a8cb8d0b5829130ae74c77c5476ec08aacc822ab54aab77acf73b2c87c3d2777b2cc06a8148062e5fd59574caeff2f785854285313370b42025dd2550caef320a50eb4b0b59338af8d25d5afd2e83ef7a97c2d2c993c03c298c6b93c1a74d16492c3032094c8974df0df24d5636668a45135d6bba44a551488084c9c90b6d522019a61b17ab7e63230d4b514d3158003e01926e7ca4fa8db784d88b0a4351453d7ec24d45a723663abe7519c624e5e0014441a423ddb76beaf7fdc24749372b49ebddc874ad98b0de872fd425892166498acd15262994dff71781162f6c382203061967d27d81ffe4f745e2b0b57564c58d155c48d27d999cfcbec2eb644b807d89b7aeabffb66e0f01c11b86347da1b194127f7b90034b4c785c75597a6122dd2e6cf2db9f865264f9a14271c731090ce965f2dba78adb63bf5d0b039e54af94de8db61ffdee160a6ed0012acf1e60787b3da20d1a4c6c6551dd4897fcb653c6d303f583ad3cfbd6b76d727a77edbef5a6cddd1072c448a1cd10255f558b3b3c81710d8b1b2f6005b14aaf921f2a5aa1844b0d923445e9957ad742e5bbc6b9923388ca5b86747ba82fb6336f6f6886942110365b5dc731694ce7588d8f6905f807f4631a444c5fa03aef4d6da38930d19f7fa8371b19274adee7d45b8d4395f7c926fbacc9fb0c96a5142a4dbe2c75599aba2cb506cff4b198142f347c4cca971e1fd3359a8858ce34358d26c29cd144941c6ec8dbfc7aab694d799bc5b73a03293903abbc4de15bcd0147e67023eba4c83b367cab758af28e158354e500d2b8f8b29cd2f4651a1e5fe67460641d60deb1336d6b08fbb31b5ced0df8ab8073b77501ccddce75f8bbdbf9374e02be04aa535c34bdb0c979d786b03eea06575f2e2e5f5a5d587ff5d51648f570f5b62bfedaa056cab6d481ba00972283e0bc13b93643b6da759df2bbfba07a706d8f2c92053a6fc9bd434bbc45b7e8169d96bc48b8841be4da1e6b907fe584ec8e3ccff3cc6de50bdc20b73eabeb35b23dffaafe756487d668b52a0756de43cfab91861688a48938edd00e7f88444529067491629668a7623b3bbc482ec4f505904ca6126ecfedd7b553465d3e9fede2f172f92add3b2cd1282459741f0aee92dabbbe1a74b75ca42ca1ab23a67ab736877dffe006b9367f19f82eb841aeaffd9146a516faf1723b948ee4571897fb71eb94edfc788376e7e9a76f1d8f47d23473161e819c8b071dc9eb749faef098ed6e0b3de5f8e0379543c1ed5d2f0fb2bfdbbb615bbc9ffdfd841e357c12628029ef2b145eb2f855032f672f6c09226822886ead3e33e171e4abb6436c8fe461b715f2d687cd6193be6a0ba3f6c8a7122a07a4ded5aa677d6af8db831ac415ba41132a4f2ec15379be8a70831c07c4ed915dbf6bbbf9de2eeede904db657fa6e906b79cfe462b9acd7575dadafdc2199c8db8355fbd03f601befda89eee4bd9da07fc86972a17f28b547bd6bf22988754e8ed6d1688c2642a704b22ecc01f220946c7f797bd0837ec9a74c25dbdd06f15404e2eceeeff66e769b77dbeddce7dd6e9b4f1e6fcfc45722dc1e3ed6e3bec77b045a26abd3cddd6ef39ec774b43f6c8b1ebc416efd6eedeed179eefafcca28825c52bb3677bb2ccbd26a2c02033d9ea160874c6c23ba350ce35a7de802e759b75eddbdba93252e71894b9ce3b9df5b6dc0380b639c03632c7543ca89af2b1f2a9e645059bbc2135996247662e3822c4b125fa122cb92c45c645992d8cb194b962589c7588c6d0a8cf19529d692245683b114c658ccbdd7c30b423d4e32e6ca1175335cf504c9b8638f961ccbf2f1d1f0328be1b2406b079fc5ca5875d2a232206b492c2d93e492b9726145b2787dd50349c6e02fbee99aded9a6772eebad7942b75dcee56cbb92960331cb427548498c2c31f027747d312c5479244da8a7c5e7fc84caca23652cf01206a5890404fc5d9feffa486d45f057db12a3806331ed333d6f7919c358dff29224e6097d0501e23d0bbd936e773b936e3bb8c0dcbd223c264b6c5a8ccbd98df1ae71ca0bc49557795657533b8f09b498ac3c7bf26c4cd7d3b4180379af5e13ad5e5eabafc776d6a2b1928ce19cdaee00dfd3816a774703839a4f7e5df23b90aa076baf503498adbef7ea7a77fbde6b9ab99cfec118df7b33265b7d5de3efe13b1228a45e5ec9ea7141238a2ad8c297224e6490b0a0b6109d08b3c2d297239d53be31d35326e38eba33399695239fc55c560e8bae851e311977a3e74436696ce5d88bdc09d20a8e0c56501ed96ac7da91adae192c79e1a642d1c4b97262a620660043b6da31872608609d160fb03b500eb03a340ce081162c80255d20c0d3004c1c134126ed88877d64d0a0ee3487ae1f320c87b24c8e7bf59b184cfcd32246be50b2c9563be95bd96adfe6e710a1bad857228d296fb56413e7ccec337cd466bdb0b8aa1a9356ed5132aef11cb0c0c20a962b158c64d28dfa84bedb2b57e0628442cb4f8d8ed46af4e71f50a5ca01fe14f07e841cd03f6cf4e84b8d86b079efd781f08e04de5f8d35fac33bd487a2c89137ea9339c99efc4300de82f980f9f8f858f9ed83fa7c90deb70f13ea137cd7bae3ed0d1549e5608a42a6488d2d48bf7546a3972c57943451a326dd3a9cc26f1d2e4d19284329ae335cd2ed8369fcf6d93e3e475b74595b745a3a2b1d16d66f9d714b17b545d4c5883205040d1694979874eb66fcd655342998643153e505cb0ce9d61dfdd605dff5d60965e9d639518151857179bdf77cc98a3d5ab2229777ddc3747b958b904ac891d60d2256a98cdf3d41272c2fc75f131a9ea4bb27c6ef1e176a1061093285089674f7c0f8dd33f5ae774fb187a6bb07cb474f928f1ea51ea39ea3f71e218f8f67787b4349aab8602c1dcd104603037ff3bc3053242a05324b8ea2d2cdf3e2374f03c0aa92cca0a34a5554ba795cfce6d93c3c5e32183c5032183c513c4d4e57bf799ede9178989e27b8f5c5f3031ed9f8cd83f4cea37496c99d657239ab1cd67bce787ee5ceafdcf995cb11c942648605301d5b5afccefd34f0b20a56013e2d19a63b0734fa9d430ae2a3516575a5e8c597ee1cd3b3f89d0bbeeb9d13da7ee79c96802d0973f27be76b8a6bcacbb863341e8d5bef7a87e9f6865288c13585aa4809982bbce2f7ce09801cc384113141f423dd3b58c5ef9da6ad1736ac742161c24af7ceeff7ced4bbde3bc5f71dac13c64ed209634789f87b07e944da31da393a833a5f6770c777eefc6e0f0157c7a4365bba783193a6f8ad03e6250645191669c8a45ba7e8b78e5148abeac92b4c0c5a33d2ad43f45b67eb5d6f9d2eaf323a5065a2de757484ef3a4fe6978ef9a5637ee9e41c6f2f033292943881654c110a8ce277ce99aa57efdc0fc99af0b462a78cec45c0f7c0f1207d6b67721a0375b04cb7788d1dc892ac6235c6b57ab8e7971608c5108dae9c4981a389959a00c00062f56062848b14265312d8613422f505c318174b5c70439022140d6b72388992e6a8c5a8089119be366a864ec2b88e1c8bae8643b696283186894005322eb039a2654910a92710c62451a35526051a327092286a2c318def0013c2516950d33f68afd67575772b7bf4cefc341f2567b87aa83a3623d1d8ac44cd590c3d67262a9b9d283a93d146cc66286d846bd969c6fcba6323e6550f98244912257dd6c1c7745e4c6f539bd61cc124614692399c4d8df10dc2501827e3dc609bcbe99f7befbd9874abdf346dc9e36a8b49bf578852599625d008305e42310e09384ffabd371c1f22b62459d6f2de284528316e481d6f209972a34855f6afc41b4ec01bc119f1060ee28d144b6a7e6b217ca7d4dc065f8941a4c77d25de2866bfb2be476d33ffc002fc23e82fe10659fd25c2d605761d5c0c0c3915e96ad2850851784cef0e437d07ee4018093ef29b07f51bc4d3ef3a65e477351621f2bb7ead40c9892f259c108f5b52eb549bd430a2b101062e5f64484d6083938c2c4c6808fb4aad16babd212526bcb454c8e1a349927428868ea526c22c36b0c0d20c248c0751181f3b8aa9d522dc5e76a2c252c16a2a06a4d4ea126e6f012e786d7921eeb8f222b53eb0283c2776554b507a24e5e841845d00938488a36288ea61028b172e4e2479f2a4644692dc97bd9232a123094f947df2c2560c5a266e984942a46688d48ffaa50b898b8aab17b874089192ba390a43e64b0f336b9a60211a0480a5314299a1820b5d29d64aa2fb09dd280e58306211664b8c2f555ae8823b134663abc79ae30d1672b84801090b83634b121cc472a96a7e108f50b181e3478f349b61418b110b57882c2c61a1c86f2de45c844a32a63b7ca93db942c4a2d45b772875693c534049b2a54cf1830926fe401213d21d883f70fc38faad85aa08591d5a45441c465808ebafc41b5c2ffb4abc3143763540b069878261d8ac6043d30c2e1ca9b5356c49962599b361094d2c97e5992fcb92bc014a18362aaa34e1924af10fe2d218ef599f1088af3a57cdf31e4e33000229594e5050a48801838fdf11963239602891428ab3e4f407acb5c65ca98241634d17293898969ab733abd5d55ce2b29fab78894bf62ad4de3cd87ada4a4deaa1b41623a3a4ce913b5d066a9ad3a194acb5ea0e6c08f3ab2e004f4adebc77a37b1088d4f5d5dafb16a8f2a176e6670fa72fc73d287081db0be106555db5cc440ee1017683aa2dd008f31b6037a8da756e7c9f6b769560c7d7210fa76d0a79147f5b237ced6ec00322b0e406a525362cf1ff07d81077e70a68800dc1a4a26ea0274992c46dda7885c05f4be604926bad15638cab4b618c712577f59e40b2aeb86aafbbfaf73a1719bca30c34cccd8b2a323168e8210cdf3a9ab35c07e771657c829736846f3d069afd303351de3c1eef28c31abda73e35cc56d810f545e01df96aeb2fb2b63050b3728065a606e239655ae71cd07dadabde550fa4a3a0b5de550fa4d6200440f6d63a14014993808eed2cae241ea11e4ba3d1d2117ae3649683cb18897112c6b8c43809631c7313e3248cf18d131f9d29a519e80df1866803874d8ebddded13fec67c32baae3d28357653575a4c17db5dad3377234cb06d2c0e46d618973af829b0c11f81dcd51dc6d79e41d1eaf7c649b67eb13b92bbdf38b97172e3a466b529b3826b13f6f5d588f50a10b2dad6aa6dd598092b857d19b19c8417788db8b6a6883b9cc97d615ac627277b64815d2454ab0fd864ded7da814dae75b71520543dd8725e647721e7d54a92f8e25bb3da96f57a8cbc6da1a57614d726976559966589ce804040350642750964ee5c59d2f4f6c7243ad80d5ef06579d3284ee3d8e4ea3cdc6e93f8522351faecd66f0da72d6e57ab87db6ebbe0f63ad81011b01b5c5e6de7bf3bd0465c109c7735efd4574740a66f2e679755e246e13f482163bdeb549da9c09e4025091d3ea64d20dd04f2c774fe980737db1288b22063e7e54bcaf04ea7c3c04cd374076cfaa64508e1f66cfaea0e6eefb6e3a133a09ada6a7ad77c028ef3747937c23fd774082088fdd5f66774758497b844ebaf46c1cd68ad83ab23706bda56d3343d94a236a09c0a3630d3b41d89d9eeea3bdb89e00bb8baa6e82e04e7ed4a7c9976992fbbdef5f6eab55ecdb324bda0a0ccdc9f1f6cbaea9acd9d03ed21dd044a7dea529fba76d343e96ca6b3dec04cd76a9a044ecff4504a03d2c9f48d1e4a751840f54d6f00d52482c8761ba0d134891b8deaa1140422c420eb5bdedd76312841796552d9ea6bb5feac737638a67993332e97bbedf49b3b7f6903ea5067426f9a326df529db49c0eef6500a847e0453c7b2592c4d5cae706df5703b925d0596acda35f60f15c8dced0e5b7ff58db8bbddc1d54d20ffd579a3e0fb1330d016a1caf8d1e4c753ba2525652a459d84f5e2e3f84b51a8fd66745d12b58619469074242a991bac18790e4442974bb59417a670d04ae23256e5cbd52f45c15acb8516555c8a7cf589626aca3473fee062f3cc4ef2d5f717968ea874ac958741ce10a29922001114e315002030180c084502711488f24c18c30f14000e6d884e7a521c8903c220865110844104194208018018430c01882043453a085a9db65fd19d5fa47495713e29ae57b390001634720245881d640f1a3a7e6a6753b2efc4f6dc8f0d47f1e7fcabb6bdd50f506866bc609f36b42a3e092f4497c4415265bd08c005e8eb11860f8bdc2ba983d41eeb4b3395615cf1ea1bd32c100c735b3d2d9e32a31d4b93935dbeea43c557810d07959cfe6b28086bfa6e5b16ede18005ab47d84139de45588ed9bdbb3a4402e6fe566b6c89c83a1b6a988bffd70ac1d17d92fdd15674e7cca30d33e0fe3534e1b8b01d1e73f487bccbcbf5f202e68b2ec0ff87b3a07159d84a2ff209acce015b505f9599e7bf8fb09e1ae0273f9ed4192f3db502e9ac48055551608046f7c9c0c637023e5dd23fc41d3001b0c6b2589fb3022710403a2ee61933a82ec098410e20044a0c954024b19b6f69f0f4277e090c16a689e4f7032d538bb0871d669824edeed7d4de8ad39ffb599c9f141aa9945481dad7752d7c801e19788a4ea5937e0a4e4b2af0748a46385f685cfb6b869fe65538e8fc6a22ebba9a01d13d91a2147f611ed4e7c018726f129d16343eec161888e5d911df878bc2f4729baedc9ca42c81cdec79ec5a648ba66bbd85e3b06bde318561cb05739368ffac24a45a84100911f9532a0688fe0e7022f0c71b7d2a9bafaeeda132fc9555ada473af89969e529e7daada6a17faf7a50573f6db63e8bd85f4d4315e1a81076d1719cd8071af23cf7b3acad1ea066da994ce0ae9dc80ac6e7bc8a846f23b34baa85e7302ccac3149e78d29291621f2b597424ee459ecffd76b04b672f41c37ca5b9e47fec7f00ca2f53704538649b5a2fe043b92bad75c9cc984b40c56d61e6dc9f9e5e4e309027d3d85dea7a257751c0e9028f2ab16ab496689c451a3ae261f01ed9069622f0731327d48a6c976540059d2ead51ad1e0116d9598a17077fd3a244cdd57edcf214e205a3c9979e1505f76a9b10d70d05661de066e06075d4889348bfbb4c310c21d19729901cb10b99fb842aee1d9181ee9f1f43ee69d8a7691abc366420c58a499769504123104882d662a6185a29448e468f6204f68c618d98c982df551db1269847067f284723820376f5740335caecf70c7eac9c8c0de799900ebd6a954503288b53f334c5d99fefd42ae0107cd140f5046834595eb548d7856f44b27a908b5a581c1972c3f2e5af9eaab011966d5804c49a4c9dd68e3c0e7d20de0e04b6deb3a500c757bb9ffa0e40998c8032712585042e53ed405489939c8e1e447658a1b7d04c6c1115846a143301625d9643815f0f47226cdf2c0c0171ce34b1128584fb71765860c48097960b0cdc650661aa9d30b6966474b6f0be4d0a890a5d94e42afe2c1e6e0a7d863f62f0610375ca426c40167939be25660be837ab85272059b4421a9bbdd268888145f145fda1cb9ca7650fe8889eb6752405718d5e5fe3c2bfa64590f453f91edb1dba34f3b88b6f83c939e7c0e466994e0ffc171dc60b15ff100d538112f20e6ea28cc1b0cd4431ca759e34f86df64a2dbc6a604b2be74137039c6c4df46352b72cc800e736b0fa55b0d8a5865c9da9fa5c68a050849fc9abfdd40c0280018a478398f859b76623ab56891e9615f78a1560842f44e84a352c78d1cb1e0b4fb24b82bd813b6815ae1005704a875cb77574736e05669b908abcd21566fc2a5321c9da4f4e1649c367058c9045064393ea0e088851b2e15719f74e8cf7888e8b19861ea3994150eba7d17c1bd028915c755bb642ba712668d735cb18b819b273fbf51b02637a73472c4567af3791a92c8f16bf43e520babb9abf09fa0a7fe0a9a4576100706110eaff242a4aeab7c91cf13d877a0b8f995b54d7480200dc825c1e420a50e59403fc4f7ca40dba6a768aee8c5085c04244abcdca3bff796f1624244b7501a737c8ca01b2cdf48b6f6f15f7280e85fec870dacee000d85a3584d8320a6f6800d0a86fd2e089a1d046a726129e8c776a365d61311df337d59455cfcd1192656b132cf38635851babbf39fe44c63559375fc69db60745a57cd3572b90227f0b49a22a0de1a260b35b53a6103acca8c5f28f265dc273f852dd1e260f39c9011fd2e9b5f4b6366a9b2b77b54719b661e686d7b4e5f181f2c7c64090dd3b503d5af82e812121cbafa250b58bf4a85434004098bdee826abd3ca3dabf16ecb489fd82c47d3fdbcaf866e6be24abeeacae57e42831a3e310c1dab95cecf9905af88bee9404114b57b787c2f9febbeb2085098357d37fac455dbedfb2782a81ad91e751f6937fa33e430b6b4b5a9a7efa8fb620f40aa89318bc7e216bbcbfbfdfd4fb74ed74cbf4c2fc3be0420f4bbf2d540be4e73c9fcc593519b0428fa5a94e280ce2ac91337a05daacb79d765a235c07f671ebe29168f90fb700ab17f8119ceb68e868c692ff98a69f69b576201618f3f69a8588b086a53808327ecbcd57f033e3105cf4ee4d656c97d3979e642471a286afbb9eb115c05c371a49e8f1f3abf352d2b519c730b7d96168f2bdff9893cd88483c2017a8afa5c55fbe6966cd683ff02a678f99d6ca3031017ffde818cbd92029be70c25d0b6ad065247d1b68344970a732726ce11e9ab87e9945a1a97463c7eb23a51b3a0302365037cfd842409050fadc2bc81e92c5708b9b8ad2461feabeba52418faf03520b3bb910ef70c3999475cf8a8ac8d09f15c179168986e45271abe115862fff9038399a9249f0c0b8fb0934e8fca25c8b205b3854731523310dda392f32f86ae127a1b263ed22930ce51f01a92d597f08ca4b8190733a7690fa30d2592860f5bf1f6902378714ecb8ae10f6676cb7a2249a8724c540f90881658c63458c6620ce0a0a48086491a0481a958dead53d21452eca443755f8e383d26aa57ce3d791da094168ce6cd8d5ea4481a7be67e9598e99353a8e482e79cf7cd1832d71cc2926a46a9963a33effd9c0dc97d9c1b1feae5d6b3795dc9ff6342e9040bb479ad5d2dbecb54a4274b606459d09f57c846fa369788129052b1141efc5166c75e04e575c27b7916e5fd3d4f7d935920264c3b78948d9c93534c764ee48d85d090e3da6961e1f2fa77599525dba631aa5ab24bfd370b2786dc984c22d6b2e3d3a560064a0df58fa00a3726fc3122ab52f59afd30fbe2ef373249086fff75713ef5c08ac3c623561c1cc1933a3f5fde5e2945ec9b2fe44c4d82e1eb7ac4e6e757dd86c7d7fc6ab99bc2e3bcbda758c1cf11c5a5e77cb76328e2971aa385458c9444c6225b5288809897d521fb4b89d675addd4d4ccbb0d58ec3c30d12a0add0b50c57dfe4179818a418a2f1763f3aad2000d1d38acdbd0960ef9aa5f7b6c2d5c40b4846c4eb50c8614808a0023fd738c4809ceb15647ce0274d498c982c385efd020d8876cd3af8d26a8cbfe6985b5792500caf6ab1826ee3417f6a2fc40d61a523e9fa9dec4e9282e51a00a626fbebfb7fc29fb2377e36a9b25ee9c5d76f57017cdfa47be8bc7aba47adf46074aeb1403c2809b27d8286fee2818e913893242dcc3a67670e88982a66c16c818c61a29a150a0d03d6091bdaec748d18b917dc56ac3522dffc91ab5e756166f776e8acb0d3aea524b7ea75516e98cf1450debed845f25c3bdb43e495e6547be29cc148eeca399858d009dc6a26178f497279175a14b8c5e186acef979fb0d24f1045e6a17ae5ca32d6ac60846dcf4fc8b2aab72e79157734277fdd831e51eb1bd889b896df3ec6d31d1240d335be267d25acd6d76eb6833d18f7284acf799a810b83cd80374990f16d306151772f5df8abd78ae0bd3106444ff4871f46a6fc07ab6449be9744c0ad14a3fb6b0f328fbfb03381d42d815de77717f818275ab11599176726b8e690286c58cb53bc4d1edcdce38dfa957eb572c30c9ee51d2709f15da2d8d49225b9857fcf78f45b212d517a65d1fdc5d397faae497e493ee5430445e64af3a0c3f6f4bc210b5e66a916bd236aee525c0e81478618bc0c05b8e588011a04244a5888e3f60fc58f027aedfa0be71a24f0bfbd7cb727c88e192926306dc9354d738a671ff5e14bf293c578593fda0171faf87206bbf1083ae63430e5b6e07720ecdc88a9490b3c1460adebb810064676f9854da904ed4ab728f7a1007a4e97ba7e33fa2ee13b800ad48c92e9d763845e3f1a41ff9647cb84e2d2f89275ba20bdae7550ec71010763237d2a5afaa283779faa83635c588938b276dd5af3af00e2ac24e8d7936888e96e3f24824b636f326a7a0083b183e84b0b183345abb0236063dcb49256dbe95d5df9a06866be86857651881bdc805bd3a19f9f1b74bfee8c8f0fe3cd87f1f3c5f8f9705cbe181f5f8dc387c7e1ebf1f2751cf8303ebe1937f8283ccdc6ad941e5c04c65f05b120198784c93f51900d2af401bb532004748f19ce3dfea98fbb7407167e5f8b351aeed78593ebc16951d3728d82f3f5c2f99ab40c25c1e1fae174dd1d0e3e452db6c51aee967528f4cb790dd39be29d1872d4cb01f28f3ee4b901f358b149e0c0338387378b4933fb2c5b26946065943625b465f38ab71ef657b62893785e5bd3ca782e2b173c5bce4495a31aedfab9d8633c2109b45be7bc958dd41fd4b8aaf56d336a35107a21248adf308352d25712f3fb685fc7e867c50aca415e6e64087abbed4c2735db6ffd41195831af8ecda80fcb3a5e7624fbef0e95e48acd8e5ac379a9fdb97300f9419da2363849ef5346b89da5b2a70beecfea7f14c74e0e2b35d987731cb4d43083534a1b8717feb8164a3ee8d190f0c16c568ef22742386f21b66a36c88b0e117783ea791e59c95302f80c7c536ff7f10bae19abe64551b5477ea59278534962029b52c2f2cd5483cbfe98aef471904b60034c97b8300e2bf279debff27f401cd775e6e4d6bdff4aa8b4bb5255cf2854a1d0f84ae594760ba64280d333c81b771a581744fc7a9b52861b7aa6893a82e1286c0ff9bc8be4272742ab18ab86c3becb37b78c175b1b23ec3b0bf62f9cc8b8d25bba54af87e44c5ad06585f82e4f195198848ee73b9ee0218593719aaf4bbb0d825142f57f00db9d98f732463598b5136f729e3349ee9cd88c1e7031da88353077bd8bad0ebdcb8d7e1c22e42b4d2657dc5f086d93312b37a5444f219f937761ddfdc73d6a01522f2cf45ea8beb63fa3a9dc801b1820ad12ad2b86fbaf6d7447cb9340f62d2d37e02a61655b2158ca5d13bc3adbb4ece4ff4417b29e7723df76c69bc4a884605989c2d911bb30a47019f1583f2c41b94205fc2e9e9d6462930a9822fa7f3ca2ba350eea813f727fe42200ed40f9406d11d3ca0bcb0e81e20f12870fcbf9d98c1f9015abf65052f0dda014fa1874d3b35a7995535dfa12c120671f9f98a21b555973a41ab2e6b8bba22aeb95753a64fca3aadaa70d84e3eab484bedb82acab470a2930362991ade6fa3810a1b7a43d01ac5cfe327850fce43bdbdfb531297c70cd411978169c236784d67c36c7106499d37a64d0d0ad810c246dee46dcc0d17050b21395c9291973e6d6d42467f675277c1c65de1f3409a7ca121b9031b6e67b5b1903e3d87d5a09dd7c674aeac8e866d1f8eb3696d5abf7c749268dd10337580a2d4d54b16e1aa42460da2ece3f380a1fc93a9ed5b21409f4f8e5231d068de7a7de4f1cdc77ccd794d9c90fa05d4c3039898380120c74cb2a883a19e154dea0688f54751842874620774dc989debda329d0d9b98443c89b1f599c7c0a059de515c6847ce1f663b21224fb0ec4a16e6751c4afa475f4856e6ebf0759038b75835be2f4f460fbf96c2d272289ebca8af32015eb6eb503c0b4b4a1daa40c8c3ef2351e5c2e6a352dfa6de7e654b7d65e8025fd8153856efef323fffe0bfff1b0ba4fead9f246d6855d2b88b4eb25e6ee089e43ad3c54e739640073b9eaab903192a643de0068521836a46c714658aa0544055436715bf14d3850d12bd57655bbef3feccbc3825152b9796ab531e7cf273efa56b153a0dcb196b2e33d7a033fb990dfeaf4aa1e8e7f24e47e68c1dc28b9fc8c86762e4023e4c5a4062b59b537a1afc5318caa34a30f27285d276252efdbbfb0e04cd3c133542b2a190149e22f59a3f155d6163245a08f3960a41a019b38506085922c0ae38872af5393d84f1e8c80b1026bdef1016c3a0ce795f67f6ddc0578de7a4b8b0080882bfe83fe59829ddf68e79a6519ee8794ea364cc1aa40d3a373b33b86f5c66dba56e8bf305306f3a2e737d976a528a0a8c15af63e109ef0f1b9cda28f49e3f087a6d0cda2cb3a798d9d9b629ef818074c80f09da8c9900f5a471dd82a12885186aec6647926161f24c8cc9a0c24760c8242026acf483da6ef9406d817a930b00d38827330d1b29909cdf1dea399f224967aeca9f298a5a140726e8def354e2097f8c443a0fc53bfc9ae62f150aa5f9bef9ae58f1c5dddd7e88495cf9ee9e5e7eb16a09c0ff0e92ab828bbecedab81e5e43c750b2c8085e5b5bade9404e1134692b2f61472b0ae676ee234cd49d407334c55ce5647cfca127a1d77b6acd14753a1d4baaa4ded50d3eb2287781b990c7392aa44a81459bdadd04a2aaee5bcbcbcf9c0e2fb0fad8e149ac72e6ecd75da230e377afd97af5d7e6950752c22032b459ec0bb2f1e1e017dc965ae4696b13867bd05f3681faf0cc090af10c6aa803aa9a356c8c014f072bd9e053880a9928f6cf059532ccdd297f48d894f5ad096046c86586979c7b6ec118c5ee1553c31493ee91ac61e52bffdf1bf89cddcf7214837bd5dbc1ba620cf4bb4404658b09663d4c0d46249f8a9371944323cb60157c08b4805a28175e53cb69260ea5b341664c9a6675142e1ddd88f35d9cc22d5b9d50e9f7bb75b164d343a2f0261d161a344f200d3ae1f97b34c78fe111bef21f89ee0cad9be1fc0af84969033e9bbd48a60254edf585de14a9cef6bed41486c1783d6e928b0e331c6be57216470d0cd7fbc74e8d17685d3db5b77ad253b156eddbc411ed1eb37ea6ac3f9de8207f9855a20badacebfb6d42e21630c1f65aa77bebf210381672c6ce9ee039e51b62c4add714091ebe610292dd54ad38cc64b03f0585325bdc4a42433ea92ee14bf75951391bb700e9be5972a950a8482d1bb690fc36cab7405129d5fbc86325a14957ee660d2ba7c156074a2a1d88e2f922b1267813d772d909416634f69f01f49859f1762f2647d0766554c1cd5913dd2438f1e0829d529e60a62619e9d572ebe2283a163f2eb452f312f40201d5be607a7a99ae4019755b1204a7afeeeaf066b3f623082717da4808311c02cc2bcd24c936ac9b730f64f76591da0a91927f43cfc8d63b17939e916bece1cec1e055936201379041cbfb135e94d86093644b1b3a1f1659a45f2d147528fd5c57b2a1bc54ed48059fd96b0f23dd25ccb29a1a6d214fc0f94d0e545c42b6b11383e5465a0b15e3193a195af1f26736c305f9f4b8d40cea400cfe279faaeee18512578a49149bd3fab2bab2646a27c209abfdea446d31648d54a2a20a9929cd82ab7fa5c8bd3bc030fc74103c1919d9c24a14c4abaa74d8eba1bc29e65195185583c312a4bb0a4609a05ca4a061df39168388cfe4ae166312999b272cb6d89ec007d0d2c098ad64cf404e2602721181de150954ee78c1b343f6a82938cadbdceee153ae9b5641c2f1db52914ce5440bcb291f15f8680465d702f05249dd33e80052afc073972b8019edabb7af28a689f62a559f95647bd3815741b72eb0dde48e0a6d966a6941334706400c2983b80d899adad794ae82dde9084bdb86de61076b23ac31f4a65be1e5bd2cef40d77873a93e14b61bc265aed20f64267f7fb1a4615cb31f94f19588b54efd2059a36e7f6e7b990b7d08110c0fb364a218eba755356cf910e22d2c1db68c23a2212a99723c058df21deb9f65b6b54b0dabe96ccaa5245836439e20b7cc51b193300f76ef3235a773d3a971467ed34147099a1d4dade9b4174b30df42eb5201014fd17b3715390081435bd0b1e16587d251f2bbe30e4234a4474388522b931490b7722dc811ee2997c6c8d33b8ac047871119d99ffc7761378fd6b5ab5b6ab21c0f977bcfc91ac791992a1ae8bd7a0faa31d17f21a9bdfa038385826a0df76671621cc326deaf4767861f89708964a1843d4399a41a294d76c3ea66126c1f6ee586760ce8e7e1b9be7ec2f7e471c2f967e8c8e70526578a43ec4e07a291ddf7ca90bf209b90018ce7249af03aa1bcc26be1abf5ae9a8b12e8c4199903a84a890b5dec5e5bcd6df6998e9c10fe2c08ca3b0df2e32cd88b1b18ab37838cc081d4baa70768c0520f6824eae0c5731ba9dc588c0df9970bf84593572415fc455013ee15c68bc3997514391b3cc765a42139cd2f68f53e937b8fda8d84dc767290825f1d1657cd4217bccb8371ea30b34c78a9fe944e66cc7f92e902c640d0eb9370a3ca6f401b0c35bd3c0331f3ef430885ae922a960d867f4ea5db6cf9e2189c3aed05bd992af68d0e6fd62f89cf235f92cb456ff25784982bb80183e86941b9da96c2c41226c0b05e33cdab323304c59acddf7614633dbdd8255268a0b681aab87a5e9b0f9cf0403455210fa331e19d44d71b79588f2df82ff9b297823a6f1cac04163d0bb4c3771fc915b7beb00ee86d828b1c6c9b262975049632e991fc8f15928f00defccc9b3c2882db5d14d6e1ccad9ac28bb8688a5e29251a9e982e297da21b5963207e564f614d04b8596ea86b459c21e9e93d95318338ba0c0b1d28d4880b0c4db7f564a06158a2da0905e0e3f9d8b559add8c15210b3d96670e184ace3225fc5dd2cc21f0bcdd940db253ea134780e3464524b4eddf8843d6653bab46130059d9fc02317a5b11e977de6fa4a84c5b0f8a57c92bfbf9bc0dd8bd4c40724c6381ca09fed1ec08c0f2738295841e5a474740506bec8f0a2aaefb29760e5f91499f1e88be711072331e9408aaec821dcaa8a1f5c03b8858b25348359c1440a63fdd85d339e8070be1e894139ebd2132c6157f4e35eb4394b9b42306b7c5f797098e33293c9bac96c21c27b2f9d0502bde71fecf69eff1233a1d3954ba7891dabf1b3a7cbe68573b7d9ee7838ab33a107dc4f4ffa3d37780e5e7827ee6d5d7288c918642051940388190acfcdfbe3ed5db4786329decd269f573d258eb7fffd6c2027a8b193228b6ae8284a791e6c5c87246ced0a5b656545027db81695eed5483526a44fed0130c3782f8268ec31b820d4cd698f64c66bfe7dc972463ccfd501d51bd72c3cf37eaccc6ddf51cc57dc871eb613d8b597076e91cc7f1a3708d4be34be31eb75cbb161e848b81da419702f24cd3e2a385a6035c8a1284a0b1cfdd9a89fb4abeced2e12767bcaf3d2f11e0df0d30f31b66ec6e48ed7a2689b53b0760a7206c05fda150e29fdaa80472c74283f1126c670eae8f467da37fbd07c0b16f1d0bb19f9724fafd7e57d0e9e1b735a331138a5fef660ed472caba5d26680ed8ba4a07ddad84699ee40dbba2fcbdeb51e80fad77c9b2a5e4aa3ef641f53926a59ab7c29ee6cfb9c1eb9c8179e00cb6fd3c76258a168d7025d158219e58717c2be3c5d0c4401220acce4a2204eac319f3190734f1aeb26534ac374868462883479801a0a62a9528a4b3d3146c6ca9a4836e57222f3ba120f6c0d64bc9fe26cfa56f0a79f1cca2245205ff3fb2f34edb3eab2f83f4fc5c3a360b20b8185520f8524ea4c9e05ebde40907ccf18662e96d03877419b4d8676abe3477b1a701a3d0e5822fda83425e7f0e28cff1b20de2a045096efd92388143fd98532feb6a0bc383f3814c41cda78000d1dc107ea45ea0c1fb00320ff9851b669d7bfa182e59ab07acd49e66ed89311981b5fe041f12386109577b40d051f73539552754ae3651e1f95c49c42fa4f0007298cf34af9ab9305b130e930adc726dd0445bcae7d2787f11d51dbd43f8f1ec88d2c47f7b23426c18ec16cc7f12f0ee520a60ade1a0d268cfcdaa1c32a54046facdf39d34fb9d6ab3218837ee1474b99932b2a10b760e26bbfe53ac73addef71df156d6a83a0956f473dd48972fc185c70eb2f5cb3721b267a4e2a2208f2f6830dd900c596a9eebd142fc34ce3bec76e01005803aefe92890818c6c422ce34acfe31690e79620959d19baf8367751951fd6ba2af236883ce7e6a064450563c81ab59e4b0f22a1c0ccb81a0b926ea9d5ee7faab1083b76936515b6a78ff8954a2f42e01e3945c906b8de205152aca8830feb796168de466839b4109dc3199c5eeff97a9956bbc1296809e56afb8d80a449d2791f32cce7fe4d5b9029e3908377dc130ca6f2a3cd124e7330d6dcc215630f9f5d3f81106574d27eda5676bc8806cadc21c296f60ea8cbd9ec212be4850f3d704d34fa12c7d976b041a667e89fe7f3ff689742f5ba556d1cac9156a834e83f64bd016cee107415c01d2430815cb80ed8a912ba6c7c5df6d3c935d179e0f2134e5873770aeb9de8cb5f95f692c80223a1c7fc072a69a002659810ac410eccc9e05e44bb86fef855fbc27121e2ce5323a80e0c6e13ee5fac3945d4a1661f29a9efa60bb65207f6b5f480d8e08da90bdaf6dbe0193bec091bff92d8bb93a76cdc9b946760a0d324b344f63c0385459bf57b37f0a98d7f90dadbf9537893b1a23a7e30fd548bd6853bd86eb13ab4fb4eff651e6abc11ea7b3fd784b78472c48b728968b9fefd456618b296b3bcdec57fc1e7cb1d9787efe3617da52938c129722204a4ded89fc4de889add3be859cb158cd700db0f41f18697530fe5f6b2ef618a2f541dc90eba8fe3dad3b8addd475f8fcf6c6da1037d9507347dd3950101a7e458e3ef74d773ebcbc80bd812281056d4c843707bcdd303000823867def2a778126ffe0d72c00e138e608a3bdd680cc01bad5a26ff7dad97bf7584bee51998d771c1e602c514980588368755c854f5cf585cc893b930d1e794cbf8e17d96d5a8e9278168cd758dcf7d773899317422069dcd06afe3b178d838f61181ba84e8f7c825061fa6fb3ef47f607c1d1665ca6d8f1435ac611476bc3674cdf04c65bb72fb5329af8aff4012d6a8785c512102b6e8007d46d06f63c33f6bb702a4e5f481c345e6d87e24ec969ebe34514105814a2537febe2c446eb34bde6fd1f577bbb3fd8dd33c786dbcb31b2e37e68078cddf02659d856ed2c41cfc13fd5eebe1c17667d0186408d91cb6b0119d1e83dcb597d83090d49d00e912b2f639ebd939ce21beadbf59a0b0a0f08dc05c970f18d79438addd1c3c41c7c5505a68a2896696566c2ca8ce34a7624fa1374c1f7df68a57d6edc0e15d7a6939e0d1ed06fd7617d812b0f9cd93d4ac5f14d33ca70cf722328fc946f65007c830dca87c17b5d5fa819972edb8c01826e677538b9f95588df6fdd0996591d2860966e6ba338ba630b03bdc6abf10c9dc1eaf3a35991dfd7e98fb8068abcc2821352a4ad1c186f2fabf6d123ae4b62827e2700eb27254586836163adc5cd8715ffb7e2d5680974cead154d0ca58f80bb433ce07befeaf81890d47a3e44acc17a046e058b114137610cbd2057fa2b1803dc6f6c94fb60115411d6e3dbf44eff64ba7421b6e55c5a49556cf80944934c4114d72b81459af1e31382cfb10f7d0046805944398bd09f0048fcbed8116a73fb160a6a99a75295252856b25498db04da2ffe4f040f8397c93885c53ec0938e1c65661e5377b07132af66e582e3fefd75dfcd8d0c5ad1e1fab1540eee69c132fe82a6c09641d0b22d013193182c63e289c928c0b3eb8e52e347193bf8212800a6877306f17520e5ce93c10cb1a7cdb284256b0364972c8b19cf8e3a0e3be56747bc89b13ce367b33ee9bc464d49869ff5c02b109d0425ee2f08fd7c5a4f3c218ffd66a51ae2051c7c072b403b256acf3ea28dc0303ef4637b3b16252eb1522eb2033aa6186e775c49258b6ec17850479d54b4b247ab8b661f101009eb3248875d5d2d2c2b7dcbb18bebec510be324c740de4014c8cc3363818546f8580479083086601f668a5c5b404c577a3fb6ca9959ba95dd375b47d1fda5052bf027d70066605d9290efadde270605dc0d4a1f0ab5df38d11f3887332d5a5a062267a2bb5aa1879680f32ab90cc66545d33624727eb4535b9268ad83c6fef1d2ac323f8a47505d3c471dc5a3f2617742b7da5b1f2897ef852c5873c850c124f1ab1987072602454d6b1d5bf086c97f6b46d470011e68f618b4074144c26e84dc750b73523064ce92d055e827bebfa7475995e2875d5b1c77fdc22c3f51ba3ddb46dd76433198125641a18c9b381d033a911277957233cea15db395a6d5ef275f5c43bb9fdae4c2fb304179b258ba93f2a7ee7375bc74ecd9d53812cc2fd4dceab049dcbf312c761db27798b237ed73c08e7a632734b33b655a19d15841062246590e6f05029fd65bf349419c07504f7218d2a12fd0d9d8c4de1ac931c7a8d3814d1a70e0588ce1db121ba8784262169b9076f3bf93b39d714e0a45e27a8b2385a2fb23d520505065c1de3418e9fb5234031a628d5362c46c141fa3e9aa028e8af81d4d27c11a6c615bbd224366583b6be5316b1490130b79b4a505dd09021888088df0744a1fa570cbba158583ed07924bca8e030d24f6b0953b087c075909651a0fd590b83a36e3d116252354ca8bcfd0e5be9c8307cf470a99c618a71362a67ba4f76b796d292ec229b155ab4343656e54b3d06444ce638c2e88151ecae476877bbf58092d9543e8e0ec3ca184c38900e9210e9beedc23d5e18d7fd17a648a299344bca2f9198590d35df6b9a118fa925ba5fe6763c650a1a08a624a707addd7ee4c6edaf62c896cf186d7d13d3110cf0aa15fbd4e3c0602604f9c79f8dddf7717a2239b432a3d211631709784580fa4f181e64e68bc4b161ef22dd18c2ec660ed8bc6d804a16097358f155b1a992f9a6e5d692ef956fdcc3c05ef76a89000e913da3ad8e6935ccc4fd3ab4fb2287397d42c16257cd310dba0532507c73b984c9572fddb6314d9f4ddb6f1dcf15803f5a9156f8b4751258b5ea5ffc6bebc1021a358de89e271b0fe444d4a3e695b7ad26939759e6100db6b886644a81eea5a384d76a43744e339c8d1b887d73671b2942fc641b8e46581df45a6edc3591f9d1b79bbe188309e80b5a6aed9ed29a608835a46a593a2d819471d0639a0f6bd2809f8f77587b9c82c5eb827a0313c49eb9d14a3f0df7b0bd908e0615d376cc16933476e53668e595fd994cff34dff459bf0e76810fbee64960fbe37a557c44b94f68c3b96755472feb3e544868ddc09518f73960f2eb4fc9e61e1e30b792ba14f7cbe6d021c2850e060364c811ba23285323680f4537f97feb1a9639c0e3ca966319cf9f371516f709e0a4cb172820a9d12c2972310bd34c951a12642dc6157aca9832eb465e4ac68e8e9382567b0af315b5193e3ac86f7f42b9ac33294d839ee25aebf6a40773aed860b15c21c7e41046a69eb7cc4949f8c1d8acb87219a96e65cffa6af1abca39c426fd5df4c39596b3471018219b755d7515489b2783f910c5737a7d0f0b5c78fc8437d0184dfc7f145f8b4ec816ac68f7fa65bc99f396488998204344d03ed952db8fe84b626c2a9e2966ff2f41499af6ea74d0704c6e675f836f9947f71e6bfd05447618bc40246ee58877048e1e0a6536fdb82320a3d6d433cb1d9bfd4a69ba3904447efba8ce6be59bef2aaae33fbc2b9fffc007e4d15bad7635f081e7853543604a1fb93d3c061654a43ce9e7693121487d65c4b0253efc697c0970799cc6f14be548b7544da2680ae342f063b6715354fc419f291bd77be4c107e5aa300e450d91156a5f0f5f980900b4e3374ef675297f1409437da45393ccf0953db79a310b08d250cdccf4e31704d85b64b8d9e87823c4574cc2c4d7c16323a37a560b514b9a31e1a049ae331afface80496ed4f98b53740d2d4201bf1c9dc0148c37ffddbd84e07b3b5f4436d20b3a25cceacf8f52e78eead1db4e72ef6e90ae4e1649a32a90722b38cf108b7dafa008fe83d2d2f54d71c52f22972e3b700030caafb2cbe3513036c8bebae7b7407cd41e8d05d34bd21c1a3364324524afb1defad87892247690c0826a4b84c714bc6fe290bdda60fe234ccebe4cacf864489cf7ae87f86cb0856a2ef6eb63635520444190e2d3167ce4c1c662e9d1c871f36ccdef8845c99000f73e5903481d796a30b9eb4533b1227272637cc1e1731a9690850fa62fd126869f68c4e455f3ed53f2af9cbc601b76e0f1ca180ecc0bb38b9eb57dcba18fe09f7d713ee1f5a72d2b27512af2f3f4603d1c8f9856efe523d0f58de155c001f3ec046260c84f3b54bc9ede90480dd5617303845857745ccd9065172f9f58e45b97af1342917b806c8a59125e243d5b660ba4f6f2fbf18d62ce06a262a877116103f8d2cf1b7954338ff184cc6e1f5c600d9a369245828b542abd790f6e2dfe1d224bc18073d28c7b60e7b2ba1e621be8c4c39c33514c9e96cb448cdc24d180665588b80d51cf0af77a3ea37b3c2ee83c0204a205c2d63cbcbb05cd6fd9a1ef0fc007139ad0394c3f79ee658a96c6d8086a6d3d3bffe3c0a1a75f00159ebafb600ffa9bee8f62d7f2657c1b6d386666be997c6451b61f3629352c94d5e51a45be0d3d0bf6209607e07e82a37ab04785a988e9a8e94eacc1c6c35028b62d5417c5af3a3cf7127449d2217d120861f787511653aec5089c013e77137513610395e6e86f056cf08d0cf01366e272f6c25f4edd02d20ded0c4ba6917d81a3645fe444d917393d7ff2ae816ddce5214376f20626e6175a7f96108680adecc11f6c4faba8344724c02a8ed707b06023f54231a853e269c3790e4c78ad26ee53432dcd47fd27a3347129eb2b163ef1525e6f40b9bf26725c96c85aa60b1df039cec5d83e5b7b6dae70c95d6a25920259ed0d01267c671bb24b9a62eb54b654955f2230a5e817bed7e210b1bcae2efd7d3cbf24af55342c1fd6f74acd68deef3d823031c740d98e6fa2cf1077bb527ddb851f02eb9e6fc6b91626047acc4cb37a0f7b623d254d5cd8c54212f618d3df4842ed12b90db1c7b661d9676e5a8be33a05a5fe680089aeccd2cd429bfde2693cfdedb71375295a2284cf30ec8f996350b8eabc32195f6292c1ed5605e479ca47cd6b75b71abf7ec81d809014e416fb403c404a1545090fe837492a50bc6f703477c13ea6af60c8be47c24fbd05a6835062036d7cf751199b9fa6c60bd32eb07ca31a00ae908cf5d01ae06929b445139cc971ff5bffca35ec163b33bc1c392e7c3e7a21a0e3182f01f0c3dc4d8aec06f7f98dab0845579fc5c0f177ae28f02ccc7885ee85b158f37d5621e7cf7557dff0f6f314bf12a7ef98105a19efadd50d24c5588bbcee0ac902e1775ef6cd977209986eb2e17201eea95ec6339c5eb9b86b240cf0ba1ddb3440886253ad9f81983065d81cefca40a9fdcff380f187e399eaa3440195f5e8ecc0df9cfe886e303051338c13245d3875e2cd284e7fc04f520e9f12784561721729e3a90d44f91d97e062cc0adea750af566c390c5718af6a08cbaf8045934e9431e9e16b218e823dbb7987bdab11020841f033b0c12e1be84d358c6777d742af052e15b47742991d9532d505ca447ab8c1da2ad531d55ed8c2f63b25e7ae29b92a4868ef278840b76f9466e0b107d5117468afc1955290f0049116d01ed114876afba08a766069ad6a6744200384d4422aa6e833ca8d06e7ec3f0239e90c9045495abfa7d16d704ce08e1dac2657c915be94a2c75ab0771ea1a1e29c430748f9ff1edd9553a2136a2f7d4e49666365d05018670299a61a3afb52aaccecd88a6b72f1b5741473a087677c07eed78279388e2d2f35b74f3b94928e808ea0cdab8e9d701f544cd4d24f08d5c19781f99c75d2aaeb6a354e91d95b00a57e717d67fc4c2c7784d1b9f7b7e3fec308693911e80dc96e349417fa0f61254ddcbfac91e101739ed28f56cf8e6c4bfe9882742efc00588cd4c0214068d098094ef02a29dd201b48d7f039aa03c7e792c6ae76a6491b120f476ace35dc5a83ad7294294c17e119699ff5f603efb5f943128d4d90730a78701b0e8b6371becf325e0f74bd01ffddd3e12a63c1862d0a263107df0dcde6ef9243ddae035aa00af15be82fe2acbec7ca8e8296e0db4d28cad0cf75b2158b14b979776ee3182f512c00810cb3c9a6df0a9f207f791dba229f94949039a1e40bbab35cc99cf2c9c09aacee5513bf127efa000e965678e800bd893d28bbf68223f3de6058c28c10efd4a1edc242bd010c47a5448e278ebb9105227b00385e81e1bd8b0eb35b30870b76d54fc8e5132b6fa0c6aa709f5a53e09f295c73f7f5793d592863032f5e9668bba91fa6c2c43365f16c228c2da962e3e3f400c4607b2be33daf8c7d58e01c434443f14a6b901d71ed3aade5e6f0d4bc8ca8d0a1ac862e0d55ae0751f35a98ddb22e6ebc795760c05e7056428ada720c27b70c2d7c79ea2d8bc0cb80b312de3b2888d54b01cd4ee2aebf10835ebd733b71e2c92700f7fe1c4bda7b91b34fb843c501d956ebb38e4aea0283e678bd23acfd4f4c61aba386431ec23ec7cc37b1081f0fd3c871cc1487bc4dda85f82e0c1ef34b3558e6a7320a5e76c09938708adbae7313910bf5d6348ec990e1248d9307729471c729d089486a79657a8bcf725663978cbc2017ea031cc5f51d779f52b3521cc5e86b5546a4ea4fe16b331afcf5fbeff4583f07afe420ab8beaf9c173daecfbc272255343da1b48737affc2c338cb38e0ccedabfad17d50f1f5963ab00bf075afe51f1172c3952822a3cc2990c8243b7ee16400a6098ca26cbfd8c681a098fc2f43aae581f530370b20c195f7071a2d87bdf694ee5e5060360e86188906aa221b87d93f472d776552555985aa38d6bed07752052e1cd94a773e3a194729d02673160411b19b42daf4472e71c5fe2b39025a59f99eef7a9f16083f3e82f90d668e6002708252fe940bbadb9effd220ef20cf1f9f457a7fd9c803a6f7d6ae954b5c95434658e60356f804281b35062fedc7bd5154a0693f76b4b7ac70045366bdc153a3d313ca3d178dcd6c925ddfa53f401b061d86527a061b9ef50793c5ca9d02bf5052db549924a7fee1961edacae4eeef1618a5450887a21ecf832f63288d2361ca83926e89f95000ca876a01ea536fd5068b872e951788c843809b90866d91d0a3d9852ef0ee0b225ba4958811c4947fa1eb727498c8d17367a9d43373b6aa9798f821b13dcf10d396b62e9b478d13dc2603ec38df2456b05f87371fc6f7ae6076e84d4f2eaa16b226a3509de92e695316dfa3478b964f71ee3ed35f8f80c9635a7f751097d9c6a10198d469ed7764d1fb2adfac14b3c200c722409f28a8156651df34e3c827331d9525e48affc676411a114e8c857f0cfaa5b1e4c4c3f89e298c82698060c455aced48298a0b9ab9a709ea9914886de1251d1f09e27bf25184cd1cefc6e0a52c0b88e157801ed42c029ba089746ac7bb8f6cb2d851de6ed10dfcc40e20965326c2d8766d4f1a69cdb9a5f05272f4c9cc0857afea4656b2d06443b790c9b8f95f5fcd21ce3655661989bb28cb5db54b55634be73728d787dc1f8da11e15a5101c992903c6b36cb66f660d797cf9226b66b255e5846f1d6f0795d2f808586f2ea8a59c20f080b001ee23d5370824cc264463cee3438adaab9ecd5ff68c17fcb3ad7f69dfe4e61073dbeed204834069b492d0533479aecd422b2e1f1272ed4f58d172c6392c0ebf4c81d189a474f925233150a02c0fccfb12f9c9c4079960388b98ea75a4bc2f42683d14189362f27003b6dbf7ca64736911718f24474e3a7727eab233f0557922111519e3545c9d2ea539c03944981028f10221ea7f4ebdb4c0b18e4a8e2a9897af8a66453d92dd1bdea54df75d8e5a14f79c3015ab567a07bf1aab934bf63e94ecf58738085eb735550a901ab44eaff79bf3d3f94b8fca544f4467d20b15cb23b005d642978165719732d4142d8201cd46157a20e1b5b9fa9dda213b9cd27570efc07cb8fb99982e6256a483c8d3d2ca92340e723391392a0b95e60ad80d8056dabfdaabb39ca9380eb2e207547559ddadfc7ffcbd03333f9bb6ae00eb4eadcd1da6348cc4df8f0886b2f9b2919202f5d195e7501841543407ac8011de6342d2c86250e28288d2807650af41a59145342dde04b17f4df7bad90ee4e893a3027db7ca1292a9906468e915134a3b6de4f04bf3a7107e127dd0ddf0ddda0c9194beabc82a91668ea7dfdd0449fc21d0092674135df3f315c20e7271226f5b69703a889b19e9ec8ce0ba8f95e3a91930da289cb21432777dcc32062de54e47c031c97301fb63b320bcbc49b94efd151380736b03d47276142fd4c47d65c578a652459b5772f8956d05720a6c24028beb51d5dfe5153e94fe8277f61313cc3f9c619f773241e45c792d8487c03a8d32afb1b0e5ef71bd1a5691b886f0beada1a62765feb7d6a17a07e49a02ecb95b9de508e856893f2162ce51e1c0e192714fda4ec238fc089abecb6a52b1c42a9999b5028cc6bffe89f25d153c0b689c15aa95a5fbe775e37934b90aaf62cb7a070a3ddd1de19b4b2cdca91a0bd478b970758e44a5c4e21abf21384a73c0492cccd2726ba2a718e834fcc3d41f9bb7e1bb5711bfbecee5343716abed3737d4a047a1c21296b8c149ca2f38afc6b99a2d9922119aa463c012de4e25e8e8c246cc2324c60ea784c70f5ab2866147913f7be8c720612c226ab7b3710b881b385403f08b8c6b58af80977bf26f4d1bc9d6ebb137245acf95650449364daa16545670151008f2b175200121c7f0a82f393b4bcb23c2bb690a5c98d74ae2b334c675e4351728283c5d34fddef5175cacb87c30b52402debc41553027862e73ddd920d0efd34d41fad839001b1d3d999839a9300ddb00d05e7ea8bd809bd6259af6cb020b0940d8f9d7ddbdb6722b7b22f15f085f46a122716e4cee42e6be28f3d476e4b4d4707cb16827e0560527b65b0f0c22dcc936001d76e1014a8004684ec9361152b7d4e88e6c766fa95490b01ae35f9a3af0b269f780f6f738153f2ed03655192773a3b71e7a7fc96f5666233e42a1ea621d54e593653ad4b4dbd7dfc7e0c43a54011e0b3587c84aa3c5077ad0389c9ae6e8cd6b2ecae49d9b3810f407af8539fee08f8df7669c5f51db6338c4ba5c7e69dbf318920583ab686b2f586f061e7a188de26c28bbf3c7dd8242d61826097c02393fe80d0424dac7855b68b168428be54026e42d8f4e5fae8f979502830de46689e032d1e67a1465eb05db3dd95f4fa2543879a8ddad9b8be0e5c761c995353abb86309347e885975359658b08742e6903d9f79a6fbdb137ac2d3b11fa026afb3489a46770eb55fc2bb39b6cb00db764779b9ce44761a0f7f936d42db43056860ef5e38ccde00b6374016abd6e9231ae6c0862327ba341a2a390ff46be7c7b03ba31966e5a30d2aa4a07b5ae7745d0b32cbf342fac89dec4890458350a5380596c691ecfb43cae8fb2f0b4c083e8007028394377e018984310538420ffed447597b216334a2d866d131c86f07d9026d9b60f16354908219b6cb9a59429a514c906cb06c006fddea2b4a61f7634e5ad1c2e41376f4121be110672f2824706a29d18e11aff05afbc04101d85c962313aa19f4702016af770b5da84daaf19616c72964d6cb21848d6bf1048e36eeeeee6e66a839551caa8a406be9a6e32c794236650f9e9378f08daa86ae888208ee8f9811a436d67fcb3f5e1bf27cde1330cd265eb399f6290adcdc9d0589f26e0b1d951dddd8441e0c70a3bc841667d966be1849348d9031f288b959d12e1729ba332e602e34a19b36dedfbc42812a68a94900fb02e9b8056ed39bb2fabeceded3d5f44652c107fe256b608a0c8cc3c7786a7454211b51b88054e8c70651468bbbbbb3055302c85f902840cf8d959088a05e24c7890fb1657789ac699344d9351bf1e755f557afe6c9977b22a779f8a3fad32f7f18d5d3eed625de44cadead63e67eb639fd709e93289b7631e61c7ae9740f77677f776f71908edb8bbbbbbbbf7fbf314f776f71d77e99a7befec8c7f84226327c46b602704298f7fbfe3d11dbafb143ca0d00a8d8a60112c8219837ed3a74e4e62220ea3b617b5b37cb028e9e32db5d5d06915d46e242b8a7c76a6658519837e70a7b7804645ed512ae8d74e7c7c3a88fde13e5960513b69274c8a7a27b6502fe94d82615b5b64677840a15dc7a0940a9dc18ed7f0dcd9e1de11da1f53f607d63b2c54c3ce74ef38a11fcf807b07eb7a6776fd3742ba52e7d56f85bebb869f75b39b428fc9f00e0d183168c466c094ca0cb2a000a3411c2aa2016bd245d47282ae8bd9801e7e84c033a48587367e78c1a11f36f8a70c236e810f7c72030e3b527648081aead9199a1287aa38410b7ec0688113d15477e8478b1f2b660d3edd1886619ccd16d39d992fac8b317a3fdddbdbdbdb09ffd7a28e233967d231092d8613368613baaa305ff297052184106a317e0af325bbe92dba33104208674fdae34e7850bf169daeede986232564c2b90fbc81a67577d7ddee5e8f60681a8bbbeeee367984324c5329385f6ca0fcf4c5067fe8419ae69206e567f9130d2746bbbb9f681e214b96d089283127b01965925166623e05e1247f2f82b6ceccccec6a5edf992449626a88a12186869824313a313baa376294c05449010a4e403f558c922d26897cd60e03f4601f2e0ca230211fb196f69a8ceec140d88bf5d1cf061a5fec4cf760a39d816962b651dbc8c82863fe626b5c2c846d0d7a46e5315cae9d69c205b9a033f29059791ab1d10d46ee0ba18e1b18860961c50a0d22a2f82122c82302e85942f57b178f9429930eb83fdc9d4f7563eaf230c10f02614e12e838e6689a6577009c82380f76a6747bafe8a50891b52d26a3621f0d5941a0bb8c0c864989adca379771a18cdb6eb07a3665dc76db1ad22cf5b8c1d48042c83f3546d895cc1842c94bf954de50bdcab7798094524a4e88306617b48b9f3b24c4931b20e0c4677b1244554f58503ffa5a6c3d6c2a4d5c65c19343e7490d2b33684cdda121d800024d7ac010483ff430049327dac4dcdd679d3df789a0117ff69f348f6a2cca5e73b8425e33b7153f1aa0467fedc6e8dd8e32823fe3207754e36bf104011cd591da8b1cffa64f2ba0fb7ac19ef8b06787c75bf1310c024126866a7c7804d1e89a9822f8044a8ddf7385d6a0a6a135fe07798b587a3246fd201910f6409f9ff8b18ba8f0490cf29d8f0f75e2eb54ef1403ac9ff7136d76267e0a68fc09e3978a260eb4f853e3c8ed4bd3da24b5a127b6a8d86b6fc24a3308ca428743e4a70f688f616ed2bec469a552a9a4ad2c71f2b5c81d89ffdedad786856e7bdd575a11d937bda943f2f25afaa6a4922b0d51ff6fc2ce7414afc080b2f7e99ef9cf2c8371182c4c3ba7cb84a6f978b6679eb1b053882d55a1f071bcee6efc97f3ddddac0497fb68e99d83614b2eaf397132c023c888b2a566d8ff0bf7717d794d889008630456d5fb6b2a4e487b38ae50d509aa4e088cbf27376d413fe639c2afd33ff6d2944c1dca3b3afc849e9ee3f76b6d326dc13cfbc300b5e5ab63be9f7fbc46e67bdb289d3595fa9ba6d970748e57bd732a550eee33026b8e57fd9e82e8784df5ab52a95e0707c37642545b3771fc3ca180e3f73481972ffd4d6f1cac38b8150aa5f7f7ee032f5ffaad7b22827a996e8623f259f0962aa65b11e18ff9980e897cfe7d7977d3415098ef2c6b1faa8addec963fdcf76e6e75e1289731cff71ce556f007e02385e8c4b96e9ac6bf74aa00f6c61b6fa80181f9d84d7bfd26c8003bc9c15ca19fabf646afa4b144fdd887e5f21a6ae3f29a7d358ed684c70c2eaa53413f0fa87364e738f64204a63cf0034cb0699b1ed06f8b26ddb686d06dd0f120b8135342a0df16b198bd842d3db21e179fea8c83d32f2d0cfa6d9123d9b84ca12d4b63da82a6f920142d4de30fa1344dfc86423723274c9628a93848496d82eb0b05ddf8dd6110d4e80829292a116db8a0ee6948aabea7a12d4ba503fd687d6a815d4e88d7a0fef4bf62d448390c6c2be630a3c61eaa3fabb02d7a832250dc6b5bf14fdc15530b244c1c02b6155ffb5123951aa5a8fe5c01acceee003b13114081ea4f7ddb0e508152c6b9d42882ea70e784cf9eb7adf94be335a78f8fb150e1f3c2855b7b4d55ed751473628d9d81844410a220b106102ec83099c66c9add9d34fe7634e5dddcc73386dd1923583d616bdd1e3434c82edb823f1dfaafb37faac29701eb6dc1de1fab2158f5c7aa3f0a291464f50e867da3ca8e770696a076f3e0a92a0574a32a4a6fe862625434175591513ffa908859b5679f139b73c618630058fe87958061cd114220b497e4785b10f2be985909f51aedf7e47a6f9d38ea2d5337775cdb729b4f4895bf2dffccabeeaacecfa709a4b6ad85ca6aafa3697b39b710d6108b25621d314022caf60312454021c8c0453484440f48ec54a1ed6b618e2628ad3b14650738de8862e482b06b60b798e8b3f948e8d14aa1bc1487e32d6f65dcf456ad9f54a6126c7ab44c80d56b446d3dbc37008a93af691fa38c5a446d3d1af26f260e56876f92ef2e5d9ab8ad7e5a159d32b3c47936986fbbedd6db6e5b430823c4bac29c0861dae8ffcaccecebee0c1d4208ddb5649563b884e6a20721849f575b8677977e5ddd6560a4998c4a34ad1b4287494838de3292dddd726244ddd19477b7f3cc4142884d6c066f4ac8d222d38fa9a63115312cce26a0c4621351b63c4a8d4b132b52b1873236d1840906dab262f45f2f3e7c122caa313715699cae29fd7e8de94b40bd7c4a42d309e401de8491453b455393d2ef142d52e75389f21ee0798c453887ac8f7ed9759325f785783627eeb735dfdb4a1e0b35d678deea68e2a8b6f197b89d4366911a6307713caf59a15b3da4570b0ab38b4c462a2142a28c986b34985408959fe6505d2af3b33cd75014177c7db8343b2afc511dca16de4d3b0c2843ae14944481c60f6ec033c410b00a1414f4bc6f8fff0a0c8c02d093048336aad08fb284a0b9a28d4917c3b202e805907c81183d7e145fe0460d73ce39b948829b6405bc134ea31e239f6e6dfda6a44330e8b16162277871b44529fa2c08a4cd311d472071c587283616f8a085910f61641d17e9e8e8e030e4c3194a76624875adc8c253e522552726b052fa6c8715cadc35270c8b41be9159a1f6266cbe695d2538461b6b6c6627234e907a6b3d1df39fd57072a5df5356c2320ceb268ceb6367a016dab2bee51eb22df83fa01ea950f684ec0cdc5199030d730675a185f684e8370b003f015b63f2e093e063699a3df6626f8d695bfdf0b5a5293dfcd4d2c48750352b64de2dc58d1f2baf70b06e051930924852c65669838fbfc6350ed1a979a9d47de0a402ad92fb80fcf818c792fb3e851bbfe958f281ee6fcdfa4f97d7f0bbc72a54d6fe25bec0c28221b05c01041c25fdfcd26789b62c8d4bbf85b7d09fd8c32d5ed345bc85cb79652b645ffafe52e955dd1198239348ccab60fee5551dddcd79a1508f6aa3add2efefa2f670ec80f66fd1469a0bd77537de72f9158e0b4af52b22acea56ddad3000f3aa27e202f3aa77e956fd387e7b22aa6e4504e65d1ee65dba1591d3cbfce9655ed5ad52c0f1dbafba2382e3b71591558edf574cb7ea8ff99cd74ba7fa988f32ffc82afe0afe8baa5bc95ff5ab66b782cb91d49b6c60b74a212606f52f8fc4d41d7179cb3fd5151179f9d4a73a24a80e675fb28b61059747bd0afbf25af54452afea90445941f5a64782ea8e3c1193aa6b615ffbca797d2ba4facfb503e665dee5f785faef75fcbe5cba15111924a797f9d3ab38d4bb70dac770a97fe14ccfa7150e8e57615f389e88ccafbac3d99e0599cfb1e2f1392f1c38be3b1285477704c7c368abd5e3c0f12f8f2409098eaec8cbaf9ec78f90c4a35b6fad3ad6f196ea777cccbffcc73a31af7a0cbcfc8e6e85a352ad88f0cbe5f9e5f237bde2f695835bf5af3ee7b571abee5638db9f7ed51dd9fef439faf725f35a0eee48941572fcd61d89a2c2be942089b2c2f6a647b2de4a3d92ad631ecff1ab1f2169d5f98ce00645bd8e4fbde93ff6a99e7ad463c0f43a562aec0bf537cd2f1c1cbf648086a290907f51f704111515751111511151ecb44023a3a0a0e9937e8c0ae6c585a64edc7b2b6a1c7dc1ebd998a9c475cf0ca25baa7fb351b4a569bc7bbe173c9747489dd434de3ed5bf83bc66c5478cd44747d53b898df6fc9d931872938310930fa17c18b959a1dc2cdb6185c2fac1d310f9581775b01c09554668cbd2d6f49a9b60da28a9413f57c5b015ba798090a6d11ea3d8ece8ce60b3a4191131e7de5b18b6c30aed16f6b3830102fd5c345b7a57d3941e96b41267fa3d69a6f9def9aca5f95e237ffe9c3fbbef05afce5f6d72730774fe7c145675fe628f61d84fda1ef62c4c8b163de8ee49ea9e26a391faa83db83fbc6718b0421f233a9728c29ac83001841726802af6d810136654ece52908c657a858a28b2871f0d9a12596c023cdbf56dd1fadeaef8177617f70654689b147984ef7f0558921684830dc91c417152af1a4c2a75089252a842e3b30d016d555e14f2549086dbc069d53ce29a50d1c6293254d98601448c912273e403c4b809ca800851f828060b0439324149a6c018a82054e909c24f5d6c416594a830a104eaea0aa17e8d0014d49b13a02cb8a0574d6602b02e28b1c404084a1a3ee900fcf91b6cbf13ff7eeeedddddddedd5fbbd542ebee03b0cb556c106ddadd6de8db5998dbb7bb83d07621ece6cb197479dff779777b970addff609133db80bf4ecc37fa6e47deb6393f00dea6c891889ca02572b2446238efee46292b6498993a086d07168a2381f6a090f69a899681baaceacfa30acacbbdc0aaeb6e8c40550547166074b0a90b39ee689b003ae1eed2f6208410428e2b84d0bb154e77a7ca9587a0cda6314db6824713bacfd19db3ca58b4dd08f7086301426c62980d9cdcce60188641d871b69f75de5ccd21367dbb4ef584df6716ccbc0d85ba07e197ceeecb7666d9c49899b7815ecaa0fbbceebbfb6477a54f0a9cbbcfa5fbc7de364a31acfbe04b1800ff6df7e64ac039b104ec2dd44e534b9d930182eefb0bae0a773d0710bec6cbbb0bf725747892404efd62ed2a6ab0ded973c66d8b703b9bcaf5a6fd090d2b651886618fcdf9f135c971fe36ae1d0d4e77c730c75c628b61dd17a31b891b74837285b0bda5b0bb099999073d277d29b73a7b9f507edec159072cc2eeaebbb7080c0fe58e124ae60891703a93e2e1fedcb81f2bb0dd07a2bbcfba3dd05ecea02a2a8040f9a1162a74bdf907064192c0071ed57d150ca8bf008f2a3fe4a1147c77efa40c10d41f46fa72d82ad0dc7d0716ea3812682f0a696f6b661be9b8b0a309e5ff58d50525cd843aa14e43987c342c19635996655996652c9fb152b73bc3d089ace50f4cd00577c1592e9c7e53cf3c75f7bbaf04e6e72e06f6417146ec13faa78d7bb0e8293d1529f83464a7f0901532e1d8d8b85c9ef7bf652ffd3444eb7667b2e79a75d2f3804a2dddc0e4aeecd961125208612c653bc3d3b3301df1fd4f20b23986d59054f54f55234600df08ac46e8c08e7a6bddddbf9508e1089af855fff2a59fbce3c97790b7e4cf49e9b675105210e64439baadc331633a5507d3bd744e94925a579244ec447e05a3a8d0f898e61dc440baf324f61183fdc19dfb6067e4cb2406f2a253e5bb0ff6c75624afe99d9d9dd4fb94ce935ef6d039511d3d6ddfcb54077b76463e51234d4ab7375a113999e49e382426383dea8fa0ba151113eac8e9511df5d6a9cb79798b57f23d292909fbe19f1ffee19f19b66cd9b265cb16edd76b326c897ae44fadfb262dc92da94ae9495ba00edc813cb007884aa7eeb76703fa3552958fd4343d3ef2fd47be030531f4f11c1961b6f0aa9692524a39e79c4d5cb17265abfcd874828a25d0d02abf7c8279b2942a7f0ca282831c20140df8c2634005aaf2f79c5a73dcee64e6293e58a2ce6d4eac9bdd9e41b9c6aefba877dfd682a2daddf72f377dd3357332ca0a6dc7ef60086143ee3355ef280cce5e84b62c6dfba77f7efaa77ffae13f7cf762e725f633ebd1a37e0e749ad344a9b66d2a1f8a49df612058e747ecc386fd213b176367e0c30eeeec0c7c2ad4dfc8e7a474dbfeb76c21222222222222e21eeee11eee716166746ed822c545b299199d1b266d26a5db430170718494b405eac01d070af29a9c177c171282ef450c79649b86a0e33110ef0ab0453a3a5b24f1da21134ae8f19976b0aaa91b02a51022ba75463caf1992655f2e9b9de9198ae880b20ee4418bc1c8acfb33bcd67b82808c17f4b3c171794b3e04760ca103eb5053785dde5ae6b141be06a454f75d2e06d2dd9d10f6215fbe8efdc15d0476469a5c5ef358ea531ceb784bfee635a84e88b7e49fe63451aa6d5b4962727633784bfe4def106281c8306b86bd51049d8a12daca5c5667d6492b687cb8a570c2997fd3d2a84af95947db93ff6285cee92d1bd09b96cf2363144f5555744e8059c9c2061fa49452bae138484912820c3029639c587587a44c5169dd212952d4d0b8292d3dc31d4d335f2b65132ea7daa2120edf5ba075777773fbac5fb89e05e437bcf7ac7f3672184a82569a24c9810422216a9059f1618b8e1591a889141c32292fb081b599408a10f5fb29529c0041ca0a3c294c5c5292f8a0f12feba332ac1ec1e1ec896158a93b3667ea4e1f125334651a56c2e647768fa22d8b3585c2e73f3df58527d4e9843a9d4e270cfa4ec37ecf314d01658caf7149b43f41d87d2fb84c7fd3272ee334ed2157ea34ce64fa1b87d86b1cd6e3593576230c81a62a1601bb31ee14da11ca0f97eed6d4ec4a29655c81bea094b13302eeefc0bd66d7bb940cb0c26ed7f7bbee016ca0c900c51bcdcd38b4028472d8a2b2ced7d484807e403eebd44f7e7fd715ca818cca75df4f15601aeabec6a720ab1939253bf3153f7bc8edcc570956689d57fc8c4381cd0bfeee8f4f0658b15f0d619f8a75bea7d5ec70e06f5d81bef6c7377f35a454670743aa629d11f1b78beaaa5fcefe8d7facc33a352e08283fd7d6c229b4545d211becd46d87b69b8337c7c1cdcd0a63a24ac2602fd325a3a59486329d4e2694962ad1cc65be60305215636077cb98ba1b47730e67f71c26a9e38465851f04210735783843092ab0c82209982c8678c8a28b97261d6802072ac2d8010a8290c05203981d34f12a6678710310175e5871250b1d992c7af821077e561a4db3f0a7d41582eece0ee85e21cf73b96c6c56c8013d543419770aaf90cd02eaba56fed78aee7a1611580ca592f4804414218cd81883070b1a28a145b1031637a47630810f805862460eaafc50c51559a070b0c37bcffa376d2105183a10e3091918bd302b583481d283f5e0050b1a6ce8629f05c518f57b5769479b4d733491d6685b0b812074770eba414e6c6290fb6dc5c81da19ba12debeba4fdb19393768b986839880bfafdfe1011c139c3dc24b80361f4e8ceed514687581a41412d5d321910468fdea709942aec220f4c0e1042082184457b6aa22d8b7ba77796348dfcf8eda47d9a85fd01591841d7ecb6fcf807e6a1f20d753949dd27c1d6705010b68cfd0b6c0df334ed3e5a5454b47306070571505063be5e8ff8a8f66b3a20f9901444ede6ded101c5fea62bd64bda6b26bd93a5c826f90d4eb7f00d645ac15395e906ba5115a539524cb10610a8d839aac28d17463444114bba981a55c1d41d82a2a87ef4610d5b56050a2d39f4a0810d3f986870258907833cf0d450aa220b1e2479ef596f258c9d1d362884a028e28a56a4a4059ddf3110d0f6022a44dd26759f77d8ad06186c84e2b6ed3ef57016fa73912227145255b2c0f10c93819c00314f1545e6747718971b351f87c79f79b82a3710a18c3538252de81007c2817eccc3db2fa43591a46980634e2db781f79a13b97fa0ede31c614847dbd36d7a4273768425599a1fe7df78864dcc8b12aac0782144937a64201d794b2464c8fabb177b1446194799cb518e23a3c993492952a4c815dafeb2b4139123b990bb4fe6e3837279d4a752a918e39fb02dd47d17eee3eaf2911b61082eebc2e5d4a5a887a8bff114b7ed9d4ef27ddb0e7690ab0a8c851feff0c36b2dd1011650a7b4909780b38945eb3f71fda7df5390d3f6a713eab5ed46a150a86fee335514aa33b577fa4c753a9d38d80f5d4dd3f0b7fe7b4dd3255407d275bf48f6032d6941b7663f544d9ac470630461d0d47fbdd3fdb5bb9d611853ffb9cfcb4ffad2edb67a379d8c899ea6e9253c4e9ac667d5dd3b51952b92700348e7e5cf49ec8fe5b601fbf21fc032605ffe23ac09fb729b221ce81a363242e3fbb3699e2336d5adb09f6f657dca3a149e44f5779d39bb52e935eecba99a8642fd095b519f5323d728d3efa9db54fa58fa1bd738366aafd4b196f68e7a3a92b7fff8cefe98efdf354c1da80f3e4247547f8dd26d7b76779f9f31f5d6bf6f28948a668c0ab4aac34403fd3ccfcbb891f87757284af6c13fb73dc93075dbb3118242ae9d897577a64d3e6ce5fd99687f7818eecf3edef94cf9397572dfd709eb7c871cec817dc09eb844db5e9c3a3a1056a19fe71da0fa02764a4d324349cff72ccbb26fa1621937c210644ec53823b1ca4eb28f596ddc8455a308efc03af0d62c37d77002263c5098408ca03574f4048d014650169da0a12b9a6a8d5e83f2c3a7ddddcd86369b864e77082174776fdf205469a1fcebee0e2184ecdeb937126d076d364d773751b62e22e057cf9c338889c5584b490a9ac53e9e82603d35478d91064129a8d0c3818a0e4569aca1b304b4828b4c15836da3c687ed72bdb4f0f880831957a8e0882ad258e26463f341cec625ffa6b76b23ba753e41468d0f2315f30573c227866a80b3881d6fed7c024b0a8800f2d6ce6802348260528328c215dfdd3d460823333b15284e8851842c3d7042680505a575879c0072e2076be9f0336166397a54af8545c298d73159ca4e2ca637ecaaecd53ce497cf474f5b7024f7484f4122ca4dd8c314ea2401c9f5665bfe26e764843a272cb1636beedebce3ca4277e89365593627664509754de8e7cf5c9887115c862617468710425f08bd0190657777775950c208e15c09fb87f2af8c984b0e30629874776fc1398359c9619432c2a2f53ccf93a7215fdddd7914c183bd50a12d0b460c93d8ce98c1ace425cdb44236ae9a75d6d278e60921ea66215ec34e8a9ed48672b4480c802cbce33cdf360f5b22e973a87e3b2a0ff334fff020029b1827b9f8a02d6be166d9e7295b83e3aded588d6df507a1b6110d7be45d43f36ca1b4a834cef724a96466060000000000f314000020100a0704028150241ed26551fc14800c728a3c7e5e3a9947b32c485118648c31861042880180100360a46a861c4179b14fa864d50132493a4503eaea579a585f90c57e250f8b3588ec1007ea1294e8db1442515f12e9aa45bd8a8da339ae6b8ab4ef96e247f517689b8bb18c45f91902bde1a1b366f927971bca1170c62a4f3b508b2f7f23b6ed41ef67231d25785883f2407a7f390e473ebda466028d8550382f565ec08c49333d77ce4acf9f3f59ad04546e42b027951703e1226a72ed75fe93204d99985251852cdd5613bf39043862f53e8f07a50c93595cedf3b005b9f1b036bcdf3eaab6cf68e753cc2a9df94fb8e04346bbe1322b52ae19b9c9d9052a7add3d5ac2afa2b4cfc367fa0965803a209095abdd2a8f04d6aae26334dbf72451efdf79bf99bf830d8d1a64087e04702580520549d3b75714ce2760e25908b8368f51105515a78d3f8bf0cc6f7b517ff6d564daf003209fde0838c8b548c3f2576342eaa23a045d1f06c4ff7abc15e53d837f24474c329c1302fcda83812bd4d26120bf6cdf61573c169f75f1fee3c316356f039d30568145775bd0db8629e1481906ce6c71670bd10b81124c7cd942eded4012c24a02f9eaafc813640896aadc49fc6164009ef3ccd92f1d9620af0325dee609a1e30108802bfebcb51dc82286832f3c89089fbb6fa52946ba022a4c1011b2a5fb5e07abf7c102db2b74f81c96f6e51e90f38cdf7cf82ac130662ba12c9917e3d2d08cf6c6574f5c3919699c14e0bc871bc4e2473bd2089f22766ac190468fe68ca4ef375b78a828ebdad3652824d0e0861831c24c32ec2a37846b4dacac80961964ccfeae2c18c553178930e2e6f1af8a1dfc1c3f337a774344563104d0519bd42ddb5af9dd9afee993a0f85d8595d9e4dd28ed35cfe08b28452a22548efc7975c7465f7b276523cc392186c4498b1be0dc4643232f344a1ff3038d1724f7b8038dfa25079d78c7a55d2d10e5c1d47326eb047f322387ce84dabd450453de82d401977d1b27a9e1431792bafac003d0a0cfdb0d354eb2e0ce5c8900b5d84f6161ac292dd5fc0e9b04e54609ecc6713aa1067047242cc6ca4acc4310fd40990def70cd14f3030c781547ba0c1a813d7370d3f4bb99d0469eb1d05b435ee601837f4b364e66c3b034556288a88935925855bd6b033d300cefb491b4f7c55fb5b1f6a6cb3d71811232ca8e6fd261a1be6627c10493ec44c01732f2fa26643904b765e481271090760a0450d87bae03dd403fe69cd02c1b1dd24d44f18052e4d5d61263e0f0706d3e16efff8c7a4dbc1ca3d7dfa678c94018b7fb026e1c35ee3f09a86485cdb73f3a1713cc25a170029115191aa26b74f3f51b9782c8f9563a25d0192f82b7ed0057a2781cd590fc147ceda3f03a7845681997cddb4c6401cdb1d9e1f42375eeda8047cfc5bd12c9429b1f1a84f4a45597df46572489dae62a65baee7042da73d443009bfcc4296556914b051fc1f072844d4e5005cf906e26a75a5a4fc46b92ae5a66f45ad733f1833ab71f9c6986be970c3bd5ea7cadd34645da39a85b51257454b88b4b1cf23f52922bb95fa2fb4ddea73cc01a6b22fdf7be347f34d2fb66258cee772ca5ad2451297ce0bc9c09e802c8af545ff95becb042137a02c62245d1e3e676abb03b882d5f08dfb778ba339dff76b0c7f3712e88aa5e11f87c4bd32dd299a614a12c0a240bb45a67b0310161f984a9e8fe6081ab7ea18a18f9ece605821f127ad7f008bf6bd60061d80983dbec58b848bdc1980579ce0ee39dd154172607d381c1c098d0db5281f5fd7088af186850c7a05c7b99c75ccfdcb7a3c4f1a6561bf2d6dec4a82350718ab388d94bdfa15a96d38834da4a67f9949e55727513ae302e854a61562213f2680d7463b50c0f1b50acf4f565cfe0982249550c449e9f541931ca179e16055886c603c20f7dd74c7be6fcafedbe5adcf549d80269820895a4592b4d43d54e83310e736531d73e206ab37c965d5ec7b778a12f783c290fb8212a2b826f51608fa81ba72a81dbe798242c3e08465a44329d64140c1925aa007d53ae994e006afd8dd29053ea3e537aea7b50f2d5a5148a85c6a10212a0882ebf31d0518c1acb90cfef9040b0a9fa724498d1347cddf754d16febbca1d31ed4669012262569762b6e8fbbddecf007142d185f832507259fa09976569df9a203461f056808014758e408f44530a328ba6ee3a27cbfcd6ddca4a42b59d7360b8a27c5eb484e814ef02a72fae01d2af566087b8769f9417c52decc2f245356b883276d33683a5a6e0c6bedf26264e2878ab20787218f56b186d72458f9e9226e61669b26817b13b91937c848531ae74056ba34974fa92d93df7540d97b221eeaac9b631fbc411bba185d2d1c1615f481e712a6f339f2db9d55c98d773641ea626da23b2b119945d6c16347a0f820819e997a5eab74446af53238f3e7b0a2e7119b4fc7a64f1accee30199f48569961431e41de2a984355b1a3d3191d79c674b18c955556b29ab64d5d40883aa03fdba48b42e357b6681f02278ef5da9b24da62d50c7a9305a81b73e0d1dbce80d94ad41f5b50d7d68de5d91bcab043a136076ca7c78af104110d226c8e8513510f8f5671a187109b1e2678082a0b18b751b934726d3f0130a89e04392e5ccfa34add834cba09c684aaf6ecc6de00a030cd875417b4cf07f9958fdfa865f52e70cc5bb912d03450f0fae01e8cf43bd0f43954822b60bc5325b43098789f22d21e4351ab99b9dfe0afa0cff99d471845757b98b68d67def6d08af0e5ea53411436fae22cb519436a1b70a4dca6686ce828dd0a38b16c23b3e9b6925f916d26a7784f5063331b080d2b8b84cdcf92527a6ea3582d8b2e088a055ba9aa89e902346f51c26b34fb6d2e28b0d6c44ea3ae406369725e03cbecdfa1d6175c0e05a8389c6ab30d2016f4d17ca73eb96f3d07fc1d692086c33959984ed26b80734cffb8d7bc0d707a44068463ef49fae827f07b72f4fd34b4e3b1afa9c06a90eded26529ce2b89817a86ed30484aa38296f346fbb392322586009d0fea81ed385e5e8579ca9cab6545823895e148ad489f4107aa6f7f18050fda90d57435b332ac593002eae321464f0a4cb9da4c59601b4bae5464a2ba3c749f1aa2837246cab87fb8e3327955056b559177a3e736b82509de9752025c37a7c0841291356ddce15557a8a1f2805e7c0a57b1948680eb32d5b17ca8ed53a967b7d124e3cc8da676569da067e070ce8bb0a56ada40a0ccbd19d9f29f9479ba83341ace072df9cb541a2059032e98ddf37f6fb97746474dcf59ecf96d61f98020f6e7531ae2a4e9ec5897302a89199853010b3319a2a2de4d8afcdb1530eb9d6474472de11c7d189f84013a9dec78a026ccfd862c747e8473e7bf009b9f640a0eb0e843a168467ca6d0b06ec4063a42480c27c1d92d5febce671c0e1198e749e6f4dc897b138bae08e1ae87c2502da9af713797763e67de7f882300dcf00702c1d87d1ba3300c150725eeb98a82520b2f004b25744a0ff8914ea917cd96d0ec756533d82c10e4c48d8f7286629071c9b8caa91d3cdef282814d137c74570963944601265a6e9c622749fdba2671b8417a651a8a03935f0d8038d237ba0c7a139489007848217013f1e2b7acb30e86378a3bc594eed8727ec7e030519ca22be2866aa11ab146a0847f9624195c186e83674acd80c8c03ff512688b4fa9146a190cdaf13d048f6f50148a09b8ddf2004427204ab6a89f1cfc4afaa174fb47ba944bcf6ecc481784697269ee5fab67e044ecd3912c185abc052950319fcc14c424022c101c18c79e60f13b403459ee003109bed1713066e0d3443e40d4ddf8c38ceefac0ff95101c015f21bb8a28894b490690165b01de85559527f2586b3c512f357007be2d5bf623a795383987b6c02b5b0e57435019d50141ee6b60a6c0e4471601e89927fd0e7c98d6fa201a839f24d8276d06fb96d183b1623d63e4012ac3ea1640539f61e0038ff87b23f531b52f914476cc65692f2214a26de111e0b35d6bc1fb812e93ef60c4a78b22019268f53fc6a86d2de8a119e1e9a15a1e82a4bb76292aeb6f9eab8cc4b7b2d71045b5bd24c5e16ce710ff4ba4dbd7ee4e613066b7a721151440a0f4beb41c1e8c14424c291244c23ab9d9a0352e1f900649db8a0bb5795c30a63f965c190c50a733106743f56392564d5c4342520d7bcaac0ab43ef12c3cc62d28175b85bdfac15e5b6701bd8efdf7404a3126e0a776cc7247213218719957ebab3da4dd1816bad6be7442c8cc3d507c58a84612695050afc5188aa5e4767318bba64d4b087d4fb3161605c232ade505660c3412fbe624b325633ddc21ac74a57d99dd303c134caa22b90ab3b1907ffff5bbb0d2becde0c919b9fd2c6514b8af95101994a58f19d465cab8cc469972357760e66cf5764aef730df68b2532628bbc667623e152aa1c0f62f4fc838c12372033e5ba30ef92d8fffa9b1a836e6931eed4d90d88a5684662d65b194df94f8d91292876bbc8e1a65d5cb5bb8607602e59742cd8ab40bbdbbc91c751e8c69c7f20879b121913292778214ec2c3d904778ae008025e8bfced0098203b6c5ac2854a8f4e479270064da60fae4231251089148a8581961d006058c05648d7302121d3d01e5637b0dd7b6c01ccb8ece0dd27d421b37ab6136f4dc9a3ee8b24651548302c2223326ce91139a8983d785927caa9c0a8bbc484260da0fb7df3c16b61a154303e937cf2fbb79e1e03a2380c97aa93d001a17aa9807d5cd83e1533d038b2edbdc942847214d14f2846dd44cf5f41d52ef1ea15b792c3a0537c72d6beb3bfbfad88e0cc2cda16a2574f16cf82fdb007b4cdfd7856705d43b215e3d486af9b0d2d9462c22ee4c2a408828a295f1c7768cf32536da3c919af86c07e59b6443295a6b241df760eeb01fab895fbc744fd80a7774d518f87310c0842286d2a4187e472ba6711be446ef344df9f8bc9b7c93b32be4090b8df80b1ee219b9a72e04707928b9d9ac4c6af089948afe7bb2f3fa49fb41d8569fb95256ab71d342dd4c867a1bd79067dfa424a9c2b08f6c329d6323c42d077ca4a331dc4ec72e3475cf679dec22d599831a7101d87445fece7e0c4a9b7d47662c1eeecabbc676c3abc77a83e59803e0e5ba0756d893bce286634416ae454a4132ed0d91995c857e0f4fc56d3456eaab1ba63c71b9cec6cab99f65ecca3bc7bd3588a1484311a74ce7079f81d7f8eb70216dda47335a2172cac67a19bf0c0afd60baa8aee43e80dc608368bb5126ccc63eedc1fbe66736e91e6618c4218923adf90d1e8836a9b0effba22b888376f082b07f0f5ac3246d109795750aa204843a396fea9ac0011e9c33b88277f1e003576a1f4cd4832f4f0f6eac871df076ca40e54deb4be81b79739232e066646fe261ed9f0e288acc7195ab6b47db1140d830fa0b9ad2126bc789cac701d0d47a45bf1ee75d3dac48178e70c0427b6d352272e2232352965fa645892815b9662e6ca5f4ae97aad9f92f11d2ff7e4147d3b2948913da2250c9533db2ea83ee0378b01b9b6fe49634340a423aeceff23c184b0aa6e04f69c139d2b352dc181926299db0ba4fbfdecf3da5f9f6cff038759ebb09c2e51aee885c570e7c4ec63d7c504f2ccc73d0ed9c4c71238f183dce9c93a55512c37cf5f6c8a50498daf5f37ae84f98cb5a2e4525ef64898a700ac96f625420ca083ef70de7446fd334e76ccfa9338aa449cf971892ed16382a010c8e585798886311c28f318ac689b51fbfe4cf5e6dcab8795651d69725db68ce7367d5266f2466df63ec1e58026c20017402f63fd6be6a8c9455618d41438e71840af2308b899aa9dd09f442dce980bba30410b2ad53b47b51803cd695b09421e2044c3a2031fd97ed084563d0b9c8dea4397a1c38dfd8571872a930925013e07a5ee918d81f44fbf2ca6e3ed7f4a1a59a975f169ed822f6d7dfc90f96b014317fc8401e441aa681b33266df438d7d7b1122337a04c45d2973f09deab44fd89cfb2d06f5e6c9a53c2f0f2c911b325f3cdd418ea27121fd0c2eda490d8adac140ba97ae16c1ae036a0e9881d433de8977e23813476353018cc99095ebeb0ebd88829ca07233c713459be11f31e9b984373ce2789485e28c22cb714bd36bc4b8c71ae74080c3d2134e9bda5db97cac2405b87a002707d4ce714821eac6dcf53838848072aed15fc1d8c6ec20cf1140225c447c0adf89b630bf3acd859828b47d8525ae3410271e5b3d22673d047565231966ae3d7fa4231ce5e988591fe5c5490a5d6ee63fe1cca24d0847d28a86861ebbf885e12f6486a480a067e5ee639878fc78aeee62f066f41fd1491b1cc412a1c4b2840314362f7cb03ed174bbaf4450b783a7ffd02fb5075f5f05df29405308eb410b9d787540e08d215306686c7d7313a194837f3386e41631fed06f92696c49636b8354dd387e63c798c81d99443004c91eb6a817c10b53b92bcb86257c7f089a8a826e6a6105be859dcfaaae9557ddccf5faedd5b577fb291525238afa1ecd854c8248f99ee4bc4929b2df29b3a37948963feee188c5bc25ad0960a82baa9e1447f61994e3e16d5cb3ef8016ecd5f2967c6e7093f14b4d0957422c829279be537831272cf075d3fd00070e2eac5759446cdcfda04f3a83040fdda7a663ca721132cfff9c5cbb710495ba961891b39309ffa6400034822688329709d7cc961b87f98a103700e51002f8a67439789010f4834dfb43c80e169bd91d727ecbece80511c65fd611ca6b63e6c2bedc3fccdb2bfbb5a653f81a1eb7a9b18b0f58761a77203495faa9a992de37d6750ea04f7b22849d2dd3afdaa6e7fa49c9c0582b5805da2ac2c5f4f2a9934fac48adfe1f2824e98d12df2ddb896aa9068695ef84b920c27c46dc13a718fd62b971e9dcede6fb691d74748f6461e057dcadd359e4426a931143176409335a54c39f89b6277ff88de024875f005aae5a1f307e492390bb132c1d6ab88a90a23ffafc1b1826f816f17662cb91ab2b2d279e0493c5af232f2d7b8a85b2fd15c1129f367f66b42320cc2d3958f266b7b40bcfb3c5c57960c7f285550822c8622f804129fc8fc829bfdf98a580d9e8bc7ca7bcf440ac18e4b562cbfd090384bae54902305ccf30eb7fb1d499e465a0b6eeeed7e31313f91f5781d461c742b15cc2a86b766ed7b2326cf6c9d6bb624c2e8aa1dbbd2c80bac9f33c8e419095cd8f4e904c80a326395f04d7d8072070615b542b8c82766366c59638be0f275eb9a32b2fdd90b3c28b3f5e92179537730930f7ee90399ce6d9d0fc84e738ca34461d0e941a29e9f8c0cb74025ee2080f821e953c342786527297208cb855dbd742bc54fc5379808d1171ab9cee9263cb75f94999c869b17f2e1e0cc1b6a35e70d2e82a6f990bd29d1e7804a3877c43eb05f1aa2ecd4536dd19dc8665e1810cbeb2f63ee4b4bf046ae7ccfdef5702c89ab396d8c59f0d59c416004697f62c7343f24c320211f08fc4e91fdbd524a2c9cfd9f32bbfe3436b928051b17f3ee7ba813afb899cc25319210647a6caf891c40b13287959ac97c6ddb868eaa10276b69552d6d8a35b8a1421c992147e6621b5924f4fece0766fc2c89e94995e5e4b76c0815adeafb228c96a94a3dfd05678f4826be8a997e82360ebf170b9f3b5b017de24fc5fd0f7d75fb4eb168eeddab32460014f3fa52fbe836de0fb534894b4d002e0d180c51889e326902882502fadd7710777e3416de182eb05c9a343218395c8cbe9d7bd1c78fb04b30c2d1c93fc949ee08b13b8c77dec9cf75311d42057541733ea04f4e3f8f7baa71c589b19577fcffc2233cb5c0fdf54bf9fe147a48b63637123d5ef85657597d440d35e0d0a22551c5bf9c8692a40f17b7b712ea63a5aa4cf3807fbe575e5e7b716282febb6e5b23df2aeea8132e7d2550640580e1822136d4fa5095ba5794625858e2caac455c847e658a091eacc9fcbb18169b7a012fbc414ab619ca420fe28c665d28ee450a146b186cf4a8038e0ea6aa43f21b3c2c4ac3f291b3e30049fb26150238b49765ca1f67095d7d99091e5d52acdf7e4de3e5f7a834b1c0554f7c2716e8fb4cd0c23324d9dfa80fa17b117dc8b84520dfe8d5640e762dc70bc2e5a99786c191c899ba3872253bce45dbe05a09c2ed848b0d4be85cafb53af56b9b0e49d05a061aeeb348c5d7f5d023ef52819aadae437d3c8d7aa124745e3f9fd6829f4828914ff0d51e7efa2711752511c74c8b1b9801b9d5256e24b5fd84dde42f7c178a1bf269258f348fe85ee14ce9fb9c996e9f8c1c0a1e7c454ec32ac435f6e00fcb035d9a14278da3808172cf32366495ea5b8de802307714bf26ceeabb44255b5656a21338e25b2bab4d332883f08b3c74ce241cb92cfe43e4642dbe3a9c82c1c92241d72952bbd3e8bb976d25cbd7e939c71bb8dd3c26455396c19016b13f7eca8574eb25c238a26aa8e874783aea6a474d240514a96d46ef27eff05f348974423c0cd9857c9c9a2276cc8950f1207eb55b83d81f9246583157f31421478718a724c3d7a245dec06f616832a75f4f8c4683fe50af1a59b8150ea6d15a672f8d3ce534e288932768691c6ab3d7b3a432b695a3bd3df14adba93003df42c3797b10ebe2a0d34b3f8f94da693f0f4a576c1eaff214c220f7c7e60e4bde4433478c7b0d6601b564ad7af08c2c5671e2d91abe04b79c4df223a4e3f1db045a6aec209f335ba3ed15060cad415965b2ac3e9329348d252650e233f670899747dc7ab12639b04aee4b73799cadd4f7123b8b1f658e4edfbd1bc553e9e739415b2479b27c4c93d57225866afb534f0239599b6a6343cf8600d0eb20b829c6e9cb82059a0a826855c25b58786506458cdb3552ec26b476257683a843468acba8fdd515bd834d5154d7999ea52a2aee23cde18bc178f5bb99dc762e0511ac758710111efaae8b34a79ad499483c4d69accd464a23875a9073f71acb62fd07e628fd52d8f6b12b16723d0ccf6e5dfd58dc3a2d45018e86150bd026d7e4342cb4b542d2f46f6b33874aa62f138cd8875ab5c62aa926ed6ee2ee671d9c7fd426e7f1998c912e6cd9c396620ed754c634246d5668a05c20892e444aaca291079c3b996b2046003828b1bd1b8410611a06f8ed31a9e580d7991065f09c52e5f8eda2e9e3d1b811c89ad4efb58c4836243a2058d19d17e2818a17520c89981b914a26042edf6a77b63746862187fe034bbbdf50c555960ec32235e6966b6c6717c9135399e6a012a20a48933bac6ed82be401e41a55cde7a0a88f782f431a2af58834e76e67fe6e6c1801a7a686c52a95fe003e6c5cb64109d05f9c40312651297ae3125ac0e6566902d79685da38f2a31a3332aad317b744cdebcfc6614da83de046196041b6731c60727f210e22468b54f95106686ac6297b41b08f1c9cd4179fcfd8ddeacba1609d0df7acf68fc9d2063928c890599b26131716d19c95fd59ba1cc0d52767e0ed6c8bbfc7d779712ec90f701f822c13bf41f1a36fefd38cb3be167076e26914e8ab9beb48732d3ba17d40c9e4c362681a7a5c55278535d7f4d04e02f35e6c5ba0b56cb50b505f2c6822b126bc59274c8ce8c4a2e0ec40bc0ce5db5bd275f599f6f03a50accbe166d8eafbdf8b95482fe47a35cb40e4d728872af6218a317ff93dae3b88a19bedaa7d42ac687ba2a9c7c2046155d91789b120bbdd8c18b0371c01036e124c9f107bc511fce57cda9d871064325e4b6044b2e47a6927686788b04c3ac8715de418d61d4069c416434add07cd040fd84dbc46cfa696473cabaa9756d94486fb031672107f58b5946884f6c813f3cc808a173082064846fc5eab55b6b71303ce5aacb67288bb2ee0c0b01fb3da60fbf6ab05eccd641a3806a02ade10b78f4ef2482ae08df6f79e3a05c6d0523f3707dcfd8c20e3228bd8b6fd6e7c503f902f4c3ce9d01e27a3f3ac96d996f9bb56dadf76a18d8c289339d301599d6d8ba916d7a9a9033a91531a2bcade2c1755b9dff2a23464e61a95665e646e56d01977f7f840a225f4f468e5709a1961cf36df489a3dd92f6a9576b933bd3b43f386bcd658649d93b996ad55b2517e8d562e3877dc94553138013021773105bac44ff8bf1e44de5792cbfe8da67d8fc253d6111c942208fdec690a3e09a8214b60f275464dda0b65e65ba3be405d33e0be5154a07ce3fedb54c54dca267dadf1c73ec3cf15e579db12a96deae4295fd4a1ac264ec97a43c281f8ec69581fce5e55a6d7ab7cab7a3eeafd606a55243139829f5b8552b9e9e81c4f57a65fee27ba221fa3c8d9721149302c183ba0ec60c6a2d15230ded772c53e3ded1056460104acc7ab6626f8302effb678c23b6457e3687a95c02463398d948f50f0c13b971ff015860fef58ed1c39c45ad78e18b92f85a60ba981f6ea419c4cfa66696984375ed6d65eb06b4829e1e7e6907b1197994c0df1052bd4347402b1c6821cd8ff89b9a553661414f33be3a485352a72b4cd80a9636516f37670bf15098cbbd177ff86ff46369a60612b2fbf10a609077e9a4e7829d7fa6189997974c8dce99c656f0bd8b98707e89a4ab0b0934545e36652b751aa35330464a90b539d5ac1cf0ffa90aacf3a80708ddd6c1140d7996763b1ff58a066b6f9b60377c16d16d9f94f4fa71bfdb1676cb53cb055848c7bcebea7b598abd51337a730c584e19b2641e3aa198fd6fa35c1178db0260ef8338e48c8492504a3b2c972405817e4af1f7989874efa4238b28c48364d5ddb7b0c662455a905d5c94ee6807c17c0181dbf5af5b92d182a466b8a74f3bb7dbaf0ff5fb5f9fed5a4ed72b76aa02b01652ffcf4e2bdb1598f1f25a7143ee3d375d3ca4f4c7a0252677c09496637514e59c6c0d61a2fbda9a37c16a53181ae2b8af7baed6dc1317cdd0005f8e979278b819ebbf1c73266e1b6bc668ff4d5003b5a6e15fc47dbac25157a25c18353f22127a4d7301688c00ff22d4d9214ae1210c499dff52ea562b682626b0e6183dbc0173e0bfc20e464388e2d448edcae1cea8daf0707314d2dc97846ae3175e840a0a190d41284eb499b7b87f8d7d7fcb6ea54b5f797d2fe030bf0d1b21228a1979925e03ab74cf43e269428c0a6fe99a897ae38d65af085b2d999b1eef064d9ea4aeeb800403f2b0e8e7e1248e253b35f511a95780077063e04fefc3597f818da42e7548e40bfbbc467daeb6fddac67bae75dbea3c13f4b206bf58e38553f44c991c1e1761fea55e1a5667fad331216d83072e951ca3a0a8bfc875b9ba89b6b26830feed45b104e0e985b95cfae512d867b83ea93d2de95f56baef2157ede3abeb028864e82a2c6f0751b8f5adfbd4554c5fbfa160ae231e667db9c7f3c0ba0c384dbdc6c2216176d75fd50c069c1206cc09b7e25a610156f4ebf9b2848086d58ca9f0ed2a2aa3e4f97fc8c340b02996d21f5a05fd471beb26d9ebeb2902a1d28eb4679aad047a7744b61bdaba067d0f8ee2a10fb47ce318e59354e39aae587f258591ff015c38e6fbd3c1542947647b24953da9941d4c1f29ba7f91dfbfd83057214250ad12058be2a4061f734c15aa2e5c1afec39ee0705bd00635b886b59c6cb2cd8f1357394beb88b35ad9bd7fe89923d4f1f3a718ec7701180ec32183bdf5cb8b737c9daa0091719e8117211e7a329afd6cb1ba62d4743b0dc4960623b67c8cb5c4c0d047eeadab739dfe6dc4642eeab78e41e6ee233cabc7e2795fa4c282b51ed1b6def4fe90aeafb75d7e13547c0a03c2d819ea2a4619e62468d29bda7001cc09365875a9f137a571e4bdfcdb2fb032c47508438eafa918ffc3e1050c965f95088c9a18f7abaac08537c39ef8a8400ac9e3b1a095118ec58127a9f9dd52580d8560e2545ff052084b2444ecfcfb8f2b853d25a812d7c6bcfc06efe09cf6de55690cad03b36936da8658efd75663975f279f4ca2079f36a4f0310c4007eef303e48e07c2f35ebeea0d83bc08c293c96f4bf30db37d31e2348ce44307e4a037a48bdaf639632a25269a16e9865d26447242481f0e24313ee0aa8682c24c0c05450edc4a3d17adc30522577adf9806a8c5df0c01561a6485e91e5db79d694e2b916c9e900a55f16372980c7c2e330531aaed280d4591b0fca952995e981b2b258fa0af43afb7a84b2ff6c239cef646812680200c31242117e0d8742e3d14e38f454c8f242a4b9c567e40eec188d6d70e24b715c43d7b769fb867ad84c20518a28acfdc571067f63e520af730bcf2384881c4fb2b63a451601712c628a94c6d98e5990fb7f7ef30884ce8121d78d7f9956526ca6d514a766ee934d7d913313aae5be5d60931eb299455ef70cca9720dc90dd58b4237deac5dc8620dfd134f4a1a2f2a958a24e52f0a4be5ba56c1145b74a0471cf076f4f63ca8d1834e6a6b1ecd1748e31a1395171a269b7796ba38b6488de36e30a9ab01ac1ed6abb891e6ac1c6c7a179fe9c1efe2916efb4b4d9ecef65772f924a54377d658066f9293a9dd025e14c2e165f5a6f7c7225de0972f60d6158a0ab770d7936e01bd8c4cfefcef1f10131dc00bf4d39c6995c0c69eb1eaf1d934712ba0da498b7a577b6afe5ceda76dc7e7ee9072d81bdd18a6ed1100f439042fb24b8c284ecc795e2dfc5b65867d45a7363ef8bba54e637d5c9e4d9a614100d83cf24393ee0d629b06271ba1458e2acecbe25367a8657928923e9335b78acf96b5f6253bcdcc41af8258004d98aab62e93e23dc07d2dfbba693fe93055cb5bc540e69467e82a483ede3498669fb8fd1ad81a60086ef2239f06189f973ded26be3acab03f60fe5013c193b96348942b08a00a3d1645079f0f16902cd8aae510fd2450584f9f88ecb1a760cd5147ccc7297cb405f2d198d0b8d1fa60bdc81975d8ae0943ca60477e3039ada67caa1574b71ac710b5b060efa72d7bda8525a73d6b5eb307e099830c2f4ca9c278962bcec052fa00af0ea4a140ff97eb143a1bfbdd39f854613c7ef9a43204265d0df4f27aea8c68c805a9fe39b41e6472edac21e5cb96b57166098efc03972bad43483052548376b8cdd528147b7943cedcae725da24c2b12b4b5f2b9594f7e1a65666609efe88e8214ea19d89a80c70209728b8bc80da5a0434fba31ad1ae6a437e8fadb5f5e2e8206af94e014c0b88c53c6ceefb44d0c2f2c14dacd61a2759c35edb6e7cde0af2b6a8853ecce362637b7332956691fd7602df5bb8763158b301de1091c2f68c30fac6dd5d7a5e84aa2834dc614c10871ba784216c288aee23b516bc528d03cf54e34b9a0198938acae29750b2110fb929683f4f12fcfeaeda81c6b555eee5cf760a0759a26b54c65c43e61fc6f9fe9f2df08fa8fb4f15dc21091d0bbc57a98f2eef3ccb4fff971082864d29318aa945f6215cd302c3f3828f288ab74244790328d24cba77da5d2a3670c82ee4e17bd1cf73c967aebba0b3460091e0c4032643dd32a0332f88de28569ab94d5bd9cd274dbcba355c03b2cd6519d5be456804bf42ba4eea572508323dbb451489887b3bfd6991c99cad6a5300574448ff99c767b9b751c5c137ffb7765916e9df18948ad2400fd5e51f31626ee41b540ddf009b24c5a756bfad177ed9fbec068f05404b381886ac187f9a083d04a73d364e30cade2f5413e7c54ee924b8656d5d6cdd330aa6500778f7c3a5f3cb1b8a65fd93b693901c9008ca37b30294ecb19c1d21f20ac8162acf1b03bb994a5a7481bd0c06e4d22d272615b45cca1ba617c0411065d2ef00a8195d519a6fb79965a1ab386598f95f127f67203a08fa437f9e3df580a74e6e75f1acb9b70edebf0158432270bb3b65f0c39c9beda30f5a4e736d7632cfb9a49a2df051d3fa01a65e5e8ace5f2407897a84d7b7d547627005236302b57e6ec437d8446b75b29e7ef56294b0401d6d9ad98485c5d82b3a961e19aeefb0c7f4b973b1364e18eca9b75b737347f1338e1200566ea05a98c41f97bf1d53b990f9c8a5f94b9cd7165157cbb35271cb12964ae590aae96fe494160b683c8e1807179c632172989b35318f9b65a4def1a27167ae94833eed92acdc429463634bc7390634568e4f52486bf0e830910782e6c048af2df3139de00fbc1dce5409440ba42cfa378ef0f5068f84a8a0068c6ed5fd5fec982868a7824cba5b3f4add972e0a47592c6a9611844b3911f625e6e298117783fc9224b276c9159ad5d41ef5d5cc6a3343ee7ec215c458ced5f2c854a148f1962d8573be4fb21982a8ee745c55b4d5b763df13ffdf481f9af0e831200b2147139100f58305890b959883533521309ba7cf3e3a052f140308df8e3e6b5370cf74b5593a8c8306299c88e21dedbb9e969a9b1dd637c47a923754d5b9687f0794ada51598fd944037703accc290d2aeabbb0f53ad901cd0a226b65110faf1c4fade8679d8c0086da4cdce6fe6e753b8be0559ce243fbf34181ca99810766c3a9772303fa1f4320be7e8aa8f47865ef9edd2c38fc1680d73968cd2fa61584eb871943e9479155fbaa74303d50af03032f59dda8264b09d0789a3bc8758b127ead7ecf5f78f0d0a19a28e71fed9671cb3f54c9146322723120453402ca7179f2ac4cd6a9f0368555e7518f105a4ced9625664eb626a78b8aa1ba26ac99a2f472521d5f1ec4760909d6c1656dd31775418be8b0da4f54527921ec296914f9e1a8323c695663ff72c293e43448088a2a08d074f51ac53b0375d6efb978709db291fb4e70ea5c12830bd94604195e0d372f1894b6d48ec60d389986aa54242056d9d1ab44c8e32e025c4a250e4c9fb439dae3541fa1f8fe5b1895f378b6ed6ecf02861c480d6ecbc01891306606469086e01237663a140716a511a095cc24f37728f54cbf57e1891e2d6b0906f8401b6e79211ea5ad344ffe8488dde141637cec1a138ef9882e106496d47250eaef62a1fae00dbea0af80fa93c170b82a22c8cbd41fd6b7c2152503fca162077b0267b2fe3869c1c82ecc0724633928d871fbe04052a18adf9b9e2c2f4b02e26a6d69b42031aa63dde4865778694d5d91ac95211dca071cd9f8465d7bf314c957d210c778677744a5cd9ec59cd6a41843188d9d2d406ab2b2d1ab8c637740d22642ef0dcd1484f3ad91897431a643c023fc650fabed2db11b0b95a398e2a4aec20b3136387224dd08dc8b90ee0493b4e7b5e66d6544fe02bc532c7367bb6054f33d0dccbf1df33f82220bc0fa06fd48e7228d8750b6a00f4bbc9ee61d8d33fd2a8056110fb264e351c104e56dccf5c312088c3f6ee40e4db90dcd82814087156bbddfd5a698d1c353fa29dc3a438af48c18e06b7e57814d8e03d2886080b9170813ea47678ea4e9d9135b4d62ede50b8fc89f9974a84e637a827f82f521686c2a27cb527baddd84f1828c20a083ff569e0cc2c16f60ce3aad7c16890fd285ba336ae292aff361c1b4eaa5e761830e5f49a3c3d15a3615ae4902402491043131294ad41a3282ad3b975cd15db01b2b993b434d979e5b91abda13668da222be69654515af1a034a03f2cca364d55fc65ff15dc8ff2b8ea1fecbb66a3a3057e95264ae2be6069238607c3cee9d092c99ec8b289bcacfa566ee1c3337c06d1c148920163e00a07a5a73bdac5534da369644c940bdd93be23c8bf2838394becbf51d36843fc379b06787dadb0f0809d62ee86f0f508b3e142dc6381d13ef2726a21fb5e78eb2f65f0b9c8ebdf5c9315a3a22074fc405978b63234be9b23eaef1e89b48de9aedb909b81d9f966b9317123e19ece93ca05be0de560808d75771218a27d6c87fa9e7a1756758a2a489310303d566ce67656b337abc67f6acc6922b1cfe1220c69f84785aa7f987a71503dd63a91ce2ab2de69b52d26d8c829b9a98d03be368057f85b505bf86e99974169fb3f9b1d6851b1178048281140708deae81ba622a9918d2d809843c2cd9cb673b60d606f179b22794b59b165c12c2bfa842010bf0f128831e8119db5fd8b3883ca4d260f57896276e2935eca683f90d6fa912c35e5d2a9eff03a8c1bd3a9ff861d6f226204be5072096b0102f53040c5b4096a9197f8503ecb73a8b89bd88bd572f0458a476712eabad72afdabe5119c4d20f08890a06c8f544816a51691478a3e60607514bbf1cbe6ac1f0eedbfaebe5e1423409f5ec4eecdcbb92ad4a93fa775fb876b1fe0da369197733729dd0ad2a184476a92fedb65017015431b5aa2400d179d66fb0aa59033f1f3025df18d6d53f084477dd705ee46dea09f5ba438496c7597e43450285dfb2886335c9ef2548b5c255c9bf955f9360457dc5106500c01d74be479d160a96805d5d3141663cdeabef2764c6cdf7e1c31f81c14e3bebaa1332b30621991e35f9b62272fae15205036cac8a690576203ec1e004f7a93aa91b5ae6b85c638d5483cf1089c69396aeef1b0c198ce1d3a0baeb9117cca57d1722f09cd8836b914d226a78c05edc424ef075516527d99166ab6b4a6fc6c417089eebb09046a19dc9551b7b91b85ad1ec8da4e23ae1cfc9cacb23160d2e03c7feea8c7ff1986d84babe56f0ffc45842a34e3cf3b8efc18b96a0d80315a1462d79df8ec0367c5a5ee44f895c347c38ae2973d3ce8d12240268506d24d10ad2234a7b5a7e0fbcbda97983dc4d0139a163fee4535eccc7944584e561e972c49e9d3216db571775c552d0177a83a8b47c3222c2eb8d0c98bc045e674e41c3a62b9afdb405e531ad3ab7218eb4392f0f0ef64fd39b9c5352467b683fbc0c5b9151ac8df2dc8f976649e67a530e464e462fedc8d3fe8ca91adf71eb1670c60b701efa8c1403a18d3c54fc97b8c936dd5de68131d7954bc57bea81e57c62ff9eb54c6177628ce2403d8f0103d80d1fa3b38eb4ad4e40ec8430ba3e814c098d70c3b238d4cf36ae4842be474f46aef6a0e374386b736e00f9b546700ec78bdebc4c9fd9047ac7c5d5fb119cae2e9c012abc2cc955fb0064b0bdd01576d1a44dab8c19b59abd76f4fb4a17a9eb4fefa8c7b4a6ca2711e6e78ad0be3c18ea1acbc469afe05947ebc79671fdd4a35d55f9753d2be178717c8f263f6365d3e6bddda886b9eef4f4e0616b133aaa571269af07e1b207c76c8f4c8fcbae47739432080b77c5479ad311358e7bf71167144431eee36d29725ab161fdb76cdc11a3e4aa8d1697a468ee9ec244a4e027dabec72facc4c3a6535105adef9c91828c4fabdbd17f92145519aca52aed2c9c2243e6e58dc7bf7743023224a72623f9d1d75c108084410e1c9f3ece4a80af612ac58bb29f70d97c063eaacdb24d7bb69500c19e24e723459254f771c494fdd038fd5356df0464da8cd9d031c550618e5e0a940caf7ac6f1171de2b91642a7d01e7c7472599b0514511277c560e1680cd86db0c1cbe4a1baaf3f2a7f9748a8e721176d84e1eca23f98d8e4be2150c8b9ef1085bb467cef252c74b2911cc843f5f7005cdb5946d2d81da99e1718b9b705f9de697c78efae566ebce61824b3d662aadd779220b108692f09bb1f6d9208e2938344fb0e11415ce1a4e18aef5a5f62d28a9b0785e800dd87332e633eb125fb73e1d6fb69ce340cec3052d9c7c3c933948fb5812f5a2cac2e14d3283ba52cb5b0da85d1257b757e6c8a68ea49bb9c2af1614ea24e7c61fcb1bbee3bd744edfda66877af5d4143dadebc7aadf5cebacf6c79b1465f5bf25904156d515e5bed5f2c2057bfac2c3268d1cadb58b33c7b729b2b813f0d02e537ecc04dc7dae71bf91ad21cd0da81eba3710c41a011b5996a9e08544314c9e420b5fee241834a6886caa3104cce70a35a74532b8d6ad30d2bcc22c55270506dc9e16aae8b3e57fef1f254a42f185d2d6dafec94b416ab113f580db8c7790d3651585641934a21f019a579f98a805a57e35021da3a3e750547093027f7cdd4e2fe7fb81501536e9a4006ab451350ff174ad1a1a384cfced4474193243ee5f6a2c8db228652cad8282d578c1b25b0adb38bdd12d6d769e6479bc8073d0e42e0e28a23b9deab19e583c512076751819e7fc99b976494f14a5c7b02fd5c78b5a2aebbad2c5a3c275a31d47f9a4a5c49e8424147b5ae3e7279aa32c43eda71dfeb20808e57cabf59676c2903e1feb9ff42bee31f5010a75e135e96813d19657f547fc1d0c416555eb0bad3b4972044b2c44b20c8172b33e058664e0ba3c2545ad8600aad7ae60129e1a7307d70425111451ae59d5a22a5c313e386571b2fc0ee42eed490c6dca220f9028c1b5e54f1d74c14a5b15607eb9a8341645d67a67fa52a9f08ec03331147e6fc2d28bcd4bd24691ee0ba9416cb5c83d9133a274174eb05ac8675cc815caa4828e210344b01dfe1988024e1641917cc6479291fd16947796e3b23aefc3673ccc81be25dcaed512f53b8237e7e64411c88c18debf09b4baada0d5aa723126ef04e0e1041df99e99931d45660713a874e0463370772afed46c54adab4a06de4b28e506cbc546ce7e9da53c55ddc3877fcd75d045680018ea0694316a92b29584e3b236df23f82544aaad1365206aa425e6bbcf44d71d959bd0012f943d9693c09672c2f94807e5af09b714b62c3ca3b0b0e8c53565fa91117616ffeceec8d219579810e150f53a0f7eeb85ea2e6cf607de18fe67962b98421f4fdb0f0c105f18ddfe75a1f2ba34ad8d89c1f2370b72c8c12b0a1e2c3a1caf2c2581b72e038804183a6025041d018291cf2c760778910d3b36b3588c689d6a77e4cd9877f3a9730c19a036b2ef651ac78fa963eee2eb9ef3524362c78ad06d428315ae4a42c4f979440ff3240d562193d0e3f398038569ac91f2d7fdd8c6a88e0483859a779eb3942a355a3082316cebac7956913d8e207a6b6fd44955a3864a3e75f1e200987ab59fd18cb3e7826ca162cc3241f33fef52b67ea6c4b3e6a50713ebca014f40dd9d534cbe413765cdcee99bc424fcc0a367181c6c21b9da94c0a554dcbd4c34407a177c464ef6f44e0f29b9b53a3dc538d27138c029ac476eaa5e7bb47a6da202d5447305c50b2aa355c85b204fcf3a580e18db7b0b0f5d5f16a5bfcb2b91e8c424ccbdda1a7e568ddb78ba32b1219e9e65ea98da3a1f5c0b5b669c390e0ca3c09ee29844e516bfa21d1fd297e0f0e163fea0ab6a82253020bf4de0fbed69a3ae79e1fd5c9bbd7061712e455fcac3889b7e25f88bc2a221fe6e465891baa60a5d411ec6ec9b8816635ea8dd2e4b06d93ffff76032b5400b3be1b87d851e0ad1b2ce4133f5804d1bc51dc9ef768721aa75686bcc5a750610dd55372427ecf2419b12db3adf31c76d98cb34d94486c87cc3dd08abadc4c67010f4e8a67288d4ed09192961ae4fdd2ff5840c53212104a4fc11d7ec34c9c510360022f3e15b2e05339b56a2ccd4f60bb4991b6c4a6ed23947a0e6bdff6085720162a9a67b39b60eee392b3007a44a4783863ff48a73b5d7539201c36c84e6602bf6590d72b14e67bb1973d374d70a5ae6740144ceedd20338c21dfa1e8b5a4a85f49d5f770467022b038994aeddd0b12743f8b046b31468546b9120ef5c302b1d3d5ab6d0ea7e964de0ffb58065e866ddf88734c825cf0b753d60d2f3facea194618d4267dfb9f6ac07a5678eda93bb1cad1b27d0796b7cfa9fae957a489ac09ab3cfa6c0fe1f781680a8e99fd1fcc15bd715c4b556b37542363a2489a3fe41639d4d417c63893d8ed7c1314f1fbd88d87af2c1d58d15424387e7a9983b4267ba9038db147c3d8f2be0b0da85c2836e25115403cb215df424c1ad7415f173d58aee3b8a55ad0b90701cbde1dc05a51ee6bb68c39b69b0ffe8180eaa5c54c4e0cb9f9cfd3946f2c1e897c1abe77227fbef09f4e382db0ec694c16983b420662389695dee354a2b270ffeb9e20497a7bc238290f46701e8724bd5fe16b020f87eb47dd9d37e1f296fbe922a85caa0d8b4eb5965fd17ace4cb8129f0d4ba2ffd44ca7b4ac186103505028d85f6c18ffe05cb8fa11503942d964251302a5ddb10267b00af8bc90aa91c025ca2446d26ed6d100c440f40cd8f4344f9b3e00f82d23619355c97f8b1e4f6d7f9d9ff802d1197b772adfd95c7eb47510040b275f3f48bf886107a0414dff7736f43a1257ae20fdf7db9dae6f7800c33d6dbe5281b39a0208bf683ffacd30ba39c726801687c883161c30ba2b39d039a7e33514c0e8ad97f2a0443a06f50a384b4f266c935b27e712d217fc783645fc2c269fff872898e52a204c4a1132bb74bca2d64a959f57b559fbf251d593596ccf1d85d339e9de0fc44915af6f44aea64ccaabba8fb1caabcd92e698b94dd2ceffc2a8d5680e060bedd732208cda3d4395c179df497a57d137b71002894126f2c402609baf1060a0f7939d98913377c2f34bc18cc0a0567b288e13239bd4083ec08f6b235e2795411c17dd80de8f31235323ead2a6e20ac75687ff5ad023528537fd52ba8b9013f2df3b530bcd6df80f7371b0b1867f15abc3341bbd327ca423c837ec933942ea2532146df9b9a1bc1edd0de326fa9716eab64dc6c2a3ea4261f4ba60543491be86cc8eeac57e44ff0792bdc6df79f3da84c80861058731cad4d33be97cb0b42b7c0e45732e55c453edc80a9019c4ae8681db4fd74ef775552c0c85c6eeb4a145e7eaac9e867e1f7ae8184bc155d9e20d6430c706c17f72c0ab72fbf7d222ca0fcada0ce3c766295be8eac68f18cde670a179761d2a3ca2f4935ddda169c6276bdaf9c90a95bf3c407daf1e4a0b0ef3a64a7c0c68c8464cb2809876dff74dc8b2edc34cfe5f8f3563dc01c63cb6d947337c6735d13e9f891ab773b93e6b9b9e1b11b31236d66686a24c28d64300faafc97be9ff3c1825fd627a9aecf918e00a1c0b2f570c2844ee0ab8d84ef8d09a4f6792c81d6f5b74c4467cb2c72e36ebb9a98ff47da4efe0001e0f9d74f6caa6deaeeb3158955c183e12d52920c4128d8bb78bd5da31e01abd1527d21a88e73632ef3d528af3340707fc77419acad1a446377d00888b20a6d541583c2771807fe12b4250e4c68d273c9cdbcbe59128a70d75bd03f13d064894c7b444061c62389126d467f77814d88cee8baf90b97b425ef391f2be77f6c14677f4365990704edb126164bd903a339c90e83390b0ca0eeda2ae3ed4071fa3aca8026c007c94e3664bc01a455b469233f69bc741ade7e5cbb27a39a1887595f54b095f23662af6c5bced31473f80e8593e6ba85287a722cda09b10a9e26afc34a57dc2d337042a1a210bab047e10575d3dd08ed746c26af924a8d9a186b1d9d438cc33760d4700729c8b77faeb343c8b5da6db49420db1caeb85f02ae4e87c3a85ed66b312435b8a55d04951889a48ae3eb2dcf7d1cad539f65203886a7de7feaf4ea6c829406eecbeb25ed602cf0141436f655bd1adf025282fa56987488daff30ced37c9e1710be27b3c43ef85dbd26b5f9b4ed8d4f142ffda6ed7a5ac00cd05e22cb7997a466bdfe25cb92a6fdc173608db28a1343890a1e91efc18bdbb030b1a435f916743ba2f8b24f150d3685577a8a211361607c5cd44e98d87b2c9abe178e58955d52d2d3fcae9c0373eba4d8fd402ea3cd46dc59c175dff39b28fca5f2de838a197076cfb7208303e9c49ac8181ad70307153cbed663dd900ccdadbe9c278dd67c7fcbe6cff2f16ca46b602fc9dc7a42bfd8cea73d607b4b5a01e2204ce5a386eff68e8b7dd4f127d6d70897c0891b5eed5a2421b38687507e270c6a3aa6808d3b261153e2c075f5b6859f1b062679db9edb5b9479f836a9916982ba283c6c06edcd39cde1b5862ca021d6d0a18a62c9b83d689ed79907ecfd5b85cf37471ed45e6234064271cdd92ae788b771e81694ca221806688b36f337d5844a21eb4dc4c1e1c0d087c7bde044bf5266371e6582ab6caff5c5989f23c00db4baf408ee26674d01e56095375d7f7e6e6f963d3bb820e941ef8ee0d05c13ece650cfcca411c352d875b5df019f6b1b601079881ceda6b90edcbbe73584d069b2d002c6c888ee8f1f19eace4725407025ca73c5f4236b2b99229ccfe50f78c53ded751d7b6c74c93729d5fc5d9019b53c4b458da43ddcb08a84601b313d062e015639abb8587926d57386419f7d0c3f0c217419710f009bd2d669c14457f1a4dee9d766831728619af7e0f9c07b87bc07d411a1d0ef2f3a9acaca4c5af841e6da5d4fd3798e9672d3ef76fd0b9d6cd8af16c17958107704ccc0a4358bfd6b79cfab6d907350ae0da495861a688ba65de48392217a3dfaca61bb75a62c21c577755f8f6bab2186a6c3e2387b3e132c583541bf3a9d2b25c1accbfb85d27a89690527acc648adf370a4cd8b94411057901ec827272f5359c1008ed078bbc2be7f088ad294f9a2a6320811edb3942b35481b38ae1e23ad998ed1e7ad780866215643d5e459ea7482b66159a3fc7f07c65bb9d38141a2bf0d5db0eb0c0bd2065f75511aab42801aa4196bc746d2cb90659b1992221cf85cf49c384f365e075c2682351003b019c0f82110b345116195cf826c4db88ba09d31a8c159add613e320e819e1ca41f0d340cc51755480e727426de1c2f543b73ce090f438d0006194df11472297e8141563f05da7f8141a60b6b24346e2413ec0c9fbb6c9436d9ad4b136171c3ed99a1c289f21a80c9f9d341bf9185b8244c48624182b8cc9f9e021dfc698f7053e19c21409ab8e68c5278956fab53897a0bfb3120990b950dc66111edba9403bb2fb54489c3ac9dde135e8aeb56f25ad9dfd7179021cc5d9a27f49731a44de31a4bc04fdc811aeb19a927a81bc06b9886e8edb9172e564fd11307387453983e3336c8bd29645c59a06e333582a596b3dcb87412c0875854e11721111a409cf20cd404d89ff60c0a51729a11531c2747c9850364aa18e9eb1f884c40a2a579a61ef05d0340686a467a9981d034b9b7a0326574aa5d0eac1740f99aad21dcac0f8d6aea4ffc4dc1018a16603ee18e38727660306966cf0f07274147ac5a940d31386df47cd0140f026c18c534e28bcf6c20f8c5cef7f1b1a86448f106c847ad8f7c165f11939160a91d5d0c53a963138b2fa46bf03adc2b47fd9456992f60897ed67198569787d2cf6a5d53841096d683faf43d8d19feb1f252b45de83edbb50c336898527880afddde3659abb43a9be19b3aff755fe8562a5402a6778806ed4e5f1a85c4485bfad4df02f89e1354a9220026491d2962de760d078f00111300e6710e3bf6b627c8ef5eac3f0148a90b07113668c918674a682754e42573c9b60a639ab96e7af2f049ec5649767f78d412a8315dc4556aee396d7868ade83155dc1cf3b85392cd3545dfa94a8283e0efcbdcfae76f415ebaa40987e59055fe1bbe32d00034ea3bcef417110b4543548c938b1f5140b9edeb8fe2a2d2c6a9e6dd7e1d8822e14a39e49032866b283d8e00bdfd40e5fe14f4ca702f5adc549046b1fca05f2687cd0aceeb5bb06c412d9f26b3968e84330453230c9f1426a053b8471370da3994c0278646331b32b4b83264f205f832b32f2a9c9e598a14d87f2d2a32ba9cdfc10cf62ddc514e0d4ad2e8377565008800d2dcfd58238c0cf34745520d17d05accc7dd964fb77f25cfc6973cde3d98cc979096cf63c348cd76c91b9ddeda3b3ddbd79b070ded5f9ef171400920700042de3508c8158078edf69cd44a58b1d7894d227f2e5aaae74808ed0d3e3a12e84533876d93e28395214de5ad41e0404c8ee0280a600e320dc58ca37b56b258734a8037e0d12c187af9d5d689119ff18e755814c549a119d91adbf29f447d11097ad38c5b12b41f7a3f217a2747814946280d8044bd49cb7b2afcc6e852a0349010a17d31be019830eb13f71e506bfb423c7f398e9658746c0e1ec5fbeadc90e7ace4301613d64e6f8b239bb1f0b7e6d116544ee5db05fbe9613be90d1858788f4089152484f877b1a4e634660acbb235e62455cca26148bd77e4a3aa11666936a3cbbbcca2f131081e03f6f740b52d2cb4ce4c8a6ba0b97293df3d5026bfaa91c43182b2e5b57742fa8abbe765debe9d587ee87c7b67e70c3dd0bb4d7b236df67b9144c91d4ad46fefec4a24f532299223b94496ac44d6bc5887ac88d375bdc950827284f31f66cd1ff4ef68890153ad0678a8b5a6f746718f68b778dceb2af72fccd710253e8f97acd05869c2283504517a845bc0828c5210ac8f32833635c3aabde4882be55503370bf34dfa1fc62a61047246d05a149696edfc8ed8396e57fed41a90e6b591da17ef4328d081c63f4892ba95a7fd3c1d54b5153a4ea779cc5c77bafa88410b86b50e457eb348eb2186d5c6458312b78d09622034012a1d50bb9fb2e7a08d8207c5c905dfda529b368b3484acd14d2d3bd292103cd725dc57be97557b7c47d7af0df1fdf2fb9413a18d9624714e54ffb4de61cc294bd864606794ef846ea49b4f5b78d6d983124b27af51ceb2a9a7befd3ab33ee6a54d90b3c718bed998688f7b908229ae69c07179335af2994a1d6379b6f935d9baa81aa58e0f40957cb61e398070f0bad084e840f563e6cfb4f0cdf9675f3c00e5b43b48f297c3f98075169a1909c3d07f95fd951e1d5f28d7f0896c8c2a8cd12f7dfa0d03bcb47e1afa0f7419dadb68aee9ac85a3a9a74396602e85c34ce93d1fedf5ea8f710542a3f99df6ab0c0a5e1e401c5d05c5578de272f30f1efd58255ef58e27b375036bb5552c8a982982ff3a3cdd3669fcf86b1f06ef18c2afc304bbdf5d8a77407ea9a69a46c1be6a73d2a9c06ff4f1115c9112f9beb0b35c1785d312c67825a8bcb50570b3809faf4e10e4dbe3f2c0174fce2a4cdc7de95175db8e16d94b37478faea8f5863a7e0c479325a46371ce29405ca20ca2a2293dd8077daca2aa03929a8368619e5f4f613d4e436b196b2347acf0cba6df8ec745e95f96eab31153ed08b3345ba11135261cd4584dc04c40dd50813762113f1e353f90e09de9d18ce408dbad5f7b0ea068e751bce3109dac78261d9b71e89412750993266d886ec42c0f7afc0e88f906ad4b1885cb77a7a54a93987d8722a41f14368ad71af89c30b7162682602d0939a51c442934d04310bf9328538d7eed88762805db43e452faef5dc6b6e8f753523b390c6010d9438ac206e8e81220fbf3dee423ba05e14ed06d66bdf12e890cb9cc047aaebbbe20570eed598973c80e9f526c462d81ffd304ea1df7dcbdf419b0b0e52399b51bd05d804ee486a2710ded5196485e7aa1a605ca56684230c800d43ab85b4bb7ce203827f8a908b63d107658c3c52ffc9663c97b1b9c143de089b29d5607bc3f39eb18ffbdeb9929205b3500909b117afd6eefa6db540961e3521bdb56a7b52f3a70022214359ad7365971039a46bd5a8985c9d52ea4581a6d57c063fe57987748dcc313d2c81a855a202883f9c595001ecee10d6a782b1ca8bbbca657baf6a3a9e43533d49cf4e249ed1d27b7b3e2aa4e774292f2f478e642003adbb632a50250d5f44cf9db5ae63445fdbae21bcef989ab7f35a78b85d1fc0906f2d4a4d6aed86813c2758ce6d41c8c3bb29ddc00f4f5eb99cedc0e92cd296bd54b297e2606a550e170b4c3655710d239d49c6fe9472e4da3eca25bc1a645ee45b7347e6c3cf44e03b70a52cb3bdc13904634a799f6603a84799d63a96b283a93f951cf8749a660cd951372f404c3beb7cf3c1843c37ca0bba8eb23e34e99346e76814a299f24398f6f8608db8af1b85fa99781027c00190961d37eb7846eb5844485c37725ccde3958c06e275b89f194d0733901ff24a8810d1b8dacb4f2a55697c280415cbf022b0b039b1f80a3afa934cb87dbb081d3f1925113037e3f7f54e1ef30d43140dcf5829d912ebd06575a416befec8d140b448e66df5f5c9894b8b8e23c0a66c7a558fe95c3634acb8302deb68271cb5a9f5345e0006f84df8a33cc66bfee715e27c1da46c9e2b904a543392de1b3e5e3d9477cebd97919194ab336d71f09ea3ee521ae38a5b5c155d8a16af8eff1363a382e7036723f0e7756810408c5f3a0f172d1a33295194628e010fb836f9dbbd43df35d8f5094c9a9a9f76808b83c063fd146d539136b0dcc43457df68963e80fcc41c51e5cf823ab6cff508408ecefa4d4d21b08dd1ae4835c0de3e5f8439af0c4c2b994e2ffe563ced4e3e81047b8040ec26fe3a6040e79fe52bc3767402c9c89de517231d5e494153e6654f5ed628c7fbd390a80b72a0b2f015d9a52cca9a6ade261a21d2363efba622ae78872f8c8c76dd46fad2aded24d56231a5d0082d4c4885bf97679117629cde96f565558e5fad4d45dc8426b8782496dcdad318390c5ba38f6e54ae7df07d8e1e8dcda8c89aee94c333b376ef4622dac5893a384cc53421437bd61c0a25bdd638b55c2d7fbbcd8bd798993daad30d528b811896ad0be4361f5bc595e747db7a2e325c05b9fdae4bc3b973386f2101e848986f65e69860cefd179de9275af9d193b7d661e58a16851a510aa1b766f4a22d64779c41d06c5679a3fc7386648dd5126f34e70055abcfebf884ad939c00900740cfd0f46ebb097b203fbdc2980de7126c5e498e37e8e5a1db4f0a0e0ffcaba28e43a80365c5b43e576881553db7397b1edc83088541a38b6542aaeec67fa9cc1055e39746f233cdc1fa7ade224a872905ff3b67f7f20f5b8f945b953c1a9db9c497e9b64f316e31ea8aa271f9fec950376bd3925c475d42bab5dfb002e91791754fcc893996bed70aa8ac0512d1f8797da45b2dbf954490635e2a9ce95162465483bd250f8529f9d1174e1864aca0e073e13235cf1d580adf1bb6f88470cf8dad2cc7b366d6a80137f3db79aaec1714c3ce423b5033bacad4fd827602e01336024a73eb36e56480adc0ff434d96fe9fc9ef235400ccb8ffd0c040b312d2c02bb0610e561114fe6cf8b0b8bf0cf16ce3983962810f7a5c96edabd86ae2d1a5826d7428a5ba921b062c90dc07342c33210ee08bf592ddf6da0fdc5089e2aa64112d8aa2612aa4c8159718368180243b6b14008cd7f39f1d6f9d6a78ae2d3419f8db30f4cb836cff6185d8594812d662534d068c1808f7fa58feb9d179dd08628fbef1f8df059f8f8b6765abe7a2b815dc2a7211117587e0bd5451bb048380da8307792b4ef3afaf04c70e464bdc61fe14860a2f97a3de99c92091fb5045caf5b363635936a8843d8d7aac17348b8eed73102d83e52e9cdd48df84ee97f1218c42bbdeda9b91dbcbad80efd5c0a42978abc0a593c35bd4d079022fab1e6b29dd21e457bfac14be228b341d2a230b8308364c7fe689e525a9c2db0282ac1e3489282764acf5a095ecab119836a516d0f318104ce5ffd60b5f50a558d8fb87d9e62ac0d51767cdb76a238d4645b526d66aedb874a0fc54b6d1c8132e3c70b3999df9fc4897580e2b20f540946e520f4e8067596cd417685c73d99085114b6a96ab18381e5591fa7c6a42a6a276e857d301ae7225c5ef9eb298af3b381bf92a32981af512f382ff5c8d904a9b679f6667a80870ad90b71bf37e9cb693597da4bcba346a57fb09acf74cc46bdfce6d9f5c26981fbbed064ed8d5b20afce3a039300b7fd52da5a14bc7d802e798aa7b8a2c486d766d8ac445875be1c47e82a8055cdbf3d17ddf5259e754c9c4d8e8bab7bf1b8569c5bca35a17376e4f6c57572be905d95e3492e248a8cdd6ee4b0f7fcaa8a7528c58d0eb306497ba29c862608a81e32b1624681e92bab2bd5c7aa2c196d473037c7b568a3b6db73b3fb458ed5db3fb6158805dd55163619667e59041db1c4a78739c217f975265f31a7a6c9fcdae5ceb70b9f75029388d31392bb0fbed407b20864c59bbc5e0fbb85337208af8a8495213d2d99c768992ca476df1720a9783b96eb311499faf5e5d71d98347ee6609e8aa4e0c3b4a8d5ec0483b1e00cee57b30ad0076c73d655484da0405cb2297afdb4fab078b631455da2e07dc1bca39081aa3a28096f96c1c9e4532a9431552465f34a14f80b01741135978d074308ef832c8395c1ae0143a0c229ac45917384640b5d05ecb061dca084bad12e0a9708444e6e2b23dbab1246d429da04813cb6841f93d894c6388eefbf6d9d2683403ad8e8ea8402c478ea9da6a13e3c27ef6ce321d83b08ec4fcbfc97186b89c3843d386b6770dc130dd80a230609fb1c574d0239278dda5e287459896736ecb58496f72111c6f9c47d56d200f0d614f2fba10d5018fcd1a0d9596a6057a833bddf7f2a9dbc06768b08e2c716744e122e682c72738fee83e86319b15f830b33aa95a589468f853023e75fcbdcd3a53967c10804f175c5674b1ce66eb2503c5ac145471be0023dd8bed6b5c489694583ead0e62d9e0e8893c7ac3c85655d69c918036f9c03c40813268823038a712b3c375a1517c75ea3e32f48a326232c636ae5329de8cc4c0c8d33473f4265d132b28dae40e7a2222922239ebdb676bc840685614838c073f3cc520c7c568da67f32c36aae3bb1e99aa6bc073e31b62913cc6e92709a3879c7a2ff6c6a1b67cfbb86f368b4037da4f9ff3eefccc83d393374d01fdcdc9b720d7ac6b207c69e78600bbcb5a8b5a01efdac0a0a61f74162ceaf9a731b59e3c8b543139c06b06676e56862ad088313381a904000d1e81024960adceda54e626b008ec06a8424ab8cf815c19cd97cc7a1f6110ad0da92b86332a1ce002acba8d546a3d278830d7c4a06220806db895c059c186d1ac6760c2d532e40decd6e9fb8fcbd2fab30ea8260d139627d379d31f2568f3a60e5ccbbe2976b16bddfab8b7f4ec691a1c6dc1e6911748e743391405edd7e5f71f40e2ae5d8607df7a2f077ba4c2d07c6436d6c86932630711d73925031b45fb0ca3033d00261e1d14e6867ba5bd706e3b74496f45c5a47815f748154953c124642462c58a3e56a84d38de397fd447cbb390d9cb62475dbd83066781f6d5bafce486807d0fd33e0a126eb4c5092d436582057f8216e499e5698c263c52836c3d8a9ec5df529417349db95b35fbb94016d11ddd1167e88d97c4d8bdef8801b88fbe6b10b7c6ed09b114ac346a9e39cc2e76777f0bea06132763885d0772233c049439d5948da9c058427f9397d0fbee77224b030fdd02ac34855dd4b89c564c64bdf318ab91a3c172f1a9a9b42112f3436d2e36b8562571b923f40817df07aed3b874632a27e9e872573106d0829a3393e5c294f4a715cf1334cbf5ea6997acb342f22b8d02caf15f19bb49a679625946ecbabe1e2e1ee650fce51a75f84ab0dd4c1bb27f668c70e9c40fa68de0646063039de8417da6250c5ee3f2fe8d68e727292620351b9cdeeef915019c4b074b27bf6363f877c8bfe55541a25ece2209adc8a04fee435fe03483174411dc8adf1604246e83a66c3d16449b0ace33309d018d3713ecb3ed100536ae21a520ede5e82e80b5288fc544b9f6c9764be2770ee403912bf51f8826b6a708064fdd7c95c0aae80b649863a0518ebd2102af6c0e23e6deae83da849b3d6c6892c81d143708600a01f0e8f550e31beebcc6d06d0ecda444f73c1a6211bba877e9634c61ba89bfb00d931819f96772bf529b1d5eca1b4888702ea2674ee8ef55a504fbcd2b59e194b2b6bc2c40a31e441e3e716e1f983601eb9b169a06c1112d200ddf480580cfa052230b7f6bd489de279351575bca566a3447026fe1c52a3d19e998423722c8284f302fc3a4d004bda2446a66122c625e826f2e2c962693d13e9ff008758dcc8234eed1f4b9b5d0e8d967d71501418c56d1d6d3fd6f17b1091211c5a5da65e60c215035ba4a33b1d3bedc629a01fd09be3b37458e9f70508fede22fe9dffc1512700c30bc84dd450a16f8942d665cff7022430751720aef54b8983cc863358268b3469d574be74bb5c5ec1c126f8cbf3ad4bccf989ac0a719aa30604f828af7d53b2aa0850075a33e543940678791204934bd757724fd8a2c4f045508b9961eb663cb41aa8ca44b384855c2b69b38060ed0fa0679294f8514ac8c5a56123e1e87e8521f29d1a2612c127a972ac2f55c77283f064b01b2323e9584cdfb44af199ddd7119d07b67ae32287f68a4b300cbd9090f8044545161b522bbbc29e94ea8c25b07ca9951fdd2c5c0b95641a081ce031210b21aa2b02b88e5a322f0aeeef97f7585e7d0cae5a3de67786b9a21d4fc2b1f90dc4bc4e26c39013778ae0ec3b06c0a91478a70d380080ab5917810a9837a440404fdf6bc561941b547407c45703aa25e66b5c40d819a503152c690abf1910b52cb2b0c842d2913e581315579cc514cb422baacfe66aeb0b278ca6ba20babcfa00306e2f7bd89ebe5bd7b5cb11df480a26c565be1d8c92b92f702b49d827bb0d37369a6d9290bd37d9726f29534a294f0690062c07a5a71ef785d364fa1ba71e573279a42f71a46d6a93944d2c485bd4d6aa97dfff97df3f994a1eaac1ec5fbc6f30fbe935f4037d26fbecdb82863635337534325508aed0aaf094a3552cb4eae5b3075135fb53abfab3ef645a757df6260fe5831798971798979797972df2e17ae99963af81325e2f59f86e1a5c610ada8f7d362916322234dcd58f0bf4d8691f5874ccabbc6030752a6c1fc6a70d764c68f48f98ec1a7495f6fe2bb46a665a3633d217934deca7a08b021df330f93ebadee8f6d13878cb962d5b72f8e01a5f72ef590da80ac330ae2bb44a3e261ffb18ecabd7371bcc8ca03c5094f810638c4fa0d1ddbda3161a578972db95723dfebc6dd6d8db28754e9645521e41436ef5d6ece7e7e747fefc780db77e7e5a2b2443a955a19de3a19f557429b3f83c3423af86f8fa525ab448df22c23e3e47a942929937b9ade7e558cfe95f6c790ded38365083b1880b24e88cdf35bbbe28bff8dc6a303e4a08957f3df6cbb9b0319c5cf2c8f4248911293d768c51b64b29a594324a29a5949266a1f16594ed3256686c90e3fe8c5dd3c3711e0c6eecc8a669db12e1382e477b8ecbe93959d398f43b39a4cf4824ed33cf870c3f22f74216cb91be397f1289cb71778e85ada42fc63fe6063ff69c792f5ccefc2ed0608459171a8c2cc49f93d2183deefb811f06979369d97239d9ef649c65197fdbdc06c31e35c47ea7ab19e66d633824f6ad4dabb8d29069303e27e9619f668ebf120e34fc6ee78c473ea20ef499851cf1e6cbd1607ccc735263cc62bfa851c12da021adbd69db8b2a3436a851edfd3bdaaaecfd3d7bdeb61863bcb86dbb698ef4739248bf79d947f2342d23fd4d93b26b462c5e327a24028b8d8f6e0c7f8a85f673486df8d6a0b516bf99270389cc4f502a5d95ac4d2ce2f36e0dcad9a0441941e3a3243f2132cbafbf8df488f6c78f31c6f846a8f12f2b3646fcdc8b9038a9cb2a224aaa2eab081faa66c2be29599b5a0c5c15b033f195502635c6779b8d119f62a1fecdfed13408a29250ff8e3edafc8dfebee6b2a1e9b3093638df25e533f3e7a7d12b68966559e6f25e5db2cf3edc950cad9aefc2fc175a753d4d9d1fae962953e787a819b29039d9a7c6856c66339b9fa20165e6cfcf3cd410746bd0e5512beaa2914824eeb7d253af06fa2f59467f5fe8974af4a39f7926eab9b898a88bb73d356d25d2dff437480273322df35ae3cd719850f3d3e121580bb49541028de9e628bca368a72ba24f29b4e5e126ee31c618a31761a3b0bbf3eeae906bfb6ad9b1bbb9bbdb53b0bd31f637067310807e68b35531180ab5ab00882faa8b8a79d7cec4520c7f82a91ab6b9f752b56c738f568db4b967aada56aadab6b9c7558ddbdcdbaa56dadcd3aa66dadc2355cd65c3b2aab96ceecdaabd6cee6157d54e9a8bedc50680addb626094fc931b233e086a3fcf9030626a6c0111dda130b3af6b91765d31b6bfdcee928cdecd22d068abb2e5cc03b54dbe038de57f4780095cbff2f24b4679796ca21f5acc8dab6a26ac6acb5d3fac0289ec01ed178cef04988005d614445b5438a513b27963ab9ca1904024730d347e143646fba9631161a4861b0ab45b15b2b8c2868bdadd46b4d92ad67a77d7d73f7f819c616c8feb8d673ef4a02d33efeeb24b122ef76dc943f19d0656c2f7490132f4a208f5df6dedb01b777777e3eeee6eb7bb1b77378a60e6b0bb317ee1ee6e8cbbebbebe2ab8e64627a5f3f2e8a5737d1b0deffc65dea6f36b67abf243b9ebb04e9aa4e8ee3eb16bd77dbd93a02d110f91900e0a97b58493da9f8fae1ce8aa8fae36f303618e4193bd2da783bbb1df9fce7e87d7677277767342e4be9dad6e7c18057002ddd9eaf6fcbb7d717b9edb7236f849d95f1f3f9dfdf871fbf7ed0b77c27e92967de1ce76e3a41b5d79cee5b62fdcc27e928efded57337dfcf76df3fad9ebbfbc70c747dde727793b5b6d9f9fcefe561dfdfbe984f3b3672f2c3d7f9b17bd2d3e773d7f3ebac6cf76b6aaa3fdd68fb46d759b7533bde90b63dd9efbd2176ecf79dbe0f685f3e3df78f4f8356f2b566f9ce4e9ecf8a87d7930f88e572e3e7337b41a13bf1b1dd79a119ab602d0341b5f6c10480d1c60a0c040b941088d304b582c172680616dc32c7181838b1b5c087161029825302c2d6b01253d419da06a7f17635fd725afebea53f7c7450dae11b318c90b1b633f6e01034533c1b0605830ac1468cb23307d1ba95cb9b2960451af065c720911eeed92ccec997ede2206fd363c8e4dcfe88719828629a38dd15c9be91168e843fee1148a4343342ef5a139f7875373e8484888a8f6cf2026122834f5e335476dc5d6f87a104f5d463e237f76a1502c0d761679a4e32b4fa1149ed0900a75f56ff287f334376e891709b518888d70103dd4326ad5ee10072169d5325013f5aa879c408178d548f887d56aa8c1ee21f681167590d09039b49a8276742bb49e1f2e1967f0a121ffec7efbf13d5503e56feee02e7304caff5deba7f6cb8034346c5800419a56edc9a349812ba061d7c9d01367611e1992f81131677766e679c9d0204fcfe8a75568b442933cd2470434ec151d020da7ac62245b61afea8a4aab9805b24712692227b47bb5313a36e84535ec55955ec92a4f683837fac0684a0fa2162860e5c87f7a46f738a1fc5a910708a0045456d918315afaf41aaf599c6d451efec22854dba84aa30679b668078fa3a80294f4faa867f447afb3f48c7e01d040c3298020943f7554bb8f3c99aa7268ce24846aff966a9c53751c37f2199046ae827caac8a364300fc7ec90ccef335050f6619e7e7622b6d52a56123db53fd2136a9b7144c36df577131ad29722d090b6121ae32c8a9999997977afbdf6dae5fd98877d28152a83d7f0704fab965224b0d4fe930c3f5888fca44b295d4a7fbe18638c313e55fe4b7e3e32f84c4f83cda2e1c4b275111ae3502150060a670d3ba80e612111656e325ce407b4bf796ac8401dc3ff0412486aff8d8d8d96da4ba8d4fed8a7da4ed47059204aebe8ddf48c7e1712d0ee940e25785a45b4aa3eba6e202e75d1d1fa695007132daef1d64290d4ad3a9218d2aa6d8207405507132dad8ad1c1444b75215c35f0bbb05854b4de9a8b21072bfd46efa92f4e58acba3dc7c25261be5fcbb6e56cecaa9a5e2b792eef52050df76fae77310595cfdcc37cb873aaa5dfebe5fa8dc3c1eff21a7703e65dbeb0f430a6bffea639cf850a7afde9b5f7bfa92bfcd7e97d85f970964ca5d24f2ea73461be7052170cbb1edb8a713ae467db67637bce06ada52fe40af32613cc5f2e5fb8535d9e391b30f0960ac33dc6e978e1fec64d61e9f75d3c9dd2474d38f8b187f14a3ba718ecabb13df75b4993765fafebf2c27eed4f9e4e3ff7cee1d89e7b8ddb503fa0d7ebf4c37cd8fff2eef2a5bffec5db1bfd305fe734994cef5c8ea9e47d2dbdcb5f9c0ef925975269f3d2af8782424bef9cd77fc2d1cf7d29e606f72ecfbdcb6b2e1e7d93177235c1bc8b17c27c35766394dee56fbce469ffe2d1d267da4a1fb67d19ff89ff68fbd18886541fbe02b0b175c65de11044ed608875a37f4a887809ba2c25486ad7208de1e10b6022072b1c4751a1b4df6383db51cac5695e111d59a9a6ba444b10522264a8092b42aa01ea367184232545869a9311d26f75459626b014d56de24a946a53b7892b31a8cce5a07840b7c614871282a24e402fc6912179da47f232a30661c0ea04c2dde4f5124d9db2277d5ca4c1e61f06420941178b9ec6118a96baac95955d5297b532525744563d755947d46525a152b5e572504b5049d09e31469a65197d98179a452e52d3c37835c0fcc95d677f00c18179ba03e68379f75e3e987d81f99b8691d2e56ffa93d9e80eaa5e1a89fbcfb2cd4eda735eb8d371db8b7feecefd7a3b1d3f4d83fc26afe4c968171ae4dfbc0becbce043861f8cb282728dd1bfaf81bc34e9088e31c64884865a42b7411730af06ec495986fdd62925867de65dd89c973fe63daaf2d741682824502cbaa4eee9d1d2e0f634b88f0282f687ac65bfbf1ee9b1126d659620a3041ab5aee9f97e60e7b6e8e4e539af89485e3b99dde2f6f19a0e6a22d9415e234da697977fe17222a6615c0e767a79d2730e89cb71c730c7ae0fbbc571df9c6b8e3936b1c87d3193f4f3c5cb2f97556ef9631ecc6b6ce4c934283bfa6197b15107b9bcfc0e6a9756f631920f9fb74bf3b599799c853dd6d23c0dca1c2c0d4aeec5db425e55f95162e00a4333318c026cc13507e37298396e5ccefc56d37c9b3c5ac53cb1b7916fe2b0a61b3677fe4e5731129783cd39b1efd4a07ca63c1a94a5026c4173e62ccdbfe9394b1f91aa9566c86850b28038ec5948abf8874ca5bd40d3a02ce140b50fc19c176c1a5cec4be140f979b48a995ba10d50b75a85bdf418a267c3e38556016d1f5706f29a2692928198815a65846557f90cd4604509a1f3f987f3d84805ca82c66f754bbe6c5569a455365ec331d819f934a8f2495f381988f9851d03d1cc5120a2a15af42549103166a1fe31fa93606b15fd7d4a7fff547a8f6225ec310ec330fa18f618867d0efad883a83f612fc3f580f6d36cce49dabee4d5507a174a4bbf2ea5dfb6d217ee717777dd7d43c15683b8d540e3f628afb8c94cba481424cb975c8ebcb0dd9591af91648cb25eb304723d5ed7755d510657bcae4bc64b069710320251e4baae4bca4b087901510407daa2e27549ee53590f9f691b5f9fd9548fde182349939fb9cdd3c8b8ec022ec007e8df8e7a2f783b0dfae80bf00232b007e8acfbe7176e91cec6905f8f4bd2480e043743c1253e8955dfa3c70bdcdc486a92159edd34f18c20ca1230292a84589664e61d78e38bb10fb9c7a7f246e18147091f1d34414a119c18450df9e74a0d629612c489ab54b1650629aba2879acdc7b89cb954b4a6fc8d520513118324b83fbd324551f58e87a7468db12be814ab247e90821f14412bc2891a6ee1c9880929662005135a44b3c86b62486f0384f3c30608c79fba474ad51863ec984080757480ab4d83321a8c4fd31ac99bff91440a6d3e7ea9e756542391de6b5255676aab008afd7cc6b66ddbde6bfa3789d9c07e3ee9334f47db5261e02dda2f67e3dbb42f9cdf010652491ef613db45c5236d51215654a313da646b72ec0c105bb3dfaa40c5085142968295d4e6216a63de0cd7639f7933c81ed0adf3fbf1038ff9d7e340407d61a954187c8b96aa015961383243373f9c79343fd067b2c77e8984ccbf9ef4d86b19bf114f75ed5b2c237931fef198dfc644e088eb5b063d5728b1babe18f9d7fc897d31f2db311fcbbef799af035c835615e80bca9242121a72501386a0620459f45f4134c45a3bfc0634dc2cf165f8d1aa9085fce3206ef53dc3df5c8459f18e31be7c1737d8dddddd95dc8df16377fb86a0bab031f64b40444c462c46cc67a4c17a461a8c7977bb2fe9dbc2c07d098a241a495ae6d57892c9e9288306ab693a86ab8400b537e3723ac6186e0be372620477663ff673b6449417c63c65b6cc858484baf92d18093081f8cefc2c3f4c484848c8c7c7a7071fa1aea3d4df851e55aa5499ecc2dc1e2f29738a9967345bc3411bb5c88005e52731c4faa0ca24dfc69015e8cffb38883762249e45a0d7f4700eaa52c5050f94bb8e521fac87771da5de17865da52768b36b26eda650a3a299b2e96df649bbefa6e99a8da779c9c4766ce3485319f49f44a0000263273970c79239b28b1a6e500c41a1055645014f64f123dd13559ad4e0a2830a4fd8003e7103270968b2831a53a8b10914ac28fe1a531a709796d08e04273c1c797a4a5ad0d0060b4f161b1ee9d9f80ccb162d6a5507caeeea3606106868e3ee5e45c5bbed3544e3416413146ecad33e767ac6bf8769090dd927ee0cffb63a5519a73af0f1f169e1c6c7c7a68886ec1381502c9988a46310343bc32f63d2606952ca8bd24043f6d92a466250ab6cf86d6cd886859de12f9aeca0a7dc66e3471311285a5091ead410b0f830e18425a8dbc06a42044d0cb941132d48a564ec594243aa539d0f529400230b294130428a145b4871622585492a25fd28bb12c4e7129a5774207274a50721ad2b4008b9b1822c5792dc70e3a77545892147577e70821b3b006d26e828edb82b6201908c138756cf6c510d1c8cb0ae8808213107a0ab08891b7c0892212c5a04050a72302a22020e43b21461c94187560d1d8ae8a94b756a0e09c2b3438d5590110f4184a6910d4a50e308a31d0811325222a4869229f2a5b468d8891cb2380c1a9ee420054f5e90e4490e28180902a3872735c0d8e1090f1168e0c4089c647182079693234744a1842051902851248a21300a21266a50655d169455c75d13a6e450d484259c2047111e2d4470430e17f0745086a60db4287ab2ba9880a10516184480a1c5862888482c8a1d4851c820c8921eac9841a250105c9099eab282800394c897bc2e89821254abcbcae2440dbfe3214b122264a941161d6a483f4b901313603051054612ca4d11534513376451445744163700594e8e3c2a8b235918893c6cb94c703df8a87f24a06051829e2886c42040d8126982508306042c32201ca16e755940a8e272a2c55f54e9878693ce6e09a0b9c9ac7cc0257a3a199abea4a061d7754561e742ab421054224aeda7d9c1838a0c7e1bde9db7604143e6e1df7dff1d14682a56b074534b777dcc1fcf17765ff85b24646324a13c423146b90ab9c5411ce4031771100bd9408883d80726d09083382828888b862084650ee97c7c8084cc4d66fa0cf1994364f011c22f57d0b07dda87adf4c88fef82061ad2d61aa867f4070008baabc232cfcb151af6cfb294f031d2441a2cd23f74d61e72ea214d84065acf0fb2577fea669c5466a3ddceb54baf149e4043ea2203cac4cab644cbaaab2013a2dabf7532343fb87bddf350ffc5d97abe4041fb9707da3119aafd321b4f287f2aa6e0a48a3001eab1e171e64b0fec19fdb3071a7631e4f8f7775d4729631f825507939f06b73a97b312008223972bf36bd7e6efde11f95d6177851df6c92ce22f2a7a3dd8c7f767cf3daeef46f9ebc1b0d486c7e99ca04b6848c18e7b28ed19fdf4d45f0cb2fa88d56fbaeb70261079787878781e64c253fb6964d48e343dd3bfe0aeba07466851b9bea807fbeb9d10d9f038d764d5de18e3c655ca1bda9e54cf083ea04414a45eb338fc2cd8da082e4f3013da9f034c79cd6f4c04647ca9352fbd89e1b789e16f47aa682b9a4cb848962c3838c69f89dd1a8c8caa98b23bc505af89bfdfc36bfcb7d56c423d00423486419f59d20cacb06045c3a6090d6d8e84a0c28a8c4a660b199aba9c4595de2bc4c7beb0bb9b09dacdcdcdee3998620a76aec93b3bb12acc1f2ff8a83afb930f105e75feecad578c35fa479f3a0ba8502909a15f89760ae768d5773458f586869792557aabc44aca101e9ce8358e7bd70d4038cbe5ece87c66051de81b210635a44cf7a8bdc885455c4ce77aff9df83af3fb4350e76bbf0d6ad9874090d4700708927abd0d2048aaffbe5f3a3084a066bf75fad40e4350b18701fb0d00a9fdd785fdd458d53f5e18b6f527b5fdbc7cb268c9f852344e9446b8455168386beab506c8ef080ddb04876fdcc71fb99e8b2a7f281937bbdf7d02fa5ffc7063e733dd64a80943536e56c8e67bff2b34c8fb757fe17e2cf877b3375df63c3ecb5efb7efc000204e7ba1efbc7b0d7be1fda63ff83f4d703c1d178237d310f98af7d04e66ba4197ee041faf667d030ec49d8cf40fa0bc736187f3d663fe533bc8f7931fb8f737931fbede87c6671b41d3a251ca92726e6265b1e45c7e694524a2c4e0c0a65c9f52005227aa47f7164743fd7fe52bdd2818c1786b9bb5f8d5d2c853aa784ee3765a44a90fa58640a2a53b826f434e74757db3aa17d2952ddaffb45001451977fd3295ec00dd8e0c7e66aec637fe33b5b3d72bd8c2fa36738d6f8a5485b50241851c32deaba951e97b083470b0d726c81dd5f2732b33ff329a2c00653a99f3688361e8f9e61fe1cd9046d5731c4f66b0e000bbae2d1aaed64c4cda3553130dd9fd107251444edb697a85ace7ecdbfcc46755f14415f20a1fbcb85dd8565a94c468a9422c9f8e128f014d334b82b6dd3e451e5df369414d4864c7d51040d6929dc81eef6a208faa2086a324537994ca6e63595d6a594a14d651c5ce9c6c0684d85a9ba61dcdc322e673f8d44334a8a2492378949fba2147ea0cad4fdaea3eb88a71c55fe1522bc8a967f7f08e3c98e7ce09bd9030d6998da65231819f910c587d44f79e2fdd2e4e8883fee331582050a7e77456b27e101d089d2fa950613a8c82c1657b8437ef267aa492db34cfef5a51ab49121e7276327754926b64891bc2bbf97d1201be12a1862a68032ffa852e5af5684be7c1775594cb852c3df158d43808209c86de38532daa65332be092028f5b98bb36881cc2afadbf72f6513a6aa0c9b940d8d56edc7df3cc3d959a43c6165341bccd1ba3e5ca31628c0de0a178b0bcc13dbd12a164287122dcc49a951fd566890ff48fc1baf895f2a8746ab35696ac472ea19a626d8e60c96800314b15bf816e6ef68b0051f5df975e6d7020fc6d9d8fbf182fc6e5520d51f55873f8c46728ec8aeeb6a906a276bac5ec835fc797a5b79657a2676242de8ef8ad229479e3cc1f224ca047b851b14d02762aeb9be4e860994a6521fb2c6ff0623ff0aa146f68e5cdf5db28871402c8a92504595dfe92846616403a8cb653fdcd5f3afb0bbaa972934861b4ba5e6c020813e13dd0e96c020813ebf40f10120c7e1fdc52017b031f815b007e01a59be2b606344f90a5890a3b74d08a4c6dc90fdcdaf6147a3f20b1534a44e821973e3faf8bf8596baac2dac5403d4656d6144656929aa5f97a545a86a7173eef2e2630ed81a1db0f58abf3f3fae0a5b257336ae8f38aeef973fe5a36acc8daefd1dc04008a4eab86ef4eb5caf45545d9447219a16b78d2f602027aa4a6ffff248d817cabad5885c8dd621b1f9d1bb1e5bd4f36e2f604075c0ee91eeb1dbddbd9d05deeeedeeedeeedeeeeedeefed1dddddddddd7d48f56f237777777777777777776f77f7e8985feeed9f7f9d8fd7689f77eeee7eb42ac4779267de98bbbf7477777777f78fee44bd69dbc756584bed2a0cc4ceb47f2cb4319a856a5a549ad058254e690db135dc520106ae247fd93cd899fe236a2731e444af6067fa710074a461c0427777946263741c62a392c8a4159bb4b80a0f36847d7878986773f44cfff5f9f735fbf8e538c2025af9a51285ade8de52fbe775e882d016815113bce543ad78a42de19319a499a2d5fe162ed0355148466f94daf15bd5466ad7a322344c5b6e02d9cfef078949df0f8f8204223c38d367fc9bdb06fb9db9d7a5148220f3e6df387bf2b701f1af4f477e91c6662b1270310aa914e8999c72ca39e5949d02ccfb9471b998be8c0b6ac2a40093c2dc4832a729d3a9ca208549811fbb30e9cfe1207a36ddddbbbd18b14b7a6c66d92d4b2f901cdd371a4cec9ad8e5457777795d1d630c9f5ca8642e563535956806000040007314002028100a060422a1502c1e52565ded0114800b8d883e72521b8cc32cc9611442c810430c208418002202303234330a02ffd0b6cb1143094b4c97ded9d0b5d92bfc13efd2c46417a989ba7c76b429fb4e8512c2f7f5cd9eeaac95ce868da53c6218a00093d207434b2fd3735a3adeec9c471824d3831512a668e36c96fdbf8698dd00eb2b239f3c06be28eb4a9e22faff2e70bc957730ac8a3831b4ecf72b66ddd0c619eab65025864758a2a6389c627486252ceff4055504ea720a50e4322fdeea2de28edd06904291ce6ab0de1c15c48962e2cd3ef7b68c5760f1a7d5affe6cf950d305aba144dac56270a787c1398b82bb0248ea240331eae54c96c278b615a956739d8e1fd66f4fbcfc522b1cc1d572bbc92e2307a7713f0bd04b333a1a2ccdb22fba5384308ff8d7121ec115922d2f7abcef53ff7a6c2aa72c24ef150034345d56de1275c13e4f709b2884c722134ef52d5376bdda44a90a7bf3c102b1a60b3065c76eefa1df232ab9f3d9f5ce927227818e4546212b9c311d9fc017ea9c91c5406e3828fd171854ec91ce373b5b46fa610455c8dd708cb07d42476aa9121c60e0b92e476ce67b89c6f622fd7bdd09235fb95e432c3040d6efe92cbb98d71959e2c31b9514b5f7ef887560806b3a47b92691d4d79da58415e1709456037f02cbaf0f8162dd5a83bc8c489e6e9dcd38cb829c5d36712e6ee85e47859d426cb651504dfb81c995533552d3110527cf9996e3f8364324fc03ce5acb18796c2c37783e14fd1973f00a4d1798eb8247f2e4e53b1829646751d73437e857b762e98d2c0f1ae192703125207fd8a37b18cee02c2dd370f12d0a3e7def94c54e5eda483e72600e0ebbb7acf4a6fa4d0ae1f7da596f15be8f850b044279ac2bf13ee6b2841681a8a88e3e248c0300117f6bb24264ef7a2b4066a2fb8556625c2b46adaa0e7da60552fe1c4c2606711e7a9f982f3d190c0d2d7a390df668a21e437b09a6d8031942ed53a1a8ffdfa66f0b7ea37882e5991e50b4795de753c35a69b9a3774f69280ea995b6bea9b6693e82f40b1f7f684f58c3023c51831e14f0f436b33c0febd1b1092946e6d923d68e183fb5dd7ad045e1940e66415fb154b29fee640c39bf8d7ed4fd54a19be8ae75143089cf8b1133f9d2e65b50b3fe66535a8159e88c986bcad00fd73410e43db5b09a3c44e189f945431cf89195d13744253efd0c493381e11bd5ce8a2451117dd35fa0f18799b1da03a7b22e727d236e61f326cc8d7a5f61094121d24dc30bce46d6cd10794b61be676a4acceb2433af1ec88e17c65c01db411b1786e288c15db0a6bcd906bd2db76b45a2fca9ab70a0282ffbeb3e0819fcfd93d21a4f02c8d85a64c490d097c9b55a4a84170016df4d5bf9a3d0ac49225606ed4445175b139670ab58b6723bcd0286423a6e28db495f03ac86e27af4826af29402cd6f0bdda926011ba0e7ac28e9011a8937f2b464ff1365a80acd54002d4d699ab71bc3e53dea29092f7a7b96d74ef741eea53b8e7c56c8fc646568ea6bab918bc2d2685496ccdcb5e0941c8c2929d896e714d44ef83f309e5bae92fde3cc26c151f3fa00a666e00241dacc372157578e1c18ffad6775ba289d1e179065cec6dfdecc3cd228f2c1e347523acca7bd7978f718932a6fecb3d4b2a30a4730945e99bd82aa8cfa3180bf6d2580a680e527e41769260a90897d108885a5e13ff0efa1cd59c518aebf82ddb09537583e883cea309c9089fbdea1268e99348b820ac535dfb82cb133d093c4ce93581493cea24fb08abff6240e5fb9d74af30a192eae6211b05b86d5e28ef842bd2f5298dd08847e70141b3673b8a186ca591a2afb69c64a9c2656077686e846699c26c3434fdc2f1fdf3fce71293847a8589386a661129f6b090cc75c80e6aea5d72e3183c7118104a70f90f0112e21175b5eb752bc17765bb9b34cb2047eeacb0e8035eb322a8723272fcb45b747422fa3d1ba6016aed809d59a29008d2ac866127e25064194912be131fc97a7bf3bffd3e7228392846a7cc51c93e18c086ab4427d18b1575672827ef4642600fb187db22c09f600279c7e54b52cbd16988c7ab4a81adb80703e00d2d5f33ad3d324796c4c0f04fce231f50078e4d7e58c972088ce267e885f088e3a03a3ca918b4cd46c7a3d32754c1c2088803945f6797a34cc905518385621e95ca6314b46c18685a52bf6ef8eaab74131b4a6b96ab6f82c78a4a0f75c5a44eb8b66f7da73b8aa9714350733043331591b7fb4147badecd0c67d97dbacae8f1f43209738e15cb021c6d0534dccbe3d45fd4e5aedcd7c37800a9addc32b367ba46d7f1a027ae4646d638ee9659af4f40d7bea683158c42ff539f6b22da903e40b976858fcd9fbb45bee10cd01d550d9b90e7cf08e5aab200d1d59c2926ae1e38118b10e241e1015b22848ad6a01d58c58654694f651d2b2d7ea1a792716afe617268ea2b6649f2a516e8a6e7ac88c076d1070342c404a696e488bc4617f7cc443f77a1cd50b7c86af6a1eff8536637544555adcce21651d71c24cdd5fa9ea8d4e2f93e32922147eddc8412430427344431284893830707f031779bad5bd726f917519009aae87b19f63cd8df8cd3c99ca1d8053fadb758eab111256b3a89ca80f1641d62f15194b940edabc35925fd40c91ae3014400571abb0c82242b7032c6c30131924f664b89f0b5f1d83565250f24888eecf6c4d2183be025a856d1997ab1cbc80f1341250821b61a30d84b1694182026a824a4b069535ad8828eb295cdb764f24c99b695186c5e9a485bcf5fe8d7fb7f3da4c236b801858d2d0449ac12770d03b32c355eb1ef8398ea3c1302b03450dd1ec8afe70527e09dea36e78c0517dad3351c6d32c8154a5700a1a9a77651936cbb6dbeaba8052a1d07a1456fd42de4a39aab95f6e92d383cea8100fa59cbc3ac0636b0211a83259c1a842d8e879f3697178de1b612c0ffb677f776296bf419fcc0d962a2bc18463fbd06854eba1b1bfefda7ba078ea2eaf73731040a275c259215cedff8bbd13210aca2a79f69c6e24b8d8d18c9bbabb6a6bf61dcdf82aae0d3854b28632b5de94169e396d3923df27af0dab6db9bc2fdaa46b8e4a5ff94163ebc30bd5708807091b36753316b42428470e20805b22c91605e552d2c77262ed86395b76b6a1f4216795722ee9d44696a00a9a652b727a18d4dd1121f34f45f763d91ec0959bc8d6bcb81c5692acf36a05ab4889d65faf39bd9d51643b5bf12fbfac12ee3c42150135a720bc2cea8dcf83206c59da3d9083f2639ef8d0ed3c9a5b438f528e861bcd3604406dc96dc520469e624f5cd2a51cd206850b603a70be139d50eb56f1f823004d4c533b667c55bad2dc2034d1f2ef48b5d85e33b037db6e7a9e9930a77eaa3042713875231881c792a1e76ee93eb9b8bb28bdad3cdff6e54ae710bf7ab47ca22e6cc19aacb4828f23a001d5410bbedd3c731493ba3b7bb4124382db0048d0b3f0b7278cf3fbde3a3610c5105afed542902491082a8566224780f4db3409a7eac9b711205fe12ac08029c25e04a041be41843957bb15663d76c1be2c57b0a9ab5e241d16209f8a6aa63f8750af523fe7c3c05e40e0c7e5d59789cba33b23647167f97cebf0d6c4c7c87becd59cca146099c7d9c84a768c749606f724e214f46833b988ccac0c6967abb30680dd3b298f436b9b87d47499e641da2b1b0b4355ae42d010eeb01ef3f209bfd91390b1e63f824b53abb34f1aedf2a3bb3e1546c302ce55d7879b2ff46af15062c32eefd0a80d5afbff966ed4b67c74d755b2629c32ff8d7d52633e98bf1746113ac66b1448ebb96ffe29148612cd5567124fe7830603a22cb44a925237d7e8e210e8838fd06aa5376bb0a277a9810f791dcf636e6cb3ec1b0e7fd969158e5ce4300280a7eec6d5b5dd32986957c180202d832e64289b684d9fd270590a50a5cbf9f5829b6abffb8c7eb699b421caf980554f08e7036a67c1c800b6626efa20463e8b84934e7a0bd5203366ee2d66e22970a583d1485de5d6493d2f75d01ca253af22488e7adb41ad55b033ca1eea4dbd39751c0e8b255c628e25b5ad69a78de2a83573daf509f0bc6ea65437d38899c1640bb7f0668969278f7a23f59e9fb3d20ddff8fd0a82f1dc28bbfaded5e28e2eadd6ae85d19c5d589b0754829b3288ddbf3b1a9b2824749f59f12304a9e4cdfee92c3a6c4420f296ee7b9c41d10e8da01ec0acaac844068fb6dbc4cb8c04b2d01f3bba8acdabc69cf7453de6d9498018d5fb0e0b5d97396865ab5527162cf2012f5363d0f5d428e0615bc98893d0c4c8f11a9d0d2db613dfabadbc4bda6bde328371fc1cf3c42b883a01f0682c688878db83358829cd1bb53fa85d41af1a17b5c0e28c037dc2bbe11a7863ca5b92bf06e807894b121a01f21542b3914d3287049b80aec435f3dacdaa0367753ffd263d47470c77e7c7817a94724c3a40db26a80ea22b98967615d63505a6e447c9058ff7a76976851f49842963d69dfafea614322e507f1e25fb304eec3c0b1637b135ce973681c1125ae816a65429133e2adc164f83fcf1f03ddc00d49d1e089592114162670c5a3c11c41a081845ce03e5dd575b808a5b01757a1d28c77cb13ec6e400b1b9e385de51c94ab09ebbf263df133690f78a24c989e20219e4526aee64b1292d862e82eace4f21f99c6e6b2984673ea4ab5e63face3d7bb40916de8725cfd7846cd2d40fc739643beea03a10e235fc2f379fe0d6fa2014d7a215e7982da84b93eea6eec01a50cbd9fe86aa5f5dc3d9eee2a63f4f93c8fd8fa3a0049a10ea1487f6b98c1b67b719772108aa7c95fb71452e3046dc40294481de86f98366ee85a2d26a4723d0183ed105cc4607f67c1df8649002229d98ecbcfb46f9811e5c6868cff885c20bda05cb4911df4868a9687e0f2cbbf2b769a3bea16004bf89a00835505f4ce260f5a6abfc62ca9f8181c5d23ba44d574cfabfd126a7e01c3f84748c5d62208ca2e4dd25e9a8544b2638be81ee6b1c3fe60875d66904fe36131d54eaacab92725e49c0a4935eaf48af01134df5a9c3a973c28397101ce0da12df78fc041dcbb701aaf0fe57b48bab150065893bc169054067a4990bf2e5187b0296ffcd337e7e032fe40cecf4d790a620d504ec56ff47762d036f6b85bdd895d0876e43af8a41d0462f668ca8a6516fac980903290fc818b561ef3a8c36eca49fc0ee5bb9de1e9124248044aa67c290fd3f47a7d912623c13a02a3b424a634d66dcab2b9fbb6fc0b7e535e00aa6e66870fda20a80cbf51e751d605c5d8a134aa33d5a4e1cd3585797abf917f69ab8ea891aff744440a9c036c5aff6d96d95d1cb1806e9a24066995614f5cc0d5cbafdbdc53534ceab5faac24b00d80e09535fccabcd1e2cf95d59d4fb57edb9a6f5183c4629645899d1ba292f13ecd8750779b54f269b71aea900d7aeba202923c62aa7c64dfc777b7e1efd568cf59d71e9f03f2d36344cc3f4b820225a7ce40ccb31c66af3ee72797740a80fa82a37ed280a3e112c89f62cd39d66f9becaca8d365024323786af3741517de6ce88f5ee88cb062451ed037eaaf6dd540a559ebf8d70eeba4b83dd83c605785e539b06953d64c645bcdd6db93e9532a8619abd5d31e96b9900cc5f716c737c11b42d25412d985a2c1342a0f762c5ff722b31a0fc1a7eda6ee211a9edd03c8033117dbcb6e8ca49e27edace090e7bfd3c75fdc87c2290346c07031836dc05e3dab9edbc164c00026c590de43537841560b76eaddf1d4e009afecc6ec8492e53c32800fdbd4b2675831569280b72a0f81fe81544f7cdae3eee88c4851d4a46ce01f8a1cea322f78634e3812d8ff0e5e6571ee04e3bc076cc5aa40410154cfc01ab07449f80cb6545facf628c4326c4c4eac4c0802909ec0ddda5770c22a6cf1a01b42104f8a3cf9aaf5652f95ca0a066979f493a07b75c428b85eb3c592cbde91370049c5b8dae9a59720110067883785b6dfd19081ff89f56a9a3ccea184ca47a97d439f40d0079af4029c09cd0a2b2a283a2fe6348165a18cb260c448bcc9a9509a098b387be2ad61c63963f2cd5bf620671db2050f86df1160298dc93e764e4ffe0ff6984c05541099d8fbd9fa3a8c2466c2616a453c0905cf0c4c6764e80170294401c1e6fbba5e14e1c8155aba150d8f340b6804461db22e32160b84514f778b7e7cd4726a943d8bb2ac5bc05e74d45a8e3ab2c6c57473fec9d237f25016bb67aed3a6d30c4da25330323ffd8e97769d80f66702f4211169b9c10ebbcd5bfae05a11edf749d94615973e0fb0a51c5b512e50966f8882331d03dc58e29eaef1fcac133c44ec0a8665034c1cf7013e704d2b410c25863dd65a0429cf83335154aefff0ca1baa4e8853241fbbcf5bf6bd89d8ccdcc0c288b578a87bb2c5b0508d2fa1e4e8c333f1fd5ae83c8252742bf035f79a87d81df9caeaebd31064d8325d980b3906403e1440d8e1e995b921d694aeb11dde551930966f13fbaf244a4806819c623eb10fc62242586d2be792065ccc9a50735097c6b427796005c274fe0ce92c08c511aa4d2d05bf346b731af4f10dfab2a81fce3661776f5bccd872a5ee8f03e6a9844e79b53e970b16da02b059702e88458e63a865c6ea78cc361b4a91acdb9afe70a2ed3dd649e427c42d9eb096445d17d4828959715cb3b4dc973dac0dde43e252a980dcf6f4f59fc0d4abbd4268f2226fa7512efa883516fbc942befcf1090d1b7beab735839522ec217c12281da883bf937845d332de91801f66e631cee96b5efd10cdeff87ee698c98b07f34410de61239590e349bf43938a370eef454e4b5c9584b30827dc523112d89dfb1e5ee8dfaef04bab85cffef5d9769b5b36a500e31005941062f645695ee724870d2c60a489fa07dc4408266fa6c06111195a5a36dc65c9f9c2d9eb4fa48667691c7b88b3606f73c713f6724d2f6399300e3b25068cd1ed92d7c18041f83c0ae3166030a24a0ffd51024524d325d2720658d93e092d34f0439fda3eed427526c5d50016151074a945ecfe775e0a03d21a9f0067422a1f81c04c52378c9940ee3e9cad2c42ff3dccc6c14ada2ceb07715a014f55ac48f8eabfd4bcd8a1a2824d9455385dc0005ea33be0516888a211014871b14e4c1080c0ac0eb901bf26ad922fcca37170f5cb03fd327668169ea53e4d8c47414148e6c41751e64c76f8b4724295a98f19b015866e04634343a9c983aadef4d4f0b09be0dce34c5388c59f4ec274830b6516b1204b0793bdb1a64d3f98c80f874023080a883ee43447067b89feb979103aac2e33040e5b4486e4a48bbd1ec0c9b5ab610dc1956a2dd565257d509eb0c5dd07442903f8a21664e8224ad8bc4cc7e8ae9cad5ae3344620d8a646c351fb13657ef05c5bc217ecf1ca93acfd16e1ec19c577f25466e6125af7394c77b2c87242d3b42ee9ed741688fe58181bc0bd9f0e17b17b2e8d645ae021c2652fb50859fee4b1277076e03b7eeaf0cfc09cff1172bcdb9485d10f4c4e67248bce730dbf50785e56c4d6ee06257245ad3b2596abaa6e9be401afbdfa15dbc4a783078e2560380ad06c7d16a1bb76965dc60eda1a86d1882af891580c2e60dc5422ca405d244e7a62f5c389d6d031cf0c6280bfe7b3164e94d5c0ef6fcb93fa82bd2d4e67f4cd844d1019fca52dd7e2e733f228ac137663a9e4bfe771b2bcae7c22337458215a2196ee35e9fd5ff9f6023ad4a080d23685dbf23885a8a9a179537f8205ef99105a0b720580cb9a647399707857c1929868b38f70f5902d9a1f2e8d28533a8a2c332144edb2651fbbea40ceca02832ab9150e56d088579f319e63e83af0677bcf5663db23e9c1759112f4ff3aebe866ea600a57b81bd37ca402b08e9a741c58eae55095a1d0c6212718c6ed8b9bbd9bc6c85e9466489657d6a60a262fc3916a11ddb3cc1e3ee724214d80ada22460b79cfee1a848fde568b2bb53e92fd927de297ac2fca2e5a74b643afff1f9c343618faed09b939bda8e47f822ed43a0f99c362baacef45d150385d4ba998b1cf2ab3dd48ad85469e0950cea87653661e7e390156cacc204263f80c86ba98a068289c0ba145706abb9a617f6eaf7ff6dc9b1c5d9279979f682aaa46a12f8f6baf09068846a5da0bc1ec8d72d648981a11abd5505fb10bfbddbc46f2f839e5aea8d563449ff2156f2f849cf635be3018b24dda848e17992abe4241f4f8cc2f0750e2dc879f9cbd1872ae49807bb1408da2128dd02d362a9acd3c321af5f8723e27efb8f2dc5d33477a8ce11a478831acfb710ceb467cc41f97aefb3322dabdf49e119236019fcbaa2b98f3aebbfba6fa5a42a5b460b8dd575fc0d4d60e41ccab7db0a9cfa17d5bbcd17436687d80439aca6266b7750e2f289b2e4a06ce8cc434870ba8eb4ad689acbe25907d7de84403679b21b836be14df1f64c2f2a7913c5525eae69f8e89f8230c747548ff2a8ee2b7f9814a5b7fde1c30b827248e98d86319bec52395cfd8e310f561ee8c22fd5ef459b736a533ab4b696b6157ce47fe51220e7e0ba4a2d48062d33e64ddafaf3c001364060aea8f03fb6ff28bec284cd65702c213f2a6253e2ce2c39b73ed29f99e7fc970fd8899a8c9969320750746e148836f6ed5bd3d25e34c4e77ed2e9ff8651e04cdd5d1a061abb4326a1fcbe32fb645e0534965bc9aada08924be4fafc295c89e0f71eb2ce20901c30c15c656f7fffe682cab4f06aa69bf0a2a9567ec9eff8d7b16e90e7dfb57c5c15f63d5b98b7079fed025acd05296b1cc51aa8a60185e19a3a5d585eb0d585b9ec5ee4be2a1fc6453565cd42ef77c10014c46318330b851c9db00033742a70784b22aeaf64f3b03dce287a581b93d368f9be4cc194931e9bf93acf8e7962d6befccba481afc18592ecf389c92a9d7aff49f17be864e960285b62758d89404e44b281cbf51b90ab17fde4368f5a82eb36f559201894acaf89b8cc7098c68c42631b5830410637e3de037018a0b65be8dc8f390751bedd7de69d51b00b0dbfdfb019b6d264368abd6951b1a12bed59ec65af5ae9dc496b413290673817f76e90749114e88c50cc57a8fbc2ce93b8768a297086b99c52a788d77374f73379d67dbc50e18770eff5702bb1916a7adf785c4395555a6496b86320c3e095a821f524b3eebee87c98ba7ac9e99da68a18c802412a43176338a34811433a14922418d5b47a68dba8924448bdc1a687f7924ff3ce0b7ae56bb6e3b6b31001544d8d28ca240ad48f78d6db00fe3c8dc5692cbd0135a35877138e3f43ef9148a6f8e71d1c7f889fc06c8546c3a3fe89703f5995ac749ab4b8a3f9d72e4e4832cdb078e3cab515238fb8bd7973dc3be996cc0a9b2ec7077b13e881a6aaa53f49bc81d67359d7ea80a38a5192d1fcbefaaf4af31ccf9f54bcc03d4370d88f50366f5db07ea445ab3d49076b4e4242cfbb3760ae07072a104720d922e517f05b6ca5ba9e1fcc92d028ba65af15558e248456176217eb520363ccd82e3ec32ea71b6c4b8cdda880ea349a1e36cc5cf5e0a965a42179836423246b69eea6503aa5ee54deb4a46ffdbb5dc009792bc98904e7f8ebf6f269336de9ccd469b51fabd8b3279023ddcb5c6a6932533694e064be4b8a2f84e29c66a8cd22f2f74791371f4964d4bc61277bda2eee049662e16e4d3b7f5e614b99fb4e8aa9d5f482ac39aa917072026cd5dbf9268560b5d68d26962b06c385d1cefdee78442138a15335ee2573fa6e1dc7335db044180d645ed6878c31b9ef23d1b5f4ca2f63d17fb41d3e3f402934983b8836444d81609fef8866c94081de6ad798b21ddd5439b478086d6986c75faaecaab3ea2947610ebef2733395d3bd5a134e9cde54b10794a3933395e28a16763f3e29f2f446c7968c2aad644641dd5814ad3ee7e7e4bea2418646542e164d3eeea032160e48df67662621288d33684c321278a1f67814e2a34b16ec8f4bec21cbc661011223e07c2d72f6c1915be79a267ae081bb5aeabf221eed5380d2587cf5703fe3e6cce5ae8be85a2b10037b0b7251a728030fc81d3cc29e6388229f9df9b8b0daeee107f7ec90096865009ed83e84d06de67d6e85cec93339e3797a322614bcacb10d00c8d48938b26a0aba590263cbf181dbb125b0598ce43017eec76e526aa4e854b790f83ba2695d269aa258335838424fe26755d9fbbe6c891f766c8d029d4863dd65acf7b3186124805b5f5b07458e4946c7ba1fc8cc1a3fd6953208366b7c8cf84bb7d0958fae42a6ae2dedc2e5ce78a138d890b9d2c17789fc30d1d0872db7daf537a3f03d4f9bbb76f7ca63b3349a51f157ce90949e712ee191b8164108108fe444a8cb3a278317ddb9c474f2e959332b6f2489f5495f5a683c06c8b0d9ca817dd74c82f30221bb42ea6a92da23512596d1e3c46be34263917cd6a6f2c1f91575c318f71cc75eca4d0d47b82da83c64ea22b143d4e155813a211ac04519ac397b3dff1b1fe18eb074a9efbb3ff43bec70de8ae5085463cd2dae9ac54b84f3ef2e1fc528d4006410c7289ebe49f38596e9aa2a24fc55db14307bd7a93b57352fd73ae1c6870f5794c7875041168f4d2bde0bddefeadc6c0304a2e829f21cc800473d14185b852a7990ae06ebe36a35d16da62398c4b404338d2a1e16b07bedce01e86f2b766bd69ee0cd75756ed9f939eefd2984dfebab2d177313c56fb04e034ddccaf24674431a9cc163497fc6473664ce772734c4903d267cdeae8d13493a66ecda276b2651c9628836c4ee172b8c256ffb2dc56d38504ff0c5e790d5cebb05afdd4b43e5d4f3c1b7e309040b7be010abc6537b0c0e0d86131b40e030f04160b8a45fb19188153acab80e3f55a2086211c812837d540dbf50bffe035c10507a24b39f0c1f6dcf26fd1d35d1d536435fb58c2deb8eea617eeac71a8470dbc0d8c522ab3bdbf67cb56aee24e1cc7f5b9188cfdad4b6dd457b25640d19979d32935e1d3bea172073b893058548777f6582c86c6bee20c1bf3e99d1cb65dc9bd1fc08955c6514d8c9031f228054f34f0a94b11829fb87b3f144e1075a286d0f264926f11ed13515a330c41ea36c8376f9277affc5262b62cbfc3795adb07bbf01a7f7dbfcd385aef75dd2d92653d30c91907ab821a5be99f39c739093d5158df1a131f0882b098a5457b077126a5bfa242adb2052f5abfbe1069287648a80763ffa8024fc8d884dc1b6fc3dc3a882623d4c693eba731935c8caed50f752b1263b00f5b80c71f2586b8e9f0224491d1de13375bb4afa6a3e87fc040a2fe4f87cc9205c86b27464b4c12da072e6741a575ff61ac0df729e561310ffd7978b4d00c86406ae2c98995964e13abea8c94d6f7aa9d24024c30831320cc20743ed62b152733e8ce6720c12383d05d771bf8e0f9f7267513aea351c62a2582d01edd9ecb41196860a5f1572c0392cbf1261a0b09f2e45f392029f5900100286b3e9dc3cb1e3426f23bec31fc6982eca51c16e7b518c022f8bb1a7de3c200d753efd7aff2ad590d094448db45fd9d2070462dfb3f8fa23ce159064a980b494ea8c033380e36fec75179a80395b8bb8f785a70381ff8b64a0198fadcb87d55622f616b5f7dcf5d3f1ad85f18d82b614b983d80c9a6df1733adfda264cc70cc44809db3d2ac9baeb2203a834b95fe0be170c7db70ec698a8986ba38c9d91b265fbec090307097526c1887e87bb94ed5863cd14ad242a6f9e5acfdba564dec71a0960e0f1b6e4f089be2750c13201ec2bd5cf50c1d375f1b5b0029d583f9873bce68f0c6ccd01f455571fe09d6a551285be222107d9a087c01f9bf9e12e26a9163b9bd3fb11071de80181a6e8d5d1ccc0decad8417d050b66b2538bc2efbc2c0f12003fff95bf460de65717003694c8a3ff281668810f95b1f38f927a60f04b46a09997081553e97615efd9e44708cc924cb1dc167c02c87df1609cb67cf732f7d89a2353702281dd2f45c7feb8599ee19f4b88acf1c890d33fe5024bc3d791b29f808518d4aa457f6c84b5a656ca535addd26a3d1025002ded31c8ba99b7e218c8689d3f2185103778bfdc6cdbed4eb05082f110a8930de58c6c3d212356cd780c5a2054637cfd88f1b8a7adff2bc855a14fb69ea1163c665a4b8de4617ea316bb2d7eb2b8f918a0bb620693effbbc761385d21b465429aa6a998c4f79561caea1648d46e80249cfd3eca18bb944878936aee7c2bf7cbab741fd37ac2c2686fdd36073160918476510af19816ee8a8ffae4e4e47481cb8e1aede3d9720008f19e6063bda0c2309437738ff1673333fd9988c28f56753fccd546ec06ca697fb05c3d8afc3080f1c8a8899b4d17a4c4d5271b9d5be7989cf65cb79dd0f2b616cd6218b89dcebb16c0f63dad760580a9c36be7b170fc0d635536ac52dd9d8606f230de9879242f9a1be461dba0eb66a13bb131cdeb0f28c63505ce18e929ebd3c270b9c8636adbf637e62547500b7e401f467f201f5d113e147000e481b570d84f1fe4970b855a10612350dcd753ae0e32aa32f8573829e180427c12d3fa030acf9caec33964081e0098ee8a0e26d4fce9d03bf8f925be3cedcea8f7aef7a4233ad7912f84750bb1ce3719979f519ce7a62e0ee77d76355042b0180ca4baa8fc901d2a1bc9b4594645dc12038dad2d3d87f02aa3ba5b70f50f2e494b025bf1b43035938e185cb93968b7c1d308e86143a318cf2f8cd2647a46cb93dad0dc1c7a41a0207bd4c2e2b5c398cf401a2f143bffcb61cc848f123b6db3de42a19cb47637416ee3c124f7e4f6a603e089c3dc1ee539e0e354055bba36e55d9e4f4daa22bd393da46caae40b4a5fc85f71680d98f8fb381115ab5a65b6751a8afd24152fb72edccb9c8c41978b503c4851d21628b84304a4e340e9ef3113906c9b4d6a902553da82aa16746097d7dc4eb753e07ae43f592107edd121a2da2b779a215c7483044ff2e1d39f9544b9d5720b50880265c5b3712b3ecb897a510b4c80a865f370975f8e848a94692877fd9bbb964170de3b1994a4ae1c6236acbc710be5ad146c77fd00eead9c0a78cc5d021ebd2bec32c5f2825dd1283a51bf9346f48b49e4f120d43f5b977bdbc4f632163bd77f0669b15be30fce0ee612877828bd2c646bc6ec82b358d0a8ebcf82dcabf436d6ba48dfb11f165d3aee7f55ab8d1f175c4b348d4fe0dfe9904e1484c460ec5ba1ad4c80c32d12bc32b29eb6ef873c6d541d7bec7ae569719fe6ad84d95b0501ad992ba2df2e98343d0410e6349ff48a25d4bcd8e35634dc81ab46293ec6854a7e22a60fea7851262a5315f3a07d91384c41b881e0d4368fcdb44fb588259be1ad4820e8640e79f4fca2ce4a985dc51cd247e80143449420783bdd62ca2e96d2b5b960d4aed7e9312a7257963ca7c548918438b3f2c584d959bccbcd70854a16b0dc895d4f0a522636cc21b6230b743bbababa1f34501ed5683ddecd028d2201b5b64862b45ccbacf1d58a857cb2c414efe1b1fb52cee3e184c0b52753dc689fdb017858f1c8d64d2115f05ee7ffe498172c061112893df36bb212e0d9ca08b5dc8a5344e6ea6b265f94b3afd0c8615764e7935665e337efc4252ad257e5e3646bb9e61bfcaba347eac7df197555186c72db295fe4a31199c64a8ea5d48af6c9d3e56eb844c5164b751f1a0423659bacdc477a78e87e80b0ac221d163b652992bed089120548b21216d661fc267a88745f618a435730a21f80ff0d86dd2e59f7fa157ed010db960eac5f3cd2e3167902fdf19225be61728777c250426c79d108db709007585b63a21589f8ff6ae2013501b6e5ac66a0a18f02e4d013426312f4f57366df011964ab651806fdbb1b4f3ec6f0ccd8cfc40bf564a00485949c281c773b1d3128af42dbc2af4b1a458cc6ca9c214c193a1824cc10fa34d3e32fabd5ca5bf3b2e906dddb1b7e5c2e0fa6f3534a2890037e5b3854dfc83981effa7b3d887dfc5a406ad9c48d55eee8477a233372445b2048abd7af0c8f1ad83cafa9ff10b10a8da3ba69e55c75e777f193e32266570b96dd5fb914424eb58b6442c454772bd72fbce08decbae4fd9591b76acc1452a8f2c3be908ad834178ad78475dcd3021eafb7fb03b1f4bed30b9d895c5bc3a31b5e316d35927fd7109c5e1f074130dda1cfa72047967d64487e7f20da2c7570df6b967a83e0ff7539bd00506c9f53b74e7a2116da93a20fba0c1f335aad0e202afef5d184304b05ef9cad8289b79dbb2c116fc2b99c2f1820855cb3dddc6503323441f8cf1e440aeb5630ccf932b0726cf0a9d9a7b4a9d67f56c17d670edfaece0a601231fc96026d5662c57b6277f20e0aef89ba00260f561aaa1f3a70860824a17043ac98dc33ef7a0e7b9f6bb62cb7d4299c1a23e139b920bc20eedcb2fa6926186a1c5e85ffdc80a944414ca4de17beeefb4cf6b2fa59563e093573c1652601b22a487b57c3a487122226b14f9b4011a692d274d01a55b6e81c40f356f132440024015e4fd9538882a208f7a8d7c5a94737d35c2a693c6408a1a206eac18ff0f1836a943f45cda76f8812ac60fe015200cd5cdde3c6d9f25d16a27509fbf17366843d19ce9c7cad9ed046a11fb01e1b9e42b89640074b490863e0d60013ba8e84c83b7379a644542b41d6f601758a9776bd587b299cc7ba3756ef452452b53d83b10a10f98b01066a12b65ee28ba3b2661488b27088e4f5c514e85bcf558e1782de1855286717f7978d52949cdcf9fe35b6ee7c237b7ebccccd0695e4965dd4816c30f630de9b0b619610b777b77087d88eeed697b93275566778d493b0fb5b6588246bf6379c24ea164fd675811e80f83b24e76e0037e667e3256f52fcc53701dd6564074c3c47a2f26578c4475f41d2397be94af92e61df1369fe1aac0b5c51c296ea324e06cdb8eec0cfc6a02943ca4d172080567722c66ef73c29e1db4f7df4dd6d27d52cb0e0dfba6fd57b4dd1e6b5fb2d94928600fbe9e883796d5f7e13db2743575fd72e53b920534c1f4823f5fcb3d9bb0b66aa4de87f6fa60c8ff1f9daa0e8a59bff1fd38383af8d112cff2f53d53d653019d3051892bff13e021b9922b9f2de65d1a2762a22d3980e766dbf22661a2f899a288441fa8cf8cb18c305789e094910adb2f464f30e85b0d6e7acbcd94bcd75a18ce659f10ca67a582f03495346fce192484e1ee197fdf0dbc64bb1949eab3fb8ec80205c959de69153f887805bb13d14158ab8bfeed72273827e7b7e8b10032109ec6d47f2bf56450cd4f1700f6b7d05d5c2e3dd391caab4c5d4de7d8513e23bda4a725ad90e9ee0ed9894f4bdd269f57d7ec24992750a9dd0d0d265885c85eabff7f50eb8f822c9ad1c974af045b633f4b8c539e28067110c69195f099cf2a5f5891b616e1bcf7c798523aa748b890686c5c5a31e58c9c90d05b098c88157d46ff09703492b87cd31cd001245d640b2f5895da49051d550c164a504edc7548ff4bde95d9ae92b31d85c0c50c068d7a9d43957c043c689eb946588e6c529b1122f2c0931418b6d51f97b8de82d8fa64d80e918ae738905681f521ec2a7e85b727254c1a3620ca990fda96d5532718162bd276dfef6122899d8b998fd0bea4e8ccfceb6eb53089c9b6c3377cd479267abc4015cb3554e4ce97ce9d251b4209cebc2d4e8d43ec5cbe0ebf187e1770671ad09a0bb5247f155dd941691e3660d6e16cbf106cb5b9ac4e29a845c14011320c1f39ef81201f2e2298bb63eb399bb80e10535fbd0500de947203ad908b1bf069605afe86ca8a098a215ea669c569b8abae779fde433bed91a30528a744cdf5b537388229dd7cb00d06b1e8ac6be90db3bedca984e3a97dbd5589dc317038eb360bd0fa8a25812305462234c0c5e63a38193f7089fa1180c2c8aac13e6c7c9163295e6c1fa9fd9080ba577496481ae21b93a7468e4546dc7bbdc2b3cd19be7f6505e39924fd023060aa9fd4375802b3e215c1cf5da4cf5b1bb3459d8bf41f4f814b76845b12c7a61e94a7dae787ac4ce1c45d8462589a5348b5baa13c35d0bd2ad4ae7065ff6e3e5f2c38fcade7f90a409c172c2df1adf22da7cdd49fd1ac6b07cf107ed68b47d97a0954b252d4a9e6cef22ea04a8735caf2f69eda703785b2c269634af1ad1a245f29f525a8bc91ee3149cc4f3cc61e5a0e3d02a81cfdb1e50a9c28a2c54f375cf7154d99d2597a7a54604bb40de9054a062787161ed2a6b7daecdf36cc908cd64fc94502d81af1e1a9cd8bd504509cbcfb3ac4e047c4f9509189edca829d51f817b8a4640611138558f7ac021b8fea52e8681043b1cf635ce7d936836d066add5f60d19faf67aed154a5525b36d87c78caa20ff0af6d1271e8115413603b6b49484083c7c3217dcf4674d123558d1f3a9893a37cc87bac82512a4550f7351d0168d5786781e74792226724e6e99058e9ebcb7433d720c9b9276c59c6e4c4b49362bc601df2b86165bde7e8b4b135688934c72ab2c6b3e448733a3e9ee745b4f0115cf60a8bdbfc91daabfffc77085e9952adc3f9af556befb2448966745ddebde3030eacb4475efc50e43c8b16b1f0ff7f2801d90b42578f8610ba6368929cdaec7ef404d384ba5bf6e2bb4c42231e7d9828ced570d4eaff465c922c266524aafbc4f81f6a7b4099d6504c1344a280708d377e242a12b90e07c6e2c54741619bbe88bfe386f9a75be2775d4f565c437972bac11ddca19230bb3887718b4d52064347dcb365f04f59c76ffef6e9a9d8b12931ffccb8d1d9994c0c3ea62bc97e81148cc8f4c7839ae3f1c104fbbf24450971fc604b6189740cce32b8776de92d383fb585d054760323be6fcdcd49cbb75fa82a07aec0339f7d83e35b344a1f02669e1a18a8a4a3ee371c63caf70fc376988b5629d84cf4b10b2c4d7f4742b284e5bf670a9fdeb41ad38c327e5ceee055b08ba8094e06cc2f57b9626cf271bb55125ff4d76ac70c93e9a2774a9f17933123537ccd824a8829426791843a9c59f0ab03883f2820919f956c3aa965a6c1db1929ff61efeb44901501ba0c333875a08a349f41299236eb9685b5aebfe1b8b1004f036c7a8b9d876b928e7844fac2b1aae1c746b9ad38bc22054306437bca53caf1349f1730f1aace1e482be1adc9ae691ef493d44f3e5c5c048f0b63fd1e065783f0d905c7df2148d7542ae95b150c3cb4dced06d9aa0077692b88853f17c8022033130e0e480e6aa4bbdb3b0c83991e7a5de0d5e0dd700a15852f76e4a384e814f84ce01410b629d805e26c3142ad4206e7a0cf2c5c82a771a0952ea454c919dc0f63734b765d8591c8d33dbab72075321e4e4925a42322d660c37e8ef7cf8dc9263f997e7efe22129c67007ff878fe8f554feac303c6a2307622e088726fca21ac8b4fedc1f8de85219353812e6fd304212dac22a0e4bbb4461bc319a2d7b29da2ba93543b1b30d0394e2c763655cba9c7015acb6c91ddd865eff80c595cbb5709655a8d70e212069af1318b4a9bd980cc8853fc5f47c100a59df90ea24031e4fa81cde4e025eb1512033408d4baec0c853c11b56278f45cb62ccb29b86ad8f45c0719c4748bc6007683db0ea76aba403365a6471b52f62944deb0d44a8fcf30898448f6a911788e3e52b3592d2f4dcbd849ce4516288bb4be0e804da5015ebb4b619a3dbbddb5627e9094f202b37220e25a1b76171a26a2e37e300389ce51a03b0fbbf6d76f0af24818fd2e06d26ae24cc9eb08f564fec76c6fe16b02c4f1325b0607e9b44190a0254b71751091d9a451534a428df88dbbd3e9fcbbe3344cd8dab86b5b3152b568b84877ed7d95905e529f62cbd543f486fd1f4c0968c73f725e8b21006d4ab9b3f85030527c5fd9aee9cc8eaa3a0272738e053651dd61237c5360ca2b73d03ab661317de83a9b55cc18c549620d1037d5f5aaef608b7a8730e4f19091641cc762a21367bbb9f12ec33a3e6a5671789f91e2079bb42492bc33b424e3caf22c9eaf916dc0ee18c1296cd066d02dd40c7cfe2c881da6098e09c5e80efde759f3065282ae7815c3b9cac849c43189983e9bb398c161b7272e4aa989fff6273aeeca3fe00185357c9ebb8e0507d2846fd2af41601be7fa6fa6bf531d2510391f9bb89c2992bd180b18058936da4fa87d9aa3a2f9459aad538a7f534dd9a613a89b004d483d5cb1263353334db6b5864bae846dabb20eb30e6d16387d750e9033843f158ed0ea29b8b3ecd6f5019208107277a776fba414f4784b1a1a4b451bc1caa8869639ba6d463e4513fb350c5d69cf290c35d1e7649e75b5ed71d26ccbcaa54a4b87352d67d5c4d14a93941ceb51fc04ad0120db46d2ad8498201c3ec156569931e4cab24db99b2e52f9e6f5a0e926d71730f779cd669c731ca3188f5f1b29216c7401efbc4ca3bad989a9af638eb767e360fb51eef416e85414a5ffac5e50fc5ebc3ed1388db16debe67ba011209362a0b5da6eb95fc4cf3e528fa5293b5d946104a6d6667f4d7a6bbd3071d62b73189f48c202ce9f3e04123088808203ef8a089379bbee478b2e6bceaefabc5073a5886b5032f3ffcf3b07965ff2dbf7052635143c2572ae24f6f8e67b447a3e5d2e5f8c8941c616446ad3765c325358e0c7eb09d8299f9f6e42f63a2c192e9e1f7373a844a3d32535cce40a0b1368cd54b70af9dbd3d11aef862a4e1bdafcf7a0045b899a31cde1095d4ad1688fc0d3f31c4b95d5194ad359c76da403126452eb2f16558c3a26e1d8d1e965430ed8c54f55a7e0381a6104a1b69888839114ae50b0b41b5c28e762bed852b70afe45f51785069baf08d138cc6e288303f308642ca7fe48044f2661c84dd1cc7078ca4a9884df47f93d24fcf2acdcd9ed46112e58322e1cb071408838b06a239e8242a2d232d7d92a159ee22e316259d0cbefdc2ac14f126ca68276050add8e253d1adf5caaeeb375f7706fe5deb02ce66c1cd50c7867029fe508d00e6d2c08c2d3b9852f04f2cc6b1e0f54b669295b0a4b5a59826d6290c023e114c53924dbf930c80da5a2b2ff9dc78ae7dae2c8e2a39882c5c1f5a321bdc57232dbdc97640f705be86cfb87cb5ab7afe715130d8bbf50bf04db31b909a97a8ca907e3bef324cc8621d7fde1f01b02766bb9062c869ffee146adb01e09d1b0219a4c9c2e7ca324cc07f808b4a36963530247ed44b34ff487e8eeea899f5e74b40abc9a3c93ea2a6f2e8ab48c4e917419dfd0526b60034b29f6ee3c09cc0225030b48ab83685e5bf4fa75e6c7200685795aedc47bf4d90fa67d7f8a8adc72406eaa6ff67b136da0995ba3604bae39f41e3ae4abeb5de8fa3d6420fd610f71e81e247adf3e4db645407e99b2c6e13c108d8684e585e8853a1299f1c262fd8bc3f93005f8004c4cd6a0d56d8aa77d79d89f7bd8040122d9425191b1b18ecf577182648f12311d1f81a63780780da620cdca2e158a56783d2d21ee8bfcd775fd714bd601ca216b30ed2ff04cbbd4845582498503d856b53172ab574eb17be3cfeb800e7df8fe3656749682e210d98dfcd84e3fdc00b13b6f541f3fef31396d18e1af2d8e45291882a9a5454401280bf8854976e8999ab92bb3729026fd0f95809490801f1ce5bb5527a5ca4012281645cf9a1cf77aeae76cf0410415d239130b34d41a5054786aaa50a9587ab369146c6c41f7a5dbbabe333349f61f7968c2deb294c77e1a7802e6ab3e0fb063360ab4214951d6f92bcc0d00361711cce816c1e3628285813682b966aaf4eb645eff330cdcc61123b6ac230de0cccc234da30673137cd7ee5b9e4471c04532567a292ce35d5784b76612ad2f623ef9f14ee60b18136a99e99a9aaca79d39aa6d756f94cce3fa61b6cd1f3551445064a6ffbbe40650cb6c69029ab3b5832dd5715d6a5ccd2017708a3a7d03c6ac08420f4c0b49c1d83e373719eaaadc78a0d05e44f7c518d747cc30445c7141ce25ce646e619ee9d3c8a71c99b67d527b15615b840dbc19b7d243c69239dfaa6b9efd508e20ce40b7a0a0dea30f73af644738f9398cbe17ac32d838448152baeed73a044531a89e0d13ad92964a347a45d5224c891f8fe13108bb9683622f1e22ccd884a190675f4f5e1b3c41c593a424101f692dc2329cf100e40206dcfad3034cad45705164423d0fd9e0ab44a427ac6cef38f3d32cba4a64d8a4bfe5625f8aba1824164073ca3024bc74063ca71983aaa98adfb2891d5c8ca42963ae2777f832146c9d0e3535b323035b6a160b5116f0696f2bce113cedbdd6427c14dbbc0798d3fe9580270082d894aaacc7186dc7403a02e590a9baa42949cb3cb739a908002408d51e677d6c9f70c23b67e54e65ad809cddc343d2ccaf10fe3565df4b2d28055c5943a36e9e51dd5f1afafc0ff1ce0254b79d0f7434439041d5799f54dfa232df280696104cd9d356e01a6f452b1b39afa70585b75364fa9a16496009a75617293da09394e9fc4662a2112a0220d3baee166f958a81248268146a8e85ad9d0abbbf24f30ce7bc16d3adecf5d164cde7139c1eabe74af341e3cbc1f8144ac2728cb77916f895303b0c685d8dcc37ba7f458046a06e04325485415d2798cfdc1305f688ffa4f27c0b2a7378d39121b083951cc9ce6faf1496df43f8ab8c746ac6cf8354a034e3b9a6d721998555f6d733963c30c0d90705b497acbf4070673f2100145d43e2a4a4e525ace8a4506629aac02360179715ab4f93819620eb30a499ec598982501745bbb3e437c14c901e6571c270341480f70df1034be09819daeb67b11a3ea95492543da567b9e0299faf5f9570b22811cc49c25a80cbbc7f1b632a31b92f75173943b89dba7c48da16bca895ed484f519b0e7b9e673798d8aeec2ed27ac2b6e33a49f75a8fcfbee340de583480d15a491be849eb3878340d220ad73ea1ce8f2c1b74690bb360731c0c91933a6baa8044425e5247577d3828270fee2a59e801e861cd8f3103e10f17f0d74e4d35acc7ac92caa62cf84eebea3263200714d41532d312c6104bad0ddca650396f38e8fea3097998809e6b9f3cc0596c560de7dddd1c1cf7ecee18fd57bd7c5043eb66e2c383a00ffc7ddc233625861f92a76d738c52af96c7dd74caa104184ab3dbbfca5f922bdf79a53e5085a48e3bd69a8537f3c151ba16fa89856568ebe4615d4ca34eea5cbf54a5afd61bd6c12592ac21d6e81783d46849e724a97a385cc86597bcbe9ab7a9edb55af1f8fe1a1ceea339f2a39277aeb8f20260fd8b0719a42ad356ab89c6e26f74593999e801d65cfb131896e5748a74c48cda9dcb4702807b88f9e7ca58dd7a021507df15a294ff54fe8b968c9d88a6559e8c6064fd7b0ebe96effc7295d92be0934096cba54329652e510dc72ed97c9f9b15ab035ead1a9203049ea6f98e2cf44777bc2c8c058d8ef551889c129d69f45c426c34608a5963e7c15ff41e2f418457cffcab3a292bab2383affd9da6f6c361d5a752af0ba099e5056297848f5aaddc81f22d15db6de455d4267230b03518916c491934a4c04d548d8c391556ba44e092a96b3813acd91d9bd87f2d7c0440daac0b709b73e7443aae4f0ea219735b739b973ff1a12819cae0b2d54b42b841825f8a057e13965092eeb669fd5a38cd11cd3f194c1c986020aa358aa43cfd33a93b244d81a0adf9746433fa7371843132f764d3380db0c54775ead759ae69da4369ebf2aa9a8eadc31f5be4dbcfb11c0e9682684e160c2cc220e389764d585e745134384b3fb8c2b64d2decec1bc333654934221ea75bf7876068755149b59508e5e7d509604cec94be6e5d2be00115e772a67f292f07099d1ed79f63d5f8969f60004352435531c0d9461f693231a6150488660cd16fd2e1bfc96f4e5e742cd46a245d3eb5b4fdedf4991003b1ff53da8a344480acf79312c655038aa990d5c3d471db23172f47d532be69e61a04f63891590422fc69c89f36a37088ff48e1fe64b6bb74f3c2aa30461a1bac67b44fbc0aab0714fb287e68f011a3f7b348e4d3c95d9dab29acf450784ea176bb6e16200192e402d7af14c83807e78ca4596562a99110787849ec6a1a22151b4030a2ed9cc06e3e9ef5e542b171af9dc0c27ead641d26356c49c8b5b113cf44de72dca609654bb96f94ebbbbfc0c5420ec1211fcd51627ef1154fb384e448891d0c11ca5c84b2e965464a0bf2860ec0edc716904de6a8b7756691725f9cc443b72dc5e16aceb24a226b56c4ee460aa2c20b819717f2c87fb311bd1976d39cd99adec02e7b0efcfde2743bec0465c1168354319f860b31b86299e897e0763023e08decff9bbb95b697d31d4dbc8bd77f141d3f48a40c3e762a82379fdaa452ddcba9673940b5377b80cdd8b571e7b17c47cd2d83de5699d09100e7f69ab6a568c25c079b033aebf7b6723d51f135ee75090a901af24318efde37ff47651a1d59ec733b9851d980d5c734b4ef91deddc5a425a771cb0beed34501578fbcfe355a0a592afb68fb34fcbf3e3fc79ae0825d7455fd473e858c3dd07dcd02e9e03aa656748869e0f9c315fcebf2d35bcd559763aa7d5fcb068f9a0ccd4b9b3c914ad74e602a7e27b8deec25877440111fb469113b88aa3a00449be2c73464ed0453a9209cfc4133e32cf40708cd781ffeea6981a24a3338642485f907a3c1143709a7f17eabd15bd5eaee1e96d4090334be50b9929598227fb0e106eb9df65c9df2b073972f31f32fa8ecaf847f3a930406249eaeb0daa6a4698472854a8ab336e07482b2c688feeed73ee3db0c3b0fb5dbd4f5f9c868603be861b3fc5eacda82f36737e701b0ba79edee6002899831d9f333eeeebcfc4b0f91b2fca1cbc74d850f82062b8da80c5d6b0357a22a05db7695beee03d40af0d4d4084ce6afea09fffa08eba75290e907956e0c95c9838742f0bbf04bf712184ddc43f16f21df01ee47eeb4f5afe2d68d9acb167d18ea918e3067cc74fc1424ce78cee88927a4a80317f262a692d5e61a87da367a2847207df6ce64f2b96739a30f7a61dbbd035271d4da660218bad5807ca750756f70f4f8a1c74df7af0ac71357d7066f8ee0c41caae0b2f9e0da887cb9fddb6c1977ce947b47dd1986d9f2e94e4350a5921e3cbb74e154794132475400b473741b2752b7ff444414894970fd58736402b7b17b0db125a3ec4dc17e96069a318f38c922075f1ef05ee48bc301dbcd4f4f628d8b38559ff56c8a00c3fea72b1bc64448ba2cb94d171703d672761c93aa7e14cf4562fe53ed6bc470e72cadcca029fcd86a6e1def357ede68d98224a9810b4d4f039502bea665095e74373f54d11cb0427e2b7b74529f8aae09aa7c8cb657384f04d94ed5c2ca0133edb6944faa3e89133a0ad1298e951a7905cf8ee1515b284c3e03aa0b58f353600eb85721c5b1b85f517267a7988fa25b26a0772217362385f0a389031913f2ef06b44c583285b6e64be3e92429c0574655aaa154af43b56368df6c01782d028fe8ba543ca84c317861cb63f1598f083440ca127913139b444552355998a2c726a8b85c363360021258bc529c968ad75a379edb6f354bc3279993ab4d199ffe8977dfc52d9ab6d03add1d57da62518c8b29843661b0f0b19db2ef17e35e22c44b14a4a6939696ce4670922dabded88bad61f272f8793d0fc72f20e1704e86917b40b7d158c1b69a51a9e4dbd32981dc26def5b6d28a788aba520e962e409b9ad89a9febcac0df51af08702180fc0e2d50aba02a82e56401dc4cf9f6ce7577f3a143b5eed147da67fc44654aecf1efe8ef68631f87609ec325a88772274e8d04535a6f4f502be2505339c7b04e06e213b13375c923f8039aedfadb84757d7175db790da8f4bfefb908570f89475c1485644f04648236540a03cacf55d65c93c3df2bafc94e5931616f8d9afa57d406189f55f42a61b75ad55e3c00eb408042bf40326dbf92552252a5f60ab509dbf2e2c7078c1310828c58ea18c5f5161d51bcae7aeacc84e421fdc7572f9a755215de75266994007554ce82e1a7e6328aa01565240e13387c82e7a5e87823fe08a78532768f7610cda605660d273f390431ccead7ed2ffe1763a8b63239054174574b9baff163b0cdf6a91be53024547c0cb7677d217755ab361cd55a58eb58c09a5bf707d25d96a0ea4d98dda8adb3facef3078f9c1321d5c6c2c925742c43f2c2d48c9dcd286b2ddeee3d239cb6ea642cd42ab947bec50ca1d49efd1e061db6b90bd2e33f7317ad1754e86f53b600975be90f8b96dc98ce80c2aef6d18063d1312898ac9c013462b471dd0a40eb3de9fece3a446d4b9d6cd1e49afbb2c386ff3c867666f7ab88c9c610d00cf24892664b18eee6fd97a0e63e3d283774f0aa9af98fd7543298e52e4b529c85d23eb193d28680966431850bbb99d804844b003a6411c37481196e1a21fcd1a2167329ff53d82945f096ff9c6e69cf281489e4c6cd438f3f79c601c27d19d86542a4d2360029e33166e81061209575a3b7296ee1db1383dc61ee8c8b4785f66d61cdf4012bcb90d136895cf8ed92bc41666da0ec4e00aa4a1f01a4a036fc45a8a1a7615062afcfbb76837cc0c370fc7da767f91f8d304bbf8c1250c090eda0b854ddceb3c8ab0cf8b587dc8c0b9558a66f94fcde0a8ae547a20204b59132dbba83ed1caf3f9d96e96650d041d93a3e8aa188ddc53a868591b713dcbaa5fc78db8581d36db84127650ff70af7121a63cbf183188980a92c5139571f18b88c7579f4b8aa12e1964f3f1ce7e45f215fa1d8eb32703c3886db8482eca5d2f808ba4291501ddd1018983cbb1a44e22f17616e39d94e7e6acbffc9191fa93367c3bbe10383c19fc0ea6100decb7d8b3ecb4deb040e63146625c1b6637d4d76413010344b9c18c83ffd6e0186ebc14f73ca19ce48cbf879978ffc6fc98aee6a6ca7df6e09c911aa1c816d623283d24ea71bee54824133c60878c60712776720d798e2b1f103d02973ec70345155ace1fd9abc07a04d3baff97f7326e46dff7106db4e87948b2a0a066aae0eedaf0704455352d2e9813cea1c4856daf6abfa77adb2045363ca30c191f88aa67a128e32a771937da84dfd996cf8a8c18546662f2009be4bce21113c82821d813653fbdd203cebef3ab784657a4e38642a3d570e5cd1bc846727c9ff8c7f0c922ed66d02bb1e7a31f025ca9ac92729f267b287832eabca3b9d7720d148b7da099c365028c4dd8a89ad26caa35cfd3ac8f2aae681483e676851fff62ed1ead2eb2289912ee4797e57b65fb553edc6e07585e3941b7b3906f231f2acc9e85ea82100353958cf869b1c5d42b3edafa84a43bddc1d6777b4329fd5a1f43175061c76b12b5952513204a6928d2caa59399f8a8581ca90e7d9b6a89dad934f34972e341a169cef3155ea65f3202aaa47d98e95dceab6d28b970b8e361ae2c4f8e3be92517de882aba3a3ee82500501b0eb74a1a1a45b0f0e6154b670f685f5c39f6e76b9269842269fe493c6b2f1723cd29e8a743a48a3c38d191e6676e263f678d51b94601a86023a1db0fbe90b6cc0f130346ac1234bf3e483cbc113fe13d416292010b64a571831d5958b9b47c014733c06073c207714c7518f3d7268af62a679040be9a59598e63f5bcdf7513b2a936853c74930f5aeab1f3bde61d5af336e329178c5ab2492e23ebb59c922864f15ab8c5116af39a0d774347f00aaa0c8162b1db7eff82dffaf9dce107e0a37615a162ead046ab015be99ba9af22751e75de973f5b6ef4d92cfca2f71bce4789388db6cd36c534859e1c62eb2f2fbf0f93f39acc11ada2eeffec8c6222a7d847a0973fa4fba9003239363c8223582b855e952b6e3160e199c150fc1e40f753e3ed532355f339079b4f4ea2d433603307de8608bbbeddc028ca4a312ea16e966025d26416c4784f786e25ced8c3916534b76bc434b75a9863541a63e731b17122c67c1993d011db183d4dc465f0271e3e5db581c75bb66a51a937be022b3b992ebd822fb502eb150c842b6f4ebb47560a21299db272380c869c4f4f4070f193550888e6d3a20e9e6b59b15bf0c67daa93d39a1a72c06f9076c041e9c50bb12ee69722d31f9eef22e892519fb599f62632fc3851a8065f60c6cede142824c177f7ab0b838726f61c2390971d11dd321e38285a2f17cc5b5e0dac3429d646f938890608c8607a18b87490a49a7e53402c57c0b6d283511947b6203e3b16a9312287ca29d0d6899388c117a14d0a22ea76282849b34fc71683aba0e3cb40f1cd63cf2ce386964370956b8448fda8a18262abff8b48ec932b2c2c5bdeee3be9fdd53c4ca884c27fbad7bc965e97dcef752c209fccf5824a3eaf34c205fa455956190424b1ca96933b581ffdc851f6813de90d807ed94b5561f290ebf5b74c164dc499087c1ca6b879db7e15d76ef12ba4a66e75ae6855aed18df91afccca161e9eb1ec6e203a6a0d2a4f47f9d0c91e0756187e90cb1919bcf00520a256674d87dbeeed3eb7f259e15e4809f6564cc870d2f3021b9ba30bd1db97999035ed8d99d928fd32dee2e0105ddfb95b4005edfcd29d4be82f8150ab43d63ac9ce5fa3c5b60fdb101fcd575a28714cf356089b437fd2534477b0b53d261c1ef38a1c435c4ee56ea748adb15067df7082d4c87cb8a683bdc9d1af3c0804ffb318a1ebbfa82913d2a2994fd03d41ec98c8946de06d12bf93e500b9a1ad81d1464426a172546557ea2d070318eaaf5c4f1f30779ad588b29eb55f5736ae239aaad62a2a6c8bd8ead9ec4de4ed4b2078e9a8dcab00534ebcf8f9adcb3926df75b9fff2ce14ed9266ff74a66a52c86abcc4c406241942d5b8c86ddf7ce891b9c89165a406bfd768353ea3538c29376e3755fb05f11d6b51ef766492bf4d82ad84d296c4a696a5beec37e6c6e9c7607f43241df400ad3ec7ed21d3703cfc4386276bbb16c035ce4aa72701705d27c857f735a4ef5ff13e7c009c4e9d42d4504e2a759024a7a2c6719d6c0e348bb169edda110d74d8f1a33b43b755f6704202ba337c9fcb6ea5329e082bef517434c943a7865cdcb7431782d560f9be56d35bd642bd11d1e0559a52f2dcf74abfabc7186ac8a6cc1daf636258a80845196254f8d3f12050b83b5d35f0ef0e44d725f7bccafe3e1992ea96effb66a8730f5c48d1856e4f7d9c6bca176e58785b7ad77e59227de40e295cfa4f10e15e277467bb47dd311e3a268c3d6050effdf645036587a0104c26c79ddba707874ced7544c0aedb5f18136a5259a2d4614703eb1b6f94ec0bd6891aed809977f22cb892b038558b63a3baec593e5126efe4a2b5b8169c1d76d681d06d63273021a65a0452a19da81bb65c492e9b1321546ea6e281ed76ad0eac4beb173a4786c62b348004c540f09c74bb0d6830ec9f3038ca61eec9d188c3510f1589b1c307d948ea1fa0a1c2c0840e938ce79fc53c04a61d85b529ab899cce97af25680ff49f6f4079be47f232d8e4f24f987f7721d548983779233fc2af95fef5fc9176888574fc1dfbcf59f2eb8e5e88787b403af47a083454f8ac969256b941cb097e2a9fe27aa2c8bff065e53a5b8a8a41df7be6b9cf14d1cb040441abd390fd4d8e8ba7c374d4b968874a7854e216c530e54746917d27aa79d8397e2a1ad4df4a3f4958d000719f406aa79d9c5b31e14ec9883ea4dbe5e908710b0e00d9a5701a34e52a732583cc590675d1063a4ec49eecb12cdd89c074fbbf2f4de8bd17f10d83d5d998c2303ab0173d888571dcbe9bd0a2e1532c8c0c940cee35b3df26f6f4ede7eef163fbec965cf7b860166a47b93f7448c0763d5867a1944ff1935675b3096e7ad9cb770b8c439b2537df8029244ce5b97a515e1dc806d67a77b96138907d7e5e52b2f43241fd4b7a79af781de526755e41ce9aecac46122591d006997aa7fd67f75c2234ea498d27ed91a858b302802fc9787cec73a0c046aa155612ef31d84b74c2febecb78cda9a5f8c894c9b378bf11dc04e897032ec015c34f38d1de3d0d12082300e4ed11963ad150b3bee643453925d62dd83f9ea9a27c67a0088821678b1bfbbfcc0e403cff5419bd0b522097704f62bc0094985d084d1910df1fab5b5294934e67142c1f41c3ecc3c6297b3ca8c2e9bf35ad2d5ddb3793327c286a04b121fb86e8ff8f0227314f1c47283f4a36a9679e508c0c9eb653d9107fc95cef9c8e6d0841fc9ea223c1b9a4103901760c0263c6bd3687b28c2df8e516e1680de77903c17304f204501ab72ae9617079fda829586f121da5135b7b128296970bcbc57bbce9766da6dda293c6b8b18640d4a01c3b82e59c118b5a4a0cbb824f71fb64864a7768edf460afa8a89eab63b0f62cbcace5612228eaff8958242158ec44524ee6f63496383ad745a0ad29f926673a601ceb4a710fd29594109d09d8c895efb10f919f4db37d8483f44fc913821c7d494401d7ff21ac9ddc8959cf1f290cbe99d6bb914b690e77243682bff044c8505a71ee719faa31406d20623e74b1ada4dc327f4ba6320d98acac1da12ebac20090f5cd81713f8bd19beefb2d1c84911de68ab5d8e5f76aa07d5e34fcaf011e8d541c5304d65fa21a50c0d18c3ac255c93ec4700a91097f5f01e40ea95985c007c12c6df1a053d711819d1f46c79ab0288e82bdaa3fbb2a12a322b336e2adcb012018efde4015514ed385e87752bf6f3d5bc55d8b37e0da81fb887da152c108dcd6a98170e41586fef4431611fcab60b51656c9b53564b544528a7561ddd0d6cbedff562d30b54cf340e5f2ba3f23bbd500d74b9142c058f6e18a2e44c9790857424b0f9543b2816aeef91838e18d678ad1cdedbc1ba5b2e51eac00d10049ff35b70a74da8c54c089398562ac16cbbc6db915c845f026a76294a5d50d615a70305047c71a8a7ce2e0a310724296edc066392e5cf9bc5f5134ccd4cc0cb1d0a730d68f8e1508638af43e20d86f72f72e5620030001ba159ebcf181d44b7c4d07de08d37d41c6e2f73df218cfd8f428dac6c5b4a29654a3205820489048404763b09bd68c68e4435eac96353b8f4b1a75a108bd5982ee94f1e7e1d654ff48019da82a4fc481424e76552b61a4c3242e8b7e805faa4af27a4784f481ec0c0cdada219fb95a4bd5b9bfe8986a22fc44b9f141b66f4f461c34079fa325cd4c9d798ae15cd9c6c312369d85bab51999d6824ad5a0d07e56d7819944d08fd00d81f8db2d188471b4a061315722efb4c81bba8d39559b86ef5cc8a6090977e8b4e9e6a238d85febbf4513416ba6532b44ff265b4a582cd3292f6ae3db1a39146df76e0dd2c6551f4a2ecd76477447aa43fb1af416de4a2c7a26826435496ae2cc96f6918d257d2576bedcfe06b379693cf619fbedde89f7ce86f2ef6230da5e38e4e34aba1e8c544cfa21149bbb9a22d2bc14340ad99a986e663f4c9ac4951b02e74182c1e9f3a0c16a76fa39f6e3642fc6de8f7c612da6c4e0cb91443bb8436da303bb8c7d7a3aaa2f65eaac2d47f8f7a299316439f7e6818600916f552906bc114c7c8e118f386bebb7bab813e0d3560f06568c7b6543fcbd04d485559ec310a1fe72ef077b0a897d24eee0261bcf01f0efc97d330b5a76168f07d8cf0f3a3a3ba104e18202e7c9a868121f6434885e0430843a8ccfef2229fb028fbe29806b9c42ef2a396b18b7cd7984f12a5e3057a6daebffc1ac3cd6ba14f1d371c356f693f31d985e82dd806d8d0cf874291d7eef3e7a9a96a05d10c33b1028e9018fa66666ed668e8a1461fd3702a6df7d04f510d3612e21cf343dc34f8f2468d0c11b720d8cb681a448dd0d7d771e17774ed896af44be78fa877a1e61a8ab2d4e8de98351618faf96bf0c3875b8e6d86b017edc2f22878ee5aa6bf0eb16efa6dc0eff7cdc6e6068a212dcec4ff9eb7a8c643d1703fc02cbc7f394ca4586836c5459d4a6f0a20201abc3a2b6ee8a013f261c9befba24f2a37b00b601834fc928021448061bc44f11cf3b2f5cd21a58eae4caa90845f90effdfc54cbd11836836e4d35f99df19d229a2a70d7c2031793d6b9e28785c6dfb71b99141e9648e161091e2cfc7ec3e1c79740776f2cfc2c139f867eb8b1f0069f65e634f1c6fc3a8af737778925a800bbdd7dbabd6bcc3b8c4bddc42450500674923fe411acec9a1042c93d5d6e02c8122e8507293e16e53f9dbbbc07b011ae7cd97aa9f39b7e9d994a8fa52cfc379737d4c30aa0533b7ba202a82c7d149de1439805eca38826f434a1e79f1124b405c136cd7f5cf9fdd1a75ddee5c17e2783b017a43ff0f1a1d11b4b107f96e9cf4eb0097bba1cc4829817dfc279398452d8c7ddd407166bd1bc3afaa9e9882dd8b881e304023f3c738b09a5ecbce9b939fa6bd8c7676acd3e2dbcb06b8596142f08450d6af0e230e6bfe4c0a2e88d0c953b6e64fc4626be8d0d7fb8d9b0b3f46659f0b2c229071675baaf8f305bf0d032d996626f39fc659d73ce2d47fbf3dd5a46770ef9efca17b2a28d74f68ebd773f666194b751516c4e1e6563611bd2d7ad3eca46030a0d426ca0bcdc68b05f37167e0a379477cc58fce7dfc8601a8bbfbbe8e5c6e2a3af1b8b6358866d2c4c43f67263e18d463ef644338d72a25952f69a16238b6e62c72adae1cbc9b556810d9b9b1e24c774478ee9535f4e417f0b1f2ec0f706b3b0635d8818ca144dee12048e3e750b2f2f5868669581dc8562a014c6ea530eb666b1643378c36f887cf46c26ca46982b6404667b7a6bb98b81f9338d5d9fbaa34f6ca22426c9cb91224adcf6146bd0f6d3235609931877c9719756dd1a23cf2925d51ea5199df407d5bae2087952c38060180624c6f911e3c1648a596823642ad2383fc53198312cd20c0b526b9d516d48e4effdb0fcf49f562359994cf5e93dff87d3a7b661b90ffbb0a75a8db7648e4cf5a99dc02cf453231a064572c2eda7218a919cc03198169129999229999229da8a5a015899267152feefdfa3214c5e4c7bccc20a8fa5cf1ca366540bdd1726493877c971171c4ff549a654aa1ecb988a59b00295b5629186519960aa14a64a61aa14a64a61aa14a64ad517a9e3182caa1a4635aacd996554f33b310228b1a8acbbfd28acf369989f4c0948218cde4f4ecaa19a91a40b24154639294631cabdeed5aa6ec128279dd4f5b8eed52a39e5743dae7bc128a37c5c07238c8f73e87aa8171740ecfbeea647448fdeedbc24c1dbbb0d6ce62f3c784b7a5ea8945236a1cb5e44c0121e33500911524a29a58cefc225177e9ba494526548134de404097ac113646414574a69ea1310aa5032291441547ef1b26e1c910a8b62209e86911bcd0d1cfd806e678ef553ffae13bed66bd238af489217f45e2f8b09250ee7a10027612533f55d7bb766fe44f35dd30037b939e68748a4af244882244882d0a188f977c0a3ef8df984b24ea03a89dbdfb2c4c63b5a62df1d7d8d59cb123befe86bcd7e16e91374e9eed25da2a4a47c4dd16a96b52cb1f08ebe8ef82be4711714b93d6fc3d0524be8a0e776bb7c7e5851dc6c891d5871a16c185e620749201417d54a6ee77051cde495050eedeed0b5289ae18006b7d77a407d6aec3a0062f07d303cc75d68f489e627863eb56f3432072d4bac84ef474ae71f1bf1a9a8fa606d6e64a80422fdf79323f21c2849ff7e50dce44e567251d97c198efd8966b59f194a57c3be6ab04f35dc04db686850efe7c7dd9aa2b8fe4319e6069ffa9d868613763e8a7fe61684be7c29aa11ba728b8106d528d02e341c0695e91b15e79d6e634a582007fcf8abd6f06efa85c08299999939ca28a38c9103ce18c640a1b9f536c383dd3ca228ac53a0e1eded8608ec1be23fe8c826fb74fa54799e0b9214e1731fcffb69c9a86af280c4c4dc98f77af8f6527d7aff526fd3308fe2a01290b5f735859058060b4be3bdcb7b0c781a1c83399e62a0d1a78d8a9ecf42ffe73ad7c8945e4a2efbbc8e5c242efbbc7e3c514351a3def9cab9f2fde9fcd650fc33017efa640cedf29e068ea4a2a5082ceacd647a491c9a1401a82d14f6bd1222324b9f102a84300338f870050f3d6210841490085404d91a52a6be31fc0bf8b0a1480f52440c71020231a10a3985e581ed47b5dc7619edae0427424b7887c11de32f09d7837670dddddd7d421aa9a4d3c24dc6bd998043e2f7fe9cc4848bd0f8fc70cb8598155e5e6835a6b6fcef2f4911404252fa20a1089f2439974a1416cd609ff4327a8a6630aaf1a57d7ac1b224527c1d4dbaa40d45a2a219d25312b50d433f6b1850866ea893afd9c56c7631ec61c3bc8b7db51f12cd0499f7cb5ca1102b2bc2e7f68bba11a9080badf57e9645ca4833c07782f21eb71f4534e3dd19e04d11cd7825d18c771d875bc0162dbc5f0b3a628101b3b9bc798ae52eaeeb6151f0a5b2e250662317016855f334ab8774d73faf26a91caefb6901b99c95ea562a954aa51ac815f49a2c168bc562a552a9542a0580ac5a9452e9d5a45339cdbdeefdb4805c5dd7755dc7711cc771ee62b58ac562b1288f6599867c773b426f178bc562b158272515534af77e5eeb01b9b8aeebba8ee3388ee3dcf572b99a74aa739aebaeebbaaee3388ee33877b9cba5b29201804543791cfda1e2792c1c5dd7759d731cc771efa705e4f2aeebbaaee3388ee3b800b0bc7682e3055fafd3e9df64b2d659febaaeeb3a010c20b391c6a83ad58f4a85e374fa3799aca541f6657a76be626c397cb9c8567ad827dd7e39c574aaa8fa3f4595e8c61610b13532b9c80510561361d8e80151a8fca2b61aa6c54d710c7f036061bd5b9cbdf1d7f1b9bb0d2558d961df3b06991942e853be87b1644b29a5e7ef3d9809115bdc217c08e1bb708ed11042c81042082106bf2f74ab64c504f6fd6be8fe28e9ee0ef9397db164fbc4190bdc610bf437af847eab6711be8c8e31562c6381e1c60d6533aba8d43d76c70b5beb6e027cdecc0ca9c7133884314e1be69c7386766665229bd3a39cd49d098afd73a8c61869664b35a55a6326e70f59165f1463a494a5e6b7f9ca993121921b158ddc774624ce4185197543072a350c9ab872838cf756cfa20b3131a1397a1506b6d1b4682416fa9076d27e428ef1a317259ad9524da944c2e66726eb2e2abe366e64fdde8d92be77fd868da8f9ad2f3b911bcd12de0ce128761d65915238aa215776838e8e8e8e8ececbfac4323aabc2165e4cfb0bff5fe1f46c4b9f207c6e4495ccccccccce9cf1d08eeeee72c2201a821084e087109639edcce54708218430bec399cdf0330b41676314fa730f652298e1579102740ed91d1c1c9c50cd4427378cc0850ea19a894674622e74b02e74a8f59d9c88663832478e9b156523144b3a49494129a95ce1213fb16125c5c11db8b3b30377e0ce0e6482041248e4542187a813757474a24ed4d1a150c001071c5044c031bee754c8018b3c7272b22ad2b18197880237802c80c3552343d0a892a801ee645901e9f69885f80ea3137280d18fd0b1313a8c39c0e847e82481e54f859212a3c358031d18fd081d87cc1ca3c358031d18fd081d3fe95aed30ca594390abd913bd502fdc266b0ab6b11dc82327a7f24b04a70570ecb86a64d8091a55d2ec266bb2a60c1e0cc87151f00f8960a037621ba6d26349190afcc1d12a9e74f5e8d38f3e3537036b83c6da133843a9500c344e58ce22da65b2a8b03732dca583c4fc10838292d22b9c4e2dbcbca4a4945e8bc9f4e24b25d14cb4711e1cfaf310d664e960b3c9a2b3883e0da9ac19d4500b2509082f3f845e5be0620766a6392e54f63dc4627438779010b2bb3b75ac99999999b909efe15ac7c865d9cde91648a7bbfb1091995de82021849099b3d12cc20f1c100ec2f8038c3e3b10462030faec709ccf8ecf4e50e51728cc95650e630de25e4d668aa54bba7c669ee330e68768c88073527eb9310343b07c51f642d89e056c24ad0c09335041cbc52f6c072049f02b7b46b22960d02b6284296090bbbbbbbf76492b5f17873042c4edced5fedcdddd5f4fe1eeeeefdd5f23717777f717a3707777f7d72e7777777fed32b9bbbbbf9ee2c5ddddfd35127777f7d748dcddddfdb5cb9ff77377778f35fae1f77bee35a7783af24307aa20fc40e2820b474c073032c413a6238f47f2f811031e242505948ebc20103a90e0c56304c7e4be47d284fa00b103377938d39505f77090a88890a009f73d121dada3a5e8ce7b502209dd49f122d6bc38d2e2e548ab153f954ae988447869f172240605c80f788839f233d21952c57d8fc48774031245609f9a0cc69a4c0a77692511244bd56ac17d5f6a181df076500a06aa41b0c10f06aa81ae212491430d7421819a075cdc0edc3451f9fdb5c31ed8584d3afcfaf7ede8f0be87f76d2c35de6f3ade93a272c388fcaff0b740a597a4b9f62d829bb7158cc5147a086a9d2a3c314406890f1d8064aaf3780197235303a995d9bc1d58419d0cef7881159c4c0defbd1b509002277e0801491215e48c60422763f380b8010e380a95380190968c0d23e9e18920eaff7c7841ab25f3709045103f642a438f8f63e1c0c9dcbc1a5e3f22a447409cf38739e79c3fcc39310c8b58c4e69c73621816b118b139e79c11c3302c622b3bd63f13cd543be79c33c628298def7f50659432c6f82a44ec7b0d9bbaaa54b2269775a76fc618658cd1dd3d7a9c314619b9453314c3269d3146196374df718f1e638c3146ad5f8643ff96d84be151a1b36e8ebe89ef19a9b5f6bfec6d281d4bacc643ca003352995d18f5017ff83be4332b806f2e8a9f17c00b687b7b077dff1df077f806e90ee61d1bb8283eb90d37e604c8408d65faf6dbc0f7073721cc0c23127ada6194d288112337d4151cb440b5aa94b28283195e91e72b44da61cc50524a8ff17f85c8cc68638f91a82a113033337f373b0962e0d36a751d8ba552711c5700e57345eac6186558813f777f1522f6c147a1aa54b22697ed0681fc21dde92b95acc9057f409e9616d307c5cc27a552fa73979904e249018f8eeab93b8a11ae4fdec339fbbadde17befcd780f56cb47ab878e4a8fe5d162f1c0ca7187b007840e575a60dd5bf448f5f71a3685efdd1d469949ff31639450523967a9644d2e4b29cd244f4b8be9e9fbfa3aa3df1985222b2a49497bb0fe92657f446a213d4934a3e55a7b728282229a91f2a3fb9ceeeebea1e4c31af8fc6d8caa61175610b1b2b3b2330449a547a547a5a7f258484485884a8f4a8f0f1f3e5682a8f430a142648588952156785682a81051e951a95658b0e2c38a0f2baa159d15215656b0b25221022408202caab4b232ada856767ac0c8e15cef1cce82b7d744c9ab491257112097123f3d5d11fd805ce769ad75aeb3c75206239450e3b2cd0058d8c7e3f6cb56adaea32eb135d9f56fa7a7fabe5b7e88265054029080002ab0ef39abce041684266000c535c9cb4dc060092fa7766409a5f47ed20688fafc2e82b0ef59e5eeeeeeeebe5aad56abd56ab55aad56abd56ab55aad56abd56ab55aad56abd56ab55aad565934ce7b9dfb146945e833e19cde6fc2ce3d4220b75f42d5a4b0c7c32027a58b266172fbb157d0edaf4932980598a8a8140e5a7cd4291a0100400043164000200c0c07442281288bd24cd1dc0714000c69863e645c349747439124c76118443114c518630c30002063884186a1b19d0030b563b0bb7d9c3b3e30b8d8ae01c883bfd7f657accaa1ca105cad34f4f66e063663beeae48d8108babb301c5e3f151a7642032f379977573f49eaf41438062f83e7a274c8d1bdd113bd80609b15bc250ec6c2bb48e63224c53cd62bbcadc020162c4ada6514befa21486c289f6e368f9c3c104b2fad0243ad0107267865054eae7bfd8d918271fbf0df3b01aee9bc1abef5079e0a18cb33c7b4bb456eb29595ab110333bbefcac39fe92aeccae7ef141390093fac958c2bc6a5b29a2e02cfcc5a803388aeedf477f5a45252ecad2588b92ebc2461df8034997eae38b5f977f5178388510a39c35a6e629c3953ab176791231b06f5c2841fb4e1de15177cdfa6bc92f0d8bd2269481967eded997bc6da7853c42aca2e8009b124d391521f009b4b335c051edf19f70091d8feea28cc3c948aa51a8e5de788d44fbb0b249004e5854d6563ecade6cc759d9fc734aaea45e24beeba37f9c5e90acf9ed529807d9bd830d9cdd4b4506d100814c49b70aa1397b596d181f7a9568030e6a493b08bb4475b45850653e177d03ec10706370ca4386469183622385288c0e9dedaea2444d48c1b74d468f474157dbdd24941df1ebe4b03d1c6798506d6c7b18349b6a646614fb2f3d55554d7d4d04275100386e05f5c17050d7ba203adb76ca571d8fc5a88df699edaeb89d5b31b6b4272d72ba7015d160f9c5c5b4197db949335cfb4eace19268c4e755aa185e705184ede3a0da5a10f61f4e2076965d5b16dd4b20230cf0870596a95270649c13c930b2ec9cea0330a6b5b8db1af9948966a2c4c12990c22cfbe6e1fbab48d96567440c7c53d03d953e17c8e4b4a2706a2d46afe7654e12503e64ea5c538ee5417cbdf5d56ec9502b16c1f736e22793fdaca96aadaf62ed2164a749c4ffb2cca4cd7820367cb344b2ff6a12850b5143e9c7881d4ca83d0841d1366048913bdbb2ceba65298c183d9ca8ca8319a063507282c2a50f30685ae4e0873f783459896a209eba2e075f16674d4612e45a75f13745483cec6b4f592c28539589e19f6bab590b470af476c41441719faf73590f9f461405d4f38460bae2f966949f06f7d68b2f5c0f4d475f48387ebac5c302780e53524708d111ca6cae5cfa0cf3923ef5bdacb604e33c409da35b2046d832b88e483a9962432f8668f52812ca9db60a02b50ac3b8a2d2918b76c4c651a390a03c4671240f7bb27859e9186c404cc0ccbc1db95449c2f5ca2d0e457c6e17343272a9c010d89e8b95fce53988f1926b4cd2738f1cedfb248f00265d8a3cbada088db7a6b5ccdb2116a8186871e5f789ce5c2f3f9faa912b459d7670c1297edecee9479986aada87d2f276de7b71992f4323cd47ab68adf927550a3100e2710b11b4950405071c356f8693d696bc28e2188d8904ab361d8e1d81568b07f451bcdcd312173b6257dd1dfde8378c63a4442c639790cb63f64947747cb44196d38bb059ad8e8a994a5bb51d12bc2d0c86c1750fdb6f7964902939da9ba09eec003ae2a4f57972c99c44e38e90d6fde633400ddac296127c7104842f39e59f6914a03408c4f0bd396daa07fa74e927b883b7859fa01cfaf8354553ab6029e349cbf288103fc347d6077999151e9b4d78dedd7a5004b8df503caff8a5264823108f7600a0e74068f164a4eb2adcf840f520780f0992daa5bc1c1fb172bbe37f2eccb5385a016296cd6a2f28fc57f6b6333da082b6d1b896c46b54cd1741e6bb98b06731563313408d5761b495630ee11d1bc2ee6be417513756a3552760aeefa5491b25dc8e0f7fdd444e50511725d69c2de68c54ad4878d8f190a79cd8a5aa306c53df87664456843005b5eb29b6848066fda9ea9cd4ffacff7bc73101f8687f17051ead21e2fa99a47d93265e668e07f3d11b7009393dcab18ebbe932b0a5006cd9f06251f80c652300851b87573475ffcbb0f7db70b2abea9978b8920de342123b22ee28a220ffdc1bae097a69e44681f49b4d11f86d41bda9439775135820d6a95ed8efe16dac389b51686a36c39bb2a13517a01549d7e57e66d7b5dcdbad7629199f31897afc61972655118725b313b24a5992421fdbb38709f7028661ed7f20b34a3cf01b5644d7b14a0bdde84fd7a01e0531d20fc004b68347880a3bf6c8ab1fc224a99432cc316d181a8d87ba201d040cea8e401d8da1c95ae97fa380ad0c557a52e38c3d1d1d72f2c07cc630a8c66a9a0180c429ac8c052118aa1c360dc81eea9698c06ea5dba0aff098b2264645d8a451528b79bdd714fdb2b1510892846e83a89e33a70283aaff4c212588c1c9e5b66b70925de2e55b59c1ef846dedc830a6cb0126fd02a59fcbd7b8bc789ce45b6409add30051b7167a3f16ef1908d7406f68263e1ba40bb56a61bce21aa57c86942bac4ff12d1bca4b2a47c5c8ec00e887eee8145e73f947aa8647f600b82d826620b3208960b174d882a0d215b8c1f9d894172547ae5c84070680401cca6e8cf4998b1dbcc2d1ad9c32a677a6ce611e0e36639c5ec299903ad215aecc1f23190d112884055451d878bf8dc9f014648c91ce046f90244593ba79b1c618032c4fd7141d07740fd21af028ca694998b15e0306170fa490d565a9d541282223cb14d805b5f9de33cb737b61f8ca1a08053f2d233b794b76b5a2cf5fcfdf4a767a870d761750e3ed23ac36a2502a8c8d33aadd946eccc82895607238d869ac611ec0c6ff863bbc66cdbac2b7c26fac37249b41fb5f8dff18ec81b486604256de9271a53cdc25674844b4b65bddad6a77d1f41dbcefaa40b4b4bf64b55a578af499c25697673627133d6d9ed42a4508362fe84ca1b162d137ba0ed2daf0bfeed7171db4c2b0489e60c55cf4c9aa4c4a6b51aa4ad3fde6ed19a4891b865e5091541d5a3ee128768a1e2fb56ded64b84df1499abd077089993b3ea2c342cb309d48e8c65dbc4179dc2ce5f2d7fbd0647545a215ddfb60f7c0807d47a78125fb8a339e8281a8f6162a0d03de48a15bf1b85d7e00fc31150dcaf6723bf1450f75615a213d071b50942e82823acb9b576670dbd378615a0f639a75ad2ad57d9d2a10942962a23297565153bb760ba6a8ac3692083b492a7276727ba38316622868aa67f9a9209fa03b95eb1d9d575318b6c1c46dcdc5b3627eef5f68f304041b9e6cd10179656f06fd089c428639bd696d04ec235d8a01838be51e63a3b4275a4faaf594116af111235201a413c1b2b31af075c92fa34d1757d673d17be4b66814bc0ce8608d803dafb325062f3a31dc5e8c9cb7084b315523ec908791787314bfdd435d311b6f8ad6b3b0b84a30ca4319d4453dd0b82be95474c731fb0c1b8980635df3fe93744d9c0225bc1708a0f348e2c231414f619c84864c9016dd8ce4209f04aac8731e6b788560053334e0f85aa427c3b30681f14fff6320353afe4f6083d9889facb090aa66ae131333b3bccbce7e3f1a12273e5315755bf718e84590004d809ee8ce4f379b40b2db199916c93588213f91ba07c2616e97623c07eb60ba8d53933bd86e49bcc518a03232b574a9a4f1b1f1a053a44b7708632c071ea6dc58abfdc6b70e16805f7c5ca72fe3683a450d401339e1754f9567253c6884be96f99324ce6481264a2fa1f55f12c6071f636a46f601d9f7531ce81324b1af40a1e8394b6c240e154faef6ca8755b91a40551f9ae6fc0c90b188870970c802779ef11f90dc991dadc12fac32093586bf5082498609f169e24c84bca0c21c0403383a84a6f367f10e2202cd1c47c98632b09697331d2cbb671dd9125b8c33a10c117607ac28db68c57863f6662346e44850e1c9bc0b553692526b66f2010962fbcc6e05141f38ce88ca002948177942e6a1041d172f490708072a2b77af521f8dbbc85be0d3d04325e5398b05ad626609dfba015103596e1d682337f8e1a52c0e4262bd1b7547a1e42fa38f1233ee2b1694e2a07bb8eaff193f553ae0e96cc8207a741cf9a3140873b9c1ebfa6dba748016f3199000460fd00f4220ed05ac507806f8b7f3d5a45da80ff071f2b6b5627df6fd3ce6f55bb5b3f0b143bdd2bc1cf723608e934e87bcd6a5de99dc978768361a76f63ad84e74761bfaf5b540af1734f6b42ad8255f5dd071f5df5644b2327d173bbf6238666f07749553c9a7a9535ecf40e372d43857fdc81f2c53408ffbba8b8acfe1ec9b9f73d9d6bcb943e12b7d1a02355ac76d60c676a3ef0f5302d223bd1b3a748385b66cac0ba5f048a46b9b0898b8789f05997a625d522c9cdf73e0a03d49703d87ecc39cc7ec12d0d23d1bb246e96936d4b07529042bf0cc07d5815c95698a94c05d71be07360d21491e849061704daa2fbfff988b332c046b49bb1701867f7b4afe4317c3d718a8d7cf7c837b738585c909e7873bd08e2dcf6977655342d2a60a2756750f70c5d2f7056ba31a697d9a3e8e1885afbea6248aed9f90f6652669cea62e6b31ee9121a286626d7d1c3485858d6e6915e642b75a0bff16942e97284690d58d21d7e512b5306640f0044f1b756525663230c88f57d09a9eb83d6387631d625e29639b508b1b92b119a2aeda28e89dc2a1dcb8054dd843fe259ddf7f6fdc3df575a66bbfd2d32411e2754def0a04bc93f9d6a5a05b2806f26bf10a75cc4669bac0d0efb99dfa0b11c5772118080e215fcbc88cbd2bfb6a9acf60fce5707ae4b90436aaa46a58c7e732f05a96037a56e23a7e278d8da9468842ce1a3f25c8ecee44d2e895fcc30df5a00d9268381dc7ee5730e64968cd9a4b861a0b1df6020ce933020a678c6cc14428576d851ce6e8f30994f33d067de99a096afca10f572f184a52cc29dfcefc54703e30d052ab0b20c06f4635a421f13149d34f1067c5571d326886b8602293e3561dd846dafc90afa9d6681accc4d976e7ed3a3ea9e4240c4cc0d966e94d273b680fc4e19d595bed5a9d0cf96283f6abaddd920d7571cd5d2c0b87578b86141e25e4a6545c9378b84102f78a2cdf3225a822c788814a0d3e1d797be438cffba1a8487898346967104ed101d10efcb5380670174d03197bff8e4af8a8d06226e232c7820d5a37422c0762184303d8c8177eb536e2020571ccc1070444b08c17bb51696998891647cbd36ba2c83d8cc89df9c53294c08e897eacd4cfcf93112814a72e93fc5e8f95973306c0eacd6092076ddfc64aa49742ff4a78838d70d5f82ab9475ae4e4f7378f66e74026ca6c200379663d35aea7db83d6d9174123078d2e625b5df84a1e80d6328df9f69950e9cc41813ff6db47ab4c7fa72fd69e1fa54a92029187d0428a810a54491f7e8d64fa1611be5b085726cc3f631e2f299e4cac82e1c0cfcf04ca14d2c82b95cb116c205f0d13e06c36eeaca02ad9bd2fe82570298f82118ae853fa9309e5ff5c4bb2b08159c6ad2b44ce0ca9eaa7a3f279e76a835dc410580b2f5eb20d8c78700ec8483a313bdf31b162936cb16e3d7288d61fdb9439881f7900b4b77868600efe2cae143c509c8ac237d6bb2f8fb0882ccf3b2928e1d7cf83e82221759dc310f795f86ec396becb2e5f84d8c81549cbe10c951089dcdeee10badcd658ed3ab475528fda091ed75cd218c42f301a942545bd863a26ddad19bd337640bc77036ba11f29a4fada09f89b206de532bf35672e6931ef867db4c4545d6bac47889541c954013b915d26f2abcf703ab3437e806bb1161b60e83b22099e0ccd05f25405e8ed5cce25777e9a852cf927ce3bc05f1e576c5d8dab3b8a36676ae3979bdc2a6d8600c5eaf1473fa4d504d473c471e3d0ba48ab0a2db1a3748213a3b76e1dd911e7831939bfc6f8ebfdd8539ad4af8ff8672bec6be0ef9a7d8a4da6cb390013974eae4bc92df3338abbf10467179747376668fb9f10fe8d840833b76c69b9ddd8350f7a00c47850850cc4e80a3c407429084884840b489a67d20dd078feaf4226c8279d3b479799a1d87d95eee31a02c5313c84e8211cb198809fda3679ca636c4a7635faf05579b4050d19473e182296ab4d8ca66066353dfaf7c2bd4eceb62c784d139c93c7abd03ecc4c1b953bdfb0d0b699b659bdb889ddd1e29ff4bbfb42da6cfd4bcf20e3d849cef305c21baf184ec2853bd7c22db75fe3cb70da67c86c6c812fe17c6a3877bf831e6b5409320b903d5d2f28dd1fec34bff7443378262e16ef0b1fec4c9eb2aaf4508963bff4da75e3aa4dcdf21a9caff50d65bb68982c7d876771b53680d5b2c2251adf5532fe3084ed74475f08e93a91ce358d312ebfe71a127efa0e45f690553896c94f81d4c15d2a0128881dd3920708fad357962ff12c43b28ecf3c85da86837f7dad67e0126efda8ead981967541709498787a49679087092ad99f1056a35722951cd00f95a26e20b1a5fc63e1c82e545372573c9b9ea84ddbf9a296977b160052f2b7a9258fb0f4e0f14cf18ac10cf5ceb885c1a7446b89f659f888d5630a65e1099901b72503e796456afa5c1706904e981f5640603c65cf1c8869160fc493fb27b5b836ed51e9841a611e5e99c774b83eb37fb709e75a0553907f8ec8009626c7a991a4f5701c6026eedccdab62a0c76f59311b14be6957551ee8d02e99763a60e8ed0f4de1251abdf834e767f287b247198eb5845916c0fa9f05ccc9c6fe750209e0ada8d74393f8b96acb3e43938cd2e2118ebea84ddcbaa58308469be5f33729ad41c22abda893c033b3e22b9447191df5cddbc81e031d97775d4943f66dcebde1cd4d7ee510be9e330c7a9b473f4815cddbc114a09e12b99659192e3efbfbb977a4c590080d5f2e72dd838e88bd19d08800d8ea54c76de239f6ee1aa222799eec99735fc650a3057d15f80c5da6c22e504736f88070b2755b52dec906a01ce0f5111d9d957edc91480abdd0d600e7dee5d9de8406bf71dbcaa853fe6ead3ef8eb1680b6df933d0dc94c6a1312d5571b199939e182013f05ff8f4b05a170c07c31e2317dc6c4d1dafb251b07038d5a106a73d83e41df2ffa24c1a3c642a40ef7d928df3e2a71045d20f51d057666a6261ca8363ccc2bd6d11f4395983745ac452e2c7798e3ade291dd99f4ac280313200a9ad9453017b8004d6d4b281cdd75cbb200884009bb84e46f0edf5cee5e6b2658e53124a47e122325afcd9841570f67c402668cb31601ef2c6a25d4f54ed6cc0631a05fab4396fd156f422c993cd1e86462650e27b827ae882d5697ec066cde7074a18b92115b1aca671d4f5a9f4beae42d99e5a718c41e57d4fc2f302178e24821bdd9270a88f40b47fa527909282b9764e56d29c5cfe98a8a639c041ca9a4a9efc1b968bf5a00aa8813100f335f89d495f6fe6f121daf8bedc2e8f9d293c11c34b1f1c82d7169e11469cd8f7f19feb40de98d1c7b91945f05b53298567b6b94942029c4ced6e44a80763f89a93bc6e883ba334120d3af49fbfd262bab36b2fbd0fa369a2c800cac0615477f0a938ab5d236c998fff8cf6e9345db3fc0e0e090acd67b6831a9a14db7ab697b4781ddcbf7f9eb299b1384004658055fa8f8ee37bce395cdb631e45683661a2866f49b041dc1c6329ea826814bed2820dc899820020ce81b00f06059919adbbb42ddd48374bfce74da3a1acbcb80b661c11e47b8987135273e54702d2bc078ce964ce3120554ca984b553cac118250abb889f15514f92d8e4b3a7875fa18c0451bd1c1aede3c7a1c837795901b09e0c5b216acf7d4eeca8047504277fb96d2d95abbce2eb32d710f884bc5dc04a0d91961c82d88048de44243955cae25dc7aa9a4b270d326fa6c3616af65030be23b9b1f5aa44383a13c6bff83b57e07aace035c44fc258f039c37c06454595163257b49757866785e1d1835f1ae6a9c8210ad646b7b3ef1ec58e321c6291e70c9142ed93ec66c860087c5a28e8e30bb2383594a8626aca9b984108beb76543d88584098b1eb158094bce5a638d89c5859a777b0ad80d396fb002132856c82f1cde68225e247ecb698ae7ad70f41e17dd665f9f6d36e81f0cf5db1a016c473186efdbc0bd85e884c68b59f3f230b90cb13d83d5548e54479a0429b488f939b8069da72902e6908cd7c32cf1391e92ee456b578e66c71a95cf6f69b3ffe0bbec0d5c0fdcb5e03edee8eaf22860d760d04366c432a056175eee550bce0112f63a9cc09e2148e112dbded8a21b98aff939f15b58c0c7fadedf8b1c4954b827e34b5e8f45fc9aeee236e7f010a142f0b392dfaea6075dd58847386e127351fa7762d6e6c65a2bfff77fe7f86e5e078e5c1cf0170508b50528d300256a4a24eb543d9e3de7a29daa1a448f24431a0fdee48ac53b2a2b0903033af05e736040cbf1a75ce35a5860d0d1566e2026b3b62a13d4c250fcf22fa2127868ba7bae35b5fb890a1637e3fd814efb1d7f6a8742f33e351200e0583fb72503018ccb605d8698bca8dd7222b5b632bb6249821be8fcead28359f871e10cbcd2c05971808e954ec8718b0bd1e261728aab48f088f423430b78848b8ea6cb73f9210942af90c7186efa6c7ae7c800d6e069f2503ee060cc823fb5457d453177edb101c9e1f0a1eb72c31fc3e3092870eca103899ea8bea75be4dd2a41f53d50d2c4311b33856f8043f4fd2b0cad14a13c785ec522a92567baff0c0adc80e6584526884506efd149ed73ad682d627517484393d60848dfaed30cf43bec368414de76734a8de2320e099e6c44b568d803c1bde61e6f102421793282d2e433a78cd918218bb24740d6cd6e64b931f6a7ce0a111b43e5a083664569403fafb3ea038464128e6f86f304fb30a6a19611178010041e5dbc572eb25e04a91b4f1b9410a87517b019a39b9148d547402fed796a26a511dfd6c16370cbb8bd038c0305ff5f3c3934af1c10069fee57e728c9aa560fee9c8e29f0780bec86c35e5b6f4bdb5681e5cba2caa759ca6fa3ca1d2d049340efa6e3607e9a803b30dcf3edb17259858f0422e8232f3ebbf1bd8d1d7940161653fbcf0a6cd7410115a070b60ab286f10f3e9c4d572f82074973c6004b914c4e6f9bc2223875691eef0074dba77b6a698374c84470ded0927b539b79f192a2302539397b3a1932a88d4265320322864a397ec57946fac1c6052353327a81bdb6999109f369fbe30ce703a7b8588eeb7d92767cbedcf2156d0d168625ec2ec629c0477961c62b6efa21cb17987c290ee6494a37f29b9f432cab308a0c8ec60b063e6a7723b0bbfc1b59975caec54ab7806106d29c65335f3250e418d5dcfd35c0566203b398d5387fdfed0f7151c7b8740bba67acf932d819c601e287eceb7c208c65b142e832959e7150dc268d110ed2c3d04bdeb0d11d6d709dd6578bc07fdbd9c9c76c7efd542bffa7025ed2831dba0e6e9c9e890f95e4a0a1ac34fbc1c3b14f99184acdfdb310df62fa3d28503492f874c5d680d1ebac8ce580f07b741308c7bed430585edaedb6182649b62a55eb52134e50d86c15a9839b1c8bdcc66712449481cf7cadafcb5239e14a1c97a073bb2dbbb096a250d02019ea6e94aa25d4013f58e73b995d44f99750c0a019025f43b8c9df59d1c359acc89bde9429f95950b66e060ee1ec66d291d51cc8d97a4d2b7fb67cb338b4ce7927e9361894559189f1e17afca75ad8b8eea1bba0d5e7ad5862b77875104aed500548b49d78ab526c122aa3922979a08cdfe34e76eea3bba1fdc71565828f19c0188cf03414037f9402289ca5ab7d4983a4a5a7a5e57574edd629223c5ac67c5cc1f8ed7dbc85a63e8c7c59f3edef638e56b2d6d21ec0d37fa6437665ec0cdf961048a37ee531af2313c2799e8c85ba67e38e4a8329b391641d653829f72115603d651263198a2a892cb5fe31d6e84c5228f07604869374e6500e3947758b8aa48c84ea3c9317ea0d814ae15aad3f269f4ffb98db6f1897415090d82b2dfa77229556149da60f7876530903982411d70db57f96c4d0700a916c957d81e2b0ead2699f7623121d9506759f499e2860ff7a56b877605ab6811840e8df67ffe8955e10c4843907839bc113856bcc3829c3e1e721634aea94acede2ddd7e7c6865f4038aabf1e8f502adcc289be6f321f00ca1ae4c9e405357d4866cd3a326c715747ac187da7e3156a9d3a22529293b520ddf1c7f9fd240a57e7f882bb69e78433fcf69a4a1bf819ffc78d2493c763419d76b2b0cbfb143238cda0da805aaa60c22dccf282dc457e9c86aa869cdd54608db16eb4f56803d2a3b316cab5bc66213d1c0474e17f51bdd45d49ed76e1707f185e0976f590cee6031bd545ecc22574f2ff1351e54babd728426a3c84792b8f0f50100bbcd180b98781e30c300c1be86047dd751a0f8a32643dd15c2df26f3044b21094007bf7a38ffcf267d3c710647432e0fefe0572bdadef53e6bca7213197d90597e943df85805d9694a5647260b015d660750c29043beb4dab4c4e07b80ade6d38e693cc0de18b6cb50f80aea21cface2a1d8975a34bf04daff8fce6bd814b9eeb0bf20cf54734f292f05ca1927dc835df42de93cd02c68c3efd95548349901e8a1c103ada68ae948780fbf27d34796be4d25be6e23b574ae5ed26c8e01e5cb4161e29cf2e88e0c8c43e9018038375e306dfd828803bf050af6583fd38d36a0de03c5785708096ae00ac4548a5ff315a80520021405dc1d7f54457b1d327a1d339f63dc7be012005f39c4288306701eeba64e898e9039a5e7dbf4e36f3cb426c4b91463101917d67b588585cce355606456c8c0b05213614b8c2e3c9b7de7bdd72023f3e256849254a433920cfbe65ef5cfe463dcd08d2999322699357b5c14d1614218cff97facbd4c0a580decae79568a2b1165aa20ddba4490bdc8b21468849021faee4f38402238a1ff56f269477f2a665847f6596de60fd815742dc07ed1c9ec7de5ccaac0d91e2babd8377c6e11ebd1935f121a68416a221f39fddde4bb78b1dac8f5e39ee27810c3a48d6632ce648b5ecc8e14eb2316f2f7152a28bae3b6e873235f2d02e8f3ae12d42d444019c90cb700ad632edcd95b5197864e90da8d9f984f1264a8a2965e25e9f2cc99cf223ecd3d7c835923cbb6e78b1434e28306e2253f26f3fa7bf1cab70dcbd9bc903c13b2c51c2172863f7947546ce4594d454f28a19c2db0d418f389cd6028a304895982bc4a0e54883281c4f252a7195de945c74f0b92e71ac483da7a731c55da8056ea22cb2ba3798d97ecd8937a42a82fc068635de090d478b7d67d4b2cca36bebc94d0550385d8887476b928449f3c03c74025cec6789ea744ff70f0ebb18e8f39eee6bb1971100c3af5f599ccf1a02899550fc201a19824fbca67e367b8611c85cb930b7ee81e96d0796b84747893bd77de8520e7a2aa29d9d60d5bcb7a9fbbb90ca8a96f1560720c39e04779cc44d923b0428a1835bc8eea0d600a25eb791a5f7b4d4fbd6804c8c620a66c5a3fdd29f759baa64cbb19a842f03716be1de25167bba61649a82a2a12017999413640a07b78d0dca89b4eacd735f9376f193194f50b597d9ee077d23f1886b61059be2648040d93072cbac9fd2ac6e4861110ea1cd07382afc2375295d259bcd90d8e8d1a5cb67c9b5e1957c95137a9786a16340cb5f312979e0ec58a92e312ece26b50bca908704df5e3f77af995e285fef66f1978f7d232a1fa8cc5760b7c084a3b600c0df93f702308c7faf380894de1e17d223941951a18b4ba4cb58bac8d0d211b1bbfaa9c3a483733bf659c8ceb2e974c0e2afcd9c102fafafd4494b7859298f8a94690df18c85b7bb2de733d31493904577a0881aa6cfae0ff4db606e49a2fbaa7bf29650551ebe30deb7aad570826b0a5d85ff0213bc3118e30be456d8b9b26118a9e063fc45904547cb396290f4fcba25364914c09ef2b13a28ca0f98f30ad59ae1d801ecb6d5f4eeb27dd045f196d184a21f30b64c0da307a313f8e7641840e6a424697b7327f15f679314381b8c3a4953b54ebda45b9224053b4969558ffea7a8bb7b229085be2a1e65fcd8d056004fe551af244d94ff840e404b898c18120961c8b5815e7f2e3f760adc25804eb13e1c4eeeb0f9f6ca3abcf03889a00078afdf4838a7c9543a521f8a042f390eb6db39215d1c80ee11b6ad364cb9f696c206f5210aef76364e3b3bc8c3acb76c7b79e17b5257f05eebb8e5aeeffb63a966722b48c247185f1da572a1f1ba8ba11b8e9892e60bb2e92fe15bcc837a4287b9f86c63c98782e78334088abf4239a9eede0c6e68bbd7af3ee2e1f446ef79004034dee601637ccdcfe3e3c94b182209e25188c80e2d732959f344ceec80841e81e23d1b55fbca1b33cac5165098fbde3f1138cbb66ed70459acb4fa57e70c44d3415eea780871a19ed89eb62c979882299922e39788af511a1da5db311a9f1907f7e74ce8bc9254de924c81c7fabc1c3f155cebe2d6653fd1d0ee7db9646cddec8626608b1d03ec703b195dda59362b63cf32845b5b021c87b3d086c3fd231565d1315489ee21ff12b22825e271cf0787d0393f4e911f189f6f09dcdbd346b8c52aa61d955bb92d1954cae5655b852b35830fb83c4c57b37a693441e5a93036477181fea6ece0ab7e0d437f97eb3333a5d3c3defd36f6585ee82ffe7d8993454ca90945b78a60a973ca9647753bdbeca48f3a7e62f18ea223c2fc79d8788f1b86c7c720722382a5a3c2e96c4d23ac7f9ebe8c82820bc4ef69e5d078adef9c11b209904d4936fcd4c6cd627c25079daab7143ef31572ef6f1be30602c0ca1edb40ddcadb2e2fc3d5410bbc62153bcc6449e46c4f2c93cc386149936ab2d69180f88f7f08773194b844076ce40e515e6ad8f1da55a137a32d281366f7843257cd04500da72020b06db97ba0bec02840f959d432c54403455527e5b6494f25d9519d3005a5db176c132ecb165d1818bf6320018bf001d9484317d74b7a3e9d24a09736a0fc314f8f2ea30c0c6efc8350b518ed210fc46f5bb455071c7ae8d2c8b1357469c1f13b9cd3e62646b9cd24dd2562a3cafa7f187ef80237a0f0e763e28ae1533f71f1058562e52c355f080e97b82deab0d9d1e0b3fd9fce4b4fd3b334a6b5c4bb605c2fe9b06b34e23f3a572aa0ba8dd6a6705e02090d3af0ccd2b95581d830abd600a9899a6c97924d3900b1a0c1dc2410d709c2f4f731549abdefa613c7ab8997a454c2d2edcb85b55fc26066bdf3a0236c12542ebfd20711a983c5edea504ea22d6bbed202d49d5da6ae6462c5c7ea050ffcfa4205ed4281b1734bfa8e698f63343bc66b24cd67595b904b4fe2672491fb59abc358d137fc0c9d0fbf3520dddad9946f1992806816deafa9a7491305042dec8c2fe2c9833d58de6229204108a0672c2b05e3f25ba8fc054123c82533780a35aec4b191ca774a075801cd1c78255a22d16e9859794ab78e943cf5d1108efe3d0e616df9779bb31e5081d45cdb0793d3b8b6a75c766f73c9831d5a3667f06837dda972e7a8ffa321f65fa4bf10098c11ec8da7c5f1c47466971f08a6de462698cea93a9acb1a37e05cbb066b083e20370ecba858d4385127b70372afb0913361f55151faa880c701a662133494081a38a208af6951dc56b455008e49c82db56ec9f1740da16908db79d3d576e4dddb1389e1718f5e1e727ba3cd298d31cf72fefbbe31e23ecdeab47f058c15032881521ef2deffd7d506a7c33392f3b8bfb9ce5d74bf98533fabb10557daf25e049b93d37aaac6447b84ddafdbc70c2316617993a095ac31c1579ba217b20a3a3c4091daa9d277c9c553f1536ae2fc2a80a70014089ef6e26134bf8ee13559a1394bbb993365ca6df89e505c0800509c6fba2c65c8e352c3215244498cd868fd12ed198264a8c44c191210f3944b55418462374df45566ba521f3676f264c7ed24196f671af69c8bac093e5855e3faeacfabdcbe9a4672dc922b691a319eb14683763313644ac9d0741688f98c738e9574515eb1197739af325c96a2ae95462935bd8f895ec61b02078286a66694f79e22cee1375a6fbf72374faf9cc2f97b97f833cb819b28b6e8d73fdad26fd2f392e088f3a6fe130a28fff401aa12f11802b73d51aaa72ac6284b3036a685a5972849847288565cd7ea26b19168a6a68a4d445923298ba4972c59f150a926e70e73a0880a1f52f7b6fabe50b5b15c6530afdab4dec94e7477b24598d525e032a8f415ca6f9ba9094a307d3c0450d12aab6da5017282c15810551e67392888184ea681e82005318f6a7c0d254c4c1824c5d051de50c31d4374a00050b979f637c739b7577a9fa52db3c0ce4aba8480169bd3a1f500c80e61695ac0a558d06f24e403be8a1f5ab72a91f23de519c3d84ba9bf9bd05ae66be5d40b5790605341ae38a07a53bf5ebfa2e9c684265c3110c0ca19c0335f3756b9466421c03661d01462417f16ba180e6d91ef788c269d90d0b3377ae90188a26f1a2c6f151ef18079401fb0ca1dd68a1fc0bc0a73161402b12498519e5a51e49356142de43c1ffa3853b93831f27c4253b09454710cc0fa56b52448d93d01f67d8b09ca4555638ee2b30e2dc73ef82efbbdcd0f7dbb37e098cdc7f3d47204c18611299430eca6ce001d745f5bb8e8ff85dd92df33a855fd25bfc35036b90ef074a8e7963fa046ff3ff98a3a5500e5152500476afef20f2ecc2caa075caa416de0a7ca93618619b681481fe4878f31f88d05dd8e70069e6ef79235fa709ca85e84a79d8a6c47d9e752d00d1572fc241ba8b2b6135c2a5be2672b2bb08601c761768244b9f5f139ac4c46f69b33e4ce02bde6f00bd7c568abb320ef567ad822acb7af89006b49db75e3198841f381aa5ce9a601d8ff80f5f011c586865ffdab63a4d37307fe4b806252968d46aecac75aef25c7d653674b2076da1d147713bba7d5bdcf7fe29939a239fbb11a7a2ab42c4938a60fc91435ecda87d6ba2de48ccadc75ad170cf1014aead297fc68cd1a48cd6e396d54e39919ad56ec7f26bcff5c57baab20da6164509f2156196191183be579d87d30d8c1186ff53366834591673b5a66866f23361a7ecd6dd11433cb935756400ee765d0d4cfe8fa74e626f1303374b4ee2049e10565d83e706a3566d6fe47459b4939335edd4cefd1d9b29d1953cc79a51f26e7a03b330076db2c575ea4ba8bc15ca9af2608f4b5f4bdcc5af2ef18c171b4451e0655af7f5c7d2e9d44cd9a6cc2a6c4cb2e33cd6f6579b4e49638f57b01845fcab42c06ef7cf9926c59a6e6ddf9823e9e39e4955684ca55d266e296c3122aa359fa579170b12fb46eee8e7dcb8f60503d8deceff2f09755314b748a6a74ba08228d986773b520180666596399ea0bcdadb6aa12f9f45682ca3f3f61120a870a1c573172b1440a347b101870089abe5078f5243e5a52d91287db0db19207f50a10fe098776234560036a6083afd5c30406c7f743aa6cabc61010d1289266d710ed548c021720ba567f691be4163bacf2b76ce222e6d86e5e0f54c2dbadee179b1a9937a6518f34965cccadcb52f65acd111817ef47296c45d10770fc24b5f4b7a0c076d7c6485ce6b73bd86245d477198d124f718d7d31e12319d13455a293b9cfdb2f7b6957dfecab0f3c1370dbd568658ca678f0b1d54315d28f23ec413d07655457d0d3c6b66b28d2077a12a096694513ab0c41be118a0f30c0f3e1dd2e340a3de4a6ee6dd8ad99f47294fa2720572fee079a174f8e8aca895a1adc2e56bac73736202bc843d8b91b18fa2f746347bab15e7b9eed9179488dd086439718a0b6e90ef01eeeada4bb031f7e8fb50e319c2344d08a259f7eb0203423f62b77e7a0743f8cd918048b73529534f0ac0d439e5d0d8b8d95ad478912e560cdce892dffb84f1adbe4e3504e6950ce39f97475ff18625fd7d82febf79bfd2b8541ab0e1fe0906ff88f4ea9c036357ee4e5120cce14cd8a5028f7917a6704a3fc791dd77a2cdc5860786aa5830403b86d28eaaf3c564652408f192ef91af68d2887ccf683b5c69f58762c8fda08fe6905cfa2f268b0a2a1602dd0bf9ea682ac0840093afde4f23b00124e7b72583202a1bbb0341635d153e9beadfa1c32a5243c2d343e2ac7b8cf386ab675f9cd9856badad1726f87a62424724a713bf8bb1cccf5a69a1238a84ad9845e9c33bba3174b55e5c71722c913ea0a03cacaa5596b670b5e97a60fe74581fe40ae622cf958a276406cbfd48784057d3e6f139b7305d6331b9e4ae5a974fbdd2260515bdb990e86bc03fa06a665887d879148606c592132720fab690cecc7773272609f5e3d784e776e436d4dc9b0df11605ae576ff4d4ff0773166edd6d63b4b4f5abd0e71a75538443b3460d99fb41dd821147d336460cdb4e4ad29e3fd77d7bca8db458bb4309e5c9cde2ba83105a14674128d2b7cbadc29fffdbb2c051a26ff00e34b435ab192cec545b9c970d15dc4e83dedff79da58d9b6cbf7d3291ea780c054b86331a71e01346b44dca171039abff1c3a278d7ab57bbb061ebae77f6c2d55b690656d0c743ac61d32734ed1fe98a0b8a48724454d3adbc49feaa271fae76c06d77a9d2dd425c9c63186799d70d0b705af242557a31215c3e6af04a128c2197df8c28ab4ecda9f4877eadd41a7435be737c46edffda87b1d9df508f32e6da0fac40f08552e19b9ce0e1a92fae2b066a464c0bd17e2843fbeb6d132239fd2be88ddc22e14bff124c1529f9e8cdb1e4e1f22908873a348ba3660777b39315709f62164e81f0cae12ccae00a76f4a2406bab97e15aab6c2663374cb46e4ba0e54406149e0096964740e2f5bc9e47d41e850ceb5b40f8d94b7f75b5b494aec902614e1247d19a2d11bc223caae192e2d3523ba5107d205ee3d65c0ed411cf99b5c83a92d56eeadfb1a4700a424e4db06635ffe1b6d8e6b75de4b935658bb563e361a02bbce245f43f754ca367fc7da63ce63123fa2fc5ca8774732c539d87674383b6f5954aa311caf26da47b350890314aba95a100a0e6a844202d3fa2b2fbc252b79f1123b6ace7396064ed8ba5c4ac9268c01fbc903094a1653d4cf8293a000aea8688d1df57b1dcbe8bc3741de6dbcf131871f389e30602d7a74b537adada50477d835393f61d308000996063f2187b76dc2507cd7eddd3f6a49b454c96e46e41deea9fb1e5229a39f16358b1d00867b89d9e81953b43a45cb7ebd92098f53a16e4a7a78be41134d0e1856015083d2313108322878ac488586070b51182f818d0c57e07845e9fc64c78710cfab342235f55958f9a55bdeebb34d05d3c9c517862d1707e9dbdcaddb327d2cfa106ae7dbf223ac2f4871af1a0e115a50f1701d245e71b4b7ca60c2cbaa97fe3d91195e502345c0a1cd7703a23ac7b70d4ce704d249f69f58887f0aabc2b7fcaf5d11717b778b5691d0854a586164f40fd12a8abf21424c83b82351832942c29a100549d4b66e3fa1c753e126cd01a1f7fb5ab61bb0eab08da55fae453ae88bfadc3a4fd1612f7edaa889ef68d5a621f3c49ddf84886ae615371f090e5deaa5ae850c473b2b93acf2edb6b60540ddecfdb84d913fd08817cbbe9d24e74cacd09f5a4dc99661d6a5a434022148cd66c4e031e8c95c6f4af53aef279444afbe22ae0e546248092c4a40b10cbeb0d995c704673b90b062e3c9cb6cf0b2a1a98fac9d3b4cc4f93ca64cb0cb8b1873d446816d7ca689efc2b43af622da06df9e807be9896177e254b9a33ed288f8a441f860cbbe6f6b5eb3660aa4f53fd86e82f109337ff85982a33958f27670f77ed420b2e0f229c5106f89db146a8cc69c3a1a10a4fd48d21e38f4d2fd625ebfa7136add0298811974a47f21f4e3c5d3c3a8647395e41cef56626630ba35de64f83cf8015591bb233f01640955f95365da208b2dcff57b2a405cc9c6200d3b96a96ecb30babee9d00f18ce5dad4602407a8a81cecdb953714f1520372927223acebfe87fd12ee2504a98a3cabf750bb067c38b17bf7189c0ae5f7ba7cf03a312b30c9281cd9c727f5c7239ee23ecdf34756ffdad9a6050bde9912cd75957f5beea5cd13530411af7bc88eed16ac5eb90f2329c72a3600753d942304fe5fede670db96aacacf16db7895e6ac8bdd3e8c650b61726eff0a48cec985662e464d1c83e2d1f86b485659d8ad7184980d04216f14e18dfb8c097163330439df00affef72af8caed66e0a2cfe143c52bdbcd38046e7462ffe6781a8335d49a619e090c289bd4de99fdaea6063e4f95c63f3e55a7daed47bf00bb4c6dcead9213d83e4d27d03386732c2170ebc396b616ed00863a1bcd4bcb9138f128014a045b8bdd0d8cad9d5de998a47ffd54c0f3484c41d84d62be86876c44ff431d2fb2af61076a558ce28fb0cc106a7fb8e9dcfa2a5b84a3fddea074c5cc7e04e3d158c63ba666ff2e3669a6b7920539ce4eae7a0efdd6b4a9cca1cf1133632a651029fa142a4eaf91e08c0b00e419a966bd82fa9c20890769513851c361f6b0aecc3eac0f6c303c80a73c2b65d7269c1eff9e326fe993cb8ba2dc6942437f6033c461693285a6b355f6d6a30b2dac0e28a126c5a17f7f0c2c27d4b70e64dd645a3eb1ee81b216b576023e3e344374817a13c4402254a0cf666f8dcaa9c3b037185a0098337364b7841618f7c1c293bcbd1a257aa9860eaea053b3331ac15bf225c1ff10a875556c0bfc4765622d10c6339c15d074bb9cc053bc8f4ebe3c090f124b79af19a33616a35402bbf7a84ab33ec1ccc3cf3527a3ebaa1e2c78933fd7b8726574250e1f2b22e6664ca7478062af1c89a822a16e0f2dea139907e2a658c25dcfa1db911400c1bee6aa0ed04d6849a888b79abc197eacd81fb2b1ffaee17962fe45a46776c30955aab06e3f6ac49a58f39815972c4899e6ce791b644f3b76d3d3f8a88a8488506694e56baad68387ec1a15110d198c0e5ad5e89e40580f7e90b87606d1f536b055130088a804257c9e02f30a3314e3b55fd887d0846f74a100db32eeac6e245981dea9ca8feb6fef4f60c355a2d182acede4cb4ae840403be51ae6e1f6b85f004deefe92d9c57402548074611474c5ce98cc348ab05ee95ad024a1e2d5dafd171662b26796d741f0e282163f38ea4a84526d1e7a2f44d71035df1e55f8bc00a4a9662ffc0be00a3c78a15eb1b9d03f2469b36f62d349965ceca01077786aa4a8b133c56b1d853d23dab6c3fd787aa5a0fc6948270d5d3468df1d8f861f8f9c086326540381fefef1cacf760e890a9a18147465a2086187c0d1a65f4f259b540cb4722619c934b8cfd9e65601ec6d1e25a942465d4af586ae735af5a7da497433d88a2244bbb14c930bff100b9d3681f4f7280dc5ee7f4b8ab6ddc6406cc9dc99b11641320a391922ead54faf43f8f6aa9afb4c14f3bfdf49ceca9ab10064a34c929a67fcc1afebc977f8f78661d442236fa1ff85edd84547e041a999747869fd7f0f1ecd4af37b9d3ca1bb96775f093663bd908ca2131dc5d9125931d4ed9a2f18e2b7f0868464ad6fc914cff4730e89c6da3fbb35140077d5a4975d86c0248bf58cef61a40ed9104c472cb6dd5ff25e4c86c8d25d4c345959411f510341791e8a75c1b5c7282744c63f8b10eb33ad621150b9175fd6fe88f8cb392ad45b51549ad090154a05434e1ad778d79a68a0b5d5beea94b7611d128e46d0d3b5fa416e4adee8c31bd8cab2cda06a02bab71b32c8f8c10697833a92fda85a0597d4e5827d2b930e8a2f6068f8fdbad1a35acc8ed1d19889be1660657bc0465a5d5b44dc179b6d8f2d792fc0b86c3e61eb428d4e81bbf15be3e1c053accaef088c59f1bccabf7c10df4999f12f398a0afd20df89a504708855ac2c0b4aead2771a5011316686fdcce47df8b5f1fb09fb6692b91bb22e439343100c85c566b860295cd3b6b9a83a73b731bb0277d835a0807b2b6c89a020850d2c23b8abac7c8cb8ed6c2a9116849e4b803739e81daa90bbe0797e25a175e77be7e9ce41e87e9021b370d595bdb912d53ef3f2a16a3aa4f310213b493e429114475d430126b4dc58541c7b8e84fe165c46dddb2fc0b3ca0c4b1adc8bd2bbed9e83fb490802eaadb40778e700c5eb3bc8ec7f328d97b96284ec0e98245169eaf043b179b9d96e8c7d881e28c606b90cf72274679daba35c3d4bc38fc9002b7b06ca64d8fa9b13e0eeb2be2ff7f070a3c7f0dffc66ebc15a9773d1507c13f1f5de330452552ec69b13550a11a7abb11b50ac452f8b169797d19a4816f18b5acfff069257c657f22a2aff3030be1ffa906f7e48909be1df83c393928630d32e7bcddf0611fbd0cff23b06c83183f3d60a90238e01b0c3033dc8aa85ef5356a0ef8912659a471ae1e2f659e3003c1adb110713957bf407da566c04509331ea229689d6184e4aa466d90f099cc125a255dc2d352b2ebb2530bee184a28db86d2693d8f86b7baf5c4f42c0aedf43b045ca32c0abc4ccefe864ec12638687ada028b1c363e0a00d3371eed78118f1a93f332b662bb514519a89c7581502398cc39e151e5d4ffc620caee57969dddcdddfb1cc2bcf170b5e9134b8f36e7b9c71527a5aad082f353e754ad06fb65c8678742662510b1bcf5d0f3929a886b2acfb25eb03f2d186dc4f85c6f5cb327d8b708941691de0ffdd9848182e40f8860c700938cea7b0b5ad00e52e86dd637a5b2b3cd31a145ed948899aba6b3514648801aa14953b5e700a19560792e4b76207c27a10b72b92ee6458db734170da5b7bb1405507e83ce8a51fa4fd59884765bfbfff5966be661b304c4bd33e50b01cc9913a7db9d0b2119b5438719027f4445c9ee660755ed492c0c363538b9d71f953927bfbefb1039f039b03de41089d9d46b9420725d82b55e38af9f322e56506d36a870b80d756584728bbdc4e9332c0b9ca00cf09a91ce28ddc4c15db9e4850c29d1103821de1458c2319162114a596cb1fb6a1bbbb1da32d7ee8ec0406851f2d865bb64c79404a1ace5345e02097638cbbfb851b336777b5d8d2540b27d81dd36dd98eeded82e39e50be2c9b9a8109caaa2790cd70fd47d99547428d351e8520c715e3952a420c0a484c221d4e025f6da09141083c2e34cca07a94aa57c7722f81a0f51d04ebfffff73086e64fbb2eba94506bdf1def38a1b333aa2a57d869e60a1bd8641648dab061a2d4f3a3f1f0e5ea5b43ad8ec43471b31168946b5bb6637b7b2d8492daa6b19a4e262d3d8148f49ccc1d03f211dab66cc7f6d6002e88e26a0a84c8cae343f8a20c0c360d0f578e07527777cfc3f5342a8babfb707507e959dd6bb847880645544f00bd1c096a1aa65f5ab7ae8c580325a51e9f169aa70f5329ccb4a775d609ae05cbc943e0702c3beddd701780ac3036bd1e4444f448f53ea83d163b23ec144267a751aef0a494379042c5ad842fcac3528dba0af29afc6587ffff5d3f2894ebffb78ea83cfc1c35798b5b8a2ef92383061286136ee7f7c77fe398cece960b978182842599ba5607489330442f2aded280b4a41848810a5ac1532205477d111c996002aa1ddd9bcc3981e242c5e5a6a2e6f7ff7ff787ce4e602ba885e8ec7487e8cc5d5955aa40b9260f638cf33eb16a72be3be096edd8de40af10b335ef96edd8d63b06f59971d46e5a4b84f6ffff1b95a91ea2dbb21ddb3b673489a2295a497105a55e15e5b66cc7b6de17bc808cc0a0d0dc80945836c4566def4d539fd08f21a5bb7b3be41688bdf443904a3434f28e3dbbbbbb00d3d9b9e67d7af1b7412389f051319d9dad0d7ad4b6c9dd2ad60efdb12c6b729e3f6f146be78e7f7c369d113a6281b723e63ebc348cb910a224705265f22ef329c43a09850c5dc6e38db7ff1fbfffffff9f4836245614856039183e09a148fdcaee8214162f8c4c181126425a1c21b9504a882e1d5a404ac5a1c9b37281080c36a434ab6052c0a84ebd10b8160ed5539ed5855c5c7c3e0e8d7aa831a4dbc2ebffffa3e8a5b3b3b58199ab2719111a1a186a538be2c4960fde220762c706c536adb2a0e5efd8ddb7eaadd5dddd7350517275575199fbd6c2d5839086310048a1d1239d5f7bffff278de0a41d3ac3d895938aada4a3abf42796ae6a638d3cabb559962df1f8fdfbf506b0e002b1f51fa9ff0dd03a7faa92eb8fac1140730174015e42305c202536555555edb00e80905425c9a11f0b1f240f54224b132f306e2ebb9be620dcddb390b9bab74645241da4b1eac3d8c41af7ffdfe65cd44bb870c8d3f82650b58403ee6c5480f0780cb23e8a138ea09fa3ebea0b45f545399dbbbbdf10a2b37388e146d17577cf4415e1ea7ec53b5a2659967df1723d817a84cb0ea37d862cd3d9d9a202aae1a40e731f826a284cac9ec844b23977703a89625930f16bb5ad9da2bb7b6b94732fc1e134a0710f524a4c0d5cc87450815955c5061313d47036f856ace44035896e2039529a489c3aac7e56405652ab61faa535327d5b16d00f49a8a5d0e81aba52a52ba63b966555cee27afab0088b41ef0c9d937406f0c8b2ec899f44a50e30e768987e69cdd31b4d69d0581cb92ddbb15d9362b16b9240f8010c1b36930f4a4f3678241c19711aa65f5abbd4d20a99940d4a9c115a60488226b4b92ddbb1bd6db86abb4d63b9060ad2280e1cf8548eacb308e2e6d8acddf009971c175913ccd4c93b76777777f75a0c851b0417a48e561fe876bbbb8bfcd0d9090c5e1011e6a2c810b723d0feff3150a6b3b345f38048027ab4c8ffff2dc780b42aa6040b8b3584d2927bc7eeeede5483cece9b8f261d4ff2a476c09d0bb872239a0085cec98abbfbd46de52caa28153978e7d21b3c194ada11fd3c5e6daeaf6bb20fb0eb19f40657f71197c2f1a5039877eceeee6e01e997f3053ce40c5287a54527e4e135904e74201ddda3bb7b36525adddfa3609265591409ebffffbb82eb19c4d35bff836b04d08cddfdff8fa9c1f18e3d6d63360b2883a27ed568f8185f500e843c8030a5220219645916e7ee7e06a9f85677a49fc38c31c618efd7c6186317f86ef05de1bbc3778bef1edf45be9b4467e76a81037e452ba00b138b869ac7cf20bacd5b4fc3f44b9ffaffbf8469820b344a5d1b83d5217323f401299139c114bab4ffffe1120f999a4d8d1cd4dedddd3ddd34ec424b8d7a763bb6653bb637ef07c983f350cea4309d9d2d93576f346572c0e79c73dead57ce39e712169d9d23ad9deec17e1b88cece125b8751a5a424f5e08189508710561c044981154a7ed11120fd2088220a23d1d999542e73061e66ce14b05cadee355c4a34ca244fa30c491ae82c3159f50c5d015156566811d408a2b3538831d418c2fe1fe77f5ad072ffffff6719995a329514a1582836b80ea8f2ddf3c5ba1f3b21a7d600a6296a5bb6637b6fe8a0032b5a6020e5dac8c869318db4a9c98d89ceeba97b938379f3fb47b0feffff08329d9d2d0aac5cb88a56316e1aa65f5a0fdd2a2add5964ed5896bda9c4a1e1eaee44c4f601e995500cd2c90a855b35a6db712e99dad530fdd2fa9dda6951bf36785d4ed5c026ffff5dc9f5f439715aff93abcf0cafe6d45142e3d330fdd21a2a277bdccaeeee3e367476ba3c9f051f1977a2e1eadeba8db0d912c1ba2ddbb1bd41f8a79dcb10b1612d8580ab0bed9c0cbd637777677183ce4e9d9efcc142682b63fcada864e7f7ffff0fe94167678610a196ae69987e694d539b42893bbce006445997b6e7c82ec348ef02303a0042f346ee0508ef8cb712edded9f10354437476168fb8021572ff7fab61faa5b52e04457d593756cd8f868b9c25208ca8363d128c36471d8a779b4231e788751aa65f5a3b8f861e77ace9ba2ddbb1bddd56fbeeffffa20d9d9d2ecf42d1978f1abe46246afa31a4c681781503d7ca309b505abc30cd1a77f76c1c01b9baa700593239a265220b66b1b7806409248de588233137a27bbc2ddbb1bddd5b3cd7c000e992882093f6ffcf26d3d9d99adab21ddbbb75734e3896bbbb7b42adc98c8061c1d95b2f6ce8ec7479be0a2f645c862768a8a980100263d870afa44e72ce39e7dca6a1d866821083d0654971019870ac701e085b9e308e69a4553bdfdddb7b7f2ff00dbe42a79994d08d98a29101082a0f27e1e0aa51497dffff15d828625c644d4820d130fdd2fa5dab1e1a645976c349ac91e9ad3c0dd32fad636c2d0de37670a84644d974c0c4cd2d7989d910224de0446871c123523f268f02202abf19533e1c128f6f6182b80843a2064ab770ca6a39b2b2da0008d67f5555d51721c6baf44348d8c16164de00f54b829a86e997d62d204b93734822a779a2a7460a8ba4145d4029452fedffdfe50314ccbe094e011798a41728904e00b10625952ddbb1bd3958b66cc7f6b3dca8383c1c1f8e0c4e0dcecdb2c4f107b5c209c7836d494a17bd40a2a23e378c70effffff59f0f3852a8ef98b3b70cadee2f0d638cf1926dc95de22df99664966ade954954133b8873edc0968d863dfbbbbb33f9d0d9295373a3d323540193510a0939e79c9b5aefeeee9ef246a0e5f7ffff8731446767f1882bc04062ecca2fcb9017545633c4666d7d66efdddddddbdc0b3a95538d23af86e997d6ed4f948b49344cbfb47e1e850e6c6a58b17ae8afa54d20908e2023b2a2a27f82bb495a7477cfb55263cd8c8b578b44676712676895b07fdff7ffff7f5b100c2d821d93a0b6535b1114c6abdad499a40258a34c5347ebd8b1dc96edd8de3b2757940f9d9d3215a26a5a165bd52f8e9c9387c03120b5c2e9e0c275044cbaeed10f109d9d4161859f61de7ee463a1a515d8925b7d5d379a6e2933e77db1327be250733937202d6c486aa5ef7d739be63c2b1cedff1f83084c8c2106abffffffddddddddffffffdd4dc32ced147102ee586fcb766ceff7ff459951317fbb69ffff6f421a9aa29ec4a5707d1458a876be2e8fe6366c36dc1c03469208624d8a259dc7bfb0c008d81c112719a2ee90eaf2f82c5dda10c8116551a905762142c24449ede30a94d8d0b921a226536be98920818485b7e431b5bb9be474eafbbb590a450224eaff7fb765efeeeedeaa199ddc380c00290408532da1bbaeab30ea602e59967d3959ccf53456e9b098fa552387d8dcd7116968db29b209f2f9b0197c08caca7651a6b3b395baffff3ad68ec76a8f3dc51277c20dad4024d7fafedfdddddd9500224467e7300348f15dd7dd161767d7a315dce8f40855d064f4b41826c939e79c551e5672a20bf205bbbf2c123fd5e85cbabbdf704b3246477be0438312b794eebabbbbebe3b6074899844600a572ce3917d9d0d9e9f27c32351f45372ffa83d36389257a41a70fc71c0f6759fd47a7b9fa0e08ef46023c9dd764a7504b28a692558e308d68987e69ed7aab3a777719c32ca398b3bbbb345a7e77f7194274760e8b47248619c9a7fdbf8bdffdffffdfffffff5de699d274efe19be48dd22b089b15706c275fbcb9c1f8ddb21ddb1b44c7db6e1a8a4df6ffbfcb2704a5f53fe356c3f44b6bffdc13abd63369ed18ed28ed38ed44ed54b9c8ce2ed60f85e00553fec37859ba5e684878c17ec808a0b0a721b00a464bfaa353a35f3d0dd32fadf1ca8e4afed9e170b2f1fb67d7ffbf4bc6b7fe8be868f9fd395a34d1d96973612a3f9effffffbbb0618c71149bcece55cd79c7eeee1e5283cece9b0b213a2d8dc5334a328b42304946b83d26170c0c922ddbb1bd6f4fdfbaf8a8372b0e2b2c1f0ecb53794cf25101e1f10853663c4430536245a4e80507203a68987931ca09c70f17dccdfcf2c9ffffc90f616208a59a0be684b961ae983bf230c6186313e02b75729202d170725277f8559d42e05ac6e691f54148900e51f1224df808016604dc3650064938b580601e5be49b50acfae936e79c3330281c162f208f3a1a0aa434487a41fb28e9650e54edb870a8f9e0e5066f00013be1b66cc7f64e7de80ddd0fd5921e9694990fc0b4a693a1d6e31a66acc174d550eea6d476a77b9d602b82c48825091236a9f16ed98eedbdebb049a9a702bcb6653bb62fc00255bc511e884862a520d9b4f71df54c3449b9bb43b1e8ec1cd9f5f207d42f67de0244108a886113a2b37358bc603bee26c74792ada844ac5f08c9001400031a04144104611cc9f33865641e14000818889cbc8070d82c180b86c2a0380c0804c24000180806c3300cc2901002b1241595ee019cd8e9e40394c6845ca4cce36adbe8aa519b18ec26641a106e5aa366020e7966693a85df5952e5dd9527d2add3d8d9b77d038116f44304d8edebc75b50c0ebce5bb0077b5b4cb99ac4553fcf46150a78a33026c4be37054597072cd2d44db2a2b23bc3a34cfa9afd60d6503f61876eefeb4f5b52cf381fdaea4dc3e79c75cd6655a5825a606270bd727529aae6003c436c9cd9d4f2b499a5b7b14789073c13cc2e320fc8ad7c1327c95ba7af436da9f90fd34fcbf8c44b65b8b5c08484a27dfe0af664200568ccc88e97d9629046a2387db53862b28b979505c890211706bf22bad556394bb6b2fba42fc45b2b5ddd3fd26e3f7d3bc3ff38cab28c571d09107471e34efcce2ac44390de3c11e6a57d2be290eb1aeba32f87f06b3ac179bef37f79ca9a8d0f4d25618ad6f99d1dec2263e247a7635c51f7c4b4f2d7403def32f4a8084b09dfd65b14d0eba4ed10ae74aadd7c10460afa8a84b735514dfb30fb39a3b15b3fb77001f7a6340d7518c9268ae9cf57c4ce9442beaf93906680513f75520de774c7e2fac9e421aa7ef53252434cb8684863ca7343bed926b174beee7b1d8e75d896a662402c6778d374d8d73bc9088fa7858fe21b4744d6c4832ea64a6a658dad92c6ad3dbf85ce6e20c69eb940e2e0507b558b5b985cbd5ee478a41f35934c5f58d6602cddafe00ab3fdd2c9d46ce82c326eb904a16980958a4965e3d4a2411a51bb1aaea449932b5b10fcc4b4c1a9e6c5632460a73909e7a9bce5409cd874e10a941de97c2fce9cf275c383085ae12ec5bc4738f0f1f0d5d8fa0b8c65926bfdfc133a4e5560313c738a23d312f33bcafa7ce6fe1089e3a71447828dbac6227ca35f97589133f6844907c72a0e4e5720e40c5bfa8acf5f98ab014939b52a63e5bc5bdc264653a30236e438da4bd76692e87ad96062501ceb732518c6508bc4d9fd9c146836d4b566dc9d9d02e3bdd374cfb9d6f9b8715ca2ba6133cf1ec3e42bcd0d1c49a4732be734f112b29e02a9caa42e1094ebd557a5052d75f5929e32a403c3d2e65245ffd8f2edf8eb239cace3ccb56719331314d6c2443a61f5f836a760733d29b45c5c55ac2a78b168fe49dc5458c9ad822d523efe0059bb8c8676b0b03c52d09d22696fc08be8870fe62132475625bf09ced66438de6430a5ae19c27ddbe3166d4ead382e8886345f64bacb0a4e912ee895578108d6d66c2e415db311e33b2ee87ca2059a85960f1a39a9d90972813ce28daef32028599530fb0626bacd99e618003bcba402fbe671a0cb3de786607788015667a495359700c6a582ddaaa256d21cd6545d75c51a71d1f8cfa206f6eb158f2bf46c8ae1ca6f266e476c3c1d17041fba439658884176e05df73d63fb1bc27c201f49a1bbb44bc4fa50fc1ec11e9a9446d54eaca1b5ee314e89d4a3bd672f8ef3bef17037647a0466067b2b57f699cb9e37607b4155eb80900de6667fc31f93e04407fa73a91ea69790435b56b607ce7d6edd392b7af893d16c4ea97ba9cda23c1715348d9cc14cfd5c6be5b77f6824fa174c4bdc75a91dfd19e916dfc87126d7db221ed01922e518a43cba966d55a8d2ef60d973929bef011cf84a3a399f1b5c06f0ed80940691d2e8157685489f4b57af25062d121d1352e181644cb409616125b3b7b787529db849ef2e9741b7116a40f01788aac2b9b435885002880c734e771d020157f85dd4e15eda184b36b4cc49f5f05877bdae478cca011f5676673bcfafdc8a6e0b10c3c4499348a2fb9e676202187a9ec621254744f55e965f0aeb5cd0e1644902a16e719d33e0c413603342f08f6269c887583894b3e2eb7993af479dc581d9356a0e37e08e69c87373b54aa621e71878464dfd0d5e88e891d7a108a282936954fb9e62d2fd1f3dab8e50e9099a516c9d93899c5a86cadd48375dd8bcdcefdcc3321bdfa93d5a006f0d1bc2411c3c21364b3eccb787a985f86e13f53f7d759d25719dc2d3838c2696e2123517e7de9fc8b862cac2ea09e783770d32f90b70799ec9e3930071c1bbc44d6c3b3e9168e072dd643af7e351f11433e36c19738db86d7490ca7e522a4f1322593c5c33ff077f4203149268cf47a1a907f5ab9b0dfb397dc30df0324b254cc3476efd129a79cc4abb53eff53985cdb5e4f195c934cff530c869c3ba91d2aeefb4c11cd85c951b1e38f2a04fd720cb1d93ed6928ecd355f9cf473589c82cf6b319a0dee6b7fae843eb14e0f1f1c6ddeccd30ed7d89a324013dc3b9a9c603e53d8fd3200a63773b4f0cd57b5528b7a6e834cd62606712b0629d231580c6a7ad65f0d49c3009dbd0822c05a9e37886e82aa4869ccd3c02e3a233a9e40420a85333edb464031aa0c9c1f86258e6694e91f908c3aa7abec5070546625b616960796e45549d64fb454627050670eaf28e75f2b40e9ea4b5222c65183c5de4deaa105e66f3f1c6d562b6a486e55a192901390d8f9ea16a82c0e3f1cdf578575486cebe40e420b66610d6503c4e482cf13482629a1e2daa7b6ede253a2d3fc2f318f6070710516dbb6c3081a98246398cbd59fd8830636adc22698e50d3542c261d56f005f20e19c6679ad372a512897f914e66a590dd11e58cd6db3b94bf26c63a6e4ebde9b6a97e42223d39684aa8186d640ac4b68d4f182ac83178db04ba7b0aafab39d2cfe4b635b53d8a88482649e384f673fea263f54067f28df3d9e6b4044c12f3e72f10f52b127e35dc124704ce3595da32a2c1c6283710d4ff32e94ae0b99df1c82e6567577f6ed9cbe1a5604dc3428b783ec6c8993619d31c62e4aca275d0fc5813e6aed29dc1c2c232292939ba499b07aab008d9d7cfbf83ac5604ffe1fd86fdb7e3bf98ede6c64831c6fd668b247ca7489fcabd53a87fc5fe9bb5b0fffb17788ae7030c8ee46b8b9c52a42c286cf2e095fc77fdf33cbdc7f5d874712052c8d26b287c1813613d9ca9dae73f2a1af8e791bcd43b2a88165fe936b8bc27578112841b0c7eb631f357629a5c90bdaae252f9041e83e391e0c2354c34e990b0fe2266bbc6d7c3f3a09d5066fd1098b8f8566790764515026b61c943d0fac5f51b5078390d29d7c697b484e69adb98ab78cf6cfe49ded0bf443d40bce489c3d6684168512a0c158a3e54ad2c96fd2a539f0571c90569ba641e90353e2456a6c646122272c3413a64ebbcc255f74eb5d4bcd29321a0c847fea6823c36c709430dad44aab46759795a2ab62a66b2ad7bcd77221e50214fe2fc947523813e4d94dee4e9c6cd4306af749730c618396855a4cd0b73870d0ab68ce55ab65112e660a6892a3e32b5383e4b096e39d84c99d0eb40a8e2643e63f24132326595c408eb89095ce16f3a100d0a6db6253ff4c3fc0ae4b870bd85208d47918841be872182c50ce111ff8bc6ae08df984c546cd7413be40c934f48bdbf8e86e37ec26a6030e0c9138fcb75564f7cee69ec3b8714c384afcf5efb9f2f48d1613d897e784a5651eb1cccc9b7cd4bf33a4f7c9aee6884a1ea4cf7314ccfece312e9bf93a0d864d1e903ce9fd00044510f215bf21b074f026009fa5629a0aa1b667acb6b8c1082e1b2b38c3e1a5b40efb28086b6fdb63d1a48a357d655c459208de5d9f0f97a827faed10e432368f2e7060ef441e10150e3bd6059457c067a1ff4a3b63ec9d03fcaa4437e67019790ba08e111481e08b4bbcde8e82014b4c900e1a2950df6d066a7287eaf551f84df77a5ceeee05a6f1ebda41c0703761e069b7197ae869ac3a878b0bbd4b338dcaaf96b575d6364d05cfa72f203fb54c99706ab1c9a10a621f5b2ebbe4d37bd783918c18eb110ffc321ac003e0120c020b144f845d66d9de4039887fb60f82164c48a7007e1d6eafde7cfc1de4c158156cb88263ecae0a20fb523bded73871f5d4a1b99cd18e467afcfce0f477a3be7baf50843a1809e557a5429414bd12df8217c98585b7bf0f7e9f1677a61999b0b8628398bbe8cd07bc87b96fd1d28c186878c78bbcc552df1fb8d350688bd1b34ab06b82bccc67c0d8d76441dd744cbb6d4913233fa896f4cffefa92ba501e0db69175b8441683b6e44daf5b2fa1e5b96bbed6051225c030e30de08cf349b378738d4e9fbede43faaa5153fd4144988dff2f14bcf52e59975f925e65c889b49a6009871332260b9bf86c384a49db3bd9a5b4a823c27397e062c3cf8d1df8541e70c10c21d172ee0c43f86a7505d99c5f92963b965205caf7fb7d6c4a4d4c158b091262753da35430d883f25e869a63371df1217bdc5ded972c789bf46a91784594cbcdb33a85fc703c3ae78208079b0e8d6ac0882e5a712a702c868b888e6838c08bb294a7ca57e2be8cd39156df640d4ceabbf0e6908699af416a403c910e0a8e3a5d4bc3ad814e481754036d42563f7332347784c4d4f453b2c22e64bf27c1fb1f52a6fea75401136c5995cdf7157c4523c0bf9e9c7ad5e86085c2671a069010c029dbb35151b5aaa6c7ad0fc0a8cc8db0331acbfc4347d36ee3ba51edc64fc8f2522120ae8198cc7e21861bce384d1961e2816ff65e8ca48c50ff4950f92c20a17f77c33635816c50042c37267ee114270f08e2ea848427cbbc956d8edc57d263cb9eea0b6c847d5b9b7c9e7eb67a66043e98de77d1b2d486c9c4e3e11dc6cefcedfd5ce5cfc3b9ddc4984befac896feaa1f3070d3d6932628213e64fbbb4e5747e5878d30ec39f687a15be6bb3e1047ad5ced8b2e59871151598e33de3c33232c6ad4de06d7771718e9a28212ec82d4fadbaec30dbf8b5cc57cfd385bf1c558243e778213fa790985626e534af46e3b644b4a2c5d3b38b28734c5ada7316d6ca1cebc3ce63a6f77f821f322a788b0c96a6f2d3f47d974be9bdb62e4bdca6703fa1447e4013a6d2687b8658c239c12e4ef9aec34772ed29c66a0c45e779a8c073d08791d0fc67a162298ad81b4d350159da7bc084f0f2d6531a0b541e7621323cbe9575c4c54fb73e4b84e624c118445b6a103f1cb8762ca4aee8d1b389d879d770659a82168bf3988421d4e72cd02adc1b349a82a0541693cc48377eae3dc1f5bccda1a7a1aaa04765dd4da9a4d838c146807a1d9f069bcb85b49024ab996ad8bc722a4c5a6404009e10e16bf30ed2a62106cb6501a5bf3b0e9fe4c0329cfbb4897ee7a1360c95eab2dbc188d6a283cf5410e64a52c4c56dc93fde6bbd9aefa231d979406ebc4e570e84fb206bb03905a8e0221e7d115dca3d5de322707adc9461b5183a85bd187b7ae1ff432bd8758542f88bdefc17a89095fd68f6a76bb19d9f6b6835d26e59a455e11c90578d5d81a97251d9f464e2dda4aafe5a13c52afed2a837db6d026c85816e8649a157c0a19b20708bf1602d8e75c877e9e2f9918943c7f70170ea32d656e6edf99e8774fc43676634653d90fb1c6031a1ce32b13905435b608f521f363116befbc3738412f40e568a3bdb20a4b4cbbfa26e19a09952ae6239c5be4d681219a397e7f5a60ef88ae09cfe94a7b376ef8160a1d09d3b651897821e828ae48454e6acbbaaa789f84dc59c0afc2778874f1d31d090b0e3725eef30078e903e113d97c9d0d163f8fdd0e6852f37ae268bb320cdfd7e83b4c3b792792e2e25a145cc200398c474c25034da0e004d5009bc08810a92f95cc55c57b0e0a5b5d69ea009e13625e27bee1c6be8e3e817a957c020d373c9ee5689c0732282526d1a0dcb2eb1d9aa2007ab67b8dc215ae1269d9f7a82662ba724fc1e91458388d818128bb6021f50a48a25b4bb16d1288a291d66f4f33544ed9ab5ccb52466b860590eb83d2d44e37041d7bb0cde8449f1e6cd20265a4348b50ad50fcd52da4aefc257c63218d7422746d1203e9fe882250c73ae6f9839ed60bb90440dbbac0b104f4dc3f55cc8010e48731690a64db88ca35e646b2b7fa76deaef9c5e1705474f111d903fc27dbfc2c1dd17c23fd9dcbdf3220f32cfd197f4b924a30d6ab359ad6833f5047c07144c3133eabc92956a1bfe4492b11b9367054d0e0fb5067e57453ac310c603eba5069e0210176e9c2da31a142508750de15345cc9c995183a12a2cff08f6287974d6c7ea64457752451ab958e040d4f3034695971a284120c13ae3a062546d7390428061418133ec23c6320142824711e97592598d06ab8aab3b69b9f1b6863112240530ec2cf6fb66812c0f87683c2c0e0695c4c8e0bfa7b92c5d18f5a1f8b35ba0a3d6bfa1fcd233b359e7f81eca80ca8f350ddb39d3c72e47f691b10aa086d1a84e5c22b326d1383f5409db7adcb26801e30e94eab9133a63fcbd518eae9b8e8cdc32e0fddee09268f715e5fbb81a5459f0e3811bcf0d2f01ffce355110b0ba835f8de3e348f614c01eb08b57ca85ae4bac2164f98027ffd4472687a4fbd3b1d68c392fbf3698a4e07f58e988218cfaec85493be0fd90f405c2addaa77d916c1b83797e796c3c41e803944a962edb9a692eca42e7422dce51660cf7e81de79611abed18a73dfc73fde94fd8afd9dbea424e0b7456ac24eb4bc4aba88bf7185701631d93e59786fb790d25603ec0de1a5dd2d2d16057d0d11f5b6688f7497896e9f963225f65a02f1c358465d835b95792aaccfe4fd6abe6f6aa7c02363d3b52d20fdaa11b9521f2ce4c1ba46c66afef41ebe3f7b957f700452d9597e344f2df22a1256950959ec5626247e4704af56e91838f5e2a9496654bc71284d3f491362826d5a7b790f588c27502361261c65ba9a5bb5651ba5e13f0284a949428a2a15b42d93caa91898ffbf72ccc7580749a930a3307cbf29537f0b0721dd79da4d60ef74a817681aed126f4d392cf0831859af00152c5acf824cda11360522b483b9352130799e972da8b57a4c393531a50d66bd4f76c391103ccbb567c8f28c91ee9a71bda27fefa794747b66c59d3122fa3022e4e452910792bc3423a8a3b346db3955ba06ecf741d8651157450fa198e2de2282a290300a3f243cfc2dd3e4050dc8877a3fce4aa9764d6c8c4327c90b2a8fc59ca2617fa572a1bf78b8945bcfe0995d5952826afa199b5b5a7b92dbc947c99d31f9a7a4adeac528741341ec981ba9a0cbf71993f294b7d516574dcc912237dc9efd4a24c6021fc066b9a6edf5547689ab02040680a4be0b8b5d075743aa05381c6f3ce6f0e737c7f5f265838535d93622aff210fe69e3bc03071e6b01168d37bef60a80bc90a8f7a6398bb443a2708a1fed2af38b8016768db7a966ed30df74a702cc5168706278b7e549f03805729c94fb5769c22e87be65c9d9a132ba17f0ecea39fb5e8c6e92438c55301deab198681365395f6e5bf7aaec3148a3cd47de023302dae78c337b3975acece215f0a8bbafe622a3f7623018cf54e4b084e63a5a33d9a612d742a59a12760f3148735d5fa51d00604313abacc191e71bf10741cc1f83c3359d41d8d7f129ec8c48d43bcb170a06ccc3367879780189af07ee0625066128266bed26dc04d87e99a69ca70322cd9ffafb5d3fc4254bc401d31601d7362ba0037c16efc79b040c70b6be0ef865311aeda76635b091a8c6ca3f4bc79753c07292b0366959310057778bffe29460de564da2edc652e7789c04b4c1bc0e1d1a2a440eab74409a9511059e1d6ab4172c8a3efefe904edef2205b141c0d827ce69976ef7c2144894768338d59940582af125b7197e96e449a73629cd7f2f349bf076f72e22159402fba45da8732338682e80ab2b3ea20b19eeec8b93d190dbeeb834d99bec657eb2382cfa4fbd77e59b991f00a341a909efdb1b146f0408bb87018f3902d4372c22dc0126851bdc12c6f00f0f8235cca1c8f4e60107bb4027eefd333bbd6cb025a8d3eb6d945e8bb8c029f35398c2464f53d6893f59647b95da9227876dd2d587d24901ed7128617031c7beac9c867445bb77e4764cf8c88ad2bac3f3b3f9529daec5f6998370e4df33b145df20ab9ce264ddc4ad133fbc49501d90fa9c90bc8142061ef735c7d2c52c912baef580eb09a8ebb81488094f5fed13e1835025e427b7c0e5da77c05561f3d553b803469ead9d0e86d08a706bbbe7cf23bd3a3a84168a64af72498526802d01c19ccc659e46e44d117e04a48897db796d323ce301dbfb5018a9408fbeebbb2179de3540741e939070e99a5e57cda088d325967d7017f253e40f96d76ae69e93619e32ab4a1b75153ffcb47cb005efa400a983486cf9b9d878f8e6967fd7b52bd1876a5da213f556d56ee3a7218efb555e1c8e99be999cbaf2531cb6aae24735c4ec312906e350e0c7f090d4f397068fab677083252c18245b6870566b543553c1bb2e99ac075800c94290c8b276010835f0a5ca1c0ef8222bef61475d9ae54d5cc74bba82df119d6d9777e8dc7c8a3e2d4d5fb7e211e0b258052ea6e42ef64da0f05f84e2ac1894ae2a6b8befde24128aae0de7f1c5512f9cd012f35ef8eefc5564344d60a44c310c599ebfaf48d2f60198845a4eb908a38e70619896b5cd05a75acf8d65db5531d0e49be356c58d9e16f4289db71fde4017b88bab4436022f3842e0f919e4b42d39fc6af71db0429d067f5c4123bd3d608ab910e1a54ec382157833dad1a2d741ce830fb26e656768339103595652d89d0b2d99185a1d7ed26873eea9d8455f577cd58a6f0714aaef5f49686b1ac363e7d7ab99ee585beb54364a117305d54c7410f65fd2425bbfa49207da50b059d09c871ace960612be69e581e435681f30cd1d42177566970adb415a3961bc56868e9e0e82b26790726136799bc4f49b116f95fce2693254d8906e0b891867eb719109dbed2c98d7e339d227c840aa16d918022e3a6358129b008c2084ec0c4ce119e3252f6c7e1995c6ca761169d1391bfce1940566ade879475705a13de9c15a57414bf29beb5f00a71b616c0f1369dacf6dac7fa7726659d924651bb4f26f162006fa71638454603cccd3a374fc381c87de9f735d1ffff4f88dfc4dd2b36e69ca21f49127ae936025e36e6d03c4948d637bc673cf7c3778918a72a98ab8195f66dfb5059a1d93fbb43f068f88eebc6178e89a68de401e0e2b8cc1a0143962c8e338996391daaab6112a421173684853630b3fd2b219afcb8a55838b36c7c71ac12b00150635ef8fc5e983795823b2aac1b6376c575342351680f1a5c5188cff16dd28ab88001e56078bc86db64f77c54c8334762365455bfbe54c2341299ce7c864fa127c56fcc396de159fa13ebac848577552e053de90c4e04da1b3c000cb30ae90648911987ed8792b465d18a2f8635b47c9f0d7cb3400b9d728d415338cb1f1e54feab1a023e529ff79b5889c89d720d24806bd85443e42861196836e690710523a2b5ca5d85c76134b458e64b80d6fba2e9263b6744f708abbb2187e66f4ce510a3c3c14dc00e900645a7fe9ecfa65bff03283bf33ca17b4f1649d1d049fc3a4242126b6600120c8bd29b327fb552f00033dbf8470a129616132816b6ee500e4ecf8ca76afce6a9801b50510aaef29dc0a460ac1d022c175c999ed55c89fd0a5e5ea81342748cc461b6f2d5c93c944841c8668ce535d69164e9d4d6677e9e7c4515d84e8098e7c1e042220a52edf4869724a2296f94d2726379244bcf8a8a1df108d098e97f081c8c7dd198a12653ab70c41cd0bc123f7cd691efe363c7afb5b450f5cbbdcca324eda968d376a6f8664ea60e9eb4f3fa7397c61e3795ba483b7cf1b8daee5d0f2b0dbd429711f00e07c4b7078c3332d3e35ed350a2471fcd69adbd1fc7722a22fffe38cd09ed141d5023d9d7578856081d9d7a0afdc4fa75de68c24d3dd5b5dc02259a946dd4ca40de97c9cae654df00265551cdab4ca1b7d91a5d399400f933ab92c3a4f1b9515da63cb9c22f724b8b9d9bcf169c87da06b063b71c050ddea5d7d8aafaa292b0a6b41e59df6bcd3e1eeff7855134726861288b44c9f3f31255871b262d5070d126306f01f73f303d77d7666d7ab86ad600234cdf0d6947c860fed41a5fc9d4a2e46f388d0eca9df6f82a264b8b86379139dba3e107c9dc6b4670da0e305b5f09b098ac65dbb68d88a418efcfc3b9487f80ab799f836cfd2db9508885f10754316f497dd714a0827f5572a80b703d902d5327f2492d149807a6cc4a8dcd9a551974c8166de1cf0dca323fcd98226140f213ce93c898f65dea143f0f2365d054ecd29e85254e7b47ef0c8a11ded9fe0a081699b4d3f282fd0d4cd5ad2af9be5b49364c709e649bd26b4d193e271d74fe38a64b1fdad13bead4d9138e1640029901b16db81195ffac0ad014d96be4d11e00b91f3a7c102f00fd866a7e72ada6d8c9c391c612d077436a60cd7ea7c4fad715b1a11f0a31e6d64bf0762005620206e07ba338d5af9280da66339b735cdf33a16734d802c32a025638d49a894a0c3a062f61ab9345e1a83821f0882add074318724291d788b4144af26f83d2d515320427a5f8b9f78e9750f819d4dc4d6d7cc88a3f66516c80ec19cc88670f1ad7c3a7485d04677943d23c780a6cb667c6ec0518ac48f76a9171054d47007b4052462d40af07b49f162b708c5a3b52f3c62555aba27ee4b791ed8e300e12f9762f80f7c5a696453ee558ccae29f868582ade11f730ea1f93c3db4d995c3984c0f39b8ca681f650ff257909999270e17982c88d570878fea7a86894e69da82be02c328909c71d1a9caef5858fa4a83f0aae4f782a120dca0f7f1434690fb50a527f3912a68496a12c249e6642c2e399acbdf9980bad41f745b94e8ff6d37f15d4bcc43ae25fc1aed98df76c3d309322cb01334a4dc6f06324bc7721a11178cd96be6c73297f9032319b5fa8d8c043095cf5a6650071a204014ac37a3e089131ac5def0e2192d42f2e2950f1a13c35a515d1513a3feb236a1fb0a528e165dc050b73e521ba59d77e2f0a4c23442136171a78ec2d10e44a86d03f05106ed6a00837d8f3a6b0c868838545268a456649c6726e145eca1449277d1442e7315724d71d1b29cc3e89fe93a2b5584f3be8a11606acac78ddf593d33e57d4fc9be7b9831e413ec6c41e9b7a75a794690e8ef10bd354db799947a75e2c58e28848ebe3ac7286cf7a3d3d6fa0814f7ad23918482b90eedbe101005c3e6bc9157afe0405aa7a289c9be45ed62ccc8bf91440587ddcd2d4dacf02087ebbbfe948369ac85193021d26624019f28620ec77c5d02c15f6d63e01d8e66694f5509f0313015e76a3bb8fc37cca4f4b477356677b70d6a0e179861298172d7bd7c9972c347949a52395530e3859de5bffe841b5bc9522831a898553473eeace9e24db92bb42db61683052d5b2ce7500e2639d193a1a3922ecc0b574e5366519e12d5175ed22bf1b1e58a832ebe9e12d207765c2f8a95a25f0daceafd0f4b45d5b02969fe88c31c1591d32b75b239a0411c45f7e3f9ec057accce40a564776b0892441767416eb75ffc38298be52c3b768a394bc2438d6834b799d2f6a2b0cc54224c813a3440c0ba25a749d1108f0213cc8b24f2d191e9e70a6e8405c55f501dacb1da4a04b638ff3e03b49e8a7a06be386a48c8578f1a80ec24123a91e7faeda8700e194ba5724f6a77f87713a10fe2e3b2d0fda9b3b0d5898678a97aab9acdc9d2dcb87d97403f8d87623f185603094f8f7aca860b01c9f58d6e7937cca9b5d9c0d132176990d4a4948c5e4f51968c8e2f9400b8dd2a70f778651b5c7143b4cc9df0bf526315742ddf2df133b5951417bf7c1efcd20f3f12a9e6681b77c88f3d50719e37e47fbfe1bf8030257dd164585709370dd975591d6b4d157fcbe1e86c4f9ac6bfc73eed57b0c54ab1eead62b571548bcb543c82e0b1359edb8d6a38b5f4fd78111fcd042e4c8690d6cd8dc022cff448a0a2c6fc324f3b06c4f0323ad05ebe3642bd09b936ced73f0cdf176f3421f8fee0658020710c489e77f4e0f7be03f5b91591a13eee705d9332223015d50946353a4e8ebfde1f7506900a53137208e13fc85412820784e869cf182b312c2a411a875df7689328015f57c52a0214cb50e6ed6ac40acf5147e00ce7cc0d181922a2a3f7ceedf61009f120a49d1b217492a5999e9021cce4228344542673a0e319fc18857b6cc10aef7f65734589596794c85be15c9dc11ed2daa4080822e27da5bb97e58cc6c24add8c9bd9a7e39d07267c3fea0b694431fddab10146fb91f6a884d3e46f97472842ab9a529686e26851c2605cd5e2dfc1cfbe18c3a4a143d7b849b1dc31236c0415cb8fc1fc998465770cc6bcb83d62ce6e3e3c61cecdb2c850e5b0c65015ae100315770d259750a54a3b1a7156cd6c16789d57027626360617d5d7d8b8fb61e2b1c6c3c2ad20154ea22473e7265c5f26abc07d572de732447721ef61ed4e816819745985395cf8310a1219da2f8bd635120fd63ef94e4de72cbfb02f4020a033f7a1887a070b1cca18692d16437d90e9eb9bbb73944382743398c10b30b32903e7303a472832630b68229322891ffff47bcd3755324be50ce59661d38913b8a94a032210fa2252df00acb61cd04fa8c4a1c9615654aacbb3b8e27ecba49f5048ea57ae20599aa3a149afcfeeacaffff4a11f1b7feafd0f8763e4e4634298884641933802a38a5bc48c263fed0fdd86924bed9adcdda50ce1fb26cb7366bef10b367f7eb87fcff2b9dae9b8ec861f8949ce15103921b3fc69a8f029c294b507ea2146fc440e2562c5cf01ad3cd368137c9f6c47d8ba2b5b605bdedd3870c9e4fabd4169d4da941057f0c591b9c69a33442440302933964182b766c7aa555faea97e96d9e3869dbadcddabb879acfb4e6d10f1f91180cdcdc0eb8d9adcddafb86230b9847446a56971bff1b8f21e0d10b41a2fc42b7fbb118e0478df6e93dbbbbfbb1885d57c9c4f1a8ae705b7dffffffa51e76dd9f909863968c39cf6a7ae31e7777e1f174dd74291680134dabda554cafb44aeb19ae21738acbd1edd666ed8ddaf0cca848c8db2c2a4429a49bcb1263b15b9bb5378a07e5d9e71dcae0434a8fa3d23228ffd0624839e78cfb61d715128d4c4fc912b8250aa7575aa575ab37ba64b23826c116306a435e4a963cc1715433c323b790e4327242f2cd2cad7931cbe5dc7a7d18617337a8b12a6e8bedd666edcdeed6666d2038202a766bb3f6461db1497746da9dae9b56202492ee80a3575aa5750c34a919e5ffff4c5555952562d735323d2563d8654c4da6736fb917c6e16d96ed141a62d7152aa6424a7a75e3efeefeffffaff33aef3ab734e8eeae067fe0adeeeeee337d24447b3144d9182b6e6cf346d52badd2baa6446d7bb93493ec2d873498e49c0b3b5f0b555555f549885d9768647a4a96785a7a04ee38d46898b499cbe3126983028d7eba21c4985e6995d6dea225766d4c372d2e0d3c1c6c20e53c29f2b3d9a64d8ea6553b3614c602098162f7dfce9c6c14ca0dbbee4e2e068a6eb5ff7fe6d13bdc6166964b4bc072367aa5555a9f3ab9417205fc01854022d00864023e01933532014423d306344ffe624da6275bedf46134a8785980b150d46175f6737d4809faffdfd9adcdda1b87e27e280d0c620b2d5a4ae090c361f6a2430b37226d8246e7ee3e7bfdff53c161d775b1011518aaaaaaea3008bbae8ede4f183324fa8b2704104820944f604f68b5f4c8a7059e934987ced385f2538e8861232747a51bf6510546f144d239e2046963f8003a73fc7208731073187330c550aed3800f3f2dbcf8211f08f958b63e0a04020215e682c46e10a8a76267437ec8e5f75757feff578490eb7f8b63bcda0ff5867e43c221e290d10cbabbb798c6447b9afdd06ca5c9d7146c1a36159b949a8e4d4862eb484778466676b7b428c977437b68b91c2d6e973b7aa5555affffe388e0c392108ea2220a1f35545555551446ecba4c4fc90c502c6519ccb0eeb653c550e74285cbfeffdb13a7e34a3da59f92508978d218b6efd9dddd552429bfd5fd664304e076ba6eca62b7366bef777777ef39c2e6f669d06af8d0dc3ab947f3fa582a836cec6e6dd64e714ddaffff8ce46d33bdd22aed21c47c98e1c570321273d092acf8dac160309effff95e27a8d7ed8f5bfb8eed666ededa3dee024c29c2117f8026ce7b653c91e76dd5f4c52b82a22a263f3352a45456ccea928dd3ed961d7e53df1e995cde3f456612295b0eb1e730c1299f38a3a0b52abbd00e2260b733ca026244e3be49642349c98d4b206528ef8e8561c1103ae0872776f89e6a5f2a3ed7871830daeca0c1ba0192ef44aabb43e6be6118aa247e4889928efd3c819418758fcb7cb5d8a16d5c87ca9ff103d9d6bb4025b63057bae686b50a326b7bb4347cc8e5ed6ff6f739df7ffbfed17958bd4a36764a9478f0d1f38182d8c67ddeae8af85ce59246703510b3537b14db826174d309a82bcf5ff34b9011af5e5ddddddfffffffdffff7f162485c94ec058963d8b8ef4c399a132f8aeceddf6679005283372129bdff6d5c0e7a6b62c4eaaaaaaaa44482752ba0fe63e9afb6eeedb715fce7d3a77f756861408ef74dd74b691dcdcdd55a415c9d5dddd1d072bdddd5b9307d8e7f4d878b8001810982db5736562adc3e9fb4902c3783e65f4ea74e99b13a58275e01efead2cdc32b316ca2e5b6dff161a50ccfa744aaab23c95380b08aa2b5256502e50a99627a910ba17c2030e4ab0946059a275e6def17c09b0a44c1299040bbb4e9755cbca48cbac50f356c32a6362705b301e40074e87871d981d968e6030287c8f88643b9814300eef0ca287b0089382e9b4438996864a3029e09a612e62436f089382e92297fd7e52900d5e0ed47b7677f797d5d2e4ae96e21c60f2a3838f0554868e4c309523fa2d0b2b722a941029730e19427a5eaf3c5d3745b1b7ddadcdda35ccc28e66de7c39667b65d5dfc90ebb2ecf178c7132fcffff57555555d5d90dbc0383c15ea4f0ce7a917208c23bec10368a4f067289c6c90b33c714f91384917ddeffbf4dafb44a6b9fd6e4a198738d8af46834744d9814c181a4c38f8ce3c8a6c3ce8a910e3f3a9b09dc11947772cc54faff675b1dcb0d424f32cdddbd3d8bb91c22163a2884a667d726882e8f4b64901b0d2996f86030722a082862959f44b604935556ccb014b34777ba6eea3d3b5cab071006211c94b04098ed3657106a1abdd22aad774c1e8c47436f4c4a54cdddddd5e0526f75cf2dd1ddbd06867aa2264855dd7d86c6208c81786372d9232e67b7366b6f1d6adb2fdf09e1008809951d686cb818ca3b9d2cc7758e7e9462c716d910f13c31517363f54aabb4aec16da6e9daeb53537796dabebb9c6a5503347aa5555affffb70edc300cbf1818843a37750af287ce66a8b1e4f60439e8190a7b8a3843180cd683cde37a8b54e4cc638a96d86e6dd61eb2fe56c5745e668a630a64aa69a2a862ec6e6dd6de270ba441aecfce80d67c38499edb03b207250c75c4068d696283cd500e91f4f28d24da3e5b3c15b56ae7c435e0a464090b22a5d34d0e1970453a148e5902850e9d6db549b2c95265374aab0488c54ca413c9aa84d840324972a34248831324cf15f2c0843c4a7966de0440d6b83b4ece390f2961d73d22638694b0981eed5f2388d8ac9f6dacff39a8ef2aa5b31faad3ecb0ebf27cf9044d70b36ccf394b6d766bb3f6061a61a036a7aaaa2acd0fbbae302e3e2e3e041c49b9f8dcd44ca5dac5e5b8ddfffdbce789a2f7deeb2e3ed744e5ec77a3cc9bfae8ecee7eef2d26f0279afd73fad7d377cae02709ccd5d78c7477578f6a51553a5d32d7b90ebd2b3bafec61d077ba4838eda6ee56fedcffe8a3099c5ab7fabfab177de8412526e13aac739fb3ee02bbb0efa494524f4a29260cc1f962de767775f1d132ae5bf1d69182a51db8ee7499fee23a54cec85c56ea604e93bd4ef5567cef4b8aa703b75c7c740af6a99cc085513f682d015dd51d6e7570f24ed78a7a031898a24f7695513d46b39b7f3e8b8c09a9534412eab2644e7386895b9cf0b973a25a069a71b2fba09d75eebfd132abddc9f37d9514c57a5d17dee7ebc540142de20402abb9f38b08e6deeb7d116162afe7deac16bab6700bfb919a204ed6736f168a95bffb2fd9115eeb4a9b4b5a957433b2aed62b3412ae327ab3385513638c5134c5f8f47bd19cd17bcf10b775f779e27bcf7bef69be51a6b55faf20372986113cf4b6b01903eab292e8185aea8af06ca0c0ec30d3d77a59a6092256407148035a2627add79b0444c4d104ac370988c7aa850eb1de24a01d8e1660bd49403d2b253ab5de24209c5a11458db0ac37495765cdeb4dd249f131cb7aa5555a27f1131c5468b401c04bab70ab8cde310c80c080c419f2f3334508880f2810252e7cb7366bef126c38a71b3b3c9e76c03c0cc39e10337a1e8764294945920a5c53bab70297841eb1aa70d389310571410a12223a8c42cfc3ffff7f868d3a9b99bed0e8b3a2d62b341e458140c4ff679f65bdd22aad69d4dc2942e28e172e91aa7079b4e6f50a97494030eae1d8e160c2915b4d4857125a6280f0c07a85409a30385caf30485b2fd27a85c0deba5978df40ae3969175cb30c0a30186c3d61b59a10a4b795d774a72ff9e5b7010c44d1e88b08e8c6ab09bcfacefb5f346e612c02bacf5584bc552adc5a25dd18ae26e89504045673cb9832f40de6044e7a68223cc09b02990f069b185f9525056c7e804abaa15b4f38d73b018de684a961be68986c060673038fe5a8e40d5cc9ea0054040523190000042010446120cad230ead41e1480061e6680c07c84ec241a8945c29038100883c26020100c0603c16020202c0a60681a6b525807010d38fa142ff1b26708ae2399298e53b3a7978a195c7bd353b02b61da16751ac399ea882cb39b0f284852bf3969956e6cc35da68bcd0ffa187065dd36c6dff50935a160fe71bc189e08198f6282ac3ed7d5ad6bbb648cddd084faff503db58e1a4f65e233c5b9533442b93ba5ea19c1d123f0500463adf997d7ad3a68a4b3d0b4809b8112cd8f8f4d57c39c22818e2b042f35a68fa8e2ea910bc7e3594480126782f3383393e1159b77c23cae0ba4aec791f48d987abe7156a3625ba45f7f80a55f258bb257934285d013a1b1a164a2ea730791818241ad8662c3fcdb25c5aaa1807efd0774526a2f4b0281f368231658815c9ef785b068f03a2b021f4603aac7c629aeebb08bab85cd6ea79a687d85cd9174c38cc4e0472a6a168b265164ae2aa8acdc2a73aec455cd901cfd04920c19363ac914b285b71c425769703ec0a3e515d5280e1902d725df6800aad7edcf61c5db4d22d2015e7c051ec32f3bdbb93812a252807bd37974eb020a8439b52162cd5c794808c0a2d18dc628166992bad2ad08dda2eeaad816a2d48e55a5a44ed055dfc2acfbc541352fa377b5b433ea0c1f9e9ddde68d6a2b901e4068892bae46e85ad4542f59c05509a58e387bc7822742f740d21cbdb2f0141c10758ccdba6286a127387fd0456c3f63cfe131881167615ac6d927f454c656e499a86be96bd3d25455d750b5965377d585ba56011d6c66d3159481a74a1daec6bb249c8bef300e688d63d6339b1f3d80cc8a62d5576ba82ef8464f53f35920cac51b7e16e6eaa40af9a1a2ceaa408df19d9693959be47799bf36c48be486794039a309e08bb228f61fe42208872c2d5f3c8e047a7efa8b9f4e2207679c359bd5a61a2851e257d18878f2198fa662fe809aca5256296ef7aa32d467a50cd7419746458bdbff7ea58ad1c8ee2698e374bda5f6e4c5498bf8337bcb982fc7b50a6dd2d92039bb02e30aafac50e14ba4c068ffa566a40f100d1b037c55eb97a7fcb334dccbb491286198a5ed94e260fcaae83851148a07e7fe36415c390ab6454a406dba76638d5a540c2747c66da35bd2b46aa93d5d698aa41d9b5bfb8725a5027292da4083a2de13213d4c23de5a58c148c019203714f45b00daff7a8acd69271ca09ba27b6ddc064fe2916ff12bc02e4b2e8f541ad87bccc064c120b625b7ddbc8fe9d55293392b4501e8ea3174b485973672e769f36341ea3a5335614635d1e0fb247694b731f70afb910785a0541f714a027448ef5cd59bc59a4a2253ff6083113423aa82084b5468b9fb7577479c8d027f5d09cc46b7e6bb6ae768ef17ce2a39f71acd4756ca7b149a728ab31592e2ce52de916b34adee18bad403aeed4e85e70935c0f6d2f184e12378aad43f17763b53e3e2171e24d14fc283c505d2ff1a1f8914e741a9cd23e82f56a3846b416c66903ccc74e08662594ff15feeaeaba29a15b3876534e7d78e2c3b7e819062f14655935e0a1de27d8bc980d5f144cc82351efc5b04718c434f3a1c0d814f6906ac1741a680f81660d2404819bcd5cf1cfec266c9d68a1a6a77bf2f18993766556cf527a0f66a271d74adc28a27dd9934cfe9af459a036d2f432e2e4ee77382327fc5f40f0f040fd14009bede49a3a1c9e64ceb7f5979b6b3f3c669ecd13db71ba0879b8e53859b2ff00309270a52c9057e107e0f9ef41a703cba06894f9a915e613aedf24fad34113d793f47009e9fa4e5b7b91365bc405c1d306c79ba374e34f66df79ce33ef460be2ddae8a15f23ea679b57c7f976d79a004beeb893389d0854d3dcc3b5c7c3fd05abc2adbe9105dc9c853bfad3dee802a6e5700fdf27b34e9cb8bba2e59e67bc07b1909f5f3408dfc2698069995dcc088a16f96501cbbd405d5fed8a28406bc51919600482f75b417b85210ab0c8484348f844cc840573dafbe00d1745f69caa36e279d1caa9b467ef44d1c92d513d06638bf9f7c21d4dabba37c97536c2d2b4ed514ea09163f19dd4aacdf60f58967da5c6b6a0b5d6779fb55dee0b41d73038aab1bbf8322a07fe453e4336076ee29fee6d95ddd0b8db67b550a21adcab9bdd044a688cdc2174d357054771d184afbb0a20ed4217a806088cf255800108e1d730db0c6cf49517b1c16f75946354ed080e19d6b2836b80bb46ce7d9960028eb3bafa6ed5da01de0fd0373ad98b8e345c07eea8d3bd699ca2ef2eb21f2fea60cd95dd76839896cfe0f257b571ee2700ded62a407ae7f6dd9343b556071ab68d1f1c6a7e8cb85e7397753b1b53a14e2ff189319966be353b05797502744bd4df99555e2dc5d8fcbde15a4f0642afe92198fe44ab9b5b4de1653f55cb52cdfb57d554fde5b1a02589cce9c7bef50f5a73851b1e6eaab16451a4f500d23dc14e56fa65323e5ceecbcf5a3837259b3ca97073b3b9d72e8a94b732a0deed64513157fcb7390dd7aacbd4ef4ce70a58d9597fb276817700eae8491841b582d41ae96319b9133f9b3cd2a6c30140ce3ea635a197d17c7fc66dd2a07764c7f61a5063f167c4b85a4c4bbb4ef9e488284a539d06d4b9d806d56ce8719f9bf22439e267f0d18b0a1ecf16f005455c7e7c4dee97303b6e39ba754d9530736e275cb9387bbb4a93a9cb9129f400dff2b620bb2d73aca5946eafac67c207a5c0de8be34437c3263c8a1664d1b75f0bfa3801cd9001fb10771e84616ac82eaec71446ae748695da2615830c33318da48037d5a964d8d8b2bc35134d0d57693ffea243625b7e7ec896f34bb429a2afb10315034a555a496cbbe9136ded2393b9c8f805ee0ffae139a4dbd1f8af756f237c8a1ea6e858ecf94b6d7e56a30862938fe9e31f8c74d14cf1652fd1b68742261813d3c2e9c3ddef57d5f09025195df68185c94b95e519e3a6bc8ab9a870bd0177465bac167b81c6c033470de5a5ab79d375e75409cd87c191f2128bfa2848c2a38e426665c0525fb72293a8a7f11b775189560d4e49b9fdc3f72a7afb8607ecb017528393621f12888f7d6ee8eb3f7dcd45912252092fa3a1c16d0442d8ee12364468b627912e6a853b7e1ccd1bca4c1f11e6ad414926cd42b4b05f8aaf1ee9c8b4251c874d8a06a493144dcd91d3485cb9fe5273d401cb797554aba51f83f2e9afd9183c42c717c03dc58bfc4458eb7e68216432e75dfe7f068448d261187a54537f5e7759fbe9b740c4b5d271d5b082977eec6d88244dcc29a89d3c08ac12c8d7d5867c7e94999ba9efb73ade3ae8a0926f96a0e2fc35f985e97b2030b9492f0a48ad62f126faf3a1678d3669850af20e365328de9bca2c83cc735d322a434dd7032ac7ac144d4e10b4622f39f859ff2f930a446a9f0f59fb8e042cad7d81b6d874abf37976e5386039fffe142170b7583c1144ed1cec75e72c551075e71a8b2242f0a80cddb931979ce8768415f7672a35de8a466b0efcbccaa348c58d5fe6fe21af429a07e0d05755974531eb4501d871e7f2432e7725231a5794c7ebe76c366ac61da429184aceb3a65ee234268fab51b5c42459e074da0de25e8dd6648780c9093775bdde27c4843fecdef8e22d7147cc1ccc360a145d30a7655624f389dd5274c2f104404d9aaa296b64580f1157a5050ed681a85e9cd4e5d7f894554e94e8508b06330d900f9e3f57cccc0b96bd9833e3dc5e53eaa91d4614efc95c2443fcb907cb6843ab00b3744ccddd1aa7ffa7ec6e901159a27c3fbe1ac13b235d0c098f040fb95b739ba3e845ee7eafc062a585564dcf652e10c749f225b95837290e47534ac0c06fd954b358cf6f206c0bf41216bcb25e8c8e442d97abb49225bcb1d43209d30d97b95d81e2c4f955fee4b49f2359e9311dac11306f97afe83759df1d50a7cde2e4e5bbb7be0294b71d46549a02d288e5c83bd86b02b3ed1d8fd7e02b2918c404da995e638a72d681087d344f6f64441b5490dffba5deb3ba58789e13d4fe5f980b610c2cf73eb87d0ea0a7df9fca919547cd1220d1ca87265fef7463e361d29d1ff376d3b19a1d0c84ce2abb99f928fdf378de06519f4eacc947c3170ff5c5dfb8e4061844cf73d03dfc1b87b2c7977fae16e06751345c236486bcb0948f2976727452c800d0fd0c48cd864fed07163b41058f03760757c98afd143983ade802499d0d6bdaa054ed94ef4e6d98c3a866481b3f5216c7cc2683c514a96db2c0aa09e2570e5f64d753eeb654344c43705c641792ab4481c23c106e92ac3168ed4441139ad37ab4d14f4cebd260410ccff3ff6b0c93a05ef542331798259f5c4474df1050e7992fcc1aad9d3fa425aba291b7f72a9f1f42cb74da1fb321c3dcb7e08a77c542dd512203bd4906cc7a427148a2a9484da6806f768e9c430e18d873d39fafd0ec047663b323ab97a770d9d1c79d3ff65b7d8f3cfaa3006c62688d1f05f982f8ea2e5e1ad007f73846369d07c799e48503f169efc3723fac88ec286e3dcbad70b23cfa3d4c7242156d1602280fef293656158a9794ff25b63cecd425a23507b13c34d500117a7898c3f65d8ac2f13cffc50ba3d1394838f9502fae438853dd4f822fc20c2e71fa268a762da757b0a22c0affec5e4b5547e958a4c44c20e182f166a611c4b502e84cae28fd3f464ddb88fde29c43d3f7d96bd0386095a1fc3987c6a9e1711008af370e4f4dbd69f645fe37a7eb0a112f3dfabf6abbaaf13c548afd8eddf9359b2c026bda5a7abe749a889fe1ca9db0e2e9534e6c2e06130f8aeb24da98f2f54059e757cf24ef493e643f431ab88299ac7ca056e10846b35b493290da30c12a0a08d598c3559ab8853c08d752bd8e10e2e934d76122c7cbb97d82a85c5f5b032b69f2ca0596cadd96ad18af733da046e45c2b781644d4fefaa6c20ec1f603526fcefff6500262e67f9eae4e90fdfb7fd79dd2d669968b0eee221af809cea444f24d5b1c3f6db9cb90d1cf9529b235cc84743cb90b48049614289416e2e7c932f92d3a73411ec87d27f5e0b40505e5ebaa6079ab9345951104094def6e88133c0f12159c08fe14544aab073c2bb59cb06b9e9b48f5a7870267fa672d3fa51b474d2955086d626f95f33c813bb7f523bb52c7e2c5e0248e4aaf06ac5ac0f901bc22f37bb0c9b5805d8926e0d3e42c3492944b19acf54915da1b75a7aa94b57cedcc8cc04b4d6251b0ed3c2d332551d62679b0a91b097a36ec4da121309cf94a671288fe4d28a045355f6457fbf7cb23f0d4f0d0327e51c0fc60e9600992555c05c2e2b4925d161239e0981ad12ecfbe0fe47bd2bd3b6bc508c1a02af7846950521a2cb61bc42f7e4716820818da38e7376e3bcbba6751334c274fddcd14ebd1909049f6ac7c3a6c51ad5290e794d6a924109e8232f5caf3117b139802af3a9a31655a5e89ad247376f26872d9127d9239e94b27c2c9eb663c72a9bec17d50af766a468d05a8e5875c2aff2f8891b5905a6ac57bb9289b1e7303d04d49f2dba5dc54030134ffc513d8312dce79b59ef96fb9b118cf646a28ad06876aadc1c57655a32d246c87e5856a20e4c391fff7f62ff13637b3e43d7af4a4967d235454d4b9cd137320420e2331bf45e6876d473405ee1aca0386647803288ce6bd21b52ff3ad7a534b81c1ac792207274b4409d078f59934cd253a31e60f2536ec70cbc614282d5b294f8111992845423255832720389c7e62fa4353b3aa219d0279b9d46981509c69e599a9211318fd6bffa79f2a342c22cbdb0e50012cb64b3001216924166787128b234798242cf2e8f0adbcafcc4420683aa8e410fc3861d1883e2064c8adf1e8be09128505c46e26d3af049eebd11badac38c0e54b0c377d5e304f41ff35443abbc5b242918bf088096f2487bd69dbefda17e0a564013b13dd924826f0e453492dce77c04a0b9bed1f649e74cfbc300905498d6a88ad4511fad276e1173f71df2b6481a0a4cf31ba2bb2c9e318db6dc230201c2491381bcdf1d85ae18c876280117acfedb4875c67e2e8872154140e7a785c68e26a5404051f9448e5fb8de5a58dde801d60dfa0a96fb8ad5561666eb97ba236b37e90535bb57c42241638881e59dffd9b639fd861939b0d3dc0a584836868c64e2db05e8a0874d8a358cdfce993b00bf893b448258be0dd935e4cf944f2740cfc437a8041c11215ed97ca29a891b237bde371d179273b56b93f284438911ac021ad85b5663d49d9063d9d95081876aa2ff53b41a481bb65b334114eb0febce04837fe670722d3a18eb2a64a77a7c0072026d8fe2962171d95ac2d40bc96a1d6db9d85cabc4ff5fc065b6c8e367e419b250ba52b2e9e34ce9eb49767f5f6a60e76dfd50417e9140885a88a520a721a8441d2da5aefa6482d956941e64ff4358c9aa9bb329ae6cc1a4b8ae0505cb1c31a541e69b3614d1035d2415b2b43331dab7c95414516c4a8a54145f0710018f5626c8ca93174919777a4f94ee2fd923bce15520515a2f71a00601fb5e60a6e1c878828839737620480a271d5f48317f790422aa1e619b441eff514072f336b2cee1636d621aee9df6435da2537460bc7a42d5cd949793134041649e1988e0aadf277523febeec6e1080ff11054822b35e94633e66477e48319237fa1996676460ea63d9a1ad513d9f78fbc1c0233cd4dcfa213a7153aec58941573e2f5ddd26c5165a964348efb50ba1ca2f930ad6dfe8372947a25a063174efcdeef4cc0c8fdceb5c552be452eb3714d66a821b3808e6fc988eeb076b0c46b9c08b82cae87042f999417bf53b314ad5e242278c1a46b33d402de7a7c9145d3fb7782e2e9ecb625b6a25504f462f1a0a7d016d4f77409557ba2f0f0588f6db2acc7b33ebf622391b5a5a0b58c74208fdf38cd8e7796f1755bd5424683b3b9e7b3cf82c380a8bf530e745d7fc885379e57bd89f8ddc92b868c47a95ec9937666301fa4347822901ab8a59a4f2b7512e1e96c0a23821a583db360ae4ceebc77194be8b175c15d0eee4d71b2d338868ede6bdbb8935e9630cc2aec34a5e9166630294c5975b509f4e80ba968002e52421adf1ec00ca45f0272830ebf03719484927795cdcf25f867d52b9591347dbb20ad487b779cce6c26dca5f387e0bb20c4bca92b13e65e29dc2596e4cc9db452cf4a08fe57efd9cd02888eeff2c533908ed02f4ff1ec0502d95020cec21d9a8e257441725302a9db4e319fd97a98dd52026761bd933f2a37c462e7340eac557682d0822c81b607c4cd753359964ce4b6d379fa5c335b353af7c71dfc1bce963327b7118d480763d7b295c547b5ff4eb8bfe1c5685a7687f59b4a9a28e1d4c50aa837a506a755cbde4a8457bd84a8e97ce97b5956d3c9084f4fdb2cbd869acc34e2d9857e172807fd440242a623672d5257da76e4b898ec3a8a780585cce19c3be0bdea25985c702f74a5c243718768724df29b351858dff50c9e2f82250e823ae75ef96c1e0777797373c06211d6068787f2a8941e99b96c20908d92d4ad0c6e59d170aa4c1745d118e22160812a6f6994a288211f48ba211f21541931d29e462cbe9ac12ffbf81b06865f916fd726fcd0f9eab168c4299af916fb6ecb87819274718375b11786f4e651c61d3d0174badd22b48071a800da2618fc599cc3532d1b97082bd6badb402b6ddb8580c45cd9d0a64d2887a41d874944009b8d821a597b09b9a7e4a6edc1975554da3f008fd024a790a0880e2cb861f0a25b3b3aa5b7305bf645df983d712d5ddac8e2e59a89236ff83264885dd275050ac5fa91ac9185245f9d7778d7e844b9b26c3c76166ac28e4da0ee6195595159334843ba5525644a4879923e5ad583a16135ed928578f4a35baa95c50c1f0ff907a8481e49da9ad7d45178289cb43a2781bfe11bf1bb0e021759fa113515c544016081f578c3826ef4ce8746d9f1bc22b843f08c85acf6a8a2220c107aa840e9eed2e42089243e72414c1d077161e83d254a775f9b2b5fbf188cbc50e02c5b298ace6bd88026c00517ff169214612e411e53f4175ac3ddd8cf83c5a93c37219c9f2412420d32c437b9113eec410479a3ad09f7931b046f3ebb5735ca8ed67693ea82ca46a54ed70b9fa443cd9724b198263a244a5ef90cbdd995649a4474cddfaab349af6f9233000654c0690f7c0fa7f2f023bd4605af05dbd16ce9fb7e0bcbab7dcfe37f63373fa33a34427c35a6949b0fc0e0332eb2634ffbb1848a6698c3f615c7a008b5a4834689e780cf16a0c2a7143a3edec0f49c0f8879ebdd24a08d162771548974371ee55ef39b60474662b91ed53ddd25b7236844010ae825ba6403953daeb9a721bcf36b55db72d0f87476f528fc99dd6df2b84219ad8bc753a2780d1dd74e29b37e8f19224ce66f7f86c7bb3d5fcdc5c080f28fb6e08d6316a59fb99232dcc4b39f48e5cfebda9512c1683a40a3ca3a4f24e9615210bd9ab1ad7e538d25526e6993c76df3fa984a00101b73e546cd1e8e62f4b4896d19ecdd562df64dff1b315337ea4d2ed201e3b8a8088cad448a24c5ab848ab09ab385ae7caafca2de3a1d26c278db6cc7c80f626701f97712e2f4eccd1d81cd0220de8e806c91dc4ab4ffccde80887457fb529add712635808b67985428cd98601fb4ec09b6820ce4b04972f5ba0ed4831354826b2a3f2c30b1044c37ded40bc197f34f6e924b617eddafda3277b6c8227bc8a4cc939e16c566a27fdb22297006687101ec31a2cc963d6093814763232f109d1bdbc24a73107f02c347ce029a16f4f22a231b6da6bdb2def337ac0affe747988fdd1ad32141a604660db0f1b76856384bb9ddae092a2b0c86728ed24c1777bae7f36c0e04c0194daeb6ceac9189d69120d67a57eda713703276610e914f334f97d96b27b97e38a204a494696d0491e1e6a3ac578f28e1ffc1851b238603ade96c2d0043f687a34f3da8ad0d57a4e1b5545d4892cb5e75ecd94aa39b3a61545a6d8e7b4b95cc170f369902b82434e122ca7ecdf3507ea11f9b2fdf911852816370047fba709ae68b71ffde1a5a6c301819c4c13ecb0f9b5532855af136732d03cb06b58c57f141abb31c136d18b487cef0c110b84e05e394a4e3fd7841bb3a5171a0f3655cd3e1badd870028f56b604f0568916aa193083016bc0a9266c26a270dc890ff6cbde26750d899115cecdab5e2c5b837e30f6510008b149f51b1c4ccfb6b38bdb0acc56ad7875a97b6a91e0989d1c5f894b37aec00a58926da4fb733b0a2fc89f9c903bca521cd769e3a79db30876685a1f469e619c90cf58434052f4f96be42960e116fa7de54ac5a4f8b153cc81ebc4b5086f79706039ddb6f18cddccfd099d9be1009b88361e94cc8ed1e12dc1c5adde606b42d10066c9ccfcafdfc03d07ad6063e619eee2db3d5aac76d8f7a4f392ec609cbd4533aa86c46b0491b2e58cb09d4e36f5e54ed8eea4cc679549b1bd77b061df3e8cfc12d45a1076e220d58fc6854c301bdb37cffa40eb0ff9cce1a2e40747e37135ad62013fc1d8653617efffa4fc21f69e926d509452b65899d496c6acc157c74818072dde88d4b91ea83aa398216e50d3a2ea3a4ff93f4af77b5828319e3123a4a7a1775036c3f99245878b8725d6d10b0a23578e11e06d33a69e272981eaf5983eb9dab48cb0a6a1a3ab3616b28b97c409b5732029cfc4f63c48670f81b9f020079822be2cfe4bdf1f41617c04902302541d61fcc269c9516a54b352c6bc0e16fbc597e2e89e00cbe0d4100e9d8ccc431ea4e8a03051a1a6024ccb2d6bc5a543d898657ea362be9e59cc4ea15c0a865108f9cfbc80a678d373fdf024a43f10f4e4277af59b36675a0d5f9eafcf68718c5b02adf8ebab0430c3531b81ddbdb3a56697c00d450b3d0838585c0115463550107323dff2cd8f406558ae88bf366149765754485e0aab4b739d92e6263a825758e0804acd99070eff3e0fc984e9a04fd8542743a9720547a29b629f9dfa3f0aa9cdb92996af3b36a07b4204b4409902ae243f871cfa0f0fa54c165f536a20c0a334a1dd8ff6c38316b33d9f8edace9f6688998a4369d736cddcdccdd269c51878835ba3e6aafde63b0d60a957ad5e2bd77e900fe038d6dd39f3b012cca888050ea20cc20a617486b122ff9e85670c37d271d00a95fdb29c982eb70b747ba09c1ad215b00a5533b57f9dc4e11d46514e932fe330ff02eb45e4474bcc8bb1fb23f374976ce671c072ac34cd074c939c17d6073d71d1ff2b8c8715594b45bd32fe24f2b46bd2beb73c7645f24af2542bf29268e341cc6b10136bdce0e86d4270decb96d0e5798484e253362cf3c1426b418e0e3a968e734401190a68f7820e7cc1cd47f4384275d1289b6dcae9229cc65ccb04bdfc6d542edaa24f14b2393783b91525cb9a1445ed116f149a9073944f6500f8605a290625b8b95d3c9388ea68e46e630e6d165d539f7348c0292bca5e088f7d5965182c3426474290f05c47d85d5e5017580ca2025dd4da76281e947f7f32d7025120eb973270784f084f36a517feaeaaf8f43a2dd7b85e5191d8cfefb2b756aed28ed6ae15a14feacb7149fc0b1a572d9b8aa34f45c4a6cb5e57e76788067c4dd480077fca38b4e373afefb0f603dfdf8cc4f7e6158dd393e1681bb7c1c529d878be13d696b4d68472108815e429d32397d3682569e3e70629f230c301ea03339142135b896c3ad4c043702ccd3e5bf0690ede1021569b8357ff6261bb3265a68e4f01620441e97100be74ed97600299ff992f59c31e16c2fa29d192f41161da4ef64e1b0e028c68e6f2e66b4106da8edfece91631248861528e77df2713e65bf96dd7bb927c555aa25d238f8d2c5238f3ce2ee52c690f4a404bbb719bd2331369c485945fa9943e4409ddc87598f81437a4183420023365fd24b4de6ecb9b14eafb4c12224b385b814eee86acf62142b236627197a27c44fa366b79caa0fc843211ae39d0349d7de64fdc8b8bbb34e9a3000dfc2d70023e90139f0b328d7d4430c8b07d2b3afa7b65760895e31224b3c325639ae2722b484db6c4e88308778ed7eac3b0d6f78496388a94aff78ff10f0c75e5d5eee86da308e2da903d4b20359e417d17f12e9486146d71d6f617863e7c9a192a06c2d8e80cf0268256bd10aa20949249a9734f2cc11ac9149e952398714d29e3916bb2e42276a81d905daac3581efe48534116542aad8dd902576b2efa49d36e99123d59c775399ef6403a1cd687523836b2fc3ecc2e7bfb19b57bcb93e54bf37b51562d308ae9e20e65521d6c81f4340b4125f58cd600fcdc5a85ad0906eb890301da13b935c501ba09ddcb2f2f66a687e749fcb868cbda1698151135a8468610befa40c2b5adb0417514f7f3e765d2dbe1985c6a4e7390942ced3c638d6005a86cfaa4b14c2e86949a340d4913cb9d8134810f2a9e18643ef5ebe82602570dc06153d6969487d7f464f184260b24e1a299a19e5b4d21488ac787f2d38b5578794fe0d9c14322145ec10f9338f36ea68038f379e3fe2621dd19ee6f3571850447aee7540e2cefa2d33b8974c410840a38617b1486080ec0f56025a81dbe67c9903cb12f7e9898f9002e3543540f0fc5e8f28f913c8b1105afe66fce27c6ba5bc455c6a5e8b8112de4c927e34d5126f512217224d406693034c77039ac2f68e5a20922a9b0e32d07e6eb814ff75a940a3bd8917e2b9b27d5be5f4650d26f977bd3aacd1a392008d2620369ec50a80ad646228a488907366f1fbdbdea1624a21085988d3dd76d87ae4621aca044713bfecb677b72df79632492903910801090309cf7138dca7523b9e4afdd5a9bc35a0ed66a453923a69efa50bd509a5bd9f44da7bcf7e29716a0ab6885cedfdd55ede1af0bcf75cfa74faa9f607b494385edea9e752336c46b329946a32a33163bed095bbd4168bb7903e8d19f7b688e89ab706ec4ff5efeee802d750391a6784844d1fca11491dfffa5cdd1c92ae3ac8b1d6e78e94d4203aea2061150839d699f7ad33c85df56f10854d1e2a1012369bc8b17e9df847cfb73ee8398411ba56e7c187c9439d3cd419e4314e459f66f771220a73ba719fd277773fc233772cb1355f4ad1440ab494620a93a6626be6efa1611a439199a23d9fd2bb67f140a8099ace00a7355075f79e3f2104fd3d91867619816edd9752d080b8fff2513175c47d2a729d4ca9e65fb13e2102b58b520a9a143d7315da3e47235980547aa51272a44e1dc20419ab444c57fd9a85589e774542d71c5da76be69dd2393806506c08499c28f0d54f7c65e0192724759c280cd4d57d24ce146fe858bf7e8b525dbf3ea130596546a42b8cae5f93ea128dc1c82a3720d59a346b42ef8aa42b2834eb81ded58aae3e81ead757094d288c0ec1c974a2f77ca26bbd797149d35569781249154149102581d404130cacb063e460c58883d1b2660508cd6959b3a25aa272a7ee4edd9dbabb53f00a777777777777777777953b75777777b7ce79e79e27a9de93908e545ce785aaf790f5a9de5579d240f7cf734f75ee9773dfacbbbbbb5777f7df35ca0c825377a7eeee5e8fdcdddddde9bb57777777777777777777777777ebeeeeeeeeeeeed57dba53a7eeeeeeeed53b77cea9dbc73e4a3cb665ef9cdbfcadffb3dcdde8734f79e7ee5ec3d4e266b7ec51d69dba7bf5ea59091ddd7d16a3024f22a9828223278c9e70e2022222232891c4d993a81e1dd529f0ae47316f7217055ff5360a19f319b5f1db4eb12d16addf760b3df3db7ea1e94b182b45b37e5b1a481d27faf94ee82fdc1ddf6793265d7426efcf69e5cd9237b2b491258b48cae48d6930d9fab8e4166af36689f5c85db446512855deb6a7e9dbf528271fe5a37a0475649f2c9475a25151141653d2495a3ddab28f1229634928fbb57ecd75763397b90e08bc69cf9c796c22491da9e3ff7a65a87a3469f568d2f491c4a91e556badba86aa8510f91213e039a34ae848a1286cfe4c264c81279198d1236589279b47099c03cf824bc01eda0fcd4842492809d5012546122a29698a14ae00021f492239d158673f0225b140d19586ec54208fcda3230a54291005ba1428458192ea6f4fba21841ed4c00644331995b2fba9b72fc0187ccae130efff5e95f7a853a03110cc93368fe49523596f6c7a53204dc11aa51e19390af09e5134fdf934efba2e3c89c44a0f541240444c15189376413d34c22b1eaa569565cbe26e1c06e26e68bd41dc6f76a7b3d5e2252c9390780cbbeb5e6eb3dd6c522f0a4f22498282c49404921dd026e57e83da7f82f5bd59b9cf9cb8ebe65906e76c95c1dfb50cf55fe6ac35b3261d62c89348a4b0824410124621e064451a98f98440d6c4d2f4c1a42a35a8ff78c5c10b75f95b20f07e3d928ef71f47eb2445052a90e2853345cc143153440cd09093b1c9ff6c3dd44651fba4e55b2c7413f2588bcccbb74d39cfe450b64f514afd39af45f4a06874a4549ec667e1d715fa61616fa23166b1fec7f1f5cac9497d9f51520a92bef724a51dd532a207e52ecfc9bda3962914cbebcab8f456585e8dd62e541704d4e43aa13595131d3fa2969922b08bcbeae50566be8bd38ae1ac87c62c54d8435d74bec0f8cf6becf617c568e5a2da6c8c85b12f162abc502b9fb9ca2e79d32bf44aa8f4651ab5e5ed3d73e5e3d5d2d0c1e959ebbdf56a57ab7bf6a57675db3cf46c58bbadab2f3342c47c4474fca0c8ac3066b1fec7f1f5cac94989ab1feaaab12276a184806b579796ae5cc182e5e9e987455f52ded7a562708b4b68df9b110263b0cb2b1f3aae7ee84883564074a4ab981d240efd981d36dfc2981d3c240af39ebe57bb5017ea425da80b75a1668ac00e0a81d15e7659f958281fddd59f1f564d16ee435df3b76b3fc908059bf61e1abb50f389a6fe732fc62c164d1a75deaa2817e9fb82bff1f79be5ed51bf36ced13eee9a5d288f854aa11254a8142a854a3f230466e9b0260bbc573e2b9fd5cf0a4805a58aa23197a525306f7ae5ca9737c582c5cb9b3e3dd1281a95b7f7e88fc866172200f8805322a737ad7d4450582c10c8504a8928888e2846dbac82a2638d15a850e983425df46340205dfe646440201f1425a2202ad167f4ad7c6e14bcc38f48d30f9b286caf7c34555a0a99286c3efdf08a0bad7c9ce646a21fcdaf2254cc55b5887035ef0de818201b288fbd3ea09ce0a70a0f4cda8696557870d294a6b756916f86ea18b1b3eabfbb7e09f8f7619032d6f6607e1ed9bfdcb53d8fec3e7e18a4ec2ec93cb28dc3df2f2b9332d56fdfaa5fc45d5b0d3048d990bce46bd1f79e679b81fffdcd4518b8efbd910ee725455e5e3265b745e46d6ead5004cc2d23dfe7d69129e37eca38d7f34f80a1aa6a7b1a3c96faed954840ea7000c7304fa07908fff61390b11e118c32f07d5832fcdb9cfdf061c9c0eda5f4e1932303b74f9c4062900f1db7164d8bf4f47caffa1eefc3175bf531087e7d10e725619eb45fa2ca487af33cf1138d5af5c1e7911de9edbfefbd37f2bdf7f53defc19c2790bbb65f227dfbed9b3eeeda52335f8953bfcbd96e4f69f45a31dfbe37c4deefece5320e2af0f7e06fcffdcd2d4fbd67231e1277d19f2fb6e4ab54d27b23a9f75ebee7bd2ae78ceeb2a96c3d12602152d780250efd4ee2cce7fcc14f4c892d23294a73e4f5f74bf546b3b3d63566f3b25ef3e5e774e204ed142c75ab454fddb2dfa7de66239de72090223d3da9ff724ff75ede7117f7624a7c696e897457ea8554eabbb7b6cbd85d5c2a4b77f1c852d75d9c2c0709f09538f63b89637926752e5a7ac093b6668e8f182ddf021ba0b16b54ab1db1ace4542025bd2593e754ab9da1b7c4e29405d3f2a7963f23bf8479027d1d372933f0eb9d53735a33c3e84fbe43e179e18c103342c8a9f7a79c6f99f5e232f7f5996cdfe5fa3733e1be660c7aff1e4bb55ee8befe91ee6b665264a4fe7d26fedd91fba9cca4bef638b13567aea1cb4b70befbafcc7f4711b094a564fef5e9d769ad16debcdaed6f777777f7fbcaa98e7d4a6be79c48db8e74c9779babbb3b0d3c691d5c81d36eb30d1e83943dd0f577b8d075051d0cd255ffc62075389974a5ea7735e07142531be9aa580007e0b24be2549b239afe742940d39fae9a63903a55579e5999bee07278cac1a9e660a17870374f00119c800818348192c589242c12114726e0388ee3ac0e25983ddbb6b90e58cb5a184bfcb89e3fde088581840d26c27801ec471843354752a985e1c4ab2a2d6b619880896506c761ce622c59b060d11b7fad6223da8c90b18944039a14af21c8d4f457b8d9859c6a080a7222841493617a826569238a7244ab116d449bd106658b925455b019b90881a148ed445057e484849e10252dd1980b1014328480a6d090ac18c1f6e59a38e136a3296266da43251727172797a720bdd2fe2ba115141a6325b94409c1273c5afdac80ea4c082fd07b154413820ef45e3d59cdb47f9d343ca2b01d2ad1286c73e194908af6cfc8e507ec02a5fd5d42a62db6a0908909d3ffc25069c607983e0c151abb0ee3304fda61b06887b9a2ddddff06ed62cc62fd8ff56a9f62380b7bc2283428474fb4874e88c226e1cf67b4fdc74bd9ea40ee72a74a5b9076697297ff045fb82e4674748902e6ed343f0a95dce889553731547297bb38b990b11a81f65f8140bb9ca1fdc3238f75d9c5c95dfe97c5e25c9c8e5cc2230d4385bafc6b4156849688aec0608179f299616874d401de2e4edabf23248efff450295c0a99b00f6e426376165e21c38a8b53f81442e119fe09eb74713282a2b0fd1de1f2e412a5fd33d2fedf115cccacf2b8b704e12204f697d7070c328140262a8612c79fba43a9698fd1ee30425efb628a76a7cef405174660ccf4f625ed3f611b0b51d80e9d50182d427b137afb13eda1d4a1ffc31a5ffc04e135bee8690561bb860d29b2b06a80392d6b4d4e3f4dad257cb5ac35318d4d4a4d50ecb495b31c67efc6598ede997bb96de6a5f18b6569e77058eeef6581476f1bbedc76672e8eead27e4dc9c093f2b5a783a39bdb5a6d754ae7949f03dbbc9d4a1ab33ee7c59352ea9452ee52fa9151a713ad66f01921c76a5d8d49bdceb1d62ae988539f0b6819ee416c5689cd3e710fc23d88cd2ab1d92752aee1790a3b34afb6be86c6b1cafd1a52ad944eb508ac7a274ed2f225137a3e1e42cf19e7628d95548306462bf881164b6a409902842b2bbff1c1732159cc402989071f9c68b24c5c69aa3e9d3cc643f4c41941427051c6132f90cd25f49e505d20a1379de9497b26fdd9b4c97c2a34a9d09b1ad1285a35e9143d29158aa43f1dbee8f0e5123a8442877fc32ed6d0e1ab4020a1ea411088aade408357b068f03f1008f8bd0702f9bc2b4fb2eeb2d02968b27b39209c605251e3a268041b4ca912e533a35285f6bf5ad4b6f0c12e82a4241dce541413540cbb02aa400a0111357842821cc836296054e9a4fcf092f0c63f6b4c3fe86ddbb66df3c207dcb66ddbaceb0764dc27f8455f4028a83f306d2cd0f7de7befbd40d480d8174b017a61cddc256f143f46b51f54e16488132516d3abe6c511162ffaf2c20553b0d5b20685142c30d6b20685134c4021052b0b0c6a5983420b16bc0802106a515cd155cb5a107c50fbc14c892425aeb000890f9e2821a4c45113222da24461526236b4438af3c1cb61dbb66dcbe1e6507360bd8e27f4fe17d7837729ec591207539a259d3ef02e8549f9caa9748bed2347be7df9b44e77874902cfaf4f75b8bbe39795e8eeee9badd27d8f5abec4913fe0f9dd0a3c49e938f43a461f34f68deebd1443d31c519e30c3ecf1512b438618f2b257679058acaddba1161cea3af982f1dcb6a1fb0e12913bd0991bc2c94a553012c77eccd62e5da074594e1cc29200f65dacf24a972561868d5290c88bae43a9afe25047ffcedb4997fd211eeb728b74dd6c83cbd2dad163431c498e43240ee8039e1b4de19045932847516ab3a21e107d3618014d088b295180a23c994d514a4aa2296a1685260b4d169a2c345968b2d064a1c9429385260b4d169a2c3459e87bf49b427e4f92a44e7dfa9f90746def89a24f58903a248f6d3fdf4120611736e76bd22bd40a8db1dc4567fe334ba42a6e4212c7898ef443a021a47da245e53cb9078d9eab28b5bbbb3bd1b6cd39e7a4b4862040e64b3ace390305def70a99a09021ee872c90714714fe0ec9bd5a0f8283bc6d76481614d225491cfa1d921bd964db573db4197548faa8f399423b2950729ebc3ad6e603de1dd2c764c3209cca106308afa594f453a2e3dca143923be8dde9bd196d7a3372d71818896883e24308b9148f010c57e641ee9a1d521785ec90e416f3a7d0524a29a594f2bb8fc962e1d197d469e94dcb182cf0c684b71f72cfadcd7f7b26f5b9fcc27c7f23f38bb66c447e7d26f3fd9914d96ca4e6eb4c3c4fcb0466b1bcf9ea992fe5d3cff1188d81277578235881f79cfd3442c27e0439da97b1f36dcbab5e7a0cec7a373150d87dfb14b0c00c345098f752877bfbe3083279dfe83d671f93f7c3e4cd0aff256ffc2b179cf70d557963bb594be7cca652a954ca535d95554a4aa76a8939ab45e60935cfd9ec61df3e0c5267e67983c4b16f67f3040a822023b8389fd8e9848ef63b203ada9967dffeb56fff45085cdf93f4b444e0fafe93725cb74353138d18345dd07441d3447385260c1a2a68bec0220430f07ea1f98245d3a4636f73febd18b358fff22508bc25d2b77dc80fe92e24a28ba54e4ad7f7d9bd18b358f87af5994b10de1289888c6d3477499df9ac2d30161b4dcba4f903e9aaefc51d036759e38eac9929d85332f380d4e9b2dfe0cd1338707527eb5e0aded28a9011741189333f2552990485cc1fc8d810e985ae730c5d67165de71abad21cf446bba37bf58778cc672e798f2d793fce6155610cb258ff632afb8b13ec93c8abefeff2fe8de61b2d6f4c76da708754e7751d8765b539558152abb42a50d650cdaa14b1a0e3bcfbe119225688d5722671e4d49e142d48458fae34898a187c54dc4036c1f6eb28e283c2b6a4628ff4963532729ec2e4d7fff04cca7b241446757d075098ac51f144d78fa162a15aab8249572954aba2a97242352b6ea8351b24e92d9f747dce4b790155e284d9033f2ff5b54429eb91f7a75dde256e1ab17544fe926e098e9f89cf04c7cb17a44c7c09ba701f7c1a513e8edfa134a206a60e7ff5353535357fe95813ba6a724cd28e562b14a77609c2fb73fa9ca44e0d4beb60ad73b58e4e528c15fac3e765335ee89d47e157348fb5a44ecd4fd76f96cd6fac59cf83c57acf678d2b0c5dae2c41972b6f1e100649439397d8206bfd0e1587667e53721e795fddf237f2be367963ddf232d9d55223622189335fe3f8cf62617ca3f5f33d995f11796ce6e7bb38ed97ae89edbc8c68e371d08e8f97f99bbcefcdf3c81bf3b07957deeffa9abcc71b79459350314074c4413d6e3c8e42613b84ead1030761272b3d1f1f61da7c8c846bf3b115fc643e26ea712384a2b0bda2cd286cfb0ec2a89e18200a0b4dc88191f03679bff6f192faf071a30709b01c13b6f89c9476d0ac5d9a282cfc9adf2fd7b330bd5e7d3cc984bcaf4cde37276f7c933786e5cde291378b049bdcc3953de946aec99ec4a4ef8f557048d2e183eff9b7e3b1aee6f775fdc63c7eff8d8ca4cd883149e00b57d6fa508c09627299bc5f379947b6c99be5ca1bd7e47d77b4c4150d07e120a933f5ccf19b45f31bb77e5ffde3a58cfdfff810ca639f710e168b26e37c37254a29a59436d1713a31cd8b593fee8e69be178ae13786c4992fb996f05bae1a1c148a2f746cb97210aa5de1af68f357546298564d4ff35751abdafc55d2bb6a421ce4244461fb1b43cf9f8fe7e32733a451984aa53fa7ef2974fac6903a3b70c97b86173dba707fcc928e2f17c29cf33b1434d2b5beb5e3a094e1d857256e6ae58758c3dc21eebbb4d4ed88dba559e2ee5010b74be773d2f37d889b5ad1a2b864ca52ef754086b8f7bacf8a523641fa2f22a534dca70ff3f57d0354bf3ccccbc3d0627e3e15637eaf68581e4a0b8b8582e38af8327385c2f6130adb4b4ce2aae985665a4c14b687689a286c0fd917a2b03d94e36b8651a2231185ed211c4f330c13cdc8cf5f5141c0cf5f21c1f0f357b5177efe2ae9e6e7afacf0f8f92b259b9fbf5a72fdfc951385ed01fc909fbf7aa2b02d80170245613bc8c338ada2286c037998273ace59911e177c0ef0d30210d8c483aa136a4461db009f42140adbfa65473b5350f8f92f341656f8f92f482afcfc971a91969fff6205fffc17a5f0e7bf2ca97efe8b1385ed02fc8f9ffff24461fb84f7f1f35fa0747efe4b94093f1f6646615be6e7c3f450d866fd7c181f0adb367e3ecc0f85ed1b3f1f0688c236007efcf9304d286cebf81d3f1f2688c2f6085ff3f3619c50d8ce6f44613bf6393f1f260a856d023cece7c31c51d87e3d093f1f660a85ed007c8f255556c2cf87a1c5c4e4cda363de46bc89c057117cc087624b03be461cc524dc029e87f8cfe381fc909ce4da18f9109077fd161e7923e06d7ec8d7e424f881d4b44020fc77458087987b8af6f8427292bb5b3e481018f2b6791e2fb882e424f87b8a6cf216c22120ef173e484e7287e41de4fe10216ff3363679dfbceb6d5cdf53f442de43ff43c420ff40c42040bea74848de360fc34ddeae7fe17940406cb9624d08fe8dc82327f9c41b1e43e2d740a045fc100243847c4f1198f7cd1ba979f37804bc8bde4261d77c0a39c96db57c4f5191960b79fbd71658c756916f69a1e042cb830ef0bcc1afada70ff099dc53b45378594e72f7f83b3bf5bd054a65bf9393e099ef29aa79a7f03427e12a3dc0efe424b748de3bb7d5420a5f5bb5e61d3e6d55fa3d4507c87ba8f52dccecb41e859c04efa050ff00f45b78774028cb3b85776166bc33b29a961930eff07d06f4ef294a21efa1999739609cf91a07a420fb9ea296bcc12f12e6edefc26311dbdc53b413b04df81f39c9b5e3f714b1b042deb825fc614dc8fbc88fd68415c66f6100cebbe543fbaa06609adc53b459d83eee0f15f20e1f1351a97ee4fde3757c7c4f519837112e01af9393dc2379eb5cab02910f6d18aa6ca8fa9ea204e43d645f051a1dfb26d0e898f03d4544f20e5f05d51379cc00167e059a1f9766059a96bc6b1ed3b4e0ef296221ef219a5f81013f68de07037ef8f89ea231ef9667216ffc2bfc0e1c1c3d72927b1390b3a306c758a3809c9c04e34092803127e174dee3d7e078173109a78716b02347ee29da4736ec49c8496e0e093b6eb8b8e4c0f2ce791272129c035693b70d4e017f03478f4792935c1c376c7c0d8e9a1a171c352edf53a480bc87703c09397ae0f81b3948e8f13d4536f2ae791b2e7fe377e4249c1ec2611db97a2847cecd91009967e518f366fd8e9ce4d319879ea271c7f7141dc97b28c727002727ef219f97e578584e82350e3d4539b0ef2992c97b7c1956de3b9ef53b6e040130bc50c48503b4c0c20a2a1019220ee0858802f820e2eb818801f8144403c8443d6525fc8ef87a14c400fc0fb1003ec413a8ac84d7115f6f821880cf11633091004b5c5642ee291a408669a2e314408621417ce5219cef21060027c338b96bfe8d0880e721ea781b71847789f9471100bf43d4f135e208ef22e66f1101f058d4f1a138c2abc4fca008800c83a423c3d4e8081926296718519cf9175b9f439c791c62eb69c4990ca3d4ca304cee9a1f23a6f40d71c302043978d236444e073e3d4042b344f701044862681971d381064e5dc464189ac3882f9db31233a07af0bd2a52b10aa15af535effbbafefe74dd2c5d7fcf644089be2f79f4fd0c70fa7e092f9558412015bcf55e1824981a4c128c150a53fd7c18250a0b7f3ecc1285e19f0fc344612d3f1fe60a85b9fc7c98a649675aae68205750c85514729caf125755e46a0a7155851ce7b7882b2ce438df455c6921c7154d6aac4a45a5a878992ba45592b8fac455534aa4b26e45c34134a29920eab283cb65ec84bae607d171aa20484f1f34d5512bcd7b95b4a2693ada60d261c3f46ce078421b9c67aa1cd0833743069e2fb9a59a7d6f0374b4dbf6f25e33f60c2cbdbdbf7defa13026bf1763bbcd6f4889123ad224574261fb6efe34d0510910f006e868dfb392b984dfb2b63c97e838daeba996250a93b129b334699b82f744d26105bbfd1bdc6fca349b248efd49e4b1696fde189f81eb2b697ffb94c9fbde3e75a24fe0dbf799078add7f62f75dae74742bdabe8bdf9e4edaca6e08ff4cc9e78337765aaa8b2950648b27918c2174343b029a192186910c8266f0a30494d1f4587d6fd214dd76dc254a7fa1fe7d7f26dbd73fe2df652601312809b5acad41845765ce29e79c5372dc4bfd388e73c97113c956ea04f77bfb6d9fd21f5f395472dc6fdc0480d691452d524ab749bb9840b5b6e01a7c1a70760ab393972f0d549c82a8f6ab3864f30668a0e21444add5e398605118fd0d3f0853bdfc1d197b49243c556296e3f7453ca6527d0cd029f0fb09a67e82aabca9fec02925cef7795b0986d0dde5aa9c7456d15bcd468a7c492fe9d25362f00083d00357830d4904239082ab82078e964263ea400d355a76ce0e3a09bd65526d8d1ef4964a4bbaaa61064f0e5748b162e9881cf8d0b38122948008a22572107586acfe905a6b6a58a146edc200c714734a07f395525e795d5aaf487897c2e67ce5fcc87179cbcd5a39b72be5a4945e9972e2c08b06cce4ed43d76f2101f6dfb5abee43775fddbbdafdaed573beba75c2ded8e5b08fdc3e6db75d6bdd716e7bbbb96fd6372bc366b7594b0003ecbfe5195dea3b8ebb29dc75ac1b4bd55aab7837219da844e2d4ae73cff2eb7bd7dd7c6936e7547b86add5afdbbf96d66b7110aeb5d65a6bf51bb6cf21a5ac74c89348d498b20414134f4b281d61e9fc7964a9c734459fe6253cdff3c8baf9bd11efbfbca4c8eb6636b284a7d6759f4a63c90bbbdf9e628fb552944a99ecc06e035b98dfa5eedd52bfb590faee773cb51581ed6fefbd947547bef7e8978f78f4532f65a9eeedfdaee3babbaf64b19ef32a85575f53cab777c8564a29a5a20d948752cf02bef7d2c7eba025802d72acf503336ef972959506edd9eab816ca7d51ca57117d4361d405aceb635b6dadf2c30d3ad47448238a0f5bd0000720361c86d881e3388e4b410e15a841114d6857662ba8626956d0b66ddb368ecb818ee073d2b8416f499354cee86e38da747042071bfcbc745ad6a2b860b52065310bbf60dc7344875951b4fadc4f1e5d277dcb7d15524453baed227a93a5518b12d2f6a9fd69f37cfbdc048bf4e08083dce8b7d0027dfb3b3ec55904de77b630c208563ca9e37af5ead56b7dd5eafdf7bdf7bd57bfefdeebbc9f53b61581377fe99fbcb8ca7c77e7bd3c26efc62ffbe9407bffba176316ebbf88deb4fdc45610efbfffde3e95dd54bd97bbafcad25d3870ba7b2b4afd89de6fdec6d37dd44c9c159ed4f3fbbe6f7bfbdf67836c6f5f822b7c629509034f5d83d8aced7b9fb85ffa7b6f135b41de7b8ffba6d409c2a3c3dcd2b9f546520f3e0c52d68343f7aafc3d0ea907338fdea1f53d2b72a2bb83d5a945011151405f5c8101109e54f08242a50930885880e48229ec133d3d00b16a68fce0855f6a6844a1535ad6d078426ffc48acc9b2d1c3112d218840023230d6b28686106aa001c46a72623ef56a6badd53a9d96d62e3ca9a3d62babd75a6bad95ced7ee52ba4779eeee564a49abbb7b7577ebd6da4dbab595a3c2fb68126eddba75ebd6ad752a41b8b54e2508b7d6a904e1d63a9520dc5aa712848d829b9656f7696fc671db74fc773329ee857e172422eaa1125e2f8e464568c608775a1a61f72ba4cb7f5f4abb4226798cc640bafc2f8727eb651945e8cc51a8cbdfa991c4f19f31c2d36dad340a85d9f7ea53b46f1cc771d6d66dcbd756217b038e82516b955b13ad95d64af5a4792c03efaa6bad5f6bad75b376fb6a2b57394a29dd36fb9388a8b9dfa1b20679b43b73dc1c39baa48b7eec42ddcc57d784c71beaa24f4bd0348f290dc47f8a9ff6ea77a33ded3f454feba0f5883b81ac34712d9c47ad083fa09f0186e65e9fc184ae3d6a67e0800515457bd51c28a395ae7fa16ca0eb7b1515ea87185d9f2a51b340e9aa03bc469626cd43cb5a96299bb573f4cc2c3d67952ad53c67eeca4a68a06307e534bb973559a1194d7e3e951942415ebd370881d78ca31d52509f193800eaa28c3c33ae28c16d4a9971a5072e0d9abb6ecd8c3378102281098844411149634684a012a80002a5169cc0eb5d23c85df212610644d42022020e52306b2282163ca8302362a1e1e32f33b8935539ee0aacd2b246652973352a60686ee3388ea3425db26665e90a1622653cf98d272a6a70815dcb1a1421788108f006450f7adbb61716278652ab08db16bcd46e80c48bfb210b142d6b599ce82d9b6a4410435bc063455c26f904afc01d149653c86352d260ff47d66396a798f0964d34542f2271fcad7b138bbede7f74a73531f1f4f454ad14255da55cd1d5fe046bb5b5da5af3b65f6d96c1d65a6dadb6568b45aa8fc0e249244f3d528ea4202db124832144396a920274a424a50c2a42538c9af840a16fe59229441752d064b6ca9f6f811c6859f34114edd12f8609d7f7a874aa1aa2f5be916db6ea33e15e7ecdad9b5fa0bfbd11f9dc33a19e8d70b908133b054b4d7566b9cb8689035a50938cbe4783c4c2021294913845314ecca70085c9bc8cd4919f15bc25534bcfb7406ef96fd7e91fb12fff08fd8de6967f6e792e629f4e166270d77c29d2d0f100171942471c4d8cf3063a054d267f875251cae87602cfbed4b16d30e9f9565e25ccb0ab0c33bc68f06778d1f7efef50b00a19c0bfbfed55d210b7031ec778861934f8601565a82fb5f62a58e58e8b32dc9f593cb172459411f85548dfbf443c1c22cd4b1d2cabe0e0a4a5cec9195f7494c9028725e010695e8242c29ca3c117e4d34c9a233c3596382edf87adf76ade75b8afb6791b0781b8de9b5f8f1b393e7c6cf3554430d3e1dbbce79fed010ebfe6651ed77cf8db375b62cb48ebff3f2fd95acf235bd1a40e0ffd381e7b2cb342a2e35cd5be271a20f007953f273aa684c038bf3f27fc321fbe8dcdcfc71163acc0a1b8030d6cf335cf83470bc8024f0b373c5608df26b75608dfe66db20c37b9febc4dcac6a6090826abf4184d1b7afe2a26ab70aa22029a4d2ae584c2a80bf47cfa39796c53fa9c402438fe7f8247bcffbc314d9f5356d5bec07c1a299849eb71fcef4d892808d63828083836673ede6a1da161629fe6a54c824042fa551f19e6fa43c710489857b418e0f077f5e100d5e1df9a9fb2475da243d737e17735d8481c1afecd7ba9304f39d67cf5a9f9f9f52775f3299bd086078f9c01d736594a9c9a9bbc79745893abcf8e732090f05ba294d5fc0f8585797ef5a1b01b3fdf868ad80a7feaf07388ad30e3a0940cf0ca26af6874c45360998c7faf68019f23a884ac9745454c15221a0000000400a315002030140e888402611848e22483673f14800d7e8a4878561bc9e3698ee328658c41861042003084001891999ad9340a58282712c2d9fc472eeec1ed4bb1978effdea01d9c1858e74b4485f77e5c3c3ace5f4eae631c4fc54fe8c149c368acf0fdd7387160d50374bb3e84288d1e6838f814d67c254cd898f1efee05f34b68f04cb31ad23753726481f45db3a76015d0f05eda555a80f91ebb4d31c51ffb90558bec37bc1273645ab2c5f77553b095ae6ea44bde0c955c62219e8ff06c08da6e86ffafd502a16e94c00b63132b7712c76e6150952453be4588899c5b46e1f9baea74213c35475f06c93f5ec9f764601d279749f4a4ef6d7584aaed7be822ecaf64eabc2346ba5f052b4381f7c8abd1ef8d9b390e0797ad906b5904426dad7dc9e3a80ca4d8a31db8d6ecb078c99218476486787d4dde371ed7682b2f34a03f3c9d24fae777aa87cc23a1c50bc4bedf9b381e65f6874870daeb2ce377de9a0724801ef3352d0f7d2216e584e0cdeb6d592e9e9d797e794f5cbdad7efacacbd9fbf51cf8a64595437cc77764333d70f823bf366558e498bb8ea28c58f89003c17b62baa094f61402ddd49dc29722ecf0b0d2e088363cab5251afb6564c6f11dea156fed975d63e2fe2ddd935bc71d7536a110d8a98a18710b0d2b77fc6a6aa401d3c535718bab912557da233fee87211d8ffe27cde4e76464d48d261812d1f42e5ff273c57ea4a407861ea566257bbe7f79f65f80efc26cd71d41f1779e079878bda7b9f8972ed70009839ba4b11fca0123d4e1366982133c18d4bc583df1e2e8a4e8501d601c0810220d4e4228895f092bdc87ac48dd23c61189022034559e87b3e3fb71d81b4d1ab99c2c14340e1bcf07e7477269996a382080702af43e17b5061628118442eeff4d8a4b5045e92e22aaa049074957866cc1a182df1acd365730160eb38e00ed21c7af92804887b088c72bc18159b42b8fec45bfe6088cd747affc9a24130217c1cb034e123c3200332cd12a531b07d4ceca053b62636a3bc0f3716fa991e48827d011f5b7622726e5c64218011d429728acc27fb9e5e327c4a8e77f914ab7762407487f4849ca329b632fb95566daa6ac209f4fe9b37edddd5ad61993417f006745a472152cc80067edfb144613079035f3fed8b8b16c328e1beb290fcf33e38c572030b63a5084500691d69954318f0bbbec279e88593f25c2e4aeaebb2c6459893cd2ded23bd48b0af1c69a7bd7907951eec51c84eaac8bb6e0c82b3dc1be03f3a25c1f14ad964905419cf130944ecf231f4f300bc285e1e595294a8ca3a63382ee9aa39a3dba65123bdc115e687dd3884c8a955fbd9a84e6bd1ac6f644c4deedb0f886fbdd72b98c775196e1789b89def514a973390c0ae2e9c67a5a112f932dfa070b122130dd2be5e87a8b0eed6c24b5a183d267321be39773e20c8f7d2668ff26dd1785c66f96e2049649bb68081e33702bf2b2cc3e0a628cbb37ab0861011f273d9856354d012b03515d540f2c9e43d0593edce5e02fc0c05ad84f324ffac7442f523ffe8a3304df73640aa50c89056cbf16423d59762d09d4b01a5c31bb0218e5e6828eea00194677bca6912b246c5f2f9eac27100dfb00a99ecddfc1a41e964026bbd23d0cc693a2b1fca822bd2e552bdadad14da220f9774db4dbea47674e32f029caa943f522d5e22b66cc1fd097e2e721e6d1f624743a027bbf087b2b612898e0b591b6bb5daf632b00078bfba4686b3116e12b1b4bca937dbab4038c659054b814e0b81bee00761547e63f98365f12c9e40e5557c5bc9be448547b01b559c218429461f08fe7cdd2c9121dbdd92746364afc4252a2318d1339ba8a0cf183a99891085f141c8fa4ef152edb8d45ac3ea8cf9f5b48517a5c59864c06cd6a9b8ed9512c57901390a436c49f80b4ca68b25421b8fcf4972d3136774eb251b9783526d97d5a475af0fd32ed5b455a7061507932061f96b5207604afe2cf290a1e41652e37ba45042b9e75af46e9886f46b3656e122c02a052ac36a6961943278da95f6d9c55d956cca2bfced6cd66a4e88942992b809a61e371718ba1b4db5cf1a8608d96a38bac2a8677a00e946c5ce92d1b57ff8bd746e070d97475eb4bad43eb50e45e59968b4599a5ab2a9d4d877e275b277111565994731124ad9b17a71c3c2e4a1bbea8f2d6f527ae9bd6a1d3ffa7128deb498800168993e66475b551c95f96e95b96bb648235a5e1fb1f1654363792aedb6eb17670d4c51c71b1e7001f467e5f206c906edf2024568d07378b7d2a540c788091366335505662a3edc352a4840d0b1650ada088e153c2165931d00e673dc3ad8d11b99eceec042f77685367e454603c5597dde9b5143bd4d315a990249b851243609f84b71702610d2de54803482ed82f093422b0fdecf00c935bcf401105540409c55709d45703825fa69d086430b98b815d36d443671b5bf3d81421e895573d51c71d6a3914a10656f037f0ba2a20529640628427ce6015d950684deab79f7a287d9093a0213d5d0fa83dccbc5797afdd08f2e251f7d3f43ca4dbedebe4585cccf372308d0df978252f0e123d1607eb06aab5d06e9dd6c2703c5876269e2b96fd83213620fb07b061f81399a9e491115eeb12f2f6c8c7f9c08b1f49ab52832b3cc9087d832ca639abc1d24f3994233c9eddf17d1210628ec6a5750fda4044d6a7af3a4d4c139619e097363669efd6386398c82f5140f8ed39a4cab8e1312869192b1ca334ce3feaafdbf5f1ce6f0beae001dc10fe70c5550d10f07019477016bc3472610bc83c920d2c42a546372b9cc696396a662423727c77501e3d2c3d28ef49fd4a208018b31700dc1590b48cf6a01dcbc2f701cadce3719e388f2466f3ded58b288d201ded787535fa27d02b15df8c9800913e3fce2d196a59b376844f4835fbd271a4f3459221a98531babf70c7a89c5f8671a92a84fcf31b90ec0381c89b328395098cdd6d0dee8c1f21e7ed8be98939fb25dcac9643b21ed97042d7dd9e314f4fa7f0138609a1e60c36b22597d4851f91eec139b67b4551971bd6829ae861df3384f8ee3e9bd2192a9f4af311fc149e36b3b0c761c87c3e26699e016bb403c6f1086701cf98e8bce711967237ea91bb7feb1790712061d0329d322f54f204c44867539e248f03ebdf0c1b0a934f7a50a9ca145a827228a40823bf7f061841c38838c29a955cd54450732200211a51498a7f7f49f0565ef28df2f7896a97bca1bb0afdbc495d869ca0923fc058c781c948c5f735a70a6c48790c0f3389e9c1638a93e0c4b948cfb5f713477b4a90e66ef427ca82821bdc70407d69543fb45c0482888562d0b27ce02c160939320cc13bc8244b5b1cb51de9c7a6f22fa79199b33c73ee84392cba100ff5f5ead6d863f444c748f7568b0c8a6c3be80102c84eccec53b1a1f1dc60f7ea4f16377236cf697710460d100fd4a59d36c03959b62e6c02d6dfe129554e342258a9c8809a5bdbbda6a41cbbf772fd01cf5995c9e61e7ae22e21dec95232f3de22c56e5cb126e64b8b76e88a0523ec711f79381751b755fce3ec14c5d3d08e25d4a0c62597a985c10c217130a9c7fb4a3a1f117937d6d1f56efb1749bf215804f8c3f714d93a346b826a94135ce71c029f328de5fd32e819c08777f8fffc144222648ec891b1d9b44691650881b27efb9dd788766cce55a2b61d089ec6e6b07ba0b743b9277559fbb00f565ba842eaab9445a5069d4bf64504d94e4e522b34cd064a30b1c6bab543e366a27bdc1b4b0f050a8f19ca4f369fda98843effff0a8b2726c6d99d313cc2f05b8a2e3cef19279e4dcc6a2dcc0144f18d58e06c86a1851d70cf52900e03f507af93027272055d9dfd229f6e2a15651b5c469a7101dcd48634fe24f57a2d588eb44d24d1baa6aaa51e0a06eb51d7814a1bd8eb00c707dcb4ed54e301c307e8b8c707b36ac96dd1ddbecc5e40a0fe983598aae0d8825068e7d1d1d2c52a2403474381143e21dd461ff56ab5ceb2b2a05550e56b08413827d4526a82b3b75358141c2a286aaa12d109366b60dd3a4209c3f30f1843faa906ff1ac01da583e51ccfe69531a8b4677644350ade13ea13014ac296f4210f95709bf206684d8376b865aa3f1000149d33a7c78304b54ed75adea542727d656d955e3f67850fc7172ba9fedcfe60e8b21e71ffd798d96cfe834a9c34c6f4e2dc32d07bc7ad7e10edf86765c06a6dedd7860ffb73e646312935343a1d56223c4658921021e3cd4b614e373c73ba844f12b65957d2d1cac9a56a83b3e6fc24e6c713a7a431ac3aa2b43be19edbe807dc7a42ff029bec81e0c6dd98d799b6f5c13baf7851407c473c8a6d6ee4509478a6f9c6e767387ab8ba50301fffc95482011b02a118f39b1a4fedfad60b8181b1108401c7fba27dee405d69206b6e7405335e3f8abd6e0bc9d85f94a3c73e714779e2b1a1bbe7f851852ef62f081333f84f79c227a66c884071b3a5c45de1015ff848f4de34d7cb2551e3c58b4bbe49990b149b1111d9bf545cac8748fc1eddbb65658f80f3a855584024e0ec67d132db0e84635a84cd27a6e8939f81162dfabb6aa58d816ca2ffe12ea05659a6313cf0d80ead75f3e68fa5e03fd3f95eab0f1ecda5dd11fb73ca9a7752d376ac583ade0286f26bc4cfbfd9cf1b9cbd1b48b527edb5b30b0f7a2f742a092c9409e56a99d5a1c09f035ec8ae546414c7b0ac8fb148112fe2a0e224ee9c953b6f4f2407bb4d02f04022c036f621a13e7363102756f838a03428c7b5f87ae63a40f7a1da15779f8abbea25cbadce3191af76e0b7792e1f049a4c566560ef77704c4cc1e5042c235b8d4994ee9e154b1fc6053273575ee57566a9ab30650aacd85870d6362a74ef0eec8d0726458bd6a48fdec39655793a364f6fabf93355424c4b35da4c45f8931eba4b45f17a3d649097b6d38fcf853e24c9cf068fc5c77479b7fc944055630d30b919c4c71564a048549afbd7b34f11810d715365a5233627f56df495b464cd7a170ca7481936dc3af3e33a67caa6ab9d41cf41135d2ae6c567bccf23a59417b3746dc8cf5759ef438cfc136cd59b9201bdc370d321e2832975fea68b4ffd0f2a9a27dae9c72ee1ff758aba7f02bbf7c112442760e077f4814337a2040e7639d030b7bace9a217874c68825266fccc0ab71c86b6c040314ec623ba5b59fedd19cd14f637618152ca3f1638474c883769704ecadd7201e031ef0e278e15a3f26c42a7d5fdbf018b146fc3702de2a906b3de22b9403a63cb9ac142a2c4f7c9a771d4995f3afc5f6fddce8e51d15746ea8e17ce5b1603cad24155c685f70cb6485487e7dfa16b55903213587e2e8687bdab1f3d01be89b96073c56e40e6628b8e45783830b0ef063540c1845483c5a6a3fbd7146c5be91a1c077e99c8589d449a6cbdbdb7e34c7614a29649e5038ddf7f75a2e6dbb913c89de9e76202103cc75221cc122317caf97c9d1653e80cb136a5336efa33e8cb7415bd5a290e7eb8ce10364a03393f8288890c71244bbb79c86254d6071f0a30f5a09637f7641a302184d510358c2ce4a2e68e80562d41a4547a3bb06ba8d8a383ad0a836d935f52a6d06737913bd26fd22d6bff1711540c84d51601b554c456852db447024cb3f9db5e2b96cb6ff5dcaf7ef7d76888b69b7485ead68b48cb9c32a5077b319972d88b0724c609253880abc603113cbc6d93448c2b034b8662c75a6f20b651902ca2eb34e76ab612adafd2dd092617f211e8bafa1f8c51b815157c961798d6e84f2cfc25646cec58bde729bcc37473f0e7d1b45e0d294160ba17d2a1bd7e94ece61e9ceba186ccf685a2001444c240b34cd90490aee9892b03f57c444a796a95d9e595c2c5a747439422c78487d4fb2a35fb138c6f02904cf9da82ba23949a174521738802f47bc59ce03abe530a3b15070325022cc6a77d099b9c18439a66a6bf0b2bdc7e7c2a58dbd31da9bd5d719620e11827112b90a5d0d68307b3b1a00973d7ef86422f33d9911f4ac87a9cee0bc1162d669963650dba7d0b28c9cc4ea2f006cd9fc1bddce36901bcab4ae5f6e9c7b9e36b398372d0faeb285501e356ab8fa79e63faeb800fb2990240c7460b623f8f875dde190acd71a0ba9c5891a98e2e1648d940dd649c375d6539b5941c14eba431262e24761f0e27dfde0452d0368724ba0403cb4c0b8c51c388615f381b3c8a064ec06a868798235e03ab56387a07e5c5f451248d6640a9e2f1bb862e8793607ddaa72ea7c988ea40a21c9f1923028ebc7953143a79826cf905b51477c1371feada840f6e9f96988391b693a235ed7a96bf477b92d5daba6a5d1895c0ca2cd88e8525f285ae6da3ee637b9ca90d65f671b27e2269d0fee2099cec899ec034c93e47260ea9caa33a40cbae8fd9a51f3893856aefd9c6c85fa5189be40639a148dcdbac765409774fd9f839a4e764ca731b8d7b07a8e7acf510a5748ffc3af8176135ce1dad51edd724ae21fe7d9b7356aa156422572df3f7cd119d83a5715f04e76e5d9bb3d1f084544f1c89b4ab8d45cf17489d0f567c845929869846afe10e26da2a73113ef9fa22af22e0a6a22a2e13df02f65b8a2d86e089eeac051481dc0e50926140bafa5bcab409d4b4ca2c7adb5f4cd9a56b83104339912e181c49214e2b068270663cf81ac23173cb1c160c78594a527518aa9b7f844733035fc9436847082fc77a81281d26e2236f2396965d40e3f727844d1f794ac8b7c4f8a14f8987f4669f4ff408a4977f80932695f74826d6a741e0681f385e25bd9fb101661365eb0ba2b709a0343b05e598a587a2a7df97b9bd6816ea100c3807c2b75acc78b8fca7890230753680d5df65eef240e6a51ea353ad41459b3792901aa53ab150cf8f66ab08e22b0623d5dca9cfa97729db6d9185b42750967c4519543395dc5ed9172bb0257f83e5861b4555baa907805e3f98548edc94e4997931f808282d3de73e4e37de03e93b359d9f6509909c78832f34788ced4290db1d5464dd2c3d4bd4b09eda0e5b2af2840f773e1c2160eda8d5613146dee083874ad6a7d778293285967d668ebf532ecd0715b8f3903c41c82da443b816aa13ae84683f2c338105db2586387fda5ec33c75bb9173732f6cdb8991d55a4f6fb7494260d6f3db124d162c7099f6da2b51de1ee63a07e0af671b41c8652fd335d7a077d327326a4b532538c0675d6cb28715f787b1ed65cd07e1d4fe030c89f03d10c7b8bdf48df738e2c720e33f359788b1972f8aa7e242efecebae4a7153cb4b0d49492cd142c366b54eadc7abebe34dfdefc038dcc4c2b9fdebe23188afa85c485fea39429006e299cf8dfe0d06b1ecd009509f6ccb389f263211e444890751cdd944a609cd706addd2cd7d039a165a9606654ebb7b4e5a44f28d5a8eea69873a7d8f4e0abc70307c4ef75a48e6960ba7b8abfb2562c4265b6355ea3217431c943d7150cb675a5da7c3019591c5fa7e9b1bc0b691846d8013cff123e862ba819cab338af11ce0f95483dc0a2e1783059ac77ebed53933f547d7d487e0a96c7a3e4f98ce8ecb619de4e5cd712e07273f2a48e6846a7ce4314cab720c2f74996d1b6d0f0b30c815632a947166cbca46d532a9fb7fb92e9edee47e961f920419711bf7283d5ea551600068c618ac571db31a213e83feac8d13bea560119e8e98379c2120c81f36d7155c6a5cfaa7d46309959ea9d1bbb91f49435332e185c908537ebbf2d64a8e2b1006edc55378211ec3c5e4e29da6cc7e7012f9d5cd018640a0284170e22ca44d2dbcab20e6d869d48e49a904aee66ea703ad5fb6ec5eb4d066e21ef91c559831ac30f2da8753fb5346c291b85b2e5517da3e26629b131eedaee25d2dc1fedd14756fc8e1993fb5ed7a23846d11efe77f7eb88696507a6dc9d5f88d1d1105d01c0e619eb1c9ebe40653dd1020ea9964aeedd6c7f99d7d4e49fbe9216bb06b15afa85ca7bced75910ac9e9f5077abc91ed5c4b15ef22c047d5a68f72fb87c4f148732e0bb498a99fb31a902aa8151afa1372079393a4026812e2ee3bb7a5aa713004cca3fe96c8f5ade94374d01fbb092cf42534c36b3b3756d18450c7eddbff7cd6b19098d24d31f8a2a9513de835222a640ba7ce2e94427250912b468be6c6c1a74af1e54b6429a75e343389715d928ef7a1ec100bd24e077b8e2c8437f6971fcb083de45d3d5a2ed4fa0ff0025881499ccda293f950b035725ff3f5e9a82e9144e88173a6f85b271c805db86ea1766d12fdba83b2dc64e4f6041c84f767372c991c7fde3029ca984cc1f0e5ce2eb390e9ddcf395015b4ad2333021a8689c71d5717b72f5d17284eb53800e2e0c74df7c3089234b7463e97b2360b28c30c5dfc5821ba1416a6c3a3af68cbb96b3e481f8cfca08eac50da1a59eb10cace408dad98b4dc0bdf8031903159ce9f10ef191fb1e7cd41e9098d47b373efe890694236be850dc16568ee3e1680b41d9f847bd21382a5bf92d3f393014f9679fd15d5c1f36606e73c6a1c53f758e3f2e0ea41c113b168187d534177999afcc82542bc6503b8f16f17f91a2b61f9e65f1ec7c277cb3038eef972978da833af58ad2e723185f66174e9db3a8adce42d72c4ad41fee7ecf6cb593edd401cc2a5543dea1a2e45121b309eea69673089fb5936605a53c5666eeab18cf1b87f68d13a77ec3f486f2f1048590738794a8163646bd880d5a0a412d715ced0d7e4ea55799dd665bc7ac9e01f5f81a056c0aec9d9a44dc669c595343f8325cdc848b2e90f123ff6a0ef05305b279713116e81a3a9b66c6e6dcd48a97e2cc7d7d9672ea33339d342703b98ccf6fd6ffc84dfd45a46d31d6272fda0591ed47c04cab8716460f9e204f18e5400d12d26381164dfab5ae8b1a5bdf7a1054ce69d2044824e486f5fefb372c5a309e271060b60a7d85284af235acbaf204eb0eb9208e5dd551077fb5afd5f3dc0000c48164b5a27df74609e9c4cdd210d5bb6193a3932c64383213f6c21bd6bbeb45382390365cfe682156e1bb61144255e6af60871af77b251b57c98aeb2bac20349616b467a21b045d4dfbb649dd9a2c51f2d571f69c2c116e0b6502b01daa86b133de02abbaa8b1c70ac46c8920c7b435eb101354be01a37039bb86893610743c41f54b6c5c1a0cd48530e20908c49242af60edb0ba650bb351d71b2d0bf442f4f96ea0bb392847ddda7d8403191d2c2671ecdb0068760a8c5ab0c90a6c374ded1e1ce239de47cacd33c55b3aef0ed0339cc2a829f49497584947a9e0ddbfd4ad95448d3d07744ca685f50930e05a1709fa6e94a70b85fe60bfc9ae9a9846513e597b2fb0681642cc46a8b85d7457659fe27d55887f4fda41766eb9b64975a9ad12ecb2bf226ff352b49788fd17f39ffb75dedda3bbb4930662fffa02ca40eb795879c7ad49d520683f5c6ad0d96748a968580f157a40570434ee90d324f7db89dde0d2815ba53820c87537c190567ba34944232ad2c71700255cbc2020828d6bc9640eff83f88e68fc6a3d0836e0cd793fc4504f768f6427016c27d57a88a96b5b00b8405aabef9555b55e39b1507fbfeb58f2ac4cfb43696c1a3f643b05f87827a34633ff0a967cdc34643356cb9c01e7c539853665684c5e4f76d730d73c30803c4238e28df797074c1b4ed90cdb31134ac0fa63a4934bba8d8554e935c76cd04fdbed6340d40bfb7249abfe8bcf38a6a3d534fbc06b53dfede20d163d8717a4f9551ffc876184d31dc65e02762ebe4620082df38822e8ab632796e972aabf9a0789e55a3b78b915d4cb102dcc44b0a1554a34500dc57c5146d15b0ba3c977e7f470fc8285adfdec840d050be922537d1298ebfadd1b1843c9e391daf0aed6bd8a7a03f76f8983e08f2b03649cd1285f509647b775e812058354f34abeb0b399401fb26432ebb902dc4d72e20aca90fc4ce055ec2ddaff4b882c680ee506eaea41ebdebc3e681d42b7c010a7080947f8c1d7d3f212fec3720a5570eb4ded22bd75076930d9e95b8cc432cc97c3033f20cdf2b4b75b24e2e7730a38498f8da16238e922712e8656116e13932fbf56d5c3f62a8cdfd0de47d8fd38acfd44c635eb36e3608893b783b42dca898b314f4a98b328505096ffb72a14213d6c565c1c1f38008806293b769fcab6976e84021b1f22e2d89bf6d85fdb1c39bc70d409779f3a84e0742b79bfb12d4e0bb17b7e91330abdeb602ece3b8d8df82ac7a5b14ec931a83ab11bc6ee614bf79d56d210c6028455da9edd58af05036f8492fcd220db637c2f0f69de1866c82682ea04b4e542ce349565b57842d50582c7d164af59ce68b4a3d864d34a7ba2db5acfed8b7010b3c2f329349bec5413fd9d9c71c4cb7d3cb28e0b14e25d8c2eaeecd1d64f073e052443d71dc111dbb2bef7985c144bcd67cf264262d0cfeb5cdf01c3694e371fa0e2847b1be329b87d3d43bbf4128eddc1f7e37ae29b3f9a9f686b21762063b117eed6bcd9a0eb90a63ffeac5727b908c04e14ae748b6e06af763c4010070bce9f523a54e36c65d643ad5f974619b0c3c4001c6ea6e9ea54beac10094a9cff6f52541135ed00a9e6b059ba300ad31b8f4c85acb829f2dd17011e8dbd7056928c6e34d56628bca2960e6b5a67196af011a4d25c00c0177ea2b5fa298c2c331f5fd97bbb59ec2ed4350c03ac32a664205023c89cd4d02ef0bf392a0aae3f676c824d2e43345bcfa58f31ae35f8301bda4f815cd1bd783fb8ac504a2dec310a5ef75fea7f20f538d411b503f270034182e15d0577aabca1c08e4b8821bae1c44a3a243e384db02e5768df3cd1be21fe1ee5fafce0cfbcf4538c30c5111d74b06a332276f36ee568c0a4bbae431ae13c39843b2ddc64e00f8003dd2aeeee71b925109c8a047dc2b54215f0a89bcc566c429ca1435a4d6fdeb1046fc9125619cc99e921056d81da73b2f04f9517622a939fea998a864978127c573db3233ba71fb3ad66f34bcb1a379129f3fcdd78e209fd7686d8a86281e79da45d558f671745c49ed4dc2823be75f06a0122e8671355f182752afbaff72da5e3207c311a01ddabd07141b0d5786c9cc7f622a216f9d14386547f3542881b85e15e2da05042d53a80fc8d223d5c49d19e92738d2bccf7a9f4ceae5feac03605c6c137fd6b8db2a8551419afb10ccd21e9e395f9249fce4752250a80d8f3de0d20ce21446efa774a7cf674c180752e90f1b1068cf4434f11bb1c2d1353b84a97f9bced613a0ddcf428196d14c4b3debaf5466b6a481551278b7b6dd16ded21d7e295583af149ab4d7064df165860a43f97f115e5f96c56c3f286f2b08ac2bb3ee5d404745039db43050959cf6964fd754490f176c61227d7a787b7bef9b5241b7ab4ade3a03e81773909573f5688790cbdd67ed7173e480ae2404abf1b7a7dab2cc18b20c28200e01eb788f183cd3b6000d0147fe6f38486ceee1639d1ad3ce8f36801516e1d20e66b09071f68a179383cf6031b433fbcffdb89fbb7e357e77df544d125f41b9be1144b836da03eb1c84dd672d6e87c9cb44c0e4a96cbf02aa0de70a47e7661c256b8de0b0710b67bfc7900a8b553a320c272728426fffc900738f1f2788a17a47a64a6f84bc13fd3194845526b54d26824aa5eb52d3fff0be59f6b2d7ff3e50d51b3057aa7b4a526a80545c06b76144ad0a8b8c8bf74b3f8735b78601c670ef610b6a3558b3cd5ca093de0e62688b5a0633b53210f8fe799164308aa0a5d2bae17c60a6a1b146b910c17b0c8aec12d99f0125a016d9e9d2c462153fbd117bc52d6c613c858648b04a175852d8d293235518d5cde236663200f2ea83ade64352cc3b2c3bf6659dcab890909a6ac18eaccf5c690be2cc21eff5f337bf2e141aa2597a40b5c39fc23e80216ce987f96a30c8d21efbf2a90013e5fbb0c26449cee90abb78ccfbc39681804970ec47aa15017e6871fb8839a7df86a28c821ea2673631ab437112c6b5cbfeb569cc669cf9e1805b5607cbf41310f85b848b66c4dd4660342a87c042dee59ad22247195bd6d1526c927ee2a39d639a8882d3eb29e54bbfb0c5ab8a826e385a6dc512a1e5ccc37f5437daee98b1ad5767a14733c905775416b2fa5429249a177a83b8858201d7aa8d29372e601e129fd9fc87f64b7b16b91ea5c4a1ec8f68920a691a64645c30b3a231a9ee9ec078cbf14c78cd9018b33437134a18800a99ca94984db51b297189b2542640d031e700348a68cdb6259549c7f917c61417f52e96436730f806c7aadb62b1b8021869507fbf194ec365f3a0e274bf069d0fb5742aeed73ca7455b8f5353261b6546a0835997a4e796a9a99858ae4eab1c2570164ba42586fed3f5c3877f141e7501bd98532f79c78fbef571acd2690e03ede9329ae7a0f6222528b0a45464569881f45899b3687fa98ce4416330a0a51e3b1f6935fc1ea5c1d869fc90feed04c8c2fb5d60302b8dd385ff5112fab7b0da017f0922ceea2f1632158d9ba99a3a3b7a1e2641a3220b8c2eeaf8d7ce96faed18b52ff565679f01b8874c06051144a3af687aa5d0abde1e2d13c04afc52e6cbd98729834ba3477e6c6c0998572ef07f0558f5ab832385640a8bf83b1fca002b903466947b0d8c53a97e46ef1c1c92575ec8309b89f83363417bc9833e0bde04af3889e428e5a48969ac9a632b9739fee30b510237ef23a7e9f97804f185e761f8960b06a125a40837a1929849202d6bbfffd3e958a6a2947a4b4305b9eead45b0a4718535ebccced9c78d451842f482bbafb83bc1079572254ecf5dba9f86f61d7bd607cd4e4cd5b5177f542dc887d137e5cc7892870ea05a394bcb87f45584702eb22ddcc74aa1d689d5c3a6e73823ebd17ede8a88cccd2f47688345428fef3365d3e421d423198fb081bf8526e177963cfc3a11afbf12139128207d3ce4d4ccb30a7003c6433ec4837eead4ecffb8c7697a449650b162f2926103238ef7e87e4aef14f73e4646673a350c96c05b01fce2a9d3ccdc7feecc8462b4399519b9666aa2c1103feaad1be61027e0085110a2d06a1684b9ca716362390a9411da5a3fdd279e49b26cd05ae971e7b871f6df1af38fc12ece1466d289286c6e89d646984f26ce114c0b271185f39f17a1c0ab093c9c776baaf6b9dc5e2588dbc1767eb02aebd39e756a9992f07ce25e857750757a8d20c892f892cc90d2580a41154853d6e14e053a8a908e68d3660d0b99bc784a41bb9b9cf734fa9440bdbd5ba30647950392e5f481ebe4f7d027fb75dd4fc8c259202d4edaac8d7c3836a047dba73b552339a5c198db584281d5f1ff906d8fb897472f572564eee08e6176c36c860a31f0f31f7db17ba4a95b69a3261358ba47080d4903cab880b0039a1de00404bc93f09da01441f5016d91b7b6bafa4409cc8267144dabead53d68a5b9409e214647593bea4698df8b30f44a52b72f9fad88be3e143d551a06c50511458e67473057ea0843ed8fa72896a5e73175b013d058a26de6819c51bad4410e940d681b071f297610d6421047165e2d22dd5b36e21de45b20bff8da5416deea359234e49c209e3b7e51bb02cd20ebcd17a8a0853395d8ba0bfa182bf0bfe47a264774406424b41a7d7a31796edea8f392ba312cb8b330eae1f591e6274f6d74755f1ee6c45dab71c99bdc492bff5aedcc187aeae7c3fa621897eb2730f32e701a543ecb1ce30530d5e93c0d8ce16bcddc9f7293644bfcb69d87ed9cba0f5a51cda2add48ad2c4a9242f68c5c4b48e1e0c9805e14c19ad539216149da6ffbc8b579ab8b33f6bb4cb9c687639f52333acb01ef6bdc18dd3134b8d6a878d034ea611978ab149fcd8504eda028c5a229770e4808c4930ae0d110b68247969058754b8e11ed74de0846cf3fd1367b26ca0e4243d4b7ea54cf7bbd2f30a2fb55768f3508978d9a929f811366ecb39922bf2492074ce4243d6c7c3f40c4b7cff330855c02f77ba62a8c5bcad8e7962e633d88c66bbb44c86135efa443fd1f6de6b72b0174bb1f27fe3bdd6158c2a34de73dfc2ea2828f7198cf62a8d2e591e22bed6e739d53ae867c0eb1524850e8376ace388d2ba554fb11be6aa4f2387afe3f4c5df806ae1b1becac2aa773adcc765e5f1aed47ab1ef1cf14fbb95c5595f54c2e027df13422181ed67e490f0cdfb50f38068be3fd948b61035447289bec8ad3ce44acb260b571ee89dad087a1a7b60cab1f9af2f96b0092dc748aa22b003d852027ded6398c2e8dfae2044a178acc2c7ca2b4cd2a96896360e6a21169eb0dd550395f1a4c3acfc6b4244996bc4ab62e9f6b46e125241672716c6674d2034d288a50c452b54dd4c77640bb0b9059d45bbc6672839b164f0bafc0212b179f3b951d32266d77129b29c1752ec051384efb35eea14da2170eb25679ed413f2183c26ad86bd4cc43e99a4e1141aacea3f6043bd82013c600ba04af2df32ee47aecf903d035ff604b5284443dca410ea081240f802a04f7908ce0f61766de17a7253796c3ed80b2760d8a17fd292cbf707dd3b0d73707303709566022ff08b35d0c2d31cab037248f6771793b743b2812810917bbcb90b98eaf56d8c4b1d144e41122fbaa8f7751ad97870e4187b75708cb62038b1f2a0d7ebcf618bf6068f4df1c7c57a1e2d145f804485b5b301493de3494268bd35a88690fab32306e6770a4178cc097a649e7d1a2e20b6494c774d523262ad26a9b03471bb65adcbd7d3007b247acbff44bf6a55b62a9695c8e294810eb97b73f0483a80a24a8a62459420cb951ca607c916ee2f7a4a61842b0d4a536f5f8297524cea44a9a4090cd671cd62b08a14f7ecc028a6380986fca46aa51db14e65d8b055c34271aa6d00fc8ee150d34b949104704638198af35e085af84e41b0175a43f308b8d675922d7311f840e4855bfee75812514e61a99193bbf30e0f22113cfc482e1a848904142675c47b4182d3af12aa25f24c58ba4d75641861d92cf596545798f90dd8110decea0ec82fb8303395d82dde662d49d0ed28fd389640caca87a8cd1f9a9ba0cef78a5cae568ea2797be8362e135915cb390fbd44b25ae9f996e1169714d581810c7835d1646b62cd127f164a7dc9e908c1580aac361421aa22bac62a67cca74b7709814cbb93128880e912e7126c0dd4c5631529dbb26507143b7df7992913c36233b1534b52d4f7d16158a36fcd2009296dd1d9ed48429c0b92ab89b5f487e3958e71526012ec6563859917168d8b27a0c7c75be2cd7c40b841e24a6f6fadf1d7547ef91fbb1608a1cb7d9fd57aa95a0472f76a7bf797f073c47aae6818789d5463be492ae9bacada4702389d09d6c09884dec000bf6a580d59a7ffa79969480ef7b111e7be5a1347b8d1b5701a1cdb5bb9d1e2a71b3b2c1c5ed64dba90ccc715f12703c82fb596b4f36428312525c27cedf6e605f9fa83224fd1e4db7f92686abcf056852979670e9dc83763cd5401b03d140d836506071a32b63b5060d5d13a92d3852732fc431e8a722d5adb2d2a6e9b12672c429e06a7c866f64c9fa120d298bed16ef735368a14dbdddb2a8e85549ff003db1d9d1c9e4c9013b6fba8d1099d2e3b03aaf5c13db6fbb960a1626f6006ee9c1b7980e8d7ff941711db7db90b99a0c72c5cba5b285cc831bf6fec7a9f47f4144b923e369904460e1c1dbf3b09a5529b3f15c6b9e11b10e33bfadbeebd35db3bb7a0caccf22e8dca4099f9ac378f942415593eefa77a939666995e9c13183b7036f9c40de60e71251fb999540085b9dfbfba78e4b94f55efbbf1b987598fe9140094cf3d83d4ce9f54fa47b11e7ed45e3418d40104062b0420f195f8dcaf9564728734efb9bbdc7367a97a59feeda1f5d37b4f0574bf1d4b7936b25a3458059d44bd63f5ba71ad0ff67260818524d4feeefa5ae173f6a094b996ab3a01954e284aed1cdb6fe2506ab4e50cb8f69d8bfc1540cc8a2d197af275727c52e5a13b89f150ebef441390fdf5a9517996e8a60b9ada8480d661bb7d405e2711feb8e2cbfbd4d66b46086991185526b34d87ac75580efe0e8408f1cf00cdd55258f451c7f0584ba617eeeb8e9f36334df5a0ff0656ad9523831121ea99484da34e4a619abe6bbb9cb17c5c2a21b2e96576a4c8b1ec98fc72b6a744846acb294d6e192fd4e46956cb3f150cda66f3e5e5154e4f9d9965f23f344e9b54b2786b0a2209d36cd197e531dbd6a0e23e9fff4b611c9bd6cfba67fc9ba4c6fd17abe07055f41f9ef7ecb1fca950920d9a4bc5a069339656669338569fe6b58d7eb60498379353cca353011dcb7fcc1b3b6fb66b42b9de54f7bafb6c3ea7cd9fd4bf3be1675498e4b8ec32bd16d7eccd2cf622490d7ede442b553aab293ea888923c1d1c056921a11916c53a4d3ec4a4040b81dea3fd2b454a3ddfd90f30ad990f744b97996c8aaad35ab401514162bf663dfeb79db850ba6ee8577975a8981f14f1a22c1cd52d98f7c457d9842d07f496ced3b7b4c1a55b404ce6ebbacd2ae2c30d6d216efe78b8191ff8df7e200a2a35f231de01c4224bfe0b919a424dabba3d81dfdc909058f35b33a489687a4d0d4bbf6f4bf15377c483f0f00b70a52c791052870e1d4176489f9f108273b9e8da5d899caaee9f4a34d455cf7eb018ebf6fab45c348ece3cdcf8ef370617cc26c23c3f6556a0d8f634ae10bce04898d28f2f5039c0d79b924c833f58ff47a2024744c3803319db016851043f72cf7c5caab94a19f841346b3330a88034543c24156d78fa003f27f80e68ad8e91c345e2d77624c5870f7fb1d11914306fdccb76dc476ce1f353471f8595380f24d06e459c049158d0ddab4cdc1b4897200fc5fe65c55d363097bacf0b76ad1a129de176df47f6a4a82ad06a92933d8b418da7b3748c34a2e6c78b6a5b1cef0698452ae46d94a343124f709773beef1cbfda4ad81003dfa26d5f51e77be1b4538d5dd102557f99db22c64f65666597bc4868c0e706f1b55a5edc648a9825819072260e909ad955de1c0e7338e571be959a827c9b4c4a9ddb5585c46352e47fac91299cffeea2380ad97b5c684182e57328aa7f4aeb6f32afa2d156b0ceb664680e7098a1a7c3951aae6f3979d8d537d631e75922727fe4625e854de3fb885cfc02c5f4e05fe7ccf4ffeb06bfe793ce7af84ee507568d47fd53a6c4626fe3e39d3a41d5ecfa6287fdcc6c83ec9cee412414661eab154dc33fd27f9ceeb359f93ebd0dd59cef83c4d25f15afbc47a43a1eec3047e38c751c9cb8c84c3293edca4122616711df3e6bdb535ab45d100d90b59cb6fd625fd8e621888f861821d75a79408cb472548676eb80bf40371964f89e1970ed32cdd1b71cc589fa7f229008d799b9d89fe3f532e8f77944f0f9367fa2fedfc442bbf344c0553fe36027f6fe73e7cfea0b18a5f8587cf4071d72a59a86b41cf899042bf2c5b932859889aba83000caecfaae113f45c46bf2a532ce0cbd46106bce2fd03678c57833e714fac53b0831e3ee32415b2bd860c930cafa6249da1c080aed49b236ce53fc05b3011c6a4abf978f7c2977dd583428f1a18ea33d9ac4c51d14eaa44ac3486d86dc38b38b081a42cb07ed19b306625344cd7449dc2fdeb0fb2015b0c5eea186834857c36f8389000ee23e0c72c4752ce770a37bbcd84091c497e0c0a5122a9d4aed4d6ebcb17bd402a60565c280612f5fdc31e4eab22b43a1b792bb1a0167e56b298ddf87e69bfd27d728301ab9280be593687fbf47f0c2e4c650b957c72fe46592b4f45b7ba21ca351c28528ebf208615efd8265fe694be6b640a27ecf4eba1e051a58a74fb40b69581fcee9f0af0618d70d5e32834aa249635e8a9386de8229b3740cba48792b37b80d9afddfea9572a3cbda443352101ed9813a6dc53d2b1ad364b818b10939b97872d6b184f3189607909071660222078fb04a46f34d0cd8ee845f63c61d832dc21cdde0e2ebccbb2677c6f94343c0918e009adbb5b1817fda14b861e00d8c2014d0f11c18a0e2a59b43732da24307ecd3d357515ad487c42d2cef9685696292a5800c884b8ca5a8120752067662fe6aaeaa975d66c73467d1a86a1b411c9f3ba96eff4426658120d200315241a8ce0195b2f513f8fd0947efae8be3e41c5baf3da7dc2a23d2437d2ba3ed6a9515f1d3d42db18f5f4bf5805de45eab72b0869db06232d4c420de58162b92551908c0cd98ca32af462548af6bf77bcdfdaee57e696f54574416ad93dfaa0652146879128a1a872a6f5daee3ef63be661738bd6462581467a3149b85e98c17f0c2e72382842771d435dd8ffcbcfdf0595585b22545abfee0b09f9a4038bdac293c99cfb6b29b2ea13729dba6c75ccee6baaf5d91701a7986eb52cd7a6a6c6c72cd067fed53da8a456824578f2f4fe46c81500bb9c30ca84ac239cc0a5439d153913b20f80713f666a3eb019a8dfaf790f165e8028f4adc849f24d4553fcc709f609d440e3eae43936894fa269afbbb7a6e52d254dba034046d7d1b6b5d99a336d5035948520ca8cdc6aa3c1e6237e510d1c108a9b1ecb9e1cab16a5eb897e396270790633b875aebdb51fbf9ae90d3c3df5e19fe1af640febb8de432a423a74eb6777c5703cf1557fbf11d03072e86236c565b0994874c7d55a36838cebf8b857cd2979cddcea0912ab8ef9f209ee7487e87923e501e9782960fb4edfda0adb07aad618216e01ee745046d711e63d4ddcf73016ad7218b006f3038d846f38f8a621f7b41ca25c798e34d489bceb517759a097f1b77c2376c7f2526d96645d30f6a888c6b98bc537c62a2659a44c1e25aeaf77ff9f1f9123c0b37c15edd82369c9ca4b5a989e8d1b8ea05e7c25054b7f6a9136f3131cf791709b403e46d5cb82727022f8d6116751e8c706da0872aae08edfb497f3de919fbb5f14c943a28119557b2698a378bab9267cf631bc184435bcb9df5ea73bad8846c634b1cecb0df99d7c578c09e7f755bddce75bc47648e0d77738e3ed265d5a922f101d291fd6fd0c56d314cc73c6a8def5a073ed5350ed234511fdade14e46a55a1cfc7b6890c000040ef050207f62a43e1e184afa9b5efc8fbb235beb6f2d6ed54eba357bb9796938f0f9a3a0d9a4ab9c955fbfd84e35448bb0c0113f6e002d8abd38cc03b2e58fc9ad1a920431b9c0712e772a66ff2490bd8bc098a617f21fd7b855bb9844e9c4653e023e5512a49027926c9d38f8d83cf046adbbb919e67ff39cee65053abef10e0d1b8c6dca1a1149786c8ed55e2a495a2b9bc985fb2e90c5c89b9f6b49909eff1e34339e949acdb7839bbe17400f15e3ed2649ae624977428fbaac07992f55736d47aca988480fb76e767980d984c600f22e5a50a30b522f6b93571ec0fa8619370013c12b50f9b067469c107743b895d23f07c91f9c1c301694469221f3cb51a43a30096dbe37a2e3b744210969fb61c0d8afb5115e3dee45fdec984435bcb0815d3e39e74739548c1c9b4c308c6b15f6241cca06840a805c266d1629e97ee5ca6b7e81463d7ed213aa8976032dc5eeb800835b688cee901d793c543afb1009a840fae6df5505879d131cc6afc19167e8d63b3b04953ff605e382a8c00051812938de34bdb857219c521352979fbcce5af4f3e522e1282909f9d35ba4105f4b44a37ffabb28b24f65350706b44b8805482c742fc98df2927b55b7eccfe7eb66596389082e3a789db177014e57ce970d6a606282feb69c801052bc9b85568b5e753c9e88eefd455a26cb591c42ba57e3bd7d60831006b8ae81dd0ce08bd036b3160ceeabef3957cac8c919480808398981b6124fea7f1ec8c1e1bfef56ffbe805878672013d825344f54e29884d71c6fb0b15796732ce6b03f95a00b03a1b58d3b8b46568fae7460771e6d923ec72675bd67eafe98815a69a55986dbed5c74fb7501aaae06a712a0db330cde8f1fb844c93b0b5a82cc16464d9b67e2a6ab024a317b45cf6f9ef99d6232d391c95409f7da9af448afcb1866e1af02b902dbc7829b0f1c0c12ad81c95d950e1a980612a47ecbadab2868590d7654883171cc0c82d6cfe28e8748539c79a2a06578cfb38bc9c5b09a08304b2994e967190e84321bbb4f820aeed3b7bb812ce9bc2991176ec4e8eecb4243b9e9c1c9919a3f85348ae76c2bbc0e963c6780495e9caf14f589024c289b6557619802be92d5ba9efb7c9095482a71bdb840c2efb4606a0e8aaf642455a173339438ffa6475ef6db13355a555be675627083efe6e5e5b1e5768d14c2bba8978f0849423aa612d906400f5b8d9f0340217ed619d0b7266d8c128cb30ac99e52fd5608f5975264f1317fbb968ea9edfeab9373825edad6ef50c25489927b9ad9e0d0b68f6bc63ab67c0a15240ee5a3d2783181161a8d51367554760a7d513e8ba3f52dbbc3ea6558217402d1fa969696442b964997087a28f300ad4ff2a9fae9a61c96b074f4a828306c5e8f3be4821680128491bb1ea3bbdec46a57396cecdf188469fa8b73850b9ccec864f5ab83002a3179ae1a1d87b404ef17c1f1708fb66f308cb76440e4ffccaa4849a9a4dcb168980c127a4cb20b0b3d2b957a3a1f65c617df49c1353bb1a336ec12cbef798bd777d754b5de74246c3e11317c3aad6b2a87181349d618f5cad2fa37a2398870beba44c30cb5c817818c20dc9a05453ca8c5bdf136ab9d47732d04e482dd81c7b63115024129196f200832fd564cd917307b4a2e12ed819ef544384ee4f7c2201c509c35b61098f6a0a4d602ecc414eb699de709a95102641df24a0e268d6496ee0b8fe5471be5753104a1435765c47215ed576ef99b9e633ed1a320d417021b9de39804c2ff7aa0f33c9f02bd919f368ee70e479db067802970390e459948729577034fa6a7b64622311f79f679364e3edaa2a9797937cf9ba5255dfc34d416587bcbeb7bd3872669a55c34753f225e3cecfb34cd093e0b7878ca6c97712a88404ec15c491f108f4b5019b1f42008b022ac1407fe88e6a162965602272bce118ac807934dbc7c3c384cd8c19dd3de879796b1e432c493dd46042e73df41b66b099b623a93705540289190ae0022348f89bd6e5694b066c8a3f6722f02ab49c912795562f994f23e43c517c072115006987914d806c8d95b47946f4c5dac4f4989e93e1bad09288779407ed26529e2b468c408f82cec60ef9295c4b9ff04be0156429365321af4855748a395eb06075136e5ce5855f7171f6f720affc7942a9061f84f68a977457e40365f4fa7bab31595f971c2c07692aac5fd18c98432d6a22a1aa3179a833b8d08b55654a4af4790c55984d9971ec5b45690d277ce6c54f4ee4e8fc56f8215e79058dd03f89e5568a320a33a30c8589e3669560b2cfdc1f761ddefd22161ffb17751fa8deb11702cbb37213cdd1deb49c5de782a23a25f32076bbf01288a0437bc5ec7a275bd840ff4cf55a71455d625ec32ac5de3bef9191f63a4b1ea6673c074264bb7fac5adb40beaba8736b164bde4973dbea32dad35a0898ed84166282f2098921a5776fea093765eabece796b5c249ef0741cd92bdddcb7547ac4322fde77f2548335968138adcb22f499300c1c46ac8c777b1ce5badf1e1d04a5d6bcae41b4ea99e9e30a6a8c96ab6b5532a67e9736993d3c111ad2a1aee591b3572d01f3626b14c46b881cbece6821dc6c95d91d19c3e6ca653933d325e1cf9405e871bce90493e2f383598bb627679e478331d40ee72ccd6ae01fe704c30fbc644c691d6ddb61b10aa53df9876eb9721562a0e73bcdcb749f6279deedf7950912c08dd859163541b6e0afe8111901333fa0f2d44dfc4e97aa38ed8f920966d17a7c10b8d42e84155a409a2c7c7833de240e8d66e10f8878225f4c8c45a2a0802178d3a5c5bf6638534499301af9bd4b06f2379661cdc2b98fda190642f26a913c87f288e7768e1f7f2ff2610d86a2f3bf2b01495a79bd431a896fd1013272ec36750a9b0f06fe2c54cf81c7b0f10d15de4df47ebf2c95b54e9ae10eb035d0541cc2f47ee4ca9d9c25f87224ed86016046585f5695d362f5f32cfbbb05b75fa2ba74d9ce535c76e12cb99bbfd3cb02a51eef3e24536becd06f3b1d5a7196cdc93ef2f856518472f59e25d27970ac62a75d696d38256c63235b3062d60f8801ea991215e812e22c1ced59be8bdde32c2de7ad71b0bca9e75260e6b501f9206aa2dcbf190c7c1ed6f3540369366779d27d54f3879d8c417a2f83eef8dea05844e2307916c2bdc0814b79d18d702f76a22e2ce38d5659df2e62cb0f5927d13006aea3cb74853f425addb62420d249c193f760ee516df583eabe4c376b1d0194c365e39b663a01c05a1f279d1ea4af169f1eb8888af63182d3834c0e92ac84395750c749c8df4a656c60a0ceecc621e9b9fb1614c7b82b20c287a67cd5c3d14361b3a58f05ce3c19b0f4d5429b7b6e3cd8c6bd93c4b9cff5df1a9398ee41a7cd23f7ff823263d09252f195cadcd0937dfdf10e3e02a0c5ed152195ba5ed618dae80db6b7e1cc4f278a9fd5089fdf7658aa16f4a3aec882ab6dab31ffbaf6680261c030a36ad96a9404bdb9b6b193f066ae3576ec47d08adc5ece531b158994077416bd3f8a6a1c580f42e08a97550e6994f9f4d8a70fd6044cca7bb42f40fd515f09566597b7e9b4388366fe1fe0bc555f35bd21c2829e64a96a0a5e147a7499f360b7a7f523965e9be464ad301a54cd4fdd7217986d4d98595802f129e74323d7b7da73616d609967950b4e9d979f9f5e4ceef31a9d417d4f58bceb2f0d160f35f348417bb984c879de402d51e7e59802d502fb7127607cead88420488448f79ffe8f610c5ba0cfd114ec996907e187908764a4ca907d598a2d67e97b5282f47b7d211dbac73c8085bb25b2304c7785a16fde8ae0b4daf46b8f5d4d2ad015d4b408831ae7c40007972f6753be6e129b068384f3cb5eb410d7ba87d36c364f2baa01673094ae57847437c85a8aa04f1ab65ffb158309ffd501eed4468b8485ff6efd0b23c33d32c37f1dbb219236788680638f3b2b5f6160efba5c92e393d987f2dae5213218e3b60b1b8a5b687ce2d2496445c56a48437efeaca4c89611337379734eea7907c56156e6cbe92cba414b5c6928d35fdd301db5e37757375c233ab04b376b4b744ffee64b13256db072b1246f0b4c45fb4246fe96145255aaa66d27007b2f8a1eb80faaa177625e4ba2805bd58ba0d6cf4fbec0cc5ce82023a0008aec7e89567ca87ca8000c4cb11f10c3de02d8fe5ef638f1de37f7573dd7c23b630e25304af25f69794f6f8f2fe40bba8c0317ab28e46550f0cdf7a1be5c36dffcf86302ddc36b42340c11472ff56b5b28c2ab441294cdfaf498958be0c9cbcdb2fcbd68d14e8340d402b8b42a1ad19aac30b363c51ed0975c4fe579d113f8e20e60e93a963291bfa033f716304fc6cac1624e25e6f6669dcb797ecc57b8113edd30b8df873458eec08752325c88a626f3d8c78d837b241f4d3c648eac7a6622078c99255c30a6cd451c668534c05a59ea233fb12a7c704029ade53d0d321b7b60a13e9c5bec261e7344fea862b84768d4fbbd6ffb32a0bd6a1241934580a5b0868fc4a489e4de8ea02af43fdb42c4d13a3ed7c4331b07916830d60fdb550256699c717b260ac215249f1782bc0a458714fa151d9acf6892aee759167c2796b2dcb9409674dffe25e5f3954ccfdb30d56cdbcd86bee916abbd298e34b790e8b07bbbe72b7b93454ddd33a2042c5b71eb18c9f80bf83c36b25532fc48ab138692f12935d0fee5ee190dbf5775806bbd5c125568f3e232ec9dc9cf40854bf07bc10202f937969c08752d6ea2855dc15d9e04787a97e1f5b4cb57c5544045ca23f83d5a7daefa6d1743b6d239214b82711e055f639936b7d2bc94ff2151150dcf34b131856ff5282fbcf0565167b0877dde151f4cb44c65481227a7f0fc039f09aeb46a9fdc78b949f990d180dbb5a23ed07895fb48bd5599f3704fb60dfb8c13fc93a3f3b8ab178efb07953562ad0d58c2c6ddded65dcc39f329e1c4638e28501f381e132d136e7ca61ef0e54d48b195bc72cba9d24a894580584a53c458fd276fba36c2fc6dcb0d60447627db23d0635e9a6904f260c6a4952f8159298d6a95987068cac7658ce32455c2bc76b0ed489b50283a76f76b0def92e5a6d74b572a4b2bb45a0b2db5669e00473bb9dbb078d096c44a546ac6be8c521222d87da30a9f6005ec1483c1a2bdd93bb49642b114753b7c77e2def8d2e53e29bb9dd86e895a2e325ef1f7a47481eba8102586863fd771c67926d3c30c9a207341e6cdc4e102cb131157e9231e047b6d968e89dcd27f0bdc9bfe22f6dd08d170c421d386f243137f0e12f480bade251f4de43f9f3c482b5969965ee6f27564e0d03080ad483171320f50181b674a2828782e341da2d576d95c5a789e10d1fc13eba07be72424b3249017de4e9a238fe030350e48a8de8581c060c9ca8d477a67382140cd4038d818b53246a1d35e5071d52630ef350e81ae5cc9a31c0ed8ad4bac66b7517ec2b159f8f23692795daa65887c78a13219180c3095dc78320308ef10e5f304c141a16dae9f117db610d5233c97b45a507be1e8d9841a98d0d8180189c2f6e37e34c9a21a55d985863e6511064816b5c60707869f81199124f92eb4720b8cfee98034a5b7fd8b9f1ee2d2cbf4a0eff5dd1968cadec11cbf9fbc5abd95094a0db9b5160cf679798609fd9b379ba1a17b3d8eea4a43163f006fd3f46875528bbee62b654d202dd081ee7e238c52a89614216b47094917a80b2a7fcad08984b1b56eb5c7d503263da60dc696c2e70c2f9c8d0bfcd865d683c226fd76390588f3546dc3ab603541b4a09e349492c4b33eea20a018517e6ad2a92980910dbcc4fe64dd6821d1a0d18a57c860b6018724140c9f94358231c175194b8bd874d7484b51eba5a3bfe41df292b385b4428b09a63995e4769ead9fd2c86c63725c761c7e838ed937949908d16f8af453244cc9a8bfedf14b778eaa8517a4752071458164a8d226f2c3b8a2d21bcca7c6f2a69ba521ea61e893ff946f2c737f906a4daa99474a354a290aa40fcb592b2b9f353c29be222e7db3f9d288dfea4e2937b12732abd33fe71794b3e07d8e2628c88a350fe1f22084b8624c30b7826068a7476faa45503e6b70b1942ada3d2019f8696a0100a34038e34efd719d9784173041b479cd605d1da82e51133be960521b1569d7b597ffe0f7c091ba124700ef1b590282b1a1b544e0bd1021c78dbe7f4bc4bde7eabe31c2ffa29fe12ab3a19d3aa8f04574883d665a4fc7a9fbcf7dc62b2b22948657b84bfe0a38e96fdd87618528388f48e241b95ba50fe3d87b103dd568010ed0b41a494fc2e46ee98c2ce993cc17bbc5693e6021286617d14faa2b21959047db51a2bf0d74ce344e441e5cca16c25df1e3ded1bdae2280d1b06e35b0ba0cf22a5197a656e7a900b1024e34f840d334874b2ba19616ea1a21003f5ba695fa78762dadb23fedad90fa704faacf3fc269500b3bf2ace51c1b0247e373f4fcddcaf95cab8d5176a43acbadb11549932a3ddb14ad4eb5ca4e77771b89172d9f4e034b52a7bd21454ae9aa40cda4a41da4e99f57b92ee4fc564ca65c168733df514ad308bbfbb19bfe31091f41e52915fe68c969060adb1e9ed1f6c18a14a3479d73ca54a53268f55cf67654b7f59b752cf6f70acdc80c3b831e5bd356fe5e0916174524b9edefa8a3b5f55bed4605054b4edf774b48e0672301d5161db127d0388ebbd551b3ec14a8a12ebd14e533af407166090a2aa2d93b93a6700682b5a80133407d3b10cf321f2a8ac60495c68d293f836bb1d0bcf86972f2b276e1dd3fb3fcfa3bd56a6e3c81533b9d6fec91f8b98c71b24cfa3d3a6c789555e6a3ef5db98fa12e74e393be5c2247078d391ee345e059191544456f8570d933789eb45403447b21948afd5d7c5352659b1ac4c2a7bbbd3b2d856b88e5502833bc449f1b8b6bd96b9705103a32dac92ab8fa5f5cf16e534a34b3460660c28210b677586e6a5801b58eb89b71d877550b11cadd15221b6861c46cf5b25d8248cb1fceb1239864d833b67ca3b5f6b0acd1b9c63d2985ac5ac5538797095f77381fba0f2d16e660ed723944ef29edba39ff337d8adf0b5ab9538770db0e50feeab83b1e8f55da5f708e5324b967b84ca51ee89c0a04cf53e2b0ca4050c2193ac63dc4117397b3d05e86def63cd537eaf694788d23f98f305a8cae5614e879a0ff99d193d605973a66564bd966ac314074909c121352df2d0abb5d773ccb8e46a3a26342574f7b5bf0b8dd117a8c08603169b57ad4c3fe1989aa7af480b8b5dc6d6e253282094f54338910588af462871532b8c057ff2b75378f0268665cd1edfe8b12d23df9d7b2ba84275ecbb07f3c3dc78c3adcede07affcece61755b99be6a992db4aea573005eb374ba43fc29ad7bfdd8d72d51a0135f903ae8605ab805ce6aa471928027a0ca5ec36d752aec3fef3b8125b9ed9bd99c9af48cbcc891036e8d8f391de5c7ad624968a2dd5441aae539f81e96fab98983e33857addcfdb6c419c88b4ca169cea612ccbeb97a01d34a079603ad67905e5a85d3203129c6f02515a145261771f890aab18800bbfd9e81f501651ffbb505b32e8372f405b9c5be20ba2efe6307f55ecb801989c85d1b83a8465d7c5197ceb6822eb9905971201b79bba4248f796179c62cc8766af040b82b49fd681acaccd5c48faccb6b71200f962195d941fd6b2cbfa93bc2aadeaaec56eb27019e357cffce0b7722546f8d5a96ea92ecd1d932829164c120016198402eaeb331d87d89ae1b0c3deff05a10bb97665e2b36ac57f44a5f6128f54a7243056134ab332d6b556d6c1c9582db08d88f365b3450389306f9b66a019742bea9eda8527b5a4d85a3352ad58f5433d7d8d5d8f464762c746830f1a55311905bd3deda892bb4427443250795fd0a4e4a7185ccd05bd66a9fc9a860770196a0ca58fcd8cd5240e376d3365833734fea36549afe78d41a3caed0f255c4c54911419428b4752be5dec8aebafade6766f29fd32e92647561ae14563b5cb8957e9257db858c856ec0862b43e753233a0aba20471aa7deac00000af41103fa4ea2775c3050ba9a0e86b7e0d6ec22007311d56774ef9f87f5d6ef7bbed0b17a837fa293a8d789ea37f9e6896ba3e17f30c468fef0551008720b0f80c1148b52b6a2000c7980fa2d6383ae4034dceb553ae1100abdb4b6f7de5b4a29654a52062707a4070d07514a296577777777dfd8c1750306ee47fdfdf9dde7e29ca1c779f30b53d99b9ff7a8fbdebcdf7b9feabb41027fb3bc4b04670af015c3ca5105eefe3e900770f30729cfc78ffa197960f08c9ff3be2cb0f7b859a870e65fa1fe7ccec6151cf3ed4eb6c783fe8c9dc2ebd1bee609cc6a9dabc9e8a739c1d5fc985727489977f4f6691fede66751a847a1c0d0855446bd8a437dcf05467da842753f7f461eeee7a3defb82cc473d37f14f0f7be0aa87f7f715e08132a00ba98cbd3ffd457ddee9939ef69c16a59479da6f353f854cbfd5047da090db3b417efcf98056fd0481703be0cfd3b1dcae9082082ad9831ca518028b4627cd121cc45fbee66090fb41ee572f7401867c9f87bf962718de19647efd39bfcb6386ec1e905ad6be1681c3c874ffef73dc0cfef067664eff28e0b0f1d1ff80de914742203a40eb4424294e5896204b982fb7eff2e9f4b3756098f9f4f1f4d140c2a78f60ec717afc323fbf15eae7c7ecdf0a059e903919a7c473ae8041213e660c0a070afc66c56d092cbd1e18447df7adf0cb8cbb15de98c01df8cdf2f73e7c15fce7c7ee53d24fb859bd03f6c0d8dafcaa1441869dfda83da7c55c8bc0dab79a3fbfe8c96b657b3d123066cc98150f39419c6a9cfe99fb2f3d457143c40d113696b821c286959b1f6e7e90c59d7ae438b1c823801bd9df22451eb9f402a51564af49586497ddfdd3acaec2faf7675df6a75940564ab3dc125958b3e667855afbb0dfbe9ad541faad509d35ab87ac7dd921594228b3fcfa45ccf1975ff5b0171cda22597e58bfc8525a27ac611593fdbdc79422f44bb04a11fabfc4b20891632c4b941cff6ab9e6f89c8d25b0ecc82b8f90a3ecc74bb6ae6659a0d669d002c912ac142982c39ae56f81e8675d49b8befd1d6d61526409317b0843eeb4eeb27daeda9fb6aed6b1428d6367b62edf992d7f0be416f6caeedfee36acd8a3eccf81ca432db24872dad8ac591ea659b5494ceb3498c2324ef0fc10d7599d35b5ce170e6379ccc81ec59ae5fe1c151cda983d6a9dd8b6e438f28572d8e5d0c68e80883a168ac8921275ac5164f9093837686331c75f08871616da58f6b730189e59c5e4432a6f29470fa8a39e701188ccc8d28a7e346ac228c78f2768d9662946ee60e8eeee734e9feeeed188a6092c7fc60bbb922f511fee33d505cb771c4a4939fe0d397dfaf4507aa96d9fe0620b387239c24aeb442e477c895c8cf8c9eebf5ac0fcfa2bed297dfbf45998457e68e00ff917f4f129f2828f16762cc5a41ff62feac7f5fece565afdeadb6741fe0567b82f1f943fc34a03519f83b328d067db409f07e367af185c2dc0da19506f9f85fbdb6fe00cdedf8fad304703b8df5e437d2b0dbcdfe9edd7fdcc1769b52c9ae14a813e12f62a82b9663eba74fae8eceb0fe50b5ce12fd2a281812b0cfaf8a979d51769d1f8d8ea3e9445332fdfa7ca8ffba8f7a9f2c3fe7dfbd167401ff903f51ee82393c0998f8f8cd1251bb349577adf7d74f6d56f857fae30c8c2fc5eb1b0a405953061c05cae56f7335fe5c7e9ebd7faddffa8dfb9b2bf0cf8a3fe0ce8d32e6fd8a5f5c376d517cc5d4bb3a599eaa3f1d57c3476a967377457eafb7daafca87f7a9f2a3f663c50025a333fba4f813ea9ef7e9cbe037d5260c71cc7bba806d99ae918eabb0805ae64be488b36c5b2bf07ae64401f3f971669d159171c5b2b1664abbe6cd547fde9ab78a04f95d502bc47fd0fef51a04f15ed7d8a7e787f027dfc057a1148977cc95f3774d80c17fced2db86281fb0d64a13639f1224a942397abe53e40ddba4fc4fe06ae7ed4dfbefe06ae400003c7966349b204172e5f5cae198858d055bf822b1ff63d0aae38c0b267eea3314a692cbb8769165dd240f76fdaa22bdee438fe3ec85713a9958689ebba2770a852e51e6aa6fe54fd3734b9655e3866b975e46e8f334ce5868dd1f6951d841760ebaa5d441d1dcd628a3c3307ca5e0298ecb5694947ebb8529710755c8bc892607851701c77208ee39f5d8ba863426479ac227b163367f79c3b678a82cf9ea003c51c9b3967aa45f37da975e6ecd9b1260bbcc3779cc9673f5aab866f55915fa53fc4f24a79655f29a5fc56734e29bfe95f628eff0b628e7f7f5e965fe41213419e4cde99be731173dc5be062bcd7c0c6652083efd26cd6ed7ca92ed5a2b9e44b5f9c69be2694de991103031413e342b3a54f1322529cf6d55e50cd12d6f14e478055aac8638098e3ef6f137778248e7f1539fc439cec318a1e1d31c753f23e01e453c701fc77f80ccc65342c658f605aba0db2e3c0a914701188ccf5c23223015013d776b755dd6b1da7be0c31a7d6a8546b8de9a0566490410619649021f2340f4b68c8f13920c3c539982ce038fdaad91190a823eeb01ca7ffc6e25104ba1828e6105d20e2d0ef3e0bf88eec1623531ba6c70367fb128803251050173b64cf1e8f9825d326ee0a9d27b823e6d0224fa0508f76504a65d17dc93194f0cf0ed62229eaa14b526940626958f273916c014232e59db850381945cc2c87d14b649a85512287d215450e25102a8732684c1201ae06e2be7e8de9a0ab9f96b72f3a0ef7dd36739ca62ef08d39f4af441cfa3a6412c7e1689daee33cca69b3a9df7416dcc9d983e138af876e4ebd7617dbd8d4193ac363e401db55a329c759d859469e0c02c998255367f9db6c26cb1add0bd39f5ecfd51171fc63b7afffdf0942c9eeb708ad0778f21ccdf58b79e6ed0bfefeee7b0343177284a9d2db40c9d42cff49060e1d460126d8bd49302991fdb5b42b0a272413f7ce4926ee25937f6c9ab980b2c7a632ce135d6a56ded14acda281a2c48009fac8d6cb2c5f2f4bf824d3d32033b51461035b29e6f8d3af29d57ed85ffd984da535bf486b7a2c5870759be5f4f35c3f9935242c9b54b2c871a4659af8b14a85553366dd871c388c891912e805040f354124a172c9342b62861064d824b5d2951cf6527fc9b2991a8ccc871da69b5c4052c4e4d05fa91cbad0cc873e14ba14a2a221acc8a11ba53e74775772a62539740f53f3a137b9181a1fce9ff99a4359e470c2b29c52547252b1f9705af179454684946c63f32aafc746f534bc1e150d3099c6d7783d348e72cdd3783d353443bc32cda7bc1e1a99533fc3eb498d906768c9337ec6eb9931f3325ecf0c8e2c23932294651e7b3d322364fc28af072720a33e62b1e9b2f7b3754ac89e103f5930952e7303c8e14de61e081b648e0bc285c4cfe8b2a60191830c9665cb3af600f61a65fb788c1f5caa9414600e534399faa0451414a8dca5c8fef78bec8fa38420fb472ad963d946cea8a252c9a040c9e2261ee5f006c71679fefc4b449e8f7b88224f2848382408f08406013ca192e7bb0c9318050f3bb0643c3c91e7770846c8616ae804352fc873aaa0a0c1c517638cb10d264738d448a97a427073996001c5665e1d9074e8b2c24cc070a2faa961c3121a4149365768a8498d1222955015206894685c212e3da452aa234647906a84ba0862c6bc4bba2cf1429304ca4c4aa564a6a42985a73c9149029b010510d888d24c93162841bd62324dc0587242e2c24e3eb0c49bb7862314131d52f8691a22e87593d8987861f2a57352857643d10d5738ec040cecdac064c36c0beac1ce8b048986a7fc5053b001e84e114453c801c85ac1c3bdf702250129612f7048a186976c87a625292c01bae18543510a385c19e2c1094ed29442900bb360d0449d582f5b6bad0de34be34430617a8421e627a8070e84e68a0c222c46a860444cd82023fa6109a77294112559825539caa6d8e009a661c19113ba05955cdf6d9c98b2846c0aac89db2d6534ad904cc9a189882624b8e62823a206b221a31c4b5cc4116a434800649e7612445f227a95ec4ae01a39764f4e3e716169981f65d990518ccebc0bedd9b0d691d23ace244725f02ac7ef9823143724cd80e5383fc7787ff992592c091bf6d967cf25d9a93f375f31c7411f7259ddbd1e9b42c5545070553f663a553764602772d818302d7669e0babb9e317a8cfe317e43a27b8cd6d64faa208feaf4e67d8ea3b5d6ea33ec2210ee9aa3a7c208b9af77769e108d84c499cb956198c9f7dd61e8f2fd17f237444802320c75887d186a0f09e4167223f7db4f4802b28c3954881c931b8c3104fa3bba4a204c3f52fc84e3228d94bebbfdfec0dee1f70b6d97c3daf5d6db1674a1e3e817d23cbf9fcab0f36c7fceddddbdbdc13a8547d1039422284940c9f1dbd71a378edbb66de3368efb217077e74b7b6bbdf7adfddaf9825380be656fc0298ca371da8d72d8233f3f249895e07544db7b6f6ad2cfa16347ac677ab159fd26a0300577385840be8f2c8ae301ff9f6484e36677f77455b32a9d31c6d8344d74ca0658be8c31c678573c6e05b2e6c3cddc95b6bb6bf7ec6e3a3337e7eceeee3b5b9b52e29bb3162609ee6a1bb0b7d2483de0bea3451c990c681bd8a8a8a44a09d2119ec951f672621506a37294bd8e583981657294bd9ee880b51c65af255ff096a3ec65430ccf1c652f232b2db0cd51a6448c2a07895fa6040cbe1489cb495e7c3b9ca4a487790f9069084c44a02ebe1de6bc9efae5b0bb398c91e747589ebf71895c6a7278932919994291290e58724092e96baf9a4e188d1103242fc05431ea0208cecba2e2006b25c9cc449e932b41500e2c2af34ab245a64fbfd29f73ba40d4031543505132c5162a8517259873ced925875d2ad38f310c21d38f1f00ca22d3c73754c9f45546329521c92253599228324a7078b164fa2c22376841183058fc20032a348a2f7890a1df615608bd335b32eff0813c65715552a5a4a4882b3170895143510d63827a183124b32149508f22965454e62c0b192b1ff04d8e485aa0a0e0ca145a4e30450b0c5653b490f18fb73011025945438d136144453d8aae6c99d24422e16a9c08d40389d70a86677244da82e5cb1109492987254151a6df75c1b38aa8e34d4e4664d10f67974c7f2611775ea03fa1c834d29fafc823804c25cc77887c477bfab3c8c9882534b58e8ef882efa82a1867a06f3a2ab8431a6928348b7e8decdf556da0fc6a64fba16a64edfb91ad3800fa9d2400fddb24d09f2f4ce9731187bef6cd8838f4edb7aac9fe0d91798b39f4af1481dee49baca359f4bd26383635f90e10a7afcf02af97500c090a95d750d1155b67aec8e4627e825e689d398b3c723e7d207705389c2fea33d39f43b1b8a54876e428d319fd29348d3295f46fa53a60689db945a62e34f46a167dce081cce571e6a9dd8da8a3a25be6811c1cb62c2e18ddc12a449180ca3d10c399401618ebc711deda0666d4a91c74beb54b08338990577ff2a55d8d9b6bf95db5b245c5f82947bfb0d91a76fc86ca521d2fb4229266f7fe97348cddabe06b13d056552b3b6e74079d4acedb51be4914f30bc58b5bd9d62fbdeb6efa0d6893223c2e4ed5ba875ee6fdf43ada3fd567ffb86b58efdedf1bdbe79c4b181413a0674749405e93ea7c9c88f3bbac7b8b202b877904609b632a3de7e1e0a3cbdfdba8f275022d92e26b5aa58990f5c884932d6fa37e9177ac0717d5cebadf6da7b39eaf5f0a76f34e6953dc8d1a8c94b96de0af3ef533036ebfebd5ae03047be6fa9c057e3e4ec3e79b6545ae7044a2fcf492d18f5b3679cd9deb75bf029944a287082d1fdd35e7e43a4f70d99f3231a2273f7851229dfe734092588fb0e4a981c6ad6fd2b06be2f956e3bc62a55db29702895f2fd2bffbeec08a37caffdfb120c8e0b06694f882e53e3b68b023ffa9c7e32e648a5a2a1e641a7f61059fda143014a1a6a1d597b883a33b2fa1b0aed4f42b626a78c3a31b266d3d788e890bf5a6706f9c443957eec4a11116ca8c272d72bb96b52854d3a9d4e07e715edbb4d279e1fce214a69a5b0d93bd15f2d5f4a29a594524a29e590bbd376faa1135d0bb3d656905607bab982fde537bdf44e4d729c7eaad43af5db15d4547f666298c22c51304a5f8092e67f5102b31486898a99e539e7fcd0baf204fde554e90a4da6354aad4323f75f2e9846a66084d9beb111061099114631a09850126062f368264d1d7356578c94521a639c5187524a638cf7d278e71502e306cb0d96d9cd0f36c0b031b361c5c612373fdc10c11540f6d3cf08fd6b2dfd48bf9b82f4ed3741fad53afde9d7516eb0dcdc9f2a43eaf643e83b502c818bc193e40655f99bc9fbd3ab5ae7f4fe37a73e5dc1dd49d79f9b5fcdf4bbe7a6d7d3794767debed82ccd87eecbf3eda71d189b1573e7ee0b4a2242e837e48edb372484882b5f708a756b4fb4694de23c98518122c3c19015a7760b8ed3ba2588b4993c6b324d9e91e7dfe0e1c6d0369d72b6cedbcd6ed326e79ed7cd13916a8876970c2638257f9926a2db23c7b9d6638e13ff460f1667eaeeb10e5d6f3abd9bf4272d8af5e72422727755cd0dc23a94e3f41b4fb0fce9eeeeeef82465c905130738e650fb0295213b38a14c2794be266ce330750286d29793396d80e2048c1325eee074e25f73028e8bb1272c1bddb4ea268b389ba959ae4ded28e6f4c79ad54634d55e6dbb288ff951941db4dc51499c7e5b43ee389104b5598f36bb30f056e8ec1367d6f8506340379868afd6999a50ef7446b31a9bd5d8acc666355663b68b7db87a53eec6615a6f7ec048e476a2e847c49d5ae421c8ad52d5a2acda69302a6dd62a95369b35930e3694b0532a4e9402f95a186df604cfd827a86e30b9f901cb68b3500b93eb51ee1af31a8b692fed3573ebac634be6acc6ba58b36e30c1f2436d4690e3e818637477f7bf11c3cc39e7c9dd9b418783739f3a3ee79cda9c0aa831c6486bf57afcdd7a48bd5a779f93ce39e7f45045e98c2038e7bc5da4dbf4393b35854c8181b160f926cc397d26065cfc70c638eb9cb5a37d4a63f569515c7b4ea97777b77783dedeedb3fb646842b3e2e37ce054bb9bab66774f1d5408e66fca98239f8b5e371558bebb80e37fc54376b7871d08e3099efd573c3a3b0824e6f47b90c12cf30c1db0fc064d6816aae3c165a3da27f5a4d7495ed8c86879d269ddba5194abb91b699b94524ab9715ced3cea9d508ec2600424ad74562c339b9c8cf4e294810c6ad6b65162f62623ada82fda1b2c9af7c5ad5fe450cb7de438dd4960baef0307f4910a5b506a1e0f023452c718039ba3a3a388d3bda5bd50b9006ba1d45778a77bea5015cb509999193e23c5b41477da03087cb2fbc8552a8c1df4d944a60d2b70d8d11cc59c2f80802e450e6316d83b61669aeae208854f5ec7a12a589dc6971e83a80b2678db82072c5440445b284dcd98916941c7224f7d37a22203db20def622b7cb05cf852a0b5c45cc02456e56bb7ce72e2ddd7ee5ee212d38ecb2bb5af6202919d2884c22997420e6e8f01dc9247530317d5dbb5d460604127332fdbc29d32e84de892d09257317e599d03afe5cf3c06600fa35420ff1c04239aba1f12e8fe415df69c16591efe0f7577d6fefaff21dedfdbd3b7dea432efb6bb1049614e13fa9e43894d680342e4c9f254bb85284febe9d4356e7e83b4b3320c7d50f00f5fb803ec121c691b7efa74a7d232fe0e7384ef6a4f8abe1e9c7452d6aa7b048ae1ec840c161573fd00a1c769f0da0cfd1773a1073c3c6096043fe72206f9726c134abbb0b2f624e7f0744e0f0da402232c2a2b2d2548070d8715dfd6e683051bf55cd0ef5ab81eaea6753040ebbfaa9a8151a9e08ea57a37425a9c85346ea474342bfb7a47ea91b2ff59b21d4505a0a95dcef21e1b0abdf0c8dae7e321d8081a917f5435d241c7635bafa9d6a0d565dfdbc8cfa24d327c1749816d33fed21c16177d3d5afb3a27edce9eb21c7e98ec18688aed872d8d51302a0192d261842fd04612d2b08ea31a2484b174e5e57cb1826ddd1698b0e4e3822256f0bd10e1b956ecb1343dabc450c394ebc5b52100504403d20786d09f32409a69e2466483934e939c28524c4921e249a90ac389929d51422c7891749cbab4709222415e8d0530509cc5011524f5117d9cf0e4530b50a8b219aa3ac0bac7e5454624c90650913a4200c137881d4450916582647d91565c0e08ad91718e728bb62e9592a5ca1f438667294190591678eb22b6cc8e1e71863e6b002df20c136f26840e6ad831e70bfece1df20d1913c1f873c65932879ce9f98d30215a1248a5be421320f919228e6ccde40805ba959f31beca4666933bc74a46be100ada3d55729e1a4bcd3424ccaa18a829b6489438e3f5f4fc4a1bf7db24c5953a51283c3e0f814c0e288ec2f5bf056c0f99a20d39723c8fe4516bddf826b69e9030764ff0afe27014a5ddd028c87ed22d39730702e2121835a279448e48e992241bf4eba5c2a15c6fec47fcca1ff4900638cb726aa5a371ab4e4805335729465612287f881e072f849acb5d6febc647294651982cae048d010d65a6bc58852822f8ab0618c149a9484bd2204d65805184c65ec008515536248d704ae2e4cc81654a628b50a9926b22c47f22947d9110e2e4c25009811462cb6559acc27b2a3308ebce42e47d951d215da873146ff019d6a96f616f09d9f5e32018c8eacc9fd2dbc0043effc7431d9145c72bf4fefc4326229b44e9451e125f7fbf04b3599a300ad2365903b4b6e1915566a2723bb83d0ef9a25a9f634e6bcddd1db6742e3f4d59e3e888209b626812f261225840c923f8de36ae902010e259174c588a426638352815331a2444493c81211111149220beac049e8885293b1a15da50187924825a5e424dfc91147fa54ca524ae422cbff7006a052a9a44c1cd3dec043e9322232808d6b3673c4f40088008758957afbf50231ae2ab56b16135da6686a750e16401f89031044496a11b901f39132806265a84584c695d604594d82fc22add58f09fadc4c6992d422824a6acd4982f421e1a70a2257cb87c80d582b36096108593e111a854b532b479320a78c950b17dca0d4f24fe6a446aac14bae4fe304aed8cece3927d7e1c8a3fd7c0aa459f6caf78fbb5e4fe5b44fc80b9e0a5c0b3ce857f0043580e18034ab252844667750fed8a366e1100387bd14dedf3ec8eda5c8c345e4a92f04957ffbfb859fccd753a1bea65d1ef5ef0749a11864bea07ca1a83795130c67c80e76972318c803220f0820fccff9f6fbd1ace843e8109ac3a8e4e03cf9b0e520fb420859184a31a7631cc0cdcdcdcd4d8d2f2c5254a4c8e64317625291a22245f88fdce0b7cfdda8100750c3878ddfd118ffcd751c6a034c210ea0c66390060930fdd547df79fad7776e6e6e6e6e52aa23337f84e6e9ab7c8766e669f8b90618ba10936cbed0859854a4685e3cbb38718aca70515f6b04d88fdf7d2e71eb04914fe7d38f45728a7e208881b7976372781f850dbca010edc30b4eb144aaccafd22b1e33d75a6b0b0336c3e042e47fc1d1e78484457238854895fb55b83f3dea39193d3b739f60dfe79c734e7fd4b6bd100f8cc126d3f8cddbbc9fbfd148fd119a3f32e31fbddf5088fea8b7f9421f1905cae072b968c8b77582d4d75e9e9ec617fac834bebf50e6d37335be6b748dae51e3c367e51aa01c9355cf6d6038f3e6dee779769e7d41cfdb1ef59dd360b83d8df7b17d3e72f44e906362e4f1daeb17623f94219fc0186cb2f7aa2cc4be06826c7ffa20dbf7e7385c8c21840d0ab11fcee77e474f50889d1b68a488ab15234eb83d070af1c02937ac7ef518af663cae8938369ffa23364f63f3337fc4e6696a68a0483e3df736dfe9639671e5187354607802fb391a1ff7351fcd97fa8ecc007db61f80588287264f6c81b52228f3853e3277bf060839c0f7b9f03ef7b1f31d9f9f38e6892dbec001193928634c0bbf11e98ac15e403f1fa0a105645b478ab426b73d8ffbd7e361bd75b697de4e77fff475cdc2cd52cd0d4c358b7690039ebfeab1dd9c23571562905903573c6eb6ef82cd3178be322484727841a0ba99b55222d45e2ce3e667643e9d74be94737efc7cce6f7632c6f5732d5131c0e04c433f34640ed5394a2172cc2a179152035c0422abe108966356fc831c5f092d364e7e33d5ac2f662e081c7ec6c1c2893cf3532a9b0abebab92438ccf1393aba6f1cc76db6d24681e65b10f69f57a3d36fd0b4eb90745ae4a94f43ee3b100432b8aeebb8cd562cc5c881838573c396c36be8b79bca268235ea87da6fe0a67df7f76c326b20a8e1f01b709100984b1941d97fa32955e4a93fdf26f2d007410ca8bdfdfbdcb7c7637b7feea3e4c20d8ccdd2704c9006d2090d484a2d212f4b5c2dce3bff62172f2802c89f68e243ac4524c795328e5a389a04e92349c0c50e492d22399a1063a9359b84a023d7514b42c14104ae16679fd0c2d5e2ee9323b116a7bd5c30d4e2b6a31bc45a1cd7f9179380a081522b56d18496a516e775fead58f0afefa04f8780c988a12b618a4e80836bc582fd76020821a2960f9111c030f16ad12712b1583a6af957d0a747908315a5960f9111908e5c2d0ace2712a518f36a39789b840956d165b6d49a2e82a3a32c485450a165cbf6dcb66df1b9b8a39beba8d45e7e270f94629ab5d977f9a8cf08ea31a5534afa3588faa2075c7936ca1fd5e066411fcddac2e48dd29fbd4283dbcf38cb5b6ccadbf6256fdbdb231c9b23a8248d9685392e559140000002002315002020100c8884e280302498086350fd14800a768e447054321ac843498ec32008628c2184106288318418021062aa661c007b11f35844df3fcc3666154921a03a90390db6c04d43f7abdbc33321110270fdace7438c26fdd1b7d9b4e03285d6b8d516d8616a1680f7d87d0c5c1ee39dacfaed0fb2e5c260bc3c9b6b42e5b5d1270c6d19c6f6f350272801366fb95e3d1955e4da9bb81001709446c4d182646def21e062b4be30ac3925230173a8b704cd101990d36852c565ed16c252462f698fd1e18034c878340b6288825e5d9a471dac80e2f63e503dfcce43fbcf76efdfee12e7d823923ad17b91f0d41ad1613b4da1c6a9adcf39263b3235608124645ad1a11751cd9e56946a600c8ed4670fdb8ce35aabfef24c8418f233f614f0537450fd7c19434127e9b3cffde342fa5de04a08d33bca7b2dc2bf450293f1ebb6919de51961fb860f3cb22e1900589afff6e8829f5fd9931ac5af9f4a63d30850a29ad304d66092778800276d6925d67f0bf27e6f3e67551d749a64eca8c05af25955b2722338e31340c630b023f556998b46531faa62cd9d8d6220996f82f24416db2c9680efbc0f3adb707285c86f9c95ba44abf21651a560ef56908b4007208e85ad05259a0cba0358d901980c9283503f152c8fab4a141f769131d4ecebb052f93a683d14e5449d99073ba56851943e556902091fd8e329ada05936b9d76b28528639c140d66c1d832f3f008897b77432e98b739d69c75cd7d8ac4a4084969213bc84345c9624bffbd8e9dae203b7a919fe13b114d98e3f571794807c617f6abebda5a023dd94550466b7a5220ddf6f0b27233af413c1315f864ee10b825c0405cdd4842a3bf41210fc1af3255c3990bbe0ce497f5828e132db62c9155609597bf150ce1abb6e4514855555b001580a4e1eae6d696fbd537d86a5fa397e5ca0c7a36f01f81ec20df237367f10bc535ba4f27e03ef64bf8804b942a188d6472c88901c9cb08a6ced9d3c5e9929067a48508e396d56d8b7552adeed6a6072dac85ddcb7607722ebd29cafbf3973ad650c1f55ed77032bf3e6602fa2dc2aeef1f5813dbdc1826fa0fa405c8245a1f6309b0c88a3107d77e0fa224b7e7ad32261ec1e424c93e72b51c172a6e188f3a9955d8eedeebb3c6cd581c29c7a664c13b694fbad9a043890bed6c3ef06d2ec12b616f253840d11a825d84a46f1d0a173b4d624b50438b792e3b9d2e8c18aef7d457d387e9be4f1647d42f77006f4f1a6df016c52c0417e1c2ca116e53a5d556b7a39d5c89b4946927f1dec8e849bb23ac04b32dd10929cea79ed0bc75159492d7eba87e537a029b86b398566bf139b344bd498055819ac733e64bdd6a61fb38c321a1c588a051a159c82f36e72d77755ed44283722ad8d99ae3382a1012a16f0c6050b8e470623ec4d05917e1268fdacbf1e839fe6eb7a7059ef9caf6058958ce5794efef9a680c76cc165c8991f8195f6f09e723486e8e8a7680525d45a90bcc6179239490046a116dabccceca4c45fc0379f477846bcedec62c5d3eb11b4e412daf489c3539f79ae37a419946539bc47c55529dfc2e96e38417df74f7c40674a72ab4c25ed60b093d1aa0e778bf427bb32e23e334a12ab11ba2a637faf6e007b48af6bd9a55f32fae1213538aa843e7338009fa351fe02663197ea5f8685d34a0527942e07cd3e6145d2792e8dc228ade763d2f507b36bbb37afccbb2242d5ddad6428df953e6b6653b722d9ca10f1e6645a61846ee03e7cb94bce2ed2115b1edfd598c2249d4209eefd4870ff0af08d5dcbbca14efe165d7b0292897afad635c586bf452149c077b921ce4a9bf8f40b62c9dfad604bb12bf2e56a912220aa2f7624a6075ea40cbf03c3baa89eb459ba394f37157db845d3ddd7dd0eee284a272cd944e73a15fdd4b0818508d682ac7eaa06556d4a0662cfff7c7cf22fb44aa0405b466001290e3869a4d6444b03eee82797cef63ca567959e84bda47bf268d37e8e5a30cde5f0504fe83600e06f6b96b3c4c7f1a0e8dadf8f2885c02c39b23bf55c82c42009bb7051331d70d8a60aec1166b009468ab53aa434a863ee81c9b8fe58c21633a765d0f04b6a41ef302c538fba875dbaf700141ca32880af2eac33cccaa3691c2bc303619e0588550eabd0a540191a8c5ec82b3b4358f28a0326840a4d5cda00054df3605399e031407d95a6424da96fa2bbd3cde97493d8883577f2771f77609ab11333074cafaab73cb00a2fff2df6c991a11ccf760b05ea4884aab5e5e828cc2c91c2deaf38a0e55d04cd8b3d1a0c15f455486f345983de8db355a551bb79c9706f094d09befce84a0a175eab85022107313db119dbada893f6cd8dd2ea3d5a896a2dbde1c2c57065e166cf030a703664cb1fbac679eabb3b025fe82adf0c44d3edaf1fd5940f0d422a7e54c71c8ace676e8a77d562d18bf2070784c35ee1a64c3c962eac452251d2cc5597fcca84f1af0a08e8022c5850a3a5d73b263ca3d1262b4d895287526350458842293262ea80dfa1072efefd603249e646fdda0d51ed45acd07010787f40d933d714d0e589a53a634460f128be697398bc451cd08018efc8ccc05dd5a0e8c68b7758ee106379709f3a445a9f6ef39d843a38e9ff9079a88a552b981d50c0d83241a768e4b96bf4c45884b3a6081cbb969c1c2128404f282d383576bfa432a2de33202891fa66c22f993edad339381ea5b27ed035adee4c5abc68a0774d865ed1827afc042913012efa1e73a30e594ac05831ecc3da54fa88f513e779a2a65ff630d47787245b2247e927793414e6866a1c9da0d3692559d2d820477b992d899c9368739b0ffc623ea939038753d51e8769ce0f49176767e17bad31b5a947c564481637b42cba4259a4579fbdfe9acd6179cdf34ad5024d7c6a43482fbe7bc789c2f2a4bdeb30455f3fa14b8d84e9ca6b60a374a66354e48b02acc5f44c3ed0db56bcd416d0f07eb63a4a61895375c9d72ecfd4836b33b71607a0dbd1b7a0c710c1617d76d09782e2246697a8d42f43d46c99f6af7aedd2da76849d7a4cd9fb6ed2e0328a1aa81f516a3c4c70ee6860f711e087ee94032065268b8648ab40003ca4351ddb210d113dc88e331dd8f9ad5b0043741be1386eba009a8a968f9ec1cc804c06dfd87e665b9a00c4a6f0b86e0b2c759a9fd8549cd2a728a0a4f7485b7caf1c053133b125a1c5d68b855b5311b061354f578567717ef53a8f46175a1ce8cab1c905e0d15392217ccec6c248fcb8faf13fb7c5b4e6de7f41f3f2893ca20b02db644a4a4d6ed90bae9084bfafc6d56be1380f05a8e9152773076064df86ee44531d4d3b827c45e99f597fbebea89c91fa7d94c78e94d370a741505bbdcaa7f0a9d4587639177cda73252d5f789cd164edbb9587a86d6e1b837ab7ccedaaeda75b7b32a147850f5bebfa72dbef01f036b28c0b6880e1622b7706cc5bb6aa93ff4073e56e800b03d57fc89c81ddb13f9040ba0781c1ac665b91bc9a6bf5233d4e51f83d22c21e5aba36e0f40d9b3d989eb371453a966a2a93567ddc49d859f3e612cbaf9e26f99f75c6abfed69605f9f37531de7928b528a55a2216bb8e371ad57a637e64129d427d29382b464757da9e386ecd4c184b445efaf554e58b21e31e14fa4e9b3655e37519a75d1bbf9cae858456213aff3679403c4a6cba1e507ef7b7863aa2633dd26c8b856eedb54ad1c910040e1e9335f5fb8072f0c5ea0aec54907afdeedeb88c6265b671e4ebace609a1f5948d9b6dfc5f04cac69af48560087dc045878d11df829362f6f81dee1104e3ae5fdbdd4148488ee9cc02a541982591a8870461f8f18dc04ad2c979f2d3127840bd8bee9362f2b3ec94acb3b4905ae3d265175c51f67a15f4325c8c2948fbcc8e05232de2b287c44733131508e0a36b4da896cec9c018b369e3db2c02f4f801a0cd6f042c20c0db08b64b7d985f7418bc10b6ebc6718a9b2e4c8c7ad606e20b089c162cfd1f50be3681bb438cace7aa16ca7b8aa676117fbfd7c774bc7a4297b834233453a0adba8bb26fc8dd15752fe6126443088bb81def911e8a8232e624182919628a31467d3dca98a6711c23df77b5e9d18160d210aa2f5c83036a8131424d8a71c7507040e27828f3aa815efa747d22251ac06975fb4fa1874386b38c7288f67d7ca68886994fcd2fbaf15bd99b5b977b5ffae227f25dacb8a6061e041c953c8aa3bb23d42512e9ec79399614f80f733484994e777c4023c48e3ba1e95accd010d075d7b11b35797a2e544e498414785763350ba6123d28db7afba0559d32308ecb6188e8982b2d8c552ec1204c5b6f222310099270a4b26e087daf191c134968d15609d8570992eb9721342d17baf6fe76dceacf30ba7a6af4a384cb7bb2d3cc6bc7d98ec066c6fda1fd8ab4fbeb6c3317fe7e1cc1f79d3c2d387427924006892f7d1ede68212ca993f514ad964d266ca2ec45d9e97c881e505fe971d66a660154130ef400d9e6823ea7f9030a64649d069733c52f701d2a842d155fee162b13e4afc81cc85e95ad3f8190cb6c6f2acdfce0485845d7d0419d240ad3439693e48a01e1a14188ef2915cfb92e21eb33a53b70c6bbfd34d40386637917a5216a55cc1c77f15d11b43167aaacfb2854819e8590027318216c29b45a1b26cc0edd1c7980fc408cff28bd7a47c5b7f704859b6b7e2830c004ae7ce50dd646ce61efb15cd71f18daa4b92b60344199af1cd519409bb519a43eb6d02eb05f78c9cd3bbc6daba2a537279673e1aaf93ea09a5ad2e813a4652a67bf18759b15607a7dd82be5d1e6d5f4725b4d188433686cb14e460cb83d0874e805dac4ffb6b848a8b12939c0152e0dcebd6d9ac6bad84c32499da6b1441ba0844f7db48f1af8fbc2c6bcd76847bb3a16dfcd962c6c56d2f06f356d1c0e25778b2e92bed25ceacfa83536d0eba4add3afb2a6abf33163c6b5ff6bdf33a727dee81540fe8a6f24a6c756f807007fc56e2438fde58651efdf6fa62996780ef17574ca4155eea729b0751d0d17c4d7787b1225c80b25003c70bd9d6dda966af34774ea56c6683096eaa88bad9053d7421031004cf7bdf410ebd40610371986a4ce7712943a029183bcae14a424b5dac60d4751a61ee6fbc2cec3e04e6886735c16546502a55e28d14fa48c6933596e0d3299553e08bf929baa15b44da4f360c22c69ef9125175a97de45ecee241b83b64d7e05e016c07d9013de4c7d964aa4c15d07c9aa3e62dc8919342b17e151293f1f79ac21832ddfe232a40c66f901d352870a8ca7fa2efd4a67a78861a4d61d9196484fff9c56d128f18220ede071a422f3a1dbd64d34a6a7207806cdd66cb5c5d1f2425ee1b0fa333eeead5e72cbccbb5b84e58bd85d00265da9bf2fa5609dee8d50674cb3006c76f6a13091ed504ab8a200299224cf4ef09c0ede2d73d1c4fbb6e24b849df5601ed5849027bcdf455675406bebbad0b556b3a0f53c2ccb1db6189522ad8b7deffb3d85c632cc9b7ba8fe5e7b6fab7d50ee83c0df03acf690f90714165653d727006a1301bf3fb7d2bef24f57299abf7e897e399bcbc9ba0c9aaf77493f9095b9b9bd2f0601098a259219cb2601679419ac1c4128758891fbce8b0f832ca12ba4f3f22ac42871afa1dbf792600b9c436ca91113257ab001a8c81fc2a57f4d1095ad896409048e021a7790979e13e59262720999dd70273a3e1b14b6db92f26e7f1996c246443149017976495703d825f4bb77323213d019b8398b3848768ae61f17810a1cc2fcd96c8ea2aa8ee09d364036b4386e182dce44b4b48fae148c9d8b58b8f69026f2d3fb3e87621199154f1ec3f65d670d129e034fe139dd5cbf12c92979df677ce92b3864624d786f10e86d257695dd69730937a3c613c0ddda2408a7de4a766db08a9d1dd75f1abec7acff870963a541975b93ab84c9b8a5530f3c8cc4c9c1ac66b14849671cd9a33a5c08f85bba7e9d0f46c919073d1d6348279f2336c7d89aabd37f39672a293775db0085cae3da826299508d1a593352419fb822c658ecf4f228ba023c096ba2274669a2db56b4b6186da60b2fbdfc6ffd6cb76f72b1d125c5f0966b09b3c35abf0e7002cd8780bc3fbc129b787637b2f349b2ad166f04a83949100b9dfc9970308cface17c2bb4de60c9779a048273fc1582ca91d1384f57afb726a23f1120bd41d5c7cb74f5b325ce5f61912730703317ae100d24b2dcd1da4b9083718c9fc9de3d8282f98688e16fb455d8343f64bcd005a974ae416da6ab13f1a53e15f897af29f26e4efbae70ef67045b829f5825bc0da1afdc4281e5702833731c5ab5791596cd1cb76ee682dce12796c59a5a75843686094ef335007a248ab8e4617ccfdc5846dd7920374bffd1b4098e6f43d15a00de46eb9bc0645fa19a712ceba60473e65f30621a6621b420c890b9ba55f99b937ee14c2e2aa1026953755be65f65bb7105c3f467cdbe814e8fa01c4f40e572df452ef5c4bd982ceca5e983f2bb376873cd080ee830e00ccd96c9241ec6f6075e7a2ecb3ccd79abfe6de809cdb64824b75899ca7dc2b2107d15d43041e8a6eb29177e8b8181b56608efe5c602a3a3f1cb459605c8728ba96e3109c3364edbbdc56723e4e550375f4365f5408323caf2e5b0b45c8ef4cd4f55206701707f96232407d13a7072fe9bb03aad57c189df3e568a9ae23b2a53b8e1fc4ec948b8129badd09a71ece56d7b9ac70b1541f6c05d10d02baf55184ab6429ced5d39afc0c6d9d04773193ebacb9fd385ff70746b58e61a76b2d5656cbf7808e1d055d29bc071a994cdf6e3bf852cb7ca036185c0ebc8fc6d1f8cc5a8c7619b05b2f7ff6e0b24a996baca3212e5d640b641fe27a337e62be523977269d4ece42fd2a94a1a1a30f88bb3d4ed7f028eacf7df3dea27ae959aebbbd2e62b5f9540f2ce47e83f48ba3116cd111b7c7c014376d7dac840ddefde31339b0cbdc61ee0a6995e1ae6c8458f66661b4de2f781154bfadc8f28414b6124e6664df2bf8d94be660e0ca6978b23799561a853e39f83af475a38884b11742ece6061aa59ced5f5bc6906d9905756fceb47e19231b0474f8e7d29b80d382d578ee11929ef0967a3e29220adc30ea9c3488ecb50fd9cfeb6fe9b1a17f887debc5942ca17be2dab8b2a32e9932d05294390f24acbb7e27f6021b3326429fe408670b3727c8c5ba1916678083c3ac7cc5c37ee7b30d6909e72a34f1c153b5d2eabcbb11ce15555c7a3ab3899b2499e6b01757087c84eed66537b11c73a4959a1c32780e015562ce12c8fcb701279b2c5f49e9d560105db24bceb72a987eb2bc9b7549d79810226a24ca7a2fc49c2c121a40c1749248de091666e28aececfb946ecf6853f312ac494b569f0d7b910538fb0882df25a4484340285299d1a45244e9ad62274f0bb38c38db56ea2c539e00abd898dd88a0c8fb062e0b061079427d48311809fcac07ecf779aa80ed1f2339cac83ca4ecb01effde3d4944248d557487f59e0cccffdb6845c14463f6d5117552e7f50ce86e2060f6e4a743d7e473395e6a33c7c85ebd8ca713c5363724f2c1a2e0806d3be606154edec002c623c5d77a201cb08b284c6211f9c8d424fae3f1f37bf02e9c8042e691ed7f68e3b2aff0418aedc97f159f06c8b65b5d79668f9151aa0b8c8b2a8030524fef19754ff977ffd4137f40060e6998963371b91165409067ba6b6a66f8c94e09250868bfffa0b1b617634daf031b77d132bc9578a16c672d8ca0be96aeb03a64829dd654ad695e79570128efab9be93c90131d7b40aafe45f98b40435015c297bf5c184a5adc04dff1898be517d0992fc785f15ea2014a181394f1b21980da852cd528ec0c9e08c8bd252922ebee764811af319adb7f378f4a0c2022284a3e92c60467686ac01e72b8ddbb82ee8d2405cb912aaf358bdc6a9aa6cb3a28f4ed1a54c6255b9f9b146970ca68a669a422f9fe69cf3fe924a800f0a6230dc21d037f8b2fa9231b1615064d510fcaec8c5a40d138e5d9c54191ce44cecf1063207000ca90acc048d1b1e7ff91a7024ca279dd5520afdf1ed012f526f2ac1c68a1cef5f66712221c8804ffe14838906486f3bc864a668d24c6f93bbff7235bdf6ac8b02d5dad4fc7d35223f793ca868a6517ffd7e08700b5cf4916e482e5e459f2b530551f0c44e91051f5e99b011ee2e8b0f3e4a546f45e5bc03ce42038a0a4e32e55dd0ed7403e6870b4f39b112cfe5805f24abe470f1008e685a619f5977d3c7aedee660fe2c10a04045211c67b9fdf9f212c7711aa3fa1d2a24d50fff443dce4afc9f05f27e437ffbfea55841bb3a2b2c4f4d64e9245fd16e9ae43c24263dfbfe5cfa19177288872d90b2d3f0134361cd2d465c1772b7873f109242ad3838aeaa82b9770353d46e4392b5352eea2ae57d2aa751706d5f98fdaf42e633903a4cf9b1de0b4556fe89a58fb02b5246f40c8d0ce2dde852467e5ff18b34ea426bf3d933f17f7124aa4b2c047fa5f47d277fb6ba30ac3767649483b94bc35c901c8b3243355c3bcbfaa95ca64a2409259fbd32ac993e6d3013d6814e68c57d4262580b4c6eca85aa272cc65d5b62a019b8428ca1172545601ad058b0b2ed06fa2a26c31104704e6c77e2f659853fdb40f1f96d3e842c59b77827fccbdf7f772453375c9eb7ee77bb7eb3b83df55ad1de0cd3b2802ef1048a6c6fe9de2e9082312061dfb18d01a2ef9176453cf1ea2d4dfa56fdf094e7482cb27d618fdc4b3259a82074602285874cb1923dd9d2e46586780751ae2b107ab4968dc169b2fcac027e92c40001d2562c81ccd0926516a215ef1b407accb53a4afc174f80fcecc8eb6be99c2baa33265bf51d9f774e8d68e0fc37e6e84b5d723f24a5539ebb5abf4d27c1dcaf0dda4e8c7d287e0658beb7bccb2883e6315419303a2a798f9dd0910fa44db64994cf9fb005fc37622dd28ebf69e9710a7bde4e96c51bdbc93e26ceffe81cdc043e00e44e3b85481092b3a5c2b6d7f7119dc2178fe39653165b5ecbdfe8792759aa052b90a8a5403e48ee745c2a0dfa4ef0e7f732050cd87d4c6c9bfbc79d6d29cbcd3063c1f82c830a3aa38147c83d1eba32525262da942958260a3ace255b8094e6e9d6f17c9b2be4de495e512d3cb100e8de6e114f9abf38be724a905576080592f97f8e50be612b9b3df1718a0b990e9f32c5e8f9e13da5f049b47aa579d80666bcaa825789892e3a371470f4d4b2044b3155c626aaebf1c80cfb55a3f11566fb9dc8fb435a4cdf184d55491765910c0e56a7942e00100db1c6a837ee090e5a3b415349cd00284999667cbfd308e844d7e1bd0b6b6f632c9da7f8b0876dda10c40154228b527503ed825fe91606968251ccda3eae43f0393085ef9886414f9980412c9c309bc18c50e58e6b3ff14c844138508b2adbafd046a751fa11c904d75f804b11dca9b8cb73d6423c00688314c16e9e2b114b3db9e8d6b5713e512c2e7614a46c1d9564c3c1a9af41f44ae92632a189bb41f14b46220477c46b98f9672150794f009202291591530c449e4653cfc4fe8f088caf43775b1dbbbbd419552a14fcec1d50d0a4a4787ece8702a56dc4e6c49ec09daa87ff6f5c31c30ce965424f1fbdaf0ff4852a44ce70a1dec5170cf45e3d1658aae4be4d7e395bc6e9a550e0bba7257533c0149480e12a2c74e4600789084e02e038f77e7b9f5ef1fca9aa24cce378e785ffc034e88960e5678acd9fa4475f6bb3d5ad337a0c43f941e49f5c704d86a53873b8b5726de653f6440f982f8f2478eae075fa55ec00f1f3beb3083e4fa057fc0defce3417e6b9efc26645ca00360000db7d22480f9c8d1b672e384099fb2bb84daa97d8e9278b300a73d8fd26fd0b5512db08acf39991b3ee280d9d39331ce14e15090066b668f8f1dabb99dd8316cde6528f2c9505cd3c9ca18a3976c8dcac86f7c26e561f5f0c25f82f0d46b30dc223fba1789b2a64eac8468df70ca4fc39df3dbc6a3c7b2828488f9081e03eb590444d126c6115d076b618607c0264666f0b63771cfaa5f0553668016228d443207da1512b000a640e51cb605f72ee4180e47e214e7156c47359dfebd0cce783b74e8fc800abcf00b9ae7ee063be45db8275d13838203067246aef24337e54eeedeef4f789293a0707163d7b92a4686f4024d1cccf7c56a4fd4733251934baffa29e70c152323067acf69adaf8fc25fe3bbbfd37946fb0efeca81aeb2eba6afc7b90380485d5cdba5b7321586e31d035099d976083a2c17b9b8343195b6715bb06f7de1eef13d9393ea18acb433ce62673656da45efc6f0934e5706b60520a01455ec5e461ca09aafa616162b9a0a74971e896e6f446c2ac5bb49acf8c407dbb91a6d7478029660472abbb4840bc534c9bde109ad007e3fa2aec999836dbf09817ae6835394cca25d6a1d2f01d2a69ae8ea9d7e5b55425880b8b0135a2251c1a4daaee9c35d8ce35c88318dc6e3d0961b9a66566877ff9c2a3614bcd401ae783d209847b90e4c6a640cedc131b79cfb65ab9bae1b76fec7d2bd5474d0c414acf8317bad99c4f1aed06a03e674ffc43a223d0db3d79e60ac12dd96fc6a5fe3c159d643eb340a244647893a69d9f98815a00090329ed7859ad09956dfd7ac9f9f8c80b7c7d581bbf900cd1f2a0b19c65855b6e5d3e81f35943327bbe540496a0ca1b3ec2ea45063cb10fd83c25c0550ddfc835a427036ce8c35c5d918f4552749b5d389cdba6a885d0416f98728614ac44bfa211adcfbd1b486dcfd16386d0d97364854d9714771d6e7911acc0f9b3f9d9ae4ee4ba0676cf97aa820b9553f334d4c9a13514164918fa9842f57d16acf7a0560d66623c7bdbb9aa11075d2ff37ecdf01a91bfbd60bbb43d613befab9065efcd96479ae5a88daa981476322bd541652006ea65ed1932a538034b90769ece1984db023e2404fcaa4b1556b7fa71bc92470f7e7ea5c1222306624b881fca0690e256fe7a608ccf3bea28bd45d75bd109389a7e130e32ec64106d23d83814b793583437419a2b2e1d0fe6512c8a92440aca6fa2e08af6cec3a0d3042116abf7d5b7267f05622ae5798920b22f005f8e39c4591d0f4c4aecccf14d9328616019d3bba9b8bd926c9a7ebe0da5cd39c46ca710913b09576f780ea40a53d36e0463bd53c53d2bf03867804003bc14da09b836c6aa4f0044f11d2791bd5c5972d1c1aab53cf6dc02aea25084715b0b4ff866a730b4ead072b9686d537591afc3fade4a6998e400053f0d4873aa3eda4966b94a060959c85a5af47e790dfbf95ba9ee5c5932f947a843b2089fc9003438296fc5028767979c3137b124cad8cd1866a2906a21e95da259520ce3904aba156a4049c084eddaf4b4ca37a20c236a4b99db585f0453e9e368f87164bbda294296814e4f6f1c0c91e984099b7f3d09b474a8d2038c2c287296cfa05168497c0497cc7d534a8e089d938c5eb00a0a014c28688959f756a91199e95d0b3c2a5dd77982cc0ae6131044822d61153690d63e69bf4ab6c671cc77ebb5b0f21852e5c08e5ebbc895f90b9af98c622c7c3ad49a2242ca71206143afcc9f1526e5d8b3468893148d01f839e578cfa06ff03bc6dc7c6528c256d1b9f7e1c30d6ae229dd26f7c49391a486e21ec97d144b076b0d86a07420e4aa66e9b84d3dc373689b6e182e3ea673d71e80fc545c500341e253c77160e525c6d07b7a2c4e3c4db991b5baf164801bb42c5f9b2406a57b77386d8272f0636c74e5dafc141ca6d845370652533ab85406615a95231937dd35b57705704cbafa5783c534605f5162d14f85b50368e222733bde72fd4432186cca4edf9c4215006c3d55ca9d24d6f61d1c954ac5da8238f5c8443b969ca88a5c27d86be2b192006c8a346935b908c16ad9758e1c8f1be77022b4cfcd8f7046d552a5ea7ef44d0f5626a2471fd37e86eddd30ba7751385c4c824566ad915949a298339a4aaaccc3b10d309a238e0836e01f6bf3a7bd234cd01af1432214a3f40d1aef4901e6d58de7b0a0e6af6f879e382d1441d6496ea0d154c448c76ecc5e3f4680485ff936d01c2ecdb82bff7b9d777c4c31a6488846f4f825a11c4b32d22e404e9447f9d0f9d0ef3e60ba3b0612665c2cf43bb01bc1903510ee8e6bb71268231ad0d2099fbbb15a52841cfa10bf56121e0a81a01e41906d442128a40da3d01b765a9ac484bdad822bbfc900efcac054aa908e21a4c3d481736f5b05cb6b2ca1c637471dfa804527e49dd51eed86bd42bc1505294293baa6f7c1f829c4de634199dad65b00304486436683dda222818af93860a06a5c431c0c9dfa1d384a735208a6e1d7738724a607ff3967a90a6faf9248e7022271ee187d740f059de540cab5c40dbb27a93552096aab83818b4cf03b83099213bf06948c51e9edaa89f04d69f546e271f8263b57ed6c758f89c620ea0711243d4f9205e1560100def9c047f8871df47d24ba286b4b8c8336e76a35d11633b4efc2d93032bee8df3c69a013d5c751589fe10c123b915a71b1ccfa6ed75aa32d2fdcbd5fd7048ead04e193740911a00d3f9a331d17deca1c9be6461bf1509e3a2f927390ad5d7f3c19bcfb6a00bcffe97e9cbc05834f45c87b1cdf9ffe720c50f2fe6721c751930d6c8e557c79bded7665b995248f296579dd7b1e22f0528069b39793cac357beecfa217863c226d2d4b37bf9632b63b37bb7909a1f8f612e77acc02338820eae6fbf8158abff292151e61c214bf93f6c5794652f1b528d160bc9aa434ed888857cc640fef16a1f146dba3c12734943cd712eaaf3559073b095a1fcdcf4c5541192c00fe233f15a361f03f826101248f3bc6ec2b3291e97524dd587080d0062cdfc990932094c1546e57df5bfc4a2909b7c034ae04e80256fff5b59195a8938c2038948bb98fba8ddb5cbfd2e72f494f63b2dafd01987834ea04f23d8db8a5154ff56332a8d7b89e606476a5e2f996fee8e975adc535f7838ecb9d10a2a4323c54eb5ef19654f85f3914f4fa46fc7d8f358b0425a122215d8c75ee2c8832b0bb167e57c796aa3f1a6e8242c8e3d749e5ec17c8c9e840751eeef250962d5751c771c92c88023a0171d656b840c1eae2c3c262b24eb8eb25bf11308986f842ea9aa8a32b2c688db24f0b4a2e1b51d8d9f75e89da7cc634c835a879e5bf23f08c3a906d20b151ce03e72b922356f7e47d0391249cc44e3f3921678ff8cd49ade81565cbaa5a9679191d059d795813bfb522957fed0221fee834895ff52f525dbe0539d025c86f1dae23c74ccdc286fd0e839b21469fbcbaff9274aedd3ba279b3aa8176c3421c9730ad057161216d9e602a5f0079ced14d281c9b487940caa44290d636395f8af0ffa00e4c85fa199433ce6c28ca100804201f5614c29611b8ba04b03294c4487406d62a2d12a00eb7b4a199a55610b6ee7cab9e391a128c3c330eb71bf40ba60d02fd6042886cc430a99d2be9bab326a13629feb937e5bc442a2f424a7833209b00e4e26d72dacbbb50185e2465793bf429d946fc7d4f4dd73317f0a32a085fa59223aba219232565a67bb3bd3d618b32bf1e89a6412e650750668cca9da6e11121eb5c78f7eb48eaa4b3e851b1ecb87b1d81a8584195229f376d7760c0348c71173168106ce9dff346c583043c54dcdd6e2f8228d881427f814730e7fd686ad35944ab0f5e7bef189e3b05f87b67229a86f9b1a3cb2898976d2be1d23abde059b2a4bfa89e9dc6262dfbdccc1e197aa01d20b3d8223646aa8cdc905d86a73184116524078c951ab8b3b662b98c55ef08164f59bb396081df03638e6b32cb1bdbc431a0723924ec6800c52fd20558ea74be8d7542bbb6c1f52b68af373ea2cf43913d8926ff3c7aca5fcf09fa640255844ca23a004f118f2118233a26c8b1530a2b7da9742f4ce58dd0122686c2f51d659f6e2c077a876f5e4a8c85addb86bc5a7222a193f8d9f0924cf202052c8f434788ced18140c40dcce448e3da984e45dc283b330084cd900457200a18c32369c4706ba300da4c091715f49ca6c2ef41ce6f63ce0736a44ce8129a02231fa7c0c860de40975e40367d742e71c8a73abb4df19d62484fd69806d3b9c68369baad314c5b451a43123288096de276fb1320bf308aa4c354e217d010b10bd642708b64ac8011f8f856b0dc2300b0ef51c3af96e9ca5bcf471673285d0eb2862d69baa29cac0c7ee44c5750abb900ebf1c539c68581a62bbd6a85aca3b980d0f521b242e37056ecd4faf93e8465b975a87f8aaf4ab4d06dd9a9e1d5caa7c148a76cfc0984aa264d5ad71cc3ae5e508aed92921ed9bba42ce28f04132861a58bcb6cd7f04e8f99c73243d1600448f02e722ec0c42e07a3a7e5db3dea40ece29f6370970f42b7fec82f47146ab0540494277b43a6cd68e696d59d4a2b4c45e4513b916fd9fce2cce1fe8592757a516950d38ba59d663edad321374dd6575c8e078b1f449e3d4f4ce38025b4e74193c762f3f832aa7257534ca2d7f394dbf9c42af654bfab646e5cb3969d1a88b0a794a79e119d7147c6dfe3603032749ae044cf26ec27ad493572c487080f27aa783acf36acf4a96ae779adac891f7e007bece58a237577ddf6c23d7557b40014f0ca38ba5b5c0c17a513ad756c79c68fb4086b97f344155fce5a01e1bdc0d0930f68af46ea7a1ed780d570e6fb5bc64690339881096f055a4ca2e04f4a9eddf339bc6b1cf3cebddf67f15e07280a9a02402f0255b318f70163f5817eebef1f6f5cfe49f7d740f5a866f27454eb406d81ecff828eb551a5286de3df2cc821262a0b02d3d03a10d6d90a65ab70d92380c66b1d588edf52981d60bd1350971c6db35ed0f31610983a3e1634ded0c99758729c63d2f394ccc12d2c5d0e1bd8a64a00d370dd9b5c48baad384a232ac29ef39fe0e73b0873780198acd540213d3202f8742d7f2487cb3da39c56b30249c65db8d61670df4ed4dcc99a0d0a12bc0215d7da0518211662529dddae77c6067533fe56f06c2a5fb2f132b2610a1380d36bef87a53fa7cc574bba461e02887f009797f9c5adcb903ebe079893b17e216fa8b131eb2d901261aa704c3e6fd45ae3ae5b44ea24b893b9b5401d9c0838bda68e0d441084b55c455f9f17ba99aceb66f47ca8b2dc6e8f8c1d81cedc8bcbaa57ca07cac115fbc246d5ddacdda430419f64b2de9aef0310a42d387dd49dc57334fd831b02a1556d7dad105575418b9cb8602f21a7857f60ad60d67d937d9298d879ac63500d868d592a96b2e548ff39766452a9ab561200417d69328a9a83c365a7b5f54ad00a4403ea694c3d084ba71f4f2ca06797db4bcd3d76c37abb408e7ae91b0035f79833600c0da6d5f510b284ef9812122f32e8061f5e509148e6fe3e723604fee51062281a609fdc3c3487e016d4c7bfd7dfbb980866fd96d6cd54af84354b7eb5dc28d00b421dc2817caf97263aba8f2bedfdc2be5913042042fb4c6fba45d061468448e1162514352fc0586404d6e2ac773237b1c92ba506090cf23c5f6320dafa7ee262217c89ebd3b0365e749d8679c4df28e6c09bc75d1b545e5f3774eb84f452a647c63607a06a91345aa61c0fae458326cccc2dae7e480e46b2e492cfbd2d8de9c52ba9eb1ef5a67e1d32af707c3020d637236b48238259fc9be8a3bfc02c7f82d9b443067d5796285254acf52759a095abfc2f85d3d2a95292e3e3311379dde389d17f075e07ec118a125a38cdaf23fd283011e96b0612ab917372db585181fb9fe5a10812d9f018d2b2114fbb4ca7f561d4ab965b74ea7344fe3f2b125601d0ebbf47a4aa0b6b86c855b97fab6664dcb2eb37e4129b5a78f44cce39e1106a5571618a762936d34b0c885b811c517cd3ec0779090e854dda938e814b7969750a15fd07eeb1cb7c747a81b163e8ca0db519e3c2c4b8f9242003162c66687d664b7329aa53e6b50eb98837a3a4358b9c5fda0cd83cf9b6959e6b51f1686dc1c782c16a14cba17b1aacaa776b976b9543605104e848cbc86d655a4e6f954ed02793626dab62bfb486a5b47f2e9b28b0c4ab8fc53107bedc2607cf03b30ffcbc056643d987e930a6187d19c405de103847d81c68e7e6ab847195d52465537e34da71fea7e3ca83850db2352dfca7d21eea4dc869ab92009ebc4fa20dacfcea58db6fd357375c3eca0d7b2c529cbba837c1e75acb0f0e1da2e996def76971c2ca9cc3ec28b0e8643fd44e60b276226c49e83c6f0ea0187fea6d4aa0418c8aeb7acb691148c8824004b8eeae597dcd66ba855906f93afc3d97dfeae085dd63c501a4bcf89d1866389952bcdd6370949903a307c11903ec0c30e57fdb94de5fb68ae2431d9b899388bae1486c79ab457c2a667bb45ede7426b5784502d57f91a58eb371c90697d664545de8df004171b3b179063db0fe9facd0ca252f0033481f35e102c837c8546171b7d57aa219f4fbf7a868e7188bf9061ee749aa4ffedc04afe091e2bfc053b81a1d1951c0d73d316b762f42f726af48f50759fc99d701c40a46769bd32a4165229b97b9a6fe56621d5488749695aec49e17816d5bd565ede8934f9ad3bba530b1ed7764aeffaed845201e1052ebc8b49fceefdef3c547e81620d72978eb19a08fedd2360719a8404b394e99d551bb37337ea6699bb17b3a40971a4a26b33be5005b0d95b98ee05f080abdb671d89b25f8a7c162c0831eb40849255b8616976cdb1f765d916c6b40434697d22f1d7435b4e2b706a0961c30452cfb193fd736da4454f57c990b677dc9622f816042d417d37e39c572ffa89142608c7d98dfd6824d94b80a089d197adfafe7efec44cabcd37bf5e59cbc4490e795b5b373136c576582ea96cc5537de692f3bd6093e8d8dd7764a0296fc444596b3c613cfb2d08f9dbae78216a0054cc49a72e56cdae319ab2a6fe455e5538a6826de946ab3947f30f7107da3bad95ebb5c6796f64088c0fa0487fc22b4c4c2f2f1a715d58d4a11cd7916d176864f312b629aa43d25831bad16ed33619ee60c26a32249c574410818997068dc10d151690c7d97a323202a24f9ac130806ad054d408eba14c45fbeb8c4360b61500275b3f802d038733cbbccb03a5b0b000962f53c11742ef85cece2feac4f8aaefdb03dcb33883ad54bcee24df2fe707427dfd77048ad5b39ac185d1ccc6e75ec9a4fee6eb44c682c983aafd0ec9de0001924012ccefebfcfb7691e579efdfb1b0f6aa7a01b7e63646d0185f25e8959ac3b99bf6538ec94c702d9f3782c69ab72f0cdee03f90e646b5cb12f486c5b305c2b85c2a8a2e1f6ac0d0d843c78e86a5d8731a8aa69f6dc4d785276a2522f8e074f1cc8ded744f57f96ba543068584a5d60b0d444b9ee99ff1c06cad974c5a163594db7ac15a7d94b4aad49528d192a17e063ae3c2488ac552c03794922dd2c870186823ec359e26a18a203a8a313556ec3de4e3cd4df290681789fc24a89b7e1dc8fe7194a26878aeae7f212e07ab1417e9df788e9f22b82c21b6bdcf27e0f51689112a5103b43bcf600bd622122763ad2d36992ed149288c9d26e92c769348a3440d92719340999eb55f3c5f252823b6f0c08a894f5f2b738ee91ae5b0cc8b7a2e11b43bbd1194d3fd3734080f632d037038ffa40a0283b4aabb0a5dedc24502a06c4bf92883117cbfac3d162b78038ade4fd90949e3f502e3b1c8b21614582a15df2581814ef561d20817c3df65e9f4a04e3dffae96fa02df95b140958712e0eed036b5141daa1495c91936bee86d9c7627478453ed9e9026f14082d04f1924432c056d544cc55db31b7f3ab899b1786d1d08cc4b2004525a66c5594f165a6da94cc857006145e0f73eff8bbed78552b6ab72593d5f63c305892e4f6e40ba685dab3e08dda772340d15f20045539d0e6de0f2ea2286201c3fa642cad4b420e55cf107b6332ae568a5f7dfd35b04e484a512c021738e241ed6bc3b128f7835fd59309e4ec397ce82162dc0cd75001947ccd1317a1502c5e6145dfb49383d7eb967324404ade21467e5793ec74229cbbb72b4f88d3734bfe40d7142f5efab7a2be8a9499c1f57c9e5f97b72df2578a0f276c508f8019fff5b80a44a867bfd3546eeebf50a4d5fdea34ed3120b678222b08f818330d3c3c2f85e8ecac2ef940a0818486248879d22601b406e519207ada8f2f751282066f03d1b2a659a0ca9ccdac406f2b5e7b95f8197b55f2e322949e5cff8754a25203517543b50f4e265203355444e6a955d4d7c723074117ae0cfe34d71b37fd85d3829356bffcc5355c60be1d89cde485d043290660aa6810be41abfc9e87763233408bf8460613cbeec1cf4bc3b40f74e824838945e73eca477d88ba61bcdb4f540f7d47d774806f12efc0bf6d4e834c384f0bee698105affd13e822e9d4b3948c74af066f6cdccca43568c99b877c6ff0da700d6a7920d0a558d0efe01afc835ae811033414496b73d5c2f83eb14c788133860419d4083c6a31c78136001b7d58536aab08c7cc2a1b369a34a5e559d3cca4a1f9b00cff466e8825e22dc66d7a2410e4ebc48ac9b119eaf8ca37a453bd9a7ba2517d408bf00eb06064fb8e59c48f4784506268d19febe4f57c5eb0a09c85278d188495345cbcd71c767770f0fa4554c542e90a35c268c81a747805c8739466b75622a6789c0a7ef400d071630ab9a1539e62c0444d1106a987f6ac972f9c65ecc0f52810e6ce47b1816526d51873ac853e8d83035063fdcc71d46bf3c419c3c17463b8ceae09b91f7ecd352c9b5a8b61a170e7131276df10cc6ac3497264d7f6de39e4e23b1ff35c99685408217949ed1b86e85956d0f25cafb2880568def864edbee4cbbeb67eaddebd6138c6ec89618739e269b5e0d23a573fbd32c0ffdc23de214bbde189e8c1101d42f780ce20d402481ec734fff59f0ae8fe417c58345875266e2ed022927bc58e35c1aca695027dbbe78d7ed00bc5db429abad10e91981686645e381195baff78f109908ab048b12cbc01ddbf48fec9d4cfe6e184a3d35973aebac270c0ecfed69ab5ee6d213793e2c4d012ffeeb95fc88043a25a963e2cd1bd269497170a7d3240e9b47c6f4348ae36ed1728341057edea0f8f3489a1515ace8ab2b55d7fc1c2ef8cbeed954188b6fef53396db2c1563cbf029631858075b472e05bbc6184f8482060699cdfab7cfe80198fa87626e5eb12056913b8f507749249160004bfa4b005703cfa17cff19271f025a91d44054abb4a195665752a51848c6ec13f24087183064b5b1b1961e4ac13726507e0260fb378663d4d50df6c38f7324b5cf8d17d1899f0f32d1204a98c3a935138df00af015d41774ad4727e282f4fb85c213f27859375457b05d148071ed4a518e6e808e1fa1ec156d1e84cb24bc056a001a18085090fb883b090650d0635a2d9b76f42f057604c7402f831b5b5693cc04a3e4aaea164514a3e7c115a097e84ca106a6aad9621d1747a533bceb139ddcf0f2f033d3d5dc60464e80c9931313dab546d610b0a1200f91900854f726a5470216ef2b8015a2ae71f92db870c8c000eecf4ccc6724253b89a994b640d7b2886910bead08888720e32a9fbe3384433f18953cc34a45a2347d37ebabe71d92c94fbbd237c725616a05fbaa92f089b61cf95a336d52afab9d61effdd8936c375933c02f2644b9e45307a17d584c3fb0283fb57d75aae02f005720f3d553b78380535416b441d36b7636bbb7a23e0bc92b8f6248198b6ccda82acebb07ae8568a07aae66aa7ce99599696dac623c7f1279bbb913c2635ecad04799358af13106157a52f90f0dd0b217b0e4ec7ea5e971065eecc4e5417ed54816e4783a42d63b3e5743a6255673b07dfbdeabea4fd249d912bab16a137b34cc0f625b6fac299989d62f08a11849f119ed8a5497be649768eca5a5c5b9fb5ca7041ec5def712ad53e06e40b7978f8cd6a3fc850744927f0c38da403fe20bccd877b067439bb1dd9287968b6476f921d9a0bce12a9134b8bf1dc51f250c8bc2d197ce4910e7d781163d88810ae870c8b617caae7d87c65c7d463e266ff25886d4f9853b992385153a09ba0824a2f49b7111d18607317a246ee52cf919a14435c208c1ba39cb33426cf36edfff0d998a3a577dc49d402efefe0cbd0d0084465d4cf6a449cdd1e1a5c91dd793929a519b50d292f9d9c91c9b6cc0277dcb2ce9bfaa4cc0b6bb13f24298bbcf52f30ebad57fe53a7cc715c1bdb302e9aa41eb8f5a4fe04fe0005300300a372090f25228e43b8ab17cc4755acdd5173a42453dd4b89ece0766823a3d3c05883e864b14ae73cbac0c5aa38f037761246792dbc892ba97993dd4fb958603b3173c39d51d9bcbc674878757b6abd417dcdc0dbdcb2059bf88ed24fe2b90f02e8e61ebb1c95074e53944e046bcb8f1d87e542365944223b51787d9ee7422e5fb3ef918bba0d582dfcda260023cb45f5baadd8031896a8e0d0f45539c8ba6e4436e71a02fa6617aefe9644d8a643a24f1cc73eca459a8e14a770f1383d6d265eae096e0287f8aad8184e437da64a758b07f9591c5a18a2bac93874931c32715fe560c22be78b338fb86d5f8c1029e9ed1d06ea32f4fe1a9584217dad1dca5f1662ab97e92b356604828ca3c3a3eb5cf2d9fa5ebb74566f3507ccba718b10fa523dda5bf87a052c2f50f7848a73d44b1b5a710a4d0355c6edb4b353096142d5d68ab257ab990a534e868f2e5446f4376c64e4fe4081d382741cc9481a3af7b82ed80d77ebf34389418d5f4e82328bb03c55b38e2db7f207d88d334ec432042631f3fba04487f06972abb5fe02b6c4a610e1353a64350a2ee881fb387cef669c5e9f88f1e7f24a31504e9a865229036ff66e95f00a86570c141b4e51ad811800c190e636d62ad5a2450e22cfb16c8a09557a55d116153a30f317daca6850c7bf7a538472ed42ec5bf02a9129c1e04b83f6226a04c835749bb4d67e837a0b954ec12db0d2938cf6999792a287d23f90cf8a98cdec2c23a67734ce1d21af8668c96333e44b08566bdf40704806c173102bc31b4a0ef3f2aee88b0171f7fc23a4b06062f39ed49d10b13d4cfd3aeb0e192c4f785bb834f61850e86722ea59bcd5362379d2d364a8ff7473281177113aa575616f815a3b09972daccb9e236f3ccd4700c2e88df4539515e8445ee9fcf96ba9dac91b909929cdc7b6c5db7549449d2a196447a3f29c25358a1dc6f3510798efcfd68d09c1ae6b0e1b1f36ee86b054b8ea3c0c2527737acf2618c7154a01c33d6616bfd4d8f850ad1609cb768a8d81526010fc8bafadf20132ad6880edbbfcc5c08d27908c3e30bcfc937ba548a8b72f9a1a50a598dd0523b8fea1c0209e152321a0bc6ec0cab311bb7136524d0b6338dd1ab2c04e42c19d27125ae8361c90eaeafe0392144930ed0ae4148fc88e0df698cd0cdfc8442dd7cfc05a2de534986ae4748b2318c8ff1bcba3165e13f7d7077f90316a03df947ed59310c34ee03c03a8f7da64170158b1323286898d6e02ccbd53e236e6b403917be165829bb6cff8a6c176c56771b9f4167b59043cce77a4ea5760c99e729ca11d050805fd728121b1c863a68fb15f543a833156d9448ea4759cb304b4c64e247f80331212ef43c9b48d4aba2d4ef492e6696a6a80292bd9bb3bc21ee17351d0fa1af72cc356eabd1291e645655a43dcc3c03525461431e12529b1a62d5b6f2309d1414c39504705634e5567c3970b1fde871e5a2c02a36bd154d41b8669a9c2e1bbe34c5292363a17e34be1095a15f4ad4add9b0e69d48e10353f9f3f90a296c355f09ca85d3db53a9c4561dc4fdd38a665cc0d28e8443c9fdbeb1c5940e5aebb9a198b2121f410242dee185d06fc7447a6125b7fd62ac5b49361d25c629adfb197aec93ecc6ae5558000c6f2e74e3cd2224cc70058f16b3fae9a4b861deb255ef0d18a69df6434a0e0d9920e38df516d699984a4b4e515972aa15722f0316397e5ff15d854a00cd5abf90de3c9eea8b2965bcc8ca096259e935a26dbbbaa12a49b60889a9a4567c1d931f1e9d7cf0281cfdf093c4586e44da7a2f0ccaabe970b06a0c7e749d5ba392415ca22aac6d20f0119ad47f5aee54b67007d7b834daec6e3f910c60eafaea474d30cee14366d859bb906984ac30500e982feba9f9d5a0c2fba3eb02f19b700f8f8b8e90d79be4b8eaa222c26180508a09041193704a8172786130d3db6e664170477949d5f968d9bd45adc7ff3f5f709a83e56df910ec63bcd348d594dbc87feaccea35f3da6c49bdc8d8b0f7eb04a4bd06f8f92c355a5a53d2bc486ccb54c144b545c3ae9efae89440f43f3f3ce58675c1420a251a121d1555bd52e56125706053b447d8b5e16bd3de806b1e5d6a109ca19eed68231a63399929b3ec56a4109437502052673934a8a1f015d425a147551dde40fd296ee03d98f08961174901f13a0271cad41fb2a7b6660ab7f53b500fdf87d244ba287c0459d065ce0b947ecc0daa7e29499efd4b81a26399c08bfa5f6f3a5cb0fc7f673b085a8a08f9379a79019c3051b21c648c712a57beb51429600fac48f114d1cf0e02bb4ee5c9edc5f87aa57bf12f8667478393a637d18e6b7d4199e0c3e2e1e3be6090ce3e28adb20808749140573022e04e27404725302d8180f105496f732b55a38e1ecb2cdc2a7cd29542843bf558aebf018807c60dbc8b27ca2402845f1ba2b91b910ab9e3c2d040534b4620ee8765d13a00660408ca84c90ea265a1e6f0af279234801015704991b1e8d2e86790c40fd161f12ec2c258e1e0e9299ff9f865cf640698ac8c880611940a9e9a3112987816babc34698fb435b3aedc3f99eb6f303dce0934788efd61eb59064af010ba1f7582043cdead790ae81f565a5769ed1e1562a4fe014d088f04652d12c73c7d18e1ce3c80d3df9ed0eee8bb6a21fa81d070b710eba029bbcb1318e08bc91167ad9b52ae563a603f312a3276d9e2e014babb0b910caea89e81839e6854fea58af1f09a35a6e4cb7a6f603601c1e0bc6fa642bc2fd8ce20cefc632540d8a4e310c8a6e1d5de94e520908b1f62ed111172442adff133dd6dc03aa2dc9aa4ad81638c7825dabfab07f3e0fc4687e027b14f5a535b5c4a5b47f0f94c0fdcc287acfd9097378c2fa55fd8da73ad45622c242143e7a0c62cae3d3d70f299ea15eeda1b820213ae2e1849108c98e8c546dfb0af3d9fbb29b5e6fdd889dd0972744a82df01b6d79be41fd844455dd636af9890e849deaadbe1744b5c938d16f7236522d81e9241270c6741d589a4ebaa19ad0dd06ad9d29f014681636a1c86a0a0704c8937e8922dac454b9d2c9e70f2b102ed154a7a61db1e2473eeb998e31d0fd01071258933a2307983890ec9f1c6a741ae8d63a99facfdfd5ab38dc495f103dfa38ce6b5451cd5a125d558b225293427cb1601c8b71ce2bbad360e610e839ccd9988069ac66bf629043444e6b5f9c964fa352f3b068668e53ae6b2a037fb848165300d1604bdefa8f70e53aa05ece9cab99c5cc1438ff3e96aa4debb35228989bb251434595b6f00c568274918912f8c98ece3657e4d1d4bd819f3e1c36ccc5df880819172923a3bd538a5f4c23c34e466bfc50b40c62c9763213303c8d34026e3994a3fe27d3b195d138897e74a0341b74b8742b4f2506e59ec42cba3fadd669a42a6b7d4c5ee4fe3ef442e33e1217279c7226261d4ae2ad2661b622eaf13cc9a811d5007f6983565c2d9a5a0ab12518339d92e2fac0335775b06eef85d0afcb1054fcc6ba1458e74eb9304622fefdef0d8389020ca076e4b81c05f3c943a947f2d5c8098ca3cfc3f6b334321cb92658b8481890b40cada0e819f210f7fde73ae95425caa5e9f6f0062acb61b95ce70dd9b516e37a901c5204d8a1d84408f790dd1668e1ff853637d013300dca156032ceb3a8f0e81af6a4c4ba74d23e56bdbb36b7e7014e46f92430aeebbb77988f008b71095e6990ec61d29d8130ce31e0b4205f6000e8291afb0d3a22485511116adb0c552da30e3d2df5727e0305f4172ae294e60d68b9736603a9f7c6b0f2e0c4bd00eb9ff1fd1139b0c4b8a3a3a2011fda37431a7650b5ae5f378f109056d6cc75515ff5bc13a0e3dbd620a19d8c47817878bfc1f41b920827afd87451536b7c01be3386cdfc7b43ba5051e98364ba320d772f53b88cf1ef1b2d141666bbc6700def8d74485df0d1b2d0b052f2887e316c2c33f0fdb6061a9b116c7632fb530b97deaa4c67f5fb447b488eb625c76853460219ef55219d37a5d65fcacc07b0f6c844676b9b266edaebe903796c9ddbf5755b29233e343b78a9766b6d2a8b84e1a2d09cec8e3a4463ed4f8c465f8f37a092cb4db480275662fdeeea75029b8c245b981311800fe7af68da7feffa82906cc11e60ea3a3d253e992afa1d9d788f96e4ef593372d1e84edae2093411d7927afbd98701785592adc140c73bd8673753b149949f01d804d9063ea32401b40d408b63cc87bca60add09697a429a0c3680a2af54223067836d41062d8096ac5b6dc7ef34c90acfca67a64922bd36239dea2242ac2edf1964ed05d9c83945708799193ba94c1dd7362bf025befdbe977e09cffa37242d362caf98801890f2a4aee9e11f0578fa7ca296a145479985c78b7ca7407038a0a36685d40125a4d0766f8e83051fe07e30a70a20a801dc918073461438d48e6343327af1a3e1e4b54cf18738b0d0513853d80eed8ae7a2873c1281839efac3fa70c2b00f6e20ec90cc11fd6b0a0df0c037464d9237ff9d6f6de5b4a29654a320583063106960638602991c80a18c4a75181891910a1c111559072b0a7d565222b72b8312e1349c9723ffb4be8a04329a5b48416104127c082091625d249105ac420baf8e1678739e79c368c60f240e7993a4f449f6c0a88728514a2284ba22871e965a22849446e069aa69162650477066bfae2a5880f5e5860b71d74394ca92185959789aa44791181ad9789aa444154054603a504d1a723ea810ede65a222201ae93454d1c2e87ef6092d9c207ac5c0079aa68153ce29535d58bf4c0485871d2824804488a0e8104f1dcdcb40b92105f5c4b00fc110a62cb99c02a60cdd38c265a22940dc96cb445386f40e14d0490c1100061d832a8e8892d47394822457149399999959935a747777e832469f414a2a5a8cb1bb3b8b31c61863f466666666aeb0ebbc8f718f31765dad3442181a389b2c23337367be8ab73beb6e1f58f8b2fbf963642a972595d2b30abbb9ba3b33a4dd3d03cb46022b0b0dc057ddaca506eeeeb42231557556991dc5acfec86a9c24f04aca8716b8fe709270010df04a6601c4f58754ae4441ad411026e69cf3e9ffa8de912a035fa22d288872d249ebac32738e9be69ab792227c80ff387a169ebb289509020a705977c5547ef051e45157ab5a6be53a5b33e87c63ab2011e1050b155c588992847579ddcf7e94a123a01a40a0c2878a9e297ee0ec0865c5e2f243231ae02851f09cf33263712b7c2eec0f3a1ec2d3b0124243820b4da0019e816fe4535d58838b00041440c5750736c301c506ad9cea37601f82841bdf8df04dbcd1adb8d1a7b8d1896eecd8b1ddebf4ea8fac891c9fbd3cb59a09411cf13f192f4321a80322b93a486e741e7aa4e7ad5ec56ff1213c13df75b88f9ceba450c8beec83dc6adf7a40bcfa4eafe21056731e9ad5e34354bec333f137245087f3308ef8f10618685e4a7bf92d29d0975e0bd9d307c396ae740dcf69d2e64b158e7b805ed956a6aa8dbc25719af31df99fc36efc368a5939ea38bde8b05ec5a21b7d78267e74a6f2eb0fbe911fabffc416cfc497568ebc367224966385b11bca5c2516949cbb3082e4caa17409a641b00d8d0fdf9070fd6911be91740a496f70fd455f4083866035124b7daa8c11e8edf4270f088d2ea8b472e807c9d93679d42b7f4f155f73626d7c6949afbcf42ab9644c26c9d884f18dcb44e21bd37bd759adbb287b51a811feeb2e0d1a23fc572f8dce768f1ae16974d34837617a7e1954077c411cfe9fdcb0c45c391e8061c017d4019b401cae39b12daf39b1db6fb009d421631087ff079b502037c2f5d8ffd2bfbc2cedf88fa51ddc6fa65aadf51dd9f7416ee9bf8f7af52f4b3b4a4cf04c10ec5762e2fa975c31ef3125d7f52f31c137b12c56fe7fe93f19fb7f9c3679b4480cea60c6917a4ffdd72914ea9bdee47df4e7835c003c003c2014c8595ca23e368c58d35323cdf297a1a23fbd2ab235813ae80f8cc3df81e019ff0f4271fd61845897d2fffbbb50974c5ecaf4f1bde792c94b617e8c60589897dbc09c275dc330f451afa4cae449551fe1b807a84a259bf4ca25ac572e5fbdf23fc2f1571d7121da508da0fa2c8cca85783ff9bafe29950b12da307f3e76d1507d16a5fae693ebafa93e68837c758dd604a6792fc0bb438a349af17e7aff28a56b62bcffc74633549d746a9df6974696b8fe82eb32e8ba8fdb70bff8d315b92ee33fc9c3f597e17d2e65c8f58fa172243bfe3fec72bd5e3058528beaa371a0f8e413625d6e84f58aebb1f14b9e037d9d74a98f17e1fadbf08303d0f5d8836781b0a4eb9c438bd01fead3ab18f509d2a23e547c7c78c66912cff8478ff1a33ed7652ce6b5c66025193a08f75264ca2ff2ab68afa4a4f2bbae56ead55e491a58ecdfbff2a39c73ce6eb19825a19518638c2a68e42a78346457ceab4c4a58248da0915323c8c33692e111bed9e11bbe5206a893f24a2975b8f27ff8e770f918f055e67d5de5cf5e08a7b7e219f9adb982f9fdcc7352ae93521b6f34c1e8bafc3f9aebff419d2b48593650846dfea639e10dc6e8d1899d386d43085b91d8495bd6e8df208c108bbaf337b72fcc9acfdc0cf6ebee9cb6cb6257473742977fd55aa75ec733f3715a42235867bbf68f129afbe57002f5e4b2941c846192b3c707e6c4fde00f3402545daf289edc2717c222e824cbb6710bb81f77b9fb9d2ef75ce572dc57222ee7248bdb452d0a9fab4d611300c3a1b483c6e4c048b20e76dd1bbbc62607437e2e072b185064a1c2060a20a050a2e406119147e4ca42d48328526cb5d63e576b4f1d4cc704b6c38c23868e70d160520587130cc5245602193f339c18c10e318a4e4e98c007971d487c643821d4c34d947a0e731611d601412e08bafb4277e5338771a5273dfa6cb2b9d0adcbaf5d9491e632845db94d0cd9fb6bff3104f9c8de3f06fa352581f9f5539cf221b5147b3ee6d7d77eab9cb339878a625dd529fe17e04d71ef837ef6a587b7aa52fc31046d1f43f6f463082a79efaa147b29cef391e56c9e8ffaf163885e8abdef95f62b6769b20636b5a536fa15c89e7af1b3af408dc1bf7edf0078e96b5e04d740559641583deed430d1bd0abb8a8def7cfedb91d09a4767f438e994d1bd7b36ee9a7697ef1012e1b436b7c94d1eb33f47ab70fabf1c26e0f0e09e935a8c51725e638cd2fbb8e814adccb6b170fdb52e6cbbea05694ac9874598bc948c31c68e1f630a3b57803365dbf63ef9f5ad8a59dbb89726382739ae722fdb638c31c618638c2e637c99876c258709bd8acfa95652db386ed37cae78fcea65563ce2afb8a506479ac478a0ab69026dc2a84a1729a8f771d1295a7b39cd0bcbc367addc57d50bf252faf0d2d7544594bc14f5be5773be1604fb99f7d93bdfe7c728b27305d65f7b1c8faa986badf4e96bfef405fff9399a6ab43a75cfe15ca293870a4deefc1e5d23e3ce87a16b74da86bf68b55aad1972e61548be9e2bae985b6c0917f7e32c777e5c74e76795ce1c39ba86addcf93225748dfc399fb9f400b6d2f5886d63ee03f0f667bfd5a96d1c4f559d1feb9c73a6da3b817ef6d9f36d1b449da78a5bd4368edb3408f09d5fdf5327d49f2abe5db7f7bd20af945358d9f52a6ed1ddff05791bc017a6a08cd7476bcdbdddbdddbdddddbddddddd3de6eeeeeeeeeeeeeeb08568874b60b0deb9fb4b7bf9925a89db364d6eb4baf6ae79f095b95777ea3edda5bbbbbb47f7d796b03f6e846f5c6ffeceb9b7bbb7bbb7bbbb7bbbbbfb7bbfbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb37dc7177eacefdd6c3722ece729e0b6959751fd23cf3ead4a7bbbbf4e8d1dd655c06d2a56d9ae7471c892711e240de019e698eedc8212934a46dbc862b6dd35598b505eb68238e477ce3afe47e6d740408233b14f11b782082d40142ccd25d20dd86486de3551c0a8c35f04084210e049dab0466b97d45ac566b7786e2169ec435d42bb8e314eeecc49d49b5dfb68fded7694eec50fbf0cdeabbb771070ec51d9e89473c0387c09efe2cc629d13183b1bfb36ed841b0b0db999c90b0fdd33e1d8349f095a3566bbbeebf63102e81c16d7092b8a42d494b2a2571de673987d35c2eebacce9ebd6ed3b2cf3cf87a5df11a0683bd7c6ebf9c8544080b8784b425ec177fa2d00cd2ae0111552182aba4a503d705c065a22855eeb6f17792320476a4a86b60f793ae813ac8d2397dbf9672e1ebe0e71255317421bc7265a2ad0283ad17feefd750426f2b92424310ff7c374259b15c6a2eedb81c38dd7e56d95e3534a222a1444b753ff8b3c3a4278a0b3f0afce199a01fbee187b19f340b46e8d3301f8afc28327cd88211f679d185adcbf06b44a32a448b0c2c135698be58620a8215124b4aca724468d52d3fc424d76312bea10f33173a55324ec47e5c546342f3e9d788c57e5c54635d337f857a7db582db48af16b11f1765f198dbf8f4ecd0f40a4e77a962eb1c7fceba8dc3217c033376419d2c489d152b859f94603b0ebc0a37f8428f7966cef9c3db40afba52c9d9541e6096b413769b3ac033393e20c2c2d18cf5481c97cbe8e7ff2953213d2e2942474b5c2fa318529626b0a1aef9e28e109224402ed71297ab89ab0747e3328de3342ed32ab30b035df38301383c58e8c00b4054e8a1491518d02b9bcd638e013c18d05395882d17f2265df3f98f17391217f2a1ae41b9915bf12b9ec45d9906e43f6ec48f5467b9900b391217f2242e145b39f8f00dec8a2be909ac28d62d29462fd792262ee8c33330b055e4fa342598c059d8132e320c2605166b6cee1f0a86910a5dd355fb0ff670d9c3239aead42b38c4834fd7a084a06b0903c1a888152ed3768afc211750842ef75aade183ab4b57bf05edb9ffb4e7504fd8c8317591ffd54c7b199965f269b86a7398e083d8a9e8e7f67799262117303c73ea55735e112ea5c76d1eec8145b697bd715ae659ae56235875d858e68bb0a50a6cab136b4781c79613643d2e51b640214f5c9dd5f65027067cf4a03d5c16b633e405c85d15553f380a694aa0bbbb9742e1e1e7de95711da67871bda5782122eabc6050dcef696044528ce0cbb14426851501b50524902feac221367134898438d7585160d2238da0d4beb5d65387839fc8d668073a40145e49cee26a24041e149a68fdb430889789a418810e4dd384f1a2c1082b7b10c24613dc7082eec96b08a2d7111a1d2c58a4bc509952058c979722292f54b04ca902c6cb4b5115f91bd323b2a3bfc512207aa468c5fcb80860b6762dc519a63e994ca519260f52119403580e10194c43d88951189dba3423c653f7a9649a11bfbdcff4a97ebe324eaaaff4a96ee133fd69c60c950064a83e16eee96169c7c993f1f365a85e90d7f430c9888bc4952fa3af96c5fe95e17dbdd35de743c7bef6db739fe29c95b3be041a9aeb37b08de6b99166c9974776400284e601815288002bca012283a90850cef64064a03194e32f435ff1ca097279ed83e4a870fa00f235550e67c9b7a1036b7a97ff72cc7817826da0918c6f79e6d357697cf79df7754bd0f03e98e43b32bcaf05e57df5d507903d7786f775bee3362e04b3e4c9fbdc882b5f86efb460b151ce02814e44c183580e10194a347835502c27c8e5614e8792c27efee33f72851efe53a5fff8cff8938c87495ef2925a927c08d3cfbcd29be17dbec49527eff3175c29c3fb3ce8caef52045a3e95824b0ba57779beb0148196371511e35d6278304bb3a4544146c9af1f2ec011950ff91217820f207f53f9106c00f99aca8be002bc3b124fe22e178259ba0593fc27f32092beac004b95172c55724c296160906c7d157a256138bd9210d2580ab00df301400043d7d094c037d08b2cae7cb6e24aa204dcd8e6d6a2aabf7937ea03e6576ffbff5a6bcd54df6592e31cd65fb32e2e2adb325f7bf7be57f26fdc807053dd28a964a6b0db7f3257ae1c5edf3e0077987ee352adb064da6e5c16eef6ae52d5776d01d9732a98659e8caa782bdfd0f08c7c291fa66d18d019db14404686e6ab8c339f6857ec2cf2266c1a6d34404242420a230c998d33e8addd2f5e2cf3ffa67cf8d39f803ff5e0ebfbe71bf8f1559088eb4243263c13bf4b3ba0075f3c131f2201613b29f68ab5e412815751af5882e12d57c1942a60bc5c219414569b328df40a7af3a757f0b3302cfc6ffe706cc37ce30cbd6fc6855f690af50f3508ca174e1461c162e40bfa73e56f369e587f7f754d6c62031c82a10edf70b744107cd3d917c0a01e70b8f28bfcf4f0e03e4e4276851ebdd2b0b01f1bb1606404818c72804020a39ced251ce2e336565a67c977556d22e5c76062b51deb51fbf823a25e36537dcb10c17ef46e3ccb15926d1824abe9f44ad6c033f2bf1918877c862d9e918f1ac27e3457d21f1e0bbd92b06544e32cf9556e2d9da2957c172fa6075b5dc3f4472b9a52058c205eae2c22e55ffa96e73ee52d6f1f2585fda236453acc5f615895b7a8fcc759f2b9273fb08dbf24d0955208e9c337f1b53a630d5f2ec433f263cc6d1c0966c997ae30ae74254a9efb384b3e4e4729658c45a498c4a962cc4a2c76e5472c1c91f8a637efeb240e577e8cf14d77a5b4211661eba15156f1728328c282e58b26fe9b5009ab1b2fd3c174ab593a6db35add78990ee6ebd6aa8d609b155c3212d7bf81f8c606b6a93a7c13b983e09bcef6701b87ebbf82db782d2d383ce3df2d7f1891eb2b67b9766364616314b1df6a75a36be0fcf630d02c5fa15737d8bf5ff7748bef14d67f83dafd6c8541b28d815e797489c0cbb54217f6eb56b7bad52d9d5e79bb7811bd6ef5ca6308b15fb7ba55bdc236295b5087f4a80fc44103df408f9a8067bcb62eac68e56d24d42e7721a1aeb3d58507f66b570baa26500ff5e91a9a4f546547cef2d78cdc268bb9eeebd37cbcbaa00e8d0ae33001df685578c6df8d4e27b0d991dbb83ff43e3e5af9bbae7fdbe009b6e198e552c235f3fdbb09ae91d09fd8e749a74c92cf06cb6ee062d802fce03b84ef5cd7400ffe762ac2f6c3d7b9fec359f0df95d3aeabe3d9a4d9742a3f9542e478039d99d74a87709f3308e9f34950508c0b628ec41c89098a61414c123146c4b420a60724848eb0df29a60576842ccea8f237861e6c081b36843d293db5cba0c19d4a27cc289df0526a80d7a851a36bd4a8016bd460cef485804669474bd7755c4c90fd6e5cfe8d1d421a2f5d8d170eaabe122e7f0d98d4081c54d99035b897d20935b8148461377d32dc9ae260ec77ecf67c84d20e2b2cf43ece46ccb7a84a3bd8835eadbd82a13035d360361818ae646ab12e31649c66a0687413866d983c00c3b829146250177a1f0c978426a0fcfac36de67307dca6b2730e7708c4d1efef9bb4f1c47ae984f8a914bc1662af2074f18df60d8be8a3db9ad74716ba86401d30094c72fbbf9cad723f7a3c06e449481deb2b0d93401ddd90061ddb54443c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c261a3ca816130d1e13046698fd0d554033cecec84c29146288c41041a15031445028140a8542a14ca8182228140a8542a166986288a05028140a7532c51041a15028940c530c11140a858a618a218242b99868ecc41041590933d1d841b59868ec64598c31da964a1dcee971ece601506c1b0be3c11717fe09feca137003e6bce43a37e12737cb078740b91fe4a1e84223473ad73ffad7a32aaebfed8eb2b8febfc5d0f55f6d81e5fad370f1bafe3970baf0b9fe3c8ab8fe3d6270fd5760a18aebffa38b1e5cff0eb8e0fac370c54acb9565e7ca518f17497c76b84cc4832eae7fc32168816441b0c51543cca0061f113421a16871e4b4f256bd82df39408b214140a265c40d88a8b86282cf91f384ad5187fa3390201f196dc93cee5641db8fb56f5b3c4bdfca16ba94beb3e84bd567a1d0a55f52a5e407c9e9a494f47ae8f491b3e807c9695dfa41d4f42c388bbef640827cf4d73779407a641e101c67d1d73c20ed01a1f1fae8a3e11c577f0ccbeaf797bc0e388b3ee7685e4ad2873bcea2f43522ecd3cf5e1ff5fbebf7734ee605c9ff3876e9732a78a4571b85409766afbd9679d0c759b4939c45abaa63cea2ff24b05f1f5dfa1c7f64f0203056a18d653e368abff5f480682f1f48f6953b4dd5c38b5240aa04eacbf751a5fccc03f2fe35484e901ca79e4b8ee51bcb33fed1bbee496c2ce3f3bfe80d4de8959caa96db30be814674146c03570059f225acc1910c9a4a9422d84eead8506c03cd927f65474a16f806be74413e94edad2bdf5b52fa4426986766cb56ca369e9919e398ffc90b248690247ce08511625bee17399e99f36d0061398b5821430819c2eaecd5ab57f7993d73adf459c58176dd0add26c2d03514eee4d0990a080c2d80436070960eb794d8242884ad760d33b42f218cecc3c6ec31bb0dedb5579961c3296284b285b6410507da05b16cf3e7ac1dcfc058d9595106e8b068630358194a5cc8314629a59772ef84edb6c73c037b20216ce666668e9e08e073af20b7d01eec8d0a412e07a0ebf6135b8c11c655f41949581681e5f72aa5cf94e93365e7e26d1cbc670f87f00c4dadde97c92cabb556b96d31abde0c24acff674b9f7d651b2e466f2971aa7865db3695aa4909d18428e38d1829130a674739a1176ffcfb7a75003670c249153f7c52d814b2b12a025471cef9343e8d4126ec196cdb94b1eb1c3257fac3590c6b95cc347695e254ce29276586f2870a43a5941a81ed544e39e5a4917acd562b181f9694743e0113040baf93246077111d17168bdbb50a276e3f431bdc8642ac8864080a3db1b0476e000673a407859ce5fd60a1579a11d648880eeea007bae4a02400f73bdd6905cb9df3ab912cb4e8b80bb2c30872f0a28628b8a08224a7b081122473ce794a42422b4f0cc0896d45212684c124e0029c400fa8430042200d43e8b8602c608c31be7d62fd5bdbe2a76b1c06bd1e3c133fc6a7b195dd5d397ce559aced603771d0c1a714996244da13e0d0b1c8021ce0153a57582b433b5c31547f28aa71d239690c5eb2b000ca0d866079f8813291f2ba93080741a78e528174674a08d6e532110e96a099378831c658233b819fc1e79b98cb3f420e6ca66d5c69c618dd5d4a195dce29a329c6e831c6e8ee3146772fa5646399e66a700cd6ee77e3d2d874f0764f33a5bc819cd758637d1b3fb091af2c4127f693b92d9158b9c718638c314e0953022827a553728ceeedddddeed09d795c9ee18f31c61863a41e9ddfbbbbdda9d7da75a82626c7c853724354ce342de3958a67f83920496956a3cc65f7ee2f721c10e41a199de6080b3fce29257d40cc6d8156296f548fee3eb913dc2f05afeafabcfe93f308571c11f3a18c6497e9153343aeca8f314a7fe6778e21442bed88d9e7d763e4acc08fa738a9bb3bad1e84a380c7cba38c52ebba8d8337c0c87152d2c699a2e633d3b44dcba66b9aa665be691e8d08a2344d3e78c4f9518107bfe40dace9ac77bae776122da5002ff45437686995e45de734ebba046b7f8c98dd382ec9407803d6d01a312e73add526c1a4a4a424d5cd327067d5bcacc28659605212d344a7d6a51b5ca88104488e68d1e0c44911ace2ea2c0c828b1e24dbce9eba2c8a950b9768d103c5c2871ba1b8514a29a594f3a594524a399fb1d079c9508132736512fb3246640b142d297a7cbee8410929a594904a4ba64e9159516ba5691aee8a58f6826d35ec507160a4f9d04399146544eccc579d08a8d44d5805b1646806000040009315000028100c87c4217130240b4469c93e14000b708a3c7c563818c9b22c877118c5184388218600420c30861082942aa21b0bb7b3126cec61df7ffe064d3f8b81be3d975dc7fedb7ed56e7339e8d8f3376b7a4bed37ff06a59f8b57bdf97d4f35f6f917957ecd7b6f31d0bd87ae1ec53863845e040b2eab5b9e9ba4db588a41ff1bcc833b24710d989e800e6774aa2dcd1b8ed1a9b1c2039588d02d0214397c8d954123fc473d70f41a0bb72254db6dd3c16bace79ea5649faa8e5d639d385b7e9663fca8e6d035d619c74d3291338558c77c634de3789383f6bdd5e87f7b10ff06dad28f45f2e9ae5e323ae529e04a8ff4daa0f34e6d57ba4b2f199d628dc08b81995abcc911432d0765e1f260a6ccc4fb7ad228bf935b15d1d12741b93c09ac88b1be2dca0f66b62e0da3ac0b4c80d2c3c6c9a1988a8775b1493e8c5b9f84727112581163fab6283fae6c5d5a8cb053633f99412502702409d6eb9246e13fb55de9ae5e323a25a5012e031eb719d3276328048074645d6cc00f13e9db92fc6d42e6258a19872f0fb81057be7c2f1260451054c4ae62cc7affe84c25d758743e012231edebc8211887752861c5d9f63b7b50aeb14453b6455fa5726c8aa009a861d959dca032ca259bd1f9549511041d72bcb0701a2a08637dc23ae4287c20f68e36504e653ec31262a6d76b801efc108c2b76f66782fb881cd39d9ab82cd442f308618c17895dd12d1cad970cfb536c8fb98f5e980df940e2baf3e2e1832c7ca3b4c276cc3ede8e4bf5c9401b4b8460c5b6e7e14d5d6f3bc198681f51b4fd1995215939a30efada24f3d416093a59130a0853c04396ffd2c3ba1587d2e7b9c1f5674681925bf214ed9945a39e6458edc4e21b21eb2c2637c77ae9839e255a4c7dd3c3fb793512d5bf7db3a9af3e9cfdd4cb1495a51f66bc3eb9d2b8c42e2ced51f0d5b3aafb7b0d857e530af46c87422a6391fde25ebd02756a5cd13f592c2bd9bfc0cc7e928e705b0bedd090fcabe841c93a2a5d8f9c5fb0ecf708f0acc5d0211cfa1dd725c5f2a3014f0186aa774886be5b8bee1519e66edd179e5dc5ce649969586363adcff3d30fcb2f2e91105474967dcd4c2f6da44154ac6076612fe47ab31205f788e59d8af9df3f74431183419f2667d147c0a00c3c443ca55809215d0e815596cf02d3e72dedfdba42bec1c51a745a4683f1835f0d3fa44e19b63d399871f43031cf2f5f16f6887277987c53e4dd2fdd3d2f5b5cd2c4743666c16abb75095e3b72d1c33c9f5e5bad471711ed5159d215197d5a6fb5aafd90828c8985a983217059294d67f623a66529abdab512cf389ba5aa4d74c66661cd269e6f58697c7325334486a22633e7de747e374e79e55e24de1b82134836f8928753c93d1c07b886dcddd8bc10546fafd7283fd8790cc86a963df2d8f8d6d5ce4695c13d2d1eb6b0f741629ce999afb598adb464d27f8c2d6e24cc0a0610b3b6c08b2c4775f14f05a1dea4245caeb1900208372ee5d6348211dfc1ba3d23193b274f9da068b5269bd9a5905aa4251e6670029978c135341b393d092ea40e0a1f560610e1ed389e271f0773a3121d8ce53aca13873e8a72858a0d5d573ca5a7215b2ed4eda6d7d918292c2d2fded7c06463e4d9b7e0a217c90547351db2882539cd109e42823c99cb5a5c5d2613c6f04261590254173a0028f428927c8e556cc7c7f89e8cad5905e7cd23e06cb6b3263666f6b8767e93cfab2b073188d67dfdec94ea81214e3dc98b5be03c5ee7f486e3f12eccb210c737014dbaede83c3e96d8fa8160a9646344b10b29a0bb33c65bd4faebf7604aadc9f27d5a2b4a5b98c33cf258bcdc194911b37fb12e64829b9b2a84320c1c749bea6f7ca66e6c15f7d17db2e3b8cf472ef83c961069c5971763660f842cc0f4d0421d264fa13ff8de212e45a240ce7f61235d3da6a64c753badf17726ffdb378c5e2585b2ad3f6284181303cc8e1b0a490eeefc2083f85463b1159c52f020a29a7892d6821f68bba9b08d0ac11f6834d2b23eaa7fcce77f0072a944d785445f2b04c2b745833fafea664a7388b7817f2c0dd04b02d3087378bd632583504e8bcb3721c36e690231d0119654b67400250f6a3167f7105e5ecb11087435ad4c323de247b428140759128512f3354de65d7b127c3a73811bd27ba1ed3379ffd6f1fba152e1398d414defc0c6641fb6545fa88f84fb23205be8e83cd207186a0cc26ee9e3507b3179da27a97198f5f94161b3e79b205239e1c8816dc40433594d3932497cfb57d37f189ef69bdfccbf99638e957f25257429525e767aba2a4a1bae83d8571db65a523af6bdb90d533439901bbe17713e793f42378fc417be494667c9fa335836134a2744b4f521a5685e3ee10b6d5f114a95a762a84257b4e37b0286663e0ded3b2c8bc3e95c07c658af4293b75582907a0de7045228d0c46d25fd1a849a33a0de6ed004809f1de47a7e9e69c1b7cc3d5ac65b8e698665226950cc38a74545b41710c51be49e5c1cd336553555324900374cce0b54d179a2d9a9b9a7538047b945b294aa1b23cf8314aab1e3262e7637dfb35eca6077e3cf77374e019d5bf47f80be76f36f1e837286d9cc7d2c992c295c9b6ca0e9199b34ae339b7ed10d18fec7ccc91c591626ee331554b8a1262c959e448c200e2b5bd28c457421b7589e13c4c771ce54438ee5bc8fd3b7f4ef9c46ce8bbdb21b61e420f758fea2e12fd32b2f1961d3a27be88bc5b076d998d4843c67c3e3bad744ddad99e172e8edf3b6b381851fc11561d0a6d09d28f7d714a2e9104241282c267e3cae0c887d2a3721d953299910abe884294eca4c1d339befcf29312ec71b81ab04fbe539c373d77f241a6c0887a7bbc13382151813c6286829d6a17236237ad5539b30dfcd85cced7c45839949d08e129726d314a1699b946d2a46717cd5f24b30052b5f0473f55df977bde4c12d8d5f3cd212dcaf1d19b53555d9ded7da9bcf8b98946edcc716103c82b57b1c02db0a40d8075e08df0d4159259531575bf10590815aa61c5165cbcb0c0da55b7abe87d0d2fa7169d611381f48726c7ef96ee31d5a2e651cf5e6f116178406a850979361b7d3a633b753d9b5236b81ddb1ebc8d9349f4492de79478ef32131504f95141d0ce285f69828188fef43586dc2f8fa3babb43bfb51c9765c7eec8685a7d9d28cc505aef8daa641882c810784e190fc3b950117c84e024667cfb4d46b66be4106fa93c3b37498729b2a5bb626c9304bac316fe27f85c87728e39cc6a3f1dc21fc7e509e56ccd83882b1a879dfaa02be8aa8372d6a6d02c2ab20db261d236d0d736c55da4664f66e879e14f0c5f7e142df562a2e1174cefbcc2e0f58de0bf2ee63fae3484014c983816df9b56e1220cca9250665483013e5725d548ce1bbdb7d99391118dc5d344608ea46878ca1ddd2c640881376b7f0cf50e518752c061b4b414dcd544d4604630b5605a86297dfce94e816a3fb599eb6ec2eeba8f48ac16195e61b23e58cdc20c85f2d20b92dd56576d443369b3b810f6cc6877f308fa2a5e63272060a4144b4a40e5351d1395c3e71cec6a8a25c72cb63a70f5561ae4f703aa877db92372647d2cc8253de5054875567bdce297462cede4e385b22157b46011ad16ae208c26ac264a108561205e65a7ee0005fc4e9b196f1ed40119ac0d000eaccbba8ae1889055e55d5462a02ae606a56370d1107cf6eb96fbb742c023309cdd8828e98928c8f747445d9d4a0208ae1a5c28908c4cdbb22c6c6d4d07a577cd1d0d7294d197c9dcf7c609920ed5f0c5beaf9726b1040201f6cbc04cf99b6264121338cf587f9cd71bc67c5bc73a16a9f80fcb1c71852a53e1442313cfa333a9467c90ed06dc250de13fbc2bf59d2581c3dabf8c0a85a00009d4db787aea633109ab8237aca5f1875cebe51792eccb16e96da714db8768a360fc637ef5bebb877fb87297adb2ddbf94621412396492c2ca424e9b9bffd1a7ca5db9115b04911aaadb5b934d66b27aca5245fd34187a5dd80a0c9cb2429913e05db32967c1599d2553932997a1f6f9698f682a9d96bffe4a0682b19eeac0297ea6392b526da3a977f72b3216a93ce7b8bd3786fab607220452867a4d4996043f09920645b6bbe6abb7f55c581454fbdc16e840451e7a13cb3da80f1d461b337854b41cd3303411513fff87047c4da8c8ff0be6874d1bd196898d08a0f377373481c29aa236147822b2ead46a0c23b988859143b347d918b18bbdcf42727036e83841670f81919c1841e965c973e7a7d7169490cde1dfd550ae04db5687c484816aad277986d1d780285f1120f65a55a548a201321a8b2f240be1f2ef3bf31246d9c64f084af9882a5972f42c3d7b028435068d08b9d5a95bae8cc0395800c21fd154ad4c29e4cd8423a8395426af0f10e5ef1255bb77e43980f84e0383bcf04895adaf15b6f792a755403387a5bfb32be694500a745878d83878cb497ebd442c77398f15261a67ddeaedd306083b43b80d45a3ddfa7830d10c6eb055ce3febd484a9cdda26f82886270457ea0c3f85916ddf2ddf1dfada555f58abbe0f1b6b5179af6c91c89504cfdb9cea470e11afe3f3b186690ace72bab415f64918e93f2b220f711e94d12110996ca7e73abc0b6df5fc3842443112998f3b90fcaf25d62bb0440bb81f0471b8591bec8c4bdd55b1d9e582a5f42832ed7e088175a73b37703dc32a103319792784c4aeb34f0221b980a93c9e5b7c09a62d1cecfc9e3e3d3f6b3c81b6a4329c54950eef7a082c6f6e54879260416a79d5f8de6528b02318d258defee6bfc6f213169a1f5d10c3a66966cef4e06f456fe13a1ab2ec9b79f8c1cbfd291e39e4ec54adf1b74f60f8437b3c1237bc435cb043ab1bd47c206b6166a4a16f046a6bf4407588bb0f97271d6a5243b0caeaa11753eb879aa6e5ff2c0c8dd09bda74be207ad199a237ebd1528551d0822690292201bc1c29426664576e89e36cfaf4b35e14349619edf5be0c895feb003d060faabcd62215f6eea3e96cbadc2e04214fe0a88f948bca30f435149c265c948eae17f98c92733303ec1add2db46120667c860eeb953f255847ecb664ee658daecfb9d87564bfe18478c3a225efe3b15444984bec13dd4e16a5cb257d210fe6603f97569abca1581eb5724f859bf38ff1d870a74eb0510a6a95352c138965ae0ea460c7f4dcb37033456e8414e87e07bdb02c146939eebe738709451f67d22b771467e89c1445d492be94aa9fdb0f96988a53507ee9fdb7b6caf676cd1be844fd4801d2324dd0922e4d2b26e35f2961cb85d74bd58a65a0305d29e785f9b87127230260c4a8b158a86b8df90125d1bf6fef6c64449a3d629aeac3be9141a9b9308b5deae147596d1ebfd3e04c52d5cd8fdfa6083328e1cebacc0dbebe11b94ee19c2d335f56ed0a77202f30cbbaf1d15f804d6dc3451499b1477805a1aba0976d883d5720a698e22ac72b53a0e01509117d8c198bb4804ad868ec5d7f2d3a58a5789c3aa83902e07da71b314193fd1dfcf8cd8361fdb6f4d3182d80db8a7a75dc97133e38caf006ed20d303c994c9fb6ddd18f24a40f6d7030a897c287ec6271eeeb15bdfdd33561ea52782bf4a2a2f13f31a019b27ab560c36c8c235e5b10945021d78097766f4525f2078ed212076b93f52a1dd04ad66fa848c7f3faabadd55ca1d5e917589dcc562d772ac0ecbb25c775dcf7206d6f513e5b3d61a54bc441cb54a91981e3e487f45ad0eebdce477e1f9418382ea2e2f0b1fa0175166c591fa86087ef36921511527b703a07b92625f08f360ca9c007bf0f53a8409f2642f26c31ae4c01e9a17c69141006d3699c2cba9941c338a01249d77d0d2290b85018275db0384f33c54d482665bb63b6fd1f17ce89f4dbcb81db42df06857f7273088ca6a168c0aa48800ef9992befe2e8647a3b5b5e2702a7c5cfcabd7d515a09911c92e80be3b33f1b3d606545ee7ace15044f7512afd4948e1d6799468aae453a5add20ac5cc45db39d2b37db45d7774fc31c247b9d428b8e98da5fcfcd0217ac3877ab1a190a0e9589450073618a7d1159af4412aa7fe4ddc45581a67584432a6cc1275c048ea91b53cd5c9fd54dc25a47f0c2879c6b790a484e3ad4f2d3704d7b3a32d8d46a9312df6c4098643cf1539aa7e8b5fed909e263da15c3e50e564f176848fd6d11a074c1b470ba1a0700917721beeb6e6aac1cb511dc6449b6c513bf3297ce0c8c008558a668017a449ea83e0bde5eeb754feacb4d41d81916c02e60088cd7177b1ddd912ced308641acf43c2076563e810395e314a0bd9bde085f2a50df8b16011764356eee14159b92fb209814741b50a72a051c578c9cad141196c3d7bd80b1d38314d8dae4d85c8b0426f2c1c876e77061958cbffa0a0c378576528281a4cbbdda688d0c4e128e270b20caf946f41681966d54d90477a0df2f9f6c5122f4506f9c21dfdc05e7dc8b4c6f3fb646f7fce71a8ae59947253da7793f79781a732dec9f15054be2335328bbea8b4c36a53b92023c856b80b078dfdd55b4af5844485449346bcb3bf9d8643f09e2c004b0821b56c4d85dd56bc146d8a6b135a349b78245d60e89c44c0ef5a66436cad7a2b66b5757455089974e0ba0f829096e928f7e7b497d93c430ac6c3502c07ca86a2f2103275b499c3f769eef9f4c4a914ea03bb201cafcea621e75c9795464ea221f487a7ec9d2e2c6ca4600176feb6abf6111626587379a7cffadc217da6380424d0278dd884d4d344ab202c8c2c62fd8525ee9e2381f39e25dc92c1a069901c000c78c843275c53395a0df869350468f9a6228fb8c1c300782d684d17994dcd3789b59846bedad976d0c6a34915f20a496d57fdc9da7ad2caa80360797a61fbc8213d75e87d2903303ca3bdb0d87a8ba4a896f9b2e1c113725597ae25a2153f1e9acd660b492c696c4757ae7a7af0cd6e9423040ecbc6851301182d28688219623aaa7386211193efa1bb02d89784b3d38690ae999a83b25b52deab062c47f665925171c4b042f5880da229512793eb91eccee45a53ac5457d6b1c4af359ca8037c6486dbdd11620c158929fd2f147defcb305aeb4887177b47e16ee245202a3634b8016842d0d6a4702b8fa7519f2511ca4a45188dc7bff60bebac062c57d484e1e9d3e9d92409720266d3e03adb13bf9e955c8e79230e4d37b248a01c4ced6a5b45000272c590fa480a3e279b6c0ad75f40c85bc2ba1f5d16f3b0d62d004c28cf7d146459bce510722148d62c9dd2d51bfb462ff8ed7beb4a213737e222cafdeb19b4eee7d011807343e450b72f4842b952021cd85e4f007482c4fb44e6a7b2b373a2f17f2abce0eaa6a9d643e832fb7ee6b92f7556083a55e8f43749ef32af96ff778c15b1b39c5ccbcc322f9152f0047321f7fc23cf1e310df734a0f048867c0802d34f80d89aad6965f00a59da2df32343ffa6dcfb0b4593b53797320ffd8a1a89ac3db8966e79960c485a119adf4f5c431558e5fa79682f50179f2fc7263849e910594ff40177e32a155a958ecc54b34f4f9df8b0fd99cc8ee31a3116064c865077f9332aea0c0e353356da9a9d24f7c76acfbef071ab7e2ac9e37dcf32f0635d3e558c16d9e33a278e8bcd2f56051bac6c8af573e6aa6c64f537c9ec63dfe6cbfd25531eb76832921b5b11cba11c9a25c07b07c38e58362d7bd07bc6acccfeb19b17c20e14f269260e1da3b3dd91bdc7fba56b811c921e283219ffbf001f9b0ee81ad1852d82d8010325fb67e3af2deb858e6a6dbaedf625c085dd7511b538924ccbfc187b99a1a476876425e2de1e1e45a60a63bf79ad62b6a248720165e8c6490ef7438efcdc1afee005288ca7ef7b26a0e2142ef329ef4ce17acdb52b86a4df22afc78c0215444e63e581bfa7601baacdefbbd91fa1f7643be5fdc65d5dedc8dfcf7a1bb7f17f97a4b333a3141c78a12f03e09325e99c0fd9a2ac57ff892ea141296bfbe60760d749475e8c93a7575ec42d2e031bd62a323750c105ada7c43ef9ce9d0b04bf41bca1c932361e26c6a50c693d90dc7e500d745e2c8334a16c811cf2a627b9825b077e2c5aa8e7f4a9ba9bf5f69c5222c7f3c44ed41b4c702599a2f405b158d64c296c37b823e3acf53dda54811ed5ce87d88a26d444ee4491ef0806273c15a357f8337d07dec1b96488e45550f9cf560eff5e91d7186ae383870f82d99ee8dde75dd7ca5d1ed0ec0cb98c49bd9d7c91d5422abb6154845310b457161d4e887fe1824f01d6273a93ee10eb761fbc4b0d2d84deaaf278baf3d0f3b71f95ed78d63324cecefbd89fb538efdd6b1c6bb6199537f70017e0862ab8bc3308ca226f85640dd8ea213511bcfbe21bc50474b0186dbc388f0fcfde9c6e1574ec7d1d27296df052482e9a124739d90c640aa43b9b630fc7e6434c2da14e385fef3b5065d9df6279dcea59f69e6e59dc294bf8e44a6e684075f6e7dc0751e63541499a2b9a55f47637f726d3406741ff1947c5272d84b34844a68a9fa2236f6ea149b44936a769913a7170a6a898f5ee2d0ca8448e9aca91afa227931b9394ffa22d34d8eea903d6520bc8f1b915db86284a0b7144849a79f253fd586322ed30d4b69589e7c1ecf1c9455176f562620bb59f769e59d09859ced3c34757c786808314ed9fe5508c649a585a6959c1f2216556dec0a1baa0a41142af961f7acd61502fd515bdccbf27a73c33d1b9c06f663fcc31f1f25f9f5d854e2a2a8ca3e5469cbe030e5af51c279b28f8f769c8c41c14f05e8fdad3a568c07edf0575ad6f6302f3001ae55735f9be7e1a0b68ae53da1116f1cd889311270f27aea01a20046578fcfd438f98fbe960909b3764c62214772e32a721c83099b9f3c8367e4b2ee90711c982455e6aaf67eb4ec9b78533066b7b05a2264dcbfe81e8d971dc44c8ab50cbcf40f7260351eaea77806e27edd7dfb0b09f168c87816a8673421402b13a933bafaf29f0a1d10ffe36fc757f9af647594ff09659a7435e13f5d946998ad19a30246089090857ff33e3588c806ff57e546c928ec7925c07cf426f1a68ea841cab0d48edf1dacf9c5f688d62c2303af0a0fce73474f6873b600cc7139e15ad7be71e96a2cb3f1458b1d221a7bc52c6f54f6beeb723b5c38e5d9c94141da652e4453da32e7d3cf34fe95f6a3774cd59deea375d3bbc49a59a207b9c228bc88272da247266c71110128d2e3673848268da26f3299944a6f704af68c944918e49597e613455dd3ca813dbed48c3d710388a0a932c0d73b3f6df9c5fd27457d6571fe5e23c61de9e3d933de877966c4f3538d11410f82e20a5d9ebfd43bc94ddcc9e52593e410515c78f681913d800cae993c75b899f83608d2a3203d697c2429e398a6e8e2c5d3b0f5a5501d9e7319c692dd21c216478e55329cf846efec4880a263b365700889d1caaf04960fdccc4658848c5992ca8832a006f0d695139a18021c803f90916069a7142de21a7850b2d60b2ad57ba0c0b8a5e10bc97a9371171186d66e27a28801fa43e77b944add18d4d2a69a95d91c695f46f86d0d6700414cfac3452c722c93e041afc09f5d113e8bb456156594f94641b684d363ba144902654d028ab4fa445844b6ea6644076395c6677e32a2c02136e4b817399249617c9e66eab4faf5ce39ba7f015a9aed8a241600096b6b9dd5e246ad792951776d6c76f55cd68707996485200aa9da9b5b7de203f5ff73f24116cde2ac31c27ed3b110e5ea9f5ea10ed99391f15901d833e86dd50496e51abd84a1f4c151d43a0035483b148e55d43b0683f2df0bb9f2399e9ffebf971cf952e839df4035f715f7072b4cc64d68bab5b21154cf326684270237dfcac85805b0d83bfe85b7aaa7c651df285ebe1b7baa30c1aac5d09ba8eaaf91f924d156327bd2b41c74749d0ea739e3ec47f46129a6533d42dda58cde1833a9ce58d45bd6b8d8c35d10c02bb7ca681c93c6d1f38483ea4aac44e8b20cd8c9bc839914e352a94da8b5d5894601d43861fcc6c9d2b9f07b44671dfb04fbc47dc5b1c7c968c96f267317136e3da6030aead5ba46b491cbf45e5ce243b95553e0f3b03d2852cf4d3042eddb93370480c0d0a82a90f7d7a44d0380d5f33f509a7c8db5dd959d2a1b3716d52adaf22df3c87f8197c694d88643f50c4a117b7af2065d4529155b84aa341fb714dc486ae9fad08a44f422d61e773f73cfd01bf0d65d21879ee104142c00b68699df0960a0cf532b0f0b9f6e20d3b4f7f61ec0f045612bffb0035d06802c80436aa2f6cac2855f60f0d064bdff9173c8de0a510d620ed9fb1ac1fbbc1c6073aa1d3be0de483de1bd00b2f6074388e21381c9735b58104bd15358b4aecc0e7f5a70d1abe1e850422ba67fb93512e053f7a9060a7a332f4222cc790f4564f11baf1addc80eb1b73d12f11ee4ab98fc1af12984f986a972385079547140b2e17bcae0e988adaca3c83bb21a62cd0c21d321b199d3c163f0cd46aac1c92f1df4e6bee84c0e61f3da4b4f6115e13a46eb0a46c6df676df3fd904e5961293942e9154d63236eff5b7f11da3a57afa70c61fe83287c981536efd6aa2a2cfae3952af1036976ce8d18c596a0b13c0fdf17e9a5b46ca3dd225f4eb042b7c6f93261512f30cc8effaf6e0c03990ad1328885f6ba6e75712fb2613cf75fb1fc59d11a94024604447913c249824f9034699c92aa346062e05ce9e618389a9ab2af64176f0fbb8c3eb9bdabbb86f0de76af0c0930d7d8ef2df2977c13f42718ae697ced6efced9f7f2a013fcee6b52cf86f96cc135e5b1ada3ad87b384e3322959e9a61c90a735ae8e82654805046789def0d53b425b36b7ae69a3998ff6e547c5388d621928900b37d12aad872c45e41cf8844c49cb445ff1c28d8102a85e27598c00a546b81558f7c7ecef544174014f45f2910cb747629fbea22c772785d698da21a461233c24e464401f69d3f478d7eb15ef4c902c5ff4918bcf77edbacbf16ad6e37e576e9ab3ae733885069264b109372705dd000cfd46a5bc77285b24e805912a33e64ad647f3985c9d1eaf96c657491d6e1d9faa755aadeb2a2580d9cf3707f78edc2a0a31df2d7d29430bc36086355c4228ef86813798aad9eb8f178f02a84e72a221a01d9c5bc306f748d58f674259fa80411bba8e6eea175796ddf5e00eef14c497446b05a14a1819b25c86123b8adeed8b4a2eae80445d27a4147f8367160648c4556e903ea7c4a6badacb48209aa145efe9df0a2beb69003b18fa0d9962cafa06775edf99b5b4946644e07899fa4ae70012a65f862811795970c8c9c0e4b4603a28cafe10752c8e4367c28253a55eaf570a8c823871b0c6d38916021b998a564838234abbae623a1a05c765c9a49769d20a63c531aebcb47f685f8d911a70bb47035099063c71d407037b7c6622ec9a81e678d09a5c28e3f017b97580198b5013e051e165784f54f5206335668214590a6a906a385e335a8b2ec627cbed0e59a8ac03832ad82f432323363b898826f1dee3f31d4a8e5335331dba3527338b8bdbb2cce977bcd2596beb0b696c6c36fda2c5adb7e67e7a8cc1ae030439961ff2f156436fb35d963172ebdf0455918233eacc3f7bc31d0dceb62938eed2baa5fb2dc0d3bddbe5c0834ad78e724fcb4b455b2bd8bedc2712034fc626d8d7132c82321c81a237ae3870471b1ed472cb0401c51dcd9fb269b5084ee6507118c8619d0dd5762d222678e265561a6c3d59407fd81ea8a38ba805d36342dd0d5cd183a562e8d362e2af5232808a98d0e51e42fe592d3c62450b1138fb7f35ec6dfa3328ad3b07c78bcbdadd39e6d2a56711da5110b1b0fe4e0f72085cf13d2d8d0fe8af29659f7c33c41463fce7336e818a03c89d8c871e22434351af73889f1107d2aab35a298ee31fd761587d480eee87b9ec9dfeea9c3c3469e328c17da63f339e47ffc710672e46a9b9571642cdf12efd50875f8ee24de9b67ffd8dc9e16ad5175b9b68ecc64ead85ffdc89905c61a4e42d4773deb24796a92ce7197050608e6fbecc969df89432513faf6af23116268c68777003c84ba6c366b34c4c5ad3cc2fd414f07a124b840463e6d47d0f45b13cfa90c1b62ee5d7caa60b0c006da84312299f56456a333653c499eff586b9593f5b14456a134dc46cd15365d1ed9ca3fddeea8352f9bd8b98ecc8f3f6bc49f2c68e2e7ffacd9e786e25f75864d3998830dc5870b5d9ee3b99f8ad8a0607fd1c03108d0649860fa60989b84afb7c34595db4481973fada13cfb405b8708d9dbc46c394131bf684accd9cd2339d6cf47c534c9db14a95c2a37fe2c62aa5b838d2416ed1f07d57115fe6ddd9e1cdbcca49ca60f13f4a75d8a351ae6116aae4701885e4bdf3c5585f8863f0e1f30ac9b2647edce00db8a0bb7a6ad8fcabd6b080da47a1053d230e7b20f5cd15fa1acbe82ed6593d1525d21316a96188505b42357affbfab55eaf264e12a1f9f85419b409eb1db356bb59d765d487f7494ab4ae767eeecb4842342f29e708cc6b6e4c40ad0f0b6ba48b284f7b73f1bd1ad607f957637ccf2c1d5ee293086235468512a13514611e6f99b69fd9ddcb9a7c5497961aa55288e4cd6856011bc35a481ad67381289d1c458f13ea0372046b4b1f8e4445301fd6f141ac8d0f6243694e69d727b043bb041b2d6fd7e14c4332687d4ec2c5fde4589b8208c0c93a0348b0bc41d298e804a718ae3c05dcd6330c16ca80ac348358f959d99c0b851b6d2152d82204b50cb6471df2afd4fe3e00e9ba468e4a79d0bdcf0ef13ceeb783a04fd9bd0d26976dc7258b656ef1ce5584c294cd9575e0909bfc900f0eb8ad495706a83eee08cdc59e115409b7ae53885151ddfe0b7c827208217b8e99071089140a01d141f0bb3995022b121bf63b098d3fe1ab1d99c403247d38364179c53f328cc6c9fab7217c8404978c8521c74cf90459eb9394a2cf5be1d28bac70028159dd102cb85a77cf00a730a3c2b0895916305702ac10ffd37dfa0430d00c9e638bc6ecb0ae1f59db6e90c82064acfba0f9d45f0e318fdbfc8dfeb342cbb04a40b371b5ce7e144e5f4d48f7d0dce9d0c335adf37c46dbfc5a08aab9337a71d2a0043cb4f5943e3c919617a09c3fe2a25a1534ade2c21629c2550cf826a241c31df1ca80913e0bbec126b2c4ea34751aa20e5f85373fef15be6effdb9d1830728c63a789ac583cf4a85f162381649018ab7d6c770754287eb3ce8fe8351de11ffa4165d230886a4071bbce31efe363dc09433a12bf93122187550b4f1096cba325f86f8890b3977fcf7591f1d248ff47ccb0311f9d4a919d0df4daa7eb8aae38209c663488b9db543e37318eeaa042418a4fe5e5985b67eec322d3103f592a3183bee59b093940c7f559886d2f48fd0e5e1b4ad08b423ed405c1b42c7c940136e781cc2a5c9ce89604775c3fbed9c5436287a6e4e67e19eb980ddf83c77c9088c3db4d2bb0683c2f0e410dc4f1ad74c041ca8df74616064bffb4c9175be619e8b5e8802f2fb20b9dfd4ac48c72786a5fa1cd20f061a38f6d5cc0e94ebe10863dbe5acf33bcab145bf3a1a71fee6d388895156b41deac25bb65aa405056828bf117caaa173dadc6d552bb20a0a3baabc6862d13973f5c4c4e50ca408bab71f32f0a58ef03504f44b84df12cb3f2828d36f259fb3a63a1c49e82be0a8ad533f9025424351c93b194029d208838372babffe15fa4de02cbc26789bb9d414110f3b1c0b74437d7592fb057af48313f3a1c820ec244f4eb4d6d170c490a7bcb9af05c3e4460789b94767bdb224fa7835d49ffc2fdebe8a04dca0c239ceb81c3abe969545df139de0fb8903042128191e1862d04f2977052da989d78d7cd73f4639758ade697440663432cf8ca9ddee178a94a23cc1fafd39d196ee8389429f6ab662de6a7a2c3de3823d9602145f1f936b662a7a1a6028a648d11a0ed80c8e4d52889c0b2107b7b19c0008b50a378e8372ecf822d37e6118a8e51f41c1d81ceca25bf9586b328652d6ba575ba12fcc704df742af6f9509c64979d7f55c6a920cc0931957b8a594d121bb29f406648de226b988b074a9414fd48e0270870897ef5d81333efd62aff57057fc99b860f575173f302243447e0c9de17128caa9a77afd72a48f221f35f1b02122769259a58cf830c79bf75bd01c6164cdfd32b7a82c412d46b89f07426d62cd63ba55e4557b830b006bb2d65906242ec1a8e4b38e5f3b2f1c0546a8c9d355069df42dd51a44ad2cf3f9e1a2bb0a7a8be86074260e48395dfb0ea5b0c323d6c92b10946610f5c94d26db0d5215f4fee4fe6e41fe1b76761c73758f5e853f035f59d72295fa6d7e5c1a803a45f1209fdd6de7bb48adc1f25b8d73a2337bda18a48b5e3ee2198ee6a580841eccded5ecb21e5b207bdc7db72a92b517fdd39ebc2a61b49b6a09affa974eb18b7ce078748bf1555a2b701fb70482c8414e86e436caed9b7a097aaac1d228c77c735fd5df13122a5a52a38a327cc2a118842bb118603e93908442f23e98be3e0f35914d324e6f95ae5754aac61e03ceaaee5f8a45099835c0a66fbe572ba331e37281d98c106909609e34152adbe71dc9bd198e83315a482fd85c107b6d14970ed61a220313bcf4a0bc107ba9c4fec2cb1627f207792110e4998a419335411bca888ad99a6474d3aaf98341ced96a8d71f4ee69f34dba92dc4432a80d613ea9653509c48087d1aac1772a8bd680f1f1d256d7fa16a653ab04e8a4e10fc7c388d3e4837271390cb0a9f22ac88a24503ffb73e806a7f0a77faed0698311f3a6aa2c567994afc97f066d1b6a1d75c89ce4524b4970ca709089f69224e52357442ca6da7f5e4fa1b5aa090a33c87575d424292171feb7b4708b49186278b60d5b920e5e6e6b360789ef0a515d3cc7aa405e5b91666fde5c8566bc72f2974e54764c17f004aefbd1e1e1d691b605525d6f73f49e1b0d59d583f27b1bb3f6a80571d3cf7482705599d014c5bde78d499c10ee15c835d155ccbce464e9df20f4652a44419ce494e315da9b385ba100e96712951211cdc5d1dcd3884fde1d23d04da8b8ec6dc3846f92fa41e244965e27a23cc55c97f46221942ff4024a4aefb746aa45a0532bdf344b5ba042d0ef683f16818b61ce4c335ce8aa80f4b51a2cd5c3e639d5985d40282882725c4fce75c3c821aa6a0825121be3a980344b0e151c0c07c35642983866c54958c9b30b034fcb52196e07c43d968e5fa2bfc301f3f73d7ce7f5f094b432fb621d37f9e3bee42f0c0265d4e950c1c760c744f1b334231589a68d3f7257a1c00cf83e157c70247390483b34051d033683ea6ac6a74838942146fe0151580d841f1324a04317c21ee46120167d349632f55eba36811100da66b481045a172124994c0274812250db13dbcd5abfe67a110079aa305a01fe6868c28d210251ac161060211028151e4d980824128a6861a2230f1f90080538701ab747fb7eb659a4e57403b1647f1dbddf5d8fdfba73a1f2ef7570291dc1fe92c97c97764ae9abc0dfbb23ddb86f96459fd6ba073ec915f037775f363591baf32e3bb74525272206f530d3af2aa9b256bd72b7e2cdbeb30d6c7c8d59e060796b736151dbb9f55f6afd4981a502c7380b88d3b519e29f9180ac37567dd1da52775f9925eebf86761781eb7947a218751dfed56c7083d64b8f76088662964fe07ca4339e6010a6d67c59a392649eb7ca4932d4ef2bb473bf32d850113875b0a152892b6143642346c29744c0c125a8629d783fe2225134ff8f5be075f065cb4f719d46a1b9e773b1f5d9a33a28ca135d7a33bdb2854046cd2895b450badf0367529c2836a117a921b9762593220b87823c96bc9b0884e54cddce4e3fe8ed7136f12c42a5c43b72ce9759af65a8471736a1c8758d19be44d4433dffabed5ddd2a5fbd087a56ea3d2bbde5ca267157c09c87773828b48fa172263cac0435c5f96f4f4612740d4dd8f03376444b4823e04fce31d2bea033ec0bc24154482f67cf84eae0170d5c3f19eb00677c8e8eb7f8ba6e02daa78f52c3969a6e08373a42e168e31c960a7f55f9621985852d60ca5476c5a1b6e3e6960c4c7e207688efa5949220e1badf7eb1a41274f336260c9cae4d196dc493caf8054f5024119a43226263d3a03a26f58e6247e0ae0e3b2e2024cbd0190edccfe5e3d66829ab60c5874224b2fd41239ba0449b80eae1d6c665b9b1265e15a001f81a6e566927fef91d9439b8c9d0c99766ad60374d169734441e2bf54158b1a76e6a0692731319e1de31a2295ca7aa6c16451d605f53a311820be302b8158edf467790cfe6b21067ea1c706ba7824e27321eac0a54935fdb9583ce76fc6d885548fa3039ae46b8a7e14bcf30e0d8f55bd6dca36f2019712279cf6c1a7b3eacfaba6d4a68f47fd748287e3c140e7d46a568cec2fce97a576e583855e41a2fd24d5ca877a4689edba98658c3ef0edcf1f34ad9fb84f3680f2c817a2405136dfde13ba861f5594b1d95f70414ada78e22a1d9c3e49eaaeb86aa18e43367c94708c83519acad1d48f3c5306966356015a4807e402a87741da07da474c18245342bb6687bfff3c4f12c5fafe34b377fa704a929e035ab3736cbd5453d1dace3931f5d78e2b9ae882d3762f32941f10b9b0dc5782cfece30292460eaa12d3c1c8a24957e40305ffb164bdbb1ae0b2f06711beb286f6ee759f100ed0ad7870f7a4844f39710ddb3fb594bc890db4f0a0ef705749a28b194896d00eb3ab4068deec64c760b17ee8a1dcf01e55b386e80e28b1646d6b6ea4d7a47cbeff153a63c6cc91fdb4a7d4dd292e0df8cc7056874a8b142088bbff646889edae40f0f1bbbda73652d6e240d350fc77b82f4ed64bd00f394d679de87f3f290eeb3ffa5603e5a5b02ed9aca7ec91321c532982c5e9a6567389c47cc4fe7de4d3dc487f44af1ca8fb39327caa1fb1662274ada902f493e8e6a9bddd51cddea98d043f6fd977b84278c694579a7b9ad04d9bafe09df73aae52949ee584c4e8c549c22c886f657c18a7800c477ac25da9f7d0e1e7b36a89906490e694389ed471613bc2763f2d2ed397ac9425c34f5ca7dae508fb8158ab4411121469b03b8e0509a5bf7287d91a710281b8c095161f7fef38434fdd6ea1483c66a6786c84bfe96e1f7fed960b7385bb9bbde350e8416926cb1c74fa0833a405b829a9d3b80caae5acc4a3e3e2ebca04a690169432a54a2ce7756cc3b80386d549782a3ceb130136135850900e0999573c62d65b53eec71af3cc97529a5da74746373a00f3e0c61e16c445d58238e6b4ce83666003d28ab7c7f786a5c01b8cef9c75ffa6b2f4b67a6f13f75654ef526c6ff90d107d6000c1758882bb6730c6fd8fad5f3e134cf1da40b67e590731aef725d68a3b9a2c5d1638f3fdaa5e38ef75a3ec1cb1d2256601796eaac863b4297e065ce6d9b56352042f2941be0374661e73d50530a86956b5ce22b2a9ce46c0864da1b1e7e3b1d1102d78701fc46e4174bfbba42af3dcb87acc1de9bd260cff86eee0cea59bec6a427c347b9581808ee38f46c3ac23707a637fc19ae91814056d8423ccc0c16509ca7638827a00cb9e3f2f4a3f2ff4b27abf042f6d07513827268898999f0156c96fc08892ef9832d2c5b8a39e6e3b7375a497defecc794d614abcf709a4b9a94521d7d6428793e802863b72bce86de0e640c0dd2837b2275913ffd8ea2c1198ede9b570ed877b866899b3f4aecffe03277db0f926c737a1f6801035223cf6253016e5d1dbb1fec787dbaccdcbf610259bc76a23e22df5a48014060f1a8c8109583f9c5556836dbba9a156bf8b2e2bec2effe6d81f64d2e40b25800ea50036704c2f804afd56f1bc6f0da3a7a760cde5f3329b687791244354739a7a5bc6e1d72734f158eb6844835bc14f7f1c710ecaf8746254a88daeed239a39e8acdd52647a97899b02df30b227647bc1422ca4c9cb18a20a569dedda6ce258d8e0d1160581ca24d683483fdf5ca27381aad7168b88fccc49d167b923c683ebe7859c562cde8e8e14192096145300b66eff91a21238bbd2076d1eddd7c011270ec9d9b1684ee3d0f0734d4ef59adc995dec9cdf407e7f7aee73767d571ffef82f78b70f16657ffde00ae71bbebaf41ed5d7bccbed84496b95bffaedae713c617c7d8bb289fa903c88a8c3b3e657ec85c1621990164fc42a43a98bb8612910b2dfae461cb784a6cb33adb133b1ad63c4d6297b1eaad12148a008cd07a42206a09c914163b4182c64e0d13545b08f6e9d7538081208a87194988b5fb4fea9f444a3789074570eb36299017f419659e08d1a81fec51429b68642ccc60b9b3a99d44b26ac08555fefff06d73f81c766015f5ccdfc30ab37cb3b02ad767a2431f619fc16ab4f60a47916ec31e90885edec3d7c497daa13b02932ee2acc035ac1aa6b30201780800d30584fff526b1a2d03038abb2b6e81f189be715b324b8f026844139c3893523ab3c01722c88f7d098d82d30574b4a54882db789d426c8cbe80b38ae50d7ff12ea080bee5e955230228fd01487740bc2a8072da00a0869e9c7da7cfda5e1f05b6a077c81df29963ebe54d09af0921a0a8d74a4e8f106d43d002210f84ed173df53683e8ad51e70df43c9ad8054963335d5e789e8ff8e2130127ef30ee3c6c6cefed3c6f245a80c8f6d589a80d301132899684285d475587b72a11d1df3b88270fd4c683a087afa5b7f50fb419a28685e48311a4e64130ac551971e812728aa1a35df04425b154dccf58ca3a7a3c0f8155538c8d133dd58d9ec1d373e4fac3d4345f743b07f207fa1532a323add6c7784d3f5dff62e7cc23d0a35d7a09e1f568bf01d3cf0b913ab708a09702d429a9be1f03ed60eff9a68cbab86b16c91eeb3c9e18648ec2f8293683bd94b998d53810f88fc285caa927410ba82a83edce08823da3851c5db6908c005f99de508b0e98ce92cfe38a16f8888eb9dad5cdb572e83478e8642f2365ff4d0f908f231f80ddbc090f331c18db35d57fa579de6631d075743e5f036f127b7521e1c698e200e01a22b898346e62a6addf0e812e40ecbb7c121331d15581b8bd283cce7e10309d165c6048ce14ad9c995dcea8a33d73a63ef66346669272fefbe4b54d349589dad26f5615705cc039b5d68c30518aa4360aec90b7799359b107eea08269a55b1601535426d9d9361f1e40e57aa5555a5500a8accc009dc22bf8c807795fef4100955bae94b6a8ed55ad167bb01d94ba6a63d391035180656e14d6b7e892498fa0a2f5340615edc085e4ddefa8744b3f6ab7dbeace24f08fb65bf811a1914c3f27bd90e247529e81065518581711f27f2a786e86b35a21f168b4226b691d24aa089b8c62cf0266d6e98fe89ccb4faf659d836862e041f2887e64c21597ac90063db127fa93aa7a21aa4eb52b1c128853f7afeb9a20305fb1e851b8ba25b8f27751b3b449e1f3806286ad11fa47bd3f406c0916d27a5117a438c696e4b7ba476ec48d1e1f34f39c10193386327ad3e46eb737aeb02ea3c98d4d26847fc832c370636771ed549efe2bd5f57020a44303f63e696668e223890f12f4019d29547c93484066727a041da64fa8c9343a9f199e70640a889d1f76343573b2deb0f01c4f5f17613b1afbc4d956157cec379a20ae8484daa4c966d4bc941b4e52b7652a767acd338fb6d434e8576bff2beba27ea18b96bbbe50949329c84dc62b37dcb14438ae172b9f98473c8e6679b43ae9bd580340f7f1ef5d5cd7ae876150b41637f06c6265e92179d5e9762e9c63addfb9bd23ba77ffb33ae2d67a7ab281924f4cbd804c8c97f21ead92154f8a216a5e2250ba0da1e8d8f7c024a19aa2b380961174347aa76f8d2500714d2dcecff6de9ef1ed87fbb189a4f93240e6b9d7c72e28cefd143dcb943581b2e7a00f648956d1625024f110c6651474331d8ef9db845f09da26c915a5030d9ea106d19f7686b0328a8211441e204672c5b238a2c47cd7c57317fe6563953f480f2fdbfdf6943b5b8653b4b76d3ba2647b515deca150699de9978fd39d9c39efb2db47cc7d671fa7e49398c569474131758bdaab716fac45ec934fd6da64ed83ffad8410a99f7b64e402fe3debb1117c7c0f14ee68e915163d4d4146eaccebe2ac7e24ae4671ebec4cfa27b0e5590577269ca0f9acaac2b68695645000d54f217092f70fa3a67dde5ad0f903965d6f8ee39d08b02146f44f399682cc53665214d08626b861677ad2675fa9113c652645116aa0a330ce925f8b8548635442fc540262506cfa81be8dfd84869bca0c9f259109bcd6089972438f00433d316c5bdc6ca91751bd30414e2a92adfd0e64e8a454fd9f62b6dacb59a5193a243b597815702de8220a864abb3aab12abeaae4650a7c90c55241bd35c636122342050467d8d494ec16b71058588a4ee1fc441ba14003a6841ebedb2c43a132458d2c34943c319d1a0986e1ac4ec6099fc28a45a371b7f2f1e1c95329acf18fa24dbaf50128f267f316e880826af23428e5a9563b5ec67a2bb7743552e6abbc4200157156b9932016d23e15a379618cf0a27849957fb3514e7bb0379f2a7c7695c98d6e9112eb079a8968ceb1df8f55c4cd65a58ce5c42a82e374cf08d17fdfc39255c92f41537591c0f38ca9e30e98e1ccc400be0198aa7db8b63ee0ff05bad9c332bc4b14158b29885467eb19b58a4156dc906214cff11d6a7acc53272e18891e5a294ba71b73f20771f32417336b8310ac56ad3e83cb9da6c0957fb651fa0a66bdaeea84376ad1c68f01c804d3d493268584b81ed85be707ef46be3a8bc867ead27417e2e51add4603564ddfc97b88f19818b2affaa0be745c7be1bff1a7e545f4e085814b53c1111c4fd22abfdca8ae852d32b64a0fb90aa7b4a4ef5d5237044980fa4ffa94881684e894dfaf726783e7bf5f4a10f7fb37c9201b286adfeb7b1ec4108e390655b18c578afb11aff6b4c4bc886780de4071b433ce03e3e6dd8491a7f64fd9d0973944fe114c1e0043a4634947865aaad50383f604086c693c7dc25b79602252ea8aacc23c0bac008a83fa7292ecf7d31d5023d96a8463a8d64d098ead88c5753809b9c491676907d326378ba4d3c97cc19cc383e017f5f8908e0c205b34dd44ad29d50115a84c2d526565e7b80ef459a976e39c3d8442e9cf61ae3e492c2e5e5c1620d90f885f0e17b79645f26a5796328d91a7c95f927271f6fff191dbf84f07d4fce82d0004bc4e1dba65c1caf7019d636d3ed5dc1f6e54fefc3a6f7af5d20fd8f4b8600ac7b7cc768e74e5cfb3cf0cd204a0f5f8989d0a8c6a7701cb08236c6a41fb5c02a8c057a5aea4e491041e521c9a52ac1131bca95eb0e2dd95f7749380df9717f3405d38f7fb2792e1c895dd4ecf78e7b6652263ddd842e0bdc45d2ac43f18168761445df88e3aa28f39f008c57c1a458c165b5ab90ee8c55fc177f2f6c817b2426dc3b31f2a6b34b1fb062c12866e2790d43fa3ec5bb6b189e0fc916648bc60cda6d2371bb73cbbf13cf5384a982ab9ac223b73347184e682b081b0ee344e9fc0a9336decccc68844b206eb6836136b2669070d130be4d30e9967d4ada548ce592b8b2432f9bd96473472a13b7cff4bb134cd8f1567e4aa064c7f21165efa1d880c1c22269dd51891bc5c7e71b6fd9c89249a4ec5452a5517ceaeb8e6e0da3dc2307f062ab3aa814afb6b8eb434119d4a3c81487729ca94d5ed62f8850b1049fb27e4f634f3a8311293302aac26c3eacb34d95bb9a1c35b88aa0706d8f9bebf2ba301caf227efc8e0e835726850ec34a14a82d34d7885277f60e4d33229d3eb4e9de2d2526fa5ff53c9b979015b3b6ae21f12822f0c65eb621754225a99a9d508c4daf57daf145d27d1f874203a85a7ffa9c393d727f2b21b25105c554524e6b98163c2658dd048f99b0b53d140110be455d6d980154ef5fd193c14bea15e8e5201032ad00d4b0c05d984b16b3df44540d53b7ee13c7205ea135ab6a498c93643481f90d8ed3e8936b5fbf734a8d9558fb7adb61f682e1298c3fb7c0395914f5a980f1413735e8a6dc894ea66861c94bc207c6aa459aaebaee5fc1efaa495942642923865578951ed1bbfc64736331112bc3deed7a8877db3a21eacc77c4ffa9299624cbf326bc54d723c01d225529d77f2557d0589138a588182ff8f1442733fc2bcc158247a87e8dc5c40cae8825e012bf889dd360f6059f2318af90fb402e888a530c97701aa136213dc40375fc052fd052203024aaf6abd90efad31abeb42a6035544ad611402b3cefbe3d5f8dc9e80bc9449cc4c753d5439b934c1687cd431a54031e45d7e3aca43802ccc881124e6908f8988c51b9f76f7dc5e2c33f5556d248998e824df29fc3643b86df662d5a3fe7a7340b9866d9b78c6f5dd1dc50e4ca5e0e8055a749b9122e6e0ca40ba7601b430242e3919b8c6dc0c0ab79e9029ddffce0514f0611ca1833a80821a40b0f2cbdfc312724b0a42300969d9e1c1356064aca9ae197e4b0e43b26453a06e821f2bec86d9fe4960433566dd546c7e23e7bd9cd125d1cc4275d45d092e541940c94d396556e16b61da1c741dd3a917450a115d0c3f4d7acd3be8c96a71425af667fa27ca2a1a5cdd29db64a1bdd8d92b70d9a630bec4b8bade5345405f13bafa49326604b703ec91964158e4cd777a18c3e7dce70845bb05e96425d1b9b9cbf21ac64f8e2a6c504e0d742903ad3158b871ace643274321e44299086ea6a71c29cdc9df4598628c43cd5033d4b0fef49024cfd425ccb10d45cf9f4cd28ab88bb824c39af02f2caf82534f9a5d8de8f95c5f8fe260d3282884f1751aaf8c9b5a05845a5577705600c1d1ead9b2d0ffeb40dae100599538d1e966c80ce6a1271d9f2cad5a5d4d1157974298440dca3d9c42a6c292aba40e372f4f277184671932a9927ce7bc333bafd0df72c80e87fb754c18a14e8954cae62346e101dc01249828e892ffb31c3b9a624640c641991412bfc07dbe7fb581791080f714679c3580fc15bbc3e67b719a9084af7eb958570598f929a364bbaa896d46f4961b17029a454836f936010978c04836a89e39ac11e5c9a756d3cb9f2ddec4d893de820ac3f33c6fa5a9d5aec1eb1f92a25ebfbdb6b5a63c1152d0ef9643f61325e1134e5309cc34389f80039065e5fe17ae2e698671d391ce7c14b06743587d14472f515cb7a6ca19afe7aa36b8a452c5e7ed794217cc2be84b14b5de4798c9cad149a73d2061eb6882eafd37afd0cf77816a767aeb92107740e9d7eaf4350ffb3eeeb5659504414ff58289516def154406e7b5cf347bc42331af530468bdebf0e9dce1a5469e06f433a7022442aa96ad6db989f08bfd0610e5b7cb7a09089ef432900e86eb4f1ad7f2c3a9da770104fae9b0d61a962dd86fc07467b6a159a3b3e796c580eb8eddddd0626ed13960c2272dde175ef101368a031f7548460aaa048dce1ffb11197da6f3aaa09c6eb076a3de2088a96f1f0aa775260c377208ad90925b894c615e9889853a1ab565eb0a9aca4edde02cae41faabaf23a94c496cf0df1fc2f478263b6801a7f141081b3eaa58b7554964807c64f47f7b9a4e19a493c557f01ac0351a59ec9604917155939f487211eca28975e9afe4dae9f3c52aded87e6d806f31f67f12d42f96952a8a7e59b5aae18de593e0e2e2de5104fa0e9524f31f1ca7dd84bee302387b18e41c374512080b3d0b3220af4096ce90470abe9d560ef52202002ae59c45c0561f6038a512f52ecf52018914645f6a3c37c758eb5ee01cbbedfa0ea4030e1e58ee5ac4d975865448973b66ff5663d8b9aa54b627b453e9ebbc19b9ddad21a2e94e2d2a8fc4fa27c0234529a2e5fc19124111c8001432b9aaf43a734c0545fe509c491a67c8eb6071005ddd0b972bdde78460c752d3b2acee8cc75f8fc50cfb656ab21049b1e334aab9a10a16aafe26fbe83006352585072a2486c00b53e3d4914779010ceb2dd24733b8742dd4a89f700ecbc91a1143b064bd12793f4dbf6e950bd2ba94fc4cac43a699fc81b657d9b05236370f82b565c2f5e240777e91c57e7182c486ffe9363d08c0340c7bbd9af84cff4eeb3e6d060183a62008bbc82691dae34d3e3aa7aea16365fcade680cf5e0cd43c2a15942c29346a586581266c469be04aecba85dadea8d70c03060de2c8bd9fd38283eafae991f875c3187bd7d629cfd39ebfd11162bd4069aeb53731707c215ba02faffd8f2152cffd2ac64427a71e071415187a0d40747e36475a11c860c6536a235573b63ea06d5838c3e60f4e526b226e2aebe3b739ca02bf61a8b2bd498457a5affca6a3ff0b7874a32d4450bb2b833b4e1ed24349e4ab1b54de46f04404818e3f466e56fe01b72cb2e68907c2e04f82a1cf43aed83650737967415434dc7aa84986b6e8358c011a02aed9a96cf2d4cdc4f9b81fa7fa720f536ea77d71e66ce7e37028598399a54056ab48c4d4b5f248258de6e5cac8b0055521dd69487f41e2d259da53a6f2cbd1004972608175e5d27b93773aa6032501c35fced8da13164a822c858ad709d5744cad2a5444738206571d29294c6c67fa2d9a7ce20c339ea421d1d41b0e6ba0ef44f9d33298baa2d18c5fc5a4e448348259674f460cafd1d7e867cb1faf2d05540a15b257e16c3efb83b5e9923592a7715a21863bc65e056968fced1e9697bd4f842b97bb416b46a158473474e16d27f4d565b2c264c5a65e40c0d766c0df8019923ff4162659cf0dc2eb211c34458ba8fd31d4696ae9157fc053b15087df071a6092c01b46976d9775968b7b7169790b6b370f0c9813458ea0889bd3ae7226d2916908e158ae4ce8437bb21acb216c5bcd14da93cf455623de7de7510c57603586d4ce0cdbc220b7fac0e3baee2f4d7555f4bfba0b83b44f3e4730c1643415275e442afee1d3bf36882f4757100e4a8948390db4ee2e9930c3c863ad6269f0bcb929251125138cff271dfc48d625305913186c9f10950dc37adce285287936b32212f6affe30bb094f7a310f5d51c194ef876f795f9a380128061a3695582730aaf0b67baa2265b83d5146ca7bc2a6444fb79c534f067e0dda89ae6722b8853aef2ea34bc1c05c56a695dbcaa5f05c7caabd39fc0d9ac3d567a260544f0fb94dde600176c9bef37dc64515f777300d4f7658c415e1d6bb2bb4a8b828e71c1b0a443d7ad0b2ae0d0db5e0431b3304bae4c44a73e66fdac9d42aa1afbf2f8c06b224420d9d88b0af59149c7161922951d864e33df580985dd1c4337745af8d66e468efd31df7cb05213282c7958bf05ba63d46d10663c5debe3f03396ac3f36638c53cf4b42d68b76308470a3f68f48c87691d9ef308dc28d671aac6918b42ce0447670cf3e40a832aba1f042fae819bd4595015319953ff4d234b356d3b3fc1000c19e50a52e8af8b6710fc7ca46257b626448bdbef97a8e6904c5a4584725d16429ed1e0006d80847160c48867b9afde11db5eb96ad654a133cfac2be6b11f2ef559f032b7db13d4c8b84502a30de4d48e17150129760d02154b303daa2ca815930d81da503c5ca464c0d0446ae1dac24042f19095cf66d629b9231a1441a1a7ab165491d923dcbcd6275160600390b00883f18c205104952bf2c60e36e3df0191b89c2259a923b06d7d1761042882464efbdb7dc52ca94920c07080a080d08bd47cd42bd523c77efbb59a2dd7a7bf0de0621d65785764b24a5b0ac9476ab8f56d806d6d2fc8e3ff3f988656d78e0a377387c246ada6e09bdc5c3f2f6c5b239efd9c0bcb954995479ab5ac5f2906d221fb1722af4681a6732118cc47756374b15ca429dc5c724496439227072587e5d468e5742560f1dd6b5c2ab756d3b8607ecdae5f03ba5b45714afcab74f39994c5ef2ec61e0cac94bbe65ca4f6d462e5a102c713964a6a0272cbc92a28a414d6f5e2f4ef951aa910a538d5266baa03cddb3df5b7835d305e53179cf7ec9b9e6d25b7835c305e552ae32799b8ca849260847bcddb0e4f04bb5cbe16314bcea7ad361fd4ee155a9969cf2aa54554768cc52a39185c5caf2704c266edf8a820fd3e9643259466c73f276d2c9643a994c3240a0a5a3effae8e1987c6a4728ca4ddec5238f5b38727938276fcf4edc7ec4c2c319b24725a7deeec344b9faf1886da8b76f1b8f929f3ca3dc8ac6899e505cbcc215d93f5507f0aa6bb4c2ab8e5abc1a325ba2f8f725cf368da196e23a7eeaf14af72b798a8311adb04d146c43d4372fde1ea5b0cd3b5dddabd247d3096a72fe969151a92855e2969185856d4ca74f7110c6774bc15421ab377966e2e867278d8f4aa5d5974a9ef52e7747520c0ff829879faa5d0e8f7213b7ffc265debd2a4a60c07093973853a9ca97ba36fad2952f953a217bf4263fad51b747a6ad941bf24ca68e61fa9277d7974a3b25b7b61cbc95e251dfb012a0be793b4a4eb5536deddc54bbd55b8faa8d8557ed03f0819a1ce529199b6b58d8c6b28c9aa6fd5335b68c14d454794a6e7254ed4a7eda7894dce45989d3b1ff5e8d53c964e2a09fb8c83d5e95dcc43d5ef1eb1c73e3ba541f11818f715c17a77cfbe4e21191e8330ee82354c378b18a1a37dc7c78e4adc70caf66cca852add88697b7e8f20ca10ff0b71b92bfae06bbfcd1f7d50e7f5963a4cf2a3514947e3dcbb821cd3531cc00e40242703022b4a4890c88a6582171469e642c2dae5d7dcc371f33bc4ad515450125b2e3fdf4cd46872d174b9e3df3dd7c708f1c6c32e73ac3ab22fb96eb3017489e1d962c5febaa43f68557a32df870f6979b7b2309ae7278086b8dc9093eb3caf862a2bbfd6dd07a0fc2ba1b6bd77e342f28e0df02753bd4ed90921d3c9a066a6fa3a155e2b5736ddf5a7feb0e99b0a0ec1a1274e89f00a00442cad3007d54ac00c53f2a5580e2e93f2a5560e2b39275c912d8b043e83378678eede650f62af510dbb8c7abe91a077935b3f759bc2ee7ebf299dfff79cb777bbcb26264dd57a577f0b6f776893ac9ee32152daaf4112c2901a0a2e7abd135f44defd8d037528686de5bc5986d33165eb511fc18876450f31aed17ad84b36c0e84de7116a872d5a4aa28638490256781ade42d2e45716849a0ddab42c3be9dcf5da59aef863e99e5f9e80a4c24f45909629894d27b9a85d81cabb21017122984c4b899d8d00a5a53d337b3c3016390be598f42c4c8420fb954129c64b154997362b1daaab2ebe9ef3db2ddbb5838c94fce67cca681339a15da3da26ea54357bc7091bc1bca6f8f2c962a5376376873229297b07b4430c68531ee4312c55b9ccf784b55bc9a5102ed70e0e89b579769de1ed99c45f2cca9aab09a70f9ac04dd926e59b26b27042a89d288b521936cce7b216884e4d2e42dae024198573be01534cb2a999352950a07d57c330bf4ee7d70e8df0d354272f9e6346825a1a37492a3cda6d76ccee5d3a6ebe96248c5abbb22a0bda617019b93e445f9c9e1e818281268f7aaccc934cfbb1b3de5060236671f3a27f9e6680b96bcef2008245ff36f0747ae44a1059437c03f2a474c907c566a8f9647cb3b0d09d0773dd6437fb55af0797c419bf390b00d7c51fc125e0df16af79dc99595b250f43681c236a9a0ef6ede8e766473f61bc93f15afd8a80490afa09d3fcfb0cdea49d30f29b2d46ef6d478c5bbb1b2576aa481b0fd81be2822187accfd310cc3300c421e9c6d97cab0f02a0b1b0981767c74141fce9b93d24eb5edf0c7b02cc3b609fcec5cbe4d5c8e714d645af7ceb3c9ded31c6218a6619e91b012866118864d292db6d2345398e6684bc605d3b4c8340cd3326c9534cda937233508001501a0028a2728942942a608191ac8d04066063234902942a6063250c83c2133039922646810002a1e7d34d4fcee2e6421da522972520501a0408026ec780f53aa57839f109c6cf94e4bc5a0aa7f427092650b98233eccf760eadf7bdddd1de18390eb52dd9009c8efb54a35a7bb0c8c1074fded7baf7da1d01cbbad7e5a77cfe85d47aefde29bd177db366dcb366cbbb6b96dd6b6c96ddbb4dd255a96856ddbb64ddbb20ddbae6d6ed626b76d23c1c9369b0683ac65dc4a1fec7edd6db36fb5cbf3df7b1609a29c80ad8e7e01a74d270e3d6194323279510532ca98848c4c36896c17704fdee8d0781d95654529297cd63e961a37f19a26059605a33063559ca5831e8e50df44dfad509ac81bbc956cd2403c1b0905af98659356e206cfa699bc15bbf52d738286fbb83748158f8ea0eb9268051bf4cf09a17f0be1f67677c39642e4b209e3be18e37e843146085d0609ba0edf84301ee9ee1693da0aa4d6ce6dd33044f89065f3ad6c352268b75c027fcc557a5988172c8940bbbbbb6c445f5441bbbbbb0b8fd857e365a5dcdd1f96442b422f34078d42e7cb4b2fd0c3818ca529a514067d71927510154cafb4f716eed215e6658d46bc8a5892e090352b57b1101741bb1632e295b53db324a17c13fdc1fcf3f85aa88592f08d5c2295482555d84615b5c86094d6bc661518a5352da2231e82515a92e80846198960842b049b6144409799c8920c06090c12182444babbbbbbbb810002082080f07b333d7a479f637b33abe555aa64dcc44a4fab21234c6a6c815a597df73c638f81701d07b6892fe3ddb8b0468c0c21f1e95616f5a082efd6c97717f580e4bb4df2ed7039ee9683065ef5c2981eff9e2312dc88bf24fc411c9c07e7a1c6c8c90e4c92b04057f6060f94c5fc16f190a46887261e3444165972d045941fac00889d8845110f4c82bc8722a01c3cfc5704a484d737517ae738973fde72648eb9e6928b991e7d738b8b2171dd0e0122492e9d54870089be559f2775080d5af5d91dccb30ac472587d7ad82f769e4cb76a4dd3b4cf1320d065f5791dab0f6d9ad734fb9653c7aedad1002deeed64ab590ffeacd534c8d657ec543cfb8ca21d8c3cfb0c0dcaf18a67d780506e5fd5e5d967aca278761a8f1b027bd842553ed73be8f429af7a9b886ddece8a71d6c3b1e4c391f1e144f870603f9ce687c3fb70f6d598deaec38bb94ef34c7f7e838e986a8edd0cfd869f9f972f36ddb2a48c11c26e9ebeb28b6e613e21f4b7f1408fd16ff87908b96b650f1620730421841076e9f21056017691421bc10a26e6132496440223c15504c403fd620be98b2c1aaa8a89458d8a6ae1480b3d5c414229abf36aaba88290524a29bf5841cc173e08e28ba08a65860a0c143096787942a7f5197fd5b7d0c346650b40f268422a5d9ae89203e8843d63ee47abb2e67820851eb776e6627844e7cac3a31d3afc9f5f9e76e86feb181eecebeb3fdfdc0f1ee89087a7214cc1e52dd4581b65b240e13f2a5d52f05d9290a9c252e9828257755172042f9850e912f45988e299b31045c60bda3da31a32c036d127ab7e5a814a7fffaacbc0c56be6de9e91e182b277ceaa23285a6491454d1633dc36cd44f8e540f6e5e11e7ee61e7eee1fb25ddfadecfb56318280d721b795888cbecf067b7b117eb9f18096bf21fd5207aa1b34663cbf911578cbb709d884f4d743e6b1dac1bf7cdeb264842999254821f2162937fe790ce08c909957a5784585cb103f7039824a17464a64b030090116e1881e98ca6201888b11ff362c314618a3123e52c182d00f325704e01f952e5cf0f31f952e9a60a21bbcea7d6fdf63027d1b2de781d66ad165a830277cefbdf716d62c9a031aaf66f365442d7fcf1ee77391b52a076a7e8398a92c9959660a947b97791df2aaeb81bd57946e7478c2fe3cf2b043c850898c153557ccc85821a4868b22a410042845d8c245c94ec63d289a8268478727c5123b28d99961186224c0de3388a0d8e1ba6218985b2d534842ca4ed11349827674e05d29b2756e2ec16f7e00a2542a954aa552e988464d1ba7f16a73134779b5415e6da41269d3387a3262f9ae636c55dfe532dedacd10910ebddb339f0e99bd865d87448a9349248e8f8615442ddfa75ec3061e8e8cccbcbc866d4c7ef2e838348f1aaf343f7194571ae495b6f96c8d655322fba4ebb5aa6515ae67ccc3ec96efc6ecc17d4d92bb6f0a8a61bcbcbcc336ec87d37f4d0bce6b5a3cd3aacb5df39ad32fb73838e7a523c39cd65b7e47a722268410420857bea28163666a2b1f139ca08abdb9c134ec3fd43c22144829a58c11c228a594524a2925136874e8d27229a54b29a594524a29a5b4a4e441f666600dbff798f769a9392955a9dc57ab9a9aada626504f45e0d140972186186080a1468d010040fb5881e8688102e520bbc9f26ee4e422dfeaa556b30511a5b3573316a76991846dde4b6f2cbc843bbc8440d0e099195eb965c54893229de46dc41202b5e420af319643e7796d611ae9b2cb4bd74ab58f88eccb4841a75f7ebd1b0e9243b276ac4436970be865c3a03e4ac0a57150dfa864d0eaf5bb79706a169cda6f3926bceae495f4cbdb6b5aca3eda9ccba5b7151e4ebbd45c7a77f16e36c7bc2bc1c8fcf44e46fac6598f66bac6f55b3d1bd3336e967e7a733fafcb013fdf5733e78217b41da0c3ffba3a56d9ad886c0b282ab6345e4def5433c4e07f8f7b340fe1f51333254777dfae29aa226c2a59ac9c208b31469ef83adbc813a315ad189da38ccc5c61cf21a5df5e8df5183d569e1fcbb95bebf94ab7d8e5ba657a027d38fc50caa8c3f005a5b7da9e1cc59d5028d7e1130a853a995028d3e98442991c8542a150283f99542894e98442a150a813ea74429d50264d6e3ba24394b7a3502814cae1a35028140a8532a14ea7761f26d3e97432a14e27d30975429d50dcf453ca4f289309e530bcdd070a060c930906ca4d9ec130996098522813ea8442a13cd334140a8542f96e3950282f711d7fc9a3155465a7254ee590a3fe3694eb700ac6f472827132b98aebf64b9e9db8f73054be1b0cd5c9b3930985429950a8130a05c3e1c348f989db877941994e9b3a790a860986e95479507ef254ed506e721e283fb9e9446ba73dacf0a51a46cac30014503ef9a484b267b00079a00f29bd74c8593ebaade68aeccf6c41d70aafde3ee61849cf53d003c963141f7d9bf2fed2fbe16cfe7a903c6e1eb98e7ff3cce28a4cf6207f397344b89e7dcbf24cfa74e8325cf0c246fee0defb63f452742c7a26a7ff74f8a6f4ded7a4e93a2cb9f773bfc4a97ef5252e654ef26e7624d2163473d28fcc79481989d37c9031a95ad6dbb64df26e84cd3b6094622fc8cc3f2a5bb4fc152e9c04a9c0155e1dd196a112c3cebf36ecdf1e3100453625d7fdbcccb24c636edf6287d982ee335bd8a683e4d3f404fadcb122fb10c3de6452f7f39063cf388f5c8907f31eae23b9e592e321f9f4ec2271ddfa883ea7c7786d75c85a53a3a2c83e5627afb6d0f2948647650b2c35dfaeb3657788749a477acf7ebc7c3acfe5d19b468dcce2865c1cf46179b42c97b1c8fedccf5ef3dc171d7eac5d0e0febfe9036f583212beb0f49d09ba5e1be1c165a1bec75af6c966621768635330fc7f4def3c67c000fe3d8d983c4c850d1ce32edbaae4be378b037af4bd362f85e3cda5ccdb1fe316bedb8b7bbfb11ddb8baf6ae7d551eedea1a65fbc68d1decf29df41ee679711dbeb9ae3f5ede1cd4b239d13bb8e5bb9ebd7e5c1e2d975d0f7b0ffb687ff997a397553cdcdd5da237050cef9e141b6a260efa885e2cef8458ebeb2f6e2d910d7de334f3d773f3579beb62d4ab626eb9148ae131b58391513baa72986ae5a576f47df08896af432df5ea4e864befe0d15b3bd65fbcb4fdd03efa5a42d463d40ea654b70aa3aa42ad92514bd14957dd7cdb26942606aced2a98da5edaaca1cfb4f898d4babb39f81ad7fdd250cb8ed8aed3303893a738cb23c91773ca75308d4308e621ec374d8e43ab38607e85b2d07c296db85dcd5fde3d2c7fed452b4f74cd2fefe0c32c360707c78e554aaf3cd12d5fd72cbfa2563ba8edc6435b8ffc5b63a65b2edd86860e6160286d78794185dc78cd3b21379ebaa551dfbc836fb9895369ce436be7d6f6437b2d464d153494886b27e4c65f5eaa5dcd5661169ba3d5ee06b78e1e8b3fe54fee7d8cd163fc695598c5da9051b5de84d06b2f9d68899587e15fd192a147e2e857ff8a9090b204e8b35fa1cf4a59899bf15a966deda084eb41d6a7749d9698ebf0cb75fdd23318649ad98fce1c23f9926ac79f992af4d92ddc597932c71c76b07670e38f8f0e38fcca2e87fff55df25df41ee669d7e121e759167daecf4d32a49f07faf6a3e315daccbbcba5acdd0a4997e18216685665edac2aa56c39390cbaac1cac313e78acc31febd083b0cd74095d5608bb9347ef56e8278907fed07ec253354d094d9aacdd6659161fe3decb8719071f62fdd646b7412f2d8f1c74e63627719a4b2e3ae5e462d3f2b913ab3cd0339f56ea8f6c4e2cc5ae67b3bade37dd66758f748ce5248fd3e3668e91aa0b5ed09efecd3cfae55b4fffbcb2639d27abddfef643fbaddd0d3f3f1df3cb83c02dc72527172727dff2c0c30e040ee15b3cb297758fac8d5867a44f4008216c7fd5c90d3fdc1052411bc2e837441a8cb4c30bd057a4c4e8082ddf9ef22dcfab931b7ebe03321f5d364dbf1d2337acb33b15949d290ff41b60ed80cc2f876063840ce1a24a42465c990ce508234718013ae208b83cd9a6831aed7204d0375449292169f7e510d9871c11d8339f0bd034afc6cb59378000689e8d191df1b9ae90d06ebdfdc23180366346aa76dad6952ba12cf900ef1bf3d05de842b17f454748f1ebfcc4773c535460a6a6a669d889a034f08a8b4420f431fe158960e86b84e8fe0c32d0c0578ef96a38112a1591aae606c3de72f8caf46a0cd9add489a0ad52193931820cc6c329325f5e4e119a492d4e557b16b78d5c6b78b58a1c0dccbb552481938fdfadbe88044c1676eb90875dbac615e18ad0973ad8a7c7f4702b731db6da59ca1765680453a45cc1b1325a9665adcbe9eb17c7332b94f22d6efbe5401ffeed6a573541524037b67cd32834a45cc121231d02e8db88243366201bb1e52d89e5239c02333ff86aba0818ba3bd23c1bedbd7a358ca096777ce11b325c995a1b6d63f50cd05d02bedd8fa096cb98c5c32568a9c2af7c92a5dc13a9fb41015cf89ad47dc08a5b0f9cefa277335b8292d1f872982bd54aaf46fbf66c400817a74a114de0ce18e8e395067707c810e208259102279441b6324ab9465ae4c6ce4aaf06d31863028688507203321b91110d5165e1b426e7f304c88c3ea75baed393ebe87371632880657e79568160313cb0e8585d110162f9557d540d81b7e35b8feb63659fb2fbf9dd74ece36d5217818f214a892fe36f5640af4868cbb7035e9621acf0ddeb6265082b1187af10fc816d8da00457941c95000523d8027444108c20c1154b28819621862812020a3fff150981450fb2f7706046a4077e5cf2fbcb3643f68b87932312b7f7d590ce9b8ffde8454220e9783cec7e9cf88d07d6d1f050c259355e499e5863784ce8d0287b33444cd0f28f68094b8cfe1131e1c87c35960bda2d116a8b265260b4b3be52b6cadbd9c1b668a18b29403bebcbe5050d35e91bd20f8800042128cd50f44d0f810a224401da5967a2bea1210209212956de4ecc02972120255c0821e0da80fe9e07f1d6b70550b2c7361367c6b3597fee1cf672367fae3dfa6ca2ead958febcbe9ccc9fcf3c1bcc1916e18a6c39b065cc250c011521980225d618a6ad8c56b5a1062148d0cb872b3e502175f0432cf05c99e3e53aadc324ae4891ebcaf8af67dee78323235d82963c2e7161c6bde7aff1b3be57634e87916b4c4c8ff9d0fb2ffe79ac763f8f75ecb1fbe97478ae3cd05ff7c3fd19e7481fe206a4d55bcd4a183ec217628c2f07fa73ee8567a33dbb4ca60d3c9af67764ce392796b38167a335a2cb75de8e7763c38d561d0b5515df42f806e2baaeab9ede8dceabc2770d3cf4e170bdc15b8d08e8f41a1ecedbc0abd1373c8fa67b5efcabf2ae10373f4231b7fc858f0878788361d8b6e33941c7bbc2c37a2161826409fc6d47cd43047c37e1d90adab6e339e13318c4948f5f431051be5d080ed9e603c61b0f8fbea3f0bced785a7eb71def0a1969becd346db3ecd6c03651c60d09a827cbb790a0869d26c30c32f82e0a22880a1f9064716c520782878ee9f09963d8a503e7a3f3709d0e2fbb1f1e48359c25e23b103c3bdbf042b95a860d5e4e91f9ec45540f876dd85fb3bbe00584116e0ee4e19fbf8c6f0510a58e2cd1625071841b0f2cc258f4aaecb031bb3ec3cd0b55667e90f2a6ac16b20fb83930a849d0d083dc9b36d64c4d5e35b4d1cf7ad95b951e6c18d02220863e7ea7fa0642c9b7cfe0158d8faff1e026a09d6aa55aef1bde8902c4c3b7cb1a133b1de08ec7e5f7d5a879762309257b33014ea06001952b1eb0052551b0e08b2bec0065094ea40c71a5c8899697ff8a9c3cc10a57822ba1a6a60873d6442f903052c402257ffd2b624114221a4ab22e8e94884293a02696242136498207225479eb5f911353ecc0f2eb6dce9ccf1320d875b15f8eaa4034efeab3ae39e619d7b5dc852c409fb53dcb18c65f60388cc3709f274052cebeebd081acc30a44a5aa34549f27405e7cab4f4dd358fee230f5652b0c4f5dbe61d5e749f57982721fcca7a32a90cd35cb375fdf8a551f1bfae2eab3404d63ed561f9f2740d6b9fa006df5b980fb646cf932537f3b6bbd9d1347abcfee5cbe7989cb01f3e9242e872740b0ba434d63f9f41c3077e168ab965f96e52e6481ca1ca24b7f3b73a75b283bdadbc1d8d789244e40f9ecf163521331344897c0eeecbc19abf26cfc611db09f85d69321d40c6189504197ef60910ab6cc7f452ad0c2454d20e199f9bc7c7a56820f0057266b6e5837f4bd6a4d122c95babb6b34cee2e45ff1b7181927ddbaae995ddc63a5c319f896c635d796a671fbc4d434cacdf89e01f5cbdf36af9eec0ddf0cd4584af132d365b59bf90ce59dcfc913b20d0c8f8e8a36298f97479447a781ea501e1d87f652e19623f5e2bdcdf0fea5f6d603045f7cf145951752f39aa6699ee2e0a334ca9538cd49dc5627d765de3eb58c76b46aa7ed2c646f06f3e5de3e2e7b5873431e96558ce340cd77343c0fe63c96cf0eab9677c9df0dbd31ad4c9c732aaec49c6d5aeab3ac76d8c675aaa79fd54e7bbf1bc31664ed329c0594faebd2e5af61f7a49ca4b43fe6acb14d748be49eadc4d6aa98e619a759bb9ad4346d4a187bd3315fae6656cecdb05c562dd3a4479fcdb2eec65b9893b82d07c9338d933e6bb73ad6b3e57af835ac2b0ea11abf81923995f04c667197d7f0bb248ddb27ede6ac394bada6782569bc262744f5d26748abae05d9880f6dd3e4d56c1cd0acb7271c5a95fdc274fad1aa450ef6e47d22485ca15fa2e731c8ca182384708f08c5158a700b5996fdfcdb07e109b63027fd7131ecf0e8e3d0eb70061f7c1e057d52fec8189fff2c0ecfbbfbea10ebd921178550606449968f9d901b2fbd1fc20921741dba9fa3e7b8edb2beb5019d63166b835d46962ab8c20411a6b638641973f088573cc4fa7e1c031e240d9b31d4e0c8c922134496cbeccda0f35d6fd86fd7e9dd72446e88e59767b0868e099d878ce8118bd79b8ef5d9ae79a6e2a2c33497127acb637ab45bdeb59b2ec3ad1c313c72cf61bc1aed97476eb71f9389a1cfbc6378732f1e39926ccb3bdb76589ef2c9a5dcc4f1645de6253f713131fc3d4cd318ae6a19323c73193526468de9a172ea2aa74e51aec33bdaa7abb893c370277fe1bacda7c3e0787e3e55bb0cc5cd1337c3339d5e1c0e5eb14ae32c9f31d717375c7d1d7dcf6b8dbeeb1006fc9b5b037e74f05ddfa331ddda7c40df86eceb806e7973b0426fc98473061f8d8e0774e8cf75fa6d3f60ad313a1e7c1de66d080e4678d801e8df5b39ac3ccfbb0ef1f9ae9fa9b11864a954dff0e55a0ae8e59df635e52ba070c602827c8717c029d57b28f431d36a8c04d83787005f5c37e1639747cb33eee731ee59f98b7beb5c856cb5e5901c9450cab6babbd723f485de399883b027c2210c58c810ee8b24d5abf17eac8d26c85e026829b6ab56ee143d7be0afc70a6b0fff2e007315e51c08147319ec5e0b2ff720d0ee117596909aae513141d79ff46e5a75565f82bedf1aab5840558e70f079cb0615d0fd1eed25975a200a9dc2658782325b7933b04dd7ddddddd56982da20036bbecea571bcc669afca9c2a1d9661863929bd6aa752cd5a63ed6a6a70802c04478f13932948b0fe838357bc49a8d014af543fa054a58222abc8de0f7d454ca03c7429dd721e0f677fa55b2b83cec3d987b39dc563d9401db83ca24bcf52dcf419b6991b6a06db48261f3da6c7f408c323ca3be924cf6037fda59b2ea314a540069ff9f4ccd2e49603e593a33ea3e4d297b71fd1addd7e649e6ddaccb6e9f8f993cf601b5817c6a03ce51386bf709df4768c8be991390ccf1c468d41794c8f946f9ef2cdb79da0f75ee8a6b79b52dcc9519c8e9f3f9938caf194aa93389eedcad6a5742d7a0c0f08bfff6d3c28d04fb7387e6b3fcec861de985f97e53df22f2297f7c81f17f8e93a8c4dbf2c7f5b037e68589c5ddb0c3aff1e8d4e3a842eb51befd5e8489f8347a9e70e252739094608a14b27915c733803495ef2b7914a911423296e9c3b0d6837b1b8e5b87c371dd3adf62964e65b4ad842666640a14513fa09256dcb52aa6ec6b7bf12e78217b4e49777afd6253ac3fb52ede91e1092a6063fc3ae685931ca94b6ad6032e430d3be9bdbd7dce2d6638e393976a83d7c8e1b2197e64fb61c259b73ce392d6bcee9177671975bdc65cdf8c5c5b7e5b8fc19fde5d9754dbfb8ae26ca3ab921af1332f391033391e3c0ccf3582e77f6693e856a2b8fcccc34817046a57242b54e24440b888470c1d6d7bdbd1aac711ba0af6809197c078b9678f20fc7a4f1caf4af688925afb25922caabde10d91248bea334d8263241892ebce339a00c67144a4cf9573464f408f85734d482bf00db482f790ee8e395af352b130a3dba0d280d40d8667396f2bfa221270f9708d963868187101d6ad9ee862958bbad72eb81bdd50f6a79bf5b8e9d9c0366d0319fc6abc18fa343b47b935f1666e6cd12a46fa066a5ab315a5981b0866f1e4b2b4840f1feafa8045e34293201175b34b4a42809a15df62cc875bd2b97d00c1264852eb766781294df950ab04d13f5155708c1d1dddddddb5828d113614f846c852bd16d45c60e7db7f61efeedbabe4d360e69f0e1d16fa15fa8f4ed15a5450a11cd480080023314000020100a074402a168341cd1a459ef0114000b90a244804c1ac9832087510819430c010400400001200220334333020040282b386fa266db5a0eb74aaaf45fd12fad58ddc22b7c1f43f574c68f7557b26de94dc43bfdb6ee80d1fbb05ac4fe6ea4f0f9c09f225ae61342bf8be4d76737a59b0b7e4eb8df5e701ae042fd693bf9cb97f3b87ec61e6e1f41f48d153146f3251b1b3d7a2f947e09f26d45d91042d2da343f8791534855fef108282f21ce04c5fa3bd37b0f059b0d0ffcbbb97bcea4e6184cd108e01a5d19c344f577548ff59ee2bd8b4c6d0ac1e2a9f8be07fd4eb68facd8426dd8cd0e47f971becfcbd1a5c9553f251fd228b641701a52b20f772ed120923e13bea43ec2cdfab0ed8ff2064429f5c19d551f49773fa8ec056d98c0213f4dba818b37476e8b833cd47705fe1e775ed067e31cace11e896d3efc1f1eab6eb9c2dcdf8568b8c7a77ca33ca9c65157894860c278a5358560e7ab74bb3ac0ffa1398baedc2e8f573e0004f714e71185efd33d34bc892ddc519a48a018053217200761c072530d193b7aa1217484ded4d46a46bf23788cfaab0429bcf9d4f30f2aa2c21e3ba8a56c513841e06b9f8979c8ab0c70648c65b3683cf94ef35af1bfb893acfc4332222d3aa54e9057ee2ac88a3a4f2ae072408f827704b3a02621121f4c3110759e7519db14df57221430071260012e2e4bc93b80cdc3ed454daf26edd05b7a6b20d93c7e2105dc4493ac4179e00f50b68a27bda92a74f49ffaac0214b074f5c430117495cd51ae57909c5313cd220e0bc09a996b0d156d4293865098ec53bef92bfc34f0b4cd43cd8323ac0f45ff482c05af3d9553f870e0106c05d32fba5f74e90c32067fe630492b3cbdefc3b75fe48ebfa3c65b16f07ee2cc07612f02b88a4af7a2f50eae698b17f3d791cf757f45d8d50d781935b4da1a274a2cd6a4b818c0caac165cca6f7173151b161d7d136b60b5fed1b4db8198025adba2da87183292baa39e8a8e30cc493d67194f2e43a9c7cc2904ac084f87f3c24d98656abd54dc83a9eb5a61369b04e2443f7d41e26076e49f8bd6d16fc4236e08a9fdda931d468ec0a202820c0110503ea158d1eb63b9c26ca13a4bce10c54680c67983c71418d56c4706df0b21733de30ec92e0a3fe75a587bf6faf617b82aaf8610d4ec0f863c87718c2fe20ec9a5703fa39471ddd32bb1a749393d00f192787a5790b7c16714d04ded46dd698b4c24f720e2af370d627e1b416803e95f8e777c87d19798169149b114b9bc9596529bb5ebc1a5929e72c70f2d57d27d554615cf46b46f730ccf340934d8cd9be3fb9c8b63d4c8f54663574b0f0182649c0dcf012c035f48fe87d4e9cbf924c376b1271b61b061508256a34463ce0df68b5e6d9d8f02de9df115453f13b37d0eaad855af3479d3fe3fa00107852312915136fcb2524fc0bb8e38013955c06d19fd9646b7692e4e6e23f973db349a3e449e373a4c68f2339fab052715c607b6609cd0e3fef7c39ba084eecb33b7b8fa4fd058695e479143b13a7a069cfad8771f1890e63d56273d6feb66cff0d4573d6968f8579c607daa001985cc9968d7b728ed1504c4a5ef8610c816ed65b64ce7916232e4a7450549386b8c4f6593049635797be63ed8f93cf0f4fa178e06aefc2c16da5ea5618a12b657a21c138b24a20b5c8e6207d44a462e333be24a8265ec7031371291e926a1adc5e7eff1a35676bc113a26e555b2b8631aed0ce6d677693e010f90083d2d29cce64130d1d85fa69caa3d2d0e70c69b5e44f072cb38a61ab571d6d9ef31086bc85d5c6a685c40d96d1e8f8dfbd7f49e11e6b606f6f2bc2182b2499285f803737f65dd54a50f22be97164e1fdbc61e91734fc155511bb1ef82a2102cf4ccacf83f4b09f620e8ca66cb4894e69e40e19e92401b269d6b71238ac03515f121b7c558fba019b05e89f268210b9415ef75629e0e9c9c01dd57289d83c7187a1f47871165905593bea1e70c2761baa27006a79f12d6193976cb0e2e3833e429b235e8ffcf716c6f3407a83468c2b6dd91e6329be3b20f3b3b9aa53b07f3e523ead88164d3ba98d56fe9523c44db13ce2ab906bd742f8fe57badc3889f0e5163cc42a98099f14c0e17a67e25764a63d1dd5aec2439972a577a088815883abca74c3693da26da964e24835340a6bfe71f8982118e7908856fa351b534232e4b661773518c9d0754e5e1b270c2f0d646408d082f31d481e3574bf01e8a473779a983655a6f1069a84ceb00217c6eae86b0e8e142a9991cd5808bbbc386b393d06d853543fd106eb6494b83ea37e396fc71a3e1dfc4a62c4499e6b72b0a85b3d805f4e4245dfa80650fc9035790e88dca14d75b50eaf88a0fb3e99e45d62afd6b3ed2189e8591e189d744789071924817933263b812f23cdc3c05b02f7f2551a2d5244b8c63abe2322b427f20de19b1f53c367e06b947725ee3362570e32c174f0fc43c1f9da35fcb2a2127ef5070d58ab2c8c25135fe9fb7f354c0ff8fb4705969a9d7ea28796d34e335266343981acd4c6ab5a4045b6d2bc8fbd476b7f7b34cf4e094d0bd97a1e60d54cccba156c8657b55f1ef1ca3fc74c4662d67501ba5d6084300296d21046086b6c113020a1f39238b9b4cb4d89d931867e861061c8154e17790f054716ad64b218abeb5732aea40c4c90c865636dc73da152632ae8353bc172dc054cd366463b568d7bc290c6eb54056f1fad723ed1db16788395a828aee0c205d88872f8506e412256c416d89616d38a6dbbf914af62daee426782000eb72535faf97e2b88855ebfadf4b9e46b3154719042a7c17994614595f2ead93f3ac904f0e1daf40945fa0dbfd7d4e644bfed5c08135eee9e20333ff1de6193dea5c0630f120141aa837a49322cffd4d4b0d635095073d3e9e128c05821d88626b001a7da82781f77fdecc1c9024e45dbf4eed08614d6d0237c6ab5d425c836b4bad163b009698977346b67f110617f8a5f31a5ef147933453557164a40932d9de867367f20a8521ba6ef845eef9e3701f0cb8d5e3e9e27f4ae724efa61b19735be4950ab8e4a81658652e1711967b0ff92dc8087e504c15a501f41936e5fba52d9eb313aa98450e92db9c386a231a899e511a27dc0cc688486f9620aae08a28b17a9f68b8d940e2e7f156eabe2f003f8cfd13714f97f949f8215075c2791691bfde35a174624398c0192fb9722756adb7b9b11284904fd6f81052925e47a4c3bcf734bb194d555b81276a0e08d803e644940b8a604a2304ba0c96b0b156da72e21dae898184f4700f65de36a17e0fbc725e5a5ffc18ecfe0918eb0967a8ef5266e2bec323bd5b25c01e821b51e0c87888a0d5428f4b92ddc1165091f939964272d4335ab9d1048326024e4dd6c09512d8a2b2fd3677214f94c709a4c18ca9cbbea5a24bf2948b8cf8d3cb34463350ca724c2bca4ec158c3f7103fafb6647d7b1d42da1b07de41109a74b81554dc68552e448e03fd704f0c218a05ee73cd0c54308a46107a717064e7338db04198cf3a23be6bc2bad585522fba6830e4a7dc0efcc9f816c0c8c0ae5f232d6b60361ce368b222442d45d99284b9dc91d9d404696fd37e1662982b2afa2a3eaaaf198c03776582dc37b42449799f5f4f600bb0cb18b7fa907bea602b4c00ec5344e9d800e3113490033d3a739e45988de51f1041238f5bc2c28420cb2da715f79b146fd976432ba9d17383a420d3d6f39ed903e458db0a2554a2074d7dc622d71e02107cc7047ba8281333849e2bbd3f2fbc8390912954899983d2330dd22e99122fdbce10ff48dfc81cc8098ae18495a64b63012208600dc42196e5a9a8d71750f738803cf5cd9a4e900b05fa4c939b66462d9a7ff4ed1d051f752203ae813b089cc414b33e09135e81c3c93fc9db57a6c8fcef5c67956b9392baf67698d790cc7e40c532f577eee02a0ff0b48832c300afc719e008686f4145ddaa2811cb4c335a16878e4e976efe6d929f1073e94c10e38db416997a2cc314ef7ca4b88d500be41272bf42bcef57bcb222575cbf8ea4842f333e061c2aa7ab024ea9c991786604ba8971727023ade0ca1051bda3a07ee251bce38bab604ae1de6401f444d0173318cad7227f67b0dc7bf9714f41fa86fa3d87b3de045a505e31435fcec4544e0c760a5b58b30f76e455acb6ac4c5a8d527316a5feb1891fb2390757472657ffbfb6e2a033fdc4c097b082f131662d63256cad895e4d1844c99e152b8392e7f9081b4aefd663861316f42b686862e1f518d83cc633085420c572cb228de918835019c283952451c3bb1e03b9f62b0d16427e6a6fc2d76830f0cc26adba72fd4874a3b4b33378fd017161ffc2ad9a6b5d5af55a853c941a60428677cb8a0889f45c2fe1a7bb53b5ebe3e8d6abe6757aef78a2182d90d5318b2036411822056e89a6bd82b9eb5f4c68f6f9743cebf5c096eb8d0c053824ec5a64eedcf751b4dd085414fc836f8869407858d688916588523889166a90c10a016d3d5a4f244bd95c1c599e7a56836757a749d22cadd9e97fa4c75929c8ee09bde292f9b38e51fb6918dc796f0f7f2830e358cd0fcb3e97fcf4c9642fc41cb7755112c9a376c7e384f7b51212a9560cae400c54af076d55998603e0e799c07d84fd8dda64266e2ace60e2e7b2d55ac8ddb84c0a0062eb7869b2b505dbbe85d81d96fb9b2e19f1db17a7d5260e180159bf4fc33e8609fea65c4eb528074a63542719777a26eb4b5528586d6a59e6daceef2f814adec7bac973d8ab89fee66dd65167bf2da3dada4f3953539d37e8ffba879ca5677f6902278e09e311f4447fcc5504db9190e4c8466df174310a90bf5c607a22b7862f9a9e85aa6ebda8b98413af907fd74008e20617fef4e86b5a1d142528f1cb4d7ecd1ca2e314d96db033cb85e42705960656bf03c69097f7aaa27f23ad452a670a34e80a30a47edc385ae085aaa10976264f2bf6424475e4ff19156b0c70d446e03652c4fce32c8b672503feb8050c1d2afbb5bd5a1b030cd78040b94150d82ec4cad421f3ded42087f0a5963d7139fb003e5f996ba9413d422cf6d59271de7fa597745e77d88abb8d223622e668e1e27d189ea608b41c7a6c7931fa0f1ac46f5b072ccaa6cb7fdf32e900f663b9c1c5e90a30d4eaabdda5ffbc6a29405b2b1fcd012c275b9ac4d409a74412292fab90ac71d7d63091ffee39dac474f7d497de7f07b9fdc6f68695117e5437f2d2cb8a1710611cc435e443da33999eb9f9d55c9b0df2db963606432b41ad1ee1587db6b6e7fdb24807cc5056f6e6c00f5ea6b0cb06088c6590d454a09e485f4fc2bb35ef441e937f8a6236d816ca5efdc2a95ad39ec4fed48d87f6c999c415ee4f028439c10d8c63572e01fefde903e5cdca46e1a746a68277dd183ded4fdfc63130e8557b86a703acf5701010fe557b3b6d4a1101f58d81bd586f5f92f0b969b336dde4d03e94eb2fc83d291fbf5ee64e6cb52c514d35160ec6bf8294ef5dc5e2681be57b49ffe00e2ed05d515e57a128818776747df5a3526d027ab29f79a9120fa267db7a592180004b7b7e3325f2ed5f0438ab1370a943c4a06e3c2a0e5d06a2bb656ed24c0892ea2b5e3360e972a3f9b2a9374227e86008e52fbdc465b30753953df52e765e01b23b5865181dc5df7a327b7543fce2a8073042ac8e502cb973af162a1bf61a567af5aa712d0442a2beccb5fa0cefe883d331664723843fe582df160acaed7bd2f1f153fee77594f9562e4924c01da0ec043da5f22b02fa3c28b36a470e3936cd15bbe206eadf8476c2210c15ce0c90a355329ada044290842773113ced1093a4af263373843498cef23c9544e8d9d0039ca6889b50efc8a4e9262486dd33348d716e4b0986104b15cc23220dc338607b60a5260d04a86f7cf2617bc4d02f3a512fde276b8b4a9b164260cbe09308336dd7ad0c89d4fc128c18d81eaf87c600adbc7e80d19c3cf3eb8da8bf46a99c89ad7f963ae237f8095ca92a31d9583511e2c6468254c948dfb7cfde182f7277ca224312b0287c082b980fb3f746d496f359323ddbaa3ee3c120f15c2ffdce504241c44ea821f69ee48ab67e46cb078797c58559e1e753c79f6b755d04f693d79498c26de297e419ebbe2e5c14028282b67a8eeec9c14642275c38ebce279f636fd423950c69787efa1f0c4c316ff5102a1952108701ffeb027268764f84bd7ce87380034d898fca526bf6a2b56239a041380f3bfd81856ed9101610706efa91e6b6bac4ec7d84e199c08728f39dc95a6a56875644d8acb718be477fd16bbbf0697d1a8385babf9ff0d4cb9c90102ea053313e2ede40dca960cc5a999fd83ea81e94aef047d7c0037a888b70b3008028b09674b06a4c5232500877453c1bd7cd109447a6597cc3d024441b3eb9880c102cadfd664b622a61e42b0e37917bc6e93ac5648ce1af9506ac05a16ac227a7a52588ae08ea7296b32160f4735803b108c9e6ae3e1fcafaeb2ecc954b7e7c163d029f84e3dfa040b6b6659e0bc15f4d096a2c4673d686cf0286335a5afc024888d4520300aba50fb358c525b91c81127ef67131e3c1bae23e03801b01db32e904a1851632fb94070c31c456613aa9d22f10262790484ad9b56a107f0f348b447d702489d934aeb083304d06aeccca2d1f9f77bad9ea383ac07a22a41a85f99d50540a3db50f7b05ca1e92f16e5f923df23f163db8d0732f4a836c4a9875d54b54f51a55501c81fdf6367b504bb98202dccedf8c9ca85e2f747880972f82b6134c5a8265e87790b46d032013b0b6b671792fe17440887b4d9592600045e199b0aba0a650b2690a16e48331a8bb6f9230e1c0bb066194c5c4b983753057a7d6842d0d7e3300c9fda59186a7211d4630daf140fce6207017ec2a44fa97bc91df81fb708243c6fb87b6d1388490f9e7a595b10d79b4714c2c602102d1ad2ad2998dd175fcf2c24dd822cf25019a25e8d40b02eac93027be2edd09d2f4dd483ea54bdc6064831217417a9838d025ca4461d435c1a322221cce23642e9a3c7e761be016f225a52cc89d4171d5156501859b2308aae4f884e86bfd2966d5af55dd60b9390383d207573cc441b430928fae8a95e68c83303a9bed537e9d547ad753cfaff6c94eb75bfd03ccdf92dfd6e6996b45ecd6827ad6918941fb83beb585a247207c55d95301a14478885e92fed9c82dd0a2cd6e6494993f8044fcb196ce77db81de9deb492dbae9283b4abb8f4f32167f3b9b1766c9e3e7d1e92e9186f1cb7af0dee277ae24880b8d613aeedd7277d1af9f47998528d8eddd1aee7ab47022a662fac1566caa2f4a087cd4e9a6323cbc18331491373f30857a0a958a503f4e19179ebb779082a0c7f3f461817bab8287345ac78c39526981bb200abd7002724a5cd8e0745ad080c7b5d1e25b929b1ca42549bec77ee2eb26fa1be80f11d0f2e9b2c086ee5e1d1c889153bdf468e89fb92baf74111ab1f6ccac42a3cb668218c35564c4f5fd69b574826e6ddaba8ff26d69ca54e539bb589f82f96eb2c644356dfd0ccfbc56740f50746e7386dae17e699a6d0fc0915cd703f42355693bfa1f4a5f287fae735839dc007ca79b5fdb1647afbc52d419c37b3d1375f6105d508169b6f4e46c8edb4983e21ecc8a13981ed9fc843b8c3ea28bd56ddde92353ea5988f6a2857c396d266205a50ffc46f0121b7929680b277a1f58a8ac357e9f118d6ae710008d90c0aeb6764e08192f47c588cd130fb3e10298fcd19342c1532e771229e6bde8b16f36b9f44a7bd4e1eca0042242a0d099ada648c3371d409ba38ea86857cf57192a69dd5068d2f4c9d685992b52b4f75eb77d191c3f1136651f0316b1d58df4359b07c21b3be8ce1060cf13409dd045afa5c4c887c4f7939e3622c06a741bdb502aeaa6a8ed200064324c6aad793733dba560cec1ba339c5491d98ad91d9ffcd6c2ae76e71c62094eceb5e286677cad571376e59dccc00b2e20a9dfa3bc3dc435392733f1e64c6b2a16d6f9884b8f13c0e7a312bb958439c7ca438928b2cf48d1393a95f10c08f91968c782046aa06865579083e060cfe51a8db5565e529b897173c18173df624c2a54e2636aa1cad70e0d0e537b35d8b45ecc027f92f005b475c54a5de2f20eee23e58bf40cbf161ce693f66749490e7e68e3195060e002c526148ead129c2a6880ea416c8842d602e809a771f6263380ec61b688b5431b19df9898996b77105baa2495bc9ddbf9751a09c185e44d7729648d5cd7c7dd817a9a6052315805f9416536ca11d990cafee939c08bf6ebd898f14f0fd93c318d03b2e9e08a54ccc23e3b6640cd1694d2d38d22ef0d50407c92b965034af752bcbdcd20e898320dd6d5675b9d0465ca3ce59624220b83822709384e84bdb1f1a5e45451037612b4c16fb26d614ae1cb9b4295de45865197a421c4c37efe10c078dbe2ebd91224b44c0e0dc7b3c9734b178366dfb429c1e349436422440c0766be2b686aee22f5fd2f0ae9282d072d8324fc1a6cee48faf1c7c71d1e58f72a5d44af796e98d691eb3d18cc6b9e44848b9be1677227743e86d97c203597da890dbf8454757a26fdfb02d18e61a7fb11f79e8407cb30cecfd7852695a86622871ef2da12b6b999ee974aec4a679a7a3edba5647916c1433be3126a11b065368940dd9d3732d825b1e7f8844c8548b8443e39dba516238ed589883bd6880e83ccbbc1ac4daadd86cd4626b26d8b42987369742f651b25f543129f0179c5703660934b6ad2942af0ab53501b5bee82391bba2bfa92f5c8d7f52faae98a93e1ee69a2ba974fc7feb75b5ab84922a772dcc3053c454005d8d35e772213415acdd79b81065b48f3e1ec51b39b5adff85ae2734e69f7b412aa437cd3ae78fa2fe02245002069267276bcefbc80fa45b253708bb513a07def8bd5c306ee60872aecc181c390ed861fa372f88aa1e80434c2a2c7a8458ef26357ae9d10434220632421153d65c1f67dd26f4d1bc38da4e9ee22f8b401fa30d2388910ed05c12a4a735f45d24a35e72504057e88b511edd1228aa92ebb7d02c9688567a1797724c15e6a701fd028aa28f8fa36bfe7ff26f8245104946d60f3b072f1fcd1a6e81c704755db5e84c0b0c4a753703fe475e1ac25e85119ede3f84c6242edb9293ce9af8ac63dcb2e1ab8892f164bcf71c82c8c74955ddb3565b33814e13067f6fcd59c8461f4811453a9d263eb424d390e5606a47e8f62553bdf3a02e4760ab9429196e619c35df8b60836ce0cdfc3d5c907b51657be61d7a5b8b4c6eaa1ef3472ad3918286eefb7c4858896d2d9b115b219ea7dc866d7a6807aa38e830dfade4aec96dc77bca12321925caa1cd491266a5aa322051a20c88b483998766b5e47daeca11cdea5e252c2eb761023262ec42a40e1144918959ab4052bf28b3e1b1baea93f6d38aca6a7a90ca12c362a70a59125416097a2da2454d29e0009fa6c9d7e60eb3e47c2d7dcac9ac7d14d7da3d13b48726b7f7615d2353c10b2a9e9778645a519c18dbe2af9e3c0f75d4a5280192c756d94ba1229ab8f9443adfbab56adadf3dbe8dffe05b62c711bf573d74cce8a6d07c919bceda1f4efcde949d3456f945358b69510a924dbdbe4518a009a477e6c91db1085d12ca8c79a70d0751bb72b1fe33bddeed30845a50ee8d7d4a5df1f63809076ebcdb4782cd28e1f3c4b59b5094b9f330d798d53fc050b8905af756223484f2002221dc288d205c14863f8d462caefd0abc4094fd3289912885c5f69460692af732f9451e6a2af484444408a2b6528151b45e8d3dc9842f3a9aa57ad7aad1da41a98228b8d13892cbeea0a0140dd2f51a48caf5833c47860366049f43933484a5b01e278114f819a86a05710837da3c89250f58ffda391707f46b964ba7bbd6d886e4e29ecd8f26d9d142c248301330fe91898a5f46baa0ce9e8897cd9a4310c89c7aefbc325e46006d20b950b54b23ac3344daafbebdc0ca2ebd5941d86076c2d47b89536a095f1004b31836735b4b6a0f898946b8fa0cc0fbfafd11f0396592c84cef1f085e576fd3cd84fd0ac6f9ed1ff144f9a3a7da46e5f0687fa2f81cc7133a07e3a77ec00530b987b97d707ee9c2b16218c67a6547bcd28041c5f2831f1aedd0c2551562edc7e5f6d9cb924bd2be86c4bc786e2655bda72a066bf26609d88a73267292e5db342455037a919184ef95b9c4c86a02af524302b39f1b875f9c2c1931ba8f1dde12beb82c252a6e563b13312284323ed8c86467a6b86985a7e777658539583ea14cb1ee4c0a5edf05d053110b73a90d3649a8a2d611c5dfa685c96185e0a7cf8b4388851d5fd4dfa34d436bb4c613a525e0b8ced4d9313d957311ac44f8f7bdba444ca57ad70e4af75adb0d03745b18957736094df54d0fcff9478a1deb4a484b192f1385cc6f174c76d1192c742a59de49338bfa33d28a3c723b3429d0c4a887c49ce0e3bdb307f7f0a3d8c7d65824a089ee75f1793e74f9c2e95f2a48db0be5bcb60ccc8767311fe542b1c3568407d0932f58130b70ccb935105daaa234cad1e6a44c1c85d65cc5b936ce08ca77c9be8d1a7440e2a686972049bd500aae416bb334cbf384e500295900294282d7144ab9d8cd489b2f6daceda633089a282439f76318a7435ae587d6b2a267be4a647021f553f48b224344ca9173fffc21e20e24990165b0e41a11d72925b50be961ef757a5c07198d184df9ad0c8a46bae361e058dee338923c018bce1e4dea3032f5fba56ea15dbd618cbc8a4b02a0d654b06e5e47e6c2feebb985b7d0e538418a1dca2a9ee6b5511e55a34862e28af5db5b943b7d1d4deaa6d3cdc8d61753a4dcc4c5ccee4c2d543768d22652dcb0566c98783d99e25d224b203bf5739feaedc52e528dc7a32fb9bd2df75ca51b7be05a1e071e5c67920fdaa5e79d3d9928c27a4f0d8df884c98e2dbe5b3135de22a58a0543250432a4728da02fabf767dbff12ed045e3f7739d99b8bb1a58d605e3707f1b16fc29051b27dd9f2c1a80539c67825447a0457929a126a297c69ab1734a8f8717c5f960f11ec435d64cb4113dda7b3ce29744cf85d5df08ddb6660da033ecfa7e67c1ae007998dc067cc1bcf3dbf738c8d32298ebd767010375d6014ad6c20b872edb82bc91d3e82d98eac39b7360586446d3ae2e07282ea1a8fd066d9b97e31cda517fba3243a8ba60581cfe0c117305e3729c3dfbb54c0e855273045408213b9261ca44765ad3a75e0dbdccb4d86a56daf4ee30ef4c6f2e69ceead969fad1d9aadf8a508ac6839a63858e799e6a855d0a0fe9567172467d0d5fb5a1d76c8e7beee24d88f485d608211f80b938f76d85a36e5eacd3e44d4a2a7c92ce574f1193cdff448609157855c023482d12290eac5672028889e5d4b182915304f6b29f7081ecf119ccc73a89dff6c98b1dc4bde88ea34f97984dc2dc57a180f6b4bafc43973754d3e0b887042aaeb1e3589e84a451c0300f01d8c024511cec0028087c7c70863d9b51e2fa913f4f7362c2febdd5d0889261d6d6305b4f660211ba1b44eb4b1f7663f0dba7426f740003a14039af5889d13495e9d6b76e6774ba4878558c01b9cfd2b38dc05040fc48c8d10e551767a069c8bf41a9d35ea3497060e4f270935b29d8f8c283bccb330a77ebb17261236d053fb98e027073f47962fed1197602437d3b0e3eaeffeb354819e73afbe774352220ad19ef3d4ba57967fd205f917cfa28b87fa7941cd83ab81a1545a3bfe8180d3ce6afae954a4b247380f3b227ae6d60a0f1981ac2b2811108d0931ded9862e28a16a63067a29a2906726b17cef8efabaca7a64b02a8f91a4313cc202add0722d9079162117c8b85e0b51767b845822306caa7c87858a92e0dc00cc51e51e9f543c9a06127b52c97cde782e0d799080d852313c78ea337cf3094624f553ca01e9738295836efa65a20635229524560b27f035bc4955fb196faa139a2fd3bcd90d0668accd4a026744e7da6bb353dd9f9c56d4f61ad559395feaa2dd2e5fa52c709806c4287a3633ee16d546adced5605d4b4a5695cd71c996e3720bbcb751b246c0e6ae40625b29ad9cddee4c799d9f4df647e13689bb43b583c66eecb108e785c561fd3f8935002376f6b1c666ca75c499208503cd146cafa544d4f4beec1524d1b5b13312f7c92fd151385d5eb107d6bcafcc9ab400875b17bb66e49224905a8c6190cb9b38df833a483ba7943c27d5748f72747ad0ce3786f0e3b7c918ad776d110b6652cc13887a81f7af05ed61a1e8b42814f890a50f22cb5a4c44867216935c49b93169b606203c328f61ddc0d063ddf058ca9f5f89599e96b1fe585c7de1e60c72f457e649216134583883905b33b0f364ac11289e5ce1e94135e215944a9e305b88f7f4c62161fd0b73712c38fef633b962a78b56f551918366214b660f6bd8323574208a6a35ab9ab9efc05a69c5dd9f83e78ca0e0e084f1ac287c4f2467cd1226dac78bcf9bc77931071643f3e2512217fc92b3a31b86116f90e122c1be78344ff186553ba37f24d385d3ed2d10d6d51cd4e951d7ff17d98b3b586ede1d90c04893e8bdc6fe43e2122495f6f0452305e080c5f2a55aebbd58964d3b1e55609c1f029234460ad502576d36fdf28e48cdf2e04a604475449df69388ecb815249fb90f7ea70af70e2f52072e7e0a943473e05d7957ae7ff069db0653b792bdd718cb3e7ddf9873d69541dd67f4c3f4e64b89b82acbb5c6ba406a1a35b5176d0c4c6c77ccd4f80be2dba830c50876cb2677a3360b31f102a7408821374729e2fb29e348f3ca07c192def784d70f12001137dc6b277782d12b7c33d2b447ab34695c32b28d827cfebdf1acdcf4f812b506f17aaa5aaf25204797f22abd5a63ddec117f2f9bc25edc4e7cd0d800dd2e96c704bd454c160ee48e2b73c29a0033bc19fbbe9f84d041d9f5f18e00e2374ad45bd01d2d89f6623d1114b6a9b5650fb434e92f507a3f32d73868be468c1a538acaef634c1fcf139b1b16c406ff66e0867b08965697ef5a1368d8a0bf7fa2b6bb817ca529277fe2d0a5b08f0e79a6a4b89a86086ebabddf7f8e8b4849b9a4cc8fb8eaeed7981131dd3ea0000fc57d53cedcf6c674cb4646cad9300d439e4f3a5b5dd2522c9f6c276204b99b770711320900140c74061b87f1c1bf28a79435cb07cc4873c92cb097db59172b4536cc4e441e6660d901e812213d5692941f958e9afe41ef55c0fa7d0a9168c5ed892fc7531b4027be1baf8afff48815704f477a61bd5aaaa5837185df900371c011ee9c72451d1fb3dc1dce15a314adb99b166e6c5bc19f1bb449f3ca227fcb5a754d403f577c9d6a344c6170db09148a688e53c7d10065d31bd0885b05b40794f96ee070295eb8f23152c8040a88376d2e829a2841f2285b58092c794ba1f809e6d6ebd5157fb5931da3bd420b1d7c19f4a924e5e8de301a74635f57591aedc42bde01aacbeb657525f96959a3dce92e816276e5d7ef1ee23b9c0504f21ebf4712a1d5396faa5414a8b44dabcab70331f922d365935626dea57eb22d7ce2e562e8f8e814a3cb8ba0d8c3a1c52eb6d491bf2a06c59aa0f25dd5c8db3d227acc84b0cd5fe2e50417b31f78e627712c6e754d1d9311ad3ea0658aeddca066985e4310571a5472323af8994bc720006b33761734ddd360697b12fc2946293399926b199eb763c82bb4d5575f8929f7edad28ad5bdfc5bad041c00b5c795e915ce74701937e81c3459afd1081e34f007842c1c2a71d4ce13f00b9f627ae359e19502b41d5f152f0c27b6d8cd69a838a6f6ded7383f6796f88e47a03ccd7c8e63b09ca7122fb38e422b994b681d91e8780b4a510be9d6189b22f033481849465b70a4942327d815bb11ff945f32dec700146f2632dca18746cd5ced54e0b1e4a04c6e23fb9dee685498f2402f21339f4e43b7b1a42d7a9c62096f959fce1c18be5275dc0673e414f62bddd748668cf7a59a8f96026b9367edb10d232c2689ca7f06c0e675e4c38de1bb611e9a04104bd27ec488ccee4ea00b1fc7be7707ed4287771fad702f961235e18cd3860598dd2a44cab56b41b5e889e4bdb4ec7489d4c50642df8fa70c4aaadbb89627bb7d0a69c21bb0ff8caefb3785cd14bd4b8f989563d2956cde08f4ae7ae147831e7e0c9ffdec5fe067b7495f0308e5079bc6b4e1f6201d0b404db1d7674e9b739e98d497b9b83306bf0e251246f22a56a52e7ff486a25893c3c06e78c6abf05651197724f7ab03466b5d064430733c393afbaa25b0800825cb708d9f5ef7058aa77ed37a2a5849f3bea36a78d2e58d8bd8381f626fb9241d23755d2cdc9df69d6f5987c0383e80af9dd28321458bfa14916334616587755124807d41499fb0809277ce0374a126d4c2a31f03b45081d106522ec4b24a34bacfa47cce0764d44cdd3c930fde7d7176860a6c944732105184b615ff7072b0448acd6835c65b7ac54f8d4cd422b1d70caba2c80ef2ffe7d62e8be826ad7acc1023c214ed447f7c200949c9a2e15cda6fa0cbe200a4156910830e1ec6c871ad21946abfc80d3046244f105ff935d5e1964dffea3094917a79603f884cf5d1193a87b231d5351cf5fb28b15e2c73a5c0bdef70ef5e0a6fe5690062e4de31b911eb668feedbbd91b7802a576a9a446d4f118e37b4afd292a015d52554b4536e8b97a2b9fff0547395bed9e6adb87d601daf0032600f8b55fc0131c50649cdd94b4ac6e651f60a7b8b440643f240cf6804559bfb84741e9715ea78f86d3e2aea09cd3c0ad33e75018b3d19ee7107450db24474febe36a4ef2b6eeff6b32d6baa2dba1d15d4836ae21e07776079c2601d37c9e5ffbb8222f379575a8467a350b22583d2cdc8a3da06a7564a2896984b03743bd7504a52305771c8005cb45742acb19a871c9281280d95ebda9580f27823769f52c8162e3c12c4fee7f813ada8ace8611b5cda4b98fae63ea7a91e073f8fa950000300762fc8c6bd08e4a6b2c9960c3a71a250f36b7ee66822366b4f1e7f1e2b6f1cec041772073f6fcd3ca0222a26504b591b93a9a8fd01c4c4f253d2b5126ce75b5da5aef8ec5d2be1c1a219ae493126e49c3e3c22168418a961a5c3a4bbb31524e0e6593eee1657c56bdcc15602a9b3273737d92a5b88287a5f471ab950dd78349b2678e184086629b0ead787188d255b4ffe56b312ceac9637f18dda3e1c33b1df2a60d9b507e65cb51da11b212e7abb322645066b000bc944652a0d75e9181836b0e8a8b3c234a2d304dc811998e620614a2b7a1050ab186641637fc04ad5275fdd972db0882d5eea8f753fc275308c36ec828dea62e727db34a1c8240fd337b37354fe50c2fb33bf8790446b7c762da65d6cb4158797cccb7154a9beb0dd15b1166b08d0ef22b0a172f631350a3877f0c137a689903c0d0801ce87ae77710ce75360db3df1e88e781420190aff77477ade292971bdbcc7630f2adc8f62dd90bf3098f10f074011757770dbf4a84203f4b32a34b16eb2a96aa347c62bbb52eea2e3c4f658bdfdbbf7554c8579f5d45a84b0e01d832379813c4180b1cb076f3eaeb8fba944d0f9b05ff4ff0c2eb60c756e5b2b17b4565e2c80069eab15f61546fac018ee4e839933f976766a7ec2c0c4a834365ab5a4588e36a1c8e07be0e027545e7ca44ed66b42b2b42046fa85b2d3007eac375be6689255b125b531214a7b708abe416d38072b47d8d6c4c81ed0b3d30ad467eed3e77617a670114872d9ef4da63f9f64df5cca63ecb7675d82db968094a07a8241b9fdf2b116b4ab967aab0b9b59213a9927461996b9bf331354adcc847b763709870da6dcd093791cf5f77f5278decc002cb0cee37d04acc0fdc7055900bf81c7689e89b62ac6d8a5bd84e4c105e4b4926a24f1a60de8f88d92f4495b76946ea20c734a25cd801ffd0d3ec432a9cb866607fa6e6e0892ac57ae11c37f157fb022fed8009555101ef3d8e4ac425fec656b7ded023767b72733f295939bf650abf3c16a0de97e22e65f70f4d04490dc9126084e177f12646600acad780fbfb0c49d1c36497e4f664b1000ec99306bf98b938669d8815b137ab1443fc9d6b1517334873c9e9cc67aeb1a98878fff24094c5681a6fd777750ecf1470ef68e250f4053879d97ba04645c6afdd8ce9b33eca80a06dfa73f30c232c50788fb141afb5c6b96aa6c8829fb88f81dd3dbd64521ace3f7d3eec3796291b064198768572b53504b70f4f6afac7e401013d646b43790fa45a030723f3908e75094d28b2fadedb709c9dbd8a75470898f1bc1bfd6feb4bec54a011d2e9851dabf1da44914d1a6a9f1a2b854293619e901b240c1abc2b1c70625021d9a4d16547a66d6ac9e3452140d8b26640d288874055718007bc42be9ae521df15c0a5d0b812a991fef68f7bcd8ff246815d4fd3163f5888511bd2e2e50ecb7c2d2fed366d2f5e8b9dc1855b82d0a588377b9fac98d18710d3b6a50c328dbaf518121d7d00eb769821984cd0afc090a5df58381d1a35bd09405eb2a7396f8c436d9f3f2c0b0fc9f44699de21a22c1d25fd8112ed0721dc30c77b5729da71f64d1b84d3165012cd4e9346d392aacd47d9e41d59b2f2b4013157a8073732884011aec4d16bf4b80803b2b0c0028541fc94e58026cb3737902f6e2df3cdad013e08382b314be6901310f0bc80615d7c95a1e2c07121cae9a862b933c1bcaa3fd7f2c3888acc4d08659e4a6760fa0f96cd181681d5631f8d6055ea66f32c9b6b7aaefd1c220b9fb208f2857b790b8a7fb80255bc9a01728b1219a6cf93ae1646a8f2e89d14c7c3413ac690067c3ba182bf8cfc19b53400da71b2d6b9a575bc521d43cb3bdc701f2243802812e1e023bd452a32e7ba75bfcc64e3a15b791b7af41c64d325ae9d5dd5ed7e87e0845cc91231fdb5ae5ae4d628ade513b4438c793cd080e5b70541844fea9fb5f66eda8752286bc208dc5e6942343160b6011c5d524e93f28ff5467c806e9e8845caa34d5e3236e6adca10a31be04ccb457c6ca27d07ef44cbd32e2855e6add775053f04fbeed78cae010f98709293f46dd64d6171a3985d35091154ebadbec5c9a7363c5a7b31a4f38001d5bcb47ab7856548e4f35550a557e658a67b9ee5194a7d30ba45c468b5e173efac92050054be24224d31fd532a5e653055f758f4c648a4939775db967b031ea03dcb7a5c608e62eec5f06ad7f5ecb712810604193f0785b4a8027d08a484e5891b6b118bff4a1408ed5bbb49efdbc6893daabfcea3980502a41492564cbfdf1bb8aa553d315b6f8e9b8bcca219b431fb355a563a9fa59c0367bb637efa66a91281621d9662cc301fec574c16a7d9081798a61f67d9775135a722611568281615781ae4d86c1944c1aec920eeddaa0d134aadbc2ff5e4a4b170f10951b28cf8064eb2fbb14a4abf3b34903fc19a7ee9de518e401b7bb8a75319f4b2d45dbbef2b4d99f1bcf6f8f0e6a6e8e13dd68cefc602f539cb1c567f82b3ea32d46cbf0bc0eeafb036b35b7c849b774352fa979b0fa21a6e5be6fd913cef35b65cc507696a3b8146d576256317048a69a9843631fa2a2d1486aec2101352e71faef102a031d33828689b690e35b6003bf619f64a10556f5fd5749e5b1626dd3a0119c7b98ebdd9ac04fef715abad6114178df93aa3cb77401d9c0c0a850c378f2a02d85bce04d2b14cc417976baac4d3d61ff9fe824766714a9b1e13fd58925299b1c7b28a3d35a7f5b26dcaf16490b8238b5923e76d6f624ae31c54e770bf4dedca0f4e66570a33ddd7a745cf824bf04731162b8124a51adb5a0a6dd508a5a6b1d80946f4c716510d1b7b4256ba4e57a21bfe55539dd5d00ab122b3e674217e43d9b82559bad3240a03e0261f3210c22d1c741bbb4190fba083a9568b6f9e82404161c92fa0022a422a40c77bdd77a9e0268175f05a888e521ab0921711ca8b6388d10fb8f367fd961fc2b0bad4025f7aace07983a2f2d45a9ea3b83875243e130caea825056f21508561f5a18c0b254e9e040d610779191b54b52834edfa47f2e029b851d83a174f4bf94d832abbb024c094bd68d23dd572fa133ebe193d1bdc16e1f9d7ca6fb3221d17a9a74e9165d28e1a3415b10fa2113426a6553f07c89662802dbcaca1c65d2a2aefa58266556963eb864d3bc98057035a0cd79b10334bf56e3104ab9493a12c26ca8b455211c8d62c3ec226543e797fb92408f1e0cd142b0fcbcd1ad3df9a61de010b7c95475638aaa4505e6fc95b7171d5e721cd710c93ef287cb7a9d408184f1788df2f7d924e8297c1801aa43221799ee46e860293e748d39a330a7d0a2b00e90331987cae7397afc90b715dfa4439bb080997693bd5d2b798aee4e9ba3e5ff8d3105b6c4550a77832f81bd049b46682f0a9420dda2b94d623434c5dd81d96dee5ce5bde8ed1d36009acae24cabd4faa4bba3ebe3a80342f2370a67770473fecf5b64cb5a208e4071b27fa0b9677adff850180cbcf6f812d320ea388ca01dcc048f4ddfce61108c0b15c45b03eb573c5dd19969f805f600b7662badd2dd8a5fad140d9833262010d8c6d2a2d94b225757495a488db1ab8c0d11c657e9bf7cc8110bc158a56c7d3e9b892edb57cb65e3053ad9b24c07d0fcee57690d93569ae044a440a843840287c896ffa9b4de6d2edc5bf36a26188c09439765d0965e46c5b8183d39d351d0b39f329e8fb20d5ba1dda6acb4d10e9aa402083f545f184256be29fc5bc892e6594a4ff0cc200a95971069427ab08efdf97ff4457971b88583e50eb5ac0da79471ab2d81ab71d6ae47f450d31e3e8ad93851f381704a0f3af4dd6e4db28e9a88b2362c0dfe984c57b5497bbcd565e50c5c3ad6e39bc0b5e5fcf0b49c1ae047dafd747af5631087a2b5300b493ff018769a24b6fb40e5433955103a820db9ff7432d7d95e9144a9e8e17fe3e764c72251d8ffd385c61dd4fbb36f61ce077eaab6dceba07b211a8bfcc31381e0601fc5f2869c18c919805b0f59f7d0cf5f455d4caa74b380e42a9fc6d530c1e9e939588fc558330bdd49187d648c11caface3fd42ef83494538a0f4958a13b9d051b521bfae2c744f034a7531260cfdaef3442826a26b17a7874f2a5793e923b41c0606c0c0a4a2cb9265199b8cf2e18e368f96cc09e0e595282835a55d557246474c8e18d2283b0034f2ba16bcde298d8249a9f164924c4d0fb7c65102a88fe0602e8c9fea25b358806aeab3cba4cac205b8d985ab4276ac981841426a2edb189a019ac00a668ee611436e99e39a62fc401651b727c0f0a05e50c2c8943b366c1b550412f90b61df6a38da220ca982df2aef190a8ce1781c46c38f2b142e4eaa27d96ed4ff9a987e225e1eb2947c0f8948db07fb646561070e513d031e6a9f3d814da4d09501e1d04a3326159d14c4d7d9743a3dc6ab209e375e3ad74c063478d020c6b644b8da378823eaf6fe76f035e9d60763c804de670e02a1d2753cdb9966f833b0114fefc204b08fdcfe5d7253bb2c9531ce4b33cf0e4e3100dc3fee46759636be2628fdd3ab516c891dd4d87c1794b28da4f5c1ef4f6823d770c7ce5c1a2ccc3de455c22cfb5dc446830998468aa2500b4b3ccf6fc7ce9ac77d8eab59f02b551f6f1156ec49070d48ecf97d3adec12600dab42bc8a28606d781315f54e085659632b0776a254dfdc5388831adf575ffaf8409308670f97f68824d32256c331576e75387aab2388a554756819e37c77d21c42f4e31c59fd11893af4f6488b72fc509d756c043b94e21f93ff24d295ff5da297e3dbc35508dcca90c5819d39a66c920e73e76f4f1f980a2df2264116083ddc3cdfac4b8681c07d7d9a856a9201b10bf53123ea203453a8f88aba6cb3e22df5d04924a04890888d92c486de9777c1334ab5ad1bb34e2cf3fd53dcdb6ca8f153dc595c5e52d2c611c8b9877b4de218915d684473d9824158aeb326ea9c92ac982f04877a1ed62e16451b7ed259195e825608b8cb0d30abbf4a4acb4c89c30e06bb5d1aa8317605d7d999b16f60a460ad4008d5ba97f870cbd7a23e05adb5bb5502848f9d24a92a319f32c9744f1d570728c7155f5246c6b454df8497dd837d6f92329d0b2fa9b386945dd5c1cc7f24a55875d66e842f91036f988c4995ac80894ec6450722738e3e88bc8bbc702db02fc2f04baef18b7c44244a5ba2bb10aaf6bf54f879979a66a63c1f487526ca5ff03e810922a0c0d7e991df26a7ac70c90a43dd16be84fac4da7122435abf6595e814b54acae33475629c1ce8507ec13b580b10909e0a61c5249d1d56e4b0f8dfa97143c311b601b26fb3252ec7b2e64f44bdd965d0ea174a87c16da51b794ff9d565906acf9c2e38c0badc428984677ed649b85ea59c9bc41261872e713c185a7213c28d062d11fe1c655b69e093648cc5f564e46d6b03cb1722dbf727dc3d66fb6ad6d4aafe680517e32f13f26eb040af5c83f2711469525bdff85b007747f4b78bfc3eeeb1a23189f1ac4fbd7af1a13716ae36278568dfec62e80f5bd2353412fbcb98cc788e8a4fe259d1e9b2ca349bb4006ef3c4c6edd35816b7f95317ea6797b3029acdfff1c2242dcc3602efefe4b2fb6b65e9559a3a984d93077396fcc60f16c2c5bf93f3b23fffe1cb571dd08ba783bcdc7fb6131f782ffb34bef038c53e095c76e377429e924eec31fa65c599c53ba3ff1a8e5271771aae50b01f83dd38f8c6bd56d9da9d714a4af0b29800e82c676fb630b2e2ca8fcdb1ad37e608e1024363b24043d818d8fa0ed17e8e01d12ae4f370925fe0d2fe1a632bd0013f996a252dac6db6e97db995e193aadeb177bca3e9d7ef907899d53679d988347d5acb876cea73d5a9519e46b0b631fdbae355bebc30cefcda5ce51e40c8bac55cef7fac448133a817881faa0b3da7b6518280417d25d8b1dd59577e5b19b9458111eaee1158c5beca31445ffe1c81837a81db15e818ab5d49aec4d15586f691ee20d59319f5e91e0fafbfcc39df36908da0d4faf222bc763d93fbfb09769cee8721209775bf8a90ee10827d68bbe515b92748fec11a5c5ac46e548c86486b25ed4959f2e477a9e8a21e053778588024f4e217f1801a0a18832384e1324496c7fe1e62e40b2f56aae30ac689cf61353160c4229a3b851174864b7cde33e22f563e2edfa8090b5677483ee195a5cd975fcf7fbf04e4ae4c91bb745a26c714554ca7b61f72e240cada995ece8a07de9e584136e16edb7c84c71c5ab6584a7de038f58a37f13692cd4ffff618e6cf6c1134e9509e8f9cf5eb298963b507b0766011b510447b8574817294660768888431e1836482354a5edfbca3939f3e7ad7bd69b535b8afe18af501bfe1ad252fe4425d145010a30c3058630f0b7dadbf75053ac5a04b2bf3626ca7275d5427fc6c0dec710f246026c57d221311e2f3d2014c678f54977a1559bdb4d38578fb9f9c94734ab3693758846eb7476b0a61547b23219c3d23bd2c4e79f7f67cc2e4ebc009fd74db878e848997a85d6edce504a32cd93a56db76bcc5df8343144afc9abf35e9640abe988040a10cab4a67b28ef1447ba7b16b2f0a062f93005cf8350700594a9a18f681643a973ca85a3863666988dc36b5cd601920900a285c8f56796592e6b99c426e61c7774171bd03bc75e8f29a0f82f36026776d6aeea34236a7aac6f3410b3019fd29e5b9ffa535aa0b4e98b0311a9acdfbe5dcfbad6639dfd6250393424d32e690fc64114eabba829f222ec88cb0fc0a90634b9265c030174505184ed8cb85359dc2214f51ecf373728807a0a7d50a8071ef231ab875909ecd331eb980acaf395a457c77842efadc979113bff497d8853403b7caf1b993b1bf6c9c6ec795a214bec89032ef2ea714dfdb5fa3912bb00243be4b318140c17c714f4ba681a7a30b9a350be94d6ffd5520a801522c47060492063c9a6874d827c7629a7f0b30293d1bed6f7c286b3eb0889924557d3492a8fd229f271e8ed1205287516b28564ed8682560b111a7f0b9a8613c4ab3906b2e00a22fd4734791cbc02b6a426c6b79af9f4f17b5a888d15b68668f38b1d1103526c83f4e2ec6d46fe70b72a1c9a61b371c0fa0a260bbdfed12830817723e8780f964e96daa391560e3af2d0fb15bcd2c4ce7de7656010d7c801c3e64c596b9c8ad3df9436395c4ca3a8cb414d8bbfd9988fefbb85efd21ac67df485be0025872ffe4c5ee3e44b69f8931fbe0f6af1e0ef00ef3d6bdbd45e62f3158922ae5fe86ad1b6c5d4c9bd24fb90928e1126c7d2011f88947610af148c0403d9ee038b500b38f68ad05867c3b5febc17ba8d7259b42e6e02e388523c37cb4a8944941e4fc9a46e3fa8c3199ca848a1a82f35352ee4b6ac58b27c57791e8bc9d9f6cc1f5cc19f0fde3603ee24e0eab7226e29e0b8f9923f6f81721029e443c24c7e486e917148f65101fcec5e5c5d0b43a90d24165da8e6a4294a0ae6d473d732050322bc558739c186b76b837b30e64da2885bff282ec177eb906456bd091996fac1de2ac8f4df9e9a497bb45b9ba94fdaacc653844e02f6d64d6c050fb61760f9d54d820414b131489bcdea5743023950bd4d65e33e62e68ae8f90281979a48a301ce65abf0614927ae837d2287cf7d786d87373d2a4e2b6839fc6afbf7191e6e79278f186001127743f4427dec1c341c5244487e5bcbb852095a7e9c462e7c26ae9bea01ede63ea0f3616ac3ce8d82d83d8b476eaaa61b55cc9c06cc381ee85551ebdbb47840ba9e8954e2c9076334bb4588d5de7df796d907081ba56c241e9884eabfc8bb35101c0a0ac95a34227e8b1736af04d894c3441e4d0d31a4c618b21af4b96f399a377558b2a41eed378157db7872002d5bae09525b25c6342e25f241aada9257868daaeda86d4d195c922276a3856cb5f5b65e51d051063dea692c4a2208cb510ae36d325db466f6f6d7ce98bdeceb889759219ef445bcbbbc9c99fce68c808ae1c46ad80325731bc612accca3ff908c70c25db2d9972fffd692513ebdeb5ec8b8aac502ae41ff6ad2a948979928f94ff137ab065738018a6fe3ce9922e62936d4c21c9c6aaf2d0055ef52fa18b678243ee21f4fa2a47b604cb803bb74e952ed1d5b058d29e8689202d4dcee0ff7d118a6a49305614ecb588e1e6a5898971272d498397ccccf4c3575bb16cc70338f0932c538b8fa3046a6d1a778942c79824466e3020d07081b3df481bcbeaeb2ba2b45e49ea2f6769598e7d259bae3c833c37c7cfec84f5a136723f911a5dc3fbd518030b936621cefacaea15bb445077ea95caa437b66bf1cdf9765885d726208ca579a56045301671cb455913f0d71b9009b2b14c0120ca3485583fb64986decb16825e952d89cf80256b919ee1377d3b326e4e955b05eedf4fc7e62604dc17ad91073b245032d2fd53c39509cea55a19512b7e46f2b748d434da4698b2b881c8946ecdc08d40d1bf30461e0857e0df5c7b16dc001f04e0b633625543d6314c2dc25536670f6bda36206b846880fd338bd6dd03b0e28c6209c56992ae6e1475407d3ddab945c62efc48a71cb2f41ac4348bb792d428818c3d14c3ac32deb74e80e486aec918168210e2d87c78eeaeae309e2f0b8e86110d68253f2959190b1a84e0f062d57f870d2ed09111cd6d03e262845fff1ad9363f39bf1224e41951f98d7e1bde912a7544f11c73c284f96bb414a7d145300b4cbf3a451d6e542376f597c3e421476690b9983a0f5d241ec94e9868d47dcf3d765f7d9fdbf707b21417f02cd0a61ecbb4c3c9fb8ca6c0de9b917ac54e7856e0ab7a0a48203e5e2456032e98a584693aa647a0377d13a072962bf79f0c913091f87d91e1482849752c93bdbf68aa9edc063e410ce3de55f4819a4b7108408473bb8d0053fcb295b0721aa59f6404d100a0f7988fd32a0a291e1d08be1ebba58939aebe33ddcd9373f0b10347f4ba7b7a062a4bd96684174805446c33acbf1eafc1e9e8a2e120b61152fe2bd5cbc003ca2dc32267defa8f44c981e3099b1a52491c8f4bfe0c91ed441cc0c8943eb684d2c3449aa2f3516445f6d2d35ccf58d599c6696424da75d1d5dfa16a861131ba21024f71964987911eb9eacf88eedc993b2315d7478311ddb4a5d0c0fa894e482a4a9bc3f66578c8c353e65aa9aa9ca1fb001d45226ab16b63328e60a7e1e25924b0d205a6c066dfb3b11afcc4ae3081ded0c8bc1dd9b06cf2c6b571ab4529d83696c9df1afcdd739ed769eb863b1366474cddc9d71b5dc522320ff8845d2a2653598b8ebc7fc65efd7e5dada7c991a1f909f10f3a3c499df563464ae7ba8e2dd1236e64837d340dc5404f1f9d559798b655f733b0057f1ab309aaf4587a39dacefae3f62611465f223a54f7f9990f04872ee330920ff8ef7151d291851949d9e4e4ced929a986091843846f5c2fe4c4a52ec987a801da43eaaf27f1cc9eafb6b918087603b4a5d77ecde3caa5d41272a3c148d9fa08a433a22638f4d8b6a1a033f087a10d6b9d51f1e5021d28f285a9565a8bd69238e17273f5e5f42fce03acf9e39a74ea8b06e77d8bb362e6eb4187e66ade55dc1a116a7fa90aa21021ddb1f6beb3c61f580a57f30468443ce08b2b44c64e0177d2966250e313bf0f5868f6810459da5bfc618345014bed492e4f5844d23f886ce66c6e5108dfdf62c87b2cff40faabb8e56a82d2c9f26c08a2363dc63684205fd0087fa8784c85a033d82cd98c138457b6d803561b86821ed1449e6969c2f88d169fa5cc206fa4511f71748a34a18dfe21775b65a51618028fd153e53c449e116b03a1f739f15b059fd93b250af1e8d08d5774770782a61f5ef83d1f5519a73fe3aad8a660d158c12c94cb8bcbefff531f30d956d4c8c5d673d3f803081b7dfae48173c839a94753f9f75370bddb5cc8dbd4c17532eb208d235237e690d8c589d23c637eeb2f09a943460b70b7580719492654bb0c632ef90fded98ea4b6b124594f4cf0cf477761c8c558f098073630036cf0607c90a3680aea565727e653777987d0b12e6094dc919610b947ea5910450745aae220760b09013fd2d6d449b48d8d3c4a37a1325242bcd3e357f72361fad53d83042510ae6ddcd0010dc3b65d615d45fe71505effddb76e35e626d58ad9a87da962e79b688e09876b0bec31be34dc549ea370014691a2b2ee8ed510a9097a327b87ba65ce62e6fb7f71d2b5ac7f44a1ea3f1f495f657794b4c948fa35783f0338c9ed1912fedeba35d8bf5c4fc066fffa97cee2088f3277edc26084d614c127146e00790d99d8a4f128b1f4a6842c3a37893bc946d32f60e0c6178012c01614e512729b2ade0b78a42973bb5e5b3aa52a6101645c16c8992b3fcfb0cd9143fcb4ebb613b309d24f30c21256b1ed657bade4e9b063b089e1ac55ca424c2a864890cdd1870c9a5635abf161324f08167450b129e7ba2fa03f7d0a5c339c69722b3bf6d5fca1724af164c87ea7121fe2112fa5bc6cf87070423a8be4699900cf6c65b68e2d5454b342942b393090ff6e96582fb66d350cecce58bb1d0a04020c26d44b0bf18a210e5d2c24359f58c9485806a8ca33f0ffb4d5280e0fad063401b7161bb64ffb05adeca9a9960b08fc218f99ee3556a08909abc6a4791e80b30406fe58ed76ac141aa253128d74f0fec2af8cdc17a9d645442a3446ab92861e1cb79478462e7b2bcba324772a9f4ec8b02f2c0a76088f3fcf15a39bc2d051ae0c1d993917c09c80a2c4e2938521047fc6a0e17fd2a0507d34f6a9a46a6dbd7fb147311b3401d1cd97c20b29901e87d00a20e932fd5e99df0955a8755104368dd4b9a0723e7c82ad0b041ece67ef566ab54aa5b54ef92e0a3fef91e928e4304232fc86eb9b1de5afa1c98a47c13b42cd16f97da5f541c74dc8fc28dc42c3ff439755d1825d4bb3c0648d4ce483a5717c846a7f53e51107b8e4b2fde6b6c40fef98d829520742d0026409075a29a78104f896cab6ba069ad5c3e84d9cf7fc47347144fde3a40a8bcaf2899117f4d9e7e4b3f9e1cfbc8b1004df854094d5daa07ae07cc7954917bfe8e36aea453017d25840bb8ca88390d0186e854611afd32d43fa54a2406e3269366f7262ec4e8fa69281b82c7a65aeaf7b6d4e2800ce2557bdd26e521d327b7a1091a809d78816c684e10fa1535640dd1029182325a07da962fb7993df9c415f9096bc53ce0313e05fc30b1b260a2cd40f67db8a864d1c77838d58a5c7480c34f7dd78ac65f5f0428e8d2497a9067c5f4591d2115e7e0c34a1c8fe5185cbde3d69365fd88a41c699a03a72976181d956896b43b09193661d8b97ce0b16c32ae10cd8ba52ce0377b50ce0d0e537f05911fff899b81b010ab996273a5c420708ced2189b622f8dc24fdf7788b878773a077e3b4fed054374fba97f50219a04bbb3970cde2aca09bb90b69f38ce395f0b1ad00d6bb35820deee4f30da075202c7cd58d28deabaa610b76e012ac820204bd87fef8f22cd0337408761adc8291990ca712877c24042142b957a964630b15bfc7c6d23b7ad659ffecb92ee950039450157fcee6097e6c4bfc07bce03896c11e61c00f5200648cd510d4e515458025355866dc871e1c8d5afab8b89966da836fff69542079ad7bb2e545667f379f153fdc8884b3a1e05818a0e8c6f4d341ce4e072eacd62656114cfb15efcff7c62a644b5a7cf34bf6ffd4d12aaef0c00680dba54996d7d479121f184c615fbce3a7a4124cecd18b8974cb36aaf563a8488209c7e1b94f9f0436a326c03a3621b72bc52869eb65dce0c28374322bd25f0a8973d8bab8e74a2f10621f8e7e96e3e6c2408f10d3b937ac817ed8b355cebca6e6a272ad80bb30001e7d4d3542c81c23d01c969dae4c5e643c41b499034ce76b05a885046774742c69c9597ffc837685f2edd05b697081eb2a50128710106328e0c62634d007562f0d033f87d0692019382814c4428e75c6473614eb1118148d886d50d5db878cc66a41f8ad4d6d0ff663c1d361cb7b0fea1934e445b3e35f20bfd9387178333c8a948c7e0163f13873fdd34a19086b9e7d001251c38fdb160473a95d091316223623e23d95cd44145e58d0292ba26e255a6488cdb56a028b48a0b8125c81d343a9653dc3ff2a5900e5e71125a63196e6f3cc035282322ee2bde3408d665cda1be72843c413e3a0f64dde5645d12a72918b9215c52ea01708b164c29083a8c11b981d4d2968938fdccdb8e20609be5e961d6ce2108be9e1aad250839e2a7905d696059f3d7a3dfbaba3e95f7229353e3b708f67d92db97277c6c96659eb0e20f2005a2ca76196989f51065d56fba8ce3a4671270578ae7e45e40c7e2641043b7a8810847e32cf6de5a201e9e4028b47555ddfa5357c223c59b917fe84b122590aec1c48f92e4f43bb5d1df4314a1eab6fba3a6712e61a431fecfc645b1e07db531ce5b42eed181180abcd259fdf3e94bddcb20c1a894cde1c79d51f3834798803921c0e96d25fd7a7132c3be7e61ed31dc8f2dc2b7a5acefd0218eaa90f542cdc23aa955e01e62efc797a61453301e157befbbd87a4bc5eb710fc41641604c0ddffc096cb14a2945fea56eec537c7ac446b9c86bd2fc8bb6d8f4ee49ad116b6c0b7de6ba39f798c482eaa735674bfa0d99122f3f9ed201fbd4fe52208a021cb301cbc477175c15989892011395985d08e74053c3e4ddbe951f82012603462801a52bcf2f311730ddb41530b7fe72d3eb58b2bf93fe297529ccd09f8c09fbf6d0f41cfacd8d6c540f515f3be8c7d96bf6893c064676289ea9b1b1cc0d0d5936d1f4435ea98ec99f3b56dbca02667f3ec298ca645a7aaf7e6946b65f10a87152684cdd5a3d36ce4fd9545749e4d8ca92c78d4a55919a565900a056b4d0f376b1db3f0d8159a08b3fced0c3550c84121807aae79c689e6f0e8ccf760e2205c9fdd0923a25fde885d46717a7e01c567d9944a7e21e0f8c9ab4c4daf6fdd73a1dd5e1df97395109f330b2d42e4261319a511a2888ef3a2b49851d710509028547b54f94cf6b422d46eee5336bb4a6d5c009a31108fdc47529af91d971afcccec95736f2874fa7d75dbd77aa14f6c95f9c626e11d2d6dcc5e394e1398d1ed401ed0b2900ca98e84a2e9bc227b2fbbb25a55da9d44e05be40ce55f8e6e88e85b6dd4fa3a8e55a3caa56e0589260ba1f780dec6e5526059196f639292d30394592ef4b4af7db0e0d9fe2611822063d83a015d9ae331931f7b8f115f91c80523f010ce86c08074423344285853b8db29824df9f5e5562d25b50e6b62efbf2902374dedb83302c583c7c6feff48aa8cc020729c36ba69b2deaf89afe1a23d1174e9b2553050c826bdae83344f14991215aae7ad06cee1a678c5e78a6762f06cb0d90f7e5596ed3e6f2d9e3a5798216b233968fd1530a11b784ab7b969822c5a4c883a4d19d8798ffa3fff0cdf3a383d3466a39f5bbdfb4798d0372a0943c36f6455de8810edbeec7c2b7dfb409ae96d846c190958e666fdae82918af705ffcd9601d44b4d564d1cfc498099f600cff4530a5031e56cca1566332a5fffb3028c06f1445dc0acb75e8b4cdcc53b1e00be3f03cbc49a4376b0c7fe7684ffb0cc4a64f9da8f1433d06652e8bd58ca580bf9fe15e72831374d3e82518e3deca3db496625f208ecaf5c061d52a713066da48376ad4dc48a3bc2750b939c6ded034e68e3e42b1f65126ca466e63d85a4ccf45d1d693b73e9be9c7b337acc72985c52d6834455e22b1bd5fafe03b1f02214f047bdb2ad84867e19c5463a992840c1abd430f9c9d8591712c69848d0e73d54f2334d788f5bae130e125040b576018336977586998acc4b2b01be36f6d8d5faa84b351ca9ec0b02c55028c375ec3ea39d57704edaf35a80bb82c079f27bc10329900868fd61443306439d4129f0956d2a455c563cb6b18df56eb7e67d151ca4832e52b85950b961d32bc2529cb4a5165831e22958d92c759e5f75d306922bf0d6405d4f01cf65e23b02880308770b3d77c601c7c825ab594bed94d2f3086032a4f7b1e4df9aa57261c4c2ab307157a3ef8b44110994792d485fb6912e958a50501dc66bb17166df46462bcfe40366060d2b03f036b445a030391f32331fc05fd9e7aaa0df754bdf2a0aa35ce5996c069d7fd03b2bea89b0c91bcad15c1ad38124b1071c68c76e36a80a93d604a71a8b22309a931b0d90e28676074120b57e61fa14f0e8f02c47ece020890718715de93471967cf33eccb517bc6917477638b61beeac26e4947db9395cc5c0133ed7c08e0b4c850fb0830138605c244489f01df436948caab3dd626c6a4a0e059e91b0dae6fe0051d658631c99d12daf6f500b3f202c101949127008a1113791954f79e686e5925eb92317620f8ce5bab9355a24ee111844da629b400e4227a4c324bafa81d31d79091a4cbe69899f6960eaf996811199379e399418a386f91822edd493d238e5e1ae3abd4c8ca161382479bb987af74ab512be7924426b8d79186e75dda3ad5038c1a73cf1fff45c06c3d3b5c5d56a7e30b1788a69ad30c9e0393948c3e51e437fb2038abaa2f97da241d0c767e460c4b72626696309756636ace8227a5f3ba1e782d0bead8ef5d4a74565f99653e11a544aa0626d32345a000fe9236389e49c4e8de4c4832bf7dacffd41b1e08fde3f5c7188f7a97d2ae0c702500c14700294c6689e0276218449c97227a2511a1b00ecbf11a6284eb6967eaf8de730fcba997687ac3f2b0c1ec650cb1def16fa1447df944010163f1666575a3ad32a449105f4350d1f41e5a78bbafeeb56e18e484054c7273dce0b7ca88edf9b9ce6b5b8bba12c355c42e740cd3349840eac7d0aa137c9d74fb289b53fb39a4bc76309df45f4725fbd2865e7452d7c9278870377027ab44bded0d1e2497f9bd954fdd965c98b299c7d788d8c01ec8baf620708fa0bfcfbfe2dc726067b75ae37944021c40469a0cbd291ac402689d4f35b37750d69854d06c5fd2ea382c91f4f271baa8ba9b3500fc40616042dbcdf10aa3f45ac0fb954b94f4f6921c5b74b50d970ee212a94d708e66160e855137c070b9395aba465d696074c34d8c71dffc093e1332a1499a7c66e8fb0062efb87b76eb3645b27663139a1f870445be6db0df420531a162bf355dfaeb381e4f6e3074dddb6252d1281e586672152251ec4f05e6e3b7c0ed1d507fb3add0baf1b8e57e1fb33fc0ff751b65bd8607a3cada71ab1a5b5110c56b61080bc8ff4173daf63b703837d74ad2a527f2a18a21d88e6d0b39db459071515500043241b2f3a5e6a08065ecad13202ad40bab2924a6e555b00a1bb8fa1c5bb8be72494a4d9d1f919a44a97e395403643b99c3933c424873980ec7603787a768845a84debaa20243604d9fe770bbaf8c03c9103cb64dde66e68e159a4b20fb423c211be1a1b3ae12ac466657e558420581becbb6620ac2d691865a21fde5720a39cc9ca903946495d1ff1d000820a77591b1badb30464e1f9794c76fd651a5aa5d1b3c76aaa80bae08a5a23c28ff7806a5022ba8f06da17e3da8deabdad01399bf3d9f9c0412c16d35d09d77f271e64054c9cd9bd57377a0f55e3507151599180c3e708f2c2c293a79f1b61c38c52187a37dad92812c43de4ab153859fe1dbdff64589df3e1a7aa17432b5af4022d937718c9491f1423b84fd61c4c84f47d5d12b0a78c2730c31b3e90fbf617cdc2a06ccebce54427f33de83e8fb9c08a5826f3f18d66e394677ea0f5b3966a2a87d9f3aeb5d7aa859690774c1768188ab9f3ad3876b853c0a2269812a79443b687fea34988a0ff0542e5e91cfd761015497ed0c717ad6e366ea46694075819c434c771eb02d2c9381eaaa31b91814475f1566a3661354179a3dd9585ebcfe01d10587a3d633fb2808707f7290f9c01f5407df8f35ad7ddeec133eb906a27a4ada9ced02d4d9e6318c5321b026d8ac1037168171b12a74826fcac40c6fea84966fcac4a0376d6237448fca9b53baa0f54c62492b862634e101aa5261475c408c61950e825c984b9228ae28a2fca4f54b963b19fb3ebd246469ab0caf4f5e3b51ccc1168152c4115d68c5c6c0dda71bd8dd007637d4be30773e26b0cfd4ba111b2c946a05b94a40442e1a7841f922481222e5de7bcb2da54c52067304dd04420436acc22c2100649e010f1e47a05c3529513aa3c4a8878cf383046471072b29482a089045373b7ec82b67221827a9c6073261eca193c92664e4112cf2051ebc44aa184544d2b0237300955de2981c38843284421b8d11a288e6d0812a8147902b134490c295d00e302e38a58955506ec87e9810215b018838a10ad94ccc086ac21e9904322d104216c9904672c99930c299136290654f72c21c6296f85423acb2a62b45d69439ba7245080a68da0a5b7bd2c3d6b4130a208b36f4203bc26144d6610ae984328d0259aa6191b69d3d49c201054dc8f3c9ac5a58c2c805ce05b220e1957d09e50d0708b12c8c0b2e99548a6b605e604e21a5efd1883d983a7b8c19c41d5ead30b657f107576ae04ff1274376a9c2dead7e3264bac14b2307dbfba6df56dc42fb6ab55b43f0bdbdc7dd3aa99cac5af58bb937fb7336a1f993913f2ad951b4a04fc3d2d0140c3440b5e2038ea2bea6c2520d2957c1aba4065ebd4d20cf16f5e953aa2909f37107b38bbbfff4285dcb3352caaf4a8ef255b0259d58e4e7efc50fbc9bd2f7efc5acaf974ff62761f5eb0b92dfdb7807c8917a06c82f97d27501b27c80d79323d5a8f609c9b05c33a0699492bf395e0772ff8e47801ce9000450220b219110f03ce0cd39e72cf14dc9af12dfe34322ffc82bef8200f8cc8990569e2968dd32a2a09ac4aedb86539efac590c13cbd2a7f85d73aa5b4128aee8039a747bdd69f75ae98f4bf2a795e409377fbc3f0ead936009cf0f87a59c08111f984de71b6c46ac7017831c66d07042d46ee1397a4d9727f3f3e29378080a3d046d8529ed83236dda7a7c8e0b6275de224a876dcf4fbc00c5bebc3d85e2bfa80f535dc424a19d656dc4205bbbe059a323a2bd79f2ce8f40d4393dea3563a67a5f5e7c4069bfc224f2661f5cb679aa8d4897822b210125a5f7bd125405beeca535660db3e217927dbd77ab60ee4d8535fbbf6b84ffd12ee53ffe53edf94fc2af13df2a3540fd17e85cf495bf947c8eb406e16899f6dadd5fc2321ff9cd800028ea26a7a489d54e34cc2f5cb7dac7d9f69c2fe677bac27f1ae9723ed62d45c164252358da7c0cb1d303f18b2336d7382bf9de4d871e64448011b039f4f0803edcdd6be1248d7436854aa7135734264fb17674dc450bd651fe27520b7cdd17a1dc8ade53962d6c4ca8e332656f6891d674c4ad8117ba0d51c27e0d12c8444ce964cd91878d373fca879320b214132ffe5c52c84243e0bc6a63a4bf9714b4d5b780730760b106cedc1b781e87be4207a203b988e63beb6642329e316d303afb502519ddd4766f9eb3efe9d90c1cddd81ac56e9f45992148502a5eeb864c3e993d8ec97fc50305b32b483d8f2b396fe420e41238eb32547ae1d674b88b85b79d1bde8df081e3fbe74a0f0547404890517a2e810a546971b92a82431d991f250f3a48b0cd990315facb270457aec3843a60d552c872ab3241f5bd3719514639374b535394a3bc8ac80ccd862420b4270f8a2a48d12a4244e76a86c94240ddd3053424649548c31be9b1a9dd6a480a66049055149059fa4b648d206f3cb27356a92c44012a2496224c3cc2c098f2461953355551ea1f6e10b91def265846f0a88373b682a377c3d90d922a68c13cc08531030e825496d867c6952b0a203c6348b69a1990c1e82801de1e19bc34657d9400405abe2058a9521a4c0a4304953e4d301498fe1a18d7829fad8789921c4d50f385f9b1cf40966602948c18cbee82258b4102a309993118ce8a4157cf4802de96244a54b0da53ab01e7180c89c0e723287e61333a5919eb419a71f4d9f0d5260389a681f46b45190137cdc08612a38dd801d39c930810e1070f490d50e349f9a292f4f30204e5a85a66f8b141852138dc388be21088c898f6f16ea19b8dc8035719171039d1c703e2c561a06345aa63ea927d80b4e739a3e28292e34d1718cd409f25df9d06cc2335b6ec0b04506193a301a70f40d2b2e686031a6b03c09e1b4d404468a76d2848e91cf2a080e3e340ba11e41cb8d242d32b2d081c900e7abb2fa7e40a379989af1f4cde0b442530d5260611329467496205a8b8faf4b084321cb0dd8942c3292d0f101ce95d5139a18534c4f3ae6f4e5d004460a2c4993ef8a918f4b101d266f3e7ae42d8411c112d33d609941a68e931fd0bc81b580c317e7ca990dfe405d99dae0ff385d11b37ff49c57baccf9f3335350d7510901756814e5189a59f961a3b5e3cc0a0b516e684d34ea963131334d6d86e2d4c839f3743bce9aae3698ff0b2c47d63232f8db4cae494c5a8c3426a91b95090d0efa3edf03439269cc86e7261db1fc92df0464c6fff7e01d674a5836f83fdbcca3da76a594510ae11d674b71a494d2271352b7e38c2907a5b46a4c5198923c262dfb253f26a9fd924c68baaeeb3c8fe98ac9871617939f8efdbaad56ab957313915913106eb35de7e6e396f3abd25a6badb53e8db5d65aab17eada71b68466cea8274e606a5e25b42a41a89699276b597b32b5b52a12604e5be601f3cf1d7ef2ebdfa7d25aa94692eb8e33a539b01e34094a56fb7dbea7db71a66466b3769c293d6df07fa478d13d2f8ad6b4654c9399a6364d71e4190f6605e6ee385b8ab280c7da716685c67e59c931b3f2c37de208bcf8df09729c2d296d1b85c80637a41d674b4675c7d9920da53a1c8d3a04d8182cb0591473431603d48e215faeb425344653dc7eb6fbcff901dd1e022f6e397bc264f973dec881f4adb443d0f0dcb804b26a87705974df37fb85dd21b8f06585a0b52207259031f68b096cf91e237f4fbce854faf71ac1cb38a774d1329b42d582b7822c1f16864eaf8f1feb15d0af0f83029103f8598f9ff5b184671671fbc40c7c6206127f3d972bd1d3a375bfbdbcdbc5857dc9dd6f2068a04de76a45701892ce319e2fe0408eb329491becd9fe9abd3065fb16b6cbe0c91de90b42eee2c2b8f4f4f0c0b894f046aae04358a39619a14ce3a58e01646cc2978c8e8f0d6468c2b824445843a8c964925318710865552cd906a85c39c970c818828a8535377a4812e48d1f8208653a422a9b6226944b2f0b13ce68e0210c80ac2a87a930de10a55a9031845a8d1fdc0c275bb4d03072a5a98626e4cc090390b58965e21b1b864828c924d61087b80a8594095168999235a12441930c3725e0d0e38520c8a020eba143d800d955088105c832901185504c69c208c84216c24d26674acb50584442f912268003190a5d86088308659b07c8a2991827c452c0008600d209171d421910e1961ee196d0d3403683947a12ca13325948a204036473685409c7843f32366ea298c0430032990429dc21948244013249151506b14d036d9a46b7d78eb1f59ee7ee7e74a3e7aef9f637bff4d73c2977b2067dbb8c6d6df3edef832e2e48b5971ad43489dbb98395c39845abc5fdcf143fd3c4ec3e53ed73ebbbac41dae2f005386fbbf78b7bdbb6eb5a126d9e242ac171166f40f4efb65a4a22c97dfd9f44f76ed7fedca8c566e6c1bb37da5eeb622925d0f6226c1a2dedde5d6a5fdc5eb5af1fe49b6e526e5dcfbe1f7fabf1bbefdffde8a294fe467ff39854b1b9ddd936f76dc7f2789154b1ed504b4780c0a34107dd8db6a5563b951898297e3ccefd3d26b7cd8d3066e17aaaafc623827e757d8701111aa42eafb35dd7590fbcbd692ff2d8f6bf5f3fbaf369bf62ba2cf2912e5e72ab34e34b5dbc80e8bf30d6247e660a0c4c13f32fe8e2b56116dd035dcd758f81fb77eb34c8bdacde744d59d977bbdea962db013bcea6c4ec2921355c4d39c146db6b21390afc3246468156f1e3979f0fe5b9e3791dc7715c90036dd1e3b8ae93dcfd22af8270350b1b6d596bd56090e5c05a75ad95d3405583d4bd56af0ee21fcebd08bbfa74eb6f419ca30255e7de71d1868d36b552722ee5bbd1d6a494dc05fe127fb0b9aedd735a0ecde77911da353da8382655d45a2b18e42036da76e3cf9885eb6bcbf5e122a9819d73fe1ca1c1cca3ab3f68818b17485d8f5d4e0b66d2d43c22f4740dbaaed2f6ba2fee5abb5aebc6695c5471cc1fbff6d5d6df2fbff7d977edf1d76114cc149248cbe7d14c3193e691eb234e6eae25c678d3b8c863d5eeeec120eb2e5ebb73f192b2c3f531a77111fe4047b276e3675989ff6e786ad9f4f3d7fa6890dd5c6c6bf831d6a08bd7e670915421711136c24554840c4095a839516ea464424108312444899959a2408561d7cf5a767dd2c58428365c409ed78ba7c48ba7c48ba744fc154eb344d1feb21a9e9bc52ce49ece6deea3a38f7c1937ccc2f79c9b67c7599498ed75f80207b8ca97c32cba19b506072627fbdda44fed520a945bc6cdeba42fe57cf931c618a3945a165a29a574162565534aa98e2828302b99ee388b62421455644c940a24769c4509410571e4e7cfcf06d4bdbe045df4f0fc9c98419dd973c719940d5bab81dae00f0d5ee058b121e58b62022b52445f41faeaf080b90055a4df40cdd047ae6057e07c5e72f8ca989149c1b27c79014b152a1a8d131d65e40bb3c2b7a687a631c6482b8da9019351e7d31247a3a0036c094d941a3e37618468515205660214580d243c84e8263e7690c19e88b1518298187af6031337b012d46826aa2f88271cb87c59faac44d1534a740e2d7c74508029e5b0f17423852712a4e68879a3ddac5152e6fb324603e942a4e93b1383fe61092c08916f4985a61d7ac60c25b43083100b74a0f400db810355950c51e1ccea4a97299a8626fac88518906f872358933026c084c2d0884108fdc407adc3eaabe1ccd74483d6018c2eca022b9281c7130de7086c2888d309df1060707c72c00c4519028645ce90367a4d9a15a66031cca06dd8f2a4f451bda0a72409c2026cc88f1a012d0de60d6eb80817e1229ae5e6c386375be2d8715686ca7bac5d39e78c3f67fc1948848d73c61663bbe50fb6efb47af1e3ec7265972bff8a99f17f40acbce3727dceadfc2dfc41bee58bb9c3faec6ab5b0d66a59576efdce4e0b53edf347dfd160b62ed6efece4a7197f8b766f9f85f5775b78bbd3a0f6dc93f0dfacd6aa3492835473c64539e7c7b19c338ee59cb191c7f2bf5a2c0cd25c62e36ffdd66269707be58d8b70112ec2452d69a5aa8e6c04ec38ab8ab19dbb1f10689fbe085b625d6bab7e0bdb0da47b6eeebb895b2ddc6ae15f3171f71f908759185ffcb76be91773b744d8401204af751fffed5a1a64e9ab318b059a006bddfdfd2e91d4e0370d5a4d6fdb2409c7700cc7708ed7cb95e4310dba2e0bdf7b6fcbdddde572b9ebe5fa7a0c17bdf2a41c95e9cdc96dd39df3f9626edfdea3533e7787e473f708a873f7a7537e40395d46683360c719193065ba7065a694c9c171dc73f9f35fb0f3f9411797621640ae41d9b9c6f8b61e8b703deb73eb8b6e82a541baf1f57490dd9de6885e786e6e906eec0eddd88d217148469b3592432c24a32ddfef66168bbb570edd7b892ed125caaec949da96ce97d4ef367f7b3c5fac606f1f77dd1bd63e827407f9a63acea702b31bb0e38cea0719253247db9b789b9119da07d87146a56d17b4b60d3feb8f386dddf3fbbbde721acc229e7b9e2fba094e833c9be3896e62db799e4fc417ddc47dd717ddc40ee8e2b5b3a66090dd2d1d64b7f59eebb076f1dad6a3980508837ef7603739b96920f9f6b5b79a6ee1edaa41f9742665b74daecbf392391c057614dd73433b9cbb3be7b9739c75ee12494eded8b6b53a1864ab6b20ceef91df21a9427e778dacfb8d5d220dded8d67ebbacb76f351864832ce79cf5ed12d5cfe71ce279d71d72bfb11bf3cee7ac23243889583b621ecda34be4711cc75da23bb4ade486865e3f28fd39346487b66b30c86ed7de7b892ed124e2f1c8dedb5922f65997e81271d65a7b89902c184276439cd444c10a1c45f7f1b90f3f7efb697f814f17f1ca93e3386e7e405bbc1c37b9c97a287be5943c2c6d6badb6da5aa7b4565a2e4d37252746aa90df71541b0c72fd62fa77af59fb41be39a9adfdd8d6564d136ea591c675a0b59d95d682a9f2debdcaed4b4dc27d840637cf60965272622c276539a9ddb93828a941e7dbdee1d1e0562de06159ebf6bdca5a3042fb951c54d775ddd0f6e69c9383e2c46c2bbbe7defbc0bb773ef06eaa6465f524a74949a0cc9fd478bbf65e0e8aabef92ebb68edbaed51c9427bd5ef4aba609fa20cf66639a98460eedeedecef26cdcd2404cb3edb3342887b0e5a0ec7b9a83eaba8e93da9cb5d67250934455eba7947014f8edd6344d03f2ab69da75a731ee6b92fba854ecd94e5ac76a13010003170000280c0a85c34261900431a4ace50114800b6da0385c442aa2cc22390c822006621806610000000006000000c410640c11bd0ff99061387ee38bee1f151d5555afd651fcc428a658edc6fac6f568490dd8f0ebb50af06787a4656b33f5b5de9dcdf66000e6f87126e0fffeb50b8bde9d87731f7738523c7b4c0ded864558e024a110ddeb5022286793e817d0732085cec66ed4d626922b158c4e8ff09561f8a63f6c65eedc1d6362d9e7c3eca14a5bb77babee94c704b5ff0e42a1221fbf822c15f85a3e6b5d7e29488320c8816d9df3dda10f9484f0a3bd7535ccef78ff95fe7d46978fd8ffb7a5f6409fc6d2b6f5731928bc9af3c72acf2bc7d5d1d9225033fa9c3c6f5ab78ed15df49ec059e9502cdbfa686566c3957e183b83b06c60b58907553776b34ae20b3f266ae25f55694f328a73bfa1c59c3d582ca40be86ff7987158d44dbcc88face4cd44d440b76f89e8bd57e68ed21694f1255c3679200f0e72866555a35cdbcb910b4ff6c3e598af3bd24f0601cf5bac0413d053dfa3dd1917908f7b9e82973fe018e85a8c1b3096dfce36d8a29c8440a0630fdb90dad4ad2a590f5486bb69bbab4b676d7ce0b8510b3e4b6870ef86e5574a10806f1850b843c8e2604d8beb9003bead0b989f94cfa8d81e6805e15267f818b3ab9f478c243cb1f24951c89a93d5b5ea255dc27eca0aa31ba5b905f9332a717cd85e506485555af2e75cda30d9419b6e1405fa19bc3e6eee92de8d02cebe2331f82fcccdb2e2d359c8ad0e14103ca8b990c943a76fe7c13cd8c9484a6874ed9503e469d6928b4f9b3343f21e7b60d30c27a5ada4bd172dd68eb5542240c41145c25cb1ae6916144cdc3af32c9417624c36a052fe0df293b0a6e1e735d0a8643998c69a20f6967c01f8ad674a0b716f7fce87ff5432fbeed78e0459a6fb5f8221f06b20cf254b18743a60f9b21c526cd39544988d2278f7fe8bb56eb80c00c745d2a54a6cb238f0d00d38853a5dac11f874dc0e42d5bd47c19802e1d57e4f9178268cf27de71804bce55316e137d0a2385971e062795998549551f8f75b4442a7e30045353363f37ed59d8053edf6a09437389e8b4d5938d231ed5bd53fb0aa316d5169ae83dbbe209107c2014b761fabe3b210f97edadd342ba80117487feb6a7f46ffff688e8991baa71934af8ec104257c7942fafeda7a7da692d2960a6a35960a8ac0ba5cc13e9d9962da5d9fbd620150567a7525a246072f78c118b4363701282533ee9bdfb946fd2e2edead0f6aafa84c6cf5431210a6e5193193468043d583289fc1a3fa03229557a51f179a00d4ae289b8a9ab89aa6267f3858c93621f2ae878cf41e1b99d8f15fd15bf73c32017be172cd6ba67a5fe1afccbc50fa8e449214f40f089b99bd6ed07194efc67e0c02012bd72cd648ba246c722d0008535598815e68de318eebd75415d9132db1defc084e57a457d258ab2891d4e3d07b1abc224b04f8eda72b03bbac799f33ebdb38a6eddf99c1ef41ad1e92d3214aa7b41a70912a88fab211f9439805ec384c9d1a1d3aab4c362eaa19ccc2704af5c05a5474bc8651f7e2095edffb0c16a6e0e4027b0601e2842d08bd6adc8c0b6b772ff038dc5a2b8637a7560118f31d087e8acfbd5472be89fbee3c409e9c3ee2a0ff3f7ed631aa938c780099562b65687ec2479e18609e09f4a14715c8bb1c3cc2977f6502e7048d5499e1483b8cc071a35eeb833b5015bd5ce6d046deb79d46ea2ea5b3e6ffad0852a11a5b427aaa8c44931961026748a72ae1488c5f288623fe15871ef38df10e86e8950831244be00f88eb37e95da63883122f93ada7b85b35581ce87e2a9cfc8eb2aa802685809b6e4bd50ffaccfc7c4920eb458e2077b7f97f001dab69b6951fd3f692c915e843d7056c18246497a82571a5452537bca3e28828d7f3bb445b2cc0b4c50185613514030ee6aa58723913264f5f1531cb3df1b7775c5b390112c1eac534b1174da01b64eaac023250f34915b3f1c5725b7b43b6a2a7000f9644875d9a8d20d274f66d698b0dedf4cc04a8caa7da1c761bead27f3128459691b546f6201f0376e1bdb25e4b0883cdb68e2249af54a2cacd0817250dc7c8dc767b7b12ecfe57d1f7ed0a4c8fd4389cc64fd512fed3f7cd2c679193cef6bd04d58cf2290f7d5770ab617e8bc82c5a1c1f7128e99c0fe0497f91d8118877e42d40e0fe2d3fdbb37e0e5e4aa5657dc8049adfa46a5bcb0b0357717ae7006f6f1f7fd1b9e30515bc608f55c80e7801068f900ee8f71432f87240b616cd9660038d76d54686406e2d4fe1a500377223b12625948c8aa1075b0b9bcb87191701eee7bd6b6633ecc4ae4d12f9293aee79077eef76b32b1948108981a424d7bfda8a70296feba8fa9297b03617fb217f1d0257f3775f5717e79e66d67677b9398a2285e8718882da17e68def903862f7e4ed2e4774b4e2067b6570255f1c6e88cad161bb387ea1dcaf1181c2f1482fd7a5b2493c589057d76351916091d952201d47910dcaa738ec9d235518b2815ece49b8993e85cde1f38f2fd5a24489e45cc66731bfbac19ab15b0ba63bceafff3ff5ec271b63138ef5b3293ddba2d71191c96997073dc1790af37ced40a94bc951f4585935cf12561f6a21f1163722167ad6bc5f670ebed30329d8e7ebfc8d1001e380038449fc15e7aa3814e490e85cba1e56878f4dab02489f68daff22c188ee2bdbba5a0f1f12af5eed7ed0f40f5cb90253026b471461810c148ca20d3920ae2b56e9b609a9d4498cc5c58c29ec88fa1dc8a5129be4e1020133462681e596f0060faec864af2e2f10d705bdd31bd381f547c68e9db5169fa3a38452c96b3fe1aa6bc48198b1e31c2bde28a7404d70514a7bbab943f0f99345d2eb7b7e4cd84cd1f8c18a1c4fa9fee8ae7e5fada50ebceeca782fd19d5a0997472b6f67dadc769c86a274fec2bfb6eb2e75f9640ebda75c0c59750e7c93dfd370f74b56fbf80b46de414217938e6832f129feb592e8695fd6276d3f7f499d5fef52cc606fa8f04d30d3361c174524b4e0e6a164561efcdafd3d37df9f659643ca8c14c744881181af9bfd3bc0dbe3c57f74ee68584e4bd654dd3f9e6b89bcc6385df79913d6c20dd14b13bf752f201b9590b2ddba9fcfdf1a66290f4e2f3ac2c635a0690284031c4d3f0deb7480295db290bceffc22875da80af3066b0bc3c5e308dcb84d85e2bfecaa3b6d8c3a5c91576f913f9252ad2a8bb71ee5061c07c93572b75d25ff184c11a98daa8f4a40e33ec7e68172e6240415df31f7674618ca0f0bcbd644705b2d7c795fd237e2abb5739f7577f01d7986955883f20da215cb5a7b49dee8078e2af9779301792d2eff0d778b1093a94419322fbf49c41f3b1dafabb496f5a450bf737aea0ccb66392a16ed68849f799ae48f2e09cf1603ef8341af101d438ea42e4f83fcf8632633e849cc396bf235788a6672d598a2f173299b762cdbf52c145be85346a0558692f8fd28ff5118e1e1cc589c553f84bf7b61f97ef7baae09a3495c8d91f2b246ba77497951832ab0ea354efe1ed4711536aa4180b849dd7bd9a96eb9fbfeba11092007be4484cafd8d9a73c53f4052fd1b46e0fa03ba6f6dff042c47716a9d40bc8070cc2682614ad5a3909babc00407163892189c343ae2d9b9d3d35a8cc185e012ad9ce476b65090c17fa48ad9899e38c2c88605a43eb8cfc82dc08a5cb9eea9cb6cf4a017ec1bc0b9ed9e308339f6b751386f5a2614798a5e183b535cf740df687a8b656918378c841b1f7e62977b23f79121a30389f1676218f789b5e98deda83053c3ce0a028be70d55c3bc7f45de00f852f6f3eb3066f1cd674c9ec5cbbb5c3ed8db66c895f3759e6efd026b9e16ba29e08304ffa2dae50ee15e061b3102a20d32ab22face4d83bdc221813720b1686e516de6ed43bd42e4049a2aba0b4b151907158b28992c45fe099111a5380d73446f8f62f1ad6143a049e4eec3a6f5f168d0d33f8d99ad83ad48600f946e94743aaafed1795f3ba0039d20043c99bc9b1839fabd5b48eca0e14730265b4e9c665ea8343c8d8d16b131295105463b88184c3ef2ebb886802a24fdfdb876a02c761c07661fdfd8d372cc68c061476e752c071ad9a1544414dd65ec34da8154b79e11927f1a0b294d33986d8946dda9035b16232ba96082567a1e7b6379841485b7aad414fac28d70f7055de3a327968a8d72bac5dc800c74eeea8efd4df4d50d641e45a0838dc59a6a1cb80bf7e5d58d1f0ee6b8e4a8110f1676a1db40bf1d40fdf1f02cdb1a8c0b65c7f468290e0b2a493eb2909d3f8b128d8a02852134df8a1326cfa5b7bdf3ece9b1f43620008be46a59b2bf6131aa9a4cbedea5b71b456aa1793e5b0dff28c01b14bf6fd536d12ae4fe8b29bbea2881bdfa6e647427139a3b25ab705e8070cb1bea94786cb8c1e9111a0261397172ac51d46edc8f444e4de0385fcc48f08e68517cfb4c2b75c0dda07b0378378851ad5b0f2d14216f000e15514be0373c1c14e4364356aa61322f453cef367193e9492646727da075db226e8cfb8a82df56be66cb63e2e4c1f0e46f9730ced03976282b418039248dc889e498205b131a65b90f0f7af90a9b0553afff52c479567c8ae78d2f9229a82c45ef35c4ccfd15c174ffeff66b007b83ee86997400ffc7bd3e53074b35474ac2b3291817da1fc9a48b9b3974a9babf50447d1871c1fbaee75ecf115041edae6d71ac08cb527fc2c91e0620b085efba9ec385846cfde3cc08e8b01c90f6302eac51474e08b144777172e2cf84547c9cdd674231b6a6f2a0a2627cbda26e46f1d7b86a78889e9ce7bd025458160acd61849d167156a12239ee4993e27a7803b16fe067bfbcaecc4fe98860e568de12e2ea8dbc81215a5aa8d5eb9d2816494a432240c79ec99f862cfa4cb7b648d77e664c1f7a1678b05c327cfb20e94f48e3d437460a40d545d09286efb3501f89f4ad867fcce2c5f4966bfff9574b923aa2facb70eff94f6e66e36f0a7113381e254267dc30a0e62c461e109f29f6de8b40c0648e7f0dcd2a848b2761ca88265e78b3deda6eddbab87218b1881f8c18182878df9bb72eb61b5b049539e69ec17278684358530b2c4b5f3197a49c8a4f3fd864c122f010915aebadcda10c4ddbbbe4450389b24567d7b928ea9bed9ce758afb6e64c3ac5828459b257bb64e2c9d48d901330df86c47927ea8ae30703b52d5bcb183c17c6f635288d36b73bfb1a91f09d4eac6eeb6c09bc088e62fa5610bc7054841e157670c6646fee18c6404cd8fda16287779f8377c0328436e1029a3a35972d8d690a00a68c7bfd2652f81dc3fe3377da4bf56a70c499c104a001c56af760514f7fd50208749470de7b2031328f330e169ec1cc2c048654160bfa7e9ad8457fb1b8e5849b70ed0ba31c4a0a127478ca19daf8ddff892683888685d122a8ed7216450e6d5a193f687a1d31f6cd1117fd7ff3718a03e8f97880f50f58a22ce76732e837349d15d5711b97a2af65ad120b2172b866c8e35ca253c7bc56f5bf435b88c99fd462ff89495d2f5c0cda9318a50fea8a99265c885261063a37c9b188c8b040b19ce620775e801dee291f7015f858dcaaa171284fc198b29bae0998283c981992a4bc88256e19ad6f06f2f10e0589c7e30c976991d474bbef81e80aa5570e3f8d3e34176287429fc0602edb237a54c60b59e83d546d80be11ae7edf69fe56e3c3e919886c83cf366ae6ef86c2f4e073127a1f72b382d95cf9476953d83f474a2c14b819be02c593f3bbe12bd80cdb86afa0c41050e165cb4809f4901098984a89a4576044d06a02af3084fcb7e5bcd7ecdeae803e4de4d66608943c68d1f770ac0355fa669c15ce9a55fe840a9b58287c12a0b240fbc6b0281dee3bd2b140b46da29566fd565416963a55573f45b32f95850b79b4310be0e1e9796df9606cd9756d79716b430c2ca92c1c40dcbb51bc9f6a9944ee2964d340b607df145c4d16d4f51392b0f0f6f92062825a21aad7c94234d12575ff5629afa1403884056163f8a9faba12deb6ec377b833f533c6eac3d0424ed6bffd214c3b123d16c4800704af9adadb157c9779b8c236eddf12de090da8324fbf318800f480fb9713140b40212342d925262f7c170b1e276fec3de98001c52c9a33cead19315a0d6806e3249c5cc803a19358b8bb72a4d61f4825be37d682669a670a5c53cefe61bbda0a2bc6f114f710f5df6e14b89a9048a69d26123960ac3012f23a9ec3c023536af86ebee9217c40025c400b1426e62d036c98e7782dc072323785d5ce9c4d086f8a0630c161dd2b7af0326a744a570d900ab5764d206cbcfa51c00d23d5e857c81dd3212dac2366c8b9f948413aa85371dd48b5d7fee973ca8e457e6e70ee483046078ad447deefe848fb3a91479b61007cc1ddd673232ce9f435ebcd8896d9cac39926dd73f25772048f70a8639779a9ecc08bee8cb1da29b5392bbfe901429fb0f074d6d487a715b18ab2f85013a0a36f57f26d29bf360603f4c3e96918d88e0c65ace24fc15982b2f5e8fa5aae7049df19ce00285012a86fa7115e7b57302e9517185e085906e50485e1df402e85f0c98d03fd69a321b148de4740c9f19a61faad31f8995282ac118c38cd351d1ad9e0949022d9667a6fdca0c4aa282342bdec420198ac1e9143a97a1e59051f10d10de65cd81e9dd724518f48cd2cc595e5c2c4bcacd10da747d1e937eeea617c0578363085727b07c8e21f780829ebb6ba6eca71252ce88a135061cd6b8ea3b634f80b75d798419ed7b0a2f508c4f3096b8e65f0f707fc84036d359264ec149a12ec66c378648c60058923d9d7640786bee9a0052c9536a7a1d680980e993bb6f2aa028823bf0ca49088e7a97bb453329200fb39cac20b6c35382868ff018bd83fb2977d3545525a4a9fac000d44977fdb80af8d8aa4a2d35e7305cf4b2227fd9ce3730a701cb1a086268fedc6dc3483651c50240b1ada27d52f40729a3e66ebfb73838a3998737efeb505d419ac61b07d126b23ee90881a014968232818bd190cde1d967bfeef7d07a2b77676dee18eaabff2ea9e9a0ee7a0f0566364dce656074f8481ed08985ecf13e4dd4cfcaed82a00f7d58d6efb057d15c740534e82e34c9854c7495eb9b1ef6464d16e73f3cfd53585a5a2c5afd2088d95e889b9ce0d8660c7eba5193abf3292769daa6162d992c142ca026c1172f602c6fdabf5ac9f2f9a7f8b5613d86a00e4bae04071e1ab33b5ecc7a29f7cd4e51f79de9aae144a3c43ecba23d84db3f45a6c9751ee6d7f99c120fa1e93eb0a93e052dc4166c6ec18acee4712dfda163677bdbd5c67b16811f10f57aabdc029530c268e54111bc51dca21c3f001f46fee561512a266a0729dd44565214b77a0bf982e7413aea0a4a0e9be77b8d5d6e5a79532dbbf4f1098d2704ebb7ca804435b477f2dea76beb9ec6d18854bfeb144e19844fb8c2196fd6a5f278d7834de8bc8116b85eb0292ced9772109115d86cb73cca7c810f5d176c30682c3d04f30ba8493916d9bf968ff55a7cfeb56d14210906d7ac3eb4994ae6b22ff4d704e0c7a82a43fc83b33fdd339017500aa13717c82437dd5c751bd3d4092ba86d1efe51687c480288b6a5deadf13da051d0a8a0d7b779df7225b1d945bd6bb377a102e3dc01dc1b3f94a41e86f702b1215fe6f089f309d04726ff38768d6dd745de62b473cc0b730d6bd5cbea20af98ac8c7f47f8b79b68e001224579cfc7269ecc8169c8eb5adb3ba0444193c4f72cbbf6021148b471fee9f605ce3310359cdccf8e3f742ad84ba782167054d2b7b1ce14e9af767df077c0241a541077ccd8ba156a95db99fdc9f0218701e4beb0de373e40c10908536fbeef1c91dc76f561d6e27e813504966af58c763f1299b90a0823e00eb873a53c032d002bdb7a8024bc2e94336f4ab4c91d07a0b088d93af89a186e504cc63e7c90f3423d62dac4a6df97ef0dd592d058dcd4fda6489341e635b005c3fa00aa7a7480bfdcb8a7910a41d2025ceee6a5d187429291ccc5bd967cd1c4b65ac756aec94a9d8bb4d19fadf53cc0d84307982d25b31b894583d3a2950fbe2f5a8f388db5aae1ff271c80b41dfd9034596c52e5c984ebd0f581e70e48b16fae8ea2b157ddd89ed7c72eb3bda70fface0ebfce2a12a6b23fc4204293fa3fc68e66c03fc4ce6f0628be6f63938b99dcea2d190c350d6f31b96fdb3731e6f64783144378b5859710dbfb952e35ab804c3912d1a572d22aa0e8e0a57eb53e7b470aa4365086e0ce554ce8ed28d8944f0e0253617c612041580ff82b2fb501011932ff6275e463ea920a4ccada3db7ee27b34f61ad4139dc9694fb410093725211a780ee5a637bed9129984454e7fb042cfd2dcf9fb2f2966d4cd53935ba89b5c873d44ea1e838a8ddcf2c220f61b6d9d5c14db070303d8034091a647c2f4fa9be5c936ffeb96f24282d69fa8f613e4aa69dd3cc8f128dd663cece05c81a93dcaf523d80a1060660ed336afbbf2599da2788ddca82adaed70f82c04bbb4ca314aff2864fbd8be9d48e99d9982643cc5fbc9c96891c7869f7bf298d5d4af3c764c6f928035fc4a06d63e5ee1da58d4bce4391ad81afa5b611a4bdac0dcac156d97b31d41fe26d408ec55eae42239822ab17b31f35950524232dd6344812b2a373972ad605b4cda237f38768e4b6bda943fa32b55c5b23146f173f8f3653fb590ede83c8e5d8670bed8abe4a7e39df3683f699dedfb6f2373e35fc028028835f2f20b0464321a0f038675fc7df09d12afa1f77b449b4906db7623adfc42e9c3517da8b2ac914387d8fc4210f3d7027e7df7969a1d9ee841cc5b27ed5c17d077fc0f9093a90cfd070e5ad1cb0da8063dc9a4379e68dac6202f786e26e34c2cf744729d120798fd8e11e986e1a0fc51f3fb7c53652c84f8be8b243e7f32db33b31be35202990d0cc110928a691ea82be3e87fe407a8a83bc04e42812a31c319ff28f442930f6ff976b8f187d54a6341fec85004a74b9689d8e089eda6317710abd97868d1b64618ac1f0ffa1f3ded047e5e75c82db8d34c7705817663f945fd380bcd66e0403c7ff6ffd1fe41a3fe9da6815d8622ea979668f89ed0ff10694a1c29d8b482bc9aacaf21476949aba000bfa8065d9fab56b76a6bddcf7f042dc402d5e7392029e9e9508139532eaf2700c2aa29f493a8ea6b98adc0fedaa139c44cb2a23b87b4503553b42495fe27578d0ace051c646afa499b808eb46caa050d58212fa162c224c11b5f1b3334c8caa900da18a1b5a4d13a310af437d34f9c0020059026e1a4f28d941780b2515c0da1c01b639f222bc8b5ed63347cf93c6b18bc850f5a35f6e27baae1357db9b485ea1a62c3328e4370d1ba836028b20f472913b6e66d8cdf23713e5a27502aaab69b92c8e9af5c5a1b11d26467c11bc8a26e8b2873d0e0364d58e996ef6aaa59c46a6fef2975d38270bc1a233df25d514f5bc6e253ce65e1b33f5b14f80c5c027c8e4b0a81227e650a1aab374628824e51447e66838866616b131058cf3da6e0609904a6a4a3e1baedb774c3f77fcc2095a00ea6bd1ad2739dd501a64c667650ed01a4cd025f57ba72c8dd6662828bf26d616bcd0bd91222a424a2b3e69271da1cd4a00b9d9ca59625ebe37c3c753297ac088dedf09777cb14999544d4752460e895c178d502ac521a5270d90ba4e39b2c7cc30510a6d3d6deb454d5319d86f26ff994287964e14b43ac2a10a9e1179781ec7bb40092cd4bf78aff0437f16dc784e9b13c7f0a25f7bbaa366bd1da1ab37eae89f04a93356a12ec15dd2fdc0af575f757e120a53eb8c21c9ef8ffef688394bf2991d113e016d29ef41dc9cde5e445e22848f3d783ae98388b28e94cb0297f0fc444c425b8bb9b634f1dc0efb38c74a3c37be6122a8503c2cd69aac891d6abef034414649e8a45109ba2bcde95a30691eb2814813b4ec5192f15986c7c65428099a656b1e70397ae225d124a65d6337b7d093c3e5787f7b34c676a3e143f4a2be56b348a2bba578aca6b3b44db547b8cf68d6ac4b294e5776751a5be6d4ed70a0b2969c1b01cac70b39576744bd412db437c5479457fe949aa7137d272f6a538fc0b87ec6688111d020bebb660816ec8f62dc9f681fb2b78b868f841b453c1d622d990f393aa19c8fba86bb1156743f9c702c2c1fa56a6ac93ef09b048cc088fef46ed7f8949bc99d753e38a2f860b94b4370b1fb44893b3eae71c46779df6e004d15821a5d10d6884284cd2d478a389c74ac55ef33ac0b8afa505bbb30fa4c5c144760d47cbeb77b8160e1fba8aa13aafb641d4ac4eb22acc07f2a65bb987de22e2002454760fc3fabda5e088e880a2030bfb8dccb537af1f6137fd5f79c6cea789f069dfaf2b15d12edeefa685fa7f4ebd7021c5f3212dbc5fe9375e942e884888b40459c87b81c8220c499101145b480fee077664454b1f5c1688f86b8d87d96bba24760583e714dd0023ac9f971a76f5225838e05ed43838616844f3b1c6fba9f55b30b511cd00520bbea025e3f516d2c669f8d7595073ea0cdf36148261a318e38e81178d3ff1975bbd0fd649ca423febcff21b5af812e40c8e9032df2d3e938235c11c28e68c1f1413aab10898a50ebf443d80c027121e6f370ba117a8d68d1fe30d6054d7f6e6a72846071fa0c6ca22344115011be106fd08dcb8b5040e4834045a0798415970fc51c150bfc938713cafd5077d645a8b5f34124a7c5ae9f4ac319888b848fd7bd0cf103d2d5530b8bd84760747d92ed2e1054a47c78eafc1c7f40db1f4245435cf83f2b6e17313811188a9f21bb54d03e32d02e223e1fae33c21dc18ae800215d5a2158a47f2635239086de5c5cca270243d4477c67c5868fc6e5235e112228ee53a5f92c4228f1e7eb5c22de67f1e93a24437794fe4385ed02f2338e6d068718d2bac7e9711eb682a8e981300e51102cf43e645a2dc2258210f4a5850b040b9f8ffaa68fe844540e81179112e2146111627144c82330c43ecf9b7442b0787d3635f9086510965fcbaf68435847280a1119d0159f8e3be22d443b08ed82c284e02c407c0aa241d347b04120484ca4a043db5e83f847bc2b0243fb47b04e09509f3b67843861da4ef27e582a6a428e48d18f0c2ac9dae175eefc08db3163fa2dfb202ea07d7aae1131ec88b5383e2dd92eac9f6a378b5888884cc4f9c43ffc6854747fa86d3a882e8452445e0854443310d6214e1c312db29fc7ed9d882abc7f360d7310170b9f65575a440beb0fb803001105047e11eee3f6496dbbc07d129c5c23ba38f46291d075c45c86df27eeaa10f340bd5d9a671164ec7e2b6711f47cd26b2cfc7c3869dc887005add55ac7c19cdc27c95d22a6234e41840508e3622e1fe04f3d3ba514e75f743831dc782f6cf9d950d18ca6902ad6259929bec70ab4547c15e98226244d47443ec9b66341cc7c2e8a8aaf97bb739579435d90b9de4bc326cd24291f68777ece7f10db5f212ed09f69670ca15a8415667c1e370e48ed621f8245f7330817d4e2a3945685fc43b0ae37c01f87ad03f1ee2016bb7949e5c0f93864bbb87eaa6e0e047309806011edd3abc9260843b7343052e073271e043ecae73e1a7ec725fed6a5a8a6dd66ca01688e4b34678819b7e98fe584b5dd910c25730944b6a8c747688a722533a18592a0ebe913205a5e162c42f834010745ba3873a58d5a2cd54ff2b618738acc7cd55afa08ee1c14f4b6ee4adf482de3f344571e041dfd2f081f17b12cef59643c2c14dd282a514f5568890255d6bcea7556e9e632258e4c2eb992d7aa874c5deff285d8b1239fe6e5699d370de8e70a5395d8f5455c43d50355f78bd6e2588c65ad32392d6059f54c6d532f40237161accad33d2e4ad19574eefe5e090b812fe32d54f2cbba3ae8aa33c2e1ca49f4a45b21e1210d53dcd4e2a72b5cc10f59cb67f09bf4bf1c7087e712e64f0da9923fb0596849de6234484d5235569eac03e7e33129777052ead658dca84020251a3491122537b5efbc8a0c98a1ce801eef7c961c8c27a1784b369450cd62a78aa6f65704ff980b80503ff55cd137bdfcd9b0860c50dc5330dba7bcfae40d02629124a337228f9a4303e1a12bfe2819e772d100f7dfaab3a83452133c388ef55ce62f887a94e5df3f9a39413371aff3712f9aa10109355f484a73e779c9e57ff3a414bffd5ee44083974166c7f416ce6daab3e68de9aabdf8006c544524f6915b74ddf094f8a37c68a89791f7d40aa2594ca66e29a8b8ef4d2c23e11bc29d43dad4a8ca113ea78b69e5e9dca36046a1e9b3416916a855ff792d73e7b667135c12934c374d75f95d06755bd2552c476b5284748540d23107f3f56115e63e4f2acdbd3ec8038e967d1586389ba148357a93cfd9af0fee718d92395a86eb7928b50a75a0a05dce139cd90766b79cae61d08673295f1fceef18ca08bd56dcdd48ee9fe02530426c4e749a1451b82f01099cd2640ace2c7ce9887b50eae9c82929622f6f29b5ac8dac33ff690da2d2728142cb26bd966aafcd6dde165a6d385a38e21d6ba0083aabbc6759171948a49debc689262fbae76b1d3294ac509127ecde6a6dbb61b4915bf14778cc0a76f9a4500d1167c5433387508a9ad5da0fedba8b622453688fb3ed85bacde83a5b1b51b93ec248661704891f2f3d1846be78915513e12fa8713a038b90d0799611845390d6d3f9a00dacf7b8afb5890307c671ff8360cc0f25d2e246b9f00a78a767d42e7a358a048be92e71321786918a7ee403eb2e846a021c251470df22102df5ede06f4ecb39f2512c290252720c71943bc05ab45df43da082a946c5d0096da6bde062a3255895d5ae521f782cbb219c79302f508d238aa28d1c5ddd473e264b33fe533abceaa2d53086c33db7f9068002d34876740ea34901f2a5657faf6089b65587baca7174a21e9b8248b506cc19141139c4cbd8231749aa9d91e732a7b2b0eb7ca4517a508bfb0118549d0497a624bdd41c4b5d1305c462be402e271ee10229f9cd3521832d766b3001bd0912978b9c86e35ffd8f21750b75023c2c29748899eaa44af29be499d01c00e8ffae9554164be5bb640d628426582fe67228aba1952e72c1a82c32a02f0ce7f82f98944e23361ede6a166f03315f8ce09cabdd42ed42298a15ee4a4bb13c16dc5959b853efd77d51b2e7d716ef3c1f9544e06c466227e28dcccf33711f17a3f70802bd68a28d2a8cf912224196c3b059c2730370826386098323d658876d1152c125cad86182aaa01d56e07e9552ad5206221574a2a0e8e85ccea09f6f8f996324deb764100ce6a4240c0e9fa07cc26b1ddac0a53d3d14d5e5605ba5973744b3d39e7bbb30103bcf1fc6354c81b3678171b7fb6b7f6c3e35be858b95afcbc2b14528a4e0d4d0dc407e0edb407318f54195f52987270c91150fa9a94fe68c7035dc55ffb112a42af35262537ea0a62eed082adcabb8c7acae6d5ede91f4e15137491b64d33fe6372acfe341103b27003a1673491f6be7937a9f400e5d1c3c7679589baf0336fb30f9dee27f6e2aa8f78e32877b80cbd3013ff96171bb58e51bd99780bb15359f1da86b379383883b688234164ad6aab8255378bfe7a13919f05b391e76c43176a34e0822dfcbe3624dcb96b6ecb6c9014a0cc5bf5c4c4f2601d78f0fedbd64475a4e007c70812007c867ccc9c4b44a8d5face1909fdd226069c792775e221c616d8fccb8cd30f76ed2d86414ca7856c996b7981aadfe00002a430527b6dbfa125ab85d6243f7c7f5b5de23bd251921c8cee2997c6bee3de44762de81c9b809cb0f8e3c29cee9bc4ab2b54007e8284bfe318960398b38f98686f207a54fb5b0ca1ddbb01f010505f4bad4f3e8a1545909e9ed3c61e4d7d53de750ba5c69b993f4a68a1a26ec327bd114a0990d6f6fdeafb59709ee0c4d461a4afa5bda991bdb857735010c88e45029d7bf59841fd1f488c5b41720ce3aa8b5ca045fa0fb29465184cdbda8c4acb77b13c4f7d8e814efad2ab890ee2e95eb683ece25c30cbedb7cb75fab2354404de849d05cd98ffecb98eba27f7eecfc02d2b8a70b675c93990f66f9f38b8767226613008027270c8dc04630e713f5e57f00b82de0fa65d2f20e6e65d5a01fd909a36b4a2c274a669d27f1b395c241305c48b53a6ab1d1b9b279019029f0eda67da9d045b08021afbd98498600658aec15ea2a3a3bcce8c5feccfd46226dff7373230bd3c1f3845921560b0d9bd96d0cc4f276f8b67dcb7011b3e4f7dbcb6ecdafc0a7b6e003f6d3e198e99f61afb84ca5716c3a9e2d425d76e7fe885674b2ab256a41e7dec534e89b069b6b1c15f4371cf5fb821229e5baf501dc0bab15f91fa14c9fb3296461810080e7132acc6e625ecabe2dba669f1327c3d88b28555081087aea3ec0f7fbc050c6ae59d4783018838ed9e00125bcb546ae262c3a53ec42e9af6ae494c37e0664c764ba5cae11b2050224b0fc1f691f00aefb149a3a24c0f639ce600c48a75fc311be83b5b73569c93e80bb79806e46870d55dbf54784f6045a2afe04c9f27c66b188bfec6359aa33ce7e182a2bfacd78f31af1734978a2507c2a782f41bc6ecfbc9021b8c31deebc73dc592bee5e2179f80df026ebe3c976b762702ad936a4013b8edcc9e882951c5e9b5fef9517d7e7b969877638c794dd81838ec087f02302adbaddf402fcba6fe256d2e888d41022f4e8040521a71759783e34b2b0ec8a294e3f6ec993aa746a557a24c25a5c93bffa4413ac8b99ea9f59f86eba6fcc7392fc71e26ce370c99d3d9ec8d5e95105c701746fa739750078fb3241f68258558deacbf1a1b815c9181c4ff400bc7da95d4682e8461e4fd408e3afc1a14bd3d0773ca7500ff5f561d0841c0e5eb055635aa8f687160410be121188a2da3c8ec2e1cb3112f796ea2dc9956cd4e0beeb1da5a85be9edb9d45f4030dcd8668ae14142b7f96465ff3f7a164604388906f42b5838c52561b94a5783204190515f80b90dba8faaa043891bad2e685488069cc523e46a0a5245ef7faa881d7d28e3b62ebc8d20d6b3ff4b592b6a8cc490ca4dbb770d8fc48b1bb0732a32d9a27ad2996dc15f05ac16eb849a34dec290a6af4eb346f0675c45458512a2c475dc252f8d038afaf971faf097c50b336ec38536f0a07bd97dddf3b42dd26afed0fff44596084e829883961be3ebd7c3dd34f5428a15747f038a36566d58405c15a703f9ebaf6887cc277c90c42915dfc507a6182257b141d615d6c401638a624d2fef139687d6dedb19f5868d63db472c0969073792b2fc2bc007b58f29205386f82273af5308e9f99b46216dcbbda594524a99920c9406ec06b1065726b118cc1aa41e9d52e72cfe956d346376da4d295376ecb8bad7ac9b568d76d36bd26eea28bbcb4436b832bf39c7616f4a68c56277339432454bb81bfdb883ed187d1b451f77737139df42a906531c705d9ae50207e994568fb45696f1a24211293a5db9c9f4cb4dc6db491852522bb2b9dc2eb3f813b3215f4affe13776e99c1d214390774cde1d1183cd33c6da6bcd4987d151f610eda0bb5f7312d10eae7001165c91902b3529ebce7401d760a1db3907dd4da7754f8fcee7b4356f89b866e7fcb91bd019e1e139d40e2e23c7dfdeb4623198da9a39e936e35e42d83d9deb763df3ed64555dde99cc1888f7e47bef65fda4742f74b939bda59c534e6be77c32736fbe27e37bd0ba6c421d8d02aab0b35353859c2ad87c133d96bde0073b71b6301bd763965f1616c3b23eee4fb20dc26887cdb0da46fd7e9c69b80127fea94e31c730bf4eb4e814a3613d86f9f4ebf399588ccfc5f613720eca30ff7cb468f16399e5feaad12d2c067538b85cc318bb9402866597866298666b2808c8b5e18bc688bb816ea7844031466b04d54c10092b34f1d9bb2356c8e9473953c29a341e01abaf99ebd2b0528f72a03d3e8485f44d102019dba4e06e39fcf3cd73f071db216cd4eb7139d1757110c1e8d053422b6ebb35eb4ad078044059740bcaae8bed9c188639cc0773ea18f54f679b9561ebcdfc65c12957946a0ddce3203a7237fa3978dede1d128d5ae0645bab5fec58b6851ef30f673783713cbce7f7faf3fb91fe917e355076b9fd388c87e108fd559d3318cfaa55de9467051c444eb8cfdbed4d09318c5c139b3515eb31974bbf34e9d6a18ccdae6a9f727cee5674dde9d06d1f5dead237aa4b5dbac2d50ee14abf74dd798ba60b57a31eec776d6c1fd60e297c90727be4f8ae17c3c0e4c557f32284cf61f61cd63c13792c06d7d880ef9fc3e87ee9044b636b86542475a7eef8e072df1edb3d87d15173ceb917085fbf264d1ad04e073fbb17ed320d01c81dc5f5851d14e41cf902ce4fb7be70339d5ed1f6ddbaeddc2c770a33b5182d865a3eb5fb60a6cf2c7e0800eea5fa0b7568d270d0ce8c3fe45e50ebb60796da268f8041f5d42d0743eaa5e51b7d18ea96e54fdd8bf752fb45477fa5ee85938e83e5573b5b99b3941b50fb612ca75aadd70cda7f65fcd7b45406bfe5978dcba28c519435833ad5a010776e9008976bce70688e3e910b6e5b97d7c25d0483dbee42bdb515fdfd5e93cb751754ef8e30d1c46fd41d6102c9c38ee916c5e0b6bb2142a15028b4c412d1391ba9280777a36ee57a3bc7dd85cbb583d4e7e5fa25c24abd1e51b27a774489ea88121f48268a3011e4af671d16e13f2cd2a02ea9b41d45753324b53386cc94b0b412d808e4a09d7e7bacf1afd7323e54c5a0cf424bb3963b88c5b02ccd9a97dbec722bab5f35178a3ead6c3a133f9820fdf5ac2807b7430f5617030d6331d83119221cdc4b5aba511dd0d266269d66f69d531af1e55ff9e35e4a9dc085141792f80bd42f70a74790ce083bfad31c2340ca6cab481eb68d3a054600d4dee44602acce629b51f7b57a151d71698babddcadad1e7728a4af7f974e8226ad5ec5ad11177f3872e825b08b205203c700f13e8c17d741a3ff1757fa66b61e7b5907ae836445dc2c4e6fe3cfee94f83d4ce27b570bdf76662f026f3926ed1597b62b85c0b8720aa523d66b332cf33a338ec43ed49815a9f108cfb8f7587510042ff7c1c5efef97c3e2e9dcffc6559d9ccd70cf3f126cc662e6e6b44b6f37c81542c8fa90eddd2746072556654875e3538f331dbaccc4f6bcec819c9dc83b20162b289586962a5f950b16baa4fe856b5811ac710eaa35f175683f918f211e7e3a94751631b11cd6dc77c60251a940c02d7306ca801616b7a346d4d8f265b081fd4ece5329a872ee1338211006ffe796baf83f4e839db888ab86d675e105ab4463002d839ca224c1206a99ad28f672de55e217088a08ae4184959ca8371704238219cd010384424bf9c97f38c58234e100aadb868d4e22212a2465b73825068c545a31697212eff8a8b462d2ed6085bc209e584564638444238d6084b13c2d91a278483833371aeea964583636bb5d41a914ae2722266cdbde0ca186b9692ac5fcc2222ee7d7c9dc80437a67abc1855c4b1f4774d7ffe76dece4b322fcdd1800fe3c1a8b1901eddf089e3a95f28571691d86b9c11a1e0d21b135cfe0837fe0df3c10860ecc74bb702ce6f8c4af58b154e3b3542fa45c51db1c28f8b552dc76bd20485423d5414d7a56d32d3d258a313f3e154160826140c080a0af623a2a0a038568382014141c16a505050b052d7384ad77828853b786f0a9495bf9ec2698a13180afcd462a804f489039dea0c91f3d4257497a8b9d86079d676c081e5043707e7e01dfaa5a547cf453b017842fcb7b923b4886e056cf9f70fbebce86cccab421c6c84adede08f0e6f0f33cff2acc548a7d8c372f08edec1ed315193e127591eb9444ceed64e7586b8f9764833d085221b18220c5078014d1a9cf04204a02cf2b007ef9d8e10a7d84487543ad22488a80b421481e908c18221241a5006900218cc600c3cab2860210232096180644041166c14ac114e5226881e7fd063c6e801149325d4e00233dcaccc60aa3aa41bf410297117e9086183ffbcd311c2e63777b95c400dd048c080ce11ab2594a0053218e1082226b8c0851e9c34e8200a204c8eb8dcb91776e7aa509f79aa06230f807747d4a0faab31c7b40dbbb00f408fde01086976f16366ead8732c07377915cbddbb1cdc04c63de61093d18f5dd269b6c1b88fc101bd03d0fd6131fe6956066b19cd74c8c0778e858c4fa09e9fff89d3bbe7f89e7b9fe9d7ebb7193779d72f5b09847876920ab5560e7ecbd254d85fc6fb471d0bf69ad599618e053f6d0a21aa822c820e914a084d60410e7240862b244107282896bc05c51a54f004136fdf1d79a20a4d8042891a9ed85cbc48258d202ac29127769e484519d3f6c99d24d7391469e1f28be8394af0b462eec574c82f808fd321f03153856a341ef0d17538d44fd7c49790421291145ae7ddf0d1bb445be056b8df401448038d5be15e46e1def08e03cf50d21b9e7b091114fa353b63319ab9204aedc8e14130f34c05d1903b9dbb68d491f9ab4fb7734e1da0b81e1683d61ee60c4aaa19a506db47d7cc4ce4a216c11193bb39143b8cd642ae7d74265a51c51f0388c2a2895e912899750acccea53bf7b04ea1be2c0820a0a8474c5ac3c6376de183c2898c00d12fec8fdbb9761f90611a0b3816ec2ef3a14549dc8d532d5c049c5f8e9d66dd7b4e3586013441438f136178ac062b35a96b6e8ae58121cc07e6032bdd0831a95a4e505cced938078788875c4ad7acf4c8919cd0f32fd025d2b9d00925ef86dce8ee37f7e8db8a0e50dc76864adcc8bd50c0092fb891fbed616fe320bf86224e0c7977c48920ef8ef0eec812d5123ef5b817dcf3ce076901f7822de058bcf7e083efc1c73fdc0bfef1eef9b8da532e1c16c3f6884540b8ee370e426f083ef7fc8533f05ca076c64440b8fc1b0779e7221ddc97000d2e9fba87edaa47bca4473cd96627090b2e759190db2525eed63d3c4d52b275cfb3374f37d1ab7e315576a9a39734b8ecf4fac7cc24fac1e5470307198789300e9fa8bd3d9a534b4909bd749ac58fd996f2d2ae844c2e5a5c1c0043ba37bd639b1e39c4612f7fcf258cef44ecc4158370a5bb4529a59887402bd63a8661319edc5a3fd6faf52e7b5995d24a631aae27c2b96ebf50297be5ddc21c6b29a583de7b73d6293cb72a7dcd2e67b89c48e40397fb5cda45d484cba168efca4abf38ece53af6f97c4e4e4e1cc6fd89a692c2634ebcfac989574fe19765f9bd9ee2e4de6ce62d10e634bba2b598f3cbb2aa45a98c2f8a5058844277f7cc8f5c8f607cbd00151821ec07217cb0bbc7bdef8e3881e45fbf86d1ef0c4280887c70ed15a1ae7bf74177f1cec569ee0b703d3a22c61863b7edee20aedbab62dd7ddbb6b6adb56d63ec61dd49e915e431d33fd3414e65deba95b9b6f692a3976c3319c8d531093c355e60f2ee8817480fbbb0fae12e198398aedd4b9deb518c0e733dee83718f5caeaf0acc4072ab8fde37a5871e6517dfd0c00fcccc3a40516bfb10b9525a2957b9f9caa8877ed97c14dd012a1d9dfbc7056520ea81e5d0af5979e8c1877e913e278c7bcbaf3afdcaaacf09e5ac35c618332b83bbdd1de4f314918aac0c5170455f82871e2eeb72ebc271653f20d93192f321821a72c282dc00b19935251e242b03048e1f6e68e0e66e2e27c26818358b237479bcdcea9a7f1142c81c992109cb7282a878e821c6653f9665b69c2d8f616625a8bfecb145df7bfc30bec1165b6cb1c5ef06d3bfbd826d8f9ccdec3ffa8f2d7efc6c7037a762bff12e4d470cf618d6d6359635e7e3e851fb0f377ad4eef1c054a503febc1144d533f29d40714577a22165583d4be1dd9195cd5f2dca413f1ca11e86e0dc9c0031712905d3040104c5f181d897057a74811eb5cbd88d23f412b8c1dd5c409a83d0dd83205074d016c48330080239866118a89d2ac5cdefd0a306dd087a3c78db0f3753a2facb3699c71192e98f5a902110c2fb5e7cf145c711fae7f1ad7836047a19f488d5e0d79ea806f7398ca723c6f318710be231bf9eb3dc669199997dca7c243de6a09b7ddc6171e6e3c72a511d56ad7906f43d8f2a2f46ac860f300b6516b0354511443da0bef9453310f08b6a7031c7619f7e3e4e330c6214a32e62c2a513f68bb33e6e81402087710fd254aec7807c3a489b7e653e7e33677de6b18c3a9d335a8665287291d839b373cea3634a993a661c7e05de9f77e9eeee4712f2823cf38fc7a35bc05e81845bc933632fdb2d4db95bc8533737a753e3a0509b4bca77aa77543cab36bdcde54934a5cd2543f936f5ebd7af9ff32a272795dad951f1fce692a5785ef534e9b58d8d8dc9747373da5cb29367149772523baacde557ab9e1e928be5d27ba77763672795cac9416d2e0f33d0df782ddc8826d4735794de1b0a3d17fa891a081e6aa4016ca153daf4e8cd3db596f3cd286d7a2bd86fb8e744c241b1770a5ebd15ecdc93434ad1ec94dae69da0726c52a61d159f781ade920d8f6975e37a4e4c8a379a6687799ebbbb3fa39b908d0b8aba39afc58ebb79b6538fd42fd8bb001029e92481f34e07899c2fc03b1d2480fc1bd22d707098e22f890adf1e921b7c7b4642bebd2200f0ed1179e852f55ae0a0c921bd023a0088f0848aac6e30f2d037d9f31a12529287be4d9a87d8a7380e0c9da574b7aa7a5855fd92e270f4d2af6ff7e523d9f089d6b55b9121bb0d990dd01d06837d8ac36898b1f4b8ed29993cf5a8fd911e75146d1bd1136d0b5dd289e588bb49553df50bac589d75a66a6f52a503b6a60314f721a1bf5925949e4598815f0d1d079c5bb9b880c1830f17308224492ae55a0a1d3377bb9801bab880c1830f458c206953cab51442c80118a3067ec87128172ed7a15450facd35c0811b3f2cf910b5dbdd52565a76f8cd9dce0f15af52aea5d90842296840ad84524410eae1d24a280bc18a1a9e55378060f2ecee625c2b2eb618bb138d7ea87e732ad10af742e7c71a3e7423d35901e9433d7a4efff189192e962270fe9dce8fd373e03a9d1f269d1f2ed0f951f3a11e3dd23bcd457141f7269edd25518191773e892051f3ac0226efb65a73cc5f712c5c75ec5884b89bff7bbf6c29dfeddc8c2e7d6637dba667b2c674c78edd654fc639f4581f7ac46a60359cc46a6810c69941d1471bcf53fac5b924826579b52caff38432c2482cad74c6984ae3cda81ac454aadb7a657f4f4a04f5c9457ee6fcfc898a30663a9d3135a8612a2fa33feb7fa6e8b46432c1f34904eaa7d3e9f4793c7d748922abac2928152505bc365836d22fef9d0a4c06a37e3a85d43bc5490cf5e827179b41354a35154b93d13ffd7a7b6536247271000f16b88103081e2520436e889835d94a43d6b5bbe96ed948bf401aac534a5933e8650d6aaf21bb173f28100bf8de1c61f34ec707111fa588c16b49f740c68c8ccbf58c8e8f1e2ba6e19c3dc7fc76991c70e66bf0567ffa8bfe5c437a4fd9ced9390d4ade7dcd927fd745a5b53a66f6f648f42fb33c6675ab7f639ec31e3d8f32662f6af46d8f092d2951ce0a2ac585cb93f062de5ca43f172ea297d401dfce21205e8b1baa1ee95e641edb4550dce70e80d1a5473d6a71bfb9dcd0c00fed1f702fde0eee857b184b43b85ceb14917aa743c3a3434304898e114326300304d893f3d07552c0136dd768d7219363faf31d39e65bc7226235da61c46a4487da0e68f92966037a6333a0d6332274f66784e912c40e454edce731d19fb8d01d748697cc2caf92d6606cca08390d3440fe390d9367974dbcfb192382bc00dee918c1e3659825334b476775e857c55c06be95a18b62d9cc2c29fa79b9cc28d52826837d8b153a6b9199fa266b4897727b2e1f0e3a447163d8233683b119ec5293f2790bc7b02def444edc1ca067778a0491bf1c0542defd650448cdbb3f0193b7bca220c95f2dfdb2b57cfcc2ae5bab96522f2bb38e39af99b54ef49fac62316afded49d0ef806f5d067e0cd995508c20abd58f6319a5352cbf347e109552478e0f3ce63be0cbcb3fccd23f8c65167669ae562d5efeb9aecb1d0bfb11bd9539ff6058ad512fcd4987f1a28c9a6be991734b0822cfde42debd6c8fa0aba55f5cb794e0e1e55c4c3b4fbfa4c3192c319b6b17b5d65abe700220afbdd321a2e777c0cf017a08bd72649979a59a137d4bbf482dbe4b04cfbf78a7438490d72962c99fbcd32942f52d2dee850e76375d4ae75e6c728aa2b8fc5c42eba248f42d8e058f9b8fee6c4030d32167dce4b97b86737618a7a9ec80da9b7988d988d29fb6e3a9506d861623b598d74d92d2e6a13b58bb21a6f2b1ac4f3f8c86740bd3a261fccc703d7f990cd1186eb70e11407eeaf0a07958693094a182396739b5be03be737ee5e01a96b6831bb301dd693bf8adb6b14719ec92d6cc3da56da7d3961e41ed1f175ac7043ddfccfc6874c758ccbd883c80fea0bf98e7307aacf11cc26c4764d6c1f5fce625cd3f873cff7486d80151d7a84f0ca6aae4e077be033e7b0ed0f3e512b3217d6a3b9e8de8acede077daf6dcb92dba8e19f741d05e7d566f16fd738b2ec35efd552da696e05d561d661b3fc572801e04fe0fb3f1340877f00efe678c6a2a33a63f97e1971a8c6997e18f39023630a356cfa298574b56abd56a056d9493a28aa0502814ca72a9542a954ab5d65aeb7befbd4729d452e083ec96dc80834a0b88416a5588514a29a596655996556badb5bef7de7bf68a720200be00d806b8702b9e79c680294b3f504baa94a854aa8f6aaaa855df29524a29a596655996556badb54208218498f6789ed472c064c0b7e8bc06606be6acd2026c27e92ab851bb4b4552a489a568134da952a9542a95a2aa932869620913241a01502b07ad8c5fa5831dd906d89a082766af286d6c6c6c6c6c50455028148a074ecc5e3d9fe50242159dd43a0d399d4e27799ad4621a638c314a29a59473ce3927a594525a218410428a59ed8dece32fb9f8ed7a3732719b523b2a9e15ec41a1502814aa1455352da48734912ed246de7907d101520a91a452a994016acddc1b20aa5a5c4e267b45c94fae38270755048542a1a2cdbd9561e947a954da5ae00f4f4e0aa32aaaa22a4695155572d20a638c314629a59472ce39e77c392fe7e5d45a6bad1f0d733cd6f15cdaf634172e5cb8b80e60dfa31c8fcd0aa557d07473c241e5ac7a4834259444954aa552a9c4a479744dff68204b58a85caccb1c4bcdcac5cad20e560503317bc56ea77062f68a124ef88ab4bc8e72d2faa3542a95609493564a29a534c76a96f6b41c1b1b1b1b1b9bf7de7bef4a8055400da35268ab1e48a229b5c96432994c728542a15028141b61249c44491345b052a9542a9590a452a914ab542a958aa9bda29c1f4c463c9d4e7085c1bec1a29cd425aa5f8a4894444994445589622cca59e79c73ce9b9ba741ad7402b984baa9d08eab463cdf2693c96432c9d58a810411c243def18f1d50d4ba15a6fa8522b1a92b155332355f6c0b5b03833d6da737f4b42d0459330531994c268eaa55bf2c912bb9922bb9a21a25514a299d2814cad2544fcbc9c9c9c9b916605fac8901dcd33737aef64ad4e69a4237a6b7a27d34720f854cafa6891f4b807cbb203c5ec8b706ba05adb93345e9bda1d044d22d288f999aa9999aa9144b949ca67e99de82f2204d13699a48d3449aa696a951123d9d66d4e829c61863b4b4a7412ddef44ddf740ff7700ff7700f036ccdfd60303365b9499d9278740b6aedd5b694949515914893efd2a2e654d3624c9d4ea7d3e9f4fd600b17962505775a9b92b222da680b1dd2acd1134bcfdd5a758aaaa88aaaa8727e5dd9f5c2965072659a29124b0aeed62a4a9f8a9ea43cc9933cc993a4a439296952d2a4a4494993925294a6688aa6688a9a6a9da63a4d759aea34d5695a41b8822bb8822bb8425916ca4259280b659528bd3714726ff92eed3797d26497d702a8ab1f1dff3402ece0321c0392abfdeaccc5a94a285e6d6d5299817da7b62b002110808cf07d3611e4705995c2cf36023fb9a00f163f5b1059e8061536a4a0c8cf4602cd73104000565470989fad040350997189d8610d58c6207a24c7c2ba7517df595f33c8f941da16c4bfeaee3977565b6db5d596cb7b2ed7755d0d83e9c0e47a8418ccf54f05a45c8918cced11a603939bf25bcacf292706031d8be7d0b1a0580c1f781041047d2b9c5fd3560cc65ad76531188bc1705b30a547980e4cae750cc6623230180dba5a3f20bf9a539951df7a10ffc1586c6e4c0e6ef2d6e9db46926d8fd4d03d9285c4e5449b8ad43fbf587a40e7577aa5244a703477391bf292258b812eea9f4fed5295a8874227b2a442962a0abe21ff3c9efe6532db54dcfcf389c16c2a825048e96ba65053c1d2e36e28a67fb5546249e26e2010aa5f548436ff6a836fa3afd5555c7f597adc8daa30ad4629dae6a1ed9e68ab7f9e623572bfd084f54e8f9e834afd32b56d3472ff685b2874afd536da2b9e5b33c32cea9f47ba5dd3ab0802aaa57fd83b4c6a8fe458a098585a70b73671ca86626a94d586627a293614133ce1d2b3a398e2e50dc5244128261b56fdf2f9e72c2db8ec1b8ac986d56315a914be5e6061c1e58ba5c7dda44dc9868f2a15dc4ddad026284fbf74bd404d345df2cf3fda4699842a8f5af3efd51fef5281bc8b7fd286f2f4886505d2c63404bb103ae4127966a669538f78b4e3a950ce68e4de3b2a9e550f2a877677f72bd9986e4e38b4bbbbb9f44834b4bbbb5d9e8a069543bbbb7bb443bbbb9b9b9999bbbb9b0a2994e6963ad5dd8c72c241758a77822add782d6ebc5304f1d0ac4a3d2e2e07d5dddd2e28bd3714722e8e864902dee9249163ad4dc2a66028580aec04bb187639e8f2cfe5935e5e2f97d65a2996a3589ec2f2938b0448db462f3f53de97f4a58c96c45466709387ce4d1e6a39b8c9dbe8bffc91dc8ba8a9d0b83c7ad4acad33c2189b5fa498f363da16c45f9e617f69ee3d16246e3d8ddc43210bbaf52e6b66d05d93df9e0a0de8f29134f76c855c4eb4bdc81db92377e48eccd2e332135f126aa295b43792eea45aa8446f9624b56433020000b315000028100a064422d1601e8741b6970f14800a82944c62509c09e45914c4301633c8184408011001000000180c362000046c47b3c75035dc0ce37669c6d94fccf843d76538f65d191f74c5bea6d765ae5a12f9cb5e38756f6ba1fa206840046881576847ea626b561940f339680e5d43e687936d33a9b44c19e72f413bc49cba319b332e644c81b640950c3a6b4d440bd1da04c0ff02699de9acab1d7e7b30e3eedabd81e38bc11deb0952c96f3f9091eec186a0e352828d875d03ba9b0ad494c2a6523e1282144fe6e9304fd17f65d5671f2463ff9dc77ef99fbf93dc076c22066c622a444c8a247bf957993d9e33338389ce5ce326349fb1579a8dbf92e9d4aad0098f69cd82fc94d51e443e43cfee46c47b0395e10a9010e5eaeffa0001f4eaa50bbbad57b320b8111da0a8fce80333a2cb01152d549ca23043a203ce48cfb400d99f8f295b06cd94bdc0039049a30164a0808863888a4ab180c2a140443dccd588ebf543eb9047c92cd1e43730cf434fb6695c6d0c2dcf22f0c3e29edee3cc20f2e693f94eb1b9f553889e66696875009e8c70807fd28a7d70c7ede1ea7fe5ffa576ab9a8d777d44332fe1d21df340735dfcf9a76b801dd5059ac2af2e70a3ba9d50d344c92dba09643de046b15b7c120aa5d0bf7d48a291b19c4b81f81a2f52a1a465228a8266028306933fc2cbf20b56302157d12b8168832b7e457cea2f2ea8640612ad56b9e18abf0fb032e1010a33244b024e2f7b4646a21788a1e2469506dbb640c54e55ead308ec6d47c0ef9ee16514a5c08838091f44ea59af041cc40d575626a4610de4472158a0830503835720a1d8ff3d00465f513c11d580717d3b17a2cdabb2b015786c14871f69cad4c7160ffff86ee12543eca34aa00e7806d5064569e6b1ad99c760d123b14b4ef7056e108d60ce3070ca43e4d1071a8201072a200147018ea20b24ca7e33e5db9ff2bab8eb05fc8c7e4b82734ecf1c5d73d007d8e7cebeb8a7869410d23c24eb3f913526708bb57c93f6a71e3ad64fc80ad71b626186e5e5ed11910baa107909a14a74bf3471cf60ce6e4e61a1308c0a6b7d6b15a987c206d66902961636b239cc6eb94704ee3f0c1ae4f77a48330de50790960a0e7b6c3e8830070ac2ea7e8c999c32e87de7292d01bee60463f593970e0d730b4d39ffbeae8010fa763ba17b4d6fa43ae27b17cf7bd422894a809635b35ea497b99ce13f6b2871e25e5c77223b7e8e35e6d1a463ef279ab86f403a828fdb759252134a77512621f50219afeb10954654ae164bdbe3fec28a52c8814e6e1db4b6f979eb10db2605ae13da360f71cdffd559817cfe90c86d6c638d9d376b5866ed012640ca5adbba08c42ce270e982c116c1935c43becd52b60d2d5a3252c7448b046527dab7151cc502bd60040eeeff81ac9268f0c10fa186d2db66db736ecca7c586d97d4332807a90ab6f7a78056930640ed21792bad6bbb20138e067dd4c3a63176fc687b79ef2a6684469973be8c3d8a1f280b736cf80f19394de6d8e65053e61397c4fecc7dd66f3039d737f4beb14796f607c090c131c23500540b208372a3a86c8c3a2d95ee746e626cc95602b2207825a4446d74eb504ca0e01b6a0d57fcd25c8cec2a34f6cdac9deab1b6e74192e8cadd7c94079212b3a36f9817c5856cb6e6f2c8ef5531d81d78abca7146febc672811e2b9f22b131bd4e63eb610ea8f7600ef6525e929cec2d256caf1bb42e373b16d676eb15be64494f6c6d6298e33e855153b82e09f4d69a22696c0d57caddd46348f6240e5899abbb969894008ab904e875970508cbb07d3891c3239d387581b185159b01f40ff07e6900f2adc95f271de5483b905f1cb10c70a5039ceef13da6c623360eb3c48e12aa34033e62cbdaa3223157dc6ce8155605900656333464d368d2b029288f5a6446918fea0141e14f07b8111d4ea869a1e2b0401a5e04631a4ba42a84f650dcd29343dc1c3c4d59e2aedf48e91a71917a796209adc3712b413bbb91f13f659d84d0359a8cd6a9223af7e41358ad224f828f50310a5c7e29f03f1cc80c6b6bfb4d69ec8d287422a3ef4a2683625b9b5db0652904b258379f620b9c97215471acff3284a844fb2840f20afaf5190fee854e9aa0a7ecfd0c99862640ea5136f0da51a3b7242eca3d1cc472e0c11ddad8471ffae9ef753764eea86824fbb93ab9190a93e7c87cd1ca5012d2c7aec68c1c04047261b137fd5e60130bb06305c43b6f11a6faf2b5ee16c98c01967143ebaf9be10b335d42ab378ee75d7f258d630d63bf30f3b09e13586713ef1243e3945caff3a80058c06cc60737aed6ce404d948e4921e6196ec0c48dba872636c6bcc0b966cc48880887e4bf66c1d99bb8d670bacf295195d6edd2e01b4c10cce5de7e5572b4e81fe752d66ec05d52c940c6af4fb24a84be1543f6db9339d1d2b167af010e95a0a7990415aa3aa9210ac964586926e43afec83428198cf13c6e201f0cc40565a090091692c5e58119a15c303ca314c7c1e4b93d1609db74f79c58183dbe070e04d15da22e5bdf303a42c3f060d65f984a58e8addb5e173f07c3d7bec05530e9f00bb64b9893503a5a8452160456cd945c167de50238816e96a96a4570f063fd492ba48419bca7990ba0327f49eb86c5381b02c73b481149bbf0bc01747668a28b5af5cda7c3826192858915f0dfa5b214d5e4b1d2a3346c10d255dc2d3fe04174f03d1cf42462cbaba9bd986daedb6162868bd29edd810e74301e6b26e8b65ddf24a0e33def679519a09b3f38962702a8167da8f4166718fb30ee1645a3583181402324cf9b1bb4ae09586902bac46450aa04c7f0681e6d6b24c7c6f3848d3a5146570d353be5a7ca84125ba140d9c170904bfd855ede8128ac8668d357bf27a3fb678855d571465f0944a643b98f77bc824cd2f7eaae716978a618a8849454d50448a106cd6200772896c097c4249512184cf7a3c941b1ced711fac112ae4dbaf010cdb7912822ace566db13716437e45604b4de4ceb22102101be07ecb8f5bfa1636886b27176d3090433342638c041dc86dd047c79fb223c128944229100888e6160981836d666990f71581602db5816dabf33db3ad99d8f41304527a721944b030d69f0e6538e18d78fa960ce2f906cd88b811435dbe4342c3048a24499f34f99fc27c5be0bc3d1f3d4b923b9af84996a8b9ca57175ea09276b2a3b7a6754c49b7ab46a1f768a2ed041b64ff637456b1391d8f835c8240a28b83a52495dd0555645e5c25936c47528ef13f3d9cbafcbe44f91cc21469cc6a9ce349261a9e736c1217c655c18885c8fcb18a89c5becc6c8a060018a7198433d62b25429be85255ffe6341a7d254cfd5f2fbb0f244dce036cf5b3e44668b640c18dbce6b7e7fd9df609400fdb50eb641c51df84c8cde1e629b125522a814fa2b2a2f9c6a54a7f550f396d4d7a5eeb52125f1e31c64d1320f2408ecf2526c08a6ed4bc2e19ba7f6e77add607c8a903c4f3574d67dd2f5e3106c55d1b00a6eae4ead1fe05e37db398f667bb06f6e31a0eb6b5e63082dc34830123c3f1dd68431610c18331a08cef174813c70873b308ec9692ae8327f2343abb261bd5bbb776da8d5ae56f81b99a8fa8d8929d0b21a13a6cfde76703055f9a26744d9c734142bfad7f4a4f5a93ff4be1362aa39443f72661f38d09cbd815e0579908620447a3f4b1b600aecda1cefb10b6ca1c9828d1553382bd8a79b222c47fe2c60f54613fa63e3f262c50b0acd38480f124b5e76c471b9cf7ed16f7079998908f050a75f508c9617d74145af1214c0a4019ec6f03d1a02d2ec2574b86a6d04d5c37f1b524d57f2291b1a10bb119a4c5cf096cd11cc625d3c0e5a53ff83d245b6132bba19caf33e11b60eda32d81a0fedac5947564cb6bbfc9451a77747724b39f8f1bbf870d330e07f971c222383a1b175cac1a83269d9994c1b07537e159adbe8c05eb934aea4761aa56b751acc05684fa7673fd46fb0c88b0ed457c0c57337ad026e36775f3faea40948908905deb01f261c01bd440d6972c232694912cdd5314fddd5ca72f7237699c35fc52b1a94401133cdc2ce913e7a15b7436f70aed65209f8e42759b09d3d8f868c283cda42cedcee700748da97c24d8ef156dd82b1a58da7b9afcb27da08115d594ec2deb4aa739547d82f230b9f132e4f8728a51cb566b099ae0dbab1c93c275eb92e19f169daa690a83a0076688e80817ef380ca83332ee2c6c4632b2295c17c6045b8c33ce25567769008b667e4795e4b1863b80369900e105617e5813f14b2ecdfd7157582b54ac3cfc2a6cf4ba7d42b84aef752e5c1383b000b506d1c07491aff1df3210c9187c86172987f0dd3c036b04d4c537a0096f776413d78904bc498224d5a93d664d14c15f7d45c555f739dfaf5cc09ca1c1cdd6f2efbfe3f2aba843a1e168cb66c468d006c8258bab804a244efb322abf98ea2fdba7355a535707419af2388a22ae7d9a070341c6bae3db593ca8b679ec36fc2f291008531840a6202bc332cd8f93ac23f985017a4814a265ac8165251568de9d5bad43e7e05a3004e8293a1a4f07e5aac196bc49831a634308cdbeb06fbe1182290ab57b8e6b2f114ebf7285017627d380962e40ca2228e18443906e2be82d3d5d89d736994fe77fa5a2035eb448457cb1d348db9301a81fb1b959b5cf7e7385f6fa2ccf2d773caebcc563adbf8dffab7b16342e638168745eaa98d69a1bb0a96410b598bb095d64aa442797200156c63710ff98e4b54d7aff887fbcdf167f824ff1228016dd891498ed5a053908e119be598cdc92c209f1e3e716a4995cb09280c58762f523e1e7f9bb14994207fd7a7fe94fb4d3bc975f5fb7e3197567574abc3918da72d9b63deb53964794a4ed8d48805e50cce19c273b89535153a5b5ee80c9bba93eb0fe3e9ca3ce208a853369e2984ed8ff376753f5f1a1a33ba05abdea4a550fda0c987da72b9fb32ff6200e9e17c73926ca9a390e83a322fb0573544d8016ddd8d00d6f5127dddffa1adf34fc0ba4a5fe1efc7aeb29a98d25f29c0d7c2753e8c517d8bf0bd997e30e4fc285744d0c49342dc3dad81c3a2f8cdbad4097ae73ca5f8d0a1b34cc838931aa127ce7483d0a07f43dea8355c64676af53fdb74e7035e16bb6040610981ac9997a707015bfb81c15361f302723ab3070f1118fa03fdefcb0af19043c12af8c7765f4319a4cec83389cb365f17ce1ac2055d488755bb8c4579451f9c095161740648e4d83acf9a718a0ad287908e5c2adb2c75b4e7b8c9b831b2b69e80b8e084c415e5b7ad703cb1e80641fdd04179d41c92008509d996307dd49a25e225ad4ca97f93a85dda39e21191bcc825a5f7c94439dc0818157210c2d5b98226d68b6cf21e26badc6c914027f6de749f724d5b6ca26b3b7046c5c994a053615adf0d1090252765f617da10a42d9682845a0193be0188a42f3a656622c315e1c32da3e3ff825cc54726a951562d1b1db4d32fc4054ff730a997e63951b87b09ea560ded8f34e830e0d6ed2c303a092183648cb290c6031d8363e0b0489098c13b8b61297faa1f2d55482e598225e497dffffafa99cfa30ac17dbabb42a542f21314250a1617d6e792c8d2b77ba431e5392fae51d1cb30a9dc32098bfa423e14c8e91d4b086772616ab484d9a4b63148936e54accc706e3eedf3cbf22d8288db3ec99a728e77f2274a341fa265042e70caf3e2342223fe4fae42194b4f5dbef6f0f3cbc8262d8eb75069fa184fa35540b0901690db3db43780b16b7acb8404cd8857eb638474f13c11d25649f413099345a8a3d481e3d6a2fd05a5e1f94e9b75fcb5a027bf26c58a756883ff7480eb6d0d3800758c96d8a64bbeb284ee97cffdaff16f2092afd73a5de4add7623958500a858ec85b66291b442628a3193965e1e2911423417295a03a5e1db1d30e711fb53356c582a42cb1772ee49d67ffb6178cc4daa3f86552aa89c408dc3c4d498ec9810273edd32f5ce2cfd0329c240a97927e7d2f65de02d1c80616c8374251b586cd9ccb052a4ca4c8af27b26a4168d4399f8f8e45bec3b03abb515f1e41dcbbdc7a09f1b129e547332a7be6403779bdf7fdb2f83ba72f1a13e2f0f75316cd530ead96e7fed55751b6b6d7229f3e908cbd6269735755bff4b9df9fd87b8a586f342f009d534b0ae80e37838f3bed58637d1bcf05f6196981f48f29b2649a92274a4efb8613d4ac0999c2cf0186ae5c0dc1a56c5945ca27daec65563144df08a5a9a7c25e040924ad1ed427868e0aa80eaf7832c36bc7dd515a662613a7f2955cae09724f55e1563dfe86d20d805c7c675b6696242ca3cdd9236df5fddae2134b1db2d51048a0b6fea41e7c28d0bc47abd0c5eabc024da076461618fec3cb9238942dbb5981e0739697c4c530d0f2875833fc5a61f137536dd37334f6716f90c69704f1579f50b8e6f9c3263b4cf78cdf6cc7374ac789a02fa91dde749fd43a40be6e9daa005811a6690124966d15eb6561f0e5b1a370cb6e9e7cb0d59a820d61edfa2417c792a54cdda6e35bde1149b87de12110e2f275d341364b3840e10e958ca64f7aba6edc312f7f58088aa60bb20d0b1885c25da87e14bd4adff44d8ebedeb8cea04b8349a7c08297c4ed3a921d94166b19a204a0818e081af820ac19b8f32050010a8c6d3be72c6ca059b658c69d69e38f31738c98cda156ce19383c07cdfc1c2d8da5e8fd78e08c1faf38d64783af52afb923466f2aaa38ef50516a520ebe7e5160daa4a163d166060edab0279f0df18ab36118ea0e89bb2c2b0b264dcd06141bd3623edba1a3d05c4efc7ea080d3263334b87ea7992869a2fdf9d93c813b1bcd0239bf666324392658030ac74506fbdf64b2b331c564b850afcb1d25cb057f1350deb401cfdbbc93ccd3f5d860621d52cde981dffe3713001b731ed2b089989e209a45ff8ad112bba186cf06f4a2408abb57aa21eb857e11e0dcb4992a73106f7d8a694322c0cda48d33dc168a3663e29a09d8eb187ff4cc67a32fdb240a7fff88cc677c60db610b4a4e609b1af6441da6cdc71e0a7ec369e95401c91612a1e1f98120be9ff969d34a38b32c51980597f699267325993313f6e0945ab3c90279d10d55d0411aab335bb2490a4e575fda6c34314a42733d0ff4c820b8cdf872869421e57378fc834802c2f11293cd26a7d71bedfd09095733e762dda7044b4125241acb886a331c51a04cc4f40a0ce068360951d8a62e201c6558b2f70edc8281499f93a8cee08a631bdcbee322add6411985b3e99c3070c27cd3663e33427edc1644221addc9a2a96e3a1a887e2209a7b4768da833ab379aa8ac9d4def20bbd13dd4760693fa7473fe7af59ce48c906b16203e9203274987c8d236f159b29d8d6bfa95034cd10dc97b43e669b36aecf5b5b48068af928890bc3d4ba1cd3bddf3c8e4d980bbff2f50400ce6da1b7270215228ea3ed50331801c79d1036c2e8e1e4b607af07870590068f0af009c9f84515066a0198895284d37bfb82723903af25d725a43b2fca68dc91064a14e5ed4726d41352c186ba70dd773a4e9ec164eab93198e94af995c4b1031d38619a29e26c905c705b8a711d4d1d1f84c8cd1c0cce385a487fe9feb5fc3585663ca8338e017831d33dfa2efeab9802de82ed1e6b8367dd0dc2a1dcd31be0851f4cacf27c6c8f9b596107985a1c7eb14901879f1f4201ba0480757ad16d332bc002cf3de22c8cd96943bcc46faab0fa3bf9d6ca624452704ad958f5b8673e34bba90f52c958e9465fd10ff6349ab60b2c6ed3ebe1ff7a9146192583246c434a308c97bab0c80516de2023fd25bb0df3966a73edc6ea8d7865876a9380cec936ae911e6f26e474d49d8dbf448e3ad5d2c231be72bbb66a0676f06a5ab87086e2066eddd0f39776b6285aa2991ebc82ff219969e3b6982ca2d41da18ce09b2490697e7e024d12e9a97ecc507387a3a4a8939159057113235f590ff2f8232e3f8babe8d86fe33b1bae89b5613dea02e5916f778f5a04611e88ade4c47372d506152a56952b22b0eec0dc489052e72cf88e109e022a770800efb8ca4f0ff268a9ba607ff6ffd33aabc01fac90a376e083f26d990b8e6ebc0ca57b8cd656933862cbb02ebdf42184911e99822b612e5c8f51f591875aa7c78e5ff5d0d481a2c5b61be0af627563858818e8baeaabcd88d35aa208200385ad66c20c921db5624b9720314ff9847aa62db33a52acab7fcff0ea97c5860e2f2713aa27a223544711201132413bcc29fd5c8065a9dc2e887ef822a624fa108d53197c80e23252ad4b67d9f9da2252cdc42fe642cedf1918cde71e4f1c6498f7a795281e8008f1979d90966cc1c056b902be02d3aa509dfb7b4bf041185b576c2b84d2f475ea0dd66947b68c9ca41b725c2c41c6fea516d8f90bd01bf958b3dc0a558f2f99c8aeae6f4eb1b99dd120ce46f7a98f04782c4482af50df0cccdd0945713bfa477b0cc9b4a6a29314384d30b89d51d7402bbeb9ea809b2d5c99c363737b9af5c1e2b765aa5229e0a2487d2122d18703fece89c072c831b88f9742392dfbd9fdc3c3ac9536a8a7baf789aafa67eed092f72d54e63fd19cabe187f07faf7753f53423469b1d3bc8fe425dba08a3c078746fe6ce13389f8f7a61ba7b86dcb028a3b81975cde5b080335ac10d86e54ac32b0215f5b57b4d7769c89b788f2733a2dc6e31655ca19371a48ab23f83c18051a55f0f84eb51d34993ab198b9b5ace9a3d797dbfa89485e3171c10c4c6bf1852e80e3d80d38075fb1e2f68f2571b890777380641654e120949c50d6c8c59806e7438df40414cf01e9bdaf66686470dc3c9f358e1290256ab5e54a09d72e292924782ae04deb11a5cef78e7e8acc3bb85cd581b7a5787be39f67364a5eee4cc0fd9c5603730208a8be8e674f536c4fe3998bcb659052a456c0bd5536c4ed4de659d2572be0581b3133dbe4824896032a391418669854ea5eb4d0954ffa2c80117ce8be1f32067f27164ef82614d67b98d2100877d243454240389c1e8d1d5d9e4bee8bdb9367f186740f7ac3e4939bd3062ea4314fd3ac3cd2b708d13769196f4d657bf739dc30a473f92f6b0855f4bdbf17bfdc9485cdb4af8a1e44f1a8629f4a91b7653a43b7a5cdf98f3ab8c2554c183dba68c7f0fed6138c82bde6e49a57f70819274071ee1f2e46679f87e6082562912a880149014e28a46c41c4e2686b3f8c316d49cee8d2982b1457688296b4c66cad38cc1fb64ad595aaf5b2c82422884a7e1d1457647e3c46f861167a9016c3b15062c03710a69270e1b5c1d3ebff05bbb3c10e571356c6733276be08c7663ce6f99dcbb888bc3d2d097b53d524462c5cb41b3b4b67826576d93ca8b76835ff72dac5f5d4309f16da7babbd81eea1ce9bfb80dc9e1803a47c177a067483868d89091905beb064193202a531aa59994c1fbcf4c75c52fc7241301772a28762ea0af1fd0dadf5b364417e40f5014baff907f736ebf0abc1280e0e86e2794d6ee14638090a6c47b60f8367f0527eab4583edfd6f17199045a42c25e7670e6ad23d8fc26f0fef4251aebbcd0055a72da3a12529f5b1d2f789817bc161d10e324e0f1e204473d7eb3e7fc272aa0d2f987ca21270197e54f0da1f3bd6b66240dacb0bf67dfdc923491fe109b62218bc1525fc3cc8183065e5ded0bf56a8f2fba4c14d92dbe54be00c5e4de29b37228d3a83cab8ca986e3b96b443d17ee2f365210527dcfdd4635902120eb0c7531d5c6f7c42d2342c4cd479685d28cf3f4ef948c08517dba1c13851c1191ab6411129727505e2accf2885aa061136435b71c4aefb23530baa5c21cedfdaaa5cf09f73715eb883409d87b6e5cacec83fce7a2e3b948e8616d5d239accca02f225b2d48e26bc6d7b3b6cd952c89bf674f541f9c923c2b956de0e3e663d777cffc9a8ab2eb9d4faf0555748d88fd7546e3efe2be016387930a953fd662ee0657b84b5d69435c789133f9687bd1a2ac2cb5c6560e0bca620c00d8cf42f62695fe8d5ff8a2fe3e07d2e413a9efc94adf140db3f9879a71f951efc3e8f192a7ebfa329d1e75fdcf650ecd945eb8b6a83ef05f76a8059200435d6043ac0e03bafa4f273c36a0e4f203289e5df0d59eba9510f7feba30493066cacb32290110f275a8ad87998b0a95377537f253a1d22a3e2486ef27c7e1a6bcb407624ca76db03d87a921d9041ad3a5e2c70f6de2a94461744592bd87e7b70bbef605bb7bba070454db3bdb44d7568a4bc107c98e1ae20c9d9b13a2cf6724914295560527fd6ed8ee871fa4b988fc2fb2598ac274ca8e52f5b97f2117b0b199ec92831944f6a6163c1843fcc091ad2060b00bc5239e411ace2829a6e74c9786ea73af0edd31d99653166d30dd584653520bcb460da17fbae47f75ec880d925f267a501cd2df4b556c44a899b5a23eb6c94c73377b5e84885eeacbedd66b0d0a154e08b71bf88d8670659ef1f34b90da1357fee761123a7ae3b1f778257ca18494fb51e9bc012b097466360f7289f52db88a0569d122fee793624f0b8b0feca81de20a7df3fb0f48551c56f724a1ecd86d16abfdddb09922eb3a00ff22ae7827e8c12a9820634aa092853d43ab3d126e781e7d6d6c7793505a1198903ac851a2296bdec5ab5a34ef7bcb0b138b9be2436bce911ea56386ed22b06d494e0cda2bcc919f7788e3a6e4a085e6868a6db8a49b9f9a609a691b9bc20ec9451a1c855bf210c2b8158094749d11f8a35347ccbc233d178a6243adecf22d6c6b4fc226c13ddd6e9e872b04d49973ef4005db32ee0abcc91f094fe3262e81c610fe32d0d895ab51dba98c61847ec270549f403aa8d2392da65c26bbe46253d7ddb5eda92c1d62cb87ccbccbd7478ad89cbe20b98e71a979825e9ac736dc657f7b3bd5656002afa2cb8b111278764dc1e2625636ac00359dd560f455dd1f644233d3e4e64d88e8fa59842c0f00a9e2bd42fe685dd93dd3c4cf267457f58655d3943e262e445a0e10e296057659a36120a084ea00f4662238f6d1a65f6ff73b68f49ee908a915c9cf145a5fd835fce170bf027ed437ce54a48bfb6d49f770546767a3af49e223d53b907c956ae0467c74f1ddbdf92735a0deaf994da90103dd5a5c243e0527343b9d0c3aa991b03b486492983f23ec23a59d68a4b20b9ec3d4a043be9bfe3ee608e6c40025280d801fca93c15f457046578a5334b2c2557426efda288d832e0d1520a89641aadb961ed9dd331cabd8670cff366a35a159b7a11e8cf41b82046ed68c67448db361f80d0474de184e072244dd4a13e45a64b38e8148a9fde6178390851d128a034545df7a547138adb41523418811c5924d49d96f2aafeb4623627f1aa6204fc82e3873c29699c0eaae5ccc00a3080dd8455133bc02fc89c37ca7bb98067c8e7d9eb2e2780cccf316a2543642ff89d7652577e8b5c5e51153b61efedb939a2b2c9001022af1096be5bcbf787dd1fb991af041d536183459128d0fbd70257c606fe1d60a4a9d02d66884c07b508291f38eeab657ec1b7194aa0d182f22508128e6d499c118d96e98e6d210e72d17a251d5f1b52770b21ca60ebd1350dc7cde8f88742005b417079c6cf21ca0f03c2e064902b4f763ead9c7d6f824aa71444325913c321e257843cda2be7f070babc8a79367a3a14f96fa1d6e179d97a9dfd25c7f986ee0a5c4768c2cc562db422002b9929a58190ec05158d9ddffacb82c40bb1cf2955bcfe8a38696c0c88f3b26e181723b25ced450c883e8a840cf7529769f5d8824eaf6c8abc2142ef5e3b3a10aa67031fa6046c22c6e588c0d882947b2c127bdce8f3c13040d38aaa44045da39d5b0b408d58e19bb119c5bdc3933b6d683c7ef92e8de6d0de716ab9487f0705e09d309eaa3075465ebc5f9a71a163d9d608e2170a1a7a5610477881259e750cdca72810560d01ca08d700e9452d026b2f6cb9e6b6b68b95884d92cc8390856d6168d1673c877a4f226d609c9ea8ec5709a290b0c8e09e5a5cf2d0ed3c93ea2e65228c884a50264df54e9d9271dc9142afdf5877d4f90736b4fced1901ea05da26ee5bb327fdc5b8d92c64f1c2611d0f516914e9cac8b28db7fc8a57a749a719c48e9fb1865590907cc3f8010c137f4c44432ff67141d37aa7319b017c83f36bef65bd00b87c04c39001f9e3e1d33804af484949f843be186a8311a42b01e85fca333d1d63a93d32b23a342332676b64e0a5d59e2169808d6a4da2c4f75326f8706e74b899b9b473bc7ad1396ac1c51ca8347140314b88a48f7dc3c752219361e8c5786e88ce75037651419c731069c2d594493415b5ea2a41066c91d64946701d9d97215191c985f15a255a72073f058f0a7c4b46968a4d0626b3c3860fdc74bf9b546a1d409f64e238384d3f5f7e79cde031219fd9bb3abd44588c44dd35c2bac6c61ae6739c9381335ce7525f594510316558f73f361ab74c47a3343b4e8e542f29c6355607722042ee3b2d65f54b759027a9736ed1279587c466058e7e6638816d004359f8bf08b9031cb69b87c091ae26250b34a1591c1ac4c9284b5bdf68a2fb8e3ba542a88f8346619222d8e072c4769f1e47737561ac20d0b54806ffc655f26fed0cb60b45c06a877f16a6150167966125f4af9860e295eba8314a70c07f50696ab6b50636bed4155cf32650c1010ba9121a8a58545e5c7f75cf63981d20ae98af5dfac78acd965962be7c4a0b0694aa701e5a459d2d4d310715da98662d9ff208d975c3f61ecb1c2046a620515acd023637493eccc485fb93632ccd1835a7be9527739566178653d6f8b033192156354c82ee3b80430f2e4e8dbf7ea066154a802a78b4cc6d873959869b3db6a3c7e7de5037bfb04b3de1054f0d51ba5019884d2161a953d465eba69d5931ce88bed48b18ce1152484d37d53a52b2749b5f9dd398263d71edf24b810f5f5dd8c3afa5f0829acd933ee16546d4cb934db26c90984529b5334618a19222a6206c5c9229f205d9389a176542fd9710e70c3cc490a7461e31bab9ce012473c6198043d2a8f11d6ea1a4904f9c4f02cac6fd4ea88feb302f98541566fc891981d4097cca72095ced0eb390788e451a22eaad7a6d2161486ff847eb9183a80bfdd3cc05d998238a85c55444b01966b065b5bb1eacb22a47126164031c4882614e7b21be9b1228b9f496ef6165ff941e5ec0adfaa695e14f0b74b0f662217fd07ad1d22fd0989b3dbb65aa4e6939f8803f2e751cbe10a97a66753162f106043f9879badafe282bcd9fb14ddb9b232e899e54b79d4d7c0792a29561e91ab6747bad060e8a27f24941aabaa9f5d71d8ee4d9d7ec628b8f7f445c7c5d188182be05f5cc2ac779054b43cfabfed83ac21a6a986951a802a5b60f1df81d23ee0d3d9d8ebab7b45d9113c4e2657909f2e04d06f4b5d3b7a657cb160fa0604aa30867e50e56c2d72139e212898a6e768f0978b38fe92762106b84823b27518dd5d0cb1d87a1a16e09b0e2f6036bac20fa50815208c6023544a81bb846024de6db8fc41dfee2b81573cffc37f610571b6bdd0120cd302bd78e8b5bd31ee7d9fd0dd7f7378bc8e3a91c9d15f7dd5ba6a6b13df9218432c1e661cbdefe449f1ab69a3d1c62143de84840c99e3091ae390fbd07e4d922d6483ede926b1147012956774ef3d93a00712fd3f2fbffb9c0994059486ae368e78e45b7a5c26c5ed84051756ce3e7e99893d9cd3c436fb06c0e6b538f0dd85b9752f98bb6beb8085717fdb7303abfceb9a9d9742e2cbb63983dac5ab731016af7c07c2f9be8d3e91ccebb01e22c0c3501d239e2feeef1f8d7ebe441c80ffdfdf8384eb7b18d4d9b75afebdf3c59c7d5c7810ee668a6d3b70258db10bbd2f648493064f8e07b00a6821c13647f71cb3b347241798cbe58aa763cdb5bd7f7f54210888a54581741cb1fd0ca4364429ff3da36399820f6bfbf438af73c3fa473e4bb1032854e0e0b9c8946bc817ba772bd26720b7f869cc26a76bd5487366edd1612b592efaa11de692a417c69c15486245575cc2d6efa3d2df6df6ac7cebead5089e2a26d62d617a976fdb4076afb7a3c9262d1682b17def871f394c52bdd34a2465cdc1c805cf9f01c0ecb9daaba92e318baaa42186be515928fa483be4ce19a7b1990e7980599529ddb6a9d6900b0c777fa94620e632e5b802877086645e1c90579c1fc016baded795b9ef7d804c1414c98e7409e91a800d38c18e40806c2d747bf42022f0824eaf337e676f3553c50a6b714f304472a59da586ac08e97645637c0d482453624d7378200161174a31c188b0e0ea7e92605d41044188627f0cc6861e72df33b9b27c7f7b2dfaf57c6bf93339b4dab20986989428d0be34ae1b4e12ab62095f685a1b000fff94b12f865942f0239db487b507583cae2b06cb97b9dbefe4ae2beb683492463272bb0e82491b9e883ef4eef9f427db705f050de8f7d05a2aba78dcba2e9bfc56622c7622ae9c861f6ed30555ec145a4063043c6a0ce7f15ff34caf25de759a65412d377f8505e0ca5ba3fe496fb73cd918d75a4177c99f385d82abbed1b207228b4b38b774283fe7980feac2f63068bc65f21b318d2b34e2cf703614faa8255923f2e93093d1744ebb1191466460b0c8555e830a763715d809b0096892cf16c010cb14ccc3e115755763227ef61dcd1551696c110eddbd9a977cc01b16e31fa3e663682ad23c0c7288a0f631ba1a32fab64744417c85700b5c8cebb1ac9a39e7924705aa0ad40c9e7baf8fb7394d39473a8c26ef21f3d11ad1bbd6a3865a8cfad938b55ea5ec0a7d877da595ae89621fe22f3367ae149e3347b58b98370cf5ef79da2dae5f8dbebaa90a5f16118848093d730b6b001d8d1a08223d86fd0957a18efa9c4974cf9fcf6f82b3706c5248d5dd70197243860edf04ab8fdaffa75177edd9fee7d27616f7f4909645964b33ff3ce78b2fbc85e321576db7307029bb5af3e1e42b8f7c6b020e969096240966e377095d7a3a5794f23f2a41f843309840910462b1fb594c3a01035a75ef21ab4faca1cf63453cfd2b41f0359b61a714e2e0e21264bd121caba39162fd600d3b33222c5c827ce907087cb96e270d1ff793a17451951440b72f4ca71bd6935d213d6afc9987b3ac79319a9084344fcce652d87c618d5385447f49678f37621a24a84af94eb2f7c067bfe6566a3468bcfb1069b266ce96befe4bb6e042997e5219e9e36b3a6062a3809eb9665d82ecd5a60db5ebab104649b0d06677b2a465d68ccc0d17d0cb5d5c71939bdbc560dc8babdb8495fcdef593d95bfaca584afea71d2e8841acfccc237add76f1f37cefc7196180b2bd946fcbcd3e524a25d5b77f0bfb87a5420bf140d45114a215c1ec1b553bfd28e2f9a1b2c437163f597b62a156bdd13d01f667d42f615a4643301e8f224c1f08988825a01c278427eb887d071346cda1090a0e098b7bbd8b48833503c7599d90fc8ca6fac73b380b476dff3bd40f1ea06db7c93979ce11208b097e60943d32bca14d838e0609d38432a97cb5c6ba6f2ae9847f596e0e355249ab9c884c97243d90af18a39233b173d1422d3d37002e34cc491c063a8438dca2679a23388aea9b7905d190d20a182c1ea822fd0cc01856825e8bc643a3395ff4f112bd19bb33bbaf1f87f04a091025d7a6662f6db9c168c45d8a0efaf8c34e2bfb5217403a96211ea21f23d2bb7b8700f2f32835d767666f5343fae9a2de92fdcf4eaf16644a2ed37fb52d0b05113f5fe034b425cd3869fa48e87ebaed3bdc1f936a0b241609786d66eab4321e511319e150347df75924985886d97d685889bd2d85bd2e648a33f3cb327094a6ad4c455e8194623d5615452a3ea8bb5dd6883040c74ad4ce9a5debbeff2458e9ecb11186176282a36ef21b1bf2cae19b6ad30606307b54bae048f3d84df5403af22869de689b818c745c1f8d19848842e297f1a027e9738ef423e885ea4840ac15288ecdb55a24b66ef9fab525a7350dea9f5618515409dd296a5e02c6209f04fb2c2fd9fe27e29cf9c9dd51fd054b7e5238936fb17bc02534ea408f9a12e5d376b78e1921812de9e9abe43fd4bc0472cd42db30d41451d6e10b749de4e000e6ece08f71ecc5be947afdc4f2aa2cfa1f5e376963969b593db58f6d07e2b6b1ccc56de4055bb3d5b1a5a187c8aee7726d90d42ebbc73b5a10d74dd01178b0791da63c00a92c1187e7f31639d79bc225a1587ae471a8ee493e6decb601a7ba8eb08223365844c227280f359ab17f2f4c530223aa6b2850fe926406b58b0d151bbc34eca31ea4b8d092b86ccef9f3fa6eff8e5161ee12036e5353fb2c839ade410f6d6698bbc3d83a247e4543223b54e8722870330b891a882f3da2f04ada5e17b80d50bebd424c69c170430817b2df1e7696887549ff7fba7c9860b5ada634eedbb7afb116f66f6b27e807b3c2868becfcb686c6885e672820dfd6825e5d890165a3d9f207993289d0c8051541fa5e489e150594cca63cc3e5dd84266da6906043536330fb8c027a1ef2ca670fc18de755501ef19cffd945da5e79bd8c9fce2e1cd07d7838b2580403b17d29bc90e62893f1ab91b7fff851dd60598816fd651d719978f77ce606a06f4040caff36ce7303ac6adf79c26e4c7277661b6929177f17e2465a5073bdc8e4cfe5a95d80db50a47eefcb5d00cfe0b300efcee191029d17acbc7f1f634c310681a7b2347113e0834be1041068dcf16f2041f37cc1cc33c707096aaaa9328e06086fed9b3d2c7d755f0e8e2d9c9eb9db8f645146038892a2cbcaf0c63dbab8492e83c56533cbc24f12b8f664f395c107d4fb81fea25d7102f4888b09146ddf688518a0e92ca2b38ced252dbd56e251c0ef341b1d6309b97b50c89f91306f857f4328bdd53355da6a502e0848215b2b78c7355ac78311f511b668ca53ab8b07a96e3ba9f087021e3ce9a63546ee1a0bd12994aa358b1d3886a24f19d6d97a7ba243565517be1550a39d4df71c2693206cfe7ca70b3d8116962fcd749589e74a1f9a0909337280f43f31660c4ad5cad7e7829876aa0c21756568fa77e2e3032035ff50e7f84a31b5dce3f28f332396cbfefabc8eef1c4a6b71f49867bc58a202702860edd6160353089384502b00050c1099214ff14fb3f25ab4474c09f94d6caa426570405e21aeb9d69f90add22bbc0198063ed64c1e408922593b35959e4fe748ea4a0f02eb80470e85a96745b0d4de390ec301b08183e705800dc800003397f6305c88f9938ddd11d8fb78555469e99b304090a2a743ee58cdc78329307a0b3dbb56a42de47330c29b4953e27926ae8a1be6eefb1508ea83e203a808afcf995cbbb04a5ed6c3df533f22aab241f6add279409650f67dae303e3be3baf600602171a83c998f7f3d20c57916909b70a832910fff9bb808be7b7dc68d988c281a84b0c4fe6e8900d9dfda407fe801f5f08ef6ff8515adf9dbb2b5e13056e40158061d71b96926d547f7631949caf3a93c4d2cc14ba93d8d509b563e3e5a004da8b5d4d26b5284768b51c44080a0621fb453145d312b66388d42f5b0dbd17d7aca10ad216b7b7d4ca3846177801beb1e40a798dec0daf2f020f0be831cf6819af601bbe1cacd082da8aeb7ed264ab8e988d4dbd1be408127d23b9cf3b3dbcf3ba89500dfc0b32df66ab5afdd1f40455f6e9b6a98192824223796e3cfcd8c950766ddef3c26a9b61136a50b09f251143a5ed25f473c6601247ad7a970eb7fc8516c1b0385d900cc2138dafac88fc8ffc3cb82678ddbf4da61d9b5fb650238d4a7db1423bfb346101792f24b1a0ae1b171e0d21f52ca9d05b294350fcdc8b306eead5a8267f0d2f2dc3d57c3d0a2b11e8737a15002d8b1d84dc8821cb0910383bd7cc01e69321b5710a4ec3e7a7c68266e55382b80f3aa2da6acc2c007521b95b36b9c54a8a881d8dd6331897ee0d6f99b14400b5ccb37df062d3b72c2440824e3a2c54e177268b4576d5af133f4d8b5b61584a74180608563e0e93e3407e818a0ce6cbb068a7b3e538214689409ecc96a1abe32e35206e0002593cf56c3fd498d001347248811fcca911e0cdcc905ce8bf4d3d667d5f47db07861432608cc9c7244868368fb36938410f146874a7c9803661a311501434858a6803ec53e077a5a3f58a35ce008a726c6689e73491ad6af2642722a2b1e66a089d2f6e9dbe09ab1f39f33a2c2f1df472f07d94b3c4b5ac3cc57994c97f9a9cfa423024d9f04fd103e9e6b30e05bd6f2a676b4ac639ca75fd05525c0a7b228613c7762d289c3855b196b1c034533c510c84ea7f62cdfacc6b9424dacc2420d87d21816ac70bd7315270641a9dc12f21b56448d194938831d57bc07489035f1de9a868254871c6fdbdc51a82fc1bbfdca11331a25bb135167847b6e6bd1d89e1f59d0e5fac48ec392dabf60027799e43ce81629f27b6816c226ee0441e2c67928196e5643ecf62f339a12677fdebf8ee574a2c7c63b9f4b4794743727cd422f7e7f21ff26f921c0606591efc651aaf871be54e1165645571bc8924fc6dd2ec0c649db0c1e6ef1300a8fc454a3fa97569e28f160589959f1c31148df79543d4a89798f29600edefc6bbc194cd400624ac35102b8bfb824a4e874fb3471f5bfe9ce7098fb56ebd23c84719212c45efcc95ccdaff670e0bc0348bca1ee3ef639b296ca45b8563cf3ed1d5657bf34974514ab0690380f1a4eec1a2b0cb929a205719cff90ec61dfbc497a90a831e372badb205a01aad5b634cb1f73535dd510b232d6c6c45d622a54aba16fc86e2bd3483525fa9e284172ab9bd154e430e0365648f782b8a02b4fedd88234eaf16876c8fa47ca2713426582c4037d1a0905f5e460e6ee9ce2a54d0049a009d729e6ff2e8e33b32c1bdeb0f93219d846f369d2fc7287f8ffb3e46478f0061b3e0e2890791f6f325430a55da2595f787e08327697b9f02e509d7d948f53b52ece4c1736eb4ee169fd3a6941615734f578cc304359a7a6563e3bc406643a192a9c91371523aa72a8b43c94083bbe4b22474bee71947d52448e8d2ff7c0e6a9eb39a7d1bd06ae45910f7b2cb073e455d0120a2ba2a7a94aa15d61f78b766f237b126afe5a88265d9757b6e5887ab146bd7bd4cb2e415e25b2a3e54b81f61ac26008f52412b2ebedab8da7b0fb449a6fe3a2300b9341e72a0dc4804f64f7d3366335750319fa35fbfd791f8a30a1d5b439014778b69b042496f495314a14016847fcaad54186301a4d50134841bbccba5c66f1973733dee90324e2976c218487f84343b08eadd5aa8cbc876031292c0b6a546866867b46e3e2772c3385132c4ec13abc94eb2cfef9ebf60d641f94c026d415321db2f9776abc47c5e26a259b210ab28c986a7b8a456604f131029326fbbac4ac6acc9da3fa657337a20af0880c07df643141432cf2e5f572326a1de1bdc36061620dade7e9034f7e3af6293f02c07f892bdd2d1507b778fbd1c44b8cd38de37fc9df8cfed18183f27a29c7f3157c13c6f447b83d3f95cef1e8b399e0af0be1369c1e39c5cec049c9cf7967e9a4305ab7571432182fca068ec426c22941508486d390f47e27c1c79a269751af620fb5307873e3cab1b116d7188c8e885d595818e140a66dd0e7cbe8639b23e80e84a041d66adf1db889a8c03f3e45f2926509973f4f293c1619e9af2506ff9e0172a9cf748268122a4d69533c49837e5af72fa90a4f7fa11de6d073efe70f6d5730f7cf1f924b784abea070edc7bccc3e19d0ee010073fe15ac06a250a4d81a9aacd826b1caaf02a537536db22a829d7dc35752c4445b0ffa461591558d2a3652331a8a3ec78f270c5f1fbe2c5b0f46a07836bf93d69c021035eee83e0e0a92d9cf457ca87c90e6960e826bb011dea1106cb0b3be6c7bc26c08a67a7ee764d1d4f992317e5a40dbbf9e0396e14106cdf7e75b511271eacb16cf973af49986e0fc3ee67248c60d68ba59c73b974b56a8da9c01eee3bd1c274f1bc6f292d39fb5988d7aa290276e99ad46be3894893af57094862c8c9bd20fe61cd3cb20feee898508968524f229c43b39c221dfe9990b8c933d8d8187d5fb40fc9972cbba975217908d29d20a024b717c75f8514bd5ece510084187edccc9d805fcfcd784890d94b209cdf289e672e5986ddf64e3b7fc65f2f1c1bd5e2429befa902d8d69c7b987f6ea9b03f873509d959e6e93b0b6e78da57f2f52924295cad161989011786cdaedc1db35e4caf8f6ada90e2a986d1363be84ec59d503bb79d41d45e3942dfdd55742e47b3d3d6a96d7584bac8f03be6a44c828c369a3002203e831e52a9f946efe0ebcfd37012de0b812e133a71773e88e0bb6874a7674e412bb9288ea22a847b590c8f94fd21f33db9b063838df908246700f932bf58557dc87705cbae72220c97f80f1d3c29d8ab133f39ddbcd53e2cfb7ba3c992db85370b7b722e7a7f91c1d5b83ff068e38f233780460cdf28be5401c7e4bb10116ee059215f8015d6a8c870d9492cb3a99a27b9ad67125c2ebdc5839f6264749027efd65ba0a6c81ae60efec78a0b007e070c8b9915c84ff4b248514b7fbdbe27e65fe2755754c890cc616588616a8395850b011be9482192d184b64b7e73526901596a00df186c514974408716fd5fe9a38914f95be6ecf488957a550e3bda378fd914b6658c92d5175c60948103235844742a844bc382a17fb638d086f4c40cd55684722decc54ce7e2407bd4ee84166f459fed5abea2a11a7bfb57a774cd33a09495db4961be0c393884991cdeaafb6459020a5a3bfde4610d89c7fafb5e19c8ce8e3911a47e68e9b72acabb54a70e8e296706d34cc93fb46c147034d4158b7a9c49a3072a98be1d109f9178d7535dac57d0f65359a5f706d28aa64871f477d36989e02088315691402590fa907707ece4a60698549207561095f73c044eb0874d0eb2f3303901b39b2451960c0d22c6bbf0ae45c038489a272e69f62c126ca333bd34f6acbc48405ceb6c6ee71e1783bd6d06e27d01be68c26059df35e28ccb746b005d2c5483dcf6b1db9e0eec78b3176d8756437060809628aeec30a914f4268e476f541ed739fbb5e0e71b248a1bb13c49482748c8e58fdcf02d350554a71b9862393b328d0e85d4e93b0bc6d8929d32c32328589d9dcfff1c1e6c5d94e1eb2a2c9faae6468ec52f4c51237cf8dc39c00252942bab083003e682501d0e0124905134ab73e15b58a312c12d2e573555f89620c0f1e99c42a45f945339e13ab8ce4de70080c83f4422319dcb4eadba024145f7092dea2cb5027604b14a8ead9ba9778657b369f807088d15d7f812b68f9f7965b0eb4246b74a5706a2d0fcb376df71bbf1760bf0c1fa9b67245403f57d23a13439490013f26211589a4b2bc0033414e115575a8676227b60e49797c9cd247f9401eb5d0e233429dcbe7923699efe547dbc14d4b406d7d014c387de625ccd8687e365c11a84139c6e69f19e5c410c04dd77c2ccbd3a8262e61d9c0b820712af40935b083b4229c0cc1a79bb9330cff4296f3b1a00357ee710ccf9a00d55ab5779129d1476bb56c2a910c887c6215ebde9e8195723db0b0786760809ab07d21c953542594988593881b3f71a21da299661c5aff735a03be45fdfa2d9107c17a3025a4d6b258298e6e5a1ad0d0cbc1a22bc7260e8c05b4238be75beb55da9d590dc84892d5b3bd04aef2d3ea1936f9c251f5298525e5be70e028846d0c383ae91fccbb2152e56a1e93265c416f8e915370826425eb15870007860dba76f773402cefcfbfb87ebb7b44ec29edacb58d5fa8ac8915c37ddf6f191751e676f663a48ca9fc9f8309807675540fbcdfd09e589bf24070e6663bc965b10934a28b64d94aef426a1c923992b6fc6581b25c0d81fa2c8068dbb9f061c72068a93c888504e09c7ea8230724a407acc500bdb1287a2c82840de6d9e1acbd0aca335d2c7575c5274290a4f466792c493e88d37fb904f7c440cb4ca3f73ed6eff795207bd1d82bf96266365a254980850b40854030b14234409968b6786907426912b9264c460df2d3c2cd67503f222d627ce9e55614fef35f9a6f50ad48dcaef59a6dbfa9c219ef8a86ad21782a5c4d179475a8f50b979940d5224c04a531da545816d7cf123eeed02502337f29fcf4a6201db08a2d5f51c5b857a8072e515399c7f917f002264fbc047857b84ce24a87df7999fcdf719be842d1c9df02db36740ee962c8d86a9545fa7a04faa881477bba559625418f738d6d02b1e220ddac279b050091a0124119e93b486c3dda3e44008520f8a818ec578e2250148558a466749168cfa22a170d79613c36e5e8e62c682c97fedb59fbede4417c506e5966cff2904a029381369f6abe767cd26755a879dc328ab47d498326ea53914fe8ff4990ceb36d6d4dcae389acd95c615cedd44b03c9581c5a80fb3ab9a45dee6b38a78fb3b5d02b896b18ea246b48f33740d52aa64965d26690d964561ee31b377dd89c4845bd49038d484b9e451e1643747fa28e65c6910af7ca2eed1d68dc522d8600261b5538b0a7d0bad93fd2b0c482f2207ee44a66a92bf29e049dbb865984865b28ebb9c275a8b858b3b8e7bb30a6f038aab014dc44a4d13ec7ab19268909536ec969ea5f8729cb20645fcbf7349362c11c92ae2000e0f4c7c27a9dffd6aaf0490764a5e57a2d7eb82558ca95eaed5893ee66e10fe1e19611475e1b24985f24cc1ebb2074ff8cf2ca2820ac24607cdee11b0bf6d93df604d7f9d8c4c250170d4d6ea143863c9b02648dacee8ca0ba782d23d1788a0dd44d80f80045f8009edf851c383fd233d303c6673d6344df16ebed34bfac05d0c40d17b3541b991846e5c74589251259146b04c2a1e3335c1e09e958f0593f12264ca6ed2bf297d4071845adb9bd353695f57967da91d9ac428de64ff00e8484bfe7573c0d90643ce69e355db01645dca823e44b886a5a03820a45b8a21d1cd3e3e7da8184705a82675ab932791f8b9ae8a1c32f6cadefc37ff7334923578cbee126f502c54e7004f7d68d6043cf6516159725f9be822be9dd547f6066bd76ae9e0590ea7dd8d82f768d7c154d0c2dcf75e5b9bebac552b740133b4fbdba8540fa3ca3ee41bff9bbb71f35e8e203ff9ee030e7e01b7b437568bc370e9ac992bf9edca086f072d162a8143809a9cde7584992f95b24f69dea4819300133ccf059b66db5d15fc88a55cb548d272c03edcfd5ad05c8bdf803da076be6e003efadb73b6745907afee2a0f843afc24833eec95500f95b14130de6a5d2749e7482f32fec6df5a4efb08bbd996960067ac7ab65b90a20efb15cd253e71d856e032779a43462b6991cf780c92ca991caac2e1c44cef640bc5c90e451e40af99c5cb91284f00b8c3441ee9e7fdf00b7de6f3d5c3471dc7e4dfdb176f05d6ea03ab62cfca301c0d5d7b7a1b76f5cede135aec49ebf55c97641e38b691fbfc4b24741e6d311e82103cdbb3d9bed5c7d62f63c697b87d07c41d53a40b7c32606ed646255366f13c9bab0e3f27961e3c8713173a6b23347352320d6ac6a0a4237cf217c04f5b33fc9ef64e99ce938db8ab1a3b5191454a858633d96f189fc3b1a911e13a29e5dd838f17e30c2db4725ef53c7a30f880e6e0640834a26ef6361ab175728e59e6da076a34ca46a0d789f9636d7be3ee3b003dbdc4ba680c75f987101d6d00d14918d7983f4b55c23d876ee3e61a138150769cf0413160a6ea8c97994979ea7d867cd04fb0186852845ef2a2c22f38b1bef14735898b420adef98c6999f435366a3622dd65c5843c62240cf7568be4a0ecd68a218b67fc79ed860065979e4d70ba1d3f17c39b064be33694c141fdec169d23caea48f6c911f2c69718b5a049477770d0b6e7b09eca4757ab2cd23dc187cb3b49020f7bb7700593b20f241615896a6dc0656a9de8ab0382a20260e59d473c1f1919bb5980bc835132652b0a436ac91c67c57ab538852d6e3914016c0932b149212286065d8ed93551b48a37c5d356672d23fe391fbd4db81b3543e7258f9a406b6e912640c830babc6250b97ea809d26990021b09afccdb6c55a233b3fb5690f7ffba2d5e9576829fdee4205f5f112e3ebfb1ece4e3b1f72241454849510ddff50d219918a61dd8ec0d678371550e683b34bcd43e66bc62814d4a5ca9d5ae49394b69ca27dee940402bdb6ac60f9e10665e65777daab156fa7bb8b1714e955bddc459280120d043c223bf82dc5f288e88c529874016111a28c1120d0c71dc10d33cac97876143458b93afff300b0c92e28754327a6974b515aec95a10a3ffd09462332ab51eddc2a220584c31b83fe37a28265cdc74392f49315ebcec8fae1b0f25743a196c4289888558b2c3f80183275aa0809a4291dc8dcd59066a76134387c37858ebb114562cb8db3bf3579782bc1e70a9dc7e5b83fb43140db292ce4e33637691b1023477de37b6cb494b21b7fa138b104598f624174a8c77455424cbf67038eb4c079c04651e51e289d6ce9b7fdc2e4ed7803560d60274ea27ae7bb029aff78065c31496b1f536d60b68297ad6470c489b516ce5d79375d22e608547e0edad2890821480d7dc8a0decb6a562ab943b4940871cd77b530cc22e41799d98b2b67d26b371ce3a28ab1265c769d7ed0284a92be8af5a916348f7680a4a2b2619c09c77e9079121aac15f021ba510745fad7a94d965ac86c1168200c1835c8d71040da54407bfd9bda7175db2e9803ea2987d2f044c5fceae20edfe60397971402c62d8f8933a40eff98754bd02cec2679333a8d84e709114ef10854b0c7b3506e9a1f4705feaa5dc6c47eed363a03bc9dfb1ef4022510257b37367be08ab81d648dfbbefd0830307467868236969ad4aa0315a5c90a839db53f068cd1481c548fcf98c3535ded7d51700ce817c2186165be1e636eefa523e154ee7cc2872b86d8a91fe3828d95eae4b5331f6893454881ebc47540ed522f08439180f12929c256e6ae858721b562babe0f5740aa4b21cda2f12f0783a544125c536fd7326e0e470aa2a8690f8caf73e4ac4a56e454c7d19f8c40d8bdac5bfe3f775229b6a3415f989259847c02fc8e970b3b14b13fefc471aaa03d30261f7efe425965ef9303ff25c983a6384e40f86e1cf57bc1d757eca237d9f9b9478f1c1e83375c11472c1aff8bbb58d4b4c26ddb0e7e57f7de97a08bdc12f89b570b8bd06a8c3e899886ebff3124cba07b68768f7fb8c3031ef3ba420d530b18a7cf7a0709ef4daaaff30d15593c9dd56aa082f6e2f56df48a94c2c2c0629a80f998df40a0f1eb683981609d96f8301e95bb2d5120389ecad96f102abdd993350bd7a097463c0c9a442194b5239d13616537c0c2a014c2045098bf668fd41ada3ab58ac399adcf826815ee1348379cb9c98f32ecd7ba76e9065677cd8c33a50b3dbcf4c77f10627fd1da4fec61ada4c8d5bb9b920ea7ea2a18bb06abf8ed0c6416eab3502805fb0550e1c72d6d70de403fee15d00d6f78ddb0ee6729625b9e5c683a926a8f45a6c8ef10b39465d5d83c9da08c883696ab251cc7a4a6a78e81471a64786353fbee5c8585fc5301c52e14bf1662fba94ccf5a9ce7247c65cc7e5c08d4327b85b7e723493875987ac2650596ef0ddf041fdd80dce870d304c29f7ccf243679422b519df73b0efeccc233b5af351badcce48b9c1e76658b37add17300dd589911c72686283c138b8a96356b3efcc1a110c6399be42e9009570a4047a636eb81287bff014e276148290cb549aec3d232df04ca35323e26660bad00b936ab0bfba10d894e044bc8f4bf8718aa009bd0d2e02d550e311a8a55d96f4f5aca20e33b61a351c043a747a8889966d2e7a4c3e8778dcc1e10faee0890cc3a322d1d8566801b6423e62f4fe3f554bd363b27ed9ffe5fc824936cab9bebbfa3bfc8dcf175ded50d960677df745fff832a532c1a31c660136f7ec4ea891cc576f54b65291b7d41ddc7ac5d8320f7a084108ea67b109e24134c51c1add3576ed979cdb4570d2ac6c0c6a70fc4f5866f322a3325d3be0018ee5a5151b4242fbd4ff4eddf91ad229e1fe9482ca66df6194dde09b3750fe65015cc8cb221dc45018f4a1e06097a85a077f862ffde5e8380ded7c94bd927014cc0b2ccefe64631362db69062c45dfa123baf11c9e75dd97dc56857d80922534ab495dcd8042aae4c4a20223fe5119cac484381fe4c1b922dd5e403c4b16b62d40142cb4d2bf2509aaaeef8c232c3491ee4bc7915943c1c8a9dca770f8796fafcdb5882d953c6927bd739d620a9836ba9dd02cd911673ec551aa257355f61290ec68ad3ef98260c09b811ec5eb94a426e93e52919df7f6699cd90d5e1431312f76664c8eb99d8bd517d7cb7c90d2430f751835964f866b87e76fca72434a598c17f4af91fbeb5d21ff313b7a7f2b76000eb474f070cc8095fc9fe174a42c4590b83d54426327d113658b960c7ff6f9214fd167502ac6b7c2fd1b4d3b508578a1be022bc17daac28764e123c01a9f9da4580ad618ed0129b7aa471e2ff60e73968d3e4b8709fc3ce6c125e300067364992e0e3a5c1097d91d1a7f155d6a71e6f2fbbf87f1fedf7db449999cc816f77446479dfbaca084ba5933ee04ce86e07de5a7de76236d5db04d6c519c8eaeab60c4795605da4a333c4143031a448a29b72c5ebdc6fbdf8c47c1fb8397171225c78842a123ac36833c95fab0b5304a789860e72e9b46424000a698f032e9a7b934ff065f29769319dcfd7fbc9d6a3bd6146b1e50a0882ad01b3a2f8017afd43741a738ada8495087afb90eaff45089d2641f78c151cf6f77cf7fb23c932f0fe0156e82fe15c3d2fb9d397fcb767a978dcd067e0b12612ffbc1d4dc338f369dc13e4b3bb6ca2014d57e206099f0378d490ee724013faaa97cc83ed254982c0cc292e238f1ea897df6fc896a5bb1cc20fb98352b380e6120a74c88460bae3b3aa1c52d87dc90c8522d778c3fc710190c34e8b33b7b32be55bd309159982201989ba8d0b484ce85edd0dcb7dd3c3fb5f9cd64b7f20a7f7b3d6d489b885e9afc035e5d41b4ee08a9251fe58c707ed1e3cdccab781442d79f6d01744e6d115c49db1a30c02992ab76158970dcf3898cf62cd8aaafc165a84854e54ac2a0226749cd48804494fbea1fd0ab2d58e1f456b2187b556672a7a6981ceecd30d86966badc11d2b2b3abb07e014857ad0f3e3516059e8ea3dde7b7db9c46d93e948a4da0b0e06d5b64272c84844be61a5882c152675dfcde7dd9f9132bbde3723943b06c52eb3a8ea90d2ecc45b2d9454b69df6f376ef47b0b71e974c67d6c04e8724dcb74c3ed304e523fbf2978931199a51659192cc63e47ac6e25683acdfb2dbb7dd4c0333071f7014d0f26805dcc9db299b954802478176db4a4fb6c533f65fd72d272fbc7c71c87c49c4fd9763f69bf1a3a8d0c63926ab1c1b6a6f60af3f2817d2905fa56d8d01d99bf1b56aef5bd72f9151cca85807bd6bc7daa8bf37d6c85505824d221102788f42cf26570d8a8b60fc9ffc40cbecd3470ac14c8fd356fe758c91819b75871c7488ee5fc722ad7b2d2f20fba39e63043fbefba161476dfaef50130e02ff230bdaf57a8e3f09ec9d78c2d2e732153b70603925fe020da9a9dd73b1f2e30239ff71d907315bb5b7df55327c8e0a6adace0dff2c3fc95b0d8c0419b722f2097acc0d961d78531a5952a2eeb52c41737ac843a05f8fbba8258645aff70ee3c1a6723d081c48630ace5e91c1b0ae65f79ebc2482cfa7ccbebc14fa18ca7262fdfc0dcae2f70bda93512325f1661cb4ff8742de92351a7ba75474d580eda1cc3e3dca5d89ce2d629fee59e128826b6b74cbd975065962e26cf9a526df6694b80419c6bc312aaa8d501a2133349aa0f836671584cecd00b8791e929b6c6078aec7f8d35112a641549c14d86e0f89c29929d958214120894cec3f57e1f364d3e4a61790c4a157f03b50f3f8dd96ded7c53192e45bd88ddf736352f9c9039eaffb014073c38d7c092426494355ce0adcc7465381d1372a390d996f54848513ce65f9f525a87f1166e846be338997e65c88c520f996044989ae4f39167e956812e178ae1bb3cdc25a49a4b8e17fb3b7a7fba5448c932c71211b9b06e502d1d3b9ce7ec3cb98946519daf40ba947b272e4d5b7063d5fa5a59d996cb69b4fa9479b92648769826ae42882d10b421b7151695f8fd362b0741316fdd01d62a456dd2137742975a37fd12276a2a8a8da4327054d935f6ca64c7041913825c56f7d41b05d023d498a17f3a3e631d66f1d20d8e6a231542e408159d272ba7379d682dc178b7f98d49cfe2479f07fd9baf87aec358128b9929d0f8672c78847ce5a082c41616d8cf9990be9c9093c5f3c1b4b42628829f7840013cc7b2954897fc55770b6edf3b8cfee3e8cd334736e97682a41de5cec05b64973cc9713de3dcea8d589d3bc5bd334f16aeb63e76c1980329ac9eaf364051a2f470a2e28706086ea972c7946990f4b4c235055177015dee58d1147c020b24ffab97a44de57731a53115c160b6de4c90b77830ae60ced1d1413050e2dde522e8191342afe5260f9f520adad88e69710dfe36f007bb5920079af12a9f4f12139426032cff5ffa62d29768a9cf68774ca185006e0cedcc76ba9ef4dd086f45a13e9534629ef70afecd718f0f8a1b7a665b775561b89ca5518a2917a0f1cf73ff3bfa8fb7db3def87f7c408479f64e2a1afbfa43dab3b80d9d8246356ab880fc891a39ada1462971230e22e48790851f7386b2f83400ddb69dd2c5c3d51fa8d7bbb78f366c769191c35fa64554bdbd74fb7a064bebcc43247209afa61593095d71bb5a71c2aac9cc153e88ac5bc85e22f570350a1ac88f68bb29fd1d828325dc19d30edf2f1c4c70431d8b64c29c916cba5510c8c340739b90e401c25576c86badb7ee9d55b1ee3fc8301e142be315894fb13893f7b26def8cc83cdff9c4c8171600450becaaaaaa0e2d3200bda94359ae37092602ced0fd1678bfce18ae3923d0ee1e35e239fc3c3530ea08d959cb081790db45e099cc805c3adae1c4b35b332493443573f60e4b4703395c5160e14730d94b524003ec72c16a07c919cafc3e4fec4c3521734b78e05f0c29b881e05419badf2161e53fd188125c2d702c0846c5e66bafdb9408f9a323b6a4b7a84f2e04167bb9813fa3d2e621d32393c2fb680ce6112f5c54b02e24dbef42b63060c05dc231d4d2e44c526e3523189548c00172b4b730eeff8afe135583e280bd9e0ff2d71a0f01baa2108917d4a818cf7b4029d58ac776db23ddc265daa3ca503359efa8157209fa448a0f7d36ae0bbfa668391b116d20c9d4c9656ce5c06d46f26b35ca9a01bb294ee0aa476fd9ca0f9f85861b4902bd8736921c9b17022b1f253d20aa366845100930dd83ea3c2b73dd3680de045a27d83182f45ddbcc2d060cb702d04c3e9cb32a0f530662087c3ff71786af83105be8c116db7fc55c765982015390fd2a57189eabbc37531f4a70ccd8de075b4881a9c2755b82b52644a8541877f40abad3d61e45c28469fd11e3ad52657b3f0519492cce520598b48a7b5c6108683ede891c466c14b3d4848d3d53ad3d0dcbdc57b80d078f58b6b82ac3da7d59a0a0966ceaa07687c9235c1cc6b0faefcfe614362eb32a3c403791af4ec5fe78853dd402a0c9b9fe60d187dd2694ab78ad4d043ac118d32670cf9d474aaaf0b332779c2b29c02c6bc72b1ec86f8ec5327db499cfdc9a9184bae0a55ecef6d797e28e0715bad3610e515294fae547fff9c3f912890ec60676a8bcbd949b517f54eac1103d8c2065d1f87f1e0ce9844461a4ba0a757f1449ad1bb4324dd751c8700d5b73cc5ac773ea0e1af42dc71b2a40483aaa93e6570a6fd1e3790c6df54c8896ae7398a52ffe293ca75dd7d3116dde33ca57295f59c5591800145bd85ddfb8934e35865d2132812628b25abe40674d5376785f9236bf09e0d487c9bc179fe4d5d36b5a689062f67a9bff1da9a3fc583b7ccb48b8eb9cb2328c483e8641a8b7cb20a6e269c4ce97dd56804919c7734b7cc0de448a296da407f59850c5a49efe6871c8ea4bca471d95e487685bf7411b3ea1aa8c021f3461b66a547a04a4282ee789e1dda76a44d0b54da02376cc66546165b26f1f0a586b1aed1c6101f83b443dd150c5dbf817882a52f1011c357da66a6101887a2742430fad98e9b508e1a64fe098685245a24c072cec6ebfa295c25d672acc2038ff3a58c81350eaccbbae785c9fc2c9ffb96e1668a0128135331d92bcad239245af9d8ae3581d415465c6cfe06a62cd130f47449c3c4dc98c5d10fb4b1370707ed0e57a6c16b564759d1fdbd054ba9af23179927975f9ed309506bfc8beef256f3e8863869d5d99890fa15e331e124b5847b6743400fe771c11885ea4521c2127110d42ef7d291d43dabf63015ce79aa724ac450eb3ebbdc3af1c9e8326107f378f0d2efcc45fff018a77078484010afcfc335360d8d9747cf5fd6b1addbf108f06e2a58e58447929bae83b869fe0c20d709ee33f34874688150b8bebfb815f63898577f00ebee0c797ed9790ecfbc9feb0a229fa3dfd390e2318a497b4bdb79432c99d92943be60252032303d77eadff7fefbdf7de6eb7dbed56abd56a3529a5943287feffffd75a6badf7de7badb5d6da5bad56abd56a4343434343433adfffffffbbbbbb777777d398994f36598b3990c3338973f70beb96941ccfec77ec68a2f468bed78f1f363737330906ce5c92319b4c89f14c9a3c13733070640c19338625173e72e328678f23f7a3e63e647b7b7775b0d65a6badf7de7bafb5d65adbdd3578bebddee7d56bbb6badb5d6dad14f4a4a4a4a4aba5e83d5d65a6badb5bbbb3b2a2a2a2a2a8a46a3d168b40f745befadb5da5abbbbbbdddddd5f5dadb5d6eae3e3e3e3f3f4f4f4f4c4fd4eadb5d64adddddda59452ca7f1bd9f402ec011dbbb5d68e9d7faf1f30708662c4c0e23823c773727aca9c9c8e3679668b52b6779f77dd3fefde7befbdd65a6bad8ff9f4ebb5ddf7de7befa55f3dfafd955e6be9bd173f757777dfdc6f7ef39bdffc56abd56ab5da0cbff7de7badb5d6daeeeebedd6eb75bd5f9eebdf7deeed63ae2c488415b5262aad19694681d5577eba2baa94eaa8be2c419392f9d1ddfd9e92977762827e7ec76efa6ec7a82d6c1cf5a6bad6dfa7568686868a8a3d36db7b5d65ab7b3d96c369bedb49ccd66b3d9cc5a6bad7517bf71fc59ceeb693aff483ccec3d353f2f04839a57777b71c67b3d96ce6cdf866777777ced7ddddddeeeeee3e3e3e3e3e3d63c6eb45db519a4c79629e5a03e04b79e2009468380d1a3d250d1a1c8f9ced01d0a84302703596271ea00211e00410d053124080c4e1eeeeeee3e3e333db3b7777f749a3e9e8ec7c3b3c1f9773cbf9743e016a7034d71a860c648ee3387cc31ba04eaa79b333eacea929e5366cf494366cb8e0728d1c8ea8a85a807da93c718d8fba06803df293e2010f65e37e5e276f74376e78cf1b37b8f19f260f27a594d471fda83ea0f7013f8ede565594ea66c0c7f5b87f5e67652b64ad40aebbdd6e377aa3d56bf057e3e356061c60e3f3bede1bd5ed76bbddbceeeeee3bb2da6bc1c020e58963663132608fe4441895e589678470344e43d353d2d07078668e721d53ea3896afba7ad141a698fa089398c306c4409588ea61c4517185ad0523a2c072c31634090944fe3f0a5f85070f595bc9d271f909a2331f931641a1d0fdffff534a29a5362880a4cda848102242477e821ca2ca7c7a8af23e044de986788a79d094ee7ac89a50a1a80a8f0a54e5a747108e054ae7e4078b0dede4673e893d299212c488a5366aa394d2ffff7f9bcda7654c4064f5898b9b9421414d968e8822c2c289b688b9b26002e2881917222007be4bfe4964050f23a74e5d642cf83042a910d2cf44a2484b0f0964e6c120f4ff2f348bf490a24bd5152340b8c8ae08994f624f6235f496a85e2216f473549d28a59452faffff1f524a29a5ffffff4e31780541f498020a132fc8407444911331a3a7540809c8088d494a67c894fe447182fd2f5292ff85aa14a5d0fd4819162a18f5ffff3fa59452ead424f323fbffff7f4a29a5d406a1557a1875ffffff94524aa993939313ae41aba0505300f5ffff3fa59452ea3e38edb1445e3085a94a0822239ae8c288a22f2d030a62412d062f5b2c4191d1b454994555f45060052f4e5c6e30faa192050621698211104fba44d1c38fa22945c88e00c102a573f283c58676f273a18a8ee81440614c18ba135566511021212875228c622c18716ab3e11add111dd414403e4495f9149356b8fc10f9991457a48e7c7122e5e70a1190d9ffffff534a29a5e3e31a96685ac9d271f91160c9932aa0ac64810416079e3ee5278a929fc887a06aa3369b2d02255b15145a94202fd82e1359e5a7c7ff7fa534c6f3ff4fc4cd27071eb4f8210b181c78ea94df56f424e658a78590cb18d7a83cbc970ee12b89172354b42f4d554ae1cb16c2f00b4ad8755dd7753a4c30ceb199b30d01ca305c83c836a4ca364448a706190d558643100de993acc9134571824e0bd526a429c342ecb12a8fcb81554a2bc74508f7967760d0dcad31c051812001aec6400fd8d35f057bac4c825756d53ace24ebfa7e7c1e0d4d930d952d79e29b2c2f6050c1711c9c9e1207a7899b3f62b2cac646ca5ec826796218320927863c92e13264f4943264481c3dbf1f1d75d955fb79fbd76bdbffffff6badb5d67befbdd75a6bad7577c73cd3bb06ebfd7aedffff7fadb5d67aefbdf7767777373535353535f5b76285f55afbffffffdddddd2b96b7ecd77bffffffbfd6dadddded82a101a3c38c1e745ead4458093987873d518239fa5e90599882397c0218883d0cf3a0f36a849190a3b337fae4b9181cb9c9e3d883ce8db90b3361e6f6e942d8782e2d51702d76f1c60b431ce1d83814592ccc1a39b0a78559a26350fc5a2106411087e06827b839ec78bd96f81a49ca173708e26ea0592208ab99bd5147e38b251881c4f7626f84a7dcc2ad11b6a369224b846117411c8a2c96383328c256e3df8b3b10617284279da7b03108dbd13450d4790abd115642be98c3b01d4dcb1ffe64b6f6831b4c849903391c89a916f28ea66510a42331c5444646b2acd4a891a1bb0711e24620bc05fd2b899089102d3329e12ccc1246095b99b31d51c93573b623262ff23eef4a9b6b4e8cc4fe359c3c3c187b2cae83984df32e33a909db8c962c577d4c8e935c8d22b22513a1926195c82dd7cc39bb816c44b2e8baaea394c8d027a4d66a6d11da0c2c3295619fad88d4578bf11591599739db110f5b912a4e861b20268390b31dc932eccb93c894225019568b50c9618c0cb780edc847c8fa56e003abd50aec114316f840db8e948e92260b07efe5a54acc46c45f99b31939610443b805129f234276e4c85713a167ce66b4447e4aa951974c29edba248c90c86e33ca32b18e6c82940ed0a85a7596aa94f209ef61748238befc8d1c162154f6f0fdb087614dfb466f84494cb15fefa0f9b5629d1b429927dfd134ee0545a841d3b20eead1d1abe2b418e679d2a2604dcbd41ba98fe7281c5f962377bdbacc7b4d85929b53e16b2aecba0726cf7303bca6ba67115ed3b2a494660e3efb189bddd8b3e4c61d54f699a4449b48ffffffffffff1ded12a0945a7befe7f6ca7abccf3f17c115cb59ac9e92f57920eb73310c3f175b2e77b97a4a17cb0b5b608f4b52c17c2ec6b83e17bd18a418a5dc5886967d22e5c61ecd44b2993636ded266961d57514da0e94345756b62827a6262aa4999449a4921520837e5379792a234011c308e29b78b5d8fcc14cbdcbdbdd7032f08f694a007ae56acd517b66eabd553b6582d970bc6f5c55c189999199a99afc6e6dad8f49436343637372f6e3e18f705880327460c19313e2c5e51ec29c59af37ae9ec8c1f0671f48ccfc51cb047661d4f47a70313d730c6bb845248345c0975f8ccd9907c88e2792ce7aa0e0e3e79a6d49414d54d6a4a6a2a2d2931d594969468edde75947e47e97fadf66bb5d6b3f77a1eb8f2d5aaa75c71def781ac6fc5aa65f1e3443985cca109346313280b9454145416a827259a4c924855541248fa505551dd26d384ca5284714c1d939cb3dbbd93b3dbbdeba87794fed76aafdfdb53deafd6deeb799f5feffb4070b562812b162b0c5b2d178cc3c0f494302e989818199999199a1aafa9e9296b60603e4e8c017b648c9c75f522c71c43da79e6465807797eacd594cd75b79aa301511e375bcd0db025c36050a92d6e019967c865ce36a322abf964922073ce6e17910793395b92244a29fd9f49513f292b219268a9993c524c8285eb93a2921f168b15865628662649ac993c4a86a05142f3cdccccccd0f48d12994ce66c4aa86cc0a01b16d10bcb04c68d139c56530c9bccd9966891519339db122ff893482988372bf089a71334e382059b203d6a96085d4449925898a121090e527ec40801a365c895e40920ad2458fc087f52600905ad9288c02843be2156f0943011e42aa11a6283842a51905fc224688913224b9a54f0255a8c7a8917d9444a41482215c56c4848b9cb9c0d09498685d8068aee674e1cce29974227244664244be4ae2a4122850c48be3c3921c3428c653694613854627684348361caac8659141e33a68ee82924227c215c0ab1130a18e7d42b19866bf40f5362d48a8f8eabce6d09728e89a0eee543080b910001d1ccd990c4e897188f0612ebbaaeeb213cd2e4878987314796b20c1916627702fcbc6beb4f2cbb068f9b754ae759a15b72cd112672cde7eede755454fc7fad4880ba24deab0b1a3b0264ced97de4e80891ed48935c3379be782e20b29534b96e6e499eb867154ae59ae3da7684aa09c90eb9c686c429fc2ede8b8b8b3daf6137b0119e32d8c3c22e7a3a2ecbdd718f238cf3603b387c45095aec710b54e5c6aea9dc7885bd0824de207bd059c70acb606e0217eeb14e9e19d88763708f3098b1eab820f6aed8e12cf9e219234d3942dc2cc7b74776017a6383174bf06116ee3b8218145bd87128c246789a00c43dbe60e1c6d7c3fe8235e2b8d8c31ebe38c4de6da0430864feb0e3d6b8b345e877d4f161d6a863466c11e6e3088e3398c3332327337ad0d9856302920aa8146e1cb74e11860002f3180000c25018c58128cb82a4f3961d148008455a4a4a5826362619c8c2b1389406831886621806400088010804186518634ccb1a00736d6fcd7e6e375e7cfd87aff36a6ea6ac7de32fc9f31b6a37105e9cd2a301814a4ef59c1c1ed4194461b0fa17abcf3484030690940b0a646881a4a14620085df1691b3b712fc498d13ac09dac45168594fbdd06a9bf372c6c2b49a2e42e80627c5e32ebe4be10256e88d6894d25150f91ba24d01d8eeba868ce41a873839ec8f83b834090cc4ea797f6d9add45c4302382f90dbe600b7a2cf10c95c0be52c99676ee63b7fa50250c9040f3c3f68a4129f6ae83cb0b8da9f91f6d9c9a2d7f17604b06d2993d1e92b2116ae21cd089afadbb0d9d09d680125b81bc6fa662e12f456e14a22a10d1bc759b3b46d63eacf25001eeccb16d5d6a4645525767041e305bc39ed4abe4ea8b34fb73e21e9ccdf0036fcd865b3b86a06d6a3c2d2572b6dd3c6b34efb1060938298f6872ddadf2e4d5cd986ba96b18b8afe80b5ac45eec4e6e06ed7cc7d9d5b36d39a38aca0acf6cecc1fe90d087803e301e9e847a0de47e1792f3c265e16d057ea16f45e5861d3401923ad3e68f74dedf7e4810f6962ece88b899f0dfa3fde4e10d1a2aca46d2d6072ad1c87abd553b192c78fe3d0a507abfe337ed8a633304168867be0122b3ce434ad201ac7f2d2936d1f6a85bf4b6b1ccfb168a870df7fb905ebc86540f368ef833eb181f7b1cb285652c32596bb2e3a0c170915fb839fd801cbe40af8085fbb1ff0cb1db0668e67b1b21a9698dc7791caf8d140f8fea7dda8ead624eed9d68d087c684cd5e95a08d2e750f510a8a8778bd2ee76a35ee79dc193fe12a25e8a605efa51a90387b511a52fb026e8436e2a7acf898c1e4da7b4ba6c2712144bc9ac1e5a9891aa11080aca0c9525d6038ec917120c846168205c5c687d60d1a3736c9f1cb6acf23b76479d85fce6cd5890dadfd66129680a103cf969058885262056878d58aca1183842dc5eff478550d2763c67dfb7fbfac5d7ee3602f7880ccc1131536034cf744857e9476f7ba10ddffac04de8e8d350b0ce5ba9933052be8c7c790e10781bd51d747267c40f19994c5f10f39b6eff9608847e1918afae0d216ebfa77d2036a7bab0aed26b1f67c557ad8043ded5e36eb1f122cd56ee94698f706b64fa0a2ecdfde4932a102d18424837d6c8f81a20290a769a3177768c3c88e86e997914dddd33b810ae91be06c9d51dabc096d4bfff13ca926887acb8685bc3b0ff1cc1d8b63855fb816bf03003ca4cc5f4065be2812fa93d3de2ab944a31f25a123cd0180b40aad077f61f1e59c14026a870edb2ab935b98e3946b134e7b6e946d17e5ac443348ad63d94778a5ad6163724b9b61621db367d834152c4c6e689461d29a973942a6adc0626293d168405744284ec24742b74c9bf79e2cdb9e865c4c4db0030e342a07c3c1c2291f6f9648f257e3e382fbe5fc3d36ac7a2a659f836ff09677ece3cb4b9444f94250e77754a65012e90ce71bce022390dde8ef9e78232f81697824c441b576d4c0568b861bfd24c031cd081338bc145f0f51d0e47841b3288ed5724f77215ffcc5774997ef035a135629361f988c2fbb89765ee1f1d0e633af30877b56760cd465a95b7ade192503682c7497526308b57d959baa49f8261c1bef73e2b25dd430e39f800eba57bb76df7e12132c0fe605dcb3f1de412b7144da2159da2f2f10c662e1deedd630397a9a43fb104836be1076a2beea01e69a51701bc561d7fbc0e7b6cd1a510378a436409dcd296f73a323f51000289d8a2f8d222f6371bbb501d2c96a65821d890a04d30b0fcfee2c22c9078fc1b83b95b7a34935f8ba2f026fde5a963055778536f6fc0e878022de698bb558ebfefb02a4eead3e4596d48ef2bf83a01622c655017cb2cd0d81109d49789c0fc6dabe936988fd7b1b92797ec8fe5d4eedf8acf1ae0cfae5f306708b09d8529756c9f8c24b3bd3409f0539f9355b6e16f4042ed0153ccb7478eede90b7e7182e286a67098cb8a8b326a97254e21dffafc76469f74c0b8b844c7f1cb6f65fc8ef70bfb58e6119488912321da2072d7540fb9f61b8920af63d255fd4ebeef1f0345957ed4e5ed6f76e935c917d77ae5cd08fa724c362c75934e31f807491babfcca11b397bcb748eb6425e555b8afc1d588215cc09f3ad03fd2ef724498de892bede626cfd34a612b90bc2d61c07761a18a616857decfb8868971dae2c175844a20ac00f07a58be129a9ba13b665b3960d7f565856b656c8163794510beabcde2403ff27e5d3fca9eed31e2b27a1f8298af7297390a12592e9e6074aaf01a72f4d8fbae94b5424093441dcbb4eed190110806386f208f8e71f182ad7a4387a65b1a6d59f203343b6edc5790a3380326d9a6506665d6d1d64199d4f5c5bb085d5bf7b5db7251c504faa04bf942f3e7d99208ce62f2c440dbe7c23bc525e79abdb5ba0c2a8aa74615b08387c1c948b59a6ae9f673d6f85af702b8b1c19a5f67ed09140640b49c089c3b37e7ea5cb6c373dbdd824d3434f6dd11ec64ce8b3b4cf3eae88002f3187ab1bf2a7d6e1fbb0fa3808ed44398cb87ece858d09d7b63f40e5ae175472570208c48d29c41f75edc13caac38a1f1e169f6e3427ae6a232e39bf7695ef675b184127252b4a890614112f156fc54576d093337c7f9eea883ed805c512edc16ded2318ba5653457c2853c39f6a355dfd6d142bf8a8a685029368dfe834f5681a6792f6eaae1dde42b5b4786bd36e6971a48cd6dc2decc5599588055173b8c082b42b3ad2519f83ee5d4f64b0fc57fda9adea540c276959a856a3ba53b074fcabb54ae215336fe8fcf64ce7f975ae4f3b01cab272ea4691d221da49f360508710438712b84e39eb9b76e807dfa7aa06003c78ee641d558b18d7f3c6212bd9f6f632ab705c5708c41a6cb837ae1865aa4636cea5b5bd709618a4d00c7c6b1416acdb9cb9cc8cd25a43052cc85a8dff6a95696c5bd5a9476b0e74368d01d4159fa856466510db8ca8e9225cf4662f56452c4e68c852588f02615ad40c9200a253ad84160974ee7cb79419a3048eb6a6bc4b0f720123958d49867b1f0aa15d7a7099b04883b9953ee29522744c1a7200a022044262b293d56a09565d4d5e85ce4a28659c2af8b08afc47bd12788c3a912903a2334229cdc592f2d628b04e59738285cb6ad5575a4997014bc8e998132d01fb4bcce3802e259dcdfd27a311e7075635cca6a2d10b87c67aa59954bc9a32cc67bd8f10035e0887b05fc86c8120799d74272c201d9cf0e8ea675b7cc97cc48fc2faf7a35f392a85c8407ed4920529588473168ce390a3c1e33f756c09068f907e54719012b2bf56706e62a32d134ab39c1c37257ef2863581a611d692d86712afabd5d467900625f2766b7a810cb42412c20e471728e14775a6613fcea1829012bf3a14eccf91630a539774e4c011072763da3930641c79e85dca12a937c686ee0c939d1554efd6dc1047503e436172426d5c5c2fab10c675b9406a07b8c334dd4e2a8fc6349ef4fd012076162a768f443fb73a72fb94880feb8a4b41a63ae35740c3f8cc81051d97954dda8e074839c99e8e39a334a8815a53bd5d7060779b71ff1116553d563c752e66c553efa83cf64b1607a41270b71f6e0c81b64f56647f99780601e1f9834ee96b6b571f1af060ac6487958d2af2232a20ece14de1a949fb5c322f08728aa38b6dbb3b876517473d5e34bf5ad0b997243d4c76ad8bcd9cd10238a18eca1662bbb95f305e9c5fd924e0a101b4544d0052c699740a46beec607e4bfb9a56020714fc4dfaf7b588d820b4a59b8b4db99b3122ca59732f70a6b8f0265d8cb67339eeefacbde5e6aeccb9456824e214a8cdc378a25acd20260e9f39bdbd350edf2dccb3f205f38091de6f3b22b4e5146c12453ae29e001631700429c3c10e6694853c543d91e0802857229377238931925da8df4401661add736f631e2af9582a517a23fdae28806596a69c9ba054ced388ac02b304f22869475390c55071a25cea3776d37b960a427f977fec5cb72ec61c5be2a7a87e7e5d11a18b58efb5d161010c88141116da3eaa49ba7dab9b12619bbb33caa608b749c2817f87310c64e4ef4732d34a0e04fab1f178be04d5733d5e8859d94165bbb18c7267221f7ca9ce1cd48c28e71bbc4e7067f620a79abce5966866f04712a76083e77e9569769ca7af07b58991b9a9feae364c91d6d7bf63c6ac382877c210ec23afe6b6fa808e47a37e9eb3079de66ad50fdcedbad0a7009be472a9ce3a0c60fcff952f580739d5ea05815100bae7214a1de42af19e9d872ebb83de5114fcedb1eec6efa6fff8665bc60770dd0fc638f684991349a8720278a47688e9fac8d95f538cd5cd8d4c407ea735547025f5cb3959709dc28aea7b235c114c731b1153ab5c71a0613dbeec38dc42eacabc0a4a5091beb093aeff8592d14e1f3f8843a313beddb1f830ab7216534b72820cd9754fc8d9cb2477c1a6415940d107c92d933d3291373456a166ed50b839d71fc13ad93406fb03cee13cfcd13b7a5644c636615bd9388b5aa06b8b98265364e11a3def785f96497d3dfed1cd9c7d17b8548386319be970e863ca1d9a7043778c1202ef75a97cfd1cb33732e112ffdce8c71565465d938e53eaacb703a5b07bba90685a1c65bf6f013f15571026b3b86b3f072d595538de60b42db7756ea68a29fb933bf99a0e447da1167e5c5d994d73ab237fd4cfa1dde404f30cc157e54ac3d2738c6b2de090c51b5b04256179c6e7d4a67dcd26f83a84823dcbfabc66985bddc009005f38feee3bbf5cfc2b5d87ea1d59f67637eacc5fb7be6b3b332a116d6e0d96a7fd1e01121ebb9ff1e614814a6bcf1586baa2a579869877fbd7565070e883baffc1eae61f4a4b970e73c09c2465c000e280018a050c409c70eef324c3a4151a1f7ecebd5923fd93786232af0be7b6ddb523cf7347b5d00c47bf4a9ddf3b2fce0266dd785e46522fd9ba90c96bce0578e6926e37121dcc35a01176b6b5a3057e593772c81a9c7212ee015b807d0c6e6c2eed063003e83d0a08e6b035f4d20c264193eaf00c93df602a13a12413f829e85b5682718acb060a20d323a39be51ed8a5159534cb1d1c4ef1670eb262a9629925d5050a2a1484e3355e1d7b932680ad72b00442ba4a9d07efd9e7d0a1d1a31cea45660310bbb926717ec602e63a51c7c1367f87583c68ddb19a25ace8800a35af4d5c926dbd9b556387d40ea5edf3a77f5b0fc8f882b152b65431947dbfa84b2e1b2bc43b4fecfcff7f4ca7a4713b0e4cf9ab2a18644acf04275aa710b88918523ebc616b53a4dee2a6eef6229caf55370a22d72706e49a2ef72b95598a1245ee27852a37d748cb477dac50b8e4de6c4f750eb554ce909310ecd0e19481eae5dbc24283fe86c778bb2a8e32232100e7908c1030be8e7659d48e4fe95bf81e7113a0c0f843b2a028c9804080f795d9e1ba79a1fe266507920143b15e4d93191b0e7088d73b0b9454abf5b491711f1aadf78a0ad9d5c986fa2d3137c015ab813bab909b0ad976473ce384d20c36303e08480acf908ce2c5f17653cb27293bc0e88f35da03428782cc168107313a73170b68e75f283844880047b8b162999c92f0edd55d39e6f588f81d58c965f1476ab1e5f836d04341a3fb6b2200e4a333e161d3ba8628143a942f431f1216adb868db8532b839fad6862972495c5e2449c5a6b5ae1627d2a7ce4d7c3ba46f3c55ddbafcf6dd64a399e56e26e645d86810ade5b95b6ea65e13e4e178abf429280528d33c69c02d225014fd001fc62ddc45dcaf01731806fbe9ca7ff2657c7af0cb0de3ec10446eab005aa9159472a5b1e518e63e192b00913cba109169b60e8e0b110eb5f34f6ecbb5399c72b809214d38f3b23d8b880dffc062e6dfbef1de2337e61aa98fe8bad370e3cfa0b61ed107a76df852b3adef4f2dbfceb4c8a505ee2996d06b534a48551bec21137057751d95c4b4a8f2afc4b9c1eaff8a73e7ddbf35423ad04db9956734b50a9e1e8bbcfdf8a3cb620ec5b100a042b0bcf9d1aee89dd9f80dfa750fe0040329db446ecff20bf6655bfd958856adbdabf5e30c1e8fb8f656903e91a46f34120d2d749b104e150b459c0be7205bb0fea1087f18f6cdd8bfda976a29d46709aacd72630d7f7af1e5d446c5e0733d0b8e0ecef4b8d3e30f0925c693477b9736dbe7d0bd09b6a5f6f141bd0876f540b6961656ad1bad0aae1d6b3587efb9a61e243a0fbf3115cf733b89238f6c5cda568f3e1c2be791c21fcd813adf953de7410d129e0932dfce92de9032d6baf44df87f806e6642c5797900936a96849285c2573d43292432faa6eebd1d55667b7146f9e431f72597b5656737b53254dd5a43a3da699925931b0d7633dad27fbcaf67df5fc29e6aa2aecb77626b01f7552644fb2a1085726cb9777bb037e1b583571180cc668922253ceee4fd140b255644e693c70b8e1313423e5fe171dbd478220bbb52aeea75229362a2a8f3a07e3e9c4975d50022adff2bbf4a97cf1bcea92268be81eb243c95f9f8dd4cf01579e132a8253af5690bc073961b5b43150c886c9b4df4564e4636d5f2baf76f10cf87bfcb04c10a93fd7dfbc330656c03bad89e85aae2960ae840038fa8c0973927b6832646421d3b5901504e6b0a1e7413a5573be405cf212c2d11565f168c0aea30ad6e116769462bad6f573bb9a7b3f28db279ee222cea86bc57d3c56961228408230f5de007518ea0f81268c672e2bb854be08587abfd8d47a2289bffbcec28ffb166f33fb59e390960890840707f7c48db7261ca9df53346d2f024dafa3b17b7084351a30fe7c9a13853e1034e0695792af30d29902731d45bdcb334781f395bd2fcecfb4811de2b677dc90fb6d5807fd612d086c7266b49196ddaf76765957cf14d363931629c838b8e268a7e54f0a5b3831ab0b2e59fcb40cfa27c50c7c2c2d570c35f53d0c3e82b72b4f648654fecdab5195057a5922f937ffb68389b683c244ab659186cd4e565dde540c51d1ca616bd33001491499139029c4d694ce18a4028d68c0d9587400417d8b5d2d0ec154a2c5d15d45415b94f42ffdacd22c8946e8fbf0f1813a846a01fad29437f3d79b57a4a221a4b485412bb5acc17723e48fcf5f8cf028ee7565ee8c893f0f4dae00271dd447a5b761c4dd7f9bcde4523280754f82571843932673136d0dd42e660366275e42283ef158996dc33a0a2f59904d83d8169ae03614991d3ce13d6403a29f00ba8714e94a3f564f3818705a834d447feb9f0f0efb46da6c6bcb4c856103f734f5e73dfe78a06969ba8b86e22b8368f6ddfb362000868630553a54e23923c313b32f5319579282b17609f801f027efaa90d582c9836ee3d5a840f2031cdc6c76dbbb36552ec5c0ecc86994a002a29b647a3d69ff91f0e523c5c19c44de996ea33df5fd94695c1fdc9077de66ebdcad9eb77c1f538f7314d17b3488bd7f31e58235381eaf2591bf90cfa3e57caf939d0317f3491fe37ef25997437a909062c95151afd9298ada5fa8bf4ff1230e5a791594db3755128fae621971fc93740828a9cfd4d3d9955b8c44be2c209c4a4aa9d5fc923a61025ddb7080318f16b9315c050c4892a262e01786e944fc1b356e8851e92a6975914b7df926f047fa3754f16a281b65a545c46701059c91cf5321691d5e497a39683f78494cf508c57ec91e460d391fea19656a9607208cf168a5cfa7d08d24fbbf59906043b544451f477184ef862f7c9b656234a861875dbad4911f5402be3b50dfe9fd38a8c39d3b543105df0c2e0258309fdce878b78e9dbc348bdb9f3ba3970ca7a4d65289d0927adc7bce73d9ab5522581cc110e238216e0c9257ed6b0b7bc0b52528733abee048666bb2ca5a30d844cc25ac37db105e285fc6caa81311f574ba9a6ee076de58950d94c928de343e7b66f7d28d99da47956fae024556e707277bacd7deb17a15caa8b946baaba34f67f209cf9817c2140d2634036fc80889f445a575f6b604377a7aff92121074862fd2fd1a4dcf301cdc2ac85f28e34f7ea839f877f2626f2bf9180f8761549e30ac1c8191c50c57a6a45e7969ce96e73ed9edc497b68dc4d5a35373c170ec3527ee6a0d8190837f1bcc8030b5cff0bb339a6470244f0e689b12b669bf74ba338b4e593f97f3c239d09e97fab07da1267fa0b57e211222b7057ceb45243343472d80261e0100dbde75dd90731ac19ea2893387fab80801d9a94ba239deaee8ed962f860c3dc79a6ffde00bc688b9694d03b05a6aed5b0c6fa5d0b0555748859163b391b31dbf0daab4e85736c59c81d1a1471d4e1a18fbcabecbee313a8fd2c36415869b5758e25bb29f8d37e007f70346cc27ec23d43a67ef06e3d9f7b6aff3d8f042d83d48f8cf5b00e6a10466bf24c98b434b71ce35e3fe4d19f68eaad3bf40e24cb8437bc2f934891059b2804af3ebad84a0a17f44916ad368ad3eb4b95c8298806d605bf4085c371923b01cc7a7481ee2eda73834c5c4cb186c0933f4dd44163ff5a4ebc5b1be58cb15cc02951ce4c623de2dd509587acb51cba979db1119cc5c96d501d8858b71f1471529a641610eb624edbb6a5147506ac7d1d587ff2aa9a2ed7ab8fc345f514ad29e231dee4e20880f2da1c57416c5048d600bf8b08fe3faebd0e9ae2e10043c58774508f358c0194f0fc3e81911ec00d8885661a6692fac740a79158abfdda9bf0e7b1a57a7f5e8872d0a4a4552051370ba711c8390d8746588ed294cc88b822a7f77c74ee4ed10364a315f54c2fbf3dbbf8d424556b07971dafec5e813a91a5f3c7c303e25521b3cb45747f156b1042de13745dd4b3d8ae99241692c959acf980b7cbbf22324f96a349591c0755d4bab25a5655795648893dd311a29c8dfcfd41383de40ed300311e3afb3ad777ee9c751bcee821d2f3d6cd374237a2890da04f4a18f82cb5d42a615b3d6fb66641ef26b261f980f654a5b340763697355f3ae09afd423c3d7ffd7c33c1b8f947d95f3cd38c342dbe3d9215a710fd414cad2d5d573ae40026b90fb34a16789e921e679199630aa230c5efa1b458ba6253b8bfa28b9d240f573fd6ca8fdee49b0ea8b33108a747c5351aba6ce0966fa44360ec2733711d2c0d823467100633782cbc56dd3c572028f5b3772e637f29b443f8276d811ed826ad8b471e2af01c4cfee73027137513d42f1772b8e38465309a256ba91e4b87cc00a6a6e0928225b3cfdfecfa82abbe47602f5f7bff534b5238b7b624176cff9f0561ca7cb91948d1851489686f639e4c74277b3a7b629d92708ca8676575e9e9b9dbea4d3cd804a8d6e089fd924514fe99d58831e7911919d75a3bda9d2096d6a73509978f3a1a601813bd9b019b97469c8ab183018e7936fb2d14f72ef8f84b396e2d8dbd402253c7e7f77e03c44df938a8581bb576976b34e075e56638358e07a412235dbfbcd88d8f27c84c4b69d18c75103928ace75989780efdea794bc7695fb309f7001958f1a4f2b7318216c60efefb4a231bc85b9b777fae381c06a65c4f434062cc2f219d472c680defc6e2af775e426aa994c6af491f4c354e27e8c595e2d5fc98b1475a696ef651803728bf158056cb25ec14cba288770492486416ee89fed2ca6cf69ecb3cb9186440bd10f0ba7a8c3205deba24db4a74fc3d683a17484d4c00abb5298f5de60dcfb6b195a8d02693f5a0ba05d558b9ff1bac5dc762901f2e1aea2b9ee8e1b6e24118a2d7458fe40e1ef3c486d9a92d0ac2d4c886236f37d2c4aa7f0d0921e82abd07dd73f7ffaef4a2418f4aa9b1aa641c005700b421a0b4f1f0e9e007996e8e90040ba534c6aa587772baae57ff0de2d284324368320032fc1b228f71ec01574e89c642728a3a89dfb2716c677d10f4b089d796f8d20a71b3d2142656ce40b2dd9070df7e20ce9155de948f963fb6989ac8e38633e4011b471e62ed58d6105a228f14f4c8a54870a8b118c3decf10511df2b028a67d7ada5f8b845aa3a65a650c765b7d2f7a8a21b2f83ef63e50084266eb401bb57540dbc114b5a889a9260bb891c0ae058c0fdc8f210be34417e30268dd54eed0c43b23fc9be836379340bfb7fd64e69e0b94719cca04006c85c89a3ead786ae58376cdb8cebe33bcbc63d6ff9d13e23ecea63a619e8d4832d7b8204565db7dc3207b6a620b9b219f7c8be2f39c03478de6b1702f4a35876e0cd197b3dc12aa5f883f79b4715d65e5ae07a5f27629848537fba788ad00a6b22f8e89d22eea2f55efde194c5a36d3b3c65fa43802e4e2fc9833cd5f526f94a6a8d352c1eafe6cc4a2763df95bceb99f29eba4031a2f0a1e1e5df76d65500883a3caf4b648eded6f4c45885e1370d92a325ad1843f10d36d97ff7743ba3fbc63adabe918e83ef651a27715c1fbcff24291f25991b0c5d4de56038a670e670eb614cbb201b69594bcb29bca22ed8a2b4d29f3030c48a879ea8a4696c43c40e7bd880c3604cf191d88747a8337ac3408f499766ba0ee6e34233c5180093ec14498806e516b40529b456350654d7087355e05b235081fbe16e04bb7598e2516ae396d6aa2ac570b570b43ead52a9c19d96c4b3f85565eeb5f13a58549494a9c4c42c919f2d750a31b573f6f267c1c5b7b5e1c038b0fc7029d597753b6425938abc7c2ad3ca624ae0f90c134d59d24d6fd3286023230039ae0260c4a52647f1a9e2788660d915304bcbc2963283581033b3b22cdc01c0ecf24bf19c97b34ed7a6f3526ac57313b1555a5e10eb2299b4e5098c27dbe32c9d66b2c9c7b48bb710ed3c329450a24eaede51ce8b2a6cb6a9a6baf207144412055dff6645d49b64999c3c3c2bf45edbc15ac1c81746b7ac01e70c8a08ad5445df5466cc8bfc93c5cc99fc8c5c054fce1d75b7e5693b64e579ac6a2fad345e00037dce39daa5ffe0c65f33098e3f421bfb1efac9493aafdc36b1fc411acf2a8a9ef5e2b506a4e67386c508745c3fc51ab218e93132fc2b307a9dc3aab74b05724dc757c14178fafc87936d2ff614cb198089ba97be6fa7882d404da7b98f684929400110e7554ac99bcc70262c7c26f7973765d102401ae85cf06da56e773e26d33395a4912a5e1e48d2d300c89229f0cf713180c80ce9461b0f921e04f6a29887f6f29d8be18ce3f7119162eb3504732c9be73e2342b4f5b87e8174874e6e16759531efc4c91ef3046b4a6ce773901a2094302f967ac26d45e4939556f5027de135d085393d58ba0288a201ea08531b320446cbaed3420620630ae4366fdd4ff03f7c223653ac897474d24c0ce0b39637d88d86e20caffaf16aa4b06857217854cc21f8af935e60067f477446f1a5c5b9f63676363a57fa1b20cf7f9be69d3dbd3ab8c1d22e032bbc3bef07cf88fbb9dc3d5f63375cea1e358aa93da09decdb1301d0532b12bf007afc25bbb518239b6141e04778278615ca10c6b267ed2322581b62abf6524158ec9805e61e8cd5ca520f6bfcdefab5c171b484d8237175ff0148544d73b052c976f210ebf224b8cff5d9ca6a5bef475d5cb9e1005a2fe58d124897016f70c0dc301f7d93ae86e4d80f90a88ea37e210c092fec0a214eab0acb6c9dbe6d28bab7d62ae5e42a11c18acf8bc73c0cf27acab4a87ef54bba88be755a0117692fbb8c8213ba5700d8ad7267571bd3f056f32e55e882cb19f6b6a21dbb8eba7852012de81392f76990c2b92cb4b18e1ad8668f0a14ecc144b9042cdc535a52282d0fe9e9269be820e4f3db48715397a2241afa0ea3601069d3c682d34261adffac32247171469ae172229dcdec6b85269c626632d0f42b88f7be1acbf212cdd361d5b813429cf3e92ee113663e537f4bd958236dab1c080877b58a2a20160e1f7908a7c2032fbd5bd1c8b58f08a7d94ff85c87ce6bf159a26387a6081a6dfd8d75457144818ebff5d1350b771a7e47d2359b5d5c7f9623a116f31c8ed4c208417df0d829825743051177036898fb0566fd9e034417390fa917a4a8324204cac9c4c89123e41dcc451d0380992e08cb9073b4520e0de2437171e81442613e6f5e2e293d33f6bc3aa94b9c18e06579e291559faa18b7b431a58d0ad19c4a10950a029d922fa6968dc42ea4137c23944448646f4d89f5072ef8fca7bfe0cac190256b05c037946be38449c77f479b7f6ab8ce84e57c3778b7c55e9904456999506d3d13368a7d0dd14ec5dd2905a2b511d98ea1a856f7ba03f4303be61a65875ae5683c60c28760fe3d5bf5e40fa588c30260f69213601d436e32716bcfae9c963f601e445c2f26196cb144473ac527a7fe513de0c291abc66d7d8910f632cf960108ea823adcc6fab614cfeb58fd29902865f3db8bc7e68dee1cb366c2432dab75a6ac1a052b9bce0a57aab3c56c1faa2ce0fdb5b7fe19fd810ac646d8e8ee9b63e9ec0dfbfac7c817db921911eaeb03e005694f4f51858668b00ac6de5b28f29b630766fbdd4300a458acc82fa9034d25ef4bd7a685a800910cb91c6bf94ffcd1d9bf58ba9e156d59b378c00d74d07a0255bbb60c16f4ff32bf73ed3caa04ec7538fa4f0f7f3541d0101f8cee921d2f166da0072152a7a36204191e373b1235fc1bc038722c0238422615eb77e5d5ee7860125a5dd067630ec0d2f685440ec08c6992174e02abdec5cb36ef55ad125f8c6dcd3b330d88f7bb5e4ae05172775982855f7087215d91b95568b883bc1af132107773f204219950761e29260d9a1270840a88516ffcc8733ec1c20d3642d2735c6d2b98101bf98de6ee36c1d02ca5fb9475e605415511ba0d2398ef552f8ae8d3e3e56f81c916da2d2b41476ed03eb570efb12026fd61fbdb1d8b97f6a20b09ec4f005a08049c4a479c35fa47d504b90a8b14a9fb75dc58f748d82b4220613a55fe87ff195c8b82d218ab5a595dddd3b6e04680449043585fb24b08ce35c4d35e515d7e27c70b06ad24f9f1bab8993b958e75cbd1bb76eecc6ced58ddd8c64d101d19e7e374351b2ad1bb9563da1da87bb1b294ad6bbd1d5c1aa497b5afac2ffaea69be9c6fcb3e79a719bc6b542cfd5425ed11598638f52dd05d5dbd4a8ee1eac72bae7a2912c36dd0bb20973ee46fac2e6c3edb9284ad633cd73c1bc9a6ada943c97fed08b79341405ffcd209e793786ddd8e98bb4493b4941051500000014280290c2a64851e94c0100140108408a142a54acc0826581854a270b2954acb0020b2c0840002db8605d70a1d2e9020b0268a105175c404131adb02b56543a57b8806232ad58318001b068615bb4a874b6583100162c5ab42000010af0827de1854ae70b0578c1000670e1a2f79403d8031ca0d2790002e802bcf08276b901b601b4cb5d689777996253522a9d29d9450673ecfb7a564a9f6e31c894914b3da19ecb73895414253f2dfddffba24c3272e9743e875900cbc82a5d99298d4cbe84b789c94d39c8c3de3856bafc0123a4879b9a3e7f26a1cb1f376ce8725b40a88638a8635314efe7571a1425c60cb388fe7909e44ef2f36b8aa290f8f9f585a290aa69c4cf92151d7cf4f365fdd7f17d4829a7ae8f979ef3931ff1d2d6754909096e2ff79f474bf4649ebcde5e9c94bef4a5f77ef69392c7a7a419f7f9acd635d5381fbdc7753f11853d7aef3faff5f6e233fa6cf419791ee79cf83ff1f11ba16fd33fdc4a141f3779cec11f719327e1b27b3cf7e71e2d99bcf72068f2da0434d9f943829778122ff1cf4dbcc7b3cef98d50489778ef4d9828f15a0913254a3ceffb3cdefd8783fee3fc86e89f93e0242e6969042fe123d1835e8bf84ae833f029a14f87f7a2135100bde6b61720efb74d0132baf77a6a203ebbdcbcaff3f8ed247c02b97f3ecbf13ced9e2fac40ef66f79a5697fbda663428f69e76ef3bce75fa55165a9a608ecd325760cc9e223f4bffd67aaf3d0fe7f8f6ba6a1eaebdb69a87ebd757f370ceeb9ce1bc19f9dc47be304617792ef251172dcdf7749fdc7cf60e0f29cc1ca2f170ba7056312c9e13d7ac401eb6ec92ba280ab7a13240d996011723468c183162c490600e20b2d329a594521b7a9b9630cfe80c3da1a1012264da114fc4e31ac7d68a39e79cd98a1539cf39639448c18827e2e9764705c771317ee8a0038802215498a0160594525a554100c20dafcb1f3a7460054c30d1c1a64da841faa7cb1f2918e2060a8542a15028140a8542a15028140a8542a15028140a8542a15028140a8542d1400348029004b4566a2db596526aedfdd965dc69838036401ba00dd0066803b401da006d8036401ba00dd0468c18a0084011d8195d37d5347a9f32a07a5e4989d72d0c2b51ccce02566a90f5e4a4865c4f66e7c549d340971d7adb8921b67d494b738351ea30ec9765d61dd9e50683d3ebd35ea565029dd4944970079b526be949901dee1002f37e525a2ba59438afa8b4dd6ec01abbae4859334b35dd15bdda99723966b941ae10bcc232bfab4d44b067aea60c849ed4cf417a1d62b3d22b8d5e294cb5c3ca825b4454033fb0c31c834ca1b372f4372d57036139e5762896ee8040803c76585d80b81667aba526c863873b67ed050c08e401040804e8820781004224a603fe00fe00fe205b70b99528e6f401011cfc78a1a1010843c3ec8125a204386aa80007087ce07009020e1b3ae0c881071c2811478a06c70970bcfcc0b182be75f903070c8775fa33ae1920b019d70cd5aab5f7629cdd9befe5646dc3e168ad6932f3afd6b46de3b88ef6b243f5727948615e840c11129369c9cc8c322d1971d6982d54484c029135bd01610bf4d6b0853e5574babc1ae95c223da347ddd2325aa425fa5acc79efbc7addca3e722b8b99475ee5d5559d10d55cd55555931d47522a168bc5528c5cfa5de5d5388e1d900ed68d9dab9be9465aa23f53baf1ee20a968094f120ce9657ea4142dd1e75ad534532e29c665b8c8577c0757e5bcb7a863d849af68082d9d78288a8982d012fd44ae6a9a292bf255954644bace867f3ccfb6f833f279ba6f773e7b6bac1339e722e7b5858a6ab2df38e79cf3bcc91c9ee29c73ce5978c847deca98a7aaa9aa5c9e0a4543cced542f16d5f01b9b1fb154535511d588828c54442d5d34a473ce39e79c73ce39e79c73ce39e79c73ce39e7fcf2cb39e72a5f48c72a56b18a55ac624b4b4b4b0bce2a2a2ab298b718644a5e65d88eb7db9dcfa65236e7bd41a04f916a8d91766c988337982392549de3421249ab5415aba9b654b172994edf62cc557caca6dac2557c076ff1550be7a4d4464a9152a417120c29458279912c483b4829520a86a422bd50948cab2eacc6a652aad42a56632d2d2b6c2d72ce39ef74a34754e3f9b86e77ec55515151d96ece7b83407f5576cc2b8d94aa263b5e990d73f006736c8a735b2a9baaa61a5b698db4a3d3df386de3b44e87942289d55463a414e985b422c1905a24d56a9b5a5751147d575775577787647165f255d5bbbae20e8a92c586b0c06aaeca55b92a2a76b4a31d6bacc658e0c6ceb548b23c3fddeed8da8d197f233ce7bd41a0cfab6a12d57877671f9b883958a59e70accb8ed995c7d555a9263b5e15910d86a765231f6d8484e48ed564c7ab9ff3d6d5afd8f36acbabbcca3cb2985759e42159641f799557626e651e14252371ce39e7aa4e5f5423aa11d5886a44357614c0886e248191c0486024301218098c04e6b94ab4584da4d428afaa8994daab959ed930076f3087ab38a298a846c3b44be4aa6a12d5f091261a651f9d7ec908ad64844622412241a2d24922afb2ab9a443579957950149c4558d7e2a6452d6a19ddd2a26ec948167a46cc2b2d6ab1a5472d4351b21525a54829528a9422a54435a29a163c588f41a678ae7a025e806b75e38b056c5e8b39e72fdc1b04fab4a8458e66c31cbcc11ccee64930a41457c3c15a57554da4d467fc2ba17d253413db499a983031d1a286551329a5452da35dbaa56bf4c8b536aec5b5381fdcc8b5b891f3215970345c8b6b5194ac73ad9173712daec5b5381f1425d36237e60dfa1529454a75fada058da4c6648b41a690c0ea490764d39dab723a18de608e163b98e66cf4c59c8dd8e9875dd8c53416b5d837182734708391f190a3296927db69a67092420a7406353acda1f4a22266078f4e7f959988608758a4bcee982d6052f90b69bfc148c77c7bb55b40a59f3ea995d57221053637bbb4a5216565017fec694d40706138ec20d4946baea11ab7adddf63b96b3bf59cdbefe36344a9b1a2abafdc24d0e2bbaad5faef940885dbab53534f87abdeaeb555faf577dbd5eaffa7abd5eaffa7abd5eaf577dbd5eafd7eb555fafd7ebf5daf361c895be3cc1a8d27e74a423264253494b5606fde52fd713ea797363afd2ed949d260cf3939f9528ea76ca1d7f0d9b1103f4735e06fdc9b0f9f297eb89dd4e9b8e41213213259c3618aeadd67edba993b7cf44091b86bc9d660272b7334b59c47773a0a5cd3bac333a527ea35a65748db950c60cb388cef6dad7a0470cd85e7b19b64fd61319b4ac277fcabafd53d66798b48893ecf4e937cafe01f8e967f8e9637a39add55acbefbdf7728c31c659966559368eb198287e200e365b023819e39e61d87c55a533bbdc5ed00063a4670f63a4e3d3481fe9d987391d2f8cac886ebfca22514c0b5819996a38040106010621698cabb2e8708999899189e9a16d3a3cd0415207cc8752d59c42c472108166ceb943cc0e30323cacb517d3643359966579b383901d8270389c10678659449534f00aa76ddbb6715c8e1c72ecd03cd0200da80ccd195363ce49698e17f9d520681b625e52c8a0870f82a83ab0011f29f8091dd7103ce1863b31c6d8861f396ad0395dfe8869810d24cf7eff6165f9ffb0ba88bcc887f586eec3ba8202017901d2877488ff900a09691012fc434a13d299aa424719d0f71966fc7d61cefc0bf326f1857bc47fa1fc42fc3ff4234efa1124be6a129cf4251cf710e945fe9ff499f4a42952c2afc8146709b79d8428f42348236a27f1d07f92964670d9697f2e250a9139435cf6123e3b89d18b4690be1ba319fa113cf425253ceb235188847bffe1235de46211ee22e7bd370fe255e45586d7d687e3961e5be439ef75b0c7fe0f17e9608fadfd877b3ad8636fffe1dd6cf9f0ddc11ebbf31fdee9608ffd600ff1c3b90ef6d8f3bdcfddfb421abaf77ceb235c4a14de276949e4fbb6179eacbe6442a7bfb958c52a5631aca2a855b15650ed4ea041168bc562b1582c168bc562b1582c168bc562b1582c168bc562b1582c168bc5dac1a5d7af9ed07e6b1f8b55a56af1bea3a12779fab2b24816a2dfcf7d9d215b6cd5e671cf8b38ee249edf1fface13f2785e4f2dc4e72509d1c02a6ebbc73ea8f35a44bcf64e4a142424b47752a2b0bfad48764fe77d373e1fef3e295188b8ec95c53e6de9f6c3da524d2b3a48de137afa9ee84736225ef7da77b245f7f4757e4dc243ef71dc4742dfbde83d215128240a95dc119157552ab8ed21d07b4840b57ba4443122fa242d8dd0eee1b28bb8fdcebe9429c2ae5b3efb08973df4791097f5c443f2ddf87c9e1fe19e4f4a141e975d44db9edd757b77fbbbf778f69ed9d5e88331d89cd7f8ee4c93fbe9e6fbbbd7daf6a2eb3a5b35ee45277b17b5c32bc7c37a43a72e22df694dcd59ff66559500dac38e0e045996652756ea89951d52198b89e26c91b07a6265d7d9ebe4b2cf8f8e5cca294454452036b581d80f15a8a6cc6ec834b0114f60c0c4060ab60f2e337c30c17c1f587c50f1c12506994275b0c1eeb1615b2564454582212aa8aa18d5cb9c9352950f158f2a520151d1682a212318ac033ace809694081c50812008d505baca864a41d0431018a83de0e0072d48c8c0de5e0685580ff7eba0062d4de8d2ef193e9a6116d15564b8b7409381ec20a0bfaeeb9a1926bb748c86a12855d3d8ecb2d965b3cb6697bda78f86d5404a15ddfe0bd39bcc5121b4740377ba77388d614985d0266437d629c6f735df748de3192c9245c673972ea8f6f87e87e3d79cd3374d06b28380847c6529b1b070bca66a0b4b6551ed10b3641a97fe7043a334c40b010561992c980635e5a793733e3a667846b5c0ac584bb1b6c810981b58b045468083bd7970010c6630c3831174f040c4c62d1ba8a81b7ac08181f93dc4fc9bf0bafcd103103da87af82a42208488a7b34270a9428bc0824a0409d2889291280422f98c78229e6e77b84dd39ccdc64480327c6da534d6d617e03a0396519859851976d834d8bbcb1f3a6a74883a7ed0e1d231d2b107315b070c0674e4d0408c0d37cc98974e973f74acf420024ef0418419517019c20f29170afd5e0ed408916303b175cc44ed1fec18951d7cd83dd8190f1edb085b660bb173ec98b175f923c70b9640635f77e6a4a70ea5dba9f6fa39535aada57faa2ddada3929cdf4b396becc19fab4aea07c24dd7ee00f7658e7ad2d3cd8b3a660284a8cb46312e406bd10fa75da1c640fb162e9b7b08037d8d3a28caca0d54e49e9cd5a2e0cb4c5f8a5cdbe13b9f5f3e4cd69b9743f67984340f2fb75b3f240571b03877adedeb7d6999dec6747d973be4cc603ecd7b7dfad1c0c42ce278c4ff8d63a3adda718db3fd58f7e97621bb4eec84c378c391c8c31dee8af3aee190264e76c1fdd5e6f9c9b1ca5763bd5ced55aef76b29db3d6dacebdbedac6efbdf766db0977ee35d6368e31c618679d7b9d691b075d5b7f1e69eaa66231519c2d56c2c20acbb60f74edecb1f69ac33de74fdcf6b96f5f4843d79ef36d5e4687617bce9f36acc22fa3cf8d33da9efb11e76574eea361fb608c74edc32a30467a8591656c933324acc04829dd8ff5630ec6a07a3243a294e6e30f63bc4d8eb0792db7ee5bd5135a6d204b75b54959e23ab7ed973d5fe3705db5ac6b3e9a0f4ad172454b1b8f2b3fef826e35369755b5810efd5603082d85f46f39d012e57c0d9bcb9f361c64a944b718361c84204ff6d5361bf79ed7f8f3db29f49faf30b21efa360bc973405f0540af59c68d84cb7a32126eab0ee660db0fb1ebf36d2d12057eed3517fefd1b986431bddfd45493ee745e4a14156489bec84b895252817f847b5c8487b57bbe7023844ebfdb21766d866c38740aa3d180aaa9a666c852f6f45590285266d9cc5ef3da92fd8687a3a5256e02855d3ffb30bd574ab1cb12da025446be1b0a34c8836d9284ed8158b434116eb0fdf930d39b29e84b0aa2290169cd31ebbcb2ccac5bbe357ac3ca6aaa296fb6a83b660afa987a019649a884d092e628746a0600002008a316000020140e898382811023419668f20114800b60903e62683e1148e4f1248671180362c610620c3104000200c0d4d08c4100d4ef6ae7477f6e18c8e59ae4f77dc446bcae7b15f5406a5504188172dbc9e2a116efdd248e7c21d9e5cdf8e4e51af5b1880f6ac49c97e034ac03b01ab3be52237a6f9e08a9983d0f089d4829ab77deb1d527d747169134716391e1c710d946d784e998f00eecb347a42822a0a5c1a1186beea9d3e291cc3bb3992a2cac3e4d3d04407a4dfbec91ccbb084ad24ac71e90f0ee4cb714ad7cee3f6fe9e5dc7c787c46e0aadd2d92a4b029aacf98a593f81b1b3e758e16f8b39d34313d85bba99acf35a3e40a04a482317d2a99d017fc028b9aa519910964ec45bcd014e13ef680460963da7f43994e2f642704dac1976a5a276850d43db168a965d8e6ca3172195a72aec416d4a201ca999e153e3dc82503c45c279e421fbc3a0e702ce19d9a676e7c6fc12b7f33de19d185508f0640300244eb27da2af088dae563f756ce02c994de193f3ac8ee8dbe43c908be009668f1f5082914d76f1809d14a4b29c843e056f10d189d6bbf9ee63863fb8d7689a14442ac68d4cef9d59e69421c3fbe8c535e324cbc36b2128f1428548649cab3b4d08d204c45589aeb76d22e4a5b228c3ef6c5912ca0d135a53b56676e8bf2f417887852de7db2367faaae67f683ce379c7b83631b78ede230f925a5c83325f0064f0d30ab8b0911700895c4874f0eaa29751c529a715b92faef4db21da1e1a5d0e975014ba6f49db6604dba4599b80a8625c0c1182192df2725fc3d101e834c0c86b187376376080fc91f3f3b2b70c75ecca4edf9e88ab6fc702fc7a9080bd9edd46d7533774796b8da4106eba71ef1c5809552362bc9699a226d8a227c67bba5e249c048d4d808872915d20e0e547c2921be06df904e23b00e07ae1d0c597076b4ced6d603101fa481e3ac700498fdc79de802af62b31c53fbe30e7ee396a9078ad40f0e2d2c8eef5c32b10ff467b45f6a5754e21ca597762b8f5e99431e9b1c53761679faa97b659566548a26885f4ba9b0c59243eeba92a5fc4eef2629ec4811ca8a21fc2600042daff8a73d8558712ac4a61b3990a66219201c2f1a78fbb07333220b38939caa706bd8631938c3039079e0a4ffe82e39bfef067c7b717409245ddc10d73efb764bb83a247a4569a61146962e5b4fa4ba43901f8112b695921db7d27df309cb27d368e8a894db5dba089d083379dfaa37dc82b1a7443d110b3c67f5f87660ca8c957ab461c2ba1f0340a1d57807c984bdae0c40b566e384634b785b356d5472746bf43965796b1092e1935d285c54df6d90c040ec92703c099ca6c82597043887dd7487efe618d63b488d34359522aa219226146d9661093ab3bf973104d006b51249f9b6ccd46f02e2f71407f9a1835cdb656293afe312c09965e4adae1b41ba4f0148e66ad8c55366bb6b176ab19a1b43876c1b96b2d98231c0201b81236845c2df5d824d29fb2c5c747b8eaf81f31d24a2c1fada457facdef6ae46bf7ce81e4e770591084c62a402db4304b0680255d08f550ff0c2c3ee2d688682570a5aed85ae788f90ee5c1f7263859a9c7b55ef1d006ac12152f4a1f2aaacb942d86f9e5f6426f08b7a655dcb3e9ad76e028b8288c709e74a005dea69e1ab59c3a1974de94563c435920f8fb34479b21552c19e49f9dd1c145d9c8dbe20c2253b8ba23802963a89b21884975aad00a7378ae2882e7de780c065ef9cc4be55d7cc935566e27ed6812ed2ec37423f9a02882eb19deb5c2d9492b818556b85bc76452e35b9314a0b9a1dff56c136fc902bfe1dace9a75e41565dcbaa89fb1b3c1723e317128945e8aa773b23d24b66e563a04c08647c95933106ecafcff1891b03c5eaaba29a286007d95625a4dcb58bb7c84cd1cad77ad13330884f1c57f6a77e68b9a2c377201fe5627253fbd032ac6f78532d7f84fbe78162f1f1f7430726f77252b3b0d0447909b47bf6326bf440fde4b53eecf6a967bd529e8974eb08aa7beca458a3b709d5e5722a89f73f820bc8e00bb0e596735e86c6b9fd344900f8a2949ca9be8af556789f44ca086ef227c9993b8265c88bfeddfbb2557d8b4dce340762644076d3b0aa254631e5a74c0c632e9d0e935d6a4d4f3474a98142317d299d913e2abc813394224d6357674dba9af061bb851037b8cc45ccdbae6167149dbcf290c78e83d76358cd5c0b84773d21752bcb44c1478ea4e514dfce5342eb2e879b124c2704eae3bd66e088e634b5f79d928ed01ea0ee9773377aca2079d31481203bdde0bedf84f008e8b0acd5f6a1c22366fc6d0dd2045439d540e21fe22a3c906746716c33db02f5475096cafc58cc8edac432080092b2acf19be855b442108858baa962a4eecf0f03e817e309b448792076a0f5e6d211153b419731ab705957c86e0f2e51bde87671885451ba94a39450be1a556a19c6f05603af736ce167a8e850bd3ffa89b1ccee1493ba7b5ff7a3128e34806866886f69c7d750c3c79c71ae6ca6e007357675af527a923f1d2b3025bf1550de59b239dae323336b03feabf22cf808beaa12fa9bb3250b73faea1c58b5413802b2d09d3a65b7255520bcd262c2de4438289e4f98182fd777e058ee7451d4c6b2323546a94a166176b7e1686f520a95bf6abe94c2918bd55896c2f654c57c2493ba83e07d2bc073acc302c48defa638101a79a5891fc7d5858d4ea5724c1a67b655c631fa2ca4054590190509230d632f8b885839beb1d3bed58eaf3cf79458f73d986ba5b1a740d59c1a1890978baca317f33b9456021fefb255d51de9ca135267e7e952df3c9c1c60ed182ff2ceae627d18841c18a24c375d0b40b47e467c83c0d27f17c47cc12098cc8a9e9641f06159e454ce3e38e8fe35c7784170e289df9b53f282a8f93a2b6e27f31cae72529795da8fbd6b5ed5a520e899f60172cda79f14c498d17e4716f3498e8238b27ca07a8b265455aa70610bb6b8acd1774ea32d08726f41f0d600413d4246a799930a557298ca8ac7b8199acab6f0ff6fbc5e323a5e62e7a0cb4ae10dad4c872ad4aca446551f9757096ab55845dd7ae2b79bab503306d424364d0c7a0dca33430f489a02b3f271f8ff8391061127f05631cdd051a361945abf9355f0fbac4c026e95177c84b1dfe95ba6c483aa595372b0e33ce3f82b31e0741c5bed18a475bc72ded54a3476627133ea2acce54de1ecc837c98fc72b65cb23a09d8c25f188e49645a52ccf6e7da139648be9f5428caa687ea74ad696f83a56791b8a07d756f6f2df6878532ed08ec54587a1982ddf0fbbafb3f4b37255d766ece133200f9adae4b6818226a9ce0803e80ac4c01b84eb989dd94f11d0a0ae826c9d6a21d203d11c6b7eb124afca6e94b56e803476a4acf43692e5d816fe3d3c46d393017db571c150e8951736e5eac8385687ef71df0eb6576d140e75c36f58ea4a4809fabf6531649968378389cbaf046bd90dd3b7a21bc15139fd4394cc8813340df79219e4458434535af6b75cd27a087cead5b829d6b8d661bff7b9b5eff6384c49c4e36c5b794ed72e5b80f6683ee70ad04e349f2b7bf29e2d1c4e3a5c24da16f4710d24a6e566306d00b43530bbb25183a49755c260d5f5d54f127e4560840f45af4515411e56d4e320c143341c3aad8815f67f09079553a11b4a1c1dee92189dcb47b019352f1e2994c7142640bb815f298359dd5509376ee7facc751e3d1a677fbf9d2fb159b797a92d23a74bf3f8382ace3c414f5a80f3ac4c531aaf8fadc7e7358bd8059254ff6c19cd9e6ff6f1fe7fc55ec530e33a0dd711f2eae22014d379129480a01c975448d95e538202ddcab2a601ce45b67ca259dd566157ce9f0c1561369dae6d669496a78ff383b601fede30399a5e7589084a8094ba58ef00262fde6b3a012a050daf2896aa65c6b5af002d6d22f0395d1ae006a42525fb6613bc001a817435ea367d1a871b7e2d1d75bf940225ec18375eb8faed04ce02e23e81b991810050c06c8d27f4a8bd2b7324c1f7285f96242eb6d58664704449fabd2b6dece691ad4c9ac0dd68341b97de039eb79d0a1c57760cc6903ff2b861e78c95c58de456edb5632e45e9a550a8189f09e54660f962ddbb81855692c26e3ec7fa9ea357c5ddced40a2ab72f04bcc65aabc91421de5f6ca7ffe1908e3f024c052e36ad74f3b03be02aa757978ffe0f83d0e0e2542fc972eef3e7d9deb3721145b67281ca414d48bb2ef2063eedc17634fba0ad491fe75e309688750cab737a4435a7e15298d5025fcbc5d74d56baebb12c79cf567dd3f8ebeecc54a2563f8357912e5909990ced62e4b24456d9acb62b14689993dc84149fc4f246e8f98ebcb55948040586fcf91fad36382402f2ddcd9909c9034a00ec0a3ca164cb94b5567ff05228571aa5d535186dc8cd1ace0231250b91e172453430400682f5727b9ce1ef15bb7f2a40cfa405f18da1d0b761534f81e36a4e488ad462c7d7647d5d439b75e574a2eba25ddab830493ae21341e0d55dec98ae6b1e422c5be44343804ddfb0d482cc7e29c605e978895dbd5d4b4ea774124bedba6cb32eb729911933dea21e4fd59c8887d12ff84a0385ca3c267ab833c3807d62439fc0b88c6f330c972684a8d59649235ce75e6ac6ea56907f29c25a95cd3de2cd7040d3525276d26f2b4a82e7d2d5ce56686435741ec3a3d565430642d4ca8bf58eb1aa7dcb8954da494306e8749838e3c93f33709888aee8cd7a3c95c4086ead0018a2aaa12594c484a666715a21d7ea52236475e113e4531a999eed45a0e8e0cdab29898bf94dd1e98c930b4260dc70919dd5ab93c9f10727d3350aab9ec7488ea194aa1d5906ba4b62ccc892cdd1926ab7400b449ab8a6686e06d027e28b06940927157ce3cff0f07e6760be4d381f534645bf403ceacc5bb4b61011302d775c656af9378ffde859d32f273a192d2f698153ff6b99240238c2abfc36bf09c49bf14e9d27170049707652bff04e3710d8319ef104ea9222ec155a92dd78f5db2fec2997c6a24cd52fbc0d3db9dcab01cc959103b32b4b045b53bac26a0b34074a39919724e3e1223a14dfbf1813aa50f9ac4d57805cda991b566e5856bee7b26b8f6da85157a478fbead0cdbfb05961f412215974ab212c72bf8240a568d7d4587d8c1880b7f9d01ce451a69db456195fe15286cf190f9c0d17bb491aea57e013f6ffa7213ba6265fd930cf71958f17aceb00a616c80ae7ade06b41acd93656c740ca864e5d78cf1aba37435cc1d94e295b3e54442bc1c7259f47ec1e1541a5ed1cd384f3228be2ed5b84e443c5323323566081e420e84a0bdf0b241fe01dd0b108a51179a30c97b5b5d500a742e0eeb4b816752014c6af3152c6ce54c0fdadfdf2f249308d88f45115c5707ba29df9449082c0d7095ed8d31d7a83f697e330062c349a67bf75fe12ea707486df5b8921a47f22ac108ef043c480c1c2a0ee4ee0dbb68670406679ec379b3c5298950bf809a076e7109c084dd92f5815cf029ed6d7ebc63b08ae59d06990012bc2eb8b7091f1bb59893c71e8368da5772760019ebcdf798838c043f4111a7d58726de407d2a70e964968ffdbb6e48a10373a85900cc59f27f43391523a8bc2096d85d02cc297989b21ed76832b1187237aa626182f9b84e243ac52900ae1a548491c0440ac9a63268e070ecdf43cdf6170543319a06b4f0fcb280932b4a126768859fcc19426872ebb525e189fe2edcf93df64852aebb59d7e8f2cf27d706fa2d2f86edff638d0ec31cbf9e1c939486ca1d48f70ef2248096150b7a4bba83059063a807c6d751e75863a19d05f07379c6996b6d5bbb79fc3441e08c7bcb1886a3f0b3a8ec45729fd4549e2ee3f9621e56ace5a22ead37fc2d7d02a12e2579fba72abdd03b639690581decc11bd633eb0d39c69f3fa4434f4254ae0f8ce0fd586f97f214e214191eebc8f1318dad14aaf853d998bf5e004fe3ef9ee0d06511a4a61d294702617fb5b19884cdbab61972054cd7e5612e87773245f7beb6cb4e09bdedf09388971bc82f3b3968f5fd6cd59db71fc6b6b7c673ed2155997f597b5dbb9dd208123372676d4370faa21513ba04ef45afe96b8fd850df5439cc1e89e30db362bc23381c3ea0b2856359cfabb99555f5b248587efaff05d632f98146ad12e770238a7a3ce348a872a5838b001f82c5eef217f2065e9cc101867be43f25a75beed4a096677dd6e4adb8c2d33e2ed972260fe439d39c7e44600bbe1142ed4497944619006deb8693dd081eae6c9508dceb0e2e702e91a0859ec231afa3ee8a5b4e260dabcde9405859333042773e69e16c041371670fc64a386c8175958c8b54b74adce891b14beabf2a70de33be8914b579bb43201d5627fdf5f877edb4903b0be4b4a7ab6c2781e84a43128c666bad0714447c61f74143c13053caf208f1d7941042104c2a44125e7dc5d5cebd9fa51095c84755fac343f17d482eed506cf9425a103500cfd2a4ae767dec95cf09402e60e681d0ff2047a2e83824670924c316646afb284de25d614a4c604b8a3db9973be5b1481d78942e418b41fb3f6721518ac8f44031aab28b931b8284fd4b43cdc211b5c3e4b9324822e52a8d914be2f810427653959169d9d4f99fa1dcb2245531fc9600e249b1f42f110f4a18a5a43d6ab3eb272dbb8c610a0fb117b0a6a872dd05d3e8281954d8e209dc1856bacd5e5a5947c08e9bb833f83f1a7136b2b6d9ecd3cc9f71637911e2bc651d70089e0c726493d7626bd113c583f2ee97cdd123740c56ec832db487fead7d3e76f9419208cb8718573e6607b256687f56d24d5980a4d1f86df10172ef131fbd5cdfbfa704c153a6694e5b7ebdb98fa5819fbf5e0bca3e38d22948208052dc24cb3d7aceea7079cc7f47bde53e174989b404e816b8e291c1a36eaa13513cd48287a5b51d9228e282311f30d9006da7cad573f938328d9c4082f1a1dfa938054b30251eee910f62e0d2d15d5c79ebe29b6e037cb00a5eb0d45996dcc02fbd86801cb2bb48f91c72b4b3d731855b082123661bb089a3d224fb23eb963edbdb6b2fd20750a7de592e80e10a4827f14d3c38be7b34327de02c9247014323fa633e84dad547cb22d1bd783d2989272818ca185e61acb924a769bbb72312194e902da031964160dcfaee586183362e11d32868cc6bca9ed7db1e3e67e29e2e4ff77c07cfa0e13db9fe94336d3cb066051f661f57b4235df19afb6384c0b65bf91181ea81fe0ab444bed75d8ed7efee19614861b44521ee35a6e03b3e4644f538a359ee4f0613acabe4b14facb538a8ca650875bd8d2b7d22e1b7cfd62bd2a2f564736798e2c7de1502b371ed1d056a86b4b3ddd5c1656e43227b7deb360bacadf06800892ee0e93e85ec5ce5f50d283954031147842b5539c920a97e6e6ab7cd82758b99ead89d661e02fd7a77b0ec3d3e84dcde523d52b10eb97d956c14540ab5e7f9bad2c5fae5ce7360c4af54d02a4462b1104b3693951c5a32440bbbda7b8c964cb5c61390ca14acc75086bbfbc5c96604b630961f3a562f831eeb5be3a982cef582f57403c1a19cac7ea191cde2ef4331c014a29ab9310c70395dd5bc8db82d6b5a36f89ff3af2b5aa052ee8df9577554c5efd48e0d2b045adc7e76a022aea1eb3461225047e5fb525c9a4819041cc29e60e49893c25ce55c84c7905f869c85723a4ebd9ac90d99d933c022765bc321839e2d22bc4e6ced489417fe2adc2edb75498040076f1e1ae16b50327f0a303645c43c11f4615f796f4dc0662a9619112cf430f33a0fdd01b504d9825d42b546920a9f0909bd1ff03753fe37995d28e85319a0e5d415231e89533dd0fd226280b81aa9d0548402dd261c7c27b95ffc3dbed59c9c4c2c9b9640b37326c0e29b39fafba55685ee60c2b75254028aca1f56180085756e4ef9d9766235fd7ac34781cdc9622d4adb10374deed0cae8475f443a8b0554b36d4dcd622a78cafc42899351a4b18fa07e85e289bd33c5e2fa5d89e9bd9b5c7816044b7a673664034d487a41f2f1f66866ac54d50853dc5b3a8783acb48c136fb088b687fcd7197fa350e5fedefe53e77f32dcbabff5250b76c5638ed95f473c5b1f1ae18558dca5e7d3f2b611734df20210a6435d4501e32d55543958cdccbc66c0f82dfc9ce8c3fd46bfeebddcc9413ab6d14d579f97196328505c7213019d2a13ea6c1dc843692f3f51c9d4d521938c6932cf716d678060044f80518643b507be9f8b5e1f11c57f2314bfae99a3ab1448d8eb606cd11cc9e1592abf98fdbe49fae8f413d13946455e8e069f45a03043ee15310994de0e10e57a94c1f86dc1f31e402f95143b597f8509e3308d4b0d0fb2cde7d7526d7d9cf5e575152766eaf8995bd95bef8a603ac6d46d8befa0194badf6172738129d12363a6ef28b8220d51860b370e06c317d6e5c0f076e2371ff6d6498ea4fdfaa99b6a85ba2be04ce7ce9b55d50533ba9d3700513c5cbe28125c7dd4cacd5c6631cee91c83eb448d71bd662640c1e7f6a2ea801601b8911ba19b66ab4262593e51322b0d3ec4de9f67858faed36cb0124992954e6d7df892088db121e7618a32cd4dfac0519ce67f3609463a9ea6f58ab990bbba082a165da795149cd0fa213576282dd36b4e45ee428a85f68198f35ce6cd719a362c03edcd4fcdeac796a8a025f933d77d3c8869379695940f84640541b10b0b7d172345d7e0a3445e1561b76087571d942ede6b1d6b8773834f86570fdbcde13cfb41f2e212da0762a80e9e1c55f420deda06d8fae6b82b69f413779d28cf0d547f04763ecb51788aaf876ddda8b459eccc1e3ba1f51990116fd94bcc4ca5a4aca5a540dfba341a181654eefc303111bcf84de2a4033dcc77733d87615530b5fd23f1f243223ca6966ac1c70eb93c74553b7b5585d3dd9bdae4ea461af74fccea66dfbbdf39069f4d0a1cdaef771c560b4111c0e65711eadf726ebcc55fc5e82023eba765f16ff1d8d004c6b8008ebf28f0a5bd678004a591c1175ba762faf423e2abaaf787f1ceaf8f14b4d53379733e57589cdcb1b76fe82d5009eaa57ce8a1b2f5b4ef7cdba837464992af3bac3a46b1c8f772cdef630a5e0a7bab08dd2e7df32938d03bf2ec161c46feac991bf0b7eda9e5622e29a025a9474b2cbb2c896289c70a2a2f6cb10269e9224e98a45a65a07a71b02d8064f1f0b2dab9dd9aae3226c41c2698f0d8a117b5c75df2865fb6107642fe26f3f88e46e092745c1fcd4ec0d922e04c2a5c0cb08fa4a5b5e06539762715a80336a7df2c3a14a0b46aae24d35b9d0010b1bbc48f972d645e2527ae4a21da80430192d450962b55ae6442e3e2a6ef3b24ae1fa180606157eebdfe3cae01f6e662ba794d2bf1fc97b8212d473dca4999e9191fd2c6a00ad16dc1ac357afbb321a54d636e73ba70672c900d3c07e3d0777bea98747016dc0bb4d46859e4aa6361649b9737d337df48993b1c4f154ededf0845039366e594144d71a7b24cd27005e1362d23f06e842c77dd9d7383263058da2fa13108a890a1fc29e0fc5110b70f3e1591feeef3c8ddb49ddd4ac1156d552bcaf2c18b4ca72900145705f6a558e483304734bd8523852a90bc5be1a004bb939ecedc17e625957e2aaefa935e506e132cf1dff225454bbaaf2a7eb5cd0ae146035a122c3dd3ffce6c89725cea9d7bb262fbc477cf91b8e5650189d07d3581ebbdc26566db3d873cc823623c96c6f819d6637c071319bf614ec647b855056c08f288a7232692b46edde6e9e3e1cc1f644b7ab1a406e14752acdcd62ddc67324a9a4ef1570de7958c158ed394a087ee52b76e32045703c417b707e72d601fa817abd809ff91c896aa5da62bcc7d1e31406642a7270e35182c685edf70410b66039f2e82e04ba015bcb80983f7ebba28b2c188275cbded48b13ac06071872b81b134eb01d98a2a3541ac1f899b92e28edf0143b70b0cf51ddcf77d1f4130e8d53a461f38f6190e80e373ea8dbcac71e4eb513cb0123e837a59e1627e35017e308c00d5d858b11a497638948a452ba31769e3e30cdb95b673191582334f0973d9187f840bdb37ecfe7d67368189c518665a20cd4ccad71754c42b59348aea045bdfea38c4adbbdc8003e66394cc03bf69cec8656163a44149eec2acc1135022d77eae0acc0ae12222b2bf8a0e56c72062baaaa2eb39337b375a63c7029ba20e58e9264ffc791de51eedf847a5ab2b8a9249c51125181f33723c0713e45319d5bfebcc12d8b1582f0d15c274dab056096b5a2578cdf839a1da57e570a10682c9b29717a980c523cca13ee3f0675eedcb1c65bfa7036109fc640c6c0b720c311f61e163f812e5434cc8c31e7503b6e943aec17d0a6d03ca4d66f4507aff3ee3de61d6b6084b9ae90ba98255394dd0bcb95232ee3640e71e86eabe3075776d69deca9b51efdde4189cf5e6f3f40a8e0aede8f34cc5f0c4f8d374823f75179842d5b89eced53c0cd31b7efc5f74021f7a44a1f7716de23fd0e5afd0d24fe01008561717142cca6148f9cff5a3025cf6dcb4f1410d4e9da016378790702a102d848ca9110f39311519f87f3f2fd044efff635afac47be12ce8ee3407b4a55d0a494560a2127e4092ef7be233af4623e00881069c6ecf0123201eb05c1a042a6ac29aa43cdcb68fbbef8118d040b197bf6104b8d49a5906d91b4959ba320941f60152ee810c8debf993f2101e0c759e59ff2a933f9907ad1a84afcaf84d49bf778acbba74474b59c6fe9e1004e8f849240b10652914e921239960c54fc2908a4fa46ace0b87d8edecbfbabb78329bc9f85659b97c598376dcc47504f6eef46d245571df32bddc4ec5ca733f80db5632f6da49597a01257ff653e4fb570ced2b3f654a2947b4aa0a579f78b5f33efee853ec68aada8e59caedc713f87795824e0340150729fbfa57ff2261819cb5fe387be0c007d8590241f23a5b4dff4a4c5246810c0bd32babcd9ef47fc52122e950a6743824146930412785bf4b7519b6520649a1d8ae7faf468718e0bd7016f046ca02e64bdd9233467e193fb20204cb20d26148720704230f99e58d1b30e219f9ccbfe0472520069617cadb69fde85368b3730ab65ad3520790d935268c143d06a54156220c794724113027d01f73512e001a9a1d0684842ecc958015fe6e612769943ef86dd6c01922c4ae3c280349780371bb7a6b010f7533ca80d9b818c9f1ca84472e47d0dc16aa54cf5be5f4d1f179e11a6f234fae0e5cade149f49e559cf1b4561bc7add50977e401125281529bdb22e8a16c44bab252b4a985fd2db7c42fe892a399bd2209b3b9b8a3ec807afb54905267c9feab432718ae0679684559116bcc32de3060a64be8521ee856017b24fe6f444db983b22ce5a137a0b15feef9668470ddc06f7c24c805639c956089cde732f722a7bda28f68d047b44af848e854c51c194c332cd90892c9ca154c6db83f2579b03c3f88dc13347a272e2379da5343eea5630f4bc7c0eefe567a19be2ada3242696e98928882f2bc9642094a816557d2a5608e970498218c39d3f794042c82270ec5889aef98334272de77632403e63b1e56ddf9ce4df6242c57d3cb69b82b2cbdb916004861dc6da6b860091a9ec24cb880c31b60b86d6792dedd679a4a637972b0a983a80696ac4de7da0d723c0e9549173788cd7ef05fac86e57f89df3ab2a7e4a818cb2e70642a0f069a5745c03013f83ce8ac6efc63d088b49ec1bd6d3bed884a23f468a85c01ab1cdcc17232dc7ecd0b6f0b6fb07c44691563102b4d579042602bc69c084b4bd593eca6311d74ecb343ace69d7a44275ca10013fedb93d1036bb1118cb073b354875f4fcc8062a1f1805a0aa5f49de80096b42480756e3300adc67c4b69c1496358b2dba80fb854d9b66f69b6e71529a2a7bba56ed654a4effeace2a167ba8170464917a45abef60e890d794352149365a6100bc0809054fece050868ed9548047002239393103ff2bb9defabf75b314254f13e76e1017748120ed616d2696f241f87146083ae2a698aa547b9100260c1da615800c9c93836f1d859085915ad9b7547b111b92fb3abf2334a36dc255b9026d85b930baffebe4bb5fc86ffc8e601edf2ea6d81b5c1fb408f816db1c67eb59dc436db45f008fe2c7bc4e48ffc214abbdad8363d4b87a4e9fd0c934c8febbd530c572539aa5da7421a540f385a3087519cd563ddbbb3a4e935bfea2349a8eacadb953f2fc0c728ee51851ee5f770a6790f00d62cf5ccc14445c5a7e6d0a679c28e01eda2a4b753b84fbb5cb12b358578da95e0dca129e82d6cdb9ed0ae193827d88a2b1f70d00ac753d17f2cbdaaf14aec4a2e0ec281cc76b54e93d2e934ed76775449fa046fdd2e7aaa5f924b0c108fb71f2446e7e1efa8456fb4cf2d586db971bc0d135686725130422152d22f88e04c2a69136e3ff5f9b55dead1fc2c6796bcf707198aa8ec7bbeffd4ae4794d63006b1d2740d3bdbfedeec1d274df8887cc644dfae576304cb3c7a1bb95df4832831c57a2f49e7d67879006050ed4ae6ebc4b0a46270520f0b9e410e834b4ca57bbf09e493a852516f570423597c6acc3a2c22ae262a2565870debb4a65d72b5d1012dc7dbfc8ce6f5b57ac682f9a9a0d9f2733eb1017387586fdf295f36db06a6b0ad01065f878b687d80c45419124f62a5226c12f812384acd49f5688ca74b2ed8c18452e97c77a9aef17f2a45d4efcd064ab54d5d80294646792335e51159b93df57afd9760b016d51a06eecc9fbcf2608976007e5503447a052f9cefaa87c9e52a38e7be5938dd8aca297f9c67b9a7850893cf2384f5e64931f3877cc5a0c7a2c3d4d134a79fb048c94f3e5f4147a974380e78bbc29f5c51bf1d675bca633f15e9a7b79125c19560aa66384ac5a924905557c2fda714031a6d575a98917751a5278c35dcf5ca74ad2c61efc0c6c0801a75a68b3999d21584db1dda43567c8a4210675752de39e0db6c7665b89cf57db3f3d9a690ad2be48120b76b9eebd335474701c33d3bf3e41c7e5369fc49e43c2aef300826625b4393776ad6ae39bd118094144436eb8031ffb5a05d219396feb26d2c3294fe338f02a02bfd0b809dc9ed98bf91b455c42a0ae6edbcb5355ed9536784365cd7914e8fac8bbd2b14f41d2caafd3621b2b8ae91dc65eb28cd8283654b9e3dfe46a786c6b2ac2bce2875381cb14c741d92281644b989bb6248612a0cc974e0370e8667cec195a7836ce4400777c2751c653be212acb2629766a90ebf9e2c03dac2c6074a2125faf408a02bbeda222c9159e89bb134a235d21e1636e66d577e2855054c567f8b8e26f8e6e72cd237fd2829fe3abc1837096f13a2839a148c046e64d6400aa3672ab124a5faefb6c2826bc65bd039131fb89f7244be2f514ca9df8951e9ad2de40b66475d35bbb3c280c595e92027c6a8b24506bac389392e6986e559f03383e34e02755b7907804b67bca40d18077d9b7d8c2391e36f6e30656d48962d243583366b2aff21d47e3edc3af0fa44c15cb952017bb4df668e9537f627a61b1eb8ff36740d2bb7b22a4266b8cc969976b830b3fbcc7155d34183951cae81011d95abcc65d0a975bbed64460e0aa417d88f216df06bcb557e2510c487dd4e670b9cc9364ccb2c20814f7d76532a978da6dae230e3259b7a36494b649c2bb8e8e52d7c58e37c7a39ae428266713167bcdb0d1373e0deb8704b6f5605814c759574c936e16d8a1b37ac52fb69227a8085418a31eadec96241373e616c1303f3ee9da2f1ef8970702c1bfa801b1518b148af7178dd059738295b03a87fd6bc35b71cc15dae190fa82668fbb24205e46ec483479615f6042b2b4a2dfa237acef6e8aff9236c450ebef08cc3a004ad280e20afb962dc2dbab39a5320e3e3121257646028e2793a40d69c3b4a88ed51b712e0eb9b0036b111f2ce13ad56bd41a15d480ec30db4ce8700a4159602bf6edf9e3aada7b7bd3fd7e26e99c232d2a33a7cb602ec68baf0477a0db118a6656418dece48089ce96a16f4b6b3b19ded03c155cd576a176ef56ed00a1da1e979e760834d02c7973fe950ce5b45c2248862b035eaccacde2244f5ec56a31ce0038ec2e3ed518ea89bb09bf0f8e8c5654f16ad075ef2238a54b9dc22ae4775c34470221c2701ffa8292fcef59807ec03fbe4eb63c19515d99c5e060e82d3b37f090c79115b41572189615d941b9d7f3bf338d1d9afe659b1a37e64adee58440869443df3d4c6f6325268bc494a0fe46d5ba5add5a957d401af895002db370f57dd7d4ea0026e892265efb93bbea5e40a6d8a92a49951fafe9c87c323834ba4dd483aeaab1f8e09a5630c9b7e709416937a9d9e1e3fb96d14d75cac57b29d6114787515d04bad3736ba9a13f317162344c915b496b870c3850f86c942436e2c38da6e2f0a494be75e37daf15f48e528bcda08def8347eeb88bcbee81837b19b80fc864aa1f270040c44ccff4c4b1fd21cfa8d8f620c378cdec251bdcb6abe428c70988171d2af45c0c858fc7818ebfdfa0f103f42f5be7c400280bb09ba0c8fb60de92633f5cdfdf06d860703fbc7b489ce2e69054587f74165b966ee19a62f0466ba3c2daa85e0c5977e530cb867684c070a3ecf7f1339705db8d64b340b4e1787c7f7c075e1f5b86f754925275d5205babc5e24f206495de4b8c3569b6cd28d4e652fd3acfb338eaccc4123965608a660b0d415586a2dbbf0cad043bab978485de435cb66d4c30ceff75b3b52bc6c6b057e0cce5f072dda4e41ec0224bf38e59da0a1c57d01cec3187d4db5edc82aec28019541f4c1835afd560533ac68b326cf965344febd057f7c4b8b409b92d9a09c62f31238caf10aa6e934a5f0b016798dc957530457dda5e7f78bd3a089d33f4785bc521c4fdccd731c1080844f973b1ef16cf37453360da8e49ba2ee80aaf919e3604b8193e88de5aa95c09bfa139552b1fea69538ba3e16e1e07691b9f2cd0bea1c66dc52320272e903abdc8281746dda02ca058f2e9612cd0953795fa6eb9764d967872e437872de8d5540e8ce1429ff9bde0dab40e89c2929ff9bbc1bab80d09d2952fe37bd1b5681d0395352fe3779375601a13b53a4fc6f7a37ac02a173a6a4fcfb12d0e7a48a834bf9ad1c3c1757b2fd298bafe8a03900ad414a8b5a8122db8d9bd6b8de3e02871bd41fecda754be7858c8f3e99a2f68f11a1ccda5e8e2bf8f63aacc73fb066f68eeb84baf3bd07cf242ec322447bb1c8e3855d628f40ec31717c2aeebef2ac031ebb67671332123cf145ed88f11887725c413d00fd8ad9522c4d74d5a6506e7fd8de2cd4f052cb1ed9fbc13e1f8b1f17eeeaefd6d4f59c11aefe2a4f51e0b394f1fffd82ca2788f99cc29122401d37fb9ea834293d9ed86ed7893c8144cb768b97c4de368e156bda47ad38c1f83cf137a2fe8b6ed8146c769afa916a7dc4c1df1362ce4fc133e015a23e0ee1b6e1ebacbea42f6e89285413ac7a45a7fe62f747146dfc4284f6e3b2976a830356c773eb53b25ad0b57f54bd231f4142a1c3a966e3f81d1cd7ca18492a98378a5bb87a320e2e9a92fe747796b6568915edeef1ffb6ef5a614ae268f8949bca7211426dc3fd4a45bf03ee67a9d929e8538451a08148e76402d99bae20527b22d9d3168550848fcca2fbe4ccf6d5797b3b3815840e1abb222e5c678975d72b36f7574590808dd0a9ee3224e1776f7b4800c70ef057309bb5f02e950b402f7cf7790fea1b69a6d7c539c82c7fbd38446e62a01919cb3a41a0b7b196f85808f20497d20e268f91dc1b35059dc8abca3c95077ac709c7ba50a6fbd7e372515a54f83575b4a7b37a22844c93f41b86c993c06047048aeb8e492e7185e96620ddd455b84645e017e7abd5e2948750b885223b86abdcffeaf46bb640fd781b4d06fb43d577e3668dd3b57bc489e84f5ea1037005990b2d6e0c6614e846d0d202cc900f53acd859793647d247eae0f3efebb33d68bd2e6b0e91f1bf8d3637fa73cb08da13ba2aeb6e4a7a50d19dc796df17609396ad5f53968e665b88420d9daa6fadcf9f1b722fa8061b462b84fdb152832832ed0ef37bac6f93f7e806e6a5b1dd176b6b647a5757f4e17d3e16b52f5172fc59872c532bf6f2b1895929f3b8b30ffb5f1ac3099ab9f1738c843b9600d5e3f4faa8c868ab2d7f230a818dd152dd86b37fbaf31b057ba79d5bda7869f2bdc3e2a0f480c674f6c7aabaf792497aea9538d48e1b405da5d56b820d11ed59fa8c95a71a81478f32936bfa654a885fc9560c97aa5846c4a02724b69ea383c6c8e15959af51e8d1e66eb11ef2464b076d332b7a10b03582973de1d016843483ffe253819cfd6c86ecadc47b81782f36edb589ef75ac375eb2fbbf77f75f7bbbbc7bb875686ea2239ee1f4e818d4b4467a69e4317ae2311eca40680331cf51f3eee025bd11e96803e57f02962164011c0a2f019e945bac37eac4a1bd71d1f36063650ff70fa27f6bdfed7417a9967a39662fc2ece5fefc56ca0f4ce6390cea9534bf2a16a64f5bd6dd14f41f0ddc38ad37cefd208fb08fb10e015580a743bdfb913940c6edd2ea81815b01129d3999f840b03f1ef47c1cb1e8233c3ab151c6e03beb5b564d64ae2501536d924c88fde5abc6515a046ee89f5a7ab451266eb674dca572e8e1a37ae4131c8937806ed5bdc98ae54b4f96d2d0982551600f401b16d3d0722844b907a84cde77c7af3e87b814b08f5cc64f8d135fcad01dac910a41772daf85aa2078575aaf8dba30b07f8aa5124f6a42e1f8d90e0bfa0d3819e1fdd73dd49692735ba4e8ebf924312f26cf67eb4d8778668080250743ec883e7c5e948a0414222052aa135d34361b16bba0a94312187dcc61f85a24fecb5fce13536fb953a9da9350649d3458f8a0eae7955c8261085cc977346e48939c35b369ea8f21883389095d8c18504e56e1788e25407989779a014af2260001e2cd4489220e77dc7fbae65e86131bcd349140961b6fc951d99fd2d20fab208dcc0081703dedfcd0ca16f16e8757b99d9c5d86944cd169e3f44415dc2f14d691b829d00fef7312598042008a7454c03b0afd9b5cc4bef8e7af0c1c4efe1c8252fa1e9658e303e96955bf719179d4a674703023891d327d903f41e50c499b7ff508e977cd2e87d80a3f69fbd62b1d16ccb36f90d338af64e5da7a91e9c1b5a412ec7ed670039c6cd1afe4f290843b92ec2261af219a21c24dc4e048e77885b2a34b967ca72ae11959d8cf41115496c811c58715ec9ba2ed811382ef53b53a59da38f75e817af73f6d87d30c6204bacc058fc1bcdf83d9d91d5a70dc1866a3b8949b6561723d9b6555ed9169b7e5fad6d947740fbc5de92a67bcc280ba0c50e8153aec4e4aabeaec984a62d5f225e692782405cc079efe9a08d47de640c12cc346162e4873a193299f09ad1d006c489a3f399a9853043113dff1f91d5725cf339f2ce4236d040a5c94dbe78aa7ff072698b6f73672c6935ce537c7b00b85987bf897fa171869a41b8d8dbb676a85c264145ed2136fb728a6b5da3fd88b7aa57dcf264a4b81b94dbb88ffc05c4d65dc8b5b8cfd0e19cf7504645c878d28e0994a6d3d71446fdcdeeb90ab636e877046e24cb871abd8b004db02109207c3356b0a8bb445e44b81d98d8beba2836bed6fcb4957d970cbb984216ed712cc725460255b4639fe9ff353ccf4c1c25c35aac0897ca25f49218572a9a7225c425b95844ec57b2774ff76213e2f2532a95d62dc6ff533ac8e4b76404d6de2ba1c8500f8781e4dfe02bddc82974d0bcc6be67a8f7461640f5d12bae4cfb92d73d1edd1f78673aa79a8acbfe8b152c4ed253b5a9aa218c42aa52c3a481356d7660d5df3218f223689387ab3421ca7decf83c419ba5f1031ccbc022afe4d635c6018514d1b08811c04941bbf5d1d947920116b27a5b27d17fd61157f0632f10862514570e8e1aa97a323688cca5f44ef03de941d69f3e32728e3ef07aede57dbf784535423d358e2648864700d982aaf66761342082112d9bdb97207e705190632065f0a67ffa5f0aef13b2e3ec78d7ce648acd395f6f311f2fd80b31937993f2f7ed17f8c9e99cdd1b32349508da39084bc0888075b273799231fd2e9b89018299a9fb9901c3799cf71d98ccfcffb440c798b60c8fb4b643325d90cf63bdb01d5b8c9fcc8814638e826a1bc4127eb45f23ea1ad0fc9fb0448fe0f694be68daf75d2f3492c1d3dffdb01de8e517aee101d3d3f9b377a86d000c5902c2d335ef4fcca06ca51648af92f320a87d6758cd04b72ca98909d0842416a8067966576d62c9bd5671bf5cc994def8585f670dbb6ec3ddb7bb2f9999ecd9359bc3de64ea7f99e8be7e2b9782ea72462d8fcb0e358e5c5b665bfe16db3b86bd9e8ef0ecb3ebf61bc61bc3d0adfb2e758689b67db3edb7f30def0e79371372ea6a380def3d7513edef3b178f3fcc73f9ecc626debba8ece4d5a2ab8bb6fd977592763cb322beb585c0f310dc3b0dfb2ec51482ddb7eb336edafa3785ecb7bfbed3d2e2677331a652392d1a893d1c9e864743234695f6c8040d900d1e2eeae6199d29798e7120b60bd856156c4ac8859117b8f145f628fc231eb358ec5856d1866bd86bd66bd0bd901dfaeeb31a96159b39e64bbc43ee330f99e8be7e2b9782e75e6aaee91bc16efc56bf16678a5cadd6a9d2e2be7ad62ade712c2950b9a57b7ee6ea7b5dda863b1dd8c4acaaeb3d6fe50d207d0d06646c70f39d6e68794cd0f31d6daafdce7050b7b95b70bedca9bcbd197a65dd90bb945fd6dd32e2bbb98baca5d880443aa58f392ac57a24ebd52e5956cdef6fd74b2acdca2ca9e8be7e2b974a192f425bb781f721b4becca6ed4c92b6567f9ebd008d0d0a607278dc3668686b4999961d3831d5204b59779dbafaefcfb7ac7de93b7c77ca431cedbd6b2ec626a8b55efdc9704be720b1f696be5f955e5effe5dd77926491852e59ab50595f293d7902733f2c4fe7cb7e1a8c7d1abf14afab26ead545eb5de3a5f561fafa75f719bd62a21301fcb546c1cf69af51a5ee35279e191bc16efe59a9a47bade6bb9bc1997b6792e1afeb961afa4ebcf2cafb7aee800abe6122b7a24afc52b79257daf2c055bf7d6ea6eaba5d679ad57332dcf457a2dba3edd382c5a1e498a68d581a2b4521ab397bbead08ebafc943d975880ebe94f23ac16edd60eaa3ead9e4eeccaf4b7b5a3fd3d17cfc523b957d2b7d65a3d1754e94663fafe45f5c0a415a0a18d0f3afa8218c0d0c687192dd2d0c60792f6a1465f3afb8ea43193a67f55af5ebd7aad5f5fa664c967685fafafd5f3b55a9cf6da5fce8e62800100254a485caabc8071bf1b752cd6ed66488e45753ff7a5f5c99f4e4635f2c923794b2dbf23e9fa31e658638c31c618a3dcb5e64c47abf2e2dafab79bc1e2f33074b5e29eda7e163fcb70772dda5eebf3b1b36fefcdbb2369fb2ee4bd7fef8dd7efbdf7de7beffddc8c8bd4dd7de463ee64e492eab3b7efa318f2be30e48d617800e41d2a91f797f8925cf224b9d6af1fbb913cc9fe7ec7121950bf2375a42ce57ecd2cea7f7ecb22907d0c3000a044e84b7225ed92ec5a59c97d1656bd5f95422221201f24b9defa1986d25795756ac9d5faa91d8bbeda5bae3e0a1fe1b0dfb8cfdbd738eb3d1fe2423810ee83eb4652642bc94de84b7a62d300fa108d7d25394a55aa4a955495aa522555a54aaa72259da0359ac6a865bf391d9de59d6959966b2723326083f2e6e66fce6e1773472bb3a8f17e567db45bc4aea4facfdbaf5f951c850637a17f2fc6a1d0bfa82a69fa55adb96fa7ce7ebb985afbed3777a33ff94b02b7f091ce5e7b2b53d04d301793bbc99e8586654f83d3183a3d72680b1fe9fbf67795d2f43b1991011996bbebbbd1f535537175246dd5aad6fa1cd5f5757573272316c0e68ac1902a977f0f170e0921ddc163c70e4d0d0d8e144d0d0d8a420827b531565bc578ab2b5a17062194f063c4b20d4608238411ca08258411c2086184324228618c1042082184104a08a1840fe10e1e3b76686a6870a4686a6850b125926084304218a18c300330424f003d213f268dd27d4e4aeb9cb4566befadecad2acbba2e2c462cd3b64cdb368c3d9e0f04119131824058fcf8c062e4c225c311d1a3bbfb9c9344a294468ea250b5d65a3d4fffe2ea75bdc87c90e727be525ec3f2bcb8ebb3c7efd76b5f3f4f7520a0fdcc25f8e75f4fb912fcd8d3129c6bf8eb3d8fe978b88dbdbd32faf5afcc227b9c5988fce436cd796691872f636683488621d9856bd0d3bff206c9f323bb70bd3d056ddbc4b06b5e786a8ffdb5cda7589e5274bda671def45db89e0f2f9f3fa712f07cbfdec27e72d653fa4ee2f1e4ade2c1f871c61f8dcb3caf6929da7bf2f692d6b265fd65839537042a8d59f3ba7eee10e5be2470c803dbdbebfaeb858efefc27ef165ec2b8ada271fb850ef694d3dec3e1975ae3f696ef753d465fe87c2f25ed51b8753d8cef0563574967d9c5598fc22d0fcc680882d40b9d14948a60081b94a80886a8c109870b8143089a1a42d410e265bb728857fe76d8be1d3e25b408d1b26d336739cbb8ede79c2abe1df09c9b1031be1d547c3b7c3ba040a296c417f3f9f0e1a004bb4860e52a4e791da7cc18e9acba3ef5918f26fc09a1743ba7a594da5a6bb59cb5d65a7befbdf7dabf2a8c725f0db07cff6a303fc5e649e9a7584a7389fdfb2534079b6b00b9b218a52973f739e7a494525a6badb59ab07cdfd941a14c958a2ce56a594a0a7d9a6b00d133b5614c152b3d25f87cf866f0f9f0f91044490b40431b207ae86b835ec923f970f9cb4f81cf42ca6bf33929a5b5d66aadb5f6de7beffd685079fe6890a5c89c529f5239658a73326583d8b62dcba70b73a0a74f824fc904404f7f0528aff868734a7abde289b5bfd63ed6de6a7f35eb533c5f3de6a2f6cc064f85f32703ace59dbd7c97afa2ab7c39cedd1f8654b96610a7d28c91a358df555dd5cdbf737e35f368341a752cdda893f11263b2b5a4691ebd60f482d18885749a740ba738e5a45ec97a25ebb57824cfa5eaa83a35478a683e7d2e58be4717ec277a77280c6a4e69868f22697402edb38cd33215e0eda63a336332d519134b5667aa8d8aa2b9214faa3cc96e6e8cb819d68d3a19dd88464c3dc5d0a8279229c6f41243e35463a69ebe1354b423914c31a697181aa71a332c26d34b0c8d538d994e46d75267624cb526c6f472a25167aa0d539de964742ca60e8b15bd79341a993a196e1dd3e18226b63dc598bf244218a3e0ba9f0cbcbdc6eda8c68e6abe14587fcb62492df2a4da19d77d7f1b63632c8d7b5924cf25e6daa35aceaef09027f3e98a8c955df95050d16f05d83eac3cbe14e0a8b7d7f88d94e3b871233cc773f166d8c8dca83c4af264571e5e43a3fdfd86dfc813ffdac38ee409b49189d1fe96c56becc873a1bb66e7a0722b07ede9b261ba3e14601616cb93afd8079d3e8233d43f4951ada1eba39017a481e74fcb6d80661b5fa9c4e89ef59fef390296a3d423792e5e897255b4d6925cbcd2b4f4c63869ad714e9a499f0f70fdeda8c965144e2d9375b21a16d93c9f8f6713c11ad534b9699acc5468df8d44de5a91a718f5f8c741fee1201ee2f5e426f73dbee3a722f829ce9d8c7aba7f3148de38147a91c7722e83e4db636ed3acb5dafc6ee41d895a9f9ae639ba5edf09308bf8545789c5cc06aab13cf9fa7777a4897dc0fb28e4a51d80a1f44247dfa7dc4703d31677035ed22c6876d38b14693477a38cab66dce43ef657ac56a4e8fe0991e83f14c2f85e583d7d40e0fb1e732fc6a1d0bf4864ff5eff5bddd0375f386ee8fa0eb3946a459e709f1730a4d1fe9555effbbdbf2d92de5eca6af01729aa7f6bfcfab142e9fa16574fbae62f099c29fd5a6b9d588e0543aa54fee9813d92f54a367a24afc523792e5e09bfe570de2a9e4b849e8b57f2489e8b36abd5e19142291478763c97cf8a87c767e4953c3b3c3d3e313c3b9ecb0e299ab1eed0f3250eb60ac8145bf6cfc6066f5bd2b8f81f3d5480ac48d1d41f3ce00cf33d3b1a8d8ecd745157cb074a9ec4bf76aedf1a8d9eaf71223b52b499f4fc960f9414797676f4fcaf8739ad0d3d1ff3ec88ecd0f32dcf8e0d9a1b388cc0a1f7cdc9f14a9ecb0caa2675134a7956851a48e8d7d0a6079396f24345aa90df8d3e7f3f5fdf866cd80302a99fbcb5050179f01612654414ee998a8fb7dcc7bd17ec461d4b57a1aedf912e07ab5f16838e92b96a31ca4dba8ff9f30296298d72141be326f3efc52179e38f8cb23118b54f541557c88e9e8f841ed1d0068894be22f69d00b3b84fb5c62979826b54f08d0b1a7c439ee050d1a8cf04b8420534a01bdadfe65d75b48370d41deda91dd0cc70e3541d49917fac5c614747f95b02f2649ff03c28fec7c9d683def2d6c0f6d75138a025c86f951a5afec641cb0fe1403e3028f4d92afb458e9679df6fc012f08e33a4e8032535b8c61f674851fc170fd01ae0269f0dce26ca51e2b5f5804128c23e7e9c8916c6a1d07f9cc95e48d10d37dc10b5c66d9baa299d711bf6d8b6c512c1e6d448e001f2c4be8c81279107288a327a0c518fdf1142e2e606afe4b5d25af953cb5c225fa5c486ada2e1d3d4e0dabe94225d395b93d226a4c8a6b81b1d3fce388acdb13a3abeade1c1ded0f1a32502bcc1516c8b34893f43c7bf79d1a1b15343c7686d441a1d1f3551263c85b3fd26ca757cbb537d622960391f2b3840a8037970409edc2cadecf1f92d91d852c79646506bffe3411f0f872bfb3275611c0e3836d469214572d3b2cbaa72a2bb7b76e3f1259a66643759ce7692def304797c00f2a0a185dfcaba624c9528f4b11c1d631cc5d65c79df50e8bf26c6a4f0a641672921bafecd4c45e01a3c9f621e78475a998e965e0bce8014c9bf801481685b732fc6a1d0bfc8d6641f70949569a5b47ccad9c959d4ce5eecca1078d320a594527eac68d8c1a0727e76c8505a8310d270ef8925e0a86d4a021e85ac29b06e88823a50dc1b122500eed03246b8c3064b992dd313f0be565eb2943c89a9f9a2e5ca6553d987c2f2f7b5a2e5a3902fa5d44e16c74b5f124e32e74b024e37ea469f0ef06ee1a38e54695c7ae53c9247829f0eb067af54b590826f792ef7e67bb77bdd7bb78b2bfbb9b8baf75e5c61cfe5f25cb6ed73f153eb494ef87a2e965aa79122f71a24a0b4bfc8138adff33e439e7832151eeaa19142ed92f0c25c3b0ca47618b8c951fcbb81e36fbc617dbdeba0ad4c85e772e1bc5ee94302f64a17cc0c23f4090d6d6ad0d044a06c27c373afc66511f0c89fdc0d77a3a293212f06331bb2dfd5632c5a9b8b1f79fe5e8fe7ed5f1e15d14dfee231508aa6c67d3730c6ddcc8ed4c9a8387ceffbbdf76247c01dc9eb0fe2ca0a5cc0fccf08f14382fc333d147f46c0f1a5f48fb2eaf0f5c0b5ede15f31c54704de75a6d2aa1aed58c53222b9742e79127347e201cee08f42b2bc542329f219e7a1cee820b1e33c60325371b3ecbade82daca90d214554ec5b2b975f2aa87b552f1a850243bd144b3572242a5a2a1a950522477be12de4e84965fc30611a708b575f21a5cd0848f4047992f65b6ac9c2b0753907c57a037566a8c3aaa2ca1a72428495ff690272b1ea3725528d31a29a24f6f4813fa94f6d094d21d9a528a84a694ea08694a8dd094521c9a3ebd9987c79022fa9283dc4504ae9287bdaedf9287fc7abf92b6d28726e887a43ed815949675e62362873491dfe3c302de9e5375c8131d7982c47c37f9c7ba83eba1e5ef7c31c0db4f32465d91221b5224a19ba69fac0c62fc1a5be0913c9739856b4608a54964019ea2019c9072c697f4655555a4192f94383eac684e431b192334ee462a56eeea16f3c100ef0dd24b06187bf916b77d645de7a6d4828c255a666ca04a343ce0ed359f1346978f1ce53a2947cb6ed4917487ea461da9ca8a85ab851c79a41a5ec92b69af46a390ce7924993f4672377abb98ba23752cddc80608386c8688e9483d0821c31139c420dce79c2412a594a250b5d65aadb5d67e417c41ececa05041c42f0815d3a5cd81990a2749d1fd7ec0f72fcf280053dc2781f54e7293fb304b815024ba5f651480d0c4758026f72bec555659ef2c598af555f6962ca5fa08ce607d755f661f10d8ca25d5cf9755b6bebad5b5aaa75c88f61979b26388ae5259facc4f9211b3ca7bce4851a49f8aeff4082f0635724ea76b5baacbb7b7d049df72f2efe51a522c85ad31b4fcbac261efd8fbafc0649453fa4d719ff85afbd4caaf526a49f5d5dd6e5d56d699ec233883cd1f0f705d399d8c38a1f0f6996ab320232323232323232323232323232323232323232323232323232323232323232323232303edcd77c2f3afe81c4c71398943a6b8dcf6d2a63a3cc0db4b170efc1b026fa7d151fe3704f61315a40e0ee7750116d1f2dd7168596272d306d83f66d904bcffef95fff2b54b2bdc000606060606060606060606060606060606060606060606060606060606060606060606e67a0cab61fb7ea1a335fc94c32e4c29fd99f3a5952e6b3e68feb67dc85f08807e660ff233ef0f7c0526fe182843d448d525429e7e49c915521252698525d654ab8fd42f51221212aaa1100ec2194a701eb8ba2443282ae1209c81a4d611101c80d44aebef2a67db1ee3bf990afcf19141a0ff007d7d4a3f9f0fe779985110b7fd8753d1d4b3bde43657a362432133084d1597b3b11adadfd20c6b0250600a1ab46330a44afc54268ab8e4d3df9e04f5b50f4108e86f7feb6b7f63563201fadb5b80fe6681fa5a866e727388da7a48038b8133f8fe8f08d863f29ed3baacafe6df69290a2e6862839c34fd0b5e75a57ea4fe43a1b81257e28a5c9126f4771543531c20234d1fab2b75a5c6a8a34aaa2db5544dd54dd1004146377553f2a4c271234f72745c9dbb234f4afc5fb8f880145192897e562807b4e7fd69f994346d31556cfed7755d52e6eb7a14eed76b8f424a6e03da5f2fb9eb6356c365adfd6be2be8968ff76db68436d2347a1a66db48db6d136da46d4444dd454575cfef79693e16d86eedfcb00d2023202619127963c113dfd8f943c09c00be04d1e4a2e8687b264c44de87beaca67e513e33392272cd4e4281bca4d2849deb74436c1404d9ff30b20ef13faa66400f286f213daf339ef135cde22edf9cf5b1443deaf3d00289177a88404a54772e8f3fba63e2b1fe73ea30f8b14c98989a404627c2fc35f5f1162f537d8f7fe86fb264290831532bc890fc1974bfcbdb7ef7d0864c825559e80f7f64b3caff072c98abf6f224337b1341d2a341d1baafe8ac0fbba01198190f6d5a0edfae3e17f3c7414fb1181ad10b75574e8af0aeb387f98851e85acaa6acbb77ee4a10a36923b19210e07db428aa8960367d0742411f0be6e50482d072ea07afa947e4828efab43e41150e45a2447c74de85fbc4323220d725333e5f4e711f024479e402892990220d39f3a5f42e74b749e44e747743ea4a3131a1919c1fe930176292d928799742ef415a7a22549e82d6e73353a14ca3127b6e841b006b91aa4e426f4419e64a5fa927f8e216f0c43de21ed2572492e91e491bc459eb15245e262f622212037ae83e9f359c15cf61b375946168b94ee4cc0bb8545e2e628f559d13a78cfd1688e3445b10f1f5b0e9326f163feae725cd1744bb9ea75ddb8bbdfd4b5392045f45f48d18e97e98448f41f0a614c4dd2847e8afede509a62bfa9a9ae68fa12c74d6d3b347ddfd70da6e3474a8ae836d2f4b7d1c6529ab199b618795261507271e52b025f5f0db67f414620244d3f521f0dde37f559d1f46fca475b4b8c7e0b90138ca9520243aa484a001bd41a37898f7214a862a551c90448fef32b48f20abfe85704f61a474951b46f3909f42eaefe08f9187a17578fc817794ce4e305e27f8570a0975cd523a08f1ffa8b827e8240944268126281264e3f846bf900916240688011c058490102e2209c6184f3c0d5a10ca128445f84863c08e781ab4119071ffa4101d3cfb2d734cdf3c900cb173c749c51aae8c86ddce66a747665a6a2a27ff95b1cc6e5ad565da8aa6ac5c84856495155b146a55321214f76aa1d222f433e6cb5e2bd1814aa2c915c9daa1a2179573ab47c908fbc2b23b4ac707c752354d1d8d0f22f9b6b4ecdb1b8aaa3ea5424a4480ee15467f28d96ff1181696559d6ef9a533db5ef2adad6eaa40fbbe392ffd9dc8043033029dab0a626c64f08f80b028e553e16bfa075e089027d85fd5bdf669514f408f9fd006f58132af103bcff061c1af080064800429f1cd42f4fee7cb843795c43c015c951dc74bb00235c4015c302fd57ccf7fc2207f05ff8cfcce5ac0879313f24c31430e7ede20ad87ffea634f2f2a8625c943c01bdfc600d7b28517467873ca17fd243de6ccbfb5f7ee47d02942f4a8a7838caa59126f293f7dd71e222a1e5d5a1a511a18be3dea03b7407e5c1d11e5224e98e964e825843f89e4ac4453f4608a5749f734e142a478e1c746727478e1c396a8e1c3972e4c86175cd8173dc1c37c7cd7173dc1c37078e0ec060cca87f4a75151de9fba7502fa15fbfc45f45d79c03cdf6882fe7cbf972be9c2fe7cbf972be9c2fe7cbf972be1c2944010707070707070707070707070707070707070707070707070707070707070707070707475e10c6f81581e1abc498e2a3aa8133f87f45a4403738855338e53373083833e11847c178543b99a9dac94cd54e66aa76325355e3282452a96432ed8a92389599706adbc1a999cca4fd412f12a5a21c64aa284701bd806868ff2def5aa31d54036443fb5f79d71beda09a98a8b40db6563dead09000002000a315000030140c87834291409424829eed1d14800e86964c66469f87035a92e428830c3404190223020200001041d00401d2c1241ecbb4220d256e7168c5bf6d9105cfe1270b93fe0349a5608816c62a561270c38462359e0e18bd4cf171bb78760d0e5f5793baac34182c53a00b096a407bff98c13a3ce0b77f99f721080737607c7db973d884b39298de3c7cd90ad4c10a2aa66c0518f20e4f648bebf0c47726b42f5de03ec5975f657ed5064dcd4b8cb07d734ebea17be5266de017132645218dd5b2289e951fcb0ae14fd08b19bcefdd1a78717717c5aea43aa94927faefba1eecf685fa8ebae8f9426d37c49d344da80decabb6c938c4b79999bdb83af145c5507e6f103f45e196d68e2223d3e2af3ed6c77eb857f6916891815af05f55d8e936345aae504ad94716f8d7a285311d4b35231fea1d7438ff0be468222ee1af531cf0ae3971a3ff779099feea4115d1349711f72598a62d240070405bb585c00be180b105cc921a7e496955ad7217c58d3ed01afb30f0c597ab67fdf4c3e3077ac5563055a9b1577ae858ec838e757a4c5536398a38841968aac1aa8c0c68402c4e0d430c53259dc416956448230d4b710ff4b496c60161430420a5361acf4aded269418835c362131e7b20775c62edf7db76c4aed8bdd6e8e7740e0d502e536bae04a6586985ec99ca5246aa736367d921c11ca0539d12ccc29ada00a20d698bf71111e19299f98e38636cfc12c6faa0b58a3493b3f85fdc51c323c884c5e02f9b63565272c1939141f0e3d78768cac1b904671270e117ddddf5f06cef2638f182bcab1e24f8ee54c75c03321ad265ae966388a745be248788b316d3e0c1d4071a417c11f59af92fdff1ca2757147ee9fc8a5254bda82dd38d6d0207709ad6230f1405c5d4cb71388dcb83161dcb58f1b64b94058a643d8b335864d284b5ccd926b15b062baa410487a1adb704810158c47e3a5a66f5313f2b5a5a388a647bf4f983118cf6ef8e3fbaff79791d6f7bcf240f20521292bba91a209747d0e769f9de194af3c4d57ed8c249e87306f5e885e43031f3d2ea421c02fe127ee572c238f3eaceacbad5bd5f998bb132872566894dbf4bd10e5f2c42c716a4da1aeb1b3a80963343f4700221f1a981401a1c59fd3ee31a8fe1fe76666e0b98fb5f002418e62d4f5bf05da2a574fc2b930072eb559a25843d44b078f06992a508200146f778471276d9ef910ffaf9f91b1c3d28e79b3ce22f2d8292a78bac6f6a490df0d2bb5ed46cde920b1267e917a827622396389a9f4ce8e39468809e0af8dff91e81c62411e3cb3ff287d5a9fc4104cdc2590c570e18f2e63f0235bbde7fd1edde71cf603752c1d87436a65679883917c539dfc84a7136502bb7d11969a57e4ba77612ae5676e8db6f3a6ad923734b0eeb81581214a2df07bd9b36ff97b2e74973d64908fd83eedf7bc5fdc1456f9d5acec364b807c8b658d5a25ba7d5c82624fdcce1e4336714c43e6efcaf863713e14efdbe4a2fc67b5eec6100d01e1137e598ff8330d3fcefc556e49280f9da10aeff4eff656a8de5e4e87df4edd836472ba516e48749e6c1dae6c53dd5d6c2a574f052e5ac9891a0e0c86133f19c125da2492e7ab1e21682f01211e8495607b949317281e1c80b2513cf096e987a7fa10fb10291641603e850d2d0df7883a1389b4fccce35ef1383442eb230e105350634b201a6424fa63ec1a3b805a2bcf4c3cb949af4738b510c99cb5945c30adfbcd4686b9c22516bc33b8e83332d5589246eb2581386e4989be7cb44dc76b360b1f2b48469a558c35a5ceef334f8b77e2c95ceeb5a7dc3e3f7443d12aefd2f0634cc9512436c60bd78c0094c70a4f80b60ca63a07bbe802af50144f61a14f209e5f6649e8f28f1602e39050ebe37d9758cf9f7c36725d4a19c6c2cfac5f74ce6cbd05fbd419d9f6759d36d3e26b3b90de26598b2ff6c3c1f28311a7497cb4aa5c44b2d82096a04ce04159a05aa98213363051d87070287d7a71159cc35d6adcdde2a83fa6483f20ad64590802a81f634820924eef5236f07722abaf4b7bcab398684e1ad01ab40693b685d66ad6aa13526c0ca283929c4217f4093fa036f1d19abab98a19be4ca34ee4f1dd05befe76871e89fc43616ede4ae20949741545a7b209c1c79068067eb5b3f2617a66fba36d82122ac472da63e31d8c769782a2941faf2b4d2546ce4b5aecf3e2d140ff80ec5e773068e548ce6cd1f6782be7523c869db7b8c6d5233d54832a53fa4e2edff7e89c61cc9f222d315cbed0d1464261cfdf23ebbe188867ab0d7ceb7ea7c84d9f934cf5ee2bace334121654e4e6aacfbe13e63ad1bbf8aa304bcac267ac52284f5dd03f737559b52b9df13fd6275ad9f81cc44543a8930e3a16013521e203d9b1476af9a05bd662b82dedba0e765f40026f3145aaa296adeb7f801144cee96adee87fa9253acd1c2e2413b2c411f644d188650483425e896324b094d0dac7d7ba037a37947e5643e71308365d159fb7a6ef5295106b3133419233078484513084f167b5a37239b72a9cfaf6d0ff40f6aaa7e5db53cc89b5fe62f705953e338a79ff89fa851fc45947703dc84598552d89e82969f454f37ce77d9f75fa1fafd6e276b181e5befd34397c7b293474f286a6bdd1356a998b24f9929ff8c1f89bfeef8d008e8c06ec781147fdf0110f2a1d796dace12dbf58756564c51562455cf3e56178d4c5a5f3a96cef42d2efb979164a14c8df72e7bc608afd6bd8633f61afcf94578835a40a97956ab8e1cafa355a061bdf97d09284754a05dbf6d8f2e15688dfe0774d3f59b5115e500d22f3f000acb14e3a7578372ff78bb9daf7eb92d1ce68af8866e1d76c1ff463fab2a05b3589cadb9b3e9384693009fdccc9341b97ac53ada7e930deb83908f6ce08ea5eb817da420abceb5ca26ddfb9e57eacf80c515557cddd821c4d84b6305f30846b21fdd83be9fcd85620f4ff3129c6ca75319613af3f9299f22eeec101696a6d5fa72cbe1bae3caddb94272f4ff23fd47e051def391f694712ede32f057524b3e85c974a8d3d8d0a6f2237bd790cac78a44e9d7283c3ccb042fd50ec88499f2a78d045be3a65990f21dd54e582c2ab4a20f0664d184d9bf8435dad2442b702fe64bf4b1c5932c62ceaa35729989c96fdd164d0e13866190b0014e2b7c1d7ff227d85580a3f95218bca10df99947ec53570f96b10a7064da21d8c3a56e21c32c06d131b5aa02e0a72a461cfdfab58992296961daeb5fdbacd0e2c9c9823525316772f364eb70ff2a7134c68e90ffa864a0e1b2629636e8ec4d756197f6036979c59752dceea6fe72e425347be36c869ddf0d0b6495aea0a657d2683c26ea9796153728af681e3757b21b1b4d6d7ccedefa4fa68e04886e730f79c3c9fdb628843e82175640f8b9884963ea26081af7bd9930c3a574735ab5012d088a404bd61e3bbe55b7bfcb65d4878e33fdea66cb43e58ab6645a1434821f329b0d1dc85f04c3abcb8ba0d2ac0c4f348b2e76e8fddf3b3e16381438108c57fceb1e9b82808e6f02088f2c086ed565d24a9373e83aa0ea5a57cc7b01d6ad7ab4df19273b5dee05a04c25c6a1cc0a6d8024b4d1b8db9600822cf7cc4e769e6f55aa7fafe6170694a496decba55115e6075bdb382d3df4945446896000298a1f3b5dd80042a60d4f6a1ccd319822875359e9ed023660c32786c6a5ad127816804838e8f732ab089b8cc9dfd42b420b529dc1e547b68513abe6c5df8da203788f7a53137dd2d6530a91095f4b99244e0f2c9b7377b9f2eed8411dcc45b044b1fad9bd63ed99d4869e2258db8bca6df6243180b735111de8912454528e5ad9ca43e80b0ce7120ad043d86957bef8b7052cc93937061aface7b3e6e49718fa7203b92eb8c028ed63c8102c23de1a8b0f8d7647d6b10bb2a4aea9103e109bb952db92a221410722e58d419818895ff29fae3403bb6d0123dcc485f0de9e114419ce1185af58d9db64d10d10a8f55e3523c781c65826797160c854a8b9b850a631d48d2330fa481f18292b924eed831a6e15e9b930f275a7d4c00b994bd43e53106654b257e120dde5d4489415f050b3c2324ea6553805cf4c58b43895eecfdc215415ee02c07a9acfa939ea4645c36befb592a49ee1687115d6a1da0036096e6e9cdc66bff439dc56d6d775b13290e3f100794b70be6e5eec63f47aef5b29b151154e16ddbf6b653b1f19463d61a845b22c48acefe1ab5f3f5b9cc711a2f63adcb9450e2fb7caf51466397d0acd62e2f32b284ab26c686f7b704c40424ab54bb18a9bb0396f98d836062f875320e5895758dfb694b33664ee484e0660572a3b8b6cc3b767a3666c66b552f270ecca72430bc9beca71ad60c49b5e794ef3c380d4241e8a65b90eba93c87b08d47e930ff9c4603232c0858288b6df031c8c87f9f199cd4ee052db3bc914626f47114df7e0311c3d077eb6179702ae8e184e3e072d3dcd4b1bd3fd04f10f004d2956a6136d67beab1df2993d51f5c097a1e5d9ad0dce1181531630996a76a9a8a2eb5e11b64e585218f6a18bbd744afb8bb1f16e9a793f0ee80b6e64294aa24e926f806e9e854efa79a5cab9a576e2bf62ba9738a767461b1daa4828326a1d22296f5ed9df099fc5b7b133e67a2bdbc64a2ba5f33daf20a44bc383b627ba4893f621ba2924f4bfc83b2773520d362d02b2af7a2453463bd3cfc5dd48bc5eec54557ce1b1bdacc1b0edc6fd3a37e5b2f654a847117cba21d7cb5d0658ceb1265f31ca67a3baae0a0d4741146d6ce7b2117412c1c233a4459b0b00e8d74085788af75e70c9f16e27b42efb586f50c39733a4f611baf0808b8515d28f6d93750a204ecc4fc409180aefdc16d78f5772f4ca994e0a8ebfe6ee48dd77973068fc08663a668598da8a61dfdc9cda433b94b6d716fac84f51ca7a7a33d136e571e6d4d7cd8b48a84a41ed30728f2516c7f54d43d0945323d0366446e9f3836f530bba2d64d8b43696de34537f98488c8e8664ea4b24e9afc01f89a08c6c213a032c8e51694f10788f2fb01617cb8efcd49cb54fb014dbc7e8072cb936c47a5c954fa011b7c7ec020a56bd23729e53808198d75b4d07aeef4449c8a78b1bc94f1d439d35dfcb36ddc35ad655cc892d0f3762947c9a2dabcc59ac0f522516f094bde5f406ad34dee5b6d71df6296bae30b3da5fa6c79d96c917bb06a51092fe76fcbba400ff5117f7aa107c5341f0f75c052fe4b801b30dcd3a8c62885d575ba4441eec51e119af1f6f94d289db10ce705bb14d4f5283fb620dc95f815eec1bbc021773052f9e1863415d822e5baded25e2abad8989610a79dd0bfa1bc4e07175d2a591105ef155d096056eae579efbb0e2630fdf10bb1c498a598b1b1656934d0bdec488aea3bfda9d85d584d144497739941313a367e2bf99c12a7b66b7a7bc0d0e74262a03d2f37166776b05237798e5ce2314809c0590a48babbc8ee800c1b829c8a3b66b6c616df452e001e2f9a486a824be14be4940f2a77c32368e7c05cefa77d102293998a96f6f3891d69e6c425664665a57b9f74c16a74a96b7efcd6da69661124a5be4ffc5e3e88b78d2c3c2bdd2b91d5bef3347a3b2e56fbe0c5a59c3b933f9be03afa7804713c7e63737e74d9a98b9becd1deae4dd6952857a631af569409a9793f1125c6155a5182ba4b518f356b71aaa1a3ef76b210d61b4000b023d408dc973905d90122b84e8a87cd62f44f95670cb339a3dca799aba9853e109dd4bdc819b8b35b69bc4ab0c64fac70f341a76171610b88d3109546a3d970915c3d472054160bd4712b261249edf3f1355d6c3cea9161bc493fd01867ae0599351d4d764bb54ed6b78d404a1324a3b9d6409cc0bd2507d67df2251229067f30d0f63d29c6c60bf3c2c08634ec5c4c2dabce40190d810ae9a91105a0742e1417fb5dadb797532952c1ca72b41ec7f543c5a79015319e5666e0b249a87e74c089ca193519d9b96055982481360a0960b2c762207477192d1989f7206721885ef1e1f54284c3b3706b64739a78b778b1e31a681f7309edc7fbd93b9c6f84ec4fa84da88a943c4aac2edecf0a862682a11adb90135d1e2ded19861df0ae06152a6c393ceacd7d4adc2ba8d15c99d0089a1b42e31a97906cc2c026475649ea0dc14871c3ee68bb91535f1154d64d0c5d0c83dd1908d086fb942874bea00a5fe02d109f0b7d66eea0990d50632a383f1494167773083f31b890addeeb9c5ca3d7604095e99a29aadc71a5f7aac1637033bb73e7f44fe5bb7bcd9ccbb9fd539118b359ec6521efc70eb91dd7adbaedb01afdb28cdf6c10b90ea4010c1ff1740b942d1b4cc60cfd99ae73decfb2d1614448e5b352df11dabe48ef5b703b966feb279bf68826bd6aecc2af9ccd4567ae8b830dc6194771817ccccf9a0be0632cc194026e169f0bfcb10bd45eff8ac0f6bed13d2e5b7010b41ae3677892eec6d4bdd849be3bdf70ab8ec6263ec5051e7e5ed8a5403f9850644e71205521aaf3ea62877acb7efcb0551c62d5cbbc01b10f8bd58348201e78c3acf54d4daf73ab65fb1647902a44c5a53aa7c38de8ace6a5b5c8c9c19f5fa1ad3bf1a6830e3aba830b9d95057ab450c314ea0d4360e471145d748fc046ce1978db99f2f468699ed6daff40d4464505e99f46144b0701eaaaeaac115e047de87e041b914dd89e031a75e4d89a7bdc57d1706bdb2fb737caaa2b344c7602af9612798ee9e2a85bfe5774be12b73ba22f2909ec955b57d3e55fd32fe3fa45d800fc0e91afd6358ceca3384846a24ca2c4ea4fe552a3e147445246ce3f514a34d62d289599fd388658d78eac2cfe7571fdd2ba9dff1fe8edbeb882d67b0f6137f1922547df1cd74e2bf7371204e411d15e6131ab03cc3b35013e2a55219c4269be527cdefe5b8176e6e252f4897e087add3f315fffc9500f8fdbfc917868dfade1e3a0ee32a78f863a506af932f23ed4f7ae1fb4263ff7aae000a1451cc9389850b4f26b8919a9a9ba1b7139d45db3e7f3fb72b1759f33782cc50ae59d477683df78753b41c294b7c5f9bc72b34cd9fd77c54697881a1bfb7efddc683da188a2eb8e6cff5f323a70e571d410d097e19c4ad26d2af8266e8256fc2d9460a4744d3f27f208bc90df822f21c07ba5f6950bf6a58a15150762c23a38428c1ec675bceb169cfcba8dff5389febe6a3aeac29d0b27ea06ad85375a1ec6c16c32ecbb77b7de8752830c2a3173a08b651063fa5b540a51cf997634cca8f1829ff84608538abecfea58395a5ffa58b1609861531409586d32955f7317479b1aefbfd7c927dccafd9aeaa07fbc3597019c5e8f110afded1a8611e32d6fefdcf8e7082fc02edd5fc0496e5031802976577073f01f60ce786e0226d88bcdd9fda337b40ae5c056d3fdf14897397473655158afa2df34dbe0b1503d6931c5858b89facf08ee2f15806007c82e939c9935c685f0790ac80795296285b59ac2de4c8aedea00f02df6087d1b7d459a64ed908b50758a2def305b8172beddc777a48e1dde810deb4e4e24b295020fbf50a743c13e72f98a1817f583427752b7b60b19b42eea1dc252bd3f2aea0c6f4035df5dd487ae55af29a529462cb966f0a416e8ab88bd5071daa70e8685089fc717b8837f3b18fdad811318800cb5e8655d9d0dd474d5e5c31901bb042727105239cd07f13b0e4d605d4fb4006563f1fa6f6319682a9acfa8084bff92f66eaa445a7641791e24448da074f1678ed5e87ed6ad89611bed61188d0ff52ae5802b1dff6e6a92e32526c86000debdaef6614bec1c5b1ae63fe70ada3e14878e046250d3da9dd9eb47c9b263203a2429ac64d56dd477e37f99518ef69af4cdb1f9631ebc1ca1de4b1c464731c847406f342a514d634e5978d3c289e00a54b90b3e88584bef4237aef0061a2bf0b0670f2fce76304ab6305439832b09c3f66caa3ef4fd00191aecd127b505a7150a3ead10ce805d75ba2576cc10b1b7e8ae64a58e94e6ba94b359b5db1698222cce138de1c41304b4b01f43544687767466781ca21b18e24b3c151f97ad9af667be0cff9bb250a47d6b7b89d3b1e5db4abaa568dc2772e9e103391e76a693e87989fb2f3db1180c13ce875446bf5f50b3b81c3338f2a15b6fa15c2621b531d2f56322d18e892a8cfab0f6c424b9af5db7f1099496fbf8c7a39bcee03559300a5b667da35a133585f75e5dae5c39fe0ff324f18cad920592625fd08026463d1d5d612b06a67a3f599407abbfed9aeb228c0d02a560072d9951fc6a1df57ea17d9856ed3facd1d55a994b18b6aeb92783082b3f46e8a5c948085259f5b6774b2edad1fbde7e6d9827285ebe258e5a2b454b595f2ca9241f83bbb96c1def6dc2db034de1f111e38046e0675017e089edfe9ba5a160b8ffe8160568d37ef08cb1b8f6a2441b8f7593ec13e20db5648fdfad6b1debb5bce60828cafde26af59902a23a3f16929fb6e89519c2fccb0ae39a3c5d6edb72e0fd0259401746b5c94b533e0be995cc16e7e15ce3342bbf85214535b3d8e1e829545f6d00e7b64ed16137cc21772585bdaded95f4be0a77e6057c9da5800206098ef3494d50974219614e86005481faccd293128d4d2cb298fe694e1f4bda38a4b4ddc15f0f5a8233bd569ea1172b0a4299408f78ae70f010827e049dd7e0790dd4c4b1828aa320a969b1e550d6372e8a4f4f4710655098dc7a8436f7220f602cdb4a5f713982362996f6d8465a353d62df001619b54424fa8f58c546f70e731d1436eee0e55107052844f10259e90c6729abf830f82c22160f0665189b78194606630f199232b58255476e82ea3ffba6a301e5a2787367eb466670a525b4a60a1846821389a03eeb40ab481f5e6a9fcdcce5a197b5bb088e9a5865ae25a81a6b8a708e100be8456cdc8d47d92928a853d0307c0a087a0a84f64105918e8054242af89c0a2852a97a5a171ef8cd9d59ff8572bdf9786e3ac3b4dda583ac91e77d9c8cb328a9b5fed15f93cc980d01b96d9f83e8950c65784a1b3f6b2b163ccec491c3879e063e79f2a3ae812ec0b2696565d76f7de19a6405fe798a5c40696551c09a890a6f7a4f3bafe8e3bd11abf79d6aee052d03430931b2953db4cd770777e979734b87b6843c29dbd382393f5aaf403b62e351148e1ed655b5e8a21735b93516f73abdac0a28e3ce74940776759278848e65d4b24dbbc14adf7a4afe28cb99208c04cb54027cbad30e68cf9833c1c9b9f811294d555e6dd81410d7a3406ec0b3230575ef7f24f5b9cdc372ad0015ba1d1665104f93f549614bfdc011806b2088f06d0f32bbd7eb41b376fa9779b05be0d70b942232d8c8738c9bfd938eec53f4f1f2b5a67ebee79723582f84f31f50e91bec89faf7a0a783ff607e10313b9670191997936f2265abae79c5663132a74d23d5722b26b9afe0509b9d22c6f1d5f8ececc063396f029acbc6062eb8c974147838a3cffc560f029c9412f98566459550aeb0c342127f9add4988eb27c746924a699b2cc913f48a2fbee742a82a917c2d23b2089b1fd9ae48bd9a3c9b0058539b6ba668d007dd5604b93ce3886f95db5a534ae4538c02d46c8a50ea718c89df8c3843c3483a43724183722268924fdae7b552ebb160eb04a72e2d476d130fcab2fa77d848811f8f59641ce45b0f693f167811ab500f3d289d04a80e1edc6e178df4e0ab00a348ae056801175ec62627fbf525c33898077babad84ea6c2cc0d8974443dad49701e69aca4cc1972a7f0618b6465de6d0eca0373dc474705d475b060167d20609c5194b02f38280febdef9cbdee94d7ce5f1aea632697a975a15efe646446ced3aa169010f5ab2a88e0aac5fb8d65e849ddb7474bfab51c92643194596ee6971ed8192c672afc503a279d0c3d2f21ed7fd39941e633468c0d03c48312547b77fdc3b75a4024dd6857d2b52cf45ad61d3c6f5cd8866abee6edd0844ef1b7506233fc2f4bc2307d9e7837b37dc0f7ea525a971b28d1b0b1623da1d4843f37a8f7b11ac603b4d4b85682b5b6b68f7ded8f81a0a57242631bec1cc71fc371bc7d300d1370811f8b0b60ceffb223ece52782ca2e39bdee480f27fcc44b475646dc8775a1e7fc0f830a7df1fbe9cfefe278333247d005ab609152b0c8d98d735af767bb29f333bab057f95e5ff0cdf88bbecb67907170a3c45957d7d5d18b55aa86f85c1420605830ba5865ad675947de0a93a6d5c439f1651c2fa0b701dbbb71d17ab35b57a9f79367e7eb237af756efea98d25ca3bee2f7b5b9ba6111710de7ff4bb59758586b7298c565d7be2778aa0a6b0ad902b1223406d1a8ca5453e405168bac31680650504293a0c693c1eaf6fa4ea3d06b8c903f2f897fa2f7dfc16cb594e25f833afde65acd056f3605990b57171f27fd24b9c8e008db5b1448315a2c4650311531f8eb61f4289a131097b98e22ddca9f91ed20ae4ace9dec6f1467354906b6e2a8ff593f73168de20b5ae5711801afd54838d8ae21afc8465982db0dc23feaa2b911bc66a0deeca1123870329b015feb0ea018cf98f2d21972edbfc145fcba8fc6cb3d77f945c8ac7a95ddf1efb32d70290c106a2bcb402360191c794f9efec77ec069ef6fb8d734981f6d228e0576a3033ce091797dbb72070efa7b805828deb49e7889f66bccf61245e8acff17b7aad546eae830b8211b0dcc60d9aa746ca7b0cdf60bea8e609083aff947f332cf8719099e4660ce3443c8f68e339670a7ffc16497494d1c5ef98628fbe541ed4c4e384059cb41044b7f813e90068bbb7de171296b7e60cbcbdfad9572dbe5f27d7ad3cc20c6d6604ae834957b91a3e33cb3bb983451dbbfb5c0b36a3c697188a487fd0ed85d9c1d73cfc0e27fecc63bd30b3eea59810e7e534429658986aa4aab76f3c360949c984611ab144a9d9edb05b8a2802e0526afdbe6930b0d33b8eacedfaeb6b0221c1c6e7a37c4a808b69c0f8e0badd910f08845ff18304a196e94a1a75a1e47f5967b13ec59c7378c5da1e06a549bc2ad1870826d02a6e281e672f0b409e6e785572d6f1b027bb8856c938080db36120f6d2f3628c73e104dd00c1b3ff51e650d476af804fcb225f0b02355de6a504e1b53f038e6eb2c784cbaac992386238d63924c620ff41ff403df4a14f034a7e94019280f5090bd6a23dd5c626690343cc21bd48eac746a4d74b4cd8316982aeedc64449017c17da3248bb196800e7a20e1648fed99d4641fa11c7f405b6b0938686296ae122ff803e1c238c8cb00055f0614fcd433a1e0ab064b006a2cecc8835b6100077e35b0ec07a080cd1e59b8f8ab23e37cf7d5ecfa6f17924d0386d2d755c04933b171a61461873ca0c1fc9c39c4fc4c67acdf3760ca4d19b3a18e3e66096290628a04be2f7d8f2419d2e04f4db2967423648bd2b65bfbca48d7d2b7136b049bf812ba39d6a058f9b4864405193dab1a841d0044879d0ac47c6ce7090835932bba75836e41f73b50d9a0cac2c6294fa47d56eae7a157f100bfb6dcddc033dfddfde4bd9c0cd75d166de687422908f65aaec5c5260994d910c1d9bdcf36e3e5f6229828648441c7299a886cad77ae8818c30fb199ee898c86cd973b8a64133f1b8a83fb323ac8cfb687c37f06e042710c2cc11ebe958108e107ac719eb3a0a10dfefcd062dcb64fec16e73490cf1b410fabe1e8b0dd60b96053f3c121e601c502281ac872c08f867a3ea0cfb3b78d76ad1bee44af7c1c8afae291b7372a7d1d50f653ff80ba8ffaac0029b0dc471e17ea10b87da965652f08253b3b65e0eea7ce1bb73332fe7160738ffd835d567249136ee0189b1ba238b359d40cbc5546fb4ec8f88822a365e90c8edbd144c77c3e84f348e922c4c3b6346c475b744b5ea96808389a08fa1a1d193a99f5c22c938797bf394574e1f0b78f26b6ccc4b9bacef6cbd1c467c76bd4210dcb5b282a520335e0f5262a1b81766d3bdf50d78b6569661e4d04545a628fe094d1f0c0fe682293c38dec1c8fb11ec860e3c096fbf57f6e9f8cb13417ec8773345171226fdcc2e30647e6fc68e236cd3f37e58d3b9c0c0ab6f28238d9b3f2a799429c75b695899277a0894371d1d44329acb5aeed52936a4893fe21bdc29cbf06cc4583b053531927e203df3e6ce886dcb561d5b5365886a2389a1863dff8d517c1f1a0b4b2cb4faffb728e26869a9bdbdd5043a9d741a30be334e9757279d6d1444e9f08ae057797b0c5a501b9604899b30513773b5257da96119d3235c54da04d648a0dc99df3d61968cf95efeb134d94a2a4177b6f7707d2d32cc709fd775175a8bef8e0e6b5819747144cc8b3a511d1446f0e29fd284d0aa96981d6bdf19466fbdbaefb977dab58badab97f520702cca6b4134d9408d3acf64fdda53a8ad852bb8d2b5906b735a2eee18e9edb2d40bf2422a2e5b85c55ebf0e9fc6cfc694f1983d842de8d0e5bed81e07a4907b9fb4369c8225868d9e2453491a5561a062ea7ad4e44f8138696392aeb0a5af1c4fac0d09bd3238b503b65d6efca9c41b5bc36e2cde925d144b8cf0e2bdd70a473e5d43c7634aa2a61f51484cb61886d1400e2c666878083faa472258d1b33fa44131fe0700cb74347cb304232a83f8dcd3cf14c6407c1552c01a551b032290bd371b0de9d23a8d3160cabd05d1621a289c043710beba203ce326f2143af99075c88f3191e58c19592537b93ab28d881b5a0600e173a8eb8b0215bfb118a6c2517b20f56fbff1c7d9c1c113c5f73a192342b2dbab0a961972c38842c0a0c71291563d77b07fd23967d3f6b53170e606cfb0f38ce7c7037d885485fc9f216ebe02e84fa6afb77217cc48385d0eb78e1160b89b0baaa2f4f6cbabbcac1c03eb11ccbdd641b9daa8dde143a24bf01c5ecddadade2098e13fbf6f90398087a8eef7cf6100c0f6a7e774cf0d6ea01c7af7ad718f2d76375a5ed3f16b44ab505fdb7399955e536af579e39b2f6a19a7db1eb45ced1446210f0b4ff655fdf2f21ed3fd2d2fe0dfeddc37c8a4a2f7aadfa27c9b9179f7256491b0cc97fd934553f2e3caac2bd3e808060791beef36f2d54e53dca1271c37f17fc3256aeaf0738416ef8ef845fceeaba580870f0a21b262d7d2f3b011c3ed7e7c1e370374c7fc45f5e955aec77cb74baad580ede7011329af65f7eccd9ac83d763471811f7ad785fa820b405cc0fae88b92ee0bbb245ea93fc886cf14fa41f7a3cfb6d9953dcfdaf10fa64b97e951616bbd5cbad70b5683d4efc7619d8dd39afe31698a1cf5c430b1ef9bd1b0286a003fca425fdbef76abe59d968a379e450f974ee6c685e55052c90f7722e39a9a13c560bbc38b7c54706ed42cf1065e07004676fd313040fb25724f5a87128fde2b9fb30b8944cade697802543d49c7502b58feefb892c83e12c82661993f2a8b5e2b414e8f63d393420976cb51f24b855fc3e9147e52fdf32228fec47e7c1d8c99a38660badf5f0a8b2b785064f599eeae5401e4889eb35a5c057af91b525af76204788b2e9bc4c66c4b42693e4e9915abf3b461335e113639726c4aaa4db9a4cd422612d0f524f2aae814dfa8848359904570dba721d354af66da2770202bb8a18171e261cae3958cbca7af4a04292ccaf634a8631fb7d17d47bee017f35b00030c5730ffaaac56e4f05abcd4a6c21f101f64e14bf555bcb9ae11334cdcf1bf95d63a9ce665ace9bac8f923d0b8d3f2bf0f8883605c9d9721367237f60cc501aa5e2cc6f1c2b335dac57fdfe2d5a5e74ce9f93ef20763140a345dd078307a750ff629a55934717b7f79a38f6dbc0ed28d9fa248e78f1e29c2654a333fb09072e9bbe5d6df1fc4116205c5e359f4a360388e7b4ecdc9c695812d1bfe150d66fdc6ecfb4619da68d716ec08e59b353a3efa9f553c9052b6d6917ecef6aef1b4beda3fba6475f4e67c2d3ca0a91942a3ca8da77a20aebbc4b0edfe8c5edad85be677df3e76aff564497882d4d94af7b082ceaff2ba5bc897fc2569a9208927a7abc2d0b132086f0ca48ea3d92b52046ca7a17010b94c13233a9277ec2ad9504c78814ae57898a5e00e53900d82d885f123486edafc6705866ad8978488b06630a7133f3e9482dd711c6a3df35db40792d798d0c8f6045d0880a921b7e6d3db8f2bf0ab9a3e1852141b26986585925fc33ebf802fe9261bdeab959b5ff836c9ab78aa50553401460d494762709da7bc5998c35b9a7f0c710ed2d1784b045da288c3a2cbab98ea7e86ee2ad59a48078b051b3f6c5691e261727a020ebc07d1302a739998d9af9d207e21ca5e0bcb457e6b0191b1c847bdb32cbdada8998c1b99a0151ed7e0e5d181c7b491ef0882d4f29044f292c03fb5819801e43d71cbe6d5d048a2659f5fdb4baad4bfb19f6d3daa3359854ff878ec382cce287f9a278cfe421585c72ce83882432e60f5842f4f8f25aede773fda6dc9cd2fb3dbe7ddb5891b2b21fa9ac51fcae59c080893d4c19f74978248c1569e5afbaaf652aad7d26c565b9b2a4d49da574c593d36bcb699dff8e4e6c0347e60f012412ffe6ad82333261d4a0e971291e8b598b8c65fb72d6594809ddf07bf07b850f14973b150e43c177017cde2c6f32d880251f16c7d843e8d5138b820bf57cdb122c64e605011d0c2717655920917c5427947decf909997c1bfad1956774daa349444a337b9b0d7e01337c91a7e843b85178d7c7d902faccdb06b808992be05608ff8d33e6b56eb5c5754978ca8b3c912bdcbdb39422c90c6bc2133b3c5b3d15087f6000f7293bea16e6f08167aa5c848b9a6fd6f251956084153e20c13736a651397ff56e46563f4905f8a93dfcf5f7a4688094b38b0932193311e268e21d12feba620fb93df9668a0702996309d77eafe4ae29a12600424ceac6a728568d4bfabaf9329da1775b48a8a58ba948e8b4829a83144ece869964eefcb63c0da63b4aa328ff71f552ae2602b5819a4b2d6314a8c916b4d019a22c15b6db5b1f77a7fc98ebeac1591ea3921914d752338d5f393a2caec41af6f37f41aca23acc46972018217e7295fd1106cd529934c54b8cda7f2428d83b4249b98bf95576a4f331990196a3f15fd9d37ee885cd2deb8b19648093cf8f1a78ea35ca342a294ac1b5674bcdd51583c9b93e2d33e9e2bbcc5dde57cd23be23f33524a62962da84f18fd8324b50c000e1efac613ff7bd9092cfd4198e373e466f984e599ec92945cdb3b289a4ac88ac082c5661223c795de09f19609dcf4af068a6458daa4918ff98e34b0aec84be0cad57c201a738f5ee251a186f1912a326ce80c7cd2a33d891d7213006e7d727b86ca55266541afea681f91a5c6465f1dad4aec7e711e67241e794d72827a89e24f369a5c487de71a114d1f31b01e77dea431076a5ef6ff495f3520f2f5a53a7f7db8d5463e0be416ea58482cd2b2d5eb5f8c951eb672a09f35f0d37c6f05d7ec21cfaa58abafb52e9f76f8da6347b5009b44bd13de65e95bd50319ebf27c534ae75f44b2d7653a6891ad7051457a65624d718e2d6da4404c0ae9429599596230bb1f8f476ea7da9410e5f6363839c6839209b12636063e01f3e8058b4c95c996c005a8d40ab0d8f7c4950bd96593bbe127e2e9b08dce8084425349a2691c26a6722b45efee98e13844b9546c861d8ca4f0d8cbe55373991e8081de23fe704a339a1be763c50074d4b714067314d56c7309b9d07a8a3903261a6e4a873b288871c02f037acaddfe8f8de48b3b0abe31eb387eed34e21682c00ce3767cbdfaba560eb06702132bfe361c0c519b556c58eb52270e9749840424b7bc236a67177c6f12da8a9c58da1e3615198c68eed52ea34b3eff67a9430051a930e0124da20de5086cb5dc852514c4dd65f6596c3a2e2fa64874e96b491e471f7793c2e9c7bc9291c63a94788024362967f943ad07bef520c3470b319d68a102894c16c6d54dc3f0478dd6aa21a0d4d3f8da0b6673d5f4bb8cbb6410312a7e8f7e4130f22f36efe89f69e4a4b1bc49f7288635132155c30b861dd025423b360c0848b6f4d8f258d4d0dab323857bb1a374da794f3ddfb2fa8a5639d68dce15a0ed051380cd2f806006ab9fd73e80d5ff6078555b6293d70fc263a350e843f0f7c50dd8dc91c780dc29488257d5d0f2382120f93deaa9d12afe32fe6ce0a2826e62b5a0471e312795a9e857dc5e08c46ad8726fd5920f0fddd6561b39b7211cf7052c2384509f8afc0ae5742e0654d52e5e598a015ba16bb331d32d58243aae2f3239f5856d732561c1b097f71292b848d36572bbf326c7b75862fa7c05d7cc57a070367dc9d067134ce546ffed6344fdd10d1249dd0b31e88d32ca51cb963c56f9838f9db5509a44832f01b765f53f8fa4b42994eeed77dd636f80417f251e19b0e44ad7a289b3457ddfd9e897e27d2d40a303d0b02064587d01fb2e871b92d27ed10a59ea2f996a299c1330e4e2b24b049617023470640b63b084a0f4ba935d0fb9806f0dc28d170badc8bbb798a79e2c75903a9843efbe692ef5cdfa1bd841184451af75df109cc208ea09a4c734f477ab876216878e6335e221d1914c526aae7122fb464e23b68cff1e243af4f268a99fe9e152a3c817ca27542f38d97cad329862202b8651156216cb161b72985e497b55bcf809104b3b028614cfe61397be6c6952a5f5dd2773dacf11a9b83563f0feff5dfa2fd15a2dafd111e9ee511c9cdbb96d1a96f2ff72d2b96a158229552f1ad22d12337a1b388c58d1dd10a423a56322a1e60fefea8c6c7dac378d158d343779fed0108de5aab6ce7f61bb63bba633d5fb5075f18d94479f14da1b592593132a31168370a5d752fe857f73335470c0dd9974983cba934adc114c992e8aaa1309d9fcdc640c48f5fc1ee2d7ee0bb7050ff481e540d5fa7aebe0b853c8c3cbc24c7f40f43f243db28d429aacba1a6ca1a3535f955105a7444bd99fd77f94738e812614d2b705a05124d71dcab23b05d783c2476c75bde73f32a79e03cffc465ec3c617163fabcb24c63e022e8fde7548939d9575a75000ec92b50604c3d00bdc5c242306f95af2f94cc62d0d56eafc2b72d2b133a45c2f803d7976ddbdf70471025c9af9b380233b2f1eebd9b1ede4bde7d1725912eda245ffb6d71dbba518923f4c0499fa6c8c06a7907e75457cd3c3aaa007bb0d312cfbc46d5d7be709135a921e9f59cdf03a17108dcecafc9321f3cf7e35f6b759dfb146d5ae8bacbd8a47b01d14f34a5d4e44b03c8e36442ccdc948d30a599f967679cd9b93867b33e5d0acd857c92403af7d7e95ced87a937fc90a29aba44bdf11da83f407a4288a842784448a2d0e98a68eb0aaed80b2b2a7f0afd2eebabff1d8491774d4c141c6144b2e1b7b96c5d752308ed58da3c998f3230cde7954842f3c16c923b249ef4d00e8e138596470e24b4c94d9a08ad9ecca3a2bcffa0ed10341df21439ffe769c25206b88e14df4d59853349beea5486a7ea80805f42f7ff64b947af6bcc0b00257e7df94025701020ca26688ad80db75363bda7d11ae7d7d4af690e3297bba3b90d723b93534823ff53e30110b21a62b452a4d66b883e0cc81ac8afddf798015e282e8c40cc46cbec2171e1be14ee0e4f6864ff1b7ccc933cdad5d6fd3f4439e655e103aa1490317e3698d641d6b4015695534606a7ea875ff193293029f964912719b41388d505d45df772e8aaf990708aaf959f61b51d09069d5c441f94fb7232bac531abcb407a5b02e6aebf5c364d275914ff81fff318a651fce6a9bdef01c0b755d4d52d253b4a4b274f2e5e86df39cd168e265b51cb18eb6ae440de9df0f99873055f5116a673376bc373630e7576de85f9ddb80066b29adbe04c7432f32247dc96a60199397ce93b972f403b322be0856a1544e722e699dd3e40407d6a2749b31a963b7fca25fa48b0e0da86abdaf9c946716bf6b07a2cd7fdb04472300ade3639fe742c799f0f6d32527a6dcf26a07f3496a49aa92bad266838903b2063491042a14709f68ec058b22e2ca5a6f381ea109fd90fc4739b3088d90c65816b1ded9ae8d19863d7ab7d215c3dd6895112728f4ad58932799215fe2786b37baa3929e7134b264c7146ab4e4511bfdbf4e4c14f97d691df7da11f73544cbc03df79e542f320222e34a3d5937308e291d31d5395069d5021bea045e664593299e628e0d81c49da7ef2fe3dcd56d841cf4b340ecb2a1f8ed32ad7ea8cc3f023f55f6256a22ab3f286212a18e34cd9b55baff0529335aa0ab127e343fb715a97bc97be06886e9ea754fe2f3aed422e2ab6ba499031e47272973d55fba1499ecd342a75a97c3cc770788292b8c5a7c7127e7972032f181a4d8629ae5189ff7589c538b4d1450c4228223e688816d1e4e216b5442234501a1234e673148a7962211b3b0a6b4a7f320afc9247e1e370cf9f5cbd66ad156c49b1478a09cb47c76f05b53ae303beb996fc187d6ee5fcd928ff91836185962535e879e091ac1bc672516387a460f2673146c9de89d8b83101a471d1814ef39f779f6447fb224201a8034891db5ad52eda1e99666ddd4c593c2794b7b10e69a665b4eb59e1e52a3ca5cac7beb03b0bebb4b2d1d0901ef29251b893452c3075d9a6c5582f5931e758736a82a4104a283fc3b1c31b3f6fea37638db3c9b9c91fe83fbcbe829b4dbc36c762c3829ff44eb9bdcb5a63df24435bb6845a5c75381d75492aece5d4c9bd9cb95f2a50cf2b3369d9f157f45a2bfb03e9fd0f829cb59fa4ff0326067d444a2e9d0c8ab19090ae42a4c9487410749036138734893f33a559df07babd2e5730ca5cb29074b1a349e28e64258d1a53bc2a695d7643813ba4767248e4b3ff1c1828777b5d6734b95f9c500ad2d58e661034cb28672179a7cf408fe444a6677eea268336d83f52146034e9cc8ed9d8c66a7e9099f385870c03ab259f8f72ecaa9caafd0c871732459391d449812a202074248b719f859852ef506dc51168139a9951176ebc79cb0ce0568db80c6e697105906a621894a1da4a9d3349386506bf79b764d79977bf663f9c9a4da692c961b4664a94a9c53d000fed111e92addf489c2f7fd690d132a7053d2000e87f9e7e0be5f1ff86002d04e6d962573fa839f69cfa42b8570b561e0cf5670b9532c183a0e162a9710adfbded33214fcea6946c7dab7473aa898280fef19d203053f6251c04883531e3ce599f02a3822537e29cede4c5e7a49044675d73de4a71ea89e1f2b62bd881dd2683d09bc09a925c36dc2fc373d21adc5fd5ca60c6b82643e29984e23fa8322b0ed5e33949d152c3d457807d6367ce6a7598ee513cf6a58f1127f1c9700863683b135a381defc4f1926125c04ceb29522fab316328e31d25bdd70f79c81e304b1b8650fa22cc349a4f8ee2c69534391d991583e3195a32d3f264d0c36673b5d92f9795876b008128c193b647143e34867992f7fb5174ec583ea1f840a8f207c15eefe54f579da557af970d4ada9b7e81d01e80cefa0c04f3a070ce381b31d03fb8d29c8721f9b8f989a55e98d2a0c9685201e59b0219b012e70d2f4c70a8773d0a93a4a1e05a4c0e7b6567324467e24d16c4ab1b16d7f3bb55840146c4a09f8e693dc60daf6c1de1fe258b63cab2ce0b5ece21d67fb015cb02a60ddd94dbe1e4023188e38a8d536bbf6963f359be83903ab7972c754a5d0095b3b9e8c0aca584da0a9e6167201dfcd830337b8e24265eb56d632fd0392e68f2518eaa235ad0bcab73f49bf39304f34e5c1685d6240bd4f57ab9c43bc0057d145fd9185dc3ea75c382a67ddafbf8ee04dff913ec0c4c99c7f57bd2e5ad4c398d74fa628b1f74c53b02dbe623454024c0a319fa66d9b4f5b51ccbd2002c2a2c4f497fc44da0203f31dae32782f6b961cc57024dd9d494b25d045b1696fb3963e370aa9734f3319b9fe8a3ba6c4121cc0b2703d044889990042d5f679ff043ffc4a03400f5c2b2eef99f49f2154ea145501fc42bf812c7a76adb27ca7243f3670c67b7e09bc4e26e3b4ed385bdcadca2d5f938760338812fd6d47b03efbbe0b2b38b959f02422f6fb176194b00f74e57fa0e2d6745de33bb2ca6ba645b5354fa4d7cd23a4b1e1f32f1d73a23f59b7621cbdec6e9cf7c6bffe8b81290602bc43cb15402b91535718ab4843bc0f2fae76d2517c40e3f71322db5a0a928d35823bdd143561128d1581338247f951c283dc59e657ee57f8f256efe4e1ea63e01c504c5c94dfe04f9bad9644137c61e70fd5a233b0eed7ec0527391498cd596a961119706f75835cc19536f6c136228b439d41017940146c79607b82e372fcdbc4c9eaadfddf58f98c7fea5ee417a7e7023031e3f9cbd57a6e234e640d4e806d6aaf5941a9e1d61534c36603275910a4bfafa45a153fac43ab6a1479624b3a6382daf3625bb07a603f14a58e79414099104f3c9543f0ec2720754baaba3c6cb3cf9a2557106877139d9f3d6400356db217e7ca128691db9e462415c0b640a4601aa899c17e88a8d896aefe4acaf5e828cc73db47cdf362502710e2239550f3c5d8a73a7cf9f3d79b13ea1e101665a3804460559b10d01a34d8313f8a972dd02b722caf248b0e816f14e7e8de51857f7c84498d928e9df866e36224afd8149cda470195699c230b9fc3bbe0896d0e2c7379908dc18342d8a44a3830664bf720a924712ef2f3120c734f3a7031c9fefc078680242e22f7790832b58de44145d05b4630291ea23101e7d746f76efbf9d3f5cec3226492e3989e4e5ae3044ccf7129acc4a6379947a94082578e77971689fc069d61948261f95b1063fbec6942859b4de4e43c0fc1e1cd8a68a64b72ff7f0509a49efbfd1d990f853d32d0e80b104544fc66e696f715762df6c653706a5d29d0189e3d09c1fbd82091b1b944f0704b36050b2498ccecbee1b69adbad91a99b137bd7935732d9ba11ef3b7b98b6c3df525edb5397e2694008f99117152fc838b25375978a1c57214799299ce1455484a743ad325d7eabc58d0d46e6b4a904fc0c02878a956faee556d0f9e3125ae3d0bc09eaaa461401b228f50023b96120e93c6d1c4589c3a364f173c7b0669899d0a92534778043ac12681ea0e849251b4dac3d1b6ba89b7cb8fcafe49afbe78a88d956702d75451cb6a7c93840eb16326e1b14f0baf0643bc109ac23c6e0d8175fd96283caa95ac6a0250d8204bfe9676954c92a027a295d96d68c412512f88e528f9175d8747529bba5fab41b5575544ed926ff3faea8e59d6890f49f08ae3805cb7c1d6ae1888529148755da8a83deb3b87f7de29601b254e428096e973541fc8995fb5d29f3ce486331f0cce16f1c6a9611eb6205c6b699e1d76f30f70900a8f6217677547b9d345d00ee9743bc7f0cd79a983dc64dc1a33e9ac3c98da7739caa0671c3dd4ebf7e4d9332dc808e31931a195536323840d270b671c59a109d793e070c95217f0d655b0e222c2ec729832581e2c1ce0098e88a0b1e9250f69b7e9c64109594ac155c863864a8565fdd2780443c04d13bb51cd277b52b7375a4b0d4fd0acfbee002aa47d3f528819f91f834730182cf06d3db424386c25b9becf245a30bcc15d3069afbeb9e41133244b2881167b83514df2085b1646739cb5a6b94f7c7ab5e9a62c2e1e015c90ee9189eb3af0f669e3a81b5cb0e5be9720011ca21d712565ab637ba1e028c759128ff6418b59b86e42922b29311e73ad6f244ee206c27db63d4703f48e9ff8c06bf819ff25e003f744f378cb8465bee298e50c611029d5ef35bf8c6665f915b1546eeed05da4360591e8e95e69e17bb0ff2a1d55401f5b968d2a03529705fc44d9949e3f3ffbe04c9ff81c34de01a473420ed48266498aff554ca2460d09f6684cb086d079427ca3ff2534a90dc1f611fac58dbdcd200613a53e5092792804a3e5c7599294674326f6ce875d9f8649c42d81668423bfa2a2a269ac0d5d3d685bf2ae042fdede430f2d34b0cc2d9d1dac987ee05912e4320069d783ab8cb2cc0512a941ca5885c80e3f441762b6020ebc2a83ae17643ed48fbf4a004b190b1e806ac97a8bf8d3262d1af02757274c45a199b7c39a41f8345748433c655263e9c4c21882193cc084933bf2c89d5992eea506ec5575b8f32c49395624cb28c56d951e5696d2388aac14ec16a04d489883840b3560c33d850a82345298995562237b513bfad4815ae9ac5560b5cc62c172b708113a4b82f0d3184171fc2b8a4ae11c0b892891f7b076494cf323140ef7797ef0d7971119bc3971f436c8a6e125b4ba93b8791bb20cd975d676ba14c5da7991957a234274385b6edde58b8c454e8f8890e3dcbae896cbecb4e0520143ac82c2942940f1423eb5473d14a54e65968b928b15da1059f0311a902a748e6a214e165c7a6288c5f6606da9afec10d48c2915db72cd18d2824a4014c790d7b308cbaf212d4d312a7078330a1eb10b40b0f2d2414309aa161902fc6be64664887cfd0943c990008151a7b647eece45c9101ff81df5585fdc59c11fed858ff4902b5ff668147986f9e53e58f03d7ce64c1a3ec942478d9944bbe1c5ec9d719ea341ad96fba5486d72d8638e23cd12e12baa1b98df035f237b0311b5471caf1b11b2e5715da8ee5b2737da59e845091b23ae2b5d8ad18d6c1adc7409a34407ef94087cb5056e7105f211551060a96a3a28380a5370145cc8a2b042c585e4512132379db5bce1461fe60fa832773f695b4ad62de5f655ba9124bbc92da550b535b1fc946ffd7fc6fb6dd3b6b6add7864f1afdf3dec450b51a41d3b1cdba919d0218144510f510342c69fed356e9fd084a27add6fc6a63f2735629ed939fff95fe4fbadb4877fb14e91c5ef001be9d3832590b0669d50b58747beba7a57df26f1d7dbeb72af5a1bba3b4ea85a19e8e67a7d3c1a9367b63342c692fb8d3b02cb241371addeda4552e6499b6f611ba1b497723a1bba1b4ca051d7cbbd87c7ab3109e4e072736719ede2ca4677ecc6f53fe056587a0bb61adea81802c67b4266bceffcdb11cfc20683f9eeedee99ceeeea4e86e1c2974f373a661683f27744c9f8cd9eb1ff32a3fcf92963f89abbcd9eb8bd62d5277b714d1aa168a74e3dbe5307d168cc13ecb4941590b3fe31bc6a954d23e79a59883738a0c196244ca78727688ec48d94e11213d42643c3c438c0cc1c9c179b44cdfd3be9c4c675d7e4c330565bd9f9bdec16a2fad552299e5d0cf64d28f3f568189e184e5074129c2f0088ee1f8c92c87665456ad50d3cf6ac424d7d17e30dbfd9a9df5efe73a5aa19fc9a4f9788465da8cfe13508e93d6e8ac14d624c32ebabb8756b160d30dd231c6d3ed743c38565629ce83f2c3f3eb8c624ccb32e9a6ce28281f088af3686f72090edd6958f1fa257ce954a79070fd2205375b56dc4be3e05a58e056e0607852451a9580940c2f27189896148ae3ba8553d7a7e67848e1c0f5cb9196c6e1c235c7712d2d424e364ecd711cea54c4712fdc89e3502e409cb813f772624189e35cb8973e71373ad4c9c5c546c6b9d4e9946a824b71dc49866bc2898be9162e75423dc7513971dc09a6c90986137772499d38229c38cee5c4f1c0b5c071a8138c095a502f2b702c701c0f1814170577e25c4e1c7742c1b8534a2646c869860382e15a684021e15e4ea7d40e4ae674e26e7010e18248edd848824a3a75aa4f13e052289b54cb8943758b02381e707d6a954ad55c7329eec41d81833905e1b853cbe984e2b81e2e8783e1664ea7d3c9458803723aa54e9c0eaab3e1028c0ddc8d1c2f9c9ce05a4e2e70290ec5f529e9e4325caa4fd4a5dde308806a1a13709d43182714e7c2a55eb81b1cea89d309a685e27c50dce994f2d34c8c0dd7c2712f3aa99d1974b8938c0bcce985e35adce97403940b17734aa16a5ccd69e438140e1763e3c4c1bc70a71c4e329c6438f94035aa391c9ccbe9c4dd48a950a9930ba7d38973e152322e8606ce46cb896be1562802c3c9e8c546cc898bc1ccbc9c381e38188e439db81457c4f9381939c570b2717a39b57028eec49d6c9c5e521caa05c57145381467c3c570331cc71de16438c9a05e38981477e2b816c7b9b070dac1a54e5c4b8a3372b2c1a14e327028d4e9943aa53823a713f7c249868be16052278ee35a9c8f93cc0b8a4bc1a4388e2be25c8f20303fa81b5a381417c3a57a7031312d1b51609081fb91e24e2797d3cb732a1e3a368a38eec49d388ec3e99716db8722b8347a38427b0f53a041460f343e28c213c9030c34d9c119fda2b1412f4de1825f9263b4d2145c44a1446399f03005953492a4901c964c21c3128a640c3a46a6e8916344ae6081223bb84143111a198ec80e382a10f1d6780011af42779e1464c0f1b29c586750c0b25c27c80d52b0903083e73333780b395a0a1d53da6b31407b0a896e54777777db0075f713550e1d7c3b99e584b95c91a94105565e625e62522bc010798941f998791981540363e32203e3939ac1c1a5665c60291bea066a952a038906587159e1f4129362ddf0e183012b324e66668ab58211272130b43449712e3f25b08264c9d00a89534a26b5e4e6095680704410328ce05a5aab197230e2947a0185237234402d37c8c08a8bcb0c495778e00802004a07230460c5859827333b6676009184870883659c60e527c7e8e01d40f51283bad1c2944a62092360522bb8f8e070f418118408c40499c11518359c58e164a32587d58b9194928f82c5113a5a6c6492c8d8e0222515e4c5c81120984287232ac0040b2a9d2b37be2503f8c28a8d51e600246ef0e0e09cc4803af2e2021123645e8cb8c8c0ac802a62a403ca874c122758917931bab10453040351129998a299a5f903022b2da45844645c5a3a6eb8c8d820aaf981025664608a64882961a505a56ae15c7870916939e2120428c8c6180304a6c845e6c5851b433134a490625ad811830d2fb01004e606254a36182103d3bdf4dce8296294f432937a79a1a5852212339302e239bcc4bcc8a4725a94a47c72e05a6040d1b4b0a01303f3a18c101de90123c3424c112384906c0881b149d190a2c1a5025682ac901a6ab9a14586181a5231e0d841f938c24a97c3a164289c14aa25889a1f1020025b33800132bcc0220315a06200450cd1849964ff793f48f1018a93264b494b76286af9f4d8d850c30f4f8501c61a482842107000aaa1e605175ea460c10aaaa0000f4438b47cf098b1e1f2051721b840962aa890c0145244d1c406484ee78006bc96d6980213623e20e1082380d9d50198a032a023322f590cd04491981a946145969611222decb02103f312030c1ff080949f4c9076304a42f480022421801c670ce9220318a840114f9c1421d26347ca05642cc109101222312f2e1a084008b288c00210a044101078c003986082047404c80c270554144e6aa4d2f0239cd04805e1b4839633381b9c68709a418c0c66627072c1698c1317270da03270624a51e168e06680f1d112c30d174e2d9c78703b563a5a729c569c2ab5c2c9468bcc290606e6f4f2d2724a71288e73e91b385030a044602545002ba9252e419c7b6982112a0a5869699979b1c10646a4a6d849b5304385055c066025b524860599187a206125a687940f28196c6497199824303e2e32a8233d645a546005460b2b3ba41811530415851266ccb0d2b2869596991766606526d788c04a4c8f154e2f475a725a128085870d179c3822b584151c3438685038ab1c981eab358e68b901c6e7e5078503f503438515d4d14e8e8b8ccb155650365c5e48b16ceca0b8d44c8a2593a4e586971e5c5e709171a132b36366474c8f18165e7a4051e108971750581cd12286951aa8a44287d5e023d59ac1e1b24a71281c94502a69a60597d3cb9317185e905a78acc0b9d840b5a4665028d409f5828241c5c8c49042bd3479c981234966f5e2f2c2a15e52425239290ec605140c46c4ccd062012b2b5c61c4ca250503ccd01129338ea88179af518520d4a00c1790810231c6d992019a200ac20149115b9170841c202a1c302f517c6082b4460b62f0821998d079c2891c1a60060dc638c1083e90812a723a1b16306626f06d4212d2c0810c620046078a20e207293e406182a4439219646881052eb628220318206208988f186c9d610533745025b4b246159ee00429515a6061458313844182117cc0031a60a20049c07ee8e1091324a3315a10060bba78a2e8063618e304608c400414a0420900209184346820831188808b2cae58f96944b4ba91c60f7c60060ac0d822041cb0c20004f809fb414a94274644475a37ab1b63b400055138c000577efeb0835112a223ad156ea4fa073e18a3052908638b10704003561ca00057a6ec6084e448ab88909d9b1cab54aff1031fe820052808038c2d42a0012b0e60800210e00a0f6053a4e090d34d410a4b94e05821073134b18412509ee84480004adc9a2e10b306aa0a272ab448e11405180ba42a70b2e25405c773da41e9709d0d1cd40d28676186530c1c0c2f2fa05ce07aa45ae05888d19123074a95c231b382eac60b332ed888416615f302e3f2727271696941d974f70bdd32aa19b0bbf1ed1e8cc95ce915737eda8fd6d14737f73293834bab6672a8666454367c70e336ee3f29aed431f54cfdc8edca2b699f4bea36b2b08101950d29ba3d9f55fa349bdf38921fb741f2e395ce3e664354d9f86ecf65d631f57c8b4de9ba2e8a5191cb0b3add2d476a5a8074f70cad9239a3f1edeafd9ca5987373a750a7e66e68554c1431582acdf8a77bb6d5f1dbe93736ffddd162550c959857cffa593a56c50899f555312798349c9667f5419759f76b655766ec3fabf2d260bcc0b7bbb42ffc30e73f0ae28e394286ee9820607277bf0003a4bb6de8ee1a9cfb411bd97120bf77fc821831e263a48811224686181162a4c7088f911d233a468cf8f8f814f121e233c447884f8f0f8fcf8e8f8e8f91223e458a14215264481121457a8af014d929a253c408111f224588102132848810223d447888ec10d121626488cf902243880c193244c8909e213c437686e80c3122c44748112144840c112244488f101e213b42748418e9f1e929d243a467488f909e9e1e9e9e9d1e9d1e233c3e3c457888f00ce111c2d3c3c3c3b3c3a3c36364c767a7c80e919d213b42767a767876767674768ce8f8e814d121a2334447884e8f0e8fce8e8e8e4e93ce77370cad7af1697cbb70ac393994fdb5df9428322c1b199b217c080fc29d25c39209c2ddddfb4777d77477ca5d98e02d322aa0727980cb12dded42ab5c70777bcbf3bc25c3f23c6f65d983ee32de4da6cde875cfb2076d3c6fcd07a99461890409121afcb42fcbb0bb695ce582e4c759408078963e9fe9a3558a2e3bba5b2d49e86e6f558b0bda31cd63cc1dd3a7e53c1e5d7b2f91cdde6b83542d5774775dcb01bafba5552d4aa85abcbef19f1fdfb1f1af16c9f36a69169954a0bb97b4aa2595338408111f1f1ed99c428c18e919f2ed7c3f64e7e78e4cc837e41332659f1159e4891829e293f3653cde1c55aa0cbf3fbb1274e9363b53a59786dd669f4fefeb76b752ab5263be3626bb9b47b78eeea6a11bd50454107274f78fa0acb9772f91e7557ab5eeddd888f2daead86a6570c4afe4f97c10945f77abba1b4777afd0dd376c705074f7ab55a8a94279282dbc85671d6dcc65d6f368dd6618bedd4ec7d3ede0e0cf3747f2e3dd2dd330dd3dd3dd1330e25384c810213d3c3b3a391d0e6b8d1b82dcd800b1a1061a7ed4d0ace1428f165858638d35ba99ba7ba95527aff1ed6214d4e9783a1d1c9f218f652ca787c7e77b23b169c4080f91effb1d9cd07e5d6ca4653abbdd8ce9ec6f8e9d5df975391404a92de7434bcb8199e1d1aa9377a6a088ddcbd2cbd12a8e09dda0a4a28556711ce8ee1dade2a46824f771a5dd7da3bb25082ee3db4d1be67c5f53715082ba9b855671aceeae0ffa8f7fcc27385a1af61bc7d4c69b7e56ea5fb3e15f98286db8bb63ba4fb3bb7bb48a4be1dbe550e6d2dddca9afbdf7bd4a9f5fef98ff7ab534cb5c3f7c500ca9672a6ff659a539cbf05a99cb934b77c7d0aa6eeaee55ab3a01dd6db3a0ec7ecdfa2dd34f8af2c3b7fbbe06b3c99bf35d9cf359109439b72b6f8c82dddd824a75f709872b32e84007748869c18b2b6e3e80022192722082976c0c21429801896c6880e043860e1b4c1785278a80042641458c4fcd0d0476c8d0e1c2003a94888768c0810a16004800060638c248c3467b61c58aab51385220850d1b409ca0069026c034902730b5784a87969a2e02c5ed60a35320cc95238c38f929d5e25a9ce3388e89a302e32f7e12820ae7312e9e12a276ca2817a205d522844b06c6514c2ddeae140d534b4d15215c31354c2e35282a27674a5511229542a15029542a954aa150eddc0d25384e2d14b0d11cc7a1a8d05469e9961a8ee6e6542d4553a5878be954935d3235558428e25c301c4c4d15215c2f2d2d8eaaa1c2b9b8382a555305e5626a6f1cae939fb850cdd09c8620e2e42e35564ece7907d9b0e130365e62521e73ba92721bced10c01e3dc0966c68b80a109000e57b07041280f000e4129ef99191b32323e33e331328e850b8ab962c3656060aed8f019e7688688710e26462646866606862437fc85e9464d15b793bfd4547143390eae94bbcc5c9171179a2b331e000f8a716ea6c64acd95218840794c8d1594c7784ccd152c1e34e3a81b3ea8ac58b1622508e5333443108172991a2b283ff1807aa1fce4313458b8a01887a1c1c205c1b80ccd9500e01014e358b8a019e76860e021e533ee03ca6db80bcd1598274504cdd40c7181978c733e448c0f8192898179712e08881254557a0dd74b0d5315b79357714b79ca512f9473de7223e9e42e379252de37929c8b208e060b169a2b58523501e03ae84413002e00a92b582e5005071713cadbc57900523517a882830be5a72adc939616204ce07e6cc0a08a08210411274739119ca75c5c882b58fc15e32d4e448d1001f0a0961a21887071999a981a22606ab07810112e9cb7d42081638d35d6582308e5ed44b870b5db6b48400d4dd4b0801a9e407d81f2420c1a141749a8a8a0ce380385c5e9a6bd8c14d78ef21a9ae05ca8130d8a0b0ebc34a18430ce002306ae166f1a7e6079f1989853c3fcf801f3e3c7123fb0fc7089a1415d81ca72b241958102824575f24661e16068ca4015e1bc4fed3f7ea012e005185f80b10125d800838a1b4d8c91868c151d34edfa39d9a0da9523478d90930d0a4525460d172a0d2ba816a83832b81916a85abc53363636a81b94370ff7a103d5c9070d8f1d25f8a2a5e6c50b1d7e338c6be5f2c20e7ff11921f4911d2daa194703552495057583f216d741e3e25ab9b80ee7b81617ce4547cb8adb91ca92caa263c5bde0b243070dcae5b2e276e8a039b9b81d3a7cbce05253850f1d276f216aa9712854389c8a4b71054a870e1d396aaabcc0bc50a183e625cbc906f5228517a89798339e50e140e9f01729b03811c9414596170e9c88687122a2a32607cd0c91cac5c5c5e5b46307c7ed48f1f0e13cfce5c379f0701f3edc478d103e381eee43061deec38b086ad15103030f3cdc87bf78b80f1fcea3a5c575d4bc66701ecea346081e3e434d11413a5a74f8c987f3702a314c9841a3082722a713111a47f90c16272237b03c888df7c906ef130ddea79a541617ca63501ee3031d8ecae1281734607ed45051fdf01a6aa8f4a8c18100f11bd48db35069b8502fa92c37d4cc6071b241c383d4dcd450d1b1a9a162e382712035546c6ca8a9a1868ad350f3a3864a8f18df411373468c0f62d0a08929c2c98605b7713ac1d0e23e7c06e74103030f3e7c0687a1a5e6e5c36780e1e5cec3dd79f80c3e6878d0ace064832203f592f2193466d24015f1e1b271e374721c3864a0d1e17d03478e1c399c4acc19282c9c4b87e7a0a1d2e23a6854bea3881d279b17d6c9061573468b0f1a1419a81b940e346ec49cd1001595f6024506aac8950bc0e019c615c30bbe82a350d0475e987991021516a9e9c5f4fdf7e212d3f734a1a620d8be828f61f74558930c61f933ad14f6556aa9e0afc907ffda103f089bcf1452097e1896eb870f9bb059ad0b7cbb3c8615277fa56119d696a4845241a99f944fa7725234a3141d038514b4b0d1c310543c60c119dddd30d45a664902cae8eede61e38318dd6d4577679940f6aae86e0a7477aabb0becd3a4a6bb45796daafb451f094171515e9bdb2cfd2b0defe79fe0b8daa15577c2e6247a3036da215186fe3379edfc2cc1ffa26a291ec1af1ab9685816899486afa5e551c2c2cf460f7eb5c9acf6b34ee68bf29570936c919a0ccd073196494bf3714873969de7ffd85b331ab37946637e03efd758791443fb590cba3edf82ba299359d05aa1ee7e9649c761fa64920e276329f3eefbeb341fbdd2be113b9e554acbd49d05e6fa5586f7abb461ffd02e7957bf66aba4d9aecdf2a3b31af951178ed93ae9402a737dc714ff577facf24fcb779461fcdf37e2ec2c50fefdea1f9b552ab39ddbbca49b4ffbea284179836b9659b7d9a2a44f56a2eeb3ad59d0fff64fb385f6ca1c7f0d7c1c3e2dfbcdb48ed6abc4d76b9ee588ebbbcd4cfeb4fc60ce1474e91fbb5f7f66e4ddfc29df963fe6d3d2fbe2123a24effc7b2ab11183a054f22ed31b0ad25c479b076314632be22c6936afc9ac63d1de24cf71fc5a3fe23d06a5cc23c2f2c92b63b9c4731c6fe50fabfddcdab2cbecac52e22aefd7be3e4d625026f1ee06c6463c25e83fde97773769bb55694190b2f0bcf6fbfbb66b65ffc4bb7b25387e543a08babc032d6680151edc67fa64cedff4932889ebbf6a3faf965623e91948c5d4ff52f73cb7d941395621f28e49c6eae855d6c77fc5bf9ef1db2c385fcaac6492e13873d3d74c25f5a75dfab49ca9cfbfef966663397e9975511e39be3d93df9f7dae54fefd2a752c9df532890385c9130bd26c2fef3010ff7c2dae4dbcbb52e6167bfd8f65bfb1b1d9254233c822d1b02cb2f99d648b7403af24b2f66534ab14637a44e593af16e97eb64eb245c2b38e4966355b24fcd93a71658b948d1ed7c7d522dd17c526b36aef13252c8f926c76c9b4345b275e92377fe63c938c794b89899212910b19e9c06409b8649377d2327d323f4b7ab3145f6936c9ffcad82ec9781c9a6fb3b3121935c9a32a8fba9066fc7ead6cbedf4099edc47fa64bc72a7f2b0dc1e830d3b5b6fcd56d5f753a9d8ea7f678697e2891bc937f653e6755d23e673dc6f8634ba1c55ead63d06fd5e51dc6f2c3638be8c504c9bb1b58ade7b974fc78c4b7fbfda478562d28ddf31cffb519b3b04c667fca8b9f06b9b7e4bdc5a0f42a3f1f6d0fee799e0fe10e04f423b31c725652abe52ca09f564b06fed24f48694ba23c7224fed7e625770fc25b2df707a918dacf56cff388fc8777f5da8c4131944deff3478ca9e34cebe8f896e9a46315baa41a8192e6fa5fa3a04bfc57b234734234e50f61d594a6ee5e26711df1fd496bf68a6eabe7bf39cbef87e37fe3b43757ea36bb941f7477f731bfc930e391ca94eef28ee9b3e07d3cbacb5bb34aeb954f30d36797f86739c5268e473001ce08f9891bec01648441845212216c4c04400541591cbde084a3bba7b46a071ee4703f27caf54ca5395d53c835897c88789e47c3b2c87396e77995aeee86c88edf40507e54bc651b9f8fa97b9e4bd0d26c5f5dd659a5b3bee81f739bffcaf93709fec4f990e6a42679d4bdcd82a074fc5466c331a44d3294d91b9bef5ebc65d80dced3e33993ccdeb5f99349eef8b1f0487b7937ab14e7afe8f2dad0bd176f2fcf6536e34abd4ac723283a4fcf9c3fa7f4fbe2631934d44d23d7ed99dcbbb191d9078262cf31f50782e2c79646e7945ea55f2bc3d431a5bdbc937fbfdb27b358c6be1db07477737b261bff2943c7b97ed8658aadf8d3abf5093ecd731d6d789f967f66b3b36cf68ff95f891d4b9a288fbcfbe4e34a5d3a9634e9b7fb35a259479b245ba46c911e8cc9dae4b3fc28288e431669d626b7267b9364e02f5924180c06bb89e0b421486592a3fcb32b5f4b3fab9226f4a228efab3e937c3dbe3f6fd322dda6ac4d7216c3cfd9b5a480eeeeb0554b3b6262626470140f6dc6a3504c4c8c0c6cfe4d46b3ad301c7e4d1886af151ffc3cab51ab78384277b7d87dd17395f4ca9a7fb58e2b95b95aa117084aa1f06b82cdfa980711f0a085b3bc95f1cf1b4ccef0d6b532c7f448084a93bf23486592597f69fefd0cd20763b236793046f3fd5a35ca1669e896c590e85ada57e52b09e15b9547d6be9c4c19346590459a1fa3f7c3b171c985bf46410913ff994050c2eecbea08fbef5a996b49aabbb1e73d1ee5f7b1a7e52b45c7d49174badb560700143cc8f959edf7f8b3adc16e5ffdd9fdf0c30c8e52f613f6b08ca50c66f3d7c271ceaf231661573ef8c172fd4ac390c23edbfa3319d2bf224c947f993e0bd6f1b3ad7db635d87d5ab6f993f533a620d327c11828b115ed1561e07f557ee1d78493137e4d3942623e45748418c9f1791ef9427ec82cc223f3e9d1118283a324042a2550a8944451f26acf73bfe3e7b8e69ee738958977379fc7ef9bde8304b1713ca321fe2bc1efa73b135a20418a06f000e843597dfcd9e1d5edaddb9cf2f6b4c95e118f36bc555b250c0429d3e7fa61fe9ecadff95f1d6dad12766bb2573cc9183de9e66230b6af2d4d86a852582c244048fca669529b2cfb252da5cb24cb7e89bb7b951284374d0afbd97c18d3276ff62598a0042d1bb8820448f6206c821609243fee37787d10069ba03dd271a0d40b88cee89fb6fa2d8be1135d01c4501afdfd9ca19b8b4077cb560d2de9ae41080da117a88434d0ed487edc5bdeacd24a65f8d7f38ca5e8ff55599b557e43b34a6bf2977c8de6cf855fbce559a59095552323505669ab85797ac6fbb38ef65e6b65d568562993cc4bd7660982f6fb2c9594e695b6bf9fe5bd2f8220cd958e55ee278172ac55063969bb8466703c1a00123fa85c5834b6f7817870ca07dd66c799c69cca64a38cd2707777734fbafb6b954b48e3db0de976ba1e9cefa7fd706e995e291269550e4c689d9e1f78307ef056a5e30fafc4a3a5b5bf49dd9d806e041ca01f572be2570a3f283b4e749ccc6af7123131217a61d7fcf0b351f8d90867fa44e87335c26104b74c419ac78b8388a5cd41507e43adc2c1756815101992e6d22b0d3f537f70562976970ae889eeeef0185301f9d0b64e9e9e110886ee6ed22a2461747707826fc3d259f56b74e6b34a5d66ddbb1b088e32fffca018da6fd2e9f85d669df66519c4e324d7a75f75ed38c9f5c39b1461dd0da455488aba1ba9553f51e82ee39fcd461cfa8bb72cdd9f96594fcbf5c37176a53f2dfffcfaa228698e25cdddf6484bb64752fd10d11d131323d3dd6231313132ef37391807e7e0cf4e9c4a65986369d7e1cfce9c9c161673a6d94cc9f56b1fc59ff68a898991799cebd788727e80f0e75bd0cf91348e5839325bcab85239fb9abda2e8ba657a2d1579745f1c97b2adbd3e5b274d448608e9e169da99cff4d9255f2dd2d76ad5aa15da71d2cad2797a46ff7c82542669bd645b6bb56e9fbc9f0dffb3e571a203d381ed38c18fe583af0482ae0fd3a3ff243806c3d562f94a2e3eddcd43ab7c8ad0dd2f730fd7115663f2e6833159df3fe6198fa1cf2ae9c5b93d5317d9e984743a38330b12a0bb976895cf174a74f74e8d0e2dbdbeafc1e64f0a9b4693c28080787aa610d9f1e1d919918894889210291109b99296888e5c483ff45620209e9e26b0a2970e48444b604a4446498c5e48444346b0a3264746505c473f3c3d4d32ae56c859f3671d6d10d0cf141d1e2243789a00bd7ebe7732e48afee80de2e9a16159d4f445986259256897642871b6433c3c3b220d1a326447a4443bb5ff24d27d2aa3b9fe34aa16e9c1189dd53149fee4cdd50ae52bc3a5b046f4df2b7df47e7d1d860cd9d9f92ed10e4f91ef12e9f07c9748881091824b3bb556abd5c2934e587e8c252c8394691ae5c7d8a5ea0141777f6897be5aa4979555a38ce5129a6935028282b2d224443750145d8f252de935abf4e62598883f94357f520cad50ab55e3e9198160f7c526195e50669b614d3204fa6992e14771a537373decb18c01f1f48c3ff7939a6418da57dd99c1fd24bce40a9d2bbaf3f7f7dacfb3adee32fa62d33ba6feb4971ff160d7c2bcf9344c2b95f9fd09d23108df0e671a52d07637579b8625ad8e5795e383f62cdde76771bcd70a753715daf87639a06c4969557783eeba0e487e9095e5df99678be41d76504a70fc40f9392d539bcf2a9d756c815f7b10d6c2b7a36149cba16149537536ddf95a1a766b73ebf1fdda5faf46ddb1a10f69aea3929555a36bb39c551e81f2bec80494e1b548379984bf078b34c5e733bdb629ffe29b4cfa97c1f04d8a184b500863097e42888c383ce6d7eee357fabf493e4cc3560bd767b2198f59e6a5ffaa0465d09441d5662b536df2e0389ff6e1560bb75ad7de4bb4a45a8aef3be9ee9fd32889a706c3ad56be5614470cfb505e198b86a5eabef1d68734c3647f6d9e74911baec0b79bf573d3e7f8a15537fc7cc65f61f7338585f6ca60df8b38e7fb9aea869a9e74e8f64a261d8222f1fc889688266cd2d96a4d3a81e68b22bd19b7422c6d3f7fc72ceb8c2edd5ec9ed7e9568d2a1db2bf9a88cde7732e9d0149e1e3fe2334691787e7ff147c1d898d46a19d9193284673e4fcf88338ddd2cd17da37d57dea73458ab357bf027ae96624cc3fb49dc686346e3dbdd6eae9f23ca1075c502524e5c6290f1742448fcc6a63ed87d172b21002074c77164e0634782c469ddcfe6f7f032127225b984fcc79b2675a2e4affd2a9534214aab46342c8b80806ed18f288ffeef2b0894b95a20e8b53420d85c6ab59ede0c13716d5e69ab363b34c32190cff8f3bd9356ebfb5aab35338689586639b384e5fa58663934e5174df934a45a94adbdb09fc96b3386e5fa578a3c3d63cd8ab02619d2e004a4229e5aab05cb764a26d08a32cba16aa993f919537c3f0904c72416694683ac7ddda7652618a432ffd0fc2526263031fc9a6ef2fb09bb30d88723fe2bda3b797ac6095a1afe4bcbb0595fc4239620919d1196f1a532d0da58c6b4e96118947546711e99e4fa54a4df5fa09b242f861f1467dd8f852312d367c12099e594f943d887d5e8feac8f6bb274d2ac523046975aadf06baa74462f1320aa44a1a209a3a7fd603f6dc55fa39986f48a39f2cbd9e1913a457a3e21b3a747888fce17c1f92c6fc6b1113fd0cdfcd9a437e672d634925726d9fc7cef047f307ac3d3333a8ba767b4792028864d1a9645add6944f837d5542589570b6d74000ee9d96cc900499b537e9a7fd7e28d7c73117edcb32c4f4285b3be52bdd6eae44a09cf295b20597a67c9acbea406fc6aff453de99d864ca2ffaaa1c5509871e08baf4e38f3cd0be2c454c876e127ca56a2486b708e3bf332231bc45dd2dd441ae6ef06b95342131bc453863d84d827f5b2d58b6342ccabaf459e6a559a53389f11f1961023a7020031c2220841fa0204b0d7ea2f0702902a60332ab0e8c6100df0288535d82076200400fb4a8010700963080a6891b3c0a8882031cc051428f05f468810cac1822e205af0120d1814b7723f90163328fe14f77f7e86e9b1fdddd82d72a1f58f0ed6ecf0403e5670bd049a87cccf44eb783f3587033e086608256c5a0ea5b955e252de7faf765323a5dfad724cd6d763cffabd33e4ab339eb766df8a1db5ce994169c9fbff1665cede737b05ac7b4932eb3343cfa2de6f3fd63557edd7da43b55e40756f70989669a5fc58fe42c5d66391ddfa40d943e1f535af659a507387e33a9dfe093dab8cbd0e83fc94d26d957933c8ad508562dfd5a2d1036e9bcf6cbd649687395b424d8ac7e7fe9905d722dbd499982e2d2bc725699973c16b27052e951e7790ae8e695b3bfd922e12679945d36bbc485654cf2c80487f2ca242bab461b082715dd0dd4ab1991a60aa37b295bab14b45aa16b12ac6690d0dd44b97ecdcaaad17d2060d5d6958e2f62f68ad7e64fca5e2969a5638a950e0474639f8f6fa7a3c72a870fdaabf51c1f951c8b0340208d15faab1dc2735c5ae520ca1183db392e116109b3739ccff4d939e2d5ea89eeeeeee6ba7be8d50d2bbaed1cb19de3d2cc8161db4a150436658583004b4b3a3c3c3d36a9348d9a7e56e97a4df94cb6f6b78e7f61b24ab1ac52d8ac523b476ce7b8bae175e3afc16af8c3e96662658309f8762196b64fca70447beb33c9ec24a66515c3e108ca018dee6e6a9ddc07412994ebd78886c20f8a50f84111c30f8a9555233ce9101dc222c5227ddd9abc8e5e08941fadb4ef5f20fdea688586721391bca3cb25efe8b2735c4a1229984448c986ee530da71fdda79a530c34dd273ff998a1fb24c3c9c77f55d6fb35ab43b548b7ea6a8199dd4176ba3bb58281f2230b95047808c10888ba9b73000a1260f41a22082aba9b43c9de8b260af06ce8ee538c22b149e8010286d0dd5c0c623c60482140951c7437a7041166b8b92d3f16e8eed312221c7ea00410259ed0dd281e4c907104279ee0e205ddedd20005a8c1c5a055851cba9bcb12012b92746c214691eee670384014264d24110517ddcdf9a0090610620a4ef4a04877a71ce0bd3080a6022a66e0db2b695900134e317463204b997fb5282bab172177f6f7c51c7c0011f8c0712a95371fb11e0bc7fbb9740cb3b952d8ecae751715b55a13a4b4afd5cd75d1cd71d1dd30cd79c0d6ddb25eb5e060d592c5bf50feedee2c562d3d2c79f196bf169c961d2ede5e42303d58a59aba9bc783b8283fd804ad28bfb1ca4fd8f7b51c5c6d0da8e86e241c0656281584f62699bf73025a9d38d0ddb34abbdb855e9d9ae85e9de669c8b53aed68bf3d53ae4fcb23c78415274677afb82c77c559515a715e2b59713addfd77266d5f5d2b6ec7aad158f50abaf3e3556f60d54ff890d1d05277ca85552b59750edd93ce557bfb90d1d0a44336a934e95013ef7b279eb7e3e335b827938d31bf573aa6f47e96a1cf7fecf9933b3ef7973c63b90402d99120f13b7e28efc686c9c230ed6eb00b71037316b6b1410867d9dc9e09768bc1601d8a6847157454546042772ba166a86002da976538e5277d980eb9924ca18b292091c219dd9c1309a894092194b42a0a5cb4b32a955924cee676c685507a5a15059d1ec2d24d99f269add62f79e7792eb3587eeef28eb286dc9f96e9bd5fb342506aa5b3f72c69a3ad3ef6fcb72bbd0966ba32bc9fa5cd938e948abc73efec57a9e32b3fc7b426b1cf2aa50563d6a9cc31eb58da32b634793d04ffcaac4bb7189499c5c254f4fc98d23c03a9d471951f3aeda3f7c3a78995ce4b4397d40ad91ec98bf2a15df2f0bcd6568dbc03b15b8983ccf2fe13ef9ede3cc5f3a2f88fb6af328b739b55d6310ced47dd5b2d117bcb3bfbfd14a2212642ad16be3d130c04df16658af7d37e2d2f8acd59a0ac338a7dcaa7491c3b73fc353aabd662c72eefe6535014e5cf9fe053194b1a3906efd79824dd82e6671aa3347b931e8c4990ca9a2b5ba48c6d51b6481669d6264778a23a8290f63c278e80c2b34a5bad564b00461082b3857b1120408383ac3df84a1e2cffccc34ff1edc61fabe088e1d74404d06dcee1b5b2fbe2e7c89cd8249b27686dd5528c2db5617f5bcef4fa5f59a9d33ef92df97fb4767f09e3110821894608458410040d24dcd83828c7fc49c735ef6a6818a9d080010d98ee6e6cfcc6c66d8f849b3810cc68d1cd7d80f3400f55107cf0edfeab8ff1c3667da64fc6604f6fbeb50a0819c07f93218ee77dcc054098e9c6a0a419e8c733960f7a967e8b8df10328543ff86e20ce0f822028857a9c0cd184870be03484a342185bb9e060840eca40badd11cbbf1de09850f5408bee96ce09a0075726d08325dd5dcd73f440d5c54e2a1e9061af0c0f9a183af1c0bbbf4677e083ee6e0699a13a44e94ebac1ce194f7483679cc171a09bdb00a78156992186ca0c2eb80c60a05b944f6b1500070794c1be56433babbc30980e643a28d2c18b0eba9b431283c9d66672102507453938400e583eabf4855b2d2962989d237e2060f381a02704d86052a9545e29d651e6457a7a7628be617cbb1b1460caa0dcf430794769031dd82067c989125186a23c9a35b87577b65629dfc737734e5011022caa1c092995d1696d3df2f76d0e4a7ab3cba8db9c69d34f4bcb1f7205c04fcbe195fe351bbbd6e8a7450a1a7a7a5fad562c1caf1067040d9eb03b805842d20a081b3823c702b26822a606463e3b98000fda0b19a6a1a41c32099d1c17d4e86e6e8515da854ba29bc3d2cd09002600dd1c00ae747356ac2071c411442051c411dd9c1156bab922ba3922ba392186e08200e20682f2cbd886b02c61dd5c53930cafcddd9cad9bab35c9f06b74d6dd0ee8f06beae6462e777318ffcbba9b0a28f2337d347773b72f576552d8edfe58a59b1339ab431b15c1c00430f8691b64bcc08c1f9f34bcb1c1b7cbe1a9e57c17f3d49a882195a05093e8cabf54f44b4b4a4af53ffc434259fcef7365fc2f32b13dd2275f69a85a6ac4536bb5bab9dacd851c533747a59ba3dd1cad9b9b7573b26eeebbb9d9cd7d9cece6bc6e0ec64de1a274733e74733d7473503827dd5c936eeed5cd2d75734add1c0fdd5c5237c7a49b43eae68ebab925dd9c926e6e075537a743d73c587eec15a9c698dd89de2d34864fd3b0fc99f27d5a7044cb2c93444ac33db1b78512a927f64f28fdb0eb1686e3ed95e4c7af645bc2f3e77419dd7458469df5bd139fcfca16e9085b2aefe89a75ef5d7dec92e95a9be311d7c78f2dedf33bda1ebcc33f696dccf24a5194a20709226d1fd48443fe99873483a0149aaf02dadd35a2fb49b3f388908c960cb9888660434aaea256cbf32a69d7d22b823139b3e898b0ccb725de55eb37d634f28c655235fad92b8df306dabe1a757794b9adac4a43c754f606c408d2ddff55fbba2768a2babcf34a71f899ca292778752f091575f8f1ecca25d6be1e089a2d52b6484af39bcc3068e8f696d3ccbf4fef954161ecf0161960b0000c29ba732007a201038ab7681e0c1ac0d801460c0b06ebf07cda9725084a21191b7177fb68d51757c0eef64c37b8378d5e89f74c2eabcd4a0f56ade738ff8cf65df9d86f57561aa32e2b95d93c8bcff4354ce747f1ed993090b7f9f1fbfcf1c72a94f6d1d056fbbdcf2abd81f727c5326ba7d1b5927e16639745babd92896fafc4225924121cd1d9defa40d8bf49bc48c38bdcd56b65b4972b5b248bf4b84935b248492755103023271a9645451fbbc9236e0a03e8b7400c3a494840887bc20b002a909485f038bd40c41a51b000183faa500dd1231319927e400d3b78afefd1aa2e82e802882ebc2ea034ec3e38aba4c15839de92fdcdc12328de11c3585d0ce9c2db5b38e1d7742d2cfc9a329d7f3f58a5b0f06b827d4d5c18c145e5c208064a1bf756a53e5f0904a912db23cd9f5668690b1974775b5c60c9de4bb4c52bc967c8d212f59a9964e836bb571a936eb3354befbe17b1dff2fd1a9f2118d75cf719b2b4e4f3f304f23a78f74cb6562996594e4bc3b2687e1dafe819ff04ad0d0ebd63fa2cd8e116b6c1bfe80e4b9a387eeffda56559cdb6ba8cfa8d8dc7d3337ade7ccff3cf313cd2f26c466f765b3d57fb7d9466f7dee632eaddb05aad978d87ff7e7e99cc8698faacd2a7373bfeda8314fc70326d4641c7e04733a620e8fa9159f9b2f18f8a36cf2a154579e401bd7ebcf0e5df0f2dc6231599c59979b6b5c906798753a93bb1496eef7ddaf8de396bc8bba7e522efbc25efec156f32101bf78e9547119437b8523c640482a32c9448df8b4b6f645f78fe233511d9576885aa4592bd92bdef43b5482028855a640548d0cd19713ad0b0a48dd32209d1800c1a586900071653c0020958a0a1c2c20c2c52808518589ca05bb47e53838de7f84d0deeac1abc255a67d5e036ee2d16f62951b07842850511edad1b1bd97a85483aef29ac5acfebc7b0dfe41d6506a864a0a8fbabe3cdceca9882376420c6cb165cf2b205b1ccfab558ce2a580182ee86dd320565bef6684ef9f7f64cb0905ed81556b240e10a1bf2dff9a1ac3091d2ea5847794729af1555be46b3acd1fb138625084a189630da9765ec07530a59bc3b177537a743bb18ca8c3fa42f1d51661cd28c6fcf747b26d8cfee28d259e9ff9501f17f652048654c57ce240d961f63581e6d7efcb889cafe8a305aa63618d395e15f940e2bcd25e1c51767f4806206c9054873324061024288327ce2d69defd7aafd44d17b29808a0ab0f1ed30ecbef8d1fc21b7021723c3344b2cdef0fd64e847bc2619d2e03f7ed324431a72aad880f43fcff12a5e2b400236eec68c0d4e868be96e0e8dee3e6a550492a0657a650e162d8f931d273a4ec20fca7ca3a7f7471eb028ef8b0ed1b02c12c24f8b30fe9c5d3226327c7b25b9e991f0a443b55a212cb31cc23f9349a0b54942582e9131c13f6d12fc51d1be72fddafc5a65105ec2322658a42f39ebcf5cd726b95f6d4c6eaf64d2218c73a5569c4ba0fc2b846b932cc36b9340e00210e0793d400add9d47fb00daad134516dd51ecf02c6513b45c07a0a8a2bb316c46a9fcf5233a0e8447110a1b950380d02d7fba0374ba2bf58fceec920660e9ee5bcc5fb6a4800145b89f690e039a308201de4d8f23ef289f500367fc333a1d948f5d2a8d2e7f50a4191c433f5589eaa2c39f1ffc69e4420120382e4fba9b557b6d9eebdb1cc7464cfbaabc412e4d5051361f8fed124506548e6e992d0e483dc18425dcd8c030a541add1244554a4bb04302f4b464bdd6267fdb4d53fe37187ee2641777b3182ee16011757a81600d3dd3f6db53d120414b0824ac14afd634e42a0524096c2b90890003584707163532d1d838a6ef7471e5eb98908bcb6d5d2a9dd9f9749fea55fcabf347f5e697ba56aa995fd128c7fc96c9247b25f926913d1c4f897fcb54713576a77c8b25f627ba4038c066882011ad0dd0d8252e8b354c2f971aeffdd17b3bc485da55ea3fffdbd5d493f2afbfa31167e26dee1db790e53930c3fe9acc7d4e69de739cb63fa2893f7587e96f69f0445c7fed58272ac32dc711ca56b1da43179a94bcfdf678b33feb1daaf49567ad45dfb4979ab4df248b4b92669f8da6a6dcec24c38d773fdda5fd1edeb43f9532a557ad4e14a8fba2cf14d823f94691351877facf257662c6978a8f3bca7e51b18cb18e971c6121cf24a8fba8c2588bd0b2eba9b432a2c3ec01283ee6e9ce56377bf56e62f2398dd775544fbba1f0b3f741094497422fe609d6765d5c8bbd63dd857a907ca8fbeb3b0676c43cf9295c43bdc3993b534f73c5af3393aa6f85ad9fc5b95a12bb9887a80291125c1969408315912f4b798638ab3747b1f88cf3afe2caf7f34cbd0e651cabff9d35ef88e7994dd3965b69fcd3b7a8b797e2cda3bbdcacf629f82979ae45194d85fd0daa428fe97e6fafe35ebb39aa9632aa36fb3349fff8df3af635a9ff6c4bb8c291e319d4f699f24f22ee3a7cd286d4a9439825fa578566ba54cdf572976d67d79ebff5a100cc71b986d963928b37d798771a6ceba5fb37fed9177d2aba599dee0fcb5f1dbd3b228c34a33fe2c41ef7c569985bc73da27dfb374bff6be0fa0748294bf87afc95f02ca3ea852bbc3acd2ef215ba45947ab743f09636cfb24d6be64465f1351933c129a5f6d932679f4351b73557a64b3e007e55ffa6b8f9e49e6256c34abb409560de1d334f9b1cbec04adcf2a9dc00120904677b7b46a089aeebe6995106a74fff02c1d878fb1f4a1e5ebd141070c35ea12000d4c8638c934e5d9576d85b55aadd6066a5668add647ef4ff945f9312cff12be5d4ece7771cecd8b1b14ddf8afbf683fec95fab5f9fb9ac398e4db98e43fc1147f7d1dfeab01602ccb9afc8e3c2dd3b28dd5b77dc53fbb7f74860f337660c61766346186cd8c1f3a6842b7b37cc97b9c857b3a1c4f071fe87e01b55aaf9f261b84e5f74e72c0831cdcd86009b3b26ad46abd3e073032c840aab5d526386082831d3110b4f7414bb38536cb1bd81b24d9600a36a0c2064b36a0a10663d4e089ce8b8d18365f7ad2c6b313246946b1b7038361798353a5cdd3477bfb64fe467bab962663385566e4dddf2ebc553bc7c7a2cf6ffa594611ca604019433450830612a0c147831d1bcc6089190c99410b3250a33dcf8dfc3d8f56e9ac9777381cbf4b999878ee3d9641ad96146f316ce3dd77259519753736eeb57295d9b3ad55e2984b9ff5976490a5bb0ba96320350a66253268eace22c9004ae756063acf343f0653e8ee8e5aa418e810831918f400064ac04006831c2fd8e205b2170869fce2ed66e72663b7f11b78034a3cda60204346feb125174ce102235cd0830b6420430d32384086153292c88819838ceed6f49ce5c9984c23960d9e14767ba6560bdf5e49d75d2b3fe63653dc79f8f64cdecdd2184f747763e33f8638864d77bb5aa0460bb4105bd084f46c6b4112283f6f810b8e9b7e561624b1e0c60ab458815cc14f77ff579bad2e71f4ffab8202a80054814b0536a4808c14889182a6ee24f481b05786536d954950d0040a965030448c1f88c185184a88c1c309a6d06d9b384ec7f27ebcd993516f79b06cadd21d6321059f7602a213e08491843042104602bafb067bce4ef778f44aeb080608c030620423068613309080d102182b7c31842f10f0c50e5fc4600230ba6f6c58d8dd5b41438ed3dd9731d919c3774c458b63abcb96e374387fefcb64ef98bab55950be1e66021de92a811addddc0fc95a00425c0d2dde512d04a50d4ae123809c8f8d983b446afe83853f9e10749600503a9940450baf325418fceb62e79514677b7b59905825e60716bf229e405acbbfc02412904d4f41ac1d20864447046bf088c74d1842ea8e8bcfb1f176534e66207266c51467757ef986fbf054f087210022cba6aa7cba8b36e31b7b50908aa00021280a00904ae0513babb9b389de7d9e02c6937d3c65f69a5450b1fd0c107b4f8c0fc00ec03331e98820726e0011e3cd0d381333ab04407aa748087033ee8def159a547de6232c4e4d5b1bcc763c62395d1dedcfb0b64b4b7dac4bb1bcffb5062962b469b1e94d9fc352c33a5e1bf32975e6d525cda80133670810dcc365043163bc8e2892c5c5974c3f06319e4b9cc765fadf4ec7d2068b85a7a931487863570a401201ac081c50db040028b1cb01882858d0cac918124c7e95a2ec76979e0e3749836fd92e7389dccba0c94b48f79b5cf24c35b93055b49dd0db691b7da791e10986280051830000670b880112ef0800bfc70011b5768714501aef0b9e2060bd4c0025774374936d4f39234bde73834cf715cc74bf24e8a729cd1582831f51ca7cbf77e7e4ffa2d261f8cd14aa92c48902e63579020ded201c90849c9f5a4f36a9322c64aa0fc4b0341f9595935b2b24a611550a302647405b2746582a53daf02b4eeeeba2a50d4edb28208565c2be41135bd15493fad606541a30b65cd22457732cbe91f4ea54dfad171294b913b4eb5d5b3cc74f363b757022484c8088234763f09e8f64a6ecff4d37e5560e9ce34fc2a3a0ad480021ea080e842d84e0ad87477a27c9a63207e73c5fe090552ddddcf64fea5098c13a899408f09c05011042a6c4045125420a18286ee24fd9b6ff76bb4f36e846c98783b8ed3dd7c8de2da6a590a13b167e3decd92cdbee3381eaccacf6bf2963ca125bfc1856c98cc25096421812901efeeeeb3bce3f749b7d9866fcf141b71ced62add9e78902041827432026a74770782544904aee8eeced22c2f95b922104404647b373b9df56792478f254dc444185f99e5c4f212b55aaf69f412699e420b3b0596ee29a04c6123051add1d7649a1c58cc61c5329b0e4cc3a822b2974babb215046dffce6cc8780169d48b30ebd82c0acbb13693672160d4bda03f0038e3c204814664481250a2150a8d1cdf2946456c9dd5b38ee37f811dbd71ad5018a20287a38000d072460e500260ef061758e2d28d400b101470d68a10128069cc18024185063800d4fc0e009289e286a56139579de90e3b87b373b4346dd8d976db5719166a38ee2ff3c0f47a44e6471823a51e4848d05ec60015c78c6e088b1abf3945aad977793473e17f0a2002228e0040a5080029a1400a4009b04b820011148001202d40002645689e3dec9aca7a424d26c694b949ae0f8e024793571e94744caba5686d3795ef72f730ca47e4d4e04d080009803c4608803d860801b2061009b01666862084d38d1c4009ae861e2064c8c8009262670e88e0d398e8759b121c7e9bc1d9c97f71df58c6d084a9751ea9ea927d2577d9189e7956291669ba5519b0541977bd76abd32b69f8372cc9efb2d268e57d23ea6ef69f9b2bc97e79df7f2fcefcdcb8689e7ad5ba64d8ed3614993326b69362f4b3a3ff4afd1191305459a6122cd9ee37443465e1eb3cf0fa9a5614973efe5c919c522c51902c217e8c6e6e77b2758a4190836415b002814c447e64f9172dfce114791e24f7b15c0a6bb333862266b5d05e8f6a765db57239aadc90681a0fc0810850030bd4415ab2524b0c492ee6ecf64e778e3d9be7a369e9550c14a090e280145a7a3a3c3d2d9f11b3c10949fe74f1ca7bbb1091af2af4c1ca7c353fe751c25585002c7007030002c06f003e821fbe918a7bbd9b161e2381d0c76b3f96939e34a41507ad2311a5d124e2491a7481932b271166bc82889a1ce95840b58cae8295258934691d2612901162b1d9625586610c019ddfdbd880590a5b34802f0045024004e080008bafb6aa9d7ff904a10e805802600000700c8d2431200a72b47b8e20a952b375c99e9eecef3ff3b911882840c47fce0880f1c01c5110238e2e8081b469061c4058c603202c7881d3736f456a57f8c4e5a9bd48dba6a69786dcdffdd4050be1527ac481971111328c2ae8a1852048a0812104104111f115188806188328668c01057ba875aad5692e36cad52ab85b3143fe3a4249965fddf7cff568160f7efe33c8a342c8b685802bd7e809c384bc90fd06cfa5957421075f84101223284a7c8679c464c5aad206441a83a2c6940bc00880800f1aa40d0dccae89e2285555db701dc84349dd19d77e3ac6964e3c9711ef140500a7963d3049a9a6ed391261a9a551fbb6c31b01161bba176831a969a90eee6cfb77656bf363bf2ee36dafbb32a671eadcd3ee55f9baed6728c6774cb29c62346d614293e64c48a22c5da2969ae3c83bc45966515ab5a71f4f9f98bd9ccba9faf955d4b846f80b7c0b362ea65ef362506c23b7a8a943c5e1e5c0e4c91c28a22a513e5c575a9bb93f4ea1219e9d59da9c24595d953a478930c59191cab609a7f36c798dfc03b734cf304475be5479517310b51ca14293ea9b3a248e9f2687dde2e2d5febace97256a994620bb609560a674591d23d2d531bfdcfadd8ddfd0c52992deaeeae9531b1dd747a9e5731bafb6f559bbaf9f9af08c6bc57fde9eeae47afea8e55f845772336bdcd2b0c75babb4f8a4c9f045d6251d2ee27797763a7db6cb1b4816574370e8865c498ae400bf6e8ee59a579b457da9c85a56d329d1103f262d280fc69b2414019ff0402024129d46a01e1db9263e9af1f20a01b9b9ff083f2402ea09f261bb4a2b202dd007d002deaee28bda21981d6035a133429dddd05f9d0e22047aaa5377062690b926d0d82a9abfb29435bbffcb46ce41df52c5277034179addf406f8643cfd5b1e6b3407924046545e3ba9b49af6659cc22304beaee2fc53f6d531e0941f15b95f767d5826eebea81f03a782cafd3dd6349fbee28faffad4a1bce671bfec5e99830bd9e2548a5ac529991e7d7caaa383a6b35a758cd1c260c9f188da9bc5636a39fd297eab0cdd46dbed54bf1e83726ec8a01a0bb977a15e389e5e86ea65ec92a6401ba3bd62bc9f266b0f2f0cabb814d6105a362054b82cd747e932d9ceec8bb7fd9edc3e9787afc6332ebeef296e7394e67b30325fbcd4dd7d938cb86078ae71f7310a44fbcc3def232fe39ab55dae49d322bca0f4bd6fc97859f29ec5fe6b9873d8aff93d8d50f08f841f683aabb3b9baf8ddd64e8394e7723b3a4d9b8f4fc4b531a30654e5132e5672565085766dd739c6eb63ccf71ba6cadd291b73ccf71ba232128b4d9686f9636371149a9809425565290a4a8bc1bb147d941942fbaa3241185d6dd53a41025f5f0128a32c40727c4a0a748614591d2cd77f950850f62bb7c00f2c1a7481932620d19f9fd28523a4b5d3d94d1431312b4a23862cfb6ba7ac83de83c2d3b14351a4a96eeeea4407161ea18c83f11a32dd213279e78dddd3d2dfb131a864e58e0a4896ee5040ad2ca498fee7e2c694dc85835c1622b08ca263efd4aa3a9cbacb4f9eb25c5cbebce22bd7630bd9696b084457777d7ca966452bcbd6078d2a7b09552154a6297e5e5a1071e583ce4487a820792c6249fa418ca609200264d564c7c20d900290a242bdd3793d57d476daaf4d8b4755639ffbb364cd24d4a5993b226f59bfbf3da1b2243789e4982319bb73949877395954e99052d088eb24c7196b4230a1c1171748f7e581dfd40614911965c60099525414b524abee8ee9b9dce9bd95a25cf93d9eec121a32e5b7be52de6d3f675873076c0d279464318355919153182a1a806455f1419b12a8a5214a4c31a5de810c44a07241d7224814192142459a2bb3b6f3ece3424eaaacd3a0b3f91e72fdea40779d94d5ad1d26c2e3d88cdb5ae5aea613ad4dd24f181032208ac887e58110d7577affcb3bf32a1a1a6a1d7d08e95501184ae108a801013424b847a564169ac82b05805814141ba1b875eb988b07259b17259e9ee1fd7d0cac5639543190df4e33f82384f0b7fa6f789e374415cc8599835258ab7f094afe4389d8785fcaf900d136f01fdf88fcef33a4c1d4b57cdd768ed8eb8c656c732d76a3f39abe3f57c0345ec18e3079f96efd71ec9bb59a59ef178739769a57df26959a93b1094cebaf9696bb637d08a364ec3b28886250d8645d0dad804126a9247add6cb59f997ea5fa0d70f10eb07e8675258b6f6c2805e3f3226d388c2787a46ccf43ded87e3d0a361b34aef0a4052482902c8f6b5391dd70a09ed3e491823dd0ecef735109421eeaecd54bcbdc4dbabfbe49d6055b85a9f7ed0a1b23af2a3fbfeed7ecd7e980e851f9497c9a526ac5a61e7d96cf5fc06cfffe2c89f4c9f8c395ee28963ff25da8c1659fb9a136432ffddf6d562ccc232eb594e53a4342d53dbdb4671cc40aafcbcbb89bab92c22bdafdb2bc178fe6c5a212743f897261d7a2c69491f1499e5d07d0a8a9f24373dd21331bc45ff5d9be4f64aa6187e509888e1d03412ba49b049c66fb34b30286d16a9897dcd0fe94d0273d3231d81d62625b9ff5f9523c646a0ccf6a534e9d033c9bc2486b7a8fe120c822e1d3d431dae54de210d6ce10109ac78ae3cfe18996a2d16457bbfda9b57d76aa78cdee162e789f696e8acdb186bb570ae5fad18da2612a0810a60b002b205141cc852adec8768581635599cf06bba0f0bbf269d9ff6169edf4493e4a8d1e0d27c91be44fab23d9291485fddb5b24f8245faea449aedacdaec14e9abc3f7459166af3da57db2be6843996f41f7936496439d156906a9ccb2300df2ee48c42cef96dce58f3319f838d3c098bc1f8ef5fdeff83dae1453efc6d26cceb2f16eafc4bb4f944758a42fb7d9aa44a4affbb3529a97c2bf49a71e4058ddf3573710ad828061c320acee0f250f2b1bbae8f077f395f07c2cd28c45fc3609136986fdb57d858934c3449a61342c416cc3d8dda8ee140290f0e9eefe11e505182a20d1a3bbfb0521ba26babb75fc0842bb74444180d611c515ad230a2328cd6043b760448703be681d0eb841eb8002a77540416b1d5008a07540a181d601050d5a07144e681d51dc681d5108691d5184352cd1dd7856c3eceef97584e59fd5b0a4bb069fee9e14768bc1f2cf5635d874770d2a1a98d00dbbc5688841370d5e340d59ba7bc2b205310d58bac1c6b767fa57df67bad60693c96c77efe8150d3e347863180da9c63f8ad0bdfa1183be81a2287f68d1ddb07fd9ea0715dd565697e8eed50f21563fe68f25291b7ea456354c58d59851f385db3c8a95fa9481e580e674d8f124497336ac6886d05d64a7d3c1c9d6de0fd330e7c3345cb90f700eedfbecf9bae847be46717dd94f3f3939357975d1a72eb6c862e98915a72a4e4add630b7ede947fcc555e3973d1da2731329d5fcf32498c4c27af0c695ffd58953928a9ac713fd8c0f591114ec7109a062b1f4568fa130f36af7c0881424852774f3a044aa149876625ca7894b426a227ed3314641ad225f76b4caa74f7905ec13076d3ccd76cc2646b2b185eab17b0182d35c9a3ce262f6e92479de4e9868cfc522cb3ef74c8c85dde0105ab20a804d12807b29e754a2134233202080000e31000304024180d874472d9a4beabd80014800272ba6a9c4e1a4b9334c921858c31c40000000000008048d218006a1cdacc588901c49a7f662a73c371c400c3b3bb439b3796e85cfc9271e85f4baab69454d14c00ddb130db4a7ef6c4f9deb6ea2000b9dc9ccd7f825e7da9e5551e478d970b27b27b6214b35ba4bce39310e58374db496d9165193223d9e12428e3a28b9eb5d6e33ad24df8428d69d51f0083a610bf807e33124b0b077e7e6cf6aa7a1965ce4a794e92d68720aa1588ae28a5fd3222be91f783a0b6d845b2c082328664d937a29d7a8f02e3c5af7127f963ec7710a817aa08e3274640885298b64c689555bb7099f1923025370c676888240155cc00b3fd75da071d865b0cc30a9c68b525c85dc61da84579a7a0557e872622666d5e48b03e92e1284f9b91aed3d2fb3fec5e518fbd23ffffc9cc6e498a3bcd5643ca097b38815d34df442fe7ceb90d80d05a45c67272ffeab9a25df341defc9133cf75ddd4442cfa62d2fe6136c21a7d0d7dc1b66a58fe6e933a7f968bc96976b56b8f8946fa355688e504c21e14614604e5fbb1082e712658fc303a480a723f00f1bb4e8f86e4e3145fadf0a700ea0f9b9e198ab3a785ef89123638767c367e301af38f263394c38bfa79fa469e0724dd6d035be26a88c430ab5b80499f19af10610af1fac2206ee987261442781b5b76e81ad9ae347bef0decb4c67134d7d9a9ca0da3e1cbe8ba475fd73a17fda48925f726a7c06e1cb2c96eed4beb3839af0d7bf9886ea6cf5ab7e9860d6f014ee9daa89c6003c535e3ce712885c14203e68f0ccbea339fc3e343c89148af4289af0c8a87be5fa98b9fb0d81c56e30e5e89458c01769103a3d99f4ceab6dadca9fcce14c6d93c0fbf4702c426d76e9abf2e4c0dd6571779df6507bc1c9fc8e6fb0c4c12d398269cb14df94cbadcaa899379363ef155a620310d75e443ebf01ad593f3d5ed7196eef85d0106a60502265a4c59f6fa2fb1ae38cb9786958e3c29fd127af5d520b4377c9540026e075a60c14dfbcd8c26802a3930d9167e20b1d1fbec54f6802793cff6d6b4adc41d119e95dd76588400a6e2ca2d375c5c2be971826421cd940d9c4090d27513d381e40fce46f2733583b9e2204c01de6e40dab111f968f85bebd1a28793df74c7b131e840c5e0e999ceedea427b38ab190a90345287e95e7d96787af299e881436e4a79300b7f173c6dad6715ebfa241cf3635531402718ea2e52052e988d18467dd08136269d2dd07d79821e7f1c07d56ff61dd90f52904d24fcf14ec3989fa384c54cfc0dae9bb1fe964573a6bf3ae67f8cd4410d0735f917e2e8e640f72be6e2cbfffdc32b6b76e5a5d615fecd7293008fabd9b87f83fb07ec0530b31d2f94833782812a1575aa6579b618e27225ff657ab575079514f13fec9f21480161d725bdbe6c7e76b0a64f2a122263b72320be3843b166da4558f5312181243b3c38f19865ee24a2d94053140a35b2b510ed1c7304c40bc9cbfcdac378faa0a786fd0e612ce2faf704e650de45aa9e80a5df87d3a6aa7ccdcdfe00b3feb614fa907a0e4df4911447ba7361771ac88ba8615b18182fa44159cbf80faf510937892fbcc9cc41025a66db356afbd209cc34a754799693c8d6d7d14daae80b73f26cd3da31e9a9625e056aabacadd94f321b44aa025a326216d37a6b0ea417c2f95c99e5c66fb820d090b918b6e7050870f860a62db64a28909a85ef351f263a4869c135d8a0fb28d75811f0e91adcf3782fe50d7ba85e66ea2d96a9275363af6d533849b51fe8bda1f42b1f13b674638a0d40ab144d5b385ead668d0469afe037bc50422918649c9b19d40ec93116b52a57b62ae27fe7ba8b4f00ddc8dfdf4419f292fe70ae68975c1c560d700dfb3371b8e982667d773748ea9b8a66bdce8b43980b16665f90e6cbeeb2cf4a36b3080e8fc74dc1d873fa58350733fc7e1ede0343783bccdf9e57e7fd92bdbfb5679d6215300a95902c6ca05881a0180e29e109a011e058607e1bfdf7852c1e87701647bf8fcf6ed10dde757573bcf7b7f50afcdeec5e8023ee2e8d78daeb95644585e3323c837224da56a82a758a435d8c1105fbc998e3004ef6a92a39da440048084d3ae6b01ca28bfa55429e89cc15282af69b91fb720d9147837352ee3cf301723affdff3eda1fc1c84e23738eb46b0df9586c42dc66b4f88b7d9dc8a351160d469ef45880fb842bf3aa22f82b063a652409f42e93a5026ef1cc3ebc3370037bd00d7e0019155191234b059900473c739be6ce70d92cd287b4f3d01330826f098fa994771565f5bcbc85c8d868e1313713051a9e183f72734b16e6b4a79179ab221b4eb405e0e7b0dc9c0edf0d99afda828e03dcddac0be1d2ca567a644daf5c339fcda733e6800afa71b11b63dfff9477b6f569dcb1451723a5cd620520446a1e2449d33e8eb85054a7eb9d837e9b4a24046bc059386b4fc4b6218eec717db3b4e9febe27df87cac85d1ae9ff29a3f66cc51589ec9f2a6b4f5e14e69607a60ae2aa9b89029f7d9ee9b817325be89b32c62c496405c92df7bb0d984643cf1bc2934997e01a3c2e459391c305f351ff721790eeb96e22d87956b940341c3dae3dbda59973096706bc0e2d34b006d33e10062bb033e16b0559712e62c8e3d89dc92ab6fc95b4ce2a2d01d2bcc4fa8686393dd2e93c939fbbd91b901f9aa3ee0b4459679168a21ad6269ad97ad0d083f263089b8d21e29b146ab04133cd3a5cd988a77153218a5bb2906d21141954a8cb34c1870106c6446222b9c17238967c170eaacd5489a30d8780498fc1b0a8cfe314870449a5aca1979e94a286825f46fffdc6ce312c41e584dd84247d049b37778b7e18f71a58aa5c5acdccc3acb5fef89cdd3d695015520c398c8f45644310a1f9178b948f4e187d9423ecc9a6d029242f908c946e7d867faf4070a802cfd1eb712022081e9842604f13ae61a02251069dbbc333d67d36525590ba172825f9a10bb8c43aeb74c9ee8fd4b87bd02526ef42bcd9e701799d64098ebdc971d3df8c7e35297f54e3281be86d6a378a1b3313f725ed02b6c16bcbfa95af1313092a8375ba409c9e548c8723a8ddc2fec4a12dc3395b0288bc2df6cdd13c00443953f48be146eacef64c1a4e68591eef285f049ba0c94301472b86779df71246e1280ab0f15e3bb09ea7e0615bd503f7ed8f702483f7a8305b5e30eb8c56c9b21f795eb7512bbdb63a1379ce538139fc42eabc9b27cd505d930117613d900c7ab2a891737e9ad2bb49500b521fbf236768785c2d665be7a977dde7e8cdbf1ce9c8e973abdbabfee6b1b9e173877de7c212de4ea14ee3148733212b915ddccaeb9b483ae55a39c79e595fc2ee14ebc8f85a619b2eb1053ff2391817d7f144608a593bd587f9ce810b30f7855c322dff883ee6c3101029420c2190a93d2e8c1ff1cdb8d9b2b42645c45e675b98e683b8bc7db047921923591497681e27e331d04137adf08992ce885512e4ba7300b6e1631e2b490648842827d311c3d3190b744da8625d70ce0c721b44e0f17ab6da043296599edc94dcd567a9a960042ecdea734baf42b83e1362124a27d6857a8e0a7d5cc124816679ab19593d750d21b5cc08a0178ed3f5ba079bf0dfe3699615ddf82baeec0d76dfb9050b997c15876f95fd62d60fc2a445d213d1619c8a677114d5bb0000c7303262b09dcd710b7d85533567bf99411cf4c3dca20e480c4832df3d26d0007bb46b3559ba0107d5aa28c6abd4694140d211875e505068c07c1205408888897cb6afa4640401bf80d0562a3521c525492f94e86abaed65747994d3a1d3f47614216bd6619894dca54d505885868f3901dd639802c42770f486d8f825052d40717212044eca1dc49dee52ef910e0e595d664b457b674e52d314611577216cf2210992641ed2f68e17c7724e83d36005bc1258981a0e3c977c71a17d87512c3c8b8278bc4c0ea8feb313a62f2c6857ca8030b2068ee0ed3df658ba6556931edf11ccc7a81bbbdf3a96f11fcd4f9eb42ef18407543d33b54b769887b8aaef8a568d0a3a22304e8d193f73c36392d446c11414ee75def106642bae160454a7cad9400d9438a6bb1825f837a26600e4e9115982dac81bca4200c818c23a3bcaf2600f442598effb2fca8fb64cb72401a9f410ced35e872a48fcd7c2b591143ac1781dc49e411b3a5a0f5c03f46fc95b02528b24e0d9f14f0efa39f572dbcae64e2b224f66d106ef51573653edb6f5d81bab118dfff862764e4880297ebde7dda5d62a83c40da4691f62b6f58ef504f588b26044e4238acc5517289a9c51f06a25a89082cb2fa29ad458bb069bbe224be21ff050e3e04f1a810177aed354316cae639b85038eeef1260974138c107826b2f402238ac9c84118328b7fbbdd8870aac102833da8af1586f194aa1095ed41b5f893d86af81e5229fda8b3ef8a0dca6f41799ab01f1ebe308543e0fe398fb0be699c05c9ad29393a63d19cbae1f1dcf8954d94d08ccbc41938eac0d09297bdb777dbb6a3d5e4434696c6112dfc09015304ce0beb1c7bef22a86040574520a94e07961f989b40af5989ef4ce18c362d9ae32bcbe10aaec26836060d91c5e34448825cd39e800f80b7d9ef66a15c975502e5be4c79b03240f4efe734b745151b53324416d3d2f57aeaa82afcc4a1fdb6d2819e5644e0aaefa6fcebef043c20fb1e1c74ae984fb0a722cdf658e1d9290c053fa964a28f64850119ce519fe0bfbe4f2c1006de9d2c23a0804cb3f44f876a43361f8772517fab0b8547282a20dd5e346f2ebc085d89b570919e990fc491a254292b59afd0acc2badbb480d23d80a06254a67bd0673a20eb57da9226549396f312a83f32392d1398521ac54a98a4dc22b675644dc42c9ce56b6d7772e84951f44b07f234c9865ef3654744e568167aecaff7f20d687326808333d00c963f99f1cc8e7ccc2e8073593c6899b07b4ef72b5dd52bd114442b09653f5a7f1bf5818e81dc1f0f7c314b6822c1dd52906a848315efd74416855e50bf0949df088d16b04aba3ac6d5b576e912162f0127656cbba4ddad93882afa86bc72cf8a9c9426d5c04b588f3d21cf1d3c2cf29ac49babfb569d1f157f88b899c96b40adb1f762883294c29e0992b9c49be81e1273b1e8b5412209a10aa5f978970f330b72ab3a9a4ccd997d0c21631587e90d7c87273492268125661548a585da724350695a2d0e7b517e2d73aa6d7ea63f230a039569ecae5d093738cb724182816a792dc36e7716357f0c76a3b347e3abce2e925ad19580ca30c2c2a9dfed42537e2f1f501a70259152b8145ad3492661f83ee07a43d0961898607e0a70ec604539542fc867045a182f76276e06e3e3f117694a31d0e6c1d9d1040bcac9959c31af2de13ea97cc3e7c647e4adc03c97d6e406b55ac92218c29c674478d79c8d353169c5f0ea70fc940a74e4d0a957c11cbe896765660835a798325506ba4984286101a21277d3639f95a5f9cf31c9f9712b29262002572790654c7cdca1743cbd441476b3682fbade5ae10f6a5b1b3e6b3b421ca1c07d89b291c5071449f6076a3a761a677ac6f65289f3bd2c85c6747f2529d8e079597e1e27848c9bb6e168d6f414398b161081934426517a97f5e026a0b34c76ec4dbe67639dac71363500531a1323804ff5e28a2d9b2feebd87e8cac5572e75588ccbb6015d6563b8da37c22ebd14c97ec68fd977559fbb10b5da2e01f0f08ddc6605438847e82d005717dee31c26db57935871abb86c95f3f34fc202a9237116eb7c1ac4a20b0921b3c29353bffec314a2a31f73a00ac42d2232db9fd1c3e81f88cd71f21515e0c4e1843a55ea08d581bc7c1d4f949a133d2bdd63c393562634e34e8da0e8822fff1ac2140e6483d068a26298e891f53b70ca72e54cc400510d5e1b698063c265956b954432bc61acbd6d5ce6c6e661d5369992245293b5d4cbecdd96ea61e50302ae841ac0b0e0888cac5b1ab06cff01059f18c1172a7d32b28e03d1f9ecec32bf0a3e835e7fb430795d7ecbc8080ab15b2cc8ec662ea9bef07d732d0a2c817f1e121ea2f1bbe7ff9c0af55625265fc4273880ffe3086f9f81afeff98576f5b10f8b4e60b5e348e1bc48b1f59c410dfabe41029fb6dfe59f0d295f35ddd508844dff670e0bfcad07bc1fe86c76d9dd4f49e85bb4d8b1e9ef44a25ccdf0633b850370bd9589b40721b9a25c1e98dd6c119288d679036c2bbdb789745679f2c929479e58c36085397cf8a6ab8226d061dbc9bf2d3b98de0195b3a23438e021367f07001cf0f113e5e33676af24e22ff48f6e71b588e655a22983589de5e4ec72bfb5a535e2e679c8272778c05cbedc1f9f75c55b8166697bee9f971bfc8f25ffc50293f1b3a3e2d0ed2421c5d58f95a19136cb9c6c478788d1c066e74d6ec79cc0c82df3ba911d44ada34a822d9d91476ffe31a59b1cd936b0629010010af01f62c8946dac06c9f6f37939ecbd52804e0c8b7f32ed7f6d4a35fe957ac94cc2231d16dffd2636a204bdb1ce3737971ee6c48f74d194e997d60bc3f8b8aefe7190948bf87c07d42c60c9df951e60841bd7fe253e115f98cf3d1cf085bafa47056fcc860c6ded670e3d6e2d075d0358cec2ce869fad7147f976b26e7e29cce0364e56d9adc0ce805ae170eb2564653428d3b5da7605d0101f29697b4d7b37e253b39e618b3ca31e5eb4acd316b9e83610fc5cc103c2c3927cd834fc284a644ff3fa7ccc27266cfa5f615a06987a867ba31772cd2bee98cf45971286e1ddcf9a2c9580ec354e02abd6a58e4724bfdb8c84f114eb0c552a4388886fcf04acafad67b48775bd046d9170f51a3dff8916b5b884cec11aefdd92f9948741769f942783a20f3e9450a4d732b7c293d6885d8f3659183d93968508b07cf27b575a15312550533a328c60f34989447d997f8fa5383edce035e4732a9ae733d6f104b0db24144a4cabce98c3f259304a75df3c054605b3f8317c7d50b562ed64f093d69a5fe33691fec720102cc4afd1a587a2012ddcc35ebfb1f8550fa13af9592c61a62f4c952f23d7be84482ab763753fdd25dc937aaec086f63fd86a96a349d1a78851df1a72595e80f6b662319afd6264e2ab20b9302631e99dce3f33259ba157344175633907e084a184b535330db1c64024988589c18fac88aed22ce36b2615ffb4dc2125d102e79732df74d3c3775bd5eb2eca96874125fad65c75e4df35f1c47acb04694244d41a715ead2d03d45ef2f5b07406a8f69b60aa094eb64ec2e39769677fef6bc271e9cf0209f063edcedae338648f11e0a255e40a2ffcb27ccd16e4c2ee1776371830aba2571c6f0d608184f9ab864b43d4b41325c3034e91113326818526d70c28b47c1a706b5cf1660304b10848ba79ee01a96565cbcdcbad337242479a97987f3f42c01bf11d940469184b507846df6d6bb99a0e9c98589ba876d77b40ede003770a6ed0817e2d47a464f4ec1fc5f8fe0a6c1b1640bbb13687baf73e0e0a5ba74bc30ac1aaa283bd2531b913c1edd2ddc951b2436c146608ff8f0dc3a6f356082e34088c2b1ddacff55109efaa2bedbdc41cc8101612acc3391c2c128058cdb13b1df3c63a8f89b2b87e55dd216384b30586f42645bceebfbed18ff5b6f34fce55197ee10442dcbd8b91483649fea219456a6c30afe4e6f9d7d71adff607c1b4f37e82c28e067749f3bdc8f89e76a6802a3c1094c66c6d6c07128bcd8825e47d369c6907a50ffb196a1070d4827bf62a4de9bc04a06a77d1bf42dff75c7428f6e484e9cf0cdf3b0816e216a5f60dd9142571abe5698933d564321d997391a42414f8401742c56e416ab12714188fae528eda81e8594f5c448b01105b90a6884205a8d83811d9e3d57b3148f9d37eb7590676f021ba7c541a7d43ed787f6e09472dc9e7152fb75375736b09dd1107ba8ac8f9382218ed0923ae6d41ec7e16492da5b914bc47129e9b6e3b33fc8e715ba6bd98df23c1e155866b892d735c5b14eb6aae4a086765b7d2ff8bc48a238d9581ec667f1eb015617f9d45d3119678dc8313b253a0fe54fbe3c63752ef31c14b29917115b211e9dffdd440a6ff6cd54fcb47b218656451c3dbffdc5c74a40c730b6ce0f7350d3b91df1ced9c99f1cbceaee35e411579d47a0cd1d48d2955ad17d7de41e3fc73d70dd6d291c6d6fb9333b17ec26df856f4a5e10a59f1cff2dcdc1c074b24392484fc2c3881d99d71f54b7e3a71ae776f31b4a40736a95615bb2129e9b29bb46a8e43151fea5cf5553a78986a94f2d375f663f7039e9d47809dc4e27eeb78e6899b344153ed4c517a276370d54da58d5caf5f74879a5b0e9eaeca6730ec53dba8ab7c150571a23c6e813b2f2622c49bbcb961aec17b3713f288acbb19c0a7eeb20feab5043bb6db19391cfb57bc59af7932c673bfc03e03347d0e48931e8914f943f71f28bcc8674cfceee25acc68fcd32b4b425c9aef352cd9858106e5dc768f579e899398348ca8e849bc6ff96a7822bbe7e76ffb3b194513785f2b77ac06c67471e212601a3f848af4f828521f2cc87766cdc2e824e22eac3145685c3aabd2d6c6c715bb0b52e86d579f15c236dd2b7c5bf0b5958841aee489d4767b02acd5fe1a181fe52f23746bf4f34c3a2be9414755000a7b84bab0f4748bfec7e88e341ad7a6f2d1eee72243e7bd18b634378af0a6ab7bc6e6b675fe2f94ce53fd2b8bedead0de9373e5dd7deb8561fa44e847a7211e8b867282ae2653280266ea4437b93a94268e9096070da41aff963738a2bf07ae1b5fdfcf9556e0489aa18316a8134c6de7dd7c4d731773e213d011f48b55f67a9d6310fb1b773fad54a21a89a779c4c6ed5eebf0427798f09fe1ae4c3e607cf8fe6dd2a2044cab379916a88ec62b0fb7b0bb2ecdc5bc71479bd788a6d7f3379738720e9dc8af2c73e1dffe5a031b752033fd2ff1e234209aebca72d0ee0908b86d04968b11596a9581daca5ee8d6a7f7957fb8a82c6b1610c14212c4bb61fdc099ff88263a35518463c3319b9cebf9e7257a254fcd887993086e473a643419bb09957242b8a37afa45648090fc80272c6c474f99a6741ab3f14127c32b54419c41382da5e9230008b22a1aed20e26b469d5dadab4574c811910dd97ff479a23ca2fdd742b861c140de31b8c11d76ba50f4f118452ac5e3cd79042b795849d8e7f5c16bbf4cbb8e1888d459b600fa21969bfcb798546e0010e1d59aa74a592cedcf19b04e02a5ac6e8caa4885d0de62fb15fa87bf634eb7aef6c14ac8ff9aab0eb7a2fd187b7502850c1dad3df440c1f6ba962337257659e8721415eedfd1f426fe1abad4bcadf9e99bfc09e8af93f8c3710f208100fd27a58f04e58875b899aaea664fa6398d393f81f987c41bbb20f5e892ccd48b88445bd319ba9a0a2611dfc268ac8110cdf8463a12ecf4d9621bb18024bd315bd21cee3a9c9b6fde3b42cf7d35b34b917967addbaace05380cdf84c9819de878bc201f9d17cca62601305c654c13202b620e802d41f68e11310bc839f7e5ca2496ff1a57f0d6a42424c8948a8a74ef64000cf23e39af1dbf4fa9d88db424cbdd08ba39fe0fe7cae2ba1cf9f0d87f9f5b64552e89b6e19e1203ec66904977389f98df5c1610e66e78d78bc64ebc81b33c09f92746226c50b3228c7d7d843285eb5bf5c4ea08a19209b76e2dbc0ff9b01425c965b30f6cdbb8c5e60d5b8edc131aaaa155946697414dd547ffa593dd482f614eaeb61405e6e10a5e08d0ddb0c5dbe8f647f645d72f3dc7ce4a29f04f2d3e7155b071e8317b31138ddbbf2364347ec788122dcd3980634be0717b09afcc34e912e82734bd9dde1fc300348bc95f3345e3c593d9c32c583c5cb47d0aa3a800558bc4e8e13bc9ee39c739ced2c2cd3257baed1556219ea1a72ae557744bbe6fea3d6347f8d20d8260be684f2294080b04ee28a718c003665a0d43b0d15c580ca0cba821a93e582a8c018c8c32d24f8fddce8ae24e681458726e10640d5f602c473dc9f42ccbfa065a1e7b4967ef97d2e7464cbe2c40218cc9de1427213b46b202d8d45fb4a1bd67c5bc9f64e6722304ef76a349ee04f9cfd1995272bbd04ecbd0d6a8d54efe19fb09f1664fb304fcc90de06713f22079a07a1fb3d4e0f8fd7affa0ebceba1c60e08a05d46045080a2104b8e63778416996b2b0f60fbafdf597d05aa7ccc8580b1c27ad69b59705243d8ecb28bae2ae747bd4227f372a1725defdb2ba06e8eb87e2a99ace3496822d30453041ee30add4b4a1f38a98346581e05c81f98d602f12ab0ee8bd2c0268a4713c817553cab7c827b5efb42573805b71c79d49f4261fdf3891cf7734bee8c07bcf509829755c6751a28f5f9dd17ae841674d2f9d8864b3b563e0512cafb6dfba93cb0e6a6bed4742d6173ed722b89aaca056efc08cd3bfe709e2348aa5fe547f96f4f1ccdb95fb641b18aa548e6b2e59f44484da45363f74e298552ad015b27924d124fa045b4b63a1a5f29136f7a72f4c2541813b88ef2650b4f4fc24c9df0bacbb55cc98e5b95a54e14836a92f892bb910cf08409bc4d67258525137d8b4aeee9ccec776fabb36c0c097bdbb5f858265bc1b247f749e11dd899930b0e13d1459b6080e26df5bcb2ade299d084fbc9d5bdd4546414d27e4974dbbc3bcc328c3ace19f7fb7a9b901b69e34c985b6a486178f8b87abfd93c9a0f0573ee20e376ae3b039f347cc57c20c5e383a4b76b00e2327902178f5cffdc0fae81e971147933ac0d6a86c445e54740d19fce0321872cd8c118d82339f96716af6ce1cd34edb3871f8844b55437308220ca9899d2c7d6f9a367f21026029895017cee0a3faa593c839fa060689aad8f5ea4edfb60f0f6cb30ff00456e50e8a3f049e503a61f10b38d949e64da78ce6c8f46d83f20272f7684031efb6f15df386ec5b3c4bfe7be80ab03f719c9c49e160497e00caa1b6ff19b10480ac304017d522a085c296e75f191bd1e585863c9b9325acc4f2aae20201ca3c39622999f74818e9660ac5d01600dd4b4aca59253e00689bf26a477c2d14f9d82d66dfaea870fceb0c9436bdb7bddfdcc11b45fc6bd0cdfad8152dda586daac26a8de21de1194ff29ba144dcd9a7b0f1b1b1c1badceab6b90be17edb0286a53178fa048260084d06ef544812b74e935fa3164bc4038590a3b06c2feea856d42d977f4e0b7f392645ce96911bec3d033e92370c04c8b530d7c9f8ec9822470338d3e53d30b963a986dc3c649e2b2696f02a95fce34cde977ef2f741fbe3a65ee0196ea76dd72589f45d024131fd3199e43cbe6f8a0256485d35af300232448d7a47fab0fb03362a300b7700098d63b8427c613bc9e61f70b3ec6910761f84017efa66d99589f82fa90d872810f259cadec9512fa20e448f4cbb71668a94289691b3d7036c533ca955f514486384b4b645e58d59971e8ae4341da16756fb747ccc453e15fc463d587542210a65a7bbb2e476ae1c0ca99a2c897e6810df2c176458d7a9cafc2cf6503a1a7be7739a9a01f540f98b038a6165d455653ccb2afce1f45062e1139adcc84ea58a9df17f8e4467b00a17967f05f33a043b8baf23d8d6658b2db2d4f27bf8089698be1144c36fc481c7fd8156abc0154da5f32b0a8b0b456e87b061a3ac0e6ba0116b1cad13945a3533ca6c39808a7a2884e480ad7b555d5ac6c1a160ca9002d889aa465b663e6c6e523db538fd34793c40ef27f5fe27354a002ea2668e8e93284f1009b4e8a414b813e9ccd45a6b2265e11028a4802e0eb60ecef343e436140c5d3212049d6709f209ec34ecbe5eb3df95eefdb5679d13d111e428a7d425dd57a9862f340fa3808dbf83e6811b4d755908b44fa98c4de09bedf52b510ce90c99934aad0564f113d4c70373cc402c7780507950343f65697a782388ce6aacae9164e41d4f1f3ddeba82ced654568c48c75264bdbb9d0607063badac660c90a461c9107a2bc1c57ca74256fe6af0697ce7896d166f5eb7275e330569ad4eefc9ae6851d87658c65e552e80d7d3f124e4a69aeb118bc879d1691f2aaf4aa76bd9c552fff12612d4030b37619772584965acbf5063459069269314d967663d67a929a124672542cc6802d330c477e11f91f6299f97597816d8d271d79e0e5b788489fa08ada0c956a1490b3fcc146ed05c5eb9655ac252a70ccb93acdd7fa459dff6b671c659801d55f47f053e06d16a34d3d5d40876c1c03333bcc26ee92ef0698950b8cedaffc93c20099f38910342ac54ff98ef384408ed6bb97ebabcf74c452a58ac4f913a629c79f04d0e318a4b41a87f0ddc7e087d52fce061cbb73af7d54841439fa771597ecd50623776dba2b5f75249295d1d98ab6c0375f66758a2fb2c3bf7505d6429d970ca4cb32612fcd78c59101696f49bef4bca1e8064c1cd2a1347525bb46fef0c8eb788d33b5344c760ffbbdf4fedff13ccc346f01f2b1488ac3025d7c23d249bc60bda968175d023508b660a146fe5adc7e648cb6ca41be990ea31c8ed870ced476e8d3537ba9044c3577bdf3513949901554df853c4a4605108bb3dd48e17648226460abdff61ba9e85b210f85d51da0e4d0c7ce1071d4888d7a8c66f748fef3c3cd4f6e9dabdede67b8cc7ddae51257fe7c4cddd43d3960b134c25900a3bafc2ea2b38e2bff9026d4c8d97b43aa2e03765a6acb8b7119c730b008f778f5204673000edf3510a3b165ccb97d019eb2dec212f05b46401922faef604983879ecdf6a68062441ce131e102ff1d87690e1924b9b64dd88c36a64bfee6380a0cc9143cb90693566de443c0e1a9fb98706b98dc97a0135d62bef30ee83a892771caf305d99a7f9f902d0654b3bb57db6249d6c141de7d7d73c7ddaaa34e8b82a156575c8c7c65b6efab6634c3764b189d8a5da6b7391598bbbdb07e4152490350c4c86a460e2ce294c4d079cf5104d34e534927f8b23433fd5b01c8413c9a92b2c438833b0b49513cc4da4d8be883527222b08a779576c596df26f8d83c737944b76e16145d934fd765473f365e214db8d660337e9b2f675ae5698bd2a82d44b5ac1dd02cb7d3959a55516d11f56b489c8838c00488e7e21b0b2029ac504f444990ee54d366986690bab342f5e7e5cb63e54c50265d799d4a85566ce8639ed0f72770ba06f1c37e95ec370c29f56e887c15200300ceedff14b1bc706488f3c4c4f52aec20de490e99c1c5f0da42af587e0e662e621e816a55c494b0add096aa9d9ccfa1065581fa9d68e17c67de0455e34479fca4faa07146dd8369e6aa08145de62e572f309caaed187e6928ba4082d4481ed431be12b614647aeef5deba1e75520c734bb21698e95b5d45224f4f7401b8f86c88ab5838de008148aa919fa8091903e05d6046b23631b6013ca1eed84cd76c1273e26a2e012c9cb70e9aacea47dfcfac5c63bafc388ad09c1b90046efd4fe250383f5e15474338db480a70f25157e7e6e3899faf6e1212de22fe1c4ebf347c4394ea88bea7f7d8695e090c2c087752e77faa7e729c91d93fa9b4b7a2024b5cbc6435482f5b2c6a10a6d4be06c2487e9af0ab119e5a3f2ec5cb9b05e57d92da8b8308f21f315e58ddac464b5d98b7479e1dbd5774e76e9a6b3f82382efe1e712c445546620b900483f04e2eac443dd895713642ab26a8419055977b1af86994e536e1899278c0f8cccb05dc1d0786d079e216e097ba460ec2de67839875e78d52966429fc5e669ba8d8bc08ed69ce4b91efbe4451d6263543d3e6909ca5aef26f2bc9825bd8eb5a6f01ccd4e29e14ee5a2c8b6d634a6b60712e41647601132103987de6c08cda66bb649ef570508905b8c603e44ae27afd6f142d41b3a7005542cbff9396cee02994ec072b03dfee00cab02aabd0a52ff28dabbb0e00d0bc4d8cc6cea34f59cbf959e8a97a0747e7b7b5302cbfca990e6b434fdebe67052e8bf9b3026317f0bfed2bf7c0a30d3020e2fe00f6ac3a4053eb16919ee6a451cb568b5da77a415c90fe631c1a4f35be871388b5943db104bf5cf27dee88be0973884159f74304024ea5986e625a8849e9695703d98ec6f4cd4c20907ad94b0764a15490c630200825b375b56572bd03630f851691d8f1b41d4f972c62221cf9e7c325e039d59b0a5e556bd061e66d4161fe3545df81c7423676fc5db60233ffe7b770d31dd2e24b2a1b80c7711e8490a2110a03617aac04ef716564126aecc0ae00599240b90ce264dd19f7a078fd7ec164360a167401ff1003798f36c5f19ea521ff8b2d0a50c84ad078e6093118f61aef01531224347898e022d0f3a7c31357ff172703041cf5c374a9cac3e64792ae335a698bcf87745fbc59aa48a5da89832e6f4ee3dc8b156c78ae41485c9e85521f1d1d5893a2481740d94806889d92e2b206668232cfdea6211723408ec345e98a613094e3048996028945bbc29ae9a3167f98b4f4961110b390bce899115eddf671f1ef5267416d7d09a387a92f66f9c928558d34fa6b418eea9f992f742cddf5401a7a94ba97b7c0ab9ceb431fed8cb89147d75346035db7067843f22cd72e919d43292ebe453d789c225fc4667373da14357a30e07e42049725492088c6be4abd032c4cd138e0062e5bac882fbf96ea2f14db7e21347b6586d72cc784fb53181478a3cfb1bffe70c2de369a96a2c5c5672b56d4c54a8d18fc8b97fd59eaf5b57b293871433f553b683f0fd71cef87199811cb2aa720d585addf87de983927f36a3670723fd6e6279e06d0f0e40bd534a5c827df61939e908032f57ab59b4c22d46bdd5898086a884b713692186a46792a2346a88398afb22357b1b52bda75f0a0d1fffdbc0dce412aca5f9c514679041bac12136d8b81db76047cc1d4137fbd0428c8bd571fd354f39560f45fb3fd9bfaf734e789418291060e7104a1f14ad619377717fc8503274ade3086c881bcb9c49ce63b21ab53f482df60897b73419b1037c9d5d62cd1a51a34eb49df8bb3bfa515381ffde588797da98c771e9c5725b260457f9224bfef0c32dacf1a82580ab74a390b45169bc7e3e19e839e1971a3760e6c3e44a4d73c39da74639b6d3a441b42ff1019d2ea454e9eb18a337279a05c9490ad600a915b6f002c2d22aa44fd79305d84a73241bd2877a88697cfb060751aa4520e875ef438ab1d9678ebcc407422e6830b79531bdbcb5117c2948e3793ec0e122e1448706b5c8048c812ca528e2eee2729c753b72fc126ed614655bb158ca4173c1b9997520657bdce1e00a29bd70d943e52a41b2a261cda37049994697c9a1e6f50f431b94acdb839cf531e5d48e85fd25cb50040dccb1e11c577612e69a78d23842a2bf8008ebe1089a10197550efe80b5665b4848dcb85009ca440ba30c416248786bdba802a7b2c3a8f0d1d007622684c649c37b50c2e74e2128c84bc6a34b95477ada950075b82080e95d7de596838e69f1b7c1d2e1d03fd02483b2b53b876d924e0f65f2cb81f3256fdd38f2ee087595681e5fd787b99f8d422c37fc3203cb82561536622038372f315998013140deeb69c3cb2c0185f11af672dc2619b79834a2949a565e9456dc694cd735dbdd5b4478896ac4ffa6615260240acd9d6f44181cdc838ce52403a82b5ca701e4a37dc1a0ffa0ae8f5a7f98a71e429018dcfac863e087a9038ca411403480dc74771828e3c3e3636c5df1e14af3423f3d6bab8a9e1a205e2b9c19f668eabef2877e25452246fe76bd5c1f991a3712a42a139298a23d51a37f21c28357ed774d9542f73665d5ed6cd5a4128ca8326e9f08140850803002d762e348f1ce3d629f5eb0c8ea4dcb3c893c34f782da10442024617ef2b59ba6dec5d0692334682029756413ac4c1105b52d538a201ec300d1174c7dcc6581ba51b7ad281458e3e23260782a8dc8248cd21f6f7b9f79f7cc48ec0bd2cf64674572c18d14acb391bcf49f8f9eeeeb6b35ad8c21057046bad792eb2d32874ca4736bbea88a69aa1112ef786870dc98f47e7bc34fefa5d891c7fc3eaa5c2e131be7e62d880fbba0354f2794eec079c9df7fc6ef820ede088236132ed505790de4ce1b2e04a292d13115cf1d6063f5d4154caa255f6169ff59059ded255f2a9f8516d41a14131db1231d8d83c6d7a67711507d8bb5399abd4d37a8486f0b1369b2a912b66d928e660aa6b05e8fbb71459c89974718e48e6fa9f6a187f2ec3f93d33fd5a57dd3bb50a0808dc55c3b01bdeb151a18149081c3e4f5ea34e674195cb2f7ab867a3dbeaaf6d89dd656369368023908ab171a0a0e45c7719e323ba94eb60cef90b70cf591e227f7f68ffc3d679aed3f1e974c281907fee3b83c2328be7fc43b82c2dd1fdecc85043bb867118017ec417f800fba54f4a41d567f9978b4e3161c10a5a0075d39daec3519cae0ea92d71dd127d08c08a859c0a35729251421651983e480e1c79482c3fa33d4668a94183e6d7b92c0dcb53521043e6ce818294a0248f8595bd30f3fc0d4a1ccad1008e6e6422d58be78fad0cb9743714a5b04b984d1454bde37f8ce4da2f92f52fc4b1879d8da3dd18cc223e4a2697e1bb8356a80d1ec339b07cb0b08f24fe9c71a4c5cdfdfb6cd73d8b2ee2364bf1e64c520e5a0f1eee775ebadd8cefa8d7c3db5e134a68cc4558ed92e0cc1dda5f6bef6150db2f8e7b142e444d992fad16d5234d9b3cd521827740058a3b1613d43f14b783ad836564ec5c20598057285b4097afb294bd42d1a3d413c938c952d538ffe8a802279e70554ac476d535b026be2fac4825df8b5948a936102d6d32b32ed52d4c605e2d02370c3b70845fa6d632fcd6b0410c6db10f7c7a0d9e8463d071b8bab39dcb26c33bd94bb3d1a3a6e5d1204c9d2dc5771f18a38e6d1819ae81e845b7ff5426e7c5e0e605c615bfa8ef6a63e495865be4fd2cc8d29e686e359eee2fa439cd5911fc25c2aabe1682989b6b94ba0d921d07e44677f3e4cb8990d95f77fcd2c3090fdc2517dc0d1c8f5200ce03c678f03b7200dc18f797860feaa34bdda5ded3ce98f17cdf7bdb463c3e1ea076d63085b2c8ee237209c2f662bb5cef58ea3ad75942981216bebd09cbd3541e51f8a942cb93b49b9de685f74bf3fb8fd9980dd71fbf115e79201710f611c704da9a366dda855a75fc7695e371f6ff3e955d8be952d4b304468f3866f6c70dcc3d15c4ccb378ff4c2eca9d7958bd592ff0d28f4509a9e655c328851bd504a88904869dea951cdbabd70bbbe38b0233e16a9cb36c856a63ba8e87ef716c944b56249ee9cc87eb9b200badd0f62aebbfd1a659985bf333aa133f7008fae783b1ad49fd3ed699ec8311e0706fa595062bad6d8ca6320f99cddcfcf7ecd4fb120e6f0dffa7dd2ffdea9bf09f1f1146bc8996ed87d1a523ec849f9d4d40ac420b90e734ea380139ee79f1ac64f586d119b7039f405c663dd37040ca33dda8ae68a06d40082fd52857d734a30de689aab3e70f5a75ff6b0cfdc61761a4b261b283bb889ff6029272b4a7aa3a0309398f67e93b787bfc632185a7be331d287b484ee25acb94c6873f2b57b11f64fbb11760f6b003263c9a19723e7847c652442a7c2b7a24f13a69dcea9d130cb0ada052b07d6283f5065966d67d84c1f4a9d69c6d52a1506e52036d9612abed350bbc7957380ea935b39b04ce616875d33dc4210822332be0328460ef03520f905cb6333668e0409cc373d7936c5aa0fde614aeb5bde0b2471e868195ce5378ed88a660ca66ab5953d1ebecbd2eb007f4c8899e501c42b493f9d2a75666a0537fb582f8db190cb741b0aaab723acf1387d3c065b91f737ca7fd626398a8c8f07157aff7aa8ce6638a9493cbcb22ab1113e2250449dac7b6edbd22072f2c65c132495a5842c620c9dab03c686569c58fc6afb01910c56b09c41a331126c74444e5584d161beae8110ae5e62523734887a28767449d9def3f0a3cc993164c19fc854327d31d4b3595c95426495fbcc67fad414867935b35a74ec6c46c281d62d876f6d6d335777afb56249765468b8d189d5e67814dfbf685cff1d5156c67877fe2d1ac8a58352dacb0c7f75bba043b86860f4f3183ecf4aa9e289a24b4a35cc49a01f66cd8fc9b16bbd2248c4149fd57f4233805d043a4787da053aae47211772a585db29b68973eb1f187f00e36e1bc1aa1db6b8aae988de7e02572ff2700096193d21d5e9e35d96fd30739a3377e2a9e360d229e1cdc0ff3f891c837e0be47ae3038d953ab123e94cbbdef6750d5f69642c24addd70f2ff5449138e5cc2b4876c79b86cb3be51ffb9de83a322c36144544db6a52ac77075994ae18bd4bacef654907d64edf5804f5f4443ca19a583a8780152814dfe6a9e0aecdef49c30e96a174463936bdadfa69ff5dd3cb8e56263b5f3583483d6bd04850f90da1402811e14518189f98229bd00d7196ef3bf695c96e5d20a2ab449457aae2e2e0ca8afa422fa1572f31c09d6593fc2aca6220ac0f13a2a6ff7cae90b61d877dc28e66d14416366bf68ab8e0c4bd11fe5263d9a2e3c8dd5bb275ba13262d4c993c2901558b49874609df24bd3e6aef503aabf115e4cb149192109404c6f756784dea54d434ee4142e62e847863f4af6a7503602015e32f38cb48ac2f7f529f42158b880ea48c83697546bc27166945edec17979b475f2774ceca5d06318d87c255b5caf73f0c97fc860f950030652b19055cd1d193b98549fa4b0fff8622bb7fe82d8fac3ec7607a39f52497e6530f6774544ddc7d6e42859f0011847d1c1a598a81e5f4929219b0e5b3e7070531724b1e50f50ff5cc4366b9720740de158a942edb103d23b3e057721ab02b8526f99296e7bc360d99c4492d71b1b54cf5718f6e37f6a3c261571b0f856da6ec354fa072c6715e3ce12601c5bedffdee6f1d800065bf5297fe471d2f4fd4497539dd0fcc2ebce161cee5aabdb78978e3086f566c5edf45ed2c1116301bd7fd9c3b2b42bf91766820986d930f5b2d9d436a6807e83a538b5f9663d0c6f38f4614dc304f074f8d92470ec0b181fe7c7649c98922fb0494d7e8a4179e2cd6e7cac75e90a1403a2bc033601dfda9e2bc066f793b0cbc316bcb7d67af2989b9aca26ce9b868ef38cfd8966e579176e705798c152cb18664dba561dac13996b250e22f9d919fe787f9f55a6b7620f06fd2a01cb088ade40c4c3ede92d19e4dca74e8231046a9d4ff3fb03c565227903cfddf6f04ce5e2e2f1351bacbed34b75261288b41b8b48ba41a94c92e0dbda8150f7cb0551dabc73ab8c49580eb4e1c2dbc9982b58c8803ae46adb1acdf1b5f4134bc2c2dc7c0b2593059ad27a3ba4f439f54ae0053c0c85ae8ac2a977b8242a0971f388c6746bd1a11499549437c998e2b11d9794cf6bef223060d0d324d4b066885da1302162a859bc9f83e83dd8119df5d051c1bea884fa25a06b5708a2c656982102c6f0c13b971f5673cc094dd7f05db1ba0678de333ae68a543f668e466d88509efeae7247343d0452a50f9035cdbd8c51985fff46b1c0759ea0c68c7b63bf9368cf73000b9fda7beb09653ec8c4ab4c737480366ff2d67e9bcabfd4e877a3f7076ac733c179d189eff96f62b6241ef56ce7d97d494a176ca49f4db5c4aa2442d5599ffb8c6ef6c69c1206f88436fa2211d29cef32fa65a0a13dc914d962a15a5bbe34c8550a8cd4f86fc5ab04ba4bc138df1cdbe5679ee51f641247ad93b27690e72cdd6a09bfcee1b712a53ec93b20d3eee10675c899fc42e98fd1bc0e11886e746db0563780af18a68f6ec005f764550e2bf209f5951cd24df07327ad8c0b7fef001f3ca30b09337c0c57a85c48f709d3494f1a6f405807b7333729274aea6407bea768b495a570839e247855cbd2b6188627b537b834f0fce7744e74ea0599b7bb9f04447093548df3efdb0713827c6789c29ef9e1be6df3fe43d4ec7925370778402e86ee81e5d6f9298c73a9689797db7c48c13c71943754e23560481d6debad44a89b4a829c93e161717d388c1ccabfc6f07092652cce70083a071af76caff2b4bc1ba09a2a500e42cd08bfd3a61c5b8847542b7a801e764329b79214ef81f6e872fa4c9f56e832117f9b465ce03c9d40c872195ce8bf401162fc3dd34ce5e920e156cfd8b4fac2b9aaf0c121ea04e15f657c2c265136a286693a36c60e4182bcc92027db8d8706072bd8af6135544ee7129ef41cb7545d017b08b117f3c7c4cba1ae4fdc165e5087cdb764ce665774aca8923839a6199ff029734ea5960c84c2fc0639b4cba639e18bacf35d60a79296e515e9f055afb526122c08d695cc75eb4bf3863adb27a05171e35a406014c0712f0c921139696d6242e0a08cf6455507c5acce6b4a8af746f67f2fbea2c05b689ed9c5d56133c4359081290ec519e898fcdbad232ae1894906d5da9e110d8ea79e9c56a64c1e9f7bbb669a2f11670786bc330cedd4ad532ee946c07677d6b4c419205e611eb27dbbac7dd541fbd19a66364c0e209ffa07ab58091a0297b50868041b3bd56f31b66c2f10ae67caa59be5af19eca2eeb98cd310468bc36f63b035319de9ffc304c89f4dc5603f44be8d3d32d467ca405111ad90e7551584cbed640a2d408311d98db9cb9a1a40e4164742529c0c6c3d6356c820063ef0eb62774f50dc21d775b16831c21e724602f71684c6d64cf455c9e8d3601f2901b1aa6d9d48cf829af8bce97d3f87bf5c77eeb3d9dcc41ddadede54e1ae3f4ad36f8dc23c920ac883aa85b2d95cd984ea289dc3826630b6f3d022168b5d27da2746704d219ef16a36191a6b2e59c40b3a383c381325390606c5a631f6e64b7c65edf0f1dcb333cf51e0446cf62dcb297c2d4fb5cef16f21d9da5af703c0022a8470fcc1485dc95858297329af2699bd50d017c208aca03754090390eb8dd7b4d8ca9bc7ca0175419e4dd332f0c354c12cced61f6a0477c732e05f208389d1821d36243ca4448978420e9c0d6c715448bbdc9d719031f10a066031550729499c67384448a9f1f705866dcf13321fd2f65fdece0c4984dfa585e3e3a4dd0d263ba77fb0fcf8b75905a9f349ae34ebc6f777320628a418f8cf42533c7866ac410ed1f2dc9a01f480b0f60021d74bc265593b889dca684b8632dc46599f4674de4fc24f90b45f3e62fd2c9fdb93663619ead850f5c3775c55f28601c8a435a298b4f847bacfb36fe749db6adb556235684f189c23d742caea46083f566e325357dc980e60157a33c7262146caff7cca9572369580b6673a33e5376e4ed9b62f43b700e531dcfbe2542df6e27d8494736f9993c8924ceb22fdf2e5ecf412f3a73978a15992822935e2bcae1536a4340b78a2a8a6619ca2ab867e1eab8f9c8e7898d1a9d315a9da9d70fc00248da38e2293faa41960079fc8d9fcda4d1b816f36eb3bcfca06917dbbff6d80be0d290c6bdab7c3e98200cd8920033b284ae8ad3a9177c2f4286443b947f90042ce8d47f6cfced6dd0f04858da9e1538b362688d3b01f8c9b7fa7f7e9a271a2129709f2e996d1740767b60ae038d11a76326dceda36dec897c27b80dc34be868542abc4fe0479da133bdd0aef3e57d46087497ca69afdfa3d1196b280e20152ccc23b7976fc814cf3ad4e937076882e5f4bfc8e0d35e4065fb7e1344c8fb57118627e0992bc0b1350e39bfd93d0df8dbdc4d09596b282e22fdb7eacc60346f338a60bfb62aadf5c1d3de27afa53f541fe7d8d1d2bde7f9fbedaebfdda9f5c069fd5960391d5d9c5f032b8bf1be9ca93cd51ad2eaef63fa2b85f28d336dec424e892c5747723a18ab205652e24c1882998f27ebb4e6709b028ee6ec41badf58c309bf07da3288ec525ccdd01909b13961ed6e4cf8e5a1633233440dc5faf6f5adc2ba84b2c4f8bc483fc17f9c6016939c701fd9ad38e7a88f0d13dc28806a49fcb850c2120f08579192bf68ff6c1703a3318027d933bae6607ed2bd84a587f923904cfcb1d3d7636b99c290e0a6728bb8a9e9ab8dfb93da5fec78f574fc88b7c3581825c382915bb0d847daad14beb2d7191242768833b27be2ff4a869760bc064c0226b582b856bc73b1dea98972c852008e449d40de07f9f4886aa8bd3bd487e0fa74b4be698e20c74684f47a7be87350f2353841539b578abc5d1eccc0c456bda5c822de90c8ea064ba5a4e4848dd28311a1eb361b3fbb84b6a56b4eab131577edf12da02fa38ff66d8c4706a97c7e94f95790045f16c910343deef0ebbf4a691fe05409d111ef5cdf6c035eb87fd7f8c6d1de558e018b03ae8692d913c898bf003c3fbd7b69f3f113581e6ef45176ed0d33e375741a638ff4679396123ebd05f20e55572659764ca733d71f34fb4efcd9fc0f7eedc9857fc188da779fd7658eadade008fda27b6308a49badb4eaef801d71d2ff065650744713a337653885a856a13472d6d21c4c856fa5b1021a1855a58b8b77958307b4cc7bc2e12f8a419babb2c96002cd2553f1094fa6f28a7e4f9e6f24488e1401f71029d4859eab553158674626fb7d4b803fc991c8b9fd2f048a54655c328842016f44ae59c27da7e535c018fdab728ffc0c583bc945a57bec496ef47cc495187dd46d0f9cbb5cccf3cf2266cad7baf06ecb791af8342ac048bd7cd0b9e501921ccb4fe2e53cd619ff84f932ad14bd9782cbf99731f3c6e963bde9fa7cc3a26ec2bd584229fc23f8a3e6d729b399d20d1083e7eb6bd42257c64657ab5ed6b4236cfa9e97e18c73ff043e14db7eb488236f87619f90e42a8e42013b7917ead75d411be29af51943cfbbbff209b77bb2f87ca439ee08111755d8a93cb5a1a57561ba001500f409e8de1ba951a211b3247ed86f40bc185d775ff29994e9a65d899e0f027ffaaeeca8edaf5a874de3426258be2c187d85ec29e1e4cd8012b7a4617f524bc4557dbc490107f925a5f160a85ae21d5cca41ff40ff5057134d249d7f0022b09f2ba7821a3154df6ca0adfb0544e53620f0364bb0524a5232683e24bccb2fb315e1a90c51befd15f9a76c4ed25a2c702d9d10184ed8013843b31fbe3151de636b4c3f64edcb5e1210ecd6f6b25554a3c41c6760d625b838dc3ed912dd8fe00ce5750f5d5b4edb104ae59db603623e655b2aac97dcb5d0641d2227df270b196ed7965b5becb3df1d7055ebfedf69cf72cd85213a4cf5a5caea30b1418f51d0865a3502f327084cf2b1f6b82f2450b1e90a703d7f99c0d27af6f095f2c8f7bfde52966978c15ef42564dc486f0507d75cd6c78cde15b076e920a633be03bf49f2c17ff1ee1a2e672e2be95448396c9062ef0a1fb9df84f0ee4b5019a3ad69d1bf97320fd30a35dbbcd0cf3b0cff238d5e19d08e9848bdb1cbb374b89fdd2fbfb85fd634d1337e3c07b2d0ee3d4f02209a61a3910a226cf73003519b463647e9420dfdb64ed742b1c9e2865b5a57a38ee4451573f5c10e8b63b8aa435a00a3e99cd7d04edd779e83340d1116544a137338d5c2467caa145a9a5dd153e15af74b9c007ecf959e5569f736f63bdc6cb9eff4faac264b79857a73d5570530598a773edf426d5311542b04308874f23ae8ab984a50e2dfcbcd1569b32a8a306a588e4424b067d089494584472e22f005249b6ad21fcc78d4ae5afaefb82a05b8448e238c5ebae66b165240afb8008c4dfe3af7c8d8f6242ffa0a0c0b9cfa17805c7497c02f337b0cfab5b5451f3cca578aeb6c7a892159fb12ef60b6c8c822f290d4c7e5413ba4d1ef8d38acafe46ccf213f7b167390dae22c618ea09e0f882ac59a10ad7d682e5c07a82faa260a209f11cf7f1949099d3fb131356067be50d44a96e234af383bb969634b1a8263313ade24d68b0e1d5ed802f9378717376c617b7732e7467b12be0143921f0193f9198b599f20ee96801fe411d070107e99bf0a2564231024f3a37692935e9c2d5f6ce47369de490e80fd592e2a7381938c4b9ab525570ad78d277f97ab2617bb89dfa92d80c9f655642c16507cf35216c3e3304dde2cb69fc4dc3da926c308ab63f40a56614de7878520b9f37127a2adb5bf46d6ab6003e8882048de39fd29fc5652af44f021fb0cec5aa325471c11c5043c12ec82ebcab3dbf2b81aa09a96deb9fec81a024faa6e344804ef86fa89c8f4fa3be27d139932b1e1bd71c6106226c360cbb027db1c6d7f0e45f3a7bb89575a8ede1524f8412ce9771ccd0458363f0998424c39c473582e80910ec5406995743a85c25cbf78c80fb4e5d1c978681f5e86d1a3cb76fda82fae263a920658f653b530e0da0905b302fb4a12adac541de35e7214b4b949282a90e538e6570105f63f83bc6961c8890728a243ccc47b6f9b78427defd36839c5ebccd7780086ebeb135b4fa9ce6b7ec8d6dc41e74ab1747133a676471f1e6d6294146d9e434e3ce8b9fc5281e0600096dd8f7197c9f64106f2a17df2187c59c1cdeadea93d2e23dc89ea2e88c1d672ae070a4a47bc5eadc9ea0a11e8a75c0cc96d6cbd09911d5642cc49be17a7414b1b21046a3d6c3db0e180456ad522466aa7576f144cd9244920b6fc0d2b8c399affea4c2a810249f054892c69c5c44c5d92e6b0bbdecde5ac4a22145ccfc8252a89e9140fdc871cfbbc6b0d095d146e927003c32c63d38fa7a7b2aa65ae1a7300c5023cb6e9d75723789ff84286508cb3409e1bab4fab5f3ec41aa68a6d3739c74feeb21376061e388a4d17e9f87e77c1866be82645ec80ba56a2001254f24810552fd8b57abbc141c82775e45417dcb5b33af2bd853d1abcb4ae5b18286ec8f0626d7a3858732606f55b29f2233b1df3e2a078015359e183bd349fc290e6315c84d0f4aaa13e3cb25698c44c85e6fb25945563860b8b6710d1040ed79620e920df03ff2e470aa903d20c24c94f3c939d029fcf779dc58b38c5da6c3f6527f933cd86049166afabc9c1eb44b45a7e31c140107e76e70d12da7178a5e952a269a1ca8836fb14e68c8ea594ac2c4000451ddc5eaf99d303c50e657ca6f13e44cdb0a0d468dfe6b01d060d8b43ab129d3894978cf7c472d50c6753f81265feb7032e4e32fcf18449bf14a174e7c5df9074efce2532bc3f80e3d71cc75825e772e21ffdcf445d406ec902e3a1444f173d9e12f51c6b862c25911b46faf18ca6d5446b55ab99b54d4bde97f8e7ca4a04e0e42d710898235827820f6cab186b7035f548b8074ef2812efa04ad15db604c81dce01d86b5c921903a1ea0e10498d579db16a28f3053f6ddf2dbb9a8b0caec2f3b858f766094c80a291fe0dc671458ab44282975ab2438233da45449c5cdb9809bf50637678be7f2d76e1ecc0ee64fa633dded5367d653df43f104086b283fea9ac51d7681ecc54a68c7e464cc60a905df08337305b4f9076dbd46066e23a67181885a293f8b9fc040bbaf5704cebb0eb069bd2ad3a9b49264831ac96d3cbcd03799607677965a00a4956a17016c9f7c98b3cd28d3d2326b15736b0e9bbd18336a27382a0aa237e0feeb72850c8abbebdc5aea68fffac620d892a993b42b486127592e26a7604e13463657878a37ab7809c4a52a22cca8027e19e785100c886b6b28d2fb2f30f932334cd9e378abf6a0e1cb1a3ac6bb3c11e8218bf19d0c9c6e9daac2eefd77ec553b4707d1de7245259874070717d11a1e8be66d353eccacc49a2516ed99c0eff6a03fa69fa87f76bf0397e6682f14750e369617cf0ae78be295f38e4c022574751d2addef1e660983c8ac1d4243b15807839bc2d017a5bc538644a2fb822799798218b5520b3142473ebd6f0425fb0c5d8d3134c2bd16351623487818a80ed962e94297deb628f3f5ff2899576344d29380a3b70ab8c318c5b164cf615700c12c1ad6302ad58244c4da7789bec5f9d8a754deacbc0a7cc1c7b595c1adaa3be81afd47da00e60c980ac613e56430014e5d308f646b63d3edd3ad20c7d8c5aafd4c54d01200ecb48ea62c82c9c1533074548432741d75ccb4bb92717137dcd156739c3635be360ca1da65a7d28fd7e21f84a3db4a27d410c75ceaaeb2cd59765d9136820e0892c6be82b441148a4554a59e2115f8e881b98325df1d3a33462fd2a9823813c49c786b6848602bf29db192e0d214a9004568c0ac6884a964a673f925d9eb3e8ecaae02c8549e8d0f438d1c7aa9206dbeb3e6740267f725f489a31a31362fcc4fb7775f884f987e77472d5e4ac5c297f4fd10b0e6f9c830b40d4865b63d4679fd49f835310d02e73e79fd27df2e84b45657bda86f9427b1bc0fb4e7da27afd1e65ea2bc253df35b37bf7fcfa5fd746f9271b74d80bbde041459e82921bab83eb5db81bda95c1ea13d5ee147e9ebc543ecb0dca368c6afb8be9aebfcb001d00814ed5b560f42aa9742178cf7c3b008cbb7123d633465cd09cb30c9f161da548513261874d4dd6d9c351eafff3f189703fefd4d81658dc9b9940033f32b2a98f700f083efa1fe5faa1569cc056461b731e4d550b1fc784e56e4292433c7757290375e8cac253d7f05c805cf28e69fbd950e3280a58a4cafabe1afee504d721eae6d87a4b06ca85c9fc5f323d8b0a0a35e128d14006aaf69ceb9d625ad58d9fd598ff1f9a58cd3aeeab80d5b43e96fa2c7663aad041e64c16d91c7218c8eb1e7a714d6cd1335b249ff7245dceeddd2f388df9951ee3a4763b3894ddb52201289da923a513c8d5a1c65264fdd29593d403d5eb03b95d8baf7174ddc55fec3e229f9f199644feb4275af22bb54f489a036d2b5f5cfa77add8d0467591f78b45df18cf3dc5b4957ec32993456b695a24dd36f5ee8153abf5536879dab27e23ed84227001f399c979883312d01a15f1951bf7c170c899c599dbef920605b2a152768df96b2c2248a1506e93299a60d514d538c4e13e12b058099056658b6bdd1d27e1726d0a1e1937637de4a60d91cdc20bec479861f77b6cd18cd03f34e7bcd8595c7d8d0b07d2939d01f5a6b417d59e59f54b23f105873cb9e0fe41a426677980914e218bffa8643b18e123081507831caa5f4fe3dae7cde24dcc67df696454037466d88ba2c9dcfc444c6023183f81b71f97e17e75bb3857dc3870f1ae9c2fd8559c4da3b87d8aed4bc9e4137f8f3028163d13920b6e04bca93d359cee0da3cdc77e709ec1dadadd4ab1c40df455797a55fd17a12bf6428e7b915669b83be7e546300ab3620d4eb19bb12825305c1cef2e91773c83d4e43d6d25afb9ad0be03d73151a8d1206fb185f8646fa516063a9a5cc0e2f7479a219b85ea0fe23fd7daac8ce56ef036ee6519ec7ea3fba7affebeede933cde29a3c11c605aafa05e00926b31555dddeb5142b7ef76beaf6b0b084ddc6594ce9d4e2f5708b3feb417d77039dda819abe81aca353bc8511428f7a0e31616f1b7f0ff515004e17764079b27f05e15b1611272a65bc58f6e275a911f11d2ce3fcdc6aca40e38c4acecf769caf7828f6894a76116ff962de624f04144b21aefa3704568c449df6ee00ad245ac6871c330f015703d8f527b720362b26ff702ec9e0178cce3dbbd3922ffa84c66f2f86a72fcb2b17e401e6fe34bb1f1a6fd11d363bd89597eb4cdb84fedc059a7b10c568e150202b44f3bf4d4edc6a881f394b67ddcd360fe93069496791a7302110f204af3c05b0ac47ae65a204dfdc263bf1a3150f603dfc40b8de7fce83727717d74bb1a3c34e4aae401f6004bc5793c987620a5cca0e7fa9fcc1122a83f3c5f16e3f4aeb026eec1a5dbd52b180e24f6bf480ec4e27e6d18a8bdc4359df849c3f58133d856e2fd227836e4e041e643a149fcb8a51a96f6949f05351888fe0764dd132426b78ce26f9099f25531adb7902c7c9afecc4ecb2120fcbaae1ef447614c4409d6ee1f27266a1e243f648783d3641ce91160d2bf7253c9ac47adb4f898baff6d2df3575a4ec9b394254f9c97f7aa9e165c5c10e15dbf902d528f35fcde7f60df11fe4accaa9a128de407bd842ff2c119c3898e4bb1fb368fba488f794219da54dee938b36e4896eb2992d15242b49cf62cadbb084ed49efe7f9ee0c78b4f4a9295d5f2d6d3d5be69bb66d47ea79c87bad609ac13a6148f88824d4f8d225c038f4efd683b81e84d450cf4bf9063a5309bae4b1504f095b27c27a0f39fba92d9d6707c490adefcbd1c94bf17a58392810ab0d53122de63b031995b2e2c18c9563603ae1a0d69a51887aa8f9154d48c2121ade45221c0e738729403f5b0195c8a2602a324cf716fbd95dc2b70f6bf8d72af5fdc35ac20473fceef627517b60dcdabda22c10f7ba0ae2d2dc003ced8ac3c23eeb38023d9d7593f134782c81a6f5cdc220d0e6a6931e13b6629d5f05526c9a74f8874a9014e09f2b76c8b80d06892a32f1a9d8bfe6ac3b569ec48b990bbbfaa95dbcb8f4867497337b111e68277c7a4f29c7885c960fa40959dc86e9fe2dcffb1521bbf7af2b9b38cc23dd0cfc20317abf9cebe0bef6b801c6afc6c325786374703d6965c7ca75f665807717764f0562572fc86513d3ac4da50950f314dba5f468166493a57bcfd0b1c516b8c8ae44c739338acc03b7fe95328cefc7086c262a8960ae3e8098284f656bd6aee472943604e6d09d48695bec37364c244b5e164212126e90fb45b3f1fe43fad209fc47c0ee4b85099e807edca34cfcae4d0167838110f9f5d5fc2ff9bcf05ccca18350730c99a7b97d29e1621a5d875a28aae74f11d67bc8bb16d1b3a3b165a80ea26f9c46cc2cbf07fa8485357980083197a19d370d0f5d3344ff08e2d566090f70c937a95c97b8945a34de621034360c394f571777fdc3d222c5465f2920709b0a99be651a2a0dadaf15ef50b160e3027ad3d15d2b1bab5c7553afd1224dd92587992ba12d5b25ac77a719d165d11b0781edfd5eba066b546460202df5ee4d79d06ab9b13d2aaf46e6509daa6b221316daf9b387b0bf1b4e0af2200c060ee3c330755364dc795c23a418bbe0403deb8e3e410ed24a2e038aee0c6bbca277179bce81d664edfa8a9f137f1131a55f56e70a37b30ae416fecc06655b69e6b169fef29432b7d909a28972678eab8db12102c6af98268f428d8233995d18b3869183f6358a21c5466dd9907ecb57d1e6c28623211fdeb63ad5dd2799f9650b4c286068c4b8f160a5a9c19a7aee95d008aad88c045b41b816df073ac34a76a408f62325a97bb226188a1ba45f10e978fa11e2973bb2e3e2c82d5bedf87be9af2ce1401b21f125225903f4b25aeabda5e95c139875f134f94236f11c160d5cf1711607a4060b03749cc3ca5aad16d29fc467ca5ffdf2d4649f282316de4676f568b1fa15c9db34516dca06ac17537372ec1e148033c7d36f852e92ced6d7cd7766edd52fcbc7d3e0a03977925faf6036c7fcf6e4aaa3243e3b2dc4e786ec76556d1ac73cb70c62a0821cf99b3e89a93a2dc1981f276f45f13071f3f81d411fd21d04c0d5404e52711e881d8e1104a92c0be870612cb014556b62ae260e5bb788302c91fe4a05cefca18581a2dba1533856e22d444b27e2fccd2d46d9ec95738409d861e90d89c45f53fde1b7d059346d11e04088f7e4946470b6e25a69ff19bbadcae60731009394e0ac28de061f267e9d451612c137da05b03456739240091ceed568045459bf0d2b15c46523de0195d2628405e15eb19c4acb20e470a137929e2fa1ca7aed3867320b7392031e49a70b804172ea1213eb56f1a6120640eb16de084b22323a4408f0169c8f9cd8de1c610951fe5e90534cb022c58f5a10ab8075230be1b3712547b65a5053b4b158b7b2bd1b70e5fa505359b01d3ec90e2968c8d4c5739eea48f3cb1d0e98cfdb509c3429b3f0196d05f080c3a3a639ca293faf1d01907cb437114f06a46757168a4b312d17a688d89de47ded5d4d522f6cbd6be5a747c6375ac3b9923a92bed90ba14b7152f9236fb9cbd53c4b986e9c0bf5c3a5afcd5b2790dad784fd129e561979e48a30321e129fd5cbdb24dfd09d31e2072997f2d2ab28f8a3b87627231817159891b1e7e0e54905c36eb2f964f48e3209931c302fb0bb8aefa8d788fdaa4dbfc2d42cb53b530a9b4b3241a407c3fb5e23d00abc540e3597c1cccdda7e138a0c2c22ff14563112cfa85be742c85855fe28bc6223003bce877175cc070858d7c0e9b638688a01fc335c85fc88dd43f68ca39918fc0981e13a7d5af05c8fa62a22f796a0c8ca56e5083dab5f2fdf6f71cf4b77c0df5b9de832dcb2489fc49705cd8a170d9acae2a2d6478b02266b831fe748b7c9b568c2e2f91bf5bdc6c04751fb66864f301196fd103397ca110c2787a23a74b8b12ad64afb493d77dbb5512d055516ad974523bb36eb99a8c13bababb9e1df24e0cbdba0aa0f74b6b1c0e0741ad7727eea4a504dfd9d7ea402863cfb72512112dc29f1402f8a4b35dd9b7a35b16e14bc625de61548ef9eba25c311f3c575dc14780ed231e8d3a879534aa44459c0895b27e6e51236ff30f263e872aec5c781964b74219f13424e2d8e625473e8cbb508d5aeddbfe32b21f63e99f396f8ebf9471d40196ea6947451f2c9fea39779a31eaf41b32406670861c783b061fcb90e5c6beccc7a0ef2a871d9cc23287803eceffd8647d447686a1cee088dba9c1e1c7d05758de7086e3fa39e9ca7660f67d91e2beb5e34b5f0c7ebea1f29dea1e38476e67605cd8f4a876f3304792dc7ca736fb80db659ad629a15e1fb5ee0d46cdfb97b23194c09910e2be22d5515cfb08d79110748c1a32b2876d6a74c77fd78f30d8c301fc780a28f277b0528b995f8038e50d3c467b44c2f133f1658b3f25efdfed8893be14961e2fc832bf405d26a696f72ee68a2a9b03a8a53cf798d626afc4dbe633d86dbe6187f7a0d63b2cfaf16f40f2df3cbbc4034f70a62be32f37192bf332cbbc1a978192c62958c0c829d1e26cfc4020aa06ba0b8532aa9e5e0650bc095637d9223ba99e89d9c9cb5a33711a0a90cbbb54e80ef474cc3c891c4e89a9738de53159eb2fb1e923b86bc19af0912edad155a8934c34efde1641c987b1e444dccae2232cfcda7d2ee078a18865878c28a6a8b203cca0eb8c47fa46c91e3f2abadc7b65cb02f214baab2dd9aac05c90298fa45a947bc7f7a54321ff1251c162b62794fc013c13459778f061106556aaf8163def10b5912b2ede3962a660eb2c8ddd1363c1f3c202308a682a5a5908674b794c8004d81520c90a458b68d6c4cb5fa54cadb7ada469ca712152ac0e7490ed3d572090227d4d0cb1e0a35c09c87371e698b591f59e0ffa2332170715f95693afe45998798317fcd8e3856c7ddd434981af2f9266eb1f1a2a621071c9af19c29482f693ba5750e9d1c8d747c4db346e555435a0c2e43a10a50739309fc7afb606527d84ad59f9d623a147731b026c60d26cf174e205db54d3175d2d1347ed0edcb669f9baf8e7e3ce44808256a8def1be7ba1ba77c4af459b45f4c532a0ae6d283a0b7d3f947e5afae017845ee3a18645f198c4c009665eb1ffb96fad1ae0bc165065225dbfdb58010737d780400a6c0cf95a68273fcf540002919e8e639cb188d2a74a036fbe100a148a7cef1fbc342ff3ec39bb1d12b7d9774e87d3376e0773177d2ead2226d5c2ad93ad06e9b455b5e82be1f1b44939e953a5516b4aed1f8fb90a4e72a932b5ec0aeb6e1870e144383d854565a15428df6c09c3436e8e81f1b133075a5697d83f05e3fbf882c167d0d1fa0398dc95e64c8e13c14c33e6e47d1591738a3241ad1367470c50d07b5f26395ca2b4233e2fc028bde2d24d1e0f36bd256cc0921048cfce890e7e613ebf54328bf82954165e59fc8b2a591215d77bc6b7246809a37cfffd7060faa6af70684c0d023b0d339a6b1fa9a14412987cb4c3aa7af06d58d44f0a238db4c68d2201f23aa5cfb676ce192977d08acee9320797377edc41043e6df9d1b13eecf970e033ee0e82cf2ed9053cf0d8a79f8096ab32d501b7710f64500b1bcf7d2f5a8dc3d7185e07fc0f91910461df541a890fd750c501598160a3e3b686d8d2acbad472a1f3e23e5ada6648d79b0fe8af84bac24529123a2b3ded57f84010e8a96453509388045672fa07b277c43e502888236032fa7caae14e583f01940d87751652c3467afd39bd75067c9445874a0c444d40abe0d9d24696a215e6b29b737bd43eaba01e396d02e28abca4c972129eaa6d1b967b2d9ad322c9ccd7d7b81ccdc2e560fd570a99941820ba10de00afa2862e836bf426e9b04ed77dcf32922b15e5828b1405b1f54b972b9108734f91a86838d3657a105f7d6d88ed88078dfd51e747be1b2b1d73a909c034599a703d92ff04924e047dbbe08f371a05294dee967e865c238879681fc9ada352aea3f391c38c1a4701bf79921831a0e30380ad47123d402581bf9531ff0ba7c0dcc569bb71258d09f0c8a1eb6f812d01d203212f89f14c01eb35f585941d0a1ccda847287cdab38201810cddda9ff06cd1904c64ea85c12783a1cd2ac34ef7ffbd554ee48c4a808318bfd8e2370d33325d27e9edf787a712bcdb5143b8e49490c7238ff319aa9fce34044cf0252a21f8e2cdd2fc301c7004f65f746c2a3f1dca0eba00b578aa3263ffa959fd8128fdba8bb02d4dd9ac5edd672bb560d25ebcb31f8920d55c39f636e40c938ed688114930b95bf32c3bc63776040327bb58f1223bb6d711536d300f9ca863d8c3c390dca36cdd4c1d22662a06e9fb0f5d59954b8bf3621434ef2140e0639a4e146f10720ea0c9eb966a3a50e224b5290d1b9f439129f5a95383ba7dd4105d27c428d542aa0dcae99321a59df393528f5d946ae25c831c39cda5c292721be393a057b765f2d03054903a0709b65bf780361d55de60eb5dade6984713bab17f48e20e9d8fc93710d2b66c611824d49f0a2228e8728d8a3281d8679591e70bc619be410aaf50062aa2a5d031ba4197a3042f824652d1b785ec5b4e5184806dc906ac2d23e8ba73e71a87149c63c40c687818a93117902ae598374d0e0f68ceeca77735c361e5fdd9408d177f9580d129d3d297a5f6a3c081efbc6306fe557e3528940c58985866e09cf19aafdef182f2d431ecdba1a7e1dda2153e04ed2bd50d590246585fdc98b905bd641350074103a4cd6654e2ad037249b6ac2cbfbbd5decde5fc29068c5c5c7f614545c514fd93c35b3af5a77b20c1d7ca50f6d2f710473a2e415370fd1b3175a4c0a88a31254f1e988cafa689524f087c3fba7bbab319a71af6a49886e17a0ff672dfc7f853af46e4b6c0d84a646a7b88e2689c32bf8ff178344f5bc19f9f094c2df378ba2655a94796a0dfac88dc19017082af3142037b5f53d5ec7bcc89154212c8a038ec1a5bae7ad2893cfacaef9fc3e76a334cefaf17148a26eed17847cba19b47b08fb27916fab7b0f82cdc8f65bb145cb3c21c5daf14ea611ec6e6b4714db8a9807624ae17ea453314948119596cd606a79010756831268a12e346ecf642fb7abdcf6ddc59ff8c024ede18e28f064b504d989faa584785b6080a367e76553343f4c5d85a3f74020fc0b03dcfcaaa177fd68fe293a74f37f2a01bd103e5db454145a6b7731341fe439e1e03105c11587b904081a5876006ff69ce38144a83183eb0baad50ae47ff3b9f15561b07735b33a1c3a3cdcf3d179bd8443640d697c8ae0c0c41daf65afb298d44e74b76a018ceb8094b77885e42c72559440d819ac9c14f735d94cf4867ef247d3cb9af48e9394bf4be688bbc491133183dad3ef4c3ba37cde477c4b8c98b76263b7bf00e9dc8333b23ee10ee885249fbce045b8333e88b7e1b28e6459a89dddc32551235e8868cc9efac9be1f4c9fff791491fbec29fc4071549383c24d134b39d80744279d83f3275c8712dcdbb435ab2d879ef6cd61a8dfbffc2f12ea2d14516ff39442f674d4ce329b32f3dc4e414125bf4d606b51001c97dcc9b8fbe3d7f491c147b6a7bd334d3afab6d41cde373c3ae3cd80dbc5e19e73cc7c4bb653a70b531d31f0e0b71cbb16efdfa181e191bc04f70cc978a60235e3d8d696b17f317672b3eab1f17188f67f98f039ec8c7fef65fcd4c1770b9fdab007807b66658e89b1dfd586aff0e347f1bc556cf197bf2ec71ad7ec737a10b8565bad1f2cbd9c125aefd41a93c0440acfcebe80267967a2f9e6f367acf869147d2ee61e0a9561fda4b24c71da622d127d18851e3cc3ba1fc8a6558627b14cb26e3d7a1be58010258fd2988ec4881431e20475f478c53bfe018a82b8c3337c70e35627e156a852b77a7ec340790af9b03f531d71f1f96ebb2f07f16eb2f582ee1712dc2c98b004c437484debc58d7f93248850391a5b9c7929c78d8c7fa960d01c04db99bd4f3a9e06f8194387889918219d383941504988e1daad403071dd13372d3301d0c6ee7fde96f9d0f605dcf4f8f6c0953f6847147434899b527f54246475f07517b3540903f0345674c0a899959790ae17904cf8b9538f8ef6332294cc81a2e2a63cdb9c439dd7b38bcb26753fd4bd8a1414317d4382f7a75640875f36d1ddc3c2bd355187b660aba79df3dea2685af7cba34a5f0c5d9b9d740e5f41d601c9258e381690754b119cb9d307a29d1a3def6529496c73c2bbb556981bafd315c406b297f57cedef122ef7104d483048ad87171c71169dde1c7ba97025524ce052af3f0cff01eb76361dfe7343adbdf9d0ab43ce77799b0969bb38ae31676fa89bcb0b65d3c3c7aeec673f5f01c67720fea92b958cb5e4f66a0364524aa19906b28cabe6cb2b7f68e9547bba5bf784cd636b3ae91397ddd69bb97b102190fb4c0812d0e9e13ba7fe0c8c0e9d27865713d6d4bf9d29e4602fbabfcfdcbe20053f144e518c7b25106099e177714dda83d07dad45c3438c3d2f6f01000fb492feaef1f91075c988c83f03e99151946c6edbb3969627be54b5890e3ac5b0183ebfcc7ce788aa914c90f9cddf461b86e79529d9cdc56788f374bd4b7200485072d1e028d481e464606f6a975287a2d127abd8ee47122067f7eebb58edc316356425988d657032613fbcae9b854f363c0546eeeab87ae27d2b043aa8b124d347c434274fa453760ce58c957a5e5d3a6cfc48363b106f5816c48368460829d711435aea42383de93a7c82e45b00d93ea0e31425d561436814a6365d326b4244beeedd0164efadf1bc2e46e6b4cf705e436eff374a2c7680a0205e4f0ff73551b825e0075cb2dbc7fbbb593c93b633273ec4bb19ded04993ed8665a410b3a609afd5d207b3cd8957073b5fba2c9ecceca63aee2f74dc8f44986446a1d7ecbae592089cc68d46c99645e1e9fb954c1c6514a725988dfec99f8ed644a815e8db545a0f268863faa4bab5889700918ed82f04d7807a313fbb70a2fe1d25f4904c787a07b79d1ab3c2ea8f9648389c5995395c458eaedfdceca62c9efbdd69c82b4f18accbe9203ed75abaee46f04c9fccd6b61f7109d026ebab9cd14849cdda118412ffacec86ff36311384aee3c183307e7501fa61883973bf32e42226f0b374ade4f3c02971a5b405323aba77192842674d4d499e92551368c6d96300436274866df4cfd6df38e70d237a1960aca84dffbdbf3fa20cfcde6ba34043cf22ebf5e8db52e23607aec79b35ae5ed0769c93f3f720c3ec0c1a6800d7275fa2ec1546d9b3cbaeafb27263ebc99fd82e482a547b2f7e5f6f8004b8af0d55c2d068f747bd8b462b4aa1b24f827090cd003787f91c9f47f10104f4890df35257c4a565045d2413844a1e918e561b7ac3651be9e5a27ee79a6231a4462325bd2983a598df14b1da378fcbf49d22a9644ceeb34e3434011f4d7f349c335284a694aceec8d955a19474bcd676b033aa524a1c91269d417e06d04131d520f95573b37fe1f16dfe3ed759e8ac4bf6e53af81549526fe1b682941ff0e56e0183ccdff144d2a9eef5fe236a7cbab3e4a6a86d8bc5ec20826c668bea729479256d577310abbe8241e60ac92d7aa3f08cb579c5e1e928a6bd51ccd600826f1e05b5a0a1e2fa96d0d4290a1f43b13a6792851122bdb39ed0e01eb50541d3b7b9f859bd572245abde6af6264766d80991b181f70c87c4d8f386cca0f0f69da453fb50f260fb7d2ba50317a10e20ff2da1041083b1b4bcfd9d73f66192f250f998da3010aa52d9f95f7e14cc943123fa2bf50e6dffde73fc06c8f17b6945fe5bf510c925d0ae518431481b2b389c491516659c75902ed22d4a47e663d9deb14e26c00b98f2a9b0291da396993418154864d137d31c5abdb949f39b2cf884f119973673a971339bae41365eeb63321e608a2d930ae7e50071667de89135b7d51f888647c8a61e6b4dbb8ff472eb1ec5e40da390749fe7cfff53df270c64165d47c3cdfc27ecd14e8942f7c16c51a534b5b43e307dad17b8f2a8c4dc1b2e97aab8dac96d3b6c8cbf2e46353ee239b5e9774504a46393e5896971c886d615ab33112de9f4b568a406e5fd490c28e36678ffd32e4a2b06ed698a477750956aa6d890d44ad57437baf166e5ce2ffe8d8885e64d70f73aef7c3afaa34ab8d7a2d0cf3bf22fea708a1987961a3631bcbbb11bfb37c0f47175d26f30800b00fcfff87959abf56517fc2d47bc39b7f5d17851f0648fb3b49feeb73a8573adff0c890fbcaf5f1415fce6be5befb38b00dde64beb0fd429020f63561c7f9707c1a7a5fb8c319d2de5f43fa8df0b95a3956b37c386c6e6d77e504920a9bef0b9eff3e75e4d10170124fef0755cfe7090120ab1cdc2b026fc8d19f376daf151de67f4275856e0fc0b49ade10bddafc99f8fd9847f8ce78e6c4f27ab1ff7e890de775bc21c3e422ed08d536e0baa1c6f71eefcbf7d8cf3e6027e096ef74ab1b3e0f5a8696a3f472544d2bed8344eecd7e19a30d53d40b452d723fc2fc5beb5e0cee6a1ec6f4fce9e681af20b0eeffb434dbf47f383f4f98f63accacf40dc46fdffa39f7e271a0eefd7263a3f1537bb33acf6bf73ed20eb49b56affd05d54be4f1b786184fec7e3d8f3722f2a07acaffc1e360c8394008a35a261715f0ca0050215347e6bfefcc30e0fa0ed9c4d84e647491b8d5d4cd89ffc585cc6178a94720028cc1eeff015c481898a428c44d2f9493e4f9bd6714f5bdfbd76909bd04ec2da3e5ade25b6aa78d6c70375875d0f1cdb09f68e566148e4f0a4de92a3f8d0be3a77153cb6107e70c227e0b2ee0f502d2ed3fbfaf11f4deda53243586bef87a0c1a2d3374e1a8649eb48d71a8878da576657c72feabdf0f1d4db5d8cef4d01f612b52879cddabdf58c0ce8e1eba7fe2fc65acb1ae3030c0cc94f813960191cc27801f7f0fdda33dd806116b3cadae14c7e8db78afa0131019950ff5cce98e9b6524f2b7f6b1550bacb9ef0c18599d41388a920ac7776786cdca80dbc97084f40540a390feb53ec1a98e3bbb4e02f31540133c596a26f0eba2c3584cff8c87f0bed33dc9f42773fe2f75404397e4c06cff5de5a0f1632ee0c96f10984b1a36672e4833061a7635f4754b7ff4584938ed5d046fcef75230b1464a9fe2eb22afed80760bf8fee4a5779ece5eddc7b2e2d8145f47bb1a490e7ef8d27b1267973ab946958156844bb1aa90f2dd19397001fd57828b4d0303c2fff3324792d03f7033260039c8f8f81b09373680a059d00dfc1effbcaa4c2fd0fc975927e56e1a2f4d29af44e683cedbc26a75d30e58bedc9d1a749fa1a8be46143bd12e42fcf3e569b281bec60e6c643ae4afb4379614b903f636fe45b7133af870d48dd96cea87a37302a23adfc5b69376c9db4d274a17d5f2a8e3020f9c6623e87574763d6568d2740799db5cb15e0b298c776d51a9cdb9e607da1d75b033eb4c7523fec4fb136b01a6ecc5e0f4e8ed51bd031b59866cb571ba9c89da35a90dd23c2462a6c88408c2ee1e049c58bf8e45934854237c16fc4c0b0b3b8c8b2f28996dea111a814cefb927ea22df8fc52a38c2bd48a481400dc75bf0079761f58600d807985334a168cb1fa100fec6a2d2c499864986880ffa7c2e2ab5db1e0e96b37cd84cd4d691cd2ef9d5333b109b3d4bc13948901281616a02be6ec4256530511717085a7d2f803583bf35015997e6d737fa424ff72a8aac0b8f96e1ef5b31fbabb9b32cebec4d1ad3dd44ffea0a83d24a60b818f7b6c2825de92f7b79494c5f0639303087d4385fe4c443fefacd58344b77bab10782f18b48450dfd2d3e137aba81eff8065cfdefba692fb3a3abee06f61010bf0d08671da4af89163155cfe1732c0eb3cef55df61091358180ee81ffd8750f5cdfcce8047993eecfe1d155b4d6e927c6eecb1b915c074d832e9770feba464a12b0ffcaa0ea6acb61cdaf5564f374c24401dd06e8b383b131c541ef87cd5c44a3f0f9df8da6555bd73968425d102ce3a66561dac53910241dbd94f86d2f5b2f72157353dc4d17f7cbd5d6a5664834a52d999a287176c5bb9e989bdad2d7aa12c7a9fdadb6763a3e98ac585cf9697f860fc84fc27aea509886e7e6077c6709698ea1348b672af4c9024b093828daf0b7ea5e9b5fd2f8842eef6639d1e82a9a5f2c4e15ae332aff54e96f115b769a9f7d7191d8e93584a7cb5a5a11967515b1f0c4ed81efea71202d93cea365d23fc14532b031532c8ff0968ff25097461c44fdf6b2fa5b0bc779407dfded44ea525bd6d62339eb2137c15e30e6bad10b889b7ec0c45a0c45367e517340eb8f3b46f2b21d3fa5357d18d635c876315d53e74cc8d85e553a87aeaa4b5e8badb7089256d210a6dfc12c946f8d282d33fe50b1369db9c44fea060f35a93f4159a077753297d39249d74f5554bd206cf6f4bcd77367091af53102126bd3c2d9b78800b8c59181fcc14010ce393db52face295bf4c5df0f3785021858e0792f3aacb898a0bbcd1067f3e1c35fe39a1d8e01fbac3c9ae055fd28c63403ccb5660e4217acbc73a550146fffe9ad6d03d5b00fc86eb94b622d0694603747395c0ad43b91d5696653119e8d415719c3e439d94ed2b854263fa63834dec961e225ddf562a01b1e75d2ecd8f003d8912a91188162b30b5fb6473dc3217120ff7450c1ff003ac69c44effcda7e20971ccea1f5130bf72823af3224da32b1834e7f2be64d62d5e65d131f6b9657e26ea4626c3e909be64197fe7d9161feecb1539cce4d92e35f2357418d068fd43dc7555e8a17371fd7a803d5e74cd707099010bd863cec81c51c356cbe09d2e0206f193c60c6129eb7a7e6b53b1e04c0ff80a9e1912d220edc3d4b9758cf0f3277ada0813801fe9e588235f003e52eebe234fe07f2e4e8b030051bfb50b67865138374345c94c3873abf01b1b3028c85f235179bb6e604407073814778b5307304f7506f35e00dea50dd4b8cf186bf4d6e80f1e35154ac7885b9f79c8628fca88abc0e3b820f8e45d3666227dcd09234e501238e91003719d575a971012909ac0938295a1c262d9b53eb47471c22f1be0b934c2fbb17cd8c04af83f85758bcd777f47d385ae6f3e8884d2ee1de03e38e4ac38ea10449fbef53f07922fdd85baba96a45225a447e14513687ff070da1b3eaa288e706dd7c5494addc81dfa4fe95dd35c594255b3842ed91b19048101efea719a2b0bf50320bf57059be5e2687b56ff443a45e3490a478d49044132f1be0925a020a72bc1c2a661b6aacb9ac8ceba55fd2df6accb0e1c811ab998d0fd4d58d1abbf034d7c5b482d2f949cdcd3b929e9a872a7137a5f7e86cd4023fbf2b751649aae29885ec0e1b2c749704243e7bbad5dfde9a0181a60e2d8bdd1f5fb92daa3acfb5a8ab22e5aabe53b81114927f53a79d84fcbf7a8ffe9af9251cf3bea3893b0f442e0fb6ffeed802306d0d54cf2b643bea2e8648426c6b19e227e38c24c18b045d6caf497965d9ba3ab3769bafbf121f7ce3a95782a948b45976a410d8109c5e340bf1246690a0800ba060c5f3f757ef2ca8821c91dbf376f9c3bb9c0369e44b23aec5073f9a5ce5d2b9928f6ee6a687e9743c7fc55a4ab8c1a4e2ea317dc5416ff6e420bb1b32e08bca077ae1aa79e6468fb10f045108a1ce73ac2a71952a8b7a84e3bf63747621ed820333cf00d69c8685ecc14dbf80f08351880cf5a25befd00308404c4bb045acc269b5310182d8b3aefb405b97fcbb7792e8d68f22b723f813574130200b63d7a0cd00d10447f6c5b35916eb8457264555b594264ca3e50f1f1c8f7e13918f0ab0053e5fa046d4b8c6156f4686c2adc7edb618413a1147409e4097e095c4ca70d3251cc771a8462ae7cbb2cf6e1def9fddd21d73b73dfdd69513685c69413532c4cfda666526948012155829413a922ff6fe349a921510e88324014312a4746e180ba022a0d141928154a0acae7ffa1ae966a53473295144ad5e4c4db35ddf0928e56c45bbddb0d28153b635027cfe792cece6267cd1ec1d56853295067cb7db319878acd3006ce60e7d2598bd1a66c9085b241766926c45487eb8e9d35ab6461969fa7e9db1d4573b81fbe6a82c66c02e6cd4c36216e4d36996a6233799307d24f6cfe3ffd69dcedd685f5d30cffc0299c7043dd6ebcaead994cc1e408269b899038bb2b7621ec26d8d570f2c234cf8e796fc5690c6fdd7ebb9d16b86136c6cf8eaba44e0bdc307b9e67d167f5f675206dd33477a1eb5e57bcc52f6f8bdfeef4c5c9c909f64e3de81234ff57cd4b96807913052e395f9833034f2e39f28fc3e1561cec52a2e6df2495aca0447d33eb54e2f44f36c1219bcec0b24ef489692fbfbde94b93fe7fb4986a1cee76c3a5e9655ad175af58d7e5ff75e76fa1cde9847e98d3f97992498d89622dcbd4e5bfe7984e26a1a5a52effafe696969cded443ada527f340392b39a187a1fab24932269724f89fc4964bd2b33512db77141224639070f97f1209f1d3f562bb370f49129caac2cc89380a47e74d74dd40e0bd3c1c1a5c14ce0aaee8089b37519ce6cec9235f7847d43f82f5ffe411dbff5f29d119a27a6fbdbb129bff5712f34a5c5e49fd574ab2758518bdc224399f84e63f89cbbf594c732693ac244dfde35feeda2519d138eda97b9dc2e148a42990acbc6c45ca6133c2a6c59684c99a573a6baf6cb0e7aba3031c7d7044752481919affa7dac328f626c560b8787b3c9b18b8b3fbcae88a510345708acafcbf4965833d53e9bdf5db295964c5e4ebc5291391154465885420621a923314c490d6101159a3a3d3519d2710306fcd6fd7a96b692da9d6e3df3c8568f688d59d3add2f93b41f2133a41008424746b0307283110c8c2431f2c3c89b06204d2ca6d9632667f6c4ac06721666ddc02c046e9f70c36c9122982b2d5e21d75eb5b4eeac673bbba1fa0277fb34cd8bfbe6da7d66d73dbb017733066475646074f666df6c86b9b40ceb94ed0852130426c8847f21413fc82265c8222214e191458ec4de98e80cafaaecc43d530ba7b11a190342c2b880ad8189004b0224a737c59a509cafccc466b64049403c88ec400448c4670819728897214d4360123c21c10b1230218598a1f36967fcb4339303edae87ea45f1e67aff8cc860b6d8f3d633eb03c2c2dcf1ca813abf302159845c91427e90426a7c0fdf6e389ed2ed668f58f55423e08a8008190190204a0401810c424506b1b9b15c6c0656e8df8c653bd337d861f68ca9d8a7b7d5397b4bad2cc86ff05abd813b33bdc59484800d046148083409c10f82f1cd3346db1d88d73377756bcddf031d900f743d201b230067feffe42bde1d739d57b12bd8d5eef86a777c755a145f9101f801520409a4032051803c403a008774c08c03511c20d20014640339fc9bb86f2e9ef90d5eabb5531b64a986bca42c1ca29defd4aeb86fae2b4331ee5b9fb86f2e2d5bb1d6c27d733530846cc007030f60a0049201250c48f043feb440fee41f230098020057fe8cd1ae5e378e75037b27eec28ce2d4c76716c5b3625a4cc91f70c81f04f851f52308e98301a48f16481fea9bfc06abf6efb76f67afc77797f1d4478f377197edda5a384475d3fff378b20702c81e2b903dacc81eb6c793a50fa509ff7fc6d4f384cdcc9fdddd725df290240ee40b249985442279481f04903e44d3f21be42b95962ea6bee02f0bf54dd30db43c53e5c5ab392ede3edc7a1df620bfc1629a5e5e314d6f4735764a6fcfeafd31fd70319c128eeb9d71df57b86faee2d5b8788b6b5689b8b762ae9da67bed1131aa819e5c00cd2fd02529a7beb980d39be40242ff6f46913cdef0e0a2b19aa67b4dbac12a1ee73af4adc36d819be461fb37bb36075a31c9a3e7ff7f47913bd6fcffefe86147d0ecbe6c35b943898851bd43734fc700481d5ca40e1fa9e307a9c0125d38d8737638452a8049059648058c900ad420735491e3cadf9eb3668ecc6123713c80c441038e2c12470eb2678d89d3cb95875130e65b5d87ea0c5df74fc9b99e55e7a9569d9aec5180bcc10379a347dec0226f1825904602539009142081f45aa145d3a1ec4473efc47d479db9d3de7c3a3be3b933975e34f74c9b5ed24603481b61481b2be09eb401e5f956f76a4d8be2d547da8091365e9335d4fc9b35ac68b286edcd4ed6e85b932f32cf235f5c2ef96a7a53abf33edcb9247886240fd66be9dc45ee6cf1ff564fee9840eee8dee4a8be41bbe6ab16af70c88bfaea7c83ead393df00f2c5fc9be769a3724e3c5bd504b5e3d9262a29281b2565754d4d9ae4986cd392e54945595e951594adda3991af2f4e99847b0562bc02774f434d1a5dfecd18c7380df5ff73694ca5d1030b3747430934887ccd682c39830edfe9da875bd6d487be33c498b17567ae1bc43e9e8576ddc0335433869e11db1d66abcc9063cd20f3ff46cc209a31f566d8ffbd7b196c6e196296ca187e0ee315d8ebc21abddd7865f488c09b37795252544c26fef9224015811a751650474a9d181d28e820800e0674b6e834404611646c91e1638c28fe85586b76be660eb45a5c0c0fd70eb3982ba7d7ee6e6398a7170893f11bb4697a7bfae274ef99c94df3d7b195c9f88a8b2a5ed5e12eca507c7976f5c962271ee6d36a8cb7f4ede1d477b91866c490410c2d0600e6909903c21ca630e48471451868c2b812462f8c1b601001060a605081e1f3c59a7f53b8a4b35bdbcd75be5dfc44f530bd9d0f756717d63dbd6f372d6533efc5f4ece9fbebdda84c4bd4298aaf9d99b8caae58ddb2f4fe72cfebcff6adb9b96ef502ad681e46c9e9175bbe40fac2889c356f16b770c8f9b57666f6aeca2cbfb698f6df2536c9d97284bce0c28b17bcc0f282e8cdb3efbd9e96e7d809b3b220f6599ef10adc99c5548d9d6736315e959c374e1471668893421c9d292415f6a069dadb701787202199386fd9bef5cd3acf27b70aafc01fcfc21ec6c0fccbedbae8f2669a0e815950acce75a104e70d4c0f6d07e294a3d9a6433863fad67082ff8303cb713104174c281f9e96df201746ccdbb553bb714a5b90b10502b608610b265b8c6fe854591911d1fa66ea0df900311ee0c203d4afd51cd0c5014c1ca0801673b418a305075aa4ffc4ca4c371fb8916a53a78d0d6d5e6843d5e6a8cd035998c9822b0b5b16332ca4c0c20a16416ca2a861ad15d3822cacdf9e49bb9db5580d95993418560eeab4b713f7a12fafbd5f0b85eafbd356866aaca5b3d68a85dc3c6b343d94a15bbf1de415669c5928dcbf2bb29057980c70f36f9e3dff72aafeb696b566f10a8b9a015c240376acf981d372d65cb5f6aa5ee09a337f57e56b9cac39425aa1e6ffecb26256c59a2a38a862a98a1d54c079f3b433e10f0bbd4bf7bc9d77098a098b5381858a95a442c7ffc977b768ba3b705b3535a821414d92d3d4517175776ef33a859929ba0cb711206d62e1904f7135458d5f713a15ec504c581c1744311f4a21c52905ecdfd4392946338d1a934c33260d97ad6da198b0d2d8d2d8ff343d77298a37e85d8a82cca31a47c1ff1fdda1bb0c0598ff7f0e459084e2670163fe17a0e5df246254ef9ea8f304184fd0f084064f243db183e609343498b7d3e4c3d3ce4e7b3b4f3b338b57c8734223842681db8d876632ff4e70f9279d70c2f6ff26d64ef4fc37a1c6cc3501e64db4096213b0ff1c136f4c26c8983c26acfcbf59bc6a1413594c00f91dc504cf1246fc2cf8eb9709a744dc4bb9a7c4154a78514205e24934914408497490c452123d908802091890b80009a433649c19637dc02d1dfc0dd7ab32ed5ea48870afc02296f7bceece73b098a697abaf58b567744734e088288e70e1880a8e48f2e689e260b73233649891c20c096682e60934cde8306209237030621b51b5b7e67de8b35438ceb36c65fa9b504c58650450c67e11724c2826ac229a28228422a6fead4c56441022b620020c114122ecff104b0cb16508de6741290ea103cd674149f71328960c0864a6c8f47802c59a5708346f722112201442f6d64cf7566d107182384010c42060241074803803c41610b137ff5950644032dcef1328e6ba813fa8f003d60f3e7c80c287127c9892e99dad0f331ffeb3a010ef13280a40a30031ff5950644fa0107952011728608aaf9bdfa002767a10a2072c9f05c502c93aef41d7430d99ec0914136fdddc9821c660f92c28a8cce4b76bccd618db7f16147e83391edefc933c7ce18108cc3cd876a0f3a6ceed20e67f872e3b60bd89e21d7efe4dddb5d760477590a34318204e2f5007293acc7290f36ffbd658df2e328718cc1cd61c84fe4d8e8356d671d1e230e7ff1f071370c8c2e1811bd8a479bd5d0fd3cda585eabb6330abf3b680f39c066fe0625e2cbc817803d10d376c4063f275036dd8f2ffa60d5936c84c4bbc50a6983862c4748bf2619ac54c11a38487621ca8410d4ad6a0a586a71a7024c04d02bebc89f596e9fbe364029068a043c3987f73a5410b0d4effe65e69f87f93eb9dc3a0f97fab302e8409fe73358c04616e206089ff377bbddeed86fbe57efbedc653c25ab787fbedad7bdd42ce717a802c07a83a00698037d7003bd20046648c016303980ea6a800750a30e6adc9312fea6bcdad7516e0c60c46cca0c10c523348f04686186408be790eef8f0bb3c5be2893afd9a67b4f617be34a71d7b517178ba0b3150b3331cfb8f21a439c187288214b0c4e6f9e1d579904d081002b019206108101a019806e004830d081010d0c21c0d0836108061f5facf822c497295f9cf42eea6b6531cc05b3fc5a195e6a82b786bb98b345621866a760d063b2457831c8cf179cbcc0800b1070610a178670a18a0b485a40a3851f5ad0d2c212b2050758a0820522326021c93fbf41bc0e815a3aebab773fcfdcc67bbd45deeb5bf74cae6f97e9658e1727bc88e005cb3cf1baa1b295add0c40a39acf0c10a7985222b44a002162ac480d72d2cea4bc4a6697e929d459f95154c8aab37c598eb068beb067609d325832e47baeca4c026051b52c020855f0a115c81821712052828fc9c60c509439c80c209554ed89d60c384322698f06f9e3d139b645a39e5437eb1137babadd9470bd2f767f99073dc81b4a02eac734fb5b2379a6de2494505d9b36762d36931d7c5e90e76f17c9e3ecc05dc56c66fd738dd5ba532c18834e18112e294104509239430f5e6799e9ca3e8b5322d65cd4cc4968a043a240970484800095646d86284058c304296117623dce052868b065c44404384304410f3e6d981b849cf99bc13b15ef3b5c55486e29563218a7db261cecc455f13118a44f810b208210434842120c00121cc3f70efcc7e6fe6c25bebe67cea87ea6b5314842910605b508d7bb71b0ed75342755395bd99cbf22d1a6cd9da02d3f2002d326851cd330fb31891e54b1634cbd207687ce0e603193e403f0882250b2c3160b1f26f9eda727386b76ee75cef7caabb5bac77e66682850896073c608007ebe6d9039f0eaee800860e70074338f8a2060e3ae060090736aea0015af315da2db4e769fbd06751beee7e6598ea0abef2e4cacf0675362062031e36e86f9edd67719789ea6b81116cb0436a5047031dde3cfbd678eb768eb332a58eab50cc39aecaca784abaab5f1c16de28db50497765f08598c1d4ff6700fbd7c39c15367cc5fd77ad80f92f5a51ff9fb42244566143ec96acf2e5ffbfdf5b4535ab087d957f2a67fe5f4bef940a967fb39852e1546c66b0e7ae15772a3cffffb91e165e8de3294d9960ca8f94355266907245ca12294ab2a5e2556d6e09830d3010621074c19c0b96b8e0830b34b8c049a6bb364f71d1877bf187a214202cbcbadf60b167c887bb48a2163189f8eac2a2cb88ae31dad4d7a7adba7a706d4172ad89812b0a97d3ff631e6439ce56f60bb25878a3fa7067140bafe63d73f50cd9f0a16c387452739037ecf93731e6366977f1ba9affb74052fdcbff9b51dd0a8ade1ed47bb8190ee6ff4d3477ee60d7c991d633d633bb17f1d6fa641d5a6bdc4ec4278ade13736de1947abbaa4e14bda7d5eaedaa8a52668328bc1b0587ea85bac2ff6939bf2aaa6f675293e8dca6f36fea767693d9266c75cbded4ed745a0daf22f54b58e6ffea843bd224d20ec8342add416e2d61e20ccc68b638bd3fdd4ea795b78e585087b4608e0539bcac98ca501ce4b9095b40cb737211d94a560ab241364d310e76a16ea7b3a84cb70b2eb1a5731aa420a82383b1a0102d2db408f0ff68d6e532ca71716b2d1b108bffcf3d09fc828b306baf96ce32609207d630711698cb795e1bf3c182309c2409556f5746bbbc7972e0bea81514ebd11ff2272708fa43f38fe2756bad1f16f317fc1fecd783c3e1764abef1a271e75c202ed7e525f0e48d3ae93c504a568417e1c42b34515cc434653299ae07436faae7a397a3821d2ae0825581ad400799d5262b84ac332b47d64319030585220525e989164f687802e58912d6db76618da69b16fcdd73ea9cb216f7bcc2a44e2b3ba7bab0b667d43943d37d8bb241764aebea2bb4c19ebb7ebac83bd64a8740bcdedf59d43933eb7c62d154ebeaf3b438c8b342cccc8917ea5cad7e3d34cddae225ade62010052850b045418ca460c8044f4c50859c00ca0418786df70dabac59d43cb37875f15a8df503960758186011716286133241564be7a913eab452267925e6aa78a5af7e48ab345661ac2eb0cab21ac7f06ae03921795f05a6aa57b583ea0aaa2d24d59100dcd8a159eca44d9d302d3db34b30cb87ececb4b23306656f273f6196d7eccc3c81db5c872711ae363454badd80bb77a217afb7dbcd015392f8718a153f4e81f3e314317ea472e3472a10fc4805c98f54ae7ea462c18f5434f8914a093f5249c08f5482f8918a133f5279f32395317eacf23f56e1f16315fb6315a11fab24f9b14a931fab3cf9b18a053f56c1e06707f9e366c297b72f5fdec67c793be2cbdb145fdedc7c79abf365528e2f937ebe4c1af265d2d197494bbe4ccac2c1c4d28f4c4cfdc8c4043bca75c797eb035fae415faeb6ff2f47d267cbf9527d7da9fef85225f2a56a7ea926f95285fa5275f2a50afc52edea791d3e4838de07c9e77d9086bc0f12ed7d908ebc0f1293f741a2e0ffc91e242cf81109293f2251c28f4878f9ff057c76e85860811c3e3e0ba03c3fa23e3fa2417e44857e4491fc882ef911c5fa11f5fd88ee1f512be8083fa22afc88c6f0238ac38f68991f51287e44adf8116df3231ae747348d1fb18e1ff18f1f71901f71ed47dcf423befa11e31f712f7518e1f2a511027c69a4872f8d20f1a59134ffaf43c76866cc8f666af8d14c991fcd2cf1a3192a7e34a3c5ff2f0000d2c79825e7c7ac347eac20c78f1504f9b182223f56a0f46305523f5680faf001f53e3e7cefe3e382f7f1b1c1fbf8e892c0100af87188227e1c02891f8790e2c721bae81162ce8f429cf123999e1fc9ecf8918c0e057a462b2c3f5a95f0a3950b3f5a1de0472b1c7eb40ae2472b333f5a35f1ff3acad106383fda40e7c71b6efc7843033fde70f4e30d02d0211bdf47c6c0fbc822781f59d0fbc88ade47b68307ac81f781ddde07a6e47d6055ef0303be0fac3f8f1c3b6c900a481dfd28e5f4a3d4d58f52f747a9ad1fa5883f4a71f0a354093f4a75f9514acc8f5244fc2895c48f5269febf04c0cf8f1f3fdf80cff883a2f9126df3252ae74b7ce34bdcc09758e84bdcf425cefa12e72f71952f31095f62305f6221bec4537c89e77c09e4f12550c89740a22f814cbe0452f02530fd1278e5ffffbfc7aaca19d854949506804fa041e2a574622b9d94cf57135f053d8f13a59598d22a06333d4dfcf330f1cfb3c43f8f12ff3c497c697596563c1e24fe79ce144babf1cda87bd3d01e8a5e14bdb8099515bf262ff64ce471e285323937cfd3675a994c86f55eb18a816bbe408b79e6ca5de3dfefe22b26e73deba1bdc59e753b5dd7be596dc85edd4e17d3ed64b0264694a059877f7a47a5e965225e28e28542ef5253d601a5b05ae4a5abd58aa778ba5a4df51d25802cca1d9097e1ff81fe79627022cebac6555de3aa345f254c66df1a8a098b9f675a54afb0739efd65e1d5459fbd7d6f1fb74976dd406b160d1515196d6dbbf6aa65b970e8c49a271f9ef6dc923ad76257875136706323e84eef6c95e559f34ba6f11ff3b0f02f272ff3355b1203c584359b8262c29ae2692a03c551aeefa5444e4e9ab9cef6826d3f4aceca7f129b3b6d1fee04becc21c91de57efedfdeec2d899cff4fa2264999b737be9a5dbde8edd99b2c0d9227663bce71663c1048e0bcec5edfbf3bc2e6bf635e1e61406773f70edc4031186e6671b31d237654e03982c7cc7fdf514b7dddc12a2dbd9beccd6332e155b8f5d08254e67f866674b66384c47b2b6c6e4a9b9826375f55d9a47c9c9d1c743e8c1d1bffbff5e591103b0c1c2509521a3951a564038d8efebf36c45773dd455bffb7ce5753efcc4ba21c8854b03754e72d2bb3513c8762aaaed7e1128a73e5501743407c3984feef78697a9972c40b6502b3e538773ddc4b96e7db65f535753b199a81f43a5c3263457d2d30c3a64c8e6aae3c2544f55e32b7cf621fd0aac49a28b61d17315f3111a31aabc26c71da81f4cc5abdfb5ee677d49856bff5db4f444d467c53c09d1d33dbb7b0040f90ecdce91134c76a07ca02a6c8e2ffb3be0c92c6ffdf7abd28a95d1555d355af69498e4a8a57d5ebdd2888fa2a214f4432be9a3de18f78bbe92d14ee5f1130ff6f555516c1953130265f7d250c8c12e6a6845151c2c62841f355b595d2ae2452fc3368fe3f81ff9fe04b20f4ff830002b23324089aff92085149e4c79034439a7837a5042717a5043fff1030e22fc89ce315c5516cd210ddc2d9900f77cdca08d2c0a8c66ad1d7d3d7d713feb0389a57ad2b8c7bcf42e166d24d6d745865654aeb5692a697e976cb81e67d75bbf57a3d8d5134077b59bd3d95f31a0de568aead343507790d47d33b9caae678b71bee77fd4960f9b5771de694eeba79c850f2c0f259504a1e58ff66c9a3e7ff77b5e031f0e50eadfffff9728754b9e356ee78953abcd04103cff16194ac875d5877bcf5cb9de775e71577bde3982b6b718c817af77a7a833f7c25fc11bb0fa3a8ce4fb88e39cfe16230259c12712fdd6e28266edfed4613e2c2097f58b75b8dabcc51449903cc13285d585bf91c4fca1cba32478f12071c2b5bf113283c87a3cbffeb763a5be280a2dbe94a1c403d6e9ef3ca1e25ca1e2e66d9e3f4dff337c4fcdfb831fed36c906ea72b134021012c13df9d16af9a404f69630b1b60fa0fab446c8b78abb4a1dbd9d20692d246cf9b6b4e817aa33758d620f352650d18ca1ae77f59e3f6a2f3c0dd315fcb17142f2eff6fe6cad794c9d1f2f553f244b1a34a1e20feffc8973c56cc265456258fd04cb7d3f1ca9ddd8ea92a37d3e50e09ffa66ea7c3e1784a389e129a71389e924e89b89732ba7baffc2169c8f934b0fed110f38fc6036758714698330260c69a2d331c28838a3258307b4ed33288321a8104ea1c51c74b9d0aea00a173451a3a3dd029d231a223844e03645041c60a6488404613327ac6383386076334f9ffae879b291665b995c59eac0ccd3a14281565717af2a72898940db2b1279814b63a03e9763a1cec36a6b1de36b53231721043156326460feeb88a9c53cef930a808e385307a61ecc2d001461c306a00630b0cd83f9a753af3df5d79ce9ce155963351dcef30bd5cd8f2acdbe9643debbee8e00bacff37e514212703394ae448f06f7ad1c50b295ee8bcf889d3264e99374fab33a3bd53b7d36560ee82852ea87441d585ad0b05e09c818305ce12382f2ed270d165022e1ab002023640608580d11663e4b06e21f4e68b3754bce9f24683374b7468d605d9180d26658bb72b778b7dc19e794d764fc59e8576a358775e59df3a68cad6cd2fe6f71783adc46e39d0ef9e5956c45b56b7d3a166bfc1be2f568b3c1c4f09dde1784a1ce7b5eba674b55a87389e92d20f5ff5ba7054af0b6b1c8ea7d47155113fe58af8a957c45b45bcd52be2ad5e113f15f1564fefcc53522f54113f6da5beab5b31b14711a25ab0317da81663725a104d2d7ef075e3e68b1ba7366f78e76a1b316dceff6f93cb42ceebe16a77cf5d3c5b5f165ffe876b16e7bf998591df51412cbc60518505046cce6043031b104c2c346fbfa89a3b9b2b36f9aa328c8136abb99fb2136360ef6c8097069c013b68e4ff35c2fff7bcb86081c2c0068aff06a069c00f3714dbbeb5fe5f22bc42d8d20361cbff15632428af00aa424c1552a820b39aa51a356a8cf81c5310c5693a8cfa7f79f0fc03bdf34bc5f2351ad7ed76c557cc87c21f9607b8679d811da0697692a6b9ff170740a934cdfdbfaef0ffd7067a08fc7f6980669cfebf327859c11dafbf9cd6bfaa105179db1423dafeda50f1ae5230f0ed74298a253e4d8751574001fb7f11bbf4fde160cf49dc46cdb070c55df60253cccf9e10570cc6ff7f015e84ae68574cfe5f5c43dcf52e05a2585ba5e950094e7db7ef2834dd4ef8825cc575ffafaeee555b09f34d99f0e6112f14c7588953df514d7bf3d4bbf2b4d57047bd827cad0da1f897f715effce2263d37a56f90b7cb2ae6ca29cf5ab8497af32fa34326459d46f92bbc7cf854369165c1ff4b9dfa7f6d2223fd120ad58af8e9c5e4ff9516f1d392d7565faffaffb200cdeb309dfa7fe5a0d657bd80ff5fe385ff5fe8ebc7714a3f7c45e38add6e2b56879ca36976c2d1343b1902d12c1bce365cef5411dd4b7dbd2aba2ba27bc956a30d6dc32ca15a116f11190dd18ceea2845b6354b8756d6888c3d5867049b8c004afd8898655c31ac222c22ac232c23ac2b261fdbf9afcdf6e34aedbedf5f4ff62b2e3b9aa28a91d8f29ca8a490f2b07b5ee4c2281a5773642e372faff9ed712bef454b0eca872e6fc9d2e76e254b1f3c30e10e51163febf46151f9447e82227954080c403335770f4e8ccf4fc0e4f1da2338c40832843fcffa61d1e2fb8c0020b5b3cf0e0832b1c70b0e2767c864282afd6d926d5ec10ab712a648f04b11aa745251136ae9ddc4e6ec767ce91316aa02102179660ffafc273f9a92b206472c0a9cf9735af6b3371dbf087af7856733cab57ef541566217458821302c8ffff104498206eff0f44961fcaf81e07eebd4e953f38f940850f3f7e051478aab05c89c255f690feffe6a13aa2e2ce75c6eae6ed286cae77dd7acb70e0c0812387bed69ac5bee65cc943142e943cf42877000243a983972118b8291a2107a5ef599182010e5cbedfce5f4a47943798f1c368d27f69039b7f9efbba496003d13f51cc9bff2d46498c0a4fc47c2d6900528679538691bd51516d77f1f0d64d97d28babd6a9bbe2bb3615151515151515111111111111111111110d0d0d0d0d0d0d0d0d0dd56ab55aad56abd56a341a8d46a3d168349a504da8265413aa09d5846a4235a19a504da88684848484848484848464b3d96c369bcd66b31d1d1d1d1d1d1d1d1d1d1919191919191919191915151515151515151515111111111111111111110d0d0d0d0d0d0d0d0d0dd56ab55aad56abd56a341a8d46a3d1684242424242424242424234242424242424242424249bcd66b3d96c369bede8e8e8e8e8e8e8e8e8c8c8c8c8c8c8c8c8c8c8a8a8a8a8a8a8a8a8a8a88888888888888888888868686868686868686868a856abd56ab55aad56a3d168341a8d46a309d1906c4746454443351a9470f713940320ba2b3662b5574c41716947e1ac43d3e176221c0af3ff4be82efdbf6c54fc75f4ff32fa7f15156f13a2ffd7d0ffbf60b5ffbbc4c4733ac73357d6e9a1c5ebc519ede2bc3ef45959f1a636bd58efa8ff97d0cbc86b26fbef318e3150ef325e87dd67837dd5d76a6eea7bb1efa696df2e8e93bcfcf0ff0afa7f15f97fc5bef462c20bf602facf6aa26057d5d335e9a498a29a7a545254544dbda626563a29a81e560e2a87b7360fca36c40971df69ed14dd619db57413d30a4d3962b0ff9dddba0346059eafc7f9555f3e5e3dfebfebabb330af3f9e512b1c6acc85fc76d9eda4a5735fb72f674d6cbbace19d67e23f0f18ff3c5fc84171bf4afe79bc88f3ffbbabc5f5571b42f1ed86d72ca222a3a13285a6bcaff0cafb4e79df691591d1108518fe7baa7a4fb8c256a3597d4f0b27d4f83f414dd3dbada7f2ffdf5f9a2041f6d96ab41e5fb19ae2606d68681bda6ab42191d1b0041aa498fe791ee080ff745d9b7e3b4d73279070869095842435808c1045101b5d6c6c19a1ea79d53f8f166d8a5cd67091fd03b9a8573552ec6eda702aa116e636d8af6ad33477bb89e0830843ca104070e09fdf2d1974506a99c357b3f7c4ff0dcd285f4d1ad712ffef43cb132d1468a169f9896509230b185990c822a6cc32f5ff1fccf17df0c588567ee0f4584d4e96a7ca03303c5083250a2c524a2c43fe3db862b5ad461b669dcdfd111df4f0441c2c3b4892a5e4e08d50eda701075bfeffbb687100e4e008071264c99e60ae26577ef8373728afe88838b8e341b9019a17aa951ba8bf5e213f894267708452039eb3cc60860cb65c29359099f6e9cb0ca8302aaa0df96a1ae165063613ffecb545dfdab9b529e159591b59443689c868f8c44a0f464535a71e9ed7d728ad28fdbf5151cd8a28f4ff4a5a5c776d34ddfbd75b832b567bc2a146776d6848c584ffaf71dd6ebd724a0ee5145d3905e680941ff86a66f5f6766b6a43c3520a50eadbe952d3d5b8df9fde4ce8ee7623c154f00d0cb7f8f92142c28f0244203812e4cbff7f046ad2373b35761448b3a648bc00cd9b3f3167a07628c0ab6a8bbe9d14785e3b531419f0ffcf803525914d153c54a829895265d7193568be53182b31f9ee395585f73c55e1d067779535d720fee9cced799e36291664936c111b643106f660f6885573ef759c26c5d4dc61bff4fe7a47aced3855628d18b1b2ce87eb799ed694c5d4dcedd6b362bade340bf5709d75bd57e0995ee17ad3a1d62fbd76777b9e6bde11a8b9af992b82b3e77428ccd1a19299ea6f77cc792c88eb763a2914ef0860b99ae260ace88359597af9b666df517d5ff172db50ee0dcaada64cfe1f4bb9f16594b9dd7ef9a7ad4e292f868e9d1dd2670110280821500ad1d8dbcdb265056192ff17020509a22f135773b935e712b1de22f3ffb6df18ecff87fe5f2b9416c8505a3004456f2f6bb115d8da692fd0ec7c985ebe62aebb767b39efc525e2855a37108a8fe8df2cc6fade2b2c07bb8a75c1df7ab3c6baf432112f14baa378bddbed97c3b86f2ecc77fafb95797951fea2fe578c51ad77ee5d2fca338af2ece14f296f6fe5e99440c984f52593d6974cc52f99aa7cc9a485f45162f33e4a5ebccf919dffdff13f7c380024888e8780019f7277e6cb5d9a2f775f7cc9e4c6974c7ebe6432fb9249d4974cf2974cb47cc9a4005f3219e24b26597cc9e48b2f9f78be7c2abf7c1af2e513edcb27017cf9947ef9b4e5cba7027cf964e6cba7057cf9c4c5974f74be6c82e3cb260cf488a3fe1847ca8f7140f8318e0a3fc6d9e1c738687e8c23c58f7120f002912f5f40f2e50b5c2fa4f0a50b467ce9029c2f5f48e0e8df07d0023e0020e37d7e6abccfcff83e3f40dee727e87d7e8ef400e0c7019fe7c1631ca7107f9ce2c18f5352f8714a0c3f4e09f3e3141f7e0cab60a8d4f3a7c7396566440000000008000311000038241a0bc74342a95c348cf5001400014ba4ac78bd8c3212884a1053ca20630c0110000001001881360c278c107fcc8673699186a0185931bede54862bb02988fa09aa6a4231790feb668ce72537c23495b63a793cc127097af94800ebdef7d8bf87605f75b6ef498a78fc71cd0d2b644a97776fc88ff2c6bc44b7d033d5ecbe323a181f0887c2b158b83136d2b2e39df23d40f83fbea6110fc491bdaf629a321d70c6fd92910d27552573365c499b02a5fac85839efe94e6d8cd5d561b1b35df4697171586361db6ebbd1b7626937ea8fd18cff07c398998799d3e2f6be6ca1e75de00cc98b68414757105263b81a5badd3daf913b4fe381508df2ebc122054935e16def0ec9d388a1814a2537dc65039d409243a4790cf87f5da59e8b4bf9cbebc712c0326201ec2e4eaea3a20a4995c6e46a452b86811007fd04330299738199e0753cb27da47cee7e81b8cb044b8a42dce22110e9e36d8bfdbcc71997b92f8a2735be524965b230922c8db1a24fca6452551692a0633ddc3ffd5f818a73bac90dac93d849c4179d51f3849f25de626ce24883a912b3f84c18978f6f9cb8b845be7a91941aba0c6717a2b8c113df04116023654e2e48c1f746afda108c92a03bdc01130b0d0e01ab5427defd39c7cd0b57194d3a3254dc0cacea6c89dc89867258cf5b2d94e7bf8848dac1948720ed15996d99460cdab5a8e6a966708a11c6cda89dc796334d0d6abfc221da6bbae48bf2c4809346c4588a2161a065af9e119ffdf6174d123309293ead44464ab8bbf07e08d3a574e27640b219634799a4601fd6ae2f2063309197dc8f249a88d12c1ca5cea23cb24bbc86a9fa0673c1379433265c36a104ecccc89064eff73808cf969582bee95ae290b408fe8c409e8dc6c394c1963901bbab90dc1cddb5472c0bf8dc8adebf4f9144ee3a815e102d81b924f9eb354e2a3424a4c3509c9ffd2d12258ee7eafb60f4473fd59be2c5aa68051ab024cc5bcf8f430f5514e87d26ae192be13b7abd94f5fd162a3fd4b490ecf3f203f1cce6536dd1436d76604f6ce23f749631007ded802dbfd017548d576108202eac49c828c29a1f332f66fc7bf53f16961976f78b9bbcd7c30c830b70d31e41c3e7538831804ea9edb32b7c7e56ed3bac692ad808256f3f4ee16d7998af6cf82007c43c7d4f696c3ad8ad9aaa40e1644c702c624f8c5ca19b91d14ab842d8bc751cf3e80be1884e484aa58a2966b61dc7552acddc9967ba50e9e53cad739826524ff5b6a2b0656faa4bdb067ea40390e93efe8d4705cf14722b3c8bda70e52ff460bd6639f3f1ccea6d0cb49eba6729a51f6170f62f10c3b96efadb39b903faf0a149ce854134d2b3f02c5db4856f0a68384ab8688c2b4d9be2e399c1ac06dc19422d6b4bff85fac959ddbac2a4722f2724f7e4a42d1f826056f8b000262da08069c5e775a6d6badf530960d3d3d8c39c8e9a05f6b3f81b245b66b743e31dff4960054ecf4bc4b818b72b9508ddae4fc89ff45458bd8b56a156aedac2d6a38575837f5cab39c506a61322570e641ebf69c2074c808a350f91e4e80892993d2f4d1e287beaa631fd79f74f3a8a9427c2e13dd4fc6af5a0697f90012b60fdb004ff20c2cb5ce91d5b60eb0821ae26b992e7578efd54f574d991039551b5ecd19cc18dcdcf2adabccbfe44e13d36e8f1a8a419718a9cf47313b701c61fc9fdf9926d00daf83eff6f6b4b699f2e9b3707789c4ac0b764fdcef452a19fa15f877e6d6d7187f34167698c7d4c5aa2c278a98f16aba57f8ff5e3ebde13280cf627d764c23a7a7e73c79dabf4268f5f830af0e0fe31e0b78e95dcd82fa79dfeecf928343e42b737c799f28be86d79024f0907708d738269f7f53c66a86b0cb051999a3110f188deec9871a3f7be5872789fa7cd52aca8827d6af4b259585a55759718d13a2b78f4adf6714993649baebfb755096ee90d050f30ac5652b99f1ffaefef1dec36bbc5435459c48c1a7bbe7c4393238593cd5f361fbeeb279c496762b62da7f82e5f217ea011d5dcdc34c0e37882fd37ebdffa5fcf0c0b3032fff4bbc34fd9620cc8748a31cc0a11df04dcc1924aa5f6368e03e2d909a4fa4138219472dbe7c7747f949b765b45eab20fd4eed59b9dff541ac4c0f3e725348c7a645b6046fcb033089b684bfb6d10e966d3e2dc3c558e33e93056bab8eb47ef4a42d68dc20a2b15df198e64a5ed7d19bb1f53513c52e12999d1697ad66240ddb26379fedd43ff9546796f6a340a007329b04799198a72d1aa5ab3b3d325b3f48a67acda2e5ead716f85a51be8a0e2dba3096a6d89968b1e5863937f47b2bc6cec330cdd852d420df6c71a685c0ce2e6a754d90bc274854495e6e846e9a1623b5b0f5b260aa2c6c06ea67e8672ba8ecd624690a959e40dbf556cd4babea16da37f42b1a3f91b56caa36188cdebacb0813a3db06461bc413d01eb691fcc0d29aae45f177334e27caae6d000e551ec4f3759ecceaf0f82a7cd894acc6618458b9cc1100057e32c5c032e6d1bf3c7e7da06989965f1bc7506875882c9c582a7f5491790911f10cde77e3ac5572ddbe39665c818f049794148607e604e8985b52ca07731ee609b288a8ebe2781872661562c50d4be3732081496a9250e7e71c25e4fecd11b231ae17b3c007b0f9494230b5038cac47217626b1ce49b32249f32c0733163a2b73d29f476923a82b6535eb4a3f2b1b7f2cd6e1cdb1916d32bf0099f119f6905aaa67745e996408fbe30beeab46e16e54d6b8384af90479341987a10096488de9d43b75c9a3b31b87c734c39f6061ccd3ea66ca89f787e1731928a47d3e5eec90a59aa7a3caf7edf3f89c1b47cd9cfed161a76261ddd121f680f0e7d0a313f454d67cbe1e780b686dc6847d165e0362f7d2f14877ec891efc60b7bda9bf9169a3839ea915ff9625417724259f855f6e051bfa0cf7f2566c66b44361f7c49e13e95944d9ec9cc01ad0aeb902f4bf29007ff13c81d3a99ad96732cc5b02297a40ac94f869a377c5daeea1b1835eeea9bcf35d26c3db625ba157622d32c2bf1e125b991193421b6e8ee8e72cbb198a67cf91bb9e6c2854f173cc2d0dc0760bde55aa6f99171c28b73044831fb2e88a14d2809d2c0a6d8523ae79732098a480878d1d73e0a8e305162eb260d1628b16460401040823448818e2c61d3cdcb891468d1a6aa8b06285152ba248a28412269cd8e1c78848fcb10973e0c10d37a2a31858083102081169e0e8b1460d376aa041c30a152aa6587105124e9c48a2440e3d44b8b1c38f1b69d4a8a1860d2b5658b1228a14492861c2891376fc08a2460e3d6cb871c38d1b69a44821850a2b5658e24412254ac8e1c3881b76fc48a3460d356cb8b1c28a1551a44807caa56c2d43e766ef36cfda2acf36179ba8d742b566b79abbd40ab6dcf10e3bd9f92e38863b6e7186038e71c645af7cf849cf7be971efbded990e3ad65917bad2414e729e4b8e73f7edcf70e8b1cfbfe8550f3de9792f3dd65db73ad341c73acb45ae72c849ce7df931eebdf5d90f3deeb917bdeaa1273ad745c7baeb566772c871ceb9c89527834b2a88ce0bb1f849be63de46b7cc591746878c6f3b77d875c74ebbe128900373f2f46893a76b7d50bffbc4696736738ff1b8d53bd5aa4aba169e2921214e8abdd706dbf4a0e7bb5c360cfd60ccc32a1290d14e86f639e18ec53b599f210acb5c2f64364d03052bbfc8fecc6aeda8918faa486ad455e189276a52815b43d17f02bd20a7ed33e586687d60a9116122cb6b18d6116bf214f24e5d0e520b3ce4c27dfe2c1d0163db5533caafad3b6c1d7d3585d04f10e2940333864cbcc468e7fb1891a5ca485eb9483eefd1b571426b3381d661c0c4dffe8c589161b3e44219661a9b8ced440a46ab82cf93f622582b1801728da09eae2b68be84d3847e6c96caa141dc615c284d2b52f838ca1955f1ab45f0ce3c1fb392d88976429745878c111ef64120b09f3fe4371c411f0354a65830d3487dafa7f305305f2030ee46403943a5714f1b444db23c9e7d8146a15919f315ca47ed205d6d6d58e0d587f951a8b4ddd5870e725053a302f99d003c479f67e24f9308597eb7f454eacc261512842202f596c571442697df3cc361026c7cd441df7b0ece59addc53a750c2ce351dac8a3a3480ce1621826cfe80431a2849cb325b84f80f75ad9248754b75326c7520d0feb4b9f7913a25d322d1e0653320964bc39928455d77f1e34959136b8543455e91284c0a1e52b3fb5a9affcc52fb5828e188e51cedb25049c4226c61cf51ca9de2c85743daeeb0ddd6f2fcbcc679f0772dd5d1fdc986ef8a4480133282b1607c62a987fce0fde9c2e55b8ca168c3844b14656ace9b354cd0865268c85a758f0bb9d15bd24466dcc1d191c35583c6354a383b57a0988d6c6f677f722736f53f54432457b7e62da745611edf95911498a90c3c845b0cc71a95d8639da506d86df269625a976b7690887898c50293ea09f9b82246e54c6e0ae644c4f867500e7aa77f620ab38e1321994b3a7dcc26d34c813e5512f7b5a741c05b1607c896fb06d9e34f8bfdfb2971dcda12845fdbde2e42bec512d099f45976711fdd523a5f16dcd2ba67ce43b30169dad48c5a5aa86656728589975b8e92fe2bc8a3d5cfec604627937a98a2c2f908ebbf61dc96af55c89342208b68c817cb4c6c49b8f32a3908682f177f0499858e610f1ed16098882c16da1c2c40903a75bf64b6398d1546bbb8a7641b06bc399c04e254dca91b5e9e4fe47396d7811d634f86a976fd77064a3d40691138cccc663f337d5eb246dd8b0fd4caf4db229036bd1a3e2ffa3a0127440b855406e8df2d3e1c262aa19771485fd6c03de8b1af46e30e5c0e5debfbe17dd0fdcbab3ca02753c33c16832bea300605888a0efe7d87dff9a5518755e8dc4a840e2afe3e3d5a05693e9640c545d79d853b6080df6ecf2fe96d1f70f2e8ffd46267616e6cdb298f63c4b1c750bf555cd4b72b1c7c85bb91399daa7e8a5e1bc3a95beefdfe805dcfb4b9c39ded6ef02adde01780d3926fc4a4b1b7b42f1e85874a6c7ed80fa4baefc2128b0ea4c6ef1f68e382945f346c503b8ff6d6b0403654a49b9667ca61175f03803ca24eaa9eddf42e9e6bb8fe1396a8aa08c1f1989c9fd044f65c31a6893a4ac5fd74676fa27df236b44a6cc199838f7a3c7686e60e271168ffa361aa299fc89bf51b62556863f7a91e755789f4c79c37d0edf2d0e7ca469eeeda57463849f6851dfe503eb9ec21ae01fc41f0309f02094da9e674b0c10841e49952e50dc79f7d0af7dbe2aeb4efc38b99055ec18354c15408b52a4f6651802a918228ea202b786ed37d29ea9082437ec2d7aa6ba35736eff0ffb3c641382e0126fb59d9dd3ea33106df88702649cb34ad88a19b521cdfc43320d2162d30d48ae2d48057d0c14dfde78a9d219ea02b0396e265b74d43274387e2d5137fadce48e5f212b8e7da07d51d6e09ecc8540091f24072ac387092ccad958feca924c8e6ed06652f91c74546f0b17d3f01564845ffa98b84547b6bc64af0ce31435584fa94b3c3c5c0f1989c646da83bfa479b040f9163b610e2e44af0f97c4278167bce1afca480c0afc7c535b8777bb3b6de7b0847c48efa67c3c78c236a6f7ae124322dda73ad0e40713ab26b7c5e73a26d3cc18329b4241d325677726f6ea1f36a9c6c6e1b4c91f8dc1eda358f23c0e9152ead7e02f2cd9335f52222591de8988abecdf58ef71cdfc9c4e8e89faa694e32d7b456d0ecb01cd06702c3cbb26ddddbc9fc5e04dc94c746e95efd3d9988b5b43fea470e0ffb8d862cb8700e40dd2cd023cbaa6cc1d59e3cb1159f50642f9baff6cb2cf3451d3a8727b4689e021a065e409b60206a04165d296d0c3fdf5ea137c8f5ce660e19dbe017c6bbaaa6b84da94a50a0ff790acba397267551b2ca17292e317886444de5c2dae064a92397a8c03bd44e0ef5cbd73de6196cafacf8462114eda54aabd90f35d41c403b70dcb36840087c6d536ae5829bd199a4d37f72f51f1c4e936ae394b2128748eef42216a4fafdf1c3cb8e5930329a1f7b1c6ee120536ad02026e8628a0b171f21f63d09bbb3c8df6cbbc69bd81cffbfe01095d216a92a0c8a0ff39bff65c339f3713287f671793a114581993a55b09b3daa1ef1eeafc42c2f00a40a6f40dec89d674d9ad67d22dce238496fb8d8a7bbb8621a6bdec9760de4b216cb313389c905c7f29f6d84471cefba32a60c1461298fc75d7987c5bf45dfc7b595d88a124b14dbf075168d0d2e1fead2b1ff1d9719ab4cae08acfba600d78d0a537bf5f139e7206f6058441ce1b74366fc2b397ff86bdfd08f76f240f9a8fdd49dfd9a15af5b5426bd1d2db67b2d8e7c7a733cc8da7f734fcd6f26301f49a1eca7e6e43a09913dd5223e90ed2796e17a0a523cff431591c47abde5889f6a119f42968973dc182937c7854dbb9c189e8ad16acc7180c48022afc314b07689bebf8175eef311f6232d22ddad06ef1c87eed5226502087de29f792bfd22129b7a46b4990bf21ba7008422e93f8a8efd51b5706fadb82a9c06fbe5b7171f6b58ae76dc82a8b438e21fcad5a1383d47aab73a2f1781932cab3d6925e4b4bb7792f43a2d3a6fc4bd9d3ebc8c358fc4cc7a6ff6d9b6398af745cb240542481e202e43f45270eb02c227c7027e2a4a8e8bb2caefe7a8a394e45989535853f6ded98ef37352eee41552281fc53a128963b13468223db09d1c7868f8ffe75109d9b26deff1fe9760e73c5c62ed46ce5dd2b819e15ae585714f6640874b1461e4bcd0c22622a897fbee0b1ea4570334f6e1cbd688b4b462d13dd833e59d6f66ed5c6ed6ac94c5c1cc295a84dc8e4923704059cc7b6416ad4c8972cbbca190d4bc2ad0a5fb17e2c6d5bd8b13a5cacb2a3e968803ff5757c07d87c33d024a9cb5d604a4d440d1307d6ba3ede221eea13a754030469fc61ec9f5722e416266ccc76f14c3993b977f2a98d656c02404926ef0f4d3f94f14299030359eb62b9d0028161a850b7ba013de177d0d3e5e4625015b58ba1dc8325743f512d65cda3e94cac54131598aeac00290677349645ebb2f4a81f76745d00b7ae90f2fbdf0b463547ea57d1279b220ee314608307a7d4146c300b371835da13cb715060628775971add754f83c0f4b704837d08c4b2f16b17648e2b52ed65398cbff0627fb15c813cf33a7b4d5cc383604914daf1e2193736cb91c328b99da73caabcbbcfff8926dd54a9eb672693ec9202a7e61b5d681cf97713ea2a8f0ccb30f8404ec003fa63c2df70f9e1975f9119b9ec21fc7861c71261838a274da081bb54cd09975c0bf88fbf9acd8c7da4bc7cfbb47030949cbca09a10f79636cc067bf20d7027c2cd6c003c56486c8c74fd307959861efd2d8b1c8865e2257ae9202079f0d96aac7f2bf7f64740eb179ec84c766f75f3682cb544519da71debbd9a809780163aba3b91141ac6fde66a45d8d93ede9a82808fc7fcf4a57bf920856aa30204341fe380f6f154cb6d3ff2f34011b860d045f2620641c719ae7cc882e21576f1dfba17739cb8d7a611ae52ab30f04e1c6d92b2bd614ddfe4af04d09c909e3ac6b0818fcf4572acd4d578bec754543c15fb57c00edf0075403964f91f5710dcdcad987110a21426ccffbacb821991653c71aaccdbb2bcdfb89a95cf586d21fd7691ac26688d92c26fcbb20379a684007518d6cb5c0726c987cb550e21953f335740607e94073284ed472ad92acf05165bc5aeb8a8373453e7fb5627cb544d8b164925765695e394f28d475179434c770a100be1146e31d7ab964102d5dbd60df3019e266abbcbb0b88433e769c646cfcb546556aa43b13c454b4e3ba5a0679367ce187bcc5c28632789591ed1a681fb0a572b82600044f5ca2ace3740d6a15b2aca8e7874a5e18a7a2cc6329acfbe49c306227d3a3582e9e17de99fdcf2688ac66a9dc8c0da489cd029e1ae30057e99ffdebf0b4983342b77f0858782c4fadfc594582037fc4c157980db28423c147448a2d3bebc7cbf9b672c788076452d0450191f3d66aa6f698d0879b09290d76e89484fabdf2dd09de540254cd35a1426c3637b2bfb064f2ab315d97092b7e0f9a6f2f9360c6184331f2a7eceedce4a6f2e7690466a86bed42cf01ec075bc53743cc22e2fdf0b381a1e232eb18cb480da43e4d2ce5357b09c7adecd9a58fefbe3ae98632ce74de935844fcbc3affc3e27394391dfada5487ead835ccfc36e933a2de2c0a84e40333cf084baee751421e1e443083dd7025cce5a2fcd0738df5d43febbf3533f48bf953818f73c1d307db28eed63b4588712a7d319fbe1f6a8370d88e918bbacae7ee7eaf7ff903c1d75ace15fe13213ef5c4e627969ee7f87c239bcf48dcfcedfbc1f81fed5ce7f36b71c634477bc437a233dcfe11e31b8bacfd83f3909db4e22f96b70f6c98da8e73d49face719d273cb013d30f36d04a37320fb0fb176b2342f9ce007bb8fff20ddebd9e90ea110e8edfe9f05f10b0173fcdeb4567b048e2da1df5fcde059c43fe88a0a1eacdd5667817de78c7dbf17f2b0920bf5dcff62f8aaa16f9c6a01b7fbd5deac5cfe4d592bb331e7ae0af4b744f428db9de317c55419c74fc4eb0c1a3751934c6a7ec2cb2ca85547fc2fcec3335a446f2826f23ab8c26e2c94d87ef66edf22a2db6367e8a007a0e9d326727d66ca89de4a036b18c60de6f0e26a44cd766f7c94dcc3d392b73d7319345e83d5fc49293e2099946470e9bb54f97bf36ff3d0d90c5ffa667a026f1c91787732289bb0190f73f0f11ae504be68a51158d78d099daa21ef54dfd00a7373edf5bd7da513b556c469c7145610cf94c301c8631987e0f73c9bfeb3e76919be78dbc075c864ce59167964ac6b1034385301cb98b04b4d6b07b0a03110e0c988677f9a8d7174b9522fd925ccb97153e37251eb759a75ed749d8e9a60e2d21bb56734de663197a1ddc553dc760e4855074bd27d42a0846afe7eb2559e2afec3a0a48ee62c98024c929633435b2079434ecbde1069a6d48449d2b59a53f9be420337197ee7b5c4be3056eb64a64bac682f25792a066063b69944dc3e339655c2921aa5c6d51f5e724cc50a6b30cdbfec7eab8cd12a7355db96f00f9a6c08afb5028b72b387561781449ba0f5e2d3922cf4df1ecf248f28a8a0e98f4c1ce54201d1483658d5c14da09e6d11bd35d2cd39e2305ca0fa7d97df8e040f501b4d2c632301110db94ae5555d47c7e33dab9467c514c408b738a09bf0801c4d34d0b6066cd67c0fa079378f058e4c7debca3068fab4bc5d41e28aada02dea38f76bccb8254e6fa8890cd49a772dc11b1d6915132bfdc3d4ab5248503003c69ece746b522b700c7fbf8cf89941909ac58271d9bbe90465b2909221eac5fc8bef240cfc068c4b8d4e57cb45b606115cd2680ab0c8b675a752fb45c58c6cad0c7539133ecc9a7ec56b89af25054bc8aded533afe4dde6d63db04f5ef33f3cf3d4ef86ae00480daccb9c46981a21a7746c468fc7b4661f89fec923109a2f9fa3c42c18433194cd2218b955fb4920800e114318cd24a8b6aa493cbeb27be7bd7dc230ba088d270520e29ae32027e2bc3930c9bc06148242e7a1097e7da2cdb2b9b713827e1bf821fb83d3e34e0b72acb6c84039bdc5bdc772d4088b5c2c0103d3a3243ec272e1fe5343b3a6012d4e1d1f925b93199a365c8b689528bde0681bedd9500ca3ad741af5cf6255a2ce67dab12aef7c421aaf3e4180a24b8861909cee21c79c2951cd718d10174ccf47bf65ef51df881312132380aaee71742d1fe01d3e78a9c59e0c04664114535b0b56860287167aa03a004685af313ffb5393e66485a95e42a79ee04d4544021090bcd8191696f9d00331fb420717b88b59b504e69f41c0c72cc3e84c78871aa9f3a86ebcf6fcea007346c1ac8d6ae1ec4fe3f963acf0a2d59078a3ff6953ebf0f4e8d07de277bcfe41bc816e90935f05a0b5a97b7eef182f00f81a08ed7588e72df90dcbb2bfac3684aafe205800cb353b5f157a7e2fb24fb98656e05e694995763f161a23875e2c5019dbda0a3266c784518561d3082644b3898899adcd3c827ad83aa546d97bc61cfc5a5a75a14b70825fb2dcda1d5e306c7b69abd84034a9a275fee2c5571015879b9638ecf87c3aca81ace6c88b8c5bdb265d4e2cbe37c1181030598cc47747896fc1977342e4fc6d1dad745b702a8ee5bfadc775cdd94784c897d5ad6b3c4483278864c34efa2315f0ac5a51bc7953358658535d3d366598282f1d81dd9759f05ca4d6f970e5b397ee68a4a9e86e3df6deb592d234ff3de429961b63d56295d5e8893c3afccb14c7cf1172568d5eb5a154a72b829c6899d0643098c5652664fbfe5e2a2c94eb20a0b59c4e3c44ab10ce089468a3e9684889142dd61019f2b3c26c6568188f042d128598c137551d382d21f212f863319c2c20012b88b331398f5fcdcacf0753da6b4173d2e98d1e494336efa7de7d3da8d0eb8c3ceadaf79ce2185f384d93c8f54aa6bd603e646b995eb761d7a22e9d0c8f645af97a9f1ed44d91047c7b482babc8c64ad4bb2b6a8714fc262a9a808934475caa5799c80fb9a55af2fa9710b3467e0c11cf159d2c3c5c220e535aa322748263377e70a8b43cc3075546da8ba0f1358424d73079bde3568d27c93b812de1e545ea5ed361e04208bca56e768c3e5f6d01a577bb4721d8e270b85f29096742f0ca9a3b0f1a17c02de0687a8da774a76a843c77700f31e2e2c3e480ac6c4bf7308d5024fa2004dea5734eebbbf905e08223aabf07b6b92305130ccbc8fb663ac9cd6d4e4735d137a1a398fa19600b9fa41a375beca3f17d6f6b50f66abb5fad9d9c59bf4672321036c7b499fc71540206c76f2b79c7edba84fa89bb564952cc86dadcf998a0ae1fb4d9fbe73f962c0a4175a3565b31426fe40ab114067934cd4a9617ad3a432df9908b4c7a572fa5a30542b1f64e6979f0df2554fdef273ebeb95a29cc974c5af7611e2c993f9e4061d9fb63a16603ca922d13440737dc06aac5cd0f69b49933563db6da1167187bf377e93c622204c3cb0d500908c5284741ebb24870ccf28b8efbabf515c8f10438d808e0877967da91da2aeca4421aa7d41399989ee806697e5b1cecd4c30cf77105928ed4c458695f9149f716c65c7cd4670feac993a8ee8dbb0eb9e6a987f984e188c2899e3518abf03f765b3216ae8a987f2572e68f4a3283fed26a1fbeb20de5ae7c5615ab97efe6af39968122542209ae3bf1cfa8525d485dc58016353330cf2c3b37a63940359c9810e0427049a1a6f62b6c81a68ab739704a639af1cd43fbf5f785104794325df74d5ea44e03e454491ce792dbb8b0df87b70d8a65e6cc99b33b87872eaa2f266e1e0f2680506caa5cb68a4854ca8cfed565315aa63a1d1fce7f5d611e3fa5744011c224ea8868f3dcd4601de1714fe42281e9c8872600d8a0cc85c317e13059aa52ff18862a056ba89cf29d2e6cacc96cdef14fe8b8c481fe0e9994294dc621d909525c301ff5e3ec77007dfc22694cd4ee82f103ff93dd2bc854634fc657e27167c315ab8c71317a05e64cf52910c17668553a2f0f8ca7366d009037bf61409cffe4f67b872b0a89c3e43a6ba0639e43efdf7d6a7f6ee051e85ddf763e40eeb1aed4a1031007eb4b7baa03ff917dce9d495db4db2f9039a7c394e3f59ce434446027abc9c4600b95d820b7f3c919ab62d70746c16b62237bd4b574943309b8bc1d3e785b3904fa85e3c1842cf91d76b9196a65fff512c2d58982ef56ece6f18f71d8855a1d9d9e433843448df46113208bd9c97e618e4d66490caa7ce37cfc1e7359d11ecb37b1258a7fe961a8e7662bf47750c0cba70424456b8eb0b38f14d041de2d0c89605874b13308c239a60d6e405c6611d8db99ed2dc6fd022637904342c544307351842137d2b0c4bf7cda174044ef0cf1457b4a3b29ad06a80f613ad2cac60f094c8688ce515316dfaa6cda90adf82d047ee3ecfff91dea6ad33b1f8161f8f471cce194387075a5af7f42d1bfdb9672e3210b6518f3e92d2c74f4e2f22772a76e39b2f68bf052114f3553ab0606653e78cfea1b3525dc47b2197e895085c7759604e37cbec8c4191b88392e70ea64b034d17acc2b699bcf1df282824b3e15470a9d3bea9cb24bb5a6fcc58f35b3b739cfcd4f413d1105b7ce8334a0f1fb9001acb83f1972bc5af41aa3c3b5a253c86ec81313e424488081ba1438e11bce10bcabb851c1388e96a33eabba3c23f609256c49b55e584dae4bdc872ba9c4de78418f44e684b9dc041c4a39ffe405f08ac6859cec401468f09b489522365128ce5a52a74b8fcc0fd1f80c07d7a361db92cfe914fc550a6a78f8fb11791b46a00438b6bcb590c176776e6e722d95f68d09e66a3fe2b4362ef8f9950de011446e6b98ff7bb9eec5d3b271d43489ed8fc5508cdbb74d9d60f573210835fc65701944e0b122119bf395dc40347257ca2ed628162f4e3205d1f1904478f498bad1177ae097b5c532cdfa9be646b2fb2585f4afc6c10de43f7bbc16c67337b8b2b1d1caf74a700d0a937c56a69dfb1db58be197016b4f2873d68fb372f43185855498abaf8f42b847f9d5a19442b9f6bdba60212d88b63a723641ed8fba38fdd8f89bd727e24a78fb07e2a04ee192f3be4a661a28fac7ea542a791039599a479ced198070e0e237af10ddbb7237990922c6a29cb678c795f6fc22307d95a9f0c7fa2066916837e5866fcc3e262b5f4a6aef1f8c2305e1cde1736ed5b3edfee2763cebe3c9ff70a744b1ad8c8e7d58f2d7d11a0739f0678eee0fe3e3c29d73ffbfdee22e47374ca353f24dc908f7680ae28ef93f8b9b60f8eb00fdfcb572fb253a35c82df7d93fb6484032c98cf0acdbf911fca7bcfaab92e4dc55eb5d3f98210c2678afd2c362b20a44ac343e263f4ef859342e9b3fde33a811c2a415aef8d84929b760179becd535f036891301e86f21dc410d66dc72b54234f0777f72c288d12f34aeb614bcced562085933afc8ca48291c3ed4fa1a254c4b66f27018a18639eafddcb9ab7215baffae140ccd7af97274cb46b4ab7ac60b5c7d8a77f476029805b586b2931d2aee566c85ac40b52e0b6136fe7fd064926de3cf3073d2560dc1d049a32f69db8039849be74a95207074cbc7729073c45c43d887000845cf7d84064085c3d7300a25932b478452a1bef1aecd313f08e614300c5fb973f9d2922dec32b5d21ba959563b67b1360c4e2f42a1502c31ed8996fed57384dfc9e99ecd1a3e2775a96b6db6fe3f1b75333fa50a59da685195e01aec6f760caf00b5f64f8e95a0e98c0c3e0a05d794ae84bba7639e5da843b12e0188ab0150027b235d9adfdb112dbc7ba2f8e01bb5d8654d0045c96882cac9d4e1305dce9d377cd163d4754bea64fa1cc37e020239a283e7851e7082ec845d646271278b3a58a6d61e735f0e9499b3690415563138f459f6040a310d9d11a04111340940ec2e48e5f8a9c2168f81a2be349418b01941be250a9a819a07424720633a7795cbff1a151fe02e5072b2f87417c350daa71988380abb249d9d180f122fe0b068141f084f5d58849167ea5eae96cf2403defc9cd3b0d79c5830bcfccce889332329bb1acf6ee5f6a7075e1c850883c0aadb2b307266238767ba6db5391f924d0627d277672c591d0f49046975b3e4e3ede4ae154b55077ecf12999b44f1906c75598a9f142e948335c3a26fded94d86bd5fcd3a267afb57ace3c7d38c7f41d8320353064f5ede8ce9f496f02d32da314665ba997dca6011db2aa6b08b89cedb35ded958581802bc52b156842e01c855699cbc22097243a1126a2703fbda30173283bba91c7f71d1aa8ccb7d6a3a709f22d0fbe313fc5dce1c940d5c1622f184fbbf1ee833bd200e6bfb1e12a0b6cf81c4afd97d8b06a81aa498122898daf0c8cb0521db592c4caec90275425302f8a4c25a9598109378848122ab9f586de8f0f300b866b0762de045ad9138485ef1fa1fed6c5f7e58c150e5203043cb46ee11f3b34f8715af4ed972f69e83012ddbb726a5c5eb2bfe517bfea59f933c0c3bed7abc23ce9dc903eca4194f808a95274c5a7df9d393f2d4836a099ed13caf1cbe0a626c7a2f7369f48e24c36d6061e008fead23d2f191367edfa1583572b09efd38862ac2fe012d759100a3362e6e49247a20c5b6f434f98437c7f3061ad7b40063bd2d256b80fe6e4d61c781d0a32f5a3249b65cde612cf16434f5b450603d31d7526cc2b942fe5d92166b14b4bf5bb6ca71359e0c29cd616a512f830b4805b9c361840061632a65d854d17a291589d757d77cfc4804da61a2db3da745d5b7a71adf5bef323f0c07440fd74b8a466a6b733adf87b4675365c802937688593a1a34f0ed19c1415491624542125eb70cfcc258e22ebbd74d356cece80fd94d51e9736aceaead5f12db91237ac53081624441bf5ff32926550f76c0d31230c26702192f1356a82eb30cda71824d80a22bbe0be9163f38b0091e36ed69c53c93b7d1815518449bb15614d35bbefd5ab659e40ae99984fe282ace1d407a4469fae65eb42739d700c77ac154b1e415887331217931042fb3afb96c2cca33b575368c6bd88bbede3cc9c84279204dcbcbbb4baa00a1e25408933941a658bdd271876970150e1ec8ebdeb6e4a03087ab045bbd08e8fe881906f161009396b8afff2daadaa1d6d951e3505bae45e8b2cfad1ed57ec27f401dbf71004d5ddc112243fbd77a3cbec12e0e9822535adaa892be821f46f338e13a544d38c893c0782aeae1901f08d806313f73103ff424361dc8f93b42648c0640f832cecc0b61ea4991f6905144d2e79e35e9d4ae7d11b547be4d4aec724cd10ceacad8021bfd323e53cc0f0165fcd31dab32718fa502507a1cbcc8e528305d353e6955c60222f9cb3a97711ba51d03fc30f140b8ebf49ede64d77c27c17128a84d10d3d94e7f7958599cba49c2fc14eb587f499af698c3544c0ab5556837b7feec72ffc37a06516d96353ffa64513d0130b0117688893301a6e52c04a5b3c616eadc736c5ccfa631ec7e382a3bc7618f66492209bdd9f8e869ab33868341ebed218be52ba444eb1be4600adbdfed0f7fb8e9ca127d9617565c5cfe0438a1b50b2ac3333bd38507abd8b18b71e8b98f34ce0784792b8d3d8fbdc7d5b2b91afd3b74cd45e317c77725e4254cce2d4174dd9749a5a018fce7221ec2353ff639a13d33a003a1763cd220776d8b2bb83061be48b222f42fa7e313e4931dfde8703c5bf6d85ef48a057018bffc05b18a3b70f248ea5979ee35b58f615ae7ec6852113f34a5067c5d7ed86e1b5e87fe2388656e7d3d3835c16a1deb03543dd5d6fe8a0179d50d4999caf57e5004a6706cc1fb92ef84d9385e23e07962f3c56a3536b6110cddb8ce319d91a320593418deeaa9ec3f530f029d19d7275f4207ff6aa285867df1145ecb3ba5ee57223d4c615592f3bce0d7e89d196590050ac4711539be6b5e6426b5034a719fe04305690a44f8c0e729db497ab5644046c42cc8213e6775f66da97c81f3074f8fa5f40934d6d3c6ba510d534f7110e6703924c71665bfe6f5a7992f9faaf59bf53becb7b10e0d143055d71d01f39fc8fe5b0f94b1d7e1817806fa3230c3e3cf15b567492d38556ee4fea4ae65cd4d933aa31ca83d9df06bcded27830867be30cb39912fa55752fdac9b5061de9893b763875015e3698fe03e8ba1029c729178668de18e90ba40c64507b5f1e55cbcef90905587b2f9a38647176af7ef3f2fbb0362fb5137a6d32ae9a0a31a2c6cc2e86453c80b732011363e88314850c00dfacdf8e858e92845ca66333e3366c9d9c02b81572ec453b2d9f2891b9098be8566f77481df4133e725ebb6a125ce7b632b6211a83d1b9d177a12f0de8a1527ad81f67b8a30d914f766924dd6529f77a4aca95bf467e7789a8bc79bc8ce16618696c59e8981878a479e0a944aa61faa6221e28fa37eea794f4e0801a8ef11034031f8c4f65079a67dab98c6e16e85180bc14483f7d1a4a32b6f40f436ab7899f1325ebff317043c4f1c3eab4319b3ae6bd8266a351853044c9e5d28c16977bb1e517b23afd4b76f4dbd412b885213e796c1a45df1800fdfa825b6579d7057606f655ab5f9d19fc7fdff2fc86811efa70bb1d269966cd6697090ff758cf47065fcc853641bdf959c74eb28bb1382fa6e8c8f2c5bc3856c5027970ce3b49fed0d7df97adce611e5ec4a27bd1b2a96cc815a0d5fa98f0dc9635644caf4ba919be44ae76973d1c01a3b6c8abeae1f0c48acb57873651c2bd1ca84ae696e1b49e9a994b6a0924abad9a9a1ee4ef60710c9575efd6e7f18df3198451354e2afeff9a4a59c068f72057649c76da51d3fd16ce60c3500320606d4024bf7f573189e978a954380e563d669f6c12642ffd2bfac7160daa18e314a8716a57b5e7bdea023b15d7e6008b725e0467da4f1aa11f353dad68eb5227402a1b5dc09c97541eb35220b5a7f93e0fe84d9a6c117bb74dc421f46be7ee93323afb01bd506b99abf2d124abcdf2fe79007c7f611bd846949dfa48098094c2a6c766433bd122bbd20963ded8630f8959556cc58ff4fed148717465244e69c0eaffb16b5effdac05264f671b08999b1d5a0f94c7cd87c3844b5f4c03dead2d716241f54a3f1401b7413dfbb58e4fd91af04fd8b7fcdace3c339ac974a8726400d03a82f9f489cf832ba6cf5bc78f0d975bc99bb1c927fd8c567cf1e7427f149a0e4d95b07ed314b53c91f9bf10433abf14ea9fb234ff04f0977f906bf25ac624d09e26a9f371e4f46bf6a5da28ebd00ace44d30f440ef88f098ee3fd7aa38f0683bb87fe28316489f8eeb88bdef97f24291ef90c518dc7d57ab3d9f5e50e0294f4f1656ce7018b1713aac4c3faeac8f4b8dfa5076a513c0569afcd74c0bd4270d157187da6d2569577e907087572f4718ae52c64b7dd9a495946d1aa30a0f4ef3f09bce696fa8f0886277a9d10c1a565eeb288e807f06b07d963523146d84eba5072a47bce201703bce59fff6f0bc4b38794266e909be751b7baf37cb3c983d1322d108e6f0851b959e91f023bbc84c94ca9b03d07c13237ca45db428c4af937e61d333d338cb5ef16f1b28af8498bc092a70acf9a46c9ae68a1d8b9766a1f8f2ae857a48dff756e53f23e46a324ab36ae910275605ad880d90d1af3083405c7698a3d42b6833c69af6d3b09e47262a53f4a253c2866b21356d9c4397caef337a573e78bf255e88bae75b14d3654097caa95cd12bfb9ba3652751351f2daf334809c0ab010089f3fe13ad0d8b2765770b4b48490200ac1b880d7d9497cd7077027d27da120bbbd61c406daa1c94d9ebf2b3a37f7a8e311ed5453646973e5fcc7ae8762572f96e8e55c97ff4b80387f7dcfb7469597644547e1c680d6662012f0a392eac389d9d7a4f375e49155600dd52d2131373f1fd4f4b4af34473b17ec798f18171b0d7af275beddbe9a5d447e28ba4fcb05b3b43e20c3bbf5c0632edf8e495436bd90148d27c4d0b5b82dc4caa9f729d086e88d6ac9bd0667affcd9843a42983e1fab6f7ff60d8479a97e79513ebbfabf940b153d90382875f3c4715d9164aac6b210c8fd96d89d1b82713866470a8d227e7866b8664fb53e6ee4086f930199d1e55bde5c17aa3fd99f2b2fcb1f842595df3bfccc5b76295fb36273f5569341f825a98a529b9b4138fc09cd1fa88d4098e80ce737e6764c5bae6ee3b4d284f1c2b8b93deb7eafc017f31ff78369704263e608e51e0bafbaee5330e0adbda26b3d00e2e5266c564474a0c336123a9ecaccd7245c13d64a8a78336b7b4f31e5cdc444e19863fcaafbf378155ccdee39af8a779707228d6e150719071f11a495b41cbf114e696986a690259ec309b64ccc55f7e89cf026ef6aaafb46332813fad5318d6e157a98fa1f6fb740757e98b9768d60fa9c2045f6dd320aad33e9f56554b1a7b510c7242a7b9c3383ea4d3f319aa92445fe1281afc5beeed40e42b1507e7f6288008810ef348b1048ad3ef3d6e906b8215025208142e0468a01ea6d666efcc4bc50ee52dfd1b67378f9b61accd38380decaf69b0d511718df0294826d5eea3b22e6da9a5e0f428b0399221f578373d6b09069b654a5c55921a4631f342b8d0e791fd997f9a80ed4da68925b0b2b48b6869c88174532cbc84937d505c7a81961a128f804c7f2d75a1b0ca6270dc67704cc4c500c0b290ac0b07c7217c756cd315f2750e68abf9ae70d1d0746418c45e2be8ff184472a800c09c0d196b58dcb92edd490a6d1d2631d0aa6b286d444b0e7a9a7e08cc5d3ef190ec74249a0bd81447cf85c84326dcb454b0f65f08684123d550f260496374163132b138348470f939b8f996bdc981343864275c5e85b3fe7fd5c33e312fd5da23b01aedfa5b2bdeaeaca1a2f3852b7d0dc17b9f2c7732a6c63a3607c0fe9eb9a8f3f5c7b2b558925ad4d42438e0dd48e7569e517f673f8736f17c36c746383e13408f18e17c115621bfcb01512828c54c83cdba344ff61ddb628a9b8c8f62d9b70c9f134a6dee373036ef87d446f4b64df699d3d71f4b562e0bc3c6579cd264d8943dfe90cdaa708a057af9e89cd395d1735bb40778384dc15e456b7e9db86c7212397fb1dfd32b0e6b15242316f05cfe3cfeb8393421cc1955b494660d053976f31e0b4def733ad22c690c565a2c4d87514243b6a4e02724dc8221654599f9ebad61aeffc30bb670561c9638b5fae6693d3d80569565f14e3e6d019e178ef289b12de727edbbf1b1fbaa48acb3dd31d9fe84db638c76e0d1af178c1d98eb5dddb23a99e4f4f57be3a1817041d8767380319e176bb562209e3b95372a34799ed8527906311a961e88d87bad94c063e0a93e7173962a394e29e92abdeee343a2abe70acd04689402056fb1d65213a3ba8e844c0fe3f1ea5b08b92e03f3caf19939a5cd24dffe335af9a831525aeb4ca04712b49b06eaf0b27f9aab727053f25fac6ae4daaaaceeae75dcfcf7a937107dc07a2d011748ac8c308274f9514ac7686f1667268621e14b4051583537603e6c553c5d3fdcff60074b5a1622f9a5875b4fdb291339c08e681d429fb16a77ec31daeb0a3c210e494c7d0da700eca4449989d9a5b589e738566fafd63dae78effb7252d531b8bbbf9340c021e46ce6b0efb8a46b9f983b85698bb2f83ab3e428a95c87fd9f36818cffd088cf4f45446009a8fb89363f9b40bc160b3382c9351272a1366a16dfa9d06e52528cd061a330b3e3cea9c760b2a782f94400e3149cd09c7c31f9c1e479452bff36cf3c8a6e9849bda0992db4947fca7cd88141cef2c5eb656293498d2f92f08af95f7eceaba4fc240a1f9075b9800725d3d15bedbe962329b5ca94422885ef9c2336306e4bbee481b1f89b03042d041b3370c908b69fc05ff8e8fab1069ec2643cfddba56e1fb34784083cdc4fe75e94bc018a1b145b869d17a6d9c26df60cb67478b6712681ab0a06632fd246a0643e9ddf0d4fcc1bf831dc5c292397f45df8eaacaccd282e04a75ca3b1f532fd0597fd6b02cc71a26026ec71cefa6b06a7b0298cfb2d3a6a92c638305fb9f6fc91dc856d6d213456d89a4ae4009db252d37699c250d376111833eeaa745216ac4321405b671a787f3cb48b021c158e0916e9607e1eb8279fc92f3b7011f2869def8ca17c0e31d794fca623eeb0c7ec14acd5248b828f8bbbabefd79dd1055986e1ec32acfc7fbd4ab23dac175ffd75cf768d71f46a3a770f24b1c6636894b444d6e93cbfb33fdc4b5ba6897db28a153b48497740a0da075ac0407816bc09e2c96630a253861f754236ed0a1f9b3ad8e86208c2a3b2855b2c2406c05110031769cde21b321b217e9b4175bd251ef249749759dc2c1fd807204f52ed63f53b1bfa3cacfe40c06599fece3b8014905a4094da311a4634213d197b578cebf3e8a89e21a3219cedf21146e5c459abf2a52a0cfc9eb841e29e51ddf823107da4efcb7860dc166a94e24cb233754d390d419eeb964694f820055b887ab161581c23f0a59d9e93f1de44bf23e9f176850850b2bc1a110ef5b8b3ad9cdda692e1b3e45d3e0415e4f64cde616708ed6c41688acde831a991fab0a5014e87e20d966999614f08bfed82888b6b2959073ad8f1865230d1fb7f612b45b337ef68a6439f24f0eeaf434de341d50402db3d4324532f646e3de5923645df4d95f19c5ad7e8a62fcd17654daaf60d60784303cabd8eb15758743ea2e0f2b7e83cc8c57a9d211d18062801ddb1d7c7ecb5cea02a480f66cf30b66bcd04b73c8da5a98b8ddaeb9c1267194c6c2e53fb6513d903e0e9496ed23cab86a2306c428fb360cfe37a45b539f074306ff7812c745e39ee4e21f5ca17a6d33a834b3cfa4bbfca0afa0fdeb104247ed83ef3a04235979e755c17a1b6e1baff05f7073b04d5e9770bd035934756f3975f841efcc5b03b4139f3449fa4ad971c4640d0e0333cc0306274959fb348fcc6b8de1b0b9c7e526d635a2f08df74be5ac7e4a3da1c6ab49d2f5e5ddc45c4b87e445141bfe48faed606a61101b66813fc2452816353bf16ccf5510b3d9346a1ee1385bc43992fa88b665d2ad5230143f7784ea204202fe233463a2c72b2cfa0d71cafa79a443ea4237c5155636fb8e5005a3f7bb27cfde203fe7294b2f7df4b6b3d0ef0d4887f74557de691a86fbd6e30d69f9efa03c36417f3d67909f79ab6e04f78c11c9ef2ceaa23007790b63c1685ba527419760c5ebb49142a65593109eebbf01ebcfb772dd84fb5a2ec7301ea59c6a2cccb92f64bf1daa05d181417958ada3a186a9d4533d75308c4f4e2393e911de5e8f955bdecdca3996623c50542378876bd6517b76d7459419ade8431b2504cde55216ffc6643157a26a9b4520ec83d45de062bd6f235ed8f547e606c0f111309e8b3225ab3dce3492b1f010bc01d137755f4400fdb889d65401de0422c56bdf00786e0f3a327649cf533b5a581e3052fe90a5fcf504bf78413d8bb08bd21369036ce07b8ce55cb955525a482a2028f35525bd089f73f802d3d7dcdb1b1a55e13bc647bd36ac2b498bb9636c0f76cf15539b9c24afa93996d1723a0e5c625c34ea74a4f716e1d34e14a43ba9ce0344861d51c8b419e58060f9208d24296a99398d31ac67624f989601034800a2c95b6dabfcc3031288d68752af6336461a482f21a3eccdced9eb954c3bb6e85270a5b91d173469ad32ff0ebbe513f1c300ca4692bbe51f3cb836dd84dc831f97a04f316a646d2bf1650ab3857831ae9882fe5db0058d0ea34794d91e3c6e85e7152c53fdbfdfbd5728d1dacec4cbae7418690708107caa8e2433094af971784afa960bd108af7b31730343dbc8bd65f8563989037a57c401e5d98d32fdb5842d37e9686a214a1179afccc2dd26cb176ee55058dd35268114e52b84f783356fa6de15d5dd040ed5289c9b34df57437a1885542a68f66150f08d77a5d0da057653ed044bf6f07b69131cd27da657a3375d5708e68b39844636e513f77f76d0b8b5b6cb0733f28b76955c4e7ac896bb41df938da3fe1b9e4a82e28aa1639b0b19ceb6de2874bad83eacb2f3b27382d2062e86ebb7d0595c5db303f07677c86ff8c0137dccb1dbc20be0d9029707878042a48e2685b441dc2eabe3faab4838c6b0ea386179ed307d875503d600983184ebf669f37c92b9b8c95099cf4a1c55b00c3fd5a108081fefb9c08bc753f0f8951c9d036a05bd042774781e45051fa58168996b836b67b8eb06fb7415b672bef36e7cb53414efddac1452c8e02b7206b09bf3bed4d011ba5f3b6dcedd36898a84cd113f1de2a09133782005ebd3d60c424b9c5c94ff15c1671354910f9ad856f4c1263f67922a004783c3772974403a1da4a610b860b6bac92ba54a08dcb54144c2f79e4bba6e136c908cb7ebbdc968b060231cc6f459c7355f8a041d28550622bd73eefd2682087687c552bc03a33cd44843370fd19037ef4ec659a2b9ac04c527cf8cd0ec1371970d637eb0f170d710b836eccc677586884710f12df408173a0eeb8e8d87bd95388c7cc4117379263ca4af97633fc7036c993c6611098ce748133c60896f81b1cf170aceb8aa582c14447b0eeaffde22a3283e43cb881f140b00b3983991f7476e2ea67a3a9ce92db4d0da3ac5f0c3fbd2b80de767d9ea7b8a7811b6665f7fbe9c9d78c294cbfccf21d01ef8261e15010404d3e261eb23d4f3534089aa1219104acf6afa906cc451ef6a0b7b5d2b2e68ce56e1a8b9319a6907f7621e67241ea3362d7a125401c41c2f3166fd4418a124e4044a6da146c1e9420e4db8a61c73c0e08f51bb7cd7da2d7a47136d1c667b267ccfc3ba5dc5318b48f72a8990b6caa368bddb5620683b98add5297c553837b3f1d184706beb8a8c1a5e6200e2022588898625060427e2ed34f0770a78bf9a959fc3e543fd371eb70cd9ec349ae84ef8c74c306af82c4acc920fb45311b2cbf7ef47561bd57b6ff14ec8f46da1e5b4b2cb6fda573dd4eedcc7bcbc0873f57b69150e2e61db903e7cfd98080ce51274a4818df3aa041c63b55f74bf7166f5fa61abd4ad8103745f0a9a1d0367107afad8a7268ce49421f563ac864e859c06ce9c1df4f91ce934ed249ad156806df7c065644890bfdba81d1c0a916748227ce086721026ba67a2b41108a5882dbacab12baef80b1f73dad241aa3a506c086de06fa5c3707abe785b8949c2d18940f6bb89f5af31d9ac5f67a604b22a13dc26a5fdd56c36d54a27da68bd839578b054b713b285e6064f6cbaf4a33765a0e9fd66cb61f611c7b4fff741b190e3911dce44c6799a06bb1c2fcb47694759e49fbbe72d594ed6118e4c74d947fd4bc49028c5bf971ac827cc2fdc0efa8b18e6de3e033745721804d40ce688a3d669c1366c1855dc8fd35732f5a794cbac3d03b87473317dbd191933aacec540b20a6aba133aef26e1a80fa8f897bad473dde18c8030f1eb0b22b22c2bcfcf672567f4bc6d5ef8278ee13edfe8e607c2a50a1b5b5d7a1a012713f3d4bdf43d54221e48ebb245330fcc5d7087a93c644b93bbde39e3cc227d4fbaf4635ad05c2181766fab1f5e3b31c634c55242ab1c19094433f7851b099bf39b65649520a9bc88bca70b4aa20d9e2f39f46450ca9acb99183850a7936f24f38c7a30b8cb1b30b46ef58df9316efea6c5796ca2689d9601be6d7a29f017a2e7ffec336a9b73b37c7201ff58a389bc251bbbf333aed50587d01040bbd9c3156b99b16fe914d5830bf0ddfca2e54bca8535305eb99d9750ddb8254d2b62f097cb1e623a9bd43d4c6b3b10a8c45c68a250e4770214df6f66df881688ba87b29ed7c228626c90db195964779da49a35ef3cd244ea6757d5620fa726b46af0cc86ba4a6267b3bc924da1a41fa411ac5e044896139453c3e6270533544bb7eab284eb27b97fe3b7c61e23488d19e9fceefd52ebab027db03284b849b18e61ba895f48594ec5cac2d9ccafa009760847daf475e7bb2a5e1f97592669b067306d442f11891c19c7eabc6c809e1c9ddaa4c01b9105b246281771fafd5f08cda333cb8b5d1fe343b12e9a172e308e0460daf1946aea3ff649d954e1fb309bc2f69dab2f7cd4e9ccaec1bbbe186da81863077551d16335fa878568142031b551728d616781ed3d6dc823754cbade30a3363c3ba88d57a5041305569a0782c10fd5d6fdf1ccaec898a151b35bf467743a1dac2bc37be91b9702144de90331b950eb46693f4e4d8b89aa1d8c687d914a3c47148953514a203c2c718a8559e9d61a93cbafd454379b6e745de474746c5b6d09b3c827c4142db15594182844e0b1a53c0d9a20d77978084166cd79a395d90eb81d139608c259261d4a811ecb9297077b621912a8d0ca1e4b5478824e38ea708872d5a5c950985fe03cd812e871b7e232cc24d4724885a80dda162f9a1bc819bd76eab4b6f170f79ddc227ac7952ccafe865986bc4f3649605556cafdf926972c4f651a63d4f80fe92c0d41f325b61ee3fe0428ff864ee6240c93a25fa4b355c92b83faab105d85e4b376eeac9875d249d38d91479c0adf0d7175d7e26f49ef040bd29f66698fea069243b8ec947ad00298d5480be1d4489b5800c5133e226ac1591570b590c7487299f29a88f76f3b12124b03c3c9f09763226893588b38879805a2ab4d793e12c0c013941ff0ad831265d98a61f2385ad4ad22b37a2e82690ce4b5fa61d559d0f8da77e92e08b3b7b50b9da004e40107e67df1033be33078dc02cfcf3a66543a5562fc8b216a43e94b27d6fb1bc26f4313490e095ec1fea8726aa102861c34ce674b51a426261e32f8a6af7b7e53efacfdfc17c8e6c14d59d4c3218923a58fc0e0c1a52526ba339d3725a8d5c59007cd604cbc94343f432472f6fd12ffbbc2a8369c81c574057f9b57f82dcb698e05e2110c8d5ade900f0c46d0252dab260b55c4731303d5de09589ed8ef539106e62199ee2f103579598a0a3fba0cca3d28f949da28babca711ee47df85be11c888c1f55040cfe4631fe3bb5ed5ca4bee6c65b713ae92b9451dc87c650d82765b39af98909095860210b33386000a181d87c582705e4d747a818348460f8a72e16e0bcb8dc969b1d24dd700511db3ac4c8560f65d082e896d070e8c99609e072c265fa178e9b9bd110425fe1932920dad6649f5da8b7af379ca7271de628a3b25b8e12f5b465447a16f1b49d6e902ad8a5c46e360f2def2370bd093a5515a02d2828a844c8cd80806a97cfc040b239e7fc72e85439c479065b4233adef87dbfc156d1b067a361a8daad1adcc6d0bf41bb6d2162baf36cbb4f207c5002c8b45723bf8e5fc1e69d27dd3bb30fc3405b37134a043025624b139732880c7ea539d8ae8ea8686708080b27a335e610d33867a87b661a94d0392c7a21e4c16ceae79bfb7e8943114f12dd092f01bc6421e43b8a90b8613c725b971e98f48ac3e4d44864d194f809666dd15260c584b838b7ffe9248f9f30b6295ea31744457da9df5068a18f8fc05784881148ab04f966a45806569d7422865ce626df66c5f8cff804e78cb39d3f9fcb602ee8f89f7b474b8ed75a77a4b8bbb071b560d6199d81addfb9cdb50a305b008ef599051dc2e8d9bd81f1d0d4cca8323c1206665d5ddac675f8dd96b8a8c5559dcbc1905b538d0c7391dc38ff183d16b05711f92c2aa2a7d89401650eb07ca754b14c9a6b862007e6537feafd3ac99d6827c6f7af5f9c7f2c7ffa254587837caf8f8070550b222527fac5d3f8336f2aa659fca960e61d9fb9a007af87d657ce5365fc64cb22b773cbecbdba3d7f988a44b813109ce9da89eab8ee2905b0494d31e807242cd1370320391b39cc74a30c144da9e738b299b1f47eb09e4f2ffe72a93d0501e15787747a9998144733ac6fc2c18ec14ae3755c777ed1f7720ed75b25e9a9d6d685cad792715ec35a3d52bc6381cceabba3e185de96fd4c9d2a2a74785c5d3cde1aab33a6587f0701286b8f97bc6dd5bfe72cadc9ae94a42e10f6187c0bc20472b449467f0afb8dc16811d09bb0d7161bd00f860e1be32908ca672a9e9403c8c39e62c72a21227ffd6e2cf586f5e86498cf9bf3e38a985f1f265a69692fb97df15a184b0ce32e5691b953387da9790f4446c8158865d3936272d76932a64204c55f41d26c9368d387470470553cb3ea3c82e3021ef5cb17119402bd189e61e87526344b0699ca933a319b470b214da620b55f087f07a991330528461595f9c693e965124f7a8c9ec9f788bb6a5b0de7908e6b3894d694b81bc6fcea2cb865ef3f6b5fbc7c52f01224a65754efae9948fbf2e311083d4468d4148f78ce790dc82778ed5353c3460f9de11483eb8c4cdb2166e919d2d78badf1367be4d42d3f3373fee470ca241f698a40459984fe3eb8e53e36a21b62ed9369b5665ebe529d392a7adc3b1aaa6824ee902f77f757e0cf23ed010f90ca7fc2d722a6efaca6e2b97960c7e06932bb4caef7ced828400e5f22912400d639bf86f4ff91f0379c71fbd62c37bb4c793602e230581622fd88a369ecff33445ddcef9fbbab6ba179373d392919d787177c38c58ea45d2c695a4cbb370b6ef9d2219c806e0bc50a18bf44b0fcc446936bdb2df07dfaace7bf8abbb26d0df9b188773b9fae505247acd624fac7561c12abb119b9bd7c146b398efa5c792208def7eccc667c3130dad65fef5040f20ab438b89641d085949842779a1a37704695a948c5afaa2cc5b540ed2b5ac53710849c4e479cceb4d99cfb14915c03a3e75a6920ee605b15f1087338ad10d6aec1a1db850b1209f629d6ac496f3b571e3bc637e691700cf4ffa0d16e3dbdadaaa70b8cb34b2bedefdaaa06154c08d42e8cb5f18f0358a788c64c391ca090105c2dc3322ce39aef8f57fe0c558825a60a5e5dc1244ca6181562e3ff4b8f1051b33a58560ccc8ecc89c90b412156e553b5e3a4a32767040a990881fa2c8dc3cb53a73c11f17eeb2c06ed2ca4770dffb9b98356d09ac9d2c28875b5269e2ea888ff6186056d0617184423858501b2c0337db3cf6165d914ea1ed744484b8ad0658b3cae46001bbe295d103dac7dad9648e1f2730e7a213f8976f1580bf7b207196a2527535009105a298b733370e1db8f62796014f62ea098ca2b126161ef4873473baea0d29230e78921abd4c800f81e88762f353e4e007a4db8369d395f455ee146fd6ac811e86d6d848e6a16f82655fabfa8d109feb5155ea02c43e765a12db9f77b859dacb91daee896f9dc994ab51fd0a9bc82880a0cf067588efa0547ea9997fe2e57de13f9952e2ceb26f484198db064dfe0b6b8ecf4181b89d15d8587278af34272c641bc2dc4409250f7ef009152d46951701473005f69f217e17e35dc30f3f5f1ab3cf6ee889e815166a7a0b7284beefd52cf417f5e8afad11ed3bdc46cccc3cbb3273cbd115616bcb5d0a28256e202f436397392f5114973afcad3b33ba7fef1873c77f5245f9294b2d18be2605e98609ad2cf85c302319204181ee8e111428a7c860a519b39c9c8f7b204c288fa25becca98b7db642fc74b57fb64e94ed7377c6501a0c0190f4bc8df6430cbf8124a1c523155992f2717ad0e53c48a14183c682a196a31f18940d1b5482f86fc0d1e188955eb6d84c76bae50ad6f50f98b7a6227e4fe8c047a8396565ebddf479a0cd501baf542c25ae7ea11c7445800658ee6ac9cd7125b5061782e19f7fe35b6c0d4230c738ce38c97c9ddf03fc81abc4928bfdfc438b4bb7c8a0013213ffa1bf5077c970d8377d6c565381cf384aab79c784b200d0d0e48fa52ae57482709ff7a5bf300489cc17d07e7ec73f7951e72807a5c112c9c2155ddc486d9e219a4b9e8ecfb7f38385c37191d920826e7af9271ea817265c595152d761d9df083b461835b27406058b9aa07c24867c5c23a24f6ea25d8c3493e601572b3f83a2285f2efe10e31f59b56305d9d025de7e48d15595ab102d69e39015511253b9891a7b9e3c29999e675ec2c744b7c4932acc314ca881edfa8492b44ed5c0644ee7751c3db8fad40cc8a67ab21aa25e411d1ef56d6c6a68b347eb33c0566b64d3a9139aa6ffbb7330902add056ae632ad50db4ccf259b501115ed086cc993d2ff4bf52803917d34d26f9be56168c537f3cc60c41284c5f08f4c42351f1eb7e171eede485e16f5390e38de54ef9fc9633ffda821551fee4f48d5188d22531f3be90b242c33aa19d775b2669021c26d83de13cee42c5124fe3471fde7aea023ce732ffc9550f447637fedd90846a0600e5213a218aec8b9675b272b154c08eb3fb8935c7994559382b020bea383ce23b1622ccf646df07b6387ba83be3b38ccb0efc7a77394409e2544d4c93de08087817a780fd683ca479b4ce1a4c8cc1cfd3d65448a896b064cb637125c91a86f410775de1c5435a494ac17a754e6022d7a2e91ca10681d46967a9d48045cce48884247a30b938d71c2fd1e99313c76cec5caceae107e1053db1dc2cc0e0ec49082e1c455c21c63b3531366763acf10183ddb14f706d7b638eb36adede1df9ac08d0990676f11ac31c5af4c4c47f12f4ccc294385c605abeb598ef2321cd9d33add5209d7d820b269e9fe961d19d9c16c10214daac91325d8f0617ae6c96653bfdd751c9908491989db0c4aeb3d0fd24e1e4cdca6814afbd9993da522599b2aebe9f858ec0934daef349a1cdf4df3819cd44105fb03666cde136709cb8e2fe66179d85da25cda633df89d894ec7b841c67ab575592d296d846e68a9c20fab4c309566f488406624e4a616da53c5e4e4b44663bd036d31fb49637bbd88941f1d466ba611882e5131be3fad3d01d25068e9f6e4e9df804efeefd2da0808ad292d3afa4056a4e7c0e95f86f42d4404215080e680fd5361ca20791b2161d63ff1807150da3ca50fefce7e5f36df817ab483a3f159cea9df102108367894c80e2cfe5362f01b9fd9a5cf7a3ee9065db44068be01d4d8de95227c9f84b38d4eef4383c4198bdc4023b018fe685a7127065b3ceb913d9c13f55bb8a2887012e656f869fecb39d21f4988e72baffdc600265426534791b5788095211568ea5b9817bdbe0ddd8d0b3807b39637fbf36abcb08336257fa959fca9f4baa361e9dce39edb8262fbbb28c181824491510a7d305aa17ecea2ad72d1761c1a0bae5817bc03fdcfe329d394b7ffb65b76a0a9ac16e5b2a5ed98477e59e2e35e31b6c751b087e9a2e30f64387bc6d992ec43c79fadb3baa01724ab70a706a344696478b6376e11c90d3dec32a058fbba56ea5d61f20e07b0d7fcc335ae63f2187a690be42a2dea6fa3671698ead86af05027e627d75ace88981a941faddfee0e9a4b83d74f3569b492e8beb6b140e95126f7ed8c06630d4cbcce97b63b4c1cf3c65faf402779dd41103f6552afc6f1b3b40cb0631d6ad3bbb95e63c9f526e8c57d222adfa164ed7c571f64ecb7e75cf1fad8aa0346b395282bc86bd6990023ac02856c494eedd6ae9d1c5227501976ae3d92ee082063fa9d5902667f6be1a5447157ea846226a8da0c4a7f71ada22b8f0fdf58f1f32ad7c07c4bfcfd7bba607dd90c507fe1f1716776caa368d0d0d526e12638c4ac8a8dfed193c92a46b18bc57e17e971e8c4de74eee42c8325b7b7593d09794c79e3af2cd20acc6504c7a5808d9f503b2f79d7b7ab6689658151dce3cfdfc437f7ccef7df78f559ae53c48eeed0741e30456a08c9095a1d5f1e1808ff94e763cd816a3e8066c513a074d41bf7d29e48573e58d1d2d0c6e75fccfef5b9f59ee1af56edac6563ea28297a4b0fc6ecc4e780cb7286b3295503e068c11eb63a091defc1ac48e0fef3ee72a886abc895ea629b3bf12699951cdf315bbcae303e45714389a17e88b697b696837e3ccb5a427fcdd81b27df4b58d6fb7d33750dbbff8d971c35a26934ee5930c144b4e103f66b9480a41bc0ff4e7011dc28a2700d6b72414278512fd3925b7e0ea3461f5f02875004c9d58a09378c24d6d1350098c109534c8c332c6e151082dbd8a0cb941ecdc7abdab0c899745b82809f5b3d107bacca40bab50277ba8c674592647874f93d4ac71b22d213a753b9407059a68ee1a57649bdf833ec394aa7945ffaf4510bb38fb48d9941f4c64f21fcab5b02ce04aa12ad813586424c325459e16e70ac236fefbbca788e04fd5cec253199b104f1c0b2061fd1501b97ebf853fb830e0332ab2dd84ce6f350b056628697e47434befcd25e16f65b79ce0f38e727716c3add7b6161952d6a79cfde5a013d08504f2894354353c00dc6cfd0067ff83e3de32edb3aa842d18628d9096f8328d569d08c07d97fd1be5a8fd55645168e08c63af18f7d9f3d3d21c4745874e10b4acbc174d70bc1ddbfcd4821362fdd0496a0f497fb538dd61ffa9ddb4f09d29fe0ca532a6b0cffa95b6059335db3a939a4188e417315f8bae18117eb04fd01e1dd2aacc8db444ff0d1b3f5479af5462429e992cb120c4909267d964635c09860159e8e4d44128a3543bde6410fce7cbb2ed9aa000f9ad65cf5121b5a60d71b367e6931e60ec52069f48baaace7429fe096e6498e70ec60b908673ae901ee48c06a07b3325f1b04fbf461ad57a4638302b1bcc2ed7514111cf81ac52802965d0b18a182a8e5ecdfa6e8e4022afc8f5c7e8613b8d5dbd0731eabcd83d330731c916676a8814300483ac227f1174b45932131080be1c7e92052e679b459dad1a3505a264679b509b64cec12bffd14ce2793f4770ee735e406a5df838177357a1f8cdfaf6c8fa481c17fe266185e1fb4e7ffd72fcd3a0efb7a8bbe2251fb8dd53d4ad28388c3e2ca1b971547acd5519359744dba80ee86f81230f430ae7fe6481f72912e82296d6873af4bac2802540e77cb5bdcc814924246f4ae945ed387177784a1d3bc161ca7c33db5a323797c3e96f19ba0b72001035f3fa55a078d991d989c56441e92f01edcebec6df9ab2c401029e995da456d217e890017d8d6320a46bd0b6acdc7c14b7120574bb6a46ae0612b1b14edbe245239879039ecfba225cbc10cda8b4bb58fcfb8a44d44c395251d901c95b42901589a3df9bdfd0a9883ae8a693905ab59fce1ac230b6301e1cb66938d90539434847b5a7befd528263839855f0409dd133063b5e763ccb05cdcd309514f7e0070d9337c2901f7574d091b24054db9adb6d00dc0ec24d2c140bc2a14338810f3e5b2e7576ee9109c1890e034fbc02fe985ee19d12df4f74ff57c8d040b5f7eee5de36e63d29f3e866c2998cd8e66dbc81c6160e83c6f15869c5d3982ec368acee43b456c44a2a5d33f0947ec21b464822937669c4820b30bd99ab7e696948d7c3b5e7f9be727e5c2fae928b4fc35acc26aabbe52845fbd4ba03199dab6e9759541328bf42d5caa5949e1e50fb3af405bf0c9c9e46c0566182a9229dc62094de54c3fc857e890b1b79d4c947d8b901c0d4ac0288c541b9158c5efe7e6acd12ba9cb8b91ac7ad714fb1f0cd83963eef35672ee403f22897afb62364b92ea4931b9b04240600d6ea615b4e094b4ae704a9b7a57762dcfc0a081e7dcbf2b7264d826e1b4ec8ee9338f7c519be215ec73f07cb34e43168753ad8e4e84399acfc7993335af2a9c6da2def0771089d146282ae2815bbc06b811a5a2296937089580947dd358297ca27c2f7600bd1b7d39f29a61d4f4a02366f83389414fb74a7f192c8752ddbc1975e6accc26a8d0d28e6ede14793a933cbce248cd13349a70bd88deea909e1b2c146da217b8a7045beba60bdf7f4332f55e8365830ea532cd2e94d9d6146b42c0a6e36f8dde6fb2cc5ef6712d16d8fa7fcf5b1f38c32c92c277f8d278f06933fdcf9d37b98c1e5674acb4af5c0b9ab78fef9e3d1ffeae5dac29b6faee50b991d18bbdb7767f96239545fa6a5cdcc9156b6f7e04853db219b46b38ef9a4575a4bb604a6145f57654a83ffabb520bc25d94d0a23983d5120d3248dde04415d5d5a60505010f1b3a546d0f0d42b9266e3e4ecc7d5c22a6988d140d39bc702f1258770f2cc466d08fc62195f67323bd538c32e3df1c65174a03b85c2bce6e0ed0e82ef784c2f0f89cfceb4558c0469b7eefbe8f43f8da6af712ae78c7406d3bd9b3ffe03d4954ae18b3bfcf55a4b37d4b9daa30b1c9acf0575b7b1ff6312c7986b13f9407e70d15d68485b0706e7d983311b20dadfda179d7f326008c8dae45c2b8737d28ed46be497fdc01680dce068d4cab3866a459d04184d640e560f3e3969249026713ae66f88e8313a0360301bc79313e0ddbd47a93c5e1c617052d7f18d9ae5e285be39482bf09b1a636656b92667f66a2d29a05b8e17b07d62b6bfdf67d5ef7dc3a414512580d54cf30c61cfd29e441fbebe94846654d437d960979dd7467137805a3cdbb3b95f3c009bb2a3272b115f74dc669b5f79725dc886e9fa22fb53bb41c11bc941e4ae48ce8e73f3f5871300c535001f7e30586b0ba34fe75379b74a15c150feccd029aa0c0e7be171480beedbaff700489dcea13f4b22cc071196f8ff476e5b669f260c7fc7a1cf50c1be7a38eb7e6453b1a2d1f6083cb424cb112dc37e3e71763b0484a8aeeb3982dd9edeca79998d19e6d6d448ab5703ee6b64261be5628b13b239188be085b7c101813e4b5677bd615cb4d0059ec4c9c384a3ea90c0d9500f18c1e11c97ad56d81879f04edc567ed5d2a0eb790de8ed0d778e07e17ce8583dfc9b9bce048adc0f2eb8f0b70fc2f4f30db68ae0183dceb819078755de0d147f71f5387ee83df7f269d9ebbd9bfae20044f384793b6a97a40156254da2bba727b50dd85e3979766d3e56d1b875750b09ebb02e7339728d76a484cbe22f4f5656ce4fb0d6a3514e37457d21360c11d683dc4726e19899450ff1c80a47bb935de8ca74eeb47f4ff6d883e008dc7803bd556ffae3cc16a6928295cbb4cb89044e9d6a4e44b251ea3429f3c998b6172acfabe59d1994fc8a843c970d30d2757636b4cc0309addd31986e76bba0862bf82c5173b39e7d18f017bd97cf94c93c715e00ef19133de505933d0c512299c1475db91bf9a8c85f6283b24d786e76bfe524e1c10dfbf2a1361e0503a9ddcdb1450805e0c9b5e3aaee852c5950b29428fbd6efa411e4290df0f9cb157e4644a96c1a7df9c726bf408f6faaa48772ece6d2d5cf2f5625d01ae49f54993f9e9a80fe21921add893f9b61b48686c33b2655d31667aad6fbc1f8a955adc1a7a67bb3e7aa68e18ae1042806614580ded98e5192a9030bca2e0c6f0b148db695deacbfa6583e2281564642e77b417715886c44e4ff54729cae5e6f9020f5aa4497a54ef304821e5c34617f874a9e8640bceee067acf70e85f39cccbd2e8db9079b6d66d01a037a022e6c6b35baa3e51171e27c71e7b5adbee0d8abc36751fe2b2b6f3d86fa49296bca8312b554b7e9e2f9075801bc272ae0e9144958320e41da38fbb330a4fdfe305395e01f2054fffd436ec7d75a38bc4589f54dd4f0a8af827de13bd45bbf1f9e58452b7228c4445d63d0a3aa397e3109b84633c68bbd4410033e8cdb576e92a02ca8f7e1e8a20bbe34da2b650376f7fa8a96978d715c9f3470742b04684c3e53cadfbe7bfa0f09144326a643c076eaa11fd9eefee5742506e4ae4528514d896f60b5a6edccf1c0d5bd5c8442780ce5a4f3cc8ebd415237f43926bcf6d4f145d5fc7cbd6541533bfa0674edf88f7229c6ccc699c52db8619acdf5b7b908e17c82bfb257a26da3703f1074a71dc14bd57a0ea7df84cc876633634dc787de3139207465c48301298f82b2227dcc0d20206b2f3a61e9cf4f22595c5490f36718d7d5243ff762b0b06da35d3a323ed4b694d88446c9eccbce73606c4a457ace230bdc10476050d97f71a9c98728c18deeefd2dfb1afacc096ca7cf9f7a5275ea8a9aa6b217fe3a482807cce2f9e3c18083be960eeb3ba996123dbc7bb028755d058534c249bdea07a059ddc16cfc66c781e61a59128bea4f1fdb4881cb3a24457f772554f4e2d5a63ae1750341847157bb5fa15e1f8b2b76c3907b0ec3fe9474d642803d35c22a419888484e56741e96ce2909688445ca803bfcb48a556121e9ec26a422625d42b1c02e6fc54b0a3a68646df80fe7a30d58b3320fbe8823dcf6ccf321d3f9633db2b1383e4586561c867ab7d54e8b54c30cb3dc48f17b9d3818542bd9a23f98824f4b3322c3ad2ad309b2e3b83ab4ec3be6f148335e5148e15c07d3fcd2309c1b42ed1fe3f5f93dcbecaad671b8db03037ad9142b5b55332691c54f88515f061a66737320073d8a7c986474cef609503d38945a313084f4bbcb6f0979f90fd5fc6dcedd8ce35f9006f3dc8fbc8735d801e31eef1b46fd0c88bdbae35c675099b381722b5868feb4b223a17f6fc3f8b640980f12fca71ac6f6f7e30ae7f7e1cd3f6e6216b5db5d1316115149254ef610cc7b741458e061696e146402c100e4af92370f9b4d0a9adcf30fa129567a01de666fbb3c15d06dcaced7f40ec83449624d707b75dcc1f513aaf51e53c9464b1dc4b456099869de7dcc144c6b35a6048c6e61b6ff6348ec09ef5286b390ff512d5ef1bf051100a648b64d4501adbe6c92dc155c3032a5b559c0f645b8fc802f3cc2ea5f47fd65ad178dc700cfb6f0cf0716354660dc100a8c27c26a84b5d5219e118d4c7a1fa379afb979778f52cb7ec968652164a23ec44ee6a1b19bfd4425ce06604fa8fee55859393a1dfcdd851d5b17e7c9dab014c8ae92ab21a604e18c8ca247e4401a8f65008a04cd0ccddcd40df87a2f117264577e8580e3556d0e80c45a559c86c12784b4618e901d350c26e24f507013a3071858fd0fd0c89d406d35c05614bfa829aba861263e207161d30c845d1c0bff68ceaadc9b9db8984d3c708a3b5fa0633beb4b098fed97d27424121e2d28d3956295322e81d96b5c4306e732f204b6b541e7e1aea56283b888bb0996faaeeb731e4186089cae53827782542872e1be7f7e3abc83fa4c3ce7b9a57e581d87a556fcc2722bd11f297467d8f2fb83d8ad9ded11f73afdccf5b679d7ce004638ae44d09942c2e2879b5caf5cc4c535ddfe2c5b9bf984fb18d7939cd323e082cf4870e6eed7e18510e66f00d12273c60d6d9660e2f5873609b4a061b08fd7eb028cded81af94958fa4ae00a859dbc720436ad192452b0234385cdb545df5aeb97b6b9df5cfcf00c97cdb36df1b600b9543a60fcc8d72c6e14e4aec2c63fabc1d8bced1e65784e378e032f2ff728d1b69806b7179ad0973eb71f66bae5d0a1667c4939490879be63195620750a24390d31d439a7d605a80422eaa9c9d23124215a42561697b8a6931f79fd019bc4e37023e471d98bed9fb0c566902edb7c53811e2cb153d61e0e065eec034eee15c1a9131536fc3b2236ac9c4b8f0a32a8f8275a46df4c332cdcc7cb4eaadcbd3fb827a1c1d57d37145afd50d7cdb2ab8d70c4c0c74a1bbf0d93a19541ed9f65ec87004ab14e675c3f0347904cef6f605d4fcb4ca3b654c465d1e83d2fae87fa5e2e8bfa7375e44701efc0fb76a2c68f49c3213569d12d5ee6996df1146a9ae2db6b2e63d1ceb82ba022cee520302bf61b19016f28ee3b7378493b37db365e17800a6bf57d2e52441ef91039393a8b3efbd77956ef28e242d1bc1c5edad7f2649beeb3d2d51b80d970f59226be33a1d7c62cac4a2363b35c3bf1cbb854c33cbb00e007f0f456a0928591fb63920ad31514afac20f124b45075b7a76eeb418ea3c0d5e998914d3132f8603f3e1eac3e32a2c3303f318dca1ae17d7b804643d407203f4b107937887b3eb1f97d044db6fb7364cc4ec0aa65fc0fefc5fc3e13e7be6492c46abf925834f8a0152d20b7d2e458ca7539a9b17dfc63d5e7d4ea3282b07df8357486a9002ecbc6198aa26afabb29aa884fb7dc9d8e548a182ce9e108416f1d9a8926337288de896e52f4505d4f0dc536704a264270e587cb9b6a23a2a46d157b9cae2b0920c6e39a3f27b590eaff38bf2452a62d278409862624383a445600a61efa3f20cfd47516b3ae3cb28ddb2316e652b082555d9fadaffc86bd0f76ea12ac5c482319ca26bfc05732107489ba4480c1e79be1cd74365d28c3e9e8749896ee9c745dce5b139ee8ae27393008347970a7952522f233401f4854f68236e3ea31c90818980f6a468d2532cba0898e0a2ec40bcfa2b50e3082068857d3a1f044f0749ee609a14c1ad9745070a54fd6f4069a30ab28f061890c87ff628564bbfc6ed74289a365f16c17140118618a2e4657f2bd3a4c1aaec57f7f64614edeb24248a8b927bf4d51e242c49bf9f74ba9b3aaa79d759d3bf98e36d36b01dee02673c1f031f3ec9b7aa3fc2f0e012c660a285d27bcd79c0f5de81d84a6d4d0377d0ec0cbc480d530159a4a061a1d51df83e1171cef2b853464689cf4adf53e9097f1bf7b19ebab5f975f7f6715358b3e9a7514c193697bcfea441e74435b3efc0492d9b93f90e49fba0f0988268924ea0f8baa889d0df22690cfd42ffe3fc4eec646af4b5484172369739ca50f82de10edcfda4147e99aaf0386189c7c0cf9ff5c040f3f28e4aa7688b08a680b784154018a7154a0278bb4046075fd088b43974c528c00a1093c447e3b03f60ff2fdd3cdd2d9b5deeb02d0b95bd6098c82d34d629a540fcd8164dec0f10856dfcf30e556e04dea553ad6a3d639cc7cbc715a68dd4dda1cd87b03fd6a04d9872c6d30f93fdaad3b8a45d0804b4214ac2ed71af9ffab33dcdb0bb07f0f74d333f4e378c54cff7796e86873fb6fc61ad8e328d3f06dc305f2577b93ab8f6f8b3d7169732660735ab71721f8bdc8f5aa050b452936793bf77dc40c34da05cd858cd58f1cd992502ddb5d01c8a02ace0061ce80ecbb13f420d8efd81de79fd71b4ed67ea982cc233ab4f597d22e2c884ac48af2986d455b487f5e254380c62920c85deb4e6cfd995a8d04b57bf75e660bf35777ac16636d77dffe5038a4ee0f9058bf9206da3516e5edbd4230b606d9a9e0ec68bf9bc362df077484d0056125ce2f30f25b08eb520682dc7700cd27de2081b17839df00a4f0eba783e16466116ccbf559b7cdb9fd97f56ee9d7d34322672c1123aa150187b761b906b1197b03947c36d80a8c3ef00d427e87eb13c2e66b7d065190f5eed33828bf1017ce8b32cdfe2256f3672aa6aa7d81420ac1ce85f7065feec2bfab5cd7d352422bf4c6792e0ad05896d2fee58c4d5c2976bf613fce765ab5b30995c4fc40709332b3bc00a89a41f38486faf85413dad9281a01c604749804102289f594fe8a56d4230c94e185f18af4f5bb75ffca0b9a403fddb440d8f73baa5efbb3cd134864ec8451af2cabcd557fe55fdf11096e92c610e54d50cbdf971119fbc45948f4894d75d73aa3f6c4429184a8b524f94fc4475da6e4d9db876ea323ed4d37c695ddee1165dfe802b597c1d8c9aa667739b87edfa932f64d39c85195d5ffc8f39356067e0ed4609b98d4b6d217ed6fccf319d34917355886cbd70b6f0b83f7a7c6fb37c6600bf2f133e52d72f2b9605cde18f124be371e1bc46d3411cb27defaa8a73ce84d28bda97e02d2c0e4d0df2626f8a8e378325cc6a0d082beb8ba564debd9b6e878dac312c020e689cd9b85c70c5d7e8cbcfef18f89a3276a2670f35410c405d0e2fd93d758cce1606ed8be1ab022a24a41bb551216450606f73159a40e7d5086340856f5049ad4ec65a166cd683d005f221cefd71c976b6a7ced3debb2c57731934e6676538b1da4bc47effce2426df7aa81374210bd28af52e054a96557c6f8b533d27697e92706f7319d7623a4b19f28eb2a83b2756f733ccfea9952626e208cb7b6b85bb6f9e004706a8e0ba0d30f53d0012fa7ef0525baa59bfdfa59f279b95eea4c4145832c129f38a1291139b1143d6bae20cd0e350d725595a39b2fd80ae76e96b2a7c353ecee3df0ae003a4a7339ad7d599a396fb57524499d4eadcd1fb84f752bf5e911d3bc90a9598e3b7646d14c14ad67c1a042d3453682963206ba7de992633b7f566eb5c7556101e9e29f3784a82baef9bd063766635816940f3bac745f26fe3ae4aff62ecdd24577a847dc6a51dd00e2360f95345603013c366389075ea88b388d3e8807e0d162810132893a0946b3d2821b9e46f2ffcf04c2f63ed983013b36767b8bf6a4a97182f4d832126a17dda9c25cbc776f3e12db8f8be87db0be45992dcda520872d7ae82f31afc8181a8c7b82bab6194fa69ab560140a99dd51e2590734735ccd23b683ab7dfec64f169b8bb5908096cdce699a7bb421895701b9a1abd6c98e96b6a6ecc87e69466dd142b35aab009f5a5bfcfb315cdd03185327969089740d4e043954f0ee8d424afbecf861199367f66076e728e56f680c13925be8e1a271eb05fbc9995437fee9d2762429b2c0ca763932746dfe256ed2e90bdc67132df3a8c131784308a03e167eefe41c21ff387396aefd989080e944388634d9e037d572bc4ca1c83168dfb39e042f36761a2bd57b41c58d60b2706e659070f8b1bea8ff88c704dde1fb5d78c52ce2c3ada32bd4f061e1fdd409a80c7372aa9cdd24c595830cc3a2b3151bdfaa383d49f0e1f0be5c13fef133da18136ce97b4b7f12197073dc06165b4fc0b8d0f4e33c4284f1e5f0e32806b1cb4e67f220495da46786700c9e7fb9351dbbd3253f6dfdcf1c96613ea8bc1237236d7874080da802d16d9b48175273ff2ecaeabde80a44ece89d6c3c5251f98ab60d538779af6918fe167a1cb1a0f0350530c9273c7800285233a40f3ec1be075a8eae711039ec189dc6f1b6d3862695d9e081f11eaa07f3dc548f8a81c982d652a4e065a0776d55b53eb12c530799f803e5025986f7dfe153c1eb280e12042a33b4dd25e5220c7870503f6551a7d51b98b5f0fa442a3862aaf5d11abb7546ae3b7f02ca4d39f02706023764e22755a278cb31223b136e680de39bad42979d76b904df7d61ae8d1c59c26b0b88b6b5410e13e0e21394aa31336d473c516037c9d10022c111102f3f97d8dae88f5ed97deb240d318e941e876122eb376a224a3f998e4e9b92fa0ee03382d10e84259f7a91db9c05056d42100d136162a6b4fb8ec2c8a3507a4c6ea311de76714260b14162d005e0ae1528af6c4212fcc339eed821d9838b50ec2febf7d8420a98ffd75bc427d3e9c4a031541d7fa3eab2c6be9fdd086bd8ac5d5d8a8267e2c7ca02fc2796f55f3dd833334d9ceef4a9190853b28a9228f13d02473d81354482bcd007c52b05a90ea7b0e094207361b34f2146cbdf597c61ffc8b97460d62e6ff566e9b7ccee8aa9c0ac30f02ad2e86cb3be0d9d53616f9b0c4ef4bfe1edee9a5765ea8ed166b31565beae9854d953968881ebf5db55a35e80082e0b4d19b8c616f052d4a5dd88ca3218e669593c17c2c4993126f6b3043b87a240639ad47079eabb2e1e74d181d2cbdf9139d4935add7951d4ac5e0fa66478cc3e400b4a571bb6d556cae7ff703852690ec7a3fbf4f845c71c4b4649b06185fdbe644a37d23dce809bf5cfbbe2fcb02ceacd9fab05f4ad6506395eb03031f723c94126cb6b56bf7e4560bf3ceb1083464eef26fe2453dc2a54434ece6abcfd53c3b6c46fe8c93d16c281f63189a2208e0438f971679f6bee1a7584ae09b16c430e0ed4f17edcae02d77d6de07293773c466e6aac4578613560e2fb58e1a0d454da8fe7b52279b7abf8dee8770946b31879611aa917b8456ab26c3c06c1e28203e8b338b1b47a193bcd9674480f177972ea9fefc2115e18cd23b9c1667f5ae34e4e715534afc0cd93c1594ce2e27cb3cde0640ea88ee1f7daa72e546fedc6bc3aaacf3e92562a960f266c982c0aff40182fe751e3317a342d45b182ffa7368897f977ea3ed94fd090248275682a9f1f5987c1b31477443887e9f38f5106073edabf1ea0c912044d3b381eafb603c3df231304bd6cd2df255498bcf6a8e66e31ba4f115acbe6ee2a99390b9afa766cae332c5152e8de1ff7208a5744bccf6c19723ac41b41b3ab947ba6c6df9cfa835974be317d8ca47ad58c7bd45127117e7f959ef49bf02ce00fc1143a6936b1853609c9af2e9e2050d91d15515d74d42f79d0798a890dc8435f77a4a4fa11945ada850430d0572067967fc7e4ae61fb3cbc936d24ce5b805a11ecbdd56e890b95eaedeea87050bcb89c53abbf5bf3873730824bdfb5249b4e27182b0bc95a7ba1af397dbd88340636df4a0c0f09c5a2cf965c0ed6eaa4194f3a3f68883ec85fb47c633a42014bd0e4846555abaebbbbd6d372008dc9539cba8880b9cb50ff0f5f4d19051c9b16d3958fc69d471abec49bf0d5aed0fc79798b3388daabecc4cc033138a7d35efbfcb33c5dd6ffa27c189812c97b983238ef8f9aebb3f924d1053a1f27f916b6cffc0954914beb1433ede391d405e7e87a6addc9688589e2dddc7d2a4bd186980785ea7f3967fed601dc6a2d03d8b28ba62519ff3ea92a5ed4c51ebcda1903c0db2e295be2f22c96a3893b8a7c6a41cfe63287a116eaf306d57d02581fa31352fe575d4de44f30f76373704d64d8694e7d654fac2fc1ea41fc76751565003c3356b1a7051e8bd3c20749e6c2ba088e8dff41fa5cad3aefb9bf793a8136c79de1067b2b8840ec669ded8b4c02aa4283920702965dba923e3f8c7fbaf8ff5d34e3a03e8ddf8397dedda8abcabadebd4e4dabaf77c137af4967527e566e22fda22bebc7b0e96ec34c7162f481a93a53b82c1d6dfb43b91462f2682a18194e6dc2335d4e4263a7325556fc7d63fd02ab82c5bfcf10febe6cd7d9505af798f6bb44926721e89113984a935964f14a0c9f4ab18f6a3d42db1b14b1534ce4af13c17aba64ea053ff8a879f84e17e18460c80b152833129179cdc6a8c2903287b0ce0339e64a5eb333022be31811a685bd5ba0f7d2e03ac181b2b9182673e8c10bedc96a4ddeb199db18d461a8c838cce28a79523b08be207b53c9baca067189cb6184a6d25c3312fe3ee7b9228c00e4d65715328df9147d744a1cb58ad55cc71ab303174ad41edebe641bd72273ba6b8f9d447951897ee85209a52fc0ca5561022b2ab5cfbf8945a1370a958df021306434031efec5c00f2810d09a0c07ffffffffff9fcfbc31b1669d68e4a79452a2b23adf9a9da49432c984ae6a0cff4ccce6fa10530fcd0fd586af9d659e454b0e328082378a10841d90704edaa97e5a18bdff119ec5a4c9f7644ab2418ed04349315b8b4d977d23aedeabbfb698612bcf08e4377cece45f49d345243fb399aeef95da5611a5fe74f1cbee338552225691d1fead3c95be10116a68eeff8a21379f0e91fa189dc362e510b118c2ce96e5e5f459565988f25ed2a9a7ee46688a105c76b713b3b93ac6b091c9448719760ce2decf97b46e73ce710ba28ca32a85af5afdfc05225577f1d2d23643be8028a7bbb2ddb29452f60f5c5d0e93a9c62f8c4ac964c28223429415086fecf0c3211a54bc6811f52a2a994ce01002c4481139d88b90381c0d8357bf0110dab0411b47e4c0c16452c4975044e378efc10e2dece883b157c42d53e5bb1701a10d1bfc984ca8b0830f6e5c8dc72a951a76eca1dcdf3d52ce3a67adb861871ed2db9ae13525b1c9b3c38e3ca0f12d86119fd4a9bcf4b0030f58cd55aaf8d79bbf7307e5fbdd3758859a261317ecb043f7d696d3ee070d17eb60ea3e53fb65fde9b23776d001d3de22d365ce8af3e5a08d19fcd051861d73e8a2f6ca06cd659af792c964c891c9c48d203be4b087ea5afb35197438c50175c93486b01d596986831ad478f7c5ec1e3c6f48e9ca4a5aa38f87ce0d68349d648cdaa0eab53664e9ca429abec833930dc7fd2b11bb71ed94b80654ebf3477acf851d6ad0af5318596f3179bd63d891062d6f5b505a448dda981876a0e1aaf05f9e646fdc9cd3c28e33f4c1bdad93c8d212da2cec3003f29454133ae48dd2d98e32b0f9a396bfe6d9d7ee20c3d92c89266f51b3f1768ce10a9a93783db5e13abb430c5dbcddbd060db51e0d036229f8c5ff554f718161cd59a3743a2542eee70bc813fa4573a538df646204089309dae105c4b5a36fc79c7284dc0547c90ba3d9273c68bb821d5ce03c555853d9f47eb73bb66029f9f227e46baa8b7768a1efe0a92c759f1add4b261317780fc941eec8421a4b77a92473e7ec50c964423299dc80052dd0c10d64d0831d5828e4c8d3baace4293f3bae70d43b0bb69e63bff33bac508db26293c73a37b3774b269323e8a0466ab764eac8a0372a5632998c41c734501fdbb3086d614d09cde0c77b0f5a5062444b5cd0c60cdaf081340a234ece653307b17a3416ad67b966b22332a8c4e880c67e3968671d1d42d535e4c86492021dcf7046f9f34d55ba473896011414810a3a9a81bfce5c5a7b7f284107338cad6c71f7130f9af5c126742ce3f3f56e4dbac2879351466561745becb45f11964c26242443e0207129e848066fa9f2d636787dfa944c262453d0818cce6356dca064a9fd14eb3886fa9a47c8dc64162f37469d7392e356abb3f142f2868e629c2183ebe9e8b3df5bc964e246d36032f9c00e741023d9319f95f99fda9c320cc33a7ae6768451e9307d26d6a14dfb6024aeda3646f5f9ac1d189e9876f96b8c4bf25f58b2e4e70d252ad4c917e9bf8e1653c3f7b5eec532a65bc482e9539117a9b0b22963f2d8daf12e529939d769a1356c5dd8f2b53976968450ca45f3a9bf3cc5a02be6141756dec7ecda20bee45b703ab8e78655caf2a62d5266a33a5a4be5b96b61281deaa36f1c953d448b33478bb2cbe0dfb1338bb437468d1edd717b230b7feeb24c7796f3fc62e17bde1c3d5b9a910b2c5231ee9fe99909d5ec1596baf5ca49091dad54c9645272048813e6701b4c2641d4ddd0e10a847b3e352e16b42a573299241dad305bce84aa9615dbec40072baccaa6d94b8a764fe192c924073a5671069535944aaa2d5755c2021daad08310efa9cd94e7325361891651de9f42b5d525ad408abc71a40d03822474a0c2b5525a9a2944c61c3e45ca2e678ab8f6df2e7911398c0c09c25188c26442e225ac4c440e123778d0c60d7e0c41872956f14b95dd33dda6308538809418314113a2108519e828c59f52f67cdae8295e3a4851e95e696c769339b551a0845453daa2bf6a30b9f106eb10c5574ae9f4282773d55de2453cc8ea1b4ed0222bd0118a6a47940a150b6e29e90d0fe80085ff7b2faa37b5ed08954c266ec840c727b84c427ca9a4638813f2c4193e84ff7cfab79819828e4ee09a37f4fc08f7beed989bc164f26332d936820e4eec1effe7e486cf580719f2247314393299b83199c4a00d1afc20a238f81144c7264c522dc665d29b3933704307237468a21c9b729890e6199e2a994cdcf8818e4c3c4265a9fcee12aa3f1fb40184366cf08388e28088c63199241d98f0e6737bdc91315dcd2593891b33f811031bb431031d5ed07189a2071dbd427d896654042d68830521301284481c4080a0c312a65fb9788990417cb812d5a719cf0cd264c4e7c7127450c2ec183a2fbacb724b2593c90b3403de4372f063754c62fdffd16c2af3897c4a261387021023a843126ea8709b3d329bd0a697b0bac08114792388f2901b4c266db4e1c61c6e8312233a83367eb4e00538984cb6497ec0a0050ea4c81b9389102025ac71901031b263153a2251d4f30d67d91dd32d4820a2a2c724734c6e4269093a1e71a7574d52fc5e94ea38418723bc9149871dad6022c446143a6550fa42a68a3331c2fb785731717579de459836dbfe58e6dd4a9020409610051d8a30ce8fbcc6bb6861eb111d89607cdf742815ba499e4610716cb99862349890153fc45b992d7ce94c79a4c9108507212ca86fe7da888e425c2aeec8bfb5a64f0e1d845093fc18bda9fea284259349111d833897b77e0e66b136f392c904880e4168db5a49caa89476203e1574e794d4fae5fd2593491c3a0091e5f73599db926dd290217fd892d2493c55f6ed75f8213f1327daf265e914964c2670e8e8837ad2cb634a5a3b7e0e071ff630b283e611ed7d57c96472c48db48e3d9cd2c44eae728e6d5d3299b47a1123434a2613d7a107943859b96da7d6bf0a628484c890225c840593090b99c388e9c80317d3f3e90b96ad4a5d329908f12024ec4de00909090b74e0218f1a348b6cb6fbe8dfe1b8a1d3feb8bd68cadac1fabc6936059935dba90ee9eea07595429e6e4687f4e96473ba2bfcd29e83d5fd9e4c7b554c428090a040871c2e119b53e9f04ab9521ceea45478a7d7a0ba7474c0c1d8df996b653669cdea78836f9bdf15a6dd549a75b8a1b7e4999a3c9f09cbeac0828e3624da1f9f1e6671272d19f242261312922ae860836a9531e6747a54503125438e0869e38d38861489013b111f4c263f746841c71a12eae9f6db5289cbaf1a9cfbd461ed1bf4c78f063ad2e065376d4a2dc8885cd180b4ce27762a8caebbe8380323db3e654e4f496aec860e335cf7d9f92e79f0942165175372b594c42537e1400719aa38297ab1537bea53c96482e7043ac66029b7a025be63a5cb7e30990c29e250103244480e7488e1128fcd29c63815944e47184cb7ca7b95a253c6070c99d8a06769f1d7c22d994c9ce0422693225ee4880f26132144908e2fa0f34a28bb18437ed21f91c388e9f0c2613cc74a1754384b571c24423cc8644232871b4778a30839d0d1053457079dd3de6f5ebb021d5c28a6d8b1bdc3eb542a053ab6d0c9779d4f31e7debd053ab460f2349afd2bfd699b85b80a7464c1dc59cf7add974da808c90b7460a1757739951d4fcd1f0b745cc1feba14a3a84f65d9fd713aace029b1e59f764586534b2613121354c1586ad4db7f83cee12a2131026432492a9454774c6a9d9467a5944c2693490bd122704c26132042e498429f727d4c947cfd784c0ac70ba2c74fede8ead844e1bda0aa6ac64d9c2a110abfac87cd14938e33a632477dbfd1cfb6f5d4aa6bc1137cd5beaef5adbd0a2a994c0a09091c72acb713ce2a66a254cee9317bc964d246135261a3c27d0aa6b70be4f837a811392a748c0a964c2646269322e508eaf3a90bbbf5e129694453e3f9c56483d86016d152596cf4ec22a3cf4c40d96d946fefead176890988a47eb17e2a7e38b197130ce1ef2f2993f9a39df4944c2641b4081cae442693388a0c898111c29b8e49eba9274da53339488ec4f12488e3d3b3d0eda8dea1352593091e3948dc4811256241f45c7756174f5ec84ec964428325a043a794fe3bc6f85af12044e4782395e0e6b598ad93ea4aa92c994c26131f4c809ca9aa62c964a78fab6432692739256b05a1d6d94de5cd5116b4ee603231e2033852fbbd9fc48e5e5758c404dff9e69f49fd38ca9258f0026f345d86c7ce166159f559754607953106f70b71725f4fd885cd78b72593098991b3eea612daac4e2593499b26d44586b86d8f59644a9270fcd494d62fdf7ec64a26131190e8b994c59ea90b531312eae015dd2f933a1f9f481c40727084b4685ba8ac59d4a8df0868ea31b590ed2fe97de0c715212f193e46849885e5cca141881801c24084e80e80fce80111f87d15f7b11d4f9e5282219cc36273b4d7b71ca32610c2b1ab74e389a99d8fcd2008889c395d1f4f26418238c30008855141e8af2cd34b42259349032171630e212c984ce610a26ffcb01fd8a3c5742c65baad5b329970e08d52edfc9f980eca82ee8a0c7c80cc4e2143ee566bc7dd7842d3e087c321447b3099fca8410f9ed327ec83ced4d862c964e2861b6e24397e14f1233470c164d20e84c8109e4c8c4c2645fc08900f0ce1812927d5ef3e4dd96b2a1942327116a2032131984c2613234486e40ebefc377a3958b63a9992c9e40890271972844407586cceb9a06fa3772c59c5400ef658c9e3e37590b1527060568dfe973ef37599259389096e80e6f0a453129af11e2e810d0ecaee3c2f9e5669ab7b08d640edd039bbbcacc5f4904383f566c3bc26517749dd3dc4ccc0cf41aead77f53c8c8c0c109a362fc9b0cc2a9a92c9240891388090b417d19212035fbc2ee67eab947d2218782ada2793b4d3d85cc9bd006db16d3b6e92e6a11f12c79022448e0b0a97545a10735265e692c984c89022dd460bd2977d3f47c9f566564232e4880958d08738513a5a925d722d994c5cc890204cc2255841c1f22dfc8f0e8bfe29994c5a3099940af4f8ad9a6385cf90b992c9c48dc904076e782273beb296756f2c71c3a100c4881c199063fd054188c401e4c76412871c42689002936c76115772394f543299b811c7902231984c3403458e18f981821ffaa854e6614dfc5b08481022465880823caf7556868a4c1a9d98a3a6343a23e79f1f3772399d4bd349f1fc7b964c488e147141d24c4f95ccc9945228954c2624288e214348e0284242c2c6e17418213c69a6335529994c8e1449814963ac5513694a05a52b994c4810d1191b91292d47bd5332999472cc39deeda6fd3c72c290227098e06acf29ecc93eb9599b92c9a4c8112366d96da86ef70865e19249a925f488cedff3cd9692c984a48528c9909e4c7270824ee445c3db0819362a994c4a8cc84184a4c89027994cdc60411b4ed01e4c2693c90a4c5066fb788f4f9b29fd92c9a4889630c964e2c66472248e9f4cbc48068290812372c4f1811f2828019b1accfbad4fe59e4a261337921c1ff8412204c86452e408916a23b5b1d4dd59c2acf292c9a4880b214197cec2de6379bf962593899176374272c4e1984cdc984c48269312235aa23f8c8c80c4881c4548482620827692636e042100010824f08109786009ac1b24c890117460021cb8c00624a0810c1809490830b0810b50c00215a8c00628f047e4988091780949052480c7021178c210271cb900048eb907583a232171402109026409d5001030e08e0c19b280562f120205b49100384080003332820394014450802345f4080808701c18809178400017c7102629e24d20b1251c7344d88d20364842b0c61c24241cf041f2048d03033de0181284040e2140e0806348100904208e0bf02832e4885660470674180909c99127f8060000026a5ce00cb8d0e171a890005ce00cc12804fc300284881640c71f080080527cc2192c00c0052c50010a4c40021180c00318b000052400010730400108300001b0b1868f1e01e0b1030000004035a8310d6944031acf70463398b163193b94918c61002001c914004840ae20063cbc400000948213c660010070510d1d1a400300000080397410b985318ac871448d90045123454c60247525938991250c1952f2841e6128d446991cf7eca8dd1187e388cba08d377e0409a22e90a30718aa1e8d7bb99452fff6f8c2a316ee5a53ce4c394b2613375cd0c30bc7d4a961574ef4e774c964e2460e7a7481bdac64a9b12c09dd10411b78e46823c9d14692230435e8c1057469b64ae172f55f5ed0630bf776c5c6cab62ad9ff70410f2d184ffe64c6667f7fbc643261824f266e3001063b984c88c4c13de89105d38eb8ef24172eba59e286101d4c26587033ad590eaa74e7d54bdc70214382b8e047107a5c21ed298f28799e62ce5be28611223dac50ced332a563da6e95aab1bba5e8d4ce1953261337e28883063b0c11006a9cbf92e714a1299f38a751bad49674949ace2a9286a34708213fc7aa92462311a5644ef972b05c1d68f0596e57fdc5ca545542e244e67843072402f08ccd4f968eff755e9677c619264608f3bc26a66946623d58c5cae596c94a2693262ca10d47048019fc76d769eadbe8222fc3eacb989ba7b2a6b9cae0e2b667b84bf76849259349139640f2ea4148dc70030836d801880024e393b73974275542ae4786dbf3a5625cd8e0ee314e9d1ffee4faecaec678ee54566a77d037b918edc929f9e2495b679418a9f96cd14a2edbe2c36837490b5a6d37b78884819b9e598a5a6d416b6e14d1810e59042018aa77dd55fc0f4fe2054639ed6cad75bc39e1f945366af3dbc267551d8ef60e802fd022def399780f1f3dbd30ff37cdcbe53fcb175e3076b95a3709491202b08b365d94a8a8a8c153902eeeceea39ba677c6e3017e9be9ca14e49d1a05fc964528400e0e29cdf63fca8ab9115be85b1eaedc172baca70da025d4aac46537379572c994c82a81f3142b2842072ec64428400d4229913f625e73ad4f5b438c3b76f8ebd95c32767e156901b9aded2a53092c55bc974a65c3016093d4af6d3528a911d2ceeb9ea7c199da6597b05224f565ccc1cfff31500577c4adcecdf3e4bd9df8a82acd262fd2656143ca3dfe5f89d6ebe1a0460158ee6287a452837a1b72af257d9ab5c9e5a29a78200a4a20ef2848e152ff6370815da99d8b5358ba72fe714689d59691062f2ab0980295a2b7d2bff0afed90f11528ae24ec744958a67f949d1c785cc6b1a467cfca3c8e329b71dfda4f5be283c33f91e4663ac74f9505c9e6ddc5ca3676d0f8af2e6cd9a1ffb4fa44b68eaef9a8d277b82ab14b3a5cf9b7258bd13469b8b0ddd973e4ace894305cdd4982eb33cbe895e3f8faa7c224eacad89d4e6d4be7752b5823a135bd614cbe42f452c8d0993cacb186f3d7367f812858d6c78ddb5edc796a834dc2799725c3bc695785ee43d89ca52e2e86be56b97f783bc93485dea8e5a5ec964bc922829b7fcd15324d299ee4f9a126739b8903089c5111677c4dab68f48c52e31cdf898d2b58ec07c73cc13d1f652d246985dfa4d7f061721a38ce09305d752a73e62d445941fff839e4a99f24a45f81ee46d3e69b277272237b1583d37626b4644f9f47db9df7b279974886388ade5af17d9563244ab5bae1a77d2a2950ae1d6a8389a735e4f3d22c4417b74fb54b2625cd020ecacf32744c3dfa705718c07b16b15cb83f4048253d5213ba9ec7bc903887bf3980a324c08d5ce1f3cb96cb2cb94e87cfa0199aa829bdc59519d3ef49656ce7f4fb563f860784b4f6773399cb8873745cf274b5f8f92193db0d92d5ec15b332f930766c47f5e4b97392e8307b5ff453b25d9efff0e5fae941f9ff931ef7668dd35daa55393b9621d102a7e8db8b0bf6d413a202e67ff1e37a1630ae7706bcca49d62b0155b0e669607db0fe331b371c874c814f4964cfa4f389cce64e54dc3b99cde90a7d8d3393d051d93dcc048b1204e7e4a1b923596ea2e3b6cb61436a8a63eb337db2b5f59034a4f8cd029766a78b4894f1f3e8985cda4c11f1bcfdf349d16a281158f7fd9e35ae87567e8c28fd7055b11e79ba1b01421b4c62fa97b19d2554b8b3b15be6632e0627699ce3e8436c760784a32d2aa2dd6c5c4a0f5a7ceae1783571a0635f7b989542f7d2730a4454f5eae509d23f4853cc7fba05499b0ddbcb05fba34953a9950ab5810802eb4f69b9bb2650c4ac5e420005ce02a5e9689dd7449ac006c41bbaf77dd53bdf27a0e02a085e4526b4e65e70e0290054e3ec7349ff262063d1690bd4aeab43cab853500574847cfdbf9fb5faaf10058c1b851c3c6199da17654028f6af0a0069ac37acef13ed463900b3ca6816b77964da65bf366b5c0431aa5afab152f4be92503038f689c748d6a668e79810734ee0c29e26385bcf2bf07409e71e8f4d772f9e839e98c72320fd99ff56367d90c63b84a3a084d79162fccf85684ceff2a2beaf632dcec183cd65b36cf9832f2cd532ad588f7ff39199e6a8f68e9547ae19b2123cf724a67d2f1b9d58ee1b5a707cfb678279731306937eae3997e86ae230c3c8aa196fe1badfca6c0831868f3a8bdd559948efa9122ba0329f018461ac67f35e6566b50a1c043189ddbd5866bdfb9597804a3dbd0c1657450162be90c185b66f60cd3497e98119e5ff4b31b3a9e8cad13310f5ff431da464dc850f1d4bd484ee6f4df2046545ef83908e9ea7731cfff121ebb5893ec9cd638e256c4ba282cbe528eb558a6198f5c7cf1a26b5a5b9eda120f5ce0623a6a2e1547a3656e5084c72d6c2fbd5bc2de33dd6b8b2d6ff4a442465966bc16c7283253c75073175c5a20eb3ffa67be9c61d659202d7454478f655d12101eb240459687052d9d945b62d158b6ca1aa3ec25b96091055326d45d8addcdc3a08d377e2881c72b8cebfbc12aae4a7f8c2b5229ea85b0f9b8af5b61dbabdfd6a8b71c3b2bcacd9f428ce69fc67b15575b288d297d5451e7764e1dafe38db052b10699e4d247cfed4fa2e2549bb2f8e9cc291a71a644f65af80bb729f85429d767b074a1ac2bf028c5f9ebfa9386ce1b84851468880d157332c8b1f8283eaf91f1830c4bcbb32856cf6d5ffa4ee9653b14d9acc9b0a06d362b088aee52104aad74f48efe13a9b441f3a60bea7966137878229953e6c7a8c657cae9c4da179b41f87dca4be1447ddd637659eff4a6796ce23dd3df1dff96498d7868e25fd5109d940cfa544280949038148018a101137864e2f89964f575f67c4734f0c0c4393a4e8c10c2a2fd454717785ca2246e5e5445ffd4d7f0b08431ae59ca76e272cfe4510973f6edd113ed79df5222fdd3e39949597bb02661dc112563e8dd943d4f263fdee02109643d5cab8ff294c21989b2e7543542b587fe0812e6bdd23b56da47a4c4e78c7ecd39220b4ac466d1d9ab6dd3883ab7f7a8d3ce292bb8041e8ce035c6aab4203348ef94c0631106912b62ee52d2192a45acd184d63442c8d6cc1271b2287751336b9ebe4a9c08098908782002959289d2169f207f781cc20a15aa3de59718f34b9087214a1bdf9cffa071fa09b20ac7901b4c2670241e85b0f2e4081516b639ff0e071c436e4064480e261338860441010f4298b1de2ae8a0ea3142405e6084c72090d7d131fb06793209f9a08d3774a88187200ef739576edd147c351e8128e84cbaeac5653d3c3c0071894dd52cd7ffc19cff4bf77dde0f6748f3d2ec97a2bef721995f3245ed20d3aacb87f36db47ca6f3de84740fc6059319b94b2ef2d403da319bab5f97870ee581ab11a72e66784c5283877dddcdb27354a5775094bcfdec296bce3cda0159b9d4478dda524da983c12c73051d7aad2fc7830e8cb7c7a45c4e6eb20a8f39a47250e127cfed944cf39003afdbdb1a163c2ec33ce2e06bff6da5da18bf661e7028ebddafc7a0f2fcba6f4088e64b659721734d6e3879ea3db3601b35cd6db83a46ed8e49a9891179b0010dde279fef53a4c6d6a06b5d1e758b1b3248d5907c0d42ae9d290d67b2e075397e184bcf1a78a001d95d32a658759ed8d1c0e30c75f41434988ca9144233987be35b5cdd5c95fb32a89a76427d589ec9bf0c3cc8f07ee77ff9944c9898c670cbe58a754a251359938187184cd2343f633693be888174814718168dd51cd968a1830c1d7880614b66dadcd29bb6a573e0f1057c374775b434ae5ae0c0c30b89cc19ff5ebe2d422ff0e842f94a8be70f57fdf9d561051e5c40054b4a647d342193a784c7162c397a25a25f997ff2d042a51b7afdaec3d97ecb230b085da3378de78ebb292593491039e2f83199fc10020f2c7c414498b04da9e2bf92c944083f5cc0e30aca66954e9d4989c53c0f2ba0634ec13daeda7b6e7d075ad8518db28e8eae29a82bdd1e354eeef1ab5e53cea331d348c6f7cb95d5514e85d278e33c78fb8bf020e227ec8886e23a9fd3a7db3e8fe7d8018d64b2d3ca5f9f337b29851dcf2856b8eaf01c6d2eea377638c39864e64f5e6a19aa7dc28e66e83fa23b568d0e5665490b9851d8f40c21f33695084b269365786731caf77247f58d081902c4880f7628c3cb932235a764e9b64f0697c6c233e43eee7d9071c65ef7bfb35172d63150f14a99f42f714fba310a3a8d10ff516d0f6bc9645264880b761403a5b235d72da678b8ec2046d28485e89cf1defc338c2b2b67b6d367962fc50a3b84a1ede8182d69bdbe6b86bc101a4c614730bacbf68e973698caab110de2022aec0046c14b6a92aaa196e13287ee408e1dbf503587918d22f6333637ecf0456da53a44b6298d5e22c38e5e78c2ba4f89b68e10f7c71176f002a1b75fe136a35527954c266e1c93e3033b76e1f9a9ff0ada7145565d18d3c9d34b49978c4aca051e3de88718b5bbdce082d37257ea6ce327fbe1d8718b4d3e09f522ba16b4c1821f93c90e5bf8e1d7d7db9ee3a53b861db5b063a5bca97ed56e4603de410bc7d46f6cd9b0e71d9a859d4b5fa36e557c13cbe25cb513b619f5c3b9b1485e367429a5bb82786171fc92e2e5155c7e46af30573d079d6b99274c14ec7045caae534c51f25250622bb88ef14f59d2a7d468841dac4066ac182ab886d06aafa2ab93bd23d49695e554d1e8cb958b3987cc3e15c54ca5a325a247db921da8e874bd9612f2831ee10e392284063b10b2e314a51fad3983aca4bd692732c71b72ec3045d12de52a5c7d4e664e648e37e638528a2c2c54f27c16429edc0c3b48e1c50bed19649acad107c38e51701e84121fa1319988900c395264c80e861c114283c9e4471c3b44c1cec5bd2c7963314403420f54b023149e98b578a95baaba5fd8010a4399b6bc7bf9e7ce9761c7270ca126be2ee9f60e9a23bc51841f33d8e18974d82cea3bd5cba48ad684c9240e2df23aceb0a313465d8b39ed777a7c4d083b3881fdba6d2c719ee3d99b6846c67cd39b7b1f6b891b44861479c10c7668021de35da798bbe454ec200e2406463a8803792eecc8841a3745d9b8713f07cf1c4774806107264ed9faadd429ebc8fa1255a92c966ca38cbccf7b0f98b0c312bc98d8fad8a05b75f44125f8986b7e23e7a39b8e093b28d1754ac1dcf2d8089d9163c724caa4b7494f4f665cce093b2491e6f294e1f746c8de25938991c96432a1c18e4804c732bfd469339d4e81d76eb6121e3645e761b64405994a772d8539ebb5fe75d620459ba5749b4eca354651957af3d36c8a62cfb74cf316b6264c25a160f369b39cc287901a04859d592f2fc6f6e7790ea4c81b9f6036c99cf64fe9eaed9ed8748cfaa03f686aa8bcb14627ce6ddd61cbc4dcc2e6845b19e715bddb44849bf0d4954c61c496c630976842152dcb4a95725b2d1bac91896366cdd33565193181c66c3278e69690592f91f8dfcc41c5ac9dd121458e18b981f7901c58222de59e54ceb4358f3d01c857a20df2a92d9e7673ef9440d7348906fdeaf12a2593c9648d4918e22ebbc7bdd0fc6389119d41ae21895a53e7bd478b792d8a84f39d720a1552acd484c49f2f9efba6dff1109218acf1887e538fe7a8ceb9521d71c80d4a270fbf2f7308101218acd108aee35a16edcba5af65c4264b26b3774d090bd65844a9f94b66be738b62c2c11a8a48a58bce31dc5e52ef27021d3a8e4835dd3967056b20c2d29571d4063d5ad743f8b93233e70639a1d33758c310c9b0b370c1b467df5f0853c7314d2a5acaddf9600d423cb3317cbe99ba98ee4128efc9e543bdccdc5c22884c6f7744c4e5ddba81e8cee4a9afdf365f01d1c74d9e4388cde2e3f983ab5ee94f09ebf49b49c11a7e30b5a7b210ba53bea5fb80e6fc309acd2aab7c3e54d12fc6121be48c2cbd608d3d182a2ab74ee57ce356c964a28235f480593a215779a692bae4a153da556396cd1b3d8887edd36ec9ef98192ee60e5afa4ae97ea266736307bf8256ca4b711d122ae866d0169e262f1aac4187f6a4995e13525f362f3284c48500092204881b6bcc81f31326a3c9bb63d26eb0861c50a625e2846a9321f60d70b0461c6c31a55e5398e1a0c730e3576a36b769df50a8584a9fb4d014f711c21a6ef8eb45cee48f951a710fd668837b692c2779d2b3c8566bb0c1789b1543e48fd8656bac01ada1061cac91065694e71aa13bea688635d060eadb2bb91f7dc63528ac718654b210e99e37989c5c523d240773ac6186424b984eada9b5e796c18ddde61db4c5060d610d321884306931b3f8e7b1da702045de60c31a63b8b4b75e7b29863e996dd8d154fa2dae1186832a7b2b0b1dfd2f024325df9d7b94ff05f45c76aa153dba7a9ec11a5ea8429f3ef939aa65ccdfe0c7113970d082173890226facd1854b572c5adeeee98a0842f0a3d6e00232f3cee2c75e630be7b6bc95d52c344ba405e37699e536bdb1329705edf4d3f35a070b0975524756e6de24b439d6b8c29782cca94d1bfdf5af610535466c760795b7955723594175d0399b295fa286e14b67da3049a6a16db5e6584107b7bf34c187344cfb1563d5fc92c9a40d50f88806e6b3152dd779893f41031b0df9a4a39c697ef87846298e768b2f17d563e90c4d8d5a29ad2576ba6906a684fe512a087d4ac98ccd64db08192b167c2ce30a551933e6947f421641f5a08de2411bb583364a076d540eda281cb4513768a36c10822044e20052c4850801a2e30c3e9491ce5143d66a906ad94fc63f96bddd7d8490d127f840469b316baaa516838f63f4675523327eba69d418875119f456be2044c330f828865736662b1664f08b12a3d43121c45ce963189d4c9a4197fbc6bbda021fc278bdb2edaa5a0ef934186d9c173117d56459b2073e8061cc6e9c7a6a763bbb6432d9818f5ff059a623b75664cae1f085e9d1cb65bb74cc4b29994c4886b40e7cf4029d62aeab1532667d4b2613234472e08317e8d57133715be721310264178ea9547327630c1b779221ad8be247edfcd2f8514a4bd02336f0910b7cd3ee0677cf29e7858bd45c2b98dc17f5de228d631accae35fc8c2593c90f7cd80259a64a8ed09c92c984848328bfe1a316daffc946fb6e9b4986f46442031fb4b83589b1cfae4df26255f0318b3dc7d2517217ef52a6820f5928325845533aa24ae5c4c0472c8ad194f94cbc42a95732991081810f58bcaf7ae6299a462d53c96422878f57b8c174c8969cca0810220ac4872b724b8dd594a72135c60f3e5a814c5a4c8a8d8abde996830f56b49a725229dfa83dad4a26933cf858851d945dc5069973e2974c2693c90d7ca8a2b81c74d261f3092bb90c7ca4e2a855dd392d6890be954c264570e0061fa848eae6cf3676318454a9e0e314a868429b856dfefc3a98c18fc9040a3e4c91891d557796948bc74bf1c99cf45456a4c81c268541657ed89fc764f949c1c728fcd518f359af77d28c287c84c27c71ccd337077d1c438ab811c790223198a3c81b4cf0018a63c928328a5b9dacefe3138cc93221a392d8383e147c7802397d2bf6219e7dde121850c147278eb1416e3853fbc1c309475d8cbdb52989b43e0e3e36810a1964cc9a1fb90c6ba2f51215b5825f89acdce02313ddae9a89e98f3b3a63c28d4d694a9bc773dbf6e0e312ed7dab5a4cda31cf85071f96387384dc9a5c7759cc4725d26e2fdf31cd71d1f0e08312950cf23bb9a5fafd90b31c7c4cc2986210f5ee9863ab07840f4978f665173b6ece4b6c081f91c0e27b5af58ea95f3924aa6049bcccf62719b44794465de793d098e3363fc8e0c311696b0f72fe2a2cfbf2633209e2a311ce28354f6ac3b4c9d2056d08c10723ccca8a5ea6bea7c2b3084ce34a649e4f7239c78722568f594778ba54d9968f44942fb6dc6d527d3fd36412c407223a3fe1233c062594d64b261337e610e2e3105e7a4b772ac60aeb393fe4f061084f5cad3cc7eeb0db0b9176b852c9ac3f838a0971fcca60e22fd6a8f4200e6f397a6edff2a72b08f4dce59369bb272f2710e6ff18a6db83c88500c18d8a39c894f6563af88753a8dfc814a2e65e3f5cba63888b1ee37cfa50de7211e26ebf36c5f880ae35bdf7a449b7bc07b35452cd78a24646f590d6aeaddc7e1429ca83714da7d6bd6f0e5f1921810f3ca4d7a15f355d109a5f22731c112207890721120710232443840c114242449d6064053eeeb0cf77cae19aa3e95339e2c30e7eda8f05913158b987888f3a5426556d4ff7a6af24213ee870c5944d6d7605efa0f13187be8376d11cfb306af990431b63339ef4c64893fb8843b597e497a9d8a04b3ee0905effaf245641d59cdec0e6fc6d91d97543b949870b13a736bc15ea3d87e9f01f76e3830d76cecf9a521ef9584349cbfaa81832458ba564327183881609820f35ec99b4753367cd93499606f6d3f97c3ca5b229e90d7ca0a11444ace74dadbbc7818f3360d13d43ea8f708fde0f8e0f331872c3a77c97553fbcc847198e49d6db6c6d77cb4d06e399780fd2bfa34f32479123e8630ca5ef14a3fea9ad1cad89e16c696faa6b1b27ee818f3034a6c453552d4893e1c007183a95c17573a60b22b22f24f3bce2c6e41d56d492c924053ebca0a7ace83c8b2db24525418290f8e8c29e3c47357e787e31954c26417c7041d5aadfa04c5363fa031f5ba84b9312f3d9b44a6582e0430beaa5cfdfa37663ce8d36e2e0230b9665115e1d2dc60a1d1f58e893e6c7906b99b66a1f57603ca910df5929dbaf5ef06185bf632ea1e379faa4451d56e8510d3d64ccbce0351e2bea418d2aad89c6bcde344e49a78eae755e36560f6914f3c1332ec7c5c6d8231a881595b311d18d1b87865e1d537c91a9263e3d9e51f24d6b1584f8775951e8e18c2d56c87ef38dc9749a91652e6d6a5b37dcb7cc48cc456bb8249b3ce996e17e104a8eb0d81b5be8a10c46755bb05072edbc3c448f642c2a098b91ddcfd220649cf2845b975ca78b1e217a1ca376cb9efa64464839ddd0b18a1ec62833aeb3dfeaf9bfa9189bdc1c2f8f77e8963a0e3d88b1cda5609f593b9aa57de8310c377cd45a94aba45f0ac38fef7a9e42ff663e83815d6ccdd7f4d19a63c028fd7a2c0d3acaadb75fd4c172d75df4f892295f1cf55468564d19bedd5ef017f653255b954b1b2fba53f94e6d6487d3e95da8c13697ce17b91a55175cb224767326912733b928be73e77c3bea262eb4bdf094a5f2e3611bd20492398a1c19428f5bb0299852394fc59f857ad8c22d61f6ba622363dcdda316a9f479777994d525598f689390781122dc83165a69baa47e6c639b72ccc2d17da2cdc3a96a1e4b26131259a02fa7c833ad9a644886f4f68805ca7259573ce1679e53329924a1072c34ed30426366668da48485c8a14190d0e315db69f9aa6b5810da1c458eb8c275f155d398dff457c96462841ead605ef3a7bf60495677e8c10ac447a7a0925ea8cd0769206e7890a6c11a7aac82512da6a352a5a95151c5aab9b94477fc6d6d7aa422bdfb311b6226263460e8810ab3b35d5617a1f1b4e914a609f5c9323d2965a12ff4304572a169eaf67971f15224737bc9186ec5752d5ce8418a457a85059def32eef5a0c728cae9a35e79d09a9e1d0ddaa0410f51e0e14cdfc256a1e8739c5dd04947112592420f507875a72a6b9efbf4f8881c7190f4f84449e64ca973d0b1c92a408a1c51225ec4163d3c719096eb9dc4c3a936163d3a812a716b2dea59a6c492c94488b22b7a70e2a42d4f5e7cf63e193ce2464ed16313fe6d129f759fcc63e4083d34714e517b74da8c7a325942728325f0902099f83d7997ccd6de6739259309264cb629c9a02d736151f4b8444a2deba9646d6eda29994c40d1c312a8eedc7fd256b3ae964c264116c81176224684d06032f94af8fa65b9ca3a5692a3921e94407ff033cd75a94c6825469ea0386843880eda6821406cd0461b73b80dda28e23f886893b4f798442934f6c8e5cca752ac6432a9440f492442e6a02fc912b3ec3bd12312d9a5f3cd8a29bfd185c46fe2839ed9203c69adc723b0d49fd47d66875ceb087435c578d3a146a879e6a7b349289f9111a9ed4f2de1315cb0b5c409da83214784d040073d1681ca41281d19b7b30c0ae9a1882eebd925d728163d8f851e89c02db997f9a598c7b34670d00311ba97fa65fbceda1995b871083726f734db0faf2724470f4394a5ac4dc7ac59e5bc4721aedf182ac68a29ce67439a073d08a189bd943f2ac90fe22d994c94083d06e10613d65fc1b6e72e55f41004ea972766e33da61b2ef020abace81108aff742c8a0821c4b7e490b01f293891b3ee801882b6ec57f4a579e6f07438f3f74f2d4c674f5351df42ff4f0c31e3b35c8c8d3cf9fa245faf056bcfcd0514da59f2df4e043dee69b2bac658e9569a3c488cea00d32f4d8033aa5d5716b5793a944851e7a48afe6faf796f2806fbc343d4a86f59199420f3ca47350ba936d2e8bdbef70be0c55a14c9adc1c8d8385a0841e76f0c26896cf8d1e75d87347e5f468145915a1071dca0ada6389f95f79120a3de6b0e7d22926d19cdc4d2ef19ea3871c2abd15b2834a174bbdde8438143da99ce774def4baf68043c245fde694fd3ab9dc08438f371c356f102247d5db94931e6eb8e465bf37a9d12cfb92c9c4c80d7ab441b150429adbdf9c6e35e8c1062b08e5dee7653bbb11070ba185b80fac8d0a028310fc10428f3570eaa56d7395ce2b5b3299ccf1408e0c1132831e6ae8352961192ef74ee9063dd2a028ad51dbe4ec8dbc79d0030d2677f5fa8a5b3175974c262fe87186fb2b9bf8bff4ed4b61420f3394d9329bd25241e5cc89f428c37a32a8870af292d84cc964424222e40793898e2cf420c37b56aeeb3e2a8903881a29d2630c7afde68a0a3fff0df610c3636b95826b7c9305a9a8d35acaa6433c0054a8252d89b7281642be53a0cf74cad7299a7a2da640b689dd3e4f299e0fa22c45dd66cc1d29fe60fec1fd74cbaaa378dcf5479b129dff98288c3ba7264fdbe8bda1602f276ddbbc31fe58a0b842dd77cd9a075d76c9003ef17a89caa9a8f10462d4cf47056bd7ef3ac1e8e45a7afdc4f36738c18ab0d6acd71429fa26fefd187370bfd2279f1406a0096488895117b953da4c701bea417d64d8e4694cf87ba356da3fd46d780097302b34f62af578ea9825ce8c9d32427b4cc657093f5b903f3d194c8d871298c9dd786f36a772d0242e3b0dea793ee818ba24704dd5d056e2ff824c249adfdc613e87ea202b90506474ae8e297b47c63c6297d15d1d7fd272b41cb19f558ca3f44e588e36c20d32eecc78de293532a2a02c88b911976f8d1781d6a44dafde45f6c828c2cdd8cfdfa4a4daa889d02fc5f3b18edf142b22dea4db6339b361af74886e5432e5711aa230a279366eacd1315988b33e65505313f2944908652b9dbf5d7f8ca534882e2c88e5b56cd1ed23882a4c8a776bab760c05a2d9ab98a4a69e4d3a058873e5644494e70f4893bb96a2d8b9a7ee0734f3e9edf44e1f4c49abf5e8e8f88018352335b37ccc5e7bf0dbd2c5503949cf18d483ffa64b75895f4e1d9307f6cad4a86916d1110fa5d46f750b4ac9d2f10e6ada925fcbf7a32d76d0dcb35fbc6d75302d06a544d56693877450c6752d7418351a3f73c8445dd8309a3bd73939f4a2c48c96ccc5e1bcd6dc5017c54da5c021d3cd61ba2cfbc7a422830c1419f24706f0862e9bac982d3bb4b6e68643ff94d8f41f7af56cc37ea2f289cbd623cac406c5a289cf20ee3ca6d01a983f1721ea32bfd7ad86b207cf8c93d9b7d4d260e98ef7a73f9b99c5d1e007d1a4b54f6b6f2e67685d3d5c9269b6a34c3338627f6565ab65d13220bd54d270693fbd9ed200c870b7691bf1585d42268dc1b1b7ff0e358ae198192c2b561585018421d5e39eae6659534f3020f4c5a0dbed153d8a06e0857292192b6d3dc593f92e1c33d97e909f547e1271a135196d67426f54d46c410ff29312bfa016f2177bfdd80bee611b40160ef34a8ba32f56fc772f0c000b978ebfd92dc357b05d2d6715a175cf6203b0c2e1b7eb3afab4ffe6aaf155c7669ad2b7a7156a183ee52b53ccae6ecf3452cbf068ba72d2184d5b108034d453d1d898e4a9f26834b2eca29d329f8325111a253d73b241949d89fa8c4db473f68651d6e339a31037d31e84500ba16e865a9a398cdbf797b43043d7d0a53de60e172abf8ce553fc79c5a41f635686eb9a2efd72a9ca2027c3783fb296a458323d32da341ea3a830eaf1f4637026be773d5b8f58d21855ee72b32c7ffa2aa618294d9b2ad36b30995962f4bfaba27a659dab1c06ae69d3b58c0ae61d1206be57b14adfa378dc82a1a638cfddd1c42b6360a05c3ecc72dcca8b39bf787dc5e2c7073d0f952f92f51c938a997a91caa292f8591fa143cd0bbd6e2bac573407a1db452aeec6da09bd566911802edcd30eabd3b14136cfc576d9b6c23d8c2e11e28211cacf4b83a6ce497f0b9414affc29f5ce56b7c5d147c7d44255597911d6a1857edaf1743569d2d99e45faa279272fbb18532b0bc5e282ea1f3de2ff8fc57e6b9f9e31c467c8b0a853cd98d027f40a01b8621b111d74b65ed06bb6e2b01c22a3c632931dc48ac389b9ca5ea3754b67155d7deda66016de51a30ad365abf2f899bbeb930a73c579923ba35ab5474542b43b2be89b935d39c59a655c44a6888f639a021d0b39a53eebad588a6c7c46a724aeff444e8aee8465fa8736b9aa8c42d19e97349c4c14a764f59ba26e7bad0a201478dc098fcbdd7e024549e3c6143ca87810fd2790d918b53385ed99e789dc2cc8108fa6376aaa0602e8c4abd92193f81ea1e2954c26244404c08963ca944446bbf0e47bc9649204b089ee64a889713753b968423795a7b27256329990cc51e448260e72aa73779aca75c384ed29a48b104df15cebc082002e513a2de973425f0209118d83448d20004b6c32b69f75bc7c08bb12254b2aa918c22e7b1c51e22fcd7eaf3caa400093603cde6f29f96f1f834a2613174c263fe6108024b4687f61b4538e9bea48f4def273274aefdb90409778d5a7679caafc087390b14ed5a9d9cbd711099daef327153fd734c2cd3aba62e94b762a6544e7ddefaa1fa292e82ca2f44fe92d739d7a9d22b84d1fc36f67fb3f11a68f8c9ca8d43cbd8e080011a830e22f1b42fb7c6f1a88410087304be3458dd72f9d5c43942a7dd637d323e365218ae1f3e7d80f2a9ffc04400863d6201e173eacc6d2204e23de4c09ff58aa1e41e4b69b31fd56ca0f5f208a96621a9927d682a58ccce1360084bf72a564dc120fcdfcc16c1f35519f1f38353f3de7498b6705086dd8408800fa50669241c6263d2a7f960f7bba2879964bc664d983a9f2e95c39464d5a480f5fc5b94ed9b2f2e88c00f2b0ba99ce9463788b9a2b22003c24e33ae7dc5cefe09aca8e091546ff08d9c1510d965b73aa439fc2f466924193894a07ef52e8e99d123576cdc190f9c4345aa967dae4906cfd7c696f9f2977e27090b53146e579b7a486034ae71272c4ac27dfdfc006d9fda94f785e65440084366c10821f45861cd12b08c00dc99cd29779d64acdda1001b4410d2a25eb1c34774a3f1bde8c1f5e9d92c5ecfd1a10fd7e2964d88dafbd1a8c398fa59ebeca1ef53418356792a66e9d273a1acab56e1637d607f9fb0c2519ca43a6d9feb9db0ce55236e2614a8ba7ba0c8fce3d326ec3e274960caa254b3a28953b46b66338e74cbbc8142aabb562406e75d9f6a86160ceacffbd92b2d9140ca61619effcd79ff5fcc2697463d8e4b1e1a7e4853f7ac56d8f1aeb2aa80bceffe6a47a67feeae18223734991b93c5b30be688cd4eadeca315ab8ceb35b56d01f35a300b290be14bb2a3e5ae70b0a000b56d832652242bb5c5000575877debaf28ce5cc170158815595ad8d266c2e5aaa617439d7b049842c99420d3436d8c7781a7a484dc9ab7a6b4d6998793e34a58d1d57b968201f83c5ac205fae040d63ca1acd35a75bf08a8d679c2ed66c4a42db6ce325cd4ec407cb8633cebed06956a4a9277d3392bba592f9769ec89e19778bb6be8a0e4a6b5f4631a914553eaf8ca4dda887ed8fa9a24e06fb6b1dfa47b5c84c23a318b32988bffcf2417c8cb2eb8af9ed8d3a738d5150a76be3222d466a93e61c3c86fab89318f6cd8ff212e630ee9cdbd3964c42c8540a235b4f2aad9fbfa598828179f058b5384a438780819b0eff0c42d3327f7e6199ce572a079bcda7e30b47d5c605edf4a2bef5af93b972d46c78e10951bda254ada9e82e52a2922c7775936ad105232dfde5cc53ce1ce6e2b0aacd1854732ed370b169b932a1dfe20a1d17cfc3ece94dbdc1862d521e353bf4c442c55f8b2f457cd75b6ececf6971d8bda41abc3f8978165bca9462f65516a8acf010e9f79a836261dc183abba3574e15030b74c6e4aba3f2b5c63803365e51c8ec15946fe974fdbba2bbac18ef7427a16e6f056ac274a6ac78a72ccc8a4abef9ded97658beab4028b3a89de536265155719fa58fcaedbaa532157e88fa6cdb94256d547017c66b7be3c6c7a738c64aa693ae20165b539c234399fa7feaa096e2cde15f34b332378748716678912f1afe5333a350744ca557e5c46ed28b82372134cf97e5f5cb84c213fb38b63973d70f8abdb47a76659afd13e9a4755b4d731c3d7bc27ef13ff7ac237e76c25ebf28a345c8093636818d9b7be71c6ac2cba573f874c19212ca849e2ab3b9ae6acd2a9838cbbcfc9f753899739728bbe9d2d014a3a7563160c31256093628711ca563f36dae84244810253902240e20372061362651c7133b1deb3159124ac20d1d4aba6bcf09f97eb4808d48944b9a55b4abd41e7f48f451ae46a7f479d9f14758973766533a36c6b023caf9abc12b080f0b7123d8ed1d79fd496397cb8855e5379bac32cf912ec26c6fb13e4ced85e82882d37433e295a3bc4c4469459be7309996390611c85c9f3e8ba19392cb21cacbb5696e94105e3a43242c7eaea049458323ec3abac046210c5549c7b35813e2feb4f7263f6eca4e076174ed2c2794c5b4760ae2d3a9e739a7ccf3b304c2943e49d75cb35cf6951cf12227600310f6bf27a5543ee8b1918d3f74725d396a780d51be1f9c0ff2627cce63b66f0cd8e803a3838a4ab97f7f251f38eb0ba2de42c917a53d9493f030672593a75a2e60430fdd6968dd644a6545330fc9f869d64f77b4a6070fcabcab65de7bc914bc43274a8eaece703aa71436ec70d0699564aa5c3a3b89086cd481d34155a59464ca5c6b74b039f062d1adaa74a6888e1ce2e0560a27ec448b8a590fd88083c172109f6a6ee5b27e3060e30d598aa76ef7752ae2991bac0d7cac1c6369d8cc29c68820046cf0011b6b2836d4800336d240c2061a8e9d84bf9a0e7b99330461c30c6c9441096c90e1076c8cc172b7bb686a3f336762c086188ac04618d800031b5f78011b5e60a30b6c70c174b9348dca8f86bcb7f0f8fa25157485cf07b1a1053d899f124ae68d0b9a63494a8cc8416432392207912372e840056c64214ba372d02b9a66a963212174ba8df1cf15ae3c95b4838891e1626c58e1f19c34c653568535aac19b6e7213a5ddf3490d5d376e99d29e11dd4d23f394e4322b080d2a150229ac218d664c7490f2974d9fba4634f8f1e8b661334657b444c80f8e6890184c2642bec81ad0702b68930d0d79d19f612ca1938e9e0a2f4aef0cee77841065e1e2899b51a8564a5997820aa933c37099cfa344bbfe6554a29784a7ddf1ec2ac39f57cddaa39b57d4c9482be5d6ce76b7165e6470aab2291df6fef33fc6274597d65e19b169639cd6fb6f6d3f5d678b81a8fcecd4e13fe68918e9e8678fb19e337e3a0cccd4c69957cca50a23ddec49e7acfcb933c1b82ee7bb5cd962c82d81f19bd2a14e57859cfa0bfc74dc595f874a55f2c53e26429bd2b2f4be17c8cfb8d9f28c7881ab06d9cc15da4532d6af9c7e5dbfb42e3e0ffb316d0e1edf73725157ca0c6279fedac605233d3fe69c949021740b9379d0e163c898bc8c2d4ac1cf63d40d3daaac4539850c9e53f03795430b4d05ad9c2f447fcccc22ffcc5a326283771065915f05552162c263628195dd7585ad344258a4a73166aaa7a0b67d856239a4a838ee6f1f57a0a2b78d8e97e5e65664e2f3925d6fecb0b0e294439cb019f550dead0235e9f26f715305aa72ee2a3e850d6fa5c2de60165e475b27ef5151d6028e7fa8240f44c2c148180c8442613000000a57dbba0a7313000018242c1507a4f13413543d3e1480024c4032483c282220121422148604c26040140a8842614020100a0783a15050184d965c5536512305f78dd907f76fedaf02e479b67339f715c9317cd1af74cf6b29754f684fe8086917fd338d10be41b2647d47dbe98d8418ad5d9bae68fd9d5e286f583c5b5930bd23fc182b32ce0d9f4e2ab853cece55e915b77cf516bc48562511beb778f70695bfa4bc372ac4be31a7a9f2267745a05d30ef55a9b0172809a1e9d5151074c5a38c6f4c9f0ac7c8b7b3aacf16c1ad38fb88cefcae68f8df0de000fdb364a5173ca7044269bd1caf98dd9b9c72d49d72171f731b4265b4c08b9f0f65da0d7f059677051055163a2eddd07bd75c2498a7d35a35bc43bb34445d27af25b44bdb7998f0cd873bf8de643c1fc21527fc7690ec8d85b6072e3de51276a3eccdac58c6ca8933f71b04797e0abaa035776a8b067827cd5fe661f737b861bf6e60f7e7b64286f4894344e50c79655a7c5997d2786881b5e20ee58fc718effdc0165b737c708c103e932743374154b42baad70dd3c68faba25ccd721b7d0f13b1cbe2e10e4cef9abd499826cd7f01dce34c39846f01cdf3f7c3cbe4d27e51be3497ec3b7df57cb5a60d8ae72ee74b842bf2e3aa716d9ab191a28cf3a2a0a028ac535c150bbc398593322149c9645bd6d59a68abf9a8f7358a0f6d1ea19baaa76c6889f270f80daa9ae0e94e4d6ea6085e5b6ec06a5097752d130e2f7b0d78f5b93e2df30814db0a9c68b86fd65b7e1bac985494fe64d75f537a9ed223c41a8c9514a7f94baa71002dc89078f8ec4650575e6a4e443905fb30379876abc808bc70a70352ecb9182a5d74ad861a2a8e1618c1f2ff8b7ec861e3cd3211e322b2f36f84265237d731c8d58496e9fd0784eccecb55a8cd0bd2c159ec1a62749f632f95d59ca109913122a07c46341843f2c348f11b653e1abb5c4cdd21fc3c2664d75ee3333de0865a6e24c9b6a391b291ec434b8d271a7b925d0f2006a109eae3c9432438d4bae86a8a079649e6a96e29332d5de2d024a4880eb02c744f9bf1a40d33e2b79fd90821890f57a816012c1ddfe820db83e894375b948d77238fe1d0d06b9a17e6664c68a7eb2e55fa10604bd2c546e05681b7ed30c4074b7a19d452b57db49981cd568a6eabe0a9c7655426c4e67011efff68044eb7c9e5b3b958d7e3dc12a8ac35d42e4a74c3c1e80d36034dfdb0c01f425af6a15fb9aaf94664149c82ecdc336218c8da12b058da7b57ec1add4f4a4b74ac6a9e5f818f4e21ab642d27ca6b854a21a0b05b680ab865f69133556a69a2b9205ba096bc85b21274961af0aea5a2afb82ad408828af6c41d3176817db2393bcc6dc8cefc3ce811aa4e4aaf871104d0083c20dee8b22efb6f3011d85c9a565ba323e821573ae34e606f6c81ba3c03b7a4c003f9f03ab0dec4de2e6718d739d24f03b8f8a45870e6cfb04fecf9f0fc9ca7015a2f3100e52864a4a1df13db61831fade5bd261796b464827f4cb0cdeff8573fbb6b62208b993f6f140dd20fa4df31f8914650822ed0adb8946ebe7da783993253c8f89bed02ef852b89ea17f8dd00951954334d43bcb8ae41056f5a23de9f291d9736bdd893ad7ccbe82e504ddee1c4355c77b3a2e7a4122e4d9707ba9fc9adf118ae07154376610c16b05f876565b0b7260f32f58e17b51c006e1a7896a306a511e185414c21f223322f71c221d28cf35eac2e9f31a897bc17f5f7992b82d8d6bbe58b8f5e0700bb005aea090f0d2141ec57840cc568800035c5e027ea9d874c10905e82d56479b12739aad281ca1b56b1dfa9c048aa7da00eecda44e1376673e80d6d3a5387c432ce64d830239e63a64a5a84eecb6c88697d78d540bd02f08db376e240039162f56573b175336a4c8b89a2ad1b84de3d7e90284d4694f362f0720b6db590214834614f025c4258b25e72a7f1cb93b5dc7e2a22652e939941ecb2e2030632b0ed12cfd137175f312bbd60abae867131a8ff518edc0d0531ad932046d7bee1c2caadf60b2190482ffe59111253ea165ea6330e227bf7207cc4ce6183f8e32900310ab008a3c69b8d0f3d2317520a06962c9ee5061a213c1608dbe8c3da440a47b489eb8cb5d64879ff47f5fe0f88226ffdb4da746b62bfe97de3a0e81a271922d807a5f39540505abb6885d635d1bc0dc7a77195f85994b412907f217fecd557fe165d7c89d82e422c3ed9c3974095d01c3179afd2a6c2352c3e8f854fbd31c5c0d2095a6d2a068350b04e89e2dca544e604a18681705466ff5821bc0fb5412aa29f67cd4245f866d037548687b38e896ae4e3594ba81d3e9068995476e50f1f1192ace607715023aa1f41e44d43738847da9a9b66fcc30609fb4ae0119b8656ccb8489ba32e49aae09eea5cd2a129c2fd0b134836ac1fbee3b1c54df897f0b32201524525af0b1a10f1ac9d947c61e348aab7367a2976773db1e6da1d4d702886c9698dee3c2baaf4573d8fe6558101b2ef4f0433ae34a47c79df1751f5ed72d29039601d92208ef2eda716b9cf9a186aa01e698c83a65f0a4fe1954ec4040134eb4c95af2b6e1a1006962558b222853a666e372f80c306d81ef91cba84cc80d1f583ed467c7e05269685b15af9f4162294c61529eab08807646b625c62e86edfa2f7b61fad042037d94ba6ecf810a7384427483c034a4e4f768d12d664fd36201cdc30fc555d613f29a55ae133d3ef16c9767cbc16bd240f6be86032b5734b162bbb842d6d89aaa6438533668cae96cb191cbd44a0d3499f4859aae7b8cc94015e81948d6e28e80a1f9c2b4559b1d65716a30dd0c697c21b2aac71c3249e8d515e1b034ae4254af98d024d75851c521598f7331b110f0d4e9abb88eabac81b186f7b30ba7789ac5d00985362a2a0fdf27da0a71e5bcdd324fd3219ed8eca356d856dd71bf68babfd7ba025bf23e742d43f474a6f2bea2da0e6e34994efecbe3670cb73242e7ec3561fe6a3ef01b5806b48ed481f7f6104baf80d6975087a6da362fcf0a1cd941385c3b54465388cbc7864d9563c6083270b635a03699adce3288b8c234ba73198becbdb3bbb61756b20a5eae4f902797d0e8e46a4c0e7bbd805c6ed00ad8312acbfa93137b739e8da0bc96f8a37e21adad879a98b4afdf5864804a11f964794c174f48713012a0953d586a73c44280baf592d4c979472908ecf1a34a2d33c4f7ab7664d34e69af200a2a53c12f235f3ae66e04e1bf2f1cbaa26568e06fcfc3bb90321828c7261516d24e017a6bcea09f70bb6986d2e2738207b8b059448011791b7f1babb3b896f8a18187e3ca8237a993caadea93b13533d43b47786012c867cf8545f27c865dafe72e9ebfc42c993ed06bbb6f9aa8d23c45b225ac51134eba603a696488a1fc21929b53c80ad9c44e3731291a9e9f2269ee43a795e3d8602302b3a66cba0533b66c0a475418f4d22df24407dbc9fe407a27c88197cb2ed9337678d7c8e8af84b175a17735aa5464316a521a9296b9fa4bc21ca5296908df25853e949246ea6b5540fcee362300e0fe929af3a034c59834aa601aefe27011a9344e74f99c0754132be72aad1cf727619bb602d5e465313ef3392b13664688d6d74a0403f5d9a1506d03eae1ceca2691646433a324604f4f19123fdd213af850f480dc05ae91956addf24d9195c105df629e9564ef931edc9d420fbe480feefbc37b85c34dce10d40250f1b950d153002d2d1a09a28cdc2cd50404bdb5a78b7146da3cb54ff9247148d70cacd4a99c377d2bb761378653c6f72558fe555daec5ec6537e561b1dae53aa54970f702c97a34ca52d7e4e9abd63ea9b522b03842bda96ef3ca9542a24a74f81fa106bb9a7401475271d7d1f8ce50a98365878ffc6798dc30495889f5751018dec7c1f7c4b120d54aa0a686ca35767299ae059092d6277edbad02500e51a40034f015d92166b03901e4bf0a3dc5071cc57be1781e2818c11547eeeddfc254e7b056e3396362852b5ca2363d328044238f7423b8ccd17cac0310135472371710280d143668ee33f823695d9b99d088e3641fdfabe9c04bece10a17ed99760a5d12ecddb7ac407e2c33d1250d6f89903f27e3d1ad618d205cb9d1596f7a8a1a6fbe489929be654a1d52518e7dfae66a19ad2a91abef0396a978d49c3b67d2ceaa95c62ef892e2f27859be24e223a6446e9cb3d2343a27246c0b11c1018437cb01eb41edca62863a6bf9293bf51b6517336f04c1ee61b5b000c46a9df84ec05362e9f38d7cdd63baa87c7cb84e05e781c809aaac4a2c82e3f637b095c639c4c6327ea1f25af8cee5346c8348057e7fe70f733a2f5da686e6f618b08aa14aaefe373fda02674c13917c19a26220019ee699c059f196594802424cbc9c5a8aa0e84f0200a6c2311312944e9ac8404f2e0ccb7c06e360cbe381d41dbbc48ab3972682e63d389898497c582d6a55d12e049abd9848e71e191274982dfba694bf7de7e8c363db2a089852c831363f43b8a65a3fbfbc96069f285685dc8e4ec016c79e652fc1fd1835e30e21b4d1fb5e6203d92d9ca2a3d38ffc5ca6100440d8ddb03776c2bfb50a9589a3c62985e0f82bddbf8ab837f723d6cd9632a1d339a65bbfdd5e30ecb3e457aaf8eed10746d2274f14fef6d6cb5b384e454a556ec3243d7f25ba5606c7d11f3732de1b49a308ab13f0e8be945b2b46d3a07319f69b07a6f0888390f683f940bbc931d46ce4ec2d0f79cf48fa04049fac9e993d5143d3df7c3c90b2ecf2434284ae11e82a11e009bd118c4964ec1a3c1a3f1b05ccd42059319242b06fcef8a1ee5588638a0bcc8d8e41b892f986089c33d73b7a0266c1edddd126627e16f3668969c2425997c74dda0c16b42b40104bed51aad86ee4ba83013a195eb0bfc61618227a5cabd99a67d86c96441ec015e530051709356561f3a0ca2bd4d70750cc4368f04b02bdf4a6475df7603e0a164e36cc9f8593822eb3ba7b2d2b2467613d82b31387fff270b2403cad64a23b94e13ab087134daf8eb34b132ccbb4a5df3fd7e409796e7d3f128058b3b77d6eb5b44a56fef91ef1ccd8873fa32ab7d4f0d749228d5224c7599190b518e53ad75f182aa45050480850afa0a61d9462631839511718590c796ca2c405cd54f14c4b0536c342117ab440a08b9688202cb92c1fa1aa309938829281de5fa9ca4324f167c1686b0911c45f2639b2b84b7c283f030f06fedfe2a61bb4e832b6441bef35b8233ad0f53f67e6ba133e47de22cbe47e002ced94b897336644790b3ffb76ef71a3893a70597e71170610a86d3df5a50e77873b906c095754d553cc6d211f9f1ca02cf77d361ab5b301a0dcbeba24fbf2061cc36103fc48aeb2baa876bb63e26fc553733684c53ced048995b2b1f56333f47a7c656c7a5b5b50774e99ec9d0064357945b9c358b25875b908afabd10578bf3aaa0836351e3f1dc7eb73f293d28ccb4251d6bec423a3aecdcd011aa70d8586171e28193211d893f2bbb592b0bccacbbb6e88fac47d555cb16de7059541fb7c59c22588bca605ae4a7e0303c74ac36f716441c761c7964715c593852e32345669befdc9bd9b8282e3fce5316122a25e557ddcf6f5048e9ef4bad62bfe5ebedc26302b01b4045f6ef5233e478587fa0deab36e19b46db10eed36ec502743185a639580b56974c2cc365c77405ee3c007c169694590acc24c07807833b76db193ba06d09ae0bc1c60ed6939c9c22cb503c8022df47528ba9fd5438a67be8e7f24782f6a386d7a3ccda1a9acb9d51d5b7b549359cf83b9a3d1166bbbb669a1ceeabc9696573f7f3ebaeb1bf25ced9a4ed1019abf6c57c0aeb6ba3bd538fd68b6b43cc53ed3152193cc20ee0d47a5b902d16012e29a1599aef494eec70d62e47ff5930c72d89d66ca2e8ba0173e77cd83b2666a42474a6884ce1662b09b0a8e693e699c5ff138695061cae414494ebff1c57ed1a143ebc2c7b29862e618701837eb26861eeeb9baa6f8a0299ffd4a631a23470a41fa40a8d1e208c6f0cee864a41b89e94d73875e3544a588848411dbf0ccff5c3e8074dee1b9b7cb28f464467380a012dc638db00e860dec18509398da039a0887357446c537faa802cbb0e3342b24cfe3af4e150be85520af8d83dc9b448735e3eee46c5d5bbfab60a8bfd9c2de5a4c44aac4117724272477d2302ebecfe1de13c1d44a152484d24da4c67891d7922c21dd1aad46d11c5e44b0e98ef11060807faf9ea6a874d77a16cae3a4382c9e8fe8f8c81206edf13b6f6b4e68dd0c749173183cd1b787cae6e62f52381d005d498f791b61212d725f5dbe64dab86dc61010df76a4ad612a1672379cb4f0d09cd366a6efadc7b75e1e339c792b9674bb50cd3c91319822541aac044627670678eb94a38e8ee04029126abcd8d5104dcf4d141ce95e571416cbb391ea5fd4d091892dd408062cb7b84045412a2460401b5d22c80c498a9dd1d5f5c58b0440ffdc518fa49fc617350362353e1553fb69c1135c924d946eb177a8c0f434b1891cecf1814bc4238014bb334238b988013216cac6920ca7bc91f900dd0e975655a7066f0c202083b9d4ec31c7028059bfd3537b4c7c86bafed049db9840328eb28bd544509274cfd8944002720159b631ea11f30aeb79077f7d4678e44bea0843a3872406eec526e326a041a2af77b26f2e94dc611487e1ef5dcc67f04c51170275b0b47fea35e2bfaa4f638559591589b82fb2cb3f409c74f8834b08c6405f7a0aa84776d8c4d61bf7dddd0ec568f7e99adb453073b1fcf12187b500f053863cd38023ab7300a3a0c7cb0c8cee87691b89d920da5b5f12d61e0e526d27ac397d97692b6e84f4e69002e823521150fd5445ed9d40f2df74d958d6d35bba207d08d60b609cdbee7b7f3bbf13f56418c70754d98e6956a56f2feb1eff6e94eb522ca26715475154a6b0b7e39b768229c7db48429870edaef4f114cea9644c2734c8c3f65908a5f210b99a1b1121d2868aa8a56bdcd88ebe07a3adc79f7f802e1db619d42e4e76e0d86d5bfa853ed5651909328a51c45ee619034cde67de5eabcb98e12c3fb13a3aee112c3e8c6261c296655dacc21b2681f8539cf341d8562c96ce74a165ff3fa76366789e047d880d83982e41a48ffdcebecda9f9259b6de13fb409f22bbdfafb64d7db6e1e9b876c1a1acf61001bb511dcb2e30902fbc9d3daeb2ccb73fe9a21c9983c20fbeba2799b6934559b7fcabb3af07b9a2bf84187d982037f95db73ea3ea0506617182a06358def24545bb5138c3223d46af827e2ade5d514faa60f5ab19642224c2da61a267645f2cc15209f53990cb4d9151e03f87f233ff5c6ea12ecf16fc81234d2876be7b5647db5a6c6aacff47d188c9f7b8c46c13daa5b7677a64c781124c7a69766f937a67d61bf39b9baf3f739c5e3ebc2f1b91d442a65dce41ff140e3aa5061d76d8de22ccd6e8a89d97b4c3216c1d95d765d496d88f15a72dff4affcde870c8ca194c49e0c4f146febe8982b2dd2b93cad934947322fee93039ff5e0906b36a1c8324fe762257da1da757acb6c5d2d57965d3a3237d6f90bed1145a1cba23fd1be94b6ffa42f6602e85de8d0b640852103090f5ffd5bc7658112f2dde72d3a9b0d70aa44aee50b8d2cc33c79456ff2090c1e9fe18425fbc0c80e032e19d11f0fec6406c608b85906fb88e81a03c28459ef145c35381aa6f41701e3f132643e9634d68c677c00a06a24a2c8ccfc114980b8d8326f8c7e3501236c3faf01d1ca324dc2e2bc2a7701eb2413b50c23fa2794cc78d400dfc4b6339951b05f49c277e62cfa3c3861805c15d7a3c9045e276409f7f41b398945b047df80d0d725a6e0ba8e7f017e3029bb04a2e4da110fbd119cbc58f296ea5d5e08108f0d1225c2e2d884ab0cf2ee844f7ab1a9b869cb9aa5155e461f3c5381fd84acfc122965007ce2e3fa4630f46ca396d681e3dcdde0700550eb34e8beef457bbda9914faa1483a2b8a89a41ad1d2bb9a81df7c5c8d1f5d478d34f6b7af003882d4d90111125b81fdced3f45047365c12a6449433574da5253380902513b64089d8096f6e280f528d01a5ebbb68be6b75dd6ad713866a991bd3c281b1bd4098b5d77e82b8a4d6019d961ebc42881078d2eacda982fd8061620d832fc4b6a1cac012843700ba611f0276766098d3ab886fa7e7cb06be42a547b006159df56825f59edec6e93b59a5068172917677ceeff6f3e6bb749a08e32312af698e55e4229d7cd666628e776903bd17e78de52543cb11073faa9bef86d81a2f9e9048f142b37d4b5879b5d04792b6771fd6d8360cea7b75900d87a275a5c6cd35d7e6bc766e0d6f9d1616c44e748649537e5e02cd87e79cbd0a3385bb9716774c5b82fb21bf950e9049badaff6343776255b9e1b75b06485b218f3ff9f540aa6e06438bf94cc866d8496a235208bc8fffd2eb48577cc50dfafdb04ea5dfc82389509d81c5da1e9a4416b4cdbd1e2e71690aae5cb0e482f1044b35312426ab9d912e5bc8562f0089972dd66652dd6866e287e92402548e0792d801229f81ac999163603400963f47a6a068c7135a04975801adb6ee47d61825e076a4e107f4e902ed696bfa9da58a169c8829e7b88dc33ea77550e9f820ced452bbbe750431842d46243d82823dcc007d9c977a1fee6122d630131c44b5df3a3f682121a164b18ea8e0aee104307f3b8f5a925939b45d23afc11caca9223896dd94c21084a0d3ab0144a2beff8ada109b628e5633112d263493d3853d7ff03a5fb35a507e0d99abaf508d784d6352e63777dd3baae423fb987ac34c7f01a38f5d1052e726505d30e295c3f33a54393227678aeaf2d018a118b7ab6a9f07870d33d1aaf57b866ff7111a8150e688ccb378e3b960fd86e46aeb26bec290f975a492f46e392171c471e9ab7c6d0122d52197831920750f9e103a9c81ac2803011918633a2556a1418680201d3822c4683c61c7f4fb8f777190033589e3a4eb366d3167c5c05121d4bb5a569bd05544abb9511da9e8a0a98c032414b6160270183e9253fb4ac92785c5a31b2913b31eee840fa94e8a4592a23f42b7b8ab10004d71f8662be40241f0c0fad30a21361eac385d7d1bbf3a04dd7d8ed862e07b08f90bc7427a456c03ba78a010a1cc234ac40f5d114eadf51d03f11581aaf46a340ff0cae8b4ebe20df15022cb9c9c2b3f463cf0d419ca133d94029b56c999d1837e26cd45660fe1123f4e6e65d5b840280c5214be7cabe890799b1630198be14331f6439e88ae55545268ed151826fb939328e8dcea7dcd60a25cc544d4d4c1acc2c275d34a6679b00310d3732796c038a9d8ef9ef1a98a89543ac1ffc57128287405ac26e39221be0fa48214be06c72516ea09044a68c7889f2574987544f4bad1b1e78414948e20a49e15a06dbe7628f6849e480bd99e7064e1ab3d6dfff4d06185a55268e87d8d0de9f118d8f7c1e5c7f220b40ab18de2efc1233bd64f67dc480cc7d7a467052f45623d2a2fc8df57690599b8df82024dbc0267c01ca9f6da58df2f8c4cd11aaf9f63c5689b6ae2f16f9762ac3f2b04693383b370354a2cecf8d9d2195abab62acd8716d1dd2e2472af9b814844373c33660fbdf0ab244adea493876260ddc22236165bb2f08c01d3e1d44b40731120b98e5f58a7d6f290bde3cf12daff3d51c8236da5ce971c4560a2b35f40b994455cba14d0b1f85aed8ddcf16a756de511c37d0c6fcd9e8977db9fe4778d37dae12874dd2368befbbad4fc32d2ddf892d5575b546bb4c92f4c01b727c26a6bb72397ed9d4a016a48217c17063e9c31f16f1aa9e09735ba685a7c625e37dbacde5d914f5f046ec019bbfe0e9fd0ab2ab1c29c025eb2c3c62d41ada0ddf39d733932c79f6e000993a13d330c960fa5f9a1fd10c376c47d964a0b7ff36d724088ac37d6a2662b3d26262a1a27bbe95667a2118423d637f7e0deb9b7391ad824d0cf14f41008d1fa82ee784c8592e752fa9814ed753b18e315ba5d240ed33855b00a1962eb47fe29f6705485dcadcd64a9a16b61757a7008cd9c14c2b9acddc5bdf7bc37b694c8ad3ee577b05ac35defa668c6466cb72e23baa6edebbd16f863108b3d199292f4fc0029de6669afd5eb81f3665148c9b8754f3bb79ef60903aa68ed2b9f8944723b17ddddfa0b26c2cf65dde30395b3a12bd3490c7b3930f9bb7a450418e3d05d0320167abcb3dd6636c4a557a58077174751f513a6eeb7b2a2352c1048d49234d62e09dec4dfc2ddb5da912448224bea2d1bb62eeffd26321bc58e8e1d6b13b2ba0c09cce2a21dcad6e506547e7b468d6b935d1c0754d782c0c710c312e01806da5efaebe23b5aca56a399e746f6fd06b9bf50fc2023622f8dd09ef6d51e7a7e200acd94f109e88c47f09cee88f40451ddadec3ca7d22d141a76dafe184b04ff0b65454bcec3249a049f772dad248331eab57151e533324726a6c272f72591a4c0243836b5fefaf34478f3b83b958d668f47fc53634f7364b3b60272f5317ee304f24377b33f09d05b872941524bce09ad4d2bf37c92d2d8bce4ee41fc4d2697f7da608628846d281a7c8e6ff9a465a50842d507686deca1219d08672f0f40d3d65cbc79c6bdb9a6e04879817639407d8e599ee2a8382f00f47eb113e852bdcd1628baeaa330eb24fe51f8450274bc960eb27dbbb32adae588bd2afd78067337a0580d34d51528d463a293135b5d719b2d7706d601b4272f9deca9e823f6e994b81a25efb1a9d4dde77d53553d0ab8c36806726aa05fef257fd83029f250f59a25d233aa506bf8d0e31bfa875897e55ab3e70de2635924dd1632a0a789b364ea52d40dbd4c80419f430700025d45d43a4f286dcde6fe82f1e302d864bad8f57f515907a211c25a08150852c11b580e918029466259767b08e853c53946af9c1fc89403638b3ed82bde787a2b97a954822e1bcea037225a8161902c1c05fa55202e16a6acf8f42a47c0dc08998cd0b3962ec58796627e90102a02d2c4bd5e39d3b2fe940613781a4972ea0c8fab3039e8f4dfd19ec55d9197893ec75f0710aa7d9520a445f535205399df37dfb607873b754c4268b350781f9f56c1841f149824bc85c405bea810257fd715d7e46243d1fc5d5b5c94cb033d780fadbe585d6722167a9f61c8b08a7af55354b61c4dbb59af25ec5cde61a23898424f3a06f9c05112da47cab25e941a8400aa5d8f95e571521b57cb13f51081df1a33ac3647885631c22a015152e28ba7300fb3f281c517f4b2dcff7a9d93c76cad0856862cead742218e139ec598576dc23e46c4554197d6263935ca32dbcd8ceb376ac395db00d98f0a72eb23feb42e5810f379f01f3d809d57c42c0d342f1d9257d12af4f0207b56e5e577d84d60ac1b59dd6a18644ff1d32f6cf732571ca2e366e6b688f29b147fbd6fb4585c0759e4bd7bc0e4cc0cb428afbfe5a82108df9a76429a3a1cf05959413b2f0615aa18e2a73368213cdab9e88a09c2146038501a102706226d38ca298e3e226795aedcb77bd6cddd05122000cbb8c0fa52e002e6b62bcf32747821d3daf5c6ced714135bc0a07ab33f82a4f5d2fa5bc4b62578754da6462524c0940237255f168b0a2f129aa56dfa440663d60de19bc243bed529e32a008d4f481b277c279659c9c75190636cb1689be02a506623ea9baa0057c30a6b1062c1f3298606018010421b606bde9ab5d65bcd0fd17fec63efa17b8030ba88926ac96b0f7dd4f62795bb886bb35c62d866d969639642c983f27ee405413e52799e45738e2fbcaad6ce3489c336e73120b4764e3eb7db848c9ccd18878dbe79992829c1817c541965ee66085761319755749a594789d976e0d76d3768cec089bddc5f72113319d3162a33829633f68884e2ee4b7e856b98a10642469164f197c2125415fb365c145fbe2d009cf7322e82a476bd1047dcbe5d3319a67c3b38030e3bbdfe2ca0ea96aaf5156cf602ff21b71ab5e2ae13ee5007271e8e4ced47742db0eed3eee9201ae496b1c8a5b583cc15739c19319feb5a01dab6975743e2cb4175a416a2cac255b6ef3b7ea30b9fc8b4b781ed42da2e59fc4be04c8eac0770385f2785b33aeb10139f28ec2e9a9b3170bcafd0059816c0bfd9fbacf6714ebdd681ba159cc3b5faaa51e0982c97d9100f0b1ad6db00232f2e5603bf817fb9ba437632811507ed427005339402e8d778be55bf12d3f2595f0d6e54f3f4cc1cd9458be84dcb364a10693b39c8c453a11ead7bf92914e0e12da3f070ff1b54a1329fdb4d13e8aac7050d01c73a2cdd226a29dd851a88e7ad3078db1983bf6936f2987bddb08bd87dac57748a632ffd8c63f9402970d0ec9584e1fd31de4de61d035152d9052ba9d839716af38ee21376c90a38f35e94c1f400ce50d2569c62b36c0cfac18a42eec5c79c95e10d4ca405ee51088a2930ef8f85bc5f5531f1ad2e2d55965de3608999b62d6c59c94dae2ea18fac3a410d7672a77ce25b8cba465598f923c38cdb59faa04b64435bd80bebe8487b784b927c412d23685760facc354a4bdcb92797a587e5f6ac27c287aece42375ac400fead44a1213063710924766c41269a459f7ff90b068785ed8f3a54f6e7d9facff68250248094cd703dee33c4634033bce7851ff346d25ba344767ba3964412f5cd15aa5789f9f02111bcecc9ba634edb528ad35b657ba3dc877e0529389e0f5bd4bc6bf5df15fa1ae43c9d9bb67365ebc7b378c92ffe79cf1c9f6768eaac2174024b9991a5024874cd30e85e496e074645e25f2602c9f4184572b0812a9e89a2cf51d7ab79b6a068f6e302f8dbd94420858915026e037d35dc50eaec2c3749cc32e89ca45c3e10fab7da417465844e8bfa1f7b929680826d5cf6bbe1e8369139c2db23617de6a58d05d33eabab9501aa7735cfdb99c3a1f61996fb926f7d4ee6bdb2de0f895d36a1840118ea06647ef88d5ccab3ac199fd7751eb837c3d0050c1fb202dc422f7fd3cb15699786ca9489c1d67b7695994543ac88d8728a9a193c0c89245b8069e85dcf9a192a2019d73c1dfdb44f7ecbcfefd3b2eda7066545fb8573f761b393cfef5d86326619ac8b6f90af60b9ec5cf29211bd0eddbf46a05f143e561f502e466250c75ccb7c7d8b1799e05338535cc36ef7337dd602162b00ef5dc8ec183e75bcea7e1faf9924f1d291841bacd12fae24cfed43256e4d908b9bc8a06bae5736b7cf004f843c78b7a7d435b47dcf74e761cbdcb2b0b504b74a394df864c08e337b4e771eb92e362fc5e7356ebb4d12513351351eb18e129386a49057d97d3354dcfe145b8278e2b62230eadd70df735fc98790cac9d1e0405feb98159d73cbf443a13903dec87a4d17cc2e086c14c77e71d49cc034a8726a8b68dfd97cc4a335585e27f9d472788ba5f4b89d7e5ad1d48cb870f49a61169d2754d017f495b9eb82e95cc4e1e5fd45e1eb4401d7f7eea06ce771b1ffa822983fffef9867818fdcc356c511b2f6b00473a6b7818aadde5a6a53b7c59beb732b2926e54f7469b199161fe3bbff20bbbc6ed0badbd467c3a3730081effad300f5d42ee3ef2411f5353516a4ca7b81620035c58cef3c0df03090a7f23030a46be47740c922cca85b7fd42132daf9f194ea008fa4249ea27bcc8b81862e2cea406bb64639308648f2a0960c82025b08d3431f08c5029404546efdcdba4b9bf7adc2499c543d7882d152bc17c3280c2ff24262c39932cfb1c4b7560e4878849bc5c4d95525daf09a6343271be787a7bd297989fa51f92e6032519861113417cf87fe8bb06c7d45d3a85628242bd10e9030e0389d785850a6ca63ac244b4c6cd18cb0381953d1c05c58db242684af982e5b427916833deb92084c8a5fd6a6d5e50eec7152a22b06823484022fc3e92578a4830c3d93c47edadb71f725055e0be130e82343e2c0823206580f8f7caabdc2b2a9cf0f76f739305846a683756e8504c3e7cec0ec385a0a9b5b110875af844ceba254e3ca33d510731bca6abb4ececf6a801b857c4a663261c3ca40c4618e0dd923b0d8cfb6155b0414663261f38a80c8710e0c79f7e68185fbe2c2b1c1570732c6336ec71a81c306936bb60a7f24c5a78744878c57d2fe2dbf552489f52383fdd0853c2568e374ef3a5ecbd7d3119f40dc7a048362ac4eef9146e3ea259ebc90f06144efbe3d8861dd17475870147accddcc2da9a02e634c496682f57cdd366d6e1e029466028e4f04120b3950ec24c90103c00030000c0003c00030000c54c61012d2d15452a6bd30008cf28bd0725352924c77c35ebb300ea30000007dff59eb5b887c03bc0a3d0ba00ae553733b42716fc65acaee71538e7580c2dc535f720a25a764494222110f747cc295be1c2a3569baa7c31314e8e88479528ea27e7e1ae5e8e0449b4bfccb785295f916d2b189ba2bdda474e2a8f865684273f1ab5879b1b7083a3291349a76af962e6a684222913040d08109e352e85995fe126b9ac67492d4935de296587f63ac68e12fa69a54c21a49b34ea25bdcf45022292fc5a538493c4acc24d02458a974cea90dab245c0fd35627ac092662248c565796af969dfbafa00312fde7f824a58bd8d5fd11cdc5c668e7b3bbe039e2acb9e5354c8f25b71a91ec318610bdec4b278c68e63f7db6cd1ef2e220e368a03d072a3a16c1e66d2cafcf731f268a30ac9989a79bd124d700c00d1d89c8922cee29ffc35d9c4222111c1d8820523b839fd087442237e838c49e9324ff39aa103340d0610832846635cb6af52786442238ce28c367503be82884fffaf16471add0efccc871840e421cc26532a6be895be620d29c31abaf96bc4b88840e4170e937bc5dd6976c7d204e3df9f7c2fb10e800c427eac58b955477625746c71f4c1e3a46cfd9e4d26a6dd0e18723aac2eaebc57267278046471f1caf9ce253a8998b1b2274f0a1630ffd88e7942f7e4b89991e928d9f273c3a55662f0f487c0acb2c51d4c46d081d7850dc4e564d9784faca05a1e30e6930fba429da46d1392412f931229110334e05aec30e6feab0274745cf9b92a1a30eb9e6855638d79c4e9c0ecc65c7a9cea14e637a0ec5ac3529a5ccb139c67240edf2f4c449d1a6337120e5c4be5325732fa5030eb64bc7fec56ed794be414d2fb727a677871bba58c9f65254a58eb80d5c068f4a0dbb9f4336d496c734989457c23c6b683c73dbe77dca66922f702820016774a8a13095bf9b31fab2b669f063659093b3c7f1f0c120a3030db5f525bd4e728ae146323ace502eeb8e4c17574ff8cd8095befd7d30cdf0ad8c8e32fc794dcaf14fbecf526448f2c6e49055d1a0630ca53421b2b2a143e7570c5fb04d95d318d22c46061d61307ab8481dfbf85961301c32db5dc74cf57ad7f1853d7e7dcc30eef149b8c30ba7b4e339ea2d6c7d1582a3a30b8737b1e37c4c92e5d4732139bc92e87a37aa176e21319fafdd56ba9cffd442d2dba7dc09bfa1399705e44fab247d93f7d2f5820e2c685b56f777391c1af82204d87105c36a3adb34c6429558c191d34d9bd7aa6067091e6a374b8552faa89dde32533887d414add727fc9f523865c2e24b78a390dcd9d9e586429625dff774feeca63da1a4f1044bb2e737bb9a3b9c802673e91c4ed8d8389bc09acc67649c19ad90099dd01d16196345ad4646c71232d592b72c4aaacc8d120e8f25fba642d09184a5d642a94676792e418249bc28f309ed13ba0f89449c0f0cc8888183a0e3085692ec734ace21e2da0f741861ffa80b9af24505c0e0404711b01276663f77d3652704470434f0450844d04184d2a8893a9552aa7c51c7105291ca699b79e2a4ea104239c5b1ddd017a57f8f718618618081818e207c296e7613762c85758090cec58e1ee3ad2413fc41e2e6c487f4ea83d204134ed80b8bd47b702ab9ba7207cd9cea3a78c08aae4f6fb4cf6162357691ed96ac1515cee48aebc2134d0cadf817b4a4a4462ecc5c5239da274d3b332e7e0b56292b32ea3e758b35475c12e483979ca134ca38238d3242b0801ab628b5f8400d5ad498c5026ac822478d58d48045fb3975e714c2aec4e915355c21821aada8c10a14d458450d55a823e3bb3189f925876aa4a2062a6a9cc22f319a75a7183b68698a1aa54032a63c59cbf4fc4d0a43a6ade436932d783b0a3c98e5e0679df6d11645d99bb9925d4eb5db86c24d3ba1644c0af63b82e27021cca2a6c8e5126a418d4ff0367f517aca36b6270362d4f0c493de41be52a66c4ec3a046270c51fe9b25542f6a94138c5cc926a6893f26666ca21dcb3167cf8c54f8845143136fa5349347dc43f8fb353261a98d99776838bb20269619d3b4bbbde93152418d4b74112f619559d2c1d6420d4b14dcdf2c4dfd522ebf12e635998eb53ea1ae53a2a49b3a65a53e89a62ed4c797a87eb9240c677273c2e7901b7524125683879c1912ac8fc44735e147ec7fa69a2a933862f5cce153ac29b754d2086f3bbf644c3aee52c20837cec645f1ce221eadb092d3757b96ab884ad86dcbd13446839b083a64b35bcefdcadd22622b31493dee218c39c92d7b49b6cd370417ff77ed935bc26c0a91f09f32d56709f79d10c5731fd3182ef6611dc4672587d1d7915d057145d9a8209b7b440d8429ec4513ca526a0151d8b495b7eeb74af20f984abaa5501a4cbdf4c339d69bb8d5959a651fb47c7379a7364d7b7c40d379bcf8e4445b7b3884e676babb971c9d1e94991ff56a8dcae13c6c7f72ca26f1ec3f091e12db6ad36e8649937207beb24942cd4f9d476607cc42f6797c4f37d7c1181bf172135ca37448ae70676abf15979943993ab6ed24d31db1e470d63f4dcd37498a7b1cb8283d93dbcbcc180e64ca625e563b32266fd8323cddc34fceb9e3865abd74c6366788b30d872f3729b886ec13d950926252b99473f4feca1a88d8593513325c2312440d35f429c7fdfb76a9d607468d3498f6fe9dd3456534493414b6a2e3e47ccf9074912e6562ec142674410d33301ef1727a974e45c3418d32e426bd9be6ec3651a51a6428d45fe8d6acd0cad018facc7e3a999ed642a7841a623066dd205722f6a046180a63e36b39893db2261800c8420d301c2b49974fbb4fba18adf1054daad69c3eedd9bfabe185625454c9b4cf19623877e1942d293a55f05d9743229108d4e0027f9116d325c939edb7e078444a4917358f9d35b4c0aabe7c89ea35b2e09a28ff9e3eb452e5d4c042397feec939d5b4520ab9c2f924efdbaa1c8d92b742bd5552859f24dc7abe0a646fea5fb834f21da7427de1f1fd131543f529f8c94fce31a934fcdf52f8f3b72bd5274ede8ec2a39d62c259888e98a160d9a6c548876cb6fc043f4525a9bc25eaf889130a5222996c439da94913bc681fd33c4975e60f13d670b28c66d2fcd2548d257cf2a351e12cfd788e12b0afe85bafa41ad34dc2b69ae693e8e5a6e322c19c27a74df65f946a8fe0ca792531948999296b84e4384de65f5284c44ab79da3e771328608a49a974f8a7c587908d66446b5e694e51e21902b1727e58f060113cac22f974028d64a4d9ec90b13fcc19a2175574cfbbef3816772c72499cd669fb4077dceff58cf92a1c4b3060ffc0efbe9cfb2c41477919c4fc22bf32429585017de9a94c3bce84af7b9c0ac3cbb84cb8cd771e1aa6e79c795345973b748e8acd29f2ec917da22614dbe681fc453ca592d0cd3d9c172a71056d3c2bc643a22b95b52c92c2ad1626f88254d952959b4717b6fd3af75a624040a100be63699b4b5c1f73a0f8ba5fc3be3b4766dd45fb1e87ebabaa899e4ab5d71944ca6db95adf0a54caa186e4f5766c5d1625587ffceae5cad22b9836f9263fe9bc91355987e6f7549ce9366df54eca3d71af9d631c5101574cfe446b924757e4f71d4ccbedd943465cd9a22bd925edeef53d0154b51ce9424858c9fcf24478a7ac22d9ca837596246f1adcd995029268af5839c6a30cdcbfb4351a67ade24e54cf6e9a0307c7aaf8acc9f38e74cf279a4fac6d03de1c97961fb19fe3fe574c2b7f51cbe2dc728d972a2729373ddc9e94e6f36416bd478155ed239c79a3847329e7bfc27df64a20098f032f4bdf2bf2f939738ec772373f2d049102d41b4496f295eef24210f2940254a4df3eb201e25cad431cce69017a3a949f4b99268b0f6f7649a24cc4f61e7e259240c9b495a63c465f821f1070b55e7c10f64c8ca2b3e5ca168b28a295aa844a5b4c2da184d8e159e16a4c28a37af5d340db57a27ab30678d521a39b7e94415965985673a793bc6d0472ace5fd3cc60f25b8a8a533c7b89b76d214b4e81aefffceb6710f99882550b95ae04fbdf4c29b66092786693c4d892a2749e1d65d3e7a4721455d7e735cfaf14a32842d1554ed2f8bebcce078a8f4f28eefff7ee296fc121e3c313a558fa6f95b9c59db82bbee86885990d2794bac9183b9215b24d18e572c54e0df9bb6842cbf8f82ad5513a442191080c4e063e3281c9de4939ae9a860f854422634880031f98e03a89457b563b21af90344e19659c8f4bbc61d351fa61cb2eb7c4be9995a2e5dc1a5fae445bb193183d6afabc259448d4f3ea0eeb9e4ff7103e26e1ea56ae750b0f79f1901c661c07fce043128949aa3cf975ec936abe20038df608b49381467b17e1231274f9f87a30dd1b9b77f0018942be4bebc49c312fa4838f4778d5f1bed9b27674dd11256bcf31e68c73f0d18824c73b2649cc1a53e52bf00508c080c129430236f860846e968493ca2a3264bb88c4308ff63299fa322982d369577d8d73e0f848c4063e1061bfafba54926c4cca7c1ca2ee1426adfa269392a9f06188e36d3cd120231269c04721acd04e4d52c51f8428b9895562705791c90ce22c9bb3e1c4c4743902000f3e04e16868124642c7d4832191482482e323108d85d6f1de127a539a840f40f03e71d5299d143f4c0040c2c71fceecd2d92607f37a041f7e583fe51cd5bb58b72c241231638c1e7cf4a12449e79b24c172dc394ff0c10736635bd3864e319e30033ef6c085f35833b9ec25e67c0186153ef46032e9dbd2f3c987cba9e0230f7b8877e8134cf0e085e738797763d4b88ee1e30e25c9e81f2e76081a391c870f3eec906cec589557eb5e423144e012f8a8037a362566933b59db670b1f74284dcaa167c3ea46fe39946b4ff44bf2e658625c0e494c49f9689cfd8be360664e1bb5b1e4b3490207ca367ed037fb36cf79c3172edd24293cd9c58e1b9ef6a09e3a7d6c68b60d5aaacf4757fd755dd960ec98c4b432e27b92b98692d82a1fa3e7f972500da68f1223c24dc397a735f2e12c53eed05026ff14efd1c5c46439c332f7f6751d4a8c71333ce9ba5b51e5c424521992724787dcf589f458093ec85092d3bffc2acdffe8633055db595e4ec27b7cc590306d15f5b32f2e5761a8fa7316d11c2efa2960384e4e1b3be65c59994bf9f84272f7cda5f56beffc53f0e105ed34ea74f2e449f07c17f89acddba1a63cebec1f5c20bf46bbec821f5ba82fbaa64bcce031d587163e3eb2608e21d299c6f6e2999cf1818523deff7f2de869c915eef03155a8883eac506cf5937b36d9b4c8647c542159f394ff66b87429161289e410e373c4c08c43831c39c63863011f5468aaf2c7ee2a060f7f48246201267c4c01bfb9bf6b3357ddce066148c1f0672546898e75b21685fb324acebcbfbe5f502847e588142dad9016081f4f30260df926a9252bfd14a0896755c8d668e25915aa359a7856a594359a783600247c38e1a309f4c1848f259c4fd0142ea8278d97452238fe78065af0a1847a6f2d87d1cc66a2f99104530cd35129f8c78be607128eb1b0245e33f5b1bcc0c711ccb4909a719320d3c10f23dc318bc97262de8a0987442221678881e3a3089b6cc6b78ef6a86f92231291c007113e86f021848f202ce0030820f8f8c1870f3e7af0c1038f5d78e8c223171eb8c0e29becd96c131289984186190df0b885872d3c6ae1418bb2442755cdd088410e1c1370001867a0a101312610e2310bf6443b296e45e59ce3b2584aefdd247163c6c4b1583d359684f559fdb0f85563987bcc292e9a5754d2c91bfd31f2cb5357f4a51a9379283d5a819be78a981c5618da4a92adf778b9d455143cc7ffc4a4fe1c2a5564c023151ea8e84fce697d15e584cc84e0f038055a99a6cbcd475d43627898c23a2967aa953bcd6d528aa39378b274b4eb750c299878eddf28f9284a9e448b4c27cbc04314fa57d4da98298bc724a1c03c8876ee91ca122d28f0fc97f2b7994a217ee27c3d1bcf9e29788cf1c473692a485dd20b15dda31378c6b417e1639ba672a2ca15d5b3fe490a3c3651496892fe2e895dc2a889f3ec7cc3e4398647268ecdd233657e566f0e0f4c5c9df6954b3e493db92191c808c0f8220460d4c03b066394318116238c09d8c1e31249c294f82d3bd1511d4ba0b1c96455b3b7b92a2412f1a804b69be40f9584126e598fe7e4394bf47e127f0a1693e7144ac28a1943cac348ef6422c1b687a918afa30976880724123cf844779bdceaf8884e8cf1673d9758c1c311ce8787d858ca6172a511a6146e56423a7df4e60b303850060f46b467df315162a7b736125984d9d54237da84d18e15e167363739c47e4a35137195a01f9f2f7bd90711b9858c99967b1dc23a041f7c2edc464d1b4b28091e86203689152b2b6a3039a710a4da64d7f4c6af9910c60b23276b61f7527e10765a544ebe26663a09031e8230f66cc57de96fdb148f40a4152acb3eff80d8c63a26417ce681c71f48d9b5d89b3a758eed875392bea4b08d26756d4824e2d18772f4cd8eeaa6fbcf28630c10442281f0e0432193e9456edb49d5ef81cf9d716c2be68939eae1a891d1e45cead9633a0fc7aad07eb16aafe1e2010d25addcc79242cfbfc3272759a5a296454f92871d100df2b9da52fa973cea90e79343f54df5a043d3d9b2ac839918a3ed3107bed2cb37fda47e593de45086bd9c946ffe7e698f38245679d6f5c7cc74a9071cceb6f1d504edbb109fc71b0e153ec99f266ebc097ab8a158212a778c15a9d63dda409c50ee7692964ab61e6c78bc2d3e4ecacad71a12ed9cb2b387850b774824d26a703b7b2ee1e41a135386471a3a799d4c825d3cd090899f697cad8da62552f038837bc2854dcf539b9731437277d95bfafbaf789ee15186360609cb183eb94b040f321ce59d634e9e31cdf218ca39ef5d77b5976ced103cc4f05fe730992d71a3df61a8f74d8acec17bbf3f207880c1e81f27dfd59b2586021e5f50ebc48a97bdcaabcf0d3cbcb08c9f745b718f2e7cf1d5ccf3b849a26e48245286b7e088716290a38c3172b4c0830b88a69232c7b0933afe1e5b283bbe949427776d3cb4b08bfccb5f4965a7d7230b6526c992ec567292f324c4030ba61893ee7967924fcc80e00a9b143eda4a945016f7247858e17acdab2125db53ba8ce05185320f2a784cc12b492c49b824957c52ba011e52f02b87137b359b74499290480407163ca260f0d74b4ba799f1ea1f784021afce7f7963c89ea47bc0e309edc52c5fe1d99003010b7838a1b8a9e4f8598da16f376113fd5bc42576a3d44c3069c7c5c9916b79e71238f3bf1cd9a9125837b54c62b4bcf56612ac51bf99bae09fc14482e66b628a9b98e2c92747288cd9e5d4f451711f0f239c83e73341738a7f1af7288221e4dbee2c9ce6d0f12042eb15962f6bf786b51e43d8ed2c568a923fb3924cc04308f48fbfc9b37beae1f6080219da638ab84eb7f63c80806abeafba170dbb56482492638c1f1ce139a73cb963c9490c498e196178f8c064ff19b3cf5b874be0d1036a6a272e88ebc183c5a2c598986363d670191dbbf05368bf6852d6f4690aa1431757d40c965b92ec979f5cb41f3cc9322f05a10317a5143da63026eee739b9c5afc1e48c91cdb425d9618b3286d94af149e3e3d6518b5e4cc2eb2b6bcb9e35e8a04582945052a8ed423a66d17b5a26f1a43239b9fb42872cd68cb2b5d16c212f250452e88805eb5a9f996a3c85d228e38c4804471a6538008c323c0718005842072c4ea2c7a912e31982039c81460c1000c675bca274b8e2041dade86085f952ff527accec163062c0255840c72aced2e17258f7dcbb5491b4f256b31f257ccae941472a4833cdb05ed172fe382af060a61ee3341da748fd72ec64de12a4e3a650ef7f6f277c665f14a3a314e713254d2cc9ae1056072934df31f7485f031da348ec8a559672e6933b11e81045e28e6becbc09678c39164376f48d7c092047483d4fdc4fcfeaf1834f0031c2e7b197dfb466024811b22ceedd96bdd3be0f4284de939c84d4a4571a5d9021241edf6ab26321e81b4f4e1e4a2a09ad0681cab1d3d3ad72554c0241eb60df25a6d80fbe4ea27fce2704e283d6d3e70edd6e48242207901e7c5725b76b5089533f24127103080f7aff30de511f2c32f3828d5d68728cd8bbdd862eac7ccfbde86bddb437c0462e5849cf1c1bdd049d66600317a6d5a0963f7bf87c171289e418e38c306cdca25ceb24a489c9f247c5165b89d14f935cff1f532db64e9ee40f379ecf3d213668c146c7cebaec959724d3f017906163169d762a134273a7b00d599c6a2e27ff4f1bb2b35864c124298494d475b14f6cc0c2c62bf8dfaf3e2fd7ecfbb0c0862bbe3c56fda92417d73d8473d8680566f1eeb372d64cee462223b0c18aa372532bf754eba460b0b18a7354deb7e6a5ba2a5f7cf1858da0cbb0820d5560939b3aad97cce7980adea3d653cc5c136ca0a27829e737f1e6d2861f06c70c1ba7288559b0947373820d535092c5f65c6e67f2545e50c618342805f951e1427a4ad1ce42820d5294155b2b67927e2da56c8c82f098b30f9f26662f18638c901c2dc6c9e1306828d81085f93bff2687ad7cdb08853934daaad6214ab0010ad6325e1693dd7263250402216784410233600003077cf1c5173e83308e60e3139869922ab243b6dcb2e10945632e69d46254d0ce46270ef3ec18c46f820d4e246a06d9e85e99a289d9d844e7395e740b75b26a46b0a109f3e58b92a1c492e36d99e832834a744e2979496142a924c9df95c3eec97c89c4f872e36f3996a0c2ebff9814eaf97525925b63654d9a367b0629615b2631a3756c12a5acf718b3701e3fc586240e593139874fdd1e2a2bd8884463a2d99c8774f78a4282edd01d9354dac623cefa9f2a57e714ec6747fce71b36a6afedcfbf11a5cf953a0f9b6fe963847d82fd985829e5e1a7e12ff8828d45e8d2d9236fe24609b6229eef385b79c684fe3d11b9c4948fee8b08fb6266e5f647afd8c408e394d15cb0718872de95cc1a51e71619c2f59444bb9c666ad117a2b0a9b9c6b62a2a4d8846c2afb7e4c3a325870c6c0ca2281fd5f7bc7964471b8230b3eb3463fc4ed7692310d5b6e77deaaa9c372f0c7c5130708605a260031065ca2677b8487f97f6073a5bc9b8a565c30f96fdf66f270d7a771f8cbb174e33766e32e14376ed31096b42787ef650ceeb2625ebe8c1dcc9a4ed3c29999f79e07a622b37898742492999b5b69b7c774898efef78429478991decab5d7ddbeeab541d28adf0782119bd297430356f6cd0e9e7f0dde50af3b9c7c2771b725055af36e3d207eb101936e2e0c4cdc7689d62eb0d07ea64ebce9f3754e24921d66b93fbbae1fcf1c23f45fe64db8653ee2b58902eef0d1bcce4b227317a4134be86538fc92a52aae1a8172f878be1241d3d0db7896de8e8cafbcdd1a0cd5f8ef4d33415f33374f96de27f5c8cc966b0840feb5971194a6b52f420f536de2183db49b4f6142dfd760cca678df8cb8841d331ff568f7771180adfac5c5ee1533530244609692b3143b8f585cce4e9bbdc0ba50b36b8a08cdf446a6c874ce92dd0b9e262d85f0bf44ba7ddf5592877c5ee8cf1a136070b98e6bbb4f45ca1b814b4e285edf0192b98c3635b270d9524b50ab7b765c66c331530298bb7f8df6b18790ad6e70cd1a93345136429f46df154db8a42d7b1a737e76e6d0a0a599d7db8ee13da53f8099df43e25fb656b123b0113aaf4f2aca995c44da02ba63f54c7bf93674282e6f5184b964dca977057d9cbf925993b5142d14cdccc1627b73b49a8c34999c2b44979b3484894d44ec209e2396a8ea09c789ad516d6de3442aef539a322545279284b49ef2439223899364587b69c646b085ce65c92ba25844e36add6f45e930701f19333dac6ff4e2098fe5d76e952af557ee056f68faf265bca51e203efb2f6b4fc367a60ea924d5375c712f33678e0fb4962eef49f59fb2efade2c753d7159735df479efc92b96d997e482933a4dd636c12e3cb8307ffba2e7cc2d4ab30f72b265ec8bb1c5a669e38b465cc96a2d923cd5f8775b4c36d2e2989ea1b517eeef9b85322a99e25f3c4defc8a2f811e569d38eeb7662b1e7454f7229da86ecc00293325c44a88e09d679c5e9bec6ec24212a57c7158a9998447e634a49ca6985267fe5fd282bcc51e9fa1ce6e32b67159794396e08cb6cd75571127cdf2b77f49e0a3c9de58693c5b76b541cca3e09da96e6b453e859ae37f2b6f2c5a670d32a4684687a2629059b4467fb5652e05772bea6981dc5f72598e71cfb04d55614560a1f75eccd50a4396c339e942cc3070576f983c9dad154f54f649225396fbc28cb134f58528a9ba2658d4e934e58213f9ae62d572f2752f94f31665fe993dd44c2f6c526992bbb8c26cccfedd89b5d52644c26c88c9bbe9615735f0613f4e5ef0aed642796b9c4ea75e26f9598a6e42db1a64ba1ebfde552bc12785ed77eacb0af124a1837d55f0c11ebfb99449e7dc1372b89a4b17499c6e4fc1513894c9c97cf66a96b83849da9a1498c52b54c1fb1ad7948334912ea62ea08db2ed3e49cd388f2ce3fa55bb6327946e455627bb647e79c2fc294de627de69b68471144865f4942c9c5d449c43e9a31a2043d496c1151891e2f346bf24ded218efbe77d5566219386787dbf363247691f0b419f9bd7486f4c161222714bc8dcf8f429b91c8471534f72778b206c1352339418084cccbea9d6747a3d4070367b77621e63f2877298dad67a3e39637e68531277638cf9c4a8f5a1d7f50ed5c933262bf97099a062a28c94252bf7503ead151342ef367af832bd62749f07b3adaaf4769bc61e0fb4f60916de2149f3e26ee3dee56d07ce048f498eedd0761dcc24a9b4693893734a87a54f8e1fb4da92989c43a1a47d150be5a05e565acf1787cd5a77638971513a38a049ac944ed6de50ca985364d4dc22991b6ad52b2f934e9abdb00d6c5c4acc7d959852c806ebc2a56e4dfb3015aea1cf53bba5aa771ea11a4acbffe2954f03ffc993648cbeca391ad02817cb9270c1527c06ff42839fc58d9f2766481029d524985c19ccd13d3bd5d916db238301c660003118200c66ffbb24e6d025a50d18bea0e9442d8d6971fd427f725dd4f494b38be705267243b8c79cc1b5eb02ea9d3de7e79324bd8e0b7aaef9ff926bfdeab6c0aefa58a624e6755f0be7cf35b184a8f7ddb3f04915a51b1d1b4d1c0bff78acd8e1648b397c05663df553ad09f149ac7027315df5987acfa40a9dff6f98cf181532ef793de93676456d0ad85a4bee5a05f7d2a450dfd7f75c88b487168543b55e4982a6f1141a14b05c17ded29e94eeb1276841d63b7e5c570b9d902871d937befda49435a11447f385a860d2db4c3064b454bbe8769d97709f87de5e4992a71225645f4265fe8badd826a1cafaf5de49b6e90c12125b3cd4563af5f0119e93437faa9b67aa463065096a622f9bf3958663e08b2ac34b1a8e812f8a160c5004cdba364d6eccd72c2268a14cdc982e3fdc660c308446c6464f888ebc640921f1b2c56c189b3e134386018290a592f2bb75d031a102c21daf358e865fcefa0f92a2ec97a83163ae7de09e9cd3450bf7a0e86557394fd09c0dc08324b3ad4f4e196ab1da456eb9d36dc925c826d1459d32bacfde96ea9b8b24f1dcc4705ba5d3e2828eff950b5bf5b6b9c5572127b4686ce1d866cac8bfdfbe167b756d32136af3adb430760a15f5726f9ddc2cd6d03ebda93b3a2f8b52e624955cd2e71363f1018b4d1236d8fbfb0159f0420beb9f674b9a951759683ec798c2929aa7fc8dc00b2c2457cc2625398e4e8985787185439bb5c9b9a4b9db2c045e5881d92fbdbc1a9374ee55284a96189b2ec5c54ce1c00b2ad8fa2d6b6f512f9d68c81961d0600a78741265752e462db91c0d8020782105f36294781199e16a4923f132c63803046498510130cea88104bc88821750c83327c1b254cbdcc4d4c08b27609ecd2431895362ce1c27fca3de65967b1bf3a609e5a8246e122a5fd0aac8f08209db68f778d60ec93a97606ad5f55012d593c11878a184acf255755c75cb1b4c82173aab6d4ea17622126a4b25a6fb5cebeed511a8c8a47db13de69b2c24120901086ee08511923ed5435dbfc6c513004bf0a208e67051cc4fe532324e046cbefa52baf98f5dca109c2e970a557912429e6d57d2ef5ebb38bc0882995c6a9358140885c9558ab6f199fa920cbcf8c12ef239df833e50aa4c1264add7cc342f7ab0a6abcefe9d54a296022f7870631737745158d3ef4d12eb31ddc8053be2e6e165bd810b5b33668dd5ff16c5ecce11176652d2b185a976dce2fc84d612ad4527bfa7f5fb941b26dea0456553ea5b255ed2148231831bb3b032e96764ab25f33e2412e1c20d59984bcaab97252191482482034718643800078e06a32d10897c61aa5ca29146196788218148847118342060802bdc88855f9249d671762e1f0e8944ac700316eda75dd46cf79fcd0ac38d579039996b3fbd69c72d2412894470e0b844e30b53058d2f3a8c08e408838cd331861baec0d4aacb93e79cfecf1cc10360c0de6498a1861bad282529e55a89262bca9e294c5898775d6fc68d5554ef3179ced360e527aaa0cfdb2e8931f954527370231568be7ce8b5abcca1830a93f4fb644be6246a10003cb8710aef6c64554443e9666070c3148937f3ef715e6dc74ae3462998d6389bda49c4b8418af6d6844b9b2c57da2be4037a631449726aa2ba6e123e7676704314afe6ae9f85a913f31812899ce046288ecb254db5892999020a2b46860e9315f5d9ff843a6fd26787dc13679b7977b6d0d07b273089b76c524a73c2b075e948791349fd1ae44bb5f7e54413de97dc6272b8bcda4e264a6f17b365af44fd8b097bf349a142f4458fef25b6cfb81637bd96e8e43a61523a2e9bb895e82f78e758957b192e253e95cebe53bd33713309e34abad00f7d796323896fbba2f3558ec9662251e8aed416bf5b4d3290d842ecedbf5573e73ce20da3f1a7db52c5571dd16a4b9d2cb7d153a78d60f793ff67a68c30744cf9ac43d39d902e42d5cc9b4d98af682d155108ebd20f4b3975101381899e68ea2122e2187a397ba973d7dd217ced703a256cba943b43f8f36292c69c98d058218c29dd52ea0d95443542e4337a7deb61c2a43608639ccf9b0c0561acf5f70793fc4f2e1076484f3397fb635f0608e23e2536b5965bce1fae64497f2c63f86be507fb36536557564cb9d287fc37b755ccd96f3b7cb8b3c429ab34376aeea16452f48cda2998bcc7e088d1821b7ae0c40a8b715f27873d0fc7907ccb68f2cbd57828c689693da86dc996bf8376ede73998b41d126f3efbe5ec3a7c524cf24a4911d91fd3a1dc147e69b2fd633099439d3b67462b13cb5522074ef2acc9103f6ec91307272cae859c20daddc2c1602379d1f634e8b56fd0326bea1ca53a3e65dc704be6ba7bf6bca96a1b54598d3b4952369c4e38d18d7db6ba5983f7152da99f732831a786c7ba2e4afc9bcedca5a1b8ead74f39d758cad0b069cdb84bef5c12b23390e51d633ee12e478919fa12334ba8aaca50943df9bd939c4f4e293260318971efa61a8367139da76277e22d8663ab89b92f07cf3887613339e73f51cfa3ab60f0636549c9ec3e86b17c816d2f0fea39ed29e38573553d776ecdcf5d68ac533ccd5973a614452238426e70a194554dd267c4efc55bf0442beb8c413ede9faeb8a105a64c4c7bc962fa7ca9ca82395fed63a54e552559cc90c40d2c142f5a14cd96a73e6337ae70da6daa9877436070c30a76940eadb937b72cc20006699471c61837aab0a79f94eaaad24bf4e970830a5808ff3da1c18d2918da7d4aaa7ca920b7140e9ac293147318d76f435c70230a77554e15a462f7479f8c1b50d8c5f37cf0b6da8eda3150c68d276c9d25984daae966e050c0172018a30c3f4102bef802870212f0455ba00cc7918606c0002312b944830061b8e1045f52d3e7b4153fc9e13308a38c0f64e146134cfdf228e53a269c1df2831b4c48164dd77349f9e42023061c89b01961c4808c1840a0030098c28d25dc50c28d24dc4082ad95522e31d9d6a5381a378ec04c6bf8d0dbf57fd2378c70a3083788a0811b432842b8118405dc00c28d1fdcf0c1066ef4e0060f76a18b5ce0a2d4119ae9eba5d97dc82c406e618965ce5a0c009e00628b5a80d06216b2d02a5af0d73397ac3e1626b54e65bdb9937ab078244c25c764b72ffc0a24e6bda4b4ec9a34d37d4e192100830620ae2033eed67c7d463ef815006905119ddd4cdcd4196868404158715a679ed29db4ee1f64159f4b9caf0916d1e5aac21c4a349818b395e8d600241594b0296348ede45efe0520a848ac245f5592a42ca6fb05ec212d00394572d75767d886fe98a40612388019078c1010533c651f83654dbd9e672a85714457bfe4438a6fd684564f2d1209036414d757fe383976d489391051988474ab0bb297af3d4828d2d04e83c2b1244b9d8f66abb00989442000f289c734c794adb5436f3224127981bb1939c4f09033728078c2cb2c8b23157da2897981bb19209db8c2a51017762ea5048413555f5ab3f078c1f40b49904dac26fc76ca890ab52f8405209ae024c5d7cf1189e000410c8e977186192900c90408268c3177bcf8b3bcd1f425bcf031c9b97d313aa68058e290504fc2d867f0ff3e108970191100a944aa9efe4495b1b1f85322c17312fb5246110099842a71a2295cddedc7a021038f00fb082211098048a2eb60f2acb58925a69c9048c41d87fb04c6084106402271ce9333d7560e0289a225692f435d537d0ec823122c5b88cdbcbeb1cb05401ca1c95137dbb445dd9834c2a82a27debfdb5a2561041aecccf4e417d14931549b4ed4946515b15e502bb975b277d244d06392bb396f87880e117ef497c83ce63abd1d8232e9044f62854d979221b6fd4fff98f32c050da41012002104c8204004011208104080fc0105207e2001481f2cc1c63f7625bb7a7b00192048c33120802380f021ebcefb39a885cb0d81ec01440f207900c14335196763dfb65fef2c06075c007287f24bcb3ab5848689ed9054a1cba7a4def49082d481cf1c6b19b347b9180342073e4d7c49994de6b05f9ccd6fc2e9c87ce4c08612ceb7a4931ad3c401b7aed86cea5d7bb13040e0909c364992c9f326ff7ac35bd1b63dfbb2b5b71bd8982975a50c2e9e4ada407457e6b392cd5b6543dd531aada3c9b4456b70ee825dad25f13dc66aa06a45d42e7540d2b0eb2761734992853dc107414395694a94f77431c40f01394373c2dca56862f5dd6d86cc2a09a371923848194e9651ffb97e91e1286b132c76edcfe7a8808c61dfbc9cb3c69c4aa8190c00f000440c27a9ac26665bbc094f48246286057c061b8844707ce0036088400c0e442262a051e58b2f3e00c618619c713e90c603cc709fc01961c0800c10442266b87f0022011286a34999e3f39354ee558e1c26000183e964133df9e3730a471040be40e6ade54945e6760a1940bc50e52a6943d3a60b9e7f49073521e484690c205c38ea376328afa8affe1688ad0a39bd248816c8933bc4c68795749705d343468becea6e0f4301040b665a87cfba9ca4a40f0940aec0e54a526cf054297a7805102b9cf4531efbb04e319f20557862faab44fef437805001950fbb2913b43ceb2191881969009942d2fb25dea8abe66a7062708653c00c338048e112e4ff54e74e6cba901c639c91c3c518e3022051b063f957b292f35eb438000205b582fcea7e68b5e44fe8c3d3535fe256537602ffdad9b173708f93d384cdac63e873194fee320197b7985c64aff6324b48db5b345ff4048812320ba7b2bf612c8024a113933f594aa2b79d55051024048b8fa8d4cf630261200e8583a150180000866c6d3500f31308302850228b4522a1709ea9d30f1400003e2018484e302422181a140c14101a1486c3a16028140802c28040281808834402116929a17c30fbf61d6240b2cec5e85d8a308f97df98dd340feb0a0fb84823fd13323488882bfd667247e55821aae41b91fab4da775af29fc84b909e7e77b81f2b8a1e23d0b069fdb6569cabe87b04ce2851aa4020b456a901d73eb200e461e7d55f77b0aeee77eeb0378a3ac18cb1c0a036653c4ad25121c97e2b16bdf963c3cf3584a2fad9250afb58a8fc8f7461fbd17f3b6b7cc4cf1ee7d908bd6a2f6f82d34244c9ffe0524b5cba552a104efb080bd89057a54212814d009a402d4b13e5bfbf0d8cffcdde254da68f2617bfbe7069736ab81a18d214cfda093e399fd21a85970148ae126b1c91ab0a619b379a8bcaf069edc3f0028d8079b4fb83bae6ccff0060e2f48e1bbdeb359fa2beb962553ecb9e0482cfd8be629c6de7e6ca0fa88c85e98d3577b544baa62d1ae0c86034f918cc3376d1b4a83e77be17a7a05c5b31934c7c5bb385cb94c3c3f05b1dd767c5ae594f66eed16248abd5094f9d7f63d131502c0484bcdd0fdce7d69f950906a7a080592f0f26d9da89355d7fc41901e1a277378aa33120dc8dea1d757e716f8afdc382b7217c77a167dee8c761eca03a75e04ecae0c47767af6401feea0f273308e41d975f943182c53aa078a3b5b91eccfad2ab11a3c3a267045530a47fe4d109a3748d2a45426af2a89b540015dba434101d8e56a0afc7504a9250884e4190eb88ab138b8616c822b5fa683af84b822ec69e667ed498c80896126b9de9d121ab89d1e094ebdd44ae629727f973013c691700f4052afdeb3133a9650c55c459b04e2072d2b21b7062aef1bae8ea85e582abadc4de40eea5a3f369c4d75ff4d77a4627ee1da7200a698c2e89872507e2965d43d2b31519231b34187c4b15f4dee3d054d8f1f0a02028bf7d7a2d61fbedeebbd93177862c50b59812f1ff55f715a2c435e8be28f7cb9873c3f4db7e3ad6ab928bab9ebd0454904aae038ed7997f27921ea34290ed5257c82806da347f92035ae2a66d308b2eaba903a90956295c30d968fc743bc49407d2722e1318d4ae032887732e2b56d7466624394ed62a04714ca8ab359f36ba8db6832e3bc190925b2c5a6ffbddfedaeff6bffdb33fefbf9dbfb68aef482c5e369dc6a1c593ed4f9ebafd15d8f0379da6bbe936f5b94d2df712c1d17b74acf6abdfea591d173d5edb9d747e20d4d0a1e5282ce79eafa86cbd74c699f8da865f0fe6c97db29eec93ff649fdca79c0e5eb19363e9eda046a927f1493f894ec9c26c0857c5c1f7c08a0f9e50c08ff63bd71012468f512ea263d0d32d2dfc8a97cbd912837d00c80d48c8a5bd5c0a71fbe83545c75a23422c2637ccd0941b2d805760e27915ebf2e525ebd33875506dd5f7445b75d0f9384a9fba60a8028cb6c3cc5c977ed091c534b56a9d3bec53e046b2878105ded9136ca5c1af11beca612a591cf2f8f089faa1ace0d10a881db6a9e561de8189f9ae9f7b67323ab26613513ee84c55c05738a6bd82d4029e9e8d623417327a4d184302970176208c91a2f84ca4085230a1d540138ba4b289b72c016cb7104a745ddfaced52c27b29eb32453a238a2d86cf0666e182dab7ca4a625f2439f5995afb8863f3029085deea7ff89eabcc2d30c915505b5c0822287fa9b2c7e850cc892b36367022f87e8dd192ec48cf2c325359657c665434abeaa281078f306b0511695e0b4bd3ba39c286ae3ad260bbb96a500076267321d324285c9d199cf2b8de8d8f43d66f4dd63063f262e18bf22cab951611ffb2f650ca6610286c24c5cd9f59de1de18d8b26487db9cd42126e29871c7044084ae271711621a44fcc01c7f8d97362dafed12857258940103c20c690e944f75f976075d6b8b0817132ba5293aec45a46a2e591bb0a243cd314ea38bae8549e65e41c6314f5af538d2027fdd38a6770d49438c3aee6a3933c1aa20145a814ecabe9b0e240665af3cb5a6c7486e3f4593050c9f7d42df2f228fb6331c9f36085dc138add520706935d91ee19dabe8a524a0bd203d41ee6b716252d5e7aad2524518a529793a5db5787a6f3342a9b18d01638965cb628f98fbeda0192035dd10ac9c1d9ae71329a0af1453a98fc76bc7fa3caa6e298b2e926970db36943755333d8a8a6112b27d218dd802708d344a5b14d32e2ccdfcac95087a08d05045e1983cbd5f08e8254c7d211407017a3a2c221c426977d8653b33ca2a0644dba8dec4cf79b1d4b97258c123508eb08a0afb97ddf709cfc912907d67e62221572167c12761028333cd384ba6227b9b10cd00b3b12f618957fb27b74c20e2011a9f6acf52bf92519b2dad9b01511c305ecd3d27fb898ad9429dd249d1c7f3ab9b58e468712ef3f6c3660a36f506c9a39c0421fc2a48b0ba50984dc2b2b01115d414a936cd7e9eb9d7192ba79cc979bf31c2833c2f8911ea1dba2b3f0fd2064c93789acd578a0e739b46fa103bf5d004484c4424fb9be467d34e1e045b51f4baaa2a0fd225942fe54467c60c6c686081cd6743a7f46dd0f3c13a89285256ed0244abcca8d3862903ca2a5a0599419c10bfe6c1884e0b952d54e54baddc5d6fa568268e4e0f062aba8b8ac246adce576368005c99b0e19952771375d1df7b3efa8234971e1fffc3c955447c205064316cc8e7dcf412c292e8a129851943d4ada9d813d4711ca3351f6d3a6204906bbbb1f31769e5e20046b97d97e27558b0bccded42cb1c07de0faf350fdd81aadc8e7b877862b1174d47ae6f990c017240cc1293198488b625902080a5b0846d976dc97b7f2b274af245f1650fd56f8c93293fd7d64635ca2076f3634a2726f1c45430ff72e5735185fabed09da8591cf3253f68714b1007583977d91075152810ba791da0d19d4aa452e9c7e804358e2cfdd91ec4c7b9ffedec265ec8ba8ece8bed670c9c11d3f456dfc36596ed8891aaa0dcb7333cf78689df8a855d641707d62e37b447a7c8d5e3904102aa5d061ca64cd48a76dc6fa4425632440109f5a10125e1ae7743f8d405edc5c9f70d29a8898db5cd7f107ca9bd19a034d8dd36f3a767a0cca6df2d675c0887037ce284eefaa5968afbce7d7393531dd96729ee7a182c2e91170946e268de9d387830d5e94877fb947b0a3b13e845161106fc40ca4e3cd7615fec5388285318c3854f80516ddc10728c44c0571270402ef3ce68843b659b5a0519d5255041eedf11eb5b5c4884b9379e4bba9f92fbe915148c6080d5ddb5556d17070b9b939140df9ae790e8066fd5a15800d3bb9df5540705e805e5cc02ee71968a4ced32fb957caea3f55b93c9461ba9262b53ddf37ac9a1916202b8722b292986b70c742ba526255b605c1ecb1d3b25091dd4ef08bb4bf484cd024a2c31f2d942c8662206365180b7f35d690ba132267b2f20753d75267b1fa47832ccc7a27ef1e6c6a9567a04116fbd47af10523014042302da0cb4a622d89b16e654653d9b5441b3cdc20ebab658292e52d28db65a1458c7f830431e118cac43a27ddbf68ac3acbd16df027c39c537b9322495d012261a73e1542aa147192f6e2a3146de9284bbf283db790a6977f8c006310f4096e8343618bb5ee8ad01ce48d63219d69635aef74aa5cab0351b121ba1f51cd609431cb23b81d04a5eafa9ae2039566d149930d8df3222dc82edd4b1cf11c0ad41c0338082f523022b696651e3278ab4d8070cf626431ff702948ff8b943ebf025bc22e258934043d8b5782b7c9004e55d9cd76d402f5acad6087b853c133e8c0a81c3563c36f1a939a0d80f78e59d22c0ad31ee328dc6b503c15d244add1226491790190e8b2e2c7852f753d45163b703e464c5b88867ca4f70052d057cd5b21f8681c4e3d42166c88fb148122ccf3fce19ff6c67cf6a84903abdd20e72cb2e0cac0c677ef8d3437ff86c6e41647e13687dd80f4b544d6c071a7a11950e24e49de8afe62b3827415bd3e081175e7fb13ec89949ecceb2c5842e998824cdca4dcddd95abc2ee0dc80e4a8b6214f8500187b7d84baeaf79aa1a7970c5f0c0ef246bcae638963f85b344463dbbedb68ed9b49aee508c444f9763cfe4e5f3039948fdd2fb8c8b578b0b5d1103cdb23c446430063c75bb73c74457a7beb021712fb99a9c75384d3c4795c4275a4aeca9a4ccf25ddc4d70e68a9d961359d64c0f545098aab391c7c9580fdc30b9a540c005d306754643c7133224d9420d988911fe4c8b5173c7141df8c263e3d2bff41fca29b1749baace42cb880c90d466e9195094d4498464256f02041d24cf4ddc423b0b093dc47cad660fa782449ed64ca1d9c64dd8645dc8a5f67a0795fe4d1044b2ebced64e6ed80ba3e92c6762e0cbe6264995895d400962607de56bc64004d1181330cb24b183dcb78be12086af60874f0cd07fe3a82b319da36a91b56ef0f83a5ca7e9b0b3bf84624f78ffac4430b3aac85148c4c9f0d1b08012a0a59ba6a2ddc670596beb5daa02234b831f0beb3e2a45aa289bdd325d5a3ffe2e2253a6a47c6adc724e10de382ca6c55a29e8de0db4eff8c51cc3c617c1407b6fd0506260f644c2f267be127d9c7c4514ab3db17d123caffedd77b4fd6b29b318d63ee5013f2cc9c78c3dd06a03ab77a59324bb29d485e9357d768ab424fa69315646b52791fd556a9805f6bcdda517cbde23a22831f4506d44170abbe5b3f3324dda19df61b987915cb102d63c8899acabc58c8d011b0eb4535088fc3f88a6f5a4adbefc66df1a4ab2995856c5f9f6a868e6e82a5d73e16711b9ee4af9a2360a8beb94ed703bb46cb3bc2bdbc85a543ccc02f2c7f505b3575aa50a0303152a6d4a64e25a9cb870b2930b1c22fb1e471823aee710b3b74930e0da15e4e0c8de22a3902181e09bf4492db03d4829811e12ea6f71a5fc93bc3ec36603e002454e7975bdf765be3555ce2643ce1643cdc10ae84629a2f5c4574898e52593c0350881d5ad08a19902795ab6ab295133f46ec8c4dccf6275a8dabb6c9f10a91311a8b33f2c25dcc755df40588b747362f9ec5d56c080d2b730233420b3148522aea9cdbef3143c5b208e0477f6aa4b4e6248c8c0eaad13aaa512a1a51728a9df4799b340aa21baa658467c2c7b610915f18d986ea4f64dcb9450804f32a94323191c8b80712cb1112c3620cbb623c33f873a7f58cda38290f466c433321b8c524d36a0cced82be78b350d114285ba14528974fc19a40b799c045ed2153c224a0c4f7ad7fb636898304211840111bb7764b7ef016249d5593ed529bdfbe98406cd3c9cc24ee894180a3893c61807a76bc4cfa38c390adc0c580c583c25cd4b5fc54bb6482cc7480c8b314c57f147c45e4c0d1ddf299edc0771e201630a6032c96d134dd10a45515ea9944a7941261eca2f3ce9cae0a3086b4095c277bb10ac0315857921c04015a09c04e02f6fbb9bd66699fafd7c8ba658daf5c62aa2a885a822d942f1ee5089c4ac5a2829b501312e8aa40084b3318cc2463a6edafaad8b4c84ea442753a6ac94eb66f487845bfee84dd6984f10ad1fa93de24524841f6dc8ce51377647b7539bfa4669de1045015174974801d6dea5953771472ed0f9779942f20edf4531ecb64e2106fc44930d68dd25179357d7fa0d5f2994661f374f102de312ddf579deb2d887920e71560d043bf3f8e9caca9fad068ed27447689d6559cff65ec6a321096cfab82909b2016fbd03503c66be51f908b9ca9ebb5ce5dd5939856c74e3d0c28940e7c1170244fcc3a14d1dee3898bf31d3c24d6193772e22e86165662db099389ef0b94aeef0993735108e6968227d18241065443bc62068d7a6d2e613426d00dc0788d4cd8621525435425301098ff2ac7a648dc917b7730a41e27b0155885b30f07234261ddbb057d354b655dffa03bc05b5303eec199cacb337201d3dbb2cac91b11b172ca9bcf885bc4902286335576f060e21ae509b47fe1d1cdbee4de40dfec9195dd3d0b8d07b9bc9ada9f038b1702ad6d341c203ea1a0b11ee6d37b72609ea7fa9d3b96b15ae17379be1d445e17c56d6d1fad6295be36bbdc0c29d82cdd2972ddaee53f6f4daa09f71bd3e24fcbfea0cc3b037d853ecf8376bd105ec6b9a5e7b99a617961d9c04a93de259b46bc7259aa03b72b9f0b9190a5712e0157cad320f70293ce8058d0e5aa0fb0b7c1d68a2c5f2fdf6e5b3e540d8abd9416d28f732c145e972d12ada6d5d2b6a4a143a1cbdfcf4e9d25a2b72f2cc21ebfa6775407d1a92fb5ac9329d83c98f5937d8171773f18136bc82e6e4ca451b557140443a5dfa50b2f0523a7ad7702725ab995ffbc8842f311106e3f9c1ad7b670ee314816dbd436594fbec0212c3bfd4585399a778b400dc0b631b65be8579ae57468d0f003b2f8b8bbdde6f3d6a30576fbb05df902927c6e9213d48cfe9697a4c8fd353ba63347a6b0704a8acc50911a57cad2ea6a0251561f5c441bb8cbf24bab8bc72694c43fbdc03d15602b4ae0a657266f4e0b8c22892529af7f558c4bbb7490f18a67aefd3a504589f5137a34e305197adc0cac8af6dae641991dfc321705ebc1eee70080280f26bd4fc103b39e50b3c096aef8ca95d0d3a0151508141449c6e21c5ec6d38afee963195bfb33c48f68b53ae0735d4de3448ce473eedbd8abbf6705dede3280582c839ffc3b93b404b72a8a9654e94ca24de4f47af9b960e776ea192db4a6ed09cc4a097ac70f0bd7e91d534d5527c400c7d453cd3e1628a4b6512fa77397f1036ae2f0f55faac1c0f55860754aa262adfc394d58395ec314af508cad10c2578bcb27b949205c794caaad31ce7f02145870e18dfae9b4a437134e8b3f9e8c1d25092faae2869b44a7f8a94b3b0ed355133e9094c7dca2382b6c0f3637bc9c6738b9a3f3d39b55086091201ce710fb4f2c4ed732bee0175b92da0b73a70d8999f5b46d2d63b2aea0c95843bf67fa4388c3708d182441f70b5f8504e389021a18633d7e1cc8b8a16970f2d244fa78ec253e96cd26fddd2bc1b07521c73f62be4c68a3653973caf37f582a8ff81e6dd6895fdb198c9271075ff9082e5f21a1f048cdccbbe8a9a05a73cc2678d5082968f695fbb249bb69ccedae45df5b4315c549e20dfb0dfe4168c70d5373d5fd5b4a1df95e116b427a722a9d4bedb026328b8596397cd1105dcadfc7d32aae6c3eef9a84b9d2e352c5ef4b4bae75a1a8fd04a2c06dd3e47256e7d3dc3944ceba1bd62b62d131ac81fdda23128c3795aad9869106a7d825d18873e1640c9c80a34bf2a0d3d2bf3d49e6efb5716cfff95e7d2abfcf4ac01ce2550c60e6c757a3f3cbe1c237da74dc9919744ecb17181eee91067b5928799617e3296fd306b4d90f647165dc26ab3b9e0d3388a6e17a9f9ec89bd9a81e28d3e3678a721426a5f6947b150a76b97610a830ad1c8b8fc8862bbba9d4ae4aa68545de97b133d68a87de2336ed34245b9eeadd34ce76bd17030b207f0c6c6744ab1d368d6967f314ef733612b5c322614ed927f758b400fe3484b0837b930d125f78107b58aa9b1663953d8de4f09c4701fa7cdd8e3e87e07097d0072c4d17f554cae6eb961cf2302269da65b96df99a8e48e11a3103d704e08d981a44b7b6ff3a8173b050784d87bc21144eca50b1d59233f0428470acd39c487a3482e0e2afa7403a62206860a548f22d1d986bf3825d7427b9c535cbf6cd5e8d392b9e12165e2e402ba26203c1a3401ca199e84de21fbd8355c4a9d89378fbe1d379d299fbd5238c91a994b2e50a7203c1f0586cd2d5868744f082d1079c6da0520e14bf6772b2606305d330d3857c24c0d01dc9b3ed76412fc98b86944283c532b13b2ac62b3e318954e814a4cdff0596b2e70f82fcf605dcb11b6ca2a3d7d6d26139a97b0f24e3b323ec4e2a5a4ebc8f32c2ec7844c2a87a4906263fa4d69878c91b5337d4b3a3155c858989069859032520b13b2ac6053853c2a9ce27835bdc384e55af6cb33cc488a530bf7e12968512197926370454a608e9b6e744636f588bd8bc17051aa28e17461c365a244c58660bcc4cb1fb7238c78f0f7ec15822b17b27b491908a8fb5286fd18f884064b6cb093780e8072032b7ad0659e4a914d5bb292e8e78c2dad4bb9593c915c4be41984f6d622e1d7fceb30cd4f2068b750236ffce9628d5e0cb53af9a5d2044635924e9070bc59292ff33e40e326830e00fda2c930aa0d5a53c89200a5653f47e62d8619f78361b41729c870955b3093c7a27304a1638c640ad1b5675196194f0877c73f178781a648482915076a88a072e7207300e057e4c9af4257a2a738f612aa83bfcb9b28ae1145ffd070fb4bf64364b27fc7a0c5a0ebe80d9fe2f127dd680483e191a00713ba4310396b27d93c77a4500a4756b3002fd384a5eb0b84e1107e903f39c15d0a869cbbb0f60c37219b894e160c4ac745d68e4a267ba7f17df48d38b21d9d87166c3a5cb96966e003f2335e1cb5f967f975a1d003d75f870aa5224d5054effbeb62dea35e56ef50a45e279f3a7ff5c833ee7933856e90521798429f1ada861b748d61ec56923137716decaf2b6350dc2b8c9304b2704b507d8ada24b34c34724be19d560dcff453f6d4ec300946d89f6a44ec0da1172372baa9b9bdba7b02470449e10d93c62924d387a0d257a99486655298523e78a56e3a78b82ff1c5612fcbcad70d7fbfa466874930c20ea14584de507cbd65f0a8997634cb6d9540d27d9cc31f7d820f3c404487eaccb28745da72ca21143e14e54cb8968f28aab3a070f51feb96921e4170c68013fa6b533eb20d2a91b8491988272400bb1ebc323055701f6f0f7e55b8a4ef02429940d1d6d1100842e105ad00e81f1f01efa73af92eb748ee7e615d82c6e478327a165eb8d29575201a7ac5300b50659633ae75f9c09fb50b185133f7986ae8a656549827a09633a33d0f5fccb7980a45d67645d299925fb04afa3ca3b781074edc9b8dffa6ee10a55a42b928e79c2a8803086e3999fe9d2aa360e8e1ac2055981d3d986d48ae3c9088d02fcca392451de9a6774d28d24821a3391a59e83885408a18221654219c4c19819bd8a1c7166a86fdd3ce0887677a4a0065953ca0b01220455b504998049160561a431e25d1a64351da69fde4c712218909c0be0109a1f3e37b942028cb97e561231c0c5a740c194fc2feafcaa14211e2081116fb4160ce23ea0978dd823385b28f6470b41e30380eb2633655ba1c29d24b470933911f27b010f1b0b8123a1293572752a6407b3ec110a81fa86e8f83cc68923e74981e54a3e829ccc6b9edd13ee85246801b82f518211934f32eaa501950ab70271f2e2e43b08e5b69a82778393235c8e09b23606cb75857022ef3cb38dfd64545a1f41a56d9294287a97db4112590bc14e0232f2c99cfe05b06073d1477fe9030ddc6257d766bee8536ac65e62bf0797a8e5e3831df8c4d6edab9173577f8f7b93873e1cd8dab5c129e8e4d9e04cbd2068a8083f85db0ff8cb380cb8f952546ee4bb965c2cdafeedcad0a147c5d6278984339b2048d2412334ec2cd2764809327bd15552d4e45b975a5350f9d798f8e26a386b461e77332a1a86d928774b43d424f3aa74affcae1a0a2a85ce5ff083e10d003cb3eb5db2fab1901919448629de588381481a71f39845e070374f0b275ce3ce5e8248e82358ecc34e48aff9b86ff410c375f2b2c85e0a5ee0430f9c9324ee788c75b784796f9212f11c3a7610ac35f1180a5628107885b6443d3f88eb76855327ba0078609d77cd2dd857be6f469f633994cb92d2f4e63d370cf4a19449cecee429f295e5f1cf954f5df1aeca449060d9b76d2498fc0a214aada2e8d86b35e86a96b6cbc3b87b75a50145c430108e9a8aff186a08fb00158798715e83f582ec7ea23cca9fe68e3510e645f58798e79b1b8724bfbdca51d4c3bf619c1724cb51573e02618a9cc515bda34a1819c7d37dd91a422346ed1841f3a67560241e8ad36ea6a56a17d1724e85a78fbe8fd703e01fff80561f2d83fe0462dac85c07e9c86c04cb933063a784c344e2e24e9fcf4b481283e58e012de9ab0d2f7d7b167184cca5e5748a8c0929102905e3f5d3b064f7cd65b5442b650256fd15d387821e156e49723cf05943653f3806fb376a4d2c53d7b94268d26fecebce2345d93a9423cdb98436554899e6b7c1c421e8d6db02ab8c15572af76c4fc671134ae7c92e79e1fea75c7a1422b73c78bdfda24a4eed5f935c1949591aef83e32d031df931a4903c61243107f69a92f939699a09af791b0ef8e2c1055758d9359d56b3867fcb97886d354517153fe21626474fe760d78b9b324bde92c6311bdd950ab5442505a2a3825458f951c2328a96faf3ca232a984bb900ae4e5195724923f15084a7a423f97d599f5c7fd76f03573f09ecf067e5ff1f4328840f05a07b3f76b9a85bd6020251a53371ffae370956b63550a1e2a70a547843f1a0f8ee6d72412a1582099938dfcdd9a64ca5babe41d9102688ca97d726845e8af7270c1e65edc41b0003a58efd98293967e0c1cb096bf8104b9151fab50835877f92e80250c802ee757d7b2a111f85c063111a618a65449062efcb6f1378fa8e883202af1aa77e466a1c8d873d8c79df30f4c7b1c970ece65f262ac68572f311d086e4daadd582478b624fd1070a80265e04ce97876406f0d0459f8e45844b6bbad86d76837633c73bab598a2740ec474798734aac9bb70c05139ee5694e31a481a4efe62b20a13667efa23990d763bb6b58447923b012dd93fc589f32c2307142027ebb5f8280153fdd174964ec477c6a5d7caa318f7175f13ab90107ade17401b0416e135828605864c21df47460e5fdb41e5fe4f02ca877964dde38e27af64079f0ea23781947d7a0230400a9d9afd6bcc54c2eb84c6e88f1e64e86084a3dbcc756d61d64f91b8916ddab710b0ad7924d3a55fc1b76699697128466d619e2713cb721b1a6d1f0ddb56e2ff43d7cfb64adb9eb41d4db2955be08904a484c3f6ed02db936f6b916d14b82fd7dbce7273bcbd623b8bdb1fb7addf2eb33de9b6d66d946f5f8c6d07e1e6827be5ed0cb6bfddb6b85de0f6dc6d5db751dfeebaada96e720fe68b4144766f4cb263b888015ebec8076b352b5c142e376d01289a0b561549b4b760757a4ac171be86fec43bafeafda15c5f89ffc76c1de6cf6be07e2e0e8e5a5f0c9aa7630f9deaab01896ed1b739ec71fce4072dec9b4b220029a54f0258d8990a132353576e63cf3e172638a3e49c1158fcbd16ff953603156af575efa3bf045273455e408e9f5e04682eafd09b5d1ebcd6d39ad5cf8094ef84cae130d058abea76aee8d0556a42125a28bf913365296fa89a918e4cf3d7f1f89dfff3391f47df55f0393eef7b7d177f436e4fa166cd8e8ff77dbf9f9fbee7d29bbd8fc15aebc2b5b478605c66de9fabb414f8d42ea81137cc0dcfba59733367839b726338fb6ee66cb81ac783e633d26ccccc912f1426156d23bc85d46b059129ab674e7b85f07e89a11a06315672620b856dd894f52760ecd86c136f33b5ef094c0129402e9622c7693c0bc90e6c8448b22664bae4467370c52d7acb636d2380cf46c6b54dc896e1df705ad3477cbf801d814a68b4d823e8e0ae356a64e72273ea673dffd2131bf41799ade2dfa61ff55a410cb97320d370c71c21897ddc221c5ef4042cf5021e8645140e3540b0a490033c0c3c0c3c0c3ccc4b5826fabf65bf3530f636c992331fc67f6824292929f394fd1b10d10ea1b5addc7ef7ef004edf05830ecd0d2f0dc7dce849b8818424d12b47d7e88ae96c31c238c28d2324747d8c7d8c85a57ec3085b3e29054dc9d0b85184e745d63be6ac1ee99f1b6a18358ed6a9a93788f0866ed6d42586086b438261d2cf4ce92fc0385adf69d57465aa4d1a21bf305756ff11e20b2d46662676c7bba7905e942d4a4aa68d9d11c20bfaa38a66b5514dbd6a10b20b2d7bb01bf1981b2ad4855199c424e6a94bf2be21b9e09360f5977a4a6ecf6310828bfdec4bf2b596c719ec81905b1820c416296040482dd0306f834ee30c0584d0e20c0484cc220021b2000989c518de430337426051c6f1f1810c4020e41536425cd1c38c0bf08f342e1012d28a337af0375840082bc64840c82a7a9871811694600121aa38817f0d6ac02a8040482a50718602424e818010538c2112528affd380105294717cf418a38719173081024246d1c38c0bbcf151c64888280610128a9010501020e4130208f144a2b9ea93f5f65ef93c1c10d209aa729828d31a2ae52e8413a8a7d2dc1afd2ed565134f677a3ed9377bca4613b8695c9da97025a55c46482638318a8c996f7e99131e3b768c1182894237b89c9d98f421337aec4006219730247acc63a876f03e9e072196480ae5c974cd67caf734422ac19a9c31da5b7a5d29678450223f93aaa4b041d3eb3c89fd528f65bb6a9274e5b1638724dcb1a8e9562a869f8e8f47c307d7e04748244ef9f8d4b250b71248b89fc64b2ffe7678af8c90471cd4ae4eccfdff198ef0c4ac2dae399a6ce28e839046a8d9abe4e9f0370b19218c302d54d535d8e69e8a0c327adc6011c654d79fb2499569ac0844eb921c63ce784c193ec6b89044f8f195dc5b6390c98f070d421051bf496ffaa6c6370f9150693ad4c6ecaf686e10628832ec465b4e0bf5b117c28fffaeb9a1ae7b2a1e3b76f40821c4997ea32a8a49d92e1dc463528ae992f8aafb510d4204d16ef4adc58a1f4aae330251a5f2ee92ff354fe68c1e643c1a3d78ec600c34be0680488a3f26fbda25e40f554ccd98d12c2df5c3f1ebbf52162ce68bf6e16c49e9944bfcbc3d7d081fcc9e4ef80b5b316d4e4f1965fc30217b683d5ad47ed194447f3d94a2d3515cc55c4c3c0ff78a6a4a25d87820df2ea59a3495d5e13bd0174f3fb88ea675891d6a374db6be26aef45a872d6614c9ccfed19348076c473e3f4d5f8eb99b8315d62225fee59264e5804925b1183f63321a87839f58ea7fc8e09ac161f74bf931a3148390371456ba7ccdfba2c5c70df8e5e66de8c3e69225dce2f8896183d1442a7dd2f04153660d55c68ba92431ad86a2c40e1fab4f29549c066a3c6d2b6a4957b9040d9e54eb71399f1c259367e0674d362909eda3259a01ab8d4193e872356519d2def56dfd74d1c32383793326b19c0ce28fe15496c4c890fd235a8588a154755d77521d1206453c2d7f741e0c45ad1436cca2215f383b5cca4e568a0e560642bc608a1e3fea2e4725bd0b89c14cd47cf53eb9907fac8a154b4c31f16ce1cfa93564f01c257dae8504932bbc998b064bb340ab05b54e0b9df385b170f013ed4df8cc7c8f865c21b30e934d8e6fd94d0db1429f25df5ded536c504110520555fad28474cef2ca43a8b07f4a3989277a27715b1e63fc40c38c327e54c814eeab14dee46871e99238089142f56b427fca299e305e481442a0808290279013429ad0ef26f92fb112c34907429810b284102584ac1192841024c020e4082d083142f5d972dafaa7d37494f907ca40c38c1efc30fe37f0d14304de430352082942881a21440009060830ae64bfc9728c9b82f920bf00f105fe9aaefcea4f2cfa5eec1a73b7cfbd964779e15eeca819c56e2ea577419db06943d244176d3aefcbc936176667fcddd8d54e8be282cf244b850fe32dfeb45296e4ed98ab2c105b24bcde4962a85c414f4c03a416093f2e559d541f80d0a224bd64c7b5ee1a398500328bf2cba5f29d93374d5016ce6b6cfdd33ea9b4fd002416c78845540ee9f9baf30304168f548a9db2a4fdec290a20af38f7587f6f0cd51926ae2878d8ca29633a01a41559a68bdd3977d6749915da85fe49293fe6196f15cd9c8bf49a8c0410557899ca43fb2b744e7f11405271d7c798fde75b93b0030104159f897b3a613dc5b175a771c379388fa901628a2c7f3adac33ae58c00a414babebc74b6d837ad49510cf7f525ce955c0c02905178279e25e92a564bc61085a9f9bb2cc9ae31fc019050d4ea55fa6974e3cc7b461a3ed218e3f418a3077f03157800041479ba6f945bfad52c7e22f3fa2e3331d9018827929246b6a66e904e1c3d647cf7dca3a6395b00e1049b25b262c758274d6713ca8bffeaa51f0b209a283fa8d6f86ebecc252099d0639ad0296b42a5090826f891f84dea2959120fc825da6819fab1021dfe8130f80062896ea474434d94f8ff540289cf0e264e27c9aa7d004289b54efc1dbf3861730c14402641a5c5a4f9aa24313292503fc6f3142fe53ca1e4092091c066f7cf55735ebf050993599c268d399cbb8509208f782b931caba4b1efa07e8f1f68fc0f47e896f29d2c2bfe31e5148034c2884f2554d2adf4f173021046bc25e85e2cd10201c8220e25e48977cca801a208bc3ee6e8169397ca8641049044244486d8488b97537c470041c4b549985d8b59f1d97308635de652ff9cbbc6374466257e4cf156b6322a84c993b46ace12624b23dadbb9d43d3683682f752d88fbe3c44f6d7620c85c8ff11e3d4a3c0c88929918b3ea26f983259fece94dbaaef4780d103f1cff76e27aa3cfa9db072f8f6574ca2725d7960ff5c69958d12f54eab90743acdde5d0f4d51f3d5452ce9fa73303c9c35f9fa79b274e59123c6c76b27a27175ae91dd0386639ae8f9c60961d4e92c6fd0f6727d329207558d27ff377d6933453c400a1c3dd6dc9a22a4345c99943d29eb41f5b44bc5339f8c13e4cc7eeecbb7c1ccca1523ed1a5669395c061af7831cc6e7e08206f28be058de1217b36aa6e408399ebb45540daf0a5986a5226930d56affc975d8a8cf135d859f274236b676f045143593e4635bce7f81641d280a6f7fc245eb69cec46c3d5a69b4c735c53bf33e029a847b4496a983e04103334ba3fa27bb633a7839421e9fdda4d4e3158be9bc78e1d6438a947cb606dd6c1cc3c808cc1f0ab4b59d4a6f35a788088210b9e727f543aa772c2c06a9c79924f8a2040c0e05b9a4c9270d149ecdc0f205fb03257884bb9a1c4501fa08917461f40bcd04e89296d65e707902ee4db7d169f6d654207840b8fe99950bb251340b650a668f69f72b20df340b460caa4fb9b4f435a76b2504a86746c6c75682e08205848d72f864b9ec827d132805c0195bb9059d3c7d5e8e900881574e9e0b596278de6cc191b00a902965c4e8c266d58747ff093612e004285cd4f4dd2ecf3ea64f2d8b163c70e0a1c9029eca772965fefb3bf810a8048c1e4165eb533cc2f2e31804481af4991ccb74f9fa57fa0063e7aa051060bb00002853558c5758e8af66c9f70f826fbd50f79a93a4ef8728a26df1bd3a44a37018b9a4e144098c0695a0d579d5d5e7a18409660f673bb5cf2b97ebc62bc0044096b5c8f29bbaa5736d70b206bec79a93f5d7912730692042bdedbaa0977ad250604095a14efbce892e63205394259734b6eedaeae24013142524d579278e9dd0b2701a408c5d04f355dd91b0dd530bf241dbf080d2e1f12408860aa92f46fa3acb23ec1e8e3c9dbf9b355097b620318cc740c1aaf53cca0a912d8f8c5aee7f35d71b4e10bb3c4be2e3474634a6df482f78e9eb56ecd17261bbc2847468df9b77e4d05367651ca58c1feaf4e67561e3b768c5186dbd005df9ea275a73a496c2db0910b329dfe66bdde2474ccf3e06de0828ba73149ff965a76f2d8b1c3c62d4cb17cd9e45f273b870d366cc1fd7ef628b17a72934cc1462dbc64dba9df6a3fbf4e8bee762f63fc8de913cfa254cbb962296c36756551da8d163a258b851637cd89ff5109c41843c7183a3ef03a90820d582c9d75674fca1d46536cbce24ad173c8cbd527a7ad61c315d88e6b747d38492a2910d868c53256e248a6ed93fd66855f4249dec1c4d0def12accb297a4930da79b73aa38d8e526299b950aab542fde743e3153848a6275bc9fd1afb5d838c5f33a33115faa37378f1d3b5860c314364aa1c9a515b4e5c2ce26d1010030d820453277db27faa38c0c98c0c6288ef7316e99d8a50d51281bbd52734eecd2181d1b10030736428186f74b47b7a78a9dd1600d8851c6f1610314a9dd6579970b9692288f08d8f8c4999a792fa62cb5def3f0c4e529c6eeb97ddccaf131868d4e2019638c716779b7a46d7082ea3ef1a44a948d7d6f42abced66d95d6931e820d4d10f31e7f74e44cd8c0443e9a3253c56092dcae8d4bd8fa91bdb996bd77b3c4076c54a2981791908aee512a1b94d8672d7f54fd4c523a6d4c02b1cdf6cb5dd29fed193624e18f95141d56ee65293f6c44a27c95324d3a395ef4660312e64e5399e2e2a7500f7ea091021b8f68cb63acd9781a9f460e4c60c311b525b92c7d7b65529dc78e1d63988103d7c08e1d4cb0d188846a9fd59af7c95c87d1041b8c30f3dfea52e84676c6c622acdbb494ec4a9398a522f8bb7c8bee2e0b2e9d612311c8e7d5447bde13fe23d84004096c1cc286211ebbe8259e442ee385b0ebfc33e774b2d81e4224f19dc5e296265307719e56ca32550be292c266880b07a21c73d34d74b392260504e3d1344c56efb592fb4325a78a2db163b88ffba19cc76225b3b3fcb60f95689bd6533af9f32b7c30ae837de8ae149984d960630f6c7445bdf07c3965890d3dd49f275773aa24a5cca0c1461e92e2dd6d4bb464668e8753fea4d1cc20272396c1c61d988e56f2212b0fde7d6cc1861d8cd2b092ffd12dc6530f36ea707c8c2959b5e8c88e077474400707746c4087067464400706745cc0016d830ee5f2e893ffe684cd9f3978a12625ddcf69e27de4a0ab6ac676ce4952fc71387474bed5e4c381b3bb12f7724a26aee60de8859fa03bb521fb76032f3aadfb31573a3f690326684ae9c6d9b08927cb5dcc1b7ea55d8395376ae77e26068daac1f81c1532b6173b9d0636eb87cebf71e66334b4fadef162598a9dbd332449d35d6b29e751c9cca094c6c694e3e4999a94a19c63d499adcaa93e4f864dd03c9fa27622d337867377be245fd2c5c0a87952d7ff8d0fd34618989c4baf61937f4cc13202ab258d1dfdc9d387167db6ce932439adee338b63227392d2238beae62baf6965954e2c92fcdd3b6b5e96e661f187491aea73496af2afd0efc49c72553e717b5710ab97d293fe75de5b6145be09a2d94f3831aca8a4d8a9530aae42bdeff97829154fa38a2ec749bfe56aa53b155e58aafdfa0a1e6e545c396ea618f9fb317c8a52ddab879564ced8149f64b597a5ff574c4ad1dca54dcd25a460be43c5566bc96f47d1564a93555198e37fae4e5def5928920cedecb697c46b4171546b78fd79ac3f91142698289fae49de139d2026fe66278c763f39a6ca09dcafed3fa9b589c492c58527c9f46969c2fcb655f9726c5bb432910973f1a64be86c6661e224e6ded02d2f71c7063de9d35cf8d112c639a143dc2b78122ba1899634e774c992a484255fcecd357b9bdd24126d3f6e659c55ea24e16c77d2542675d82d129ac87692c6524c6e90685369181363a3b8f5083d6a689c241dde2c479c6aa63fc6abca3d3502538dae19326e4c528a11dd44fa9ae8ebf5955a4467371faf3c938b47115acc5a67a29db73a89b83e53cce99caa3c88a8ad7399a7bc8fd91fc218d992e3cda35f6f88cdc38ea9e54e9a7821d0f4f7b95cfbad3921b28bd976e3c5ebdb0c428de111977633c505b109b1aaa176200c2709a5f52e625e03a2ec0a99d2cb7f30aaace4ae9c3197fde0be5da7d1933ea46a5662984b3773c207836770fd4a92d89fdd03f5fd9bbbfadb2dab872b4dcc1a5c4f3ecbe6e1f0e1c38f7df894a38407d734bd4f4a974f5ae90ee713e7fee4b3a8244a76b84cbaa49d4aae52a53a90be1923af56b2a9448704fbfd74b1e37b8ad21cf424c6ce1f65e92e4972e02a764daaab9f1b290e68aa2aa1f22c7cce111c9a96aacc2129b1397ac35299a47d2da96258e48627be366cf2a74d89264929476c284ecea5fc56928ad6f055cb95c956b5713524e6a8e1e52f66ce0ba5818f6ed6d3abab61213470b2e14a167bd9dc39c31fe5338e77d46cccd04982c5fe583b7f7b19122b6e504daa5ab19381fedd120b7f2777c640969853899dcac45f0c65e8d34d9ed6626ac2906e281de9a9122c060cc565ed2cbbb131fe05a62a6e68d0f435b7172cf9839e4c5e4cb2dd85af3c94d8cf053ce7da463ff5acf316387df9cf69d602e5512549cdbc779c8583a9cba724b88d8e052f5fe84e37b9c2375996a209a5694dac408dedbee75b05bef453a5f38cbf592af0d5a2536171f4da295c16c2c44fd936942a85eebe4a8a91d62449462149cccd62bf64fe40a13421632ec1c389c913b07ccb31bb8d47093a0153efcecc10772e36a193e24ab89832bd9009cd74f60d9973fe824bb82b857a595009fcd9c6922e7bbace1a59c814df72ddd54912bc6d372977c7d9f59040f47895f8a66f932324c68a26af9a1136c18288e58b60fe6997a417408d438c9dcf587967ab004438c5ca72925405a393348926e5fae8392a8a0318dac6560a16b297e4fc2f8a549dfc97ac2ce9f7056579edf349a9c3c5ef059bc23d9657a596c779815c670f957bf6a2d3bbd8b2be6e666dd535ad8bbcfe36439bb017dfce85d3f6ef4932fc35ceb858d2555fdf4bf858f32d70bdc83ecb1161266a0bae6c34522af326536be1b6e6fac5ad599b92167697bf66f37116dd580991d5d16e3b270bb3cf5c2bd99714de8b452958df65bc6151f6fac5e026b47ffc8afc5dfe4bd816f598b9e22ebbbcf4a2394dba15e5f015ff9c7292ae6545d559991be37e5d8c56f1fe5b864f29db8349c1a10a7efac4b2a04905ff31356c251f15d7fba4060ffd29560f6b2d136d31c7dc145fa76851259e84daa614eaa6b816e949cc2e1b5260731ff46246e1c71342bb3f46d5b545e1095b31d2bb42e79043c1c6ea2c25c9625d5218149b69b4e409265e30934fdcb9b6d31fa44ad0d513945c851237336352ed44aa21965fee84ce3c39e1f6c9f9e47213c5febb5b8e4d35794d74b949eaf6af3a863013c6248bcf797432d30e139b345f92dbce89c876092b7eb4ff12c2b2732cf1a513ada7c3d4b25e893434498799cf276b5182d672b7cde229672681279b2ae9772e8b2889c545b3adc55a858b22a19b6575ca1c1ec307127c4e9b32c9bf269eff082b2c27d9ffc2ac671c7118dd934d1ef2e2db08b39e1cdb4ded32093242f92097267f05c72210138366bbf28e26151c8ac8839ca6f8abe45193047024a2cdcaf124a913f3eb890311edc7935333458d379b1ce038c49db3cdd6ee7f123e13a30c1c863074245356091afd631e6490c1c7478f06e028c466513d83a624c8892184fb925917a35b8cd606a169dacb515fbed4a45c8043109fc9f1c2a6934646dc0fe028380091e4395c55749a7011f2d0008e3f94ba7e3c5d9f0927e67e70018e3e6ca21ebd327c36d1a205071ff4689a423d59be181b1a38f660e4467b4f4286f1540fe534515ed4d5542ec60c1c79e8aa24691337af7f286980030f6ab84f7bcedc214b7d625ecaba1347b743a934d85eca6c51d25b87d6d3c7b89a89aba574389654f3aeeb29ae9c38e6b0762531e6967037550ee9f79c686a25450638e250128327f953b4498886e0a087a794e7a7f676723280c11b927cfcb7a43639a722030a3cc00130e8000e37e068030e368c00c71a70a8610238d280030d38ce80c30c38ca80830c38c680430c557fb47cf7789a50f2201c61c001061c5fc0e1051c5df0df432a6e7b38b8d0c5c78aef56f23848e38c337805df3de011ecd881460f1f3d7ca4b163070e1e0722c0b1051c5af0c48e9e2c6cfa5136d3c7babf24160e2b2967cb314ce590705c01d150dbd4d00338ac50ae9e944c2a6f62eed7c0510543e79d92327b9b0d15cc332996d09ed452fb2924486c84430a79b60b77e9c6cdf254028e2894a75a3964b80b2e5b107040a15ceb2e3b9f93987af2844307cfb661936ad48b13ac9c239f63f6ffbdb709262daf3bb9939c299d40c0c184ca525affa71af9719770f26496636a4bb1fc54427bb12d74de8dfda0aff149f1c6ec2b832309e7246fcfccc77c800309879b2b29df24e7d81c01f76427fafbe9a65423247ecc57e1639a902c8b40655b56ff7d6849d503871a9410275b92524c16f7c141042d56a56e92fe6014352644a7ccd9913230b0b055f19530fdd3ce8d5f14436cc8aad2bb985b5fd81676ea45f435afc18d5e981ecfaaa4f4f0e2cad1e43b47fbac277a841bbb484c51e4b5b2a536c4bab004d30a75c9fcba4bc250e3462e8ac9c62fdfc949a8b7a8dcc085d7265d1c353157af356edce214336d795d4986e8b6e024cbfc8a4809376a816569fc7a496fd0a20eebb37ce3e1b163c719ffa30c3370d0630cf7c137b8318bac648fd2fcd1f2c4e7862c4a42b5c855bad4702316f755c611094f49deb4196ec02257dddcdcf218b9cd2bbc70213ebb74acdca42bda54899bce5a2b9ae992c4945e3e97a73bdc60c5f9befd2c5e2ad9962cb8b18ae4ce2ac1d5352a6ca7879781831d3b2840011d14d83478046160e1862a6ea4e2932d9eb56da53a1d79ecd8e1fc43870ed721861a6ea042dd1c3c2535d76eb5c508430a374e7155b9c6d829a307b754f0a30c1ddc3005337a62129bbccc1df1d8b1c38c1ba53068ec14755a5356ce21c51f4db6142ec9b2bd9f51bc69ab4bdb32758c1f51f8db1fcecb366ed09c502c926a9dddcf2bb7071477778ed2be5e6212fd4f30b77ab2e594dfbbf29e307996a9a464654abd1375a5b28ef66916a173821ed58d3626b994e69b38a2e37f5bd6ebff8d26e8fb79cdbdb93db5c944392e731234666c660613c6cfefcbab69f91573893ee79c1d569b2b5ab6842be2b16b76967d925462b77c5263554289d7827d74bcdb8efa4ee2b8c91bad9bad7157126b76fc969818efb34602cd60f24cf8989f1c48b45b1663ac3339a5ce23b2b5a8a25392adc5e908e7d39e2437fe292ad9882a947990cee3ff71640411bdbf274f87760d2e428f55b9f3bec9951a45e019dac424bbe54b7122baf6b08decbda924882832aab3be4e09dada21e88c6d9d396df69ecc10eaea7887e8ec674f210a93fe18ea4364fc448834e5b787129fcd230dc2f6b8f1ecbf20fec92941afcf7287817053669bc5aa00a26c59736efb9e12267fb8e1871b7d48d2746edf31faad5f7cc04493b22adfc4ab8f6eec613d4b6e82e5891eae92638c9f7cd7b3a579e8d343dbf724b95b3b3c7cb7c1f2a61ce371876ad27f46c35b76fad8e18fcd99566a53074f64d3ed0926899b183a1455a639e86c46cb7a0ee70b1b51d963d89492c8a1d88e75c1c4f6a0998c433af9c1e63d8483c9ca3dc614ac7a356f38e78e1d27c79069bd734359b99b33a987e734b5e1f2f512cbfab0a1b449eeadb61ce23fba86b344f96d0c9392c6a01ab27191d2508b0d6ea4e1ca936b93cb738d8d68d8638c31ad961c3b89d5195cf1f7135aeec364640677f7a47af0038d329cc44abd5029b73bfe64483e79b4fd7b47b3df317cb1c28ca64d64ecd0a74106df104349700b225fe2c6ec166f8421397ba75d740ae0e0d1f8c08e1d14e801fff871810b8821868b619e056490c13848c18e1d62ece006180c91eb398a8837be70d668e25b6ce44999e48617f6d839493963cc8d2e9ce59f6154a337b890d89ded23c42b9714c880183fb8b1857257e8d30bf7c0410f3232a0430562a4e08616cce5bac9bfb41b59405312d38550efac792dc20d2c70e179423b7dc78cf40ab877dec74c67fe0addb0426162892153a5e4fde92aa01bab9e84f83c2709dea0827a9f4f3ab9ab3d2f4e821b53c84dae9463ddc76e660337a4e07debcac6244b8ce66f44c15e4b59c4cd4227cde881c61866a4e00614da4a9295d01922dc78029b79e39af67582bf21e64b34ada52a8770a3099a98fe2f9ae8e74e8d097d700f754fb9f7ee02c28d251019d383e5f1c8b8a104343e85ccfc6a303d11c18d3590b993f2bac99db7c10cdc48829bf96564fe078db1430bd553e5da6c87597666d1e6e69e4ac9a250ab9c53e8d7b5502cce24a56417f692c92907162539ba57fbc5d499725e61cc9f8e4e96e39994e38a92d679a81593ed9c566492bf590e9b9dacc30a2e6788c6ae13ebfc5590d2aa63d7ab82af90f58fb76ed95341272989a6d71633725424975cb75135a7a83a6612cb23af3f638a4377339e7c7264c7a520537e86ffced94c1252f479644d8ee12e69328ae47ef2a4245d787c4571accaaf346e28ce2577e5d0c85431509c9b429a46fa892f5cc7549e2774b3786f93f436253bc15809ab9637e36f901359f998658df2e9dfc4bdb99a827baf09e39864e9acfa4c90366a525057f7921e138925a50b53133a9d4b18f7b3c6db58def7b1c49a3d5e8c85b34e4f2578934436cf4389e2c8770cde32219e4968e13f25873a49d45d12e8556f7c092ea3f148a41f2b679d0c24cc98345d44d878dc8f484e9e339b5a7f758923b6c94e910d277ab98d50edc383a78927cc88ba3a74fb5ff745e4a637f71d5544c27e4caf7022d0189f56d3ca321511c70ccd1b2c76aa500f8166a7fb9073b27f0ca1870b1527e3c4e60be175f8d314a91e77425c72a8d0dd9f5acc41743be3b7276b1b0ac293cd3ea517086330fb14ab67244a405c9684968ae31f12f4dfee3cf4836f9220be213366fcfa7030a9e4d46badf21b1f2aa973a8c9e01e4cbff449d98a296c7af8e6440db52faa96e521f3105f9dea5a76391eb033c136fa432f557e074b7583766a88ef90db819633f92ca53cd923af039a56aaa454cf95539c0ef8c7ba8f7338eda7e6d40a25b91c4e62659d74cafa2771d8272f95b099a2591e0e869dc5d6bd0ff9bfe1898efebd1a3774b33a79611b8c4a661dca32493936109535cdcac4af8b59c3a7c9d2cfb36b58891a0cddf19324b569d8ac63c3c4281aca721b67694b984ecfa09db0ff295a52886986634c9372b20b325b9681784d15bb83643853346b3c41a3c33806e7c2698959148391669b639e643b5d182839a98949b4f03f9201c3d223e39529e60b795c3cddb2b5df8e17188bff8cebbb709c07b1e81663f85c485ad9feab50f956dfc2ff7d42dfdaad278d16baca99725ffcfc6c6721512aead4498205630e7de2f35e61abdbec51297b866a85e224a173ef5472cf2af02756c9295b546c930af8e8d74888e7e4e21448fd5ab5169362e7a4f06e87edd64bb57a51386bf63c7a4ea8785038c7356183fc84c73e2e53f6f5894e683d663356c905ab099d9bb478ca5725c598a05da6c5a816029670c926593c7aa560a1468012b09bea1496126a9646c01a85d677c46d92e05698d7b694b9b491b0e8ce678c2f965f1fe192729e14aa973435425249e269413325c922981e2de42bf7448511a04626161abd24b452180144e8fb44579199934d128c3e73d41dd14ad126c0d03a7b6de7fdc59944ed7fcd147c5b5f54a316257eed45257886b7e6d95dca8b7fca2f5987ccefc95d943573b8c8b794f1d4055d1dbfb2cd05797e592da9575a898b735443c6597fdcb7a0befe04890c5aa72d4ab53a396cb5a8a5cb5b2ca3459a4d2ef9bbe259249ab382e59c1f53c5b2783b7e6612c2cb048963c18b84aec78561e1ee5aac4d1f8ffbbc2295fb9ce4e01fefbd2beecdb93ca1c2fd6d05539f24f94f6f92ca8aafd7b2d2a5eb64abe8a2e7e5d13f39a51855e0a1c54fcc772a7abbec416f54a0992f4b4dcfefed537cb95a7252dacd5a9be2a867267bde3a49eb52183b5f49a14cdaac32298af9b0494a627d85781466c9712eca4414e6b6a8499212f3f65014aa628cb94354c51714594bc927aacf34dfe990d5782231edd12bb51356a79ab54e92fc9172e2310ff9b0e426bace9a123eae592c35e1c692709334c6dc31139df46b96753dd511137999a735a94b2e714ecbb9886c98b0259648dabcb31b37bffe4a2ab1d66f6b6a28a1c42749f9fa366ea8342593b0fc84ddb918533e3992d84c8c173d679a747f243e498acc183f09331b4864613d956e6ffad53cc25cd14fd4377475c611e6f68cb7abe658a61149f1d25aec9b1154926b53e56af1782fa2923dc7981ddc84b415514d4b05cd9e4b929d883e9a57f09242ddd888f06e3f9dda779a9c0f719214f5934247afd9105cfcff94e5adbd840b91b0913189f95f3b654294269da6ac3529e3c920f0ba3e8b31a78af1441096c55896bd9a4fce06a2ef2444797a016154e518a353f4b2fd0369c936ddc48cabd60f7e38d1b22e85eb27fb60ad874746c91e2cc887e4742607ebdc1ee84ae96b95f379787aa8f43356caa86c761e9263dc6913c23baf86073e254d93046def90e692cdecab3d2cb676485d325fd8509bc2da3a146734535a45073a624bfac924263d07bf6283c4fd58bb2407cf24bfb3fe4ec8280ecc6b74dc4893ad2e0b07a2ed27d4ddcea265df50b8ed57c86684c70d7c8b6f30d30ce7b78198ad6872cd949fb0a194f38f4c653d3bcf1a8ae62d27e98de477d4b0496ce5568941e334184a4d4ed58a67291a12e7a39ab0f1f5b73f83ed3a99f5345a5d6f06fee7a49d2b09b7cab04c445fcaa888e564488c1ae2c4648f218badfcf6653d1f23862a5d5dcf890903b6393dcca6f82965c0709f9862eee416fbd35f4890ce71632f145617af5ba3bed385c3d5d3f9a5f49d72816abb9cfb90375e6fe1586626647b3e8b122d1cdd452c4ecadd67411393dbe42bb1a0cc5b748de515f29412a73e538f690562ebac473d69645558c394a7dfd03112154e514992d9700d159cc22ea5194c8e11714f0a09223be3c1ea732a0ac9a93a432483821d2be6bddc134a61d525d96cdead9c805d12ed3f6942d2639b2a474cf042458937175d826251f9ed2aaa84d4826b97a584eb6be09a53783b7937e6241cd752fe450f12d090e9e7728e608929e65ea698cf46480a3b9df277ff255f84ee4d9668f7d578a37e27afcd39ff031001d11846dfe48351ca27c79c4b4ad59303c3b5db94cbddac61f38b3a3cccf2a660f6195ff8a66e792a4ae8647a91d439a2ba251e7df3e2f2cd2963cacfcbbc8b448f936f3e633213d6452788d5b4acde8b9c0bd544efe2c4b8507de37a68e8979c5b30ed39dd09f369626ca185a8bc399ac48b935a1c95e53f9e587125092d8aa9629e9c756dae64165bbbefd6c91f7f4a64718fea05bd4d63f7c6820eeec2c2bb28eb16bff5ab7d85db5677fae759a575055ebe1ba32e7ac7b515c92163e69cb2c210715953a89fdcc955bc76aae9efb9e9a62a30d53c6ffd614acc5494719f2ed8a76e0ca2a24a3f8d125247fd3b85a1374acaaf2a4163a640328b49490c17fa53a5305bc4942c3adf7b91e2ac21e6e326cca995a3505faf8246a993ce4a519cbe2f89f6eba663652818fbfc8d8a123d55090a3f05ddd9d0b016aafc84fdb5498c39253d51eeea1b135eeaea929d30c670494e3f3f692ac989b5f5a42825cd8f7c368169126dadb63fd7a3093f540963e2c4a6e4c90419a2538cba5f4a1e4c24da87134fda37c13b9738e75479e9aa251afd9c933f85ed4e2574dd54ef2949e1fd53a2bb98bf321b4f3693289c5d6cc5cbb69924d2a85162f059a98b4782eb1c6fb9444bff4082399df8f5bc981f714dec994593aaedc41178454b8ffdbd9b1b7165af7c694b51ce6504255adbfae692465dc425a7a026a996fc2955046af3258c27117cec6bdbb421c2e4ad99ba52ea9ccd437c7352904aa521be919354bd93c3a410e5c90a176ce3e597109d475f981451930ea20b7b6e21ea615214c4efbd72e927a72c3110c91e3bbc33c6040b01f1995ea7d7fc81b01c73ec93e72bec07cb53474dae32847d78b7827ec60ef9a0e71cdb43222754e6cf64a1d5435d76e767f124e1ab3c64c9c4b7333e6d8387772f9bd462974a923b54bf49d458d54aa276f83c332be518e7bf3adcabf142fc84868de8607d5ca5dc3968cae760e6983de84fae9a05e56030c9639cb19a5de360de0a1372faa242070eb7cf74f8f56f48ee4ac2b8ee6e3826b7e9173f41d3de8675c3a7bef56cb2b3a19804f9cadcacc1ec92579e37ed3ea306be3fadde66d290da66b9f1b425c68c86ee3ac5b424d4966c7286d3979cfcbc356930310367e9449d9df6982fc35b9e4cd0987ea7593298f7476cee1d839636cef6fcf4dc1543523cd944f44cb64fc3603649f37b5230e0259af4aab3669bfcc295eb62ab6c49494a2f24d487d4d3ab7b13bbe0c9b21f4f4ca26e05b99058e9de3fbf2d5c31f48ba68f25d7a785ecd243c6b8caf9a92c90775b7f39c9c686b0f0a6ca96e44f62ef4657482ff7e6ebadb0dd4ec6d47727992a6c9a21f4233a3449392a3cee2574a6c5f1b6dc14cad86942bd470aac663cc9434af0e08982b1d25d3cc103853f5a4ac247cf52e7094796254fb625cde538e1b80d269530fd757e139a1253aa0fcd8f8c33c18e49b6cdc3a6499b25ec6ad29f75b4b8ce28a1603aabeba1963a6c803530295bce999e73e8130324e12f3bb38b1535e989019080c67e8577d86a9918e008c7de9029f3478a9618c0085c9bd4395a9f96be0628c2269ef851324cc56e0da00671a124a4438f7c6900229483f77c746adf0e06e3b09dad1bceea6404c6e9c76305d3df7cf11794d421a15a5294f97c51e892d2a5bc7e6cd78ba2a878ec7071c265c68b3cbc674f79636432dbc5f14dfc2a29d385a92d2a278f976b2fcb4539afdad5bc27c2325c9c21ed462d2d5427bb85e973f48f5242c91a325b58761d629543099f62b5c063a041468f1bb020072350b71c259e7e7abf8842d8e5ee4e61e2757228827fffd5932e48893bf3d8b1c3083912c1097e1e4eb60f8bb3e74004b72ab65392f57a26c7218cdfd76877fb9de22b851c8630c787c6bb9a49293c85305bb4cecee984a82b6ce3539f98433383b0e4719daed624ff8f82c0824ab88998f0972a14f828810e1ee40884aeb1e3f4646449a9240720d8907c9bb79e4fe2e5f88373a97b33dafbc1cfeba6312c7c7a59cd05fa708c11677e82860a39f880ff7ad6f893c75386cde8a1021f6f460972ec21fbd85fb731ae6a925623871ec8d9f0c9bfc4f613c339f2c0669e9a8f2f071e4a624c6fe7d1b2418e3b2cd5e539897af79e6d3b983f4ab2107fe6366f1d6e4f62c6b18edf25465b90830eb5b85edc69db5986c408c30b39e6f05d6c4a7276f6e5ca72602a4a0c51c91287455e4b2ebf73c0e14d29d11c6fd83d747fcc360a21871b4ea51a27355f6b36ad0df88962a5c14f8ebb0721071bd664193af49658973d6b386fcac8cc91f19ff3410e359ca21fe3ed2b6730f1341c950493f437e75e556d90030d95541e46dfcca3d879833274700672ec7753a7be39cc906edcf6cf9bbf918c0a7294c1d0fda9533e59b383f761821c64603ad2d346f8bac7e418c3bb27fd6637b11fef3d7e9481c61925c82106bc84934dd38f5412330439c280051713c5a25c563c3190030cca76c79b8be520c717d48cd13fc737654913337278418ff3a1fd4cf812f387c78e1d35f0d1a34705727441199bfedb6d75db2462c8c105ecf76b4e38a97a6df50019726c81b635d7360ba9166d218716fefaf86a728c851c5948d4931bb34c1a37d61750420e2c94c52de4643951410f3e0439c871054a4eb973cc940fc30839ac504ca2a79484b90dff4a8e2ab0162f7485899e6ff61e7c086c90830a39a65065fa4abee71a83cf39a45038d164bf3233d12a1f0593ab76b47a49c7f77f8cf13fd88cff61c68e1d14b8801819c8010522368d8f7f8a6fd924c7134a2f5e9e3c630c33caf8e1399ca08fbe9818e2fb9192f7d080f798418e2698c4b7cc313ab4c7863c76ecd8c019659880071a3d5a20831c4c486c4b155151b93c063996f087d41e7fefb8b8b92087129eb31c3c77f9ccffb506173f730e2a9e54464a418e24a8337529c9719d2a2e24eced72be699326d1b328c871043aacbdee939ce6c41c1a698cc00864cc964c3831ac821c454083eae88eff49670e063450821c6af8a9642f6fed35c8418493c9275e3e4b597a302c7d3b213a77c7247c8071999863569bddacb27fc1ea95655950e9788234e28b24758bd1728465b4b717c849c9aee5be3babf21883d120e31d0223bc50cccde49e9612a3cfbbd0cde2585cfe6bbeaa8b915c8ce082466ef167c956927ba7ea3de9c1882da84b13fc73e56dd1935ae45749ac509e2df75f23b41899852c123fc4cd2731580ab7f3d8b1c30223b11881c5c82b465c31d28a11568cac62441523a91841c5c829464c51455f8cb9d4192945c274daf89784ada924a448ad4baa4f291d45eb9da69be58d88c258526bb4a4f1d1e49c50a4398d4b9db8816209932df9a349393efdc42579765f1ee95c5df560c4135ea5e01dfe11ea762790ce935fe33b9c40ecb32469c6c24ec74d100a4634618c3eb9ebbef496e96024135549dea79284124fd4cc18c1c4319e5be67e7799a42f51867589aecb3fcdb08c114b5c39fe07933c74b6ff54628412959c4cb3aea4cb923132462681c9597e626eca9ef9948417ecc5e4e879b4b22512bac789cb255c78bc19658ce13d3c062390e0f3527e7b173530f2087476474b529353123312187144ffe9d3ef76f6415a33d288faab463bc4de27ef7b8411dcc5507d5517f951798c81238be0dbefd52aee2e26347cf4e01f68a071c6182d1851c473529d7cfe27421d8b29589cd95b269d3082885325134f42f589d9f94354316565be8ea76952c258c2882128137a4fbaa32385c892fccba78d46628410bcdab54e86d8cb15f2c2c820acfccf6ab15bddce2e8c08e218a5bf848f8df53e07c20e0f66a12355b7492d8c00c2d1aca5d9e993749afe01bf64bfe944936d773dc1881f34216a2335ef4a10310a237d40a237e85f6a369d93113e6cd5e92fa663c6ac3e8f1d3b46f6d0f46688a748ffe8918f113d98254a59eaeb71eb7f240f76a8e9492986ceb97bf3238d32523082873bd0881dd4707ff1332b4a18a903d9dbc1308cd0218fb5cd1483bdebaf43c72346e690678b3216ba4b4d1d3b76b040470a74e0e002ff1cf037c4881c0e3b692974da4956cf63c78e428cc461cda94eee64e93727318a1881839225fbecb79498c44fc7087488b163078f91889137b41a95e184cd716a42551871c39a3fff64e67e5cae518cb481cdaabf51dbf44afc4031c2863743bd73fb5dfc2e75fc781564c012236b48ce72d2e6935c3554f1563f9a6c7df954478ca4212959e23a3fc5ece944832599cf95d989e7352e62e40c5585cccf16c36d145bc7193a748811881133982c9fb4e33de5f9346558c332e7f7b02627b864e047337c8c2bc51819c3319f43692a49ac918d189a14b7d8efb9aca30e4392f7c86bbe6b909ec16092369898eae4a421d52fa4b93f5e51e6a4d49a179a9368cbf22685c734d28534262dc133c9235c483b76908f3b49dedb912d3c9f2656e577753e9bc28816e8cd96ae71fa5e93bc8f1e59a0fb4ac87cff2823053a30a0e302628c60c1ee2a59b379fa9caad3c3c8154a239ee40cdad952d0dc61c40a8b56fe4486c597cfe1018fa00d2355f8736eb6cb293b42852b63aa5456a33ed793c16894a18229249cdc6c49bb51153229ecb69db4c4dc4fce0a032351b0ed4cdc7fc98be525140e93a5a6d5492a4f823c76ec1863e409b9efa620b9f152e6ce81112724dc750975d27c4a6f13a8accfd99f6ec70e228c30c1346d265488c78f7d0e61640947b32876dbf1e5d335a204f2a53f2ed8ade5859d30b2c6259b5c4b099a24b051e79e61822348486338758fe94a0acf1939c265b12ddff8c70bb38c18c1706e7a3925adc9a189c14811ce27a694537a8f9563c8471a2c1851c399cbde6f529ea09a5ac10811d4cc5e9e7c836cf48c316ae0a3870f1fdc638804e38a727badebd51e601c455e2c8d88c7f4ef17487a7fa46f360d0f88f8e294b5e56ba3abcb068720d20bcb92a0599d15e105a5127d9220d3974f526417662fe9c49792932732ba48ca17bba4ef202367e582fa97ba8ec12ccd767051b7edf8d69e74a9e2b720339f48faa75510b185c95652f5b29764c9b53007ad28e69d523fa54568f1a5946272fb4bb2fbf3a080c82cfa24e459cc389f2455cd20228b4fe2c4f87859c27e6b029158d05b99d15129e37e670422b04868971eedd13d5d2f8de30191576807445c91e7741f9d53aa1f13c7c005445a81a5cb9ce5a62d346f58619d24fb3675e9637d5651c8ecb426c725a9a4388f1d3b3020a20a2bbe6f96248b899b636a1049051973d21246a23388a0c2cbd13ddb84ca25c65e0d915390e953ee59fe3da947c414abb7869d79b86c95478148294c6294dd9e2c29d2246ee8a5333996dc62ac4164147dde5c51729f675f9214c84144146ea7f50cfd93412414a7cf172d67ef5826c6a021061a3ac4c8400f988c47411868100145e126955e6fce934a3f416ed27c9ea43cfd497420e2092fb79b34edb11f77268874a24ea5d69f4aacace8e18411639d2644344996de04b2267559c2589cbe3551ee3013d521914c6cf336d753f377422a8289c232e9da8a2c7209f46f3f54c7de8a9a15b1846a6726fd09217163225289eef2a25fcbdd854da1446f1a2d7a9ec663cabec824ded7cbca8af40cf544244156f0d72bed38a55324f84cc1cecca3a6682041a79e6459ed66f6fe11441e51af995862787abb58451c519c8a7e6b0bdd7a3d08228dd0b7d3f3c4b2f87153c280820823cad9e61397b26ade6e11f5956c356d1aea36a58866f67a22b73ac5dc24e21b13754a503fd50e892042e410ef568937af194310b9aac1a4a8ae1ae7421cc37e45d924e6d8942504ebfaf3e18474105d86c4a8a607ad0e09a296b8cc9a1d73df49110984dd73d27921a7d2343c7a8800c2caf13353ee7d5f365010f983881f4a3b974bd26d78ac07649861c60574904106674087181908a309227d10e1c3baa1d5cf73cc8302ef64a451068f14e8e8818fd780183df8a1021fcf43053df0f11ad8b1438c30a220b207113d146353d6df883dff2c0f1688e4a14e429a9443cfa6b42e1e1235e99af879913bbc2ba9962d745fc8cb0e665c0dcd0f27a720120b44ea70b890fe981f25854f6988d0a1daf8bd171e73c64de680fce518194b4ad6768bc8a1ce2a7a66df2569a72271b0a294dc495c2fd1332a02875cfe3247b4ab49c14305913764d373225df9808e3544dc601c13f3d2c7aa55594810694352f2340b395b2a564182081b3cff4a9fd289a7aea935dca1a2fb89f506e98e1aca0844d2208286e7932c267785d5ef5c219133281df2baa9b37a63f2d8b12308226640fc7b3bf653ec5b2e8248199e10db70a59f1a2264a09347e7a8f1536cc87d94b186c818362022069130f462b28f78ee45c0b09ccdc9873445be907e30319c6cf99cc4c6471a3fd0c8400a44bcf08c7d4a295c72cf3f5b41a40bc9992aeacf27fe2b8c860817f4b43d73a9642293982ddc571ef531c5eb9cbc1c886841e968d19f92a4eff99d2192055c66e663545c208205d3ba9dd4e7f1ea63e70a4e49c925dda25648b024a59edd1fd39262814815b6883a93feb2f89d242254e0e634a236b45d967f0a7692e2d6a533dec742648848e1bcacb156dbb9b8a5182251582a2b2b6796146dda1044a0d0c9b2313f2da587b6039127f019fee3a66dceb1b6278838814fe731c77c7b596250a4099cfcb21bbd9ffacc0ec308224c4043fe25df8cc13a868220b204fe52d672994d11a62a818cc137a760b3297d5c0c2088ac716a65ccb1328648992249f0af73fecf172f548f844c5e51b14b6292e48f9024f57cce152ca86d842dec2b7e32bc2d4299793e6aea226a94f32661dd72457d46840889e794ebb0626933c170c389d984be81d169876b567f56d7bf28538ad5b125653eeb0b3ae4c72829da0b4a12aab46643469ebc4063fc3b64b98b84f8fd504162a5455dacea9744d70d6d1de6a21243ac4d52f970212e1273d2a81dfca25df0169d745137d3d9e259332989d69139ba530bea4b9e2f9d028e18a854af4222a258241206c4c13010081cdbbc00531408204848280cc5225116e6b1aa07140000362012484622242a1612140e14100e14120a0842a170200c040442c17020109098a56126ba06c23a4778a3c04f6ad412ff3141f34326dc45749e3bfedd6b065da4238519464e6677df2e1c5497a61120b918c738c9f1857b134ef64974eca24f7f3068417b4e6e1ed2593d19899cce531cba9768a88bd2c3ca63ce8fef5092a0d2682d9d069c94cb4a4be9dab7fb9f0e59b8402c544bcd7dc3c688e44f7ab336bb668e0ad046933c5cbbd2f1f1d8a31af68ce45e9bc1b79499bc66f456170aa9d785429da1e6228b31937ccf063538cb44641c5d19e0bbc1902397f96636b52ebb05b4782868fa937731a60a24dc1ea84bd60e7adee5d9e3f751df30531301502434fd9f9a7463751efde54871ac7c338c3cc633d3cc6b9d9f9c27abe790f75dbdae92a89c096a0d51dce4154d1ce704e0b110a319873c3a900e823e1984167793c3451c2c8be34a64c87b8a4a70d5ed9bb807e90d8625540294baef872d6c89aa92a562034b8400e7526763fd4602d4b21ae1e7c0773ac1ed2881dead3953fc5c7dd97b510c7e6602bf3b86501857134603e8c1bff268747290b40c1446eba91d899fccb0585459b4fc54755b16736fb96b1989c1f4e06f82d16a7876537eab8ba075d7d9cb5dc5bb19eefbffca010f92c14e4d3973c95ec54b374aceade773116ecc46ded21112ca12f57d7f540181d8279ad27f607f76594581010fdd6e8feca4e65ffeed736cd0f80a534ab7fd125bd98757b154775cb5e790fa7bf5f5ea4d47ca5f4cee2a0e3425418a393a731df8a3812776603b3462704345432fb6ca4ab9fbd80d7f794dc43c93f383c7dbed9b3270b05ecc54bfd7c73f84fd3ca1d6397899188c3aafad2815be0730bc0c2236d276b9c34e40dfe636b2b147c7ae55ed6ec8ce27c236a20c1394b00db94de9b523a291246bd9f9d037e8142137fb651904ee7bff063396b869ed2959cbcd520351e7fc6a71c6dd299cdd84fc3d39040e26763546b175bc1e2010ecb185738414ff50aae3bf0b40bca1ce5e70e59e738fec67ffb93d943378fccbdb212c930f8690c8337081685a23af63bd4c46cdf7c3e4b144be73cec9fb185e651fb08965555134cf2f1a53a1ede5e1c0baf9ccd3f9aac1dd7e6ebfae63ac909530e76f5cbcf0d6957f6515f39059e69ded6166fbc6df96eef1c2752454d62da89484f14018881696bee12e0dca16365facaeb01711ee51573f9cbb7dd4733ab3e816987bef55738980e0c689510b4da539a239e0482851884d860fe0af57093ae2d0cc8b0aecd6f9d1c7d181205db8b55d10320874b8242ac81daf93d42e5fcd83fa75ea4150730a65737afc5295125b76398af70fa9aeb93c7fd074f983ae3a90fae1166d38f983287f608e2d01a8975c886beb745b9d8307d1bf9d8ff6508ec9ac10f97af40bdff9ecddd9b236b2f7caf0ef15880d6a167e1d2c5143508a38926149b354fe9154819afc2b55b541a88fa2f02460fad650dc6bd7b645b2c47fbd7995676aedf092ff7a37b32411af60fe0b2ba7b5e969b6f5c96f4fd628bdc9cb613f0fee303b31d6e4ed1467bd79a720ee5da05c46a4673e0409ad650b6effc6d8a92743d04dad207c8492b01b193111b4c193526f868e0cf60aaab40dda03044501cd1e5ba025481f52868a5f7c30ecc65b5b820af118b19cf7d85bdb0aa381fa661320c54bfd28b91ed1e06864f66d6a9f37b8fb3ee92ea661299bec53c39c213e076dc83fa3834aa180b696f736233e13ab3bbdef0ccb1036709a8d62954f9b090461af61f6d7651bc7b26afcbfb6735a0839d2ae49ddee069886fceea9a61ca9e8df282dea3a95cf72d4b8b16d1b106acdaf888fa71414038744d1b3a91ba0e9e346a9965f54c7b0fd49cdb87380451e764de2482da3561259adbc59a21f679d39bfa8b808518f28837d8dfaccb09e8e86ca93d6fc39ba9bf5f287c2055eafe2f1645dd52d062b48b9f9a9a475c16f03affa7353e971ea33365018a70a7f92c3c0c6e4f07a66c464dd69c4194cd1faa354cdf02d2d6aa90b3c2012821f8d894575b53026685759d0e0188df46da678f33787dba07bb4c131192a9ce076f622ebdba2a2eeb1354d4f3a5c3d9497c172ee6051c900352e78e00d26feea93813d481c992ef16fd76134cf5dd889061dcf86462712e525610e74cc64e0a36b8a9ef1d7bff4b378aefa9fda9f282524dcd7195c31b820d22a05919b34a907be7088526627540bb8b14139ae945247c27a34094a4b94201de37f62c55d5a74f2af019cb71764d0126422aa895335768c47fb11f9120de5f22aa00ee872c697fc3eafe17ba9622c39111ee2342175fe6c8dd20382e779e305af37aa84b862cd07e7da57dd55d152c351fad01acf37ff24190fcd302bb269bb5746d4b35689e2959deb0e00dfc423aad234959cca85f1ca2fbfaed31e322afc7d68137b05ab2edb2c6ef087427850739525f3bc5aeca8b2e398c029afb3d52ec0d7e7f031c0a40b238b86f9d3c3d4b74132e4b5bca93ccc2332d67effe2acc51c54eb7523c1e90f4ef67b5b39dfb036c670491396b3bdcaa0ad5c46545faf9208a857c998cca4e4354e09b93a98777eb8c382b5be1db4704db383dc9009c5b8a4d755fdb55a577faea4561021b579a650644062435bd66b116e3ba69fa47858f0f368d746113e97562cab68546ff283d90c287680f09d460a05ad9cad337abf3d9d1765eb1f963c1395aa35ffb29ff6a777aa6f4892f75a36243aa50e1386c796aabc3c13f7446b51694606da5648f2b84a6ad2e266ea8e558b54f9247578a08df6c0b8eae0bae5f0ef5be4cb88e0a2216f2edf868175501fe42ebc5f518af94a99719e451cc31c37e325102a060f5a8755134089f478681ba878e4c09143355d69b2cb84266d49837c7fd0721a31fd29df6633c3d5008a3c9ac6f2ab1bea77acf2e5778b2ef03819f9d2135648663ec3954f58fec6e2cc905c7a467956f096f0804b177a12ec1c9593d0b2f5479e221a1078d0bf34f50ec585237a846ad0273f6b91820e6c93dd0736c82c7670f234a95be74679c8f1c15d1bc3c1ffeb71db38f0ab220b1e451536186316365e6a78ea81997f14aa300bb83a075114bbfe48815c516162d45cdc271f81a7a62df542eaa57e88e0a5d42c624fd67f6497c035a524fc31f092d72dfd48d12fc3908a121205756ffc9634c31a88211ed02df021768c359ef1ddf2ae4621c4d8e1b9c4ede835ea0fc228e0f4312e688c913ed0044320074cd6b74866243820496a4c5a3114320e6f08a00bb201fa03d2ba65da986dd88ff85846ba365d32d7655a87aee50d40294b29b75d2311441bbd9094cbd8807cb46549b27d411762f1b32178a2b508eefca37217061eb107c67f18dce5264648b54856942eb486177b9342c451086a0cca6dc64933f945d1fb41a60f48ec5cb0ce2b60fdd4685f41491ab8456709a2bf32241f9cb87d6446dbe4f5b7876c5177c558837119f227c3d25386eeaf1fbed60601052c270837ebed217e930e92af8363ff97ea48c5fd91efa87f53b4bf286e444eed0fda8b4ad2263584a52a344984a07bcb027b372efb9e6fa9f0a1cbb44dc94bd4f517d25d1dc2b67a1f5a2569b98e55c0749ab3f53680c5174fdbc122fbb28360c589c1a04ad51152c0720c1cfeb312c823ff8d3ced8acac5218b85f53c449008a8f4fe4c6d97a8a72452a77625da4fa173615456cd5a9952e3416ecd3ea89fabfdd97eb7a6eb55130abba85bc4eeaa0f822851ce8ca768c4630dc7091f176ecb38a0e26e1661fbde3b511652ce65a6be4ae9645c6ecb2e982f898adb61fb3d9b217aadab47c314c0addbd5ae90c5601bfd013a628890bc14a69f4c4e7c6282a772a931a460d85f4f5e634824e3c57cf042789485982b651c832a98673555d93699e5f552b7c34660f8484c43e818ba73277e605a8e0ebccef64962ecb2389f2c1406d4c66b83c3d2d1ca3d9897efbf611103b4df92c9d9dac1c67c6301a1c50aa27e41c935742d0587f5397e105fe84e8ef5c7618b67b07d902909fe1e6df3e463cd7e981f9aa9a204f09a73417eb553271fd04bf3b8f0d950bde81407a9cf9c50c31d8720c087156fe4be77e59dddc755890c6501905f63d5b4ae0c0ed9abb60f16666ab85a6d6f447cc9e15be3266a119bb150bbaed23d4a9396ed10e3ae4af6415b68986dd8e5134ed05532f30eb32bc06889c2ce004820a40221ca2830ea19851bda5ac81ad3055f8974126a7066cc5e8e50ae3a54575104cb57460dffaa287733c4b6230e57dc6b7d074785cdeb757dba24f31c23a812ceb05efdc55116443ba07aa3f1cc4139acb43144a1ef773010bb48206e76b18e2ba3e1d8e09dada974abae93f3e27d703f32de0d7528dc9117eebb397ef9d4f0736b777952812cc95d8cb3c26ef2ac82d2e2279b71d29cebb30d476dcaa9d6f2c0dfde832eb03f43b79647823fe7b338513778953fc4d199a0caf05ccd907854f328758db9b8e4cd69f48d8e8b6d11de0c111e095fd1f4dcf325cbeecc5daf27abb861c320cc81364f934e6a591ad57e59fb51dbca0501d7d7253d9f3620318ce1a369a5c46eb41f85ee6fba5b62f573db5c09c8b7c1d181ddb241bd53414766da81c2951992e68988ab04ab441f9707de606eb3af4140cba4c348e73b5a40c03a0cfe7503ea7cba6c79de41eb9c2e11e96e65da8d152e28448bd58cfadf458847f3f828486cbf8214a0e8998a7f96ab67de65570cbc36d20357a51178d79639346443312cdf24105548ac949ad24657cf5357d90724ce2def90be6d3ef2f41142465bb748a4411ec7b4ad86df80d970d4ab4b1b88308241cb4a616e176bf547addf6296d785a0980f170853f89113dc702d21e1b96f1dfad2c16482e6c2da63cdc0137dd80ee371bf1a899a4809402527bd75b9eb757c08e09a92961f2d53dc5b98f6d8ede2a8481d17d30b97fcc8d9f4caf8d531d9f28119b935e6ee6646297416d10ab788e7b1bfff8bb6d9137259b0fed34178c31207b57f24a16807383d9dde11dbe070ee4f0db199947fcd1fabaa9e44839ca36f69ef1f9f6bcc225134ab122488513be687d053a38c34ac08636ecc8af8651256a4ace2a1500734158178b23dca89dafced15459214ee958359b771e559d00ec79724c11cd30b579942c48ff9f4e21c1c3461131673bc64d81bd2a2feed28612bbc3b17bcfd381a166b71fd4668d0f4d7041a65ebb59b0b037996610f912fd63dc3f19630f02c6c0cda3c50099a3743efe1aa9f71d0d7b9c4bb2a2643d0551bff02ea5a2f7a407c2e0a53669b36518f4831f7625835c12c2cdab2c7ce89a788d1aa89f1572c1fbbaa6aeb46635f4da4b72d5a6eb2d39ce9984e34be54bd463373a0289034eeb626ba24948a8aae4ab0a40ed959d8b2c38553b9363e5775716bfd6930ffe2fbe649af985f1a816b1c61a9767715e804f1a7398929ae46f8178f5d43995832f9436be32eeb4e82cec160ee86671a15248ed56f883ab7b98e87a7f3f8e8e50cb677a17436f97a7825ee7a1aa6c3412153dc72aa103d647c5e85bf6b7c46e0681a5608dbe0edf2001493c53580c487287df249eef7cc2d1d3a59e663bd0e56fe31fda4ba27c74afe885258f265839211381b901d4dc37b10b8ec226ba767ee26d651a80f9dbd8aa9e05d5fbb84ded0e40b2e43c67ddfd1682719194cb1e23d862338189853eedce3b80485ce5814f90d6bef1f4b3854afe3282f8de0435aebfb1aaf2dd9d446c3ad891649976eb3222339d3e9d3c6d3911c93ae35e2831c5de932f96f9be860c310fbcfa6910ecdca2ee5370e21f50bbdef85910ec782653d9a1a8e19d197d1b36b41f5bf056a5e12886155d1ea700f8d4a86f8ba16ae958eb9a582605bd6f0317491e44d28532a359d4e367935e980b3ace1ac6d5bd1bbd29c71959d7cf59e7d2ae9435bb79249bcd94b827fe0f3112b6deddbf0ae7fec6319c740f6469fc6deb6a35dd4f65963dd2fcc7712bb1f098ab5fb0d5a17c81d92c2a7f6bf094aa07b63733478ef026b18a47818ebb33d4c50e8a59df8c57346025949392845ceea717dbcbed405b3f3c74cd727f4fbc010f2f538c45feb7c18e835a8518119bec5ae8b6608e1edbe56b8d5e16da09344e9bd1bed72505a359a13d39157b7d8f9874f1b3a659a9e33923179f911080119def9fdf26acbcdeff5b907977936845723d4af390ba6e90ca7c703edf4484f279ef02f5d889b197f6da28f3c0c6cabdcc67f49abec2fb573bd166c6debb1d7da04954abb1b23dd73d1da30d3aae493c2d176340a156b7545ecb21e3de2dfd89c85f71f3b8060f0b5970255b42eb8db201ee65e90f80d8da8b9659244fa12e699251114561f87095c26195e77e6d798fd5ce0f93754021b011df7d10f236457e62b738747ab546707d6390bb4876ea319bc6a37b7a10e217e7724ea38c03aa6200f778ea27b9a71fb0f0f818cbef257ce37cec79577abb77fc17e8fc9eef5c7dd6adf75c924467995e5c07f6f51ce12ab7a42b178b4e5ade3fbdad20c0e9231bc063401b9e10bfafe4c07c6d37b25ba1c8a445a5659a99b72f2769656a5be4479768b2ac5b959e7aae1a6372f71119dd4dde46b380eaa57fbcc5035cf24e1a5a375b32dea93668e507bc7d04867256a7a15e3bf0f49060f2e11da25a953d6f14af6813a2f70e27e740f568105243d7ac24967e93592bbc4686a1cbbca9a7fe6195724c5a6d5ee84b8d2ea1c942febc9e9a2c8e9717ff88929efd9a6366bdc25ddcef5a66e7c431cc6320aede1e8fe42cf8da6627fb45c9e92b7711d9525a74aa27dd849aa7b4f3530046a992e4dc0e8da565928a4c5ad41a5305f196268bd71a7e8acf9b7a7c7e89343613ee6707706207257bfb9c16065ef9562c0405a03c853d4dd8db6eed5b4fc0886aa6b53e925f9f401602fb3b00427995b74c98b183ec9ef051b9928e474f4e39becb006769bb5a57303eeaf816b4ade388d8ab0846cd61d731bdb0c36696b6d4db8b317acab91d5de16f36444dfb076066bfadbc5072d3486d50ee8c6bce4d6ea529e60910c8852a49b3f200cadeca1a0e4f6076ecdcdac843b74159ec8f906800ae797cf6fea5afce09f7ba1fcc98d653c03836976a6189e3788f3f817929dc1008235d62c6b466e2e142a07b5413778c160a07bb6ce4393033925cf1d20526c9af10dc4e1763cacdf170a5266249e744a54edbc3008f64274ea2b9aece272e34dbf91ef91491495a3963fcf1cfcf27191419222333a6faae20eac69ae14d0742565c8db5c9e28b0cb2c58de42f35c1473989256ba6fe6c22b63cb267f30b8bd882b72d95f05aa2ae4cd7ec3d42575bd09455ecca80210e281dd7e66c7ad0f147c1ab53d652850314bc3bb970101872bbd39f91c0e44c3b914192625ea568e23b29fe761ec26dcc5e8de787ad0e676f048c9660ce3d9e2c9d5c1d46a22eaba7e63167506beed4f554df323e75e6e60addbb1cabd1d62a11d1d5609ab35a85e7006f75b4ff16ad826e6ab3e06cc940931cccdcc0bec7e9c6acb11b9c6b6773d990e5618ec0ce32365979c695e18c97161e161af03a4edaf0fdfc152067339548aad48e2524bf23047fe98c4ade77d843630c05a729610d0e7e30ee44bb7ba7f14253396bed6ef8cae30a33dc00079bdf25a5177de624a6e4ba0a4d74ecb6723b36c850304dbfa59e08bc98d5e153e4da667aa8ce2c5a07be5330574ae235f5a078e60d5f08ff55cbf0e554bb0c06b6142f9ee724e777e471a844ba013fb2b88151c0064faa3dfdb9ce038313ba2ffae82fecc79e02ea890d42cc9f8a68031f4b88682bc72aae6b66a4185f38bcbf7fec41a966edf2c57891979ec3ebee5792bb58f7d9974de44ec7200ec2fdf22c662df57a38daecf54e368d6ba835e21a09db29d9666157d90073793e05b0ce7a78b3edfbf63238ebbb1c0fa88c075c6a11e47d09caa473960fa2bf8f011d07c485197b73437b012670bf4403df6f11b2c842b177e5011e597462005347a83cfc5305943949f475555a5a442d0569ab727fedd64fdebd66ed98c07cded4b07bfabedd80af20a427334949179b10966a238f67ed5836e5895584ee0451ffbafd79977281dc2940e506e58ec9a7f2b52b0252d13f5a26ede088057dedb2de11d4b3c688d6051d14bbcd24fcc13592ba7a7b3ba08eac0fb5ae5eb71017a7cfbb2a28f61ed19c581e7e235769ee1376a318f8335c2da2f27511d225625bfa6bfc61c1b9daf8552b090e52c14a5c0ed9cd955bed2ec8af4576234b0bcd809e519ecaed76b86f5fb930dfaa67329a16df77e150e72118db8f29030f874d356eaa446b063eb81294560900033a5b20b6a162f334e3ed5bb76037f949babecd6f874dbe2435df6caa7e4c7d98afc994dce8f3215d99d4fce0d7315b9239b9acd58797c6aaaf3ef9fafe4ae591a3fa0abeeceb95476205bc79f35496d605fc95d71e9dd60f62af3188f948c277de77a9e14fb7f52698fadedcc593ad6082642e8624ebc6959ab3c2b95179849b620d73b6ce785a63bb210b68052024c385375581c9a6e930a4a82293766e0118a491222f52b893a259cf7d3d7f92a4ba561641b15bd9c54af3961bf0d1699018d122680d7af9ed2d3065dc25b0d7d90e7aa173783aa40a8c10d539ecf03fd7cc9134d1df6f4b50046068bf3635d0028c1ada68377ff8b1e37cba0332764a7ea4e16ac75c2f3c2585c1822bc3069ae992f5599fb47e03fcc4e2e49dcb3c18056d4d4e0900df8909e223097a762ac130b0d67d37d4ca05db6fa9ff1e250d781225a8c4c28a431fdae28899845478147a8e5c18a039dbd03fb32f2f1dc2347a0bbe5388c1996e873d1ebfd8f1185b4692bbbf7d4e82f584094d2a69cdf4aa000638ef462d202ced7538c22b57afe2015a3e9a67ffd3b5a6012cac8eee7132039b8214697f4ea295cf94bce0b78e8843988a774087d041f119a1f6ee0eb8053788302a3544f511b0118f15c24ae810e1348c0f3e1e817f19040f8841066b9667ca9287f14ec824434efd73c7ca4af8536e9628677560e4ac1fea4627df8320ee34882c54ecbb1d4c7a3405f0a0a2236b1b9e52b40007398e193c0f163fc1784286a60543ee0ae165c6bee4a2310e80a386b7f652edf9a13db48bb0428d52c46011e3b2666456ba34bfecb1195fa5f32dd46718930d98ceab0f5118752dea22a4c612757e66ba1263b1161344061c6dae1a203a2a6f9d0a5cdf5387eb35f5b481976c295d34f537f5dccec5cede8a170d6fe092381de5bf55d7ef62915daa64f315ef50839df5d88117b2e8eda397bfa2d0ba0dd5d59aa5f06211a2a9f86bf895d00643ed7321838d3680cc737454c9a86d2881368bd27cc701238328e66da37bfe8b643ae09867bc8b60450bad71ffe4c9bd7e5b982fbf47e1880759a1680d782977eda2cbec3d05143c855480145e9d6a7dde105f95c2bba76763759047bde98eb070b8d42bea4f656b908d1d1ad211488c20151ef20ef4ad09113cb911a68565776cad9e7556f58faf0a5fe1d7c77aa0da015f1938f5e68cb88745440a0eb7b74e50d09e9abc8adb3f59493ddb1428f339fcefbad3ee83974c396a3057a73a480aad6026ab7cb9bf5e8364e986a6cfea8bb914c486e5842403c7a25cd59d19815ad8d75dbd16bc10bf16a6ba724836b07d7225049482612931d6da8ec894eebbae658c0b5bbf9a70a22804061306a01865129b035a93c7f3f37b043ac7f951519525b90addd1c570b3350f726c2d6edf19964025f2e49ab740d130d3e482510a8e9a4cb610f924cd1c38f2decb5fa80ed3f89090763b777e91d70f6fe04d8fdaa6059ba679bc89677e95a7962d11c3162bcb993f55a330db3579486827157440c2d6827b6b919f94d3317201aff8cf349047cf5d963a58d88c9fb23c058c0c7cd57207d0561bdb8cf95b0e831d1387a5882022764f4f991bc168e1086f31f507ec4681eb9d1192237280988d8aa5dab2dfa1e1ecd474c1d337ea8b583887281000af00b11e6998643648f7c9e43c5e15ba88a45e9e913f7696e92f05fb12c86a09cff2632248d5b5bd8ea758d1d8007e3c29f29b02f7af1635e72fd63e2ce6a60049d58da504a1ed48dd2f3220e2cfdb745a9dbe3b052aade42f4469994d3be0b090286077c565ba2f502e410a7dd1c163360c59a6ba8b96c5eb199bcf26f9d1d4496a079a20d46c9dcf7fae8cb89774ea680d77a4b3b250eb43bf03aa8fe3de444b8fce63dac11b05daa1a8cdca9e6d54a8a44c6f7dd2677d26b7fbfb8402d61fc2c2701569cea8f36c8cd46253581d5c9daf1c258798da245b6f2c4485e4c6bc371c08a80ce62341d25c4bbf13b14622e04dab47e46ca37f0b14e38785e49880faffbb68dccc6dba53f72e970a164e2a834cf3200fb0126c8854388e99f24eda45161e403b3a128b9be36d00980cc205840eb17bfb38d682e0eae3d4eee9f2132c9010e828e65ff1a675e34864b7f8ba7936e31583867da8c06771d22a004ece36c67944d761c3917db99190cc5095a7def5547f1ab3898d209594f80b52357da42663bef73585b5b735f57a75514aba71ce521a51a2f0e4e54f4c539662c0e0a830b64735cb39c0a525c03487816f9d0f9a5b84db240430c1e880effa73d86ac6fe8a19b2bf3b8084b8fef6c63edf6734f52f71b866a7de54d1c04bd942ecd0c30f8eb4e5bd2c97bb7c268ab9b06351273507562680c80fbf863883332452682fd852f2cdfb05115439bd0f5e5c2c400252f3eaa401490f188ab18063aa9e82aac763ccb8e028b8b0e3175aea97848a9c94d23ee7826fd5739b4e11335d76820dbc6ae5e74458ebb2bcd215de4f6d4f5c5a3c34b8a4f3d0cd64d2d4a68aa15ac168c39f4c7e19730081e08ff264fbd76c963c84d8ad9c076ee01523446b834d20206f4b5bc1aff3239f1ca08d423c23c4dbbb75e4ee72d57fc0127a636d1719291fc1c2aa189a4d4c5180e64d22407bae132fb481fcb4fccd10ebae4f1345a41a6d3a7cc4701da73cc62fa4dc03977b6cee368a4f538b403d3d789a1e31fb7d5afe1361fe839b44063f6605c87ee8cf51eea788426187ed43bee79bda2e232d454a4250ed3ae08ea00a9b777acef6f10aa6ceeb1874b0737860eb62629549f30e484b288e3a80695ef85063d27a1cfd05f7770dd9ed7f75fc0e2d204e443258041f51e503a9cc7ddbf5b67c7c2cb39af15556317fa410fa1e18e9aa47ac6614fd8ddd6fdb218619d8bae89a0d8950b9fea1b178cd0b9d6b293a3ccbd106d4938b55c91823a15151d36161c72cda89088473975934daec140ca4fea29cfa1ececa54a38839e0775c473850ae2fc89b704ce787245a3bcdbab1f5bbfb096bd608848e17794e15d1cc013602ca1669c419801f740654439b44afadea0566db76c72772d0c81baef611687428f074030b443c2461ee16c28a60a9a6427bd088c378fd39fa9f6b2de9b0a26e142d30fc0c95a71c95a771d898b28565fe07bfc4499f020e23f3ed0775b0c313f26b4f0da342043f0a67999b0a57c0edf0da7bc7b478a4d4439f0db1b3b7f448291f53642530edb7f0f284a121706475b8dc7ac89110978bf50097da496b094d1816b0df3cfbe255a53588b4439ef6a61e4c7a569340d1ee264b95f539f8a6cb6965dbf4a61584c21baa4b92baeeb458a05ffffe80ab9777edd083d8d83cde72eec4be9e0aec446f85d54c70244e785409e76e7f8b293e3898fa3499158560962aee48614553d9412bc0643ad72f4f2b79a384744939acc03fa9a9349cd107ac32a76ec8db0fb4002893ca66a6ed927145d5bd703a9d8733be5c69db8b7738a0d3078ab874277b488efecbf4c3b81c197b608ce5ef79f406958b0fb0eb918cf52cf8a26d097c891248c2b8e8c98e1f2872fcf9c98cee3509fe35700c29456e02ab0c71585ee1529a77d2b1e3707e48755d46b02a1680b65b56cd06e7cc5940925e7867d75496fdf123b2144419f3870827f4d7c7b06f10fbdb258e19c26dede83c3d1e261f766b9c80b77070fee7301071caabf4147a0a6aef5e0f519805a78f77153b35e6ccb33c206528df55475f2b258e902a7d39a08dce95cbb4b918686a5c071422e33bc36c657ecdf920e45ef79cde1bb4fef8ea148cb1efdb57c14f8ed15f95e36d22a81cb565f597bb9b9126bd6a36c6cd1cfff79be1d3a43387ad334985a9c9fccf9214ca66acce2ccc12dba1f719b7dc937c4eb23e18e3250f8386a369b68d44235ceb3d9f80d45f4227dcb3b676100c5706c86215e85d8c49cb795934eac2b576b54e9f9aa74359cfe7b07a8f710af8c34e95acaed93814f354c65229382a0603454f740ea0f445b1d226563da0f441c2383e688d5135361201126a800d46921b60459d005b313289315cd7baa64781620a339bf423361a9590f2963bf7dbd55e3644463059917f2042f84930e34c043d0279b4c0edbc8e464db4f71643038b144892e87d9999620af5a02a71d47728414514241ce27e59bede0a493b37a43b3342977778e4e49a73b49ac239a8ddcc7388e22c910a9a01eeb213336035fc16d6884822e557e0ea5b5b107405780ee0cb8b46a0b06355a800b149cb6eea91b93470ad764e4c6543fbe790e5eeba3a32aca7d1bb252b74193b3c528aa3b20641bc43d0700dcdce2d2b48f4c2cc7c6b821c201e54aa32c325b89462c27e0da3c510fed33e4dca69c531aaabb7b5c02d7029c90aa376d8759dbcd51baebdae49d8cf4c9d04b421ebc9d0457c0b8cfe1721847703ac9204f0ecbb4c05fe2d6678e744e50c40b414e983e016bd70c3b0e782ad5ba715508ae79c648dee6726a03ee353c579faa9e343319e228d264ab43bfbded293ba6e9dbf85a290fc2b3e195c914df303dca0078fb036fbf4d20dfdc7a0f5d601e39a06d757c2c0cbbd437770e8ebbadd345d998c12da4930b51c62154ac0959e00ce8380e7d42317b8e0cc0a4e32418e05612e482abd6a814c5a358033df70308982b4058d126bdeef7f8a1bc459b2ba895b3c3374ef2667a0bd8d3cf9803be92b94438187faf804f43dfd9c36a1338df693bd2fc8c0b81ccd795aa4a184eca7ade721194e7b13afcfff1e2e9afa2a5e560b6b0bcd649ef8d218c2e9ae4264f52643a14fcf4765f485547f00a0381895bdec0593344251631760eb1baa289c119903099e459dfbb3fe096045f5194569ea222971c9592489d528ea1bc0070c403edc78ee54fa5c065dc63403e1ca368cb2b5f48fad80153d9fc365c1102b9a9511d9ee89f95efd874e9053e125022c0d2f377e0fa5fa5c5a05a058a5cfc723502a1337cb7fd6859cd2f721cee97208044f65bcd590e7744d0b0470cb3b2bda93480e8de011b5ce0ac3a09535cece8af981786ca9f07f3f85f32f0427423fc1d143650425c451759c2be53b6fc0b1116d62b811e08ee2b9cde858def25018ee25c49b822f1d7ec644fd2b395526ab4dbb135b37ed40d8b6b4d3ac88615d4272ae735bf18209cc968e9951e4a32eed0aed2dadaae007f0b7e08884026e313150e9264805b6333246dce070aae41387d34c570be2fdfb86842a3927c20f01eccafd95b2c8a4a9db14bec7e888cdd57561eb677b7000bad05425148df1f7dde180ca469b591b8246fba05ed4adc2bcaddd193f87e5fee35ff952cc9e3e155bd4bc22b749d301450196f1f2f8e024e1cb37dee7c7f6ba82c417a163dc94df0d0819ae5bd90e5411d8cbc8c4f8bb48ecde373983b36d9604762624e5b7f8d62795d7653463d24ed8302ce9d84e90b3340b0a490033c0c3c0c3c0c3c0c3c8cbe65cfb77fc61a4b4a4ac6c0c3d8d2de2d24c9c5c736db066bfb07d877809d6027c75702130c650bef0bc989b969457a126e26775aa7a4b1c2b3b54ee6e19fce3dabf8cabf32e6a025c49794b1821f3ccaf061460d5558a16f67bbf55424a89795942d6cfcf95091c507afabaecb25f129bcb5183ca66426f965a63089a7d972f6718d5290266aaee83f99be1952b0d6292edfc74cd7f928f028d17117b7d19d16459ef33ea89d1a8a75d7fe3cc7c45dab80a2cc5d9df6d6ce35e59fc04673fca8d538a39f0020a186273ee14dfa586ed259b5edc4361e56192d916106278a1f5fe39baf539424f7701410a1c6268e61357a3a35293c20a347468ed5086a68e238d79e35b39563379930f4a770e91772797298e0354f2ad1ac72094c257a4d2ec935cd66895c627f2bcaf5c5588f1e1d601e6594918133789021821a9528d2cbe434e956398b84a006251a9dffba7e713d116b4ca2fba8231d9394bf3e96c4b9318527394cce9f3012cfee7a5418ef185cdb3132d2c37ba86064e4073d30500312ecdc467425c1cfc4abf188935694cf7cbb9021d670841bee2f2ae86d9e4d8d30a6f79c336a30a2171b1b31b1cebc740318b08893fcc1b2e73232ada288843fdf143c681271bbcec70a8fcc49eaec10b1a446c9cb9c1b576d2916d438c4d1626437470bddc84e1a2ba86188cd63bfe39a7cdad997c183c7b6a04621ec141f43262f4ac8d88e91113274fcf091460f1d3ec81819f15106193fd2383508815e8693d2f7a465333a7af0d0b1811a8320bbced37bc4bb7b2b88ac4f6eeb0d9d770e381a3f6081d608c4314af01c2253544a0e208a39f597425a5e8ede1f4eafadeeafce615a4101057e9051061a2bb0410d3f50a2ae88fabf759bd607be4acc6cf124a59dc58733259d4e5e6e72aee4811a7b388ca5189e76e7f96f0d3dd41d11b5f12e72723e0f781235aee61c4afc938287bc4fa8142de6f738710a94a0c61db0a82f931f6a1a65780f344a0d3bd49fed844ad2e64dc9b41a75206388d1efd86fab991d3f140523233b7efca841072b2a5faa8de11a73503accab49b5d69083f19ee1b61e13072f65df93fb88ef5b2ca8018724e1849263a8fc5cebbc21c92bc775fe0a97b671c3266c69c96e72894b6903ae1f53a8c77c9726091bba4c62ac1c1abcc3536ba04cd66472d935d4e07f4c31899d72523e5b230d692e7936b5529f24267ba02a98400d343471396ddcaccf908cbde50caf3525ae192cadcbe23188486d520935ca50e608e97c29abe2fd6448f4c99c5a5f3164693a4cf0e30c3278a0200635c6d0a519eff4bd8a071ba82106ab74b6d73d4754a31ab060062222a81106439e69e6afb10618cc9592415ba42d97dc17b83e59f33dde99989278e190d2a96413b7418d2ef8a6e31e260926edcf33a8c18536c5ce9209d2a3576f81cbb313edfbf3831a5af8633fb7268f19626f8d2ca4a9b72be53462ef6f52030bc5b0943bbd5193d27e853775ccbbca16774cce0a4c7b78b0edbfd65dab509caca6205f95274d54b03c878498483ad050334646acc6140a550fbd13bf4350430ab6ce57be470d164ec7418d282c6f1fd62e22d78082a963d0a0e9ca14d47882d1694bf4b9189b2aaee184c3b888a9bb6cbc8dd6684262d850a953acb8b22713923d21c4a7f2bee6576309874fdf775cfae0f1d75042624a9e359290b4271ae5cc1a483858669c30c1e3494920a871844bb450b21dbc0dd43042b94e4ea28a274f3e1b0e408ad1da943c9637c792a4c70f1f3ad85b47416b4101218622197dfabbf78183a087f78007090e64186d7ed83a4b42cbb806441895b7fcfc8ca7b0678204039382cb6fbb7bcc158200030bb23297b13267962580fc02f148f12cb7fe17a34c00f14557ebe3b9395af4f4417a616fa64c29961c162b3e83471920bc504ed0b8de9303b20bedd34ffa69c602105d94f671927d5dfc983ab948ca9256f364939234b8286d8e312cd605dfcb6fb16cb9cc45f4b650bd37a9699bd4822fd5943fc22c6f6891143e96e01e6474dd0299852131f371b53d2a0691c5966d1b64c22d0324165466cb977f5328593b1d80c0e26cb2c96e399c65bf8d19da435110069057e8213e768bc93fd48c1e3c3c80051057182e764579ef8ef1cc2480b4a26039e73ec6bed541f00410561c4dc2c3bc5ccef629c82a0c25254940548149279409bd69064985962a5b8bcae6e88e4185e59ba9dc2a9d019053b49172b7c94fdfde350188298e7db29718f6a3b6cea5a03a76d86eca6100841486fd181d5363eb961cc828728dd5b298c3fd4a7e068828348916b3109e31c74e460f16c40024145acc14bdd3e232f501853147fd1398bb79182f29ca48c5136cca56bdf652df2b2963978c33749801d289c65be5d62fe3ddad1d209cd852bceed22c4635711389775954f4aabfc3d28453526fbabad6fe4b3e1624137c2ccff73923104c10fe99bfd389221d11c8258c1993b374e41d3d78e8e8815ae2769ffda4bf9aa434d9c13ffc4746402a61579924464b6b62de1c0e104a14291d4389fd79f532186412afc6b853aa49ea4bba245eab7cf2b99b5f53f3f841029048386f7539596bbc393304209028eeb4c5dc1bd001eb8f15f4e0400a401e616e0efbf2de766000c411576bcce172fb1d3c43cb4043070828c0de3c3600d288a2650b96956be14ab343078f1f28e8000823cc4fe225bc55264f92006411067faf4b3105cd1d2b0a7c0044115f8ef192a2a393ac27208958aa4365225c443855b269a7d2435c677fe2c9b19e27c618e289f78e1a625208fcfed3adbf891b7911a2122c65f194a117730a32086232f463f20af5cb9ee12a0011c423f519d42b4999e88204421791dd0effede0310e400001f2071580f8a1fab002103e80ece103207a00c903081e40ee006207903a80d001640e2072008983d5b9c1644b4dc101e40df625c93e497703612165db64c27de3369c2193899fc305840df45fe888fe394bdb40d640c73d31ee334992cbab06be3d776c5ae79a934ac3faa57771de44be3d686844334a8caf128b11e40cd86f946c5d7207971233a8a792f115e62a4fa50cbb66cb93b255329432fe3b2691c6e09ab8e9c6142c5a5c450011c349b4609ab1edfd5d0e8391921de67763a9ce60c84368d27861bcc5924800f9c29ee4d06e5e29102f94556e1df5d37d76ac0b658796e994542e806ca18fcf9bfafa04440b5f7bfe4aaa59b504902c181d6cda7e7c4a6c1f0b6ade0e9de1e498fdb25300b9429927c558b19f5133c50a474d56a1248b34d19b40aaf075ec182aef0705102a9cfab2d6cba79d942e64009942e923b55b3163b753330091c2fd3f2fdb77954c920689823989d19394dc7ebc7b87ff48030d3378300814ce97d2fc85a5b9e816e4095c278fba1552377be3c30719b30071c2c12f5e984d139fa9749ca1fc8007740828e0436bd002a409e5fc8ccc4b794e184d0314d01fca012c803021e9b5254fe80fe7d9bb07cee041868f37802ca1fd2f4be2ef88598e2ba10b22fa49d44da1d626e178b7537d6955b32612fa181f7a254eb20ecf11de98c4625f1ac4089f983db9ae7a2e9d528c5deb844bbd2785af6e0c62d4962c6ab0fe57d37518c96df6f674b449c9328630cee9f644136a298c118cf7acd6e34dbfa7ec190318ccbea7ecc99b317e81b89e9c939492f0317c63f8a27cff9a277e86891df602cdd9303b95843f511c831774c5c534cfeb9b5ddf018231765175f40b9ff28fc8c9bad06bb224c218b91803177549257bccc6975d768c5b50152da8ecb5e84b4985316cc164fe49dd24759274530b5c3585bab850f96519831656ee093f31e9b330ec5bac4fad6de1b53164c17acef933edef46cbb1f8bc24b9fffb3f49df8d600c58a439463b0d2e1ab4a457f89d6d7f754bc3d3ae307ccac9fed84618a3156baefa1cf5b5e41b9915b8fcfd85932d58490dc658458255f894eda45451cad29ece4d8eb98b78340dc64845ae5e72c689979cfe4745b2c16292f8725f0bfd701ce8e833c638052679bc0a9fdf147fa78a936e35f4a7a375f0e8314a819b995caaa292a218ed26ed6392462e3a8adbe432ed4afaa88928de6cff13437c46b8638c5068be1ee5c47e3de96b5024e70a7295671f374e76f0681c8cf1094f730e7ff209d13b05bc8cd5328ce109ad3b5ccc4ad716c6e884297b3893739626319cb8649d0dd3414a54b39b18431395dc258eb85cf4ab530c636482d12c1595c3b624cb334ed082133cc08c1fb4610c4cf8e649fedae46b92796f18e312576ad25c62671753c512d707b538a3151bc6a8c4614fd8ce8bcc490a2b259c8daf655767824e26893126b149e51f6d3fcfc77c3b464646465830862416cbbca1b2fd7a67778c48247c55e58a3989ef998fd460584dbea49d37d752fe0bed09f29f5df7426f77f3bd1759b2dd85f6f5626a39b9abd25c38ab42c9c9c35bb8cd047def0e111b6b41f1ec9be42da1d7df2ce069d275fa4a31f762e1ca9e1ebb2ba8d9d63c242ea6ca5ac1ca1f9bb9f73dcf5568635b4cf3cab353c1b4a815cf4b9e42825dd8a897522849f319355fcc559928641aef193e163258a0f06434a96388bd38254fe83da74bcbce5ebd138ce9e462ee5b156ec29a63774c31e67ed09809e887b0e49a34657e09c5a4de1567d9e2a284f265d5cf122687ee93d08baad98d4848d012d6d2f31b4730fb44ede9afc9e786117aed4b728c993f255c8cbbbc3b76879df898185cce2a1d3ac4f6a4c3c8b24718975821e19a24c9e432186a9872efdd00839eb693fc945fbc97df242ea466a7f82251644b92e4979eb1f4e20a3f5b499a17a76c277672684bb88bbfeaaaf32df599982eca31d3d29be5a25c8d4e15a7042b6b717198574a9dabbd85278ac7a855d99d6a6d91adc6f4b319c426da5af09ee3c4cdf879f9d3e2b0884d52eeb3481435314f4edb7d2d8b2f2bc552fa4ff43a167cd2d8f36ff55d322c8a9537758c692cd9fb8af2795e2dd5c810af2bcefabb7819ed6fd55614aad56a349dbb94acf83de52866256f5a6715c6e7981c5ea38af2c44eb5954e39675291e54a6772a607fb14549c6292359d8fe556e51449536b1bc463fa9da8291237745a8acf4f8e1e625276774a0a359574ffdfa731693a8a24d510ff1ccf3dbf28ba7cdf614a38145930cbb768d2e48982e2ff8ce9f42459bf329f385695495ab5297ff4845bea9363da5262ae13cfe6a0b9d55afe729cd0fe7de4c3db04215a6652bb674c629a308845273187797532718a9ea3e3bc549a60a2e851a22f56b9804b505b3987ce5b6295fddc8ce99e57ca4aeca15795fbb9aba1a4849b04894f413e4b8a7212874a728a95f939fe2e095377c76ae612bcf44868bbebe6919963de90f8aeb3efb7928a461f81478733b9d1cbb9e388a3b57cb3d5cd72a711e793346ca88cbe94c288c624a4e3c345fc92a94ffcf3b75ca288eaf3a649722fe35f2218cb5b72928688e5343b87403c49ee21d34f3a740c7188862c39ea85b872ca331d3c5c634e88a49c35b7a392fddd832846c74b85c95e522c083c8ac5ebe98eb10dc4a1ec6357cd8d990b88a5f2794a9bb37fdc3f1c3de6c54aaa1ff095cbbf41ae77d33e501f4d364fca87e36ef27c2d59c1de43ae7f59a1d25dd28e1ece31336d68978763273713c303b5f1ae4a32730732a896fa5dc60e56d6fb9c5365eb8dd701b9cc18bbdbaaa1d261bbb74bef365ad599c3b6d956364d9eb829450e690eadc870128784dcd6cc49cc91f21538a42757f99ff81b962a6fc024793f58586f35a9b8a193673a6a63cefca1d2069318aebd7ae7dcf26c582e559236f66b2856a5ebaedcadbbab014f1b95615a71c24e035a9a6762ae60222e1a988b61c3633dc3b93cc7cd6606cbae4a5d344f8aa70c652fe9673d860c74646cb7206fb1c48ce14ca124d394826268ede40ba33a9b6310c3c0e78cf12a56d8989220182ae92ee769c9177c0fd66973dde90593a98e5ca59434ad0bc728edb55c7f97e28257e2e670b7d113aa2d74f7414cdea01a1aa116fc4fc998c43f5df1b36048b7a4ffbd67172ce073d1f3a5f4594bfc0a9a389655eb3577dd5628c6a8ab370f923257a1d78a1a4f8eaeeda980c7f45f1b6b23e35378442c2cbe2b854eddbef7d728987453485e9284580f143aa9951363de2f799ea04e45ed198f1312ce4becd0ea9aa269c21e93b8baab7afb1626649ed3a498599c884b30a9b6a568a9e2858912484ddef1f243658a258196d6e8a3d9dae542c2ebde1e5ad44f4a42c9110c91f808ff176004a2443be1f35b2ffb625cd399517f66d3e2c4c8c73a6c5baade8a0fa3b5f88d1d27ef265718ea64ef7c45ff7f36187c123f6828f1d3d20a8ccefa328aee85adcd2f524d321b3e2fb32dbeb8ed3a6cb292473bec053f9bf24c769213135e24bcb99760df2e34efedd039cb357cba288e44ec7edc20925d2e705b8d94ea7091dcc7a686a8309fdfc2cc519d69725bf87e620e1537312ed7a2b58a26e69a3bb3b4482bc9ffee1746833b8b24c9cbe15c95c59d2a56428dc5296e2c0fd2b1324f5814a391d163dd7ace572c6efaa93ac75cb1e6f7e8613c554dc75a91e44994d46e29c9c4182b8e3baf63a6bf9a175b057b97936037aae2dc616c224d8e9749529199d4d797a493f91c2ab0d05167793ca6ce29cc9d2bf4aea79265668aa4bea4d05261a3e64b91b64d2691d9923aa4307e7895cabdf28c8fe231515a63754ac745418e89f39576282ee93c9a24a641f1e7fa78768249c1d29f3063ab56ec7879cf7a224f19ad4e54977fb5c64415398b13e767d59f49064f656d021dbbbd5c2e97cb539a603753acae6c5731a63251301757d3b8b7712c4c24a4ffe7797a8b2fd625d6246d560e494b35294bdcf95942b95795f8e3bd54f8dfa8f99430498b977ca71ef33e89fc354f89c5f4d99784519da4ddcb6a1e47e2ea281a4decdfc81a12a7858cf699cdec841f51aae052724e7966b28e38a43bd37b32a9136dc4bf2d61c2d84e7d9211c70d3b1ad7f397705944395632414756c429a9263986135179a8c9c59d7e10c14929a54c53d9b17308dd649392688e6c18c268827cbc8a39eab865a310d57ece31a53b4d74cb810d425c26dd7514716d0ce210970cf712ef6091204a722a369f7d538a9b8d4024cc6b9a864da1a4e3360051c78c29e5589bd9848b8d3f7895d234dd673b4646fc40b68d892995df87ebe49ca152fcab8c920f3edc57622996a96cfd7bd05f5b3d967fd6c9a41e1273a554925d3660230f496f256b2757a5fa0c0f65684a512fe50e9a69eccfd22546fd133ba89effc4247edbc67452872c4653f9e6d49937e94086cfda58dfbcfe3d076cccc16ba9cb585bcb81d3b214a367e2696d1b712889a96916e37678cc77c021efbf984b0a9f73977dc32e95728bb9256bdd90473bcdcdfb8e36d86043c176f6de529aabd0ad819cb2edaa8aa9f51734cc08c10f34e0c387a28005232342b0a106d7c2daa666b47a8e93f15f0316cc20041ef0800fed818e1ed84803fe29afa99ef966523c60030d6f9af134ffb3d4a1df3132728673fb6d8ee9f51d66c8fafa73124afcd5cb60060f1e07b041863e838c1e9c9186026c8c2113a9951253c593a88f325c870d3114f3c6e4ebb13c258fd9a1c3878e8c48c046180a957372b0947647e632ca20630423233cc8c8810d3064a2b48b674a3795bb2f94d6acb395e43ebcc09bac39a4bbe608cb7701cb1ec362a64e2541f51e5cf82caa09761e57c7aa16d8d8025582c6795df21dcd6a819dfebbcbe059818d2c2489a60ed9529e73c9c7c00616b22cf953d97f9a49922ab07105d374bccdd94a8c6114d8b0c2a129fd696554853f3ad47892cd42c9a11d232326b04185fef2f3f4a4c949986bc7c8888d29fcf7e973c5bb7ee8cb8e919114d89042725a53eff673c7c808096c44c1209a24e16aa3a609086c40c11c464d6cab5e03369eb0a6f59ce42ac11d23231fb0e184dde45c4d0ab6a3f11edf011b4d28c99f9a8411d10bbfed08810d2624e612dca4e85316d5ef1819f1a16304369690145defb1242ce633b0a184f6fa649d8a280336927089f36b96a5bfd92a369070d030a327e7b9efccd83802172f2ba778485bbc6d1861ed14f37ad25c52d03803358a91247772c9feeb2ee51dac418c63f2d94d52f46b0ca3f52949d592ed766684f1fa777ecf7a1f3e5cc1e83e6984745930396b1d1aa8010c72e7bcc36857468d5f28dd7bf27cbf65f8d9176ad6d067b2c62820821abd50462f4c8d5b99cb98831abca07332a73e9a1d0735769188e63856aad10532a52744676cd898ca851af69e99c4b4ba31e78c1ab87065aa4e72f3df69ab831ab7784dfe2acbdb7a25e41ba8618bab7b46ae4ea81373ad8559e62bc445ed4b843568619be7ac9b9294eab23c8b3fdf587c5cd56092a42c1ed13f716dc75898ccce7286cb2944e66071f7c6705b5621daac57b8739bdfa47ed93189870b4646bcc70b6ab822f962d0bcf604078f0edb698e9ae74f5c0ddd1cca89983cd92307a38927c9dfd9ae9e8dc36ef169ded65763050eb66ca5de70490a27bee194efc4dafc49ff3673439e256dccd1520a79591b0e5bf14ba88bd2988c0d054f95e26eeb9a20d91acadc93f3ac99d4bed4b0468bf95799746c2b0d5c7bb61cb2161a124fbafe50d36e319fc1cc4f62c5c8f7b76b06c52c73ea96d2ba6419d23693b70413c24106ccd7bdd397982e34c231063c496279c77620e01043292b26b99c365b922411708461952869ed2c66f79d7180e1927d2336cdc9cc4703c0041c5f307f65a8ad9893cd660f0e2fe0e8427163ce183abfb12cc985564fbd4fd45059fc2d185674fd4f3a29bdc263079fa1de430338b4404637397dca28b1a9fc71068f1eff011c59287ec9d9e923279b786b1918c0818566e6d22a9dee3dd0f0008e2b38bb721215269d145b2b7ce26d6dcc1bed63f93dc8f80ce0a802659fac42ae58487f49d0011c54a8a472cb7b8c09704c41fb8e596276b2b6ca4a0a9f24e62ff51e29a9373b4080230a56feec1f3644e524767040014f5df6b9c4244f98f409703c21f96d3bf2727038e1cb29e9a7f4376f390747132ad3ca4e96b3574fc60e1f3a120713b894a7e34fc99fd92e0a0ac7120e277af292c637e52dd991389450daf52055c94ed2497124a1898cd27bf5db2d9d1d25c081043f6552342fbe5b3a1eb80a464678e03d1ec711de9b73d3d88d8abee1304212aa1eaeba6f80056a50ee010e04327ca4c100136c21a418c5cc9346f4e5233a24c6d12b9a18ee2fc33873ce1d7bdb8414c984e1a8891d76367932d9f50005cef080193c7a786064e40c1f3e4282c1055d8b4e1ddc727a76e8e833b4470830c81c6bf3672cd92525e3470f4543c72fe88d25b321f45f440383105f748289af2561fbd0326810d20b4aaace653ec2c4ab1d232368f06841082f0efe31fbddc51d2323ec2e7041c82e34cd23d251eb1ddde3043ece28234417590e1317939061c1ec159880dd052608c01442729145d192b5ba379e3e7061deff18f6a2fba87c3b46467ebc972183905bbca92b34f6eebbdce70621b6582a66edfd4f66953e83905a94e2fcf27fdb04378b871966f0600ea105aaa1af1ad5e1e30c0f99457225f1634c276f68da022b30818e1059183268de89b92af1a47ac0630323233de0d1a3c787c4020b676a551b5f4e665818a63df326d82f0879c5bb63e6a9bee490d25d10e28ad3ba4cb96a0793e4be155eca9b620ab27ea97f5694243997da7a4fc6f8ab78ecac4294e4a922ddcefe56a29c9f675291ff25f1043b091599c9492a31e7942e659c81076cc82910cd62d2c7122f09251a628a7265ac6fff87434ae17aec186b99f6a2ac21a448d44fbefa4c41b365d11842c828d03de1662e9b21a2482cd93de64f92e5cb1c120aaa2d750e595eeea9da3132f2ea65cc200414dfc972528eadf944bf97ca6ebb3c09ae2712639cf59664395ea53b71e8a874969fccd7444e9c2f7aacbcf5a0266ec24f498e7a792696385a204413a445b7fc9a7f26f05c72c6f4ee1c32c9c104f996537ffb96558a5de29d8ebb94aa635296256e8f1edb45a3956e3b32125289f4f6726baf4c85934389bfcbffd5f2183289c6bc531413b36c9c14168448c2984fd2496712178444824ad9a65fd423fb7220711243ccf5f3e79a91421e61e69a9655cd11c7a42967d3b790897d470fff71863702f3ac9efe7a46b4b9e450e269121b842c42bb7e93c7241bd1242aa22d2db9837d94062189a83e5dceb389e5f9fd1044d89af36d9ebfa6c63883904364aeadd13da5a26534443957b6c6d893168414e2f425b65e924e2cf8fa821042585eddd9e4f077f84841c820d82c26e6fa648820fa785ad1c68478cda9334202f1a6bac5fcfb8600228d4e9a9e1d3acc89f9037152bae874ac9c5bb26364240c217e3007994a714def831d254e1ccbd18e91111f3cca601c84f0a1f099df6de3dd83e17a3fe68a8c1e2aa1a637fb999a6f3108c9c3161f526b9169eab10942f0606869c90c1a56c734217738479d923ab7e0d9e442ecb07dd4deb7cc5acb76481d1283c698535f7cd9557420bcc5bdb3356cd87b0e7ba598eca26cdac54e881c3093ac2af74f69b868481c580b27559c9c2170b072ee133c96a4c94a7fc3bba1a95b27e5a73add4057cad7e1f3dff4a26d702e73be99b1adde0f1b8a1b530aa2f685ac21396b96a4f6b9dddaabe15cbd49e8f12469383465f32a3df7a4d68e91911f216830dc436cc9be612fbf67d862123e8749f5fd9df3238d12f4f01f21d841881914cfdd1326cc6778193a42cae06b084b5eb98402240821037ff2a514b575f2fc6607193a7e7086f6e0a1a3052163d85cfae3e7e842c4b04629cd4a62b6b8cd5e20240ce97da66eb73b040c6aa96ebcbc5033cb42be7058f3eaabbc17964c39779c34ff39de2ea83926db98a343977c215c503dee455330640b65f2d0276eaa477892102dac19eed6aa44918f36240b7cf6587dd61f4396ec8332d4057708c1c227528289ea927fe9a1ee4387054e117285f693a4b13ea2e4afd040230d2b54e984f988922d39bf1ef028c3d1f8010bb0105285346691a9ee142d49960af8e49d994c4ea4e64cc1183a5dfd542e51321822055a422727bc8f4297f3a3d4d32150603a45c6709f7047a5e99fcdb8647988136cdb933b6e7592270e69c29f2493c34cf2134db24398b0c4885b7aafbc26f64b28d5c326b9d31b842821f937bc7456f4e7492781dccff624667e9f7fecc001193d661082848397e5f812d3ae510e3982ab9ac489d6bf24594e0621464025fec7634f7fa6be18a7205216b3d4c430a562462b5a734e99613c95a1b5dd5935b9c230db2f99b649722318c75c92852db94b7eb1dc00861f7a172fdad98ff947b8f10bcec64437cb0b1d99b363644447199ac60e3aa0831bbe48b228ae699b26e3462f92e2eb4f3ed9b3636444053778d19a9824934dd51bbb48a56dff52854e7dac3d3a3032a23dbc05377491385efb194c4a2cf164c78d5ca8e2259f4d36ab6cc33770b1e7ebabcaa8fd8d5b74db11f2a12bdd653e70c3166da62af9272f43cfe041860e6ed4429344f978828c7d831697aaf74f6ac5bde938b8310b9349628a27396983873f7c8888d80d599c95c36ba86e9dfc8903376271b4f92c1bec3b5509c342d7168dae26f98a52a6d124fc8acf07d1158a6666dfa0994dcc24ad30cbb5dd9b59d81c73ac30f54a4c319ae4c62a8ca8d025ebd86b927f552c7ef7aa59532ea9626ea4a28a327d77b25dfcb86fa0c20c7b827709d60a7afcf0a1374e713af93e3caa8929e8b02d716c630e11fd8e911ba5c0fb734813f91ca5846e90827b1bf1dbde7f90d1e305357ea46186c88d51d09b92e85331fd6daedd100566937af7fd1a637b28123253bad3c88082ccf94baeeed8278c494afebf8ce799846e7802efb49c0ae98d4e709dc5c4e0c9623c8ffc0c32d60c1e3c3272831356b09492346db14aec6e6ce2ba78c288e698f5bfd328e3537043137aa8ba27ef5ad7933ec18d4c7cad5ff13afef72c4c821e8e031cf0286305373051fee5ee9af0b8f9a50fdcb8c4972af65e67499f57ddb0446269ec9c9fb35ed45f09fd4dc860322a1b199ae006254e090b33276c8ed87c125d9a8f1defaa24b88b36693557787ef1462498ad94ac27a2ca3b78031245a754eab2ffa8ff2392d63363f4d311a579d88e8bae74b28d48de95dacd9224d12823ea9436d3eae49fd45984fd1664c737cfac4611fe9c247b2af97fd49288233aea22531041db49a25cfd264db143fc396e519dce3c536f8824e9fa2d85f585303732c58d9a3b6af484483a3d33396e3e537e1086f133af8c0b22d7925d3d3e4fa91d0832b366d83ad392c28038e79016e7cf648bf70f78f5499d2dc4a64ffd90f8dbf5e9c43a49ce3edc1dc46288c90763a66a6ac625713c7bb83eecfab275f65c0fe793d453fdcfec9987526dd88cf9127c32783065775a6a78c931c91d5ef12ff992146349ce0ebaaaaa85a7dcd9b63ae09be44fe31b35468b0e64e770e511f91c2a3965654cbd1c5c0d96b4b5c723f5381cbd2763c65d4ce87050dbc4d4316995c9f91b5c3b35d94a748f53bb81d5e89531ba6dd03c86f5e7efb0d5b2c198bbe2c75f7675b986ff3fff98ec97f673d490a81ef4c4b2e288250d4a7e92e35bb013244443f3757ba1e53aefc919f4bc5cfff6e13f27314393a2e99324b5295f97a18f8ff29d2f64d84bf2e0e519d68263d852303949a57d49126a31381571259fad9d5187c13551e3ce65ebad0d3804012a089891d560408d1f947106042802a544a070f00f1f69f42040007eb0104800007ef8484305030880e340d3c0c1195ac60104e0a387731acda3071a086801000c9063186898218c1fa0c1c138327ef0808c06c60ff761869b51801cbfc8426b0c53720c26c671872f4a39e679d6bfee60e11dbdd0b2c9363df6ef29462d072fb2a8facea4dafdaed93132f20334d80caf1cbb2899a8a333be1b4ab0761cab344646ccf01e3a784046eb6047c3c7c8c88f33c81819f17106193f7a781964a061060f26410e5d1c193f7aecf051860e1d08c8918b23e347193b7ca80e1d08c8818b23e347f330230d1d3a1090e316a743c70172d82271ab3f4dbbca510b43223e2ad63e6ea772d0222965b394a7e02cdabcee17ff5a11e4908549722969eae2d5756946922316f666c54e99f78e91914dc3470e58a0e626f859395ed1beaf8d6b6d5b9d380672b8223195a027e5aaf0f6c9d10a93598a1d2a5d6e461a3e360d1f232317c8c18aae65e552d2cb54aefbe0916315598ccaef1262c25a5f3954918a42c529ca14a520c528d6ab5c79d2c99d9c2d394441585f8ad144bf7ceded701d280b728402145f87944daae64912ab1c9fe87f6a443d07b3dfda13bfcff957e570199bed44a1b5be774e90db144e6ca26015356fe4ac093e94995738f3aa6499204726b0d3bc79edc5aee4680e4c9452aed8fb1d354b7f392ed1540a1d352eb40425ed87ba339f7354a28eb7159517cd2e642891fcc6d8ab4988ca5fc931893659bc95c512be7e32410e49e4880461eeb7612f85980c24f61383fc96c58fe884e924976ae64ee388452edd5389899f2d8da05a2cdd3e7889b935238a515166374c76e45884b12944467a4467fc509043118938724ff2d7b87924a51c88d0a3aa262be55429638e4398e22aa6ff14a649fe470e43b89deb3f6cb687d23e472188103508becbc3cf2413f38329087364e6aedc60c22669c7c8889f3132e2801c81f872149342e334c44c7200e20feb5727cb7239d1793fe47b2e53c2277926ea1c7d30eafbf8ae9f9c3d5a39f8b0073dec71bd257ada12c3f779c08359a743a732bf4b7a0870d0c34b3032e238e8e139ee6087eaacc4a49982a6305e8e3ad0a1126d337792d37390031b16a4a2f8894c09c7a1943f67ba1463752e133858339127878757a427c71bdc406d6003ad410d9d95a5aeb9969b144b03167a49cfa5ca81861c673083af5656267fec653fc951862203e518c335255b6a12cd21064ab773ccd43b77d1802047182a29d55d982d0718ee68f9628a7bfd65f717b09883be896be5f00211152c25294e6da87374217f4fd22d76528ec992830b6a8dff661471fd740b49417f34f62476738e0e1d9491c68a2287161a11d792c4dc31cef32cb46ad162ce67b23fec3fc8d0118058e4c08297358926e7e1c1629be30aa9ff6a8e19de34e69dc30a77bae0a29b5701937ae3df86340715cc0f2e6b3f61793939a640fd75aed25cd2c774e5908297fbac72f2390a4b6ff5446e360714d8acdf25ed768e27249494c3a4fee8fce2e6704292b6951c4d2843bee7e498e44e0a31c178f257c8fbb09af264478d32e4584229214712ec58f9527a8ae7408259afde74bcb7418e2318735eef554ad1400e23bc262649490bcd8ac1ac7ad674fa3947fa0b8810a3b09e580bdbf9b9b21dc3a0a7e499df1c73b64faa84f1d868eacd5c4582718a49328d2f6b20028cc3491a921ab70c88fc824d1d53dfa65c497a8f7cb1a7f826589f341da349bdd06ac43cf6364c88967a20c28b2e7bb64e27c9fbf6df059aaa3ed735d67e4ceb42dfd8aee0f5d3a9e25c549a1d33257731b3282e3acd31f195b624399db7e8b287aae865ebfe175ba0b14f0a917b9536c25a2cbb3b9f277fe8d9092dccf458bf1e2e2adf9bc57d2ac9e2205df24f9c7cd2d0c7a2d0fc19eb222cd27c96848d969359950f445e7109154f4c2cbbb0d88220e28af6d3cb7bc46828a913698567139ed77e6f7392156145ea19326b5b123b1d9155347953627aeb8a6a4b1597edcf499faa54985a3ac4c4f64450910976a9367ed63a4dd243e414e59262cca44b1f8898a24ab12793bb35a609e99943a4b8b7e332a57ea68bfa28481456e9fd4bab89f898d0154442f167dfcd395c3acbd1531420820828947bddced379f4519f2043278d712e3b74b840c4135789e1befb4d569f3a05229dd054b309b7d75f59de52820827923c67577f98a520b209630e9bed3e450404114da09b17a4638ef15d730b8864628beb2712f51fa62f4cd87ec2a9c4544ae412a6b451251b9b3a751d8188252a418949ec179af7b2f51d22221091047ea622d6e18e84a19a728a63d11d4c864427955039ad7b5596ec2338cfeea6ba9decae7304965db2668f55c2c74d23f07057923793923d231cb53069c5842e59638b48d3ee5eddbe9b58428ab8e654d672b369882482105187e0e742c941ffc73668884214ff399ea16bb42b1221c4fa1efa3f7e466410b88c474949d70591097f51be2c793ac91209840820fe606e4b4b2193881ff809bbd832db1ea2f6818fa155acc7c307359560267668a5b4227b70a24388af999029be1e4e7132dc8fcf79388cd6c94cc979c437113c60c9f277e84f15324610b903277a57099ebd92d42189d8c19cf12a7da66bc7c8089371068f33943f205207623f53a52487aa941eaa80081df4bf7a13b39c27de471e1099c359c2f67f7fda2ae41d1091431cd0f4edaf6ff554f988c041e40d7d2c9db435a16a93a4881bd070f3299d186f8351727ee5146736a41e6b3d977c8cf9a3c81afcedcf5426b95a8f89881ad4ad35b14d1ccb27af481aea709edb757fcde6d321828673cfe7acbf8ade36a9c819cc5065281132d418fed78f6e29455eeae705226280814818d0f1ebe90bff5f4f82814a20f20512887841cd964d3231afff5d8c8f0ca040a40b9fa0975f5c22f2565481081744b68069146fff94c3cf623b5420a205912ce4fe7af28584de791e0b7afc96a0af2575b27e854d4398b4ed87cee9b5c2f12fe8cd85b10adc57b5c9579b0815d8ce17ef61579d392507225330c71c3d49d28e51f63dc357d0225268ed6b6ad366ba94fa8e12890225b957940affadd985827692cf765a76ba95459e905f7ab6b88b38818c329eb5c6736fbf224d48cc29d689a529224c389f66268b7751ec932cc1b049cef67afb493c711e224a70c4cc1349829b7bbab57f528e5e111a224838b8ba56698efbbc970391238818a18ba54916cd64083e80a318c9edb326972931e8be78f598edd0a50dc3bf3159364c9484715fa5aa54cb4d3155304a71c922b27afa26c3010c7765e6fdddc203c72f123372dc522443850d872fb2f34b92e5bce1729bec4803472f8e7ef1b2f1333becd2d061f7809386881470f02204387661ca2bffe12a6d9de6baf0f39a6c9a52d27b6c73e1794eb616ba39b2f610e0c0c5393477dacae578bddd62134f65dcc4282b9944030e5b7ce29e113ae2a8c55673dec14b8c17258b83166d66db7455dd15f7a061c6e3980526f98e87cc549bbac1218b3befa6dcbbf4e9e3098e58e89f77b25966464f613a010e5814a4772d8992162b3583571434ea6fbe0c9fce180e57f09d3a5a4d57cb7a5ac1c9af15bd25e3b363c571eb73a163bf0a64243afefaaad092248ee47d760e6a2a2a8fb9cd982a78868e8a32658fc9f051fffc29c8d40e528249d92f6c0afc32332529d9384ae19ed0692b09294c9a9e04b53dc9bc1cc5ffab25795d3e9a892251f3aaafc51d0a53a8ecf2968382dc0caad7964f74395a0a315193ace209c3e29bb668b813656f3241335d422ee604defb265a7a3771dc0b7f297b1d935e4d2425eff01f3ef7c99bcd44a5712336492d26eeecf1f36bb6ec1ad64b1cddde2e867f8a13d512d77c94a015c32d3dad4452885cc7bc2694482b57e7318baf969fc4d9a7bba137c9ea1749e8626369931859e6652468a9cbb66643e21abb0df5f511854b9be38835557e53c6a81e97d30873ca192ab7426ca61c46b4616d66467cc3c6b3883ca65c52f28aa8e2095a66d6196b4f44a2a957379dc4f42e224a9a3d9de95bc59387c832988a7eeecaff1862750d5e5f6285204ccc1cee2e861086e96666d707e17675fab76c29bc46105e5b5e53134b208ecc9d179e4faa1c1540ecd7c1b58419ffa057a60a2939a4bd8c7e68363ce6783bb617631feace97a25ac915fd837cc0a2dfda8c660fdbe5f059fdb5b453500fe8e6c9bfd251a14a300ff5796cbab7dced130f868f93d43f595a2b933bf87de79f32efa735891daa5c624c9904ab249a3a1cb2414c368b85a8d42d246282e16830120ac48120181ca038250573130800405c240b0643a1300d14517e1400015d28223440241824120e1e16120c0884e16028140a848281402018140683e1c6288f32b1ec286a0b4243a0948089d0fbbf28abf0df387abd0c55f99311dbdd18481bccb6433d498fc5775977958f2ea4777d13fe2cc3febf78d81beee45f1f86391b614b56370158ec211e07874f4cb5ea441c70497133bb8002b0aa4d2f8aaa18d79de21f9b0d4a8a09689208101b19cc41a9f3e189b7e911211dbec2064afc648c31c868485b2d90814041af9e8ec68fa86dbfa772783ab049013a45735faa1fa6e06c6e134d93aa0a3b2ee193e12af69dc2d41e2f537a99c958a8f484e300b434a319f11888da24575e7d45b84491d6576e03da83e4841fa1d1079bd12609302bb5073a37bbd7b1285c4578550d960e6609e74f8d7119c805eba43f26c553faab67795366b90c9270c9598342cad68aec1dcb601bc859c90e49f5c8ee1d0364f9d784d9b59ecff9a4971a7b8f0c81de9a5c22983168cc21b07425490f7ffcf1aeb331b6da457e5b89e22b8d7244125ea106bc79bcbb4dc11850a7131d8cde3176dfc320025c2088059d6426388716d98c40a3b2679c6941973eb65a8caf7a99a01d6df0c2500e43a06f1415e0c180dbcc5ca80c2017c87bbafe048c3feff5231550a5ad634bb66b526348d243c82a86a89a3d093dbe9fb8ac27af0c2d7e49e42f94bf37961ab49d456eca1b4dd8db18d62746cbe31c10ec9bc3861a0d3d43453ee914e7e13efc6edbfcdead38e06b10ce5801f8fb8d82846ee249c305f91eab08bab64e4b113a96255dbe677d126af3366244123eec364738ebe2b9b38bf863ba39bd9b1800f1ae9e6c7dfc1e5565a2221702b66c6a0200e931620c74731784d9c1e5c73a2cef0a58dfc2da376665e9309a6bd04d6b8a7306ab39f1b33603cd8c1a5f2db0deeaa3c251d3ff077db883a20df4bed1f7cc644543282dd57a383741f9d97ce6c8c5dc13f58006ea39232551fa6e8e8dde1f2dfae84bb7b7725c03986e2f75ad372a0611bef44c3ef597f1e6d412b683e6924a170b3594cc7e6d5f0a81d19b63be58e72e780ad1978b05ab3f72583c12eccb8f0072172e16a0376cb213cd9deee78b85f60898ad5d747820cd1227a9c575f36bd7478d75baab5d1059fe416ec347f6e1df29a6bf7f74993655b5f2103550aadbccf6642aad284a36b49fe85d5552afd18fd16f1967833a2072848d965ae5989b4c7988c9efc64110a709a419b83b248db20bc1acc6d4607d75c6cad892f99f848b08aa995f5eb874420d13aff0d2d12e2267ef1adc9d6963343ace004df604c31c37917771ad9095910dcaea1da8a8ac8d4bcf503da9cc4ea58afce45be80eb86d68ffd57668c831fb805c7723a3f18f8a49cc2aaca225d5bbe205bd19079c8aeb7ae67315f0a4f87851abbbb4b482676b44bf85092c3cd5f1c77f722580e711f98e9222222d9393dc7e733ecdd0d97f94ff722c06724ce394543147c39f573f7518849d4e418bc1273dfa0c7b7ea8b5377dd6ff43f82251cc9054af070c2476b70943b14c3f51cfbe68d2a16891ee155bab307f1693f800b560478673b13518291209112c1bb7b7dfb76ccc9bab054cc88a42e2ec0b85a2a6b657a7989596140d1a5fb7931236cd0be025da822602226541e162bad3f5820e40c79fdfc9c264e93823eb2680111c787a9b035bdd9748855cae7b1066623e695789c8c44388753b99914560119e8b079d95332405cac916f7ce07411f535e6a3f3676e7b8025f5cec0c3dd5977a2f80613c6fdfc39af02f973509b7108b1ee4756b6daf9ae44c4b1cec27867e175b50d746c1f2d140eeb23327825c234b76ab91aeecadd34359ad1e667bb8dc57cce31446c4017f5e76016a47c668498eaeea6922c919b932cedd0b108c110c34ed94c6f8b58d11fb3a52eb21fe439e815c08ae94a841c4283253a5c2d7a6a6caa0604336efe1d290cd9155d9d39f26a826438b0974ef15716ab76cfa7bd70a3873fe3a7a60644430f0def1845cb1b8010dd769c96414988728f00548fb489065d16d5d8b9f1a1f46bbb93af289224d963f35cedbd821a5364ca2e853027880f39a78964e27f6a35ef961439b81a85b8bd1c89e0eaa57de94d5771d8dc3f04ebcc5883c298380e04609dd45423f44197a62346f60da4e60938965966606850e7ef95bd2ee5d2c653425bdbbc5ada7431d443ae6a5cc446b0a14c1187f708647962be8ccc8dec4cc6304e1400be56983ade096a223dde1542ae654392690b456f1bc4bef862f342f0d2544e7fbb96a8abb90d0cf25cecaaac495fb495ede9594903fa06bb78ab36e1cd016a79ede302e298eb456490b4fa5f5d11ff8cf33c888170989546de7658e2dd232a28c4a7cae1cdbe2fe52ad1218fb30a0308f2d29daea487314c39f2de9d00aa30077bec4f94a38bbb0ad4ea04bf648c0fa5c783efed5caf74ac0f1432e89d17ab30332bd0e7a1de559a8fe0c5113ff6b11cc3fa3e0da187ab8c25089ba2e7e3b842721543a2933e3ac97f256911d943d1f63d0e986ce1118a8fc0c9d46c30839134f8118594c61240a86eae6e263f1a729dc6069d61964ce7bf5b2ced40c0f4245fd3df0e2165b154e2fb08d9e5e6cfbdb53d3fa1d9eeb00c48ed621beccc019d75f536f8f37789f7d810a306b4a60dff7d0e2ca235bcabc5f022de8b31aa174448975f95d6bfb6ee7e30884aac51fc91bf4d52c48cc17d0ab8954b6f613bfb9321703b0b0d38a51d39987593484c996436d511af0765ac97be7ba1ee31b00f2d9cf30e8679910175b18bc00d4c3d6943d05b82e24ef6e9aaf45c60f15c26fd099a35f465673996a0e44c251942d525bd09dfed6e43f75f40cbeaada8d48c334a244a5045644fc947adbf198e7202076148608b2ed1a02e479731f353e1a971b7e3cba8b5ad57dc605630969aa5344590e9f0ae496de83316380af85b71a4ce119409f70c80a71e6188af77529216dd317e8b17341f7caf2608c2a7879ecacf91a452aba090ee350bbbb3151a3ae22078981e263f866f4897d4235ab1e037c198df9bd57299461bbfe19e99ae23bf259f9940fa30f44e6e04aa12504cb957111cfd5512300a079504be1c1c03de6a486c68c035d3faf7ddc6394d8810f2ab92f1cd2461c7e17599ef55d611e062b91a5c8adab2c98b8cdec8e759f97d7bd282a8966bc89682b789926ec5de809c6c5bdae984149fbe23ce1c08935b300e0c2faad792f9d7522f58b8cba03d69e3a512ab93ec176ba62706be6ae71ee63d619d31834e20bbe3c47096642f64b808af3d6f5c9dd8743426ab2be87f586e57d6e17ba3066d53b791fe59873c106cbfa196b9786091723be25f35289bf08a7350cc62c6ae479deeaafd1744cbf38c2355f5a2931c08d17678f31be18846ec05a7797ba2d51e0ae6176a72c22c826c1072d3fa58f930aef0f60e1ec234ef043158cc606b09650998eca6190a08879b99fd366d0121510a47fb61d1caa41a7231c8c3357354906ffa6a9f17d18702c3865ebf3756f20c346e94fadbf8e7a252d7eb0f60c11b84738b69832205048fac5e167cdb25c9cba290ca8398399554b9f2510504198465f8f5d1d6f2aaced244bc7a34c4df7da0e363498d42f0c3538bea569d7e976116f437db6fcf55d7b37bca50bfb2099d984b79d1de5c2221681630e5ad65fbde8ef2883acd74670a9e068762f28e6514c0803e1f6e11812de427be2269d9980c2860a743eee1827a8e218cb09fa86324cea65dac6dae2f1dcd68c2b5f94302aadd01b6d2763d02fc2297d0af6abdf6135b032fe5cf06db767052cbb0c02596e3a8591094690ffb5b59393c479aeacc6ca1e0a7506d136bbc4188b9b0aefa0e4aa5ee09258789e654a020913a98b9143d881dc4898b681d862af2bc978143854c495e267d7cecd73100a714a1ea22cc684624e05dbf1086e3784a2e5e258040f8ce2870e2c3d489f8a0f50c5db5a7033df975bac2d7689cec9ba325605a51ddb086583fa9e2ffb83618d179b94063a0d602c7056272ea618e4137607a721c1c0708469de5bb49f4d261522b0ca40c7c952e6ec7746a3bb5705bd1921ef1c1bcc921216776a8512f16bad0d693ad09539d806d6634d317dc88e601ed8b0d54abf1e24380d1c2e7a8e27a3037ac97892d7d1d5712af00681632567b49f85392195987984291273bfc2a283bff3f471749676e566e3ca79a7aff4414e88cac7d7b740435215aa3b97d763d675773e7167e4940512a7b54c196db129fe5d5349d126f6b3dd479765f504b01e82a03f09b262f074ea552e5ec341f015790df79d98f1d02adf03f706ba44d88716a34075d60c7b81a076a6099c79a08f33deedc159fa4642b5053faf897ee1f51da4a60eae9fb85a40d16fef5922a33000381e524aaa6fe7f3ba8129462a96cdc83ad852c0802b3f901019c620550071894b6e2e496f4776b47aeed459d0420b3c9ce346945f5ce4538b8bf6b8035820435570c87554190d824a43332831b338c93622b103dd8f0f0f57aaa9eaf07db36760836eb85a5a5e36545736934fb6e08e18dbd9440c9969cca2477112979de43fc4c195373789139e7ccb109822d19ef60f42d0e94610ea21e21fd59a74ac73bc838f687b9033aa11b0230dce84c4d497df9d8b069a899c589b80454519b7a6080ab7bfc486ca04ba51cdd4e91c5e2f76b1807df1f0d8dc795e4d3c6499a6c12e7e292f209bcc70ecfc888772a31aa0e7b78aac9ed5dd9a8855b420b74e1c51b46512f930d722773b972a5a88486fe1e72812fbe037728e0a43b9a9e2594b204e40df171b519be21a3ec8cb4eae99f891e2fcbf911f2a06a00bbeb64859716b7423de23decb33b7ecbfe5b0eff92865bb621b7afdee675028fd8d5db83851a9e130e9bd2db1e77a263281b9dfa04aa63a1605085e1c4713bda92069000d9d116a4590072689facf613dd0898d575405d8f6c4271abaa65a8e4b02c8d0ad10cab65f4f327a699fd6448a262f2aa96c0111dcfdafc3669abb504a1fb961cc6dbc70bdb61d33a6c240fc8379af4899827fc4250865ff1cac09d667b27d46b4e5ea9e3c3973f98b07e011c3677f8de75ee7b869040740487de735e6c519869efba39b03d66d99537e8e83948639f45cd4a6893a9e2327db36d31374088679a75cedb03ec82a1ee6f5200a484f7de7c33fa1e42011502991123ec280177e15a726af3620587972e2b93c6c76109d8f5a6965091a4434de533148ca20802083590b10e3070b110b414b6a3dd8b7eb0a0e8315084c2ecd490058f456ad0e3d90164be5f2ea32f36ac51c7e25d04233995f7889bf4355776355103730855d20e7e9c6ca0708e507757e9f968e9c501ef8dd76d732a2dd8871af33bc11acf72854a884aa48f6f2e601fd5e5f41134ca8c0de701ac2887a2740c326882b7e27d45a67c8f75569a299beb1452b1f84385db7e8f9f6d517703f1d1e8f99af094cd1dfedd0f5838cc2fd9aca97d44459fad1db17395cb02061de66384c4b0aa2610c6a45ddc875e2734f904f717765a35ef599936be1db4a2a4248160213a4173428964599987aae12c1c9ae294059c3393b6d7e183412de439d9a3f766c2ab05dea089e202565e48c905320cdc310dc88631507f5134f35e749037c767b4980844112b79e957cd7fb07635b01fe38f415726c2796c4d2ed7adfcf87a6948eab62679ee91ffefa73544c63d15e9ea1f4c8ee578ca8506709a314d8058bd29491515d7d9a8e1c91369cd8045ad8adc7a2c434c1899278ba346b45cb55bdde16a8ea9f3eaa1379b6ec1ae671f815255d6fd1fb28133ae5dbfff0db05efbe06d6fe1ebd2994fbc26287658ac7372cb98d64b89caac21a371148e6c528b203caaf005a47fd63a3851e9b30662edcd3d9eee4053ae2aa88aa76b68e615fdf165be716ead4e7db4aa7118a13f4455f9bf16991645aa06c1b0173e312d8b1e72ed6885f3ae5685766108115dc74a592de8f353a4b820f8fd119f1eb42fd598fa730c04c07916dc21eca4f663ad2d196da135b45c0fcf569c304d40f51b9f1cf4928cde49919bf601e2aa08992b650440be9c61cd50381b7e0c31203b93a712081c319fc3a273dd5a745993daa4bdd7e039b6361914adce2072122ca81dfc297dadc2b7de35ac42921090bc61bdf37c1b16f6783a9c5fc6c4caf6c6560877b2fcb304deccbaf11b98bfd97594b68c87b3576059e75637f85cdae3d779c114a09c9e5e73539d69e355581daf593a3acbaf8c9f2be138e08f74980b86702485e334a0015d836c8907568f19d26a62e6dacd2451742cf297b80f462ec0d4e52c035ae3d65905f3ba9eb543bce3134dddb5be1b9f037e603ec0ce377b408947e9f835b11b8c159f73de982929e17ceb3b0418fb0af78a4eabb27f9e542b27c02274bd0596e07901cb99478b8b4be77e53caa3ca9aa44377432e25fe8ef312d75dc3956f9ec275cdf81c8ea2f7f391ecae085ee7d9832ca3359274a97ac18c28f1c90f24ae3830a15f65a8ec171c422d569b786dd05d8ebb5bc9928e4b76afb12f379c13243b327145924899ac553c49160fa36c73f5fe75e93b1dac919f3d4de70d8de853dca57cbbe225a11a187a5936a058c59ab845eb310fe79d9060fffd3be627e5784e09dd697da306fedfa8a80b1817e652f4cbcef7fb563267d3f40a781d70fbca13041ba69dac6181aa49f828c311e502f8f9e20b6b1ff70369c0283bf8744f9094c2204967b282a2ff4a6dd12c6c98fa51747a09573beb6d37b461c9152d1fd567de681e0a966f57a8b2e8b4c9bceb3c3d2904b7431847634631d57a9c120fac8e346ec02bf379120d748469123e470c3084368776b02801e7c8c01e4b224f3a0b1b9d61e3e5a05e68d5d3c58831ce20c6eeac1fd38afcc3290fc02894a50a69389044d288de1f0323f6c02c8cfa7afd607f610e8cdfbe4349d6fd731c6b40014e80b302982386ebd7e95380bb012902b3d191c5a7777fe5bd51b4ba3c73f2b4f705ae1434c8f03e9e379b45900925a11d8f0a0ca08717d502c9a45face34897dcc15bf403b8c74bd1528e82ddd3522a1e1f7ae6ff2250bd0642958cf6b80f27453d2d82f1d3759c0512fb81efecdbce91e010b2acc2765c7039a70c242ef0d3d863a30f8dd0912cd3ee16207aa41b6c78b5a0a30743212a29a3e995a84584942ca3c4d269b5a72747443ef8d3b9181ea4852b782815a0866b5b4e7908c7ce1dcc042236a99078b2f3615112ac2a8fda9a7d333a6da4b8d0d689915bfa8d4e3e4266b1976edd33911b6bc6650aa27c2d2a8f8f2b3099d234d2acec962715a7a5c5bfc20c85fe11368ef09dd4b76438b3b63e3627dc60c1ab3ecb613fcfb93ad99945a474f8c0f6494fae45b3e110cd73644c5273e9d1b90695059d1a5af9665245472afcee6be7d7b96d706a97a1b84007ca408ef71b61e7aad5cf252f6c4d8f6732aa5331a9fb5e9b59fe3cafc6ca6081a517393114762d922082a863d4ec7269622d4dcd397fa9decf20ac20e48dd54c527bc470d29e22d52f2d2bf6a01528ea253f093b205c8218f7b9754c6ca95c072edd0d5f5b97fd07099f75789899dece1b75480e129a3c663efc2cd977589699ec8ffd34a2b33e25e6c8943fe4ee40bdabaa949acb756de7bd4d58827c24f92511b130cb629706252cbc11c3c634082ae870f78066553ffabb5745155f99d79bd456a21da461676ef2ce512f8253961a7aeec7334f24e676288b6d91c3867b067384dd62add89cb6c6624bf60bae7ce05f5a599ff7ef3504c9abd9d6d028f528d9647098872e80b009c5c4b2065ba43f528253ed9b5a0542cf82e860fb6dcbf456b3e459d6d065e8d07083bdf7a0c7410cb65e4f8767c3484e9c97cf7cc1fb93f7fde5892973c692d36ccbd92dba79888c1b8b8bb78996dba138f8a02e815d11136f3c1fcb2d047686b7c16786a058b95db7866e83e13785a802a01d1fad91d62f9aebe603b3368294022859b3937b5d107e5f9c130b9031faf5d55cbc1493a7dd0982c666d2d44f8367f698021afe524f098ce000e2eaa8f9481b9384f86d08628cbcb8ec07aafd94ad68592d0fe5df5aad8d8e1d54ff2ac706293c124581751281b02b32bdf729d3f71108e752d072fadd195d1591754b3a4d9ad645beb269a5db5ae526d6e40ab83c4ebb00222f466824dac2d87e505febf49519c6439b2185c09aec3044f2cd85167df646ffbf44b2566513f883aed22845d65a3612580042de64e29b5a6564fb962920a529da49071bf522857b7cffa16f42a3a546cb185fe3f9d32fe09d6c5aeb20a1aaf035b1dba26f0095a2a3c359b825aa88185eb8b5f5682f78e2f92dd58dffcbc12b65e8b49c15fe08c41ee2bdd348d2e2832fa71ab83cc9f2bfd59a3fc673353692b68f6625a5c6befcb8e8f14d8f5f9cd4ff8d8239bf6ec7de8aa7bdc705aa88db8007f1213e946a5a8e10479246bc28d26f0172e4677a554a9f4567fa94a63f566c9742cabce81c59a0f2cb0b53474f18d141b1bef6a444b56e2a938b8af707cffdbdd9c29f1730fa0fc516c83f8d059341e1ce9a61a8b7157d8d28c1e1c4ae67edfc0e7960c726f0cddd3e18722e3dd744d2e21dff7eeea3fc0b80fec3748647ef8e1344951c9df74175f485cb46ed4555cbc859f036dbfcf94b45615a47130344cb28a7efc73d08f0f52a05b48965120b83f38cabcacb23293295d800c693e9881a9b0b1685fc5e2d8a8ce4534296394990942cf5d8ea683dff319d4327596bf7bb671860c478210cc6ed68050e0b840a4ee2b10ede7aa39da2890fe5387bd53314aa6ac0848059db023bf3417f6960230de09a0ea7ae1ddc929704ad77383369718fbcf94b099266c2ac7a7fca72fd4ad6abb5f6ec7a3ebb6e2b7051676d0c0542522b5657cf42e99984e6691624178c2e4a6555764703f869d337c55d835ad794025fe5e845717727a9c417b0eb823d8520b9cc9f3925d9d803fe4381c3767dd642f6cd37f73e3e2d73d895dbd712e4a54b8e1e98057ea6cbb8a8c87ebb3f712f30add9e57c29dba841084194aa97d4ba8d2e8ed758fea1b95921606f2dc1b7ee5d377de36a18ce2e121484dd22afaf40b93e6b160df4059576905eb301766c7730083d2f6be28892a7590aae7e6a80b729e8df40ad23b3e935dacaaf139791b86feb49cd249514dcbe24f2ca87deb923ef58499c5a166491b436a2a13d68924ba3988c9f981bafb1f9d1b990db5532376f1d691cd60e61c962fbe38ea0425bc87bce57b9371850a7c6f4e5ecc92d8824d68977b6da713bea812eebb58663a469b4ef93c908bb015292912d8268caf38b67a9ef247c3fa45ab0aba8971e1cd9b62936757505651c8b1fbb51e69b73a86c07ee8621813d11375ec3e3c6b00b28d7ba03c91272bfde1de5cbb77abaf13ac3d22ec573ece6403e5a13c22e775b93f81d0ff86da5482f5e5548555fc5632a7e356428664f95dcbe9422bd7b26e128a2328530e5161a9d7e9d26aa888366676cd0ee07e2237098e7ef821fb2077763ac5d766e2ba192b6774d70be0bbc0b6e553349831318a8223089912a504be3550384383b7b13700a441079d0446a4438c50983dbda133ccdf4d386c7e401f9c326ebd4c603440dfeb2016453b57cff42346863611cc07284cee916520fd923c2e32a2ae7f5120fe65a4637d609b5ad384a16895525f3206f58c7b9d5085b71fdc3754dd52b3d8d0e34304c92b82b464ce6a37e284d9ba8874ab2d1f8f923820a57f33a8c98af6d3f2b80321e4c4b2611e98edc079be2563c061fd2045732d8bcbb881b4dacc53a88aad83d7a8d89881e60985114057b9e67a7e5c84ceb6ed74da113fce0a19e61e9e75f854f9ab2f40ed6efe338a2381d73436a35ea05633e7e8db6fefa63f9ec5d306601c47b040af7ad42f98edbaa7616a04608228cb1d167594e8bd61101cb3bb12b74a5569bd26a21ec285a371919d5109107b265baabd6b0ae16ca108172d459d2ef74716ba044cb66cb7b1da188eef130cde30cc801339a44180a89999ae4e1ce3da8b656f935850def995896d4d8d5a2b2285cbfeebf89aa541572bc264d71178013dbc3115f0a6c539160b1b47400ea6dc1dd603288f2bfd9e15ea0ffe2cf78312b0697370cde2bced36a61c49c0f18da158a5e1a50eec4c0cc557e865cedc78621f57741fe0d87c34b82125d83d1d7904d7295f57db1ed55cab10e7d7221dc70000b2de0c386b5b0d46ed58305935ec38d310c3bbf638a2848cf2bad8613372965b05d3b050da5b8feb6e382df06cb86b2e331e828d61afc60a0b202c18147057901a803ab0520368d80d0ee1d72c98baf498793452630358322a25712a2e7ceda1a558c4878c955fca73d02d6be7d4c4db6e7603d7dc71084d5c5f7409a2a05751dd079a7ee7bd5176a33f701000047349358d06377b2a8fadc27a4476208afca7abf9effc146d960b012db11ae4de2d44a8ee04b409f0b167a4ba06f89c0ecd8a0eb1b47786b7459b9849d92dc51567253c3fc0aa5fae97217d7a42cd0bbef861fd3a146319176c95707f030553176b8b2b0b23f795b92b57bd62d4d65ef8756357b00a2734bc71319c19bcfdec8b46fd88817d28b3b7a30198459cb70621a48772a78028aba58902a0371771de9a8b95b2ccda2f9dcddb6694647e5fdab00e430dc6922e93abc9ae9849d34b7b05dbe1f7574d909117178e307bbf6d6731b1c98df7f6ee53c5b21ec4cdb2f5cadfb2f7716c9443535159b6d5f61130bb438f51cfbf4dee059670af8ef7e31e240bdab747c66d4d350e7ed1a4bd00e5775ac790e99ac82b50e1f72749531d7d4a00121b42a89383b251d22cc97a8a43d31e9826090e9a11f112e034fc91ea283e9ef11f4d1436b460d2203743398473911b69eba3a69852a2c8610ba91754f5a89c29bd7aab013a8cf65750923599b2a063d6dd4c27a6f0a3b0dd833e7c9f2cb15059cb45b2882e804c0c2f9dac4c150647c1c3169310ebd90666fee48a8e5c67b56a20b626f0d08fa01dfe2136efc761a1598b611c20d1b00035cda0517f5113af596e4ac646523715c3f3ee98acd798f5d9e3843d8973072c5f0d4218a461cf49771a5cef6aa7799aac67945f098382e8e4ec31f016d5a7b249f2635a00b897e3cfafedb4249ee59f7241996008d49c69bed8f6a1c76102facc04e4434cd9fe89545d1a4d0818da02d781923b4517a30591cd778bed7f3c5e15781d1420581558d9ad23406c97d51cdf6dce20102eac10ab950596410e25df17c58a2cd725f0458d608314ac1b1d4b008ae46d5970c543463e970de14c1d7008c000fb4315aecf607c326f5e4f0282c79538ee2ed7a252ba8875787193d02b1eaad3fa54f1ddb8e99b552ceeacc01f7c7f65c45882e144e8752142d65813afb890a0e2b3a31ef6748555d8cbd46c0a133d292a59e168c3d6b77f976e53d6553176655f2859b4a0181bbabacb9c16880ed5b4a88cac1d8fdbe0d4a0bf2f92b52310eca98a732aefe970701a3ef0adcfe783cdc8d90e0c5387d93cd7797139eb7464576d7b4a025f8364b42fac7cd7df824840ab47c03d863a5d115b4198b39213986b0bb631a3221c287beb6285104ea3baafb925f6c098081128988917e215a6de33182f0661bc4850bcc94f368827bdcee895dee373f8afc44a9bf7146406de9aa5a571215e1554e9d6888c148c66b235c9e9234c10392aefa690fc64153cdccfec4595336dc248f88914236c22d3e68928a83411c320838241fbf186417419a67e5aaba870bbfda96ebab3bb1cc98a43027580fbb51a" + }, "genesis": { "raw": { "top": { diff --git a/dev-specs/kilt-parachain/peregrine-relay.json b/dev-specs/kilt-parachain/peregrine-relay.json index df35aa041..0a3dd0bfb 100644 --- a/dev-specs/kilt-parachain/peregrine-relay.json +++ b/dev-specs/kilt-parachain/peregrine-relay.json @@ -1,46 +1,42 @@ { "name": "Peregrine Relay", - "id": "westend_peregrine3_relay", + "id": "westend_peregrine6_relay", "chainType": "Live", "bootNodes": [ - "/dns4/eyrie-5.kilt.io/tcp/30360/p2p/12D3KooWEeezCpJauUmWw3zfgEtYzhZTc5LgukQYtGTMaZfzgVfE", - "/dns4/eyrie-6.kilt.io/tcp/30361/p2p/12D3KooWHq5j9tLdZEu4tnr6ii2k33zp5DCoKREQ6KzuabC9Gihu", - "/dns4/eyrie-6.kilt.io/tcp/30362/p2p/12D3KooWQ8iTGLH98zLz9BZmq5FXDmR1NytDsJ2VToXvcjvHV16a", - "/dns4/eyrie-5.kilt.io/tcp/30363/p2p/12D3KooWNWNptEoH443LVUgwC5kd7DBVoNYwQtJh6dp4TQxUsAST" + "/dns4/eyrie-2.kilt.io/tcp/30300/p2p/12D3KooWM8RCC8r2Bc4qkAC5oh8m9gSQispJ9TCMchx4BjtGdpSZ", + "/dns4/eyrie-2.kilt.io/tcp/30301/p2p/12D3KooWNeTst8AmFWKBKFtAB1RJk5YwpXsTfCenFX6azozv4Q1V", + "/dns4/eyrie-2.kilt.io/tcp/30302/p2p/12D3KooWPT1SzyKnYBgDEmRVrPf88LLzD44D1bvp1Fh4EJLRtadb", + "/dns4/eyrie-2.kilt.io/tcp/30303/p2p/12D3KooWMSAdpcHmfZQfd284ZgDeW5KuFfRM9HAKqWU8xTdNDoYV", + "/dns4/eyrie-2.kilt.io/tcp/30304/p2p/12D3KooWMrteVGFXZUQNhJyxCkeUL18gEmcmggA6xj87GLM27yBz", + "/dns4/eyrie-2.kilt.io/tcp/30305/p2p/12D3KooWCcTV8vjq9KffXjcB2FG7SWK34zUfexj7d1vdVRAwCx14" ], - "telemetryEndpoints": [ - [ - "/dns/telemetry-backend.kilt.io/tcp/8080/x-parity-wss/%2Fsubmit", - 0 - ] - ], - "protocolId": "Rkilt3", - "forkId": null, + "telemetryEndpoints": [], + "protocolId": "Rkilt6", "properties": null, "forkBlocks": null, "badBlocks": null, "lightSyncState": null, - "consensusEngine": null, "codeSubstitutes": {}, "genesis": { "raw": { "top": { - "0x06de3d8a54d27e44a9d5ce189618f22d4e7b9012096b41c4eb3aaf947f6ea429": "0x0200", - "0x06de3d8a54d27e44a9d5ce189618f22db4b49d95320d9021994c850f25b8e385": "0x000030000080000008000000000010000000100005000000050000000200000002000000000050000000100000e8764817000000040000000400000000000000000000000000000000000000000000000000000000000000000000000800000000200000040000000400000000001000b0040000000000000000000014000000040000000400000001000000010500000000060000006400000002000000c8000000020000001900000000000000020000000200000000c817a804000000000200000005000000", + "0x0595267586b57744927884f519eb81014e7b9012096b41c4eb3aaf947f6ea429": "0x0000", + "0x06de3d8a54d27e44a9d5ce189618f22d4e7b9012096b41c4eb3aaf947f6ea429": "0x0300", + "0x06de3d8a54d27e44a9d5ce189618f22db4b49d95320d9021994c850f25b8e385": "0x0000300000800000080000000000100000c800000500000005000000020000000200000000005000000010000700e876481702004001040000000400000000000000000000000000000000000000000000000000000000000000000000000800000000200000040000000400000000001000b00400000000000000000000140000000400000004000000000000000000060000006400000002000000c800000002000000190000000000000002000000020000000700c817a80402004001000200000005000000", "0x1405f2411d0af5a7ff397e7c9dc68d194e7b9012096b41c4eb3aaf947f6ea429": "0x0000", "0x1405f2411d0af5a7ff397e7c9dc68d196323ae84c43568be0d1394d5d0d522c4": "0x02000000", "0x1809d78346727a0ef58c0fa03bafa3234e7b9012096b41c4eb3aaf947f6ea429": "0x0000", "0x196e027349017067f9eb56e2c4d9ded54e7b9012096b41c4eb3aaf947f6ea429": "0x0000", "0x1a736d37504c2e3fb73dad160c55b2914e7b9012096b41c4eb3aaf947f6ea429": "0x0000", "0x1cb6f36e027abb2091cfb5110ab5087f4e7b9012096b41c4eb3aaf947f6ea429": "0x0000", - "0x1cb6f36e027abb2091cfb5110ab5087f5e0621c4869aa60c02be9adcc98a0d1d": "0x1086ffd146349c1fe66b6d1b5142a5acaf70b4656f39fc0a6ec96e712c5b67de4d010000000000000008edee5045683123d8550008f194b4f63875a9865620a578e93127dd96088260010000000000000028b039ebf418c3986f0080f8a50eba030b4d5c46ad8acfb1ff5b82343f34fb5c0100000000000000ac1799757a742c3c22be09c8ba6ea5d7e29981068897aa23c762fc8dd1ef87670100000000000000", + "0x1cb6f36e027abb2091cfb5110ab5087f5e0621c4869aa60c02be9adcc98a0d1d": "0x1886ffd146349c1fe66b6d1b5142a5acaf70b4656f39fc0a6ec96e712c5b67de4d010000000000000008edee5045683123d8550008f194b4f63875a9865620a578e93127dd96088260010000000000000028b039ebf418c3986f0080f8a50eba030b4d5c46ad8acfb1ff5b82343f34fb5c0100000000000000ac1799757a742c3c22be09c8ba6ea5d7e29981068897aa23c762fc8dd1ef87670100000000000000d0baff734570d38b450f4a316e9fc95b8b6eb79c80b2108f365efe66e042da2501000000000000000e5617d995099aee88d0232aa38e171ba71f33cb62deb4a9cf98fc3d40c099560100000000000000", "0x1cb6f36e027abb2091cfb5110ab5087f66e8f035c8adbe7f1547b43c51e6f8a4": "0x00000000", - "0x1cb6f36e027abb2091cfb5110ab5087faacf00b9b41fda7a9268821c2a2b3e4c": "0x1086ffd146349c1fe66b6d1b5142a5acaf70b4656f39fc0a6ec96e712c5b67de4d010000000000000008edee5045683123d8550008f194b4f63875a9865620a578e93127dd96088260010000000000000028b039ebf418c3986f0080f8a50eba030b4d5c46ad8acfb1ff5b82343f34fb5c0100000000000000ac1799757a742c3c22be09c8ba6ea5d7e29981068897aa23c762fc8dd1ef87670100000000000000", + "0x1cb6f36e027abb2091cfb5110ab5087faacf00b9b41fda7a9268821c2a2b3e4c": "0x1886ffd146349c1fe66b6d1b5142a5acaf70b4656f39fc0a6ec96e712c5b67de4d010000000000000008edee5045683123d8550008f194b4f63875a9865620a578e93127dd96088260010000000000000028b039ebf418c3986f0080f8a50eba030b4d5c46ad8acfb1ff5b82343f34fb5c0100000000000000ac1799757a742c3c22be09c8ba6ea5d7e29981068897aa23c762fc8dd1ef87670100000000000000d0baff734570d38b450f4a316e9fc95b8b6eb79c80b2108f365efe66e042da2501000000000000000e5617d995099aee88d0232aa38e171ba71f33cb62deb4a9cf98fc3d40c099560100000000000000", "0x1cb6f36e027abb2091cfb5110ab5087fdc6b171b77304263c292cc3ea5ed31ef": "0x0100000000000000040000000000000002", - "0x2099d7f109d6e535fb000bba623fd4404c014e6bf8b8c2c011e7290b85696bb3": "0x1086ffd146349c1fe66b6d1b5142a5acaf70b4656f39fc0a6ec96e712c5b67de4d08edee5045683123d8550008f194b4f63875a9865620a578e93127dd9608826028b039ebf418c3986f0080f8a50eba030b4d5c46ad8acfb1ff5b82343f34fb5cac1799757a742c3c22be09c8ba6ea5d7e29981068897aa23c762fc8dd1ef8767", + "0x2099d7f109d6e535fb000bba623fd4404c014e6bf8b8c2c011e7290b85696bb3": "0x1886ffd146349c1fe66b6d1b5142a5acaf70b4656f39fc0a6ec96e712c5b67de4d08edee5045683123d8550008f194b4f63875a9865620a578e93127dd9608826028b039ebf418c3986f0080f8a50eba030b4d5c46ad8acfb1ff5b82343f34fb5cac1799757a742c3c22be09c8ba6ea5d7e29981068897aa23c762fc8dd1ef8767d0baff734570d38b450f4a316e9fc95b8b6eb79c80b2108f365efe66e042da250e5617d995099aee88d0232aa38e171ba71f33cb62deb4a9cf98fc3d40c09956", "0x2099d7f109d6e535fb000bba623fd4404e7b9012096b41c4eb3aaf947f6ea429": "0x0000", - "0x2099d7f109d6e535fb000bba623fd4409f99a2ce711f3a31b2fc05604c93f179": "0x1086ffd146349c1fe66b6d1b5142a5acaf70b4656f39fc0a6ec96e712c5b67de4d08edee5045683123d8550008f194b4f63875a9865620a578e93127dd9608826028b039ebf418c3986f0080f8a50eba030b4d5c46ad8acfb1ff5b82343f34fb5cac1799757a742c3c22be09c8ba6ea5d7e29981068897aa23c762fc8dd1ef8767", - "0x26aa394eea5630e07c48ae0c9558cef734abf5cb34d6244378cddbf18e849d96": "0x00000000000000000000000000000000206642ead2010000", + "0x2099d7f109d6e535fb000bba623fd4409f99a2ce711f3a31b2fc05604c93f179": "0x1886ffd146349c1fe66b6d1b5142a5acaf70b4656f39fc0a6ec96e712c5b67de4d08edee5045683123d8550008f194b4f63875a9865620a578e93127dd9608826028b039ebf418c3986f0080f8a50eba030b4d5c46ad8acfb1ff5b82343f34fb5cac1799757a742c3c22be09c8ba6ea5d7e29981068897aa23c762fc8dd1ef8767d0baff734570d38b450f4a316e9fc95b8b6eb79c80b2108f365efe66e042da250e5617d995099aee88d0232aa38e171ba71f33cb62deb4a9cf98fc3d40c09956", + "0x26aa394eea5630e07c48ae0c9558cef734abf5cb34d6244378cddbf18e849d96": "0x000000000735816f910e00", "0x26aa394eea5630e07c48ae0c9558cef74e7b9012096b41c4eb3aaf947f6ea429": "0x0000", "0x26aa394eea5630e07c48ae0c9558cef75684a022a34dd8bfa2baaf44f172b710": "0x01", "0x26aa394eea5630e07c48ae0c9558cef78a42f33323cb5ced3b44dd825fda9fcc": "0x4545454545454545454545454545454545454545454545454545454545454545", @@ -48,73 +44,90 @@ "0x26aa394eea5630e07c48ae0c9558cef7a7fd6c28836b9a28522dc924110cf439": "0x01", "0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da97e38d6399f9eb96f2ed6c58d84b87e984458980cd4641148120e85c2a060fbb489c3085ca1673eb204c953483824e929": "0x00000000030000000100000000000000000064a7b3b6e00d00000000000000000000000000000000000000000000000000407a10f35a0000000000000000000000407a10f35a00000000000000000000", "0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da98bd7fbe93f8307691b98dcd4b513ab79340ca3b6bf3f0989bba6befb5a9bc14a1d2819b7d7ffaef6eb01e09cce86bb65": "0x00000000030000000100000000000000000064a7b3b6e00d00000000000000000000000000000000000000000000000000407a10f35a0000000000000000000000407a10f35a00000000000000000000", + "0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da9a544eae9b853417ce1c1d3549473d2b2b247ca85cd0817d4fb377158368b95d1e8554f5044f4771ae9e3367bccef6b6c": "0x00000000030000000100000000000000000064a7b3b6e00d00000000000000000000000000000000000000000000000000407a10f35a0000000000000000000000407a10f35a00000000000000000000", "0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da9b032edfca52ad56c48503c9d57186bb738032e6d4cbdcf2e9f7ee64772070898b5e8e5668f3187616c7186c40e468279": "0x00000000030000000100000000000000000064a7b3b6e00d00000000000000000000000000000000000000000000000000407a10f35a0000000000000000000000407a10f35a00000000000000000000", + "0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da9b91004fa51c28d27178dd5d3970b5fea644afcbcf866368d0320cb7646afa3ccaec2b4d3697a021bda2346a0b6381867": "0x00000000030000000100000000000000000064a7b3b6e00d00000000000000000000000000000000000000000000000000407a10f35a0000000000000000000000407a10f35a00000000000000000000", "0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da9e07c5822a04c0653b0d53c94462639eb585c825c0239aa16cdc3b33458538c8a8d2e06871a2058db0462f65b051ff239": "0x00000000030000000100000000000000000064a7b3b6e00d00000000000000000000000000000000000000000000000000407a10f35a0000000000000000000000407a10f35a00000000000000000000", - "0x26aa394eea5630e07c48ae0c9558cef7f9cce9c888469bb1a0dceaa129672ef8": "0x218f1c77657374656e64", + "0x26aa394eea5630e07c48ae0c9558cef7f9cce9c888469bb1a0dceaa129672ef8": "0xc9911c77657374656e64", "0x2762c81376aaa894b6f64c67e58cc6504e7b9012096b41c4eb3aaf947f6ea429": "0x0000", "0x2aeddc77fe58c98d50bd37f1b90840f94e7b9012096b41c4eb3aaf947f6ea429": "0x0000", "0x2b06af9719ac64d755623cda8ddd9b944e7b9012096b41c4eb3aaf947f6ea429": "0x0000", - "0x2b06af9719ac64d755623cda8ddd9b949f99a2ce711f3a31b2fc05604c93f179": "0x1086ffd146349c1fe66b6d1b5142a5acaf70b4656f39fc0a6ec96e712c5b67de4d08edee5045683123d8550008f194b4f63875a9865620a578e93127dd9608826028b039ebf418c3986f0080f8a50eba030b4d5c46ad8acfb1ff5b82343f34fb5cac1799757a742c3c22be09c8ba6ea5d7e29981068897aa23c762fc8dd1ef8767", + "0x2b06af9719ac64d755623cda8ddd9b949f99a2ce711f3a31b2fc05604c93f179": "0x1886ffd146349c1fe66b6d1b5142a5acaf70b4656f39fc0a6ec96e712c5b67de4d08edee5045683123d8550008f194b4f63875a9865620a578e93127dd9608826028b039ebf418c3986f0080f8a50eba030b4d5c46ad8acfb1ff5b82343f34fb5cac1799757a742c3c22be09c8ba6ea5d7e29981068897aa23c762fc8dd1ef8767d0baff734570d38b450f4a316e9fc95b8b6eb79c80b2108f365efe66e042da250e5617d995099aee88d0232aa38e171ba71f33cb62deb4a9cf98fc3d40c09956", "0x2f85f1e1378cb2d7b83adbaf0b5869c24e7b9012096b41c4eb3aaf947f6ea429": "0x0100", - "0x2f85f1e1378cb2d7b83adbaf0b5869c298ef7dc060436e4ed803af07632b89b65153cb1f00942ff401000000": "0x7c04520099b2382d231ffdc58c79042ceef969838b279334d0daecaf984a5a2d04000000", - "0x2f85f1e1378cb2d7b83adbaf0b5869c298ef7dc060436e4ed803af07632b89b6b4def25cfda6ef3a00000000": "0x7c04520099b2382d231ffdc58c79042ceef969838b279334d0daecaf984a5a2d04000000", + "0x2f85f1e1378cb2d7b83adbaf0b5869c298ef7dc060436e4ed803af07632b89b65153cb1f00942ff401000000": "0x4a3194d9621bb2480e41e4afb457935108b8376756f6226cdb63e38d6cde013906000000", + "0x2f85f1e1378cb2d7b83adbaf0b5869c298ef7dc060436e4ed803af07632b89b6b4def25cfda6ef3a00000000": "0x4a3194d9621bb2480e41e4afb457935108b8376756f6226cdb63e38d6cde013906000000", "0x2f85f1e1378cb2d7b83adbaf0b5869c2ff3ae12770bea2e48d9bde7385e7a25f": "0x0000000002000000", "0x31a3a2ce3603138b8b352e8f192ca55a4e7b9012096b41c4eb3aaf947f6ea429": "0x0000", - "0x3a636f6465": "0x52bc537646db8e0528b52ffd0058b45d04be7885d6115210280d6b3a532e12375420ad0c421d4886704ea6d34e8a3af897884689d464302919c242fb0442ee61d514d5fbb50e8108b7a1fa0f28528c2ae697d73d8f017a72e36fc401438b4bdadeddf6de5b4a99520af0127010251193466f29e47ad0f5ef212b607f931e13f227205f7fb07ff697b37f3ef74f99460e36e9f776b37022b5ba59785ca0874dce2b66e1c2aa9b256cb191a4b65d2c18dc7e7f163ba036dbed24a32df4195f7fb0436623fd65d9779245c6bef3f959d4c07a1e63257c759b49219fed69807cd967a53f3ff5ef2ff9d963ec31fa4546ff0efca7b0658f513bad91d7bc1d00720623fd1276eb0ff9acf48af8ac1c633e2b876efdfa16f86cdeda264a8e5b3fc8899c5674eb2d85dcfaa3cffcebf7f86c7efdfaa1cffaebb350b553f8d604f2b3503974e7834cf6055b3c423dd6cf1e6b5b2ecd4bbdc5236d93d067922f08b2a80167cbbfdc7b2e72ef508fd972695e16d881ddf7d9f27bd67f5d385efed167ddcfeff1d9f7f3c18f648fb1c7c26f5183bed463a12dc36785e4d2bcdf83eddcb3c51dc91724f9b23ed8e5f7265197a7b1cb98879441976dc97dfdf9e064e64bc9b26f967acb26d7b34bf5f2b37884c3eb0f821eb2c8d9b276b96f92c92972ef805464de093d26e4b1f9ddbfc7e6b378a49b1c49cb11eed2bcdc333992ec31ff168f70b65acf633efa8cef9d4f49beef4d226ab3d96c36dafc181b9977bed0d0e5096aacae2a809c80916f5ab2b87cb3d5a9e0f24d4bd4fdebcf2202c69badea96f4fa1bb9d7ef793c89d865e578fbcbf196def5a73ee3f7679f75cf4f7dc63dbfe733befc2047f2edc8be205b30ceb0c5239d353272efe211ee59dc802ff76292ee395b76df3de86292f176cf22f5187d168fd4e7c8ee599c208bacf7c8d2fb9e4576c0fd67cbeebc924ef99e2f8b47be073db2cce0720fb2e8d9d2bbde7364c9b7cb7d4796dd064b3c6812e50a7b8c7ba3e99153b0ccababab3ad77bbe1dc99723cba24b1fecd023e97750e4721f89a5bb9e2dfb669997b3e508977bb0c38ee4cb226797e6ad4d49f658ff24d96365cfed6721ff9a3a813d60233f7320fbacbff42e3ffbcc9f1f74b26f93dda1937ca9cfeaf383dd61ed073dbc60f4ffd1c38671be7ffd291ea9d6c8d80fceb0927d5dec6771be91b378c4dfc8c10e9be4eb645f161bc0b7dfc88dbcd6dd30803c1b41170b95231175d97c7e902d185b3cc21e2bbd3b9f450dfab2c7e61bf901c6befd40fd7cd963fc404abcebef5db7404afce9fb53bbd4b72d7baca4977f3e8b49fadd96fefd463e5e9ea0e65d033983d1bf84ddf9f3613ee39f1fe4b3fef9d4899a367ff419bfb922ce9dcf3ee35bf6dcf92c34ed94bf3c41ad5b03908946be9960bb3b97df1461bbbc0332cf20467bf9068710b7bb7c8363ccedcb3d4026c024ead2ffe4edec7963178ff6e44fe394cdefe7874da22edc3fd5e7aaede2d19efc9b18ce183c9eb290a3451e64684fb0299bdfb60b8cf6d4efb689e18cc1e3290b395ae44186d6c5a33df937319c31783c6521478b3cc8d09efac9d0e76ff27637603ffbace46fcb1ee3e7af75fb807cb3495dee4036c0c815e4a191ebcf1cfd469c3b583dbef488a1870c3f59fcb4f1b3c60f9d9fab1fab1f367edef889e247ce4f193f68fc9cf163c6cf173d6c3f60fcc4f971a3c7969f2d7eb8f871e37a125f00e31865f081a3078a11069f303e35f4e4d073834f1cac1b461544184010b8d8e8c1c145477c6a1db133468fd40e19200d3f49fc28c1d97ce4f07983078ac789e789870b9e2d78b4e0c982070b9e2bc42f2f2cc6185e59f43ce1330767822803b7857bf201c104e3a3c3eb8af1856f8d8f0d3f3ffc00f1d5f9e8f8d47c69c42da209e01ce30a620c230b3d6d7ad88c5f7ad68072f880e9e9a1870cb8c24f0e3e378c2d7c707c6e7c6d7c717c6b7c20f8e4f8e640520022f3870f874feabbe1b301a4637481731abdb8a0382df38b3967a231c79855338c09c68c33bd983d4c1f26e0414f1e1ec70f19bd442bd149b40fcd43ef20250a081f20618083a56b8481929f3b7eb0f8f1e2a78b1f38ad323f687c8c87a967586f247db71f2b7a60e8f9d2d3c20f1d3d2bbc42f0aaf3a2c3cd785db5f06881e025854b516f2f372e2d9ec4eb4d2b8f579b9e5babce8b8a9e34ad3a7eb4340c2f287e90686d693939184ec66b6adcf29ae215451d6246790a3e5dbc2a8fea51e313e528b0f0f02eac3bfc04161b2c37401b2b09d1094f8a571af08b708a57132f2576b008a95e685a2eec78f132a215f52a023ce155e645c695a6dbe1e5c38e102e2a5e6276ccbcc2ecfcb0b384a7c5ce0e2f1c4228bc3a76a45e37bcc0380dac3055cd8b06108a970c2d26dce2f5a5fef08ae105839b79bdf072c1e7bc5af0335e2bbcbcbc3ee053b89b570a9f99170aeec5eb842f8957d48bcbebc9c5706dd192a1f5e56542d845e5e1cbe10be3226344a3a50061005d00551059a865bc3c582fb062609d796979d9bc05561135099e2b9e3c583eb05aa8684225aa10ad365d113b34ec80a946f08480a70e97130f1d3c20f00fcc141a0a9698ee4c4d335fe0918325355be8849875f40cfd4397692378e0e0b162212136d163430b8dd616ad325a62b4d8688dd18ad34aa3e546cb8cd61b2d2f5a705a6bb4c26851f9173b4dcc2f9dc78e12ad39767ce8d0b056f8b4e829768e683931568db6314eb71987986b8c4edd021690051716df0f2d135c715c5fb8bcf02a5a58b8b8702a57172e2d5c59f4075c5554245a77b8dcb4ac684de1baf5d450e5454647317378c571a101bd8038b886a8645c6b5c6c261bb38d19432b04538cd7e07144353d2eb4ae7e6a68c1d1b26ab5d1a2d352a335a775464b4e8b8c56550b8cd617ad2e5a54b4b8f069a3a5452b8bd615b34bab8ad69b969b39a653a235d51ae2a78e9f3a3f2168f9f083474b8856102d205a3f88337899d60c1e840b8e6b0c57558b0b182774f372e2b54468c50b89d60b5e86a7f132f31ae215844b4dc7c3eb879d32ae37af313b675e3bb80a3b4c7415bec56daf1c3c3b767078d520a6e933e22d24c2d710a1c416442757a38785908d90ce4f183d2af47809d508d308e78472a619a11621177e45cb8ef089b0085699a62334c32213fae0588c6a8c73c635e619e107c227d08eb08c9f2b5a647a5e00ab403142335a72b4e208d700c168d11192017a017601c201b900b700b500c3f801139e519708d100a300a7c034b50930865a444f812ff044c133c5d386070a9e2778d8f0ace151c39386e7c6e3044f133c4cf02cc1a3044f12600bf508160b9509561d2c2b561c2c355866bc3140375844b0866009c10a2244c30282f503ab07d618b00d8b07d60e2c1c583a744eac2fac1cba2d2c18582ed41eaa980f894f89ef88cf88ef8cb3f97400af4628c423c627bcaba6c1659b71785980598452bc6e2f2676ae08ab7825d16a61a78b160b3b5bbc8e6841bdceec8801767911f112c2e54497c30b889d205c53bc7ad829e2c5c34e0f3b497858ec8479e910b2f1e8d8b96127cd4bea65c378c2d8658c1ab98c50e393c844eba9aef1dc4c39de14dd121d115d121d12cda63ba233a233d30dd195e9c474613a1dba27ee0c8e8abb714e704d70663822a61a6e072e0ca70327c5ddc0d950d954277a8b1986054735d321982a5422586d78756a105387ea4355a28ee99a982098764c3a261c938c59c3bc619671010b4c1ea6d4b461d2306798324c17260b9e87d3f12e1c0d700c97e36d7c0c87c2c3f02affc17d70269c078fc2a75c08bff227fc8d53e13777c29b70207c085fc2ad70251c0947e347b8117ec6c9780f2ea62706b7c1c1380b538d9986afe05edc03eee450fee45a260e7dd577749d0641cfd172741c0d47bfd156ed46b7d16c349d5ea3d5e8347a4ea3d167b4192da7cb68327a8cae6a313a8c06a3e3f417ed4577d1709a8bb943bb692b9a0aa53ea289e8207a8816a28b6820ba8e1ed33a3498bea15de817fa4b93a308cc350a6002010db838c0bedc62159f4f2425271a38bae20429cad111d8134a15a4a323163712150d3859aa22c207474b4f9092a440a922e5e8c8870f1bac44458a932524284748481f04f1a1c3563ea822e58884242411b01c49b97297aa208540829325efb306233da962a5ca91932755ac3460a98a08569e3cb911f8a401c5ca132428407ce6b012094853944840520201d2070d2529199070499f330ce06386908f1c1e01a90a8f4f194c06477962e50a1290cf189c240208523ea862e5c991942b1749034e683e3e5557a444514a42aab2012b4724204d09e223064341aa028214a52a223cb192458a0858908e9692ac5c414a2ae21306439172b484a49424c2131f3e60b012929425294956a22c89e0e40884232957ae932b50aa3849d240029f38aca4844425029f2f5e3e5ef00756ac245d0981013e3e5df01292d251921529572e091f2021d17e7ce07014252751ac0f178c9474e50829498a085890928e943ec87265029f2d78a90a52081f64b912f3d182959096ac64393aaa6225c8270b2641034757285141aa52c5499427475742488a7204a58a08563450458a154b55ac3c39c21202142ab6f2c10f9f37acb45405290b12150c42152950aa205d39425a7202450a942a4e9e08f1998291a0587912818f149c64e5032524a528586949842b4b22580180cf540822282939a1c0070a76b2e404ca51152b52a0202d2949514a42ba12c4870d2b212559797244c292142a5234e0848a1427599cbccf1a56ba22829524108e24f051c34a49569694ac6ce024c9c912984f1ade80942b3709694a9295097440fadc1809490424111cc0040a120820386122009f265869ca13a4284f9860a5a52a48494851aa48799f25aa48f900c847097e2245a98a94a4a511908e48a072e58a93a324242854a488409bf2c40a155a904f121cc291932527509c2c213160c707090e48a1e244ca92942a527c7c8ae0294fac50d1c011d292084f904640e2f1218293ac2820ac405cd3ddaae082e6720de49bcd76bb367d709c1c9c1c7da53b8a2401cccc0940820449fbe7dded79dd5fc7ba5b82f6a6947eed4e7d3490239f473d03ea5df77dae00e79cb65aadafe5ad967b8bb69c52ce5b2ddafe7d401c0805409c7a37f5ae47691de402b57f9f0fe9dc3fea5fd7b9534ae9f77ded46eedc1da5dd0782d3bb6eba3b65f9073aec9bdef3a32df789810ff5dc9de338dff1cffb3eefa6ddb4f33c205f37a5fe05710fd25ed71f484190824dc18fcee9937e3e12d0396dcfc79ed4bf0f74771feba4d4bfd9b97f94b67b14d6dede79ec7d4e69e7deb97775a7236d4a410478d147e9054668f77d1c47dd29f56aad3ee901dc03e2ede3e87d1ea5c0a340dc817c4cc71d4a3bffa67f4cdd7d8e4e3df7f19b4ee7f735f522443303b4572ba5a38f23ed11047dfc4076f709fcf3512bf8dc02779fddd1ae9bd5dd3dea5dd775eeee1554e0ee5f8c524a3f4abfafbf20dfd7ed1ee46b1f3e3e4ae9c79c7feef4a3ec3975fe3ef7a6b7e71f48bd3bf7f6dabbbd0be04ec4a3dfe7c37dc8a804d37d06e00b220b425dc8e7439f3b10a59452fa7d1ffdbeeebacebbcebd8b3575f7827c5ffbe73e28756fea4ca98fcb40ea4d00daddf4abf3eb6e77efaf6910caf2017c4368bb8fee7621dded94ba000240e7f77d3e3e8ffb28e8147c344810cf29adedee9e57bdba7be7c365fef947dddd3feafe39f5eff3cfe9473fefdcfdf3e6e749e09f534a69b73baca34ea717fbc0918e407a9cdfe7deed1e90393df7314a30fdfb4009fc036737f5201da55ff77d1400ee94faf7f5e74e817b7b777f1dedcfbd9bd2af9d3a7577a74e27a04d3f3a85e6e77d1ff5a64e299d807e94b653daedb57fdffcbea6d4e94729edcf7dd2eff3d6f7f9e79f3b10ff3e77ffbeaff3eeeefeb82dc9dccddd11f477dd93bbfdebfeba1b087f9f0411544a83beeecfdbbb79b2d36e7edf388e405d378e3f73fcd0317ba02025214149b2723433400190a4242d0500762504274b4a48214859fa1f0d88a02403990892d2510856a054719264614b4a475392ac6c6009a98a104b29c6c57e40a9e2e40829c9c99510ac58e0838a932756a804008422858a932c474a1304f101b36225e9c794274e3440858a95a400f4708294f4e347821f1f3d4b4a5246401a979e3851aae22469e968494a082158891540ca07484957ac0f5015a42b579c744c240409281252d207474956969c3cb142858a931f26128294a52a2224599f0f964488c06704a428474b55a4245d397aa2242584a09d1190a054917254458a93284f3ef8c08a05b30846b0b2812509660628c0f714290091a302204d71424503472054911245c949947f2905e1419a72b434025215213c4b482004d949728244e5c91112084e92ac2c291d41a12225ca93a3252a2238f900098a6c5c4a72b2a414a40013b8aa80204589ac4c448904a429474fa450d180085762494a14b4b800509094949092ae8460e5c9511252162b4f90928e9c28417982744464cacc0005b8f2044989088cf264c989068ea22849a922e5839848c207529290b24c10222d394942aa8204c2d1018818c000058082746465e90a09494f2800a9206541a272348293108064a98234594ce4a88a15294a4948598e40b042e508842a524000c10a95a3a511907c64a982347bd84948b2120252085c962a4873c8d58473535353d7ba5a53d3d7449b3435b19a70ada9a9f635e11ad854f36ab446675393d754ab754d959b9a9a9a9a6a4ddea4d6dcd4d4d4c4b5a6da9c4d6ab5ae754db8c635a9b537e15aada9a9569bd4baa9a9a9469b303769ea5a37a9755337e1a6a6a6d9a4a99b9abc09736d36696aaacd26b56ee226dcd4549b9336a975ad9b347553cd9b347537e15aad56abd526ec4d6a5dabd566130d280ecdcc1d8292130eef224126d2df224326d22f923f98487f480231917e900c6222fd2c320226d2ff911230917e8f04c244fa3bb2c544fa39526422fd957431917e4a8e4ca47f923b4ca4df491e26d2dff4a327556755c22e7ff997bf8c6d604cf2def5fcc4c3f3e1eb278bf5b6049e0ec3672a81b5f33e8e3bb684b0e7e9f3247adad9c088a56f37c543e633ed69e799a22aa0f5d812c6972d6127cb587275b83a9388c73ef18ce1ea4cd9fc1dfbb433b553bfdaf247fb34de46fad496b0d03e85bfe5fba746e3b61c6fc9d561d927d66ff96c095bfa8a46c69f694f2cdbb6f46ec9d5d9c098e4fa7e12c6264518cb6e8a6f3aa0b9532e5284b1ec313d6612cd2f6cd9f269f889b684d5ef43d09623f73c8998a22aa0b1f0a0a27db6049e32b71858d1baf74811c6feb2932a3b29ae4ed949c1e9317ecb6eaa9b9a443d66cae677b6f43cce96e3586d0983ddb29bba73caa82dfffeb57552dd5427c5726ec951717538aa02dc92b37163385b2d53e1d4323db7a455358a56b16e49bd5034d44bbde5bccd39f3cbbcb9d5fc3265e552b6a9312e55674cd97586da567a77c2192abd3b49184718fbfa973de6ceaed66653739c4804c842e5f47299469e4494457fdaeebcb9ad3efdd0ea4e2f037a9669da6e6e7359268ffbaeea4e8e7e97f13eb44c6ee565ae0c79e3f74c2da93bbd074716d59da27bb9331c9d8ac9bd30351513b797254c2e05ee3867999ab4d5b3eb399cb6efe636db2d1cfaacca5895f9bef32a707ca6815fba94c86aa9fae5d8fa924797fd96f5a8c4d0c2403bba97cf8e9e855135bd689df5a6cc9f699c651ab53c653ebd5c9ea0c9556b675101b250d95644de77cf3f4e226e1289ceb1be924fc98e64f2798f64eaf14d2f5a177ef74c1cf8dc3379a1b5f5f4e689ef49d5ef59e37fecfa4ac57abdcf339161c2f3af2ad6ceb39e89ad7c2c931394486322c3e4e77b3c93531406349f876a1a1319263deff34c3d2c539799b2f93f16aa693e3db66d5336ff6599ba6acae6f358a8a6b12cd3d094cddfb157a66cfe67999a4cd9fcd14235ad5aa6a69ab2f92ecbd4b7299bdfb2504df32c93685b6acae6779689a76c7e68a19ac659d0b69729ab54d40bc78d55eafbb26f948a7bae7aa6715f0e756c559f69ac2fbb8a7ba6b16cd38b56bfe4db679b5e34fa4cebbe6c9bf74cf3beec32777624478e53d65f49d894f553f2a7acad2e4fd0d4536befa840170fe977b111fef6017d709153140168fe501408174509a1cd570168f5a19ae63fb8288a0271515418c445513d1170515490045c1425449b96a9fba80a422e728a1a42a30fc5d16a0f1745753e5c14e5fae1a2a81e3db8280a088c8ba282d0dc32711f5501c7454e5b3a5ad410cd1f6ad2a815b928ca5b5c14c572715114cfc845513f76b828cad2e6f3f37051540068d332d58faaa0e3a2a84a2b8a123f2e8af26171515404345a1445018d5aa6f9511534174579ce4551e3e4a228188d8ba29ee64551319a3f3f73915b26fa4d2f5ad739c77516562b67c76999a22aa0cdafd69bb2fea80a684c2f1ab54c5be6d5d5d5b43c65fd4d2f5a540534b73f65fdfc4d5cd329b03730f2dfb66563e1dfc098a5bb58da76b128d5eefcb276a755621e52f290b26f937cb38cfd5946be61a997df6c2104f33b17146e4f2d77dab26d2c2ae94be97c26cbdae5672c7de733d91f98327e0699083f837326d56dd77cd065fdb92fe8a4f72e725073c2c9f6dec8bbdc2eeb3df0fb29e0b31e04b9907befe983231e97861e59b244f15d7c23f7d0235bef2ed74ff1887b6ec5b8be5543be71730c75a1477208aeebc1eacd9373bd91736da7adf03d92e3dce96f34eb4ff19ef5a5f7fc94f553d4a09fc572ef3dcf7b236f3189f7ac075ba4f84eceeb1245511445511467d822c50769d86a7561158f884fc50ebc297e159d8ca2f820d31fad7203577c27fdb64896e38a36c95bbfc4ddf0c1cffd135bef49e1d77dd8faf9ec164b5fb5482c403ebf5fd77d18bee8d72db3908f04c9eff9bdb245ee1dce8ef6520bf398bf9137752d745614e880915ebe7539e2f6832e078cf5f2ad8b12cc13d45ca5cf58973ee5cab8d462995757de47ffb3553c5b7a4fa53684d5e5acc774e9f77b3f49fa2c2ae1372a5ccf8aa920f765d32dfbbd2a0870ba5dee4b6acb11eeacc26fbc5cee4b0e5cead92a2c67c9982608c0851a1a25c70dba7c8bdae2821e7224185a67fb0963882d69d8e8b7185b0429ece08254120552424cd996aeb09c2bc646002ed4d8b220c0e93602072ef7624c6039b4ceda580e8d2d137f53151b70e842cb1d361bad5a9b93cd366d79e54e4ace77914509ec8c11060f796cb9baa2f1063d777acd9bda2be704e85eee7c2719304ee13ec82d39db28780c052436923474c5f0d7f88cef67b6d43a410da1d18f7ad1fae7370a3eebb9f37ff4901a4b2ab751f0d8fc21339638d110c6b251b8f34b36e3ce67e21fa7ac46e339c01c71c31165aa6c361afda63569a33f7c400713726082e6043584d61ff5a2b11394d3ea472580d64fc9a804d098c830e9675a4275e7d36722c3a43eb54c465336bf5a26324ce8b765fa299b4fed104f59e9dd926fb7fe92a918045ca210c386173e8c71450f1d46a6d55e70c3840d36a48143441c34a6f197434cde66a3f5a3e0b320eda5c96b3da90d9352b23eedceabf5e77bf5bb5ab923eeb1fa53acdf976f50625c98c72a96bebaf4b94afb527732e653fafc1e1ba9b3a7f7f3fbc9fde47efec7bdc7713f1f36e79c5f410fbfa06fe4fedc37f740f4fbfa05a260705f3b8e52cfad9ed801626074b18b5313b09f85ca11032e316423b3e56207b43b0ebeddfa948d5436d21678ac426171873c569fc55962c0fb49c4fafab149047efd209f518f795fbf081b791ee27d7d901c5de63d8bf45ce6bd3789602ef3be3ecc67dfd71eb73ecb714b0b6efd1e6ca46f7d6e5ebe4151bdf7f32fb789b2ba411ef3bc07ea7e5ebf409de51b941697d38080ce8579cc7b8eeccfb2c7bcca43f859a43c84bfc96bd5a799b65d87bae3b68d6886ccb76c9b5fbe8dc1c4ed6fb183d672d9966d13e93399855e7e4a2a715dfe49321b2929b5585c974bbebae57cbe49c67e328f65bc2de4764adb8800b1f4f5f7e2e62ea11f3ec81218f9e665891bfe57df49a5befe54dc80ef67a754b2f45bbfc9a4e621f597bc8b85af2ef85444123e8b055a1160770976db7a7da3e964df90fc48900bbf6fb2ecdbff914e96b5eb4d96dfcf9fa212fae1bb98e4fbf035e81efc26c1ffc8f05d54e221f1be2df3907e230fc9d26df390feef41b2f4db6f3459fc5f16ef629979d82e7f47964b5de3dae7d86e5d7327182ff76f3fc81b8c7ca3c1eabab0f4ad0fb2a881dbfad496b71aa4ae23f19f6f3429c9b79265edd29f249092ba664afdb2afdb2c3e13ac2416bebabaeae06f7fdbb246c92c3e618050b2aeb9935cf20be4ba4f728a3f7dd0e74f11497fad7609bcecb1926f60a4ee92df694bff2c7dff4ef2af937c9b5c022f7fadb6d301fd410a8e0dd2d049ee1dfa4138d269cb15eeb7b8986a347ea024accb168beb6659f2db560cf7f5998b3b74411ae772a413dfea1c435c082e473a7dc724e37139724b1315aeaeaeae68dc83757a53ae5c0b4b5f5d31514fe3d869d356fd7ea309ce0b16d96225802fcedc52a98b332019b75cf20019b01b6eb934e686d62d97c808c3ca863cba5b8ab0429bcba2a2ea62e1ababaacbaf81d185b87c6bc1cd75a9cbb71580b8b1cb372f1e525103e334e2f2ed8b0ab76f976f3054710370f9f642083af06cb624d466e36fd22f48dbb8600de1b84e4c4546a9bb59fc8290d4479c8cfce01491709ccb0f32ed9e1e9056b981cbb649bf9564392edbd16341eeb446ee64df5a37758dce6a0638c1493e19e9d710c6958a4fc6beb4b3804c34d217c0e537684cdd178a358942a7d2bc8ecead427c56cee7be0225a1367ae7e897c5246dbb57c8679d4dea9a1fecbe37f22ebcfd8c85bdf7079df923b977219f61e9abeb6147262d71b7dffb1695b418174b935880dcee418ff467b2741109f76533c9d9b29f3bcb2cc4ad91f79d0f4ef2594432e74fb0c5235ee8411315be501aa5726efda15b634b3cf059e5290e7c466ffda138b7be054e346975d6a95b872e50f7fe0f4e1ab6a881bb78c4bf4525b33baba4dfdfc8eb831d596f1f30c37dfd4098db3ddffeef9e23fb3bb2ec3cf0a0309fd51f7b401a72245f90450d9a6c97b325d3e5def158401eb7fbbee2e00aac6147966ebbdcb3db6e674bee598bcf7cd6fe84b85d7fee390323dfa0ca5ceef9badb262973463e450ed882aebe2d1e99f4a9a88112ee9d8df0d70739d21fec807bff8e9cc2bd3f4843d6404cc225e1e76cd9ac3772904596ac670a7e7b64593e484ee1efde45245d0723df4eb0ddee9919f03ddb16b18ce0648216db4d62bd52edb22cebb1941b08011e575789a9c6b870c2055fa97641cb1e63d992957cb61ce17621276ac0ba1cc7d55a29a5734ef7cb8948fc763f45242c4e44d2b79b35741109cbf2571109eb320f2959249092eef9396492ef479623b09de23d16a65bceebbd77bb37728f2cb9ef379afe1cc93be1e51b140a97f2905a496f92d463fe75950374c0687dc06eda4d5f0ac8198cfdfea3cf4a5890cfe6f567f7ae801752d0fa02bc7cdb4275833cf0e549048cf3fb9919e60d0574c04847907b27f418fd9e253e2bdf8ccfb85b7216973e7d8efee5e86730d62f19cee5be08372bbd0d7c568e517cc67d91cfe6e5de039ff1ed298bcbfd059c88d226c3613697ebb96591cb3d8b460eab73b90ff2995f8ee3b80f7d26c4d9296ce574c0e94ac23d379f9b5d9ddd7b5fe7ac1dc865e9db7df75cb3f335f2ce4ef19e6380f7dc1b7967cbdaed9ac523dddb92defa93f4c8e95e25a76061f2bc79cbda75d085a449a0f9fdf39d049aefdf3de83dd8e20646975948d97dbf4776a0872d22f1efde23fd6712ffaefbeafd1277e783f5fb3e693ef71e69c571ff711f599fe3b0f4d5f51e9ce41277e77364e9777efd59f69d9e65163291d4f953bcef1e9c49e1272d7117fc242c6c65b3dd259efbfd5278590f86e18761185add8f79c8fc902cfbce90ac0f76d5fd1e64915830b8cd43bc9f64e9d7fbfa2c0deacfbebadfb3b880dafd2cb310ef8d7c92655fef5d4452dfb3f38de624fb2b09ce07673849ff46d2773eb523ab3d37e49cc026c81fe6a20f527fb045ee9db1c9becc04643de8029f9fbdcffba1fb7d24cce367237d997c1e3274f92b493dc649eab31e64911eb2c8fa2c6ac0fa6ae42c926f7f5d8b483c575f90c523dc3ba3c7bef7befb168fb06c59bbac379a46de9130f223c14a66e95b76960e59e4f795e44bc1e93d670bcbbc4048e6f5deb3cf43f8fb56f2b353baf79e45f2a52216efd6679101dd7b3674f1d3187f8b0de09e9f85a4afe731e64820ee998dcd760570c18e2cbbf71e0459fc6c59bbdfb3c8b2ef026a4e5c6621acf7de68b2c87e8fe40b76c8e267b1ccebeff963a1b77e499fb358fa565bebba9a00f29b315277384521c41d543416417698c7fa478ff5178de57778fbbbc8edef2ff259bdfdef337e028ca9db2fe4444deb5b5a709bbf9f857afa4f9201e394f9416e79fb416623e5d0adb5ba01eb56b0d22fa72d9beefcf2e380cbb8d58aa15f9f49fa95940001b8487345e39f64c97467c93d951a98db7dd974eb335fc04c80926f5c3e7097fa76b60acbb958e6d5d5e5ac1826fea6da1056346a6d25d3adb69c5f7ed7df684e32c8053ba4243f8b15e0375e683cc920773675cda75f11f399d31c0739accd1f2c82cc3b611974fba9c7f861404aefcef973fe9c3fe71620ee9c734e2a202f60f4e79b93d3f5f7c2d10230c9d8cf6e007e0641ce60e4db96a8f799bf5398cffc857c46afdf4cb0bafea11305e04fa2089e7f832b93683e7f7f994441cfdfb749d4aceff9a34ca2003c7f7b9944ff13b89ebfc8246a3d7f934924c1f377d4240a9fbfcb4c220a7a5ecfefc124e279feb64da220cfa38fe78f4d221890e71f6112fd3cdbff614beffe782783641f7b007c2523b04f401fc173e404423fc193df916f9f3800bcec3d3200f6c9eb07e0419202fb4401f9422f9212f8d7f77e870c62833cf7b1f721ad7d9ac03e05df8304629f02e0f3defb209f9e807c10dfc8a0b93fbe47084d02201fc1bbc82720b68b00684fe20379a06701d92e2dda7f907df2f1ae8fc076f1a13d750ff4b0a0ef79d6bfc8a7a09e8fe05b117ceb7b6c97497beaf1aeffc8a7086c9721b4a79d8fa0f5aca7e453cb764100ed097c202cdb2588f6c47aa00fb25d7a684f414f9f877cf2f16c171fb427ef81de6d178ff614f4fe3300b64bd39e7a3e82f7b15d38da53eb817cb55d78684f3eeffa1ff24966bb00d19e82bec66c1721da13ec5d1fe443f22988edc2a23df170b68b8bf6143e900780ed5284f6c43dd08fe4d396a71a8d02db2508ed29e8e793b68b8cf6f4f3aeefc9b7dfe49390ede2b4a7f123f82d4f35da04b64b02684fae07629fbe9e7f3dcfeffcf85d9a06e4aded42447bfa1ec83e017d97a6914f3e05d9a72e4d0b7a20ac97807c7a7d04f629c8c7c3bec7ffbccf77691a907d7a7a7a727debc50f1f7ca3f9836cba5d1f248c8c4d197f0f72c994f1ff90234c19bf0fd95253c6df437a53c6ff2287a68c9f87f460caf877c8b64d19ff48f69829e37791e394f1b7c82253c62f924da68c3f243b6acaf841b2cb4c193f8b844d19ff471a4d19bf47469932fe8e6c2f53c6cf918d66caf82bf953c64fc90da68c7f9257a68cdfc9fe3265fc4df66dcaf89bc65a37f9985e0f2078c138afaeaeae975e5ff6197b61175651c9b7e482cf62921f65cd890b820f3ee8911d9249f88bdb0fb69884d3dcfeb0030ec1ed0f93f01817098b719b754116c9e291af8a1cd42eb3101024cb7eef3fbe47385682ef2501bfb90e405b32ddef296559e698f72c2af9bee9fd6cf7e4ecc8f91cb59ec76a60d319fc93a1f6431e28fcc0e507178060a187940c610b2f3a76b441c30c2d5b8cf849e302d50f503f976f3f54a7362a371cc7514a29bd85977b8fe3be5f42bd07bfef33e238ee07222ed7badc7b3d1fe7dda8b6701cc77169d6b85ca59e4178f98d0d45dc7ab9cd175e5436204fa271d600346e4566d37297bfd67d54dbccc873f9b9e7037d382d3ecec20a1f10c3098719caf00103fc70b0226a4e0f5f38d941c40b3d71ccf8b06045115e86a2871dc6c871bafd46fd19f86cde2e438edb4f9dc8bb725cd3467d77a37ed0dd6d4732f158c76034ce7a60975477aaaaeb4fab10b5a1c7a6ac7fdaff62938889cbfa99aa97a019bb9fddddc88ba071396e85a1a149e4bda2a0a305226a35fa6e5d277e208e992730ac50a305175bbc7cd8818896bb0f315cefc18ae30264ae9b217df799cfdc86df911e49e99c4df5ddd0a5ebbaa73f04da50a7fe120fea9249c47dbfd124e22ca78567ea862d3e6bff26c207283061dc40e74d1a9af35c5fc3c6f5eff1595f7f865d231f2fa739e34b559d750c32d35f70e72bc060039503d41b29eea0f9cef55b0f57d76f3e9870dddd7b6ee905ddd2ebb97ceb21ce052f43d1c3171ec775f90d1a5e60b00913b2632cbddb20d071f3826a8c16d6f082d63ffa6cbcfd309f79178c6373a1287069e20b2b7650c1089711ff9efd38ae77198a3732d0094513a02b783341175133bb284fd20d38c1e844c6e7c37e704b8299c408e4456b2567d34ae937291ea95dc34ed5ed1c3accf8e56fe9fd2d63f78291d9c000c4f5ef77f108f8e00523eb593cf2b9c7c28cdeb39edf6d14fafcf54b66fafcd44ee1a752c9fee2b1f9577cc6b60cbfa47f254a7dbe1d54db2e508972453ce2d6c8c8b4a937a5ed565537a7cda7de51705a773e75665bfe75ff6f26a990573c369f452e796cfe478ee0914c3d779a3cff947effb2dde6e021fb0e03f937103e2bdbc6648fc780dc2271326c2e7fa399444e5ee582cff80d0e72eefcf6e2b32f3efb29d3b766e3444ea114bfc1c18e3bbfdd3811b76165b3d9b4d0e637189f319b17eeb8f35b6a3ad9011720c80eb884213be032c6e633eee7b793cfc43bdfc5231d7031e331be5078c8fc4a5221af44c161f4e72f79ce9dcfc48349d4fd7c902f18a778c4830bc60d3cc60178c128e6480f1c3650e2564cd4d33adb2eb86c7edb25edc563536abc80c7e633f1d82cc30d38f0f94c9af82cbcf3a148d1ca717e7777337bde38c26e098b1919fff6c061fc32168bc5bacb6c54a073cbf6e28565f327cbdcf6b70d23ebd6a6aed1195201524a565d98c748ca43faa7543119fa0cec904931514fab93c8894c7fb54070d07161b4d1df8be20929de786ed0092edfc4b8b9a2132c540e8db07fa19810ae663ef6423f3e2df33fbe10ac677ca19890177299abcc2d7f88be01fe804ec7c85d7efee6d09c737a97cad01cf2a7f57d4e23666ac1e5ca7daddf5f0a91c173da218c29aeb0a04343174f80b71dc63c81e0971e0882e07b3fd61428b0c40c63dc2842ca8522586ab874f9405bf6053fb288c7be2f872cf0580f4d22d6bf67877a2ebdd96c36285a197469cd862722bc7892e34608b6a0d1f77cf65d5a06984bd5f470a92da90c5dfa431eebcf760c635fbee55047c684de6343b77fc867f4fb2df019533a6481cbc2cb6dda20e29643b76bea5a574eea663489968811e3dd2fe9fac18ef48089c7c480013b0b03275ebe89e9429d1063f39b1813e6cfe534678cb9f4f24dcc93067c9beccb6cea18619bc3b830e621dc9636e9f110ff1fe5c8371eac6e19de8f8db0bfc746d64461c21b204fddb28808e6b27e97b9c7b8bf1472f92d70a2d0651418f94d9a2c6e742e8b5d84a8d07c7aa7055232bffe6c6acb0602f47ef4b8619221c0ee94f9a1c79ca7ec82910aec76c97df75e9f7e4905763bd2eb1e46eeddf3ef8898e6df620759fab6a53604d8ad760a7d2473ecdaa3ca6073f9464698025cbe9161c4fd49d44ede54b7360ab712b593cbea6d5ba319c7d2a3d48e1eab4f2909ab3ea3f64b7abfff6c399f7b708654d460da9e71125da957e018fbd2fa2d6ab0e4b1fab4d6be93f42ed52dffd6fa57969c68b4d96c5a68f529f7ec5d239f24d8e1e8b3dae3444cabcf22ad6f8cefb3bef5979061e6d687e233faf5a3f4057debf3e449d4b4b2c8ed4b6673e91339ade438b7a9a81c200b955c75fb9b8571c92432baf1b0c517eba70f72e4061ee332f0583f47b464cafac35b61b7aa61a1875b9ffaacbbf53d5b5211baf59778ac5718f9964c358998d6dfe34446de241ab20d10038ec7f86ee0b17e27625a2974fbdbcb5832d5ed5fc2c4677cfb3df0997fff057ce6b60168dc3cc6b7bf5518815c6603e6870b5e9ec28c38b71cba559727a8713dd380178cfdcc442c6beb1a9dc8b4904e810317f59f73ce39e79cd37b2307c1399bb358ba4bed94f9eeaf5443328fcc07bda7cfd9d2eb3a8eab95d239fd725ffaf7f4bb076bd77b8e39b27e11566f9800a78b9ec5d2dd8f2ce92bd56e7d2a22a94f9f8a47ea375976cf3dc875de7307deb767cb29f5e914f1c8d3cbde65f108678d8cdd49b86f5b725326f72dcee7c829959bcf62b5fd4eb2c76a5e734b80fe178cfc4e32cbd8f28c4e64f8a19e46a6bfa93b029085da036339de720cea1346ff7e00c8f39dc5698d8cfe1e4eb26f8bae04043dfefa947ff277c0cf3eab4f1fe4ee3a3aebaefbb2565a996bd7955eb9349bbbbbbbbbbb9bb9d25ae9e4afb4563a996b6e0e6e666666ee7e6ee6ee66eeee7e6e9efe0564db5c46ff32bc75f4baceb36578bbde32fa57b0a146effe92e39ae3be7e25272d97eaedef37f27eaa71ed7180f379c65fcea70ff69cf3a99ddef436659ffccdfcfcfe253fc8933598ce4c7bd62024240472ddfb8bfd200d2f18e7148f741cc8d5908a47fa5da43fc523f35bdc806f7787a95274d96324f5983bbd548a2e7d20bae4f78818ce3615d1c80029a1b79fdeb6404afaebf7a5d69bba46bda55a4bdf3681fbeb7b0579d6fed796f43a9dd1e9f3eaca2ff029497d75fbd967d5967debd32feb8395ac8d7dab06d5971c83d9330ec84265bdb191f97da33e2fd7bfdc21e2292beb97eb5ffab8fccd44d5b681b19f2fcf203282771109102c1d14343fe88d66937d232093fa9655eafa079162baaf4a2cc144134e24416d3626af085acdd433d5887a44455391a8167cff1a04174579427051d458868ba260437051d413c1455131325c442dd316c682893afc2b0f5ce4b4c5458b1aa2750f25868ba2e8182e8a0a7be0a2a81e1fb8282ae8072e8a1202828ba284e0c045515e0e5c1435eac04551b0305c14f53b74ef5fa5b8a8b34c5b38cb05039a6799986cb6cafde71fd543f39e0b0634d03271c180c6b24c3520d470a1968984a724a28690c2cc158d890b06b41eff5bba2d1d6769e59ee5b4f6d0ea401ffa53dbf9fcbc9c76958f17bbefb14c43f55d0e6447907b9665fa61fbd6300b2584e6fd968ea9090d305e7c1903a705da96cee7c703f9c0de7b6e3ccf14d543ebdee5523d9e65bbfe5eae3f9065fafe875d62998c98aeecd0aefae9c3fad0cdca835926324c60efe399be9ff796b79ec95ff4f7a4aefbb04cdfc36c7bf1b14c6debb14cce6399a084d0ba7759a6b66ae252d4d6c34e2f4cc57d3f96890c9390279c54ac076fd759fe4995711fcbc47d8ff51dcbe4544cb365995a6acabc8c6799a897979d52eda5f2d89d67f228d5f5280b68ad3ae78e65f27eb433b44c13b44c946599fcb34c54ca656719a7622c98a8e3463dcb4439cbe40415d25a96fa475940a39689b3b46aca2c1315edb4e2ec78828e3767a6d042d55fcad8010d2ec4744ddec6cc102c5871070d346aa915ad2ad3b7a61a6dfdb6a891e6f43dd448eb1eea69ac878ad1c0871aa2850f558446a6bfec1bd8485b2c7c75eb0d3cc4df3f24ab0d4cc41f246b0d4cc49f4556304cc4df232b0d4cc4bf23eb0c4c84abbc4c1b679da282684e4e4e4e9e0b4cc4ff05186210a27d76cbbcba92f252ed962e2a4673724ae1034cc45580d13cbbc5553afd7296e9aeaef2e8820b296890a2d629ca029a93f7504568954b48a3284cab6e630b2fcab861ca0b1a2d73fd8a18b640820b156cd098d6d92d9d9393d316d7433dad3ac568f58989f8430dd12a1413f12fa9d5f5afb649d45966593f078355cb5c6dd43257db75202ca49f6fbd35c16a3e83900059a8a45e78bece8b5f3295f83c248c2f5b729d5bfa94558f79fb791f2fe3f744ddd196304edbf51eb6841feb5253e68f011e56b8bef43a3ed66f558e068e97a1f231736a07db2dbb0e535ddb9cd3f3aff13bd7bbbe7ddea7f47a5eb6fcb1b325ccd5b61cbb8ead84b64945458df1e265ca64fee5cb94c9bc84969a32997f995bce3952de9c4385471534189c9eaa394c4cfe1ecc0e59af87c7fa271f3bf6589eb216f7dc37b981117cf2f9d1e37bbee77d6c8ff981f5b025f8f8bccfff58b10710cc96f0f3f33fdfe3f5af7f7adae2fa27a6a80a683e1ec896d0a3c7f77898ed60bf65dc79a63d3d6d71f533ede9872da1c7872d611c7f7c98fd7e87dcc008da9def4176d594f9ff903d67cafc7dc8b69a32ff916c3853e6df4376934ab59b65ec77a79a32ffcf96def79d2dc77ff5181e5bc66ee953efbf43fa140ff1e7c058b6ad74a9b66181040e3398f1860eb4219f82a243c7096c5c79dfcd3768cea8c1568712acffbc0e3978b071b1f540e3290b1f64359eb6c0d1020c2668e2bbd4241a5d63e6e0b144192b34b38ebfdf2611b5b96c09346a8d1b34d7c1cb2de79ceb61a2fc7d6a1231356d68cafc3dd1965e68cb11b4e5c8b225ecb325ec7ab6fcce967f491887aeb7bf37898cc2c09932aee26ce9cda9b61cada68c2fb525cc284c9d29e33b3dead56693d744caf3051c39d8fba4b5e3bef5fc1fd29ca08ad0bcff586028f6bccff37bb3e51a775e3c0f448bea1e9f9f778282d17abc13d448fbf14e501ecdc7c3de096a880664b918ad32917e27a8a75126d2cf6c807efe1fa40f13e9f741f630917e18f96222fd3dc81f26d2ff43f66022fd3e248c89f4f7903e9848ff8bf498483f0fd93191fe1df26322fd23c962221d5b4c21c71d4d78e0f83fc65ee83b18c69b9834696ca9b3061c5ee0a0660c4729a5540d0d978e3b97a95842aa4b63c5ede2721d719cd848d9be9c4006ceb5801d53dc30c40c65b058a1878bcb6caa6c70e266c60d16dad0f8d987b7b858d258838529dacc5004173cae7113e5b4319e71054c8c1f6ecc78a2dbf2c2d008060d30dc542105162ae46085164b5cb95e90c151471b36b72cae76c8024a8da1560d3c28c1c61d6ea0f140195db070a20e152c179e3c9102132f9c896ac3cc154fcc198384fd96171e376a7449d3c33804a6b1a1c89005433f048bc10a2b9e56a0e3021240b861c5ede6c62d0d97db1a3117bc7c5b03e69643f7d5c405a3cf2f61956dc95c6d7c209c2d3d6a4bd8f55aed6ed3df7d37f3ac7e39bfb325bd93e38ef32246fef2bb4ed5b66423f3bb464ea7f5fe63a28f65fd33a481da82bcfd2579fd7ddcfed2c7f59ddb5fee5c9f22016882404129065c28a5145cbea9a1fadcd8e0c568429b2a385acc68a1092f53546dd8a833851b36a89062218e35fcf2146ed868c373790aab1adab42ebb69a10c2e7224b87c73028beb5d9e020e1e3c0606ac7f81484006981e61415f67f459195ee72a60f7c2c6b85dffa09890212ac36d8ca94b2fb7814209a7a0306ed6a0aac38e2e84a0d13765a871a2882b5ea662cd0e2780f42753bb00d089a9a13a378c250ce6dc957e9d24f71f9924caa3d1afa41354111afd288f56bb2fb97b31b52427595eb91c69bf2ff959f6fbacc77d05b723a77036cbbcfce3655109a371d98a01e29e896f3412e89350e98c4e7fca7dc93c996d52dfe79ef2f3a4cf2210db25f539fb00096030e4359f350da8c60d2f7776594d1b5d5c905d6a74356e545dffd0612d2e99ef47388e4cc24f2d19e5d166e791dd2766bed1fcc89296235cfa53c65fd6da4b7ee9bf2e474ea136cbbcf5bdcba29220b75a3124d0199d3eafaefc829ad497afae6893e997b572ad2c663e8b12c0c0392a87524aa9c728a5b4c2e0c2d85f3ddac34c9929e528751dc60e2933f3acb57908534a29ede97905c16637dd5f6890157a0e633fa5b49225ecb217c260cdfcfd7fe9f794e9d5f6e5e9cdb425e431fe0e29a594b2c70a29a59436b3424a29a54c29658d3c3bb831e7961e9a352128f38091d5587db9a5575227c65c774f8d55d4a5e25c805e971994a8010e243e70061b31344a859b2cbeefc627b48ccec59bdb6d0a3695a6f1a62fe138aed21935392e054e005c98d08698337ce01286c6b99982cde52a9d4da0543581e25cccb965acc6c0738ce05c60c80227721a1b2b163c98b4520f8a348173818eb4c0dd8b0c793089869cd6210bc7830ba429f2591d9a4421dfdc0c7943431644a1e233ce6a0db0634ea0f0a3aad6fa8d97d6e9e9624ca810156eb7373c50754299295aa0d129a608c3766937c7a04da8a2544169328962548a1e31bb82f35c4e63870bd7e7f2ad8933b78c7dcdcd0082178c9419045d178cb019c6924efec9de115a69add3bbd6af5d0041af5ce77ddee7755cf5ceeb4abed5e932735c0a8e57aee33aaeba57aed6e93273bcd2eab3e45b1df72e3d4a3fef6bb1c7e8f3ac79fd9da9bafee005a3177acccbf9d47a606d9c4f7fda29d463f496b0099bb38cdd29e4cee91d99efe211904e3ae9a4b5f3a83787ce592947bd8f7edff4fee69c74563a27473bea7d77b0288b35bd5975a6aae04cb96133878e9c29376c6e74ceae7a73e8c8a12c908260109dd3e3c2493fcaa26048c3707a8773ce3a4ce8e4423abf8ec5c4ab73c7120d99885414a7b7e8513a5993823464bdd8a2add6f46e7963bc9092134473fdc12f0cc39a7273fd4536e09809c4f56f857151976b7abb3cab196525079de9c54a0e3a73d0504da18113270b346ef32f77b894dbdce98e3a535570a6dcb0994347ce941b36eda5c77841619621ad98d4b96389e1701c264f2959f28d92e57b60cfb94531d57cd0cbd47119c659e7fad3dbf5af51d77f929dd4f5b79a51d336bd4c17260a5672d09983866a0a4e9c2cd02ce166bc8cdbfc8b7b71290fe360dce64e77d499aa8233878e9c29376c6eeda5c7b4d49c5da6cd3410eda55d68143a8ae1b015cf994ceadc71fde91285c37198300f99feec4534e83b3467c9b7236c34e85be4b14956a11bc41ce5b8e9cd715f0bc64398f3585e8b8a0f60daf865646af9c7e94d9e70aed3f867d50478e03967ad3c27b3f7e0acb579ce39e9744ae79cd3a7fbe4e8ccbd825de864e9d7e79c73ce397dba4fcf7dba4ff7da4308d0b99bbbbbbbbbbb9bb9bb9b69cf3920fb6c4eb7205769c9eccc4e677456bfc09dfd4b7777a6a5fb749f2e7fa1dd999dd9c1aec5d911830c7e6b420c5549bd76db356f274d7c563255912a28312145565c7d33692f717723e7a0188a792cd6b9f1269e15e2b11e8a51ff9e53865415185abe80c1490a9843c16dbec8e2fa0bf1590f5d0b8c28c7842cf119ab19028acb752654d11b1d69b0dcfd878a0c59d065e03115b070ca43cb1c3664bcf942f328ea78e3fa928fd671aadcec9674b65aff4ea8b596041eb62e5b6021870d51b43a75ab83ead60d8c3c5607ccd8d93a4080b5ce113bb48e75a6e810578b7cdc536bc4911b64d059efbbfb2593c8b346b506dd5ac75bebc3b4dc6ac4d5ee46f5468b339f77431bf02d03a33a56a14fa3342dd0a9b5729566b0c4032f1b70e033675dbed191e68a5faaa62b07abfe32c6b58916c2b9c403261e305155494a15e70d384c40e38c24d268634399365ebc31899adc9a8012a77b138f45a9821285899b7b9349c4755ad3d9a3de125653c63c89969051bd091373468fa35a02086e0933634de1015b4401c71161aa10c3091a85e2d229cce0e2d2366d7cb9d4f358bba5df7d3f37a15b28a5949d61b7630df3585735811263414b8c9bac36c037535e38f522464a24f15123cfc09bf3c765354ec4c1372a335d10dc98aa440e1c55020c37958081e394d8227e6dc02aaa3ae074e3e39240a393008395c416750d774e5ccc70438c541066d0a1c31349a86973020a2c2e117ca0071940f0031978ac41733668daa04143eb721442d431a17ae085041e4990a96fc850a37539cd1966241185969a02541e36dcbe84f180150d341fb38507861a85c2541556ac2e3c499880841c699228e38a97df8841010e487d06a4c4bdbe949cd2fd14d6733df7b365f7ac9f76ca7cd657f223a77ccf2295f87f4fc992e952cfd2dae5c29e7e02ec3764b6f0f8b87c43e389db5d6e83060d6d666435d7ca18520851431e63d6bcd14375ebaa090840420dd6ec90707219238182375e0e054a79a6d8624d1453527552ba668535a86800c1066a8bc46f3fff061cf88cd748c171e78fe033be443da4e60d093365d02d790a8856f21ca75995c22dd9ca29bcadc1e1875bf21d77d24a8673e737fbf36da88890cfe69d6fe433efbf9f33e8821ec9ff915d9d1395b4135c1776a741958ba5294908a493eabcd045242d75b17455e8f3fa7f1c674196a8a455608160d8629221b60a5d4cd2b78ba5af1650bbac0f45257e5db77b909d99bbb6ca262fdff4d9ad56d92475b96791cc43586207fd2c5b76d8891c881df483a137cf56d97451d0e172dfba1ec93724e25c10e4421632c50efa3d097d774a5fc432ef1424b55b3bce3efb140652d24fc2edf76be4309ff9b3eeecee5c93439cfb793b80fd661c2f15abe1e690cd66db628426aaebfc082b97f111755cc6686c2ee35b8eec33ef0374c8d006940b55d080068da6318287202efdce2ef18089c7e6cffa44d52ea14e54c8a554c8b91991c392e94ce81298028ca85a42d5e3b29a3259cc2ca25c10c20a2b8ef8420e3735d0e8ad8da82916d4f802861ab248830b16c2c080cb77394d1175304715a569635ca28df80618a7305eb08da193003400b87c3b73c714203351d99f4744e7f8eebdc43c334767a356956f64b41e8c3a1a9de9e2721cad94527a668bc9555aeb192b6a39c4917cc11013a0ff8c145d8db178cba1af0c8f7ee3d8030ba2648f7864a67086894b6df9592a431766478f35018660820d2e64f840e68a46117029a5d4c87fbc387366ce350f44820882807ef880f5f8f1e979f1ec8cae961882acafe32a9ddecc31264d784a8e9a15bcb8f4b2143454119b44457c002928f289c32774c59d066e8222ee3edd9dab9e2685322047ed95698bb83b25bd8ebabbbb53aece874d2296ed2847cfc05029792985514a398ed659f3461e6f6a20c3030e345a7429a594ab9f776685eee7e74d2ca0ce60430d18d49411c405b33b83021020746c5bb87123082f583072868b04451a6841892cc880a24b0e4a1ce08c09112cc9a9420e39cc88e2c6c68b2278041d9df1a1092f6a28e2e685a80e50135ad070fa228e36745ccde2f8d1059d34a4c8e305281b5230401b3e968c30e1841627f0f046cb1816a401fb820d39dc70c105073aca5420a7c7d2952f3ca0420b36784085300510e3a7080257bc9042145ab440c204225ef82ca950471a3858f5d083ed85212d7aeed8418d28e2902106293304a07a2d79084e30c3431e403c7119c0143c64e4a1031d60d8ceb0a11902c58e113170b9814c9922ce9c2124cd5814c7cacd1561f298e20629012c515d3c05d49c33ba7c718412540138a2b62cd8024c1656dc81460d1a19115584e30b373924617bfaa22a46a686475355bc2045e78d0d7604195341166240c309a821d248c10b00c2b08a220095431c21ee9023078a02a9cf05c6ab2de126863675b8e8c086d0976ea9c683192f6fc0c010439d3113b8c015d53662cc70871b6184b182f55297aaa0b3060d3b8208638c158902e540166bc22843871a58ccf151530904336421431e6400910290224e5ec4a84811bb61e2cd1a58d050461e33485064125d19cdd862cd15b92378ac7ec9564bec911c947dbb0e6c314416747431470f41d06a04b7d65a3bbb64da0de85f99449cdd80da06a071ebd9c06353de063e73cb811331ad6d9f7390a6e4de1f0429a594524a29eddec86bb7522cdd753b852ad590bc91736425fbf6bb88a56f7da359c923f59b6cb0e31a8bd17b8e7b8f7bfa1ed9f16cec2b76407fd29f0f4efa1c89a46fa5cfa2067eabf578483ffd6e7fad5b32f2ad082b2d46297acaa1d072ddc9db17301b2dd71fac21653149fd6999ec2135d2e7285092bff43fbcfdfc5d5f90b9966be1cf40b3dfa3dfd37a16904bcf6b9619a1cfb1d2f38f391985870a6530717584d41c54480107cd83aec7d103ecf2ad8d392e77f9d6861b6ee610150b43675c4a29a5435345862c28423544d7dcf0c4a594524aed064548194da2a11283db5f4e7029a5245f800026403f2d02cea5f43dca970e796cc88808ab393b32038f892990c00311776831020e1958001121c4a5442c71e906d688ca2883a19eb10c4252c417ead950051464a66ee95179cdddfc8ab15f047aa7f8cfef39dfb3308f95e3f57700056398a0430c6dde80bac11f6c167fdc1a125bca886aa3882d6a9840fb71fd4798f71a60bf197d5cbee24b1931543d78c00a1abc078879a36e2e2c6c12ce85796c083917e6b12a1ea9b572dc107784976f43b8017a6193afcb372250b8b0b0c9f1f28d881b3aae7a2da024de9dcf016a02c842e57b210cdd72e85219badf38f6c082e6eca6a84c00ede8318fec193ddb338e1cdd42e90f1de938f67894c71e58d0d8e3b272fc29385d7425290f61db5d9ea232e1f6870c65e4db1060b8cb53b06175fde7321572c4c8b1c24753f02697668e2e1ed7a9412208cea7d10b4297d90491c5755da6020b386e399406fc2ea7996385db10297897d3ccd185bbac0689202eccd55dbe0df1c285d1e9cdb5c51d26765b092f1c17cebb7c6be2865bc6ba80ef3d178ca1c7fa0867cbb1ce1aed96018c8131a7c7e00cc58478acbf5b32c4163add83d86d08db9c1e8bc584f41373e6b35d97d5ac60e67697a3a063885bc6b84cae0ec771cc433a31a08bba5a6287b52bd8acfedc2b7b14a14f872ea53f44df024a29a574e852fbe2a93b5c471e426b0f5a6badd596b5d6eacdd61cd055a99d93e338fe58fdaf2f54dfab1f56af95fe748e36d75cf390ca71b5ebd480e7f2dcca711cc73d674b8ee3382f07973b453229e9971f74b578c87c9187cc0f79c8fc3a8ad1737c56b618552d67ec818d425dc573998788c14678ee7cd0aa92654b71e318c2861b72a6427068004440f06da441070e25ddc60c5a9faba54cc5651e42a9eda96e62e4cb73f9a5b03d6c187bea96e34562fc6922a320926019dff9dc33a320d4708c6f29c16d232edf92e796e3350ac20cc7f8ceefe90b8c8240c304e03b7dc400f203c6f9a557d24b9f6f65ac2e7d6f1251a74ee9539f09d10f269cdb53b7a76e4fb9edb6187a7beab62dbba36e09b3654b717906bbf3854073e71462ea961fde1276e72dc3b62e1ec1227479b858facac7545fc0f73612237f8b61234aed745b0c0fe137a2c4030fe17662e45b99aacb6ad2882a03e7ce0f2a6342c2296ad052f0100e62ceeda98ba5afc4243d75290f97f6141b5182f110e7363036427fbe0f3612051be9291ec21f050fe16f29d848bbc5e2ddeed8487fd5826aa7c76340f4b9eff1165224039ff525f25cc62ee32f85caa1efcba20bf398bb7fc755ca549727689a35eaad85837c9906a01da8e48997c953450c82922934233492308002131660303024168c46f33cd073b90314001081b45250481788235992a3180a630c420620420000001042c810d55015103e8b25d39602a4550c8cc68632b2c7abb93e67d2709ae9be2183c6b867451f23415ff6c69c22e04aeb9b4e152e98c623a62f189aef28a91db5ab29427898bf012576c44544634ad0097ad1f75ec43b4128f1a5e10cd088694a2458a17fb7532c94df341d771c0599217501c1a9ff860a80666202a1b3654b2030b6f2aaa22afcae400d857f41f8945b2d6615ff15743ac96a6d634f13c36e55d3fd30d2672b1c780819604f1c9d32e43d59114cd8717ac0d531a8c9d78fc1d55cf517daa796bed2be8e0ac28c6fad7a27367b4e89de30896fda746228e96a85731bb04229db8409474784ce8ea85a4e7583613a632994c470788fedecce4f589ae83183746aaf32a174bf6811cdc04e382e721e30988b8c5ca0ffe8135ec0ff8fd4ccbe6e5458e0518505938b28a08edaa8296990143efef96aa1f44719c8e1ced823d9908e0d4767e92b3ebe216afe34f17f2f02beeefe5a5eef942a7093772c8368cc98cb898fd665b1b93e0c3185dd42884bc703e364ef439766bf337524f841ab235f0aac3c3efa1c80637ec900b47681a595223253e82774a747232991eae1414d2709f049d9b0d3ad0525e04d59a94987528f2d14fcbad510c9cc2d71c1b5cf503e13d42cf761f2f05f12d4ff4820b8470e828f3b8b21c64ea9ae0d749288f1c5bf1e30f6a4a876c59470a6a9b92be0cda888a4c583b64c2f1e104715c4d8f0a9ce3a77eaffffcec62599a767f87c5c756483de74add2f2deec2f5893cd5e3416a733bfe6fd2f992ef996000841f8cd17eacc28a657bac49fa452fac4517a6590ee43f824f2a5d389a36cc7209d33f96854859b2a46ea710f025ce08786e7d9df9feb53b2ef7825286de206ba3f8e2972c496e124cd1db5194abc0eba35349fcf5be820ae0d669dba8926db36afc86e2fe9aaf342859219354a0b6b5e19309897233d828f6994a7031312dd989d046b5a0c7287d7fd8f7d1d8333c36f4bb9b8bae9258ac403d7fb0a97d42e66c4e9bc73b5ac7aec563f553e9de0bfc17ee04c89e16075275a285d04f21b05167bf170b0dde8017f29958e3f9ccee9bda6734974e480b17463ae3b89f5386c2ff294ff151e6eedb46ea8a979ac84ce55045c4748f8ca6e28fc3de1a38273a06da03a1b554803aceb81ded3cb023f2fa59a01b5858fedeb92d4bd66ee1652dd386c2a36c602eec3e41006fea7a1d6298577905b6fb5a8997eaf6a5182e98ce686635499357329be744ba7b188cb434bbc86144f6b4056cea997676cd7025152c14019444d6f4e4fe96689ed590340f196a6b06e9cd0c0c419ed24dce37241a3cd69a080937b6e8d04a5c68d0236e3a1e78d2e6a847f93e4f9b1150e31888ee72a2cafdd0010cdcdb22d20af57459b5ffb02377e142bfce1621232084b35475c65f687a6fe4c7cf946a847fa31d5b1f11e159605dfdc37e95a632933f7ad334976cb9f22d5423eb9f2e661a0a396bd3f3c770e10197af6bd504a743d23cd252714a354ca5896559ed65e29d1dff3c704532091aa30202ecff2bc5ea2a0349e65747fe25d4d79e99a030f02b0c129231c94174a4b3b5645be7e329eaba6927143ec37917319247127b0860e9420b5e710b5d353a340f0f48535c84dbba5677e4dd051a4f705d18129031805d17d89817f484ebdb36e3d5220681a20bdfeb03e218c9264798386bd833a770009f1a763ceb58e98831c1ef093ce1eaf6d0f6bb7fa9462cb8768627cf703a25ca60c3816576aff6eb02ab4e3dbc075b3ce9f7211a39336bd399d99201e78b8a46bf2aab64336d59763bc0645a79d610270489eba5efb3730929fa243f012b53b8bbd20d1278bbce14a842d0e24c9fe845ba8bce8e31d559999bc73b00dd07cd74091c7a00e4a0acf86015eaf74185bc5103392286e922002e96cba666a7e79791381a118e5a604240911e3d0275d9648e8fc97a73cc8d492022d20d12b616c57358f3205d8855d43486044ca23413a13c03f5a884f5b884f5d63ca778913a5a35c24a708a18e39e51164463a1339e0e0771f928a1829d1172da8e3b8d0464a4b8bb5b142c1469040a939421d5e00f189dcdf2fd5ad2ed6775b7329d4d1b42f34a6336be103e53414bfbb010e08530e54f4e18621341bdaf8c1a5103c983e9989aeb7121eb8f3dfebe90fcdaa9f5963164ff4b02a6ab551a48a15dca75e739ec9dfb1c3aab3adbda05d0a005290114a69c85603233218122f3e2cbbda749e28c080c8833368dcd165779efeb4dfac8f89c2053c82441e10fd3ba7bf77d1d4016959ca941329d51165530494c86c401db15938608b2853937f51811ac7135e9767829336394c36e66f1d07f47192c1f560427dd61f0e1d77578cf0955476cb55f86fff2e57b420a7121535e5b27ae917b9958d585109d75871c6ce88f3b415aca021ce7ea03c72667d95b4ae83ebce24dfa74d5dfab3a2c45678394af6771257ec51bd8b05cbfe2910e192adf180f0b5614279de1fc1c1c1baf31e05c2e0f7402748af1eb55f745e1da33d8093ce2bde2b2b541335cb907505e9266f06cfe38db6bf00180207cb3303af09111cbaa296a02558461e7d3863ad5135e553a2d89b6c2f2217eb7047125bdf1e175350a0f8651bcb6865a9325034b0042a7a94ff7f403d27c7e364bfaaada22f09d41091d21c5f68551e0fb5c8268a565489f2b6cbfceb771af712dbbc53dcc5e93f8381d55c3706f2ba4bab1ce183a3d15c3389d2885d9d03c74a1d147419d5128e07cc92b86b8d82833535561810a29e37cc47265d446a80175f3b563b050957325d8e369443e1c342bfe3a3c46ad7b7da00ad551d2d812a62e86856d175319ec758ff4821fab5d6ba220866b1dc12d2d641888498fe45c8b85ff4569ed8a076ab06328da51e2fcc9caa41a794ce8a1c3ac334a86cdc968dd86d5c96f894fec3596ec7a71c2a31e0714d2cd783474e689aa8888577e1de3c23f4dba94e0b14ca6d2d921ad05025aa0121be98ab8c48a3e8cfd6c5215b8990e0a276b0b83a05897c0e1a3a5ef22b166acb9525a2740654aada41cd0e0d094dc207892982673ae2c4e0ac60f1b072050c4f92b408e717993635a79acc2aa7a211288baf93b11ec9163632ccba845d0396275e73b917f2ce310360c1819bb039c886750d8392a698f4c869d5267afb006164ad77f7806cb9b98f307810779a8c27b798ae2409a0814d6dca3135191a9b6b81dec7c4948bddfefd71438045532e74042aa172df08f6418b68b607e867ff01d672f9884b83ee94c36584d6c6d374104f5b0549ea46db710d46b221be090be04485f3a1bfa3b6a9d9e96d397c9b0b191932abff249a135daff43ce2e7c5338e495d6f08e7f6d1880722c43106989d06f8ee338f1f37463f79823f2404e97320600862d5e41e7046ec0767144f38e2b6780350e98343621722f732fcd2845ccdc7f11c1ed5747298739a1d970072c0cce8242b408ad8d21d798f776ef1dd174a4fe337419c951d60a0be020b1dd01d444f4002eb9b80b7e137e60a048a13fba21ac400048e8f7bcd918c1a2b6b3dd3b7598042f7d5bdc830d3daccbfbe3d7e13d6a87e584153147de0869c54842311e2b19b2a664a3dbbd29be207879f00c156454122552502c854be32fe6d6470e5495a44bf8f2a62c80f8ecd94b31ac08ecedafb4cadbde735dde904df148a1e6bb2fc74d9df3cd27fb3dbe9a6de17a032aed593b13f01be9bdeacabef8ef8a77d6f38bf7e4d17da988ac87b8ffffdb9ec21a9ef36e3200b50df9b34a2dac73db884752f424805bfcdfbacf748d7dc08fa5e7ac8c3fb0d41932018a6ff2d81dfe217d895c4fdcecfba5003923223ef42836333eb381e8b474e711ea5c1cf7d7ad53a4a1e7eed7f61f16d77b99afaf170cf1a3979312c201ce4e55d015a26d316e6ad1eb846209b4be34e53e9f2ea5846b26eaa2dcd0bcd42caf0fdd0c29921ff8e4bf9468b84ab7c649992bfd3bfee184fc20f2f373b90e5c599b94f32307b29798bc9e8044ef82d1fd36fabce40ef3706917192229b1a12e47c8dc693eeaf08fed5322ad489ffa6a2a5bdb5cc80d9c37defb7653f59ce1a54a522d932f7ddfe814257ba8bba75e21d9274b76e963241568857eb516d329cd7529495d03dc24818bd2da95f9ae7854ebea750c43a59064d308739b0dc55285292efbc64ebdf500913520ac03cb26ddaa27b108c45abeacb45154bba3edbd344cf07042244bdf4b94de68cff9a3a08ff82df9883ebb9405df8d4f7485d726fa41bc13b77a64a30db35121789a30bae4361589ab85f5273b918fe0d7300930e39cd64c5b302776dbb043d7752b9608c4638c2db20da94d667ee4eddcbc2d8a77b22f9524c763cbaeacf17bb4d42e16d35f489d62b0012d181a13bca52ff18fe8affc37f3381d248fae5bba36d885ad26e110fd42742f0d92867b27077c4f919f9fff205fac0a511d6c0bce3c09ead79f4c53a23aa205a13770a1df18d7fc2722c1ca2396a616cac0268147e6134bf353e2a804b55cb4ec549e5731235c7800b5949a731675da9524eeff697d0154157627c6828ef8ba6611b29580120ee1cafb864407fb39903bd646b23d7470b8d2c1af45fa19d1606bc169238a60ed7bffec87eb5856fd95869eb6d5561542282faae1569916c77fd17fa3cff78040b2079b43110a6f45d34865cad945f641b22f87a54e862085a5b2ce1698f08f8b4cfaaadcb186ad1529c1b51dd0970dc2608e9037a177e40d35551d656d3a09ca1bf109f7564f79b361358ce2344828f81caf7de5699eaf13c21b3262f1fbdb85b44d542a3c558cb70786469d7905c2e1e2d3af2cb614712560e14fc6b9d74f0f245a6d225c594ebdb1133a5b9afe94f2e52ef2db8a28530561e0eaf412fbae65fb3e418e0bb9db8dc34a040d7e7496b316e0ec49a94b16613d7764409c74efa8947faabced625deec5a3456b515db4d10d94eadccd6b47e72cc4afb1e10710c00f70863f6daf3883e3b7d13f800c2a9f654076893c11312c648ff9489f9c847f330870e7b6d3465f155baa79c06effc1fc52eab63260989166f7a01217a60f562c6eba4ad53cbbfcf38aa007525b4a7827e251df4cfcbfc567c96f65dc05ec0af4e87772e56c1665fdf26e69a4e61cca77c3ec95a475544c49132754337e528157865c5b35e3c536663a38a921252d7f184aaca96d9d173d3d1a06b9f551947879bd44473e161544bbba8cba164d2e17e31d9c772468a81df5bcfa5a5ea6f976927c1759f9f2275f2d03cbde111545c4b4cd2024f4784b23ae96a94b5c48a1390d2490d4b7db6d26e8ba461ec0c884c39fc61bb93d7593c499c6d14a0ba07200839259b3b145d7f282288632e6fe55e100719b85f85fe2878c8c0b99a43f14c082abceadec0a2a886542c426d4d1b9f2ae83b81bc699d3ed55b6465806084b436fce3f52aee437baad1b46d328fc27e1d589bb5b2ad5905676b78d24bf92b6d6cdad48ea4aa001c7384cc61a3d20fa194bcd95bb1554076937bbf8c0d464a91305f5fe416a5e94793d3e5b439a254597e7174b069c7c78997062acb0ef1d6d7cefbbc7821b97db9cb7e02ed2fa6b23265cd5080ec3ef1d2e0438128276d9ea48c64e8e8c62eaa1ada63a5a4e53698d7a85b82988914e9e82d0db2ea3aec58b6d68f0e62ae670e057bdeb606e7bb3e9b5c071607fbe52a0411524bdd9e2fc7d205df28aaadfc16aeea1e4bc133e1a782ba46257f454abab947e541cccc0d685cb6c051442a8a1b5a381559121c4a55b16c116250811e8e7b4ef8eb7cd1fc405ed87b46946749f18669324ef85cc4abb27ba733cc8e67258e69703791b0326b8dc08ac57856812b7734464a01b22e81d216c9932ab29bcc8871791b92a811d82d765eefa11c26dcd9bf82c973a2cfaf6e629a036efc34535fce40029ddc9a4d601117d0e317dc58bb229151de0fb90e2f5f30895012e03a76f8fcce5a3079a022b91180085c6fa1722cf35ce4714ddd291363d20865e5c3a176e20054f19c2c085e283ed1e220801754427caf09ebde4978350b18420c0b9fecd58c01224251cab005d3bdd6d514df8d86066a56c058a32f1f13fd4c5511b9dab3ad38696849dd3086daaf232a31b04196b0993877c4acf3c24c8dc75a410f7cec730312c63abb0a92717f08cf0ecc42225ce54ed1489036b1c6a0ae5762b8505db7fdd3900019e2e7ef1d5b3b2665ea06626e124388f5aa60141cb38c09b9f881e380e8f2cfa358a071710e67061c233f93779df15ff26cbb62a147467c26400ca6ee81f0167efe9882910b9da976c3db663b05be853834c14306504578d5c4ad0ae35a0eb51bf2e556c384f55e0c2c90af922d9ce6146a3df92b6bd694a6a2cf4a07fea5a2107a46ef158a52b032cac8f0b7bc3e5b525464ad2da685ab1f16364cb45932930a5afd0485f47d732350f2d8a84bcb51e4cd352e1793b788829ac4f05b921d7a0c19ee0be96fa565fbb0c290e2464b351b2667546aad86be9bb24698354a40ae136c4e341636374b33a256e8846b896948e37c9ee7e3ed0aa68f63fe55788a22a0a90ce5c868221367b0e001617831274c7be71b1c56371763a1308f4a6dcc109563ca0d3c64dc58f162692f49684b3ebeabac116b87bed19d6d71376b5a4ec6a5ce8547d6748255f3ee002e1c7a0891fe2483b4cd2afcbaaa89a0c12a35c404ca27381336153005dd314385ecc7050f08a53e39b5f69f6dd4221ad8b30ce3a862ab93bf57eb0d3c316d403f6b86a18a99affd450a1475261fffdb5f1df72066214b061649e9eb7a6d74a563a826d7bf20569c26b5a0977a2db9eea267fa4018efac527364fb4a017cb3e383ffe75b7bd1fd0849bee2c8104c4d758ce612528b209c8c7605438e629d23d46c7585371626c42628938105f4256ed9fa91388ef8eafc703d905165241facdd978108af1189a327431f9285c3b65728f6da13415052f117e8f6000a691f74f02e44ba69b4b2ef51672c7c0d42382c44ba536d29e8de9e25fb8271b56bf4d9424bbd2a0a1e44006cb54852280605c27d22e916ea2c5c79f0b34b46bde1507e7fd49eada3f6da10dac67445e50202d6a49809a0cf2e0971952be2da6a4c3c37da5c6938aa067998475f9329bc19d619abce70104b054fce8292c41b955d6011797143c9a83cbd92d0e68e2568def5065b43287f26d7e2a48bbb66b2275d1059e5d6fb8559d0b28eaf0ca71fd9974446ac14e9f405d8c40a621215ce76b3544506a92de911db5f98039c22c36f59648509ed1dc920999604da2f9cac647b3bb05fd22476f77850e6a0c1d6aa92644f031ef7f27ca4f64a10cff57523cf4f5108e5b579caf27653f794b1c89c27c4cde4c84357b61ea35643b5a8b988476df666ca2599c8433405a7f6c9e2bb88cc9ba7da6226ee21fd9885b17250079d8d2cad59d61e2da866902b4b1033c5eec3f0466069c87ae154a094fda147b1cffdd929dc5f4b3bf6afe5d951ec10ae2011e8e3acae7ba82570eacd0ef230835b417f62c053b028ed35f584089dc925a001690ea3a767c8a77febf205de5c8c4693debfbfe66050fb1cf63a84ed8f1c69ef652e9e4d4ad939f4cda6d2ff5328dcb76ab8e2a4843c6ea1c7a9eeef382319ec9642365bb50b3459462704c0bc7b8e990c385479ebd5708cd403cb45b230931c52020ad3d82275ee01e8fa47774c4e2d3a1f1b01af0f810146841a005948d9ac0701fb145bade22bb53ad36eb6b77541f0642774ed8dabeb1e031bcc61655580518221f0affe3ed0945fbf8660cf38f78009c80c50001a402374088dd0113442035404855010344205680405a110148402680405a11074840228080aa1216864289f6e60cf464f38f11e57344b4cbb87c6b36765142a59f76c7853263ae493fce8af6dd1af956c2db3e94fec50d54a3e67f63e726e323fc4df8cd2aa0d84bdb76c021c03d34dcb474abce2c5708c60057e8440c0309b81e490d69e76d32583e94bb485ee7714e12863e9027b0ada844db6aef120e28523a098085e5a54dbd3489dcca2f9a11054b885a408de378a019d81c4cf5469652da178a06aadc982fe4dd92788e80158aaddfff73308bfe41be40054cf35eea4992db5425e72e512d0a0cb5ebae0930eb37105455923c21b7b76f77f68f4a50208253eeee658020c12c814d035108a7d7760b274c8cdc7770338d60cd11974ee45141afbba270002fda9008a12e4668ee50e20680ea31bd00b9096a652804c197293f10548b04075018472c86d8e6f80a0400a7f9a06e1b1a87bb780bab4cc076dcc5d4dfd23225053a05019729f63aa078c9b42e9830e2d236eb9bd6ad6d415a0b1814a03da00283da145604a3a48eb3a3b39d41c26e10607b4ff3a312438b56571250d26eb9a011d6a86d11de801b000cd3ac09272c84dc6a3ff80b206139b203a8152bc88c2625ff70440a03f3d80a60cb9cdf101304a20ad805239d48dc617c020811401a741482cecde1c002d1de2c67866c89b2d013fac3e134d03f0cd0a96059ae42e1e40af921301fd4d0f291661f218910a6b130ff9a2774d8142808933e944fce88f5437fda39c4c0250cc993182c71d03cabbd83f66a7cb2a248fc74c6d58b7bc45056739c9a56188a5eb377724bb8d5f32b71834fcfcb542d40cf669cd3e1256e4c12d11ddbda7915a0ead13256d67bc98841f325069b0fb1693e13be7b6847aa9b8e2e38a8d8b7571aa77c0ac6f4f34d5f5a92de3ab863b58fb00aa7807f4ec1e34e300da7c5ed39b776642001611268ce4f4b085933a6230461b41e8e17189efe1da5048bb874b0f09cf7052bf879376a12760385959b2c00e0737395bce727a111354d724a0dc24546013c415bc0737ba6dcf9f7ba586fb4e45cb5652afc8a891e4bdee31ca1c0810399197e9f7d141f613d43ac0d6178570d2252df4c895792faa0b5fd57f1d54d71646b9e3a4acef4f85a51535e28a62a1d6b87c94b5911397277939600484e3aeb840bde060b0a2471ba335decd3393cd0ba8e67051f2deba19d3b414dc6cb4ba3948d25c400d20e6f90eec9e68309acafad2901f0348259fabd38b335ee08081a5c265d245623289003364840c7af7d21289b7954b5e402e98b4f94b84afdc2d3bdfc33e5dd14371f7d9ae48dff44351df874ae8f843523025c10f6dd153b915738849206689c71a473cc605ef2b7192f5832bbf78d1ad7aafbac5bdda4ffdf6f87494287ac6e6d7a2e7b198cd02aaef93e8ea0c86e14099889ec27a7cb85ac065f4e52bc2cec8ea02383055f43e813a1f6578c4a6c4e8d2dab219ac44a9c37c11ade94c4150b96df49db2deb80f7237e87127ec704ac4d3a1d8c8350713f406510b9549789eb10bc2f5547d42d4a1e7295b79c85dadd665568cb0a5a61bbc98e98de360381f6d30d765ed681c9c6e58d57cc02bd35dcaa95ecd086f822d9735124db8f24a495f4bd30df79c97f8f072530a7ea623b688bbe51d4ca8abeb3b601b2dfd18c29ee78cac833cd73835904a18f471a70c69a56630c83b031fd73540f098d13a2ebe1e32069de593b1c84888940b934859e4ff9e7d2dbfc52a8de15dc128513f5d9c2d31f3882ffdd5f4cba7ad8e738eb68ec3aded84aeaf6358ceea800a23b3df4f8ddf426d51fb692124ab5120dcdc5ef48c4d5db209fb896b6280d9e597fc2766f0174d6e99593d36f5db851b1c9fbd8d6472816817004bf56f0bdb05c37edbff2f2cf45b879a8ec0b75af56a0e9cd172bd6a217f24cdd158f59bc82af4f39065d637ec4e0d08d941c08c29365eeade173033be3f951ba266776ee81730130500b7eb07a6c83e449e888e91816746f5b03f00df2efa061a600a8f461a230971edac3b6062f31668a58893a582bdd8656962046ac231d886f0e5973490de0a80345bdc6409fb12e399b12f989112f4de2e8aa81812fe55e3b5042d507380fcdd1021e4216c053b5fbd97d0ce62683586838874cc63333e8df50d1947c3a0288b2f2fc11c4883dc7fb7ff012bbba37841e418c2950c40d0c44a71aa9e69058b44a5a0a5bf14ef4341625f75cab77679b269b5c1d4020f9f06a3c1bcfa0b4879a86dc30d1646168507889d766ec5afa983202b2cde2ddaf5decd4f591c78c5a4d4766656cc845a4d269f1d0cca9c3eae374c8f5de85356a533459d2b51ccf66ea0bc781cf1d8ad62807239ad54ec69d963056df16269b8daf9259b1e23425c2c998d4add012b2bae1e2a0e6fee7db113b8f0e0f0d706060cda1aea4bb54cb21c9121f41357f97e99e0269fc7443d0d29a56b214d37d6bd6816b98fa7e4b3595b280cfc964d5f1a5ab18c9d7ed84317317344aee31a352a8b153ac7770f29178d4f74433ed1edf5a124cc237c0ea9007fd536136293a4271bc29de3ac73e3a4304d0efa780b35a52bc7fa6b3377baaed06a44ec91bfbffe0bd59dde11ecbcef99fddf27f48d79f7c3d85c4d1a41be00ca941a00831c87d70de90dbf80a3c88ecf035e1e1052c239854520bac44348f014d1c498d24f9d9819105bfe9407920913921f89035aac1a1c0f0f88feb71753435ffd8717c6633c201b8edc0e8440c92d98f74814e64656bbd74ec9695e71d1885846ff471945080b4fe07a3486de34a38692536efec9d010509590efb051eb66c598f72f6d9950184d52736460d1a6e60004253934f453ee3e4118a57df863c5584ccce21958c30c6f3264a3644486f68a946ed58c4b94592a11f14b553368f0c8fa065f813124e8f6106b9651b43235907b60778ff145847fee0663bee206bd9ac0f7b73c11e4c36d38b163c32ba3b8fec7894d02295fab34577b914f631e51d5a511a08eee590059ce62b0b4f15d6a1521bc3293b33a705c1d6b4b5a0d3fca6ac65251cb4667b167ba954f6fa16fd35b340e3f46808d1a69734dc38afedc5f6a4595dc577eba0d6f2416acffbdf263da62acd8d6589b717d85d892f21be061d99ac140b8257e0f6c1ef0b66f523ca2945a3f5b5d4516ed90a39f350004ec4625e51c82572fdfe92e78e84b08deaed55e9414205a60c78d57013d0056d7e9b9c705a00216ded73cf2398970a9db06a0d64e3c63ada01d5c425721e815c8a1406e01020d34cec72270aa0b6422a38c3752f48097fa3803acf4502e9ce2ce543cee6a1408c606d5aa3efe1557a919d18e32c115279daeb39d8b4162c4acd0bfa0108dcf79cd51d205379c59e913cc255279cc818a39f706f411f20df6906ca0877261e3cccb297df64b7ab18f91171c2f40cfe08446f0b21406371e90e994cd6075193ed1ae92d5966e4ac3551c28bc27c8052663737728569f13fae2098e29326009204408b6752f39ca763b35dc2e6cb961603802113ae3e23cfe0c45851d0fd105225c4ed909cf9083479d660dbb69360809a91110bb0479846ca976767a83f6b1f4e3c0b5b23d78c656d00fa2d69f9f70cf1435225456de56161154afcb2a75fe017fadca443d1119779365d25607c9be093a86ab3eaf5c7c24315489f0064faeccef1306e4bab067cbb1f587b2772fef1a429809aefe824a91ef6e2f97ece0183ac439b7637d1df97389c0bb65b8ed5dfb7e6f7e882537bec6966af30ff8a7e746f2dfc8d50322d44b6a02d159c028d4469d2aad0edc01b5cb56f6fa25e7ec4d2bf35d54df0bc203cf8804e311140418909ff661cbaeb8bf40fe45db89819800a4b7ca4d2914f709da036de7b602165fcdf85170bcbeafa0c2b27e2d2f37379f5109f3bdde93507f842a00f5a8e4eb9dabc8e7f74d131db6eaeb5cef70b179831f415882bc4476b8dabc88137f8521ce976203093594e300bd7ec2f2406d2347b38322aeaaed1a4ddac805351e4c4b127a012e884862e51872737d2a82f6096da39c307e2906b03ca18eda4677176ac5cdabcba98a59680c3a005d4eaed003ec0ad05b202c8c038e46d738a8fd9fd14dadc5969d0f60103b2d5684e07e7c4230fe684519540445727d7ed4f5b47033b95610a52b1e13384da1b8cdc8c6e41f1fc526b467a1e040d7f49dbffcad0237bb60df5c3b52c8fd685fe9a73472bc8c9a54cb16925efabd50f3b4ea0422b0aeb17d21f1af3c01c86e4b0317115de002b16f4b2005caa1f29fff1f8a2df51805e03fa0926e165b855d30ab4c2e02643a9135c39642c595b4824cb4ad47c2ccca8877c74eceb9a4dccd988c23b9cc9749c69df4e627102002e332538cd8faa6a261c6522e863f2aea323773947a3853f8dc8a28c027f007021cfa8818aefe2d789f1f42a2638874f6e1010bfa30b48937e786cd704a0c89409c8a33ec5ae6b089d7cdc4c10e72a28065f27cc5ee5fc33156c9262b8f63b86c7bde12ac1a3aa6a5f2e455f760f0f0553ab53d2eae6a0fd61f3d9bbbec1885666437d1010a8f7b3daa16f2d2e4338dfe2865bccb49520424a7a680bd46a853b30338a11b481e5280ab1008924871014a2a8e7da16faae8ae53483b27f911291d344f293ed1ed90b87569a0cdba28960a96abc41c35f2f206ba42088802756605bdbfcf9369d3f9965d20a71bc6178124463ccff64f397aaa0ac4491d4b2431375bfbf29766371a442be14c4395ef681921710203ddad721fecf40eb87329893eb4a4a93c22691854c23f0d8ebe6e2688b6392f9cd8a197469df7db9118f76326a713c33f28fef313014941c251fb139024d6db372cf80b9650829e1b24520d4f20335d43e5cdcf8776b9d7195304cfe9d2f9a22d117b153d7115bd5301e6106430131b4ea08fc0934a3dd0408d91ef9a7541479bf82845f07c2552cf7fc567a4175fb2cc331480caef47895704516c1fa0c7ed9d6bffc4f52e88e8580506057ed804f5fc580a58eeef17604b679b4ee9bf6c8a0b8bdf7df0c048b7532d372fc324eb3fc0b9090694e75a2ff7032e2c024232f71d586e2847b3b3abb06782bd8f8aaac2efd75520582b55d08fdf3e7c609f3792b63fd417ce4629a1f7a864fec8667da2ad8ff0a67e9827e910191ac8fc9912072be1909088cfbff2781f5a43afbae07c8d5aa614c8f138efb32485b19418b0ad100fd1cace51ae90540e9c32a5ea71b3f24e0397e24b45e58c4b099d1fed446dfccaee527edbcc89ddcd1f9b8be5fe5db8d9ae115e1c27b56d3d66b26d29172fd76e8c0bdba64999026fdb82b38bb13ce75cda464fe2d82d0c0347ff29cc695afafffbd403a36389a7cefe3d57325fd07fa6fa892a2af98652cca5d17568b4a237f70e78a5684cd73557c87203d3772c0567e17a980fb8f10e4089eb03a54aae9560a4a5912b8e52c94b4fa4a0cbb9ba3748fb2622f9a209c28224fed00df68e0969d7713bc996579dc9291bc09129f72f4d541174849fa74d3961896e10f3a8793fab7a57944734a31c89d5c069185086969100238d36f48a626050476017853cbe1ddc438e3fd07225b7b1f9efb3a54bfa9a1af52cd88289646b215c834a4f159c4dd855a81ea8f62c7f94d1f63907d04473c98ddfe2886d9aaa52077064c569a8b00450e8a8a9b2859780cc99a722fd515ca910771933f7baae44580af5a65dd22081f174a3ff1e05c825884ee184e391de4801fc0bfcd89c51bc20cdf5b0fe62d3158423cad879b7382cc65d545145796c2dc10058abb2bb0736c67dbefb3614c4d9af882bac0519ab0323c571d86908a25ca5b14bb856d62fd04a9b124730ad8f4bb1427913ffda4d235f7053ee0ddc515ce87e4b588ca1dd5c55fc11abd1df055e0d9017e5cb285c3e21cd77a381be13016b7f24141c706d73f3fa176aef04220c017483f0650476f8be10b94e391f1fa58071b3e2ac5acfe7fbaec7ee3a337e80969d8b541130c558a150d92adb425e61dcd1e3fda53ef1224042c954de6c79bc6e30a011490b1e293e633cec0b358a2e172bcc19422e06ddca6d1fd36b5d3adb9a0a6c618d5677569831b27219941429cfed327edb3d4ee9b29500ed177ef93125873d993a68aa15fe87501ec743c11695fe7030be9c13cf4fe6638009954740287d428b54c3482923f0612677791a2a5f1b49b22ab340cc103e73bb1b0c097e7603ca09ad4a03ba5cf6063201781c209dc8657a04c36951f41f2189d306b820ff63a739f5b0c5b02256d800a07ef451ee40f9d3818dbd1702910e1993de192f90d6cb25a93325d9a0c1c739c870eaa7ea125a4fff13a5b07c20eb95d751ebda882b543613f34dcfce3da10b82ca2f34773158079e979972d68d09497387524433429c0606d3ebbeda0f891931d44cbe55ae1149a5b8ace1471117c33b6f385c24570d987a170526b634c3c5ab759ab75140b05f0dd4cf064f2cd91f0d0b8a5f43dcf8aca1c591ee6fe27d90436cbcc67353933af9a9759158b6e2420c57ee35b9b10ae46e42684a3d52438538361c4289e2f8a29788617a155341c0222f086c38677bcb0c4f6879572c2d907641d81db9051c8a62a85dad2e55b80234ab0913bae629d091904f2ebba803dd50981f4392fceb3b21bb671d0b748acac8716de3d97fe1f7a04bec10023d2cc6df25f2b5faeb59038bfb4a227365da92cd8da2d69eca9f93942fda1670fd40ff95b818c0081bb42e8f9783ea083c5484f3ed7103eef73c79f2e31819b3faf1f8d379ec723ad1c0869de821b77248163e30e6c4812dc2a5be192c165f434176df794e6832024c362518a7c4da8addf58c94b8a42adfb09cf8db96779eb7ca8b9965f10bb4ef7917c449bf8e0c940bc59579f70184f9798cf323fdb7206733eb052048dfc83bf8cf9dc9dbc61a08d7eb51ccb3e06f0e5fb1bd2a0e7e8d68bc5880ee558a08cb265c4152e04d10d0d6372770d11dded4124059a038ec104240556cb7ec149894fbaacc26e0fe94d337a65a1194f6553cee09ac7a91b80e21c8941e75832c6365532cb76c843cc918300c31176f8ae0bba6e3a262d8b22d788885f04b883db5161a23462befe117f6c4eb7d1fa91d9cc809ee4fc3241fb986afa470b88d596b82e6a80da86519e29acdd73e4cdc47a60b5e4cf2a6b8e4ba4163dfe25db341f714762f89870596b48c01df94075b1c5f46b554845414902a20fefdd759630903ed525dcc0aaaefc4ac894fbcfe7a64d33bf5fb45adb7e8116d1dc80fffd0ad3b972e6eb96ef6789b8fb92f5c7caccfec943548d9edb8d3eba145037c6867053d00916534b63cecb4091cdc448ec8a043a6d94d1a135c55c9d8e3b9348616d8924de322386abcb286d7feda63838f906df4b664f4f72b5f844b8bff926274bbea82314719d7f8336d65065ba5aaa13d98d1e8b34861615842ce88be7a7c08631109e63c464ab2c294d32bcbea62fa5472ca549f0eb183513e4c69816a661de3f0056a78fd4382f17a14782bf2991eadddbb80b5853b32108103dfbe1a0d6ab36e3399f2f5adc3e7278b783a565a21e865b8445b4a3c5039312319d1b90a643140775c6c70256b0054a2940540bd63562bc2b1adff0c90f2e1999e7c11dc782dcc6e151c8d9a06a61b22ffb18b7f1f6014717e363bcab3ef76201cde61b7322cb97a6c6c02c3b593c1ff4ba591ce036893a62b559d53855bbe169af4a01d2600431efa2c08d37d298c43b74abbb82378dcb438a3506d740e67265d05eade562a4eafe9f42fb6283927ab0c7a1b6cf763aec00bf12ea0f7fb0de76d56f4013b7ff27631a678a7f5cec039f969f657d320df97882fe8a9c1f512e79ac700ba02569651d8aeb8183fe0c9c88289b4fe1cdadf038cfaaa2750fd540ebbc45290c4f9fe90e3db5ebfe04a3f8d1362072b91e106c525302f489f989c8a5b974891d9d79d308403ee9a04d4ea1a156f843b811bec503b8c827574a0573dc9ecb785e9cf1f2a5c0c901e3c79253190c82ba08b52e3cf8b962b17aab7365fe85b2439ead7f98889f36576be3a77f2e1e86b17203eb19cec7839edc156114e3212ea5229bcd5e2a04021100c671999572b2932387464570a552abbb9546d11548e79667d1a141e167a470c54623ad92cacfcd28054f29f6b3b06a05c99b9aa9f589f1145413910810a0d54373c4681c2c5f92bb85368e7cef6ee93106103a0e97c691b7c043583aa7dd310a94d51ef52ea02092ab31092b9dc39c2e3ce8a9fdece987f5f2d528cefd3c2be98ccf725f6b0610490b7b53968966af67441024f9354ddd5c0ef3ee053f5c5daf267406c76203c054e00336549c774298c45fabcec54516f8d839d7599bd084ada655ec02be8cb2e64badb1b1f09b41d4489166647d8b58b84931ae9674227f198cb499c24b1774021ae1c3c5e58f537268240cc0cd062e52ab722bc3a0348567b098ec4c1039f3a8cf0c678fa7642d3def98eb79dd3a7ada84eb71b15c38a6a6b9d29c039376d9e9b1c806c416925637162694a0529c2e3483e7d26130afa0e16748a13de0a8a28111f5858edfe237d1b1c30a19c165a43887044ab52f3c1a301314ef075257418fb0124b0b0c4839759f0cf06b12a395b78f3a0773a93a2350da50729674aeea053794f8e362744c6f4d50ef762804ed477460586c376fcba38179ac559113211b2b85d2cebaa3753a2f829160c0e4f09342168924fc0885569e419181ff792995fc9c148162a13d05d269f4961ba2a9d9b6e3581a2de6e9d103b96c64f469af3d023b66afa83d1657351916f377560c12030e099dfebfb9a1199cab543fdf0939c1273422cb366d381095bb65437c1d295b492414856093d7b69ae44c192cefaa5b1dec1b92f04832c887add8180191a66685efe41e97bfafd766ef8a2b7890c0437c1b7d97110ccae3fb04e85c2f61b06194b821bb33962728d7a3f561d4197b24eedb5ff0aba59a5b14234497e38e4f797bf272504bffec39fc2c65d87bb83b9200949d8eec3597f79bf9e907348fb3f7a97f57fe057bb0d4952ea8bc938caab940ed3c858f97395ff79acab77e4c512bb277d645133c885b2679ea373f6fbdfe2cca2b7674a3382a7f332fddb62937f4455fff992104cd5fb52bd2e935e1483cab08b9cf242650b651e98389928b4a04aeeac140574558a267c627cac576947e3574f787940bf990cdd382c5cc9af7d053b26841629cf51f67862e71562c038345a6b9a0ba84f705d73884ff49219b093c0d426e764a8ebd908a96023116867bc37806ad9b21fabe0464ab2c9b5b8e56d5422c490f1c95134b89d3a229998e92ae74fc178a684b856d74c2921bc9386297c90bf111ae736d80d2b7eff245b2b7b1b9283f1a9d4e5c00e84c43d1281cbec2c7584da77d4891bc5b68a2ebff43392ffcaeff09c25b841d4765b28ba06c4d85c9a49ce646920bcdacc091c2837aa9f2862d1f55f2ddcad5639b2b939e438246b5a03c6dbd0c9667c533bf1e30b9f0d2282b16ed5f48f0ce1fa54ad5cec71ea6e363e02e05d784d5d2f2699642724b3137a09bf2abeed9402c18d63a4c8fb5a8b7f9959959fe4ce9207e03dd66de4e8e63f09a79c6e6ef27d9451b3ed5fe6c52c058f7eefd636172ffce547aeef982cbd07f3b45f763d8a014236535d554960dad97a9c1d6d8604789f069e3adde523ddd0605e9a33e3bee552e1700fd21f030e327638bb951dba8007b87c670ba3cb336173db7387c64de81f56c0a27a7d0a88aca5f6d7aac298ac87785c6c952188aef95406c143fbb53ae9bdfa18debe1188dbb6d1216d78879b5f3f1cc776f9c56f85da304e4490beff037d3656b6020c03dec0bdb6669393eca999be2dfcbea6b71ab09ba2daf5b925409f47818d26226c4a03d0ec7c61a66fc312f8a9749988de5f1b503ee93300919ce989e33c580dc10c39702505562967cb07ea1a97b755dff42e719abbe4460844b9f51f54a2735e6eebfc5851458e282dbb8f52c2df32d47363355d8902709040e5dc0b3c6b49bc37dffa123651404f026f6c7da675aa19a264be004adf1296402166e5760f6302bc86972bd4670e5c446dfea2c08300811fd1d3b3832d0129d09c396f6c544f59059450c479baa7f9256115b219670580a8c289c7d947fd83c98c05c6a8d809a86fd5428b92a61f97093ca4785d67e4f17ffee6565f236bf57dbfe65d91e33469aadc2220c57f6570c273f1faaa2aea88dca2b65c63f7c1f1e18876e665984402b66e342e9c36ca5dd05e0d196e7d3cd444e4868690fd14122cb2fd672d97c42906fde070c2cc9665fb409fa858d899e9cfcaa05c2b00f75cb280d44c278a3935661dcfa2e6b5d65d2b37489b17cbcb237cf37bc5bb4d186c896b7b7e5a4f6e63777cdb124ed71e714a35af041602b92e08d3c13ee57fa6ce0354bc8911777ecc9e2d2c79b2b77754091d72125208e4bc4a6981fc972572e05df6aa55d4793585a687b5d4704a7d3527aeaaa4cf2c6de8931e1cf9c07141dc3d01664f2b2a813da3846df6afd9ef782411c30656e944d57fd8631d7cd065d51f81c06862c693fc9aec1e9734bf234a2bb074b632c3726a3c0c9cdeb6be5ebcd71b7b1301207929d25d405297909012126b3b80d0d6c953fbbafe10be4601bc45c4e7c3ffae0d9abb1905aa65eb3ec9e700893bf6a952ad21da49024458a816c8506e378ae34bf055ee7cb2c6820bc0193099368a5721048f3cea171294b7d5abf837c5db004a633f5f51fc84d63d8acda31b930bb4acd7970a429b2fbdfcc809815153f3be847425709c574046aeca374e84b989565f1dbab90c7f8ec0c5beb4924f7bbb29d8e2405beaedc732e01e3ca6df91f238d3cfc79f856d6cec9150b41a4801e958e66c48159af5ee07792b341747ff3a83e1430dad2603313471ec3a269bd42e3076e166648a750b1569063c81395abca0a50c4286ad1b4ff6920072481914d12c784b1c95f8555d3ed415a6d4a0a63fb4e297f7bf3af8e1ce17d0f806031790814737785ad8b7ac9bd418f944ac6e75bfa521930884dcb3e5c55f64c1553c1e2377967039bdc0aaa7e1232a698b77ec9446d2d70a909548aff71712b2f5ed0406d4410d40f130910ece897f0f8f1001fdd23526ad2979b10f70307346b66c09d14d57ae9d18ac3566b3617ca8073d246ca300534a915ce65481d0fc2c063bf00064513716bb3f816d987b6d088b234b37f161d39f2e3dd94bd8f552a2ba5d392a7f90e81c68624cf85e0eef004e9b4b4175dcc2d61fb2266f843d30e688234ce5ca76e68d8917340beecfdc1cc9cd730f06868fe76ec793274714530729ed50a1270a8075572a0b42deacca5fff87c37e3fb9d177877ce6ca0e410e21a65d5c3e5695c174e65eaeaf6b57ca62a93798361de61fa824f36c536593c329c10adf73d43f46dd2ff496a35ccf88e1f944372e7cb38c8714dac88e9cfa4cb0f3fe046373035470a03555eb0eec2e05f7edd3be8c2fed28cb55dde6a22bda206baa403256d082d9bea81363470eadb9cb64cc70592fd4951eca4ff82cbdc73c7e96a4da3da511cd4f408d600630756668aefcfaf19978dc9f81c28c60e4306c6752df87c805708f85f709eb0869ba5a4eae75f167893607681ea1b967e253570e9d908b64da235c8a39e23f1b3e5ebf33f7d91a32344651d50594c4439765df1e47ea3c1cd7b638ac9017381e7a2717036b05e6406a8d85c86531d38820d2f499e503592bdd9708970d289de5940a345a43aeed4fc0096a9f129418d0e96b5bb6b24843c69588f73c1ef9c296a601d4887ea0ed748a0e7aefa5704f1de4b757fa3ab69031ac3615bfc9f0f02c27afa785767d34436b529ee08615379729f22cc8171e37e42d87d69a9978e574588e9fbba9188b756113eb0c3fb45025fc551db5801689dcc27a2b1133e8d599cb5abc805e891f21912645466a01dfac296eb196a3e86b51bd76a2ee8ebc52911b1213a397c6f2d34b4997f07340074908e8aa4e81210f5934c1e5ace31cf3b7c5fa8d128be97ef843689d5cb42254d0c5d0d056122a94ab874e9d81caa0f03e5369d4c50004c50a20e75f96a5f8dc7ec1d19a534669b5f6bb2d24ef1ff135776727e6499d0c2a37fd39afe13d4060c90c75a73c879f5a5bc2996b5d401b9a4210bc7f0c34b6b21156c39cf996f27133e94fe1a772041b789a5384e66b54c551b92aa8899f5ec26e0b5f15f63f550a1b52f55a652d015f0ad5d0a64888d48981a7e46f0eee3d542f8b6cedc3c0c40582388ba04367d60df5794158cf50979c0501a26477391a2cc4118c852bdd12b88519a53e2b8603aa61bfa0865b21c2196898da4ca8ee4a86abb5ca08c71bdaa30c046ff2ec0585420c8726a3e37383fae59ac56a5aec5c8302e3c89f75643b8b0701d7a66a47490635a101d521e5c3c7bb669b8b91190d16ca7025e7957a47046c6594c050a6b4732446418084960ad1136d58b081cee53c82060f7dedd681ca5fbbad30b79512ea1eb4323d9800c112572ae6296b90968bc5fdef5e351937e5b18300b4e2c3887af633a7d7a9dbe7568fedc535239501f1ce0a5e507bbcbba37fcb2718c16f40593cd7a59620d672e0b2f17182e2b94bb76cb78d570f281b29306504a22bc15bf6de704fdf8820423a709cb9b105e52dcda6b88de5f6541116a4eaf9a76989079e1ac8910ed64b5e5990ba4108e8f6b9ee528d35427a1ec4914b19621f4f28447119708283995a1b94616382d5d2bd194c9f5958e9f245e1d47356044fb4d68207ff8fb9162102836df4b284cae28589339530c3a02e04f9f76926127d2581320ea3c42298f601e07eb3b523a7f80bbed1581f0416a12b38e58b8b70502f3d3c4af7dd55cf7bb51249b33391c766d76d9df949c04cd0ee7e1b780724f97553ba14fefea33bdfd588d23f0ed003d1fb4abfcfd38a8df045c4ff9ef2ecd66e861448003a7a0fc5a9a8c09500609e455f357e65882b47bd66f4f23227b8c5362643ccdf3ef96d9365d33c715dd0d0b4bf159e7307ffedb41073a65d2af883844f07d74b6f46135aca4908e2ee2bf83f33397d92c07392115ccc8f6754dd3a088771ab9210f32c125707337ee8546686af8b46b27130c06448025426ee192dbe8b6f87acdbccffb2d14b4c05aafdaba05b6cccb7ee49932036ae249e150f89cf634204ca76cd957a526ffaac7b3bf312a308446e9424c06d3a6342d02c04343e749946f4a995bbcc32c87a020f582159e0b8462a3e777ee4b992ee0b291849d6324587306fb114d17fc1d75a288a2723101da375d52b1efa79d158444c51966784bba9689fe4a0db895de1783f8b60260efa191f01440e0971d501f28384ace9b4b2cf740441223af2e619353aae651beb8c08496d4990da24f30ff5ba4912c2a96b86f7800805faed860aa85f4ef94c6d495f63f34f4d59a1a0a374702921247ad67242ca60e4b37b45fb5755695ab5442d2cfb3a3300f28d832496329f057a01e5e670072e5c01c37872f8652e7e24a2fbdc9447a2aafc4ac203e88839419f488e373014331d9f1374f632424066759546d10f2a26b4ba780bb2a44f312be825ab197da7339fe4da91681627fb02cadea4d6c75360cee04626f7236c9bf8afcdcdb52f0982981c4958f791167424c801f32f29d115b3d55a5cfceefeed72825ccfae9e8092b67f76094c3c04003cfaaceea7c61f02415b06c497a7de6830323180a18b6bee7f14e084dfedd6b6f918f84825ceb07c560b3ae6cf5706a689afcf3ed718a6a7268e05826691c5af981ef6160e274dcf31683d310bbfad08f1f176de955626bdaac9caa0fbb9633fc5707ebd2424d8af9784004e5c45884c8fb8e33c10ccc67c2d0791ff27a617b7aecab168e8a205e358b271254fb532b9bc8fd2ac467e3905424ba31c806350a7b16d66df245e91c83f74877fa23b205890f30dc98694e4efbd659206b2d4a1ab13d51e54e8ae54e05e596c3f6f1a713375a227f2e56f53cd7f06c9e98b75fc9ae180d0155d5475eb6a659d0e91f9fb6da4ec3cf1cf90661a266cee59046895595b4917e672791efcb91563cb6f51ac35c381a3ddd9ccc77753631b2e0825642b14bbecb639a1e037ae9a13d616f2f1eefebc87ac9b0a8527ea8af234341e1816d90615ffa0616c9cdb51c7fedfa33e16aa45368d496f4b4ee168fc9bf7886fd089f0fe13df2ebe72f759a4097ec47dfe951304bd9ca1c10580ba06991967dc3d38a97335f8b1dec03570c1ed38768013ccc0ea056e888ae19b55fbfe86296462d3569ba272c0e9693a49165358c8d198ba12439b63ca8338580da82be5104ef5c2a0ab2152756febf228c857626f9f3821fd86198b8627f1305c64aaaefa027f2484f20c7588a4346c1a0e39b024df8b16bde6e99711f3f8b7e5b7a3eb1473b4697a63850f8ba7909fb145ec9721ea9d8c8260900651c21478becef074fe596e90011e4a67fe43fd22fa67aea1af2210d43926cf1ca6fd9489481cdfe0e984fe933835aba78c5d7b0bdade71cc39d235aaa24056e4c0a6f4cb096e87362515e7295c3265cc8960e7dff619dc6c14fd63fb49a7076a4c57b82d54de0cc008d80517c4066b3423a516ae7a116a291538515466837274b0aa182a6d532bd05fc7d3812b98640256ebd04741d2a5841ba80e66dd2477e9f8f3cc620d82d15a71cdd0a6d611cdb79fd3ad6c1995822066b16b514265605b89073e4e27aed962140eeb6c1e84ea0fc5cf3dad3f3442b5756eea58498efa4667de489bc932afa775462551e8c955405d3aa48a8b207c46fac532bed164738b92db394c2979fea189b85d3651901fa588ca41598cbbf4760913fdfacbe72ec1b0910a2f3d5d2c70a6154476ae5b675318b0d5faf7e0d27b7cfa039fd9b6ee4d2698cfbadb453d0e21539437ad0b97dd96babf71ebd40ade6cfb85e82df52c9623bd09e5dfbd8129513c5f14aefbdf582f798af02f8bcc2a53f875892ae66706d794e4a5a0fe2f2c6417211d1c2412da8dece1d1f991af97548cfeff0e31b7582f86e90844086e829ba198363385355258efa2a60b9fde9e088a8c97026b3beca0b084a54e3680db557e6f028e6c48a28a533b2c3db3a76aa8dc945c5320d3f70921201f85afd448806de0d5f38b60ca96e8d9d88e3442abf803d7459611b4dbd117ee4bc304aef898db29a282ee4ed02f307ef3251ec0f070b90fa5422c03d931b6f31e6246bd3027d309932254e4ef7c05727f22e214d89c705fd0b97103b62f925040fcfc8cd8c519ac22b1ceaa4c258b27d3379744a5e665d04b70309b7779568eb2e84505fd67c80e9a9d4e198aa6a19d8111ff346f5e79f2ca1c3543504d41301d310a54ba384f2e41e57184b897092d66ebce673108c1199fda1f3abb9716b341d654ce578eaef558b920f94a1c0000fe6a68fa2023758a6c39383f2b97a18c52c55d74eed86b77cf7f0cd64ffeaa72197711504f01e6be2950afc2b8772c6f3405f8d0886af53dc62646dc6074dbe06509c106e047d13918d16963615ae259d6cd28b80d052b8e57a430a068d904143bb09d4786989fb39a22191d8670db266f3cb3959abe951c4be8b2ccb60011dca65266a8d510f66755f0ac2a5520aee6cc463d6e10afbc9f5596efee343cb4124166f9d860c39141b405da229c947f3b6224612049f463b83b11920d5a714ff9241723696db5fb393bfde30394b37303d09a45027e91e8e4b9e7200b58218d728e755359e8dc171a84b9265a4f25c3bf80b4e72e6cb6cc322e89e892620bb64b001813fbe53d57c02c84d23b7db1ab9bfa2d7c8ff52ecf7a10473cbbde2df556c2620406dae10f219f271f3bfe6528c0b606a674ba41f405162c49583d41fa2bde8bfcba0b6928b014f9c8ba2beb81b60d325605bf042b23014112f5f0bf6ea1f7277ea4924b29e2e939f1328ed08f3daf046932a70fe47de306ac132c109292f12255cc509f7808e56d0fb1379f8d88bc5a331dcb19bf54c2aee5c63a7112077c6fa02a7d0bb040a42733243c0458bd06a03d9ae6b5200b1e02f101493452a9058a7883f9448247231f25464ebd59741843cfcb101de9f80c29158691d0c15d38ca7fb30cedb1cdbb4ab3d79654a592bf49419df251ea9cf249efb35682421a4c5610c46b15fc386e0b27b31a64ef0df47b97507ba9129531dc6b740ee7742e864db322e7e4d216c4907d1a1edbc040f721f8c236881575579bc5bce924c924e51ea3d2a00212e2eb4e1870f17d54882f7f7b29af7cf9726d967bd5471ffe225f4313fcf39c2918adadcad7ec364007dfa8fab9a0fcfdff929603b79d2280c0f0368b858cdec310d94b03785035771e59dd68cc39e9a1cb1143dae8f6f1f29573ddb4a2d9c000a00af63b03191567d4b73611a36123f0e68b362d56414f9755930b6d6466187fce1173cefde5a9b5ae9df26eea878dc1c04d4f636f2ac0425483608de74c74abc1f1d18ef6ddaa9f556e2f588258e3d8213f29d53cee42fe4780a20a63127a4a42bcd81b7c117270723a76cdedb7e7096051890c3dc95be841c07c30f2a94d214ff0b008fd3da44dc717a8a9765101ce87123c64248fc7e9b8bba052e5e336b5e81948cfad70dcd4e19eb835771da8e10722d22ca75f7c00b2129cebc95abaa9f97173bfb902fd92a166840f511348bef34f055da2130ad3af2020338b5798d9bf906248f56e053a2e1e0d9be2b4001866e68a711cfbfbe1a680893e922aab26c735ef46a4450d7ff6192407c64242ecdc6103ea777fb05a20543a4a3a9f10be59dd8430165f792d9370af01861be1d3699a79dff99a4d187be0a5ec70ebfec12b26ecd245ae63080c7000201ca0cc866df2bafd73e73dec016c7b903cdbdf0bf5a4bdf807fa8db4b60921846c42f6967b076c0b650a520ab7e36cbaa3ba5a8770dd3d8eebb457b51167599665b52629fee0ae558831bb9dc69ece59ec294b2f24bf6fbb2d740b83827a0d7779dfb69a6df51671d7de3d6fefda8b37c4a01cf106bd7446dddd0cbd60ec357282f88c24ce6e11f7edddb508eb9188c99f7944db9e5d2389b96f77951d7bdd8e75d7bce07abb672389b563a74759d826d47b76b609f5662379b2dbb16b7548f722edd6d38ac4c35d77b3058ef0f64a297d5687e866318833ce660d60ee1d8cdda7bc01cc9d3bac4530cc4d9c7578e37e84bb77dd5db130ef3d01f3de3dc29bcd1ade6cde8e51ed086f1662edc61be20fac6b21de108360142879fa0a863b9e93e8241e75d7215f640f9c3df700b17966a9ae619df76c83a10aabeec7d91c203eeea7d30df265a7ecad0cf6d098e1140d8ce10f069958cad3b9dbb40f77a9c292bb41be8cb3139fac4e768d1ad34f69d33f3acd236dda47a75bdd3aed5373f92f75f3114efd64330b9f0e65f665dcb30a673048cef371964d9cdd7c3ace3f9b03c4c7fd7b766abb2eb3873ee83f6bd32dfa8dabdfea905aa986a2b1b10a39fde642f2c4c237176a9bf6c1b9bc1460e19b775b1dc2b941be9b77d1c3b9b9d5a94420beb9546c4e2b95a4bb6cae1396cb4acd657d3008c4f23dc627c3c41d3cbddafce17acee618f287e9c4f459c394e6cb1fcedea56cc4341676ab6a290bf187ca7eb2f9089f1ee5c97a97daeed5660f6737c8c73db35eb77a8689b9771c778de6906dbb3639407c193671d6d8359278cec7d4dc84e820fcc9dbb66ddfe9553d40e8e0230c42d4d1773aeda365d77ce833f603965f19d14e8fba7cd69ee96bcd21f44143636b6cd69e7aac48e4b3768a0496afd962088c793aed03b15687b26b96bb997eab426ab4cfcb8a44bee6667aed5d9160ef4e9e0d76faf8d348ef347695fdf44fa8358b7aca66fafe675746b0a38e1d7557d957464ef77eba3af70e2bd193e84a821000f9425d6d917735dc59ce166df7cbd8e9b5d1a415282d1f67f7bc670d7b9ce73ddb604f7b56614f077b37679f47d91c203eedde518f361f47d40df269efa287b213c3aa9daad53c6b633922106bb7eb104a6f76f919302c67cbe328af11867b4901ae76748add0510b0b4516336f7e0ac048897014cdf768ee956b79d63f211a6d409c6b23138cbacebacfcb4334cfcd1b2c5c41ffdf9c9e5cb0a20f6708c638eb0d462c3f8f6c9477ddfad48a3dce2cb10af2f2cc07d2f85e1eb0b0faf2f48605527c9be91c47da3952da0c0741e3bc46cf6ecf345aa90ecd3c7b42908754bc809068938be3fd4456fd60440d71378c60b09a93eab776618f60ca35666b6db300febbe6ddc3dcf6ae7b8ee1b86bddb38ce6adf8668cf1163187621ec31e96555615621f2f4b01a116a0f06b140c41ef411e99df9149b8c0f66471108088ec74ec0f1b208f4d1758604105003cd208da410f925f18c338c2496d70a8615009b32c3349a42e29740a389e38d28e82ed431b67a6ae8e9927b84116b388d617261b616563e2ac444644b14b9458aecee6eecbad02d185e607a41767777376d79822f0302040512502cf1821620c05220a265494b171d28bd62cc09b4e8c00402d445f2c01c5c80e105a6175c20923fdb7581890c6fca1d4409824d13bd5a584ad24297178432a6259a29859e902279e00baf2050a61cd04caa2975c9ec0bdda294c2e0c20b4449846078c1856ec5a517130f0c9b30c10b96c6d4c0213546cbe106422853a60987323b7c2982135e9cf8c245b13dc1648407851ee101c1e57b12040770df930d9a0ab448c10b86a0c50363ac0411c414c2892916c317930e4028b3c1e0258411817513514a29a597480a59b88c6a7789d27084c3162d6364418696241c5c120c2ca54c81e3ae9014da5220d2b22d445a86254981880a5caae05205155a19636298f20aacb33153f0d053fcd053aca0a718029b460d999090906ac04289865eca9ea528c6340f8ca24943fa9254519a470a29cd437be69cd385106c5b44208589524929a5544a396380432991570a44969a7a8034a79c73ce49e59452524a29a554d21e15a0e40b08d05294252944356c19a0944a29a594924a4c623182534629a5940755260fae4c1b28c5a644d1821e7c8087333370513198522e555081697663e856068cc618752bc6005d903fdb8d41f2c4c72029164f68a6bc2d7461c25c0883521ac31564604aaf51cad4e22245729922a59107e89622609a8118ba1583910b2f9c9e08d3a134b31930ea5694f7b3c9d24319ad7100b1dda04595257200250446f840c41760b2f83041c0822bcea0e0891731629009f3e58a25ac89981e3852c408ac20028b165ec0c08b32b6287106cc152f21c9657f0f5492524a29a5945963dd9448fed02b24a594520ac914a494524a2934a78e500a4454b862296b6c8b2ef0111050ba6811068c211801c537c5089ab041173ef090d40228cce0e2063ab041a2ebde4204eeeeee2fb8fb0a125c5143777777268228dd4a1c6861f8b2220b2b9ea8b2d4596f530a6535747777192fdcd89492040c970083085aba8aadbbbb957ac08d02c19213a0e0073140410cc60801660a21789dd49d04163d18e108254062083d703511a0d8a1085ac268010a432880d0810bccd864606eb029a6b09953245123b9247c9094448808eb62c8a50820a69001ce3d5a96f641f7e8d1437b46df6554fb045418cb42c0058c18d8a8f19202600b1cc3431c21a0c0f055058909c3579530b89b609088e33324dc67703ce4be9d68dbdebdbb4db86fdd76cf8b5db6bbc4c531b12932e1f82e82e16e54923c513aa9ca9588650a128ed7be1dd6211996b0d09d3b1177585958b1c0ddbb779b74e7eeaacffdc8055d2b22eff5d005eb12a27a95707c02a0cbbb3549f71511138e6772e40283e39db8604db2ea4bb484e3b9eeb21dd61698748d65bbf12579e2853a4fa525a6edda35251cbf6ddfc0605d6212ce5309938255c1a64426f93306c7cf2e92275ebb2b16b473e76e93d984e3a10bbaf204b3c264c29109132b2c443133d80192cbc90c821524f8c5b5dd0e389941b082e442925ebce001c9b57d2ec99fedf1603026cd6edbb57b0532e13c953616b46f3d384fa5044417943cb985e792e489792ae188852988097650e58514b19c9a88620751905c110b8eaf1cb14871842cae20b9e8e715a5241c6714f93ca5e038a7e059a56922e12c5f5889090c1cd324932492ec26f943b3d4c3172457fc54923f11cbc4325f415b62f072492c595ea137f7644db99bb09b2798a9246f9e5dfae6b984b3ec88b67744d78492101e0d22a818be9a0062d2f06a8203938932e80e0c9b50ea00b6c1504b195db4c65aee581844047fc433b18486511dbc78c134c35228620bee882e517a0023084cb88086294370c14b06b4084400f500e9397d2008482b48e20c160841072caeb9c5962c2ca8c1f0c5840d2ad05618be960823e4e5eb4c8aa047a34b1e363bcb328d528a654b2481a2994c21c3926859966559a6d1ecc50414d84d4203c3d71255a81534d02590b01386af2c61e890c58bb9f44a22448406c357162b9a89171727cc6cdb15597021c8b2291f18a20a1338f0411657f6658a87e12bcb96e94457842f0431b0a1072b88c00508928490e506225e5972b0654a18373031b302140ca1c4a5082782a0654cf77d5972d085c3704b161fb62871a69bbe7818e10fa868a164032cc030130257d40267551048d8e0022ba68889810e3c30690143081b0cb728b10454a93e15608c1042082584b265125f7c63d1593e7908443eeb9eb6e762cff3d9a576d21b8f5996fca4cf73ca174d793b4ad9a757d5ada8ddfc619959d9936a361b4d1c738dec991e7db3885ead5b2db3120fb7125f1f7ed9135d86a18036a54b403d4068e6c36910460b1528b8a2073a00210ca644498428a574891f30a5944aad04945671451729c4280d410b332e9a05a674892a98ce9be50919f8c3f0b5440e38f7306961620af956b71afe000bb55043010193145a7001821bba70f50f70ffeb2a72ca6439830ca52dae70e1f212fb082c708e1650a94199194451c4075618bebc9881079ed03061027cc250cb183874281d60395057d5212814eb11b3eecac8ceef776e77a1f4124942b9e12e79ee36ea10d74ded53b9a77e7a8b31a6bb51874ea7945571aa46ead63d7d77efe9f49d437d88e65c78c1f0450431e85518729901160c260c1748b8cbbc6bf33dcd3b588b9c6e3ec2a77f5c7d5691704fdd8cb2c0113e7dd623df4faff7f55db5fdbab6955287f4dd36bd5b2475ee30f5fdf45ea27db8fb6a1fa5f6813cea50ad2c561dc27134a739ac45687ebaf9bb0da5a3481efaae8b55d6f0b1809a2279a8941ab286dc4998fae49672a549065fb0b44f8e6090689fdc503095d253e40f7d47913f312956d82664eedad8a22110dbdb775d01bafac236211b353e3d36758b3ed623a75b746aa423dcb9f8a1de6c7fbaf14b1c03a57decb569c2f4b733345e1d879da171cebb0846fe744730114c0cd357da27d773a97fe76c5f39d9aec2bd887b0fd12d7a30dda2ef2b296bd4b89e83b87695be4243ee2a48ea5343b44feaced038f5d3e9fbca964abd12813875a52caae70eeb917ae3989be3976ed1df5ca89b6a5eebe93b8dab76e27ed0c7bd8a14303d04e54e27fe50ddc92aa179bdf1939d41497dfd0d6b44e2d369ac129aaf96d40b491a1bf1c9da78b58d6d54db98c6dab81180ddaaf9c946acb33ac4b5de20df6a55a3468dd4234e9d46ce2156a96e902f27070707e7ae8c447cf3886f6e8ed8e616a5ce3d7ec1ea91d4b963df5054ea16fdac43a9693bd09faf364f5c7fb279e2d3ab908802527f5e28b04d38bd86bbe6ebbb16e19efa3eadac8c447c7ac445f534e7ea10f796d23e34a7ef1feae97b4afba44e4f6373a67cf510d39cd6219a1be4abb85ea31e92fa5d19c15ceac6a5d8a55bf4281bbd748b9eb391a95bf4f2c9d7057d2da55bf4b07f9050be1cbb54913fb14a952a98bea5c89f882562c1b4a5607a252528b64df3395d2a1a162c4874cf299f7c3956c1f4b14afb70a78f43d0c34681fb6c14bc73d71a85a4bbba73f71a85eedc671de2ea900c49e2e565c28488e4a107ea8289240fbd0c09802e21c943bf2401d0d5a7dda18b7acf401606c943ef5930de3b9a01c943afd9e8da2c74b545c2f4393f50b9d9ec9ac51eeb0ad01593240f9dcf3189084a94b2e2daaeb81c1fbeecae2a7657f5ae88b22700bab2b3105dd8a30bbb7757dcef8abbab15faf32c4449351b5db01fe92d92379c34d6838339259c5170c3203162185f10c208217c0dd9b891b4a42f8a94a834252ee10ca920dade6d36bab0a64c49f2f435edfb54aa6c8afcc196244fff2f1596ef0aaea26958950fab32315b1fab101c10572b43c4391b8397c6c81fe8ca9a906812ee4c49035fc696906414ac8afca1e149761a3aed9a12e729bd3cee85e534dcc322795afed040ff24d32e5645f2f46d422f764562559aaae03ed6747b8a76493fb367c7b873573bbdd815a49924b15cb9227f32a44f537d585336a55aac095b8ad0f5cca5045d1af8b2649a493389665124d39214305da68c61aa227f64d3c4c6489e3e96292de1289992fce9219ac8620b13806007ae7eb6247fe408ca2843c5052950c2d5cfbac89f58030e569cd1744615ae7ec6247f00e044098270460d4bb8fa1918f9136b406687a43174409258b0c81f26d1d529c99f25f9a3bd2fbbc89fec7d1945fe4829f2a7bb0da69bd2dd26dced31b2ca76bbe97d7965bb4db42b919a645726499eee2960700f614d196bc27d6931f0cd63b964e6238c5d0b3ce69eb2812f3ef7141a851e4d4963a683acfce138e5738fd6843cb16308be8ae16b0ba62dbc7c2d6395d92d3ba3dd9f73b294f4e06e3b811e3c6fd176eedc37ebdd4c84bdcf3eb5ecef529ee0527722895d7eb6da2ee3fba5fcc9dae9989c9f9fd908cbee59253df936db5c13f3cdc3895dacb10230798d4de9b46cbe9738c1d86b6070621102f290a5695d5ef81872a9628c2e57700f865cba206130530c813dac9dbb18d8040cb95c8104e672450eb88521172bbe70b9e207dce1eec60bfa787e5387b477411f8d3ca32a61e1d4bb0ea55cb8aab334d7719a9aba0b57619a73d608c33a0eeb908e9e3342ecc4758ed68e9b43d66faa106de718d05753bbed3b16c8c6a22c9c392cec16cbc26e7d37c317de7e63b79a9ba112dece73ba1976c1db754c81b7a7b6d35828f0f6d6f61d168b1fccb4aec3f1fe6ec16fd83b8ebbd9a831762026a62e5d96969494380c67fb4d1dc2e3d855338c0e9c62e698ae431b666dea107775e4e9507e87327528696e92e44f7ce59c87c65babefb0711d389ec39ef5aea3599665464d21095946a9183897702d2321f698626210bd4642f4d1e3fad0789eb5d6f3b7e359a5e3f93958946a94c219669689d81c133512ba68d447326dc334edfb54aa564cea320eebd1dda2ecf1dbbb8845ad47d44ab8463db17657f4d8bb26d5736a9c86ce57376ee3c7716fe10ce3e358771e3cae8acfe96e7e69fed46f7c3f35aeda7ef8b825e070d7c76fb813f71aee1ff714771aeefeb83725f8a0d8144a69bc53cc0c93ea61eb49b0dd85240f1e3026c99f9d37cfcd5aebe60ff51d37ab6caee3e63fc7cdadb36eeed9b9b1e9dedc636feec1f9cd2d1c37b76c6edc7c1b371fa573b36a75b3aac6a5715faa9b735fdc7cd6bce70f758c03748363a1e4a1b1b150f2a450164a9eafe614b36fb788e6282606619af67d2ad5b7d6b6d16fddb77b8be8b96fef22d6dd1cb5dc83b98d7b7637cbdd5506247fe0c669a71aa09a9b7b7a5aad78f3af6abadc312540b0f6ac0408de5ef3dc83bbd7c801e2f43c71f7541da2bd688bff2a120f6b07929af67d2ad5f106d4c2db730b67a0ed66254030f79a9b7b7006c2278d7bbc534cfc81bdeb3ec5c42088bb6375a8e3284729a5f442cd71778aa114497729ab90eee6ed55c876edb031bd534ca7d28153cc1ca332a3853310915430c8f67eb759fae1dc3ce03ecc368b611a30c800a08f7ed0577359899ec0cd4ecc8a0163137390d3b69a73361bb5d1145273ec3a2c333a6fccbdafc3ea5ef30eab439a56a3f1f61a75c8f625f2021377d768e2ec76d3dbacc43aedb3bd8ccd7652b71aca661bebb44f97e171df6a9e7570b3b04db73a15ac43dd6f260afab64deb5677ce2ae9c1dbed2ed42cccbddb26c0c2db2deafe3db31360e1a29a6fd72c15ef5d67330b77f6fb66330b6fdccd2cbcfd6b923cfd73fa0e5bb5651cd6944a923c1ddf65606ff5e60f6f8f2fe8637b4cb2c1dbb7633789e39ab20dae79676b0eeb769bb7ab84856bde516fb31077993c7153fbd4bc1fcbf48ff706823efa35d6b39cdd6cbf0bfa4ef5b00ed5ee0d03c6ded9cde66fdb6897119be4cfe4e8e5ce3dd621ed3b7debae1db34a5478db3c6bf3c5b73d7b783b77ed7d679898839d851a6c4d49b7fad5e274389eca8b558818b8df667c4dfd9e290d68f338db607cdcb33784b3d1ded1ee743b51f14e25e92eefd88db51ae130e7d5211fdcce41cc1d6e1bf7cdc23ac4ddd979168acd6bb80bf5aecb344dcb6c5185359a96653ce01bad06494d576990d4dcdcb89ee6e6eebada611eac4324cedbcd136ff9c3474c9c705d6e82b7774698cbf187a29a3bc19bcd12739fb588c45977f311ee30ee1a76a3c6dd5d22718e384342cf6945d96bfe7a58bbc635dfb05c2f56f3ae8b580dacdd3d92bd063b67bbf66ae404f165a3eebc6fda2dca5ebfdd48e5ee66bbbbaac7de71df6e2ec27dfbf6589170dfde424c8a41dbb50bf176d3fdb339e2efa83a44fb768bb6d7fca475dc4dfdcc61d8e10e77cf30c88b3ffa27e8a39f250ab6fa9c5d00e4e96f5601b0d59f38b8afd9c848c0b19503005b7900b8bf00b80491bcd9040c5f585e6b2d738231489fe5d424660314259ebcbc40c21b862f2f86983ddfddecd56f37439b27ee7aba006ddfb6ab8457f1bedec3ba5140855737c38095a8f0ced0cee4c0b7f36c678659651d8a37c88759f684bbf35887ec7c09dcb9d4661830853bd97bba45b7ad8b1d920fb1583b8f11f5884211b54f8ecf93f09ccb42b273aa69dfc7ba45762eec56fdfdcee3b39dd3772cd66ae716a119f6e79050877810b54f8ecb2346a2d56115c283070f1ea7fbee1e768bc5b2b9a7a75b2cd639ab491ed685dd62f1f80fbb751e3cce8307dd393c45d63d6de74479f0e08183c73b1bb4b3d416a9377636f27faf12d579f0b890e46155b761f31116fce3f8b14fd4254ac226ac7a1c8af6c672afb135a793f6ed666d9500e8e2ce82f7d36d628588bbc75dbb4c8e5cb01291d105abea1076f3d16ab5823c7716fade5746e2b76f371f75ddbb1acbc44a92d36f2e939b9f6e93d371cea4e64dac24391de74db4dbdcb3abeddea18bb3abedfe1b12310bdab9db2475ad24c1f9e9df6d62738d85d3bddb04e7a70b75ac5c9886c0aa57329470013054828ca429387b978e7ab00e1141a9b94c8e5c4cac6caf39f79b2437e72e9323d78d126334611d182a31c615acc41860b0ea71b582f6d31920cf5d933f272e32c03bf72438dd719278e72e93e8f27ed56f81322fda7aac0eb5d524cf2fed2f50b7a6ea0a69de2d90ca0ad5044017949adfd818562b68e7ce00798ffb76671512f1ea9ccd4f370977ef32c1f9169f61cfe88a28758893d0fcbbe499d73488737ed050f5d1d66736c380b3a8e33126d1beddaceaba9b61c0f1e6edb4cb8aea55bf3bdd75d8d365c04ecee373be7ab5f968658d44ac7a6621a6d1e623ac52bdcbbc2d4e8c69db6955e1086fb40ec14e3dd83e37b0184060d81a2452bd7b07592883bbf384c1abefe0c2e405af1edf755dcc316023898b767cf5acc1f6e1794bc7799c84d7c801e22b8a4185e3e32daaef5ebfb11e779074af2b7a069cce9d01deb5d76ccb563b7745af76e3b7ec2c9be9737e001ddfb95023a03ebb39407cf5db6bc4577b8ddc77af36c380eb5d658fdf596567bdab7595ddd50aa7734f9224061c1f03eeceba19867a21596da6b7116dee7e6f0e105f1791e878768b747ce716f1bc53a2aa57890aebb8b35bf61bcf734e82cd13b78e5523aa779fb508cf85ddb237eb74ab751e7776ab75af73598fecf8eab01ed9b1c3662778b5d9cdceae7a415f8dd72a249ec66b2da2c2341e6d0c2a4ce35dd0a7a302567fa2f6597dbe8b2fe0ba7ad723b9fbf6b8e3e62647b67ab3ce638e9b8f602dd27875735ca873d81c3151b7fef8b8bacebb9525ead6bc8e25d2ad7999c3b752a15bf32b16b21f0a589170b87eb3ff8ecd30e09dcb3af4771fdef1ee9afcd1a0e4613d89f668bb5fcbb219be84d0bb75f1fbe9b2ce00edac47bb736a6dbd505316eb9001dcfd30eba7cb007ab386597fcea1e489f748c4f516fd5991df7c84e50e146a5c6fb7c3daddef60edc49fac863b56972d708459af7fbc377facbf8954cfb830218133e9c13a84757363d673bcb3d166221c234feb3b7eb2da77dc7da785bbd31624cfdc79eb50feecb887f2e7741d3f5928795a371fc71db785eef3eedcacdd9b3fdccd9f75e339ec127ac619679cc1f17d6788b89e95732e6b91c6f5166dcf1eab11d5b3673fea7ab3efdaab36cb6e731c5a9db3da4fd68301c7535bed0adae5ded924de3ded449bef717cc76627383bd49e44bb494eb7059c737e2f94372b5161fb9c0bb5bdf9a8da88ffdfaa8ec366219cf31b3613e19cdbb019069c7322eda333bfb210abd03fd035dfd5a11a37c847e35c55e108d3b03243c4aacb5ae406ab2ed43eaacf77af363bb548aacd11abb6ec59eeaeea6e7db419be70079780bac41e0cd48a5985af6a454e76657045d283bb2f91b8de1cf10c137737c7808da61215563de72a2bd4adf91c0b24c43ca17db64b0115de3e0fd43e399f17f2ea50ce0df2e5580de3d896e499bfb12ac9336f5363b94a04e2ed52e1ce552a497771d789ca45f31c1f3ee8a2c9f9e1832e9a6b057beadfbb124149dd26569268e7de6485bafce92bd44f97ff6e13edae50ef7be7ee0a75572bc89f9ea47bbbd9397bbab65a81fbe949b89f2e132bb53bf77a9368f72e93edd1055dd4e6ec1a4d8c1d9b374e68ec4ec84147056995e4758c952a6e704414242457bc4ee2e3b502ef24c6129e0c414b121123c8224b0d7a3082520f5d10218b2d1df89e2882077aee5d9158e0a8db2c9553d25d2726289c2e132bda9958c97efa76ac1e811575588d74de855a43a1b4a36e515f7b264f16ba1a1a99ef36eed9219751cee64cf9b2439cc195119c19b99d943af8a18f759103862f227cc15963c24b17bc95098382872c4dfe30d12e315aeb11ec16f59bc9914b83ddba32b000a5a5491ec99d059426791a097678f346ef5764d315095644bd6ec163f36a71c26e49a56ed9d961f63e1d358f7a87eae269b34c84cc7b17360aa9e76715497698e5bd674fd9a4bb524c50485d264c527702db84efb04dc00e9fd523fdec583d82fa693bb4dc31db9d5af9d4503d82f27efa9cafd6b31077dcd64d0fd679f31113bcd523f05963dab1b7cd4cb051e339e127769833e5c31e8d1a6719f6799dc4a353cf1c700105466172c2193a07882fcfeedb7508161f6b11f918cf04f7f384ddc2660fc57ba683ac2ca3284128ba45e13b8e06ce1a864418024b24fc699a86b3d6dceda247841f307c6d3106ffc0f035842f7057691ff8ea02098cc23c6dafa50dddcd5deb1feeb0933a6968b5c2bc499105283514c0b53d29bab4cfafca10ddf2389b9960eed5e6e3fab64cac24e9cfcb64beaf4af2d033e9e79ce05b0299709b90b99f9e559842d7b4d095b2f9989e6c6682bb8a5163ce86ab2d74c17a2422e1ef1a6198bb7d453ea9af9143fbe0681f9cd3779c55bddad383befa201c36621c1bf16dc4356cc4b0aa6ae50ebb2ee8fb0eebd0855a15876c3495e916a5393f7cdbb5cbb7207968ea45dc53486088214ee5237c3abd46fde9dde69dac0eea3a8ff508778b20f7fa7a83890c33a06e44f3d48d606a8dd7b8ac47be54ea08579ddfb04576090e5c64e310d7885176090e6c43e7581d5afd646f6bd838c686eda59e22c785fa74aed6a4fe615ed0d74cd8976e8d11a35bdce9dccddc4f378e41927abd3973d7024798e6df53ef389a7fb07d8ed4dccc61f5c8f73df514cd53b69b7a8ccd4c8a4e47c18ae4741a8e8693367c3209b56d4cf24722491efa1ba7ef6edcc0398773ee43a06ed87ce38644ba61659244ba7143429148326975730361b7b87357e2bcd6211af94ce35d91e09cbb19e75deb7d8aa873379fae058ef08dd7eff543a72130eaa79f6e3e3a6abd621509f77af377247533f75c8f3aaabe2b921b454ebf71733dedd071a1ee68ea696cc49d959a3a0f0aab7a656021becfc27c7cdf26fd789bc4cf376112af95effd79add4a73eeb91d351ef3e0bbbc5e3b022d93172e334b788fb8dc35a73a1febee3b022b9ff8ce4fcbb45dc735e6f2016923c6c2f59e8e22cc437d6c87dcecd47f8bec61ad9f98d9b8ff0ce533633c139c75ba8f3d87c8459877588d5b23953be1c8738c777e8b0bd445090a2079e1c21263d11136d78b245ace1899748439227526c3342c173ce39279572ce39e794d8931d6cf1c99324b6d8812758b6c88127446c2d38e304677830834399271d30834c1963c810a1298b2350410614636411e3064628228c2a4508620c09c0f880980e40f9c28c306178c145174c5cf8000c172230310424b62d9218b17dd179c114029e73ce39a99473ce39a7c45410041fb4d8818903380081034fb230e30746f0e2051642b8020b2ba4e8a2c50759aa38820a23a67881142a88c2871eecb084030f92407ac2c58c2d4680c20b2d42d801164f48a1a4c5892c581318c3300cc3344a310cc3308cca239830025b02631886619846298661188651f9822c49a40af09c4ae039e7553a934a39e79c734acc8724ced8e1754601ce40e10c01ce9c7026e84c903303380374e6e78ccf1913ce003923803301380380333d677e9c29c18c0f333dcc90608687192c341e3352682d335ab41d66b2683acc1ca1e5306384c632f3026dc78c0ab4ab83750facbbbb31e9039e73ce39a99473ce39a7c476b8191c70987972c30c1b46d0f16225841a58d09042a525270bce113746d8bca04605343ea476f8cae0802af3e464463582e785d60941e3bc6c54685ca813d90bb3c18c815499f102daaaab747aa8e40f91192ba044aa169692f4f8680fa2a5d6cb8c1fb456b7624b9ea982cc15a72aa880d9c814814c0e1d991eb2130831038f4c12da8bcc1394c3f04566a9cb21ebe10442783378914982cc135b7464aee052059517193012884710838b1863cb1c5e4d50b2ef07ea45db3444530d641393132c8032e5bd173ef86a5ac2187e352945cb858a19744d633a8fe338aeeb9aca24b143982d880f44c0073ed83084124d9c800611c9094a51c0428528d53182105d165a3aa625224c5a813515c2a250da43185d8cd8620b1d6280838b9e518216889208695150aca7a394d20c3b82164a29dd680a270c5f473062cb18173ef084866c1760e0360ce3ec0b143b6366370522199661594629a594d28c62646c5bcf2ccb28a594529a611996659452d9936549e41086e3b2ee9565599665dcf682a68920cbb2307a80b32c891c7a80390c93c8c1099c352a4f419cc1708a1a1c21451352c0c0061d9030f8be6ef56b10e0cb2d166e55cc5ad4a02bdea08b18ce1b0f1b4ecc085fe6658c34388a4698228b18acea16865c9698200bba0a7c11f3b2ec734e251e9634d3366e5ed8f396f041b142b99b79dcf6cc9d5e8ee3b24c93c75a896c62d28bcec7076737833e4cc32e15f999e44342424272c9dbe38362a5612791f0a5e0795ec462c5823e0cf3304f762a55b766ffb48737abfaa8f8bacc0bfab46775488987b7677568bb36dd8a46b8f336699578f86b4ea38087b977dfba2e56279ecbcaca8846010f7b7736b4f2c553cbc2b0fb6e1df165adcb229c54fa31be2f8faf67e3f95a432256754222ee67514699656d7768ddca3eb1278bf822083a1ddf908885449ce383b4637d705289b26dbcf76bdcd92c0bfafa1d065b9d8fb0ec4b8562f21ff6aca38d54a7f3c189412058d74624ee4f18fb4445d3ee2a7addc2f0d73ed1476a5efbd06b5608c6b05063b7e85d828ec607c50aace12ed82600c1b9b1f94e4fc2e07e8fcffbba58cdd404c033645ca002314300828c182e88a5bc6e4d027cb9350fd45ac14fbb4e88b88c06e385c243c45286a05be16b0cb93cc1810ec22011ca4ea1ab397d50ac4cecb7ca1b7c9e8dae83fd0385be86bbe8b5320f0fe7b3a259e34566d5ba65e58bcf5a6422e893b736cdd3f73be293586b1f2ab17be8b80fce6d0ac66af63c000f881780cfc747828d0e1b56c681f978cf25ece09eaf83e15399cb520727061d1525fec09e354924fe80318865f3c5a0566e9b18d423b72a06f5a474621090eff9310808f5dc314a0c3a21fe383d3726128384e20f18c4057d60cf8d597d06c66e434613c65e7373f700a308183bcdcd3d60bac0d85340b41002c6fe61078af00a14f61322940263c7201518fb29f60079b0571b77802decd222812dec1e198cbd0b0363e7bcc0d8b72f187b843fc0d827ac02637761c72ed4038412a34033183b46a4312cb713699f9bfbdcb390e6b2134c4fa461ec13a5926957c3a66c5cc01003c3d7182838e87bb79a05e463354fbf43bdd53edbedaba04fcde375a00fcde36f60504fcc39383e057dbec773d027f578097de8e34f300848a4300828fee8ab9eb79ce73e21fe680c6f45f1d987f8b6ee9e182484f31b203128859bdb00c17da0184424fe689bab6e6e7c420c5221fee82300fae8e79c80fb42b51ee7e64e81bbb93191ee7dd8dde6e6c6357603b0d5a7b13174abffd907c0563f651b1017005b7d0478efabe0bdbf81d31bb66a14721ce3cd9dfa7755fbf489e255752b75737c86b23962d43f2b5112d7eb591926ce7029432c320c02eeb7a86684618f8f77060c6757e77ab16a56e6a522dfd7818735ca4bbf6c836d6e2899ac09c3571849b8040c5f4550c2415f84378250cfef1c1a18da981f0df78c936d3548157fc8e7fe9ea7f618148352979f3108bb7c1683e8e5553128bbbc1683682cce2a2e06a502e0c520ec42f8239380a50ef421ff591cb025e55116c21fd84f56beeac0f29e95ef7c6079ce4acdca9f6210bd30fec8ac2f0665d706fc216f4fb041c78123088e1b370670c3860d201b3a3a3f3aab95cfaa460d136ad0a00184864a2500554e4e0072707000807373d3736363f3c3a6a6a6841a1a1a1f34a9548fd4f791f0a1503c50a713cfa9d656f5bc1d5ed7e9e8382e07b76dac4dd376344a2fcd328b256e891d63b88f030699574ddcbf2125f42171df4637f4112f31f64e7a7d1d18047b843ee2651dc222ec13843efa96ca44c011b0ce8b7da78e874e48c4f383b41312b1fce4f4b4f6c1b0c78b6118d4b2ac5b11f7a38518866399eeeb96843f973cf259d0177f9add78fbc379252462ec6a1e9e37ab70111f7cc5328a8005c357185230100c5f6378c0b016c96efc60013af841b122e797c43330b45d5c22cf2883e31911fa6827484898de085bd80666fcb4452612128e5786ec461a96c1e8c3d823fc819d092e22b1acb2c3a89da1b1ac47a4ec284f14d3bb44e20c93f7ce2cb60e30234c88fc92026042d07c20c6d8f225c1b8724f41cc7958e1ab23a6c1f005c6528472629172421f34c3a66c0f8c2f587612667460401729f05266872c40d0c28c571863a8c6e89e182ea1c30da216a50f0a9c81618355820831468811b302dc61c8c589305e30891308e0c30dacd8000b2dc030518618241b94f404152e882843cb102520d3f445174efc0b2c9af0d107780073842c6a70031328a018bec48011e38586070770e1822f65b674d92282235081254a0e73f2e0cb0f5bb244b9414a0c5c938c1188f1f2c50e300d865aaaf8c1938d8c2d4c5ac43c0114a6e74bcbcba75041b1c409aa1e3a406cfa07da8e314657d7221ec6a04b48fec0a0cadfb3f6fc3dab8478112d1bc424703f03458141fe440f409e3e777314016eede65802dc60e6cd11053209fae84b117c19326190a7e2f8fe0bed932d80adac45349c3780e7652d3231f66e1e4957173d287fa40bbe8b55c87481073aa0048e7009c31d8dcc9c73ce39e79c737e11658c55982e365e61a0f05218bec21cf1450e7ab0eeeeee6dd61ca017617cc9411055249541c31845e400f79669999665f10633b83821c6035434a5408c2f5af0fa828a5096420f10a2165220a2c210b00d864e708101ce3d4cd8946ddb664743c34656419c6dc61f4132a769928419598df30c82b0d593e306ee6b1107fa88413631a80750fb40d89237d3c0f9c336fadff7bd3ed041566e0f068149276098e12b4a0e1f59666117ecc42af1473f5bedf957742a162c2ec528966250a402fee8286090e803e8e34afbc42eddf22216f913991a0bf77933aa4f7dd08f54c0a058262645a9e20299f42c4a9467279b02f4d18f5ddae71599e4cf10e4e91884e18f7edfbb79e21cbbc0ee661bee66d47673c519be0c007dc433439a7cb99190aeddacfac190a7ff84d683cf0a95165cb48a807bc8642021e8a341f0f5941a69142f2f966010b83d9bf0c33d0f203e0700c32ea1041280703ffbc0f03b76b000a0237bfe6df0c0fd8c83c68e8a068e4e108c3f320dce28ed9906c31b1c9c7ba874aa588a43390d3286684600010000f315002030180c08c5a2d130ce13591f14800c81ba5052541887822848511044518831c62806000000100090214334e3002c9f71ddbd8797bac60a025d6eeda8bb8763d9e65f4202bc4f0ec05979808d8614689c23f580f78dfc8fe17078a1da14e771f72cedde779712f1d2d597dc27b6ea4923e6ee1f61341f719324d15c91f37718edc7b9249068568cf96f28cd8f58a4136957defc2384e6237692649a2bf2fe0fa7fd3c970412cd8afc7f43687ec6239940bbe2e61f21341f319324d05c91f17708edc7992410685664fe1b42f32306c904da15b5fd4b88e6637cd2099a2b64fe1ca2fd70960404cd0ad97f86687e88213141bbc2ed1f42341f629348d0e40a05487b5467f181221b62a60011463b9481953cb8d31a0eb62480fbe590f37f43250f8e526c10343c7079bef1c15bd55d35d5560ee52506ed5d2ca5ae62e877894ff3169be62d0ee5250ee55d3cddab388a97d8b4b798696f71e85e6228dec5535ec5a3bdc4a77b8b4df116874a03b10532073177978b57e97b6ffabbdef474bce8f4dee9eebdd2eb7ad1ddf5167d8042b28ced642c8f737d440dda321c447c3f06f50eb7074c526c10d4dc74492eb64d8a50b6b4c5a6f208869244835924003550f701ca29e993fc07252852526070e250f9977769e0e69f79de8bfc8e63f07cf19855bf172393c083d0307bee33c6da00e651a066a1a2f28bba5de9f7bbd0efbbd2d575d1b9eba6bbdb4d4fdf4557d79dceae2b9d6e17fd7d37ddbb6e3a745d74badde9f75de9eabae8dc75d3ddeda6a7efa2abeb4e67d7954eb78bfe7edd3484155d0a31cfbb67a95e7455a93d74e7253dea522578e81e4bf4a02b4a5cef9afe2109148e2e645b18c57582443faa05eafcecc88012610ec4b971066a85493e7c097f61bed79a371bd648f683ba7027ce73960656ba628db0db8d8e578fb5f79808dedd3b5e7a58bc6246f276d3e1d563f11e33d2bb7ba7971e0baf9811de6e75bd7a2dbdc744b0bb7b475d7aadbd62477abbd5f10a447bbcf3d25e2f252d5e314678bbe9f4eab57a8f19e1dd4dc74b0f2c67ffc55edfdecb554c840f53468495ec0218ea110bd0ed0a2c84f5fd3febacefafc226a2a4c41d368cd747e11a81893ce69a05bf65402678633a364c3bdfa694ad734bd930c50cd16350865d6e695f004e022c35bc1c0e13fa5ee69fd61c7b80e9cb5d2448d690ae0d4c281989a40d4d03db13c9b8c9408ff9863de81130c65ee99dbe82f073c54246963ea6d7d8d8fcc7e62ab0fcdb8d90dfd3f4e3bb7537ed8d410f33dfb7553b1f81412e3920fb098fe5065e8ba03878d683d3f6896ee3471aa998486789f6b2ca7cd5596557a979f168a633c98ab613ec0601331594b92de4f8948f3889ff716f918d608e33d42480d55d1bc17e89002dad03a2221fe4c6aec0ac69f83366443277ddd1f68c3667ea9c81753b56d99e0052a2a9a35cc364cb67ce5d4f47f822613fb3a58cacebe65047581fed4b10020f994dd86a94de6ef620452cc8b1a5c69dc42385470c8cf2382a7bfedbc4e4686ad76cb58199616eae9e1632607227991ea7d69afddcb606ca8c7d3ce808c0bc2b303a778e140abc558b146f92ce7740b85f830056eb35426dfee1953033e109f0b5fc42bba5bf6d6918606aca009dd3e8df8476260f1034cca1fa79f2f7634ed988c08a4b61d3800745f6e90a0e41ea385389cfafc10e207158582009944f5b90cd755ff471372d54c0d48503df33de33be83ddf34d09d1b5c84c76c45d8246aabaea43cac8065ffe6f251119d34ab12327c3936919c03bdcd61020d534b06a11b958460e33df6c7076f8b703a30183604ef99297ca7b79498e41a7e321a732ee425791303d700162417dd1a179d5f9f39246b742f02ff0f37e0bf430643d4fc21826dd100e9bb5f66d2cfa1ed982915ae9c632b91fc0a30623eb64ae68ee4b99b7ba33bb3da3c2efd6270a5de5721a5ae8497847655f9e31bfb15bad09fbe6459f18c053c06b590fa330bcc974c6c64eb90c01982359655a476b99e33f59c0f2785e69fb1b57791861fb0186976a3a63e7ecc348093c6ab35ed6219ef211d6d875059616a1f4d91a63efabeaa29bd502eda02f85180637431d7904739820d666efa0b33795fa3f92a0f3df00a27449897080afa0e97ee6f0d25fc4b1597e7332f70ab2d71975e03c058253709f0217e9786316d091abd7ee1aa204e6986d6850f1dab0beae9ab986e9e7e26756f275afa02ef6df938b1f769c21134866f5c4530a9a25fbeb56b49a7a7a92b06569adb45b4c1e2b2be4c7c766c9bf48290651aedb9bf2eef4b2fa9e70039d3f8ab460d2ef4c2654e53949907dc180e0132609e62b5f92fe915cddea6bd2d67a7696de2e04aa601932670b96b6cd169dd0b77044306b3a24dce34d2d9f9058eafbafd44e15bfb23ab3a852f68d7c2f825dcab79452a8cf23cf7149ed26c24a73fb270d5b8491859c5dbf99f47194cb548ac1f292d8ea3e2112e0a8f8a90bcd03051e1bb36fa0778205b4891fb3d0881a936c2c0a6cda15e4c23679cdc87abfa772930bf9fcc65690b5e5b202c8b7026611c577f9ee73789c2fea411640b7ca52d70ba64e958c5397bd962a69d38e6376ae394395d63a9791075ca19b049d1e851df8be844308574f8bf22fb04d978b242482dc1620612c216f5e946c39f9943d56d899354ec9d221a13965f142aebd5e43b3b5e98667d468abd2222c1de753eaeb90b038e7e2f83da22612e81d64d81c08b7229a2058b6b3d611a9d78f2f41c36d53da3f2a751eac103efcb97b7dfabd4d1135acbc53c581a8a145286e6c7fdc6398dd44ab8c65f86a2a366772e156f96a39cce0558ee9883f72116d368fcf51659b0a8e0f30a9ae8089d92b025c771f76e98846b42156e64609e27f61c88e1d644a17bce89e4fe70be26b080ff758d2944d1649d0825a0864cd7bf400397b909fb05831dc74abc5917f8b083971cf9c33711f23cc09edfc714f43122961ba806439c7b2a6baeffc56f910ad6c757c163e6f0bb68b0bf2fdc1077a0cf1b9b0c07c03cb1a10974aa5c88853980bea4ffd8a1f30d1aa5b0dc11c6bee9009e7975d258ef25a0112f88669b13cd40f2722e659a2c9db67d556c75e852dbb36fa30666b35a3b94a5e20fae614d637fe85ef79a1f4bf1af26cab4ab2a27a414a5bd36a93729771eb91e2b4db54744ab1e3714c116955522a9db6f6f668eb00b6287930cd5b7daabf9a4cfb8455b3a9565ab1a5a3316d9d7f6f2f27cff7f2e286459298241b88abb0436986244746892feb3beb63abdea2a9c4e22bf0d44befcb60924dd0feb0cf5a23ae7a8e06c779fd5960d9fd58eef81c9129980fc672ee6cab985a4fb0de8e2059cc695980a944e95c530c0960f96e1fd4b81265febb86aca88f1a3c1776185a0ba0bd6cc14b7ee35a6cf91efb032b6d918f548e9eb7b6c242303be81a16506457ee6f4c420fb190bd7fa64d977f51eaacfa898dbf95981ac0689513d07cbe5d0b16500905043aa1efac82b6548ed17f36f2e0715f615ee744777497d9726176d939b9d52feefc76d2239a9771a0fafa336b9051a35affde62a6bd47432956830d538c106a0165977d59c1dd459a3d3c6f76001549aff3473d189012a8ba3aa8381020e8fe6932c33f5b34ca3530b020726c3e531e56535f3adea8ed6f402452ae4827b7437ca858e359178118f6cf85ac0aa83c3fa180d800a68644055d98c7241b9d6f23a2af0d6ac2b4cde13e079732332b5a978c4d0c8dae59881e22374117270dd13a90862117c65872957edf9b729e69f7d11dd39876ad38ae249c972b9c6f17ecf300c97433461b0f685df161a6dcc4fbeae93e6d9c4d59a8420b4a41c3fd4cb42d1acea8edc2d9479012670a60e21fe4b9b97902b48cdc3b286ecefb82fc7b6353c3f916fcaf4d8861d57e562ee8fc8b5eba27abeff5860bcb6c0fbdc17b95ad936623eab66aa1a4b80d52099646b1cfc6298d8d6a17126462caf178252afbee8336556aa2e0c813cba69c3f7114fe4dd54b32b48db03fcc4e317166b910cc3e55144a6d907d619eef4818de04c97ed1de82c1c98ef12f61ac56790f7f6c45c2bf4d452588e3b5b41bd7ea71260948a222b334852aa2494254bf442d0ac58e951465a64e483d307d5cf3d988a13a9a91da5d41533eb51f119d731d1f5f8915b204fd13528303423732c171a2f052858e5ea425a133522de2a760bff7f39c660561eacbff31100db7a052270352ab2ad3afc572e5e36da24c1d21b5b318140e1e4d346b848cdf1255e147dc6d32f8404a951734c59e30c9326d6aa22495244eaa44b3b8e5e7844077c5c64f4550c7debfea2622d1f8a712359ef2130f803d13d1b48a83b7744dd25d66102ef23da2b7a82edd74f084458a2002700c16698e94ce40975fecd1ca552af73c6ab9845552137eefe031fb3d3fa250a77c10dc8439541f30d9455735af47e463dc9ef3072f8d3204231f051053568bc0f85aacc013062e215eca1773232d75d31b984f0ff37b96e1b736962ce4f48a32bdb3fb89ac985fb2892725b3442afa9d089d0880709a6f97b988fb987db4618461c5073632e36b208c6dae81609ca84ccec5a6ad8520544753fb4c6c9f46c87045ff5a11bc1e19cd4a19b5da2dc660fbdfc1b35725a812113bb7cc1bd44acb8512b64379e1f3913d5fc234590c49b390ec7288ad2ae507f39f1564e3946e5257a4a4418564694e8e17e68205a5891c1693411baaa0d88583b092249691d79d4cf0070dcc6d4dfeabf66e4f5dda448bce5f6daef6c5e69bfba4289f2a97da33885f5c7825814710ed34197863dc5cd2e104aa7f5d053274b7d09017d7a6542ca1413be71510807f9acaac5b26356552cee439ae8601fa574962b477436986f124bef51a4cc8f94a42aecd0db1ce0093fd2b30fdaff4239ee1fdeebac490638bd97c37cb1aca7b680e50a664c54d5f20dee28a05516ac409ab41ecd8b3b3832c1f9774406021416c8d0133f561a54487fb41438815bc717c8a7a08728d95283650bf9fb5358d6bbf121cc7d3cea5d3bb0f388be692059725a39f765184c4b48e7619eeb95bc36c3307c343dd43b681a33b1f6c858f9d184b3da5dc2622bed5ef2d7c7aeef60d8dee6d546a68d7b5d374adbeea3af2ac74881988bb4f919fff439967cfef7f2076c10ad8805149830acd53da64f29d20c9c76677045096dfa0da2a844e8db00143e8b0c8223632d65c36b32c1c0d987754a8df98d1f3b1889b3f12d8f5a525d95169ea153945769e1d026dfdc592833c83c78dfaa631031f07a84718a01341a3618b316c493da089c634bacb01de62798b19a80c8fe52413c311946898ab95ad99888b55d18c7d4585b360d30a68c10718cfbdcddde3f1fc4d77ee071281a3070e48b0f5a4f6fddaf66735f1101b22209f24a2792a82b28bb0e5536b10d30e45c33b2bfcea4511b4f0da7a1d740986e268e0fbd5874803ecf4b1d496a8ad15fcf643ef6512050fde9182008378ec034caf28718dae0859112143a3466a0b108c473c8e58fb6c518fd657c199ed1ad2a67d24122915db99d05b6a07fbefd83bd2db10d57e0553db40cd14ae6276afef0848985969557bde511b797ff39e4f5a0ebc828aa15fd395d91f8bcefff2f4af614403729a1dfcfd55f32cbef299cf7c64beee0b739c30c1124b0650a4902f0b882da2ecf250807cb747458a9ee607647a0631b4ddb795faaa2576a47a6d15f242444fb91f6047ba0b58a37afe275c8ade3726d669966ebe0bfb2d9556c29ef7be6b98a5361d12c84784cadf298a3843d868fe93234268f29366302706e661a665128aa1773f1a92bd3194867e215029e559a204660291109940a018097acb9b669af59a34a056b0d316085414ee33c8619114a6d09b2b7dbbe8e25e1e5c110fe55d2c621ad012b29e50dfdfee7ff2bf8471ba9fbecc1d3264ab5035a6a1aa1c27a9052316899c60e2e3e62118d99c96343f8415658506e82ba71d5a52ba03d8d4c5596830e5e305e1aef307520d9d9de6830c11f6a173f0073c141a0465e15eeb44355277ad2f13936aa1ab5ef311325472a458e14dc0265ee7c4a8f1399280104bcf041bdde60c34672e9fc4e34a970f0b9fdb05fcafff173e103fe178ac319692b1a99a1cfe958e5d819509bc4fd56f2139e71737aa6975f0e36bef5a116ad4427fca4aa35ad79e52493446e7edb96962d57e388c950a9a4a897c087e1e7d62850d455af0f3b6860d2b83e2d16c5cc929c91ecae76705b93ef3dee4eec9aeab6f0497edae8998794464b299960cfb766e5adfc97bfc7806173a2473c8e3c811aa280b4f34b6217e0e34a30a3dc83f0cf25dac1e5a3f00b980b3bd0afc560a7de3097e077e10c8451e9b281c7519967ce21d0c36de121643310543b0dc057b9d0ed77e6609fb331b5105dd6533aac7130e5a5cbe3d5240960f817ba9f278cfc3e6d472bca6b8c9ebd0d994b71c3b9dc86c3249fa712f92a8b41a991666f75706965c7cb5bf1e68a359a29c249493cb53e40034de0f60179ef29852936244da01e817ba60b683266d1e4fc1369ed27215020da0411e61b861f9e19dd46da3eb30c46fece88aaddf68f192ccdf91a7e3ea7e8f1006f4b84ed7160205e06a09a81403bd0f8c53261b9d76a8f3ad044a50c094bd7f0f037b86477687ba79e900fb5ac1a8afac6483157eac3cb0ab4d1339c21771c30223bfeca37087f9492d78fbe130499f46791c8d9f53f00569a2247323f02ff3728c2ab51df12c0a098246dbb9d1d44e4beb6746dfeab64e5a5c777f713838790317c03211a6fdd1e65bab6c81599bd6556c68d3cd9a9221cf078f2633dd0c4d466ff8c22c72ffb70c8787f3eaf0280e373f98d3deef3f46d83cac4bdb396876bbc39e30519a7b6f9437f3f7e2a347c8d8b8e3b4e803b38970167b7fc69dc0792afd8796db04adf157f9a07f78c5715435abfd361aef2d5e12a8da2e4e98a80620cef64c1b8d078e6bceb38674c429c7fb64ddb19ab47b81f91d0246e56d4c3da5c7cb4ec2b6b3dab84a6a9b814d13d1d49845efa859eeda1fc5d3be5546dacab165cfa016b041042d52aded43a33f03de9c5d39a50d3829b619d0beedab25906804e714a8e0669e49c7830b1d8c4b239d24066726b2011e759b453539b65b9d8f3d68656476ed05daf54fb88edad86fde0edf4aec696e17f2948738af0a536fc5a185381e04c8607cb1f903ab0d5266e3de9c4e31f88482ee0c9fd5efa0f034c661aec4abb635cb24f687c1e44de375519a41f8ac3ee18dfbccd3ee178b838e4ecf04df867300af0a01d0714a81e611b45fb03011c7022d2402f185cbc1d71d2efcd384a85b8e1d69a9f917cb17e6ed6b7785def2ac199df1017ec3163de7472665090d377c13ad5a3b4269c4c8bb03402a7a6e36ea1475d22e290f696b784b8f917f85f0914c4c54ef4d15b2756834822341a6635d7c23a837ecd0e46a5c280f457402941f296fd9d700d571018851332a4a76734db24d32b24d78f4569aeda9412fe803573b5e299c473ce05caf94dc794f3a90ac3c33784ca13c07f27aae40c0fa93e917f1659fa3ef4f033685ed964bc008ba7dc29862e2a5b65cf70bbf9019d51b08da9a790f224f9c91b38c4f4b6cfcf862d92be3ff824cf6fd61aef20be3870f2cb7e2da7e53b725e733f0b1f594450c4570ec9de6c0b740677ae69395c8622cac9676da173268ba4b3b7e8327bc074365306252625638e5c919f8daffb8f2ddd0bab0344f6670ea31f7d93e6961dfb2a87b2255e11e183180d4c04b5d74c32d997952fbc2236a966614b3af18633dce42acd91b7261b89e624afc070322a0fe3799ac4ac065b2203ce6b6e5bab1ceb887839470a89998e307710e08e0d3cc2598baeb516baccdfd33d4fc8c1af49fee0e26dcafa3873f0a0d640bda8c2650ecd8d716539cd6214b6acfb899f5b96bc4dec607bd5e75dcfd80b128f1e3f974f43d64b0363b12f81e25b3f8ccb38b964cb331c98b83b3aa29406579cd256e9a283be0427fa42db0d799fa3774b340e98bdb3a54cf9b50421d8042cfd2bde45ce759e2c59183c3a2705b4d2fc287b94e76dbc75c1bc0906a0c89661e112d97dff0d46f035584c8100cabc3515b4ca8df7453109419a057681d4c616f3337e40a37a3263bc262a6c40fbff097baa5f364766668fc7578716cf467f6aca7e99553de57dc076615d336c5aa2b45a15b7bfb1f35bb66f341ba91cbbeaa0a2fd8a17a84e5bd3e4079e0afd033eacc3c607ddca408f8d0f5aa305cd20181f0f8103f8c17bc5ce9289c153a871ec52a77f8829c734f4bf3cf652779a3505cbde734cbd5b717992b7f1942d3cad324d3a37ac72eaad1739634c98260073ca38f3b901b7cd998f2b5ff50dc083392898fda7495e8b26c7f35dd931c3626a666933cc9d7925a88f2e69e63ab956ea2e2ba40bb95806970fe46c9ad93c39030600d4a421818daf0a465a64b5ff626642b0489e1fb4a118d8dccc285f96e81909b827a6e1bd03fcde0ab2f05ecce70cbda0a1ec9878ad707671ce882da185bf0c0b0fbe38bf6d246b80dcee54f7dfae8d61839154b080a1529569d5061a0a1cf06f14e3f74dee4c8025e7373f03a794e599d5972db023ed0a45f6010dbb027af3a4a369196282e5d1f4c8b36cb7595b0dd3380de59818ae5e09634d6dcd7058fbc65cec562180ff689aa2da63fe067da54f3c7a3db6506453f755ec521f39fc7f3f0d688d2d767479873ec2a65a6cf49b21ac0256d6e8d620a604b9701f8c8fc45224f489c9ccd175ecae079c7a816048751fe53ec5c6f333ecccea89d544630cc96a583cfa996fafd31baf30282153bdb8e4d4c65d76fe4163237e2a619ba7a124aae873ee3c98e23a987366afc3a4a0701682e6e72d20e0918f2bd444908fca1639bc76aad458659a231de55ee81e73f17f77bc59408dfa3c22442405f4a99252245ca543d789ae9ab0dbee0009e041eb86d0d5b81c23b084a457179008a8d617080a752f1127ac4807adb0ff38d6101d12250f113618a81ee53c6de26416eaf33622e0e0fe0a9d12e50bcabffe45aa7e32f629227bfb75cb9478d1f51cd381acf2395b4df7e4a854e1927eb2349a1c57775530312b053d17946239c0583e60aa8ad495f60e4cab06991d62914bd659851d50c58673d838138f587b4b1fd59d796ee14929d1209ba83f1cc41b5de4151b79f8a8883c56afbbe93fea0a37ea7ecf6f2a023428c83e07be187b860889cbcf53cab4e4bf37670054389be1d97624783a0a728f046d7e3993568cc265f34ddc3084a2ba8ce22a8fe8aa4311f5804f0313a7a23a353dd8c520202e85737f9e8415dd78daccebe778b45d47c2fd89698cf7a14d4f9a6a0d396907374c91656ea5a82b0138d8a4558893f707ada06f5fcf0dbec118e0703fe9619e291bf4194f41360fd9bd1489a3949b51fae1f569017e80f25b5d6e8511a9a3a114bb0be6751e1332272f2b393a2fb449b3ebcec79b934d250f4b72a45509c37dcb59aa8aeac93c7949efc7ceffaab73434b37c6265563a904b77d4968a0e821a744c79c0902edc0b16731e073b76daae1be04c8ab26193b2b4fb60d751ac0721690811fd4c4850de09b8cc86ff416872968b9d051223617551e3967af7f2fdad6429c6900faec593b128b24f128c314a087d42b84608ad629560d64380769bd1784e2e3d0cce702dffe820e0dcd3ef54d057a075e6c7cbb93d3fc5457fc45588651d1d729585b6b0bd75f6073c6f03a28f07495712a800dda8476ae6b154bbdfd16575bcb3dc5bf079f934649d1b781c26a01c41a3e08ebb73bcf8e4743a14c82d47ef827189500e900a2b81b612e0a7387a3c601836dea1af127ce5b4992d9cae7c1b7e8521d55b8d7b6984627fd50329f68a8974965cfe252f6eebb4f1937f5b113c413d694e62891e10fd138766966f2d3641a03dbc3de5a3b4e4a71c43c58168aa4725467a2e7560bc4d947da8ec3c4504d7e771b0df3e521f00ee5914624fd01223d3f3acfe2bea564cc0af98157c8bd87cf909ae6ffe8de9c14dbc32a00bd43d36a41dbc296a75d0b17d8030660cb0527d6103a02878b22c261f172eb3a072907bb36d1115f98e4bd4ec6b67115a7ca9347c99182a6f752470ce58b4197e680a15c94632b74b4f0a7769ce557655dd427bb39cbe9c83cc5151b7669bc19ce2003197d9047e06e6372fad136005ee629ef9b6209fd332707c0edc08670d5faf7dee98ca9900ef75b2d90a3e21e964d3e5bf7b598a7c8f5805533540b37e23de8684c57775c637acd28b5106e127a59bb09f098af4223af50fa679a7eea7487ddb65a026bd63e4b812e29b461ad73feba7a51d032d7bf73d2703db5107173603d4785caad088235a5175b860dea72c2abc5b934f545b91251ba81fec050344cd311f2c1ac0d2d3de03a2aa32bc8c39b6b6d1225db45775be7b6d89d7eb9c12e1450c6ae5c1fde02b7ec1214dd8f723184ba51ee726b9b229c1039226c578b57db0472538470052b5242d54146d2e96c71b1e14e2c23d9a20b8cd42e828ebf6a7d1f49bf56ba3c439e4bbc69fdd231c422caa31dad4beb082cf74fa82e996e4cf0086fe806cb612ddee14e72a6d2185f3cdd44ac968a4050f612bb9342ed71ff823a8b0fefc04c0a1083f979413a4d08a6b3c205370caa49462839a0154c07f2395cd17907536e5b62e90aa001211f5b818c52a0d57be37a71c90829c137e5808761c4ea8235a3dc503ac003274ca3aef90f960af178d1f8c8a9525212ee82e2b3241ac5e7d6a94070ad0ac2bcd67bea70a568e0cdb5f9362add7bc46fe1a9413348520f3f2f88d714b1651275bda41bd446304147d4fe5b93b861e41ca1495b22f1756cddf60c37cc61f92a983adbed718b4b748993a024e520e70c00c56edb8a5750830632912d983abc4001a3295ac3b39ae1d070e0be97adc025463c64b1620e1c951a21ab099d3c6bba25511dc933c564482a6244e2d25510cef8ea412b4c13c7b518cb5ccff2540d6d48db858dc988d2d13aade0cda09072d80b68603329cb5913dd931bcc8ec649c4b6ecaede1b55d0cb86f510dc338602871e252492fbd844b409257ee4bb6d640ba5e6b7f0a0df585e999b92937317b54595f1944a950785fc1b8fe8ce317db08601329abe922301ae768e7ac963e3302713bb199d61bdeb5bdc4904d07edd613c66bc9dc601adc3e25ea8cbb2407d1edea0458dc184b92a8d73219b554494a26ff9e0b7674eda3b37be6af4c6ceeff737c15065fe6df72c727e5eb6944a9519e5ddd37befdac1b09eab24fdb051c0cc76e654d9599bcc4ff0a0195537d973a36c81ed11d439f3c41ebe545b398fd09ecb3ff095430c56d086c5724ebe44b561bdfd732c139ac202db7e0dfbe894a66b344f294766959668d0d3aafbd35f9d441c633ceecc37ed1574e1d29c8e5be5a1e39cf8cc68b67d3fafe295e2aa063e9890a06761ec60279823f702ec22040a1859296bfc261ef7abcac448c47d86ab522e7c975acd38b1b1bcb0855e187624ab434a348ed51fec4e3f23816e5493c7f03c9328afecd5708e7a04cac495074fc8a92f748e51b85123b961b1d3647b2b4b2027fcb5579226b29e27c825fb28eade1df185d5f99ba3eadb004279ef21379b4aacdcde1a114b3d2b73fd6f6cc3bcb8e52d74d4f731a51bb5702632f7c9a9c74834ea4d5e19f40c84e6e563965ef5c5b3bbd178e5555f78a988a08a24108201d9b1c3df9a81413520eaa689afa7a435f2c9a448dc4f2e37af35bd5e617b932c716374c8614606a3fe7f0b919de2018e4872ee5e52f26554c183456f34a4ede34f727e67c03a8f10ea0e1fe88460105dcee6e99d6d3186b9422d2a7e48cb29156630f5bc2756c44f7599e7dc6d1c4fa5bb70c22b3526ed5822bfa52fc7007fd199ee74407ee7153bb6805da8a81649d21a52cc738a109a3bf174d9421c6605dfc4c4316bb08afed96facb9802d755d2c96438fb094188a5a866a1cccd606c6c7e17537c99d44f60f03e99ca7cd3857d6190114613a219a044b225952796f295271a64c933975d18b0d267a5554a9e4d3970cef957fdedf78e93cc9af7ca1457fd67ea624fd7b2c4c717948a5a1fe9025c83adca4dc9480d5d915b930f1d230cd253d83d1ec35a6455d0e0dcd680310a086b1a9a1bc8ef9d0b0255c773ada9fd2ef17160f3155b98854cbad3c20601c3cc3098ab99efea98e6173eaf9ea38c29fe2d344c2da1081a25c26ba8795574e8bcbac9f42a3b336c902af9f892695a011f2b0dfc6392fd585eb90700b1cb2bc26f901a60bd408621fd279401deb3060367340845038e8bf31a95619802310f239a5a845b2cbdb45e99ed7781e54850d7528afa95a1b45633707177468eea6472af993a5c94e405a50b7107aa61e173a942b6242e48ef75650e59cbc829ba3d86c369dd0ff1439d6f346d1ed177fc680580cc1c8658b7e192837c2bc9b66992004042406875bb13416954c556dc1a8807b1a9e06910fbbce8b4e5ae5c53a8e8091df30b20c9504bc3c50136c965004eb51700d822efde89203e8e9297e70aee7791cba5d0f69a03e53f2dd161b19554a7ace40b6a30a9b6898ff55008190fd8528f1f4b15f476cd0ed4913c125c96e0b2585edb14bfaba6a50eabf22001a5802f1ca3c643b32e154201057a2eba6dfb7cf99c9654fc38f5a4e81b98ab3761a40a7d1024caeedcd49e571225ce69cd419abe69cf4d6e7c6ec58661da73077a97514d2365159029c2d4135c31e4b0e4f7de47f5180898312dff393da420c60096f4c6c83827b8b7c451d3da344896f34068433e2f9338911c2cf6a9e91bac0a31167819d502f885cd478656a1e67b4a95263527c0adf6c6080847d56a3a9c21f4d84773754c2103372d24866604fc5dcd1eaea05a8d71f9c774487722a054117e77ae9ec0c3c20fe17d1a255dbc801a8f037404f78c93cd09320a36ed79471760009515c00b9fa50e1463be162165be8a036bc88a12baa3873296e5300896072c12361e725cc8b0246d9b80228ab6a028145302248f89d07c6dacc4ba2e4bbf40fa1ac45bb080c9fff10de2056791112483eb168b4241ab9e7d97b86455117bafc00ddb089ba5c20a3bac930d9ba47e42a14a9b282cf1309b65f3114af29129ad3f061996254013688b20803f5159728a1ed8725b2c4f0753df2d9e1c78294c5349b1ef952e9a3535a1ea77382fb364329d36253146dd8534294a3683ea8ea5cd09d7537999665453c3b10f55a18e521910a24c1e0152d4b3a1b8547a360c7bc784e3d1f25b19775d3d16ab1153e1dd4b9e837ac1a3f1da641b205344d465cbf35d6c4c613408cb75f25900f8ff407cbd73b9d2aa7e2c4ff86b3cc84cb1bc11613f814203a1459728563c72c00e0c8f1b4d572a71d9cf481114c70d0f55c5925f8de62321e6aa864483c8c3d6cea56d43045693a11051414275cae33c42de80654a1095114ce3975265764287584c1c586ee1de04da1c59067e5f51a96cab329b3095680420bef3eba474e7418f6de755ce8e0b1d748745f908f48dad630b34f9b346971e6a05147c93b822c0fc4a260d6fd2372bafa71aeb527b6ba513ff89697b0b670f3639cecd035ef5b09863199fb585ae0c88462b69e8c57d324771cd97260e0f87428433a4769189823b758e91a6c500fe5a401f61e650d3e7af64bb7de508ca948ebc5ea2e739b5d3be607b7cbf1ebb98b4c5611070da140d0d0831136391e43a2c0bac5481ea02707b78f2ca51e714db3d648a36ff0a1db9e132316e6dfc6cf05c4019bb3628e04cd31edd97aff2df05b1450b33e06247bc4facf197864f31f7db6fc47ffdba301d5395a5cb0d12a05ec1cda2e90ff27027c49ce43500106f2a2f97886ad7194f720383e61f8808c69adb9758d0827cc1f5b3163c508203a8d8e4a383b6268c6417f92bddfd788494be8f69edbb2f33f58a9dbba2d2f687b342460870812c0d19ebb021a2f98a65db2272329da159b36c120cc9990942e78dc84edbe7607585d29d1a235df39450c36a2084f6c434d77a292a7396c0eeaeb57d96b0c40d9557baf6d305d493776159885183f0bac3d5e8fc21ad5d056e8ba19534366ccff97c60bcc330c9511eeebcd639acc6f149813304e7ffbf62f525021ef01caaa9d623f286738e8f6527a17875f9b1c6f974f13c086dc5bf0355f8c2ed55864a2ec880ca0417b5be710921e6ae94166caad9cd0e8ee4d810251ed9f93b04efe5a117587a0a7c182e292bdf0db573ffc92f7556da0a1440af12d43dee79296d0097f20c1f872868ebeff5b125860c85de72f33b99dbab299c5ebe6ca2b88bf22346b4af2c96ad409c5c6ce5861ca70054aa4608cc5136fdce3896b9c0e86876e516ce4df5277bbc3b4dbdeba8c2ddf0b545f1f115891f5591065e75a315553d31622a4269f4fa5929f32ba26e704254ab9af19993d3a1137d7d7040907ae79483da85a916480bc5e7ea74f510acfb5ca4536f02bb601f7145084d1ce1c9d58db8e9854aa35740ea5b6706752484d304d9f5dde566be691eba65a6635494a379fb0925730b281336e2865eee04ab735c6d6b4d2b4da70a62589e3f62b01f46e9d97db11397a0b6087e600ca77147933d79d0d2b2b45222ff113cb85eccacf96316702d29ef42c434ee8438852b2044a885de83b84d911017a600b8c5294ff42443ba3d235aea499e93fe311641407d61419b7e871096a50dc76e16da247c536e37209daf0076cea3713f2080cdea2e3f544848a835e2799a1f314cba4fa37a8af461931a92bb3cb014886923c5c2b6b7b2c500ae08f0a5dbb31310c9bf9e9ae1b5f20a2ac94d7084717411495198d71aa8a66a2d104439fbc5bcfd3a92399584db95e0de9aa523480a209dde0cd12195829018e2624361138d2637ef46cdffa18211d45546e95c1714be816c4479b116370f4a776b5701a878ec1bc0d9056db2edc522745af52df055dce9ea15e8c5df42b1c91214b5a270babbf0ee4d816a1b3ece77057e51f5aafd68b4c1f9148d36c46a3078881455535247459d5caf70b5c258f5eb78e85ad6f6706653acd1dc0208080173de139faa19fcccb0f087c85927786eca2053a5b040a0894ed17374732adec5519c7b4bf1d3d25830c606db1292b041a18c2960d0bc6d467a5d9450389093623588c2685e33adab7193df584e9dda8d98f45a76821a020ce1a7e827ad445b1f340842e16cf68b4bca11925fe6ab169df5ea03cb20b96bc79def2f415c392c91d76e3bac54fbff09543aacbbe4795ca9831c74c2e408ae328757c1956baa615abf6ca140ee3f2cbd1a689ff007469e88d7a21bfa4e229a4eae3a864a8fa663b2ff4f8202d8acc48e3966a4ba2c113c94342f2608287e6e1d9a287794c50a13b6d32c7cad6c7ce65e918c12eb9d4c26711185925819a82be3d5d04be515e52ec7959d92bfd56f3b331765524c35e789e075290e2b80e21a4b08e9345702b0a6014278e486d98a344f1ac891cdb246d50850a36c37444714402e1db4d22732dc1561a2854bb66e9760990f491dcc621c91ee24f4590745ec724e042d216249e4449b170cb70eb1d402a2485550113a42878343951dfcf9c93d5cc60b4d54ef92013d2e32d28fb4c4d6ae0821eeab96007e8706c35ab54d36168cc4de7ba1f167a148c6959ba7ec6b6ff8aa6b84f1f5d5f84a30e47e71e52ed44a3c57798aa0ef2268855c4d0d42959e9a143848f02f87902198ac82703d911e8e31f04bd5b87ce861bff147be3d4fcc0852c93c35792ed63f77196805964bd19dff19517ee5bd0e96e7a2078771cc082b2ef92999e24967bcb72876ab9b92566fd72ca04d77d578f5a09f1ad4f240adfd24010ea210c8e2aaec7387fd18b429ade743ffbb2c38bfccb456436f647984eb0f35edfeb7738681e5af2fdc1772f8ffafb903d3be80d37dc5d9d2a978534cb921a93bbe46fd61663b187f9e2f147e19d6d06135f6d5b2ee95b4e775188eee2fec1a4432d3dcc98d80cbcb8439d3f59fbc2a1873d752fcce28c7e9d36699d7e9317c4a05854e3a1198b38e66bad74a77b15549253d249aabee60d5a59108a2993ffa00c143cb3d4c0e1a77a3db67e93dfb0cd6d1f9cd15266f1ea544882b14b413c807562f8bc221946dbeed2fbbdec0e2849436f4758b2190203f7a35820550d5477540f3d08200bbf38047728e6c9b8209edb4581c32ce4040b73e21fbab875c94a0b31f09d9bb1e549a006613ad3d08242efd060e6f62630c95cb19c83e6130c90c0caacf0fe8a79276006a3b1e38f13d32324a2e3b0f91d87d06c2f8e2e6a9711e067327bd0f818d410d5117f7faf860349cad703ff83cc94c8066115e050b4667fa42c3ca2353a14e9a539b2678179424ab87f58a8a13b62fc72a10b890d1b90cba7404d2dca952a90aa2e7650f83901278895e4d4fa8a8a53d04348b142acf06a8f117794b0ba4fed5826e91a2acd61fe9bd46abacb8d260240c65d33641d0a86c4a52cc0d21b10026ff751ef9167bdda8b29080d41f2205ac3dd1edceedbbe4ef5df43e0236d9d60a81e8f8e3c7575faaa86e3f9ef92c6efd285a1438ddf656082667c81bf10a6e61df178e5ae07543a35d2a981e6f141928d554121ff975ba265e334c6177936dd1f48b264554c4b3cb47bc7af9f13fad811fea585d9ffaff2c5220322d69784ad9fc51eaf84e29a1e017bce6ac2a1064aab83b8f0754121510e418b2945e2a0f4c32cbaed89bf15c9764e293810cef095fb141fe2336c6e4df92675a7f08729722fc46782b9a3a89e416338006cc6617e441bfaa6d0cac6022d80b7eb038669fd953b71b2970eaa26b1ce2473fa2d03ca0894a1be9ab51fd67ff07a08b9be48eb57abcae29f8de4a664546b6eba0e3a6065aeb84a8e1ed4d690bc673f33609cafdc40a142d02b45f54324f336c93dd3b7ec83c24aded1a6354aa2582b0886f99f550ca82e887d3f31f2e8815336ba46fc02a4db62c97e03fc28b348f5cb19c48bc33b2e46985611912ef96207c8d4cda2dd5ec66a4213ca216140c0a1e253442dac6a8a9a8144894dfb3cb33242547c0d623aa2f7df40c660eab55558fdea9945628cb8c56a84e860260e48dfc08ee224c88170bade011a80918c927886b1ba6741a9e6fb9e2bc6924c1036cfa2277015e44485197053881958eba6a6e94753ae977d25ce25ed65e9612c922966b57510cfd30cb29524aacb547a174f7fb1e7dc72af9dbfba97743b61291be97ff4a22d32880f53eedeb8d7c6594ae10dbc1f2306563149dde1ea830aedbe24ab940a738781a9d5426b9def127f1ce3578ad973f9275c7d5684850c75d2a447048d63a0500de8131eaa85f6c7ce5d2db396313e309ea6e7930f9d1e498111d59f8608e430b990e621158f2827e00796cc429046dfeafbc93c83d4ff2e4f025ce244e2a7f86cc79bf668fdd57f1cae79cd325d4e34bb99b1189cfd3559de4521391b0a8bad0487c950fa9277f0d71089fc4abb60977fe632e7d2920457efbeaade975d738aa68af0eb9e5ccda66d29b341e718770df9caf2661b5b08dea99c7055a35f0750c74cb7e438a90add9a4c8e3e84fa2dea0a6d91bbb502d34d026e3db9f2b2bdc8ad5bef022cfb15958736724c35920cffd2ca0cc681b4285b73e63e652b8dde305223dc9f02ff2f5e87d26c66aea550bfa03977eff4dcf530f5a8eb93fb8c72a932120761c9ad739b4160228dd90e118591d2d772c1eeb5c9bf06b8eb9e70adf6f533eedd430690ec1a008641a8aef413440298c06d4fa4553140757986130cb98a2d97fb3fb469c1137259727c03956bd236be109e6265683bb97efcb6dc36044b3cd8a8bfdd4a4ec57ca7d348d586e6bcfe0f8af461d30507e2a7f3a8e1ab751a4be8794ff4e662bda19529c28e225349b52c156ea783a2f34ccd5a25392b036bd635ed01a7d0d5b5ba72e6b5fbe81a8aa4aa0d5608a3a10fb3d914a9d576a842c4364d5f9550b161a355f525af7181a4b3752b96418e1ebcca2bb9dda0c83573c550980842adfc892d4b2754803de11b7552821f1f0297eceff0f9bcac00b588f627eedc7b841aad13b2d7f727b839e01c80563d9dd36530cf47439ec923efcf809c4cde21b11c93ee77f6ea2151229748c91c9d80c2ff50a50a7d07df35ae6affa43345d2457b0424f523b3aab15cbdab78b594a8a62a7d84f67d78374b595982d2d0088463894c340ec889cbbf887ded8fdc2dc17d04e999a664e0eea8f7c67038ce587735f0deb6a7d9f629e396721c2399e23a388a7028081e1d3e56d77cf9c0534eeeaf711628846dac57ab119cdf21aa45fd229a736e81552181a6bdf4749a863e8cfb4fe74f671f49e82534e57a77eade0fd64bcc3bd19cfb0e4031a7b33acb6d368331ed3910ef39f0aa3bb38e6f8a83d622c8e538f6309ab2b64e4e4f33c4a1cd79ad69c2c31ae326d4241dd234261a9dbf357385cc8c7c8a26dd3550433395f99640ea00d15035368eafdaaf1a3bc9b8d2e1ed45ec7eb7811d379d14af9510334a3d64c31a86c08590b530c8ef2d85726fe575acd7510a158fbd50ab4b39c7595bd051747f4faff1a1237bf31dd1018e922b4c5c777920f06517401c94cd3a2c5f9d6f13649c161bd5fffd002e568bfa9330e0cb1b5082492808506b61693ed051fdc98a67ed51dc6a2881ed96e478db920a2727e1a48f94d5af4015c8c9a4643e13a1f89462eab2d0b2c6123fb89ca3991d9fbe4e0b85f193729c1af73a85642298ea4ce55aa77fba8435f077a54ce3bcbb0109c6b4ec94a1624871e1ee7ea75f8c368080edd7c846904d740460dde1576f26368cb18c23689742af15e4948787f9d289e63d2b8de1774fb044daf9344d75e8916239bfd7c67564e7f7cdf59e65062e0e68c2d5edaeeafe4e7b4ee0b09cfdc1e3367acdb5f26937931014558118ce942cea93f13267b39c211b508daad1f1287622cfa22095234b8a0955f0015baebb1f5e4737ed1a63699d36d80b037a4f0016d9112242b10b0103bab4d7aa07c4afc663db0d9f50bd8d41f5a367fd3c8b131a7a7b2c9dd4803b2d33841698bacb43784e45be6ef0fa1bc8a16a1866c12416cc03ea13f64e9ad0147c0f999798f0e9894442d947261ee955f46643a6fbc13ccf2429755d81e89e4f379274105235a0add63b3b00ca24fcf90351c38b6adc9a21924f2f8409ed0a33104a7398e5e5a51bb89c5b51b1de1ac9d7a20aeade0497c6b3132b045c847fb2461b3abb01cde2220d5d9bf0d1bf5031dc3d91a8d37d30a087c117fee9c648e04b8d1fec8ace1db86de8a1ab1958e582b91f716a83c57efde7f2761ba268a6aae2dbbffec38beadfda0e13bdc58277171fa0ab0883c276cccb402f1055e8695411ca0ec7bad00b1a73f3daf5fbc5f88cb695b57a6a6cfcbeb129c11b9e19ab54c28ac5a791c41da532c00b8cffa3fbea920d0298549f9f483a7040fb9c091b16d2828aaf1f40d5e64d0bdc1dc69321d6a48953ce725dc03e68819210952106dad2b4bf086176b642136fc8bc6130888a91757e41c917b5d275208a7b19e26a88c5ff9a2ca3e6a61077670f0486f8c5cd9206dc998f753d45696480b552c7aeca378f4ada96f90cac88ffef9111d4a36700cd5a3506655133ba31736e050ab7addce8b0c5171041eeca43e94c099ff65810672e2cfccab90cddcf710d9aacf9987199718ea8702714803dea91e5438be49d0fb93554c89a7b1e9a51d81b275a854a05d6589a7385dfebca6f42e861d475546ba60a1179dc69bee32471e829e5c00d5448fef7c311b4311b2822ce73f48184715b7fed8c700cb0fe829e90957f3824338da932c96e3f3c66c9608930c1bc3f66eca39d9420f01dd74bb1a481c5b2a4f104bd7c889bbd12361488ec08033e834c3010406632e3e4463232ca5f04f45623ceb38ba2e94231b840959545cd8284d0625d893dadb30e12e2de910c0acf10ed111449bbc9d45323b189878abe7f5ac2c0e6072c19f1de40db4ce0616ffc881e0a8ec1030369b0615d917f8b3c680baa33d5d53b4426547831026f48d41918412e2fad3d961202734e59dc932add8bfac481377550b644275bc47485aed7474ac98381e40cf4515694d7268eac089b732fc2b9039b465e6a63c97ed1c4e3ba914d3e6aa6d5290da8ce7a287afc1b858c35d48bba586a74b11fb133c6a980e17ed33101fba82fc6dd23c8ef9fe32942b8455df90537948528ec03d80e29b6de1d6b7732983691c4af7a858b309b4bd58736ad4e08a86161c74ec99031aad847e2107e42419e19b437ddbad01e25532696c7d94d97137039a26d2fc2f5fe4baea7183c61d341ee1964c624982ec45462dcfa2d619d78b0d0ca758fde77bcdca691bdc4faf654399aa3f969a16a837ffdd72d135340f2eb979291c33b7198fb5451f95b45fdb49060aaa40607e49c207ee952087e11f81da102c6d0708406b7e260ee77ae788a38247408e11047da4610fc9b1fb183144e6c5868cb8e1554474c659b3fd98771a0a9d9a097142268fb3096ff491e10583f4f8507a0bd8126101f650307735043e4401b564a40e6525cdf955ec7ddc95c97cf4bb1a124b79873f2a1dfed4f678dcfefa43f76ec67a9c7ff890c6238a8a05a8b64dc5eb2c93d34da19b5b33f78347bf01e8f9e14ced081cd9b0e77133f2c69c21a13588d790ff978dbf9c1f044b860a4c804b7253efd8abf50d8c4315ef240d664b6014f9c900f1ef8550d21aeb18febf75b4df9ef2a117af7678d1357399e3ba9deedc8224dbc1ec9e6f7f70981e7e1e1439331017bb8dd0aba5b8f10774984c035eab387a5a463ef89e446bcd4a8f634d52cad8b138543a5a77faeedaf431fb6fd7c4f26d2874f9c1cd56f019e055cc18f8efc332a7ade0b32b105c5bc05c80272139df4c737670ad0c1ca14064e13fc9615ef58a5d1e356eaaf5e0c9fdfe77acc1997f69934345e027f2969e74e8bc6f1114dd8d3cd703fbced7d5c1e45a36fe99303718decad1bee94371d086c93e2d5951e371f56ee7f3ce3cb266bacb71bd16740b2ceb0acc3a1bb9f4f925fc738ec4bb38cd74fa6b3607c11ed76e2fe86be74c83710fd9bedf1dc529ac99390981febf4c98e7c905bb555206190fceea4f5526501be54dce4e271d21aaf91566650dbd9ce936596e46cb6f60bd8043e8f5609fbb73ddca4cfa455f3bc875294bdc17ad4087976bb4dd3b1039e0daf8b6c5fd3451b5299e061fbacb39efafd39115f09e615b3d6258e690d6b5f490d178f142da314eb0360979af4c96a0c969a1dc8ef498a0b85ab4bb04324ae965bd33831358280dae4a5e2713676e15acffeab7abfcd4a3f05588e6c4e6a20bce6b44d52e14060152005f8c800df351b389887e57ba94f2f785e3de6b4622647c50c0086f6e9be89172bd6b45ba2cf4c87a7a2695dffcfc1646d504d342accfc287a2a8cac1d44dad1250977f38916664620f1d38252779585a98710ec2e072aa37ce01dd03b58fdb3c25a30a2708409da07fa074854b6e4114bbb1c9a075cbba69fead5c3a5450775ab3124a1947c7d5f40c72011505504f81f8d33c1743c82ed215f93b3ab716c078c681ff473bf39783218f64a10d0dfc5fe2284587eaa1f13c60377a0b31d1b1259bf272f285c9e26e797302a25e8c0da593f03195b905c2f6e05303c3ae5b6d9310991b8f4d01a5f30e7540140f78e245099b7fd87e833dcfb4eb4f3c8715d21f868f05bda1bc7ccd1abd08fe16d878f3d3436cd75f3a5b473e5e8f6642a213c522c8c26a5c4d50823c5272c541b43629925446d7678f75cb63f37eee89fd3b17f3e1d0ccdc1225e7345c15ecb2b5a6e01b73c43ede80361fb7e6a83797d391848be9d8fee68b3c597c15dcadee903bd4652c83ae9204640257885827e57dd57dc2aa178831d7d865953d3b00eb83ac4d21291634edcd749377002489431d51f2f2b5161ff83cd84ad8a4948bf1077074bda7de0b370f2135bb755aa4440d724566a6f61108b0b79393df07f8f2802bd7a602ebe918af5fafd4953d9b794a2c87c0bc99c29a77b30dc58c2a66edc5192d9e77c81a0b63664939216200e0146862b5ec179ac28127aaf2eaed35113521232e1a09958c91043d58661bddcea591193d79424494d844209cca9b2e3a621c85c1b94c321bb04625d6af4e8c6d88de1bdc5d417c09aa4afe90c93b6c8e010191906c458b31d5a1715eb86d54fcc58d5b9eb10cfb6cea5c6436d35ecda0165daf798a9c0119680dd341a1664734b67195ca6e8257918600961005c0bda1ca4f0d4e7fa92456f82f5d242d73e8fbc56794bfdd8ba40d338339630bf9210a3e2c6306e8ae2aa6fc864fc56f0b57a03027f642fe03867ecbf5cf9524c9a9b60b09e18e1d2983d8c98befd8d598bf0e0681da22cd0ab68f92a7883b1c8a911c0b8443f8439ef2a6f1df344db706559d8111fe42243a4fb31b479cc6d195e7a1b9ff8542e80c396db81c41a5ee2e102c7496ce60f52eb83f4b49ddccad0a0418401dea90c9bef16248fcaf5c3d70e3f7b66c597bd409dfb7c4d67875c74dada36107e2c9100b0ee4e68e743b4aa763311e9a0905faf8d1f1488e7cba1c69da53556140565494b3b2b9e9e0a0bab5acc910576f6b92b536ed56f165156db03b26b31f3ba7fbf1f8d52e84709f3bfbbb10e0d5385c67b149b40f6ef07c64a9c3cec5ab1beeef6e46bd69e97a28614d8015b755eccc70025cada6cd0969f7c7230a0f333e127710808ab4e6cd71234b667856c2c6a4acdf4781eff2bdacb4f7480839814d64b9667e23c2848c1290dbd229dfc0efd0f6e393b04998dc683642f292a097cf21f344e6c89ce76561436363747052442c25bb577aeac13a14b7e48671c7a39214dd366af7e566e7cffaf8d6f26f13d753ec8d3f659595320db543bb4bf48d3b4dbe11db61fc473a7b208c93c607eeda3a156f6084468339eb2f7e6e2564051f6b28cb3c4b88b34c962a5edcc76c04a270ab89d70754f6bb717966d6d4fa484f29f253811c7ac527f3916a14201967c5ded4df219ca14d8ab31df78efcf2b73aa4cf28c224a3c99b41bc08b12c0c440028ad17d5d5e50d4554d071f03e387d06b667d8ba165c0c7385f5e7fac7e051e27e0a9de315ea88105865dfe0db128185ff4bdca005c79dba5ac500090ffb6bb0c04917c0240b6ce84f2e6a127ca3fb5d5bd3cef1a9b701b69216dafb426a59432c9240320069d057c05f2bd8b893232f67b421c0d5ac020cff91f2c92e7c3f9a3ee2b409e2f8ac9338bf2d4a04cff7c0c65e8c6a21356156a7751b428caf06f4abbc1a5f080a3b5f122c72e07dde66683be7ddf74702e74aedd27df71c8cfe13f710b2e8c0165c82bddfdeb8df6651dbd887ea429f488fb66735ffcfea8c12853dfcabff2e77c1afe222e7e7ffdcacda77395afd4a26d875d186574481c9c437efc6411971379c3115f762e74f6a71163e057eea742d97e07e57efa93fb69111cb2c82d1916c1c1898cc34eae4f8be0b0432e3913b03fcc317f47e7baa3b3fdbffdda5f6d93f25eeef45a53f8cd9d5e3b71ab6ce2be6dbbbf9277a4f2e977c86cba1f9065fba5adb3c071ab817afa27cec4410863fa8b22bdc6d9e8c1d25f9347a9f0229b9cb8af450f475b0acdc1acbad1d97e67fb2512f7691956c00549ff7edd70d0bef73ffadad30d8776fb75b4f04d1c1babb9dbcd8d655f45f45fff37337c6db3d14fb7cd469bb42ba5bdbdd5d8d1f9d3603813b08e52fe56a13efddb3007b541a50b9d67274d2d6ac29515b9412877c441bb6ff6531d2de4b8e188dd77a3450f4694f187d1cd7117368b7e7f4db94f8bb2d3d1d9bb1cfd317630a207fb9d033d943fc3236442f996b8eecf56d50d5a1f4a2803e6fe48b5caa2df949381fd7d4bc1df6f3827bfcaaffdab0c638eef42046ef2fcd87d71be73f24596bfca37b3bd8822370465191916b121882364413060401915a84f3f6eacfab7d2ba43e67ee959e0ce90934fb9b9caab0c371d9d61c498c487a5070328e57930626278dc58f21b072fbe177f8527debc00071bb0c1cf0f4d8001ac79486e05fa4b2ae5c18825c8514a25db06b00d3a59da6b5285ec61811e84a065850e94c0208a1cd9149a131accc481d30b88a08218a42c52438f0d3d645286456ca041ebc185116e2bdce8e0a3812a6e5082c80da0a881f0a5f3fcbd906db40ca377e37d532a651a91462c9d86d01cc8900a267ca060020d9ab84249acc00d4ef6bf79c1a4934e4a29ad52051fe61cae82dd0d1472fc8f46f6bfc97063b5732a1b28380a397acbb7b41c206649caf03f4c22b9e47ba146b998effc6e7a499edc07830672c4991f75b447953fcc39a2cabb1b2864f89dca060a19762a1b8e4286dd927ca5260a62f67ff3e18494ea28e5863093935103b1afc0f0b5ecb2aa6c3cfd1d9d2584e9ec8e02d1fd5f79304a3220d1040e5976dfed6cf7d1f35677b4039320e921440e55f8900316bd011f865cd117a10107b99461111a8e4c24dc9e018645b2a6697706be51c5c27c41fefc9b1ad502b627c1147c0fcab00f1f3b5703660fc27810a6374efbd55dd1565ab7b2929bbec76ff4a2b7dae747c0a3178d3a18bd1c22586188372ddd0637fe8d1c2ba5070ca32733cc36c3bf899d808718a3522b3114916f864562f0995108941d90d20132244a4490c407203e355203593efe0110128240333c7264044b409bbf861ae9a6c2ef0a6b93fc6adbdcb43bad682447220b058ed12937ad8e9afd2527619dde93e41d9e43bc94ff8e10d9333cc2831ef9f3f20e09e812110b4e4576070455898bac7bdda9a1093b40b2d8d900138028610940664a00926408c813490072032c8020b90208125600614115404c800420af230009c10cc80d540089c10840728af0830953fc4002117e0861083f6242f89103d98f1924f99144107e1801841f2890e2071051fce8e1073f5c3ef8d181d80f1d287c34e1091f56f4c007119cf0f1031ef8d0c10e7cc074e0e388900f17e4c0470a70e063c80d7c88a0091f39d8c0c70c35f0d1a2416b09ac850513ad22cca025c5122d1e2069d540062d18c4a0050483161141ad208eb446a0446b87245a341869fd40a2a581237a0c75911e5434508f20f40b7af4a05dd0a3896e410f19b4113d8ee8227aaca059d0c3a757d04348fff4e0a189e86143aba0c74ea7a007077a089d25340a748ed027d091b50974a0681f1d1cb4103a4b74103a469a884e113d44e7045d029d9e06422748f7e87ca05f3a32b4101d1e4d82151e598c20c5028f2a7e48cdc9630822e0e1031f7808f5c08389203c94e810f06841f3c0638806018f12f40e3c7c681d78e0d039f0e0691c78f468578e92fe40ce157d43ce146d434e145d43ce0e9a861c1ab40772827a869c17344f8e0aba0339445a869c1f3a861c1d7a27c7030d24c747ffc8012ea966471ac9e56d148ab1289b0d398eb75eafd7ebf57ab51033f3641f4b09d1d078cadf3d8f719707f197fbf80ffc4aa7741a1a1a1a1a9a862db4ab69247c42d520f6857d523f0fe405c54498ecf57abd5eaf1668686862b2d990e3788b4e19696868686868684c270da5a1a4e86cc8e572b95c2e57bf5a88afe8137f22500c8ab0295fafd7ebf5ea1666700667700667708692a2b5504d1ffb838152410ff384601db338b895e2799717a45fb1582cd6b17ebd66431127b6224f7449180c0683c1fcf57abd5eaf978a8a4593358dd32d97cbe572b95c6d314ea5fe3d2fa67f1aa88332842d9461c73cba5c2e97cbd51deb58c73ad6b12e86a5458b9979b28fa584302cc26c7c8b712af5ef79311607b7523cef6a180c0683c1de652dc6a9d47fd1e572978b3695e0d7a0cfc41af876bb220fc2ff8733fbef75f62fa7390fc6a9d4bfe7c5f8e72dd84a4194bd056148af961591e88b6a1c8801402e5c7d28d2e1273dcb9ffff90cec4e78cc632e143d8f247f1ab169d7d5c785aa8fcfdc96cf6d2981fb9bc8a4bb93e39f483105886a4e2421271fd94d3fe608eb10f125569fe8c55b7d72fcdb8a323b71c69d882ff1e3bb50f46224d1f7191d056776381506237adedd77011f3903964fc3a54d856519e345cf5fb6b07d19972ea14b296760951d960a8f4a0bc2f8cb2d012a38fe82e2133d6fa1bc5831a6caaf407086c65ffc06f4fcbf6a44965f57006510507fa08c969710f65a910fe12771e08cc7fcc50567b8972f83c099eee5fb0cceb8bc7c1f8233ff32c219f5090965585ebe8533f3a5fc8632562fbbcfa6c2727daf72313cd0bf7631343e5363088832757603cad42aa00780cf633e735f741e5bf158be419464fffa44cf28e9b400fc3d3b91bf52ab8563916d2a95df6a2c93601c8e8acf9542f927d7f21324cab400d5ccd3a2450b9521a68a4f07e6aa9332e00e47b517e038085f361b36cbd6685340ac6969c54033ac856b69b5f09c9c3cca7f7568260b024a4949f9cfe2ff6c4e3df4199514cacb675cdebfc50cca58c12ffa3bb9df84a47670ff97d2a646b989c258db34cac9dcc2b1cc208c7f8df90ccb50adc2f3e9fdebecf426ffd52121980ba7d2f2b92d294b3ba516eaf1c352abd45ad9489a048239179d8ae55d7876e1545afee2df62447c61e97ee052abb413675486882ffe2a3ed207e96ab2853f159f961f0ee0961fd9836508ca58797fc9e157f1f199f9fe40d9f4df4996fdefec5a7e5a7e56ee2da10c113d7fbcb1507ea0096227cdc0a68d65f2899ef74bee932d7a0117da21bf10244b1dfcbd10e4055796ffb92cdbc85696df1dca90e839ca1028afe8792c8bfebb41505efef2d5a1ec7f5b3ed3725bd99f278fbee354384e45c85ffc9f53f9f117ff961f7fd97df82a4054e3d2a9f8f0e89b160e4298dad517583808bd4a555278c02ecb1fca2bfbe32d8598557ca2e72f7370ff3559d2cacb950e6eacdac9e87d9e55ba8f4508d9bf05f7a9b8b27f8afb1c96c27d2ab0ec8fc27d2a43d9ff84fb5a7c647f14f75913ee538965ff13f7b11c21fb9b5a7eb23f56f1f964fe4aadec4fe23e15a1cf81b41b24fb5f159f4f4596fd3f9417ce1fca2bbedd6e581851660215e6c5b4cd7093507642e6c3d9c15061354454b29b408565193dd8e1cc9b1630f44d9c2e44946494f9fcfb73f896a106654c1d25f99d657c295fc74decce61feb516e354eafff332f497f950e422f9a387f9ca7c420e3b460cc961480e3b88340865b820b38e9ee58d5500083365172f0ee955da0f86ecd9df6f8c28e327ece07fa7c8f1dd891cff8309885fa728e22ae2ca22dba7246d066efaf46749b3f6e218a3a78132609e8faf496b6dbbe12f7bf4928b4fa59492b4d5f08f7f4f5ae446ef9ce825b7caf151b411274f8834e4256d38ee7b17237a537a93bebf7d6dc361b9d153ee1365da7dfeda86437e7cd386c33f9ec0d1e03eff13b813b60d873c6d38fc6463dd223aec9c6c0d4db43865f7e14f6d2ac81b013fb0a01f23849c9873a2626ca8dd73625208c517d04f10923864e6b1869915b21f58d08f11424efc18d138fe43e70c75904f81a459101563c61041840a70e7253cd08da3113c4b3370132c211b34c39746b0b597440449ab88d4314d844527a28fe18fc61433c546a6d8c8141b996223536c648a8d3425a6d8485332d294ccef291b0763d97db5a20481e57f56b322dbff5033307db9b16cdc5dd2889976b29543cbb67c28d34a2ba54343594af86312932e0cc8a42bcb973c481784dd0d65f0f477d9c97f3e832868225b7006bf7cc903674c2fe1132919c426537af91a9421bd7c7c92aeacbda7713120c09a267dfcc54fbacfa2ba94843d91fd65103dc392a0054039291289e60e48f257b277884a1f6b473ef2fb9f84dd99bfb40e0e3b924ea68f02270e4318dc8289b3f0457e6f386ad61e4699eebb00e6207c9174287f25d99d693907d29d5509239564241c70ff979a1385678964b51b48d864328d34ca799e5c49068b32a5992c7a34984c9a74e1cfbeeeec03777603eea0fcddd92bfb9b3605886aeeac866bc51d3addd99d65ff6ba2cdc0db9b6c2c1b1fcaa537d958a596b4611b629134ca757d99bfd4509a227afe24ae64b2b1b6ae248b9ebfa40105374ba2af518dce4a41d95f2461d9df9664d9a50b4257746569129330c49bd189e7de128a1258ea74cb18add47c28c61863c7183bc67eef2ea228813f2ce3df3a83c4913a184509fcd90c252bc6f8a31c1c9f86bb153ecb508682a95a5d17cab8bb5798579810383e43bdc033caf15996186377193ffec749d97d363e4b29c19d65a422dbffb814b65c3bc90361e297a8e0913c3ec3299ff94cb338ee585c550ab9337ce760cc70eb9a0b571f096815bde8c57721218f01c11a9423fc998d866cfd71e5587f2e4f0a358f8646503921f60a6b7de643f3fdbd5cb95116f1258e86e277717e72fc58bbd190bfc4d1508e4f2525c949c3853e43843e644112c01fb2d0f645d9bf2d90636f366c9e7fdd657f035a4474d0e41c5ebea9b1f33bcbe5d8d721a283268bdee100be9bec356e72fc9a2f7e30e478c324cbbf74c912e9ee9b0a7eabe69bd52811a7ee5e27a9762e444a618837344a14dcdbc21f8e0d9d3403cb4f7677c7ee175cde306ee0de2435ea7c4a29a593523a29f5afdc6723a337bdc614d0353550aac0f6692fc93a7a4954a1de2ea507acba516bd8c9f4e50a5d338a2bc49a91fb0a5e33fa2bb5ca4929579035a339e75c61d68cfe52ad7294524a57a03595abb5d65a57a835a3bf56ab5c0de22e598cfac4d7d00ce867b6322c53fab643c1027fd295e98bb6156ccde8ef0876743969b5a4ef46c8a8e3c9f46bed5436445fbf86a8138265fa37bda9204a41b66096dc8781a16c235b396e1b2bde13d82033b08d6c69d18b5d6bb5fe12318e9ef4a12ca5cb52fe12e57cd9d9d0bf92c39cfdc19db5e8c554bcdd6747a9fad2156b6657650cb89f864b8fe54fbaf204642be32863942d972d1b84ce251dfd151392b45a916834b2a2d1bd9ab68daea66d1b890439482a9530369de4e9e4b14f33d910ec8eee52ce2927a5b55a5bad48341add3bba9ab66d245269d3ba54d21a63ad4d27136962e2b14d4c3488429d9ca0a0a4a4642ae5b15326eda4b5090a757282922253523c76ca890ea5d49d7a43cf2795ee3ee7532aa57c3a915c08218410767428e94c165dc2595d4e48ed909c1456d1a415da11ad168a46b76a90fba4063951f7f92bc3bfa2d1e827c3bf90fbdc95e16b33c78909fd04c5570c127122cf4c1624f4d33ecdd3411a67080ac9823e0804658dceefb271866d611c71e1aa3b96458eef43528ad8caf1677c2a4595b57aec6a491d73ef97911c7f02455a91b44fbf2885b3dec9f16db7443bda95e38f865a188d689ac8f13558dc3c56c212638f8d4bda0c5caa805cc9f14da978e24cb61a9d9b43c1137972e2b14f2c09d2c0d9ab634af03db9013d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d22528f88d4a343ed856dbfdaeaf461a6b7c575a6f14681fb23c93390fd5bde86524699dadd4d647e9c3cf8c08edd4d6977b7e7a95856cfb5b8acb850a954aa158ba6d242dbb86f7119915a5c52a914dd582b42b8b02e5cd08da5527154a57a6a8310b1a05027dcbbb4a0a0a0945252806851bd97debe4824c26184c27804c46531994edcb7b8ac0cb94165f225aaa2f002a1759d6ae5bb9615221a10da901b5425aca9346db32181209534d9c2f56fe386a512a5168bb877198d5a3a159f1248164e4218f952d57d2facc826015152a9545aa452504e502627132e9136ed8aa894b5ce9b548b508c1e6594e92d763270f7d388dded88b91fe338e7e452f885a7fbbf90e53746a980a30ced3421587523fefcd9b910b3ec3aced0b086691de30aeb70d49c1a7dc02ac65418d35a6ba5b56eadb5365a0b5348df4d7752c2d829dc30a2e64c516aedc6b2b11babfbe50f6d6f77d702f864add68ae0c61aa16ca091dcaf19018d7836d0886c0a298c0401f9c3de218b0bb01083260615d49d07e35b491883dc46cf3b52c30dc258af47d0451b6bd4376adbb55a122849e06f55eab9b1200c6669da064326c5943c1423f84b6193dbd2c6d2e1b264c9924c23c79818da0e3a655386e3a91df7e38dd55d8cb112f309889165ef5ee16845eecec04e8edffd3309ee8f56e4f81d21ecfa6487bd843069b21d3599e2b12195a7132046c1985ab9277d727202a744d5938d650367b9ff6463754f544f9b182194ced9a072fc9e5dbf0d9c7512857292d2dc1723c34f6d35620c46a5b448a934a7da6a446d4298142d95a2b5d858fea98d155190c09fd630b6d8582a2a3be2b71651aa8d6593cafdaa8dd59d04529a4d2ac715961617f8fd52071f51047fa8120a1011fc6995ce8ef4dd641555559555a9542ad148a552a9aeb6914ad87432419da0a4a4a654a962af0070c5ecd5912450e48089fb83172f240a2d3b0dd0f26aea092d9a9aea2277426aa72d8125149d90d00c727a1c574f3c93fe9b6e40ab8b4bfe1c48ab41b52d1db022cc728308ca58c9107b90bf4407f217130f467725153da194b655d16236cb271936527f205503125d03c90729f663d3c90562823250410e8b710e04614e319c4cb2c9912549c8f13fa722474f420345cc4814134343839f304131713a526a01ea4406a6a0a05a8218077ae14cd8a9b0ff7912fbefa71d9494d2909414146f227914a524522d966c4343405aa81cd18c2061c4640215550e2e0c76faa15a61028b462d00130956588820922191e343d96c655a018bc8da255a5c20c9159033078a9ec907209787820a09f9f02376464f03e23a2d49f7ec488eb16cb1e85c683089f79c2311458a07d8065606f56710c6040217ab88fd4588f51713905dbdf8548bae5d0a8adc7a7101a0b9e9732007822ff1fd089c61a2fee739c8b1feec4f3deeeac5ca45c7bd4bcb8a6545a5d262954a41395995562b94c9c984499b7647abd56a25b2abba8200693eeda08c1753deccf89285dbcf94bdca1160f9eecd44b6ff99b23f6d589630f8e4d8b01f6c1ae62f32ed3a066144d0b12833818665fa6e69a5b4610d731f771adcf3dc8332204b862ad4dca895b4c20040afbd8f94e3cf9300ac7407618ceb70e1ea734f736b6bb7fd6749ef3393c46d1cf417cdbd5c1fdb1eac96f2191ad7ae0d9b6f4763ed8fbacf62fbb20110c65f06c1ed50c8cbf231955042cf6b9c7a822b21b452eb8e113b962e2270ea5bd28621990bf5236b6903b649c41863942ee912c2e572b9304e224be12318958493a15cf2513f327c21cc0d42a36438259369b6ce8ab870f55d9e1cffbabc3021a15894e5a01ae45306e1aa8dde4bc95a3796fc28238231313131fe9242cd313f586e06f6b71b4bbee8bf9484b6729413022b13928be1a2514502254e7c18e42fb1065d6d6a32431a193fa608dc51c64b9a4823cdbfd2473210404aef1abe48e93ea514cd39007f29a54bd19c524af7396727a94b12dc8610420821841042c8cd99155116966aa8840c58f734ebd4cc0c04000000d316002028100c8bc4a2598ea351acfb14800d6c84426856369408439118845114845110c46024000000c010000040c618da08e8857d7d1838198f10e83a2a82357742e78a85ce0734c258a74ea8d4590626c1f442a563dc1038ba768257f1071dea091a5d07018bf88623f4c64d828eb095d6aa08916ef44733a2cf5892e7dc73c3ec18f0a28125d48226d40c67a37ad90c71010fd1dc0cbdff99f09da9a68a07b653cacd1038b30b1b9cd18e3b0ce42b197563b6ea5a60cea8d7c12cc725e48cb5686582c598a2d58ccd98bcb5f461e28c3fd40c614884e09f4dba69c2673f424b9feb7ea8206d357dc7c1ad1aa3edc48b7e1cd58028505a3d19b700e16af8d2aae0ceb8cd50eab427b01a3da0b7f3a3f03b834bc795a56744672350c8f878cfbb397266ace4c60bf9016725919d72a171378b31fe38c3bbd17b2ac68e67bd99b7337580f3f573ca6e26a41d6d3d80d691c894ccd2f2908eb4802808ae4e735f0b8e557c5575f433ee1f1f0a598726f1fb184a6632acfea04f443280ee75c9e795be7e3708e224b83d914e29e1ce9e41ccb7547b78ad74cd76ad007ad8d1b477c352c667806c9510f8b906eaa30a212b1fff1ef2e63d80aac6a45edc2add3e83264972af197610231b917170759c14045ecb984a8fe32e43d95363152d51fb1984619901eec098c263f7aa7332c4844e0923626410ef70778186661af450921139624d53e04a294a22c5300734f2796749888b8513048c1bc2084c166252a05606819ce956b8a487d6b56c0878101ae14d10dd5aa101b017851f6ad8519127361f6ec0d8b4275ef40530a82ba2a6205c4383c560b593befc3352c08a7eebd284f8a79bdd928f46dc3bfd33e30b014ccc075812cd8b60ab28e9dacc1c882222eac08d6933ee51c49b0f67d2aacab58881aae41491fb94c242bf9790dcbeba91a9f36a1461d74317bb89a89dd065abd84900da65cdd03d43660bcb580b6d8d9dc8c39e6c0552e2dfdc8c6ecfa49db23aa339a3925456af4970ba1a8815926a7c8408bbadba48baca329e08ff39c4bd654455f09d5137042c3dbe4538672ddb0adbb4c024b0febd80ff32634dce7dadd04d02b94e63180c7ee2f0ffc11f7a44987609d23098afcd7e4c485f33f2105768c9e3dee7b4fcf65df617400e0b2aed8fb6d545e161ff0b101f70a3edd1cd6290d240fee12bdae71c1df36e3750e981b14e16c89133bee1f3df5e4c6e41a5510202abadbca84d0a48c192d1d78758feacadcefcdcdd41ed0f8c8a6fddf386d5e16a5efc605fd749c9b49ae3380abbbb2f1e8ab27e82f0f6546a1792f0254c1ca3b82ae2cd210bad1eec0190a14eea6c7afa16fef10e993c1976dc829e584bf9000d16c121272d1d41c470720cf69d135cac210e3636fa6935691fcbb70cea903fc67c2a2c2ce868e1a09ccf7b6e8bfe0668cbf85f33734ee0beb09243fd585fd2ca93246a29368b1fe71cb97c0e652b83c43472a2c010555d06b90ce54567b61e8ff5af6a8042e330a4d8deb9a69a5432b2d8d866e2f829a1148eab9ac952ad9b39a345c2da84d1d341194c02df8821c47fe8ce9a38d5e5dee08288cbd0dbaeaa1fd9d0c269b97ad4d8321c56c5ac71231bbb2018cba9bc7c3551222bdbd0dbd19cbcc0516e82a127409163f40c56660e0bfcada0b739bafaa38c31f6d2f76a10bf91e068bf69b9c434c432c11d60c5db7f3c2d48f34ace37ae8e49edf57bc29e60c985ad825406230388dc71f2e54af008b56c170910b6ca7a5c339ef0df540ea9564fdd3faa2f8a77fc060535b04f0193530bbb3541c8035de4cc1c0c4e4e3e65eb8d07d82bf78513a8c35185a7a9d9d5a6b51bacd482d15cc324864d46d928d370d67634545af9574814681b24292afca2ccdfb5b5f91e49cc2aa5737a833ad5f727e4a5b478e19046307ba16735a50cecaae326ed8bba891df86ddf84acd2848cd6aac0c0fab3066cdd4a64467c2b1fc39fa03578c887078f63b2925b87e8713144bb2c17375755e45e6fa85ad35804c8429adb8c2f024174310e6425c57a7a895e886dcf8a6132633cb82d18064b67cb721fe5b73d3c0601dd411aae6afa5f08f267d2379068e5ac88e25bbeb8c55ba045259eac84a64bdee265be3755351a2e0296004e544fe8377ee7034c2c57749435d009a711538105a28cb49cce3c6a38944f33e6873da5407b85bc7bf084423734138ca0435d11694654d324373f627178fbdc9d27b88c9e4b993205b085080799383cee36d3041143d63e28b4d08302197e1c4c2cfde3109d64cbfc9eb1555c5a9e1466cd8a50a6aaa2cd14344f2f995908bcce26554086c5e03bba6c2068517df7f9a242542ea04820a3e809ce587f042a624cc7373e4f3e50b92c607390f0905910e22152668ced630cf4381f0ef99c13bcf301b6270996ddf31ad016d0d74f1106e94bde524c61eca4d6596e45c2e46fe5dfb858799aed892e51e96fa785409bab44ebead606f29b261a524e419849851c1951bfc4e321f63cf6aa75379685e24adcd87a4be567882b6f457cc39b5070fb5f43d932bffcaf40729b96e8a5d4702a9c1cc4f576f1995e13d096dea5e18e9ad37e8b3d2ff43888ca11ef424f55789a00451cfb98190da408c9e3d95314b686b81071b98c60b9ace0d35dd26c7a28b94f860cfff2e3709b14ba6fb5341036bf082c8017fa0a3da90631c3dd34147fbbd8706c77b7bcf8a8b8172e1fa97edd53266d059f62c40d7a59cb19735b3e5720c76004b54ff091d66d8342c1d4e5096978ce500114f85aeea02cf4a9848940074ee249f35accc85c4f158b52406b069509aa67944952a2050f05a2e59c29cb58ef3fe36d171e278f4cdd206f40ac0be983702503a929a6e6b8b8d42216a7ff1b161363e41c7084c35c6bf51662b76df5fd59706b26ba4e7f032aac950f5c2327b814901d441392e68c544e69f772ac4c2b0aa078a10063d8b326c99eb368f101cb94e6224985dfa25b2a377347cce0181650d466bfe74e6f15cf8a44304b100d5af1e4e32428183da090a82b8ff30802cff7110d30b9981beb620063d03b308c6baf399eae7b476dc721c6eea448d81bdd449a770e07e5482ea175be2505dbc3f8b3b745a4732b77156679d83aa70f0c1b60fff2132ead3ad8a119d1eefd691b1e636c25d5d121487ed5092f6118af2618cd4fe2a0e244e6ea4de298c3b68d9e9cb1ac6852ab38b53f45f19c078a63e9248392b5c590e1663739afafb7fb02d3e244484aaef9a6db91ac4805da8ce3688ca1f38d9acf141fc087435ed05724b7eb86fae80fbc2aa43ca9265fc5609a07feb2181a9998ad84f25747e49739ba7917734445ddd41ff2444a15416d8eb188a8dfeceb2fc637a0830611fb2111d812ed5ac4ad56a0e2b1e888d8eba73e41a0e48678ce09c4e39e9b776f7a1ae094bd415fc36d81ce62d38f5dbafa4d2a02fd9a7cf190ef7e6b707c3660e77c5aacecc662ccb1060f6ab380e79429961cf2a9ac28df606de657069874d2844ba981cae5aaa6740e5ec84c7149c2653a22d7a7bc0e4467879718b01701d513b4d9cf6ddde4a9e182da1fc3dd4412368b552abdf9379f9793b57f55ee1fd73f541f8b9985e740249ae69ff19ab4c0005900a599ae0cc3b2f74b6adf70a17b7fd2e60d244ba0b99157a184d84b74a333cf0325441a6320a3206e64c746e56d50e4281b6c0f0e1a76e46b7bafa479c2bf85279083f9d223f804e228c3cd1da8b73002750d906754925a374b9008b526c66afce8dc7dc4e0a3c86c6d203e216e67872563c7c2129c55544999622b586d1829cfa325ec3a4cb0ca6bef715b14f1bf0c2376f2c1ac61d4220c7a120ea34174eb39e1179a6627eb5732797a75830e0a401fd9e4c0e40dcc00c07f98d0931078650c2264f2131152fc01e898aa5bd3a564af3b088a3f17c494ce0e0ead8778146d2252c962a02b5f9c2b6f84d83662cd5b754d42dcaed10b60e24a6f1eb7f7c1f7992f6c69955157eca687f5753a5348fd751797103315b5de5c291f3bd4974ec9b2dcef0c1947bfecf7eca41fd570fd4aeadf77bb41e0eb4157b3f00c0b4b94cda7232322138ba82f793ad2b413d354f42695dd64983afe212b0ad4183d79639924eac8f9aa2018b9d183b00682bec76f86153d684517c06263257d166a8bffbf1c3c875b91ef21c637cdd306debaa585ea049cb8e93cc62575b694bbe7e552a8bb8510f3eaf45a0ad9eb7aa1a3e1f9445fd94d8fd00912103b4327ea783e2953524ed1d65c4ec07136a5e3b24b1144a3c569dc0aa8ac888b3e5a5f5a9f4006a395721a209705879691d9354304f359bf3fb0e2fe7ad42b91c805d388f0f4df51762316d2e98149631fe6184bfaf64588f1284de67d0627c71182a434a87a09ef0ac31cba411ae9d14dc1c59ca2b6a58ccf8804c006e3df1543edecbfe204e68dcd2a81083f50cc8b1e7adc8d85d608543f4492e2293591e34f2d1ed46c6eabcd80bd59d4013cff2ee432c00dfff6664473429a0456486d8a11471057566934b9092a4da8bde0267db8f1a2f0c96fe8d85e684cbf8dc39459cc3c99766a4e8dc0db219111dd6e9612244a8835e05fe0ce7c93d04dd44ef64dd598a847db6f0ab0cf2e03d5b20ac3c6cb57c3e16d3a89acc02f33e9fb784fa6aeefa835d837cc031ee49ca49922830c2f9ca921868d2eb1906e3b524b95e281383cf792092fa59e417f0fd17a274525bdc0f4348a0a53872441630c63310fe627267c042deec28491a3a2d7876eac5d65c9f418853d6529cf6f593a23dbbd40567054b4ed445c6241ab4c15c12b59b5704ae0a5f00d5956fe7e2086bf34524a7c6eeea4c595a457a99a85810e07d6a689481fec2c6f2238af8b2a4c12f5fd7bc9bf9aa4e15c8be6693634f4a29ca4132297a41c97274975b345b544d78615c39ef0e45311259d899f3840f2ff930431d3505c5e82b5daf18704b76f383ab7a74cfea2e4f7f98bd336d9672516a69570616d218f7eadc62e3ad8e0c292531c12d68bbc5cf35718c50f966caa53c7510c86dc0ae61ca560e215c51f8c3376c384f35bc85a35dc7b9170af048895c405e9417add03e078bab7ac2ea3a8c20a2800ba39ec9bf6c74bc91881f1e11980bf307ea0a89d0a20ea0f3e04859f31bafd98edbd0936f1c1eaac5e90568aadec90a3a79a0255665c8720db37be94bc0e30c9c712dceb857410c49e61817a1695687ab9d055f0165d71c18a6f9242dc18534a810e2ac39008246615ef5db30d4e8a107e50f1aba5bbb45decc303cfce39e8c0dd8ad8e317bc1d8041900e93b009954b2b886515d5f2d76ce2bd88b04b8ef7d78a7b02edf385fec4ea9305b179aeb1ee30a1af0bed5ee9b85dbcd55d6b3a22954a9802bdf0c2a154481a9ef5d525f8d3321ae02edc8bf117b647ff9e9aff6adafae4a58a0878a41654208790e6771d4a7d462db198835e0badf5ae3393b56ba4cb774e10fca82e08c60121d0dd7538ba7c815d1e24a2bb8e8dce2839b8e5443f4d8ad332d1a5c11ac0b90fc20c30e048e38347d460210f7b9013dd1a0f6b1ebc8a840607b14129c3875ced3afcb7e081bfcb0bfbd1ae89a7c888af3f01d00b508a98e9f31384a2d51a7b3e073457d1f9773537f3b180e440600eff73a2120885cc07ad3b1c40cec78db29d9d579db09c6c6356f8e0a187dbfdf041417fee9d670b613adc3761ba58abfac3ddff0150f82d76cc2d74cb94f3fbe143649be6147c54a029f29407e8c3bb46ecd3faa61469c5e7c38fb86a1ad29a2bbacdc01e8e3454803bfbfaf1c1687513955170a9e0fc1621a8e66dd7b28b8c329d41e4d7a30bb7e73a03499744116e93f9d0a78881f74007062b131b546a61bb0c8e20f102c8856d199c41f20ba00adb31387350aaa07b80eb3898dc64bda67b57db458cb905c1ec17890be8e43f7a47c2e01faec66483ea617fe14dae2088fd92e222dd9ccff28858cc4d21645d4d41ed36dd3bd02e60be2030ca3d967698a62180ea257593edf6336e45567c87f079fad23ce7de2da363d04ad3c3af8cdbc7bfa27be0175be0c12bf75cf4702202c47afa872f6d3457dc96eb62c556c14949ab9786fb5d98123eb804997b968fd40a41f9a955b9d8dd9a60c566e62d175eb492c2575e828dc9dbf18bef57d7270f43f3c2d0f6b93d21a901d0212bcf17eaac9d1c824bc04ebb3117b2316dbb2d66a880295f13ae953666b3aef61f6cad1d6c8b95602cce3cf30605719e16afe5468ef890a47901aad419ca8c3064e18b8fce6e524daaca2357ce28f9222fd3619e6ebe5becee43ddddfc6ac7985aa343914f81fa29cb2f2417c9fac0ded5ef24067ef69bf6e68dd0e9cdbdfa9309099d95028fe306726494aab99c3c526bbbdc359d40a88ef96f5d5bfeb44d7bd7cefee43e4b11ee80023efef0b4ee52cae85d6e058cf41bab1598d21f91ea77cfacd3d611ed57b90f2e303e6be024367f04ecc051b3ece8b89e00a609e6e3027200e4524c4dea3807fa2ef31d64061012f0d8f01dc1bc0a5a2e6899cd03f0a5ee56ffc5926c33c5cf4014bcc234baea5afe4341b049f6fd4702189742b35126d9fef463d7264c1a0667feb67b1abffd3f7c0392ef98302dfc1dee22c7101fab40ec96a9e7a77fe8e8b7dd6b943b0d1947d99f1de2e549b382b0f3320e6be44abb3a974361ab616f85d2c107aea7d5187234d05e36794d479cf874211feeb0e21cc22750d4aab24c105a2a0c9e360a4771927a0353c7f6601dbc8029cbc10710ad1ca6cb77f6905bbee442c06164c3090efd29e7c5f6cdc0efd2d1b32a00e9b0178a8bff114b2abdc13fc2a0dde7093d0130fc933c611b00aad1ce33151f917103b0799796f721803f5eb71fa37cc25fd80558363e97e5103aaf278fd950ad2770fa374b220116b5213623a2151e73f793d8e2da71e02d072be93bf64c5a320f16c663f9f3166962bb266db8b10c8a81ebdb5d5665873864f40e02e3ee02f6a328546a932e991200d6ab506347428dd137697021c7ebd70cc880c1d0780c31b2fa86f5ccda78a99667d7043bede817d8a9ece166087afc815e40b03172807d31c1e05278fc2a64c85f100631abb4a55f41154743a4892730849b9089a5c79ba02f19bf122a283f3a68a594749c95d42c341070cd0b170554274c71b2659d7fad6f1313db0079445bfd4cc74b19b01e18b45400a2d0bc65bec1e719407e0efb72571618731c982496bda1c0d6911643d258fa9f798d80f694d04f61f65e8fe8f82af4649bbf584755fb5923586ab4f929a59a54fc58a3e95d71767eea41540ae8ec2c891bb0118fde8dedc171ea3d1e3f8809d2367e4572ba5f9643de07678cc4a4d1b1ad56edd243e9143474721dcb96a246c2304c14e14516996e2c4a21170ec47493193841f99401730635b93b2efd91069c0e1373807fe28890681e4a47b9b115740d084bfcd9961d3ae9feca7f1c854f00ed4a7a3c5e630bc008d03ad25cfa8891c39237f5f44012363febdcc79cf68a7339e4839a4e7631a3cfe78dc40ae7da3c2b6fe825a05f26541c799181f7450ba4a0397504c891d2a0313e1c39f4de2c55d1e60ce351168162662bbf1b8de8a90277fcf06bde65ec0595f59bd18e98d582f8210f3fa818f24de7e0a3a15e574b79a727615eb1c9f036799a3c81707f7ba33b6b50b88dc4d0211edc4b7a16a9829da7b5fc8313980433998f8ebc4a9026f80f17f102c138536d9b15502b6b491e80a8c991ff2667de046e30b29139658e69ccf399a6461ef41997e206aeba1c215f77d12224d70322e44ca0085630a9e3891dcd1f6501aa7c801fba9f8312a5eec1dd6faa60a7b3a9cc8305ed8cab39923258a1f80678b1dcf06fdce8fd21bb7f9bfc3279e9ab80d6795f418ac44e056c7dafb181e07930ab8a6501365f89f4512687b4f9a167d2c9c3bb9ab1688b48b6300281cf86c094d49a9beca140b96f84be443783ed22ec774d099a86cbb81fff8f0a95ec0615db32fed4a064124827ab74ee090d211ea20bd7f5b0ba1df3e0ec8315fe6bcf74ac22e15f6b02148790356d0764638f02bc84ac7dce1968c0303a7f7a8b53ded27bb1880197678a63da9c0f128b2f3c20b0188b915ca4bb5a196c46ed98a0816140dc7efaa0b28c4d34d8994f63b72b2504bf620a4623130f640cdf6d3b4ab0dfb6ca58f3d8da0826465be1444bd225acc27bf45a11404c268a7dd83852d1552d797a71282afc87f1a69b029b99a382939d09a0bb9cbd5bf48b30dc39be91adc0fa34b6ccfc313c1723f1cb327fb3aad203027760210a3ab136b651d5813e2410880680d04e3a5e20d796729c3c712d58e50b6edf686273c759ed94c9600da7be57d737aae7d0e4c25b9081d0653d4aefd6716214b9fd508fc47a6e7d2ae9bbe04e414ad2f53d4b7a3690585d7c060f762db8de59d479b434f8c555f877a5451a672efec0e9506c04b62b0e842f1474daab11f2b461c98c909a827a879e22e0c374636b7fd43334ac57b33b95540a8920119061bc8dae215888bc05263fcb8b431ccc4ea362f08ad16c7890e4bdfaed704a305040281106cfecaee0f7a92bb1613f2f2952c0afb4a1343ae07f3b45cac93aa7447218f7281d221c3ef533ec376b688f084cd8868c252dee2313c58b3296a6d7426090b2329a2c8d7feb1a6c9994b63aaa4a6f3f10c4040eb6c15f89724acc04c996fe0a5bb1fec9ddcabe704c28c1bddf63eaf451eb68f8b01e96c72d2ba940994172f6719004e834587517cb4b4d6798f61572d090261e135532c6ddfd30cd46108f1105d7d8032df221651611feff56d58f68b93ddecd56cf2516a7f1c797d6a7e6be994cbfca58d2e9322ff3cf41fba7655ab97c0781da28be13c7d643a483253e3ce95166385e7a36ec7c89adf02fc4c4c84db826b191b5fcd8c018f34cc0950786ccb26b2b47ccb10a373a3cb04b7e7bc81ebd300c67aaae6bb94aecc73e250e4b44f61d0b7b246e75f2cc5b3cc54a163de5145d8b3d134a9dde714180ec813bd00b8f5dd0ca1ff844e28af6d68308ed0fa9f2ae444f1629c5f191e27e598a9be48205824b8a2bed2ac599535175f3a8ebb4d5efabfa07488d23c574c55b0d8e1212d22dc56afe9529d8213ca4d812f0aae21cc51163e474ced9acc68e872db02236c23ba6362e6481b59737e8b791c10b2e03df03bc33a0d5671ad3fb0b8464fdf5ff38c0f8a8106bb747d1684fac2209622c2c9627794da152fdf606fa637056be2ef9c7bcabf28a7fb1be109d8332bceddd95c289e0d09c6f912558349f73ee01e7d33f242674734491b438151dbdd796f1135e522e516cae24a95086e7725bfdf927d6f693dff9cba9f666a5302079f8f0ebbbab108c3411f8acbac0841229cccfe090bc712f2af47c32f42a5ceab36a2394bbe8e516ee89ac799fd2c01388c9b320022e28716176529962c76a44d16f3a7ca4a00d0dad8e252fc038984e8c35a0ee579c5600d4ebcfdee600e38f01cabfd2d9ca154a7fec46353bccc8093550bb743f49af699d231592ed41749f1bb70d913cc7255ac518bdebc12c20f1145ddcd0e53b3688a27ddb5cd2b8e6d6e30cf93a6ae9b27ce4eb494fff122a7b6be8544c578a087ad432a345f0d31d97d9c3f28142eb2fc7c202960b9ffa608069d56194e4405ba5a1eca973a488240fbed7aed28d42dd9621680bd67c472ab36d32582e3bc64c3b1b2680e4cce35e2e49c576f772aaf4b3efa476db448e4770dc35b93fb55667ba5167773fe284ab0316a7d51b9b122312b65030e74822f35b9c859b14784eb34081c7033ccab9d50995d4946d3232cddc384a881dc625e3728bc30793e21a56ddde010933676537152464a0565e4a5103e8e86d89a882896c660a6559c2be8143eabed4a93de1c626c3a8284ec57d245f802e4b2108a144d30dc78c147aeccc8f4060714842a92b7bf0580aed1476ca9de84fb8a9c638d25cbd2fafddcbea31dd5323861ed064edfa6bd7c6ba11010e553dc2388704bb94a3f76650a8358aaa1db1a1779f7628bd397838c70bd9de6f8190ba460909c31063761a6723b9e00b461dde0ade0fd7099e5594117c4af94083523c18e187cab8b428a6f6c543aa5149d8d4e110d0b6f1df5ba07680cd8000972500cb2860c816e0120330c7a3901a351c5c8766f5de1f0452a209b0010b1846f912a38df5c407f0b31fcec553dabd84da917c02e6c0118e8e27011c058d9967087685ef0cfac85832079112e9942c220fc87b08411287b102576c575af416ba8d74ebfba5dba471cdb5eb61491d932b4085bb446c82026d1214bbbd7fb516e9d76fa74e0c70c0fb3250883cb53f3d2239d678c331aa7217de5517d6623cbbdb1af6ea98891894b41b6ac3a131e16d010315cabef8b7aa9c5848b8ea9803e8257744fbe25cfcd9889d03db581aed00eabe64b5d06fd77480633775693bff90416bf5ffc5b40146e62d8cb6792eed8d2edfa0eb9d13702d492c115d9d8ca739d8ad42c49645263e7963af52799503a75c0dca0e379262e7d12710cdebd7afbfce68b75a5eb3ea271e276fb347387aa768eb92b186115f7c96e3e8006c3c0e67a3dee05b6601b6193574ae7ad67689cc5ab64e8d001c1cb5bd4bae3f4b680bf8a39b140af07292840c79b24a2e41c318061ba10111817666e6f62d6ccd6e55c5bfe0bd674df866b8c93417a03698e03c0a9de4c637e32d9bf586df6ced9e03ab21a8b6c3bb9cc4d0266f494be9353ec6337e3c602841fd561fe2e225d2c866ed623efcc33f3c600dc73ee6f17b6a0581a1450136c102a96df92566972fc38e44ef0187e52494cfdc30909fa5226c371ba7aa422a27d9ebe7444e720e3c59a098170419186cc1effa31181468f21c135bd4876233351a6206293bd5740ff0a6eacf3964a3f03c8ece67efaca2b5b7007f64a9790ab95623e29d5f85c0c1e792e942d7ac0f7c58219fb75f24ba39878e95d08589d2519cef525bb203908ab6d45a125604da8a1a4a5450a18d70f9cadfc0a2e47963d966232cba760284f6d84e1603d5450728d6980541af92716f78d0be7ea1e97f10aa5e9707e312cc2af01be46ef82bc98a706a501b3818566ab365486d5a792f5b7be36ab1632b3bfe2395f6f2f267b57b3a7bb221a3443a2ab29cda516317f580316187a83a6c2e453a6caacbcb7ec0b41d3c397e27e08d2794d18bf5aed1f78ba3b43c28d4972b81ee0a352dccd0e617635cd22c31dffbb335130efcf02dd2cdc0475014c3bd0dc96bab28a9cd42ce78c000f141a5515f651962209a784d7ba2da6dd33d98dbf7b200a8d25960dafa913389ab9dd7ce49c99701321663b5ac311651d5f67ab494506b4a54bb806ccd7073f2ff241abd61424d775b0c708ed0ba4455a6f9451f88b4188bfeb8d02e823e14a5c578daf244c087610bb6ce4ba33c08f2ff007e992fc836c2641e3542d83d78266a4429aaa1463497ab5e80300db0661dbf26e0286a616ffeb373c20ad5569bb8794fd06badfb7de97090991fbfb491a9d99c52dd404519a7e897da9d8375506fafe44535a617de4f76e428457c4d8b7e45ced26f84a22a3f3785f6edb5853b9d86c44f3aab0033f5ab4418c41286de1c081c2e026b2efe00c43a6806275fba62e09ada06a86fb19084a0a16b390f0febba323415104fe65cc4166339b034dbaa679f4bbe3e8b152faffc7ffc7a0614fc95c8c556d4b992298dc911d6c2c3cfd36ee0fa4f602d37473209becbb613eca16abd71a41be85590588318accf41922502d91fe9caa7b3227d7855a8d26f38e315dec49253e35410d54ef554d6419c39486c11a0b1b173e2d410bfef1f2b8e525f1173de42f99bf491dc040cbb8f67b6f256cd9e1dba629491795640a171e54dc4deec79f68d59ac136b05701e8c4a3bb890d3a9b2b39b86e8df18e2fdd2695a5b8488bef6b257f56db0920c484db01df837d2d4cab0e6afefbf08390f7eaeb345ad9119998e55009d4cffdb0cc8a228ba7531edeb6313b84fc8024d12436e36a6fae2f36d5e605ae39272a4305b4c21c3e90d9063bc2be6427e3faccd9192f5dbb787e8a56709859a2febdf3f056ab68f403deaa15223249d57c0ae7e8c7cf40268eb87020cdebbabceaab20557aff5a5e0f7c1a8010f1887cc06df10f75e353f57138806b657ab4b3b2194a20a04e948c60a33b93a1c0f71f6fedd9ac0d5b9b0ada7642ba6854a4a4c65a9ece297c902f964e93c3116ced968638b6bdac4e380d98bd26c8884db79d766ee9ec13937bf4f9eb7bd731672a8a22bf9cc499b59762db38810923970f775248c6219ee39c53652c8df96a2355774b54e2a7ab29c437b8337d942338a721aa5cb5520d1817c10cb4bab6edb7f1222492ea9da221755ae9bfdba62a57501a2c3071375017acf04e8ea0f590d6681ebb70845203a17bb42f03d2043837e27d329db8f6546d881000d935f9805b1161ec434539f797fd62ef61628c18cf01cf6b510d5ae3f2511ade895e89701b09247798081a72011e6c6a9a371c8e8ac38e2c40fcf87954bddb220063b4448a0b6e3a2d902655aef8e6e8be51a9126f1ab1c90470a6b21229e3f22d5faa31fa9bfe0602f8b40b166a66c9e95416e0e22e5dc27fb3f817e8450cafb8206499eb5be1681dc3645f47431c3634da56eb993e5bd1f7744e07522465a18bab0e83dbb8426f34f95635675950139219d0c4088b0ba0fe635ef9ce719d4df74b5ea487e3bb2364a0630f3d8a9756a23422d9044be5a8cd99494d17c73077324fc059a42260bf67969d7d081a9b4610afd5cb74988a24cc6bf0e5cb563df5cd438096004e2471c26bd4202715a200a6277697897d4abd5e998efe46f63b1a9b718df0ca3235f54cc646ca1c1a7a281449dcaf87fed6ab1967fe5ec5c38bd80bafed64cac6f485f40440627bc52198610b9a59a663580b11d54ad0f2fdb62a9070c1600d6968c1ffbbffbe93c7c137979462a49d3fe489a73b2d15241d5c378ff48c3db900536a1df0d9fbd618755522bc953201cf093081d02df0b2db21fe5439d8100120b299efa91953688155cd55f694f02c8536ed7ef3554ccb0504bd3882616938eeb5781bfd73028997a366c92e905d1d7935b73332cc182781b8a016e9f978c6b4b719ff6bc86bbb8895b5992a3627552b0e1e517f8a7301a188143272683d13271985c20f40ca97c1695aae2cbd0d3a73662ee58bc140c6c6b357ddc928c5b6210c3880838c4f7acf4b97006fff985f6ade34f266058c44cd8690743b542fce76b13d76879dca1ff11ebdc72d72dd5980fe4f20bc3496aae613b5ee89017b4c4ebf688952c6204b88a82d3e550b47758c1721c4d5bb252fb845fa2b781dd63cdfc3c47d7f66635de7b95e86974041b27c579520b556e33b9b1dd7cd00174c4595a6ed3140fa50e8d690363e88ccf1f543badb41e388235405c99849b72006a33f1dd1a02922a1e713bbeb2e26fbbe6f3dddd59c6192b888f1f9f29044a5e20f2dddf216c4aa9171ea439f8a5e59551e0b7e0ade28b94db548c9bf2c9942112648d555d78324fa5b97cc7fc69ebb43d65cae6dacd4a33a4beb12595b0eed9dd884ca0bf5a2491b8bb1390e9b2c68a315bac0e93d7d850b0671a044fa2a8b05bef3bc96a9659cf43d89f7583591f0a885a95310e21acd20af45331ed56813ca1f19b03fc7137013821f2075be1dbfc1277a2b21e856592f44f0ad25643973f4daf6157771f3511a5aa26ff47468eb85a460ba55a95f3a5c26bb1efdef514a9b5380f6ccb89bf65cad543ed07d8cb3a23993619d1b1d03829ae070aa6b14d57e0785c9515fb565a4cdbb5fee8473ffbc248ac83286eef4ba00c99037de3375f775cd3a3ceba90d166cdb7c754aee155ce3d663dbb2859af49dab627e42fb89d6e249915c8d125bccbf69f8e63e0bb4079e755e0ae8d57cb0b8f6558ad328f4b7b3f103dc9fb771a071db1a73b3ca54cfda48f6625a9b8a0f3fd078c3f565f4ab3d50c95df63fef40135b024989717b6e74cd059fcd4ab4dba8a47feddc34da2ff0d763d2799b34232c1cf5c6c9cfba924c0a5aa9e775f8081372c5df790ac8241dafa41634abb04d2da49fc1107fefc10706d1e3550f494465d5ed10324ed6c5e9cda1670b54729d9eafc21b96547006eefbd2a10dd3bf34311c56bca0c27a5a81c0ed0b2ff63507f50d1d3357561e354e1934685564250560229428721fe84d645f317554eb07802ec7c0faa8341d6fea4ebb819adac36e8aab4a808b478c7e6ad8e715c71a3ca653098a81d18a0dca60af21a14cdcfe02596023b3a449bb75afe2401dfbfb3f93cb1a686334192d9c619800b906ac8684aecba21edb47541c17424870d451d1d609a846db20837564294312bcbb46088b3255db8c1abba13ff307c25444a5909ec1fa95ab22ad251d1f20f96ad87891d57e655b1b3abe3a880e47fc33f8dce2b083d65960f6e3d3582d322d1183f18cd8674e3f32f45ef5deaeb5f9855dc601648913332156e587a6b944191383d1dd499b06a2df57580e70acf45ffaac3e7129c077d98012a6fc9ed799d6272daeda5ec31313a345297ea386af25598af5e1708f55c05a0f0a30afc53c02f7f2bb22c33d2ed737d1f5627ddafb8c82925df19e95169689f6041296b995dd2b7858824d018eefa0964b87ee20eec25f90232ebbc71de949388fe14ccae0a4663786ac6bf567e9319b6392350fbafe0a92c8ec02b1b0b4a25401107795d192612b05a03342dd0e37acf4cf93df418fddbc60a7cfb95b92d2735bff0991154a926dd9e29c1bd38d9417178143f12d8a4766282f20fa19a7d9753ccd2dfc7924a2abaa55d29393dfe5330129452dff75c4a0d0de37cd6598554443113453d005813b8d05f0644cb00b2ed321f355cf6e0072ad7f209cad9b29da8d57b62c22802427426aa5ddcd98969e24fef809ade8a552f5994f37d247e07a1b5da1b38e14d52b54cf32af317e4044ec63a0de9973b7960c5ad68f95a2ab9a213c7de08c47e759a198a2e49c46722ecc52e1a3729d0643f9f91c9ac3828b96a9c27145659766f2a18e73ddc6a75a0e44e5bed1b80932dc5c21b0330a3da84f0c1307f5611f021890a57043d123c4fc104838f9615ef0a00fc5e6f9348bc45686d283aee0f9a2adf5494690a6808719dc3ab7a6ec44ea236efc6ac0a02eb2a4a1bcf9934ed3d842a90c79ec0a22e463220d021005411b847f21d696cbdd2cb6a682cf19adc4097e8cd902fc3c0a9ae4d61c0fd5176c8a5ba760daf48b7a7eab700df58da1d9f89fb045ad13e19b049a26db94c19dd4f24811529bee2388bd1e3c9b6087c701f51bb4028eb8880c9a19d9513927c8a7340d39b13ef8741cf0e9f2dc0152f023493c08a07e39812e0764240431f61184b16703d3268fccf593f6bb8305298f3d74a2b6e0df4e66d1a51da8dffe8a82ae3ff152c414f79d48a4df4c348b0a3acb0636e49917c2d1ead5e29b5224f1834d97a9cccf1a0e39210d6e868a33b4f355570e6a50c30a8d51d6df50ac5248d4db3649a941dcdbac0e4f78caf14d2a1f6793ea4ca3029f76a0912ad85b75ab8583c9adf7e90e60c776b41c9a9d52b8e875f64a0b7254bb76a70b7f62544bcc44f5fe4d75456516c6a078a55f700b7f316862e07d7b57ef6fd29385bcb1f7a54ed2fcc09b5a97462a7295b08944dbc6283f525c7aac600ecd3d21abdfe41d903d32b3c1a7dd4b2ddcd138652090b0b4f67995f2ebe9c477cd5c775dadce7e9d9696cf51964df154f9f8f9e69d4bc52256b555591ee5ef9a1c4119bbdbe3067a5630cb9974fa1d65b5e092ce292aca7f751382688a5cdcb8734ed0ff4acdabcecdd8a8480c5b47eacb07e799f4c7f746641cb277ed198bd683c69bc3bb4b1fc4c9e83465eb1d71e95660141cf06e3922e7f2136ea1b14b3b0fa0ff99f7f69900d9c85d4c3d5a95c8030004b93036728cff276c3032e7a8cc3ea6d394d8887cbe40a07a88c2f43b2d7322da5dbd48524a8392589106f0ca7775263ff3cccbac5a0c718299d9efd5365c566c21b9a72954560d6deaf4b4170515e0cde280c34aa3203f3c06922652a24c93ce5fb5de9771dd910d8ef72a88d955a238d574982a9348a101526d8d130371f232c337a10a00dd0d5e3ed43d70f09503a85c8695d1fdca4ed5a359223622900042475508ba32fdce9f24ad1d1b8f3e899f582bbcdd60cf44e4de47fcf58930c0e7bc28095a9ba91555d5fc8c7aa188130bd47945804b22dca6b1460d731c4568697c3c5a9a0312c7215c9f8cf5331317bcc42ac9d0045056f536098c2f49d606b03202e212340d800693c5b64fcaf0b686ee2f088aaeb0e8d3ab9d03799418aba8ce6f4c17cf1acec54e55e4463234a13bac816e21bc080f76c2cdc23a495a96aa6a13f4b43111d37426b46fd2d66a70d9444d6233b610af35c7858d22216c1711133a2570b31b4a12ee44975983e54924eb1eca8d272e5b2bd1552c11a2afad51447d8d30b213ba717239d89d0ce0c6eaee88f15c88a5f878d86149a0adf35d9ef19ac2397ac3f71e362223bd62e0d451770267a010233ef5bb1f05140f6697658652bb1a6f60822ee680376363501f322d8504d93e68b19d94b0d9a528c505de1233cd9f40d2e1efa63f6b385d7c8c73781e2b535ff795fbcfb2ec0568ec7dd47df7a55ab954a241664bb3210fd57f6164e9263e6bbf6d8401d29a9e6345d5d8ddaaa5970cc2b8c1be98858c270fe31345c2896a865e0e464e51dbc19680aea6d6fe00b1d813fa3542e03c77a54247bc8fb8364a37e0d1b1c802eaccef04b36805d7df56d3af14a5a69ed5b4511e6966f7d051fb91ccfd072f8b56550ff959782a98da57fd93181d0cedca143b4b8c1a60d3e018a0941d9f0727ee81d322118f1b0bd7b12fab080c230bb01a1c2ec1daab6525e09fbe8dbbc63c45f9dc101dc2b4a4d08b0187eaa196365f3dc6538897bb7c95c8782a7f68a84091f994fc79252ad2fe8bae5eb8670a33b0ba15bcc88ee15bd2efaeb5dca29ba5c9775bdf5e882bae8ce02a15b24ae7b5dfd6eba85aed2745d5c4b74dd3bba42bde8ca40eb1627be7b4da39dd6b5ee121a5dee055dee3aba20efba6647ef128be85e45af9b664577598a6e37055db7be2ed0efbbb211ba8a8eeb5ad1d14d67a1bb0c45b7cbb2ee7bfe2ee88b2e99d1ba4463745dd7e8a2b3d05d82aedb5d79f75d4737a4bbae4c145dc423bad66a74a55d6b2b47dfeda6a0fb96af1be28dee2c842e714e776958ce2e6b7fbaea73beab519cbb2df1d7ad87f9ee86e5de6dcd57977e27ba349eb7cbea9f5df53bd3d508fe6eab7ceed6cb5c7703f2775bf6bd4bbf535d1acbd165fd6f577d9fec6a0c4fb715febbf535b9bb21f9ba2df8efd27bccb2f080c901a84c7b09eb2e5e1e7477b1fa1fdc15f4124c4c45c47148d1b43c96795f6afd92ae3b77373437dd1928dde276b2bb313c5d567e74d1f7ecae06f375b5f2a74b7fb3dd0d86abdb9a8f6efd9dee6e38be2e4bffbae871beabd1bcbb5afcd7a58f99eec6e1edb6d857b77e4e74378ebbcbf27f5df43a6bf695ac06a42d032add4a9454106858351d68b41b4f83b2f17827593bfa08117e8dfe625b81ddeacb76d456c4ff91ab7445307d400ec66b22e7e0461da0e42f1c6355126e628bb2086bdc55fc5126a1a5963a66dd88ecb6775bdb5b6e296592017b097f0907092ec86171bfe0e5142b8ee1f96e81afc0db052c708177dd0216aca05f56bcd8b7140efb86c2b5ef27bc7e2a8b3f84e75b053ea7205201d1143134681153e73b0ae7f94681f713df27f09b3b05de527cd0110234f5123fa2339b4931cb9d828fe25f475070827f2901450932f55ef25364ea2f14c81aa8d3f87c3a13c9489e6f13b8ec26bc9ff82027edc413deb509fe15e4c4bf849a9071911631655c2c5efd2fc76233c7d0f8f19da78ccf86d971abc77c3d4c9a041ef3f554ef5a5eec7b040efb66c2b5ef21afef958092a0992081775d822e419740b44e027f14caca7c3f35efb84c7a09f7afa7cedc4c7c9090eff41243ac08bc87be97f0ae47f0af2011b49da72cda25feeba9980328947bff53d410d6eae019d1635a5efe56828708d14d596c25eef39d84f3f856c2eb7759c77a1713359895f97cba957899444cd460d6bfe54c894ec3c5cbdf417ec3f71107f21d02fff99e798f6f24eee31b09f7f936c2797c1fe1b137e2f551b993b450921ba31faff98fafff3f9e62fce3676e212490c47c9c8777083e4828b6f323e50ce36b891ac657927c843635ed38a98ee4eefce0199fe7f15348d8cccc8fefdc41ff42e2481ff1af111861e483628ee4be422067a8817acf7ae6374634b11fc1eb099a1f4ac890bacebf9090e111198ee0894cddc807bda6903350237e63d43b5e46c81a9f4f136955749d29f3e2e5df80dff01f70204fc47f1e04dee38b701f5fc47d9e08e7f11ef0d877c061cf01d77e08af7f023afd8bf67542eb185b111729c28a1e3a118d48fd8007404084168a40333533a1d8013b040766accd3c1d1882034035be9f5a430c432c6728daf87eaafd9a6d58f1032f65f8fa7e6aaeafcd03446c60033c1d1882034061e8012236f0436cad1db043700048ac224f0786e000d00636e0353742d15d9ece63c0795e03ae7d06bc3e973b0dfc10c740109e810f72224406bc1b2244103ff3f99c72c559c89ea9d04f99e63935f019f857d014a9d37c3ea72c30405363369535157a870fe3e9fc0fcef317f0d84fc0615f01d7de025e7fcbe20fa914b85962810f72522de0335fcf0fdefdf0374d6ea898a1bd29ba29d25ab97aae6398eb18cbb53acf94b9101f391c1daf2ee4251583bca4e2057c7c203ef6b0bf31ba31a2229549b9fa0fded5bff9e16f9ae4e0a6c90d1533a4ae4465af7463446542785c295f008f3a341f39988f37e6630b08ff81471fbd068f611e6f8c3cc4636ca688ca84e0d70c8f3a82c462239e2902024b2abe6631dc82e1f16a5852f187bfd2caa9bf66541643e4211e5bb9e635abf11f78e53caf9429c7dd5b2385e592ca6a58ded9b061e3eb697c536b92b59bd717226f9acc5007d74c811243a4a2e23531442a1ec610a9b888c7561e638832ad91226da813d548c9f4868a897301d1a9df3499383f38f59b22fcf5fc8073aef88388452c93ac4cca16cf7cdc0f17b0400528308109384d0db18a38c6d3791f9ce725e0f56dd63ec84904fc48109a77a20422e0c314579ae0da08bd733843c3abaf659186e6137dd2c878f56be6a9f1f588f835c3c1cb08295287bd9264ea356e50e3137d8a35dccb9f83dff00e7020df83ff3c04dce779701eff00e7f90578ec7570d833c0b56f80d7a7596707f1bb97035eed898fca0bd0a1010cd8218750fc53eea8e780074080871cc4e7720f3df80e35a1b8001d6c03185023fea6836d000376b8516f886f75b00d60c00e382a0ef1359befe7da6cf686f3c49f3ad806306007588589dff9013ce49083dbba001d6c0318b0432542e9f02c52acee80f71c9e8986a514471ab9ba0d1d1af0568ad51990ca9565cce11f58c04f19d65ce39d0ca813b759ad76a1eb4cf16baec1a18df7f2f7b802fe064fc0f7701cde8723e07fbc3a900f3ad24d3b367810126ee7008ee4ee18c06394f48e99a286ddf00af01e9f00f7f13878f7f308f0cefea9a64614dd3e974331bc7163c38143fbe1b9c643ef0e003bc001de47f51e3a55078f41645bf30f1b9b9a9027266a301bede6a6c26034fffc95a2f5033c13216ec70637c00bdd1d1b704bc7dd879a1a4416bd756a62626c661f3d4407e2b24e8db7dfc0e3c7e76d789dea39be9f9b6b72d4b73847cb20c3e7d344f665e6e13e2fa5d8f343842832cb3d2e06c1f3af2022d84b2ad619be9f9bed0c34a052a2cf57013e3bcf13c063bfe3b017806b3f00f10390773e280889ef88596c2f7f01ec077ecab07acdf75373b8f34147647c4773981ff161c72b91fc528604f8d700fea5648ad405f0728ae3ab894c1df6af28660dd4b50fc0dff87eea0d1ca24f31c49ef85ade9103001d4fc3cb3e48ca1ce38b28533f5264b6230b5d0c5f7cfb2f226923ce78e2d71af169c6f957d00ca9cbf0af2554a46ef3af9b9754ace18700ddfc3a226da8bf8c9030ea34fc901791b4a12e449159a6c16f7c3e4d44e3cdf03097e183621ea4f91122b3d94e0eef623f673b5d8d973b76885c4fd266e6d381ee68a70ee4cac91cd667be1e91cb9608d84b29ce7c3f1c8ecfe7945fb32c6efbf8b2e1892ff3cd0739091d09b7e344f44efcce1d4cf64c89ee8d40d976365f8f99c38e03286953dde6eb111d25e271089b9f52ac6ef3fd70b9c6bb9b4ae7aba54d852ed6e0b14816bf9ed0bb1a18d78b4b4dab8565a5a646a5a6865553f3d5d4ac54174c791deac4d5d4d4d46cb646abb466764d8da4404af40ef168447ca9ddf899bbf66ebccc1a08707ccb50f4cd3baea7a4a91a17bdfdc6770ebdbde6a5b411b1fc7a42fafaf1daf8f15545a65ee3c717944c9de6479128539ff9b1a6687c39617c9591a9fb8f6252a62e335394a9d3b831cad4635eb3b1a68b4cddf5234d924cfde5479a266a4c7959e135854629535f79cd6aa4bc886acec8d45560d108325d155c2a564399b58445c4e2844cfda4725b32a0365a8bd0e68a4c23b40835328b545b8b54ce4817d18cd85a8df4a44666116aa48bd46a8416d98cbc8ab491b9c33ce20428254b4b96942c91b184125221e33b335a65e9b6969690e8820baee036d415d60576e3b88de3c21557685b584731d1d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d46487bae91427366b3d3354bcbce12af444c8d62a91c802164d69ad5fcf4d81e0f6a956a90bb2b66ddb3ed4a9ebbe9e9b0241d4e9439dbaaeebbc0ba6700d260b5711dc956aabe0130bde2bae922ab494155f15487c2b168bf5f5dc14085a71c19415b70a24ee151754f97a5256ac783b6eca57aeaf7c3d370582dc15175cf97a5256b07c9f87921d921176dbb0408d60fa86c8181a626262ca01938deb50ddf70eaa057207b509e1a4d96895cbb5e22057194cda5a9d550c44db66adb5b6566aade59c725c026660376b4db005133ff8029a96a75f1054b0562234456911f39b33cfe9796a95dbbee8b8793a6dd86af2d432878e93ce1e3ac17ada4e13c3a09334a30cb37c37952eee78f3a4e0183c38d519abd90c2918c54a39536311293f1e33834fa40d058db60dca073e9921683443945791eec9c1232ad2cef3943c6f8c06956648fdfb7a847c631011a2539ca05394c025508cebdde755a1ab12ba1e6b89d055815e08019366486dadd5560c7a0106f8f1e80c22cd1084021ecd90d6ba7171db75687d100a1845e87adea9366bb5aaa253a552a93a25c1d468248346d286a22c4a4355140a85a213d528140a0593028ba40dbdb725fab8211d4d995371e2dcf0ea1b948983c32bb67e67d8dae2dad60ce9b6e4db94cd288f60d1b64465af195ecaf435f3018b92cc994a9c564186d4250ecb120b136b88caa6124e9db584ca6612fee2aa33264e6fe1d457b389d35c38f555d0c46924a7be129a38dd85535f299938fd0377158156f48e18250d82461347c7a98350260e8f530793402913273b75508c89738353bf4354d6499cfa5d32711a0ba77ea398385d03a77e89644e67e1d4c122995385ccf9e1d4c1235089ca7838759089ca7e9cfa9d51990f9c182432082e01f1119cd2c3c72b248b9979979f06bfe177389097f9cf03c07d5e87f3f81ce7791c8fbd0c0efb1bd7dec6ebcb1a72bc0c7ef333e0bccdf6e150673b47e818663b327827c307d5d9ce11224634ede4f08e7af9fb0cbfe13b0c0ee4e7cc7f7e1ef11e3f8d701f3f83dce7bbc979fc3cc279bec7e0b16f3138ec1b0cde497e86c06709beb3f0c6e22712ef1afc44c22709be917c32f1cd85cfa1ef2dbcbbf899c4fb073f85bc3e8c9d4b4c1138502bcf267ca8612c4b13e766c964a982c4b941810c290b537ea59b26ae6cbbcefb90dc982837064ca222758e8899c44b29724932673af17a09c1be7764309d780a7bb9739b6839690a4ccd14bde499a21e702078bfaa5d8d16312f92eb098d41352b92dbe5a9c4d710d534a122f518223ae3333ee3344a869a5812458d222a9a100dd9b0e1334f9a66a064da61c0335ac01c87d30e4c9c4b4c11cc26c6b064f5f5ac3a8b9f25f046fa49026f2e7e32e1bdc5cf2154ae134765e564ebca0acb6b96a7929f23f00e87d3ce4c628ee04f3d67127fda3975205b8e851631b7969669bd564b13c3ab80e13d2972d9737171b122f86e2ef1a817d44b83e185869a9847b83e9fca03946be52214f1488c2222895efc4be925c64bca2b898aafa1d7d1abe885f4327a35c9928a18bb9d4aa4be1fae06490666a6881631678a905ccf7ee7a9e46b90a40df51b14c0c0549f4abc8d2949fc6b46c55976f1d1b7f81a6370f135961ae96b9491e46b30097d0d3366f8423391789a20244f330bc1cf4ca1e24c9419ce1c89e1678c668a827e66e9c8cf4839621ac194a9cf9952a6de4d492e97dff418f08dd10c8f6a90648ea8d1b831126db53145e688325a8cc7c8808aa816c319ff5a12867f4531c31918685c30f579a89b12fdeb3953a2a74e5efee682dff0bd05f7f9ee82f3f8f682c7beb5e0b06f26d7beb3e0f55fb219de897fbaed852e7c909c3574a1a6cd78d5d7636b98425155559be55975163ec849fd8237d3071d018574ecf4171c09b7d3539cc9bbfec2bf8c98f2a795cd03d6b2341e9515ca325b985ab8f6c2d72e3417b8a022c48c5bb7a0059d2c30b52ccf0b88f2f2f715fc866f2c78ecbb0c877d57c1ebbbe49f9f39028294a96b53a0821578fc4cd138835a85363f993862cc6128d092e1cc11abf5838a0cabc7be4ab17ab9561521acefe76281f5fd54d69c31a22a2a5850a93c7ccab055b0c2ca4a9d0215ae70059f31a23298539f39a2b22bc51a6b559815caa8c26dcb438547893d85b7b6e5723b2f7f2ff90ddf50f0d8b7141cf63d866bdf51701fff22a243405aadac4386773c9696fcb584ca5a52ac13e787537f054d9c1ce690ad8f8fafa14cdd878cd60fdfcfad3feacc1329fc0cd24c52147ec6688c99a2992a66ae903674355334530485958aca5bc21398a0e404afdfd204d612582a3a4f7082521398c0045f5902cbeaf3b46f31bc3e4beec4a72a2a2aa89515315c4bb1a058585a8c0fd2c410e353b286d41094ac41e469b1be9ed0bb9497bf89e0377c87e140be91e03fdf49709f6f29cee35b09cef37d048f7d1bc161df6078fd95b0c6bb08769501301ea5ad7c3f5c0e5d636161b161b0a486648b6a11bfa286b0f6082d94083f44a7a53c57044e093aadef876b4d25fc6b96847f0d4911cad41b09af25de45f82140d7e5c381eebc663bb04470e91c3e13cdfb0846f8d712305e42b408446822b80b467415d0cbdf49cef3ed85c7be87e0b0ef2f5cfb1682d757c96210bcabbfb1b0d896961ec2106c277921842fb40e42ab55514378f1d6bad097e96a98cdc6d0d82cb7f2f58440f8fe81d767e51825bd2346040d1b5d45396628e60919ca56ebeb692e7ef00d04177fdada6ab566cc1312e7660a190e51d9cd0fbecab0b68b8bcb8bb7e3f6165c7847bf1eb412c9b68b973244fa975073f1f2f5f4163753489c1b1ac8700995dd34a162521e6f8c6e6820719c0c19522a73258e5bf1f16696151f5b99c5a564f197a2dce251cc16cc26337c8981c5bfc6a8c1bf96665806152f2853a4eee35f5ef83cc9d48144c9d47b8091a93b192da7ee4a2da7fea20317cbd713fe2aeb3c13209c0788ab55205e4a1196448a4c482764088514a9b7b4b47ce26c5979f9bb07eef31dc5797cfbc079be79e0b1ef23877debc0b5ef1d787d55d6f921a20f81e243806e0e1ca8955b0befc4d7b24bf3e045fc4a5daef64194eec10fe9c1cb881cfceb082dfe75840747bd837f09e980c8abdf8f961b8ad3181a529b0de5b54c73f09d3b196967aa73e03a537c996b0e9e8a4ee3eb517343a1454069b1bc4ef2fdc43b8bef1b781b7d63e16d83ef1a78fd9bc51a290d9b2121716e762043faf2f2f2625f3ad6491c0831367a10ef2742bc7100c491843bb199a21d489c192c6448bd9bc162cb2b2ea5b8e2d4613e9f53ee1be02c62b2f0761bfbc68190202fe50ce329dfe04f79fc2c7e88406c75b98048e272b5d859f80f98cee2878f7c038f1fd1c7d6e02b8cd858c060be9f0ad3587c1b79d7e0db063e7a00f920a1d64e0f4712ee0421b93b4a64ea499e3cf11810eb3f3feec391843b3d6a8cf591857e7c4211881683114d17152f7fc7c06ff88681f7f82e721fdf55b8cf3713e7f1ddc463df3370d8f70b5cfb768177926f1a787d3003f920277d85152efe34151e84246c193892d88e9376a281e08a6f19ba5c2e574de892c1bf8c70f2af231a46bdafb0a28aa2a641d3c0616a604211a6678024dc71e2e49b8a0f42e23b31e7e136e6fb99d97accd7c3e69681b70c5e4a9b18c0a0c9bf9430711eb198af478ce956d362c9284b2dc628ca37b2fc220a52722873accf6ef36c8baaaceaa76db57f9c325dcda756bb325debd369b554d3a6665b9b9eab5655597492caaa4f71fa9d14e85cd265c63277d6e1b8cc43a7b9dca9da0f2ecf0aa486076819ce1f351fa073972192e472339cd2a70beebd3b738739c7aac2d53cbb25d049b963ce96dd52ca386e93cd83b61277741f5dd37cc4913b895b5dd3b057dd623aab77274ec5945e4e66893364f6d763c790cef5679e320768e6e9da749d496ff01b91ccc9969f01680e225d9e5e4a4ed63a8f0022356bad666d871cae5d29b7d5ad6aed166b561382030a679db3f554bb6b775720da3ee07cab1c97399f5b0ec29d24d7524a0e8fed5bd7eeae617381733943ceab775ce538156f86d65a5b394ee3acb530b95dd228ac66b96229659e6bcee1717339b7cd7b6d526e436da89373276a472f6ba7cd394bb70d6b38f44ef59a8b4c23a7499368e858e54ede9d7074add54f56e338b7f8946577adb336eeea9c56ab6bb569a841e824c6a974ce1dd65a3bb3f48a53e9cc734777779d16cb86491f2bd0ac4ad05146f1acd9cd6e56d37ac4b9ca1e1f0977ba66adb5b6adb51657ec23a3542738e7a4ece4ddf6e0494a8ee364a749e9966a1dcbd2a7cb8982ae4fce49d9e976a7d39552b2f4216f9aa669587a3df994c9414e7e02d2f249ebc761843b3bd79c9332946bb8bbb9c11c44e2ca71f79ef0a8398737cda7e6564796554ac9ed729b75069d0a0c9ae6c50ca5d78994bbb52833943e5f2586db3ebdbbb52469235d4533ca48ba0ffca8492942b7d63ca61625cbca09d1a474142a50fac595335c810a2805a308444f5c394331ae9c218a52245c39c3299470ba8414ab144069426914943aa1140905569c808951120ba0e8811952ec60c913d66bac9072b3d6a746de702b0d61563abde8a57bef666d169030438aed53ad5217646d9b10b6b0dbe661c1082c7c43601786869898988abc0802b5f0dbd10c09b045e9ee8f07277b6ecb599bd25a5f88943ca6d6758b725b52b1c59d625d4743c76628ddf368a04ed029b119e290471e92dbfe7d389c7624151bc3cc507a2af5f534ae94d24a5ba077efa594528faaa82a55a954aad912e42ca7711c9d30db690a773aa15029effb52a99511d3d214d93d29ad55d3aa66edb6711cebd43ab59c62d075e0edee59e7e4aa47cbc8922e214052b19357d3a69d5b731ce74d4ffa37b724c748ae5401c156dfab52e1ba5a61d68aa5ba2c168bc57261b180bb289494b2161581b4249ac66d2debe9d0a1e9e0a806a4650d0fa1651360d14ca8ee3b312d211949316a297472e2b8b45a58b2f497952c5d56a992256ba5ba60eaf33a14b7590d04419797560bcb8a0aebe5a52ad156b66c52197a2d41c794741a08c25ae79c54a60243f15d82fe4baeb2cd458fe519a361ca3c8eab9a77cdf2881241e6284f2ef09c4d21ecd3372429d3e1750e1109c0c72a14001feb6c87661406152357a74990389a94194e1c9957a74a52268357a74b52368357a752644eccaba624a5acc6abbb949d4e2668d8a4b9d192321b1abc62ec7386b107cd703ac653e8c6073979d9f01b1cd335232af38ea82865e2784a330c43e2785090e1f49600f0d8ba01c0e3dd8135a3d15b52cad34f332abb42f46482de71a568d89c39cdf24b2b4961b21f935eea25974eda3e268dd4481cc7e5e4d0564e8e16cb79178de7704e584e2ba8af8766c77535d1e35ae2ea3e04b8848470532e3ffbac57a9fe9fc5ea70be7764df47546ca389715eeee03077648666d0ad724ccb528b528b514b514b93cddd371a2c2595196b494646c737512f69692273b0cb594a5476e373afc863d24d3e55fe4e2e29ae242a4e18b77f338c4b981bf212692e1f2f114b89a5845320080021d76c0a00b08bc601e037dc3ba232d790cb4b1215e76d81bc442ca54b94a7b39458634810472aebf89626546c92555853584c549cb397292f4c47b3a545aeb0b4908a52291bef8232c3e937ef3a9a214be9858f584a4d0c0d5d1514dc6f86770db9845c336983e3864ab56a316a296a6961b1401f4f4bf274d9bb70bc23efc87319b592a5fcf9cc1c03fb5eec6566d246bbd76fbccb48ca110a25c30741c51fa808855cba81574c8890536c74f9f54c6e388e2519d49490a8383d8f752365e381202089871ca45040e5f341c9fa58f96ce8ae8da721f6fa00e8a0799e4fc704b786bfc1421499e51a5ecf44c32e28b38706e3c0e6c3968f89b77c3d68a6017b3b0d33deb55aad1c3984704797d1eb99e4f0195e4686a731858ad3634f8349dae4700f0ad33da5ce3d1fbd25a45983cbe806cbcc640ef6c95272195199e633e52d452d4538478e566bc7a571171798ad63e4ba94abac5c3b8da5c151f3cd33d1fcf54c606e03e62de5e95788ca584a44f9e4634b91cbe65d47549cce529a15bb8c6cccc2de45e3301797afa762272d4f6638fda5e21623185cce5f3e1e9d5b8a566e9ec90d7f3d13cd6dbe05c70ddc62e30a09e5e935cf51118a96222a731951713ac7ddfbf2f9d4cc83978fc985e2f61445d1e562f1ec77188630302daf6752c36dd4c02e1aafe1ac31a6383de6eba1c12ca596a2962753e682825d462ea3560bcb4a4b85d55aa92ed83a713029eb3d8347231957fc3fba96e4e9fe23ed42e6c74be3c730e6c716a69173fdc8bdfc18bafc48bb68fde82d3fbe64617409e5e92bde519eaef2a3e791a594a7b37e6cad7e8ce5b1a5c865449e7e7fa45de4d16534c6522d2ea3b1954797d148230b79867974190da95b4b519e42134776d33ea3a74c91399a45a84c913642411d527a7693d2cab5e44bedc1ed96a236bbca51594b5173a9d19634d5f59b49e8244dd793d6d6da4e9c5e924cb2a7c8999445d2481e49249924a57413a516a2a2103724d44b849ae8072a2e714c572e4924258924452225d92091c249396e8868e9c4e1cde225ade2b1952551936e0203a42a92b2983cc8d3ed6604a116d27e58aa3620856138671229ce7132a1e1714231553085a610c533c9ab4226c9249984e26186ee13475219a599b2d3f330c5e9dad783729c8ef3cc5d2afb81738eca84c4f2fbf03924dd6ef230c3f90395b5900a8ff782a7b72de4f99429cf730edb2644de0f699dc9c3c4c9402c733e3d071f50cde4e47dda9c730e672096374cf3792c0ca7d3df84a06d5a105e561a0794e1743ca4e6286448c9ae2ca3900125cbefc7cd5cad44282d62ce224d2ba51ad5c2d5b4928a2bbe626969bdb8ead2f09487471d2d2a5ecb0acb5371967378a5c5c51523baccbb18be6cd4a099f1f0bb0c8d1818d78b4bab85654585b552a5527e410ca4e5adf314eac340366f3e7aa76d04d2e8e9745b3fbb31aeab7ebcd9089196aae5b5f5e4aa5a58a5da545b4b0534b926d6aab0e72d955f95dfd6f5aaf2db721ddafa917bd252b540d58f35ab5cf68e96ca75a8ea478e0a2128d8729da972a099bd96ab5a67755bbe7295eba85ccf57ed6005b2d9baa8542a95675528a5cb6da95452e52d52e52c52e52b52e52a2a67a97c85c758ae2a3c02596bad954a2c8d9a51da849ea6c7d5edb4612344b6d336724f4edba9db7ac7c9372ab626d9fac835396ddbd68e72948feeee39cabf77f771759272bcb2fa87470d696bdd5147f515f6413559b0928358a967e00a76153cb6fce2d153780c3f3cc64e9e5bd7fb68734da9a56852f2e62a3c7652be78d492f2a6f246c22ee352ca667ce552ca685cc5a594d5701bde7229652f7f712965a1c3d0f0f0a5145f2fa568e3a5146b3ccdcf3cfec7de33194c63f3183cea80c12e3cc65eb00b1ec3560b1e9d05afcce4b6a93007ce52df86470f0369b943593f59dbb2bd19f1f92da1a3eec318b91ba3bcf338a116ba6f1bb679b7ddb649ee782f95719c86e40641b99647c9d40501440491b697faed8bc2b661ddfd6486455df464e2684613e7e4dd464261c3504df26891b8279745486e57f7d036ac392af268b7964c41005d15db305babd21ca2b22ea26227515910b349a694bb1ec674d8ded19a96afafbcbd8b5430ab8b5678d490b2466de6f0b88111c8e68bc76e0f82d291fbf0d8f2f0e81dcb311db9f10864f3097378e474e45132d98669b3281584b245b4cdf35cd3569aaf68f536ee5a8afaf0c93d6ff5f9ca5b7dbef2569fafbcd5e72b6fac609c3e48e7327f3fd2eca55678349257eefdf79d3c3f9d562bd799a993779d7b1fe8291f550edecd82e08741bfdff6a9befb81dff7ad3effa66adef939383f4fcdcf9b9c53ef50270e8f9bd528b7a48c5c93e5174c38ca4c28cacd44965f2c218adc81751b653e69ded115bf3fde0cb683176c07afebd0bbf9ca072992fb2588472319dcfae4bd39d0cce0fd93a3c69a59ae6ded5d77b1e7e0f595eb2be0caf515d07528d8ee7d9094d30cba5cc1a391bce235df760f740fcb19de152c0455fd582407f11c749db972958f2a482c3cae7cb55d0c34f38a8f2af8faca592f67b8c2a3e7b785c4c6edfac8e57bf36de57b7d5b1963f9faadd755aeb3aeaff0d8ca75f45cafe7ed60d5c2538fabe4bc1e5d46e1f1fbe1706cd59c1196a0448c2859862cbf1063c8c5c529a5beb9784729c563b53fdee6a837deda2b12a52fb3cb0b41737379b478ac2e3fde6c8448bb1c596f17d7a12e3f5630f2485d66eb271717b756bab8c4d48166ae42d06c802aa5dd7cac4867880186b52f2d53f8f65ce7e2b4e5d625880b1efbe4be6ddbb655191a311766e5527961d9dc654bf9b7812ad68a8bb7380d178f71719877fdcb4b2abae0b18585c4f269c32c780c57b00a5ee10b6ea94fce10856debb6266a05445c96ad2c53320c406ce2809ecbfe36ec717376ea4eb86e5ad0d5a1b2e63899b797593be206e15ccb63cf3a9f4d1c940b4d9c53fbd6de55079af5d475eb5133875d87f686813e082282009a38444c1cdb278d8889739dba363b69558b869db09ca1766494474c47dccea33cb2c1079089e3f946c7ce63d5a2611bf6228fed3c577e91042204cc268efc22094b32f50e925f48392353e701a36ad1b0aeb81e354c934333d47e689b0e15a9732b3c5ed54de1d13f3c8679bc39e5e0a67d78dc80e6632c6fbeb9f79286a1d3ed88c8fb8218b328481186519e21cb2fc208cab51b5dfe78a7c7b5737568e250e7bc1ef50eda41842092391782666e049a12d58d94a9e67dde0ce5e79486d791cb15c6f5e282c7cd69e0188dc130d885c7569e585271058f61752ee592ca5cbcba7ce592ca605cc5595a1ef3928a302fa9e87a495f9e73979754e4f0282416c36398abb7e03164c12b787415ccc237571073187b5fd704fd788c4682741bd01c6b13990a898d4262b9b5e81d1c0eb2d91e5daeb86ad130aad432b913749deca867ddaa8c745fe79cbbae71de43efb83fbacc5de79ee3dc8789c3591dcabdf5fb2a975f8f0a8f46ac54ca1d677b701fbadc432a962d1e35079a9ac53d340cfc7c52ce64e5f65178fbce1c95adb00d8329bfb2fc220ca425d925cb2f987046eea8a7995199681973a9b386c7c8d6250fbd43669bf2ebedda58c7946b78944a3e9db9cde5e62714ca3b075df57286201e41d7bc563f7d8b1477f3f1fe7831100eb279cd2a1c04e5d74f3ea6fc845f5aa6b81303cd3125f158b56cbd87de81c2414e7e7bdc0631d0cc293fe1209b6b997e3fb4bce11e1a36a6700f92931dea6d7f3c4e6e3df54c3e2ca7c8bd75fb3a5467da47c9fa9c772911bc79a7bd520f0dd35c676e15553b31504aada534458b989fcca15ad5e45ca2922365f2f451454ad81893e7c8a9d07ac61967d07ac619679c719a62adb59b66db035fb89ab4d1dc7e2053efaa550e049bcca1b512b13267525a84a679d57c3a4de27490b2cda5ca14996cae332ff705fb018d0341dd6a25422d2d626a324773e9b703c1aed5bb82f8a7621e6007cd7a4a4f9139b4d6313aa9eb25745283d147e83024218136133a0ab9c3d065e4d9f2c471aa7b5d5aad7717c330472c06001d3ab2ced18f0d48382020c901394889800f4a40fcb02444104c1e20c288d92c899010134343502c59a2022222183469524551511646463c383aea42da08d1b991bc50996ea5b3355a3b6986d3a7f41499a3b975da533a69ce5e409dba8c2140b634b7786cf960003057bf94d3bace245c62aa8f2cd64795f5114471271fe98adb6aaa57e4f78d5a7d46064f1a1fe330322e1a2f312e302d97a6692d2f9ac669beb1b8b407e1b86da5b56d2a2ddbb6b158b66d5bad6cdba652d9b6edb2b66d035729d5773db04b596b519fb5f6e4596b398ac76e43d9cd6a94ba26734269333d88e6a1cc911ae62173c535942c615c6ec7499d3852e6ca44c31c2873684ae64c5a44f64fe6d42252d61d21d9d42508ca9c761d3a4923039c62a8344b9ac9a21c648846040000002000f315002020140e89c5a2013d0bd240f10314000f79846072541909932488511404511043c41843082000180280080d0d1d00c04160748c83f2e0e07561ca2af191c2449b3064951df86c7dc6c88a5d51eb8f37b1a9c119fe9bc083b3298eb599da55b0f0834cbce41e3e16b91687d2fdfcd9d994ca4c513ee4d6bddecb7f68648a237ab832187b09825b17d2b8fc705ca2f88c00c2eeeb562c4c771b297ed54cfddcf3e39e0ef604687837ea147e46d83dc8eba22c4d3eb32fc1d5575be2593070c9c6c0264b5727ca8324dceb8b6bd92dec704051160df750882c1c832aa1c2d2854b9b07814137dc73dd9502f9d481b186db725fd7a952b82dfcb41f653975545022061d40843ebae43158cebdd87d4d2966d26c14a7d9282d0e45a81cbc95446a5171d8228b831628fed85f4ffda323bec5b90f1d79fcc481415d1cb7e4365a379ce322ddabf3323b434df7598176ac9f3f52cabcdaa1a88a9e16907b69b102e74b0fa9f1e6fac6ab4d9f70582b93576b18288ae31772d016c19838cc484992f2080680ab278b08388987a60c34006c1b3cb3ac49d422a6c1f88781c3da067e68a9ae53d46bf3a9cb3a9b943e1de6c3bef9b3fa3a117ade2aa6fb15ef892f96c955b29e056680235f19893096a5a32c7b4269d95e7f962ccb7473fcdc6ff153fa6df87da77cedd4b66cddb2d3a68473c8d871ffcbb4dd97ade2257013b2fac3eb35bb8c5963dc510d3b3ed298a587a27cb56a31676064b5ad63f00524cd18da63c3233dfacf53ea4c70a135fbbfea27c01c9bfd924b9d29404559a686dd5e0d2c5b54e4519818af639be98b3682f0c848508392a94df4b15fd5f481d1a44121272fd70ecf92340eb8cc524942bc7b6bd8dcff1c0b5a3192b5124e0c235d3f42e2d1fbdeb01ebf219ce662bc202bd5b9d84661f48efd6078e058b08073f1ad183599ea29a9f27c722eeac269385b53722038306f50d8088920f8a0b032cc7be759230b89cdbe9fbc1c407d89cb0c146a0b5b8967ba803315954b4e5414fd1a80a7a86d79d10f9ba6e497c2c0c1969391324d1a68e7d9e57dff6bb2119c7dd5830c6a913ea8193df3a13a6cdb268912e7af2cd584a52d866da8fe8c9a9d5459533ba1102c31d6c6d7b47702810cd7a1250c8e2f40d8bce696aae5eddb5e50675cb234dceea7ae0cb300434c154bf3993aad08cb9fc43b53f5821db4ebeae670de614dbd08cc3f8a7c0467450508f6330102248cbc38ce73cef15735350237296a931a3969cbcceb8583e6a9b3f29e847e314fe77083d15b476fe8639e1f7d11954c5838e92c49fc91cdad6d07abf24df1f70e5a6b6ba78fefcd225a1e4aa7035ab8f71b2ccfd77616a999163929c686f92dc3d7a7d35bea8029a01ad6844ee41153962197e9b446ab7f7c869a19643f65e6cd9649c7eaeac0355d7949c9f81c1d0083a093ebbc61c4a11c950e2dac271207d7727864a6002f924eb04a9c59bb7958c106a21d36535081b7f114f3312ab911c43c9140f4199b924a7552d6d3acc49e344b297701dfac14414d35051fee9e58d208d53c4a5f9f744634bcdaa77e99f4363f144178a29ca440fbf16942fc9db5435e1827397f128b2c04aa23d16d07b600a52c19017570c6603c48d25d0bbc3810d4736e60020a0a433a1d57bdec9013e53cfb6955473f598a9451b0c581dc11e5405e70c594fca405b8314f09fa3b81dd7107e9c9da64d0c35d3b6d2e7d482c01ba5ee11ccd05effe448b907246504d3d466ee0abd358a047ad684e39c28f8b55ec130b849c076d7eae2838e5fcb431ea6aa251096b3a7be24312503d7211491c5247c2ec56aa0d1ffdc1d392f06c4a2dbc1206a288bf86ecb5488d70480e23a8d1eb7ad8ce9573040b1d8674070d57f70548b5a3c948a302d5b2674407220f237430ccfe193dc82d456944d9200c3441cdc6b41c13c94210097d698686da24b04e11c102a206c29a084981b37f07722bb8455874dd0a4d872d074a4cbcd77c7db7a96c6756e3dd9976ef2122fedbc745c5ae2d8564111d714ff48d6475aeffa8f12872fb8b5aba380b92aa161b32ad89f99622946f907a160a82741b8dec2a65a53968550b6065a2be0f288a581cebd327f4fe1c39943ce1653dfbcf1cae1e32be086f59ecf2eb1d556cac8021af08ca8550886a63abac75a54462094eeb87fcc70636a0d8b162ee56860530137d5a095ace4325c092b61244069e839dd0c0d0f2a4ea6738219c71c4f91a5d06be38b28250c5d43c9d7d6c6d25895387f04fe5786d0916442480aaf96042a9e59d9bdafd8905fdd59df2097c4b55b6a620b0f778b9662cb0409a7586c59e2945c0948e160342ee29b619de9b114e817a4e922cbb8102eaae40791d29ddde09011057270f0ee57c47d135977cc850d7d91f7ff8e27c55af187de874040750cbde9ed115651fe923921544c25a4bd4a920f8b4d9aa088a3c8aea7aa123f7f68cdc2460d0820ec8dcd142cab9c057fca9aeb9327376e4170c5900801d6a65ddebc7990aba02e0b7df42540f3e76fd08ce689d9b240dec5e7981b06148a1a5758a6f7d5dbb1b399a2eb81370f19e554748d18e02e8971a4fa3271acdba18cb5da6b362b156be62d3d248ea420972aa54bb58fd6a81894e545a106bbc209929323ad73c55740c143496ed0fde6316db2dafa2a364366e87095568552ba6ac66cf20ee57b551a23378c3755677a25d46edd0c68b3776fcca1275bb580741a0ee86c3b07ae001c1bbd9ce612e8e94e35d6cbc61e40b47aa435a493cb637e23b2d0fca7530f596b34d33206edce40c9bfea7e541914b0556e83a2425dbdf885a9d8dd542a84dc5d343939aaaf7b7e685b596cb4ea8bd8e9aaa39004fc6d21ae53904be2f4ff267872d448707d165ca4afa4fe58f4cd6c3960a9aa5c578a9599144f8a479d691074d4a01983748e73478102bc3e621294874d2b1eb63e56f63572ddcd12850357f99b98118d7bb94a4852c1f684b1a992876e56cc1ee4a1d65b4f7dba5aaae19d4feac7d938298b5d176e49b23d99cc8681de2f3baea8a44a41d190dd0d62dcc072bc9f966e7a6a8021bf5f984d07f6b0a3f4fc97b14b7420efd60696ded4990cbef457829ecfb865a2b2eb39ad65d6d4986f5cf75dce6eef264a46fd4c9209d1221c0baf59cc4331b00fe4b1a346b9851724a4673ebb51929fcf4cacd49b488cf10528f349e21cb3a1f3a8537a8ceca8567a6ed133fec6501f081e35998f996ff4e80cf1311c305d62398933990568d92ed1193700abf1f29b9bd6b0cc90813082819b68470fae1f29b04b8da236c2c1c56edd74ed0485442e38ffbdfe36fbec0a2ba06c7c5d37cab0145f0da6332991cc95c29da20d75a02a9545dd5d2cdcdd73d3187307e8e15d428a3481fd3013d71dd3707e8eef62fedb6325bac69f4cf0fb55a17b040f78b2add40b547687325aaba5cd505e482bcdde302b4053f5f4ff107ad64940a30ad82fe8cc0a81aaa5e53a57cc5aac7c0b6da45151d6d07df08bde6d29eaccdc24a52318b70c5088805435b2c6cd016b861f25428f0d70874fa2eaea77e42345d12fd3a821c2a8d5090d347f521cda53b55746985254c429f833230a1a87193ac3036b2b49db260d5a282abdc8e2abb4832ef3e452587cf439771a0dd47f8b9a22b5924917bd9940ac5eb0418054e323e8459532f0f6643876c312f0f69554f36daec88983b985f4b0ee75f0b9ebded23c70aa6e02c9428259d89d2f1bbefec0bb0b32fb3b5a384af0b2dce10944110203c455a7f0f6e13695764bc0b67fb81dfca1345e50b9d5e6e5fd341d76179a90cce478037b61ac9450ff3a5397cfb258bdb368fe62a2edfc7c9e71b7d9033710e39f4780a51062a06b3dfc8462ab49825c7e7315062d6d5f178d68d9c85bd496a111a9c7622ffd3f1dee3a34304acfd56c085bc45fa0647f5606a5404f302234b6901af20bfe8580189a9f01a80fd4c34757f5cfb1dde073e2ba807e2371d3135ea66c89c086c5faae6f8987e89bafdb938035b486525faea18d3d99cb3864c516c43b9831253bb64c513a6bca403670c72d5c9c7795e40cb636ff9f56ddcfaa73a45b32c21224fa1b25bd9b00c7120e3eb2cbceb65e91bc392081aa499c0375abbaccf852225638a78b4dce9eb324e572cd57a0e1bd5f5856c8b52793519afb88c2f6ecea017d9e9f24707fec952c4a4db200a25b57b3c7a5278193b0f951ee44a045703891f6e5990581eb8d8f5b1b286404f1d4ed7e95957b4eca563415ee9992d0f66bce75c695548ff283c2e13e9fc7b821b174bf6bdb1f3131ffc47f6cc73a8ef9c56a13afb6b1c8e4cfc605d32d143362c07d5e4a53094078abe55afe49ab41b87b5937c318ebc93f1e84363c334a7911e0456837433e5eb89a5fe14c72b7c97b05d38211c81ecea1f251b1202cebb4e99c123edcf478354c26583b08de3b34bf12db6996394497e9b2642b596f31a0d4ac3163ee92573003966ddd9235575771a967e8db2dac7eb005bf233757e188619cde5a426736f3f2d43b136e42466f1213817bb93c44ab56245183145b48e43245db2e86f697e223c4c9fc6c8aab8faf62c761e04882f27b17c447ae072d228780bd35e307952026387454296707a1ca8c445800e286c654d972ea2cf1e4a8133b49dd13d3a2a3889b64c5fc6e8d10b7fba4d6f1b458e173662ed0c7235eecf8105dd23a323aee77d15d85c49122fab04c8e66ae5f2486a0e831c103eca6cead4b7a187875f2bf169a8d3912f71745ec00af7a5f65ddbc9d375a57339e7bebf40f919d6ed45c38a300e93eb090371ed35c3779b1573c964f003862c0bcff312683c33bc3d061ef204fa0e65adb2fd811c1a8f6020aec5c25834bbdfb00f68fc96f0987bc2d446894187d62f0eda7490f0a3ee96b7b1114329f939b1a9f895e921dc0094c20f5c0ed2397de6936d472d0c6623161f7f794dc628e3a3b6492fb4fd8ac92d03754a99a0c63127bf7c3f03d2c02d0703e5f745a703ebaa807f4a7ad70f0f611d4562a25731d747a84c4de57a600123e237508ba6d4c8ab8c938ce6185504cfa9ebec7f4abd068a14c254a321845c978a5388182b759c2a91b24331c339a1af890d37eaa1d8347efd090b69a68e04e66a0e3330c7f879dff3f1044c9dce5e1aef3a938cb7652419718545fb0adbddb3343e5638fc0b3065b26a9e768b31886bb78dd348436c2838d4314f5f14e886d4608f5f933e141f0fb8a6fb0ed113caa2ccf725d684e1981d5c886470c4fb2383abefc1cb84d477430ab058f6b79cee5bd115557711cad82e632ddf3b0d77df4b7ca560275f33c8b74d30119efdb63d7dbb02de095ff00283962f23681c0d18924689338da8f6d54084868a3f353a4795617ce5ff4354845ee479169c27072d7374b1092e337c8c7cb07cdc8bb6ad58314f31cbd624d9270dd02412274d1743a1e950d32a68e825f4b40a140a193aad04855e429bce845022fef92472c6f1c2515134efacb487f2f3a2077205d203320661e49d51a2feb21d9725e3048dac8ef722353f8223b8e9fd38e6d60efa593a73fd10f70eee30a000761457763b0f516abd22f52ad57426190158821ba4b62eaf4ce78fe941e141343479148512065f819d4ddf747ef1081403a01904ec42d7c8667c974774cc0a174efade24e53e962ae63eedd6fc3fb79240240199e6278c6d6e9b642a96e3a72bbf173ed1631f74da3d1377995febefeed709dc3258ac831e4807fe9145987dcb8353a2c59d0a32f5fbc39d7556a6ed08ffd4936923f3d95a392b0499f8bf15841616bade2156e530d9687cf4bf5ca1f1fe84710fc14a4fdd8da631d2310ab1167ef212c6e885f07f51d89ccad64e459b53c2de89b4774ab26de9948774e17bae7244ac42f5fec58a95d4ad22f158fb49e1f79e6bb544c129d7d3484ce8a4dff97f121aab3df3fc15c5b70b985bf0c9fbf9c27bdb95073cff46d1d6058be555b064d428732c943917048e05e2382903cbff057ff1f1d60232ef57f9e4fa25c5c79e0b9991c4256bcb7c81f37e1347b3da08b316c7fc162bdc04d939a4db8e60a5427ca483eb9ddfb7c1e451271765138e9e4403507c7c52224f1aa2848694bc684d8def72825f1cfd86dac92c58fe1837ca7d114f05cc1ada36d087e3164c46ecde9ed30eef8d14dc34232caaded6916c420192b8ab8be697c356f372b71a900ec850430d488a7a569982f17df0a2cd27c57d4ba9ceec65913564e619e8364b9ddd4668a9270b4fbb4fe708b69d4017467c0c3911bd3b68aaf8eb5f926f9a0cfc2672454092207168a2fd7d62166b9f51b9f9f6e6fc5e23c60f02282803516197a84278f7e27e67024af995efa26ab32b2ffe84d7a8db14404127040a2b54f45087c1ccafba9fc0a2b8e7d8019d8e9af51312c39d53137f40bf96aaf36406c1e181f8fc7adbd63acc37e67a8ff209e237f8af2a9dfe9367a6c03224a1a96ae7a0c0bb567fbc82c068c0542aa5fab29c33660a3223cf70e6a913f21b61ba3ec7212c74435d2aa21e0b321d8433b9e6160157ca4f425007dff2e793c5d2c8f6d52a01a89345ae4b111151d235923f4964589c4dcc64eddd87b34004f63e43b6abec47fff0a3a0f983d3f7489e2889490af770b93b261657207360ba739de92926a97504954839bb151b79776c1b43a76486130f9342a0bb251ea99ee89b24eb9b29325100b32b9d45c22d27f1f880af0926b3927b219bf005c445e3d90201f94e7d66af5ccca153104970bac1c71598a34c3b46500a082d6c8a943ba6949b440e53c40a0a2c46f3e78b14bf2302b047e9168aef2532508dbd4b600048e04d54d5d6eb8410238a6b0849d74b12ffb24fea7d1c0795f9381f51144f089387d1246740f57de2e1e639b3b148a851587f18691b0a83cbbdaf3140022f9ad5498b937bc015cd71e220a29bc8203cb4fe5e7b6ec86d82786edf6880fd2d3ea645af0699c309dfaca3f812254852f0ad47c30a061a343150ead40821b4bb7eb5cf7750db94788fa6fdb8b5c7e75070e19d756040d3127081ea4ea30829652f33b4f1878fbd02e54190cfe004b30733976c1eac0f45087e121e236ef2a289db613494622e6aebf500bc8f9324a53ad1d2d55a2834cdcf1e872de6b6988182e51745ed3a40c2ee9478cc1a8773844eab09fad34420ea47c2f1378c91f77460538c6f1038099f960f7cc76eae17a5c3089c3a829d92de820fce655879ab0958160e1cc8bc3bd28270a89b4cdeece9e2231a01d46cca6f292e565cbd4eb67eaec4154403e79321401cca0569a6e6f211a6ac6190e0e908a794c421598266ec3195224e70bd77247e549f4e3e265c2cda91f6efb13aa566c5fad523065900a4a74408a07a3a017edaba400cb8ef9aa218011510559075da79b989d2796019a27c5f2917fcc134907324bee7a22bcb6a6dc7e1a42587842332f7f6637aaa976861d80493c89643a15713104d84781c4d44b0d7b3c86e1167fbd6dc2990b9e630b3f8326bb30456cb54e032c7e93a825d7e2b56719fd7762ffe41dd8b4de2ef3082cca1dc4980141b3c34cbcdacdf82cf45aecc5c8306b09452890afeb9a87620f39913f1ff3d36600c777226e9c74a030bd09ad65e88a1935088ab3faad1593f72baed0ae025578b29ad3578f407944e9027db59b784c1bef9c1dcc681a8477cab6f124b63cc9648682b11294309284d9a0e6a7188590ed0a3ea51a2e157957003ff22b2cc53b2f38dedde25ac833774b4d6e0f290731293ff5cdf7d4ff0c02b0a68b7d3b7154018e0cee9359835f6e368ea08b740212e67bcc58c7151237821f9200a01343fce9ce5d0ec2c6360b0be2b1c09c1e4b4adf6433795d88b24510ac953e62eb731b789e0d00dd1492df88ae9e6a4f6b470a9a001ad39b39d5da19ea5f43fe71f1009a0c74772ed6cc1ac5a82b647cbed8b90b32ff6f935fda961f4f15bcd3469f94c0513a720037714c2a79153d7b61e1b4ca410184af4ed2e027c2c69f8c93528a558c556d77855f070a37f985d163a626d862fdecf0c8625105433c34143aacd2619dcdf0d807092ed28f39805008e30b89ae5ef7c00bc0e84be03c59f111afcb71f9295611cd917ef2250ea47a181bce439db733748580efd911919aec64a8d66bb7ee230274a2f2dd25557c46ac1c911a3c8fa16db57f558261b028688242cd3cdf7b4768ac35fc59e5777be28c7323e74f375e1769bab259cef35e4d9e9de9a42658b672eae88ad3d9a3cce62d68f034a1b8471dc687c16a6b1f3f8efb23c10058f5896a9376671af1b3a0273639d123e42f77e29de1c48c3ef05fe1d7289c8ecd322cd5fa5067c3a9b3035d5b5000fc1485e913a3ce1aaedbd0a044dc0925493b9c91ee8f56c3add37297b8a71414aaac2e58a5d208a470e5fbcd4f576010436ce1458980bbede99cf603c300f8e85127c2795235bd26c66266d4c3bf66cbc71158b97df75d4c1daeecc0b114504390251130a569a4d03379ed314fada09d1f056d9da086827fdf22195e14aa562398e2067390e1232ae8c3fca9f44ee37ad48b7a680b72f6feb917f70cc8a5874685a448bd32cf2b2721e804c13d3081cb8f619bc8ee514c6d21e8f31075e79a66eeedd03a95c124a40c4946844c08485cb9a5ff5a9029c98effcc5b48ce404ff394e9c2d5240f249ca1cc62c80df78280de265b480036587320d120d2a72aa49ff3c04f235f4299f5ac349a61e1c61b74c5f6f275e2e469c0d32bcb83dac95894da597f859e90fdac19a9143ae5b0c2bec0bb961feccfd04c72244681f5e4b7983387d939d33832bf63ee007d9d1bfe54fa4aeef04715d0ce272d5063f48e36e10cd10f2ce560c910c907387498b9d628958d33c44e78fa003c0bbcb7a3d8b66b8af87e6df9899875acbc9c949bdf1f5cb59e9ec8af770e319310c66add89c05cccd72ffa05d8a19c4d3ea70ff1bc5b5353559b6f7ca86b04162862b5f1b622c94a6bbb81950364511be545ffde3f8d73883a14c800cb3d430096c408d7ea60cd0056c6acb3fdf4a2d15744f6ee03796f8e6fedd6b7e896cd49619be88347733196a9cf4797830777039d5c3f59ed38bfe0168ced8149e6f7a3d1ffac98aef3b50ff9a1865199bca7b580ac6c8d8a58ab1cf35e22ff6c09659e0625b5b7ddcf8d4624fcfdb4c605fba99d2da5d8a6d0606728547e97bb6f6fab8a1560281fab6d85dcc2009dc08741f7ab395df7d4b8eccbddfc56e31763173a9e5eba51740c78bfd62afe27b37d5e05b9f54b76b9bd8422bf5bb0c1a714c63e2f2a3fc6896e2c1c4c64db28e39cc17241b85b603c0170010f1485a4a958674b0357ab735eab8f7ff1d80cb7d0a369b66c7a60b064c2e10bb01d087ede8116c967468c3de48ae397cb85066bbceaa713e316ce4ef58fa850d66415b14708df6651a35ce83470cfadd192b09bf76f58f54e2d50e102cbd16c676500ac39cbf057daf4ae226e7224186958e8ae8536c4b076613d8fc9bba4a6afcbe85c2a138a67b0e039ab32f6c63c66e574095eae6cfe075eae6066d1b2e94168fb101ea94c565eff21fb3766af9e52909c73721b83e512a847f64799c7267dd7dda262b2047e59b7281e26564c8bb1c4b5187153a962e5c8c9e478ab29ce746a92c6e79c9b6f1581e0983a293fad2605ec8b436abb231d832ed6caa72dfa7119efd9dd0d8e7c91597c4616209d3cad395f5faf41686a08b4442607da4d571af957903f3179b11d0cce9eded489b66c0547537ad8e64c96f9a596bedbd3c9d5de744587c0f5f7c898001bbf158b0fb996c9321128579c5a3621d038f86d0d6e8d2b998f384362f1dfbd7e0aa27e8df4f1ef1fe447c89742fc8cd47a8f917e62d6fe1f8ff7960e2efb54c4bbaf36cb44c0dfaf1b77f02b240012a1ddf517a0b031f10b4c91d2662297284b7bacc0d8820202141bf6e767414dc7ec504e86d37de501973c43787b4d00e858bb7208b82eb74be6f843a6a6e455c7bc01593713fe14e7fbf20a785b14004551a42e9f8c9cac97c24571aac54501aad345cc075606ed34d8072c658690c0db3594afaa6be05ed61575f7688933ec2290d7f43beb06931a511b886b772681ce4e26ea43432d95a98bff92f6532d755392fe79742a5e709a5e15d64049703daa4ea679d34d8af772282be34867c10fbfddaaa1c7ff99041230f268d89b1a3b5cc4568eb33426ccb05d860c023139b64e220e02d7324856e4d7bd00b5d8eeb00fa865be8a5cc23253cbeec54db4928fb3cf2ca5604b7802c3832b035afbb082f638416b0444604886f0cfc202eac8ba4d18d0c21151f170685bb611129e8d05203621238736200e7444d63ea910640af08f89873a421c876119e10b6d78ed048e3dd2730d2785a098b343eb68a349ef9eb3b544fb063616b942e21798ed4fde54b52b06c1b1f3cc89e842c6057416ee5a818dae13e16dedb4df4a211c10b9a101414bc035b9ac00bc631d1747b78656f552c0f7b235c10ec8550d35a80a4830f64842fc6a6229e186dd585b604027edd97e02c2dfd3f0682467d120812eb4091e5b6eb0f0c820efc20f8d99468d1f969a8cb8a6904006f77e06c8caaafbe9e7a4df75474d6164e4285a7683ee92e0b436d0508b3345a30c2335ed2dcc21d69587644e6bb45028dc8be64d37fa8b61c80458c6f171ede00d5026b002d3d46d41870747be0e41d010e37d152d513046720e49b70d58f923b89751082a9fbeb3640f949fb2658c4edb91be0d03e37d072376529d53554dbb503dfa7ce4911ea2349b030d83ec40c5cbbdd9e875cf377b35c20d1a9c748a848eb2640da196877b0fbc93d693ce5778bdd806b7de34bc7eab2580584b6cc61fac57cb6bd82d26354c2c82a2134903470e1b590bc58e526da3933bd72be409ff236d0b5764d0f52b782676ee3d7a8f401d6d5cede2428dae37adb5ec92976a9e66c24015117a8747889e4484560187b73be5838c5d2f248c3584098fd5a2986a3a4745017f83a1a335fe64d410c3f1bae83de71ee1c393460b6a2bed2f5a1f49dd6876f5358bcfca3378b0a46a1166dc4942eb7f407f6421dfad0d9145bfae9c26a908fc20bcaab2d5d06e9043062cac5019be2e9e7a2051f746ca21fc363a96b8a42c0087e30dcaf055b5344293751388dc09a02c576257587baa46519c6a483bb64da81d3a485d237e9445927558792d824a9a6301f214a2f2d9a3a6e2e13410a6cb231869a22d0f52b6d0e4c6442384d716f14841e25d54c53e824e352e04597e2ef01d01750e7a566652724e00bdac3220caa112918fa09d830d1a1a978b1c56a0bcad37b6ab0e9f9eb0f3f55bb11abc3e8272be5b0d57e18ac56a9616a3efd569888c530f1e3af609ba4c8a4afefce5de7ec2b9cb5d7b7cbf1c9845def548d1ee19a5dd11b9329e30b49f7bc79aa3430f401bf04375ce0be81718fdf40c789021b23a647bd54c62be615100dc4e8d94639a0d9ba230919b133a9f111f49531dac4ce2e88637cfdecde2fa0fe386744d480b38e3d21cf3a1f522f8afb17fa78abaca760be6c976909d799acd994277be3a11352c662debf9b084d1da4f1a3c5150b9af9f77be71935f7aa1d981fddeb15bd2127129bcbefab73298479756f2d181c0ecad144e31e8ef56391295a7a88c085c8c1e494d3c28681c536eb95114e6c6d23192580533ee44ac3a1e4b6c7db4716954110e10bcc56859a65eb219eefc9d1f8a61cb905f3e4406ec928bbbb7d9f165839322e18bda0d91cb25774318ea4d7d8f3668d0e6dba08a966578fe165f40f74f9d0ea64dfabb63adeed9787ad71b6fdcd753aae90e7b3d6bddd260ed0379a284c3f021ddabf890a8a63b673ab76058687d9c332864bd7d320a4517c0f153d8ffe4b614acd5eac9ea1be8c0d5f762e7fcb0fcb0f749e3cfdcaa7e30871579e4e39d7832228383f887d1520797734094f0f4d23d25d933fa0870379757a594bde5561f3945dd66f4e75e1857b16f8600c0b005227633d015dc51e3fa6e4279391ec1f45734acb56d69464004c8f3f4d83dc28f939b07bcac20990147f558602ede988799bc91efe60ebc31f16986b70ff3731a7b638792bf3a43aebe15af06265113eba4b6e24eda011c79a9d660e11da8535bc4814f9350d757245eed2cab32c8455b616ebc49426b63c5106c257e994de18d847e5664bd08bb225af451030999896ff0060e813165f872d9d39bcc649ba7f1475de8cd05bc31cb67c3beed0b1625212ee2f0151d4b76729224d7966cf1c596dbe96803a4b9c283c54642ce6a46c21227593565e7c052172bf593bbdbfbcf09d97ef983220d6feb8b317294e4f4d325864a0bb77678d4e8c8331a2d395c56675ff1aa05dc19e1f15d71041af7532bb915bea54c0a65a545287596fbd354e876e164d618a47d651e72a4bd11ebada268973920db0a823183a436a643ebefee52a626802010c5e37b74f690469a3854e50be84a897784e566e07777f119c85d1ddc60281964ed35cb196e3170e66267ce0a35ebccc782b09a1ea998e25cf5645021107c500aa13b1fcdecb43109b08421233aa3add58bfe203325e62d3fd0fdee8a20e3737323f810738bb6d15fbd66ffc1c089b5756a9254b8bd114e225fa2e700ee8507f7ca795d3cf45eccbe45aa38493d197b310e1ab27a3e111b1ee09deefb97142c87d1695887466c8144064d36d4cc15ba2f4349aa89afe3150a783d2aa3522fa76123b91380e007353bd5b1ffcde9007e4c26a9a704d924c235752569c468359992503eec34d437f4d1b41722f1aa4cbcf2dd7b0176d55e5a9f6d9d3ccf252be6a8f57e61eda13168729082e8deef72cf5ad8b41316c342765832c4d7d2e389a145193cf6b008e1227693f0656dc2d6906b8cb95e3e5a2b064e77f6bbed1e1a1b42cf919784eedb88e4c590ac588fae44576db4578b6147ac3c5d90c2f1c869c85fdf369a982e29dd78ab3643c0a089b6a5e1f7974d312d800c450454e39511749f3720463b057b6ce682428aaa039611ba894250e94c472e890e3e5aaf0cd1958fdacc94f72138959ce9ceb04c79c9213bf7265b36daf7b4528354047a83592eccd03bf90862b620dbe87849d38c1309621c147b513ac593590fd6179058ad3ebf833063c336890c48730d49416aae70e8ee02e671dcf369001cfe8bdfa337439e902b359c52c8b506456aa04058beea1e60c29653456a193815d8652153776c3885655259cdc4a8daecacf3debf323b87876b40df856ca98096307a83c5b739946b5e86268d2573f4b7181cb5730345e162134dc16946a4091cca482a06fe8b5fa97c67f7fc09fcdfe68a6dd12893a1b75b045374c29abc1be196d7b323908334d80a75abc6851c28b7cb5dc5ae8fc9ef99c3f047980ce9e9790c064505381579ac0a63f4f847fa54a897b6b71ec85b022a7ea136a2e518b839d0dcbeb3a7735292d29faa442bb42d6bf6846194473801e3cdd1d2816ac8fbc78693adeef8e6c8d776085914c0c70930547eedac7aca95066cf8d843e804bffc694aa90e2764f9935fb6c3d830c629c8ba42033d653e0459557b6c2a5ad9a4a1c64353c7f8bd6d4a891a89d692047f0808f9c7595a27ff30db88138de51ede074694442ce698952d7f88c54664bbfbf2a16cf14dff3351aa9f23d62909b8f8834a4c346704a66df30b28af001586a0feeaa6101eab505b0910cc10a06b4113429f5c1cd641a3b8be24658b67df529f88beffe5f44e331398b10eb4a1698283d38595a8b81e4b533e46b8e402c27a1208bb8fcc75d65a17cc5fb0594b0ba6305712ff142a8aa86c1fc06b4ee017f4522769a8212c2c03be27581b727310503e07b38cbc388dc3534a8789865b60fcf404a31371fd2a89017777549db54713c1964e001939083cfb7f47803c8087e036136f72d6cbfeba00b943043fc34397850d53f9502a5beb00f27d6e83d021c16ea80b8eb33f8b281544a42defb5187451b57628740f3925a8e64ecccb18e49367268b403f3a8329ee8e0f820b5a26b63861ce9a7a77110268db76737668099256a53f9e132680f636b2b0dc30339520f6cff3a4e9fe9b010b53f60d33b5cbaab0dfadcec48330974d260eb26418dd650af55e077238c521d40501ca59e804d214469d19127eef716747d98364ef68e7572e24d3b73ee3f23b2afeef2235aeab4d939d4be9c96fa6af186a329cfe15d8fd3d8883aa583a9a9c102bd11f6df8e66144815320dcdcca9fb0d6960a826816ca6d1c02c28d51c8b57cae941e94a313480a1df213a2437e4dcc70534d262ccd5c4b4477f386ec10166923b8943d848a3bba43c9217914f2f2ba5b6a780971683278868840004ac08f6bc6151525c9e994e2f804bede788235676204ec0035883199c1ac1dbedaba67d1ac64000a1ac3d90c5ff3455ebd027bdcbf0297e31e2096f96521f591466901a7a549b07a2bc7637c6530c3a39174bffb79d391d50703d51cc1a8019701b83ceee79c1bef2291d0f67873f020a7a66f43c604b9f9c6ad37c0b21018ee83bfb248426c87d82368cde4b321cfc10950fdd5eebd4b1e9c9afd47b8dff1780dd08d3484468dac9fe8c0adf0e5516064aba1629c3b185da780798f0c3466a4c33485431edbd943ea80580669c1d7a422f06c69e9c08554c83b8d85f05331b358e3e51f28036fedced6c610dbbb21de54fa9e61bf248a90d395324c4e5f1dc323a2b9e9e12b6e1c49dabdde993c2a8872b9c32cbbd0268f672aacac40c2807baf36c5aa649b42493744e91400222b90019e4b54030f26d868c50350a7f0d10f532d06320d4db5fe1aa6a2bb652e2124883878bdefbf54dce5a0b4b95ccf8ae5a95944743e4b1fd093afdde4746d80323e6b5490f177134c6ede6eb81d58eee3258e5750327d54231b1267e0a39473d7f670bb81b5d1fed4dac1ebd68d931e63206b9b352dc2c369030ac95333d5a5216a0b7ccac8a0e7cf9a16d7209cfb2ec037f0ba53a6564ef98c790dd5be76d8430cc3bf21eb4820f1f8a1aa8c6dab9352240298d6b60775b4a47d68f8ff054f3ff8a7145fb5fe743d4268782cf4b0f1515d19603c9780b101e6a43d91972626cb523d339cc335bfed60509dd550f422682991eff4754c391bf6de63ce13421326a00879dfc561156d8499954e1d461a268d059ba4094093281c4332f74cfe9cc189e52060ac56af1da516dc5ac2321c346d076cc6a9d6f54f1e045d57ca66d00a66ed22425ee0ddb6c3c57e676194039903c3e3577ba4e7d1241727186e74a3c7502eeb8174fce497f8ccf4efa5b07013fe422f7ff3379521fb3aa19faa90dd4284177f1821afce875287a0b3fa3c5995058b698df724dfd1f00059c12404698250dac73071e470f01e52a885b3bd457dd4b234c0f35596e759fcb87ab151cef859f8e30183f070f4d88151da7f229f0be883a5b97dafbd8c637620baaf511e92ec4921ba2f6e25c192563e7e90b22ca02121c9c5fde60b4301b76963b5f3736611f4c028833e0f8201ab220f5d0b8bc3d96e8a45a14d81941f4079eeeb6a89458d498de30e7165e7555c4fc9db0d0b61cafc966ea7e8ce6849e2cc5a39ba453ed0d4214f62012587ba3e7e421b61796b3ad7dc078511c2401d2bab266437e56ffd4d82029a7445c451edb0e45661ce1fe82c7ba967e2b57944c30ea9e2c2bdef21b14a842f1ff20b86f62abbc6dcd13b35c259923d197342250a1a980ef449f38626d3f3421acbdd2b1094366749851af80bf4c46753e2554fdf426fb27b10bf1ca5f644437dc2fe9f4988910a8044c5779b1ce1749166aed1f68af1592970036005bf6a10837b8fb31aaf8b1d368414ed796582674fac33155df92abe59bdd80f438576aa4d31d8161010c1bddab64c66e5aa983a3f2f9a7fbaf43685d5ed4a41b845f93b6faa6b3014094dd67f9a5136a6a69d15a235e975c9d724d2ca6efd93b8db612d6799bd942065819fe282ad352a6d1e007a674aba7f135f8668b66e5bca0fa41843c7257cb1855e4f4b1e1b8f331dcbbfd40ee47ac9c5b5163c417a1ab5b49c33fc3d8d839c304c5ffd77456c332ae876d9225a9505c53e8002fd8d4d1315be8dc087fa0ee206e0f025fb84f16c2ccf257d47503cb76d4fbee49076e0a1a15330e41e7301aa46c2ba1bc26042bebd1704f42f23e1c7e4825660d4f09347796b0f7c7e07e65b27d8e2d7314754e1b3d660a5243d7bad4c1ef34a664bd812cfdecc0ac3966ae91618c9c386ed4c5dd5a1c52207b6cc07af371d4a4a83f3f026172ba63b629c2a600bee4c48812fd563c2ca066114ec81693358fc3de1f5edf36b60c7f1f1d0b5f915da1846185791a20eb545e49fd96837e65ab8a7821c3b96ece507e378879b69328932d3e400bb8f46e7a105d040351c6bf0f3704ce533240001f359c9dc144a7d4b1406ad4930ebd6a002f43e3a761046bef6efb95822d6bdf45a1e9872f6a32afa8150febb3c12332aa800f2031315cce4d966d7b0e904ab4187aa4c4199135809f214f2472067e3c34a7135eef0f3b634d6d2c75d73491b7bff783576f173185da596e7bee62a72923df247048306a178de7c40678095c72c1bc2f0cb64cd416c80de64a72e71a402747f4b18944eac9608fb6f4e6da9e5d8801590b10ef17603e18a5dd7383426fe1ca4caeb8bc3321f9e3cb285d2576cfbb18069b8796bce188f0433a30aa1db19d15125d091d0a865d001b54d7fd245ebd5d7c4bebbbe125a362d2d8618fb5a2bd03a48e3aea4f1785abf4496e08f48b37cab95b5fa17fb835d2247a41f05977c2cb7cdd99536cb0450e2cab3fb454488f746711b1c5c92089a10163ffcb2da993e828c62ae416726dc1c08d61ba07f34ba626d7b3bf1f879e13a1b47da558d14b6fab1dc2c0ccb508f175030f33d164cf7d9bb7071663d400c24bb338b6b7ac0e89c85530fdbf9c3bf55bfe320045dacd9c23d0b289c2ca5105de6163242cb2f306616381eafacc86e520fdf5d76d433180c85fec3b4ff895f119f94c05dcb6e0345bb299b2b97ae9167fb52c26ca848418814c5064522ee79b896f61df9a67fed64912a3f9e8830a2f3730c590b03c0115c4036144e67bbd40feed3ac35bfd606e1da7fe0259961950fabc77f3fbce1e13503622c911c0171407404b4533b80d399dbba09a5feb0b5efa6d31f197f8cc05fe0c1f8d43fa3774bd8c49635711a16d6cc2cbf12ef5d9152f0adaae791cee8a64b3c9d692bb85af8ca1c2851312a9027818a398fb6e4538d0d7074ca49fedfd4ca82710ee9a1c00d233f9a89f48f83c38d9b7a4e238529472b81c8595c7e479dee4e89a0507e7bb01f1f3dc45c4b0fd3115a5dd16cfdd551c69a298483b83a00792f6d0cd8362bcea16f2ac3fd59087ed2ca7696e8a1bbe02a605b0f745e9830856277f4e2fd2e3a409d066c5170ae2ab53b4643d392663e830cd99db959a0a635b8102495c764891fb0e140d8dbf9a9e77095a7c6d361675b7a657d4b21ba0cbd1b34334e70005bee4940b99e4861966628d7d06b1e684b172d5bbc535139fa6ac84806ef8e50b8a9a825ae531c54d133c0cb27d3605fd433c587cf312023cccca595ac9199ea1c40ffd80da7190de1b2525404da37c29dfe8ad08ea0345d2ba4e33c05ffcc0b492d1042141772365b03c5c09c0427e60b229b4c39f35b367b556b2cb1773579363a3c53145d929b04624a4b01742cda6f4add957a51a39a108e316a65ae1dc3fb71cfd39d291794cf41fa87032fdac351e5d924dde837670b94d52a5decbf4ab2cb1b85e1c8e940347b54258bde72aa40c01716717fc8121392398ff6f8f554ff24e69115e1cd6460a443679b5ac655f32c8d5ea0ba7634bb7e1b58d6dd2700cab05ba9af7d60c3952d7bd2650ceb0b236b8d07cb9f4508b89b3d2351ff9d236112c22c7a9e7e9497297be204cf5d7c8246dd72a31935b9678f942730eacdca7cf093fa091c5a55b5a19af2d15d67a470b3c0fb960a5d0037151516719a824ecf0d72f0a078303b69fb4a6a2d0b8836dda6b54a01b4722f8f2fa3e07900d96fbd29d089be6ac85823cde0c5f1d782389f73af2a537c0be855eb6f11ab23700ec2c34a484590d7c71466250c963480ddf05379df847793f2e809d5c7738bf91ad90c5f55ac179a1976eb06290c038e5a073c40f506d263232a6d5e8ea2eac9331cd57e60744ffd16ad8df2cdf70307c520cb9e0c818d8d093ea2d8a6e89513b6b97fcc1d844a437092a7c5fee65043a2b0f5d97c0102436dd52a0f3025e43a9c62fae12053b7d45627068e473e00dea412d77a9a1f23b8bdca35f098b345c02b1fc0366af009b78f07ccc8064c7b4cabb3dc6e755b3c036183bffe52ed0ff20e09edb7373e0b3563ebc9728ac96dbc1a597fa6bd30ace28909c7920a9489a1b0909ea9538b679a32277885407ba75f6a89e940942162f29429c2151b634dc5127e449d22a7ed6596738f0c8560472c029a9285fa8cd777fe13c699b03f833e1047aa2aea0b7f01780472be6e03252e80c30dedfa45e9f6a1df021e027911a91cddfabb2a56c2282c29e093b41868c0929f5b39c412c2c1ac93a76da7c3de656c4a44662393cd4aee1e593f1acb7b325d2d37ca8b86cfc8f1e22ef3b17c1d5aea77358fee653c57d063adba0cc90cb81d38421509ee0c3d3440d1f4a374e1db72203732c78704ebda3e229c0940ab7193ea64d531f359c3ee9ed27a27a77d0b5591fc5257be58e6a1a05bde6438f0873013a82e0ae6e9cfdcb6787e045740b194b844d3d7815cac502ed21f3283cf0c7eba81eb4dc5b9d9080a47b36532e78404ecc7088e1eed79122e60112ef3677820add267c10e097f6d16632faab1f971009c5484aecaa1562ea88a4f1e620595c5af19dbf874a8ffe553e3d564ba39c225accbe3ec28eccf2c33c31aa1f84ac10cc972be470235bf965eaa5a64d5713a8bce8092fa34789254a3f798292d89dd3c1b97eaab3807df297a03c3b3f15e6b7c488d98748ca23c164b9d7f96679fccf913ceae619d7d29cda7d36d3413af8170ba2e71bc7e643e2be1b745936ccb21941ff97bcab16dc2c6d69ad5bacd52b387ea72e180233e748066af9502de8f450aa49a408b184e8c3f111dea3415770e5ac09576d814a6ec205976f6bbe03b5c8c4f2543001a4e413fa21996d5ae9795cb231b84af3f01d900857382f899b042675fd69d1575feef98985723c80b721eab3746710871db6e28515b836947523f41b01b62256e1e3b0d78bd888dd68fd1073496bfd1c0a20056cee8160f181b0420a5f2b209c1b2e679b6e0a7f93dd341a0ee1a62b5897a429fce1419ee1c49b995d246ea43754c0a3f404b5a8e87186e2156cd162494ee3a5eec5fedc3dddc418b6609d8f74e35cb8f2098dafc4aa02c3fb08db46e05eb0b22c84d6f0842fb7c03cd5e95d97b7f1a792576d053ad2d83447e2392a3299c8e0aed6c77abb36ed96860141cddd5cdd40d1248951a98fff96a46ce357985934dbd7107321a01d8d2886f89147a036ad70fd2471d0587f3ce867d2968c4238880228e6519b5c7a596b096e772d36b9008b776f9a9b3945704ed470b10fd630040e0b95c28df523ec224f2ab96cda0bb1e3dbcc3fc9b372f2399cc2160b185daccf0f5f459a91d2087af2a004bd5aec8ea3e3320f8c65e0862bd2f3434cddc394ed0690bfcc51fa53bb9f4d2f02782c59dce38d359eec78629a77a7ceceb4e93190ea63f804d624b9c6a83a32944665f0ec8718ae8ea49247e3f91d8add4f50d245180332a2e08cbf682dcdf229483c904e40ee5fe80d3f2db12a7f3aff3b6864bbf59f20705ad88d80d5d238e2308313496270bae024d29a36b8456ac2527ff99c12335ce073078af1923d24bad3e7e54f41d920103303c2046a333ed9e56f7c1ce87d847af6b246a019a330b467473e5284785a1689a27705a60a5c67cf229363a243a04df64f62cea528240abfd0bab0b908b0b826dc3476f340ed43e614e5a33e6024828f956d3212e083ef92d59071fd9b7eb5ce507c4a349477a687ff7d8111d14e4646f9b9ad24b351d272a67fda089c99f66e2f2364a33a3852a5197e57fa298271e5289f41797c48ecac00a7164795e673cd25b8d840274fe92d1f0fff5f3d4987096416cc7d3989ff08dccdcce7b4e2e381fe7748b650e9cd2645157717fa3457e2730c653652069e7553752a5de2a4bb4b27cca7b8a45252f95b053e44fd99a95ae5d5831f0646035224a92b0322612e3665cfe5b4efa1a3cb2629a4199a7f8e94bc34951e8a19d2e498dc05c612db860ed10c53712913584d3c8e708f4f5fc1075d472b2f7835f9202f18e7c34af43699c4cb9ff63c055e1c941693c2b5b8037531d1b00f57153b851d03df5d0c314ff80f93e24546316a3d7a9e91ded2f227824c60485a27d91c0cb53a4924a201a01e0aacb01cea55bca8dc4142552f7d5a0ca9f3642b04ca25de442e17c8c40907f752c39ec8dd8ac5ada868bae2e96bfef634ff3163fe9895ab71953988e44756c4600ad9ece60ccf89addaea559ad6f132ba8980637dd3d367bf9da0881c4b71bae896d68641550031e9a21f781abb1d5f0838f9623f87e626e2eec554cf25cf0cfab230bfb5501b10d46d07981d3e225c0733e06eee715c06d94d2272ec63984a2db59df62609a80f240ea0b2a2f5787389a022ac4106231fc06c1848dcd61ef897d1f91633396afcc23732e2d453bc890da345e355bf1413197f1f06e589262cc3651432327a2df8e0ee2b414633f95bd62180afa117c34b13e5196a63e8cf5646b0d7c223219e58def133f81685370d11f94c10e762452df710d7f13fe9c041b475bc050ea30190b18e4dfabe9fe022e1b1ddd1b5f5bb785be7dac59fe53bb618c08d371e7aec0bd5c83a44c6913b885db687444a1f845091e81ab43b288fe0d30a7bbcdcb4b3800c9cc1bf0751fb78de63cc15c963e9869986bb0bec6679f57e22ca71db0bb24e6e513a9411c0ddd1054c227756a4272aa8dd2326504519b6473a4525ebb77b1076b242f49fbf6ed573489fe178ca1033e14a586e98d4358aca4dd5f2327975d108fea07e9b9642d9227dbdfcc070d64d58b7a64db1766af75341595a4679349c386268e7443faddde72e4f66784749340fca1096cd858ef1f7fed27f91ee2394a38d1aef7195dc29dc68c25d82ed59e066a86ab91608bcb525ded789a2ebfd7afbade632658aae1058af8b199bc9a4c214e33c072b57afd8ea8619a847033a95d22902f2dde9de138910eabc6d3a6830b3de887d65c93701ffab2d7500230b70ab5da7ed7fd39aee9fade7a873163f9f97747b328d4d40b1ff6a51d25f9262988ff150469158284565d3bb9a3723c337ec5124c376625acd3a2c086f9d42c55dc2a0aa143d707401db2aceb55e130121769ee45e98f2a1e25a4b77b94b023bb26aebd069c23264deb1efce91199278fce1ff82c68ec282af07e10c7c7a5b3f03714b480f0aff47f979809ed79a4cd7c11ae239781dc45f1f640e04d25300587f5f664b4079045918ad065504108b86bda9241014c61d6344016ed17ebe23110dd92d6a409af1740d9dc57abc8718a832e75d9846691465e86f628c3b269ba7abe860fca0346ea3b05eb3ae3526b3176439e8fe7bf3f3a193d83ea5e608b58c2e805c64eaaa660d379b5b056b9501fc8da1f887fc207c74c6810d400d2b1080e9ff9519dbe20e3839859f7700de6cdae07bae1a21daa876a5e727030e2a793a32e95b437ab4c93296b97d8070b0b0308bf81c6c0f585ee322a31647186d9a0e1506bd73a91268797541e30ac21759a5ba2db0ad99d1ac1bcbc2106a59550f276769ebdfa73c9faae0ab538beed834f10ec71d54fb3742bf48bad066c58ce4aa945442ab634fbba416ffd0add8f8299ea04cbc33393055f33c4a602ef8900316a1a5bc3f8c8f100945bc401b2defb9348d1252b75309b6e6e599fd1be08857867e0166be0fd84621ef980cdd4f35ed83b525f33582e7ff2bb74b3d3564ddaa17c9167b7815ed2463b055333ffeace2c28bc6bac5eb837c7fa0c39a862072f31ed2fdbdda1f6dde381fa4e5afadb2642bf229120069397dacc1e871d087415a851e35a4d58fc3447bb41a404a1a4d0ea3a1476640a68a39fbfd347ad1fa79e9903a1afbeb789af4fd34c72c0b49aff970745a0d7c9d9ac0347edbaf8a716140d6844d0bb5e5b56f32fb2569266a5ec2efdf0ca2c1da2ff48c18ad8bdfefa11bca4639afdfcf1712d3668abaff1e4bf9cb582d306755b4f3937ca129a5be739f32e407d3d6b0a20c614f5a712ddb7fa7769e7222bba84175e3f8b57b07bd9cfe90ab567e721dc247a9404b02fccee1b08ae9c132c8e41f6923b06793fc8e3180074a43f4adeb15f6a7051a0bbd0ccd0f865e4aed72ada5e565c83ffc3b7007ba377227a0e98e2574e7a6dba3c570d30778046ebae984313a5d07e841b1433ddfd885304d3786805b11bd0ee51176ebd2138c257263843cc6dd8474e1b15bd78bc0ad436f8b65dc8d4aa7fd023d40e1e2a4e3cb76b1725a8b7fc2fffc78b6d7969192c31273a60ab2951287c2971fd30174f3fcf09de83af908005056a1912600100115efbb1ba0b851d9ecf0cb15f8b73d0f684ddc77415d40993893b1ac16a5d81ba2c493c33974d854e74b75acd6c7bd0f8cc053b587e0d02187d0196687cbffadc9059f10d086d577c5b0750620ae9623b1627a10df87e08906e3f17c654682842e8c0004cf9aa562aa0a5f71739d08d70fe23b2b21c89c6f3b9819b03e49a648bcd6d4787c5c4bebb268c4ebb00f2a942be2218cf1a23f0f89db32db047736080323e4b36a249ec9c5faa636925a0bc4eb59c409511985349cdad3c1e5f7f0e5a053f4f0080502aa939c0b1f63c8c7cdd9afb94d5028df28e4e9e11891ee5fb5dc4a23f1b7a9ad46f5c458383189fcdc85ff91d323eeb69950e387ad1317fe7e10dfe1832b5a4508ba1391b612004de559e9c3bd8b622cd9bb5818c83e67710d79092de5b8c1c98d787d2f0602d87441919011a9cb268f07b26251df893c6fedf7b32c72a9d481d1cba327c74dbd730fe4fdca5cb8c843b96cf0204ed6079074b9cd6d2c7490dec0cc8767e4e9e90e67777d911b8609674ce33ae48afc5cf3b85df3f880cb1ff96ffb162826a0a626e4cee784418f3c1457ccda6b207785a0f5c2261f02c9f8dfef9932a3eb79b91440687cd8fd1e589f7f9e247765817aa087f695b9150905ed4f2dda7b55aaf69b10e4ae77d0873b60fbacbdced8deaf3d1026e08f89fb4a92028c47032a8ec68058201c16a503ee39ca7ab7ac6ba67f4c67c3e6f8eac9fee6e0845d8292569abf1c99733a62a530176a6883dc1400850a00040ea683cdf0bca7d0adf043394a5693e55bd21ab9c40936336c23b14412b2e5265bca2d654a4906cc075808bf072c5c20e3a226246e2dc19dd4b75213176e2d37c328dc48525cdf48371b51dfb42264d4379a8616176e3037a3d4b72c0d2c5cb8b1dc4ca3be8d7448d437ec0425eadb5ca252df240d2edceacd4cd4b7ab07176ea69bb150dfa215176ea49b9da86f508b0b377a3314f5cd855aa86fdd8530d400c1859b76b367e3a5489d91df666f4f4a17b6708d38c32874609cd7aba6edd177fea3a2842a7def8ba283a1eb4f81b6792bf7e1a16d5e141eec5c77873a5178c073bb2744e4e445d9410bfca7bc6a9c4770fb7593da3eae6db8e6dc9b7de0bfd1d136d73b8e9bf11bcd39b455278c2c874b0e2a3fb4352e39a87fdf5ca33e7bd35c7f10cba08eeea352832829080173121fbe8c3dfbe8a70f5f659677e84ffbacdb1ddfe19db7041f9e0c062cf0843c1cecb9326e774f28caa0a2ee10c8520cc1173e9afe1883ca2dcb4f9a63a28edeb7ee2170f9d93722e29d2e783845d49b8461f09805fc826773f178bc8287d3c3a3e9d7e176cd0c3239da8a98573ee7abecfb7b783833b33c5ecee87b645b9bb6e315dcf68f43a8eb3fb2f2f9393b29f29def711d8c1e83f2b90f00934a96bd762b436e85b95b09f71bff29548a21542286e3be79cef6e69f2c2e28c91f26efe18e7cdfa1bad9edd0ddb16d44e432d84bc984673619a5d13a345ff3aa5027e53042089bc698419a25b99df1643cb7736a760287913bbd9293a72593dbfd4360866454841da176a59ddb2526daa613b2534a52e2691bb617f422262e915cd775f55481a42b24a2db7f91867e90845ca64fd05c673b48b4f79ef947472a5fffe2dc98756da7eb449ec6ed6886a4e7761992fb58d7c672afa25ebde61fd22142e2453b3a3c1742cbdf3f25569ecb252bd79bc02dc36e78c78b257c9354eaf18a832cbbb2a0b51239d1c5cf49d1ba9518fbcae2c67f2a859a73d2863a311cf77f2395aa6d3b7a6551350df55716efb24165cb3f040c97adcb95ecc57433ecfcbbd1c12081b8e484675149ed2410d0c399708b0fb51e5eb8507e5772e2f68deb175a17a2b8449d57023d9a2e31e121dce4f24326974b3dcd314e0c97e1bfcf224fe5267511b8deb910ddfe4e02dd98c51dc2b7732182b083c1a7070c57023d1c182e7fe4a91d0c3e383ddcb8719fd6e3851b2d0c3e8fa65fb8fc30f8c070e1f788e1c2d293e6f867d8894d4a8efd6bdaab23d98fe0599975c2ff9e1635ecf9470ff9a7d3eb732a36617390a1c603c32c9d24303d995a545f739c001b615fd17cc449b755f5e80b052bebed08b38e3821a2dee71cf859efe1f0b31d112d64e4c66b4e8859289f88b6aca7f500adbc5b29fbcd468edbbdef7f1fe3851607c6f1b2f9f3671320f5d3b44a999eb5ac07f8f57dabff34930bb1d7e59fc6c3257bd94ea60d0ad5a754dff2a94df52fdbe977b4ab50df17f5aa4d857ad5c35815ea61fef4d9697b79148a75e2b1c3a3e996ad535b083290fa474d5b102edff5b5f18f735ade86ed4c8ffa0cd2d306a46550db8f1654bedeefef12821dd620d2d1d1d1619dbe65830249659d844c1b8480af76fc681bd4f7034182d5ff38a7887aa1383dea9b0780e459a747fdd378a02c4e8517b5617fda1eeb646392da3d1f1f6dd3ddfcd036dd0e3cb44d27c45e7fd3f7efd8c159220beae85f73376d73bde9bb44423d9a592e6ddd6b1bddba79337abb890021fc34f76e4c5d74124113bcb6c81ee7f0e31cbeefbb2dae4cf7759073e47716e31cc8382ece57337bf890736238872d0f34b323dbf63d1a1f3632536efbe3f8395fc927c3dfcf03777753ba36fe6c8e735406785f638debb67b8ce3fa0b87c3da030876b173bb69a36edc181f3e3c35efe57c853d66b3ef52999dd287af2af064faa3ed2a2371fbfd8702cd6d74a761127ff13fabf2c17f7e0ffed3ce3772bbebfbc68d88bed0aa94384b717767c16af5a7f169255d2c4688509821150ff69405abdac558eab3a89650ad9ee86bdf999e5ef1bd59beb34c82b94261aeb0982c114d354b554a544adc479a405e97aae78230432a1e78a97aa0aa67ced96124fade727ecffe29b3d79ea4f59433cb302bdd76305720bf7b4d69a17d4a4f4fa7d3ab784e4de8e9f4944aaa5a72a29daa47d5a352a252426dcb9f28a5a7d2ab78e8974ebfc34f5ba76a72fa167aaa27ba75f0d287193a7d8b6a49a99e5cea77a82fd94ed5d32dd9c996d2974ab613c226982b25169753e94dcfb2bde64cb6abb6643b982b2a252a252a25ed7362f9239f5c2a654fcb96126648c5a36a22a59430432a1ece91aa25aa9edbdfa97ae4fc4e48b732ef4b4af80e73e5762e296dedbb8c0b73a5b7cc0ae956bf84b9a252a252925229a9f20989a51a42d7dba76db06f29f066a85a5130d246a34d933105b54bf5500fa57a28d54329135421b28fb7eb21ad87da86be246a9b51195dd43669b84edb68f2fde528c20c65fc3b3cb2ed2a1dd442415da56da01053d8421105df71b746a5847150554f3c412aa8c604953f66a66d30f81d57a352a25a72bbd8433dd457dac6554a184754f1300ef83b3a83196a0e76710994ae876e5c72fd554a38872decd6cdbeebd665db09e956d743d795300e7861dbdb88e80ee6ca85164aa18cb325eeeea42863f4d7b416798d4816fb96168df45a8b467aad4523bdd6a2915e6bf91dded2426aa16f5bb68e6fcbe39c1652379b0ce1b445233d112479c52f955c6bf9d2937e87a9da126d19dfe59150a4138985442295482eb69b5a0b09d5a43f35e9599af4a6267d6dd29748d775790b6354f0b3cc9c31cf8bff82979cd7bb98a5e5e46283abb19df6d86915157ee67172430a9700c43a479ab30d65f3dba86b74e2c6eec8d49235fdd186dda845edfc4db487c9759637d1525ba9392317dc17e5891a5c52c6727aa1317736f6ef3318860207b196711a3c32db03cba0d03e739a5363863d7d475ac685e02dd2f658193f6f9e452caa8c3c3c3c3c551e8d7395ad0776190aedb3a60d5f0a95a2684a455b8873664270fdbb8b8763a56dfcb1eae8f9e3c728d4f8aef370da75dc33fa441dfdf519a6cd9fffa4c01173d1fc54aabf1fd31200bfad10d8c3c7360662a0c9400c64809e189680ec553e5021e8bf0bbba5a2ff6e633e5928c809cccd54a9cf5ddf097a32fe7689dbf9ce759f141530713b0ef28950a89db7bce5eed34fb2af65761e0f0fcf8b72594a65e1e179f2e3e3636ab54e3c269e179e978d6f96d2e2c787a1748382f4706e45cc228a485db643da957838489f7a77208dbf3728b427d9f81094b4b6be4322ed9048241233e11e4a831f10708fdfb9b9c06db215623e64eb3bcd6dfd42b88e0e7c522ef7e8df691bb636cc5728e65987d23275f3968ad219336f3da18e6ceb7091132ebe709bf706ea64d2ef62ee661f4efcf700c881b9c045b005100550045d68b5bc60422b7b21dcc55c8915380b1e8dffdc3cc9651bd469b44dd7ad5ba553655cb1d2796b0a4fdca2663935c39e6ef34e2b6edcfac2201ebeb7bc65f6500877fb3715c3cda1a8b89d675adfe1793237088087e72969639fcd6f668558a799f801ea9ee661428d3f9f2ffd8e8b76247cc8383a7bf96704006da12c076d185cff9767d33c8f73f69dc839b07333c268f94e6c82437119684ee56fa187c3c55b39101e66bdf56894501feb85245a68820d74585db7a8ed269dccfc310f273e3f7cab6e49ee4e8d1f4a738e84ea3eade67ce732a15ef836002a7a38d1f2dc98f5f73d564c4225bdd6499a236d8fa56d8f0537ca4f54fe66eb3cbed3da59c2c709b7c168eb9bd1406312525fbf48e9b52f92fa9acdd0d3d64b3c1a255bc3e0d1f8a3b666a2b9eec1eec8364ffdd417d1bef445eaa75e86b2a602a2f4da07497dfd8c351510da973e88f6259b0a523f55b236feb152fc3636272ef05d9e9fce680780514a0cc3686f2e2e8fc11a341e2e160a87d253ca94db455a788fcbf8b76c5090ac2769197f6dcb68286a7b553cb1724f9bcb1dd17f77278bca625bc772d14eb778e30b250eb486f6e640f0203c1a7fbab910a6e390e5547628518bca1b76f909b650907e477bcb5724dbad6e2da17aebe194aebf43f129de8a8bbc0bd7755266d430de742f5a280ad7abb88ec5752690be6d57d96297adb794508b3801527ad217a9af7d91d293be1593508b380142fad217d1be7e11d29778a8f883685f3f0849c51688fada07a9d609104d2648c9f6cf0b29a0c2184c74589adde132d70aac20a1c37a2c27fcecff3e5bdc15827ff4cddd02aaa387d29c633e67ada9d4df40e1f6a8dcb9c9cbda0162b83e08c13928dce00eeedcb0cb5a0f36726354f5a01f5f6500faf17ba01f6dcca3996fe4bee74c08778be0d18f9e6e43f01a577eb60d813b2ec5c391efef495a8889a125ee3e2d28bd72282de37fe3060ad5396db50d761b4af78faf1ecb5b98f556cca23a92e6b848a5765ca4336796039d5b76e3f6a23cb173e1266f6f2e57b3e144fd20af455cc4451c342d077190bfbc7250de9ae7d1f8472caabc990eb499e8950f4f66439be7a6791e0e76fde314863da7ef0809f173ab392857d4f85db784aeb77ce54a3c197f6c9a5a9def5cff6ef9cea37124d4ce5b3b43adebdf42fcd834d5e742ef4744d711d0c80832e027cb50a813f4232a3f7408fd3df81e2cc109e16fb18ac7300e998261e950385a6ec75d9bdb1fc3dc7d38014871ce0ce3e8e7746811c2a276b87d22004ac8896500270bb09874b05cc054734c18a8259c9a81124900a52148da0d698846579a0668664389c8463a641b18613946456033078c0353e2308d90d70db20357f440c471e30760002011a7f122cdcd744f4fd49a88f27a873664503942e83146124c217b31dd63683271a13e8e63bb471cdc93e9b7e1ad5239dc4ec50bc34c2f2b19eed18851fbe1c4785d407005194b511f122ea58241c8c385a4d1f05805e66ef9ba90e8c082bca2345104f7dee1c387070cc8757577775f1e9bca942ab1bbbbbb4fd01d05134998e245163bb862072e9057ac995763b604dd29797577f7a35248b0e2caa54d4471e97d519a9001fd61f92a9ea8e606495c0710a10b674c7185099a74c1ea16d444f18858509560227f6280d1859527049911060c9224b9b1228d32a4b8011643f882d52cb8fd35c9ab22494dfdc77033f39d70228ca2102cd1810882d25841185a882a78445760e105914b61546c41822befa3620b9d262f6aa4608d35a6f0403186122722049571861949ccac04e539a18c26650881d47a5b7c514636b11e48008d26446560210b3d23d82183091664e8e0a10e8ee0811733e882063d5b9ca10232ce9002b6b018830854a851859bdd47851a55464a18210114205c618c25634c81089c021d493c575393e346472f51af1b18a18116c468214183233d40418bca102eac99b306b3d57b306f6a72d47c4d244115509011050daa184112b0c08227f8a1f2a4a11554b8f051294874e173f067e08e8e520524b7ab118105b05841133492c841143960b509fce177f542f853f2b8ac3f6fce7073bb04509200b4c0085f54d98214a04c910497e01a11c29529bc8842143ab8c292afb149ed6a4505a952c512495831258c18b01ac9d398054c826ba4c90e5eb0e40a223481440a76df3f94922578789e70a2a7a7a7a787c57acefe7cfe907f6d8f357dc51c16a165d68a7e4f48015f51cb3d96e319fa94b429e830328fcb94f118c8618c3a482011b5800a42e5a75a0f19ee7b34cfca7d5db541821819c627e05f51d2189d885106b50d8cb2cae58f324802f5f4c08f500a7916d97b384e43706d307169b570e108282e3ce164850b37ec06546c30857c399a1b3204bb4386703574ee9021641a3a3a97887a474f44ea62cf1288149e20bdaf48b6c665fc67057a6e2070fe684e3b8417f068fc817838e0dbe12b5ab23fb4a75f247bd217d19e3ea4e2c493bbc37d547a782e6bfd594c422d5284f4d917a1af913efb20f4b5dfd1d9933e48f6244bc40910d2d37f4eb2b5493f6d9b90b30595dd2f76e7e6fcb403c42057401e50cd03ea6a1e5057736bda46da7773ecf0d57b3ff74773fef109f5b2f61f103fdc7888f1e9b249a6e28fe9adde9a27f3febdf78cc85e8edaaf1dda1b9ba3b9965277f4db7ee3a8d4f7dddf2ee5de3a88f284ce7d51828e5c9bfba8b0c1908c72a594027832f2dfcda3910fc9a85dcd953547dbfc953a9a935ddf66c6819075342725d461c3921fdb6e9a93a397a914b4ddc8ee684e3e666f9a933f371dcdc97abb1b9b7ac57832efc2bfd1d12b18d675e28c27f360ee8e96f2e3a68a5fa5d6fbac50c2842b3f6eb339296f7c559f8c7c29eb95f09f50ac92bd1c555eeefdde76c2ba49a9fefdeecd4e7c88eafb8cd98d507d55ea81c08dff36b8452522caa0e6783b15a176a59eacc4246b2ef59498bc2f2d694e4e69ceb22d31698e7f7e4f890a2544819754587ad236de4f02492d9ae36f21aa5dbd6e55efa9b8a20437da4e1209c99fb69956d5c3fbf24b205f318be594cbdfc9a0cbef3b2974e7ab30aca2f877f0ff70837b2e7f377339557359ce524fdb74259e257cfb663e61d60c9f934a5234c75e7a52e2699b4e0a5d7efecb2f897c554b4f9e0c3fff73fb84741f15478072bbca1cabd497424f869fa590142af98cbad8b9f0b3d72b5ac4bcf18b48dd185fc741ed4370dc86b0fc90f8a6a7db11fada67ddda8f170ac2827c850931188c06e9718105b516ff7df55897f6cfe7e79a9a0daa41fe2328088c0bd1e002c90e0b13a4373dcb73901013264c7a7490a49aa714b9a8e52b18cb412fa4a056aa14d4ba62508bbecb36bf65bb9e837c6544515051505190c6121aba116b61d2c3840913264126cb3dcdc167b1cc03df0893e915995e91a9888c5a1f6aa58ff0e9f65cc60941413d4415319627919ec5aae2ffdff86af4f3abed9e4f9029c814640a327d361a7d69fb31b2478e5c3f474141414131625615ad0a08faf281d097968893f844b4a71f2d9049e4faf940700af4b10f325f3e91e6a0eaf48fa53a59201e0b658d0862d9e68d5beb5cd3f6b2ecf4442c90d18fb4ad9f98b6a9a373e9e6e445f199729fc6430584f6f483684f6d112740fae917f1d73e08fd698b34cbd4b959ab85712b085fcd7f41ad96cf0f90fc0bfbec8fcc1f6911b290cbc0bf2436dae067da50108bfba0df39621a69885241f6623aace7c27fdf5b91517f11ec3d8e22193e5c067e4646ed7868c8574470a87b7cf80f5fbda44eef0d11d54c5fbda4e2bc273bf4f8f1e3d2126ac7430fa72f44e3c246e2c22e411668f7fcc87e473729a3a29ef491059f897ce5025b2e03bf779aa77bdec69b4e2ddff58faf54968766ca6636b6f92e1bfd964dfbd3c6f23c047fcec772d91eab85a8e8b6cea9f5e4c26ff9eab1205125597ec204498c482212322aea5b2b8131f468c6a8fcfc59a84e5b1ba2aaaf80c7921f44869e1c18610dd6f5a4676d08d3937e08e94d5655ff7df82a3b3dfc1f46f86af428dbbda16ece5a8778e8b3d3e644018f75fad2f6e3648f1cd17efe1196a77c4fdb63f190afe6acb5f45daada1fd208eb5d2032f4e4e047877549a9d9224e808cfefa22d8cb9f56555f7b232c93054289b0d822a3bf9eced71ec8343d11ccaaeabfc9524b646455d5aa80f0971fa4ffc2de08cb08cb49fd2c6eef9236a6cf3f9cafe8438d8b5bc75df875e39f0b9fb4bdcb404117b2d085d98ffe88f6f28fd0bffecdc7b251cf859f6df0e9ce85aff15cf8d794db635d747bac6c7bac23f2af3f329ff57e808f6d4c045f6e5bd1851f89ea0f1fcd41f8518ccaace6f1e3887f633d3c8df475da01c7718e6158bf1144dae6dd95fb1c79419c8479b8879b60cd41b44d371bd0363c02ae399f69ee5b7ee69a0fa5cb36e6a2ac09e1a0d8ee0cd478cccf664dcd0dd377a8cbf21dbd2cc3cbd1e1e138d5e73f6d372ee3cfb29936b93d97a1351c86fd8e263d7fe0c69f5acd966e0c006fe9a3e6c375ebdb6fce4bd63f6a3c4836086f6a84afae7f175ddce589693ca68ff74f3b82633951f9602fc0dd98f71fe3a83aa90f76041b81700e51712282781f952846f0703a23973ddb6118dcdeb2de686fd8cd2015c2ed2dbb59a47e51ef6dde4c0ec1bdc96ba499a7c8ded37aaec7a178e5e1bceb932766e17a138ff3e7f1551c824d3c9b28c6e3a2181096e0fa43244034cb8936ecfa90cb603762a176718807fb691bf83e4ae2fa472bf0ca7f3c0e714eeb085d20a85be09f31aeb733337f0ab4806fded736f0007c638c3132a7e0ca657ef0a714151cb910fea452b5fa8fd6e31cc3b0e1be97812b12cbc07f1deabe119378958365e08fae9f9465e68f6c07733b7a1f73a367dbd99b83e1c39f9c438471c087ffd8c6663f6d074379055fda6e743b1c2e7c695c085341177e96e5542cc2f75674941291e1f2c3671d1a2e7ff7d498b3561df6ebea31fad94c209c16fb6b7b7608bc978aa3e423cd41044c21889b3407ffda546c99c97d72e1c72c2a23b1acd31c841fa95486ff6220e6247b314348def7905f19c2ed6a90a92f13732bcd8d3096db8f653a98dbaf59a6dfbf39d81c6d0e9a5e73b439f8f0b9fda5db849ce849f662ba11d1f5cf1e8b594cf0349753e1c7280470099f8690bdf7dee36e87b11dc2cb618c9784f1bae48cd7252576c939b111d789823539e4647fc22387c28490151c31b27875d7dc3c77d5944f785d1fdff57ef0e8b0398f3697f5cbce1d35bea0debfddaf54efb17f2c7e1fbe523dab0222fefc20d763b608f6d74f5bc40910ec2fab9245e647ab92ff2ebba87fe70e2a9420c66d3bef93a2021f346c1b4c225ae3122ab7f808d73909d7d909b7e328655496ff048c08691bf9add33da28cf9b236bf351e43aeeb824808f5ec5cf045fa3807424845064b58043a549a00baeeecc3836c878a0c88c0feacc5f5878f739e3737e9c26cf71310e2f1531e379f93c82f29cc9d32ea7bc8acee264f282ea106f1c0b8fdd0b8ed8f8bdb067846e2bf7f424db69efa7eeebb5dbd1d84cb348c62d437771a8b0b5e57bc22fc18664d79fcfc3b9e0cd3371fc7f1f3a9b9d00e9181af37da213270e11d82488f096fb44310b9b0195ac1094ca0102f2f2abf176374a12ce0ef68b756c040e87631f7d1db71f7519627d48e831e3f36a1e247eb42cd353f9a8eed830634908cf9df7bef6d0cc8b2ecbdf7de7b8fad11594eede60c310a262b5286aa4cd101e47323458a1c2d26354d9898e9d9e1921c896124695cb9412494b2c2413c856b9a63fbe014590fb50d51dbf033516f3dd4dcabd2dc8bd23f17ca93274506ea6d7f42045cd2dceb66424437ed254d852cfb0222e16e8824c6eb622995e029e79c19ed4296e554e6684685d48cea0e618cd7078620cf0f200f33c3e80534a376738e409009b9fd6fcbf8f11382129251a04ba5b607149d11b5c0cceeeceececc3bee0cdddddddddd8784b47521adf17046025b50fd77786f1cf3c341d666d4eea691e61c9c3ce6ae3c6087715d324a292594d2a59452b6942ca5940dab3baaa61cc218a544725d52ce8961a351965d6166666666666666666666feb942d534893136b15146ad30b242b442b4028927655851604430a8468a605492a954aa2ed0c55451afe3175ed46e5ef7d79c9f508c42a14e2714aa25f5f2a28b4b3fd669dbbd342eaa5aa96e3b7ad907be3652a997178d075b2ad4b630aa1b2fc0c030c42920a95d7021543bd414a6bcb697f872bdc89797979789bdbcbcbc8ca0bfbc00c08a5449793d3713c40472fc9352f37e1ed0ab22af8f6154734ed4666492cacb2f87978c58b4d70f31c63867a49452623ea24ee9112abfc4e0674fbf7dc6e7174c5fdbbcf768e485fdd0dcf36ac2e819ccbdcbf0643949d455f9c516c72c262f3865c68244e5ef1e70538ac673b7d129cfb20f144124533cbe3ec6bfccb82e89c262bcae2b46ab4da9fcf58252f925d3ec8acbd247059337cb151f0dcfd7fc3c0af4187f98173647a3e892d9b001a1d6d4a19452c68edf4929658c91a59432c688617d994ef4ba7e902d2817979a1c72fab4a9b2b0f006376ceb527fdff55c9a9fef8042d179456d0a74996e63a62663adf908d0d22e6c230794f2464a1b0386f9cc255ff3f301b8440a534e5b477333cdd5920fa08bb1ea4673f45d3a6c5c1166aa9a5f67e4e6909a534e97c1e185ca1a18f7ed721fcdbd77fb1e17f78171dfe83d1a9953e515e3d578c4ebc684304c8fc1b17e9e6fe250d1a06984cadfdd207de9b5add457aef63dd49cf65916ad006e90d9225f1f7668033c9f2bc4f58cc5cfa294b4b6d29c56a539ed4b51a8b413d265dcf85a4adbe88f0ff7a9c957664b4aa8408fe6c6cc0b36c050430c32cf6d34d8190020434c8c0c0098c1d2b0712f13430d15061b5e98b941a382c1f15293bac1060e2e39b4e440e970b26159996eaa004a38a41c1d54d321fd1a00a503c80830da01db31af645d05883c401edea37b601ff4b58d01666ca84186a3610619686a7881c618e375c5c038cd929bef0b0c94452715039d5dd0e10fd5a8fc1d763353c356f366eea3231a039ddd0600aac062a60c515e1d37439cd06b68c8c51a1ca150f94d6ac02ad0602397177f66a0b08bca1fa14029d72283cfd034d08b39fae08d19220d298eba4c4cb3a90b900a95ff3d1a531a951f7231035134c44b5eb06888280897b1b5346b29fe34cf9c382a43650d17f6458c3310fb223a855c547e94890b38a80c91b12fe20d93142d8b0ca906cd061be80c9db91e06931f654643e3cf280094fe20fed022ecca704c498b668d8c525e38c82b42b789c9a958636f6773fd42c87fac4585b6db8cd48fc1c24ec893a243d63408957ff54a26d316dc8686562aff631cdd45434d6854bedd9f05c09b1f641cefab0df4e6e6e2ee755dd7f3b9d70e5788eb9ae14b5e124a28b39997986d9a00dc48d51217ea7bcdcf4734f488caef84370340af78c5283f0699c271c51f3196425d92d6ebaa18f6cf5d1b37d4b8b41451540e27165311b4c1b0cb24695dcd08803e0dc33ec61863649965f2594a97d84d66491acdc94603a0b4082300bd26dd41eea0af6d2e8b3620e6c61b2fb489cfd177683ef81a6bacc1a271ebfac6e82c1a1d1680071edc838eb450f9af3703d4c3cb554377eef5718ccadfc1a2ba4515f288eef538341ed7d35843df5b8de6c7bf6aa926de70618fe6411c3c870eca2131c6e4a5031d15d5f853f96566733d9a076f8038308e0c8f067a0e9d233e8631eb00fdd9380e949ef1ae1c2849a7f25f590e8637e0162a3f9be6e79c63ea205717b5b9b21bdaa58ea87f44e58f42522b11d42bde400138ce9cd2659a1e511febb8e800a6bc22c34c87176ee8a08279d14187940d1719ba79c58e32036eb50d94a132a4308f163e414257301e66e249691d39666eba1b57a33788c744d80813d751b5241bc3437a6abbf95fb246906c653b2ae296ff0ee7d693f2a43c29b41dbb82765f9ecfa8248d1745392b95a219010000006315002028100e89c4a2f1701c267a5e1f14800c778e4a7a509708a4519283208882200611620821c41043107006a1aa1a01c8a3f35bb25b683b7207f64ca7ce059cd0a635715a521170bb451af6041ae1a4354b072ac2d23e5633ad57769a385542a35cef5c6be1f94061cf12a98a412082a9f7ff3dec551b64f2bdae530a5b6fbde04b20418595ed8155489f17e640d2f7a188efb8e1209a260c136fa0ad7d58787714908b7638098a61d7a5c83118e7799d6d61addecf91023ba0b2035fe7fda7bf2e0087147d426ac4f2c36f8e7e0022f43109325997aae55eb8817002093a69651dda3a6f25fd710139a4e4135627dee9086f4b15914f8c2224a29e31674a0e083f31e83ad6746ccbbc2bf41705a98ffca3fb8c20a9ab889b259153a1c951738c62493e39d4856116b4d00b3a32e2fa9adda1cb4896bff794e509ebfbc62650b3e0f41e476a9f1cbdb57b33cda7b44a0b9ca9b9977f56889f2f325bb2a7824408ea85c9fefeacb6c48fa0f5b95516253bd0b187fe93b314744f57868e915d6c06aec478a3859fabefb04448c94eb9874eec0944e876dcf38fb8c07cc43dd992b1c2365c708fe55fb942432bf2f0ed8113dd266f781cd33f210c8c05e8d1cce11d810f7f64c096c62f0e7f2794caa7cf7ae43bf497a4612ae4ef0300316530f6f0439b2703d42988cdd8ce022b5df2285184da5fefb65151e4d6c04987462389ba1596608c0c0f267308710ab97e8cc5e5479001984ab2b728d9e9116087dd48d156992c706ddfe9c0a7df7b237884b8881f2a418f19932c7b8f3c0543f813daa412e323318d0f27123017c596e1391f3d3982776b529e776b59bb4c9e13ffaa67c9ffa77aa90f1be1c339158142820a9387752cbed245dc1964717ff8f82f8a71b49e2efa252e00ffbd39f8795daca3451a01a2edbd895aa4ce80007551f7bbd67e59d7834441f4842daadd798232271b792a44e3c0da4c543bf0eeb1a7368a05052e2fe0b744ce9a8835d532f4f3b05cdd3c43ff4b449933993fb60d6e224e04dce484ff36e9837aa37ca94dae4091106c93540014f61ab8fb24f9d980f8bea9c8ab5ddbdaed700fd361f2edcd3485638da4bd230de558762c8079cc6d48c72e99efd68efe99cc44696a8ab9f3b883d4159a84c6151dd72359d99607b04552587546d8549d777f52b83a7b6f4fe8de7e342592a661195baed38903b6eaec3e7c4f13b7db317cf893a54960d3dede0bf42f880b9168691ed2805671d85cc8e81348405bdd69fbd350589e62858add968f75dcc80114c5c84a7daa228bdeb907ff5ac176357abf0ef0819f9d1319a6e280e9b3ab30f505ab48afc96aaeca14c9a0cd3925ee1dab9a8f65a0b921aa8e56b944344c4b2c54848468f092c5ab55c4c3f714b79ef06f98049a90cf3506571db18cf80939809c8cab6e16cb2c674f514627f1eca760b2442f277746185e2de2cf22ad1e8e98650f9b206ad5185ede82a8390b45002c96bb56e0a6b5a5b31c6f4157023da11caebd711d3641e4814eb6cdc9cf546c0854b405068f24c3662cc6ec25dcdf1bb2c359982ff7a73a870ce67a80d1789c86a406994e9d06e5155b716e7df2daccf5f7fd41355d034ee413b861b30e0a010ee24b473cec67c6dd21f08530e2211ee0fed417e35d3870a1171811249f9d0f03e4727ad1e1db38d1cb40c16057a4055abd1b4e4e7fb0222143724ad233eda47ed0aa02fe5b8755725103816979f2c7867cef839eebd3b2249524a35ab5736014ec6ff34b1147518aa2890daefd22623534ea0f7608e68e034521b05caa1be74ee4ce0840839a7c3c47dd25026e29b51804f9aa8b6c5aa7799cb2249b4f14373664757eda4087aa7cae484f4365de4415887967e1540a27882e05e5e887d04c8442ec87e8ca75e01bd0520975f3121792b6e4bb020a34c13cf05ef9081dd014677056510286122e406a8bd99f2f45c910d58206b6e9ba975f32d251c4c0cd54f8b00e4be2242a8a602f147161eca809d38190b1e800ef33c70ac47f850814a2120785a24041bae3183d638f8e6fac67a94ffc661ceea5de6e351e120b373f0c5813447de96695669350d2f49f594c014865919cc653b337e5a26362d6b929c9075fbf94cadc16543e3502c4bb5c237e6a446908c3704187f857dbca3e042183820646f2d1493e385d63a2269ec1e61c375c7fff120ba9347e2f718658c002d07fd216b0c608da642840bfa51c30cadae7d516c6638d345a120737bd882ef1d13fd5b822c3f6493d0d749d3126131f07f7614bb54a487f7318379896186bc5967856d7c412daff48b8793d59ab76b6848eef948be8be1b2964dd2ab55be5bb155f2c9ff7521f9142e228ca06d13bbb0874175ba50f6058f401889f4c482f38227bdedc15af7ca9b0484dd71b71357218bda9ba65de2b383251be3c0cabaa382ca44b75298931c1b3c2b618cf2e1f5b3055fcd3052a299ea70c37f4c3baed17e240afc3faa0e61ea08762f9baa4482d7458685a4ea89f3df35b864b6d5ac1208ad53ed71f9bb0d481a2b7d256bc0b92e878729310e1e778db13802a5560334761de95ea2444e2c299782b3bd5587ad852e0db87b2a81462bb9fd222483ff4f84c9292baff61fa23828ff0586b26bc170440b16659a2cc68fa02e6551082cd350a94388d55b82f9a8d37e2d200b979961accaa5946246589249f8d67445794424ee57605611d031767a000020aa62a2067e243db7b56eb845f200e0559ac9c0c0ee144d595d306e63714ce4e7ae18446bc53f8f7b1e04da14725d4f19fd0ca01ef89a81ad406c41df77fbb8ab7cd23bfde85cddc0dfa24aa9ee31be829ff05f3e7059d986e60deb5d0f63ac67a1760037065d8bb8f19c5767b2c77075b153ed0a512273438d1446e78a32956807f5f264050952116ee32094255be1a782022fdabcaf81d3b5cb29c14ac18f5ad1aedec87af04a173adcb29375dff21a1e4ce5f687da6e329c40d20c7d264b6b2496fd6316d8b8e1cd3062bb10a42b00613e33d384bc2fbf119ef3fa7857421ec3f91ba6efc8891c067fbfc89abf6f550fc82bdc219188bf26ff38d8cf185c46de9f55e1475ff01d05237e3fddbf518505b1b54395370a3489ffee0a731af2a8a989997360b34ba5c0ed7578cd37fd5c1fc4c39b9872b4b881e5ede33101da6e77a84409502a0ba67ea40530509e1eacfccac45fddf51ca97645e6b412e0c3215403f904d9b41dfd1c077beb29dd9ea8741d3c5c3c9c633413a64d9a61649824acdba04cb577c046d24ba458ce7ccbcdf25f050924649cc501f3987d7d5ff6570b3a74146ac6a58dfe02d5deb73d1a544b6e9c041dbdfa0654385c07944dce3b0b5856ca334e7fa2cb3d71094d37deb3f33e155c510089c29ca1d1b8529c65ff69f83d95fcef17e89cea86cf404dbd50a649d522a1c260085ae3c37570e9ca9d2b2d77088d6778816f4102dc24bb93b822fa5d10666c5490e11a523e321c926032874e8c0b3e2679752e0fe3d619d40b3a13f869b9a899571062a93eb162d59eaabf326addf481cdd2810d3d896419a28052288c4422402980d377ff97a5131c29396b648f00201a64aa00d2484581094134e44e4a2976402c086b4e220af78adc13750f140fe55c03fd480945c3a3ed803a2c4aa68fd49bc0e1017cd126fbcd1b7182d7676ad10266c9a7e5296ba07ce81a98243f5e87c44e86f28c9a896e208bfd010fe1ed3314dd246761e48ddf86ae4fd4805f4839aefb52b8a5c55e5e29db626f8551b3c6d3a751f7b6bf8de51a54c3ef49a9f76358a610f5fe3c504c27be3b9781e271d8978505fab68bd1f3f0be87134d951c716a5bf74e960f5d620b9bbc43bc2b90942e226f8e8532cc03583bd45a4d9af34521f90743a78ef5ac1e2c75521e2ff1d62431e0946c18678574b95fbd91c4bdea624e24d8c11ae0d43988eb540385a5d0786b0e5ad8ac224d84756c270ec671bdc11ef6a67476751529cfbec3887de7c843b9914fcb75cfe009e0a06d93aacb26aee998f01e60c35324cefe978f6acdc55f08634655c2fd1ee77d4f8d30a54192a6a1f110937dc4eff3dd3636a1f7dcc03d9849c22d23bd0919b22c3e1463398595f4df855d611ff34f743c14e5d37104bce6c6bfd00bca39bf286089fed787a374129decaf286df7ca63876e410f40c8b4b25bf40100b5cba06a58806549a46885c925de045f96412d5519ad920efcf5ac473058b6cb5f39d2e864395e23ab801df7b9c36a6ac832ac354e57556380c4728eb8cc9e2e536bed087bd48e34e0b0dd37453b2deb11bcecd5e86ab839eb043ae3fe6298b744cc364f2abff7c3915810ad0d68a22b400bbe3500afacf92fb14f6956aab0a90b961d88b774a383c6987d5a1c569661a1713c884cad0dd8dc368111a03549da20c8fe213813f854c46a3f5dad5f86bd6c329588b3e7218756c6c68940f2c373c5aafa4cc8403f9170bc48ddde4266d247bc3c7ebf1565ff135648f0df9c3e314cdc09d9486e6b06476782ebd6f88a191673390066b1631421d2b2f702e0f0237ae51981810ba4c2dcdf51a0ee67ecc8fb7a17eaef65959f25f4b30609733b0483569842e8912df47bf8b6a078ddcff85381cddd6d86c4b480a2354b6263c3a5eebf60835139211533bfb983b346b344a9f762b5749e9708c56c4d4233e2a2dcee57cb987403fbc5c81c59d14c4ea4f10056b369f16e285a4cd3a32b05b4ecccadb4daab935662d3eb4721be1187c93e51242470bc9209885e69f78cc9d022275e60946eb245eb248cba07150b7448255671a49f62d12dd514af1b5b30ba587bd1f328f32dfce5e964f5c481973989583c8f5a9cd374e82fc55dcba6cb86c8477541a761a9806778166bb2d16c533f0a69889ff4e78b0a716134fbbb9536c1d9ca9362c98e794aafbaca5f7807048a148d6f0f995762e2a37eebfcfb73036e5ef4949ecb8d97afefe4365b7997e2a03eb1056901e664a40b5a03c36e9f2bf6924ce476a211683d9f66645d823643ceede140508012173e9b91ce8fc6a2745b33b26965af45125f7a8976a0cd862102305a4c0da3fb588d8ae9fd592c61ac6941e1c4d1b0070dd1c5ccd46947015c05be0bd314acd38b4bb55402076248a1ed1b1a4fea89211ce6e8eaa41d22be227375b8cbb9c3087f365732c3ceef92542ad2c9621b01e13d31ac1cf3f841984d1a92075145231f630aaedbc163952fc3481f6a80b769462efd8f2dd2af6da466245eab7917b78c10ee7ad1cacf20c4ef2998cad035c8d815db09af49a74ae7584070c6ea70da4a5ae92117638838e57ac6913a29bbf130c519cc6e5d02b40f2f535d67efb3d4a453951c12dc637a7d0be7570b58624dc09cb038f150817605c6b0e5ea2d074e68157d1a7c32ac03a5aa963b8f92b53e2aa6f14e52575dd49a0ddb3ce60bba1552939b2ad08d35265db098c8cf2b5dbd51ff5b6bf9380bb413de06f19fd3770545d758e4195fcefa0a96eac78344756f13d5c5a8b5652cb42d2aacad6ab8168f3ea12a87e8a591c2bc9e6a41aef52430c11e9d92be693857072a07d285cd8f609ee14dee6cb44d67cd176805c0b4fb7cf33a44b00560723a0fbbce495f808868854217fe0366f5511ea801a409d861ff28724051e8802d19fca6ed724ddbd83a99d357fcfb765d7079235cddfd9cb9002e5b1fc4c9fa1b0429906701cb4c9ddb3043fa6d57a66b924a20ccd30a52d8cd94e09ae1e02112d9b6eca8f8615b019f73eac35b066549ffe926f080fb13efe7ea348c52ffd88c65f31e69eb70550d61358648be9541f89bcbb5f25e469450fb2828e798563e67f84c98a1e709062fc2949773023b27730fb8bce9dee2f591fba26f54ad9d64f774f2eafc25a30ae74c4dd58c33b3481d8b1cc0f23e05e37c9cdfa2f301e2272065797aa4f83e56c39746ddc9f2ddf9bd9f8f607ce8b17931a8b03bece418736eae88a0c698213174866b6ca4995b814d59d9172e7929f32b2d71c4d6f90906574bc1973463912bcc8f0c0d5646483828cdfdab80169b185bdcef2ddfbe755d35fec4955ce0c624dfe87661d9cfecb91dc53c2f051c894f0d20846cc61a55c14559bc53994a870a245d80f84830174225ba413ab98a99ad675a864e40978a28d968e299bc806d3c54a980837658aab9894ddca10563025ba282b565b13a6042bb028d3b7f8c1b0304018af270ac40e9ef2232783cd7a5ba4aed7b4513a691593820bc9cea088c671fdd5a66403b9ef0d5a66db74794593b20bb2c42a4c08976489159a8aeec8c82b3415dc901557d354b8ad4ccd3ff91264d189ad16357e4a04c6dcbe5db6527f774a5bd3fdb826884243c4536a35f552532033921edc309234f560d261b4c6505841c0b4705956aca089e8828cbc5a53c1155971254d85cb32e50a4c093765882b9892ed220397f131b0032e6b7cc86846033301adcf5e009148d8a580e828cfeefc4ac857f327fc3c2af186d328e360668782d7c466b592d50b15704dec1972a31135f0ee78858ab8de50e1a73227d7c11b63bd72d86391d1cb24a041ad5f1d24a85b0ba9681a12a74ed8efed31232b157003b4f2f33cc428bcc1dbbc9de046991e4aad6c937aef61081b382f6ec20cf9831a7e3dda78878110e3a53cc391f0b7841a2630988cc1b12dd9350106c204f0b7a74f048079cc14bd605cda4127203d2a38a7678d3300d36fe533d3bbbab00855391c0200466f68957da003ffb3117813346bc040c5244460e1b9e6ec12a186ac471a89c26413ea50659f2c8f79d1250de8b8063d5f6e7176dd7953c9103b154095063391993a82785e476941f972cbbe26a382661045af3a15b49aa9db3185501d5ec430b44becb4ecbe744a3567f5283583f2cb1e789fec399bff39e50309a32b94150623b41ee07d38fe0335b0c72d2b6367c48eb05c88e6aa31eea87a6d825bd4ec2d34a224f541e0c76dfeab11e1618cf553084d490665e15001b29eba787caa012d2a655bbcb3d556ee3b1926d47ef2bb6a9e14fdb54f77dc8683a89a4d1abfcd0b26ca103acdf2d86cf27993fd38a58d0c774d4ca0b70e1c19efaedee4dfc2da15b9b045b706ccdf8d192284cad1a4dbf2576893e340aab0b9fb46eea3437e344492ce07f39602f69adfd09fde8ee2da9d6c9831b64324b63ea4d981cdf7be8c3b2928d520a61d0756288f92faf20df25ce0bfbd0e5007d16dc4c9c035806f8c90d2a6f675f3394ec025b3394fbcb1df2a0278ac888ec0ee8fa54a3d30599324ecec3fad1899fd8f7821f4606dd054e71118f80d70eb682213b6e868951f6171c586360f7311b5a9fdbb961b3326cfb841dc3e7550e88298c423a5daa584c37cc8252f485750ed30c05df0209bf628d494ecd6d3860678b433c018bfa9ec25d7dc8eaefdae2074d711e8b9d070c973f3da637666095bb8442dc5d0b8f8e63fdc8d17ce3ba17a10f0dec6436d11428d14d7d1557424b329c53c3d411aff9b05a4d4217f25f154a9c5183ab88871ac6ba6ff11396bf72038df248f8ad0839e3c2a9179aa8f3eb3114f78fdd40d554d499b6fd02a51ba36af4a905d68fcba3d262d94c44b04728775ec0e2e56e21997fa39e41322474ec1de027c208065400fe1bfc68d740deeed01dc0311a8e8bca482967cf70ff427d27cd43fcf5cc4200af4f3db771208e8012a3dd0afc02122bb9d51b40061a5cadd2c9527988dccaa8bef06ed9027ddfa2f078b1abba82e721c925510c8865b9407316fc47a0b4bb953a0cb0de01f87af9e265bbd76a4749e13293dc122e64343d729e19f6e4d39bc180530a608a9729e5f9338134610ecb04db8ff308dd45765ec9a87c449533cff8a4688756117b5bed7a1a9239b49214c712be8a172c6eda80b9a02a3ac65d88df9d06197b9122c9b53bd719893f9ccf6fb299d8496139dca46daaf89db6ab57c6c3ba12f8f87382b7fac19592d3469d6c3bd21edde60205d0d9b6f0723e3f04f974c0c43b13301c50941adc1d71a8a2d3d80f64ff05bab20c832f3bfd5a880e7d348922bc83f9996a13c8d4ec2c5c8704b87c1054555c06ae95103c4e11891aace739fe4b8a37652f4c07e62bae888f094e30bff49315f4a5832496e10126da4b68c1c1c66ca3f4a3ed21bc1ae9e0cfd34cdeca734a2d112619b3d5fbb347b0b23726e5194795cf62e93ba896f9a13d38890be6a3a7c8a706363ad615af50195a874856f3b51453b9de6e4d12a1826ab8da122d978ce6a7dc712705b5a56001dc06ac0a404e5ca18e4ff0df13578dc375425cbce3843fd0795f2f3ae87da45f15030b8ae39656579682450ea2cfb3aee7eb22a52f5d2cf2983251eac523ef4b2674c72a591077fbe03fbda9c200125da3b3d65a16ccc6bb9615eb999f15719c302bc4ceac9144a4f3e088e3cecf1658157d99acc4d3a87a22884b5b5f62a52c8fec465a7c240555c2009cc7b8e76b241bcbbdabf98d935b0a93a41e8184f49fb0ae9d69820cbcc5aaa698a82e772d0d07fa5c5f21cc498d304ebc4972a9cf6a838678c95df9345e3a662dd00bbac6b8995074b4a970b4c1489b3b0b41d5018c5ccc9a5280978173ce4b844e8fb636a0f46600300ade900eac2fb8ba8b7955d2a31a1fcff8331ab5d1073b7082ae8652412cd068c687187d0917c831f234194ea99511a7c58dabdcd0ef07db9ab03ed7b6920fe30cdab431dc61fc5c3d84ec1b085200dd60326f9065d0a74416dfe2771bbfc61e9c959b9d3ffdba384aa5bba8e6b33000b9447a259df81db0725a368f215f5e5ca253221d0cbe5f1e2dcb31b9a1923568fd82a8f64d813a71218ddd18acff92eb41072ee41dbe94170f71c8aa48f105df12a119d0bd7f092bec051cdd509fe7fa601459fd6c6ece35a1ea582780d53b8f27bbda8334dc46a36f6c5812a41cda61af2a3703544903ccf49cb303b178abce58b1c5301930c435b9dc90629bc9192c031d150442485a089337d146954d1d0c1c6178a42e3eb56634f7faa193e47e0e3502fa049d1341350aed8c84c27e85720a4f077114f83515238fbba36c999f8654fbfa4656651bc434cc9d1750460f1c802ef6bce9bc205d66b85edb06013c615866e35b29c096f56dd8b74085b7a877340930ad45e148583eb0b0b1d7a27dca12be7645b4fc5910f122544d724f4b8c06168902fcec4d6cff6ea64d08503bf0916a3ed96c39fe810f25b976f2647ed41544aa4903167b88f38a325bcc470b2e428e721d7520f89e00189a226502cff4a385548b18f5f43bb090a31f368b7e6f9045c0d6dc8cf1a93dc8ec8cec893a7aa97a8a6741c17b8dd6aa83505474048ee54f48e87a9071cab4e1d3e665a983d4cc410e79f6a62c745dbf746a5c9259e0f972d0cc8c966dbfd434bc3390484c86fd62fc234b9899ac8ac33b183dc257ab999a27e395e7b6a55d69b33f02441049b57f73223cd849887a384cacac141db4dff54a3135c21c7f4edd1170ef974d56f998ab343560ae5d88ee4e3b5479d4a61175ccdd2e7d3cd7b28ecc8d067cbf9fd206ec26d50d287de10242e8f810aed17d6617818617c2214aa6b61909c835a94fa133ca125f243ff57a7dc118766f906f10ba1d75d2ec5089ea00d41e8970a843cda7e257e90222c1a737c50ff620f92af00dc341a2b8ceca071f993921ee279b4631abaa65e3e9be941264bad04c48cd50f803ad04b18f3e9416d248c7593fdc7838292a74e85636e7883081f165c52046e17edc5d1852e5c035db120eef0706f9d48e25a2c5c70a55dd11f8e658922f307baa657f0ad5919ab7f38f0b437f14aa530771250b13b78e103ed9318f0c163056f32b047eb08d1bba8ba25085ff11e96ee1e998e1d114a8bc247c90d820f7c043e15c3fc9e299a50ed30609702e8a1b07c3cf8b05f7c6a8f58a238bca3b47e2e4d5b4c6ba24d2d31229e92f5ec780f4697e48dfe5319a7cb3c8703e3f42d46fb822858fc99d979ddbbd04bc4befd8ea16deb56148685d390d0029e495e4d02bc210a27edd359ecc0c001823f413ce478aef7c04f30fdf3644bf8e0bf385ce0064f16375154118f5a439c12cde6d2c16cf23044d1d5421c1c686b10a52f64891ee099b13a2663e2d36b1ce29f7f98476434c9a1a9fb10fe16d6fa4e71a47d8102552efd1fcd57e04e39595e598b9050f85d6339e34762984ba863e8c000cef57ac3404843330bdc496310d0c2bb249a8a02604b6997966d10994f9cf53fd03066e9f2cb48a691d9985f4ee6cbc4c3f38b5f2219c4881dec348f48241a3c41fd42bfedcbccb080171a6bc4d39b068246f862075b8aee32c15ec5b8be39f48337449ea11484c85a7a97bd85a6f70016a81e61490883b1d3904af0602991e2e0a4da240ca7fc2a61a397e6ad653e539d303fa8eb9ac90e33c997e24c9126f091e869b028ab7da866267c4a55c965e6acc9c557b7d56d51cd6616cacf5eea63006cf8f2703ca0eccb6ef25f1e5d5cbe223198973d3cd42e857e46718b173c48ac5f1edff411cdea5bc77e227f796ac809a2ec1494cb6af4854de06708cc54ae4f97060b9f2c5b8fb82c7c5b993290d01fb0c1b26ae41e910ac5f822e188d07250a4685749a620c2807c646e6a2808281a7c2b9890f46077dc8ecd8657c75acc00673adab0295b429b6a48003322629e21e3710275da266f5b1f99cd255f00f0e05db6184af6cc3133b3679923e4c126bdb74587faf549e58c5c64ce19a252a5e1f7992c92cdf054cbc589ebd19ac3b1fd80b343e80b9d3038729b95142f906758d01f389aa51e9d41091298828c6b12ae9b9923af7bc2358695b4afe22329aacde6362010f433d7d1de126b957a631364a87083859f785b868767ddfbb7fd63b60e8e4de302657a2256ef6fa1922c1a8806b75a862e407e8e0609ad851eeff9cdf5d990feb3698a176b63b0fa8d0848e7508bb54a3a7ebcc52ed69bf8b4a4db3dc481b604972df477f74cb704c322308cd155ebb0927dfcd38acdc1be46b27ac072d1d3e35518b6ea3ee899d79521667d6c401adf3f2e8b520cc686e5559d03717b643417f2fea11c6f7cf2ee8899353958c9a48877efddaf2a30fc3164851ae270aeebe282ef118bf299ad55fb0dace04f57a6ce4a5afcb03fe3ef84dbcd21bf6dc9e65567c70152bed25d280840c14e2ea606811bef0279b8f681789f1ba96b272e25889236ec82f5ef00f4cffda8156b07b7ad81e3a147db9413eba33e9baab9d1c9f436e1ed6a58f6e16686688a066ef277774f731238be4a6eab6b3154302937672ed996b8818be4f3731adaa5b2743ca4a18013752d46b9bde18935d7a3bb1d281cb4f584093304ee872f0ef71978d9812eb34664026f013a20feb7c68ac0c7ad99600d1b07136ee38ab890518b61f05db072cf912b1cb8206d969a2d2931f4812a3bfb3a6356b86ef3d0b1cf3b874cd495b7dbbc71d4fd767c84fcb2145288f25191aec8f547966716680a9a0c418882a8288a6d475d5d688a726107c3562e15fc16fc6fbf7762e49dc63f620d0c52ded1c700f51e4092a78998e930cc5d78eb70cc16b881b6ca0dd6a5e4815b82c42f62df8d9e40b9814af38f9ce189c88a23d0e30d1eb835d025385d339f3d9dfd9006b0e3d727bea3746f6627def269b557bb1f607aae8d1b3690fccf916a05e0b6d8bb3410ab5535eb89c9c2b778e03d24bf58b21b69fd78973c53d76d4f698862b9eff96ba29ff6959da3f748e33d9aec9315b6ae63ed524d511e4d64e8f3ce21be798fae562301d72484101018061e04045dd227141c3bb5463ff20e6e3193fb116951642217107d16e5443d917c034b077f49547d5482eca1009d86f8c1d031b839ddf8269aed92a320bb66d419103f56ff008b62a703af700d59439c21f38ec6c0cbcb2cd31d5ea84e8ac704bbecc723aca1e3317ae5c707f64b858561082e747ce78d8f0cdba071be650c7c4e521d3f41be279e54c6976c65f02305013ae9aaf3f0c261e57a5be253f309c538b6fe91e75f93ff4ce477e5822a1a7965ef250a71bf11101d903a77c46fe9f80bb0e22bf0779129943fc93d868ea4e59961c35058a5e097ed057cb3bf9143f26f88dc5f21ce6bc22d025de183f78f622e865eb9cc9d342cac32e4fe4fd48bd81494a09e04cc90a252e60aebc3e4c8858518652e7dee84d952d49d33fc249728b992393b0bdd04ca51f46f045bfd6a3604611cbae6c50ee840bf1494ac507231ab684cf6619375f089726bb1308cf2792266cf950fe1b7ff4ce2385e683ffd46cb03638ff1d8f5c35f48223a69e0bcd31dd7aff34c81aef5d14cc15d57db99865e0bee4750d5b79f57e0fc73ed6973fffa2d6d0c20cc1cff1849db48785b025e38004905063307d504ff80f5909dd8d8701b9a02ff4d1446af4a7f12fb24be701b144d1d498c0b0e837e53113b9f0f5b2424998177661e883399577007a6df042436e96a9549ed94da113bb3765f47148bcc00ec68a9bf3fb4be3dae7d701ea9add203331e1ce0b50d703f10d1340422266b2d32e53bd178b245ac149d8afaf498eb0683e21102ee78fb7f0244d85c0f78c0d04778e13c886247e48a47211c1eb78700a87b10ada81ba43e42e4ebbe2011027eccd8dfad468c155c7c75af5d69323c18a1d53987b5343a10bae40e9c92303a67775fb294205da78c4623158c0e29c711ad20ab037ac7627e54107acf0282f5fcd1ef7d5fc6b37c2a75e6f92197c3c0c6ff870791d50687f4f90cbb7ed19fdc11c18048028652122c808ebaf7f25002ffc3bbfec89b9cc7462f6a0680d407457a503a664328f64fa638e44081c8a896a6c828f0bfe8260cd929ea1f9a0f25efb988e1f1353981301a07671ee7413430c29ff49fe436da2789315f9369e53b5f3b7411c323d62c13cabc62986946f6b4b0fdc6469cbb03f13514537195aeb1a421ebcc1cce5f86c80a69d2820cfcd13c4dc7512623fa9e6707a8f5be3bbc1f1bd85594b9784d75e8a4f58e5c071bcccad30a30b1ee4c5635c97c7b52d5ef290f811d731ba2ce7eb81bba804c2043a4afb828de5c48deb0adc0fba05d8bd3d49840705f67d91634282aacb78c29583548cbda27e5591f5bc7bfc53de586bd0a211e7462a82a9838b9239b4df0b023b119f446f54849d91155c53a034ac04c805ca9c28574074072814322478a0280183c0490142adc0d2d0c7b631d340ada560004bca21217e728deca48020079f689690acdff235029ee1737ce0a2001d36dc0480b4000df66149859dcec64afc87808f7e61105dbe7b4ce7b7c44fe65349a4d9fcb69e604b29103eb47d1cfbaaf0490247e6fc0439242151a511f62ef1516f212133cd1421c5d3eb52f9be3266fc81c328309f1d0b6731058ace7bbafb2f7916dd30a60b970b524404b78f820797a4d07281c7705477b2f086d0c24229e59051f1f7f7ea307d694cbfade12e1d8808eeab721127fd9af8e8aa41a22bf5c1e1741a1fa76d7919b943df21ae65e017d566f1effd8ddbbaa24e8735d5b5880442106ada4190a46126d063d94c2d603e24c4afb00d1c7f875bc8f519c2195959c1d47bc483456899848ff334c9daead98d1087d18da7b1d7101c3f00d280d1b975ea94582594e404841282229c49f2bf394e2031869d8388b5d47b0fda8786cf02d9a0a60c34d66846f2f438f804e93de1ba9cbf758a046d0c0a216d8887dfc1a4cd04fd7705018216a6471055217dad358e6e5c2e85b0282f5d74404ee990094ac049273e9ef76ed2610ca682629c6783b286f18142e74c38b7c9c3055920b0c607b7541bf3e14a9c34f8b4d6baa8e021d40a11f15b5ad9c191904657d629c35b441b6914ce5df0da361e53b1924234d84a3f5c494c6959d3f95a70c23137fb6b2aaea3c04bc031a605d8d3dd4f75da0d5a6f3881219e9613fd8a88f361f5b77b7840ec232601d9e3c6d438436988834c7b28d0c4a54fcd5c4331b3b90fdc8097e08356dbdf6ec0a0de621ca417d7a81c0d5deb443503a0f0b1fb557c99ffbdb4b4affb852a260c493965a0878c4264de357e4a2ae94ef1edd811a177e16872c7a5d17281a881e4372baf72e1e01d356ed3e86f20aaca5437a954f7419a4355df3261aeaec96a7605595ace2049af5851a521f58ac810102442351e251b23b0df4ae1548b60c05e2db050e59026c603809e4d75dabb8fc6f42f4e6c03a6256f399dedb9009bf04ba7a6615c24f4b52260de1b1688f2e1491fc62a1399a6adbaa0675db95085d244cdc330f9486d8a2bfe742bcae3208907fb42bbd6de59ccbde250f58c5084e4445075bb72109f2047908a46c7120c2a3df8a5dff9e2cd525fe27768dc193e4509ef819d020670832e179323b9cd84b317bac14028ca43d0fea33b76ff0f945f93e3870248426b062a36fee29808984bcb0cb912918d911d2142325d983ae47492aa684eb36ef4388aff4750d2cec3ce176bd1a4d9843eab26c7a90d2d2664f1239ecbdffb0a3d5b5fc86be8b54d80154f84d7b7a1c4cb3d4ed9c556456ecc7e0ae0cf269a86b2e18d1c768670726e982b96c49ab7d48f35f2c1feb1ef79f0fa86c76159c8056441d34e92be45b8521e04dd39b5bfec06e70ed069d34060f38a31f5e117591602724073d541370d49260ae03115a427984823349bba4cc4efdbec5b2a4883a971b32184a61700f15469c6497de891b4dd3b0e8953c651895a585d030426065d81028a5fbbda9b80121c2589e051872ae4076232b8badf28f28b9022cc6c29109d4052cac983403a34e80b83f24e061007e3a62cddca31c950ef1e5e0cf0a2aeb280ef8f82d85de54413fa14029c12e184d7660157f4fae2d25f394640bd45c6e0aaa2389aad1203bec2b6190c6fc0b2689b8b1e7988378f51d9550b5f1c5b0dd12da0ba27ad571059888bac6fd4f516aafd08c076330aaa30e8ee48f85e5a2e5f0502d04bc38e7a00ee082deca4a99e541423500e24350eff9e99f23bb518821f60fe1facd9ae9091edf45382b38d09d53314c17c2a522365e1b59492c0b4cbb28ed0e0dfef0429ac229dfab9490e4a37dab69685df12d8de577cb6b290bb6e034fa30ff57212d31da52776669910c20540e46859f9fbcff78994bfcc8ecc571d55af86a50770715a2ebb0ce077ed588a7c9379dc2a74a2014a35c092e166a1e9789d4373c368c073eb5a74bb59b1d8de13dc7d8e56369547c721ebd8fc72f7b0d67519f47620f325ba2f11bd5f17eca6e3acb37fc4454ad7621c902c56e316d33df69082d575c4ce83de6169d7ca870cb45a4a2c1e1094b1b7fdf794a2eba3c89538109a238b0d874f830cd2a18d3ff172bc96f8458c2a17889a3f218d0673a118e2c5659827b5d55043ab2281a8d319a31d7b035949bbbe3aa821a03b45db9757662a7d139683ae8548f70962ee22a1b128ff611e4f3bf2d6aa2992a50e89deee950a3061ec6d74a3f1565404aaa78f7ef5eb76a84c20ee03f20e07ea1c2e72b50c321403cfccec9229e2403dfda6117b521fecd57f85f7be3ac1481d2f1b1767ff4d2a6c3dc8a70d1c9a8736f0905b23cd727c394c85fd568a6decfaf91d5b420ae8499e2c019e138f643a90b66e894f6268a062709c393e5f64a6799894c6d11dc0f3fc343a05d2d6af0993c707c76d5ab7b1194286b0710233687a391213efff76092cc395892ad93430542f6fffcd52061cb92e086ce5d5842b3b86a872e1a944112a00672b063e6c065386c149eb97420c2b6c7a45f412a728d06fb0f15a8492e9341228d2a076abc8bd6bb21fa2889b6f2356ee0740e34dcad02c4af38286f1e4521da0702c818d7b593462e32e36d08999202457e49d5fcd90e668bdbc8e1626645427763f4743a5c3704f1d6e99adba5962ca788926cd6f46bd206c05db4ce543e7f51ec4c8c8ec3c6662b7628cafcdcc7424a023bd933747afc0b8cfb0d5b24b2b1e527efc855266a99980ed9d1c366453af22eb432718bd6cddba6c3d54a81113fddae5df6a7aa90b8b2943d1660728131e39a904c6e4991d5d9cba17d71ab1ddc7bddbca1a3e3f6c5d6ac2de6b842e781eaa6e72ada748af3cab2888a25a4eaea6d1a917aa181870875fe2f4bc6354094b776d2ed392cb6871218b6f0f735d44a5676275ccd1a33de450c56089215b1cc030274acd6025aaf2446d1994a78a46da49748d499acec080afecd1ae01ecdaeef15efb76d2982771580d671b3b928ce1aae502bc08e9ca418104734c5ecdc67bd3c5fd9264612d8d75b903f268746fed1e0cde7c8183f75714d35d26def7f40f6eb8ae81221991451c697ffd1bed15c378510202a258514187a07628c76baef61b02554b00ae8018244f0ce78b00a50afaa3b9c7e496938ca7c7501d3eb04333fee41949a35fb0cd395ac2c426c00cf6fed2b3324410f139a37f865b4efb0d3a56f1d3c40584fc4b886f11e66ec0e8afac24a28eca81eb23bd9ead8366f100a85c55e381741f25b9bfbbd76755b4771c9020599fcdbad980268d2ffaeb4ebdb7f03a943752ddecb0e210316b6e5d8db769ba061eddc759a77b35a690bf64055bacf9ed0dcf2d747a31271b1dab4cae92e03b51f99dfa16166d98dc64d2a809d068a804ee1dc15599916f2fe8f2c60b85f8a2b8840ac60fffb3be235fb86a36a3d254e8b0732f29c304beb2238c97ae52bd101b4b1e7f78052e282fdb6c3741dde26ee7b15f9b0a1174c9476c3a893a2de66324e9fb773a5ac8020d336bcfd83405345dcdf98cfb41d8b7c78e554eabe36cda4b110e73467d2662405fe3b3ab3918e7ac770d9a34a23b5996b33fcc7fce52158e64b3b91a40ba5c2fd8668afb87de0d2adc524ffc9a78a8b4d9d8d5b096baf03d7d07f4e2ebb0afe71ed1b45857bbb9a90ede307c8e049f09bd4f6111f0b3f41cf24f3246f1fd52f01f44109ba754d7333fb92f058e2824dd019430e396ea5307d3d0c54700584e1098e35a0c37f749722f813883dcc2f6b2ffbf591e4c2718088cb84448ce6016cd49cb51247e5727cff00529900b1c0c8b51cedd36aadac4940d09382031b7102757f42617f2aa0a699f7a325be1cfb057dd572d2641ba29c09972386a25f925d361a334b50a09e839c8b444b4440a48c66c4c152c9209d9880772909922047f02fb44554e1fa979e2f3a47e28cb1302e8f4353087144090289618f6584a8178fab42b86541a58220da64b8f1c16bb5206b74315766c296e2974068142456643933b339a8b9e956385652968f5ad5336d4763929f1325dcd74f882abfef7a51af6aca190ed97bf18aeee8d6ee1c9a7d1733db378ad62200c08bb0b6d9af95de101cb74f04d370b1c9024223a18a64b34ab13aaee707fd401a534ae4f1c26bc9a6cdf2a3f6806545509eb0d1c75d911291a1dd250c75d64f1fb4136adcc927b95a4b0c54dfce2f8a40242913967400ba75c401bbf612da66edd923b9f110ac7d4b237f97ec6a9f4f3a11ed1e2b12348d4f970e3e3f6b105969ffd0ead42022bb607c8881d8567dc64a1403447b3e6f2b06a863006a8e337c3f1a45ab8fe620a835ac09f25ce1068868d04c249c1532a58eeee70b178c37daab8d148177e75dc4ad2081033a043577605fa8ca586d1939dd7cdf290c776b83e2e8e9ce4dfb7936496ea1ec960117e115a400e8ae87a43289ce2e516463c610c78e7ddb8981a6fbeb4a92ad306598b357a8148546f267b8908361912229d7e8aa05a6513c2605dce4375dd0257b2ab4cf2b4dd4c97756211519b3ba96e51c48e8514f01225d9655c6a338d312ec37dc602d0730babcc1cfb50471a36f179b5098dc683e6f95cceee48a9861fca4cf0de8bfde108cde6c5fcd26a9b63c9142b8c85a177a653519d2a0c230a9990444e0203dbdf40ae3d26ec5c55ff64de06f29ccdc97a7b2d574ef45ca0890fd29f5ff08607d5557a75b366d321e034302834b910d902bf5eaa9c7940b060b9c5e21f53e276d5df760072079074abb80bf63efbbc27cb0dea02c292ce879d30b745a14cf21916aaca048884acc45b2d1a72f02415bbe9f4d256fddd9be56006d870d5ad7d0bdb552455a064cba6890036dd138cb4222925f0e2d4064c966587680ef98345dbedfc6c16b006e3ee0135f9d70d25c055b5ee3b5079c74cae455450f59c2e3b6b0bfedf1b1c26bab4b1d90bd3502522a71fed99101924cd88042b3b7b3c185bf7336dab1eac5b7dfc8b163f0f118c3dfcec073583eb77a65a43ee4bc2b540e0b2a4ef6b8cc08ea4dc5407d8b07e4d74bef00dbced33ae5cdeae9c317f07cbbffc7f3ee98ccb0b555fdbb12140cc9c369e1140b9faa2c01299b806b193fdb6e045e5f511876afeece9984ab34702f421c9c7313e73ac455847a78cf031ccaa0ab1e7ae0cd4cb9e9b1930226bd96e754c21cd3a8121299b5b3ab0e8e39aedb8cacede680e85cb18b4eda7dc2a2bb5d91aca49b1e52ce8024eb2e29ec0c82ce47638d77e481f45f634197b2b6294e3e33fdf5506e13070e3674e51add5074706b523238ff590ee2780c9555f3792717cee71f5347e3ce6fe2f1a9bfc8e05706bf5b4b0f4c39134d1e0b7f16ff8d27f54d81132cb25adeffd67061e74056cd18300755a7daa94e8bb07b485718cb4a64dabac8853d2b9793c2e3bf75fde874bc6f281a0dc37cb58bccbfaf070a443674e96eb89e7cbbbcd8c2bb58a9361d6a5cc39c90174586d6a382bf94ad89630bc304c49f8e10060b613b55736346e737874dbcf7d0f16ce6544bb9fbeffe19407bebede74b0cec4ef0ba68766af1e2d29ab2927463731f1cd81ca6f4828ef2050e09458ff701efd6330c5080d35ebfc1f172403b44c1207f51c306cb70d038c9c10b703e2544ae46899000ee1f42d32497d7a2c108f7b07d50702757363183a2e2e0f5e2b2fef9481b6b8a9e83e9f978e3fdcc10b23c9ab0b344cd15aa7330832523330319f55d18f58b50949e0d82fe251dd6434b28db5e9393149451b87c84e3ddeca5427295d597180393b29a35bfd0b07d43e120621a82ffda60e38cafb1421b6241f430be8439070b03a447b0945b39c3fa4d35d709cf81d9c497bc3a4ebce8e6d457db4401e3893198e4077f9fa9a5d5881163f06b25e46148d88c00d35fc6a78b0a961ff5e0362cfb840b182baa22fbbca4dc264b69624645bc375ad1146f4766de784714ce1b178591f10f3c68ed7a21456d7830385b518e00f3446f8d60bd08bc492106441e6b50f78f3904351208c03cebbb21cefb2110b1d2481ed6161ce81b7443ee38aa582f17b267bda85824a41442641282ce682ae6e5c8db2c1d948ccc178bb727f43ab3212083a5fbf117bc27106868b1c7c8cfdfcc086468cc80d2ebf5eb93e3d0a5103a158401f2a853502f69a847782953fe7de952b2e78b5989e242ca4f589a2e7dc9ac609cde7affc9a29477eb5351aba368d400b4a971237fadb740b318fb9adef5a064f9c1bf13f4395bfa6509536005540e4104f902d6a6a820af481639fffeb236aa2570a55069b143b196437fa9744eab722907d7088d159f5b8fe22623a604c00f1a2c06b5353fe5f9ba331db90b2c21d45800877fe4c3ce6d2998c7d8bb1beb525b62048f02aba5248058f471aabb74a89b9a179be0821c6f9ecc5505b50ce878a554e0f16212d6aa27280268216d40c4e017462d86e2e74f150a133e2959746e7dc0451ff5b262c0c9c1d64485fea91f88d7434c9c9586055e44c1045d44858b5e622065f7c2919a74fc7ac395901f23e7dffe5d4cb7195489134b78ca0e34bd05fbb43d26c20c56a9a74ef69540950027e985a5b6d54e44c85f4b2efa271938033cd3ba8af1807efc0d36eba23c9b91d56b06f4fb02d9adf5042a382c04649f475db19e975859c2ce19ca1459a925a4baaddd758f413a5725a5d2f91c24b1ac39e98d4db82785d8153397de3ddd01c95ab5beedd01ff45a2e3bc532ec804f320d3fabd32ca87460b3d1da5cb82d028604742c8e7a27c8bd93fef38d0e3b4aaea338aa30402fd1c9055b6aec800ce855fc9d9ca7afdfc4145436c11f98ebf16cb7c0ef619ff12fb0cd460a92dc55088b2860bff9bb851203f4590cf6ad45c33caaf7db3b0a65b24b8b6dcb38b70eda5384a7c473e563c50add856ffc477f42f9afea616c25d6cd54c01d41b0de1ca580674c3ebe1821c7bc7e8adf5110d246aeb5394ef4e05fbed01d7ac3eb424915cea1839183db4e0fb797b019b2b5e13217aeb2eabf324d93834168fe49389f3d1702b9e99c82313055a57a7410c6027cb2b371d817279745319badd51fd6e772389bd944a984cf1e46bbebff13a59341d68b097892422a3b4b769865b39ffde74c79d234a05d5b8053ca10bca5bfe1cc5d7f69920268a3dd1f4d54fd4528f90ffd525bd21752b6b3a073d19c18ff98e9165606c64952121f43bdc64ef472c65e814a3eacea21dca33520e53ba1ef5d68ff05c31fafd1df330a462b87647a9c45afa840972b187a147625c73da54ada2baf997c48ac1c8b4725400f3840e10887ddb90afe60228e28b34fc0cca2dfc29b226d5de1c0ca3aab840a57d1541fe76db853ce16db3bcfe324035521b8884e3e902e44433e6573707093347c32cacebefa2a74c5c984a93149a682ef16ca371511a4d13480b6fd0d7aea47280193a63802d04e74a89c024e11353c2fc085ef19eb6c2f333919c7ff6eaffb34966ec0d6bd175f077a712fe8955a2ee3a9ea5c68bbf0ad66e7ce05fdc8c1929bed6b7205d3fe4d2c5644622251a90a2fc86ee4ced3adf53aa68cd06e376e3d54f838698730275dad5700bc0be52ca655351efcaa9c787c319d3765deb5de324b29c24522011a684b099c8f7523c15a2faac7585e32d77b1b13afda7225470f2547a8a40c320af5bd3b9ddd019bcfc83cd298234bb9652f5a5ec20b3cbf002f374cdfcbd5a37dee55f2863a8f79136e21bc18d51dd7cf2913e3093f5c0850d2d431a65fae171c6bdc7dfc81c0bd6414473a36473a2a7ff4d04d88f6cab2a315893271b9f682831addbe742710f776f99c6e16a33b29ffbb837c9adc21a9aac073f11842e6d78f43caf01f50ceffa127ecb4808fffffb3d26df089b9103e59a2adeac2a8c7788a6a40b9d7bb2dd2502a683e854eb5ae055bc9b6b953aad73fb9d4228db99c6fc748cc160ee2cf48cb2305298e49d6fa33033e2541ec33d6fce13f26a3dd34c204a1c5aa4ae44f71ef340fb52a3b5c0f657493c1eefd42fc6ece6ad8874663045d66a3df0ed83645c4d788e48c8dedc5e6d893ad229a1c08b604f267dbb40f1ba9e8ed7819ce993a7b62f7533e9a5f3cc564e7fb40a90ca3a07b46293363c39d4d9174e6379ea4a1414d281e97b292be6a6c4d538794d063755621ade27f8facdb99244e567dca052de7bbdf48199c8b1c5a7fdac94ac808aae8fc9a212b3582227b5d7e1c8404a4ffcbf5f7ca5055161b055d3b8826a32dae227b3e36b4b98b911520f99695c62bf85233c8f6b80a28154eb6b7ae7c956a640ceaf4659edc986ac40a0dec5bd77bcfd36ae3d9abcab276054f0e4ae9b72ec3e06679e35d69286325cd215c8c78d4d0422333dfab57f46cd318fbca98d9acfb7b8c42cd4ea8939154f0a13bc8068939bac8aa94c5cbf5306adb7fc953d591fda0fb75667a9ff5a415161d7c6e2926a4d00d465be83a59db988236ddc3a793838ee172db37221105e610b4ec07eb24af0b137fff9421f1dec5bc05085e5dbc15ec0ef5fab212e4ddd9c4452c66457858bc9c30199ef7fdd8ab5efa9e6f72a47f5979345271cf2194a1d36ae7c18402bee03444432f35246ab4aebaa2d2c6419a295f20a511e5771bebe67c3e311d44c2a6e668bae81da90960de9912a644c92f0bdb704d68ddf326bdbf60ebedcec8dae3ac3ac65869e684c68d4a2f110879d221d742014ad6d51e226f298e5e893be04a8a4f9cac681b2fafbc470f74188c0984818d6f621827d2e19abdfe0e2b7566c793d0f1f29c26c2d92fc733d514910b8d56719633bcb0eeef02ac97ea30c4ec90507f5484211b4f4c26784cb83873060f2d388982fbe219cb0879bd54021b65ac29ca91b38f2afa89be7a4897943a692af8209b626f5b4ad108f4d4df1f722ea6bc39a19dbea0ed518c16b1793d7112596b28a4769e3431eb7cc4fe582d015a71f904a1669f42be8f2ecad6602889374f9e2c9842215d05c189ec922002f0df8d301d49509252a55bbef83203585a0c7f0364b9d3c0041134d6c9ca88266c66e25b097906e2114919f4f189ff6c90b35990532509d2a9460a8f08d879d9548b3ef9abd3fa2f57d08032e31df9648509003d95a61876f3d8ee6f57cce6dd8d1f16bdb1f449562f443cd577d71815c0f11dec96248c9c9dc6da8052645a8f3677b0dfef602c909734e7b54d20d96cce32e55838752192bb1e1f105b72c546dc0a5cfb75e70668630ce2b9d38a05a11e65ee4fa5dd3145a1b997c4a9959e207f4b632a6a2712092509f0e05dccd905d1fc0b30771cfead8fecf8d95a6580ae808a0b4f493430c07a53d4cc5c090c7047dd347b59087a1f0c017fcbac785e78b925998e471e288672a56685b70b21e4e5f1a5332b7a9562462c43d79cf8123675adc9f031c806afac09803d41b7a9f036775bd7076060c44e170e655ac11b37fac44ed4ec448f9373b103d0cc61277ac7a1c5b9660005545d5a7e4e013b257267cb059073fcfe72eda6cfac199da0d85263d46f8f2e7dab9e372e7ea82633f30c7032a8e1b8f7e7706c0626faebaba51f90c757c6cb7e3f63aff64cb7bf385963d1cd57a6158c184beeb15691da5e3e4b79fb13dfb305004b3f48d97716c9b4ec138b210284c1f92485966b8021732ae06d056aacd6cb848fb2411534cf48dab7940025e7dc7a2aea974fd4c28ffede3886dd895f830f3dc79c221ae99eea7a7ae1e6d1328cbb3d45bd3a0392616c4b0c31af226891c1cd5323bc19fbdb94578f2553f5b60642425c164c28f2f1fce988e95f1788165cc2645fdaf18ced96aa031faaec1bacf46fc642eed988a706fa37266fa1880881da62e57f94ee337667126240c9a374f52028211069b1008d8c5345899547a2bedfb16c09166abf338fb2cb9b623e9bdfccd953c411e576550ba681a278fc317e060efc321009f58b824ea19f078ce1151f8de73c0e98bf8e52bb93b6f0e832249766818cd3b64cfcbde40cf54b5b534f43ced6ec05fb415108cca37a4de7c18e34e7114cd5ad38e07de6e236731866308cf4657790ffaca2c41759f0b26c135b0e92fd3d2df954a23a835393cb58d52211df174b6eaf635cb9db5cc6be3c16e01a3fa112945546ff0e6cefdf4ba23bc28b39e6e822e45b973b70ec3772b4dc3be7b043da034cf890896aca67341399fa85849185c73a911c22f83a93d6ab532a7c3c509c30f29259f8c4fa33471e247ff4a3ae26c1b66447e994545839cf1f3bf04551c2a23fd882fac5322a9874c4425ab6c1333168b4624c7d48e1d06ab082f1ef72de37fe744ce6b40c7d3650cd5d4361919b7426ed7cc44184c2b0e89dd5b4a70df8ae94464e3cb57744b0c0bca8f2e7f4460aa35935718923d5d4b089626a8f89a530c4bd8aa65037c222b92af8b41283401c00fce2b50a0efda3e78dae6362f20690efd685bcd5e799ea1fe3e108065edc46deff06e0839a9292edc7f48ce25d75113b4bf5eb218096fbd7811c39777b2f86e23586baf8f1b630c342b843dad56b905b7b0ab58a39936c29d8145a2aa3205d951e4e02d8fe4d9f5be8d441179964105874373aaa066492bf3c07e8f2e080a417a036bf9719447130192ee6d45251993b5debb4067452308d14f3c65d7e23e08c750a19a7586fe18c6f8779b9026c3625f2c9b93396e913e17a6496eb37af9d78b68da5fc0e9a4d15987cde91c4d649cb7b15d878cbc808611d2210afc16e998788a88c69d3432c27313fcd7f04b57afc6b177316744e43bd3a4b4c7cbc9a7aed60a4c048183611f30d8c5ab8213dd6d8e3eee45214b7d13a4e30b6e671530f2d747c3550ab0aec645c6b242f7ab159650220e662447cd6860f2ad98ec9c489754f8e73c646e3646f93e1a9c4fdeb4dd7f79595204d1422472670f0916fff83518bd40f8d5bb38d0b24a2a3135236c7c40795a002a207d04807ecc4d0743e47f3899c3cfaa392513e202891180a4059549891f84d09d51c0d19653bf0d7e52a2a34ffde25d43324b92b2434306a3bcb7062dadc6a93a7a53db81b48de3682cafe3a0f1ddb488d8a856214e2a319413de7bd32c6cce41bdb93bdbda6b5697b684bae917748dc7dfdf360a22e76d0835a74be25bbbc127d1812490d7e70258aa08205429626444cf681e06b35d407ee5513a53882802eb46515dc582791b5c80f9556a75c64049a7e28a491e6825a9274024666a664051b2ea63cd200bbf06c4e430db6d73e799584abfa39cd3352f04dbe1f11af99ea31b6772e56b8b1d456ebdb03d86f4714c5c5188e2d6d2d7f4503ef4fddb84712e3cf4ea695c7e4bf1b77166456985e64478bfc8a6e93b5a5deb6afe22ec806ace08931fadd6b915a52a51d8559891a76e33276056382255dbac44ffe420f2b204b1afc7c9c331a5f905c43c20c9fdc02f21083a68bbd167fc1c4e89ae573da3a91c8148e3bc35a2fafe805d64b6159a2ac357762d770d06d83d8449f9ed41bcab35827dad04697a9865fb864adb3f155a432f7e54258653a5311e364ca1dc4d45867562d211918f637fde155ec0e2ff71be628fdb4ad8510d003f76f92bdcb57cb1de47d4382a541209a1fd5a7940686232fb57dd3000659b4c10447418dab040620852f10b9c1ba5a0e3acf0c25e93488f8ba3c934181ea03e448f286f748c6b60fa465b5a9678916720cd1bd2569af6cf1384963506c5e73bbe708740f0c14c16d2df42560065179fae84ee03dd21725fbe062a0711dd2bfd4045684c745a6782a12127bbca776c24e5bad0b2c31e5b60ea166199619fea105ce375d746e3fbd851bb8d0a1652e71039668ef666f9b1f2d5f743d47b086632a99a818a23d1e362ca07f0328b7fad0ce72e57b0d4ae9827250631cfdad2278ffc1689ce7451ec7dc9d2f031ee7bf0f9a969d4ade5864d8f1d6b811c50fb952ff37c9cabb0563a5117a959b9a55f21c67a7902b4fca0c468169b67b72fed1ec83f727d2ab9b3dac0e23ff1120b85ca701873f43bcd1fb68e222b6f5d2c0393a4ae8c4ba086794aaa5529544d6e7a98a3778b5b4c2de777ecbc74196fb8a75f078b7335ffb87ef72b545ea531ee5048b83c1f139ea5d4d668eac0d6d9adc4ee276683b812f1b5d3da2c3451f92abc219df1c6193168c71af5910aee90c21068c6ac31d249893a7922b8f946da68979c4525c95870cda550f550e88156b28d6118cd09a14b68471f24afde3bbc0151c3eb45379bf7d351498c0dd917d56d7e581f3672f15b13940f1b3309c01920ca728a509d3a0392b2176b23d8a517706bec154d318bc0fc4821c2b1274903afc02d9d8af093f774c6c2b07a38266a0c27570a3083b6b565bc49d3c5518f9e30f424cd5d898178e71fceb15de7f6cb8bcfd123752d2e07c8664b02e60436c2d767e5f7b58102c833bbedde4bcef31d7a5ff898cc51de4c0d57b337bade1bb03063b80dfe12744114a0e59715df0bd9622da4e58f98c863142768914a60a6e991f4a59e822eddd04271aed96b24af14a505e57124cc1a700e15fd2e90d5061abf53acaacae15fe17d9c560572726a1f89c44d9439504efc4045b5d968f4d0581c22947a0b1dbdb8ca7b25b7fa5b1289b41f12baed3b8c527cacfd9c1c2a710c62ab642121b3d267f24756c9b67bfce04c9cdde56b1acc55b2819dab7d4d617a2b9e82d775012ad2b75699f4ab2d6db6c44a350d389bd3ef109d38e77da5e48a114feb45d2aa08d6d9ec93eed40ab5b2bd00a42fc10a028888fb5d8c28dade5770af31b296f73d3d8d6d24b34ee940be04b0c80c25aa2d82fdd91a79ac75a8bbf78b91c4fb861c6cfaa89dd6a27fb047646157bb8a5cf36742e46af01ed6f8faba548a98b7015e076a29d1562939dabdb5a8b01a22f790ba41ae9836016ed8876a1d0596b90ced7519d85cdb565973e4c6bd5843738236c59869c53193ff8753536911d75e8a7bafdd91ceadb73b4b3a0ef0b7522c830915dd792b1aec78d715ac74c843aebe21b18c7bad8e511db092104b537c2e339bb2cf375e86d22798714174c17fb3a1822defa41bea2d21b7ed55d155cf2143bd45d8a18fac89067d513028c8803aad5068d58305cd9a8034d84188ea5772bfe243193ba5615729ca5dc535a8da524ce953857ca976bd7cc084b751fe078a06108b0030000605c8b26f1b8fef39a260b4de50e93e826f0a15c3289478c1f5facd8bf7793bdb79432252903a3089708f1089b9700de7cc47e041bc251891984606c896c514a9f73c46e40ff90c0c156a73cc4b4a664e8492762b0148c1ffaf463e602c72a9e3004674b1dc49386c3040db2c97810e22a9e6bfb3302c7b7d84b824a24a22d836c6dddd431ef88d139a90232fa35732fc530863174b0fb1c579d65d67a3cffdf070249dc918a294afe447f3b5941c1ddfdc2ed24dcde046eb9924b7ae522108e9c79fe6b509740323220501655d23759955276ddeaef082db9722f3da824bbf581708a5cf5a9bb76cd3e0bcafab4c94ede5e25691bc44f7f974a7d8a359a4482e9afa77fe68495e0e6dd133cfa932a0924d19fecaf55890ef5c5300cbbb99f5e0bb4a744f727d19f129d04c516e88f071a6c8e2eecb12dd09f121d8a464cc0091b3fc710cbeb44564ccaf8719f2db158a141131b34d8fe7e77bff3bed8fef6db11b7bf3f9d33abe06c0bf4636758e5e10057e60832fdd2d796c1f64b2b6c30d9f3d21e97cd164c2eb4c0b109458c80f35b810708cbf972cb1f96dac6b3fea95fa7078a34a3198e1d2d323f4ebf597fb3417777efffa1006a0397d2e793269c6ae04419224cee306e9bbf6137f2e3f7d0a1cdc70e7b07e52fd3ac4706f469170929514f5db80f42089c02b2c8627a2edc95ac9164d21f7f2c0c2c2c59595475b299f4e79b44b908b5f17af4e7d28b58a2a4c45cb65bb759fdf9776390a88c043683b04b54fcf8370ba5e158051324f84b968b2419a42beb00f61e01f696ae4e0c3683dc6f58eebbcbe1834b827beaf9e0b09413c70d6b447ffeb3cbe1bfddb047146102343ac283bb618fc880e309701f7f709f8360ee39ef025bec7cb8dc64422544dc24c779d3fba184100f7480842f90e9732f2f931c5c17063b5ba693bc9a182ca8562f07164ff42762cecb81c590fee46f3e38dc059ba5377fb0fdb564b948b32cedf2d09f0cbb4ab0ab7b62db07970c7320908ba42b7efc5d1c8e552cc10906b93a4af982650c7dda266c11266f243c29143c44688261e078842a40bcc590ad52b0e0fcc9245ca802863e2cc0bd7b3e62883727fd45c15a1145dd8a9ff9d913aa80678fa1af107b0b788201cf2e039edf5274d6609b1a6cd3a8b2c0cad5cb9a306fdfcd8cb32a9e237e2881b78f3807c1db0f0c6f2f6bd860b7974e3a446b7afbee7ed8fe87bbe724b04548472ae0dfcfc4e84805fc5d80a0df4faf0fc7dbfd7eef6666fce61f22b6c057a0594cb61b56be64144ebafa9b320431e96f2ac05b2bb0d999ccfa846d3ff59d54b07e7aea2dfce4282327bf8e8ade3eba9f86fc67cc412f1213fb00e1ce326b5bdc96a11be9cf7ccef353ec2e0ceaa12f2808d31e5ad4a60fd3c7d485fe8be7e2a26339f4661f31c4dd6fbf6d9e9f54603b37f2381ac6cd1ecf8b96b51ecffff78140329d27b19fdc88e7736c12996cdab67536bb6d3278fb1e3ab4b589bb7936816713cfcd1e26362e91a6cc5a8f7fcbbf96835cc6888ede594a81edf79b04954f6ed82eb228a5406461bf47f477f79b84d221dbfef2497f138a7ce2925048293f1ff324f6cf6cf46c37dbf7d3119d41dc6f9c275f299fe50bcf28239bf26dea72f800f990fe2610fd29bfc56ea68fc8efd705bb3e48ecb2bd4b112d3e7b07b4b841f0765d8a68f19b77408b1bfdb3f920d89fd294a75e4a93e40b0595c66699bbe5ae0427ecaabf7a02eba44351c44fc4391b09410594e5abd512168b5e5f8522eed2cd3e04cf775387fae777cb456db21e904cc9453df4a7f3ee3b5dc2d3daaefbede60fbb1984739bbaa737cbe0dca6cc755f64e571b40c5de427ffbc82e882ca4f61143ce947ec5f4d60399c65086ad310e9a43f0e9c9d3ddddd609bfa9b2f59d67f487ff35bceb939c356b1c6fc09da2c43152f8b9fed65b8c5cf7665d8dffca14486fb71b80c82b7211dc26e0540186bd029d6d82dd2e2bbc5f6fe7e2b00c27da5939f2c982fc30ed99f2f9d74024a3f5af9e9d673f915cfa56fb746dda43ff36b135e4b60a31184a082cc1de59e9fdc88a33ad4f73aeafa29e2ec273cdf4f8e92acf9bef21a17b57895af24b02cde8aa7e245ffa47c0bcf579185e5aa434b3a543d13b04087224b2669f159aadc2351ee892a19cff7ee89d9c371fd10e8cf8811d8948f42a43cc7dd0c50ccfd7c0874a8fbf94674a8bb362c877549509c727d90f887eceb82fd0eeeb56f8ca36337d3bdf63125eb3c2e255351f1364bfa9b56a5bfeefaaabf594b164890d1268e786c543e308fd086204829a577397ef473b06e61ddfd376cc7f90e6ccacdd48467f7d9a1e0ee762b4f2478fe8635c1b0e76e2652e956d61f76a86f3f77bbd59e87dd6ed2dff4d1dfec1876a86f87ad6e7568bb410841f5dda4553c1fb3268a90be593681e744c2ea6f4ece85b1cfbeea2cc8cf7c179f6532287ff9533c9eadec2c485105e4677ee7edcd29f63937b3703ee5e61833bae76ed681fbede610cedddadec5cd09c0b95b78be7bb389fe6605e6672996c513e3677c3a80b89b43d2570998b3d4dfac22b0d95778be0cfdc31e52cb0002275da891c26504cf8ffd42b2911cdbf49084a6091a9a52a9647ac264a2a1a12981424a25900492a244014920e9f57a8de2dc5c7a5020b1765c8ab84b8ce2d30f32dadaf3daa91d808265f70315317861bf3989c62e40b4df1ce487c4b1bd48450c5c98890ee22d85d075cfd8c996c0b6c52c4a93c42afd919f55bcc6b4656c2c65de2adddd298e32da90b186f4bc3ccc66c2708e71db6f4edd62b73b30be1c40f5b1dfb82af1b6e13ccfb8d9e463ac887cda06eb252b7f723f74f39b6a9d21ea85a1f405118b61fa189e42e217711a4410bf88b363cc45d21de6bfb04598ec2a9acc6441cfe9515f2a661d768d8c4bc649320d9e509d52f58a55e37a91bad4342619ca1024537a95afa20dffc9062b33a769619965b06ec9efe8aa0db69f688d44e19e329c12d5d4e4af66f5487a940d3667387b098fa497332c8e5cd53d51d20523382ac1020ae60147255c78228b511a207efaa9e864403c7cdf5fe3fc30fd5f022b8ce0c2ee2a948759966959ac11c5660fe91aacfcfe2ccba81a909038ec50acb18a35e4f7142f8942a13ad3b6512c58f911063080011a5e10031c195c2ea3a7d4f7b0cbb045986c658ca3e8368ba248a360a38d154c351a4cb32a609a5d81a917307d61aa9130d54a98664fc0f4b72863f49422f371b48c7fe80b2ce3801ecd0bf20f2562e3687e9e2acc8ba3a972d13ca930dda6376bb65ad2c2f4b3979016adb032261d8a54504185a9134c57590da6ae2920c1397361ea2a2ad4e09c45c1f4654fd63ccd9484c2845b40276bb63253b4113337532e9a4f7f9e7c9e72c0f447ff3bf4029bb38bc4cc561deaaf43a2b09b7bcbb13b3d83c566133c99c4962d2f60601dcaecef27ab431e1213d3bed9aaba6085a96aaa3aa484d45558526fa26c1126772c5c7f8b1dcad34382e591c084f84f1a4b22e1cd3db50ab8d627e05aadc0b552816b354929bb265717aecf8387cff9ee9452497ddeca52c23feef1e0e17177161616fb3166dc63ef1e0f17f9c7978bfb5e9fe566d07f9eafa127b6dc53e288524a33ef6413dff7eff1585b9be8af626f9f05c3306ca3d93b6958ee2cbd5afcec7834ca3ff5b7f9f52b4829cd9548aeabdaf1e0be512b2dfb9bc6b3cc5a8fe79fd220e1826d2ccb5bfb2cd7056b928bbaafdf8d6aab81a416377775ce7b587695bb4952e591aa949477e1f148b9428478de5f08e733179ec429f557b0cb63b3d97c0fff8de7669ceb5990d111fa5d73abc9e35fab8b5bfdd651356559e42e20b1fd6aaad506b8d62970ad40c0f52b115c9f87f649faab4fa158fa2c8f7d3551baa22b1765d6d2155dd1d5564d2e9a2fffd4cf326b3d9effefaba66a32b9288ec0132aa5c22bcccae8aa561a964b55a9976799b51ecffff7ad7c06e195cf32b80cd6c5d38ee5dbab43faabef5e8522d6a8d5146bd46d7e07fb4ee757a18bb2cdac59795479a670ada077c40171e4cfe2f1f02b4408e7b31792f29b38aaa69ad916db9df788ca6f336e949b024bfa4e6f8fec9df3d9d3db630324e5371f6424bb1f3312bbf821e448be7bd4ab4efaabefa2a63d7bff22363f5f44e9cfe388f4e2ced77ce1fa2017041cbb1c2e3c5c5cfcfc20231717d76508fff93dfce77c7f17b7c766fde3e2b70f32c2d14ee325176d5f7f7a2e7ea31c8b9761ff1edafb0572e4c50399afddfa2f6e0fedb70bc45fbb5ef24ffd76edb32f42f3cf7e89f99ab3788eb1883b9ec4744557b8d21665e1fa936696a669a6365fc275a2b28a27b18bfa2dbc8e173165d110d7ed392f64f3297409d76db6140e65d1d5aa7e9659ebf1fc7f1f48a67ec94b2e8a231a1388eb09d758abca5aedeb4b958bb2af2f592e4317715f53bed61aeb45ccf994ed8570bfd13e6b21fdd50afaa77e0a0bd7e7b4707d4e85eb77285c7f4be17ac2b59afc53e328c58ba32ef5571fbb4daa265c9f8ec1f6cb2662ed58191359909e04b8628b305fbf233165d324d837e289cd1e6cc495374491163dd186c4f261c4d0b40210a4400217452097e910959366187557b199df06f527c3c3f49ad80cc2120476661096327e65fa930fea4f82643a143316fd2df2604f188badba2501f2115bce52d9fa7372ded59face9e4c802405511e0330cae9907fc32b57e0e1dfa1e87af9fb9e87e7d5b7f932e4fd6ccc0d62fc2f97ae5931671389e2fe90ffd88654d873cbe2262eb77cd7b40fe39af28ae0ed59bb79f4fb5f78ee8f01c0fc8bff7dbdc7efed6affe2675e1abf8a13f75f07a705ec60522e339ae27fdd1888dc0db3ff55ad3a127b17ebc4e92352d305e92c0d2cd5b1c9b600315601717752a8707c0fddccff39537c37316cdecd48c19df62c6e730e3ebcd1e02786da43ff471f0dae41ffad7eb127d195eb7404fe31b555deaea5d24e3ebcd3e407d6a540b8c344a86d735fea1cff15c3e7ae769781984697c519cf47a7dd74dfe84d3d04f003f80ef073080ef13c00e5c96b56a648d00bc5eaf57bfa238c985784956eb2cf79ef34064bc8bf671f44f391708e7bdeba2dd22387c1c79ff8283c7c33ff43d0f02fea1ff1ec773a9ff1f47323c977a5d8690f1de17c1f9bf4bfc73debb4b1ce9f1cff925801ce981c3ff0572e4ff8b9098b8ef7d108cc37d19ffdec521e35affd01f615858979537dbecabbf47b6b7f7391704a24103875fef887c90977ddcefeffbd41f7d19d88d2db0da47fa75b7c219bf3dad57bafaa3afc3d3ef5ed2a11dae8cd21fab430078facd24daa84f3d46ba3302fb43c4f567088935e86f9186a6d1b84e8af2923366308dc60effd1f8efd33c67f54783c60ede1118c6f23181feb22c5819cf791dae84d21f8d3525d36706006adc9ce14e0e370077c667c603c06b527ff43f9e7cf5475f8afeea47e3ffe3fcf75914c9b8408ef4b8cfb9408e644fc617f90f82efe3f0dfcd346e9d38fb6ab584d6dfa4872b21b09d9732b0adba9dd2825581145cd21fedb09bb4fa1381ed74466023ce0eaad4d8f90e25daa817891f229ed95e3a1377d2211a3fe3b59ff179e219d79bf447590e25d6a03f4f56fb18e17527fd514cc33ba2dbb15d678239cb4ffd61c176ef4fb87739949a7552fea1dff9ad532e72dac2ae842095a443aa56d2a1174fbf57b173232a6bb0f3e5a41a5757314ff3fc34e3ca9afee8dfd0ed90d7c50171c4f988637ebbf2497f9426e98f7a580cf62e9a7c619e4a7fd8fbaa434ba8ad71177d7f7914fa53087d672247f43589f5ab43b96ba250ce0c076b8f7930d705088bb59b81c03ce7c6f8553f792e457f14fbfa5d735bd55fa7faa36fa1d8f9373c0edea51f3b1e4240b0c4911f462058e248bd99f32e45dc60c20e8a9005e732c17909fa877e101c4712e51fea791e788fc404e72de01f950a35e4657c96aa28fe46ffc8b8ef9ff99c7ba43e0d69c8735ec69dcfb96d024b71445f3ee990ab4642e950f7f4e5ab43dcd397513ab4796a9f7e0b8936fcb7d8fd0b2246e09af2d55bf9e9a9bc7c97199697cf12c3cbde04d3bfc1cb1cfd172f732e5e8b9733fa30bc3ce97b5ea4782eb53e8be732e32f5fbeff8a9704c52e5818565270b0432e3e488cfde6ebbbf80ee6499664d21f95aceb699162c1b10a2788c17a2eda479cc92cb2c8228b11e7bb3a312f2b91816025702e52fa511cb914fda19f725dea07a185d67510044ac0a29be95c660259a7da74aa4da7da74aa4da7da7c0655539659ebf1fc7f5fc79465d67a3c59c794754c2186855888855888855888fb29582958295829582918521ad2908634a4219da08b62663d3fc10cda365a86d5d87137c2c4b8452da5b63e55ea844abd78f1e2450a7592af99bce4346ef2783c1e37398d979cf4aa71712dcfc3eb97ab266cad58ad96969696166b95ea132a3563c6673b8387d760109efc1df23353979aa64d2e2e2e2e6d6a9a2e35e955e37abdbcbcbcbc5c35616bc56add70c30d37b4582b55ea844ac5881123460a7502b17ccc244b92469a64c89021e3ff7978d2246964a9be5cb4e36b5c39befebf7fee7fe63fe679784278d1c5c9dfc1e3777c8eab1c5bf7e9bd9787278417fd9377782917f5f8def10ff8fc39e0336888cf32413cf7d14542fccc4717f1f8981e9f3de0b30ef0a27fa4f7df0f211373b3878767e6662b84fd20bce89f4ffe0e4f06999d03b2910e6f03a271d6c0e637e7f206340e641d10146720d86f95cb4bd4df302e6302ebf0e86fd9cccf781137c0cbb1058497238b015e8eab1fbc1c5d3e7839d6e4f0b24cf5e065795a8097e56be465e9c25eee140e2f374a015eee5302bcdc2c0478b95707f0b29b6e78d94b36bcec270378d951d953222f774dc8cbed2a8097fbc58397bb44002f374d6e9300bc2c57202f4bd60e5e962d1dbc2c4b59d2e4e06569c2b99a32e8e36599cfcb4e43c3cbddca0dc67859d6c07859a270f0727c5d2f479557eb0b336129ac85bd4cb85bd94b3369292da460f838774c4864fdb663c2fd9c192291e1dca990b0386b21eee7eaa641ac9afc8711f8884ed837e210c4c3840082f89cd92a115290c2c21d5f461bdadfb09fbbc5733e679c5549f9ece97ce9b16fa5adb435b1a53625db132529706f27dc1b0af79604f786d5d26ca21de4c3c49be4b6d22ca5783852ba14dfbebbef2e47c76ddc6f937bd734eeb5ee86ed7ee648d9b49f73cea9cd39b539bbdf3adf3d8ede9ef3e5d0e2c3561ab672d1ca6bdc793cf4d7d94a136f17d49805061c1e727017a402d0ec49392fe2ce8b289c632ba5e3f5e0a2e89306f773bc229bdfbc2232870ecd49abd310d8f95b9d4aecec7ed33c89ad8704e793c8b0f6be44c71a1cc7f164acc1bdec72745acacd1273dd6d6e96de8b78e3496c85ad703fc581c71ada88060fa18de4dd4af389f9385aabdf13fb893fffe9d7e3f11ed814168e3804c95460b055d0cae7fae54d81be7f3ab3e27be9afa5e7f004776bacaec2e4047737ce2094090d98050509708e4d5cf6c3f47ce950743511b6089369b8306d262d4c9f49134ce312acb25261d1942ca7f20f26ab928da752352518f32256796d9aa661f3c5752444f9d430e969bda454443005717e49a2c4555e2e8a2e5e2e8a2d2aa422e2688b3c581a8568e305d32d7f13d03bc1322fa827980221a3c25a81a9e79f80e90b8afb1b563eaa432eb33ffa3258be7c5454e11b567aa2ca4b7bc50ffd1c0c01678b95a4c084f3a31ed51f92fee810accc3e3618f6f951f2531249124b8369bd9feaefa32e5a588ee24bea05c90b4a08363f0afb1a0429354cc380601fa57ad623e9d0f69f7a2598aef0a6b1f41a57cf13ca164f2b6583b45c80c0fe050af6c2c236ff02e585497fd4f334a93fb01a9317d40baa3fea69d22398d20b6a96b0e6e5172698becacbd344764862d7868e2058ce20d80508b992c4075f31f5477d705c7f656548fd81cd2b435686541fd8acf25279f5c06695d76b65884a940e6d5f379f574a987e1212e7c03eaf182161fa2b4d60ba42b3f988e5e7151328c50a0ad315249862bf9204d37a3d950d1295242a4cb1b9cd79371757728f23f9e764a456cebee44a1c92d4c6e35249faa39caf9e3d1969eb711c8f33c2a15ad6b654f987abdeaf5c2e72e901e4fd6eae117d54ec4ee56c9e6b5239d787c69c55875a307d2e74510d14fb04a6cf7136f563302b0f3895632aa9fee83fea518fe4c37fd222974fd2a14885911a4c3f2ef9547ed6b7dec9ab5e521dca96e60585290cf04b92b95182690a53958d96414e21bd538af8fb75911f02393ae2827d8feee7d79723fa2b2417b9c85f425e17ec0e31bffb1e738923f22e31bffb258ed4db23e566be4477a70acacef77f41b9e8a7881ffa40c8a8b06285292ad6d081a7e509ff532e9aef7972605dd8450da6bfd52336bfa09260fa5f7251f730af97eb05f534b2d6ef76ef37d69bbf553562e7772aaf17d40b92cd8b92d78bea05f5927a4982e9571cd8ec6961fa590585c2b4e5697930d38b9e1f75614a37b0f3b38b50c5e4d7a588f9dd777789917f1008f85531b90a4d06e23c41c971aabc35c1f4e5e54a24e79074487bfadca943dadd542e8aa39491d716fab6da589c8a85e91a6ce6544f60ca81988e3c38ce14d41054b4d2a839a5542f404161dae12f6061a417a05c4cd50bb65059301081931a9597ca93285c80bbf3a105ff70e1720194afbfc9287b6bf729276b4e262c6e497fdc120cf3e12f6e497ff4724c3826b585e9571bd8cce1cc712cccad64cbee941f8e250662e024626089b788a3b509d693cd137c947f6a119b2788c2945bf9877e8afc2ab1bc9c2ad6a05f6b6033ff5897cbf512850ba4a7e2f2b4a40a9497ee72f82ad6e8820a948e14458a3eadf5a5773de67d54bd59891f5c60ec870c8c71a0064b2550d807c6da6a6a4622890027d1cd78b0ccf3b4fac358434851b8c06bbf2a2fffd0f722e6fb5dc27fdeac4330e2dcb8a0d03939541226159ba6134ab5ea6f011426254b76f80bea4f3354f244a96b560f5c4a9e50820a144c3f7b5a8f7a410dc151b860c6b110224022bb99f9d25381f282ea90a7f52815272a4f546a545e2eca8ac8b24f06b6314ed5218ae9734a8e90307dcec5456991c62de950a4420848307d10d3cf2f3473ab105317e0ccd54cd4911ae0cc41c174943916a68f5510d5a12c93ea508e5274484281e9cf5387faa7918964823b645ce4a249c3e5340819a07086e5731d6a820a6c82118e80fbb90e655f613328d982148e6313a050fa08936577408aa4a8bd52369a5fbd1e4d1acd8f5e6602c7cfc0c43fa40b53df9ce38ca28d5cdf05880daef707870a18145f9230c99dc0c2fd029906dcef2e2424ceee92d73536d8aec16a549ab032b6dc58f20b7548750246c248d3344d358a699a5c7f5ae504b21d8a74b93ace199c9bdc139cb35893612e1f368cb9628d1886611886699aa6699ad671d5c3e94496655996659aa6699af65d0cc3300cc36aadb5d64a29a594d239e79c73d239e79c736a9aa6699a966559966559a6699aa6695acd21bb1cdf07babbfb9cee3e3b9d70729d96ddddddee3e1a8159966559966118866118566badb5d639e79c737abbbb87d389e664599665594629a594d239e79c73661ccb92097a6318866118f6dd5a6badb5524a29a574ce307422cbb22ccb320cc3300cc36aadb5d64a29a594d239e79c7366594629a594523ae79c73ce8deb72702f3bee63f77173a6ccc999d4d2d999337e5ec49d0625088220084e277418866118ceb09df050072038673041d04379630320886118866158188661188620088220e814a44ec0300cc330acd65a6bad1886611886cd5a6badb5524a29a514eb9ad3b63bdd8286b5e55788f0c4a0a06cab2386e752276499b51ecf7fad7548875a6cfc1c0328fb5c1377e7166638c3d10cc38ee9134514ec3943b943bf04314a29a594d65a6badd529a594521abb941b366e1c0d6914dcdff4d59e6b15c27999d6e07eeaa4bfa661acc1919d6ee12ea64aecb4902adaab579c65bea8188cac4573d9bcdc306fb8c15bde708396a27da28886928660e7763a9d2a8eba2aa2a856aff33c6edb789e96a285d5e4df9cdc472ba5dfa594f69c73da1b367639428dfb3c99c2514e7a51862a2b9c942fb899972863267e1e37135e6e06945e04bf09004e0710c7b2a486b84e4800ee13459d1837f146ccc7e762a8e5c336fe77744c2e6fc45c9ae100a345c1fda1efb718d18c4d6923848656a3398936a60d1bded2860d2d65c76ba18b76dcefcaf6492b96d150939b6e155996d8e7221045148ca318bf87189af918c65564b5ca46cb6b210567c8c9ee0cae3b5513dc2fd3fa0cf0a9c1fd363a27ede56e85fb6f743f48dc29c1326db3fd739d11e40e5d4d295cec523629dc679dcaeba88835fa67bc4e497fbdc3d3b0903766a839d1ae88363ee6668e16d2500be9166848431755d30ce58d0dad514451278a8e49cbd1e5c8c16d9b1c39b4944e156b744c1d53a782a9261adc4ccbc7cc30ce7025d41186d409dc2f431a13935d7b3df7ba40de98a0dc6148875a26286f6c28a594524a29a594d28891333a563c9c285289c604524a29a5d4c3af423813c6dc3c9dc0fdf75774b4cc7c73ce39e78c09b170724518866118869b4dc432a9c54f00b899164ef6297e31b7bd15cf7f2d92abd573c32bc21086e77931df3243a5e8504b0e3a703235e79c73ce548c9711c3e572b95c2e578885932bc2300cc3309c609665599665dddddda7d3e9743a9d5c2e97cbe5da4100dc8c27b164406440cb0d2f2e241289442291401948410404411004c1f649eb66a3699aa6695a96655996651886611886d55a6bad95524a29a503e8726c05e05a3c89673c895d05049fc26de044708402c7771444919f62e634ad2cb4351ed7bf40100441109ca09ffce4273f79ba7ba6d698078966c2162f621967420aca709f17a501b8c8b2c4669f60cfee07d932f32ec32bb850865cf8614b38d3201110044150924824128944ba2264c06a1557201110044130c666d63323adbbbbbbbbbb1b809b9137b84e5c612f7907d24086e8852baa104556622d303b599427f5aa6f0562812008822038431004411004edcfdc986bad0270ff0b594db565a6d6194f3711bdd23a3aa6657f1ff72d332d7df2c070b95c2e970b24028220087a52a9548a4bcd30da8899e10c6738c317241289442291401948410404411004c178c5681481f8915e882e1cb887fee4cf7846c41a3b3cdc6c369bcd66a3699aa6695a96655996651886611886d55a6badb57dd28a7d36d96693456db349e1fe23a309e1bd7f3ebb6ddbb66ddb66b3d96c361b4dd3344dd3b22ccbb22cc3300cc3308c012b6badb5d64a4fe24f6205806d4553d140e829da06387e13892206746db0c6f522959ac69452ad582d100441100419b07263feefeabf65256f8e68c0fd2b1f08822008821f576bccb7cc7ceeee9f47de99179e26e27afe86e18ce458be3e715f8cb67273a7a3e36618303c6f2546ba5a6624f74d2ce48d8e49eee0a4432ddf3faf8836be16017d3ccfcce7cfbcc63bbc0f7036c97d5e86b7e63e0fc39b739f57f10e2f8eb6c97d1ec51be53e6fe2ad723bbc0fc8c8228b2cb2c862b4e3ebe739aea60ec5f871374b28b0e43e4fe26a729116c68e49ded880dc413e07672dd4b610455d151bce9d2a6b1a16336d93c2fde745dca95c24a1881ff944b0949f399e129e06620df92d1e90fee407e149120d963fe399648759966559966118866118964aa552a9548a4422914824bc008e6549a3a047d01d480319bc104592e4b40695a5accab37ad6d7f2b0d3e9743a9d0e0d4110044110247d24128944fa969ba50e70bf8b39e79c73725aadb57273ce39e7ec74627888f85456dcdddd9d73d1214804044110043f0c2686878815ec75cc39e79c73ce39e7d4344dd3342da6bf5b7aa6657337954aa552a9057039381a764259852c9f20ada0020838be9c228a646a4a54adb5d65a3b9d4ea74343998ae121e2bf9bf2999b8a20d905dcdfe1321d36c6f3dfc2ad7c7f8de121e2ab2b33cbacf578bee5e69fe1a20deefb3bb2d3e974bedbe126f830348c36beefa757d0908634a4210d6162788858d11173ffb6dc99dbdddd7d3a9d4ea793cb255d39b8136e9fb3e5b33c4922120a89021d9fe50870d440144917f597ebabe94ea7d3e9743ad235f32b37674fc0fd3a6eb655f05c81fbffe6f742cbcd1d832fcbacf578febf997b3914ec743a9d4ea703a3699aa669dab66ddbb66d7f5beecce5ee77bbbbbb4fa7d3e974f2816359125d395e9163153e462b707c1c457daa99b59ef7937756e0fe989bb31cfe6fb601f8969b3d00f8997bf25353a113c3f344ace888f96a8a3660bebf4211459a96c3cd9d4e006e86010300377bdee7e6cf07e76aea3a1f340c73bb18d7733311570b755c2d8cb97f3ba6969bedcc95f7bbdddddd5814c08ecf9f203e7b427c8621e2f1b933c4471bdfc7efd04543dc8e8af8e9e7a16542746c1030ae975fded8a9dc09dcdfed54b186136cee5420088220087ae8a1871e36384390869d6aea84366b619659ebf1fce72f8302a3f5a8e40df6053d0c15cd0000040808a316002028100c07048221390cb340c70714800a698a56644e328ec905a22047b19932c8302200000000000208d22600e1e9c7f9bd776f3f1007c3083f477c085963446ebd2d2867f923034788129eecc174cbc540ddffeb9dc6666352c1be67633608d117f246ca2461960c94eeb5c1207b381bfbfbd4dc85beeefaeba95715b85d16dc6fc0cf1937686f3aad63d8f8cf789f4ffc19d2647b7a998eba76043a21b6ebd8d57aac0ab15d223c107230e11bdcf52853513a71d86c081a42c42efe969bcd773297d6a1b10fe5183da2bd129a2426d151dadd48e609c4f71eb89c34b3a5f9564caaef2291fbc6424171f619f37b3672fd864f88f5fb4cea8aa22bd0a3eb0e60ed7cec5edb41fa64028482b8d91670ba94fdf7e1c85837a2a17f168bae5f03f716a68e955fbb085070ed3720342af0b152bcefc8904e96905fe44808799ac084758cbe00f533e982d3185c2dcbb7f1db6b91508c2185f4463ee79c113c2127065389505c79eb9bcab74e40e1808dd2c90c31d62a596c0b7caa8aa4722013fdda9799d69919ab1eace893ef4c6024f1cce8ca87f5f1492f84f3d17d5efe0d61cf4d09f14d3ba7910009fb68f8fbffe03bb8d0cae0a508524a84fed6bde1b8b463c12b523c9090846fed55b483b62fa6fd5503874c3673b61a6fed9fd9646f05b34c30bd9ea9461a2a23bd639d10c184fdeb85303837989d214eb1e3b1e9dddd69fa777f480ff8f0b4ec20438f83940e1f102bed0efd06d71de1a0c5ac87788893f4e8feb67bf3b86cc7be1fb0465368cafd6d0540741f4837b09644c27f27cf0f7c18ae38f8fd49e8e52cfa38bffddd7bef93b5b252568d04017c753dbe73bdd0a708f496753bb6cb1bd089ecdbc6bf96c086d5ad677c89aabf0881a38c115f0f03f3c772a3fd3730c1ca3b9f907b5b645cd476a7614a00f8eea36c694b5aecf2856fdaafd364f0aaff32eef6ef1ef333c43bf2526ba62d89b1fb8e4037747b8ff2d030d1adc7445caaf8e2a9238e05bcbcf717267f7fc31afccb34ce822dde5e55dfdccef5f8b31ce5d1809b562b2b8e24c5d4eeda7025497c9536468f6a2f88848f5c412e64be51824c74f1d889d7f30e8cf06034eb63665d6ba2478d0e53743d24e8b55c74026643f8b58eb5043dbd1d6e9285ae45c0e2b246a310e001ff4186d32ff5bc9703edc4bccd27144e992dc703277bcd3f238db9af6fabd366afe44f89fef5c1c9be4192739efd62ce60de124184f4f011eb727a078448e9c3ccecdb1f904adbe5e320e64aef99d6b15ebfd3212cf69e711e7ce9390f6173bfb3baad4ca7be67ef0c7426ef8437ef8eca99dda5e4fe8cde685fd3fbea6479651aebe47381ca879c86d58d4f404ccab2750cbf8d4e9d2988adcdb4718917079c67123b7807bb92dc2ac9739fe50a7100c8c50b175a241f68a116944ee21ecb6f01720a8f66d1d30af1f7e5a63270c1eaed760dde58a4ed6babb72cd9081b588b4b5378006ebe1b2f3d45e114c14b485021366ff336bfebcfbc95f538ec31de0755945edf9b52f8ada9a1ad92d1eb0e20760a2529bed20de2226817c1bd0489b833e5b09c975279505cfe8f6ad112c8968b4e1389f3224a49a348bef62b1d604c45084791f8523b2d311b5d7612362d85437bbb280a0843303ddea03e4fbc0f4b28926155ad1a30ebd4f64a3a54a968d111bb2fdfb20f333c2c34896ea372bbd2ff3a740da36e37d729dcdbb0d006f9b9d509c3d7ae89799ca7903643601ecb8cafdd49840eac21c010093b8f8ef96fb6e79be186fb177b631b269bd654bf7d6365edd9692cdae016c0ebfba875f700b0341acf7f0f0c1bb72ebdbba4a2ba6a3ff9104c66e5dcb987a6e73486987963b356c0076a8f058e50adb64c9da51159348c026231257dececabb5d80e7f36fab042548ecb51f139e356ccc52617332c90ba53b179db2d32b07d4959ed9423a49d144e513e7b2b142b2b4c37474399ae7d32122b3c9a4d81c620a4be5a69cefbae6b92a13cc051e828a0d62ad91da6cad68c54b600fdab390257496c74e4ae1c616ba76882d9f318242e8f98d9ab3b9830c4f590ed5dc3edcb59a08f7be3e01c0a58fa123dbeef0ec6a02ea143f7edca7092c1241d99b9b234d2c4b2bcd264595e397fd4b8ddac9b76137bb183f9e22fb6bcb32b389d9cdf08b3c6341454305b3e9a3216ad1d3958420801e76083934d8fc65442f1fbf18a04b8a3f95a34d8ded8dfd3d69290363b3704b346902c3f285b8b03323b930a8e4c236f66804be455fcc99c0fe9e0bf853cb14a6801b38cc4d178e991855142d66b60187b3dacf43b9df5c4b6e9d079e3d2142684533ea6f511a26b9858f5b531535903525856087305c8d15a3383ee637ccc3ce001f871191165f6d95061320690e9fe0c06fd95115642d79eb24273cc33ae636ccb8f357701b51a8f0aa11753e9a3f658f444dc79070003c733f0379188641f79c9ea88d64410c691c108c98a55020073fd7fae30a73fe24169169a2371ee1e6bfb82632fa4e265ee998f7fd82b5ff6a2cc81ba9ae390d3b3f165c057577acb53035890fa62662aaf9a65a86a8698e7fc4751674a22ae179b6e610b03a58d8685b216c4b528276da1dce253b1f40fdb117ba1f04469c9b2a07a5cff10a116c3b9ca19447baa622166f3bde94f8265a4d540af7acf60905aaf1e23848b014729f16367140dc1228ea4ba99575e94417b1524e1c3b792338a86fe0814447d60e7bf434d90a3e3912a4dae0d0071670ccb6b57f04ff131b6d0a39302b3111ba5d8455b7627ec303f83202baf4b6f65c2c21040719f2a30e690719e59afdaaf64516e1d20acb688433c24185c83ed0bc301e33028a75d0eb64e3982e39315454149c6401232449e578d3abe26751b81d5cb260d47df1ae9251b36444d9ad8589b0d875ac1d58fabded4cd4003d09b9a6244c7f94fabf59f4ca88f25144873b6bc1a52d87ee2295d90e677b667fa07d7c4500baff0277a97fba9792b4683ccc63ede5327bace3eedd967c29c8c581f64490f28393bce4a70a5007eec408eec5fe94b78a1d1ee06413f8940bdce4ab62858a485b6eb6a81935263c5f2a9170b0f80ff9d60bf0e14b3200d195e8aef39ee5b351b43f87b7bf1ad658449c3ca8223c4782d80cd2a75fa3c5765f0eae9e67eef3b26419483423f0d48f17d20a8461055fb32c95117c83b48a090034ff6663046caaa7e546b62d04d81039b19f7633478811a1c1e558b53fa67e43c97534462e8724b9a8aeb20de0c759e049ac87d748eaaf295d4d61648527cda88b255c45e8cd96a9a5b6f493be281aef5b3dbd50f34aa74c36f252a85c1c1b1a51b52ddcfa61ef591d416ae7a0b31aa9bac5726835c792c7af8fed6cba3108ecc77591c1c669473a5026aca6149f2a3b602ca63f8a31049e1302384af422d50f4b4f0c608c50d06428181c78c82a02faad31908946bc02e2222001e50185c45ec35f9f970268289b1e14cab2b7bc94af1c768b30c87b6e6e05723b06d750762d0fc06d821d2ba0adab8c6b7be355aa0414bb89d0b85a220855ff366608842532b38cca57620a0961284193286ac2cfcf59a3544d922931748cbf1eb364d2f61cd7bfe91493103738927e74f6e351194c3870fe5c071a23c37ee8d0889c311277b940a7ff7cc3f6982b234694a3541db5d82dcee89e9f49e99260cba2c72ec7527f0574e95b30f7f3a779c6b67e46de25999433d8f12874f2a4e5f2bc0c21298eb6436fb76f6637ea648c22c2c9c6b558a05f71e60aa32c6f2bebb532970b97be9a5a658096cb6c3c3346a63d6012954aa5f219c4a7145c19c64d424bb8f0362da92ff1933ba7bcfa4dbbc337237a7261722979d9861302b093d859e199b8765cce3aff28ae5e295872c1183571079a4b38fa07c5b0aff46bc3c1ab73a2ddd26e742d3242d9666fecf487e2afe7408b93b6ca646a21e5e12c2629f013a25944eef565ba48ce1620ddd0a513d7c335ca24cb0654875b420e793e51644b03cc3ce157976e7c9efe5e2c4e7ae9b0c3081b51c8ff2bb7c9c1b2b1fae698e515681c4c9887a78afa84338a3e8ce403b09f64ff2e7b07dcabd392ab9435800f872380127c87ea4f0c0c271a050fa64fe5b9a67dcac86045f1a54200887299ad79cd3fbf0bc619d0eaae621940356a1baad84567800bf98ee180d64445b5de03465321206ea1213480b19168d222fa4643520c9b57b13f66957e7e55fcfedfecb72aea51d27ef938c270b6067a54c248669e6f3b735569aafb37bbd0a5392266500ad4ca52997b1d997deb68c22b4b3cb2287e70f9eee1af754b6d3e39eedc9df698b18cefb392dc7ee9f4c98204b55865d688787d96c8ae0e30fd0fcdd1a0861a7a620dfda514e2e19d47f2d7e052ac5815921d9dd019c94f8641507f697e6ddf0bec816b452eb04a262775609ff466d1e8cd94d8a56a8935ad5f4246c5101a51bb9a1a46ca951023face963a65489d08e0f6e0389e2483757bb5671b8102429ae2bc522b45b3f9d9185e3ce7335d21295fbf292791dabfd35fab88fa187323467f4a624a5dd59cfa1724e51a802286625a6ebef3d2cc3799db7d76ddf600f5609492a54f6ab7fde96352df76ff7d82edd4792f231f3f067ec598be16fe3f55a3680fed2843eb168f435d30d8b25ba37b3092cb1309dcc873aec2ec856fb1e8eb7a91e3bc61f0af49be8d383d89d9740d8c1189ece0ad6bd440a5fdf21fff669bb2e0c2fa28b21eecbe5ba5f940a491d17a576cfbf2ec0597e5ed08bf24a74535f73902eea2ba49a98efdebadb77a602ac149e681f5dad429d8c5bd6e459086ae08fe389df62fcdb9c13d022ba7a041cd52e713583699319274fcf6a8a0611fb421d4908a3cb5ef2f21381052b51c22f2b445380dc629a430594dbde2397b40f808759347cf3e82b94f19353e070506bba962401775bef815a957cf707e14993b4bf549d84ccfe76386935f0642dac9a2d9125db12b02999d4885843544ff959e8c54bf57e467f8fa82e79dcee97986c38c410f31ebab5867202f7acf9a318f4401f8e93ffc5f84746a98a35a62a7476b23292fb3be95fb41cd29c70d43fc420b49676e926d557ba0ca4087c05334196c8e0d57a181d41bf084923a6a948da5bd796e36a8be130f20cb8b6e485768cc4b16e9fbdff54d08918fe6763d5d7e7893e62a0d4a7c73f522ce77f0679fd8dca60a938a9e2d4dcd7b47d25da2724bc489e9a15fae01dd598d9f7292eb359d7bf2c9962a04f106e6b9a973df25c992c314f83a5011f7fa3074031eee8da69aa83005d9c93b0dd08d88e75965a48f2d169f5204182df4198f5085b98d3b438b831c3408531df7002b0370bde79236b18de98cf6937943df853ba7c0de5fd5884a1d7a9d0f420bc477c24046d116558676c2c172e87537c95240aa4acb05092d543ffebc6f00d36ea1b644a171f2955abc5986bcc9dcb628227998f0a2922f64725d798f37f4ac687737ae91533d98acd716d30202226a2d2a9c22561f0c303689740ec2bd4bd64298d0a80d829ff43434ea1a91a14689758ae93bd75854c23fa298dad2d8e0b62b6e568f38d3ddba1137a1eb24e521db4b271b7561bd09364393eecf03ae0a01d1d411080c91cd07f386c5b37efd3c90ad493f8b0415db491a8867e35891e963804b247e077ec19fc184b3315bb2f0460a53c16fa0982d35ecd0f03f9773a8c02aef77501528bcdd4803d6d16a72582737f267217f88e25ae8d5443e6998dbce487ecaaf5ec0a7b091de5a2e31b1f69e78e1a6a729e49c1de64cd0d639050758ab94e2236b0f6066dbbe7ee0c420299258fc97de6f25b2c97c5fd66ec8c6ea1c0998cb66671f5a8ce4eae01ec5e21786ce8407c2b91c05c93414dc763ea349794e729ad1d43a3ff2bb58881b5bf9a6eaa64b21ecfa8c43cfb5ade9dbb7f5d33e5609f30dcd6645e63e8f3ca66cd342dacad99a4c6eb74cf626c4bd932a6140b0a00186e80d705a0aff4bb12397c47452d8cc787f7fe327819a6575b2a0ecc801c1e9b9f1938272d71522d09c3aff4f2d6af64b56f1de3eab749459d7acb40f8abaa9375adefc3cd65432350580f130ac9557c6756d45f5a58d3b6dab665624f65dbb8efd05bf6b51d8adada625486fb4aa28ca899955c444f10e5f887f7cda126a2be7d08f49e2bae7c09275c78a7112991e8342170125ec2189c585934b7b8d8799f72468c03cb0421411a54599cd1de6bedcfbd321493c9d416d3122abeb6903a419b1b3635042ffd116e9b96e3944bd0d3e22ddcca050c08c07fa9dcfeb8d22abf5a57c9d083065fe5eabd755a8166422e16094711f440398e113f88ff2cd07d06fecb1f5d2c7b94e66880c84b6d79501b07906e43f7c071630264320d281053537603337d0cb83b0be02fd8febec3ea97ee039673df1107b78f2d3e17077623bbf6e8755da81eb5b70c4d14a2ebe8adcdd7f6b17a8d77fbebb2296fe3bcf33c8e8414248cf5da01dfe0ff90a0bdab31c8e216c135becbd182670d9e1283206c8457debbd20acfa4fb080bc6bbbfd4b78479e6501c11539c0ee5cf67bff7eb05202be21ff15b5f023f214ca223f59bdc2dc78215c361c43bbaee480759c21f1a68d2af9251496b87a04929ea25ac4c2d611ba8597129e1300fef4610afc1887f80c46f70e23f80e2380459ce8fdc03a27d4c9e4b5cf194580da303effb92607798d5a665ac581a865d5df0df7a47674359500760431664e10568b4d53585c349da3c4d163053be75b9d4407082675c02746024d5668334cf2f7d626774a22d1c3711f4d8ccd36565e59556b88b0d8412d95ed52ffb8be403dbc942b0276404c80efe696839f4230b2ce1e412281367124068f9295af0ba2da96c677adc2aad29f52bca73b169423c50878912989315887790aa18743b039757ffad847c50e0f385a3fddddb38d78110de041e1e086b576f8b80d45e73740611f2421c58fc6d3453709d36b09b86f6fc879596a103e35982a69a401c895c432bda783927254ef5e97701d1d56c1c4758b97aed0f549c58fa53246318258fea0c8dba2f385177c95db94ddeaee5ba0049813501ac882d6a44d900cd75bd2aa46b622062fc8da600ce996ea1f2ba17b005a2ed9eb621cb7cdad4c3bb2796f63fba7478956973fc32653c6ca8ad3586940d6962f04d173a01e06f20b1fd109225a455b86b97fd045f0cce23da12edf0a8c9692cc7f78f530959530a21fe19abc0eab35dd7d15a93e9c2fa609737687d56421da63a4310b737183461686809f23ded9ddcd7f85dc3231e22170e1f3d7f083d9ca400fa1a622f839a36038d44dbf24643d3121b25e81f474ac4208943da4c49d87d4e263f422cab836e82c709178d3063247ab94c69fcad3f9b255c075e5be1eb28f38a9c0e320caa0af4e6fd23ee3051eff4e8c88c22419b7ea74704587bc44b49792806c5a89cc09a9527c554ce944379e949173df10653aac1e261aff4cb8db74eb48f37f752dd471e424cbf39797191dba0657ae89a2e4289682e10661aaecaf0a1de613a78e6a02bd443600958a709402497bf9ee3ee38b0ec88b16aa7fc0ff97b04622e9be30ed2cded4dd620e42797ddb5a0283618f73d9be692f3c499ea87a0edea471d08c7984fcfbff052ee138386d9e8e602665a260416c925408c80f94abdaa91c3bf67a8ff9e12d6a73ebf8fd3404ee8707e8fc649a65bc70bd4c18807fa1891a721891fe3052786840621966f15372a67f43e580820eb735df44c798adb7925249a356232a29c0360992b66512ca080699e5dc0ace4a7171c0a6b4a9fd124dc5a411d1c7b815ec27a84cedf032f461f17217e3c45fdf1463d71428efcc32b2cf73d31571683065dcfa867800acd2e1d150a3a805076820605b149505ae823cceef7c2fb1e2a20c43bc82224582112da04a3091d0e84429bc4542182a24ca16532f8cbdd4031fc582b7d15ef7b360a8d56e8c9f8e6ad448f612ffe8eefd96eb44f92e4b3c1b51d0dcf8297e987a14b5faa1fe55d1308186b8c6110eb6af8e26b8ac8bb5a2e00d1c86de2b49721dbeaf4527224f48a4d5b2e987c84b0291f1eb26bbd90a10c599a4fc73a19b500cd4d3804dc040cab26d387615371401439fd3305e5548c941763b6a0910305a47ea60bed5b13a6fa6b87851f1919d29d40c30e861b32683330c81dfd9801584845e81cfd419ecbd0f3520ae41650215c1ad399c638679e0818baac903099c5da43cf962bca11e39b15d6cff954fc21344c019b40e3b71f9c2006287ba228eb8a7d4b2dc4475cfc5e3efc9cd437e937fddf69b4f34600139af0ea0f21ae8418e53008d17fffacc44a4169a0bc93c8e90dc5c69dd868c52c5b6498cd2908e6439d5fa6c578c4d34386b4d81cdfdcc4227802a7a84668170e291f418c38aa46029a71be3a096791f36a253409f36970f4a6f6548b9f558e95a6559b9043855755c2385a94aa98c4f9c54ef5a2019b3b8afd2d0ecd80d37456478fe891b8a2217be720b68bf44dec9bbecc25c892b8981b7e9437ac4b626c8a07e52595a73a4fdce2c347a6390cd34ce9b0132a40d2b75008ca97769381b64958b27120f88ea8a008c8a65e0c80263142bc84822ee747e4fb09eba8f3edd60034c977254fdefc4e78a35216518360672e9b256a106c97b4bb431ba1f30c73688b098721d0c975891c5ed7f940916c47780ed0d6cd0ebd83ad0167216148c88d7dd4e8b35cf37dc693bc65f793007544bb7c85216b7faf53788972d901d03c60730b6db29dbc258e30dced1e8bb0134e20fa153a0686f26978b18b4bcb6a02c8427c6a1c1c74677be977022ead0655f5b15ce8873a64056c3f2413f777ded39b5a906ba49181ad46897f120d72007c1b12a46adeb7449051f726cc04a80a1bc3a5f6d928484ad8c3a620459af767f7d84eda4792b223f3f0a7d8598b615ffc86efb55da44f26c993c1d6cf121b5a42866e16f086080195a9e72cdf23b7d6b46f72f889192b7e168c69c4753aab9a7af916de8caaf9e59346f2cee556c89798b0faa637597c8509ec39a03490292f1d6743221c310da6ffde8c2f39955503cf28c8eaad9ec245058087ab52b0a01780119f0eeeee68d26631ee10c21aa9b16e731a1a46721990bd7c625e27bb31b949fa0016b51b2d4b13c09ca709368cc722061acceb514b99639fcdd7ad8d743c1e72910397603c382491c546ca3575424811d5a773b3bb2eeb75467ab8b747ea51a0e6949613ef2110bf45a737cc96d91208e33a4d6c420cb4a908d1a7f64117d6aa9b34a8c0743717749947403ae94c3741d983b2d80d9462f66683eed3ce5b13a339787ca5563b08e4e13ba7f46ba4f978347f535bda235937bf75f34ea7e4abc9d9fcf09e3535fc5457c0c62fd05d87d07fd3fde6c925bd26cfd918f03a6a4cb5e82119016ac3f698e9f36ae1721ae95d74c70d6d524752782a37946f6fb73f76a48227b96fc9eed9ebafdca3749a4812334329ce56915843b3a3a9881620c2910e09a5a0ad0284474c0350c9a29c155eedcfb0b316c31427537805abe215b682d1383f76df76d13d92201b9a077f66cfb4187fc36f7c9fdd257d34599e0054e97c582ebc4a527c8a7aafb4acdea0c01652c10fd62031704a889b906db7aec0120c7596a4e9d3c0c84d906446bf7db2119b10bb3485f9c130b1f18b5fc7234b0abedf1072e3e94242e301844cec7dbe5de1ff4405bbac83fd603fa4b74a1910037f4a0837cf42d2f9b6af1afe5d44793e10edad79d00528b7a4d7817e0c8f8ce90777d02cadf523a7b907b943fba13693b12ddb7b4f41fbeab933b81a7be85ab0501534a9fc99f4230f80be7c0f4a9d24d295c508165007f0b0ea1a81cfb08001512f4eacb9d036ca5d28172bdb2e04a6e8f2c9d5c6c011dec73ade740ef7dcd9eae509c66dc3da0aef1b2888334ca70224697a7e7128e7512ed288c72e25e0e994763fb4b39088c38040ff8e360f963f4f250e3e8b9a272c48b85fb74e2a22e0446addc59e2a38524cf29904c82ec7f193f6655a9c1dc7c0735ecf70dd826dac7f70020c51c2ae7834892fa74942f439df23781e18bed3e1e9dea747024ea797f5dfaed154498c887cc3bc0a3bb86120704b33278ecfded2fb3bfa34cb75e54ffab122cd4ad8d0646dbad0caea23a8d46e0652b560e55cb2d8b19f18c13fa9ff3876e851c013e9257d2b30c8f9e629205de8b4004ea5474223498e4e0b60927cd97ab663ef49bc00ddd6113ecc1022c888a91db7c346a3855fd6297f5665c6917462de20d7e6d1da3ff5203ba0c8317b10fb6be04180914585fc135d405bcb197b4576c3006a713e6ee0682e025190b914814e097bb9bc51ba1e4852c8850dd14e9b8958c3d0e7398a386490a399143e1b47520b8d041183d89734bb7f12d8c30b5bdbf41ceb8d43840f1d02e408653b80de7609287364338a3debbd59e98f93759976c8eacf0f972e5341a3763a9e834bded5d555e0a1e6fcc50b0a575efce955bc355fc691b757f5d4b970a5121371399f4150fabb03dd93cac1230cf27f635a9b9127ef64f15b067ecbce97ccf992950f32f24fa64ed68fbc9bea0d229b5e3e7e36acfdcdee2d629980400dbddf82f7f79a3acfa8c05588a1be826fe8674cfc4532d40b91026036fb7e3bae220a7cb5d67f5b6c7d4668eb17dfe9b63eb3a15b3f7918103be0faa124aeffa17e5c3f945ed82404e5720d4a297d10717d13a3a6c401220eddebcb651e0fe675135d0c9bacf50bc54cc90a2855d54bc9494146bc88219fd7540d0095cc0ed593d0138e9aed6e80494dba1c7104ab0086e71f44ba6f62028fbfe02c11b3d096710b8303e9d0c47cec5a1894345fabf1e82d955d8c127b8f18da2fc2be5ccbcf52a84b715ba25897ac20206d87b2c8959b205e01604b8763627b1e8139c9f169558198d15f178e5c0ea89dce8a248249fded9962dab528f0936f0749cde060c69a20eb8aed8299db3e56be8acc4020e8909092548c81a09612799ed3d5f1d9cf8fec54a95c3c04be60fd1996e2bec24dbe6f50395d0bc68eccb2dd0b51fc4ad6fa557b9b61b713c748f92569a0dad496dcfd65b908c1d3335298aa83de131c2e39faca2e01e61d23ee4487a015c29f3fc0c138c2411ec1dbbd0ed5f3d42f234a7904f0e0b0f041f4c43cd3d4acd637a438bea04e3d38b24e59e5a2e2a518c78204aa4602892acb1310e810b2e193fa7e0859506f716e87dbf33a10a65ba4fc6e4aad95e1a509ae7d72424bbe7ff66ae191ab133160536a7549d9625e13deac7c5b0687a0538e5206946cc5e114d2cf99696591b21d7b1b30ce8ac67e1db00ad4f557397453cc3081854a01306667509cc42092fa2bfc7ef85ad04ddc7d04773b3cb3482ba076a547d137ff2416c13481ff14e57e773269f0cc9f6b89a149a3e34b1d60d54757950fee48e57dc6b99ca0b51c62a36f74f544be002583aeaf1a344649b475e4bc1461f9ec988aa719278bcbb8ffb99e41400f68214227f2ef28aa06100765936a1ad5e793c8d29ddbff4de4000e8648b84fd06e4bd92f369f0951b15cf69e8fd76985b37a848a6861232714e2bf872a1283ec1adb68b405af1c6fcd710616db1027865991348912905fd9e68ca4c72c31b34929df40b95dca8c7f985fc137802225e56218af122a124814c6e2815da0db52e049f096a8872b8758b2b48561b1c153e4332b14c01d395398db13cba193cbf22e28752125c20477620f47aae27c018fbfed21f37d6ea23671ae582497f0111d70d00e5016f02ccda2a6a5f066010a35ee47bc432101a206d4566479df92a858f485c35e16e12b4d7e430d43f79126d82028cafb126552c79e49cc6d37801c0205a565b4d7f05555d0cf881400a3d8c0377184813eeab94ad5237d0eb6b5cddb7479efba83ed71407e0390ef3684f9235f1c226dd73622e88fad1ec3a7ecd06b092e3e83f1fedf3611fcb44a18439c862ff99e2735923817296bb4eecd269e50bfc6a4c05caacdf89cfd353f4308620d33fcc49e16e76cdaa298c811cfb99c976fe11beced415189b70a69fd24ccea98e88b83a4ba08f2bea6bb254130ca05c940915183eafad7d54823695eff5320c82efc2401357640bee3ba6ae9456166727feaef93027bc5689533b6efd33767a92ce1f404c0b5df8be98491c549ceebd03dccbda11929812098ee02fb6e2d5f496bfda2574b78d29096202f8567ee44b8efe9925a0338b430d805e0937d19897930c49fe2cf9bbd4592f075830eb8fd27aa2b200c0f61e90f92535972dcd6ca457344cb0993d662beeb2ea5c9b805b50f9cbad392e3c852bf025a2e56beb6cd0667a6f353b589172979b29edb429011f5e85f5d67b3e8e5d992a398c6c402a6b5b3ff6579facc6a93ec3f9326e71d704696223bfe50e79276e79ed6c7a4affa871abe357d55cd7c374f3d0bc3cd0699a46cb41d1091d257cdc5969234f2f8b839a765c8f7241c423c84bbcc8935e9567dd66d8b2669b9bd3154e38ba92ae314b0af11619b6b59c0d21cdc2a7d36c95778749ac63636dd062ac8d16371f10e7b5e5ff6aba824d988345a8b28dd4cdf85792650ceb49ad97e1b7700006026b7e5485d18a7225783a223d0cc84340415660fb18e4570689f3788d46d4abfa171d0ad270a79b8151a3fe3543535be510ae0d64d84d6320c6b8ecc8561a56992e8560b0002869eaf25fcec60b56ef5930018e3e3e67472fbe7ecbbf0fe40a4bf2a1cc085df867ca0aeca1f49726fc7b27af711a0fe96548a6c9aaff33b89ee51d59c5b11a28cb0712ff1c9f281427b583d235dd388f5627b4a67a2040e404ac4d2aeec5156c4acbb6f83522f19b7a2ee54baa178e3868589aa2e52fc47e3ede348759c2bde1fd1cba3a28aa726e2e81ba97beec2a67739359b13fe1f7017f6089e958167524b84aa40d58f256098ec850c1be04cf411094dd10ae2cca4c7e9ed708e3757989b4c403f4cd033dc649e4ac4e21a3bd224132d62b791a987a7c368cbd737f84582b7b1ef84c94a16189846848d74fc77f05ad45ff3673f9db7304f554a3fabfbff4ff75f573bc6d193bb36ba90934128fdf186b063dfc9bbc98a6df52aa546ba2275aef00ba48740919139444655784c6de0bd1c3343dbc24a8230480006744d6bdf15ffbb60a58e9900b8fd3859aeccf55c532844b1221d3c6b29527256085180d969e4f90f2b4d4e1f63612012e6b8ac64d5a1434b850ebf5efbb0092f3aad37c58c4a6275656daf957b617740c46785e89be66670291097bb3e3155cad0fa3c021c8e138d0e423935e202f88d7a78757b8d556ada6f06fdeca4b562b135b44a82b48da26d30916f56e8b6f92599a6455707a37ea2ee5d17ac5498ef80cd54a83ba9a1cda27072dea75c78cd2f0c7aa1ba659759e66a32e14fcfaa7bf7a4229ac2270314388ff0c57958e96521919ea184b44484988fbb50beb93885ef33851f82effb69e11de97ad49741b5827dd9e6db2225df8be7ad1dd079e4f201fac0b03ab26c40ee3587e42859a9c1315a40d242dd7f136c4792df66df469d9e79401f061a8c6465a1529d11b51f88b59501761034f1c6d4cfd980eaf8b270a7809f705601ca2bb51865d61ebb4fd5425ea0724bbb09701144bae233f24388b60074b685f591e2b7b503303c12d1493d60d00054c890fdb3aa06ad4ae0f53ab231e0bac4caf710f9812b3b698ae202a8cc034c46eade43e0f61485267e753cdfb669fc89b9c1461113a16893335ceaa093862a063475685bba672c4e931a2ef23717c497b4efc51705ac93d1662221b7c670c0ab2a59df967a455383167bb19c79d699da4c1a3e289bc034b8b741e47070ae6dafe548c10e256484be665db17f2d98838cae41594f50b03e10a835394d78ef2f3912953d4aedf5cc36922368cd587e886e768ec1e193965e693c8c1c5eab501fbffe03f07363504553228b9f1223a7046f667ba22c4e4e9f917a40f4f39bb746f68378d31088022c3dc3fcbda6be675c25648329622138935329f9c305f57ba01950b75442d170a81bad6738d82dd170272fae5ab023b2b2947103c0c31f86a44fa8576c6fdc0d744812d3d5de05c08048d5378954a12a45f13423137d97b9ef1bdf3722218a7e2371d03022421317f61f306e12690d524d2fe47c0212b0f3593f940c7147fd69cd80710a32b269eef7ed0e345cd11f546089fbdb50fe0e90224622aae614b194771c33b082bf58c2ac956206c99195bef3d53946699ff8c50de1e0723412a0a82b7e4e8376572f9a1f8f1be862ee9855b55a8293847329c9174958d705ae3c5cf053cb4c62ad0fb0ec3162306aab7b371e75b517174b660454c310c600ed0d5c21bedd1c424f36e834f581f5839f5e20a5b755a968e6cea266db69ae1a323aa2c3950b80d0b28e7d9ebe0ac26063160bcdfb42532d2e1afee74843c4a7d0d89bd6d8c1a6af420ce18939d5feef94e33a4dc0c45dd55231b5d35923447e8dd75bf2389177391c3687e31609d08e993cca9d39a57f6eca5c7b42667038200e81962c8cabd2e27f446cc1819e368d43fe3fd763ebeb598532b5d113ee142105da49b3d4fedc21dfad9b8a27e7bb0eef649152fbef5fe0a7d1077b93b7ac5500c52af11c354c1708b9decd78faed8dc90518560634ad1e9fde0a08857a173fc3d3911a744d6e95206fac4a27c72d5a9707dc125e0a738c7065b9db40a6ed6a4d36efecf9c285a2b9547649906a9b9c056a14fe7f9e154deda592c79295474610a8094f01999614a47c4d3f259b39d973afd2ef26498efa340d77335af057a6224307f736f2b909661f0ad2fc0b572ee34f9765213f7907de20540bb7a549a5cddb04bacf515fcbab362c6231bf2d9b7493bd9dfc8d3e34ed8ea7a9adf23d25d3094357e9b233262b372d33485cf616a793e0c665c0aeb242f3ab5158822ba3a6e3a111364f4011198e2ba91935ba8ff38276bc729ee2b8e727a3467f8c536fa58a6ea10f14b5a834ab602844e0e273b3a4c9d0b3a55f6a24b5c63b5dfa74249316433508284c1bb54ca8c5d4b317294ff6c8d30d75a19a7f15b0f044780efb82f36e155429162fabc1ea673dfd9dadf941cde62d521d39edd30aaf9011635b67f01da4a75f121d66f5a5bbd6a3e6edc0900fac7627eabe70906ea845db4d31bd8715804c826c8777409ad7904b2b0f2ba8350c22e833abf96e2f2892571ac07fd8d676e225173873c8601ebd729a36e750b6155162f4197fbf9133830c257ba6ebaa038b3d5fce436f7844fc0cf5208c3d74644c50f6cff1bcc5a5502304e326d3b0c31948b849c03f531ae8a52b0b05224224e635324b08a9ce0049ae53d0bc474396623f36e26909b80f988c70f14c412d23b7eb0ad13ef56373628a090248736b40eb57b19bdbb41b5cfce982436e996d8af2da8b500afc16e8143301f4f3da9fe45568f641b581d3fc92a6ca53cd3c84435c46250fc448be8e88723a27ac60cb183a0952b807cc8681f2ee975eacf4fe4e1a16fb779a08c8c00b679b01414b0bad875593a8553dcf15c58180f3d2d40deaabaf9f35e4faf08b4dd0538ec34240ae40e237f22444b6caa17fb32550d9aa971f25a76b7248a892f4c463be97882a14264a6e6827fc51dae76922ce904bb223ef73fe9714c37cc311be37b9b8f1023389d371a95834eb68e1acb390b0c4e54c9709c1bc70d3e530be92ee55b8a9c3c489134b0a159a410fbe82f96d62b96e187917212d9f9fbe0fa5ae1fc3916b140acb3079520677ba0b716c04ddddf088645f83bec8b3dce1d0206b01aed2f2ab01ecd6fbcd60e12c020090b9380ab8b0302570790e0a5d66778c5abfb90c9bb93e8f8434df9c4812425ba2c98dfabfd66fb492ac04f77966a7aeda8427bd10cba7057437b003bd4d49d81f536570d8d04b33f47dce0a518a48851062f247abd88d54361365e529c1c6fc290f192cf0d5c421bc1d5e8235ae2dc0b3f5aa796027172ef158e8298da44c239815eed681567a32103a9a0fd49b9ed2defbb391060428ed16811ff4e0155116297aeb1f3067f36a26973ae72633897cbe2616c87ddd821acfe5e423c0c4abec8814cda1a556b6a14bc5f2076a9faf0bdc4f4e5af3490d1ba39e0acb701246fff4d4e29da282a7681e9280de932a2f38f4139ded8576a42484f3e12369ad2125f147f83acabf12d73a2f1cd7d2f8bbaaa9ff1391b060f885defd7d9f0dbbb007ca7393f5e57dd912af981fe34e184f09f40586f514e6708ae0debbed1268e85de17021d2be570091657240fc038d9498c11eecf7e08625cc37c7d012f8495a7c7200dc4c7e21c18deece19e1fbe3867e66d18440b0f4a309bbc2199703134166f003c24dcee5fc9a46c5501250b2a110bf586800c570a2a57ce2a1a9afee5c986700f14a3827179692a4c4c8ffbccee237e3a546e75a0c852f6331707be6199868fd1cda368dd8ea77138e9fa5d9481b4b77cc5f15a4e3936bf1fc55b97c2e8e1130f689e1a3310d6bfff6628bbc55d8a256d70523602ae083e8827ecfcc1c89d86988368b0141ad9dc402a54b524c805543b0c029e5124f7a27955282c96a76d97377a52932b7c673b0568947b7403e4d40dae2322de3be04139b37e4f330483380e7227d36dfb6adc92d910e53ff195106293506cdb0b578df122eda2b5add5a208e8ab5c153a00e5019fd83c130c3599a830a8e68f9945d8f2635c398bc183c8dc142cb3f9945392a6a21ad22e92bb4fb6e126f8a609c0e8dcc005edb2aa428fd0f9527f1343c80d26cce4e6c9c999592c3f5e852d1aa5619f7acfc2cd805a91b72b417929caf7198b16b7035c3161987128ff9523a58b7352ecd05de8e145c14eb4037c51bd5498af99dc20f092e56b08c370bb7946f5d649175b7a00c4ddfd9b20e3ae2d9ccc6e700bbd080169d98b4e8341f800b4ac4e4b793d8fca5a5b72743cd5ce2c336881d6bb2b78d2801415a879950dd26d91911de1e09caeab06b70cd6d408777c24af9ce68bf42160e466240c6976a081fc7377b586e35aa18caaf02afe66a5baf87e20f173a75aaaa0e5697a0aa070c63e0665ee9b355b39b0a7edd7467e3d92d17c676869b19e4abf93b9fa660114e24e69b08e133970fc30191988fae8343c28926953c9dd084b15e3aba9a672d30828e8887efa07821fad81aace11773ec8c342281c05fbcec02f400fbea91a39726efc81b926e840e3341729c55be896dcace96a4c20fcaabd34a50ca309a8940e13167379eaa615ab3cf96ac480cc43abe274687c8d96d110c59d470e2a0f515311139c06e103cc14f4913acdf76c7692562aee3989cd538386c928837e8060f8d88ccbfd212ef8fc384bb09bd74eb8f67462f56b2e65956742ca049bdd444367bd940ae996936828dfb4b80a9dfd8550d095f7c4d5bfb22c074d2250a19a2c853d863d39c22afb529b2d4e891b38b508c8bb5194a58b4c6a3758bd5cb53cdd3437eb40050bf234a076f4cbbd84ce9b8ce184d946b5f27b9b2305087a4cfefcd2487bb9e109daf3a02ffb27e23f6c0a3bb23ead8b190c80c26652008905b9eead7874476ac27ce505bd5dbd153a6d41ab4cdabe33cec7bf7346d71b612cfb6d9485da51e033b864a4dada457e37cb050d0932614baa4ff09a72f78d37dab4c6e9ee75e73ab2c42b7e33719fbe8366c20e31b6a6543914cf89d71db73074b7b4e427e8dfa58574669a000aeb08b5157700cfd80f8c026bdc5fd8f3727ac9aec89592f45565e91332b8b7ae3c3b5fef6e8faade3b57767da33a21eb2bb5b9de260dd5cd1ca6cd1cee39088445b9045ff7254b0ccd09d67a44180dfcc1c4a4798bd84c3548f6045fcf04b45debd1037369ee343076f55d24f8d476db7f24c18001a72d24aac38995f68996703ae94829b1c603a2b029cd0aee433d2c6ede395660081ae4d41f3d016cc58d5b1f5be07fe1d253be213c8937b22d029b714677729c0c1f7668645c578742cdd0d2b07ef0a4cb6a8abe82a92f1dfbdcf6ed1df9d20a7254ae46e32faf034fcc1cd0b29d9b5818b806e0c2c7672cd6f848c334b865b295cf65c3c03e67ed155b4b3e110e195b0cbc14f5c89d2304b4ac8ce9f04e57f029299429039f342d9ecb63c52f0575ec40513ebf18695f6cf20880d44fcd0d536a7c3c09b1d62ca2beefd53c0913dda62d1ca9f53be6bb12da1c28c0f57c4f0e73a05239c72dea2df62002016caaba9f37758c35c054e54b541f75500ead0ceb8f6b16e390a891a491b4fb0646fa0b1c05ee3c1e5e5ec804bdc6c0a5241f3e6ea966f75ccc83e8092d1a7fdf0acecf2e6c0b52324c6d5d84f256e44483877d3dce5baeaa9591ede3cff50d2050a3f234e439e07ad6cba2ec31321bc804a81e2cda6f20c689c4da4ca57bc0d512a19d5108fc06a5c5aa45da1ae4359b65dd916d1e59fd8f5413f7d4d79527fe746b34737b41d4a20a0fb6358970673dbff76e2f9bc802eed812f60f60c218d0817d9fcc0943e9ad88bc8f7ab9d41a8541d65f91310843d0da80dc85210e560d673154e705ed031be954292350e724cfb9ab06cabc3e6de0d68085ac2e27e23e6afaf6ddb3b4a6f9231572f316c1632206a8ea2e0b210fae8aace2318e048bfa586cd22c4008d596cdc4fd555e7016c8acc0bb4475f76551db44e20eae014183aead1eae875cacc72184f5b112b0a6a2bdef1128bb56755a8e0d0f24bbb8cf70727fa00f4830cd4a130d66b00e3eedaebfd3c1a542cf8018a93e04c94b62aef71237c5e41a08278b4bd7b7b49cf6a31f4422d363c57a7ca792152d9b0f705bbeb0c3a6a859ec0bf07344d4f88aa78b8393e5ce15384f6991493cd039be7e2757ae0cb325a75397ae147fa924faf2cbd1f6b62ceeecbb504a091c948adfd2d039d36f1bfb5659c1a5f5b5247e88b8186e606335cb1c814d34b58f8672301298de75d7ed406f53c80b3db39e85bb6649cb3edd7597d7f45e9dde6a4d4cd0f23721aaf290a1044813692cc0bf70af65251089293465104eb6a35c71074f457384c41dba32a9147cf2bee4a4ce837cfff33dc7c8823c0d17a8cb8ab3f9cee76eb8e9d96c2f9832da758aa44419c5314ec0022c561f6fc707cd83c0096948f35ff42825a7d79e1edd63a43af24cf147e37aafc42cb32fa97cd568e99f1e6cc841268a4aad77955702d57b823e0e8c5675928063bb4ac2b9b55a320b9ff0119c1336aae280f8b5a99ab6bd99b89aa9312f91802acb7c004eba45a41316e8ee3740a7071a57822e91aad113b1b074c53924978b3f2658c8d85e3ee0fecd60ff5320e3ced82d96501bca842385d561aa2d4bbb3ca620a2a3a5398db99ecbb780bcd6bd701da6ee840ff3966599a845a7b7179dde0869216155c8f1091e1fdc756cc7a4338145a80612a6e7765289900defa7edacf38957223391f0b1df22ea1eb9551889354c8e1a64b6b0c1f697c877e55c6ec47af736cd512b6fb226522dea26ca8d22dcbb639ec2da9d1d67ae5d7cb6f50dc191c13a614ec17841b42ee66c3d1d6d6d9982cb73faeb7cb6e45ac32aa7e5f9300edf3c6080f27119d9534a97d2f8ada29548b40f2c3a58459a40871d17afbb02191a9d9a8b726e1f33d457af11772f3c75744c77301911029a129c58e399a5f1a3741c59e55bb7742ee00162c0264cd04f05a0add03a21edb247b34f75edab180b90071f29f3e61373b1429c565bc163097f1a5d19f7793a14dd4a45569b139e08445e85d01e44eb15f0ed2d21c9f505c22bde17cdb59deda78e60f4111d21606dcb38948f77f66d3a11cf9b630f9f98146e22021a97e3ed813527ca70410164b9070297d354532d6d9a7cd9cca404775ff0878765c828447f43f48da997595a410d731a37f7a069a37938487928af33bf35ea0e4d0297eec8104b59a35e98d507bf3b5e48157349de92f4c1638090e283cb7beaf2b91b5ba8025563af8a5811e73da643d02cecba9dea36e90da52f1324d1678eef306039b3cfc23839b224cc2dd1815faf2d270ba6c0db6e3a6f5d060e5ea4852dbf98a57bfa1ffdc1c7a7fa504e5cb0510c7df33c8f605543c0cc8ba941aafec484d7c6a9bbb3a5962f045ed2639d0803482c217479236912545b50b4488ce408bd14943f1ce8b221b26711b55f4355a612f5a96e7e0b951bc7d63d7c5cd33206651dcce6fc097ff478788024e83df4c33601a975ea2129504109855c10659bfa67777243c4c7b7c75d6cb30824c724aa12d27d36b3bf53f069c0694748e29588b26258a7af9065096917650f4e54c235d14effcd2c62e97e47b5d4f12af3b77b0890d2bbd65da96d2bc9110036ab6a7e59b41011a7ced4a0e523dd49d480ceb051dc7d651c78727f6a8fe19be46022e8c743866e42300cbd10dbee1f7af8d858a3377c20df63cf38594db4b3a264e9ea73bf41b085d8e559b494a390b75522c7397e6ab2331afed5cd063b569afa55c9b247a6f31f6a2f488afd588b19c0ce01594f2bd24b626c672d71394f4e74249fcbcd925d55d04ae8c8422930e23932db6a03f1030ce4d3d3d36b81755b4073bcb5ca45ef9458c77d66a2c84b63f407cee24237ee2a4f5865e49c7b9395b8261a7d11fe11f2e423073b9c87f666246dadc34ffd88d33462ea61dcc8c018a0bcac411d89f6c6d73741c69703c2a3d2ab9962672eaac276241c077024730f841c2d182ccc49d21fefb12b3c2530c7ea2086f783abcba2021b962c65281da0e7e9fc28d35b173b4878de812591837506879b0eeb4b12e20cad4c8104ce70a88b1ee2f9cae87893e4a8df3283a779b4620b66c74ed31b020cccc5076453107811849c5efe0a078d113a496f75be476939f9bb079e0bbae9100fd29b1c5b8e675352c08184a3972d517a549d2ae769283a96aa0a1f7ca0225b78f0387f3a9694b692ddb5fc0f3a232307da5e11d1656b28b0d189b307e2be2216a3914cf780dd4148f158d99114a6c40dfd558b3c1d87f99b9b63e97d2b8a2ee32db31929e21e8bc6045adf83b54ac462e31ff2db32638f1968266a4defe4f11490e3b8cd8a00d90b5190e9da38a1845cb2125fa5b9542a0c013abfa3a370f23ff9ff346691fd4a095ebc4149cd308c17cd77e4ebc1ae4ba3e6ca320d3f86c1ec33c43be39cc94315d8397f9d826db84ebe5fba884c051f88ecf2632c7f9c12761786ac5855473f05598fb870debd4dd89f682bb2a0d399ad23ea2a3eb8cbaf694193984783c1bcd6ed43948e473e9ec23325c9f3e80f34ae1983bb5cfdc70cabde7791792c9c2cb5fae5681eef8746c18587665a0b1d2fb59783017bbce0cc7b0d0ddc8208015f3182dad1a24164a5e4386fb6bd89149f67df1be8abb8c8d1efff17d8a8a7410172ae8db978af8ee462afc0ffe3088ed337c20f587c2e08235ca8aa7abd032ff5e8ebc48bd0796e83f1b90c482e9562a2309b7d2ad44ad719804d22df5d076f44bde842304b07e25026a1cbc6bb0c989d626c5a0fe7b8af5e4ab70b020f30cd5959ab106c9fd546c6cf0d88af9a2987d1d8f6722ee592f0e611dc8dda9983abe3180e60324bef6577d4a32a201728a8a96fa893b045550ae497785f9414dfbb9b86a642ade0fe8a2341aa4d50ca67cd71a46c29bcd71fa085c6aa78b093be8c2f3c17ebf6a72c121ef4082cbfde3262b04a08715c70bd2de05c538f4d085db105eeedcc4c5ae1c9e966461bf483a1145c88393e4387a086c0f998c6000b705df261d0c80fae6bbde8f48ef4c16161e086ca82bef6be0e5a2ac0fe046a8e51d5dfc49249683fc01a21564df6509dafdfaac362066ae66e0a31fdd6572f49226671d1a2e90f35edeb3f931fcf46b95c1290ba0bd7cef7d7c562888e7aacbeba23a177b568912a137db5b0b7bbb4d3daaa675dfb28e9fff424345a1944f437a37abd2a3fa5f5b9d11da0eb0ae30b913a1fba3afb78d32d29867eb9f711a82b1830dd79d0cd541b30a7a602a9eb2a2b0d4eb617fcf55cc4bb7b1b1f469696be157f0eb12be21dcc6c3ba6510db750b19c68ea6fc2293dbc0b37d9ac8883016759dc7bbf8614bf980ee88675cb3f6d0786b0195d1ffb708ec425b00cd29b71154f5d0061005770a026df6d8957293d00c50a085a9cb66289207cd0052137b04058f0ed98f01a1341557e494be7ba9ff75a2f4ee997ce2dc0f14800f4df8481892963c8303df575b3c12b5eda0cd55b393187efccf55b15ea0b47750bf7f778fd67086e82e0403c81a712dfb0574c2907681e1322578e9df9185c30144dc834a6ded19c0b6183ba5b9d2442b3754fdd8a461495a9e8ea8ae2fa0bf88d3dea2d6528fb8d98396de8aefdefe144044f36313a131014c2747fe286f02eed36537aa7cd8b894eb864215534eac0041efcbc3626856a474d5b77b1ab26ed56f54eb8aeb184e282b6125c463468eff9fcefeaeeae2e3ff4f3e39e29f99037e4d32a68527dedc43a597ed490a221d36abd7221e159f31c28f41dc0fbfa5213dfa321c6c6fcd87d8e53a7f14a4014353a25e18787e80a6121e787cadca5c3ea3643ad839910e4ec9864dc0315450b54b0892321e1b9faadac43863a1d87b1af472933db2de02e3322436b05e0c6ec436da826093d08d4adc20e342ebf82b99a120f686112300c22d21ae3dd9df4f3c7063721a6c72c3cc1914f2289d6a7e1ab22ba32599b223895a225a4ee14ff95f244fdcce0a618c30fb35ed66cc902ea4085d6a2ad6c843da7e46d27677804467bb94500bc64962bcee647ca4c4b17f763e2c57124bd868ab3a53e86852b12aaee2221b74f9d9b86f479ab4675981dc583a291d8939f493c112d4115c1d25675b5ae424843c7bfd68df5951e457f9d62185248d847ef7e1f0fe5fa5574b7d3085b07531a589bc06454daa7cca4ccd5a391375fdea92e5084ad04030e7b4ca6e93ab9b517f2f2cc55e102fede4ff3c6471a84586fee98fdd47ae94225fafb40d78e07af575d8f13342102e1f5d348789d5610d4a6e6089d7583188163d58ba773af8ff85d51c3a9e196e69b0e4bf5be3d8e644eec785de3968e6c1ba41a4c0ef5bf5cce7d0c3adbc9031193a0c1f3d0292460c60269ad8bc239e301833ce72490b0d1de1b9fc81c69835c7bde589ab06cd99a25ba6791296102eb57c307d1af49add22ddba9944f1510ff15239856163a891e930cb8f85742af746ad1f938e2ebd924fd570e2713304f8f96be998a07b5c16eb810b155cbe5fe1bb2c355f2e252063ca69d1eaf31284fd32be6f8d313b95bc311d5f2f5a856d4ab3ec45b4c129ea4c332c152bbcf58a4fe45817e969cd9d4395bcf79c5412350399bbb5ec7c6d4a9528d3daa6ed47b4b41bc6d0bec8f6abeddb299039cdad4fbe78339cce6014c9d3d73e98826868fdf20b53282888895f353da71a96dd0d13784066ce175a140a647455273980821bd82207af172e1c682910695566daf9157042052bc71dba9d5aa4abc2850c6e2e4a98c981feb6fb1e9e435e398b82aeef5fcba94b3498dc2c4a28cd7eaf8e373401ca2b9829d54bce6dda880b88d5e12e99cb3c59de99dc855a9d6689b74e985f61aaf6483856a2f47a960e501d54424bdde61817e241e04931c7f7bcb158f6e73962c9b81f1fca7423a329aa451a030a1a434ba260357524ab356491737328a331ec014b216b22ca4310c62ea574d5eb664f63a47b4df188ac03c51d9551fd759d3b5a92e3220162e4d438c44d3895ee8706d22d86d6ae08d16b8daaf0720cb817d6292c8de9e6f66b72358cdcce304468a360f9b44a2cbb6855174d2f5c9def6a8572e6162d64b6e355e2d2031cb9e02b7641593e6c687a1571d8f28741fd32ecf8b324c8b1df2de27295507c87e15c73c1f4452de00b584e658aa8db834aa4e6072c61b20659e5d7d25e2e472bde5013a53544d6dbbb3862a259ebc3a6980009f35a7e0a39a9c07f18c4368ac8418df90594e33c87d74fd7484c7dc8bd2de59ea75e169324dade88942056ababe410990b4d967fbc09f8dfbc61c2c4dd670338bc1d12e23e123ec1ba9d93701d96b9d002a695e37501b4ce3d1aa5de7091512091233882a19790384e5a668bb36ab94c6fa10832c84299dbdc4016a79c2628c009ef3ed40649edfea02f02523a8a33fb3c5afdc7291d817badea3c898975895a10403cd287111804f2763b0471316ff899492d9df73b3fd11a597b30fe5cf55c7af924aeaa0ae385f5fb3f0d18e012ac3ae184e9f02fab3feaacbb30cd25d3df4a93913760603bde27f6784ff359b6dbad03c2332cd4d834e8d97db48d9d4e143506f1a7b963b1c4492f40071e6ede8186357701bc803baa81536da7db0018b2afcfdf0d0fd1902921a51095b99def0b6ab0d42c46bbad650dfffdf861208a39633f4d8cd9d39f6abc950494d4a655a87b310925a9dc2729c624e953445516c9f3420efa5cdda45ceb679e11ec144ea545d3079388a3c1c317badb4766a31fa4b06d0bc6071f65808b0ab9c898ba79e2b4ec27d25f7dd34b6d3e4daa7a0ee7f391e304af623532a4b180c2da8029c6e8f4474c4f3e3a8b201d823a5eee4851c5d63841e8b63e42684c9ba357cbe3225ed59058470421874164d34ecf4de5998e59b0ac0b4163acabeef8d0f62d24ad6bddbbf4f1602835d47763dea22368890adb2cd53830e1e0a7d8553571f507416a86ff2f09380cad964eb177f2bacea63b131d4f5b0facb944c8147d74fa6236415023d66a7c829813aefa9d1629074adff979066ea6a7d27a5ca7cf94017a70a0f85e9c1fe086e73ad4d57a266fa07c04e6d572074b78cbc9c672c4e22c51e441bd76e58c5445f54aff7abad90402eef2dfee825b20505b0638ff138a52680a389e845609e57631025af84193c99f3c3464c54735c3c0fd98c2cfbff799029242bc67ae97379ad94f1674411e5653b7c405cfded03253b95704f2928c4c42b1b7167b17c8532463e576a38dfa8985e28e70a4a57ffa36b87f64d5ddeea060917c3c74eb3d1096e036b231f53e1f68378217b921dbf89accb420bd8f868b83430db7549f6bf62e14bed812dca5c41a1f2e29042005bee7bd0c534722d276da92aa197808ac4eafe47cb767144782c9e0259b65d190cd6b5eab6916682d5c9e7a88eb0140a52cbdca6813d14f6b8b5a143f754b60246c5f2af00717927495895d9795b694c40484272a0866ae3ee934ac83df0673005d432111a90d4e9354d146220ac9992428c2597c975939ba155156bc293e556241475f9596620806858015471c696e4fd4a5d622554ab2c4f1941882af5dc8a8323b57205591805b5dea6744ff9736137106f2ec1e2648cb62709bf13f6f66641099b78dd7d8becb5efb612677dd94a13f42ccd44b414528d204b2a602191a49867b8d6ccaae611acc5993f30387d2ef748689d82e15f4f26d73c6d7426893926e18220a82d5cb7f187d5c13cb0f2e0334793bc345921a3e0c23583cd5091feca08c975e7d2493ff4b7d68f93ce3423e29a8211d5541045a99693ac28922511189b5c08a43e671d045b2599fa0d2b8b268b85daca3a705c8f37cf7cb31f266272ef1082985a2c66fe3dd44e86d72900d37d75c9c9280743d1bac5552d0cd42de293d58205d26042a726a21eaa7164d244689187c7daf6f219d9d913d84a25bf54ef60487327a0dccda6d2547cbb7ee7ce88a71f0458ac4156a4661bd35937c08318297d4052b80feb31080b298e37814ca161669cf20002fcd1d096dd3872dd2f08c455cd28cd3b8d3ea54584b212dff8cbe3e10295df3bdd63be4c5ec68e59b843d719ed3705511aa264a3f75292a3da44730706d3373a6c7fed502f2d11b48b766a2cf448cdac600083c67971e62b207b05fee0324eb6df44129424665fde2004349ed5b447d04f60d0e0c4fc832048b75efa9712f6d7e35bd2c570ae066542fa43d69e75456e9d4055b1b9c81dbabbaecfe501a6dbc9fd3d9ab77ba5d72dbbd9af40eeac6f2134c38e2e1cdf50a74a5cfcd8a4220ffd314f4a49ae4cfef236984d5df00312d3dafe34af817d3f320782920f72b55afe3e4ae401faf92fcd2ea42283ab74893b748e5fd30df558088c852ce480dfd28772406d1b463b6caacbf27e137c20fc8d1fd58d5c1db93279eb301644942a3aefebc73b7629bba04c78f1da04c107c24bbdaff8ca65e8ea2010835ad8a4afe486208d718234dfd88c7ba7e2c6ea459ad66dcf65a75981ea5fe6600e748df6b92ab597813ab8ed9ea5d2a8fb44b522e925c1be461148c15c76d4513daf1f94fa55ad9c50d414d780346e04ddbf2159dd27c1b18d901dca8fdd939c278971093990ec1eb0036d7d6b170c4da037ddf70361fcb2d60ab8a1d5c4e25edcb981dbfc62c12b4b2ed360ca7de687ce400398945ad86499e111824a50d64bd8275474c1ea057a8c68fe2cc72c76e38acf2a4ce4aa44b6c2c545328da750c6170c8d3e5824e72d42b5f5cadf339017a3f98d11d99832b3fe3bc1b24fb1acfd1aa1f705e74131cd599c105a7bf161b81abbbd4cad4fcd7061aa6beeb39b7e826fc14f01ea871fc1c905cf74cc6e3d7096d37ae48c0e32146e550a39d3322453e0bb8c2861b21b5ac04bf61636a7d4eb55cfb4c5bb0b95923ab04d28a9ab9b61801c0710320e337819e48c03e94ffe93f9803eac71d342d9d67c5585b7b9ddab2d925433a3988a6879651ef7443f18c4dd64ab2493b7cd94404a6b3894bf94427a45bd871198a7a95cbc186c4085c4b3093d5424e39afe9af238a4dff57b977463df796f7277e084439259be9fff31b9a1e5e431228570f9445eab04f2007cfffb1b7b17cf4b1f31025074191721632380fb70cd093d45722466abc00991afa2b2c1a2163d0cf4b0eb6dfdd336b10b3768e1eca5b3437f55aa6b9ddb3fdb5ac1485f689623a30e347b1d08d1744a5e4744a7af455c71892c8be05ebcc117d674f69332ac9c05bcd409a80340c01658ff343bc542295ed281fdc509db5fdfd8d125809e8dba63053b950a576c807bc8641535c3491954ecb1be88964451b906b4c56ab42eacf8f1fe35fb7ca3d30a2f820e723a7a36d38474db40c1acc88922dcb54052d439c4044f6ab8d7cb87828b499e8fb80011aefa4b0bd9df1246b63778682fdf4c0639a302b6c7b24140088461fb70d88dcca03eac495733234c3349953ae88440e01eebb68dc8591bd4fb5865a0a2245c93c7dbfe840277ef5272b54949dbdc55c016570da7ac13ede73ad4912f8c7ac189e9dc5901269108cdc1787a0e8290c757f88e50d5ac3f705a6f8d72e1939cfcf88bbb927ce1d2144487d618c3c8b35d7a6064f1a6bb49d42e71124b3e4dde8f6bde099b9cb65d12803918d66318484862f4d36fb5d9d8dd71b897ca033ff412f795e6e246449538acf725937adc0da18430c24de01ca8216a87581900a8a7987485ba0b85dbd00bf3dc4af2d021fb77c916113defe2aab8cef60772b1302a849bf6ddfd1f2d8633ed3b6f648736efb08a55276530f4d95006c26e5abd66d5403b4558f58f09c030c7e19485d555b7984b67fa0d02ae21407eeef2a142cc32bb1496be52c045e07f001284631c2c9bf5f62f8d006449c406c389e9425057549f0d553d5ec5f81ecb79c1066406c5b986af64b7f6ca066a5b47af5d058948fac7e9e9eb261d949e4e305b9617aabfd173404e790faa2440451d28b6658d7d6a0e981c7bb2295aa6236f9de9888b32ba71b8c2fbddc34f8c028c844001fd3e19d03d24dbbd58804be09ea5830c83711dae980312c2b0dfb1e1c965b7e7af23e163d565dff2668269b290589ab7132b13b2ed088ae771eb8eb088cc47aa6889fba8412eed5e1db677232a100361077c62fc509e02a6f14b44599b86c6156876147d23c85794d73be529cdab7a68aef44d7897c2b9053f30fd301107d57629cb08947e3125fd3f4e5d4bd308f39d3fccebf4bc875ce35d088015d703a9865f688b7d61656431220d377775b98e8e097d02b0b76331c35170677d9edc5569479fa7f771f62781bc77e0d3accf3873fd9670ff96de865837aed0b07be698b37ea680aeca3b5d7999b333726cc0d511bccfff27af5e66f08c960d601d451049aeee7cd5610586745e9f21b594d4875d32fa0952924787380976ed888bb1f20f49f73ddac9a9cb729ef6f9e86755ac301e1f5d4529ce717854ae8457e9ec7d6ac0e39bdcb99cb86764d1640f0e94753f66c9690d6124208d972ef800c0d0d270d44c0f7f80e9e1e3c874041cf1ee0c57348e943c413c18d34865c2a2a9da65e4b1e63db6c36d6f7de1e0c7a07a8ef4058216c6ca4bb1e6b349a5027cfc4b56de16d7aa46417811f95d5cd7f3666f2fa08460a75726931d2d9588cb36dac53145f4ed3e5a4f6953a5b74a7d3a5bae54d971445d364b17e7ad3371c6ea11eca9d6c9b8c8e744646b588c8e67d573061dc6ea26d27db47bd964998394aa06e9eadd381b88010e26d30ef2ab9ecc30b45eaf2084f20a0f1e5814ca99bb69d4e1ef66c9dced6e96cf95096a70f197b90eff739c474f2446ea0387d2c2f78f2862f5d7bf1b6e7794f60cff3ca83ef511eb42f9f3a7b902d1eb65f526cd3dfcdae8a292651b7e2130d2e1d3606debb0de14b1e41f4adc82847d4428d6b9b1040b4cb3b352afa9830d2189a88a7f49ef7799f476f9016fa85b762508462d61c7dd59a134557df248a340bf932ab0793143929e8f0ccd2077ba363677ea79e2b9739dfcd4182b4e092777a33d3af7acf3b5d148b3513081b73e9b03131b35c29b0eaa0376a0ef4551fc30b93cceba0affa2ab25082b3296504453853a25ae48958461a03a5a5d77380c88df8beadd2fb1c207213dec6c65a255b3a5b3e841fdf23fcf8d2c7730814a5b38778d339a45e3c5ba521fdf00c4fe44634c39009bfbdf5ce6cdadab7456829af2abfeffbca0b843c7d5f59d6bed309440cc90be92f0c497287d3c9b192e3f7b15e445d3cbf3357b2d4c1543f963aa67b94d6fa999ac9eeea993df166138b448654b1be143f930467217dba404aa2289ec49f4edaae3c73e42bc913c8e925f2e26dfa5f8bafa993676e5c3a790d83f17a96a797be7fa5efbb78daf4ae9e3907f1f5f5f5333d0dfb5e7e06a8caea576b16d279a6863fb2d469793d81d4931f5bbeb7bc247edf57c5fa966f088ff5544fa7d3e9844ba73b035469be8be1bdea8e8771514f5df336d692611652cae1cbb29e333ded0a4724dc3d2289b58481d497f5a2785aea508a67abf4f0e54f67aee2c39777e58429a454c2a7872f0fe474e61a963d90b8b43bdaae93eb746621252c3e2cc5931f3fd33363042c7346d3874bb7d65a3d5c12cf192395263cc58cd2e1deed76563088c3222c50bad51133a374333d3346aa0c873953c36325bd9e9deae8a452b20251304e63c8a71cb607bd337bde379eb45daf9d7704c8cb99c01e1882f79ba1070c5f4c07ff755f48e3d07473e3978fdf389ee4cbcbbf711cbf971dc2bf54b2f457d20c3dae223c9ed9a35ec33cd21b4f963ae2478a4770869e868df7c84bcb1cf0b45cb4cb84249a40100447921c67388281a0ce04065f48d27b483e9c01c87b395f4edea65f5f54d978af552f676e8cbaeacc8dc3197ab0d7423c10b469d03381074f20e1519ea703ca3b5b2832db22efcc39802f7b00effdb523ff4aaa32efe40c3d9ee765219d67e8c12359eaacee9d40bcbf7c5c8d269307ae4670bc79a97d09f18874c00359bd048ea6713ccf95101ebdfb6114ca435d8abbcc61c42fe7eb8bfb4a2a75c08bff52afd7fc78bfbbdcd25b6e79d53dbd76edfa2e79d01482a613c8f35f5f1cc6451bebc33843efe3199e403cb27ee478b38b088394acde779409095b0bfebb0ccfc3e44dcf2e228c3a574e9841ac111e4ffe7be9a96bde330bf13048341e0879e60a963d9078342195d70b628d5e5f8037bdf4d7eef58578ad51bb3e0c7a9ef7faa2d27ce7154c7fca31d1444adbb2851e7a100bb3496c62da160ba69965913cdb15af4260f65fbbd7175546299ea1c7eb018135b231d3a9d5d9228a83f64d89de785f785ae9e28ff062788a37d5c668e2c3d2a5f60546c114cfd68ff0fd7e788a97655ff6e067ad3d8fec90136cadb5d65af0f39460db960823a594524a29bd5d5930762e27249473bb853e66b641a14fdffaa6d355a12ab4db853e66164ff4c4b4cc016251e50a269856990214054cab4c49825f5e3ab2af2233a76c3e704420881fefa7846c0c080a073ce0fdd4908d41d1801b116f16906b181052881aa60006bc2120c4b3d96363b567079ff2e8d473ba9d7227540f0a95431d993d36b6c4fbe6cdc636f0be99b3b121ef9b472e1e948816656a94a92e53a44c77b9d6f2730d62e2b9da72c5e52a94eb1091e74a946b5135ca55972b52aebbdcb5dc41b96db9712d947b283751eea2dc46b975b99172efb2ad651b94adad222973b43297edd0905bb26de08a4b5cd1c8bec421d1b60bc3a10f78e0823bfb028d380074419c7d81b79e5ba25524950435680455041a98f1ec644008069448e20216a800058200a93522b589224ce41a827a04043f3d12f0830f3c7ae061870bea7073c53a38f9589ddc9a021bcce0d5c9ad34780b7d6c6bab0cee41e1e4561bfc2b736a0dfea5e02305c71d1791c45dcebefa31781661f06ce29e594d9e8f5d2f787661970b9e69c0ae54118bc9690b9e452c8305cf269651c3a98dcd0e7beca24d1c0a8dc2ddedd9c4323cf12c62194e65388d6105cf228e61003502b8c1e6140780069a874136c6437e3f0487402327626254f06ce22f7916f18b7836b10ff20207c0a98d59e037666cccf03ad5719ac329025e6d7053b61adcd412a19bc2d1e0a69ccce0a684a0b8a9289cdc5495c14d3d6957a9c6e0cca20983339b2cdc99596f72e6bb5e70665775c19969c0a9221bb338266711ae3d3d2db8f5b0a08a4f9ce6ed1457a04374e2aca60a4e71c957c4994d9c986fc80413b7b82e414d42e43de4d9c41bb8b9c46190f982373b6e931d5e53507b9068e03d7beb60d81edb7333dfef66c76dd2430f4fd9acb5a69912c57cbd9b22455024386a27038721c46c69c9d7de74a003b59c8e1a94c46128711303cfb779e0c102a99b8d5de0fd8a5447f00adcc4c180f11124f3ad373b6e131e3c9eb2d96c9e90ecabdbfc18923b6e93dac46b0a6a134fd952381bab2238906757198402373f8aa553931f6ed3266c8237edfd46b23126deef9d8d1179d713bc6bcffb16c9c6aacffbb6877702def784eacfdb87f73d9d8dd522365681de9503efaae4fd0f6763d5c8fb9f908dd50ebcd66cacdadeff74fd0fc9c6ea077878bfcc9544365641f07e596463f5c8fba5918dd510fc87f74b3a1bab4dbc5f42b2b18a82f74bbb57145c10d7c405795cd076c19d921bfa70c31eae3874822b1a99e0966c496ec9a804b73484e48a3b125cd1167443a311dcd026820b0e85e052fb42c0eb914bed2b8757105c6a5f3ace03dd7d40e7d503395e6b39af1d103272a97de1f0ca814bed0be715e852fbba792d727f2eb52ffc1e97da97cd1370a97ddd60e473a97d1de0b5e752fb32c0895c6a5f0538139776875c6a5f38be814bed8b005fe252fbb2e11ab8d4be629f5d6a5fb0f35c6a5f357ce752fb1ac03370a97dd55cc8a5f6258063e052fb0ac095b8d4be68781297da17cd2f70a97d01e016b8d4be6ebc02970297da978d07b9406e3f5f7af303dd715d1f2bb9e3d6f8d8e48e4be3a325775c193e7ae48e1bc3c78fdc71653e82e48e7b7e2c954a27d0d6aefe8e4bdec7a5252cc46d69d78e43e04281c41d701f3001097cfc711b4fa0923f6e45e23e3e01095cb28a89c40e1f3b7e9ca48f1b6206ecf88f8fb6ccf971e2307dfcb815d7d2c777d01d1f43d2c705f128923eee87c712f9806bc41b709b1cf1e37a1802664dbc39e2425c257608f1f1880bb4c38dfc6687130a1f97b172c2f4f1226e8411270ed3c76999e3e3366d44c545c0e01df77cc4e08073878f6bb1036e931d0e810bc51027cbbe769c0117080a226ee437500c31c47d9c888f639943c489c31ce2b4cc19e2364d44c53e760c71eef87146e0567a63c78580c0b9e30fd8e10eb84d7638773c881df771bb0177c71970777c0117080a1f2f127ee10b5fb859c0471f9755491fd7ece9e9c163933eaed8d3d3a380fb38101f4f650e10270e53011f2b0984027cecb8a8801ddec9c7b9e33e6ec53fee8e8fd454fab88f1dd6f368cf121b108e490da8a70e59af2911e5e2a877508a8516e954bca35dada34707b2e2aa59e6c8c891d133544b1d2ee352cf55918ed4da96a4ee6a968ad4b83a54ad14d5a32b35579fd4a17a3456322c95a9a354eaa8a7f6f4f4f4f4944653c96432994c2693edee0ec3300cc310044110044173a887868686868642315c620993c96432994cdff77ddff7799ee7799e97225529248b84848484041e6d717474747474540241100441f0fbbeeffb3e550bcec3e170381cae8d208aa2288aa2c96432994ca616b2bfeeee6e5b2a954aa55209b4d65a6bbda3a3a3a3a3a3a3dbed76bbdd6e2593c96432994c6199a343a983cbf5b196a4357593ad6b7bb2bae6a25ddd472e57bbaccbb3d68e8d9382fb65eed47db39da4bc54ca764da54aa7c6d53287fc585fa88022993a0ac9d45145aa48486008de944aa552a9541245511445310cc3300c43100441100453b8c6e170381ccef3965842752b954aa552a9f47ddff77d9fe7799ee77924d947f6e8c88ec0a301309e63b629a45845f90aca57654e8512a5e65ea37835a02226930a54e4d62e26b5482d729007b399cfe7f37d4bda05827f910a045e195bf5f966b546792d728378b52850722f75ac3dfbd8b96e293aefd27e5f10bb9379d22e2b2345468ae711d95c66a85d96d606419924324b74c6d9adb86fc5349009668e2dcc1c3e86a2cec712e94931754a9dc6582609a532361db5c47d7b64f6ec523c7a46cc2cb355190e4c8d4d0bf3c339b2319e907619ca9c20329439339076902643a953b139d42e7bda359f983929edb23f7c59e808d958e946fc6a6238b33ecb6c329b7d2dc194e5d09fcc6c396997bda9cf96100c4cdcc2954c20ce141c20501ce06d7c5388d1d5d840251c87c8c6ea4dacfcc1f38a04bc6282493077bc32870c98c68604d356e356e3098a03cc719ae3083bdd67b16ec4e8fa657fe3b44531e7b473de173432412358bc7318189818ccc12298b985eb2f0b186c8f5344718836b6731c6e049c6340229859663bc011bd611fb3e9e8c80cd9d70de80d1bd01b35a037ec5b385134cd91acb44f396d715f464688de3842c06a07bec0dc59ed6cccd2d0fc3b69dea769645f31c818317c80807e7e7e5e8b7cac45ea4f2e978b1225772986217780d35266b36256dc78e73ce7d9a161241304ca3801c1cf45664826272345864ac7503df407563cc1f6323730666b58b6718bc598dccf46fffcdcc6d69f5b7d8a7c1fed03d09b6c32c1168f15c97776fea33a39cf7990766815bb92075055f21d9e5724ff4183a207ad2a39cf7f5424af4e4edace2b92d8928ae4b6faf40687e7b6faf4a1dee010dd2099b15bccd62efb51c1cc31ba18dd0d37fc86eb6e7866c9046561eedcaae47a35700866a65510e1100559a3927e5796c5c51679e043fac10f5e40e67ee0032e96b4a0c626334110046b6849bb17b4e35881c1296a97c5a19233f38ccc70a8e058c1210a0288336374edb24230bb6582646c1407a56144711035ac529d9b0e8ee2a0315baa3fc3e1a2615926a867678ec6331c221c2a38450d93a1c341b23120efb6c349ea181048c515a080ed7100ea98578463a561948a2b0c617b1ca3d99763743249649634ac2ee90b9e76298ec5e86a6c0d035f7d5e8bdcfcf3ea731fa06b0afdcc3eb65a650eed331898328706de14d8aa3f3e9f01d4b02cab3f678ec6f527461783e50ab68f419a519b116463409fd01659c0f6336c3396740c28cc31e1096c3f8349c7bca0982c0da355b6a082ed6376f5c70794d91a96696e0d83d516607b590e1f066d8dad61f5a958cc369b89b1d9ab4f6cf619cc8cf681df7390d9c75afe30fb379b9d963dbba69318248d729bf6a93edfa50090eaf30af4110612ac62da988c4de6665fd6e732b3e61e13e531654e8dd2dddd5f777fddb983d7e75620a0579fd3d0d918cf0df06c6299019e452cdb39911b9eefbc07cf7776ce73ba8a7a542415c949fbcc423c100b33cb04c9f82e637619a01373e73c347434b0d040a291a561a7025c26c8c62a122a5470016c48ae4c907dd9d99dbdfefcfc9c544cf059a6fbb322a7a54e9f769b2682fb524cbb41ac11ae4566b7b1367d9afd349bbdfe5c8a679439b3fae3b5eba4a3830379f07d60cbc808d12ec532410d6bdc582628894de626c3a461f5e7f632b8fa736592c82c6957ceec9491b9c93091c1e5a85798f50367b49a1a1bedcce2eccc667f353a1ffa66e7b43e67f5c9e9571f260dab4067eef634b686d55c8d5273cf5dd349bb4c21338a7601c1cc22918db57aec9ce724d263e73ce7109eef7ce4b962917df1dc0b941268973d38c514f24c7594a64e79092cf25c7ab3734122d3c4358c48173d9856790210aec1b4ca139260192b274caf86cd47a1826915285866c0b40a94248c3385521c95e85666c52e5785212f84b6c01d015bd90ddbe7d2487499cdc66e1045d364b1683501d4045013404d003501d4045013c06d10c5317badc9d5e46a72353535356f238aa33e19c000063080dd0006b0b32ffb0108d5205483500d423508d520540316aae17da338c0d7571dc551a780c16030184c675ff6b05bec16bbc56eb15bec168bbd0a511c15caeb6714478df26a830d36d860830d46342ed7cf62990420c0298de110e0361447cdbdd68b5eed7eafb95ba9788d726b0f5ea1dc5ac5eb14b74a3978ab0f5e9fdcfa83cf6eb5e23b97e7a357abb9db34ed526c53b3b1184694c630aad11846351ac3a8466318d5680ca3da6a97cbe5722d5c0b8785ecb1ae468d1a355c35688444d13459ac9fa686c6e5fa592cd3a4b989a269b258bf8cc6e5fa592cb3c84f7fb746f958a7f858abb8f5c9c72ae556293e561f5c908a1a5bdf10ddefb45bf1ec36a94d7e43918ddd00f42c1679367f9e593e3714d19e5d38df50347b516d88216a43d486a80d511ba236440ddbdbe488202247448e881c1139227244e4b0cd71cb11da612151344d16ebb72e5711b91d3642c8082123848c103242c808216c5fa15c1c76f4867d8d7271c8d11bf65877734382c6759679440f7418891b1237246e48dc90b82171c3f6357771a8e114d11bf63746384134aeb34c0950614469685cae9fc532cd206cad886124ded41fdc2695055fed882062b52362b52362b52362b52362b523e29906d7b0194169685cae9fc5324d2b8af507ab5d78d3c21551440b57440b57440b57440b57440b57c4330dfec8ea83160ebca9618411358ca861440d236a1851c388671a2935be1b1b47dcfe081b47d838c2c611368eb071c4334d1536bc1b1a248e040d123448d0204183040d12cf3478242b15b74279edc1a5b1373512b8bdcc764343e372fd2c96694ae03797dd5c7673d9cd653797dd5c568aa79a3b9bec3ccb6cf5a646b94daa935728b749a5c1c1dba4e6e0758adb84e7f5c96d5291bc4a719b5425d7a9d95895c1ed7188708a6cac3ab93d8e918d55286e8fa3b3b13a83dbe350b3b14a83dbe380b3b12a747b1c886cacd6e0f638e86cacdae0f639351bab37b87d0ecec66a14b7cf21b2b18a83dbe7e86cace6e0f6396a369603676375e8f639886caceee0f63974365679707b9a59469e5d34d89069a694ee6aad06555bc555a15c87722532c1732dcad528575dae48bbdcb5143c77d092e7b6a9e0b9714e3cb7d00a9e7be8f6dc444f3c77110b9edba805cfad63f2dc482e78eedd0b9e6dadc9b30dc23d5b1b0c9e2daec66068a8f2e0dadb0eaeed19ba7d645f359783db37fbaa3d51e46c70ebad06b7f6085d2168706d66706f5fa6932bda97cdc5c0c2c0e26c13fb02eb8266d22d6816f4137deb15b413ad825ed2296814dc2676362425ba131899a028095109866a1d4115410541fd40f540edc0ad9503b77ee7de600be222d099c5205e8b9cd90ce2f5e7065b10af3e677e10a79dd915c46767a6c1f98618f23b7188e80d2bcc2c1344731b970932953a883837d979139ed314f2a174b34303f803d3b4e198e310c53ccb04ddb435acb38831f063a04f99201fecdc7ef62ce21a2999cd86383bb36882673659acae611b53a9542a65c3a673dbb9f4460767633cb7d40a216c2f13c47369e868905ecde481799e96392e8dad5d5d6f4699a9a323a483a337746e3854708a7088746ef61513b389e27d7e8ed1c5e8a498e7734ca579a233d2d81a667760661a1b8dad5d56a7b14c5015268d6d49c396b8356c08ae61eda4611a106ad806861a367b9293d23022b7a7a14253d430266e4f63a561b5e7f634571a46bbc5b49e0b9ec805cfc4c5316a973dede21cb5cbe25c6997908a73fa436eab3fe4fd0ddc567f03ef2f715bfd250e5e03b7d5d7c0c113874abbec67b7d5274e118e9576592accfe8986cb3cd7d89cccd0f9709f38443d306536d9921c03ee9810b6cf3396e77d93061bdb89c56c0d435884699e6374a6cfe0d9b92d352b03dbfad1ab99f59ea4696b1888ed47b3fca174c373e27c5da8e208d33caf76260c4c21fbb21f4d3156325e5a2e2d302a186266fc7e5e68bbb228ccc9c4d11bf64501b848645f4f1a3e0397622118306dd85e899ba91557b07d1237532b8ab0fd056ea65664c1f616b8d91ea10237db2350e02a11e4668b0484c6864d094f0237d31e207133ddc21137d71a187173f5a2889bfb09226eee230c71b3254104563b6c2f440c236c0f819bed9407dc5c72c0cd764a105789da809b4b0cb8d95cc0cd3180b84a5405dc9cfa7133cbc7cdb40a2fb07d8f9bad51026eb6537eb839e5030d8f185d8ec1c3cdb668879b4b3b6e8ea1c3cdb60801373f87ab43e766999c0ddbe7dcece170b3d5e1dc1c43056c7f737309b770d8dee6661929d8fe86ab443dc0cda2016eb6489994dd6c75386e0e93703d01ae0d377633dd02ae87dd5c6b80eb6bb8b97a81eb13b8bee6e63e02ae17c0cd9604b83e0057894ac3cd6236017095f06edc4cced4d8b0bd8d9bc5196eb647af9b4dd7cd2d37b368dcdc82c3f632c86cd8567105b697b9268ee68935ba4c908773cc86ed63ae129e0d9bd9b261c3f632ae1215671a1bb68f71f38c1bb667c5e85238c7e86292f28c24d8be254687ed553241d8a66eb6475510d9a21009d797378b4970ade1f086eb4dd5fb4219d8c49938d3c9156c6f1a995c746c9533a36818edc10c9e602b1299386c4d21226ccd226ccd2be6e789454546464744229586551690e2156c45a22b7a309521220026aa0c13302225134d0403259beb81f8b0fa640a28b749f01ae576d06beef608fea44e39718ec0572817cc197d6f1188200421f8f73e72e4b437086eeb7b83e0b42b6eebab610a4531d42e1acf313a5bf481315b8c0ef4f1a93fdf67a71d9ccdbe37ce325be34c3b411bb37de0039f79c003b5da671de840115a033507680dd446808cdcfaf3e6c0ad3faf400d44fb39659630397d02f7f992bac0855b815eb7706b91272091600d4c1a1b28c483470d8f1a1e3531ba185d8c2e4667234657e39212ba5253a3c6464d8d0dafe6c5e864b21fda8f4c467be3cb64b48a20d4a694c6f03046d745ba48fff44ffbb44ff7744ff5f1c2175ef8c2a17ce1ce5ebfb8b35728502ec5e0ec9449c284de4091592223c3e40b6696d964b6867d59a8bbdbcb7032270dab58106a58d5c250c3ea94273999948655a0dbcba814c9acc8ae2475810b5bb8cfaf38718e7240b7fa9c539c3846422ace99bdee765ad0c267af59c8c22b94572cdcd6ec150baf504e1c2aad5995e2c4b1d234cf3241a61321d79d40846d605aa50b221c932566d7ae973dc520c9cc182ce31883148305a63aa9950635362bca90e20b134bc3fab0c6416a58cd9205274bc3ea15aed0d3b06a052bfc3bac56a10a381ca1dd1efc14a800be4e01a922ddd92b15ae8d5b9dc2b54161662d67a78d25d706936b0367c349bbbc60d2989864ee9c07dc992c1d9c0e0a5edc5e8709167b9d1bc55181a2f04cad6801b6d77982ca6a140c6080531bab5de86ef5e215480a5e1c7cc5f20a052f3ea6ca9c8ac50b2c5e7c5ed48f5224fa020f4429ed150abad31e5157ede202591d0d00d8c5474b56a06b71d55d7b446f80af52c07252ea02ba8d2b967b05d35ea390044c3ba534d91e01d3806ec5150a5e54dd6db273daa32e40237a03a4f8a39d75daec609739e00cd3de77a6662b10eddad824424cbb4d57a09b99c05f83a7e5378ee067ef0b7e469639e039d3d3fdd9ad3ea7650f33462a4dbffad422b7e2efced4dad575acd49e6a91dbf4cf13c6fa84dbaf452ec5d509b7488f8f0f6bf643a3fdcc7c66a00e9c30c1b5cbd27cfd1d7d8db35d30fb61d24b3d36b860f669bb4e620c52bbececdc3987ec80589832becba05dc68e135a4d4522ab9121a1d16834369a2534daeb0f8d8676d22c69973d5bfd56ffd85182e4cc56074201a447aefa803d6e736716718f1eaf3f673659b8c7696766f5789fb22dd8340d241b0382628ba3aac5614a2451bf806b13b8b83d0d1dc5d19509cf34a280ed697841659509414e6d4c166409cf34765bdcaac5fb8278e58459b578bf36e1f5e8eea8ca9cda84138759b56842d5e2b3875a9c164bbb661fa576475fb3aac5b558a8ab1e6d715a1d750159241a80d98b30d1735397702dae5b5cabab5cdc1d11d7269c960bea9a7df46a13aee582de98bd32a1097876bb05a599555cb7b84d765e8f6e939a78b3f3aac56975f6357b5dc29d81e1ece0ce9cd16876b4335af5a93eb4dbd80a74c66069978dc9d22e4bb3a4697095067785645f33bca83a092b129ed84e8c2e16a3dbf1f1f1f9f9a158f4e1a13ab718983c1f43231b6bf19c3bb40462e70c8d720d93419aa6d0489660b3a06b1d2b19da094ce05926c89349a20599201e992d7273faba60364e5116cc1cb30dc1cc319b4d9b5172399d1b0e38e0c0c3f39d9d8ae43b3caf481ac6a46138270d3bdd9eca0d7307094ff549a5524bda65cf9adbec96354b72909a5b94b346c60293e67083a832e703513999f9d980fbdd3e1fed9b7ddfcd32e7a3cd4cf06ccd4e3138bb4214d12efb591b6838f8e110d197fdf75399f3d14c0cb2c09fca1cb065826482e80ba6d6d9bf0b1e8708878a579b82d6eaf3ef0c6277950366bf088748e7fbe7f3e43845d5e7d5e7c4c121eaee3287f6be266eb2f3def9ce8d2de9d7ec8cd9b2ec5c992465ceec6cb2b373d27e4d6002f73cafb63dc5ecda65eb8cf618a44a6d9f4e217ac3e2105101af60e61a1b78d2d12e4b5b92253a2052a9148f2214798443f4916cf188586b571583da552f1394c521218f0efb92993241416024f98262dc581b1698324100b805c0fb047530ebd99f8323dc4ae5d5e8d62b5e8d70eb93d722dc0ae57deb94efb33a25a9678cccf4cc00cdd440109c319234d3330334534b9a019aa9cd0ccdf4cc1849ea3eb390d28c91a4999e19234956983132539b311226b5ab7e7629d6817981833a309348929934b0b48b46525252524d5252924e12c5b38f5d6d9f92a85ff881de007180e73be74055f28ae4b63c7b5425270d241c3bfbb2dee77da008866658ea78b875d09caec02d70b1d4f9faea9439f4c183e5ac7124d1c8d22e973d8e2ca50e88fb049e86eec481446fd813a4626699a02a984954c1bc4015cc243e2b0dab4a50c2c17ae5ca511292a06b5845021290be5dc32a141d403a6a3a8ee84822f6348cce18398291118a20c5932953927a703d6d1108d7d9ad525c08b762f15a742b951a842ab75e31c5edd7dc054fbf3a4588b40b77bbd99987e0d9bf7b56a0d717b359cf667fed68efd3fe1d04c10aa542a18160493b3391fe6bd70dbe6d2c78fbb47b662278769beed9ad511e2235ac4689f2fa575291197aaacf5f846637573cfbeb0b57d14faeb8ffbd46ddb58d10c904f2fdc36299d38d63d43022f8f33967e8c1d5e73857881c3ce5c054e2600e4c03d41f2477e755c9e579fdb99da371ffd0d0813a6a6cb2aae4d2d0d9978ee3a000a540cc7663070bd3fcb873eb8d8ee7e89ddb37b19f2b1354cde75815a61206788ed9ba4f4d767ed49b9d7308919b9ddb74f5f1f9ceed1b1c22ab33d4b0ef49c32a1188906b58b56285a861df49a561358b2c748a1a568770b6fa7508efdbeb18356c76e5a861f58adbeb70d1301d2c3a480dab546eaf93a561158bdbeb2451fcfac2e735caa53855e6541f2c6e15c22b955b8b82f07a45e3fa53b1a072c5ad53fc0bb384bb1629a4c8f94eb3a5870bd32ecb02a9607e3fcf89dc541fdad9f261e73c8782f621b3ef9c27eddc9982f9bd6737863e2805d335230533af762da216ae3514eeda55df72f2a4617d8648edaa38a1d6502b1766c19545f16ad7b0c65d7fbedaad92583dac1aeb082ba8bf13e26cacd51de2c29b8db57a5425e7101a1b9233bc8d3de5c99427b7afe00eeacfcf143537c5b13065b72957c6448693399902d7dc952d89d9b0985926a8facc6436d99276d98ae455c9c1d3aa9293c6f3aae45f8f9d5724a7aba807cfab9293da978fcfbbcca93e1febcfcfecd6dcabcf3d654b6c1407a561e799869d4b63b32f1004c72b54850eb280344a9ca0a94a789e453c83e433af4a2e0e957ed9c730a2fdbaf1f3c6552a4c230b8d1d0d241a3a199b8dd35226880a9308a6311b28854981d7d4f4fdc9abe1969c7dc9cc934ace59943a89789cb9182c3148acd3324627a385861469dab057cbf1c8c039666b015b621841c1a481d42eab8281ed4717f25382e952e69001af76f4868d4114834aabc74eab15bb3d863bbdd939c322fbaa3199a018463f76ce73c5cc318c74386d1d4e5b871d975902aa543bf4409be562b8e8a10887c8be606ec0f3ec1307b7988de8bc422c168bc249967561665a45108e0ef7f7dddc8884f087738c0ec7d6b04ca9b8e124c15942740b7289496a99b124864ec531492d5fdf97f759ea507373fbced9691f3fb24b1f685d985976998de2a8d8b258a609c4293d10ef3b63c98cdb0c26edb232d9ad5d9676d98c5bbb644cce19b8528776ca6c07bd9801e20405c56815413f58428313343b6f8c7abc478f16ee8a9195dc0ff0a0ce8c498ad9d11b3606e91c8ad1511c1fcb66c515fcc51a96654d30a13db0820a8e496a58f763b686551f5aac06036c1890a50135b61ab6dd99258bcf6dc2731acfb1908d55245f45f2819f8fe79afa039edfd9c26121fbe2a2cace5da5e1e1d68716c305b63c9c8767b3072b44ed82b979f5396927d8454bcb63921aaf4ea9ec4caa34f6abc720c5ec288ed96f48018f530abb81c76374f84caab23ecf8913d453657dca00551a5bc36e28ba210514764316d465c133e9134f4a6fc8d42a8dfdd7344e68703437fbb297d97ca8fd701932eec3bff387f759b30181c50938a5309b5abbec1330846385de9c5299cc914a637f731adbc705f338443ac00b883189d9624b62372106dcfedc31e0dcd18ce88d1bb208e2c7ed65801470fb1b8a82f88f37560010b6b749668ed1559fd39e2d76c02975c0eb8b41a238c0e7c60f38a50ff8d83ca765f539711cd11b20a09dd96208dcdea6068121cc80e7185d8c49ec466fd8f3dc98cc9106dccecedcb801cf8db3cc116cefd90593f6000b29f8c3f9ec02b6af4de0ca84f6008b28ae34ac5f6ca4da86edecc279058aa36f1fc3a8614a7c55888f60049e63b65517565ba034f615083260d0091508b3833a3ebb3225a037484069accc261344717c41fc86779943862cb37d303046510ca276d91dc52103b661eb03f0dcc2bc95450c43cc61f8f832c55fa4f84b9953a598628a98edfbac30fb53fedd206111b5e911ac9e5733b14cd094274f6ed3201726c5b3d7dc1a962b9483af535e73abb14179e35c63fb2a9467f00c1216e10ae575ca6b6c354bac4761758af7450aab52c06aeefdb088e230e1be0bea86a344b125d804b3ac53c4e8ec294471d00fa7c828e7db810ec74abb7088a880385770a8b40b8708870a4e118e151c239c2b3847384453bc16b935ca19c4abd529d71c7a72cd27b97605373796d659cffb3e100c3df203c13014c552288aa592c934964ca67124c9928e245996a7138a24e92d8170fda9e784328fa4b0741454888cac0c45d142499da48392fad64bba276927e58a1191141d17445272f548dfda3aa941f548ad512b150bae6f5d5bb1bb5abbadf5bcafb6b59ef77da0f78160188a6229144b259369244d234996e5e9842a4f289469a6523060a85a5a5c5c5e56f4e601d0a082a1d7a50098c2348c2cbd8e79a7ae96daefd4e70d9d7da94a11ae605a0333d31c787b1d36f65d86685ff63b788a03ffd2d84d7dd91fc1862160fb1c006c2910ec164c98761de5c021985ead9e9697d52eebd9e01083b1a361f4073f40ba0273c19912659a055bafab2bcf60eb057946f73068c35b0b7ade41d0f3444fcc44c0b192560443f08a1ef83dbc33df3903da87a00dc1d05a6b416bbd5bebdd999e6aef8cb5d6b3a0675bac9f16631091c8ebd223bbc76e3004fb9e48f6f7bdc1fefa6083ddffba5eecf66a77d732c7eb6eef23522175cb474aadb5d6dec6f6783bdab7ec6db56ebbcc318e3f8de790d3513d56471d750e4111b901b130658c9761ba8cef7494ca4ac33e15155551c34698551fe6d922a1561785645f1535b24ca6bf983e1e40a7a3324a675ffe1d9505b5ab5d47d60b5d7dc66d9adad8ea5c9d763a5be34f8f79ccfba4a1ced678b67c88f9e93f627eac565f9de3690a6d68915c60bc8cacef649d597421cfcc3afbcc3f81992dea1f927d7d4f1d8db4cff1cc26fec6f1a6bfbcbc902449b246d64b93d56d1a75ead287be599d3a17b2f4960eacbd2da435dbf5a1907acca071bc62bb3e5496867d40f8abe12f07493ef5d2bbcc09d2658e987a9fdda7ab92ceeb31126fbdf9544737fc7d3cdd960fa89fde0345fed4c31ed997bd49452547a52232af2a927121228ec1fa77159586c15c888861f87715d1d77acb5553a8acf5ef5b5d6591645cd6fb82b80fc3fa38963930270e9305c33a795aeaa098755a2ced22bf13f9158bfc47fe63c5b83b2296417e45ae645cab83e1ee8818868421df22c926a7c7b84d6ae2cde9ac13f9154992cf16c964ba8bcb6d99e3f2d192a697b27c31ddc6ba98c893597505feaebad9ea60a44caf63a8db537b2f931c41130aa961e37320459b685311e1efa24d5c821b126da213d13682393069b54926ea2715d10862619e8efa50aa93aa087fd62235acccb2ab07a1306ddb632bc3e63d8bedfade320524d1d6b0f1262c4c5007e678a290daf53da390308abc4a789f159c6d4621e1efe5cd64984514c77f2d2c9c4324dcae6ab21a85d4b0c69f3d398ee3fba46722829bbc8d2d49a4a3ac2a6a5816b2e73b19d4b0568fbb169c4724fc79a6677b8af6a5eb85f8bba7aa4442269a480974b180280aecc2b48a139cc0337ab0bdb53afbb278f4bc8e91a7e46975b0cac2d6ea589e1133db8fac6489851886451e1e6d60ae1e52296a97b5226ccfaa72edb2523aec535806c1f4ca2aa6f7d5ad612d8ac2358a49c75439fbb2a40ead1c14aba8982a22554ebc304b5a47edb20fb56066140e356463ad1a7dd9af6e396cad60c15282b88043a2712817523900f91c0ac100b5df90cf25ce2151016a34dc90cfa111b055e5c69c78295ee1564d562e583d416b18719fabdb11aee29718246c4f5e2023bf013262deb0fe7252956b8d8006c0fee5b642406b3c406b28719f2d720b33af6e7d2ae189e26ddcb7c9cbc95b136f5ece15937aae6e3c3077a158e680afb5d2e0d6448e0636186eb5ad674fad1c1af71b77e3f0161505b61fed452148b1b247aa28da65f3909be84931c5feeaf506b147b851b876592728a163d266a27028a186d1e3dcaaadce26a4908d91a7eaa6520905c1b4998dc2d99745096115ae6141ec1136bdf4d17455b8abba1d314dcfaadb88c2996ed3aa9ed58dbcf7a211b3fce8911e118fd58d36ac9543e33e73d5a5ba487591ea22d545aa8b30d58598ea02c6535d846d3deffb3e1004c1300cc3501445511451cf15673e53a4d4b30d18c655cf3a5a9e89049d9e9930c2fd92cb33132571759b2e75562b266c328e7ea837e4c717b2963cc8973721dfe4858920dce4ad37f552ec72f34ae8c632aa48a99b63c8e8913184ed4f37af74423e6c7a974ad50a87ed57371b1b6f13f2a6cba463e4ed5537f2a29cf4cb52acba75915331e918bd41e14410982d9b8da170b455b3b1d58dbeec0dd7b00ba65504e1099c51386c5737dccfaa1c46316997155ba2d8aab58e1cc1523a564fd04ad2304a051010b6281c1319706e05e1fad6032e24c1b925e455518220e0dc7ad2aa285cc3328a097662774ceaeda10351b4eb62eb88d9d20a3a5bb576d94731b3ddd5b0bddd7940edeab13bfb9ad15362a212298131f848e1228a16c4ba062ac6faf6ea158790148ea0bbadcde20463952c86401004c3308b2cae28c9209c9250250b2f30ab5d55b2d8428aec000c5309502814ca34ada8a0e565c8c5a5ca0b0c4cab5869c2ca0a1656e4cbcbcbcb6a55c50ace05d32a44008a51362103f5825609073032a0c090328a8981691522783183acb7083f9875b2de22a000b3c87a63943a184f2f30eb3f4a29a53b8f7ade582bf8f13ba55ed9b971f43e30144b26d1b4ab42babe19d920ef0343b114968cbc0f0c4550f43e30fc421de881279fb6dd22cdedbc775bd4c9a78a98524a4b2318690c19e6650b33b370dbab1a6683f733078220789aeddac2ccdead61aaf747d565b1aebacbc63cd4298c1ccec65a70f6d562aa2597cdef34dbd52c9baa2575e24e38dc2d39d5bd81b9adef302772d3baadef309c48cb07ef30bc8777185a3d6038cc3904e6301cb5bb2d3df6d52f256b49bb58b77a3356c1b2a540d2966be9a137faa9db02d40273513bfbeab7ae8793e1e15eac6082b76f184a1e3078aa9d8dc1701034419b7d758c9d8dc1bcc3339bb8a5e5d4c65c7fc92469ebefab338b1febfb49b4e5705f75b35783e13c552db5a3969edc12942d12cec13a3d26edeaab4eea0a8f62c1846f855ef89739300df358ff77557771f9387ef9fbf7bdc545750b82210c1857874a71cb57e67c34c7a455b65882bfbf6c71047f4ffd507df591eac082bfa7ae8ce35849d6ad614ffd539d59c6c187e50e2fffae321fe3e0c9b29ddf094475f0aabbe480faf7a974ea17704bf66ab8e5fceea27a78049887719be64175babcf4b1922ef73be50dec7af8ce168c7f57dde5e06dc178cbc1a36e0bc6d9827a0b78d5d77293cabc4d9fce95132678d2b207f3aa138879182790d555f7bb1934bf7af8afd4c15e75afcc61755219a7108b5f0e5e75e618a7c73a85589c3a785bee90facb992b4efdbb998996ab3eaa6ecbad2832bcf6620d8b17f06a582c3faa607c2e6fb92a75669a6d39bd76a9ee02e3cce085a83211fcb16eb7767d6716626f97653b627ecf2cd692d3cbf2a9d46d99537e94a1bacb6df9d864cb75392d73b8b8dcd4615c13e5e2d272a24e20e573285328d569a972b98cd50a5c32ea2f6f693961fce528fbd3e9aaebc0387363185fdde5663108bbbca52575192b27c8bbdcd50a4caf8653a78bcb336973b92f2d37a73e7ed5f23e772a461dc6a5f8e5e620e1512710950ef6aa9fded2d2d272d5cd44b04aa5bae65b54379f8e0122b8e5a891ba5c75f306762f573055aa96d73247cb61b4a86e4e9d3c8c4bcb1c990709e7f0a9330709cd3313c1a78acb6340c78384c39b6edec00e8767d91a069e3c6861c4ea5aee2082c56aadfdf77d16e6f6127385f18998a456abd9ae3498e9b14658989fe7799ef7cd18a934f7bb77c396f7991a9e19c2e2c13b03e489dfbd7bde4c6da6f6d9c67bd77ef6be76edf23c100b93e2ef9666e8b9994812e1176a81cb01b4d76bd9cfd0836710c2afa44af3e1b17a978b24ddb00f4631f53eef74869e767da3f52cb5a7ebd9132955af0aa4b5473cac9109cc7e2d7de81b6b2426e958c8850e0b529630a9278b4994f092f4cde9d5c02a9839064c63b046f665cf231ba33607663d2d7384470d9241dd560a6349694da2a2065530abd6da4d8513b034a654d4808ab532d21832bda207db7b1fbbd6dadd5fadb5d65a2d17dfa7aba758beeff34050f448bb83f9592dac16183324c310e667b5b05a604c5114c9fa793d31b85c87394c0cac5a6bad15044d4130b388c31eb38fccfa32a73fd64f2418846e41a1582da3699aa9540a8657ab5d6378d9a3405884eb09c4bbf8d1bbe2475aea88f7ded77b066eae38031f6d26ab6119306da60d086636719426314e81f4052ca47560e13e4d1cbd510408a8c8bf0bf260ca141004691f4d06198e01998dc8fb8a0001d16645be6f269bd16a37d1c4419b4d8992832738c1cfd725e8245f97a04dd026b8b477924bb395e0a3813fb42ac512704aeca78fb4086e1fc3c59c34ac4170fb9850c33a04b78f0d35ac5ef124d7b01ec11993d2b00e3a635462450d6b129c312b0d6b2467ec4a07a527a844ccd47655d03aa66644000000025315003030180c8804a3d158a04951acf714800b8ba05a765219077212831482c61800060000000080000804691b36ed7b9704defb5c00b5ea6c289128753ceb476fb820abda77d2539b0e1d8e189c7ac3a9d184f91dc676443e209e624976e0682ee7d82c7e8f16d659516e2dd3b6197ca70e2735534ffa761abf490fe0a0a83cd7c018868279357219bd4d12ec9dc1628aafa483f89dabc9f9057ebf0166fd9a27e6094999c6b29f231b9e6aa820b149883b84c3e785bd3b35bd4fee2099d7a74627a5907d8774c1a6098252eee28c7af09836e76a5184453793ecb6885384d0ec352de0a74aed4d33f72169c67db1fa5a92c764e507efc0cac60c1e5d9a2940c0da9456d39e9ef99844ecb0ec1573b9ea4fcb878c2f3393df8a09f6bde9dcbe3e0953d981d21483785307fb484e10072f72cef5113e58cddda1ce4c7401d45f00c6dc891fb9f7672b97675c905de211c553c855f69a4defbc24e60e362db4e66ea05bb97b67c74a2409b695d6dd53300cb8f40f4504c60aa42ed59b4acf21aba1d3630630519ba832a6e18de084db372a845475d3cac10cc6184e880db146a96ac635832994b98ce846ccdc81164440f71de1527e7e543921782ef35ca9e60e9aded002f338a879576dc6cb0ed40dcf35f0f7f9e85da223c7489b3b501b495a79f62927eba5ce08f8599bd3729d11197d9cae9c5c2e30a68c3fd97f05045c41c42518705ba7de4513c49deac971b0e5874c1fac8795aba4c4048991bf79a823a61c7efb9c7d7c9d9806203919a7d1947f4662a47f4b973517cf146f19646ec3efe66c8b9f3907dbad4e6f1e2ce26c6b409cb7a7d5d8425ff40900f5f1ca18c7edd68c9eeb287270baa41165e2cb34320db858a8e5ef2584621a6b6c217c9685238873195282f7eb8d122cc277b1ba98aedfbf6d7f426f52b79e44e215fd0e6be92792518e89621bcd0b5bb7852e6eef474c4c3609d615d32c94c3612202a1be7e7b1d5af664824e20861914f89135ac9167a567dcda4f670ddf8467f24a811503510684e41beeaf2473a186c62c4dcce4c1105e3461be6e7469b22b1291522781b686f2b3830dd19b7fae50021b4184d2d5086030547813622b12443142ea4bc4d02e1cf58148b57129dfdc6e27196533aa3e34ff935135188aedd3f5de67c435019097ca595ca8e6a2611ad82bdc08be4feb5e2b9e8c690652d25066a0a707ee13d854601937fbd50da279672dd984b6b215d7b819edf7651a44fc2d74c53052b95f31919c8f722532d5f1964d4ba102ec0b01bf10bc5e30db7bafac13a0f3a24a082be27a1b6480213db56950dc8a41f3422470fa4e46636c1b545cf660252aeb1c34a3126f410cd7f3b2ee1b1afbb8dde32e1036ee578341effc0153959d060b6a41d32b4c920505ce6182405d0b11b16a5790fcc78c7e41164930120a9be45141c25b5adb13e0bc3887183e4ace5d48590a3920e22438ca1ff5297aa36e0522f57d5668d7014152007bf725eada45661923720dabe8f8889daad6144fc6ce9c345a6ae681487f258e5b9bc7e4c2abe4d151463b3f15f7ed45b76b384963c6bc29d47044bed8033662e58b5c1ba4b8357a3655a278049247ff8523f6c2ae48b4c5a2407a9a2db2de354a93d2a75c0948ac9cd287c81c72d763b42b36f476ae215c9beb205d78daef6812cca606c8419ec040945a999f905f47d11b0101c9404ea4e4fd9fe428e2212ff8f1b3e8528b9a440558b44dcb90054246d6689e68c278b9abbcd4fb2904ffba4f67ad70f6edc82a42980cd560e2cf1fc752ddb4e6a2cfa267e8517b4892c24d51e1382f93c9d06e3ebf718edc0abae911d794f81f02d09f49f68ac475a62b970ad3f6d3e3fc4b4bd99477ba34f4d092452846c4d7087401254382ab8e3ed83b0823a6674fd66614f66f93696b7d60e2b554dfb99886a362b1e95964b157a0f8e325a3e2d42a6f2d571714a955b092c6220c89b313b8eebeb2e2a6eab03f3371c7b117dc8db1bb840aa735c21f4bb94aa7c5d09c14ccd309ed2141c4e25abdb5893bf20885acff8744bf3f000cc177b7b2d5ec9b64e872dae9875e53ce62145673c1fa4cf239a72285ccddeda0201dd96e295889e840e3845451e9095128aa424a4e77e5d118b0900a78f9efc3830b9f9e015b818da823df030f992ea81c5a0d96832bdccc950b3694a17891d4533b06ab4dbbe71ddf73c16c35c099e652f1e45385e44eae0a066132beb5bf59cb1c5d92fd49446bd22d2475f3ebbc2b3934b6063997480f82c80a7dcf95d3fafa62adabe39f20079758a01da8c1b2a7df7b4321569067c6aa8e198a54118b0c1d054106d603097352468d5361da474c1f390a7af3e2265a1101bb30cd89e1c38a62a9e966d6cfa8098d9b8e76a6aa671214520114809844b3424de672c1b606eeb9f14596576f3a6d42bfd5703393206f87b7d11c1925970e70a0836dd95dc0bf8132c573da29a6ad6862c6f919cd1ec7bf0eca9097bbcf62f3aa78921b5cbe46bca61c58c959667efc9daecbdbd71c36f297f0b4873d1101d2848db8698f76da73109de4d7406a172411fe4ded13aa9d96e88700cfda9d91d6ee045b3bd09dd02cfeb54f086c879862d92382898cfad490b0c9f6a6a0276a94ed8f7ca48346b299410330c312fda8b93a082eaad9e9b8815ffa45879c180b4dca1afffdb883bbd9fe572d1b4edd5efb40401d402d6231097082ea347697ea07d9d39dcdd0dc7282b3c5a943ad78257f0d00c6121ce367eedc08f321cf2db3b29ce2378e66185b0160920a06fffd2b334f8005634dbfdef20787df363991e4b2e11f021705e7a1d1f4c29b5e43d20fd37192efde294316e4851f12f6136ad95c4f4ad0987979aff7a7b4253996f7b8cbbd5e36731b6b0431af31fd7585dd474d792686156088d4894a7752e3ae504c8cd39005759808d38694ca5cbcad914c2b7feadc205aa33da6455f724475618fc1301931ec2fe275d56df81b5985f3690d9cd240039b8cfa3ff3cd7376a3f028d12547671588d0a4c84051174a8cad8c3881a2f313ad2c4467136bb0dfc751b675262ed09891871684f5fb71eadcac7c26b46a39d24a4b466f320166a4e31fc56e8670d071124ad331d84fd0a846c5917187037504fac4410618957f68aa91b1953d78f48c412fef194eb30797827b36279c37b63c95d916f1d9bbc5c16aebcc0dea22e61e4db497f25af194e71ef94475d13b8bdb26c9db3f3dadcd425a31a8dd13888e92c14ba345aea70c85c95273f74f174dc5d16c437172c456ecd50af8c54c3f794e6e36553f0476e4998323df27d192a83d1c950121ae9a50f0a77d69c04978eff068558caf195f520d26d5e2c3d7f2432c9536924095fd2c14244c93efd22ebe1ebc8f62eaa6209bce72f2a4bb7d207bd4921dcb2ee6e35d8cdd4b19d31b3db0f0c2930d8848495877d2be942cbb363e9fb95fd9609fc415114c7442433b6f2141ca7931d693f5b5e4aaaa3c850b00f3d9784909a950a1730c11650f09886838e37356f3e8885efe7871a1b4bc6ab60416a2035d832e27cc0a7465179c2a1f6c7304e5ef0cac8f89afa7d08244afff1338e2c88cbb45f6e38cdb7193d747addf149e48429f91520213ab47974bb25d81c136dbbb5e6686c3265f7b79bda5c1ada6b1a4c16709cb7c5366b09648934ae1dd92fb3d60fa675867e83718b5771b2af2a2ecbf86f526f8e964bf72f48adb82a051e38c51df0ca4ac507133b29286b9c32b3e7b488805038052077d2a7a513f7de397838c84fd8b6ce82f1e3df31f32a8c49bb1f94458f0cbd312a657c6624ed4caea21af0ed84fd3ceff06225cc4fe4fa416839631f3599efbb838673325e2fe0d7245d0edb12b23d0eb048d92e31d919ab41b16430225d35620e721024f7b35f67cc8554b164eddbf16b2eaca8c447bed8307f019f1b1232e5848e06d82e91992d103cecca351e45c3fc8f628a1292a6d579055e3f46ef6248cc20542de75a2d9c4924eccefcbb6efae3f6e2d6a546652baa0c8f664c11bf0264320a1869c1c8185c3fd3bd6c466869165a82cb79d82c1ea91de05b49fcf2f717fd859d1bbe4b19ae02e94fed99661739696917a593f4dba2a89314939486765aa7787d8e0775fccfe1520f7c40638ea135f650e3a6fd4b316f49dee294f59c2d6a4b0c70e8aec7d96764dc0fcdb3092f71182519e7fb39c8acce8a8e89ec3dce86331666c5d4e38775f8e5ee6a5ca5003cc16a1f4092cce748c33bf07932a3633fbe5eedf5f745afabb6b44b99d283225c29c38baa917a48f1e1954744726c225eb5b20e70a5474b6a60fbf48258613a4196170bb7f50db590410e4657d8dbf46f801b086403ecc2e60f0ba1c126138f271516b3e44d38a14861b81126aacfbc9076f36b303476eb300ec431dc5ef2b9623f72e80473e0fc696c7405d04fbfe8fab6350cce110dc1d6c711a83e0599fd0c6a2519cef7d8d1a617bae25133103cd8295553edda57c5e100e91cba3e519f03024f5842db5502ed56bd9d15e48062be06e90de627a9db23e78eb94ed5d364edd0b1acc3dbe737dfd3ce4907a913e143d2817ffb3253da818343dcc9356aad7cafe23b2ddf7c8f3955d31d3bae25e9c3260a7f800bcc87a344346aa8649ce0509506564b65a46057c5750c33cb6ea546a31410534eef72df2300636d34b14dcbf051a5494ee7751721c61bd385cd5d0cd281a0045478a40d14c9fc4ca051b9511098666dcade98fb1e91ca6c32526ae5a3e9f69e9ff65b862da4dae4289e2b9658a80cc1027236628bf06d010d0e8adccf85bc7770ccde91edbd9bc977766dedc447e829c599fa2edc8f81795151ccc68650c64b60bbb88da923772ca795cda2bb52e3455e0281d634c942b12c933dd2eed3862a171e3fe22933e1a4e2ff3bcdec3c814f7d1f0d648fe429b2bea94793378eb5db9e9d6d376dc2ec101d587fd2236c6b6aefbf4622189cf9313245537df5a2f1df9f7c2a34aafba87a34c02c4e6940ebad4fecedf59612c83d587761fa3f2608cd8c0f2aab925fd54b7ff1c8a966b3d94bcf6ae43f8a7c01485386e8d473ba220eddd91aed4594c4957fbe3e26e21f3917667eb0060d2071ed22a7dbbe96f52705907f84a1237c318fa48987a1305604dc5f2b8fedae228cdcd3fbea25a15a66e83181de96e54866fef2586952c6a6161d785c0d68461a811c3521b81b1a09638ee4da91b5673752b1d74f8d520716b6e2828bd12a93f1591ba46b8a62a1e10316dfbf0244ade78b57041aea6214f02b1add3c206ec86a2c246b3d30c75945de6404c809dc391a07a474a2a8596c8d3c304af53f359688af1f61a54754c9073dac19934ac6dfe952926d2a484c9df4483525974f42043942a374476a7087160b914c5576a8e3b7b5637d53549535f8dea4fde566bedeeb43c162eb566a2ec053f58eca6a08c197ccbdd5b7c593c883a4ce6ad9cb5e01723bec0c0d778ecbc253c39d2421733e50447ea56f0bb911e84bdbbd75017c2bc952305bf283d0c2c7e4a01b6d9391d4eb364b01673821f4d53bc3e199ea0a5f580bd4efe62b0f185c8924d530d4a5277ab99ac4797d256f6e4858d1602a91ed2c4b05911dad3776b82ec654fbcdaea901c9e2c5795d423a187c5077e681d6c57e1fcd6339525926809e3bc65f5692bd7a43b4262448e8f1d793dd9d196b083acf47b079ebf4705e1151a921b04b9ac9f020d3b96019774d4b3846053b0aeaf06e63c4d52a87eff35ef624043d1fd48c7c56c26881daf1ae793f4b430e3de2f62467c9dc07e34e3484d14006270b0bd3509cad87a16b6067709621512175a73215208f3df4dd06a12f9566fdeb845e700a6e9e4f69723931f1d622c6543e25fab85b593470c714a281004282c49c1cc14d0c66126c61f5c7b031f2767954db3c5e4538a5531d473833c9e5a56dd61c95ed5f594b5c9b1f0249a0b426a69c2ac559bc59c0ad5606393ad6a3d97f21214def34ff8a6d688acf49e147968c0d8316703e011dfd524302faab3e9084571df7beb8c78f8407048a1983d1fe181bb017515e582d30881e2ad6ee20b175ff0adf8da4c0351d61105f2cdd4b6e06b5a88fa9ac9a40c335706767f79e298083c925249725bf9fb52ddc0822ca772425d311496c19c28333cefa48c5aa50676e4cb742196a2f64593513cc224bdab7d526ab8fe57ba564ef77bbe84d670447307a46a989c306751ecab90a83159853cd6b0bd5bc3383bcd3c0004cdbdda6471b6718b37e5675642d795ac3dacbecc8413516e4fb302651c67f10a58626473dfbdf75db6a24bc925763a11f3d6d0a850d24126cfa4479bbbe7905871d88a95435066eea87e8d6b37e75a3ab011eb1400796d95ec9cb972b7bae67ae75f4777f823a046650d6b7e8e1f26237a7d2119983ea4817c87aa5360562b9e3c8b584bd2d06825dcc568fc5eeb8c86f29ced7f95391bbe845747b8d49ec2c4312113a7902c40a79cff1e17afaffdd657bc6f46fcb93f6c803dca39f63eadba4b9b15b5243706c3a2cce19a95b63b07cd7777d954816b567bcb90fdd1aff934d77b50b23c852af328b6ce16432dceac08986b2baf01fd32c1f269d1f669c8ad32c6abf89c546f16a25d645b7cfc390751b487f5b61e3e143025e1bec86bf88f0e10c7f2916d45fd1857283f056d7b2b4a5dd2be82dc2dfe37f8ebe8ceaa5ff93ab2a38b8659458691c53a6dcc44078ed4f8726d9de2fe5cd24250cbd186f0571bc7f1486112852c4d04246062f3d0bcb042a7e8ce213e471c49a5a9e2d6560a0960dc0120a7d98d65d80158c92411151a5a69e2bf77eaac1ccf21a836bcf4df889015744d5d8b1d5dc47004baf0b31da9867970d56e7225f1c5705736773d3921c6812990f83edf5f9a4adae78c1ffaf00dd749cd45674559640d5a6c4567e56f6ac7d6292a2a9d9b4c2f6a00981bf4e01626d524d05132a7bd13be558d0861bc2ede1fed2b6977038ab4d0673e941102a60ee08e3796bcc0e8d88c5569703691d08da5c9167bed7dc67984567df2fa557d44cf69bd4107765d480b665155a2e2de0d8fd159ad3120ad56ac25cd0bc55052ded9524c7dd632a2fad9188a100ca13c72389c8af011b869fd6a29375ca5561e018a3db6bff2a308d7625c79d904210435ff83fbb923a0aa717340a222d33b6e29195898d80806f2e0a895feb38ee93921a830c0982063c9dc6983d91e8f772fd82c69cc266c7a1282c2385f3be5e5f134df300d90f734662c8df123a26c2dcf71845e4770e4493d23788f96d5c03c80dcbe3035bbcaea9bd9dede6ab5b4831ab7f1d5b93f7f2ba2732e92ea1993f04da29aa21fee59ae26d2a89c1e38f6ed103a53652ba733eabdfd21382b797205bd818d61e785bcafe47df1aa7f4c44189230934b26ea48b78a0ec7a22c04163007377ab15357947958a944836efb63619d2e0bf412426aae78d7dc5c2edf697cd6a860800866c1e96d76b52380976ea46b2a577ea167695bb7b891785f3d481e3900871e11db13e861fee670e845a5674fd6bc23cc9afeb4833913ebe74ed89172a5ae1dc37fce7db4bf2027b01cb34e35e75ffac7809eaf9d7867f851ca0c5f1f76c36f4f016fc083da67ab06620f696b9eb1ab6b87056cef9bfcc3ceafe0ff7f8dc46f70612313a34d761335a8fdf06be80f1b20fa2abe76d2f20f76bcebb8f2528670acdd2ebad559ff5027787a9846df6a329086fcc67b781ea87a0c04e8ec4055611137c15036a238d4a4d0fd8a0f13258d570d4c60009b022d11eb114ac9a86b592f8ee9c902644d6c9c7941f2618d307f82d4ecc51d1b1357fbd6da79aa7672702c8702f49f6eedea9ba1e775f6a1913d5c5cc3dd1a1625682adee607725710fdb23ad1dad2ed55f75eafc13143702c26e27cf487ed8bc106d05b88f38b43f7bc301ab0e0539c6562191a73d3f3cfb54afaa7f3fffe6479f17c98dbf7948082e285d3bd496202b1aef716bad6c1023bf184f9806d14a22c08c2179a9a381ce1b3dd5118292beaecb6c2c45a3d20a5246e6065f0f87b66b8363e399ff9477a3b483105056f85493e6e8d97fcda8184b782619aaeb96b4f668e9890e310956fe3bbcce699cce88f5627462098015d15e5e2e21daafd1dc61ae051addefd863b498f5d065476a5628e2165e3523290e8cd98fec2e9694b6a2da63e6b5f4bd17ffef86c18a065dc1bcfd38bd2c44a5aa371292fa45b0991baebe753782b1389600f294d6f9483fc9ff910f51e8c850a152151f8b2b578dd927b51d345af13f60d8e14251704360e5e05beff0aa27c3529e24f6af68d7e7711c5600821f0ff1356e72e3215eb25432b07b3096f4662b53f00c220c7a202a27921b1e20680b77049ec74440da9288fada45aa71a3323653e33147730a74e57b82587c02c9de6952bd27def6ea21310f5e6ac052df6830a99b6120d7accfeca0411a8a0d686930f32a8c7dc11ba279d04e0ebbc7c1346d2846c0f68c5c32a7615ca9fc98ecb1cb8b06006d1cc73fb24fb9ce31e72bf6a4224c5c18ab9e359d9de6336410b79ba555461aa4a12b2549c20038f2ac15e323c3a90cf79682460463082df7469caf7c359c94b61514b43d7d3d6b1502ab11bc7b7c5798e31c539a85b893f68e63f4040da78140d37ba3fd9cfabfa01e1b597716088b4d21fd14a215b23cb2f8d53d699679557a1bc43000b52c50b1f5744c0e3b21aa9060e90eaf91a472a70b27179edb972ea88c78fea6d015c4dc52f9c6b286e8937d4f5d3c1aeec25019ced51508547b310cd8f761be46078fd6073c30aee3da3145b7d7775ec95fbfc9a4bd27e73b1a71929203ee7924a12a4ca4dab2a55d6123ba3e82947c1d1884a7505cf9c5c28efa4bf5e888f4cd9b04043aec37728ef37bf71384c1d50ac4cb729f586862b7fa0b06e33fc3b55566a035d833205514c575640f11be5b63bbf2a7a850238b45e8536ec6ac38026cfa977a3b867aeee106b0de2e5b21961fbf005c45598793ac9019435209fc4ccf9881900641adf9829f253f13c3b876f089bc26fd68f0045ef550675ede7d6e9016d6973ca1c75a1a72d10b680fbcf7f5073a64a0f54044755b3406f8140235d0f8131eac3534ab3ea4a9245ae1d85f6a086c70446ee88440cad82dbb433c21aa158886abcf9715d9afa0c81a4cec1c3e638de2a3ff5752817aae7f1ba6dad4c2308dd04249a054459ebf0c0d2333370bd1398f0fbe95433e75b621a6e019845cc761aeb38d811cebb61f5ecde07b65cfc2f59fc41d18d941026b80ebcff03ea376860d4f239240ff337d292ef3952668ceca0594b48f1b78e7492cf63e69eadde2fe03880722dff3895df84bb81ffe83cee635d4c8235b31418e4db20b6d397dd4d3b226ee90db9404e9015ebc703c441760538efce5f56dd66fa093b979413bca7885404c98da50437482d027a37df3eb52c982c879073d51185ea706e4ee279fafe86a1b3141f9a083fdba65d84b4d2c67ab458a21ec99fd23e126acb09eaaf41c9a626bb4610f886b9516a015caf4e3a869bd113a7897284b9a5622ffefaded0f272bc17543f92156d0342e0608dca03741cec3215cdd791b7c114c8d6be3701a6f335909db5c41f19983daf83972d8428e890d3a63f7691e6c1615ff452e858f0870d6c7d7187ebd155c60f649bb4e2e01dffbd4ec8f6bcd4836bac7b653bdcfb07db2c1bc6cd062fbc2df8e770edb241597daa3a13657d223feae71e3a264a82edf4acf028acfe8c63c9a00869549eede81f2966084e51b5906afe1c51c8637a59ccaa4186a234735575e9ecae952a85cc467cf4a59f780f181fcc3a86126b42bfdeea36c0247a5a83ffbe10066f24dfcd4b46b21708cbe83b8634673283e1f4ba04a6caf9cff7b9ff825231ce902b93a85e5da677a5c0b6295ca4201c71eeecd989dadb7d55750e77cad11d527c7ce9a219f1bd92cf622a19df272a8dad2e0fc10a7ff2f1af9cd2cf02378d60dad188a3e5a5db64e036d5348c8930fc8ae606fa35b0f93844d960861699eca7772217543762b9e8ac06df38b1307971724a5ab47ea1242dd37c2246ea8810d7b06a8fe343a89f3b058cf813171d732a3a38ed1739eae69d06a182c654bed3677176be4c71c6fac49937826e6d800e911d1689699aa649ac18e1831cc705fc066da34da11243526aa26bb71f3d298a6b0dbcce12d577c617d85bd24fb1eb74e88cd68c99eeb8b597c85f5e892f3cf33bf48ad76c8620ea6b62f679650656db8de58b03c522b2ff05bb09e222d5117e41803d92aab384bb04b7de1f38704277b1a01fe36ace6bc26dce8fe008fe7949886414b25e03fe8576f20acfa479a8f5d9375e23b259df32c13c161372ab9d13cb23488a74d33c8a04557caa1a1fe89c4ac596a9ecc8ca9f17af2a7be429dad4085a506b7878cb526aeb151eec4552463579085d876bce9204bd7e850df20605a03cae56308d92877d26489c500afde6683b2d3e4120f55e09eec1201d271ca50ea2c1419cd3497f17276a89c2d2d42cbe11dced6bf5b39c88c5464065260d9e169d0f6fa0ac97b1b924542cbc49ff6b80af875d52695888f407c4c6c02a983cdbb13e29a0ca7e284083971e19d1c0d23af4503fd9d3caeb21683a3eb1bc7baa544c5aeed50903d58c970f203fc19dcb270f07e285c681299092ed1139afe19c5799238e36627c6924dca1828687c5ed6f47c21b5ec052b5a48cfe0f4d5c4001b30c205df97606ce31769e892cec119c6207b190a9cf437b8703c58d9f950834fe3f8004e145ce76b2fd62d839d0fbc0205cb235d5ab8ea2cc5fb7e6a853dae5705876ea21176214b7007218cabeda9b3c71bc2c75d7640bf31afe4d086658f56567eec9c795b8bb828015f92c429d961a7b2f9d6a8e7a29fa9da32afaa9af265f380745716ab0eebca7baa84a8416d0d41c1fdf518abc107741f086895e8247e05ecf4aaa19c43f185e59338f7a2620b67a155800dcbbcf295d9f446b306d1d5f26e46664b8bf19b9257f3f854a255b5fde195cd6129c1611b07caae5c10e984d691448f949f3d0445cf929f0d3a5d9433d2023db68c627c31d5fd552c5286ea6c748e8608212b0f00a05ffc1b2570803900fa6b182b78e4a665de7b0dac46532edd27ab9d06e31621a74138d4ffb121ba314711a10dbca0450a8650870a8cedc17da45f3b13549d983e0432f94f46f56958fb1077d516b5455e2a691bdc9df8f9080c565bc8a0a84ea2ce5d57c806afa62c0c34a800f448373829060e93961eca3487a6cf82dfc10ebfa771db20489dc4add3c1dfd586ff873e44e774bd5ec25d5b53c13ae8fca612134c792e30a0dde57ce02f6a3a37639df789ade9c6126cd19ddcd9cc1cc73a6b9079a518d0f5246b3f4da545394949b2e7e937c32f917c5ba68a61c6492d2df839ddcee45337e3785e9452206d2a4cab494e317f1719ad82276e1d5370e65e7e8ab88673eed2a8d8d286222bb8df93715f154a68654b388d56ffcd06f9b4b33372602973144e00ea8f4cd23da88c5159849463071fc63cbf75f3a19cfc7e4552b2ef16f9144f4d60c8e7c51b982d4a8c09153d7f2453d7ad6252d0fbc121c388ee4c0e0662549ec2d4935c96525e415a67b90182e7771a4e8844f60594500dfdae81c00f119ce3a4088a89d09c08d7070e1326a5d9426789dd72cb3960e0d319af65d00c7b0361fb87bfded26554b9f0fb36b58923e4f57fc23d7d9ebe413fc28d90679fb7dea61e2c7f80687fd8673d8bb6780a8948674cdc7b0e7d7536babfe5c48b9ebc7555208dd35ec934ebd3cf34684bbb3af65e17ab9dbbc0941a57bd2ca83b818691d61ab82719f5dcef1b7b967a487dc63ed5db0c2d4a46d476a3ade1c37336b59b812dfad00b4f2ed7d76a09f755490baa9faac23c11d29881f56ad0e088c4e984eef06ac77ec59c129bd9fa1b4ffc1bca27cd610235a66aa3a363d2b976f543e38d19049e0e0ffea9f861686b9285c422d5ae8f11cd53abed3c57936b5a91f2931c145cc0f43e49f10dbfcbb7dced21194fd1a39bec16fed28e83981123f96465636db4dd9ee8e9e9130e65fc74215b1d9eb563800f471abefc490773f4ad5b4f9780371caebea301cb96dc858ccfa537277e8b7f4a8ec4b706c0ab913d423356f04c2471dc6dcf8f4fa4d3381805d8ba7991bbdb11df7df51bb0f51b5470166253f0b62e70a8d7dccc865ad13fbc8c8b4ba0904c8038be972c323a8b43f91d6b044c9910a732f14aa162919395d8e459a4e9a079f8dcbc03e0c4fc3a03e2788537bbc1babe6715debd0eea341a23dff6f3e2d2043acf0bc803b9fa9ffc1271de23658dda238b2e0e2847dea16fb5cb0b7a8aa5c9d7f4878c7e50832cd6e559f040c27a14b355fbffbb9f279790955f8c17a889f83a6ae176f81557f71781a73277f7b20affe050e44bc1f400b301dc880b61627618b9800b0f7b46a2dfb27604e5b1a32a2c3506eba42a7a54ce5d1009a4e6ce6b2bfc9a3cbdd3691b5311609d82394333162e7da9cb55cac8b784cda7b6e4ab1d0f70d62073ed0168bf6818fe82451f70a4c56dd5ae053c912445424866372e4b8d1a6a451189153dae95a419ef21e39d06ea6e210f0989b9a0b021ad1cc1c074d76bf8c5ed40c57fe730447fdee8734982b98f432aa3d8c63c6fbfd9c1c88a665b0079d01a8df3189232e6464ecb7484148e43ab3c9c44a7b6fff487ab812a687e2408a13324bd982df5d6e740abadec8e1ea25100aac46b04c9c0f952ee5691d516e114bdf12f5f2a1d41ae6806a7e38641f3a4883a641d239a44d2ac0a597dd30e6e8330563d3dc176d0739580c52a09ff22c62d400ca4caceed0e30b41cccb567a715faeb9c0261685d1c1a83e4498104f3dfa57c70d6f1b2ecdb4f76678c8204217b0d2fd4c01b1844b88b7b458f280ba945b0612df085589eda5053b9d82f60ba0f56bcea1e1265f457c0f18a2359e89324c18982343c665de1d192b8f3fecb2416b1357b35464ec96a74978fbc284b39273023ebc0c71bf0cdcf5834836380234393d4eaf612bd092b6ed340f343a09f5cf6860826b9e8a3a1b2bdb3d018d64961442c414de92c1c92cefdc25ffe77eb55277e39ee0400e01a557cd176860d716aa067879f053b56e79955c5b46ac59a0758cd094899cd199b91eb47be339612cb0b5a7307c63bf0c5d2b1c66f3b9c94df0cb476cdadb2f26ba36e33389c6a091bd381a1e48a9ce49445f9be72a3e52890a9c844d579823f8e27c924019153df8494c9e112e24714cef9a891505bb4622a00d2bc9b58e3fa1538c829967695050b85ebe17018da638c3fd757b982bd5f29230a002ca04f1b4f1bc5626683763226580d5fbd3e8ba5268528b6bc0436ab8c955720688affa1bec580f1a1dd820a03ffc280af43b14f0f9c40e17fcedcbb541b06188787c165afd9d5f7b38a095167c4910063e16c377e32fdbb37af93650d3a8892678694f75b34bb6b241604cb992e1414aa3f3dcd9063adc8f6e94c40df288e95770f1818a9f38cfb9d4043534edd5b1277881895d343c76579c518a40570d96a9e78b3194637b50e81103a60fbabe82100b02022da5b8a8566eacb0942861a5f71183a85d1200b4d86896b7ca491b1b17fe85a79805fe6715b84d9bf452c9dd4fc859455e61e702c6cd30dc94ba7335617c3e6bfec8720fa6c64873310e0750adb3a4e3d3b5baef7c7a1e113298df484c3cf18bf0c5645afb7648b1c2d56f9ec7a6b84282d508a848fc8b226de1e70fa5828d0650881d979e17da06fe6c2001996715ef11c8f230bc59bb047980265e2e978c3bcbf2078866d4bba26c79c0403976aa0fb40a5d6ad28a52986232be0b55fb5787a47f4d80de8b870da143461abe8c55a044c00924ba7e0ff4a76cde25cb650453bfb7b5464047ae36add926c299fa4395a844f94eeb234f481ae5459c7c72e122253e265429dbb67632f365f51a8e1d596b9a465e644488d15838715ecdfc2aab73bd4746574bc4c451cbd326c816414432310e0291b8443b853f6663817748da4dbb3916ae3794831e8cd290c98776fbd0b1aee2e61c5fda6ef75233bf365fc328c3303a1a1e25e4d31b28b42b36d30dbbfd1bde98c9afd5fb35123c35318f89038859985ea148249b5c53c6ce708c99249b8d8106ba27237d5f6fd66ee4658319f8c7834baf3599b65712da428fd21d17e927e7431dac68efda058944903049154af47f6ea78a9f403669f1bbf73cd0ca32f12687eb9a8a05bea56b7d730019a862b0e0d03b3aa0c4c70188fe0f558af07db98159e9992e5b1ca8fa6a1f51981b939bba2137db9c20060f9845bcaf30ead7b56e6c6748500f23979f172b9d96f3b88788d9e4e96423e216d3375a6f40022421d677df7b56c3c0d6d4981707a519b8855bd18dbd4038717cf28cef72cf818d67a495823c8d7ef4be4ee9860aca8e80785583904ec86f844bc622acc7b8502fed66b711760ee12a092f2f27ee77e876587781ad02065777ea00a47c90692eae3d9a0ad579d044a0d44aed94c6feaaa169b87fa986fadd8acaac9b82d4df0b7f1c546b0c9ad1a02fa00c7e65862420efe82e9218ad021c9d77e854df74540fcbab8da8447df85050cb981ae03debe68a8131828592c4cb1e063f98171315405538e7ca4008bffec8326c97e87c928923d9912f51789503deab77d39dcec7cfffb5c20c4fd3f0a111ec79746ada175bde1c5b1ab0609aeba32c7a0cc28b0cffe0c2dd0908e76a06075434380ce74db7b00b5539d3534b3f75989a76ee3a84652b143af85b3a0b31edb3a0caa62087f72cfe7900731668bf1262f1ed3fa4f891f68a63d01ecf3665acf52903a7ee49b254f5a848bef4d5158dde984f89bc1c0548929f6defe0ddd52ce891862d4e86af02014ceb55429346fd5141a089db0a10d6635d41fc5163287401f412cf3aeadf645f8e60aa288f8bedc06cb606aede023ac91ee377e95b1a6e42b9b691dcdfd994a46dc0bd0e942320b72a9ae1d18dc29e55e5d9ee960fc9d2715380e666a031ee80c2f8214c4b8175bb475c939b9358263d0d2e49069bb961edcea89247aab9de3be3d0ba11eb22f8b8e08008f824a0122eef1302aec8a70004480b7d3e179d2a2c4e2894602e548b25cf9ede022bcff20d31398deadf0da818aeae10a629a1b3dfc61902234095f05885f749b06055ffcef93b7ec930e9c3c013270728e3e8ef01ce7f6e6b7c4dd8a21f40bd1cc4f83ddb2536595545263de62c71c7ea478f06a36576ba23585ffe012a185d9806fb0d141aae7887500d7d2987851073f6648c0146ea2ded285ef7ec1136b921b4cf843f83848c61cf18ee06dc3a1ebfe0291324aeca1ec610ab85dfa0a5e4e60e43a00e012b717f9ccf7414c02583943cb20be10974696e88d8ff6aec0b93fdcf469f7f4d9493c4c3e206566bbbc510494e0ff00f5168be77d6b3bb73cff395d5619e45514e42a29fd528ff072140bcfc64d9284989dc0354195c977d1cf87ccebfeba984373c6feaa429e73693ad74e5a57e41dc4a6ca1784468785cbab007a7027d0975c91d57d2f1e152200bee6d06070e0508f9130d9dd26bb7b5690f3dab120ce6a22ea9cac1fd1803a05b01376ba4823a1e1e518c91431cee2c92e9290846bc2b0ed4409ba64cd734cededbe0f1628a2e85a45e9463a007a5186c401fab08e011ffadca0160c6e64a9af7ec49b817d624e955903a127aaa879ecd26dd08e5681cf9c9b2436e9e3489a25b483e938117d2b8a45b047ceafb22a9d01b05982d7fb7cab892e38befb98053234305a98b17111de7d0bbc70854161d912e17e499e6f1c263337de0aadacdc15bed23de1756e3e2ba7c77921339619f93c37deab8ee4c2a6842afb67e38a24bde36dc62d574ffa164d048769d27d1943dd1ccffaf511bdd37c859bdca45722a0148e39f78d6fa59dd0efbb54d29f417e637a63765dede52e850fac33300d32ed75d276429273c62742a993030c7fc0a2ede93201f2e52c1eee54b3179f4d95946cbf7fbacbd3aca5e150819c08a016ffe4236d1c1cf1e876d4e0a84473a38f81dd62a0f2cf0a4d6dd8688f8287b893808793840f140f2caa2528e5fb9797ff86be3dc6888c0f9b2923723c1777473a075ee9731cd38b72547cf12ca5c9a3acdb16264ff7774bd33462002d365e1430e9e5c16f2f405841b35051e4782dd973c641039066d193d64550fb07b3f8060f2acca39cbe41f04b6f2352de9918147abd92d59731f79590a8371abb8382a934d2cd8b2b72152e8d115a5c5b19e5539aac23e2af90f9c7d91df8f68b5c81c8e3e6f8492a1076205b8d3993a09c3b6662dc48c920441dc31825d651e03649dc00c9c109ab6a3e1159ee7b28254f0428a013e3cb2009a4c3dfd244a0301b53c2b1c5e5c8ac0390ba8c09bb7b44fd86dc4b6530bec6d353445e4ec516187b7f8dc6c6afcd28b0cb55f88144df4ac4d7dde3b4a6b0484950fa28348475e17671ecfdee0e3835f1c0936f0449ecbd4a56770ae28e0b33b2a5c1552f5d3b49271fc4aaf6443d63f92b317d4f51f08b4627dcd074f2f1fed29913ce415b791baf49686161ae8e5ea3d7d652c13581a114aa64ec98be8304432a554b942554739cdf872f267e20003cd290fadc262b86718f38fb0239ad4602a9ab88e3d2052499a14bf5a208c2073580d7acabf467db9b3ab979c1c87a2cb3fd8b683bf26036d7cabadf096b186465e3f80110905c15be08cf1ecc11e53e3ea0df8cc9882f062fd8d8006cc7e28fa2eb20f88b93670569b1032aa0445d1c71f234b225849dd0e7aa94af0deb06c7f32272c4be5ef04619b6ea004720d7401823fa81ed731e46c2aad175dc8e2f84ab20e03ea1d8624794085302b4871b50d1581dd16b7187d4717a60ce3f5ec6ab9eac6f87357198446f47e871d7fc0fde2c60288e06fb817df8e06223cd27a1f6f36bbe5ad271872a1508e3967db473fff29bf299128ead4e2835e34e76c78dbee865fd4f825d989d185af66e46e0df5e8d68daf307737a78b0d171d6a97e1c1fcf114af5d00946d2781bc8d953e4d84f82141702efa48830cb45aaf862269b0121d3e24152df7e2559d71b40da7b6476afdbf4847b6e9f1f2e24a64aa5e11900a70a16dc06821c052254e322291901ef5c048e3c5bea487c92872730e7d2afe3356e134d36397f11bb2794c9c1b80cac99f0047c7e7c9c01d5b8bf305cc162b6462a5a99119eb67468b445be12d93b97fe91a0871ffa90a8a419155adc0705cf793a395a0dc1697588ec3568553710e06721e18234c1447d20aa5c77ddf657da64e1873e0ac6eba75637687d47bfe83e984073c6e5981721c166aa22d111f14a7fad37a6f22a3b428b51469dc4494d78bbe833cb749c6b08da9411baa9e464c6f631a0f30c6878256329a025cd0a4b83bc60a1d614a3a7d428c38fe6fcd7fe623eb1fb9ad62947b3b094316380289216c3386714dd10846d02735ced6ee5075c5ac9ffe66708202152a872d6baf63e4b10a9055ab72fef4bfc2649392dd09fbe4a94f099f49fd5b4e1c55743c8bb98841d0c670fd900c8263ee130e7fab0be9b4420d1377cedaaf0e6f0196f58026f1e237eb7ea0ae7c01de0c0368908162bb0a6e000934a78d0245f4f747edc6576fde22e61a1d59630b502d168ac7e8a667c2cf0fd85d460242185b0b725508ba4860a4239179afdc5c9460306270da80655294d53ab0020ed21fa2603c49582becddcc2477ba2f78967eba49f7e9ef0f7fa062543176044d678106ac6581ad7174e5c2093c22aee1301d37a807e5bea065c48e023e063df89836d5ea695a726007f9d615e032db5bfe8c0922391ef0269136036a6f930fe10029ac1870e05275e1c66172fa280bd0a5e28da2f0c80804c1c4c5733d40feef10161c5aaab9848580b9c34bb72ae3ce168a4c56be42598402c3490d39c039dd489cc5bfe901541405bf691e10dca10edd81e26c520ced60d4adb5e4efde84494cd684bb1d3f7ee02f034a5a91bb2b1371ade7142135c04d2ac198ee41d3a40aac2eeeed736f576040ad2bd0baaf95b9df07a070b06efd3cfc87b14a41395173ca8474266cb054dd0fa1f44f7233dbba2798329b0be4cdb64396e9eccd166e5b7611e9c3cd3534ddc3fe667b03d7de2d52111579e1dc126ca0090e852e2353f68118cb67dc6b2607bb2f9ba587c68ee9050d81f140ee632ebaad5df0115066117ca47f49736872dc54b42a146eccb2b5b083c152c25a0b86f6d624acc176d3eb0c35d519ab8b9bd58c47237163a2bf41d27d90c40517dc7778a8b6b091c7283b5577b682b14efdb4602f1cf14280a37964abcfd4c5a3e05d3810b5017105a1e227527e7e014744850a2d4194c84fa4243d5a40e9101cd8f7f5062e9d6c5f7c55b3c75d5aa95801fadc4f29836e94d1a303b484c0bb49014fa2345647d76f05b02cebcb8ab298f0a5df50dc5578d6a5f8b3946b1cd92a291258daaf16967bf72d7baf855d9117d4da0ef2f2c01b44b396ec4700810f41cab40f2412cd795909365b842e3149c9d829a98d2fc52afa79509c36b3e045b49809f50f8df8b356b2d06dda1eeff6c32989d4fe715d032f2a7ebc6a259568d4aeb8a241f27ebb72a054712afabc7e9c56ca47f93c00c0d1a8189be7efc483f48ed8b9d68fb19f90562711442b66b205b38c1c56b22ecf471a4f248b284fdc046419204c6155b27703847535970ed78e1e06067958b4cebb01d9c52d4088c98f27d8ced6d703a0c742fad7756a9a435982a5622b2ebf73a03f8f79aa8d5244abb8e755e262973ea087c394ce5a389a375dcfb84ff8edcf8e51f30529348c80156a82ad90bcad6fc410d9f137145926e295b778fd50504bbb87b85c5a5cf25895153ee064da5bad895b28ad161a551dc48bc091b7df1914650221bf20c1a7e15e499178c3e106535a48a45e2384b6430e6463b730b0400716fba6fb69346794367aed72272e5ad99b29e1b718e6430076b663c6f5b603a432461841ae01b184d188a8df5bfa50644627a910995d430b4c61580f2f06e6774df5d66843e8947298d4a06613607a93817b23361fe6b392f82f38d1ae3b93a91e5beac948e3b47a7172872ec3ac88a4bf5cea07903d2cf1127c752e554f0ed68ebc839d998da92a5ac9c48d833d0aeb97d544a3c22be99435f87874ec35f8c70553800006c77c0bd2708f02d8a1bc5f4de4a9db15730a8bee262512ff8149695795cdbe415191b550d239a974eb9c216035696ec4442e691670e5e37ddf36598686c4261381c7368ca502eda654e9f9db7b57aa4fbf292635edf203eeb3826033a8da8f300fe8db6c524ef0a2e78e20306283238d366dca56c548a701505dc19abfb172f56279e0a4cb926ebb7d459e0fb827149e576562298af8b82286d1ed16f7b65d894f554b1fa83f51bec89aa4916523e53c3937a0c3ae873d9babaa301f134c7a9e4995cbf2403f2e249bb5b435e8f2bcb7d35a6b2d9274510ebb04602dd33f1c16564404515f19409252d16aaf7d813411a8dc1bfd4daee32904a3f0640588a66cb733b650280fb5427a8d6c109a48617b965d537dc6fd2ac1109a2c707a81be5d0f60736a6b124fdbe20627d0edc888ec51cb9f582d66ec8cf0025ff55480d0480982cd4f49ee4ccf45adb2181426b24c72c0aa044230111b625e3d26d47974556bc2bef3130111ec4e36eeda9de7e66711fcd66aa4407ae8f606e0fba7dd545fb66433fc3f32191e97699b86300df7f0caf77416231edf9289423992b47294dc0a4e968a46412b81a71234370295a0ffe8186367c9e8baeb30d1ba3a9ef7fd8a62a6859ad15b42c489ab41961f849f63c00f001ad9b0d90b794a6e695d02934fd4a1219d63bd9157081cc310adf890571dbe0ff51d1ccfc4332a6fceda2f8a73779d4b4e843299d2fcfbd39785aaab73136bed63bb4c76f0d11a90a9d40429b685514856d46906a08a695e08c92621ec40529d4208d1e22b362f676016e8e309822c5d2a299e2e1efa97dcdc31b94db9f8b09e8f23fe4c2365e316bf9f9a91fd9f4566dbbef3060f796607801ea21592b6ccc374a96eb8685040edcde7a198f473b5c992b05df0ce8ee8006ffeaf6ccf44dd88389dc06a75a1471b052bd28dceb03579103c90e28d51565500de8f51c1ea55f6959ead6c380d18eb6be6c8e3a508f059a5a064f034626c82d2349665f16aa7823c2f480e7fd735d579748c8d399d50daede546a562b0397d90b2a5ede966da1d87123e919f3890b2d1399e487e60e6a69f28b70e431143f4610797d328af31d9ace155d9d3f0be0da6d86648c9ce92f1cf62e9ceb28b4956f7b66115938d05934163d05c83ce4870754e9fcb00ce854ed209ad341325fff65175261302623e430e968213e0c570296cb6e814e0110d47e0bca60509a2a5d55c12f9f905144e8c8db42a516d3e85f4252850b6afc40a0a74c431fd31b53a8b892b8f345f7e0dfd521efe2e4d9e492206181ef2829825949e80987a3acc0d7b87d06320ecf2f52afdc3499c69a73a82b07af81057a5ee393655dd070c55ba7ca5074e4186e860e9292e959d501e2ced8a2a25e25da860fdc31025f595f5f6464beea15a9a35e60f2fab6316786f03ac8924954d6086786bfbd6cc16df99b255fa7e75526dc3a39c2e9f4dd6d84d8b06a6945da4d97fcfbe1be10fd605d8b184855fa7655b4cd4dba0ad7d99ada23d4034dbe0252fa89632af6470b051542be9e81d3bdf52a54f03ebb151d3361c9d393008d77ea2b72a122113f688c2d2bae121be28c507ab92a944e2c77128409add45603a31d4556618fc6e226b1044fb802f8b601b3b4d9f4934175fdd76075a85000fcd5d66ec6ed5abd7808c655fc9d0e27a8271bb24afb48eab74abcc38ee78f1074619cda6b2634e146db8fc6a0e4d4e4aeeebbce3287102f5bbe9674af30bd1307f7b9d7db0264da9306f2ce20e683a3667cbc2d4c32415cbe2690e2c98468553c6538ba26a90ac45652b6f824a70810ffd99a19c23e30021a8181d90c144b1ca2c03988eb6546bdd55e2000b326d04cfc06f723384a73d77fbdcb63abb10e5f6d539f7303fac9662956c3bbe61b83668333c190e6808ac6384b02b4d799751eb71378e67bfa502ec2ed2b90ff2427862d81f947c237ae80b04825e9fad0d9b0c2c26c0949aa28a12d1c854175cd2eca8fc5ddf6875a5f242ed8815bb150218819cf1ad8c3c936204d11b25ce663d64353f0dc7703bd6e68c0f543bbf44901e8429302fd0b63f0f99e63b0352a0fc3870150423179a296ab448c1e10f41a9b54e7314fce3c128d4b7477309cf214197609807bb6d62a9617ecc54090373ea60153f95f100a15a1847b5bc2eae4e85fbfe205b889453cc19ed9f1138d787a73d8f55413cf2744079c2f82b3da6207a3d3599c7f80840aed9018f033b10bcaf03ce9cbbb917eecb510ca44f1303656a12431c4cc460fe0831d8ce240618d9242ac4286cb20aa011d90490be2c0290f992827e6a2c806aa5d439af9510733646218abeff7a1db6e0b892367c92c375cb99dfc3a0ec52fc79f8fb60583816e437f054ebd2f54ed455cd5c2fcc7259adf7bf6ab135e09f788d43753276f68ba27c2c2cc02818d84c9978368c78f271fafae480618c3b74457f997940935aefe9fa72d6536a782051fa13b5dc73ae76d4109c83ec98015fdd2dc762406608bf043bb84c2be3fe238762e2d4e41302621210fde9cf2fc9a9c7dd49906cb9172c1c2408090958aa6cbb22c28aa3fee4f37a7597141ffdb0388eff241d4b68990a34ce29623bf23100a70e99bba51963a4113b7ca48ff3e98479c0d6007ead8f271a9291e8c5485329b509f3beac437c5c87dff9afcc0b8f28ffd64e0017a8d8288f055b29d37583bd832fbde228df2962328e5eb4b00283eefffa4170117d4f1406dd94535c5cb66ec5816818a5928a8b7f89e06607dc45550b0b9deca355dd11fda1d35b151a0cf0f158da4150488c28941ba92e70b95d1b1803743b16bbdee7aa9c342af3ca46375651790567214a937cb959df553471ca7f8cc74766698ae0524540cb1224b42773c01753274c6bb09c74e25dc75b47b05b27050acddd7e4fd7796f0e513a3aeea672312e124952a76e054b12206408470a726a13888a8cba9d1aa252b78bf7d0238401e8ce3e1fa0b935a91e104767b373fcb2d0811eb3cf7dc3d09a3e2014a1da722e802c9196603e01a549b27d0d149b460e95fa2d4813fe3ae8163dce41bef28f307500bb6a938e922afdc43b3e4ec34a050c61a4171f40772a1a0af3ac3210ed821a1b7a505961255e59c2bc30b518e60af0d2cee353c84b3b77d9fa737486ae4ba2bc4ebf187d677c5f30950c8680a19eaa19a96705034e0cde33bab115910f7a63dd924f4ce99da4f6807a026644455a67e2d27967003451ccfc57cfdbc3a064e47244a39d0ee44049afdc89de9f1872be73c3918bd2c6406073d60fc109a729699538049f2f93df2af17d946ca95f2d7c55fc6b3881b20008b7d9edbf13186854e5d12dde112ba4696e6354165b05484cd2ff563f111af76f14e165503b7f219ad777035a428be30150c73680f7fbadd3d6145190ef829d970e0629a2587038ce41c5d833e7a390de9f3bba37908eae85ce51abb2dd5a7a353efd35ee4c9f6b5c635797c487810e9742709772ae04378182e39184d6bf4c97d2c8b5a9ceab2f15682766b3e447027367402c4fe7914c22fcb0de61274876768eef9171c66043e814946f37f1e30fa87fa4fd8fb6c31ebf13b972b2d5bfa6e2d0e3a6ed80cce7d099b5562f88e98666c8efdd10f800a525febf6631d80c992ce706be47e8e781399bb5f1c3cbdea1c869fe7dbc0bf7c45a7d9634dd0a9a481bdf2a2777cabbfee55e5aaee138d468cf1a4f80caf39b7fcb35c9fe945c19fa2d66447bfd299bae8740249913853918da10d03879d4a7241f22665d6209b78dc1ac3acacff8537f804229469cfe71b754e1fdf4a11ecc67ee9ac9166c7980ccfd5a8628ee355a6fb4439176b80521465a05ea6eacf426e43213aa5ee3202fed4d5d127a5dec016734b68efce0a8415c8d02817bf420285dad994d9fa557dea1f978e252ef2c78bb57b85fe020dee6dceb6bf3dccfa3fad3ea46a10b157d477540baa1a45e75f6523199fd3598b5b9a779cc5a19188559437491b776f680b07deb6164a5c9c4b6f9d90a9ee5766ed1f047b347ca4d095bbbc5bc866faa45a4133f90262ebc4e703b6e2a1517636e05067c58f1788a770caf60b2bbd5da2e73c258a0318a683db89cc31d75f24946cda845680492a7bdd2b85849c9a7782fb412ec6a588ef2c61d9205327ec892ce67757607b95bb35a1c0fc1c49e457f404d1c15d71ec53cedf604047d0671b1f9f8e8d7ae3eed2eb747d6203e615b8078da72e9f9363b74d908e470b553bbc9280f4796f9082558b44361d6815ac93054bc40313305d0ff7a3bae096c534f0ad77b8d3ad4e26aa28fddd576b06676aea2d3f09b19912308577cf2a0e6c10945bac6ee29a56181bb8825456baf12c1848a443ae49ad848b6ec715564006016979ee83a85ad268e0ad1b6253aa5c8090c80ab894f09c710b9eea05c38d97a5881b92efea3e6ca0b7e465ca79b9f3512b76220c4bf6c787b8f300e9da5a2bb9338c735987e40b995feb5fc032199f833f72faf3d8132fea1cc49cc77edb9e8800e4bbfc8b6f981f2b7fde1f34821d2bb0f82d11c410f170a289b8419d2332358619cd76fdcc9411759bb76b81f21f120987b2187c5cdb05f0dcf7b7d078bf003629854bb934001318d6b77ee8f4678ba1b774e12af6b53ab11d8160740fb5f561be30fc88c961f6d0321a339009493398a571d204698cb00ad2aa347f3681796bb6d4bd645cefb5eac728d5fff6ea29ff370d92c3da40e39919b68a8c2c62d815fd044d0eef882788faa6b1b8c241e531bf9c7307010abd3667d88f37317ef1c9e05bb0e1357c02b3c4a6e85d577deeed2efb7d18cdb1d62e8b7dfd15d847964588076f883185a777754b949000a72c3e7eab68d77a83667dd25c479065d690c4df0cfbe6bd61d6ab6eef970c1e38ae9f04924bec84677af0d587387ed798bb572efc9fb548562d711371d4a93e382c61d2423f77bbd99d44ed43576d612320493e95ace30237efc7d241619473dff428beeaf9286698e76a4306a81b16ecf68e0d4d0d3336e6fde094f2b2ce13e8f456c63bbe6fd62866191abec75bb2853964332f0c82ef0ed1d3c50e07bd1a6297be835bbdb5f312478535746c12a75b1077029013451c8309ebe8a8b41ff818cf4d2e96006a49b5800c9489e422706fe7cf2b064d28785adc4d44f4d4b6cce0d2d77ce09db78fc561c3d1411836e9d6e370004f4c60048133b529f7a3eac05a0b3bd20d3e6cc61b25f95020c85b58a394dc9248ecaddba338d4b7d20a30d4ab6b567da7dc1a5aea5a716d6f3d73062991623beb918116fa8cc0c00beb40daa0ba92c799e78b0440af110f46a8e3df5eb1b803cdba3a03f834c2a009bbf85d0531a7a6dab102ac82e61bdfa402ccf37c78e7d04e59674fd4715d900d267d4417fb5e355fd3089ae2b70c0e3c8a6fe8050ef8056c1ea876c7d08d0cc92c9149c7b378dbfd7d89301a181fbaf66e8f9a6d758e226b9e1e6392d18746364d7170ff2ae9c7453cc662bc5bce7ed03aea99895413ce3eb5afa5e6b964dd0b60cbf44f4d5b510902dae9a29632a65294cba64ec9a000fb7fefaceca7421c9dc1ad3e36ca727fc8dfda64acf89dd5f82550cc4a02bceb426df385c379859a8322e5ab94d21de7d35cfb9396a11376fc13428b50d07c20a52e48d54906e413610af54b1aa132621b8c419a05c90b81fb9d0a374bd53b732b76281da3fc0811c73314392bc8d612b8e92a4d5202d4e3d9368eceecc210aa060ea34190d2492e43b6929c58d9a7e3ba6d3588686a147dbb4c9942b0bc097b3c3cb44e653fb6eb10c9e6227d0c3037f4d145b1ce9219cc4f599f398d641bf9218aff52c7fea3033a712f2caee3cedd3b402257cdc0700209653d7bcf0e8c5f07ae873044a2224756999612e12b512566e28b98b62eeaa9ee5573ed709ff322ae054336a9f44862ecdd16ca3a4e21c8f7b7245a05079517406b2ea25c254e9fc63b72021f7ae78dc56b84d2c405dae4e608c9120060798fb1918eb27ebb3f056aa9262ab244914406f661e8ea6c6fdffc654e9a216a08b2a0eb21c27870f957ae568b4d1a0854dc60fd7b8be798f4bd8d9c8d2846b2b28858eaf06485074c22b229ae16825114e9e4c87f6292ba0eb54732a84bdace38f3be57613acb94cfcbadc8ba46bdea8bd617e703674406d9cdb142f50aa79c9aa937bb85943a37be454ed580000126d5b1ced1169f8ba611311f0a05ebfe66f7a143ed8432c83c782b2ed0f5a987510da71b56111496958125ae33b802e8864f39d7222c22db1284fbbac386196bbd890f43f807a82a08e8843e2362c693e447e4cfd27730f6d77ef28ec360b3d7ddbc0b9ba6c3f17d414259347d623e380226ac2b859e487512d005b6ec3fbeaa9310fb4b7071ac5399e9cff088e8988ddb191f2103bded33279887022cacc409633c7a27d18ddc2b0758f41756734df873e0675359670782f023d620f4407cf5fbbbfc9a01db45e58d1f00c4fdfd2d5d44207001bf8e0b148281935307adafe5f08810755c3fca036e1a7e5cc3fa1fe71bb0c8b75d6cb2e50284b25dca0e56b1ea0061b9bedbb6d749039e356cb25fcb4b31f8de7a76e2dac974fb0ee8729bfcf026c6209744087256eaeace211b223d482699eaf5c7e8b067f065728d52d5199e81286a3364563a0cd528d1b50a797ed242077d72d5b7e9be788dfc0958fc93ab4038660eb2e3ec4fcc750dcece10de347d879a4a1c1ab5251507b6fb681b072e53dfa89db38b26f120f7b95e878efcaeb8dfff3e5dd1df723fc65b17698de7d908f3b9866414248c9ee61465c7d9bbfccba25ed9416c6ab7f54b7ff16a4e2e15253c55a0199aa2d6a90052a547e90241a5ed3b178a9139240fb342560076308c7be530b36d6c2668d9fbd8770060d2deb219eb255b99a491df15fed2c5b1efd602c0f1045848b9f656157107e8b3c688db362a8048cf1a6f9951de75b3a2580de17f73a5b0b3f6e7af34152af660a626aa8a88cd97ecb7fb5dd40a827f3ae135c9f81bcb54ac99c6ca8bb224057d0bd5ddd294b4070e7b416c6f0e46fc944a8bd6018eedf41bbe39581334a686f99c75cc889054110768d9f0bea7f707413d88706d4160158bfeb59797e4967860d6802b33548d3cc85862e05ea96e42923c0f0651c7c6651ba43ed2005fc9e689a98b11b02906707cd13ab871245a86ca8edf4d3973764511acd593f635502e97373a22b0f955f2b638a6c3bf65e424d5a4d94130f972d85472a3760cde6d15aeb3105a51fd67b178172c1c895d065f354fedbf4a662d59bcd0ef30b2b27c51b3cb305164223db7f07f78e3dbe306cb4ed37f2df30487030e1273212499afd6d7c680667ca3db3e2ec5772647e1353f4e20a2b530a3f4bfb11e4cb016e774e9334437452c14c471833a2801c3959382f3c19eb1737f51aa7ad018bedef669f0cfc74e177f771603b8baf58f38e10e49e2b2f3d9c9b8e04ade5706432cd9f47b738014ca3e596b5bc67aeb639ba822ebad3a85717f72dc957dbec2afc493143753512b51ff0b1bac99e6b80ab28ab110c1287d48363aea0fd8e6840d14ef6fdacb927726635af07ebbb9943b112801d24ecc4445f8aed586de812b440343350edea19037c11b2ae5e013c20ddaf056944b941802c822419fb7fc3cc3b376669713c1c8a60ec82b3e256ad1e75bcc816395a9428aaa5ae553146de52f9eeca9f4594b6d5571b7850268eb3a60042ef38af9a5380b366fac3cc39de31765e1a61b0db77405502ecfcce6e46087e43bd7afc67eb0a50d3051ad6205ba1df453adc366c622d3f8abde76fbdd655397171cac4ed1fc5c6684b599209e3a16b9462695bc7a0b24fb0858ccb98e8484ffc53c9eb9764fdedcb80ca79c9f3d442d26a0175c945aad25d072c041a2737bc3c2540138ee704d185c851f723da2d177caa000bfca1c3b965b173635d8b5df41628e4441f460386815a50a0101e6af113fa598c999a25c8a3e626ccd667e5cd276ae646be74641195b0e4dd35fdd448eef484869c90f0a8f10d95595e84452fbad2a1853daa008c01201db4219c02e86d73b80cd82d6692d0063688467a4d559388e8764955dda43a3fc644d8a57cdac3588bde1ecf71ea1c9ac95a0210df3befd0ed2590adc2187a06612ae33be46f9ec7519a2983283cb553915daeab10451337be1738b11ef0761c8690b114a06cbfd01684c882d9a92a633c70698baa937db062418aa7109207bf48c1680172c0d0a37774293f6e65f0487441a7f7a5c97ba7ebc0022b7bfab9ad2e383d4c0e827861a6640761da22fe6f9d616ace193a2542a928408c7a1f5813a11a2e4611f6e0c5d07544481c6633c9448d1f2ace3bd9269aec3be96b37b08738972d5dd32c8999c535c15c36e9c6cf4384253c8f6cb1a31722e66a8410eed340e885e40e7cf1c9e51c486a1b8e3724d99e8fbc183ea2d43a22798ec2658d22519f33e311d44a0b480a1dcd18b615a8ee59bf1fbad92bf1273e94afd4d71c310028080526b7bfbfa320c46dd6c961171129745509378703addea083ff5975833e90704b1034d141d772c01d1da0ef011b17aefecfbc603914540901d0a01f0cfd39123d9341705506344f021f8d9fe95c41e04212a0f10064420bb4f787c0e60e7626617755bf8efb371fc5e148f6703e2f8e33b3b50781c351c1713a433f0e52b1ccaa79d5d7a88fd75510909028a60fb10c7f1d4809fd6b6018c2f6c3086d631d37e99b51eca0ec820512abb4a924d014ec5c97514995dadc2c56ec08cc67103ba3deb614fe39a23a9516f2a53b3e38048d0ffdbfd63f107bbded00caea76b96692aad92c6def68e713840d8cacbd22bace8a646b53c27d95f2e9ad01bfb08be0eb315c762f620a8405832da28940c02757c4c1813ceb8e042b8525fe8c72cf79168745eccaa65dfdbb4be1f24f7ce54b39f9ada5fcca097555eb09a667ede79307e765884c4df8a648bbdc61c56a5c93d0492a4e661c3ad91bcb8492870e34d3901852c3726906a308f79346b6b30430dfb59312bd01e410fee06ff7c40076e87a38df2dd0868875150e2a7c0cb6b18c62279f31bafaafcbdd714f318f742e0fa5a163471f2a995299a5c6e2f66a62566f16926317c2c7cfbe24241e6caaa42ae6605a07cafa36be872ddc37b221c9c8a425da4c71d4ac52ced34a143cedfdf16af694173c1ad4c132bc7ae7a05a28c920c4039da49731c002cff7cf2410b7e72b4ead0e89d5da1953cc3a602fc487cc0e00085080122de9b806cb1922c045b2d6af0f30a8fb0e45d28fc9e53f1b0a73e0deecdfef04b9db0347bdc86e67a3ff646c1c4324548f170b8d75b4cfafa5b19fd3c47a76be709bd88e56224631c60442e50367ea01d37ca88d8321d88c7009d88f5c42acb90c891af8b033288a78fbc147c01222e6d86b34cfd7b9316ef532083e35658ae9e5dde3ee83c3a06c6b9ff8e1fb54408cb20930c8ef9e5d9457c5e04a6970109eee9e64880d50ebbdd92afce314eb4a3f13c81b29fc3e37322a12f30e6d231b654fceb47e22fa729a0804ce9feb192bed0a94d41e523855083939d46c0dd1b0ceca1c6eeecc963dffe08fbc6721098468a42f546b8902d448d6e486437b80b1862454a547b14d2cf371801e62d2db975ddab3f6b0af342f0166b6eb0bbba64b66fb856a7e00a153c17a79e95e6aac5d90aabdf5bd245846d0629621b9d36984d5d9cb213fbaf042b20a39d5cf35735fae564a29162e41b1af035a3ae4ee69ee3235eff6878a47f298ac4d7ded5e8581f413367a920499dc521a1d02f3c58a01c865d9bd0b27463f4f4994c07a2db4aab441876282ad6379cffdec2956b251231c7f83d29b4751ca558c4508f261ba6f2ad3dbaab77f1468fae40a8d57e67e65b28dc188288229e74ad21982733f073175cd022dac4e6ad9369f3437eedb987f9037fe8a7f96b5cdfef62129418755116442bd12bcfe984859e68990a96e51e49d8706fe7d5561fcc6a920ebf714bd360d424885a049c2e11019dd711655b8ff99852d606852efd78f3f3846e2e2a336cab4cd5751451965ca1a07cf4d12b13db4fc918821ee9949f4b02c71fd352ca3c6a1c0cd7d10932d3ff8627d4c8b6f62a79a7ac2d25ac0f0a7280a93b2fe6ffac74932c8ad51ce35a80accb44a934c6f5425c2a70eedbcfde9635abe813cc7c343475c4c6cd3102e216acd4122adb245bbfa39b63c7ce69d55afe6a53f1240efb611cf492c8df8d10a6f01e2ed51e3df5ee1bdabf224b8c479dfd4b9fdc0a85440351f19784675ae29a0754cc07121fe9a189ddeaf4e5c1cf0a6721cdd4ed8654f7c8501134c40859540ad9f0eba984f3513285c79c3a91b435030fd3227b14a54bdb38f3b35fec0caee265f110ed9ec82e7376317ec1791fe2ee714217a4a55393a2ae16d99e736ff8f8435eaa1b1de18cbf7fb92921f06d2681c508c2e376269422b52bd08f3b3fe89a56c8118e4a59ff04d949d5fd7e779348e541f43a6a56b8420b1edcc19cdda0834a0b0a75876131c98077f30cd77f4610ce651e1c2c7e630a561313d92efa53a1a60c5c064e12103a8f0b70fc878fdd0d91a62a45bfbabfe2ce8b641645bd22b2e9ab995e616b295f0f57cd72be226a02f2f313610e9be3dd9ff1e21ef77cb5d3df4d8f7caf40427d63c04aba9c3735438bfe3456f19aa072b10ed7aff1a034520b9eb239633b0f5fab54c850454cade864a6f13a3e2e15a5201eec0546a11fa95fc374e936936b8dc3093a14ee508db83a7473964a9f050fb62aeda09650884af6e6b89c90fd4cfd63d7ce984e7c46df02e19556b6a297f46181730ba5e41bcbf3e4d6005ab591a7d9fbd003ddf95512fd6eb4158be503d42ffd8a2131b23eacfe67f8dd39f5ac2901a21cc1defcb263f50fe3512390c6d603f6a2192a457cb468459173145a078ba3979995c93c4d543abd7f4693a9629ade3dcbde7e8d4a5a7e5bbe1a1001e1b62d56fe8429836ce37533227b3ccb57f242c91a8c0da12f8f26dae8bff19deb4a5faed8796ee77b306e04fd3292b73426584f77032724c48323e270e193d1e446471605bc4eb68e9b82b67a03eead05b8fb8acc07d5cdd8461fafb0abf8d3baf8e6e0e7eef6f93d58c0ddb81a877264e382113335d4efaf4ca718d366ae336deec2e9400f8d4465cee1bb1f2ff881a807c29b0513b98d0fefa0f466bf6760e6623793d604e0c1144ffe281435997878cf45ebf26b09e26135b616367f61bb5f1c6684cb3794bb4fc65f231fb54963deb9be5898a5adfa6199a097cea1d599af7c258efc948dcdb148dced983067abc08618617b1e6e65f2bb1de99ce9ccc336ba2e96ade3dd32833d9bad9177c5df5276f139a4c772aff3310cf021044dae19eb1ff3a084f5ef065b0a1b89113985ff527bad2f9392b8bfa2596262c6e7509930dac4fdebe6199c0988c7df2663eada84a02d851aadb2f0e98fceb9cfec4745481de9f114d6cdc4659bffdcdd32adeb9ed840cb9b4c7e408166c7ca51a024cb90d30edb4a98681a463b71b6863ad5b153c47193bd03c0fb1005b735fca4162730817a322d138dd52327ca871f8b4d674fa586e916c693c9762b06a9c8e7b2b26949a04e16a6e05a2ff3596bd995b2a28758e65e93b15e8586ccc310027e14da6cce328e3d8a1ccaf526b598b499f75889f65f5030a0ea0f5a273b18a071fd29a5116d6b619349a26a09831951350fd149edd398d3c1f5372de5b2292bf25fea2af3660f54acbc64ff8f03f1c47e69138b986dd1c02877de81f46921ac121942a52ad70d276fc87eefe352d7dfa16ff80e17abc2b63f462f563d4830ca85ea36be367769b8b4d71e4e2533f71e5bb26a1b26ba20ec08f5a8464d6871a509f750995a9059d00bed512051987ba86e3d8e67dd545e849564cafd7704320a65eab5ee31eabacc76a1a2c8486a330fa6eed6816c9f264e81f6d45d480347391f7fa2a89b9af6c607dab0971f117d058deb716026402075c9edfbac4ca6458d7d82a07a6238b735fb3ee239881e88faadc1ff443837a2eea0b036889f1bbc73d64136c79c48ba5fd3b127a33e8b57311ccf9030a381fa45520da15a903d933808c5b2f95f7ee554091f4d9e748099d6b7198292bc7e82cc25f1d38119f1d0dee3880ed0c0a1d90f5b198cd1877ac2954e90b17403c3cf00480d090aa91066046d42cd692bde5de7bef2d534a32b50a3b0aad093661c85e3a69d8312d010737928b2544584bc4b8998581831e1df9895efc0b1b70b6610c30eca852a6f0822dac4836449095a41a6ef085958aa694a39aa4122711630b1c215358e91889820dac952c604f704d126f01c5909d5247118510622606230a47622a3bae2dac30146170dd944c2a2b2c34240e1f232d58d5d8f1c58ae7e499d8056e60ad54ae8083d9ca176750b2a39269014683071d2c49030e0e68f042911c54808597d43903072e273c9184250627b260a9e41aa030c26b07335c49623c0c89021217afe135d34192018621b11d641653543103a96c5154e105ae2cd1c20d139810400947687115e58dde988834f82527e33da5df731dc5115ccf72af55af1a0facd051cdf8d3f40e5c321592ed6b54d4fbaf1aa1bd6747ae3c5c9b52a7bebcc8f2c37ffee41a956b7589ab624f633b8ee00699b77bcaa07763882313cc73bbc93856847821073caa191a1a3a392ad940d07849989da4a77e90420a3a2a1a347058d245163a34260d33c8f0018ecaa3908421311c748a20831c5a33c0c19133e217aad8d178aeb052b97dd910586c0c59e52a6c41c64a3543d35e34f90204a30a3a13066e28820c0d5ac85c3baacf0c4840c34b45c3bd6e7654b281d0010c31b454724683499104a69aa1f1a7915148028fcaad6c207878e9c2cd4a45e33960a94e62bc0007c563854d0f3eb87851869c1bac24870a3800903a5354d1c2518319581153bd38174d5af052cdd0d034c87454fe343d048c1b95db1fa6112bd4200b80c605107a0013c03c020cb47093c3a7f0ea9901d1538021d351c9a16b4401e6040b8c2ac2c8915e54f104ab0a57ccb880223685215f685bf75dcc800b3376c20565cca4dc42084e585940c252c99d3374602a4dde984208392a094a4fe1b0c213562a1b33ed5282193e58a9683e2bdca890b014219b5cb636b818cd4b0baac052216121a2e6ea50862bc07600a5a76870a8e10d2d956c207870e9a917267881a392dfd11e402d642ae9a91916806690b85b9a15d0886288630784ec38ca2b2c34ac543195a4d4e13379c66481f200a8ccd1dd4b4417c13eb5d8df8de215f9827df2e40df6d4f7dd8f82ca16d10d4496f5899df88c0b91df65ee338779ac4ffca42288f2ed5cc5a065fcc82e73393286c611eec897b91cd7953f761f1902b8afecf7cd0c719cb24fe215831ea147e8111d1d97abd5d2d1a147e8916e752b166317bb6633197a84b3a0b265f43adadf11496cfdfe9c0d34d151dbcc37d06fe1b6795b68f314c886dd14efe6d1aeb24a6edd266ea6d0d5e5e8d3f69fcaf4ab219ef5ca53a4df7afb6d9b693757c5f22c644136fc4ffd9e67db771d9d6dcdbadbf4feec786afbed77b69dbb719675fab43d5bced99e6fb64d4e11f7e66b9037b699bcb17d4db04c4db32c737b662991a361523ef43a3c65fad036eb3a51e4668ef23c0f0cbd2a553cdb56e6fccffcfc0ff03f3f7ad0d7a89088de945227cfb66db3c1dd36d7ac2997eb6400f8dd3f207cef59e65796695918d0bde91fe0bdca776f32bd5755587af06501c2575e1e5dfa8ef42ade9b2a8b467788292592d731805b7dda3ec5f2cdf657dc59bdcb5564b1e0ca5086e588ee9190aacece20f9f17df733ded3cece74dacb90e588cf2321551f3b8364647f840ffa19fae0279da0b3e4ce2aba5c3b160b40b03db42968ca55115f7e790afc4d8718eab8a30ebea13aca9758e5ddb64d46815eb50bdcbeed86674a24d1a72d877bae8da6ab698dc40476666f666676ab43de30a3635760e1c8119cb00434c854a3dbd3cf3bfee57f2f4ca10532dc6ede622b8308eaa72dabbb0c5918b0bdf63f36abd91f12c497a7161ea1fd6882cb3fceb45c5626e46d2a28890d524ab9c99cc4382e96c3b393a3e4c5449b9ab66d1cd7759ae77ddff751ea42604d5e8da393b3b304e788cc492c87672747c98b498e92a975f1233373337333b3db1a67f68272922bbf5ded2d2a34e6a96ddcc679cc9df751e68f82a104c30f8839ec2757fea7671f10eb4ad9e4ca3e82850ecf92761d691c2733273327322562f0c098e828c961214c05df4816c22baedce4ca6f587bad1f6ef739356d9bdab6715cd7795ce779df4729f851100cc3cf07147e4020514441097148240279340239853449246f269140592a81d26402a5ca0acb6461f1669611c8751cb99c4c7c471d57be29c7955545aecc95156f5e11af0c83f6d3ae2c43c84b412c44f0cbf7c12f9b3944821b8976f710099f732231354dd3b410096ddbb66d4362e3388ee3382438d57c0af21bbf81c11aa77164b29c1c5ef14aee742427a28844a79a4fbd7e6f6b645a6febc32d11fefd7c6b6c4705952d23a813af644f09f15443be43d255b441c90717885f93cee5c1c910569c8cf14ecc5091c14d1db9350d5eb894e33e40b8db7d8a904bfb754131dc504fcfa51ac8550d2c96f9a3eb3dddc0ae1f159772207b4f25f7a1492a2d4278b94a1d35f4e07a54097581589efa1ed41a413777dbb6d77e68ff69b646d59b17e2f61f88d5309208088aeb3677da28f194f63487fec8c168ce9cf399477e0ffcaee676a0c755174d429574a369e36cbf4a5d8ef221a8ce6c296998ede9cf69659f721ac687f0d44cbb92e78a39a98be61041c6f07b1379ba42ee702e481c4eaf90302c4f93e6b8640c5fa73a547e3acd3a57fb2507a3493e339119e2d87567863872b03badab4f2e86c8579431f40a1499a243a05b9c9e506912aeffa8425d207551177551d767d651978b26a1b0323a35b2a14a6e38185d4273280f7dd126938371b186f1e79a70657420c8a585c8402968b2264bd3e6b675139c1cd7d1f837995a0b8ea79bab96d3e99f86499a441164695960b14c35f05845a90c25e07d6767beefbba75fede41662bf334b5557b79df95eed541c131ccf6697d0ac95ec84f2539004b1fcc20929c8526059c0515190730da81083cd33b87070333f2ec820a3c24645417e84984c45413c86158aac5414e481232fecc1578c1e7481a3a2a08f46cb6712c20c86c8541444296ba1084598a9284886ce236fb8cc7cca2330ecc1370859d8024745419c852b76202303093c6910c326c7a5a2a0de42185a2a0aea2b48e1464541f2092f8882474541ad8530622a0aea1b244061a3a224906b0e215cbc5494048636573ef79aaccbf2835f7bcdce68cfb546c5d3042864d2baaaeb1240b833ce78c32d815ca54a86464cd69540f88a60b2ae942a197a1f054d269329241aa5904c92468d8a866b9c869d3406952d9e2205f1a8ef96a714f0dc81b7008fe2651080dfca772d1fb29f83cbabbcf4540f5ffa94979edae16dbcf4548eaf2f3d1580aff1d2532f8fc34b4f01e07d78e9a998e7e1a5a774c0bc0084503d8ebff1d25305f81d0378e929047ceaa5a78678200e700df0d253464c2002efe3a5a720f0322f3de58047e2a5a730f047bcf4d4057e012f3d55814fc04b4f51e025f0d2531cf8245e7a6a03ff80979ed2c0ff78e9a90cbc123f5922bf942d5f4afae38f9e42c91f24aa754854ff58bafd6335e281a75ae5549b4a535107b53a55ae6a15abbc8f91f963f5ee9f3ce5810f7cbf0e10d8fe0f78a076a04a4771a04a476d400319a818a8d2514ad80b58a002149880042250a5a392b010a8d2510fb00ea8d2513f6c039038c22ec08e9d003bf6cb5108b04354e9281fb68715e2002a3bb62d800d62478cd56161aa74141076e4997494006c00ec8b058075a9d2513ed81eaa7414ca9e7668b161ab7454b55fa5a36ad81caa74140e96068ba992aa74548a1d55e9285145a9d251a205d9f04f2f3ab42a5553ea74ce3d014a064a412ce5975620caf6224a7276b0701c2f22033fd8f1f4626d3a1c76ec4400d85134ddb0a3e95decf8271fec78eac16eab17941d5f4e273b9e9e073bbe69073b9a569d0d3b76a2b5a36832fd9f3699a79ce5281c4ff90b0e767c39d1b0e3e959ecf82693a86247d176223b76228a1d4593a98e54acac9a36a4ef9f50348ce943df3f5f50fafef984dc519a4d968c41799145aa298f52b75bca8198f2fca6a75c286332a50c21cb40a95ac8d484c3e93a2fa98a2ef39b5243a22a6f5f5395f246890b21d2e8452034ab9b628d8cec873e645593e5a9fe69d374c8ab9084bfc2215f50e5cbe1bc3aba4ec76ce91881a766d789a2c9f43f5ff3a5d9d8e0d8e0d8e0d8e0d8e030cc53da8ea3fabb4e144d3b0cd37618c637ab9bd5cdea6675b3ba59dd2da779b69ce6d9729a67cb699e2da7793699a39ac37154ffcbcbe9f46f3289e22663759d289a4cffa71387739dd404b1d5f9cd7cdde6f9e260add96cb75ddbd1643d573367cbb9ade538af7adb647d993ea9091c077eeac8e1f0e56ac7efb7a7df6bdb7f638edb22982c8ee33aee8543f1a05b5dce85a5b9e6c2f25c589cfdbeb9f22ee779f3fd5d86b80c7119d2adcc408378b27df69c5afb6c1721cdf536a70bcb65f51a0dbc6deb1e561b772feb283638f2edbc656ffdfdf6b287557773ef9e1d69f79fae7b2976d6fb959215dd6f0f02d9d1b3afb07a760c3257bed3ce9c97df19f506d41b448ecead063d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d0e82ab554e0e0ecece8e28722ac8c959adba87e4acd8c28e8f41663bc7bd0cb5cd7f7ea39ea06649c610e3d62bbf18c375634da86b6eb687559f98e58dcef1d4f7fd7372b3f62044eb2acff9fcdaaccc2db9fd1bcfe576fad4df552e07c6634dcf5849a7364b2c71e46e3f9386d11a666e9d8c9120755d69439b5b1a58b8ff5838fe1fce760609c7c27de86b54ddcfb070b6891ffc22e8f340443b33233e8a5b3b83a4eb3a4bd3bd7fcd15d5a82c12ee4b54842a0f47757da920b6fc7254bf2de1c0fbee47c9536b545dad5181ffd5efb95a02bedc83b508bfdcaa7bcfcecc28614de0a8fe269090aa0f38aa1f081252f53d1252e575fdb184712db6096f3eb609ebf75de5e764c2ef385b02bee08715485f306ce207ff6767d8655f08f777dc205fe6e99cad353b7219b7edc8b0db4ee33593866b78e3b6a0748728278aec535773274065a7a46cb55ab540c5fccc3646e42e02d88b4d0ca2942af5cae71a6656020de3056110d9aefc228c22ecc426052244424464109201187e4232103f7c238e2ff76b41d802d96c5208c5003405c86605d2dd79f674776dfa7477779feeee9dbbbbfb7477777711c543da9c73ba955f630a2c30b077382e65247adad9d24bf6e0907bed457bd1319b019be6a18fbedce88e7cb9b0df0b7d709cbce1bd16fa98973b4288138e72620b7d689793f1402ef4b15deee907761f053d0a825fd843e54b0f863efab9bf59eaaa52659fbe118db0a403917bd1d4270e7bf8f0be0b7d78d2e3f63edcfb90f246bff71c1e211d25bb3bd67c48742aedbba210d1773c81f854033d24c2ef8802d0d30d9c9fa71ca885e0530fe468e8d3efb30410ce1ad19ec6159d50bac53176c999d409d5d1bbf28d885e3a36a51faefca2094c6e690c99fa60a5978cf160c062995440576b989d4146c6f52fc685eb4f5970e40dff0f86e38e1fac411f4c6389f2b5eaaf0fe62fd1f43abd7c5a9ee2a1fd7dff4fe629d5fbd395a70ef0feb4e52921de9fea784ae6fd29cc533dde1f5c812d4f0df1fea00e08f31402de3f5c79aa88f70f5b9e4ac0bb7f08f3d402deffb3f29411bfadbce8903ba3e419e5eb7f94b1faa3948d7266e347668d6ca3c38f7c33320e0f3fb26be41cd48fbc33328f0f3ff26be4d88d1f5936f20cc78fcd7af9b16d7ef8b16fc6c611c08fed1a3b07881f7b676c9ed48ffd1a3b36801f5b36f66cc78fce1add86003ffacde83806f8d15d9e738da8be80ea0aa89d80da45d44640ed95a3e41351193644651f955b8e92dfa3f24a4688cae300aa2a3a4afee5515dc751f20d20bf00f20950a5a376c801c8940422877c0154e9a81fe4bfc8c70100f937a40f553a0a25ff54a5a37890bf837c1daa74548b7c1b553acad6975f43e25069c8952ae5975aa289dad1f49f1ddfb63cef965ef2868b38161fb010216ac91bce97965e3b25d8f52fd109cad088becd71cf59d9c3bb4d5916969ef4c91d2c31a14fa5f67dda965e753ea90bf1fb599b98611d4b4e6683377cc61dfb598af8de7beff2689622bce79eb34b7cd6b346b497570712a6eb93cb9886a1a2220e863cf98b71fdfd83f9d436aebbb403274b545179ead14f7e0d84cfe0bc1f45af12cc519e632a52d2c21e7c4558908ad412276a815edd8fa017ab4a2f121722a8e529235108e5c5a70c825a32862bb5485d88e307bb01bd78b826af4a1d454546911211cef527b94be69ab93e2bd787e5fad8b83e37aef1837d62399f58a8f389853b9f58c8f38985af4f2c847d62b196a3561d4bb4b97e73fd5bd74f3822a815ba4aad9deb76ec78ae8b2fd8f58f5d3fc9ae975ab3179d53cebb4c38628bbbb937dc0d6873fde5a85707136326d9d3d96975452fd6f5ff629e2abd3e383266beff07f3d4f62f3ca71dd0cbc58170aed39bd3cb9fdeb3a3f8c1fc835d7fd19617628f1f57a77ac5aef327c6bd1ad4dabae5a596c63176f9e46e26bb44afeb9ac86723e875555d495e8863e97555ddaad92cb02b6dd0c0d48868baa6e78b16944ac9526050ec669fbaeef6ee6eef6eef9eb68ea00f9e51b474fe2688f2fb654b2b6048922434094d42044a044a043a047a858b0a21082245d24284ca96d1796e3f751e241ce6eededded306696cd0c06cb0f3ae34fbf86f945631deb0541055cb85433fe6010b20c1a90054cc5d57c0920f27b798d609befe5b21d8fb84cbcdc8fd2786620810b3255485b499f286d213a2ab7353eb58deb368e65300622ac1d5e0c41278a27a2e0e91a5c81c5b2818628e8d830c3186c5aaa6d8c2c5a38b30a63b0c225c3b0024b6e5ce77dccc5f82b83084fa002acbbf8a28a33bcd002a7931e167840860fc6040c37540b56d00189646189ceec010c56a085ce470756b86e543e451556370c06279a90e37d1a192d38426ba5e21006d4670a6033db5151cf7b66d6f87baf32319a2cfc2c6c5947c55834aabf63899da73c4500339460f3d1020a3b00b98008362a51a6218c252b150d174371266320128a71c10d6c44ed45932f465d28e3d1a77686d6518b692fd7ad2c3fe6830fda19f0e7d7a828586740233f60c14b45533272055637a1958990240c39e051f1f0b904105007829347735d3bb99e1d5300c565a29dc87861f5d4176460dd20cea01e7d59dee06f264da2c0513911c2b8818e087a42109fa2103163052f154df785952ab43399b4a680a9684237b054fe73b6ac88a968ba27392a7f39c962a6a2e9a8e0ca71f96b5e1ee04fdfed0c73e1c40f56aa199a1a2dd57c9a8f1099ca9f5a9607d0079fda19994512562fd50cfdf041cbf280cf83ffb1334c0318947254f3434bd3951153f9837646bec8b8a2a59aa19606c4a39a34dd126a465e0c4147e576869be2063c2a1a2ea642a2695c414f88fc1b1391ad69f26b063639a2279e40031b7ee20a9811d020e32267a0b265d45cb793f02372c49acb2c4468cf15e1559f5ae39e8bf4a9956021da111b0be9534b98127dea1f7d6a6d2561d7eb64ddadbb7bc48f8611c1645d66c6913cda8e57ca25fe5d9f3a09e2e872dba54fdd2d200c3a7d52496d45dac1d15c3e9da8acaee9e58ba3238cb64d6e9b954a8844b65f3a9467aef65e49ae694daaa597a18b10dee1fde6ddedf9ed27757b97556f5be792b3bd57ed58b3c96c5a3559afa5d29348a512e94bcf85322592bb3f9171ff0e0d9ecb1017165bd36f95f45b28635ad2a78ea74f53764efa34e9b66ddb129bed66b67bd2a7f923267d9a23589fa613d251a3131d8fa3e68fb6f7d16d214fa7de42a2e68fc690a8f92d7ae8636aa1caafdc4ddbbe5bd2a7f923263e3a31fad4a44fb3dbece8256fb4f663b8da9e47af88b6f7bcedc9ac4f73c4a21f53da76b38619e7eac98cdf54e515ada8d42993354cc8c90dfdd83db993447a2d9421ade66a7bf7f690f6a1dfbe2ff45a28033e65590132b3bade6f2460ad6d490a2fb462f16c498ad52a88b779a60f519615191515d1e85596489595ca53eed7aab612c994a410553ef46c457609951fa9d8b1868793248f16a9d47e19b626fad2f3af78a2d1e8bb5b5ded99497335579764995914c4bbfd21915da27f341a75f7a73ca906d9ee68348e4432ab921473a5327a1996a4104713acee187ab641bc3b4af990a8f255a9f28eaa8acaea865637b4baa14e0b7d6c0fc429d0a7f9216f95840c441f1478d26ebd95e615f1565d278a26d3fff42810fa5c799696888863caf64710476659ae231fb9f3373ec22c86826f70985d9c8459536e2f3fe5e594ad1ac6e6ba2664d458773e3b4da9f25251955e1d0970bd3fa2613e3bf2fd9a599a9cd97e53791eed799ee965281a7b585dee95153b32e122dbd5dbbdbfabbfa8aabc0c6554ec58e3fe349471af92b89a4c2f7ad41393e9456f7a309431899853eac837e5b4c3a1acecc80483a00c9d5fbb340439d4eeaa61e6ac61e66bac86d9da49c36c4f3421730b6598f45b153d0d654840fa4e99bc31bf7bf5697aac63d2a739337a216ecfc3bd86c063d7ed128c9ad1eb365c79a317e5120cc471cabcf794d595d12629ab761f5d13dbc150565e2d59218eb60ed6306313dbc1fa34b7d7a64c441ac19a98231459c3f89ddfbd98dcd9c1bea75324fa2e9411fd56fb356dfbbe6b36e7ea3df77f1ffaf0cd8e4cd022f87eefd5207ebda7df4753c0ed4bdb93be677ed3f6a4ed4b28ac8621fdc6f25efacdf49cf22bcf765479b728ab5001a4dfec1223f0d8dd7eb34b6c1bfbe033b4edb5a78f8094f716c0f6f3cf75347a7f91e8393462b32cde6fcfef7d65f15ed40fe214ff913522e5d92e91f29e5dc2f44cb87dd3d3e79f2111262b596c10bfa55fb153c5df4305901450b2a47efe7c18f6d83efc302462ab23f0d80d1d4548e8297b9bf6fd4cb2630aeef66e190585d5302833b455145645596d3fa2ac50846ca20f2d91a3e71a7a521d676e424f573c3bd65cafb597610f8df4dee87974e8e9b71dd925422f0ad9e7e1a422bed18756b45f2959a18dbef4dda3ef45a267d36b75ec26fd4a290753a6d59215a2c72ec96a5ae9bd91f4e29bba047c47a53a3231b24bf08bbe17f18bbafb999953beeb48b241fc3241802b7a14d1287a12d4dcfed119979788fc3d42553eca7b75a4b9a233ae095c77a4cf96098f5dd18f4c78eca63c4de11b0a3d0f0fd5ef51ea1864e7d217e983ea387373e9a3ac1ac62d8a90a65d98809a1b761e53212901139192803a841186e8d37c9216e2f7a3dc993d612ca44f33017d9afffd745ecd306cc6e4060571942fbe9e44d789a2698886d17e7e02fcd5a9eeb5a919411c4d97fbeec79494d1ab616688b2baf3b72ac4077a18bbfca3b7ba1c6e5e10659f7804d1a770d5a7c9fd1cc355b7e38e9a3228885376e7f3709edb71b8baf3836898d3c6b28d232c5cee7c1f358cffecad4e95d59536dc8b1003a773e753ef5ffecdb91a4649c3c8e792dcc9e5dc09facb53f4277796567f396afe57b56ddbbeeffbd15fafd79eabe92aea0da819ea0df2c5e970ed3998adeb5452fadcdc7efec7dbbcdfbcef9ebaac5c866836446eda20ce39df356d6ea18c6663c4a9cd6dce091243281324ce39e7f785408f027a11d4790fb6fff49edf4508ef902e435c3c9e6d105d58618f7325de0e8da0f79bef3119f3fd76dd49c37cf4c1f7325c06da18f103bfffac46c6192e3f37ef1897c9984ec657f9bac73e97211ed7365dedb7d1c7b85386dcbad2468dc8df14ac20cb21823a10047a94dfea385f149f0b3d873ed4b44fc876af85457c57b3a837308eee27659ea10cbbcc9da0549fb141a43fc567b1f683aaf861f7fdb3ebdebbe7ee516fe0aabc3dacbe07d7a5cc0eb241e4e7b8affb6d7eb5d2dbd999c87d3b379e76565786fc4ed3359b6f32a0f4fb52cfae3cd07fde89f0c1eff0f323b4207fbf00c9d787f7dccf9008ef396fc23df7cea44fbcdd4f7b1fdafd36710b7dccfb711df72d405eee43196ef431bad047dfefa9b77d8ca0ff3dfdacbfe40df6ecb644e4ec28bfbfabb2ab5c106f8e41336bbe9e4ed0b94ddde54d0bc795a3b3c3b2c171e5e8ecf0bc64b35eb16ce44b6696cd4d0be7f426b1eb4ce29b4eff72f29d296e60b0c6c191c972727825774a5388a3f81f3670117174fd258cf89d8f0ca0b910ddc8cccfc39f253f67658dc8bfbdf46993a2446d9ce49f9cbd9a6687e853f7f38f11c0c4cb1f85386d127dea677b84ac813882e22865236898200d33cad8a8841c5d09052eb4ee28720c26edc23f77e7f1be99fb749f5d38e74ebbf0cddddda7fbe4a6fb749f9d7bfdb14b97d26927042a5bc6b791242522ac619ac41aa672f24693b8208a0db3a554f147dacf7ae2cfe9c923fab11351baff3e9d5abe4ffd2dd21bfebafad4624f7d62e9660e8dc903b2b8d8b2782c31171a2b97a74431570d570916f3548d9dce55daf1540d585763a7066ce7b6ab8a1faae08b2a08a761681d274bac290fd69157f04a19c346647884f8d208f854a3b706cc5335c41ab0db2f79748dce8e5d8d196da733b17b51fdbcd72ffc91ce44b22af2541f2b8ab96087fb12cc53a0ee65e86fe4f36015abec4e900cf4a13f9fd679c408f85c1dbbd1d4b9f8ecf2e8cea50778b9fb29735d2b78454ec6b00ff0b215c5fad4ff45218e2558ecf6b3e4780afc9effbdf4e6772f414bebf8d7dd8ea258c3f484195926e6377ff74d90136044d8f709f1e33cc08f1e53bdbf4e0dc6651f5c8cbf19bd353a4e0178749d20f8e5d8b1b165abd159302fc7768dad13801f7b676c9eb1479e8dbd1a9bd5363ef0d82d3cf20b769957f647b6a93c72eb3233f328633095e7f1e5f28b9ec39f3f769c10f60056f5833cf5f7fbe0794a87a3fabb6bc74ee46147d164003b9a0a40003b5f9eea76d8b11363ec289a066047d3ebb0e3a72c8cb5f10e083b76620e3b8a2601d8d1f401b0e39f02292951e3cbacead81855104c01419ac2bdbc21afbbbcc50f3f1f9b0df713caa470229058dcf065187ec20f162a245e572177b84be2e89f6dc59ddf4fc8148f1cb24f0298df2c1993c3cf67279d4a829f0ce0c71672bf9fcf65348ce867cbcfe72fc81d4ce8f891c370e7731319537f3ef3746a04fc82f9916158340cb7d330e29286b1e104b9838500f12343e1ce671d19633fc52c4ef2c38face4cee756c3a4fc7c2ed230a0fff95c85dcc154bcfcc856dcf94c858ca991e216dbe0983fd330a19fcfab86c1e1e7b3903e81dcc1496efc28db70e79b40c6acfcfc0d748a7364192e3f4a27210c8d9faf44c3803fdf0172072fe9e14769853bff878c61f9f93c3ac53c391a66f42a3f3f881fe40e6ec2389a871f0570e70e5387197b9131a4f921cacf1f358ce9674ce9e727e12f977899e01dee3a64197e93b2a210dee1368ca3533d6351c13bda09e3e80742c86c1600fb03eb858adb3b49784733611c399e6a97a396f08ec68271f4e36801a07523c975c9f121a787254d78471f611cb126c238fa797878687239a603117e52b55aa7ce939c30d0a056bf3a4f72c24083af45e67242e40b2d44e7494e18ae3b91db5f5bfcbf8f6fad7c3d269235b155b375daea170a31b82da58d2aa5dff0b88d13608ef3f21614ae5b1ba29128daca578485b844c756796b9597e650f9f66c8a55db80e5a36a35eaeca951fdf6a4b4a4f47f1cd811275c85125992185b51e32b08f4e2a7a4d81831a5f2ad51f98adc02e1301535aabc3954adceea97a70d5a08e1b092b27798ace1faf70d4f1b98dcfe151cea07f4a1a7a350266463c4105fd0938f15620296aab1d499054bf56b852cc2976c57132ca870fddbadc042a382e07f3e7c3a0a2b5f961768613f58aabc2b555e4aaa5a9dd56f10546adf1cf9e13a0f4e4b00d7492a95d2074774c4171c597f9137bc54b559aa7e6970fb4d23795a3991f0fabb38e87ac95479c45cf21f85434807e94d103739463f9e443fbaa4fcf802e30116f3f9b1e5f2bbc62986668ca3df7b107cfaa9daf43b3ac9942ae5e9e626881b1e52aa48f4fca3918d11459f93e8a545de00ab76e7f52ba5d849e9aed99b5cb77dec3bf6ac2f9d60a88ae2f3a33c25853228364614c5e7d12843c82bdaefa9763f3de873dd83f57b0a0a65bcafcedb5511c89dcb3d687b50482377544834dbba12c49383866be6f4c015ae396fd7f589650cefe856da20facb74c79ecff9ebefec5727e73becce3afda2e0887d9b77f8fbc7c06b330eae7c517044fe598531c89dbf6d1d9d9d4ff0ce4e1af197210da842d2b67342fb65cbe8b0ad679d1a19676417e7e8a88cccf3ea94128ee21f9935d330a56f59c6289b7c1ad441746acc71dbe5f6d3e814ebd08ff4ad710e7634f5ca32cbafd8f1df6453be473051c3423b9e385e5df65667c7ae937634dd5ee560c7eecac7614563c5b25a59a9ac4c76d4714b553ea9b6ceaa61414891d5c1428c2b5fb4a389c9950fb2e33bb9b2611d3fc3725ce972e577debadc72e566edb4b25797477b6ba011952b650c10be52dee8c117eceebae42470a668a34d044a1913e212f4f5cf83b48ff940505ac40f24654cf80129e87b7959793179da8b895be156c451f7627a7959410175be39e79c2150044e1d295188e3bc2c6352c059025bae746a0ce2ca91879736e538b9bcb8e850e7f5fbf28556fa52073ded3304cde1a2830ed3bc3c008007006cdab42f276d9a72dce701002d2a9aa76481eb677e622698f8fa3eaa81e20b4f1353caa44c4a990a49bb4761d3e64be9cc692c637cc8ab81b30b350fdcd171650eca2db77ff4a185c678ea34ef75b4a08238cdbb3d57fb72ef4f3f9b6f9ccb9663cba1a305d52f3eec709237f8afe6753f7d7ef70965346ddbbceebbce5e6eec5cd3a14373cd419ce69482b2e5f4bd9c469b763ad539bdeff6540c65b6cd413f491ca376f94fdc37a5f6919bfc2d88dda9fee49c53d62b997c223381ce4ecb572c86c9f825631e19ebc838c7a5c3c674f32dd96daf89d93c2f97cb623118ecc5b3a3a3e34d2b5fdd769fadba5917b6f90787ca1ca2c72cbb51fcdedd3fe6a400490f1c5def4de0077eb59483efa917ca7c3646f4a7fcdbf3709309e4ea9b9b5448a6d6cd9e9e26255fe71ae4ce196131277e10f182c0f77efccf772dc6c193323fcb98d1f3530da45f6d09a92ba43a00d9b89b1121d4087557b5caeb904e6b96ed9555d4b3adafd64f3512722f0a9f6eb543370d79e9bc59918ad2b7421c67add1c4f69aa80a11bdf7d4f40dc4274790eed22b5f4a1ca22a559ba5610e39a81cdd2e65ef462cce140e874b4134c495fb5515285e5cc8e989932ea38a100856232821945093c6a2bb75a4512834eed82d97244d8538ba306ca6e329d92d4fc9b689b160bc1ae54e0ca6c3c6d53810471aa6cbdd401c451b88e314a5dc9bd1e8822fbb455344af104a0d48211a88635702bf8ab2e4f653316e7fc82484c510719c2690ab32a45f15af6827d499810a88ca0f9fbaac46445b28a2da8755aa564a39109faaa85cba027e8edc4e725bc9ede788b084b5d52d9b17d6a9bb32a0017e15bc603582f2b30a4132ea3e4a29573dee764843aadd19d290faddaa111c23dd7254db745a7db01a61bd11cf8eaa916951be4f120b23e18faa11fa5af8204a15fdec16170351e6433f1ce814397c47ae8d384eef0e7995148204c8cc6a75c1ef4eb0c6a92d0d847cf0534f7d923010c7d191dbdb7f5efb6e7511965046d33e2c2f5679411d57bb825da451fd0eb6ab613829c426a606725188b24fddfd2af76cc3ac158de31c7678a533cb91ddf0b45e383754514434ec1d198ea7bae5a951eaf04ac7ec25f6dcb4db2b048538763640ad084e9ffac55a825a02f172b65b2f10c7c9cd0b5623a1ff542328df928e0a5f21db42b1d2513393cc0535c0afba5785b0a0c619673c59ad54f4c3a75c9d611d725221f121756030ec2b56296f80b6faa952fe30b600317e73cbd66cb843df4d72f5ab7cc16a843e0b66562b15b5394f7c55de56176189f2bd6b980661f3c395df8fd20958f0d70da0134d5e5750a2aeac5cb5939332c643519132f59a4ae55a2072fff1dcad4f3a6e7f570c8133426980e2022ca4600187451433fa451466ee5da94519d6a0996105df13cc0333aca10b03106ee8620b309ee45c21c63c58830782c9ed0562e810bd2b94c10bf3091e2db2f0c24b9fb8e31abcf81777fe69be4bc3cc3bff250423b578e20b77be100d43afdc11e382573a41073b4828901edaf7f7983d26b7cbf9e197b7867902dfa7d3cb4b4b0b33403acabb4e143ba4d126efc1f2c63c4288134e48990e7d6cdc0a44fe2e2ce940ec17416e2ef4d1c94e1b03186088c0e011f188784452902da3cb5e9e92aa8f4d189943fc2aaba4a73a19c33df87247f7a373e1766ee7fccf9cd3e7c7e4a6b0f27375bba0c71e77ceda77fcdd9b1a0b1e138749d4f6dfbc5ff598fc81fbd039eb7e19ac406856a7adafe7dff9187ce96f6c8dd0ceceed37efe4f2e2c27259f9bb0c717929b2bd5c6e71711162b68a6e6e5bfac4ef2d3f37ad0de2d8dd1de79e4d703befa1eb3c6e9baff9b4a8996f5e64737777b7b24f2eeb9ace4101a3e9a8142dd5a5490f3a3423020000000023150020301810884422a158248c8439fc14800d87ac4870529b08b32c4741c820a40c008600101100110001911922007cbfec6db51f43d3d651f56a2266831febb5f0128d0f56725a9778637485c80b056751b5ead7ce593bba4b76018458bc804a2ab47bd09d768fd25dc952794e310e0c74abea8b9823e3a49e632a1a7ace1db7402dd2b821f937e510d9c436fd16c711d025215bc86bd96b7d2d637d7993f09caf4063d2604f427c2144f144da03024f8aec9b3d0432c91419a5ad641c19318cc09e77b6c51d3aff6f4a2f08b133899d349fa07746cdf4dcb9a1953188bb043cd36b0a48db5909154b78fd9ed7e1f47e8f5fefa2de22750e27048902945ebaa8b3ecbb7882e071c6d53ef9a977b2c50ffebe4166a386e853b1141aaf6f29094acd8375a1f7bb6c4f4ee380e66ec21c2e3b7750057e7819d357a56cefef0e964e7fa79717163c52d4e5f69b4c0f8730e56bdde0a229920a26d12d0ec545c8a0d30635e780f7e8a981a23864c4c35aa6a5d00e0bb7d9903ce13563e486165583090a4713b70c717af1ef66513fb7647930cfa1336f2d6ce833ab8c4e236f7041b55765b431d4bab99ccd98e6c00f6d3a8daacc16881b40086f0864b73f0d9cac272a1fc3671cdb8bce4e60b62ae2c0b441a4868596363b9bd59d875d1e2326812dbc2030369d75b9fb935bce4a6e71a73124c04605d1f63028154b19f535f2fb9a405210dd006448daabd5b837eb4004b1f122e8845bdbd9ac040156b78ad86cbfa6f2433b44adf265d64e2b96525bc9c605472d2019239a54808d504833c57c7c95253004d61a2de899698d23731419fff754aafc10699ae2f031440919f81b525148a6efecf4be2c1fcbb09eaa060eb64983981346d67e5e84b3588fa650d7d41f8faab79f380adf09b1a37017eb3406892a4203fc04947882ad8568d65993ca9d3a35467f16a4e7b8e9b6901f941e1502468a2b5aa6fa25ce736584a65dc6a9cb423ce1905026416855368e47302bd975bac5f4ddb26fc87dd96541602e3a18aecf2e563c4b527971c15db949c7a4bbbe0b9192fff0cd7142b4db3b81e7814a7139b2fe4ecfe184c13f8d52972e5e5350914e0c036127f3db47b46ffd074c9aca5e3c8010d0d522acd30a3154cb43653dc56b000eee251043264b426f523ffba2469c5cdf45d45e141b90463d11c8d80df9da4ea26b1ee6288f5ec15c58e3a614f9712213c0ad089268b0d8ee4054967040328d7a1c24f6e579e9dfe08c37256f5b1ab0335971a480869cceb46246f237c2fdfc9f514cbf4872131925b6e944c1c35d43da05d2a2b23a2bd1e093d4f415c84478e1a2dd61e7f10292655949a0b0d80db5eecddc52d14351647a378c63a5bb36b404d5fed54d038d2ea6ce18ca68d1974e937cbf7162d35639a07c1d2025b84343200aa75401e1826c7af2d10e6a1064f493e9ef1243f1d0b32ec77e8bb121b543fa854911ff7cf38eeae73ef7374eea220d6d17b21cd5c12cde7b34f2b020c00e3bcd0b207f4d78882dbd87999e193d10178856fcdb9e1854f948ce5d9b6489842e4172a46a60ba60326e91c764343ed7ce3aad2a4e781cb109ab2f7ec384b657172f7dc6f30e75a01887274100df7a2b108391cb353c3516ecd558c1b30a683f4100e3612f4a38d5b0c63db0093704c8965fcc6db0de58c19304ed17ac0d3cbe4b9c5ae1c3c0a6d87c2768d3ad61b7106481379202c3866584c84303d3fb105f4cecc2673c568fac475fa1e8b0abe40e45a2c54644941e3051c175123b96163ed91f181b3e7c93c6620c108dfd29f44f8fa4c8152b10374a656a37d45a984d9ddd0fc2e7a67e4d204bc87b7f51e177d06831163775095b8ad920a4f10a2ce92485bf60b6de01caec62bbe2dc104f4c071846c7a5b15b7ca973eeb25de89e521bebe346e7b3b45f70406d3209db7f5332c3116a230024df2d96c1ea692620f12b0cbde44f7ddf790308f4ddd4f814502941e8436efa9a6cbd66fca4cfdf6877aeac8203d1b5a082b7dee06aa1834509d49520bbff9669a29dd80149e6e7aec2e59f8b82e03dcfdcfe586e5125be10641320ac28b3485906d10379bb36a28ef9d150ea006f3a6eae4e0edd8cf6edfef1c01f5669198ea80076e05b989f14a0746cbbc8a7c9106d6121925e0f17991d2670c9df74500086483c355708447a904d47882ff284128f5dfbdd9391d24996c3d436cef37c5ba158f3f6e508c8e8814ba92fe57b4fffce06826bcdd192a4cb2472b4004ed2d5639e217e49d32c0d39976126d15880a77344a656ae09c15b76aa8af50d15376ce08a53d7601029d6ee89988909744b0f97ae2f53b1217b45c78806d5c684404393930e6d9c68ae8f3c2b92e51e16b3de3c6389c86a032d301fd10b94315bc72bb6c6f00217ab54db8cb99467152e878c738623f49b3efaabfbf4b79ca9dab5051b7cef9a49ae81c9d7a2a22558cc8b593ada68a5e76b5598bc1bd85dab3ef105b97bb4a849f3c81e952b38cd2b4b22d990cb080d03e41509c590e04261444bc365fd9ab70dea703439a4a0da59dc00420e18b0f808af0c656c4e175376e7759f8751a40165098df6da4f70307216c61d165d428c980a126e4f07e31a6b428c3f19cf5e0f0fbb826b422de712e3d1d6ae12494e5097c17f6a6d56d4edaa977321e4dff7288826989fcf4c484e6a12c8983621949340ed06d3c66f4a126390d1ae7027c9cbf6a324e9ef1ec2d6323d6adc0abe0a5153c04321ed8d6064b487eb068f1720d65a8e1ac2be0fa1b429ae5b613ede634b0c1e3891268415bcd5236fb7119c6e58e08a504caf765bb836e61449616e2beb3db5a92537e89f791a7bb663711607598a5cf8ff78c43e4d2843b5fc18a4534a92186a4a6891837f20314cd4944a7bfc4354ba31ef69c9b45f75453feb4b8ed9aa9991c89a68c8fcf5ad665e79bf0fd9618b5f1e98e6eff9df1ca232ea93822e00b259bdff6321ad4c6721a469557e53c0037779541f91272b403580e308958b34a7fe3ec584f1c8ab53b450a3581cde9cab525787f9140bedd66c2107fe170d70f123fe0e01aae24a4a00edd313edcc6919e74b6e55d6eefef53a2ad8575296ea5df480ed03190d30a0ff303f56238032a08643bba037baca6dff23152027f92068e405835f360a1e085177f37db5a03c7afe3e3b93e73533b0c2f79d3c02c48be3c8c141018fefdaeb4b0cb9449cce3c7e80b5bbf313122d8b6fd740554a429839ec41d3130b9ca133b46b443a697d1c19d340b14a0ee865584789cf1872b115ec48e752b438d5b521ae98d0a24f43a7ee496cdd172669a7caa7beb0767347d551aa5319d6a6158e8c97ddf8d5e6db882e2e21aa1ac9aea829f8698b733467ae879fb77e8925eea494d759f963f189e512a507a8255c28383eb51a76cd906a6bfd05e72d9508195ff851d21e511c595e62681b11e4492b46d907e0c3ac9932e0049e3f20b353c98148056547d6d224de11b7f3406751c26fabad876a3544ee880123054a412e905da3d1915b2c1061ff0b07ee0e7e2146bb063da34f759c420d345c19f57b0b99cecfc7d6899c9aa8530414f48558679ef9f6e20197aae7b09bf421aa580b499da377e79ba020d05a0385de52997d5ae7ac9f1e4ec1d2322dcfc15f25f33e6ddd226eeccbce38bb95d77c62d246b48ad4ff416c57b6fe6271617c13f4c1899e0f88cb668af5442ad9862f4d1c88516c23c9bec8f5dec0bb247078027f7d538441081b1835eaff58b510826257a250b4b9343ff930e6fc20db8d573d5fad08c2ce39de2ce1f057b220c323079764d1a2533e3549d458becf4775b38c78d0374a17ebe975caa09dfe6d6fdb7def28897072316c53318f389b979b7cdb1efafd70867492f5c194029acb6ccd2e63b20b44e1b8d705faaceb9430bcf208527b344773963e51fbb5c77da8a20a85966bcd430455548dcefe46e885637de7b0b28fd33da29731814de37d0b91482d156bd51418c61b0b72fee529941e29479f9a9dcbaf29fb3ab140911653b7151d59559e94857a6591ab47776fe956ae3c9ed52830195bb97a6478e765ff0e15ed3533680d62a04a56c5bb284d61428dcc0d8bc887f45ebaf6c6ef07ba1b2214cffddbed257d3b0b596064dd8dd27e41f3c683a9fa2c8fbc4ad70c7215b11e09b6f8954e9c2c9d64b57bd501621094c3e3b115dc81355362efa698a108eacc3c6e48fd9b1d03f8809e0cc3bb28fb3cae6f79de3392d98b63fde28fbc28a06f1ba17222569082d4e64c20847ee01ab7a8642badc245d32600a2fdd9ada42f432dd085b0c591a65f0ea56c8caaed9d361d01208e8e1eec1b8989cd3d5fa0bfc54b0ed90c0bc70700cea8ec254699ebd3e1da8b1e137020e1a7a4aa2a38fd84cf45550f19bbaa2f30ffed93d78a149fd5c6410fa04a38783e243aa583b369441a9194076dd216e7293eaa010723ad996506848ba5982f69d37a2db87a60e0beca024848fb17b1ab27a5d8bcac8465648d46deb819f1380d466aeb152dc496d45921e64e8edeba688126e79ea89ca8368a45d2a8b6a4107d0476a946721c135bb865cded71beb5e535458385a09f86c04b4e3354e1b78b8591583f442485a806aa638bc5c01f0142037449e689ba431379899a49c045ec5482c049bd2c24e8de96fd50f2544d28f141d864087e4feeeb4c99a4bb298832bef468a5e2a0bfa51a1805d81b02bb66cd0d71b119ba7621aadc960a9183d9faeb200f62ed421d7c05183df8581caf90a99e1f1e04f5bf2eca5105b565a8ee86a76f76c6360960bd577c40d1c7e97dbd4497335a98018828b839c0b5abe744d585c0cb6d2ae8f7f0b20958515a99c7805d58a5230227fe00375b64f128f62c3a3bcbb5b6ff2d87aba9fc715fa751637e707e9ba818fceec5152b2f98190519e2433c52be8139fad285418fbc9a50bc807da3314290c43cccde03584dfc58cd08883634223fd530b29cb4ca588dcd7158a4400167a45edd5d6b39e7281fe4cebf22338bc470f72c6f15160f729cac42990865b24e2ac554c7e913e48c77440080ddfb662bf961b39636a2bd9051032c347c2a0ec23846eeee854f742d2396e1fbd49fdfe4c0b300870730427af4ff8bfc5205206a9e6bc148f2186f82a1152d492a9ecdb810366b29bacb7b6fda3700200ebef9ba86159b29952629c848702712da592e475abf67043b6adc574db99eb87e402e6bdd97fa8ece709f17e1c32fb33a7e66183d8939ee699179b6c40bf4f139fb5ea298b7a2d86ddb645eb235c28d6dce786c742110f759f65eebfbc6e25d8b97e4653e1a2d997210bef91547501adf0653793cfacf0ac84da6f6f97a56291404f61ce2f16ff5365b9a09e42601bf4139bf5a5352b28d322d54194d2087cdc9c078a9d98b756f86023c1a2f811f6205f854f8f65d70c4ec64008421cff9d0854a5a1d320945222f990b73131c429ac1820a81c9f406b7b5c400c40f11efac9abb6e3025c290a9594869caf1f04637c9e3b7a74eabf3e54d0d720868eaf466f1def373ea06e861cfee199895e7101852ebe14d42b3447ee335ad2e5893eede8a8006d759fcc8997190afed7c3346522d45d7a1b2685698323719e2f52e892975afff0b5bd05d794c970ee070267ed456eceacbb16b616d369e4cfdfc902f134d507e3c6c4251b46b2f3c8f4eb672451dc64d644454951744bae06d5a1d74b51c517786d80c87257d81a56f1374def0859833d0e48b12e2c822f0172ea95dc7f0f19492b994fcfe83c6df443338da28d082a2dcdf11d44dbe811c25c112ad4247a6dc410c1df486e94310ae1f7f502a1273c179da983e0083dccea1aca4a25e5714fe929fc01ba56468b2c7d230d59d25a9085983276304a96f16a0a88ce61d880371dee33836c8174f475e748f0644d4d0d10b5206987acbbc26385108230f31853ec0fbfd370a821af69e5a5e2070a204166d2e3d6ca51911d5eb40c1f6eb794bf0d5a5b7c51805795b14c50facd16c1278a1b027212dbc98f31574cb4cfbc9bf6ab87fdf56e9a528816bfacca53092a5de8416f39a0029ca69539ac42fb3d7064b51e19496861390a8c2e89a39ec21f3ce2a19dbb3f8ac4bcad0aec9c31de083fdee2c03424a1caa87c807e76b3701c39fd787ece24240c9276b885c96212cd4efb338c7b66c74185d9c1cad138a0768503d690d1632e46d554205936598a6ce21fb4a5e0a09a44772aa73de7b24b32e9e576c91e73286b4fbaddb90b4c5e981ced815179468d6e52db5e07b539782d8146e6c4541822d6d7589b90fc07edc803eb8eadeed5648d8dde2b1ab342dd52760d79b6d9ee39e886a249363910de20acd64d21ad81c7543a8af0625727eddc9d17ca9415fdd4c15ca6efd0b4fed6f5e9cd197feba88a57a4be92a3c0469515c82e166cf22a16cc4180815cfd92492a2b9d9e5b9c361ba890b826ec2b80882e06952fb0019c280bfd341387d1402c17d882be716048035386a5a54d93df20c9121717e4f02425ec179752a9e1ca3360f538e2d404bc9152076fdf1365f88e734f01ffd7f388a48d16f96534cc7a9ced00f678b1510b70f25171a50900967da74fae0b1dcea9c09409b35676dba8a44c107cdd7808ecb05d979d9c1b17c75854311744451e49a147517401c8b10ec3109a24ded898b2e4b8b0259de59f5e362c941d6cec7a10fb2bbf7d7dc65645954a62f1800a7c88e335c2cef6594efa87ee93acc050f3df19c62f324709c3bf215dc9cf6f160638902143cd00908c81514c940d976638cc725d4255cd63a1437336c29fa632a1057eecd8198ce1bc8bf903ff646b241fb94731c243c0f8977e38409128b236cc10723533caae3881218e485ec1ab43c4c60ade00bb3ffc667e0c84f01bffa61650b996f2a0bbd7bac534e4d8bd8759eae4d885a48af1b33edbda77e245a66b07e19f0cfa094753274fde30e24cb9640e3f8689dd0a238a2f20ecb78e8aa41191fdead0c16bbeb1fac018ad5f30060366ede4e25cdda2cacb093c6d20b57571a3df64d0048d48884c0c7c0afda477180fe95b0aafd6ae850cda272e28361c438de9c14794a48a9f69de24317239c756543bb55536994c62d5bf8f1787fdad2d14180c25c005bc5d1115796ccb1542814c5d347f89645c2f29ee3da9bfe5fea1e279a06a5983f2a944c446a90b6471fb528934107c938a00c723d28fd71e9644e961dc9cd5f1cbc111a25a746c55c72033fa1ae8e8a7442b1dbdf5acc4e43906277e25ed2e19efee3327e35417c2b91b02d07f506ee7960f3ad276626965b17929bdfe219cc314adca825e12c3cbd02606dff40dbdee07545bf07527d50f22f8412456160e6818930b17012b20915f61c87e404bd8c153eb2d8c2490e0a0ffe3efb0694486250a29d84e3d0c52f5278e16c93d6d15bf0991e4368dfca188ab2d895a4c3c13d1cbbe45be2dc6e8ce126c17b96b85a02a4a082758544a92feb81ca03a0c390c7380bf615d3f36c6e20a0618378aaa8d8058d72c3664054b5e64cc800c253a1b61c3e8a63db52450eb1c5f7985801cbe7d5f27d5dadcf8ad48eca3d4172e62014eada6cc044466013dc83ce0fea5b55673bc0362f5d5b54234781f323a0c0c840e1cd976c05e4206bacb9ac1fcf8e4243734684c457f7734a0e01f52ec8f7a9bed829ee9fdcf108df71b4ced6a46b2f85aa4c1142d97251b9b3df613981604bbdbff6228889f7cd9942a28e530450c28b60b32efe6d8c0362df56943420b7c059a302281b8decca12d93af2f3b646c4769dc54d827d97243c6df6dc6974df41947bd5d449bd2590643ec4e85cbc7f82b058d4c97f1586a118939c451dfd490e465fb6fbd2051cb0ad9a7113c96b53f64bb83ca1085f6342f12b77bcf457d6ebd86fdc34d8dd5e2934d06f31dd567401d970ae8b26e03b596cdd794386cd9dda13a264e5ccee7a7e3171df2eb9bd92c48386b99811aca4fb189b2fa9803936bbe99fc6a589443a1da66c5b47e849cbd37c94cba2efad1ebb06c94c9f8480d9de516a5b33ca75d83abb3d6b76f0e5f0d5db5c690482b438beaec317745a3a1e759f5d1fb638fa610f3ff229c3ff1fe83df24a09a0de5b588900eeddf2ca0840df566f0e5d6dc6c56d26e53551120610a72e9829a75ec61f033a4cea6a38c83c655aad3c7c40816b60046eaff63ccb0e7f073a38cfad86ad514bfc773d07df5563570b374633f249689a7be9a1d4a3da48be04e2aab429222f4a76096c3ca2db8427ad6499501924baae0d82d2b6e1dc1fbcc11a665b07e7251c3300bf5a24b2e2be26684f9f7f8fdf14b42b3fc027221eebda040cd194d7830e5699b6d1baa8f09cab26f15fedf256de477945fd818da17daf390b23659ac3c538988b9f1d8c7c84b74047837e564f9ff57d61502c98b159dec4de202c9f0fe5f4768e6413f2e1da55349219dfe7dba5961fd6bb86a03899395fc6cf776c11fbdfc0223548365ed40f99e1bb2f57575a5ad853e3d89bd86fc5f6ec9881365805dfb6c967a66859e135b9afae31b2f4c9d758ce669f5cba923a8e814e6433be53587660896f8ada94fbd30b99db11ee14656494eb29ea3088a188ee4439d40f8adc12badcf249345858b80cb5ede8c4eff23a10b3b6c0c16e947414ff1f4898c8f73aadcb9a79bdb76fadbb3ddca59989f9eead7f163480e06fe1e80137a8590738fce8cb8f54e2851b58923be3e490bcf51325863e0a5686f44d154c4a7ac6cd1ae3923f68132b11edc5b12a9cf43ae1623a01390b22377d462fb8e8794bc7aac0386da7e7f156ce6d5d4fa811cff93213fc1f49fe27ff952fb856c47d729b4aa9ade49749493a236ed5b6a6f986fd1921399dabc8c0e74276f3ee3ea84fea8a7c59aa843479530544a77d391752ced40acfa0e6a12ed132b7160909fbf129bcbd038a096470ff4296b6ee165497d384b80cd8ea227e2756c5987700e88e0583c653eb1a8b0f40556d09e8db30bb05c48664cb88025762c3e80145c9cecd8dd5e0b1d6feca482f0e530f5040eea072355caca49a46c166b8b4c4c85d0904583b6830b2cd2d1412c00b35ad2101e247d1cfcd0f8d738008d1b99e09994900ffb692352373dac08a6173a9768ac8942314b74202123624e0dbd1667abfdc054891508fb62eea8ec7172b82be99f597784b7dbc1a5b6893157d93b5709bd8ee6182447462a98002eaf05334050679260104fac0b847ceec32e4f992b53541e8877b6fe2f535406d9161d493f5adfca3c10aaf26f81adebe705afef516effcf709cab62d3aed98f40fb5b5972a6d56a1c6d683b14c1dc64c6598ebc56d224a387dd1975b2ae372d274d363ea120fbad42e9f2fd0e20c32c6c83868796ebe12fab786b46adff3448ce3e5a26ff451188dc23088adcf4b84cbb3b1e31cff6276cc7c3b5416cdb44018729e8ddf7c9e6e40a401c96e02b393026249b00f6436bc460d1f610ef6936848bb62908f11f4c85db4a2c79551a734e069aa8d971037d09081cb4bb2d0b2ecff922eebeb92f4f108da8dfcbfc4ece6b75156c4bec295ba0bc882ffb4913bc0f668d53ccb2e7d83fb05db8dadf1c2ae24c8d1ad02aab694a9777155f5605becf857a4880b4b34c8a6bcb65b4b3f909c3877472d2ebb9229f8811b70c3055c6beb693b53a0675032cd74b8c021aaf938a392e24a326b5c89f9c1d0841b6f6d8e5b8889922e83635cc93e8e4e7786277d7a7ea092006f7fb03535f5cc08ec5c059a7d8f2157029ce7abcd4c44142fde4981cb7132fdd0ccb3602be130ac57928aaac55a483473fe8fcf2e614c272a6a73155d25e6add32babfc567c386fa32e5e270550918b7fd337887ab8eb859b97dd7b5996ab65754f2cdde4a675cb7ab8048579c98d93f035d63104b9fe5e40b7e51d1111cf11e323fca2277a345d0f8213fb29a5c653e9df1e303cd79b6c61f53cf41d8553f0b8864a7478e49786ca3c1671f89f4a760d799fb750c96ab9a08d5c6b0442c318b9cd5e99609d938085bfe99c10baa2eac857bad14afec5a3944c5a1f1003e21411c4c657fafcd467a56324d46d3f8e458aeda40b1226c6c622b77e6a16176ff0bc200c2420daa73b91617ba63858aeafccd29d59a37460627da474ef93b666a7326fcc68ea1b1152abb20bc6352dfc5f472a116fb64ad6912decdb797fb4736359be35b72705fa4f32aa0a3ea3a48d31ba0919909e30aa04853656d6c9815e25d88716be8b5b1672606d140328899393e69d61b0793554a06dd875b40b83958772508ce072649b97ab1c93b1f355d1cbebf600acb6270783e05c023dc61474d98f024ad655c873bc24f3734a45493bbfc0c704f24be8eb617d62cc55a1add8ae85da0b02127e5f2d96d7a2da14af6907134eb8fbee10cfe111daaae922a52a718f671c05b3dccb382fa8c28028473dae5d7bdcced8c7545a191b454cf476ffe7d14e462738ea88d4951a5609d8628fce89c769431de1898b33562fa9691d712db3e0b51dbfcc38fab6201617877e7a41f0d99fecc978e6e445ee1d189cc8aa60c2b23956c0b051a6c57416569ef59262b494246eeccbbccfa0a45a0b50495a623f492dda12e90391960b9d5f573344229724ca6e85bfd4df0b46a54502d95830f837859e7db3ad8691095f0c4eb9e218e3081da438f60c15e2c2850cafb7b02e3666cc2622edbf19e9050dca3f348e715225d247468e4688fed8324da63e1c91c6957558a10584906d74ab7b859cfc4b61c2ad8c6d904bf87eb38dc90f41631c8cd29e134521bc9f9052b9e11b5c352988df8721e76f8676f4d31fc7f2f0d8814233e934f3808178448e2b4303e873bba262c9419e19d544ce5b4cddf29572e4d5fae8ba9f524c9591a2557ed3c99a4c39a64154c9d265563976b0ef99943007ea7128c12672302222a8408e837dd3e7ebebd051c89fd464af8dd0bdc92efcf79562a223f2300ae0e74f033b18bd8eae6c8934aff3c0e0641ea44fc5c30c0b9e75afa3e32ddfc103b6999efa2bd433ea880e41574aa13d68c3e324bfbc7fbb006bd54e8fb216d9f47db28d4210199c4658144f6b2270a70d060d83adb77bd0783d40428b2e83d8ea490112858bceb06f0186fd43ec5b2387b3cddca64a3761dd5ef4b2a40853747201ab45807a1c5293d46c3dc7fe1f7a5fa1c20898a90bf6195e029f49093370b663963413c0c231339aadfb5c4ee27693a28105db2e9d0a61c0be281db06023088f06fbc884ca60ca224060185a2e44148f6b7890477a842cd2abd81c0a652e7b3936b24ec3a8e637fa3c679301c7a832212b4f365560944daef90b971bb29135c9c5cfc6cf108a9f66284174a63cc433214e5690dcba43feb2ac55f99176af7e4e86f9229da6ec3a9eb52e1d21c7de1de11b56d08732ad51d02007cb2a9354ba68b23e16f46a7ce5e0950a20872ccc2dde3ae6e5e75f8a343f530abf3692ef3669ac42ac1bc521fbc9de5e4c78f2004a465e4ca87be5e59bc5f5aa2ff7e702605ac7406467329fdb9330377a1cf48ea9102e55a666021f07d09264f46916bad93baecd147084e1f9995d26d0bb1e178669e40aaeb0929b3a46b09599656a777f98e4569be0bc3269c1771c6bda80d6fa03094286a4e2f043c0963d091a19bedeb58b22b4d71edefaefa855e4e68fc3ae735a5cadf2c3695ec8584b059a279b2fc3f361f391342f221f252249c1be5acd8ae0d8b56e9ffca2a1034e1d128a681d108e68220466db711b2d523e27c7e1d143ed756cd7ddd824c65ac95daec5d640cea8b9c3dddd631135ee0ff30ad861e5dd5381559bb458d5c03299da7ca5a9adc158190d9385c22d1bd100cce84d85186d2d0f4c8c4c1160600f103e8ccc691b7ea4dadef9911b0d2664438b261b9242ff4d24d1ec9e7ffe85839c349afbae31c4c2b8f5d0ad8138ee83471392f8f1dd435af12a2b3f2be38b63d78f9827393c64fbda84e3645c9a7ae4424a1246dc57630c9f6182a89a80b595a16b6dd886d54123a81bd4c058bc2836e4e15632620690432d19d101e67ce8cbe7a954241fff92ae03a2869825908f06d831abdf7900b5030e53a5b389a6b8c8cbf56b7c8073e93ec9f24c0b9a1957c8d9566093db071a1ba26841afff7d99d2447b56c5b14139a5e6b55f9a1a070dc05dea1d4df3a0aa954a5ba44aea50193fd94416eeb620b98f5c1adefb2cfbd3a7871425dfb437b51f6aa605c5e1167a2770159444762dc68b16f47e3e61e0967f7768e83cd6f55344ef61cc3b2e5ad0cc0097f7cc995b4c7667a0a2fa35895d1982ba14b7898cd1b630fbe05e64bb6c6f7c547c6dec3ece19ff26280e816a3d3764713c91fde72b22458e39d62128f8be26e9e2eaf7aaf0b7d67e9b5b4606adcdcea858445baac04e1719f431e8cc39565dddc29a914153b6c11460e923fb1521a0efbcdb84a0f442bd7c555e9f25dd6eddc1ee27089784a2851804954963f594cd0c342aba2e74268b38a322ca4d4e692d6a3b64d05d2f9685e31c5e03808d8f4fdc83fa797920ae855d4def754ee69ef7bba932bb9b6efc5ce803b0aba44b1fa75231c2d5df4c25dd18c8a04a5669f956a1e6db5f4d1fac7291310b19b47c2a05d946e0b2257076b05a53ff7bd7336009e9177634bda888e2830e49c25664d09fec1bf37fe08d36cf7a59e0f2d76646335af7b47d395843703329b1a35ac7c76048d9041777b9ba91440605b9940ea83a4fc6320b25ea84e0c6890c3a471c7575f0c726e161c8a0b9df29db4aa0cf536940d3d454b93c2c10ac2778800cf1f3a9d466ce4a096167227e0e3f1f896245bd167dd221300b6741d4300b419c279ffaac037dba8574fc0f1e11df187bdae33a8ff04aa2a2a0a66aad92f3d89c1e8cd29af4b4e75697334a44a7204f68ad0a8b772f0aec25e5852853f8788bbe114b9407d00b4289123e5f194440e8860b57e76061d1602972e12a2c2f601f197b0900ba8a6d9f2e1a809700110822d95e383c36675c47b55c8d3c88c820699e461244f377d02ba1941c661a1bc154286faea402b18cb02c38a61c4e6b207d5a5de9d51a69f78a545e83ab80cfc53812a4e479997bd25566435537b6906c4280eab4e09f3344c9d90db21f19802212ab1a85ec5cf6b4ee74d788d175f2d48e1237401993b111f796adc89f23ccd202decf0222b229142306fdfbdc4890b4684bf23cba2d444d1c596c2d59396aa573ce0d0ee29fa81819598f20b2a78745467def36e82cca57d7a1eac2acc0865f92f6abec8d9bc0667b0356f6601aea580090bfd602b10cb9347c218dfb13039d1391f34d4a038e49efa254587970f7add154fd4deec41db784a14ce2468f45b9e5e33a414bee04ce1105527134ece69cc0006804e465b402cbb95d63844d679fa994dbf30307597bfea04e3c23df897140d54b65d48a0d22d4895c804f14fb09a9c9125c2582089508ced13454de05212c2381c9bb6655eb4a73630c603b685ab40cf5f821ae0b3148255cca3886b7be0ecb2573a91af9d820722c5019f54fec80757ec9457aa22b047811676901b8194873dfb419da71b03d6817dabe47a52808f308a4e832133703f96c55898d60ff71ccd1a33ad97c72d4ec0f065a031bb04d37ea93d882a73754d3589ba5a639b2107c1750fe90fe0ffd87f784296f53509a53e9f94a71b30d41c2f9cdb44ba507b2034234d58be6536d3172e98903a2bfaea2a96a18850d57111d836f3471a04e603217fa7821a4beefe353feb63f047cf0530bb9fbd90aa0d491853a88e77b9ef869e86c9948a8c945ef4104ac6693ff3ea7cc80d6faf528290229893a1173f40edca9a097a3db4127560ea54f28987dfc305c678412485f8370c41985f33ea423693852ed1f6a5077ad260ff942ab75815309c7de63b83cae4483633a3032fd6e2fe3b9498c8d384410cd55819f606c3258870d98fdef236bdae1356ca61c18b048f448b3bda85d053ca25108749097a02f5e59f2ac9278518568c037bfbe8ef61fab182fb05e3de255cfad53631b1b3d49960df370c7f45e10a82ec691eb258fc0885f3765cc9b691a260a0cdb34a88a0e82309154e3d05cd7092c7edfa6a0c1d46ae94239e69db0dd00c53d96b45fc38420c382ee1c03e90cc3b9c949cb12cdb5d3403ca256daad50fa9e8afaf2c58b2794d3d02302725e07f47b3d3bc0b7176107d1112bb8801f25494ee1bcf70cac16b590f4522c81e9d80f71ed4fa6fdaf7b1adabe2874d73e51b1fcc7f5dc5a503728d084a8555334de50e547029afa6ae7db44d0292f61e0f17240eb48154946272b188a2b42d32e9c1dd5db62ed21a873c58012456fd99035a0281e3dbfc49125c12ce9dce99932a5cee39ccd65e57adab153715d5dc8bdd41ba80da0bf2d43114ee677cb269f77daea022251b28e149eee8856f8d092f21460aa421163f7684ed5889fd315a2a21efc16269d62f5a3ea881cf9200856d3aeaa790980dff2452506163ac5a0f5caadb2025a78af2652ef6c05aaeddc0d42e34939c1113eda649fb7c8b9bf7728654a7f7a7a22978e44ad10f8d4527a228cbc74457010acae8b2236258f6aadd96df34ab1e3deee6f2d310b14f05d5dd6dc2025c0d4c99c4e1337d5bfbb7187a3f06ced878c26c2c581cae255f1d44fb8bb895324ca791855d841b2329668c24e266ce0b6379929faf6f102b973935b2eb94a8ea12cc2a2b8bd96fc8b169feb5e43d92e63047d37630349b02eaa816e325e7e11071696774e0e007058a358ca78cf77d1d7686a347adc47b89c55fd2628f210f77d1235dc07e2cf15d6196cd5fbaec607faee3e6e27a68af7179ca86ac85f611161f7f181f60e624dfc7abc6ccb7d4d594d6b555e544f418367eac4b4c82f7a6cde265e3255607ff259f88ba403a88a6797bb54f88beadd84a7c3e3c3f017411da96e0572e35254d7e434c199e4868af9efa6057f51fb7451f0b7df0d826e3095ca26047f91f9972ebe503aca7b7f4b9a11527ae34802270903c4bec8274650a813701c1058c99ae2219b832067a3f330f88cee759c537d6c4c52ee95b6a19e341fc4558849be34328ecd8dc7ca7f7b279a71418c8ada1f4aedb85dda09af417caa0200b969d4f75d0acbed061741ce1b41012c195d6d6e84e92211a87622ffcce2848352d2aa30059c7ad700ab2a6cbed89e1f9015e74c6097f64bdfa9ea4fb3ae701d9be6798ca3c7e6d5cf420aa9474a3acfa3b0c41d59de4bd1114e70289c7dcc13c3cb5507d5f4bea17f419e71fbae432a81415634bce27b4a4be89bb6c69d4bf9faf972a7786d6984ccb4a21acfe15bde488fc5c2a124bf5dfe1b4b1eb143aeb4e29647bef3b34bcaadb9254e9ad4555960e633bfd81f4ec5b09f7084602676db7f225c7c66953dd1059114f25a767fbaa0172056fd764560237b8d64d930790831d1cfb43d720020dba96289ceaed2ff2874ffd656e3b67fa154db7077910f1dd6643e1df316e38c216a9fab95ea7ad0cb855b0b538fbe8963b6002444c99cf383226cb546981c17e1a60c18b0681cc01d93c0d99930b4dd28a4c9f0737fd49eb3d372aa048ff7b282dbd617bf87bba1d0e80215547de9ff2827f5f56ce528eff37d04b194d00c7e511d5e421124cad2c0eb6599ec1c010411179c22e90bb6c4ab8e0161ee289579e26ea8303351a5942b7fc4b7e385f2cc7082df9e367e5047dc8c218803e73baaab82ecb1cebc388be92b1e5171327d785eed636a38eb959020e76c032f28648b4643b91909333fd9f810a24549a7498e3c346c841835499b52e4307e72846243d127462d5a541b5361873c18eb828aae4ae80a560e0427a99951001a637f7071c8a84c2714fbbc2f49ab99870a46bfd51552e553cfc620485a5238bfac0e06847ee5e22b45a62382842929cc684282d68f1a991fa95a69a0359fe92502f52f704131d3dc461f1a58248d5cc8152dfa66918ad790853fd8180feb6a861d86556268945ca27c61610c81caef289416105ad29d2f4888d02a241e63ac98f1d1929f07c137ec491029e02a119431b3f3194ec1a96256c96d120ff6b7dfb84c11cf3e9b47dbd4947574f5ed08e6613883ee6164fa460ead3432f910ef9afb48707a6e5ae389cdb09698d60ef9cbb7dbee29f591b2748beedae5a57671490924899cef39f65a79770e7adfe065d13c35b331876ff3b07b744f6a085685e728ec2fa1a2be8097aa09641b595a13a9533156482bc26c10e2417f856753424fe46e88810341249caf83c5dd84e31ab62c989b801d37adbe7ce43f416f0b5beade1d8741f1030e39650fb2513a63954de82487610cd9855cca8ef83bab6eba4dec730c0ee7eff570deede07e187670210ee7521dec3c69a9706b64a2f30f89578829b40bd3c7e6d1758118d2791bb53d70724b50cb1cb81e0c99c3cdcfcdc293c547f4e71f4cf6ef9ee48fd93c8b07f1b3b84fb4e989eef5d0c26f499c897718cb8ec55d3a39d9db095f5d9985856058c6b229f249e393a08cfb24f46c2887f189d2ef53b14a92757ca0e17b472af6e5f4c96d584defac70e94899b7b07da94ceeed5291c3bab5a48267b9f63f472e0403008afb241984692dbf75eef33121212c638aed3fb598d26fc4898c044c6b5d2caf312d1410608f709c45719c55bad513539c1a30eb8883c6247c8ded0d774c73dde2d99836f5a454946446efb78abfca546051ac632aaf5f8d29836e12302607b95a8fc9388ba0c03af370e732b779ce6311df1a05583b02742212d23d14f4b2e49484613376ff5f16f91fc6cdc9c10a7276d17115f9a9bd6176617aabf1ba57e1d1400a34f85530dbba34a95460fb50bdac29040c5c850429a4a4a4708925e4a94195a0af0ace10463c9b4d490ff2449c4e230e50da2b7cb13e960725e4785b94901264978acd59684e5dc16838ec93f38d9652e42573a79607e7bec67eeaa7288e3c3c437c284d60d9110de6a901d5d1b4c0014448283f5286e1400de51ba9ecc60945cf132687f09f5c8ffa812d1ee5eb05971113e7ec77b6916750c0d900201d819306feedf147bd79014894e7d7bab0c92b7a9c4efb5321144fceb680efe0f927c0a83aaa1c6c9680be0c656ac6095c6bff2ef03ea9c1bd69a6384b266955f6c92909dbee21e016fbeb83eaadb1d3942b46dc01d95aaf7fd7c515020c3520b53b245db4594a6ac91179a0a9d9f29cb492bbe84350bda4f82f89f2d8ef03ebdbc5057ac8552fa5f1cf2addac9580f1a69a3472df1feb8a04602136e508ab9f5a9e7e5eeb245f4a88a7bc9f9c0963ddf8fbd6833761ffc692a5bc4ed9eff47713acbfe4c271b74c593f5dffea44463696b5b49ad7f9c1ab0295dc4f6326e7f81b0b2cd6d01436dfb1cc6b61a1c5de6895d04d58a2ab81e896354cd8123a8193fcde02e6f04774bc3d3279da5627876e03b744d7620648cbb68fd2500120a9f337b46e8f15e01b0a1495e6e6a1d9ef613f3eb2d70b495b66045f1a55fe04c8281f80319cdf61e59986b24bb835bbc5e8533f5ddc3054f6febbf18d1e882b6759d7a9d10e1930c987461bffa633e21f505f14398dc129185b0d114d98802bebb2c6e3260f0b1c8f745230df16a0221da233727b3944e01ca2fd7806d9d6a8fa1b1524cb6bf0b46cc3e57d4274dac8814f3a9cc8dcc00bff67cce2a8796f8a454790ce89ec5e3f9a19c17d2716661f2320ea04c8603bd8a45dd51b303019fcd9a28e9c2ab1b6cb6d4de618093b7c7d4530212c112a3de11df6f229908a184623060b238d4f1c8278acf52cc38d81b643530e3e1bc3cb5abbeb01907b182af52d84afebe197b25db4d2e0e611ab3a9b8bafb656ee2b26220f36a90758d1a032951b06b7af975530df4e3010b814fa10f1495340d81cd8c5c1ad63761a73b056bb2247be09b9af9d35b1c89d81d2aa63e4fdfb5aeaa0b7f97ab4213f07a125972b80b9491581b47c22deca257250cac4fb2cd8fbef21b9787546c1f3bd22b0fdd84ae7253bbc8db5f2cef27ee75a64185e4e125a65fb19f751ebf4832ef99521c745d3308d45d7d9781b1df6ceaa6de952ac6f39e84bc76df8c4ff4ea2254777d09c4b7b310b9c40fe01a1bc6f0171424b4fa086e1ca41a46b9a4def71065df9a12ca33553c557a31d9c8ec4548230a2ef14e67036bf59badd8294182ee37be63063637c7f9a7de87565c5adf0997733e76d5a8be7f1e8fe66d16ee6fb37c8772170713fa5cad095814e109c2fc36878d286b0012f466562452fee85deccd86c457dbba2889a00a9eb74150d971d4f765430d57099a659e936520a075c95aec1ac9d03d1c1cccffc99114a5515e045bdfa04efb99ea67d37edc6ded6d5e059636cff128584fb42bb01c26a34d35449cf3861bd33b0d7526e8c3e3df3a8342a3bb735d302a0be323b56c078fa22c705b155dac919ecc61e7d2eeb0f70758db6bc3d5e1c3cffc9c64f672e88ea7cb750de431ef1c688463a69e6f257dcbf55b7c0726a018ab85ede4eda3c16e8f6d5ac739ae1e7726ee693a59c4feb0d4ee6ce62d720403c6487230d15575ca86d069f6ecde301acc56bbd1fbebf276091fbe1c6d0b689350f17610a5b8940ab183112ba0e45f4bf3c0044e80e67193bd80b2c33a18029d700c249511f59ca13f00bbc3ba5ba79c0a9442ce54557c455e0649603da806d518ce3877b38fe66f40b252d0b376e641b73c9e3b77b9ed2c600ee4e6f437d009045b7eb204d6ba6441a70674abdea6441565cdfc3a43aeaab673d2cca88cbbbde799709ebd5b3de3aea548f55b2c4f1c6f7ef7857ef5ac4cd9e69d29b4d3da39d0cb29681145de7ea7745c491a51a4c2f2358babf20ccdcbb518fd0c55cd6b6a27fe7d2a79d142b2d59e819ddc493a27dc896ea150e5f8f2e4968ec82090e42242fade493f63fda8615b0323fe6a014df0971deea278b2f58ac009d38e43f79524e7248b3ee4f2a03f0a61dfd49247d1d5e0e8331c9c39164387a7bf6a380d262e217e248c983d2455a381156288b865ca0bf5032ef2001d990eac7af9867d6f392b061c9cce0d72241a308cfbee057795171004c482f026bf20d9a5accb0b197d28b1401ccdadbe880550f92e3dacd223129ef7557cb714ccf2cde773f70660c6ce77081bb0c1b111e1723f07dc4ae47ce13e66fe3bad3d77bb4881f5e4bcb9374b11f796ae09c86b7d9428d1357461d669bab2af4bc64eebc5b03ae5cb8db06efb35a717e889f44215918cdf7c20bed92c3461b9c7ed4b21b7eca724942f20c8c2c2728590ca253b83866483436848605b663ccc2051b1dd20de192eb7d28498f2050b7e4048f7cc0487f4cb9cdaa9c35b488d5c1badb5d608de09df9de70511217a0640bc42c8ed90abf442a870bdec3c5604e44a6182fc2dfbe280ad313d9b4d60c0b178819e14cae00a4b3c729283b38b73631c35ee3b9182cef9cdb7cc9493dc57eea54ed0124674699cd8574fa9d414197f6c00d4a3066f9a4010e71b304a4752a614e2cb13e5df8e158d2ce01a0728b32cb36f4981eb0f9f3fa185ba2e3d818d9286af13a53a427b094e315e39d26a1ecd95d2546d8a98ab0be8eb727889d1934faf53c3d94f7dc940d8d493303235b229a8700991ab7d63b892a299765b730869e2c5eb9bb28a5b9cde4c47445ee694989709f0b8e81fd1981c9443c3823f85ae2f62b92a6b0b48e506eea4720e5ddee5f439f51d620b5e7a7b7feff1980390e19622a16fa43df44709d9d0908f9e15dd3f366b20843e4bc0367410fef60261a856185adce1cd1440497c2f7f886def5c8c68e75e4a614c64b44af7f492425856b3733396e883ddd957ff5dca4219e5284b870c2b138325cad7c0b91813d26c77522ae772ba7b8ec40dae300cf98e554f32e6e447480c55705ac5bb3a48e1c143ddc52b9c87f351f31d228a22d92a90fb105661a259ad88c5a3c98f36c8d85698f499131a5e4f59e2e7b4933dab220dc4728b396b41e84ce1b9602d01bc1f2edbb5ba70ad1f095a6ff093539d30df5b6a5bcd0727847e820389d8c72c96e26ccf6a55b4d336d6a5e530106944b08fe5e089ea324f600047c2446c20082b2009ce948031220b2cd2315b99c1c221f80cfb4372740490fed5aa174cafc257c872611201fb0348bd0319cca5a0a332527993797f48a29554cdea05b24a67ea28a4915851521d68165b66252d2036ed53c2e7e839a5c09d7bdf95477a0df0916d349c85110bd797ce64ffdadf8e57e90dcc76325ce86ba13b964de5e0f700247516182d6b2666d94d4474d5f9a25659b796886a8d555bb5e51b829a8237736eff0212a316e9cc86f3ee959aaf84ecc7b92b2deee4abc94ed393db984877b9afdde887ddd8954fcebcae656f40d3dc2ce19e2bab85b93ec606ede891294da1b1aa6070712cef28886abeac42c19d5ba4ff9297b650063bf8e294249844f186ee832e5c3fce040b92a0fd1bba4384f1815759f3e5284b49a3853e729cf37ea878e43bc230143b5bd06d50712d6f2fb9ec3f40f2c3761494ff335d68359d00bf506df878189fe14b11389b855f3e99523dd4ea738a24e8db50eb851655654a8713a4f539500029691e2a8666e84295432cd34787e4f89bcf921cb6a8d9881675df4d9dc7cbab7c2b10092b838c8bfb8ecab9ad48e910ae8c7210ce73ea9f575412bd62a12e3a006551648450b67bcac2891aff23f3017bbe0d24d5c37d46584b15f2ff81e40646d16061862fdd29ddf28d943dcc913d24bd60edb9b67b82e25fe241042c0e139047df541be1464ce5e145241085609ffced3a8a1a7cb22b931fbb3da484d8f54efbe7377af596a2ddb339af081430a944f306b95702a73e8b63b75e279b18c210cc5f21995e28fe901e9ee0e476a44647860307ac4956c0910e26c1398c9b29323109e362d06d74885e2161227445b926784c981de6197999e4dee58d6ab361b45bec95d04400532aa7ae99ae5685edaf62d3a0eb80a1d6dc915bdf9db626239862134ea1bc17511ede983577b76481fbfda33d0935c1b4e587b064a8f28f256f104617922de691582c1f6398ef02b62deb48730d5b6b21278fd9421aee64767ab4e2b673a6429c71270c5eb0011fe88a5c82f6892a66cc8331ac011831c171c28500de25475472259ff946db8ec317b9e77d02f302a474b10f1b19ab63bc17a77d08486de160d8d8a074d330e0ee2f5d8be06fb6807f443c1367ef2b6c3fafdd039aaae7eaf3220dcab47b471859b636bca40d7aef8c8249fadf912a8b7d31ee62ea587c32b65e223b064e903ce97a22388126b868f2f01c31fdd5730d716592f953ea15729fddbf945f498e0fc0bd8e2a2b75a95650ee747e80c26c023e6adefd35d45cfb9b961787e5bcf8a04507cb7f9397a89b20d1d5524ba6d7c5ef3c0b5b9b8c662d2d61bfc28379bdd6a7f04da001c5e6a67f571630b386443c2c61b325a1e36d42aa2c8af717c9f93bae68a2a8618b55e400b0112ae89be60685ebd3fde27445e1d77d5c3f42b4f1e4b398ca877be7ad6901d8f371016a81f2fb9320e55657cb6c1a75c1b500cd715be15e63d7c42f83d736f35d7059a23fce2b03720ff027209ffd1e98de2f26d4705553c7d9c5892a0093855de8ab2026a5fe197af5cc957e6f4cf4c7d742cdfd17de9dde6bb6bebf09f09e26ed3b2677b99e15f30dd17a6867fc2d8f02376e02f288486e5013e309d172de4f62b4176f8413ea363ecdca801988e155e5d6abf27ce83072f336845599e709f45d598454cdd6ba09fb0825f49bc39b7993bc1819cdcc81803821afa8f0143c29bc5cf7d77c148be2eb89a1b642838b52eb271c69aebb1b83c83eca4a2f50e593b9ff5e9798232da3dc18c9184a1ae6278943eddbb6dd4677066452876f43b8ca8bee05ed41f4dd58965d30cf79e3a660be6e75f421d68aaa5346a799b5dd792a5b432e7ca56dbd3e907722a74d4083560500c84bfddcdbc8a7f9da6bb86db3bbbf998c27e569354641903bdd8ff1680c8d22da6597d8a6f71617a6d1aec171f9799081fbe1e3b0abf265e374e77734f216df3607aff0332aaacf2ac74ba7a3f946c94b8f4910695640c2b02761bb18524a6f131c6e767e117ab0fb9e4749cd938ee7b1c471091e3c08e88c137efa288fc8668d615d204e3bba9a4e713e9372a217727db1e8926400222b52576d58ae26311678be4c94327ea83d11f65eaa12c957270af05b52b130806a2e99bb0c0419a11867a6cbf92371e04be3c71c84056731911e9faa1a47f2d48b0e0042fa1cb555bb22dc87165cb54067f219335c6ceab997ad2ce1bc8c175c10e93bb66bd2cb1c63ede0840c1c1adb8a629addaf85d7f7e4c192a445ba9cc6035a3950d9455230a6b3620b90a3408d6e400300091072c00401e3406f1049800d00548812841027a2e5ff2bb610b43e9b143e7665ffa03c45a304d9d3c818b87aa91046bf1509ba6883574844220261ad7fc28e88e58a473f7a99cf440448e4694c586e54e8a72d59e783745458f52373e4d8f865d87aad9b09285f6081bbdd73311a3bb721890910030080b9940a562b41e346a9e2b0be955322ac7b87e34d7df50e3cc5c763761624efea7e2dc3a9093a2d58f240f8550bd414f62e194d7f6f37a34d717f4181cbd2d4bf69702b9f123d391b1941960a48cf09602735030e377b5184f00f40514485cfd7dda8590b8877106230e9d5804622bc9d5a11f5cebacb6ffabdac5564616952d5efed99130614072d31989970bb89f6ef8b1a3e5306b08afe3a2716bd83a507406ad4cf1b5516f3b2180e13fe6498a6019d7f96b9e494ef404be4e31a67fa27ebe110efb157a22ed66b1d14f3099a531826a8e0742ce7e83aa64c08187b232c0aba1e1cc7fd8bc32e23be7ba32327a0c34349f058fb354ef787ca160ae880de945dea55e4150e5e457aa0a23a71d59f5e31dbef39d4b94a0554cb03569d63ca349b320a38384ed36de02f0b9c4a50e356a414c24fc1c85bd0120eb9d0779073b7426759c882df3d62df93217a2fa357a3704990c2dd1296c287d24a6be44154b158d1521bc6e992d9894e40137358f1bbfa0263e2c7faafb3b75f7cdadb70bf0946ab66076565eda1d720b826e7246efb11777c97ab8bf337ab53b2fc450a73648c43ed90e4a332a55382875d718f4f7dab1961a71074af1e6ebf8caec3a9aa311df77f0afbf130afc7e25884217b80c4c0e24098bdd301341377b6ae2fe22b3f3e6f07382615d9243937bc3340b84c6ca62e0727cdd6ec1819b0ea2d723560664161c888b3653f948bf836eb89258181b02408aa0dea2c6c9e274a912bfc21494edf0702ca6aa0023049ad73f7e0d2083e453bc103fb6f14a65dc85665071eeceb320765f246967cf7fad3bc59a4b490be694d57525bc7f1a9f9e4c7a9e2f86590b00622baaea4a968099e498e2b1dff4427d5d09536e70ad1759e4e1075f7cf0f74416bc3c2c93a6203cd4fc99713ecfacc6830130a8a56824003407460a055188f185e0e970ef8a2661f9882f8bd7334d42ab1ba2cb814bfa1b11087dcacb47acf8b345d54ff38f6d884d1576a26a64e5c464054304d15ca8e55c1008c079b3ae68ce9731f745eb211b5f2aca290bb18b1314c881cd624668d5022b64aa8d74cd3b3f78b1dfaf9ee19b49d344add9547c8028b6600ec2a67c840605cb05c669402be7629d60e10e2a04fe34d73008f71e9eadacdfd250411d899159046f20e218effd9ef6c98f398e33e48579fa34e9fdd4bc6939273aeeacd092a37127dda2fa9c3d78baac7edb67111f72f3d3e34ed5ff9d40ba7979bd106a95ae4028c9e4d6c1a93ccc08e7711092bfb31a8273fcea0d44e5a561e6570d661f23df7f1d790155aaa5d8878e42df2097fb062d53f5a246fe284ce0f71344b9b40e0a01ab55144396308ea8479c3669512f5790e5dfddd28106de71d43affae5e57e6e396e1c6050cc94fa89044ebee4af8a614be6a6554060fa8a31a1c7be1367b161c0fd2cd597e711beb8c370f62574a034479abe307e81b7d12d1ceae2c1faa404e491014101866fef44cbdb494eb62538ff4fa68aad26be170d963abc2764eb49a1faa6cf269d43ffdcf5e65be81b69e94861429f4ccc7d0362b8a85a7fc2afa9b89cdec4b3545f0feda6969733a16a0ccfa0f7470a40935f72c2b295a07de8382f6b3795a5a731551f3ecf87cc806c3e5adb7c4aa917c5dba7bd348c3f84da5a581b9fa6b5834c582ca0ab70a1f854473bbd56f9ce011ef7b4e37fb19b1723963e6a5b2fd68f285484d4d9a8247cd2e32337372d4934d1f421bb63e9ca5324712a1b5b78e9eb0a6d0f5d8776718276ab132d9d0d9a3e269d8ef79db8674f35e58407064251fe51d404b95de59f9248a3312b66b37ae4ed512fae4a64f002d98b34c8de3e2b93a0c71e8c7122db6eb6dd28ac52117c64eba4efa0bda49d1b081b631a604b750b7b0df0c90e2777ff5310570156b8651d231816fb692af6c9175fc85ba091ebf54193ac31b139e75dd6d509f71c49ba8de9547e452b913970b456159b6b0f7c019aefeecd2750c12df687c2d435567dd02b14832a9faed4c4adbf0da13471d531aaf659b630fa14a6be8c07b408f9ae21f5b6227f350ce0edcbb18a1c969fe867da11ed0e7d49d6b21ed93c6c4ce90adb9a5c2b9a56af5fa8c4f10a0bc36667d55c910bf544446ca524b8d24e95a66097e8f426477f2e7924d0c2f60b1d61f39a8e5123572efc760fc3e4928a46dce52c5e98b04943d9142442a4035af08fd944374f516621c5417c6a27c558ce7fead227f2511cd6626a78ff0211b5d07b84f863be2385118b8612906d92b7d624556a98e4e54eed56384a4ce42ee17279fd9c33007e6f5314339354643e2ed22b1ec1ff1161e441865de69f415761144879baca26cc2d1f7dbb364fe2a4f7b9e9dd1302e2f1395ddc3f4100dbc8168586b170696145f0470a5f739e49a96e83918e886918754953555dc022fe6183ead642f3d5f543d3f22a1274553d582689928fb249c085ed81b34b08da50f69fd6d08ab25f9a167460597fef2f08c235ac9dc890e0ddff75e7cc8592d83b5b6b8f1d28430ea69e12c7582bdc6e19c82e357388e46d2524ec956bd284f798c283c085af4a22998208ce1fb72ac487a4d5100f38a023bc478962fb4f2d9caa7c739b141931cbc4343b8184498cb3a355fff073b8680da8937ed30a37064936de1f41f3bb822a2b541eb81a7987f76b39a5439a290f4131143a882c85235cd8c74f812916720744e95ea6286a9d391c34d9185829511965a46783bf737c7c0c61cb3e9618aaba6a612a6a44def8c19956649e1f407591e320523bca4c15b08890cda64a56af53b6f9dff70bd2ddba9af2197b515a68c9dbacf607640cd9d67889f4868626058d76fbbd9b3f62bd567f33e1155c7256443be9edf2622260c645b6345c84526c445217740a91235d5691f052d6cd469302b72595089a9b3d80acd3387cce5b33db1aa5e57781c0a498c797fc8019d1a25ac23988ed7c992c3932778c6eb0a98d05e8adbed84be17cdba2aa9073db490a0e694ed38de14da3e9ab9855afe918c245bbd67eeb43f55497cb6286e920065f010b2e290e30ae6321557155d39514649570b59853e829aec7e62866055ad4ff56040bb13fcc7057e172915f327f88401f297ad97063ec15f32123e5700ed9b137c5982febd05eff032137c83ad22e621899f5512bc05c91829dc887573fac30322bf08bed59cefb104cae748f5a94f2224a9a2fbd4da20c2294456753241e3c5c56acf0b089e71ebfe4b98f843ce385b8b8449c9b5cf469d6852cb1cf334b248fcb34e9c6bc3c214cbca7e4bfef99fb6a37ab01b252a8b8584f00ff109a9ce227fd28ea8cfb72d0d5b593c0c36f726d153d4ee025b49c22136dd3eefc0e85daa6c49169385278c7e66c02120ca78de078c230ab6bfdd0efbcb94248befcd821c6be58584341754e81a9f01e741cac371246334e7cf3cb4d788f96ef90616b7b8b59dd2cecc00f44e3e0b39fc722b38547fb36e394ad99da30cddf97f99b757152f2792ba02eaf5925cf0f2c60c5757b146fab0fbdd787be174eec9655a651fca5b8715e74e12d82d5843b662da6c101185d962a434926b7c845f67475361db297e005e2d602656169ff4955f9e368eea068bbcb6f73bfd6c1f7c80f71e234ce8dd4b89eefd9528550cb39bca80c018c5541e93315a592d936b8de974b1e1d778bfe003ca6b87bbbf501c5aff82ce40a732177c884ee3b5eac7c054f20918e8ee2e56d7a5073ccdb18aeaa1b4a04b564039559b4db4151102c658bf28902bcab90dd3bff07734688b55dce26389f5a5d0eac0ce2aa747ad62bfcfe983299d315b9c0173e19273cb35c15f7f441de1f9b37de7798a86656044bb6c27ee297e7cc7f2b9b8cca7f0d826d1dfa1e8b11da3dd311cb02eeea9a401c67c0a42ea4c541ff387cffc0e5e2ee5c0af1c1d91ce5bde906237ca8ba52c3a40b110ee885296c3920b6905d22f0ebfd87cdf3bccff7f754c615e5ccc7c4d87ae04b30d8c69c742ccda2a3844a5f85658b8195eba71ce048f2d722448cc7195bdaee49bbf2214077f6125d841228e8f6eddbcdb58ca7bcd17a9e6537b5b879c766ab3444d98c91abe94ea174e4156a1d2a5163530ffd2793a0da8863772e649ae732f02076a27afd002c6b23b5e2c2ab17c00b4f300213c5ac28f7fa8f04005af4114c32ec2ad26c861ad7ac8a657271429e6db9ddf78e2f4c0c2bc67bda6f64178eb239d149a4d9f7a7c76a16655daf47e756052e390f04089f129a082d82e15fc470c8f8b2d3576f08e36fd00ed814fff46ff12fa9b953f1d12c06c6f78c4afa0a56357ab38fdf082512d1f6576b140bd54863c927005b5be326a18ea03afc55c1383646d702735f12d4c02b575bf98107d1dec85168b53a84c489424981239958469d90eba544f66116d0fc9888c9ba517d2d8585f1ec862b117180cf3546a47160be87c4df7c0b507cb8b81afb9a5bcccddf14539bd822121d1acf84f620b78b8eac9534fa66abc3daaa03a91c32d99f416f556d5bc1c4dffc89645cd19e38d1c0a2f3e35c64e4ab597c929fbe27cc6addf2be4a254861cb3af08059bf9dfdde737dfcdde20602a7c7fc12e730b2c590488682689184af234769689b2b29840bb9ca3dcbbbfed406eea548aa33c0d932dc976415937c6d238fd46a3751a9783646e985f3f643d0dbbe051870a3d7040a204db383d58a090644f83640d304abdedc14798ad38090a81d603555adf84c6867b3945f37a83d201283e0d3ad0ed59c9cad14724bead62112e65447ebe0b4102c08d5f9973ecd082ce8c8f2e3d559f7d1af50bea0255895d32f90fa763af61825552e5a0b144ccd32bba836dbea4d633f5db6ed18396c363aa52b43da2c9811e2237acdc8ea29ad90bd24fa31b8bda60839add5722a1f7d3601c506fb0dedba5f480fad3e88c05a3f5e8189be5270582388bc6c9515af7425307f73f8df802e8c5d0e571870a7592175afa9505a0c6bb717bb0f0c947f6e0f8de0605cfe576696e46faae470c7d76e4892f5f4c3d24f9bbd4da7bad76acdf258d77e8a7423ccb6b1a2d456bcb1966ad1384c5e66d41677bf061e2c627b319b759ecc2c7d38e3e8e8167097a93b564db9ec0b9b58162a64e3bb5c69130ea83561c4400a5c875c75271cd80953852682f9b75182805f9736ec5b83d2c339d16b584844020a891ad23c88a5220cf61f612a23ac09ca822d95f98e6a56d85d468ae6056f3e2bd949b47d44c78d8cee9448c29090d26691697d7c780b889ace5e2c18591052946a74a4163ed98000263da102006d969e7245b90dcd4b53b2dd09c12ac024b84ccbfd4aa620af667556b2f943da1b4b19991d4c5085c1e4e9547930a6e570a951a82d46a3973988960cb02317ceb7a0411f2b967a855a898595ba853ecb62dd5dea87f03bb7a236d6309746f932407fe75aa145e378cd7924fa3ec6387c8f43021a38755f2b09cdadb4aa1d3f8d5d47fc314fb22c4c4ec99157640bd3d8b8f08f1febef32981808e3e496ac4069e0bb3129aae3ee6c0f9cf306685a3eb872e55ad8ab396af101a7559298c285069fc76b08298b9d5d6f305512f6fd59bc688bd4162b1a03b5f8667a5812ae8601ce8007a71c205ccba59cd1709565e975ecef241a798aa2661c138cbfcd65884be8a891a97692398ae3532d4bac0486c6bc2cdad5210eff661fc95e9c7eb965f80fa00c7f144b1ad52b8812f114f48c2771cda11819ff32708088ce0fac4502d26fe090c2da5564be4eb557db997f802a396a81013fc560cbdc844bf805085546aa97c16b42fb6129f70d4023572829f8ba19708dd45c00c9c988c41b7ec31218d20fc07db1f50d98891c964de19c7185282e579acc23cb664b31ec83481a8e9b6ec40ce78c1f7d67a114de8671ed3c9516b213894864b0d1a01b55218231f9802a263abefa124d28631a3f17bd47b9f5779588a36383c50d06143b8006065658a3c3d55047c01db9ab948ea14f891ab96d6a1bf170f7871f9de54c08ed446cc5a4638de3b0ce3c0d4920d976fde9324739a323ac22c64e2e0ad37fcbd0ed9554ecfe798c42c115d79b0b6291b7a3411d3ac0bb8c9a025dbcfaed64169d4883e154e0f613a33e073262d71591057d9798a7ececd6c70e67c739461b98242256e453cbb6513f3973463d31d5e4dc39b19e30b5eb12dacf221793d9584b7ced34fe2d7c73fa64b02f6465ba7fe1f6a203dfbf830d4731121fa4b96e3b896636cd597b260fe82ea832917168451520a5e9d922a379050e1d0678e71319ecf1b7ae8100644f55cb6537eeb1eb503f967fd8de6fc6d462b155e2eacf07feed2d56c0a918a129c04aa956c3d40f210fa94141d207d462a4fc6bc50d2b2b65dbd3ea46b2329237bb5378abc4d543458c10bab39b675bbe4b967e51665bce864b743c11a9b91975bd93376cffef1c31a6b496665c36d20f134f683f07cd6367b6f115569b0b2c50e7f174f95a149f6e93c1d42ccf8877f2a9afd500c0c74437ac04a733cfcdf668392273bda00d5f0b160075c5d9e8ed30cf7cfdb7e266391ac801711892262b841879b8423505a881a7e956f3339d093a9f218bd17d39e9acc8181ae71d40a02afcbfe2092b12d704b513ed899ae5de39cc87618b4621f61414b41fc6951de79e2f861805bbadcb91de6b748aca731ac59529a650f931014f60ffac88b9e798e3c3124630b888a01ad7209286cb2c2ac7d039d34736860a4bc047c7827427e4a08edc8ce57f68e9d18f3f183d1d414deab6c01b95f0f005abccb04ddcf1fa30d3f0f05d2b8c30459833ac211d87204bb68c7a6a3385b83e02423c3b62c96efbc89c2815783d336deec13bbd76b4dfab77c8a3c82d823edcdf2617d583bddaab1876c453dd393244dc05f1c40bdf3e7b2fc10125139bccf59fa6004521cdd4a027a8eeb2196768169fdb832f253e1824be8dbb226e5f8bbfb45296eac1312716940f62fde9a7f202575bf0846581774494c1a890a56c1ac81a4987dd342cf0ec35173b3ea137b5eada7ffc9ee46ff947a2f65de4bf3eecd952dc195d456ef2b9ffe921c31375d88d6ee7dbcaca9c7b4888fbda6b3775fc484bd6b9e2df762afd70d5dafe9015b4be955bf881eb188a3d5502e97a6a85e4171574ce84a9408c9b846ca2fc9712e9edeb15a9c80e9757d9203fc3ef1b06bd50d3df575895655f5bb2737534faff3602fb54d7a7adbfa91af36413fd3bf1fe0d3c46c5c3d6c9ecaf62a20755181648f4cbeac5112aaf10702bb6aa016c839b37610fd882357909ce9cbef1580b3195041695203cc4ad00b99d8bce45f6902ef164d38b9d07948e2c764c29cfc1ae9447ba5f316381d4378bc831eefea2c8a1ed84b4c1c59610edcf2e8b1433794ee5500e70dcee9fb777a6f407468d7f5ff732ae73ff9bae1aea047bb657fb29dcf93fb6374a4eef7f732103d83f12f785d5a341ab184c9042578f7129aa23812f6a029af7f16635df8d8eed505f3095263fdfc69432d28a262748fb3eb1b860abb6b34f9518c2c772cad54c54cd8c8812a853fbb9145680b552c0d803a3782288dff69230be8045f2c4052bb0154a9f8c31b5d429b506c94fd5d705a5eb3653270a39d08e26fa5f846971a834f0c2e7c142885e979d1c94f893e776ede8b72e1238029157fbed145e8be0e8309a46b7be560b98498a04ae3ff6e6411fad7c760c22b57e405bd07bb8f0f6e07b0c4f9c44fa02567458c45e85f87c124565c354e3774348510ea40121fef90f7eb54edf103c8a13449d96b81a1876a546082b86bb1e5b2900ed72b7ac24d9d900d4cce53730f1e3ffc8f5abfef74e6e2bced209425e73bd86d683c2a7ede58bbe84f61d5719b90a13406ded9b2da410843ba2fbb28f884f47da65ca81a07f03cd53eef042aa7a4cc2bceacb600d503f8d657f9cc75346227a59e39bed586bbdf72d142c41b6d4e4fa26bcd78687297bcde08274f9ebe13fb91077d51af71d870b9018b79ab55eaefdfc250d92c640ffa8cd52339467458450f86c579f34a1fcf64c2469487b4ff414a22dfdec1cb5fe805cf74ef28062c877df7b16f887196815d302df43e77295f5c911bbebb4d658601caea087efd14f5d0e3a7ef4419dac98c8c7b73afd5c2441bfad658b9e41632124d4c363715b3501117ad689a4715410b291121bc11f802c32288a2a2545c8adee14f4e8b71ee3ba899d7b87814d53e085cdc64ee907e307a551b61833b513716ab3db7c5f08f22be12e8658ad8fff8616029085044cacdf922aa4586926328b7583a0999e4c772149e08b82a0d4619942557a2281365c9cdcf27ca573d8a89298f54962aaa83abb2344b2712ac2c4f9cc548b7e8069627925ac3d87a3691ac79c63c30110bbec22ca3e39bbccd2513fd6089261c9933faaf9548905e467a251a272e11263e89c81fea426d89b81d2692ffe7f04c75987e21e26a224c4a5b3496cc7ca2fc882c2541be340b491f594ae439d748cea5abc7621e545f0aa017b4fd8bf536fdffbbc32a484a9827c30a5944c07cd75fe77014555841b9d0475faf210db6cdb6dae72fa3fc718a36eb22cabed2d44a01dc24047a221b9d5a305a594d07a949d6635f87747cd0eb79ff790b63b0a26e8dc5ec4ba2a1cc4eb44f6d0d60ae9ef16b35d500460e3014000400f50584f4394d2e30f1fbd953d0e5a0097da2196b4dc8a52332c6461228b6b5bdbb6db9a594292519d509c40983094f9a0758e55177f4c72bb9830dae3a0c43838316e800fb49726434a3eb00d9d049624a942965f4381463cc62209f87ec069226264102f34ee2d58518638c32c8dddd473ef228a727d140877577f74e123c1d03eda571652202e6d34731c6381ab990bbbb8f7c94b9c43a168481a3433a23f801d2ddcd3fb65bf2a08028e70b7a8200f9d11fa332f032018fe611130ac11424b489842b059b44e2e5822c1af16942731100f50e201eaf1d7884206887b3709e5822857a64248a62c471d60ea019344e98e007b6fba9c71d2f9d10ecb8efd821d2780a467544d1f478ecb0a3bf97b417020d6d30d0e8930e3ec462eba657731af13f9c85d33c2e97cb0822a5383318e4811ede89eeee3cf8d00e0fe2ee8e040d0241140a051c97cbe5e2518205c379e900d9d0813b008311578caf18bb5f2e97eb034ed089cd1d3c5e3bf0f8b17007454f6cbf943f1b3842177ef417e32beee886626292e6d5a2a969050d01f2b1b05759058af8811353981c68b1cdc30fec052e97eb081f64138b38343674988985411c98c24cb2f0032648410a517ef8b85cae0c1481e4d27f000599022408dcc1179ed87ed91fcec259e272b93460c409dbc4bac8860e0c32420a21f972b95c1b3072856c624cd3dd22b270075820b21ce88e327f4713e9ee3e820a140a4fe32c2cf41497cbd581ee95b426683b8341172882453d19e04210848ed0810a48214a4e23b1fddd166cef40c80bb6638cb2c6aec8911920a1073b515882057890820e04f59040c62ab91b80f4f7c35994d61f4da4bbbba91006db353e1fd171af1c888d66c11cf9fc4f31187b290e1000790ca4169bb252cb0c4d163a318226923005e6332ae08d9839b3d0594a0ec039298fe1eef6a86336f6ca071dbf4f1b9f3d695ff20bf35524040f8247e1454e2965af6d7c75b3b3d3db64c61e99d9d37cd0f90b591f694bf0644c319965f265ccb2e748b3ce678c136b279c440f82ad069db0b76190cd014751ac1861c5126a1400700538a30bb0064f60cee874ab2be08a852348a36a414abb2ea5e3b6b28ed0d0e8717a5419ceb05b8ac9e83cec2b3798969be88288cc40a03fe82eb591bbe11cfddd34338f7e96656c2986b963de1c8d8056750383648d945e0dbca1a1adc230f2d9645a2123339c44b490d8510b1aace9668c139c9084240c610816fac00793dbdd61cb48db14a594d19b7dc4b6238c3dca686c0c4a67b259c724deb854faeb99b769a467ef6e6ef9bbaed6e8481d89b47163db48f6f62512896d699b5a370a821f08225cb6fbed4b9946d2380a67b09b7db4d264c230ccb45180a6fbfbfe259782eec69194f2b3389e498fb2945c707997ef297cf41436f59386ef9aef194e7a5523e849af6af8b6f9fe86d2abd677ab57f6bbc5f7cbb7cbf7b714ae1b1e4d86268336b375b06f8be6bbf1f72d87838be16870fee262903ed20b5224d18ef6cac5774ef79dd7751db52a0f3b65c3dfae5972e559b4d0dd26b2a8ef292ceaa5c7f2ae10cb7af6e2df1a6ef83b83cedf981c7fbd02fc75d1f1570587bf99956ce5cbcfc1c3c1d3e1e5f06ef0562c9797decbb3bc154efc009db02fb54627fb43b175f17ee0643b91a364456d29fda1de799c2597c8506f2743be3ca65ba606a0a668c4d4dbe1a83775a3deb751ef47807a6960d4db9aaf57c7a83715e345bdd4aaea4dc5506f57eba5edd54bbfde2ea7be1a4a7fa86fe1b5507f288cc763fab1251ed3fe4ae1d44bdb867a3b01541af545ad8d871a41d77a7ed992ad0eea0ff5addaaffe50353c7f8d1ab54657430d35d476d21faa06d76ed21fea57f50ab1ab972d16b3580f7b55c3d3f02daff52c56add1b13caec183fdb1bee5b13e723aac7ae5d378e66eac1ec7575e4d1522d240c3eb25fda15ee3adc613224620d1cef8e66e98f140c019b599f487ea2316f57209ea8958d4cf502f2d62514fb3c48845bd8c2596c552a4b0a89741be503f235fa897912f7b04f50190a80740bd5d138bfa987a534e2cea5b9e58d49fa058d49ba258d4b3fc5ce22c1e026350cf442ceabf255cc4a23ec6123662510f6389ed9f2f672900c6a0de068c413da4c2a250af7aa13e867a69a3bea2de43fdd729b03f94aa6350df8f2d71568431a8477d8b7a53a867516f877a987aa945a17e45bd1dea5db025b653553ecae3c771f9276fca94dbb2574eb1fd2b57063eb9500adb4fea242cc59126b297f6143d454f413121391125449758f9b337a634ad8fe6211c65fcf459b4d0b1bc9da5b4deee65257c59c9af194583b0c68c4c000060e1c7d02f068c17aa18aa17bf73d1b56001f362215de19242b59c4c2c2b2a5d8ca51849946eda28a3d894d167464c82f0c4aefc4a645b62217535f431ef42208b69a67a8558d3dd7169acd3d34df93fca64f256de73d0d8f892bbc1c218b52bde0f34f13d06fbce935252c75ef3fc71dc2f36ad3b7783623eed7c77415b94867e94ca1c9aa33917599ee2ce22a5bb34918b5c16c6d03e474c3458d3f12693f9df6aa1aaa6ba3375463b1895173b1b7491270e4999f25118da02a694a4fb280c6d4161286d2125e68e4d876981fd8fde9d4ae94fa394beb94797fe34fec7bfa3d830cbb62f25e9627f230dc629a3172c99dc51dae6e834ba6558633ea4a3144c8cdc0dd7bccee4c577fab46e6d19d6f037c5198b602fb54f5ff3140fd9fe920dba4bb9b290c5bc6efa12d69208026a09c1d7d0941a1a9992b7c363a678464d30bae9c62df61af6dac4b0d7608d46c26a5a321cd0737f65e0eafda28d0e4d58dc3cb7f2b78dbb1123e6d1a109bb2d37d28fe6f398c8c598a53ad5a62925b48131ba6589499672ca1494e1a90867f8e188c685ccc8a282544a5582ee52d610ec87649ed33919e77415f27137a5feb39ed7d6a3f4302f73a6f52d942efc3da571ec5a40bcc9b460a7b5788da0bb14dba28cce627ad8f4a6d57c936de59450466ccb56b84c4922d515e98eac3c88c8030e137542533abe5d17d46db4eb52a71eb6bd628589765d2af5ff7d3434ad1610cb11dda5a595a04e2548e5bfee032a189630302c3b170cb3ec22cbce66ea2115e96e3471451ee82eed9b9a97f9522f29ff4e0b338b4d2bad17e7e4e92e7d79ed322c60eaa67361a9bbe06eb83cb1e017964d9951abb5682f2350fd32323535374e9c3c7902054a942852a47825126bbb7a48af56348bd5b15bf7b6eece593da463fa3b1edeb00d749d470662e66f263f404b8298f4ecf8f0f00ff7c022a2661a975050508be6db9942447a8766a00766e585859de69ef415daaeadeb1e93cbbad328a3d55c6c947e974a3d63c0453b978c35466870d59548ad9b9637f7c97c3435343234351606e0eb61e94a5e206d5ed37226da6b4faaa9cd83f1aa95bc18bdf49da7fa92072d4bd7d3d34cd8543098896e1ddd3a934c6174eb4c52058375a6aea374eb4c524531b9b56c3c9aa6c13f3de89f086ca736ad87653485899b66da3a93f764df6b22c85c5cb28c526cc64edbe2c81da845f3c9588ec1b3cc272736bea67932ba5d817033c9785d9d52aa3fd447ca6adf5c149ae6652feaacd167dff54a4bd9ecb7c75e5df63778117a9dc7f88f3cc921a1d461fd2165b5f76d83f04507fd2165f94855bdc7f8cfef939e8e5b1c2074977d180a18e31f0535822f01888714f03cf0e8e158a684e99c43dd37ef22d730fadddddd1df48a9251ec559dc30dd97998991968c7591dd4e33dd0d7e79486a8a31014749909ecbe420775173a429cfee99ddee91d2222a28e425fa1bb10e413b0fd4d04679ac8f63b0f75319429189d1d54350ff4049b4cd42b2982f0149cf1c77ad05d1ee22196d26d535c041a7b1c83cc870db9a514f9c931c39b2ff0bd88752716a735e9d1b00c86f0dbd36106cbd0983d2f0261bff043e7c782ffa07277f7a16a5592e6995fc262fced4e1c743a65cf414f8a7a0894cb52ac3b53613d639f23feac615074311efb129cf1d76278506533672842fcea8f6d0cde300e55ef1058963d0a95b5fce954efa9a566a7967af2baff74ea3e3d8e9fbcfe160fabdd28af5433cf843d8dc9f45ea457d89b5eba139387a166b08c78634fa787a77a8148189ecadbbc196c93a1b2192c236bb168c154968a824242af5e9d34ba41ee74faf658fec423eed346d8b6f758a6611b68bb7a91eb45ec7df1a818beffd222967f6b791618db5d7998af72108c5a5b7c6f5f55ef3d0c0f429507618ce947cf41b5de1a9bbd57ef8dcd9e542fcdde057c62b37a81c8162c4c9f3d8b871a41d752ef8bacde08e3a146d0ad5420d2b2d43077830fd947cb527d68a99757a048d0c5f02cfed20aa4a3e5ec61fe029135d2f2cf601b53f5a1a5391d2c7506cb40bd54206d516ffa96ea4396d5192c83516faa7506cb287d7bd863dc8d92abf8497ffecd57f5fda682f179303c95b7791cc459ece331feb4a55eea53c4cccc57459f521f0ec7e9e943ec6334073de995f6fefc6228bd3a55faded67f4617b19a0639d4b3877a93777b58d30b63cc8261b8e5354631333373b709f5a3ee15fe969695967f7169792c6b7916ddf230de52af0f153fbd424e26ef664f6d3aaab2dac7f0a0c5f85ff859f04faf58fce7f0f29c61efe2b37a5b7c57f6e98fc573e51f95edefea03ea4f1aaab3ec5df85968dadc4e8ff24c2f2dcf0ff3fdd2f22c8f42a150f5f6b02f2d5507f6383dff456990cb617a6ef94709e1c23640886d7994ca767dd181b6a5a29e1ff528140ed8b7bce474d8629fd57ed26b187306609bbd46379467c2eee9547da8489f551fb06fa93eb87cf63e54f6547da89abe73b53fabd7458d2d2a10b72c726091c34bbd6c593c3f9f4ed988c3c1cffd88cba1b2dcb3f743d5590ba3fef4198bdaa78a6aa9b73963fef95931f54f7f3e443a3e9265decab7782cbcdbc3b278e76eacb8c8eaf5a142d5cb99773a65a7ec6d963d73065059168ff2d8a23cb6a7878d6af1d9c3c03cccbb7841c1bccb09e6319895a79f5567d1e2f9903d4bd63154cfe51f065b393d0c9457df83fdb9a06e03845897377dea747ac158c0d4fbf6e4f2a9cca5de46a1fe743ac5781183574fff31545bca9ebe7ab03fafdeff7a55168381315ec4505bfe1ff6cafb17d5b778d82c18ef2246453d0c0f76cc8b7a65ece9551eec9818eaadb1a7df3cd831b5de1b7b7acf83fd7dbdd0893d3d07a1502deaed56ea4da55eea7d8bfa967adfa2bcd4bbac389daa106c4def92b13c4eeb9c4ea7bf2a7b6aeb23cb4e6fd220670068519f79b787cd1ee5657f3a9dbee5747a956fb94298d84bff547da82ccb3fcdf80a2962e977de15c2a487a57d644224db43ae12a1ca5122047b3dfa731e411ddb1ecf3e383e5259f68288d687470fea2cc5d2cb41d69f748ccae274104fc7ae5e0dc18235e007eff7c9c46a6a1e0b634011c142324a831497816311c3263bd00bbabbb119694df71358f0b1dd249e5e028aed167b21907429b1057be1d0106e8a12e8c412522c36db8912e0c04eb739e6064a606fbaa583ae9ba511eee8534655a4d133f0f2eff7b9bbbbbbbb4b95a95927985eb1801f4ff910c6b0e597d7072b6f04ac64373dacd15b47619a18e35f0cdb8c6cb58eeaf4d1b2b1ea788c103a7ef86a51dbb35b2d1b231741104580e1204620d17a6525ec8a12f3fe0f6bfe6464faf31fb6239068b1c892e918ff8f699d1850c737dc0d5a63135df72743e30c697dd18109116d57d5ece98127a204c5871a641e0aa861ee9859c2672ec2728432dad4c1bf1dfc293d450bac0e0aa084a00a3df8c217a2b8600a288850e1890a845e1c68c112764511bc0406a1670992970a341005124b24b1404f4353d3bac12ed03918420f7e86946c418915b4e0025388684f1339f0031f70010a2e30e1a969ddd02ea55988032372308f5002259000050d9a600286284a7a4801910fd0e0044ed00015498cf058213068b285279264200923e08059c063441b15c13fe85805b63be08148ff559f8c967d114d70021450a84118a6901357602312a0b0b15e1f341f67b56984bcc08927a4c00a5f500212b4901355e0032138819d50c2092588ec7d1a0b63e01891a0a9542afa449ed4b3371a6153fa6bda4296874ba56cb74767103a96e7d8d39f6f290fc756a4bffe203a888ea91bb21a8d8033fd290f5a0a67fa4735f2c0997e589da8bf6666a276ca36907e113427fb4e7d3f3605cbdff863fb6f5c125b6057fe4619d8fe26d609f73706c5279810f6378620092cf2ccbfb10428987f2312dbf26f54816d25f26f5cc2f643b6c1ff4617d821457c4e8c81ed2a60cc50511b61857d018be2b1c859585113d64b255a24cea0c8a1b01c0515c28a76ec8540b408086c7733b0600dd3f7dfd8b82ce8bb401be87d91fd8d6143f6ed7f676c3ff48f8136f8cd5dd9fe196c434c59209b2e954aa59ef6977ac82199af7948e4b77848b03fc9f7975ff12e9ff9670ff3d1dbe9722a00a9a0f12b5082426ceaa347530067e887f1e84fd3e87ff12809e00cfd2b3c9a04a4a1dfc5a32180345afbcc834cc3a5496c3f2501ac711a01bcd9a131c202d8f99c9eb6617e3f4d01b3948cbe089a837dbf562f55c2b6d69937a4025c454ef645d01c8a24dbe972e8438e7e0a0567ba12c90ba23b348756acc4a14ed2050d97058deb0269dc3ac38561f9e992121198108e2b5134083708e1093a1801f8d4c2ca702646871ef901dc1e658ad9c727cae9e333311f1f8cfaf8d009827609482e87f4c968900965c48961d848f36d7bb90065d09f7f7a0c3f4e87a8635a1edca6845aaf49bacd87346229d2608dc62f7e61bbf20bcef0c7283ac8e9a0dfef8384c68f597e6a197ad46a256a2366bd367bd40a912c018ddba31c41276e0d7006180353cd6aa59821851d4ca52646339ad16c84493ac3ad21b3170aa9d80bab8bbd5008e2f468b2b799bafefa7bc677193347db28a594f36f371132628eb63cb11cdc461d536a1be7a3d16844f254d1638e685907cccab8713762dd4a9e0aaa748bb4828e9fc4e1f08aa9a06b392b0130a6bf71b0e561854e1b998eb0c3591f36e52744f3c9ec30e54731186c13a340619b38c43284d8264a6119fe515e43506ccafbff18856d268f8b28d63f0eb1cd2ce2439604f0f3f7bc259458ff163305d63f4a619b162bb07ee709ac14600d162dea34c232bcce11c019ff28c5c54481f52237b0d8148cc7b6e564625951e94a246ed346299854968249c1a4680a069b323eccfbdf68af0e260b53270b6f1e0167fc35984fc17c6a1e61fd5d601e267504ac01b515909b0403e341cbe25b3c0c8b4f3d0c8b6f5127978345bd01dad4a76aec0fe6658507fbfb79c20413fb137f60fd5d502d272f1205fdbb98680ae5a4e5f4f27f194d239207e8df1f86c3312d4b9d46e2a8de79a409dbcc104019fe93896e26b1ee48c0198f4da6edca794848ef82f33e153384332bdf9e132cd778e46384379665549015250f8c658636938765b85bfe08295c6dcf5cefca8a177d88d0f1dfe8138f44221e1eb699455886ff88a5de94a9de0e4564bde5e4291eeb2f5fb308f6fef2c759b3a76b39cd2294b254f9f3337be44ff695bbb17db5b367f648293c0ec7b45a954470c61f93e24a224c125d3985f5e8d3ab95f78f47e28f8ff892a365b96f59aec6e73a158d2f3ff363dffcdc3757addee9b3d974f26bc94a293ac61fa7bd29bdd2baf45de5144934854e7b294adecc913931c773b4b8954a1ee7a878b37badbfb31007ed7eeeb9bee4b0dce8b5510f9cf19c1ba06d5803ce9ea6e1d3f9c07db438b2dfeae5b8df9edf07eefb99ab2f396cd7387b7a05ad367dfa487f7e674f8ff59744528a5e4d01225fd865b12a85eef6913ed22b18abf1d647608d36cd1b22a210cd75b88226356d6a3a38b055d9d1439ae10cf1ce1a551df72dbab480e64491142bc34227b820647df5c41349ac0c0b9f7062c46af345c70701c4ad3f1098652e873f5720d34e24990ef33ac02157206e63ad43b22fe273b2aa244e4a31ec65cc11abcca1833330e39c93c69a1d3acda66bf5476ffaf3b96598c675ac52c9bb697124b6389455dab4cdc3e9cfbff35a43e8b6bfad9bfefc378f6d297b8054512949969711b0a3771a7445e5715a46c80c8d7ed3ab1fb616ced6c1d2c3522562236d7654654875f3209c17e1377ac8e5e0767b99213eefbb695a6522068566f69e14084b6a608dd9838f9e234076acf358f7295ba75738b0ac431fc0270460b987345ef5c9d0d4943a587a7f1cedf2d083b34a55c785bdd0854ad775940691b4e7b46d1b6915e775fc6df4e79f72d602ba3001b63d984e3e645e073ff661bd8dd27a7ff886bd8d5e61157e4cad8d5edd286df4aa6bac81353a2e197586c49565d9e8994913229ec2490f1420211e6229b2518f91d1e86e3136a7c32d5755a41e4dafb2da2b9bed9e573ccc8bcd6a69d9531aea7d2df4c9946655296dfcaa21baefaf04b99e9ed92399f46bf599669479ba4699111836bbbbbbbbbbb129bd8e3ed19ff0d8eeeeeeeeeeeeee3176ec4ec44713d2341e3d767a0515008bac3b13b1dedcbae1eda34cc7381cc10c520cf324adce68bd297b5b9b73400cc0f2f020186b69bb0a21ad0ace0eb47777777777777737edd641773b8d341b109b6dfe99e763b371946593ce514a5b6d9fa5b1117e2a7f6b546054b98171cfe950e9ea1dc2929ebf4452f5b7d547a251ec314aa9a9bfceb2cc03126b876d51c80dacb5bf34fb9861405da6ea9851fd26a8a47394e9c0848896d628294fc77f6932a733905145bfd4f71f0da6842db4c7eeeeeeeeeeee6e772a9b0a19191987f3654ea128bdd345a43093296c17d96e97ed26627b4a66c24dba653aeb4fd51fa5a1e9fea6baafa4b558c64e1aef8bd2b19ddd2d67f128558d87b3e0c71fe4597bac321951265c59e8e127ff1b0296bfb5d730864d7a222664f96dffeb153212b22d657af5838ca59fd18c52991c252f3ae4cf9ff50719cb55e5de3e328e34a0c19a5769fb1b1bbfa6a98df1697a0564daf895a60a0fb857a9dff37016a906d17116276912adb77bacde54f71da976d0d61f8e6508540364da914747957f4ca079a3d1288894b4623f3f74ceb9047edd60bc8361bcc34498093be1227c8479f8879770139e3c7a48abf14669e73435ad5ecd69f9717a6695c7fff61ca55bd7418f910f848b2aaaa8c262d36a1a8e9db4c60299bc6387febadbbb773c264ec144faeb8f77b0237417be6e600d69a510ac290d349bced4df0e1be78c9e0f9a547fdd3dfdd4b7fdc67d9732a2e3fe76a6d43b8b8795521de24dee46f75aa7c23bbd2af1ce06b6ed23acb1f25bbd3ebad74a1eefb08ba72b7da909f6f2940dd87e9e924a7594765d2af53fe37c8c2547e4587ec58b76ab2c2d54b4e2b96d6d0516c122b8794f33f4485a798ee10cf7197783e5b511c326314bbd4256302ff5ea0748644bdfddf7b32c75a52f3924fa011271354e0e3647825c8e68b71afb6bad4775086693a7d020d846a7899623d3d05812112cc49d8bd2afee17ecee864130688919166e0150f93b0363c078130b0b5da4522d9c0d4c6965f4540503cec06725d8fe958d85da7631ba6a621b1ed8fe52bd9de21cd87e52bd6d6156da3e0ddbbfbd8c0734602500db8fc11ec020d8fe60a81e20e5c7f77dec9a441d8f6d8f1cfde1e80f4d4285a814ca443bb14d836cd3976d1ac536c772a86df4d7b45e092cb1b45f4f3d1f0d59d8c3ff9cc55229a5ddbd134b8241377cf48bfe0875b7457f6c744cd3f9dbeb70a527912a7cbd70fad32942c796fb0b6de8b81cb2a58de3aa537aade49580faf35172d25f7ff7cddde8be14540afa086b704febf5517a8de49582bc1210113ad2df1250c9497f9d037be90ffd715689d2ae4ba5febf8f8686fe78dcb6f47216a55d974afdc35b7abd4a53e04c3f36842bc4aec81b81152fc219ee99bbb1c2add43b04575bfd357d1c17624b4e7af5030cb2a45e95bebf14d42b482221c15e622f3ab8273da9fe00832cad37edc45efad3a3d1283b62b5bfa3295c4fb401d7c3713db68fd84b7f82607b47536cffd02fcb2bfafd3afdea97bd69f54bf76f98c8cf63610c32aab440832ace814e3308610cf6344b55afd06330ecbffe282e3502d461d8d1bdce81aa6e2d685085f56018f71809827284091f26404f30d93d685adff78ebdbfb328edba7ff89abc1168cf2d0f6731a55d974abd3bf7f408a1bbcca345864d823c2c6bdc86b02e366b881221da467ffa980ff4259643933a38caa78b514787acb102e91bfc2b6b2195f29412ec73b4de5418d04576b95cae182973501b7788596548434620daf87280edb5e7b1551e8f32810f40dcd2874456488e909cfe21d97743b4871e33f250497440c0220b73240e21d6614e66e94b4e070d76be26b7cc53c2e5e055541187985be629911d9508d1d3a5bb478e44ab106da7fc0a5b3af15aa669f447a319fff4ea42219b64f39102fad1f257f54afb2c3efcce59d8ff701e0f38ed9e8f6dcead4b61b3676f1b6d3701cf12d6a6b1361a0f6766dc36356c44b18861139b3122911c12f9cee9d0d90c9b1d139b486d5146d1f12736a98eb6b1767086a30522888d0fab27e1433ee4a7210c48624098136c0a4605f664a5c76241d81046844d21b1959e1523cd7d40e8b2d79cfad07c0d7218f6cc923ee6f99024875243142a3c6499291199e8e28620713d5d66311eed312067753fbf5fe3482c68ee9b372e47fbabcdbad2f33da452cf60f56f7037b65f5bb91d06645b76b70ff990f5d3503632419471e6609e84317c2300b9734c53a2fb0b34a89232c6688afe697fdd421bed23f791354df6fb2b74f1efab3cb79b5733a4d534fa275769e68cd334b96e3686496cc340806487e684c195337ace0bc2c5142088700d9955897ccaddc85e7bde5e4ecae59035520e7240b04532aaf10a1dbf96c5ac196659e61929b32c248337a41055af7e3059ec7353345918f72833232806b028a030d0103f4c0c29e2eaf14992718f6f7e511664881f269a45e219d2e222ecea611f4e92511e3d6e641ca3b49bcf258fe4e3d328164bd0b1a5946e3fd2361e5acd7e548364b0e8c32846e1f75955cab461199219e79453c656af602b05ddd69f5386814d7864a6a9e99bee9672b6b0d0b1c57a8e5addcce930ebd7bac199535237492270cf38a79c32c6eeadbf20855c0a59c0022d161832a46548cb90960a742d14a8514477214f61ccdc8d9c9da0d16b2728c825d0739b12db7c56f4acb0b09d1ad88eb34650c098fe28788c305a42109cb1a320dbec24f9d2bb49b3093862acc43892248947f6c4c10fcdae68ceaea8a342e547850995211a904a1115974a8f8a8f4a92aea85903d29cf8904252c8c6223a163ac2b289e5cac4320eaeb77fb64db702b91b2b92da4028ab5614965f0639abe5f92513d94402f5eaf4fcd249af549ee5cb72f521852cb3ab632b8b6ce04a7e017ed30554d42b6d06f0fbc2d56660fd3520eb4ceced8a84ec6d5952e432544597fd6c590267fc5d86c2a032a4e58bf81cd4670f4079522502cf90c6e9b5eee0a983dab72c81354aef36b5c33da55de732e4635d86b6cb02c8e278615df0c019ff7802173cadf22a26d2b37848b0d7482e523ac65d8628e426a9bc1361490c67fa2706b949259599aedf5f106cafcb900b14acbfe605c1a3dbb52c91421f855cb714924271fba1183920786c7777777777c7bcddddbdddfd09ccc736ed9f9ffee99f5ed24c74930682fd82df1624250a942d8bf0dbbeb52d88cd7e7b2dcefee995b60d31ca6abc412315fdf59545508845fdf5dbc059b10b30a67f024c30605b1a11148bdc87a513ad7f5eb5a387cc0d84623df6b81197c2c2a02f74d779ba7f36f7e1e9b2b6d994126bcea69b5d239cc93e05d3ef592aaba9fe9c56982ec6232a33fc0d8e0d1d1c7ac53da9b4ea1e7e0f1e7ac5f2f015d043af5c1ebe8f1fbd7a791816ab160f5d3cfc87dec36722bdaa0f9f79b848affce3c7f0978dbcf8cb3e7c24e62fff00e02f2709c05f5e22f3979998f9cb4c64f8cb4d64fc65209abfec64060d7ff9c95f7e7d304e8f7a48c347c34743bd435818cf3f03862a52a16399bbc30c9e0ac650550f1aef9f07191e0c8c0264f052a91e663c93c9878cd7753f02e06d1b1000789406b1aa083f18df470b6308ab7afe181e841f8c175eecaf553154d84da49b6267a7a87a3c8487104185e7b18b5daef786a062880b2f48d14e0b0fc8144458783fa2fb90a2c88bd70351cf0a4f01528cb8783cc06fc827e5f5805f7c9487430b9418e5c8c9bb8131f14d5e844f843061fdb9bbb161bdd5d2b15e03bf5883838a270363a8cc0e9df77d3cacab543dacfff3c07930300ad8bc54aa07eb26938f91d7753fac6f940689337a8d2e25ac84050daa8a8aa8f8692686b8501157f7b44f2799d2857a15a5855eaf206e6e661f67fd7391971eff3bcbdfe76709109320a020dbcf456eb1a2ce5f0ea548af5ab24cc29c2ea69472ce1e2332d9c31d157051451555e4642ea56c7173d6cdb9856e44e2b21e210470153959ed600ca77af072504b7ad58fefb4d13326bf492d73d8b45815625a76213253a2bd5b6cd3cc63dca867d227463d6b49f94bfa93cbe14f25bc42b48cdba3e40c0609ab10ce0045c1f33a3804e915dc0152814d29332d1633c30a42d6e741560e18a333058c021ac1babff47fd5e4180553d6599675ca59f4a117610ca7603a054dee5d90ddad622e0728057ba2bba9144cd7d835112ea4dda9f0ee947ad7792ae5fffe7dae139b7c13b65e35c618d658b3cc10ee8d8d187ef3bf69a7e6ad9bfe6e10cbd808886b9887d3c2da8bf0ebff7ef4b10f937e63ccb5dbae2f3ae6f7b70c0868941d2714984e4a318a4d550e8f32852213b0b242f859dfba0bf189e893c2873858e2c4421c28f1c4c6588883256a603558d35dc9f5663ac8a7d9e825c7d31a59b294dfbebd347b4797767a302a1728a3bfe94bdc42c77f5339bc0ab93d420a8384d5546371ce948c1f537488940390493c16a2734497cbbabf6c803ba54234d7c932fab5299fbd69659d0f6bf0f74f8f5b8cf505ea109ba593a4ac40b8e52ae18c0ff1b95e69fb6f80969f65ac800655770e59e7386e1a994113ca3c228998b03e7dac4f26d62790f5f9c47a13c123fd39177db4c6b4ce3616131d9d5c5eb3e95e1e7237563c9444fdc1cc23600d16efbf9d3829457f10da442933b0f07613a9bf1d030b537f9b09cf0b2c6c18b4f8db4bc0bfad048b4601b4e9a1177f1b8985df47600d9887dfae66cd1ec844cd923c3c858b867aa592d2ab1892006ddca5040b9fa3c01a2e1e3e3b69967cf113bb82cf4d7af5f2f019a8572b1e3ecf00dab80fbcdc8485cf4c600dd4c366c24b2c7ceee955cbc36723fc0168e34032fce5232c7c2e026bb83cfc219a1589780813b1f081f4caf4f083f48a3e7c20a08d0f65c1c2ff016b8c1e3e8f66c99f1d3be4006da20b5e08040b1f075883e5e18d24724c2bad700ffb21cd8c5a13a375c3f710dbdce4f02f2a4e05c097e361f440038e9fe1ddc5363cc43e4dbdbdd3b2e157ef3e6cc3476e980420e61d886dd809eb652012800d4b99f133f536e7e07c74b14d0f71f57b1f7dd8a67d747c01eaed9f02fc8d7abb866d3ac98d16dbf4121b376cd34c10e073b8b1ce048718f505047af139eafdd6a997ea3c8e3a846d9a0a1c6f87ec38cb5d03a8975a1b768eb08d1bb1e16f8eb84f8d5ac38f13b6f126353cabdeb60e44838614b6f128353fc37d88c66530d110b6712a64fccc901d6745970cf5d21d1fb6892290791d3e3f6c1393804958ff0248a21c55a787a8609b59e4868a838a246c135f37922c619b08c546bd6d9b09b6894204a84c587f7755ebc21980cb08dbc427fe3618b1b4d6f069c23631a88626d6df815af55256bd94065014b6894e6aea6d2b6778a519b2fe4e05db442096e12fa352e17256f4f11811b04d6cc23298c8e09a71c95411580740bd5d8de1f545bdef31bc8b0b557fb51279445f89704cebe215a712a8740c998992182aa211000080021315000028140c874302c1603c2aa97acc0314000f7da044706c9b89a32486514821630c02000000000001000119120900bade09af7b57fef66ded564ae24940c68565b5c11f39ea00685cd177377e64dd678ee30cfd4fd62abc630625ac24002ad353e128429b3612e1a192a333131b9011acd0c882ba58431ea02926c83686ce85214fa08b8a85b0c11960095a36afbc71b4e709f4ec0dbef620e4cbc37026ce6f28d02d79b8e489f202543dd5f090a04579b7a0c72e60636950f682d118cfdb64cf52f13a4dcb8b89039168c8beea235dcc9767a4c3967c51c4df4b89f1cc0e9227a0b7eec7c83171d484cc886e784df667e6384c1678efc5a8cb6ab2c8f1b80c636e45e378570986a8bb360613e9896a92aaaaaf4f5f566b5865ed282a352e49820f8713a5fa98aa83928640937082aa84080ca918bba91de3547e260084e4fb7d1904cd8e11494e1cb4af0d8d5967c006cf887d679256e83e927b05f9713e9ef9f48784a1f67f9dbc9396d60dd7455f9d4620e75a75c8f4c080b954e6e68faf0a6323714f37fa0521d651525500080731c255a047100b8e4da9d80cf4fd4a835adf34df124107c4c37918bcb792b68b920eb106db539fe6e1378bd81498ecdd3c1b8737ad5b5766365eb08532e09ab421a5a90574f780774e20601bfc2c6afdb7db733fc11ac66d93ce44258a7bc830d67845325ae7df86931822200d0ef8604b77c7a7015984ee1c4977314cdd2237207543b3300e6748a7776bfcf2e18a708c9dcf85ae6e5c19361b1b6d44604e35e0601f42756c805190122e843aa85c14486cb5933e1996585a6b6afee5a9bd0232159e94e5cd07c47fa69c47158bca121809750014decce43c9b2e39dca026918d7981b0a02cc0b937ee3cabb80a759a5c361eb6aa3a2dc132f6ccffc4f04d6fcaa63e133bc8fb5be28960489a49728f1d623959a4884e8b8b0f86f85c8c6baa5a022604431a5a1ed52c5cd489bcb05324ffe5073f2509204bfbf8359f60f558b04201a1277aa3bb4513712875244eb9a02269397793b2063a21bbd214658ec90b4e848d92ba973d6f95d55424feccc0da1a49d66d60a1758a7a5cf10ad379e41af059de3317e51e4f2396bd5da80a1191522d2011140e5ba88befca1cf92233583207995181dfda2f96316cf6a631f82a33942917fc0f5ce2a2d820c755bde6b857f9ef750901a4822a2fe6880882c515c75619d99009ddb58f9d200c5a8fd0a33004824c4d210430856ffd5dc95c0570284f14fb2862cbfde98a519fe0a58641f44fdb55201600aa99b344e7020f58a71f65a9f738cd5a9b1070fc18f5a454468554478c652af74e9d59c3699dbebea3148c36e06cd011c16932d7f70e829200daae2fcb42743b2b25be19ab6e1237b4f16545e235add47003ee2713408a08d5c70a8ab8c604d9584c708243e2dad1ca9fceb7d82670119d548a3d39791539c5d5dd9d2b14f9bae334d82d0a1cbe364a828de189306e308b9ef14d170c764e7901571bccf803cf2930c77ec032e32b5e52fa4df946815aa5246b63467c1939d2653c086cf028d20c7cbc73ba6a251078cf2b798919cdb23d74e6aa1907b4a8d9a8620e7738c38985e18b3304e689851afb649ca6ed5d6a4ba5516aa0ba9e7ca3f337e08c8cae51b4262fb0f082f4c2b9295cb02eeeecdac3e9925b79441788ae4fcbc4314f754516d7ce9c2c1639cc98e253ee2cbc719ec6bc77fb9de23aceae115a2a17c1e98300208019156c2eb8c29ea41a7610ae5c846469ff29e398f92f78b156bc106b3c28ef35d5c76034f504f465e41f54e6bfdb2ec1a6775e906f04c39a00f1f85d135961550dc5742165e809e3233c658347524e1fe31b78a347633d564d7f6ea6d15a53d4e1e0613768c1cddd3b1f5051af3d2d18a50f96a50c112bea57bae57ee027ac9effdd1e844d12027407ff6eaa680645358a28a2be027ff8f437cfadcb2b74a587d50804ab42d152e12d7c60418e60e5092c948f20bab9d0268fe9dddf13fa19bc88ac160bfccb48076e62555c51618133b39bea662942c14939adc60a15fd54bd8a36a914813e5c1b1a3ff9466b4e4bb4800207d1cfddd664c1c880ff096462ad645b28ccfdfba02059100bd4ea529014f8895e2a526bac0cf95b853043f7d41e35c9a8154cdeb501c5c6c1ba80d2d74b6df07a7546b242bc9aec86b5f28c3c56cb5a4716f9d30bba709cd072b5ec331ce8de88eede356e366f3f1a55f1e207fa8c53867d412e0e81481daa587972de668d177f4c27dc6dcec15187e6da15722ff27036a0450cb0dc5239e066520cbde8120b48fb69bf4b230a8f812c5cb33428e8276d976808eb8d08635115b4028219e26302844e78e5c3b331db3eac4b471bac2f90a0a3a3ef6f1468540d202373cf3f34633dcd1a0d074cdacd168c6a590da93326d3751ad80dfa4df59141c250f4670484d577b90d4c44510a74c2f1404f42aa3926b4d4859f64916d82c4e933d19056acc56ac36a65ca6ca10608bc82d8d8e21ab41a168fce73d0cff873c5eb888b30daaf6a0cd83d3b91770d6de45a93155d8c51f3fffdf47bb5c6ddcef465d64e96f220e448b1bb9be7a0a2200959a4c7d25dc1aba744622085d6f035f594f3bb5bb54c83e3d88e13fa27973506af2655403275af3cc8c10c2244221e983663502120eb6f0bfb8bcfe8778eb957d32d6d182ba71090df5e6ab01d8b69823ca0d9633c0d9e721f6fad6067f5b89c544fbf9850a574cfada5b308ab2c66e58a03081eb2c598f00dc8f714e2361bb3f6728aa0ca466f4421a222c7f1fcfbd1fbd4f5d7cf33cb4a526ff6e3571996aa790e100c6659b02decb86b76cdf164b4e4d9b69defc3bd56b39f4a29c03ec399c23a500f2b6d492f594e26d03468902888d8d228342bff7524757af3e4262d72b7f6b68aa3012b1882ade59c13210edaa15e4b809acbb498e35c09aa5fd42263ff1bc66562abece503d5697fc5e9377c36339ba6cdfaa92ef4f417e4137d379c0143853d630be384675f0299df0ca7ded10ae5c1158387f8440c8a16d9019f6f2071d369491644cbd1664ff1c9d16effa1a17e6a6a1295d5684a71acbbf3776bebf5021e0bb1e47e412a66fd360141bc4134df406b6ae48096b629879b2ab328b6e011da30e3e6a119e24b96d8c354247ae312acf27d3ead6665f1915f40016a33e6cea0eeb216dd34b23366ebe5bce8299fd69d9281720b4f4ad1c097c61205e502662361d3ec34d668fcdc496392693d16ad943f513f5debb141fc637c44904c91b0cc43b2a03b67cbe6b0ca0ede8496a969166f9af53a59d7c273cd3046184f5390a141adb1666824a8a371d29fde449f04ccf1fe860d5696022bb734e7da718ef157d31a8c1b88a445e433626c5fcf796996f14dfbdfce3270cdcd098fad128a46e5fa7d6fee319b52b97b0272effd2f1472fc710d7a29516610c28590e5be915cc0ee16d9c8c909fbf548a56651cce6b1cf457060fa67c1f534bbe10722d12d4d962bfed9a050466a499044889f6ddafa246d63ef536bda85c798355992a1c9daf7c073c0ce9f8afa5e30a41917c0e64103bbaa339cc7d83ba49b3150bf340e29bf1a6afe7698ec2ac339b80be2944a670a77813547268087136371be8926c6ab9efa61396c59d0784b6feaad20f5c927ac783aa22a8cbffc0205cb2778a247239484e724f97f9ccbde6915da1ea37c676204eed35bb0b7dcc7091cefab2d6a8e7e75f3b1fe2c4629631157d2fd77bcf34916e50e303b23edf4a8429ec503882cb012bd46baf08721e77f45aee4d97751f8b1401a6af80c4be3e959ea3c30d42cbaea25c133b9532300274bc9d2ada7d15f4f7af2555776897e72d816507dae1b4854800b516359c3e4e017d15662ab90cbf6f3aeeea07785602d2409d1a634421a0c66de779c3acf7ee91ba8311e7e2d0db94fb97b91cd3f79f803b4ffe2250218cfd766d8718255f71cbd51763e8ac35987e0b5de3c7df47df28eacd0c0e0bf6b380b4e50fca4033f406a8ba26979079cafe74653a7cb854ca9a266edee48953568d00b4252953ce2d04757a49e06c1b15e888bfcf719b013ba9f4c9f05b54d035d70268a3c2b48280b21d3f5c64b420250ec795a2994a02a40e778a9908ac0206101f930e81f0f60d12f717dc0abc091e2947556deec9ab8c1b24fd2b9f841e50d053d8fe0a64043be7f9b31dfde800f9f324735a9ce109f5842b5fd663c756fdad994eb4b51b40fb7a68cb430edcff323d7f3e09852151b5ea4c72f128a721a74fb2279259755efc1451a6f3b293a56a05149b7d217932087937827b290edeb3006581a9068a2f7fd8922676d5011fad9dd1c996bfb7762d6bc67a88265680b333ee2f38284ac7c333cccad8475899b8e214ced075788aba373b783ff7b001ef74887b992bd196252ba5379b577ef61bdb45fb5b3a1fd36ecb3ccc3ea601e7c8c5c62b668f8cf175fb94347ba2a994647ababc6527c4ba93ff2bd5e20a636e35967bf0f37293d63a07398a1637819f2a4aa0b9ecc11cb063458ac9b89a5e084b534a9ae94fb4acd71f5a46f9952c87c4c0dcf11a26340b5a96865af289c6dd11bbc185f007dcc4c793111bf89adc943addf017b69e7fcdea73595f3e6fc64c6d8be022160dd90ba767188712d7cd6ab29a47ec088657a5d7bc9e1d027ad71afa080c9581cd2166da1b20ce9586793afe6f0830f3a70b474b7292422fd7aa1792ca6d2d700d1b4154aa4519fea76a0d5a96c6b879d6a09ac1740c836214b9c5946d30364092ed24488dcf8af00dae1535d42966043735aee5922082ac5c41a51abc72f5c043457258a0c8fdb1251be54b7776cb9add1b5dc438670c963b9e8ca582ea3c9b3b34de1ac410fea752d81570f4ae220b8e444ee8150e41a93ef00ef7771a92ba175b95b72d4962de1155ff1c6a88795e45c3d8e7f38186fe71be1f71a2589ec76605477ff13e72452427917c34a9290c5e985068c830768a8fb61cc40625e3aac7761b6189241d1d42a828f8b54feb6364442d1ba061b930025b83474d9666190475548412f41cf00a56447c8ec38bcadb7c11ae5d2badab81c038613633e5682ed56e350406070fd33a5579451cebaea532c02ed5f2176b93db3fe8a516acbc55e1ae00ab111d0526cd3e4f087a489ee0710abc55d0c3c40822a7fce31bea4d336e502095b2f0f44c2a2ccd1b9bf76adddf56763b221d1f2bbd3f60685e3f553e4817873bea87d117d790c4e3ca1b26d25eeafb3e37fa939e4ba802b286513b9962b49823ec0afe58e51929437c655f19f998ee142bb777edfaf2fb5a4cb112afb2f5559f94bd0515ba1ecfed6a1b252c0113d9fd2ed5bb5a68bc308e62cd3e2fd6630f91961cb02a299d55fd1fb487d66105ae41f8f2b8ec518a3c04d580e0419c13805f4e9d877cc1ac393a32ee4334f8d0642405b0d404634c30c8a6ae532efe3d42f44fa61be6de1c181f5c962606c4cdeaa5f92caa0b113eeb7c66f78df3b0b227a043188817861380c0f5759fda9a514de601c5c73670e69a15b69f5a19d99c0e14b5d759da237e3c5334465e41b587e60ee464019428957aa6c25fc292f640f51e203d0c95b60b15678f1931768a22ec8ca65b0ef221f88b9ea25fb93e85a5c77dc5d83d05929849393d1dfd0c56504c8af8c9d947b2ba7460dfe378ea97fa637ee465f0c2ace43d0ff1dcb60e5a5e04cd3595365c8c6964640703d3f82bba663ea2f052664e1005992a2ec201daec92ef53b767977e2520bc20c803cf8b91230b90858d743288bbd3ff32d02cb051dcfd4c4b0e7db35b703d84b05452301a7efa919f849a1cf2f63c329883b69320d56f652d589d3235f17e37735da9279f84b134ee79c98fee6dda1f9ba7a348e1dcf969c58ed299937239c0d5cfab8ba2ab806f4862983ee4331f1c2edcf0cde0a9bac1bfaf0b993e912a335a14b9987d32e5371b58a03749e1c0998ab982b16ef7142def51620f80bbd5ac7c85c7f3ac7255cc29200a1e98adccb6929c1ca1c7720d40711ec71250092f84252dac2cd4c292d1927c393083fb7696b25658ad058c606673fc1a0e6ca307d71f11418cd3504cd952136020a1efffb7bf6051db794d5b444f357dfb61ebd4a91e24d03290b7be8806b68956573c7456ce4d685bd2260a0b10ed0a1b581a46d7fdd8f3cff96fa9f9df1f685f446a4cd2189ae45457b191c73bc97034f3ba80096c4de1fee99cb85838205ce9c103d22e3218b4030c8ed0544f4a451155f9a8bb5a1ade114eeb57c1a890dd97fecd49eebb57bebbe3420308d954264fa80f872c5809bd54290e1f1f08e85e77eaea1e91f38133f584d483111f5abc6b1f3c5655f5a361d60dde4cb89b5b506968c1f0f991e38c132ded8366a7793c01476cc8aae1c31f80148ff0436b21d5dfef797e65b84487d9cc7436731b27edc6987c0a83d12c03b0b491057b6ae8c12f58a02dfa632db42ca3ece1e7d75b1e394a47ac86a913676df00a9899cfdec2e4312a1d2a4db6d9ed13956a4074157588b18dc23597fe352b74d580d7dc889f8d8ec5506bf1b3edee1047c0acf3eb91dca4198d0811ef16d2641ec89e54b10bbd766a0973f8e9eb4ad453ff81511c74c9a95887c8af2934425fe5757bf14427081c4093920ebe12284ca19ac3d8243f0ec0f43abf8a76b0036623a8d3a43d428fec4d92d33c4aabb73b60d268f1d1cc7692434a706be1c7d25ff65935692089063270f896d10a0f02c0cb76f73fa609a90a3ff9f627fd9635e90edaec5b2103645d4c8d6eca5e4e6582d3eed57542bd71fe8e2f0a2b9351cc6b65fe328ebac87254dac38b19fcc5481b55f067e3b25ff0037d3a4c278b185e09bce541e5bdc217582f34f9c0b0eb378c99b9e1d2c04fa8876b441bccf371a3cd834405d5e5244082a9f491d33762147d996bd3b6e8e49c1f2ff4a24ff409707f02fdda81e3068dd948e1166040a11fb191f92628962d4f857ca5582a600fab4c2296e73ea03aaa4c7a38c09debe9635ca04ba0d0edd0893cb4362784c56efa6d77606a6b6ac8e1684349beb74609094b8659efecf41e941126428e8d99d1db76947ab16a41c8e61e8209040015ba05c29c716044d8dde0ec72fd7b042570647f60fc88f9569d4879cb922d18a161a835c5d5805a159e016d163d9e09ce40f989664a51161a89265cccf39da90cd723926e093c54a2dc6fe61b291e264839e91e198600a319426ecc2878dcc58d41647960d9dc2f299857cf64f6456bf8999a9285a92eb19c5066be050ab38d45f0e37e0131c11ae007fa217216b990eb46a9b7a3398702553a746bc86702bed74500cf48fc332110a9990d3d829c3e6055c932a7e68716e8d5b3930071d4c8264d98416f80d8f4805927d33b618b52ceaa729d8273e036a3c3201130d2a220b59ed2957dfd3604b533d0fd4b42ef70716e5e05c146939274191cda771df60cc32f07fb9413356076e370a7ae5d0cc9cf21b14ca7d1a19810ed5152678a7c02d519b960be85b866292251b236002a976a4aa2e939a8a200ac3693cf684eae164d01367b8a59b30377cbbd5f312309aed66034eaa77272440e9c738ae32db1b73bfabf9c87d45da85497ef398e44c99d3b3bab58b37a4abcc973e6c665679b65efd58f44728a5974eefd2923491f86d409d8967f09f8c0965001e607805b49537162de01b64391387d4689f48da161d3e3da490c20db4822a3a336087e7053a7e25b382303c197965fbfd3166c4866a37ccbe0f19e869635ccd2af6a7d327efe96cdd0f9c4632c57dabfd6bee41ceb27aa53fce7c651e48302a27afeba8d64524785bca91ad7492d6cdc13d0580ac5c4ec41b079f6c2e11456f27271b7634bc92035e1a4be1109cf6b415bb4a97c6652114aa25deb4590e57efea2bdfa0f17808ada5d3fd3d5c1fe3e656f82a3bf5c78972c825ae79b5a6f50ce5e6d6a09ab5f42bc27b285975cb38bd10f714299a943b6dd77de1762c3b440096b274fb56c928e27d5ed49d98d46a34d34e1f913c8d11c83b8cadf469d56e31aae05b827a04f50abc25b84750afe05b027a05f408ba29d02350f5de892b938ece870e29a1228232a9ce26f44dedbe6fd1697b8ee7c79d478f8bc555376f705f7fece356a983eeaba27176c71ca0ae8619abd9e3069c45e777f4abab9bc7742aa8300e0d5600b53a7f61a6745b3a827a31a08f7d5847c8adb89a4f54606c0a218c2b0c77fafbeb9f8603615f368af6d314f9e01c81b86ffe6fe4a2109258a55b50afc911377107c7d14df796c9ecf247aae1213ebdadf715e4cbff0da3daa240b92e1b1057ddbccc8f45d1172c0f9c4260c9421126af1defd03e1b61a1dcd1d3e0f16e2cb8cccf83cdf5d0a5f6be8e2323fcdebae6fb32fdf076b85bb09a6b8f9ab128a6d8d46ebf0291150c65656b2d98f4bc9107b198a552d2a31fa0e82cac76b31c29448b8e08d9b83b2673b235a7c967e1db975c364904c1bb48ca460c0289f2d2ec21d929742be7e91d4493dd68bd77aaa5c361ee8bcf320f5e2d4bdd943b7ca5ee31993771e39679f745c805f232ab96a63fb51da8a82aa932f3c434f155039816245ee3816cf544869e60afc34afc33746d69de3dca07318f67fd89c878b2f1ebd161ccbca2ebb2b8040e40bb11f52dd5ca08437d24a245b202d0f0725ebf97706333710ee4f4c09d2ad449b0c72c76cea672d6de22684ec6fe9251528c756374bfb54d0c717d78d992c143b7d4767a3d3fe05d4006d9900d14bbc3a95ed931c1fa44249552a9a8ac386f5fd769beea7d2b11606a3dbd78fa7a8ef788d2470e88b3ba9a84102bfff5bc8de0d34ab8bde665e1d8ffd17e3879eba069b54ad85c766c58c43d200c5797de4641b6623e78c9f42f3425f380a2b769c4c9e6b51e6135b6abd871c9bb73a53266d2e0e00132d2717fbaf3fe0b72b6a881836dbdb9237d394f9e9e69c7ea616a99416da932a4c8a1e5aff623144ac10e2444325fd1d0657a428bbc14bebcee0d1f0137c484c394b29f2819b68d9dd0da82d8c077a487f7daa04e3860f2ac66d8e0efe350eafd9f86b284c30273e16ae51f85dab5f13a591f450ac6453ec3cebb1c1959b187037f44927da63b66677fe40f95213860706e0a8105336a21158a4a40734d64b5e4e13a9a8a10a5989b2953d67e019a2308a1f9e5259a4c9f76d911edbf561f0894e9fb364d1089de6844571ea49f682f7aebe0d836507941b4b7c8889d7ec4f9952da4ddb9ed5b0e25536b1f8e56b4f358ac4d7d06e00e4e280fb5e4ed8106d38b126bc52d3074939869e305bc398f703403efe8ce01cab127511034a09426b103ceb9194d0e57d8d97822c74c5f6b540f34adacfd1fdc6778ea8603ed775dc53a2d2d50c3cd3d3875d028ed720db90a527b4dfa187da75151b320a3a0a2b032fae40c2ede86d2ce6a00d8e7a63b5bc622c7703c6ca83b1932eb66d1e8f1ba30509957169c59fd02df670703b17847373b527fb60a79ff28777a41784d28141426164371813b8165fa30570c6b733f94d58b22bacbc3d9c2db6531f1a0da65c94f0784e0a63c9d686c023a378f340e1c9dc5338d8de67862a7c4bad857de179241a11ced9beced6ebbade5572d4ce425a7c83aa2a0aa4f7d98c8845fb622f3c9178e126477137ab31cea77858e8e13d18437e192f5e25c373f893605a891637cc60cb4609950256f73fb67b2819bda5d3caadef9874f828628b388fa8a46845ca24e0b1fcedd96dd32640baeefa0bc60c41cd4c1ca6be2283e45b70d88c0b3957b7b55e0c2350c1c875f2d0c14efc9bccd449e27d1e1f4e4f143c0597653b2686e82cb51fb8f6c5a5a675d60966589e4644f8c5d5a0a2229b3eb130f3ae411ab343dd2a810ce4ed03828ef842256d72267294501f19a6e4410a64ebc06e0f772fa1cbdbc0a83461faed2467f0d97c7734dd0ff0c4097afdcf64225b1402f03f51cb683237cc6a39d791292acaf6d25fd639c898dfa46a86e250eeae0c7b0ece0920e730abef2fdb0573a586a92d002b07863d4a52ed92c2ac57ec4e625218555256846b90ef6a19b52a3db7e8a586708b55cb6e51fab9635f5761d4b8f7f421155e682cb070f15af6de605d00a1a7cf2a691ecada83d322da0e44c416b3eb3a8572716f97320771281a7204677e238dd3e6e8caf47b7a96c9f614ee98ca1b9a77e6a614d19908e5a5822a750517e2cffdca2e27052e623c36aa66547bacda189b98b251ca7a2ff618dda9e666ea9f001610b129b086309fb5e741f9f02f8e964b2dfe1bf3c078c8ffe79131df6d58190243330be33064a853cc31afc85f100bbc683c0d80867115927c3e545c54f75e365de4725f45622bee9a012eaea68079ef3dbd96afe3155080f38feaa813e61fe655fd8b35988aede38f6df48032b3d5ba5683902da6a3577f91e47f10b7b404367b1f464ba57893dedd568ecc7631d3b6253d62d7e3eefeb1ae1efc6d8d6ce7be8099bd64d1a0b684fa03d2d96700c55eef12864c4495b31d5a6ca36f7a514bc603df986f23e32c7143c327a14d283b8a9c51efb0c5be0785f3117147d01fe836f020aa52d0bd2b876ede8979adce67abd034696b63f11aa9e694fe35e3ce941673daded808a0e7881085cb6d2210ef7e0048955e1e5d3fd1343c9d50e6f54e876942afe2f7d375027a09ffb2d5449883c1510c693f91e7a5ec5aa3e9343dd84d01aa9a146fa02ff1f4a3ca9218da26d5b530661dd5d2f11d09a567460ba3e5013a38c8d8f4b4ead08ab84b722e1ea0c462b479144b8151990e66b7abcd24860dd9546588137da51fa6374446135706ec4a078ec32266e265c389fd84c2981e737ae711ef4a2eacd0b6983e3cc7d03b4d155d971fd143aaf7c9a2e5db582460315e38dffda814098f1a1df6cfcf6bcbfe67400e8b7daa684a77e5c4cb1a27b99aecd7b3b22b8514d08d6f9b375b1c73e2ad42c08af5add2e2e0ed4afee09e65313423d963878e5957b8871767a58ad433360d685d23df76c05bfec345b6dc140cef01f703c49b55291ac0ed1f47b9efe2f1c1baa9beeb86e1a12418fbdf9ed3860bcf051f10953397424ca8a7de40494b856528e74de95dabe5782a5bfad2a5f755e589723f5cb4291f1ace7dbb03e74566a9afd7bfe5b08d8528a1e27133632b0f1adf2f9f4d4f50e7a10c4ea8518d5debe23b5aaad69c1e47159f28ae71945bc84199dbbec4034cc9273c4fb6383c66d91b000e67dd89fedb095287ded20c64f6aa158238638eed7e85eb03183ba3f1d9b5b4974d40602946acf1de4f5364ce0ca3977a0c7e04dfb1c1111b98b4791aa64b91a39045acffa2d33d7d79f2b72760be5b28849e83fa30a6143160412eaddcb61b0fb753ec028113fb88cd3aedfc0c6ca9e793c27d6aeefe4c330733162a0a52528f8265a268c2502ef2a8941f0312bf63ce05ff681524e550eaa02210e58970bb948f1dfcad300cce4813b17d4660565995699854a7aa8e09410a5334503909e5c139edc513c2af8135c0dbc939092b30bfa352723897b8f9468342c0cbf437a21fdd0a0d1442142042881793da1c63d884ab095e4138328b8fc29444972cf7cf392c6971b4d42491394815e65aed01ef0f5f5c37f09b9fa356d2ce449270e301596b9e36fbfc04ce57c2bfd10495828353cf8428a6f3c561245d4991babf846266240fbc608856525ecd83fa2d761616c3978004f1f42a64ff3b20a3a9100d38f91a5401db5c2254b8b1fcba2c282f466c1dbbedd6bbfe37fc57bcc4d7cbb999b86604d9a14ced1be16d34a1c936550a6e1e354f2749d832502a8b23d6bf66edaf80439dabb28bc5410864ed6af28d537a077522a6834ea54a6d22d8effd9de2bfb109a5b2a7676fd81c7e986b76540504c7cde3fdbb3cad05a73f2bb31a5639266df7fac3037f382c76a5942521a6626fdcab6aeeaab71ea80cd55a78a47d41d83c214b198cad59d2087515ae123870b64d2ddb74d935592abaac138f89d59588f32c4aefe6c845bad843e9214cebe2e24a6700f45d8f67fc012951e11fbee62042a1d5fbf6e9fbf65c082ad308f12948923834edce72430f2845a716db11c3fbe072d671591d665835fb14a10b6339212d4c1f7dc9cccc94fa8e8b66d30f828a2b585572a954fac328ed37d0959c26092dd7b49e1ac8d772d8782d6e015ddfe98d7aa2b110d63df75eb6762ee15e5b85212be62695010e0feea6c31469ace9011b22148c18f987aa7e38673c203733fd1c68841d809fc1429ffed5f4857d7c03bcb280457670754b2bde8cbdbc732cef5c291a9262d0c2dbe17abed572f634a28c0ac5ef94fda5fe7ff33627a47ae1934139a917652b9eca578bcab3d52851b3c72560851a827d100a4b6096693eb272abf4d4ebdf5f40d71f87a83b109a7835169a0da6d7aa5599f663263cbc7829e8496e1c234b5dec279973f6e9f5f31f6332f97eabdd011eba2097415268978bdb8081332d0d2f0570f9614e71b25a23c286b9fbd79a8960007f22582fe5b179d1214f0c90cab6f8342c29358f8c0e2479fe09267bc2bcd562c62a86482c54238b40ef390359b498491965f8919fe2ff823822d6b6571134698e2721adf99ffe760898f4bac1945502e4b77b3aff288d2887ba75217181036a63f4d82955a16b7d43b7cff81040e062984092e206b60c174e3c730fc1d57c02478abbc4b40b6c1790f3521bf555723f6a59771d7412d0be5c0379441f8d0d9df064cca7636407048e1900f64b4e908214a9c0a2cb16d5fbce93740760bd7c2c9f96ead4cdf5bb98b4dc02b0eda40f509d9f7dfd44f752976df727951047ff2e5db8633d6a559bafc105789387a059eb781d3cd99dc6467352383bffe4fab8c3e90b92ddf813644dfddd789215aadc27277354284e98403b3cee2462cb5352358e02ced62babc60629fad3c9ca5cfe1b616457aff085ef35d08c9c01792e86e32e4d8173892ccbf950484c0b43cf7f6ff089a0bd8814ca0b58ce26714d2ed16a4ac1603f15656e887f1d744b6e9c81089143e3813406e03c9ffb927c5ce467637681b42508893036998680adc9b27fbdef67608bb5b3282a90fa71c6a17e633bb238bcb25b7a86236e742f5e6ee7617e9fd13dcca19fb052105aad6938b4cba4497bd50758e55928e7e7ab193eecd6bf9281f396f7837510fceab1c1103b72ebcb43055754bc3413ca369b486c64dc5d0cf59053783c073709c3f4d9bf03d0bd40c661490280fa3cf2710fef59740f94951cedc29c6c9b29aea4b08ac9ea2e01660df25ddaba9393f67ab4f58f7edf6b6c849ccf8687a118d39df27304597a85839f17ed54ef34329b7e73aa35d2ef205e9ac75967aebff0f9e2d442acde7e07dcda4533eae54d51f1facb289afe80aaf52c039d09370ef2484bb55c645c9c3d983aeb5c46d7e51e91a289ec0add80aa50c1dd648cc2fd8f5a913478d2abc6069dd6afafcff2134d39c09c636079912954dc775d00ef04dcfdf72038f64ccdae6a8aade78657a16fb811e2535248b988c19b0d876dd7ebcb7e27368466c039c2d5462ffe606a6c440bcb0e188ede63e1a8f78cf4179bced1eaeabb260a933be92d576f0611367d8fbb1f137302760c59b24bc8d0528b57470b9ed9beb0daa7550f44c99296c5df60988cc0ca642883134f3948e6b80db568144612276da334f6901c1c76d48bc3f4f6080e084382da9af358e9836709a0ef229b521c641034347c1b77c1717f688502d54ae600768c28ac0bc51aaedc10f9b460363ecae0007fa73670f58f184dc7ecb3c43eb70a1cf3024dd80dba6c4fabc2c22762ddf1d32de9075ba4767deaadbda4f657e0401ce1e53e774d0dc6ee896736369eed9cce98e1471a796a1c1e6c5181d81a5d68dcc98f9c1382d6a320a51e42e436989c9676a10bdd4a6ebd61428be383fc297ea37fee54b6931b1fe1f45eec774251930266e862cebaee869445f0cc02cf2019662de5624c3fcb88efefc615e87313457ff88799b236d9ff33415aeac74f6ec33847a6d86ec245d8f47184fd681bbd8b9a5fc5a2471ae33b951883d95e13e49e4d547440d29317a4fe227df81e8e380b3ac617c4950670b19038b21e021e3f8937c0f1dc346258680249af5ba663465c07f8917120a4d7d1edc2e60971cd4753a02f0975b8e2261c216d9fbcdbb50b2123bb8c9c578acc46e40d1e13a6efa0e5138e8194700d7067f581cdc339538af777a61ae8e39cef38b72a53dfe5ab4b84c48e4f64c6043236049b084915ac1f8f616ce92bf9836748349888751e15b8e39c5d4f5decd8a4f0b4b5068050a92688018644960b5108c3f863a37eeed243640e5624237ed3a6478bd80057d6a72f13365c410690744b72d469a8ee44b2919100bfd4e66873d9172dcffb059b8a468dda4e62a7dc904c7778e2c50397bdbef351b320934bd2963a13a0c86f1689179e31ea9d91f874645f6d71049f8b046447593930718d018457d0df47b98eb6f2a9967d7d12ce09f4362e19692e59f1be7fd9dbce20d6ed7fa4f068191b7f9cc3a6435f62751fa230cdcda0b682fc848a90e8c246a8ddcb327cfc4f68772e1ee78f94d83e8fcfa611f789593b4b2216dc8840a51c5a4f857023055ce3794a1427ca7dc06e246ef16f35eb80a992970df8c034632bc3c20b888636c2d62a9692a0baf9c3bb7a539021af5664432e9504368050ec4a5aae2f4a6c3d9ade4c050ca3919bf3b976088d1fae48f3e4fe48fd7199b5242e418c926b9b689efbbf41edb6c7d34f835868057a8f7f1ed8caf8be5f30deadc876c89dea0d2769e961b0654e445ad898152af6dc780a647340a2de5c52822717ad94b698d4d18d0355c8432d0dc07a6e7e76a60d92b4be710e729aa3b4b8fd2a1cfb620767526ad42c1502d113311c613db23bb396c6cdb8bf6e7fdb405f9ae75b922aa09f3024488a350c96476d36ac6713d73606163af5c272236569c7d0a8be04140e8dd5327ebd70a3430378561ac7d16a0d6a69bed27d729b587ba03e2aa63cc0edd6191b542094504aed64532e00aaf193b9ae5ac3d389d1189e7a0918e8547f8f647afce826f37a433e0d44a3db128af7091940c9236f46cb21e35c8f88785ab7bc25861c30273e18066b70ec1d0f0014b1b2a063a90709d399ac6a0e2d2982d07780c35036d5e648d3acd731ea2c26eda5b9955b643e9996e82d0673091a635ced76513035485d1a43f24276d03b79485ba23120bd0d710dd0f1abdb43c18e2221f82ebeb7fc604264497dd3019001542d8c98cb61424f82c9ad236db1d637f14a09897efac0260da12c9af966273a08340068537c25c3e3ccacc45e1472bf01bcf91bb25c7c47dd45bc3ce38ad1951857866ada76ad6f439f32050e406f440815bb871adde59898d0ec1b26d828909b999f1d7073aa7737bbb36a3bc2529a7d739174321388e75d81a152881a1282ce7d580c8e7e0599db38375b6beefa571d358bbc80da1617163bb83f86656175cfdea9b1b7e89598c566e81d979420c85a4a121ac176bae423f83a285c5a377b70ff635321545f1f5779e2a046fed39cc1ccc67fae14e6cd407552e546a3b1c1d15403ab121a892f752035e7745b54deb1933e74305fc5064f2dcdc103d0495ec57a580faa26492de89995047d189dd2e688cee7d63ff5de8aa6178705464415c3a3dd8facf62f0ff50691ca8eb0e22294c14079a367ecc941542143f5f696b2d007ef089572ecaf7cbcc076b731e4efe3941039048297e1ea98743c0f894bdf92f046aab3e4faf9a8aa7c7d57bbe5b9b183cca63648fd3d294026757230e4864ea89f52aacfeb8353252fe0dde78fd097b3d1f45f01584eb70921880cdfd2599c8feff8cb98eb6493f87685e5e8dc58b38af2c64f25e8b8c787fc46f784f8877b696a50a38d39bd256ae792e822fcee7ad876fd0aaf8cb7575d00251fd43b56f88df519db69cc921db5a5582a5168e0b036ade27b179bcc18041f2dbdcaae10ac6b5f832c72d6841b8eb19db00697be574404e3999fa334afa5b57f682f6d5d1834b8ab42ad2c3dd819ab7b2f3aca2b26598aafc897eb8a1b34f09daa9ef8a3f013b81337e3916a11e900c2d57b8b13b10c115f92e3207b372d76d13b44a85be9f49eb6018068af6bd496e5cf38cddbdb83866e325f8923d3c5c5d06aa65d5ddc9a44af8a91e1c93cec020c99f61328518dc7ca194aab0d22cca6978f63268fdc0579c3ec1b23614fce8b51e6980cfae25052090eb94be0c7bdafa49141982f4729870bf27ea810dd09ffd1f9594c5dc2c94f03ae7d28569d49162d6412d7d833744743c3b7216cfa11920802b16abb4ac8b259eb037094bf4f7857973c9135de49d6981b2d73332f58e1d7b174ca302d01b99819075236354ed93a39fa30daa50579d049a2f897ab16c2ea12fd28be9a6181250d9e67ef0c486a26f2e31c76a8aa6a82a5938414c300f9c29e494bf70658931f1e348e807ea52a75f1a45b93031e3f8b1f8467b2916eaea0f31d1347e60421c951d4762fff65a681e809c9d2d2cdfda13c58ea28cc87a6bdd9143401961aae2689894bdf20248014debfbf12352f34d845b694126510bf261773263365286455690280e2b4faf4f42bc7934e92691eee8ef90d3c4a9836ad25c5a4f0cf81d85ce080dc43ab6554c09cec5586362f7d15624af1ac5a015a42ad97b33e1c00973a0d968e1eb81549961d8a0d347c2cd2c4c686a0e9307490a887a6fae4c104df610a81cd9cb7518cbe03a14f5c359007c323d03e39b0055ad5b6dea4c7c6f70a6b2a164330ae8d004a67e8cb0562974c685825937752790f9a479ae1de71c7e73a49450e24026e4387cd7f8c340598abd05f111c1e8291474a59bda11842b3f588b02e86871c0b92b400735d031c318fc41827e1c1f50787b8b84c146511e12e07af49c4dde2b51b2b5c8895be367c7fdd9852bf09de22b0ba30fc624d373a3487e8d47b3bca8eba63dda01f413db8875bf0a8308dfdc9a0385c1435bc4ec40f56bae4f730e4961338b29d64ac98a6eb2a540acbb782eb7259824792e9b1dc81438ec183401e5f8a6390a7fb020a3a3609842c8b30f1c8553ca8b0f24a609fe7a14999e6878a842c044ea03e16081c6f19a485fa2e9fb3d97ea71ddeceedec11285a5bbca1ce5ccfeab9b88f476d7a6ae5a12aa0e33337e2ce8657e10fc66f175c5a0e12fefb1f2f5a5c474f2fdc6641c9c2ba29da1d37572cbfb9f1f1aeba5de1b0647003e7f6d56299646eba5111152f25f10fc9baea02eca1393b8fb5bdf2d311be571533088f3a947f7885af492c9b744c9804f14302425b88e772718b67ee1f9b7cf927d49c4f1fd1a2c8e7224b68a7e057f3756fba2bcdc3bcba449e0032d1e9d2fdd251b8dacee663577efba23b8c1bc56991aee58aed57031eb9e1a61c3c12c4e396c745e8202008c6ead3a397c6f0f4e1acad61e0a671fff13e89e3a54b051778906615b8c7548fed6400c99bba2fafc1d845b6a7a982e33d68267525c808e1fd4785289bde51cab111d8cc5f0c68951487387b59cb254d44d006d913578ee9dc207cc223a6aa72a16e2b94de7905ffc9c4179032c786250e10c771ca818f14573001a736dbf4f0d7c4d8cae130e01a46936c60620b132fffc0d6a1e66d6685986758b1e54073128799a77dbe92417e527bf976a69ce4136358856be72135034926b68754dbd36b200ce45461bb73b614b50a19e0f62fb2de0e09fbfd7d161470e66e18a8051a6553b32631c54735335902e7d9c6b239a9b744c3c4e64058d90657755216c80006ebcce9e4dd5ac4d65a979f55a9c82078d16452404fe55414b89dda9b26916e695e368e607ee267ae215febc77689e40e32f91107211fd09673d5f876a09c8698f7b0831a5d718924ca3f80593b809eed4b01a419fc9198d48363e3fcec65135f36010a3289e1b2bec19da9182dc0b87a6b0b0da4256c07837a8095796a3c4406e9428d0375c0780c8e4a73512779e79eb81b601dd94d06ee066c1a4eb4b55d798baa25b42d21733ccbe9ce9541517dbcae62e64a070cafeeb10a3a20d6928567861ffe37b51f6041c5043b08aad0f6bf7d918d4369ae001c2dc02196a12682dfb1eafc8a245dd06b5d2135ab480ae76133ffbc5d68f059dfc0a577f9c3e9208c81039f07a1f451a628915727a7aad6e4c6ad1ac81d609da5c26ce83dc349e96203dabac1327e8d3d9bd4a7394385d43c96ee4f28df718392a28a9a10268e285a6ce000eec87c0ed4c3e100748d58494f00d19db4a86337d0f1f64a50e4e7154cf0f040c45fda0920d2d2e54902bd263ca7fbd9d0436b7c9a4fc17c6698ceec3f28a8810f9569974695d7dbace24d3d4d0d8fc63a4ef2ee4556766fe996d6df285005e7b6e4b4c50d75947e5a5a7e3318f3c5f7fe4af1f1ed074cbe2a7e5349fcd9d1c7d6ae63107cf6e04cc25f6926f835c628f1ea6d91f23e15d8c729c3b1a2777b5ab0f5774ee7c436b499999c5d6bfa8c91129152abfd110e4b4ce3d03550dbc16abf66b4e4926be8d6bb28897aaf4b5377ca1838317767f64f9abe293a7c01df39786ed439e1f281a5acaef2f07467b82b2bf69be062a9100be8d02cd005a830292443c35b977b3c6a4dd7e54e6fb28e5dd58c7dd586df46f2506c49bdd031f586d2552d6be7ad1860e652d0957f52023f08525ac8cbaa600ba25a1e5070e89cbb65c53b2d6b800ea57c93968344e6b7ebfab505605555b430b45af25855bd074c92a1aa761296497efca6d46b5fad6b2bc44a9f2f8f090f52062f499870369d468f4c4732afe015d0902862408e0e92ccdd80b3f21a0592bed63f0708db8c58676581b0c4be7611f43bffd101328f0e0482cfab371f0c7c2f45b4f831e9641b4bb831d7806cc28c2dd761c35407df69d1012f8e987af046e14a7c7d8400571f595c2e17071b1ad28d81d846e18d67d17d177f35a1e9310cfec426a8e690d3fa120be75b1094767e54bc06414e5fb8945402810da29e364da832b5e709269893b1902abc78cb5203ca63ea87fc79b4cbb8fb70c39251c2c5ed948ea17d4d63daa530fa0fa6db2ef0509931172e5703bae6b2199f6b402c11abe1d8a9d7ca8f31f8a386d1a764bc7fe171f8f5215bd69786b73ae6929df2d9cbc7dd3042b14ccfdac44c3eae5bdc4bc398bcea73aef08ad222474d7415e0c7d5e485516ed5b0547f015a5f8c929bb03233e51708972724b941d7d07b707996dfab5fcce4875d82cc799ac2689c6b57d35836ecf87e5d906ad26c80aa31e8bc5b3696b8dea178ad24a787058d9a61e8c00340c691bcc618726de257cc1cc9933d933abe122b9322a22b685745743263e29620758c0c6b4d63e5345f2203a04b7a8761be46e8760ef15c00a1b94eb079ff0cb5e53640656934136a5d56fb8bca60e7dd9abdea67d1511226245e4cf4ac1f8df1e6b15f03e348e21a63eb1b06d2e1fbbad8fb23bd3809b495f97e4a6865dc582177ecb9c4d3c50817ac0ceb8acb83ae2e655c1d865fb5dbffe8f52cf8fd4bd3535e741d35a400c073fce1397497b728da4f8bf9ea92533a26815883fdbab98905a6b0d24c68aeaac492b53739460c1cb353824cc4a1e383daaf435e70e75b6918c95def47c2fff2c6b71221821f473a8fd78191b062af180a93e6ad34aef5ce28cb5208d8d2913908b3bcf151d10f3503ae6d7d7e7f8b629e34fd9171673faba1245d2d8405fe55fb585dac27944f567b2c21cc2b341d92c4e4893193de88b335032f623cf3100fa282e5eff6afb2912685e896c623588b111b219b276d54c14ce022abc1082c0b6cb2bc53c340b4ad830cbb2e2616523d950ee5e194ad28cdc2ffb2abdd2bb365d7b1a81c0570a207bb9bc173b4699631b215738d43193043cf7c4fe996049312eb829e8d1bb931c3cf3085fecd7487289e2216f324b14fca22c7d127ce6ec54ce9abfc799712358712c2f1cdd5dcadda11edec4b59906e861504abdfb37fc30c7af2ecc22f5319fcf3701d30821d2de98a4eda364eb770f50a728b19af61765b535fd5906fc25ffe6a6cae78255f15caab69023a823b52144f1bc7b75a2d23a52aaf519a25f201a081c11e40a01b575e9215f1ab92d10670ae9091242912bc2346bf9f34fa83217317c92713f88297b883607bd8555194a30128d108b04bef864479e6c295ba9714169f8a7b470569a232a756b5d7cdcf768a287fbd96d7277516253f525e9c9e8eab9bdc967421ba0dd106737d75464dc73c021c0fcb0ed8fe99a927b7b3cf4041d587798283b8bfbd4c8a467bf23ad293f990fa0265a0c474658ba807c87f879f1c18fe5aab28bb87eee819a7029284f63a78d77e050fa9abe580669456977676417e0d06f02afcdc424103d6a0a277a2f0db7c1ec051764cb53ec9e467f15a435c42fc88184f0bb079f874c6b6d41cdf8e5342f4dbbf9f124ab4f3df1703017383119b909344f3021cae6ffa5e503c5769befa3c72fb6c14663d6bff183e9ce1440841f8fbd8c239dbc218cd9e95795352012c2d1464e722e1af19efe16f77304b95f74c1f909239f7d850adb507281f74a7f23769384096733f0b87afab3500a61915a6ba5a9463bf99b0d4d0139916fc3e69f1b26013305b0815f2baf62441ec37a390b66952858d3845ab1f88d55a5ba530a9ec13d6400ec7b401bc3447ea06b707944496149bd2a62874999d57a4abcc8691955c69bdae465102568cd491ef674f7c127c134b987a5bbcea6afb2cae04514418d6160bf0636d1a150d350ccf3780faa457880b2ea0085cc732d2a7d1fa3461d5d0a36abe8077d20990a607f56af16880b740410ad6504d0884fa38075c571269f0ad6a9724b02c204705ae52478fb955812e23f8a2c53272c9749075ee3be3de44384226bd979652a0866c14cb56fd95c750cd72a59aa22d35160f6b204a2f112d028b671b8e2f9ef22d981ea1ca715a0eefeac46fddabe70a12aae940e8f58ed2cd063443017081a3de925b304ea9e0d616c2fb6a27f113762029c76e066bdf4252ea1750b01419d2864caed9b1110649bb85f3c885cb6323bbd9c2845e7b34158e1b91b54af1048a4b60d8cd473b71ca6c1c0602a320ebf0ddd29347d60842a6e905f1bf7bbb19956ac6f8be92477908843b49ff1c90c46424028af928a2eb660f8fcb8767f95aac850a4f9109b660c79ee3714bbdfdca6649f132a4c32a990894249bf3d69eadee9523b4034c86700a634baa8e3b46611da30c5feb60c161ebcae87fda16e1bac1f9360950b54fce81558a0fadc92331471125a837414de91ed1f495b40c6d9bc537b13c28fc5d0c280c68d64c9c040b58f5ed80a740f396cd8a30a58b7f18dbcaa71c1b92dec7712f7549bc2d589a9d5b7287b8522fd84b28d8f251183342e9aa08c8d2d5388b2b50e61849ce564fb938b13427b56a070c3a0ea6d20145d6c193db183604504bb6f3d4e32bd05fde165d1de3215075169e5e0a41cc0105cd4dc8482726693f40712ebfad96b846197c161574f58429b7e505d436156878a4f835cab650b18ff664b2346d471da92ba526ee1f6a09dd0f0a85d9a464994f53ee0802b9b952cb4233c0a0db75a76840e204fc4cf0f7ba638114fb9af84365f6c3a52d832958912cbd9b38222b71a9a1a4f5477737038bf736056ce417c60da40b19308346864754827481d21a0751e009eaac2865f66e955d588d4b900bd8510fd9c381dd25dc303db1153cef9316e7807f86cd2428f9062a5bcef5dba8dc7ecc2954860e2b53770388c4f8996b54cbbdc85e59956276f9cc848dc917373f56906acfdafecb0bed4229f24d800f5e25937c4aabc8171534c225dab2d5ac24b12f9337488e4b41558d690e26be19d8924eac7ccdf3e6b6824cf02216e798cfdadd47c61afdd5cba72e75bc9ee8604e821ae1190159dd7109719ca8c37257964f66efbd97ecc5901025fea4072b6c1b4e96ef56c6a5c8a94af586e4210386295069d4ae8adaeaeb02544c599056034097adf0470cb9b715f4c36298efb96c44fb398b2e5627ae4ffada69fde2603ceeee1fb523f2babe7f51f90b44cebed5dcc2b97ade145facc13be92ccc8a81deebca2f9d49751b02624193928e0c7bbe44476a1158687b038e3a2185e44786a7783732d9178b1e7d9054948ed6c1c1a6cf0c04b639db55e6a336003403e4860f2d6fab0dfb46b2b43b7a941b8e418916fec3e7252e851525cf22ecbc645f1d3174738d98728b0c458d3eba22078d8c5846e0919266b766bdab3f74af2466fe2fdc89d1a0141d0a7773dc166f64d76072059b2539b2f776ffaeaada73dc48e6fbfe9d1166402078ed822fb6b0df7c46225c93f38eddf7ea2d66390ed989122b728817dcdb4bee4d1fe4f9c5f8fa16357dc15e76a76b8d68ed879b383da072112dc74c0d6fca887226f7aa6bea3446589c65d5d53eaa7525825ef616c60ef84515f95736b0b24a6d1947ea317bbb08a01f6188c1ddd5ea0feb9d2724276a16bbf58835a32a2d3f02ab048bc2c04f247645bd4f6ae3051b5b61a7cd14c262adc9ca76cda68363324422f2db69da0bd6610c0a9904a7a6c4bfa67b29768400f72f0573d13b109cf0525e8124336a661c550148bc093ad731db17de31fb799619dee1d185bbb396ba78c0bcb2c55e3801a3046958663e4bfa7da0d4d6081d4e82bb1e28d2a36da7dcebd3162bf4c4376c8b1369e524c0d7460b91283e466c552e0059150d0e01928143c14793d693490030481647a02b45ece030d4358f4a4b15a110266cc070fae630755ad972ab5efd41675be017ac8853a9370db7e19548fe75824f86d5ee19a5cf7945737e94e506f4d2a9b9841004733df03e5ff0f68ff433c95f2dd845a4cda1d6e006c0d06a9d1117a09c8219ecfad727f20ec034b7e506f63f10ab82ef8fd91c6e8672a8579fb0352e2bd6a3b39cfcbe0af37e67af768cada989fbcf4855084e5dcb1f30802d327d0290d52f1b47975df9872b2a602ffa84a8149604588ce82a91439ede4f901192bd8030fa2abf41374aee3269a0148c7a1229a91df040572f5faaafa27f2461c3259f01808c4ab90bfcc29863e55db4f8278bd5454e2f56e8b1ecc038014d17e860c3c22261cf02672487232833131c72d9b871b15b597a74444f4b5636c87e7624f5f4e3ac9df70fffe82594b6c6702fd5202de2e15c4b58cb2cedd24fea7612c020c38d03ef6739afc7b35daa506977ffbc9a972ec7efc530e379f8d7fd28ac914f55b56c9c19d8d4c227c1dd604c09705043b215957b82b8e2874e53addc4cb2f79926cb75db473864d8c1328ff3dc3ad6453ff68cb446804328da476718cf354440a8957536c2e7a6df36b9947c6f56e900c3b581331c0bd3aa3f0f61e00a594baef9341ddb42e2cb31ba22c384f7de143bf427fbcc30997b50010b031779c3895f4dd1a5aede1c2a98596950a12c9ec644666cfe770ff3b8e798279afa5badb0014a30c6d86c54bc0b20018a3b3c8d6df5f8a06bfd4ffccae509005586892d92f049a12efb98b22dea14c9a7977061ef42d3059a49b5913229c21e8b34757af192219c681571e0b3517ba1a10e84b955ad1e1fb14ffc4e33ab53f8605b151206e6f0cb45c998978464550d21fa196c937943bec3b4d236d1b881641fea0675489e6fd0e416f1183b96db06e08093e2cef6b9f00f33385a8dd83c7209896fc66ef0c8f5ba04bfe3e3fa66e96f4d068be1bfcf0f3bd634ca5354f95c28677f1a872b35fb21cddcfe9c72d777b4e192c7f94a47bcc19a03b461b45336e80221081fe38d4babd40c4c7150f5008f53f8eba53c05c7bd32b6ec4dd088ab6e9075e0d87fc5a249950c67f03bf05eab382d4f3f9a08c0e50c768c2991707510116ab30e619307934aee5ca33672d42b86ccfd5fc003514c8e124b33039e03de86a578993975a425b483d6993b3b7445285a442f439b1830e4765937f10ea39a1d2771c2901f15c409242f783c4b3a7b28edba8b7bb88aee4914480ed73a61752b8f17988cc0db29cee870cae92ee3d2fc6e8deca76ed404f1420888194f8d34d0a491fd1ac22ca517eba9d58b1eb4693899fc5ef2e114cccf180290615141744527bf47d23e17e3a996c4928d580b7e274efb92ddfea58f93ddea83c20f16a2844db6167b64c4c48c062d77920c28143be021e102efe75079c46203e13df3a8303a078a58b230218c34c6247f679d0e898c487dc0bbaaca04294063b8b42612f653e909d83877bce9f5251cc11e9832a6230eec07169b975210e8d73896d00da0886853af2dcc5ee254fa7646761f9950603fce3f210b51ccc61973f03d3de5a2bf1213731fbf79823d329efae339baae8c36436600939fceaadf4681ab5d9566545c235fe6c2875f21e8bd089aca004db32454be1091b32499542211b65404afce30459f8c162c2e83d83362b7bf136a18966650c40e028c920c02b5d4241407016714fdcb468fed4864a2808cf6846f521a49d123031a24190286d49f4a253839451016c7870a87c14cff82fefd04d7e45870eb179d79e55744d3019d288aa08875a0b5802539ec13fae7539d8ef1116ef2388490a7471f0b360feda7f874fab23fe600760923172480e779bdc0bb8f8e946987d8d583cd894b8176df9d4aa7e74772c9a05ce5e54fe16e237d38cbb09f98ae4fe8e9520b899c0f1dd2e4745ffd7ff46d3c6236814a6b1e806a9d4513900d5cde949a54857d13eb2d4554d1895b225801ea1ed427e2e703b46e4f9928449138bfe323714574b5df96a39d280bc31fa438afecab98e9fcdda1d425590a7db5db939476aa0d573739f45e307bcbe20ee0a6bd07cc8cfa80b86820d79f628290ad212cc7901c8440affa643bb27133610dc28c3f51a3af1c3ab5d2a9572edbeb4cb911fda786e3f988ef72d2a7f607d0f171ad45584c4227df55dd363c673a366ce74f943dbf9efcd1bdd3c9a1032213da05817dcae6896d819f2faecd3e5305a50f9f4ed6c86a831f2df74a145732a3f3293f6ba802d516c214ea3a22d8310ae6456ba013211694e544b70abbecdfc0d78f23eb56be78163bcbcfaeca1862866f0fb8d0849eddbd72e8b4560a08d3b5dc9f45e1174a53d9a56eb57a9639115350426c9cdc1212948e7aeca7ea2b3e12607b6d758178c2fa71206959f6c03f498221caddd0277d90ba170b93f7e0e8f9950e46c8db1216914a5adc37eacb3d3889689ebeca7e3afdced1f3a9c70735e26eef9a91f31936184d67c5f284a56b137d398809a2a549ca6469e9dc783168d379c4d444ab1098b804df7087b3cf291e22b02b96194a77e12d36ea69cc8ed28821b95119412b445a81e16f7f884a9d6eb288300d6e2275a78c1c6b56cdab715637f3d9af5c2455f20b45670dff49fd61a1c12051c2035171b5823ce28eb183853d3dfe48a4d95d2fbedb4bc0ab0bf24b3500c777f1a014e76aefe712ef2209e917fe5491cfce1fa3262baebd7c3cca8ba0001b677ffda7096bd786a82209cc1aaa5763e3aad3b804f36d4e2afcf037a3079adbfb4fe8825e5c45e3d3c07b7caf92c8eb05e120b680e2736629c873f5fd4c29da993b0e4fd56a7cebaae5e053cb6818d72417825e6cd6b5a475221032f518c4b206ee307f24e05151bb68580f1d9dfee278c7977fd9aef40bfb34a19ecd49f36c4ff45a8b3445411b9dc9f61b0abae989ee2aa1821f195f21d4064470a1c7a43ffa835dcc4b083c3958d1ddc8ba466d15f42a9a55fc252a1d9a5a1067bdfb9dc41cbb1d43eb4df25e11f879825c5c1e378ee4fbb3444c5512cbba87e44addad440170caf240429812b36495035dca23dd52fe51e03c75b62a1684b3a97c57b4650a352b468ac56146f05851adb976af4d7ad810638c468daa13f3774c0618572e0b830dbcf464933225ecee855b65181319a1e6caecab74400175e8e45ee1056e59f9ea0d4ca286aa2f1c5bf93f227b6d277c31b204eda503591a6854ee65a2391867b997ea17bb935803ef3a5913f020ed73d310b0b933e99897ce6ffdf1e520c69b8e32dd6ae1c230bb7edfb1a366d0fb9e05d5d91f22d60eccd6d1b434c24b928bd186524a18be1aac1b3851286ad3ee03f57984d7276ed02edfdb7366764f132b3b9433ed542048a2b4786240e84c2cd64f7c630ec2f95efa7caa8914a39f80ee359e6cef7233d66ec560cef3b9de472e1f8369942115e08f13010e8e9f65e3a6e19f7a1412c003670ae31598fa67fdadb323698ba763c8f41a944ab522d1d503d5f505dc97e7069e25be134f65b2a79f2d482a63f678b88bffc4147e3ce162efef341cbbe07969162a2532232dccf6e2e6bea02c370997cb9058f2af8e7037bec5c1d9091d4ab206e75ac382426b326d872d28fd35c313008c27642755e73f173a6c957aa4cef4bfe4edf00bbe385a9e165ff7aff529abdfa72b8c011a57b6539219d24381eb270eaf7af65b850df090ee2803f33b51eeff3c408052385a71d6d3917770cfbc3b65d1462823727fa515a3f1ee2841afdfc07b21926396a8656ca5790dbfb8ac9f4eaee1c71a116a23f5997726e854993ada8f946a8eb23275588408fa890abfc140a20d58dcb298e0a8294892914d4036fb19e938953e19feb36873dd474ae7cf234b01ed16ad990620fa769efdcf4f024de5acc431283b508a2117ea79d84274fcce22bde87eb49bf5a9b8f6a92ae7103713d4404eca3f8980b06fd6771670d540c7c11b4f020063d92d60af2325dad3f62e08e1db17ced1fdeeaa0fa90d406cf463217745bea15642ca19157ee214a4dd5bfdc7373fde2777a5b78ed8ccf757ae460753073225beca9b38784f68f1a818f6bb3fced309e0f0d135116e77c23c7fdc94c6366cd52c5753e8c102849f3d8d5ab9451ec1ce8f276351624e24a11122c22cd1d57ff49b9783d57dcba97a3ccedebfd61b04d12e5b922ce0cdf0220a9f6b25043378f4e6aeeabdd327651394c8842cfb8e37f9fda582c9dd860d1848d1e2eb276d7c12ddc98a28e5f522162aa9bc8910f8843df54d2c44194054602fd667d7f9c956fc6426bdefe54dd1520738963942a0108682dd0fbc15b6a589b6a24932db83073864df0cb86655a83e3406c52033caf0fcd28bcb7997e98e52a7c2df179e3be550237f380607af6a897d7931f556628c7a8afccea62d99c4ae93d88b850fbf769606cf3417d018ba92ab6eb297523a33ceae0ffcc53c50eb4685dd37daecd2b2228d9b25402a3fb0e0da21b85a328dcdd364463466a4a49a57671fbc6887242ed30106b53e1ebf03c1471b444ef2df8db3e93e308cbebd15f1512e3ea45f5375f70c2744f5311a3230d263a25ac062a3ccf987a2fe187cbd0c98eeaf6706c705a03b9e3b92d320d3a2d314ed59350533f8e0c00c2db2e1fc619587968e70c480aac9f518c6f7444d31ceb89239ef263aae2d80049e811e8242062ebf4274ecf44129e863d44245e3e763a5275725bb255f4dd825e2195d05bfcf51224bc97b28512d7f359a9786f4f7cdec5dfb6c4ea9b2353af95876e7df35a12270aa9451a0a8df9361979646314fc825e0555181d1917f361991bbe3281046407980420b2dd6fc988c4591f524f15f5ad558aa4f5c03cda2497638a178493caa9f4293fa500c6189d1b3b2e8ed483357ea37d49bd5a1156a173894b7d1827caebac250d4ed1fcc787b77a6b7eb3c1c8ae44bb033d6e5f0c849094a8540ac8d3960a2af018b4b85b35ec993e02af7d98044686cb6d48d10354508ed76a7d99d6a3bb6bb8d0f4c00a52ce9ec5d24e69115994815317d8caa40a5720f5722dd70a11502a41b923a9ee01adaa326ae1e301804141662546726d1f8d0406423104c9299b5d431213df4d04988a5edec4788ae6fc106624522657f7a12c3625c7fc44d2fabdc0300cb446d6cfbac845afedf6d0280d9319eb21400c4c7713e421ac9bd8998752033d84e4230891559befbf131d74ecd7ae1dfb5b58b6a913199b98996ab2e106638fb385f495146d442c3c370447d91c993cf95b7e4d1b322fde8b46588648c9ac58d6452c096d0dd91555264e564399a52dc125579b836908578a83330f12b916bf37fae4292f0addbdbe33e8ae15e8498c04f43d9b5503f4875dbeec3f4ffb489420cd9fdfcc12ddcf0f84364542d2bbb3262960127d6696e355ee76116a86c6d7fb6081fe663fbeff94a2bcc5ed8a83e1e2d8a418fae3cb954bc12816cdf16433e9acd337873311fabe0d8df9b0f9fcb4b0c6986e5ea9c0a2f7b81848f6a2e536cd316946ae08bfd167bcf95f7b65be3ac517be98fcb4ab1c968ada4c45273b2e71a4a8a7a4d93eedff3ee03caffeddd96167d7ec4dfd089979b7c761c68d0c4040a4115c85a3b1c2300025e01859d8f35efb7e1732b1267e0e8c465f9d881e5ca092148eacd5942f5e2a62ecc2379571e74f120a78a69ba23c5ec0c71a149d1305bce77f893718a2d6c25676a7f680f4b4a7f9d12f1262d13ffdcb8cec0ba49a65c583e53441848a33cfb10d212d93d453aa13513bcf322fb62744c87770024919347dc8bf40ba081a106326d62f59dcf7f70d734fcc5c1f492e66b250abebee4d42bcb5af1d83819f7ea1c674686ffa62929665a82ab6b110d39980a8b4ed932120aff45e9f6e96f176e1e11ecda1a60e2fea46edb830a051b84f791df07ebc668e7efa366272f0e25e52fdcb63e25d184b0b1f545808a8aa1ac13280d27f200f5b45729efc4cc9fcc3f1f36db1d6207c43818bb813980116a342a0672fdcddaa0d788990e0bcc21f68a20c5aa3d06918fa8d421f1be63b97089bd5059efdf6bf11fc8cb0df70a087c56bdadbaec0da08da0d86be71e868002d6ac841e6fd91950d1d75f098b7be73e7518221b7571b6a0a8123a0b961681b0c8d46d0d5404336cc275706e01269dc32b3d44485b3dc7b158db8dba2e0b236fedb319561215af6a58f8a8b2e4053cbaa9832f6758e065e2bfbd05c446f0979fffc70af94ecc715ef01db7e3b70e2a1886ef7e41818ae44be10bd2e8b509bc2054e2fd2dd32f67da08da4be78a1b09960392333790cec9f6ffd612dc9bbaf33f08a8db34e279d22ab33c9a41bdccfdef4bf23213b00129817565fd0e5ce325a4fba38e280f49121afe935adde5791a8a6e3232f40ecbb639512c2904afcd7e6dd14bac58e88fa7f738e7201cb701fb8487496e7a9bf73e64576be6946ab4f45b4fc4b3dbabc42cfe4c1b2a020193ce6dda88da29dd246848baacb63ffb119382aedb0fee55cd3174fe82827f55f6489ce53db77fef236ed9730482d847048fbc194d19f2b0391b8408eef6a357e822b28ffd4844166acc055909bb0938ef7db09c7fb19bf71ad267051875b96937b6b158f548e968cc3bb929f82181ac0a69e90395ff1421f13ce9ff1128da52def189d5784e216c4dc5c5054cbfe6442b6961d2c2d4158192911de5f1619a1006179a77327cbd9d00c95fa20bc038211a4fe014c175857d76392417c689e9d60d99fa0f9c070f6b0ae27aee0b2f00040a287efdb7d2f42f8a6251c3668dcd3741dd46b068ac5d4a688ad9bfd7d127f9926d9a7ff82ff03601ac897e178a6b3608e19345ac53f5e459e7592479f67b8dbe8105cc8b1e980448282ac8812ca3e0744df2445a3ed76d83e7c817056e951d6759f9fd4fccd47c81f025c04995301b5225512add8c4499d2551b2a9b368755ce224fdc78b4e918e412638710db817092ebd5796225dca00ad07957f3e3f66634f393cd75072c624aac31d76980af71ff1101a9cdb5c235be8a4d91bbeaa7e08451230b6cd1f54f99a36272780bc9cfb1206d6b09680ab9b07999c5b245a55d17f47284d73b514a3d3b0611f2f0a94f2b9a4550e02a63fcbf3c43b46d42949cb432fa663a93d688c64ebc2f105d62db97c60069b072e3a540489bcce658064ba46f4b06f24d5f2363a2b710afd176e9afad2af2935fa65b87f4a4668d5a826060c2c7d9269f9a131ef6df8619a7800a6b655811bac04cfdca580ac77d569580165876aa06053c1fa78f786d30665127c8838e9f085493e0c719a33d6b24b71ea85842da130545fba0be120c2aac84a469d24cc7b0678a2c1edbca452aaac8293b9d2aea42a2abcd30aec9a0522a1e6d9d0cc654d75760344676b838048588145274353430d948417151506d430c970941a53265b1ebe9632b90d9a377522b5ec9ffbb6fe33eecbb73acecb6f206060d767a7033e2bf91a448688feb2d6c7682819ebc2633b770cf97ee23c56045b35b650816e77cbc42ce3c17b78135759de9b595f2090fd740ee5ba9aefa666ff6837cbb3227b45c11368c0634a50e1ce3bba7f5a72fbd9ec9bac313e530aa24cd6442a05c0ccd85b6ecdaf5da61426f072bf1343f33e7f1ea86604d6996da47d5f54d0a1327733af3c89d62d196df74fb84970f3b28ad329d9d437fb4da7ee2714cf76c1cab28f9c084c9b09421332a36f447a7ad29bc3aab5987685970924f02c0f05d9f640d859cadc35707be9536bac50d0b5b9032a787cabb07d262d29050390726505bf93db2c703273dc4a634dca40a735f3312dd2e5b81fff948fddb6525685137ca13ba8710f515d333dd95fc1c87cba8ad2f4680896f1c1cf55e05f83a52b270145b4a58c7424e98c76fd7f4e9d96c1755abc0d7455695a2819062a139376fd1bd5304dda2cc77ed986bc2da40ef608e2d3c16f8cd81bb27ea88f3f9cf1d57b48c5eedc16fe36543b97cc1f0ab7e870894ea326891bcf8b24f37d276149d821b0aa96ed8b1b7a234992e6949e632a1cbcdc02d4c235c9f765c1d21299cd17f676d05a3ded8f4eee0a0194623946df868348f5de061d3afe25aa05136aacd2645a92ac06cea84b4b176dbcdd3d8f42fb1cc81948a646061e0f345ba199a7d318683494fcded2c6f0ad0fba091b02dff36760a189d212a6aa313407ebbc6068335289f4cf27d439cc1ae6f24d48fd421eb01831856e80c6941afcc64bf404081c4624a8601fdfb94bc40938962bce68e695aa28b5664c359c2ca47ab7e5de85e1f6eddeb431ba46046c36c0c05f5269c598231fe582bead273d5dc65bdc3e06e8d79064065c5cac2fd4cc949753a4ffa8c470e6e0256a02d34e3061755415ccb8d406008ef4ea46a433ec9e1f3deb01d74948ba846eacd484908ad506282861eb7588aa7f0723d97aa509621129979723188e5ebf9015c401b987216325c75e82b89c685b2ff996be7441641a5d410e14331adf5d650b4f1766003a58664adf0938afa95460aa2de4c434fe7cfdef0ccb4cd11191a22d741c45f00056b14c920259767e7aa74786a4a9654370267bb37f50f00b1c39acb0413a48afefddf932b1aa8466bfa77c51b557f9b9a85ac952388b1aaa3fea1d181c87d88cbb69013f6ac6530b62ea6842ba6a8156a46bd55d6de50d4dc7b5c0deba681ef0c6cf16cc1239198b051f47a2f6671ddbedc7de715a32d9b26e67b760965cd7f2162000eada88278b3865e2028447b1ac55ee3ee97c705ef86740ea5c0034857a43c74e2fbb8488e96965e48b98b5d479813422b67028823d07508e1b99d3fb4986f5e974a615886aefc7055857cf1822b7360d084f71b40c48068161dfeb01473420b9cc60c12a5505a2fd65431344da4137bf57bfd3f84ca1aa0fbdcb4de5cb58ebffa85ee3bc6b1c2c484d6e27120904ac7fdf3fc2ee462c092ad6143a3e31f960dab33e9a85fcc13e66defbec0ef00311423b45cfbcba022161ac5fc6d7a55c96bbc85b1bbec1413bd6a65f17d4ac3558751a85456f2e002f6da0cc14f15bf4abe187d6f98ec6aeeb3f3db58243892e130f88a1194bb1fa459934be6117434be733c2825a341a2ec46559eebd74cadcff0582675856a0d1a4c9c1bf82d40882ba506c610ffbf7f231d6cf6f3d240cea345456be945cab010b84e47c0ee66cbdf4a4c0702f649c326862172ac5d7cefedbd8bae5295ea9c773a17302f81c1ad94c757749a97a7b7b0468b582ce37b284f0720c4ac3fbf1efec315d813a8c1655468fb491c341611504ae5512e2f9c8821701e0a30d545b1a8ad8793fa1fd6812fe4b97be2a36b8074434d8c3b5e516b8647dcc8f9fc815c34d426d0a8aafec1bb6d29c4140eed55ba4d3bb5029d0c4f000bb4c66a63e03ce841dad3b0b6b7e9caf9310cb3b37ef77a6ca02f29a7717b9397d53b676da92ff7086cbbe18e74f91923d6970a0a1e04c093c9706da99c5810ff48950dcde66445c121aded0f21f2d922532b62b29324b5bee88e30919bb4e77c3953992cc32ded2dcf1f65061ca64bb54d6917a1e935462179bc8784dd9e461254541fe317b226defe3082247c45e77a062896a3f8a72c09139a63185fd294589020518d02ddd25a291fe663e4057ce324f9594caaf445b90e3350d4c8aca03ac484d2692182afc1e05bf81a0cce178004ef3053262c1c4b434b48980723ed03976608f5b3599337cdddb93049f948dbe69cf135c7e2a6ee76678fdd47922b5130d907aa836df0e8aaba50d02d14af62d6efe3bb93c17d68f029e7e66e23ccdeb8953fa0d4a7408532724e5db81003b51af76a7037f4a4bda70c14cb6811419203ed3e268122b65bf20916273793e383304049a245304ce3f4c44c84100a25557f389c0cb7e5ab8e2183d8e66c197809813385638d0b286f5b3876cf4608a88755d5abbe3bb277488ea805aa43b249d7ee853e0fdc4f8db3a99a558e60ea9724748105175c6926de3199dc84bb1a7a7b8972fd44007654dd24c1d77e83b0efc0df686c9040fd15a1727c8e09115cc7703ea7348c3194acf5c57795d71dcf5c47e5f23d9e83b96e18842a571fe895c74d6fb19680826bdd68c9b7ef4319bfcb2f35aca16f2bb9026b47e902260db649e68bf3e6ca7dba826161f07ce577581d0ebf248f3d2bf09cd5f66c083dc9026c6f4415aa296d719e3dc72d403d133c5de157982643c534e54ed87664a37bb19c22b3e418bfd39f769abea4c0133e8c517c62dd4c213d1c31a40b1bbe7e8334b4132203230a2d216ada674819590e804f9d190848bebab4864cdaf15bac572e45d0160a2da5d64827b509d30cc542b056b62801420528db0f31f257f7d9406bcac5ded26ae3a77361edb8a7faa8dba0bd5ed98433f214380ad94e8807848bb3ce676353deef84a328ec3e9c22e4bc324666835e0873fe777a58e37cb8780cee3d49d31279f9949a5968a224c2205e5efb41ea5c931a2daa9cef0d9e398f1b54d6a7726c1c6504d376d6cdaa7fd1e54257655d75ff53989bc734a8eb3573b5a6b1084d281278c3820d6a8d3a56cd720ad221c10bded7438930c74576b45555004d6a0f1a7362672e079601d5d9ae9d0a0b330b929ffcec6f587303d3fcc0cca678550f4c0c6285f6df5712c4c37c9e1742b097c4a7bf5401094a379a81570e81d56cdbf5af16c90232dfdc2142a58686a5fd0b454d8725030a1883ae2cd03dcde512cbf25f0088d329baebcf829b729ee9ed87b583e8c1012a09783925cce6b1e6aca638cdfde173e7363c2e4c66d05222378ccadcb4ca203c2bad7ae611801a7ddaf4c01f8ebf07cbb9b9be874b63ee1a3d5044ff9569a608a5d5397b955fbba79779ab5638322a436675f20eedbcd6006c9f1a98c3d2e343f25e73331417584f28f6a2089051eee219ded45d0ba89d61376c72011b4f7039ad76e925c30523a4e0765d2d68628d15ec3b90cdd10b02f893e8f63bc4dd3e5c4c876e323403749678cf30df129b5cde7a8da51f132600004806010c3b063c94c95c85b9fb22bb8e49631ae85ccc943787ceac0272da4edbdf7965b4a295392019909b108c8085b6c50e6235bb64a161bbb58b48dc16efcd0c65021c83e2db26ca69f8d37a4251271e3153419173a4b40106e1341da11a44f019927a5fe315f6ba3b86db1dc7eae4a9314ce280728d302e765830cc8f0814209e90b2d965c21331abc28354538c01c61f14210aa7831840f3164f1831738bca0c5a2eceeeefe058821d0400919583003132b2ec722bbfb5046f6acd231dc2390dddd5dbbc01547747ab1812647b2600102981818972365772c3ee0907dca8cbaf41e5c8740767777a73e70212806413db822869318b8fc8aecae4405d965b603fa801ecc3862640860846070832f3a003a828ba6c3842f411c511ae30823a6e022073d50a9321b80838b0bc8d045154910d1050c70e0c2039726240392829a801df922430a6e60c50e61a4c80524f53086164abc08c1848f100e764042c4d5284527be4c61b445164342396cd161091622c0d01170f48086202b7a30865010522039ca2106407437c0f021071bac7ca105129210aac0214a121c3c1b38c070808ca4a22c8a80c197296e90248a243270093041098827456801220862c4a0072a7eae18c3430018111471e48b0a82c002162cd1728317595811bc28c05216629481041831a032c50daf18005438ca08428a202526a85881c11852d860a4c8d2f08206942a57960035091aca52830e585a10039dd1831946b8000c263f48a2240c23242d803267b8884011b09e228cfc40a84b143444796269bcf08196233264f1e1076330c17244cb8f0b644cf8a284155d50b901061d80aeccb00516213031386e0084a42cbcb46007171c61c5678c216cca8b0e063050c4d0c4881c7000854f0d3f3fa034a0c40811606a98010e393c2103ec47873b45921439e460a88898155562783286e5bcc840155fd860c4132e4c6c89a5c0891bc2d8e2154f7c91c1c8961d08a18a133d5678c9ac970334b1650c2c612461224a13307c91552f2f5049f2e1070c193768a102030c461bfda2a60c255dc068c1d095154c79410724ecf4620559b658aaa10a2c526052b0186952290c729665599665373538bc04f1018917c2d841511852d800cb6b894a89d0a4e3e0cc842f2c60c2891fbc600843e8a1a35c29e30a9542cc2cb35c441e74c1040f90b8a0028c1f8a86d025675e93d92ccbb29ab3ac466edc459116dc00872e3608018927c870655d839c6557842046ce2af597799a7c011ef8b8822881c2a5871f263c0cb99c896c82a51960f9a2cb6bcb1257d300024a82d085072a9efcf4e07228d9c31cb1c30b51001d65b1c2e54be45804031b1c21d4c30d8c6871f9f3709b56221701024c982bbe0081c917535c9e449124aae04186151c05618320b8fc81b84d1315a141872b462c4942946508ae193893ab8179ce2879cea9d99f11a906294b415bb4fc28351260542d03287210267a3103a3319c106d818314aef924ca1162e4f926f0902d1f4110e910060721f090846b1e91e7fb782153a4239ec8a91ca31c419485e9ce814452c2956fa5e3ade50e997d43684fe7817f19bdb9a9a90141d5d5b4e7a28db10059f38fee5c4b8fdf9366adda68e3e378c55a8c49d9a78356736b4bb8f4669ad562a477d6d8b6486cd9039c04bfe105f000e43893a39723cd3116713edd67cfaf5d6bad6190e8561c749f52c28d16497677ef897e1363ad3f6351049a49f7748931d65a6bfcc21a3972d88db4b665f8db26aebfc536f670d3c6bf10cc3e639c9e655905a7b8eb4062bb849bb2d65a71387fced8b167b411250e747e3fedee6c70fd63d0128f6e0dee5ea5a4614a71253db281d3344a29d5348fadec29ae73c2c023091c39bf20377906b991f2bf2c65ab23ab578e25d0397e19c78b7837122ed27bd23e907e6dfa15478cdddd83c0cd0ea78dcb6993b8f2438be39749ebfc3ae7a475ceafb3568a724954c6712a524ab7ed337a15cf194e6fd9d866973da73abf6689bde2487bd6b79476385d868c6694d24a87b8add587f891f99952fbb9df6bad350ea1b9bbb16d31a4c471ad9c734e9ff26d6ccd2983baffc61b3cb039c7ef89afbb951f526c718cadc49570a7fc3947c8e694ac46761a954cf62ece1ce747a7e1641dbb70e57f9c341c32f3fcd9ee2dcc3c64ca319ac975fcb226de989fe94b55fd0ad628dfba0ceccf68331d742fd24d0217dd4627a7023c1c8c6ee36f02ce09d9db7eb732e2a8016bd03818ab479f5366dff5e9d3adbd57fe00f20ab27a9c597e959223838a8bd24193a05a1b0737e5f68528c8958b395a079d60c70c820e86f583a020d3d7be70678b239458c94176b63842c9955cbb1b579997106a52adf38104016232c4ddddeba4382668adb7d6334eac8144a4d86e9ad87fb8cdc42a19ef21262a77213a563998c950da1e063c6b98c641d99306f1481ed59a6e66d8749a74c6afcfd9eec176debce9e6f774ce378dba7776ce2c268d5d779d2f75de44766291a078b423a4c3436a82c49a7c6f34e2ba6b84a08d1a1ca6f76eb71d02b431634693320d433d4d7df430b0c441146ea05ed230dc4042dcf0bdaeebba979b0604d44031c6231a67cfbaf530e4fd5dedbadcf1a8408335574aa9fdf6dc73d66ef76add3826346d775a64cadac4b518a3a046ad0d5b135537b640c992f76bf83f163531877754062ed608a3510006a07df8224c15eace1929cbd9d48edd8734d3d825c8b8aa47709a1ec1ff7b046e3340a61a214291fde9ec1cdc261f9c1a0ee796652e63314a8e54b2139ea301d97f42207b2bfbd76467c5117c3aa04bc005c18e37aa4f17688d465b0db271b88dbcab7b3929a594524a292fe743fda48fb44dc71f1b728c453e322e492515d23d9245260dc79d430dceb079d0f8f06d044fdf3e27936c75ff902a0fdd2c8f543785c38b3a3592d3c9243f72f7232182f51d7042a6f2bda394261cf146fdf62121570a645a23b2ea775f6d9ffab202997e04af07ead554f347fddc7128a47ddac74149712371507e0fc9565b7bafea5fb655c196c8928f85e522cbef1f30b27c8964e2701bd9c19c7a311c3870f850529217205914c67bdcc77f7c49a53826ddb64da322b4501fa24c3632a8d477f714d339bc6facfd7035adfb1bd9fa21d3490338dd54ff90ad46429ab9a9e9d52f18576114c6c18a3c6c5fa3382c41a65f6d0d22dd372309fd9384c68f23b7c6916bb5b5e2681c99e276a169b6e1e0a7dd7548a9c36f70e0e0e0dcdce8a880b3a88e2bcb708b79d4d4d89a1a1c373a70705c07654d0d0eb0c6d3fc304143e33414a4a00d57812be196108466b35da37134401ea51eaea1c3410eebd06e9aa099342e2110d04c99399932654a268db8b261348c2ccb6a56a38dacbe130f01f3eaeeeeeeee6e75ac38ce87075a0715fc8584eb9b1b1d362296241da5de33dcceeed5ab5777af6ea3a69b6e6e7bb8f89ee7d799ebe86e8add51e95e95db4c55a51d18b765e857c3599dcc902ecf1848da6247f2e3368deddbd89a6f71d8d87fb0fb3848ddc77fdce6f3edf3231b3147e71d211dcffb1dd373a68f92e53bdd6b38e277b0778474b447fd8e7c9eeee78a02fef6fd2dcaf4f2335cc3c1bea80fef0a8551af7d0fd46bdaf3703aa8d76ab44f7d4ad3340dbb902359f4b52f9251b8e6359c9a25453fe4f4742e74dfc4a75d1dee97fc2159f48544a4254a2b37e19577dfc3e47df73c3d3a1eefbbaeebb00b3df445b209f78f64d18f2e0c3a090d83fdc0727a5230bffb14c8550af3bbf7bce7be55c69570bdacb28f2ed377df2ac319e8b6d3bb8fdb20a1535c8757a6d4a1647a4fdb6ba987ba4c9ff7ddc8cabefb3e1684e4cdb568197623fbd993e13636bbe2865dd445ed3efe637370fddd0bc3b5a26d59cf02fe13af6035bca33ffbe60ff11c1df49ffdc4679451e1f9288ea3df2dddf81e449529a5df3bd8e1dd962e4deea758e5a04fbbc57140ed5b2feee4e88b106d448820fdedaf6cc5df5e1573d4dfe46f787e37ebe2dab723a07985ece7534a7fc35cfd4ef4ad08d1c6fe55c51cdccf5959e832e49bbee7befaa7fad645c8db539abc3dddb6ef3087b7ecb72f7bed0b87d03c3fcb3e7ab3fb6cb65e6e6752fa808b35b879d45276929399f43e7698e88868fb6610714929a5d74d4a2965e3863510912595eaa367a21f95e816c5cdc559f2256e1b64f9f36b295b5879567f7a3fe77b78e52f5b332dd4cbaff121ad0a4b19912cea13327d391beee9b14fbf67c66bf2ad75cf329b3d4fccdba7983e4feaeb3bd6d17666609eeeb3a733dfe993c13b7867fb0eafbc5ff967af7d74eda43e06af3c9cd3d3bdf62bc71ae6d95efbeced8657fef4b5d79e2785b7afdfe3b713a77dabedd3fef43d3abce2fef49af63db68b773a708511d1cba56d58c33bf4b3dfa96f3fba4e98c39f089a48b6ac9596a889642bba8ae89c0ecab7aad93db7bdfd1eedb3fad486fcc9f2f39174d22f5c2be22ed8224e4f5a6c21228ba39a2316a11868944705a407e1a69bcce55a2bee0032285947587185072b529014868bcbfabbefd1df79cfe3dfd8f637e6e9dec3d125bdbf88abf6eb78bfd3efe10cebdc8b8bb8e6732ff3d115d6dc9ff91ea89741fd0cea79dc81a2965157fbe8e570f43e0ae545d4060ac28d8a1aa80848a345ddd72fc9729f19faa8af93e49264d1ef3ef791ace6663e1a2390cc9971a098c36d1199ba93e84950fa323426590dc5c14ef2be28593e91befdc2567af94fa66f71701d4887256e43dfa16428ad83dbc4dc83fafb3d332ff3dedde3784f7190bacce730fa28fa973e55ba1dcb7017b54ff6dd471735e1558657296cdb7dee794ebf7d8779ee731f5d3485d36fdfe3e670f703552a8b793848b140a97885fad9e7b84dccf9520f246baa1ad93a3d7d6a7a995fd99ff9e83a7da7477d8ffb339807dfe8e24c5f74cdccfc8ebfe963f6325f74751fea65be19d38c09f308e9a0be7b9e98f73ee3417df799e9f35ee6eb6250defbf7f0708feebb0651e51c07e9d720aafcf174fd3cdec5abfab746b64e787bd3f7d82ee6e9788474bae79ec7fbeda36b4748e77ee39dfefb3bfea8bfa145de77faee33a13e669d02c0601033e2ba8fe317f398be7bca53b7bf5f4ecfc9df7b93bff73afe1ed6e9efbebffb40c9a2bf7d3cdc267bfaa06c35a5d48baacbe5a2c54a205083e22c20d972202f4a5d92b8d0cfac64faf4adbd40f4332cb77d1ca4afe17e6db9a1cd963eb514c76d3850bc41bf8b64cb9544167d274745781099d2cfc8b835f6e8c60f41cd284702d82274d22c61e31d8c1c9d9d235bf3bb53ff1dc6edb99f7dcf89876ca5f04a7eea8bb8fa73245ea5903dea75b247bd7c14de119258a77e0aef9cbe621eede9efdccf308f908ef6f479b69fd1b3f6f4f1647ffafbf1dc302ee7e472df0425a493fde9ebc753ff3e0fd942e1957f0ced125ac9bc0eeaebc77cbbfa7378529fbd0c4ea13eea75eaa3de9f47c8b14ef6a9e7a98f7a1ea118ac93c2f67950b60edd8a57fef7bbcff0caf12a85eeeff7f0fe7edb9f3eed4d5f188f5492d59f90ff865756c32b8b5729cccfbe07fd1aaa6ce0c8e9c9f00d8e8c6015f746b6ae64c5efc7e90765744d975a8d15cd9035277642161f2954274481a43ac18808892a59d01212465e93222472905d4e7723770f7a3283a05c24b828c28b2c228cb372746a6644c125d1f13b1cf016b11d76b0e1055dbee82d980c815fe3efa740f381121f0091a1b0d2842a1503c20731394a414acaa81ca5205541a7905154404596524a29e5cb59d1c7fe5c2015ec839c1589187256bcc9d16d564410cd49279d534ef9f37abd66b082a606c74d8c05a12556e79c53852cea8f267888c9e612674526d60867c51c5e219e382bbacde927c891229ed8018a142940ecc006597e00510149851fb2657fa4609001263e5481e2091aa6fcd0c5092c58c48898e2c754c1040ae453e18783fdd35d191c8f46272332ab99945cdce8a0dc7eb8ed302ed670570cc0c78f4836e92ac98649296f882c45326ec2d47801bb3c1795966b05e8a86b04e0ebeeeeeeee007cd1a552e59b9b9b1b2256f560cd8d24b2bd2489646b1249d692bdf71f04672c597b63fcfa91ea764040195003a9ba6e7b0d67f8279e4792e5aa4b94b9a56d495b52021444f6226690932154961b1da44592e5afba57d2a3ec59368b68112da245f2881ab174864b935422355ec9eae246079172244025c015b3bac4934e8ae374f77965182994667b537ea1fd5a49b23cc3bd94c57254460a864dccdf9b0f774e8a5fb2fcbf2ea966d61401693f8d245bb693449029988c8940766834c518431bd967d258d9ea14f698991998065681281cde24b5db56bd8743d084c39a0eea98007000563119f3912d99346f6a6a4050de534f19245bf4a60604ff55aa1bb3d747d5cfd17cddddddddf55d32265b340815bbb1a6b1d05e0926f974ed75bd0fd6dcf4531fd9aa493eb9bf06c956665738b457041caa5438fc9a1938680627c956962459fd560687f6de2c2977665138b4271f1a3355af76d587c33476b1a0b14a712ce2d8f631beb6593cbf628bad8fcc548d439ba5ed96201bc4450c0c232bc6510e3523481915d647b66c9064f5ab827cdcfa641b6aabd8defdd03322bd21479af1d14b7564bc642ba9d66a946b0cdb6745ff33007c7dfff117b7b4e4489e94eb7b9056b7af345e7574955c49b2ea5f1c7a51ae6e844a06a330773a7deacb39e19e1e11b6cf2739246332719a0858c33fdb0e0d2c611b963f00f884340dabae2b71d65ead9346abaf5dddd26aa353dc6e29e6f05cbd1972f592e4ea29c9f53d239cf624cc4dbdcca3be5ba2e1c172fdd01bfa98d33492ad00e06e8906038013e1d39ec6c7fde9a3f1dd926c4d6ba38bc6175d26d7cb277b3fb3a828d7f762b97e519d45b9cae04934547ffe58cb79673fbab46fbef63de45bcc635fda97cfa3fd7c5f75b7e4b897aca459ee7c9ba95eaf7c3ffbcacd65ffe48f6c4517102c6888a828cbaccbbc98f7afc9fcfe3a325eb31323dea8dd52bc51b9d9c28a76f653329f4abd0c5ed15792add3d7a73e14e636339ebb2ff337b2e5bd8c0a87f40728576b5128548ce9b5efa1f15c4cb7646dccc73cc5399dd53413e611d2f1b00eb74303f374bf3df7455c5f93ee4f9fd0ccdfefad6c99322f0866bbf676ac52a0f1a6d7a1f1261ab83ec53aa63fe19dee4d58fe4856fd59cdf86d3503af52986fbfc77ccbcd74f7d3482a855229d79ff93acb7ce1549a46314f23d98aae23a45c2d879a61b8cf7b754b1ee8d56c2afb61b7349750782a29e5faf2a77eb555a5fa07c19a9a9f5cb9ac882876946484a4943519decb1bf2883c9817e4fd78409e4fb7f4eaa56e69276700310795b1453c5b40186ab3aa6d36d33ed466332da6569b653745b51a634f1d974abde9cb49e19e9eedebf7a04c2e6bb3faf675eadb2d7b9ed3dbaf284cbf88cbf4ddc7a3fdf6dcc723a4a3e1957fc673c22bc7d973ddd7bdc671dd9f4e1dd77ddb7c818b35426b946795b4b5e7308fbff69bf63cb21ba8bbc3c8c16920d9d2bc76d2da34c2e1612f8e48a639658e646ddf0fc99a9f7d3a807c44bef6912c956c351050cf6d9b5d449eed24cf4e224f231e9235756831c9abef9fc409a352d816cc0d1b28cf0f6596b8cdfc19ead0d1b33df7b5849bcd07d2e6dbf954e9f2c0692069ad91a41e121ddbd54ce8e5228d2b4a3dc02477ab7380a9b08225b92352eeee1ae48e3ec32200b84cfafa706cf1908c713fea57acc519e3c7f819a6317ec52f83265ee4f05f5b6f9b26c6500d9636ad77b40a616efcf95afded375c24876d25736dfbdbb13d00220edb87a8b5b495d846ee65cf59a51b01400376e314203f90fa392ffb9ef679696fbfb861bf2cd1f6d9a21f2a00915f6ef4722ce7756f7af99d64fb3183a9a32be62511518794896270bf66647094ac7e4929fbd5496410d9f60ca998d3e3b809612ef7f3b7efd78c1cc9921f764c840f3b48d5445d54b51f2f0edf7b354ce38bf9195fea65befbfdba5235e38b2ed4cbe70788cb912d699433310f8c23bb8dc41baf7803cc8d1fe3c7fadbb7c7c2fcad85ed5bc8f1bee29566eade1ac996100b19882e0ff7f4a03ee67beea77ee29586734c9d6c9db0d07c29e55fd99a79898bb8381cdaa398ef5e2726f527bc733ff53ba88ff922aed02265698b642bf552e36666ded4bde97b9c7ee6bb373d77ea55ffe965defb56edf5386199e7666c97a68fae19992fbae62782cedb73dbf645d4f7747f633e65a13898fada87c8bb3f2fc9929f8aae7bfaa2cb648bb02572502ec5304a4c28a172d83e30a5b08386a22c192387fde467897b18f0fcda5c7e0f35146f997e90342ccb2759ce4dfbe136a125b24450dc6626cb5741faf6cd2ffc913f6b36c61caa7863bb1d8ee43e8a376b77ccaf4e029aa7b31001cd5444730048711df48f6959f81528e1fa70d03da0695aa68296358f0a98203d141a909bf8bc6bdb3e0f38cb9ffbe1363fba0f6970e255c51cda77967d3f7c7471e401a9dd741802afbbe150883ac6b8e14d18a564f7e1811f99942d1baf285075541b12042556d92f76da304ebdb82b4c55c534214df639e75c41f554e5a0ff8dac0c8743a804b20f8b54fc29c497d98bdf808b35e49dcf79af3d169e16d3727ca894bca59aca996663aefbdaa5597b6fec2dbaa66831cd48b6b89f6f2459f353a8fb276d697b859b4f9e33b0169bb131f85e14be1829dbd762f3adbd57a5fa77191d2125654d294f8f33fac97303caf38d8eb458ac8b7a5a7baf4af53f735627f744fbd3ac18bd3aa9558937a6168b37a67b3b56a7ff1c09c447bfc0eb4523952ac6246babdf7d0ff7362627d562a613ced1f0eaf49a875727ed75bad7f08ed0e9772aeefe84752c875fb2e6db2fe2c2713ac5d5623187db2d178b3c555ce4f95a166d697be5d902ed91ef432a9f57f64f284629ba21dbdc9fea8557766fc72a05efbb17a214eb746ff18e7ff7a06c713f7f7ecd9c5e8e8e66b4bd361f4d495bd290b424ed488bf9c8d162797a39a857db225e5141901f5dfefe5dc92a6a23258d77841aebcca77867d513af7a67d512af1aa7d0aeeca30a1955ba407e20b5b7135cfb774bd98753ced9c20a85539e7fca13af28d0e404f487ccdce415e59cb28f705c942c638c128bf20af25d4ea74ea7d318a3942eddfda74b29e9ec6ee911e060b831f7d319b87eba42ff8c584699a7cd949e873805641965945106fdb0db29d0597eee8e34cf1c3d14faf5caddd48aeb1f36100faeff16d73fac71fdfb25104f72b927654a45fd6c351a55eb6c5fb10bab1eedaadfae8a7d3ad7f63ed3d5537b48d7866380e1e4aaef2efbb58b7e1d17406d950b88d39d7031e6909b8d47828eda233820cb7c58421773533228d53dd198be6b0869a1766175745bc4284046f5347f9445e6aa4e268fe341f61a2d08e91a318ab635d8ee717207c851015c27adfc124496086c66d345c84b6fc7f6a0db74ce706f72c6062ed60869bbb783852e237bd9694af2d28f924f9210203a702e5af6c68e146f64e1924347b2410ee711b5ef148ac52df4b52aa73120edde099e010aeb029b47568ba32712cf214a6508487b15a8cf422c231b393119e16ab42a474bdc4d0d8e9aafa95b6ef0ac8626c7284bc490b91ca328110418ec11dac78ca8a192b935401b2a25b4c85b8e5194d8e202971fda9f314a09562bad8d2cfff823e38a75e4f4f7912bbff10d8e941fce8d8e7750528c73d39a2ec722f443b6330ca44c2b57c2cda89fdec656bfffb88ffd3c372869367ee65184e36f82db7ca59f92cb1073e4c6d3764edc8ead038e33bdac94544e9f337a4cc18d2f1dcb17dca7b5367cab527dc7d8f1dd7d388ea6b35e5dfbb96035ea2f5cacb1512d5435e19ed36a25d24d9bc8102eb7d6cfe75ddc73fd7dfd3fc441da847b22b43111215148b6ca32150d0f9d1a38fe2616452b5947216e13a3c8208a4c7f88dbc42d327d1568c5ceea296448677ffaaa2c0818b1566560c8f1b9ed9359fbdab380f69d83d422c5a040cab27b277ca04ab67e645129224541c228ab644b8894288ce410f4f26b4bc245b7014123e515a283f1630deebb36c94fecad04c52294432af5dc549a33556b2a954ac55865aada236ed8430e3b4ae538e5e7851c3acc8788529ec771a78b323d27bde9799bb74d291d89f47698dc536e7224d3bf9d664e0e197dc9a1c3a624b992c31ea2c13dd534984c269acca9c0394d0e42933d9f134f2bee6fa7494fed9b92dbb88cffb4db3b0e83d0e4d3bb03ddd39f707bf156d77ddde32cda5efae5a0ede162f9999284483b72b3f54c4fe3b95fcd7ccc334e27cfbba8d4e96db5f6ad57bd14ea5a6b6d77fd98ed778125260d93e94d33b8b7c3d4ed31ee8b998636c34d4d07b7596b4da552a63f3d93f7fe3d0e873f32f7fe854fb7f91e76d8fc3cc8990ca1998371dc870e8bc162529e70410f9521e89063951ca9088128ff69436df5b92925092d5accc9fd2955eb0c31f798c33efb47025ab194b1d45b7156ac4b152e5192b8c012a98f9ee67353bff2de8dc8a11be15a88ec189d9ddc4ca57e7a3b525c09570838649b2dcceec975182c22e77df4708c8bf13e72907e5b1141214edce9e4b5969f2e46494a649c3cee47072407ad8836adc5e4befb3ce67323c9a2df5a3817df12a31fc51b74664d861b9b5b27c198b8cd27a972946265861c7acc0eddd061b14ef29f6d52b1843b89360df3a198e3fa1011a47fbad887e28d21a20d7512c197b43524c5a0e4d061a78f5e0b3b8280d98bb33b29dea0efaf975e6ed849af1f7ffdd0f622b61ac645b4a1dd240f115b0e932ec8f4b518eee95531b0f301e6a9527df18bf936efe777fae8a130f5769cfc1362b3f78100ccdba33e14c06d93171371907a952c445b8ab01892ade822ca94c2545308db82dbc2cc6127ad24d099fecd320ed25b9738cc412397dba838e2e1212b59ec8c0209261fadc3a2276d319772dde7e5e07b5f93ee39e7daad388b7e0b61faeef35886c59dcfe11f1d1ca4e17cee4f1f72dc731f76d20adce9f31fa5cfa7a7d6729c73383cbdf7dce96b250793fa479eefbde6edf092dca6b3d2c40ee420fd9f8635524d3dfd86a172c412d4837c1fe53ea8a7aa7c3ad97c1ac221ea9d437da80ffd8581cf2ba0b0fbf43838245b323470a88a9921e3cd1d8efa5614b0db6f5fccf74b7de1cc261fb7015ff3e9c756ccbb4b300ff1f20a05bb3a15c9cde44e4ee57d342a29b4f02a91453f4ba65b7eb0c8f4fba5ca1ecbb4b81e83512194438f751f33a3a5e0860e8371394ad152c6ccd319de144227e63bbcd3ae18bc7a30bbf2de14b199850c21e236de9f4e9e5753a85b7178badbbda77bda96a850f2dea7c9337929d4359dba4da6b7cf79b7adb6cd0a7d5f923d5a28a59e9429a57e94e96fd361910a10bc641ab9c8f4fb89dbc84cdf43a1d61044e67e6686edb1d65a6bdfbd1db63be6991ed30e5397706b70d4786172bf5d3bedeabefb706eb22b372b1ed1951363fde234186286e16eef317f3abdcf99b410f7bd0d9fd0d961461ce661a4e87d21983dba6da997f962ba1f398543ef4d5f09b7be82b82b14b64f7d6ae3bea79f609dbd2fc6f2fc5af87aa8e9e9b7b52693c9657a39276ed2bd77287891acbd70eb3b13675128ff24d39811af52594b7bc8c8ad6fdd8a83d461beda626ee47357def6f9f000972328ba78f1be1f0ed2ef3e2057b62c3b904fdcefa1c8a21bb652b42ce5d061998691c31eb29a9d411aa9ca9fda3420416198dcb78aca977bff6b8036a20d1fa88110804003286830228b1da088458183d76638a225cfd6ecdbe7b22754b08305bfc6df9f3c3cb1f48211539471a5082929074f5881c5955c9eaf9a4a4064f348135a6851a85c916d8e537e8aec0db889c5759f2e2f607dba4da55d022eba8dd3d8b9c8ec10e44c2a2d7092512dc787918e8f24c98a944a5a85b5383f00498155c9321e90a8a5561e5149a9504955a32750284dc55081e0c30f78b0a10920f8f060e8071b504aa9a574d63ac588186c944791093c94502a4f60b1d92cea0126299d94d24965892da3d2041e3efcd81ce69c55804044954715a71e6133ea386e808e242b66eb314a278c4a2a2eb059e3d4f0283281070f403cc0eea432078c102a4cb2a9f91093ac68bb277e604229cdbe54a15249de20a3e8759ac00eb0a21b828a7ca0112b72b254a4446a0239f8145989c1e1e78a9909e8905414c634011c8a8cae70fde446a5fc52124257b08353a54a3a8e7dd450346b88cd1a8cfc88bbbb9472ce1584a9d93481c7133428657fe936db163303e215237de8f848029404962428c95012a22445995462f29b1a1c373704dd307403d10d4537c46e301292336b1530aec84981c881cb5a4ac9c459d1882750a658d132811e2ece8a39bc719b0e07d9142285dc1ecc7cbd5e4aa41c69626bb6611a2ba852469858f623ee486251243d912426640e81040b747034c5901c9d1c2243908c94bcc63d46a13244f6b7514323c728405481e45200495c279c70c20927b2289cc8a270a2879873d68f2ead04ac594998b5523a6737e302c22279ce59299d73565a3fde9895522dd1bd1d354696e77928dceccddadd2f34974d3a4429add984bd84340152f18b7a277836bdd5a4513c721c56479880972a8bbd047c01f9306a92e3d92530989b701351b916873d0528c3af8a5f4099771c8c829fa635f90fe7e6a6a7586bb72ec61c6dbb18b37e6ddd508888fad52574127104772b4bc41bfd6a225aab949d49991870b1462833946b7ffcd07ef4fb6b8105398457bea8cf9ebb1f0b2ebc58d879bd5820f27abd5ef0c9dc544da5d70c3eb9d29f5c978c784102504da5a9245975c6d2c66ddcdb18ec0dcd58dabe5e922c2f895c3d27b97a45e41a7a417846bc2431c3d58b127a31a35c3ffb06106fd49b656b7b5006e3a8b000705883235bfdfa1a308543b06886cdf0b7ed3858df7e1e24594baf6aab16d467df2d4da5a93495baa5a9d42d4d254e4ad92d49b046defc006558d090897bef95eb10259a47d3c8e85eb0562fc7896818f2eb7b2f3bc34d12a5b3a8b48db74439e910d108000000001315000028100a064582b15828cb55558c1f14800b75a84282601f09b32849511052c610600821000000c01000191aaa1100609a6acd9dce9d6cd6c3fa27994d24dd43441412deb4fba1a8c226ed588a1a170945628036535771bcf4354965225b4176de3d0c837b2ad6caea47bfa1b4bb5005741d53806e313a6195fef49452cae37d810ed4c4539a36ca308be829a404857921528296bdcb41dea5b348b8f623406d5bbfb40be063cb82ba7b85df3744322b72c32127371ed5350003df63221759daa174369034db2cf44e63d9e7d7470be2fb121434f438e58b1051f31d3214278c644635eb7a361d162adcf05f8400eba2dce9b688cf0c17e6adc1ab0ca7b94322e11fed85379908a698a86131c023c6f0b5fac840f7c240df4dd4fcbdeb908a882543b3a42a0a61e3bc8967a41b0de17afbd99d83ade1310c86567aab66fae4659ddbae687374683f144f6fa179cd2615cc89d0c6649994c433ea8ab785d78b7210df2ab5e3c4979760e42ea992c422f22fedd44a494c0a8826798f8dd789dd054676e5d9d119117274c0b627a045a0a4cbb6491ed9a71918eef117a1acd92cfe706dd3a4816f3297c0f712ea389513bd6c1ffc8528b939284d4921d8c6b8436390fe90196de3e67965dd8403876ca7257b1c0420ff44aacc3cf38f9093573eab1c3e11deaac22a52e722f4d355f7ad4eb050323229393d1a99c83390ba11070eea5abdcf01543f95d1c93c5ecf343d4c0207f882d6ac2bf3e67fcdbfe8a3ab9dc189e111597b4bfe63ec73b1d4560ab755c913fd17fa8b3e4719806d65be030fa305645000b5501cf5d139cf4c25423ac2221df41f7c176e6c3dd2d1a22ee03c5d325dd23fa280d0c980993a36a081c91822a3306af1b698803f2b1c708e823c982a79247348cc0325ad08a99a6b6b26f7c6a5105e9d1077430990a18b404c503981f9a1fd782cfa2f113174b3f20b1e3034b8753a9ccd004b72bc36369457fdea73be83d39853f8d89d25240d088ed632631edd3612b248fe05f63b4e87a67cc92f457ad6df1863fd96b61338cad4c791eae69f19a91211a1f566ef1cc2bf70ffd255d108ed10592263e5a468062f2c343786898b2a432e831c7d544b13186d5ca0950d3a412e9efed8aa0c05a119491d6b1f5be4e04a4e612c77c922966a22272252f32a01f26280730b5751581149cf3023cf91cd997a2a7a8e8e66bd3a1d25b7a871859c346118fbd7e47d678e43de77c69b24538a3ac34eb98e53affd197d53b481c37a78841f1b592deb198db1b971930f911a69218befd9e91ffa9624359b4c99d7ed0e29a2a1e742378a4091c01ae5efc15fa08b50030dc8d2f9df246810da006a1a0b194c5f8f876c9cf13393fdb4f0eb414bcea452dfe85ce101b28709d4fe2b09197dfeea21ed987dd8142bc02111f6bde220a8eea09e991002b4273a5bf31afd5ae5c1f9528860031b86311bd3c7c418441a8b97ae0798d2ad0146a236e03a4a11e3a198b009be943a258d72bf59833ce1a3dbc1f733aa06696617f7decca6ea5552f9b41d5100c4280b1937076418cefa190f322c3101bde16c61ea908cda9fdd074fecddba208a6dd2d9019c038e163661a4c5f957a862e5698d0e115aa82235e849dd05f76aca9681f7168284d94b24e0103b51ad2cb6849a22e9a58cfdb5602a75d674a7f650569183d489b283887f555684084464997edd2e05cdd45439366b25c7170e8e495a833949f7d6a5d2b3eb4157e4c7761b43220482c4c07ebd52b5aae34a3c268bde1600864ff3b90f50a15c5db505ec9bd96f9efbc5aac32051b28ff5120406ed898521bfb869c2ea7ca97c5e4ed02db33b46bdc8d041414055161cbc7ba1475390e958ef152250af1a132cda6e3aa6b025f939e79cfc62a003c1f11c63123ebe78eb4dd7748c5e3ba5fd7f142ac43a4c0464bf989f7e82c8d73b781acd4620b5747e78a62cd10dfb81a553649c0bd61b9f70ec265fc7ec9744d79455a474c15e589840d2a61bad6e31bf0c5124b242ca6abef6e18e414140196a8bdc17db04340b5ed82be98d80f018125b53f94e8ba4105def5aae997d72e52682a6f4df69c791ef9a00c3f6b7910cf9ef30f92bd183e74fcc2d3bb6b062c0e78e06d6910da394e0a1791bc251667beaa0a765ba118f62e0c3df0940d587618510db964f712ca86a141a02b04c76d319395ec09da71d02e92c891b017b8987745d7a774846a2aa0a4400195b01f0903fb9c908df4156f38a261090476460e7d039fb9681fde4347a7b5324a99b05ba08b5b438d414c974922a61b9fde3f4554a18868b3dcd104311c24fc9677e52a51a99ee92f404b09a2932754150ff49d7301127f255caad623b4052aa91eefb3813dbf2bccd59ba6780f7b2da34c457b8acfc1b0ecf8aeb2e558441de3eb29229a7bffcd5cf8a56ce8009af8a2f5ccfb09f1a646d854ffbf03049e70c354b1bc7f61ad2f56bce8fb0a8e6d485a0ef2b054b46a71e04d9751b9d36a1da79b7dd2cb5a136da1df7c24248aa6f4c4e516e5069c5d883cdbdec4ae8e104132a0de8285d0100c844d2e00897edf6c93dbb28fd81f0ba9a092f90540834615fbf3e8033a5e56c34a99d571ef6963812d7caf76c54d96b5a69f87d37eeb7b814fc704124f69f78e807482791253a03fc863f678688d245e760280f935d2ca61447c4b4a0397970a42cc87ef877f4406e63f0873d00052cc13de0b78e986ffc3b88ab9e8a7a2c298fdd067feae4c2a9b4c52a8ddbfd72ab76863db64253efe2f4c3aa1c83d2b7ec1432bf8fcdbb76dba86c03b797edc4fb2d6efc60defd023a01d556ad287eab3eb5625a686522be3964a3cb2b9949c10fba2463d318ae45c212a2b09563672a088133eda212c9de0d557d591aac850c970fad8afff009e7b40da551c01d804f3fe6a41434044fa7a2127973bf5257bc59b3cebee9c9bff3360e7eb32f8fcb3387e58fbe020d078e7a4f44b5978539ba0f0a3df5cec29c77dd4830907b935d7e6fc8f43e5c0404a117ba358bba6347454fafa32266a10bc4e3c86bd0b01d5fb10b2f09542861676bcb29e587c929f0242b7c79e253c735bb3a139fc83576b0a551fab92bafa45f93b62c578e5ce3bf0821e2bf62efba13b24421726044a6b64434154d3503893cc864784092e593aac45898ebce309344e06715a22c6d83aa83bfd4eb2c60ac1c7ad85a3ba1f47008c58ed9c00343bbb7c682cd5541f1a353c77c924442c36a16c75f0d8c00579f53bb0c541ae0fb64069e76dca0b029cd2c1ecbf1deb9c9d838c0a9f8f4224c0eb272834976c709e972222f09cb7dc2cc4b8289053e5605d9e21e79accc2fb2a3cb34b96cf1913c359ae46b29d98495e6f982c1e2823e6e5e61f64c2507e2690a1446fa5d22232d1cde84f6d8723a05fa48a4e92086614deb4c922a0713254cd5d8763eccaacbf4e04f2d02063eed3e51ea77b90f3f9acad3044e845a0b810f17df39b18caa645d3818f2f3b041ee95f126066968e9d38cd76a8da43603faa84bc58a0f7fd777c29f321bc106dd2cd0b559b92a566a932957315af7c3856b01ace38c43bd2f1c9a2c5154d7b3a38a52d91f8ef57eac5d81405bfafcf1716c3704134b4e5924dec2acdf365deac1dd37da48ed7266f6c909c43d62ba5b5215cf39a55f89482eeb6e72daecbd7edc30bf409c72f12213f99f0854e4ce18e67b21fd858768e8dfa407e1e341dfa7355615790f4362ba06229f81c1e979ffb939e054a505b709265059db1adf3b956297814a08376cfb1d67dca800d66385434e013d2e60958563db55ef12a7c0b66ef9b51fe68b9ebc5bddb3ef8f039578f143210684a3e54f2e380e54d48b99b0b04143ea5cb214ae7c74388b123f4b4e38505244843868817b00c3b5a57c896b2b39a1246fa702a4a3e58364b210ef33216a133145c3c60a2cd593b0e0ecb13b1af0f61bda31808f743f6caad1ba742a2a08e26128e65e68184400ac92580fe513c2d7def6c50607f09b674674a74e7e62568e7ef18ecc7430db5afb7ce6a79594bd33534db7fd059383cc6e1d740ce49cdabc37d39b2ee743c85a3944c4b843b1745f16172961795807e5072d8b58b32ebf08f4b2e36ae579f0f77c46cd6024ae26b1be38d4d58d0ad4a3c0533d37991df00656a109acfe602e3b7e943b8a5c6c28918e19945fbe7da3a74a37d2ca6084b9cc3fb9076466256c4fe70d107e287aad177701a724fbb19a8693b89a191aa4664ec76e6fcec26363081f9402e8368b1fc7c7acf88f1415f9bc399afe2f4a05f9bbee2a88000f00472595e7027d75b309f2a118a9d2a6f94d19a183df5700e8bacb3fa6be677a707b197950bf79a3e82b93671f38d14ca3a8f6541b38599bab37ac87f6d83e3421d664131df8c7774f0256526a6d5c855a7057c0ad3d9fd81f39724c3422fc84612b001f7ee452d25e126157d03aa4bb492a30276d94e36c5fc82ef802cea0fc1cbbfd9a303325e3170be88d3b60966e1fec9d87d1c71dacf130f38b7f966e932813438ab447b937e91d82e0b8a3f370dec38c03d16c007da50a5a5d7c48e9353f401609e9dff213beedc17bc9b1af8357053197af4bb37eb78a84efe96165f2272507911ffc89da3242206ead1b70a798d853d46ce3634987d1c3f9fdc9c31cd6fe807145c5850240f52a9e8aecf1e6813029611207b5c4a6c5652daa0b0cb7b6e824e7cfcdc5d15f949c164c6c53611cc3e8af81ab5bb4172ea788d433340a7646421a2fb39c4f43e8630dce2874371be881735556c92833a7555d8923b7e1b06957e63f709628fbe18a6a7dc3870e2427cffebce4f1095b5ba7092c3a21651fc53b57a74563e0d4bc563b62b3b691cadf41d843c93b6af8b8333b7bbb7cad7b7178fb6e6a661a8b3870693a7203c31d9fa7ff3a615db262fee8c4ac838cb267af2b3335568aaa7340183ebbb9c701c99c2d702c10c9e39c05262bea18d1273c9111f60172ae72c62b26ffbaef3143542a26e2aaaf17669d75edd38e337debe8baca6469a5556b302de87af88efc66d4b596551dbabbf06b75576564566de22387a08813f5dc82542ab02ff76c720260ad2ace7d54813baece7a77696940dc23d62b04ba6f770a5b1a1305fcb87b7fb4dd2001d7eb6366f5bc83623b659d1198ec7d47e913692f020250092469df92681072b73c84bd4f20b6bebc9cb48992e324987b524b0bc1e99bf5921823936f0036ebd9f46d81eba632452c2eccdb7c8939487c7cf9a7921c5584019cbc61b1ec1d861ce17ca6ea9e62f4f6017242d2addf7e83d6b9c2885945b21e5fee9e4163413d6251dac6b978d0e1516521125454c2a79eb6c161aca720922f01d951367a37b049105e2ef295e6cb949bb272ec4bfe58fb085e5c6e036ab937dcf7ad07abb096bd511acc274933f31d012705e3952ac0ad3a6d0253d70aa01b830cefb69843d97bf00602b51637339e65be5f242145f59dcea3067e010b965012e22caffed19d3f4bd93cf4eb4659ba2124501e359e65f9b58f5308ef35c611a093ccc24850530ca5058b9956ba7debe03c566196699f4516df32790e07a77a255fb3f1579637c2ca44b90b5df1321f0cd93b26d7bd0f2dd7ecf0864ba22d9d804e61469d91fe8f97806947a81433708cd284db6fcdf24e5d3a81373836a07e03da40c0fa0437076d69caf09230cb4162c7f4caf817171504b85c87f2e21a34863d918b9e6ce66931df7711f00bc319e7cd21f1c9d7971ae5c42d1e6471cee71cec5cc838ff7490aa0f34d401ecb0e38d53684826086f889ba304eb0644c3d0cab1f7a130503750b19593adc9c4e3d0fd1168ef3a85cdb1bf6344ec0e4b7f349301e20fc4f000fab8f3571cefb73131bee35b1055a43e1f0bd32c59f38e042c23e2532270773a429c17c1e4885f2728136910638dc513e15f96810c383ea5957a52d9a1b28aa7e573c23fd098da75706b6f80384b930f8c7e0d0ee893998cf482d2373d907c5eb8e912b537ee489d170ca7eb9e6ac79201511ee4ec358192eb3c9f476529943ca70d3e66b9f8a2dca3833ac4e779bb5dc1ba32325fdea7cc77ca2b824ba3050d9efe455b3f17169a6d44586572d145c57f25c35e7c53931393bf8c1c903d2c89c674d90258d9c02dd1a460c3460f02eb5f124414a4d77cb584462faef830b6913aaf1a48d6878299874951bd9b24515df735ca2422d6837ff794482080027ad43cd2c0e526a6490455c87e0ac516082eb25d89231f347552bde34910aa547547e9fa047571d961d590abde9726d3ec521206ed2834fe7cd7dfd08b1a2d5ee493b460fda06f3abd7f7d5863d31f24c3bbd9e4ea952201c6b97f60c7d0bd70803b5abc625542f083e3a42a73c7a69c2cf08a9ee4bcb69f44cb9fa21c565a6cbc7981bc14ccae22b5c5caad73c2fc92a23f166cfe8500d20967a3f522c8884e3c376869369efb511e14699e5816140a2e89d72674986b66372f9d217a3c7df4945ef31cd2513b8c9543a3226b906dc98c605804ee41d6eeebcfa0bebe28af9f80c7043b6a5587d1ce911e76ac247ab5272240638e90d51c5258350ed91f6e61c5b53ba707702919a89077f885f9b2e3b9e2a4468d5eca21d9f9bf86cd1217e2b76d0d30d911536eded220f013bd74c3f37f4b06088949bbdbabadc71a3d74464c9f8a106ec818c820b148dc81e8b5b2a09cc49a232973676aa51cfb4d0684dac51f1bfb5f73f871b9abfa7c6249489efe1b0036395c0cd50f14a1f8c2e00026b50649355b735bf6331c184881c4cbb7016099e016803db4e0b49a5e7144461fb3e4aa939eefdc9aab5d79de05d22987e473de1a7c85f20f056eea58c30b3d6174247ae2eb41b9117652a91fe357c06ca9ba09407308bfc612dfbc7f02304552db65a155fc0a043020d9f76376a21e70645f8fbd3c8ac1483446e12137707b7945a0a12d5ef3cdd97fbe0d06f89d8fccb5ad53f1582f1b57badc7622c35ed41338d002bc8175058ed8b613f8c77826713f1b472ec36a8d756232438cf0c7f95ef83efba0de583ad0adafad9c3a27ea3504f3ddd42de60c9fb6220223f836224020da5e0d25df6d55659a59d8404f6956dd80b76dfd353c0cab30ff4b3a04102fcf9696d28b23bde6bbf56c6400e86ba79766cc8671767589593ba31015ac991980914053dc19fac7b3f727d3f3a47b754d74ac3c9fe89a6940fe0c2d116eae074a4f805e211efcc838dea0a5cc9f85dcb11f6edbb1f6ad610f44e8e645bd0da507a1d7e7e99d8f654065d2f0d53cab0d8d5bcac408b488a9f4bd966cf422957ca4ae5e07b80a53d14f94ad7233de9e1d4174ac66ff6dc05428cafe409f19533976274b48069a94b96f0422d3d4b489331f2f154fabedadb74d8146a63383a74a2cd81d2b0ce370a934d3cbdcc029af0389b09f68749f2c4b2b417b366321960ac69089c0930deea8b54976c5064698695c736c523d072b883234a30fd6ee274ba56ba26e410abca0eb2466e00d8824006413a0af43a5d404c6073140035b240063b406d05ccd77d677b3bfc9ab57cb63a9f99a6f73560f6736e602e8bc65301c7dfa4ceacc4e2941e5df0140faa0ea4d2eadee06e1a65565f2d126577075beeee841de8ab4899d2612471fd8c322068a202b83e57a8af115a6b98593a8983f6afd9da03b7c88483fa7216c85d80a26f9b0b6676fc692d3ec805d1c7eea5a142aaa6b97ea4bcda22707a85f04d329795005c0425bc6e576bbb84f223df2b9cd811c030bec190d98b3925f3f7cb5fe0494ec59183553d5aae28228901f3c58dec6251a2db95913cbf0e15dcf541d0e79c0d39522098b30c090c0d4a3a89821a453839ec6945740a13d5057c203652818aab92de8301602f547a1d9da09122285d0cad781203a99ac2eb01abcb62d9cd8531332d7cd6a2046bed6f6c40f801f63fb5b7fb696f6eef4899c3481f1f28f22a7a62bb2e8772c84e91b2ce8b3b5c6c767d589290f3898af3e38c2261da08bd64d40bf71919606a0d6daac9a1c58df91742cecbf5682e21a45f6aad2e17f2e33f3f438c64a0bbfab18e332bd7211a3de8639d206d3463f80a84782d438e0c38c238a1c12c313970e96bacaa93af41d4542356c2cea1a8d31881c85591c8ec77a015b2784b39319baffc349d99280cc34d07d8ee0e6106ab24e2bd329b9bd0fb58bd1e7bcaeaa4732b73964b79eeddd04632a8b7a3cd6ebfdf1133ad416a9ddf53f57a2af54bec0f8d36a29719c41d4e6eb74941f017ddd4dfc64ee373199fb8744b171e5706b8e4c42bf343cbb09aa03fbbcec4ae83c11ac3702c6c075eb0eef327f9482ec6f7c9c0feaf1168c0cc68bd809ae2f72446793b59a66b2dcb01f271198023aa02c2597a967b40bbd09d526f755f545c1e3367667d345f8064961c175e251e6fcc6355115d51e7f3c036816033cf4df0911d805290c02af2e7158ae068e85e403e1c564d409b42ed661885a03bfbae038ad1313efa2b02adae17c2c1ac9fb8937af3636800abaa6cee46636d9172dfcbc9172a761bca34d193c8f6bc9f93c24ac1dc37a83c8061db32498e2f28afbd55dc618582ecdda6cef14235bd2304e878431bab15707e91788006189e1186cf057bc2701b0b4ede333a6d79439fc7600728d2ab4dc95b1a5018b0bab7ae2be834907126fb4f2d4bc82f128947d254f5bef052d0bfd75b27db62beb9e05d1d50f8629460c022122cb0d080911ae762a1c534255ef346da7d0e37104125c4419128ff84b231aa1966906d1b0982c16b402ccd657dc6aa56c075fefb937531a218152629b07c637b91b123e9726f8d2b06c9763589da0604a23eee53a1b6af01ca2a908f696e3f86519f3eb69791f1ac61043ce09e3179e16ee46f4f0fdcf47ca8eb8f4c9376eb68072f609c2545b6132fa3f49c23706e1ddc766a9875d703fad03b8dd92601c28a8f0d50186720a4c6a6229d4ccf03010de1e034dc0b380363535284f095b1865ccf9427ca7078f49a9f2544954ac86f0a97c2757e927091c03c87daefdb8f5527dc854681d3e5cd39efcd49e19d1cae5a9686a8c0ca3dec06fb19487d9f042f6127c05cc5ab2724e6209549d78eee2c6882bfd403d5de5267df5bc341bcee4dfced19b80960f4a0c49c7d4d55c68a386a89ab8f847d0e5af91a0d01c4471b4069ea7c1652b830e4ef16a487526e20c689f56172985555a18875b913b1da9cdea9466de7462a4baf39a5b28e380097b624398ff1a00ec2c27c482cfb3e27fff8f19ef5a2643cb1da30920afbb06cfd977cc2fefdfe073eca763d1bcd57d7c00b076e3dce356edf0b1d93dae9b73d85e4442b82743b21545dab4de38797cfe15bed4a52d1d1aaa8d163a3421924829a7b2a30a6b64de00aa2a065ee170e55360c2fe6e8ad1982995918d97ea0ea6861c33832e1b2f8b9bf5f4b6455d7cc8588563e7c8d1a0937574182a03896a3bacdb921ceea9061c9513de5dce7088af54621ebfe0cf028e42fe8762597f546cf95215dca2cca0b312c6b3347fa2574f5c50feb1182a23aabddf988b1623e564699a8eb4b4e9106dbefd03a0902d59b6df35394e4e1b3b60de67778341cb5849c567cd31eb134fe492b8ea342cd9a4337125db5f5ce2a0bce670a85feb4c98ab43e0e13521e73dbd8400f843312872f7a2a8e102a9fe8da615ebd5b6bf23c8095d5bf682d316171a4e57b1103698a06fb15fc205ceb4c9c6fcdf55c784b02cfb843313ebb607a7d990eb1883980e66f51fcf629fa53bccba11cf86ce047bd0fd2bcee398f5db2ced6fc2b747af51c45df1cbd9ade71dd32f87463885ceafb1963e642e197effab6b6ca9765c2d176504d231cbe76d0967e631351f9ce10cad0384a7c9481ba1f47b53b0eaea0261e66f73ae51db544501cc111447f96960f0ebe64dcc3e4e4b32692ffe52d8c7bcbb4c1f03cdc4341c569d1ca21a5eb9ef25f83636406a8add569d3b0f4f575aff75dfba615aff612727d95450fa7363899a8a0cba50ca38597f7e4fe12b138300996ec6e2a6b1be0aa9883cf762f351a7761656183a12f9680b85828554e252d26e8a864291a6bc3b9693b073215b099e95ba0d23c680408b25aed8e255c5f8bfe2fee84f949cabaf796d34a8a97a8fff54eab7c9f1bd9844dd0d9cd42ccf060f4e901f5976a0df1fbe90f7e30a4e992673a7893179a804dfee686213ad1fc1d9da232c7225133963eb0f7e3abb3c3631b99942169fdd12a2ed8dfd019206b8cbd8be6b59c695e3c63e9f1a90e21b717ac0abad61dc27743fc519cd166a90d59173d910c1cbf32f222beb89253ef030392b88edd1a80fd2e7e9b02f784ce01e1960d60dc2bdbbe23d9b3b2b73c34ba863be5646da3ccc06ebc26e6c059387bb2aadce0c182c121f3fb997d535c181b50c66a3109dc35ff7ef8740851913b9af298415669861e683c6b388d6fd50a2144c4d1c92570769e1e2fe0ae11208a96aed3c27be0ec3425208369123907f44e6de679839a1c54dcf6c950bde133169703af9bea927a6314c97f75fbe3380d7a73bbf5094bf30ef0a7ad579b33ce2c3e7984aa755bffa79478834de09a39e379b0f8ad91647c923c217178669dd1887dca1ec20e9d7176b9657fc20c63458f99210dac47dba3e94ec1b64362808e200a737a9cd99601897a0d1d9b03152b3c622be6e3da9ed367cc8d9bcb022b56927f5f1c7fae14ea50a4eec237220f509053ff1b537b87cdc40e8c514a63c56323c8762d51bdab0ee1b67f04b0fcac9d62124c05f1f2c2033944afff45eed8a588e083711e12238b2088c3d0885048603502638dad48da5dd080708a4c9e2933d59f031448d25e2a29bbe6bdb655935361d7688cf229cb680f15c33ef9c0301a0e365130efe32a46c0eaa7194dc67fbf9ea58ab598cd5ba16f5c13d20c8891f1e505b6314603d3de4206aba773c3df35ca285d2cfde2bfd5029fa090b9f962d33cdd00123e26d6325d2e79a552b952e59b567ea770314d71fd7df8d4ae73f02659b7d3f0fedc43aaa0d704f1125bfc30e64a81381349a262f33f39b8c779e249791e80f859860caaadba5328b756da8a616c4a16910722fa6288a193700f29e4045cdc19e680b0cab692f486a96b5f4e6d61d797a3d5b95bb3fde397dd7a50344fea84f0cf990c2545f26c93df2042327b9ba96d056962dba3f08d25ccb7cd6a4e0782bf328ae6e5f871c6e496dde7e1a49fcb5f520c57de9ae4b4c0634e26b6c686c438ec149965841eb1d18a2797f6b0dea7bdd735cc8b64ee68ce3d68734b6f55fad3806cb9593de64b137ee1a37167bb45c699684f999252a9c52a49b3123d4adf118b15372a0745946db20587b909472abe6fa913a077b62800d515c9c9803d8274c96639f58fbc8ccef821d97ac1a10edaff85280fe25303e201bae9d1c98a109a8b3e5c48ed0fb603f35fd576cec6f10ac32d17ffd0750eb19fa135eb533af0ccda8630f1fa7cf1eec4a3267b8249c02fd2c4ac8acea269f4e337cf71493f7bf7550cb4306440645a2f70d7d8219c8d3c999afb30ee861defa2fbaa11c46115d780020c95357de8d2438070bf44be8738fe44ff98a82ce20ba2115dae9226095b929d8d4cf2dc10cb52d60ba2b57d0b20731853dd5b0d8571405e5212cc29bb7581d070eb2070b8d9e267691018f28cc42006fd854f197176bdd8c5b351f5e26f1baf7dd634b512ccb6accc9718e7ee51b174c4169a3e2ad14fb4602b87fcdff400efdd8d19b48f82ef19573cd201fc416e19f222c421a4928414488db13fafd3f876bccea9e0911cf814e56ac8f383bca964713ca2569d08efff7b6216681927c3b8098f3b65fb15efa11c441502bb4c2f405724a57294b61c761552f95615eb5cf00259323011cab57e6aa0dd62a7508acb01ed28ce3b86fc8e957f653e32a53314d9b1df90e267d064c5e11ab6ee0fe80ab8a0ddd239aa7cdb87790de460fb26f808d68b6078b8d1ca61e01a8af79d17df610bfd00832f653ce7a35165447c5b5013863853ad1ca31deaf7a9a900d957c85ea1568c18b2bc14b36a60d74b7f51e1dc2a20d93d17e8444f071e75048ab3636bacde50d2fbc4ed6b22f1f5c7e43dec1ebb5c9bf4e5bc0313a0c8b447750131dcca3a3f719f34807e77b61887b5dbf17e6c762af7614931822ced25c78f8aa427493d4bffc3a80177fdb0973e00d1d7d74be53bbd09f5a2c61554ffccb6e4a50ae93de98b0f26793395d81065ae6e6913303fa07270aeed2b46e50843c421c9b801a7118d3b4e108b39f41e802f7e2811c7957efef49ba596a511688a1ab0a60c09c8eaf28b014c5b5e07f821a4a5b8303a713a4504e836fd3ed837a69930a0eb2f29f85698496f4c0e6afb8e566a504452c870563fda7aa7056740251a58da5660ecb6e13a92969de0b49bb8202b77458866fbd4723daaa86c85d2da3f75801bb5a3978ec891b01b048b972a56e6eac480b779904a3ab0d31eb20640ade9fb983cda1a8a7346e8d6f9da57192a7fd071ebc69db8058d57d09d005d6f52a071481e22b262bbd20f21a325424d025f4b4c0e6947befab5005785d0682e88186c60975985ab046bab6a63b9e5bd0265f3eac2994a48040ae8223b2a9154e970f001b6acada0149d4dc794cff961141876caace3aacc12f5510124b7d4fad1c7863252a9f4dddb4ad8319d5f1ce7b7b093a53db50a363bba84d718d1843dae630660263abc4e2a3cdcd9d9941f319660fe4250319902b5578ac66e9137ea86f4544cd11fe6824035ad5fb5c892fa30481f59bce4885f542999a416f8c940c41cad5d626b7a40bf26d40393bad00a81a023b262b1aa96431e645d2eeeb676f5e4dea6b0906ca013b957dc2311487ac238b8cd8dddfcb2adeb98027fa815cd423137ad4143aad4bce9290045739236c6d19565cc50bd71af7c5c29abe27ef22756edab51edcf3f1f6114c30b083ec2317e420ec61c17105bc998d0eb7fd4a326342dc6358f384d0ed2cc82c8d9ee6e0718f885f67f7e83a6557e8df1e71a94a40954d96adacc5e80aaf7bf4ce8db747ec9a62959a683294acf65bd3d4d1016d1d6f8484b5ff0e1bdd2a86297ff05f23e8fa8c3227d8a7c2018c8e40ce465f079bbe5e9e5b9ade19a859f2a33e44e65f3ae811aa4effe2ce174b92b46fdee7ba2729d87d8bd2c0389ae24f6a06b4c9867c5ec27d5529d08a2438704ccac274cb11a603b018755de8112c86324d3a0ca5f0c490cf10708a970e7b08d8c5643854dad73b4223d4eec2e32c592b122bb39abb1f3c82232a31cd349f25f7bf1a6a43bfa20c65168c1cfe52431a218d0797cf42d1af83cbc358e0425829bb3f6ce6ae9315e0645aaf7c2603c6b8fc18917eb655bac8e69822867e07398054cab0dd114c01af484afc14b147fe74c0251fdf60fdf5000cde1c4a49dfde939fd710c747d2911f972b0ced85bdde4e3ed681e378dfd7e47e771e52257b7c78481cef1bb33e23f40a861cd671045a1f6eb52feb7726cd78452ec58cc4934b065376e344f1d08c14e89418fab27744cf5d1e9a51d3a0cacb5ff5ce0da0c8368f5031d3df2a537504b6441aca753b2d13b3eb0e379f194d31d067a57ea87eaaafc37a1a8e491f2d1c4990a70c5fe08d8d50ed1ba2752d37893cb88d2ec4d1257d1dd9f6fb676a02390585f608cd258ec3eae189246e8ad6bba1be65ffa447c646f87d9beb586caa5121d850bc82327e8ef8d6b05f12c5f3796a8f26b2f0427bf386c0f15b49672cf76410c5398a4467e4c8c4c2365a0eb2f3e915ea8cc6df38165bdd288eba039885d2be675c8f10660dbf9f973f4c032239f1cb52d44bd66eb1f8d6da27b0d6cc6a1752c310ca2def6488186748e8c3ea36251e6767787acfcd68030bf63a218fa21ea13c1f08f7382f130228ef13d0c551c39ab935016ff5ea146e81ebf27f64007c10f57e54af112e03fba456318313815d77bdcb0b03b5922a09719839ab30930181d6a85c0d97b29343bb972c4fb9026da5f2e8041f2593492362394789c08e9542de4867c2872fda5da5d3187126f31b8550f773d183f1d9cc4708467220a88cdd69b0a7c21f5f499bb448be38ef61ca39fbbdf081c14243ff6b3caa26521f509b130e456736ac941c71dca22c750ec35e097d4a61ae45bcfdff92f0e8392edb466f495c404a916bbd46178c4c34c9dec35a19e3f515cd13663b8bf48a6d2cf06325f77f60f6861970060beff4912125e1b42c7240b8ab024f828ea05db45517b44c7489bb6733b0a4c5f828ad546714b87613e83c12f5d1c68ff0b6075fe610fa9ef8d978f26df30a00cd104dfe4e82e0a9bc7b359e4c00ecb0e94888e239a23c57693229c111896ff8848b61254a534b0fd66f9847a6598cbc3e872367de67b518119f2899640472e762052a5e777ad1102684c3124f9aafadb9be1c0adf3bcca4869f978c046be6e976608b05fb7ba8d88efa6ece977b87b91988f35e2ba2b0b542818c7cc265193f3f91e5791f6b765fa59a21bdceb805daf69bacc37ed5be22acbd4e43bf593ae82f7378ecc9182443b6d4edce5f728add4357fa6c055b7e0493efe28f31ce9974b15be33bc7202b2496c4351e558d8708ea3d8050a96a906d7b9c5d63351a64ac823ab2e66e045529ffc7248c6f1acf1b39f27b3ca41244ab2a8476ac0f80bf177d9a72ea94198c4582826954b15db6683c286bcf05b2a8206ecbea4c149b04dfb56d78215adf0fe65b5181371ebef1b66ac61bfc5661f6f446bb6a9616abefe5ed64655141fb84563ea3e886212f208bd9eab570940fe304edc31693e4d45b9553a0c4dba14079923ffc342dc427d57ec9c56d7ff43c2b5eca4d61244558ff3ebd5bd0b817af4f76b2f9580124d9ddfa12b9c9be541d5404c77a477e356f9d9da72f843ba3d32a9bd3f2cd50d22be03df2f6cddae8ab919b3c4d6ac51cbc9381e8113192c2bec5bccd26394e2e4c6b8bf7952aa4477201454b95d40c27b3c3755e200e57e07d4adfa1547092d0310fe66b24623f9b464c16996aa90d2d43a744a3f4dc96b512b560161a3fe3662ef29d767e448f4e793064f36c7d9d9c5f8bdf8d479307ee58bf860041974c5fe208e26b189e4948f26ed93506efa4c96ffce1e372de8aa95ddd5e1d8bca7fbeae04e4bdb461cdc8183aebdba2b3d1187cffe4123a61604c33f2f25b4e40e289c2dcc34979269d3253a958276f9b1290fa49dfb1f649b8b692fcab7154cc78ddfe921e4a5e0b73957c4ef7afe6db8bd95d860355d581c956578e8120bdd5326a2f49ae974776c3fc26d2e049b572df940b79d0ddff5fe55404766a5377a1863ce9163996ff106689fc7cea5950ff32be77e49a32cdc9de46f255a2e7f14c44a8279a2fe2091d3dfbe92c6feaaeb5d4f8f3895ed149e8aeeb4eb1c4a02207c4e9b4047bfc6da513a7419862c94e03b0d3fb2a395674650d1062924f16ad20a021ebb4123bfd4464baab9ef81f5021584611020ddf241279b0c9d502478f0dbd78ebc7b96ce3d8a89645f6cdeef37f69b7647eed5e9973bb5f6686bb17d2cddd46c5e20fe0ba7bd2e0c3bbfbdac630f99b2132b5bb41bec6b15b787700f0be50ef562679d2d8e252d639c2bbff53cfa90cc01b3ef762e449e4e587cde90e435ee69287c0c356e21b3c7a6a12e61933a954be22685c09ac1188dd5e7a35e34dc0ee1350c6b1e476836290c0db1dc0b85dd7157dee73545076f068fe39cbd6afeb0d50ebc73d305c1f5c7fab0e06eda0ac282eb11536bcbdaf7f3b8b30d8d266d9e1eb8dca681861a9753f87ea929d18cdf5647fb541d6acea3aac434236a60957889e7de12f6832ed559e675165be0a5504bf22184aefc7c183563fad840ec7209fb6bfed37b039aef9c2e98e2648be7ea93af4cfac79b48ec27d6d97fd44482d869240205831559be39f3264a7e6ec2d6d71c58671f1271b1d85cdef5d0a4466ecaf8e863664526113183e9b52a742cf4578064d90d952fe893cccdbd4d1b685f4132c7d4abc49d16dfd406b0fd2ebb272e6809cdae75dcde2aa74191fb2f9aa81c43ae2f99d918240f42606c749756da59ebe46a3c64a4669ef08f85014105414ec43fcdc69ae67a5d0f29d79cb242a8aa91e7121b8733df045096aaa2eb07fb73c1afcd6fa40493d8ba832278f6e77ef5319b02f839b1b01aa532001005b8bc4e46a9a5f5b7f8f7769419c283d0f4113c2f78ddbd63d63e9a9a4b7d91d24f1cf7afc847c0ac640a5f803a75029798c3d35056a345d47e05ddf77adb75401c1cd07274c740ccd27841a133c226d48badb62997ea83b6b22739bc37b567a80f9645014a8033a5b259da67fec4b83ae9d75b64caff9b4dbd82b2b43bc3bfc4cf509362ff43c3877d915c626a200c260fffe88ce82c5a95118f842c829b38208430bf0db046696907d442ddc1a83926fbe321f18071116ab150d97ff8f29ef1da4e64c81ef710c12bedade82efe8d53b06960f4c6c9e9265c9841cda67f4080c11a46d4272460656e1a0e2f59a8348d1583590889e7d47a24dfa368c9af6287abcc300c62d70ca792fe58d4698e651abd61398c106747467bc15fdee135accb38464f53d959c403e35d84234fa9e941dff94ed604e4b48c336a24108c677dbd56d932ab39c4916d26d69aed70ff3d823992accb3c0260c699044218317091ea17ad612f17c724f62261505cb867933fdca43ff069902408a9f65986155fee6d3661fd9b720da8a2811fa86b12574ca976d2d062929867cadfb907b9ff9f57d6f048b2a6d90d05ecc78c7c6d39fdad1eb0adf3520711aae2fc233fcd6fd8c3c9a06e8eea0f07426e0f44c286e8bda5bd83cc86da10ec107e8b13e218c0db45e8a5cee6cd69663dbac5cc1d29aac43957f894428046a7c3df1259c180c843e380202e3587be2a1ff68658508bbdfb96da3f71e46866060d0ba0870be9a6908917e4ea0f024dc062576510571f2d302e9032ab5092575250f1e217b4a8c169889350984c07d6c526e44772ceeb4bbc05805fda4317830833964f4e7195ef13ef8b946996f92641853291a73918a7d2d502bb5c9817b692bf5662955314b26b698474c404048ac1f76177fb4df764192636598220d6d86e88dda8d21264b2685b3e44715480ef8b0c8e582e485edaac858ca80e82ee4d313620ca4cc6be9f2b38372bee01f032b1da1c22251ae34eb808479f87624af62c194bf798803a2cd0f46d4d2531e47054e5ed5bcce41eaa0719653125ef05d77ed7a526734a53f1b4975b08c50e1deff827d96cacd72aff5940a71625917ffe57089be074048eac744309f18a47a18499fac90cb8d8c88d41c8f58ed1395f814d1746054572a136d47f2962fd22fa8f699787c9554d61473d107cdf80fce9ec74c622db92032f1e8f8053edc50004b05b1b52212a2fa702e88e05b903cc651ea3f4594ea9309e5cac3e23db6e8cf70073b24463dad381c632940bc95ce911b52ff5f8ff0db9569d230a101830ba6c162ff1ea9211c0651706f8ecb72a772274a7426317b84527db5b8b0a8bd2a9135b224d2978ead092b3b9628ee177c839fb341e431c2fc3de90405bbf907832b0eead8daff428b0520f9937482f847026f4b22521bdb775ec75ae361b4a32aeb9e2fa4dad379965178dddb61cf20cfd4e2bf03a835a374466e494e5655dcd3181deb1d1807af51b4255bb0cbce057288a21d883818fb6037ae94e3ae960398c311192ce4c580ec8a99f053a788b508471daabbbe8210399e4f7008c1914e36abb7ec4c4f843374f4fdf133173657ae5fa3cde4cfdc90a0fde61704c4e1b0439c7eda864237efddda4edaac561576e59d739e8b5098030135ba841108008406f9691b2768497b859ab8d80a9d3dee609dd23273a8564c18f021d447ee29760a40648ed02597f563e549d82ec7c40b94fd8397d90d7c17fa6ad2fdfcd713b76a45627087b0e4c532d2e63f193cfd7c101005e11548e5ceac246702589d0a2c9005482e4915f2e38708be029f87d105124297a219a76768fe8e8fe447baced310b14e0338d992385c312b48e3f12509aeaedf3740352f52c240c310249aa23c88c7da2be7f0436002197909cc74fe0d3009496972fa1412e90d687d81be19d99143504ce4681f353be76343a0e33c6afe4ec7266beccb9f9cfe5448868cee0489670a5c5a7fa2d9bd733a7dfc1f8ea767e283848b9ace3303319b7bbcd6b41497f51971bc46d3860c99d582deb655fec5149c9bb2dc081228db73706890ce366dd648595e71423dec9c5e5201adaf0984596f206ef02309aebf647fa9b1de26ec005d68b282966f485c836f3913aad7d0eda63ec2d34404193a374e5cfed36e793b509a6203c22883af9da8e716fbefa66cdf9d96d84effeae1d59fe6f8d4b3be91c7032a42ff98971f4e39e9d3efda9295f4d8b3a7e683a7d2d6f89eb6a9338d0061cf195037fa8a0ad6430435deffffd7bd0bbbd6ba86c74d13385dc3dc920a6414f414b6985d841cb35a87bdb2aac71944ca5d8da99b7005042931a97b2e6ee6ec07b53e6e7e2d7c02343bef0386508026c982eecc4b50f19c91ffc35be1439324c3c6adc09b4c6d50d1b3644643f266da9bab257e4b281d6b2797c3c6303023e2a42c80928a460efc306dc7ea4ba318673923600444c7178e93dc07219bb00191191cca2f088dfc4cfacc79d5e7462292219a6c2be962728f03a30dc40c7f0443b3176ef3ab28408225e8c3de781cc88fd1533f0e2cb8fc03593e88a42b6e5da86c7f623b5bf9dd3a102089ea0dbf8e806b0c3ebe33919065e69828cd424389f2316190c7a5ace8e247cca9bf3e5961ae545491305ba00c8e465c01faaac50aac0b97bde40288b9dad1b1f874fff0e9f6ddde9ba51ccda84124e542d6acfb98cb5a46b6a029bca7ea190dafb9bbbda816c2bafa97761574216ed329707c473d8516676ec7744d9612d2a8bb2121ea7163e0cdc854e8803a19291f855e75d967d42f47e41aa61dbb5a3ab4d2b9a9e10fbd24678ba2a5dab4c36ca2b9b18d3b3c62d98796ca4ceabcb1b34cd9ec9bdcc4a5d3d6068e82b5d4bddfacecea5d261d65b7d6acf7a3572dfcee3f0371d802ffa1c64dfd7db30cfd8e1658400d0ae452a53918176a650e307d074a13dfac29b441b0529e40f7fca1c5695872979ce13b375ef728276c75d93ccc15341a7d366a5753e407c787a4cb1d77a013dee4319edb82360cf65db20c58a451b6d21018617efddc81ade39c5e8bb5c19877cfe01e6280992b1e64117209546e2b4b996ef034673ffff42a527319e9c4f414ea791d862a91d003676a02ad78be53d2f62b21ad955802e656722954e510faf27be2a0397275e20e52756a87446ccb14554bebe5423812e179097bced66b58d5dd655d09638490e7fb6c9b8d9df3f8c48dc866ea786f25943eeb04682b9089656c028b1ffbaa8792c518bba21e9612b1ca4956bbe59bf21f708470e8dcec9b515a0d4f2a73195b483e446244bbdc4d669547c26de59e15c9272907490828beba5d7e368df3865dd04b9240fb335e3d15367af0a1342e59ed9d98532b272522de126879abe5b3f12627645d0850153d63e8947b984b1be262d77a6c88c603c6a70e6bc359e9f98ee72064dad19f3f26fa860a3c2654e47e921f72e760fc739ca43335edcfdec952bc28668338ace42a078d8a1387e288857260fcef2791375c4bc106e40ad5446aae5cae8b130335c63deb794e44af6aa35296de200f2719ab4eeea041fd731e52d29b79f1f494b437867289b1f9994cda54488f02063214d5a1f8225dbdaa4be6ebc0b1890161ef088a6e5ff6e162a32775178cf73d989b471327cc24c62691f3f5304e61f47d9ac635e5185511f1ec7dce783bf2e22854ec602c6c2db87cb0428624cff160726c014580836fa01fd93c65c69008d3070df106ea07fe95ba98a349314072fa933695118207b4b42510d059c92f381bd4d72a10e5e0ca00f7892f44383c3fc3d841d077e477f56f9811613021848859dc9730a2b9b5bf80fbc30e956a5b78b9f78e346c675462edc684c63e027b6c975731850f07e5165941c29f1a741336351e83122484d50921d2223ddaad85736cc881bf04b4d0c76236a2c7a8748f25a92e1684f27b293944997f1d7e700c016e8176bb93faa71544afa803e6b5e0ea5e1538f052e5449a87903fba58b7065cf081b3e692bf3bc27d1788acf3828e531447b7b56930aa80d41f644b9c626d0c342a29d4e445dfe2ea4179045fd66d5c8d393251959404a91984cd1512f8dd1e386d26db2e855f899d792016bf0157be668db02b2982ff0d140504e9d8cc91d72fd946e72f6368809be8cb462c71e59dd09d179d4d4225fcac23927e40b949bf6bf6fbdd6190ae5cf0cab9e2aca2a4e07049073c8f5cca8dcc3555cad50ef05f689abfd1e421f98c77136c0fdd4ff6a7cfaea6c3ed12d08623c6b490764490836a1b8b2d7d5df268f8ac05aa46f3bc84bcc3a014531f44f1346f9a38db0760334168a1b4ec69808c21bde2d4f3476d76807a130b89789a6bcacc075c16cb42d21503a2af1b26940aa538399521527e6bfa63300c45fe575822e7b460565e1250d2ccd71634810b421bb3695ff4b2412fdbd0001e50399d3ed9678b803b332043f149992a7a1afc92822b7f0b07ed0b2b508b8811ba0830b57b7b28f041043c8d1bbf05b3f2442181805ee4207753e887c5027c2cbd4878d38470842839efa27d230f85f26c834e566ca5f1c4242241a1f63a7b032ac07baf9bc2d012729923b4e9e2d7297cf7e0055e349b970898e55cbf5fc394c70dc47c00cb9394d28bfbd8432261a958174f1399809fe2d0512343fb2bc066cb13f030b98e742c548352d61ce54782d031c988fda4aa5804fa7340f126639ce5520d30c69701631fdd3745ed951866976fcbc30245ed2fa80a20ed33f163d0e5badce0cf5a8aad2111ab2607153d32917b101646bb0e43bbc8f249cdd2de6522b3132e597f2602cf5ef3205fe2b8df089f3f9334ae5215b0202cd6a17106d42f0e6e98621bd32e8037742fbd22eda0aebdfe4c9630f9898d72b4a730bffc27f9f6a5b03808a9e20350b99410f6a3def8aa8c5fec61d9eedcd9f7e47dd1f5104fdaae367239f05c130d8517071e69852e08a8926b760e1cbb8e0210a4aa6a9ed144f3ff8b7343b40f1ad396128c636bb8961f2ec73e40ad91a063b7d02e0c1dfebab251f4db38e7073359ec070d76334b3c94881390f61afdc1707446b41ee2611f1d11192713508f861be4b84756c9a0c814e358ba00e15c1225345a84b39078169161aade7096bc1859606d5dd7baf4edbdd02b31442f1d23a1ab76f3b087157388a55f8a47960e3a9e941db36041027af3900b77c0d24ca6da1dd03951f6bf1e78a4aa218e7bbc0ab623df5460698317fc9e0b2847ab8b6ab0a3c2c37f3f4aea2dd0939132557c3f7e80c3745f32bd28eb3cbab156c11f615989ea309ff8f12f42ffd2e3deebe189cc84f57a0c66c224b61baaa10146d9920c704d2f4a9126bcb0867ca540533f295f7fb77957bbccb03a5c87e968f93bf8c86c41a772646693a3c6507559231a68e6aa35548dc04d4bad1a71572cbee6c1af4b3239ac3dda0c8ae65399663892a0aaef94ba22a7686f5bc009cb4e9f22af082184fb4bc248aa79aa60bc106341a2cafd06fb43ae65797730417da4c3a121c2d8bca99575908858de79916508dd87880f0b2317f6d7c9705e0ad847b01cdaada7b5daebcf04d221b9cfb42cf18e173a3f58e77d0e3c3bc94f49e0fa5e5388580afedba7f9ef135c5f231ec4cfad5db79c2518962d0167a154c3b4f6e32f2067e7fabf2455134beb87ab747d49326387d226633684a286a3efd1ed687aca11bcaf862cef69e6678033d6ac69a94625db27f47578d44a74683065da43f2bf194b993b94b0f9b7e8aacfac80689f3a89ee6ed810ceeeb0394906cf381d0455a07de17d3828b00e62261278351927f1c801b5466a44cf4b214d4707d2a6a4e9b46835a0c5ac71bbe8ae249a4b9b6f68225077e5a7c0a07e3a6bca76b0925f61b5d9fc07c2d544788b5f36f943e5615e4097cc792ef62b94aacdc974b5db334e25c166f3341db26c9ca0c2c20fd184cfbc2c9c216c8ef004f9d1f65730d7fc340f8a4de155103ead14fd0293ddab5678839014e429a4570e7eab6e77de905190fc2b397fa1fdc0c8a9384713bf0efd356f2e33b5158b613788ba48c9131d8de52f3aaa396baf2f638dd04b019749a4421d647e08a34cf183e7f49bc0188301c4ce2ec627ad8e506d595ecc5a43fa6b2e43aa8a6f4f0924f0c77f13a22e500900432058918d47c8a0f688ed7ffc2322070993bc1459552c31dcfb3a4ec8f8b5fe2306c0d6877d9f34551a17191676a49cf98aab2169fabe1f92e47af8bc4f7c7e7e938d413709e0721908912f7c7355cf064316e902f0ab70dcb53c93634244079efcf1e7d0666ee5d6b74ffa82ae5574bcae74cc8c169b00ad4fc6e41825b1da5ba32de66f6750a289aed61f4ebf86d7218515ce403ed9bd99e23032ea41af86b95621770668d0875e0ab5dd89fe0b7b1c7e70d4737c0443cdd0520979293c606814d8a11225fdaef79c83d694192cf45ea0512b4b4b155ba3b84a3b458b04a3f0eece0d0f35dda7025523faa58d3e8dc588d82b0fd79aa8e56e493cf92553ca46a595c32e23b23efaeb78bdedd2528ba848a0346a59ae5d48d848bdc1ad5da6453a10928ecfbe4451a55eb022a52ebcfa34d9c121b085f2cf843d30aa9a68d84fd379ce3cbb938c496b9ed5d92893d13e9302b2ddfad90ebd12a8fc2d06a230f3304d40db18a93cf9d1886210a147ee95abb73214fb37ee1504fb2049a1bdf056d7f5bcc8da837872119059ae3390be991bae741ef6e0e95b596d5f79d31d6558bccb3e9104070932a2d859cc5867559995d4a19b9e14bd85fecbaf6029d174f9fa4aa69e5f8f2077947a145b21bab3aad3ffab886ab32d6d45a4d2effa4400ff6eb42656cb73c1cc39ef788a81c66e793bba372969636e2bb4f1b1d3e4e599d3eb1c363a70bd74e86966a3ebe4dcb7faa31a1b9c9c9fe289fa4937bae2c6e328fa52a0a599a6d2b21e415ccf9d2224f5dc2b4244cfdd12e754c4efbc740a32c9f238863c3510959ccefaf302248016effc1bba98bcf0385d72d50ee3037aa2b1fa4feabd8cf52c1f13a1b7be9f5d44d88de852264f801375c212433684cfc086bb23e346c3218ad7f786f0e1ffc18a29434a7dd212086db92c26fb168ff1efba4650f99c4b4d05cb746d606631b568b9c8d69366ab1bc432d53324450e74165bbc244761133c621caf8c50b5a6d59031f45b5b8c05b81a00d1941e05c066048b48173077fe8b96599ea6231b0b404a3dafce929ba8ef45ff95497bf1499c163e1126ec15b9a541d71eb8cb8c43ca9bd8c1e3b1dbab979bc8244b05fe50a51268ab67e113fcc89ff5d1ede300b4b3ad176575a609c2e3c4083d90a5d66f1058e46aa70c78459b3f39a549c7e2646334c8982908928b4cd1c8335b2790217dfa0fca69cd084e225ddf66b38c8da3190233e67e2bd16030101f3985ca8e3ddef2b1922cc12dd8f7d881412b9261740a92e15a9150605a44575517e0a587cccd8e57758a9dd8d50ad1c8f7c76c6f0ad5a917fa69e0804afcc8fa8570fb7eaef15524b89fc73d90a7b41bdf80004a62cc98c1ebdc7c2c1bee7d15e030494fb6df74f380b205bdb0ca51b4b7c78b75b567e4b684dea3c553dab7c91f4ba03cbc6b25c249655fe689a174ea5bf0ff6d48d85f6b88d05dd28d42a461bd7a73a968d34bbda55c4f39ccf623186ca42bb212e14fc28db513dd08d863d4d4dd6750a3754e34a67722526b4215b96846253973b09e329fe1379cc80b5f2a79eae6fe4fb4af3c70cb907b2af5673534e6a4e7ab6979350808c7f1347de6b4aae1d626c6e6a3d4e2a053b6ad51f711ba93fc891d3afb4b8fd027a02831332afae7e75dbd1fda6a8dab83e32afa820438927e8a37403d0c9c8b4767a85a69f76b32a2100f5f23eee4590580513ebbae708ab2aa1f6cb0480e8e7256edd48e6b7baf47f5f175b67c1ffdffdc2b2807d0f0e393ae1a151e991fe32909a8f83ced286d7b98588a26875cdb7ba383c0ee5b00c80e55fdad014a14093d21bd107e22f336a1f12b86085ebea0103607caf5e3d8a4f636ce22cd62a00ef32d64e4814b763ed57864eaf297d1218db10ab2f71fac5db40193c00c50cf6a4263369462053bbd0b9f9fc699e0aee5df1aad6f30788ecffe9724c8137da774f85b52593d36df5a2f6e485e4a65588c16b4ebb9b80818636d48794a0da36b8fb54fe08592c0f0e740f6d56c597f8c08b11a6c70937232f039d0fb9883083562dd56b82838747fff32b3bae224939d01aff3f589f67dede9c7052328eaac38eb3a85cae4beceb9de0632c492aff0012173365625710a774a6f0d940e14323582274ac1d0c401ee671c44d41e0bda08cf29e7051f87f0fe5092d641297433b0c149714ace226b87b5cfe153b84b6f103522d685c1061750eac88f63693f773dc503855c1b5c14670943a4f6b1209ff0a63c54fac80052bb586b0a2f85537a8f5c2396198d7cf02e26fafe8a510381ef8640ada4ea8a913f476aff1ab8f5630ca17465af2b3bf9c0712e4fbb026a73f512509c2a396718597b2ca82b5d17b7925f470aaa94eae218e2eb4aad7ae2146ee93d420d58d356a26e65497d87f45e4f48f12e2541d4082b7194dea1b74f799528540e3f649fe1a77094de906ac0baae703d856b200bf4928284cc3d48dc67c9197a37bc293352baf8bac4137c694038055f9d45e2d6e52f6277446540091129f38e83c31cb674f07bc1245a6087a80e45027e0dd2b900eb1fd67c178b04531a8cea98c88499a0a073b8b3ef2c4045661b0a3ce302edd63f09fba4eb1f7a25b24c19a3f57181231e9bda4979ecb0cdf0aa9ec0422ae41b7e9b5c9e441e93a36bc25d6cc49febed8973733622223bce68f053dbd8453c22b3116a3f49034f910457bcc88c32dd2cc6fd2aaf788eea8cb0e98ca79fec4dce6a689f8b285a857250d3ea35dd9aa429f2d273a9bc8df1dee92151a4d877c49a3e752cfd0c6a8ffd9c6e6f5160aaeb5fa5534e5b8a2b7a7e640ae1c894a2a8b02b305773dcc8835c1698ac184b570d1a1b941eab0bec8a2c67264b9dea0ed4717d271273cad6284af166476cf74a1ca293acdb79b99903541873998542c56beea9e34d7ced802503416e7bed46b169f4f1f47f2b2ff1f3a8177938114db52b442119954c9d008f742f4ac4ed1e8d9564ab3dab4be891748c44c04535578f28cac5974ea62a917c9424979e64bb20dc48014f1799689204f4b2cbd387dc8de749152525d10cc2d6d63df8508478978041492872fee6f2cfd52542b5bb02c065036599bd07ca649d24ed7465d068005f88b875a5a119b075dc0b442cf073edf0d2aea4b59aa6cbef395312a5fa884739699963d4a018a9bbf2a9cdf4377c07fa376cd631b10a23bc129066d77feab3a3e134cee1e2ec47e59e35a558818193f4624f27258e669788290e011f76ea843819f815428cce8a05dcc503bf89aca302788165c03ead60c5cfb4812163a560117666d5bf11d7b721eda541e7dc3d4c21160d8c82a1d632b407c4238d2b420862d4a55cbad12f94a777ac997c0a544d5171276fa95fc44dc43898f9c445a2374ea811497a3d05703511fdc1213ff1efd8014d2ed81f574c01e22e65498adfe79fb462d7be4995168ea665562b030f82a00949508aa04c26dd5a4ce9c813a1097feb65d1484720aaebce9515813788c7f443c80d6c94b9dee3cdc2065b55ce8ce565150482055e58b57efddda0ebf5a63f79e88ca99805144350e12e55d58e2020d857dadd6c9f292a302e4a6feb01ef232d540aecafded6e63ec0b7495b876c32f8a5ef901ccf1fb380f9e0a4442a0f71bb1a93d0148ba82698dad63c7fa852ea93dba400e50a1b0a77900b409160c5cb7207b1fe1370918f783052f9c8b1d13df2f65bc3f7f14ff5156d241093835842d1fafb3b129de7aecc662a4f5ffab55f3df52965597580448e56bb6adf1728e4091dff4bba145c8e8a18455df238e98aea860981d65f73b862154bd7809fa9b7cda283e7086d90d4c2c8e23f210808ad01a6620e00191122a96c3cb888363b8dd02540781aa447d2bb4a7f54288b285069e28464de9965cbd60ee0d673984c1b3a25323bfc60d20671869649f90dea805724a8b951b294a530f6a900fd320aa60bcadf2b1043553da1a9d78c52edaae26534d3bb6464f99d656a8b80ddda56dd08b7c282bfb8d00fbcc0d3820b60234e93b4fd5b36567cb87b8edb9528dbf841af47d0b43d108eae7046891b990976e741c0f7978d7d675b5c23fdd5e2ed0c6397424f191d305c0fa48012d80e7d32c763f24661b386ceaaee3a7556039c11b83e6199e47af649c8dce474e52430b462f85c4b3ffe6dadb5a01edce82e04f08620af15ba8629cc6d8186382014f8bdd1d82ca9d145c04bb180efef8db3f05d0bbdbb69c545aad4f810eb95c69375952cfc4f4bb19c32fd23de01a6e1c0e82f1456c99149fd11d7ef0b613f1527dee3d53920872e80b40da514e60d35a136bca9a8850eaa6aad02a49bb719ae3e129d0051b8e9711dc00e5cef232511b48e3865ef6ec525288240909dcbda67baab97038122f5fbf7cce22a991ccea8050bc49eb7b027be5a712df262c02968c9c412846ac42ed93a0748f96f71faa76570f8a430615c25d5e5dbad79a7a997141e2193ea048b579719ea5a054f1f1461a0ddcb29b2cc0ed0ab0d4a00c57fe8d723914f2651e21bc561160f76512f7f44da8e057224f1b5022f28fae85c144a759c29608cbb16e418111fa500ede0c16e29324e0a8c1f3a509a332b4abeefc0a464d74aa955752618799b29d728ff2c365226567be6121b1d65728fb9e6c60f47946a485daf4694ce4f80e6a87fee329ce5cd3112a840d0d9fc9dadde0bd93bafde066292d02e3609bd64ab88bb074f4e6a9d23ad0094d0b6419c1d4818504fe83ee754176709d0a0aa7ac6ec554b88d325354d4481b9bad14c07a22023ee88da9eae48cf108e40301fa2c25912533fd46f02c04548968172e97baecb30d4158c6701775e5f8e33e3d52b162c61c199387015610151eaa10d2bb4547d2d130ac2499b51822c3dea8190493d59088e74a91b1d53ccbc95852ef36f35110e9cce30065309b5386d4849e492a9b226fcc001bfb526fdff3ba6ffb880df76657604fd0dd028ecf3862d3ed4759869b72bff2a2a16505a04b3bc4eb41a43f65617e35a0dc269df18930fe71d8d197d6a90f4f516db256109f2b06206855086360258177ab161e97ae821cea7c90c43b92bc4eb6f1b7f758e74df746307fab7825d0edb834d09e9bf0bd574b59c964426ade5dd38e51e9d470ffd7e6716fb348a9767fa351ed97255640c18c9cc40eba612d320b04b2fa290b99fee1f2bbb42c943970e56374ab9b55e622ebc945691985b7557c18e156bc4f8aecee90ca378c597ddb7ad0afe335886dea49b797f7a8f4198213d47fa0f4528e428a52b876a074653a26d2ce92f22bb0e0be81deecf00c1c970b5869f8ee1230b4dfaa1601a409ace24c30fe0b50ad3bcec7f58ec8d65291dd1967ec53edf697a97f77340f0a2c400cd9c4706129d81d4dfdc5c120a1c751ff3984ae96442a2e907aa398d80a49d510446076505f999890b3e42c8c9476a9cb0aeab9f16c4a1feed176961ed215077e865a1e3cc109e717f46633c532af80df4dc2b26ba4c2f0e35c72c9790f29ebc0a9672e71cc4fd40bab90fcac1b560140b8c87a10c574319d8a4f49f95a2d3eba850c751f50d1b3f7459c6d13ea7801b45b2b1402fba254dd036c131f186457ce80d6b7b134b5188a881a180d6468768d4c6d8f55fa387f8d005339f1b56c98bb4a8995fa8001c8a18c2dc84e5a042ece05c4aa4a09958414cb8cc3bb9b05f123cfb3209ae1e56e1ce55e29eee96323c78285ed0ef5402c61d1220d5e995ef09d8f8a130506e0eab4ffa307f92b360229810d95eb68aa450e37f0a7fbac885df04b602e150285813a610af969e6d385452b85832a13db4800fa6428921cf5ca6d77d2dad94e55471a019bdb4c1c01204bc53915180bba687ba65c48a94248d622300d297ce09c0c7f0dce2e8a188396f8cea172ac581b40045b420b0f7d8ef05d4437fefcb3c55c2858c25adbe210dbc74b71569ef77d31da545b51170fad385020b70ca6d3424467421d82ed8284fe8f4f703cc0c5fd55ba07d59bfa6de4d0dba45ec394700d82a41a8f0c7c231b135077ab99f3f7f7feae018ecd5ec4dd885d6063ca8bad571a9bcf932c9dd79aa89d304d354bee03057f6cafa608cc85d5a9c34124be6f7e70647c01835c61636d529386005227c56bf496b6870f64f2b7249164f79c53a154753690ed3c78f6736b9e689e677cbcad40b690f9d5e951e971a3ac1c0f04492b2031c7aa41a31f5823236811b83dde94f859416010ca15194eacefcfcd5e31f5caa8888028c52f27f721007b1fa26e9c57f8b75f9a24612d550b12ba87336422e7fb63d8874f63d20b977bdd0659ef8400fcccdac2f8045da3310d4b12773c73f14bf1a67ed9eeda568fd60bba790562c7a73201462aa0df7239e8482cf0c41d7984ab4833a17aeee000e5d49b6e599db5840d26ac4030f3a98662fbc09e26c24a273d967184f2c64634bdb33459a4089a0b6184e3b5c2278d90a57970bc14b683b8f74ba45190c93e8e51d07eac634f843285599f2d50d8d7d1a79086894ffe99bcc28d76ff0b4843588028f7f46a49c7e94be1509ad6c981e75045a397446ea404442dee80b8c2395cab50e759f95350861b0ccac9ad3f7164cd47c0984a7462f3f0f9235735fcbabe4e43d9f8488cf241efe24404f7c5a1ad0bab4f8a06a4eb2633194bc6f3156d848b457c240f007322679bb523671bea0f41c9e342072d2602644b43e98ed6974807b8a66ff33d15d59a00316544aefe9673246880da2b56b0eb42bba7fc29bdd6f7263b8e9fe9bcf33af5e89112a22cd09ca33634fb4390e0876ded4d83d35046cb84a79d36d5b45682afb37f4166fd7d80c2126083e202ec5ca03079501b78f28e01042adbc5a2a6175320139241fa19c77a431df4ab7d98914bd5c6cdac35cfe598fe500d3beb62c1467f422545a1d1c26e49d900007cf8eee6534f4df3f994ae9fe3c76e4055863d36b88cb955d984a79a1b52ad025c34ba638a5debd625205f10711e1b581e01bfd8712f4a6f72e2fc41c4a8b79bdc65ec00f854b1440af1c69342c0d1c6d7052affc197f32f883604bbcbefcca641bf70976f4f37bdfa909f4af3756db7b7f3713bc47f5d55e4f137649bbc2f2069494563e0f487b8b2be56efcff2c916ad163c1214b105796087fa96420c36de956df9af7a38e85f06c475cfebb5795e93e32ba6b9530927a0b5c7f43fb7e06bae8cf57e153c583cf88edf8052f21c313257e844bf15c5673550141994204fb08f9665ad40b4dc14347048a34a12087af871d25e52ab09f78ab3381f93206f8be1e55aaa9c49c7387e23e97900a6dc43fdb162714911a1bbd6352ddf74e16d5419754d75a7c140331e231c42ac73f56c914e08160f3f3fc4b30a19eed4dfc12e8edce7932c872c61441d94465cf4baed18e2805870ebf1d65af8e78563fe4ab7559a9196398de490219058b91edb3439c03a3cc50750ab16c08313d95b92fa5e2cfdc17291224c9729a1731d97b8aa65a6b05fa4f0047503da721f3e361412939dee9bd372855e10d3eec180353e46449945092031057036d6f946d3975a10080dcb7f27d1bd940cc09642307d94198d29a5d3777a61a146f54e5963c262ba404bfcfb0dda243ecc8f01e8f4e81deac2759415754a243ad0a5a1aab2d8eda938792df83268a8c6ab8a4d4ec20e2770f821d741faadd92dd5c3351f465db7084103f8af761af05074aa955c9b283f919407b62d42e8cfef870fb89f30ae23ad25f2c27896484380e3c7a5ff400606e22d48f06243bb68efaa2f894fe6d114d6552f3b311f9289c006ddb7c01f9ef0843594eea6447f90dd0828be369ca000d918613cbb736d257201a77cda7452b287741fe205630310409d1c36026d99131ccd23fcacc8fe3f49dabb7e91c6b8f857947645f99571d7afc0dbbee8c026b8b7efe5d6804279c4642c65338ea6be7e95f657a89f9f36f73e27e9581b6c90bd42f1eeb9da7bc71cff35830532a58aa79db546c9ec5a7c73e5fbb787d309e21edd69054a319f5218a13c2760ae4e59262b364e94deb99d697da2055d8fb00038f64381012791e1f886b388fa0b16196a67c9944e1ce0ad369ee6febfe608af843a01ec132a531105fa5410e63da4756d846f8bbfdef21a53a531508abb588243706759507fa42f25df92804d691c6c34f597f260dde8d22dda8eb7829920ad00034601448af4d55ff4a530e9ca702ce0fac95138c3b88ec0d01e03c26efe3a819f67915b0adf82f0ca8023bba98005d47166257049a65f704623ef20f23da7aaa9de4e15a05fae2590560de994b233a2a1a923ba978a90b5f68dd59e9cf2bf2efa39fb38a040d2b146885f71a78621db8a8fa73803d680972e63188475ea87a0abaa814ffa0cb410b3110c8d6a49450ee40fda0d78f9d7dbdf96f6de90f109f03f224c821518defd33133d5008a79ed4f14b09bea5be783e1083d6fff8591b0a597eb5aad4d80f160fe7265b86c8fc76c14a9c4718e73b4fd8c4acf76558446a5175237c8db3d2e31c43d53416426e910b9cfefa500475bc24cc5b95740a411736b92d2d0f851a267c5be53498897ef6cb20d1a03d8decd1c854988e01147006ea87c2cd6ef2f90ccae1694843c6b346f520f4c1d5e5f242b81f6c843f5d61658705bf9e987697528ebce4fb4e6f90d3db0a8350001d8113cf670b522bf12eac09e4cde14994f17a90ce1bf9045c2fc9da7810fc5570787f08ba13d51ad1e0fa18579ff4aa63100f47114b82df21a6d3392b23f2e5a4dd710d383f333bcb86ae32d832531095981cc7a664dec8f8ed8ec11fe3da67b0e0dbd4056ae2e9e3a1e98f486a39ffd869c3a2204f4c2ab0ea24fcc0a5a3b61b8c495a46c313d3728fe838dc03ad2143c0d208d45a0e3215e855a7609afeda5b2bad78ccafe9986a45a042ac18ff08267cbf4a8835b34bc6b7f288af02137677b7c00ed033a6cf24e55813ee9e2919f7fc1e6080b2f36589f4cb91a18c38a1c117b1f3e8556ddda2b4efa60f2ffda3ed4b970e2764f0ef5408e0f1cb8b04825de4082e1c38798f92d57cf1ff5378501fbd4880ae3254202c6554c8b607628ed5f491af941c4aa536887f7211892aad850317badee6f959a784510791b680b1d3be35702401773e3ad68b3b5ba93b7e6745edb35e48142fc867cd8b1590255141604bd68f9e5b0770b0d4501e006460a5fae41f825e96a9746ded530c18274c462d1c4959214cf8c4fa41e82367f7e502077c1feb0822ecec14e0d2e65f9c2b1123973487c2df474487e5e6e40968e69d73a41f209f885bd6753eff53969d8ee44c59af360312509c35b43a462e8d84d3bc635878665b36b002a08493f5b0c87f1592d286f9aa45d9d65fa921b7e4be7be37bff748435f68c50ebbef72c63935332f8f245da73cc0fd0faa4b3efe07c899fec0932f50b022ce4ba95ddc3c8694caf5f56786099f6382c6e3a2bbf247ca42021f683e4b3bd68ea0f13d9014381d8e54e3e2f8fb8c966c7bf571a0091074b6ff61678dc6504ba0ee3f6e6b481308358dc2e8b5eb6e74f0093f058dd07eddf4e64ea8ae2f19d0962284af9dc2f3afd67c54e30a90155bf1628db588249dc02c6591a218105bc79ca3190500d6025bba2ac7d8a09d37ffa6d31328a61b4818af1c9e2a225d633b0cdf15e9c17c55887fccd0d8102cba7028d14a7deea8621edb42ad438b0bddda4ea6d59bba0a64a30dcacf5602b410343cd2dd95ec42d92404029dfae4aa241d470b9f7cd405d18bb5f035b060ecf8f0ea0eba882c904be1d3c28cf5bc176c54a36b71933ae90f1b3ad97a450a39a768502de9e3ac153dcb49666a6895ed06b1f99cc848c95b6397bd126cc2a2f0ddc552bacc4dabe45af020be8376ac0f4ea90ce2a9296a8687ec6903fe124b6563348fdaa3552ae5f3e3e9ed7ca7ebc58337c396ba8c1d8d245493a43656a61dbd278ad8581c01dd80f00eca8eb5fe4782f0d363e473cc40c347d98424e64125133b8086474f1882d660677c653781d3ac32085d0e66f48c8ac7a4ea710253d50f217ecfd01a44a452a104db9d051851b0dfa098318bd0e3b39663756c4aece2570f1367d6a3660d188a8bd5626857bddf760ba6b2641a83c2c987306ba86279ed6069de2286654d5524b9cdfaa8282cc4c96efe3720d8b090135b2489a55c2f5f24d11f201f56ef971d4d2daf3f19c3353f4557728505a82281c667e841f9282f4e6a6b28df8f8c7d8c4593ff44dd7faa908fb3e56776c213fca9d76b0b363e6d386c63b8d5c16ab8198260037e14ed04be7784170e56205a954d3a19e324ae878a10be3b3583c66e79889a3890fad1a0160dec124a88709ff471c2660510ab31c6692314522d95753a6a41d6d6b6918aed7c3f0bf83c72530c03eec5f4d11a251e22fe0dfdb6c412b2f7de01d90dab0d570e4d339b3d21059deb1211b5d1a49833f44888ae28eaba64aa42acd9af9cc887612c5ec142ca9db72e1101654e6041155fae475df76abd5e2e39db986c48db1250900fe5bed88e980062a2db107cf1d5bc7d8c29df4db93c57f6931bc1dbeb5d7693d8da1ec5baac118a3c9fadb97b16c69dc32fb8257cb28de8733d5723279ade0527a4e961b85990a6573135e93855ac2c6c99a989b4a4064b5e4433282169411359685b57c92d9a9ee33c6a4f42620d7ad6dda2d88e6c445665cff31653b35cd9a62dda7012a236db515d5aaa4b2720d729c829880c1ce7a2231644425c838ed4a5dae414749a4d951c43d39f846c1b1650a4818808cfbb19de7e239a2919de94cc99234743bed6cd5e68a74a8a21e2904d81808080868031d7f0ae1be25ce50c3e191db1d0c1163ac42b80615d761657b06e3e245fab460162190e71ae98e7aacd89a93ac29e754a44cbc087b7a748668aea5c767b7cd0687b1f341ab60d4d150bf7d8c38eebd2e354d9ba94fa51a8ef0bedc39e8d48e79df45e7723aa31d75dac832c57eb60ecb21bbbbdb1300c419999025fd7019f7f1af6c2596e443c17c8113cacbf66373d0b62d8eded344f76d6edb197bd63b1bed997eba18bc57aebe15f67dd17b5ae17262274fbc387f6915d76b4b2ad6597591dbccd74ee36938fe08cc6260449d3d685b197b7e7b930b6094a76fe729dfe753bd7cdaec7b4db8eb9f2ea3e627f3dba62b1ebe8b86030d8a9c5f98abe6e6c2df6beb1e35c58ec3ab1c3aecfecd857d787eb383d388f3887fd04d49a3ebca513506b439aaad765c3debd6e7edd656f966d9768d6edcd355f6ab3524ffbb616130a092ec77478d9c3af28ebf6ed8d81f707d7ae87afdbcbae0fd761abd9d9bb1ddd0dc9f5d8793b727d67aa7636a4d7a6a3a3736a575f51d88dddbab1fbfe58a25d5f5d98eb3bd8759deb33dbf5685d38f888f89cafa6eb66d9319c81f89cd7a5a992b16b93f951f1492539582b325334d49850f111e1494a5252eac09b6583a8cf19fa5c595fcd0ebcf9a7337856fea1616f9e4834e251109154226465b2c766a2593fb896e1bc819f8e3db2be9a16bcce3b9d5b9338251febb1e79ac4c23db1c7f7c4bef3d5046f4c69aae2638f16671a6ddf6d43ae539ee7fa3dce30fc0b1628c3d9078d761df6ce75b7a16d76f4b95c781bda8e64dabec58a329da3be5c7dd0e8d8756064dfb944781ebb758b69c393c47363d7a4a9d2c1b1eb163a58f864f6e11390644076ad880c5324aa24cb4e91cc140dffd832983004df7b13326d3c0f6f4e4c5584e1bab4240b232ad841e78d28a603931dc6c2b988663dc767c19851aee7ef051e86eb520782606dfbb570b436bcb1b36430196f45aa4755c94c4917960b74e1d76c576b62e183194a1c32838dc80745b2c88c096890c2d5022deb14740a3253add313d0a7049c539ce7da15a9858ab13608b65e8f5ab722b59eeb9112a419ece5fa37c597b7a30ac3b9beb00b3fd57d123a099d84bea22fb6ce5b4da60a89d57f700df2e8843a6fe1246883b5c954819882b836d9a1cd6653d5da886432d957b3b5c59c31a2090b5d98a805e2ed68a638307c2e5c955ab82625e17b719a338bb31d9c51fd02f3e0871709595d3a0515d1abeb435be738b72a09912e8cec4318417670b377c130b22a840a2b7aa053c4d620f0d82b4501b35817f6973dccdae7dc46010db0d5ac4df8f236fbce6336412238688403b47b606f3d042973809d6a49afd759ef5a37d76eb5ae4d95eb2df09ab536bc1a12119ebb2e8e73263cebe6ea335b17f6f0c2feba393ccc87c2848f606d325b178661c2e784b82e55172cede0bc29e9c4f0d7910a2cd090d48fb083386b0d4a518484cf28e7389b95adfe1de13baa4b3d5528f47509e7f15bdd4e2a3efb4d0a8b3724527ce165325978674f1b6a5e7867bf42a2a9925769a7dba9e914c9661471d8f079f6c963cc518fa40dfa93288e648eed28daa0a7613dbaddb9d7b7bb73edba2e6f2bb4bfdc5fd7e4bada5b57be8b53a5f5727d633255f4addb3253302ffc9afd6addded9dbb6214dd5b764020a428b5eaed66caa723d6a21ad47eb7249f1cdced5e8c57ad863ff7a88b3cfec5c57537a1df6faa4f864e76a543d2d69aaa886a42515f9ecb386d4748996147e46f8ec75dee5f8c21f7c791bc2db2c4508b3ba14653569aaaccee9bf227c3ad779ae47165723218f2c97cb85b7a16d46842f57a3979421e0ac5673238abd8573edd87370fe1a6754c7ee92dde2ed28d6a0c12743a1c1770465c810846037251bd27614046d69e7346fe0a765df79d6faf5d7bb6ed2d8514f76cdbe5a67bdf0ce6577c7b583b5087eafdb6b7687fdeb5d78d9edb10fdf5958ebac8757f66865ad6c9f846485f775d97d5db3ae17d69666ca753525232fc7f73a77e2d96ea2581c630dfbd5ac49535593668ae69fee6e48758b99a29b92997a6d4a76ee568f6a52d7a42da6ea04e4dddac4b3b2874753159ebe2a992a19268ae2cbd588d2293d2f7228f65cdb0e0e5fae466d0482b71fdb8ef2d684bc49d1f4b0fbbece8559756b3535a4254a5639b8369933f49ad254694c2cae4b4d78020769e8786e04bb931ecfdd94cc99f08db7a3107c213e0101e18b47c8216af39dd24b7a5964aa604e631ee354c6e9e591a99a71d54f2f8ba62a88d34b2453758f7590d98187d34b2553d5c369ea74e6d48753009cd238bd39b539559d0271fa1934834c55cde9a790a9525939fde194e5b4e5f4354e03706ae3f4338aa9a2f98d59147108e00538bd7664096af302f51ccf5308c7f39c4d25033ccfa5033ccf260878a6403d9e6950029ea990029e6990053cd319039ea990063cd321073c53271ef04c8714f14c9f80c0332d1281670a85049e29d1049e69141478a6472af04ca5b0c0332d32e29922b9c03335caf48a9e679ac4c733d50203cff4a82955c2e39922e93cd325af679a948167ba85069ea9d211cf94c98f67bad4483c531dcf9a10cf5a3f6bab670de759cb79d684ec3c6b4303a0f3a8e93528a626c59c22aa62333584da141145d347ad4843a21969576849342db4a3054427ba870683a61349539f0d7c357358e1593f8873110d8698a250b2c728c3393c2bbc27a0306c3df4d9da862c6b65a16c86d6c82664ce50bc81ad4bcb230434c707da832c2b7bb607715dba27202bab4d64e15b5f51d6f5992d3b01cdd4920c54d98720c6f159d05a19cfa694c5073ad7259eab31993354865fb3650f950c1112326d3aa26dc95445264461a86983589b01a1b3094843624214b4e86c0ab225c9c2bb63044f14e1910dbbfd906ebd8bb12f561144d4adcb643f01596b59ef34af086a63719c298f75e59112497020bccfa7e5090fde5e190e5faedbcb6629f15c9378fe9ac5816754b31e238bb51d855702e79a04ce1f077046154127306d224859f7611dbcec5accba71a6807478695de16aca6eebae9b616f614d09765fafbf0ed3f96ac2aed6ac879705442693dd753bed8ed665a776c74f8797dd5315bef0addb9b817476619fd9d975b0756d69aa5a38bb0e9ee2fcd3b287d7deacc9429c6b87673d7cd6da86cfb56df8ecb57d183eb7b40d9f516d1fc3e798b6e18dcdba3f9668f0e05733bcb165f707d7e0d2544530fbcc76616d49a9890f7cecac29810fbf9a4ca62ac449cc0e4fede9b52597c538be300cb1cf6cf0d1c27e80078bba3b6dd294d2a0a654a8290d42675448533ae49b401ddf53154fb7a33823853174ae4b3e770357eb31553c161055058829fa9ceb1de7def8ead2bcaf8d0b7103701db7c691b82dff71597ec4fde11ab82bcfc055f9ebe2388f9be318b840dcc755bde7da3cdf9b5fe0d2b8111700b7c0f5e115b833a7c04d7d02b7874be0f2f008dc1d0e812bf322ae0e7fc0c577c0bd6fc00de20cb8ff02ee8c2be0ca78026e8cf7b83147c085f901eecb0d705d9c88fb7dc78571025cd487b82e1fc07df102dc94ef5c5814c063f7251be53af725bb26c663aab6a30244d5868598aa4b150e31452f0b1fad2bfc76b46161e7ce9c3ba598475677f69d443335a1984590b8f3891f770eb953037766e04e2173c62e067cf4e40b1861810a506002128800048a7880031ac080052820013d10700003105100020ce0c56307509f6cd1443ef17d20f8725d3a014d55ac4b71867e238a33f4acdbba045e2691465916c9235912c922ac253a43ed120b139d849ac67046c1707ebf703e0d69eac2f954a4690be71351d3a0a99a4dc1fcd3f6b2167898167ecd6e9df523a64a369dc20c4d86cc88a65062129766db102ac49084ce7268539ae20a4e74964f00b55860ecceee727c9ad24c516d69aa6ad28443545532d8b63cdb11d9ddc27b04b5e1c115c44b4248a4d69183a4f35c3bcc5f87611886371dca1e7b9c365bf82e76fb32994c86f34e76379cbb116d445b14db112f76570f6f964362cfd289de99aaf03b58f6ba24bb2720327cb2cbf00988273e3ca23691da537b1d6c0fb37fd9bb1eed5bf6aca3b607873a6b6dc31876a2ed577435ed15e2b09b3fd45b37a73a6f4734e03d225a6afa9c6b2f04cee96b938d68aa70f0106128daa298425c4dc7d598cc14d59672dc89a3ab495335a78829322001e24ed59536572e5dc984c69500a0f7e1ca992b97cc147d8abe872b95f0b083cc954974c0571a4d8924882b4f3fe3ca2333452fe3ca185712cd141433258bc827e410397451570a5d01dc22fa1b47a220a2afd1f2c44cfd70e957e86b6e9c29182e4a41dcd93757b6cd95adbab281a8b9b17fb8b36fdcd902b8b1696e6c1b3776006eec1a37368d1b1b0037b60f37f64c0f37360f37f60e37b6cc8dadc38dfd1b3bc68d1d7363c370219be54aa35eb97149ab5c537f375a51b48519108867d04cd1e7399bcdb5e1cbdbd176446d8e50d2628bede8440c5fd6949abebb47f82c0164a68082664ac80bfab68e548821075dd451871f1d98d07e983fde69027da00b57e8f853173a9e7b186bc4779d6f6816bc82a512b59944881fb599334a67145aa6e03c9bd0724e21eb5bfb5ae27924d6903f0d7d38156bc4bbcc132cba28932552c4413f648513582801c7d10dd48d1f0c951e3e743c459b25b453dad5a15ab53b7bce39e79c73cec9995040b41e14e55bf912de49bd1ca249a1c134261c4d2762a696a03612063500ca8190f4c16c28c990c6c384357c54cc5755e489498a2ec531c82666e86845cde2bbc2501750718a2f882315c736136de4117a29b79b38d3763455f9a695d0216ac3e35359e9e4120f945abb16cc2539620e2d514fb017ed94472ac6474cdbb66ddba71caa75c82789e278c41133b5619f999a5f82dac80ff49cf3089fa2d59c9866a664f0c9e754910ab545dc3065640d677a73284ab94b8ee3a494524a7a736bd5ced1d4ccd4d4f03cb53c5dabf88686e666aae2532ff8e2f36bac214fef4cac217d68f929b5a51865f06930b278ef1e8659796c96c7be272fa785020adac625d48a2fdec333213325b3779595671515ef2ade7b541e294d7aaf5caaa808c51979159c57cef26e85e552a4eb9de53dad8b05e3f822459a2ad9313ee2fcf6301d9a29f92f5e9ae0a34853254f97d024ba852c8116b518a30ea4e839eb42d76ddb3608c453a31ce5495a34003a621106a3186f25067526e2f08ef2cebbb2a5908bbbb87591f26861d26a8df2cec264cfc41a283fc5e0eb502ecbbb4fe59fca239196b35c6b390bce3e146769adeca43dcfc25057799d2a29e3bdf6b0e0927cd615553aebf25a6e108c17ddcacacaed71795959e93a2d3aabacbcb8bc5ce52e313b5e709e5365c5654525aee09eee2e8f5a8e78e507888acab92be25538252bb7e7e54c74ec3c8fc5fb0acbbfd3ceb2bb957bcf1f56394b8cf7993cdd5f66bf3cdecc2569961795ee31b24415dcd3fde5f1d987c617967b51257add637715151eef11e7d07bdce13daa7ce5dc153247fc0a56f98af68bcb0cbe95b33c73495ae5a89b65a39e6261318fb827fee5283138c750f156ac8579ef5989b9e7c5881308152054bc181715a8ebbaaeeb5ebc570b431d75961bef5d96c3dcef2b8a424516182f48339747a31c9530f30da1186fa3a874112aa2708f77974b1623545442c6d1288f72e906ea7e301ae531a2dc0769239766228eee283f451494d78843e528b87b71a1c1e77d05d3fe708ff7f895a3489eb87269795c300a5ef11e318ccb598e924bb388dacc213138cb689445bdd0b3f888497ae5287f416197197c3eb4579e7de8f76a612bef41c1a8737687d72bf7f1c202e36a130894bfb87102818233cb4a3ceafbbeb358d717ef16dbd42e57b6e779dfdad3e2bcd207b186bc5c1a62fa090af52d49c9c9d8a960393bc18085e59dca3b150c738096bf38015afe02ff7454b9399e0565e53f1d7d68a3600e0b6983e5cd7279ce68aa62b39cc342e688cdf2eec646b12e964e7a1df6664a4a08c41af27751459f5e8f922894508c5812c51a435f246aa972e38a8a8aca0a0b0b8ba6799ea7bd9332889c6129f4826f9e5cf06529247dd07279398b38562e1fa58cce288942a233f24868286ae3839cf12eb168efdfe35459d1de4fa212dac3d1de4df8467b1bcef52473cb8d47ad72ed7ea055562252ab5c0aa95caa3c45e5282a38fb680fc77b5af156bc95fcd32b3109cb55541eedcab3e4b0903654ae3d5e957b77c5d32e7785b4113d1515cc19cd54d4767058481bf12c5f4d1619e33dcfabdd556ed72b87593997a42b50af667739a3995271a9bc53b9f12bd753b95c929952f9cacd3fbd72695dde556e7c273719294a9d9d75e41b1415b4fc41cbd7f8796122f6be99923fb959469fa4509ee98cea5367299463178a6c22a811b17037ace8e2a34c96b3a63fa047be7c19b5a8d1db391add38a35dd3ae69f98f35b447f169cfb2e32715dfbc8c7236dba08de1938702079def9d0075dcb2f0e513514d111c82348c8e456f50ea8e7a5b16be0aa4bd1c3d09cae8bba9df879ada12129d421368a8e714421212924233d54d2a3eeef2423eee12a8b924494847a6d954cd93ca71d734e3b857d36c1a35aa481e31cda60a8ad9e48466ca24d4a65990ad4818be6c12dab0f099842a386b6f45681546e0bcb6b40d6d33a09e9b50de88e4f3f6038e7bdeb2e8f9971311a7a4b349a867b761a53a643444c590118680d0499f17e286859e9d142ad7a1618bba3d7b3317d72999a949adf83aa4ee68a6364cc4beb3d77b27ed0152e6308739c801f4b0074040ef1dc8c9f3c0e91e360253db03ed4dd1ec002248b5af667794446dbc599c39a2361e509c999f29450fc803eaf96e88da742ebeaf3be209911d16ac106dcc7747a84d97bbee093d73d71de9d92de9f923d42682453d2798bb277423f8bc210e7bb963c1173b7bb39e07a23653a90302eaf91351cfd312441c2c88365e9c11929fa72688340551c5bda332e8098306a14f709153163ed9b1639551cab44c228da033f2de908e3a30417f98983fd2f462a68a36a66f2d7406cf6b388854ea32724a249c051109a8caf9796daade424e8002372ca1e20d5274101da9780350e79c5a970e2cb673c4177b787db40665ef4e40a7a093d029c8697612721a3a0d393d519b6c469b1433b51d99a1b5db15b1469313d05211b5e1b92cc84cd13a9ba9a199a2393e1b777c11890ba0685908ca42100ca7125211280b87a60a253c6b93628b42e534b3ef097f0a437c0a722a6a7a288886cc14d59ed09664f1596b937cafafa8fdd139b1b7de5930b04e5fdca5eeb0ba2d0a5fcabfe7ed687bc39737229defc242bc2d715458297c79236a9deaec5c24b4f0d1860116c61c1ebc1db91e5e9d304c216d4a90c2bb7330664f40d2c2585f4d18b6b8150fbbae9beda30f6d1efbd8edb7a3188f050185e94805148ab426b8ac6e0fbbf65d78fb0a533345532f1da9880208608fe2a34cc879bc0e6542eb3838b66f638cb11d9c2bb6a288099d37a21f7cb09f80f0c1fe7ac7ee4afef5ba1ad27dddacf5cb3ec4518497fdc565065926fb09df23bb657dac7b020243d0c6b6d605ca3ec9ef3076d86174c4828816ddba9cc1473b225101158d5283ef05d3947c665b0d69a6e8490e4f10cf349b291f9e29c84c512126a09962b224447602cac177349ba9a1254ca68da60485a988e909d3109313a6a1264674865ee57423a255b5ba112d2aea6c3a725497ea526d722a728ae204741a3a0d394171123a09d986a60a866107855edf66b04d485ddad189e53c6c1d7625b803ea8031b02e81605ddac13a1868aa8630429129a8c1e7ec00652f7a56ebe61057a47a34533476b525d76377694b5315dbb9bd321bde485b4bd4cc9465ade80faec3685dac8337b695b15a2dd9c3cb82095fd37149d3481bf6ac9b658732198e34fc0e30f6ebca0e6fec300c5f30f6b1ab52928fec3a240b286437bf652e5c6bc45976d8bbe9c5ab29b9a4eb6d2f12b2615ca86280a1016605d84fac0bd649cf3584118a5eb2b7a358e3b3e2cbdb6c73226f432c4bafeeb1af662cd66281ddf47462b1160bf43eed0eee618de9b474583aa08ece4fac4ba7c58aadb37363cbeebd937ddb2edb2eccfccae7732e0c0aca71bea75c98c97361501ec117b5c9163803b1b738d784f4076dd7fd6ad2c81cacdb9a7ebd70f69937640e16ce2f9c2f8bf59aa962ddae28ebdabfaecea375e94497ed5c170767d938f13430d86ba62a1e766b5d308ce38b4bba931eec46176d3d6b9dc3fbccb6a12b0cad7dd9b7ce738324783bcdab495385936337230d4988a70ed9a10d435c3353d6f55cd359e7e0c3f0d9f510e79ab6b2d6618f618e3d3cecbacce06b659db370d6a485f5b0ae750bf7e8e0d65f5c68f0ed60d8b30bc3ec6fc81c2fdce39a56d60263d86776fe69f0adbb700f8b856f481bb685734d8737a48d10e7e18db11d9e1b416961e05917d6ba5106be932d1626c2f378d98d3d87e74e30c68337fbcc9adeb9b5c9d20928bcbde15b3703e9d63bf01d7861390fdf4d0fb477b12ec371a6b2d6b267200de26ceffa8a4ebb837519ae3325bbbdad87cf61e1f0da2d7e28939d03cb3fae6b39a17db48fe51c04bf631fb38f36767b19ce92277ee7329df76538af1ee2ed8827768bbb077c78d0626977840777b4aeb5cc85c3d6596f61168ee05f37b3ae5d476708f0b29b0e5e182c0369f0d2eeb0188675fbd6650f2f0cebae872c1cb2fefa0b488767e138532d0c66d64fb110bbcce00bf14d8f7687ce41dca3f316eed939c8ba3e53e732bc5959cec16b36dcc151621fdaf1e1419c1b6b2bec433bf6f0d4f2c47822ceb263b19b99680b5ef64e76c12bad0b877559cbc6ec430bcace6ae11c5a5968912ceb56f6f05d78b7a3209f3d4c863724fb685f9b9299a2ade3b02ecb40fa756a5d38ef74a20eece6da3ad785f34fbb2efb6a825f5118ae33053b785f77dd9d471b52d8a3dd01c3b97610c799d2c12cdc83f3568883f34ffce9af2bcb611dc7f5d7e354bdce3acec1bb6e9c2910e3b072de6a5d96a7eb82372fd120f8087becc69982e13855b0c762aec36e9c29d757d47571fecaf132ae0382f895b553dc237bebd2ca722e93c9645fcd9d77d363dd566e9d15adeb75f0baceba1948b3febaa10bc79992f6253b4c7663e3e4f898c36e66a2c125b0cfecd6ceb5fcd3adaf26ebcac6c1c1b9398fb9d9a7b5cbb8790920ade121b670b429b131eed99d9f8ee125213b27e7e6e48438e7e6da39313128544b188631ddfa0ed9419ca59673b3ec9cc7edb2db133e36fec175969dc4ec16ce40da06ddbb99834f4075a9ab4b5d6d9293c36fef508eba7b16d6bdc31569a6669d2c0c9bf0d94bcb630fbe9b9eec8667cd7cbcb6167c787d78419ade04c464a9e9b645d32bf98cbe68ed6517868565f6e02dae01cfba32151a59787b8b7b541e3e06f925a8e76b8a504e754e11d2ce03d08cb1f9600325ba24698b4fca39a70a3413143e8dd22a637e540baa2546f3727c55059f9454a332a9d4631e238382c2273175490c64267f1244955a3b65b2a44429c7a1d01529ba28935f286ddba5dc30c025e17eb2e28b3d44184e567c18e09274cf76d3b72d06dfacb39bdd8633c741a1eb63c4615f312d31b7c1e0cb29435286bc2adeea454276e692687fa14449d06d96abd3b6fc667b1ece1c78f1bc84cb3390efdd77f2f9159578a5fcb66ddb26a5c43d59c6eb52585a5afee2baf03ccec331da78c1e2b9b8e0173837803b0bce46f4768f73d152bbb3e0186b54d3b9dbbde2cc8006406f37c7790d7f2cfda9e0ef5dfc4ea3eaf4ef5c5471ffbeefa361e9c680dea60c06647ac33db2bbb427a7f1216dcc7b345bcc798e07b5b116fb9039eae7651099a362196d6c16779641da768e4a72cade605b571c630d99cdeba807023cdb079638fac0dd95bbde9c998f6dc2b58b35b8b7dfcc5abf4f4a4f5e9a2a3e9a9a999a8f45b2b78b5b5e2466a35034355da8638869e8296d142067e6710f6104a31ed2c654c19751b2e72590d60425a401a983e8a8843428759712a70a891f4b748f0ffdc1f5e9f2c78c4e82f60909d339b0a3b6c6693f69dbb7ffe07c686f1866bbf60d1fa13d095a63ff5429bdd04599979e2f4e71a4a4257deca1373d861b77d7c97c72fa6cc26d3a0f1d6d78724203c31d86c321d71c123f6427e123fbe4ddb42f9a61ea93a0cd1da6e2b036f71f9ce6cdd446050994dab483e258676a095ffe667f2da8a9925c78a2b3d7d30b4eb4bce785207dea8885178024165d50ea42163e273af9223d1fa369115574a4d413a481b7e8e2a770744905a2cf5a05204d43fd9a105f4ef56f8aaa90c486825347d67acea82de96247ad93a7526adfe48d1c8849c4e869f887ec24aed13b399004fdc175ec07c743719cfda3c9e94497e7a526d37f287729b59b353a2fd0f30388bcb1776cdab95bb71f5cf7688ffdd3710eddd1fc73811f30afdaf23eda37f0d33e3fb8963ffdd3ddf4e89665d572ec8884bc0f6d97c43f38fc83e3246dd2cd77f3fac80e714f0668c3c864cb9f90f04d498059e75ac508a4e8988e558c6048b7be58c508803ad79ea9277a562102213613ec4ca3e7e5a6f9d096a13cc53eb4e9278d94ca2741e5b55043fff00008694043199ad8420b8a5cd0d4dce88834261a2091052c8690ac81072b50824c4309661dcd89a6699a66a407ade1d35031d09c0837343534a7f186908c64e109469650939279cd8d0e944bc729aa0083530f908a36ba024dd218b198a00d3d79aca60862929e93ce6d4e6e4e5105a19339676c35531b0f225ab19d393bdb710a2ac0a1330d12474517238ed9518a8a35ea4cc5ff4c993da435741fd8620d649868e8205ab08225d84068c81688c0f8d8d291e0a70859e8200e4b5640e2862525a226762822a100680b46e8810fbca0863318e1095018ade1eb380515b060048b1d48a185080f3e2053581e653a161fa82642e4043360ce4c4efe542bce373d5012d795cf231ac7d573b2f6a0365f7757fe519b148a89526a8a284a4d459d5f2e290a358b2073982e61ec40e13c7b3b0cbc9a9cc9244da677dde6450ba33f404ef5943dd0dc4f751a31d1dccdb42bd5eaa5f61fb47be84fd732c7dd67f2d06f538ad6387aca1cc63df4db39a97dfb496e32bf6093c430a614b559b968e1700eebb99f9339b84bccc190a24f5fb929b887fb761409a3c255f998130cfc62258671afd21858e2180c835f2a7718758beea4a94d5736a59452d3368f481bf52bd7b4a3ee77977bfa8a5622271c8e1fb5798182edf702afb08b948ac25ddacb4a51700ff795d322c81c9b4d77967b53653acbbf691341169c7d3cfb40ade09e9a57b4d3e9959267a5a260187beda7afa84d0f5aaff940f5ca559e69fa74fa94570ba3ef59c128f43d56be82b30f54d7abe0143c8b20735094d3e32c82c9ba4ef56eb14d6daf6caed65abb5a0ecf22481bda571386335d18fac8fd25fb031b1088743f3160a6666ba6e02b02f798a9d30fbeecf560c054d1ec33258c4cfe749834fd34377bc3b30834ce224c29a64afec404fda9db4b0866cdc5a29b9a5334f5f6f5b6ab1c67049df1ee4767e8ccc90f38ef0fb85d0a822f82f5f3301bcc863f535c8ace70e7aef87a509bd889d382484b2e0548e81c8d6ee80c6722c3074344117486fbd4e2038dc847bb4530ca70b867ce3eada317883c031350000432f1420949608e27fca008944d2f101982d9148a40fa4262090d0813930d210002eb04621e08139b089a148146e4350c136a979738b75cfb4fb3fca757fed32affe9ef3f9df29f46f94fdbffb4f7d327ffe9d37fbafea7b9ff0061421e952109dccec454c111907ec509272d90b6688935a9d9a8821280c0944d049fd7325373cad0b4d4ac502d1e3144cc091c21e303940a9ad1103284e609a29a288a6e9024d1a1c54ccd194bb06422454492b23d225952924890783516e9686e66bbbcd94744d2b52a2db5412a754ca6aac3198848bafbdc96baad8ba28b484023558a950e145312522cea6a74e860b93e260f29890d48db121352521113514bc78dd5719464d3a1c3abb9b9a9691d3a921ca9ac2189163a921c39a1e389d84d8d776354e4dddc74362b35355ddfaddc38676e6e8a8ca65211929b22a3d9cdd04e0d4d57738468aba9f162bd57b3ddeca386e80813a2286adaab09c28386c6094d91211e0d8d4c571acd3dd3e8fa6e868666481115350c798266489125682410113452271a43338f060d99548aa3e1ddec83c66c88533213426336e48306931e29999a9242122895ea6a83d2d2354646e6bb28d7de540a480aa5e1eb9e6aefb38854120364cec92c71848c8ce7b5b4c4c4fc3232472cc11929f9c81cb1041132a01125453cc6e4b31951c41f13e3b37945188106a4096c4518119316d63dc90462505b4c0f1e31312d28544c0c8f1e4a498888e1d143470c68a43302d5a2a1622b14aaa505855ac5cef0756fa156311a1468a4935ac7711cc7711cc7711cc7711cc7711cc771dcd795568ee3388ee32ac7711cc7711cc7711cc7711cc7711cc7711cc7711cc7d596d32787734b4bd7ec75adf7d1d2ddeca3a5bb73efeacd490a68bc9aa9f270065adafb3ccd8d573deeca782da0918ec6119f377db4d4fffcc5c4b4b464adfbf779328737f3f566aa38856f86af3eca68dd7dfe290ed55d5a58fd8fe8a93c1c9eb471f4c5cbeebcceeb349537737838bcce3b9d4e8ff3437137a35a5aeab3972be76de7eea9beca1c15bf7ada4c79f73a035e6f38fbb40fafbbdf0ea3bacffad5ac3803de873ad56a2f2d66c2038d74582ed1dd551a9da7d3e984a3b491359577f2686b2a8dcef69939ea63ccb5561c7d66d77a7d68d726bea9aa3756544c0cea6b69d13c4f3b9dba9bb7a37eda717aa7711cf7ee9e6e8ff6d8a61f94f609d6724dc3d492a05dabdc249511733fdd9420a84117654cef781cc8462f8c09088cc9848938798781443a7302643bc51b8ace6c3f117d5facb11d89976c153082300390e07c771822e8bbd377b8d299eda61e7c720ba24d379d4eaff59de9669ace3d47d034778ecb026853860925105dd337daf49bae3f5d1f93757137f5d6929a2ecc002438fb46779a67bad4cae81cf26c13c7bd33d5e3e8206caaaabb1c1f6aa6b698f3e0cb34dd6d1d914c2dd8c0918f5efb66cadcb5f9ac7de3d1a3dd22aaf019818dd0b85b841153155bbbe46e7aeec15d3bceb0d849d0de70fec1f568b8c74cc91331534af8724c9204eded260dbbcc600431090d4d2c5ab5623bdab5d30aa2922b8c41492a168b5aabaf506082d563b1a8b5a259712360628655eba68666d58aed9881c91a5a8b53e0415016b4a00117927e20cd300516436856ad191da7c0e2034f48430aa48f96287c482aebb5eba345d3b4a9a2a8a40f29e9086554e38da03393bb328a3953bbba1db1279b82c25dc3b91e9144dbb3248ae2d246b93248909c71afd69582a510134e27d47a4ff152cedd939fb4ebedd0ba53d7f2759ef44e3ccff3ec0eedf69dbd28b7289db5a1364fd8da68ed0fd9443cacc5e18b28269429230a0aca7642e9be9a7d72ba56e3046b3315db6465350aedb31ea91ad5688ba9a5b59932e118cea25092238154414b18f4943590798ada4812c499799a2854b4a11c692d1ba58f51ca28a3767a7db434f5e2b578d2c1b5930e36d3166de407e2cc3c09aa0a600004a424b5221e2aa57d1ea589e0ab9fe9ab40aaf7d1cca4cca145a9c9481bf215a5c519798abfb902703ec695d66abeed394ccf94f6d04f6943d6b8c56d4e4aeb66c2f145fb6c4df17c831cb25aa194669a143ca8cd0f8d043d4f8f884a9a9c593c9e4af084103c21880b9ebacc136230354dd334137063284109e6a009c1c14114c8f00332a8010b3f28c31570b842169a7cd1b4e3144f10924107dba2dd314f7b7c686fa08b53e5435ba3a73809da3d51fe674a1d5d9c2a9c048d00e822b5a1a07697e879a9c9f9eaa24cd40e1399346148cfcf21138a6913a1a014a768c22c48cf074da41fcc9a60d4793ed173a35a919e53256bd0b3aadc3e758d356ee098e9ae20554bcc943d4a11aa12a6153d1fe5cca2e727116a964a5f0e7a4e4f029dd4cd749984daac7c7e53265951f996b842cfa3e03cb5d0a4a787f384412b9d4c8995f01c8a35a60f4a4e7c5f91549150492a4925998a38a8d2bca184a3638c97efb4fb92b146bc48767643e8a2ea9342ae55aed6f8c58aa314823989427d146779399ba979296448d2a1999c4593143253f31115637406cba1d92c02193153d387d0546d9fdbf6cd88999a9bb66ddb86a5d04c015d19248180b448e3115202f51492417a7e0929a394534a29a5441df59d4c3775c35843ce6042faed1b86a93f7d5a95cc589c99510e17693aa3d10eb5e2a3df308d4c6f7ae6387a8e3b8fa9e266addf37e366d1f48d476c27b6c3638bc5a69886dea8ce571a23bd5461227b9c5c7627aee5524949a94735321969462733dd142737f6cbcb86f34ce7399b452bba93135f9ef20d5255676aa5c715e4a39c636839d3d0f2d30a1147cb5552acd22442cbef48c4412fbb13cce50783eb0b0af778215de08ceaaee5ca9eb37899450ccf32a94f3f27a7d77cadb1a5100af57d959b734a1c8b501b29863843ef862c8b3a29d6a0d7cef0d17fdfd7a2a10451cac297baf6d53482da50b0ce14a536dae9a9d04b548a5b16beac15694a87668ace620dba43eb596752e78dce0640410d9b90e80cedc297eb527bd3e64048b30db5aa5cebb427d4159d89aaafc3595ad9496b3fb1b0d3ed633dcd0d9963c854d91badab7a2d28a877dd3d9d702e9db5d6f6c8186b9fe87c5f6d4ccc690c296387bc0c9c67bd9dec3ae951aa518d6a54a3148a1eef4cb476b3b6d11e1ac3d3ec3d195ef69926dc63efd16bdaf4a806a3354e3bd162ae614d52799ceb8c7b0fe9b51d7588a6653a64489b34dca3ddbb57ef0d69631ee62b2830dea2d5d7e71934f5ae4bf94911941ee685ce8051b5a724e94ebb5bcb2bdb5a7bab5dada5674d16467ffa76351937e531aee931f78b0d73b38bce1109c629ce136ee502d78a82b38b9e5fc1d945e550aab5d65aebcd54bc0aa63eaedd6aadb5565be967ffb6da6d3d8aad9f283eae8fdb285f8a0965bbb5cf40f4b416671f776a43fa7463ed98983f2cf4250b7376dfa34c96dfcd9a376fd250aec5a524f9a6b59aa969da35edf34697868ba03651c2bcb8dc7bd775b5d6da63e349ad5d37d4f97ed6931b3247f7694fe6ed6cd7d91f20268dc6a4653aa4e7e44c74d4ea3bed6edae7a699ea8ea99a71a3fe44eb7e92679f08e9ad66dc537f9263728bac3fd16e37734cbf781d31cfbc36318cfdb66a71d134edf1f1139b72f7ed990a69d3b99b827be24fb44f7c43da9071948b9588f17cbedab1b5b0f99e0ea3dc9b9a8c185afc8d99f1281449adb5564b236d985e2d4c8b37a17c46cae9326e8c1b733718302f387f1ece2818289c512f5ce0fca9c4586bad1ceed1deddc0f799adbdc33dda4d31c6186b4dbdb43c1dbe216dc447531128a4a2faad7b3e79d6da94bde79a36c5a3dc6a61dd7b2c3e395704b5d162bd87734d6fbf517f826f481b374e57abb56a37a48ded9e56b8972c821c9c0be888c0c04c748771ed13280245598483c4e80a2092e468a13aaa517283b45a124492cd16a8c7dc071f338ee778cc3a2e44131d3ac02b9526d1ea4aa29c7b04cea51162751dace7a8c1d13a4a878dcd83a8d1517355cd0f38725c02bd1e2f836efca07abc9cc11e2f850401c4e3a5133a1e2f87c41e2f9f10e2e6f1120a9cc787d779cc3907fbf1520a1a3474ae449ab12b61f775fbc699eabbc08b43e3e6e642c8e8a00104100f4246a5e33f08f11b385f0df1f8d60f8f8fdd78fc4ecee37910113ebe87eaf10cd0797c113c1e3f01d9e38d08e2f13e761e7fc45465947f8fb1f33cc20e3e1ec854e5247326673cc07b7962b1efc404716557274675e34ca98ae24ce5dcf80f37ced40fe1b34e96e59dc7d3791edf3255597e88c717dff1e8721e0138caa38d7f8f345f7914c0593211186f797ccd0032919713e07106b9e20418c0952eee6cb9b2e8ca20415702edb843f0dcd595ddaa13c2f85c993830384034d07b3c8c1be90c75f118ce2d309c512d7fe12ce3c239f516ce352c9c6f5a00f134f136e20370e7d04cc5bbdc2964a6e25fdc399ba920332554446d6a7cd2f854798a3d000ee28c6a9c532b9c6f529f3df020f3893f83b8c139756f83f34d6709f41997f19897c7b80a6714cc81983538df04f19bdba880b8003e6bfe03ce2d3d6fe01bcfc139a6270eb6712174e04c2307ce352f8e03e79b9e289c75340ae79f467de60619c151e3061989d1b841465c2a37c8480b0037c848a7dc20232b1f6e901121eccdf1ff33de030e329279b2acee78337478701ee23b58894f86f3ce0c594c279c6177a45e5889cab3a3071e3da8787af87a70f1cc50ed18e23c33762ec34ad4193c3657cd50f1c05985b3ea3b66e026663cc8c8103813e9e13ca99d1e2e4be126683cc8880dce4466dc4635e3aaebe0eb848ffd551f0be237d7396ee244528fbd5277d5789091207026f20771f3df5c868cc790b1030e3292c30cab312fc62bc459e731acc407c3391603d67ab96258190f2056a286b21d7676b811eef0edd0618c1b329d8731628761256a8cf087df88716307e71b38dfb82c066e22c6838ce8e04c6487873cc476388c07dc04001e64e4079c89c4f80f3762fcc65f58c6cbf5960cb0ca680121a3e62f19b809194478780be4e1adf2202340e04c44c681a891f19ac7c41c2646071c6424bb32abb63c18d085f3eb2dacc4c7c2b905c35a818d95e02c4c0647079c0ba18310301d623a04c0a5c3a783102e0ef6ba0ba6751656a2c2b86c3c0030319c038073000e83c14dc03cc8c80b67223adc25d3d2e12c19dc840f0f326203672230b711009807e0208e01fbab189c1ab312400ccdc118dc440c1199af70642e44ca838c080067223117004dcc69fe721837c88812dccbc5414672e79cbaf27084789091c619fc0a2bf1e5e0bc8291a34308ac046759180719c9423cc7cd398ee3e260ddd675e9fb5d1ccdb9b0c0378cd573b01235c848e7bcb80b8c16ce2e38bb9c05033701e34146409c89dc375edde760dcc4cc838cbcc099088cbf70817197e36025b826928323446d222f398e032b51838ce8c0717ace8b3c0e56c26bdcc4cb838c088133117c1d36073e0eacc4d74dd8071939e14ce4e527893311a1832f41dcd8a880a8f9e18600686c04a0c6f54ee3d603e0d6fb70eb676e7dea9adec3ddcec3357d87bb5de69aaec3dd8eafe9f76eff3df98ccb5dc63d798ccb3de69e1ce6727fb9278771b9a3ee49bb5c93153e6005937e713927085de1072d2f85c1078cccd0a76b32c1144a5f68172a6fb967b95fb94454be4b24050399a077944bc4622014f470a43346e44fe24f770271a62dfa58407e16e9f8b903132e7e388d7600f042b7f56c1886eb8963b1b9cf9bae5d192d875d6a80f3f62464cf9b7e34293ff0efc894f208dda89473ce8fd20e24694343d086bea40d7ddbd29634e94629d586b4a14d9e6ed0699e94737e1f4ad3e8520be892364f82d02427be2bba2893652085e0cb5c916fd65113a245e8cc292ee918a9924aa448a28c384ece7577518e5094a024d119142594a59e9f9dd01548288d98887720b39320d3658c2b1805e904045f4e21e26ddbf541953c5777726a5d3ea8756d272693a9b74b84a54bd2b30b325346455f27748428a53b27841b9a2a137d61416d9da6691ab76d271ddd54ea49d7517ab5cc159db46b33a693ee44e5f39aca76d25193c9ba4c74a9051d5de2b87aaab5ca47bbd14b97f4fccac7099933939bcd141037eb36dc759cc771d6653a014ea0f72e4a2965ca50776e564f58864ca60ec46b43f8b6cb6b9aeddd2023477a9e23e28af47c478d94f444eaa932b9d98c1a512397201388e922748ac2d6cd3a2153957d68437df2edd3abede1ce458865a8fb5a504646dfc9cbf139d1f327eb1aa209cd9f7839be142127d615710e228e9ab4b245cbbca2d4f24eb47ca64852667446caa1dbcd8e74458a7c437a9e16f9702744674c445c845266532591d03aa7cc3aa1993acde1cbdc4c1ab908b1cca6ca0755ea1416efb204892c4229cf2c4230962053a26874a65cd9282c4253653fcf128465c85a1c1f55ead574111aeac971f786080390a1de6e877cf234a94d18a049dd8d2689334d6a94dee873caacbb2b5bde4c935aa6cc846c6fb813b234f8f2cb9250183aff6529e2d85e5d6f98be2cf53ced2e34f341937a7be166114506d26462fe984c2939f450743299344d3b755a7cf90b43118d94165fbe91c29753945294684e7c70dde6ad52da738ac64d9a7d6df2b48a75dad7f61611fad30dbd895934c771b506afdaa6dc42821af47cf7d22eb1e9ab4982daa8a9cab2b609c31cc51af3a72cbeac03cc51cfeb50a4e75394628da90d29c11c692913f7c0714bba2ec727b76ddbb639b7b96d52ceb9d16ddbb66d93739bdb46e736b76ddbb66d6edba45405dfdce8b66ddbb66d73dbb66ddb36b999329da7dbdcb60dc807be79bad16ddbb66ddbb62dcb4fdcb3828653922fcb58ea8d0d4f9c927c3985a8e7c6868d0d4f684a40d1f4d153d39b5a5128ed2699d6ce4cd16c3d620d196c97355ca862f84c973e645ade1843a90f99d6360cc834c53d127fa66440e3d49b3411216d1ba55550b9a5c41a93de9c9224cf98a518cd3e9962b4c968d2f333826600f594b1a455f16dd8a548ac91724429c52947b146ca153366294733c925e9ede6237dc5b4f96e4e39d2367a1f5b1452f4fc9672a4674c219aa9a955f1519c39a42abefcfd9021a3e525fe620d584ca71cbde0cbdf51a710a5441c9107a46d497469c203900ae4262f37d312d3921a71c4f4ec9cd0843e95219ae34b1122e590102766730a990d7d8782882bf2449127a0183253f3ef68104a674184689ae6c229417c6c29b38bf312447dff5fabe2fb57f45e9c22e445ca1329456aca901427a44c1992e244ca1329d675df99569684ea0ac7adacacac2499accbc50a13d7ca12b76279ac24d19914212943308f3665c659d7cb3b2ea2fccaee70e68e649eb5211d6407d4324504f3cfda8c5f7cf9ee74c5875feef2f25cdbe5e5f96b978c6a9797e7b7cbcb73aa5d68fae599a65d8ec2b8089d99bfa261c890cd1ddfd9336e90117c111c9cf1226d8f10a1a0a05c20e6ef95319b298c7fef0e17a7cc7618fa54ee958df1d5381943f86e7448b33cbf3892514467e665ae8c237446c6109d9932865cb868911164cec81072c297779021d4f33b3499aa7ba5a9fae777603255f8f33b2c4dd5714a107c5366332564a65ec03cdfa4972b35a18fc992e7432acdd4c4f7fffffbfffef7f8bff8f83299a9799334cbe345123a9394a4619e650cb5c9c35776f75377ea4edde9e4f9c551afc814a133b2bb1cdf0e57ec9064a64c3b18c51a3b14d199bbc55512fa621eedfd8df1193782323782f8725a50b7e87059eebd4933c5324467a626d4329e6f928b2bfb055fda2bcf2f4129bf29336eca4c4e6d33458e722879039d2214d3b5c688b9294279250909adb38ca18c8932bda2f34b506601ea791737d3259d5f8290d0640ce516959b512c423d9ff2121443a9e7ad8c9b5796b256a4738a1055d201a9ada8646b96ea6341ed18a2111908008000931400203010100845a3d1703c8d3351950f14800e92a8527e581c67414e21840c21c000000000000010008830a1044cda283b89b023f7d86a5faedd298f380e7b49e8079fa1fede619ce405c8255b4f01ef518783c5696dfbe50602f5a82884a0cd5d916aa77a2c738e4c2ab1b8bcb9719cbdaab4a6c4a300f269d07b1d5e24f9196b80f64f680faab1a3b3b1e4e1080ea5ae30245e492d6eb9039cdb60c3962c37240e9e535ce663c298c25867f45400e28516c2cec0e51541fc3ddaa6b74c23cd6e505bb73714861029767f5a6114257b433dbb2e8b77dbf29dde9548d2f5237061e59c52da1dcb534ea525d58c12becc7a84416dd263515f844e04145d0d53d08b20e0c4cfcfb38214c515034269ec32ac9ecf08508e2949e808dd327a05690ebd509f4952781891924e780af7c7e0eb68226e26fd12b1e69e5f9ef17bfbab99790c4df6d5e41a6b388d3b9eb45a36af8ea59adb4ee0c4eb1cb30613a4c001a19b66e072a59d6df6d0440fe13a0b5329a814d1ba1640a166b0cbd1fc42a3efa982c142e6ede7704b701361ecee206a426f88db0d40c3f072a87f44dd86a762c981a22bbcda89653b73ec6aeff179c6dc27a547df18f7b30bf135c8c2d178b2c3e5884feb82eb44c1f5d065520d9973d0e50167aeed7be285eda65353b4875685b322761f76e33cba5a5b3ef379ccbdcc0e5ade4695399b0adb3f53d205d7e380ae28355cc2042f814020041c320b42b2bd2502fc9a4bd84a9105ecd40e43c580e525d4a0f33f976278a7a9d423555ea2d3452980185bc04b315ff4a45805c8c6f631048e2f316e0ea4fe3dbf569d35cdd834dfd7af7295821e6b04874933ecc60f0bfdfa3d214d507ad8a02d2e473fba3e194320afff8ef010dafd7563df66b7d89f7eb96cb14b637ea568b7c892cd3e8bac0a9a45ce6fbc717c104e437ec52698dc1d93851d2b4ae833df9d5894c4f76b535077cc73b14c6006e39f50d29d58beef4a4896d9814610be20ea528effe9d0eca11e6cffc486c857b31a37def0bb935c3177bc3c66dbbe4a0ce1f9403bf96839a6809975fb31c40510311972170182980ae13e194ae234aedef0068ecf910ca1ccac626436c5dcf8841131238285c3f3f64686c42922061e5c52fd2ea0cd989d30cdc0d12118e8666557a0222b4eafa5717b72b5f2b2b0cdbe971cd0d5d520f9577e18592ab24a56e495506275e69e21d497c436ecfcc2dc3be64871394c671156a7472923c7d0c2ac42f471ea996879eabfe3d0b2eef5d4b7ed852eac29317ceba0cd8bb4d46a350cb3bc0aafbaba2e00c7ad6ee4dbfaba6dc7604d1dcb5928f67b01fc62793a32954920687b3a70da742bf2e7773e6b352da1daa80a651a8d3e0b4c76567fd9aad510fa4208daede2ed3f2a56192e8c80325324461385d710eb1da9e3bf3bab5f9650adea99b3d4de5c6ac61a7c1aa074e952013d679cd095683ac0118cc36a2cff301dd48b403a0dc7528298327533edd2fed7a3b289bcd66bb3ed738d547c321cdbf40f81cac14a0dee429e3376c756582c0b9d3e4ad9e6c950f3713b4ae840358cc21e6db0448e45f8e082cdab2eae5d5ce905889eeee2eed10735d3a3c1dc1646e32bddd8818db4476df15977049d3fa3f10148f9736865d785516baa514fbd8fb4826a3800e05e30293eeeea20283b2ccff967c2fc8866fe6d77f3c9fb41b45ca8516de155ce2bc8cc1e0d43f3af84820ee9b69316870b06dc4822c48982a33def1a2a79780613f8c8cc0859492fd4038e30684cf2f96fa67485aaf63eb5e2e4d84a61b21c90c4a1df480b2baf62c5e454a34bd06e39b9ce8454098bf600cd1098a42c35fcc25a4b8f5efd4f3b9a6f067d8973a505ec747e0ede5f5ef876149387aa3ba489deb82305d5abb21401d02853eb52834df56a23ea85254cb967795a5543fe6fd1089376b244d62b84acdb6063b4500a94543413b0dccf785c77b4e5673d7f03c287a14adeade71511fca981a8bb897e652a4dedc4ec86ab17f7a32f7a7f505c2fdd7c8906d15983464bb5287f666cbaa77985c0d05cb01f0a04c6169ad7011ced63d544d8e3a71e50ac222036387347c100a845c437754960c6b1d4ca5935e3d6b250e0b8ddbd40dc2a5858d8e024a8e881b71d0cbde9149b22ec826a5e5da3622779c12d22abc4384338cb6bf4363bf130781718caf6825a11557a8222df846d51abe3962dc187428185a3f5486caa3a8120d1ab704279b11f598151a2b1e4c3e386a757d7094a2c9347299c414cae63b9ad78b0255e2d2e22094d14442eccc341d7c647828cd82bc50ca3747c8caf528c7bf778ca28296c503d8514f94bad574694d9764d376f6c3235078d63bf7fc97b802141accf49aa818b8612b792fd5a27a4e3bac0606c6a49500817559b1356cb55808e0ac4e2343280d58019eca3b91480ba715212babb76010cc88c188d0faeb292410a365113b1b2dd883660ac2a5a59ef23e1f2b2bb1bfe46d8508212abc44c6bbc16c8435cb6b018392e393308cddbda33201954afba9b6e9faae87256aa798a4ea038ec754a74da934c79a0785165890f5d51a10d2fe9695278d4e80dff9ce00b78005e6912a409a9b45cc0eb8e11270efcccfd730efdcc56c35faf0c6a8cefddfbe0a11659f1ba376ba49bc39695d5d503d3724638ea5d1ac55c529d7d7b6d2625f177311efa8a1067a7d4072b9498b212ab238e105468e77a853670d39bdce0715806959528f9ddb726c1ecfb4203aa0c006264eb0c2893c7340a5786fdc367c0a109f5e5e85da696a28626f7f4b5c60c0dcaf9edb3ef4357649aed03c1c4b35c4de5c2f0ca668c320b227c486e9e73e0945d3129400711625a842f09486f7e6a2be290ba5e6d265b320eaed55255486b5431d374a38667219ed9039021adbc348a31eda96316ce609d7be6cc7c29171b19547fb02709d1178f6bfd1c63c680e396feba7b0633a15a1c0e3a835b7815e7116e92a4f32138638a0a61dfb7306897ec068f53d229b748dee61b6df3b3e5a98c7cc1a6bcb739c992c8b3c8305644488e203afffabd589350660e19065c293fb32d7ef2d3d226dd90abef9d2771ebb86d7b1a90aafb290fa04ef988ad01bb2f8a541c00f59781d397158ac87ed43598a6ac28814172f21f1f66305c4d844b87e317f999404afceb7fef2a9c30cfc8aa7510ebe038ccf152c77755a6352d8f7776a263944cd06fbaaecbbda8830aedc058d363f4a702abb976ff0a849a63f4939de7dcaaf037028dfbfe27a353ce728be3734beddf45751a13fd8ba6a2ff0a2f824b3d5274f789675ae4f4a6d1508855052ff9522dbee19460946f1af834b5ee06fd94ce184ee9f8cd90696f80a50bc0b01fe2adff7fcd7b3f7d758e49bcc540d8179431e0802b5644b5ced83fec0c3900647a7ca0eef710436b9f947c810d205d7975b0cca55b946322620e7783143cd4ecba96347b9b03ef6cb6d0f38ac366565d718f67634fc781f667a9b8530c3eed9de4ead8da2cb0a7e3a1329d5c273bea511e9bab2e304ce8428d30ef7632c78e703bb0b1c9f1b7bbf5e049fdb449baac50beee5f55a8cd30efacf8a91cc7d13dc6e7e628fdf277465b6c7b0a3fa3054068f6c9e30622bcfa61413946674980c1bc28d02e24a1a3f3bc8d866e96bc22e15f844a3c17757ca3c5e0b38a574563ae985f03f41f60eb1757f99371ff5533f291df7ac6fc80dae398e197ce9e97009d781458fb3ed5641d31af109ca3877f5123ed2c2ce984dff4fd568f53277feeb55c123c225b17f14a61eb9fb057fd7f4dbcb203a0c0dfb8d255fde14585acc36fc43ed12dde839fdbcd1096159a5a30ddf1f0acf0018537d4cac8ecb8123c8a43f07a5f9c8dfded4c12f6fb54f988effdf004e2538152e26edc018803825ee398e3ed4e9c57219d78b85ffb78a93d1d11572de0a39f7f31479a20a8ef84c10d9def176cf275e27f23cbd5e011b3758997549efe717bbdffa7c44bfb040ae48d2375d5df56acd63aff46ec27dddc1ee4dc5686b0acccd4dad2dd0fce121f13b4412d7d66c795eea3f88217fb62ded86f63dab0afa7f247acef472410ab0ad4d2f7e38e400c106c35ce28deeefe3c19d2c5c7d1da974badea88baca011f9df8173fd2ce0201275c6f9cfaf43ba85e3b8b129732693802b46a505471f863f3da6be10256e3f655a0640ac470ec1d15613211f8f176f9c2344d510b9e3afedb1a2c73e246e6083d672d6ddd5dd2f9146bea1254ac83f94f4d31767729fe88effef034c4a708a5e028d16c9c0c1c3836282df24d4f4253fc6148973baf663a7bacaffd78507b19912f3c6f231a3f2d260c60bef34d18b45ed27fccf15b51efba3292e37a8ca2d7c4b23f4aa85cfd53e3253ce7055257c347205149d273ac8b476504b3df505768fb69b5eedbcecacd2dc6c970efc72e6080b55c38cd92f0e9c4c6175ad323c6ff45d8e47f292b14a07e3ec4100b580d2a50f7806aaac7a2d5a817ceea35bb94a6943c7dc03d41c9e0eab934713e4e1753eac95237e4670612a266530072de044b3059749d4f35127274057197f0cd448c7e52c449cc449c3b3d76b6ad51c240c68106cc093e51eca6c8b9443df3413e26c286b39b16e6550104100afd24c0318bbdddb3c0ad2854c182a0707ba1dc88f0416b1b137e586e0f50c0f6a65d987291df330fe8261bfa65c85a12762c5fbe31a5fb1f4b4669609163c73308e4bd7b007d7e00c12b48b1d1c6fdaa7596df6d1012b5a02c9bafb487b8a9508906eebd2176db21c749e20abd1044d5ab1a928f6aff4eebff5422cc4827791e619fe032193ca0b5e47a08ceff968202448c899f69b57d8435c67f457fff36706d97cec100afa7fbd80b99256c3b5a07ea6b5fe7c74e55ec6278792ef7fe98821f86eddb09a90f9563036d06233ff6a022651e1b0609a600cc583915f3991d0bf895c5d4ed6909b8f67247165aa863cfbc684442a94d22c30d705c2c06b8e97d831ad0f64dc7fa7cf03a23450bd5ba06996b4257a58a37ff1795a5c20c11bcae420f072c691bded145acbf5213536c18c6194769668df3cd9dd3d2732b9bc72ecfc112039fb87605e039db12a2163d3d7bed4453ac0ea9a51881378da98649560f0785b7c6abf8c0f94b253678bff997a394ad97706259a7e42f3c2c482336bd9de2d4af0d03bebfdc6ae9985201538831606bd638a7bdeae8a7902a2aa0fabd23c588a3c1e63cec1986e4ab04c7d49c22c9af888349513dff9136ecda2628f88cb58cf981a740243b792e197259c615563f6bce6926cf7dc82721994fc9587a731ce6b65b6b7444c4094c14504be2a273980feb59714b5ac43e14869e0c168bbd9d002ebd35f342032fbda5898369f99f993ac40c2b581f65c09533078d3c6b8313c2bb9588e7c445a19e296a0eca2c980cb319fa330404e390090474b8286d89a3111874c246adf33d442671be9624e5ae8879a2e12703a6839d3e91be7ee103362c038a4a642f04e1a13770e399db5eb44e34f16a0ffeead3f91836cf6d1338c2b3c7194921f5de52417eb731544ae5fb31d56b4efa8456feffc84c871f6ccb0c1367e25fcf0be2954ec7a2b54363236fbd366fba1418bb08732ba7cdb8cb1a91a2f9204c2687746814a1252c841f4e7ecda0c6af3f4e8bc137a12ee364a5ca937c02a6fc280a6315c2bf895adbc19995cc0a27348b4ad8d19d7c2ace8c67a5bcb7997304abb9940d7d0254e3c25bdfafce12be4aa1d28ee97157739238c4a8e034ed025b2922e47886c11abbccd237d92a6e308ebcaa7c7247d0d0729494ea7bf1da1bf28532bd515dafbcbbafe319195346a1a8a906c115dbce13e803f62b54afb034fa56140d41fe09fc002bf264423c3b05b71e316e9dcd89e3561a22d1cee615f22cce0c079528267b92abdedf87e9e5841aa5e38a18ded5715872a5e9953aa58495d869437b629593aa0f55f9f4a7edc10817fae18a389c272f6734ff0a4801eac38d1b115c42652c55be08f191022582700ece6aa22842c24380814c10c12a08c42242874d40bd0c50c39b3089016dd97d29718e03a1e5b0bbccf8384c95d0664d47dc50b28e27389e78136ef06408420eab0a1b11f555f1be197ede35310cbb52fe9133a6a45a095d6ce4d33c0ce0bd70010de554086768fb5b2b7312f311e82019007b1ff75488046c91c49d117c45076c54f1606a94feacb750beb80fc08c0495ba74d6afed0ede9af5e04239ae3ed955cda0cdbe21aebb560df1728509aadcbe7757d73078323f3ed43ce0d795d2499b43535fee7cb11284e4365371b2c037af366c3f8ca5cb7a47045a6238718c6e5440e0c4c0cdfb023418616a6043be4d719423099cf5033e88d562805b7c636201f5e987691360841386c048c2c7ce64b4a530438a562577a6d315820684019240163d4d6bf67addf84653ff054b21253a4c9ab4bf6cd6cc95a984da150d96876587fa0e853cfe19f36835805d89c8f2c029f8b70bd883c3bc37d3b7e9a7bc15e0ac43c4b108c1d66291ea9cb5381754ab724789f88f69eff6645115ac160b975b1955bdf1daa0116f07b534cb24e808f128ff918191d02ca00db2577f0716a5a5b4e815a6436312a9b2298bbb74421a4959ed9fe0ae53a6befd7b2c3faec69c8b380467b8b50d2302986a3eb6cc6fe5ba4dfb1913db850006b2c60739e960c02e36c843ce27f936e481ec83f400620afb0745a245e073bb5d9e17fa00febfa902006476289d9cb21423d3e47ed4985c155bc05544685f9171e1130aa9eac92ff91233b11b5f6c0288a13884dc3202840433e9cc5599a5645c92164d2474e9a0d43a31f25009d780dfed4a390c36d1baaa60bb5a34f88db912817b34b8adac87daeaf49246a2420e6e39ca97353888ac478ea2d3563bc0693a9aa9ba969a4f8e7aef902939920a6007b6882a3ec68fd0c7eb8275322e3f70b4737fa6a7627fa7c928ff0043b87301d2b2a15247d0330c819e214ea90821054ff81e603c8cd31fcef814db99a31cd9ca2ce01ce7166e328190de8bfbc9831f381bee0b31facd86d39377f36faa27bc8600275bcf71c0568638dee777f45d30c79fc128290574b7ddfbeb451352a821124e92ccfdd4d584a420388ea58abe2e46950b361261dcb48a1b803863ef8f8b8fc6481ccb505749ae196eab04492402164c2b76aa4c28702a335086f0eedbf8ace7a7fe7163025ce259a515558cd70609e09a5191429242022c61bd4106680ba657e7753badaf6e03b3376dbc5d0b6828da081099de7b8082b906e95b5f043cd6ab8e6db9a04f9c2a465f1c09b8ffd82a7928955a6458c4ed5e090593b1b19a241ddddaa9b66cf85752594e18db532aad8e9a0404a9f73cfeafa8f20d2dfb063c0f5493d34487442ac95503f35a8a5d57d9894bdd3b84ffa67da495ea0d7199b435ce7f3021fb8f06dab07a1c9765485811d60782cc11bdac768f38635f2ce6cc63b80496262100a79e3ea8a1661d59b9b78e40a5037c6d5d82e4700c76d44f3304637ecad55616f32cfe2d539ab003a19760b7e8a8747a9b09c66d6fc25a41ae9c2bff849dba64caf5a46b020ab67bc25f0bc678870043efa3a92ce261c722e7c4aaa683d91476bf2bae35a314b167697bcc64ad3fd5f1519a8864ac73c1e1a9c8a04f8b4cf85c91010c1fe6ed99a3c4c921257e7b6e7077c5aa25473efc09eb01f51b20d4fca92ae453efe1a0f5ce2d3293ba41c1c8aa7d0dcd3d2a71f58638481ab4a96418937c78d6c495fdd0696e5d0098fb0a8e3e409a331b66140c823fe08660f4488b4362ee3dec51f7f7db38d4e87a5c305ae9bccd4b24dc654f2023324e29b7c1a7809521c7424725fe7cb5ea25d94e5a96c8e40cf824fbe5bcf34837d833e4342d305bf3b1faab16575b36cee3755f306e950b3fec65935840369ae1468ad9dcf31f75eb1dce9e005eb4ae80cb2e97fd1bb66f254c8bc0ace248396dbcd2b0318792c52bad32ed0b3746fd3a5dd3ea11dd085fac174ffa5fef43dcbbfa5769f06ecc8663b1f76fb6f2bc7b76c24070ce92cb07339639c2fefa77cf9932cfa43330afb8b14af33c4d1d130388957dc1fbe1c306587b8b6a4a1fa15e70f5ea472d6109e887b97b6f951bbd060417f9ce0c5ca4cca34426b0f6b01f4cbd905161aab79900ca3ed2112dc38ad655f045ac17d60e325ab2d97772cd716097aadb57512a3be32e90db197f3ab4f8d1c1ea3850fef3d9624783c199105b3524bb83a37500232796bd8c8107d23b9ef66edca1ec6a6e8d59e7851f838747e8543ba2b4f89df219c680f8c4191ca3a1e4ed22fffb9f0084a14cdf7bb60243b48c4ffd94e8d20b14beec1bcb090fd3451fc7f0096b831945d1d88f1bf3cb56f22fd985ca666310870571a1e929dfec9cce1c140cfab85aae5049aa35724bd1b31ef334c013f9228d740d544c94cade3fcffb9bfe172d023a2b9c9db4f9e6555b6c2705ae7b794ba42d13000c0e8a5529bd1b0c13d2f258a30f18936451ef843dab7fe15ca234e48785cda0a459e9609d532db5afb22967e4903570d625144063d0ccc129058112bd63104bef4a31a848e5cb157d47ad9853e0dc6b6496d21b83cf19b2f134f0afae51b64528cd84feb31daf58d12785589cfb46b788bc7764c589440d966527c5294f486a648087232096f8b896cfffc29171e7e73b47ad44ab1e82d793f2a5619ede50d9c88425d2170a11b0ba84ee99da1f6b0fef89cb4d7f290a27d769d67a8fa60dc13047010a56ae64112aad08b8c16e6fbb37912470463e3075a5e8c6e75cb876cae9c54c7c8facb313747fba98fd615d3629b5e2d764da4b4b2233d0119c02aa8bca8102c0dc7624a1af4235db0bd0e466f1f0bd365c59f36b6787cde76e1c8d0233c27a9554cd7e88d84e9cf2cf2a1dfe9df58f26e7e742413d44076a37a67753dabac3e08b7d0281f5725c7d57ae48e1dd2221d1b342ebfd87eeba79efebcc9d17572aed6eaeab409f361647389a20cc2b5ad3ec262f50a5a2bcb4cae628eb61e4a6a3751b955638889863fc810dc6f8338fc4d38a83f3198979a4ac57cd8c3c8cea09f7f90544433cd229e2e185e8a91b6ffb1c373dc27ae101e1f92c874716f4b2e4c0bd456a69003193974134cf2d92e87e059e0b2aa0a6fa125b1a62013459986296a39a607957825c654e9f504b8336348cc93922e5d21570ba45afae3fe8532b214c993577c33dffbe44dbc4995a6d727c3fac366d7d24b47ed79a95bcefcd954940d3d4efac19aa065e77aa8b07a704b3b8df69fe8f703572b380fbb9b25cf2d2b04812ec4138a3277a08a65db3332f0a466fba90f76d65a6fff1ab7cd73832f33fe2e5800a44c0dc80b801b093796c3767b6a7703a902a7f8ba695bd6459d09a5053350c5b41542f2fe4553a7be64fd5c116ac2aba423b364d1a930720cec777d20b3000b0a92b110d7526ea1ca6cb227f3023482bed3946ccb668a33cae0fe19505acafdb6d71539d2682ad3ea73e8794f24972edc76f653ab61666bbc4d62445ccadff41a853978dcfd432cc054c95d184b19ee24787b998da4e342e67cd456656694091cea520cb63c24173838840b5dfd86ce364f6c8147b194b48b27bcbbe71bb3273e492d5f90e89b134fd0ca06f345574133ecb678635ba8c0049de7f47c1b6307249eceeb7a67a035ef8bb59033a6277005c613fc13438de736e5cfb674b1f780a48d2443f880a2f043dd0a29fde7a31ca88afef07725d2115cecb44023e428639e521926d961d6f041fdb3cbfc6629f8d0b2915b759707e67785d43712a604114299f0cc51e8b596ec5198b4c82ecae142cd09fbd91520b212fc3a3c5ecfa246c83cdd72c3049dcdbd288d189eafda97f9971e7f72cffe7551bed3ae5a4d41b49758d36c3e16675c66cc07b71df280acd52c94daddbf8abb24c978ccebc4dc648981f711e60a616cfae092c628db55f981df41a07effaff4698f068895593c87fe2de16aaef45f585657ce32e5c8e1bdcca1f0035682bb51d9219aff653931763d7425348752a6ae9d0f471f16473f6aae07cc90d0614e12ec8e4d13d71bfee84586920e89187bac40aa07b228d665143afb4ad3f3b003f2c467faced87b26092f34186cb47b7f807b548a49394460eed4e340957342590082dd3523d2549e95c23c3d1ad089a3b384de4cb64413ff9e892bc4664f0fa105f572cadc8411ce5758440d9cd1295b05a1e4b6d79030d5ab13bb7ba9b9c70b68ca41910dd709174e62d08a865722b5a289c26eb9fae41f3420e0583140cab37708e63db88cb0242a848e67c7818d514826e428dc336f79aace73c75907a042aabff1cb43a785ae4b8c02879941ca8c6b4ba58aa0d4ad0f6a815d2f40139975e2e5350887338e98e898313988a0335b6dacd8304061baf2411d0678e101e30f7105d77bb2d3ae5bf7c92a4571ad57933c33ea8ce61f8eea22115d77152255bb87589e05bcb6e7c438709d9116bb914fbe67e643191b798c528efd425f5f368b60c8c2f9b8dff363986497379b97171a1470e79ea5468445a550d2f9473e2d326e7da946ff709ffbbdb1fa48006c0987a0c38d06191ba172a9b4996c485041de564f8e73df7bd41c258c162a91e2046ff8964146625a7ca4b0836d87e0289f2fc8dad08fa2160909527b7a0c53d80a9bd7f5419790cddfab7f0251b8c1f811aeec2e2e7491bc784289ce09956dd3e250518f92ed1ca0f3e82807b53b11ee36142fb10f7c1995a138a194ad8a46d8bb6b7399fee06d62e468b5fcb60e0d2df691f9eb4f00ade9fbc967e16bb5c0dff3b7368c44aa974442c47a2d91de51e21f26ba7e956c4c8b59ff2178987ace0818ac12f5ea79b0a9a00a3f6c88ec121df90d5c29f3406ffcef5aa356c6b50f0e88fb4550a7d33909d8f061400bfe49b9deab392c15aa43b0626e4d6ad35dd17ef9000193ee4805f64e28c8b8a569b43325ff99a32d0fe5010ebbb95dfa5462619ba26290e1d1f230288241937a23d6fc419e2b711e8ac4d7d9e6dd990561924a81f0bc6d07e1d941f638a49efcfd7688b35f0021fe4623d2c788a41840e36e825c12ba4b8e1849244d44f5fd7bb16a2896c372f2b526d8b5325c47bf2f024cd1009447f4bb77e3196a991681d9e4e8471be23df720b56cd491238826a1e0b4eb466bb921f5829956f797d717e46da647329e79530d585323d598c383319e307a7e44a8bdd8da40714e7f99088513d4596d3d8e02d25e878016eff0eb446d303f6e78add786eb82c71488527af1e8a3cec5ee5a704cb6f1a37bae40613ce9eb18b67f8468f7042055ade746c3d02654302345b7d1905e9ade0a57074bcbd3e9803248547026a8eea458e4720226b770dc7f932eb3e1171914cb1f020d176056eda811adc55d9241dbffddda2fcb5c431e6a8522420ddb9abe8856b20eeb6f25c0ef24b18e5fa62cccf8734797b41b4ee89f684b2f45b4098b0c79e9e8233426b1e8e2d78346a34198ac35cb016c2e810564079a1f3b419409ff20c62c568075de16cf3ddbf0f40ee7e2a3c6c31de91927aa51f080dd0dd10871f4c9cbe761c1d4510a5e9dd693a23e706dd5b9f81c01a982fc1cdf2b541e82581a0b662dd9d911437d422565a59b3d76229177963a49c1f7aa5be5df5b32bddd6e4139f1640c7a051e2d034b1b6e82b86ee28209f9c6a504ca99eb80f7e19fcc03984ced08d3abf67c608a22d8e4c518eb4ffdb6242ca1d98f9f72b3392e90b4dc8a4cb8a53b65e1b56a8a9f9e677316f86df4a97b430326c72af2a007f677896f54c54b0181aa8f0b7772612d49ac72667ac3c8c4a9d7682edd6ad301cd023da6b8ea65c94d17ea5de167575bd76ed38a01f7399d70854dfd39bddf50350afa4c09d24589750eacc4c79f8469d5944f1e5b3e97bf1f012fea1a3652fd5fffe7457ab7771ea061709b1fb933c3052c370490aeda5d45dfa007dc678ca47187e72769821a3e401009f5d1013424d687a2d11f98f4adab4a789ee4a3f549bd619f6b0ffa7be7cab34f89dcc7ee739b5894d5a0a5c7a379591bf2564716ca2d18e3f3923f79ff2d38b76d51a5787ae31c81f97eb4a846981023111d9a28d5ee7594259eea52d9ebb3430b06a2dd19a7a9c1a03771720026393db0ea8e2e7e4108f651b52fd299cbaa6b104e022cd0e9fc670a1e62eddfc25a0167d244bc951047b0e364a2a4d4a149bb70734ae6a3d12ed57dd73c09d351e96e630773764ccd00e5103a5563a06e0115cb9cccda928b3a280c2a58cc3e0ad772744b790d217514773cf99510be336ecf650a0a1643f63e125bbe05a821e8290f647e7a96e2a36b9dae98dfa3cebc3a71b84c12dd1ed5e11db61a227fac2d0ac4667b7e9d0dc3e7aadde44c3149d9593c14a125de18281fe62b586e78014d830a780437ff2e7a7cb660d435201666e6806a34342a1df5f88ff595813d10cf984b36068ed250e739bb1665e99f707c966f43cfd2e324584ffbd06391716dfd00425f0c90992da05637837f908bdd7f467b1d3de2d14ccddac56a7fa8a55500ff032b5e27b49d1d7321bc6364bff4dae7b62bd2b21b81b9a7a0888a4170f63db7b19ef9e4ae17e2a845667e1c494958c716e5a9445e548ed8a5e50aa9cc8321040ec125c9d2081e173f73c4dadc08a781979f10b690e478cb6813f4c0fc8cba203ff4562501951b7371fbbe481bf865e299cb413199077b01251a15c73d3db485e9bd2cd3ab756bcc8a6c5fd93eef30795758c5e7fa32513443f45555e8f36d648b1843f5d90a9a56bc646d3922a748dc05b41f8cf53ba9579c77b4fc5cf499368bbf4b61449183e2258db571f0567f6d43231817b61e961b69fcf69218cb8afa6214cb8ff3270a9bdc6a8574e0468d77e76f3084acf1795bea8c121e865edd64337d14317f9fc55543627190977075914b04ba284838a950c1b350cf1190a1ae50482c5d88874bcf29818f204aa7a63f740bc441b8025c84ced08a6169ab2d9c5fc2a0db577dbbf73aeb85545b76b7a9b6eb5a037fc6623a1877a649c1055760e58a0db3e1ca263fb14057f80c2420d5229fc1315424f68217b7a3d30763fd87528876237fdf6f8fa6ea2fb5853d20cf3b9b2699df43af32434884936e3bb43f2a9c8555f1de560a5daa31c9d8a768b52ce04421fa85b382985bb084492416d37795fdf0a887692535f533e5023af7338bb7a777e8e4c3b96564744c918adb4df8d7232d513da9c1f2528aa8a3e9c2182576b170b89d83d494ed0a01cc8d3ff8c09ef87fb3fed2f3c054ac6a37ee149cb43f16956f54a78aeca1159c92ebeb6f0dd4b9528dee9165c54f4819f927cdda630bbe49a1a764e0a0f009a4f1b39dc5387fadab3d7275c581e0e1ca7c757132818ef3530c81818382b384d9ca43fb5ac5072ac4db50f9b854d7faca1ae3a31e7aa944934ccb4044ef7e9ab09052433cfed77c403c9e127fcf8a885d9607e0bc08275e0aa5bd53fe782222a9e330686d9ade35d334a2f749e7a89498b1318db5bc841398be9e5859c401222f71b80c42480da05aca0c08b04f4d3f4461a9ff2480f228f22e2ddbd7fb118f04813e44c092aa072f6671c47a7e9a01776c92b08ed961e3326eabd385ae142c281f0870cb837cf101f944fa444bdec36ddf735669a55cbcb00857d6d52ee18296e776d8064e25e1251da1cfc20f530a2728a5b7060b2a022fa15d483ae7c383af2ddd7a0ab5d3f9b58932952a1240d3f1f7b0a503f36e183985d2797271f4ef65f75a01bb11d7d4f886b63c79f0a5020d070d6515a18d23319686b490c899f8ca91c411973ece6a6ef6fb6f24e6607b1073a17850beb8faae773fe221cec071f29f239d18171b5c9688b15913f1f5e72cb9b68c044989b6098cd13d114a9cfe4913fff059bbd4c51ca41437a0100ebb63da77225d204026ce383d401bba02a7b3973781a03baf4034c024b31a45d8c678037faf79abbe7cb698807c8d879889e33b5bfcdb02277aa75b8a0e4424dec59079e10bb210f855e63447baa4889dfce805caa240e8ab422fa76828484370f4ff56a1e3aaed5008d560b27fde689b463d6046bc6c7227c7d141de383312c018c1ab1d7c4ea3d571e9436c8441afd894f9632a642726613fe3ee1eb872cdee47487b10b2a063bf84bff0dbd24be9d70cc0acd10cc96b533cfe508c4e1be1b388a7ca9a60d1cb4a486f3060df25ab069e0909977f8725f9f887fbbbaee4207f894d46d36c1e71857c6c21ef424dd70755a84c4e8a332f6900f2ecdbc564f40f30732917c5c58712a8b3e74822311b88e25b44ea0f27a0e98fb449b680e2b6bc5b44303e07513533681af104a47662e3e7ce4e93f4411bb4db527d7759545c4d6f12b6f066d4a1ce0590b0246f3522560eb471560cd4fab480c9fcabcbc6de3755d9ddbc39d52854e092627fb404d6f9693b2eb94d7c1e8da7737191c75038de56ce65afb0d9bf04c74eadcf6922eeb6aeda2c28ee0c8f75040336e7458b78792d6c0aec65280a109e0446004b81415d44c3c30b7882bbce2bf045d3ed7db7f158d8872efa1d46df2c1481362565d9ca08a02d9f220a18beafb941ad2490cacf6c35ab97bcfb4f0c7fbb767f7e806a6063bde0a420046acb7013e67e9c62d06b702d98f6a1804440a0140e59ec11b89df4fd5b3225fc02abc0c55ea19b5ebf5aaa18bd2fd02eebfdaa119e72803148b74e0ebfa31616680ed2fc9f701ce0a1dcdb4a8f8a0afad141f9f251dbbf56af18ff6eb86182aa0584157c5a48fdf51f0157d86495ad831877bba3a54696e5e8b3976f5d0e25fedd84a185481c7f204384e5fe303bea0f8a290c468f8df10884418a9dfdd40112d5fa6a901c4ee36f61d2fa5217e38736ebb878f3e8f451dbaf7d6c29ff6e925595085ef8003d1acf61eeea6df24886d62dcc8d5ea723ac14218a4c52ff385d7bb034aebe2563ec52ebd66fda33ddb198b02211e7e224928e41c1cf5ec9fa19112a5dd94f9d176012aaca53aa0afb9747dee7b5be0d8a5af16ffbc5d42051edbfb01813f85273fad08b51b50b13689cdc2ebcc6aaaba14565638d4797cadf89a782a6305128de2ca371901b02d87660718b339ba8ae16c02f9b87a46589302eb6550ac92d72e7dee64395876d0a5578bfe6cd7f347b0454536376df94969701725a9411b93ba76050e77d62d4ab56cffe9721cbaf5d2e27eb6fbfb4b80a8cd1abd5b21013c393be9652b657bfa2360bcc72b0614f85adca8c7f0bc8610248762ddfab6e8aff62ebf043ceadaa4b35a9dea8bd867826766dadc9403730a154901a5561abf1f896c391dba7a69f1af76bd7e0889a2f5b217824ac223adb4a441433c8b07c78795d490542bd5a3f5414297e10327af00f858c9b60e3184bccde14968d9156f22b8f9c31661e21ec00120c945708fa3fe91a70da1f85332aaebfecc2286b0ceb8349c6d0ced1fb87ce66489f471c27086da41f0344eed6659be111908bfd105d955dc57d4d1f0a64315c89e1b651384d88f14d74561d053359fdbf4bf7c04ec81debe623f5260e0680405d0aa50abbbd597fa82bd7a29909a5ae6b8ab4f8bf2ab5dbf1fba0e01b9695abb063594d308120a4250cc7c07c2878aefe5092a0b204c05890ce4fe807f33f47c6c9216f10128cf00816a78a6ff7702aa6063b375a29b374a628122ba17b59dc208d89b4872719340749ba7cc57d65303e246d79f4151258befa56582f971bd96608195f463081c72bbbabb2418800bf3c03fff89f1e0af21c57bf5d161c9a983edcf3fc57f4eb695cc0128a527ae22f6c823c054f4164e1d38f27f801bec7643e6e69f02df05c394bebacb8d03145b9c4ac70b1488672ac295e3d7f95f5be570f26837f65ebff415dbd11fbb03e2ab3d4ad7e2179d16ac47a385ef47751a381009e5130f7dbea9d90ab2c4e2110ba0b069728de31240f205e36c551c7c88be36c4b192074d31ac82a4ea652fb661c20ea212fe338d4c8c0466de37d010c6c7125a3d10295bc285a47ad50abf0f4d0d6718e19accc5985615f672b2d39839da273a3b1941c1d19bffd0e8d5263cb4df18f76a459a1643d03f5080a0fdecae4fd7ca72b275738b5db250b5cc46ee649e3d016c1275301a43eeca5be635738d134d85d2884242fcffff5033cdd8f49a47feb1e60686b12e6247aaa5391341bfcce1298fa02c7610aa5487bcb1c6da1bc9f8467a5538c6d3b26e93975edf8297c94691b2e7d121dccfd2100658e4f1c044c879941ba4129c82b4b78c20466feab105519bb103d89f8953c10ce4f62b98172516fc207b64f0d7296f78df249a075a1579f4e77539194f6abcff57bd1927849b504efa405f706c1e4f6580b8e47e73465f818fd92530f1be47e345427ae078725d7214e2e2c5262c649f7df4f1c889c2ee6a6e2be92f4298d15a4d5d414e14ca313619c53770f0ac367d08e2a64e484b353465894c0e6b9e569e0d581dc4d450dbe3cdc2a1a9cbd0be999b4c27d3da7509a305b8efc7ffc19e9e535fd51795d69d22a1e166b6949bffece43b272f15eae99aea8ac54cee385107f2b137fd58b12aa594c0f11a9bb7d8aca5d9c6a5b3bc2a9000045382ae2c3ca7d871c75f409624db22e43e7e9d662ba2f4038dcd2842a53fae93db8ec3262fea2c0881773b90f5d45f331f34d5062da016564e4736b65c5c49236d0feed135dad8449896a434830baa39de0a2566d339b4d59cf3baae969b80ad197a76c9b10306b473a7e4bb9a740822bee67d18b7cf230f7a3bdf07fe10d41fedd5f4d8ce39af40fa57e121cc7cd0a96aa82896686974a887248a9492ab9cff58a46581ffc1dd8823c1fc918a0cb045df9143ce419b0578d13ededf14a97a8b48be14c679d4596d1b08d46fc493deacd00ebf224d2204cfcad5cc15b0364863a12bed70b9a3ea236946e63ae04f24d1f097b47149b9c3cab4fdaab81436bf9bbb36be2040f497f97ef20f20c9ac2007a20790ce53e14e075030cad0429682d411617e7e89c0a5861ef3f8672ece6ad1f5017f05926e32aaa237154561a924649867b2760affbfa62e0de934e02f8779babbbd9a5b5631501a0e09b12d46e34385b3c2f3057251a60ee66f1a5e0e3a8dee8bfef580783a59c6d88ed7d2497e7a22d87a51378db6f2ebd934ac23a6583f2820b2c40ed87e59d90206f2520c72de7e13080702b3d3509642c735a3a930a1a200cbc8536ceef70a55cb46b271c9be97ae6120c49a6067e40d8c1dc39a514e5d566c551fb7fd8435d06ff7832769ded9c8e4cae651d00f71fb36930d90ea8423c5b2c7787d7bce530a8e74c4ddf9847e9f4eed5827a92f3e67fb4bbb76ffc2c2c5764c01fabba0a237af6c047e3b1ff99388c797651ce74b97a0727db55865bd87bf87c43be987e97a00c8927b3de9085946fea2eb25d579d862dfa621061e6265eccdf5f4aaf34d8492defb47a9959db47a112949afd43959ecec6b2064de67ef768b69c67d3d154a006421812237773efac61d3a61681268bd7b0329a3a91c2089ad9135fcfbb061c5e989fbd034f9540bdd7c1b7c15ae336069b89bb2e7cbe7c861bb2e942451b0746af7baac3c6f3fdceef13e70df655345bfb039d2f17f1ec4a6d4ff1275c5a5d6dcd98103422c0a3c9c5f8ee74194675c9821afc8363dd6b48f88aaa7c66e84a6f435e278e75e9d63645f0908e5c9760f95222da2e09171a042d929901d191a35d9a3edd7ad90561b27870209b6582db00dd417cba3afe2846c3a2187758f670ec9e07905fa249b6bd318449233150794afe5948f32816b101dab99d375d93a20397447fd518cfc23fb0897829961d93c9ffa04207477b7fe0ba5d4ab8ceefc419db3e2be2423f0bc0e7574f3832602c602e55b02470174fbd99cb7aa6b3730a70b9219c14b2c6fa88b6c1a893e4abc01a3b82d0e6a8d04fd2574482ee4779550215c38fffe4dc3c1dfda909f425ba8d1948f10d5c728d0c860bd17b2d325b7348fe90962b0369409977b735517d901d6b6ec44f59960c74384a5d52f7b04a839e17411722d7699d6698692e0d1b1ce4fa1dfe303f605d7581e84068e4b5360cad6741b942156976327179e43181fad85db920a46f336df77e9ffb86c1a6e31fb5b5fa5d01b2b90b8e2638ec7922737258ae3c4f2b36cc69423a029cbd11a18a547c188f723d787a39fb3c86842a73e5f09c28ce3353b03d6a43288b6c8c09b27b825d8d4a64a0d5eabcb181fdfb02967c2515d4a4842602d1fcbea8d3a1d0957ff935bd59ebe4f8b9a0627710effd74d6c529a9c5c8f92012e3ba042b02f69b29c2bdbfc0cabd2f410ea510f1dc3f4e51af03c9bedbbbc94d595cee3e12d3088a9f746ec6890707dcfb96c277c3e482500c6ccd9643ccbbf701113e438d005366ec3592f4de23175069a894c7bf0a0b8e0d8ae8b22021cdd67b83813e56c7c745e3be809430427d103a1b4c2f058bcc2ff6115c890ab481887e7a546a0e36512ab8c7f1139eec82de7f699445f673df5b5068281b8dd662e0230b179c997178406dece155b6752aa831537e1871ca50cfb7091c44158df556e6827a180dbe31b863f51bf79bae0d7b1ebf268f72a018ccae71a0b68fb9cc22924c104e68346f6405c9eb6b617049bf03887133039c09004228300b8e2f42173282290e85725afc9525691280ba979533362b632eb212ac7a3a4334aebf38b0f60e9c3c68347fa8797d9e48f87dbb03bc818797b5a8a4e828ae08078c3666f3c7ea9e099bb1a9b8cf3f6010600995c0e71245ceea9d566b74012abd0d92878090e79399044fb9f782b3380819f38e7f818e95298d5f0e6bd818d3408715aa19443100e9e9b3f4d53df3e78c8799b65f2e87a21f3ae8c666e2a82d123be10d37334508b7b20555b2a02f1a7e921374f569d5d0ba99c4f93573c892c9992e9c69593e4ff583c5e2ce4effe5f373d645b07a284afbbe9fdac250019e353d6afc922c0e2ac18a1025318ee86066474c65fe4c7ba40afbe533fb8a20d24da532af591bb41a45531b74eb778065e7f97407d02930dac37bf60501a7460e599f68dd857070a5f5a9017c6023770fb5ee9d3a9d400680e92599b08eb3cd3ee045e1ea2a374f8f84d6a250bd2be09c424bfb4c36e4f5b21e510fa9db364edb0b9af353e358260094f28294abde99e10695df8896e15edc3c4671f04e07c7d142cb0966f85c49f37069dd7e5e4ec509d0f6587e7260a1fdf3e5d300828b765ee653467b1493c9b02862a5683bfe4a81472b3c4b82d852eeee96def52748b5945e81c0d4894da85ab6d3900bfddbd0eb446168ade2c294b5e589f163287dc4b715043e563c0198f3804b5568db093e631ee539a9f8c7aa96859c82f8e95b6d9ed0ecb206d8387ea63d94f6507305501af698ffa5b04fdfacff4aa625d4a931953b3fe3ff54159f93aed7e0f6edbe3729b19859e460be55d3d27156603f9fae440622e62054987f9aaa73276bceb2f1fa6ff82cb110881cff22dd5b2ee430e65dd4388edc9223d8a0d2c1703e6b86aa1037da942ae1aac1f83c2e47a850828af0345f529ece1db83b01d4a92dd45e49381374d424427d97d4d73441d9e686e85a49f268149d82102922403a173c5d0a5e16bb13d72741a28512ceff95889253ce34ec543be4625807f8b698ac30f752ac60c2a340800a33868a69790a9a2daf47c362fb309b2208655b8a77eaf0ef80ee79c140354077547cf15785cc3e07b4fee9d8b270131d32000ddbabe968195dc6b56e657dbac3cbb9ad22b778f7d84be6fe86c98160b4f312a1f46329a1341a9b48ee8ede37a9e59f80dfe30ada950943c79abfa48df782ef48721769fb7dc1e4fd78f412934d727cbbbd535876e6e7da5d92c862419dcb6daccc067da7c1c22b25176d48bdd3abbb7e61b28220252986ac672a8ddc6201b189636e7b27a2c58a4bd430d17d45f2220722f1034a862eb0ad6bf6544f6cedba51e7ae77a13d65d626d159214a24bf61060fa21762ad25c937181f16b3e99418dd3ca71adf40e6709c35bba48953fd80315a2d281a72cd12abba0942d7855be666ac2c09f904c5c935b109dcb19e61d1ad28177e88a7c8752daba7c22e98849efb20b4845a8dfd806a86903e1404c94c2299d62e1016c214307b43b35b856373d16b21e9848ed810fb630ca3165623150c842405d786d448b0ca754b36650bea7e0ef3f5490dd0b26e595ed6808c31181ca3ef9ad46af06414d2324f4fb98489e04e568d68ade8ca1e1eec898d346e5eca2bc687a3989bb5a3f1dce3071f6d29ab88f50412380a52e728645224e8c8765a8dc1e889464096543c730785cc64affa38929e88bbb81b9d62c53c5281fae8f07606e4f48e9feaf98c00ce4019d5c40f68d8b0646a38db26b9e36064ab5dad80c04c75373568c030eadd5d772991d8babaa3c05611731204e16a6dad7d2e53c97c213c3d6a9f55ea7ee5af7c631fffc2e2baa559857aa9e33fab4801a2f0160e37ea72ac2bc07cf3e8594014f4596aa10413bd13e6506321c68a243d757b00a9315dbb7d2695d5f3ee295cbb0e64d47e8423b4929ab5f7bfe84d1233725cdc4cebdd1888548d452ff4f069b08194a7c52150402492678f412b4faa3f6ef89020b3e1e178efdcda4753fb32ed00304e71a98bd739e68dabca2b34ca3b7fca59725968aa30dfc8de55978ee099e42d4ccdc0e475930ee474fb35e0d897c79915160502604ea6e3613dfb4757da6831323d41b1dd1a7cb7d99cc8be9176ce20c24d77708b2e2ef667a08aad12ecadfe88daf213fba17e0e52d0813e7b975ff25a3f836204bd45fb28311b57ca8a08f379c799bfba2847e031b79220a1c129294f69c4f6231c518b60889e15526ab6456fc6ca4a24f96924c751fcae520c7e46dd3c7991df498c7a9aa6a5f1950d0d98041f848aeb3464700eca100514c82fa1cf69e9cf25e2d18e8d3af4a9ef4f59a52d23e987402b8ea020ec16a46f6a030d30140b3c6ffa0e6057384859ca54f1343dcbb41360827a0b894c84c6a4119d5f2418da7287b139c69c879ef1eb6617fc3ecd681599afafa04987df255e53dee0f448aa7258a3b0478c91739607f287598b6105d7b7f7917042ff2f172aec94da4006afea8feeb4130aad1bb1ba8100258c4d52f8ad251468776ea4a74a7f2e6f9ad0531a246448f9c00b14759c89b58e34fd1bbf4bc588120c9e5533ceb38b9334d8215fd37e27dd875b998b8c8243f765ae590a22f72ea35ed054f4eabf1caba0fa31aa32beeae23e7a8388a6dcd7fd7373b701e930a1199ec56bbbcc22c27926aca858af5a7910e041ae96bc56aaa3077c3b7f818d5fc377ecfa9529a718bfb375b3a567a11983c3912e1dd523dc6b666e64ee5b63c293733f9c9ccf1023947a236991d716bcbf60e0528e21cb4c8fc30404d928e80f90503fd0745dc477a601e6fc09ea447f9563f2b462d0000bd0473409f126526ca36b21c9aaf1f38211f4ae925cc86be6799a183fe2f42d0ece97bd26165b4229ee7636d7dc1ebc544f516bcbb3c48b8ea00fb1d96c157cef24e74d81eda2fe1b7151a095d8b95eef0f8e9e0320e09bdcf3d722c3f40e4acbc208caee390b80df0c850961c882334baa366a6c65730f77741dab8c07d105e109f53840fb09dec310f16e2e5a549ba24249e17003dfe0293db6f1fe68f7b9a804f4040969534e82e7e52c731f754d87fd7f622fff34794d7b93dccbbe76d042ac923a5bbf991d3104ef00f955dd274194e10b32ca33812869a7ebe42c6ffe01cafba0439fdc2a72e61471d6c70183e9847d81ab39c921d69b41e7c1539c2a30e7700406272d7bc8272a980b5de84786b8a1755b511644f1ca6bd125d3872f8628b4b34510e63ad50282deb8fd461b1592d355e6eb68d330e0e2d3524947690657a05636e68450eb300e75df41e2bc5d76fd4372df0f2583dc207bcd0a7d56735562199114ce23152cafcdb931b5edb71f15280e67f6ce6435dba20148bdb5424d60ffb5f410dc6e86f2f091cc72ede63127daa9aca08e2a4eadef3b77d3c3c641216bd1f044b5d51712187cf852ab962ec25625c85ffdf5ecb53b38a2af4ce09b5293d682f41059d627a1c37cf3f1d345b4ef59d011488c2eb864a6b752a9e8c41cb8df6ad6f2bf4e4c6ba7bb2a09f7bae4d5c880fd9e264d76977770acc2b9b4c9020e09f49f573fe410f4943db92bbcdb984a2473dd7c9247c5fb58c972cb4f9f4a7bf536088755cae0d1d592ec3c61436ffb2885c37fba35c3493e1307284447864f4944d87135d50dd6ff5e58c8f1017042c734f7215866a65bfe509edb750a63b61af9185d08539a4d1fac6384095a1c04009f4cc7aa585bfe7dc0374c100681807932a234a324ee939c6f03e76fee97c2e627875ebf4c09cc1a71159e6202fdb352ea9402ae1e45be046ff60d8229da89c88e9d2232803730cd3b2e2e9eb3a276e34efb6ab12a921f81f4744dae0211e29175a4478f55c65ff538a2ec84ad65ef0c1e9b88b1d3b0538094b684719cf86adb2ab57702a9ff996856d85cf1e849c3a6fe21703d1ac203e49280383ed9a267d2ce9eae91d4b6ee9b1ec9c0f437d7117475bdd2adc1652cdea040a70e01fecf2a5866a86a2e2e42a67089e4ba813c3d413c6a2db501bb86baf480a4953b27cfa8fdf7a0253b67e553f912c40f84e1e0eafc8e9a1edd1fae29b44154e3917b95933526faa0f635efef0fe0142cb6393f4d28ca0ed171e3898b55728f8d3e4c5d325abf2a89a6d9002204bd862c973115479bef25db8b1d6027934def3d0dad5889963e203746efb7335565c354f2e99ebd663858283397039db8b112bd4e0b90c7778b94cf82f058f9658c724ae7b807a863f2bd8d3ada7e1f9e6012505b21d0d4466111faf8dfa2fc656541ffbe027c8e3f52513eb38dc1a2938bcaf65a34d8a1047590599ac609a0fb69daeff3b80b542cbd6d731d38dc01e3f12651bdba1546043278b59905c8427ea636369a73eca6c4235f47d7f21d991be89233fd268e396ff4eb1ba5c5ee58195b32850de371dbd47ddf8c9a8c599ae8697d8504a245b19a97ca41ddfb61328b63f64380aa01fac015f46ffd103f79d83ff5919d185d4c479c0694ee9978ccb3bb1dcc233594e52d1bc769e51b43a5cd01e38ced3f87f18ccc2426d62750c2f9d01ce88118dfb8319680ca5831ea950355fb16acee2b2f7464a5a4263ca49a946b65a9d1e03594bc7e19c6040350edd0080d722e6a85f1c2ee02466dd85ec5e373facae516525701ccab7831d1282c7f9009a7a1d86f1b84752de046667a9ef8ab91484ab9c42e02a212eea5ad3b61864275371bc0984f24b43983d74ca3375b5611ef0b31057be2b56b8df25e3a5d8675f61dd656b7207e5ede49e653a8f7d199e6c1cf1f8b65ed37bd9ee93ed116bad1c4516b3a5f06124e9a1fca8de33264ef23bc68699c41fadcaba756a1bf30f0e421fd06f0f0bc5e9d06b7bd1608d0a300651d5d87bb9a1050b16ae1dc4744a4615e6c2f33197f10407c9237039a595dccda71d14bf2df1b3c8e1b42ea084fdf50e8a1f048a59df91d4655d9f10ee03b10fe7cc7b53f5b2c0deb132945ecf6f183d69b35e42fa71e1524c23606403f60c080c5db28ad31da7a71e6d90e39d1464a3946ea7885301706aad3bfb7b06b8d6479ac05fcec9febc3510608f8e156d9f4ec00eaf702d935adcfbddc5cb4f13989464e550778d1fcda6eed28bcc9638fe497246cfb9dc3a47fbc202f32a4a43f3494fecc36d3cd64f10818e2f40a8049b9050a3c88c29fa035f11dfd0a4de992edd3956f67fb6f9ba30b8a1143b7d4dab84ff57b230d1ef7dd639316703588bba67e60e6c2cfe458d11360afde6b07de6171fa10d87fa2fde59d9572fa85901052dbe3704db2fdf0ad779f27e3599ebce169aae05b4e1516e0de119566cee9227d2a81316693df7165abd898fee00a2e608e3a5f132b9f2c990bc24726c6503df363f60438fd8caa26d4731118e6146a8b58263b8b48a533c0eadcbd8ffb6dbc5b06b86e661814baa2eef835b0f77e9513acb1803ebff3f8dd34c117e903f5fce0ddf1b1713008f5488978dbd658326a2e8669a836228bf514314a377a359a7f543f6ff8ea045cd8c6b8184e0a690ffd9452369ea044e30e9fac5793af5cfac05df69f808dfb585847f58609b75fb137506c775c333678e0db77afbbec9ea97ca98b3701b05b7476ac127dc8aaec2306a458fe8a54c0fa90865d237622e5becde699958393d7d8e829c1a6ddbd074cb85bb10b5491b48d42cdb0bfffbc9392e2d630a3a51414044d16e0e8be9161dc480653d8551839ccfb8c8872eb29ce97cddd5011767e743cb9720b8cf18931606c2dcc942dc3d2e336e2e10ca12cb135586e54f9f59975d893f7119e79a54b1c595757c6adb1cbc00497f32db4c19e2d20163e5fcd146671d6d4a917a0ab0b2e9c5fab0e46cca3066137d36e33c7524876b354526aa5361a4901586a00024a25a452690e790b92031240248719331de6ad79db1425dcf5c21bfb03a537ea5a1c12863e57cdcb4a64660eebca08466240e81b83cfb2c1bc0b3f350c7f18da45d0338a91c61979e2bbf452499b9ba6fea0f72f9177b8e2ee019961c98a330aa530a564497e40c87707a1c01807062ecb94840d73f20f43fdcccbb918338dc40a00718a36ef74e901a4455dab4248711d835e6fa11b69ccd0afb26362c87ac130350f059b11c0b017b43a7e8288df504e6acfdf4ae9c63061f3d136ad896bc9eaf937f78efaa7e9e2be299c1048fb4b7327171d66d18ad29f449cc5d14553ec92f3569808e7e9f32e8263120f5b4ae6390eeeb14b346b82904c455f291fa3d1c54c7d5a5822f15a55955306f29f98e6290fe2f252a4fb193bd31d21a6a03fbda79790392449b956a20b5261827f5ffa5a9e2c05911aa2cdeccbf3c503523d6e15a3e40f8cebd8c079bd3864f3e4c555031def63f1184d06c22ae804eaa77768d4461702a534fc5f51fe7d1a2ae1eee359f8600b426ea6df8a636b1e12bfe396409dcf90e7ae2d813a38bd070decd4e599f11d25b59a921213e70701367803758411a29338c373487b170cc2ac458c0c012b9b65670db621c2a783af4de38a95d0a7a341b08b670c212184b72f08254eb202434c1f2c145db60190372216c90fdc6e30fa0d58151c513ca06328cd54e07710ea70116f71b6a71f24df72fac9fde10b7f836403006f95a3e4c4248c2289caa281eec3ea88af10d5905e9a9091413041b2afb9422760029be0cc4f0ac38505425675507c7738c408a0c95867168de6b60195001f9b03d824716a230204ac1b60d131746ea4cee8be3c429a288e0ff6a660910f42009a3c03d2d3dec687de7248ef09d120a137b3e3100f0e95a1323fed9412f7a43fec2ab8e2a620b470e74b8d4dee84b7f82eac44c4b9395d42307961c7a34e060f0687abc80ba7fd7862a6586e4e1159c664819d487c84c581fbd2752a565c4b890cc494224f00a2a7e2f4db2861d290ac15e307b3d261acef51103f2e841cccea736ad626f27716eac96e5c69838e3b8f158daebcc24c7e9c046c4a8d5d812a3ef4a8482a30015904232a50642d97d1f1d0e3d0dc1d24498165487d184306330123d9702fa5b491f7edf05498c85498a8005f8f0977b20fc73b53b3b189d153c16809ebc82cc3a89268d36d5a478f9c47790fea6a3e51db336d964d4f055f807b2f69e5aa3914a358c80b9bd197917e03bc06b0f9f554f6580f33b6ec89b979c53f2276b77264655be9dc20f03e67db391f5d09d4ffd005d65d109d708ba97297292a5c2d61962fc5622aae0bb0cf15d0f49651f46653417730dd9b5af828afb14bd5c7389ec03b2b5420f0fc025be6e5020c5b7ecb6d6e6e3ff9100d0c53052a9d0945e17dc77ffdfdd95e81b3297420876a691966cbe809dfcaf0cb6b764ec142c9d9a322370921cdd57eb6bf81ac87aa0b557ceb905cd5e790f406bcdc85b74ae44a3c7db7495281f112495382e6ac820cdc1c596577ff2575717b5d3c861307ce45edad926a71d670774edb4dadb77badcae9d665a271bf092ae7d1526c14756eae1fc54b45fb49b2ca8b606ad147c872e8c03ee45427a4d6b08cef492ed8d59f8c1261dae59356359f128a858cd52130deacaa7ef471e55d46d362beda0f21a70c63b786cb998e29b35988657e7f1c35476b0d72032b58d3c65a79e9e1160bf64aeb062438afb8346eb600752ba79e5d639e557e05d91e6a733936c1d1656d87d9fd4d78a4fdd74f9fce2484e9c92d414b2f19ac63a39e3ef4c26f715247a2331a9f77aa65827157036b3a2e3222f640ba31c34c701cdc669cc1fd9cd8dde142acde139309b0939a32d136464cbe0be5fd407dd2e2cc66f3ed4b056434e96d4ece2ae62c0cf15aee2ad566f198ad11ff723e806f161ff5c6f371e77e3033888b5641bd4a32ceb7840a5cf2ed50018229061eceaa62d393d36ed7fb1b37ed8302bcdff2916b551ffe5ca79d55ca572331d9b9b38185ed80494bd172009093932c69917a65f5736eabad49eacd86c0543148296bbe65c09f014aca4b27ac8d09ee6cf2ac6d18f2a5639e999bcbb6f2477cb717af3d6bb8ca19e3edb4a4ddce4373f739f8c15f052c19f70d16e8c624a380ced4c955a75646e8c3b696872fa966bacd02e8f26a319a79d6680b9d5319fb448eef2c081f58ab7d9fa7919dfc8665cbd1e31f9912ad172245045befb6ca11b6d6c135fe69d4a11f2ea6b9d71ca5ecb82c46224d846c80f770d2b09abe819a19fad94a3cd74323f2584a53cf136e7597a19d1363e3b2a145c268c21f0b26ce2f32088dc80f437a53336dcf71bff3ecac092212f8a0baa9c103054d3414c85e5046b0431f54a873cb61e1ef7fae221a44226e8407108aa5ca99542df56a66bc69993b21423f296940f446ca349224e32832d58c06e503b45a2a00bcbcae926438c16c058bdd559c72dca62cb842591a74a69398201f25362cd4b0d3425c0d493f4ab88b8f7b664c66135fabd715fd11e1f6a458b94c89b4098132f237554606ceef8c97039674283d65f6fd872198b65b9ce0ac5601bab884a170ff1e4568f1d49033c06eb519019c23d8664aa234c9ca81e1e157556a04df6cbb6cb7ceea81d3ee3d773d60237151167917b0dd961962b1198793d77b244cf4828259214c3924a544294bb432bf472195467859b4e889e8b86c84a2d31ec4ba23e700ec73462907669d3ab8a1dee4d2e10d6923a46ab976d6ed031eeb5caf948670c82b5fd017ce1ec395add57aa67666cfbd951f6b6743a6068404dcae6bf7f09040d78e51688dfac99ab93679b498859a7407456e50258e824422f689e44e216b17c609bdc90fc131608b5d1da43021b774b1b7057dadae804cbaed4e6cd29eca3525d4d559a439215bec6af9141b1265e27cfa018940e173ac5a708c72e5b748d39c500b999a8fb3b5455d08214cfff900d3c0c9a4e03d17e8005a79eb35377a08d16104acdb5a112cd0483f8caed63a1dae03a3e0db0b6f2fed254823bef6b4f0701112ac72f0dfca0da6553f02924333a7f985604c5a7618758388f54aae6dc424e95c4fc0f8194590d086b693e4663a1a3a541bce101289f36a732b829b45634865ae81a0a32bc4bd0c89fe10fc38a640eafd3b7979b80e6bc4af4b6a7427685b33b89519506fc4a96f21cf7a21ccd7a0540b9c57adb0c8c12ec06d00cfd1debf298aa3e159891821c63a478024fcb2599766737b9d53b411c8bb7df979b93e1d87962b3ced3ecf019e8a443dba01f10a6a30ddf22b66a1b1c9a747b4a69b5220ff9a47d80939dda67f7af96b42783d4be2b76920362ce0afdfc34f32c9ff906a978c69a991fa052bdad4a631e4f81ff7a81f3aea37ca410f609031a7f8cc70c1d8cbe8c528e5f4f5f45d2038539205facc23d046c3e2cff9567ed047d082b792a7151e0a2472c312fb2db4e71b843b4889f2ed15b96193733db99c574133f719fe6607d0fd830220de92b61a112429a155a914a338bbadc86982c2b9634c5109335cd0c9b60a54d1e84d813bda3520f258b1cbfaf7e1c0024b2345cefca4671c4a3645f03493f332847abdaa671890777d9c1278b0925603e6dcdc8622561f7e2450b6e41f61e5e523b1d3df0fdc7ca070d9d20b7dffa24684459cf5dd5fb73f0b99f1c79ff6fe440489099b7abe0bebc6c4d699a43bbf4ef686b1052aebb282e5a3de92858b44c61da1d2919f6100154eae358adfb1d030495aa2bc84b74e4658096c4722c99d27767cc2a06d1b878cdb87a5a780f9f07aa99a3c1ca434f4be27843249a86b532dea5b166609a5afef0a68b32a94f10a95c81086d43dbfdc3ed7a796326f5639404e524b9a53485c712987d1e9b18f9f2149f3f55641edbc584c637a875221ddc982ec6d6c9ca2d442d416535092d5163f26e6194efc8c4c0fb49b74014f39ce1eadf08d7255e3a8c6a414c00d4e8c3630f490dd5d16d5cb7eb6ad48134d985c119c33d761cf3cf862fe8917739990e083d8851c8719bdcaeb6f6dcdaea09c31cb95d791703a3d0d501e6e1810b6aa3b9fdce5649c3ea9a9fa73a31f483545e7cc3150688f48a0c3dff7d4eff43546ade857100433b8866892eaf3fcbc924881e111f73c3d785e7ae823e25a3e80f5f23d83c4c089a12d2bbc39d828c2c2f240c4caeb0ceeffebe5f4c5310ade227fd477e6b394e0d8ce1c2344b2e232fe54a3a8d0b58fad484b0877dc0297456818f002c052b8b48f50245850c081ba82be5f69dc94514c23633b13f142d910db03bf605f2607d1396736729fd4ea322321a578d5c1665d0498630a59ae44c87d0bf800377b9f750d18bed4c587468d1958ea310c9300e6921568028aa360e3aac781a8bec9846b416868ad551029d336c4c3b2286b3d2fd3c189df13c0a357e546923a5a75a50a1830f4c179cc69d2b43ead96268a70d841d40225f602e7178282377d635c0865c0d7452055cb5893d5f61ec43212b26fa8fdc178921ea832dfc55c6cd5859f5674c42e6d1793bca6d34f5d50b719b47a528a2c74478cf67df45c769584c854b4075704244bb08abbe10b64401a5589f76a4b0b865e2c80562892b369eeb57ad587711a4c18d868fb3ed91722c89536f9503742fb302619f872888fee5095b55f8ce69dddc50aa4688a4782da8ae2f4b4188718a756573563d99e00aa4357487ee620c6393b72be8692f9974d00065dc78e9b49d5c14ea646171e706406f0baa3d10665751d55ac3f44d2584c2af1a7e0790131bd8821e9e8db218535d192e3ac797025eb46016d932932ebf112fe2a13a907454c70b545dab25a917a1ce4aa643b6d3f37f313c706fd48213b3cc141b65aa2a529f03fac264c7b99b66075829a9e01f14c2fc307ecc0bc21b96c9e75e0ff6d1c82ad76100138318fe366b972b9b3b1a0f580fd3b66be0989e37b812189af0909a3e504b3e4f9b25da6d2bae6fb3f25c343a1e66857f59b10e0e3e76de55ca887151e2ae2a665047aecd6601a9f51ae81a4337ea799ab7865dc7bf674e1819d63ef4ea9f1dd5d4ffc360383973e29bfbf9c4fcf3596c3ebcb9b368d8782742468aa9eaac30e1c865d45db8e7dcd677e556bc8a24fa319d4c65e2ea710e98c00ac4184bc548012e6e950be27ed8fce475758d1a50878b06665dcb4327ecdb6e5180e7162cf4eda8d89d3c6fa50e43fe4d41e404d3586c81c1e2416e2aa3f9340b6ea949fb1d175cbf2ba2df7f62bbe8c0490c4de44f8933452779876c2ce9288db41e707bfa04722aed537262a8f5ff6589716e9fc6f57f0a05a3400df87bda1aca3aee584e4be8cfde5af9f8112d536b3d8099bb1c803b15c142811fc0360ebc65234f6c602dd899b8567d679525ea56093c7abe4eca295c8902bb730947cf16474bd781a7838e91d5d41adf871abe339341193d40b4a64802ceea3c4c17024e2c603778ec72d91471db6daa21966c332ccd99abad91b70667526be9aa8c6829acf12dec3a95135ce38c2c9af6380df95b695642edd10f4570c47fa2c3e80d3fda97f449d329572eeca913b725febbbacdd8ac85b0f83845254bb54c375273751009997ef9f3a3b1e43920159072b40903002b94f98dc4ce3107c68f0e422a367733bea6c2a7dcbb7cda31b55e2d614b4232a1d4468dbc1934d0b5510fcb37bf3bd33f4aeb4d65573a7ad0672201cc2dcebd60474fcfea24e143463df8f2d288f649397734a944d64634fa3b2b532bfed0e8ec4143b00b172c66d80105bd3cc69130f93757c8fe033c18dbe920912c318c641b98625c228789a77e8214ed0dbb7a8003f67a53735257ffe61aa8fd6f7abcfb1beb4c943626fc5091633a808ef46eaa1c909fd8cbd1692179ef5aca3d9812384b1c5cc789d308fff3c1224b96ee88e68c5c58ec099c548d2bb2e77d0147ef451303769a9faa2f0fc000bd8dd1891f54f73daea4d6b884674b1bbce4dfdb3dbb0d7da14e18028c1b474ad9e9dfb029571c2612b860f77b6111b5b40c17c8a2f7c496c4cd3289f3fa292d4d0c6de6b2ffc9b7b1a98417b5370abcd7c387c47c4282cb228b83af9cd2e1b1e47b7371ec573d894e695ad04bbbb73cb0bde154d94e3b638eb11a7e2e1067053186ec31e41ae131803b01c0a4b84b058197a00e584790b7831ffa8171e7484723ae73712dcafbbf861c321ab70ea4bdf1e548d06551cc07a726d642a4ae4d1d2e48be1d7143fbad3bda4b0f210677d5e13be43c0ee2373db0481ade687ca24c5812f3ee026c0a6c0bb0da1e812435c7e145b57226c848d69b82bcfe5d945940f00a126ca284cd43307d50e6d294c72a8bfea3f4fc4a3fe30a0cbb7c12aaa3ad75b103a5bc21ac0eb1ada0031e2ef4d5c3c4f231a157da0e68182fc0c2149b544e1923be1661e264b9657b1824765527ad6c48969e83c4636a2481c2c352877eff1c34769ed78961eb780825ff52cb8728499ddc4bb60f90f56b7c36083bd5ca96e5b929c0ea030d7d9715db01d2022eec740cc3c79590edcd2136d191b5081a930ab2815816a063d79fbc31763faf5e376fe8b16de0cc78e819ccb529a8774ff2961dc7f7fb8264924c65856e1f8bb7bc19708d292bcce8ff56a899b8392b3acbe113750f8be16eef464a9de61b5a9685fee9e81ef052bbd780320004d5abdc54249ed6df949907847d4ba92e2348ff53a1de49956c3e8f91c444d3fa440fd90a12c637dd8dd85592809642962e9892ea98606ea7bd60db638f249e94254fb61d5d209e74ecec864667b87dd9e006f0b93011d8d7f010add0895bc48147db62ce80c85186944219b767833ec1f92b8e9ac016a902871db75a9e82d04b7e9d10ab86b8e37dd392178f64aa65283b802d7243506037ec9f2fcc072572738771f02bc17087782b299c160b8a6adce3b070bed319d7c613dbd664a3b43638a2780ba1978a4d0ebfd989ac0fda8f26e09d9298e11aebc0ad5cf60b0ea9dff3ed191f786ba63a5dd83680327a173d08414c9c68e9e40f810804bbd3e58459934c5fbc283188a1d8ef0decb4a4dcf360684ecc084e8d6a5dd0410579d1fd1ff413e6ccf936112520a4bced6fad9c89044624c430e4ec5290c9dea2142306e5df48559b9d383d541d2fd7a1b813bc945ffa49750c314a1d972010c680ee1a91dd81835bb81f5733159d8d1579ec4dce6fe1608e02bd3dfa97ca7594f18d257aeac0a6a86b2606a71694a9050cfd8bcd1f4ab984c8c25c52e05cfe6cfaaa0a273b9c4e8d16388965eb68388a0615a532edad94c302014deb282835663c64082538ef244b3822345f2791841cedc83b58748e82c664ecda5321e033edf6b20d7acec5742781af42d2540bf58147e71d16a59f8b62da71f9106b6cb60bf73b65ba9da617118f7141fdeb639f7d6cd0e44293ac8a98ce5d251aaee8ac78d0b3d2cc632039dee3cb4cc3eb24069b30d269f7898ffd5ab71e020e2ae4143ec81aae36f06fa420e9801b400d85fcc23d88e4b8ab0f81f3f8df192c62fb4eafc2fee3a69cca18a63552c9330053e3324093c22f3255c0813167ea64e5b21e4e96b29400f6c9192d63578cadffcdfc8c5c76779b8ed0d4994d8755a342f31a6b34d621392c6ffe601e407058149728eea1deae3ca5b9fff1d0fdd835257a1ca8d831cab2e5cef5f09174e84419edb6b40bb04188ee31626ecab55d71bc6e83c155defd3e48bebcbb9ce279c6f3656dffc83bf3de8bfadf30b4e3efc250c7a1481c835c54784d1d36ab8bb43e9d51bb93da9b0dfce79e52b778276b919150812dd5574103db5f93a2ba85819f76000e4af371f92ab211e46894cdb680e7ec8fc9a2c4b89236f85776803943797392cd76db9c8181ba5956378957478d538dc2ae4b9d716ecb292c8b926a795b77cc079b3db17ffb1694ba7654e1c294806dd89907bd66c1ff8d962382b21efd2339a0b62816286b1586f96d641657d42bca5e6eda5a46d8f8dfa9b6261039608cb868f9a1710b49eb823bcb60bf98fe54eb09a7f71f9829a6589ec60a32ea2644dac25732088c9520d7119270800f8821ea59d2fe64c4a1723b3ffe8ed0afa07955581f4abf56889bac72508a73fb50277072fff0f78a8e1a9017bb2d15be092119bc51e4ede952e3ff5152a80af69c17b7578b716bb82a0b8073afa150d02560689212b1a2c4d0cc5ffa36594dcbd319248041333078f6a4d371d159e59e028055e80bfa1c9c1e14d4d9e46a3384893e40824628a403efd404c09272dc4f0f01147b165c6e63791bed964e9d038228b107fc7c3fc67926215b086ae0a4337aa3aece2f04a8d989448dab7d67b30f4ff5bb9fe3bf172dc911bfd6f3ae8409624f4c5d651038fb8bbfabfcea2985fda1983cae82532ce4780d8ffd8bd1d4074cdd244ce2acfd4c99539f794ac2c5d174cbcfe2313ba586822251c93537cf609cf5fdc387cd80a360ec4793b06607a87edbfd2936cb19939f13a55a9aeb483b256d426affd9d790f3c915ebd9f9ac9f7a48028257c10894eba944b91b55f4666e605884729ce2be74b06a2272e25001a3231563124d2f2eefaebcf19375e5a7defad261d334b89ea9e9965a5458f3c8a0083cd131e01f0b34acd65653b460d4574ea076c5be69100473ba9e9776c284262c9c1807213a116ecaf81b0305c62b423b71f116c944014de784aab99c455f38d0dec8f0fb310643d49b3da2559641aeb9a85a3cde315c64ee942cb2dad27ec861856a08d41ab37e426442100043a8e3f98feff19891c6d902722632b11d049b61878e6c914c66071c6fc857da67dab562b76ab02e1793e90e14fbdeecc76d31c0b50d0350c1d6f52c426a0f078a26a02f6f2083133cfe7d0bcce67025f80ac885b0c21010dbaca67a60f51de82e511c390f875f5a1d15462f5e26cf479647015c1c484b33a2610e3a76587862990034358f895803aa46a6038d069c9e25da65df3670ceed05df4337425f504351f647d25dc561e4498559a3610efc8221f5f87d22151f47eb0d9babb1018a31dfa4e7ca8b255475a00fe6ed8452b2873bfbf4019754e6ddba8f62f82da8868f83dc2e232037dd8e40f6f3ffe1037a69a3d961aca50c73bd7af1875138b2d84ce783c8376eea579db729b11a5fdcface9da0134a02a16c3bdb2e1bc03b6e3c19807a12df72c5e5023435aff64b3b89f77f427dbceb3b6f75d4468bbc95bd77cb3bdd77e3313dbe2f3af87c3032c62d8bc7de6d5fe0c343dfe9f6dbbdad30121e67ac15b66c3f005fa8394d21ccb4caaad992aa242cd65e72c34494b474ff49212a3926681406043f50d64679ca8776aa503c782f6ffdf5374dc4a3a6659c52ef5162b66969508322b78fd994b6806548f4364638ff6c10ff790209c1e27817749d34169bb013d3ed9874fb3bf5a97f4e27c607721a85efc1e9781803f3b86e5b3024d280f7c9065aa26e26f344c380893107b0dff7fdaf9fce72fe38bddc068ea2eb9631f59732348b16ba2af9946579e4033eb53c6fbd0511c29c6d138a3370dc4b1eb832507ac1ec58cd077482297cce60ac4bf7c09fc30a0a17ce389ba65cbf897694ddc43e7e1f413c263d1e8316c618d7b3ea5532246955e122a40268e5036bf517d8590968f99db1d7f143963fa5e06dbf331df46ef1349cc8280875bd4ce0bc411e905d7523c80f83636ab5c29ac4695654cc9885ad7eb7dc45e56c8efefcf4fbff5f7f7efafdffaf3f3ffdfeffd79f9f7ebb7fe37e78cbb0d6c9dbad98bc67452996146ece799b432283917c8d80d9db2a74c558d7b383a9669a12cf9e15ebdbc36ffa20ba02078266112ace9a69f755c226f5891a75474bce480daa1c839f35c877e7b1624b3c13ac75158bac0bdd4b1bcc2c8a4ee4fd0fffe12d84e895211fbbe4a0a81c26a8f058f1e4c73e22fadc9cc4a410c37d55c8d7d72a6a6702e6f3fde84da882f9ee93ab18779b2573b784559fd6a1c08f91a4affbaff591bfbcf91406d048eae4780a51fc74adeac1e07b6ad81892cdba38d884bb808516632dfb3ca3dad193bcf699a6373fe18659a3bbdcde7bebc02b2244109677886d570b4dfc721a2c467742e7eaa3ac2d9eef3b4439fb1a55fb3b9445b53a00b987c4097bd7d7d7f12a17d9f4ea01d8b6aba7dbb8e07ba6ad06e946f65cf96504472fceba6b1300918421d090d95120ff9a6197e8fc3a40a93f5b311201b78dd1013b36dc0de72be228a68913ccd2ed7962e8ba444716b6bbc762889a908f434367d900551bd0c8d7795794474b0328fafc68b150cb95072dd35140d5d2942d648b00c4fc5b7f1307a84f2959bb4e1c0d8d12d06ea41bfeb0112ccb90e80db4b6f84d5f24e114966ce1d1c75265bd87bd33287330152fa5ffad97aba90d4533c3a150850ea5b3a1a4426eca12143aa9332a2108f6c85733b088143cdf80fd341f0437cac4bbb5216d759941f9ab2ba74ebd904e400fa094f740f40e7d143782865e1398ce3aa402c851daed686f0093596fee1b6f3450ca08102fd40e0d2d2a65fdb8077ebb17065c4d5b247e867eedb4404302e90ec41562938eec6308e9a69e1817af07a2e4f0365cc64a5d2507910e066d391a194509a8cc5b4c53cf3aaeb342d2f58054a1d93c9ec18ef56d862499feee516d852f2083a07ee51d3a85cea2bca87802cb7fc8ac5783a3c543bb857cada4edaef1b2a411daf9444ae871e9f6810560699797c553f228039ef8c38cd89605884623298057aff5ac4161e78c6dab7c5de27c0ee45d1cd93ac509487c48b3d7e5a6ad156d18f884ee6668a24af17f6b14a62144cb78260c7b2ccac7606cef5bc3f480c77db4720d29e21cb67e598f70dc48a4e51854ead13bdefafde64db5427319db6726981cee10a429315033c5260e2deb392eb3b39174b2372cf80a039a3ee6e36a50da44a5f9cd8e46ee00a906ae315fa93649cc6df532580854926be2c50a825c8b255570b21d42d0424a35145915276840c7eb7f08516f1901ab1c88871d3baca98bab34fae295656d75c2b8ddc056df644a54546ed63fc145ad7657d345eeeb6dd69841e385eb8146ade44d5579fd210b838c81a1d0b79442cb9e77d94bef45cd0143a02ece260b736841b53698eccd10272543af09cc77a62287a1780e6c4296e7db4cdaaa4f2bf6a7d40c3e955fc4a037d50534ff60b8ad11ed18f4d9aa2899576e48a2724294a21d7c93523c2adc96da65eb82630d620b5418470db51c6fee07a79fa2906eb22bd5d0dd9fb54dda6e3450f304064efad6e7aa0272d1b712a6900046fced7e8992cfcd213ab7db535c058b34ac712fa3c26988e1bda965da2aa592f5619dbf7cf0980499eace0eb26ddbc27ca6250fac81e68b27ef589430bb93c509c5219b06a5bc66c1ac55f09fd94317944093b3ca4d10ee3d8817ba9ff800c5a81ef242f57efa53b77a3cb5116aaa4661b69fb131ae20ada09a27c87cfc5c26f17aa4c456eafc739a634868d0ae4a43abb45b9a43c751c596d2efba4057484a96251e17fb2e6e9b2e533c87a4dd7a04bec71b8a552573b93bf0b9113f8e9c050026ddb862f7eda76d0e7daa873d8558a41b4ed7850f2f0b6f10284ec154a9174da9529ff64bc2aad4621674ce6dc6c2572aa54a5df4bb00d3ac022c9b556c75dd71fdc4097da6fdcb2d1e62edaf8e11249be8db8ea0a7be47150b8bda4f12bb2ca56f92331c779ffc8f016cca005053609b3256cf6e4298bdf7c4bff5583fc0a8683e5e888626d27c4471f6f13743d70910926a84779e5e22f20693a124452ba5253ea4fa3272a9535c2748633cd494ab8973d87dcf9c99b8a34b6e4c360a538f86d14aa3863be3dcb07142132fe79dd6a9177c23148755842d335ebf540440feb4060eb89068a94e6a36eb0562e850bd1a02421f7e99a0b7ba8303cd442804bd3b15b46a906a444f503174f4b0dcad35819b9b4c08c3deb0d89c53a7d9de2229367200da9705ddceb6406cf216e94f135967e3c95cd8bb59a583b9297cee9d8b6c382a0f8678332abeaa33b4c6f5631265b41debb7dbc35c2b77cd20d16b3d7e2c7a03ead1e29257209a1555070a3e5a0512fe2dbb640de0a269a2f91a107fca8b68c5ac72a63230dabf29a17ba13721a8016b64c6664c42e69ade2db8f121bef39b92fdc77bfdf14ea2b7c8b6522d5cd78ab675edefbdf796726f99a494019708f0084809aa9cedffe14e15dcf64c5d9eef6db159f26b7102c633ff1b86206866107c4ac1d935c191cc21f597c26efe981bc957bf53d4e841289fe779dea779546a3deffbfe63d5050fd63cadc5ffd5efabd9b41941fe100c1f963f34efffc0c3fe8f9def051fdfd05389d598d07bfbdedbfc99a10d7336439387f7367bc9412fe35c425d5a7b67f1cf5ec50f7ad85cd5bf1f864628200ef0330fe0e7c70fab31f9b199f7f7370c993cf2db07913c8cd5442af5ff39dba1263ff2c794d5abc88cc4f33ccfab96ee7bff8516c9b7e1294d77ca4a95caefb5d33bca3c73299fcc0998cc135522996739dac979f4f288c1f38a18fc1c7e3310c49ee94d20060a31f8e38b193f0fd03c2bc64fc1771004ff4481178b61f81f2913d6fd7ddff779d9f33e30cc7fdf778eb90d4b8decbbe22108afb2609e3d6cd80f30b1ac9a2b139c31c6de57877cb832d9d6c8ae37987eda1b52997cf5bea034525a833acb4861f2e73de9fd778e7b347f70cf3c6b48e6307a6ffc7a73eb90f1bf274999cfd3949419cdeb0ebe28965e7bd08b62c6187fa6248cf36e9f9854aa436a0c7e11a5648a208c45fc7d3623f89ea464f511bff12fb6e12389c94f64b2bdcfa549eab3c7f87de4677ae3a7cf2bca3b84e28fa6587ee8fbfefbc4af3735e67bd124bfcac423493287d27f268fefc31f4b64694211c34a647ba591359273ce39dfd4d7f81f49b7a7bf17e93b6aba3f4ff40e324526ac84fd87b199f1c7237cf1071f4773dc62f8e48fa368f2a81e78def307dfe18f75c8f8d5e8f730afd9180202c9ff441e4617cdb3c7b8bf0799a379fa60b3bfcf24f9754849ca905ff88561f8e9307c1bf613ebf7e3e8dffbf7373bcbf78d97c93e7fb0599f362199f777a24199cfef3d1cbe17df867f3f0ca92f8f08ad436a0ca5306565b2456a412b4a6a5963b5d8d3b9f160094604410a4e6ef87b08a8372ed58da928ecfd3c218831e5acd6fad447fdd3c6fb5aabe9c333abbbe7d9d3b6ac10915e81c8a64f4962fdaa0b40f7083629fde95377af3714f4297b58c0032ccd66fb7df7f2dd45a7b1dd657b590376f717dd5d2402ff1c9ffa108944a2f7c1668b4c1f48f0cf2b8240e211fc21fd2051347d20c5afa6681eb92611f78378debdef7d1fe47a1fe47ef8413efc41c2efc18ccd5aabf7e16add5764a14506528220f006cdfca2f7b408446ad7d1c39e688b7dc2ffd67b907ecbe2a99eda1aca8b64593e083ea8144d16d0f458c62db668c7f7f19940a4b6e9c1d1c7f73ef0b02f7a1ef6bdf113c5efc11fdfd3e7f51eb4ef89f6476bfa30994788207d48227d1892c211ea83a43e48e983848ffa20a42ffdf794aa548f35a9cf72ab6c9b52d7c93c45a6f7e3a750ba44398bc53f8e18044dfcde061fd4747bf8439f6d0d08e885fc8dd15f5a4d7f325dcfe499fe646d6f14df07e98dde8b2fd23e44bf7ad1133dd307f9e7a85a69f2c7519fde8f6fc33dd54844ea51a9d4a350a9f0512825d3879764fad20908df1910bd15c717799e39823bdb3e287a1b36f4283a9723adc47d51e8438d3ff4a03eef0e994af0b8bfc29137f93df026457dc229c5af5bec13fcf12b0ed13cef91f06de8ed8b056ea76cfac4153abb6e203070daec0de0fd836fef6d3ccf5ce500df7b1088bab3b9ea813710bebfff7131583269f1a8cff281ff1cc1a62610a99dffa41afcdefb0f0441f0034d1ff9b1f9960596a1bcffbd8f6a02e13b0396e519c0665793d2d6494d1ff8cf0abe0cfefaa069fac8e6117ffca365d10ff4297bf0bbafdf7fd6dfebb2ef9f650d94e5fe75bdd4d8a77d6f152d8b037bf4963c40dda33f7bd8231e3ec63fbfd1d32dfef93e467fda8cde079b3d327d008d7f5e4fd74b8ef491f04b1dd2defb00f2be7ea60fcf3c824d22f0678c3f53f083e0fc41f0931f0434cb0f429aa81fc58acdea3dccb2e87f96e599d73dac13916425b50665a92025437952ddce8ca5f56069a25fefbd9cbd0f7ff761eff5be0741a45e736bdfb3b3d40fe21fa4a42cf4ad398270063408c20b58900427e0dca041ccd259ea07a194c5ac5688b80a3f7cba12fa60b37ddc3f3310be8ff04f9b1dca8466f83ed8ecd0f421df3fefa74f7d7e8f657ef87cf8383d7045165becef7db0d99fe943367b64202508620391dadf539352d6894d1f9f798408ef836467f14cea0e8aa1ccf44bd47b960af7bdb7d6d6f7aaf5606401e81e2d0b6c52de9c5135ee107c68c24811919238aecdb6c1af3a6fb1af16fb6eb1abf9b8ba6fb1c5a6e40eab1c66aef5081f535abf3c0c81b3b4557dfa95ee6b69b4091e2436cdbb5e1e86c0d547a1cab2da27cabaa9135fb8d9678d4dcdf377e0b3cf153765e5cd4eb1a8744db168b42cef82bb925218baab10a53351fe76500b652de2634a99172a2e5256aa14ea6442299146a232042247310433febcebb61eb174d36afea836d55a27ca327bed6220de0bf91b9ea984bf3f76ec8fc3cdd1d69203a55b14f8c794573c53bca4d4cb5fcef8023ee0c9599d0f7e767053b0197f3afc4997945eeb6159fcdd79326059201778fcad093b42f9f64f98497ffb835a28ed7bbdf5d65bffde8ae3e5eebdd43e51de77b79656dff3328883ae0bd445f79971d06581b2500737ddf68d602d11443a2b3d0925aaac9fab90f22cb745599aa5d4b22ef54de95f5dda9f792d4b0b25b52caf7a37ff67ad1391ae9c30128874e5fcc022b61b4c69bd85e028638bf88fb5d928937d5e9ccf88be71162f85ba47697ba530b4a106cdaf4892d28fd8fe1888a7898039281d273bde42a630979298a46421850a7a85afc2f3ac40b11205567d3db1299502750205c059e37c49893260309bd26266f5e57fca5e3326009628957dced87e9352636aeeb4fb6b4c55525ffea7d5e595edcfaa317589c8dafead1a5379c22a45eda942d098caa40aeaf23f6b905c9dc1f637e594b40045894e460ab67f5e52636e866c5b79eace0ab1fd4329aa15586c7fb0a79a61fbfb19b6bf67f6d85dd2b50794650794e53fd2950c94e52f7ac1f62fb50a8ad84e66b1fdc727dbbf564161ea18a88b498da94deacbdfbff680d6d86ead797a1bac55fcbab334d03c6ddfd2b446fb05b4057405740628a0eb04749580ae11d01502da3e40db1ddaead076e72cf669b4dfcc6877806e8066c08c055005d0045004d01e340ff4e700373b1431c02d474e0170387474c8e5a0c38147664780ea3380fa73e36617b17113404e007000d0a9918bd1c1f0ec333bcb9969372f456637594e4c5367699967ddad7b2bcfbced68d295e7fdc98d3fe38dd76ade7ecebdde7ee6f11aecede79dd72ef0f6c11baf59e0ed83395eabc0db07735ea3c0db07775e9bc0db0f6fbc2681b71fe6782d026f3fcc790d026f1ff0f6c51bafed78fb628ed774bc7d31e7359a9ff9963f51373cf55a03de86a75e63c0b3b05e468c1a7ee5a9d7787818a636c07f8e7f518057c1f12e74f8941c7ea592f914eaa9d706f0a7a75ebbf1a6a75edb8ff2d46b36bef4a400fce8a9d700f0a232042247317c99c962eff2dec334ead5a2a9bb5a9aee9ccb399aa33aca53833ee98efa9cf4e7ac375a9fb5c8ebb3dece9aa3a2cf8a3bab4e8a3e6baeea54faac3c75577dea8fbdb1454e7b3b6dce6971227d5a1d9bb33a903e2dcfcefad89fd36f8a788ee35c67e4d9b644c3e6066ba138010867dbc74f71ed7bac57777b1bdb7de39f896f741e29833f4d6dcfae4eca33d4853a4b5b62690ec2f127ec76bb213e283e28e8ca39ca28fad5d34a54303c22629c7b2ffdbecff33c5d31c65fc6ff519dc5acedc64ad4ffb46b204a6431e79cbf0f637ca32e2bda4420e20dbee10fe7c71486529c41f1abf88925f82018e63c84ac7bdc1b15d465f12dd4f8088c53c48fa59d232ab6dd3501f9589a134b3b475450186a8594140c5f2465424a29c62cf83e3101f886bf708868dbe1232c8bc5b75d08ea449b6b7a238f3f28bf17c72fdc1ebe47dc76918836eab2a09d68f301ed5c27da46380a4341bbacc17df19775de1734668df7c55f3ee2fda74d118865b9a66873529ea01d689777dbe250f778afe7b67e38d3501c49d0a8e74b0511e9ca79c38eb3ecb2cfbd21fd798bac76524eb97aaa8150a1f28484659d722ccb4f38d475ba390b929c6591a41dafe16c3116b91a2336a1befc433964621ecc1372526abc433aaf8574eee6e91f1229cffb3587711f013d8c1d2f9f34cf5c9ae70a67fb9f3076bc3f65e49c72ceb24d7053ab2d4322bb2ff5b7af3e82eac0dda78c9c90930f8a520949f7d1ea201212cf23e5ca928484a484b4339e7244ec50e629e72c4394e0946e7e4a36160b06db63a93dcff3bceffbeef77d01003d89fac8afa8d18362cf4e1445df5793722424f685bc294b1294f335493b4ec81ae84948483ba2cfbf2ab5dd200d4489317c31e7fcb52cff0ea184b1435d7eca9d945856112b9da5ed20b134d34a893f8c1d0a43b7bf8c1caf8176c44c511e343d48ca98b02e05285fc7a7d4865592b3e3e9f11ae9732e75beb1d4757b7f869c6c9d65391465fd9094e9712acbfaa5eee13fa704803740e6293784b4b3da3929b12c7eca854488fe1cf76a6795b3b4f1477f927e483baf95de9fe4e335d2e75c9667e83d189467defe42371a99670fd19ff40b9fd247a45fe46ece17b9174afe9423c3f8ab1d729475dd2f722f94bcb88248f4579f221b16c68b2b6c4741f993a637ea10a506dca7f429cb1f7715ff9491b347ba6e19307676354f39ea12529eab9ded3f9241f4ab1d927cf194dbfea2d50e59fa6cd3934ab693762c6d7c2fdf8635811e451f017d8984b3ef8faec83c4ba29290aed4e52cb70c859c6c92cf6ae794939133eef394c3ba1b8adc1fd546fc5a4f844084081192cbe572350c225d39c522dbd6bc455ff23757de5088b2be8fcee33d5efb28bdb6fae9a8a63ba61ca90351c23dd162d37f721be7b67d779d2f0175bdf195ba6e6a6ff50b3a3fb05d2c726ddcf10f4431a60ca214729128ebd72a44080e871341e4ed1aa13c694e074bf39a57bd7bafbb87a9eb3d6dea294fd8d75d2b0260f5de6c98d7f2bdb961eaf18b4385f2cc670fffb93abf62c055ef45ddcfc844699d492844b95dd3d0cd3343b7d1eeb6478e3f8da5709613f7dc4aadf5782ccb7bee574defb195786713aee6c07ddcc77d70b67df1c3945a9390f2fb0bd2398b05e5be8fe69c31c61504c19cbd9701bd97acdaba56a23ed662188695acf5fb70df28e4d1a114a149091e4bfbbccffe4887c2d08ccaeee991ce4867c484ade15a8e7444f0bf2f83580acb32d21963cafc222923e6a03cf16d8fe28fa48cf867adb5d25a2badd5d3aebb22d86d7a6f43a0bac7bd613c62c2bed8f7918e124b13df3e48075a72df7ec8e3357ffbaa90c74dd077c475f8085b733394c2b2d890079413c90f8af274ddb62f8e63b83f7d045461fb6e730e79463ae74837d2b98d8a50971de980725e03bf82723aa009ca7d5583e35875de99cc9f171ab1aee1463de2ef79c8b34343ca139403e5a8ebe6b572c4d9b667837235c4190c45134ec52e6220d295b385d21b9ccdf4e7bdd54e7f5e9cd59fde434bfde94c54fef45dca9feee3e24fff511223a7be5c85fab38411e5a86025aa1a23f2a0be3ce77a6d94dbd73c710fde2bede2c7051696a572a352c47db02ac7dd554c159bb3b8ca8f0a6ebfea2d2963cbaaf2b161dd41efa40c28447e1ba58fbcf8543ebb1e675125a1c2a974765439dc5e99aa1cafbd50c1bd40d2817befbd9fe7799e0b140e4d2c2a172eaa4695505880339873468d55fb5e69d36602b9b96f5a42659a70a1cd8443bdffd5283c624ccaa0fc38962fd26a6bad265c09650865e9ab56d95d966fd299565aff682c6c29dabc318b98702a23263192b02ffe281d0367591e23270ae5a9ca51e5a870aa252c6dfcd2db32468ea923aa30a1b26359eea9e85896ab2c11862a3aa87a51d55459c2b25c8589fb75a5cd943655b459c459c61113151d159cb3f8a9eac151f1a85c68d528e7e6598e72db534c558eb3784e056769f71dff774d558e65b9096769a1f7372d61692092893d8a9113036769e3670a93b79bb8b187fb6cf2532f8e2a6de6984958160fa5b499036a6192399849bcad57b5b2668ea5a5dedf4cc2d4d9a9d4df9b3a4d9deda107410f9232a037a2bc6fc32b0aa535e03bd48ba847fdbd55f5a34a8c9cedd554e5505716e569832a27f536dc284c7dbfa157e90ed4940db7f19a3d7cb7c90f5dd5cd292e394d3893cee98634e3cfbb1e66507d1b16a5a48f942fe27cf21d99a7b84454ead0dd7514f592ed1fead3d4a3c2017b85cd9479f6e8b1bd74929ebca312e962205e6c1f6c6cd8d22d992b1de82699f8eb977ea44fd27fa81fa1be649e6430be882b7980ba4b2fe611eb116a64d6477dc9e481fa91c943f5dea374a2ccabca915f65d293f9836fef4c31efcafcc1b76907d39bbebe499f3f767dec21890389a3b4c5af9a03a52dd2f24527951ebf9b2e364b24f3bc7e6bfd5a6f157da9848ede75f9297df6d8a9776a555e7ad3975c63cf9e1abd0d5bd275e392c9543251a6f2bf77738f4c1ea52571942992a636ec0ee0f6a764a934799fc2a5a9748e1e05a352a64719e51789de4de669b7e94f5fd2276b66639c52ae70ca4aeb609ea59db24b9f5ad9a527a53cb52bd27ba814b3b432cf948dbfd43a9454e69977e953262599286f3a490ffa131ebdc9491cfea2af648efc2211c6d84f92f983dd3dbc2dfa90e8453fc2a5775dd2271a94193fc949fafcb14533fbfc1e9b3d4a5bf4e7272acbcf4f8099dd637f3fa386fdc41088ba330e9416abeedc430b4a7b86d750a8d6e7a56dc35a52a6871694a76d534e5e8e6c5977cca31fd526df184dc21e1d2a9728faf8edf7588b9b52503bf67ed4dfa3dcb10e778feb6c363d8733f894741ebdaf0e7bea77c770915c2421918b24248bec93854f9bfd0fa3b31a9665ef154212f73c3b81652796765fb03d7d69927bdb36ec79b39064dbfaa52a563287bceb5f17e49f2c6c6be61fea0a529eb06dedc3b293454a38db56d7719bedb13cf57a1ffe70ae190cc59d5bc1b186e248d63a9275a7827c422bb5be482767732c8eb5d9223ebb1c8f4ec5d52215a7da7eaafbd8d227ddadb45aa19156b0668b7f28cc773d22f7e75a91060ae3258e87c4ebfe9448d823b0b0b496b75e2dae1207a7c4118db2cef3bc97e7b5dcf56a71794b8bcbcbb9e77ab5b85a5c39f75e2d2e6f615a73def2be8c5fa00bc3666a60b8a606967186cdd4c0f04c0d0ce7991a18ce78a606e67d2f6f71f5dc5c4fcf88e479de8c07baf7b5ccc05a3e18ac25e3bedc32036bf966602db82fcfc05a3ef730eef31c626f066cc118d760b2853d57cdcbe5bd5e2eec6157cdcbe5d5bc5c1eae79b93c71bc79181c73622e5743ba44994b4c26c662b2511c652e3199e8129389a34b4c268ea24b4c96c3990fd6d2737118acf15eaedc2d972395685c632fc36864b02c93c1c42cc26864b04c2383dd5b166964b0ec7df7963d11f4d160984b4b838e5d66f0cc4c68c361ce6506bbccd870987399c1b9cf16925f2e977301c118286a815f4baca6e5aba969013fb02556d3f2c56a5a3e3056f385cadd078e25ce8c89422fb4108d5686ca175ae885162a5f68a132f44203d164d92d245df04cce068eb1af06b7c3e14a2833d7f80b6b662e35a18b4b0d2804d5cc5c6ac2994bcdb585a0994b4df85d5bf88146335cf3823dd80b0c4692b0dc0bec0546e65e72be2345b95cee05d35a5acc2f9aec9565b2d798c7178e267b659aec95471c4df6ca8ec3638971381c4d14451a51a388986606cfcc884fb078a399c134334fb078a399c13752e9091643a51be976a34121d1d041d2a1a3442ad1d041a2a18354a2a1835422d1d0011acd42171b297a0163b9b1a465194e278668f0cced098a69c638e27166066d66a4d16644a36866066d669c419bf1dd289a419b19b1ef462c32cda0cdd010c54fa44123d2d0946299a34123d2a011cb1c0d1a31e73ab144c9e572346874e450874be8e2127a1286703a5c421d2e4fc2104e874b887b12864a381c4e479eb53409ce62602c060241b318388b4d01826631304fe120529e9162255f489d22f38b2ccb6464924cbec8f28b2c49265f64f9844a92c9d1c97c499d76d44eb51aea84da513beda89d503b6a27d469474d649a31d27c57a2d0106972a1928ed0e50988340363b729c8d14b96d992984e3540a00c92d598c940b399ac042ac96acc64a01a3399eb40a51a3319288f3ad7817249556326db419238e7c81d2fe4cb0be90949caed782177bc3c2149b91d2f64ee09494ae572b91d2fb571acd1461a6d34c538c2d568638d36c538c2d568236e8a7184c2e17035da0c1036030613896033603360a2db0c9877f344a719208c464b873c7cd17079852e2eaf322c5f361a2eaf9086cb2b2c6d345c5ea1db402f4d208dd02b147ab1867484c00f69172150470c8cc5426068a72306ea8881a19d8e18b85ba580219494dd6ab7d3e1620513b38a894959a5c0c4ac606256293031ab94154c4c49550334ebe921a576902f4f46a8da489b42749a21d224294d344297108a0e30b6134f375023f56c6709c8034a454a44ca77fd81a4ddfd7116d0e2d38dfd592e51e29435a831f7497942e2f6943ba5ce116799832bc1db786bfd7d727a5b3ac233cff26616d9f6019fb96d58b15561ea685ba16fd59ddf86ad7bd421a0de08c96074c8423a74c84c53844cb21c8c0e590846876c8a902907a34316cab92942d9e42297cbc1e890c580bea53d0c9a8999cd8066b31994242094195ccc6c0614339b490242c1c5cc664018970484515270385c8c375383fc96f63eb2a6c64b0df9f25253224b35355e6ac81a2f35970764e9de6abcd490dfbdf180fc4aabdbed56c3abd9317e4b87deb746d80e1a6ca4d160a49104db41838d3b68b0db8291746d3b68b0d1bb36bf2d183d92eada76c02829535bb596f82d2df2af375aa34e27be6a342f9186e635d2421cbd76359a9758a37969218e462976359a97e8af73fb2e2d441fa5c25d6bb7abd1bce82512bd58eb12db1e99718e2313db862fd2da7af532a8f51db8fb1c6f2e9d73a41d8e08d66c316947613ecfbb2d7f92b020ed483b1218be909718d956475df6cfd24dc9969594889c241fd20fa90969d7fa9cb339e7d2f5c608831ae355d4d711e38dc2b4defef8020a237a7b8e4a7699cbe3ceb6ba5167db73c46dabcd33df76892382355bec9fe75dd79fe5122c67c1a130beeddb00e0b1ac418d09ebabda6d9f0614e6df3eb5a34e49fdf351e312cb62ff2c916c9b714a24b67d0d5257fd1702708d3aabf31450577d15fd8092ba68dc9e2735c655b0d3a3d363af405df55de8fa30f5433cbbbe0ed92ef733458db151f8cdae361a5057fd141d8304ceae3fab3f83db4952636c0d74b81c6e7f81baeaaf740d5b93ddae35f7e6351ed4980a067b2b8bdcb60f762c41bbb616d498fa83fa20a0aefa295d13b1a0d12f2d6a4c08eaabeeea6e53577d94ae3f23a42e9716d75551636ed4577debe3d9badfeb79dff5be0fe39c419c41300c45710cc57124491028448242a1b2148946e5d8128dadd1686c914863ab848232d6132a951aab6a6c699494dd7a93e9741a5b1ad57a1135b65a99ba6a27544ab54a71a1f2e22b0af5b158ac1573c55adc97a0524c764d7c9cfce420f1a236e7545129d52ac585ca8bd7268c578bab15bbc1c586951a62c86061bdd07ef6226d46a39d2a2aa55aa5b85079f1da84f16a71b56237b8d8b052430c192c2c180c069bbdc06033d94c467bd12b1cb09ffd0c369bcd6033d86c3683cd6030184c3683cd6633d80c565f565dae97e9bceb4cdf87e9969769bc512f43895e36d3e3cb643297ac45f682c15ce7a81be6daa1e5ef8ecdb6514fc91c94cc41491957cb5352e6f5fba461a8946a95e242e5c56b13c6abc5d58ab9d8b052430c192c37b0622e3a4be06a123074cd4102e7889b9122446e80d846f0811f582c3262d4b062c30d306df74bd71b2c7582c579135fd8d9a14d970811362959f50adb61336ad01d8a84e6a812aaa33c540ada4399d01d6d427da813fa43b1a8b60aa4de5422b5483572848b2351736a12155797a83a3b154955b204e4e6f9b1175f744ce730942f2f6f61c0a02c374f10fcc8f9a1dbfe8367fb0f29b6ffe8d9fe3f986cffb1dbfea3c9f6f387cff6ffe164fb8f9fed3fb0d86e63db6e0364fb6973b3dd86c8769b22db6d8c6cb7b96db73962bb0dcef6d30689eda74dcef6963f6d92d8eefad306b7dd66891bfeb4d1b16162fb69633b01b69f3a18607b0fdb17b067b63f00c69f13d82b7f5e607b06b6f7d8fe2707b6ff0023e3cf0f90209c4c669e3f76b69b67ed632f5212c7ec5dd74c993efd635f491cfc69319aee517bf6cb4caf70c83ef631f3b45b66aee8dd5eb26cd676840f1974d5e2589a35810c703e48ec50b7fbc8d1cae1fafb3e70d81d5b10fbf43e70d01d5b105bf43e70d41d5b107b145bef2307ba5d9f03dd2d3c0cb144ecadecedcd8e792c26b3d5889e99a5d126c640a598b12d926d3f26731287dd2b1c76bf3edce0b6648eba5f5fc91d5aad8fe9bc2bb983ebefcb5c1fd3789f3ea63f7b127d4c7b9b923bd01d9b6d8b647afc98be9b923bd41d9b6d8f62cb156b791b76bb995350ceb0f66d4cf0d9a7b5a12c0c4a5b51d6a8fd459ada11121467bdb4ffc97b5294c9aac9f64fd12a9a5ad68bf7d7e60d11ff9691ed7fc36d5b164c27c1e2a25ea94109cbff7a36681cea4662fbcbd039d04da9cb05a6a9a5d53450967dfb2b4ac362dbb77f83aead16fba6ae39965591a83855455717ba1a49d175a52b1195ae37295d51ba9ef4082ccbfe4b7f4073a047062e3012e907ccf4f085480d7316fb3234a52e27f663d8af4153cb5ab10f8305cc4ab67d1b3412d04bdbdda2eb76e9ba5bbaee1b34dd9edd2c6d37ca44771982597f1b7f9e5999708c86d2e2585a865f28655c4f2507a2fdb7bebb29ab3741c23ecd4dffb4816557bdcb54063d9a03dd95baaabbbbd7a8f7b8cf1650f7454a61ec8d7057e640b78fbac5aed5bd606f15ee75a1de8f49793dcc852f6f01835ac8610f2852118e53886416469014a4080ba031e7518ea23c51e47d1f030cacb5f7c6b2ce192ceaf217cbd11544249e51c90ae525a154a164a202ca6989093585534a0a285514522b9d2a058a950b28a4a83cc1c50b252aef8417309af02996c5c595f132a13c73f617358c9cb9b2041835245989a1841a642089c17a42068b132c1b9a60b961c78656126e7021a135524b4bb12cfe2d240e607884b23e8a89f2646dafae229bc290c185af041840c34e143a2dac200c519438278228efbd5708fbb27e257402075e30825401985758ad19e05f418215e00c88004519fcdc20ee1562c65af9d98c1a206c56454e15b77dc23e2c88d4df8edfb8ebf77d5ff6b265d5ff28ad1fe8fbfeb4d99eabb5d4e9751ea54582484f1f6c6ab532256da28a1bfb950891de28fdbee81e8f1a86d29f7a7dcf41da5e738ad85930410931188316bab0d3054b440936388318d050029c226270b36915a8708517a658c20a217aec9017e482e42c518114a86023a2850c497c80f0822a765adc5821db8811167c6005503429220cb72c5630c4b6e20a244b70428b268c4188101ba683206c3f50e8a0c10a376c10082ce10a25ac504416d0708405425ad1c3441a98e4c00560b042d820f60c58bff2e5a700cc97c81048c042146e8002218498f0e44704cb411448279ca0c10b5610852498604bb0c26ad9d8808a1ba880470a5a2c016783d0622b41084a7041167c9498420c6e589b11ca8413700109189c00842c84d8a20045388316b440831341a0e2c6d5e28a5d7f7685425963dbe834a10a566ca108cf11306451238a5b14474471441446a230426bde9721eb7e08eed04b9db4f7ea7b73af9f6bfb5763bff93f5d97a82ffb589b155785f0ddef7ef7766ffbe62aeede3c4d6fdcef26d2df5114cccb79392f67abb04c6c8fadc2cb79b9edfdd81e2ff70111690fab73661d2c8dae7056382b18ac6eaadd0a062b9c15ce5ee954bb158ec783ef5e5a6219fc7db55e4c969fa4fc118f3e0eb10571dc5e35d5b9d61c4230e3cfbb6eed577dd627ca4d29a51413f9fd6dda441442b6fdda4449da74a7896dd3bd53829b3671852c7427c8b113c40a88c082114eb8028bd6103b1c25482842480eae30e2fe2049163a238458810cac10e2848a27a4808214b6a8821169a880ce0a1f2d84384218acf83982025d58c212392c0c51850e1a84b0e043309bf60e81b169134caed8e1a64d302943fe516deabd462c000843a08249ae086510c30dfbc4868920649144154a8ed08488330cb901eb646101040b1920b94288179c14b125d8f64ba87f6206426cfb2d984ecbe63d865dbf6469d95e0f097bd217452f1c61200882d9a684ed9ce3b5796493da519fd7c8a61afc80189e36fbe6a8d0a1ef77a7bedc1671ffacaf13f5e58fe9767d7396e5f556eaa0ebd646ac578b52c996ae59412bcad57b9f52bd55ca53fb748b1676567cfde2b17a3fd789fbd82675b76f4cd197fe92fe9ae228f5aaef51a60ece624777dca3d1bbd0a8d1e8cbcf66a8d227199429b3c7b85377975ef5287d9241f9993ff84efd994b8ffa4ae6c0c3ffee94c94364a65e759a41a922bdca1ff5a447d55d79903ef5a5b7648e54c9648e9e64f27037eb9012937deb9094bfdafb8f944901c17b6b75d71a28ed6bf2a82f5ae9b3eed50876e9afae5f4d94cdfd92761f6e7a4a8efe3e36cf3bbab83eae9594a9361cebfa238d7a4acaa0ccd3a696748a79d69df2579bbc216ffa8f943199b4572addede2d6702ce9baebfd94a69bf4969439e2a2920950f930cf7015d3ebbbd0959421bd88b53f69dc2e7a4ae6204a7dd53368ae7a5fbf5f89f27f5f7becd163534d55d28b357fc9cdb36e7d96761dbd973e7fa53989e4a629e524f3fcea7f7fdae01c75e7afffe517b1a61b9332e07b5ead6f4f7fdfc91dbcaf8efa9477f35cfd35679478e0f7c75ffaaa6f7e5799bcd1e84bfaecb14b2fe211e3a8e60a7ffd94e89d542299678fa1b3a8348b5bca7ad6a9a1110000000401f316000020100a064402419264712a487b14000d6eaa4c6254aa46034a0c822088c1286298310410038c416480c684340a607a11c1498d36580f40dcbcf9339b9eeb52de7a3e6dc3a2c1bab21bfd10ebe6b79af3ca33d5ba6feee070062438ae8016201126d19750cf77b266a424d34bab14f67cd5d016d14bc21e60de5971a632a418687d01cc27b2e42eff78d460a847666d8fde5df319377101cc3f15df50061a0bac0f300887c0ff7948e53d30d6b1fd070b7cd5ac01c3e09aa788cbac764a20e645e9185a203c6152431dd1fc6fe7e85db939500bc44fb8709147b9de41f2e92f2e71fc36d5871d5d5fadf4eea8900c838de4640ae4d8187809c93bcccaf274dd26ded4cfc516bd993ebe12e4fbc1763b35892ef0d168edc0e124b03b03e693ca67a800bd8103fff0c86078d20865e4dd4c20e7e4d73fe84802fa7038c7ac45039ae0c2c7311791696457fed589b945f51d3eff963f48e6e798d9bbece74a14b95cab8d7e947978ae0378248d89d326bd075f6abb9c000fb0b25700ddec86088a71894afecf2c27425d8e16759a4b9bde2df580d52198114f1d6e81cf7710ea3c8efd74a4a6b235392a687dd5438b388bc74b5ea7454b9f8bd63e27527a5e4fe90101c626d4a9e0b063c3027df8b07fd0b2882fd43c8634cf43f3d4cfbc0633efcbbce9c9871d164f654c5d52238519f118c65b301e8e52af83296dbd6c76ccfef078b35a61a8aa4746bf07bac5e13c547a54db0118713c40af18b1e621365dd3931da24644f4a251aeaf193c4256a8e73635fc048c2e7292453ec38a827373bd1a2fe10bd635699ae25add88e21ac3aba0415d4ffa45d39d05e3eae985e680b1995ab1a1fbb41de8d4446a70981d2386f59a11889162a1e096f40262aee73eb7b99e44ecb6f313f5d42eefb8b1db6514375e8d2a420e2d53a22f9181b61e3a938afc103030d06fe8314d0f77a7192a366615fad844b2e23eebc9a63f1d2d3a45ac8fe1acf499b2f285f789e0ee0b68bc6aa71f1aee02767d8d8d9e1c606a22b15b2d4013177d9586f9b07dbfae5475464cc558f9c3df699bc1a682a1ee94a0130dfae07508e26d942bdcd8423182416c39a6771dad82784504fb70c94e25f088995f24cf028957e22790d57d4fbf31c48aaaa2bd15843c3cb8497cf8ca36925139764a4817b61888b6f200c350f77101eb86d3099d31a2acdeee372caa75d51f30b0905abed8cf7dcb0c13a74b329c755bf2685078b496ad9de4f16a66e6a56b7ba1c3fca6f63b82bcd9e5bbef5205fc07fc7df4badc39dca473800e2ed5022f68fb07a49ef59f6815be30f4a892261222d0f6ce2e40c5593130df08140dd455bc6d5884ac4489b532752f2e9210d2530b80646a03494b3854e6c0e8504cc54dc8a758b1a9cf74aca55c265f1ca4943a35cf22a7a8a7c70e216ea629d6ba04d78c12d89944e4070fe3803bd574529244201d9077095bfcab6ff93b469dc9ecf495b7c274173a895154d67cb43dba9e4c30803698676aa433a656d7fb54f220cbf92c7fd95d2736f75a361f0b11501de27d961d83905564a45ceac7b263c390dffa35b61396d7369fa14568c650760e34da980c29dfa0d8840d06c50ad7b3032ad61e12fc9f00293ad42caf5b51756ab69dac87887a4e2b96ada93620f739373dcbe5df3eeb10b686dd421d95a610a1fd1171b550af31bfdd2f5d24b9f0fbdcc2b56616beef2735bf38b30878af0f6fc2aca8af721195d6bf9fd60f51ebdb4efbbfdfe364825009cf6a4c59a103521a47b78cc871d31c3c8d062313663d8f245229e1dde254bc43738fb8a2b312b8580bbc47b2244f848de28dc9c827c99e461955b6543ce594cbc92a588437f122a71f1beee97bfcf8a73ca138066c25a3a4fa5376cb4f111d0d9d6a692a38e34e1f0063eb5c0c287363e90b130d620ee846a4a4b1990712120d086a48e042524c4a27f087e71339733af5b2fa025cf9021be48c299d28ad459ceea6c16c59a784573e5d9e0fd2f12cb70bcc1f0702daa7332093f0ec3a001567e8663f9adf1a91fdd708e9af88f65c4a4b2f90822de837621bc2600a00826bf8415a2d2618255b298924870871be6a009542ed698eab6dd81e637a24e3e1457aa08930f26298c8f318e59795e08a96a121f23628d7658a8fbd225cb6e872dcd41eb70695ebbdd2d786f51d6b321120673532abc5cb861e53554ee68c469145f6d411b4f22e49222a360df6f65498a039572bddc49a923fb182ca8c8c5615a5756f5406f05d9c01880c7056c900cf6a32e05b490638d68b80cf6a01c05b5f0078eb880d70d16514781fe56a08ca958bdac0887b904c9ccf8e335312a3e52fa7285c52024780c4e7a3c80843788cf836b48876d72d1f502e87b4b4ac519f802b86bec5efba84bfca86bccb0662d54d6753453a5cdd94ce4437a59b50c5a4ccbaca2642ecada5b168ebcfc67332d7ffc6e3ee69f4b87f1b8eeb8f86e7fe69782ef91b9eab7fe3e1fa6f3c2e7f1a9efba7f173e5ed86f385fb7cf638cddf2a0cc1c984ecd127f515ccaed9028decee4e2644c453687c7eb2b2ac2aff046f4a37b1a2fc4fa828ddc4d54a37b1a2f426bc28df841aa53fa1a6e426d62bddc41aa87477fff5c5574d5d74e246d4c63e6614059f153b505a398f4a99f32bb20961e6a6448387d83e3cafe738253340987a73ab99c541e1817e518d6b84e8af8cc945c8abe69a70345a72f4b422a6212931298e02c7e6b02580e4f1c81936c4f1839709c6b68fe9a875901b0c23b4e41c826365040d650e3e1f47c5499b98ed9096620000ad6c197c441c35688c43cac7455787834d9ee5dc73a54be3578ff8bee5dc63b162638bafaf617d5d6582fc339256380095c9a0cd3618bfb4841966eae197b330348799ca8e2ad0a19c08ee30e3a58363643b083d02cd07073768d49193651f3dd79df730031a86bcdb4255cc6db96a5a4ea12e87ce30b9197df1cd5dd9b49ca2fa2b8eab221de846d159b88a2a2938ba4f2306e3af8a4e833abbc7b42c44f2800323991f735e749ab105df3a8bf6588d49d1ce7ca3ee17c638023df3e814099ab8733ff75590d4581f7b95a7bb48ec120119db17d6658d0c8a371217fc426299bfc69483db289f3b03d875745fdf5784caf7df4ca78635f545d414f3e47571fd9495a229d59fe886a13c2950e26038c84d68d2c75b59102462d5c3740f7d66377a7cf61af0af5ce9c401606828df390206090065f53fa61d9c3e6490c78dcde034f44ec7c845c4c0d49bf8a36861965f19213591a36c446386c32cad49df159d2558932a52eeeecd545e59d7bb0f65e655463f209d55e9e435ac241ad74892590843b01a6686a5a1cda441d6c55f7e0dffeafecb3e92f8ccbde8671547e9ea98c69218153e0447e31845168b9537374a7e979c791abc288d0ed9255e03718778265224fe32f749d0e0fd6d58581beda97141d380a8114c3a929c08490b2a52a4d09ed34a6d81add48000e63e2951364d2ce42992b8b324f16489d6c5d4905cbe626cd5b51c963bfbba6e213d45e185a4b54031084c3edaeed8dfdc63115f67f5113a2ca2126427a4d5ba74ae47220ae0486bee0baeaa5c8bc9ac862175ec5534d76a773c6546639d9f89bbb89b85d56a9c927d621a4e7d6cc36e1d07860910a65ea0d4b0b55b137b40c55c95ecace8a81359ddb407c071a278279b704a1a67071d6788f5350a0e27cb4056fd4d4fd82aa1a41ec2ea2be214c46b3853cf6d284f9529e6045885ebaf4a1131b93db7eebbf1255dc0f65aad8b39dabbd3caf731559d3be50a510c7e07a3f2c8af6c08d5dcabd69d208ff0ff7b751dafec6f1ec74c16eab0fdee78456c47c3c95f101a4fba2067456ec7c2a9ce8f037223e6efea1d082b464f2bd6193279a1143075af03cc30fdbc7c7c984dce019cbd73ba0bf98c537fcee41646cc1db2d7e47284e68c203185ac855ed6469836cf0495318a5a9849cf760fa677b2da19ffdd59a5112df8c63e1d68b3c9b4d04a730c84ae881c55e2712d7903051514af3a1d435f9c1515787c388a7507e0af79d9df08896e0184ce17db9272aead14e1901461cbffac795c20172ece7861ad83344da44179bcdfcb2f4dd5fef7d7bbdc149310efe064e91808a2f256dde4d4b632824429dc16cb7e0d0a61f45d836ee4e6432d0666371923fbdb9b329fed84e195cd6d2590d5e6e754745bde93cc67564c1caf03223321e628e8aab13c856156dab23c6798f4c963a4d49219aa6bb48ad61667e660a733ab98ed74df70ad9623e545b5a25240a933321820cc4043c68c07d321d2eb5619fd100432b98a8170263c5562da71318f823efe60db0108a508af3f3ea12f362cd697f0f3bab15865f0d03f18c589026f263b97d46957171393d37e27acd25f9b951846c87eb2904bc51052c697f235de1b22f71f611e9a1d20ba07c9198aecc8ffd40a492f8b224a60d00313b9969718057a88b763e75781cafbb692f2da0e165951ae815ce24d2ca559d2ea3ecb6f31bbd677c379e69a648446c13938f78911bb3b66a58c57cc2080d7d3f62d5f051e6c258b08153174d65d6d2f4a335ee9d89658afcec7d0aa942ed57f7f9aaf21fe9bc00168730d5d903454ed8a6196d6dbcab531c45401bdbd18f2a2efb2fea6f18822efda9bd868794c75696591212f6a2e28e1dc981ce51017edd86fa4a002d4be560cf78887c9d32bed13199747d41830e92faae9b8503e5e7456bfbab6f062c3393f5b0b0f9b0519c467152003e9f43ae7400d4d0283b82c5dfc0775dc4377034e9139e28120faf0c911a6d7a4a8cb5d1b86e559e1477947342a8d4e987cb785f4c9f228218a86062a1a327aad0fc1fce50575da7ad60de6f7cf10b17d0a05d3ffe53288dc213176132266b11e8a774665a40aa7f3ff7d556d8f15f37d27d20f555303ec8d5526218c1293962b5fa36a3230726600c90901063e85946751e4d1055af3279583db6e902153f29be327dcf0700aeb9b1a0fe303c633b381fdfa0bf45af343280157ac1fc94bebde0f62c5a793110aeffcd20b8b0c533a211f998337ef0cdaf5e922f692a508e4da91f3df76a66ac829f4146c1581c46211cf70bad7f456c9b127ff82f23da4305faa65d507e20293500c0ab7a9c916d2143cbe75f5a8783f3707387c9777ab2cbe970311f142ba0ddc52452919c5ff47a6ee9f3346ce39b63a4e5a6205f4b0c957890e658d6cf96eef229e781c761e1d1033862bb9f630b5399e832df86091b597e77820429b4391b77796744b14054029e6e107d218c7111c1f088aa5ada37c5995101e7173bc4e989ab13fd63ea0b174dceb299433ddadb9f7500d0ae0693d49c9f3ab42fa08be5b9da71a93f5fad5825895898642ddf0c2e7ccea4a54ec7042a97cf783e8f5354d705dfa310d1a8519ad1f042c7aa03545ed7813e5ad07f0b128616659fe46b310ec5915e771c1dbc8bac7890cb108a226b46d373174c721e2d0811314adc64e66a1e724d55021e63af6f186feb8b8109da723f9ce08e6f33493295cd59a2f8f222c5617fbd413bbe6aaeb2ce17e1da8b50bb35b4e4e67c165f205c3654f20253a2afb5bcd47d30c208ba5c9353a394e8c3bdf6e39e99579c640023e0e284c7331a29aa3f2d36e77c7dbb66f0e789af467351914963f1734a970f3c0305d3deede726c088f930e4b6b9c77970dc8643d28be673e5a67354ad6fc958b2b8122552e8e25798b515a315247863dec3141ce7d12de7d90630329df091da8864079684ce20ccce978148b4ecde39a8059f92ac735c2f96ef352571cde95d22044b3ae45bbfe5b492304b5f60a9c855dd0bf5129c8a375a45326ad731d0bfdb96608b75b2e5b10fc8eb729c2ca9c078df21eb1cd1f3d6eaadbe5843c340f1fc48e3e08227f96d563b638c1e119bf2bfadc0eb804a393df48ee8b91ce11998a5f613a3680bca62d6004eb985ecd6a720dd8796a020412dc83424d6f940daec58579d61ed233f5d39bf13fde8776e03c0cdf84ea457a76129267543c7547766e3eed62a368d4ae87a4078d2192e1555f61ec992af8a01c406f3e583618f0889ec465d07122cf14a0fdab7d4139c15038021d5044bb1d82174ccef670e1456581268b4df4e48c6fcaebb85d80c629e2a93e47da2ac844cff315aebd55fea3df24fb87a22d3604dd3de6ca8e10f87247e2db28d5235b709c0cb098071c5b3d34b1919ea7ae6c07bb3137714edc79d11ab202c1318c416c272cb094701541122852c46520cba6999e0a2ca2a7a93664b64bb832495df0a805b37a0d478edc58875cc11bf70fc28088ac2d0d71e4d6aae66bf6c57a664898e5702b83f65cdb9b686777ef037e8ca95a46dfb89de58f9294caa56870cebbfccdf47c03ba2dc2bb30748ff1efa76f54266cae11ea550a748f814b677a96d85ddc8ac1d09fe9a99aa223943334b5ea399d942c28636676514b7485639c194c0f78fc69ced47871d744f5c54e40134fa566a8d517a7ac04b1452b159b2751380432aa201cc5458dce977a77c0658770e28b16a772e428b245e81732f2424d53f5ac15a97692a300c737eef64e444045330a12f1404f0cda8875c3c74ea47277618892ac33ba406afd8cdf7694c48ac4fd4a62607b7c8e22ae754ab702055ba6342f0e599c95c693d40b2accae03242b9d8d9f0abd700d394e5e285c4a6670204c877056f25f3505a82d779d4c0b098c76991aaedbf7ab332312e99222d4013083a82d8e7d9c18db280afa4386dc42df5509255178f33f9ac793cf98c7e5ffb61f9679707c359e656feb253e6350203434288bebcb0d864bc88e8211591b855b62cd57b1f057b33d8ec5a9b4be285676246bed734a5d6760f1279905c179553f21d5ee8ab119dede0581a3c2e75b63f0f23121980f0488e17a9bd4a88e7aa71a8b7fa66786a883f8f9c3e03e950a9fe1158491f36f085c065b427b8e37f3eabe10887c668b46d2dd138d2ad6cde5062350de1e0711b32db1ef689697d27ac78658f82aa4c3a581931289c13cc71d76b48a307df8cb9bc928288a44f8e9957f94a7dde846a3360f2e439c8e08e90b3ad4f0b80900070cff0015088087ae1cd489286d6a044d0ebc0f2c4bc120a8fb65ffa23cd16870815191ca93d82bbe60194d6a342b93d58414a1a78dd85f7099597aed709a469058585eb05c0f118eb3c4ce47e255cd30403492f52e35e432cccb512ff1e0a061677c19d88a51ab60f44f1ff1dc2f57ee9ff11e4c4620a26437519047537cb9ce625f67b426383917dd6af35ca74696091322c91d726c402ae4bf7088e18f710d4c4eb874e0271e5de69549490166d454d2303d1b2ea19a0ec8a0a75edbcc6ddfca7062ecf1f5603efca6d22b1f8cefd085b6a93047f00b3dcf57022fd23e3072ce7ff546eec4e3e34be4016478d561be92096a19cec51eed127495549b11c72eb9c0e83bee08d3b5e9f22a900274a9a1383763a615cb5fe8877cac6ca61b0389cc14a0ac8976f6e042791ef175cbd00dd1e57f6137d35290d12c853ca324e80360d4e1422260909d45b3fb05a50677ceaecc335f1ae13a3a084a147959f728a0eba84d2b83ad02f9c8163614de84b7dc168dc634239ce3140b5aef5f195e819b31d0a7949634f75256435d5621c783f0e72f57f5e0236c8907a7fc1c45911d34783abe25005408a9f6b3d93099b6bf8bf9734d8386f9056ec8a4cbcae6e4c22bfb2ee8e030517349571ec4bda7fdcd5a0311f7f608bba3330390439ba5c4eca7efdbfbf02352bf464297b963eb18b4a09671d0a770141a7e4020bab6c797390053a43a89e1b6137e38b8b27e9c922f85a8aa8d5ed2cfc0d7422da2dc484f898e172dfc0dd13f1ffd5ecac64fe94f671bcc707a4cf589dbcf06b9581d793082f2659d1bd88be7727570379ae70ab91ccc115f0df7f482969b2dfcb9f093c1674d9b9697a8ec57dabc3c095b6ce92b92997ae48659e1a996f86c2fff5e2fdeecbd298459df962fbd27fc702d44f9046dfbd523a86adba6657e48ddcc90491a1af08f79068df7d7cf3d26d30ad731298bde185f29c1f167eb0ae9b5558d3506024cfdf45ce4426b122a3aec9d8635b10a1c0701122f63e8a37085857e3e1b528594fee55acdbefab03a1e37f84f33e3fbe57f70667976b032bee3f3603bcda9f21e2db4e356d1deaaf7ccf86971f15a9348c816d296ab66b5683691ae59d002e85e0a95df118b1bb58c3b01eaf225ae9af63f0af45386964f412c1466abe113dc5c6a2c63503213a247c65671ee19a192e9b9a1aaddd459919fe11e6957c548ecb6a903b7178f6c8e6dbad3361a4ff6f5bd23a0ae00f1c58c226d4624feab0bc9a983e2dba2010297bc480131f6dc2eef3a868620d88816863cb4d67752b7a983a50795373328725dabf752981606484d4c81307570e95d7e71f5eefabd2532a49171783aa6802db4ad89c195c0e02cf3611e4eae8537f9e19df75323020aeb673cc8a05dba7c9a3bbc8e441fdc523cd0f06f6ce913f2c13a137a17441091ae6814267dbd9fbe1f50c04b723364cdfe02b3a5f6e1e5fd3c332b02a7f54275cff02404861748327128fc0f792d31725ff0eaa3d1cfb30d44c9ffa61a835d2874b33d922e2097a36902784a72af76c56a88f5c508dd0ae8cd217685965df5c4864587079e5ebeb06cc1f32688f802cc964a1cdee7d91accaa9be9679c40dca684dd830826c8358dcee153a6f556cc98357b36cc96da675f57a2de82ddc1af3e837743d66a7aacb035cd32c31bf996b56cba42ff8f46a940cd852e0109d98ca38a2fc71be3b3c8b65bc91f81f40fd5bd17f3a7088a22d4948562cdfbe4d9322d6adf0d69e6314435f6315c6fc597fd064000ffaebd39336908f4748c1a026fca3a6ba75e29b1ae8ea0cb0d6c9d6157c840654295127b1012f006dc9e055bba1bd79e2129823b54f0cc048869273f24bce06ca6bacc4b919a2b53a15b202136e3e8f2cb71c1f92ec2e276da893e7b0ad396d9d5c446bb0b6e836ff62c7446690739cee52e73ae309399eaba0abf755c0be5e0742deb63eb91e368b3a289a9fe461c53110fc3a6a5c4aff0fcc589fd43638d91d18d87ad095b172f8b4bba496249b907daf6458065f545bb76d53a387d3d4febd50166900ddccbb6897d2a661f479926f837cec72a2d3725cd0ce93ba47b474482906f59815a78af29c5e34f5408dd8ebae9f9290cf4234056c4ced562c16ff13223c777059e7da0117e9318762ece72dfc894185c0fcac2ff6cc0d712a464f2e4ba8317ab0393f5a38494d432cecea537388b1959b6c272d45a967720a236c686aa024cd93b54f4bc0990e1263d58590a950cba4e5b17b45717a19b800447cad9e4c3f18ef1a5f2dbcd34819ef7152696d89b3970229baabfa115a0953de4092fbb98603c7adeeb125b495c63134f9147f6b2c561b1e58ad8cf51ac9db739066b7f871829173c60e2dfaca254aa8962ab47c2631bd8ec069db1e6f0a6fc158b5d71f6cccc9b7a97f4500a076bbf7ce5e530dd4b3e90eb658bf8a8e8c8e9a6ee5ea003fea697bea728fbb8cf468ecb9e3feabe89d21f2a791481e593ce29de324d1e57cb8bde646f355cf25f7fc17c374e12b7979e39073615898cf5ec2331aae070462c5df492cf2f4e5c144f3e4475c186a10b377a95875afccce4f8bc806f2fe8606f0296bde354eef4b22586eb418bf49f81e80a5c5ee058b0f059fd45464db7e38df74d46dd5acbe89314a733ddf8d59205d80293c143a547dc302c5ab7fd3513e10dbcab325b83a3063e4418205328dc69c7b04a4b2f68ae32a177010460ced9e48be385f1a1e4dbcd69819ef7280c96d9b739700237852eb2be0007ff034d0802334d7f8c92bdf1ee96fba4f7ec717073319e7316f1c6ee2826131c9ed699d00019742d04f210fa5d9de522be425b472acfa1fb95188fb49263907173e9d971644391e8b0de3e10b3150ee5c45245aff9fcc089bfca7c105bb1a11718050058f0477a17409f8fd081ce8e5dc209f1181b1fcc3954e10a2c50ba6fe299aa8f08ab2bf817fe608104a6a8cb3f3868c20a99e7c42e8a776b47b605a76f44ef0bf0d79e9115299b7c26c4f438a7c4d68b6880ba713273bbf5ec38be41916452dfe1b30d4d0bad8a079815ab780b7e9700065304211e8ff8ab4344a770d0db3e10dc5f53e6a0998fb98768ed0c59b6ac829016dbfad0cbf12f82c77ed0c46e26063bf741ae77644bec6b80b662ff1918faab058db86e62cdd15e5a3c4e7f25c69d4b6fa7666f5ab3790138fcb51a1b57bd5b70597f0a48edafeb6c5cf77262d91cd6c400ab5d99c8bb55a75a953a02904a56127a5df27180327a44932173915a691011e63e13e1d6010461e25045a7c386f559c4cd0daa891ef7e88c96d9bf2eb0e8d39328527f0d2db2bf002efe0385a8b04212b76fe33a35fc79964f65cf3e071b8a400f75f6a2189b74082e2e25788de7074f78b58c83f80a4d1aa13c9b95d3a485622de084f1c29e0f22a8b71dc4cc84c3734129c1eb3cbf61c22b327f885468694bca80b5ae22e38ef2251e8389470af84f8c0d537381376084c362d3a268661347a86ef8fc62487e37f1070b502e49a9e07501728b9e035e160ef09a9a7a85a5c6c5cc2fa7f4e299a29911dfea72ed071e648a1d39dcde17baab9cf04b108121ee8e9a730339982f9df4bb82acc77576392c0bfce9004f2ba983d772346ee1613963bf5ece768a8b515a0e327b09cea21af21f2689bbbe878ca30dc5a6c451ca6f6c839868e95068725703e541d610c4039023b9269c015c34628c21e1430e60982623e159adb6c30b7c7b802ef626b0ec314fe5ae970d62bc1eb4a4f3ed8134f1ee473ec192d77817558f3c2904ac2f77948b4609f9a5a3754061756164fd283675e20506eb3b39f0d00c3ad46413cf39e0bd37333384a4cbc639f16cb166c6628ee201350b7d172b9c462b9e72242237d05d1e3aaba68089fe8858f1daa8d16f971b9196b4f252f4423a481f933fa602640033a9bff3db4cd7b32e43232b396fd378910bf785d163aebf4a4db83d877158e68541fb3782c0300c364b8f8cb810af83b8df31c246e75f44260b7e8ac03a772bc6f3055565b006f54ff42bd091430febd43d0a8f83e88abfd9ff837d1ec4c3322d5df700b18f50a523a440dca0aa8406b6eb943e29d1467b4277c442f746a255383ee2dcdf07dc008f17b29b734947295476af9f4e0d361fa6c1b5a94400779ee2307f4414930693f3e23c33e0d3030a805963c1a9647a8b35b7185f0c8a9ce44c82c92c21d6dd442e2cf12ffd495e5ee2a17f1afae707e3cc98709019033249b0e09bb1c65da57aa386d39a1748378e03ae2b400dcb173dcc336814835a8d3faf7edfc0d985db03104c073545bbb5e10cec9f9e116129fc828a69d6be4b0fed003d2fa92ab7ef4bf92bd09333c62574e6174d685fe1846d8109428582baa5b17064c64bcf80672578c5446ece9ee587f403928774ca9787aadd45ec2b504fc6f893d2995f1aa97f9510b60426681247293d1d668a77edcd2d112fb7a224fadd6604e6a7e85ce3ab82f63068de6c296a6f2678f10a4d1dd9d3a45af88bddcfcd20424c124b10861c13a36090f84883f61ad9a35f0ad6cf59cc0906b2e2c4704417757169403731cb26d3858ba592e6db0d76e25008da6e616872e2074ea22856894d3b71c31670a48e61aac033986b59686002dbdb5b89df55c968c8ad7d34854bd8698137d50af8257118030666803ba3d60304d436db699e41b3ea7134c237c104a47281deda98b824f7a57f02f276b02f9b6a7a0c26e51417c61c4269e2593010f742e8ba6e2351418d9d570acbfd6a7a9f18ef88396d200976770af186daf5b08d2d0fb4d25a823dbf1a4453a12177d51792777479fc1619991570711f5387ea731692bb8571e710eb2685505f358a4038f42132235f7c924385750cb3d1ed158d91b053505017d91ed0c487179d18f0e74d99c5c978370373d045fdc268360e842a76777242c8ece472b6fb20691d770144dc27c73d06a4787e9470e54b49ef84addfa05ca3e8c2381d1223d30bd1409344f618749d388f5274a3c772cd7eae627d75c8b7a424df5eca13e61d798f4b0fe8648d03f55ac33ed252bc441ce98f8b423b6a3cc6e3d46b04a5dab5f2ded9dc69a63f190261496837e881d45ca527d2fa4532fdcc86c2aab95c506a41e1f76741c6b596fb915e742c3cfafb11aa9a3101433db2a24247401762a7301d8bb914e19e23f15feb4ad8404b6906311b1d37c08d220ae369d9db5b92dc4e162018b1740bee74eb5a726e67900a57fb39e3a2185a5d1d102d0891279ff8077580e88486b001312e3e14c146212edd2ca8a4fee818f7654563f0f87ec2dba3fdc470b61a232690d1027fed548c85c11e23b001092dafdc151345011dfb0314e8ad7882d81db0c68b1425a3249162f801151cb5f7e82802c42f6d85c2ca180b783f300a4e4701a8d140ba4a96e7b2655aa821133084745f5c6768f25fc4166f9c7f6e53df12748d0cb1901c016027f4237a006b36b211c34be34e06ee21c17afce614c6976d7422fec83e2078e0ea9d5a9051489c04037650686ba0b446715ce5a027de6831a00128861f20b36e0942db82325e42977e8c16c5aec26a9db304ffb7a67d1074d4c39a519ec1d5b453a617f3423b6522a99e7a420c9774b7dbe146d8e42812890b64889bd2c8a3528f3b86e6cd03289592cd4c9775be3538d623c8655dbccfa29dd38ddd190249a0cef3224a8080d0860be24a509038523b1ebf7a049b1ca89052958cf5d6b8e2ed8e46ab3799459e6178b47f7de56339e8337c75c3b31cb848fc70cebe80ad2284b0fd5b0faf7f90ce5d7ef9e2b61924d0de8b6843657585f1b60d197833151e3168138a0871b7442050a8ebf07993a0ea00bf45061de585129eb6499a08709a5510544217f1499150c810af21079a7a42899e58d936dd5d079901432c05e13d4289246898e66e75ce4a9712e4e07804843f2851782cf6a35ce08f4fdd0012f9323111f3ddbb511d9c192e01c5305603d755a5d8a00437a7b992f4aa179410f48acf08b8cd0aacc417c45be712240fa613a042eaf2416ed16672187fa55a81e28c99f14e49fc4fc6003dde73f652bdb7c4fe2c11767b422e27816beabaa2ca50422dd1595eaaf13cac627158c1e3c44f4c1f7dd1b6f4206da945da11f6ad9e0f4776b2c9aaf1f54cafc4c3f7dee5079011229cad44814fd166ffd3ed3848a1446ccb1955a0d71930f10a852735e7fe55a35f8818c5517ff82c3626272aec48c3857472dcf6b344393ee95bf5ff73f334cc5067c64771d4d0f12d4ed845897207c42a3629dc5d5200004a3c5f2c29dc83232c44c3d5c110f29dd3e4160f04e1766e8bdd647578285af2d7628bd8d6805d00d02d0540f923001cc803c0f11800386a47c5025b70e2b8feb39737ae8adcb3975ca3e71be107ec80065d99575453b7719144af07268ae8f5fcd413bd1e5fe935885e0f6207761e1e28a48f8530627d88c1417332c38a8e894a25d4364cb4bb06d7198ff3ae7b89a2e5e712015ecf258279aa251af1bf96285fb2b90892efa112905c67f0a668c46825c26f88420ca8f875199afb0f4c89de023d0168fe8b12a16635d9a6d550a22435be15b3d0f7424decb22826825548f00ffab7a9e1c2a5febe3785afce7c591a2ace216d92c9b99b2200edb4cf350f6b643823e69b0fe6dd3d3bbb295ddc4a0eb08f67063c9289c6451b465b9e014b1e9c30a27f70bb58406f09d89e9f323d9eba6f8f62c9a62fbae0f4fb30baf3c88733d85a6112831d18d00800a9bac714e28c848129648517ea8f8f29e7f2eac23197356fa23fa3c2741beca5983afd481e740a219be10b92fb1cb38dc113d0c5359906aae48255a2a788603df9f4a28e9c529d94b88623ab6994ae7392098b042504908b3f47c6b42c585f8676d4422aa23404e817b86117c20a12d583ca283c48f00009fd32344dfcd5f008211aa3f52a5916b1af2ade468c6b8d45b7105f0adc703f00c63cdfdbbf9354cf2e5c0a9f753c19bb50419313930b9b323a983338cccf44bc1b8c8310e7779196a689c65bb0c0a427ec6bce3abb6a513a950c266ac89e18bb4ca380882e03d3b69ec4d4de66fb7b601d479fbafee710f1a4a751cc529dda40dd63f0c41b2dae7559e6d67e9be96cdae8aee35b52c939ff222aa69e12048794f2b7c2c63e8afb9fa76341f9d81c1675a20839f266161f836ee3e427a6cbc5d03a3fc2be22bf1bf7c6d7125f64fc8e882fcaa42d0b4ca3595a47c2e45310ce453b3aa3be0b5b0ccbf2a9a6c341a45d140cf91114b84dc66ce0cb43168d674e28d1e485f76a63c03e73451332c3f436e766dc33de37422cde86eae76cc667991637d24d93867af187c0ad80bc5035274f66247a134ec43c33a26c442c622d6e704b6cd56a4aedc66bf4ca3ab53bf89020bdbd641d21bb58c56f954426c32c8ce1f311c7c0c0501e13f1e711cb738d1d8c94d5a92d754692d662f53cc6da94f7d23479d605b93b011d38867a976a4ddaf578a170a6850f691a688d984ad49f7c15b74d0492db1522c07f15cdfcd019680bc3b9d5816b7cec5937f5b4f85e928e902f43a66a7d178773c94e1ef790bcd0dde857b9acb54ddb850ef5957dd4630497e4664f1dd8d0d63fc0fd5c5d2cd402859345c06d630c54c03d5c7b782a0c9ba9fc1cea4159f3be155c55e35b3af4914b90bf72c57828c7cb01854bcb6f0f5185b32174c919f034b1cb040cc79f5d75c136da755c5e83e1adcc54cf12f870b02d7cf30d2aa846361db3b64f35088a3f27be5bdea9ab0bb4ff0d3065e11442ccc298570cdd3a9612db0051b00e47714ac1ba00350f9f225e6a755841e62cfd2ea03ffbdc55f6bc859c342fc735c99487eadc954ce7b17e67c5f98f68b0e82659be910b775c1cc0f013af060fd3ebccc836e64cf86cf0c77b28fa2d0ecfb1911c0f08c05699d4ec444d909b86598630c84ba27c2805b19fb56e2fa3dcb7c987262215794cdcd26ac9f0b28d78020d4d21e9227c65d331f610a53cce8125d938ad38288df401e9efafdaa829d28ec4192be746238bf41baceba445b22068cd3d49a9a53403d7270e403a20c4dc84b33fba04726038b14f3d3997ed4390f9955023662c7d736f692de7c1b1c9278091c45ee2913527257f5febf27681231546641eea1e097c8df846528e1465f3183ae1d6617f34eeb91de1c69f3e91f9b817ad1646409d06df188dd7eeb8b9e78ab132d320a580a7d21ab52459e2e53159b936dbc29bef921c1442347e0c34223fcf834b5f2e45403b801c1f96c6a67a635449fd96eba84c5b662aa66984081d62140c0367f027d00014e2892885699c9f741c951ebe665db7f55dcc9aa6588c3658c8286a887544d39201ae454818b523f2dcce711fc58c60d6e6ee07d9d2edf1e5c38e0e53364eaa79e57aff8ce2bb988cd0bfae1776864583962452f8a55238976444828cdab0cac6bfc901f6ad9e66308d91d1affdd2590ed416fcf841c967809279923b707d60b52933f80c50e567e87f24b8d5a60a37849fe256d7a632131eb37158fc487fffe3e2d0006e90debbc9b3e3b9954e8b6ec5f4ece46a0747acdd2f56c92db5f239bcf1315e82234912fad9d4d6e07674364c2f007939f87a6b99b80cdc5f51d92b88b42e611de86b1ba39e55f78206718ea599e910a3d7eed07ee6861f733374b956844d06fc8b51bdd211b2914eaa62d63f6fd05284b4c9e63db3fa8ab18461f7983fe8cf47c03e6df3984bda5339cc4677c920199fe0a8af7da5ceb7f231c72735faf559c0a1c495f91601ea98cba661e6c936823faef7f632eb60d5cd8bf4f1189d2d5b40e7b1e847444b3507a580ada39f6c69b7452ecc55e098e3d44ce2af49ed01eb783924c2dc1ed32dfa0abb9fe21f27b30133f3322edc85eac9ac03f954efcae62243bc3f43108e79d123719812d67b5985c470e65de9e67d88ecf920eede1db39d3b6f32667bb96110d084996627785b50fd1bd74bbfcf48d21643913a299d5ef9ebd58beab3e86034d55ff93c76b3ee665d5c749da35b6e1e1c1b16e82b72cb4db9e8e508c398b6ff9c973ee8b8324325fa626688a75fa42c5002ecce8fe56751dd014d0c7fcfa29871651c27c607b5973552fbed092687e1e6fd1c448c7e07a1bc7035238ea02b9f7a7bc18bb8f3593009bdd0cefbca1ef2b6c9364a70725c70e7867d17197ea0bda108c89e466e5446e8fe30d5ea673073ff15b04cfac920fedadf8d1f0c7067a3e81f4fc70530e36850ed409deff6a445a2801dc905651e777f2c0c0046b66a131a1792d2475836c9a792b1103ae69ac1b5e14ce50a049b4ab2e85a7e33a8cf3833735ff20d089c1524466a72f7680228ba61c8a9aa58db872f5525ecd869ca78aa317e68c5f5fa21ff51e78a4995852308ba4f7f3c62c31d6d7ad859f59f375ba80fb813ce070918521dec225f54ab7bfee53f0d2e99a4f036a8cc3f1de143ac5681893ca25717fa485b45ae9c38a962a38a3a4b9c3bf9bc8c45377f00e5f1afe6a214dea04ed53d07aef463bcb01db8e53e3cbbfe811007901810f8f119727fbe52c90dc87bd9d8eb0dd5f3eed6a553ff507b70572350c7f5f14c654b0f55ab38ff4aecf221c59d9280b3b32b32b80bc89c8333f3a4e53a835b9c359c9c6547a76b9c63278e817337a98bf9653919aa22d6aead64f254c6ab9bc6223219ec197ba2f118553a42ed790d13230d8d8d5353bc9d0053bc5c63bd86452ba72adbf062cea9018ce4c979173cd9ac4617d18b6661c3e34d1d3566350125085b59ec62e12c36f39be45221c13a4e57884d7ddd46ee1656cbe488ea4f30d745e4e2c149972b8aa8e701261b7177a2e24595c50a109c9b4501586fb110a00c4f656928c795fb1c5d8bf9f6b1c328581452e407709a8bc2f26dcfcf6141f4d418d78a689a9ac49b0d604116a8cd3d6767559ba3341425980450b3312245f7c50802a81621280673634c9178dcd17afd4ea455cc2604bba7b5201a044ace02934f45500369db93bafdd9bcbae0ab088a45cb3c3c77e107c9e111f141cf0a2df9e1d2a5bb83750c9dc52f12d18be2cf201cf908bb7bc9fe7fc4991b18a81502ec6c531d4617ea038401f9684500524639f2a83c709717e258e01882687f98d088222d9d34714d818c63150b7f1ceb62fdb16b3ede8e7284bed4de0845d6521d72ec7cb3b2a0d3aab1613b7ed8de721881ef299027e717a233638661aa43ebdf2bc47dd16e3799dbfe6180491803268bee4274f3971776688c031761d5977413d3400d22b198828c278b4f3518249c2e4950bf08d4a35821e37b60ce3367ff4e52afb9479c4ec319676d8d9def3f90f9ed8117e026582a056431f469916bc07d14deb4a203a88621ce5b5bc39709d3f436a12fe418e719d36f206a89cf1e57909fce05be165b5fcc8526c6402faee0001580ea7c7c62e86fbbef968c125ac285ceeb32d804d0d85ade5bcb978a1564d7b1b8bc03981745a83d6405ec4b359d8f367c815ceefd018ef115b2b8455b40465b128807bd7e7667e4b33818c76a94d588619f14d6cb7ba69eee7da8536ff4910be444de4c0fec84132c492a78b807e0ca67aa139c5d92421656139617e88e351874d4100b7b2f702e091efd2fbb3a72a7627c42010080bda2b680df0806adda20d583c6871bc0aef06423e3e79789c2b3112e5e172c7b2e378c16af3fc87846381493f4dac539c271937385bbe479baa4eeea385a35d3d2d8f16afd8c5693fb8191707f0ebec610ef324a07b09f4d2e16ee0592525e36e1d684a298db94ffa330cd8704cc233b643f6922e3169e9c1d4df1d514c16ac549cca8732d8f9766493717ecc6e72529bb13550c3c11af12b105de97d5a5a90d14155444c111df8993084b3a91f2c4d50edd717150265a74bc519d61a8b7cc2165c19826627dcd36ed20362075900bcf1b0ec0b6061dfd31b5da8b1baac7efc1879dc09cce06c83c8e2f9b8f2bde2bba10b53c81b5d10ec70e6c44e0d22c40aceca4d544f1db4b2977a272efe64e7ee17d447f069af136289f1bfbbff3725f9f08b1a65f8a4683678fab4b4367c880fd6ef47128b13cbbc88a5af9e4e82de28414722e499ea809a04b7c43b3e34c06577bbd0409b9e12721d9b531869807d6259ce0c0296044ff5aab809052c461eddbdd34f17c0705da284c115b8bba86b18600add124cae39f4acd6aff75d1cce9885503123c8540998fc290c745ee9e1dae137162f19a48d20ac7f08d7c600e7e76a1770a1a3e1166cad0022e1e75512eaa9ad97d07c2a55f47f3c8d017787543a6d73ffa631dd294513079ac19535c05377f0bdf0a7ca1e28c7b6a97ac1ca47ba3a0403c159f1d6b1470b91df1ad0dc1a03b091538ec1892d70f52b62a1db151d315583c26d96db01d23426229257a2da5acf54347565116b0d44df787a7df3e08030afb5d4f2925853456dec44b0c0e2ca32ef64601f6a8e082f58e3d6909cbaae3b73cd5dcee78f421dda0de44aa0df8d2f109f8f617d4c6ab885d1779723c9a4183ea8092ce20cf2d912bb95bca6309ae1c0871cbf7956ee892a97267eb1278889069ade727faec5c867d46f58434862495df376121076dda90740b8f6a8a16044b1a0033ee5157f35a1dce35e0b1e83294124b4f531e41c0786a14a0aa1af6400b93a6f55348af76a8fc8972b1d4ef3a752e44cfb77296b80b1abca9805a25348b09b4aa0042b617344a167b585d2dec308be9d8f0f85973d5dfba0bb43a7695c62e5bdbf4b4785d0832b614ab2ec4541e8195d90a86999072e420e5908a1d9cb70841dde84b01ec8d5809d5cd9452fdeb72137a91da4d953d9681c43cf63b0cfba8f530ed820feecfcbc450c71b8e4d6c5490fd2fb99c5bc0c2933a430ca60e0761d27f0bd39bdfc71d10e024aed1374937434be95ccd583158be441a65bf6003728fa5c1122bc8edddb60c419e20db132f87fdbb83d70d9ed06a630cecf504a54831a4e05edbcd064717acba900be6bd1ecf375305db92bbb214cd43485d2699fceb4882fb00dce48a98b4549e24cee578acb7e3d88ed62490add04672ef88de50e4145cf092b124baf839f471548318a28daf5aad829d97b2b0cc585a93a1491e351e51268dd2be9151b3db0ecca0c66a63e70836f82821c0b53e7f409f9f49bb016c35cad76b9ad4cf435dd21f6f9f7972979656765a8b4eefa88a9668285899cb5c806b289a59376e9bbe901a675bbb06ba179ee47b678b6e74a93b8c6bcfeb0bb89f9b677dd7858ca996808330f70b32977c83a1dc6749f40a2c7f3bd51245f57f7db0a0c90c7d55fb5cc9eb4b2dd18ef512156b9d9d53e0799604e5f90a4643d4a0eb67011a96d9563bf1cf0c5bba6666a18b314edfe97ac62b28d00b42f51b1beec15a735f7189cc60e7431b824576993ea5bbfded1954f46ce6ed89de09343fe7641f2536c3441254a605887c99732dba0ccccc55703373910be1a91068c0632f266b56921343a929f77f70132ad6fcc5cca813a35db49954dcd79c26943ea424b1fc8e43683d92444e96fdd46abfb3cf7c64b060e672500d09553765eaa9b038cee16bb0afacfa0a6df37dae61aaf06a068cd013d72dc0a0e17d94173020fa51eb1c98d38d5ee72db3db60a029deda054d1f7913273373ea226980af2088087419f907998a952dada729d3549fa3130865319e0041cfc573f11489092db7a894d310aed60e678a4dc5000f128e5b28961ba1378cd7856cf057ee15ae390d7590b6e05cb1a926e0267e0b36993f1e6d6d8b33e3350cc77c550ac5b015d31a5dc3659ee628fbd2f8dc868f7d6ffb99c513457662b4878817c92ee319a8dbd0672679bcbb96893f5939ed383c0fe2360c263a68f78109b4e88ff499cfef3a95a850e1374f721a63eba03b68f187e073c9a76e5b44e6415dac9eea61e09b2f0d49c1adeae4b7d6b0c2066e532def849a7192a68434961d1623cb8ffb15ac7dcfdc6798aa06ae61b3a8909b5390e259b7b2400855d056c638c919d6bfa68e53d790a933acab43b031f1eb75e4418431a9cdecc2c9d84eab69698af1b0dc32097293c0bd6fa49808372f41708024807c1bb68e5b7872d676e0a14e80629a6da9e2c2fd1b4797ac6bc8ca1376c10913065879fac237ac52ec33ec2128ad7a1c555b7c2d93d7e5dfce9410c57adbf903e0b761c042c61f014f0601a0e3d53f0c5280c1db079b3ed3d423417493c6f0159de3fdaf524a4539f2ec4acc5bd172ddadecc13228fe02ae80f2d7a03eb72f58e046c45acdbc8dbc0052e3a654094a35a40f065b332591843bad44850e7a28b9b9ec4d3d333b58863435d149382d8de98186a65241821b26a9014b6a84ce8bf55aa1e012455458d84245d94d04d1c59c51ff0c43c35804f1be80f7cc5f0be61709beee0c58e5be3741001a7a196d5c843bba3348b6829f1a27a16c255da77c2e2f7e705297904a680c3df92eec2c7941169fc32a193e5d5f99aae9ef7c7ff566629398c6cb1b86976771f5c5d80f1657f3b8158e9dbe9a824a858199ed26852cf63807b4735690d0c7cd655d4636fcc70ffcb6a8ff614875873051790036aab0031f5b90dc83fb9e3c37b814a5ef31a19988ab5211dcbea1f5f789e8b908de255a642990ec54fda2095922183cba10f0aa9411c5ffba1c78dd889b0955da931b1d6df815e7236fbf378f2995dd1e88e49ef40481bcd68d6a5eb30ef60ca198e3b0a34073686b51c2d7ab5d97e33f3edaa2cb58bc10bd7eaf1675087fbfdcb9915ccc842f354d5ee74dfde5ed5d97445b14a746cfbb883bf2b5d3410801f12a2656a8b00725c7ef89dd33d55734f48310381d1ac0618b436c9a72a5ab43600c985fecb3539fc21fefe7584dee118af1f3764d0ee127c518586b9286ea65a9e244caba653f31403bb99f28851722f069214ff4cfb803cf6e74c8ff35b4fa411d0fd02550978cce6796605b3888533b4f7536b4f64ad6d78938a9c6825c0e69449c4ea5925192e1298c589fb6d1d2670629ad0de274feb4960083a148acba4eb5af347a62fa63e2766dd6fbc34d78675843ace8e2c211d50691fb2abce3b8f42d011dbeade899c9c3a38af703696e3b867677157a0ef90cf8b1f49387b13e7d18613daa0e83658e691ea0cc07efe53d0ed032677da86f5a8481b63d4adbfd08936baece3127ed1b48bddf41b647ee562c77407e34a2320255b1efcf1c6bd4ce8e4db0b84b9a3e681c9bfb2e3fab7f193a6bc753fc56fd7520f824d34e8037864a8160c0b78e03e1590b3a4c733fa397dbe2299bed4b27c82398234d3485360762a40f87bbfa0552ef67757b2995074dcda96d9cb66ead7ba9b0a334b7ddb541fa928e6f9952aa6401520483a6600568574d1c4430f9edd2e9e4bd9ccbd9a770f14e3801009022c73ec7d2423f014bcb4ec2ffa8f16c6b4ab6bb524cffc4c21fb54b4ce2344a9af927c43b78df9832abe60519a1f405e81d3e7b508ea38eb714487103a5287f1367bdd3dc2ee76b9866714939fda81d9bd6d992728da4de99e151fbe5f6b442080e9248f6fd5f5becc477e162b65799268747a219afd37ec3aac4caccdab501567bffdc9dc9c8677aff226fa959a962dc0a8a3f9b718b1d4aee6db7dc244723049595c96ddd9b2f76356637dc88fac5da811a57d782d1a841d4e37e44964dd045c3c42a5a50c2f26495861f79f5a0a9473361db58167caf7d745a1b5546a29950adc9ba687acf172e5ab2d8741f11120bfa62b8ff1d4d9bbca6bb83425479e97449bf80b0a0b0d3d9805ae43c66e4cb5eec89d04e0001cc7fb8187f17212281a09f2b13b3ae7ab1ca4a3eae6b6ad9c620a9574698a2968e6e2d2cb8e60447a731a371a6799e9239b5b3694d0d2295c41dd69e313a8ef8f33c14db6db13dec0d68f02523f7367a1f4a12ad115dc4268923e8d53a3c2924972493acf8945e58924321584e000e7f447cf2294e3210f9103a8052d77d2f98ac65729cf34757908e8633bc432ef7d9bbb442f518917f63f103b3cdb1c93d1d8425d33ed08479782b0449712ab568969342b6e279302f6c7239f668dab2d9a06351b511e2f8c5a94b080008068a3b287fd7c308884e05e0c1ba8e8c45f6eb237f7cc021a09497277adcf9c505d410aba6225a8be6d4aa01085d9cc9a444e0f5388e3e044d5c12a29ccc25e0ae0b4afcd2b73ffc1671487a748b4029c7e3477eabe7a6fc216e5a019a92bd944febe5a0ed892f958b84d5db7db02b8241863a8eacd22360b046fa6850ab9dec8cfeaf9100272d279a636313f73f882b48cbbbf08bbf8543bdbdc5d49535ae814c1e44c6e740c08d8e1e3e34954bf704e9dce6ab4c4a92b101822fb1331690ad278d70d7675f7c1014a9c33ed327f215fb0cb0cab4ee702f7f6178c584f0e7808b633e956cd9bd94ad03d8b8c1ca7e8aa0c9f6658a0c6ce5aabad3d441f89c5ecdeaac4680b0169152d791378df42883c0a09fe55944d2749cd2ee23642efe9e14e0701abd2e25020c75a06f5affa7de6461f63fa4db9150a5a810fd2ce27251f322f39c25adb89ec45950adb52a21e147acae2fcc29318f0375dd68582bde5337a0c62374fd2ae541172f8ded80c4b3f046684534351c341707a09d4dce261897d5775e83ce47249a9c35d9df398f0350abd93bca8452dec645f0d0a4f9ab4aea0cd915d191804f653a9c62e45388812e8ddd3234cad75c69f5fbba11d5760eab1f9422eae492553fb0b54f1c65dc2b49e0f25fb391b8a591c2dddb4027641427e8a403265d255238cebfffcc9b494785b4bbcf565add0d0d524b42925c058223de6f786b2829e32bb6003d3d46a41c1959e938b45dd26a2a395ac35731df3c57857cf5392e1d3f95949d895748bd13448113e2f462b1c58660fb8a6e7e1f53af3ec7ebc27a6a63b4ccff32ca1658fff8274c98fde7fcd7e8d08255e790676f343bbe2bac8a9bab276696f2f9cd6a2ee63cb5452e22542ef46648b3cd52a309464fa3cb6b6cb807df6997e5da4c7b2d4e9f3d891793609f207995cc2ac0a2a07e0eb31bdc9a4f4fcbf85bad83b0a63b994abbff0d80c20a9ff4d322b87e2ce742117ccd0e4c8af72fab9f213032d2b8500029f5ae1ba55c3f7085c6d3501e510ec0eba0dcc138b8164e4ba43d514235a97a09a8edd5b17ac06822360d43e84c1c46f6c713d1ff9a484bf2181572126557afbe72571e1f03173d0aea5e0c020ee9f6f0bf4284ec4fdcfa19e814df271a5f29b7b04ddf15f1530fa4096cd42d8fb4bc0cf569fad173f7f42650d684091f5e02a3c3cb11e2709471fa25363bc5fd3aab043a0cf07544a0b74f6fd69eaa7202846b25397c7e8555e962a596d190dd457b4df38e816a6b113d7c172b3256d1af2a1d6ffaaca48eed274443751544d6b75161f6cefd5cd459f036d0bdb040d4e1a39644854bb47e4563e685d79d43b2e7c844e162dea16f309271c317de5f7a503a6932f773a7321e3644d8041394a9d259aff9dc3d15b0adcc53cfa236f4d2501bc794381ffb0a0844893a17a1ec1794b4e1a7777e63b910eed788a0c6c2846cd8dbd20a9703871dac76831fcb94668c86a58cf63f6a25ec2a108ce96bb4a4b50b626e4eb9811beaabefe0673482a7739d0f3dbc4842157119c7183257cfc7b80f7c3cedf816ddfa15f5585fa266f08bdcccb46dce6bae7deb4564511ab9be71fda1b95bd044c66028eab91b2566a1b88201e75b45a267f2b91df459c49ad40363f2de7f0bbfd16f3df314efc38516a21f199e5b66d7d73b1c74982d6064a067d567d3f7de6829534725101b009dbe412b8fc9ab4e9a15c130295c779c279c1769e9a15d1a1f8772e935cc28e8e19292deec19cad81a39d17d4997710c0d7998ff7087bc6899f83032eed6043e0f30ba7065ee761c3a7ade038516b0ace2efc4b656f5d9ccf8d28c97ee0eacbbf597da729740cb7edb2c2742235f9e9f17c25853a1762b3a9ad52320c3a0984d1503f682fbb796b26a0f25fff0f15c332c36b59ee59899fd4a414147d96f4caa5f6f0e3619f37894f8e05f30ff10fb1f4bcda7cac1558997d1c354bba0a9357bf622a383ce9bcfaa136ce1750953036308da080d246d2832dd8b5f436665b46408a6e9ae48c84d90ba51829bad4d99fa2424653f9ddae6d1d0185dd25f97900c10916050630b0b10e6915fc92c8d231a39636b9178042eff7eedd051a5b5dff8ea089bdaf0e34c0ea352233d179cf60f452e044f40084ec8217033b811f6f1ab32495fd0a050b0dd9ee65fb5ccddb1b270a4dc6e9fa122cd28a48f58ce4b22ad5bbc11378cc1bb88c67c9bf4eb45eca36f8070610122460b08372419ab584b4302daa9fd617ba72e57a9bac05cd7b263e9014cfb6d9d3868228420f4fd3c4c1a43a58b30619b4636d37d6be5dd529397e2cc1a891b5703eb3ac80c6644515f3025d8a0c38560af7a88da81e56ecf50cd01aaf8a5bb59295920936a9b63f4e80e25bfa6fa8fe143538c25d5c394131a9dc67e3075db108c85d73cf8daae69cdb4baff3a2713397231d773ad2f27de96d468f276bda9d36b8143114cbe301f213183b4498841c1bef5ec4462ee673d515623db9756e8f522ab5897b41eebc26bb8e5c203e86a35377a52c8d3a1ea42bd3547202a4b10702258baced9373dfa22dd49050218a406820bf7cb1b877e87216c8052d902dfe1022c2eaf27305cf78dde4b544c7f740b913f67cd4974f8d8c0d97a2b1904aac7225fe33e4c8ad9d4f2dbb9847ed2d8556214cb5aeed5daf16bd71f40a57069cf73879f1baa1de6ec7a87ef2019cd9f1180fa9574385da68f6e1392a7a9d09ae179df3dfd24ef17821886ba82e36a0fb19353cdccad40870a72ff5336d48c53bb71fb2b38a71643da7b81d283edb07bd2c2559c6917e0b9285460834a2f9d5a9ef83acccda6b2cd497ac6271f25ee47877c57f7eab35fec0d04b3cb6d349cbd9bc613c3fde61cf0806162d946b6f9b5f64058188853a34de8914f9b4dedd74463fef621987cde46a742af3bcb77e1bb7b928f54ba9588005544f77dfb297b09ded97925b16f5427485d10a59eee155b7e31fa21e897c613d13747169d84d5ed6e235e607cc15a7bb0a1d21f051a9274044c586aedb3e6ef79cb52eb96a1c6ed56ac5fac58b71b31feb4e453b3f3d5971d4e4353c5f55d5a3d0cb1ac932059b2729c63e15b234ebc05d4ca90aff5259a4725ca417ee12c5672d9c7dd9043488fb3ae6c740b44423063b7605e3300ac90ae2bd5c57b03317439bf7e76ff5c16ff48a33e6f0b1f0e6b9f4c8659be39e468f8eb467c223098dfafe52f6e199f31c53dbb50d37ad33f92584433d46825679a7aa3b8878552a86869433bf5c8ed85caa806bdd12ba81f6b2660f6cd9991bd0a09f678dbd709c22ffb42e011a83f7fc421b14130816d6983c2b50d78f00bb66876fda4e74445780be27f60804369be1f9b68a50512555f7f463480263c53b293ae457cdfd5469af0bd241a35f0b1846c99169b48f093742144893c2affa934a6609cb97d1cff7325805c12b4bddbb5a5238c556b56ed4277bd222d6445e2fc0d9e5807c46cc8b2ca216c89876048ac41d0025c879efabadab36439cc5b8d37468a5c2aeb131a066c2dfc298861e8ad798d23d10b9ad45fc7a9df4265c20e1c8b9aa0855dedefa8fe7c9628f3109f0c57056adc4517982a3301f67b5ccacaf322dca8fd991a0772152c2ab17e562081f6bf169ca68b5ba1eab7456218757c5562b2222f2bd0e5c74f32c26ad7687a8cc1ecca99349c65858b02ccdc89758056cdb2d13c2d96554aa9ab003964fdd002ff95dbac4fcbb39f4b4b049d3ca978faa6160cd77789ba384e45bf736fa8664bb514bed783506b3888e1a5484cd394eb50abfcf32eb391d51a1ed795c48e39ae98d1438bdf15e44d032e26c7f9cedb336fce543843e0cf66c3b718cb1f83518717f0e615a273a5cb42d2e1a6b4375e9252729cfffcac662881693de11507e2b376e0f4a29be8abdea10dde32da3ace141ced009afe4364fc0921bf381fcbd97ed55e9b955752adaedb33e21fa8731467b2d3b15402f109e81c4be254c2f4920b4c034305ff0d33c343a05905402c28917b091bc1250b747d63201022ffee429fbabe113418dd508eb4b91313de1424a81b91717278a8deada0f0ecd67d33b7b81dbc8c163de21fce43601ed24ec5440024a221e04bc3592801f8b8afb3cd94ccfa3a8a1aab9f14538143a4a2ab350615b125a5a0d4749c09b30a45a3ebc8e9b0661efa58f56d096aa321fa6dc26a077af7a2ad2ae12571d025b22302c56d269832578e9196e393912c26c1eb849251148d30b2a7cae4c71c6b7b3a497021708d216341ff1a7f4a8f57964d592c410cc0cb24c8efe0353f2c8c18c0a13b841ab99370a593b53d54e8fa0293820089729079c09308462f5e09ed10aafe3b67d25147cd42b5614bb52bb74241bb5f10d32df73a9e6548ce3b43887486ea45fe22148bc1c9f26f7665d7af0942fcfd2d6451af73662a8a8370ee19250e0d7bfd95963a56d20b434c70f561bb63bccabf021a0a145fda1f6d3e920384083d85397712970e10561f6e9c0886d801c29632e52ab4e8635e98645b30f0d0b77fcfe5f88c02e9eb04c4dbecdeda25cc24350bfe436e2129f0e1fd966ca77cb22ec7653d25396b1ac621e3ed6e8db0849b250c4e1b510ec146ad447c0e723fd5851aa30ed8c705fa53fbc75e964068d738c1cd039b4276f1fffd9a7180e4fc1d7972bc7b636ac1efee81f6a0a60704b41f55727cd820025c073bda09e4450769e8edf945ca7ad49b72fc8a6a5cec4e00fa4e101041308b5407a07c8617b7319d242e63ed305e19cda81c89a21626491c24ba612b075a99258560c03ca8dffe6defffff6ddbb66ddbf634cfdbb2ad8d6adbffed77fa01e400e800f000b1c7ce91b145c656ce92a67539e5c6d225940d0b1449959fa80ab352681976692b5728d44b1164a9a601114471090ffb902c008af8a0344fcf60d0545d2f6c699e9ec1a0a9ba5ed892dd791f188a23599ae706dec0adebc15e563545319967a25d7bdbb66ddbb66ddbb66ddbba6beddbb7bbaeebbaaeebbaaeebbaaefbdefefefebeeffbbeeffbbeeffbbefffe4c26986eba85c7e40129bdf48a8ec903e2dbb7d65a6badb5d65a6bbdb7fbfbfbde7befbdf7de7befedfeefb0c3ffffff4f76c8ce773a9def7ca7d3f9ce1b20d0baadfbfec330ec71dcc66efc4ee076e77d60288ea44f02ec4455d6d69ff7d6fa3fbfbeb04cdbb8dd791f188a23599aa794d1545d2f1355592c7b59d514b530f9801c7207231ed9d21efd4455d97228927ea22a2b4b9695b3942d5d12493f5195966197b632f511a69a027c542caf2f2cd3366e77de0786e24896e64981391b28c248194dd5f5c24e5465552caf2f2cd3366e77de0786e24896e64981391b28c248194dd5f5c24e54656dfd796fadff33d755ce8d0e0c9aaaeb8503f6e8602fab9aa2188b7a260a28956ce90bcbb48d638122e927aa8a634a255bfac2326de358a04872d2bd223d768f63276332f6388e3df6388e3d762b4bb1c771ecb1bf640f4552ae7cfecf2f526184a4a432511584455530908c0068e00ee2d1c1b1a191817161312111010172f9e5140a4c9e10bfb04cdbfcc2326d13a93042524231211101819e21aaab5e4143eaa98b64401d750a1826cfc7eb0bcbb48ddb9df781a13892a5794ad927aab25e5f58a66ddceebc0f0cc5912ccd53ca3e5195b5f5e7bdb5fecfaf2f2cd3366e77de0786e24896e62961a22aeb344b721443f0f3bacd6d5a865dfaab295fb040625193e7e3f5d773ce39e79c73ce39677f9f0991471e81e4f58565dac6edcefbc0501cc9d23ca1c8a58ca6ea7a6127aab25e5f58a66ddceebc0f0cc5912ccd138a5cca68aaae971a3670e8e0e103c7864606c6c5e8a37bd8105df40e1aa187ce210374d03368d88071615131211101d2799f77dee719345c58544c146733519c8db5e10515cb5796beb04c73376e77de0786e24896ad2683a1c097178a58299b279aae2a67335115cb5796beb04c73376e77de0786e24896ad2683a1c097178a58299b279aae2a673351060864345bf539a3695dd7cd64349a6dabaaff9cd1b49bcad2179669eec6edcefbc0501cc9b2d56430f0cb9a279aaed445855f4c04080e403c3a38363432302e2cbc02c1018a0cbbb4550950d7143d4d9644c42d1fa74c9e016682c72232c032c73217a910013179423cd336cfb46d84a4846242a2e409f1872229573c8589a83392afe9731e898412d18c647513800242c50471411286310882200cc321088220080182200c8220081120428862c6547a69a4e95c35d5a5d21e5a4be3b9d1355420ba96c6b93138b81fd5c2deb947edc97f680121ecd896b3ffb9ff9b0da8a8d2c9877b08f522bb2afc4c049226a5a26347880841ffa80e871d808dfb53578c03d9ba7e4b6fc6bd3656ee7fcde3a87063f9a80492d50b098d898e088d88859431a2a6532121294131b1116124163516159b2f912eeaf9fb775ba1c712891ae48148c2847dd26591e6d686faf4531c40b779fd5e7dbae08eafcab72355ae3c95a098f0806fa6708dfbdb7278291d28790f744a5189bb61ca091dfc17eec7ccf68f73ec0d777566ec4518ec25a71fae38f592006739030330dc05d1cbc4b870ddc6df6bae6599a8b9b1b05d1639dc45ecbe5982aea8c3a5699b6bfbf4378b89ad5d0d705cdc35cf01740c39a7afebad278f4b9b75299532ee57be5c16199a54107984c7f69fb340503a1b9a01d93fffc936f955694f0e34313103ff715ca21886bfd626583157fcb8fbafd1902981e58a6666aedfc3a9f08e4057f4b03b302c3f3418f950fdd5136e84e9f46b5b0004e3c53fe083f5dd50b8d313ef2d136153977b1f63ed4f64cc006c26d5219192ced222eb56dbe5e6742ef797674779396b5148c59bbb40ab126bff6b4e91834409dfba66326f9034a0f4ca2d7d4570908ef2e4b657ec3320510ae1dad26d13b14fe5a24351ea9b7634705142d901724ba902429311784162e1aa6b0ca289c6928a881b15c52c0f4db4385e379c70c2b572f9d8cb6fd8368ea285458eb9ee1fc3dab74e7120309ae5083574cd778cbfa7e172b39fa2394a80156e9905871ad8bc83ca072741e24576c61142312f5fe6917db9a7a91928c4127f25dc8d643997808e4fb05dbe26b0c1e452cf26f024563308b830a1e47e314284870e137a363b8188581cbfa78d87c7e313e92ae92f284fd5925272d956ac48a43a2b9cb0ae92eb6de68571b544a687f246a09ce8fcc8b5d8a1b4ba1374e605d7f2ff14cd01ecd3b8d2ab5a2ac9ba38a4dc4f21f0da65adda53b98ecf139f1df2a0844feb0a78bbef1794e820a7491f4230708b41ee49951fd4abc15e5fdb5376e0dd4d2ba2d6202c32b7880c87b630329e5575a036e2a6531387c364a65be8a9a2f543e4cd403910304cf6a12348766ca7aee5905cd4f4355c156cf9f63e52cea382062486e06223428865ca50849221361d1b119ae01ea40959920584c5c6c5a6275296a4bf509eaa494ae9b26d6a25e042897ca45c54c51be6f94faafca0ae06b6ce3346306ae415c96e8c3bdb34de2219c30090952e163bf1e4faf1b14c9d3207e5725ee07291b568cb776e8608998e45712ee6ee2a779c53e10e9faa8520901fa4001940fa9b92848515255917036cb559a001b2e2a283be5e6c24689333f009c5acda800090b0222750d43cf020625d088cbb31e4123688584b842e2f73a2b1bb55ad365be071b2508d1a480322b516ad360bba8685f840cd901da18e3757db91281aa111fafe95fc803f4d785a97246358226d19367ca00535cf6c4edb949ae8e5fe7a49713db33697812039c9818271193680d5c6ed0e7aa835a236955c6a0b2f5e2ad5261a7cd12b5daa5c523c5c811a403d560097da62139f4a30bcc102ec77e2e69ce753db49e2de58bf9f1676900870b8c475065ccc9d48ee7af6206158acf9501892ab0af6070874ab4ee3167d19a1da6bcedd56bb64af560c4c0646b2a28a706691dba7eb040f7919ee05b3660b035ed2ab3506268391aca82238b3c8ad3724c78ca70f1b3f1883a56860e51daa1f3809821759338eb061620b89684783815e678f54151d8a48639816b173b5ba54e9ace533e5224230a645f6dc1a71a1f205cf27e52282b48637f8e97b1a0dacbc4375839320e8227bc611fab66979dcea3a0be07e9ebcbbab25062683215951239cd9c8fdb3878e3181e103456ec0a5d1f2bbd6d62206889b631824ac911308350f6c10b12e29f901ca9ca82f4f8cf767ab228812750306763b2366f16f6dc47ddb8e44efe38afcd421baf5524c08dd905010cff581012c8502ead001615d30ce325207931c917ae61816f903c0e6d551a656ce4a7e4e458fdf85118f3eac6256dbc7045c021f9b471ba100da6c32191400c23008ccbe855c3d39e245057ac98f7e5cbf9c03439fe82d813dd918b10f82b564af245bca2da54c52063c060c06bb05be8303fb8157dd613f2583a1240a93d895248972d1490105ab521d3d46218870069733ba707777775ba508c3b5018e4e19358749216c0bcb184abd961a3480c190965a0a86a3f38510a594522d4335af22435aa6c0916304d96dcb0a301c5d80b63879ddc8056d29d22e1580b67879d91823688a11e41091a6a062a3c9984d8145cd07756e9d0a99aada6c7777f79a90b5b4737777775b6fa8d1f282c602fd81a6660c242aacbc583f926c5484b15a7d117a81a562e1f6e34969d2a486c60b1c1234a91584aaa84255e3470ea90a32583323fce468a0213b6ad292313a4a42260647e7871840475a60502188d005f7a38b91c3e41e7178d4050c268c9a1534a8c2146428d871c2d149b2620bcaf4830c242bbc4081383a33b85d215b7d218820031ba52d504aaba0a0872b7048653086ae08a25502b25dc1448d37c20a485778c1c23fbcd48e5c337234990e480665c6ce20c94a584708c1101652c0509d1b1c9d1f5d1c61c1058dad1e820823a870ebacdfdc222c5be7d00f30725d67b16ce2db9d963c406407f32917daa65f3d6663b1f81a1a2105a15a83f88b524a691251ccb029b51ea427849b1a86703395f2604b222e470c59800c4b858607ceeb3f358b88f0a39af162a4bae01245505069ce2cde92c6d9b403db7bd71489e7dd928831ae1edccc0efcb1dc9d9e9a2299b3fba9ab2d4d9b43a6746a29ba5bb7a2acb10db8f36c606e97d445494569edd72a6b9d75d639894871ce39e59434862c65accaaf3af497587f48488588ee74ce27bc8770eef174923bf373e44c63b7eba4bd52cc2b843ef30aa15c1da06e0df8aee23884621f421e5b18b130b8125c0415f1020ba4189c5a08c2a229fff77ff9ebb83912f30f01664b22a42d90b47cc924d01cfcf3481a6d373d0add4b0ab3f941d089207812a47b7f10dca7ff994414f07b6288451074ef9f7f057e10fade07f1c77f7105f2a3f0651185fc1d282a80bef70ea041f2e347e1fe2796de01fe5844a1fbece9fb5813f1e9c60a6c21a95ddf0e99deb951961e9b431648edf1f53aa60efd4eccf7c32fbdf4a1d9fb12e88920f0a40ff5befbdabd6842d8555a935fa2c5c00c26505c70640849ca0c34e0bcb72de08ef04e4e38b9296549fa80503823d7bb6da142942260e3cf7ba4a002d55ab3c02047027cf396445a1861b212ee572a255f8a53bee8e79ac2d3dddd7d9ea47bb6268a45a5d52a5e3aeb17574a6bbadfdd6e4b974f2552ffae978eca42adb5ba5e3a505b126971025b24c326d2c210564cf1450f30e0824a97a5c88321892486a4b061065b1620a8105e16254c23802268cb27862001525095205890727a81c8cf0c72189a2d692187839c82458c153c1b94c0523b52c30c56a638c263c81294c506f1bb2d2a0bb5ba2074638d60f962d75abd1b704b222d82bc2860d83db05c8182231d6a59a4800577542b106b2d969a967be9eec1d5c8111188bf82cca0e440ac788190613b6aad75a22cba6ca741e82421024860e199b624cac2051b664ba22c8af0c42cdcf89c3f8f4215c2f92f7f4dd165f52864beeb253595621ecda3d49657b2d8a11534555b5ed1228a00b69c42c390d36c790569873df1969f84c79653689001fdb6bcf28214d00c51515b5ee1b2a5d5c4141a84f6f86d7f70cb2b5b98b1fdbf1a72b99b92e4c8656d3925890d78b5e59424de9424b89dca3d5cd99e8fbb55d7d99a75628db8ccb750a6ddb2a7bd35c863e30d128fcd9f4d1feb200e03f2c35f24903071fbde6bdb770aed7b5f5225fbdefb14082e480934c76d591c6f628e6c18c6f6f64de2f8b23a1b49107f4ddf9dd815616bf37f7c5914a106cd990de2fdbc344f097a9ec8043f0587cc239f272b045c601eed4efcf1cd51de260f9d9bf9dbd69648a176655bdab8b4c4259c7bdcf35fc2e6a4409e79d65a6badb5d65a6bad3b1e47cf04cce7e071f4cc2e8fb81f0c2a4686c64c8d148d6ac5aa69d9bc166d60af945d3770e4982fd0740aef07838a91a131532345a35ab16a5a36af451bd82b65d70d1c39e60b349dc214cc9753291898efcb1f0c2a4686c64c8d148d6ac5aa69d9bc166d60af945d3770e4b879bd727481c445ba6ee0c8315d3770e49845291ad58a55d3b2792dda70ddc09123078e1bae1dba99aff775335fec95be5ccab994a9dcaee08a2ef64aa6afe4e17b02670f7366ce146d39b269d5b0562a9a548d139aa8a66a722932552b564dcb66aa56ac9a968d07734a39a79452ce29e59c52c6489ef1dde0d41f72ced6dadc4338867b14e2b6156d355bd1bcbc249c9bd2a717c853bbeb1a546f558aedea6dd7a45d876a50bd8d91e7cb94f4dc2b4eaa1e963b92c88b112943f840e4e5c73715c7215b85dc46a230fa214e852f256dd31e2b4405741592b8b2913bb0187ba44efce896dfbb95bb97ea1e7f67adea6297c4eff46c76d0a990ba2bd6367d4bf317f522fcc84722140591ae6ee8badbddee4838da40b1361b8a63b8b9255aa098c5121114f28350f22d6913e60fd959e2db43f3783fd0fbefce9c7dcfcf3767b15473cd39e73c7f3cc182e208f8e76732cd52b871debe698b853fce22507fc50cfa507df7b27a2cbfccf9ebcc63f633a6392f9a137e508fe12682c207e60ffc25a0f743f607be9ca0fe7e0a815549697a7346993ca5cfee27f85efdb7928fc552054b270aa3c132e78bb1fefb8cdf7b2cc19288000f1447ef2f0933397fcee0977e42993c393ff87576c157a95a9f4513f2cf1658e365eb6980259beffb5c0abff4a28dd812471cde30c678e2efbdec1af59fbe5fa34dcfd2e1af34ccf750959653c85ff7535f69c49358451266aa839f33cea5cf18fca24c9efb7de278dffb9c27f87d53ce285f1657a5bfff3d09b4d65af30975833f9e50f7a7aa91c3f7a68fc1f731e8037c133e1194b0efebf77da8ab7c7de24904f36371463199be037b98b2b6bbf3bcacbd5dcad7d3e3ef3c6d7bcc7fbf7482dd9e38a3cc0eb0fd2914a5b3797e9dadb24a57c526ab52412e7d5a6e1c5aa9eaac5707f0debe0fefed13d916348097df7a9f7b6471c44fdf4bb8a43d217a77d69f569a74078f517c2dadd5e2fa5deff678f73d545ad1834a69752ab9f4b9a4277ecf27aa7749af0e70bfbe8f4b41035cb1e8ca77217a5b71e613116fce5c9e55aabb8cee302edd5b2a95f40976fb8dbfdc2f7def3b4d2fa58fff964af83d5176188ba2109d4d29f5dca690a56b0cbf7b69adb537bbfb2a5a71ecfedaaefb59bba73f5a229d68826f91334f38a1482a357f49274a78d0827490cc223813a803376608d1912be1c52588cb485ee1c1ba49c92959df27e9184df603c2800208e808179c98f13f2a2051e2c21461fc54810246162df0da0d55986c224090a1c4871480488203e2c69094421611d09414f1859197808b305ad05d5270e28707245396f45094429111a22fb72f44c8eabdbc5d94a08a08bc04d100c39226d6cb12c4162c84f1632548090f3b60408a0d3c183122c90a1f76c0c1650b62896d0c167218810e5f905cf166e5c816e58b183fd0bebcb02387239cd8010c17709081045f7eae3cfaa1c90a5908010322b2e470c6ac0aa215a880099727ac1801191c40baa14a13496260650b255d8498800205135f8061fb010718c45451e285267878a285196ed0a289172cb828ac0822c7830d56184026258a195028696264a605055d5ef064062f705a9048f2c45fcff3eccb09fc4869218a154851c1851ab2dc97eb2ff6196576d761299e68c11558b46441864fe734ecce4b95ddf974e2f8ddf8d54563cb2933f862658cb0358b5ded0b55091c9e024787c7ed82c4194e64b0c5d0138ec405f306e78bd05422fca6532a4951c4b08252525ae3863967ad50565428a5d67a1143664b222f55803da418823d3430cfd8341d287f6a609e414519d5184aa22fb43d7e32347247ee94dc21fa52e4fdf2208357a9b5f6e60b8de0ea373a3738d81ef1c1610c166e90c18b185ee02220da6e6f2765081fbaae4e4bbdfcd01a0445e4a588bbb6a4e243d13592e901e49c5385b983eaa075835a61086d07c3dd7d5d9c037b38bcd28d5276e5cfc6078aa04957d3e9c37bb50c4398160caa0615c38a9159e10ec0b00c0d158d199a991aa91aa91a299a191a150dd54a66c58a61d5a06a5a302d9bd0e64fdaf4613a27852194feb2f1d97065d78dd20d1c1e8e1c38c7ebbe601d4c03abc10675031d54c70ea7b47b4b6bbae43c3baf2e77cc2179ee984e75d0ba41fd34d8d37630dcddd7c539b087c32bdd286557fe6c7ca0089a74359d5eeed8d4308469c1a06a2a2a861523f34d09c3323454346668666aa46aa46aa46866685434542b99152b865583aa69c1b46c429b3fbd367d587fa00ba168e3b3e1caae1ba51b383c1c39708ed77dc13a980656830dea063aa88e1d01b45b0b4da614cd51dccd6d4f1a1a1e3b3c198847efec7ceb797c86017bf01077c29d9def711e22c8bd23f2ec5024cae56369981d801c1d1d9d93f3ad0fc06714d82300e24e9893f33d1e80304727a7c8613339240a7337e1c25dfbbe9a34b4670c07041c0d0208dffad8e718b0474cdc094100e17b3c06030208382c7dca25998a1ce6b5effb00001e00407be0c1b7fe830fc49dd0030fbec73f4079e0f200008f94926169d38d46cd286c521c85cdafba08357210a6887a473a422ae54a495946616ec2c9d868349e4695dd3ad8c141dea139e0e05bdfc1671a608f0ec49d90831eef2086031d1cec78e59e95626930346da04d390af3240d34ad8561cd4473d7b6e7dbc8e44eebfd4d7f6bd789c76039deff42f1d8ebfd734bfb90bb65c221e9d7eb5b0ffb3c03f680893be10ba6e766e9b95b2fd154e42fff1cda849ba55a6289a5bffd9a898bc5a23096cea74ba3370af39a1085994c98a5bd8fa5f1b661e9bb6dbea565bed7ad6715798243d4c010d9c6515bcf7a9bcf34600f1b71276cbd047bb4bec76f682977d8e8b9452d82dc2df16369bb5dba745442a2309ca88b988c441315a2387f79c8fa6721d1d74c6a3290a9c8ef908d36e1fce572a715d38526e58eba738d8fa569d557d4b74661aff510cdf197231d5a72691ea3db69b7c67ac7e13e5713cea5c348b55973cb5c9ac7e4ae497d2ced341f4b4fd5c7d272bf6652f336fad26ac4db7509c74a5b792cfcdd97b6fd1ebad2b414c5cd987058e6d250261c0e7769d77669578f17caf62f5ddabeb80b5cdc96d2f1c5f93ca1228af6512276484d0d99441cfc604a96aef1845381cc634037a91ab949190949ca2c09737bac7bac32a7a6298edf3ee17259bac61b3ca1e5096b75f7fbb9664d77fd09c1ed618df7a4923e4f584714139bde2c570999736d14469df02137fe22dcefd0b5f90b750585dbf45390841116513749648693f1de7ec2f124a339a69c4935432981bacd77ed57c6b4cba64f236334275ff4254f38432905a8b6ad138f8da6dcaca6a2394119796c54cd6a2a251e9b4a36955280ae788efbd011b5655313ec51b504fc24cde9a48f11a6d3f7ff13fa674b2574f7340e897044ddee0d75f3987fa725fcb68ba89bbf884297bfcd3b05fbd3f3e82764d2dd2b3b7422a6301a2e11fad75cc47efed1bf8af77671f6dd8a2713fcef157fd193cc456a6d7efb26d8f75cf39715a94579fae2eeed5eb9e231ff6bdd5f8a59c875e585d07a927054cd36fd7b1b350ee7b1511b6dfab7681e09eba65620b1671e6bc97c8a3ca9dfbd4b2c76eef41462c1a63eae7df384d3411fdef6eff4f78e91a852657f7ae2a4cb98460fec7bf317f576a7a58fd5dfae5a12955182fd690f1a7295d0bc37d4cd63f52f1344ec11e56d8c1abffe84d6897044dd589b8e2854d1a66fb429ea8abfa8c679aca26e1a853b221cefedde50b78ab3a63b5b5dda3eb5a74d514e9f1061f8f18427b0879013d8638ad877c5dbb5243263c99e99f96b46895fdccccc5f74664667689baa8454288dd3b82a4363059446e6a06ed225733a8cca727591c7a6786f339fbc37b9c388b07bf7f9f9798659fb8ef94aba54066e63eded9f70a4b91f104440cd45986e72279f64a8ee89504a2962dbe349b65b32d9a69f8908c76b33e55442b96ba339b425bbb696cc5f2a0851b8ae53094d51019e8fc651584bd6926dfa34a771285c8ef92a5038a26e7b2648eea038d46d7c7aa3301f42fa37683a88f0b1011f3e7cc8b9eb4f383f9f7a7c4e1b39ca4f57c5cf4f5745385fe690430e428c20f384a2c4d155114a980c44fe218a10f64b0622ff5093c83c619deeeed3bdfef874177d4ee93bd41f2ad2c50f32fd4cf5bb4ba79386a10f4fa57c2c40faf8907b66db9cb60561b5f6666fcec5b3a0d4de5cb0ffb5fb8eea8bdb7576506bad73befd3bab157a67febad576d65a6badadb5ceaa158ee4488ed439d2a6b3da3952185a6e1c1c1c9c2db9dcccb75a6e292b8e949256aab1902594508204e4d19e4111e82450821659ce29a594734a39a794734a39a794734a198e9361a03028357bdaab267493f4ca3d52ea484747a6e8d3d70d9dd574fc1e21e592a88c02d1a05aad56abd56a19f81b1d9da39a0eedbc26641bbae18c66b3d96c369bd56ab55aad56cb80ccc99cd766473599ab36972473200f9a396d369bcd66b359ad56abd56ab5dc6cd66cf5b1e1a1f096c2bdd1eb6822cd66b3d96c363b9a47f3c836eb6418280c4acd9e3685b6f499cd66b3d96c3665b3edd2e726e995a3404038c739ce718e739cbce1684e1005da8e6790c231a4403ef377529073751ac38270beb5e2f41ea74ea9949d11e17c1752817ac877ea4ea594d2ca72064110044110044110044110044110044110044110044110044110cc3546eb9570be7b953f3f9054818ca840f2f3d748bd84d3f58bd85fd229a5d49dd2ea2f9152b9c3e50e370015a7dc21bb22c2f9de7d67c5395f8a23a594824df4582a85f748a310ae6d6265091134b10226bef86108eaee420380a0c20b193248b18233849e788f0b328a2966430831c6971fc640c1141d60b6c472dbb2840f0a50a1c81351be18d232840f38209d4d72ef4d1019ee9557b04c09b26e83cbf0a3c415351cf9015754853f9172c6be21b460c610d22db1dc90ec993dde2891f35c60ad7bce7a580622484ab0c5932648e0e40a1427656cf1debb509c3a20de9115eef5ae277a5d11de05ca7245dc6d818aed9ff2bef33c205fd018318c1184ed04322b279082657b8f0821f4dc1eaf210c2c372a3d57bcc1290148058e326a4ba2182001a2b24789cb8165489c8e17c6186f11ce1fe5d0a833e28430a48383e398879c7942ca050835a230f9584a084c1d522a8d1ecd897505a248759644e77c9a64b74c6673a684556f8f1528a8055a8dc8d894afea414815285767de57813c2d7d6a9579fb1dadb55aef62403251636a3bfd4a2544ca1d12e178daf227591421151bf03d9e6493671ae512ec79df7fea934c9f80ecee88c23107d570fa8946735641eef4b9e20abfc5e112e1eff1243bc9684ea689272764b0ab584fd44a78023ac95810faf8db32422a8e34576d94100a3b4311cbda8b9baaa42c5d232cb7f1f384fe992774294bcf135229e5f3849427ac9f90efb34f83ac252d7fe63ba4e72e59d07ed724cc9d16a63de23937ae086744eb4fd782701487e48e6cd9300ec39478b4f1773a84de7b3f73a3392a5c0ec214861fbf0aa72a9a2ddb6cd926cc9e7f8be43592f7e82279cc5b44c89c56ad3665daaf4134a77b7b6fd135ba47f79e68db5a107c6bedf750107c0ba6280cbfa412d6fcd572e2af26aa9abf544ebe84f27ba8aae62fac12f217a666cc80621252d80e5855f3987dfc2a27aaa36d3f4628c64667727207dcf667c4f0d87cfb334935641e8be1a4c3b67bca1c154ec2f0dbbf38b953daf64f34b913b3edcb0aa47242e688435a366ed536fe51ac5eacb813b6867696128ea83b735b80fb74df1151331d51187e7cb471f8303f765b55a3471489e668d2094685aba002dc2714554755a6ba2599c451358a43a3cab6f1280e19a9701be358e22ffc16476de3b738681bbf0581e098f18422157fe19bbff094d0765884a32927dec4a12c256402f43e2bfb9fcca7c827f3f9799f272b2b22608f425036b923377e538ee6481ffc26248fcdc76f3a3271f1d8f7630edaf833feb2ebe98d754bbc65fefa7d057b7c2ff5dc564a29a5945266a49d6f19528013891546f03d455bab087f65b165f317fedcb2c9c4218abfdea18dbfa3a80ea386280c8fa8a18d676e1b7bcbb671cb4661f8c7966d6317164d80e5a65d05e57b71625038370350348c692110964d0dfe5b37db6d6aeac7b9e7fdccd2abada211e9c7d2a9cd62d5d8d97e2c3dc3d23432112c2db333fe7a74ebb51ec08b5a00cfd2317b03fd4401d347c713d6d31aa5ee2e3d7d6ce84bbb4292e6a83e5f27de6def799fdf358ff5803db6b813f67c9edfeef1017b804e7bf572a76e5f81b1aac91d1ee4ce7effab83e4f179ffbbc46305284017b283cdc59edfa3838cf5f816fbd6688ed0be34794d2e2d7d6c680d3401348bf53ddffa6c027bb4c49d1eaceff1d6dc3d22c8cd6ae99e7f26f509a099a8c0010840df1af63e9646d5b846177703988aa8e4ac198a520ad1940000010083160000200c0a87c44281188791108fba0f14000e659c4462663c0f4743690aa228926210008c3100000280310420661cab3249008cd1fd267ddf404c8ce9bec4e993b6123065e5d3e843ea48f1a49fa624041ffa66bbc0d44fab9352bbc4ecc77e935027616c5d0051de095489b85654d6c1e92b24a36d3e960e87c3dfea3dc0531b75bfccf3c114602f1fe4d781a2f9994b798fefd684dcf16a2bbaa4188ac8c4eaaef8ec0dc283bc16f49bb4a3d30c1f18745daa63c55bbb528484ec78139a043033b593eb41ead2e2d44923622cd27815637ce2a7129d14318c370fa3068d8d9ce6da127cb291e369326a9eec30b95382c789f4538fbbd360a9d93d93f0acbc5209621189e513be6792a8e03309e12de8e1332917e23321e5c8b0d5f796b7f9f89b6bb0175adfafa8138d6dfbd62ec6f56264c69c818cbeb99d3ce55288f4504e6caf2cd81a326460e8aa7fa1f031555937f1db2b78a6a68d8d629af35e2515d555aa548c2229a3f7e9e4d0f8028ccd385b9cfc8586c6c10a5a5b685092ff6659f127bef8cc9bcdb1d50df1a68e8fe6aef84353ec6f9362263e5599c8dab5f865315bc303c30ccdbf2216c9f9ea26c2a64ad20d214dc9b994de455260125f9b399a68d24a238d280d247a891e1d09228f93c55dc5f1d3a8996b326ab8b886e98e3b9330fbe8f0b1de81b9908705683fd8d731169548133086b9091269921212c8f81befafbf60c0af2b7f575f272eebb037393f99246222a8ab4b97d85e0ede2d8ae8daf9ceeac82be63a1ea9e59ee1cea262ca85c42973db1c1e19950265edfd0944f6fd2599565f9466ad23356810031b9572201d3aeaaa5b872f51b751289762218795332ac19d2456d4f05d6a7b15e06514daf5b2dca6c11f9fe0b32ded66483e67c1e87df0c59171626eecca8802b381f87b06faa50b95d53247bdfab36c966310236e1c1e42ecd1936c384e4bab2435213da308abaddd834928beb0bc726ffc81b9fe339010e15688a5d49bc8966372ee0bad27df16c52c0c14bcbaebaad1ffc7532edd0b27531153c0ceed55e3e1de960b5004a8dd559c3e0913a5b7b546330f64a9cc442df4a687c7bd7cb7b0fbc1608efd171cdd7f81bc8ed288d9649a8b0c4d19ac0aa245652c68d1a881ba8771c2b546d05ecbc5f620f3ac92557e02a9c237935d6a9438d314f987d27a1641fc7a5858e6deca40aa3ca3f32e45587d65472ca1081f59157cd1f8bc5f3466ef7a5ecf31f561ce75073e0d34d7c6c2b10453f584e0bf733f99e7d1d0c25e490b43b5318b04862bc37dd15b7004371e8d99100f3cd3490c83e01682b173e4683874cd1c2a14e1a8dcb1648ca2c28e4b23335b4b67a42565d0821d77970287b7b49b8478865f85b52122ad42949f7a7d199b266128cd0353460134683a694d1f77057fd4f8a1ba8b7eb6d9be4742eed74a76dee022e24a0ccbce44d41658e143f199d5d01220ce25d5d0478c38261cdf66cd5e91c499db4caaee63d2aa2e6552462e09da2b66389b9eb0bad27962bb204d28b21c4ed91ab42d4443a7bca0aa20a309dea23994c0c455ad2f171f367da83cd8cb61cbb4190afd5947ac0ed8caba77f842e8306f2ceb18cb94941b771866d3ada6dec199969eeea97025daf87ccd32c6700fe19a9d0c6f0bf9e0b988dba8aad3418067fba2a8634d7b912f29b98c33dbac080a0cc944187e911543a7273a7302dfdfbe605d27b8454a2c7b75129b001c0cc24b6acbb4782216a100b3fcb237fb57fa5cb256c75dee0aef2b051105948f9283fb8ec7669cb8a0ad6e7763657948db74082d1bc0af695b27c43d196fd2f20caf4468b1e733ac33bbd9b88d06e1d888d2aa83c172bc7dbf14abc2b355d865fc4aa9f6a2d1800b5d3e8728a164ae55cf5922dab547ff8912928faf2403f9a6f7d1124b0618b092986433ce38682e838e8058bb6ca18b983b134c4c2cfce38a8045e5b992890549938696ad535eb1fcb87951735610b9ca7e72e5fe316bb63bcd16093e5d1f7e0f7f3fced9d7a24cba30a9338f3c74a07085d5c33ce155f3a8b1424d9da887150b6ab62884fa827a0961db255eafbeda2986d0b61f5685699ecdaa7c512f2428fdb55d4467814fe2082798ff90f5cddc7bd73f34a4fa203b7a797a30f73ff6b8f2925dc0e13f5fa3322dbc2f3c8a8d7d4c5c99692656fd0098034b3abf6e457c5e0746b4332a0087105b03967072947e2440025f4a59da964085da3edf8fb33231b377d457bc17b118929af03829879188831be5fa5279ee68d07b2dff8250975fdb9719b192d436f79ad4a878b3df580e4a0b9440547086e6665f00155b4d48c3ef2045da27dcb2e30e8643f77d6e85805e958d463edace54d745c5090333f654942aeca69f893e41bfd53ff5a4304e3259c0bae581ba8f58d32bc075696963658029ed083d8fb6d244ad92931e63a68cc898f745131ba3a888e2edec65a6840ec6cf8fc9d743c8de7d7d05fc0fa17c74cfa469f539404590533a0113eea11ea851caa9e13c846521911971360799ce7977adb68ebdb7fcf68c97b3b3b53bc118637a4699ec189cc2fb051500a605f9fc14805e0a45930100e37050c487b4848c567ac567b1ee0d09955daba45d48798733ab0a62c715124da83e69ea8f0f1b57961836f626fc93afea1ee773bd4cd0d22a249e012040a6794f57b018fd2703e5bd10b94ea417920aa98231fb7a72bb956da76670ee4f04013c9d58ebdba045105cc0d522255c0fd4725bcc868042653ce7ef62ec5fd1c4db1c8bd6ec2891ca83ad824739dde6586e98e156b7a2514dd71a839e7574cf28fd99d403158784e8eddb1ff1c0e0565771a13d2a114f55facdb12b9f94bbeb4c3408c26439f445b927ce0f83fa58f0c58025a61474a22676bbe6103d61243e6e6fda71f08d2f519b559ca4bebd07327b154584a8ca7f7b98fbbdaea1c3f641a509149c240b821c46af58c3db088e923503662e77fead97969d4fd5690d8a09b3044379f29c50681795a255286778e549d35a31e73e68e23af738b3d81dc0ab89bf527cc823e94acd76e0415c73b812f47b34f11a428ab32e73c517f9175f5da1e09c1605747bfa418109b16ac5e794921f5ee98c089957580d0fbc50277b5ea77c158a9348dd25be0e24c8e060c13cf1c3ad404c4a582adb57850e83e649387da08b6ef3684367d9b55583f7b782fa061431ece46c7b6f4e7b4ca8fbdd12a3cd5d377ff2f8e26698ed5d11f06b7fdd65c78cb030b042733ddfb0721e9ba07302b82c203e681158aeb0ab8bbe24ef1912f6199b57b060716e36334db6af196cbfbe3cd1519f1a02b3ef6e559769af3bd37b81b36165f9e56e9a709c1de4ab9b3d9c56b745db82366ec975be374e3b2bbc53e14d1c1c57322d430a1e105a0c2a9e974cb00f3961aba3b2222d3ac145431ce27dbbaf367188401f2472f54f31cae38551f7326f3106e90f18be3b1d7794296d8f56fe79347cce41acfb8f7957e9c0f77820c5b0003e710e2e6e43a064ff0356641975ade3410346a104b9b27ad769e603147c25f80c34ce3c145eeca5db21a47f800f73ba8eaeab764290c76fea90d25b8c21f4010d85f85fdda60dae52859bdfe2bc11aa70417694730343e2f30a48b6d659543bbb5af43353ab155bbbf749317831a76e4af2a9dd8e043909fb622ace626788f6ee9bc33f78902bdf04f2c62f242a419c6ad1ee5f9625190c92170299bfefc03760980ec9c5db394bdab4738dceca0014f61458c3d40372616246e040bea833977d7a4a8bf5ecd390385cfd483e2747b37c18ca8653d267486d38efe0be48f278054194376033e2faa33703c87732696ea6691fd64d020445f2a080512baa772b341f935d0cc6c8ee024a0028065a3b22fbb4b982242589cf151e63e577f9c415d3da210829999f9c551e0388399af78fea862a96dd47fc7841a2cc114d897e70cc388111cd42c4ccf82ab1134f97957734a2457eb8dc05e0c93b629bf3691926d94557ac110f989606dc1e92617ed18d2abca1f7f115aeab172c97a605af04ca595de898e8eba999cfcd524ff75bc5fd786b756305bde343efb9671f94a59a2eb18315dd0a56e7b4c7118b8ce8ebe4f8c40b16f400046d80c06bb404365ccc22af42211dcb792e7429ae739971e182d14076be04a4a97d4cf5a2ab5a74366ee72b8bb0e018514b9bb69dc5f3b64a99b9bf8a523f72e2a12c2551b25d50f822104200d55d0b79a008a03797b8ef914251060a8340813b5e8abb059e9f1e1702982955b7a3bbe5b4b1e13afb4910e815daab52ac0342191d69f05ee7b2a612f82e143326734e90eb7a07d394376ae6283435d7288d76d3a82e0d40da8a16d4c2201f7ba392c12661e8371e64975363ec7496b8486ad04d030122ec2469eb1c0205c3c22b1eb4209d4623335358e569a0dd59b4e548d4326a7cb1a38a38665eee16e8642dcb367c9eba70acf77798fba8843d8afec74178be5ed649ce643a00e0a9e5dd89523f53e412869d37b6817a31921ccfdac5938ca32d9b7cc492e4bcf6dfdaacf7c3ea962aadcef30a683499e7020008506c006ec591c017b2eab5d646e004aa7fe96edf8d759a8f250902cd1e473aec80ad1b0f92f687d5582c2b231486bc2f3e96ca22f0680d0ed6a0f6dce27a503497e4a24c698ef199ce87391b704111cd9518aa9915e59824f8efd9c4f5c80eae07c8c7d2ed25adca0eb3bb45e9746e589ee571f4014d28a8a0c06f62dc2bc2a8d6a02db747678dc02a207dafdbc3f75a7d0b1c833fd3c57f69460e0a356455a65b48838742efe4e98c361cfc191ef89fabb6ae3638108672c54313c4b50b21cd161686c6cf6d3b9ef94008eb85458257e64218be9c427af754c58fa242380d34deb086be6074c70ababe256ff3ae9a5e6057214ed1c676451eeb4d7b446ca727e7cad3b36108c290b0c8eb9c1dd3272ac2de45d7f0f0969376147e5c5258921c0b5f68f477dcc2388417ea1f65a84c0e6759fdae208e0e1dd7bda9e1833621926413ba93179ff155442c5e3e0a7a2149ddb29693f611473bc0231c69ceb05bdc801627936c8960fb87ab3baa54ca3c55ff5c5b8bd489557de2c8e1f072f475930af605693e87c0e4e004cecae10b368db4c41d06314e41811605313b0eba293c73334550a7acd9d78890fd30820ce975551e0ed5f47623211eabe1c88e403743acb610b5a2204f959d65a94d98b77f39222b5c5e020519014f8a5c89fccad1ea28ac587d7a12c1d83fa82c4b1c0e51b1c9884296141ca14c721013d9918e7697f1900ff0089df9d9cd691cbd0f42addcc4ed140afae6f12ec2d48c83ae79da805dc35cc96bda27cac7bbdef353fcefcffea59f078c932a66bf9b0b04e455f5a2b216eed446c2bc8e086d0c62be8a225718018f928383605760ee19574f441e20d852e8acc93055ad9d2af84ed0858383892de98b0cc921c4f0129a1171fca45ba407a4539bf6d6091cb6ba02766c2478df1146c3420d814fb2578db2f9c2f0ed6313d829107f86eb2072cd0b1fe371c40073dc83c27920ebc4465d262b4a16b6710abe8eec1465c0e105036c018df260446a1a6e51d4013dcc09e3c1e7457166f06a46c635df62bd44ef82e8af01eb38ca1298f6d928b20cb118296e4cbdc98637961ec9141d5dc06939a82546a5f4eca8705fbf58ed80f55335b25d256dd8c75bc3bb7cbe64133ee1199970380cf5d4c6089c561846661bf7ae2fc93759e5cab4325a92b5df21723f087e879384915a57178403a6f1ef8633a63f14e824be52079d49de50ae469616184222cc2b236d05aa600d1e8616e9c5b04a79675aa480280f8cb6089a4341abf8f48f1bbb7bd644f0bf103a2070bb5c541d98ca4e5f18c2d15764523fdd96eecb0a4c98ed0f22e20fe419debe8513a37fbfea89365aa82e916d2e8cb58da976eb51d967d84c9ebdd4b430b7d04d66f731136bb8b56074c43ab22b84df03b4e304c65d6b2c558bc9db5e3231a4edfc321869704aed4e0964269bb248ad9563f127ed5bf02d202e65b572ce0a9d936c8588e4b0213040e28641974b2a78cac968f92fa97585594553d64c9ff77c72287fbd381c1b9b36f22ef8abd52e37c92da97ec56423b6983cb5df0265c818d81ddf628204f971b1e4f603d1fa636bd20db173033dac78578acd40a58c6d05e90897853f4997236709e6fd2b0f634a2ac1180c46ba98f9fdb9e7254777006519f871189f3998e654176fd5ec2d80741c85232f022c12182d092642dea991172c07981c3400a90d6fe787d68912202dd6d9cd64efdd96aea5209ecf7edbccae0cfb2c177982dd84ddf7b08c3f2621a4fc805a8a7fd67f8c774d739cd17f4668f013f42b7e32fcf236b258655ffed57ec2a07943ba02c497b49da0a75ac7e1731d981972aa97815b9421c787024353b2081940c14cba3d0990c449a89d16139db523663f233fca2213aec4444f178ca519aa3d5d44c739c641b65b62e589c32e908ea7a02e29a1fd7cf2a18d1080693b88f33f28408eca465e7efb899207d3b33ae1bf4a7a32ffdd790c000e6d762adde9e371bbc82e258b62ef159b130f6bb4ed3e7a540805cecac9c516f594a053245c7f8e0f2143e03e3e861020ffbd9edb840a0582897e5d7d9a7ca881ea549b215e47a150658d2384d436b1d941af324c24e2894758612543c97fd4a8fa528f23f7c77c21b50bb03c0e856bdc81737a97b5584adb0e22a2144e206a498bc3c61bff68825e3bd17461c2e94d5ceb9521a8303762720bf43799234e8a8d27f1618c504e8b156336d54afc6eab30a44f45f0e54b48d30bb10fee417ac88e092f78babaae5916c8b6d889ee209852ff8010a2015cd2aca080b4a2a11998df0a1dbb0c4d5844612c5c3eece3fd48a32250984bf2d1fa946867d7ca25296972131478aa500222555d8f831bb58dc170862a56aca449b2dde05d3109b553a0e98e774523cf7616bef717eb8cba3673fd9b0fdba861435612d7049c2db9c949362bc4c62f58b8442f0573c1e7f36ff1d8f4c5b64b17eb3e8d70066555451a5e5039f2349e6ba824c76fa4b73116badece056a2bda6f130465241566b61af0200effcc9734cbc2d9c8482b8c7681b0026e785b972253d8f6d5c1d2ddb44f7e27681c6847e94dd1738c1562ac602580607ae409ae536f36eba0a63b1a4f95a37fe7c966ef61e92ec8ba256eb0a82cb9a87ae4ea59f63b58589c3c7a8a0c06b39f2881a54bdf811b669519443474e566a7f062236f3e999c289ca29c8f7da6d13f27ea7873365dfe40f9923b79f165a350b34b76b304b3fd85127a2ef7f707660361f6a0c494efd779f22fc1fb981adc83f2016a2adc9345e9162a364318fd78bab8093cd1381bc1e2f6bd7b3faf129cfcaaa91909a454bb2999d5e6a055efe5a6b57049c74f382b9ff1e5ef87f4c9f875a482b6c7bf162f6c06fe5b9dbce73565fdd23c7392a872a112201d2e790cd7fe9e0215fce67fc2abc2516e09db5088949f0bc8577124826027e68a24d9b5355151859dfba660a9a0400f9d6b1b70f252f9095e215926414efcb4e2f8f4d17275a6241de051f51a5582a8bc4af8b1c3ad4c325f9d451f06253597a73943502dfd145f1299b4af2e81a0eef61b8a289baad2ce0e6125232e2ea70c909f8a39cf2742c6bc60f85f62c08e173a05e93c7c2715978a00cd9baa5a0306ea65b753202a57a2e50110a574d70b5190f990a89f55ff3656c36fc052fb2dfd32b567797c898df3f9334481bc3eadaaa98b4fa508fdfec5674c7e44c56fb6371c8522e1c5bd2b62a70da7b703ebcfe3ef02a23d7c2368b4f90704c38d9f76b4a6620d2ecc3fae404da1c17fbc4a3bf166eefaa533af5370711c98a4d930d17b556747d0438af0855646949fd7eb99980d05837e71066163f70aa3a43ed8dc35253a66e43c9707192c0d2a46d1cc6fe26e7362fac70bc43c61657b8d7d18488186d02668c885260bd1b18ad6e2d6cc3f19d7383657751aec948c9cdc55831aa7eba002ca964a1c8ad72de2dc0f834a63e7502128a09a665d21fba3f0b56dc7f47dac55774794cd80d42f364c7ed8cb100b08d98b3ec088e6ca94bea0e89c89b23d5e6e6c414cecd4777f83fae9cb99093e391bb679de6061828c945afbcf5e83a290e3a4380d5f4de414a7fb0a416afb8d314b278a865fbe3e104ffcf519d140cb053db372e7661e1813f090caf6fc8847287b283ad3d1a07e44c6ab8154b62a3c616dafb29a3b7f0941c76d62630d4fff8bc15d051129c778697ddd27cdf61ebc1eee73b633dcdf1e33b769142885408ac2f57ccd062305f3f82c7c530c51bcb8881767e2a82dd1f2d38fac6fe969a4a04202262195e82eebb2ef64384dd6408564422561effd7ef83c021e5598173fa883cf4188286ea0a8947eebf98c5be82fb69ba7277fc84bf0bad08501b61d9e17d63dbd89a6994367ce78599fe3e032c740dbe24e4a77f44a935228b2f6c9c0fc294984d5ed042d928a429659a0e591a48cb9da624911bea4e74ce884930b17d2aac2d1979fcf0fb52618a973c55241ea87c854011298230d59fbc2353896899a328cbb6253a4bd3241cf278b65e16ba9d0290da0f921d188b38151c5392341514751d12b583f274f45ab9a3c37c1a1d335a5dcabb2ab1d53b962c701ed80760cd2d1122e6ace27a654eb3fd92525258d542da487e17fef25a506bf8774aaa75009de476682ef41faa0e2baa0ee3ef5ceb73ad07211b894ddcb00b70b2a9b3a61305ddd36296a0f3c5c15fb62b1194bd573adf54f9c987a11150a1d84affd0647f21506f5336cadc7c97612ecc5d3850693f347bec9b2a277cf373a0f488b5685c20e4c27068ce9df3aa23c3f8855b6f4708f3aa242f791348da868d39b759f8d4d401accaf3e9cc28f0c2554ea1cd3df4df805ad32e1affcf57b52b3c3586f8ed034719f848b9ebac68fe3107697ad15f1ddd7e1353b7840312e8720eba61a691083eb5fc5538f25ae5a4eb77e26d0c78ba4e1e95284c6d2af86e267796d026353ab5f6056e29378957c8c819d55ac0ea38505f29e7b88485cfe38aff27e8015feb780e5dcc1758c043f3cabe46602ed2e757b3f65531163324d84953b7e8e26bb150867a6a4f827e2e175aaf2e5590e6d77f1fa2fb9be4a8ff758215c7ce3f154f93c1e9535aeecb46160bc7891eab09588cd2949e9b8ec4828d16259a1086571501c008f68bd788b867434527af150d49588b3250d62f38e4965afd1fc99909f172f420b029341e0275a87a31bd7534306b2d2b626d39e9ee37fad6228117cba90b60b1cad9a166af960057fc1cd3f1636beb86aa017b756d9935b896a11447293d551ca71a5b5f9949c3d4c245b9dcf93823041a3008efb436401706a01ad028359655bbaa87da5ebdd5b6176a3b6e1dfe27bbb0203d55107a13ee50b7e23060b7ccba689a4fb4d474498fe14fc3fb3f8c7d5dd6a654a4313e2585531989eb7766a7572be325d83a79913fbbf525acf6fa98e12a9edfc37d557b9aad0b6fd80c2688acb96bae7605e839be621fcd460273369847964dfd5b012a925f26f9833f26e0b051c8977a61b13a92e199cad9a97a1bb92d1b5c5232a8d20cbd24683527393a47ba831a5eed1da0f9a6e8f440ffdc5f6f1521681853fdf4fd7a299551dc88a2a443a93e72c15f80c2708ddad017e8aba682df8571d01d1d17d0113d962df442d42a15885eda2f04fde5983df48c9ea857430545952e49c34ceff40eed6ca968afebe7c426ca3eadc9590f8eb37bf43997f793f6d492ef2f006a0cb1c7be898ba089ebd348ca26641f059573038c0821eb07be8a928f47b7318f85534bdf31eceb2ffd033aad01462c56d41f440944bbcff4fdcb933c53bff245eb591170570cb3888518243b9250c8029e3c25c0107620be210a700d957a168584864f659a8d2a2a5ea2130d949c25c847cfcdbd322a5002e17d0efce2a02b3a3309eab9c020e372a614491a03138b293105685f67d7380e1f62d5cb0a5799e237e87bb4f236c3c9e67b4db8946257242b0793d3fb859f5ac9bbb63797891aa15b62c097528ba2e67dad253bdb7b7d2d0e1600787d4fdd64be9bea0c27dfc01ed489265f88f8720786e23ef5a3cadb0d16206d18beaa7c3f6691fe1011df1b5e4a05b221ccc41a81934d38ef65e2f2b6e89d030e4ce5547d96e4b849ee135aa540eb36d89b6d16190f32dc268fe70a8e50b8da83c8b1afd5df1176daa086ded061ce721999e868271aa40138150992abeb74e7edcc9eeb428f1fb103fc88d8c67b71a78ed938835a857c478ac79cdfc4a8a5e6a7e8ac4d61521efc5093d1bb45877980f6d510563cb89bcff8ec7cdad30168d5fb648afd7267b4ebfae2c46e275914d6d3331589c0c8ea10a8ef2d1ec32f7733700dce8cf15ace09ec812cb14ca6762e308a866eeeaec3a9c001d225eb2d3cc113becbabbb1890199e8adc9c56ad11e4502dd680cf008c4c69f4e0a96911f09626728432e64ba4d8a8085f1a188f66b39f13b4c925bfef78a0e5542f4861b4730e54e92442e5bf7549197a159894ca732e2c9dc9905392c5bee7d51091e1d73c0f5487862aba463a7d752ae874eda78d0ca0600bcb90cbfa3c8c55414a9b18fadf78f1f22ffebb2fcf3418d6d75ad7ecb055e1d9c032632742639999275b1599a3f2226ba25886eff18aa2ad7351b11fa7c13029d5cc271edc149ad6d593168497a8f234d80967284b79151ea61c17b6f1de3f2708e8fa9dc81d429ddac5552bb6f457e008d23267908cbcb17a43c88ec4632583d2e722f6c4fe510ec1cb9ace746fe5282450114e25d40944406957bc9cdbc7236d29405e99584d35eaac8cc28cac83faa2d1a1abe495079384b87a1b930e92b73d728381db462d8b9880e7bc68abdfc895a758d0d447458e434bed27ea8db6c99e38e3a55398bfef09e48fda7aad47ec0cb6c6e15ec0d4f06d362236fd39f019df7387babecaba38e13c7166da0c0e1225fa4aff07871113e73d3964936fa5aa13b896dfc136ba44f2c4e02ab637fad31870ffba964acc60336fb603f2e39c0776a13756e06f24f14bd84642bc6f048eb534e73308c1d5d590104cd1b48bf41d22adff0668e9af7994d30950e690e6c008f5630dec851bc364d27a0844d83f92621a46fce921b0fe206708d2ae205fa77975d3cbdc46e5a915e18fb1d002e9947729c15dac6791a28ea945c3a5b53c3cc5c4d8b982e8bdb70410ff570bb79740dd5d3ed5d165d837c2775edfea89c2bcf255e740dccff19ced7d9f4113eb0a39a33757f66a372d21ad947719aa55ddd498831b5612bfec98db31ce6cb62c3a81c2675802946f054010aff6ef8d4de1b2e0d838a632891c6078a92935b5fa9bc80c64366c1a2940709725d9678d53df56cfe5434e9b5751410db1fc82d694dd9fea82989a4d5b925ea54cd894e75d2d132683867f5b67efc33a9063b0754a2e5f9ac984fd2b73d2d41173e611d60388771b4f6a616d4bf99b8493afc273066f09ef444fc22fc80125fc593570f01e0f114a8073b1efbfeaa005f4ca6ef995f1ee81445bc37911fdf542113218844f1171638a6a8c3d19d19cdb5c0946b99e04e851c68aa87010f6520c58a7a89819efc87150045dc7f95fcbc9172b8e3edca8365b0b5472b049bb84638a76336ec3d2c911763ba9ab453dc71f0b63a36a9b5d890445fcfb7710feba0c58245148e2b27ed6e55275ba1dbb01133f64b9ae6f8a1ba183b69210fbefff64c63aa740dfff5e47360f34abe7253135a9d8907d23058b17909befd151b251135490290886f5c342c4ee6cb038bc75907214d360872968d20cde00277d5620fde976ce3d0778ea6ebaa644cc7d1e03ad07430deef550d15359efaf42911de73120090402ffc75e28135311e6ebb3dbd178edc556a7a39f74640b00b116cd83c86ae57081750b4074c88229d08fe820f43322b57aec5691d88f3818dd4843b1ed8b0f915fc8bbd19859d85cd19738fe9a328cf65cbf65f54077d4367ed5f73848b09480072413e9f6d54ab18e704fb368f935e4335d9fee3ee3a82e4c496b3de4ba28ef015c5e5e4e5a60619107bce959240470283bd9d7115064a8da795b6002056eb7b445f40d7e85de7dc8e4e52081c9452727f941ae07f5ee50dcf8fbdf74f485aa9c7376d3c71ae38c293a027b21a9d68627cce74423bded93984e6209ce91eac51da4ab06e5a118f370de26d6c813f87519ea04de1c7a5c66121ed74daeac8eee04a82be657204963407c9e3a24c3fbb72386e95d1bf3976ba98458116a272993bb6df5622f726a6e6c23c3b32899c16741438f852a3bab8b01cb55eadfd44d8e41e328f3ac9e1ad62abf280ae71750c57df0bf7a526dd2e818bc60cc437278cf5ed37ea34308c311c49fdd508ccf161b54d988327e6ddcbc55f98c7f90c34958e266fbd940e0e8f11cf0d7d1441752ac89e973bda8fa16efb11ec94e9e3b02788faa709abf4a13f21e892d840cbb265f4088eee2934aaad3ade308bba72aede3c3ad12d928756040a3ffcd7242d8eee03fff6f9a82604eb91021ae5671b4d39ec604a62f1138a351ab9395a04309849e3fb854209605830cb8146a9d43d505a1d7b6b4cd30ab1bdcd67c6e5ba67f630b25bcd4623ef9b092e916a693bb3613f2279bd2de271d853c1854614d34907c7f025b44440eb883d9a2cac75d9d2993188aa4c1c5943514b86693cc03b7a4509b799fa00b528e81093a9957d989d71f26725cce73955e3938c4ca9dc8d3170e571db822522d237b9d300e7578843b3522fa0ea801c788a6169de80a6c7651e2c35ef3fa923fee43a996f513e69162f2b84ea6b5803f7214bfea3d9926e7f6c0b72832875bd82bab11f30653aa1a47f14e3c524e64a993b970424c941e45b956d56050ef51ddf7e89458fa71f8a27ff51010c4b78b57aedc00811449b684d1d29cd6f02dd891e0053648355ac83eaf788ed8ac0e3b27e7d13163b4aa2b775d131ec991a547f17754494049681edd7f98f1eff6a0b03b80cb1fe0f23602406c0bd09aee5f5e181f7138e83c3294a1fedaa05ae38e5add52ea01106485f19b72d349d73415b1327de73dbfee30e72b516d2e38761dbeb123ec6dea5ff67e5cf5a8685c1505f0260bec55d40ccde073e59f045a4e9f824bd4cebcf53f133738d0e6b78f03fc2871605196b57a5a6f47a39fc6ca75d8a9d93841f596a6193e22c1eb7ac459e2a16879639385297530be948bbd4b7d0ab9750d96d6570d6ac25cf42dfbc6465572d839ded17d19142a727c2190083c55763313ee17c5fa354cf6c53b18ea4d29aa1844ccecab48c8676dce38f89286285a4b0d46749c14410c15c7f4acc24cdc1d2ea0c872f099ceeff7dc12190de4373c7df63a8b547840876ca2af43e0d524008494db6831f1ba5c782984f1424aad58c44e7aaad603575d7b9de7e56cf4af79f12325b79858122e0d6930a52c1e2fb1649faf28da27ee9cc52fce17023b91289f918058cd68280c2f07f0d4f631424a4db03d9163cec6354e767459e736d5d89fbdb39f39920767c2c45f2aabb8faa58af2338abb217e436d6f2cd8b868a976d8feb3f2aed367bc79aa550e064e9e9e7a966b7072b4178b4c064dde93fac51b55b97b14427ef55c24a85beb1c09a6afcb07366a93dfb931f61a3c69a63d9cbe39612641b74ec553bb56c648651418547b4bae3dca71bb995a4c99f843c8a64e1969e616577a0ba7f525800e30cfab3d7d3c7c1d7dbc078cf2f521134d56377e5ef49a2d550e1ec0ecd721cc25fd485cd1740051a01a6943761ef8e832f7c5ac4a9a9f6f193e419ab554f04f1320dd158070e1b066541bd7b6d45a0076216234be9c8505d0dffbb10ecea1b35e970e7e130085058885391e8a42bcbf93b562ae6d3291e4c54030bb610d138e2c902388bcd070dfe2bc6d9b03591060b22f7e919e9e2c3c13f89d20eb9801462bc5bbc92b008ef5ea28b33df3f93ee2324b6afc7c280a146595b23d1ea25a961d049c7aa113f4f6fd148ee8d42260497da2726354f4d309c4c6e3cb9cc381b897db2526bcf9051458ed5e85e908307aedc53af4d676937bba22a0845fe493a5547855bb53e126ee7f3f14b5a414262d97d80b1f3042f8be1fd26ad2a70fab208bef916228061bfad139c9f27383b0f30369ce07d3cc2da3a80b3790af7e50037d31966f713cc0627c3f58077becdb3c103dd4e83b174ae0c7cd8ed4cb8b5a0b17d3cc2da3a80b3790af7e50037d31966f713cc0627b86fcf305b4ee0b69e2a5c54dbf7446d417788f8d0d1c4034dbeb538106642650a41bd2d88cb227ca5ef458332330fec6329a085113caf158c5c6506f3bb0832bf9c148c2fc2ad37768fb70aad1ca8d5c0055d7fbfac41ba4405929257d9118c504b0f6973e581aae9eb59d4830e087bb25e03676fc38f7ae72f69c84c5ac5e4e14da6faef8ea333b1cbd60d673648d72717bf1e3093d50dd72fa4d70cbe186a104724fb9d579d8229fcf27251d31f26d954ab5957c0c599cd2d05eec9f761cc6403395fb39f8e2e55a9e142b3e2e724de0fb04a9af32f29d460090ed13b522acaed59331a4a4a9ff99d6d806b3bcf42f2eabcb0e501bbbcd2e06e453a65beb8f301bb4ccdf0e696746da28b93bdbdc68521579ab569a105015ee8cb88c9fa619c7b0cf3f3aecbad0fec9b09b78543ef2bc86ca7b9fa6e97f46572f1eb053b59d160fd8e74cdb0f8eb136359c5d0ec96d4cbd0175c1cbeb3ddc0a3f0159b18cb9c22e72ebe7982f2f7aefeda284ef9fa0357a548445b3e7faa4c97a2bff76bdf45ef50787f139190862aa51402b057e0bda15a25e147061c00b5fe932915aa471228c401dc863b22093d430498cc3b9dafe36fef36eb4efbac0f3c9288c0352c19473f0940dec3ea3201e088409d172b10728ba52f39d6e70092056c04f36f834c9dfedafcc1fabb97effc07085d67a51d951c458f2d1792dca5c3ebc07da0a2c7dc7cb6810e96a6e043a7678fb14934364775f43e71229d9e3ba534e879e13cbc6730ea5044651596c465df4c17d03546ee191ca169ccee3235a16a446e3085b4e0221a3eea93fa70d068273bc808d48e3219cf64031f0e1aed643540efb3074a35f0c7acc3981796c44bc7dae62b7fd55d307070bd28a202cb8ef5420ad87cc922eb4afed8a14a6eb8e229d77d9a8edface1b491911875483e3132a03896b52ddc6f6195c5e7f92a9b31279146bfc863d451a28509c5eb870783cf83a3856c40f388e9b36d264c54b3cb0ffa4a651e8e5692838f038d06720390071add2406298e8fac9493cf3b430e50c25c1ac7bf9a81901c6a63f4fd32ed4cc58ae2ddf2d952e521915c25abad986eb9da38f4b33f42c1387fdf8af546154e4a8518fcfa7090f1074b8e7d3e9af18d1f068d388cac330b7c3fe33d3ba30862f6e23a91fbaa219ccb28636f4faac667b499096d2ef6a994b5f75334ab4ba85d2de4ff99ae274d8453cbd4cb71af591a6d1269f4443c46799f62e93cf9620a12b94591f979e7d98c5d2071e978e9cffdeca6e3d12673807970b4920f681c8f3624830cac8c8b8c9f759aa18d87f9a288b1b5fafc72c2456ac3d7e1818ca1592a333fbd357e08bf4b5e22a20aafaa80030a5bfbc838052842cccd0ee795e4b35bad20062345ba92f6acd22127a5e52f4343a5ed144685e56926fceebb40b37487854e94e037aef1613d31bff990bfe83397fdba4605c2c4bbbb89d60508bbde1024948502d43da30cb05a63b132f03840782b41aa9f8a5e2832811424835b82b2b688e4409af6c361b15bbda89dc085f8a0598757d5220a14571b5f5a10041a1265bc960f07f92c7b92c2e390b82f901629c9c954765cf29c0c4ecc476aeb6b1a1be7b76b26dd3ec2446ea005c08a6fc932177fe18304be0f71d63c32e7643f91992322f2e7f1b584428147400b3159058e1c481824ac235784aa5ed9d1bcdf2e35845e015a4c44aed73a4e2aa3cbd44a20abd2549abbbd339d1f000acf5455f437ae678f7775b70061a7d479aca2a66d713d79398947ad50526d07c2e38d3b28f43706a4106390660647fab11a82c7a5377ec7400b4a08ff4020434264961fdfb55a03e708c8ca4d1216954acc303855805af9788f4fa0ebe4856862e84cbfa9f4dcd21faa2f0c03744eaeb7d2e8e6c6debf7708e30b544de1a48e9696efa83515457afebffe9ca63682d8ecbbda8cb077bc39924ee1d9d46f2b4fac46721459f6c1a24e2cabab3b677237b6bcc363d7c3ba3a5d94c3a540dc7ee9bec03bc39f263e973da5f10b5f4f53e4431132889258619d6d978477e2f18351a487ffe16db34be3c5dc3895cb6f894cd8caf28a16de036aa21feae14209ad8f00385023aa76aa10e9895c7c6b286b15b3bd065400e2f9cf61cb80266772f41956fa15425ed1d7a1d27f4f2133f26d6b5863be87241dab6cae30f5d7affb1159dc3e515d3580ed0c51c29ef75ca0f24e2f8d6d46e2a4dc17d6c59981b157f2b7cbb38b9cdd35eac1cfb91279dc28cb77c764493460c45df2eabe3ad205a139122e77dc182b97517f9e39fb268d24149f1fd5e83ca25e4ec61a672338734804c245c345810fcdfeb1a5a5b066fa76e0ae6fa42545767cac12ecbd3398019cd7eb18d4404f581d09bffef940d422de004815eef8ec2680b8a596da501fef06edebab724bf180bf5b628e14135ab8e71ebcc5d25a648aded8fd6fca37eb408e0c78693433b75bf2b7e400027062b965373448718a7003ff395ba1a87c50a4f6bd44256eca6227be43a420d9f771af4a845746eff82820fef580d4d6d6c2c47a7610f88ae55141fda613704710fd843092ef41b140a28518abbd274f2c0820f643a764b54d8782bd6a1ed71a051a6bbf106f2b156a651bd916a7d5cf7683b2c246e5af7419f4000611040de5af5ff905da282ae83cc8100a2bf70e9814555f8d360a176c9b584299e734c837b551ab5e931a9c21b0db69a3d2a93fbbf851112b31691727663d0e2282f27a9e89968f93af831091f3913c0e40d350a15358536341a37efb57fee08a385a9af84ed528120495cc912ab35b1493ff44824ce84f9f1774a56c415df7545851ec9451a17936670de5d05065405206a79584be7292e974064a1ba378816e87170fc4e6c081507a2375337ac9f776fa2496e038ac0a35006fb37134eda2bc5e5f52ee2a1ac03fa0100d80f9ce00ef0c1218fc93669285c73c27d6d671606f6934ea8067bd30081f0c9a40260125c78d2ab9c4437110e5477f1089638353f95636d6599af0258d8cb8e3f1a99e11e304691bb061d4066c1c3b4357d6b618db4c31c0d37f6029e88e3123010c2a0f6ed7dff2da148c8d23979e0ca974267b504657a200f86da663d1862a7c1b22e898b6f2f68c4beab445a1550457d31ba1d6934670ec6372f6e003e0bd1a132585d67a1655485c2188329cd11eeaff17ca87f4c37bfbd4057a9273168eee9698e72d8cabc6b37bc6ef2aa039a3d6255b72622fbacbc0a03a4cc900de00ecc930071d2eef9d1b581ab81ed2a16a034d9f978348b3705aa7f7ea417065f403c90c084f6a615ef00f5d144a6ce81764ffb672d03425a77dbe6b76aedae5ce24fa3e56306f5c12f070fbea01c64de33fb703826531ddc28fc014fccfeecd8f62b117cd959150370dc068343e0deb11d0893a244291e54788d8bec3c20072cc487d55669a3eaa3ef4a8037be427fd076715eb24d920e99370647673509a6cf011d449cd40c2e36f3cfe1f2c8bdc38cfe9c14c54d6a7ac3a17b88d9f82407f8c2043ea2fc7d35f6de02aaa8e5564fb6eb61e181d95f34dbb0c807c56e44fc9425940e7fe8a2465304a283d0acc328178204094fc4a20f2bcc02b4b1104a3599b7296b36aa562b0359099101105c21d2a510b9c54cd7ee4d1a63e96517c59121e2612821c1cb10dc645eda7cde8dbd3130f5f205be88942f81ac674c633bc06bc50c578a7535b850fe4a3e99a1c4c31b8bf2690ced9d1d0c4f2a7f6eaa238c2a4ac4d7e27f15ed8c5d7f5dd40d3005250bf9fab37fa24bf5dd6a7fd58922c788025bb39c012da2fa7d93363571265a19e07451b22d32ffd503b028f8b63d8b41bc30a9a76e041ed58c901f8912569538ac5eabbf67b82949131001de52ca5c1e0ac98ca88a92459dab5e040412a59be47464da922e46d0e23ecf064a65a7c4f7c4501837ef51fdbb3318c51bf88b8a7b1622fc25416f7737cdb50e129f381b0f22d44912cc6731c5f04fe1f948624d6cab3d5342371c336a6bc8a9153999bd3ff0bf5614b23dcd436f13cc0c7e94bbf3df10dde27a1e601a0073f262214eb2670a097eb29b465a60bed369948815ec2b70fa5dacf8fa963f40a4f76572ab4aa3265c11d8734fdbbeeaae1f2337939b9c1f1c53771382a5d7b5ceec8adbb3a4e59c609b768bfb844e2cb96a359e71f0ee3fe96e1230c61fcdc00ad40b35e37855616ee7a385070710468ef63b96d0cb84ad1aef35bce130f60c059cbfb45d0eb83953a3b6430b548782c47e97d2094c702c71588ce86a749e9665d5d9b5a2cd93eec9e9453c0a6db7399c9b116b8ba97d4417024ce87bd1989b28cc1c8b55a40244301e1fc9f9798ffc8ce87ddd4cbbdb9136ea964872ba9affae0750d0ec392993870e9be2b93f83fccaf30fea81238a87305782055832f769e989b76ff06fc397cd085a4169341aa0ec05a42adf5c135dfe0585ee7a184d303e83f90ffff74c408e6ac2603d91660d4ad4a4ceae56e8ca20e75cdf76fff2ccc49ae5187b3f9421a515148ca5ea3db17ff687250b1a8df5335799a029c19073879c7f51bb762a6d11b4739b7389bcbfe6b2035a3bb01bed81b58fe13839100854f8ca8e78a3811801a64834440ef90242612d28be10388c72872c328ba17b552b0655892e91926008d372b7c51e161d0b325f2b080e9ee2ee101b930e1d9349505edd2ad9de0089e6b0bb246cf8a720decd498a5a1b528f82561297bfecd07d6cd357d1588e58406772ecf2835765dc3620022dc3a6025a8118af2c19b54da534ef75a8896c5d29d483e6484085aa3e00d92b86bc83a61abfc64f9d9a5ce0ad60abf13354b053a99cf187958b4acef3234c2641a4224d31dc564b9d594e768b152886f6694a1fa7f439daa602eee06a680800578647251f14aaff8cd1cad0dd34902b5843b2b0a36dabed7b241c12fad9b340a1924b3e31d3f381cdb28cfe94d6a4da17afa3bcdd9d51690c133d4dd5cc1be335f61674a06d621c0eaa9b57d2540fcbe04669c4bd299c2ff40280ef3c6b7f541a2dd6a3beecf3158adfa0e69f81b043d6e875f7b0987ea2e169a6d9eb0a5759d68c0336d552e55d8c8df959a761028806dac9eb3f2ba48df24f025522eec803ff1f9baaa5951f5b395065f32439c066ea254442daddc78afd0e94104d4976c4cbee190aeb63309c6b680561709765c07e4ecca0dd7d4e798712d2b6afe5da6188426f7fd3bedce537ff7ea0fce2ef77dab37ace58ed3c4774598a65e96c7660c453cf5233158fd29a4f2eb1b80f2ef1faad6dafb63ac08dedf9a52a56fed7c2ae23330a168bd8f9c25dc19bb82983bdcd27cf47416a7c7091e40551b976836f6131c6d13be0c0d32a35d7bf412a9f3d9082ef69d6de0e0ff0a2a7d515c13dd0960659f7e7cee9da598ec7c9c8d22be900551c77aa2233c4050722e655840139203e817cc6e85edb5a2fb4d9b9469c86a6e8972f84f8a810346df8e9bcd2d7ccebb4459fe27eaf915796958b445a47f76c71d9945026cb0684d7271650df450c8233e084d19d5df67db04c082054fd8f3c039ec83c04cebd81a6338f233036e89188468c46d7625a21b0e8496292d4e706640b15f7326692ea247e30c30b1d86d33e9bc98f867e95043c918f7fe2c0ee25b2502fb98126e5ff29221006edfb2594dd2f822f1cfd2a0c6b221ee9d197c68eccf1ec7a08ce43382485278fe612af505b02552505d747f180b65940c70b1922146a931f2317494b9b368b45241f0ef3bb98ac8f5f2de811ff4808c7ef94137f66e4ae9c9086c8302fbe452f557d8998f2f0cc896dc8e09d0db57359601f8d66e2811ca975f2c05351fab8f5efef807bc39c29c9e8a3fc29f53075dea056810160cf1280e706a3f2853ec805f23e005eb089e17e90d916263813ea680b7167ba0d70c02289cf77d75ecd1071698a4f78b787b6b964dad3e095ae6f4af8f1af6e39852cb66bdddce1d3a90c22d28f99f14d1a26db2a8f40f44314d04c2d52c7a5d43a59c16cd7acff5fe067b655bb3a60c09802b46ecd689210974c5905e5f3d03946604da9febb95c30d619a903fd28f7719d7b7f08ec1d5af9c48720a023966eadbf5ef13ba99fd2ce3538a37ab3e917d5d2ab55fbcc8303181814c0c0195c5796b9512a45a583c007d851a5575b16c44b09b628fa255bd7422cd9bbc9967b4b299394014c0c910b120b55eb6ca09b4eabb5da76b94fe77da0cf735d1882a14f07bddc670b6d9fae095cbf03d59b059e24954f0755b993fb7477ce073f1d93fb74bebad5a558b9ed9cc68129c96ab5d2988cb14f3f87f4e9d0c9b9335c0b3a58a9f6b89bc60bbda54f470f8fbd435ce5ff99e1993cdd57c3b7047969f29df96ae8f69d51820824ad501613a97301b65f0a596ce5ae7749c0f34f9f8eaafd9c3a3e9dc7855d1398fecaeca2e0b9e2495fcd6f4767764890ad99eaba33d5c89dd13ef66537f3b7d1a9620b7065d3e19193c3035bc8dd1188aac9dacd5a6badad38a05b1c36ad699ab5620775d3acd5acb5d6dabaf5c01b697a08a015596091155600a90ce1e1107c4227e04038a5ef09c98382045107650aa1cf10125782ef2611da62c0693660b13ed851a9394f7c90c50a0522dc4cf059ab557b63ad669ffc60c9b65b3ef9c10b5c3c01e6e5c6463db06ddbce0d010a0b2da001132f98c1a2d0da9aec6dc341147bd3ac4c0e99171ea3263cf14dabd99cca74402382f5bb51f10a597fd19aa619b1e1c9169cb0c41150a8b0041c3061827de1aa7042db2acda159229a364411538cd0c45c60853379f2c466a7eafc9077cb27554071b19073040a8062490aae3093b2022d380fa210825a3fa45b3ea98266a35098f1e05e44052b3444031c1ae4d02046031deaeeee5e6ba5eeb4880746a01b302f40f282242f58f28227aca59182488fe9cbc18309274c4061e20a26a2d05a6badb452bb2181a47938e4e8a0f343871be4dc2076039d8d165129a5b5d65a6ba5d512f9c1d7e5d8e4bc7260463c27d684214fa470a26a9b46648acfd64f4e031c009b81d1c06a6c18602b91254c9c2c0751ec6cfab5c676ad94524a2b12f8eadc8099416c063a33d899816c063c227019010bb478718049095ad0bac1134a29adb5d65a2bad446a441b131a26354c5c4c6c98bc6c16c0aa2d89529748a94ba6d4255bd86aadb5b6da5a6bad94524a29adb40978b33c7272f0682249134b9a78a289264d38118253c25a6bad10d5ea6a6badb5524a29a5b4d2979a846beb0bcccb0d98256a96702d61b3c4abd64dd33e94525a69a5d5da6de7d3a8cc0b8f9c1c3c6a20c55572ca8e1a6c3164a334f5491550ecca830f3dcc7aa8b5d65a2bad56b352881c871c1d747ee8f004ce13394fc49ed0099fd879d146466352b729a3c32327070f1814d8153b6051f010f4069b6e1a0e1c70f264074d36a5957251e061061cd7c455d2c90e1b40d9720f4628a5d2099be6408a1b1f7870b10138b414a0073949a8784a5e4d803a25b228ba0fa5b40539b50531acf3e1584023c514537cd7053442f8b657cd1240da8db54960e10a61c521470716e8804044657478e4e4e0f18ac950160e48ae57cf49a22749e775cae8f0c8c9c12309949ae48afa027dd9a289dd6daa04cc95c07195741c7ed4171115342aaed864b41f654e0ead06a1d9a002129e218c1802111ab4341b6c4d83820a5bdb5cd3a66c8ddb9abfa6695a53ba6df9840a2276b7e5132ab25077d0f911f3054c4010052b248182206ac081221b784212423ce186094e3c7101101c4922042da2f0e0034ec8429a5b775a3d87733564d0638326925042ec090d66ac73a00524588211b63084284b6630e3c0fe21e3ce8128a460049114d8200943a0e03c410a1b871f3a2c40566fcb2632594fd7e500cb97db0bb553363333d381229030558deb9139a8e1d9ee33777777afd4dddd5dbbbbbb3b757777776a29a5b4babbbbbb53afb6161184cb75cd6cfab57a447830c10342c88086892368a1899e4d9f5091854d6badba56066848f8ba3120c701b20638000918123848e42011434207891d0d87285e54ab2119e22a89a4c8456204233912fe65c0a66d8088242bd55a063840d600071c61638f78d92360f6081c7b448e15f7967b50010116364da2c8a62e632d11466cabb2adb556662d0f1b24ae9249ee12fc44d8c4553b6c9c88964a5f75454c01e5828052ea32d81409924d912861536aa95b264418d9b61c882067d3b7967e9238a26e4a0861011228d46003ae2ab028220643566053b360d236d73162c99ce98e508b402dd5aa75c2a63930c1139b8256d0046bad5602089c60072e70e2040e784084254872c0834dbb236c966ab31e68a5966a5137a5db2602259e90c41126521851c3c4904d73b002229b5a6badad46505f62538a24c9a6943a0e3fdc67dd7207449802c30d6c8bcd48186ed4a0f182c740bd0b3fbe88b08785ae0a00adf369b3e8bca273b8635ae712c90a972e4046bd0b59c7cfc83d5e46e6f1aabce3c55cc3eb0c6e186ea85ede3b826222518d3c5b34f2e67afdcf98f1325efcedc80c51c7e019e20c19335c61987376e58ece3042c688259038641cf155015c059021ce28815ccd70cdb071bd5cb245e30555d6fa558f42e918acf5cb382acf1d23cfadd205f818596e9d6feaab6a0f1e3b6ad091371c97c8a5b3a865d3d9629b6bb37117d6658f581b8be405e589c1b8b8b8e46811a09b21406eb51ef53972e818dcfa1ca116015a289476d5c818ad61e8acb2370d323299061a1ef5fb3b110d34bc8c6f1a646840a1b4cb89abfc04430d1a2f8062780f40861964c833ccf0a81fc000740c9e618697f101cc30830c289476e91ce299f56c901357b907c321801801a01e070e1c31310240a1b44b67104c16d550158d5195eb780cb21d19cf0b33506c451685470a0b8caa36170cc68a6115435ead1e455aad5ec659ab550c289476e9fca16090fe060cb317322846553ee2d24c54331ac1529f1e198372691b2fbf436e540c6523bfbc3cea0310001d835f5e5ec603807ad1a57fc92027a0588d8cd1289476e9eced18f9a686f6603074eeb66836a5670b7073b9301a8d602e9db99d8a81d2f9ee94cedb4ec540c9c8aaaf39d5d259db31f24d55bdfe1933740c56a95ec6013023cfad4d2a9dedae913f34f247068a5198af403aa19d2b6451307dd1988bbeb93a27b0d6b118f906c69591af1417fd55f9ce5cf417f39de2e26b837e741a9013df70a8ca53191473d13f32198382a1b4ceb4e6cd4555ef020c63d81197cb574e5955c762311ded72c1d0d9759e2e9de58e916f607c2a6f2e140cbd1d71e9ec72c9748bcdb67f984da5edc5cd50d806bb3cdfb8b992b860b3be08c5b8aa0869b55aa5d65e6b2bb52c60010b5240456a8f784b198f254284c81df2e96ccf57e17b9e8caa726833ba43e344b66ec67bb9cc71c2f6943b52eb3e1ca9445df6b2bc26a3accf4e8e19657d2e015a7ac41b8dafb60f4891c8e9fdbb19cada5c7b6686869901cccc30e37ad99b8ec8d2a3f87269ee8d418f17e330fc17f4f86200f428bee86b438f1703408f38aca1c7f069e8f1676819da933907c3293d629496c1d0301eaaf28f8d28fe87f8de921e2fc661f81f3dbe288279b63eb392940f13ba2c248e8ef4e1a1f9f3a4ac6dedf3f3b9ef3edc47fb90b2d5b88e94eba6a0c6953e5d89ee4fd67487042c34df9d465b1ecca58fbe69d15fca9a9691b2fccc409f8ebb6db559eecd4559ddcc8c6bc635e39a71cdb8667428abc3c1d97470361d9c4d0767d3c1d97470361d1acaea6634dd8ca69bd174339a6e46d3cd68b67baf57ce2be795f3ca79e5bc72b627e36094f5dd8bc3176fcfc7c13e0ef671b08f837d1cece360db9fe3f9d8bcbc88e27f1862ccf1dc8b7118fe8be2c7460bdce16c9f389bece6b19bd1979d8d9f0b2463252df088415fd2c2f565fc2b2f434119bfb719596109e907549abd42575ec659f2dd78aecc4ad352127ade4b2aa32a9dbbe39a515768ead1cbddf69030dfc342e2f87e7a2f4f26634c3fdf8be22b9517914a3f7f7ab23d352dbda9f4f3559e54faee7e3a54740c2ea99478c85dd2a66c452a50bc1765cd5edbeb2e511969b463cad437098a15940a53894422e9fdd99e8cb278280bfca92bb73f1bca1aa264f498f4fedf115f492002730bbbf4a2f7ff8cf0ff4a20717cefd445552e6354bef4f8f3e928952ec98a4a23eaaa9b946500c6c7a35025d38d650d51494b1731b8a78a4a9e5b74439323f0c3cc1ee91b50e3c7fae3be0df4b9dc41dd67de2f6fae2f6bd405cad4458fcc3e1765cd30ee3ed7f62f65e1b25f9741ffe51a0a85bc7befbd1ee8f35efb1abcb7e31d9fa3aeed3ddbd29e6d371d836d75a73d2d25f4d3016d33044171175259d7031d16944248abd5a8b521bdd6566ab730fcfb3c2f1963bd109482756f65df6b14aa4901d740bbd093c9c2b0a4040ebdeed3e18e7c4c4760cad33dc1f323028f77fadd2ab656a316dbf777160e89c023f6641edd716e7ebc1dff68fcbf21f058b7fc70779bbfd16d0b5d2b26eaece8bce48830ff128af86f48754a3ca0b23d4798cd65fe7239d35a33fab2339c3a651567ce58da92315ae2011ef16ccddcaa59e75217b5a12f184e4e6c0cac2573a481daa597deb24b5ffa1b32c67ee947ce9aa5c7be62f952e94d79ee0ab3670d6579aea23fa96bcf69b327eac372e55ec9d3bf1c664b7b49b5dc8386daf4c8fd7d19ca8df5ef6c8a0e14d812176bdcc86c8a0e1417e75cc2559f79cfdd9c26e51e5b929e264994b05334bee2f6fc112852c1a11f564253899401172d2796314898dfe5c58881adf3940e1a2fb02d8ceddbb16dfbdde55e08fbe6d30632cecd3551c113fbe6179bfb1ab8264a72f6ddb68912d8964d8e10658b5b3651425362f979fa9b1a69291aca62c1a86abedc7ebc2cd810f8fec882997e7bd6eafefcaefb746c739bb817fff904bcf8f179ed832440d3413e3a0273934218d5f8e2d5d3e857ea7738b05cd172d73df89df7e900c12cbf7bcae1f3daebf0d19a0e37bc2b5902758ff668c4f25b2e7d1766d0b74d39ccde3675d50b33a77961bedb94e5eeee05d96f828488a42ced2bc73dc7713254a5c47d80ed6bfff96d7f32c769775bcd3d37613a735603d3f199af387d00276c284bb6964099538c2c81b27d4a5853239b3c333436af9c98cb66f6a4d129232e4e578ac6c5997a7942e0314533a66434652465e32b9762cf4f219131334553ed4ca20abb6aba75c0148de65234600d8d4a4f4d4ba547ebd4cb0302d31f53af953d9fab2fb7fdd17bc068f3509748e1ecf90bc8d99c16a9572ae60dc1de964d94e86c1ff2397deac17d5d2267735ac8769ab3cc010e5430d3ea70e09b2a62025d260d0a018fa04934d332e9182c9ad937a768525e1098e5453336583493f280c0f7599ee5efe76c6202163393ea00dfdff4783f7c96d28f61183e90f037b0c6c550cf7bc330fcae94a729cf1ad356fa7498e6d4a08b081e2758b3a7cb57f353342cd89ecfa21f30daf7b72d9f2441c11e533875891bf8907f351099f3d5402a674f1c38917de00adcb44f534990c09685c382b9c8c2a92f5c7f64c1584b10305b9da5026bff7fcae1c56b9f8017eff2da672001dabfce808be6817a1ac076d67cd5a3b83f95c4099c82e9d46b06dbaf31a1008f3cf608b357f428b2e89a0f678d495beeeda783fbced26b670dbd977a8eb7e65f4b59af3d7fce79c457a03ddfd2e9a0fa5cbed13e55c459dacf4f71299a540d55a58ab8389faa802f178150d085840af7632ad5c457638a66cf918b299df9a924739762a99dd415f353519c259d304b2df1956c22822d2ce55234a922be9a52b67bf30393c81a465c744dfb9c0d6569ef9ff77ce25e7b21ad0e07de584b5ccc3f5ebca683fc303d208414332ded5fe820d2082f183203030b2a725adabff8203fd42b6e30d37aa19584ff43378519f0b434ade47b964e0bbe7d6ff3f775cf92bb90e54ddf7559e8b6c01c1630373920dcd3efb81dd78edc5360ee0fdfe63034e5b1ee92de9e2567162cb3705c7c2e07d9db2d7d3f726fba6f75905df5c8bde965a8eb9bb7f7afc777c3d59c96a161de46539e5f084453495c9cdc93b867f9bed61f71cfd275ddf452305fb13cf7568f2e6c203d6757bee5ad1e4f4f75eaa5ab0d9f333d57b737e91edbdfafe37def0bb05257aab61faab9540a7203a74ff7399a4ff74dffe19bf41824c8e6bedec775a5f4a197df0d2b5f359095df3490d1d71e7cd7e77caf586d3f1fdfd7af5f8f91962e740f7493be45d7130bcb933497c71f36572d07deb71bc7c23de5aafdbbe9917296724f53b0148c7b4e8f3d509a532f1753b02298fb31f54ac1b824db834ee47d3b06d9e1d395ef3af9f5902ba53c5ed3db97f11b58bea4af8ba5af397c531e954afa6a20e06fa0de46d2e30fb38fcf060eb42bd3873d78f8f7c1af6fcad2c51a3e78bfdfb6b7e1afbc298f779bbee65a7a965cb7e9a5af4a2cda64023f1c49aff22bf59d0273df0fc71e9c6a203ebedf366bede8b7bfe1d76cfa9bc3dcc364bf6447d28bbe347a4fd2de08045f867e2fca630fdb7b958cf318647b9f7af98aea54120dc4bdf6ede0b8efd32c1c17270be6e2046d5c9c608d8b1334e2e2e434fadc83353e6c2a89abe6530dba522f172788c445713e7864cf076b40233e1f3c02be7ce551ecf960121923f7e42877b2bfbdfd4f3e599723aea99754695b3eb911625f3de2261f48026b090be6abcd88abe6db9cc249bd280bac91aaf9b326046b522f1913d2d46bcf31b58487f0c94c8b95b3258c1f3421e00f5308bd3a4c617acb4a959552aef840f6b66c1eda571e7412b1e9d8fe6bf583b412db61b05f3a284699f36d01cf1448ce08f69bc0a6538a96da4a75ba2257ecec5c7105142850a0e8e84081e2c4891327b19813274d9a34d1348039264572981469c2a4481326459e6052e489edbe7cfb2c3fefcb9f5aa3efaf4733f05137ca97f3bb1df4f3e192caf7a1f9e65eabb63b6ba75677b7516be5bd1c37f7e7db21efee3c7b841c22684e29b5e25369adb5ea80564a298582d35ca6d6263e9a3ba594721704b0cd27bd43d8bb699afd91fb74f78ddb9209086c3e45b6bbddad88f62d1d7388174abb2d573ff9fb9e5b16819a4460b9fd1258fef82f21a03634abdb13ea36a5732f02a886eac818ede746333750df656bfefcc498c072babb44cdcd3d099dcef67dc28dc31614fa705d97efc7e3b474029eaf7db4aa6195ab323b11b8590cdc793538aa342663b4a735f4415fb3395d5d1bc01cd7c1f0786b481c376f0dfd24505f57970970a7221a85744432ad6c77f326e0f99209d8144ac15307d51d13f07ced3b9dad867a3a6f75d33bc996b7fcedb72aae3e81b054888163cbd0f0b546b204f0f5ab4bb262be3e9549d6ea59acaf4f7764cc8daf230d177e4401e0ebb78836560180891123460c1b79889219325e78d93234d0601764bcd8d0be9bc99357f4d4f96e666cc6eebd33cc40c31966f01b33e493f83388336488fa84137af999602e7a5a0653a3512a95dac92995bc24803c5b31310410a307b813ed37f19864261c13ccf4ca28d48761d6a06c3403f2c0800103478c1736403662b81803f4428ba17da01801602c29eb8463c3c518a017316478d6ea860cfa24be0c6fe3bd1cca3ad55095b7b4bc0b1d9c6d731ba2347d35f87e016d1cd9f4a22a077b40563eb1b0782c2ca02c3cc560f7fa95f1c20c317f9b954f35271aaa9a91355e6c8c462498c9542a7949254600e28dec32236bbc0c107c1bf984b393f3f9f82a06c846c8468c1e19dd9e916f6cfc0b2f2e9e530e55c9622eba48e4221b326688a28cd28c92587a21a7f68bb667c8983826fca64f870906c6053106518c6146be89e159d965955fdcc82f66b286c7f09886b2b08dab3c5917639dbe7fc9a6252efa0b3140a11831e493f83188220c557c19d7c497ba5fc837f667e41b185e060ca30946c3fd68829d02904f3932bf01433e890f83487a21dfd8f819f9c67e00b209c7860c9aed0098916f6abc8c1afa247e0d7146bea1f13268e893f834c419f946f53254fa24be4a7481e3a2ff09e745682a91c21118869a0b317ebe663f1d3152793cb9e814304099b8475086dfe5858b96134b681a9146e009e7658f279c16d9f60f9960db1f74c2d93e629b938ee7b9e4fc6085cc1f28fd64184148caeffbbeeff3beeb80cf0d037ca02a1e4a8077a80a31edcb816b751e77eb5d800e3bdef7e590c9f96888b5a31de80bcd19ef8164d59e1e07424f0f77435e4b3542dd914390accac383845d3d1a8f26053246a3acfbeed17834527830c62a22cf031e8d47c40bc1f69d2d6bcf9cb5a76ee1ac3964ce28991ed8ced19eda533ae2e94d188a44a211c947188320482a4d6fb4d59dfdd51e93378798333308c9aa3b3b447a7a7a94c0b35ee175c757f465ac083c7a3431af88b36a8f921eefb3ff917cd049d4e849e9b45a6dbbdca7ebea5d42e7cd0aeb36d5d7a584cee37ee0a0b3001d761ac07d0c907d0690a097171960727c329d76e71054b825704ff8ec4a814d5daaea775f8fbbb5ff7c3ee8b6ef9fda045f578be471b937abb00aab4b5c749c0dab30151515518db98c8836146cd6754995ff354256980ab6c35c74c2cd9700044192b784e168342acd11c63b903e1df5a9cb57525eef82001f71d166fbb55fbd1951911f3d4959a3ab31132c5f882ec763a9d4669b37283993c7bf1abe501428cfa6f3d5d0ed4de709587e95356897e333e8246aa4b373cf81ab2dc0d3a7901a01b2e61a71f94a4aa969cf9c35f75dfcfc3bff3b3de86568375e17310cec530fbbb9b79bf34e756319852792cbfdf4c8e3445d5c48a427d92fd91e5ebd2ca3d086df15559f4e655276a9f774efad3becd75aedd75aebef007d95f9b73c0ad9526f729736ea9d402fbfac7dccedfd44427ed875559e5e563dbeb0216cf9aa4796b7369c7e6a20da7fffe5fb3df27d7bc337c2542beddf11665bd7acbce15e2bef6bbfe36a2f646b0ffa02b8d05cbcc5de6bdae7fa27cdab3e48fffd1d796c792fc661f86fb7fff2fd3af7b42c7528b97ce9b5fcc92ffdd8515ac0be2f64f3d8f7b73cf250d1de7e3ce676f1378ff649da7404b6faf1d7ef0617af69202efe6a20f9b5dff20e3056ef00b35de8fca0a79f0f2f87dfa24716dd03dda7b73f3f1b4ea1ae3ffeb07b6839d78ef340b9e3e9662eca1e303bc403cc0e7d8703db6ff49dbc559ef498011b343dda9fb6dad24b3ddafa95f4a3d27f79f42ef2c863bbf84e7ae82cf095ffe3f2f27197dfbf3be51de19f7e7e3dc23fe9d9e4bba79c1bc33aa1943cdf0df9bf1b5cdee54ff274fa1dda9fb474519fe829bb707919075f9495fa29e50b3d862eb09c5a5ee8cb667955de4eda258719e7fcc9d555dbcbeff4dfe993dfe9bfd3a7fdf73bb4d183fe939f0d73973490d1937a8c5e86bab819c8e7c3fb8094e6b7a334bf1e577f7ac7fdefe9d7e37e3db6bfdf27649732e9473b4afa3ee965fccbf265e8cdbec3969128436a96ece2a5b35e685055b8352dd4e3dd9aa6c71d604a6f92afc7db92b58b8bd3cb96e19bfeea92f724d27f5a1ea594303e291754f4453e55bd98c237bb68ef42fb93946ded37160803f5d263882f5dc68c1aa9d72f9de5c2ff4b67a9fe450b8d1a7af434b274d50cad92a15559ba4ad42e64e9aa185a85d230f408b3e5832fadb376d1237ea15de8313ce9f145f165bf98a4484a4d81b94b1f3ee8ebd7c3774903f99ef4f3f3e13de9e5d7e37bd2f77d5a1e79ec1ba474b1a377c7d6036bdf0ddbdfabddabfdd5f2856c8df4e07783f42f02730b3508d93b4aafbd7f3d4a7a568f7e3d4a3594b6abe9530ff9daef90dba7c71f36e941af5df9a017b2659c34f768e43d98c71f7636e845791452b341af92471e1bb46bf7e9c03a0687fe13fac078ef3d28773c9bfc11044331291f04411004411004ab0cc5424ea67f3749956f333f4f77b3bab9efeebd577eeacbbf1f0d26b92ef075911c015fb7a6e6de2337077bfeadd95aadef57824f5a90c5aefad5040444f608bef6fc8ec757521e103e996191390b680e51452751dcdb9dd2809842b26feac8beff0203cef028438fb28254dd975bb8eafe58352398d240c577a0023681a634e0a56c542c15584563fd4255f63ef8040cba7c25eaa12c56cfc538dc21e8043cc21cd9f7b7f0d528eab19f0efa30477cf5d1372a7f9fd5f330459c75a5d412f0f6c8cad997d5c37ab9787f6cd9230b01b385479445fa92e9aff77d088725b36054757f25b3c2ccb2a1aafba65ccaa451fecd8a51964a0ed561ed50d6e82fce92aa5831957ca98af57952c654f5d9a1aafbdf8fb266e5b06094a5fd7d160e656d7f9ff5f2950d65a58a38eb8aefefb3a038cb89b35454746cc47b0c3bb0095690a8fb291bca22fdfdd4e5768a887d531fd8f7de07a56095c73fae7a76703ba46d1578f4a49faff223253f468f3f03a75002f093740646fa04d2322d1ea75002b657d13e032abf7d02b41ffd486700bff6b225e32013f0aa87b2a464b97ce57f2fc6a255cfbe8fb30e54755f257f3a4e396c8fffc7f6584baafaa1fde7e3f5501510f8f31e14ac59241e57611f2d04b1650f6579eb3efd6ce8fea34721bb7b540f55ddf780c0dd8fa81e9415648dfb5c8fac711fdc01fdfd3c24b0fd9a1f30da9f2572f6c707fd8f0642f529f4f24343d9015fde81e7434159b4858b57d4a30151cff7dee7c4838bf7e5eec1c57b453da81ecaf241aaee5f514faa665f51cfbeb267df084828f3f3a1edcfcfcfcf2d3f1f767ffea3513d1b1501066c2030365ac2f861bb757405a594525a2da594c25429584a455f554dabb6946e0a040b84b0bd448d577451ab3032b8a8fd75028f305bdb664860eea3b9fce2a2a6b7195569cfc18441d8dac3c898706b2fa7d89aa4626b32cad624cfd6340d06ff4bf9f283f195fcaa924fdcabbc6ce17ce2e6b783db30b286ad02e357f9f9230ca74f39f8e34f803fa69f8104d057d119c09e0634d9de9e7bf2029d4f07488f4236e8bb3cc2ec0ee6690eb2d5d9c0fdf6c1fb23eecfe72f65c17cb6efb6b9b7292e6a30e19edf8eed3950b69f81ec00b36b4855da7b1eed73cf6d3dbedab4f7e55148b7e5ee41b9c7f6dd478602a93f6e7f5fcaf8c7fbcf779fbccdf2d6e3a2f6de11fcfdf66920db730f64fb6ee3f28dffe6bf4d7196bff6afbd67195ca5bddcdbcc571f6d9be22cd9d2605cd41e0afce2a2f6de0cd69ed340ae3e6117b5977be41b467b18cada6652a5bda669da8794e5f4b597284d03b9defd000686c284fc25fdbba93ef9a0af7b981b88ae931eb77db8edf3d9dc5bfe1f6e9b2ed0f69f14e6d2a912ba38816c9b96ba9b48a868276e87918b274ed7e09bf381b286b8ec873f0e3af03067e610ff59c47f01b3a5e5f0d75af2276b6eeff6da0f57b9e722f6f6a4db06266c84d992868fed7d77d1d6b7d6d6d8b741d8d2beeb1a1ed506db1f250f1f7c257f1880e76e5a969f0fdb7f4e58d50295570358c6d6a7d2e9bb1eeb5b7d2b765186b256e87b00a4943b9bca9c50caea0325dbf5f56a9e5b4a59b5b957a8d9becd6da3d36774a266a8296e5fb4655fc643a1b799b644b0ed1fcaa21755d196cd0dfbfe2fbefa3ee624673b4a86ed3bfedd80daa8576a533dbe7c358251958746986d7dc0d8281865a12e0a0543c1b6877295aacf83f2e747fbb3034a87b250b35067fbe7e9d703efefd36310918d16d9b8e85ff7a6454866236ad6a1661c6ab6fda9388a6c36e823b2f115370af964296bc8d0a7a3e8b5fd2fea25b21121f1d5a6356fc9afd2a741e0f9a91a5a399e4ea264abe3b26cd92c5bf767f753e3e7fe94c3e7ed27003ff79fb7dfe1d6e7a338cb56086bfaf396a7372e9fb4ffbc6cd97cd25abf3ddd7e6f6f1d74635f87d9b23a8890d60e30fbc6fe964f13954fb3555d457f83028befcde0f9e3fbad57784955e3ef111178f48c88e28ad814d567bc0598be0f32e654836f39df0272859dc77c508a73cb3e80a6056448593c30d66318ea70db60aaeff4508041d3abd0c916bef5252a878b4bf088ddbedf6c3299878b5352fda26fb6fbd781f8b7433ef736fb53e03ecdf775dc175f692357ddc03c5c9c98097ceae1143f81e91ebdad77ccedd597dff3a53ae924d54e9a66e79c73ce39a794a2d91ae66d4b2d650d54de76d8e22bd7d8c58c71b0fcf1d2741235ca5a29cb7395a5d683f885c931b2392be0d9f6f116b7cd590116f628c3b695ba0e1fdbf6fa83eef4c37390d30fed935f48cb5f484ba246568ec7011c64eac08a9e9c56901fa4115e3004070f96c869bdf81f60b84210685a2f5eba3ce5e8b368db7a45b0f69f377df8a7ebb160299a2d4503de8bf12422a3347182244a28410da2306bcda75f6fcda930a7a2a478720ae71ec1d3e5628d5704b62c5fca416e5e689a6fb9b864d96271d113074eacb091e0fa3573df57159bd312e061b4b97fc068732fe31ca7ad2c15f81fc6bb7cea5df4e45ed3d5cb39c88785201c4183d3ca53a4e1e2b4576071e5254b2763ea9e9f82e2a91dcafafcbc574ac932a55e55608f08ec3ec0f4472de8b7cc1aca82f1ff9b1eafcbdf0a434bff96eba2a5ab5e682e456333476f6c6ee54b798431e591db63eab5b29232a2532c1c5f99f438b7e9471a9b1b51ac173fb6b0fcc8dadcc72071b05ed2c67cee47ce72798e7b97fc227fc2e73e1acc367de9bb5266c13c1a6c32bd8ca76ab61ae6bb23cc41869a46160bee6b1b85eceaabfbf5c39fa59f1f9d10a68abeed7eb0e9e3b1c32e7af65d1265b947a26983be298fe617a28f5554f4ed0b964d5f93138631460ca39eb252908aac417f6259833eed7191fe09866cdf6375f96aa43d9d8eafc63a64c757630d62d3a7f43b27be721e6c2a991c91b2e9d723cea22d2ac70ecaa64ef638dab7062163443fb7a70496df8eba457acabc17961f02646bded0dcd6d441f84c6bfe369b751ad47707db665ae3dd6019ef3e56643faf6adbb3a5437cd5e1c01dd8816f45a0bb7f3cfb7952e77da010b63f7647a862ce21f6a7b53fadfdeaae92691451a6b2b912aa608ef4e1eea655fbf31f0a7fbabb99e74ce200091dd81da812a9345e12de0ab08704b36cffaa447e35b0ec29246b1b62d38f6d3d9bd29a2dcaf65480b52d822c6cf9e9f090c0e30d0b04ecf2d3210253a0a3a4a39ecd4a2493111cb1e7a743f4b3764e743acf065777d75d8c623cc3a63de2edf588e7ae47d6a03fcadd8eacd10561e642161d169bfeb5c155a4ab87025ce9cfed1e7a79e8154a823b2d36fd2ed63dd1c11cc0a4df4d2163c0ef74764785ebb1db19bb2074b20e8bf96377842a6cf703fb632704db15a18b61a743e6936aadb5ce39e76bee2e72f717a9e010e8f3ba0f7737cddecc0fc13e3f6842dcbe60844eca9851c89eb22965776e0416b6677077b403dbb38bdd55af05db33cbee6cd58e4421c4e71c0185f1da138427657be67617451453d83577bb73cff36766d7fcd91c16d5abf95a51c5f61cda5b11daa69b57b39da206dbb397ab145398d89ef1ee38af667ab33d7bbbfb78353b13dbf3dd5de75529a010b13d7fbb93ddc7931f681422a390c289ed59650ba1d39b7494db1d0e3c298fa63217411cb6e82715322dbc5adaf97951dee1658fc6970d8ef438f7e84522914804fe679ba244de2609f0a98748a465463fe5e5878097a1a3973df3df8bff012f5bf494fed6e3abb9e9bd187ff4fc747c740c1689f40dc6fa87979692538ff9a217e98d678359ee4e898f8caa3e4750d9b6237a7a9a34b6e9d196c11c964ca1ef7ee6ee3bfbf875b01abf0e758b1efc8a028cbffe48652b3fde50f6e529fa6e3447f3c129ca724f1088f5e8bdf7c23d2beef20853fa501e4bd3946ff097f269bee8e7288a08e7d3d48fe219692a7bff91b3642bfbee4479cb99a31c5f899af84ae58190c9989112f011e600f07d0e0b1903d22c367de975d40af8477a052daaf6db8fd409f5471a855aa93092fda42f37ce43f09346a3d18f46239148f4183f09e3a79f0ed19c13148944a2bf2e8a44233d55328d92e50c81660d2f4b59e3c3cdbff337adcebf3353489d1b48836eda1cf1da38bc069bf4f23b52962dd2cf164ab2862829851a860e157d43faae0b656de32c03cd42e2f09ed8f4a9145fc928a4304114529860cfbeddb98733cd42d6a01fca540b5983fecc9409994ac95f0ddc764d79640dfa9e11f8b347cad36501aba8bc8c8b5b050122d2abec52964c8e5862e33c83289ffce74b99a1936b91069db948555ea55aca43fa7fc2a64fca345ca54551d630019ecf53ed77631ebe8c6f315f4dd3d3b116b169f8f4a913484f9f6a310740fa681632a6f474867fa45050e911fd48ad00fe5867463f560db0483f5620a2d0bdf723a5c2a6dc8ff40a9bbe9c33d07c8be3fef323d5c2a63bf47008e9abbbbbfb9c42c0b494dcd0c0b4485ff3902068d8c216482fc44b2b88b98596921b9a9716e97a43b6bff54f877b48a350d99435fc49594ed5c8b2fd472bdb1f14a9f8636e3be8d3b6bff7d9fe1d68cf1846d19e308ca52d55f3b9abb2a948634f49755cc8dc403aa032cddfa7d5ec0e5426796253a391837b96efaecd42f0d3b7cf69fb57dbcd3e77adb5db76efa669d6fac6419d39327bd52136b0254fd422353db1d9942d7466b3d9943aa4d2d4993aa373a5d88114211d6cf92d3246524a650d6d3a7983bad718aee11ba948eacb77f9545f59750522dfab36f4b5774da3af692f6b0dbe37a433bf55ca97aeae31ac44c6fbf2d56ac449b6ff3d528ff8cab78715668ba0b35aa4baa6d019eda935d5a622a949e81633dcc643a538958955fa0d193c6ed364340a9d427be8ccabac399a122d1efacaa7d8b23e9d2b3c9fcaf0f0d5d4e37ced7dd434eda96b9a9639329f83077d997f021818188f3544037d1e67292ba479a02afba030fcb0fd7052fc26b0eb87abc0aebfc53079b01f00d923009a6d5fdaaf36e23ccd29ead0801b2f316bedcfeab3a6da1a74a71f54f59445b667cbd74fca9b8fe7c2200eeba3b50f22e4c2cfa7335fb1b0fcb4f2abd64a96af3209aafc792d03a92fb77f3b58369de5609dd4cb784a07b101d2f2737ff9c6054dd35cbc3cf9bedbcb3c6e577f6f7d886df9630f3c5bcaacfd57fae63edd97ef42ca92ac576a20f55b9ef4b50ad9a4ec63ee96d74696df81ca764b4b8b0ba9e5ad7d17f249f25da424bddc3e1b5c4e0f7aabc7505399fdd2cbadbebde1fef7f6b54df7b8d266fba53c7ecff20538fd3d80f62f6cbd41ea937df9f7b5aff5bf93d53db6fa577bf6f4325ed2ffe2ad0672faab81b878fb275db58b6779fbf96879fbf5ebe162e4f2f52d48d790f495f4d285f49224350d077ef1a0af06f9ffa0af87cc3c50d9fe9aadb424f955da2a6d9555e65b656ec9f94b25fae9c8dfd11d5fb978fbf40aedf2e1e9ad4bb6dfb9e792ed7fa623b4d2dbec5b7e37b8e85c3b74c973871994e9152e5a17dae667d174cea52f03b1bfb5e46cbf4f8f3b5059e9efbb784dd3a577d172fa2f8f5bcefe5e7b168df45f36a10053d926e9effbb28bd77fd2b4520b49f740f70e32eced71e9fbbe947b5c4dcadfe32769dab54796fff40e54b6b3c71d586cce2f43736e799c471f7036cbeb3cfa90b359decb63109bcd52e5fcd737a997299adc72e1fdeb41da2dba736109392ee40a4a22b80729b846ae0cc01cc90ac5a406612eceaa6f00b0d5796a8280ee24440eb2ba70e1529d84745c8cedb05b6a50d45a6b7dafbb9e16daf34d35949532c29eaf7d4260af920a187ca970c0277c15923f8662f7ea17f8ba35a619138da9c645232ece4f877d5204e626cdb8b8cd28eb5e8c3729322604b8feb8e9d46dcf0cc2c054336193060fd9f3bb8f3efdf87cea533ac834c11632c8697d5e48cb5a8147f025635ac025269a10ce17c2d933f41d8d9c7a99415b93228423db239d6d50b69d4d67d3f1c02355c0a08d065d24c023f852fdfc4db6e940e978522f1f53d6cb7fd1bea3db94da046b3f6bf2a9fe8fcfa77490cf77f4dbe1f643b1580cec78805399aa32954d495523c0e336d36e0d88339a289d35f5a52c37941d1160150d4b4333cd509566a41ac1728fe06bdbe2ce5016007e6ee1e29cd921c0fe29bdfde8d4cf0761e0923d7157433b2eceffe1c2a7f4e9472a48ea85b43a0f04d8967a1e7c8130aacaa519557d3fde1a39822ff931cdb8f809c528cbc6c7a40d1adf84e2e2d4a1988b212708f0d647831f4865d90ac5288bc68f37f5230e370dadd229b0e3f16ab0b4d35359b65cc8339f16088382b70e04777c259bec39c1d89ea0ce9ee0155fbd35be1a3b9e3debde1df5009035f872425607cdd20e3999b6ee504cd3954e71714a4d6752661527a0b3149c8089576bfe73dffda4b350a7093aa3a39779fed443d35e48e75f8f530ffbf2a51e35fffa23a8550d0441100441ad8674425068377371214f52ce465b6614e01d74c7e3818ea793d2cd7cf8973e992b76d1e3fb498f98ded7cb0752ff1ed1f71e5164cf3d82af4d07c4f1956472822d26f8c49eb13d7a370cb164e2984004b1e7d328c818df520a2bb0d89307a693f235f7d85eea718e301b5463441bebe8c39beb6b774e968aa56c61c9755ed72d7dcea0ffa4de5141b205be403f49a0ff405f7a99abfd11d41ea4339b04ebcca058420434e76a76e6ab719bd129a1d8985febbe6f4f605e2e676e4f1fb6bd1f7212645b1d0a3971713ef89235e6188a6d297fb64df195bc35b3297f7fb4b6ce5cb4245902aded6ebeae9a7c8db838efe402a852a8242c98eb921a324423090000c315002028140a87c482c16094856194491f14800c80a65070609d875116a428a594318410420001200202002333350a57eb7bfde01343c183554d574a494fb4d9fdb125225726a26ca6a405945184cfd9c51bae0269f3212f2ce0f8bebbce732d540be97e70803eb1f3145c24ebdd2c4594db442398caab43c81e1ceb695348bd1f833d9d226d5b23b30e542f8e4c81af929e60b2ea28a4c3a00e865a3306281be65e5014173bd8d0abed226e8a5358f43eb39d1c75126e7ada5dd59bf5fa70cc4e44b79ca323a4fe72df9d9900c61943d333dd9d9fba453a5e1b96c64344fc4a0f0fae9edad9894ccb6a88d25ac1029b3ec5ea7bd0550521329dee0ee051c01501e0c5fe2a36a145eb2c31ef62834c9421bb03594b796c8332539686ffb9042d28f41d9cab7c9a8f3a89a876edd2999655d6165c120a500d501dd5b71df39a1261cf74d4a4dd2041a87bbdd8bd84d013643aa895faae1d318454b40344e07bd19757b143b8b5d4b7b6fcf7a890604b64324c87abc076453ab81cd030869e639d6bf4c91cbee9da4f8858ec025a19eb74729003779dea4fccdaf30a3d02ceb8d15a76a14f62f506a067d06b94f5d1833c3c09802399921d6f95db82cb860e20aeda5e5245c19a0bb2e70c18acc8ee5f9f5a0eb4db831616cad518a53a8a96415d94a284ccbdd5f52eaa341051ec0f48907bd5a555c2b9a4fc9803e84cd87e60bdb9890af38b33f7a96297b56354bac86d5207374d3609b159dffe2b12588d558da6ab5edebbbdd2b989a2533cdc16586b38135bdc55309a2e2f21928449ea611f11a48cff0a33099ca9103b420094430cd0bd34e10db6d21068922742b35ac8912979d9d8aea798880b40dd00a10239745ae277ff4db1989402d3490e403ab1e3205537caddf64194a78cc42f9285f56b655cfaebe2b22598cb9cba650964ff59c421311ef4758980b1e368a2f64d8fd52e25791ae267e04af51acf571af76bb3c65161479b92bbbc96e8d62173765ea80428b0086fd9f1875d8baf5dcf28694e6f0417a9335f20cd086447622c565d8c82af2e3a0eeef5e16a7674399560a2c050210f55c4dd8e83f56821344b9f1987911188ccd4914de450d3986790a30c8114730b606abe35d401c80cd9d3b939733835ecef3ad4614824c411c3a88c6c3525cbd1cffd0faab574428f7e7703c65ac2299fc3f3c39cd1460b8a6b0cf20a41f187531ca53879e96f48bf8fdb59d1807806705c34a1e6e2ea0650aca2d2f3cf668a5d585a8152eb6c33886b6b966732ac195c98b5a9425da5569422e21c4df9f9bfa8f430466c5a3711e9d518895ea6b4d6bdfa6c50e7807c650c97741cf38e7cfeb24b0c4eafc44680c0af9eda128e5e3a4cfc4ca77137942f0260a84dc393fa5cc735122234c01c03135c56d194dfd4be1986485bdfc874d81d4e9180e24dba82e478c9bb8d2540195fab55d8f9e2254516e5ba65c87016e55b3b26a973429c8eaad7a7978da6b3063f10b8eb9e0671c579ecb9de7284f243abe45ae52cac2deeaf7315de2f411895c6ed19cfa2f1ddcef036660274c26f1705e2f49e251db2921381ac7f19ffd40246328844baab321479f85af9724d2496e81c78256e5d5423409bae26a3357ea00e7d482b41cfb97ac8b413969ce97eae6e8ec2b3f13fde4afcf28dc8fccb450574ec6744122350d03bba949d0499781ea069d84bd1157ef20c0336a314907067f6b096193a27469207600d15dd79f622604ef9974a5ce231f941a895ce439af7f735ee82b3e88243044263cc6a7125f8150d0d5360a7097588c25ec0fed1fa82194aa9e429ec5fe3a01017b3d22b5bcaebf3d842cf54b8bcc6fe77f2641f73dddd460164e314cd2ca9d0ecff3c4cd14c29a1b1199943d5a8684734fe7852d8d7814ec3c266378d40c90583e8eb99cc930260242d795675386e59e82253e162648d1845019e66252a426bae7a19b7e31972162cad6b2978f13533f063aac923769cc9064a2e13882f193f4d5b32088780d0b7f30c7629fcb17a2058537f914a77ffdb69364fc966aa9848b8e945379f1482c522e2d4905cfe60852c56839629b4ef0a079b8e3266491eb4d9ff7c9861d134ec53c59145018ea23bd7112891ff592d8685c156ae8f5dbc6f95501940093e8f38126686a4a376657470d821f24d47994e3e879d7845496575c24e27353a8af030f696e75ca4c8669b36b7f99009a6d041e82e39423713642e85029b4baab747f6052b735c7abb5cbb56c4fc933ab43d662cfde0801ad4ed0947d500d0432cb391f8f826e8ba3712740f932c49395f323a446b4768565dbf156520c1a5d47bb41f7e66ddfd99fb32f6b5909cc03402eb4bd58fc77f257e77de3c3f07a166d376e622afdadc9d5115ef292140521e9e758f50350e1f4c006ef5dd96cd7f824bf84b42aefb6f4e832c636af596a9efd7b3cc7954ec16822efd2c5c2abc556b6f1642fc342ad61abe65810a54640b0fe0b208e15f0804aa5b3dea748690e27140de38c5d6e3c0beb20a20d39c9cf7f9635173264d4f0371a3eed822678ca6afc26e2e9d70a668654c652ae5f175e658e5e6b0c5449ce0e9dda8c876331c5a47303e712cde238c6520ae080a54202f17f222cd0bf87622f16c09a9d25b20ef7870c8b5136ec477c7d66cb0fbfa6cf1aa9b44902f775576bd3a0ddac0eeac5f4b6527f76a65470c81d1557b968f102376a5ef1f99d1e9df0f46adeeebf145b0cff7057fdc177256507423dc7c7fa24c7a36a9574e51fcb42c5e5816d2c3c35e1e03fd0918b0ccccfb280aa01f88a156dfa7cc91ad6200656348242fd1aeb76094ba128c5594571cc2a5d0ed84712ab3400e469ac613eb4938a800eec688a0bb36a3b2c4a931861e5402815d36123a892b795e371cf82f9db65346b7dc45aa1cbadd8bd48979495a954a78792e28d7e30b6415c0a700b8ac9fa1fe63859aad82e58d8742d40722d3b269da14906aded7bad3b729e34216d074605cac1839a350921f321256e6f38a58b3c3fdeb0f99b46b3001bc5a209e025b59308b6c0e06766b217905b01d9bfb831c81c5c0e57b186d3713dfef88a7f13d7de2fb80b014f907542399c4ff6b1cbdb5254b88271b4c4eb7a68482cc35600e9d220f15313196ef074e4785837edba390efd7ccf9e5be77f3b4c8599eabd7d6812cfe369e777c1a8df2e8135bf30848f5ff3e469e7d9b64ae124b28c14e4fbcd54844aca220c6c88cb375e0a5a35f802021c5c3870c6f60fab907c32db98541471e4de011fc590ed1bdfbfba3f307fc9bf2416cd5f899bb3c9f7d57f6338346c7c50a63036c94b525b327d7685f64d403730cdce35595af4d5054bf8bf88b1d47cb838502ca086220d039e4e6a2a7932f9747e07b09adcc70a2c482bffd0469560dfeb4edfd125f2f459b57dbeb463bf730a6873ae9c19e29a13dc035d62f26c0ea8cb2641f9657e43dae5f519be66a5422163166ec895c3190a75478196af4c375b1dace481ae65ca0f448644c2413480e3794e9d91398f75f6afe4eb75650ec64a99650a4b0d3c6d8e548aa87964c10b625e0780d51385849b5a8709a99cbfe3a3b6fef6a495a5f46fdb50e0b81726ed62ae6ee05660c0db699af6057a01edd423c1a13c071e50b5803f9b65253bfefd8075f358a60b31edea46580f53bda72b50c1826dd1db05a19e8874eca3fc6b01c3f0ed6a6042e4c06783dea0432847871e5c9c0e1f3ae244c8fec4b5e1730089b1a137dd232405684019eb8cafb0b30e7fb65ed5b7268358eadaa39514df8d40c6fff4c3909101e016af35b8c37089092466e525c2c333a0fa0c54110a501846100955d68f64b31c07564830ef894d92957494a0eacc0cfef7e31c729b01dd8e0d449e8aa509157869ea29190c3e1818094072acb5f4ef92d6821cd34f212c7039bc9bf032fb40303b00e243274a02360ed9afec8eb88c18106a6f2a40353419da3e05cb266c2898ba6b83f0769485cc5d900c8a4b2dbaed3a251e7772e66e9aa21c51a358a6a99c073eee8c1928a0b0019a96e90e6fb5cb7d758b8f09e3b06f96020f36bfb25c27a5d1affc68fc9d26ee9dc2b0b4ba04e75097e08aab8cbd1e5180ee0c34fcc387bc7451e0622e52016948dfade93b0841caa9d6b5907c34060dd7b6fc09ddcbfc5b71d6c170a20197b2e517e6bce12821dbe8975d14af15d98abb312f614a2cd0d04a282a06ad6ca6afd890666b16085fed0956d79c696dfe5857f431d8924f1eb2b810b5dfa54638edc7565dba5229dcf302dc19dd3631187183e9cc3ed0e0e56af95a1d15e76b8ac0b8013ab6ff5b916a66afad6df858fba6e3d8f4c4ba9c6e78edf796d579f807c75d0060cf5805f7e6472a29a281e620c4020c81d705ea892859ff5c79639f1457eec2be2f2711172dab0b59d70b8fa9878e554d5f5bb26cb86e86369dd5a755155212ea63720d4461a219c0ff26e59e76d7a9c31763d26a7995b9bcafaa4cc3cab23fe63cf8a9cc3842e5947c87e6cb062df38bbc84f39f2c69be6ca63bcc007758511123d44419d1edcb06533863dae29bfc15f09b754873f057033c7ebbfe9c14871cc181498588f349ce38ec3e14aa91251a4a132036f27ad949240cffc5e487d9dbe56a58590f32a7c0949689ace6684f19f5b83d144dd1d57118d582dd8725e34eb3e8009c97a278792fd9a6667c199f104ed4039c1c387336d6762dba28066b9cdcd6d32d666d2c4f9bb268ba97140d07fd33bb9b0adb7dce1b4b150a43ab66bab5041803925bf1a217df7c27a8816936e0b9329dfef67dc2a10c71f2783cf9053b86c395f1aba2c64b57d0c05022920c9bcaaaca8cc258b2470b9ad211f913d366409dce141a158a12155395a75f42dea3ee2cbcb8d6b75939642b551088ab0169f11943faeb1c8a4654c41f8d7d601e4c8d2fa5c692588bccd3d54e739d3bb2350eb1b4e6707dee64d8872cc0157eb006efc0acace4c14eef43810138937e25559001c1499429b58ff31119da65267ed64b175ee857f41a7c38bad1db9c4a4247dc3bfc0c81687749ce0b3c4f08a3820116f7fea4bba5ea31919f9bda3e45da1b1c12503909e1efc6043b181ce6c3fa46614966ab5651b372ea2ec957ad43dbf77d68c44be3dc4e165ff6beeefb20b27c74e29687f38a5f4d0a61c31595349d1b899e0bcb52ae47edd65c102e1ed772c224ed289e4c08f69b4a31dc1fc85db471efb1b5119f39e5c08d8f21ff95f15f7e750ae9f9bd0ed71ed74d74a9dcf215f4ecfa87b483e37f249bf701c01dd15f535825d4cd76a9a4ef00bf9a24e1aa5cec017c263abc02b86f3148401692f1e377322749c73c74d4dc12ae44ee67a98141586fd549df5503141e0d18088a1e1e60019540948c9267bf6e550aa618c0f38efb8448aa1c31e420e7a7153615ecbcd3084b8e39a15974208a685a0d2ace08cb70321888626a762d1f1b0e76b0b20e44c515e514088d3cf014516c7148da01c81eb61a8f22071bfaf0e1fc89298cab00146144933c90a8a228de1043cb19a898f9643eaebb31a5cc5439a51889498058ffc57d72c38fb95959694c3169e8470917b0f2fe9280e28ba17c72350f2df9bc47a70674b1fb45ff6a16a69aeffd32cfb6e079087786266f71994c1d581c619ca750559c0ab5f249bfdca5b4e124fd0f2a623ccc26c7a58ce8a1430e7aa573db8220048a10095392f62c9f0ae34618ca621309ec8180d98935dcf68c923e6b87f98e87f2ef37cc9975d233f1161e2f7c4c7ca352bd515f319d39c371241c311200711dc46cbefd3cc6042e8a9448b555918fa4fc830c10d9c14b7e64a451e57de80b2df7b120731f2a1783d51d182d35848140283f9958742207460d85b3f74c036f98b6827b1d089945840d9f9deb2af31c8446a691af4e53395510d96d9d207626a189afd2ee97b34dca7322f6529a388bacf005e0d9e7e1c7317afcd61e3547d4ed174579b9ae0ad251e251f6413c6d2aab92d0bf41a97a35b9eafcb05bb0a04b55f21ef0752eb031b180623b29ba0a3f43e88f2094b21ffc38a45acde3423934f238aa3aa7881d8c5c0cda7b8ec1a8273b3c6ea8d35302640e8abec20d961a5e5bf48923358a550aea064733dfbbf6aa68446c906432e54bc1192fd68b7eaf1a736d434220f799b402bd0eac47739b94b313a980caa4992f1b65f50a2dd20af9fae8c3c0e86a46196075c845834316e4c5e86a1a279901001e3c8e5a17e5095b480efeb4facd4b69e55df4c68d4df41c3e2cd32ed518ce342012293b3a423f48d5e3abae6943861f00c20edc6cc2794eaf90853a4c1b5cd4db2174757412beaf54525326664d916501b90945445f48512061347f5612fbaa6fa3c58b3b2583b6bf6cd293427309a9c4d810e7d5b55fa2f77d98253c6008ab6d4f02f69e4443b8910a0c651c996087d1c195637faa3279550752a0855b513415283767fdfbd9919557862c0f7f237a183441e1b2b61b18b03d7a6a6196c776076d45fa43b3eb100fc431b4bf077d225c02e639805404c68496596fc83512c60f9931ea45f61a5ee8b1847ec20578dd45e85d17cdf77a0697022115e30b951111a9ef6a841bd26bb1f66a4b1b812866d7b1d1ab0fb67710fac40612897981876ae7055c0d8b993db14bf25719afa46ea1ee29e15b823a339e0afcfcc6e55eb91668962c9a9048db72040f0b14af003cc3506dd8bdf846e6fbc19470c8aaf733d1724ba39507dcd6308ccd8253c60d4a0c83c8d29f18a18c0141706f87461564a037dbe32a4374b87eaf5f1b57667aec64c954ed8582c04ec7e59ebac8d1ad4010b078fec6474d281a6340b54e517119dbd103d45b4620b3fade257717a6059eef50454e93af86530843e87dcae763837cd40f47442880cdcc4dc32af82f8f41a37c369fccf65c843b37479f5ff050d0e28bd5882f6a9933b05625fde484ab3031641cc02de2654ee709b45cf9f07101a5197134ef3a07466fb7d25964a5cdb62153bca901b9ff86228b743b63b1edc7d2c69d82a8ff16b33f032a35869736f6491571419d5f83dc6497934e47481679173f4cc05258f86298861e0110da3066090b1934ea48055a0ba7cc45519c066919c2c4e5a9021428af99d6488d640af70b1ce0250e87017ca19ec609c278918144ad0568ad0a0ae88886d5830eaac35cee6c618c579d0ef06cfa447b401ac0fb959ef308fa88c9725051bbd00cbcc010c147f057331bd1f383ee29d465396eaddd49a30074cc77119154f7bd7091c9605991c2c19e53dda19d60e6abf3a57e99766ef99f2c4377916647af396df6bd7794ff9926e9eb327a2fa00bd7adfe5e67bf12488e6821755679fadee0914aab3570325a5c95e5f6f64324bf8bc4e55fe549dcad8e7ebc8e914f669da06c6a0196b1d55b933663d4b4597c8c1d03a8c3c202bc1e2d728d00a46e9f7c65998cbb33e32d9dc66f99a3879516cd38ccfa93193c145104b221db665680e2a2957de8819ad0b1ce5721fcfff58322f14d45751d39b85e60715710dca75605eb4bdb80cd78ef785659b8e16794ecdc5c2066b54f303c7b49a233deb30ac01b3ba92cec1108522ab79cc16f922ee2c1ae191fdb6dff6acd4246184caf2e1538ef1b5fcf2c87ff12d948326672efc4205d4bedf3947dd0264e383c84105875ab9c44d47c8c05e487728638d71bec26725427d31d347e8a0bb5c63c87403025f8dbc2205c2bda5fd6f53a2c07998a91342273f53da2413bd7f2995896cfa243cd4d1c7bef611948ecf168b0ada9a47d5fc09336a42929b27483249659b1ae6e5f0e5245b84f9408e510d950b585d8b139d2034ac03b19783cbbb54ce418910b694f42b8d6161c674acea1de5c04d1566463d816ad8be6680f21a05e3525e0f4d0f603822c025bab2de97fe05f841e0e86da4fa39d2b11a10be68379bc820baa617d000df5d7556db21ee4733c8d3848b0d71cfcc52afa4e9dd3930dfb1d4b970182592b05d92b2e1891ae8fc39d132eb69ec540f2757898c7e9c5d3335c312458bebed1f3c166ab13410b3999c3087142bd88174fd8438f8ca4835627395bf4e610b27b1da07a1740eb30e0f0fe4d0c795240662bd830b94c51618747350375cef8100b277502610c31e2f6a373e655e004bd1bc6d5bda55266d464efb6f8f48c0ca30e48ed2e8a3f2c5be2e2e00323fec17c263e7700542d7f0492a5abdb7477ed0bf6244bd3d8e91003517d428a4ef1f64dfe1dd22ef30d64fb91b246fc5c1e310257006bd55ed9780d3e22a881a11c1b781537df2cd04dcb8998e6d433e9175990e6c489810b89872a058a76b044438350d87c29dde4ce78e83c1b7fa80b68906d4783d69e9b86eb5ecda4588aa839e0828617faa733100d496dc9737f94589f66b0080e246e62c98c57787040e964d5b63c084b709c8167527d47a7619b9b2c7bd2873ab1644ad0b0f219dc88a23a2742fbf18109c35a103b53d91834c44a54dc1df7c0ec7b56b75a8fc20fe41ae76dfa8f0d0a934a8a93a78fa3597a875fb90ceb04e4f939379e6b46cd15ba6086e96735a4e517560e4644ebf57157c22b1e2d324205fe1b533bbd3bde9a3cb3c19595afa341078de482c88c1878cdcf56293181c093dae0205165ce8032644ae9af081788488d035d10315d7081f588e7ceb7e1d27cabb547e0041f7caf8aa978213dcb440bd06d4c62263bf841dd768609f7492cd609270a4459525ec973082aefa6dd0fa4361bbd50b7e30020cb709bf43245a28fcc02a63136415aeaba773cd6779d4c8b48fbca776e47f8ec3acef8303da767f4991688c30fe1544854a4deaf25e7019ad1fbe8c7e24a0754f1f735f0080f7fe589c329ec0f2749c5e0b4623585c4ffa0ee6ea15d5081845b332c3c1a9b1095b757a96edafceb74b7f87a7d0ae1f8c921132cc720e89ca8a05c018581981d0751c61ee46518465a38eff19f9705013b6d4cc8c61fa200ae10e50036e520ad4813deabb9abae0e91f333a150df56ea63bfc43eb4b1fb9b6087889805a39bb62ede7b5f9c8ba012b4b392482288af1b053e0c0c998acc54518fba4a1ad57df3e0d80a98588f87e4a30a1d32aecf116db894b0659f8dfb81587212df8cc6f12745741a8a9d5e191be08ce4e4ddbc4d80b843649a47afae968873adbb8e7e118721ee8affb051a1c156b0f1da69a1286c5a2cadcf0e208fee30d175cb4a63a10fee057a14f27e5fa84cc6978ddca131dd5b063a321eb94c631861ac577fb7d834dde21673a0235c5a98e04c5cbcdaaa2f129641b9bd65803fda4a98d0e1df3608c6945d1ad5ce8aefc75147d13b0ba7d10e06677e4bcd9aed7c3e10634a6b753812cc27abb5ac0b87a4c54c7e9619ff17fd9a3ff587a969753dcf980b452d098f61f6842c422cf4b0ccf8f9d29aba80331b89c30c24ed998fa7a5fff71e931cecfd5075470ee0ac9f30a0cccba5aebe6d8a8919b3ac1dae02443ebc5b786be1fce2726d00ab0211ba945e7389ab1bd39e1cfeb650383e9615f4163b213ec08a17a5b08d0ab17bfc15a8186b26ef88b6cb5b36854b9b1a88923a75c6ed47503098861c5241970249657782d918c16b834736971f0a84a96474dda9c1e5f5492c0a1cab199bf46766650fd0cf297166f41861595319395b4ba661cccfd18986d478d22cf84bac4bd36b1242de14eb9c743f4009386099c096ee8bad215db5e119953c09906987b287c04a97ad3bd5e862f53f49efe037d14deeb29e843780532d7321f608de22581e1941a36e1e2bab1a3f6b9ecc09cc59293361717f3e1631f3ec137816d3b3c612ca66775bcdb96a7f2aabd8ce96e18d60289436815b0f70a66bf600b78620a54f9c52448f7fad8e8d32104f56fe0f7e914402ba21c36c8ecffdaa70a014ccba56660431ef95b9613d95f42dc645906146446b7990b6e2660261cf2a2311f7f3e0897dd197a2d347f047d32f37d9e3fa9296a4894e4851aa6b9ee624f9543a05f18d75f64bf8564b7a467634684629f05e8b1a853a66625b9d5afa9609e24641fa93a2cdff6d4573a169f5a19a4ef42d0fc9926709be6e04e5462a84e33c1edd3acf8d3846d156c7cf99a3502cb8339e01f72bbf61418a1ed938c3b24eb6642a9b8078132c459a509868070ea00e0b6f96e613e7b51c755567385f0060f9436c6bb236d0d015b572320b8b7794f37705ec2a0a98fe03daf77f01496dbae2ef3efa863f263223ff7196e8965e25799949d257cea253bd5844f2d84b2b909e20a0910fbdab00f2952150bc2d3fa412829a2d47112de9d200837d0bf2c943c94f9960892707430ea1951849224066cd793c3d918860b16edf7b46892e94abfb8b7648e3a118904bad4630d778aeadba19b07c9e5b7d719e7f16e4c12f62695a31950024d905ed8c8a6177a0a620e4928192b8bddee775d17afb85ef9cd1402317808f42624c48f41431537590258a9ff4101d377f867f8f8889e28505b07fc94b395f000a82a1e0d0eecadadfbf36c807126a98d64101a60f7823ca924a936ce81eebfcc0b19c6d15443ca2f26e65846096dcbf35bf82147264b3601c4181387cfc8981bd201c067a320659c6cd80255e20902c37ee21a8ca12e8b4a3f6df45fb970f04ca21c053083fbbcc80bbb81b9abdd04249ec114801814e0e6a589ca60f271a98ec601e1bdd5aa0c43b9308d524d79f7fb1f2223710c50d2b7963727f77974d84952f550e34ff755bb12e2aaf8fd741126f752154855cdd5f36cc4af751c8ab47ebba0b5d041df53c90880e067e09d136b3e46778506bf83afa152efebbad125803c04101c048800d6797d2d74bee2301774854bf72211515d236782d2a9eaff388f8ac6ca37adae51318c157f9b59945d1c27e3c608a9dc26af98a609c8689467029867fedd3106c6e0ee6a0ba799e9fd1e30f06622dc83b45d9893260faa651ae92c37c7c76e7e2783526bcd00c0dc3e53841b475fc1ea61ce5c140b2a8a0d812a2efc12b817d2f44dd4e223bd565ac80488ef46ae5c22b014e8908f4c8e3fb744387b02cbad13239c5eb664aa4bf83b45ce64b1b39b37f5ab7339ba8073403e8b51d9b90068dc4e218087c3cf70b683925f7e3c8449e721fd1912f8a7422cb9a98b837fcd1437c9c38a5806657f48f29e3797319721f1329ffc72b0866134242f1339a507835d527eb20b4ae423e84b6636515592ffc0ed84ee3fdd09dda08b449d2af5880852c89552d6fa45de294df4f28350150e444677eb857769a1fe365432397d444332f48e701024f2d3ddfd150eaf6d84fdeb0a21a9a5d558696e90c2ccfa1d4032dc77e09cbe0e0fc89740b137eafba127d615001412cf535378003f7ce929eb6f106f8e17dd6321210ec9ff29859b5be546b06d51050827459170869bbf91099a824a1e7e345756e79cd3e609fff4f5fef779d527472d804cdd84ac7f897212e382a399705db80106544d81a2a626662edd8f691bede227b884c79c418ca91aa2d24175c9d4f8cc09f5c78611e1f0c0107103320e21905f6830024a43929250741c664dd13260c54a10b0a9739920db218abb50886304029997ea0b0d7a6e68eded6f399b8bb30ceba44909811c60030b8c890ff73c98993827c18aea3b09b84e149c459aeececa4bac31e752f2dddd5fc8739b916f3f4cd833ca328dcd02af6262eacbb3690d693564501dd3b00da35a20e1a3407a99cb50d1fdb2321e56ff79195d90c2a2dc19835b40de06d55b5d63f4b541823fb85985e5d7c91bbf8381cbfa3dfce2ecd689d6c4d4e1b87f477893983e7e6193cd0dbe4595ecedc6f3f59bf142f9e3a7006eb9a0e198e08dcd636070e10d29c8988ac4d2fd1e98387835a4751bf1eb4893c31aeffd97ad72971942b40f04159fdd4153fb5d63bb7ce3a984c0e1a928b9bffc8872241e859c09e484f4dffd98fe4c2e9f72b627b45e3d53144642e1122367f0d2bb06475970cd56bc40c967a65685ea763328830ca89ebaa190c5eebddff0acb595a40e896161875f376ccb02976afdee0109dbce807ec5b67a17f90459088039add6fb71f5de9546ad391e720ba4b8bf8f6005805ecf77628b0a6dbc058fae4c13cd88d64f962cb295fb8c4a86dde9b86912064ba202f3af99f5e9dfbed4865ecd6f7a5e8d997f4d29c0abdf998382aa888ee0e4af8f0a18c8a591d8900aef54e0266ad0929f7d01500581d4b4109466f5312b6396711cf7181987274cbc35d13c9028bf79351dbbc5a7dfa0a68003abe42b2d279d632a8ae487ab0915fa3115489f9977ab527a8b334ea2b24fb97e1b7d9f2250246c8671bce23f6bcd48aa58b938aaf775cc3731abbfa7373f6aa0125dbac47ae89fe8f342e79132c39ba9314a7fc31dbfd3d7455d2418b9301119e669393f1ab2cce79087eef0997e5973a9e5303eb7a5f154004fbfa0f1c4152102c5aac20e350285223978dedde8553849f5356850ead82968ad5ad111a4dc45f0ef76bc0e97b445d4d4bbdb0d354a89a6ebcd2c9c5cacd34a8cad67f7d7f186456a5a1f16e6a243863bf5e303423a979247f694a398189cf36e6d6bbdf332f63db2da7b3e8f501f0bc9ed212faf66013da4239a4335e6475c2a0bb45524189a77fb2af7359a679b9a1ea3cb69040798f8f575345ada9feb6f2340ab3fe1e9ca398c107102e64655bcb8680f8b9118548c64aceb5e8c288bca6909854630a6e5158042c85a6e6e418d8abf4615cbd77b8054a5511bde95a37187b01527daf8d1d9ab6956edbdbb1bbecb5d13f2a1be4484b4230074c6cbbf5bb7949908fb0ce0e32b843b1e7b06afa3012ee943b5ec70ca5dc0b5998e10fd1a17183a7ee1ba5f9763a534b0a4652008a341eff31c3cbe80e9ea6104a2ae629cc2f441684068925a5d22a0542ce5a40a301a0fb7d8c61e6165f00a548030aab1cfd0c0516b096ce3e68685f5dff77cb1594ff43ac789eb068c1aed00299b2543248bb8e79b59aa30246eda7e51e1024cb9234f52d4eb0f4e662ae7e42e42b83469d2a1c9e546558ce7949a81df365bf088389d657f617a80267b33f09b1eaa9634208b7669a6bbb9e317ae990c6368f0a92ba8e877ce76c4b3ac294f4adacfda083ffb47a97be4961317a575ec7187c03d02a576595167d8ca223cc9b16b88ea06a3aace038a3138564382f9e89b4895772118f1975f2ad05f78c700bdba26ad65e044a7785c1d7ff4bc3d76ee3423c0afbf85e3cd343723459ac9af214436ed86488f4ab3a4ced09fd499c1a60b8c337142fda1ec925d8aa97b6a908976cdc32ffeba6d811ca95bbed2b33227ad39862e079c8c19df6b152b8cfc496d800fc56ade869f2d7956c73cfe7d39ca95aeea0e00d5a7612358f86d083985a2185de519d6b1cfe608326d30a1b76f077937cc9c331ad7a00547cb68daf6718c1175cc069ebb4053871df35ba12471b0e3f180cab8f17c74b68a3bff6decde1f848f3908764e6310f88c26404c95c39f0753c1126183025d85714019120845a983d368997a5e6b3403880604ce97e0ebc38b76e550b833ac796e93f2e996a17039ad2ef84e861fd638e9edec09622ba02888ed833620cdd7ad8c8be05a938d00edf886291c959db319e8b61c0589d2ae4cc544d044c80ac59c4902e8df70c946f192834d2ba0fab0238d768b42a32c96b23db1c6d8c838c43c73905437926cccc7c5ca827336dfa693cd4e7f921c6e63dbb4bf9e09c5e3e0e530d4f1b6e3bcba69995b7f5c5a3b4789f022ad7dfb312727461f1c48153353decf3a1af856fe01488b40275cf101e20b93472400e47013ce03816a1b0ba9df38a6fe5335089e5e7319f75bf38b8b0d8382d2da3d857a8b7b354178be7a5d039d9ae05077325af2c6522c84f985b26195292e470f834d904b8755d6e66986c7062aea5586ee342143c80f7bb9ad19c174ef01d6bea986096c95628c045f0339e4bfddb43c54239f6a800b5c5f3a0fe543217f092387aab24c63b43fa8ce666072a881d6667b39db7893089d3dc49f0509a64cc00fcee5bcbc819f40c131842bcc2ec2875604e21a29eabb255ef0c10c751d89688ab72fc4820105e64ff47d663badd643f82b12e23879b5722674f95cebd4b656dec304c0eaee6b3f3469f924591379a110b33d05a8ca8ba90c870e57bcd286b6406c5b49c77cf759b2934769f34bfb2df5248152485261d322674e6d3a8da9d2547a0e363891427d6fd1202d4aa506b2ff64a3c7839840c21821e52b03351efaca2fd32a003299493adce22086024160aa374840e0987be202373667aad3fc09919921d28acc37fbf65d374d9b7b7064941f8264e3077cb02c516351fa3bcdf39e6e993179da763c676772537f5d3ba58588ba5909550bdae4f862c6892441a80298d1970a1f26c24555390ac9d6ab6aa435b2351283815da159e9525265d23be9ee14bbe0919600caa72590edd0424e3ef31304c774098610f935c3a5149b9d298ccad20e042071b80d9837bdd36b131b1bc1888e4f29c4c46578c0adae1e173b678c2a23a6de2f2b800686904bbe70becce6c478d89061d550301a1280ebd78609526ae09d52e6ca46660c4f177425f0b8a384ae4e4ae959a81946f880184861c36a378aff45e9af76db672bb24a9977ad7d69ab2586313a156ec3bc281d59b83adbf8098792fab8bfc277acd0fb641f22550721bd78825f9ccc6749b3a41c394fd8e28028e3ca19b30c9c750b82a1fc07c5ef973a56600f78e90ba753ca4d0692dba49c1899498d6ad1d91e3cac78fb898a13495d40b09c290ef06f81b3798a65963041d5c485f34c383b29e84cb3db97adb693f7d5f94fb85639ce0d1a2bf4e2c4ce1bad2c084bd6f39fd87d72a874f5899539fdf440b265c0f0aae71485a29fe94e84f852a8570d95b64ae8c78491fd59d3aa8957c094b46484da5d8ba6ec677066839cc8176d819ad97c64ac523754f6d02a9ed6f9742a3f87db9fa18ec3e7e1570dcca391b48f6999bb6150e35c677c2e300027c96bcce6cec3b36ad7146ea3fda563d5d0e6bf7fe678077aace5834b340d84ea561f40c898aa109945fc7e2234f28bba80c87ba259d373c845e5d0199e86b89a0e8699b04714c8812f84a3f2ccc4bafebc9866399c5138ec6f2233691f84d3d43e5df51db47b5d131fb6b264984f5154aef7e6f31205218d9b2ec00450a4bf618478fc3051a1e03355e3d042f96e78de9ff5a3ecaaf4c472ccf283fe2592b23c342ba8c95011cfe1f811465a372f6ad006b903ef3fda146fe53b95dc5e0640f6c5bb40843ed0641aacda5b88ae8ce8666dc2c9f4355eebf175de6ddbf3b2ec3c89cc1fd68ff03df515a5466c5b8ca050d1f7de43c66e1495a063672174fdc31deaf006a4745a55fc4378dc89827ea581db07103ddc01f66a57aaa51098fb8627a8fba20aa56bf009871a4daf6c2d3bc4c46fd932476c80a56da2108753e03a266fdd48cb08115bdd010890c75ea92484c79256e56bb2a5c9341da79580b2ec43412f6c0b3ca7549fd69b70332929248cc2903554a5a3007c2b9325566af6f60892ed3888fe67af67829e369f1c411cb5d85559a8996533337d3e3ea0ad947756a1f9a6a94ed4820a8174b32a3e03845e4e8e3887594c9ddfe38e4bd150b12cd133951ecfe3ea99f934616b7b8015b218b50a076e0f5bcf8f7087cb21ab7cf68f4519e8b8be2896e5c3093cba96d23e9c38e21fe1ee4de0f197534ead4f3f8f169b6561663f2a8d2c747f22bae87bc156464a667c37fcd8822f173e1087fdfce0d04de98a8c800be25c703edfc660f3c45f719ef2ff4b0f476e85de0bf233e7755ce72e2cf03a74e6810e89766d43fc2090c98a151b6d9dcbaa1317287e968f3ad5dd175a9e62a49635f3ba1937b65b5205b2616814d21f58fffd29e4c57691cbfe1be6378ba8708f7e2146bd6d7431fba535294b41cc606dd722bed94bdd62cc51dd661dbd52c539a424b4f573126d4b320e4485403736b9d420fe092b8689867b877eccebf889504d32c0edd5c1e3bf4a4543784492af4cab02b089f415bb5dd1313492a90acef17df5aaeb027e2bde6647d53daa4704b2cb0206fb4f63fac85a3a69b88a27a561bd5ae5a08b8177d2e6aad364a9e63dc132d5d0fa5306f61b99faf33af797a7db39f757439d1084b1bfd1a2dcc6cb72eebe2c0fc8ef1bb44d48244078a8acc5d79c9a1e10272668b23cfa4a183c3326da9900ba4643071a69ebd8518a2fed7d5b3e11b7e7732b810e867425e3d0e3b0f6b89255adea3d04f605e1a8140d71d4f01ef0c46a1354b79867e83882bf3cac5a9f3714cc74058fde3df37c574639f6a3ef5cd3479dbb2eb6f68299b71fbd8e7ff46ab18939a53c72f1de18093d4127abf470da7c6112b090c6d3c85ef7ac05ca927d01a34f4f669d3325cb137f8317da62284d885f8cfb311ee6907cece3e2b53f9a20cdb5836fd3ad30db1f45d3718b2d7218d58d20850898e41b2ab54ad9e7114f128c341a7e5c7ba446aaba420d25e84254489603a99e1c428fb61d1297bd56561402f146f942920fad266628feb9ea8e4d1aa3aacb6e19d5022b898fdbc9b1279b4c671b74a15ba99759883a8b0abf0d201a0f5217c5417e56640d0db29ecc0ca0bc511b0de99701c01ccc1a3fb752c5ceb53a86fd0da688832718e09e15c8c3a8b5d58a4b0bcf1efd590754187019c625078a210f3d05f43d1f9cad4c5214380bffc1a28f908174e1704a9ee4428f09cd448a65f3537ae48a4c94c3796261a690b693a4cd41ffe15f62b25538f38a5a02f8914f5d70e562f0531ff10e6e3c481983034fc4ed5cc70dec4403609c5d9a24ae4a2cf668c375609cab455dd720a083627e6b8e32e136e8e0ab6b93b8a678eecd627644e8eff72001b77c3d28d020da14b9f4f2ab94b8c6acf84e780f9861dd0c2cbbef6b4c81bb24c8946a50a20cba3cb298a878e34d80cab91502e3d1427034a56e3782e884cbf11cad85b26cd497f2222ab115016e6ff01a7847789f38ef6e99fcbb2f43368b52ba467e54e3fd7a7920911c7a13612f4f8fe46574e166ff004e47caa6938652d5181f2cf08575ba242d568f3f54f31daaad7f952c9da165d5c59f5e3a9ae78d9e0cf85ae15ddb082cbeedc345c59f8da92cf4019afe8e86ae1f68bc71e60cc500d6f92a1b34b814314722be369b0d480264a570be3ec4645f5ef0f3217d5c7f11e1f32e1031b157c34e717481a2be130572117ec736ce0131b0deb6bd0aeb61b46d8bded8d3b5f5cce61bfc21d89f6ecb7b41119402ef306bc4b90fdcb0ee08aef7f870f251675c3e6cdc84694318e17e176c16a2314b8f5b0aa57830442d0db82dcae8ce78fd909c3c3977787e14942284ece2f9e4dd8f5202277d7f44355427e1a72c2e3f6881366c631cd73791dd475f1a74e6092587486c16f454ee9e13c7e35506d3fd1343557ee5cc8e66b0256e01b3995170e1cf99c0cb61ad0e09981ffd699cdfd27eeead91bac64ca81273092852493bd758d1b0b1f495feee313b7fbea096ec4832939f8fff427ef5bfba6ce6693057cfe9ddd39719091d1d765fd013a8a2bcd36831ba4c3d31fa410608fb5ccf1f2f2f824fc2f7a1dacc4cf23c378943f82e4423d81dac8a860d4fa2d979e544e5a0472ba32acbb1bd1411272872ae6f4d11bfe819291123d3b2242ce995bada1be6ec05f218fcf48692e390dea1c0ae056fccd6ecac1ee8f33e3c01ec518c417c33e6d256b0370296e23e8b515a3c201e806b0383e090f317a1c2ab7317da185250e734887ccf4d60ee8667ea59eb3882808f20b2a283c209f44fcdd2b656f520d34f03c37b4463d3c25fac26dadc014390b8d1c92295e4c7253c9a3a949e808ea1f5a99b893b4d6b08422552481dbbf089e22c2ec6f2347ee645a73f8b7d565f7b56c05449fc5feea9f14a79573aad226cb675bff7254b69c8868c85cf699fea0b9a821650376170dc3220a27851a19eb486ba868c3a04bb27b9d133a50b7f28914cff192edbc818ccb9b1fae1f46b5b815e143a0c87368e32da336b61a198595644116a1dc318e8cc1ea648e52a83530677b4cb188e1e38708a2e48a19aea33d2c2de4a4abbf7cdadb07e6354d3b4e61c6e4d30a3dcee6ba100890bb97260e29a6784464658e77fc5947fe64d28904986858e1ec208d67545d2d8f95c8c5e87281157f6e8d0bb7166cfcc6fc2b8a8f8502a53c313435871462f1cfb7e8d125f26046b8d06ceb3daa052a1ea7a3ba04d95c342fa9df40b0c24bb11d0711065b92e844b535b26c07952423233ac1c6879eabac911b0bb5cfb264c17cf6c1af423836829a4f14dfcf83172a08fc2786f0ee83f048d5eba0d039511d500a0c27b73b47177321b56310bca08d84d48ddaa4670b1c89ed49f6c6128bdf9eb58c9a202af4d50b54c29980e4283ecbdeea85821e284c80e7e9a878276b3b6da07c95e2d923ccd28261ebb983587a73a56ca9f75bb4c73f54f9d04a461938ea8a8f062b0402c9ce19547088a3d014e0bc31aca4b02695ceff745e2f7c8127cfb5697866383c7110fa166f692aacfdf094da152e430b8fb07961b4ea499ee65a044803a99002fd9c584d01024847988cb834fa097a8d03af55fc29aceb14ce0b2e1384279f49e742dabb9e9967c77eac5410ba38a4c17380608042ae104c03a3550a76cf0cb2042607734edc0cba5cb4e6443b50404b0f3d0a8d20e826d928b9f75614b99d83f94582f313a1a26525dab11be30d0600e4d6346d578b92cde954e3369604022198e50696f436b268d27515f1ec58feef776b386eb2e5bd4cd02393be6b29934c81f7c63c9deadaeaa2ed37bb59934a67ddf69e5cd091a04daecff6cb08ac1cdeeb1fc54e15c96521fda02317eddbcb1f1f8131a3aad76a5d8925fede7c15c69e94ca5f8cd4837499b9f2933c4df11963f54890bd09a9f149415fe250df1c9a75b395ec7203ed800ff18b04bf2bc8648464891d6e3ae6c6064f1763c563dd414ade9250079a43a9e2c20defde68fe9ad9b85a7e7d92f4e32b699343cb2616356582a6074ec8ea7cf9e563736c86b81e7d807b7dd12bc651913bee9bcea17c3c027db20d60ea8f8503454dfab614fe9ac61f4428426a0d20feff55b472e4a9c74644add346d4c7f05379e5237b097b339441bdaf5e4c9444f173149fb6aed44a19b79e5b9f49e8ceac93a7c9376088047c796fe6a88afbed2ddb85f2381376a86796a2dd96dd8188892beb0b1372ea76308ec46a396fcf475be416740bd6e611d030d8d37967a2d5de40f6acb97e38b5c95bbf1ee481e227c57ef647bc8530d45bc2472ed46dc794eaed63cafa1da69114374f825ff5666d230031dc125125a896a5bbf8c0a69235922bdfc1301f6638cb72f15216be08e8c378d2a16822b717fdc0c03667bbf37f79ba84cc0959fc6787f86796c0b02faa604ef531d9bd566bd499b5382dc0100ad1b202e0d050e3afd03dd50f8829725623d7d933383874c30770e8e3a1cbae117e03c5909c753df0ad18d730958fa64fca57fcca48161b723ed3d7857672e9e017542b4c051081e06ce638dd99ce76cc8a1a8876981838b1df0b92733551400a11ea89628a264507d73eaf6c664ccafc5b870f92ce3d2cb2841b6b968c55c4671ed46982e2c188befc820e5b40044fd234ccac3a8fabcd4da4db89bcf3dc047bff832557f81a3dafe615f0af18975fcaa0b3202adb51a2abc8f5c0face2efa8cc4e96f5c8201ddf869ea38da6231de9c559c5bc3d30100bbce4ef48f726975002e561e77bf5636f35f6f22002262ec271d9b342951f2749f3940293c436a4724e2dd9ab6b17964d77b8c37a5593a6e3bf0fa8db1512d427f04d6206696280676853cd84a5ecee297fb9a0306dec9778f15e66bdd269ebf3be779fa32a27a87e808acd023780c29c4cc5786e2da9ca02f737bb81accb4828998ad165706e49ccd5281a440e70ecbd10936ad90e3aa6bb206f4114321ced086ab554a0be2ee1662bb7515ef868b2ff9a8669816117a5517b2c85deb54a648b50d17eed00d94a4ad6eebd7a4d995356d2dff8f88ba05d42a4652645e618ec762dea9765625f04edafcf0f4a70740dda7dc08ba91fa081f48a5aa6d876ac01252cd657e8ce85bec50e25544d35ac52b96fae2717ef290b7af6002ac273fca39472d39de6a249e7f788811c5ae19fa830b6f7e5152137fe8086cf7b5f42059c38ccfc7f91106c6fcfac8c12abc1a806d87878ab32be93987ea56ddeec16dd316a92fba3606c359e1806168d67b33467d5ab584a4ba0854624c52208a0cb9d8c2c48dbfd3b9663e16ebb5a949d53bc2477c674bb190a5eea3245aacb8c212a2083d180a2ec8cb833a21e50342201f40b3799ee40e206cb8830a6c2bef9d86feb4f66a422c4db191692f48055574124d4146a5e141f72e949ab0e0fd3c3207ded8ef50106de0eed24f643fb8ba24e05b9662d75628b10a827bfc8a68d88da0ce06a4738b9954f5e9827409e1cbba83c13b41344d3048807d9814186099efab58bab32772682083326a70c577582df22f6bc880ca63139815ab802fa7e4fa829bc0f61082ab63eb14559202f9871e40440e8a6e64d0ebf8c69fee5d2246b6b22eb8319abf14b6ccb53bcb0ac574a265042cdf11f3c6bb92d48815d71b1c0d16eaa120738ddfdac11673cbb99762ff64902410e95750842da32df3a63fc96e3068b4d4dc062a69c2cd721342417a9d5b9fba8215757aed55259ff95b02b02caac93f0a2da3300d4691d7144bd27ae753f7c4ec0a6510cfba6f27f826cc7f4f8131e9d7f8116dd6041ecb4124da5f436405926b338b854ca9bf008f6a168bcfe6ba9565d6f811c7b341a1d3159fac4f97ede08381018edb453946041c4f8dd88bf50ab64a176d3c344d4cb451709cc541f00866ae571ed933ed215f4ffc1cb0fc7869333053280555119ca78fc43194a2bc495cb95d8cc0ac0a5b9930539061c13ce6219a5922141d5c85ddac65a9c4d270d0790560ce0907811e62e52139ea7ed41e88eaca358fabd5d2177f36da26507aef6da25fa1800afe7b4b8a6762c6e33bcd37a83b87c4911ceef87b8bee9cc9ce77ff076255b895013dcd1a2b9e238d91d4c15a6cc3c1133a62e9a55a5fef8a36f4d21ca481be636731ae0a541c2654843dac10aba6fa33fd3410d08c7503324c49b3e9349d9e610039d3c3b5548ba463addc9e26f45539a3e613acd5cf23f0e7da4e73470511a4fff37cd3704f3143c32340494d6144f1ec98eeb1aa95752bcc9fc883a7e1c28273fdeb20425424d6d8e1de5cd7b36958ad10da08da87b82e6d76736f7ded0544a2263661403e4178d1ebd8681b80f28de84601d5a04e61509619eddc7c938ce63afe8970a41fc83e0f90a8ee4ace4a16b3ec3ce87ff454d0f845f9ac553ca7918f33912a11ec8e1a0949d9d859c4d9c41cd3269c652a5c849ee9540c41e3370644c4a9be9fc07b609ec720d593ec3eb30b96a5c1d0d754f975355db26b20b404f85650717c308b30874d4f4d61b602c09cac69218a9f68cc883ceb7a1b78b5b05eac51594b39d77989b99099ad2c974b33932e847a4b6c1322b78cf32e6faa77f7eb49645600aa15deff29b8fbe13802c8af8b5f9b319840abd74bc80786cc9c5b2db9478558c4276f6209a129209e218b1222817542b421f2743901054e9ad71f878f490f228575c6b08450c7f3ecb78bef7d789eab5e6fa1fa24bb6bd4f3920099bbc3887e3c92a1b45967b810244ed7faaa512f581a8d8e11ee186787fe91ea561acb356c368f5ae2de1cf3f9152b5d3c5abc8fd65bfb18fc9c7660922d36ba11b80a4979b9560e83b67b0b2da8064538080b9a1c30fbb56704b93920e34bc1dce2d4383f59bce60566042fbabb5f10764177e607fd9ba34170452ef7848d4929e2e4a62c36e076972b997ddb95446bcce9aa6917ac0458e8201996aec2fca3c8ab65e27a2c7556ca810b9be4f27fafd1bb84c9e995aafcd9a7956e6c0a3eb2884d008daa8d196e7b269cf98c6dd24813bc4fa4aeb5f035dcef2ea1e56698ae5fee6f5d745bf5a5b1702fba8a365d3c2f25f57804e77495451508e19db8acc5e08e58a7e49fb7f697085fb488205cabc783096f597f633b5d511707b757e14e54734c872d17209c2d75bb8b11d8dc034e909fbb04e6b5a625a7f547fc59e5c9de1c77ef7eb24d1707be0c66585852afeeb346693a94b5131dbb6fd032b614f7f418b233554cc4a332afc97378885237e0152ea28b7fafb8ac7029417900aefd1c4619fb86b9ef780890f3637281c04c3887a7f594673824bda4083334ec118e9ea6dc55ffc4533977d9b500dcc39ed0f06b7a6f4d72d19681ecd9f222abf3bcac0f6559dde305c52ca2feec04f15cc01566051b3a2213b8c7d41bd835712e335b333f452457f8defbded9d998ea3a608c02f4c6a8d12e563092184bf42de67b69b0b76b9bf80feba3bafd13368c6004b1c6a74b2000c8139208a965eec04577499a2d9695c0b9d2eeed4491db3bfedfc55ab883c7aba524ef7dad11ef921d271489189dd2f5aa168065632503510e1b85bd2356b18a734eb1d1eea39096405308cacf9368723bfb9373077317ff5c231d60db1555a1991ed0ed7a80c2b5acc2f751613760a23d46c7f39c46e44997b1c8d040112f9eb4246192466aef7ead824d8e15bc08af01f9df6cb4700a1d66b6d0bb0a2229296d13b9ce1c85f4621ac25ece52efd2e715ce1ada46b98e04a7281c2234612221b288f4b243d8abe27584ec6ba85f34a09fa0a00db36f07c3dae87a2e3cffa81b4d0c2258034b6c6f6d5b553e04815e5b5427332325bcac9871092904667fca5d7d789e56b98d78c6e5cdc3467fcd587c42f2148f9627b3644486832994701664f4c4aa86ce194e35ca6f8ab13d2d779ddde605ec9c54702261e912074d9e930bbf0a9cb868cb7acb6a8e6aa256cbb786f4544f65b3281db45a66e171dc2934a2431de7eab731131037274707fc52724fe52a9e9dcfdaf6fcd581ea68f87553c441b5e62c660d2c524ce5af8abb554a60aeea7ecf0a2e02a115d8b29994b458ea61bcbaca61f5f2dbe41f68f847fec6ece0eeca52f15bfe6c9ba806e3b581ac353979f796750f7d6e424291f4e01191f9f216c307c3f8c5d75accc278ab543e9300c337753b63b56b175b3db5e4f8f8114528c52f1346fb6adc10e17e0f1b6cc8e9b45e67611b71cf9c11c25d807b77d0362d196064b177566bb6db208ed0777c530489ed08352515eb90cd66c4ec583715a3a62ba1a3be763a5aa9122fa6f2b4e840a50151037e89b578e4fa5aa02a72b6ffc44b73edbd3e05e8287d04d738d65e9ea03cdd60c5e56251e89e80ba9faaa11394b7c13432d64d160f2e73d5c307817f0c75652e7648bdd3d8902d355e0b5a5634020c8d83578010b3c4afa666de3d7ba5bd484b8c4440a4098ce6bfe5782b3c15a450a6b4a5d469a499c7c24bab0c1299609b921e421a2f6081f54e2d18dc3a717e6aaec38f49c0bac341089454c877f4bbf1be0ac2cce1dc6b24972ce4b8a27338291da108e2ee6b0e9f515e27fedf064a0fd05fe7c85e8cbdacc5f2fb3843be5750e631d2b10b287931aa89113a78bdecafc6f63c44319e46b1a0c5367b082b016c52a7145f51ce67c702540cc4d7cc496473c8b661bf15262c230493316af66792dca09dd447cfc53053155a4ea1ee45262acc4c7916fc1604a033dd611690893e2c1524b79a6f093c5c174aaacc38f8f2239aa9b070097f0b34d3865aa314c31452eacf29db28453daebd75c3f20fda131295d25e4d78c09f0a7662b6f46136a751c69036dccac549030f95454f9ca296e808f112f2646388ea501107bd7b80c08f39603b161c2b276179e7c3de8e515d927513bd10a3514349f833e3498abbc7d636cf05010f2f9f9e7073b48b1885edd85fb9f435d9418a59cdd9ee6ffb71944ad84f42a0d651dd5fba1b3abe99a8808f4863a3f49c598a5a8920f0c3b7c56aa6cb1c1c8e3d8b64a25e18784634d77f2010d2a53941f7ffbfa869a54aeb0dbbc1a38666183e46aaf1b0ddbbf2f577b191ce39193438fd053034ffa9c94bafc58cd080f90e49a0d9a2644820a2cb0f56820e4a0eac469dd73abbd56cf4993ea5cd79c8978cfd9faa451f1324b3aaca955212bbea5e222142dd81eb4a3196545e1a74e3f7a3b7a224caeec2b0e2a3774587c9c12a8b3e481f3915ebc2e88954fea63c96fe5a0fabef9296d18c237b5501f79150de5a41e251ab4d4e0728e13a74fa3f5281fac60e4e5a97e27f70332e0dac3908b09c99f19ae5c04b158fcc45f2baef3ab8e4070e494ca037a8a8c493ce452e08b49938cb33ba24cf1a896b62f83154e1e4402ae7e3216219370c0087fc8a9078bad530d398e52aede72cbfb5a3d2898bd582266b0af3d5b628534157061d91e6728f6b28b08e74fb43972678a13021f3348025df5d779e082306f0bbe649d7773b2c44a853921d497dc07ce2d6f895ba0595270c8cb745a480110955f8b3626b8e7d3d7de3846ca983aa8d015ec3bf46112d87d7bbabab9159e240f70ac25779e7585edc137f966f66c005d9b1d24cfb84d20826e4f5eacdb7606a30111856c6221d4cd9d767d1e75c213acdc4bef797664d74117bf1c3173d69a3955d9bbd7c4fb67933503e32e8ca80d42bd3da7883e4892823eb887de06a5919c816ac0bdce2fb31f424da6dc9765830e2a4542fed3926403a205a874a716d878ca12a15439337f7ca9d763ab19acd3197433a1a10ad5167b6c4d7e3a4a738d306717fec8a2105042256f6062ab33cd5ed64498d87b50bd05bc856c70a420b18d67757ce332a6fee5892c91a39ee0d6521b13c364411bf59a5697073101e42d46720219b9a56860a9e91543cde7f7c9e294e2cfd30a8eebcdb0538afe2a8f678ba49711d508c9a907bda653664fcc09c583e3c1f68896cfb5017b62fa0f9db377223411df3361586a81ab5510651bbe38df477374f45c58a7ce21047b47711ce37323df3cd080b26ffd691939028fec91d760bef61bd60d9860b040f0b063f299ddf85841df97feb20e8ecf9a3856e55ab254b98d450e03a96c33c86192bab47a2e9272e60ac309b44aaa0dde9021087913c600f60461c26357cf395ee16c62cc711892f2c266c01cc6e39f9df2b6691f798c528da231b121cd196981ff0ac8946f489c2e2b8d283dba6b1514cda52e7738d4a4582f2e5a003bd3cb3cbd2c7d8868cbcaf32b352295b30127e3a82052043ceb97cf6cb6b013943103226ca5681a8cbd028e3aa1a84ab0599d934c05ef0bacb19c8d06bfdaf01e47430bfb94c45bfb84b0871835692298c0de9330d2af5737f25961a0481ccda85f01aca34cb68a000fb26e2a3aa11126cd6416bb360facff5a3a63b8c7d239b0ed7f3ab788fa782b39df4c580d6b4355652f77965c913943c9db3968d72f91d141a0da75463054d99b1935f441902c6f57e2c82093a9188bdc8644398d65d6fcb07864b079a90146dd5cd6597f78b45e581aac0c0b9c17c33800b9063765e4ef02ef9c5d0a931300d10477d4f2e3cedc24ab4fc7889477ee383519d0e919d8d206341b1a36df74de8458a587fb9567e12ea47e8b442e9f8f4337df0a331d873a397628b0261b6c9ce092df71dae43a121a4e791a07ba7a34c674118309093dbe0351277603304e768769e7ba02daa9ee21eb4477803bbd2b6439eb0ee439ed0e9039a53be49def0a31cebb42bcb35d03c669d730755e7700efdcba0ba663f5e4c40e24bb47eb4a2f251154841d9eacb50be0b7cb8cdac40da80773aa8b5613c1013571c2ab90129c8b91f2650c182d23b0fcf1aa5686c81b9af204b889042d5416e5a7a51bc925dc89320cc1344a12530280ef5e152e5c6f29dfd95760ca08995dd41f2e6c81f2de45fdbe1066517b807f75e22dac826ba3b855aadd391eb5e6f56f6e514b26464858787b17e8f1b3779826368ae369f2fee2a8015baf6c88fbede4a5c7ce38228316224e992284014a2a9070f2e6bdb21b96e217e61f7c4405a56d603dcfd2a103370b977ff26eb83b0de533ace0d51282a00e121193e9f01890a60bd1640450cca63300c64f166592e439a1b17ad017f20371206ce21092002cf95454edaf0a41091ed0ab48f07af965f1926744dec93b2b37a73c5eb31a8fa9438b879080d88e0a9bfdc8317511c3411579feacc03cda1e0645d933269e029fa33cd47e56a0ef01de1ac9934728d7d7bfe868de7241cf24a73d623babf4dbb3eb8c2b858e54a56a23ab3eadc2ae05b3138de6050901202bf8585d38e58bd47ccc911eab47f9b1bd3a239c02c79cbf4a2e460f99e6cae5a141c94e476b6aa1d114d661dd5be161dd8e3764634930adf719ef01cad9c5ce8dfb22189a37a50f96ba4821654fe03b82413aa482d229f0b19f55c7efb696c26a9c2c5f470a7970d162f3df64bc514a1511136fcfa7370eb909578d829cc7e7e4124806c97bb2ffd28c9d1a0d04cde65a2a33c84487bda4b315f50da052ad1cbcf7533103942293a336f0bd96015075f05dd834442c7b697cba20334369fb409c04097e1ce8e22ac7cbb6cfd16db543c79285fe34f10788e066cf49e3b743cc604d033bb74a06911b1bf8cd673a66ab0308bc8dc842876b759b763a24d344a9839f9418284133e5739c931601347de4839a7c0e14a30e6d0371a0fa07aac3c7826c3d5bb166d1c9caf17daffdc49c4d7c76a5efef561b15d3f68f57f4b6062a789d8ec7dd30582ead1cafb6bfe755a30e312143f2978c47fbfdad0140391745fa55d0a0a256633c7313d3d198b589aa93c7456d0ab72ede4e5ce7b495c6af5993716ad6af26006aa716af00800998ac362142f65f9dd1cd98b2c64d6bf6b74b21c5acdb48d856c486941e622ca2ba93ac610f5a8046c98058b3461bc6e9843824b84ed40682f80f3a9d5afebad814aaaee1fe6326d1fa712f3b43fda064d0d84ab5a05c782623599b6e0526fe5a87a0f4b93542b435b7221d0b98d54b54a1516c351c8c98345afa196828bc9f4d69061f186d9868f3efc224abadd719b2468a01e503af39f3fbe2e1dd9c01d664b3a0b3353ce901c0776413303d04ce395d51aea85db8574cde01d21aa1007c598f19e6bbe62a94063043aea9f54596a475f1da343c72b955195e34e6d36e25abba39e721225eb0823d880eb0b7b4bbd48a0ff03c637c90ac5b59c0f01406ec2559a44cd318990807bc25731bad5f4b98da7865ea4c7ca660cbb3745baa14890530cb4979288677ab968d4c3810cc5434b4f687894cb86c89e6c02ca28d9315c057a288f0e88c2f77d428250c32ce22a24b993ceb582a72a69c7e750d30627c338e0db2732af1e43166a022da0144663e6b7168d85e8db982ea18e28119b3a30fdec75a270fa2cc82202b9c4f1399afa25846bbed12612fe01f5b510810d2f43e2cca38944a385f94d9f2e165bfd4dbdb489007d61cbc6aa289fdc93c9311b94c8179ac850879b741df5e42495d996f41fb1a631bb9cb4a3fa83a7649c22495a8de03cabfd04afad4b0d898cd06a0a368f2facb54b3b5c0b8c07df66ae90cbf566e27c0aff4ead94c454dd262aba16663a72b586ee2786445129b1f4357b6ed7ab4f8d758e22b3d6b0cf44376ba9ef189dd6850aa69a074e5c35d1aefaa171ff2cf76628d51060441daeae5587c187df3e62ab609ab3428a88e58ed15a54cc2371ebccc4431d57c9701a7c5a219840aea0efaa891a99809d2f5a373d2028b865052d535ce42d7b65b3042de532302968382b5cdf5fb40574372c451ed3327fbb411428e31b2711f2ec559a1eb38bcf43b40f64a98064d1fdd4574cf018afde606a9bff125702e8d4c84a75acffc83d54bd73b22fe4dcfe7301c2e5438e1d0b6dd440bc06169f5d1035c130f040d218986e43235299aea2842f04fd9500e20dd9118468beac70597d91cc4ff994ea33223f253dcdd46a2e2466fc8c3680194caac052380cdd74800eeb5d650389c1f0e05e0fd0d3480372693225bd88ac1ce978f06a8798935665272c6411aa0f082a63cec1a6c854c5f75097cba5c46ef50b30efadfdfa6dbf1902d1b79ac3c779e839cf22e6c45a69a71764777853f43f45cd52137fe6fa9d8b273d05b6adc6993ec8c271609e79b95c4cda243fdb7ac0e2d360dc25b80005136d107d9e8e4e953ac1c37c7bb9edd95a3dcbb363e71db736c1d543aee0a00f126be8d7f8ee1bca9b2f9349bfef8c38773e33a7e272adef8e8b4b2d2ec786d87d6f06f0a6f29f64194c8c46cae2cfca035f41513274847c8dadc380e061accd9eff6a214998d1e972e848be5ad1952f875836314dd2029336ffc7a44e3cc00a62c3f734320285dd8351c6e0756b65a99ddc301c373cf2ac6a7158b943a55366e115ab7c37f909f698ca8b7d66e9601966e8aef360ab9fa54a1c2e0d44d2875b64d785c428c48de80b68da0e6a8c2e05ca8450a92f5475e066d5cf901f82f1ec338459b9cbcf0ee020849713a9093fcc8fa719aeafc3092cae8c360fd94abe21d518f2c8debd49aad450699b70471c84988bdb46309a04cc7e2d241d8e1171fc5cbdf1ed063364922eea81bb696eaaf95fa33bb05df7b047c5af61f33bea5e44e16fec41bd6d0ea62bca60a059b87725c9c83d2bc2d7287d133596beb9b184042397d6919148946524f41c5928ca811cf36fbedb6e0e92b32a94efd47f563a04f764f5a402a2e91b10dd1c575b302b27bbf29e2b1349a307bd289a45381f9c85a3c2ba50f4d2fec1042023d537c1055fdd49a58ee44fb7078d8c45d869e997e4e8180c69340877345841cd90b25d114fb30c59c9867ebad3fa95dd1765eb57b241d38eb54fb33323b09661c6c9bf094cbee5941d4e81f82ec1e25477088190152512f7aac8114c87b9bfa78da993c2309ef2f9772ab41a06245618de12a5d10a55bec2b66f8d4b91760338cca50dc028dd9e075709181cc27c46953b95113aaa490e6983c217cfc56b3e4c0e412ca9dddc448751e78f8dc5d22c272a5823d3c67bcff3ec0143144f40b0da3c3bd1f0dd05d0314c33f5e5e1b183890b20c2276842dbcf58799c68d08351a1f9c2f384a99ed51c7e212e1c45143691155a315c36d6528e7eabbc118f33f348cdfbe1add598c51b61e16c618a689c5c96bf157ec75a931f2d17366aa2c55755be69fd8501f3237da6842cda5b4bb86e89b8b90e49a8bdfb9ce7243d61a6b53f7c59236d12b9c36d78327bfa38c181cadb782c68be9dfd1b217c8e12c3d7a2358627b114135713099ecda5e0c16f0e865db8be89711b678f339cd1fe6610a7958a7860f1f15abca982dbad74cfe17836cd576e877ac9223d46c5119d59f16055b37e8dd006983f7a38a171e1b01ec64ce6deb1b63a06e419ad60283ddaeed3ad1c0954a4ccdf641b2dbfd4424b212c30ce9e40cc4e153d862e49362630f68effb3ba5155434052830b76d4cc2e5078b013e6191801568d1675bb1b0e81cd1e5cd5b45aa2c88c85e52fceb151959cfcaea119cef9d2e59e95992362cbd2313dfc26279cb33634c457162d0111fa4513a0d06c89135036b43230f453c11054400dc65c94734b9428c45c53067c9fb4e8668e1c40c520f83260aef037a0248ab51efc1abc86af1fb88828846c220a91366668ea2f91792a2bfaa255f8dfdc4bdf1ac13493abc95ce15a2c80ae40042596d43b20b058bb51da546d954299ea46a4e0d175925212967067dfb0888621018bf537a608f951c7ed4032d5f7ff867fa72384e804b7eebdb3f185d363a851547b215d526aa028e30787290d995bc0ab8b2ea42b8f7c84269d9d910d711a60632b4a17959d4c2b12ee94b072c120128381e54d3c0879ef4a5f4a09112ab81badf3d51c39b1dd07fad3b5c24e9a4c4d02ec9389a30261ad137b36781326b1043356ab30d97da6ac4cbcc0c10c8733d1fd5bb10da7aefab465ce2ebbd34f5f24bec001f5d5a5d728e51bc382b70356249fcf78ff8a7465c918e7856f0ce1070d97d33ab52468cb7b1b0b65c12461f3eae6c443e83828642cc5dbe69086d0055da05a8d3d78d6267cd74de8ecc8c17f2fe1c36420c735a305f1775e5c96c6d1f2b737b1b2122af51a8a4817da14dbd97320a215019f79736a761c4906c053a4274e289d9c90831b40e39adeb1ec5e63b304ec1ac76ce51a3358b54a259148078450d150cb7ce99aedf071a14cd2bfbaaa963a9ca7d782d2a4c2611294c65737f9bb97de03dfcfa3c6db9baecee847415571ad0dc87a941a8bfc41ea44de13ee4c55e87f8fdeaa635490918d7ba405a52ec3e14f22cf7388554ee9474f08f546e328c5a42342e4d02a5a01d86331dad2ece29d286bd5cc9a3d0d5164f56bbbeeebaf23368821b237fe0d7adae44c09d466f789f120c8ca70a9cfc86578b11d0128b36df50b7d0586c385fa9a915737cb5216751aff710b1d7024ec46198762229407bd20eef4b84ef0174ba6f55cd93a541bc78d61025b157a962dae6efe7b0ade0456accd5bd7e2d719b27ad54c654068dac7022fed8823f30b13c8895a6315051e986fe311497d233823d19eae701a72087b86cd425e33e31f404b1234dd65fd04db0a3085167c9ecc28839319400aa3a31142b9a57bbc97c3e2609c5abc189a14ba8af699cb8ce35bbccfbf0d8bd6fbe971e8aa2bedeb867447730149a163a496e2e663355683fa92f259c70d1820a5c8c0e437a5cf595ae2d440c6a78b8fa0a775eb7b084b2be94e3428db0ac98a0762c521866be0a65b37d0b1734a97d82052c3d9b484fccc1173c93fc8a1bf9207eadce8d7739d4edcc22886b2c87ed9f8e6f7473a4c7bb797f08c37270ab0ba97e6e5c2242958c060a8a77f455be2f2e1443d8538e2984e4a8c0021efaa0d9f115d378d3020db8f01f6e47a07f9d9cedf23610728d0d0b01de5828025e582300fe468d3c53258408ba245bbb6857055b100f84f208473410d121936e23b6c8384f60749393f99e5b882627328f6aa0a2cc987651e247af992b614c0a9bbe8774d7bff36764427acb67f2d2dcf1699d7164748051d483b8a3716f7e6018c200913351156a10480a3510394aeda2883710c8c2f42fcd09c5767de52611acb9e9f0ad47dc40f5616ed5f2b65efa00b8f4cf660ab1ec7df0dade8d3c070ad9eb20338770b0bf81d8602a9f15f6b0f40e9551b142707a02bc81066e01e9e3a2aed0afbbbaa89ec50cee5b6b321484f25ce8cef9d32fa7071e89146ba29b12d9c3381748178e7dc6215d28baf00a8fd9706b3d0466f8cff2a48e553166338575aa9aae2440e3fffb3a4182007cf3bf3c74fe9e7d566c20d4eb291d41852a3823ffaaefeaa2b42731e74db98c4f450cab6b320268435282929f112e25fbeb3bffffb1faeb53fedf5bf4fbabfae723f3cbf7f8675e5dd44a3e26231b9fe8e4d972fbc900d6457f79ba56194fcae2e932562f27b20c092f43cc7815387bd1674e960f3f4e6cec1fb4455669a9e0761c063c01299affd5ee0d363ef08140b4d465be5ca69613136a5160c927b1e538a87fa4a37dde2ee52ad586003ce762dcd8ca473887293cbd13e9951b211f4837ca3427024470519c48347d6a74ff2686faaa00eea256d44afc1c81c946eecc430277a274de7160db2511eea2c5d9a8ce498380dae5f3338bca294a90e0e9d7a07ce5c9fb59492aa3cf457b89589584781aae0ab21fb077f44cde2e76b0e295b3f993503dc8971e7e4c28a8630ca857bd39a7fa7982e3d78e1e2d7de02e5ac4697f529bb484d46efe3d6240e2ff52b441845d0b60fa14b35979c8abfb0f93d68ba41eb7973a262026033d0562128c089899ff71f8c68ee5f9cf6e651070fa4b1099f3ca0953a48f22a8130c52b707d19159c7af6588deffc6c380fe054400c0098b3ba60f6cee189f31ed4e118bb334c11308339e37591b5bd838ac3624ae8a73a77a590280e7bfb5d1d2ab01ba9a0429d9af5c5e0569b6e792ce211c3e1bb9786afbc4a2cda58a2c71efdb58aab802bb3e28932d17a5ae89172dca2888a0283555aebca8d425f8f9a377b337f9b3c38c0511bf6bb98cf390d254476f70058daa723cce84fc0995ebfe12a9bce8a68fde57c7583028e08702c25bb60bfb2fcf487b2efda5c282b5a0f3a22fc348e9e4744b9f8341531fbb19cd96c9efe7ed0c0cdc51adba89a39c17852c2d41c767627632996b9b99c7a6e2a33037d42b839ade81f18adf2d2e6cec0f9503f273f3b164761fb9eacc0881e5ad0f3b84476d33c344301c5f01394df0d530a4963174c8e1bec6fad51fbc3a4fe90ce9dd27e0eae51e2843259bcfdbcd36bc12664c28385c82445bf47c65acde13fb22370f063b90b45cad2f30de845d98ae28ee2a43ff90476d2f0bb2e0f4cdf610c8e89f521bc9107af08fbb320aa9eacd7724437c7b4a8188526e8057f53430ff9da9435a43f6a6c8279c3455e3a004e0647c0879714cac16e640a6125e84e3b68179f30d462d34b9dddc544d6b3a464fd906810c5137395d2463950a656611ee5c2ad6962bd93fe1166ca13413c889fa970bbbc7870c2ca1106a33e41d9e32e6a42ca80774c8de40d0877cc8b638faedf688b339137a61c77b0e44b63ff4329fe36f0a6ada2a9edceec0d85ae958990a5809476d38cba1220efa071567e66d32a56e456914da40272ce9c1e5ecc2c9958a6a2b5e8c3f69410ef230c164b118b1dd3bb88453f7e8c24d6cb54fac0874c97d3017811feb47a81294253b02a1279d3edcc752bf22c012b9d7701a571649a14d96295e593c72f36f444229e5cc036e2180f37c7af6f660bee4367115842b4a33e4a2c7b1ea877719726ae8dc12aa1655cd57bc3542c6eb6221ce359e776d9ef65021b4529977e9d7b155ea1458c0a9360fd8bf5df7e48e75905569903263196cd51acc340614df297b9fbf0c41996d167cb21c859030b9801a0a5108e08f4a3941ba14200176fd8708d8ba6624c06ef8034a41e34cf464e5db4f1561e5852177d912bbbb7113c7c0dfc6b9f2d3b1562318e52a23185bdf651e1a0f52c7102a43beecc96ed66fa3ac8840c8a448e8d7afb7ea4924b9a042011420a0ab27a9a74ed04a885c5f28d2a4bbe991ecc4b4e155f5cdbd048c411bef1f0fd2a389f083a5d9e45b53fe70672e79cab80d296a53d6a063eba64f79401f39770f9fa700f3fdaa4db781597590e11849bcaa56a02c3f146409cca99a945db599c93a7087ca483550259d4e7e27500b115f274b80da36dd458607f9f702ab57d0af53930d1e2707b986fc56867d84cfae1fe7e2cc8a5490bd543fc79755dceed7d49644517551ed4bc120c9bcf2571b3a2565dff889ef7e31b723a0b62d1020f743769415c042a72d2b6bfb4e135a60b03e08e07d774c130248719246f0d07f80c0f3307f2f18046f76b6f03cb6de102507e82adc80d546562dbac95a9076decaf1cc09a5426d2acd3787e4efd05a238e051b71a62169d929f886ba1e3de1c3b386964f6c6b16d76dc6d85537b1dd524916139471eb49726aaf1e371cae6b439eb1202b93e5c4f30b68b796312d0682634ca55f2b7cce148de7337c02fa5a018e7a07855e351ff94605facf519dc12f10aaae15fb25379534aaeec0fc3c662d0e14d9ab3eda64281f2c8f2919561f0f690b7dd2ac5142071d06faea1b0f3da94f976893284cdcec580a372d082c24264c7749a1f77a61279179401068db49a61c8fac19be2c2634a5392d0c4fef7256684737e36eed7b9d820cb569f8a51a0c6580423e5ac09fa695a0b376b954c36e11ec6a89cdf3f16948d8bf53a23a326cd349817a32221842bd05d1aeeefcb5cba5edd43b97847c75835c2da54527562345966522e08eda6a638635e1b994be56804e9bcb0a20401e32d5b7f283161a803b2eaa828a994c8434454556155b32be83b6fc49749521c97a68984b754c11513d8526b9efb575e61a4cb5a98fb829739ae01a14ab44280d489402762fe31eddba4e2587765a987c446ab15329f5ebc563cbec9883d2ffaa30c351eb690d070535220a14438f3b1b1976ebaed9f2a459541699b919a4ce025afebd675b30d03a4a074a27cf7b9abc4edac1cd52e318933315f153ba0509b6acd3522c74bde6781d8726dbbe2455b47b8faa45836b41190cb70e0261a8c3371f8001a36c650652160c62e187adc0103a282a29f99290bde5de524a995292326306ce063906f24de9f1dd70d9cd7841f0dbef7947a940f1ba0be287026a1710bc15e206e2aafe6efc85f8b95edf07820ab20341170cd7051f080f05f45ccff5b8e7f2569293430c66384c2a8348c6ff1c8666443298be07870839362eb042638cd1e64b0ddf79d7bf082f202315bb0748311ea101458694233ad0f460480b8a8c143244b81e2c4df1320445a689cb21a6a4a6bb7b8c1cd9de47d8789863f4018f18481ae72929410c213e65e4c52819398283255b5e708331aa24f5f4e8f01d6d47eb74e8a030a6e388861bd8e8318038cecbeef21590df110d5cd4a2eaf8e2db10c6f71e140074fab1ebcefb27c228467dadf344e8e80ee8d6ebee8eddef3cdd82b0fb3fe8d68b31ded7addbcacfbd8bd6716cbcf4ed74126f4c58b85a594b5f7ce842ff7c5321f5dd1a2d7cf7750f5d3fee026c155cd044b73002a2da62c9c8061bda708c3042182621381d279c2046a9880cac3fc4111bc14884114ad842c8711e3d2ac244aa043148358a2a0e5cf2cf0aa0f8810a198e94b18417d48cb5cc51628c25dafb2c218c14c779344bdcd3ad1e12840b121e8a40824a125b5cbd258c5113f16be4a7c4184540efa9a4349355d22b6906848537e34aa04f297e2673bea0e8f188c7d44cffffbd5ab24a4927384eec21bd9cd5eab5d0d4420c27743b0a204f0c5daf7c07050fa76f2ba78577a3ef900e90e9fb4e6b9774baea733bb26e836633723960e6eeefce63c66e53e21f13b52e25ab84bf7efd1f32c5701324bfec8de929486ebc7134e4c675bb2137ce6a0fb9f1497b921bd70c89fc38a34be4c6da7422373ec9292217b9f1e9a70841466e9c390cb9b1d6444edbe3d72437d650539a0cb5f3bc294088911d6f6f89246cc88eb35c7b6341ae3e4376ccdd901d6f53825882c37b272008e688b618e44a2537a6d170901b9f7206a631fda330986290dc78c6c372e35406a2ebb63d7e523cee9d8e9aaee4c6282ef5bd06787f1724bf5c1da3aee41397fc587254c84489223f9ec9356e8e6b18b939d69c34e5c75cce58901f6f99d6901fdb3c93e4c727e9243f46e55a37c7318947722ddce6b8bbe48ada1c3f31f9712ad7679f6dfce3d05ff8243b9020f28511490c01238a961c90e43094a3d5c00331b0410c08f68396299eb80285ce2bc2e5bf3cadf39698c1128d0b8266e8ec6fe69ebddb2a57e51268720adf31e4779fc3167a0991343d2e39f9f94bcaac7bdd647aa3ffcdaefcb17fb3cf9c76af9becb7ffaffc9bddbf59479ffa9d3c1e9206c347f91f25171fb9f8c8c5472e2cf4283912fccaff7f29e59b5e9e1cd201181051c41418115398740c8914244978500cfe65a8e225e3f23baa618c2ae3fb7bfd5ecb0b2f7d3bcf5a544ea11f7cefd5f958649c31c61863c4d035ffca7f7779c3a3fa7c6752977445d7bbea6f12bbabc64d6e123e9c99d708e2adf2afab83f01b56a94f04fb8cbe0065e8654c862e38e5941d7c7428c2cbf8b95dc7fbd652659b1c2331f9de9c9c0f781cf0260e60441c9a4011510d31031aba3802065d60d14e6cb122163d0e5d78921b95e40041234d20f9c1094d4904c8f002839831cae88006599818020919473530695b7e473564c9af1ca37842d262d881d68a032d92df065210152088132272e3194e9072e39513a5dc387392456e3ca38a93327263cd06e92237cea6f4d083dc2ff8362437aec9f5e314253ee4c69b0cb766dfa9a0bfb7822a581fac517a43ac5d1cbdba79bb10da3c9cad5bd5ce6a58656912fbeed33025fcbc127e1edc9230c0864b14718bed69a453df0d54629f95fffedca68f37d8bd2e8567a4a50e41bbf7ee03fabe1b087b851248b818701e7d59f04ebf00164629bc0f700eab84bef0c22e85ef582440d6c797a7127665bb65377777f716c3c90cf9756be8822aea1b53797362b7216cc39c4a75a963ea16d92b986ceb14d92b171ad5cddc566fb552915ecb2fc4cfd539937d37604db9f36b0281f53b82c5b2bb6b32c11c2a120e6c2dc3fec7805f8677c36fc5df8277c32f0d7e2142f57d60b9c9d4377553ddb1ea4d61ea57d5a5ba294d84917b6b623721ec16448e54f74237a0885aa71fb6a542502555dcb922f90ebc34be4d26dfa94829dc34480d5f6f395480b9f3cb85acc2a84c83dfd1111af28663e6f05322a7b0e7c775a79274aa5329dcb9f6a75241bc4c195793d585c1ba9ad4d48d7b949d8142de578d02e961487fe1ff73aa9bc22f77033997e3558099866a32ddbe34dd0be61acea47271f8e514ee2cb1154c550b04c1ef09d7d8bbf1c4bbe17706d71cbc1b7e210e4a287cb703c9ff77c9cf0446fe39a9ffffff7c4ae50ab2a432e91346933d5c3b8286d21e462d30b1d0a36551685da7a35b3d9c871ad3371db2d82b3bbca0c91964ce39e70d541a7dc0338bccd9840a3292c81cb1851046b8664b9127d3131a934a95c1ca50c50a8ad440c50554a2f0a205082a5700832ae2c8198285072e90924a2ab5eba343524d13e37d8c7628a1b063ce30c5380ea5118c441841686a34891de4e9846b1fa31d4a28ecd0a49c474320a1d17a2acd3935296f7c8ddae085285ced49e4013da812c51335108143916be620cf6b6fc833499ef456aa518d669d8e49c3bc21cf7975f8a0d0c3a75b5062ea7e2d519e1275045c51dfcd8b864886cfbe28774265f75de85c0e1ef3cbc70dbe97a321d46e778e57d958eed66c8b9c76ade4b41b82b5f1ff6d60dfc5e15fff2397a37e73da55f960fbd679aa95831c7e7ec24de6ad0dfb395567d48cdbdc26861984f0d10079ee3ea594af8560b39bd59b7139eacde6cd326e022fab1aa7e3ad4d0896bb1b9763d3e6ff4feed5a1781a4a8d69109a29778a894648eb4c1a20adf34042ada3ea58ca76866bb698090aa5ca66d05c696c335b5c31c42f4f76d534cbb21a1b93eda26884725f6d036a10fa562056ec8b66a8758884d8b80968f9553e589bfc5d1daa43db8cad62f86c6646b586289bd3bc5bb651b3839d4ee41560ee4be7edd93dff8ed210d1a20070a04af6bdb21a72df17722e5ee885de0d1d5818eceb85fa5220304c8e3644536e7cca60a0489c0a4a1ee5c634f106b9b1eab3702a4ecaf490dcb8c63b7adaab548a98e4c62c182405c98f0763585dd0901b5b1b5dec901bd7a8d18594dc98a6f1aa0b2bf9f1aaa60b2fb9f10c1a5d344d2f60d40b28b9f10c8d1753525e3c911bd3349ef1e24b7e3c63bdf822376635468d21921fa34e6376406d8fb96dcaccf6b88e812235c64b6e7c73a5f92288ea0b1b667ce1a4d2f802a9e68b2fab2fc6d4008305366e6081e1e5b16c1e00c0a0416e5c8068840a2d51b450692d51b81631bf052837c6d207b90589dc98c6d76ccb0eb4faeadbb69069265704c93356acb02fe4c6365038e4c6f8840427456eccdaae8021b1b8606229ca8d71ae14cb13b9b10d3dc2b2456e6c3363c8b56621ca8d6d72ddb250c98d0b902b97458bdc3800b99e9c10ca8d07902bca8920ecf6f83901e6cdbc94135572630124a9ef77b44eeb3c2a4d604a7a07da6074148492dc1da93409234ba32c4e98f20b22c90d3d9600332adfcb9eec46f01dea7287ef8cf070fa2e21b55added29f675738c31763b7a48cce37bf0f8b1375f1ef1b698d517dbe5e1bcec0282cbc379395e0741dff7d8ed7837da07dbfaced2e437250694bd5b46c0f68f72d24cab1b7742d999148d6a068d9a550d1b2c1b00044000177703b82140015aad8ba30b40809b0174f80a200000b061d9a8b1aaa1314345939ab1a813b7552da353c6f796f0a14c69d13a17a822e9518135c20ca1755585910d304b582ddc971d10200b1cd0b8c20a1c2dc0dcd315466afeffafc8afc282071b581451638987d51533488121c25e99b1540500c08471f36586012c8d618999a146983134b088d1644185006086dc8489ad3221f2d708c364d3c288150f36586200d26931e566e9881a2cc89891850d95d2b8a229f5a54ba55c90ffaf0cc8ef0808a13c93df942c86d89101020992df0fb96714911ba75448b9f10c0d520e72e32d85042637b6335590bec88d5336283746a18e9c98e08183a26d8db7c75b634e838263424c6e5c691828a0dc5895abcd020593992660b91f7f133fd06c8f3d372145b53dee586eccca75c6f6f855b102f468bc9a2a4d84c98d6be41f877f04a88817fce0650a2358c8b83aa9488eb5f7deb41070b518a2245179b0d9e0cee440042b6a42c4862c6868c2010c363819ff1de497403a5ae4a60c18445b62603ab24443b1e54a0da478a55975b44e2a8caa44f33b5a92447edd1c1b4629a6632e9122e577ce07dd822871d0254eb2f9b5bb63902540e4eeee9e9e133a50bbfc8e9608659bdf910f4d428c40255de433a871eb921f15255be4c63349da5d663183eed1df47eb35207a3caaefe6f562ed31aa20deb410c0a37aada7ab1d39ee50c7b1afa5cacf837224d88cd3df6abd568c0e9f9f60ec97723efad08584394a3f08f143941f90f8818acf0e1494b4e8a3e3fd63ffefef46ee3e3e3e8e820e1f1fbe9c62ac023f30cdf83a7a647ca5181337850e445ac491e47ea4039499580126423148c6215c5038969490699c0724c40812253e08d1382d77f8a0a063ca215eec3b5c22d4388f88576009cc1d856eedf0e99615d267881775e63c258df3848852011e900863079f8d881530c20cb590eeeebeab25b97d3cb64309051f1c3ef2ca92221f231fff2b45c8c8f9603527de81824fb760cc48a900f91d0d29c31e518164b1a21cf1ab77adb53e7c553b15bd96ffee3d9c6ee8e2407dbee326c032416019975ff740ad21d88e13625f5b7e233c915febbc6cde7754dd5976742b63bbbb1bbe9ea7d87139a494f15fbefa37abeca5af1c678bf6b5cfa9d1fd65cecd56b54dcbf30911870d3991174931b2abdbca69b2ab3b94d352f224b7abdb72223c3349488a11528cc7fa6de5f024c19488785af61051174931428ac16030180c0623222222222222ead143441e976030180c06834125222222222222a22558fbcebbeceab6729aeceab6726030180c06834125a80495a0122c8241a526180c0683c1604d4c4b4a49b18e75ec197132d817a5d6ae56b7d5cae16410f20390e9967c6726c5a61c5fc877686ebc4fc47752d752a8636fbc1bd441dd182f7c0d9871e37da83303e3f0cc33f0045e9e49277aeab2dbbd7e328dcb9df0e9ce98716b16cbd93b03cfdcc79110b91c33345b2c025f3a5d1a3ff992ab09aa530d615f56e6d3e9d4fdea842317f4b9fe76c29e7d890b3ae1ce8f6792e3b4922bcd608f39174fea565fa51386d94c9a5da652b7941cc72ac10b3909d097c5af29e545e1c31e26317d58d58650a6586e19b9512c463353645f0354b7afaae6f65da5ba2885695c1596b946be2a55338b6691aa26a54ad5a85418e69a548d8a064b76b52486064b9ec43917dff2c40bc15e5f729c7e0d98e1a8e4ecd2126739cb598ee366f4189534587ab5f292188fb9110d966ab669ceb4b4d4ef3dfa51b582ea57b850d6026be4dd10ba0dbb55b0d93ba40a871adec0199490d86ebe7cb9691d2f52dfed6204a73062a900b2abebc5cbe6968a2bbe3516fb4a1a465bc59755dfd796717ba1efcd2038203d78efbd6abe4bf77f77778f2a15cdeaa54f4a7df5eebf3974d8ad0efa4db75ee7effef03d7fcf350ba4d677ffeeee77f8a23301ff23192da86ef2ddc82127a599a6651ad462fd95cdbd9999e9817ddd8a91ce5a371a85584ab78d7233f2d03963150e46192977720f3a01d9caa017b6a6c595cdbdd93af0f7957aa97c685dc13bc093555b9708bc565f9ed6513dd8fa8725f7f5e181800396c8cd8376efdd904ee4a6c91282141611cc5c1981b5d203d5840a272656e09048b0d980855aa504da1226c8a89c804e69611ea1402a9182985b0511f001811f3c0f7041ca68c34346adb276f52de6446e9ee885ef86e479387d43783b3d98de941ebec3c9bb5a6d2db9ed3ae035a0deee86863d77aeaecd1cf1d4f0fd4b8ed3919e31a18e0383d3895b2187df89ba692180878787013cefc690e7ce731ef128cd5aed69503972e4c8912347203c6214abb0fd3f8787e7a3f49b7b11d092b09dc693bc9e835a657c6fefee7e3d7c2262d031c61823c9f3e8dfbdce7b672f53a64378ddddaffbb1d0b9bb73252726dedb9ac27763764fc471bafb851ce77d777bb7c76fb8bd5c79c7f7ff17df7b7bb7cbee8eedfe85fbb777fb77f79f3623b46c6bb2d0df7b4d3efd3d7fcf050bef77ebbdfc1de7dddffde3ffffffc7fbeeffde7bef7d9c4fbe302cbcd1e9ec8cfe6bdbe35ef752c1d2068685d761f9ddec5fcbbc3b2119b3715a9016a4059d5041282e880be282ec0ca43c3c79f2c48a2741d3a7438151dedbb82fcab81c2e819abfa3301e402762e3b4202d480b3aa182505c1017c405d999a22965f7ec0c8deaa37b4144f487924aa5dc693e3a11d11f0a8daa0b212a958a46dbac563366cca8812a6b69703968b8fbeaa367098afe50ea49dee85a9e0d76bb0fc7c685dca13088d3f70608758af28bc26cb0c1861d7a47de772dec72d86e15b1f06e61acc81bd04109243b8841e44593ff47f2af83e745d313198860a902031628298dd0031619822c2deda00a253075b342092ec428f1e56610862499cb6f0a0c469aaa524cc8dba59616645a8c582d4aa4965f162d40e457ce941aa79528fd34d6dddd2d7b62dddddddddddddddddddddddddddddddd454c2932c618638c3332c53883d821d1feff01cf9453ce3a7bc418638c7146a61893687f1fc1488411e29c73ce19639c73ce39e39c33ce2865346afff699734697b2ca1a638c31faf4eea16559ac1c35fd1e2c4c2dcb84e6fc7941104e14e1e4c90d74e8c135abc8732209c933a33de6f74d0f9f6f81a926bf2c569ec85c7e59ac50d15ae70555b66cd92d82d3fcca69a2c22836cb54e40f40610418314c2c21513445c661a5081544f4c083234cb8de7d2a9f7f2b50ca7f5fde7f2dff4bda11b906bf4c03872027735d0a106b5707bc3ddc8beb54770647d7dc4724d7b827ac82e79a9c5ca37329ade34b481ef3a4ec4a2e28e5971ac76f00f02be14f6a9c58e3f8dda4b0508a90500a3fd73c75af9fa27cbaf0d2e01cf278b13c1fbf6c839f8be338cca3c7b4028aaa5ce1e2077088d4d43a644e505d560fcd9db9339d8f994bd3d9742e645ec840074cae26f3a670f40cc3d6dc1a1838ddea5c8e53c761ed42bc69a7cbe1970e0afc641af78461995ce176a2d13da3d329e765eee2f0cb6123c761e1cd06a6f472f87469600c70f7f4da5238ddd367ce68a663f5cc5c9a4b3303218464e0cc899b516990a81d4590fcbab9cbef28a805b7cedca5b9349d0f9a9ba261f5a4aeeaaa3a1faa9b52a968389c820aa83265cac8dc7d59de14067acc09ab0033d73f84641e3d26859f6b063f97c5aab6df04a5c4be89ab496265e09789ec422ef4fc4621df81521e4e93ef7cece1f885525657929c4e27ee0d103b5aa2c9061a5d31d95d1c6c4a6a9d5764526a9d1714faa5e7d23a8d45f60b855a87a975e6fd2eaa974d7e7d2cfbe57ab0af5593053c6f18debcef16dd9e73e17fa60bff738a257052fbd66ef7ff8f314629a5947393dc9c73cee9433eb494bba88b9a9aa01134824279be709a40d73701effcd3504a01837143306ec8c6a7f7c1ceaf29e5d6ba34089049bd5ea584d92cd3344dd3b45aabdfbf70db60a725bd3fad3822bd57c8a4de8985aeab765a9778398ecbf13a26f5fec757b5d389cbf128149743bbf11d42e87ea35baa69f4c22c4349aad1ec52295d4619a9964dfca8dc66a413d6429731dec74ce4ad5c8ee832931266395288678ef8bf061675850692b3fb6e5e30c32fcb273cbe03ff52f9c4be5b1ffc3e318144be033bd6f3db032f77fb4217bdb0e8478c97dec7f2ae87fb71ba3fb80b4fddfb01e9e5eecbd22b8b2c77e3a50b7838f4524a29a5ef06bd385a3a69c177e2a53999fe68d2a70bf443bb9fe33bf474e1ed3975ac7761773d5a572fbc266cdb8f8bdefa5cac77598099d5b7275eeefa8599f5ee8f263ddc8df74713ef7ae2e5ee63d6eb58dd65205eee9ac05d134e17de1f128039a75bd475ba540bcb7adc85dd8f263df09eee0fd6e3ae09a71fd7c7eb7ee76387ffb84ef7b95e36d31a31eb41dcbaafc47a1d2b03f0c6db0363e7a3c9eb7ae2fdce470e8fe3d0ebe3c28ee6380e8df8b9b222dbf24ac05919b82c13e08def722b6ab52ec77168fce9a64beabb79c1587edf80e4f7e37ad9e7ea81f75f2cf76f01a42f8b848e953f1b19412318eb32ea0a16488e973ab13eb3e53b2beb387fb3fbfca3c432bc699dbe22ffc5414494fc5784de81aef7ecd33aded0fda482aff25fca637d87f56ed6bd2ceb751980aeeb6a15b1387ce74ebf26fc703d77425ff89c06a00bde273b7af34175057959a0f9affcbf579378939dffad1043db3ab0839da5cf1fde875dcfbb14422ef605bfb9137220770264719d0fad8346ac1e9a753ee4387e69f7e3fa7155c8995033568f76e98fab47bbb4f341af66f4f221e86a394eb762f5bc777f5cf5f1ab91548065b2efb0deaf0ff90eebef7301f11dd6771980aeead035ec428ee3b4880502fd7aa422bf1c4873b1af5baf9745cc98cc42b348987d6727e9961c2052762c736cad050fbeec116d482084dd489c94ffff18a12c9d92b81cf3cd6c524a849123284d1a8a4895313b541943c4890e8104064382c4881128468c102162c4881021508400018102040a1014203264c840118222048a10284050809e343d21f384cc93314fc6fc67b7fd09fbf965e5b5fedb9018f9e597c6709377e465cca5dd7b2df8f9b5d8d9d1db36d417eccd4a656f5a08803160e577a445923c93df91164804590bbf7831024c923292c062075783c97dedaaef6df5e3200ca23e184294f7c502ccb0853baf945376bb4b1ce557f858ba74e9173e4edec7f276b7ecede678a43ebbb26193830a437810c2a696c25edd95cb1b829d2fcb602ba7151f528cb675622c2a8a0f47b37a3a1f0ac0c11110fa51baf531461ef2a5b0fefafd71d5102c35e237c64829768c83074bc4483399496fe70d3d9cbeb587f782c87de7a38f939d8c1fa38c1fdfbde794347259c7c41dc73b4a77784848f3f546b9efa431521a5f46295fc6881f060baf66e4387d1dffb82827bb2f7a4846ff45108b8510ffd0ff50ee2ffaa2bff2c6ae069c86a8548dda18a574680802000ac316000028100c874422390e4459220be90314000d5fa23662604011c6c2e11847711c04310cc4186308200628630832cab1a20a00fa7a758767a331b67d15de5a299b79103ad6b96ee356a713229ddf50b26973b444384c5fe191d51c8545328333bb616a836fb04459bc018b0475aaebfc9813cd39618fc9783f96dd6d97e1370dcac4c5079f2cb832cb2cff4a40d15175028a63665fe69dfe05a27e9f52f955dbbe7fe1060b686bfbae8a8ca4bdf5a61f33df54f8a035cc367f9bbe3f384086abea5920b8dbee34dbc6c5576393642e2a1a8085a2bb821bca660c9365b01e2d838161a48043db1482243d4a8af1c1ab095109135bd278e8b39830ea63176cd7ba40c4076d98308373110ef9c5707563bd7821a5b635c62e499375502436fb3cd0166692bc1683f3982fb31bc1fa954bf755864d229ce24a5440614d8e1fc0a6fd34412d3186f7331ba79cd284e7ac383d36b6061dc01d8edca248b9798b253a2c9dc4bc968c57944ff8ad53531257c1b1f114205232f3a2d0a3a186f233691b18b14aaf72b119513abb531691b28dc0d6b92fcf91035cf2306826684988221cff892e8a345e7e22ccaa46b94aec539c38c637c01788d17ba466fcd09aba63c6a3d704690fbbe8453c0c38b75cedb33d84bd8173f27a049c340c4e6f258d3656a14c85370d3cc2afc35c6d2c3ae340758348ce91a34ba2bc4c64d84bc5c6425fc5ea81318dfdd558e8f8e6ccfe2fa845849ff42f530e8139fa5f44f31b2732ab98e0dcf3ee86315081c8706c6589668c1eb2f4140f1befb196e6ea4c04c825f3c11f024ef136a5499316576c58659fdfd6de3321ecb9395ef361419b7c06019359eee59aba07c8f52d7cea104bf500e52838d2b185190f69f0c0309f19bdc442b3216aab19f3048f17b7d2c2ec731bee4e8e16676a4fde07cb20881e7770a534353a060b21a7f530d669ed48dc04d6fdd090dc12779637314f1cb46405f3f1410d750b9fdbce4386eca4266ea9288216be816838160cdc2022ee2b79e684ff65e4bda53cfddfad112cb5cedebff5dde8628480d8bd1fb9d52d4988194c01847548247e8c00cd623614f9d5b979a19e0959dcb135b21ff561a28e82afc7ab80dc7de564f89f6c7842359086838b80d94b161d1ff0f3749c69329afc5cce03260af861c9172d8dddcdf9308bf62208e6e9133b67fcc88752315e8b8022b460f9630844b18d7b388d3d7e4fbbeb53e36970ed3ba006d025eb71ac8411ec46ec75d1fd00b2fb2050bcd6c4ad55b6368db6f77844f59b28d86a77a0376a3b016bd8ff7082687cc8b36071aaf4c7e4a6a1649ccea3e493713a46a0095801a8f44aa6eeb007b5a459afd432ce4a80e71ec1c61b2f714958ab15cc42c1864479ca7ebc66b2bd1ac045af0a23aa9a4352a0ff4c7e6603666761eb9c72a901f472ef29b5fae0558c82be319fb459f92be65e213666370c20254e7da3952a2a844e7083e8ea25b71b2465a8a62e0d80a491787e214da98bac29b9362ef18712a32e5114be6a37c24b1c7c10ad1099b2ceb59646a2088f140bd4414b403828258634e0f3c65fdc3f1af88ec1cb824c418c952eeb5fb1b04de42c2f81b39d749a1ee268a3e87da56d08a253d00ced56f846ad232e84ba07db022a9f80d41dd579095dcb8892cd216fa9978cd3e69e66ae7f6b5f2054af0e28d6f782ae2ad76c16f0f24972a2825db7d53945d0911e4ca74411702707e0f459a4f7ec4339720c0f13aa4395079afb99d5b66f0c08958948ed624f8ac2d5aa0b36b0f18a0ca7969ca95dc852d6f56753162b53bbd4cfa14126e7d60430182a30e856998efefc08b63821d789c075f9385a0eb9229ab0b65d922097b6b5985c94bcf803a281e6654160f6a82d2e512854cb37a0b35630b54b3bf1071573edecbaf0a221c5df976c3a4410622e7ea5a601ebaf6ae3f8ac9c62e10f3af56e8d63e6908eb30b348c4e82ddb63df04b500d1bdda7c6912e92597cb0d98528ceff5f328411f65dbd9d8eafb40d13770a46104c31f55ead59f3f13dd46a282433393aa69d78dd2e35035510caed02a09d158621fb3b254cac90aeb2d42b84bd90b3ee78ac16c0122a24aa35205866b8e8e6c9a0957b64cb35650a60b660984dfd6c66fdf97120834eae7cb24d448cc524ac8c09a8dd20904b77b112148cad5d2c3da977dad1a2b13a6ad3940acf5a631da11d50ed123fc79ee7a4548425e8541493281dca3b0dfb6d1c199e7c1f3d750eda1b9a1ef05b9e073f9a79c1ea8e747dc87859c8876becb6023ff4b419a1e393954ad01fa8251011bd2ed1453409d2689e7be522e8f55cea87fc602b51d61a83488fdc182e10d216a1d8be23e43713cdc53de238da5174f2fef0c7679f3d709cb08bdbc29ff62a0770ac73704eeb91187717846fd000319907bba24df8e7885d07bb14aeaa56a002cf5aa66b6ffae413ca3fbf527e5bdea1e586eee6de153e10bff9e21833b10e6242ab30bbca5c420439263fecbacf2526040f390d0e6e2f19d64be89c725c9277a85f5c44418aee116f3a18683336648b4a692599bd9c09cced532942631ba473097db64fb39763903c96e5a203f4bd9a9b843d14f27eca41c4b31a8f9980284cce2302c6e7c050d3b5d0b7c9231755ee5d6374ebd0400c7fd5f3b5bcee8f47a918345ec648b112027132d72d4f89407b58d826451df0733454d04ccc6e63b464227f99972f208f49737b616359d7bdd0504ec3059037a15db02e5f3a3ea6ba6ddcef8643fd2517337e67e1aaa17150c7f49011ee72f0d1f5e7bd5038d3750bcfc8d12c1b694df6bb93c3774496b39469ac37ac7b542e5a14d867dae83668a21afe52e988f64bbd3ad3fc52ca8a32a829219f2772a1820db43c1d82d389908f382ba2629b9526dd788abf65894c2b09e7630181cb185aebba828dc087e231709850a29f2fb068651cc29d59a1dc376a6638e0bd366c6b2117e29a37d3506f0a1d663de288f07bb901170b947075c581c9fe3d917f015110e60d43b3037662acbb471d55ce602ca51a71b4fb03d2aba58de43b8fd02a17c801c3ec7ae820fee0cc778914c0a5f4a5957f251ed3dffec8f05dec1405c3afc5fdd851120a59089378c1db5d45028836ade906319c037e58803d0298d913b93203f2bc05da3ba10b998d84c77578470ca07eda276959bb014bdedc3958e29ca939d95870fc6376cac3838872d98d8afde52119f384b66bd4071167a0cd2757ab2d2f78252a361e730df0a3755ee471a2a1b1a465d4b96aa48cbb0d9a96a69fe581e12545fb6e2ec1dfd7bf7a21d92902b302658e47c6447a7df9e523510923991ef0d2d1441a3abc5e54986cbf850e5ba93ff87aa885d211d69c8850a1438673d64fd0b2239f75f112ceeb3205b89851c7992b9f80ae3ab521b446a316abf6555659fde918e05e6a0aa1c6298cf9bc06255b98cf0f336dae231a7aa0f8247220fdf61dd35ce91f20b6251f187557083ffc5845e358f3001143eaab6cdac7f5efc1a2f08c7bdd7420b0d647034d92157c1ee38e2137163bcacf7378e827744d8d1ce2b7065a5f31711743fe794b6813136757723d2d2518a37abb85adb7acf1bc0a2d98de1706bf5b3c675c609d69bd1dad6fa58953480fff11fad15a80f8cbd029c13d67598c6043b1db3f40f485d5617e067c1a40b3bd24ad3a28e1014a1a71253eeb7b75ad9fc3563763bd8b0f740799e03d1521d5f2c032b570404b05f3d4e0b04f5c0bfd41e01665f78511c25170df805154b26fc3c2d844e1ddda56a2a4031b590af7cf5baa55e97a2455a594355ef12ac29f5a4d38b30b0146dea8010ece8a1944dc1c87e75bd64e61fb399573a21cfb19092e462b6f112fa5d44a0c755d7fe11921467e98e83388912e62b1c547e5820049b7e1c129ac0f56c6b0452531d8efffba21cdf2f6410f0d4b92ca751d1c4b7751200ccb3c1b9ec2992cb19d087a4f7164156409fb3dd2e2859f196b3fb1db1d2066648a9327e3b26fb3c71ca67cf2274e2098d50e780b994b70b8726c0ff4b2b64516f52eb330cd6ab3a4279144fbc00fb85e07860b3b3f435d746b5fd59cec6c7000f8cb6fe287c00240cc67708dab8f7385c1f282b07b5edfc79d641252554ec306b5da9dfbf8e755623848047ed4a48e19f0a5667aad21741691dfac9bcf4bd123f51f19acf0c80241ee76fd29efc4c9336dae415f6d1a6a83b5f8864994092374399b2afc184183ab98868cd3b75fa055fae95ac1fa60b9fd8495af00ff0c110767b025c363120c68c7c84884572c61357d2d079644072f8a744d1765091dcfbe4b6d955b0b33b20c0f5a3a97e17135f418d1a6ca8634cf9d0dc0426d10eec92321b3119256b7031f3f0258106a3916604170137b33d6bcba9ae9297d6e876cfc99b2e2ee24415e61bcb025eb509b786f4c3468aad12c33228a026ae7a6be5526db36c6eac137e78917c50acb8034f82e16dc3e21b111316d0bd168cd150a3e373380717fd72150d742fca44e957eb021361bf6a0f1975a676a1dbaff57967e2ca07c895f62097bf60723b93da08eee706ecc65a61b9831c5384fa24909297e936d71dc6d08c2def33408eac423b2a6ac679d986645c6284a09a96fd63f038e16be93a32127219279a8a2493667cc240e161e81a1339da1cee20193d1a2d33bda728afefa2b8e08b19e48b611f6b71588a15633b55f963c8cf012ae480bb8c308cf13edc3ec8111d852235ced12c4394634d2746084116a985102fcef6010e619255463400cf580d8fa5914a9c4ebb61b8f255d9081a0c348c39e45237ef6b376815c7f837dc1a679eb6a1f1c1beaa948ee9261661855756cb23da6a2e524506cd82d45c11b6d5898ebc240357377195c24c1f102d6ad546ecc048b0f1b6b8dcc27dcd27b12234c1b803b56b4e215ad02ba61934868ed34d987828a51214a1be8beb1934ad5045c735e9ada5ede3baf004f41515bef654223fc419322377a104ebc3bac94ea73d99c92c053daf348bb2938d8950fbf94c1280121b4a5ee52851751d696c37d8e17e9bdf85b83c79df34d7dc098480cc706d1064a76dd759383a1243b45a5a0f679e64d72d412f07c4af72f6be2389965aac9a4681ea64463982757c7f1376796f0527444e95f4a789409ff0abccce8c3b4999e000b376738c7b27326b162e82585f18d57bb57d9c47e7d176730b8d8aecc0c877795ca7c522faf861fbe20ea012da0cb671007fc862620a0b16e3ed7619221c760f7e9df9a67054b30f3886f12a6458177a7677e4f733e13b73456d0ae9d1e5b770a84e578d16b9593ceb8cacdf62e27dd641dbd76b37403bef5bab3a3a4c7369d65c16525985c72ef2816b4f2ccbcf6a245ab0884fd4d5574716099767afd91bfe3f66a9044471e66aaa4625f5e068047bff8639bac8d3cdf476087f45c8b4f8ad8d52f7b577b73ca8c743f66fbaa05480bbb46cec14c2c6f09992be9cf8bb6d9abef51a729b8a20f97abecf83842c4b28b76c47239513b755cb1bd81d896454b56e0e4e172c75528088081208041e706cd151a615768044d41f6792f580d052020148021832fe4195e3ea3be8222cd42716ac8745225838b908297a5559c9a5a6f844b2e82214373dc53637229ce9443e6a667427643354c518cc1475c8fa5d992698f2e8a85ddaadb9d9a8e028c45b4c08146c70fdb7f11c20d1b23914d3964455d6e4285659bd7578cff227fd86fa839b52f032e693a33e21a05c15e15357dcc2ad1a4e56559699964ef0636d892c4766853d008bc15f4f08dd8a5ec3a2f849be610b49099acefb52f8aabb059a525b2201eb8b300b80e034ce00110250bc9bcff6ada9a7b67ec90e9dbd421944edd5774de970d19945ef33769d7c4681fb28ddc4e3be5f75dc2eb29d3f6ee515ffcb5249911a500e738e556b1d4c97d85b5000800420ca686901ca874b165ae45cc273cff8c2550737bdd29cd12732bf9404c8250a08f51662d1a037224beafd89c5105b19d5fb5a53f1f3d98f96a63a575f47f305bcb71f5939a591db731069203b50960182d9c9043ca49b9942cd29dba4b0e1ba6f1a0776c0e56131d7c79897e080a0a2f193874b1e5d70064fa76c04c35dc7a652800818206b3413c1916650ae6ee12fb924bccc76be30c44294602f49a9ca7932bfee5e1a9bad9da3daf91ba80364e39aff2d4cbc0eb5e5e66532fa58d2db745796a4fbd5750a78d2ba56fb01cefe4166fef642ee7784ecfc093473634e2efa9dcfe52eb338faf9e428cf50315ca0b5fa14570154a9eee91a7f93c4a67ed8acc7de4d00233ef0caab25f61e8fd5078fcde7eb2d32a812d4dccb674c66392701d69b4cecc97ca3d7e5a1e7a7805350de214549fc258a23aa5335eceeafb210892014664a83945bb9a2f8cd20c5c9aa71ae0f3ad4d8b2eeab565f29349e69c15bd0c0d921b577823ef4723d3c927612ab245a495c850874aa12e1fd50917f1f1daf1b8a9935297de74f8dd28d111314148690cf84ce2672e7f535af1c8b5f7a109142517b4c00c8f3d746708a9b0b891737eb001429e4e7fa503ae98732ed044f537d034d4a07b740f50c5854192237a1211c67e09261c1e09d7703b811b34f0ccb834d230b121c510b26a10e6b3b902d694bd6fdb99485ce03dd48f8f16a770e0418cfb311b64f33a45f3b3522030d5cc1aaaeda5ab97c05b359f1be04179792d8f54ba5e71bfa044199dbb114ca054ff4961ec11f32a19d410f0c6d91912e3c454d5868bfb19cef7446616c165dec9804ded88531db8f630d8be3deaa3ee197ac82b428121b49d171cdaa078d5777af7de5bc10af7f5138e58b116c781a9c37dd52ac0f64361550ca01958be73ca9e6c88b60132363ed4b515d01a2641bc064a33226da52dea09c16233fe6e5499637455be8c65d10a23aa6cc8b4c33f21691e3ce5de9f01e11d033be2ebe6e7e88f47813df8bb0928e38be36ff2409bb651d0e9012a9c8cba568c34034c90752bb0bf050f4e47734b050adb4ef0230e4da2217573d36f4246661e7a6b7952741fb6c320e02302a3b6eb51972b1bef8536de05ed0c9a71371f8fd42d8391d4fd8837a4af9c979ff3db32d2a0672275ce7428a6ad208ff7d33c98cf9786702addc43811e983233744ae7964428b6b05fa4d49dd1bf01398b637475c1c40a7dec4ab031f4d556cee1a8591ba1ad6b2fcf4f355c45655d83c4060e79811b878df2c8124377fe3fafe0eb6f54685c1adfd78fa96a6f676a848609d8809d43336530a1ea9dbd32ec4355c0c41eaba4c3bea8a0b72e08d082089a2ee8f05f1eda74b04f6e68f10e9a7d951b769d30e52d7e12a757bdb66080c0a544fd34ceadeffbeead7cef5b8533784596e3cb0009499f8b33618973b81c64b880047b2dff0b2af7ecfa065fd9c674ad82df883d8440096665324c93698ef818e3f8162c00f933b4839babf406730a0f0390a1514a45ea68e72c48869d82d4f53f21569848044df9be2d6a4611704226e3746b8089d2376ec4be72bced38477e2a9c97dae4808da4dd4ea13ec7d2642aad8d2c0cde699000b7de581f8748744a82dbb8198fb7a35eb7ea510840f89f6f4b5d720e6f992239afa2b3496630c159193fd484335d2cbbae9108fbcad012f706961bed9ff2384ef7b2b52472332a2f013ca67caa5bf76a4cf613baa6b4b0321cf617e669d2c7b22b7b8512453478300d4e3108482ac9b1c73131ad1a60d4ff53a789a7247c1243d328b2643002a2aadccde9fa90c731e4448ba83978d115eda82fef3192a929acf21244da7996510b55fb533e67070551a6a005c9b1e61142cce6d9ce6c65ab08c889a7bb1fea02c5c91586bc5aca27e266990ce2280266e811c54e5d7aeff28c263d818ae8e9b3cac76df47cc6b2581a29ccf74ee6a6d1f17b4dcf63d1c5ac4e037297b543f06a13d7fe4a3b0d13bb0fa89d70d3ba77248204625131bb1f56627d8bc1c175226e39691da33b0abd2d1970ed68bedca9a31a216e31e6cd451751dc71f2c67e624f153e13d8666a4ea1f25a81571f9abf3d836b02cf91abb0022d4054a867550fd46aee3c69c2cb85a80179cffb0eade4785757d65b1030d352dcb1f564a55b33bece2bfa4a2979fc82f076e8f62cb84ea84474757a490a21305f64f1ecdd2fe5caa902666494db38c5606169ef2ad49ada083e57691051cc1b61c17bacefdf1652afdc24da983652b7af0a837ce2731d26de093f793f55242fc73bf1bed92c9ccb0f192d9c528fe4090cd7b76819bbdbb98b50cff25470c52fc69542a72980e89ea2738ed639b6a3df6305f0a61249ff6c9e60fd04eef9c2e7ff0bebfa0a26d2e0b7d31eca8a1930408eb8d3188cf3a003c13522b4dd83cabcb3f32b26eb31e1d827fca021d1ca4c5e7534ab26f48432ba4ad0c2ce9387f5f05f79620dac7ecf33a5f34d36f38e4539aeb499e12c9a9174bd42855addcec7a2c5c929ef3d64df190bf1c256fde5b5c75b5cb02057f223142b3aac0182d9da48559793153302e9603d8d3bc654869c5c53451e6c7ffd516794b2346c20599b849b1e2f0297295c8a52afd36e9e52380152a199fc6de735decfdd0f0c1cf76862b915f05819dcb6578e3086373c6887f1972b2b6b3f8e14f8919c7013b06076c5c8eb0311cc4c671401dc3091b2727640c0e91719c60c770c28dc90135cee0740e50f386c996b7f8c81c4a11d48cd5e3c427d398e3094da1c35c0fede6426f35c36d89f3c4bc9e872d9422839e42ba2bb6c1eadb5cea8875f4f4ccacdd77bcb8792faf99c017f30f9983adfd3830bb19e69f4061f7ba4204779f24d5abe77347b8817840fd4ae4557ad0c131e68a7f6ab962256bff3031f96bd908a4fd201373dc443a75b344ea493d571b29400ae16292cb465258a6e28b88ce75846c9613af8021899366880c6b9ae745766f92c18ad30f5972d678eb996b93a836efbd6f9cc5ad493735a3c41df54f5333b94530bb11a3a2854cfeebe5530b9db88d7239294111a087e99ac719af45d8006349cdc5091e89c437432a1f2d4ccd8c9f1ed933e20c18767c732cc57958f4a835f68682624d04898f26237fde3396553b65877e18af6ac498f011bfd5230f1db9bdf4c922c469f4a173d45a258bf52432f49f1580dab6ba5672f101d3e37790e5adbb07fc8dec1e566392c78a7317d16b1df6cfad957aa5087836253b9b188eee07b10b68425ece540ef54f7748d9fc48dc22de574934db8e39c60654995368f0463a943f52dfed9e4c84c4f25027fa303e63aa0a8ecd56332037035df6dbb6b586534d9124b317fa825a5d02b9e8aad1f09737a0b03aeae3640e14ee42f409b533102434e8295313018ebb91c2a983037646a19a1c014f6b5a11e553dfaf0c2abf9a5e31fa78ed8147cd80a9b3cc69483d65627eee985afe533d22d9488ebd50fd9b6a20d3568a639cc1a80b3b1c1924f696a2dc6fc665fd2bb01232f1d0ab6bc7685524133f6177fc0353786d3d99d6e0e7f90c3817f35a5c1aab67c87751ecceee4195e2d1f15660e365be10f9550f42fa5adcbc080412c823ed9203a8ed038a013c63d966d1d850d94c1eca66196717c78bfe8a083fd915d61720f16b80224fd007fee2787fe4c6d1c6cd3d61c44f67c7cdbcd18fbb3f3bab5d50970a7ab1699817d0323b8a5b6a8fc32c8f83016ae33b78ab598586be7dcb621552d0bd87d96333910143a9ae697f7b97d24809fd94a82c8cc73bac8fa3e87e10fdeb7d843f6eeec15d791710f0dfcc7e42226279b3b54c5291c34bf2fdaf4d9a73c3f7dc45c160910276a782340ad7df968a6df0b14e9e96b4e9a94ce63d7608bc11cbb3acb745160e2532c7e88cb714963cef000dd7bab52763ad975b8caa16eab8b738d364995ab54e4ee44ade26b5d4371dc8f75125873eba58773ea4b2b955a84ef223fb4a0834095b38a8db428731aa543f41f1ba02ede5226c54e0dcc4eb5624a2882e74721818a1e829a611404851945d53a816e8d56aec5ab6453322ca6abafff9b589906daf32c05471cc64a01ba6e3b418334b3cd06738c1e41fec579b20c0890a4a71b8177d3cade8fde186f7fae6f6e5a675d1a2a6f97f5d1690ee07ef378a1ce566bef8466a49af95dec744f041b80fd2a5add3302c0b13e13bde705756a6e402333df36191f2f8a893ff9803b7646c1150fe502cc5915c9e113bc33a5422c5d004da721359b2d22ffe457e4ff04dde403db2fd2b6539180db7f54652a3f1076236aee3f51d16b0180ffa1f2895628966a401cf8075284d4d07ba458a670bd47e8d674d117b7b84edbed3a9ad87ff3ec19f6778a7d493c6005f49286a84ae96c5f4884df7ac5b1cf291f9b82416b6830dd110446e77cd7de22215fb3dd69a9168357431fb6c4024137f9b5d3909c93a08619480e080d7b98a8d9f607add555c488670907ad721265c99c7b4adb6bb519ba41614d24654c68e69732eb7676144ba7e66ca43f1db20a5fd85115dc43c6bef7889617430ebb4ec50a6141aeb7dd088627aba6cc8e250cec3f6c6b97bf7c3c5868ba11a635d25e424741ac272067c9b9e0588bcc46f04a5987c5bc62a4895da50fd2a88d65741481d38961c16ef16c61cb9f3d28ae3d47e15cd3a5686dbc1bb8a92f3a15cd1589c39b7067f4ff42e1823b6b777f85eb0f32a932d2bf1d4f19d243b1a90200992b6f190aee2d295452db531b597d5a6534207b24a6814e751532ad3e17041e244e82a7dcb009d01530ca88e73cb55542db70caec23b8e343d972541bf7371e873c38cc4224ee58aed15e8ddb86d60ee49a842db5358b253c91072917155e16dbcd03e69ab00744523cf5215180b99b67d5e5b53054cf9ec6453e5b997c09e684c541985f57e3378150dd505074a86c5c25d7d08cf632503a9345b69ab0014fd01e301e88778cafad156216a378b535d16af153aa6695ceb104cd3a66aa5ab6e41f64ac1fae065a0f363d0cb1618932f2c4dc2bdacd03eba9811456c0649a23492016f34017c0a6aab30b14312ad4eb29de4b405c10f9d5e48e7ebfef031f08f79363189d8cb43962b8d212c8f0629009f115db47749708b5ae9490abbf4e5c8612680e488e7cf6be6a8bbb924eef9e320809911e931a25be8d0fa1bbe3c4ce1e4fc325f4956b2d1e0c8633115564193a64ec7ff1abcbd30e7fcda71f5ee145bf400b24ebab6e354d831bed4b4b959303aba421e911c8a18fd337f60a2fbd464ed826b76e631575202c334f1d2a94d229a5d89b3e095f68e283a9c106505631d88446cf86bb5050107bf55f840d07bd379db135c8d0c6011462fae51aee6b8b6269a73ef87e5cb4ba549f0e6cbbdbd8b23c92e2c8cbaab2eb222453def7082f27f7be8f20fbad36993b813b614036240f108e96597e2b477b1808fefb0d8f8a117b3c795d66dcc0a1efa652c2d889d2bd8303c848b6041a9da0b731f58eab6b717ba975b9c5ef1027ac7d2df9f56732776d1497afe4c47d590320d858cfd6a2cf6ff7a7775f6e8b9775dafc0208fef4a5be10970a577bfbe10a7f30e4f8bb5e32a914d4a51ad6a530e4e874be96d93bde9ac54477fb5d589005628777dc2672c174921805d806457840af204285093372400dddc6193f2dc2e040234e16d85176981ff4358dcea0f39828f458514b810a909dc58707c8f1e60cd79064d1549f7db2d83e1b01875cbda12de2524858528a2d437c65fe0d6080b1b81d1521f7a19a000d0a9d3e051dba3f8d4e8d9310633e98117598ac40b046591c47120a5d1408868446d0e82f5779076587fe00f2d9d1b5183d597a10a1bd4794f77aac045d3c6757d089a8c023008e1ec45d71a0e9988ba35fc7c80fd00a9738601e87adfacc08e87133901cb1b0adb7754d23220a64c854fb6301c1cd27788543b91da476df68bfa1e51fa9b5258b181e74561951a88dabe1ce44e086455cb915c43541bf559f3bec540f8e41e52c71114dac8636e6a86e3533b48af389201fa67d389b5ddf4a4460bbedc31d4eb032288825a98e4150945c2f0943eba127bfbce26f97744482dddc7b2c3452b5155c945bc2f39218fd47970a11e7b6525000bb08d8600664774b52f3ae15e48b1ae72f549046e32bcfb93efc8852af8a70cc5948c543c41637c081f2e26111fac58e2b4a995a0e422f651501db223e078066c7b9e318da1421b00986fe769a18714572bd25cb35fb4b37f80496069714ed1c894b5d5539e20df583df5580cc5258ba365fbc6502a46b738df419ab53a5b757b138c858518b6c210ecf6dc99ce8551751215607a8b98f1f609358b7d086dce9abc211a82f4b7a231e3d5d32607a43c668e4e0aef79ae16c4e210b0dc3705cbe9d23a3f630b30fb11767adb37c7b313fd3949b784cae9ba1c8e1e2e58d82238bbdde1fc837d6a7597ab9163272535119118c856f63f39ff20f0ca8da9fb3256eb1a7de7a88e558e66cd6b60e608960df25500e7c8f1c6aa535bae7739e60a93da9daf1c37769b191b19d8a4907fd27d07b9c09d84fba159fce0c809e6d997f27261eb1e185524a8c9ec4786a53f26288c8f0ad20909dd31cc12666ec5629b399880bb29388546ccc78e78efcf8b87deb9a937e30bade29e2dd826048871cecee8883ec4be0375c37300a6095bf28b598c86381dfb92e27fe32e8b8fb6961d5dcf77e32025d1036c48d71afa27c4b46d8fd72cbd43207b55a3cdad3e34484cd34798161ec6cc5c3a6e763350c8acbf48f5f1270490c5197f96139037f9c620b45e8770a6a2f079968185aedaad4fa266b321e7614f029396a6cf72419bb888bb17c4059a54404eb2f7d2fcad4b05c3357e3b0c2c3678e76a4e7a584138de680f7796867d1bba43bc913ae342ab85c62577d5e3e721025a4700948f15a6538894a06d1e95fee0b0998e41015ddbcfc6d2b5469e0070e895d3a5790aaf986daabee3543591ba7eff731e94a4814136cfb5913582c34431afe3aad6a956ba04596688782a14857a36384490588a830907f2ae89c75aff28b5055f3e61e3c7c22c7d40e7b90cd2421ecb1ed26123b7d9605206388ec1445528f985352484bfb0596ee485f944331cc9eed5092c9d7c0ba61f620e27b1040f3a7f07fd218027826300c104951b39147c6817f96bb4cd6236db4bc703ab07373828e2bb06c53f19ae8bd843d91de9aa92c0e8180ba43523d17f54a4d31cbc53d5cdae9222aa6a5f6d846a704d4654f4b442150739df9193749602278641e982f11532a49de6956b7fd882cc92d78d4403af84a31950a3914c9e922461ddac929643f3ab23f2f8bd6bfae110cf571773078e00bc2b89f87f1159de454808269beca2124ce84e22f7df5e3d8bb80e020316e4dbd5607dc6e3e75c309967a514f9ee2096987f791bd15c2b8980755ae509014ab000081a23e348a8a7f1d15d953e97b2820fdaa48f0807cf92e0d3449a7f4bf07fbc07a9f4c2cc9d69389dace30a8e6eaabc0410a6d149f271dbe6ba412882a55b6b35519b92bc68c0d84fd1fe34802c287219fc2555363b61824b673b5e9cddd9fcc8f879bb40d21183a4d94641359b90e4fbaa4756bc36aa6ed261b39dc34490d2b086c7354d739861954f8541077535cf2a5fa1f2d9b68db957c10ac208562239c78252c51914635b770363ac5cbc982ee73dbd8f82f98338236ec78fe55240e7b7da7826408a1cd9565c1c8a6a3eaee80e89e4ceac5600b79e78356a1bdaf9abd9580557fcbecc05631b1a7a51e55e981a405289eb50a1c4d2ded8a4c18f703fcdbe6e2e582f9176f45ff20564dd6dc61454be7250c58e835c8def7c154fa4fd35a8b266ef8774fe87a091f52976d0c3ce239c7e9d0a68e825cd9ad2cf26587e044910ccd545793e09e745ebe208df2f57ce52459cd7d475b3db2515cf9a8776ec06d3f95f1177c9ef663d7888fd478259953db4c71b9e2437d4065e7570ede075767de0637055a72cad99825790da3bef52f1c148690cd4a57630b24ecbbee140cebd8600a803fbc5c72b22fcf51cc09a11fe99e9883523e55820ba5659ba12b6ade273e0e699a7aae226d04a95d6e8e735bb112f00f1c1d271be8a9df84c5071db352ec29d67d04b16cc75d205edc1c96544aacd69ef5df23d3342e413cf0c7ef8bac5760c377c6700292a6d374ab5549c11998daef2680c73ecc4f060fb27e323c59ce5161933194e7aa64d938d5905e300cd411aa4257e8cd943244c95bed634f365cc1257feadfb37ad02309698509326627746655655b57f65959c2edd599345cf7766a8873f3c8985e61a3fb12874166e2b13b7146d2b9377a918f8610429057f1bac130a3e2fb7ab3eee6c1f0776f7f7cf2e9d4f059f201c2d136e945ef49a6ffc3fe27ad61febe6ff91942cb4e21b925fffa16b05d81a8b8f7cc9a19889d5794aa87c647b50c78fc5a888cee4e55724872b8b6d739f0c19e56c8747564e703844f3ac3cf28883911b72f67a25034f04481be0de2743a5525682d6bbc04c18d9fb0e2a6a2adbade0714e8b685b49e196c4b5e188a84940872802b2b74f7d7c456c6e0e931c485afb382432af30c1a5328dba9d189c7d1c2a44c1f608c3c2576d92f567e8c08854db506cc1a4d9f5d662564ff5cf4b2d17c33a4c5ccb6ca81edee0d470ca247706b66558a15f55f52ca49a14654e9ee52779c3f33029fcef8209c8a7299647181f0b0b0b3a83d93ccbb9af9ee6d0bd6f201584838a63a44bd60e6bc91fffc885f8474c11878c6db9daf7ec78d29904e8a92ba3b32cd29e9348455ac91055df769b6999734d2651d5a974b7ffc63744e4833f97a0da68780c48af9fc7addb2c1ce73fa484aa3b2dfa911bcf8b1ab6c775089a8fc2b01f613c2c807decdacda66b34bbaed56d1a5db76935ddaed3351b4dd3ed744db7d734ad75b7775c42d1bfca8343488fb63f79c1659492f6bb7efbfe5988f6fd791e50c572eb9fbca1f4d8f5b316d1010e3aea48873800c3472ff0aea845c12844252a51320a518842148a2b69cbc1128b71c4210e74c0010738d0111cc8fa274aeb5b45bc779ba2ce5b63e4ce1768cf7dfc6f6f4575cf9965e8601524ebf7796c2a56fce1f9e19f150d5e601aee762cf2993c31b2fe324a91de2fa862fde2293920af2bc15f8bbc2f89c085714d71ed2568045feb839da9f94b7fce2130d975d85b056d85bde69d274b99151ee8de74f3c5d47263b91ed413cb4408d255038f3abda5f4ceb57e638add9d09bdfec1d9b71917b58999ffbcc239046e717560515426dcfe54e0d8a211c4538b4fde63e2f613c187568d415c1d4eee33e3ed6742c543a0f1c50487cd172b40cd9fd4e31e03112ec3fdabd0363057101e2c4318e8572b7f28b717fc41301fd50790284113fa90abe2fc88239b39973f0d1a4b70eb7f8c4404f4a1cffec4cc9ff05f103587cdb7e7fc437188dfe7404c4213f8a42b423930a93f0c10abad520979e1623b3007b54ff6d2cb0c0b6b2dc553436fdee7ac501662a82e488455609211523da4ed44846202aa978ec5b419ecce2232eecbb40e29ccd3ae734f958fbe142e5398bb605134a29565bcde88968b8e092f04456e442896a289a7027d8088b7cbd43818fa075184522e93024554ed70d1d683a19f5c26a0dcd02a825e54f37ce862bebe1c2af70743d69877907d92959d9013409422f7dd67635eed25859bbad0f28ba8fd6fecfd350165212e08df9e363d6269100bf6d47b4d8e879c088f96f9a7ebd810b8afa7d08261f3ce89c57c0eaece9e22aff36c379f448b75a6baa1de7452ca6ca1d00d939f14631beae394e3dbb2454e31d6ed8939bc25e03c8676ca52589971a4ee99fedd9299e24b4b2685328fb0650745a7c56de048eaa2a515dd5afde101745fb975fcfb55c63e845dd10e3e6adde0b3b78c05dbd674a8daf166b87581e556d93606098ed76e9342743205db8149b30fd0c20505dce150b091bb4b0766ac8da037ede188bcc7b22062599a406432fe5bb4781ca091c4087285a0b17e3e9a0dd61f8958358418bb8e80f63d73ac985921f0126ef5e6395f24e199308ed8f0312fdfac72c2b60ac8e543b66ec273040f7374a70e243855c261e1789ae5b52a73ae691c71d432773a460f0ed6399160221b21d8d1fa480889e84202c9c541b5678894f62da0bb388817fc09ddb98f1971244df099faea2b347923806933303f69467a38805c9e2b1ce0e61805b3dd1d7bdf12ad08da2eaff152cead7a69d6cbf2e56ca15e5cc033ba7195b028de87e4bcdb83c796b3ea27fcd48255a02a3d7ace0fbcb12c18ae9e12329184436ed65a2971f22d221153d10b5b57e614223bdf4f4d03e9a505baec15e415d01eab2038acc04737762e87d1c4b82a6f24909e0e6277a7c39e5b97172e11364acf2ca36d56e7d497a4929db3c31dca86834c7155ca92f9dce13ae52dada1d23d46fe9fb3ecf829cabaf015255f4edf32a8d3d4aaf4db3a7601848de11fdd983de0761dfe75c39e7805673b6b21c5501ea1b3f359afa3cee15f9d55f371f3f7cbccb44c85d9346666b5a65f66446728a3cf5b22a15390ae95232cdb1bba261d9cade238d79cb1e7ff901be5e318f41458906298f8a406b51f3e98ff4b0b97a74456ac1cb5a650f8041d872d7e0860aba0ecba36aef9730669555957b275af41ea363296e98e40004a6654893c3c93992828cba9f11f8bdc9e0644b0b6e5a6174236130a2b94c5a7a15afb61399a09651ce8473327de0fd4ffe2348f03c113002204598551b0dca13735be829b4f744c651a00876c363c2a3689265456ab3f325ccf6fc1ecd542dfcf08acfdd5e7bb35dac512bc04b37bd673f7b954e293373dea734f48d132262a65599dbf102f0514d900cb61574f5513fa1afef3062f986d8bd562210f47afe03a161257afa3dded421dfe155adb12eb7a0e4e44c811b8371f323522163dd004fecbf8b9dea21c84f59607a5119e29f504c727343a9fb61f16063428ffbcdc0d172c0adbe45ce538bc88dc93499f40eaf9649e2e1781d845ac2f295da10ae2295ad313f6a0a46c3ace2ae6fa4a7aa7e1e9088559628f45142eec5f44e6e609c996901d92e9fc0511b04e7fe300d8da653d8a1ce2c4a9e8968f53e3dba3c050a88e8da34090ca856a67e300aac115fd1fa55951d300cb3eb1242a78f7910006886f580cb931e5a895530464cb3b1ce1c7590984d608868930b1ea7f099dc7ef54311711a8b467adac0b3e3a139db6df4dc637d3b1c6c9f918f3349a06688dff0e68114e7058efc75735ae964daa5d275a97c41df781e90a423ff4ce7ee7b9e38aa8b28b0fc55c67238494ef8d03dfe080b8594c42149dc1fa19183950c23022c89b1277d045c2bda6e519ab34cb3043566ba928904952d0a9649a738f8d5975deb6466b51240eb1379c7fa996dac2d1ccd22068727cd537c4c833f19672b255d32177a1651c41caa12252ef08a47e0aa4ce0263adac4910dc744694d26700c755e4f45a57a2151cc50931d0574b9e216c65492c795639f726bf20aa85ef23845d1a33cb067891ffe1f2b2875e4a94c6b4c835014ad618473f8662ebbef6098f0002d8e8387897c914a577c24779d097009308443aa0534e2887f0654a80886e89547fb541565a57b22f44ebb29a22c08f37469ff8ac430232e672f0816f3bdc4ac300aa4e8bd04e6ae6e05193e2a205c1a4962694fa27f109462180409ac391856923c8d588b33f0e7e2041444654d89bf10258da2094ba6c9de184be02be8cd9629793b6758f1202cf2234cfa024b4b62602b457d5f307b7ba3989519c4159f213b70d2b00a3145c791f4d3bd6c6f913fb8443367810bd339b1dbbcde2349a30753e08349d04d3351a889e4a3d676822098f41f4f2830108d5fcdda6a7765eee21ea0afc2666a0fed0b3be5fdeb7f8491319437a844bcb8ba2fab0a133d7df14410206269d74e34ad95fa77bd0d5930a660da25a6a0daa46358fdd19dbe83554e6a29e66cc1dfd8e58919dd1aa738996ea561db7fbec3eca14a443c64e7f7ed94665919a3830b43c8a18cf00fe51adf2de173f2752e35beaee193e480aa3c03222e46074e12cfad20213bb37f77bec92fa5af5fcdb49b750d6a218e49d39f3d8b61ac5384df8a1acc3a229fe0f8f7e0e9b176e4873232e9e88e2e31c4396ec30a8a0dfb0819e94b5d3d9eb77d8d2df9d6429c1fc57b19d30f91746f09612638d74ce20def5271f8c696539f365c9ab7651d5d26b84729c5859c83771276714b20ecf7eb3444f4fa0207e36541b3c00f71d4592fcfd0fed3b0c061117ee91d006d116f268fa8a4a24178248f081b737beea179b21c4d7ae371220f40aa14f860bb0ea97c651bba348883a5b5c439d0e04ff3013df2ca7e4d813f91dcca2b4d33fdfead0b91002801f6a7ee69ee28532b462df475da10c3d33653365bc9c2558218274a583ee83235b916eb17e08e00db904b4a9e06d2fb9e1f8a920cba0dc4e9b3605156ee03620ae9a3cb94fb3ab9978e275cdf9b6c54c2997f74975333d49b9fa87384e8ecedf0cefbb0f3da85bd88c7ab16ac348c6e5cdc83c46f4cde1d3663ab037d6ca5d3f7f259b192b9ebe920ee4cbb13728e5918d0e82379171a35bdf36a547406e6184ab7eb72e14bc709a72a5697462a4c8c44060c00b1b4698626b36a4ebdf41a70b19138b1aeec8664efa4a484e931308f49350210d483c2a0cb57a347e3d00e0f0662671555887a051a76f921597e171e747291250b9d6d0fc6e2d99c260017d19051a016c48c674904989cce8b20a59497416e32db1677b7e1c97751c07abe71e9a832e2d76f263453f97b3090e2a1bdcd9d6bc0f35db43d30d586573415033dea70a40c561fb3764b11cd1da7323e7aa3ff6026a8f89dc76ed6c90bad8908a9c01ecf7453cfb0a4f6c67625a2e0c3bd72a9d0e598459beab154b5cbd340af2b327ec7e1a17de2e2c5a9518a67b454c4a7fbc40c86261f4ba178f020d98a401b095f938a1928030d251a32810ecdf8005458b73782e903eeb3b29d0bfc2400998e95a616b6eb439196762e55fde2905d33bc0e6fd3419790dcda5b93c5e9e5a7f07f17cbcbd1ac075ea7bba65f03df92a6ffd39666099e82b122cdc19139ec93dc811c682683272428ce0443e2c408580c9670b49b906a68aa00278e491e01164279b9d775b0423b78f2594cb2f2fedfa5a268528dd15045e0379ad2b337956c1f614e3b06f902f06132c4bd797e04c8189cb06c1df8a8c43f71e86563bab6820c9e2f0e5bc5924030312dc8d3d8ca3916c9b2e11a62925f1ca8b6b691424d99c4b942621505ac072392349ac55f16856d2b1d01c12133399c65936537df3478e108bf505cf701e0c8e2534317ebd96f8824ea930889990c1fb15ea545bd5657a1dd6c68edd4adec786a3ea51d46445c4a85b36a3555331e6d8fb8bdb89de674b0b33f0fdf43e0b4ac3bb9c3c8be0f2371270e3d284e20f0bcf4999f0c8974bed8cdd549b21f15ac22b76b65207fa87f1c0ca45b3b9ac6648d462d757cd06cacff469a610e9f82ba8e9cc716c9ffb247251b1a9b79ae11529f0ebfbce8a53049ba87153215f5f5f6f459d557be9bc15b140522fb2ca00ddc1497b62b46f3a18e1cadd7401a5b76dc0998ac7a5cbb6f3f5159220634b29aaeec87be921f186ace32082e63a0122d85dc72002507594e1f1bd4ad52e170a2c728667f35c674004bdeb184430754c1081ffea610e09a24654a48c021bea8071109478562cdebb0142b3d32a35fd86b81dd2d220266cc775c79d58ecc4e69c9f707c03c370898df1304455040903103c9b624626ed6dd64d0d93acaf80b483691630711ce5fa444bdb3b13021601b62b23b79773c7aa475273ba76ac6a728d1d2b8dd2cd10075a5acdf970a40ede19dff7d3a6d0576deaef0ca4d2d9324de8928f380633320a988e07bdd4664451a2ee3b2c750847cc830c65bae92cf99f48a551bcb96583001da9cfb482be859fda046eb4a2b0105131955a0a930fb98b404e11aa7366dd7cd37a85b54f15bcc01548fba1e456d903aae7ced04c38ac34ec0325a8b220d1567186b6b2138d576f6ca52a81fff123b366e2b145508ee28d8e53c1ed67bc8083510f67c86908b1f5d2d3ebf54a4e5c555f6876d4a9742473ce2c374795126c55f0f73a16fc89913484f51673401ce29269c83d567a88c06aa3efd2382399dceeb547a2bae8679bfb2f31c7856d4517e53281325e9969996ac7273d6c8fe5dfa6122668d5b558e43f4f8c88f60255f7d076f607971a7dd8fc57cf2b0db61fb1a05700282a776592cd5ecc7b44a647746874cb79c5ca3d2ea2415c0ca5ba792f3d3284486f4166bca54672b5b20685debc96991eabbbbd36e869295421bccc62c6ea2cd7d236174f4cd97969e2672911e3fa56bdb0302f24066c811f4856beb16d13be4a39acaf7155ef22147bf1cb8c3851e2a726d6c3b1cb8e72d3225d8f9fb72e670c46c2d9f49f79b32a0cfec7ab0f88d3e519de799ddccb1b34849636db395c8eff1c4a6eff7ee2f438f4e63fb0c8ea60e442824a16f6b97bd7c5f5679e8c56430a0f84f847c9b3ca5a3c97074b01915b066fd863fb94f48afc2efdbf443cc37badccd84f16f08c36bdd9e9f3e631e1f8f1e498ae7a86ef84549be5cbf98fee32e09cf3ae2788bc8d33253e9157dbf44f5f912b4aaa088a624f2b2fb608ca8fc606f59f1dd72c33289b076caf94242612ec43f89b6e063d1238ec233d61679a00f56150de59425ea6d888b3ed7b66d963aa9a269f97081f506510cb591a4d80984e5bfc0d4f92b00ce143af262c02e17dd07e018416826c4ef48b34ae753e256500c7e8e34ad23a9fbd17a91b4049ecec32981d03f1526c3335b6731e144eba381bd4c13838a0ecc1f0ae1e82ad9a63e389cdc472f3bc2362cfd7a18c1181be710b703e3b80de2f0985509dcf89a4b2a3f3a1ceb0f48d4e146de122d4e4143bb47f1af22ab293c069861113bf27f00b5cbf22173c01bf66bf846efb869ab815c12c94de83a930033252af37e30e11b472d60695cfa76223a0c69eebc0e59d4f9a9a82097a41fb14b602ad4ffd3d95b9338b527b77b0d9776a1f6a630bd4262dc61acde7abad39c9ab22d673bc8d49f8ca21855b94d41d0865e14e5ccd91a77279a485f3cf189f1e12707fc4ea570a91ab52f00d95404aadf80e47504535970cc4b81bb5cf150d4f4d2d4262c8b43fa869673b8adb9274523e144245c9f0ffd2e05f3b2a1bee617f7d65df0593be994973bc50d8d517e6f92f2d360ae553b01cb8761423f18fb379cc73fd856f47cd36d6c10504e9092d289c06cae558fa12298f5842e04b31a5af4b421f40743f858c514bb3a05cce8b45480c6d3425ff5703c438c3bbaaae00c597c8f50a423a011f502ecd96f5c8eff3afd2282e5c26d26060fd7c14f849c18ce388a1f0483046bf7b91414044cfb3b82a043e85c1c07e2d8c4ca5f66fc55bc33b7831d0b9cb28668101d31e3edfbd01ba87457e53447d4051d8d3f10b4ff841b480d7c7dee071600bba2c4b6516c23a1cfd02b066153a744bc494a916f4d315dadd08f414cee1ca472a927494b31e8a0302d07e55b6a1ddb323bc124b4089bc5813f7c3df8d9c264e42dc4daca69727766275976e586a0b33896ba85a5973767d2de9befa89ad13108662c5ad4f6118504bc3d2489d8db74dc6d841add0ba085605d1c8905e59d8fbb03aaccf926d1a3e83ff02a35022e5d032883cfb69fd9a27014ba2a8aff69e5533e247801b485511faf4a1c0dd18e1fd6aa537d1f43e32b057fcbb16c9c41c022fb7338fb1880e4d1e17863fe0514ffe9640002866b247ace28defc0089f8bcd426c8062fbc5d3cb2857c0e90d810e56f95971859b04ac4149b1642296eecf7a3b08f2a856b6cf09d4c3d1df5f22c5dc032a05c1f88f28ad0cad29bd813f45fe27f762ffe927d1aee003f15b02ea74ac58c163617684aed16ebf2285b0e4a586d621d87c5b5bba38253319e35058d152a569f91210a775c908deaa9348476d493811986ba9846d73d445f95052aac49b3e84c52d88990f728cfe66a8f84bb76bc62981c274aea6ab2d499c445561d6e49cb53807aeeeea0ca4f8f70c63b0a124d9b366c9709ff1f032c4c52623545aee508fd4ef88ee91ff33385f1deb63b33c706f8723499d392e23d36abffd1dd6c2bc37f9a13a04f3c2fea4473761bdad8cdb0114598b4f1722443f21a0366cba40f9c25b00c8e69280d858f009691c590aa9e81330c858bb9802e21eb74a3696f8b8e5a8126c155b5f893718a11535cf9500cf5b79ecd39b4485751d417dc56e5d3939a9f70c78cc6a41e12f294922464216e641518676595206d495da32c9249ee9004942f3d70cfd8144ccd9d90ac90ddaa0a42a3cbe870f1502f5e17813efb13c827ba08f97b4bac35d04003403296e1431b182b7632c4c2eda68d4a7a31d48451a3561640b94c98980b085b904e10aa4846df56b99bb3104387cf43cbd5f6f5ceef66bc691a8938cfd86c156720e9bf258726bfd994202c1414f67b712a407fff0403341ac7db137c800e195514cc2e4906ca14a4c8ad61cc596a7445ec1bdd38f8cfe3f0f4a6760bb0b828d7cc1837668d7a5d03895772a6945bcd48690effabf9c3ccf1beb68364fb005c553050845ed872c4323ca84072f36e5e5eaa1325efa9770d0fe4732a282e938993a6a6e86ecc0e9325ad5441d5d32d49462e1142a7b157235fef2987f68fcb1480c78c4b56f0d1d00c5461469d28b26a75fe7f9a61ecf51c4aa22ce02526630f5bd647a4e277bd940da4af6ab6464964c0c7188f6be6187533e17844516c81b1cfcd9d384089382fb33c678ecdfc7edd6b4035b5d7983ff863061e5c711d1d975d799b77a74eb59bee79aee6c12a2df7a88ce25b1104455b92b47e8a36e2d26de23fa1c7041ecd9ee1116d23698a9bd3ddbd274ae576d3085548eed980db6d59fc98fa40b5f4a8b377061d39cbc56ea0a5b1c3cceaf1bcd25cf40c20a79c4697fec506b467d7e21f12561e512e4b1ce47545635291268da4f72d4143360cc7f35f9a1a2db1fa4df050e2105da0f58305a19271dd5042e07991b5aa632d3fb91d20500715ab1ae4d0edcd3dd447ecf981b5acafec8fef1eb9938ff846eeec76b81413c7456a7e57660203f298e0490ce43c656efa5e3287e5bed0dd95abb0991b609217bcbbd03470f930f9f10788a72f0b56ded04756a9edec117682b58746fe64ddfe6267a4fa8e8bef838f083e7b4b97730caf4eb249b93279419055f5566d823a4cd184e8757366354f0f5179b3323f8bacbf56a73e663c464552c3cafbaa2162b31842c1cd851160311cf9bac1111cf1b04e286892291ea26d5548944f3dea8ce2285142318b53d0e65e7bc28c3a23bc51a76b006b1e932491dd2047ca0c3e144ca1671c2743355026681c30993064c3a8030bde5403c6cba40326c4af5e0f43035c1a61d6c325d9309a354bf51498f2f3ead4a64424d519e375d2c675a4c075b82e5cc8be95c6c09c90915cbc1744413e8eefac9f4ebf46c3299fe1bd32711dd996e3e3eb9bc8a4d58ce93b96ebaf974d4b7938d3c281b776293b8237a9c73a75b10cf49813816dd22babb0e475079ba15af4727bf2e4252c2724c17c87b34e68300c9b0e83a0e0466b16344fad662b9eee64736af4e17124947ad4e97c7c4a603c9b0e9a68beb85445c2f931757b6ccbcca66963fba83e5f330b9b6b059e22c4282afb3d87c57f6c272b09df872b3cae51ad93c23c79d29f19c260b3196d3a4bb2bf27477bd20221e3d3d6c629299621637dd95e9d4072a7557a5934eaf3bd333116cba79f496fb5899fe70c4262d739d56a6d39b6edce9ee7a56858ae5c41a229eccf56b6e3b4fe6faf6172fe96239f8baae8747d80ebeda0ad62eaa56d5dd75d40b2afc6b2b78fe7a55695034675bc1815d27a0286723ddf0f3f31377307ca904354320787808c4c4962427474767678787a7a7c7a77fa14f843f5dac794ae8c102121c1cf090e761d8a45b45e091ae813820075d70e087e89a07af58a93205432918c2db55b23400014120d837570c2150dc2103fdc892ec8683e0febad36ec96e78b3899006c15d262ee74ed2a2f657b29a0d12317d434ea7d34675a0832aafbdbff1d8b46ddb22be495dfb74b92f177d7ba7144eac95feba6673d94a9ca6914a246e23fde59a048feda352693bc9a5544a0297368e23025f1a6da311c9e62071443ab43ab851fd361ac52011557373e3d14931e6238cc0c14122aac6d149238ee3b8212f9de3388ee3b89b7994ce7144701c37afaa93341a8db851ac46f0766f4887249b6a3969c4914ea721dce9748a5cac51e24516596491050e9797ed2f961bdd3c249298b8dcd732ef4dd2cd93c9cb7d2d1375b620316aa777b12e3246e01c24c6186bad24d3593eaa31924c9707caf44c2299621d8de288341ac551242da9414bbf5c11851123313ec618050896e018638c418064b80f2104926120fa7d201986523ece84214a1c24368c34b57d7e82742b2e5121beae9c1ecd2975ea9c1c46b27de745cf886417833860db313bd355b0f63c8373baeb639b362291a6113588c4b220585ed7f5838b4b746c6c22ee74d784a73b27ddf547363e893ef257ce15aabc8820ba687eae28f69272f9748745c56e8d3bd31d1d426dcd460bf30b4a772dabe07e6d81f902eecfa8b8b32bab6476e5449bb6a2893260797328ce310737168030249a0960c5b06623dd99999999db1303f28e903c666620bcde4c1257cbe884494574b158015fafd74955e0eba3278526007c9df280af7334f0f52d06beae11111464236e8889a0f384af1714af17145924be6e869778c2582dc98e6ceeb0766ab9ede63f2a8f8a7c543a5e4ca2256d9bc5e0495b7c2d9d6e31d2ede6f85a3abdd3b2bc49a5bfc79ba307c4f02c44a0e9094122fd65843d8e8e3dcfd4555f6d277d3b8d3792beb1bcb4aa9707cb4b67b9a5fb4a3fd9ccf27703b4bc22607be9d25f8fdb86848f7857a5c7b3ac4aaf27952e8fd24fa4b36c2ccf4a3693cedd6e79e9deb4bcde9b97938234de6e90c62ea72f7f5fd11e90c7cb359d74b3eacaee523707899106313a76b111463a29625adcb0117613468adbcda60789a6bf8b7adf26a26e0e12317613b6436ed7a03c1e1aa68f1909ccf2487368a787dd2c77c45aefb42c2f59ae5eec6edaddf2e8d9596c86b1446f3ae9256ba2f0dbf6d8328760d2e9b59e4e374b4c7ae9b5643acbe8f32d24123dcb63fcf66d238263e4be7d7b0688e078ba916c89c5f2285dd263bd4dd4f2e8a2d78df43eba106bdcd51e83e4211909cca665bc42e00b24a1607bacdcdb66b98fb64db38f74cdd26f563bc9fad8be35f5412a8dbed9aadd9c046639fda33e5836ae22815f03506ff9f684a88f8a257e303d4a02f1817acb33eb83be14ed1645a2d3257d2171d5433bfcaba98f8a2248300cfca85022073faadd1bf8a95d7473cb8534be517ddbde4990a4e38634e228fc684447efa437faa33c482f51cba3746efbeb1689963efa2b2581494374dcd03f5caa489046f4863b7d068860eedc889efb5be9201dfbc3f01b7c34e0a3f1e8cd3777fdeb563e62080e0ed2380344f076780324095cfac3290b04e252e9365dca0011bcc1b3fc645f772cf7d1e04a77d563bbb937ef24244ab66473c5a5cb523ac9661e1a499278944e22956c36024378927d77c34837431c8c915ea5c4a5b370713685b8747ab30fedf47a09081238cb44b87bbd0424e28cde8bfbcdf66d553af6ed995d95be7d55ef113c487f2f5d1ef4dcb767223878bb421a6f97c72c82b77b333a7c66210ee6ecc3f461120e1ef168f9664b5b73284b3aca4e925df1a06f397dcbfc888a2572f0967190fa3861786fb4c3bfd2fbf6ba55abb5dccd4868166e762b59ed1aa43c5e77db49a3d2c324cd6622a56b7f2f2d810443aec5d2969be1662fea43fb489b9b36fa36df9bfad8ee4714c5a4c23fedd86d7a647306886ca55249fb064b37372e7de2ed1a3d8974b3c4dab753fb5e1a0285c0927d38434c57da59be7da5d9b4b6b158edd59246a3d75c7a26bd7479a4cef215e9f2289de5efaad76f1fd9d5e82c275db3ab969bae7d5359d4539b455d65b7a7de6d86a3cb03f5d5e8a3d3b3d8d5e8f228bdb2fc3d75969becaadef4d13792e59eb2a4a3ece929cb1d45ba99c889fbfb1110b75c1e2c5fd5974e7aae9747e9eff49bc9d6b35812e99aad3759ed2ca57a3311d21b8d7ae48021c4da37fb2362ed0a69d40d2afccb5036a8f0d3c2db441e270c1ba705be40d151d4d95d7765a8fd2c87a414ea11db63650ca7adbcd188d291fdd182210c779bde3e1a6df20921e0bec8f06844212e323c1b2e57d53fd134e9237bba1b8d34d46834e2ae8be6e864d098aea09d05c35d53ea11b289d168a7bba8d35d8c6e749b9e2ccf350895028136d950a56bbf84a28cbc42af1fd42c7f6498a215202650c4db0d6acc4fbfdf1e0de275f75c8660db3c1345112a18859f1530a8226521cd91fa16dfaac7e8a8ef181d75512782e1b56f7d8e0886411aabae04200edabd664f1fd9138cbbdcdc56708c7df81463af5314caa2e64b68f51ef8a45b9750b4f224006f3c0c21b5324a7731e6f4d0d29f4ed0e6c6a343aa637451434e47d9a74addd0c73c954aad5c4e896017db03e2989fbe3ab499088e89397cc398d30be1bb87defcf2d1331a441fd27a7a33e9a30b79ee107c833a3dea2378333cca0777eda811770d7ea45d6533f7d51180ba7647ffe15156a53a3dca42ea03de55eaf0da47a776953a779aba3c5e771a3d3c8abbd5e8553715834a6f90f83feac3e5dabd7179eadedcd34397d1fdea17ed11737a49795c7af3bb9234827d429d7ea3164563ac04eaee32239676ca41f811bc92bb794447230b797a7a58dca86764210f4feaac98a75829d655360fc12ad6f3e57172b1945e1b82512a26a5d7ee2ee66ed32e16e27bffa88fd7dd657d75b97bc37a8a755300b8661f8b63697f7d7390c8bd8f42a9de7f5ccc5329cda26c3602a3503fbd646b4aa79b2746d944cdf655f737a0505708c45c5beeded0a7629ea24f514ab7e6389bca297a8e6a360fc1da559607771466e5fb193fd99c044efd1981f3eaf70689dd8a6216eb36d1c6ccb0b908bcfa0d361b81570780cd13af6e6d1e8257a3d73c1cd1469591b94084401c13f395953f318f419dde0c7f307d4c0c5452b38c3fca032ac1dc513e50d7626c8638862604c701651c25e38f520cd060d5cd07c03f6880baf56252a9d3c7489b4ea5be65dba339e410b4b9ad501ff060976157f0a3c3c3682b292b87e874018c024a4f0faa8ceff4ce4ea53ca8f9070b9f1ee3319ee5cebb8e681712cd88f647a98ff653644a5179a2d02524740945a14b48bbf24a7772a86a3208c76d146f54d521cd01a7e078d52915ede6d02e30836f5287d7aefaa6d93ca3591597ba6653cfa2fc647a533f3a78720219e02c7f248f8b954d6274f36495184016596481a3749ba63ba81067c8a35d4226d395b08335b227cac016117044711cca5ee0fdc47c839cf4e916ea464af30c8cfc18f4f472fad9add4e9e945a15090274e7b738571b3eae6af6eee66700dccdd53eee574519cca8a4834c78ff783e74934c7bc8bbd34addea663620eaf8b1561689f740779bae36450df0ffef5e9a14e54ee59f63ce19aa839c8855127bdc8a9b57a4cd1991a98520a699df8511eaca36ed37d040fd47d39bef0a33a56d09e5e2cea36b145e7244f8b626c16ad5cfe702ac621293853aae078f904f6489f6d42284d97a69bc4fbc1e1447621119fbe82a5d2b7282471a290c441401128279f3afd82bc92050dbd8ba24eb8fcd11c2e51ba8b4dd40c7924d541bda900ea479d8b5bea1bcd41a53f5d75cf05891875c8e304f6a09c548db3f247a75ed66d5a02d19bab54c170b565e689399ab2f992ce714f5d4a2186f49ebb91743a49a01f1cd4d37d9c4ea344fcd32d7839813c30ee381d083c5dd8a353b31c92dc48e5a43b140af67417210f939aa14e8c1d1da53a8410aaee62e5103c415541d5e1ad2fde4c0446fdf4a63bb6d3438bba5447ea90e35a30779fb91ac8c3fd6261c8431fffee75b9f4662230bca7fbba3b8abb3f6634cbc47416bb822f9d088ecdae5efef0ea32ec8af487ebe894098b91e360b92b7ae5d0952a543b04cb4b170998b34814dcd954763bca723b3882b543fbbf298f19fc436bc40cfe1fd53494bd54f64ad98bd35cee6d7aa376bb512f9cee6e50557f7d42d59681377347bd69105073f9e9e6aab247489ce5d0a33958b74165dde50423459f52fdc2e92eba5c39045da855b95c9b56d92c311439788251a73b18de2507c367225855b2a65f38dd62dd0c31eb91b22e8758f6c2613d56035a6eba271a04bd975796d49b0ab07efce25977b931316ed3a9c73c6573ea31f72a7be95d6ecce95536521ff02e6fea03feba589114aa4a65e169ea31a3d391bcd2ad6eddc75f382cfbf026a239eeb551e9b512c7583924afd06bd503757afab01c8212fa401d4a95ea18cda1ca817ad8c58e4e30e2af7d380e750bf598fa088785292ac308a12292d322547bb82490cc204c210776303d6c29983e65f3e93fd8e5231fa3a76e8633a81b7a816438759426e4438b56ba45af90c634daa814d21ba4b1b643d3ecb5516fffedd7d065a3420acfa4f42e69a8f96306a33eb20137ffc03f5a30a5372641b244a57f3232d12d2c89765d326c5c4277508a454dd332cd5e59fb06b15ff387e6985b0bce528b9cc4c2ebe405242f2cec004d8145126cd2d15e4e73507bb88eb350e9960f37432c001e68c4c0580b8ce513c6e8a673e1cb6783c7b1ebc3f1696cc64ef3cd07cb42055b96a028541feec36d5a6475386657d8df1398ea98f9ea2f76e646d5a1c66d3aea748bfe6435f327cadcfca3056b2fdd98a3d98d0c557b8e397149d4e94ede78f6cef9f9d13f187b27e94ee67427b1cea96199c11284e58c29b0f0c12ff09b020b1d0c298f9a6b1788e837dc1fee9f1c364004e03fecf0fef17199c3460040dcfc1d975ead7f48f205e87102e07897679e6bf0b0efd1a0f171e193a1b944400f98e63bd0fc079a07806431cd71f88b3507b8343d2ecd6fb834a7d161e3342f30874c879d3d581b36ff784f609adb52ba7b11e56057224d48c4184e94917ff182c70b209e55f8454e9491dff13c55f87f5d03db1f9e67b0ed70783eb6f6d9bfbe3c3c577c73789eb827cac85fd36b18d9a5aa62d6c4acbf9667a9708c8a71744ddc8932f231629e6bcc5fd7cc9897cbb80927d674917eb901705ece03e7e540e06079534eac81535e5eaee3e6fa729a1c0c97bc1cf5f21b5eae7a390e37bf3c003777386f3a2fffe1e69997ef70730d534fac81459ecccb8fe097e770f37c390fa69e9797aebc29a87f5efe727ab3eae5e5225310962fcf715f6e735f2e809b55f285d533e8e5f2e505b859f57202dc5c5fe2cbb5fb72ecbe3c759629ddc2c0f36109ea16be3c0b151fecc318c66a25898e503711c782b3dcb6d30d2acc4f37a82d5e3a6673f80e3643bcc37ff8414a2e476c42234fcd17cf0ec43f74972ddd2235db3addc9dfa81a766dce892e76d16ddae666d50d1a77df8b3c1af6b823e563937a834a62f95e4b1261082b8002638f3b3170c89f62e01f48db5d8e43003e00fb9ecc66318ce51bf5e1e2d87d34889a6f94935db3e96c3b26ea63c5a371cd1bd77c877374c70edf76b00238a43b04f01dbe09e14eafd9d25d95ae1db339dcbc2a5d1e192e5d48c4a50b046681357aced21c08cc62070fc77cb84ddca1a574f762e33ed88c04d6e13cd8bce22e2462d11fc6ee0abbccb1d3d81577794c2cbae8660d03c9b0f615769b4a772f7f5848c43d501fd497dfb0f90098bb467bd4fc7567e3e69e825faed11d351712f1ebae879bbb0a7e79d31c3a8838d26d1a137dbb0ef6e11a564863ed2fd975f886a2397480c19ee5146ab88225ce134a104fb7a46c82e537b939c1f22f5f5374b01237d59ed91505e261ed06695cf315dd51f33b7f7058bbe892fac02e0026939a371d9d77c3dfbbe128ed662470f6ed460ea51d4a3cd0681a0fd7281589344d9b53ba934016b33cd86b4a77f234f6a2f6aad29d7cc95e42ddc9ef602f2b3ad82b078be15ca14eedcea0ee28116a8e4882e84f7752062161e1976706606e08cced28659a0360ec5bbd97cdce5da1d25f97155d7b89eac02e7a662fccda9997d3b019621aa794c7bcc84975f13c7fb07c44d2ad97cb6f2e38487b4420f2f0d1901fbda0be9cc6517f51f50b28d6a8709001b8134ab7685cde2672b39fdc607305804c678f90326cee2531f60819c3661666d98c29c1f2306cc69c60f96b332605cb5b9bb12b58fe36674eb0fc0b9b33296f6133fdc1f230365329587ef5ba93ddba3eafba71d43e3cb16bf77aeb746b35a74b0af5856ea26bb8d6512de916065a620e8b5d69d75eed4afbc3b1954a2d3848ef9c56d22d0c7492add21cb354225d272e7908a55bd9453d512627474767678787a7a7c7c767d379a9d138b1e66d449e08792804a3c02add72220f9f748d147938451e1ee91a8de58b88350f479326962869c8c4650d212c87b0c4c152743927ddc991cd441ee6e8a67301a962cd86832723df032c3f042c9fc0f2536e3a8f86dca8c49a4d2748b4d94b4acbc86bf6020aaa1b4facb980369d5833839e8cbce8029a419b0e964ec8202c1fed815d2d38495c0148a233a0025210ee8ed240fdd39d146a137062d83f0df45e7675110c5fa5a38c52ca281ff6fe8147ba81aeb7c464d74b3004ba1e25b3f0c4b7817efaa781fa48d774912a5d03a7b40c7c1fe923cd4433d14a5a49952a56ac5cb9b2041e81136819782952a2448102e5c913274e9a3469a2092550096402329127ae52c58a95fcaee03c710166748d9422254a141f7ca0a1993103066609869f2af86c027f200ed0352fef6f2f2fa9af9e25767117ef21ba111df52d957aa43a5e5c755f772e6e2af55ff5d5537675915d89fe70fc68998b6e1154605a34cd81ba0778a2d260480444ac79b9357c5e5cd442d42242a9666c286b636b0055d4730dd4b52940b78cc09e217ef16ada5adcfc17efd35b4ea5bfb00fd7f04174817832bdba79deeb515159f960ed94141d953acb5fd88cba28755960aa5679fd9881df9bda747d72247060916e9dde2f7da00e89a587a38afe9b81c06ff59b91b12e253ce7fc7c365c7cd2e07c93bae8a8cf671a1a3cff80f9822a7a7e40109837a79e5d748918f2fee27baf34f89d7bca05577a9621ac2d03dcb73f6a6053113fba1b32a25b262366bc3cc7c0a216329e4f5834834597615f9489b12f76daf73a98bf57338462918dfacc6191fd51c3648d28c204d5f4a3bbae99486d41facd3104be11fdc70c5c5fdf626bd7c7b85955cfaa87214515a8e07705fca4a84208f0d6dcb5f29d5e50e127d591dd9619f3b9c6874519091ca473bcdedad79b596bb7ab6cae57fd56f51779959d063f9c7ab53b46abecea183df5d45fdc85cdb0da7af30cfc9ed9d75407f7b7ba0b9617f661172d200b5ce8593eb2f9070dde9efaca16f163c5bd74ee2c76857ae9a8bbd815f787c3e5d4ae507f3828c7e4e5361d2473ef0777576ff55efabb9549f679b2a55f75cacb44b35a262fdf5e5e52efbf945eedc30fe856e97d08a45ce0c2518bb2b53bd1634131a1b7e91945155d08f403bac5f246894422140a85ca3254869ab3ce39a3e8dcfcb336dd3d550a48a6bad9a3a90c85fa4bbd89b2331087f7d414895e73293b9fbd2d83d1a69b7b3475914dad507f3df809619b4ed958ed3bca4efb44d6a63bd1abb769ee4798ecd04af492e895648fc8815d47af44b7e26869997e43abf78745f5c9c49a22ee654576da67fb487756baeb8a873c997e1cfac10f4613d964842107bf19f3895a83c69a7967361bbe076808f7805fcf1490e00c59ddd58b5e764d1765deaf0db340757bef19119f211edd16ed8d436bbd59d54384af0c5f1727e67add1c01ac7a408ec61704303c2247bc8e9ef1836625e16d3aeb222df3a60bbaa68bf4e426d7d86d9c6c4a7daa863add2d4943cd8df3ba27f3febadc38f83512fcbace9922226c8f95e90e8ea63f24b063178bdea31d028918b2584ea3c7ae6babd5d5347c6d97bd3e63132f5126b241ab598ee5335c8be51c0be4b1611da08d11760d67ed411a631ad4eea58309e9d9312baf0b8b5d51e44f84d23e106b33d7a6bb7e76ad5e7b165dbbae2ccffd3d1b40206e71ed57a6c179d582bec561acf691cdf32d6ea6e16c2a0655e6be411a4b9cedb8b92ef1766fe695d747cfdb4737d3602c8b6e909618c3ae03bc41efcdd6b487bc3a401cb27b83345e5d57d683351d200e5acb35cb325dd8225782081340ba6363426a190ccb496017b7892c97b674937d2eec0ccb756061e9c1d3c626ab6bda31ab9de33678ddeb188659ee977d92fe695f514ab5d247d72c113cb23d205e9d2bad56df24875db43a9c1c4eb7b8631d84e8d8dfe855bbd7d0c570e0b56dc36ec6b4c3edd9e1afed3e39fa8600f8eb2c87567edb347a8c7ebb462f8f2c67378dae69d7c7e8f0de8cbe5d1b246a577617245eb4c76ab6e8da2186451a04778cc3205762416930d92f4e83998669d7100e76d9ad2071c32c8693afa106c04079db2f0b93599a03c6c53f455763262e5ebb9b231773c2bcf4eddec09cc2d0d333fb6036982c131d4279d1b63aa532579c1dc2bbe0eec2be96c94497f3a98f20dce8ea9452bac9cce62138bbb43cb60b39983cdf728ec2d2e70d12bb120ccc6da24dc3d8d5b15c042e3d75b2269b87e092f69a878305f556ab976c5c5d7785d97c8ca960b88a1d4208e97668b36fd6077c763398d1c31f081901e70738f44d2f16f6de893cd8b72cbb1860e126ddc21e7956d72525dd8161c72e065838bb37f0da594a20c13de02705157ef09675dd9a37aebe71b6e36ea783d55dacc1d91a3332de499da37b5d199a4d74b73379ba8bb7aceee26f547a5a844a5fdc7e2bfd3dd59be660b9a9856805735dc7300cc356bf46a30cc3b0ec97fdc161ec7a42cdd7d0b361c2f1d795f9e3f2f272df4fd418f9fd645c916ead8c740be6f1f148b79044266292a8a45b2ddd2aa160c0c891c9eb0a0e560433821d11590c09c60496045362b19c88bab27b0d7517b18b0853c7ce266693ee22ebf9fd5c4334a8d7b1bf9ceee275230f1d427cf11836f7129ce3359467c0b07986121c7f6d9e4f5edcd238e98931bb73497751fbca6a4d3a3e3af1898f50629ed7865dd835a4c2b06b48bb7669bae6e1882b8c890ba06ead4e0fa5748d8bd3c329dda2874d782dd57badd5ebe8a14fb750a78750e0cfb3a13a3de419227e4aa9535455acd0c32247baa59d1ed2d1e96112d3a9cba93cada7dc4ba7874d84e8d6e93d5463ce5adf4cace9a12ed6904e2f21fca88f550fedd7b55fdfae11d8573db26fdfeecdaac51f86797657a2876ddaa65776953dbb0bbbcaae4d0156a7196624d6d8ccac2e8604c76c264342b324bc2e3e6650be83e3331e0c4acbc4633a51707c2605c757c198151c9f23d0cee4c1f1580f8e6fb19991ac488663b12b980f96f31e8dd4131c8feac1f12c4de0f8920e8ee796e0f89a83e3a5e91a8a32f1bfa2866a8c5988af96874d250b7d70b56f0a26d9c71d21e250fcb72cbf9ff7336b1cddec08e5e235740d09b1ddacba596db986aeec1abaae211ce34ec65d3ea0617b2f06ebcab8303a91e873ce39615cf4c3748b449f73da3f9ac3c2e019f3dc82a7ec9a38e709eafc04c0e83237ab62aee8ce28534a77d7cf9d3fdd5dd3a7bb2b499d584e77172121e529fa15a55b30bf7e01754b4ab7ecaf5f41dd82f1ebd7946e75bf7e51e9d67ffdaad2adfb4bc6af5f56ba15f3ebd750b762fcfa75a55bac19657a092ec9d819d41d0cccd5d1182642e9d6f57e53a8e10966c1d7e34f8c40b1a6880c524314f0f51834a56b8a5c53ec600cf87aacd235336f8a2b3ff87aec81114df98824d6c49c2873fd9a302226ac85616367634f7cd2ddf57b3d868d51babbceb2112887fb25ba3934a8a2c35cd115251121e98e1261469eb8d34c7477ed34998f3b6f2a53e69d4140dd7539eef8b0b0b0b0b87814fdaab53e77af3e7f0ec0e5e5ab166ff116b3c56794783eee449eb873a3ce0bc6b3ea3e570c730b0373b3e8714704739b1edd9babbd23181b79443762393bb106e21021e9eefaad284977f108be9e4548b0e8087542e90e357dba25fa0573ead34fa7d369e2d3158fb06e9e306eae3078fedeac9ab7377ffe9fef6b1ee6ad8333078050364a4a90b2a041adb3bb9b89608e728146014745dd74450fe67e7d8bdcc8923e1a8d46236cf43aaaa48f6cadf5a7938e7a7d242dd40ed25d7f9a46460ce9ae748988325dc4eb4d47bd3e4b5c4fdf4e9688fafc82ea65523aeadb4579988e32bd9e646f4cafdf487447cb47af9664ba10885f2dea248bba093581ae299d308a88099c8c08aada33dd42cd1397deef6674abe5a877bf71881e691090f47edc00367d9352ce91e98f3e6cd3260b45169ac08f0af84171c50fdee083581c996ab75896ed1e8d222e11f40995bb9a68022dd3b7e9ebd87589f040cdf3aab08b03c1f658189d52f3317c0c12f13637d1cdd85fdb4ce4fdcf6a9873f9f6b66bb63f1fbf633ed263df418ff57bf674917d98cede5c5c1e7b7e0775f9e431dfdf3147eff73291ada26e0f88b7a7b64f55aa830922f537515f7ddefcf2beefba83fdb96d3ee67b07112cca1353ecea2082457725c222d1a5a27336631fdd00a8478b00d1a5af6febe2f2f84fbb8a177dc6ab838776ee3b348e088ef13bb8fb44370fc1b097808018f5bbdc540cea435d746f508ff746f51924a22e1dfda23db6cf4bca43751fccedcfd54ba7289d9b55356b62a2d3cfa6f3a2d9efba1654776d7f3afdb5884432350f3597ef8877b9da5df1e0ae7d0777ed1e63221f2d132c7549bfda815d22789e6e135522fb6c1a75d1b5d3cbb74dece6c6d8396ab31198d24751bc52633947e9150231ea589cdb4f271d188689e6e95b73d3e6d33340046347d9bc8a5fb91c752238de15771b313b6d1eb243747a17cb437477441e530776d55b72eaa6abeca33a88e015f6d50e7a89600cfb0ed13502e7d15317bb73daed269b8b30028f46ac0783c4b76d1f61d9d6375779fc541c4c9d2d724eed5814591f13fbb437dd8d84a43944d2e649e3a70dd2555586face51ca5d21b1aade7c9088df81c02cdecd1a68acddcfab8166727dcbecc3816598162a575f8bb40f4764b54c5f150daa57d4f7fc6665a19e9280f182f1c17bef3d389ba88fd8bbef3dbbd76382fddd96aec1deaf32b5a5915025aa05f5cdc426039278841a0fc4b3019b703549899a9fcf01e41fa5bb4ff2807daad8dddd377c78ef1d7b9eafc60322f22022c6bf6bd39daa334bf6e191fc80703f1fac033e3eb40a9fcdf4a4e5280890c49de13508b6c74a9293a3a3b3b3c3c3d3d3e313e3853fdd3be489efbda77aef29e9f7de7b42cc5ca8a43b1854e1c42d9f6c918a9a67fa33b1e6f0f95d4afcb6676db3baeb779fafdb1d070c7e512c610838d7193140f8f0b3c2095230a5b2e361d9526740a9d4777808b4e8e0000b9984ad0a14b868ad8a1d0b45154d80e171022110048a56d43e11dd5a4d2068e4c9c45f4805c70974843d1042290d83a4c0291008e2c6d78b37cfeb324e0834a5d4a167430daf55a33ba0d7baf1aeccd9032461089e4cfc93171a79349c00818ccce7eb52caaab6c0207ac595430513f35b5d585e565c427df812fd92100806d1a09a676009e4d3dd93deb15028cac0210d6391080a409978f93c2794119d02b006f24419f8031738bf2014ce2f683e316415056bb0ebe28a02871e8d78f883180f040474015d3f10e8fac1f1333457107e30e268c9f66c88b050b30a1f9e5ea142a9592241229960457931cca6a915a8943a6386a65bdcafd778361ebede6517fd3aad42cd106352aa083f2975e227a566f27a1273492bbee0028b466064ad83d54ff064aebf67548708d32b913c1ad72f2764d58545cd2d18f5b1a254a8cfd8a55300aab9055f077834ae5329d42c77b0abc6a3713d8ba252fa842a77bad5e4145ee72cc4b148d821418c10d987b58763da87b326babb64ce25553af8bae40e9ce245de00ec39c20ee9c3985541d903938044fa12b1607bac9c05e1beae0b421885ce79200b52c2f6585984730e39344f7c45e0795d7c661f0ed84da8d9e773f35c58448142210ac4917d66a52564014f1b85aed70ee069630e0e0e0e0ed0a3113f6df34499289345d13aa417e0692512797838a37342c5922499ad83d6795d6c425d75e358f5d5d138427938b234541e1e18cdf370887f9be479362096832de92c5c519b3027fda9f9f5f4101e8dd843782f2601c726e038857e0cca703e7b66d9d821e2699de86fd08e9c0851dc998d3b1ceeccc61e8ebb513b492be128136aee374fb4a2e6d69197146aecc8854aaba8d8b7e66ed476d25dcc1ac32415f57af6e3a49f74171b4a2779ddeacee9d6c3d8cddd83e37539457409952aa1cac3d32434a53e35d7c031769547233edb4205a23b4a45cd352e75f4218e1c7576cf93292abcbcdcd4322bc3b821ff9a07de90d706c2e6c1d149cbc4dbc01b3d84d7457834623c8eeb09cdf36ca0707c3be91ed850fa36cfa321053c7665f334a64f6a6e1e91908c2ea420f5c82884cf0386b069212e19829961500c210758f72563ec160d610698910d5a519f15b8bbbb5d00c4ca146c7042065c408283a3a311dc7de509b8633602fa440cd2a002281001074ae0c0880e0880805d4f50e001517c3d2d4001114400062618610933c8c107ae28c1620e20c91952b00527c4800b26100312e212578a5c02508115983441f281289c28211659c3184e2045e443105fa8420a20e8c118ae504554620d3f274882dca10032b0c00b5ee06409163e50862878a00753441d685430e50c61e87162054aa02008b1036b5072e1c0022243a8028b32b46009169ca00b11670d4b9c000574c692dba00650b09205294430862cb0b8220bd3058a223258c2921e6081044f6803164ff8bca89a1c0d4d5cf1851f26a260031624e8491540061ae00108a48c200d6a48c20aaea8410c39f8c085a25172802eac21c914a0ac20a7066b5083139cc8d30bb0c0842437d8021464f83102166a10421318197045848ed8e0892cace4a8410d4974206ac93902862a7452f0831534796268c80a27ca9099686220cf70822244608112257490062ab014c0015ad02942154880dac006340c1501c90b4a333432b0c2022b2d1081951464c106671852828489ca538222c0a00a297a608329ac0c81008bb9e5f030c31aa0e0840a96d8c11566e8821934224c68810630e002128e400227cae0041354992a800015415288410fc8b0c40364308209a830331b207a0ab0824705142967b0c24f15527c4188490994c8b099eb22d2041b9420051e202c6421093d862ad21082204c298321433c50328616780009382d06347c8107598c81d00e74a850815016c480850e031aa0605996296179624508a05082893158e92a68d811c01ab00f7080074888c1122aa8588118c0104512ae0e78810951ae256e1ba84085123d2240010afa0b55804215a840861a4cc1091e2f3cd9398217a2c067055cc1124f8ea0a92cd1d9782e02919117a4e05aa20a3fb0028a942b0221008214a1304c4102134da50a3a9b1531f8c1104600057949f9ec978cc10f8a1f38e98117e407b6f88df48ef8805ff57837fd77211568644a77ef0d81ba7b7f50b410138110b260db6e540834434a8c1626a6325014c4d831c618638c3176eceed842b8855aa8ad14318283833be2e0ebddc4eb9dae69272d73fd090f949e283e527ea6005509aab879d650f37cb5da1c00a64585af279f81af4309ede4224efcc27be7c0b82b086eeeba6e5fd7755d17865dd87561da76ae3f6d37cbb76b0775d58374d372529f66cc79fab675ec39cfa2a23954d7466d557733d70f0e5ff7667e047f807387f8a0e647e51a9de590ced16dba886e8d2cc9b658eccad1df46d808c3e0d5448038f4af6931389b67ce6b4eba83d8db62abebed0477151c25cdd16f0b7fd969db492632df166eaacdaee085c1efee4d20540874abf4f70710d1fd5814696802c31ae017051a8ce06dc5e3ba990886da8db83e3788f36c5c5027d6a0fe4ca3d1884516d1ddebd737897a3acb214eb7b2b77ccbde5bec90eede43029f3ea45b2d6fb936ea1024204e114674f72ef1e9d62d54d4f3a35244ac4102e240dd55ea0f07ea2d29fbb22aeadfe93d525f28e0fca800e1c7c222af27d421cfc6698620c313e0f74d9a1eec4003b89bae102cd9db4a96966ee5d75d0bb4f0598584e83351e67551a60555de9510227a7dcc5bbbeb2bea419d37be06887e1d3e3211bdd6cd66d8019c370547126f0a8e7898ae7938de39bbd22ebfc11ef366bebfc11e1bbc795e08ccae437b7db674f7e86acec387436457f30f87e89794da335ae67ddaaebb078d3c24f861ef5128a1e751e9233971489479dd905703bfd94974dc5c48d91e4dd566887e052dcb32b8654c68763905b84495d9fb35362ccbfe8306c37bc3cd60f691ee4c9ec960d6f0e66daf3fd3adbed47ed120e04bdf66c8eeb2d75893bdb3b764d959fe1e8dec59f6ed504226f3070d2615691c4a18314fbaf5b96bc95438233dbbccaefd6120e8e0d24ba2677723f5ecda2f020f8038b37908bcd231fa7b964ce69d207d7ba4d1b3d15f366d6f1fd1b44c3fbb33abecf24e17d45c457695fde19857a469997e66b32abcc62efa8484c0179539d3bd19ddc11e4cc4633dc207af7bb5cca450fb0f1f2131fc6cecca38d08d61ddf197fdd13f5c947a9bf7c7822d3858becf81235717aa76cc6a8f2653d29dc4b05fd7a5b5cf8ffee99c4ed29d667fb4441d001c00dc0f1a212a0f964dbaa693209121a3055fd91b42036bc1d7bda1f11a3856b7e9a6d2429a10467f5129dd514aff28a594524aafeb07d74bbaa334c34eb1ebded0030008639fd4020000c72c8d6f376a0f7f24397d6693eee4e4d9e1677bd29dece94e6a1b4f775273b235e94ece6ea23ba989629c9b411749e9eeba31cf1795eea6442a1b5077728b723728588071d21584f8b6652e898a7dc225ea8c39832695d6e99dee26941902f88b307c20c065a47427a7d01fa04b814c4bba93319e0955e94e5e97520922398146f9e1449325ba9365809b7c640e570e570e570ecfc7570e393c872b875f0950c017705dd735c3d47359938fa9e7da9ab87e2d4633f5987c4c3d155f34261f6b7ad29d3c34f9c86bf2e94e9a7a4c3edd7aa618d6a4d31d954283ba15630a155a850ad1d0d0d0e099e789f1371d4d7ed3b19b4e13c7368ebb9683fb0631b8d3ad6bd3d99ab8ae8bae6f97ede11c036c0fcf86f8c569d82f3b35ee5bd31e7ed91e8ed91e9ed987b52488e0dcc3b533c01e811d48123898013d3c521d106b3d7ce36cd66e0f87147b531d17368fb81e24e21ce3991623c66542ba0927ce5c40313abc7f78e0e13ff0f000f0701c78384cfff0f002f07002501fd44de7d93059a143f44ab770ba95e3f2a32233ac8d4fd1734c919d3913356f3cd7d6b30aa36672c537a8f00d05e87c783e8c6aa3674cac52d5fc754d4dcd6710a6591d5c7670897169171c520148fd904abd9fa83c1c88b3049974dc1b2c41a6b76e104ecb0c4ecb5bb41c06e7e5e5362a8c97fb70f3e15f94797901361d02dc3c67c4b87c7117e77a5cb8f87ca1611790ce75d0d941e78f691d1c6e5605e0e67aff83c849ddf13c7f2ea0ee9a7cf24c27ddf2e1f2b3a75b385c7e3ee996cce50e97cfae742be6f21367169946ba15e3f2f348b7662e3f914c2666926efd70f9a9a45b02b8fccce956002e3f97744b872e763127cafec1d731793d87b5b1b53bec242b007bdd8729f8ba8cc5e117cdb1c38c27b0f600e8f003176306c3621c9b332608c6b89863f607874590f640a3468dc6c136151d7c5d743d86bd5e773fd8eb01f0c1d775d082f025842fec8fc6dc5e42711cb3a57736f7cfbd8058ef497e279b619116131036f79294cdd2c566d67b5263f39b028be41904a7d8dc4586e0618f90d8e6d6a1b1b9a14cbb007905d8cc21c1f209b099dbc1f239d8ccfd607903d84c91d01d2c2f84cd1cce9bce0e1e32ee5dfbfbc3dcdfe3be5d1c0d5b3ab5385656e2b83562926e6997300763d7ec65f3e1119821d59496ea03c6aed211cc653eb2cf9be16535ac0424c3400be602f236bdc92b6a864930f8182f12955cf0931ce9105e5e21a7d4186de0f36c4498d3c99c9292eea42d5d98d33e114a0861fb74eb457936e6654301cb8bbe50334c026f400c93e43484d0a66ffa41e0f5ecd5de5cd8b35f18866113b34260fbd886f2836594d75def8819ec2cbb8e1da65b9adb8152e04ec39d8d4950acd9ee9c1d3b7889457d863bd79b8a8ff440ed166a2bfdaa402f30d95eb3dda0a02b566093ee6491ee64d0a3217b4ef9b6825dbe859e8debf24d8667035e2866f8081fe1690635431d2ce5e51b3ac1720858c20b9bc0a06e6997d7673c4698276cb20377ce9252e6744b8984284e242ab9f42f991d4e4c1eea744b4aceea805874e7a321ff8e601861cc340d75c678c998435957d8e4dc1a36775d51b664848ddf0dec82f008f8e2bc6c906e69a5951a2f1f29aef0c1b9c3525cd18325d0152c3fc3072c596004732b18c2dce3e5d63b2e4e5e35c791277ef241160c5f3084f22d1f6f566119d950e72f91f623209e5c7d36b8cbb73d97703cf76d8b9cbdce5d0e5f1c0b92e0ed717b5b7b5df8da661c20b6a1cab334785d418a5b80826fc00f8a2dc420d21cb07f83fd3a766fe4fbf14160e3d7812ae7f507b9bcef12614125fce0ece4e2a2858b1787f4b29ad08138528143b10c914aac128562cc5c1cc1d91bc2eeeeeefe00ce5ee8ea3aac9ebdae9e7d66f56c756d75d16441a5ae9a5c7799eaaa1767b119c659de6273cb51d1850b18a8c7807161a02cc430605c183154ab67d3316a5887716d8c182c9b0e96731f1d957a7104091349643a19148c18994e06866a45056755bacb2295eeb28f9ea8a667d92375221525c01b2dd9239f489f67e365974d74eb3e9bb209ce6ae604679745e0b37e7689d3d5a0be20cb14e02ccb11e02cfbcbf203388301e3050a7533cb6362be8a51a966b6ea11f3d55731f726856aa25b319e9df4e259a67ae6e2d9db48b75a3c7b1fe916ccb3cbd808d45df62ebb8c0cc6e35116464c0ccc8548ecc2450b172e5c5c3e83c15cb46089b9ab1e30eee22e60dc9b14aad696183160c4c48811e387d1c2827a8c9854adf786e5dc6f520f7263f65cca58582c54c3a391c5b0b18765e39396c90ec3c69bdd6635667f765496fd45f6956d24d95d646f615b4977d961b2a14723537df5d35f66b7327cf5d5d488f1663b4f5023968a4155fdf418a3ea9c8b854077d95596088d0525c2a6c7a128931d0ec59a99ba795654c6721fd05d36841f5007b2a16e5de9c6c95a5a7ee3b5e8b3d7803766200ed9b3db7836747834b267a5eca523325cb393ec10ce3eca4eb9ad66d721fb4c26aa389b8f95dd1bf9d322b6e8c1f658ef6d8f9b8133d0fe98c1efd90bcc60786ffadbf6b6db85c870063e20bb7d67e62443bdfef0c30087e17b6d2586a2439a0487c389ebefb253762767309a03321161d2c6c91f0d79995373fd41be4ad6854d38e705f3f08d8adda8f391e660223a667b4489b15818fbf6644b2947aceee4d150e555f1d6da529fccc772ceff6866004313dc9ff30d8517ace0be098a2f14c1c7da6510be6192c4fb99f6ddcd9975b665d9a67dbeb56b51d21efd09a98fed7d5f77f71d79adcd689a6306f7e0d6fd801a348f46470874d73ee0de6a3c1afd1b95a667772de568f5302bb3703fedc19eee1e19527fc0b301a790b2efc91c0924baeb5778edc612ab3bed5028471698689997230b4aba7bb8b5bedcbb514fddcd04864cc0eed62e1492988cefc6114126d69e4d9f17fad01e1cc0a69bbec1ad6f661dc15ddbaed9ed9bdcf161b17665133bf1fa8b49d40c7b46df5e843dca441e9646620deac6a03f06b1a16a3906d5973e2b859f2769d921cef2e78774188d301193905a5eed11da834c7c44908a49af41cf46bf598f5beebcd75528646220b10d3898d322777a96e30946963b9dc5e759b63419631fc1fd99851d11f700da8619a1670362387530fcdbe02119de0d7804e200614bb1f2ae1479531e90508642cd44d70c8142ef850143530d11317bf1b5e6b977e3be43e0905ded375b265b3236d6371adf4c4deb279aa6c1663935f4e9a08fe94977b0ade9429f23469e8d8823ec0e48ca869aa591279978962ac0f0a22fd40c7be00d88e1e511ea73dd2cb11088fb7613c1f1469fee6084d25d8c4037da45f6267b6757b6f1441fd1bba75b5a67238269e19a9c158db4f4c346aed4684428d6a0e6ac55a57ad74ae81a6a6443ed532ca49193d4e1621bb2dc911ea8dafb72a789e4e99636d5c004752b5d83ba5048c991da452e8f18381ee90e665933d11d3c428ea0d0a301d550b33482e1a591581365936e65ed7247f6e0d998bfd1decf130889f3d19f7fa2054a707f4eed4335471ca120213fddd222946de678020cfbc6233358272baf2a9b2803e391d60e8dcc380be76844b5e445259109e8d3ad6e3dc120a64350a83b5169467723eed248b78e4824f0462b8138403804af740785e8ee9db307e8aee55906165d34a39128d42d2bcf06774804928a91c4986fb95906ced1881478de74f3e7596e56cd976eaef37455f6d7683ee2740b66ee4127dda23a203ed91acf87d7fd78327d083c99be4d11dc6fa956a68c1e8dce6e96f375dc8347e00df870681a6864066e1c96aa76dffc031ec1da270d42039261a6354d4315fd06c88d0fb8b7799f4fbf2473f7fe9c0ab3c0d1728f8185c03742b0f669b96fb688f98ddbcecd39df769394bbac4763ce6b0d647edbb6b7e5eecc1ce8c15acf78913de2829f36b319bbf1d281100b3f1974ea1a55606fae31ec116387409c9981450c7b7fc0b3f13004bac37ed2a979e6600c7b7e54a0ce0573bab5048807934024dd6a266ea2f0a35bf3d82df06e0c51c4b3911dab61a4aab61a710878630a187ee847a80a380af0f3d98870e7ca11013dcb58126c0827674670bfa19d9f184f8733b1638cb740e2a5cd1e638c97364b82fac8b20cf6ad5496961679f30591e03873b37c8cdbf405ed056e4e3761522484a7d363d8d35940dd3526a5bb8e117554eafa0d97b98c6752ca9b4dc9a86441386752706b69a8397b4625565294b96e4625280bcaa874eb49d9b00705118ee037630eec882a3ed832de25ceb837c85c1937d7989b278c51eac826ba6b6a86a02ca85bac53b9842e2a327e518979ff12ca6cd4987b84c4d73719b6c565d87f8b9c0cfbe29be46458176fba03338311a8e00533c0800b57e0f8dc5430332c31a50b989361ed23dd812de1045fb84207a683104091051c47900428840c80996189295cc0f146d10629183bb68945602c09102685fe86579997fe621765c498fbec305e557a308c67a983257934fa9912ea25d45d1fbb172d438df118e3ed136b6eb8794e00dc5cf18b0f96b93851eab44cbf57ef6e5675af2ea37bf598be4a556bcbce79d23162c4783e8689f1dc6198bf8ef13c83616ad4c03030bf688eecc6f829c66d620ccb7216152cc9ad7dff85ed69d15812a9235d54b209eea7a8e4903f996cfef17eb0bc2c8f0cb86fae5e98f00a8c653805dc51ba85136b4240bf0447b91902ed4b8834912804db97d0364d3b7d8760f425b611fdc69dde10a8702cc139719dfe7d9803f46cc0f7c409ee0c71383ba38c948f3252ca95fde2aedfa812cbb22be525ffe4757d806007e20785175ed0c3d1a22e5421fc601071914446048b2b295abeb91cd21c2f905ea9442681783445cd31080ac52fc4a038255289f184e57805634530760861774308b1c01814219a6881137c3da652c752a9d445a9cfd4b36f229752f75a2e1ecf7aadebf1335eebf478883dc2cba662f0647798509c30421597ae8ee3d3ea259bed4d6f115f5eae5b2982a2e01687f18d8585e6f859680efbcdc4b5b0105b7b0be3f46cfadefe05fc1651111547306069d351fa76eaa205cc2ad5468e20d94c9cc9d4c2b5c0ac98edc107e3c84ad4c3700cea0efb680aec591201de0880dc914d248f4cd22d7bec7ff13c653ccb2518c3b0c7a12814adb0a09a000418cb310b8cc53560ec0f6b9b8aa938b26fbaa3f16a2544e27820241c2f778540dce2e6d259875407eba7479b4acd6cd583f5d34facb8a45b308e3deac49afbfc7e56a96387d8e1956ebd1c7be374cbe5d8bb48b754c72e037b0cd6a2511df6f12dacfd162deb1b4b752112bfbcb8bcbcbc5c3e53612f2eacbbea61fff2177b3913d5b19d38d221ddb11222ed59172231102884611c0809c3807117cfa88febf60a892f1da33e5a1cc6150231ebe6789848ba37a56fbf817910885b3cbca1b8d729aef4f87852c9423240398a8781fddae8a465b05becb7d1a73bec2f6c84029560d2f3fb81565c58d8c2c2d8c6e90efbca7691eeb0a76c1be923dd617fc1ee629b89eeb0ab6c27e90efb137a34b08f7aeae9a9b71c6587e80efbc93ea03b0cb3740b621f971a189b8932d8773cccf278f868cb15a23b6c96b8eeb0abe1d9000285f07b3472fcd09bfa1082561ec67ed11ed7a3e94220367d87d7e2baebf06c00e0d1c08ea966fd7b153b22c37906b71215768a9db3f1058140320060efe08df77088c75ee098c291247b60e2cb15b64713637777c71863b499b951e1859007e2183e5e886ee51ab85b590a8eaf014416a2c42b07f2cab329c09c0fda7437fff9e4931308914e4f133cc857b23dd68d7a3d9aca24fb66d3ad076d4436a8f9fd083144ff60e438329b6ebd2b5ef0baa410dd3a132c62ac0c66991cc9eee41054a83ea03b792888a083e1e5e107ea71fc109285552e250837480d8089aa5479f9ebbea0cb092a153e5e1bec59c1831764212e617baccd64a194f24929df839406f5651a0cebe3696af8702058de93fca0003d2933333b36cf5249caec25fba3055f1737532a4d29e9a5fdd1562aa9549272d4b2be647fbc1f2893cc3c1b5026914a1e15a6d08424ccdc03cba77417e3c5110a17e0ccc23877580955eeccc41a9933832314a6c059eee4e098c3a3112f65a9542a7d76572abdf41cde7b02c7970419df96c552225939b2d38a2e7b6ad32190b24341c507a34f943d63e1477dc4c857267f257cce74f47d60d765e14d7257ea4d5ca2b3032a7498e4e062fdfab10e5e705e968c41229456cec41b5c0127002fd5909ef30e0952dfaf1b644619f821dd825900f8d0871a3433438c784241baeb21438ce8ba23a2084a457d40580ab6279278bb3ad16774cd75f8eedb75f5dda47c7ca43a688f1195967bb4dc2977dd9584722a5135911666cc745e6842bd9e1d4afc2616f53d77ef2ecac067b6469481c72cdc2e041e0d182f340271ba83940a2418b68254152b76408317f859a103022656e460c91fabfb7f9d36afe7332db1c79b3f60d8b68b0bb48afaa8a80d3dd06f8aae5d53c689a9ea53c96f9faf267ebb197ededa5db7c0775bba6bb95df8de1f0df869ab6d51c1bc28d344608c416cefaf6f26c2e11edb2abe653ecb750362d7cde0faf07956951688906d815251e18d7e18f6e3e56616e0087a8a1eebcddb34763bfbbbb79b657dbbac2efbcc0eb123b29a4b91f6d954c7fc66f3101c24aeb23f1cd9a707ea1fa51a9e7c420f3758c283385aca78c9791f951aff228e0f0764bd7b0fd4f7f7dea312d9ec42f6e855faa41f380e274c9f36b09da8448cf405aa20764ccd40020000931300203014100885a2b1703c261194a97c14000d9fba546ea78cb320a69031c810020000000000400000040c003a83e790697d8b48a0fc306d7d7b020204879dc931e4d9920191a4b11ad014be5cf98ad82d60d53f2520117f72fef40fce85c114fe28a9714f9164dc058b03ca2971305c0a42ebfe2065fd8b5e5f34384e0d98d71879fe2fffb3053f61e1377c8859ebaf63f78b035cd8d17b4ed10ec4879b1b9eec8b71e22cade0ec6e30b3059c880c8bbff6feacb9fd4f24cd64c54cfd7264bb467eee01086230d2af941c138080b1ec119a01052f66060c1eec6360b4c7c9eee48262000403df301a499171fb7d39186cc0875af4778c54cf64319be64aee9d37b3abe0ea69e21a7a3f98a2fa16d14cb30321042d872e42471e9518fbb19971cd3d72041f5519243531d2045f0fac96b9cdfaca0935b877a27aa344a50380ecb78839438eff3f4114956bde05f6b745e997d7d30875ac081b37299ad053b8cc79520729e96584bb426008448f09673c59d172f8161a336d5066a4f3e08f0205684060b48e10acb608e9094b28dc35e5093069da8199059b15381739f8a626b503057c729bcf05e404836089e175e25a17fb8a4970fdbdf77c086104c0145884805dc9b36030a8c215e73923bb52a6c771d18c6a60b55e9354104ebd20ccaa0522531adef48760b2c0a9bad0445a59455a5f65322e19b4dab091c3c3781b8c9ada68bb505ea8a1384a95e6e038af616bee9fc160e4016c35dc45083c865143d5334c1aaa03fa0c541e24d07b0de2368a4347f9be0d915cd509313870946a1aba3572e682503520908d30c423caac63121290c749b9d17450519720574e5eb026a08c0476a36fa0ae0522b11942e8bd207a2505b502d0eaf25ee0d4a3596916cb3f1123cb240dee93d18dd9d61acfddff4b2d19521babe6c5004c09cc11e0c7fe5d17511bc2047470095bd9c589ebd17cf84e44cfe3a38b7e0a90a0600beb12909e3f16e59e36d3cea679a9526653f0f6445ec0213bdb7555a4caf053728648e9a0afa48c512ed50b4291d8a94d52fec68d61dcdf46d62960809e03dadbabc8f85da78ad1bbc9d017e33c84a94289e786935d70f0fa5cc1b81bd119f42b23ebd1e94a0fd6eeeaa8246eb955374b866e9ed3af363932d24487a3815d8db77563a96f0159992501d71113c6aa749df855e5c51c43bb2779ee572b4be1d80c6abe6cd40f3d9ef7be0437f6f8d68343243473404301f199c62a3342c2db828ec5c30d985930b24cf6bcf5c71901c6bd73b26726f610a9a90589c173965d3ceda85f726262e82c069506cceaf5e77ef4b88244b6845326e1319980bfd3fb0935b5e223e88cce8f958aaa58172a7c9df74e437aaf7ab50b6c8b8a24c07aff1208dea421d6ec23486d8287793fcaeb9c7e3e72ddaa414f13a5fef41f5914ee23ed8d46ca5c716758916068b65d3caa674b0b080475f85d9108f131348782d9177477ec0c1c3459bf38f5dad619599231d88cb8783420d57b32a0835f35a8479463cbc332b6abb72fc4265a870925b485e64dde3d306467df603c851b854e33b3732111b347806520a8feb1a63eb035bce5e6cae677f77f8d4a1162e3ec39f17e78f4d7258e158d0998e5d088c52ef1212213896071b04d1fc819446589bcc4f267607edfc37f9387991a124529ba3eba8dd2458b50965a043caa81137dc80df1ba8ee11f15b3be5b110b2c0937da42a52b6a53a4581f96263df94b48fcdf0e4071d55c1d2cfde180af05eeed8e5664a7b663786a249994aa8a81070a036c01435db90f0f5d2aea127d002d0ac73974728e53d849331cbfa63491d93825b3eccd91daa6cf3904db7775aeb471a44d814076350473db51f55e1b371c57a9af63fee6d0b23d2e66039efb23852e2dbb23a18f2e7609518f94bf4bba9667730ea49abe7444775876beed161a2882d5accdad5924a18eb74d471ea5eafdf91b73f8b142028b798a5223e46461a4bde9b114a0e1228f1584c260f84faf8135dbaa7df5c96709993f5862a8ff33bd0ab853e2ce7131fbdfd7e56340816ebcc1da895a0266eb0aefa66a4af96da74df1e46fa8bce0ca91743e4a192f2f70948f1a2a2f9ed7734a766a00966894c79674fa57bb34a054929b210351e6927323b0c23cc40697c8113d54fe6889a25d6458e585c6be05e64aebcf950e4d0bba7da6a8f1416e6d3508f4c06c5bf856103f29b4e0f63a3269d102f6d5105b2cf0440bf4d863f64524649a3b94050611ac5978fd11a1a01abb147d8bb95083b6b48932a881b42c486f4798db5b98272b226cbdc9366286a66dd8928d0ab11584b1d84447e34666d6ed01e189edb9aaa415a1b645d14bbf7850abc9eae0f4ad40b005e74249dce62b1132456a2b505798dc860e74d09b5ae0e6a1b2d36b02eea8368e68e0232c22e3936413d46423992183d216a0c0e3ae16a7f27982ee187db0ef579fc870bbeb6e5a1167df5c9b2e642ba71e275809518ee69083ac15770dd34e441d14f51c15a8284ad45b95544bf19a90948364184505e96d3e4625197dc9dde22c1ff0ca17163818ff04cb3f556612de6b68a38227d877cac15e8aa8801d376c2fa8a6783202928ae97bf266ea360535bd226f8d065ba14732a69e85c8a302e2d0cddea282c21f304a313df9c49299499d4283aa953e065dd45750c1f326b6f5e02bf8b4fee10bbfdf8af035a5910e8105a6256a0a01165cb0ac6801220f5450f088f3d79a664ae5a5b76e557454ac60814e2ced20a040e2d39f7433d1e3b02c04535e6f58388616ecf88a625b2ec12f3b712327a2e635943d9cb7ea9a1b03b64ed30bc1450921fac567239ce711a821d2822b5bade0769c32455318c6739cf54dee26c03100f210b0a3fc71b171eeb8de2ab53135580f93259e1ca1371ce305da473ebe5b9dcc04a0f7c656ad8aeaeed7b9ae09d023d36ea48b551fe49900150291a920065230755d4c8004bbdc9b39505382ab0557330066db477bd076c768268050b54976e61284930724411f0ccdf6577226005896e4c89f0dfa9800c299a5354210a530ca3494608d214c00149207b4eb2d7126685b95d5893feb18cb4234f54deddc45557eeb86e4dc487715fccff1ba6167c3ad312bb7d7af7249a4068cda7b1c0b2417bc48eadde7e27966dcc64d6b932c4ae1c2b7662bf95cf4f0f4c8392ab939e21b0977bd2ec1982c7962e13dc150c5f6efc96b010450129c8738024ea8ba2a392bce4159e7175a67716e1ae69a2cd30056afa1f8f6ac4f26ee62e4dfb4b68f8b58b78802c24690ccc6954637538f94df843950f7a0d1300883399260b89b39bbb79943a011fd71869e1de1e491a80fd9b45054f0c8a455bd158981c585bff6985e6332d2a2485e6e2223cafbb31e91e01071204b9ea840bb49e8b53bcb5da70b2c902ac7121d84bebe654ef60e88abc9741faf18459e4f22498707ead21dd1bee228ba0ca4298e24c644e933f90d80678244501bd2b161fdbe36aa36ee1b68838ddc4a4b1af97760744d79831ad1e40e497730e2b92cfa5ebf3d9a887ff5db7f7a9ec23ad70d4269222336bbb31f50a3051e052c57feab4ac89004eb71888ec03568feb1068da24519592ad112002b71b31a89b46e786c860d76461ad104fea39859934089915c080afea91d07ca65a9aa396f302dab37cc6adf0d6570b18dba603eadf584882cba65c574456263509cab68c8355fae6edde70cd068a47cfacb970370dd532e3d1031942a608ef048a4001f55633bb419c4a6f42aff7934480a18a0a0a04aa19777fc01b937748bafbaab2de7e5cf18af9bb55b3f9b8564927b14f5b5f4662c56615d99f4dd1442cc1c98ac94f7e45461bddd17c61126d77f04844be0c653e17c391047660830cbf6a8450b905a2047cdafd3b7dec429cdc93ad9c87dcfcfa2075de1886e828753b6a46007a3331fb794f75d6d237230be1512b1a164e9d058db1e317e596cea65be9098c42bc812d7263f002bc77d52c39ea576c1ae9d4b5dc81ab4909dd6a54e503812abd909cc8aae59b44ed062f80cf8b7a741ad2a1b856991e4a64ac7ace93b0463aecc0e3808af8793041eb9cbd1cd30b58a2e14b263064c5b3d73a62e4fd10f6f6e035280f93700010a920b52b99d6d353ba5c0c55e7b46df4dcc1e9c5ac9a5ef2b34650f2c5e70ff050ffb7aa6eac1daa6a4c2bb0adfea4cecf659696b67b4f1b1a7b3e837560684397b187106acfeb6b22cf002cbc43877691713bd16925465f9029bca7b235ae8fe995c477d644e9bef72d632bb19e2e39c95594877a49ebd831dd4f7f49e901968cb9b85bc2ccdc915a67328a386ed9e560a96a78b734d86ba9b7300464e4199b5c2baa02da304d7536f61ba071a41d932425bbf70d03226701658f0fcd158caa33e77d495c4f932e2ef82bec2256db7ebe79d8817902926bf04599a2ce09e44342909c8a6d259102248286215ace4417d6cfd3f75ad11c521211eaf43216554ff6987eb8d67b32040547085040b15651a3c86152778263da7bd16c79befd8019223c0fa47775ac93d0447885f884876a4d383483a000a791b5630d3f18d7e4925159b30b2861322e1045800b80bb9ef1da37867f8f319dd57ce54c68350f900d9b802532c4d434683feaf2c8824b935eb4ac27805ee76d626f1c76b88f0c074e5b9780a820ed16175b753db8be242ce0710845792b9914bc0687fc981ee1ba7d40a652558f49bfdb215ec9d46de626691fa2d3f18e50c3d3d61e2e9c1153c375d4fc93304f99010a3e5a0211c2cc83756789b781c72bd1fe48289935dd632d33e5c664050635cd65ed54a7efe27fc6f8965acb837436a4aeed66e547e30f4fb1c49fea511ba47ecbd9a29fb03da7b48ee0442c048bd52af1fde97b6d46df063466aaac2279015c1b490170605bd1e7e6552609328c94780f1cbbd05ea1520a1b339691025cae832bb0af32d795a61f9d3efdb35693f408f8c6b78b4e85b640cf00974d84be295dac251801941f12e6bdd42874c4e142a04b68f6db5606c31ea381928063d016b6ae4fc3bf2569019d4166b3f2b4aaba7b1cd14c8de80ed3dc123b1e0197f0504c77817fff9c89da2773bf14829e751e7af6492488e65a4973ddf5776de0ce54d3c47904763202db27f0403bc8c91653b6d2a589d796938b8fb2945097cdb04d54831a8b1c68ea3588c3bc6f33005a6c6a35d274489c1e1a0de88799218ce1e3c6a50c3bc9d51ae7e0980bd4916845dcd6eb56bb2bd0b6dbd11cbb343e8a76ce1e84ba5904ab50065de895d236aaf62ee850c4d56790610b7294ef4bb71246d1fac1f53162b64e086832f394546fcd3630a0bc4017d93d0d70d204155302d8f5d7a0f11271c65f15b85006892105c7b6df9dbcce24310ff3953e0bb70a2a2748c04b840a97ca4ea14490bbf00e3717bcc9fbf58a3ea6a1ebf7ec491f6c9b4f77b334755bb6c17a471dccf26ce1b7ce7259e41334a5842ed96d328f5a0190040ca96a59bc14207a6396214ef6445ff11f24e67fae5d98c707642022bfe9143059a2d48acfa0f2ee075567795a5ce49d6fddb5343375768be971dce6831176923a29899cb67f46848904ba7010b8e4d2dbb108d96f3c946fce3459223ae91b621820e0e5037c0dafe286cd6ca9b100f15703a0ce7203daf8938f7966c04a677d7686bca1ce510d4af6b10348c431e8087ccf2938f344c70ede9b20ebcb689a773f8459b8961ce28eb276b10e1486862659daa422323cdc0b7e3c388a5baa60962761485139fcca19880ef8ed6aa70ca4f9aedec17d1de1b06da19b644fc63fa61ec8a75ee3f460a6e2b70ad0a0c89fc11691a6981107321c44826cfc230147053d87912051751a2519c968ddce958ae14a8b2fb3226dfbd3d4522091c7ee68b49320684e0ec057c1d463f17b9fa79cc9043835d880b86159b08376f350c05e4150e4592cb9dd04cf7d4be7481f8a25b643d767a0e8607f636028c7cf7c65c8ea0db1e32c27a8afd76db1878b7435588c1acae8ec23d7ec91efef8d8345df1b15127376cbb8043a2ccebd82be8605e3d01add317eba4a8330f9dd09074d8d3d0ac9fdd0db9f9fea21181ca2fabcb45e26928242439bf0a307bbda436eea9f7061cb3f60b716868ccc7aa880c0bf6c41c3e3801ed0710124d9a3f0d77be32b02bccfdddea0ba7425e52d21612174ebb6976afe22554aa47f4be904566a1e7eb87ddd248b9d83b5ea4e7eb54d99fba6b5c70bea8cba48b4672d74624599274f75356ff684238e0d340d898913c8d7fc33dcc15ad8ec117111a9f9b60a49b44b993ba1f5d1afdefd4b8eabe21ef7483429241fb581f1944bdb5a71fcc39cd7842e8f60995551517ea4ebe5166a75a1b71980391dd0078a9e2506ab915e593680e116cde30a5e3d882846e1a71ec999d0b7ffaa085d15bdb3ec9a48fca4faa470ab385bdad330f326588a16959abd5bea85af784a331b2cd4eb7755d4201fbc8ab6a500f9927605b72578340dc49454f63e33ba4e86cd3c2c630051358e1faf0af02e20209f3727092a3de45037601e00012f3d6c7e73807a44611f429c47970149d7d418a930694467996c810c47cce508371494d1758d601b80371f9811ae8b353bde025a1046322ad84b32162d603d2e9c1b9d150fa24657dbb33503a6ef218ba1772581ecc996ae0a60659baeb909e63f14a85a93086fa0db05ba792024fa3fff8852e98065baf18fcf2c01375f9e318f3c00475ba5239411cc099309881baca6b5b668104c41e9ea026f1919766aefd0a1358ff2667ddcf2f39365551686a69620690d3942b49d5a7432e18eb074be761f15adebdf9c51b4870dac29d3bacb83eb2f543c9be76ffd742ee649a935b75ff75a1ccd239b7cb982d58454cb03a631e98e709106ea8a4c16683663eefbf7d04d2ebd1f257e50372559709177dc5bcdc309509b9bb0f3f4ea69ec31bd2c0b5252f9c621efa1bf28807b32879e176c68c72b52fdb962d6b39cb32066f051d9d68e7fcf8ad8d1654d8fedd7008b272e4851300c0820f8ac36dd970d38328f313e14dc348eeb9226cba20ae3fead60813141ce6dc2e0aceede85821f8042a1bd05fd3e68a433bb011f566b6412f842687e2b258938633cc1c417c4b4b6e8bb25ac72bb4c2d75554fde6cd2c040aab00f5ce21d155cb34b639003c53cac5a0b6a537056360eb74d2bc3560238c6b7c02f134b3263a6e29dd616ce1c69481f1583082a6057bd97a00f43c059df87d9ca81d282a5994b3e75bdf75337771ae262ccb87eef8318e424e213b1e21c3ac996a365e89bf1dd6ec9b8dbd79036ec1f65abc08d43e83b6b39c95977d52f7fc9acffd719ee7f553e33b2ad059e620c140eb1a15f83f6514e9e8af064033595c71025542ebff5e7bc68ced59fd1d294a9b5a91d49f77baf76702bbfe6537d90705d6233fad44e906151b93906a1e70a8333bc8c3a9f8d8500792291e63a5047107f2ba9dd1afd4f7b82aaa579be487b4de55ecaaf0bda5bdd2d35d329913634e6e72444d456d0fcfd64ec2c6e1b0f49cf4afce423e2301bcf8e7308d54ff7d37486128741152aa182d4ed61ae33489d60f9aa702c35cc2b8c80cd400ab923c7eca538a6f8b7e5a5bbfc269cac8349e3978554381a544d80011a83bff565d2480e8358e2e8e2f9d183776b8d392ca87ca35ea480b12f43c591ff0b51f13949f461424b35e064903c41203c58a443608b44bb0d73068272ecd499d4ca6e2ed528bde1fbb553a5966f2d6775a33d1bb48103d3ccf73d40f014906067eafd0cab552533ecbb3549fe4198b30d574c34308f097080d059fe32bccd1410a5ba9e853df8ece1dd7880b13c388c5e6ad769c0f95c781797534e4ce0a634f52a8a73330e23d26153b122dc9ec1a85d34ef878426f49d2eb0c78eb267d0dbbaf4331bb983a1aa7421a402cd2e802e83920c68f58dd474ed0b5284f53e415cb3c37e8517e69946747b2d558f3dfb1e84468eda77aaf924bea58b551fd3454891a2db985ce0586ba42dd1191527cecf91a69369a4f8d968b669c64bfd5fa14833bd32fbbb8430a10c9f872d1273bb490f4513375630fa6e51e007eda866defccb54bbef159dcddb277d79e0354d9201073c702d03cd0151a19a962e3b6b5902d25ed8661e61a5b3281660e963273ca78da9d37e0ad44fbea5ab1b196fc8120eec55e07c57ee15707738131a49216eb606ec15bb84f2799330cb04666f69b747f17d31735dbd83a9d46cc198709a22732868040b2b87d5a470dab67a081f28be49a62cefbdd908ad88fd37e42bd8e948ab02df62f4b163e6255f4b0b3075df846f2f1d0641a8325b1b45c7d5ba1a46cae6e768bcef9a3cee19bbb752222d6f5924a5d43734851a7395de6913a243f9e1c2b661f97ab53e28fa3c7c96d873b9d534eed14742708a89c46806e91a9139f357232e44d9966e2cd332e35d17e489230a2d76653d9d77db092f02c8fd7f27115bb4513834bfada9b2bfa94ae1bfed97b014f40508f63c294fd7e5d27a6b482b5aedcf26b50f165766d4b84e174ae864e4afd21f01eae68159f3c6d7f7d144118c14689e85f05211578ee815d5bc53e074574c4cfeff805b0dd3c5ed5b16971ff0e9cd93dc42257d10e012b6012163553a7b8d2e8473909e7f923d065a1f281f65e227539a3b1e1dce8dbebe6f5857a4f74099c47285f343c51211bc0e69bf60384a0335d3cadec792d505e7764a2821eb0ee6d29c74a976f2c2ac04b857859edbc60ce33091ae75e340cd91849735f7f110317bdb3a0f628661ca044f9b25ab0f33aa9f1635e79cc9c29dd8237e127d3d4759b2216b530e6e8d192c1c6b984447f7461af8b862c154a3ecc707d0970a0ab31e91bea4d326c8cf7264f222ba82050d4f9eef9b00ade6b28227d71cad25ecf39d88ecfb58b3c29f300007340bb8152f12182a04d594a07f84632bd059b4f4b5a2b1a1f8b949cba9089cecff794bba0e566a4b1a9ed53b3c96eba9a09d7479f06d66a21ed081e513bca351d80e4e1c267d522a9334c0214050203ca5cfce5a079c2580ed6b8ff6934fcef28f4f80c578fef3d29a01873fae01140b4d4dd0403f6ee16e0f68f1854ac9cc6a96a67d88ded5ff5f12be0732302e6b3370c01bf86bad645601603a382da93f37bf369144d88e717212228e8c76b27a6392dc9ce23dd55457a73716c2dc2802a34a2039f2fa5f420e41b4b78f4ee889cd784462780053b866bff7ba8066885aec93c91af1f49bb489ae470524f7623aad29727621a4eecb4a9ba92729c78354222b7d3af6119203b16865bb39cb30e1f1656e9b608582ecf0eddad88d8c7b2fca34a4ee9322c18c7a4423132ba644e8e4bdca6756efd3d877259d2e15134aeeece8b8764eecae0017951e9c09aacf77919d1e5dd871bc33e7c9f3044ffd57200ed5fe8062c9975b3981b2aa7c0f9f3b9f9d65db1d3bf93d86d82f41faf5af9bd7d47ab6699ddbf999aa9cb76fcd18d5c5a360d6245f1601c396152dd7204e1311e11bae55ac06c89c996d4eb895821d4db49394b033bd31614fc978b638fe76903fc5ca0db8989ae07aa69b33f2f38f710cc15cfbd2ce1d89afc5844c035f7b626a3c20f32f61a533ebde0cf5144cbaa3c0bcd0ac57e5fd9343487bea3affbdcc7cdb8932867d62a59268937927c7c3675b6b77e470da123bc8e803ce950d641a6109af4e8955c4f980cc480878eadd3d5b2ca8e0be332ca7e769a6ece93a0bb6e2c65a432d0fbe3bf0d7cf14a02264a0a2187b8ec327ef03be679d230174d1132743d04654e3acb3d5da9e090d5aecddccafadedda4e156240877dc61175e95336a4cfcecab890a45f1688c7167d3dd059ce61f8917139985191c7f2e6d58bfb75509ab2a4687cc6c272d244ea7b613e7920f3dbcbfb4a794a2da29b0d627cb42d0a52b81ec5b67401788b13007726f7b937e2dc47218a5978d348a2c92f3cbc6e7658d9bc126438757a0845ed9ca1cb88b9dfd4bd2778c06455d9de0d383aacb5be5d4680684000a340034d0a6014550fa91ed99e2546f9f538c2ebbcadcd7dd41cb22547c9ae303776fd226d9ee91745cb2790e629158e2235bcf0c26bd8c7071a453348cd263352d55dbb2ede955a973788cfbcfccb1e02c020f291654bf4d6a093a3598b86d449af0c59053a342327cb788e84b87a3d447c621234016b21b8d7509f8b29e1f4f8cd0e35730515107301750def78982be005d8a5b7a4c9c99d2dbbdaaf146d4eb1aebec9b84c32d0a1127e797fee1f6620fb16733f97b46a7a83ab4c49b77aa0370202c0e58b24982cbd4e59487a6bcf67615f7faf8541ac9c6e21ce871ee055f65dab5c166c6ccdf05b638732c7bef9e9cda077a7f30006455715057613eb693108d93e8a22420970527b92128016a32b256515e6411fe980bbaf8e7c6c748d74fc91c292fdee1baabc92a91a3af77d9a0ca476a441ceabbcd7919cdf6ab69687ccd968ddfd9947eb1e862d51d5ba09574d0a5bbaf58467f0eea9846dcea27622f6930a388911dcb96e49a73325702033069400da76326b434fe13f6d3ed7d4c61f098be7c146d546b52e6a53c6bade524be29363998798a81676aa923c6ba22c55e928b352419244574d9dc67b6bc98e04edb4ed6c9c5bf7870cc4807472971b9c1e403827a859a17d40176a7ada6c81134430e71d23a9e03722929581e68cb393607889ef2dffdc4d776c3d25feb16fbb511508853b3a7dc30fcdc32a2c150db75e6b03f4f02f2af5582a3dabc6ba215d3fa251a5034b7351be41cec4828b094e5382104f84ccb6235502dc028b353d21652ed49f721b1cacc1e570ca09fcafe6a7a6a2ba13219d7a12688db07820f23460803dbe7ecb7f01db6cdfc249d3098eed246d17c9125008e0a61b6b5408ac5e7a87908efaba7b8f10a87027c85b59812363743d33771fdf9b819dffede36e22440249ec992a5c4a83e7a3e952f3115097207239d8b5bc48ea1aa17d5803c96df3aec849ec809f45100acd52b09ec8958941dd249f496951b1a08e8e57fdaca39bbd06c019b9d53b63027ec2498c207032d130cea1877aab80c6fe7cd4ab986119d8d84626ff82ce9f77e39d6a958ffec71756a918156803e83780600be05bc412f62b40222daf6a8f9568ec7eea30a5abbe38e2b68c5adc8715124ae1c732df61d2742bc457b6ef5c8ca1673b0d7edc43f6055d65bc5d5ae4b8b1bbdd4d6d1c5b012a142d07f255917ff0154a064e2171001a8cb91fb4dac096f5e0c125e991474d46015bfc7ff85d11230c6e1c855d474bbcb9681c9177f75cf20c4960dc5e7184fadc82264fa176027b184e780527e16945fc5fafbfa3c323f503fa43e4adba01f7d557eef6e6ed1cd907878aef2df914574465f0f67ec1fa295b4775da98cf650d5ec70b58fd2e30266771b80030d700f98a0e32749679a0c9f9df9b3c30f50574393a54eaf975181dd5bcf2e7a07e65e7f621f44c1a83712fd15c7b487c3a1687fdaad002567d0ed7d50cffac80be1475305910beed88ccaf998fe22e302379aeaa36cc202c6f5a0b53a8d0b79318646723883333871f6b2b1ce1e3adcf4d38d6c541e1f30eb1a72651e55b4dcf4fad62541be37f4e69722d22f3ae7667b3bb24313c979f4e91355523bbecec11d7762aec295dd84ab58ef5634168c15b00acc9f24144a14a398108f9301e2c3d66487b758d573848440525b64fb67422ba00b85c2b751d69b51be5c891cb33b7371c75abb11f898f60d00a1be4d7346364f0b7f79965abe411ed38e3eb53d2434f3dbc51154e980c9d501c799749ccd5823eb6f53f937fc259fdfd9e0fadfb6e048d749268e851a35b36a833c7525d3b92cee8fa7c44bdbecfd3f86eca2fc3af7848937bd342289f5578cc64ce8af372d01c4f3c4bfb4cef015ed9c02edef8c3b216048aa51d58fc854917268247e695d08156d6c177db88dfbef5634ea9f7fdabf85e3a9d9ccb883adb168c7d717b00441e7b1d5dc2b4c3434cb0d259c672a6ea0211454ae013436459b46b5a45d0e9cf3b516b897ad88964d67695a0d447258a8011dfebf7a852af50c862dcd68175f2497693192ded87c424e5a0ec5f517f1b01c5eaaadd1f754783b221729deaaaf867144978aefc6e763aa9a3c5b4198ec54bc17539c10131c191de6eb80536074974a858e10e1392c868884cc70b2e6f36abb8e6cf63db86bef3a55d3db61fbab77291f5843c7448087eb0a1009c6a5ef76eaebafd21ee11ac8f8a0be5ffffa0f18a6c8458d72d1df53f67f62429a5422e970de46f6877a423d1a4e6ffa8ee89cddc7eddf8bce2a9fc7030c676a450c8610f10cea865e4eaadc63f54751e4451b94cbdc802147edf21077b484499941cba841e3bc3748477e603e3add0be8f071ee60bfdf3128a4e6caf4927814544eb89f73ec6c866a96e7bb5a326e71bce639fb15728466e36488121232fcdb49c533918f867dc6e7014f927c8f24fdb36a2be1e600b65fb147c542008d29d015ed73da0ee662b63aab9d55fd4d9e516671a4c1f4b13f80e91abd56ba1449a1a5a6f0a19b8c97b5a5dc5e490ac1a8c186dcc681b317057365b579567e479bbf2158b447333598d20b734bdd7d55dcbe536cf7e1d6248a8c5d83784e27bcbf8cb3c0490b815ca65ea36ac14444483e4602129911a587d270c46aa432fc8b222eb724c00153f9ebda285cedec66cdf81ba7fbf3c3e4af51bf031b32980ed7b837c12a10683fa950847de40c85c1085709922a44e181e5a738a5e0fc80e40c74420120f635c0885383004163abf493c362f453c2268aec59c8ef7039b08f83304df11844b1a4cef3c89145923d0a512628b416aa423ffb3f9692f5b90e3afb4110392c9feeb6d5a4c07b498aaab3d5d096cb5c062b97b4b3d2aaddf2714fa5d2892d11a37ac32384b61e310bba417c28ef667b880cc161844992de1c7ef072d7dea0cb3454200e0928cd38d1c97181b5f488f2415c3828977fe3a18a507a7426a0177b4f12c7924774b32293c0652012f742f9f01f80fb8d266825954767fb29441e1ab29c156f5148f9a3c365f7eec2d47129448c79f7daa670cc13d3ee5f9ac9412f146ef012ee6b4472e68ecc37d04f159f355bc1a2b155e44a2b3828dff218c6dee98d493bc1885c493d3c051ae6417799e12609d8c1eff855628d725c09a688c004621569e5d2e049d1432382a084f282077fa8ae3c744727d0a648900b99a3c929c28e388104f1fc6e7738d34ce5b7fdf7c850e22890bc816a604c3b71c4551710a0bf18bd4ac554368663033a4d2482b0773822891190d1003d3a8f0413d5cf836702ae16637ccbe3c2df2824fe6b585880c957152741d0d8904e3e8b225fa3ed142774584a3b8dcbd3e22a977e1b5c1e617c222f22ef516b6b65a3733d5eb416aecf3c398cdd053c87e0f737131b1ceee35243a333ea7777efb398eedd9df2d630c7a36f469ff6ccce67867966604ff3ba9ff926d55252d60032a974937247ac9298dbc4ceb33b0e6854f761c2ee5f1d8b03d9b41538f99010c3794109c16bbeea8392f71f9c77c8ddbdd3c08a3aa07e531f410205059dea6c40d472cfd46025a418a850ddf1815933cf86e47fb080d0cd7204b53dfbf0b40b909e938c2fabf27f677fdd5efc400eabf181d66269929427af1e2e1343ef57acd34044945b5c7fa03537d9c179083e064e60b3b4fc9a832c5420c6ea191fbf6b105cb93e4ba5c4c86265f08177a8e6a743f81e556e046da2d9e8a0b49cfa33c2b51c3023da45d45ef0c67bb244ce1a0293b16f2fd83fe6545e17c03787282b30288df2f6cf81c030310db81dbd38c2c56953e128f025f35a0171bcc1986ba52c719da361a6499468c159951f7bd67669706dd6f8011ee9c85e67da12ccfabfdadb2a7625314319ae60d65f25da8b89f3d1399a1aeddfea7593a1a867771c62b5d3f19d8b1e7d399a70f0d7eb17864e326b45cbbd99f2bb20748233715d82844825452248ae9d40aa6ca4333832dae9676f31c5f065ffaddc09edd4c837215dfe0aaca47867ac806bbb4a17d692bb9d90278d40bf1d4fd1122c3021128d1a434fcf374f2d81a2d94f13fd0cddc37ba03c1fba77094b9662c1e82e9268ef8e0063b2806362219f4244e8be5b593e364c0f62c61fde40f3d23b1f706c7d2d1dc5def38b32ce77218a0b5ce4f83166cda021e6519ad22bbc510e1077ce3bb76ed45b762aea2badad457f93247789e702cf967c055fc4349fe15fc8580d17387093c2bf1c5c70fa8cd0da23e1017a5348b9e4842f7607514d452bb36081419c9ab6a7259e3ac3745aea8c93ec5047600d2722271ce0b45493a07f313a5ca87b6ba5016e7222266287c7cb19e31cccd445fbeea6150fcca9a0694e4cfcab46d4c9c6eec6b42f80cdd0f01f9bca4d8166f834dd0ebefdab0df8d3b091ba19fe582d5d60b0b8c2df33492af0106023a9a2f2dc5289f60c2647a9b4c5a24c9e11cb0bede90f91edb3fb86ad12eaf8c790ab2f42011f27f9b35865daef12e8c892e3e873cb513a2fa9615434d0780ad4955983e41be8fac5973e8f71fd52368574cf4a993d51e637f64d86bc2fe4c3ae88f1a6d162109cd3dc042a4c78240ec44c698745fcc07cab020ae6cc0962ef8dc6e8fc4a9feddce9c943f1bd836b634d40055eb2d2e630574a8e0697acc6715a8901d23629e7fb0537cd6452e5bd5003c752f0496caf815554333096b13f7aa18098fb91d2d35c79366ae23dbcab4c25193d4964e7b854227695e62d26a63bfe2195273b19c99140055228f429e4ab8101d5a25ec6e280eec01ae060d0153fd22c84ca00c27d715a06ee225ea4c8b930a8a5a18a511de1846d4bb8a2637ce99624263a9b3353a0bc82722c2b588a07fe0aac0f327b6b631a9731b112a8053ed1e4157fb6ccfe80414dac8dde6528f2f137fb0f102a0b5d598cd2ede600e511220299f8de57554e0c70e8daf8103322d85df91d9de80c73a871e24180689004634b6c2b85cba4ac30d642f8924b1a2ead9d7402233f6eece818aefe4dbed30cd4044a2be5ea24ac2e168b10775592d442e8c9340f4988ad217b56a5f43c07a9f57f1a36fed39e15aacc1f2344979f85ce16f82e3d404129b3dea5ea62e60d7960a154d6215f357ec1f278f2812371aa676d3f14c3dfaafae109b955cac52b5b48a037f2ea118f0f4c75ed23cfbc72523f6e178e3a455313b5add44ea06120f6c71740699567a9fd7178408b0a75e553261e6fd5427df9850dd8c24b51dc20a86878ee8f8f7db9514a04bb84dabfbd4f3c2c57f95834098e4ac9d1c426ad722c34d12ef6233434679d49cf1dbda72638d63dacdf911652169a102717f932fd6c8bd3082c1a3b898c8c9df5bbaebdb6d130f684ec019da91228fed28777cdacca086b33cb276f8c9bb29f70e6cc44baac42403d53dc6b009e7fae074661d5e2927d2c38a662ef243664f568185ee3ac02238921ee18439c686138a83a3264e1fcb382f33cbb56159cdc0b9521255a0f16c8609c2308557ee8c3bd489cf966b270e34ff143024264e83f39876e9ad1e052151e7e47a72d150be5217bcfd057fa293bebca5770fb80ef87e6bcaca9d1b74f1d0a1a2dddb0abefe9f76296b990d3ec6c30253e1a2be7a33f146c5d8a1b0b9aaee262903ee1c981497da5960e540a1e5197a853a34b6e5c78d5880a2ced6b0b08884c875be8dd147f04b0aee3a4212b0327831a553d060220019e09f6280ab709c953a3ff201d6b212cde50428bfb01cbda1f3cf049ee7c5e77a9f033fa148e40dbc2d89efcef85776339437445eb8ef12fe1e0bd17ddb7b3b452642da4f9bcd02e6f3d798962402a21ced7b92daf715070609ca6d6d8401fda1e339c0239f4b46d381ce10aea89a83aa7ea38947538b9055afc616a6199f0ab17d80c109667f65c91fd9c8c106c195656a59d8adadf8962af16e05be7171208be76c3f2bb4447388f47e05168a9705264c71a682ce108be3a4fef64297985040fbda6f5fa3d93bf3ff4b372c9411910d12898e6b20228cc4f5cf6fa7cf9c2a823140dbefc1a122048944d554653665b6c620c41664c3c2856eadbb34e5138609e42b87b48b1b331503d53da62650b283f8066f20395a0dcc369f2bdc2a9dbec663fe2fad819ce2ab278860a0df8693015b185c5f6c34affcddde4f39b40474e46aa9b5a0b158be2a300ab138bf44dd787d8b9dbc2accacbcd3b47109154b03a0d9c1d365e46252a75b615709f425b4880eaca14c01bb3594024a73c66dfe2fc846322aebab92f332d25098a3f15081b4fe480e33d54c29b0404a569a6a8dd51c8e6699e451acfa743f91006ab018812ae8ff04031ed33b9a87ce4985a8d791e1e559c817b357736d5155ce4de7eb0006a5703a7c110d76584768ac543f40424b317093b439866ece8f19fb658d4566ab996a9b7e7e3a068f1d5a1f7dd793a227830ee67160d1c11ec35f5a6ef6c8794e20ac80ef9b08bf4bef8a32119b30ac476952200f85d7d99344cd9e4fe508d66019c17e99a5a97341995f6a46da03649a1ac934062c99863e3317e6ebe077c9d5656e647e116b086e5799f000e551d1adf87fd4c1d71b147c0257817f1cf99c7783c1473023008d1f1aba7c7bfa8f127a639263a1a598d064bf6a936feb9c31f0189df746a2abab6a675dba1787f27fc88e14c5fe44916f7bd6b5a8b46b60a456c0f064c75fc75439bcfe2031cd7aff1e6ed52d56ff7c17b501a2fac4846a7b390197b2fef7d0ea555552d9e36a902aa0c6f2eb05b04ffe897176600f70f83d0e338930576644e06a4d7d615dc50dbd2082801cd2d6e5a76aeee2423913260c5e16d1d00af7b6978167376b05eb9b17f929a19648b844bfa8adc96df75da1619cdf8b2afa2338a0f25fe7463fedd713030469f4f4b00998f563260d7c5cb343b6432f7b16633e9ed60672b5fef41777c62cb2116b68b0d319c502f7c1552722e064665d1f1d736695b48666ee596720b6686c0e5822e3333c22158b106064c047919d6b650421db1879a3aa2850b47dfda1c5d67db24d148b353f31438ed45ce23d8864b2ff8bc44961d169072f95326bda249b1459101c29bc75574b41a2cab2f161a12250e50f899e8c98b58c14d7f095d9bc9f23b08063e055c5c4df112a3f6f3817eece8220fb0f2918dd38b75ff4e25abfff4d5e8c48ae0460de1bf8f6ae9d0411104f52be7b94e7b6839af319d9b075ed370e88f0b8be17246cbe4ae13f8819efcaf8c7549115564ae515726a97d3a5ba63fa521b72f6a6035be7b6fa78a5b07fe56ed5923922f67d3b3c4f8678c47ec0bd664a473d7a8084066aab0c061548e3901128450a164351c6eb4e8e50fb13a2f333844c1f32de049feffb3132aeac4e8d0b78d533a63ec2d9643b64914cefcc62cb381475ed833492657f478f56dccdc7aca0e1354fa0b1cd27f6bb46055fa20d21f9e41012725ca09fcc4b9a5ba1fbff9c2dc39d6a6f7b9b9c883785033e3ebfeccf1fba28b1d811012d219cc135ac153302a0fab596697b7186efd8cebf75488804846d43a63f71a52a964073ee8189420136c334a06fb2f3c5b2dcb389a91423e58f2846848bf91c866bf5daada189417ed1e0fd0001b4563489e34e9312cdf728468de2feaf5fd955942bd177a112b00b31a9b61f2599e1e4985dc1f776aed02d232384a5c19467acf18295c308a4c698310c204f22a700e15da61a5739742ff9e2d8092cead48ff978b82a7efd027390493cb87e2e7184a1d558e8ed3b12ec4cd1c9596b28f30eb54ca775dd96c40b5474ac42560a2a8010955d905b1e01241c23bedb0255682270f70fd10fbc7445472c1bc64f42988b378d2fd6d08406002b8faf749459fc11c6502e0f9c87d634ccf7c09a6b6ca5f7ed684f24e48c44173519735a78d5b06a4d29479531cdd54e9154e4834bdc26ea2cc552d51dd73aff20c0aa714996c5f42e80c365c724d5441e84192e4a9a3a4ddc8591aee1b59779adecb62bf51bf9561c4c5fcb2c8d059c3946ed1e5d72cefef22efaacf233d6a68035411a04ce7748c90d916639e1b3d9fd9602c139bf1f980161b75971cac1355e29a086700d553565600868e9493ceab89e3d713a87844cae083396d2089fbf29c19316782e3f781d2e97945b06730d7aa43281a01679c9a4626031383085b6f0db4881a1c0af507dd76c4b9df6bd5598cea46da4ceeb6b3d999d4ddbf78143e2d5e5253b0c82859903284bccc178989a555d15ea483a2ee202353fb36ea0ea451d696c7911f32011d6d7a51d2768c31ffb95e11d78670ee5edad7cc2050ddc7f0a5d6b8f9d5715a565b7e8e7ce1ee0c1b5515c828d84424bc52c4b3c4784a49ea5c900b97e1e7cc36e2510fadc5afdd47a2fe4cc21ec18c3cd4e9c190506a94db6511e6bade0e2d1b46d481d6de838a958695ad32a9b177dea9af8e7886cf3e5f2e2e4e29ff52bf28bb969a64a6b66116be7654fd05611425150f8f224e939844b32793d34160490472f530fe2a24c1f632b329682834568b874cdd7c932bd610717bf73e5dedab940e879f0dfc6ff6fb4ebdc8691ed4c32119866213bb26db40e7aa1e0806d055848fe91b40db69f1d8b8f289de23ea3051299fd7a3ada2c76e143aaaaa51f2e06a684ba11792faa84ad2c10e888c9cd07703d22db2d290dc5f554aff99fa89ab74c0f48d307f7a44ecae78e9b5bef5963ed012db45f7d453780d5a62b6c476d143f588622aa6c42e0c24b685cead07fab5b703975ed5fd3b92b7aa187de690e8c8f990b6d9b6e82b865f55ea74b80392a3d5c735da267af4c68afec79376faf600513776387ca3e85f7a387e83166256837adba27fa2d747326c856dd4acb75da25f06beaa905e4cec231d183abf8b1abdc97e21b93faa5674c81b3c2526497e8318bf569d9655a6165b70e1e98b3db5dab707a4f5dafe362b93c227be86b686fed0fbf41aa48dc61b35b431e8b337940eabe428a1afe98d7d57f5661a3e0ed206892d60c5f5e5cc58ad9b7a80ca60ea8f2a77b122bde8594875d4c3d0fd438413d77f8462b1540a84a9b560ba77035ec2cf99b2c7501381785cb5ceadb72dfaa75ea5176feae35a6d117d6e3b2f1415958f89a0d412ae8779ea99c6f5fb8a514ce914d4b7f18237ee436541a9b51d65ad42522af54167ebdb6f2b399d92b4544c3bf78a3a74eee0b53ca9064561aa7e2c7a85059f55b24114ddefb5b3ee44469802de23aa095a478348f17c122402519b85cf0b37e967f5f8ceaea0b890725f96ac0ea76ecbeb62116919ffd252058a8df37795deb06fb41b66451647def54fa24c0261135545cbe1717e76bad67b7b5a9d452924360c4e2a7ab16c7dc46dda487505c782d763deb3bea6edcca6b0d52a8f13dec5b23174efc85d2eac74fda3786eb6f7c29e060d68768aa218aab74e7840affaeca888f0bf3e7dfe0c90a29798243fd83653b6a922b64382777f02a444500ee01c72cda975d3ccdcdf948b195158c369681e8054fa65aaf744ecc115698effa6ed68048a6f83923c87d9d1f7b12abf0e5f88b0fa61a2369f597eb8be5537956cc92d6dff40570949cbcf4fad318bf3a8e56a1248aa8f62b461c54e18ccd76b159d190b3cee351bf6aa42dc4d8434e7f9a54e759edf9a243c0c1651610b8329b41a5477eccf7665b609a4ca4a57adb33c266e58d09160dd20895730973145297a47b7e139245a225a52e80256c810bd0ba5d8e4e1013ddc07eea43f594145a41b37d9b7cad3d0cb587c4489ee5cf87ae422b5c97eb360dc57f66599ec57aacace643359b46ab199d0a880d49d464fc6e15e890601a512615b4a972f95835174a2163c9cd1fee071ff211597f4825cbbdbf837b4fdc099e58444caf10fb9332a27af2aba901b49b1f15eb2b117309e86b378df3be7e74d16daab96c0c61d5369d08efc91be5129b5f2bab1d9e0e03d0e686cbab8ba2151d12b6ba91f16adde8af721070dfafe48dc87dee5354920f91afb43974b20fb7830cd9f77d75daa56834942c85d05bbb463dc0b3beea4f0f8401a4791eb7b017bac35adbd1c309ef9acacb4a232bd1a1a07144d1a3d667cf8d99f799095ef8bc9b12920e762b1d9c036315e569f1417f68678d386ebb5ead6297c26734c76af0f9e049cdaa5717c94f5eabd9b514f018430a43c814e52432439fdf8f787aa24794d77b0b60350a3efeba4240d7bc51403c3efa03a1d62b79a110248baba94a410089ed3817859b4684b0dd245f9bcb6382e11cd79da83fd4553ef2f3da0e0b539b58b51cf555cda0d492e032c415796438215865d0b79adea4797110d63eabe8339f2f5f3178a2a9559fa371d6e977d4b3c922bbb87ef7a2d4ae48d2d4e6c442cf91669e294ae12b5535726a25bbec6309e637c9a6173ad820ff334eeac0f976fa3c8946cd24609ca04a1a2bdfaa510dbd0382346284b20f79e69665b81f8e83157d122b5d4e931a24ca52b6ab585730a90b0e62f0e8807405730266c32efb5fc6aa74650d38da21059fe318eb4d0bc9d703a397a1e5dbf85d6056249267ea22a31847c97e8bd02be44604480338658a8a89672c3358bbd6d885886f9b32b3ed5cc036610c385732605375524ca84610adb0700e044711be6bd35d2acf52a716144a419c88ce951d3ac569895e40a76b26a3c3cd515ad265ba785ef94bfc9a181fafa63fd844af3fca48053ea95479a175711bfc4058f7b203c420eabdc8775808aac4982bd469cc81c45d3de77750071b78d42c05a53023c701aa0de590647ba815975011c6eec8bdeb036beb8429cdcebf56b27da13260e190234871f01a72294881c09edae79c182ced4e07c54021445a3c7c3fa0b3b06792b43ddbe26cada79943c98172ec6659ec4dfa43d7821932b777f096308d47e645c196394bf6269dc3a48518a308750d7e693a4aaa5aec54a05d698158d29d3c1198f3f9b20701beabdba45becf76a4473f679391c622bf714b0312a7f123480062a2373ad0c5905287a04bdf2107582117991d242e1c77f0749503a769716d32f6f8db2bc3e0180037d40b627ff832b101a10b0b26d07928de397480c25381d300fa65f6f31969337388cac87644c175d390be5ae5775e015969e015973f24b4f562d525a468be03f3d102df79169b4401ea345ab9c5d361146a41ba3932210e10baadecd4414b4a6c63c5db8e2ac4e6da2ae8b3cfeecd009c63aab3ac10df8428c5ec57066ac4fa8de7ddf868eeaa4f4beb6b1d53adfd0705a5158c53ec13ca4c5396d28473bfbf6d29fa0bd42ac5bea5894f1742b1bc4a9ab7b63e0ee50e8c487dd7babc524ee9e6c1209942ab1918b6185005286b24d3042a18c4ceae249aef0adbab6867258b14c1a62b2a38f8c9aac74b99802f3e7afa0980e448eb3c618940db0da535a3adafd2e8aa2ca2c86793c5b8b163da1e0bbe7705f2480c9b2b871db497aa3d7175f4f590f483723bc178f1dba05d86365f5f38bbf8c93224e2328ff2710ba11d63246d8ea584bfe3db95f7f28126284dc010447ade05a985aa172be32cb6141d20953c2441be57df462fa596dc7c0d502867a75ad26eeeb024b9ec566c9a0d09c8343f4f12b96073a4de0f906411819815f5cab93ce14e1747af9a4789db2d3989251e051df5302a16f3b30f3ecaa5b62c7d3c245aee65b7cad91cbdf5fb9f190aa37db1100c24bff4b34e5a43e722f68c257d91b541f05a87b0703941434d04e2afd4ca25ba9a6204ed8ce17cfc98c470fb57ef9a2346822d1b81bdf463406e9cb444a77b31f9065b821f5c352b553227a831a23b9b9342be1dcc8116be44aa1ac971e045a7ef9feb04477eb1c0551835c919a8d17069d907a27ab4f205e0e344a2d2c52287b8b1846d9d9d9b243741c2e288366718cd2a8908b9847b41f1983c99f6c0d94eaa8d672524b2b4aab11d9355fed3f870ba2c9745fd15a84347b3250c0c0c56e0f5346614698b3455770a364a6ff3680d7b90f906105b70a1577e26cde24227cb39bf3b9a017c48c7cd2e8dd2df402d928d9e972c93e9e2c4af1503f19594e9fd50dead9e6da8e13306adcf722bc4410c120e86c39ffeb8c12953212831502d2be3bb3051763dd36e7862e205f8cfb7cfa1c8213ef055444eefa9b6ff170f302d0a65885c46225fb50955f93af63d2aa820a52778eaa0a8e337cbfff321018c7b74e81cb55aa052e64f3c552f45b0ceeae0809b8a1c66b34f652a8c7f9b4d535109b188a9a73f087cde38ed1cca4c0b4b1ad8ea799c28ac20e826146d2c5b2175f052fb072e2c45542a5808bf52f1c811b1e642327e5e27ee3d0f7b1fe61ee96f37c0c2d4bb4d66152334f9a2234c777a847f8faf5985b4b0919508c1bf3d0fc7a8a62f14224bc4b7ad5ffe0b852efb83bdb888cce718959eeee864e8f4d143aca20e7d030933b2b307d9b6f1a059fa71b3038f49ccd9a68bde211f65e2ac0451a1fc528bb4f15e3b9e058d6fa8edce364d5f0e71ca67abe978ab2c4ab3b36818909333527a6c8a3f950e6db5236fa505e60f103446de459fcfa18f3616f3efb6b64d635b48ff888927ae8ef41ed29bd588932badd9551bd3c23b9f7e4b53570ef5688010177e30561e43c1be7477ce86bbd8b7d1ccfb455bfdd1fa13edfa605c5474f6388bd827427808e18d6a5fd5a89600cca34df71ccb7c4ab436c739237a5e1b4e246d10e8ca45f2a641e6411de7b71eea43810868ae8779e96baa474405ec527142a18619af6c72ca8c4e74d956ab5dd3f09165f3c875864e936a7b91ea5242708a3154d1149b85c259fda90d291840d0aa5e48fe632c865e6f03f0121a2b2722c74fb31641ef594310d6dca23f9f81c232c934643a83afe6d73cbff5f3fb422f06c3967484d04522b64ea09dc7abdcf496cc8688e6f245e9dbbdf17ce5ec63739ade60c1c8c991961be239b3b67bf578ee8de6358948e6b551736807f44cea2bd1ae61947b37ce801f789278ddedaa5b12b43f3f8c352db0d2667f00a0ab5ae320b419a4158b6302165a91d21935e9537fad2dbcc484cc5859ba3c74d803ed1764e87dd90ca9a51b5851a5c678a0350fb94aff0e1d448d7f8b25aab893e487424ed856d07fecbc7454e8a9999b7585d51014a6599ea27c37bc18999e4ab7f94fedde3a06e135de7f7b025960b8a7b0e4f37de0bf944e0df31515209e145449d09d303d81e800e5d4f67598eab19cbc9ebf223f37ab8f79e81f049f2d73f880c49aadca69e1b7d6752827d9848e57a3fe1078af73c9b63601781591190fc1259a7f779e99543a93731bea787acfbd56baa8004396671f55dd731c15f39e6f03a844cd8cbfff5c1420a407a13ddc5ec1ea17e518685b56be6ea15635ded1972ba26feae46fc608f5b3602f2133d375c81789be9c65e317608cad65f2827e402febe51e86e4a7f798dfb285d46e1604d12b10569559ed98d60878863bb1bc5cf9cbdbe70f90eaac42741b14592e59cb27d637d8ac1d555134b09d57db657f6d610382624e773949913af11a58a95c58e5135b0d49dc7a6055b3741c832bd82184f73d22df8b866c4f63e6a47da2bbcb54c6904031454e6b7fd121e49bf66dbcd54417732244a5e1f7e99fd6a31ac0a4260492f31291a7fd3cf756dff485785a4fdaee3341c51b67811d444d88d32a3b6b8f75d5ba2805d5c11af273cf04dd36d068d88851f4b57e4bee98d6b61f919471eec459afa8566be91f3fd42550c50f2ea56ee0cc4233b7f2b60ccd62ecb203f7c2adecf53b388cd5830dbdef336b7ad176f2672654662160bc231472c7f21f19495e1341fe0e2543106c9c43caee59a140bd2ec3c4860095eb3b5436802d010d5524aa2f437ebc7ec836dbd9cfa689b8af12d632d30cc48a167e4c15b1daa82941466ba450ceae1a91e9648632b776a5291519ca0fc22d5234c8cc58ff2be68cbc154aa01348749d7d7ca9c509e48d1b3d3ef888d59840ad200808b7db94ffa692cf037c3d2027de953cf39aef767c022b46e03d457e8076cbd783e926a8c8a7c8db726e810c9fdc994eb8b34793cf98be19dc78a10d426359f381585d20201428a852042f0991a9a83441237b583a5a312eca1a59a685a5624d3d9b4fb690204feb24e6aae8405a7d527b9622748a0730300b07cc6cf8c0e2d8956833e34f5cad314cc2e99b410071b5aa89ab9dd516f3b282787e935c17010fd3f07a81686e4459e31c01d961f98f25f4088790a0d7f369d6a3e89d9eb1e118686c41bed366a89101b2033d7c1c19399e31ef84fb5e268c788172fbb1204c672dd4838d05bad1080d4b36dbf6b82def4747d90a4854d4cb86c60df41693717af57d17ae2f9ce2abf3a14005962765c56cdfbf1bff498bca8bacdf57446a6ebfc38d68439c879df9562fd9d021798ecbca21185bdf6e0274fdc52da457333fae80c58c4383e62649ae45c56d174de13afe5609e520b835738d7175f2cb05c4cf6687f768539739c910f771fcfdaf5464f7d5109554f4ab4512e4c789fb5cf072fe48a111afb695d76592028741130a010b1853968475ba930b7a08ca03735c88a6c892adac6f681624a8e10e602019ac0a6d88745fc3298a7e1e5504fccad39b1a9a4a35ef9223b0a78d193ba6d3fbd2866516e8e8be0f6ff487df8c463367ac162b396cd4840063d8a3b5cfdfa5ae300a32a51d7a13b617eb7f86342a66bdc16278b7926c97a8ba42afd293a46779d4a2e8944452cc77dfe3de8e0b70572d00f8e7718b8e0af33ead827458c52d2e939275b17c7f3a502fc083a995da1dc1654af18bb7875a46dfbd4f928c23424c5b7180a91eadea5ec864a1a2f314c49976113005f964e99a258edee8bc38a0005a0fd55f08e85525993761cd56e1270a68d42dac33a54f978296391dc5aecc1c18668b412a327d9b85eb6a296f84aeeec2a35eafc82497ccff66c91e789798eef9df9838f9f74e85c30485c00810eef17c77e150d25febf664a40586cfabc2a1e934b58c1d1a1a5c21d34ecd3a3177141e9345a847e82a60c96aadf6c2f37c8d4c7169c42d2628364dcb7604dc20b267279789b151dfad3a522574fadec3684ed0d349f55046b226bb4c3594cbd66dc312744e701a7c5d6b06c66c56205932cad9991773b1042662559f4e1a9b8c6d1e8964eb0462c12f1fd49eb9f47d0cdc32ee61e55ca446e109a6c3c3060bc1c386e13b85c7c0459f47a34570a75fb643de8c8b9be6b26b139570e2f5200987ce0cb0a0fe1a579044f1077ec2098819c974212f642b08afe6e05e5b386d55c59b52c9a32c373cd26086bb38a3cbf0f4474423fd6a3eb982084a4f2d25bcc18727373565792008e55b61cf5fa4e79216a7e99c3c6ca18f0dedb99716166be27cbc10e275773931924d8e56e4b0f27173ccadb98d8bfce77751f43273535a13b42c3424ac185ed096966d62fdc830387bd542d20666be85dce3caca11322da48ed879958c066ac1b6aca480e52f02b46d6c9d3753836ae3620b686b3a0c8b3ade700945709368c83bc1d918785925db7ba027a7d665da903d45dab241816cfe8245d2c36c14aec4f8f0325effa4285f4f902325c7019ccfa083cb94b3aba8b7a036e9112d8a9546da54e4ac628b91368f221c88e7548154483a14e6e48f0ec455a8e9d789b5645db8e875cb86737acb066a9104f71adcd3f028b2ce631d78be06fa60f56de66c7255500aceb518da23e72abe470d600539b5cc36a407d0395f261f0a72d55b5c8aec2c74ff1d41abc167c7ef25d3ba6ad128435ec1148b5dd1ee33919ec3de34eb76660eae036536794a5cb688e89359e6b32811f3bd20896b3020486cbfc744e10491705649ce6e38671cb8a86b9b330edcc1dc2989002b829d2192fddf8e680c9aca98a6d2738a59782224abf770d0cab84f086089fcb79c71406bf242edda1487e7c93808136be47f19c6e0b710f9a3a56a3319078aac148a63d5bd27e3c089ec4d537a3560649e8c836bb08d34480fb59aaae2b5918e5bb98686dc53a671bf7051860d1891f39eb874251b83d3eb6b9de9bf672dbcefa3f413449653ac5c2a68d8c13d0db7205dadb7a7f00d07df3f2bc8cd9c40ab6920c5b0346622e86bd8aee8d916b408f6312b1881386eb1bb21d109d78d061eaa27c73ce2c72bf7f6ed762b0a35304dcfe8868e93714a72200474b7c5a969c0ef02282a918aa75b9fb121d4e2f90167a25eb4a70c692df1e740492f161baeaa305e07c0799294942ecb8b665bfdae65c41279f9d97126e480aef8365d85b0d892a037b2eab332ea863b9996a4fa1d4cfdeaa4ca95820a5700993c8660ee37fc810c29128b1460b529acf45427d6c696102712e4993771e8da6ba1637a515ba78f50c9bbd732ec3c030390b943301b61ca35ae4b52d9e4063c4ad875e5f5190e613a920e248c9384b1ef8b47182291f8f0057896f4ce5bce6e43bd9dfecc711fdedf74f7bf96c97f74f04f075d0e876b021feba768d4154134b51578e506b90987357290d75c6c3899c360242f8b1db8caa66cc0845205bbb4866bd492d3f48452698e082a9fb14f20ec7f6bb271f3eabf1dea3290037a25f7ce8785e420af7c55c5f8b993c76282717b24885f4924fc2a04537d778cf8e4b9cb6246bd9941f04d3235647f62b9c939ad7749e445bbe3b37cc1e605c25bc463079165d32bc6b7c81eef6ae72d734027a615af820ff9ffeab0ac4046b5326de6944a841c5c69729ad5e4d5898a97bfa3df42cb302e7073bf132973d51b616db4cd8be14b12725adc6b4224292da48e84a03de8158aea1a078350d7e967630ac86ea0e36ea022b0b8221bc571861848859eb01cae8e4a264d0ebd8b3bd79b1f6122164e8ae0c0fb959ff4642663c80b6df7859f897b2046189fd667b8241bf94bd7421ee7838ff8f909679d557a56f4941f954dc741b1cfe47392b77f8f5a4054780ba2559815d1ea4504e17f733f9023ca268957027ca599a84e1f0f3ea09472d5041e60d3ba6a3b9e694dd050a946b7803fd419c8a7d329acfe8b23202498d84ec839e22a1e94fa9497d030cd87ba2518849bf04323da975e00e26f1655f847a97f805446692c29304a8c334b922dce58a5219697b416e1a80ef02ee16d53553987c5ba97fd8689f95f5cc49cf6c3bfe041f19ad96dd59e10182fca73add9d926a0c58f97a2859bc1ac3e34c69da661e288e02b0709c4b1093f4726260f1ef8266869c00c86080a107c161ffd5d296da21e3ba5b40237a84b4d18fc4f856c87081b1e95ff8c49db380b53ddbe8eb1e23212801f7ec9b0adc23d9c51cbbb6db31704b9359608dd4bc3dfb395482a0bd3a2b442b064cdcb88376b835d1c4176173e94c1322a5c2875dc11b5d8d9bd6023a2d2c3300011e075562547ff83fe0c2622cd6e2ead67304d168aecd86f6038a15f3561a24578b515eabccc39c3095bd3481b61a331082698a4ebf76f20d8cafcd0915dbda174efe1fea954dd0936ab4389ac89d64aac46d2a639976d576da6f39a003abda372b47f87457700771dd497ead80da485c6f5b020639d53049635ceca46e680da841e3d12494aaab92b27409e8f888d6c481d735ec9a87ac40fec33bd7d129f357b23a3b23d10aa506ea00a835829b132e1f545b1d57e3de625a044fb8a4246e51b92f2a5f68acb74dd02f71337bc789febde4817f451aab98c4c2319326a8ecd3d0f15c2d41879817fe305b693eaaadb30c8b53eb562aa88cb0a97a3367422111da9c0992e5130305c1691173d14924fc3a977926f12e351d2948fe44eade60373a175ac54dd0633be23cd6de0ed26d18446ab4076a2aa46ef452109de2c886a069c380d866ba8a3222c2a93ae7da37ec20c88bcf6067332db2e32788aed7147e746acf168185251220bea4fb3c38039c583cebe7f424a2755e92511d98d703b84835fb93e2118cafa9f001a78dd8b48b09ebe04c487c13f6f1b065430ad329cac8a5f266c48c66ed3643254e841a2017f400228de1eb0072b63d73c3ee644d569cb3695acab4952be930099b2a53972cb72752a29d5e59cea64834ca7b9a4be8d9cad4c311c1feba8a80a5d8d4cf06a2de31a1756b3cdb37f7fa9fe7b2ef1237d51fc8fabb603ab8935dddc049208aaa630726423d8acdbf346546b68a392699e077e6e91e3377a3725c7a0845347d1f9585498cc87c356839336e873b42566fa3e925a46e7ca516e04fdf5cebad17a0696d3223cf689cd84c16533a0f55258f4c775a961364dc5540c8da4f30334d0c42a6d09803f12db2655416255057af7810205b9fcaf6bb55bcaa8b959708ee06cdb7c5763583718533b29e3cb46a4159b623691ff04238978031ae1661b9c4cc22f42f7988faadbb559682db1c8daccece25845b4040356bd49d46e610a013d060ae4e7e8ab333edf9083f159ab6669b9181e1cd20982fe41f6b5db7d56cea210b446d757a7dfc04d161423d1ef975c004810a6f6d5b331ba06808a808c61e1f3b8a16fb31dc2685ccfd88066f7ec85260002b3cf44ee38adc930e4a1a8173486c8e59096cd0a1e3442d000441e30ab072745629d729289360541f871f07b37070c82f0342618104d6ce4f3709c5abaa1436f8c31fcaecc7ae13025a324ba665a7cd8da1d5aec625f2704cab54d15840d844b70ad3e0fde9969f1596aa4f71fc0361d3e860d34d8de607450fab73816af778c406576d10fcde4ce1e654b7099305f80288ab5517180aab62571f16b5d75fbaef8250d392563be1bbef9ef8fd9525b6fc6919b35102654aec825e583ca48c90ca53588dfbfadad22fe686ad710c8cb7ac29220f8c2c9c38ee89aac2542b48fa633a9d23d72990909c2fe476ecb4283515bc419b610aa86ca4e165a9534e7062a550752803e2c0be9e34dec796a297ebeeaf38008ee538d04333440693845ec0ebb51d33b74204e2bed361fc635e816ddfe074eb7b6c2d962a03e4db0971a4f24a018dedae77bd6eaf9f269f8d8abdb2c563b2e6639d0b3689dafc3180f63b969b0148aac416a86f1785460e48515352eb598af7c0331c9d71b9e7f77c941eac065842cb118199c151ff5028910e58183d0d2c426ce06712f02ae7748b4a75c0f4bf063eb8fe7019aaf30d5a25f111b6f1d7f673243c55a99b063ea838bd33e029254048941dd64f11b5c68441c90a272bd17567bd23da979b7321df1f3169021535e33ca16e1f3a4ba06a0dd8cd441207735de70c2642ccc88ba92bed9845db3ec5987ef1055268d2efd71dd0214ddc7aa9e6452efc1ff4b3eb477f6ae927dd418692d0a55d8cb0345287e171ef1ea84f3592c57549f6656342acca75a39e9b83dc0954f5030cd81775ff57ddfdb2658c87423340884d7d0f68ccb0c732d535ff9b3fb704c720d008f0861244573261e4a323f67605299ca6c285140b154efe9a9a617426a83a7c02c17040665b419a2ad9abb5389252d9246ff64eb88baa02bc04f14833e906ab950bdb4260bd1741d15dc6b3a3678f1c13676af385f3b9663481614abd38b4efe70ccffb211b87f0a77390a7c99626deba83029718b5645e915aa209a776fa8cdfc973708d354bfde45020f60370f0676883d5f5b486fd088758d9f8bb5f6b60ce12b2588789b9baea086b30e83731d18fbaac5b8ca5ece50a7510e4880e3afb4155da3a90345f9aca7988dcccddad18c7f828bb902a38e4a6e6fa20708236d9199d52544aac1d22fefbc55a4c2368aacb88ece7ba56ff4d4e6bde4131efd202e0804af65fc842c72718d121dc27453ba6bc042fdc5a0c46c120ce061c0e43718b8ae06091a1c88bf43d14d447bdf0944d2329f67c6459dc4b97abdf2fe4f987214008d5092218ad528198b8dbc69efe9d28ad6769988eda536adaadc89b006c50274358657e54f00ad5b29ac337223cbe59569c84e38f12705bd9cd45d8e6d845302d758036f262612720057b26eac42d686d3d5152af3c125b5440689d2d06e918b747bd14643378172e66bf8d56b9c1659eaedf6b99b618564574ed4433ffa177042d1b733af61c544d111a9f59df24991c1a7e694d5c1464c178d6a02f7dba69790f65e214523d089b6a2376a35629068f4ae5c181fd7a988cd668d4f88e525c32f0a172bc0a6b9562b7e2f581956a9d2cedd95f98ce85a85521662df913e8be86fa5098af6c2c9cba5dbb8f3787d4276cb944f89873088aa6279a527b93dfa63ba2277360c0b2f8161ca404bfa99b54ca649dffa94a1a0c7c758278d949bd594198921cf18228b5f8a5494c66310a5daedb60e0b1404697363ca3351938dbf61151e5e724a7dd8ea4a31db862e991923a10d7323b8ad85a48d412aed5b9043a9c55842b1ebd8d49b01a240494df5772d2fc4814cb3da001a3930e768964c4512dabcea474e1f6f997c2fcbbee689e9d38dc956323afaa41919876c2794e92ee5c59aacdfec04ddba0db556d41ce1c4a6d7f6851f939075785e6d17116361bda19e3591820d5b763662875d7b60792eb10c4df041954335301aec12ed6a10941419b361ac1c5d0882a1009e6924603dd7033a9510b5649d1f6541b40d4c2ce54816a0cfb88bf6a29663165863e4fc2e49645a2ec2025e180529ba40b23adf5dfca3b2257210676d30624db453f222214f008525e3a6d832984ea054688f0faad33de51ad0fef384605fec2eac985e06cb1b0707e581cf092a043a2805066f24ade3aed4104f87cf9a762cbfd0133bfba211d457f4b635b219c4e160d2d745a0f5d4d634d4c79c4e4fe8ea5e7ca22388a9d99ca5787a6608945603af2c95816d30f9cad4d4eb16c45c54dd783a318c94f7f747efaa11192a7b01d086198112186a14dab868652c584ba2f2c57557e987f61caa0afecb4e3ccc9fd0dfab9cc6b9816fb6b277d78ae5ee472f583e022bd9eceb8b306996485fe749d524bfb99c6564420f63689433f298019fa77c8655c9082feea331152a8fa7cf86ea9b9177d00072a56b3a5db592cb163ccd0e01c3525c849acd29d1c235118f42d54e7eedfaa952c3ea8e5e21562b57ff2e8e547af4e23152339e633691c92808dd7ff10fa5007531a1c9ec111fc561bfe32fa845610e83fcfac571a642e08fcf4abfa109978b6590a512b9b6e817f65789fb298952d4e56345e274261457638c22def1fbca4517a87135417e488f39c0f0bd4f64962753545b93f56eacf7d6dff5a00ce5171c2900849a0dd8bc7004360d3a17be7a5eb5cd5c70f423477430dab76dbec7904ca78c5c59cfd32be1fd688a1257821aac854618726c8952bf33971826a4f116af0fac259eb36a0a1b2a4f423218a43375716943a6cfe525e54d3bf4e38dafe42c1dc411d13cc00123f18ad447a37c46ba1d05ad7a58c55d5f2111bb662634b9c16f37b392861960644de8485571f4ffa4c8af5bc0d1e61f80e586ac9642e807bdafa0c92ea350ce3544c1f2836619012cf3ffd3fe499192110e66ba40a32a672327fca02fe9e92a8326699dfca095d4ee815a692655ab254ad11ff41062cd2143eedb4145e7f146c173e8dbc98b370a939e745eb0dc4d818b0333826939c689cd9be4ca1b8512a58f5dc70fea5b8b49dffe027b6589629eed7fc8467fa3f0d55abc627345ca5029d3527c3d641dde6acc1bc69627bfc602d1b17a5c46d2311e6c7b5f0c6e25fda0de9faed843d9288027565563a260de669b1a46ab1fe1300bf32a396e478a189b143f68196c5fe0fb8921eb676682539dfe4de60688c9fc4d30b068c36c040f4e58bc80fb1de74af7e0f5b3ea8900255c1cc1ba3314a747b62f9f5c2cf6d4166d22e8cd4cec6910e262eaca95668389e153c3cc7731d26b29c77286767c267d213332888efaca216305f89c630f7e9313f4e568801b8e61c4e5caca1be25f6effd35852f88273e493d2d8c7ace8e6f6a9cba4804a781616dfc1afde1644bf462563b60817839ee1a0a9e6c8942a1c06c6e6a36435f2a3eb227445aa914c70bd284ea0ff6b22157f21336c8eace719da5e2066f90849d0d36c96730bb285aec141335e4999b8c989b80a90ae675157d0d5df47d79faa67cacb7b912b9835242385a5cc8800409cc02f553c9c3265f613637a3961cfe3a0c931220b40ebb05abc204e74ab019f20f37a9500c4b5c6659ad74cdd9317e1f3ade8301299f986f68c6a83c94cd0c40051565926445566b64f582499218866963cf52c809b5ab26ef962f1c03f5fe1eea83a2d06f087bf447a89abe8e8b114682e230c17be458eb75bf6a29d82ce85d11539d7dcd9d0b7e43caae29263819a07faafff7d3d4c91b423c226ddac41511ef5f0308e7a96a0be1e9fb243cb60e12512574921928d6f481333cd0b0738892e09a68eb171c00a2137ff2d31892cf54479302f56e1b0e90c51b77806f8bdc57dd408ba5d53f1ef9022d1c90b8398254e29009115ed329beb141f60dc2fa31a7eee7c3d64e7315298b9fb270760b03f373f837675779d6f111582f5b5382eca8dd2c076854e300f1566e26080c759b0842d26a6849768c2829eac11bc1359ca201a372f76f530f008cc30156c10cb80c935d988863fda48e0236ac2493cd206c8785cca747080797a57efe1e838d93af386c232c431e269999b3df2d94c2118d7994e34b6b687b7ab7fc01a05ee8e196bc01df17ab7ff1970a5ae416ec42935c55a375e4a84681d4340a86c8edf1fc6e5cdedbf8c34c0408b6ad4f6f438e19a52408238fe77680ed6a5ddcef211e01d89353a3a0e481d36d8af6c75d4e9ce30fae489efb947231e2345e0e186535747b00a6ca337129d7b21b82a52aeba735c83073f6f187b989ce77ce089ba7adfcfef18d8948b42b5fefde0fd1e25ce080b19c123ab7a9ce937fab81d793463de2ab2086ebb761ae39fbd4c759066f905739cff4ad4a695eb25b500d5f4486531d6a04333503c4c4aa376e96ee4a19ece221ba5d05ffb30d11e847b3e047df29c68910e3c7f1e826b12690226744cc6803b25e1e9c6d355360e78b59124ccd1bde20cf2ed3d3d960271b4ed4adef594fd1caa12be7ac63828de33cf2dea60d22ff7b78ee977466d169b5b50f5c642b53faed0230a684b602cd930b1e6c6919b3a140d14c361fddd415b7736dc40f55c8da1a0c057a16aa13d90895429da3b573be767a1bafd7a13e745be98db76c8c1ca38d437968d46f86f497e287715b03fdb0a2ba913a4cb48eb83ce3000d2302bc17ffe8f7a2eddb1a8bd7bcb2c3ff67244defd2753c42a451319d069e53015376bf22eb35648261463eca8683cf051edeb22641fb4936d26376e0a047af5e8bd584fd9567553e22722606beea4c32cc981f13176e909f036283ae53da79c8e0ecc7caae544fa50456ac8c9d3cb9b25f1725b093ef3c61e5dd2f4fdf424908517c82b9edbecaacd18badd395b9bd32092044e8297f1ce86ac22e3d8500320fe8d2f6c97b582b5f925c097c3710e7d2c22ef306a71b6b4d6107e04aeb275478f8a6019c6856b140a1c015961d664c5662197a70a8541ad472c3ce8d0998fbb8076f3391a4e9620a215ae7aff479cd840ad05571d83bb604e0f34d15db49ec2e8f0c511e726a7bbce7d0ffc2b6bb0f19f987a8eaa11055c26a623c0d145e68bc8dcb1860520639d4e85cc7f2ab4312af3e4ebaef9f874e7a7ce4cb93f254fc6b3a9ae12f4b8045dca8bef176c4bf70b2245abc9861b78c7c49dd2abf2ac918462bfe80392ce7eef461ce2de730757cd93ce3283f4998ea4f02e03e8e640f57015ea1f52fe069062f9c81f23d92672594723fe71285006851c28071a5df43659d67c5e6a346e7ca486420bf50bef63a835b432d615de56d22dc2a5c2ffe808f7722a3f73f5d1494369345c38f440ec3f1e71be16c3cb6b16c7680e800fe103d0db0b593e6fe7de49e5dbcee19efe88053353338e1cb03b4b75bf9542686d4562850932f46ba43aebc38e407d8330c21d15687377226582a292002b8697a6dc4afc01dfd681df6cbcafcd48855538752e0ab12b47da7a2173d17128bb809c2d8a9de8c6b3e936dc6fecadc0b211ce631b8914921eb045eecd2cdff53f41566cb58ff702209c1a043fc667b3d55536bedcb3b3bfa29bdddb8868f239e5a7ad15a0471299a205b04aa7dccbcfb34aefd71bd34be2654d89a1aba7e74d5f8ba1ba9637517f9e69df1dc42e0719898918d76d070055eccc626242d969ca341f0f95b6dcf88537bcd16e309a5dac1009f25e52872dc4934d9f39f9518daa6d81f16c182ffb820fc7ca5132bc5e17ac9e9b42eaa2d636767a224c9695dd2fe7d47176886c383906923efd0755a3c36b306ef6e230ba5461825fd690ae45b621b759ec846fdf4bcb9843e377c3ec22033330ae00253d1779c20443616d943ced92cb11b65992a27d475f11d6cde9efc54f396e427a02d5454d13c4459ba62e139350e94cc7ce899c2859ed03d4a8cdc1fbb7b446d7b99c909c288445336d4526b561e90233b04b725267fbf1089deaaebdd8401878fda1c992336de857d5251951e7ac1461541f02fbf55864b2749a29db26cef5ce696730978c8a17c7fe1781a7944ea91ad4877bc6df8e65d2e023caf431541254fdadd77754ed118e11133d2691d9f144b5827af12d5192c0018ba9dd40dbf880ba215a8331ac90f60c23a948583ff8a4f71c98021cdea6294f329a443abc402ba0d41c947988cd29000a5da6713e57ceb2f31bd4088ed71b960effd0f0a0875493b349b84103072d4d5bbbadb404adeae1ba6e50a67a7c07d01c0cc962fccac224544c8e36c6c874f635f0598002864c729f036e29cd48d4d48400346bb583de321241ee00039ff738399298168f5a75408324a78fe0bee22c802469919c26c59a4c16877d6f4cb716544f0609b83a193505989aec16c6af32f33c4db81041170ff118e38c77be9798f77fba969456f5c38f6418716b67577eb928df6f7a8a0c8507cf09148075cc9a8a77eb28e99406e050c36e8b35f4d60505683256d98e80b317d0043470ca9d0a963c2aa558de2b074778c1141a0ba0c05d67d17cc34018a6c0cb280402f013bc9898eaa3f52f5fd06e282254382d7714fa1ddc535026da1503e84139780581bb8dc634e46d4ba1cd296f9034a54ab21bab83872295b4d8a04ff00cd3083c2c11cc6d3a5e63e0a62160a601f3d6210805d259574948f530e83efb5c8af8fa778fc9e1440207477315487b50454a6ead3991829538b82ba5edb1ecac96d2025c58317df995cbc79a481e959be6a807254def25d86b4e5f32ac8579f6f004c319f1413437c5908e6e87a4292c3e8b5a2b52971b5371ca57a2e71af376ab486471d324604937106967674f3bfa82fa590aa0e017b083f2252b584e75b850bdd799465fef91ac0d3d5fd7b8caad168760d26c882e10af673f03161e28c0b74233c9f6dd727a13e6d92d9df10ee76ee43e6788539dbd39e3136124fdb45fe531ea2be79e387b560e1b19c01120855aec62ce64305afd19bc0f4f12f2363ae10264aa0dfe373bbc31b00e9531c51090f8f0e4783bbf7c40c3aa83338a40677d9ca0ad22a0a5f350360012b9dba38ce6ca5644be135093372e0d0e84b935f624d3d1d07c83522d1b113501a0acc7956c45995af95b2e32812700fd43fca85a6ea04ee46b434164bbed58fe7168b4ee4238a410d3865d8ebeae657d5c825301ca75f1670922c496918928bcd6d43bfc0accac99584614b4e3281dfda351664eb43987846482165d0be7005bfd884b0484efc1e8e75fb7e0cca706a558ce3e77f1ba6275f0dd0361f10b133bb708130bb68cdc1a7d74167d4ea25f623df621d1d14f5b37f81fa40387359b6f50a1da93c748c56c06797682bf5859d7396e0bfda75c6df9dace0b042ea12ae1777220734de701c84c639fbdf84505f90975929e7e7668e58d5a937abbea2d0b8f523fec8c0e74fae88ad48e56e34622218c124e6298609334cd5ff188af8a07952d0b56fa0866e218e7636a44938d596ce9918179a10a53ac626393de7d3c712e1d38af33cb09e893135458b4305956eb1b1be276ea836c791c57ba21d4b6d07de9855cb69e2e22e4fe545be559330d072f706b87ccf910828120ec1effe986a59fd0a83548dfc472549a530b2910d1ab053607496f2d6d110fda9aaa0a634b265b065b4c5a9945e521905401fa50c25323db9b6c16fd008ac48791a35ad962d84fd5dbbc1e627d9154ff8f52f8ce14785b0e8bebe2366a9c457f74cc1b6a5471b221444449baf815a49ce8726358a7a2bf3a3a63d0f77575bc24ce6336341a911d91e1acc11824a9b6e9934854be5e1a411d22f211b50e9b02731db8abe031153960b36e635b6ed0546f83de2651842df8d5b1100d40ee0dcc51ab5265f01ef289f4e3b1b23b8b7282f2fc3c69bde9cf47abb5033e123bdc0030f35e8e10b708d60c240527464c3029242c7cd6e901b931d6c5941e5108e952d651f36b802833b78ba11aa06d24da70fbb01ffeb44dbdaaa0022889dbd7000f9734e4b9001e34de74a5383d935fdc4f63639f3baa7fb6522642c8f698bbbaf31e01e6e5645fc9b6a5bf32b6b9b3af87504ee242b8bda06c5cad3e02ec8ecb24635bbe011d9f277b3af115254888e30a92fcccb1d8db6fc535e7098974feea3cb8bc87e350049835bc9159b03be5ba3e08e5f82cdec38b5659a0126cb432656856062bb108a0aa81acc808400d22ae5db580402c3e2299b392206d583812aa4cc4fe39e931b5402040703d908e852b424052af747e582c20cc6f46ac0c0196fbb5aa1974d71a1860ec3cc959353b9be9250d14b5e13db2cf1000c728c0fdad0ffe080401300a286df11b7b901b4b6d7f1b2ad6baa58bfdcfff737ea9c4a2ca4fa811e8cbed9121804c98a2cc86d40955f9c6244e04496be3c0b9902bb0b5778abe26ce1b260810ee09e013d411e828002b4327c2c3fc12f3c3b80f67b87d04e00422c9c135839c8bbd47975ea39909c04c9e0c9d00e00d472bf2f37caccb54e7010ff1ff0ef69f49ea112de555506704f5f7fe6f016eecdbffe9579e0731113c0b09f254abff550f71b2930628300109e72df6b680954b37a0a63508e385e445c49abdc49b51d6c41ac913c9bfb6c6ce774d0445ffaf34f7fe0b94df97b57c3028f73e42503c00d9f1e3d6965debaf56e3baed8dc28dfb5fef2105215aeca57af03229271e0138b4bd6cc61c0af53cf77a278a64cae1c07463e09579dd79bd5e18445f12f3922528c3cb4ecc4916ab0d6c9a77191e10328a09cdf21467e3c2891bfd2372b403ebecbfceb77d2f8bb55f8bcdd94cb501714a54fea676f8d68dd456f754d6e31ff7cdf33ca062ebab58ae676b7d55d64bd40be14c37e49ebe666d6fc3cc4b1a29cbdc1d39fce205927742a5cec92da9172c8b4469c6b3520d5a40d8ae5cb48bb1ee4c1015f41b1816e44a122ca8a72f8af00663ea23ef76a548ef353333ae869e47d7bc04dbc0434c5a0d80daa59c6c0689d2bdf714723ed9098cc649813426558b324520f8d88351c9659b5324af55a232c640f3ce3fe7bf862f02230fcb0cc70158f006ce636b77d519a7c00b3f9e5a352bb2cb862877f658b01de273143fb8cd18d9108f70ecb62eb78afac2b12d0258ad07c009fd67d98b24e502fcf9d046a350c5c33352de6717ec607be79d69c228f85470352b195d7d8aadfa64bfb17f6d1ea7fb971259ec4d023b5e3959a1b945b7d652b6849ea1254d0209e72c0dc0a60a6c8a8f6e827a11290170bf4af3551722714f956f36dde86940ed0325e2a1f9caa0fd9245f6407f84842ab77f047f2a5f15bbc88ecdc372d9315e186cf0e71300c73ae67804e9e0b18deaa8f82887c67b0aad09b2a4e791eec7fa73c81ecc05a3b74ccf27c6c880d78b5b7791f46cf856a64e92d97914a3a07f913d19bd8ef9f01c0f1ed76b49f8e1195e33fa972afe5b15813a5a775f90c2034243d96e7716d715692b17fab95c6341830ca43b08b4ce084048e02f04c2cdde77e12bb48f3f2b401423290f1fbc0022d096dc962731cc56fb823bffe043bf4fd4d18a1f5c78b4b8bb8e5997e90a2e1d8d18b587b5c7b16b6e9660b44fe9d36976d6a7afd6df95365ad5e70d0020f0285e92b7d9eb4a8f39e3d0d7188f806e2afd69e25df9fa163b7c465c65c6335424c884ed9ed74e153403d3635a2a463a6ff2dd4c6c35db49aacd71b5382827b74e226c16c1fee7298acb6046ebe17f7e1d2713c1a9469dcf5697a55c3720917d88c135486cab60b06fd3549b3960a0c3f966b24cb224c539a49448cebcf06e8953d276308a89939a1880a5916aa1e58b5d97c58003c5fccd94351d73c252c776b85882d304d602e52362b6ebf8ea28dcda3da08551fb1f8e66dd13d54cd5a160515c866d3204e0f13a9436b46c79e6b97a9228bb3a3a9383db9f3452267e1aea3f5a7c2fc03276e78fe89ac024c3ea44ebc388cfcd9c684600e18b71ebcea20dbb964be8730cb2e408046b61a19cfc9fb15b60e8d36131f90ba0b0353f40856493f961b471219ea6b9b80b1cf9293d8bbe142d6aab6d130300dbf5f02c1971dbc4eb16f49569c8a77409a4d09fa265bab198086288fa510624aab782d8f4606256f2616b81682ae6a8138c71e190421fa687ef8ddd8a08b8c93f3678be42d2e4f3723481877708e30436da49ae149526909edafddc9ea2a71c105c637bac7a21bd363f955d3196c09ec51d975c49e163586b9b35db4b940f830060dc25b521adb97c1a1addcbaf6378a7c6e875abcd5fc120b57c9842859db48ff0b4f4159e4bf63ffc6aa4f7cf5fdf534be1394f344438c210c91b37c0e60c80646dce85d5146124938b13ab394e360b36970aa8552c29171e14e3f5a7661de980762484f1ceca13c7e82ba92730817bc287e3094dce01894aedb3fd65f6d1e955d2f89bf639421892f1ec45eac9d4a635bca454bc10c7ba9cf201b7898a3a0d2035349f1b9e383114abac4ebf815b3c453318410fb39c41a492a38da7708933776e8325c0c2b5112470c508175d2e9171f89f92241a987cdb5ae2c43f681569814d3eee906c3857990c322689ca37011dea898341c77ab64deee30a435a76863e2ff6c8ed36c26908324583386a765317e505cffa48562683e2aa13244ec4424e0fbbd98290249547718f18fd5de9c064a79cfc5460ac304e6e006a7f866f245cb9e7151d4fbd1a51df34408e00f98d6e41b677466154b8cc27c2ddcecdeec3bc1510486f598a93b8e5d069446e2a00c94d1f6ea59112afee3091ef4452fffcb12e82b12f7110718c9fc4231988f2c70f7c1394ea69c3e5e9a5f06115e0189b1e8433dd80005b3d823d39cca8774fb5b1215b03fcbe42065ad7e562ff45d2ad35a43ecd719c5dc941ff7932a86793bc6a53cc3ea2fa56e81d48454d530976cf397a7f35a374b17699b5f89ed75bf1c92f4c0c783f748c904f81875186f670b9ddfabc31b49787b75ff11bb6316142ec5e15b88ef1b23106d0b5c0a6da87d3b4b590dbdbbc5186b276306346c390b960c6a9d56cdf71c2aa22645f37a6cd7cdedd7e53190d53be022bb32aa9e6cea205d8b803ae5e03d54c749da1858e7aa05fd44701822b4c32a9e57f3b25e4d80a8d454d2efe78be905d17f99d5c0f02f5f64121a2d1fefc30bbb0db411608105b31167a339d03a47e9f49dca6a5ef4a9ab38b021e88d4d9f17d64b4809dda13f4c3d5dc9fcea3e25b7a0cbaa768afd0b25219341a5cb2eb5bb05d3861bbcfc46c90178324c3ace5e8d8ff27744cb926d07938a401bef47925945f03710f0cef1d27eb4accf72ca40bc07475f74bdd874c928b1908623819812030562b53ed28f8dcbdf1027bb4a5418a7099c91004cf27fc6070d4eb9bfc37e73e869d783da3fa65ba34d13a2fd8bdc0dd5d54017cdcdeeb9a1cf79c2101d39db5de2c154750d5f978b2003f9a01fcd8d95f01ff3f947228c03841b32a7c3031aedae14d0a9741e2011a11e0ef532bc7d0820b266dd1a2132323c2c4e12735125d66a0da84bacc19558c33575b02b7ec3abeb491294c7dc6a12f06a72b6ce6e6621b39e7e57e2078c66ca1a67439d3456771de093c32579b90a73535ab9b813c0d3e74433bd56be2399972ff94769ccf7a5df8312c80afe9ab063e940f08c3695e0218066039de03a2d5bca667cddd1f1a18545aafb5414f1ea7f873a31f6140fb26e175de30a9db64209723f986a8d9cdbb690378f09e388951f88ad752e0b36c6246cccf1a2589b3a3f19cf4f1b9833085e5b80030e7ed6978070f7a9eb50d4c0ffe3540690ea8ef70276908c002531e5ba6d26d56892d0d85bc1e3ae8276a62af1605cde260cc25e41578040692154d881b104111c4dc1096c41063ebcf277cd033382ff940f34d85c0a6664bbd7e6ca31992564004e77c68cc95069c856279a52b71629b3fb163444a6fbca499a1488b8907cb79682da3312b5f8d087ae7b4c84d434e5df7b856ec5229b20bf7463309826ad5a20db89b7a14250ed1d414134bc83d6030919d96905e0609b43dbf6056d1d2b69606fa05363a60714fc1522fb412343589185936c494693e71ec191c2bb128823ba9ff2f1778a0073f262b26be48563a77cc8bc77d07eb68ee96860bb4555c33d5c85aced540ab3ce6959647ff3af5b1f5ef6cc01320e43de52903cec2a39615f7f84a1829add747715cc85f1608b1e5a1ba9e774d472888cb687938103846ec18db2b2aa3349a6614aeabebebc270a6d8040226381e3047d1b09f3e84f742a15e2b4d7022913887db74503d25d20c265fcd1ad038cdecc46434ceb64d73a820153ea8e2a1334ca354989b908f8a2327d9c31a1a79761efc1a6481837f0ea31e1fc01ef5e170f0f00db97802aaad6351c3837d3fb0305ed7f2fccf992bb803fbcacbd9066a3ff10077b5a96de913f930ceaede1a8f56cc6f9431943a4a9496900ca0c4ddfaff654693dacc99c5bd134610fac2c98300eff02e40588d428e4dfe721501a249be6344aa586703292cc0e8943ca72bb1c8b0b55c39b95292b9e81a25bad0d561da1533c0de4fc251ea4099dda037cb6a0c7198722e9f632b3996aa5705e7114c1684085a44199062dc5e3a5784015e82454c3fff1098c8ac2082ab90c05f98cdfae6525720a772975e185711d581d3f76e1ff870a9eabdd81359fe2806241de903882ea03fe5d4dd869e8d79ee17c2287dce2d5a99bdc9ca684979f10ca42050a911482d401632c4effe04bf48061a33bc23c6113d3a1e9d2b951225341c52c7b562b8d6d60cc8380620c8bc4520ee9e41ed5bb4742c43aa637054f93e125e499e755d756db45ace0032734f7ae0dd47b6d86ca3024b563ad4e9308d28cb9605d42c6963c74a176ab73a2a5f8184b944763508e126486ed40b7c461311ee29a4d41498de25ff2e44513e44618c9822e531eae0d61aea7a814b2d5ac87dbf0cd7482830208571b256cdf5414e2c0c65f3c020835f76db82c5e35becd2456205c6b4d0188df33f1085e066dd10a1847b495888149f300c2b61670025fbe79bc0810e4b4ed9d01d6e770acaca9742685dc4ca1344d4f30264e16348c168a45c06c0c768bde20bba7dd3edb81ef5cc8bcc20c9625c3a6fbb47bd3dd27e6f405ec121001073e60184349679f7945f5f11b59cc046bdf9962dda7f03b72058b08da50a8c4c0c859ce5bba0e5daea212ae99c16b8461b87c0a628828b5ee7c851cff04345b36e745c1c127da5848603310e3ed698af078c5e0e27c822c1726272956c289f8fb0df0a2af9c7c81e91aaaecf57d82c7d30c73fc6bd1a6fd58e18e33f3d51dd8ae262c96faba0f70a4337fd3139305d70bbe2a16f39ba17b2a9c6cb2dadad2814b5fe53ceefe59a324820170c4ddb7345c2c30f7580c9e2c6a861b29f3b464af1f463b770d5374dd56325187c7a0837e5d43edcc8d203b86fab794c004cea930e3fd4330c13a28f65c2f1575f43bed46fec3856a4e4383671626a0faf402cf233a7a022a58f89310656293f757a3617c22a1193869cd10357b534f1682b2f04ca11cc3ec41f69e41d58de1ca1f4c6da3f51390eee5dd58c4464d265c7e413b14e9b28dea354a783e7875554a72786e644925db89690e64e8fa18d721c79e8e0ba16db97c1fab224cf15c12b39800be92f180187e7b92e97675e0b6cf74e5e3eecb9cf425023e7a9a4e4f370272050372a50ed5d29687964840c5851d0cbe86fe0b521a399e200bd4a4c59fb3c2848978761d4b9f375389c8ff3117bf0b4cbc7181555e3afb064aca1ae132d7e4c680d0a603e4dd648e3eb0532405fcc25490452ba39c7c2af0e8f2fc8ce85e10a05c646b84175c40b32732936e5d3b021e67e0c8226b4dc871443c2d39c1a16a497f113efd5877b38ec55f619d649c2f8f9d02789f9582f47fdcd63ba074ac44fbf21a88864ab01d7eebdc77295fc0f2f54141214ac44ae5b380c8faa8acd7622843aa0d96cb19dad2e54be37814b816d002a3776c907f71edd55378ea324365c5cc075156f1a4538b4b34413de1aca3fde1de8ac608939e198716f7ec8cff406ca9121764f07622cf869ff70c6e38a1c849d58d1e8f2bf32f07340488d910a16f3ee98a0c7b2dc6afafef4c6528651ccb0e14f31390ccb0d82d191bf65b059be4eedf0ffe7cf6cacde689aa496f18b33e80b88e93719211cdb78388cf3c32b4110932e7594e23b4e3c3ca72676143ef1b8bb347a23a9488843615d99a8e2b20f78da98e80af48dec36296e04232f0de80be1659d48c017120ccd3981ba01d24e9c26be82adbd5e8d308e15068fd5f795b1a1745f20b132982ca8d28e86669d6fd3a071548e80be6dca8da34cd79710d100ee10023ab4a092bf0c0dafaa02c489a18fe3c0e800ae03bb2f84c538f61c3d98601d56b4c61cbc508d1bfc0562808ba32020e6ed4ec8741f719b3fa56ac05bb5ad66032a77ea24c0f2881fd211355159042ae9697addefeef7e834f691a739a1287f5aa4e81358f9f2308a46affb6fbffbcc78b61fd71d50b2e94e8a4ae1031e9d6ddc7e0cc878d4ce597d7e4aa42011c3a5b507de5df66b8c5c7bcc2fc19cb2104656b517441f9e900c7cbb2e4338d778a9cf5adcd64bf7c38f687d89f9b495a0f45ed37c71d4640beb3c2738169eb719d62c8ed1126d53b0066e5db6fc279991ab859a7d01961c584a2a185148dcfb16279a865304a6ab2e5bbf07300a34c5f6100951f588e2d95c538e55db26d6949c12a953572d8a3e6d9d1b27bc902fbd8e115e009694feacc8566d6e786f13edaba9802a7150f0081a9e525886a097de410e84291c24c43c95d18fe2e72ffeb0150756a947d1f4776fc6ccf10bab9d83417096c02173bf987fa5c4664731cbc4217436f3b417169dcb77f03325477f14f1d0eaa7516601070dcf01db34fbf9c9e6dc567d198c25097dd4b6c3f27c40cf855663c92a294abac2911d143a2408a65f45c284a96b852509f84578acaf39aa8b4754d7ba5640fa46a185a55d51dab282cdab0c7833e3c2cd0d04b535f2f2d22112918970449ee216a506b82a0ed62419541c8186f764660db1c0726b1520b0d44a16f280b5ba0021737efc052167f3cc6f19ae496400f9f48cb7b95d9eaebe7c46d8b219757c1f3e41d1c717e399a7ee67db97b631044ea8e92ec305f1ad3e7584b9fbe0a85bc4f89724fadabc9db9d01b83f096136c681080202ba8cd99123881c1d36ac38e98d9c590a0684ca800ad08f7d8137f6e0b8fdde7f54888ef33342a40c81560b5d5534687dcbc3b15dbad7d65433b87d74c3f88fe9347a24ba459b17d162e2404961c9ce81e9af7f38c2febcd720dfe06e7bf8c2083929964d96eb77dc68a7692256562a743b10353f790e4eccda65efdf025bc7d6aa135755af4d323b449dee2eda5c2ba9ca67e86058d375d831113b82252396f161a8c048c5bc61469d4f333275aef2a2dbd16adb0986829c005036210f23772bb26e4832e53308ea08d067eecf008c1c53d1e2d80b6486a1d152b78a6aa3c2ce3a223261957942fe0e3d601a1a67f43a4897b8f9a840872347acaf0ddde9ec34e74b6cbe0abdd22ad7d1c7e34def60c6d04004337b10fd798e4f82fd0891ffaafa9ab78428f45149b44c8ae88cdfdcb6cca114ff68329981068107fb4fc4b15b8544801206fb2aa303e8c1ff0e461dd9c5f8260bc477c6d605ddb05154e939a924e3ab680366d551041259c6bd655698c2b64c1c1158f0d94a79b97b6e3c8c2edec52ed8747eb136f40f281d0048a9fa37c3789a1e29149c608d6e0967e6d270dcbbe713ae1021a1289e451422ddc5ba82afe0438f703aa29cfed51843357cae105a0bf1d890008c7e3ec0bcdfa8f7ed3e2242c4aea053505a319dbe095226719ede40a237f7c4b1b1b2fa63e662c5542b10dbcfc10ed89a8e665596566d3d207492454688c1046076c58c5db0adcec9be8547f09810b2fc6b2ea831ee6092c0433f22bad90e3cddb8dcd2469f3172256373569c454366e96287c1a12fab99ff0078bac63d6a8da4e33ceae71a5f300edde332cb5acee287eefc736a55938bfb620c60dac2b4a1a61e8e5b072ef0739dd5645a42b70c06954376d881d8993d9cf0c75077e2286f1c4e1137e80b2d37b8a9156fedf79166882988c199e75ad7a2f5c4e23d0ea7bcf52eef2d1b948f0c295db2e04944424d089cb54dba15a33db0dff5a02f8435dbbf5ee0925056da175365f12f52fec2e041a079d00c3ed56a2ade173c8205acc62e7929894dc49be9e479514d92b26d4e9df36b1c5ea2e24edc0d234bf9664d83d566c0d46c2020d93ce4ee547d88abeba08b511f57eb084827b7ce7f228ec2c43b4bfbb42c58e3ff213e037ede24bfbad142b4926224c9742930558b0f9af008a88937a9e1c7bfdb759d8aa2e7bdc6d26aef4bcb89bd13a850d734da7c4a00d7030f86412ac60341e337efaf288805185cfcf89f4f2671fc84c06f5d0c093e4d5bd91e1bed29c8b19c515abaf40020c49033a9436885820cec24a07d51238787e862ee4d71c1237f79647c02d91a89890a9077b40c06060915799abe88ec03901d145eb4ac53dc296d9b7ccb206cbe837bc55390f8beeab422a8ca23ff61ade0fd8b67537b2b7dc5b6e29654a52063808b008f907e1bcc272223c73a0fe7e8038be481047d001e27837f80664dd68e2441ed42b6aca3a2e4a6aca3a320ce0a4723f3735655d99a437c24de57e8e6aca3a3308f8057054b99fab4d5997a500ae96fb39ab29ebd01ce013c0595d4d59a735e4635761a6ac4b3346c8f77358b120acdccf6d399117f43bc4f1eef80fc411f480db9a399157bba00e717c3911c65212bba822e2088e208e2f27c2515b9f3882e27be2787bee96cedddaee16940d1f280b853565dd1690a75864a6ac63f3e39d4c9929ebda1c7d52193353d6b9317a0498c99a32bc24c213c942336598e90068727fa73565b8690a75d10f493365d8093b9141fd42d26c8141c007b295fb3b363948e20f36b9bf6b33c30033fea873c39379dea873b3f42a80084b4c340840e37d34692013c7ce1a7c116e1a400fa2a11078082000d80900c4b1738defc74e3538006935fb509d0d49e727ad7dc4d1e9d3cdc7f501f1efe9c15bb12da12d10c4aca0ac1d591f6479208e17481c419857c37a1de2787fc411c481e5124571bc3b37c4f1f5d1bcb01dd82c3307e1b865501ca714b97f67d276e41ce138ada8a1018dfe57c8d34e8c734ceebbb9b494361bdc6c5c5fe6f990b89f3a8fdbf4d214faf9517ab9f1a3b4fa1fe515073f1220bb8f5a2bca1e42cd12008e1f4158da21fea88336857c1cb2f1a350f630fbf8350eb26b907dcb67e8f5e34ef61a6450ffa8937d067ad9fdbe7322dec26db672b311719ba529dbb06a53b66d4da1ac29bb3f4bb92e4dd98da24dd9c5aa4dd9ddb25b53c6cd6653c6614da11a641117850c6a1c4b59a4655bcbe177e2d8bf614d19b7d56d5b53d6cda65073dbd66ccaba281b35657836856a54eebf585386a3eadd9a328ce5772bf773b329f36aa138763f8735655ed6148a42167967b8ad9d9defb8ad19c6ef33cbfd5d94e73dd745cdbeefed2cca55b170709ee21ae8d5b237450279512414f2cb84f5db08a71709ebafd1af41388b90302026acff154e2b12d6ef9dc9caf97e6f0acff77b504ef3f9b166eac321f9fca4713fd26cc5d17dc4510907c4bf1365a552c274be21345369a0fe9d0fa9479c342770fe9677c431045a9651278f9336d2c8e3a4d1461d799c341072309b1eea1cb7a1f76eefefb2610deb872d81c9a5222c4c253e2c4c25d676e0896b294a52cabde542baf49de49c1e9158d25a6733a16c7070430ce79c738aff347e7ee69c738634707c520d6b6bc1ef9cef0f29e7ad7507df864762d9de8e07cc91b8093b7501e7632750c44d5b99a7d7f7d85b34076a8e73a0e6380e4de6bea9f4108de77e388ee3380eb80d381b5c0d4e9c54e077e29c81e1847a0282fd34a11ad64ee459bea59323465df94ec44d4d628ebff8ef87845f7ef343caf1188703c81600d9da305b9b932d97ed4f49f4d51ca8df5ad17e8ec736fca61ad69f23fca29c80f6c72f2ab754c3faab39d1bd177c3d0c16fb6af9eb209c5c07a1cc37cbef05c1d7eb1f06f3ee03a2248338088bf243ea64fea47a0877dfff45f5508eefffa67a28875804e6e8bc73d985935d32f57e42ec8423c433fc84a1b0144cc354f015ac05475d99f1f60a120d717381cf532e32e3262c95fbfda987b8d9752c349b9e66d323f26c4b4d991ae6b46987f6c83476ed940335ae4f69489be8b705a4cfd4b0fe29cb238e3d76c431e6fa6e0ae75fc2f278b3eccdc29f1110cf26293a9162274ec44db8c932f5d0b54b3dd444db5a69a5bbe8f261812ab12c4c255e6b5411e5b303389fb284723101e777d40d585d7e7079358a42410eaae4a4456917333a9e34c3551735343aa949eff8346293c4c40d0d4f726a5232d235f95ef0e2e20b25c354f1212a8c288090010b775af304cc1a13e44c91006dcb16d31318b840c10c6cb428f11c151c3ea8011345135a4c519cc91b364d4d060c37eee58530b297a517263364805295f6268316e50184026306176a473c6172d42e436e31326c0920cbaaa9322f545bb7afd249832cab960023bfb2ac12028a2ffc09943337ccb0623be38475b2ac5a020ca64f57b4c1dc732ecc971359655ac8020a97d995c4eaa2ab962022ef6459b504ad02e1f452ea9452a7d49d564a9d524a29a54ea9534a29a594524aa953ea94524a29a594524a29a594524a9d52a794524a29a594524a29a5d49d524a29a594524a9d52a79252ae7190c0f2c7faa00ca217773867875d2b96d1478e2c83ee4f3ec26114ba9086f5a7544f184f98b20e8cb2e803320849c3dac5918aa036288e38ae0fdcd001299b4f53086674d4e34b1e1c99ec9f514df48d334b96d12a72a81b27952cbb53a8e71037d63c4ea8156ece4116adf0ca7352c9a01781134d2524d093c47151b6995325e889026f9c46e4fe1935b74819388338c194f1fc2087b66fd9ab8739747d7e9c3c641b51e410fd9653369fa6ecc88cef11bfe777bc2913a28344e74111e6529a429da74c0453680436aa17b9dfe753ee3fa2c5bb40c894c929c4238eb3cc0a3a238122f7f7544167d8fc92238e334c67a529f392fb2713b97f2e21e71409d4ef85338a84f5df26a698dc6fc94c167021276c9c6772ff0864d1e42283a66c524da129b26717b9bfbfe662d77cedcfa9b64fe957052db79c4eb2c70ae82fa5bffc9e1ec071e6b186671c59c25c825160a7f4cb35888832bf7f0d51a09e0c9a1d2ab1b3af50a9e2024daee2424a966f43be944f93683d80e38e4cb929e57edf6fff393fc7dbbe5a34eefd4ebf7e497d6d08faf5e9d7ad5fb7bfc2cc56dc81809644338bcb32a767fe9959561ca756a673abc571b699e2a4491d9d66ca3a74fe145d9fcbbb3fa1be21b42652829cf333c43bfdd676681ff7569130b7d81207bc503c7de5445874107c354d06f5d8349f7ffd6d1cfa3eeb194f671455c3e8cf0867ad617446abd033de87268b3a53e92ff0f5f29931bbf6ccbfcd2378421566dee95e67d27a68740c0b3fadf05b7f376e249b342f336466982bd2244d7e3e3c6c614eeec269a361168ba3b4cad5a50338be5e4e3469cebd5effb0d8a435ccbe14b046f74af22b59197ad70cf834277a5dbbd98e7269c1530358b3d2858b17dac0e08b15c8a0037715e36860020a1e9eb0e2c9182f48e34fda785940c101d31a35587cec322101195478d07235460827ce18b1c525f63d623c62606c4c1599fe2b867bc478c43eb681d90a62c678ec64e98549873cc66a2e157c4ce41557acb8303d21224a105d38897231585566f3b2e441d8ffbc4e9516bedd0d5264d1a1071f9c8000e28d3bf1a20c182fced0266796a8747953058b1aa664165cc478a942654812c2862a8298ba02064048188c5146c7c634f1b01d311b537c4c782d44c5e03e4d355462aaac62a041965567a8364bfd7221a8b5ca8a53ad372761ce85c08655c2fcef9c72a38fd34aeaa45e7857447d96ba90da0f215896aeadd5fa153aec6cb4633d623c7a648972205963f60a263b9b51776ba135904cd272e5d2fece8a815961f06c144b1a2c6cdc5fb04104d4ce159833379ae6943981560b1a80579aa2843855b2a86eb87a2813860535be2b5361c2b0e1fd50ab8103bc151576b42d1b9c0f5062bab8559664b8b15189ba62c35ec9eaa0f2b0c581120949279835e1301222c40a2d4b0d7777774fe201ea464f2377ef81e640f2f6789295aceed818c37a51510418afea564b48ed87901cdc349064ba4ee053034591f2b06c69f5195e55a94602961112a060412903250b8a96921395e0838fd3124ec832e184295a53b6a6b4a12d95e0444a4880ae9445029611127620d340d20c9a34493bb0b15f74da084b48ed871029580d24cb642549d16a2099c797dc42136200c6135890c1810b1a9a1c3569a2d560dd08332f5a2794990692686a12549a5aad135db4f16a049b1976db429f1dc498608695650fd198627bc4d0a66aadb5566e87155407cab20a0554cc588265598502264d158bc5b4482da925b59a4db36936d99f6617fd6b3fd825d33e22bbc82ef75a24f982d786a0738f65e015c79984de6d7ed8e3714550432a6120ddf013f1ac7349905d7f412cbe95ef6b13dfe6e5eb59fcfa7ebcde731473960bc2d3b0fefedef7f07d8b1f7c7158d28689de4fc360f556312bad95ceaf08fdf94eeb6cf7e847ff7ea57fc5adc8d4c087064ebb0d99e20a9ea958c7bbe4876f623694be57b7d5b9a7e1118985db5ca44e62494a6de5de273c22b1ba044e750bd0e947e0e58704819fc00f05dcddfde76718de70b9e67c77bff15314f116aedf916693b7b71fd2367a78a4d9cca786b56b8db783ea8eeb2add7c747a3cb6f32171f3482cf7fcfd907a1e63eb545ca77b9af11d540fb9d8307cfda938ea88ddac83ea664f1dd40ceff4cc3aa9ed4302c1b08bc2f99cefa67a68836e4a6eb19485d08fb28a2bcb3808128a14783eca2ff20a8fd20b018a62433d3f0e85a063797efcd900c98f3d29fcf8a9f063953b40c8fe2a8438851049f8a1742021b0a3973d1454c4a3953778f0f1066137d545cdc00d5e4a1ae1ada221423ca8f1461ef1d63512c75b04a47f748e1cdf81ad75f03111c4b17d88636f89dc17e26f5b45331c381ec82ceae7e77f4461e9d0f13960b0ef600604f4310f3c78e7b6100a3d2c40f0f04e8f8ee5bef8e0fbb9ad0fb6d841abb9c7b29075deeeecf460d1fe4e2865508f783f20fe9e6783be9ee70969eeb9eed59cc8f33ccfe3093d379ed9cbfafff1c5f346cd83d44dd9ae1e9d1e9d0dac540f75513d047e7f370552772d1c2d1cd1d3b1ef301d516285620d71bc37440d441adb8c2dbfc431840f3c0082e970a27beaa11ed103b13ceba074a894b12ff6893ca0eb43a23d7bc28fe3d350ed23f8e7d4757827fdd865b27fbbcb45ff710a78e8387c022e018f8043c0bf999aa86b0ed44fd95b0a9a26ea2c9f6e06f0e32c33cd2c49917d9c54f4f87142c13426fb38b1887e9c5f9a9cc83ece27867e9c5e9ca6507f55083f4eaad911d9c799c4d310d9a794434da10efa716e993297e23b9c80c78fb30801fc388108c08fd30a083e999ac869300f5ca6f1da0ff7917d479191c7e7a789e8920335a5b9381e9935ccfba9615d1b41a4618df04962d79c88263d02c4f122e08988237800b156970e30e448cc9ab24a335a9ab24a4504a6dcef4d5356afb8d394552d3e9bb21ae54f5356a51c6acaead41412c19b7cb893cffc29b7ef208b2a17192465ca2ad514ea5af39a13d5175844f30fc49ad73c58b2168838825e8f38be74c411b44bd96e945684f614ab013f02cd7222bb814f12c7ab81478038821978226256eeaf4b4eb4cd4cf803d4250cfc90ba748117526953b6451d555aeeaf54a66c9332aa54727fbd3265db940857727fd532651b55d4946d35a929dbaca6a66cbba29ab22d0c1759b48d91413eb4e41a95ab54ee1de2d81b960339d1b6e5404b4e7483c4f115048207e2f8f2a0a86659e08188e32de17f88230813c79713dd2807f29a57e03d1df10124bc8f38820ea0b5ef43a22fbf49fb30ec719b1ed281db84208738f0fe039044f7fd03207de491fd41904327bcff07d2c7a0ecaf430ef5f8d841f67f39a4f3be8194756868c821e93a1247caba3463ce901ca2ef7fa58f9d8f9e7d7cd7f1df631d21ded2a1e38dbadbe2664280fc785838ce0c7b3c86337320b4d2f43a42f258dcd6ac8b9a4571a0562583fa3f206271800048bc1c64507b55352439de468e1f3ddb7824e194420259f1e913c650e6aecd94715b1ff8a3efdc4c5937f3c01b3d5e9ab22eaa032fc263a629c3b323efe371d394e12814bee8b11376f26a63ff07b8d97b6016f51d10c7fe23518f4214d68f970327f4e86c3e96e2e0e0588b040b65d611ca8c2d153d20bb7cf6ebeee275f1441bdef7da72a2bbb50171bc1a10473003dccc040cccf205c4f195b7a829e3a2a2a4a68c9362c01b919a9a326ecac82f602af76f5453c6512de015b051e5fead36655c4d019f0071eccd6aca38ab047cccea6acab8abd80b5de5fe2dcc947161a6d01859c48d9141fd1c16f872226e03b7ad991375330b9430cb2f27ea94be8838de223f823882237c05c4f145655ef909a7160a84e1949a8004fa23104e2b08049356d7fd12e47b45a6faf4c36ea65e3aaa74daaa44010a408f6a88ed94dba43a64f905b991ad98c20d3faa36be1717e0e8b5f11504cc29a430b3b2fd2d1cbd8cbc3de588f487230b2de4ed0bd22ee4fb2677e2687ffe550f5db195c8f40b52806cc5140a90ad377581a0f30a36db975206d523afb9955ff590ac1e0bad647a4f196666551669aa84088333192b69c326d85cd7759d68ad0cddf5f50232738f1eb9af57bd563149cd545ca1faff64f9f2b99f069ab8bf165d5cae04aa8e24f7f6367a68f37fd557c3dc86ff78f3eb65c39b2d05964ee4fdf2be57514a189058514a20290222606e27a22ed20a3ad07c18fcedc3403f84104612482900a9248ff29b8a5202a089ccdc7f739380be7f9d5bfac39ae5cf64812a99b46af171dde38e52da6d94f6771dddb8b75346bfbd4e4cd2d9fbbe1d279db2ee294e32bd2f48fd4e4e99ccdcbdff1dc6be6d741b77e431497b88829573dba68c7bffc9dd364514fcedb453b67de77d7f3f775b92293f22dd73e2386f47a7ec7e27d20ef2d9c79f68a7d0f87d287422c7711889babbbb0fc1ddef85f46788ed9455fb639269ffd62bca299b7866146627da2974bbb0c6f6fdf73bc9ccdd8f4966b65f85c62433dfafdda360bd7b3b659d38824049beefd44ed98744b7cda86fd72042bffb20f43b514e2125f976e178bfed73a1929c64662bda300599fbdb9be0142c7f5400760d55a0b36b38b54d3901fe8695061cb7a92dabab6c59b2880a98651351a4e4e66264f4230c11fe7e815702cd9712ffd82306c3af1e1d18e344581e65ed5bfabdd904a9d5dd320d389be6e705c8c4a8b92cbd9069a2fb5fb67cdb35092cbfa9bd9d27a594524ee933a9396777192328a5b54e6ddb76af16125dd77518cf28aaeffb3e97ab0d171004c19c1cafb63377e6ce0ecf37a77c1e39a656e6767e356c8627c39a567e35ac8709764d81f3a5f7929292ea02632f8f52ba94ee8921a54be937a4ddb5ee7e5f6075ea4e65a52fa54be99452ea3edd1dcb8649a7eef4e5e1cf73b986f8a812b4894aeaeefa3c977fce1746f4cb20f978562ba9bbbb3bc6ae8494eeee2ecf60ec2aa24e19e43407badd4da194d870ec263d31b6aceb5da9dbefaee5da26cb4adba574498153864736d0fd8a2ef5cb52754f65dfea761101cef7daee82812adfe022a5e5448a2b588c91c311d967a0e1051530415589d1440c7018e39406df5e1295c40c848041172a6854a0c43cd86539060b0d050337154f303005192c52bef0f244166e82aa1cfe799a0a116739660ccd093cc7807e43fe80162d3380f1e60725ac8ee44b9e6d8c1adadb86b56d4e30141944498981154c576ec398acda174c01d3ad46559bad948a6192c12cc7a4400a985a6b0b72ad7f6b8d95a9b50e794ec4299aa4d112a288266b8eea53ae5f2cc9952a57eeabb5d6209c44da66b7ad6dab2f602185046bb947422b935a6b0e54533d447943e5cc517528b952c9150b4daed5562e0acf2a5d35d95681b5c6a3c715597ca890da0f211cb75d2981dbaed8e1f312ec0959269c6067b0b6abc670f40bc76d57ccb0d3b11e311e3db66d73d245d50c518881c3d2123047d66bc8d65a2a2a9160048bb680e3c498b5ca7ae3d19e316b2db64dacb5324cb6d65251890b49088d709bc8715754eaec0bd65abb868c6c95fcd26b67d626ad40052e809ac282081a8eacd3906d0aa464ab54abd0e050edf318a9423343ae595a65a5d13105c7711ce7dcbd5c67b9ca51aeb98903ce790327c5711cc7dd8dbb05b05ce528e75cbd5d6bbd75e366bd5badf5564e72f6393596c280c504dbff1b558238d4efdd5cfee8eedff55a29a5dc36275b957e679c2c7196f5c74bdf85246c28f7773065569453682ccafd55bc802ca22208254cd914777808b95b7a91fb3fc8724c1665f2076451bd42b00f64c30450c2e5ba6900c160f42b024e25947e01563aef462dadb5c7f923ac0858e9dc1c08d60694deb76d222503940dfb5c177497fdad5652dda585b779e355431229e150c29aedf54583c66b7b21b1398d314468ba47f6a5152bd235a095b2fe46b9608903f80267e4008280892c6ef2f85992d042037e69b39c124827d66a3433021a86e90f7154da42cff24bc2cfb5111984dfa83f2afcf1d31568eebc70cb53ac58066e39e196eb85f252f9cd99136eb98fe547c443c10bf1bd1f520ad23dcf0bc79b84deafef217d9aa9387abfc2ccf437fb34b4ef8532c3b6f07da81f90fbb7c87d8aaf57cdb87a00c7496b337403bd307bee2fc9451f32e3f6921c85faae4f92b7a7a392fe887cefa291d72d3ce219b95e7e9be7a2a1170299f9b600c21a86bf8a1c11e03897b677f147c3e62f79c61ed3963a6b0d7f99a98704f2dc004eda1215ff9a5db4f16a18f67e7c65fc7309e3a7218c87fe88e4f939c6a0eb6b8020ce3ffe1ffc4af825807f077e8931998c411c575864c9950935a5602983bc2b194f2a0d73cf7becf8317e170dffcc6f269586e19741f8ef14fc8edf35051ca59b8cb1e4d1b01f2ca230a370a6800da35780fd9e07640fd500d2398fe0c8736decc8f229109d384780239500a59452fa43bb9bece3ce4a530c7e349b3a04fb5f0c3eb43055dbc1c9d1540294555894c994e78aa55dc9f6957a48566151cbf68d34911fd9a925db591e7972d26c7222241e761957af0bfb0bb265243b8030fa686ce4f602ca8675341f1ec06c9f8624527220fb6368b7a0c9201e64907d25279a3d4cb9c51059134bb6770ae8df89b3a96176e6bfdd1fb7cd7ffbed3b240db33f67f72d4d02d9c7e16cb24d3d8467b7c39d8b22b04d253b3d3595dc54b0cc906f1099bb9f91b17bfd93a9f464260954df294d1d27ad9a2081eadb36054f4f384f384f2012868203c5fb70a080e32b4b09827e5d1f52b77b98c4f2e02add928f3603a758030d38331c6e706501385fce1f0d739ba5a4bfb544411c93d4ec43b6a75fc2cfc75c68f30c77b2fcb81166e6c4ae6af342e6c29a67d8937d78a06f4514a91b81e50ffe9f1d19e7b37f1445c25e50cdbd84ea21211d450e11913097819b4f763a617306e1f24b09b0e6f1d5eeefaf812c92d9abc480cad24b0c5643597af941ab439dec7d21cdaed033ee3c57e8d90b65551b2cf90b3de3cd7bc9a2e638f992455cf6c779e22ec5692f1a4019bc85ec2f65f05a939d8bec5754f184c47102e234014798742007ba9e1220b565da53026c4ca12c1a2ecb8659acacc1d6944779457302c70d8b0683c160603f0105aed5acbe5aea50966e5f3fa4ad7e43c9ab8682925750309f308789311e38dd535b3b62fe949447ccd2cdd6b0ad75b626b57eb6ca819ef4692df825601e0971207f9c1940ee474bb3b52364d1f7fe4de51e952b390fe688b68b04f2079fc8fe160a5b4587e3b54ad2d66ccd4571be70768679aeb033063d57b8bd17de9f389c4738e10a7705708557de5e06d2c7610252ba85f348480ff5542781136e3fc820ff2fdcb0c8207f1b6e5964d0f75ed8a19ca1cc1b2d093924e5c6c3954d4b763feac21a4638aebe9223dc1e67857b9c8079b43539907f17aab15b8032c8265934b3d3c8e1f228af706400e9db9a13f51192eb9ecae9a9a660f8d37ae8b33f7782b69ab229bdfc50669b0dc369da9a7acadf37710aaba9879cb6590fd52212cd90515e759893bfc8ab4d2ac92cb8124b7fa0be58fa82e90b26376ed6b859d3668d9b356ed6b059c3e6ff07b6836b326da83579d50f6c47d51a2eee09518228a20a28c864a1aa6ac1ad5a3345766559b5e68a0748c79f93fb4de4386e070f1f3fb787382ebc0de338179b56cb89e315af28dbbb36a8a4474d7319fca33ffd29d26ffa56f4ee6efb5752aa424f990ab3b34ff973d6e9316065271c160e36534baa00438d960abc0b9830665eae58b28d792ba6a890820b1427b4f05a0caa948c902081eee9254b2b6b065bb00b0c5cc36669a533c6d4dd6dc4c84aca97daddfdc3282624d6454c2b295932ced24a0acd06815d64b8c4f88fc578f4f011b3317c65ccbe788304961b284b4ca982d3449bce88d8f788f188c52c141c62d8298b134b62b18ff180fd3c8f1e3e702092068a0f6996b021cc0bce25d387c5aca05cc9364b306a86e0c84c79319c60880761ff43990eb0851ba81654a146082a57420d136a9ec0dc5f179e4ca166884c330b4464e1c3992a342ac438a24f5a4cd6ad823d22a4504d31a34ba89d9065c20935f44ca32c21b51f42eeb5b31aa8aa23e1563e5ec0621385930d4aa42009328ac81b1487c58f5a6bd0e0871e7eb042d322861447820c1fae9dbd00ac405c8f188fcd7150d2c48b0e3b88e922882e57f81162c8602265753873822b199ab6b052c599a92efa87514c88e8656955c3953cc63833d81506285f6e3758c1430b5a245105ab8b301c05de0c74e8a674dd05188018cb77d6486171b76ddbe646e46ddb6cd8b61c92d0e18b239c686165e5689362f2b6fd4b2b6fdbddec76b72e069eaeabb5dbb66dd6da12e8ed3a197cf4de6ddbb66d4bf3795354145d3a6bb96ddbb66d9b624677e9d9b66ddbb6ce5a059cf952849721b88421c58bb8dded2e77b9ad0a0a1700804435610a95d3145b9eb4a08414966d6c2283329e663104f184082c58491317a0ace942cc19248218a24160c3174e4cf04319505f84c072b198a2bae20229592c89212a0b8efc02352504159509c6681284ad384c116144122ec0410b884fcac0a98826aabc01e28d09b674675a3004195f5e3025ca0a2d59bc28459061e544668d136564b1828553429575f583165a68a9aac29285be51c1181ec65841175082f8218b1741e2cd0e340861431432ae8c01f2c832ab418c1a6665107134ade4f9af1e72f920809525c270c244133a389d20f73f2c8605f4e20accd20b5313af929124d18518305c2053c68e922d30583d31e5090c74c84285a88c3188b8ba220b30d4f8b02db1d1022769662043124caca0071dbaff823428784a81128c2cb500d314840d2df08202134c29d079c8e20e483859aaf282144d69c01021c40d6188618313dacf18630ce1c60a26172c99f23981c3245155c697cc65e9e50a274d7c192385191dbec460c951ef90876848c1152a26d088d1c275d882cae33553b5d5a400505679a195c7cb841553b9bb6f7b9941543ea2030649152631326439b520854b91620a8c145fac50fa845317617e2883e5640a31850d60a690c20417363b4b662ca1830bcc92092e68328d2c99e002668c0caa0c81c3162c6ac8f0282f78a295524a67f55a258f8bf4e6504a27bd9b7d5be9a51bb5b4565aa1680c7f743b84f92c80f3e95cc2b4a5dfdf47530c7ef4c276b445beb7b0c474345271e6b96529828066f9138c7c27288b644e61bea1d2a8db6717ccb4c5c56dabbf6d746bfbd3fac8f2391840a7e28f32cf6fb0522df46929fb2bc91d0ec957941246824cff12a9375ca187d0a5a5169a62911210a129f81b3749f34d4ec155d83ec9cd4af2f6bd42e7edf1f5fc1be23ddd75ff8a2978dec4b74955a44ab6e94bb0fcc1120928abb6b8caf63f7b7b7b77ecfd43da7cd659e57c3ae77c2bde86599f1dc07ecc711f92bfbd4e3f2132d3f71a66c5fb537fbb39f53be6f56d7dc9ddedb92fc873e278af38829b38bee8ac564d9d657f4ca534d3e198f3d371dea8bd95fa3baadc35a04b93c1cf792c1b007e4e77c9c14cfe1e3feebc298bec4bfc0199b56cc5d1bbce85230a1f911926f777dd37e47ed7ddb791af38da6ce4b68746fc1305fc9f677fe63c283f22b34b0e6e72523ff8df901c9c8f484bec2de5f4eab25b72c05e1a7f087b7ed543e047e43e288e9fbfb7df2781e2c893e31f0812b957ca69ce011dccd7af7a68fb209fb9b733e3f925b955c338917638f9beeb5d588e6546cbd92c39415189a2ba229395a6873a77df77efe7c864eebfc79bd75f52f71ccefd88b895387a22cead0247aff587a48202e4d10b5ec6d251fd20b3b3eb23d2444a90bfe7beef3bd13f715c61e6910babdc8f8780f8e7db7edc19350efdca135398f93e0efdaa612e039e2ea854cc182a7b58a2b1190000281316000028100c0744e290409245baa6a80714000f74a84c5c621908445990c22808638c31801802000004180200320ad950050120704bb4095444b12282215be60f66931e4a57538bc797a19eb57b9aa65fd5ada2d5f5d99f5eb1f8b226aca8e7adc402490b845f5897e18fb6c8f5a09b3d0a0899e5873c5bac619e806e08d29003608dd74243c06fccc3c604c1ac466881303ef7f52a1fb543c937bcfcc199ef1e79132c7aa7c9e9195e12355ab3816c78aad0c7770b85b5c7c79478445f559b070032f986262e6329ae3861f567e331864bd41ddb717d177c1682ad29f137f5e47d9046d1a2c9f53c95cbc5e23dd28bda24047cfdb7fb4b4048a81caf52b749bbc88b60e654e77e62e91e19fb081b099d2206f70c999149ee23857d879eaad68e7b59f56021858b0f83040c65eabfbf982ba9e701fa122b44aad46f1eba38e4192270c7b553eb8442060d1da167cbda2cffed46af7150ae3399f561cf02b41c88db60ab6cb32eacf159b8022c2b08a152e34f43ab6e1f4507be6e5c7efc0271cdb716a2729da149ae4a8e0b684e21db51a3fc7de78e68bf93d098148412960901decdab318dc1e5cda3c8180d975000a6d761335987be4d1e791534a8c89a7bdc68f3830d88c5dc7b0b4f05701471ae8455878607fab772cd9343d35280aa6e367591e7326aec7ce98dd3f4a03421b79f2033f61dc89c7529261776e884c5c6956696ad405b5c46310afa9fbc144e1dad6c41a7f6267b2b257685ee3b42122ae280c3b6f8f3494db6a10951c2b842a95021404f496d22b86bf5b2bcdc492af815529a2986ca85cecb94950211eb7cf2f6e36173695c61637a4287ee1ca678304b8272132a006c435e63d58f5b3d199f5c47952c56194ab94e6c5d738b91c68bd4315a2061ac967162159f80117e1643a78b19ef6c946c78e71f5054eda8c45e35c61ddc38107086c2f9dbdd42561ed47061af000917319c40b67de6ae3d4cc07895b2ac5ae5a1467955ab9a49ebae0402992a6ab6d6d2827e1e431a3645d5f23a78e237b0f837d2bad55afecf6cbd23276ac9c88259f37a6dc7f2fbb70744027010df0f4ac15c3dc044d590bc80ed5bd6511d9f36335f62170fc9c00bd1a62fd1a43162e787888b721903b220c9f644fa390c9731580f0dd9ed346b0265811e62bccaca442353068e80d91f574ae2515d2c1a03d3161f75b09c9b60765c76820e8ca5764c7f5a4ba01d2868508907762c7c9326ace092ae901b40361448d63f55b0f9f13d12680775f2adf09807ab328346c282e3b5d9c63be8cacd900490a7ff2b8c8ab20fbe860fe594e7830498e3f86c6095cb14fc2485e53bcda2df5dd3d3358e5e373672b15a03b6cbcc25a1a1e1632fc4a0a3c622ded24cc6a850bae882df5be49ce2bf8828298b2ef92c03996dbc31c032f0ac1d07a5140e83745ef2bc23280da708a90a59dd45fb9cf630c63f32f818668447a9521b965c0e109677012406fe3971285a914ee789629b80c43d4b55c8b5e4069981cc3f0fd0445fa374e7343be65e443a78bc606b7a13df244b8d4ee00e550a1afc220f742207f5f601a3772289410e46441ee6138ea4439f8ba0d5e8715209a990a9510ffba044dd754207083fd7bcd3ce89809b864de4ed211e60189217c8d242746ec3667b8dd22dd077f8be003ddcaed505902e477ca13e518dcac1e4862d825b17f662e642ca7a5c095c10912a8b7129aaaeff473c19cce172aaf4143f3b50f044d02412d37722265f94760f53a98c0f63afed70d891f508a374c2a80216e718ee24ff721658c6be6df0c3acfbe4967ae1fa3823dbac27ca7d236fe6aea067318103f94ad32ff845a0c53dc033eaaac3abb0124a12843d6a671b41f9963c46d8da4186d231f9ac40ae1f5591d40856405e4d5a919039f6717958397df7854c03f52f98ee3295d1ca438aa54aefc50670401e323dbcdc5191c609f5d19cdbbcc8dacf373834e88878c766d438b5018113301d1c65cfaeeceab3bd26e3ea768e403bc4df6dae31c06e616c3ef61a72a596d318663980d628cd1facffaf55619c5e15f6ed599d6338cb961eff94882f659226c65baa24a5cb6e1d5c134de75d99f4ed01a74fe0b2d90decf682f660b864bb3418d212cf8a78fc36944df77c60dd037fe68e403e65ca3e77692020555bd1ce47e10dfc5ba721dc648cd3a72f66c7a4381e2671f8065f50f64710c4fb199db0d0cff8583036c6bcbf49a3ba4092994d7df869c473683012da50072bdd37d25dd5115e9e5c038fd0e660d0afb23eccf99fa0225e3af6c3a27e734f81e9d2d4c334d75aaa2fda4ef15dbf8f6616c202436a2776ac7270f4587426c684446e07c2b219350a0ef1d8e8ccc74498a35321f7350a0e6c4ae39ff37a1b2ae2446a928e0e7b7cf7b25428f20fc4508ca5b32cb57b5e9d0cb84023de0b87d68e311e049bf5f27cf16879faacb61d49ccf8cbafd96a68e781948d1809205d992b387dde9b2e512c0793dd525d4b728ba9d9121441f85e6f7955e60345fb233409bd5bc2f52dc19860a624e6b9df7b346edc4950151653bb8661a18c9c45b2e3792104000fb83b4ced9514c8364a514df766ec5391116010e2aecac0181e89cae6a52c2712b83ab82df1ff49a45edb978dfc0a730af8d281be7572398db628b29848a6b4254093621de84c1123e1daf6a6060ea023d0f519423dd4c0ebe95eed7a5e4e5d15d57a138b3862bb30b5db04dc083f5f28f4f76a0ab34718fbeb673211698f1ee59887487cbbf9a1480d0fdd55dfc2809be0559d9caea6babbeab8110cfec20aabefe993469ff1a577388ae207bf44e7b0b3e9a2b0f7b2f1cea21c19c31b59a51de82e5794aecbf5f18dc93bb04408ef885e8449a7ec9ac0114c28cd5f4a0de5cdfab7223c606e362beea1fdfdc5a4507ad4192931efe8253e8b9c37a59b7477a2ae24e066698f68b739ac0a30aec6654012edc58bd747c202e591506e09a232530b795fb3983613848c90a94d7d34b9fedff87c5357a4ea9d80ec2bf7331d7a5f4f00daf4c3e804c5be3f314c42d5da006113b54d1c1da9b41ca15f318053c8f17ac8cecc5e9d9e326fca79230d785bb66c9c1268364efbbd65c944ad9e016745dd6ba06a971bfdfc28279602baf89603a0b4eee45e2d7a5b4a88e71342aac2956df40d2c58320b5950971c545960bbf3d293ed997497889734dc945760bfc22e01f1dc666f9a7565b8e670b38e06c3e8300538ee475e9c8e2088e9b51c684fa095b0f0db1ba8610afa4980b83cd450f2004723b348f4d97187c6c2e82b6158fdafefb1656f133ee25ba3c269aac0483f4efad7dd0e17dc15c42831341c4b23bde9545eb7804457d14d59c53589e3def8c4e86801fd733059722d008b2654b8a9512aadb22f88d02ff48d9871c02554b1a136fa681d9e74e532a488afc31434994aa9edbe98de419f8753a4995d1773d252d6a9f8ba46596f8ebd98c3e0544fb860d7625a4097c6ef933d7474c87f79ffb4b9880337ffe14dedce6eddcfd744736e08f7361b6cdfac39df5accee7313ba2504d1300714916878597b76165aa46b0f49aa6cbe55cb142c856f20b3a0257f9d8a7eac6d527ec0a7c4e2c5abb550106073c8e26cb3d9d08bc83431fd743679e6d70b2d6c8e0859d1bbefd7c6b9a1c453e2c06fc7a58e011c6eb7d3bf43e11384b70024ab9967ff54400618f125e0e89450cef7bd2345a7b043053ab2e742f39ea57b3652b440a4be1f928ad9484a79d7a99b57cecd2f7e2aaca0de2ac31d600102d871a02aacc9ef0681836f5e93582e5eb0a96b7961204a8afc65f105a826a50e587029d60f1e312078a7c6363d08b9489e85d42d6b6363fa55bd7b10e6f55336cfa056eef3dfc253e4590939479ae0e40a13c038d416b2a67d1626cfc602797b04445b4244717bc7963cef76a1390f0807e38ce055914ac2a10137e942b05074e95e1fed0ba5a1c283f5f8be181723cf5152b31f9706184344f7d11ebab4157daa8f00501887db1cc8db17e6a18b191d40cec4f470f2c652dcb93667d253a02ea4bfd32f5b52621552d5fd74e852732ed6bca3dd60f7f2afb40a03aa8dd81eba60ba1a7488337e1b588aa941ae3b5b2b59ae6176d21418c8ccb3824cfa4148c59e76e634cbda886a1a2022dc43ff3d7409b32201068813b19d2e0a0129764416f10e4fcc9a5c0c3ac93bb60a2baf379b9eaa680bdab34397326c47f09283bc35227fa4eb77c9854b162164590e667143b522745191ab1cbae8fc1dd87a490e1c28ed4f59b941018e4c4f007b23362407eb45e540f01b5a2723db0667f83665e0d19acfe41ca68c5ae44c06fc0a1cfbe29c1c879a329d6ce799d8c392818f5d93415e010a902ae84d065764a2fe04482b2bd956dfe41e968c5af6693233b903cf8645c76781e3bb2c2310db7b13f37059c63a8155836e6a65200acfd920ce3b3ceae749b2ef7e873bd769f363a31ed15e6abaf645ac8633b4429d0eee865bc75e14605a3c57f83b9589d6067689f4c1349f266ec7560c924ac9407ac87f4709e7c9a704f6b4c156ec67cda2751afb8ccb63308c04a1172b8ff58919b62498e13366d845d4da484f3b2f2dd983f34c5a5b27a4e41d22a97ec390496c2e7ce10644acc2b55b97cf8684d8eca0bc04859eb298c78007d6f68cb98835bd5c438cff294b2182c479607a8b7670ee92b210ad1625c3e308e00ebed13c1a403824d6618b44df4a397ef53d47c6b7e46f73e69a086bcdfc2fff1a16cf7c4a16b91becf45b36970dbf7332f3df1f2ce8cc9d424bcb086302ce2725209c3f8e71a43614347049738e42d1c73a674f93d14d8c1e9fc7455ccf1092adcfe38a1e2d27fed7f72219edce829b7f2cc2f446ed30a2f2876cb14b3b8f1aca2430a2a2abb87592d65aa4735567171dd81ce8f9c98d63cc163bb70750dbabf46febb240f9bf40b212123b2cd80cfce8d1ce35b9a6ece564c2472d4299b95497a9e1a435490be69c5feb6b3581f78b1dd819e0e57a2a1656e050d70c50ede0e3cc987be50c8820297507391d603f993185c0e0a2af4d629e623c7ab5dbc75d48c8eb4beff7d4a00d71b984fe1aed15a502e5a93afbad7127d6d93e8e69b8d67622d488c49de2b20d9be11b350c04d3171e518669588c806c1ec1d771edc338981814664c7e27cb1cadc2b6104d591c4a8b0017145f8cafac1a041752914981c5700e6625d6445a592484789e724fdfe102090286150e615aa929f9966b201aa9dc0d3b3c3c05f444fedfa5a8441a46b37eb23d0d92db87ed351f6ea804440d9608e1de22f78dd33f0359221f613e7293fdb05b19daf2c85876a0b84582adf2d37c726aefd3a755d3a32405daa5288a80b512313193536d0000731282f0199ea8c6d1d21503e6b9b434c76854976b8a1c50c5a4d37498803bcf2401af58ecec66b7feb963a00c1ba6d024cac1957fb5e0e1786ce64a32273abe5b4250fb17652639a4d083215160c3cec528930874ef7a59e737b30502f8ae263d09d0da6aee18ca009afa0150485b523cdfe7fa59421b61b5c87c26c53af2f18eeecb567fea1cd4a07cb8366a95077130564879e3d33c0e957a28a90318e47d0162e597263d8fed2c98a48e15e0a3a3b1a8c3019f8f8a81e550068fabbdfae91fb5f60b8a26031804a8b2c770bf062368d78c1d962199da24a271152858fafca034bb1e0d06f7ba5c042f71680be0f2ff151d6f188b957ea3b51e398405a66594b484a0d95350258a1efbf6a5ab4bb6248fb1102106bc513d1d6e941952824c57b82cfdc40eb4f5f25935291f6ff2d166a0bd00aece1d4791c18d8bd98645faadd522d58940805ac990bb8bcf74e937a0032fc6de768db191442decea5c972ff8a6be0edf894e24d5f55b430ba75d5d90c836b42a593e53d960dd2352099b6bba5231db0dbd0d2c19ce6ddbdb717e02ec985abd3885444935d8c10d773ed715a255e1dabc8afb15c0fe6df13369c2315acc43241702babb72f38aa8aadd68baeba385d573f40e06847794ff5e19c08f00687ac013409e10d21d4aa20fbf52a28b0e5061a0dec9bb02d4b9003ca77f590b0a907a71a6ff527c785d5792483365c4dc94d479898fc1fafd892d35c72ba390d0120aef20b0fae1d15e7a05122da7064c4c2bf3e2f4e14b1cfdf1a086cec80a64acda5aea64a1bfc3f027c72bf7073fa2de4f09e0fa3410d23755128f958f33aa39250125fa10c428f44dff00a06082f242c0bf6d3cdd39fe6a97a1195833e6bba6937d565a9e97c799f934b1aaa6d30c69f0b83888a82000c13e59041450383429b4cf037a72f3fe771f83b6154d985dee30cae47d9e59fed19d7407ba0c7cd357c21ccd40274c9d7ef6f6ad01daafc400613eb9504062f773a9d5847ca22dea8bcc12f136f74711e016b78a9fe10e269ca7021e09c164620a35376f6c0938415f3a7011a91289c9608a500447d7d33c81bf5f2f949db3d28aff354092ccb777cc68b9e2ad5376e33f3bc873d152da484929f8fd51b02da0bfdbc94b7b86609d50633092aa09698daa582956a1730287af942b3aecdc5f903ab8c9431f0927405e03b9c378ca6b5a394bde9c013b489ec4702f9e397646d4acee29f6230f24c160118beca58e17b17779115213815f9f294cfb5d6e28832caef1131b8c0849238375fd077f053a2b085e0a6af33ce4b3730bd85b9bfde93b16c6127605b63b4eb8fd91c810fe79a29483c2a68fc9443740c87545e74bf23b021ed403566cc0d35ee5345a6baad004da94583b68a9e612d252bc6845d93ebba351376a2c517ee7a0b87a55f91fbc9a6e7063fbd3224a608e97c2874a7bf3f1f0517a1140adcb87783ed5c4e07146d598c0aa50aee23aa589b76ae76e86e98f0816e77deb5a4cd14e7346814442916aa191af801a557414d8278df8b0014b907d82be44acdb2dab7ff3cf059af4a835ae86c6be8409bf608723b301493ed292165ff13d8e2a342830d5bce42df8f4e2b69e1d6625735ac7d4f288ef19361869160cd19bcd8805bbfe0ff7f7e486929aff3a2bac773b80167967fc51c0ec040d827b25077f1f07231a9c16ad507e063dba902e86b51e76a09fbb58f6ce16be8b211dbd45bc1c752323f6f5d92f82914cd69d44b88789c4acb8b454beeb6c64610297b2f6defa5bd10976d95d3d93b143eada3e41e944489ce09cd25f481876c3421e62242582728085c7cf5db76d411745533727cd02bca11c549985010134cda63e566390cf93aaa24f0a4b9e5ba1549c7e56969e7c36575eb974639b77d4145fd307315c21375c53bc9e2d8d1bc6b79711e9ba12b8706d4bb3df2f0b162afe6af372f83e3221869a24a5686747317501fd81b0668a7622735696d27c1f77cad2cb03ff4cc4e3309023b27edf286b49af9a165a606a807bcfdbd14e478857c9a5a8713ce837df0e48a197a70504e543d7090bb2e467bab0a6f4af3e6682d0f94520cf078632be083764c90bb729d62777eccae29660d05b260a0619dcc2f8e657c0ba922fd95422b803b76295731ac7ea3f42c0aa1b7e27f5c6d59e94f35234038f2015774a46c9ff0f98c290228bbfcaa7ac589d4700140e4c643f91950c54a2eda767734a815f2678d134c22c7d9c15cdfecce8cf32482601834ec9f4a63033d95d2ccd3b0fad03d45192b80b9dab1af0c08d7f4e890ed0025807a88b8cac84b8bf9d42a409f3eb0ca9e8b03278dc0cda6416a567b2136219f4888f3ac80426735b9142deeb8cd30a3fb15d0384f55b219f1e89281813939f398078a7fc4b9df92b08e401a3447ff8a182e0350171263ff9fc3aff0c7d719dd540e6f62c94f68675f8b9a3802a517cfd992894ab5ca8dab135300ffff52742325c7829b43415acd37e2df4542d07a40bb99de30f1ccfcf4afb75645bdc35e678dc24a732846bdf6e3e1ed7043b7e1ae4d63c3647443381f68ea9624c4454f04ca087f4ffd33842d74f04a8d064c8ff9f2eee682b65be1e3186622a665e71e9ffe792146a264fa0d151300025a21d712c2c81d16e71aa4da06263e44d2412e5711051d124b93af4d61490519a355973079f13cea9ae4a2102d4f045f130b1100263be76879f053b7aabcad3daa2048d61a1f56498333cd549765b9e537aeaf5016a75cccc667ccc8329f0acf7e21a12dc9a6a19ca9a8397fb260a0c685ef27c268f8f663c867109a496ff8ff9cc7781bab2b7a951a64e6000290a363ef82df94743bf3f6792c80a0a06f273db06d6c96bfb436fa8c75e9798262bd8690f0c10392e3129e43e591532a9f1ea505816d3c5815ecf91ebee2d0cbb371255b57982a60c5ca96c77ce6cb9be11eb2337613c6ac25061496bc6373fe2d52205f27a0bd1c6130f625c0fe4d21c0a3469ced0f83e2a2e8e7f735cb34b89cfbdde74889ba50d6c61a9a628080d3df2cf78da61166dd3505aff8aef41cec7fc56be6dec1370633d2eec8814e27f199669c70432c9ce8b7fe07b4c0be2cdb73dc89c1fe9116e9167458774d145d8d1d56beaa227981ebc7d34eb08f5faccdd58a3c7ed7d4bfe461004553797f980a2ca9baed49de58f744647bb76a331ffb98f6560cbb77c8093ada4bb06a0330704d892ee56d20dd54a89e4b54d7a740b92efbf3de9d59c0552c7e115cdbbc890b6a65d5c40d10576d52d1c6c28243756617af280497c91fa644875b5cc4157560f9c37739ef66d35af6b222c06f80129ad0a78a5fa3b30567bf1ad5fc19d02cfad67bf0b670f6f66afb644d762d32a82a4b87959f4f9da9875364231a0cd04c8a516ad5c46fb9c52365020fe7f28907960f0149e6e5c7942dc43afc879c5d3112452969fb9415fe586ee2d5b1c7278a1f7f2b52ebf24e37011fe3dc00ddc10377161e34fb32491ec2d253ef54ca814986acfafa32a0a949f68fa7aab9ce787ee1331ba241c146af760d70794ba294ba01f7d9002e0f63fed85b60f0795a319da3f6043bf0fc98c882e28745789baeb0daf655e5bc8dc135a7a42d96523d12231f67f0141ee0f2b4fa0984f11a25ba0881cf66abbe0cb732893d48ede5e1344470a825da8ee795092927976eb96e23260b8bc320ab7f14cb0c0d28a09b647313783b65f2fddd35ce53cb9dea88d6433ed9b9c53d5296162a810b9778bb2024bb77abed46b1af754b93c20df4f62e2a6847bf791b5c1755d1ea8170874fc18e50df10037aea551ffdf018f01ca989adf638769f33ca71b04ff4ceedb50c9176875fa9aed51557ac60a3fce90ec5d6980e23ea6506f398a8832aff37b80653326ef7ab5d6107f131b0d37fa3e2ba186a2a45eaf3b28367313dbe3669ab44e97e72eab2b7f8e7a829bdecfd3b1c14ecb4a9f7f067cfe4286a6cc9a81b2436bca702eb49ebd7e4e5bd5e8418d59b409b1f5b6e0573b0df0ca3daa66969690f63d6e482d733c5719801e2c9875b158f973028d077a5268c82a58bc700005f7363f52b2b1c26b2d5bfff53c35569a60545904a05757e5eff1f2c6eb407f33663a946e5d1cdc99e6484a3ef63c10f2fbb04137f6292ac1f21886464d74050574ec79649308ec50fa37be66cc6b215126b9c4ee1e29a9803dafbfc0a62cd1d1581c599f5a8e98bb6e615fde3867d4f5caac93356f6c37a32b4428a57217f62b25f7e948ceb021082a25b942e3bb86062f314dd3fce700900ecc933a75e59f67468c327047d60e62e292211675be1e5e595d56ab629aba82525dd3ac5d8377db0e0f9ae0a1fd4b6c004724782854a22616a995ec5befa545dc76c889dd128377469fb6cc71ddead910801fa12be0f39affa04fb9eaad969cca76a8d015c47cdf014d9daa4800e222c9a5881a66bd236a54cd255eb32950e8ed36196e909e6a9a58405cc9e655af24d54a11ea6464172d938bc059a72ca5d6a423e52926f516e843ba9c5466b2f77fcd5e7aa445a8bd45011467baaf486247f7be6f627bae000a1347c7d7ca9f8d3011522da0f62eb52193995127ee1660bca8d091c59555e8d12b9775a2ba777e991d9ff914c5ec547d5da743cc49d0e76d2f03a441b7380cd3a14140c963495816989bcfc71e1a306b51079f46526bc6bd5037d233d1765c08332bbc793b4e9f956c0cc06d9f7c6b7186119e6b3b0ac78208c9398761b33e081ea11e3baae2b11c0cc9236d321cd0e7083bf919e558aa88c6b6f0f9a830e25283ec12aa0e34a0c7897d50fc2fb9c6c62a7ede8c08f5dc7f997e9b33b124392f10db155906bc4b221d64c5e79cd0bc0fd83db75cbdf5de3fc6aa31648ce3f1ca24402221ae179ccd68074eae7976e0da5aa90b111b9a88925c1c93409a516e5a073f1b719d115da2b5ab554a8f14b1d25faee197807ec137576ea4ed184d862c26c3effbeef2ca9d5b0cbffcb7fa63f391dba8ae324fdf52cfeff2c7b989e7360950e7c87ca8e6ee433d8543aa5d0a571ff3d549761502e719cf7f670584a221ce908b0d0bffdcb5e5ac4c15b051abfe2c1c474e5b212068ea97d0708d46ff4bbe8042a02d910783a65f01b7f19c3c10c0a0dc93cea1bcc0297d86c79da76de30e24b065aa0a8f9bc17726194d38065a75d4dfd9ac5eac29bb1750d0157830c72391f7570b61a93dfc7b8823766145113c8c9ea50cc535199ee35b5c187256001d0e2ab70a8ae3ef07de740623825908826466dfed14e5f30b6b89d7e1bc2b037dd41674af01fd19514d3ac3a994ea7abe4842537d7e6e6372e7e9098bc3718c92ae12ac140183468486ec17ec3f2b5e775247d00776d5b9651cf8f63797e436b7c41996ccebcee49923cc5dd1c94f9e3f4233c38deb436a6c83bc44b77c5a744159412881bcfa72a859721e7ca3eead9aa2d267ea27adc9cea1616ee8b47b8eade960d201a8fa7503da83fc9ad64f53c4b56aab2082383ac47a89a90051624406eb30deca9786874c87a4486c602ef1760e66bd21c4eeb8e4665113d0219f4932c3e5cf4638413a5f094bef09e690d5c0f8f5565c1f9276e7e23e203968ff6d2d37199212e3dceebdaa07f9c093134cec8fa9c69b031e3905519d9b5ac044a97acc9a9e7b015fb96934391ccd6f20475f4b02a2a035547ff9c68a39bc881e611a8d6dca78c03be9c690ab5b1e2188e944e72368b090c37d28d500e72e971cac952951990afef8c903ba00233fb5a941b29c7ec4caab5289f964946b5764985f77c74e7dc0e1d9faabbccd6885636f7eaa8d3c642ffb5af529fe04b35f8248f921d27adf8e55d3678b2a589f6c3b4ae59a9b7e9971aeeef51cb44ad36d3f61db20a9f5385028ac9ea534a48f50eeb78df6e7e475c6d4ceb49d163348a23c791b0be001e5a9292815c754aefebeddc6e1a38adda64ee4e1bde8ccddcd8bb000dde8fe0db76777839448f534a6f0e1c5db8aebaee507893d1b3ca56a777490eb3f98889721d79a7f123ac08a61b337f17df84539fb4ce5ce3477a2168cb0bf3e10845fd268fe0d6dd7522f43e834eb6f641edcd2e76e1f3eb01945fe7441c6c378c90e7a0b0d8e9b57afb1d9fd57dd7114d95e2a613a9d061531751def340b2456f66e8469b3589571b5015abe306ec7c1aec805d0b20353d210f1ce2960f8679b2c2c61a1c45fd739adca4b4c8053a60da462701605f68b55727615dd5c28eb2a25b1eaf44c0808cf48765dc7911e1f266c00a454d0056f365048223779544d45f3ab2ba81c2f136de75acdaa86edef5cd1fa6a4bab2d44c3030bb7fa7ed0e107ccfe1c5e8fae1c745c597c19aa9951ba30a6d5abf627ca377387f22f52ec006af6850047dbb6eda67dd09497569eb47fffdde9d6f97a13eb9869beb8a28a8dba235613dd243bdcc466cafca5b6340a19af8d2d1ed80af84e2c8fad47cb2bb9f916ec83113139e540841414676f055f06cc0f9a2728cf4bb62cb4fab2b8ae5dc060a8d66fc9cc072f54c3d2412ec29bb71161091874a96ffb0465fe6994adedd3bbe132f0f625d0d5841316414577191f2ace374c0ed0475855c27f6e83e1e0ff66a95836f434c2602a4bf289d5129962590613c024439bf33542339b58c5e5167bd7a34e643f17e443407f6c826c99f1bdc058de147d0273670ec238f5e2e20fb78aa4290a8fbf9c40912abdb20dc0f60f98b02241e255c7c1b20223b0389516ffab37252b91da2260864356d70e570cea12c695d0e33965010eb1e85cd3de13bbf81f62d70392f8b58088bd9ba763fc0213ae41aa6409619160321e25fa494dc6f674afdb835d37f1a4c4ba250fe439527b309df5ef179934d9e9f0ae0a8b69cdc1f3d2271ba31b099d80ef61e8d0bf7324c8d924bf55db5614d124320754de494c471b4d248714d3fc7c6c138405e4e75b1908ad4383447b0b4ad34fa327b2f14eccea3423901cbd00b7a1166991af1040bacf05b84f3deaac64cb2d7af4b49b041cbe6e1e26e2b07f02bb0b504a82ac0e540283a32a976645f8a1f048c68bf35ff4ec32a7e5f8bc1328da9193d790e5241799a6ada7bab02a482e2bde65f50ca916f0ce81b0df6d89dfc899fc6672ffb99b2387595dd1b892aa539fef624738f6fdd2ab0768f13905ec43e487f9c59317e90c553384d944fa9c2f12a25664b1c2463dd2688442324ee4ca0e4fcd5511839c17b2830e0b79658add087eeeb0390a132657b0681a4e9635c6a212ca359733b260177c97191277d3d7937c798290c2cc7d05ea660ccde253debd9080ebb71faa5daaddbb45228e1f53fcbcc6c2a6cc51c1fcf485427506225f652e96df282e522f7e5e0c088b53452c1f6e49e47e990c14022639d2a30a3e1fd93f0c42e1de5f1032d9764cb8848175a66ffdf03d695589300007c52b5e7dd7c1e647c760897e69dc0212ae56db6210dec5208af85559c6af7735a7aba869df5f0d88a3c619b068d468553510f869fae6234ba0a732e5e956353b7b0ccba41cce3d3eed1c27fd2dc06e03800ee0be428260cec3b7b3c3feeccd59468274981fe0e08900dc42f29eba741180883a69a8742e50a6d57c600898b08477ed8f915aa85f8f6e2fa210d5a7db158e29d5a4a38a91e43b2047a30ee0d8a778c6bd492c0924a288c94c78456852e20aa7ad47230fb3bc895f10b4520d30727bc5dfb06cff0a060ad19ba472bd05f044ee6ad332d54b14da3b6e25dac54c86a6d5e84c56a8bdfa959c4648d1ff8fb2d0d5e8fbb236c381fc8db8a796391a1458ba68b49c90ca4c90c003f001eb25ea08eb9a1617a2c368bc26d516cbc8ba1286afdf3fa50384f07f5879ca5ad09ecd6b5a35f2cf5589b2ea85d5bce9f3fd5c49a4b5e730ca9b1b37556b630f95ead081ce475843959f3a4864640fe8e1d5e0feb8824c889e56f25717e80088e2be275012041e4faeb08ff4dd39ad8183756424793f75031ed473e04e4bd56de4e0133d5b521788484c8ca44d0a5b529f6a09e104cedc1847a9b080dec59d35240baab5a3c65132d141fbc72c5181b93044fd1de6df03362057eec1db30656cea1e2c78b33e598c676f3a9c0cbada906e1435252d5e1401cbd5b8a173ab33ae113bb33f1e02f7588c46d86c998a9acf5ae7e49aa56cbceaaa8c8dafd478ed19afc9665f3f385f7a267db000ad2bf5f8debbe7ee06d568f47d54a0f6bcbe5ba981e73fe43a4f5f87619a063496bdb63cdb6a753e0450460f2fc3f3e48d4ba89df3db7bba64a835d39ebaa58df61711deec73af635410872abbe46a2e8157bace1adb5f766194e9c18f6a8b1443d5c6dd249acf1327086b4fbc4db771f9edbcb592e353470ff725ac69e2ed45ecddf331f162f0e1bbe3af28a9480da719a5023c66a49dbbe032e89c89688805b1df74c06033a0c3906e128aef41497708e65675f032459d32a966c9dea9582247fecaf61b2d0bc6fcb044c5a225046e5a809c30c0d520f1626324be9a02197cb80f4891470d694c9b10176aea1b9d1336fbba4211f4301a2d2374f80f6b74dea9dbe96887aea5e7434b090369dd917171e460009eafa85974de3039f2bbfdc283759d73a582371a5a2004456de42ecb00d05e73f0ccfa3577691876ff775dfd6c4a5a09174d91c31481dd0ce28dc2cf5b12f620575eb1cf3120fed0259059eb74857db6b7a1229b17013dd5e1747f221ec44540c107dee54cf3fd82aeab17aaca5252d07db67aca483aec13f892ef2ca2b9ceeff8cd1dd4903a7d8214b7db86e3181e908eaa1e26b35079c3a70b4dc59eab93df9fa417ef16c219792f787829c7e25ef090e8e551d1b44b91202e54ca9b73ddd813e8e35a3fd751a904944f310f7d332e1f5d8a1e168e5c0901d5abfc8ff783cfd37c8fbfb199e63e061fc7a356be1a0b309b2bf588a9d6d4938eddc83b9d11317d48900c2f5f0da0546c64d8fd38e5c59c8f07ba9307ac8caaf045f5447d8019f10072951788f64ce8f75037937aa652751a5b07faab6293e0d1ff597a6d01a443849355cf76dd8713b6435f571a33a039aa12c57b36c3ff2ef0e16bdc754a4196122b1adbe8235b545c94e88ab2cabf0aafcda739883acb04c917cb7db4eb7d4e3f8e938478b5000225ef49be90bcff7d0c720a46aa2a8524d9d55731fbb4afc2ad0c8330287d58608b24a1d7a89c39381687f2803499c42844d99fb6510ebefb12157fe5eb47983e342ac94ea9b73808a4a248d2924aa9b7914447a0d55cd38b0d0faa22449c02a79e9762160921798563cc6934ac8a7be6dca10770c3598f430a08d600a002caabeb085366531e1a0ad60950a8aa3f1f6156bb62598461e3a83291ad7d6dcd651e801b1c9777ce6b20d577f2a977dac587af61582cae9d52dcc3ff0ab08a9a7986e296f54d6a6008d0f11417d96abbdd7aaf03af37d7aa20aaa09470854a788679cccee52e17f66f8cb671fe30417743c78fe02f9eb9e5e26cc2087bee495bfc6c7a74a65ab976668fb4350838b737f211909b854f324638a4722023e1200d654b05c3db23cc961d2047381e83152b603c8a6c6c5a4be2d78789f9314a3d1186a715b0f392788429c9910d563b39bcfbf91e3d48877f21028d8a902ac8c18a47df46cb71eb77f3e622b0398e890d5d27410ad0baaec3c6ea9dd0728e27c677ee7e7c7a5fb8dd62262b72c52ed2fcac02d8590540ac9b9a7177ba055769b2e5450a5399336ea3954ac0498c8729f7b6eb079b385170790b6047c7008b3bf6929d399fda6ac7a3491203fe407af23f7c9ba36eda5a580df9c75995929be17c29a9452027f9dda69ef21a6fa3a490455a0d0ab9ed1461a8ebf9f1a0c00fdb2ec7d0421a7e23aeebdc175e28fe59a47d2157d93c53a32a10d031080b64318b1a061d51391914d492e9b8e779ad40c4d64374c4d25c664205a6abdb3bc3ba09a4dcad2081c468a39402e874dc4f493e94781def3f7402bd6c98e5d7d2082809ef1cd4d6169d607448ce286b7e9cf222995e796d2dd20987169e43ca8a8f73fc9a91e51aed52133b82c4f34a382762f53948d7248383b5dba426980a95336ab5dcb64142213c90cddc2399ea8d829c2ffc1f343dbbf736b7f0ea4e9940bcbf94d8a89922801c723a3121a8e1a2b5ae4c54b226a9e743dd8f16a4601ca40f72f55ce62abfc437dce2cc153509a71752f666081359901269713dc89abcf375674c08948f368f656129e937b96724bfb1e054fe1bb06ab75157190d9172c6d7c0606ebc5967ac03057eaa7e9168c0b494667f26c5f125e107a85ff8275132c36c7fdffa42aea9e71ee39b8129902752e002b30d873a07c9e213caa1a6e3ee4cd9c3a99eec4bbf853dca650405b06886eb6679891871fa9b38bcfeefe6fb19a1e6c126cc8e89d1384ec9fa21a9df0928d469b910f56af94f102cac8167b8628273c7dff8abbfbb56218797ab60e9318a23160d376f4f0f13add4a70994c53078130001ebb167c747a19a03d0a1d82bee4bd8d54b25df650f207a947a907f7d4a008375317e7e80a2a9e7c854f69e10161486c6b0df7cf3716c7f4c6d4d4af2f25382ef395face643131e0ff6cd97aba44ac36d559025e8b0ede5901d14544e19b24a051ffda5845d83b96ac363c9bb49409fc6b32a28b2977e50f0f84f78b8dfebc85023e17ced8d7b2dbc26754bc018d696928f3007408931ce6732dd98a94705895797cc9c451b631b34a7516467ccbf631aa7630706b62b37a0a104bb6197c107ef4b75235626f534c9aa0671b006f90c879ec888f3052663280ec6d0bb282c805b37910f95e585cc7c3761e0c225aa67d8db18e6b7dbdbb0374eb506f8cc297a36d7fa2e102298211a1617eef773ba5fea87ba3e6de586599aea714512e29a4ee1f84938d21a2f33f0ca812e349718e3dd06d2e90f51f490b6442383dd7f92018ae363d3f7c2dc5e2682c2b1f19cd03075e80d8db7f1a4820e910c825d323ce72d3f8b80feb531d4e6123763f8978a1ed0053e9e3a0104da124de57edfe5036d895e6872c0cbb5ec6e9b50be84242e8bfafaa8ad850c55664c44c94fd56d9baefc5b434e027c28d159f88b91ca514c82e6323fc34454ae70e8c1b894278d63d95d2b28ae3c4a346d2805c1b80a5b567ca70fd3c6042baadec4705c46a03e6d542f77f62dbdded857308c446f6920ddf183103192c347377952d8b5c342a788c1feddeab74447fd2aa3a3145e5c3062787cd74ed1b11c46aa17ced84c551a0abefab7f37a59fdf4270c4060355d5689e8b13206e29ec3718b8a25823ef5b8e9d5c714e5b34474e488e711cf8d5e9fcd19bf4fd272e80e994e17b32c9c730578fdc5598edb41ea7970212713d4fd4f8f6e6d5803160ea2a9f870c9c5a097d4e99e084a9f84df8d88082db7719085098512a1ef30a5755a3208a3e432f820a7f77c3934f8ee9fb49d63dbcc3b3c06f118c98b73017355c826040780c186c3a5f1b56579b673dacb64710c498b83f6b45a938527df85eae6468f0862a9eca047eef57fdab8feea971ae44264ec9b8821a21a0f7810c4a1e78cf80612d186e58e04384160fc514e1375be014bcac3d292f919a6010ea6d3bbcf03849e3da32da94e4be4bbc9100eefb5ba0f447121d3fe39c19f5c1b5dafe53425e1659efcd23fe4d7c8a4b5a34d64ba4cef24743d0e2a7345e0474782e84ed89cf0415defc0444a5954f50b503560f57c85d19bb46b206c3bc627bb8176c8a31c169d6b16b1b761a07402f1a3eed9fcafdba5fb720c5c75f851230dc5fb5eec7cc11570ab4bf589d06d3429bb8059a7a04eb52473ae00e615f67b3988d9196b55639d1097aa59eb7ed0763a46569e935cd14882f54a87359e3edd642f0ba6360e542d4f5e538905f51d169a860b8e8dc3e679ab4698e2eb0b311c9cdaf11458c35e6994ad47424bea20df1fced79f7544b417509fa81ff156e98bce4ee4fc4552f370fb40944563195f5319a75042d1196a90278d197f49d975a0de89a77862c059e5d3f2a69fb060c4b4cc2c01d69e044b2551e69f914b2e94fd4ba0a5d8172ac6bc141d5a6dc9f3654d623d120883f1fa56399a95903b514ddb9322731f8825851c1c42df7029c61df8d4fb983a33f9b52f18620d84f5b8400acacb73d32a8aa79b55175539dddfe6cd98403f81112fc1639ace842b298513a520bcba34f1db03ca9a3f21dc3b6e90c975ec0dca6fe086e33a963b2831b8de1c5da2d370a920dd7c1add131e4a1e908f8460010a3f35a9a0e6a851ce4d49abd417583beb488e03468e112b4892e77cad8896503ff9dee74fc25dd70adaa04bcb083088ab18ae6010fa3e120b4cf618e9efcfbf3d1691603d7a93d6449a793416aadec82be391fe6337a6b679eae005e81ab577f9e0ee8368c87a4eae6dc64cea0f20b4c4beaad5e1a71d0d5983f44981ce4ca0decf3d9a35ae78a96b82107b32f2442987366afc318a2beaa76517d674e03c6e90f694e72105a4a02ebd1f79d8528f10782bc1cd9e37606f341fc582518007431e14f4019af73aed1b23632d7ffaf234f42a348bb6c8a36a2f070829b67c072079e08a478a09391e90a7a40592e0fc00bea091480057dc6390adbcf7d815967c1ca6b49f0931af125b6a53cba2a981edd01fb8aa8fbd0cdf19fa3bf1307167460039b055e5e9cde65c3932fc463750ed0a76c6821421f2e07c2b5cb1c6549258635e05f42ae447c2a9cebf7cdbc5a0914485ad79db3f37b7b577f5d982b33af3f3df7f1ba97f1b71e371b962952a37f445d47e78fe1c45f89c9e3afd408607e6477e2ac7abf6b36d627c3d417e842f64e63044067f76a91b2e8e0c509b91e62326acd730ede770ec7b31791ee76b03c5c83d1f7fc5840c572be715eebc866512a55bad247764e39acbb90f2aa51f5e833d85d317ba809e4a64c1aba8ff26a66598eb48a33d4b428dd333a4996f19b3b2bdcc44386fa369993984a38edd72cd6ca6f2eb9f1ab29871564fd81b6ac9aa3a5c6950adc9f7b0214c6b3d079621d6321348be0dbaf982093e406e21f3dd1d402ef4e706ba28e37002a88acd0b2af8af28cbc05077cca9ded545b6df1ed84d8af476f6ac527b9e8cea60e990d60163550f952e44d2da55783cfbc65f9891221d3a893d3a4c59b0c03f0d0c1930f3187623790a6587860b7ca63ce17ae55e8d172bd2143187476fcb1cb00934d9c896e999ccb1f6e4513b3368551cc01dd114eee7a6e65be9830458bfe01c6ecfd81a04a34a397aef3a17ac097502870d7d425a29e82af7b9a220a4d04171b7513e42031c063cc69a1fc67ae1a25563999c2f70d0d5cc333c19277101b4b9aab750ea9be2aad12ab28952ad8e52bc73e8c10fe4b7eef562cb1535b9f29fa54a573ba67164ffd8b4970f89a6bfcfbd8a7b690c579e46cab034ba6f929b1e84986b165f4590b3ec0fe818d559c1d7eb9921eb2261c5541f9510b2a643e101c90b62aab464019b776c6644fed631b753867258f39cf7bba3a60e77dc49b67f61bd4a03da20a7d18de241ac77897ae81017c3833d37fdd45013b5a44921386c780f272e2728aa5b300170997b74240f7e2ded04691b2ac8031efc78e40632edaa4cef575d2adbb73cf26ce9fbd723036f7c5ba5b61a22eda35a2a30e7dd22471ff3e72a7f34e573f75cf594566e8cc6df4cbac76d6c93424804294151f19edaf9ad3fdc12850392bcc668f844446b73e357bc5d24031a04cfd32bfa9e10c657cf4563550af72e0a393e3d897dd7ad5dcc37434e122801133fc36f2b022a9140d2eff47fff28b9e7cff73b5110cc77cab60b6e5f67bdd2135693dae6594291d7e82bf91b6cd2503a80372a75b4c2d792b2262b555cd4bfe42c0c55c4198cf8854fefe74a1df71872bd8ad855231224919dc6c452ac78664db21761a746b02a4a0e046027e454940ff4203744697fae5937049d1cc795a787311f636c1219b30c8c830d6311c6f8cb31c64cc631f9650a7eb90be28a3eb709f6c1c38a6a1a5b24532c1becf46aa4649b4025f810607c0be8771efd92a213130fb75cfa8bdf35c5af1ab1cde03387630ece5cc6850173709723d8a7e0bab9b28332b536e7c4a5d2de3b41ed85dd67cbd664faaaa62ecee165cf627056ba95d7dc04f22a9f1567b3505adc4292d3ad4b6003e49077bac9dc2837fa4ddbef1c3a67da442f0434841cc3719435e731f34ef8717dc6466f0ecab9740f627d989c0446bc99eaca405d6a4d3534344160389c0215b3a14e4a973410594feb91e5bd7f67567e1ea6c9fb13a6a7d9b4170b6935a170bdfb17f043cb6d8de268f3156e93a411cddc440761de526ca556291d40eb8730954215de53d171eb9d1cd830e1397ca00a98409c9bb7a37d06c50e66dad03df7a7c33c9f3f8ef3fa5c7cb3b04c9d65e9f839fceafe14854f5e3e1b4ef7bdaa8513702692b1a8127bfba0f35a55242d1953a72e979daaabb29aff7bed678b7fb38588bfac04cf5ebcbe7967b28b3b6db3f0efa5616534038b9bde83985fb8f27bf64af72078f4a6ce3476277cb5ab067962497e5fedac587872e44dd2465700d4f4b6675a20779feddae3c6328ae839b74fbda89b71e2c48074050c07766882cbdab0b1bcbd3327b033e4d73af25ca9cd5ec39382b2591b1c91671ab5575b3d834133d27a7b05890d1bcc52eba759d261f2f9611d9952d266b2351f599e6c95a1eba2f687206588073cd51e61c6a5d1978c8425d9dd11ab626926b43b0376a92cf305edf88f60f7d7669d150f2df134651019023f240c8bf211810dd953eba50a5b1468cb10ff4ec380e0f6f763e8a65724a0aef4ccc1959fe2d52ad3871da5340e4459f121568182fc060ab8e166f0f713bc7dbd3ee797d0c733c2d718a8c37edbcc1c5fa4ffb4e2c475aa7ead9a8105f7df63ba1450ccf1d41874ea239e7b32e8abed290d72a2bee34305da58f3c67a235bdb5d54cb4aeb89af3b02b8a4cfb4aa9bde04c92b850998b08f040c1bd84eebffacd3f6f938e76d4ba576ef94cf121a8ac143d8e02b9d416c1861de7f28b71ca02c8fcffb7c48b21b5221712fb016638130dcf79153d95e3a440b43be3a4cc41eeb4c899c21aea2db0428461e1013e923d66f246a361a6cec1d6eb21d82d35d5184bb13bf843e9debe842cb92a6243cc649f2d11bc1b5633759fbf078a992d5c8cdef40dac8be731f2d63bd1de3de3551bd11088eb63dc4361dad9202bf0c33edcb8f07ec95e838ac6e40c4842a2a9fbdbd04f3702bb6f4e53f6c655b51bcb1255befc84bc6d6e4d0489db425430e2f2c0b1d4947edba17ed207c4e8d2661c70c9d48a3c9910aca24118c3a0be88711ee324775207e09cc26bf32f72a3d5e3caef90e514c5468c008887d50013b30d9dbbfc2750be781c3dfe306db5b5eadfce2499380fc2626eb72ff72745256cdef1bbc865bb8e036dfea37ad55aea7288af8e3501f6ae69852e8e7a691dbe3ef95715c418f04647bcea44429028dc0a1e4d3d39c7a6458d5fda8f7aa0fa7f364e367fd33e70c1d13631f6d91fa2f466340349434d53f7e25d515e6fede4c7ee38204c0e16c801944232ede7ac0c8e9c5852e45ea41bb0ebcc76aa49a1ac656a76be9a34fba01cbd05b8506fe540b49809c996e2a6cd454d8fb051455cf2cdfcb21e210c4ed60f2d5465a9207442408fd810ebe711157419da1286098c75bdbd26e4fdf4c7bfa7ea3c92b4acb24aa4aa5508666c1354890bb987642d7cc0185713f9a2272a200a6108d49ddd7fe03629fce05d6bbc3810c4d93fefcbe886d74910db2f8e1f65a42f4aa940b6f8a6b382ecfb2ae605fe08c227e570ddab3ee4e9511c155af754982850055456abf0a7b0eb7225b2dc1188ee521a78670928493594f2607c0f7b0d37ac0d35005918e2fdfb9d674bf94ef4770b6fc674679a3fa380318d0e2329d1c3c6b86165f4d1ce3024124dd7d2a2bf96c088c89013883a550692136b952fc890dce2abb46886286b24c4c5cc06a89dd92de07562e0dff1e92bf25642268e49968fb7dfe8a83031d1e4408d62a1fab9b8b10166dc77d00d51b39b03e239a13acc7050120575f9bfa60328ae521460e600e04d7302863056db9dc7232767f218dd32b5d1f6259a6e465d464bfeec81a0c4e904cda7f96fdfabb104575f05ef08dd74ac8dfb856dc37e6e096a10d1fc562e41debe0035b9982dbcdd1d4a4da33a262a57c8a05dd0a6dd583cc93c5e4ae2c8bdf299375ab70db70e17ec06beb1c678f9a819e45ef0fa326dc77e9a434a8c2c1f1933e9a29a000d159f95f8c0c284dac74a4bc4f9c2076df0572e468e0677679a44376f22d30c17ee00697eb1ab21f50858f50b49fa978005d9cce756773350c0fd22b8a8c7462449d7345329f887f388b5d8456528db61e27cb34e68610113c17b9695b81c85c44f7ecb91b43612001b7259415942f7dd1c0cfb312ff940a00d269659e6a0d440465f6a7946d90c264e4e227f0e27ca0576dce3799e322fb1f19c8908a3686549bfdd3c44f69ab011f0914b9a6223f0f454e52f6a9aeac51aa7c7397ff10478090b2d38e1b74912b5ce459d828c6aa9087e3014fca25b9e7773befa9e08765ea7bd45e127a01388cb5015fa4e588182aceceaeacf564a494d8ca506564484395bf0c78779183e7fbde8a87f4116a62442b8f3434bdb3a90efa299e5c0aef04a4c5db05dad0830de4d16d5bede574ed338fe6bca7cfbb111a8981cde178d3f59368b6d49077fb4ee3f3e405cc3bd0839da65786be86e5843b7a99adda8f0cf9f55a21f8138929ad9c98d9dabbbad5dcc15c2d2dde97a18502568772e78f8fd68d1ec47347f6affd636a5404377178f10aeec2579fbdaa226edea6c8ff6e2a6df0479f29af9c186591992c5c6ab58307c87f960705e44407cfd0f791e29d2f946b1874acbb7ceaea4dfec3c58af6f4a20e2fabc261c86fe04156e35cf1a07b423b0d3de04c08b7195e96e1a02299374ba6dd421e75955caa87eec0ff903b9528def95718c931736e0ad780e87245a9625701415e86139676e64790fc7b51bd1b01e1d53889d4e91a704f2a0094a3019ad21437fe05b4a768f5fb1e1324be7b783c586e31986b45cba16803fa965ba408f0be515091b6f9acac857490b7a7380515aeab57f9bbd24ea37b91e6ad769248ace7024141048a2fa88ada01f3f74f6ab45437f6aa936b1a33966471d799f3b2206947af5459db35166eeec156052da331afd59b2dc7c36b55fb2431c389e9e8a3f5d5b3a2cc7532c48ce14869175315bea8594b67103eb85330b8a7397fc0e99b47924f0eef9219a0bb81266b3757667dd14f1836ba702f3a1747f8fc5c99a62dfa9ba853f813a98da67cecceda0b433557f982b831b3902f73641391a31544a187b04099d2d469545c32715fe9808678669a0e9046d1c913aad243f72e382385a09a7b6d90037c12b8964641bfbb1dd3a455f8667b3feadf9dc4e32ade2dd4ddd442f61e6a491b0bd66e55f9291bef98c2d407221758916b5b0731c9e883f1358b0d6768a640002f3100cdb6516ef6a44c35f70a1a6556c2ec44199d23bb31995b40e9ca6c1eaac5230c4060e3153c32574c682454e95b90c7a5408d82ccc8f8701ccefc8c67c62d7f8e8956b5712169864a3a9bd46332d9217fdf6e63fa32578fbb6c73920a229a2c51abe1d100c13028dd85f48ab358655023175498765a87f5beb803d4f19d4307a53619719696b6f86d4c521bf8deef5f2fa667857215c0f5dd4fa1641bd25df75e5616576cb91c7d0e70a283fc5e1c4892b8a52f5f8722f9c74bd425453eb3e34106a088182a38de9a4b6c64e308f676125bab500e43c63a2f87c84bb7973894d2db2e96d1e42be5678876595abecef675a45db4919be2e40c9cc72b221f7205ee2b04bd76e053df3738d07cd471a0dfdbdee74c3a52814c5ab7008d54312be4cc9f8e1fd815ccc0e8a90b02d440a8455eca3d0dd8125972c3368cfe13c7910dc2538b23248f6eb693124b8ffc7714f83e5557b8509889cbe68a3debf213651841c87673c80209c002776cc8218d88ceaa24e440e09529504e08ab613b8e16c872b90b0c68aec1bdc4afed2450fe1e2319a8da663caacae5c4ec19df44903214136720db94b35da89872c0b05a4927baba555c9a7ce75841316c5784286e8506917c909eba089a104516237446f0dda78d278d63722974026eea27d15e773a27dfb51245c5ac792d8226747db06010100e564fb5edef0c1f3875d5d8ed5abd6fc61f9cf555ec6dd71034694afbff3cc89523058c5d276fb14bbd8a5fe110c491ed1b19849ce9b6d6c654f245c5420e59dfc8201c87089a5644b5872e41d4d7714ed9924cbe40d0f4a9c4f97852917d13290a3e1c3751aff7b724387fe6f557722cddc74928d97976405b974826f406eb07fc46d6d3caf11b57d5c6008fe37d7720151b173da96ddb26d34226b57597d8ba13862fad408feea501d71ce3bef892d39a16d58b5e1e4c122cdb34863a8bb31d4031005ce889ea745e57694c6257d977f5cb6d9cc9e6b2d197c9f6f3264a32e0e5ded37106cf58c0af1d47f3723594bfa2b8c173d9f967c626b39fc0446fc99d039ff969d9cfedc167a60bd5e08269b32a72c48b7afcc86bbb742716072481a5a10bb2ca4c62f69d8ea9c5e52e8f84c2083e62e9eacdfad0322cdbe4f636705597eaf1691f16b00a8a4c5dddcb476a0be77e6e0ae7c3d0c168346cded795a6ab3520f1c14a5c45b1cb9aad24192cb060a8906e142be96e81402536fc9da4d056d02cc12b705e999baa750c255dba18089e8deba63a5b8f7dcf4c3dafa88ec150a5c68360fe5c7ab662655ef7735197805c2a7d38fb14baf1b08dfb59739f21945b8136442e37668cf2389ed7f7ef845f4515f9fa662cd2fe98138a516be45db9d42e68381a439d40dfcf9d751f366f8fc7da648417f5f2df47f9db89cfd37de4df66f11acad975ebbb007bcbbb407ed1fc7ad071f8e37abe0b2093bee1ee861ba509b2d9f6723b0740be2f41f2040796b8ed92ee2fee3c0c87aff4d68b0dd95a6ac75f928c0a37107650e82d29662a8824d6a20c9254bac9ce1eb712a47928ec16234b480c185c93e4674499f45a45082c5974569744d1e844a36ce1455b0284fcfcc584cba97a012e5e74da73485efe82f3983295f7e4309701bb2c5c0558b6fec3423af8db50460a152ed64984ec371889557a3583f4804c4e1a78da3de0f852d5025fcfcdd69eb7d3a8c514e3bca1e918fb97be8d852d9569a079e1a8658d48e0558842cd7becbf0f06a35c277a94cee2211b199b524abaa337a8d1e7c313c5118e970dd3dca2afc755c4ca3db93a5d0f8b3eb49caf193a0cf641cbe2581abdd8a5c5a0dcd347482a191c896183b43ee607f72189c7b36fca6b31f5d431b1439c47f8b39c255c435554cb31525e07f7bac1bc9f020a584d25bc17ba34135450d98935d65180456f393bfc9811fe343ed2614013fc6dc36191bb6d2017d4a90c344ad51d4ab63bd9438182ece20d31fda721257bae1cacb7853003587a271fd5b83dc828d64c27aacbbdfa5401e54ca2e619324ca0f92cf91587fa0b1d37f8211c04a4beeaa113ff215923e42606882d144aa7d5d70197e7b581a2d28908ec5c6aceb4cfb9cbd07d0bf9b9e0d35bca6311cb5669c557735d29268a793bc84dbc3157517418d4a0b52a01144417935f7e77485714b836bd4f4e2c62a06cc2eff8e219c22832e86b2771182f2f56970224a30f003af855e3e8d53a0e0ecb2b5f5c18851f01d66437ebf382bf30be274830b9de9c21264d4a181912166ea8b919c420359721f0f22e493922f6c2d4299d35e2e7982a4fbda43ca2de62be98bece7b9010d1fcb73a06450a939d4b827a9831f5faaecc7576a9b9b4eb6fedabfbd6c218fcc3f78881cf7d2f615f545565e5adbe7f08e4f946c278defae37e86a59bdc336cdd275485af9d9ad751550b0189673b88e1a92824e0711395a2ca3add875ca5ca4af72d5a8698051a4142c354ed85f5bf52aa1447b84b31efc584d2b15978b551759f703ef9781abc62c1acfa64949e9d3fecab00e78d2de3af6827ccb2fb59bf517d298079972427de5726107de4d5d4b982f27b065f15a98ae43669afa1aab968add1fb6ece4369f4bc1ce89404b0d78c4c03b7282de6fe83166a973341ef737c1c3b371ed5738097e788ad96ce9dadf7a11b62c8b5a441248eb688ae1cb7d825e526681b71e8043282f07e8a183a01bb3d2c98e9abcd87780e6dda70ac22e40404ea5ed3ae5d305616a703118ce20842bb7908a4ad482e49a1a27073778505689ec6154c7fcf4b52adb841d2148baa54742b8ff22bb240302880814199cf8f44e4fa22aa8a4d34283dc9e9b5f053119212fc63e98946a54f76b7bde5967bef2d659232ac0ac90a900add37d2a0e5f67dc5b2c3ae6d6e2bb802c5a91df4ef8753a28fde4b5df2d13b69317a03b6248df75b9b69cf3b690f6c7d7f3d1a85a8c97cf4fe7a1ffa88f3b78c977d803d568914f0e8fdad14803dda4a4d48e2905a139238beab09c91914c1e5aa21fc4666d1a3418969abcdb4dd78b475d6134eb840efada5ed9dc10fd0d07b33a2ed3644db9f5cb755213a9706197a772b7ad6c0fa913c50d05e4e712f7567753a1fad26b35b8b3de95ed35d2e893edaeebdd7629a136ddfc39a908ff63baccd7cb41ff688fe474424d75e24b4bdaf7fe9ad09d958f7d7c330a820757d1e210ac43d75d7ade0f94fcffb1dbda34fbac5472bf4f42dd8c3e970a5cc1e4186f3b78c0e7112afd65a6ba59fe562a494f086918b0ec91a525569a2e93b38df419daaddf00462cd5b05a602f3910a21c630559cb82ae5e95611d294fe5691dda01175e2e7c97dd19b114fa7472e15283cf4668535e27989954ab3f4a6474141cd5658f4460ba234eeda121f5d83697f254f72d737e879b89511acb4ba594489fbc24326cb899f277a82fe37566f90ace1f1918e88583ddf6a0d0bd1c9a7f74becd3d4a4bdf0bb1888fb2566fa17277e13bb2c5348cf199335f386d7d35e3e7a796b4bf4fd1716922847faf4267cf9f7858b97981ce98758aeaef7958660903d1b33ead12320e628081f0d31f21911314745f808c9e86764c41c1de1232446af511272aeaa16f3ffdc4fcdc34fdf53f94c2552ca485cd1b4d3263752ca68452c7dae4f2a1f1e1991ba444a19892b2793e6e18fb12df34d5c37b76d527db72ac40bea787fc10fbc0f823a371f09dfdd59f00d8510575a928565bfc4bc0ba640354bceaf29739697abb034e4aaad32d3f4599ee52756998d5c12c7ad9f339f9439214e565299b92a65888f3487afb05c2557583e8a4317477dfa740833274a3783386af1ac0421f2bc3879116f4cdf5b6f148e2f931a74852e1413bb0ef164b1582cd6ea05e6233dada878a6122965246edba7b9f60243cd50506a45918182821a429d9162a56648f1a46c48dd802a026a08a90ea438801ac343cd4e2cdbf7852210e246cd52dff22efff2a89723d7c8353232728d7a18f1303a6254c4280857fdd32f9d5c05f37704aa40351da243f40c99639f3e258254c53c7d9a86c4617a16e9779da1d2503d5079567e571bb44ae577fdc0f7bb82e0446b08541bdd8162191da732a18f8f54a7945c8fc415fce2c5cb130dbff460daa0bfe197305ec69035dce906e58c339616df2862f06522b509a6e99748294d34fd91a885a6bfb285a6af22d3d78b279a3e2704c685224fef06c91a8a615e5c5a5a52283105bb5ee9d1f4aa7c3747ac47c2cbc2527f68313d53accf316a266ba83b0884b8674cdfdfa85969898ff75f60aeba79ffd062fafbfa1435068a0c141457b13c0dc3ff7e3e275b6969fa2bad9510ac8860e6dca7bf52c4552c2f311f9d380d7d0e0db194554c59456546721dab3c340a69e4a2372f314a43ff65e4f22ea64360c134ca4b8cde54d7899e216be893e890b8f2dd1c71d6d55685eb2aaeb0789594328ac5eefbed409dd99d46ae4b67d5347295ba48f12a0b76ad22b278a612292514812a53b388b286b2cc9cf91b6b1973814efbb3d47b6f14547ebd08bdc4640da543a109c48d9a71da10ea06a1502fa8d90d9238a67e71e223bd41378a79839a511a3a9fc78b146b0bd4d015d8f5d4a819bd79d962d2d0f70235d403568ae7450b59435f627be49a73ce3972853788bb93f975f3eb65089afe4bec0507e1d37fd9621a205c5179fa2f5a481cde9b7ebfc84abf5fbad0f4e6fd22f40286a62f2f6384bf5fc810fd7ef142f4fb6507e0ef971ebc0021869abdc45858eebdf73b90e51dcb1b8661f81ea833efbdef813af79b7736354b2e0ddd55094b8d8774e057a2075fc8d0f4f70d7af1620a803e09bfc8640dfd14fcd285aca12fe297971e885e76a0e98f5e622fb13d726977d7f41bf5306dd057c1232378ea1e4dbf0484a64ff2d1f45388d0f4473f9abe383242539a3d3a42d317a120084d1f1ca96054040fb286fe37b53772c91ada7123979635b5a4d56d8416ddf1a80548109660ab22bc61ab62ab22bcc1e50a8db8268bc56201ad76955aa5a7f935b8722586b5d65af306a2692357cadc1bf34aa969cf3dccc4384034ad3d8e8ff4719c9ee4c3e0881c9725bee123a538363ed21b38ae9a79661c1f29a58fe32a39be0df5b0285ba8bb576d13e24a994a5f73228a5a3ed1430de6cf9741cceaa27e5114e70c57caec0da6e9fc3db5169aa2b6df530b9fa08ef68e6be8bb7d216efa83e447e2f0a7bf55a163983a86993596ac1142dcd447531f24ae6958ab5d0e227d65fae38338e906a340d85efe1d499aedcb1139affe4974ce1dfcee8218974030978488dc7f5bd7bdbfa6ab96be430239b5d1df75a204d23922959276544a49a996aeda55cb0eb583964af416b72d4aaf599435db6b5788350749d2c3bef74192f4a86f3f8867935c40d31ba6e3b6938fdbf6a10f22a51c93f006518ec2128446e647a7f471ced656854bcaec0e48cfd7b010f7e49138443d9f087a831d9002342b5a9c66be4c6cd2933c9d28ac851c449a75843e48a02575cba7373685007d1664c6f141bf878d8fd967fdf91402ae41a0851e3d5a808094db46fc8983f89ace39678e48ff8180e8e71c74fe20eea0b7b8a405a4fd65946e379c005abe3845372e501afaf2bb7b3f29f47df65df8e1a24040703edbe1b86a9f082001a7a1ef02bdc1a134f421e084b86d70e819b2f688db465349e3ef619bed829e2f47b77f4306effe86abba5c3396a1f3e9cf4e0c714b2117a814aa5ce568b85266df1e6d398ec353ab30f5e88d68fbb77eb5fb2042c21792c47bf1af882d0b5aab10a730a142b6eab034a3872f44dc8521b40ab1170615ae558773a638026825411d7f6c016b04bca54a394da874352130ec41dcdc6b4f594761d05e8aee4be56ffd28a8e29fb684f6d296a060502159a383a809096961c839b72f48ca5fd2a0092158ab204252fe2baf55085ba57c90947f4a1a23005a8d509043cf4a4812ef53fe5d1842ab2e0643ab100452db2e04367433b47006c784b61c14da72569cc6b076735a68fb210fe2e65ef639fb1ccc55dc776f3926da724db4e5547009734efc04450c837ba2ed872ed1beb7aeb7c0cd77f096ef00e42d7ac32521b99776c5fc5a419dd2d72fbc4104ef05754a7f411d50d45daa47f7e1875a90b6df852f443464b64ae2fd8e0802913b43deb43084c4c1bdd53a24da0a9d60066d3b1bb47d29439084e4b4e88c706368cb81a12dd74567c591ecd1f6af88bbd7384d7afb9a90a685b66fb716d3b67b5f592de2eeb517a5b14094c6be060471732feda525216f6cb497c43159c491a5429a15a2fd194469ac0d7310c31d5a001fd03df7a2344e424c652e00ab8129d4d0de228198025fea2d6712f649ee05248aa7b1255efa44dbcf667c71a918d252312c189c26246bec873a88e277efadf02fc7813aa58f81f49e451c24490ff1bb1cc4a50459fc30c45a89b9a3da10867a58ab24de92386a68fb1464c17fab641876788681aa20f5e8a3fdfa286c828ff6ad0dc4f9f659f2948dda4e272a68f6272be8da3f12be4eaff2a5fb40fc267cfb2fb80a7cfb2dd09b53e65e94c6fe4a96944625db9bed8358ea970a52dff726c4232919cc9b7b4d59c38db2e4929034f6ed5bee258e4416ee256becdba7f62d0a382b7aeb6f310fa903edfd961975a5458ce896d152ea51575085a9ed8bec83d888b6ffe19047dcded2f6b917bdb12fa9e45ef635212116e4131d18a8cd3e6ecf6647e8800c53d6943e67341271886238803014a120126950d6941e07043ff1fb6e78af27f23c7b636da7ea3a2e001ca7a7ac29bd00b64d4f5953fafc124c41d355d6947e7755e3a0941641e270344a755a988fd332f1d106917edb20d2cfe798b8ca94513f248cf27181b8adcb55a201660a21cd3f9e23e0ea23cd872e4ff332d887cbb3fc0477b8ace0f22c98e64df32e98e5655cfefae7e2e2e282a5ae2c3423e0b78161a2b0bcbc8dcf3fc44731c492ac0562963eb6fcfc1cb405c77c0a78bf0f7af6a0e72700efe741cf4700debf61f6cb763900de2d06c03b5500bc5104c07b25076f130ebc4b03c09b34bac11b546101e0ede90d3364199083d80d1c430d00de1705bc534ec09b65877a4f984accd7c0bbe663bee66f0dae35b97e09350608d536f4e56a36719a189ca23558ea12f096df9140846198a10700155ed8208a89cc7c9c1c5ec1527366883043003805c160862e0e66515ee6a5a0c208d02a4442947f67788418b24074b945cb044a8ab808d69fe984de28244e289f924cd2cc2fc9503e13466fec8449263644195a8df494f59bb1cb01713ed57bc2b0c041258174fad053032845bcaaa009258135d5e9cfc7da3511450f7aa37c5222ca07e5a342d536283c42dcd93149a0b71030784c1d740f642e98ad40ec43be8f13515c5a0e414b27886044dffa514c416a22694fa0e19231d6921f662d4334a02222d6921d80aa890473d546f9c464aeda9c90abb60dd24d5c358158a2f774a2e77ca26913f347dc3668fc96b6412bd4d02571d06c236b8cb8ea868fb3e6140f49736a47ea889685d4d82a49fd1df0c1ec43efa478f8007f035fd31bf8a427651fa90773aa937a862a108fa47a6c2f7f474bf0011b48e1e4c8a91e5b8dadb6df59e5708ad3a48a1eda6f39484a470bcfdd400c0a020294664e60450851ae6a6c25572917562f501a6e0a298445900d92c1c7f9251c2489982abdd426d61016e9c1296a30796086609266be0d02f3fe969e345b01855691e99515d34ca6294bdc220522fdd064324db30fd2bffc25e197bf12a43815d2cff3f2575005d72c2fc109e3381e1f2778b1d4993f1389f9d688e8352dca53c94bf4829989c02d8d1429e22a69ca9c111f27e7f2517f1287cb4fe1711548a4e52a979fff45240ed3a35620c7f99bd332321f1e199ffb99f720da45adfc20babc8bcb833aa476c95c2bcc1c0f6a05520593861ce7db571af8e7e3f086f088f87bc252e06bbfb312bdd4e1ff9b4c3d43a07c7c5cb54b3214129f92cce7dfea093660ae466c7b28cdfc196c352058174a898db0e6b9a06f46c9cc81994d1b7346f43336421b180030b399635da21a00d4886ab0d421f800984ff598f9f1c71c44fb999ceae1dc7b8fac992954aa87f6333fa3fdce4a7b2d8a9898ab4cf661863073665ed3c6fc127e3ecc90c421faf93067481c343f7fe60582200882e0832693e9351c44fb20e3cfbc05754c28eb02415064c2cfd78820e6b76f02a63f94a6045109988447f9b8664e4976ba3424608ac4c7f934786a98a1989f5f92cd1c5ac4b4317fbedc271d1313f3961221a23eb2663eccd088777a605158ab3b83777e20a2e7b5d2b02f6195c06775bd05050c9f9586e9121fe800d0ead2149c800ba09586270d7ee0a187cece80c10f4770f1b3d2301da20324f0590961028821106471829e95862b10496ac05addfacde09d22b688c267a561f709020bb692a069e7e5011e5e2b0dcf24447000b49aa069c42df8c880b59ac12e2041466ca561c9e405620cad1c34854eb8223e4e948f08ebccd62ce2e32cc94a3257edd0550a5fd3619e465c3ece0fdff4a1cb551266083fcb47ef37cc10887bf86b39482a7c118722ad9564420547bc563534ca0789c8f2a11022ccd0b41766c8f439bc13f3eec40aa2c0695dd6655da9d0256b8440897e8278ea92ac240351bfadfc208a1e7cd35f0fd431651ca2e8effc4ca20d74805c6da1cb47233ece2b7d841aa1c67f11576debd2b8e4636a849c82eb1150f359effa1e2414e879e80898050f20c12c786008163ce0635daeda30333b8f68ef2c164bc344719a0933a484b8391f3d391f0e89ab4a42225c7ae2e334e592ccc7697a10660603c555a61cf6803874a540dc5c50e812a70966a8e5530f66e103933513268a8fcf8219f211479f391eae8869027dbf27909681f4ac9abe33d1f4699d304e6f940f2783f7eb90da213d2d7f477f3886daed09e37832de146668db24f47c960983c141822479c004420ba2784ee51dcb19e0a082d84a82a517bc4b99be48df3b5dfadebd347b4fed0ae253f07b30ef94af79c27cf49ee619d3643ec0af0f3ee9efa579d3075928bde9c127e1adc97498779832e973501083dfe16d7a952f812290f4a8a70fe2ee6f059f7ee9495f710afcf0eb9b5260de2183ae1fd62fe5ad811e4ddf940245dda35e822c881ecc3e445fca3eee8398e25d45f9becae966693310aac5af0fe69d6b4a0642b5f7de0a62de1e253d094fd4b3fc057750fc8226d32cb3c9e82f58a2a6273de8514a02df54f2098bc546a5a7f46bcc4718fd3d614dc21f951ec4a3f7f0d640cfc84a01da2030c74c3fc114ba951f4857f424ec7d87c512e96d10e9e75b2948a4d1ab987229fb187d98837a78541aa14c602afd7d92262b9d3ebcf473ddbde84d785f206d7a12c97bd4ca0fb237e11513889a4c7ba4373dcaf4f7bbed7dcb8b48a4dc813c4e1fbef861f816d8d1e0974a5fc230cc3434a91b79eff21dde42769034e0d23f34990ec55729491de2d1e95df006f2d22adf82371020adf229959a9b384b3ee23fc12c44939d4e0f3e4853200833341f26cafcf77924fc66841f52841f3d9fa5e7bbf4a433982da1f7f7e8f948f47c1e3dbf889e0f560a3ed5408f36fdc5423ad1b4d8303bb626d3f5515b033d25d2bb74f7159b4e9a4cc35c8b8985e644d79f1b66880552aee0abbc94359b860fe2bda3298fa94f6fc25297b0ca534cc11dae4fef200b2614f40908ff0cb2241f0da6491a134dda3f34993e7d8a16fb52f0042a423cfd9e402a9cbefa4ccbf9540aaa705f05eb22994c2453e94da5b024127f0406d50f2558433c124525af9ef0d41af0d1a6697a0d466face93526ae22bd29cf4f79d764daba66295bd79e36a823fdddaaa02c4a4dd4444152adb8025a4cd3ec0304ef5f8ff45c10dd5c10135dfa3d615852a1448f2e6149450b60facecf84c32fe10d33a4c10fc1171f66c855a4a05dd29668f0454fd2966830effaddcf1494cfae7a97647abe0833a4c1f4861972e989bb97a0f747fc2fde5efea1c5b4f5ef3acc001e00c144a94f1f66c847968639f01b66a1a1a4c55a71803af14111d6ca9f4343ac79c67c84c10ce93961cf82199a011232393aefecc0ac7b2357de1067da65b2c6c54e5be2a306e4a36b4f7cf467d11b6da66d150b716bb3219743ae9ada4c83e2b2e219f6689a1fc1c24201f375cc1cc7a1bb42dcc20b3db996ee25fec9471d0b985ab34294415d97dab177742ca05256d02988bb42cc81239e4094bf7158431f0621c508b8a8a3826b8ebbd14929ead8928ee772891686e839258a78c4112a471861848a112a46a8fce02eae94b92f71771c908f291e75efe8ceb11067c52145cedc699fd8a5409c3c6613459cf17946967057885c1090780271fee680f4cf9537642a969273edafb6715de6b45a65e27e1f22e82d72d3679e5b2b6fc016a5f13e267148ed693189e3a3df7545881db5ef75a97bb598f79a13ef379ead88df481dccbcd79e789ee77942dad3a068efefe76373aa7ba9bfab233db005038b7c3e7aef753e7a30fb30af89f6bed3621fd6643d22fdf088488bb85cf5bdf7d788b6ef10daf362f62b5ef941fcbefef6df735f132c1bf40e3ffdf53d88850d9c2b71207fe93db7f3cc95cca0bfae6ac8e8c3ffc0bfd7898ff339d1fca15583217388f933957022a054f7b91228f4f625dd53acfd0827f13ec43356127d9cff4d5e60b167c71f38fa3ab863aee00b6dd348436cb28568f1640591817e54a49f97b70c37078581bb19fc0b7e39bcbd29efeb4c6b3dda894c1bf62fa6d97b8aed7f187c09b200bed475e6a3d5f1262732e17338673f471c3f47fc27c9c4ff4b79e8479d0099219b3ca2dc53899eab2d7ef70534db7308cc552c20963813ad3939e597cea91ee18f7e94533ecc41463534e103a070f441847c5464115ba5e424267c102137892e5cab519e43401bb6f8598539c925e15d726ac78e9e200b347f33fda1b4a326683ade97c1c7c9ba9325ca18f441bfc6fb2c264f9e979447731cf5e1313fe3331f635688f91a31794f8fc97bea98bf0ef2303db873bfd774d3079f8a40ef413c1383a5aef11a8d99c143678cb25c150e71d5dc819483f1676cacfaa6be2ff948a7964bcae8d153f41942613f7ade0cf97eca9842cf9f4bfc466e31934b8400fb2eddceb3fde53c413c728679300b1e40e2663c89e0d99a45a6eb0cd187b2cf7c24e1c0672a3fa5ca4be565586e20febbc43049c040a6a6c9291ee2d3a72b945efcd1257150fd4fff25134c8ce89f4269b4345df2818ede84299a8fa4bc5c8d7e7c0aea8c2978847128cdfc10f7f8cb67266c9cf99c08fcae67df3483671113f09eda84eec3f66d9ef91c7ebf17612a7a2bb2df4b57716fe2388e63e1626bffbecd412fb6cfe1194f84bdbc67e7443c873abba04e9771885a8fb6a21d57d35bd2f7c3df5f0dd19e5a8a44dffbeba7cc9bfece4ff4e5fb7d0e8fd11b7f7d4ce625ad91f729266fd11ff3dc1c111cad00318398f84df8f3a7cb55533b279af7e21be31d277ae22af06332fe9c5db28ae95eee93209837a6da90aab168141f9afa66289abe74223347ea9beb6cd7598d17fde53210d79cf48bc2dfbcf3abbc9437a4bf09f3fe37a190b3749a1900e46e9465785c62fcd3f7677249dfbc7f9cbc8497f266f4342fe54dca8ff0319f824738c4eeeff29327e6a7bb74cc93e03d3a6684bcdd47c7e40d449379c739c61f3f4bcef9c749c7d4789c77d5a25779135ef941fc0c44d33135de45f43ebeaf3a26fba891637e9cf4f72aaf9277d51488d6d2347dcf61e678f6c17dcc8bde411e31a219d1fb73d9c7f779de75a66ff61ca68dfbde5f6cbfc35b8e88433ffc0347570047cffcbd78b6c02c2f66f91a38bfcf680decb37b7f8ee3ffe934f337cf560a76cfa0c9a42413331171d5ca4cde3f70660e5d9de97b45993e9da131d46947bfbf54c5bfae13c5d369dbe8d0f45de42a4fbd1a2e98e5fb9ee5fbfef3164ffa3bd588f1be77fb7d473ff04da6cb038bf0b66f7af9a6df409d1f387ae54dc0526ba0ceca8c3b90e7bf4fc115666abc8d79fc36efff9b1de8fef717dbf73055796bbf86cf88fefb8b4597f3720aa429f0b9ffeebdf75e1d3a05661d527779ebd0de7379ebd0df7f3928eaeff679988ade03dffbdb7d1ea637ef1f3838d682ef5df04d312f8af90fef7b9f3ecbc5a28b4531fbbe28affc20defc0387e525c842ccdbec23e645d9478dff8173f30f1c1d936b0d1e2a3b6a649967febec5fe7726efa93dcbf2164c81fee92db803479f9ee21770f4e9ba1297bf16fcde7bebd7cb1f98f7b5d75f0ee4402edc05f29712dabd0b13e9e278ebd071f93b8a78bfb636a22f836fb1d775a2783afd7b0cc0d19f67ffa5d3884434a21f65f06b91e86be43d7a3946647a9b39970c621f9f0ae782bf97a037427e134a2081c645143383656c00404a19b9e46da3bdbc7fe0b83cf72f76847c3acdd4c8fb635c94f70f1cedf22f9cca77dd7f2e0ff39ef7d6da136cd4985002094ff3361800a494d16871f4cc4b7ae37d8d18efdd7b91f7e0092fdd468d092ffda6842781e6717ee937a49779e93700f8115efa8dcd8f2764ef6db0741a1bf60180a5d3d4d8276109934e5342de32a62d099686266f29e4cd642a9eb4973d9cf7a8bdcfe0cb839f7a186bf305a6e6de85661fdf773f411e2adf75de27f5b77f8874f72d7ffde370b7bbb7c08ef61880b78e152070b49d9e8bfd9607f116a263a7a5b7e96d36b9b8a8b4983e85f74e4b9b1e85b70e6dbaae8425e3104fa77c24fc0f1482b34a7281b9c3a4559c88f380405479151ba8e06827e29d286fd194f7e9f4a38de6d970b453246c206e9ff9cc1d8a477115a5349038e4773d6b2d8f377928154788e82151686bc8fd3b87f838278b95f2a309297884432cb38825c35010d05f5403756c88495c88299bb299f32288f6489a497f3c7b85181a042ed0ce436f489ff2bb134979f2a4745fbee253da7295486508e22af1e74fd614651ce20f1c2d7e6ac7cf153cd129d0e6d4042820c29d9659177e08b966d9cb50b4485b88e10ba95688015b8599f6b800a6475f7377df69898f33e8457f7c9c1409fba21779ccc709d29b5fda6bea2f3abfeb44f14491e8b61cc3dc3c8949dfbe95745ad1e52d42a127973d8a6fcad29a540371fb8cb65cb5698f9e9d389fa485b867cf8aae582e2143a629760d030f9a461a5a05a95fa037fe7ac180b48c11791978e2ce97534af973c993258e822b65f4f6109040110accb9692db86adbf4d8a44320a644c77a3a90826b6e9b9fe2b839e79c73ce39e7960097a3ff163235ea37a6043ddbcc79aa23b8a914aa96a1a96dd35e87fc05c89701a88794404fa4dc34d51e1320f59d52d6dcb0d99d09ae7aad434a2c8064106d41ed81cf13b256abd56ab55aad4dab74d32addb496abc7a7d56ab55ade922dd96ab5bcd56ab560230a4d1ed964c5b4bb0c0708d632d26ab55aad56abd56ab55aad56abd56ab55aad56ab9522cab47053aca1967f27155da6e504eacc79aafa923e9f1f19511171d7123834824f2e110900d49240566f9beeb0a6ebd6129d82b286367d099dd13ee5cd0cc29c4d20df2d18d80c82749951efb2b35aad96ab25a71771156a4389d2391c44e923bdf1224ee3d45b3d2da079e75797e9d20a7a01fdbc7c7c5c3daeedad56ab05fb69b55aad56abe56ab56aabd572b55a2d9f9e96b7644bfaf4b4bc257d680f6db55aad56abd5927766fc302f2e2d29946439ad48a95243446f90000554a4e007094da6c9a82613b9e7382e27a91f4448926d06e89e21ca26a40842bf48158320087eb5620c4d49b9669a2d131be42a92567f9340f07dacbc2954429c9af41503a17a85f412a4247005d3affc5d5959912b2493384610ed85dc20cc80565a4e1233a1106fb4981fa2cd6fc7fc04756ade718d6f69a9f12d3e6adee65bbe06a52d7877baa5f484c64689f42512de5593485f8255d2879fc367cc55a43c27e94bb1f067ac090c60f44bb292908fff93866584d7a194e573380bde32cff2976a997f17199a42c844163f9ae529154a8c689677f9f069359182aac9545d34a3c2081e13a9da20cbc455f4093d51e10b688e88f2f111898f4d2617727a31551f1872fe40aa547efe84fd749e08fc9936e6772f65ce0c12d3c6cc09452f650eccd0b4311ffc3b83104d4f3aa550e129953aa550a7d0154e3df33373665ea81f3d7f06899933a36406891aba66ce049a81ac990f33f43ae18447bd5040e14f334af47c9800fc0cc0579859e8837c177e1ce4f81d9833b8f1f327d08d9f1ffa70c2cbf1849f0f93020ccc8bcecb8b4b025c5c5a10d0d2929235a55fa552288d42b1e46061391de0745a31c0ca8a8aac297d0154544c27984ca553a9a4a7ac293d0148a4149594141df53dd72cc4392937040c2500e206470071c48c0819029a03bd73e40b242670c275c6109249852899d0223254d0dd5a6b55a2ebf8326f7924135cec5086193c28d9811592076494800c14dc8e44023374c06409185841840e4d280ec8c8828c1e908ce808fa6152069124c840c10dca60953182f1655efc50043c60e28115f45046103d08c1c90a6450d2528a32b8f09870a17538a12109194871822b3e40b7d03b3140a20925c62043051f80e26980811f22a6d0410790b0d0d0620c178c61031b6e053f31dd020f6434719283105b9060255f966e9106f42c21031ae490c40743b228035606172c4d8c4c206562b888b836221703c488810b745041095c10640320902106cbc61a916068914311224133644105adc11436b831cafc0d1c02d8dc08b56c82061e6c37b8bf377901aa67def47d6cb7aa2a75bd79ce16c3d45b1a696820aeb5ed39cd357a01aae7ef68d3cbd8a6acd1b4ba699a56b75c671a57ce9c9933a77601dfe12c3d730cb4fe0475e805fca69186de41582ced39068deafa53daa8d5a7ef6cd36fc8918548733c81511a493f8046105ce0c0081e5a4044932c9c6c9aa64de101ddc0f9a2556b050110d0181f90ddf023c5082816aceac3172f29be50b2354183135d9d3a8012a0e38b1f202dd0269800d9fa6446296da107025c202b9d40064b4396426bcc67c5ddddbd90794773e86088d2c8ce9d3a0f1dc0283d2dc12dd971c1076630224ed4a08314f40aed074a94b4d90d1c994c26936d55ab5aad2d68b56eb2861f5421e2684d808e1cc09c46c6644233a7917affb6d5ad6e75abb25ab5142f9038e1b61b7c954ec00519055ce842a8fe000c11475dd60510adb5babbfb931f98b17175f68040173d1a0d5ef4a03aa150cc8ad0d51cf0143981a583258470a4481138502ba4e8624629ed5c04ee220870b0c30b321980bcd082c8c746084b86b0601521020d0a9302074448e1c5909a83737103273912705a620410504ac5b062faec8655ab5fe76ca26a55d336aeb3d6bba20dd4b8cdab5a67398f7350679b9cd56a96954a6e8b429c9fc33928c41a64acdbe7703bbf26dd8fd573c6a64c4f19bda149489af94c084131d3935a415ff4e5b24d97d0f3b7d6d2f35d266be6572144f97b93753f2ec595ae724d8e55d24ae9953e2bcdfe82eb1bd759eb5dd1066aa014b9a4f2e6755542144a1c1487fd3a55dcb7d04ddb74b4b949b718d0e4585fdbbc966820ceeee98d7c429cef55dbc01d75bb3fa862c708243d0021071a88e0800f550461d351b1e54093b223665041173e469480512a983461a245c701265f30f9c14783154357d4e987264c4083ae6f824d2dc114587c313f2254a1a15182d1566d86c0288dd475d334cdeb6243030791a35e036bcb01e6640c3238c0831dc0000c9fa01f7e68b0c51836b6018982863879d4005429a5947641366643c6368328645cb73c86f4509a1a60da6badb5ab5d1011296a88e548404b1166f880a08f192d0887cc584232230b91028af0737d9c7882059d133f4fba1e3366241e1c980dd1604a8335e44ae131836cc483069f2125460a402336c424e4c17a89540169f8b893767063f642ede104a1bbaffc10c50f9668d7acf3e03e855836689a06c47f582c9610488837705c5a46c10321ed5fabab561e07c21640005235188bc54ab2a4dbb81c36328a2010d1ee42eeeeee4e29f5dc89f60e87207208c402a6c0e109305e662c71039d22ca0ab447114506dae90b7606e405fa020db28c1d04edd08317a80369c123a3ba7b184c4a9c3746310427da6343187908dc5d87288820c6125df789a53983998fae5a4a7103282e3ca055db68d5365a69a595d6adb3b47a9c56e568f3e4b2d436cdd2da6d9eede13c6ed368ed36cf5ad05625363cb54704d1ea69bb2dd74a3760a36e559bdcdc7e4e6ecb135685a85a7542fb29c12bfcafd436ceebacfc9d6d6e686ba71562745bf5be7a79dc386ebb1f98bd9106a7cc6882cd0d9cebe08ece0a49e36fc1c975dc3673b6df3e6a9676deef962d33a528fc7244ef4550e7a3200f4e8b720573cde1c8cdb389d3f884cd2613e6b4b32ec4860ec5afd649bbdf53d7fa5be75c9e302b64131ffdb70aea50910c60b5c7565114724ead69f505a2fcdf545bb5f9a55475596acf658c674c4a77777777777777f771fc4a5b20ce4fa2c8ac2f65fce44effd4a2630aa125e32af98418437aee1b7aeafd724b265432f1c11050643e05210251de1c51be28f1c9471f9d62cf279522277a06a554db66ddf21c55fe3d24ace649001f3de7c0d11b078700941aa1f789862351e0e0e8963fe1c8f7df274d49b2663e8783e32aaae713c005574d2309b0c14936a91447ca64187ad2e7363fb98a74a345464f13f4d753090787de9c32cda439ebd9acad35002c2c585ada98122d3d0d0b97dea3202d7fb058a2f7a88996f6eb7763aeda5c8fcc557beea085b81ee9444aa1b77da2a50d43db98cd7bf4a365bd43882c2f5d62ea352bc413ea5d144fa7ff71b4b1d9389baceb44719fbeeffbaa900b191159885c97f8f2774e1644b9840448f4fddf554873e226db649b6c936d32999699b3311b93efb94eff89e2e9f43f8e271b3bd9188c8807ca57448b78b414b54c50a7e5af76533ceed757e17eddd116efbaed8b3cecf21254c1beef680bc4b54b4661da10390b6f116c2494c3a1e895df22d828487ba97a82c2c23a3939c54e3257a90cb1f0b0106129727a22ff2454afe772d59e412323ae12693912f2518ee6d0dbf7e1fdfdededb83975bd1f2971d51eb5f4bdf6474143b84a5201c493e92a95116cd44402613642e22ab94487289e1db546455c35c3d01314e1939393cc47798af928efdbdfa798967f44749e2161cc9ea4e0b98e847fbdb73f653eca9197a7d06842f17194bf473d777e9ccc55338aac91330c2dff056f19c482b713d1126f0974c2cff56cc9e4c328bce512973fd1903913266dc8971fc69c5149a3b8f267944fce213637f49e32a02b4bdd97daf7940d01e42ae92a77956bf93708d1f33c6f24a56802053c2bad0cad8cff31de6704a337e28f729f3a07a948410e5a9447df7b4d48310b62f4436f6c4cd2c8efd936374185147adb18d703e21f2e602dbff077d2d0821a64abed77567387df8c103feca1373ef446cc21cef123a63c49b3420c61302d718cb414c1280d1162127bc484f6ec8f6610f7a8677727f14fe3dbc8b47c9b370ed7e3a37c5217e2d4a91e5b90ed8308f11810e15a2549911064be900a440db0559295b7bfa34fbfa3597e47a37e47a77e47b7fccecbef6898dfd1ff3b1aff8ecebfa3637e47cbfc8eaef13b7a67456ad19be9220d7122aeaad13344492c57c9f884e1505c15f323a3f9d5c49db80a03055198ab3e48892f71150cec87be5cf5326343381257b98c5a2edae3aa964d46c48bb82a758aa5b0680a8fab50221e281ec5552c629010bd19bdfcd1cc55a73972e2375568f4c4552b2f7f1473957dffa1f991043c011fe59b30057c94a31e29fb8a703d92463ea5c9bbfb8a68f92298f663dedd4c868d208269f9d3456f6e8cd6c0b7490fbdb94c5c06df201f7a7381680cbe4a7c941709cfd787627c87b846fcf175f9286f8bc2e04bc4477987f80bbe33263d28a316bdf1c2f016ec096d327ae3c9680a7b4e4e317ae3357114f660221e7ae3055116ec2d1183e88da7c44fd87bf928bd1fba823d2442f4c61bc22df67a7e54f2b6a122115b12be324a233fc49ccb47f9a10fc4510fd7436f4a2f4d7977a7df5c8f96ef3ff4a694b3a436c58af9c1b7efe53d6a10ef1d8b330c547f794f30851d267c88523fab8210ed3d68f1fdcfd696102dc18beb0ca60dfb828ff2c71ec5f615925f714c4b22b4fc8985cc2642cc564952294c3dead1a3217c94a31e2d7fee107e216e29c4a22264dbe984cc9dcaa1c002d253cb276d21e6211c5881d0ca83289196f334b141efe9ea41dccef3b2de7295a494fe78dfad26f85132b3d493d5a3e8f996e63d5d95feb88afed4b4a9b976bdbf146ffa40b44da3e9efd48e59a34dd024e87c299e76daa7d697b86a0ba2b5a8440c76864d4f3a45242200000400f314002028100c8704c3b1602c0ee370330f14800c7faa4c74609da74914a318a410328410420000000000003030533402000aed853840d8cf71225a173e782ce56c543db75fdffd03c81a11f1d3a8556f97a53255f71c2a04df5bad272cd31a29011b17ed893cdc7532843e9ba0973e7c453badf2a9b7e21b68930b058ba249933f54e7e416f832e0e7e256db14fdeb4b5a7d67e8f5b45983f7e5147c2bb9e265966abc288dd4cfd51bdc52ecdf09b534f7154dbdd60d2bb7c98880afa56d2ca5e244ecbd9863ad69a26c63ed3828dea9f510b566a2359555491c2dc6c412107243cce177bb888415fbf69d9cfb7caddcdca0b166743a9348310b151f0f9a5ff2705a61b8be46c95e6cd0657b827807433bc5fa211f257dacbdca5a8f390d29a6837f804c23b8f0a858397502fed22a4afff1d20810b393c418462adc2388ce4297976264045a664e123e3c6d21986538eade8981f44d124c0c3893a0530911558df216c397b33895e9183986851e18f8d4c0e18bdc12631fed8f90587e735691ad43a4502acbb28427950c3b959c79f04fcced005447151434cb1ee80fd1b1ac11fe0a42828a7afbb529875786efb9fc576f6008670f2e611e7d80607990076845fd3721a59a43c30d84ca937c89ae18ff25884e81423b0b032a6da87d70a3de8b8323b0242b35b775799e4ef87b44c184e3832593fde0f44c1e02e4a59e411fafa5dcaf90fb2ee76d59d30dffe0c8a7c709983a7e5afa23400e99ed65106274ac22fbb1dcbfc2a79e789d1a5430eb7ce229497048926f5ae9106fe99d5bee9694f3e14c1e4846b05d758297378b518711cc67f080aba820dca87e1877428e23092b27a7eb59cad50e90ae1d5c8d8dd1117925b056f1acebc4f0169770dbee993ecd91afda8a0cee0dba23844b645e07857eab3680f197f71da4ef8be6c1a79038fbc83fafb80b287fdfd0a3b155b3c544d6b58caa7d38d2594972f5a65932a2ad123cc6cad1027ecebe2d4755e799983b63bf141e0ed2eae8d601d0461967f1bb698fc443021fb7afcae1a32bc4fe8dad6a6935b673cdc06996b3d5e8657fdb1d44bd4f505bfa9ee6ff3c984931df504ee9f0cbcc166d96e4547eeab9f2d653344ebd5bcd370fc44f05714902da09f233d64c5bb46587f6b9d6f6002b405113e8ac4152535f876c302b93e152e664bc80dc9a862ef0ccd074885fbdc5aea3ab742ef64560c7eb75c3e4a15d2a0ba7e60e6c5614607f7e94c394ca5d3298237f101af6037ba50cccd935b5abf596cdb02a62c25d6550d6dceb11a12f14ae76d94d07b8595fdb5d60fca003f96810d827a25d5cba941dda99792bc6d50572be903708f3848c7f252ddc818471ce3456522d93362207e44fe79cbe45ea9d108644ef51c6c09179a855892375532dbda94323bdc2d1aac270e4ec8e790b8d7411e25075e167ea8d9c34a089ef297233b81be57e92557d3c0ee8e49b9893b440ecf77d79ad26cdf16c90bff5b4a1a88f9364922e841a5233f092dc41b2ace664ed2b57bce23ecf5d71c4651a257a6f0659d122209a71a4f1d2f183e53bb368324d9dad49f6d7f66fc145338858b1688d98ff3c30e25fd2214768cc931d51a92956efdc81b4c93b72469f4d13981313dfd37758b66885605f7f2778ec9f1466486ca9172c20c36f8dfd249ed23fa42b46e990cf700f2f2545650f1814d4cef6e00e4b36d8e6660ab9ec73205e11880fcca9034cfb3d43e142c340caee8ac4acc903507045c5d5c5274728be9536c24e66160c96224c9b81d77604c87e6e3a44c18747099e3dcd22ceb0f66b0d6c8f6511db2c63c123d26eb1e6ad482c52b40829da6157acfe4a8c45d2db206ac4bb22db1aa401f2f3bac6459214b225091159ea9b949a0de6a8382152e8fd34061d2021d215981830b61e12c6025fe0888098bebdb7b2d42558fbf2b3532497812ae74921c4650c56cb633bdb43d4c1abd74335fd0671b73caa462fed3274079830cd2e704b75b235193b7ba8fdbd2da85ee7b0f090647e4befada5c926a83a5b642e18848ad3845817d4066a0de4ee2d510a6a65008a69d03f4f9d9ff523930013a0c9be647b3d70b8700dd86bf98959fdd011d4005e09dcdfe1576ef1cba3ae6230dc60d578cd64ae1c0566c9cab2c4ab5ee9667b20e8a34dd16fc9a08941c892a089e1acecd819507e7ef3cd804c38758fd1e105fa68f3c2e3fabd23a314283c1b203198018570b8947ce675c714bc1df5ed7d7a1551486aa03a545db9932f17a91e22df3e199547e48db1ca66a7c8ea2339e59f1ae306a7b68db1f6355a88b8f25ea4b276cd4d594e84b4cd98a7c9cd209b711c3fd7c6537988a5e79b6265b72d6cc134738fbf2a61c92c7cf867ded22e04a19cddceb08f3654d8ee6b8f148393400627a30bcba2d1e0bcdca94d09b777877275ad61209f731d517662755bb38afd3f63e1ac7aa027c9c21f57daf7e1272863b7d68eb198d857cd076951c5ca624ed3c7fd1d50f944f27678085ac346d9df38c3ed4c0471a8d8d22f852f0c43c1569b648d78525d4f2847e5ec07c4968ee70b2ceabf95014c67bd5a2aaa15cf62c516aaa1e6a7e022986a8aac59f93cc714ad58e8a93425e63496c5bf05e600541fcb18cd266172901f837ed83b99421f13493a1d0c8fcc66f0998200b5241c0829ae99c4b197b56d2497c4a68ff9d24980ee9bd339f0b5ec9d0105408aa1f75cb5571896cd6df1c1149231d968786944050a0765578f6d5c7b539973597c562612eb11fbab1e959ff97db0b2992d838f7b9a483af8781cface6449b2fab01a84c2f8e79c48d2e1e92741d3cd28e943d844f680d7c6ae1ee1b15645eee7e5407baac710786ad82e92c2d0c16cb16be047433acaef402c6bd9986bb808dfc404ccb6c9c7f5adf05a964f77524cfde55a05eb9ee9d912927ae6107317acffbc3154eccc1e819fa9f6188a75179ef1cc96581679b32001303bf7b462eeac558a535ab0267255c4fe8c6cf92d3e16aa62cdfc871b543a99f76b4cbece02fc40a953d12fba4731ceb2825d9007945c05b9bc05b788e622c7e04cca2c7acff6479a9bb0ea9c724126d8ae37300b802d2564d0580d09363cf29106b561488e8ed9e26361f48d28b30661d87d4964cd9a908630b18dd69a468099826b8973ad2cfbbc62a3081a97bae6a34ddea3f3aabec0a4d81f65a026440e9b19acc2969ce414c8ee32133168a5f9e91b19e48b4ee0c625364860a48718239f599493517772636ca240a6d681fb688b4674e58a4e8554d7bef19df0c504edf55a7062fcde7bd4933f901d8f4db4d14a06d0eb6bad36ff9a7db4d195235a33125bdb88dbf6143d6c0536f2620c1dae733f4602214e423620dabba6c38e092ddca1d36d7fa494d724fc001f7b17ab0ea39b0765712735071c1f82541dd7d37cff3b72f6281282cb31d4766c2f32f4d167a7727d3101e01938c5577081fdb5a7b68e6f2b5ced32fc4e278129b9484e8ad432cecadddaf1a89d6d513631a36f8a4a0f7ae5fbada5cbf4320ebf67f8de73c7801de08b89ac8210dd3568fca361ae8813bddf82c2228ceb62ca116eee25ce43822dcc2b49830b26d7de0a307920a1b064408589ce3f28d92f8cc4d4f1798b4340aa8ee0b2de2e9c01a691d2d3883fa62df8188eee30c50bfd80126f475b9c134f98a4c4ff01b7251e94509c8693a02c2d19b83c7e7b4a85731dfaa8f71da3ba99b7605e3884e3d396bc851ddf70859aef8c0ea755be0c252453928de65951b756cd4f149cdbeab87992b23298769198237064e2844256da3dd8054da966815723b380b5694763392c2ee4052bd3df138c769b2ec822d54c38c2cdfb9aae79fec63f705590a5e1b7e9fe43d2d3adcf2b104412835a9bfbf1a7dd9990b3ac9dbcaaeb9fed7b6c76d3489aa64129929443679e74701829a89bf0500f651d9bd62db24068ee0b48f3e4df08ebe6f8d4d0e57a0a1761cd1fcc6e4d250b845c7de9f6a6a072f1c64fe945d131b33193e8baf5d661b118dbb1159fce58d25a23574c42673e60de3b18bbb2577ceb0aaf2ce24c154374c8f72517001d1692a48d4f2daa9ebc16709517e34383a3442b982756cb0d2c806ca1301d1cccf29815112786086b9cbdf683469d0c4dfee130277e7fe90751a3d1f8ba293be286b728e4b960f434a8b10365a44e2ced031428a077b058dd979ec83f6258758a0f634fe2827a0896366ea967c24f43c38845739225b130908ba3adac056ffc778b334e64e27895c9f184f2d1b0b333c0dfbe5420fba620aa33ef44d916f84dcb0c322d4ca38845ce47bd7b58c31443e6127cf7d3fc368495ebc3e71ba7c7e1ea9c3a8cffe45cf76859a7bcfca6bd0df2e7d6be309f77ca8bafb98314ce0881b1f1b2c833a64d1a9abab7d6760614a0f37f76dc012389b6bd61d0d1ad3fa5ab548e3e4ddab41742776b05833cfd3f64772feac9823de80f6b7082b405c524ae43addedf67a8e5e8779f7154ed271ea2a48ff88ec80cfe12d6353097abbadba57e5358af92f223188ab12ae487fbe390f76decb391fa1f25eccb412f5fabf7790733e7ba05e08da38c9f0338ab55ba383b5fff4e08651ed01b81413c7de9a13c154cfd629136c2ea07068726ae8d0a32017602417d631671a8caf85ce9806695eab15bed31137942252e4561f2d2b25a9054c75a55ed3e62cda561e91ddf8f8fc4390f86474875d5a85353a805e2b8e3e6966dd462720c18f26ba5c9cd12f72aa9486d20de9531f20761722d7868da8f4a78e44f4488fc98f24ae72791c00a0665a93f0c9243984d23656bb6c43b4654acad2d90668c9f44974079fee6abf4e835e11443daa344b5b8e0be458d02c58563c092b32a7501c474f2f468e87c71fc0368455163aa614c588ab619de3c03c60e809338f9e244e7ac666f0e5be492dbf7ce57e616a0ed036ce86aa2f02e1700e9fb9022e45650ecd5a7ac2239579a3ee2200b58f0d9120bc51f5dbac4aec94e8e0497c76aae5d79b1d5f6a9906b389e5d7e6ada9f661284ce667cf9e6e57d2350a0dac9d05328481063edf692c4a08b416fd2e59d3d4b8960410d8788d88979946d19d8d147e9f0de5d4466be976ecc7ff931cd72d785c5fee615ef523ac370efdc698cea0db0c7409e434328bbbbdc0ec0835906fe2ca77b0f15ec902419836e8cc3830801631d3a8ea3e75867cdafada7eee3e16e0d3f054b7f7e0c746f1fad2897badee70ec1a219b9a8609afee4ae3490306dae1ce95a43d0a8eed3d465da2b01418067996b4bd22bf10b8989611b6c01132337985f9bac07f21d4a62e581b9295a7d62eafd55012db63580968082b86b80f8deb137eb895d216852a0edb94bcd90b268186fb354c3e1ed207a9866a21396afcda69aeef5ead1563885b0585fc5af2486f48d48120d157b1e33531b0dd0bcbf60be4ce3a7bed5f98bb2bf8c87ffbe00c8c593ed1250788ac2de137c6ef712c44aaad2352425d08d72c7deb0758bced3f94911a0b44482802dbfbadebbcd3ba5d77da515d9b4628944585b1b8b7c6428569e0e78eb441eab980be5d7c42963937e4a86cf9e5362cef6609294d48f72fd0158551849c95d762ca67e60d02bbd3b0bd55cc4d24b918a8c4b654e64ea0f65c17000fa76e0d009cfba4ae7302b258de5d1e2eaffc0c3dc80042495913e6368a4b24c490e0e4684b937a0e373cb5d4960c66ffe549f3abf90647d0eac95a871b10623ce195c664cb31c37a7a03f821d657f6cc4f380fed049072d0e6b1c2f4c4c6a70510004a870b3981373c250d9204664229e07b76077e2d067f1a7dd9c33e0a22496b4ba665b89b96c5a2ee15ea6bdd2a5102fa838081fc28b2fe86ff114f14932f12f6939163ff861a7dc4ddfc085c920d607fe4e57c6c894bce83a0495ecd2358b33de565650a32e93c91cf3afd72bb688fc69e65a20c4ae70e83ec39a0ad529b9b2d8305140780944ab3388a5590df856ed4449ff8f5612fe137266f7ff10d304bad5fe84c8aeb2a8a9752803b4d58cde1ef2dec93934e8116a80dfe20727915594cf8898e64468d347d50003f0c21a5c399d9b264f2e65af1f3334309e9007b2489e734397a0d33294704cdc7b5846f8cddf5736dab81b0118b691de38edb934932a66e914b4d3ba3e04f4f7a8618c9602e5ff009527c053a73baed7bc167503f47c15a96384a789f82fded28423ad4cd40750f2653fc972305e89602339de4c30438e13153c91e3d7055e9016f474443a2d86c59ba271c1566a8b32d3b5b7f0e08b5f5efee8ac3aaa79187cffabf07dd554b683e9f83de723f6b25d7333295d3bf578bbe648a2a2c12201f6fae2a20d91e5a910d931bcaac3aa1c385408ae71aff15031c57a0b24eb8e4056b1932d723977d367ff569b2db92f6a57b99610e5297d8d92b147deb67abc347502406fdf045e5883b26b05bf2829dcb8baee284ba8194bd7b0029c6f83b4a2447fd220c29b045364fc4d4c146479cab8f970219a16fa9a3989ea7512268813e36799ee4bbbede3f3c8a8d06457551fcee755241dec9f32838bcfc847514f283067c1ede2df60d228220c63faf45c1c609871e8e9ad277a233ea1c908ec19e6fc9a7b81aca7510989e96508e3d0c6401f1edb4b8cb500e5aa7cb0f0abc183c97eaa815344fa7113ff00fed47f9160fbcf9fcdadd019b7766f3d60958726720b8095f1645367cd0bf2047857b64206ca9f9291bf46042f4d5a3444ac1de3bcabbd4f4f8c6ff4a431ca7fecca751e8af10f2861eaa7e3a07b071cab5bb49a38f28ab264a60fb644e0e0460979b22203a6ea6628d596fb5f73289c3f4e0ca0a97e78e6e36cf315d54ca612bd63c0703a6dcdc9f54246ec910e607f7f7ca0372e8edf9c559add88ebdce23a3c64ae7a3fe7ccc61792f1131fc47b1e375a95c764ccd08810439ab4324933ab2c89c9afb18d52cdae86930e21d68d925f295898eeecb85505be6ad2e262bb4db283c80d565dd179e389a315d9ad9fd00e3c3dd9bf34f826c72b33b9b26d125f04fbc67f2b76dc8b5a36f5d7cae9a7e355a5b00f008ae5c8a7c24a18e0d0b48e1b9e8b66c5fb2f5a2f7c64719cb0a7d1343f0081f45a0cf139daa62c1d379cc5a101c6941273c42e49c08e5b53f48d3c0ec2df08ec8adda1584b7abf8799efd6e2a561d8d7e42b70a8bbc3c4968df4bd8f5e73086b47f3ae57b08627f36f935e24b2efe04949bfb4812563a789478c961f8fd522f8cede22049e8463da2264208672d9b1eeb6b699c8933c88dfa1aaf29a8d334b9734f7556c092747d360cc6ed06eec8cd1e3d3dce13ada9ebb207d9bb5f1a65e8437ae1250f0f1aad23ffc8621b439c5ee251a4d787742a8d96c71340046cad06e64b8b916bf0870e016197a158ce2f5ba6ca1409a957439036e7e57b40be084e9a8f0e8546a35f5d74ebe8093fd3423b105da20b0262bb8ce63e965f572b37056793832582b7346e2a2a0a7add783992eccc1467c82f932b540a02e02faa4ec351f20d0aa585d35657d323f1ac972bf9cbe8aba6d55851b08f3b7b061b2ef7dff4fd9d1d738c8eef16912c69e0a468a8ccb736acd7d18d6aa58531183d8e35f2b623ff50de031e85be654cf0c328850577d2190d12b518c6004a42116e2152a8229d722b055f30a3eaf5826f5ea7a3009e27c413d7681b96f3be830ccd49a66094d124b21ca3c49a45fbd57b87efcfeef1dab0305c93feb45c600e911425a0ade0f0ea14dddb5bbaa38fdff8097fa67a346b9ce495cdf3440b5decfbc669b286f28be1de601cd43f2f3ba8b44d3358baaaa4209fbd33e1cac1b678d8dc7079c9940bc180ef8ca8935624393f70c0ac06055ad9007afb4018fae70ba83a5b55363b0cc14ec4b2184ee56175c7a0c4349628b0da9c35a3a04ac3bf471ed29a2f5f70b07ef5274945f9bd0e4034d411c1952e4318e7b90fc3000441330a860d569027a1d030f0015e58a7497fa757e3e9ec47970f91a8afc35e9690a5656b5c3bf45c06d2cfccdd45c77f0a4de06271280f534f67c42bde4aecb6d960e66a8fed83048508e3da33699c43e88279eefd1d1049fc2a2468ee4f717cb388abd626f6f5b9f2fd52f9db9a87413a759d98a20aee6a38cf51cbf6fe224a7685b885e38eef7884a0c57848fd7a5d2cd977460114838444a4a185bc82f706dbe28829937883eef5dd96711fdde5b29ecce886ce0e41e737c140638183a2ed060315e467817699c57a870df2c7cda725a333f3db0214b80a0b8eaba884751fe47711bb2cfadf9deaf02607677e3c00fb939a81c06f2967d88b0cdf01c9d95f0b7d6dde789c744ef86d463df4e706bb6b68d0a18723b3d962a39d9dc80656f29b26a6608970f318d9f9a225b204741f0d165be58db9f93869e33209a4090ecfac2a9b827c30907ccac2e27f99d9b95b83e8c6565b6259267405f8c7040966848ba09b336c6d34347362758bb552afad1179c40373aa123b49aaac51cae1f1bfb827eeec2eb52ea6426560bc32f4929e38a7174aa949975302b7849648934f5fe8f3e8fc16e0dde2d208021cb6df1dd8a550c8217340d392cf540831cdc23db17743f2bac8c7fe5a43530f0825033a2db0415ec232b1cabff612f0806665c65684e29314b1ae374c5022b35174f229b9be55cf2244c21acfd41455756cb2b2b1c9a5630e8f70dad1b6d2e63bfbf3ee887fa7bfc773b3b1c9f00c580371b16e46ee56524bcfa920163f8ef22514243f57358f371b5de308d5d5ff7c2252358991f000b64219eb21a4869ecf6597124ed6fcd5f10a302eff768641ce6726d8c8b61c18165f10c645bf05fce94c46341543dc8a9db60b8a1165e6de558635a18274282fcc29806f418abd4850ec7da3b7b4e8078e082f12a2891fbb582df59c31e7ec976a297d33b71b79d31568a2cea3396d2667a21a134a7bda2f4cc77566b4f93e873ec20223cd463237ecb075070371f138c6901d71bda5f1812bbc1ff72c80ee91f9b5c8ce59827010c367104e5d59bf907f95c2515fe289833ccc316ee4d29610c32a77f3f51740ab8a662fe797dc37a624009d7d1a224e8c9818a713b22bd94462a9b48c180124bc3ed30dff5bb6bb39496b61d31f5b0b9d8d71cd3b61f44af6a6552cd95b60b8647564e27ad2615b41210c393adb7fe5ddf7af258e1c6c36764acbec07b4f0b6a921f8c6ea06329eb0c9b635c8a55efb70eced77599333295bc714c074d5dea7dce77df01f5e60aa503526f1917ab205633c2d4479478a0933db2aa76401e650b90ab37d8aa2b39e4752aaf94987066a284f946cf61c9d77028f4cff9fdbb4d9c092f771bda884c212fd7c46d96a982fb3c005060207dd46218cc79d8206b04de6960c753eaf140758921b8fee6bce2dd007060a29e02e1ba216c6f80d5aa1c067413820268503ba01485c478ae1850033960461cddd3a1dd3448f8726d3cb53e994debcfd68168400226d00a955e99530726c92d549b9140501d2990bc6e966e5c40671d6d62cfc121b799a31e8a98a07b34dcf2ee3c4faca3866ec29abdc17c9fff29d8520f087a5d09bd58c2d28e280ff6b4dfeae221d011e3b67d53cef283d4e9ddb1ca68b4209ec42eb74670ca9c73ae062800b35aaf2dec0de15654ae99570db52df36b69378f67bcf19ffdbeb30e3c611c0665658a341cabe9c2b18dc4d7c8bab93d5f05446feaf52580499b8949ac2766cda310fc6d4d78d7eda92321566c1ebcc44ea7af3ea056b455c36d696210c21e13434279fd77e20ae8c7916f1746062983fef40066123a3f58794496fb9fe8ae413a65433c3a24f6d713174b4af6abf6f7d13852017627e5f5bb4588cb6f1f39882562d01453e7248a2c49423246d0e547090609fa3624216e3fae819386129d3fa34833c1b5051561d0487d111df6584e3c1395b3c59ad575a83c083943e4ecebcb9bd9ca09858f2fff4c5fd2687a5b5b911c364fb76f5bc843e4c5b4e1897ba106ac85c66da4c0662fb79b7a20613b225e122d581dcf3454c8dbf43f2f536767ea526164a7cb19a5e38eb155e48205bb7934b104c09bf883dec88ca677e749ac2005482e8c4950c9576fde68b38eee79a4e59c77687d60e69a321622cac6eb48751853148820deb4d764209644b5fa2e298787a77714c486c4da1a4d502128e8c082acb499345c1ce4bc8145760f11ba8a5dfb361badc443538c38d4215542687259e5cca8b0add95c228d621f4eb9f68ee3c052efe0adb96f0451ab74fc590d20a5114c84a25cb9c398fea144800ddf5a84afa3eeb3578af2ca16951922ec4db141c188a217328153dab6742d79980e67d27fb9434540b0f159fc7b7e8949e022a957d1be35f87ebf3ec316ca8244076b0e4fb086a8f98ce6308285647527b8cb77751388d2d811f800740acb4646e79c6c886573d773a6a2abea0c349438ce81fe98e4dc54cf84c7487eb2f7c60e9e8103a88539f85f8827451a37a379ae318f97068c8652b3f803e8956436348cfb58fac7dab5f0f02feeac5f05a6f72d7ef83137d617368bfe5456ac3b7442f5a32f09a21bab9789b2f874a537f638997522025787aaaacb3a366341c26db07195a3e7f200a34d4009ad1d3455d96a494309d8d4d91c710dd1cfffa114b4f71d964159ab0ebbfbde5d9cca5a63ad902d9227c51ab73dd17ec37c2c141d23e015dd9d8c2be6182e40bae5c8bde1220dcbee4815f754d638164fe6c1fe18c6b908ad6c5773b8c32ad73ecf6b454cfcb1719b0026c7df67a576d9c392bc5ec77dcfe420688620a4a4a94467766823ab6d63539ce2a669e1c1b7d320e64b318170a47425a3cdd181e5ac9b2167ade2f758eeb0ccd15a4846695e19b6090df141d340cf807fae92e7aab69534d05662ed6be566a46125d5dcde33bdf91d0d172bc75ebaeeba9201bbb41c6829a7cac738e164c0fdc4d18da51462e5809e705a80066c32cbde0409df090b12c4f73b01d1b6e56c507d82bfb79c491c836637613fc2c55a79747593f8b3d1b882b734a9311f84dc5868b4bc688563558064ff2a7ba2e48478188ec9f6d33ef3c3d1fd550ed0a35fd218d434106c823c7b219bb9aaa3113d2205fbd924642b62a46e58df628e0795220799424445899e20e18a7c3f9d51a7d1a45425649b6fe8bc96c407c7aca4703df362a4ea87382c968354feee37e05c913684f48bae58c0cf207b0c443486c04e542a28278a126b1745f687389e664ad9d84a51c2012bcccd31650438d1641146352c018e4112590b0cdd29328b28e65f96b0e15ee813d7916122e8855197ec9fb71fbe7a3858b3e79305bb99569de11e8036ae84aff8ccba729154c4c4e78f02e9c29b56252d96d283c5ec420d33b010584eb8d61e2fdba7d892321c384ddf9ae50443f3b48419c4fe9d628b80907a37ec67964f1c89dc49359c63e633feab1b7a6a28b8027b7e8dada5f2a4cc6894926d45028294297c735f880f5c304f65ad0be93e0676b7374ecc649edfd600a7c5cd1508b33ec39bd9a0037ef2dd103556bf0de6a7223e72c32bff38d6adcb675cd521f3b90e39f2399d7bf363acca674b193fe65effa5351952ead12603256f2d409031f405ba7d57c269de7388565e5907ad0a0d82b3d156cc2f60345c7ee571489fcf8d673903751a716d0ead808114d0ae147674ad5f7bf4a6de1327546b845d8f8374d72ae3d2c1f23e37c1aeaffd85dadfab3a8f70379099cce628dac4e6889ae99f595a382904ccdb8537abf6d20b67a28f5ae61fa4a13b1f5e23fe7119588d50cb79ea2ab4338f59ae174ad66ffcfb513e14690ced0c10b89ed0e06f4f71bee07b932c0b247ce613763ba5b52fe294c959cc3242003313d8f92a3a0d997da19112cce9f5c6cd73161374a269d9af572a7aa7f46f4c1676048e18c75ef2b087d410291ef9a35e26931c21855bc2bb5f820efa59af43b895bc324a510bce9db8edd4df236440bafc006efb3a221e041609f1d26d1f50f55af98783d66dfd4ff8064bd85c6bdbfbcc68c83fac73ba6d80419582c8a34f75dbd4a84dd6e83363800834e2d3c2b65c1c745b18ab0bb0e8191bfd7f998ed4304f99ced33d2128b49f1313850ace806bd440468b2f1ca9fb99be8643d705056a76aa6c73aed02a2268c6db8d45a3f316c4177bc90919a168c5e8bacb7e64d4dbede17d28849d810fe2fdac83bdad27d6964281bcb81dd4b447dca730867c5ce30fc6c4a1088a04553099607551dec7eb849c5717a54b663929669f2e70a8a266bfbb44279e65295a3b81f5d2df2e437119ec38f308c9c90925a322bb6527648138a4963080d377f9d5e765e63486ea98f0636916c85e6cda3c765defb0373f2acfd3b10188bb39b9a2062ec4ee80ec1494cba506f1d56cd1e8b1e40202bf9d24f06caf7e6bcf8ba957e205d1157e3ae270472e8d9f0e52e0e7d75eb4ffb5c233f8e45a9ce04a475e1ce861e36db82d3529b1b0b47a46f8adb9822c76a0fe2f4350199fcaa1b14deba9732e6e91feb7ee0bbe748061eaa7a31b23f3aad242c628909dbfde34addf5aa6163c7521bf8ec985ef7b0f4cf7084968a9aa7e1614175e58299055c714caf1f1168eabc151055822a542fa47ef31db7b70b5912b5f77f5c9b8e0f7d1b084ad88d8c4257c38f8e2439c9c4fff2fb2c64f058ea394634b3997ca600ad55084aa213b41f85406c96b1f0e26b8019f96742550a72c7ff0d74dcab7c5d825b873bf1bac979c2e1d3baff7a91c102c826d2e9af645a6434df6675d36ade53f0b2928662f256b722655a95ead54de67480d3acf4c1c59ae3048febbb13f4b40917613fa740135bd5410c4d45b423f2a9a18b8c7d1bfe1452c19938c4a05625b998807c897dd3d36892a1a3ee7bc1194479edd2d6d09768c5fd9c0a7cdf72add89eb9dbc2770a1238d7d4fa589341023c55a1ffb7e767656c1db18f70602e58d427ee5fedb22175d748eec2c97a65e4153b85be2f6ef3fae9d73c714f3ff0a2275ca9e2b20013719bdbada97623c0cb69886b17159a39454837b85d1e39b4cf71c29aa6458c093368f30774a8c693d0fe82c65bb295cb0477affc0c4c424880bd27a44fc290e573924a81b3171dfdcee6d3ee6bcd339a830534290ead6ac1dab587e86b90135c06fc5256c5fb4e9a0d9ee7d3815c1765f0b26cd5724a5c6045cb638560466c2360b1af22a2dc290303a8e731cde4d0e2ca7833db168db9ccfb9359e8a7d3897c159ee43c3f11511be4db0af50cdc5c73ed476f00ab68af671351a8630c2fdf56eac0ac1ecaf6deaa40a75b00028fc4f1b3dbca8504e4ff3e03bbb3850445652a1386ca72abe79ce06f5f7c2b29e193aeb1953d6589e2433333504ff10dc67583f8cb1aa8e49647d08ba4da1244aa54cf5bf9055ec7f4322678c40f29c7b5a316a31de3cf199dd753ce04bedcf43cdc33c93550ead96a69010e8fea39a1be526c6b4cc7c8d6aa300a7a9fd15eb2c4871c6f3c20e35b1715edc2c1e9a37ad236c8a866ffa6a33e9738ca9712eda8fc000963c9157b6390ed7087685d58af152f419444dfa7b7a9e1d96ebdb02f855c74e2540bee9dd5ca1a28383f3c26ea648bab0927bea448caeecad3e6ae4c27511e1bc7840a60781dba191a8d026bb404f4e76ceb808b092738289bd99cd8c8e9a8f9eb40428cda964cff413ea75f9775d77bdbc3f508020a03547f008fd2dee75b161f9f151bcb7c646300763f9c46324edf62311852a53b502fe55221530922c6e3679b20daa8405b0cec67fc529171b152f6761af6517ce6051de8fb8314f3f3840d507e39eb41601236dbd67906d6b6e09f68d4452bbc5bdff5845b2b80dc3640d72dd808f42b219e2a786a3757cce540ffa7ccabd349c399f4aac0f3c3c3df4d5f9ab58200243844c9dd021a1a017818243f34dc9b476924ef8f0b0af2c74b7b2ecacc66f06557134879e7b4cce8c74ce5177aa4cba699152677fc511ff471dddd7270365aed871bd75c43bde7d1441c36ebbb5cfb9ae27059f6bb6be8c500d73eabd85d7d32201dbb5133d9c09d4763fe18aa464422dad9a2fc951a4c08381c863f1edf18ed297da0b70584e9575a254a285bd3b259afde5c94925ef0c4dd64d5af730e9ca5a3536f648dc83a4a7e05703e5f1c3fac173638b40c8305d26fee5a755208569d53ff83a2631326ad039da3cd88ca159f3e2ce8db1cf1b9956a1405193f83ca87e075d101bf834bfeafc8533d05fb7da1d329c3d3caea6d1fe480c34d3d5c59dd355364dd814f064ff6faa74255fc37c8420495e3dd77c8dcd52ebdc738627877c828a900d39919ad9ad41a04e8682b02752acbf9cb91b1ea82ab7b297f3cb2877e66aa6fd724b8fc1aa9ef506e342d49a88817dc121fc82c405418f620385c5c9c9b3a158cb91b6ac7495addbba8a96b5575461c1995ccc7cc7ea35fb3066620bc95be715da6f6fbf5ec55afa1dd41a3108a22d5c454c2913b40b2720641a239c8b08b46dc835c125d381bdf9c5513b5ad1702b473603d576138de78ffd8727fda3d61db3e9871310161111f60fb32164acd235a6d78833b4f325a9dfb38e3d5152d69c4ea0081d1a53002d8f01ca19c0d7f56890db9fd75093526db9b11513dbe04ddefcd4a1bb3642960975c63917c88c0c3cf68816f12828898723464da852916c740b514a29a689534d0e865d6e07b6cf39da9b40e3413fa3a317a940e295ce4887d13acc02cbfde824d2010245e3efac167d20e773b4f4d5ddcad94258b4c5d151c6b1a7c94918d7d5287a343d789460ace2152f0ac255d7be4e60b3583bd4ab63ddecda095d718c29ab6f043ffbfdf5029fcfdd743bcdebc16dd135c4fc75f5ebd43dfa778086cc987fa90ba4c74c6b17964ed48774ba7066e754f38d01f6158cbbd9e1d287fd4be697941824d8fe25b0a4a99399ec438c80c8a57f64e3d18ced8d272453d3288b83d4def23b2b36acf024b3b632b90b021bc5de94eebadfad7bdd7709f1eabd4c9db63d3255f7dd7597dde77fe9062ef3fb9022dd928cfec01b8e923825d630230d120f12be031ed8a8ecc6262b0f3e78057f3b823fa249abdd25479254207a00b01a23d9beded3ed552ed5568a61208f07f74fb9e3d784c30637a5b56ad3ccb4058889bcc973d2555d07dcca8351b8d4cdc29b30e838e18897c3830de816467ee39c1acf08bfb4f86db827f175f1fe6a85a996de14f74b05ec3b8e300eb1f376dfeb5f7bcf9dd2a256d9db4709dc8d7de37f292aaedc242aaea19144b2a758324ed8a000cb712211bd9ba43f455b86e0c0c36fa38694ed26e99be14ef564f8696f3e0f0c172362f0082f9874339ad3984cb3cfff860554bed9dcee5405a28098f70dc4b05ecc24ff3dde12e8fe0066b1f67643f3419e18976b1f8c03e58a6426a9ceeac3002a19b81e357069e1cf2ba2214666aff208ab0aaa7a5e3627b87fe29e126f73195de191651fb1d878508f61b2bebfd47958b82210250fe225ddbbc73c5b80481d9ab3e434db2b488c20c6f15a21a35e418eecfff4c9dd231137f02a7e9fee2fd1b0aeb1502bccc274467096860138c9c6de2e052c4056760ed5f79707d3e537acb8d23739faf96e7cbd4b6e2c6efb11e4ea53643a058c7fc95bc3e44914265566bf9ee39989fa58b124ff528fe72fabe4e736bd9dd8670f321a71749dc0bcbdb6f6630b778496205c01c8dc6807098ce75feaccdf96ef233a81739aa84836eb7e36be05e8031acdd424b5434d2e00da0548cf2d99af7bc2f68af22f519fe3e2d836e46dc6aa032d9ca14db8f612ce5b29d3a4414046e2ee34c53c4dd62446aa8886fbc3521a9b1817c58268a43987edcf5f8b2215785c383dfac7b5d4795fb83bf15316d0afafa953cdb09cf22f15dc15a7b015954b384e615785a6083a937302101dba4dda5d97855f30aea46cfea523a76cf7e7e96e649dc8bbc07fc246f8f9798ebed885cc8b809f2463b2234c93dc01715a5e11d96060e7e35d4e1d5753ac8312435940fe9ac9a6eafcd1e8dc7348e00ceded5edb43d0ce69dc0b3b8b48ae5f4ee70122b824e0c3f5f3777afc240080ac210be405a1a9ad2161d44f5f381224362347cdc160585bbc7a87211e3060373e1de03191a97051232f3faa5ae0a04c8fe3141547e6d0b273adfe06795756340060e890e3d51a8bd3c52e0dd964eae53599fca732ca909702d433432224ba9103710fca150e343a60b4794def94791b758270e8de06e6640a335067882c8e29b9d4e01f385b9db5cbd462a455f69aab84857732af2079469b294d96fbfff49ae46bddebe0f9ce863100537a487ff025eee6a2d6770a8d1e97b3466929c045fc642652a5f047bd0746f00f9df25029045a02c54e4dedfb77e0ac55f01095c5e0544b9a51cad624ab8b70ad2f74f6378197a32ccb2d2e97a19d45b7f0b4c6c6424b7afad72e138c7bda9872253a74c4aa8dca57c2b463bd73f438125ab3f5375fa04bc7e796c9a2ba198635b13a1cefacdf7508efc2cfd18af5169cb37102be6e6d79a24cb563245d245ad71a274485c83a2dd9b3a640519eeeb231e9d02f784661d15adf933fb3a1a60462f9898f1a424fcdecb8dd93f9c76a7bf082d7c2b442103b72fc88bf98a0c0a24bb13dbac8848775919ca9d264d3e2fb70c976594efa848d557707c986adac8a6bd65b1fd078beba59d2a2c2db67f0bdceb550acd30f13aef9215729dbd192636cd55239b59f2b33cd97ebb5dc48d2ca82958d3aa80d12cba0009bed3f95a927c2feae21dc497572bc11eb086c269a3e229a26d1d9f56ea830438c87ef0b479648232669906a65060a05988150cb184275b883fbcc65315abc551cd25bb8ead27e2480407c5ee977f4a81750d2dbb307b611b1a524ae18741c5083e3a60f9cf6405162c5284715cd73ca145381aff894d3f46608bf8d5c92dfe405b7a89cad38bc8d023f8f0b0b04897c62b8a00e0283d0bbca997c175d960ffe6e2763d57087df32d9e2ce22932d36db4592bbfd2b687288254b88c315e42a1a370cc51a9b34426386da0b20e326fb574adf24516cc5ca7fdb67e2e7f0cb6d200c8aecddbe735dc1b9dc74629e3de21450421d3a8bc97246b26e45df6a39b69de65acb911e01673f973d514fe91fdc8c346a522e701824e2d17e52ff74276e39153fb79261d1ab320a263977943a935982261c0719da68bb6d6939610da3ef304ab614e56e76f3582193accc5d5569563ac3901002e7bb25169b9645608d79b5d8874149fe96da87beeb18aed14f2ba24470e046b6ca43a33a9cf2a0e2dd8080491ae855843d223bc572444e4502606662f4d65271b48fa7c4fa4ec930c2330310708eb3b49f858b6d3f117b9f724bd295a8e12d43c839ce19810a783afb5fb0b93b0ce4f8629108ea4b30d175c8843a00ce1c463f1b5fc8fd748b13b6e66f715211965b9c58da153b415e24e1b1ff136c4360023332acb4a072b937d8e036ccafd1a171918294bd6c4f6ea51591b2e9137e090e777842f0f5f3cc219017493c6861ed2e8d2800d3d467dae4003365d33403998b91271209658c4592c6f88b6a10a68a4640f75560797afc37e39eca537bac11ed32e0e90869f09b3cac534640ac54081f345eea5e5074fb7b6cbace7ab3c9bdebc917a411693538d841f701939480dcabc16ecdf61d158c9607297a8722e49a57c58ac02b286a49b2a256db60fddf1cfbd28f4718cf549c7de642a468208a3291f015da82405905a93e4a69add63995b019f0dfcf3eac1da9fa96f0150f4f6447785d5a5c27cbb2cc69aae04246d2112e3e2c9cf990efc774b4e8cd13bb5f35c7c54bc7f65cb829421311aaec1737b6c641c0fb74dece93d400396cc935d3048d980d8ea1a206702b0b9df5d9085723c99102a3c3df12a9d216ee06845109b2589506d2ead81727f8fbe9b815ba0b80bfc4f702b7051cfeccac710e20b2fcf89b23b739851baf41ee787a0e5235829bb676dc0e819ee40da17a0347a90045e59a744b4cd4b7ef0dcacc57ec57be5e081959612478bb34f978654b10818340c82f9a505a0e79f87a36e1260d0d00c577a94b6dddd0024d27252624d1ee7f0475c039c3574b5482390c50b132567e67c13a1317cecc036c66420e1e4aa9ec024402e5ca9a07df6551ddd86ed7d491c4388a9ae3283e92898858ddc9e6afe058fe6dcfce512c912993691080b0c224c9dce82795b00257e5d43f13b63852881bb9b399b5eb8229c8aebb9eeef07a4c2ff052717de4fb6cb02ccc6c5037c2e3c0f439ed9122f935599b646427c208071fc04c3c384768d467f8fbc95f7a060065ebd474ef0e6b698526c5391fd8c801cf093ecd3beabf170dcb9dd4b3575bff9bbdc35bb7ce39ac20f23c8ae43104b58260ab0da4ca32721101a8abd54f978c2647fdb9a543b446689fa13e91f81484729e75390dcaa12197a8946756fb68446a92b213950594e83f8c2c6816fe53165172b4082b6e9ea4c87d989e4a0cd63181ca01aef4476bb15f06ba245edb7d3224a803fd3d088b0891419c879b8e434bbde7366afb35165e4fc6983a6dda319e7991f07494a08723ecaaaf14391225e92b70294eae8f9d5ed84571308724e8e31d997d80433f249c413247e13a2048dd6664e24a4c21fbff922d607ff81643902c91aea49ce891ed8c66d6fd1b63110ec200385ad7baa078ec00b844dce9a2620642f175fe13450eece625eee283869c926c95a9fd462c6532e89171a3a10361b38be8240424178c8449de5673d3b031f3e732e89f692668728e319a2f2a2e27f88cc2c3cc71c1a15fac1ce5b14ed6d8eafe570aaef9725ebba90c39fec15b4c701810a61c721f2a54a9c3dcaa303ed69b3b5aab1caeb895bb84ce2c35fc469413bdf02231f812dc2cc89c0c3ee045056ba68977ea1e2966286281b302383a6e63b0ee7aba3d501430a5d9b6d35dc22456bec117e4ce0a088e770393a6495c9297813348b9e5a7633492a185e30ed0c4f177c26a718874d8defe2918eb22827a532148cb217a78c3d9bae442db41beeb6b2729224c2097e222776a1899d9287638163f61465c9b0f4d722c28f70f6238d368fce371b2589456ee9c52dfc42d47537fa834bad5643d63caa7da15de89d6d26cc95a19ff221d7ac348a5f8064d0189a23fe80c6409a74b1df4c33548b2567bf7f014808b4cc7e65f1b8e165984725b9ec92bbbe3a53cb9a5b82c66af181c47a76cb0d7884210fd07d4d9de33caf97ab1cbc5f1cb3f505715f1edbc143d179c81c18d46865c70bcc761bb0fd4e85784d7c32e1007bd00dcf7bda842c982372e2496979a65b2308045952c2d286ebf039537db6aaca3c188d28b2269c68efcda8745bbf204eae1b6f70c2f4092ea740dabfeef546dc7002309ae9d372ac5a4f68599e9f1c3a45e9e9fa1c1a9ca1f061cfe486761a6c9728ffc3e5bfee5324ac69ddcf5c90e3a9199cdb3d957b994e5ec38595321b9a9ef5c22d26ffcfc32d116b43b7361f9f97d6275941d168a3199263876dd45cae83813aa89e7ef91ffd95553e57d876032764e3baf82a8759d398738385e9a3e1d4b449e9a351a155d5b241c464cfd399302328e19e91fa32777e40ae8218db744593141d412960618b6620158d6067f1cfcc8831f7f185021e6e58c8a86b0e1510655d4482f72abe51a709dbf97324c017d2f83db99d23b898fac33d9b7e8dce18c78b2f90eaaa89c4541dbbea8416dfd73c7b4c4a231bca48f6f863e87a07331be53a0ca5692e53951908534602345673a1afa06ea2996d0bf49128274eee8065e7b66ce0fbaa39b4b016f3be71c46096032c4721c5f3fb98f1e54e689bdf6c3e6b6663701df460783e969e27ac14823eace76ef93d3cc14d0f1280adc34cf6bdd0a65b86bee4da74f1eaad9e1374c15d6222daccf4a40ac372f8ec18288e90e90ac2a4c621cfb8b3fb86ae23aee2982c64cdb80f07f3a478d9e273b5f6b322effc60a2eed1e3a0b8fb36cd134819f634ed28e33ff67fca323c0db64af4bac348c7e70e9245eae9cbf54e9cb60a5f6f9c20c6f59c186685eb576253850f588333e8e69fafae761232a485490329bd2759ed54a24c0d72a283ca050887d7fee4920c0cb4596948bf5eb095cdd234be8359c9a30828c9d4bed39fd5634a18e045d73af71305c59e8cde9bba89bd10eb2cc065768d129cf8b248a323c88c17aa22e90cd8218818e4b8427598405598b73c4fff90500176fc7ea606ebfcd169674a100b807f195114dd0df8bd773ec4620d5b2232501ee111ff32e5a9f271458882628fbad9cbbdcfa76166657751f46f710430a82554468bb31d09bc0db5c1f8868ea7c9828d80553cdb1ab9980b7130ed516a3ad6f09db9938614e4b6e7504924717731c97327ac5b50951bb46698a3473f795c0bdf5addc349304d4a6681238be860a2dbaecdfd4d807c5f69087c89d7a3041ec81f69fcb952ad967a98c6c7645914e99a51e389448f00e06adea829808d8f92a6c07a626e591847f53618a7c6319bfac5460f4ff7b7957f715aa687dcb18dd73da66eb3765ab4d6ab09824a073a9b4ec48552a352b762a48b780257ee555ff998f32a33ff38f325fbfed9116bd40a793091691666a2227a251e676da1e1fc73105c9a01d336c26c8dca08bac0f5f126a56864c3ede1f4e61bf0ac783148c09969860f3de7c5808fb797312ba98290f19e6066a85816a5ac2a4a88b2e2e011bce09518c1144277db3cedcb107e10d3426eeaf351428954a3f417d3c49b3d443c5f843f035e093194b6c1a4dc269cc4f834d4d66f66a42c5994f28abe64fdc98a75f4b2e228c44278d3b40e50a1a457f79114be681509723055dd2548decacaa8df7de731a33e6d5c73a3ae33082585c0f4bbccb819767b191819d75a2a90f1a215db25d0e5f7a6164f7c1ad87f3fbc3347e6df0b999a0c560ad039c9bdcbd105da2fae652c071b6859d35e3455ec5a1a2ce508ad6e9572f36f1d34ea74f4ecad90714d35ba67edbbfd751bcaa8e294fe996062776f6ff9f934c01b9bb34344ca8593c79ba2273b32a7b25abb42211b91d32a7330dcd84b9ad5ca41e66ff71500b5dba119f2def994e95e73747690b60a9fc732ca193dcff550de8abd3d238733612f112eab65a50667a1c1ac92e33e256b0749318e57b74af94be66e2649004685e8dffa06ffa0a7685b81f2aa2ac3b19d47b5924ecc7d14a0e7ad361369e5598068b61e0497df311133ff208b7459c021b47b6a775a9b7d9293649e637300e1155efa41d469876a4b133716cc2c5d7df2fe0d0e27f981be5dd283211fed7af5655b00856d0b11ca3e4f3ae8aa3ac52275d4fadaf5d765ed4e3d4afc4e355e7e185c6f2528f66c9328409ca94a71e3900cdec5ecb732f64b5558c8a84a24440440ab084eafc75cd3052e815f11560c1fcef161975daeeca7680b9c9c51c689d89f0695dd767048df81320c0357593909730b9a1806da4f2b22b0c98fb068cf4a75a5401185801edc99d8221e72f37dbc895052fa7174c1dc23b502a363eb6218cf71d9c988ff113c7d7985dcb71de123d288bbc09a9af4f1b0be76279c4b88d92bd06d30b96255a2bf6d7bd5136c97516ac328f63c65b167c6608e162639e656377d52dbcdb9c52c734d8684b53eded20e1883535c6f31bcc53704f84be387b0fed2fec5e29f4abb907ac58b0ef997e9b8b3536390a7afb54cd96ae391462a21793b4d8247e680489129767d5e2d2cff18ccd52763aab3573c3122f95a78c948084f0d6ceac25d75f5fe932e1b38efc3c85ec2e06d398a28ad80193bc19df65f69a64a699565d52f3faeb8b5406c71a220b254231094ca60eb23ac98c84677cf2a02a05cb23ce07ab084ac544df9e48880825163579b240f744da7e1ead0d2d121471b47077db06304a96ea86e638132d0b87f6ede4efdb65b4dd18cdb24878b74440e1a4f3a26aeb691e6abb1d04ba2e62151b6b99123b334f1a82d477d152d4aa5aea92b5131d7090ca428906379c09f07a40adf7ca02b0295f0af7a02d5c40f249d94ad4f3c2c4477607a77334db8a0d466dca8bb778407d55cd60021b480d817ae26d19224e0c37b7ad178a585845b4bc02dbbbc44e3c3b99b0eb4e5837e063671e5cf1e4550425ee17efe4c24c56dee430bcf4a23d290b2261af89e70ad2514a9811b20a873a6b16cddbff5e3999012fd50f5d1245e9eac41c8b995eeb0232bde85f342886a721e1e526aa182a770f51b13a916ad5c8435f4fd8e4cba3a96200e372b49e2b3f96d549e1a25c49456d3cd20600bb991a5f4b9879641dae874449c7cd7c26132f280729efad369e90f3abd442994496d6fc696eff736d8c1c9f290cf3a93223538c6569a9fe7b92fd985b7b869e1a4dbc3d1821f678dc740eaf38a1af820aa3c5980944632523db27f45816031ec4e11570689aebc78e0c42453ebf9e3f1ec0000b3a6729caad0a17b89a45421edcde49dcc595e3075e54de41c64834f4026a6e800415b9019db9a6317a0a9181dc5488d807bcc0f5d92abd32e852792f7a81be27c1ab878d169badc53858c890d38876060227b065ad68f667a7637918a648deb37cb3ccfede61170d223bc988cdb0116e491ff72797e3525bc0a466c63424efbd65e660a3c744812842e2adbbcc4608c45d2c5d3c095d10a139cc87b78793359f55417e87c5563b0d6a0570d263a65fe8e33711893a2473d66efbc2850330b3492acaa4ce932bd93dd2a24ef146fc4d6658f5fb70a6461fe4aa2e356690059e7973b159ec961f649d6477ff03b4f18459c5a6c0e03de8278ba2a2967ffceade665840c4bb0bf3304c7cb9abc49540c042084337d96771e23a524ce0595763456785303133d4abb6ecc4a7848024266b16e414c79c0964c87285e150525c59938608093866cc514aee60a257d6ad43eda771c910419153e3bab8c5d800bfb30057f9ec6ace68f1727a4d825f7944efae0add3ffa4602ca7313bb61cf0b74002541559563c2c6b8d2c87a0ab44ea2ce20e6e220080b592d08f00d7ba3e3da334087074acb12e925f3c7536a0b31f4e32ce31cefc331a6e47492da977803ed094377d586800a48bb730a1768b36cb0acaa2e00aca66b1ee14afea22d2ec55a4bec59c11f941ad73d5f62bfca3edc7df19bde2208f3817cc99fb8abc14dcce03b7898cdca18a90c387a76fc724307acf462661f482065b97c3b9ad4d632d2eb50c0c399d21d402eaa3b2786bfdc5b60710f07552db856b60fdb52b2993100656ded5cacc20d5d71176afbf6ea09935f486c76a9b1426415bf2771126ce3fb3175e4a8fc005caf3daa55bd7438ce391d06f318e0f4e8bed56f825a700e7517f90032a006e6dc06f0e2bd7e5d838dd7883e9c36e95c6e332bc314ccd2056cb9e3c3b17db37ab25f3340d32e017095ed6bbfc8fab21273a0dcfb427514cb6147bf4467e9fb47c97dc06f396c4e7fba7fb1cb61cd35b70c322ff59d73a7a0de4692b41b58784f62ad15b52abc506b3e752b23cba31f12d415e5e6aa139ddb0d7b51fc9cae3cfa6868d0c46057ffcf92ca08400434e54711f0f05fe2f24608ff714c6b440eefa26813a9c35db1ba1f0938b5109c9c6248d2259cbfeac94c37997f145749b0df6d215bf83ad729428893c3cb9d880b1f4d251489bdcb576a9650151cdf211adc49403377f7fcaf69c07f20520f56e07c6c625db7815fffc1a67cb27046b0d8e186dda67271caa879adc9c519e28f91994d8df2f8ffc9f9a17838aa9a5a5ce8a1dd0d913e74aa48a6a99014d6cb2b8b0849e0c5f86ba9709e4fbf9ea9c2b3be0fc2c198219dfce921c72e2b5352a5019728e0b992b1644f05d12368e2f89a534d6dafa9bb013fa3b063abe3d162f49b0d12166c7ae1eb0875286516448f65a136557c42a3f5d7cca4183c21fab7d2639989af46bd8aa033830240182945111828fda281c776c1656767371aba06a766aaf22b2484e20077f8105cd80e1d4f9b1a79fd50b9de95edf5fd595160889e897bcd9f2320a611b85c8aa7a308965c3c37dbe630354755b14df1469e425934235968ed752096ceae3558899a5aed4c399d71816c3bc398122b55693d4bc00493db721013c8f5d9b35f4ac8a75416a55bd3138030655f616f4dad557253e63ab3f95d6f1fb0fa56b6066852e2a2856cf126f105c5fd56ab981fa7c2805be00ffecf54b326808e7d887b58b12bd1cb70cf47ee9a648db789559fb57ef6e8be67a1c66a71bfd7f3bf28c0c9f342c36115afa8c36e15cc7e0594e664469b65c1a36da0297f668323c693706890c9030ce16dcaae70084d588b01aebd1113d362e01d6da1d26ca4d27e6827740f54b77cd2163e422241f1f54b8f9cb0f1b33ab214f7e9937f01279d09ddfc1c9489eb1984f90b72bc6b10718f87f1d0a68da4f9beaacf241fef5e6714b64f7ac73ea3166c6b44d80571feb7c0d59b83c4ffd36a2daedb3411d4e117cf5b7f86148696bf31b821ece984310d9a0d0211ea997af564046ec85a2fcaccdd22a17d7eb5a11abbd4c4642fc8c0f98adbf48fad4d9b76ea896248acf9fe728ba9b1b2885966a5b54683e872ae9344148ce4a060cd32cf20e265580ed31c97d931f10cc64b8ca20cdecf584060cc3f2c7a72d2abfcf20fbf4ae6c5fd9c73e1287659607f54108d768e1f419ae609f839e7d86c5f7120352e36d3c95a645e29a33b2c6005e8a220d912c9a34ba4a1eab45f7699ad510f0046be164b7fbdcce0b3e85c3f1029c8672481029782bec10c415ec285e94164671e6cd478e4c88f654422c0d4a329d77e254b6b6134ba256719e9762cca349e2eb5b5465d0881579eb045a7c03cfd87786ed5c1f04a0b24274d9f0451bd523297087100732259cb0fcb73032cb18e965a491421a711e1da013a2c9a7536312f75c70b025f3ee6a2d2d125a13a014ed91b62177a7a9616c45b1d71a01963b1eb58ef4e6645e8e1e5d49102b37f0c544dcab444dad661b12fd8c0fcc3dff4a7d9dd1c1959b5b77e98581874d06800000c180fbca7e3d6cbbed9b58c2b4d956b075baea838d552c7bd5808d36b9af05c2cc686575a4aef13282c7559e6f3fdf93aee79da06386b4ad98d92ed6b584e25677cb044a4939ba315fba0e9af1c9d5a8607a2e21375f17bf902c1c3380548db33e5c3cb1403db2eccc078ce7867dff1c09f8cbedcf369e5ae3b74a4073c0c3415c7a5fc0ab7c9c947ea4f732fbd4915d0c5a705210dc3fee2d973531a545b128a7efeef6700219e08e0407d308342eef585feab460c12dd37ee1664c98654f8053e2872f835239d834906c29f00d2563d877f142b4f6d39e3489f0c280735a038a6f31f13f96a96133b82789f3e9ca758a29c0333b8f11ca2b4bef04a5829d3fc6dad56c1c44fc05cafbca881b173d36a2d40e7b2db3322cbeb7e9efc9e791c65155ec14c31bd521130095390ceb85332353707dac3ba807267cfcde1fc0764cb1da595935b40d126d37f31793bc20bc47e30ac0922b0ab0fc3302d0fb6979345b943135d0be80eb925def2418e37c9e87ced78174b86a0b03ac720f516fdf9b6eb4921b85df2eef9a7448f0005993a7acf7211f518628237b6050cf765462f13cb7dce6d10a82532758cca8e3ff05c8c9c54277a3a57d8a65ffaf41a1aec1231b5edc9c695fbedd1af5bfccb913703303ef6d59f871b67ced18f1fd867aa3f59b5e5e9936f007bdfa99465efc33ecc49f33cf010c3d7689e81bbc55778a33243dc582062dcff160c7cc389cbab8ef5e008812b783e4946cbeeebf57522e872ecc90cc81d44ff6235bca1df7ace0fc8f76e64edef8218fe3946ebe766f5f21439bc0859c898ea87e17e087dad7c049743d3f0ecb926a714cd5780d6f69f4d96f97d88f7006ed31149c4f1d534719eb2f2b145d5525c3cf2c9745c03cb1ff925e93a0b2b1f718cf9d6659ecb6ea98f032feebb1ff0f2710df0eeca60b1207c6035445f7c65fa63e799000d98c8bdd8732cd12e5825b4174cebae8892630f929a293abca8c234f613257ee0e3f3d68769375c09977e10372a4ecaf402a3ee1b41b9635113a161d14907adf43291bfb9f6e8f231cac0ea4f6ee4808aeee442ccc27cc8d4e837741d5c5df20d2e0088f592081a4318f0b2bbc3463e8a174ef508fd57bd462b1aee5281aba5dd4a7983dc14bf28a749c5ded3710df3b12b64be970fbd0cd6b23ff7c24ad7afc778fbfe46eefbdf95afec35edc9c84df973790d097eca2a544f5ca5a8e7d0324780c8ce2e3b9f42798c5833386479f1665c1d964008a8d89c01c772917842fd3503960cf2f1193a6d63501aa3563d41d071f140050e2dffe347587e4a66ee43f3c2840217d83c5c02c68a386d2318806dab7489208627e5bc73a8c849045d26efad65498d24a54089e53e224ab32e54e042d33616cd963c66ad66207e7e908960a3aec6072dae44dff78157cfd109fd45a0a5808b22b83fc46796c6f18722bed370ca59ed1acba36d64452d95903310eeb57dec48688b29573e6d5ae3a8b2f5587f6bd323c3c9196cff28cb9138cb6d22fb3080eeb29042ad5ca28bce6f21ef2b3dbac66cb59129ac3656bd601b0f0acd5067d3ad1202b6f1388d9b6836c47e2aeda7e92e588aa9694e6efac4659517df32f086eed72b5e049c6e9a1ed3a06ada706f92f4c6a3e23d7c43a0c7e8920f51f67d0d411ff1613e4ddbd993a2cd323a5721f18eecfb60f3efece67396b98c1923a5a51199a3879ff423d1493159dbf26e0b6832ea5ddeae058f2512e7ae1169f4b6919d13504ee63745c609449f61992bc07d92e377c7509d94799c905edcde54eb13e0f904c7c8cea51dfbc146cf0a9a866777ee246273647acd95d2d525021995e19c63c34b6d32e2365aa1cb1762761aadb73537a1199751974ca06d95f914f9a2cf122fda8d3196375fd48d049a697b6932e7fe7a736ea9b20b8150820305997170baada79b42a498429850c422014b76bf98a297f0def2be08bc3ebf850a11ec66821873f0a0de37a92871ff4f0ceb27ceb52f01fb1263d7a4ea47888e8da2caa5833ba333cd1b2a91e419aa9d2cdf681f426aecb01a230a4562f974d85392d601a4f8c8c55f83439334df2dac4bd8e7b9f7242635123caada07b5520586d9e4e729dcba2d2a498b68399c791bcdca061682ca8e1948f1f5a31658475ee481819d1e478cfe6899acf3aed1c20d213af46f73c5c6e96a7257440a38dd194dbee9fd0ac2c57499544d5d602b0a91189e5c09000681b9886abca59884e79edb6b712d643ef5c12d50ec3b8c62f69677541eb03a5b0ce51ecbe3858acd032bd7922d7ce92216e6439cb913cb6bbef2fcaf1a3cb66304bf6b8c7ee5e154242bf34f814cba0bdb6569bb6ab24b6aef5cb40d058065661fbbd1c67f5369f0f18fee0bf463836fcccf103808578752ea8d9484906b91285cdd35ba14b368e9c684ce61f984e69b5668d12598caf26aaec89465321a3f9e9f1be1329a0e962180455833b6ea9f6f6ec64cbfd254ccb6266e7186755cee1cf3ae269ea5490e7698c1049277d1deba0dd899d426d698d1d2969bb81059dfcf1dfa172dce13a60a16e188c3f1c9a680e5c7e10f3a972571ce8f18f0cb434e89b95089d0615e47f1840e3b2768ab64d16b339b59844f325e57fb62006b192d7555cb13cfeb689741a62f27d7621fb50f7ac5f00396863f8f3660eb515fbfe78bab48d51602cde55cdbdae241cddb31f76a4d028b1916c4cd97af2a2c16d6606b6eb56df03c91b351355664df60065c3d30eb594d89cb27ec2780c6eb6e75570998052cc597c24727feef72e599587779632cc42d1a77507657786bcf8d350f8d16d74f1089c642b7eb1be39d7d78394e15117c2fe21c2ace8e19b05492ebdae4ce010a43699d59fc9362a9ccea9fb416d180c4798173179a6eba05220bc8d358c48b50cd018064555b5b136014269dc8ddce0193a7d5ede126b5042fafb34e5f8ae029d94dc19761f99571ff29dfd04b9a316b70eb51f1cfb3fb1436ff5c345a56cf271cbf42fbc2b8075dd99b5215991e7361620038b531aa0163d176c2bd537162a312d70c5c1c5ea3d2bb6951a566c2753cc456a8f14fab5c5248fcccd73ed30558da3b204db618390bcd6a2d509f0e0526ac2168a86f8723b99c09dfda2563e0598d61436231aa305e1a64a6df551cd27c9a12ae82e3c9fd804c89949512a83f51c46165ac357d53695aeeaa297449d284cd72965277b6bc28e74b0400c7f4808c61da4b60c28ad949d22786528dbe14826a6ee9342a4fb473b2b939d951597bed127a906ccf5f021e64ab04331e244a9334e094c63e1f2e5a1757a301f17a61a499b8c7791091c6a2ad27d681047da740d11f6f79d1a0ea964f43db6ba536ea3a0a25c70ce6595b19433e74e5a9c122df93f0157b8c9a0142c629549845c66dfdb59faaf71b7959a0f4e6f6fe1ce8baec2f9564064e31852571103f3af90f08138263eab889620311c3d8e246109e0c28fd95755321970ff9d82782363066cfc94629a9a4297ce5473c7ba8ef9b13aedd5bd623225a008c64a3b34b8c9cca71c088982c74ad3a47b17bc1380561844f9ea9e288fa500e86e2b1fb286e624d8c7f2d7e9f3ede025c3a47ca65d1400bb25484cbceb274ef3fe8c0235bf2b79d42580711ee4a408f1667b07a6da0e7661e01c2d2b711d863c7d920b9bfc15012548d70d6eaf83617762d38d397b4c83dfe55b76e2ac10fe6ccb08280d12b27137c757ac96c7fcb679f2715b0ecea3414a1f7ea20259441888f8b5ce815270f9e238527dbe30f7520ce1d4ec7883b32852a5a5557f9fb3bc469938d9bab8c5280dd5181cbb64e91c75e0daf65d328d18e0cdf573ea309c1a5d1a99b2a7805ab63efd58839615318068453458a1114d13620f8cb5bef24903e31f34e9187f24a8748d93d62cb0866f3f8a3ed6f7ab1010c35df79c7659415257c84d2857f495497baf95394edbf6970dec6c2c30905563b8ab51a1e505376b164c3288f641674e89560368a09c23d66b6ba00c2640a9c1685c1c64cab97fb0bb7763039b0162c358cf7fa62fce6cb74c8ded2a38bde1a682c74def2a059fa57919413a1749bd5208c9aef619742742004d58618f715ac1fa38a2807b09acd384ae85463d1f662bc7d1a219dc275a1662b49ae111b1752413e2d3a7fee11d9b8998f61c7f283833afb1c925d105c202d15ea143e889e5ea46d7631c0bacf50a933cb934552753e9ab778230527ba13c2f95705a0e0b6589bf9fc25e50a41675dd148a1f6000a5870da0471b5d0b253ad5801562a2a96826178bc6ea1197abde140cb4c83318842a8df228f3bba5a01fa34435402c164f9d542a828b59d1e28ad5097aa8b387155d6313f2ed5de9925e11275a0e1f186597f15b334b6b5170ee11218facfcc14a9a950244ff56dce22f08ac9a5dca9b1206defe2c7e04caba95ac48ae813bb3f138d4095f3882357111a7460e123f29c01fc9d40a712a3470a66ffc87700092eff9b160074399bd34f307fcd3ca9e860014314ed2a3a4129fd04f12c8b176aa1b812f1d5b6f45e60509d80bfa21edfbbdf3573ddbe2474ad9afa090218e7379d6f1d83cd3dc1175ea0e0f6d329c83ebda225f6594989aa80f4c9c7f0cfc2a416462051913a0e337b22111535021152dbb81716f01ead0e890650b905a19ba2fd5b8074e02986d9bd7901f45b3d641cc56fe68a32e1020e3427ee2f419dae350962c856f933660b92bdb00c806cb6e30215efef5ff86bed5c4156a9bdba8138d1ec8beea7a9cc434730a065921ad2eb69b9dfc34b41f6fc96d561c95d8136e9535da75b5914d452aa885befea00cf95cf8ad99faf9355998ef3bae128f50d3c7f656533e9c4f7474dd80cbd9c7f1a504ef8feb8c8d71fe433d04808c9c3a0d9b2b30b6fcb1cc45bfbe23ea2e7e3c6763dbf25ce8a26a42a183c0c4626922aa18139d9f5c09cd9398d06bbdfdd59690a943bf945aa7ae68382df4ddb3fe8979028bd3a812f0ba7d6ea2f8c5b9d0f1edb367ac5aa79a606c721f8c85c6e233c6655e6898c00f762a395ea8e49b708d0f7d1035b28acf26d24602e36c19f09dfcb228c5d2dfbcc2a9994d53049fa2b78201b267c1bd149a9d7cf82c685678ae0019ea803fa2cebdbcea4bc779f0ee60d7d4bb273e71abbb7386b54fd26160b0e49f72a02613634023bdf341fc7107df44f91cb3f1c70855ab5c59123ec0550c4068ab3180a88a7ee6e0e4307bdda0bd525a470e9e63ee06a75222676dce27d95c866242c11cf6fa844cd6455cc2938dd41a04b45233e4be687a5860455c6039838895a546dc2489f5bd0f9e778bd2521dbba6d94639388ad6fd802746e15f42332fa33cb7fe6a536dc9e961dfd913202ac97dd98d6d117c3039fda5bcfb9a48e0eaa0fca747105edb1bc949dcc28fd7b32ab690aba220c7597722ab76db8af717f299c2031976af021663664f90249db38b3a3531d23b1e3930874781bed00820af981c69f7dacbd043a6748206fa9a43c06691ead2734032c6272350d89fedd01606330c3312eb9b71efafd30d85dc847d64c7c1102f62924c473bd7cc2dfb524e4036a5fbc7fe9a74b5a1a48102c36d5f997f1ed4c304dd3e80772d86793dc7406070ad89c1a964940209ddfa839341504da38f3a55c30d6556d0ef9538e0484ddf0236ed0152ca35170bae73628ced9656c487f23d45ec8e4036f8574ffa26225c463e0a1e2713e351ef7799cc795a5bd6c0490bbd9ff58a1030c8bcdae484b45e13635af9a4d9b98edeeeeeede52a62403510ad209750aa58c0c8d1b5158d769a1db2358f567de7e7a1d6279bf5c8da59ee78dcf03079e233fbac71bbb8558c2b23cf7ffa08b3afa87ccf2b5011386e5ce6facf5b692cb83ba805858a6b8c2a50f79f5e3c534e44a6fe3e3f8abd5eab9d80f8d9ee7795e0ad5c22e307efcae5f796a6cc85fde571bea957e8a383c95c9ea3e2e3bff8fb7fbcaf335d6353c95c9d073f5288399d69e3c561b75a5d6510677900d17dc42a5c6d5387ae3f558d00997242e5ff5327050977ba662e107f21705410d667d8caf895a761dfcf5fd3dc66d7c0f9775286fdf8fc30f20393cfc5571465c9974ccf6bf5dee3f11e77fb646e2647f78fb06a4210f3ad3404a5899bc3dcd26736ddc95cbbae18da17ee79d95814babc22b8cc97eb0b76ddbb66da3e93a6bbb2fc9dc0dd504f84df8ef37dbe5d1fdf7dd97ad24f7579ecaa46be6b76e29436e659cda481b6afbcd6593b16d75ab5bddeaf6edb26d15556b0d471eadf72efe29eaf858b6d2d8299b2beab18b0cef7bceeb56b707bd6e751beb6aabdcb66d30ee8ece1fd7baa5f7ddb7d1e84093c58afa53f79e88c302cac01bfeed475cdeafdbf83fe292e52bf621ec32ef57effdf6604dcdb07a2f474ee69e66c3ac148e21a77eadb5725e7d9577b9efbe002e9f42c088c7244832f0f830fefbb1be775b3b5abf9aa16216eaeba77efbd565a19efbd58859281c434eea7bf440dd90eb0d79951ab28265c87545c75b725f1a5dbc6fe13109ebe127b9fc887db87c0afb80f1e3d8ddfa232e27fefa18ff863d3c8edcb67aef47bc6ddef82b6e1be7263ba586b6a7c2c906c1d473f7f42eb79421bb7c97dd587e1ec916e67ebc254d1e575fdaecadbc71fc76968679323c1d74c81e8c212b588579b87cebaafc1475b46e0c725c793066b84819315e58645aa4c1f35a9ed7c2b8ecbc5397c23e4e9ca8e3e472cb1f345aea444f74868ba5e522e3be8c305e0d8f8637c373792c1ecba7fec5f388814fb8b474fcc7749c333a3ec6a54c1e59fe45ea7da4fe7b14eab9cfc1824bcf2cdff2de1dc7f127a5b4068d19231de9f82c52060c17dcf278505a83c60cd7b3feaafef412e349ef65eea4ae186ce34eea82c12b7752578df1557752170dccba9352976b7c1ed4f3bc13c6b87cef5bb8241f9732a5cc8b67295b6f1a475c81cea967297fd0d414f6c13d0af553d4c13dea57de759106214386d440c3f4dec67f70ab5b764efd784b19f2f8a0773ffc212baf7a2a92b33cbe0d4f94c757c9bc10bf0a8fe016a62eea4f395278f5a8d5f53cde14ee92e4bf4a65a96bf52a6ca96be4308b5503ebc3b761e5559f80792364086bf54356561e2e83a8f0a4ae11973f6872f2e974badfa7746fba650e4f39894a1972f73ee45478e1a72395bf274ece8ed89e3d199a4479bb3c3dfb7ed2a9ba8eeca88b26017da389c096cee33efe2a67398990bb019c88638fb05abfa02273cf594a100783740e08e26401ce97500c8b38c7cd1de6154a27d409953515958a2a5bbb6aad5ad9649adc1257dd176ec97da72dd2c7c91f47806a2811928962e8061544345bd10b1b14278fa6bfa6bffce5335cd0122e288a23a0a3a0a2234548889a8728fb1ca2aea12e227424040405888bff448e344fdaa86257cae9640ea9be9c54fc975376e7bc22cf4f79820b9a4eba1b0541474036ed0426287aa13aa184888636c1c4d00d2f0190904c272101508dfa23b0fd29486cb9f9e4f2079993b406007e0bbc5eeb6e472d2dcfc1fcf5e2050c3cc385c697292c7ca952e34b55eb85e5ebbf740d0c995f7cebc117ad2d6ce7172fdec661ae778c3f0b3709f89f386b1869aee7e5c2dff800f09fd87529d6722d7ca24a85ff677c2249b6202303e3615c1c3434371d6313732940c7f8cb3094001a640bf8c41b881cc063627ccb1e453ce830592cf0893d00d131b022bdb3f3bae5965dc0376ec901951c13d9bf051b3262b4902d58ab922d640bee9e506c1efa72bf5e16eb4ae02557fce3a574296d6991d1225fb85ebe5479cdf85215e3cb960bebeb7fd7b0f0b5e5ef832db7a5e56d9c85db467c66b8c8cbf5c4c02f2c2c7809999f1f267a8bf9e96f2328088a8e116aa117987fb9cda4633c169ba26386865e74152d030211518d9f5dd33466332c8a8a5a30be757b0ba3b66237cb613027d2313b3bde6345e7e1c1b76ce592bb254782ec1f6303a6c62dc35c723b257704c7a3924b6e87be5ca1967b5f5efc4849741fd5a7bedeff4b012d25c50961979afba57dbd7c9952c3fa5285e54bd58b96afdfea1a185fe9a752262d605c5fe2e78733d25c0fd96a31d131fe3380809e080aea1ad66bae675d87a2635c488849c7c47cbae6be3f67a46b7c8a8ef11f1af22a6432f267d7b80c22222374cccc671fe3ff3a164545798b8e31326af12e4ea21ff95106a26360b02274c74b6e89ecef2265c448559aa22a15a63d2922e5f137b5565f2f0a7525d0ca15ff68a5449cd583abbb1d994ccfc150df92527d7d552bd35fc156773b32a2463ac6ff6f12d0c7875b41bbfc5b2ef74493fea899d9ae187406c4b35d30fe6509979f1f26802850c54fb004054121244499c462530c0da150975621a3320a04224aa4a2b319c5a2638a6811e5821a51a318b7dc320ccc1de192c8fe788be2af1c5a2bd86ad532b54c98464989f4c8aa54bede1509a8542a1147e541156b5b56befc5eff6598fad2a24c5f1fd535f72b7d15155316f756203a0606dbba68d2bf2575b7237fade0d9a4ea3d97dbd18a08cbce4e113c3c2f8cf8f82cf1f3b3f25e9900027a2228c8548584b2bf2916ab54acc43a548756b7b42cb7e48c64ff172d9e2f97dc8e55a9a8a8a8accae26a854aac327f0d95e9385e09a0504bdce5cf12f2175d7db9d598befcfaa51aedd7b75db3f295fe49c8b9a0a025150844441c114d3aa9a262848ef14fcd665814f97345748da93eea4db76e6154bb6889f5882bd235f6fd3922ba4603a263fc6130221db3b3a3f5881a8fe7d42db923b825feca0195eb9f84683dd58ad250b962ed084bd47c7c928029299702758be22e7f1611673b826935a6d77009a472b0239313b6a32d8ae96a4bfcdc24e0733b7406c45c5090bf9c891210d013412be81a4d488849c7c4621a152da23634949d8322fb76e42feffdb728fed260356bb802d5bb35b3889a4c9604747a6b904c5ad9a13389742510e68a7f84e01571c407c5ae6bbcaf5814a9161a103ac69fbb3c700fc4668f884833c28cbb1a161d53a415695c605133d28c8af82b87306b2f8ae04f1107096f9cc821d4a25c513bd28e92740fd61dbaec3d0e35700020ae99bb3b04c99f7b240ad0cc157197ff4be57192fbbaf170be85ed5cbdc80644c79474002b226e3bd9df86723b5c117f695aaddbc6b3f1d008d29b06830cc011d8a74f9a34a42b5e559005f269555387ac7d03f92bfcd29740f9de8d8c8ca8114d8bdf53233ac3fd18459179a8b9ac3ff5c7c96e1b1f5bd69f196afeb422ab7a6df61b4fdf6833eae242ab3fd9674f6c7fa5d3092a2a43e311a1e398d8b2484207864628b10514601b9082891518e1064780e20659e8803302a47488f39e26437cba1ad9e6d964c84e7783226408f4e0055668c24e0eaa80cd724e068800020998107982125d04b1fd55acd469770840dab5f691fa7362a798d6592282ed2f3d8a3cbf3404dbaf695d5f5392e7f76b3556a395f349a7a6695f678c00d9c77c326b620dde0d2989761b5504468c9b64c6c3d0b033bb43c5d48c2130547462a8e8b8a8e8b88c3a305431542eaa1b1706ef1004966ffc76b71c230ac771c12ca11aab1d34030000ab959595166e0b0b97e588b2184d1899307cf1cbb068c85df0b73b748625445d0e83c7a09211d64a3f068d4158464666658515d658976789383fea4e8ef12c1127c66f25b0a5fda15133cc4da23d0c1bd58e412c22ca8a5197ff69e6156b98255463b61ae326b1f11689cfd8c02c97b7f1dafbdb1f7fb99c9eb8b08668b55adeb7606e92191fe326d1bec61d8568ccc0631075f9c3b03bb4731569a19068152149f2c50b951837898c8771592e2fe34f4f5c5886887193bc3c8c17cc72f9179796211e63ae64f994b685d660348a9d669fcb31a85cd182b593fdc73096df3f3506c9e4720c2a593f94a4690c2a653a96104b88458bec0fb284c8ec8d63d073e28eee5d88bf72f01daecb53ac5d9b937132ff969896e3cd52ba8104cf2b5284968e86e8e8e850aa0392c412ac5dde40f44c3d6a227506f568ebc1b5e9e872b769db4f87c39d6e28dc097786e83c6f88ed8608419120748608426788207486d87ed3a84a11e07c992f4a040549c8f2ac1d72b476b47a4fa9e729b0b56df38067e7e4ac9f44eb3af7bea9b8ec28ae74e3c181ff1652b82ddb01385fca0f248943acb8916793213fb9eb4a628a44430aa78d3b71925ffe513859bbba1d51577d9a7a244343ca3ca97aab12caf549a96759cbcdb827f53b9eee487d0e4a8545c9b576b05cbb9d5cbb9e5cad98d26042aa774872fdeda8ebac55a9fe4952663ba2a1a9dd4fe908b6fc7c3e9fef487dd2e5ac70b2723227ab7ff82527cbf5b921c75c2cbc9c102794eb832f2f622a954af910bb54cada1229655f149ff42d744dea4b5f7a1f8618ecb0f8e1934ae18b6fe36d53a9f24616c536893bbe4cb2620efae2b7482fd3353393fec390f4e173224e28de968843c2ef6488cb4abaa5cd393e846f49f665c2b7a45bce1848faf0762fd335a417ed877d58d2db780b5dd3bd884bcf7e238be5863bfbe097405cdc51d65cfa1489f4e187dfe20ca40f65ba267c11a7c2b0f4e58d9cb2620ef043126ea1634a0d03f1ac3d48127390de8786cb164924703ec9d65a6b3bd15e998e21954affa5de86d2b085ae29a5c22f81f88e90047a18e216ec87a4b75f8ab8858e6911b36c0b5d137ea97bef965a487dea5bf8449c54d85bb6b73389447a12a9661b964a6fadf5522702f1dce1163aa6d4f2d7cca5ef52e96da9434b026bea73f8a7529f93c3307c110cdf926e4e0e817806710b1d2396bebbad1296c1493b5b820dbfe99770d9594a9f8413507972425c879cd4be6113a63e494c914829bc032792489f0adf4938ecba8ef4e10ca4f71a0bdddf8ffce4daf9dc8ea7a3335cd759ab527d97bb9c531f7b1f5e12cd361edeefbee3f9c1961a2cd72fbb59aedf95bc8781dee5fcbb9d7a30f5e1156f59b37d1248459c479d524c29d49fde869437a1487f4ac1e1776f6a3186f0c1b757fcd225bd0d156f1dcaa14cfebab7a19ef61bfe7ef27411690c22c0f931f415b236617cc2389d3073c2f484a938e69c2ee6e89e3d7bce39c54ed53d497624e914ec1c1b978186baa8551165fa3710d5a03df70ba8dfbdfb83ad6955abe065d5e03df70a08bf63b16af09e7b1bc2efaa98a3af407a90b43df73688df6dcffd10f1bbedbd57c08659240fb3c0ff3ee74601226691b65780f61bc68013366c5f1f03de6baf80fae28b18033721d6fe7b1bb4ff3c1beaf6f5736e5aa44188b77d910f4e940998dbb6e120bd93933ddc83db701f7117e8f7405de3113b6f2a9dd4455d74cb3f5c4e6b621026f17be6f9bddf09bed6759ce9b9aff6904e3ad9bde326893bbe2c8a39ee8b3fbdbfcf5fbc2195328237d09986a55246c75f8e0fa6cfdf6485df9266f1a75841f1a9c82ea60dfb00b717dfc63f4f9cc1fbdc74cb0f97357f6ffa1c1f44ffca5363df8b5eadf0413f48fe1c7c10f4acf99bf074527bd0bfefbd9fa2f85ed6a1ac7918889b4ce093aaa7f5fb3e3a45111f007caabddfb2f3ca1802205efa575af7af26ec037ceffd7778df8bd8aff66203a9565a2c0f8213973afcbf19fc3ff14ddf9bb0f87d9ef8d78a394cff611fdfd32f99c4967fc1fa4c1ef6449377ba9324e63089e20c6136b970f9189b70297a220ef75d6de62d8320f8dd9a375a3d7166ed7e1fe3a2deaff6302ef72fb77b977b7a1b7aef77039df9afa5145c5a15dc303af3b88148f85970f92d5caaec0a2eada752fc53d887e9c5ff52de99744dcfd793b50f01f661faedbfafb1976ad23aaeac91bf7fc95f2b7fa8fc7de833dff77d0a2e9ff454c617312be5b54f7d0395ff2a95b5fe5a597bcada937fc864f14bed394fcc21be8f0f97dd893384597cf2fbeffbe6ad3f445c4e2027fb7b1ce757cb299bc9e4d7644a01af8c9337fca9c8f545279fa689a2dfb26610ac220e49ca405d55f410d35057154bd8b50f31495d75e3dc7473b2dfdac36d9ad6a147769db595a4dc6692c99f26e290e4bf4a15bac97ee96d207d684b434838cc36dee57458db31af10a4734a4168c7c9c800385fcaf067044d84109267132196b4e4d964c8935c8fbeef872828cbe48903229889eb563f1f5c5dbfe9c4b0680996dbbceee368dfb8389d0c4b2e96852a0e43d64f5b71c797b992f517f82c9fca32c2faf117f8d52b02c1edbf5bdadc755fc77d254bc9767df857aaf5b7ef91e494ae6459462c2edd6b77aadd9b4ed8c79b6a5971f75cad95fb4a0ce4fa1f4b898fee83e4ca39f71b9ea5c7f90cfedcf7def61d07c40fb0ddd24bd64ffecaef7dfbeeeb978ecb1528b97eb83b0cc459fede7f07e074705fb9afbf52c4f2e99afa1dfe52be64fde4ef4f620ed357eca37ef729a6efbb6312f67befc314fc99c41cdcfbf84c6f39ce14cadc7de33e1467f66e7d7bb5e7aef7a51bbe0d5d29e2826aa992befae07efb8e65a46b3c77a11c7ee9715fff3b4077f5499855dffbee8e49d81f3f5c28fc152839fc50ccd1bd8f0d97bad22bf29e65240cc3ff449cb05e8d743b731cf7dcccd30bc3b07bb0c3ac1ddf779fe3fb6e054abd1cf7de6b9565848a6f512be0b38c74cdcca0c6fac101bf1b32c11af5cdab469554d1f7733295c412169685c94f2ebd228f51177dea158d5805d723da7529d8844b55de6a8dd19959ebc7b858a6f5bb3eeaad43de0e5ce63e2a72c9fd1471b8ef41eebbae7295ab4c3aa60e39599fe34a2ea8a34f973849b925d8d02bf28ae88ca52e7fda59d57b51f8a3e2b703b2dc0f22019738d9db67b56ece50cd09d686703d0291b0a5f6db777346fced417a2fd58ca8ab5fbc9352dc2a95b5ddfcb036d4b35f8b69414e0a694142b9fbf0afd011230d96fb4b9952dbd9fc4b5457e9fbadee47464ab07404d60b72f2c7d20ad65ac16ddb3e4a29d5364dfbef724f7bc8d4c3f006b87d7eebd30b52f0a3b5fa77b7eddea094e3be5e8e05fe8d3c9fe44bebfb835d7b6a5dab91d8ba7554a6cb3768b08c93fd1f8f0d2b17c5f2b3ec915bec6a85cb1f2ce12459eec5a50e2cdd245980849905635cf6905b2a11cbd3ecf27e850fb985654e92053b9193b305fb15a4163ba052684d1706199c446118dc65c3cda01639392b7dd656ccd8f819dab82c1b6cf8d04d1b9895807963a96b769e6ff33365313e60029b3729496c3ce83a3e3bc630b86bbe8ddbcc9bd68b5bf650ffb488d34d0065c7a5fdb171e74d95519e29664c78a8d099033728a5643c3ea8331c0439e1400d50b2261e88d2c407c90cba188c48953161c113de7406f2c088c89a80000a21f025d37e6660a4091c90600bedc4e3440b9f201c2c89d244b8311122da62383881510842959914453ca9b3132001040ee88048acffd8e8d98d1f243fb9be05c2fa8f9340ee4048503f73d21f3dcb7d831f72e93f343cec303d7d948deb838d0769fc1580c72fe4eeeefe6e28345f4ea3992f2717af2fe7910b5fce2837be6c18009a85ef89e9235c0329095a4276c3e8a6c28a26d25236982fc9dc33a76f5cfee859b62fe3240d13acfd52c6621a2767f96552cf607a8f39d1617a7fd4db6700eaa29c447dbd9e6d6090c15f36cfe7d103c87c1f0c40836751337f952e7be201c0f75b585eb4582b2bd5a892a29979b97003002db0409289e9b8db356ecffa49173514232e8ea238cc8568dbbd01e64eeaaa44440ee42412271bbb12d40a3a7be243f6cb5adb6743f6e78bb5541ff5a0bd3ee431279d38391bf59b9321da5e94011b43e24a3c46e484502ec54a3756d63c77d0820ec46ea678001366e9c02c9b931d5314bee1f6bee9be84e28cac71458b3ab429f596c20951567eb4986d3229b428e278a4d80204d43b07cd6dc512d6674ece2748ac17f96ce6456d85bf8af8abfc7ac85fd5c6cfef416760bec6cf07e22f1a3f67fc74fd247fcaf819e3e7f7cb4f979ff8e7fd41d240fe62f9f9dd41fe6afdfc5ee22fd6cf959fab9fdfb176d254f84be5e7f7fcbea29f907e7e4369a3e6e2a8a3f8cb73213edf7964b881cea47c13f56ccac4183c3768e3da50d77c98db83bae6d7b8342e1027e7cf7091b765dc8e311fc6fc973bdf653ebeede3e4fc7bfbc8df6eb98d84e5c56d254ece6fdd0e72723eebf61227e7afdc5edd8ee276ac9da8dca602759be8ca405df353ee0d77be2d3d11a1e4f9a15173319df4ee746ecaac0881604b8fb9137f827d66335d3f74c667a56ac65e606f54b8bd2b756126c514b868bafd48f124065cdcf8ac6ba8fb00f9abf4589e4af27c924b5fc2bdc0d24067fc67bae68ccfa6cf66708224b2cf0ee03e5d1cf197a80569414eb2508206736254440c0bfb1951181431193c61c8085306b0d8d08a680414046516eb429e981449b800f6e3034d0c0a82c167e4a4081d44513d98164d366064894a135ecacf4c065c20f991811649b8d56ca7098f14441076b99c312327508804e10089151f6816c531e0a00a187ef27c1dfc3567bc1f03f8cca1599eb31ff24f93223c90bd7ffc553aa53ef3d774c2d3932767f405f19c95d64d8007608e1913822826c40f26ccac1366622af27c2fcf2644c4320e76362122288779dac0073a19956713228c3411668872d23b6f1755abb6bda675da76ef743987bbf0570ea17d959664fbb979ae47544a79c0fa3c5460fb1de684a10f64c33b70d987b603a72303d97c68dff515f21471e624fb1b973e703ccc09d3b8ccc96d43b7df9e063bb35cdaec640d991de840c947c8e58dec64de6e05b4d7fa73724ede8135819c0c849bb7ec3248fe7ab76f5a6e78c6d0e5febe3c70dc36c50d973966d62a2c973de47e7f51dc84084fe5a1bec6d2d165fa15a0997ec540e80e5ca6b8d470ed66e8b2ff0082e1a4936a5d9e3ee78f30d739e79c73d657a5d3e74f8d52dc14c7d079e6ae562580ad695afd1d04681d33967dd45ae72dfb274f8a7d70723e8c12a0c6b66d2a15a5143b37379c6be89b8ebae84cd5349ca305690f8300c12d669421a023700ba2f0e8bd73adeb54aaae4dba68ce9ef3437f69287ff94e9e74a68d5a85f19c0efaf4a93dbd3f50d95bacb35ae46443c94fa4e88a305dfd4bc84d675ae4ae53c875a61565012a010a4374747428d5d1d1d199ee031bd8c00640504a4b51a0dd1fd07e8b52634b9eeabb451c53caf77fb788b37a70ce1d5abc6edd17924e3f4f57e36a28926c89aaa0bc946a25656cf9d5f55a703a9d704e42a7d38913714e2c389d4ea715dc389d4e27150009c99c4ea7d3121200d5389d4ea714b4befaab5fb058a7d3e9743a9d4ea7d3c96527979d5c7672d9c96527979d5c7672d9c9652e73d9c96527979d5c767299cb5ce63a365eb05efc09f6a28571d8d39f4eab3f552a9ede4fceca8164e1ee119b6775bae54b3ebd0d3dddffd55d49e025aff08f97bf7f4fa77b57abd56ab55aad56abd5fd7ff0febd2e5bb96ce5b295cb562e5bb96ce53297b96ce5b295cb562e5bb9cc652e739dab72babf7aa1fb18875dfd6af572fad5af700e2f27ec475454b8254eba88e33e3e49c0cfab941f6f0b05b43c62205aca29e57241a7d5ea741ac7711cc7711cc7d3a73c784a399d5c36ba6c74d9e8b2d1652e73d9e8b2d165a3cb7c0b37f22398eb9c5629a3d02925654cc140b43c62d68e5505b415a63d2a9588637ad074b728aad0451c9df196ad3cbe0d1dafea4da65636e11f2dd54a75b7a3d538ae5629a657cb976136fdec199369e54da6d5ab1e5ca9562b97a5985c667299c9652697995c667259ca3beb535c6672d98acb565c76729d166b35aedec64d2ad8caa43299c61c5a23766ec5fb9595d0451c1dcf744b5536bd0d355dd47b37250155f6f00f150e6a448d26d3387a5ebf4e5eea3d6f7cd483236a1c5d76f25ce6b9cc7399e732cf659ecb522e4bb92cc575460f25347a28cf53e5a0aa56b482504b5e8454c4a9329d2a43959e5e15952b0154a6f807aa64e2824c9e6732d191aa3ca5a62f3d682a994c2e43a14eef32eab2917eca8f2ea32e5371998acb52ae83e28ee03c132d099968893af51c50477c40f1e9b5f652a0668a81549124deed88e47994924824908a94ca584832928c2423c97458c41ddd8b14460a451c91848154af02d5033157047409a988a3533dce0bc310e43cceab9552f1292786a1f82e135d16bacc731dfa1e89a34e3dd4a2681a8cb008ad54f348de6f9acb5c677b55abd5aad5b9e9c870048ea7e9d7dc34465d7d949b8bdc34a8b3aaa741b45fd5249db9f74e7e549ca1660f4fabe270695fc3e5f74f85829d4efe7061e797da4f6e1eed095d870412ad4513471c7144f711471c71c451c39428515204ce6f6a9445e6a1db31359a30a52d8cb8d905c0f952b6c4b2d3c076f59d2d07b04ec4e1665ea8c1e1c28b85166268f097a4ebebbfcb8c991a00e0388e13e2440c1830345ea8c18161d098d115e98ac480e189497ae8fb3eaa0a4000021080ef5301532ea823a77b3add7b8962a914e8c2ed9bd7ed1875b590908b0b77de881a20bd188bc6d92834068d401d0bcb7bd7729aa160a7a2ff99db3f3449fb082105152995ecf772c164daaecdb335e33473619d662ed60413e326a1d98151976b3498e5f2343f8347a3dd0c97214c4268ccdc1188ba80b2cae9e864445d0e5b395a31f2d56a2cbb95a1a05209c66545e1a43fcc65c59c3ccd62e092d169d6c39322c6e059c829447dc0966390d8c265f1b07658b0094363c6e98412a2ae3168241a63a954e9f9b05c08635d5764a7e824c6e0992524248cb92b47134633993e650c1a65d4e5b463e1ea4093f490a10248b22bb15b9ea2e6a4953850762ddf405dfe9a5116b6bfadd0a5af8c49809d7badbf7595abf5b95a6badb5d65abdebcb506b6cfdfab4ebd35a6bad9608da10c0f952723bb0ddc4f1e52e429ecf43775fed396bb82feb77ad3f3188bddb3ae9afaaaa5a7ba33f31d8618871f56ec7445f8bfa8ee9dfaea66ae52d48e7783502d4e1b91d973f3b188894ece0074c082182a04c1f943949a9154e525a7b07e418704367450d374c18ba7591de0927137a780edafee12efae54b8f1e1387a7e4f9200d8dec13961e3941a710a58c6249a1fbed9d09433f8c81ed728ded76adbaa6b91bcd625a751e52a6ad50cce1e51e13a6070e31d3ffb1814ca937146aea9893a5e318d82d9bda69adf5278abf3a53151fa0aa847e5d528554efa6dfed64c2d0df66f55b68895058637b490b3989d3e3234204c48c082da2b20e89add8479c847a2fe925997e2ff1992672e2df409d279dbda669da4669d71d4d177d6dd6447712f9abfae6de3c446547fb65fa69670422e425c854b6883c5ff24d5f5f75067a6792742302c4c41246808080ba27d8e9dfed9f264a645079e81175d1f72a6c89224e6e612b7613849efd44100c7d2706b694cbde2999b42c48a753ef5827268e3a51304b3095c8f4680ea14222c8965496e9d1096cd9403ab817bf8a3bbadf9e8a3a42cd07d6c58e4402aa3ba0d8d51d278b38c9737d6a4f97675add6032757f83b6834aa48a299840d1b2ae2eb103c40e919d22a8ac48ffd0a1879354fb498f443c2b56b56c18030b3e78c3dca2aa07367cee4b551803eb81a8b02fcd372c60e2d0327d06649129ddd13e1ab3b4ef2f9ba5610d88d65b4d72bfdc50fcc5fdf7f45f3df3610a04e4d1a74e2a0f75d1e7e85177c46d61e9108d5119ad456ee57192f664fa1d12dbb3262202dad9d939852aa113513d619900aa46fa8a9e3591ff8b7e851d950d546b35810ca7562adb28a5aad0e9148eac13f6884e61ce1cd521b25562812ad5e80c8cce7cb547abc27e1ff6a139c0a40548f881dd7c9834832aa6e0e9567585455b611803ebb9ec9ddee99a972032fd2632716c997e17512284149025ec9d96308c81d5f226da26ac26eef0ea532227a96f53d88d095b3610109016b12964615735abedc076d1475dd311513dc1c4126535d2016189742d22d3284ec2c056d89193b7ec2f0aa29bfb69f737510301bd70627b21fec609eecb978c5d582805aa359830534c181bcc09b3d11613e0371d445df41b88bae83b4196a90ea88c2e21535c76a6b22f6f773671c289acdd698dd84a451c99dee921e64c67b1d347740a138676d12efa591021aa4044d1700339694b60cb59947bd099fec16ca222a2a2262a6a7ad444f4a84e90dbb4ea81419eb3511c244a4dd8117c2764fd672cf7d7d8d93d33bd3b6633355cbb67a6bbbbd3cc99108cf24c49494979171bd3991093d2213a4487680da6cbdfe9d08499820e6ddbb66d454e7afd8a382676268ecd9f23d203f04c434c1cf49de380f8157fc92191dd4b4e89ecdc12dd975c11dd97dc1103e07e720fee7c28ef0aa9554bf929e2d0a1143a6f487766ee7245b40bfee2e578268c7f78390e4c18ffef72487046dae5df813bdd9d9db58e29bd7a5d3fd7df3d615aa3f333a2391afd7ceac6dd9830f4eb75e17567260c7dee85971dfa0a3f61e8839ccff8e054c83d4c923e096c3965b47ac0bbe1c29ce9120469dd4403553187977b9830f44b22b03d4c1c9e69bbcc8ca13fb51dcf3bfe2ae2afd34f317198a005b0f337de0fc02bbd7dfa5d828963fb0e6a1464eab85bd0b19682c91365afe0fbb2a1f81a06620c34579c5d88f7a85abd475dcf7beaee9b8873eacd4b31815ac7d912490c3f1a64f41fbf0cc9f4fb89c303aa1ac06533496249604b191dd8efc31747256c0f9452203aa333345017fd19c2c0d22926f1de9f063ad3cd6656256edd40df9dd4d53f4ed2df70fb3849df8ec096323e94d26ed69e69d51f96c21006d6330f35a784f3e532c9c7c103cef69ccb7c7d20d3a73e93a44f5fdb8105ea1a31d36f267aa687e9a20f7b028a4c7fb6a724284803d1990eea400dec3aadd368df70620ea009435fabc2ce9b0ffb808304312460b09b2023138a00bbf9de312b86e6a1917450033dd743379b6db39d9238a02aec8c95a00736bcd135344164faaf89a3336dc2482e69c21aeb3f63dd4f209fd87d1ef5506d6e200d27f9b01027b452a87d77bbccddd9a40912e4ad955d87c3603fe489637bfa35cc99ae08d345dff34ca67215c3cc8ac0960d34cb947e6b75566da3b102ab4415c21aa9425421ac91a121fb33648d5825eccf0d86aa102108810d810d81c50193b049d824b422adc8824fdce003b60a8141608fd80f3ce1295284876767c7889d1d238418b163c48e113023605450d123eb910d0d0d45896204cc08d8d1d1d111175c1c1d191919194181626454545454f4e44951d16c369b5d71c56c46444444648515444432996cc88993a1a1582cd6a4278a263db1263db1263d424d7a84da736c7dffe9bfd174fe9c6f3edcddddddddbd9d347dfa4d8b308529ccf953bbc255adb27f561e4ef6e89f32f37170d2ab76554ed6aeb39566bab49f331c78f498323f7fc6633e11db19b0e59cf1e8e12f1cfc454412192105342fd029ac0da621c296f6456968e6d01b6d57e0723ba50f98a47f7983070b793e9dae2402f57d8697fc36006d6c0027fd61984eb2775df93d78740f7f35f60ff37072eaa087933d300e42d82ef3f057bfbd719b69fc6998383afbdf9073f34276bfe91a54c86a4f5f282d411992d6a71d2641edcae01a9ea67dc5419cd430e9a4937d232b02fb214f51470e0d6b087041cc16616dd705667539bc828647c769d8064f7269a7581f9c1ab025108dd2100401441dac4aeb23c005316c9b604b92a433767a49635dabe14ccce19af7a4fd795d06b5b08a3168cf516dd332d8855ccda017765fe88931683184620eed491fad37c75bdb400c0a720a92261f18926d9e4d7a7a660421938c64e4d9c4c8920e5821089524488c8002a125b250411282a0f379d68951169994a713284a744fd801c215be6badb5da388c3c9b18d940fef26cd243c4e8b1f040510faa1291eb8a08151198105b9181ad42c508a41e9931036d9484138c00a584255694b082d512aa244091828414d82754a488f00209527879e252b462021732309040848cccd3c8dc90b13221162c5025610956069ea000097f44237343e66566e4d9640931a899019dc971a20a13d440035570810b9680047fcda6a2d2c6d191d4e5241685d092202540d8bfd4344d737aa47acfeee129b2d3421ae6430f4074f8d103075b2be6aa367930c0c98ebbc1061a0c20030c362f504aa369f555e9ca0f20cb06ed6dbc0dec43ce8de6463efba1a8aa19397529bae8e1c9413faad298cccc325d436963ff894dcf8b1931d94016b1248ac880a8c2f343359201148a781fcc8911269c1c2184035d50a3a0ad491246b0b09c519d1161851ae40412bed80ca0e0c015608d05e2e40cc30bc4871e3f18e0e4e4316db07172c20082d84bd0d9fc42955fbc0d0c3e33b73c9f061b18c003871efeb23fff87bf4aa148ea17177c797a5a7f7de89b94073ba494f68041e5a78b36c2e80aea1d6b18b73fc625bd8c2b3e79c377ddd2cfb8f6695cff1aa83f5d1bdfddfb5d9707efcbb748ffc278d28df1e295f1e125bf745d6fef8cf74be34db7c6a32ef736eee9efed1e5fef5deef72f176c54a3700c9e51286f991b34047163036522408d1543bf1fa5dea8f4ebd84a8b162aa20100000410006315002028100c070583b14812c4a92aaa0714800e849e5a74581a685112c320640c318418000c00000000011918b2d200d5971173c0d7e865c98f10cd7ff95126181749c6c469423d769ebcaf40ddb75882d482356deba786aa6f9ed9e7d7cdb42da6b0ca5dff59636d3e45e82155273545ca548ecb8e2b4561eae08ccf2d5831ecddd982b82586c1acc98bddd1a7d62906c0ebf7bf93b221853b6a4323aab852e2b246e0ced87709e21332158509de0f463212830d93baeade7cb2e5e301bfbb82ec4792f245b5a8d7a130dbed14a64f7765df3cfba42c851964beed143eecad59b95d3458863c2827224c80face5a9c2dfa6758430f405a6bbf930cfeddba9daa3c37edc1ac4e53f560beccbd089b65ff8b34186f04c9f587cfc014a276cb4f9a8b37e7a6a720f680a7c27301b386a04c036beca30235c5f04805a2a4a449f5d9abefcc3450b7a7812f57bd14fa78e6e7d6d004c499986b7fcaf6b44a711604dd7e38b857e0a31f18344f894a87e20b75fa5af6f436f701b5bc3998e755d79e7d5e331cbc9dd28f559097a6c9665d365a3950d29ea8f6d030fb34a8b47eed8909ba4c582f17b9e77dab2959576603e75e757b7d501c2118e93c9b74473cb39942d88efb3366977f3f4e56df4eb59093813a1c921f6f4d141a91e03ed12050111f3f1f0133d77c059f986497d29d82f1bc9179e08678d5b48e800e64cc0b6488d605e24d341c2150c0a69cb92ec07fdf550a54994cd9925537510b03ba904d5c692a407a3182f0a9aacd56764dc05a3341841a618b9bfa81be1d8e6c20b676416a2ae750cca1cba9a3b6c1485cebf8b8d6f8b43974cbaa4a67518d0add5d14c559b7a5d9a5ef2279898d8d37e9a20a6b7e5679a6b4d2ceabf148f5aa4c25ee7da52f4ce377d7618ab25b2c54b4a5c79c203de2362ab60ab0292c3bc630e5f5ac7a11abdcb9a8cb64703cf48d15288e798c08338805063a35826e9aafa8307c7ef0c0fdc3a99440a9fb9a07be09236bc3cb3cbd4e6289240067a542eb1de416d7c49e74ac6a8e4235fccdf4560464dfffad12e07abd5279725eb3d82355e5e676b6f2b9aba780ee1de172f23a1a3e27c1f05aea57d375cf5bce0b92c42aaf8422ad081a189b2517b0e601a8aed90b6921929f4d5d8d7f06a724dc7232e03ac3238ce00a7e763c3757015c31d96f2431a9400697afd6814cdf08eb7f578e8bad7b4f185b3fcc6db14078171537997bcb252f08509c09281310a9f83f326fabe9fbc915a12ca0f48def3eacbcb45b6b2cc5105421dfe9a41a5dd6544db583aee20755aff33e7adc8db366738f01ea514fc49b5522260cd31216c124f5c630f81c2c0c037becbcab2f2cfc7f13e355ac6338318c0d1cd6a6e438369fce9491307822f35145bde2a468ad7f35e3527635e94baae1518abd4836008547ffc6f7bd7e97dc83fce6b5de25bc719a602cda17b98d1f579301c027041c543f4f3bcd590044666ec8610e65dc54aa9574022c75ec8b670c9cf9cc6da4a9ed7357a4c711131593b63c9b7fb5f44a014568315f44968e97a1caf29bf6211ddf6302fddc0984d796e912b5d1ce3c6e19f2f7cfea46f4aab5c4356dddc9fdaba8d75046b726744c60a916d06083d98237e40c59451b2e0e21d766577ff97340eaaf5f20427fe5d8554f6dacc83baae679b2be753f6443b157775966b7ce06a5260400ba4877dee9a6227405a8a2041466f168d441bcd9da9176025fcdaa79d8dc569bfdbefb9fed3fabde691b827cbb72436661e0125ed5a48f3e1ffc64e17fc58e57834e646166eb52b01177a9fce3871b0beded7b0c471ee2a012e67bf7b26f22a4c6f637a485519210149230520dacfef8422ca214cdb452472e82c0514766ace7472d85dc16dc257482c3a3fc3d3d043aa4e9fa11a7b69a2140510d6a593a0997823761837256e85eeaa533c88ec6513125efb9cd8ac6e41b20913216a033d8377e9a7629d41ae84dae1ce610c6a4018ef02d86066031a3b4e32be1bfbd07cd779850cd0495a95010ff6a34ca42af96491dbef6ffcf5518abbfa4e6e23c9327584e6ab095983219f50d713d166c7e23dabd6676b71e7af128626fa71eb5455cde2a60dd3970108da86cac724665f95e45021673897ce7ff1d870442b46aad91e88500a33f1b737114442b0343b82ef1f74b028a2c821d345004f432fd72aa511c307a8e4fbb444422a6efe9db547516b40839dfef5344b8a8f98ea4f0df1faad59298c9faeafb6d6c4322d19c07708e36d3a9369a710a1a7fb0a565d460a7f0b8a697f354ea96742fb74d462c5aa8f44dbf50024ea2d69e1437c5f259cc9157f4ba1950e980bacb3f73641e36b0fb45a219f1454a42dc09dc68966f6c17e7c5902bfb3ebc5f5d21742d6ac50401ac080246ad76239d04c2fa6a7f303512986f50b4732686247fe3ca0dd9910b44452d3bcf65e24aade726a7f7dc5626c3f4f0035252debe5e37874aa92f05dbe7d0906a925119240f4a9e62fe9121ed5f5ad20a8b59f5791a99e31780afe49f8e30c8f824492bdbc8b2cf608e3e55522a8b29418bf0446a8fce6a6268a4db487269796545841bf1de47c143b5dc5e4eeba5f6d2ba0a9032932eef0b8971110d8e0104e5c568160f6c73890cd006fcb4a368205a5af9a389e6d7a1f8bd2930afa88c8e66a50c2cd921241895558eaf88d8e84704dba0335800e631c10d0f29764c01a334581c689dc47a68b2c0c7bb93a7d5216f0cc1b486827a9590d1ee009d96daa0ee19acf7962ce69c32adfec85c03a1c46ca8f6206a092474a49a73edbff523d1304a7a2346733a51fa5b161ab55c865f126d8f1bdf37827eaf0f2d6539128c2ccd405e8f51afaad07bfb2d589a8ac50574665aa9b11ea98d5249a30d6edfc0c0710a1e5bf57b6c9542c4bc20317d72d4f876ebec1e0024942970bd193ea9151c7bd2687132992bda73782454bddc74316316caa5ea4b7a1be54a2eb158d854b6455673d082b56fedb7a20b226c9f408a93b6b9d14869ca39dff2630cff7f0fcba078a2da05c0617bf827daabcd528d4705b8e2c31b27e799ca2951b697dcf91e9d3aecc99fd2c1d5e8c8a1e2f8841725148eaaa28893f69e807742294639b291e25d54d46ddb80c43ffd620f1d6e4558f7a5bb8168c16acbf8ce52a90df02f45f4d45ee3baecf7d2c9a23c1b94546f1392e990ea5d2b256b61687ae577f78df4187415315d66252fd7b2a88f71bdcb8c2b12fbc33e475306f73608fcb7c5ab1bb52a4d2509a751358b39c00753ead3c39e0e685f52a2b75c048f00d0538694fb0966bdc6ff83d48cf6837849452943b628c3c39476adc6d99cae684bd1c89b33ddee30fb1b59ba00cbd22fa01ab5184fc0f0014791edd9399946c2d4e853910544fbec7ab72456f644f14da4184b0b45b3338e2c2a95de6540599f537bd43b3bd499d7de5662db24a002daefa44ee65492763929741c4d7d0a929d71213dc2787fcea1c8b32727439e565eafced05626215e97e61e062ef85a4bf3e4ad77a39877a8298d18575c3a832daec8bf951f38e1551e82454a306ea4bb04c4fdfb5cdb5ed53d13cec493a3be06ee28750ffce36550d29c8049347b72c5cee2b726518be6ac52888f7142ac9a95bb74ee51cbb9aa91a199ebb0e52593a787b02e015275dbb945551ca6e976ee92aff3f90fea74654c2b49851b9f30ad064e4b266594f9611c00da6d3028a2aa7f7467e4394741da31e6ecadc1e188940edff41d0110fa89190ee22f3d5446335b8727b3afe6e1fed823b08cd6962418ef38638ed63c083be2a780dd535294007dd137720e905a6ccd9b156b4ffac1006b1608623a120191d21801ec93be63f5d422cd2c4a017592f204076a26fde997e15f8e0752caed2b6e00bfa203ca16c858fe4c39881f2a05d9530f5cd05dfe5e521d3f8964dad20d517f039169bd2d36d37cb1c31c1fe2bdb169cf41212d77ce40b8eaded06dc3bff4740b6954ba6053142cca1511e597227aee7995e04bd0ee4294130c821b2fe3e5512ff4fbc2bb6647cfd91f8213c220f5f6aeb90eecfd29e40dd46649e9a6f3f80bb830dc618eff11ef0032630795407513803d481f3a9d3421a14546a87d39e085269c3d45613b7633647579f411ad4e918d34d3afb4ebdf7f03ef68fa5c978503f5f672a7e830238522842908ff68095edb0367d528bbb12f71e31bd534f94294995688db35ed395410f7767ad3830559071d99b6dda5c76ae26f4e0f5cccc1478aea72cef2d31b071fb004467c29c34df8c4e0b5e04b76a25b8b32050a53c576db0d62cc8a2bf01197bfaef2e18b7ad850352e3cbf949150f570ff971d556b0a7aa3fd787b3081c20b9e192acb033f48f1da5ef076e429d4137c21878b2ff1e4de1ef28a69119547bf6069912b8ab19eda6639c9e155783126260f2aca56410f01efce7b814476a0a90b656415dc5404600b1cf00584bc2b185913141764c41a346100c4a4476d56f55cc1d5c761ad86a74d95282670c5e0dde139c4cec1240169659409fd7fd0eb211f37bbe2a782e1f5fca0b888b9e2edc86f6bb859b2f73adada9a5093c409ed816c387e445084cb25c76d9dfaec69e356a52fc0a80d2338758d0fe39cfb8dc63e23a8caaa95cea2d5ab2c11b058945fe20dfae250dfff1d3d891a18e6a944bdd6994ece29e68ac162168e23ea269c29fc25e444f05c13cfb6bdf1b524ccaf1856ffeba12817cd23e3abbbd39789d327fcf21b239ade9603f7816320bb3590aefbb4b7e75da2f1abd0fddd779f84ec5b44234a81d983f61576015de640220887d9d8aba9e17bfb14a21b62a0d4c1d02ce5fcecc268a3df17f131b411c24feb9f20a2a6b3125fb59d20a17f5139edc9b4f8e99e3f391fe1b20514cfd2b7bcf8731ed0321ff84d7697f70fb06bf78dc9ae433798c497a385cfab3e921fca9e260fdcc9cc5c3b0d8f268cb99c262134cc9e8f477503d2bb234a3a1d15081cdeda75fc02d4f0e3777b0551e2c3b30e98aae65d5d38dfa78813ffaf9f548253350764d191a2d81b1716a02acd912aa4e9271a29748ff2f3401f4254ff03696a1203d4b53f6a829d4607557c03cf024679ecdc47c3fb2d1be7a6093dc94b485133606e64da2593e0881697fd7a24d986758c45c17e17ddae836ed7ecac64f9908032df2e7ab28d763490a3962a076dfada9ac2da3a81096f5ab6853e8afbf37b891b716155081f9a5e0fc37126b7be0b08a3e97484a0bdccb081d158e97a19287b2439a47b58d4d15a34fdb696c34037c81f0ab2b23275f99e1f4f107e4a74590e8b8fc3039100b73e313282fd7953571620d54cf33d23c9761dbc6274744ab5692f25f50dad93c4dd8b6e5c18ba0a723c936cb429560d2be81912ca24e4c720553188258b3d6d466cf01053cb793b59d8ecc070759ca656903a227921347f96cc25e4726de14f2f6608930a71eefd8df8e43004d771f9d9b074c2490c459188ccb93ccbab8bb0bc6d61582a3ce5e13836132f99bb15f9f5c877ba29190364d523504c1790a345aa7c81a164a3ca88bb699c6364523e93f1e34ea7d650cde2c8d4d89e3db1e8cc138dbee10a77815004cc827af9d8c511d9a99c35e9a23cb3d1efe88aa0deb04f869734e7b87739228615ad5deed8c7909c47d8ddd9a6b627a69e9dc0f877d7e18c88dc159b7830c4192c4a8517a7d010588f3571123b7690ce48b3f280a8a3789da36c1d67b9091fe9c9bd0bb7d8b33ebcadb61015b4da00d6f5decf4f833fd1f67d0c19adef328da20c1852db4db56ff98486bd90bcd73c42be03bd0437169d59a1dcd6e0eae00a3789be70314867574ce00bfc6064e931f611adc7e787049f9f286e42b45891aaeb2ffb13b33b0feabde671885e0af9f4f8c7a0a5fad53bbf9b9a9698c98be3ded78772121616284b0c736eb6d4527d7a06a8d0ad357d1e0691534dc52c6ecf5e1ec1e5e9aa1f3608850e8ae2661afb01883ed152ea795156e7ba3fa8c1deeeb1444e75bdb1717d8788b0e496c0c0bd465f99d96f5a22d3b473d22c5d9a4e72c00aee775c51a13d9140ce6bc5047c8ead5bf694736030813d8fc9e40c4c008689dcf34858663004309ce01ee7e41206e202c389f67c2690315812084c7cdf438220836540f0c47b1c12ca32581050a0474a7942e55a2d02a6b5b4e2a4a9965d4a7ebb13ebaf16401f89bdc4e99314619c5486ad2571d35ddf45c4db345f91174a532167273332cd36e3dc7f8c7319216f8d5b4754d8e18a76b26d276e007d32d26857c3d36b0fd0073b823ee55ffcf970f8cf55153022ba40a21b2e96acdd44c10fc5ac94a1af760047839c17d185df93db0696a1ef42542030d68a40fae29c00a90c53c0e8a97032cc6b79ce9431afa40bec9418ef1d40275aeb4bb641e1a7c93d54d610e0e03528d4e29706bd877afc125d2560732243b099246b3457e9c643d7c08215c2dcda32be00e6ceb43ffc1cdddd25ba68f4bbcaf4ea1f04622ae945d2e04b4ad314815b7a4541cdf3c5ae123b92bf5b021cc8c1faed14cf00856f1c949c7b2250e4d22b0e88436f2d84e8daa4091fc788121465a095f6d30666ff1d87b12250d41a0b1090bf85d53aa29c7570a258e8209706dd808318546d2b09a613cc57501a79d6285af18d32f3f91a7028b4e273ae41d74d150bde0e1d7be45f41b5717881c437fda50bb99c39f07e132544c2af1c4fecb2a564a95abc2e4fd5e12bc78b88088727ff2f4397984ca3112f52a5311969202192eb472f68ed6217da4b1dd32dfc2ba4e6091bbb480763c4da6e319514ce57c96c0b55e14b75e7cdf5078fb88b4d5a34a82a4cb4ced0b16ed0e7dd083db758553c7e04aea1068c3b843d52e6d5971823b13d1c2a28b4a842e4eb472be17bd0bdb4fe4b16d801c763bb399f5c9afe13284790096cbfce3d259a187ec8d7a3f178899c6226dcd300282f83a636ca63d70d145776d19167308891c1a48cfae54d73a16ca96d82d238cb3bb7e57eed1aa7caae8d6d55b9490979a1c828737b0af3ae1486bda6e5e09e521eac9f0abbcc70464724ff3bd0cd89d774654d45396b0b936e3af33206480f9feec2652966eb204ed46c36c59e15d8be274dde996a385059d10ef50d03dc1b39a06f206a28af88945b349ce5ecf6a14aa74f6da9e1861ffc65d58ccc6deda02db4d20a2e961754be91d5f5bde8e01c931c55f983156b317ba778f7eabed393181a63e3f2c92b963142232b6143179b80393537302b1434a0f3217f821d424d55eb8b37b89a6c332c81d033ac0b510f1a5e16a254dd9601e922e594f7b4bc78e97f26919dbf13a87686dd3f179e065d98e0815a3250d2e031ce6d5fc7e88db0669d793a7952dee206903012869c36abd555f7d7f1e6dcaf0add8c2cb9d51b2411a765987f3aa1f36a2114b3d52e9be29f957e19f6cf2a0e919a3831c7ceec6d92f95cefd09a85432317cc51d092cb0d8373c1d06d53bf686e71666c35d8d9ddfef239419ef6ef940b48224ae5dac4ddebb57a75253cbad811c182d8364dd812d1b0bf1830245fb890e1c0ed5fca2286f6d0f731ff6bf864b7cc034a122cd9ae37fcae82d5a8aa38c41c335b3922afbcb515c6a8f4954b2dbd87cf91369f2ecc057ffb98c5c02e274a6fc10201a3a6c2f6116ce050b6d930d08abcac7b73a91316c6231cadd8eb2fa6ec91631bbe82d63ccf80854a473e1c2a95bae2b44c74f3677c50ec9664e1ad0d3f9b5ea903fa8358d15ff8ed8d3b1efa05f9c7e2ff41823e593338dd4dcfc4b9ff399ac3bfcac3588460b567ba7f4ebf598ee0f7d0e7ffa6e3a42a87ddcf9c33eaa156d38aba7e0284fada9d0300a1f3e33d6ec2368589a14724eeaff501e75770cae542f7b8ba4039c4fa6d0493774f0bb1a6fc9ff557ef2dbf749d89361d761b483df19be689d74bb9055655500a945a16dcc60903d177d614522c9195ed8e3c6408b83589a1b9acd0117432e0abf21809559ad2c37b7fcb4ea30657254242cdc958dcaae82856a28b21e564ccf3ba9718dcd4df2a6676d5288b316d42d5c31e14159244912e61ece486b217a7a99c35fa40b610e25b2367d5db4a6c69e5bb271764d07f5bc51ab082b90165b29dba22c4cf56c0bc9c2052e20d6022c40d9868eb063871551f9024dc64f01a8633591fa2f0463f9ce32a7754549b8c29c2a42a55e55a1b924d861fdaae30f9c78a800c01bb95aa88473edc4b35c0182d1495f69a0ca0c6ec374355964a106b32c412d5992bd90c4e6e0a61947bb2430c94db559cc7882e4a3fc48e732cc97d293d9926c387e33b2abe61358d26439452d511e905cd4bd35f8b458c8a0a0b6e64fb5598f1fb488e9f42a0c958182a9d0f75e5ba6b522a8cb0aed801f54ea99f9cb13319d825b8d5fd5e64b1ee4a2b53325e6df840e47f4e963befa87e3ba7023ca9920e85d7c92cbff10ecd6251dd993d8de5aa6292aa9979640f3b877a3116273f9a942aa8e762d29da025e20f11f1d181a5f8a9286f18be44c4dc5796bd55fa72a40b4ecfd3ea28c2c5488295055f1ce5b719e7b6eb3257519fdc62d8d66801fa1d3805ce9f29b1d2ca1624755f64cf03f4b546754e1d3b22b4be9aecb433cb18b52ba9ef0a112504cbf9ce14626851721124bf87b65fac195149f833c4e112e30b8a8f25c0dbd07e750cd8f9b52fa2ab26ce2350a2d3cf23261f52c553d1a3226b5b0364ed4122b9e90064f5188f4346083490eb91c3303c9741577e180bd4f78ee1735ea092f0096329f88e62c092f181c54f2eb543c3f18bf41896caed599baa94a8a62fee06305f0e8d521927494c7d2fa28a393ad71ec943f81fc7cc100025aee47c2c46663dc1b45b99b24e1c9f6b55d1f45b34696144d895b11aebf64b0721b4542382b4a23e105b43822f8578d2670ebb280506776a48036eab2f483170ab672b2cac475b20a4b7ccf886579d405c97cf6389643d4dce76bd71988586b072289be803e716df705db3714c2309e4851213f9591264c90e9175e1771b23773ec0e9dbede16e41983fb2691d7f024fe930d1bd3ee843a3c9de79813b7f771e81ea82924d818e96d167e830074e1677e52f736fe42e916d99dd6185451545786d5e25ac8c06fd49f4ed8e569c668f430687d819da71b960c559655e0afa92bf8b339ee0a821007c85d39e5b1b16c8f862ffd07044e245b34fbc382329c97d5ea7ee26c55ba6066cbdceef2939fdef6b295d767e9a6e75c1b3bdaf63df53d22f150dd673566094f34da9ac6b96eb5e136a7f3825cf0e07f2921fc844d8f9c6a28bbd3c6ebcc99ad72ea454fe57fef33734bd65d43cc62b4fc68dfcd74204653b29fcdfb0f934b24e26b4e4734213ffa6f62072ae37bef9336bbaa14766c70f0cc253916895633f9767bd78123750730da69e3a0b0a5d4de22c4fe2f394431db27c9a5004ea777ed58da4632d05fb1c36054bd8b6f019a5f3f158b8e75b5096ce1642e376528a73adb944420815e81e4d858e8a00b60367344196a43b29a0376fb78204411063b4768f2e9af92e2340f40a070602542073a8155689f421882e13b8c2a5759ae9a7ddc44184b94d4136c2170701ed9ae2951c360eae64c949351ff3eb74802928a4fd513739d133cd4269c16dc2e8eaa40dafc844ee01bf4ecc1bcb7b3365b92866ba08b43274b03b2814e517736f339b00a5c2402d76c9adca7a240dc3e69d90e99f6b5f09c6834ef29e0a37a7b364731fe4653e7c181d05dc02b7f205cead7c8c52f852eaa37f90cee476f87dcdde636bcb58b712132ad52cdbde1e0e787e13535ffc750da3151fd2b3081cc6b0633b6239590db45702d5d139946dc237efd4b2ac8325b6eaa759d68051aa0d79a561e841c2bb1e3796aae1050cc37cf556d06b956a69b1adca5de93a335395186e1b929a3a4f0d17baad521519b114255bd004bc492ec2723fcdc20fa0d891209f602c42b9b1c0cabad99892e4e1413b439cb7c27be1e806d973d33f7877fbb2c3d1c6ae54cab41825489867ca1c53e4791b3444df8523577451cd198868f262b1006558448e555909e48bc0891bb3f7818370e8e57132d7a78e37065bea53300995b474f6acc5dc2882628a5552228d65c6255087baedded4e00ec281687d1d78d438e1f43b91d5399e6f3edb7a8e3367c7ac8eceff512368a9776b8c5d0f86c3a5f5b5da5bb7ca84de7402c758f702d0603bbf3182438da61c3a2ed08070d07ea22c3f393d1b43e99ec2100029aea415ed6ebfbaf0c3d53f66198d3e157b57ea3b49197ccfc296358c1b680d7032028494e8644baed823b962a2dd3f24a23d56b16311e3f27873507b47ffaf5391af590c81722948864b013ae49ec644798fd1bc1d1d8e9ff32766f1daf6347b7557c476b3d5f78ba68bb1cbaef5f2e62d13985e7753f16ad9ab2c6d1a40a938b40b7a0df4f174440ae8cbbd6a0d6d3d70b181a2cf758dd292286feeea6560dedc6688103b1dc48ee28fb6a04f1cd0c7fc4165263802b1f3b48e3c039a6ad3edc0a95e08300580fac631dd3a66d0684bf417a6336fcc215d7dafab7fb96989906663b3b77064c6ed64969736f90444cb3dc68e7688bb07851384ea4750148ca2cd5871f6105af334454198b61971953f3845b3691c31c09df8df1fcec755f198a4191635dcd39f1fc34e867b1121c2636b9375c1d35b41e15f15f27890f3267dff288e4d5d790c727e27b55b59966455640ba61702ba1ae65252e4b26fbab055d1858cf6dad0cef2d93b1a95fd76e4acf00d4ecf1cfd1cc3ecf47b9472066364bd3ccc166b83f49acdef3bfff47fa3275385dce80e40ffaa819cc5d95a54d5e9c238f48a007a71e937fe3afb80121bf59943230dc778cf60a71a1b137e74aaa4da28fd72bfa261ac2e7ebe903fa58ec2015e66726e536ba245023e2ec3fbd66ba278cd1f03c66a91502ea7a793896de8509f0e438a59f0d3f1d0ce611fc83ac83a6387e962ed4fce55fc146ab02030896311e808fe1061b6446a009412fe73d4555430c2a99d49cd79817e4e30a54b166020ccd15957309718e14bfa44cd005827d000f1b5bb7cc556dac8258657575afb47aef9c0fa98bea2b5ff4ccd30f0fd912d2aeeeb6003faa87ff5499fa99627f461097b2deee9683c852dec29a7e7350e27c3cce9d7ada73a6fdfa4d1eea7522a6ccbb3071b2a38d5642caf59bf18a1d497b693f12d8fa865c8e79660662a92dac31403c02fcbe40feb5805f4fec78e9f4745505c3427c85177df223c46ccf52d790d1d74c0b8419545ce81034a6fd3835b66ade14d4db896e09390c43f9127470074c1f5040505aa5d2a00a0164869360c0b5cc5420b2d23444f80fdded904e88048963152ecd5a919fb43ff492d87f944c30dbb41b3aa0a944abc364c7aa00af25a687342433c6a1c4362d1faddc1ba6fae40c9d416f431739e9b5708346f8046f7b9a906e63334706c93e81de2a8648ae9ebc3f3689bbb3af68a5e45fca5f81644fd529cf95b32417d60fe46b47740a8e53390f61bd55ede86766caa28961b6fd1f541ec66a7f5e7a15bec1a3be8d048f5f8dd756c6e17188f4048ab2e0023dabf2549fef17bf992435328f0b2e76558b7c5063177d811992612b6becfbc728d9d73950fb16bd2cd5c7d11988b98bb01b1eea79966400c95e6d0301a054a292b38727c9ab6608c664407f88290b3b22bb1ec79cd5f71a200ef969f1f4a2686b4e478d6cb62a255a2a679af78d7ded99e7d09ab3dc18bca36acc7524ff51a21ad630562b5625bf64baee9154ab174e0f19afea29709ce932d87413f449baf9e6916effafb67f27a49761970aefcf1396dfaf9539d7ba6c0765734042e1cd5ba4fe26613bbf4d9cb2a425fbdeb94ab22e0ba3748a8c5c8edca08131851a943b705036ebe62c571489db288cc5654243e91c7d2f8e08c30fe518fd651f4ce8ffc48373a4e741e8119e1f6320d8efb70f1d19161676c85dc99262188d81d603f2d732c467a44117ddfed88e1468540d64d4695c4e8fe8c4b3313449b0263035dfa68dc580c08582f34510e711c101143d80f2d600f85f34c97e0391a7dafe78d41af82edd590272bbb5dc667bacc0f1484eda32ebf61894368c1f106386d0fc7457dadda59f62d18fc82dc1c22f40491c365787b938c19346bf494656084435bf58cdfb26191cb9d38464db48ab84c1b718ce24090e4fa566f090e404475f53fe9c5c82ce8a7a6485d588e9007e7e4aedcb6f60e08a8ed9ffcc3076cf7d4b49d4cb6b17c2b6c7f2d38b90a5c1cec77aa831981332da5d7306742907a87f0f91c263a7f2eb011e4619239809a961529622e624e57f7a62cccfaeab52c3a947e20f434a39252ce234af4550b85467037739879ae3ec4549656373bbb7265b11e63e284f029e810c10f1609635840d315ad3831b10bfca3107aa79347a13755d765858d045991d99c44fefb814d6461fd6a2c23cadbcc1167d60ee36166ba6e0abb638a03580a5b8af42677281931de25f5917cf304767554ba06e1e6f7dd82b0bd3792d68ed9482becc9c34eacc685c8f53e3a9b0e53eb3303ceb2a8cf1c8a8e644581c166d978094d05f96043145bba813c46e2bfda41e4e9384e7c2aa78d9aebed968bbcdee4acc1080f9d96a086340703132cc93895629487ba0f0a5992ed168bdc508af53df238fccf7cd70fcecfbed714292d22e00af16181f9e332c52924ad5fe8ab42141b0e85e0fd763828df932c16026ec319e1b54195d1994670e5f649cf91205d0193b96dd0318c3a756180446d80a308a9caf92a189c453b919d974b11a78808abc12de4f010fefeb61113832efc688c74010846e6922dd3830ab64d0c271942f65d81f413081a191912ec53b0886e8c68d17a736faf2d8f863c9f335c6a97d11eca0ef29a35b48805662a0c58cd3606bca046a90c224e2bd86ec729418206a76f9cc3b2d2683b5dbb61e8b9e2bbc0c614baeba35cbb59e93c8ed1a8a8da4150192081e757e45bf715804e516d6fc9d4756324872191018fc729364714f2e1d74166e0ce2269913f58a78477740436801f2ccef3c2190f867349668878323a3f2a7699a2849f507fea63fdc96048d3ad289b2540417f9a15341740f9d5f7ecc945bebb700463f9d851bef5ee9c516a3d81f4ea172300153e63349baad909a9fd59cd728412aa059ae51f0861d0b07d2649c94e11879a775943a6f09a0b2b6930cf938e2793e85052f862d757f2143862f3ddc3a87c8909ce38fcfb603642fa9a5012911bf676b0fb663a28949a1c4bc3d378a244074ee29f26b123a60e5302e925d668703e5f9c4ff0e1b3cee7bdc4ff8b5f63d01ffbd65731d25bee75311a74753ddb547e93d0e1a115c4fa1e9a0512c7870f103e03a6ae1aeb9bb6a6c876bfb687c6d9ea6b19c0f253e97a883eda90eeeb64511a7ee71860cf243b44831c09af6ce7a828b089ef48a3536ed01bc0fb2b13318ce118d40a1bbdc98e3840aa823f0e3df75e2bea9722a08287c076b725ea3595a627c7197e009cfa540f7e2160d9e0d2118474e70c40f164a9f249a822abdd9b8881b394f2634c67cde21862a97a1d440566d6d703d9cea7e04678d0e36f15428cc8a63777171eb444e3529e31dd1adaec1b5799bbc002b48e0923159a6b1685f73bb250a0c839a861d64c34cc8aa2a9b31d662710aaeb0503e7a4fdc52e1c2dcb8ea51ad0c603026465e898d2dccf870fc4184e420c56a1608dcbaac334a3ea1267a5e049a04002496bc5c86e765da64d6879ba446538098b4a954a2ed7adfab025462805c005c60b89c879c906a47161ad315a41aef6745b707d773534855111d051ca947c526a2a4cd104aee784a80208935333cae2443456fd43ffcb7a09cfd62e691cd084468629db85dcf16939635cf0674a4e2f116846cb19d2bf48a45ad7833b0bc8344654da2012480b1888241345e051803718843712583724f3f43d8b650cfabaa75849e6658237917c35f1efcdb784bd108c6e3c1e0df261411f4ba11f611b8b100d7b4179f91a1300fc2da32b9791265d27de945846b4648408b02ce38456e238ae980fd2e8ba56fc51274c139e1732cbde39a7a0316cd521cdd470b4e0a8424d56aaa7a6f9dc037d417d2c8248bd88b3d530c84507f4d13cfdc7cda754c9c4d1149c0fbde8b0fc4c47348a52161f98609ad57f3162613a4f48bc08014e6b8c167a81925e124888f8afe623762132da3324e52949fdccfeeca0e0a245987dc8d2cae185db5bd9b545d455e0f54510c0d33766eb2caaef91ccbf37946b8ae80e0b0064b7c75f32dbf5c52ea346e51984e3413f85683b157cf91b81ab55907849c800abc7501e1b88f2ad1e785dce395f2b495d7304a8766e98f50594ae760bcba3745b9209aa8f1d1c23fa11607d004080dd48de45e2d484f7c6676cd70c95953b1c181f06201824907fdc680c357124c2a3aca1dd7722477001759b8777dfe9c2168b137cb56f8d7106d140c138d8cfe7f1b6d11acf28e8cd4335d255bca963e12963067326d813a11f92c6e61eb8d040e6a57f0b5714b4605efbc1aa095d52752e9909ec17f2f765187bb34fdfc20dbf461157f83da1cd149451b71c4e357fb844dab229468d2d54e318ebcbe75939c001fbcb2f43578a042d7fadb4e28bca7eb91cfe6df2624eb088493bc11bd4902d35a124a0373150b2f76c186c94117e94084ea1a657bcfcbff80f69e9c71d2828f3e9ff41f9fa65f89a9be08f834d43178be1212e033ce80dbf461157f83da1cd14949134192daf9d6f8b403419dbf3e4f1a626234e84783e706d7693b16d496558212cea3d738c892c0b61eb293ca14ff30cdd524bfbd58fa6a53b37429955cb941840f375ddd93e1818793ca6c1742ccf5892dfd0d928301f69ec49758f3089356864d417ad28d17f614cebdf712bb91851a7a8787e2d5067789d067f75c488308bc0c72802e1b78b95faa21d5c2bef4a4321b462763aad833d0b42befa221c548facb9547982cda3025bb72978cc5ab7d801006df883ee5ef7bb16a98b6e6f6f750d2db7e638d48fc3d33dff2bdb32e454e0f657b11679321c94cb71972119d86a02b237c71ed30a910cee4899f7e02ea7cde2a8ad0d1e2c4c5995c87a7c0cbfe4a4f9af2344c42c001f13c401f4b6321e1f89b3d776f73e4147a0f1f7a4378b91117f709c8478e6bf7f3d1ab07bab180a0e59edbe57054c847adf7d66203ee69bb09fae38ae476f611342c8b01890fa5ba4dce17580f113115965cbe6b6595349e108319eb7685fb03a113451b30179c3ceb86409d7ad6d37a20a8a4fcb29ce7cf93b3ac33f14399857c03c6da1c1622d76e7086a738a8b9a71e1b832def637cfe4ec1cdd18e38e413d8871ab01492f7ca3194b33ba9555428d62146132e93835c7f88922f1fb2977669ad68132b1a21d4935efe6817378e49b996e79747d489cd6ba0f94d5f8a783037bbe7c0183da41a90f85bb826824bdf037f957a0681c06cc027c330d5d22f0213d5164d08861585563d80640cddfe756a21f3c392ad267e6441fe1e5ca72c62c8b3c1a7f6a5186a03d8b350a385c8f4c2a9768d39a244e15d43f04d59c8d8103fcb8d3daf49c6214609efc24b810204ad7ca16d58846d6404f641e9d49498a4a7c5e33de530c7ee090b0f1e43c9025315cc1c6d8ad56451d63bdc5c390e02ba4d19448dc481825669dd8b16640bde9111e1a220e9bd267102482b689d43a039fd6837cbe961487890dc7870646f44143b541c3458cc524065582eb895f7f96e413716fc0af882522870b7e25b5b4bbf267ee142555f03bb1697432b132c4065f880a7b4a4fe5bb6e4ea21662fc84908603b666ada816f7f4e4ae34423d6b65bf00c8dc333c4c96d3554fcc8474ed1c4c14927409adb344a7c731a9f22352cdd8d2681893d35cce8107760b76ad8e5afe94ffbbb899e7854281115df0acc21f7262c8baaf5e9ff2c77c06498b6a449ba9c404cbe94a04b2e6186a0dd2da6540a293d49a7a26b7e913891061ab52b635a2608fc60c5581ec4745e266031e2467c9b85c5f828d6721037b792a7cd478740121317807f5c2fa87045a688554a438d451ba43fc50a8a050211108a278da5271fae68deff5d43ef20a88715aa6eb576c793333b591405817b02adccfe4fcd73f881542316242b9b7ad582664842731fe36b1f7c977862ec4120fd7e8f35925f9b0403fcbd09701a2e401d6ebc57463bfe1b6e991118a79f20f5ce916de32562babfcbf66bc2582047d7c09ffb6e029367b2db1ff38add75f37e9ad27773c0799092c1b3cfb02edb8bb5c3d73ee357372b0c2958896bf5e3b2627b0743944692ba7e9d7c43a2eeff9688c58b572ffe5497f250020ad843e887b4938e47ee3409f2ad285c22176b39475030b5fca889241de03ed6c81d2119bc93ae500457fdc04173a7603f49cbbe69de1f6b244f80d73e2dcec66a93dce4cfb3b11ec13eabb94639d8e171c13d2333f78f6ede5c134c6279d86dcc085a90dea18af1c481ff503e1e343077604409743ab21f14a20314597b254fda82df1355f3639b283107def11de3fd0b4e75b37764fd3133d71e04a429c72e1cdf2da8afb58ec4c057771383e4d1e7b24cd9f989fbd0176d7e50487505aece31aaee568fa2c43a2341906474aa19b08c458a085c9e57a53963301507c3eb085d22824d30a4e226fccffc3f2d69b7f568f6a88c84db117fc9cfbf894c94fc18cab0393375c40cd208fb57abbe666a9d81bef775079c3e572900e92492cfdca202cc1badec94e5095c99a375a37845377de95a6b4713d2eaa7dca1b2ba7b38f57191bc87a9ffe07ad4371a763006211505d4889c0974679cabe985dde5418475c9f78b5fb99b759bd36c25ee34826baf1fbde07e2ac2c4ab34f7e4b0db77bf4254255890c50df994cd6ea7cac9daa84ceee3b03f3fb7e22c5a02f18092871f9d2db2e3b826120fcce690ed4812307f179b6932e59491e00cd746729bdfc66b1313c7d559b826cf8709b35e3b7e49b2a599d304cf6feb7591532b42581870056fc8b24a1da342a3c1bb8a7f06d029391d12592b038bdb096fabb9e9cf22650b888156c3798d5e5778863c4a866791fddc4e91ff016d1e4c7989446370ba9b2b1d9069c43f307b44b03637250c70d3ac93c4865d404df62493a607795a9377c06a3e255f34c4090ca8f7c33d47129873a24bed149372443f282f586c89a7eff887ad12d300704dd3feca2ec44b0d8ee4c08f06b8a73cfef4fc019785818e6b45b93164d2bdd73d3e9792bd68505df18832d0e7f60848289b2c412d135276d59dddc2c16d174522f4412c50ad6108cc84c27d86c6c9af8a01d8c6e78ea8055b89930febe69f558ad88e6d68124ab152757762f9aac652f08fb06f1cbda64be24c94ac5f5d943fe507a13c3d6258777c001ccb8b670237dc32e82b4eb85d056b7dd18f3c131ee3bf37de751ba9ceb96f7e11403536f2301ed4d2aa5bed93742ba27a2258e1f8112ba53907ed35b44318268e2a8f1156bb86fa83e7f5535c903c93028b8618beb370d97ac98301201e481725014301a558804d2ed84fbc642ff3e3ef0c4cf51476d4d98368eee0aa50540bde0aa44b94bdd37c2c051c0fdc16fe890885018bf4c3206855518b7fa24170afe3b3b70dc94cedfb33e686309ca838c30e87d64c5ff56ef1b842e22b0330e31c00be7783a5f97f67be0001259832d09058e9ed696d6ccb64363e46768f30f71b40c5180e8d213dd2be3734127f20dbc37b9547da6b3da04d2873c7076c8985f263ee82f52b5f7cddcfc0c9dfbab94ee81f52edb6c594dc3898cf0b1dca4fa820be8c4ab7fec1f62ed9344bae5df6b56908932c54bb0f981ee1b9e96d10c023883b5e75206e14df4d9ad180c3df67dc01370d94dbdc9c722414d6b76bee8438b59e6f2dfa40df8d1c137e94d09d245cd558c025fef81f868804f9b47ca8756d8aa6988e228ed0a618e66c0c09b936bd3634ce6f5cdb4650e448dc11e5ab3254598815bacc3c98de05efa5032b7be81b976fff9db18f3e4b831c0fa8671f3c6b0fd8e6550efb867f520bdada0a987696d65da7aa7295997f5cd86d6b77bcdb1bd0cf1741261b4bea90721e658afbe19b58cbc49d79d850a700e3c9b899eff9a51a57aa987d25fea22d3ccf158d89f8b925953f51916b266f1d39676eab8dd005492449d1b42e5e5499f08caea498ea6a81194e2314c5ab34d328a064ab6977ed594bcbfcb8f0b892722904cc4b8886bfec95e157a6ceca8d2b5d56e05307f9d2261cef2b6267ee0dddf4283788b1d984e8aca09b5b88b0c948c6813ef9e14c027ad83e53f196190c5a0c9d3f538aa53c79f80d22d67775062bd2c0860e73804e2ffbf69cd3acf31d5152bae29c0193ca998af2137ee59d708c0d534514722384207bec04a16bfe6491e5a860075e21da7a161b1aa6b4787b728ae6e91d7ca6ebc9e655c34dab63974f5c6c2d446f16283b5c4fd806a9c29300894a683e35c22d785ed23b08d740ef3faeddf67bbd6f6bf7891b9b31d34a284cb1b896451df0dc7e5e489cd42daf20bb77ee92b3a11e3e9436dd9dcb898fb296a831d07a207c5ef878b21114ed556e18439194ee2e970aa9f1027142871124f8a5345628a60f90704a2374bf76855cb519ff4983c3ad4ab1e930954e57de1a7fe3971076f0f41ec1e711020a7dbca3b67bda88788c1edf41f1c4c5684cd3a124d991d9d69bf0fb25ed19b3f20d571df0c49a9a203457f7167cb602fa5aff593556263bb061d68eafd50250726cc84362d91265abed930aee185283b9190a8e7a736c209d8ab36133d8e370302c671d779245b855dd4db2cce868653e73d0791c7d53c9593ea21790c8efec6e3201ccfc99ce5bc2335af13edac976ab88b7686e8e294590b8ea6977ee3f29f1a14d2fc8931f346f2510dcfe0d0e44f7310ee889c9302659702b192ce8c22d773cd8845d2f94134a5ec646dd0b3bf448fe907315350f71133878ebad8ffbb555e82188962d3aaea49885a2528d2479bf73b2ca039452881c0a19b7d63d53476e52b782c28a2da044093b2ef980e71405f3e0bfd889c22308b5815b4012a4779117ac2392fece7b5275d64af54f2e52ebcad9b838f52ccdad58ed964d4e8d1b7a47847a143c105eeba446ce339bb25f3146e1f6a9eb43a2e65db886d2c1e2481b2d19a650990139643e6de2f92d941c706d228d63b1c591818c865fb864bd37d1020d5b81e1f31e395bcd82adbc95d86f23850a3579ac30d9083d9327a2dcf461bc7975f584fa52a497fcd1bc80553651f7f1b0de2a527bfb2b5056963b64fe3cba6fb8d9c0df8ab8465ece9b51c8701217dcf261dc401e64a375d92070f72aa942aabefa63bd3a68c66264a18b234c6ae288949357939d568a91955ee37dfc95df7c3c3e209d4edfbb18c645f45257661be2a1cc47c3261e2971e71d526ae8d5f8216b3b72b5bbb464f758226ef79e601f3fa668d33fe824afe9cebc94d9734b3fe1876a125569302ab5f50501fdb73ce967441835befa9437a310662d10781a531be129ab98a0a38f7fbea0a9c6a1d57c7af6126b9ba6f939fd661744ae2df435281e5838c0cfa9d1afa0cb7c2f651e18b423fe2495f640d51910e37dc3e6897785b06f583d6c4e488ab0c205a4770371c357434b39447b6dbf06a17f20acf78a13fcb68b153ef0bbb4844b0c3ae17fe178d2f8b0e01896b589895bb7c1f6027f299d189c3b3ca433e1fa2e94800c48d51d3e8cfe9ca9d2507f8c13da1a3de9bce43e259b18c0b68b6ee5f535798f6b013102e2205d2d713aa9dc7714f3f110846be9a0bf9716e668ca1eeffd2782df7f6d0c7459ba22fd3d49013db98653177d63702074f95c8f34ebfca48ea2bd4740d0fa183e35120d273c048eac960d8bf9ef3ed2956748c5bebbea57bd41c4ccf5390a5c5d7c53ff55c332c62d6f0e63afa2a58c13b85e2104704e8cf4c368cd215f929ae470cf156f4669a00ad2147dd92698aff2e0e26db15e8c1a6feecae2353ce915bfb8c72332aa8558f5ad40b137c85e4ee80a198d3c8058427b275717dfbd9ba2c580cfae478926e1302677a4a73eccfcb030519f5aa438e88b91d0650e4094df892b19a59578818444a364cabe61a79d5ed5941a6034cf77e5de71a3bcc99e072dadc7a913c01dcbf45134d88f04f083ff2ba6bda04a27bdaaec0171fc1163a459a3f45984001178521218514b54d439934261a1fff6afaa18921f49e09a01e145ed6e4b92f9b8e17ed333b1837e0ff49cbda933b03a1be646e4f8e5e9ddef64e3fb43703876608496f483e75f7a6f144bb6bd08eb3b2495abbebc07924b54b3e0276892db53104e7d5be2ae8f037353c64767911d27e40ba528c275700022fc3cc391bae0d07445a4a8223ebc5fcf19fa99ac48a284d9be5d745d104489b007935c54672ec380940a38001632a534a33b9260c11e0aa9426ded331132e5a08375d45dc5f53898982216ebca2d59360a70792ed8052464460ef2650cee5c43eb405f62450e22a9d884c7fdc404ecf2bec89985e864587bd118818ee967afddc92c939014116b49eb8a00d20a55f3e3e5647c47459c15f9b94573605732142544c01c4f843278f3203e1ffacf2c4bc41531034fc6fceab1fc0c0c89a2736ec2bb0a1dea1aae32bc1b8becb4392c2958a196c8c2c1ccf175a2a5b4eb59b19d8055ec1ae5c1babf0b1ae8a8fa695b2bb9bec34382fe1dc02d8bd723f7ca276b587e2e8560dbd0b21c81beb34c19611ef84376276c27a8ca05b0a8daa0b0d3d0691d0b95cac52424033d79f70e88914c1c575a7d00a9d89a69c454e3e049758663489494dd5e087bd9f67943fd6f5ff74dcc4002d599230b9ead240b9fc1abc395c9b19c2c52f6ad407d35287931c46176d4d31bbbdb788d48097052bdd5b44516002eacea1f886ff04524b2eda48b436409028eacda982243c95430c858b02bfdc0060ae8bf467170cb8c133197bfa57ca189057dbd455858d8567f59a4cc4ea8d15c05da5d166ddd63820af260c518fb31098e0105723f81e4968a821b01bae65af50d02b3acbab590aef69f5170ba9d6538e8cc2a93334971ce0888acded46e1bc57d28c99631133985e375188f3d027a023f1664dcd6c2ceb0660e0035e98ea6c5c5f961178fd5bf87b5930b99273d50211a0721b4247f4e4c434412226342b4a5e4bf1a4962ddfe71549a373490a2d94480b503ab66b80e8e7684b445e0fc163045678d83639aca6791dadb8a851ac4c6c9aa8c90dce36406156534fc711dcc26febb96f992f231695ad5488c32bebbb3979bbd3f4a95ee858d3877b5bc40aaf41c76e26afa05fe8519e39a0aaab495d755c9432cdb9a66f281ff6a861525ee6060503d42ba75626aa7ca930aa790eec6c424cb776b7526acc713fc5cadb441cc62dc5acc792064873d308fcb176b90ee02bcc2cd1c5699e350237f5a935906a98ad88cd4c39bf41873c3440b00121754770df026e403d8105082beb8ee1d63b2a6b2465bbb0383360e173109204d34c32576831113a31669c3d96dc5d18502fc5388c38255d1ed08b6611c5f8dad25fd07f352a9f55c414d32b45d83ac8283f7d3473a9162f7b954b149bc93a7fa07cc44877cba8507bb23f361b54a81915d34a46a31eeef0a70e7826b7882e55ca8e9095e77b9580ada32fbddfe7330abb9b59728faf42eb14c6051da04dffe61eb3626658efe98b403c444e842efc645ee51e4842fc808f43fcc3f40dee4c01c75c7fd05af8683753bf353930d4f6d254f9b8c9903c373e3043abad64aa500891bc38d8c8626ab621597288f62349c28b51aa8ffca5445d8377eb154cbf16cf73383eec9bfd61ceaa107599f0693c02fe28b2a2f335cb8e1fa273af89985636666365585d3d4c712e1656c85ef9e54418ac5f816d868492230897530438363b1d68057c102121d092bfbe795f17d5aab41bcc3c67605d753e9d2e13b9cc41e650940ad60d93784ea503b523acf14fc9009011f9d56b8d66747b36f6584ce36a4d0f74ea439c099a2900c64c92f1ea3c2c3a7011d4ff087076f438f20509a680c82371eceb40c393768b5e4fd304adb9206044ecb620f63e1b1a18717b12f66958672ceaef7c4c5ced17962f6bdddbe81b8487f2837864957bc0525815a1b31278d3368c28cac035de946df01bbf52548884eceb332739847d12504be151593b533666a0552686951f915409224148d816278249c11baa637f9897167a8ce94ac98f5e47ebfa89607ab5a3250914571ac04e0f8df2317ee377460df0841c83ce10320fc05799c789efd74d7a2de6976af2578f43060bbf9d8f14fbbe38fd3be4c3e0fd1556d6fa47593aaa6623e048995b018bf1cc9ea5b4a4c3a3089a9b28794aa09b5d46d19aa644ef6592cb2d240872cf5a9779e59b682cd3c087ef0790375b5f8cad3aa009369840a4e9389fdac21d01a7f55169f0a32b0e02e46a3a833b05fdb3675112327bfc3007f2165f78d09f92ef65c607bed94125e074e9ab93bcda5a615f22748e5a4a88168ac6bbb53ad68fea81120ba843fc930a7d8457d1de1311c3e7832ff844d5a81de6e39d806d1b289713609d2ed29b4110832aad7057a69f4c23a39f10503974c3432a999a043be8c99a4163907c62b3d6527497363122384d7073c77f6e33c05ab515bb490bd09db13159da80a4fdcb47ab1b771f03f58b7b60b17fe8b125c5d965809fb219dc4c26a638eb78f84256c8b8f60e644b413375974f991e33989fcf33c8183a7d0b48c61a3ab0db7c984529a12108803f002cc9a0b6893a9ea0f0841e990ac3da7080bffdebf361d8b1803662be2428d36fba0f2a95e59fc07c0027477e8c6dee88aa13f43115240f46350e7f144fcd72ea8a94f6d26102a465e833b1caa6442453e538494d30cac60e477935080c4d4b1dfc5dcd9c49ff7aba8e169e74d6b53434d971cc4f42675c1d4a125f21a7ec716ed4e093395931731ab07a84a8135e3bc8240d0e9459fc2408ff3a8985c62453171ba53e5f9c6a882b83ceac3fc0b2f8ad0a781945ab09d4a41889a89ba2a0c33af8e241e040d0e6656cb6f02c3f5a18ae6c821a7a1c76232eb4f642c9cf8caad4d8de27dea4411a363a79c55eed7e6071204d19e23f35843af75485ff1e4f129c0e5ac405ed723473a33f0fd08cbc086b9dbc1fde256731406f6e07b3bd98f08a0bc81d99eccb24a61f6e6bd4204ed0b1580ce85b3177ec8ca7a56307dc14483b6d3cd2d9a0b7399c5f3cba10d36e16dc1281a8d5e3ffba66ed5da49b95492e58dc3bbf8e8ffc8fc681140911f24cdfb691201277d624c2e78b3aecdafce7eda7d5ab62898efdcadc508d3e1c8ad31c573062074888f69358dd5cf03726fd13bf38e828acf38260ce2b77163c17ddbdbfec407ce5a1786641fc5701b40ce81cb186c0ffbd1a921fdd46acd09b72852e7c064814b29479073c639c50892850df4c6effd96bac6f2104a9f744371307af7aa4831d35404e6b202bbb7954d995a7e37c2dc7a8dc019ec349369da9f604ac5d159729ae43b4d7e4648be4d1e27a10b4145c14f94713d224113d8aa7d9bf52ba7f83534a8bdf9c9406686c676768582dcf3c41ac213509dd03564b755d12c7b91d9a62385dccba0e24205a129f457e744ab9d317af0ca045670ffd2c060906ddbd9641828a44479296db10e590afbb3588dedb285236f6eec37fa9cfa914dd32710ac66bfd1f877f32608b79f0641db82e232c4a982518ed176bd9ca2d71ee43854d827135aec5db41a1fd8e3de31f11dd23128a3f834b09e9914b351c28e976f5164ae8c6d3aa973c9d8b5b2a1868b94daee4b9f5a8a235549e2620a7496cf819aa144f58540813fb886450a35a36fa1f40d2485c84f7a8021f20a60550c2892b090a4170ec92431d0cddcac7d70026bae6f759e25e0fa0536370bfb36938483b4b0cae3159f5a4200fea87d98f7dd3f9afca683598d858b9606252c6d2cd0e86c6f95adae3e3edd31137d27fa1452fd0cdf531782508e001a1d569fccdb9250e996ca65e3ca46a94c582a22070b20d4ca194c3839076db82cec089e88504e18be0f5c22cda8dbe1e5966cd8304cfd999918dead0ef0b8ae9728d284a5c06b3c3046be859543e8e65e80917585efddffb62bbeb757c7896816d470fc16ca984d0bc01adabdb1874e3aadf4b3e0e90586a03957785fb4fe24c81ad3c95470915b56c1a0674ff1326ccc390be3f49aadfebeffac9224cef2b28301ff153147631227eb851afce11949d48060a24643e47f50969b3e01df2e75d7d7ebfdb83ea012d58f1a356f8f33f2f927d8e83bc013d033873e72c07605a67bc47e28595851bf60cec3b26d27098f724483414b8ed5383e3c184aa57ad355612e0462f7c6bf368f518a4e4c523286b9395e3b20c4088d314f019f0a0c05e4c80cc16c9197741a9476abd550230d822ac4ea11703e2da633537915775d8141b2747814e6910ec6d18a364282a3faa4b2e4cbb31a94240aa046e828c573dfb34c8f282e798b14aeb2584f70da9b3c954691860746abf10f1432f606a9fb8695c49edc3849315a4c7d02f5c2618411d0e9da7cf227a8484c122bcd087cc0cf36e594abc0b6d01225582fa0025d86710c2f78fa4859ed6aab615ea7047710820d820b9cf46fc701063201ace084d21d3c5182c76b12d5a0237fc297b918142c96233984d0c3c8eac30853fca9a2c9c0f8bcfa890eafda22cc66f92b5bf8a4f2702832f4634d0a22ffbe3db36007776c040a274208b05cb150b170936e72f3a2b74550ab96f284a56dad203aeb6be525508cd89cb73487ab70b64f4572ac6ea90cd31b4fab692cddf37acc1193992e1580e99a795d87a6dcbc139d5c5a0565e8fea3ac139437a0605cec05c1040e50d04057e02f08faa70bb503ec04dbf6a3e0c70271962a768bbd7d1ac84a8565e48260b9fedd24858d114b4359aee16517332d0bf4a11168ac5e676db12a638f453478b2f32174c37501069210ed9e62a589c988622b3a9b2e3331fa035bc0c25267c4e9ab0ce205ae246c94a9148a8bb23ba3320f248ceeaa1f15e16782e9a30ef49c02c92f34abf3ef569450027dd15310cb556d7446f48f413957b1534cf1e54f5da3835bd36087d4a709d4d9c5a5b47fd1dbbc177800760154dae3a067dd77219a053248ccef66a31f49159cb2f187aec95b42160380260b82ac1c80432c6e7896917486a675a71b1e48e23331e96d2c1b400f21165994d28eb3336ba4bd21a80c0f1c135f241269c00bcb680fe734aa64cd06ae1d3d41b705011ddf836648fc0357712c732bd40b7637ce0d1f7e3f11888dd0b27563c0d5981475c6b370bdb67a6e1969788f4e29aa761cda3bd17e590a5dee7caf8fb91036545344b2c3edbc4e1db2760c709dd60f8c7a1886c4bb29ac733a699791c502665cab798271f593d29d03a42171139584a6d575f2dfc96f4aaff1b1bd7e23e1043198d8eb179e73d60baa34cf2208c173575356eb0de54fbcc394fe68a2270b4eebe4cb5c8db060a356eb254bb98af5d31f8349954bee0138b585eaa01692c3b4057d821343269320598e0f1ce943b201d8ac3274a8c87bae37ce314ef7f9ba09b54ffdd43e30e0993567c0aa0851692a936310acc63c3184165957f3d4d6acf9de336a7501dd9ef3ccec3c53d157d04fe1cd32302073476cb66c9144cb7f39d91abce927bf3439d12efba233cd204441471859a19054b65612ebd6325849133fc69239908dcecca1e970d41d64cdf069f54ad0ac8b4bd110185f23f372fde7aa0d2fd43f6cb7b71a11b043fe9f492c560de33c2011bdd312a085360ef07c8c17c62ca9efd86aab578da2009577795dc5706e44d19788f4cbb85401b1e19a9d6ea0b6ef9acc6fbde95d791f22e635759328b3070e8bba174f26e845703a4efbc26a23735da614223246bc2185e1cf6fe4d00229259110602f10a262a18e18668421dbf24d8fc4c28cba370eee1b380c5b5665ede0102050c06d66384690176dc0875ad769b3099e3492f82b58369006d05872b002e3710cf4acd2bedbbd6c15bd58a7ce9a62ec0b530a17557f3ef20224f183bb0ea954d873f7c71cc61be6f6e1cecfa43eb034bd611a2e8d5ddb8325ab51f814ea86f0de2c0d6e0b8b515040fb6a9b162aa82e0cf012823e8b64cc097d4c404d97e31603b73825f32eefeb572a55fc48fbb274e5127912bb8ddd38559f581bb9aa78e5e150e75a1abaeeb4a0b52e780201bc436d35ac7fab69524df2dc71e429b9de3822d4f78bf2c9a6a062a7d31147134fa13f13f236c98e3ea7dc31e3ad011c445442e05c3d8116294810fbf4d0e9a18e6fd103ca76f3948bfa774798c16852512913e27274f7a631e36918d72fabe45658a4ef3f5d715aaedd1498b49f7390d8225be1f4aa10a036e590834ac8e76078582e41bf6ff92b4c04a424a7d039c99eaf625a79f003cd5838ac7fdf6997722fd28dc37acac02354fe577541a2935b6d50f0675274ffb05a7d49bf6f63277c5001c8789f4ffe799622220dd47d1e3949089b4de3abb753291849e18d5dc60f4bbd5cb81f9c6e3539001656b377c621feaade195969210248e176f3e1eaa1364a7ed40725782ac3c2839190764dcc75992cf3c78811211b3d9c7a1a7038500162e21a0b5d5fc0449fa042a08714d464f69df5957e1c3ea2ac615d27f20c54c29239d83276cebdef992d504858be47c96233a8023d5a93743dbca4d87a38c6d5d46f605d9426fc9e2da71ee9dce2322c78683fbb18d7acec4ade7ced13c0a6aa8a36b70f73d021a99a331043519ffc92215cd52b2214b865e9931ba0d7ea93533c0fe49f903525d9ad1bbd80896bd49bf86d8e78b6ad5161331f366a4df786b7c73923e76752ad6cdb644fe720fdbce2f0e965857f8f0b821edc27c4a731d49611f1179c69553b357b49d550f6d994b1cf4db4efc2beb311d42f81b7f454d8c382494f8ebdbd45c9261fed553ab6e67dcc019eafe5e343a47b4216a46b031c3c63880f573d0ce614b17216e225c8e8fed31888775982abd218358ef8785c5eb620cba738167bba50f7690e36b05fc4ebe2feb4992df62e6518f9d1eb5adee92d4c71e2866e0563be15aac17edb056e4fd4537447e8819426877f073f7d790b7a96483d90be0f986bbbf66ef0a75398c33ec494552d020d7e507ed58dcfe6877f06b3239306b7ba02c2257d9a6ba71727e81d0563f34c27f84d078f2686ab768a680b5e45cfbbc6fde039e44c6df9f9f3674e1f151a9d3e0d58d8a8d6131da14183fd143c8001c1e28642806714eba1d9b8e820fe966a217817b8b9cf831fa96dfb7d048a948f4ade9052b75daf532ffe285a207bdd0c87d04baca4f2ea030902f6d041341dfe6568603178df9a1326e80a1ea8769862107a7593fd6c061476e460ed27a9b250a1e607a45ed4199b22e64dc3d87d6302ec7f3646c14b0f1df2586f79deb7aaa8dead10962904158d74bdf3b2a5c46e3cec28ab4e6867eb5b85e742a8ff1e965e17715a9edc917a06180f4c12de28a77b394217e661b65772b57c8b068bc122c77d4045a6c04c23f64008cce810291a1bf953e338cca844ce5e0c342650ed0dd1e2253da9bd0e80c6430c81dc9cde002c045d758da65c59e04f7e8f21099ebb060c7d50f46a4ea120387b5a941746e22322f10707c0bab77ed2232e9d09d9ecd0b99f0891ce79e4844268bdab1344856b04ed8811ca8d87317e818b66e3e99cffbefe41669ee98ac0ada196879089021e33e0cbe3eba14ad80f3e3ad21939e3ad2ed013584eeec655028499c97a122750d2f834a2d79bb0cbd620752312cbb86bb761b32450bebc344ad1f4693ca08554411ac00d50dac4f1f17bcdc0351e84ccc228f5c8ab745c4f48673e570372114737dc5820d1966121754f62cc588632895df89371e0d44c021f3fa9d313a47514be9386416aed81a3e782c77a1d1c81b1539279613158f43a69ca0b90017b74c48e43b544726f6e92d7ca1e0e92c908f197ac58644a99a28623381e9ef7ac06a68fbee962195c406291f8205973e3046a375bb368e5ddf894ce309d98885f7db7b6314ea8792c5a3178f6b5e102a44afa168ad91536e4ad27825e24ca067e204777d4906de81d0a05facb6bf576f844b9f50379c08f8174e51dae86702099a5adbb4de9b23f9cbc2fb77f9c697890f6ddf426d9f2bc92a35930e5fb3bcf02bf889cf01ae0e635b4b29a293c46da6a2889f94d5bf7c79ea16f601652dc5fe81b92181cc9ab55050f584f4978bfdf5ea4fa26be15e9758ed26d90c10034c29d0e840bd7026ed16c366bb37c5ae41a8eb04157d5da4f338d4097bd6cf8498eef96b71936928b3c6879e3b462d83a4da486ed45807391a20e699b8a5a353518ab0a321ca770e1a1e8df05a975a9bfbf2e641c2d141bc9ff02f13135951a0d2dd6173ded34cd613bc183d6005440fef193f592e0cedcf00f230983a26648965fcc831875983b66da9cfdf9e8f1d95febbcc3f67dd1eaa1a9c396ceaff23290d0e3ffef8da9675e1ee7719b73084230c1fc8853b28b7ffa206ff571cf32f87fb5b04167ba8b40dc338b2844f927f232d03eab5c3e9099630ef9cdb66003a5be40ce32f8e69f93fe10961d59e52a4d7a734828a0d830faf218c4d821ac62b4d29413261898c4370a30998d170b1b555ee9451969002e91e0c2f37ab37cc9af03a560bc8517a49178b36eea2536f9b9e417b482be3d35acad6283842c94c53e4bbfd2210bf1b546df72c9f67b45d6cd7b8c49729f321459e6e95698647718bcb768d72bcd7c3335046376bb026bda1d9b9904ed2b53f3b2634a47ee0f44074d3eeb5730265caa22596585ef407442f4a402f01c07f2ce0f439e67574c87ac8eaebd891eb98a57b0fd7ab34d4be4702c77ca193600f456f22d45c632b1926fdba238a142dc66b5e4976b6b2f78994de1ee4b17a24d0a7696ff9a6edafcab4fee8a6dac1db89ba7210a8eb01a0a60419787c7aafcd9950678256a79499f57fbe2f382c5155c3acf651b850f1608f0a1a40adafe0874abe367a8c29278b62a83e5a1b50e0757169a47459011ce445f0e1c5613d550cf101f05ae48a6970018b25ea40f99e33f9cf0fee8edb4d33990b0fa8ab1883690a7c38c67455af755ce4e3b6e6967bdaf8b4b74798a80e3c7c445078ca393c5546cc28c5ad8e9e4fd92cb984f656605198a17f714dfaa0f7244d750acac26c5a185a104c70a88892217590cf3f7957d4586e30c875036ee82c928c6e04dbe631bcc7e1b8fc8198ff892725c25cd190bea958162a1725c1a72a68df24dd97a763fac3df81a3c9b9fbe20fb9d4703af0ea0e61a1130f37f3d083ae0cc4ec0b80acf0da015db7f24e429b15b119662fa200cf0a72bfff1f59aab8b8baaa7a3b52fe01357237d10b5169ab8d42f25c8f5190bd9e2e81189d090a6c260884491e68fa9c2174756dc954c4b2ca1bbcc5d892383f747235a30540c0c95b169e5fc941adf163143d50ba8b40707433344a7361699d496027119057b5605aafc42995849c5030b6aab2ec587b9994c6f049a63e900e15bec7e0a1fbb6b9a71be3a85c249dca4decead6c62230641ca8f4d6c97d565f9e35a9ec4501b095c8dcdc6dd68caebd9642ee832393e8887e9c55f79678da0bc57338153819ab4aa7d5de45e38e0f81ab8e3add9d210baf85cf65e1422f5d2b9f72c66b1bf9282ba34590d5c7a24cf110ace9f912bb64859ece1f20a88fcac1446cd5b4106f075eab3f26e97ddc8a512153faa2d449cbb1a50d5d7c0a9d51d2bb8c2d504b7242c1d82a154638d8dc941d87c5d8c6b9d90da064cb37a2cab2f81b02ee758a19a677ce5a8f8359ab5a1e6d15b37a3b07c18a6da7b3c8afc4a8ac715479c9cf45250c95715916a0a83ce2aed88a16d2ab69b89164254e5dba6e6ab93beb50cf0df7296266c837be60a6016d190341f52e64e07764a1608b843fe7d764be77c3bebf91cfaea51d2fcabcb92a9d2e8a09528dd4e27c08b0e77b9ebb1f49acf7997cad2051f8b2663bb0182e6df1e81a5233c746095fc1e39dd41a22aa1fa946082052d1f68680024616e21e516989b345217b49233396e4a5e8c549bcd0b17c8e5f6cc7f1bd2410f3c90fd7653a4b1f3368bb3b0d8c830cbdb5bcec263811298f4785f5885baa87064747d1245edfb4e946ceb9eeeb7011b195e89560a621db9b6b20d948b05ef6d25743cf902afc76a4726fb2d4d4d8f7d376e8e5249843928b448feeed2ff709ad7ac98f5a10701b00389d544e4a38b7a4dae890e64e045cc8b0734ffa98c63d3df832333174c7ba9708c362deb738a26392033ea04a3f9da77f854ed9e1db74a3c2c1f478973d1cf3af094d1de72aa2073bfa5854b81ae980c4ec5ef9844853474771b9c29e9d6c87d41af141daf87a404e2bdcdf47e980837295acac1e6b423552e8069a5a1de3f1ab0cdc0d7c694238cf23b0ef03110b28228ce087215fa5b7d82f7ce9b8be2832b878e9eb6389e447455b89848b1e7657329727d08b97df5e8a4044b9ce799003ef0f2fe1135af52ef89ae3b04f21e7295cd4f472179bccfcb7c7b3921669760ccaa49ef8e2b97d4df637dddd6bff1746319298be06bf9f39be0d245e84291bf54b0e9c3d17849d7b9982b143cebd86684fdf2778151f1354d334b52adea4a863d3a88171e35c53e2d454ae7b63dfb9a3a66b176d9e06a3a3533e9c750c51c16927574b804ffae9b7d0c7087e8826e40189fa7561e5c00ed1913f249a617aa26f542f59516ba718e71224c34b5c6c96efde3448eebb7c859ab253f07b0b23a9a49ed9417786dbe1547270e0af85dd1bf3bad6050686a924130b84ba0c2be7a7405617362a85ab2079ce2ae2d569e5c27403b9bdd11cde8266d187027027d1bb60c8afa674aaee93edc883bf362e119408b5f300ede7bbda3d0df892d02a54295babf0867e30de817f9033024680127f21cfd2bd7f61c20859a4cf079f949cb8d7a802c5ab0bb13ebdfd6c5a98b2200634c32abd45832c734ebc5ef8ba2322a1060567355c9387330eaa166076b968de4fe07da44de00d2ea41e052b6c605898bc0a81f85a6809e98f9798674896533adde2808480acdee542eb2d1400ba1ee14f36ad42345db4a71c82fb9fb9e516b3ef0ee1c1466255407f98a4849f641409c79c3dff274afd32cf00fc1aed9a556cbe3f908a8bbb40dc8b62e78a02afb06d3e6b79e4095439c6f5a3ad0aa94c7196e173d4ae1f8987e5c2ede15bbc08ec7200ddcf96c9bed01fce70a8789a15ead0cbb9acf9de44b13e0e48d106a955ebe3e70049a9a3e33eeae08914342fa0a42db75eab47dc2855438132e7b9f232e7603c03ce8bc35318dc23c0f5beb3723f790b37e0b1dc52636f8b1c76888d21c8d7a05015b415325f2704814b9baeedb39e900c911f1600cbfd9252caefc37540f5223b4fae939a82dd5b0d280748ad022c440fa6279a3a4aeafd5ccaf4ebe91b01f3034d104f50abe8c9052d91e9858ba88da5b229f816f4a42aa6e5c5f6403a838c54ecd4eb0cb21d6f089c0c7a0acbc88fd74b15d04c2b5ad9e24e05ac7807d05b7c63792a36d714c466ede282548bbff8c75acc2dc83389c063a685b2de7cc0f72e334de98443fe1edf531721b3dc0e399866ae60f44a1068705eec03b575ce518825c28432bbf8bb073c42016e8bcd19df60a76f3c8ac0d88a03b3c212995dae69821667fb5a9d127465e92310fe7ffb05bfda34b51d34f5d769953dd1aceb86a8aa72a17b7cb9e937aeb6e7e68a939d3a9f1e6d1977fa4581277f8c147c6abdc8f26b299db05aa10e23ebaa96e2afc251ad16f9446027188008bf5836920f6ac307c1629427a392943d4022653ddc115000e745c601ed542dd99e2b12980ce67f44a7c1f8af78de72313f908df3241b06879442a79069c0ce0e8c54e39222b39839bdfffb85b6820577c46e7b1aa68201328dc0b0a128e0e3da879c80aab2e2a874e1465c893a0b7b1601c52eee4e666cb18b55cc5b80ed1ac76d9455e91c82760f6bb64b2e50c22d53ba1370dccc867fadcb1be44d3557a898b4cf8b06051daf76abf114321b24627b41484fae40034414cd3b2fdfae6a9cd6596f5d12baf3f2394717f9230d8b03a8908f0249d8eec2d27579a2d484058e6dc4d60d58305a15513ab991df47cc2791cf619d1b795d484c5e65e0cc103356c0cc2dc9bb707825927c7a33821a836c20cbe1e470cfb5ea20c8fb8965e57736ac28613b13ff5ad05f9fbd81fe52d778f47fc79c34124b08d97bcbbd03c80df40d960d9bdd5a7372b006efb5e0648c64c945d1287922ae21379c101b9bc1b25783f60af6c3716356394cab541b1d99fb96cd39e79c289c75a22d7c36dd4dc9dd72b62b1a94a5522b0546ad75c3a1314c610d9e2e3a813155ce5d1f35673fdd8fabd5a6b6e8e3fcc41888392af25bfdc9bb3955ee963fb732f96c33e6ac8e50ac819ae1ada55263b60a76bec66acc5ac1c62c3d2064965e0d4ea60a59de513bfaa1956e19d5a1860d3a546e59cd683644889967cfaede986715369563123604c9d1a351d8516659feec98c62d66985cc1cdbbe5c02a41f1372ff3fceae707ec337e5d91a555628bc49513b6314c67da0db6d6acc2bae498840d302ad82fcfdb29d89093314d6ca560e95d686c2e10e8d5d69aa83802984824ea6c983011752f08f83c8e461f616ecb946c4636282c139ab0f5e0fed95a3694decdc647cd75b3c980e8cf25adb57b4771a8b13265ddecd8c45ab05af372b970707272a68eceeb3030b693e98d5a9345dcb321a47c657a4ae9e52b8b70f8a3269766c5594d4623025b7acc6146533a1dd2298a97a899a6533528b7f4e34cfaa8b9543afee8e3aa57b299655526a107b0e9e266b8569d373e586aa44149dfb71a6994ac362d9b63ebc32a5f799ea439c166af9aa384e45a595623b36553e7ac1317e9d7ae4a7ea83935a72ae954cdcacd8664340dcaeca653a9674e26c662898a26cce49093d95af315a3a0851c662f4e467bdbd881d58e7a4f95277b65b028d895cf6f3e06eaf645688f819be86bb7281c732407ea5a11d60f2650d888b80a399bcb9b6b58d24cd4c6094145188e399243e3647638cd10941768ef34dc6400e4ed3f502fc202258ec401b2baf639710eed1e1ce3b9f698976fca2842bb073771a48997f7e32a7a1910627e3b3d92e300d7641c00f7d7bd0f64f572bf0e7f13f0bc9fe3e5dabb6b38e648877378de3886d5ffa15d4a20ab17fc7558891c9ebf3c0271255f708cd49928790f9632f0111a190fe58ecc44e1233bbeeedbe7bf0ee398df3e95e4ee1b1ef2e19079bbe8db371cb30737712447ffe54d7cf4a3f75cbb0cdc848cf75ff047b18cb7e491adc3ad210090b76f31477268475dc37d3351b25d1d1c72005bd9c7380032c5a1cc1f041a2747e398232108be227c78820f90b0c51645583ffaa803c91edc388d631b60de3ec651b763dcd6b931090972b2d5614d2bc8c008cdea874c5d7d39221b96500628582bd465d87b3e08b4bdf6f63c6c9d2c65be897b87355159bc9bd9eb233dae666ba24878d6342851b709eddf4744cc911c1e54cc1100b2ea0359358e0181065bf53d78ce4c541629160a764583ade28aa5c1568dbf79335d73e6267b5118573373a442c909420aebbebce914924e75df70e615741eb1a1bcd9906c3613d5786bd5ad058523604105ca9d7466b546b26249d630d359a5d9eb9bdb1439277bd11a4be1b894e942c91365252f8aa9ecd5601784f00233b0e0054f68c21abe3005164f70430d9e3005d86ade461fa48e177ae021a3e4ecd52994db34283937d869b3b5f096dd70db4ee79ca733e5663719920645a5d3e73357a7b68de338ee2573dc617ee01e44a7609cc3e1f71dae8c1be3da8bba9eabddfbddec26bb41b2b271382c71bf272f2f2e231cba9c5b5151515139ad0c8161aa315a4d7585d28aba24e1166e95361dd947cd2a379dfa2e9f21d9beee237df783f17de14b2afbf71f3ac5fdbb8d4eadfc7b109d32fd7bfc4ebd1a5ff6da7047ba30fef2e2f2fdb3b670a9146188def5677b37bd6c1b625ae13899959473b1582c96d56c38a3a1b0160d0d4dae3911256b44499a9a73dada7049f4b06461902e4a21611f35abe052f7bd38e82f1ebb0afb22c724a4200d7956613f39262105af1cbd9529b2e4516ff2ca4b7bcd8b471259495e89af494510b71364db828c8422642ab27cb6a469c6a4e24c8b56d16c05b6b61a94dc574edf01c9d4cbe8f6b1a39229cfeceee8c144e61e730824733db4cc71a18f86c9c172af4b3a5571accbbc1a7366990704f71ef4feb8364560ad9c78c13a8201faf91f473040ffdde03133bdcc148740c49cc43130b128831096cca3cb3cc2453200246380cba31a2b394a7cb0955583acd09d06298c2e9144b2e4843428438e26cb734232219625cfba23cab2acc6be12f31ce5494d5bdd9119ae9549caebada41ba6bcd69d4edd229e779a26b3590aab4c1a25bf726bacc1baa35261d452ad15ccd5d652ae303b5c1937c6b55f0a6945144b81153dac31262a304ad6964a3f08bab8bc7840649f1c8ecc1cc73d36673fce25733fb42a7b71ada97935b8ec35b92bb2c4a2a42487dc66fa52f00a09af562ae670506027c5135326b1492ed9c49cd99d5e1e3127e6a0a85cfed2ab71149477ef6893d29579e290326930fcd01d113d8daa1a9b28790e63cc9277cc8b4e1fb2e4ca123dc8ca8a3e375883f3c6bc68c7c45ff65066fc65210f965ccf7dfbfc123257d1eb15897095a9ac13c0d85af3b309969be1644c60c31a2b41253233afa22b4982888a39aa56457022a2625ef19c6836582b3be170337d299c4bbddd616649e5a4ad157e72c8c970322a19929ba2d5182bab4172165629ec27b364393c5a4983922ec960a64c4799d2f90c96bd5e5a34b882c38d84433b452d1365c8d31a4b4f61984a25e4fccc4c8b4e558c0196ec95c13a45b7bab1702c9962ba646231751a94740536a4b04c97b402e4a3b8dffc37711685e566381912d8a8842238c144ce6b35a753b4b6aacd54653913d5ead4863f178fd548a74658e6dc7032b187cef29c1451b5b5a22624cb7332b1072dcb6f3a882a4ee60759de3ec186594ed6e9957dc196c0362338563e6ead98160dca9965d9e95f0d6e97db662d271351db379bad253b55e9263b833508b3e954586332fc50987c8d713477eecc26af4ea97028b3ea28325e320a0aca7fe8d4ca516ea353a6a33c08d5537fb93b5c1937c645dd385133eeb9daed3b6fea521d23589955c7a24179d5619ac2a62a7bb59c46010830c385879ca9a23af25d3cf9c4e1bdeda77b9fbd5a060006804565e5c66cba317bc996018001786451a958070008e0719ef494c7d2bf52c95a1a91e8db4d2b198d69f4951b7346434343b37d6bad6cad59c21f4ec1242b85a5d951f7a0f09c27aa2b33ad22aad3a9d4a50db75458ba4be892532f3975984ead3cf51f3a757aeaa907d1a9fb146ca2e4539fb7634ea6b0a9dae1d200387c91711a38dc62bc0038b4a8130087a51938bc76170a3b0ff835553be0ad25638b81e344a5e001601087250f8e1325001c00ac61161c828de344e9805570eb25f42ca753a3cb674a5a1557383ccd5e5315579b2dc1782ca1bca3decab7d654bdbcb8b88060eb7ba9646d26e59072264a7e054983f272535ccee672461a945c29dc56eea8e64c555c6d7605732d2d66335783f22a38bb6950de4383cd701acc6e266a043627bbe14e5946334d38dc366b537058ca5b4693e56b6cdbac2dd59895c2ceb7b277142cddd06544ba4a50f9931b8ade89b08f9a7f8b34eeee370fc2786bd9bb196994fc8bbbb55060b75676298b06617dee76021b72324d3a4e9e8b424996e76eb824ad8a399c904e452a6a700547e4f255032d24096a72c821c992e3b656a742aa246f4670d0aca4531f95894226f372509dd55784d684e71afeb6b8f272f43d38e6a333345bb03355a041cd4411415bd486de4c940d7535883351f2da166cc8c9d04cd5d68a2899a9ca5eb1c5d5642f992cb7960968b0b2575890cbf3a34b3f2490cc4a2ba0a1f3c42e6adf3439bd0391ddeb6477cd73ae23c076355cf104f2912d8419d228a7d85e9b2afb3635aef37c3cfb02e422744242c9894ae8d657e4deb4c944a7c297985e699dc7b3a06ddb3e39a47d447714c1d1b7a94a49c14c4cd408892cfa66c271a2be6d8331baf4312add4f0447a5fbe85409874964d1dba2dc2d82231f498c8e721f4c64d1fba44b23387a1223216626dd47a748388cc9a28fdee00827d122eca3c121edd5006dadbeb2267b9e0ff56a749a076b567412371aec370e642acd1010172c7ddf47cb4b59648a65bea555d4c562b188ac64aa44636922aa59728c299afc127956508163241320c72ae64086dcbde8e6966d9bb6695953a0514680b8307b4ee103a02dd8709bb4d5aff5716612d306eba751550c54f674411759c238b2a612cb5b42971cebc397bc35d8854d4a494b2cf3075d64b12e2dcfa17579a1e1825f308da804ebf2f84faeb2b3a0018ff9ce47aeb15f230b88b383f7c0ccf8c9dad6a0f6f0fdac7f9618797c329d87e914e4d066f98c8a2e93b6e627cbcd850c5e14c1c61cd29b21d890e6de36bc4d61434a352ad8d8c328f73fb1076d7b67cfb2941742b0f19b1235875be6418d7cb445f9830d9210ac8d4ec969b2d1337ea660a78d785d5e9060a38e123e66155db8829628144432a594d22aba2037257ac42823f3d143db6ef869bf987a0de07e4f0fb985f61e5ade3e0ddfd8e487a3af5d7bcc316758891e2b79899935903dab5996e1b0ebb64e79c2307bfdf614941a5b71cc9eec1bfe6c0dda7a6f88ba7d8999371c76dfbe233bd7e11e9ae71cde6e1c226f1ade219798b9625ab9706203281cc922b3806a9a864731c66dbbf66ebba5a8c9dbf9ca1c630f3e3acb6b366a5a568160e39f40e933bd4482cd0e62120a6c9c2899e14f835b83b4e212b60d5292101be32bbdb15fd93a6282bdab8866a74ac331a3d9bbb377b3f39c76d90522d26f332f21f3f659abd62aedfda8d1b9021b1ec6a54eaad3e5500ac61fb2c7d7539ab3ec315e186a63ca1f7e68703e6298ecdaf8a1c1f98208f330980638adec5bd24c9dcaee68820d6a77d4aab8aa7803828df782108c7001071fb041cb07455a90c35b1c74a3d1887a1e1f6fa7ca833f51f5955661b74be3fc16f2c8f4159c0f6332a577e99658b0f25bc4818db23259c9f7fb7cbe03c1bf54c2df077f1020dd7b11a422e244114144deea6578508600dd8377803ef10e7bcfef76430ef370c920aabd7a38e43df804fb98b9f4ed1e1c464c45a16f9f9e10a1d043f423ef7723ba5eb4b424e1925b907830de79aa27b471b8c31bf5b85c0d527aa7eb66de0031917c0e03c643372422873eb7a9eade75457827e1224ef7dcee15610de03cdb49b8de88d3754c54bdc7a577a68a740f4a57b1bd76a22a8a111ec98813e6e122048c7b3760e08f14c293e73b5b80d2691820e539013d4e15a8623a91bc300340b2fdfc0ccf282be190fd8cf9f99cb327c0bbee1e8fa7001ee964024da792a501ca44dd43dd514add2be8340ca07a895345fac948f4e27949e5b9e9c6894a790c8049374e140decf50e28eb7e109c71bbc30930675c6de21ddc3f9fcf611a48d72effdcf0f3394f275dd3b9ebb92111459ceebd5e089c8a3091506084a1f370941bfef820e0fdf422bc5311241c278a0bb587300f97ec71b916f374c12190fcc130605cf9edb2f070c31fb1ac7d871b02a9c9da65dc9088ac7dde20e9964f2f0820b90517f13ebd25649649c81de3f6006e2b69b05118eb0800eb6041a9e74db7d2e6396bc78327ab09ee1dcaedd81bb98aadd32f34d8d6540500cf09001d5eb10e6fe92023233371f00df16126be2ebe02807bc3d7cf8a8b7ff6307de5cee69938320d368da2c111d8ed289f389c8ba3b89031cf953b9908ac8d5926b14eed6c9bb4971e10f61d84d21747a4b0f4f38a993371a2b0f42012587a7b064b6f97587a6b061cdd29def11151851cca9ca3c1fef0e0240436944d9ad5a9ee1dd6e13c4d3a75a5160dcedc373e1df9c3913b7cc4c6412108ad1598bcb93c13f4edfac8b207d629fb1d2f42a1dbd08e6be5a12d874a39f44f15e921971c7a9caaefe14b0eb5cc5cc1dd52c1a39f4a4464eea4fb6d3f1dc8cabbdf467a0e8f44fa09c7984e7acce9de81ace8ed52eeb77de54056dffd36fc41e0bbca737c57f976151c7364c33952be82634c4f79cce95fcf74aa373b5513c774fa867ba6c1ceb19e87dd13877618a7b45d02599deeb7612572a87c458908c4956499be8263629098a83e1313d557c13bb6771e572b0fa5cc0a8eabd349057f1bfe88383d027155845c9d2e57a77e5c9980ac60dcbb71e5892beec615e9c6d577e32ae5c655472153c47be9a2a050d229697b37b6f41be86290660fbada5f5c097b19c17a3e84e7f429fa92b04ec5ed9a0b179ee7c11ac8f2867d64ad3355f2a3338b1610b59b4c16ee4060e9fb5ff7cea1cc9f7b64922b5d1e2cca828d994b88f4606715f3439484b53a52ff2396a1496b7564fb3d378c2eeedd1d623bcc8c397a6e182393e9963de116e36235e162fd700161650a93e98e1e0bd8628b9dedc6ac69dfa62bd31e5a5e22cb148730b9bd214230050dd2a87eef786e376135d8af3d84191d9cd6f46c2d9b4ef5674746aae8db964e4ba7a5d3a6524ba7d5d2913e701fc8310959704212b2e084dce12e73389c4172eefab351ec23cb95e2cc2bfa732748abe44d4d4c820599a633967b36993ab9cf79b6569638595ed14d1a8673a93355bd3371a6aa5b11d5df097ba75fa960411487530ab187b9d36013ca0a126560c186bdd33b53357170aa20248753e6c50facc4a2531d2b243bcf1162e8224b8ddab63d6219a4af61c9ea4b19195796d214edbc7db60fad292133d5a4cc952c2a59329a5723461f5d6a502a4165231165c8cb9a8eb09aa992363517882a092061014981a892ac89926fec81c286600b0b6c08e63e12379a37ecdde8d37751bb3b32cdb384ccda462f3f5d24bba955d9a79ca2512629a1b021f882044c88f84f8392c5ea5418613248bfe6c6a3084382e5aad3b3c17ce9c3513fdf6d1e9dec759452eac223eac8a89325de41dfddbb45b87754ca6f56b02f47c00da34ec61e4f77438979441dee1e6a6a545fd2c0cad3ec9c07976660256642c686a3dcdb06e68843961c96f087237e9288c219b6a999a08b29bbbd93446c7d4b24a63ca2c1e96366242e12f1eac071448339574fedeac7c573243ae5394ceba8f55af58c34eb721c7d1ad817972bd8fad0a5d221ea23fe6efc561d0d561822726c83b32b759ed0c7cc9e576c3db7d47d5e7770f778ce7538642277af37dc72cd2209473438e7638e305e7e7b2865fc10f13be429110dca19dfefb68b848e231a9cfdb979355ac7114878111b4102abe3081e7ff1e98530e4ec45e612ce59ea1477a53744c436de1df1548888e39692255b5fdf65b788f67a47add24e3f5193e2aa637bc2862e3a226a3e8b1c5f316ed4eae6696fd1aeea7328b16d701b81dde2165d9d235ff275a48a0d0c363688831ae4e4e48ebeb311d8edddfdbd51ce4dd2899b36165d640961d4d6266b6b2b7d23820db31d8fb5491cdaec0d51555b33f6206f4510ed07222a5e043627b869418e0fab2bb3acae420ead1c1fafc9742af4583948a7e40caa90038daa5731d4a2c89152ef96157be8ce7b227c31a5f084bcc8a165712db061b6938212033b591e8b636dc02aa1011b5a96066c6859608e3839e6d0d369b96e6c6c4d8e4fc9a16579ac51ce2867dbac8d7d29a594524a292d0ba72687a199252cf78413f44f7c5e5de8a513ea74262a3e94335138b20910ee5cb8097b8b3b9c89f258dd0c4a012c8d3d01bd6b22d4bd7be9097a27ec9f6842440fe3717ef0134ed83f1143fa0fd1aa098a9f38e8a0cf3f8f87714b173fd1dd095b1f574fc4c8146045c24d3831b7c04d74ef6a4926067b8d745cdcc528a7b4130b61d82cbd4834251d12cd49cce6249603e2a0fe84c83580c7a97ac2de098a9b70426eb13af2e271f584e866a2e2633cc65fdc0dd81e3277ae28237e89170f3dd62b872837249a1adce4f02456b2992a946db35cc906a56493e38b87282f18c935e3c96c331db0a1c8a6c389dc0e2ee7800d47394c589943128c44731223c1482eebc9d8d06ba2e24c57001ad00cafc6ca789ca8168e7e077b97c77802bc739168dee1d00b84a30e01e2cb05bb603be0b014cb6168e6345315bad926898644d342a2c9f127b1a90a6d3170b8d901e0d0964ae049ac1f76ddb9c2cef5b9a1a28f8be274dde8e1276774f211e9f6e14727937069c7da8731f69999aa18112ee96028e44af4f80e36553125999fe0520c432157a3ae04c350c8d5c9c3587a6128e48af430eae0749d2b4e944b8866a2423513d59aa8991bb27189ece33b1c5108976c262abe243351a19c102edd6c1f9d4f874b2efbf8eed5817009c7e252cc8939a11979918d8e007008e6974de8a1dcc8e4789417ec7391ce44c598e55076e24bacae7b3cca8dc8464714712e12d9885c2dba11d9a0dcbce4c637399e0336ba6800cba39cb8933355273a3aaf170ce6b5a62ae68768255380d5e772c85935d17de4621f7a015d1423538015a5ffe09805c4564d7c1e276a67a2b80f1ec5623a3c1aedcc188a4730101ebdeec2e2910e37ca1961fc925d609499514e8e47a9b141a169a1ccb4810d4ce28cf8d806a8a1274241424e84a0088520240237bc010e7168121a418804a1284252844a1032c11ce4b045e8032110c8d98fb1210996e343914d8e27ed64dd45a3cf090ae956e6b30a02c5cbaa7418299fe90422c5a6555979e83e008f4761ad642488e20781a2b4d2e141a0b02b003c0814db8ae5dde349b0a90a0285cb2a001864057005aa429c111f048aaf404a72da002030c419f12c17a4459cf18538235e870b0a439c118f2f480c71c618e28cf87b41578833e27f41588833e2572e280b7146bcca056921ce88b71784459c117fba2032c419f1a60b2a439c11ff5dd09238233ee582cc1067c4c3b8a033c419f1a50b42439c118f72415c8833e24917b4853823fee482ba1067c48f2ec80b7146bce882b28833b4876e8c33e20cee920a1b5d3904e598042cb421835ce070e370682b0e3f7108ba80723c96adc9e184c5a126b76412acd581170325d8ee5d8eae252970599a63156cf8c1b55bf8c9dc3bcfa3f1663c1a96c7ea568e51e2c6b4b528b29d0627cb86b5555b73dba6e7db87f0c4e00a12bd2d8a54da1e8ebb43368e2fd15bdea0d096786614682be02ba2fb3c97ab18b95a4d2650cf2d35589a1eabca9637dc6a2bca889dcb734d15c79aa8286b8b63752eae7371b27371ac1c5f8f44d584d556c5414c4534c4cf324495c79aa8f86dae21c77ba02859d6ce0e6ba2c00f6baab2377c20c74b11e478ed04399e2567729c99aa6cc763b164b6b36d60963d51f2f6cecbebe27deb3d37e40146ef05cef36200bc0166f97e11ef524a70e5e1afb7204ab678ee2e2310572e1365b30570c3a1369325e6ee4bcc1eb351117a98deb64b29e52857eda1c7e291471198ab0c673b3b36b4391001089490b75b56a7823ccba9ddb98a5e631ea35ca917a4519f3cf65832d6b3ac888a8f6d836c5939ee441936b01e6baab21d8f95631396e4d09bc971878502a47f4c20d44304115e7c3940ae1738b0dc8c924b3bc484e261d9949b5efaff42c61e542e399a138cb91d5b2c9c4e2929b2391a520e0ea537d5a6569a4cceec6cb10db66d3aa51c8bc3c5e8d2713273e5c2f8bca693eee9a29bf2ee86e764e22b94ac1ae9ca37e40bc6c5807ce5ef5d7b354eb807fbbd939fd34775a20cf9fe5abe564752dea15cd85352526e8a9952520ed313c73a4581a09f38c27496937225a64c8ae4746ace6b7acb57ceb01252e6bad32989624a61b2a3c3ead86da33056a7521517e937993f4aec018898b3cbf9d6cc906d5b6d355863dd45e76aad8f3dea4320b56eb8fe700d916ddcb7ec86221cca794fa4673051f6cab4c860a69594cf843358f68a292bb8b357a645932e85d198e470ba24591e862bcb9f6e6c909ba28a598555e5a8042220c9f4725170335c1aaca8b626aa4ecc92d969566c07167bd5b85a383739d7016199ca58269d461a69f62ce664124cd3ee99e8310f213a131ae5459f5936a70784e8221b39b999bda3979be164424e869e9be9d4ca25690507780708842b2079a0a1ac029287eca46757f4e2e379f874e90d37ef7bf480f8ba90d680ef9a77957b129d6652e8638a5e0111e8a11b3291439af7671b7d40cc38a4cf22e8238f520cbacd40f691941119dd98a557e3c5bb934f47fa14a98769efcaeca5c702401e2f99d609ba9e6b5c0e5d0f8ae81b5dd3aef2895af43ebbe609213a7d3cfd6f1cae3cc3b3c613e23bc5da3b740a1a22dbf212a69c8177e886a0db3be0f4d0358c1203d2b5ecde0d99c85e287450086bf70eba21134c641a828ea29dc22cc33e26e9d11be2740def383d8477a85cf3314f98aa8cae9d7a3754341c1ed315ec63664f884f88eff45a833a04baf6fe325008875967b3a6d54a319de2b0355b944883f27bca15d174eda6fc744326f2e9d3ab91f2aedfda41b77f412833383d7445a6c3b4caa50d821e536e4d7847cabfc3f47798798a29a6945655d355de8d4315d3f75d3b1d74439b446e9087412895d3e92590e9216bc23bb47fa37fda3f209ae8dfc3ef190092b59ba2f78018ba7641de05bd6f3acccc29e1e9306ebae18ffc3d7a6d7f8aa25b91cc29879929777424b27de98649647b941b3291ed674da732fc802ee84c222727b8c7f4d17974ceab7192479f5ecca21bba76410fdd21b4837028c387326f3b408ff959764a37f971d91ec557699a58a72c35606d71e5ec61469f3d7cd1a8d56e8fb8c5165becbc7b68b9f18b5baf86c53d581f33bf7876b79d0625f6b084742af4d8f0c4c1660f678dccac99dbb6c178bc6c3122a58f0fd673925783e4d5d8ee5d99bbd2c7bb324bef83654dcdb6356955bd5cd2aa49a4ab11da79986479cfeb7ab41081c1869ceb8686c3e954125d9e350dbaa64ade740a0947c30d69d5bc94ad6933559c2ba26aa6caf38a287997e45c597a5e9348a3a6913c517305369c351fd67fc84d8240089d7cd3cc5a183394a31573c029e568c51c96dc1cadd82288155bd8c094a3155b24a9b56699155bc4b6786ddbe6f1d0a0b03e9faeebbacf6709ac2b7468d9631123e8d3e04a8e4b6035c9a506a5b51686058146252be680450e3f2318b6b4840fbc20775d09bac8d2c5bad27d29e59c52d24fda129abadbae34e26e728978e64c89638372caacaed468d1f2599d4d266cc63a15ce9ced33b598af79861c4e26db7cb59c2f2154ce88bc603bc71adc366b4b252d6ce8228d98a8fe5acbf4120bfa966921ad527125c902111ad28e42cbea2bd35021f4a11c92a92492e94c44d1d3192a6199522a2fba82952f99288b766706ad66ce49a36c496d6cb42c74aa551f17958b17f6614905ea0e84a7ddb617d6ba2895bc1f376b67ce39e5aa7ea57d686cdc38cfcc992896cc99aae9da2e73b64fd756fa74e58e7962043dda566de9a56af3586e1b26d52696ab8d0ceacd9aec6990145d6499399d04c19678233a1573a4d1a968c51c62a473649231d664e8e4b3c042066922f30b49e817609da20dc6974023b96f6af954a1854eee9b1a0c5ba2c98556a18b2c61f6ca7552c1d2cbcb1a799ba6697a488335b86b689aa66b3a15b59c6537cbda16369c36436a80a8f30a7603830d9b66b2a6aa57e1ec41ae9e1a63952187b205ab5536cdccf53da4be713aa5a455710b35918a22c884a6aeb9c99575042d72d8b569c8d292eb2b98653a154657ad4d72cd82e46a861c9ab22744ffd0a94f19728d68c8f514d07144a7e6eb91903eb410c9437d95352f4841ae9204b94a27e2902b2bae21d748865cb78f1dd5b32aca493894018e70789b02a374633442a40fdd82c84344c1a18c103cc1e191e43a45ae0f9ba6877e4194514f5b48ae2f4ebd1a2f9edd993f2e4e2f8f4ff668a28c7a989e42b021cdf5d91a8c908531cc2c74a591109646a44d8b5e69d3b978e7dd85e7fd87b5ff6069d3922d6903f2ee8ba9c472cfee279fbd3bbd9fc40d90d9739ab37799ccf5d24b7acf95954983550a96def30fab7371693458ef5d9706eb3ff7e5d233a93b9da2b8525c77708dd558dda91d8e7e3873876904e96304b3c7836bd4d7bb9c067de9540f69b0de074b23481f7a70d7e0a669b07e3da455d3a6be693a45194004284430e610650916091b03882084888a5f8669e9794e6fe72e5a296ca8c9edd1bbb155268daacfaed598196cd34c558d4554b5b5d6fafaf8d94634cb5e211213bac8126eac1c2b3baa55da021b9c4a67ecc8c69d1813c9a499f49429ed6ad754552435896bb3b654fa41d0a55257a74aed6a57bb80e8724a2cf6c54e312d56633436631d9b46e6141349dd69e9821a9d2060cb921c4e215366caccd8544d21d97e2177ec41f4d2cdd0e4564c2f2cbc4c600eeb0d0d6e25f4bd20e065e22933556d4ff8c329b8276b9ed5cdea5f8b25994bee873472d8ae4675d1f5e202d26eaf468f959b2c6bdfd98de914b522f97c66d6d3450824539b8aa451f29d850da90db549a1369fcde9c6061f14e2711992e50b91cd558d64f9e8051bd69bb62c39db2dd84e7e6aec3544d209f3836b46d12aed467309a15aad28ac578eacd485468cd2d872ba086372d54e5c5d58423f1b413428cb10c3a1311b1b1bed4643025e074c59780ad186b08e670e6ba2304b83c9f3dd94463e7d5e1f59a6a777343674c9a7f7d41ad0e58aeb4d17ba70934f0feb4d9d9dc9e9e27bbd5afe34d6a7de2ccf7b92992aed46bb9191d16e34997a23a98d05e5a9cd54d1cd963e6c436d680ccca75b91dcc440d8c1d26d63cb051b6a3b59ee684d3aa52dd1ac90c32bcb1c6a301836580439cb27a53b3d2b15bdbad09256c8c1072e72ca40448e067368adf700d9a75df5760b367a35da250f90eb8d49b8d042d260cd9d8c5df6845800e4f84ec5245c08426425bf7943c4c737963d80e83c7f83e619fec82d77a20cf959699534335798e94aa7dcc9f29f111448a2b3137b68ace388f86ada5aa559e42c997dadd276b9c890c329246f37b8715871a613495cce1749d22c6ae34120aeb2b05979456d3a55645bf50da94d963da560e74faf2719b9a4e70cfeeae50a72285790b58771aadaf5e5c862e4909a557620abf34002e619b17dead8edd21b23d8ed42e51cb66bea582dc6b221436a5672055926a989225bb9a4414a2475752a94e5ab4e7d2d49c2ebe68a5ed9ccc4e618f28c51269d8ae9efa7cbbd5d317f32f45d20b6dc98092d58fc309a4c2613102b3f3de576b37b4e0d7728f6e986cfa7670fed7fca4e5e0356be4f09eaea5491ed2b37f45139fcbdf8615c7c3fed7d351df9e37aa54dddb5e85adff031ceeeefa2f7a4f79ecee19579bae974fa3ce1d0470d551c328bfedd16bddecc1aa9b8c122cb575554422c49a7221543606525b9baaace64a5400639ac2f5715489822877549c5c9f274b68d9cc18d4ad3c7fd9595b710f87d4fb9b34c3c651a5c79e31e3af20eedf4dab5b7e894fef657faf8fbf0777adff4797acaa9a6693af277d291fb29f574d2bbecd3f7c6f73ebd6ff4785e22256b9f8d984f58fba7f6ef86a7875ebd20381b78fee49d26bd07c8ac7ddce7a39e687807f70fefb8a7a7eba37298de873e3d1ca28b01d02b42ac08817128f3ca4aafd0937b5e8dd1a4a7d3151c363185a83e666eda330dbe4f6764a2b0fd28520ee38af89d5e183f5dd30d756413be95e29577a7b7de74edfbcd546d97554565c5e6955f1cdab9b2f2edc615180f9de22f25e530d3744f37d24f3b99561ea3e756eed781ab9a29bb3eea8d11554f57f9444f4939d56e185d30b9564e078fe977315d879baedd9eb56bd2e11c7eb6650d6bf83adc185118c7f8df18511aaaaee0d005d44c47398c5abf0fefa04f113d853ea5562099525a6f4aca5775a0ccc0fe749809c3f41f36607218ba09fba839e5a18f0ad32932e5c2807145a5d0516e08934327dd50470ecd284687e9e80501248fb08f9afb3d16809790de8d932c0acdd0678f982c9a3d6616856ebdb91549106c586f66147343819d327183838b1a92d56090294363330a2965684c86c636387cae9c1132336568e6e148220141a2983237e83d104c2bd8b0ce5b647bdf2524eb27296c20a486b5daf08f0d470282b890742a01416e3a357111560282b8563f367c64fe080d811ce9ccbb91495193e7391c2e63d8224f5c844575563f1210c4b5fa72509dd576aab3da708c5c7d456ccf9ee1263cdff0a73daeb2c71c9ba4d1b66069a4cd44c9cb1be992ad1b8a7365ce44c97a8333555386c672682cac3779cad0589651b0304d6d3a15ffa2bb24625d8c742b95b6ad7e362bc75a6bdd5eda270eeb8d4d3bce485f719c403299d599f89a3571d674b5c655f37aa1cc804a598334385d35f2ce9a28635e6b82ad32955593e73d35d839eb0cfd808c676970e2c65fd92cef02832eb2845da76ce240d3ea8ef344da6ab5ba49bdf6c9a47b770669236dd3aa39ec564ba7a52363712ee00d3973eab05a3241e40ecc0f0df65d3b353ac89b78bafa7b72ba0ef7a077e64c9ceee1c4e9664ea7baee8327cebc42d2b9c5169dbb37a55d87670e8e5c5536d8ed577870105146df4685819d3913270eb1db9bd0effd9933552bdfb150b061077181e90efc6b931393f08839716291fbd10a17c072c4f1745cab72e08083b3d1baa2323233adb3349951e4fe07b680f473a1e142716811f0f282e3c1e1d4d9e1a411769084db3e1bbef71effbb1f3de940562bf7a39d0f76d2cc21dbeb34d260e75881c0cabd4f24ae98d3bd24495cf3c6356f5c13094d83d9bc49926467deb8666bdaa8c186dd41683aa5bd634c229d1ac05b273b52718eef241c13809894af9cbe441f9236445f9aae4e854e4f84289d7a401fdd8343d1373c6f84089de2e992b76f78077dd70dd19dfbea8d20ddbb11a69f0e827fa9642dadb808133ee13837ee7afe7100e8f3011e4cff0205e5dd101bfe3edf1ea087600b8d4e25017acc54c5397a0a0edfc1b8341a74e1623b8c1b33d882934444c94825cbb2582cd6cad22865bb088144518cf7e02216737ff1e27d2eb761ed7e198e5ab036a62a4e1cb3ea112143b4a28b2c32c3560a9b3dcb1edaecf60c36bb5d62b35b33d84cc31f8eb84366f8c311bf4d49fe34982d9d38bc4b16f29a8dde1eb703b1e1ee7e98ffd8e8d466e3071bdb8663d2ccd2dbe8542a6edf367a976d1a95586d7b67ad6065eea28c72ba0881c074f46e84de8bb0561efeb13a92048f288510c881953190b99f6e38c6a634cad870e863ae2cdd4eef8eee769f5e03b47f3a1c6e9fd7e8bb4b73f66f9e987ddb66061b5a174b6fffd0a8de6e00f38c7624c0410a5c3097604397b3cce8226968502cd0a0e20a97ec26c4e778e188ecef49df20cd143c0b88c17e95f9b3917c3b828d7f9655889ce75b8c7fd31863c4a1f6ed564dc331cbf1fda38168dd44bac84223cb18a3c713e3265d1a3cc2f37bdec58b848e23101065e0d0256ff3b55b07122e797b185f3878c83b368c4483f24780c086f1a5236a1874f1487a45f749ed0c36b4313e8188cb12cf160520989133dbb6699b964530e41abdc8841de4b084336305146ea0d55a9ba6534394b46a361129655fd19e6ca75321289b4c1b41506f5ebb4134ea870625119df2e05066220640809cbd879c7d157d2842f2204fae86a3ca888992cfae9d7c8b2ad2b3dfd803e8d949f7e4850c7b299fcd9c9dc654f59264226ca8c07a0e44100d4a26a64ade28913cc88f74443a211dbcb37313776ea64aea4825d207c944f2202fe54ee973253b34343b59ee7cdb62cca26c17201ca38cec590f6930c33f30e1acd47921755cc873ffc89611ac87a91ec8d9e5e79d2663a7601aa45e8d4c09b905d1290cc424793b119dda688edef698a4c62439c33fc4e882f9c125d250310516e4b094654e0e9be695a30e3f3aa3de1764a4cd062ba1d85e50822eb234598218ac90431bdec5889c28cc8a859502157278970b74717b5f9b857d15a09043eb6a41688a9c1fb62d83d9b42cc3608373d249371b2e981f6cd82b6ca69fdb664930c8424e9210095864d7d212df2c5b9c2f560db62f9774775351125ef5080b0d9749e30be8e29252d8674ac484a1730a53744a6858b0c196062b7d586badaf78dbac8d06e5e785f921ba7eb03167bb606c742aa421ff4223cbcb2c4890c3d2bca2d411a4ace844472fa5b0145b4a69489db0c5285b072e1ac7c6d95767be70b5718ba869738f98daf513e6915a4bd3810d37eeca28437eebaf422e966b7d73b089aaa7423858ae31cad8eaf6e9b66cdb341b7b8b96499bdb854d8e3a542394c0d3d249f2021590014912623831208394c9940a198020534a5f3a15251531c0420c9a406915da2b4f2d4c9d08ceb89292bac8c9534773b9e612abb9a64acb09e19cf9d254c5c62fce60a77ce739757c983adddd377d83a434e1a0c3852c60e1e585c6e1848d21960635641106329c41a7341a59fb136bbbbbbbdbb36959a5da2bf3c8614a3997e4c005d1355393e923e8ca558c3d88bad18d3d1020c7e3d8c3c95731a66604a98d8fb30c999e46909e9e5cf959cd1b27eccb01babcc4310908e25a810e6495b3cf250dd2189e30d88c4d14fd7c745fc472f4222057133651f4309db5c0f64f3e7a917a51ee6ea4820c5be49393c3b4e8ce0cbad1d5204d323fa28713f6f98c3e617309a5a1442693209952994c291d62f367243ab931cf9716f4642e69149db022d8d18d3ad7e914169d12e1ee848a3e4f3f733a354f4578e23448a70583e87606c98c2363e7c9615a143aa5f4e4f4f30ca0d34f324805803c730cb187d12d9d69c874e270ee641ace37644ae90754a08714046ac854ce36642a1f4e38642ae71c327d774227055d9e9cfc64ce79722212890e025d8240a239e79c229148f4ad4151145df4e89de018654c1965cc8bee7c4d2de6edfc0b1ba38c1094e73bce93cd6b2ef27c76e7230ba51910595daca08b8f2c9206897905db30495f6050f52a6c580e8d49245d6409bbc609fb6daa8e6440e6f99788e3f202ba1c2cdd6e53ca0dc6b2532557b2467e3ea391c9c4c2d2d2422394af5783734e4ae7cce6cc6036ca8e9db998a799051fd828668a3b2cac169910019d8ea9fa34aa3feac7243455d66efad1ede587567956c841e68580527e754a6a215ff1d5351f5696ef6c6ce1f0a793a08f6ccfdbac2d957e567cd158ac8d5210cdf2720af95ad2aacf2689166c32490fd25c9df2bcd09043ee0a4e89bc61692b69631363a6b13a15a453f42c5a89b46ad674a5a9436a4da7b4e94a728324cb6933455e325b5dd3a0470b0f2ccb7339590ba2c9681ed65835c724596852673a9552694457d158343596643b4d98603d3351c8dcc07a6a1a04412d6e6868d680546055bea9e28464f990278a92a7c9186cb8edc040d71efa1499e29e2def8d45309b3de45a9c0dd72a52bb4cc8cd87c37b76efd1c3828910d3d3c2113ae8f4359308192c3dd72292bd27c14248f67e2791d9caf242c8bc23c39f76fa691847e8da693cb00625e7fa1e72ae59f3044b0f7a386b285e42e6b09fddf30eba5c4b091a25d72e3ccc89c66045304b1f72adec6919c1c6245b80659a43ce356b6a6e5ad3a6356f926c0147ce809e7321c957b0d1bbf1e1083d7bc8633a3dbde91dbdd133a2036f70c2b5aa3152860553601da1315e6f8c5cd5d37ef472b4bc1ef11ee3f2f0981d1e23e33f2a144db2cff4ec5d476f06ba3768ee4eeed04ebd1b9accda4504e62b8e914ecc54c1b58a91913dc681e42564667a5fd363dc981dce83873f994d97717f741b9c60ad8eb8380ff7479fe06675e4f41dee0fa96306d8ea884924067bba1ed616e38cb4aa16990f4d1c93b0d9f54187344a82a4c785ef41d2a859d3a06c992d230de2ebb9019dc173e341a205b5995a8c8f2fbd1a18f7606dc620918a022ea753a14748d6e954c8a17038dc159d0a512e3d344a7286724abd1aa4e3d01d3528a5a7615b85a51705945da0256b7807cabdf7bd404b1ebdf3eed78decfd3fad6ab977efb453f49ed782b7892bd65edce54ae272a540f4433d372e1e249e241e974d5549558c5ffad0a78f71e7ad374adca95caeb5042bb3f6906b550106578e5560b19343ee26cb472ee4588516afccdd742a5601869c2ccf21e914c86b0067e49ccbd5296a33dcb9f49818c8bc1a1f11a56e9a81598663037cc9325cc4aa624ee64c2322873c493a65ba3cc719911b0c79e983769547a99a351aceb326bbcc6a60484a4fa75e8d934b7b3d2606fa3ce6165be4f9e9d5f88888736223bec33f6dd6e7988ff189433a1f11321e730eca62ad5a64dc222d188989e2617e87f908c4d56cf9c4314722105741989828f9162c612f780cb9c516abfa1844d44720aeea8b90ab79b9023dc4d54c55fdbccc6e5f6b97ed3bb46bb75e9b1bc992325f3fc681ac62e24455fc35fe20503fdf9f38e648e31cf3316280ac80ace68e26397bcca10fd163660c10914120ccc3256f0d7a9ed7547d564cd97bca287b1785c296ece1ef30f3bb285fb929d7f37a4011701a8c19e5b434ba61f71c993e939986dd3b4fcb63e47a6c1a64d1e1d1bbd19275384cd39b444bd621e39234284defd24d218ae570ece94f9ea19c92dea3c378e3f0c533ccb9ec29e6705af2ca55bad3357de5d2d3357d3f6543a87c6502614b36994c269369e5a79be65d99ffef279fee4a10a337359d453b059d9648b6d33e2bf7deab5c7a439cf0975de57ed9b5ab6c9bb5f4a339e6eb351ce6c82a6f1ce6c839f2f7ae6a9ef7508b409a8f9a4521d00d75e45315828230ede447139243ad9b9f958c460ef9a879051340f2a0ddbbe8c606ffd00d756495e961dae0716c30c5b321afca3d9de59937c4e814ef18bdf10ed2e9bf1bf26839dd30c33c5af208d306b39b70d89548f8243bc521a62fb08f99ad1016c55aceab01da94ebb9a1f414c795a40333e87dfb211c021185c1869e1b4d03c0fb861404a6bc80d1a3151550464b8c7b351cf2684939e8a8eee3d07649059f3e1c82b971c8a325a71c050a4d07994c0f7df78048c161e7940fe09af6ee26d519a3056c79c96e34b2761102b27615eda76f45bbd7a27e01e3b1c16b1f3db62ac6ed63ab5a7e0fe2302a9171e315b9df7263a360e03026898d7a814304e446a1e0904626e1b0256b56059ff00a0e4154003e8006a16ee6dde80cc23b42377d7a384a37bdbd1ba19bde751108fde6170a9dba6cba004ef7a0e08357f60ecabc1cf539b2f66e565c5360278a7a4278f884b7064120af256bd7f40f0c79b464d30570eae5a88d3f1cfec8a6778fa04b4f0810f6e68d2bedd290474b0ebdf38470080474650641f0969e5d2c801b0291c9dd03704320ad1cb93be7ea14be3c9724d3e13ac416eadd38c9a57b6e5e2f2d3a156e30d01536f4b4b2bcc7c6d3f218e914e9b23b473ae7d5209d52ea12925a8e9c1db404da9269d714d8f09329bddd3c5a72e9b3069372647a1e3837bd3c5ab256ba1768b9404b6ebc23bb614b4ba6d7b6cdda1228898dab7ace3551f2db666da9346b6a365883b1585360419ccb44439dbdfb773bdc40aeee19a598474beeee19e2913119f4ecc2cc2cca0e028144a0c33405a40fa6d397e9d93bcc5e01e98309676dc221906c7a5fda947a35a8e98a609ad27b3ad025e13045740aa4a45c47a7444f39e7d548c13d58399345efbaf8018166c8c54787a00c5740f2103af5d0748a04845626343697344ce60c5340fa10738675344843a66bcfb287a167388caf0648d04fa07bd9bf1b1bccbedfa7fc38e5d9572ef6d1f9fbcabd87a66bf77eba2831b020eca3f3bf223d2076804ef3f18e15d3bd87a153157c7a18c23e3a7b3fe190d64c5f01e9c3877778375d7b7b384cb80292070d631f9d43205eafa7a854cd13b64d8e328546060000002000a313000030140e87c4a2d1783c9ec9b2e61e14800b98b04a785a9ba7499021648c314000040000000000089200003db4d29bfc3310eb2ecd663a02b81b4920eeb8d0bc7053fa9c46f20e91df567bd8bd6a0f393ced4752ea54f94a079a993148abcdc0edf96512dc38eff322a2ba4afd211327b7654ecbe5835f97cc896dfff02b5cc6f0114e7c8afc24f5539f4b6ed5832943d1b4dc273d2127e6eea799c67e4ec09f65820e5c871e67843e0a0de489ea132499394de4ece97cc7fd0604c3cb072957dd8a0caec9d2c9c4646bc425668e3d1dae0f836dbd7b675cdf3edccbfb979b2f6ce922d8eaa0b8b5a1248df0812233637ad175ab673fa37b04624a71d1f8c01c9f629f457a1709717c2e748830fa93602f70e1b3786b9fc8e00d5af4e5333840b1463242ff2ad47feb072b5a21859f9a7f4adae48424fa9ddcc101e3d3f36b862ca9b8e1aa2eed2e82015d36cb59da5c7c75ecb71ff842843bfff716d2226b5d0d13f278d51d33f33651845fbd7b74aaeeec5bd526f0d5dc83e7d926fadfda263e5e6f46eeaad9eb81f19f709aa6f9e2cd60873d9273c86d37425247c52ec7765c545269031ebe26883d81229725a686787283dfc6497616d7517b62b1823dba40b77bb72d04666da667f62c4d0bca8b1818e271587f4fc1db5e8c8dfd7d22380b3e7202fc8bed9688277bdfc31452c36548343c0942f0a20aceae35ba0e7924eb21ac07e40575fc5bd85195291e79817e00ed4d0c60475e70231a31fce9117e45dfe386e18ff4fc6cb607ffe5fcf142cec1faae8633db1529c93ec2f6f338363ffec88ffc66f6c6ca720dc2857cc17184a2231f38450bc480501d8339d1801e36cf0eb0d7e90ef9bfd1cab276e9aea36505df83572865ccf8ea76891a358ef71a9f6bed7e18db9a9b4fc295cadab2aec0d23a5f648e1f7c205b47cc8919a1c204ce18c5995a7e15f9e8d721c6e72144b860e52cfd2134d8b721bf520d98344aa639290ba8d9c0b4381a13cc3a220f7750a2afedbb6074ab4dddc1feb0a24b08b87cdbfd751a921e3ba181d64220ab6c38ed415ac6dca5e11e10dc835589a2d37547fa8c299c2e831f3c122cf091a71e27d1d76beac714e84243ab5e8bbd05fab9ac1db5518685f922b355854c3d4ae40d25ffe4ce72d6426beff7695e946c54a8c8b68f7ae4218e09bca458484626ae7e3eaaa2bdc3526cf70d898827da14a48ee21df6163097e3d6f8beb30d7280d02ab29bfbac3d691354ceb8ba4d200608ab51b448990feaf02117e359d1b625eb644bc163993945a2dd04126be987be3f1a6db3539bb5777df98ade56ccafbb95b6d1084cedac402062b47c8f01f442a2315bd6d06c3f5565ab5cafc338a83e21f4101d0b96f97c9cf95f8c904c3a59d5e084471f089853c40649e04e9af91752acafa46d66a940755a8a30e0d58413198d1a797e3dba64bb7e26628ab7852aa8e9f4c614f69ec7ef13f07c019bf96764d6ec21ae113ff17d5d03906fc5e85b7ae5450ac427f4f7772a9b914958eab9bcf1ba1821eb30a94378f06ba663c36167729dc2a69d518d2be8ba27128ef771a8e2c01111500fbf508374cf88bd63c47ff2711b7ff4b7e48d154a7e3fbb697ddd60cb7a11598aa37f76f4a8cad107e85b80d897040a0dc4e0fbc8dc4e22c42311d7c9742d992f794bbfa5e1b33f8f2e3803e6416d1314bc73fca5170e09982a87e00bf537324ee60a830918c62a0e2d7b77195d4dd4816d7d3c2c17f5770a1ba099da30a0d39b91f262ffad4d431589886278fc060e61244ca4bfe04e0e191834c2240da74dfde85114d05f283e84583bfa2d1e23aa7c51b74a58ba7ef95c17a22cdd8ca241a55ec3fd606d46d1bcd1709d1d8ef5a2fec6945114833f09c01c6cae8c1da0b016409cceabf7f8febc599232ac16a4802b468531dba062c9489f139c342b1ffbc25c45eeb3ec4d636a16262086a9a00ad1ed92f7ae08c16b29efedf6979d2d82608614da6129148f45b346273b5a16c247d892402e4e87a4f30eb94912878ecaf28567b2d6b088435492f8804d7f5d178710554960cfc2e50d15b710c58185a988d6ebeba19bd71b54aa0e4f93a9a4291fc7d7231d2c3ab307ea43c8400a8ee1526ea09fa8b1877bdffeeaae8082be639ba8c6ab62841c4785ee8714820b5cb574e30b6b2c24c1a3f231bb5f38a0dc3c43a01a316e744181075a02844aaf055fdc3c8b46cc05b3c8a91adecb19f6487002505686ee6cff97480c3f466262f923333420b347fc78f05e6eb8a2db74a5eae43eb2673ec563dfe46dde95fdc69a8fd5023e3e1f69008359eb013cce4817be785f05f3a1ab439f569da71e2b683d60b9e337c5a82b143d5ad28743de8478d551d4aa95ae4c0585f6e4300d1df1f8234058e5d50f090666e533b7aebff7475084d5d5b26fb08bab98b78151b73ba8bbb53f6ef378adefa963f2f58196d38274e8dcd31b898c11fed3d28cfe25e91c0f0d326946e07448bb93e87107e13cfddd0cf20df0ca6a3879a9cbfa4f0b7edc066ac3592f08ce8e2b40e2b2cf30ae078929a2e0dce26f4e4916d0834360f88a220c676043e06dfa02d16f777b1f984a7783d8da0182e67dde5dd271dbbaf3dd758cb24d9aded97e1dc3221a18674ee0749c7253cb898bb50ce15b14050457ad8d0cd5673f1dbd1895b6df386010fe3990afd754a9aa775a39ba8b428fdf9b6ca50b7bbfa975cebd1c0876b57bec887f2154b365821aa36b7aa43801a7ce846d010630fc97fa1751c6a3cc08877a72e473d57ca6335f60aa7d8733b177dd5c3c22b66758e88cb828f62dfb9ae546db8ea5cd6f084cfcacce875a94fbccf4c54f3c908a16adbb5049e8104369c69f8b5c1d6e79ddd9040a49466901e1dc75e7d7d3ebdb7caa8d6fea381198a7ae8fc56ccaa10717fea7de87137d70a7439b00ab3fe3e36c5509646369e79d05b2898c542298ec2bc8e9587d8f3c1eede0e9123cf85100e05e8e496c362f6db3d8deebd8c4f861aeef63549f60d0336545e06b8ca52d4296ed62bda771a0261b3dc654e72ff89cdf3b4a4803612f860afc7a5c4ef5a12f5417689e56677d17dcbd0ea4e48ae2ab1ac310f0d984fe798daa210bf9f36ca5ed825945ce6abef44052de2258185799a2eb13a946ae04ddcc1af4ca1fd018468560d8cf5b3c2223d4bdc3339d575ded6b9844205af5d29f74786cafbb3d58427c51dd8c10d2484707d1fde68e94c8e609fae479d279e38b18d43f2cac1a407bd6225947ca06d7fd23de9f43213a5aada13200e914534191c126a0a9024b32e61b362d8694c9256bc48f2e865f50ac88e0f6e0ca342509df889de4a04cb7a52e80a8e3e62a08b12e5c85f9dd479f844670be9ec1b2ea8ac797aa069ce5afefcf8a9cde517f4879194b4f332fe2b546088d8be69f2638ebbde6cf75ee34beaa2e2fd0eee0793330d0f2db1be7b3c211e335799db03abebae6f7e73e0f656a737fe6292d8e9d9b8d43b11246c0fb05fb73ede142b8411b39e49f3751e798811d3eab78e6aae6d130a57c6b1bcef1c216b529c7d809a279277318979728d55eb01f35cea006cc69b2e00135a0fb4e880d6a10ed2b874365d71bb63c1123c1b6ade73260258ab5b3ef50ea4e10a52450c74ea275fb3247083f625fed66d57ef8d77d1bd3b4ecefdbe863bf1a807952cb6e6f52a3e32f5cc1d3f3dc65f4aa3934dd1ad51cebb26597463a5d700361d5654501c4f6ba24065fc0cae5d0137c6b4321c8f4bcca8fe767acac2f1a2410b9f5d646c17b0589cc4573b50fd93cb2db698da478efeb02cb5df67573c0f58b5317d06725dd3e04609cbab9743631145aca922f6a5c1b247632226c25ecfd16145e54e03d56e06bb78d3952b568ce55adcf40c3919b09881aceb64a735c9605adf7f85ce045139ccd40f91fed4d2a5aa5b3fc83c0933033c8ca94c5543b78cf60572c104617dcd73b643925dad170a788d072a5deafab173c0099caace09ab3819a0bb78dc6ad7af7692b5d00529ad6b497d2af52d4f81a96c8f450df8f92c063b5922237b7a5221f1d2685402899e668e07bd982cb5c97c101b87c553d08516a56976e0617158ce837dd0b06bf36401ae2115ba512683a7e3e9fefe7fce9acdaed8c2e4e771f7750f560d3ebc1e9529df24af2dddbf4ccdca272d1abcf79e9fb0bb9a2cd932a17e77230bbab9433870e1affd46d45378211d3ef807a4c31149c09024abb313e42641c084128bf0223c1713be8f5db82b08718f7acd7bb24468217832480c5c1723b5a842d109573ce7d8a2d10b80352d6fc2f7f332941feab207c1e1d081bcca4a28486311cad6175744f24d551d0496e9d3af5258e667f9beef4eb42451e902754103157ede3e0d090266d44b37c0216409a3aa5d86f9e08db0e4fbed8dd7f65ce08b36f247dcf86db563a347dd4d50273d373118b7a62b0b3af8721a0c3085939dc8093c723c4b63c759210b546d928054444c926cdc7b82e33ea2c8b8dd7665ed44b7311add94ac5fc3bb2a5886ff1484f027337b7c3c4848a82a46799c8347e9cfcae4af2315de3350127b1445d1fe965463fbfc47d970b1df9d46d0246086593678104b6ae8811c45a27d8f2a75eabb11dc121a7bd1a3088645547b04f680764d236c7d75ed849902994d75e417ff03cc750e9fafc97ccb4c801bba06994da8a7e334e287cf6c5985943fb09a1f143e9a8726fff5914d88bfe5b709b3d297f0f8fe6df8a20ead4a0e586dad2522fd49e417c9d2fb66bd1044112ad92c46cf4a96f3ee960c1a3eedd56cf6174b81c340cac796a01167c1c8e408b5e7b121cec0eeb12204ec1be4abeb2fc6c72731f8740cf148be1e365af5142128a1c4becfa94a0a90aa7867c7a8add44e45d4237d1b348761cb0b1505e28face347b5bc2401e32c7c128788821fdf988e51ed5437350625e2140c0552d59386d16995f002bdffafb1feb660df027a2310f8714fee05cdcc32dd81dfdb8cf1db34b289a964e6b3d2055e2c63ae3dd60c249f803077e1f7c54ddba904d53f4f8904dac8e48f6bb57debbf06cc9375de064bb057ee7853debaebae8aa8ed5bd1185fc21e62fd5a13e387c274a0352161978a2f31eb2fadf6f427a55d9ec1377f551034a12260ef9337cf5facab4c4651b8ea4ce6c397286a96e5192ad04126fca94e7e6a63d1cca89747e839559876cd98d59017a8041e1cb2e4ab819763d05a538bdeed4140c1393aa9557bdee11be9d4170fc95b7138351fde7cc3b0320f6d799c8786cc67c642a1a5edae09df4166e70ed053ce194c1714db536c7021b99be347d4770b8a5a00c99e554cd902065c31d3d12ecff6c4c7b3f93a9f5e069b110b6753bbfafcb36fa9254cdba0a1c2d4716f1d2609d13765a8298a20ef6699b817ac24118d2bd992a0357a6debca22e55d822acfa0a92e1afc30665c014d775fcb7bc6b7a19702214d9174362f0e1da02a6181bcdcbe0387d0b762649d2c8e42005727a7530b6643fc4fe5d47667d5ecbcb58e3c49d3dfd0134a3459dbb55c740ec8e82285ebf58ebc6cc93cc97030e11928121ef29f5ac1c828f4095d5d7ff2ca239bada2a8a8a1f520455e88673f1ee09b64a3a68e14b773ae39870a853be3e999c605e364d10d6188f7e1a28aefb1b66cfc34796adc934c1dbb50c38532a6cb7675d871fab5a710295e79bf44020f4d150d0a08bc24c6ff512135d0dc90eb9a121f68e230922f24bef66b0cf6800cb3bb7ccc69ccc6413b59b4612b39d970e01e3cdafb9642e03f3b5089e6ae72ed86241594dbe57433e048990f917025499109f42975ded09e68dc478bf35b8fdaf5175e8b13a2df2bb8f64b4df2b865a31e1580cc001b30adbd34bb354a1f7d37bacf3a3a3bc608ea7073e7dd6ff715ede60ffbbd34f60c97f3c856e36f85ecc4af3e1be3f2acb2492d7a6537f19d08c7893e255cbd490933cb0b8b373f7292a538ea16f3a9e2ec641965b81fb10a6d2a6d5c6115800882f134666fcc85c0af37042e6463f42c4fb25dcb3c80dc8e0ac72c6f543d5686f2d7cb36ac167a9ca99e5c02b80295e9024726173e0008e1b858ba03578ba054f4a84d5be35c3cbe8fa149016215f17456fd5b760486ccc34c06783081aaf4affe33bdc7ebe8527126d7fabb539168473048694a54e993f7aaf6d4448451418caaec9485850bfc0628db9e4786df2cd26e1c1e006dfc13c1a239110ee3870f91d736728d20bc590d68082d759d0c58b53a0240844d756cd2caf20315994c03785a6c4664c80016fed35cbcd47c14c5dd598598f8c2ca0f906d5eaa97c4c04605418407bbf78367a0fed77b37927b34ffd052f159265e7140882508eb7facb5dbef0aad39d0eaa098e524d07360d5f230c2f04ef1dcf1f0bb36e957f3e8710a7cb5131898577cee575ce382888b22270509167c1898ae0af14fbb5da690b202dd5c475b463a50b8d1268789fc681c692a4215bb5776c6a0519fc5a2ee94099283780de772b017768aaf2ccb500d0062a8672b1110ff6d8322e61b5f2db902d2a5caadd369a2816d0025bbdf50744c642322b1d1bf6c104ab588d3fe7234ef8bb37c40fa23304cae76e2077c1f7fd1cf75ebb69877653c117146656c0194e05c4358e14634c62ca11853d2373e036a10fcf8ddc49ece60da30118cac01099d0646001f1bd7c5d7021325663653b6740d494a16b4cae5966c2bb3689f8e2453dabf0f557b1b75622724ff3218e6b59f51d746c3257ed8e5756a8a44b57db7939948aa9f772c2aecaa50f4af878d989f6b4ea91790742c0e999307d522902279591742a58d18b739076657ecab5b0094b19fbb3d33f8707ce37c5025ea9e8e42ab7156a48abceb1290fda4e3a5c8fe3a2c0afcf2e334c26a296906907f132aea40fe5633184a977baec3f59b68b60d1f9384045220c6d2cf96f3b6d5cd643abd83acf2557663472aefaf58e66fcaea9a83e489e9af5b22ea23f627230f83818e6c46d3f86186bbaf9c40e02bc10e84d47fb325deb6c93268a2ec585c5372a8d08f352c26306ae95d616a35f4b0009fb799bd0f6bf751dbffc4ef4832c1657ea0656a2c5768106759047a07b2507cfc6137554cdbb9b9229cdf7ee48ca02196be90a49e834c63461cfc29413c4a831f2cee54085aa81896c993628262d58c73989a9180bd019f89339d39d133c74c9f2fc831a01b085fed9c913bd91704b3d5555570aa0af3970577592f7347d0c4bca0bdd0333349d84c1f54657d814b9c2247ad24a7a726f294efd5b3e17aa57ab1e263a1df53c6eb49d44dd66748c99e083c51e06e795f35bce685460bbbf69062a26f4a0927182f6dc690d813cb7d5789c59455d551ca41127e6e06f59c1e58a0fc82ba458b2a5ff0ca57e4c1855acc4e1ecbc460b8ff0c1aafae433a56f85518fa666d32fe501f74f74ac80f5c8928368a99f82cae066596363060429e70d49e432537d505b208b554b8f509ad1a3ca213b366954a84818a3dd73241a28db33599e815a3dcd9a4d36a38a4da7ad66d79e1eecee3da09edcb1d8894a2ba6113e939ec80053e7e9b05cbc603671661932c714c032c024196bae494b5180b2bafcc166659b7b39458a8d889615ea8accef3a3a9a0dfb0dcfe7dd4c29e9989bfbe7bebe1beaf45a98bc16d53acd849757904bc4e81c32539f610b2278c627218b8af95fc6da0ec820e19afa70ef435d0f10493b3de54b8451bf30100afa232afb08673f8dba1563efe141f8bbf4ebdfcce8770ecc1d3418763418148b5099c018a523cc554729634d7810f1584101d7360c5ca589c0d95f1e374f044fc3924b5fb081c5812d99514412be52a2c3a0b57b39acb5c43626b640576690d0f09eb88b5bf0c92f4063451807007b37287abe46aca33cc6a97a3aa0206927aaf9149c8a6a0c5f918aa00ff4d3b41f200941e2414e43db44ba5c12b7c7eb7d32d0e9878a797db7ce3e699c59139221a3267475c03c04ca5ee4a002e629739c8d825db5adace0c385c025b62d88c82c864b839784ecc4aa1190cebe080e6af8e2175f2b17d180ce5765c23d8978d14c8f3377119a34cab4a41135a1553b01354eb926b354cb52f295d54a24b58238eda01591243c4f1b12b83814ce4fecaf44096da6c689c2c5a9385e97d63446c4914bc57972f184845e0765dccdf8a14e14f6a4330fb8f640a8e3b2cc30d02e973a853c43595d738b8efc67d0658c007ea8fa5c09deeaa37f5d1d278799539b89fe7674b8b8b42e4004c1664a7453acd14218948da639a7529e5f393c29b1e001df5002633fa7449ec77b5234074a71fca06f7b3d55ad119f2a9773ca380a0b9c41bb057742cbf0ebbc92eb14ddd8dd3b7053f436ceb0a594867734f1744c8ef148091981cc3a2e6884980bc508eed8b7f0a739c249083b8f6b38819254741229da5f6672de9846bb9a6fa72c4a28d11b33ce7313fce4f85b8cfd15be07b735c6afd65b32ee4147c6c5f3fc7e43c20b020ca70169d0792557bd8685a1d89312000640d7c4840bcf888db89840a58b4101600786c5ae687474f0e1acac36781dfebfb3e38f494083aab6181ad87b6a0dc54a9936c3b316ff2a045477743e8d5fe2b3b08372383d708919788a489f0086c61100208b7b46d8ba5c070faa5b326e8170313d93724363d53dcf78813582f8e5bb8d13e6931086f5611186ba8635e7c7faba23a10f92fdc934c80f60c985325defcae6b369a7f5b55943c50304fe0490c05c517cbc8a0d609f3e0548fb470a683633cb2cd1c5e06bce3fc12fff9ebd793e43456651a68e5ee873c6574a091f7bb799364a367536ee3db98749aab8d78a27183f99400a53cff70aac86a06a99cb8321b937166640acee79e98046a648058bd105453cbff13c23a9a4f880121a4834db0ab89cab9563aec27ac69e061622a94a126e8a7e719d137332421349214fc02d389f35cb43e243ccc95da1426f4e208ec3d8e60438b716a39de1c3eb4bc3429163e091d1d04387b60de4542a3b29aebfe51e461bef2903ec4e1fa9433f98c2e9b5e7ab1a18339d2420e339e46e9b9c11c17e51d6411ecb30af00c40fcab71be57e4349175503d8acaa5aa4596f4d4896249f3eee4396b9b46988247a5e91c03ae23fedff8c9f042bfb54c0756e657f762e161ba84a447b576cd36b95752282f95d01c08eeb6758d12b953f4691150d765b2cf4e8669a37557b547d864b014784f4e02c3b460401830d288606c352279e1e1a960a68b3a884017e9211a92d10c608eff276d4769ea39fa2b462d5a3ad8d265ab95c5af2d35185f4dc00ab494544e75eb27f9a87f24ed4493f85740bb990f3accd7cc10a7379f32290f57430b3a74cdfe2ab6e9203aa290a8f3102ab5f543fa14b497fcb707d02e0dd537a745a0a44452e200498635f15d67ccf23b753a2d4283fc2887ed1a276e5812a04f5491633408102813ef50f501536a0a6078500a5d4b23c2bfeb9ba264c29f860d26bfb249ca6f694b09d5f0eb36251aea9b8b9f1fe826443f814892de462151e32a05c8b268b61913278a152bee6b9f738fba920c582f61f883daea05bd6f997c0cbc8632839c29a6444c8d358d3d5ed821e57c4c07db41d47c6d213bd498eba91874132f8d67d67175ef8326b7698af5b146d118cb3bcf40f505af4dd0828d48f1419eb163c276b27666bd5a9d2a64ca131fdb1008b7de48ca10b9cf0e22cd88c0ceaa5a00bc74d1cf67c909db89497792ea7100eb308b4295d35bd9315a3173a23fe9bed2c9762fda9ae7eca6ec162d19463ce22e27512ac4ecebc68ec719abb9095e9ee0429d262577ddc3d167ab8a09323b592321a69a8bd860949ec8eeb5e813c01cfb4f291eefff0357223e355c55eca97659fac115613b95a96931809efab32ac0094c5e8c363b8df1865e0573ade4dd1159e952d5b019c4c988b71425c4c4ede70cce1ab3925e6baa2ff1144945771f7df566d5da92dfb4f5e887773674037a1a69269b1e9f1f5c64f2ee00d37df0d547a8b71b7ca64354668cc4f4bac362d8dd708375cabfbbfcac96d5366e8095a614e3c30c763649fbf8879cee8b4db30612a722ff0f3fbb9bd2d4413c3f9cbec09f666577c4ada693c2cc7f6ca204ae477962899479b28dade0bf62d0fb2fb97803b24cc371a8498916743722acc1fdbcccd0bf3cd0dc59f01409cb5f1cfe7010fe9112df647dff560ded46bbe4c30b45bee8309362598436276bf44cf2e263cc987e40d444d6968207ce6750efa7347b216cb2664b55c0d809a9cdc21920825ef06aa1022729e05a321a55b05b7505dd18d9603a405a57605aabae8b01d3f2c3f391d8bae4533f2bf550ae3a3238ee7ebd55fef9ed16cb8757c988f0e2d697a955adc15b78029b288eab03c0e1f229a42622cf0f571c1fb534502ab207017661ad07910d06a4b153f5f7452e5a994cf561a55f2632a85eb0dbd48dc3e3444af5c3422c04f1b0a2fa70aaa26ae76cf70a0d457f75cc9bb228ab15285bf38c81a09f6236f890c948a94baef83b05cc9dc30563066eb554ead263cbd2478c956dee59972af21220820181d64240e86564992f434f4c8c592471dd9cf07229e201da995e686f24e7edcf0c9ab45196bac38bdc3613f2062475a353548160a0291c5a2b43edf5ceb5e6a1ccb02694ac75fdace31cc88a16aaf806336959aea1ef1f7c6d0b2e12dc97ecef0af7cdcb32252cc194c858fdf1ce28864e77fa0a4bf900bc81edb2b7c30690cfab288777d9213b42f3a3f536c8c635790acfe76ea676edd7871cf25896c33164eab490752c63d78432ae5cd480965b64703654c80990d99532ead69d36ed8b0853985e4692a4e090a4707cbe55013d6a1f78eecdae3c9f030de7a6dee70c34347f7862ffc0db8716a2453fc2b3ad038208f0abe1cef14074b4cb63f132a32d3a6e320fe64088b7801fb01522f241ef7ede8d7d175199b8b41b5a7e158169e28e7f0fd022bcfa14a1a3373abeb90703dbc8028f60d8e32e7897e582e07ff5c922eb9dc69a0ac3ad54897af311655c36611a2ca6f03c33c1ec9fbee718028cf6e07022d5a1405c3d47f637ee5e991da298ef721fa596fdae6da80e484a128c33cba0ae816998bba5052ff64bf853f55b71e6a2e1b6867fc93830ef1de5b34d10789dc2c1aca0f528d5cb8988ed5eb6f9e54511bf37554e8f74dbcecb3480a237ef9d586a69a341762fff5713a01b9933271c46a12eeae9f3e4d5f8cc5ed60fb727be8a529536ff260a44c9c5b08af13ce50c8647e17ccf87868d580299d1e0af08dab0453e069064d8ba4fa216b86bec080f9d11b711448e64a08b024d35b22e9bfbd26f6a13e43771090fef6630b8faecedfaab38d6d68288becdc928cf1097ca8b60b77304cc991ac9f39802052ac12bbbbc0f48a2c6d02aa4d6640602b326f0cb29ebab72c1ac59cf722bf6f7593ffafe79e72aae095ad0d8ce1080bbeafc1fe234b2b53a9f312989bde61d8b64b2687610c2be79331027f28c846ab8c0a6d2dfa720872453ce6a949d25a8a64199e60c26785d0795d81427869930e26cb9f60221a32c34087f2ff06c72009170d062424c70260557d6a75072c5790dcd6ac64381ea7cee73c0f420aa22aa51f1c04e99f05411b6610cf93d48410d448c4e1c422037d521e7012568e023e263c8f3799f07ad139b204d1edf1043fa6a2ef116bf978a378fe64ff82ada1e688e6bdbd91d955e152b6c3ac1facf7c3668e6946f54da9df930111fcc7ed72a5032186af87beacb8a63e76836985de6045c3e4eff26b85147cf8f7e1e313aafaf7c4670a48254c0cbb20210ad19644c8d8c58f1530c9e886c2af8d76655b853df2b433af13e049250474211755100f6b44ebe73aa9942a479db426c043c448483d1052588a36a68ef40016b62318546371e048532a683ecd3a8fd2d49db81a186056f350d3787a1a57e824d4ae59662fbc162b61d7f3b2734b3533d8c72db652a2770c749d0b4940b68af274369380c5b4fd3d81ac5682a38aea03155bdae542cff62a75c3246047bf518b9d143984dd4cfc90033fab9771166922244f92fceb61e3f31c6dba8640da48d5a8cba2308d5030f809a8a488347ec2ea079d264a35f7f4d2f66e154b4442e4244b149f8bfd3999995ab8d07e6f708d50b32d617b34fec8d6c47535d1ea78024335d8936c92f75d029ed20eb2e34850133d99c21aea0f12c7cbc0fcfc8c8ed145700a3526db2d6d4560f3e32628c87db7251865befcc3497b3999c2fe9dc5431f274222ec1bf601f683b5a2f3f404f811e16b0e0335fa51f9323852363820958552e2b7a8e129b3bac80af8368b3932a02912b5ba5d21da8196a95b061e3951d0cbaab9afc1ed51fb46a994fead2b532675b2bc8e2eeed2e8f2d83efb5fa14c35e8fe80f7331a3db3df7ba9f0d3d38cd9b5f2c358e43c47cc18b23cf93ea4d09aa2889ab9dae14b2187ada994344b3226c959edb246518962327256f4434376b5b32a2ccd250b00e9e73ec265757a38922038510bcf33a72a271d1420b34b11edbb90326509454bea5e2edd3f00e782e86593222c1608c835b8c6a157fdcbfc7e19ab485e221ac5c120d128f6e60f28dccc665a44f078ea34dbc7d1f7f5fadc1322fe2b0ca80a47cde3554d4536fab994daf279baa3b589b6e3b4d6d14f26515080c33bfcee9c0f82675da10d09fe8e2c61de24749cdd4faa74c63fca2df171cc14d9c5dc509714fc08bdb2f5e299f5ea4512f8314b4b58eff9ccdfb1d59fc22f66d74a45f91f968e8bca0fef439ac712dfb2207b59d466d7630b9333ec1ab780777f8b768f468ddb74247d912c5d88416d99fa34ebfbcc0614582ddfe45a33e6a97a6dc082e4b38618cd3858e49a6f47ef50359c3f8eebd498bb851f4ed97c389e398e2e52937e1fc8349b641fab9614947e0a0ecf11402e71ea3f1daba3656c69134fe3c24ac03e0dfa77ad5854f74cf639be8fcfa45a079e7a3fef2c50fad98d5c6b9d31dc0ee0fb900dbb717b7795d6309f2cc4cf1c1e44de240964e7feb92f462c2ff574c1c1b1cec95f8ecdeceae8fb360809de207413caca546b0bc391e161909ab23823f3aa323f7f6bd09ea00d8c323eed0f33d8c1ed2f67f3a62f923e461b9c0c400126dd6faabd21dacf9c6d44619d04cc8d650031e7b3cf4f577600c0a9a32f5d673d597904c4a023b41ac617a306b3f74ae47d91b239930644453b8235cf146886443526b183f4e7316851df461511473dd05e09c40cf766c1ac8afb628a6d625a57a1c6d9190add333cdc545b23c25b80137d18c38adcb5c3e418cff862c05f35a1373dc35e3421f031fe5d625c3d72e048551619e063038c6a1f8e8a6ca319b08a266264a41b2db64416ba447cbc1c04f7b1e4d3a085ee88849214a9ba5ce7075a88ed8652930649fe5aff8b905b1a20f49909eb14b4105799c8edab6efacd9be93706ed345d8aa7f1846f524879aea6ad110b6c936c3625b698e9359860410b5dd7806f33ea6ea71be85d97106f2ea50f0012096a48fba085ee9a3c37be81f7154c7b708a0385456fe295bac218722ca59e7adff94b9eba5ea24fa1ae1e2670a58588a26ca14595de5b39e5a4218a0a329912a54b4442518cd25f70c9176d4c856871cbcb9980eb8e218fac16e885ae431dd55a34ba97a6c1cb556407e20f3fb23fc5409b7e74fe0202d823b7151792cb49a2032bd5dbff1453a7c12bd3840d2070dcd7deca6ba011c0bd75cc2b9e22a40d7160b2023a709540a5ba0376a48d5fa980b9fed8dd8014ef7b51b0350930b1d3e0824e3d62e2dba49627f6770524345d519f8c9ba35c8127c5d55445c303b772822fb10afe28d612e1cfb9c5a0c4bc9d628d59ff93cfa3473e0649fa276af1d5a689f9353e8f39bb226ab1c99534a9a1f8b9de4d987ee7838411c39ace06a078c7d3c1039d3058242fe0c7813c34fa545549dd786ef0c13cfc2517ab3a76aa1220918cbce20b8c31d021b4629432eb54fd7ffcb3fd07f98764285a8b7cec6cf963e8b0de973416bb9fa553cb6096d0daaed1048547c74a3380eeaa7c1f08c8b2e823763c01d161d158980d9b99bea33331214871049b422281cecf23405e4f99de5a022a27b29e71183477a958092d5cd46334eee810648262208bb02b55cf51728fd72eb837f9f18f8da6e3579f7ea0e36ee0661d27e3236432444642e77cb35c3bc77d73dc4ff02e1980bb5897f49a209845b397b06478c58c1843eb2ff9ad6af07e10bbfc3998ed54b8e76f3a36a6d7f69028e5f79add4a49ae6f3b9ba72d257321df5b96817514dcc02de1a2dc4d01aebec7ac49670d01b8d4d93463d2b75aebab781ec52a6e09a7c219f6c1ba1bf1b791874112ea9fb42f89e50662f8fd7dd985d3c21923d2135db552a0a1785245f2b97f41b369856acbfab908e369a9f0b62d63c75fcf6646151d2ebb30b267db2671ecf0b11e28e498f86edf90c2a0e7193c4ef961f582a4d0e4cd487169612b9d7d08b3022b41113c7435c6cc0ba2ceb6895675b90a74f444cc1d01ac3019db7872204ac297a1afe226b22d01f3c0f0e48f0cf12685da8aa654c45c2ea6a0bb9a9a2ae6fc753709dc2cc5ee503f5cec8767647c31cbfedf9886547a78b39351227ce0b0166560b12e65b449622652365ca9e528c61ff0d867d842836a02465145c021521d8d0352b1958bf9710961c9c21704f55d7cb1318dec9aec433b21620179052cfa2a2fead978ef03238a56113a6481ce5caa00883629fbedb082c116d1907c9804a4b78604401cc86e8b18f0c1b928dfcd6bab0b3e4afd84c31e440524aca1a01bac9e0ce13f0adedf598dd32487a4829dca8ae75bcd066757628a7e3330f9eb1cb6a0472adb888673f665b631058f4ddaf5cca7a86ccb191e86d61450976b17e5279f4a1d762743e7e3016e5d2754267b82fe9d3e9c2ed2fa2cc930a9d923307c8d2267f4e4867b863f8b7ead9ddedcee3665c587912e9c2fde2f422f574676e7c34c593a16680c63955ca114b2701d30b63cc10d0974c4cdb04878d2cce58a56581a199036a9e7608d213787f4c4ecaebe931fed0bcf4e5978037c7af0569c83ae9c97d4a96ec404c1d7e7bd4ebeab42aed14d26323d88c9e2a5ff02e5996b307f246042bae477462faf124f29579dbd72f13e2ac0ef95a52a9721e5f13d986f4100f3e084b2002d8e18bf8e8bad73dd4cef4b49010b7706e125cda9326454e7dc6152beca929bd0e8a4fd68fe2bc2d397fc8320f4a989a83384a4222ad6b6622c81ac8297364991f2624a5d98d5817765d50f58e1d84e04de851fb769806a2b4858d244125b0aaceb682ad3733ea7c6cec636e8a751c395e27563862a7dc7899b404572a072d6dbb8b11820e58e4474fbda71a02ad3b39af0545c7b84312a6db01e6c0dcb1d24b6c318ca501dda3f65639708e35a41f8bdb32669b60313731965c834042a916ca0cfe851283d8fefe36f6e7c7ab3b39f3479907a4669fa7f68e1477d7b4248db4319e009538eff399f4d849159c8173261c0a00befd0e74d5ce2d01aacd102d76a3b38672e33e8e2cb334c27cb422b8478ddc6928455b937a5b0e82f700d6a19e0bf079b131c2f26e7c652534b8ece4264dc27238b23d8d98bc8b8402ac61ed98e7a8403eb88c666897628687026b81c6d293acd24b7bc94f44912fac3569af7fbe0090a708c929810d61fcc796830a7980a23f6fc2684a6bf444382cd7c1bf8769cdd12abe8d7645b6816755f3ab356b8e79085c9fd282ad894c0625af52ca633d04a32869fad41f3f8bb26287c5bed0a7bea17b82244eebc7764a3802a4abac223dec0707af34eb4ea1a3cd01c04d4a92e7550333c06be230a44aefe678eb02a1caf6874078ddceee675d94ae1fc8fc23e907e02c3713cb790796301542fbf241c160e478b6a44ee0d99391ffd1af0e5e2117804a1164637eab5be6056631bf37080b9c5e20090e3805c61abf0e4cf20dc6ad9e4f2974171414084709de57f7cdd08b10d8611d9826077b4730e876c8c004a46f1cc0592e152af23e17591f22151fac3d090805db7d4e7444dee70ba279b5b56f4b125f7639744017675c1c364c8d2774ae983a1a98d4755045d6c1a8e7fbc779dd84f7cbc2cb294dec149bdd303179dada24ea9465c31cf60019c03163a8ada942af8f9710b13a11f7976d1e053ddec0cf18f97421a9b7d55dd6c52facc0cc3c2bccd990b76ea2fa1feb6af7d9be073c81a0c6157d422131a485db2a46106fb892e7d03104d6ccd30e19b0d62148462a97d0065261572cf809fa7636d5eb560b9ea943a7a68202ebc09cd50330c6f99e41d5be91902d6b81759994838bc04086d71e6ae446996e7e16342bfa3f2e2f91f091646a63a1b11a19574a5b39fa2be90201a61c67f13897c2560667c54b536ed4f8aba91547cadd86abf2382a68500f42bfa0f226e347b1b8c07a759a8d10bda544b13cf026cb6fa3bd7b96087492d880d7328c9c39cdc9bc52d5ec2c5ce36b5af4b17a5c6a05440136da7817846a76d4d7323beb439df15ef3234c03404c10a238a7200fa341f41840ce61b32e1700f5ad29d6de6e043f05635ae37799b89ca7b1e91011547aae052ff677e3b41503a727335511bb8c9c8e98af0ca15278b3f805dd9cd85b4d698f68be470a50dde4eca257c8688d0f3aea2a4a591da7ce57aa15ea31ebd2bcb1a0a8e3deb14f5a36c1ee7462b4f0ae43ff49585238a300e38f143276d43ec05001292924b32bfd39bc8cea11087bc15e4e07760bcd132072af6b3c904640d7076d7e1a0f8713493e2309d1162081fc476322618da0efb9a175dca8c2c78e87defa694dc06d4cd4424a9c591c63e72a9bd6135904e72e807a9186996da577f8184d23d7b4dc9842a5c63f2f34f283f1bba0506aaffac540550c1dea3185c2fdcf1fa6d3273f69004c84d6df357bc0cc4e3e156cfb5ae5b8553420cd9b8fa4fdba037bee4991a97b81442d3a640ceafdc7aee6929ade2462fda8e924984bc1c2c21f66328f87c944c68fb13e0ff0692a3afba8e1b39d24609ae7010c618f7b6c21e7a9b543f302d58ac6a939b885d48bf9add54c0a71343bc7d792e9cecb58d464f2cfcb78e05b9bb4e9163dc782136b7b016441afabed3edd5f4d75a9a715b48b7ef0a8d619700baac8245e2e6c66284f9f49afa57e49cfdb0f87c24400fbd1a48efed80a889de98ba2a097bd52e2cbb54e9b1e89eb52130de66da0a951eb7240d7a3a408175a5678b33f4350807314b5388554407e6d850bf4f8f4468339a3f1e882c42aa7c633d6c93521f9afa246d37e020433c635bd7d46d19ff71f3b74878e2cc15e51bc72f6bd09a36f852e119a4e67671aa672d17531ec826b174dc73fcfe183a4e2fb106900d5eae17f7a8608649b9a8991fd552a132720cd182653ae9e0be7e82016d24cb6d1c685069107afc6e633349c7ae03a36f0bf90083efab89057cd550a60a59376e81585b0e62628e0fae28719931b7f5fb9197a1003910b53d66cfe2c8cb13213908ba69831b90e07a7a8d958edec95896aec6c1a840023b542e7d15342af3c28992f62b34aa8edc5aa7111c96fa65a0ab6931c1ae43bd61b856ce17a76ea6655bc337222a6b1061b2756a12401f3bfed95fa610f2f23b10656a174a7d831c8ead355214bb5ddceb21cd6bc629af363cb96b3f1312117038e4784aa0e4b10831d9d3f62ce94540a8bffe4f0bf0d39d90d255f77cd4c5eafac17f90f30ebe5882e3ef07385e76acd6a14767cdf04dbc3a7fd22bdfbaa4fec440552085b399ea240191501dd188b3233b795ec4f360fdd60bd9e1147002301595072a919f87eff9357a16e1fae0a4b7e6a508043cae37a12eb9f63d3610104ae23f75ad719eb263ba6c1c2d0c522b483e1b8d82300452663efb6085c9c25d5a5448e5a9d71270d207d79381091c6803c6751e85254a3b948384a94d2d2e3684b9d9f1395bcc0c3704d292da567a4fc854b065eb01c28215663e417d293063039dedd6bd19f7d69994734f322b13d3b5f3de37f13b5a7c47ac60b67788fb27bb6fc45cfc5e84cda0490e799b5cb0fb77ef0bc18c20c6cc0171124663ec57d402b2fecc40c774547683a750e38c9125b2e0017d24e273ac03e83fd6aa61357b9ae193cc8c302214d7e625c421211b40f5b5c0872e0bcb1c6e1c4fd34f888ea7fc4e27645b58173b30306afe01ece2d1d9241423aa1c91eb45c920e74da40979f9ce97b2a2890490915e139f24fc30413ea5899cd7bec2cd37d244395a1782309760b3345986383a1d15200650e6a4551578b23d4f722c4107139a51d43f637102c3b53468e5d10f244e9a56e9f2c059d6683b60684879cdecc2507f8fc668af29cfc393cf9cc6a6647fdedb4aa1e51490d5407a8f3d62e74b98c51cd087d6b50211abc16afc2307d3c6961e7d08f9435b7532b820b8c2ca9426651a3a169f6502659c069c874c428f9a6dc0c6f78d3959f08a8fd96e191431c2979605b5ccfb6300fb90c9258afe20ad9528d939d2e3e1bd7afccb8e651bd56d9424087fc18e0eba46781f25191e0e68b443cee78eb4e3e5c4123bb3b23f1923627ff0b96c909adedc911d6642b1ed6bc02325193e53d0d85af52989caebe8dee294f77c2dfaef94a324d47288549404d7e752613499cd677aa8e5dabba946a2d799d349bebaabb21ca51300f227e2f9584d3001d30560357e93b1191b265b0f7bded4b0cdd5780185a2ec952c3dcb4e1696fd26368a7fcc8acac3a427c30174eabedb9e2fc5f6270c5030a0b78e80586af3063184752f147d2c97c902e47881b2c115dd371c8d88c56894b5db15e9a3784f9bd072f34431e22e94a1c259a734984c898700022e7c72325e1999c2ec4af44bf265219297939d9562eac33006977638dc34d9063ade31879bf2dc5b2019c68d1c584b1b2806fcb0bd2b38192fdfb6247ba9c90fa8046a8c2083bd255abbbc6fce04bbdcdde244744e2041d4686ac8a5bb3bc314d4856a83f2bfc58860fce07eda6497090b983098fbe5205bede097e8d7a6d5b30605567216b8fd1e3148b13c5cf0441f7120a5fd17cb91564c3084475666f103742292dff1b37853a233069112621b55ee6d29ace30a10249ae81b00687e405a9a95824b592ebc0e4fb026fa44750900bbc57130796c922a9e6d84388063ab2cfb4844040cbb2e75b781ad99d23a519487efa8a3d1866ebd9f1fc8211dd0d6450c0259160990df2cf71013f30d3da3f563e8fe7d01116bb563fe19213b90d8dab8e0f13f662b01e1195a1ba8148da9bb70ceda2146a073cbf27538320b02fdb56b6b6b5d65452a45497eb4e326807dc6a9c57ffe67e7738125ecc4bee28b6d5aa63444f9a4d3b9b160726108938bd51b9cd4ae71a1bc4131279a1019f85b28b1ffa990627b83180e3d0cec836f1481236b7f660a532f99c9a795b5de2df05aacfb35e3d428cea3dc34c25e0fbc4ed3c3c65dab88d0462e7b41a9511b39648ea8194ed955f274a9df877cd449cd5c6362f67444dfeb258b49a09f6193f18650dfc1be115e31040a2016bed8190345c1d02ed14d14e995ef17e49f6882a88ca78797db459df32fdce8a0cab866d9e440dccb7f0a9569bcfed380541e5b38dd5ad114416aeb347f7097a20fbce45c4ad9429423f2d8985b0d7216d6989f2ddb075a450057ee726dcbfbaa42dc08767bf6ee991127164d9c48a8629bddf32bc778ff51d9230b64209529d25f6135384fdf24cc610d21aedf2c4efe120a3e118fe85cf79699b2eb207d72de869f6911f8edd3c65062da7386ac98727971f12d05e472240e1eb131d2055adb87a917d2d70d990bdcf5cb780f58cbb6d4136e781b5307208357f37703a21781c5edd5ce3c1618431c1e5e2243c01c0643065aedb9a09d2a207bae109fb83fec8501e0ea9e7163bf22aeec85d7dfe015de9d790160bfa590b041a86bd6e7aa1390c2e9e8d3f680fe4987999bc0c7cd66bcc599285f1c3b5f887eae3c4e9097f2c5d6465330c0717e8850a8d8bd2654455fb19c6b1492633bd53206886fea0522af49a170b317c0064315c144c83aa7dbc1ab0749023d18d5ad5da74343caaa8431fa8d15551598b1b6a36affd444e00ee11508032d23ad450296aed7be17850eb033c804c5d7aa65fa58b9c1ad902c7df2cdb7da8bf098cd885fc4a6abb19f04f7f4654d0afbc0ac256720de8d3688e4ea5ae09806202eeb5139c2d4ad716f4a6a1c41f7b733dc3580ee60512af438611fe0f51e0abd34bf9b06faeaa033a9f0c04bb21327b125c19422421f9cb48c85dbdeae2c98290a74d1d3fb43168408bd1d7523096e60acc73fd38b6208517673734055e8b97d1288b0d35b50d6e7a46050b2c070f180be54dd7ff4cadd64817bc2f2943048da35af518a19bc2f45c05b279cbb218f4b594c228a8f242b9f1a741a9055cff10a6477642cfe8d5ff4a78e78c5a828d17700461036b719fbc4123a03f1ad562cda74ca1c14e250bdbae6557d169129a36ea64565590b289fbdd4886b124443a1b58a82b2d1f88240af9bceadbd96b20a45c85807c02286b3ad03bf6b475d8b4ca0385e516439b9e018ab2cb46ba6939d46e9516cdbafd98b683cb33afbf642bb69edc3dae9eb55f11d532648164d286e659f2ac18129376722321c8afebb1dcc301af54bbba689fd28f103ceccc50fe0e174f7bfed43ebc71cc82ce0f200347ec691e5cd058c555d439d96984c0fbf5a9f6f58bee615afa647dd0ade699873b703a6eeb08c1c799a875acb12cf502097343a4e8804389d5a094402846567aa7e1f72b29ca79b3faac2c942f54be49c3fd43f609c13c1927750fa2ae5f4e66c50a9d359b1d4a31d2e39741ae4755e5a44b8d96e79ddc4248e71d48125690d51684aeb592bcd9e0b01991951c8bd9e8764a5747172d1392e7a7bacb731b9d8e4b536ee39b2b30e5ab40b00e4e8651d56fe1b9a409adbb86711e9ca6c04e86fc767e888d6de979b3cdb90290fe45ff656e0d38fd8e2a19bc0683918a18b9bb97081af2f3af59c223fb21a3e2d8ef5a0b0944d13b932d51afc0ff32459b027733d55ec6eebc0f9103b0107a73e1970047443cc250329090224e8a82fa46360b78f2ea7f3da2b6eb6a180f2617373ab9dac1eb388c811c8ef4710d0e06522c11a736fb3864f4ddcbdcf5e9a61f90b6f38bb650cce71099dd0d88a0f1ef0761fc8846ff4d7ce3722518f0815ddcb69dba90972676772dcfe8550ca8314b6adb182663dd5a0d5ad0f702a3557b5a1d595f380db73143cdd3524300ac0389cfd69932b0d057fdff1774e022a6902c3d373caaa7d252da623f90e6b8d9f220a058606685d7fd7c200a9e0019f41792e4418f09471673fc0e4da596260298a9e4c79634b91ce5a691b386b2afc49b2d3c59f3fec55aaad2be9ffb43acff82b2c077e9b70cf9fe7b336bdb1cafcb4cec5a5a3e6d8b016a8972239e7b6d1753dfc632a9e3063f4d1c161c70c87d1541f9f674f043e57e92ace2655d8abb73938617c35cc2187dd04a4e4f44dc4801bb8cd25bb09c3ea7faeb9daf01055bb124d45bc0e4d4d6d1169b844eb29430f0723c9fa54ae77e66c14eb412f94779299664a5fc2ecd205ae26e63c8a240ccc8898790869707b349245a22c8cbcd6999998633e07e99dd876e089e76be8dfe11f62e059e74cc9fe3ba3d878be0453feb5b5700006fdf193b2c9e4140782893dfbfd6277ac7093789a1c6ea9faae98edff75b59e3431ec8248f22caf678a6d92e779c5762acbeea49b96982f639db90df0069c9fefbfde2d94a23c3c0c6e88b2478511c8dcb2446dd19c31664ef7e5502189680fa6ef18a1777561315dde4000b0aec21e898727c3fdc79d262dfc079123dfc78a33d45e7cc1750152285f83890e07b14c1b20c45ad1a5321bceb7cfdfc9098390262db8610429301ebcf467ed2f171452a629e665f7716b5d8d32c3a8581516891fd65697c139b6749b12b2b4ab0b0a2831475a341c413e38c945a85656086899c0348725e5e30af1b3d27d724b353b533db94df8222d56968821785e2fb4767908cf27905b88aa7a3fc4fc5c0a9983193c57d0cdaf730ff0fda94b30b1f36b2b75cb8f10f5259b2f665028beb16c039019e32013828b19a8c049e79a551d52250820987469a708403b57140539da177f4eee00d7356d0bd395e7163815667643e04b1d51894450b61380b525a22acb3db1e441e4c95493b413941b6e7eba9173398e3d7dfcfa480433b7ebe7741525142ce8950a8a5e1df543ce04117aee4792c30322d9276a16ab20cc923027c56d81760ff60c88d09b2097888c012d477a37d046194aabed5c56803fbcf810a4caaf1d39b828812aa699235df467625b25676627e788aad76184460958da83faf1df0d59b66fa532d50dd3175ffa5f3145d17994b780025f0cd038aea5c75992cae58a58ba5222bba54af1c39fd928804c2f664ec4831d358ef4dcc89d7ae1b355489f06cee0c197afbafda56712be3c2872b11587f652dd1b48245b77481ff14c18b164c736e05aae90a3c855376f0b53502b0e70ce6de39e2d7fd55e3ad2fe25dde532d5f3365c07703570c5adec97f618201e61a1a7f0bb13e7a97669bcc48ef6a78d6af4ee4ae8009adbf456c4dfa76e79e8158f5641ab6fa6185d8c4e3acc427b14f5744228cb695ebcbbfeb5b951f78803d4369b8f49c29a538b84ffeadf511a08ef7c8883b2fc6525d201cdf86146e8a1da0728fd714940ad562b323bba12b7c42bed26cadec5cccdadb2ad872511780450c1820936004432b0c0e8dd086838423461d63659d690e2d9bc0f7328570de887a1ffa001adaea2ca56023873029dd20b2bdc3fd503e6103f524b65c45eeefaa11c4c82d4f3ecd31a642c5d48f989e297a117288e93c13139a2461389662802062f64138309571f0e76005958591a465f787aa2f1d44e903f6019c1aa60621f9957313c156ac4e7390b200584e2d800481919b2b4ab0b8875f5235dd8e400bcb52e8713e020cc0569d1e49dd34698bb9612364aa2e19c3dba33317cbed19f8d888426af396fa36058d3753581545c96c2687ee7f638e0fcdbb009a4b6d4e39f5d7f03d1d621c2c41856a1321f7d4b5abd22d605dea50f5b6b207f15f2d5cfd65b81b404330f5d6b22563c658b2f2627dd015daecb2e9e08f6282983d540f7c01112803c47719f5d9e4785a7f63b22aa20d506b75267031a26f8beef16859d7885e59bd899cd21f4c0b94c64adc784111d1007d62db528abb4a867be8c1066fd9d6ffe9a18fe8519359b974c268436352454f317a43d5815355d844c6586344c978b9549aef5e1af92eab5f54ac2c4c2a16202a5e5f6206b866ebf4d76755153a9f242f2aa2e9fdb65d05199b877f0f6b4d922fc8cb877583dafe3d624c060d64d5c3d95b28aae673ba45d74acf78a9e6ab8d5799745c87fda7118dd46e5de27c7ee657cffd55baf0bf9eb192a0a030d1ec58d1a8118333a7bc97206f150660d5696846efa25bdbabeef3172b7f92047b69d92a85e9c42093a5617e4329c55af6254ad40f3016d73b549d9cb9b8ae437e8150ba5a14867533c9a86e2c4d980b1cd28c310e41460781672c61073ca62f36815c1969b11044df80e9630d3b5fd20f44e530362d249c8856754e2929fe021c2e2d23f604a32a9c3852806908ebfe685a8c6e07f41e50a801e1ade212c58fadff7f7f0e944e89e2571f47e86dd6fcb08d1ec5359c9909f44216ec57ded48eb46dfc02719165a6068f6584c9cae1072815420faa41c93e1f0183146283f923a859abd70b34a706b5b16bb18a9f17bea46630708562e93a80e19b36cb143f570436fcfd75f6d70e400a98e8b2fbe9a43dd9392356d8378df29c03cd8f05f4596bd0b0844f78de9906a7bcbd25d7370d95400a9498001a2c54c6914603fec07f63d6bdb97ed11240d1bbf29c1cd812dbc3c1c4554bb31810124412bc396f1b794d3ca8430f77a09844cbf28742b9e54fe73a34a8805ee4d1b982d1ead47035a80b35b7f3dac5b9dc322f978c705419298bd1b4850648baf790cca134bdc14887135ba175de1d2a2c25e45e7f2a78ea9e8329cc6d20d5f8e41220b633b35698bf92a6ac3881dda67255bb07ee17683387cc74641a171cc9f29a6b26eefae7e97d0286a4fd7f5ee9f706671b63b85f49d8a26fe8b6ea3bf2de71e146408ee97323d9b3a5b468f7734698db3910c632ca17aeee2979a48c0d44ee3ec3d3969d4422c757fa82300054b6f79be491e64430ac555b0a890bda3a15de20a16c9401956c50ae7574dd9f74800f57fb3f20341ee7b6f12af9912a8dfbfe43a76e87af9e70a55279a455dea9860babe49ff7ff7c1d1794582372ea2f5d7ba325ad26f84a88ad6723a4d03b8c44903b319dc9316bb5e1b8dcae8951166827e7b5db1ee57a2cb77de91fc6348a542dbd7abd435e7f6b8477e7084ce67a7599527ce7e302eaaee946b081a385b9e76b3f9a5e2fc38d132812f23fda28d06d1735b07d7c0fb8e491313bbb1587be5a8746a96ed0809ddecaf5eda2434b6d455ea97870f17a98e9a76f81754605ce5bbf50d4532db68db921307e454cf988dc082af6c38438b04061083054165269689f9c4fc5ac8e21430436cb0559aaa7b55102f5b29630606481c76c8dbe404248f8780f8440d1f42c0c5d959c45964b64fdacd2fe004087d5c427abccf01d4506807c2229dfc331822663b859d534091d9c1f4aaf3a4ac8bc24af35b5dfecd66be22db7a6d2f7ac9fdca45dad0677349b220c1e6097d94467cf743127fa2a0892483bc256fbd57503620deb75787bc5969670845e40d885984be4630df9564aea111780ac7f251dc0fdf3b11a2aa7a2517fd2f20fe9c2e7abc1212134b38d715dadd97aa0051c1925426eb3b1b99fddb0a1d48180b8ff234c3a90058509e5e30bf5d2fab46016d6f362013e80407b5a198ec0c9420f15727eb416443543c4015b2caa79388699431273a0c3b3f6088a302a0a67e8bc83861ba9454e650ef1b3a4d0d445c5400176795966c7fcbf42782e8cc5090314d80c73c9fa9b44b72d3b7889d427f31d3c722950cad144e19d167a4865d218171e16d8ef032c566c309e3f44060776437f597478c8c77d870fb20f7dc7d44cce10640b87bf6aad524618ad40759fb8526f2ee5fe99c02626608ed09bab1d195928e859b7cf523f1b9139b022a9ab354133aae12a0bd99f6e1d1561b9096ac608396531266526e56c544a420ad4d1228663f7070ef16167404bc6163b004a19d73281d6274c02708ed4537f7580f0a33b360fd8fc6be0dadad192cf0d2468f53d0ceaeda215bf1c7242adf4aee02da05413d8eb903f2bc707be18eb16cc46d0fe4ef42a23aabd748cfbb71cfef9ddda58a3966395ff445a13510758712bf23a1cb1a19fb93db7b624c186f7b7d1d5ab18d704ad1666f5083c4f9334dd90dd5e78076c9b1d8c95ef7106fdd754ba4954e555fbbdb767d9d360a076cc034fa5ad822725d508a84857e1cfb4f1dc50c1d1d80967d0a1719f79f57ef71759b5b0e4077f97edc52b4c25323948f008458cc5d163e28611f3830f24f31a1c19383e7edc87ba75c58c8f3c59f078d08e14231c1f2f9f7ec9e28eb2051bc02d125f8c4cf8c46b50de4637e872e8aa255487adc29e3a7b4fbeb775e9ae8e555746f055b33c41a1419878f56f45c66f3e59746229b1341425c5111eaa57cb11e491a29b3e034f49ea6d8f201d3ba1ff5669dd00dbe13c6e0ce6359c3d45042bba3e9a190bf0b8b0e028860e49725dfb6a4169caee2b6b4ba65e00c4404dedf18345fe00f1bfd6d0778c352a376774f584c91d393dd60e8229d0e0ee606ad748e2731cf465da4c1083efe62d81d5ae7a885b7a424bbbb4004584cd3960c1a5add36688d71623a4669bd21394c056c9a6e0f2555c0f6a47d76fd8f4eafab0e83e0aeb33205bd66156790e54850647838d68b47209343a55b5ac281f412ef9c33ef4c9310146ef62f1cc253569187c5b9d1cbbe382dcaf74e8a76306159590be34b970ebeb1e2012f1fee87473aadf8f0c5c05a4abc5d2c5376296bd164c8c85d068d0a91db9a47c4c468c5573e79176fd7a3566eb9dd271f08e045554f08ed4eb1d08030e7ea5fb8879b1ff1f856877cd6140a64b8927f4f1437ac07c7683d3e95f8395f73f5928a029f06d7f9b56d6a58b931ea0baadd12494c43bdaf2dd43cd635b863a4218ac56c1a4eb7451093e62c63d64acf3305a1ffd511e4b09969b2bb93ff214e735875db019bfbe0f0359658fde7c41adf69ac227c11b0ca444d28d8d74a60a23d1b7f3cf7400f1a7b408754ec846712a6cf6f21cc3e06e1a354ea0ceadb0143b9dab2ef8929a6a1f7b40cd200e1aa056c8082bf6c026d998deba4165e50a1386df85ca75a279952c395be8c36721100ad8c448323d41ca9f27de64ce62413f3f736e115539712b4e87912dc2c04deaa8c233e6bd6b6e6224f21011890f57e3907cd0007e69bf33ee339dd373d367f797b570d17ab0150eec16c89b55cef4d2e2ae7d317eb6e72f3de7a0c8253aa431c6ca1a92badddc421c437b713897674f0610baec4329675ab8d408cfc65add8a61e90598bdfb86a588ff508b680a2344953a863fc914b89667959d0bb85a36d74e6b2f3c15e20866dac271e2f5c3feb444e7848f11ef2310c134ee78b956debba5bc4c5ba3468b97cd304b4ac07fbb09163ec23b7e048e172afee8f5d31ac92b5a4876141de9fb53e0ba28bca3cb432b695db45623f4a6673485b7cdae91a5ba8b6feac042778e29f0caa1a7ed537d88ac73062f3464fa97cf5e7ca9c1f56822a9ccf853f293ea41c99ba830b1ee831ddc2b65889496b15919a067e5a13e5bbe88923729ff3b883a15e03d6b816b32640101fe3d219d11107b657d06aa012c93d5820b9bc8eed02eec1bd99e795864651fe10ee937b4c30694edd36f08405cbc4555921125864a48d33ed2c2efffceb889d0809aacec65c3a2c57f99a13bba2904dacdcec82e2320d09fb23240aa7335f62221e062b5869a64bcfa31b43f453158377add50f7fcfd5fcd24c7cc7dc9a121c0b9cdaff9623e3d7d4e6b6e20adbb86df65938e1df98a210a71575df66baed1a9bb74b03620a43798186abeaa658c86c10637bbb3f39631b7143ea051672ed1a36bf62415e3c252c487a717dd3f765dc849ce57bd5257d2d79af12159a3f19be73db05d2ecc7895f39a05b50ff404cc317c1d8eb5da6c1b29f69bcea257dd8d432dff3d54effbe302640b7452384f36dd850a46a920b1c9b1fcf5b069f35aa94f1d5ce14138e889cdf601fef38b472c734ec8b773b207db4341054c107bf357ede6bd5f039245128f1fd3105fd808ddd9c92d7e71dd4c3347ba8c0fc60ba461906844a4afa37567b807077ff20194e638746be150be2fd344e2f166e5475ffc63c026a9938d563c21a8aa3a5c424ebbf3e0aa98c47309881cdea423766bba31a264da551b01b4c09d8f43e64d27025da24f9eace345c8faabd4a4448a20b304156ddd38231fd305501ccf58f70e8e2bf1adfbf4bc4bde6bced3495b66e75c01e4eebef31155c3bec8190243a2b76ee95c4f35a8484462af1a0b4586c8afb6e6da1aeefb3c30df8ddc78e4bb38720993fcd89df92e12b3e9882b7dd3966e680117d19542b78cb518f5cd4299b1e66383f6246d06dfbe64a3e3055a36ade955f224db84d93eea3e346343ca18bb61f3327c60b2ef779d44ce5ed0cbf57640c674af6970880af1df6c7d3680b32c5fb17043c04d25ef62b9292cbd0359ded9ed39718e33d0f00bc0b83e6773cc9fbc59eea781bdfc25a30cba438c913ede2202d8973b18e2f53e3115972e0bc42760066ef33ee009115eea25cc1b0574cbc22b78df1e8a71fa2da23dbeed8beeb7519ccaee4484aecda15e573ec6b98b0d6440e0a42f3b8d2409e396760b5779f4a1ac5cdfb6d18c661e9d9bef55f1844b34d2951cf607414e2da56b73079d01e0d5e6ad3f395c55b8a3190636a348b4ba1dac592264bf0fc3f059c6bf6dbfd858f68f27e01e0be42beef06814bcdcedca89088951681dd06f1a97964d4a8556989fa00d80f16c7595db569f100ede3c508ba5433bccf17b218dd0e34d8c496bb7c1d0d08f7c925d21790a941c81e6b3c41f05439f74e9e781567ae421f66477aff538194ba842dada0cbfe20847d111658e6a0e5129b11ec1c318d690358c08025ffef8bd7dfdbfc796833b1a4098c652661f1b8ab2e067319fcbe330eefcdd4b9a1a578f5347a606987ce6e97019caea8e869e7437f4e90bd590fe068bb6dbc536082657b93f7f7a6af69432f86cf1007c0d3f8900f0cd52f55013a76710fa581b3ab79a2eba90af7059ce22c6ff24fcc1a3e48ad62a3944cd6f4f6988ad995b9fd26a6a48149474841637d4857c26aa5e20500717f956dc08e911c60069aed35e04c684f724c3a489f4fc7e032244ed68a15699a39ce0e7097787cfec0a831bdb35d079ffefc72dd202678cf25268ef8b17676b580389801624964a0761a8860e54e611bd20e66f9b01bc650ebbce648da703462aa896342124a5fd3a985ad36c3254bc25278bf31b7f61df759efcec1c935331a84010543aaaf9b7b6f2f6258c2641900763d72745fd33554451b23cff0cc4b47b88b86608f98064d9bb742d5baff02381ea6153d5d94a6ff4c9fa9b4b313bbab7d38a95aeb26e28c8194dce0ab82b6af06040a088d5768f45c9e6ec1b8f2685f868c1a80a55b4127f8b449b85e0f44ed56e449df9a27d72674965611c72ce8ac888eea4f101e7549bc8dce7a0ed349174bf58079525239a47365c46a6fd985a5142e655de38154a6b766eb0360f13b20f41cdb3afae6414af3f10c3fce71af9942e0b475e7f1d8d306079ae8cd338fdc8f31620d46c25171e4df62979bdace1485a3dca6199ab4af19f502435d2f1bb575a18f88df1b30d4ba2e0e6221a5432af24f0721a26779973a05047caef5b88e88eecd84558f9bab530627ab316e813e67fb07871c6f2498aa6016c4eae3e01e8b24b472310dd13a035fc2f54b77677e884b54db9b59f4ca9d958dca82ccd2cb03fddb3268959be556087a2871ef12199b382a3f044c8008f029f0aeb604117cdba152977173462c50173dad1fe5d686a0efdc9a2764fb63d3375eaefe466cbf3b065af9b2235480e7090eca46493a714a32a3aaf418b3cd65c5fdf3ad64a4f852b09e1f9c868301881963506c73489d95d832b25c1307473483d88d8cbcc8613d31f49ea6b77623ec863ed9f17eddfa23615ea1a7558a1d54c0e5d356e3c83e1747d62e444495f0e35d7282b7aaa24c3fabfefcbdcacb78ab59f711b92381d4ad16e0dd3377938cacdf1f2160788e06013b53a90ff5fb0959ab480bf59ab555f70f2ece3acd03a10226a23108f42357d8779043635f48f690c1a52740bf269390709bb28e232e983c2629a98729078bee9670dd17bb6d64f5727cb388bef45af7a517f4212c3755dd15257d162eb76972dd2286f4ea8f3e3b0da8be4181f4edc12bcf1daf5890eca1ce46f61cf6372f36ede32998c856b6fd947017dd4e5d166c32acf16facfa38108a1d647ba034bc2cf61a1ed514bf9f8ea40df5f804338824929d04dd6b134f1c38b75f0939cf455dd2e8400b4ce9e75d36a0b97fcf18cd15909de68787cfb4b12a0d610ea1c40610d27e2869dbc63f49ac8255de727eb641350a084fe7cc5703677b988d271b924e98b8985378d04ac04256000850211bc6f96ad6d082b14a43ec607cb12030954cc05c25db5d6ae8a713cf681f6880e168905d3a01cdd59b8618e598004842dc91587a8e7667561f313bf9dbbda12f62bb5caff4722f2cc0159525e226916ca559aaed31f3cc5606e063da8f2e36fcf5b0c30c042a24d31b4d65225cefd5ff46864b168a0d8ebe2a0e17dd75ac13d968bafd2d7105ce5429fc1d14142c8da339f1ce543b02e137b9cfc483a60ba9574917ec8bb39753cf26b747c8c036b23f525f3352e4a0d4d5101090cdaf976cfa3f9330ff1ee3c27c9b07408be33ae4c404a2a6ec41d5440b63f5ce93f76da89e8ad806cf8bdbdffba5f681c503970c8b529cf9ba7d24ba4a0dfac91a01d211c56ae93a04dc2d6ba710a67ec9013a55f2f7157f6519e39f71e30b6fcc7cd1b4712ea1a6e04157d05452df313da8352793c41d10cea47fb52922ef402613ddbabc5f27b790a17ff68ba132944153045406fb6048709c6bcd940ac4e8ad950e43f49897117afe4755d147cbb1f76bdee3aeebaa2c6854a5d56430ee6e7b65c5c2dc91a974d5193179d6bde634af63bf4d6fe7b327f02b2333e84e349cf5c8dcd25eeaa69ab37703a85da0e9eb7e0bb02bdde02b71f574192d37a353a4b78fdbd9928939c68785c4e57f430000c254038f4e8e45329b469f87ba06cf1e5b427055671b95c82a19dd37930a7f4a0e25bc276615b4b66cc630817643ccd71389825b43d2bb237d42ace1233bd85575b9eca2e855720329fe094b8bc7dbbf32b9ca7258c842e0c2d507e30f9db337485c2c0c6770d73c621722024e95e70da69f2b2d86d071b1dd0305ee304ea8e789a673463b042a0c046967e8bc74c5240fc8f37b39cc6c9f888841540bb10a66a780d19136987ac187d31e5320666701df0808031e8c6c1be7f80364aa1db4b14aa8c0d7955cf0f48cc1ad95b4abb5bf1ec0c49bc7ee4294d5a5e1230e007b30fdf7e167c75e09ac6e4ab4a1cb292c84a41202ecbc2b2dac56c44447196498b9cc96eb4697339ac9e6ce069c0c22a47122abbf034b1f3f256f8d2b62d2a0af47bce062740fe5f20d36a2229f70731496473dc32775443e5fed2b332119c898aa27595ac87aaa0f1a2a6377db4b60cd48d77af4f53790029219b484e54e762f03c0e4253b88771a4b3f4056c276e95c85cec35e9319799068105c99e93a0c9d7f420297645a7f444a51d1163db904bb5f86a81893e6682557d6b456ae0b8be9d4bdb81e667df92e9f34cbb37989c64c619c7bb818969370844ef92fc0b7e3822d11aaf3bd3f15fd6100fa7ee630e7b49eae2f06aac61d2b032748470cc4eea5542f9d090bd49a5547c57623676f371300a33617f656f563faf553a6aa7438d1a0f985b662486a06544814845c018f19a0a485075f6766b9020e0ba43188c020c00797ed5ec95488ce3ae8668b5a29c57bcb676044070740273d91e3206c2316ab648446ac247ce40078ca1f0d9edcc88d7b6ce83663dcf1610695c909af00f920fd0a67a4d9bc159af8f7d39d584e4014015693f3a3c6982fce15f5c9fc85bd06bb4695ba2d947623688b2eb3a992f2ef301947c09255a09aca91ff6ca3fd783f5ce5ae7197d648fbc3932dca890bf3ed46d074ff73bafd131e3ad36f3425be488f5dc3a8e5bd49fb7e23deb71adcae0087cf14e9e0829c786661436279d45ecb0ef538ed3c461852c9750a9f759a733cab583dbc2b21af01a58715246ea83b128fce58fddd05a75ae25a082b29b9422181a0cdc9e3b69b3bcb03d57965f4a12d55161204dc0919133f064a22511483892d903a75de3525274ab6ddbf7a20a6b09efe1e10aeb8384f74efa306cc8e0560b31c7d18cf232667bb24225a271212891e1a97d60680cec4cd3c95b4cdd201b766cb5fcf9142345bb1cc9ec7c7ef6ee70001f6b0afdcf3dbc7e6316d8107da3cc627b90a4ed93e25498a8eb631368054b2f9826abdc0efe37e754b1b60b01ed10bf60d8c11fa8632de9da0b8c78f6aba4aca010bf587d3f201c85c7956ad9a976a2a20e3dc822041493245568e83072279fcb4f803d41d3c4f95a259baae41b2271f892db2dc861cb08fee734de70a69d4d501d0bb345ee436aeab311d534473d140a31207c4b6086ad48a3d797fb587f0db66a53a968180ce14978a432487c23e3a606d04f2ee9e6d7d08eb984a6be3a80253a54017b563c870612af403c04584535cc55e574f14700eb3357ac72d38c5639590fe2c0ad440f5f750a00d8bdc360512bb84240804c2f256a7e1934b449615401bd03e71306a896f22378697de8774c6228ebf7881fe976eb87e908d087bdf90359da469ff35c9f15cb0829235ffe94e65f0b464a58f718fb7e07bc90f7f9ba0bf22725cbae79174417a10ac91943cead9360a4efbc03150185d0e844a13265bb5309d88a910a83524ccd9193ccfcb8401e570f97178f5c3c171eda6007e206f68776d6c9874835115877c944d59979a16f5a88c12d8e098328012d08efbb4246fa8c84565c4992bb065e9331620f5e2783213afb1430d31d21f01049ffdaab5df7fb5d5180d1ff2a1f9434002f83103804a83a2d8aa07d19eb23d52242b109d770ca55504c83ee7d41e8144479d24229c1918c5d1ebb8add20293955bf89e8a011f3ac267882e476f4cbf5a202f612cce04be5a188a290f387113a0f71e5c2f808cc8014a8e7fd651585244c878ee6d0d45edc15e8a990a8a4b824599158ac3c725986d30f14f39ae46623fea174787222d60cb065aaa5124354824e1622ca26a50d66de0a058e61024dcf0d5290c12996d7336736be08496270baa125a27dd89c2ed24acdb15b42bc7d6e72166cc4d13b26849c074ed403e1bb7b65b14c2b49e58a64eda18937bda500564f877cc3b4b068357697da38fcf69dc9e8f1b2f18f6b3258f9db37e9b0abafe7670deb90feda658d09a9256effb14bba64e0f90750803cd394bfc8629d6557719814432f412205610c3be422d9ec97221a6978e3df641924b04e628d6897d86789e42a8a7e79a7342cc47de1684e2c1579639e58f6f82b460de379def58a1c5c30be47d7207e1d395741e1b8d28830900b5494b5da88dcb0eb7786d531516552f29a5c2bd6e15b553834daf6c8c8fa7baba4057038acc60afd4d14fc22afb1f75f92a6e7aac0a7364f24fca54c7a16337a0349a95207e73b281540a1f1465cdce20e343a8b6901ac48ed29d617fb13606fd599421e42e4ee84cade4b082c5cbf817c75c562aea02949d4399a091fa761cc5fe5185db8f74497a29627ecca51d10783598e7ed4010623f5fc31000e0ece7c7e14ba91d52fb0b16a404d68fa1e30c31d06d0e16217f13b017c0c357b6d34d1b1dbfa45bba19a3087f85b147de6daa8ec073045871d114075798e6ac33f354425f5386095f410bcea84430e5258e06569955beb61fd3934f0efd5e83805ba665ca5ab81eec0b4402a05ef8422130d4a1d350e61a07484c24f1303d0b2f68c9d56b4ea2bf15056d26e58bdd20f18c0424775671905849e547a82fd874bdb58af274d9108f74ce74c30141a1163f8d045340a345e5aade510d6d5f3997866153825435b520b600a47ffce60d1e52a224089014a26b65eb8ebcf8d306fac962da1913f5dfba7e892988ac2c0cd7ab9d2bd53d5ce0a430809225b729428867f38e7868846eedf520d3886493b9798e72840ddf0ce65912a541c4356cd73d349270663c8ace35e67442262da21a93248e96034a0ac603974326b80502197d450ae08958d9e6442b514fd5cae4a7a624294774ae356d741873cd7ab1c504ec942a861235c2e6f45c2e3b3d11d2eef56379a2a9abdfdb8d00ec8df3b92df307c3142fb8c01e7e25232b7d8270cdfc240bdfcd13e1421543317f441381dae69b1f2af1fc0cb752c47352570d7eec5a0a183d52ddb949e67ef78078f082ad92de4c9daef15237588ba9eab0e7de9a015137f864927989dacb862cd38312d76d7f5ff683404567a24debe9716f100b739c6f7081588f7102c49ba921c564f9287f1c84969858d9d902e5c7e17ddace57053c1a6e7b3675076e757b25374c420ac47edeb150d923d813e0d0136cdf83ff3f3386ff3f3d6cc44850e8873083d403b29fc1ad4b51abc99c02862bb453e087af72c9935a9378643337ea7ab9078d463667503aa72005a5c511b31c8c108c3720ecd0886cadfa07fa6c6efd78db44b8e5f6176572dd7fecaaf024bd36e021a3462bd1ff0d82b7b948d834e81068c740ff3a0c55b4237f4ba6077d809c110c8282695c98f407bc728fd05d4f564350aad3e88c3d98dbe14c255888e1dba8192ad0e11cd746eda71848258aa9f67301d618ed4d2c703239454d863d70d9064289728f713df2fa23eae61db9cb7d2c4ab2e426d589624509bc8c40a8eed2aa5c9c2f7307372a21bb416d6970c85c30fa573f5ecc65a2b49ff18da6f5a4731b027c7808b787fceed7822361564c5f4fe08b7e3cf8eaa1480029b382ec8e9faf5261002ca694df9d2dd6c804956adb4ff154b2e57da8a95fd0b7472f15d0e1a52cdc1f4ccdcfb8a24127d9919ca8969dd9fcb6e622bb9f5d4dfa8e1e04fde9995c317ed1e5aaec91b2cc945b0688f3dc2d2ba35ff31ff055dc423a9573ac01df8b231f1713c285bdb2d3ddbb323d19f8056c71ca4244c9f79176c3971b375217c080fdd3460c3bde8323f470b095763f17366bce60b2436c97035e4262b30bb859cb7995cde4a342e5c705698701c6599e55ff48c7ff465912c0834b4c479b0cc7060a1e941473545bc8dfb7fd991727892027addc7567873d46c60992cde103df8aebf95d999fa37c4a014ae0fe2717d5c3e05fa6321f7bc0d3d541fea3234cf494b29cd94c53d5d00e21c2c503f8a961cbc9d9c4b757702542a15d255a0114f543dfd89e5af845d8409dae7824bb39305e0447159578984f20f18dc664c12e45c59616b6fa6ac5d1189eef300c3030d6a903c9e7ef4e35e77523c45d4d3d0a0e30a8b71b947e8295a34445dcc483e91ce824942512a9c0876fc4eb0b3548ba52383e7686182eb50b81bc050c3229fac75ff50794494317f190f26396706b777f39a217156a3980d7a650a8f726d1405abc516491ab4ec61580c7692cdace252fbf1797a200276a4580cef58b5a03f503e91629bd4de49b451033d4685b277aa98addc30298df391381fd65846e30f313957225c65e4afd4ecf76ce90de23944372906942b90fb37fcb7f0caad27a76060c34d359151ad741cf1924b1a266ec527ea795d62b04ab1e8e693277bf190923deca1449e3099ccffa66aba854441f9e00e449304ebdf57786d7896e790f25c2547512ee46041b1c8c8f76a1dff179241090cf9b55f50e1a139eddd23d55a7097daa101682596db50c6622a66f3475af1e3e953dfbd25c861d5bb998158c1938f1e3ceb89c450cbeda1c74661671fe0d9138265b4692fd06c1ae6c25c0bf5e884108d08009feff06228faf28fabd25d790fc4a8f0e467709814a6b7f1e267aa811f41ff556c8680067aea325122c4e34c15bdd50fa3cb5285f49001e25e0e144e1fcc9fd6d39584c840e09ee53a6f0eec7ba862b44acd81b74b5c82b5200ab106318433bb92b3fc48b3f4db2e645c3da8f72405f223affd4110ce9119dd543dcfef7a26166f9a07afacf53478b271f1ae62c20c59e62b47ac72301c626232c95adb499b2801dfbdcafc238d886fe8efc51e6d7bcc2c5e490b152690aab88d7eedd66d9340f6a0c32ae1c29fa9955df64b6a5573763f18b11a4810b6c9d214797e93cea716169689fb9952f20a1e921a856a08337ff6c565942cef4a7cef26acd8dede9b004ade698d20b4d766484790b30598749250de602f1c83f6a49aa2432f9c35d3458ba49fe8635597ca62678f5cfd0c0a5898f7ce8cec56447376926f2c652998c2c5fcd3d5b8520f41e1efb74419fcb04060c6d10bf65bd551d685fc5193294ff3e4a38e852c938f550549cd0e7dbca18781306837321781325cb7d96d49992e8bec552e757a8cc8705fd9123a1a5a3bb8307448972d1ec7a8d3a9624277cde0c938a636753d9ffd5511c4288527e5c28ab9d7a82295057f971564628e42f0b4f13dbd4b42e42b37377cdc08c2b35dce064a0b884d7be103ec211dc204e2a9d68e52915928b59c5aef19e01228dd985179bc21d92d7ef5833970de9ec51085ccf388299ef28ac5a58c73944ec2c8c645be2883a217a91300ac324742645fe3368394fb968c35fe9a2a86894e20b8c41d16d41513e4193f1e00b30fab85e052782b6d2894cddeb0004b00dfa2a08c3ea29dc38af14b5de1dce02d149f96d4ed0e2396a0735db52820a547afeaa39e03ad520689168f1aa61d002dc88a7a6c9109c2355b1697ce434a5aad40fcd964f96f4354b4689057599efb2e1b5ea0935c56fffb4db1e8c0f94ebc8b78030633047a25f1346c217bf44429e41c554db339615ef4c3da4d1caee5970146447e962d9d4db31649d08e62b5e889d259ee4950416b42995500d01f955cb98f4b3ecd6c5120c33035c2d4a4e31316bf8431a3046ac4c971547d57ad8efe4102396e2365b669af38a32d2ca5db676dc394f4d3dd7965c74461db95f4178947cdcceed5b45f978a6ddc7a4574e44b0a8bb05db120c67644f332f96eb3653ebbd7bce9ea2532cd48358b609d0b20029b9ba020627817680177389cebb655f0430efc17d1e0361047e6b8d440003f7aa371f5a768fd3d407f4546377fec5fd2be1a29dbf453f1ddfe96af1837e588c31bee93247787537bf37f536d8dcf21afcf970d15c7f064aa491dbc9e74c9337d2bfeaf072a035de49c3d3f7aec781306585bf46ada608ec1547f2850849919faacee7fd9bdcd0b43548104e72dd1963049c3f0514f60eb964b2a8bbed647a3f9dced70d3e577ae296789c469ef5c192d7ecb6626b32f915794099be9e24d5e517d094956a393f39e33120ff489322ce3e4ccf884d3af94728090b6ec81dab295a8b69b23408dba1cb733c52cef98e6b2e81539d541f93a07a78199ef0b31d5db1f9d92726b133a95818702cd38720564b35b529baf11c882d0c125305e870dfb623914d337d7210cff61f11e3040f41fb4aaed069820e9fe99dfa27b410251079cf32d57ea9917e984c1541ab5c99791ff50c3526c27ae8f3e591a51e4caa8d31728b3914ae0a778213012129455ca23eab9f047cc6b4f97c0cd136496f307a69fde07d7e1aa478cb8a080504410bb6d094125305e21e0289a919846a2f62c69025ce0ab250e77a9a267c82dbad9b897c99720be8cd98656a973f441c85ec617b174403f69e174f1c6c385ec2eb7028b3483a8f5ed762638353c37d95339c6458b81c1dc5e89b305583959ee2f5aafb3da33688abd05168b7252eb95815862c6946de1701374035ee6aafc964f4fe3b1162301c8bf38fe91a4a78bc18b34c6b2cef8d41bd9f3d2b84fd27c0e2eb7ae28174c8b89aee4d48de0e24faddbd1c7174f4d1778883482f109762218a724328fd82f05878e65f9d09db1a029a1081c3a0682bcb5200da3dfcb55f8b03236132e732be35c5b4953d3f00a252ddd00d111f45fd9ae34cb8d2c1a2ad60c2cd7bf62c331c0b2a136af04cad2a54678b80108722b8b27fb3cd3465a6d3df23f83cb2df1caf6921480b78b3251f8ae0e1df5607ae436b7046feda73115852d70994c53687a8bec80abd3905652d598705c8159c1f9e418185a0b8e4fad3b3fe5a9ce2163344019ffb2fe0672e5ae103e524324788e6594bba0411207cbd00f34b243af0757a1533b082047b3401db5e7384ccffa52b435555826803f4af2b963cc69dd93e6c5ec4b3e24d719fe8132a5bddbbe890e66764afd1866cd009f4c74a2222ebddb19258a4b655dff4e42953527210fe4d6292fc214a69f630acaad53b323cd85a2613f894e3b71a5292bcfc65d184fd6802388f2a046e99460551f8437558e0d3cc052c990563792016ef24df743526c1090526a2de16eccfe3c4f2a1ef260429d9f16352b555266d9e64859b49e111c829e10ecc1a9458a7e3b90566886cdbb91557cd755be7f6edff271ba713524dad3557ed84d036e65467096f5cdf8b4b26c059a53e919df77fb3316159ca25de971b7c0088a8f0fd8b3a68bf3868a1d2d8cb6576970d732b1383b9bf9e0dcceee92000e6bff929eb2daccf8285b30a11b95fdada8dbcd22621042b5bfbda2dd263d684f016efef50571a319a29618c46f9c7be157af65093f8c017e5e1e721e013dd131d52c4a582abc488f5b24b06c6db873424fde4e250cd1fcae3226e8f7f4e70847777af2c9583c89ae07cc5b25636259cb6a23fb15bf1fc6e3f3c7508382ba10ac901850c89638e2876ad6703a8d1224faf6119922e19c1f637efaeab1c204dc473c2ddbd8711a3df7ad22670028ba9d80f0f46304ea9c84b53878c635a1bf600603b40518a3eb3d2a0cdeb382ba6e76ff8ca15475770675aaff78bb3296602e8639aa9ec505eff50712bc8ad8ef549ccc6659a8d3d793e560740f0beb56961e37c647e02a8012931cd3f53af2469f3a52acfccca7a749a59c4c8a53b14bcd6a958c89de8fa250a5931d796d1e73ed707b9c4cca81a2b266800697984f18490939c034e98d9ec8db467dbb0e5e0c04ddb9897777f37efaa50dbbcaf22892f0d7089d0ff28d6c49535131434359a8041b7dc06f3d1ae9bbc6a525b260fb3c6a914836b3567001d58607148a211a6fc01a712dcd7d634dbb5fae8c80e047792961c096f27ded34e44c6094d18e81550e8f19997393ec009298cb99dc2b7882399b1297824e8bca92e105da5f5bb806fa128b5710bc4a78d259fa30a9e105c862c8cb4b4e68dfa9ac81f6a46ea211415de360a253e9e952277654c702e0a3884d54a8f3241704b79cbd8f6cad0e0969aea19e5ef56441de9ba2e6d677f0ea52e2c8cf32a45d4b6e6a1a90fbfd9d5e816a741af2a80099c410f4153c847a7d5fa88754ef6dea30ddfa74336bdcb3890a03da13dc575f44b2573cfc0e37b870ef236d79979f2c264db15565255d79462242b871d389000c271f7b564bd45d0693d624be0e9de231e3ccf4fb6adc008749553dc49419f8f703bba5a419910b5f127628b10cafea80a0b0bfcb780cc7a29f5dba147f78b73bffe6cc0f73f6decdf9b1427779a8aa66e34b5c6283ca60ae06f8cec8113833474fa113219e9079b148a20e8954420d7da13a0bb843c716451937897183011309cc011a268f7e17c1483f67458bbbd16229b3394c9813459382c787b8d22bd5759934419111362c195b72c2f55429f6648ec0140ec55c3b4849372a3d1ca45d56bb6dbc4a85017109f3a2ad9e0d8197e64f81115d84c51a1094f1308c28682d5d453c16aa9a7f9ac870a52826c70b2bb682a949ee924565d7c871edb4e2903628918200bb9c0346d8700d197e0d84e98daa3ef5149d912535b650b4fa385af76dbd7f8631d2e2cb28607574d3b29b044526a9b90b5bc611421bc917dff67f8140b8418e921487808e3d5f2ca0ee5d25d6ca3afe12d2b497100788642ee86f9574d7a35270379fba04edae60553f1e4e1260f5ad5e506974e2fbc50e1837fe5fbf4e66b998b638a55ef536e345b266b6ba7f24e67c2b2e7e62e1f00393fce87298058bf5f0c9583419c92d49d597dd0e86da0d24665307e39b83089a2bc2ae187e7ab66249ffb1efdba761216c12ec9f4b2cc16201b57031698b048c7e6335096567ba7e2eb40bd0da5adf7dc00eb9fc91c3c7e0690f98449db2cb5c4cec0516ea2723d88a48c9bcfde1d9712364f3c4e0ae38af7ef2130d3ed174244196bb362ac60455c8c70e1c769e271f713b048d918c75d7fc5c8fe14cd3502f5747c91d3e8f461cdd59a0b3b01a4c208f3ed249275b7034c4fd064a953f2608116c0248539ba7dd6779ba87f76404179b778181fc53374e4f51e47cb6cc52c20d46f96e8b6cb90cfc7fe018ded405715a828ccae097328eec727794e117044298e265f8d5985ed0fdc487ba7971d80940582586a238feb3218a1c34246f3c8cdaa0074468a8a64150752606e72d8fa10d0461b3ae7f3755a603fae282beeadb97078d1bb52b54cb20d35cb10085f3efc14e0d1848e726a363de7f6e54446d8024ef6b5cec4ed250804cb0faddcbc4890402d910a63c7dd6e76603583684e3f9ab9bdc418206d44e921c9897be22608743225ffe90d72c0ede37fc632af3f85614c8477470b24a6f829b7b05da1e5784633761d945a6cf801499e6db8e7bd22999371ec10bfd76c97e456c22c732e371e4ebdc2fe7487ac88e4fd715d9b38af6da8f0c08fb565935d28d152c29598412acd6d03ac54324b27878485dae46456bdf3377708d572bd2c11381e5fd9f5c2f96fee977d7311318f3347ea306b292ffe423f4ed6538e5624fb4d74914d83204e6503514a3699f6daaf6019f76c451ba1e38e74c7e98123ac5f78feb9e81f736f12530753e77d379cdfdf157a4b77266ecbc4071ac43977d285321fa63d90a19e86fef140e88d4d9f8e97711cf7d2d86eb9811d5c76fad3fc8e2624fdc0ed4bc1fc53efadfebaeb6d67d922f6697b5bb116ccc10d1a72c5e90b40c7acc2de0ba2fb273611d1ef889961e17ac9f04dedfb93373e38e39f8071bde6c26be41e42b85260cef5abf75717892a99090ef254934bab7f9a20112521b28eb75f66eb1b67a4ab3c3b018b92cdb3b1c627ce5726b8434e1b1a1b3b15bd84077b6e8d270e752c3ff665733d7f40cce262abe585eca2da803ba921c88b2d7ef06d96957ffd897e931bbf048bd96d9d6625e11491ec984a52abf05c40c7310a588de6ed0475d581204c1b72557a79c16d570553184bb85d47e089c427a21e5884af2d80f5396c8ab50576bcad3ac2ac0c505a04944e5d7d8787a6846a200c5ac06729ac3bf518bade24b1aee346e99bcf1f47e54a97fbd7fff60b8f89b4d86107db840fd04a6c614daf3b32d0388ee6f4d3378bff5b8e71075c6aa2548ebef3ac09fcdc747be14dc077f21ba93635f0c81a98ebc41fad3ac49bd0170ed48209e1c0de131212ba563f9d86a6332a43a25e8d57756eb0a1e7526039bac674672574c0802137931796ec5e872cfe7d3409dc85f8b9d82f1b44ba7a14c84e9a23e078605745fc4fd40d1771a83a852616e2a5c1a5f3b7e9fa62b85cb8cb0e57735ae9a30841a2cd0d75529830c607effb25337cba71d52f37e7fb03c25b9787145527c3954e2f4177135d5e4ea22cc100eb8a028d3087d065a83eef0ae6ba9c5d8e9c342b28dad9468e98b01dd2b3f3d297e08a37e0aff418a7b6c3f335ae322333c731e6c5623240fdda106032198e63279fd26ff96f6770a51fe94171d9e077758f41446ae8323499a995a65c80c9eef2ca02a645a9605c758ebd081a6655564b0849c46daa11da5448f53c6a8322f73e512e1b6d1f7d0b58b59a752fe720f368bb81bae738cf68116d322c502d2e4a32b9b6e1f00701195e595d01763f169927d96f0d85c13c82e814e504381e0ad43e753adec5f47a78588402676a7601ebe62c1e3ff2c24b77e03ccfc7f05fe462a2f636be157c958d9b7a98c89c76338a55d07d8e2a86bdf66e79eccdc43dcc4153d24f7537a14784b5b78909025171777d45baa4ed62a58c844a6438e87acec2a7e41935d4fad10044894bd7c5cad58bbfb16d62784374b1a632007ba0d15d60e3be52aac3633a5b5992b6c0f5e5255f8e127658c20a5c72a523827fac0409c0e3e502d930ca2f435b04d37d53d6445814cb1a24cd152aced6152752454c97f37a6fbf3691963744b5924d95ad2e8d3bce26218e503b87851227026bf0db3dab6177e7ed2180724bf36dd0b626aae3a6bb9fb2ed6fdf2e6b80c3d7a9bb8caaee6d74affbd96c4d7067a21ce80e963eeb3abc4441b6a37afab1aad3d75987ac40160400f7845d3b2941f7b68444de3303b4c7bd7e621119964a9eb63b2cc4a05351fc04b2ea23f341364e4039339d563a8f295ad7de9b44135cdb9ff6f494ef8858deb46631d5509e8fd3f5841049bd127b249d8ae60d598dd78614c8f316ee14813d7d0b47225402e407abc7867e9ce7413a02f14041d5e468850775d32b1e2e28809a98dcf7e0b2412ce90ed91a48f3ce07b303219b1166011de6bda5e128f4c974b166e0270382c46f9681b62fdcf7b5310851aec8c5fd20a097817c9d5c8319ed352758f9bc424eb855544cce4b3630a51908a7bb79ebcaf8c11400b03c87773178af54d57392315e14d26528739760aaec986ed1da8a6912b2412617016db55725ffcc004756913049b20986688c9d0661589824210a7f9821babb48062ef00fcfe09224dc4038d2941dd1ebf0614734b38eead4cddddb217d13d6f4fb82d393f7acad9fa44bee0d0e76f659510173c3b0546dea4220cae2508312eac5a9e7b9d308d23993ce5dad0122fb525e89bf38ab12b259b3de2d97e6003467865542807a1c237060ba991cdef3ac368bc825b9d214e98dbaddc484d7c6f51d8b7ed91363def1b3391d202ddfbfeb463424e2843af55574eb7a73564c791fe3c7166733e423a6df57c5f91ec4829aab5f22b2635c5b00f6cd260bfb391a8502d86485a828ff5c262077b40d4e16a8b47284904bc895ed86060c8b5684d2eedb7d64db3e0fa38b4a468f6b914ef37050794a105fa7f41e0ef0201ba23065d57e8edcb7f580881bfb6dc0533fdb40fcc3a811bb49fb2fd30d56bfdf3e4c90569985099ae06a314300de572eb7ec934241cfb697f4c21a2e5830e1e227c7fb872078c61aa1164b4131c0bdd26f91234647429aca6fe977347fc7470220a2887caa2bc99fe7a5f5f872b8f8f3dee124417138b0117fe67f8e79fc6eada40db5a7cd88f54c7e1442f97d80037a6f563ee397729366e9380ac73d614e24c021f91c2ae7ff429b674ebb21c1484da36b1b1abff4cfde060de62353ea319be500d11a8a323753874f262f32ae2f04dcf95b316c7c0fcc51664ec47ebe97da9fb0a0aeaa872fa8ca1c99f5463204c068c96e7b8ad806cc9fed8451a68ad37d3b3b0370a48901e69e05ffffcf9e89901481a7de9b0253e64de9f5a914e840ba2b77dedc6701865906cdf759df1afcb9512a9f11a72c89602b211cc58b2310756ce196253dab1aecbd7a0797281d41e566635530cf0436e6ce4e03e2eec9713b7a45833b479dafa04e29054e2caa5cadf28e8c4a04090d1010e5cb667b4bc5007a46111f14157d660332392b03c2fcf2484f61b2b572bbae865b99084a6fcf0723b91f7dfe5668fa5f985130e95236ab58640fc718f2ecfbf31d96e0d853153917cb395873224a00a51f997aef92de157c690bddc4c2abb85cb4a9e9f91e7ba3a515513e93825114b9a8684d043eeded0cbcce5b8f5520457954cf813a439cb0f615c3aed8da47f66846ada16a301e0541f7e81a99c529d576c7df83ac108ca58a5aa08cac1b83823eb1e830c01b24b6210c0b296f470059d120e7d36ccfe486753fb1d7ae2f99ae13e8daf1b0881bf690068784f65734280052e7f4aa647ad785b894b70a6d448bcfbad4932f6b2a8c787248959739bbabeaed1eb4d076c6806ef52cf7aa423939e52cc55ffbb80a0c05961fc93657c1a46f13e4bd9e902fabed7de1a661e2094f9903095982fdb78ddc673f3f4e86aeaffd9a795aa0803f2bfb883cf53718d78d0bdc97776b13179a7276a0d095c1e67330760a2142d0e84d0338074ec91a250c40e9f68a14d71e443545dcf45901deaec13275c0944fc967f91ce01eb6db3e63f968f2292fe0b4e395e5f9e882fd7fe7392ec192eb170e1a2af5edafd5a13a585f6f65c9eae78728ac1d26c5335e541742d84dc0283b00ed2fd5adcf5e1ac6f08d5dbe17acd2f7a61b5e05831b700430df57a963ab94bc4be9a705441db027af274224b2b47ba50af1b440031c6cf7fcbcd542b530c3c8c22b984a0912720d7651c4a46ce71c0b15cc7b072c6e04ca9ebbb8592098594d3a65bb7b196195d51501a4f47cea5ac15908ebfeffbe619fc37127920c138306470f38e24e8fd38c8afcc0934fd07f0f7c1bf7b550dac1071734cfbcb153c7be0fdccbe3cdcccc569308a93542d41a2164ef2df70e0f0c490b140b3fdf8f284c82bc1f4088d2a449e9471446a8268820e1858f66db110f3d6444594a798192dc9228574b8f0c71a2563b02c4d10e1056ca099cc87d84c67494c874a80c1912326404454144b2fa930293d52c112931702248a7da9e9e9e1e2027a6aa336448c81029a5053f13ca112b8f88645dd4d3d323021fac588d1219eaa188871e9c642925073f4ec44ac4fe0ce1d446527e9005513ee20b5964d61ed1a42091d59f26789996430f291f08ca7d6b351bd42a050a1ed84a49f5e70a5dd624293328ca9ded1c2142631b3e62e91c3a02818f4b18a64c993265ca946ab3acdaa969343b9a3245b5fae83c9a22050a25b76c4ada322dd3326db31d897424c7feb6ecd37e66e74a252dfbb4321995e6423b92fd91f4caf286f1061d1f89f308b6cae33ca279b1f272e6d13c52c116c2903b03247b281d131874a155da4f325b4948fc7c60d8a0fc40a248b35902a18910498b1784a1a3d5de286142a2b5ea1c0db11df104061ef07e28315aa2fbe18120180c5a807f1c6194da02690c9985f5f4f46ce0882c582ab541e383051f2e7cbac8aca685cf3607a874a0a7033e3ffd9279543d8a7a44194e964e18141b343f3a30a4051fe40e8216a2c85d8ba0e920e101cfd2228a28a2084d4a0788329bda8247c494295354558959297dc91795b5c75590b4532555aa593bf002273e888e28a557e0e615dfbc41ae747a800bce6644191557d820f790adb5924210630a0fa8209481211c58d1052014dc580f542151ada9308212b96fe9113e9e06a381d9a09154546194595bd2b123b0c25604eba4a7a707043a47844003ca920a25f400592014f000092c98800c4222e042ee7f38c84d05110f720bb9c901960d7d2003508a4e1a386d3027e2c379b9bd4863499ac4b0973426e35dfe6bc75c7e158db56e0fa3b198dbd3d0d88c5b973b7dae6cb165cdff4f8963c78fede710e7ba2f5030439e3e3496c4e549c413711cd9375c2ec5691cf112b1e134e1217315afc471b9130707dddcba4d107098bbe4002c9690210730c0fb061032040107b80610523bd77d13df5809f0d6dde131ae00feba05b88cabc3675c20775d189dc7dc244d820c40e753491222369c0d6855aa54c169f2e33728cec429000176d00972658b03b84074b892be7e5c4e4600a398a700e474dd97137ce3a675aeeb92eb4dd284c77df4d0b28f1ef7e1a347f571ad8f1e3caeb435eb5cd795eb65b9ee0af4a1e2af528ddfb86513701dcc5d223ec65de2f2978b3824de7ea25b8a7ef5d12790c6c4d7f2a350a82395d197ba9432a652a95c5795b5127ca34b5be21b3f8d04aedb92815c37cc302dd58e7fe6ced387e5fd0934736c99a505134bf9725d7004a7ce75595a04dfb8ad54d1af3e4267210511aefbb174ad9bc35df71400989c00b8b41c18d77308400034987bd7b9d6b53b33ccea9aeb9a6cd04ef413fd6a25beb1baaed70d8296ae75638f716bfeba388fb9f9322e0e9f716feeba5d86b94b6c5e6f92263a72d84c23240e1cef4f0ecc9a1bde3497a4e5ce32edaccdb5fbad4938dbfdd24c73bb6fc891fdfc76d6719754bcd95c296bae94224e1229050ee7341d396c6e920dc0b4be01223d3635d7cba9c171c3955286e64af98ad5d83287ea5c974ba294eb4dd24ef48dfe068ef4f4f4f8d05807fd7c6325e5263027e2382e9f4afa75a58cb9524a29248d5ea472b92ffac63ccc8d7145208ac4f7fd3fccb577d05dbc1c0de3f8ae1dc6d57abd37deba3377dd2d4f9f9e71bd5d97e6dfae3f73db897ef56fdc5e41bfbed3b5d76bc35bb786c75c99bbae9661ee921a8f7197c0feaa61c3c6fb1c0d57c669dc19f7994036eee51ce3f86cd878f17ac86c030ba99e7413a80bea98d87065d7706bdc297365bf66d0744f1f6ff678ed5db667a42afa4c322e0d9f7169fc5cab73dd4c89ab735d9bb50e7c6375dd1ae32e111f33445f7d194d94fb2f113714daa573e0a5abf7c55b7786c7b8f8ae4b33cc5d72936c00a64a952e7a7a70ee89107100f0a904c65bf49138fe5eb994351d3465fa2be7fe5b3300527018574af1c595f235c3bdb2c6f8e246d0d8419db94a7bca6a67e6603ad7ed3c95bc73dd9961ee1297bf5c9f0fc705f71323beced54ee88b097dc53a286807e937947525ceea8efd64a2ee388d805a8ab1b7e814b413b94d776ca1dcefa8cfd84546e650a69f73ca498f34cad395670a51a24234cf9c42344f8b1093a75d6e408265522adb62d3936e71c2d02cf28cabc52e9d1e00b9670d9dc294e9edb3ba7a865641c200206b389832fdce4f283541c9fdeaed40c2d9b0e909ad2d6968d97881dc52b4b61ed158890a7db5f664ca987e204d3c9041300d21f74d3a9032a349099ab763e629dc96bd338d769bb2b710b95ed2b0d7bc1ced9ac7434621679fde8e97b66db39ab26bb8ab34fc8af86c762a34879a9e94a8546c7a627a426b898ac907a627a61dcc58a9648a223795a1129522684f463b2ccc1a496b9679835155309e165127f46865e84abb59d335f6f556eba6378199c7da4371ed51010d42a666927bcfc84944eecf58ed99af7ed5c08c9dce99ee147c74d6c88c032ae0c2153e2a184366c5931564c0b3a2e7885415442b604177059300b860e80a1d38a294d1498582a0248a4a8b7a7a7a8eb889d201a0cd0a4971925b1ed922a0a822e80a28b6b0b5da5a044f114fe8e00a5c5801179cf08323a84003a12a5860b32b68441a11512522a2310dc81659a3ce36281688c63222faea6f411f935ca9d058b6f57c3ed912d15806442d1595eafb329fec47d3a0d03222684054a850a142444444f4e4c9932719108d693ad0a0c87d8d8adcad1121f75b7bf2a4b522920c6ad18cc939ebac82a88128100f808872bfa9260528f7e5ac45fd33a46383a8c0d5b6410364adce90104d8b52a5f3a607941c7a404185be6426a4089f4e94a0214fab3028a0d097dc36aca333a423045603200ca5e3810e1189d6aa0365e8091cfd81132cd8eeeeeeeef103a2a6b507949f0a05b605da3d7c7044e9d6041d9bd1acea18654e7c725b18ad1c208129d38868603668846e502b932c7b26f3411038a0a4565a69cd4a59a69355aab54e77f78049ee9b4a97649a900e8232911e7828aa34084bf80011aa533ba8a7a7e70332b094b4fd6429e4448684900f9e546abf4c045086a014454902092c5ab4a519cd2cad96569bd1ccd62974ceecb2076d2b0ed27b5691f66fe86a5f90646c7b7d554ecb556b9ab64e9af540813521c5ab30a19a654d4c91e1e87cd856faf8e9a023f561372df6c8a1c51c684cfbd4a1310ddf747777dfd81eca393471839b2d894f521d3aa4a1f4d0a1bbb92ca334f1823cc28a28d7f3953e3323bed0c5f7d512d44a05088ca2a084115b88620b3eb8c206618a06ba2a348c05b93ea6672cec2f9a1841134994e024ce77eacb17727e19cd68a5afb556bc24fbb57746b52ca3b6714bd6fc3df1d58f9da436d350084d7c639767db206e3eecc0d7a2ad7cbae99d3325e8b96f25ed31e2e9ce2a7c7c34307c345fd36c34f880fa470734f42be18ef2d1672f29c1915eea304d8b373637362db6cc427c230dcd4f037d4f7c32e7adaa240d6a9ab6862b1dabf6f2e2acb1b8fecc6eaede987ed173ddd59f59f39233248d1da338b1e84df16527cddb79b3a4acfb8a235c91b7f710257943f89c50ef8a8fd258fde91f157dd1b77674ceec8ff3448b3d60f8c6fa5383684c94af1f1aab4ea8468f808526359f3dc7d1c05a61ed9c76ce39ada5b9722306a69c9ba945eda80865b0b97427142050d183ae57e2d8aaa39f01c1084fe0baf8ec144058821bc31c127bc61ea7646de935f3419645a529797a392b4b7c12a75e8933736aaded836ceb9f7969aeb7898c020532e4f6725648f0e18831d9692866ba695985623f28b4934da8239126d00a26174249e691cf0f13a4ce0a554117d0e2ec91379a4d88c6a69151cd6784266fb75eced67534391b42a4673215e924f64cf7eca7eb0191612243321e0b6871f64063130b4dc2a573d9e91d623445a70344ee3e2f85086ddb1452e5a009cc3c4ea305d00c21926d3496260bc1754847c8349a46d3c84996713d735e1ec102462802105c6b47a626f8549f171a30a7fc760412e49e53fbe6bf4cd3460af0d8ccbe74798b58dce26e3fce16877bc8cc5dbe8449128ff63f6cb7a42c370dc7064c896ffc289e429001ed2e9062b4dff416e51b25514c3be9b3c4d1cd06534563d3b1ef223982fa58f3eaab1fb2886439f576806fc13b9d59f028ffc3cc2ca8b35cd4e545c94b9c99a45ff32df9ed12cf9e0db0542919836da0f89e9278c9775174e51e678189445f335e2febe9f4f150b578fa4dcfb8ed847a9dccfab2b503fe8c0bc19f819134a9478271c542f0677c064672fa2a1d631e9cd3b9d31dbfcc83240cc15ba4e542e4da2c211e4da3e92b214b4bafe09d5eb9a9c3b173cbaba9d60aded412d65a6bad2d1f772c1096b734ed58a8b3546799fe5114eab267501fadd061684fee3e6ab1badee4fd28e5f63c1eaa87df7a86beeb997a5abb680a5688c5cba961d722b5e15e070051c66968cc067c84058398e6a398479a11c6714768ece52b6de6868df08e5fe641028615b42cb7c84af8ae6709cf826d15f995e52b417a0ab3a6e53774e710c7f0d85628d7c62de06b95e3173b32133b0d5764c78efd636576c5ad959b1e7e16a566388c182f20eda35ffbf55dd433e1c1f716b3a61ec421785378d5f53c1e385ade7941badcc711be9ddc1fa6f3ea4d0fc38f1d861f1b7c0de7f1085f04c4f19217a4cba1a4345c522cd3edaac12e613d0e2a2b7766161696b3b0d4bcd2c2727b0bd3adef6bfa0d17759acb7aecb67e4355aa2e6ad1f4233466c35f56d766f0f81abf8147b186dbc023cc063c8b6ac0b01a58d2578c8f22ec315806cf701a98d0c0ddfd117c876118ae84783c81539835a6d3c396273cee58ee2378d3c7f0a64bd95f13df09efd8dc780cbbbba50784e51dc31fb7191fbff0528678dcb13177c6c5777a4058aec2e36c2734a6f2ba9ec29469dc6ab9e92c0d04838931f028c2c0e35fe051f519f0f8a530c65ddf74f1a8ca190c7dd1676761b9e9a8b36c567d64c13b36b37ce5631b65d4378f87ea455870ea9917a4cbaa1f79a12b163cae6e6271017261294596b36e95220b1e572b2a3ca65028d443dbd2d22ca7b106716612aa234f3ed50edf3dd69bce02d61d9b59704f61ca98be62fab6ae8b7a0ab3466693c90a656e76a7bbb548bb7652eaa81c0015a08caa3ccaa351652426f767d74742541e2a44c36832a4a095524a772acd3b7aa7f5a36fdf9436d136a9dd6aba0ff2749ddc1d8169f74c2fdd9d9a3558b6f5d20e945eafe17142c9da4b37cb604f689c3c673ea2f6e54cfbc9dce9dd35fd74837437612dcb6e68777da0b0cc61bb5373e99ba65a11faec651ebf2036ec990cff503f5549dba497f920ab9c44ad127e98797a39f6ad3a739039ce4fdcfa51f37ccd13b77eccdbcf5bbc33f324c1ca6d2d31a06eb7f5eeccbc492338d7bf207d5b976d959ed66cf5daf241f30a8bda8b79da2f2c1eb56bb85bb4ba421db26f8c1dd55479f5ad75d4bef103cd2b3c02a1c5bcd0c66b5b6d5d1b30ededf1d03420b2152d5b79ebaa5e57be7065a3f4db465594d293f0f6af9e526a6f4b7be95692ba8f6eaa158ee356388e6b7dc5ba6c31b32d3c0291597889eb5f8babd66ab5c2a28ae34c2b1cb77252ad801ca85271dc5d3978c71eb2eaa73b1ec9aa9b6ea7faea0ecdf53eccba02061f2a26536d712c3dc7f47a49b896f04d9b8cbe4094575e73383cf2e41fdab7d773a63b9a5ec4fef46dbb2c72bab59f1e10fadd7e4128e39065145ff009cada894ca628bc40250320cb28bce02447e105a3f682906e4f5518d662d3580f8877eedaad2daa308cc3342daa2e6c7aa623dcc799493e4e2f6118907a8dbb7669bc1a01ee41ecebb56f91b8526907c5db491f8de4d6b72b33ad88fd97356d2567757b6f28e97b6be5dfb939bd1c96d92f6c0c57f2723692a7034fb69844ab6cdd8b9e1133e9be64aee6fb5aec28b838417e697db7f6acd64b8ffe350fc8cbebea301f6b7671d9aa66bf0529510dfb2861d922a9f4956d75ed373d80ed240c7ebb99fdb6915eed6d91aedd92b00f0d97f0567a0bc9d620ab937091d5355c84755bba3b74c33b34af4e573e16962d3ebc75390cae2dbae0317cd9acc992e8b7db70c39584c7d086618b1587e7ec0def4d8fe7d06297ae5269aab35c2e5b6c7d75c3bc9deb6e75eda6dd0671719d45fa4daf582cd5572c2ea9aebc6992eada4bcfba76a876d259df363cb248df4b56c3add32379db5cd79561fad2c6d5516f6d1bfe6166d2a9e7c3fef85e7aa9349648db05c20709cb4c95dd51885c1a57bec233ab5446f2ca5140cc8438078f85a5d6effb0acd7737d265defe6d98dad13586d2dabaf9a065e903cd14ef348cc6051f771b34dbd37c262f67dbbacee3c1fd7423c0ddbbe91ee1eebdbd1c0f1769d95beca343d2551ff61d1e658bdbed762b6d8bb93b6e9933b93a5529dcbeacabd9dacd87296bcdc9d822f6324bcfceace15188bc33ee74e6b06a886f7b90ed61d72a796cf78156e1b2abbd7f3adb6ff6a38901dd13259e25362a5912aa0d7215e2034764ab859cd14b7ae9061971b6afdfae2c424f71ce70bde3ceb32b7b03c247eb6b8633bd3dd74de9108be2c800275fcc39bb0a844f25e1a9448bf5253c7f7aeaa86af0a583dd59566e7d096fa403d1629554782079df52a9848dd88dbeea6750e9b534497576d5aa3615ee41b4a511973e32201bc1d9672a99f540206922a44f7f1aa318c9f86356a9928fd0d60f0c448056a9923b6ca4fb779edc9886beeaf6e5ad49f71e344c64e7469c4bdfbe7d77488bf5130af7ba71184aaeb48f393c966e4b1bb6f5088d79bd39e1e6e58b1a1ac919b5d4483895fcccd99d93439f7cf3cf9e0a3ef9e92369344db7a92e8eb01e34e6e1e902f9ea7733d8381d7c252854242abe11419c4b78024d1ea510377d261349a34f8ff8c6c9c4cef8d4698414a78fc461df20b8926d93322c250d8b472361ed195a5b9c47b6b32e38d93374b694b3d6ec7672fea6379e3aa915da90fd60491481d24c93628524961ad13eb84212295728a2e6c0fa681a09323b2baef4029c7c41af926f6a9a9d381f4f14595e8651acc069e124d34a70801a1ce10b37009ac112495030146109b646898256a74e16413a35c0a21461250ba2231e1006278eb8d0c2168288983f5a3c91a285149b141e3001e9bce96e261451daddcd031ee46edb4c8042a9aa89226ee86bc26036686c60d20482931153ca702f8af7012b8250258b1934410a5284e00b49184a82169d14251441ca728a1fc0801403983614c54f4f4f8f1137249b69a91348c1a22777cbe047ca12b278c113b0d082285eb042176cad9644821234810c4f8c40074eb84211940b2c84a46041841a05044d6437e036db752d36a5f6f472b4d36eedaaadf9362fa7b4337679cabad552c7f547d8ab06941b84a018a2421221afa48684d9ddda1d10a62bbb43d24bb6dbd2d733b444a23c3a122de10874b9f4fe56aaa5125e4222595756ed6dc5b2c86e50e05a2e2175947a39599dd6daec1c473539d32213206b3e394a26647903c8997a7902c89a70caf4072067b8cbff90352a394a2bb2e42173c81a971c71c8f237c899f07246d64c1959f362caf4e56b903360edce225d2b33b2145dde8a719d056b7d25054bde356b6856577dd6d8a89ec2e3cdc463675993c394691c3b248dfe2823cb8bb34aeebbc47cc11593fbb0295bc8fd960d2b34cd13a2903bdb482c5436b97f6384dc48c8fd948412a474e708e4abdf7227086412b498e228a3d6c83b248e01481afd7e0eb3468729330229c990fbdd239f3e2f4478ca09dfa3ce10d78320cbedc69d95bb49d1db80f86e95a2974f4832f72a7a99c3b5bbbb8474ebe5d83b7fee5482039a402dc64a16a8c51f5ae2b8ada346ba4cbb478d4067696736cbb0105ded72ed74e857bf87c5c0366bcf4c5088e6d1e8a90a57ca324a14a1ac7271d2c6a4e9cb49df14c35ae4a1c5d978aca794be279d934e3a69b0bc447880e181c894ddb35f44a407fa21dd4da487d90df968688c8894348dc78f8a2c073738556b44855190ad2cf8ea900d1a211c11e98187a25a73300213ad0288be68d5b2ec26eb2839f03969b4613668a860a265d9c9892c8848860330ac68558a107dc97c7242cb32225d1541446a110f3a502012050746a7a11f42e021ab4543472922593424451719d84e41f8d940673a129c0704a32548dd14472ae0a4089a0157d281326448c89029983c41224511344569f319824933d28225d3f08f20084d31fd80c2288a136420fd101222a2f4430aa29d57aa1665942ca32c418acccdb8f478e419e7b172d960054b50620949b88842b4c511f2ea3fa7757628060cacd92319f51c072f0a873a39d6b262b27d7859778c1192c16f947b51f31cd7e633dc7fc69db9078d3513fa1272913a3ec4061fc9a9e738eaa6f008cb28944e785347dd3126a39eba6317a2aebd76597814922d9620361293ed500c18380362bffabf7a3d92f1128368552c108b5b3f7e995d5f7df265ef8261708637cd735dfcaffe2bb38ecb83a32291fef202da97974b6f6bf1e5370d5e880c9e488aecba8d0b1109358128cb286238029a228aa32ca7d0c227af74359fa5a1f98a671f7327cd696e138628140a75eda8e62008b2b4a3ee4ee71b16bc65b1ce42b15828d4c17b1a5e527326596699a577c3859a2cd6adf4947c52ebec516f6f6bd1b27eb22cd408be3d203f742e023ec5fa0fde9f9553770cffef74767d89cd39d7bdb7b939cecdeec6bdafb939eeba376e736b2e3d20377e73dc244d644cafb9499a7ca54ec7e5c12179abcf78cfac3ecfadc27b2824199439888bec746efd001f3ec445b4831288ebab3b665f9dcbeecf490f85aad6c40a0f82f73beafe99ea7488d0d52ab0aa541e0fdbfad1faa1c95c75edad1fbf7d91efa97f3f6e11d7ef65fe6df9b0070fb67edcf8ca577011d76fb86e2673946b870fb34a06efc3ac927f8e76aecb022f4cd200c1df7e055abbedc023921ca2fe3d543dbca92ce6ae7be3311f63f04ee74b03ef74bef1cf875925db4f0fdcec85491a34340f2f4cd2281dbc29147c3434b7349917442b5d7a3b68b01d3add207db44376c81ee15a229bc515dfcb473bd4753df372d2ede5a4945a373dcd53f28d1d089248a7ded622c97bc9d32e3dd2ab25198121ca68ca78897fb96cf1057359b4382789099ffd53f6dfd63189538fa68c96bfc496dba1137c633db2431287944145ac1951e198f846ea537d248e890a6bdc1ea44c248eaff0a8f2826c382e6b5c99db8785e2c04662b28dcbe770c7996d5c7a406cdc65230067f101c0b54301a8e1f686e1b5207865b69605b2ee284466a1aecc6178e9b134cd094cc2a36e6f78f0b25ae037267923ca75cad8b3c030b4e1b5475de6140882a9fca53890c6c6f5245b4e76f682b6a31e8f7b556a7a3931ce1981e518a75e4e0c2369b405135a3891c5ff9ccce19351b45092a3689124c7e668b7c01b9316ed56a7481af33ce0d5326a636251079dc823f89dce21c7715c3da2dbf7a954bf28c260346078f0da875c77e04d675306c4990dc2cc498bd3f280f6e21b2a51d90d05572b26437c639d5267589fe0cacb81818181f9f4def2f29be650b24524d9b6fce55225f9e5e11d6b0eff72658b48f23fbd9c6354785b30f5a131c30b1b2e23437f7a8606fd398dc3ced1b8f40776a90f0d1abf6939e331e16dcbfee6120775496335c7e107c8f11b1c848ee7380e38882642743cc783b079cdbdd60e36aff9101b1a86e8780eac93b51933f0b8e51a366ad420237367b07127159b1a35d830c3b9d9d168272f6e3b51a3061a3e038f35cf90f1171e63f2ebdc6dce836343dcdaa1e6361752731b8ca4497824395e83452135b7b90d46a2e335980727c41cd7dd445d18b7407e51e6f0f5adc5d7eb75630ee3ca5cc61ded636e2426d3f84ddb21dcd2f2d1330ef397dfd019b7c6c5db323a2e35a2aff91cd788c6a5e1d6a8356e15f2e91998e7e5c0308eafe63a34d445c2d35c24fccc30cefd5ea12adac9bdf64e889702338baf433df353806611fb30f3711d8281ab503b69711e859b89cc633371a20ad52a7a38d41dbb05e31398f96fd9ff610b460b066ee1967dcd735cc70f60f39bdfdc06b72c6eed90e3353f80cd71380eb7f99444a31c1aa5500aa6435fa9ebb892be6ead4d598bc33d7da5387b51e16d851f52731d1f82c36f6c70ebbf390ecf815bc7ad10ef50731d3f000ebfb98ed77c4a2838b7f9230d7e59fcb2c7b930fa7a3dbf9ee3759b57cdcd6d5e3f8de1804f5fafdbdf5c1df7f51cafdbbc725c1e1ce9bd6e737970ecefa4d23df612c66f1ac575ae99eb6e7aa957173d0303ff262fe7282ef28d2cafc0e209f0e2b15092c52caf58c21651b210ca31fe9debbaf0ca3cbba0d2333da8d4b32ccaaf7f5ecee7e5583cb1d0d9db4a5d16e509254f2fe7756a448f688c07679e83a5601c15caa0afd4533439753175181fcaa9a3306e794169d8be9ee2d1c7a34efee751cfa050af73a83b8f8c50130b2dcee9a18cc0b26c517c9d258bb267f27c74feedc72fe31086e171d091237c3dfac7cac56138e4d081c3d571735c1ea85b2c4f5d0c583daa5ca45e6a2e533f8dd93c75969793c2383e58b6b9920e517c495fce9dbad4ed1ee3caac93c3f6dacb09b1c5527a3047fd778cc93fea86778c1192ed59bc1c2bc4484c8ef1158f47675478c7f0292e75735228f89eba33fbc80ce3e21db70ce330d7ae783928187864f963702bddfc8c8bc52eaaa28fc85a21976602a311611755ffba99b4cbdbfb517239f578c038ccb79e71a991d9babce5e5b8542fc7e2ae459f552a954aa1be92315229d4572b275647a56288d9ac491df50a22e2171e1b954aa152168f15bce397799058307cb50fc7cd0679641d758bfc42647beb0a648147614947d6532bd4c114ce664d78d6b8d3e30664f58f9dcf24b3acb5167fc7621be222ab7f35593f56b72b144d6c54f9ac5007ed6da5ce7a08fa006f8380b7a8d759638fc2d6a2be31c9e161dc7166182f793cc4a37011d47f4ec4d994a14614c70d3397325685e86bcef00200da4b0b46813580323a8f0728de035f856c54211baa500d35aa509ea746306a24438d68a04634a8510c9e418d64bca81188baf88d2873a86b5137cba93bf36ab542ddd5aae6d4eb9401cf7932b3ae3d78598f010386d19151cdc72fc747558e6b736b62ec8c5bd05a6badb53606756b673c9b352ba6d30f8607312bd5042ef25b9005822008822008c472dd5950c64b059b4c0e0485b329037e06885b33ce7a783b44632afc528f70e05115fb0d78fc683e83c72d97704b0d7fa9013b005eccf06cd68067d98cfa4c96511f69f03c1ea817b131377941ba8c3af5a1c1313cc3fa0d3caa8eacb535e05155038f87e15194c1238c82acd3c8660d0a7c4c18867ff17242f0da2ccfb833ff7fcd3398e0cbc0e3f6c2e327e25125c2c0a308c34c3ad6c684c5fd82e7426f0032876fd4b5732dddbcdc320a8ff6aca70e5e9977b27c9c4d1916cc59d7e52a95cbb35923b3cb615c308e6f6392b9d9c1b80c5196865b5ef0a8923203513e9b4af54c4e39a5eb2ef7ced6551de62ef725bc1545188c866627cbe15de7c25ba9d4152bbef03cc2875cb43835ed7668a27ebcc229fc72540b0c8681796e79e5c2baa884ae99793cac11d5552aefad9b9e517d5a7bd51d6b561dbce3ec614225e808c868fe1415413112b2a00541318320b8623dbca8b36e90f0283cce1c3e835905826091305ce15127a35a54f786c6a66742fc83cda10a858dc032387368b7163bf9b23fd99b2c1e59b09198fc7dffbc8eab4776c80e75b6f1e0a0f34910986419650c3f5f96536441949ff4e62a65d57adfcee3e1d60ea46f1742fa869134f18e8484b77b58488784741e9cfacdfb56de5de268bfa1b1d60a6eed707af7039cdee1209a0831bd7b1092be3e3c8a92be347cc241fc8627d793b66bbddbefc84e71c5b04c4b9fb24523920846e36ab155b367ba77ad588ba204a02ca388e128abb2bce2064f3297751bed15a16ff2709d44b3fa8ae9cc2a97f6e59b265d495fdbcde1226b4cda0ba26d2d6a38cb2eadd88824ca14c3324d234396c1644e706178207aa631ed6a564995a596eaa98637c58e1cc1e03bd222fd8a103ed34dddb3535434737825943c8bb66d16d19d9ef9213b028449c5e2c4d44e4c3479a4c9269309a6e5034fa116290cbe2eca26f8ea7cd23315efcc9c2314dec9139986f7ab370647a8e2bc1ddcbf97ee77d56914bbd3581d1e3b8f0db445d18f121f1f250dd44034368f807c94a08e4618952eba878b15d7946159f1b0ec9785ad86aa48b9320ad5b9542c1fbf54caa6c579954a66edf2be68b1ae7c33663802c6beeffb4ea9934a24954e9d696592fe9d235df1a493564c97023c99543a7594b484fb0bd27d9932f5dfa2e847898f8f121f250d54544463dec329c3e2c15434366021a90bb7f065f5f2c27d538605d77eb1b0cca23006a55db9227da8daaf6e75d47c62a766fad5bd8e74e7cc3db3e9ce1cce0ce6d59d9deaceac7dada4c5ba6580e3a13acb5533c619660ee4ab7ed432a5a70c66eae4f4ef743a9156da0746631c87535f094b89650724fcd6224ca69274fa938c1da1af7ad03b6cca18c1f974fbe7b68f4fae3f612a35f93ac1a82945410d53800708c8bd95748cfb94f9eeddc945bf6a2d9d30a594fe7b33d1affa066ab19e0ec3f9746786d1faea6404ea99eff5cd84e9d33e121e9fbfcbf95df372bed5b92b718ed824be5aeb388f727db5af59aeff2c62797d78c1bb4d1996df50d457db9d40e7511e6d81a229947655cf903ecec8a71960ad19d3c7533e5dca98f711cc27533ebd93350d3465ea4f3fbd9ef0f8b558b9efaa88beefe3f761d591938c71a71f5399feb38656a952c3727a2a35196bc19a7c9d4e1f5e2ac5d3c17b92399dbb27f93a7d30f9f4f193af31954fdfeb390fc8877da055aa70df5a3ce1aec58ab3e99ee4cb7b7d03cd9a4dcad0d71fa1310fa72a4ca6eff0b8d1934a797be701a178098765bf4adf5acc4eaaf59aac037002d1c38e499cfaae67da4915626aa5b984157e72762eb675eededed65a186be7a43193949bb5a6db9a5f390fcee9b6a6762127cd643a12eda7f3e070dc57fe7dd72e84fb4a775bf32ce7c1f1aee77567c1485af31f7d65e7c1e98ea435f10484b01c3c01244e92f04942bc51102341021ec42c58521e1cef3c3897382b2b587e97a7def13b592e5d1e9c138e77254e77250e57c2435ad4a1e2ebebb4980969317bdf952bdcd098a661187d65cf6e5acc72e857f6ace2ec2b56f8ec2b949f929681d6ede52cfe619551773937b55695ec726e49cbf79beff62cf7a65fa49ba450cb5b9be1ab17600c1fe5ad9c747023fdc5b72259fbb2a4e32bfb45fa5838dc6ffb96fb7e59cff3de7a11af07ee5d0e09fb604ff2ce79ef3cec030a2f31a2f4ec5ce982a5832f2f9d8ec72360685b4a1c1e8f48f9b240a43209fc10250cb69838933d28a50db6c6c893477b126849375d890392320909f8d25b5a9a90602e3d1f3032e9be745b4a20f85209ab5e72851f22f5214a0f3f04f8d46fa87cad60d27d8bda4b7bdf8f75ef1d6164edbf3027cd8aacb55cf0d852b9c214e9a4ee165922841c9aa88f46e4d08a857d58e12546a43e84eade53d78a8cfa465f74e2a4701519657ae253a55257851f02fc109f7ca19e6af910a50f017e8895f74b60f8d25b4e1fc4e92d21783faa6a52bf7222b51cfa0102234f8e809679b2f4786cd9da937e9879c39986336c69b74a82db91fba26cd92f26ad36d348234f3ec92cbd1d52d29034ec1638f9623cf5647aee5ba2071aa3f4277bb54523648c4a1cfd27494021010ae8fcb1afa74e682c7332aae8b3a1a13c5a21e91180e2d4df7429a85ea33c929c0865facc098d6544902ffa258cdb1332bdc54eb22a64fa899d7c4b7c634928531b3c6991de490988beb22149831ae591e424ef4071bc9e7a29ce0685aff37e746e2c2fc551518ab3a97a6676ec3d3d3d3d3da79eb648e0ce252182d9dd2027f1854caf842273d30356b407b6c8f4ca22648e1e81834c6f4de6ea115bb03f995e1999cb7690e90540e6b4a24c2f4ce63624aa647a5399238920d31b2373a5ae0799de1b32c791368e3341f1f3854ceff30f5bf641ab52869e3ccfd3b34f50a78bc7366e7d8426ca9da3b253b66914227756cacf39b36c4e7b798d48693b49a3ad0dbbfe346eebaa100124cef88d54f3d1709c0d4de7e518a1544230db8614aa447cf39eb7030947d2d7c43946aacfc42ef84caf447ce1d752765322bef1a44dcbec4aa52b2b2b2b3de5e9935bb6d9ad6edbb6d1dee6b66d9bcb344f3b8b3c819a5bd3a08c9a14595302270fcb6426451c8923397994e7b327a128095a773ac7c92a329b9cdd46c76059f6c1323c965a051ff7cafda6612c78fc422dcb320f4836c3c368ac35714b01f6e085b41c85913499a7116249b718c6e3bd7a40bcf1fbee68e3f9f4ec1af94e2ca7d3b77ddcb1999713014a73a9b45d5112e13421f5b6a1c00979c51541b225695ec1c5768516a69ca4d95db72b86a0248f5dee99b14a1c720849b28a3a8193b2554dc5719319c924250d12ccc8320a0964d04f5ca5ca6c8624d757aa515bf3f4b24b8a45f0560227e525d895245f75cbe8440149beec942f5ba537416085a313900f30b1421510481243507a7a7a944419811558acf8799265cf74dddd1d841550c98d841549004519411735c86cb50067691045431a6c090d78956a5138d2210a5474d8a2670b9fdcb6c2b28c62020ea060d35624e07914c89444aa40a69762b5d9b413735b7c33ab99466dd55cd392b66f5e4ef6e9f1e83cbd9c8d561e582bc4559969756e5aeea447318785cfdaac661a6dfb6aeb5637cb6939a43669ef6874586a5e8eadd7cba115896869fdb42e806084229c68d59ee0653a50860c0919f243450f3a7bd343872698549d2143a0302537bde9a1030a7cae38c2152db4b69021414ad420263e2890614587a0a2281c71ea824a27c55111911214b5326a8b6cd098c0889ae0889a800a3d41cfd7dddd55349181dc447ae081876e03b65a6b2d2561616d664b308694566b0f2839f458428a7ec92ab623f46b892cfa25f3a83a3d41d7e00a2125a2b06d1fb85407ca902121439860725383f7cd500f2839f43881131d268cc01a3224640893936451468930910517ad92742801150d09072c61848226ae10b4812e289527559ce0074dc4901560a83cdce470d3030f45366419c50454185241e148d4665a2d715dc7954855936273e43e9538622a206f88dba68978cefad9a3655aa8d979e8b4af9b7ccb4b29b3916615cb4d5e76145f9f56a965d9ac350a510c6d76f361c77cf61c7a6192c6fc96d5d3b96d3377b29b1045118327a2f46439451646723bbd24adb77ffbdc4a4d87981cedbaeeddb65d7a5d87b36d624fc957dae4263d1ede8974472499e45d98a4b17d3b5d98a4416fbadcf6ee6edbb79eb9e6e16dc7767ab5aeb4f5d4ae5259fc6ded04a22d0b9d7577cfbc93eda0f701a6ca4e96299e2ee0e48b318392e5cc576953d3ea29d6c3a72e0d6ad1fe9cbd340875944683502c168a06653ac4ba30148a65afad68d02ad53d2b6be3e620bd1d01780ebf691b707266aee67b797929eaaec61d6bdcd6f0f2f262afcc45a1c2d41686b848887a68875a9cd69ed33496a6b12c8b755786f0d995217ce06dcfd81b4a436a75a79294e46857f3815c18d249aa14c8275f2ca8606194ef2f897465ee67bef7fea629290c67e5b8a752a9a752290dd55e0e9150bef171e690094f98c024dff88d73b6ab5e0e98a29aa6e11da1fd36595876a8df38eb7bc8935b3f66bef1996ffc77e4c9376e6c2d1898c379efcecb01b97ae9f198e130775d189fbcba0b8809164f8cb0108a8205914f5e9d0954f2eaae73a42e7b8cc73867efd6e28cd3804ff8d503029e6234829048786ca031e336c4ae0f3b660667ccc0b24517cc573f0b8f3199f5d33334e071e6107c48c36f3847c39d3f37dce943c369f84d4b2e8c5df68c076466108ff3547a363ce6b67668b7f1981917d0a6462749cd6d7ed31c377138cf6766b0109be38091e4b8cd91e878cd7970a407c3e6b6666a6e6bc626c76d72dce641e878cd25cef4605c7a347ed356278378d441dd8e3ad94a2f4785658b2ea98f9d7665b6e1fa90f3e23b66b8eba98bbae397639cc6f56166d77f477b568c1858b618c3e34edfb4747d75d757304923fb36ceecba84e11163d5eaae2bf30d37c3b83eccbcd170658eb933fcc5a7cf54d243e6341e3f0f33112a953c6bb1a7e42bbd9048a452a924638a8991b9f472e489068d30fc6eb05cac877727a700a844ecd7c4490c95aa1901000000f314000028100c884462a160304d5455920f14800d87ae46645a1a88932887519052c618428821040010181119a1a96d00de2e34c463b6d981af2774e182a6d5f898697a42898de7ed7cf70425dce4c6f495868b15d800cfa5174cf3b0e290316bd2604acb906967d42be5d64eafde40c2b2d2f0213775b74692909cba61b7e3bf49093d39a5ce7b06554e6e9a9cf659cd6bd6c56130d889dd76abe322dcb98cc9dd7b34dedb3e9f1fa556c3a126181d73fb87fd2e95350b73a88ace7260975c7dc732372c90c13e7613bcb4d20d79dcad205cc559cb0e4cd07bb444bd5ae94207fe4ad33baee9856885348ba86006918eb6892299fbdd5c2c8b8a096992adc008ec8831ab6f5a84198e10ad25bced844cbb4da128530bd215029eaef87fbb3a1392c2d19ac90d5586504c57530132341093811b7c3e5da21719d5670cb75d7a69c1bd58cb17c7f61719edd03c05be1a6ffc4276f64b1478e388f65d48b6ef17f1f11cef90ff8258f8a190bd206ee8e88ae1c9b00f7b29bec0f1a68614d46059aedd80e678263bee2488973f747cee9dd3e2fd07093e928a50a9b924f6ac1857b7f7d282453cb9ce1ce6b416816ea674a43ed0e0fbc5717f57fb91d5ad8eded216fb9a91a856b98c8ac354cef574f0e754905e246a846ecacbb77fcf06c40d1e2412166ab91968fe614f46b759994994443c68bfead23706b48316310bb26277fbf64dd617aac8fed0ddb0771ea4c5380ec0f9bb22f94eb0f02a356453c865e630bdd51ee1cba4a64c94fe9e123377fe10aa94aa792449d5531311da6315c34da312fd7be54f379907c0eda30631a302163ffce3e045211a4845e3e790c9fcc656dc41f6141c721cbf7c9e06fc1c8f3369d154778112a425a4b6beffb73fd62cb3b8d2c77d64304e35d9ee1cacb10b69eeca38f8e79a464c43a479a73863054bb185315169eb049007c7a49c901295fd5d071e78523cd604a0f0035db68e1da31f33ffc270328704a94e25f61d82c52c61ccfc2eb65941b7ea6a79e17e754ddc77a3a6eabfe2819c87d59f503aa31d5aca61e219fd65c17b0b69830d3ac5e23ce834a8c2f0219126da5a172046df59cfded6395448fe80ae808c2d6838955593ec654d0e38e7799f62d3538e9e6cc20e22a128a0e3883bc9976c71ef393c165b63b9f8f5e6768d627b18fe12e3d636bb5804ddeb912633c2ebe9ac80ff9278387e3eca75a2dba97e3e7d3f6aac257b99cf28e1e9c0fa4e0ed8b7009a054a37cd2bba262d984dec42664812b346feb2e3c93542fb8e4ea1ee6381fb9a0926852c67db5def9f43c92d15c602c5cd00e45f07e515fc6acaf35cc13dc47669db419d998c4a4038fcfe66cbfa822c0e56671224aa54fc7169b386808cd052d64a018cfbf214219c2b911b86dd5f709e322ab09e4471c3741732131ade7908d19f184145b273c2f053a5628ac3d4a46a6771593bac3ffc11f14cd35f1dfb6c033e7931fbd1338701248e9b5b40a008974e9ff503ba3de1092351a03fdd9ea191f181bdeaee14e330c72f32eae5be866600d24e033dd172c211f9224925fd63de0ba3d91b01d2263c9cd59323c3d1118e5d8376a79df0225a93f1e3b3eb29b17614599df76f308ffe1f68e0f6e8c007cbf6f826edda913c40dde67c4d12dd79261f82d06033fd44c533ec48ba539652b3a116095f142f71263b141e8011f19d19ba67f19e98786ec5631339eda0432d57306935282da2ff51bd27d9ceeaa1058c1023078169daa186b2b8670d499e8563195961be0db8a260628f5d90d363f3f3110f274e26678f148cca286b86027f46cc2517f70627acf1636604b6d327e8bfd31c022e1ff243632b6ac4d72e244b0ff88e98aec2771e4ecc2baf9a47a08f6662c5cbce8eba72827cf3acdd158551c35e0a836ecf39c33ad42b243b2bc79260db04f1039615bfbceb224753ea2d20d2cd0e6212987da9189f5ec94b1a4704c72fe8fe72254ca087e6685051655e0e03a6cbdca39c607776eb23a3c770b1504576d243bb0986efcc56af0634d9a2414e7ebc4f1e474b4a86a7bd23dd5f6d03934cbd87c0fe689d16052a73aca55f77e43ce8ea048d1141098e652f1bbf4b6ecd5397b528f9ac958f6c70b4df3215226ca8c572ff7185c55e95f71289a4dfa9c67e72dac9ac31d65a22ac422608681cb5f43e75774cbb525b82eb2348a8088b01a0cea599719c72a16d9ec50591bb89f9903015cc359ea841aea96ddf6cbd5354de529339792e46129fb2141225a4c43ec8fea786b5740dc2614571aa18aca721d7aece9e77ae2a4103d5b2a9638ca19bc504cba00552f71bc1c4cea0371feae65090a90bd6117f034569e1ab076ee1b5739f9bc2f2216adc38fed99267c722af81fe74d6c0a716b84005a3817ef94a75f608113087b206596c20ccb61dc8cd5fb68ccba7e91c9b7118f33442218ad5c97f9845b39d5be945e416004a2e53fa064628448566e419ac5489f9aa4900ea8420688c52be4cc8346f5da31874c4a98771b041266d3d29fe3c24b02ab54e9fa0d1bb4722acbf91af8c9b8708368713e927967758ee8e5f64010874613ef4b69aeac091e6d716a90cf46eb570263f6563d5b515396a9d90381474af3d3c704648a93a1cbc8fa3968ee4da54346342eb203219d6f95c2da9f5a7c2ef08491a20b58dbdad74f3676b2e9c543f59e5798b8669017ff5de26e6926c5ba21dab2e15d2ce28474412ca4aa0204a5df8e2a9c321e0df6202c37d93d8d1c4fa0fee2954f8adf7b53ad91e3fe031ec07d5b74f92b84f6e856b84a6bee2050cc51b098f02f693a9a717b1c241adf630df5947bfa6c6d50ffa1cb95f282d0ddf8dc2e5e209b53a96cb80c25c14a4e43ba1d65964a69e9952d1495c15a1c95cdd81150b9f1e6d3489e14d2568db4979c883a0e26027abde78169238bb2244fa40366fceef8e330cae3d9ff94d6c9d5318527a4c8f07b267b035dcfcb6c141d425a48be21583920c6bb07427b01e074c9e6179600884098cf2925c8254d96cabfc2d2e3a346139fbc20e7f4ce49cdc541d7af0dbf96c03cfbcd6e80dc189e9200803472fcf7af1d23f9bc02c48117d73f31ce6ea523da1776b2926729a66d672861da7a802c085a6b582b9b402779002e82a77307f0ee92e808e5f64e3ff902eb504f5d4070c1ba950048ce46a6a9cc0cc5adfe9d57c12beecd3f341b9829239103d245f44d450d2914023c7b7881f5636a3b055a83af2f5167454f25054195014332c19460dbca94c2bcc653746041db9fbc6711bcdaf94eb3c2dfedd93a7b8aa698648c7fc28b48a9a5152f778bf561a57249b5c3ed51153bb6da66c266ffb4dd7a25df3c2c3cedb3948af985178465fcb8444c9bcf25a13e7f3c41c11b65d3ca922aedd711435ca37578438d1b71c6a6818b1165fecb60a382bd7101f683402cf3d0b3d068f18376704565cec7ae2495b34c6c8c442d2baf2a6da02c85da58c9ee3af5a34a2904e6d1e3358953d3dcad45666d9c43b4040781b684b312d82b696390e1f03f793a7b589a150eb421b70e2a7e5e0631d6bc0463c0c22cd82597228ae86cbb24e538d353c18b18cee7cccb768bdf28875caf30c35e6d8f7ceb66af4b6ad8078f8b0c676f63d2601db5cdd0bce8a8b1db7f5d31a0f2b7dda342dcf821abcef2c8ba3d2dfbb516eab18b214096be17b16064ba43aedef9fb6e260a532980d5e5869837988e80ce57c51a895fe4bdd5978c0e571539060e9783da1bec72ac4b036e43a8a28298418084140ba1a56c3be55cca6df74e1a06db0eb8bcf8d382fd01096d16c81da19fad007f520a23a6c25622aaf85f1d38b892d67688ae09ee92cadde44dc06f2f01332eb936cd4ae22bef2c2cb6a5f2bcd5a41796ae303fb00d396beeed5f054adacb1040fe452d5b69d279b8e00741c7681d9c44e0e8af04b2e656de9993be5a6bcd3b0c0414392f4427ff532d70c6953b8e41668d33b720b07161e67ebc59f2377c6c63bc51d8062f90940fd27a60bc23add5b0d9003df1dbb2d8a46171d7450fdb51d41ffc7a091d7427391fe9e73dc4e37f056d7a49440549a2d721cba7baaeb99e17d9b1764e40ef9c2db000ebba71dc351ea13ff4d0007e24cced5be89754102ddcd5663458040d4f87099385d0da5c5f00aff2074edee71bdde91bed940fff1587660cc63aa8bf0c47f2d642e3128073a45e0954acf78daca470925e9114ff3e071e0028ce1899c48082bd94b21bb201cd8600b3874198ac08052cb6be301807edcef1696ed2d23260d0e75926495aeea6410e4f69220d76dde9f55fba7d588180cbf0d93f828cf181cf65039ca53d8d2aff7189a169e70482e29c9ebdc3fb8a6f381daee86846d614f32105372675c2be26740fe60afd61b886b6e1f551342463f2af4d114e26c30478bdab1456eef63511e906b20f5334a0e7075369532fc82e9e031b346677ebd30cfdc792b3fdf56d7967ee95f4ef578106241374da21ac8ef5803e89832555adf75968a7121a0ffbb43e3d058a351dcb758421da4c11d82b7fdac967a6d11f532064fd858d7fcee1ac3e8da00c28b7559ea87a5d28919b8d77983ce3c08197f8d5b1e000508d7217d0d571839d5bf63b0d888c9bbaaeac5e6026f88096d5e896974952cedfdf8617202372108e327449175b5199f5f1198b26e3d799b53845308aa1d418f1d6b6363c0f0204369d51534d6399c9d4fc7bd70a2afaf8bfed5171ca194300f4e11ca42e84058c47f0948994e2ac305fc179d025d8056d4b49edf188d61057d5fd11fbd147b34b021fcea55f55e262b45a75e095d567b71db30496e973eeb2c0dd79e5bb344b07be9ad4633bfa1950b5d9109bafa67b5aaf82ad2db08b95a8436a24a14749d59928d89ee5f699480509bdd199e6e00f659c143d602b7ba812b3736a21b393dc9e6d26b025bdd15df00f1810c73712601d96ee482e31a2df8d42e34ddd4d7c368efd95a965f8625e5fa328b6b5ec9d8f19d20da9a4cbd63026bb2371473ff45b6478a0926cf88e610b4f18326826409050fa8c4385ec56be4d081939266ad65f1044a81eeb141e24424fbe136591eb2f07f1977352e5eb878a44c78a02d1252eec54219da7af0d080b05661ed0432d2dc27362d84335dd468c04f42d1041ecd7e92013b8e5bdece5e008bca8a1412f3a4d47ebb92caec96b99a022e9b8bdf2a981ceee04459dc637c2719296631b06db14063fc1d0637389b7f5c681dec37c9d4db5b0c434eb015a128c33e771f85e7febbe5f07be43788bc85649485a1ddf1949799beb2fb549807fd96a241f91abd56cbabcccc4a826ddea4ea4532b25a9929c796f62135cf6ed0d5a59b24cff0f0615c72c7fb941cc34f6cd519125267855e3b3d83d19100d23ba4fb76affccc1de6da4e26684e1a139648c2213a204fa81927dd6d373f8773d1de64528c837d0541a0564b5e017f35c2096fb2523e2f35feadf7848150833fbdd0cb7d031b15225d05f3005d018ff21b1e36fe354277f2abbdb6760aaa1d65bb038025344c3218b8279900f07b8ddb0dffe3932b9d8c22a8be42ca195a4f35bb6c8e7584a29ad545030de981664b14c2feab5456f02da3fc81782e35e914687a8ed7026bb770ccb8f878c4dd7a0513a6933639fc4a322462004439dbd1f1217a0a72a161605b06433df6d5df370d0cc71e2ada6a425067628b4d799e6de1e681cdb8686c50b258f460b533b9a334a191514b839e05bce5d8d48b375136ccccf3c7b0caddaafb2bd07e421e9205160bfd14d51f5bc8d4a256eb6fb40e3bad4353bdfaf460a385c336f0717c17273850990988e422f05173795747fa6130c34104e2b6ae6f52441774fa36882916e60b2f304143670a2af09299e5b0d3706d861c07fbde91db2a2d1e6c8d1d3ab728b2f0984d1e6498bbad6869d3719826349680f66b0bcd8aef62afc50c37d76fee61d8c54ba8eaab2157474a4e5f51e12b07a93b2051e779c1afa8a296bc6fe0a35c07a658313464bc729e1066ce3a785f5bf5c2c020952831d7ec4520b8063160ead0de50555a648d7a00b225c3b5006988fbc0304c744661001bf6d5fa61287df1e785bd6204d706a59519f70978b8f5d246d685f716a4ea757cf817c36bd4855b38379cdc9269f286c156e7b1430782ee936b89620bbf2120ad460291a0b501ecdc6cbcd982669d9bff7ce6717609cfdbfcdd07b60521cf7529b2d39d24da48ea2e6ad624afaa336f7e3f11df6ab43e1455ec9b72e817ffa12d0868e5b9c1176deef330657d3ebcaae55707069ffd27552ea4abac5608e2338cbb7e563eb0f5ac652e43225f82ae3ca76a477df47efec25ac20ef824ff2894d2ebc79b2593165142c4fad7f560d4198bf548834939e7020d2c9e675d30f231835117402cee644792447424db6f739116ede6d81d164a3603fff730be59221574066c14d0785a3b9483fb3df9b59606809fd284c96aa91c583eee8a16ffc16d260b7c183f22f9291f2c67767682d09106c887d034b5f53a67f51fbb7519c8c1bc10408b02e4b566a98ed674884871285a9cb7b6e0ca75047930afb468fda7f39bea2e6b757b84e48ca7e42d5cf7b366851edb77fd3983caa07b6287e0b76b052029160051957324e46f1e94b42b82c47de54e6445e07ee821c91a0da23e4805dcf79fbf33a79a3680eb1ca4c10566bebadf46e94e1dd94cb28ca8c624b8c3423671e70d95d9455491f02cc385b25528b00f4c6e9b7816653ec3278673d00358236db133be9fcc6234f484e912656d529a3a57672a83db745af0c25e44d16ffe712c530575e3be982718a74f07633e933595695e8c64b1c21eaf859ed01235b249210feffb29ff07953c0359434cd53356461b5073ced756f0cd7704ea6f1c5b2530e42ae2ee6b1e74101486aab8a1f0ce19003935c1cd00bffd685c240201154a62195f7f1bbb336e70368bf18f512a3afa3a24b4c4a3c416e5b3d11c59f6003b603bc3cceada1cffe33be161377344fbfe3c43dfd5ef6370cfcf86667eecc36794cfdf7429715fd2bb68cacb796c1e22f2a7bb263314e89f225913d0dbeb904fb3a708fba587426df5f2d9bbb2dbd426a97c1f5b8bbeb7906d1c14a824fb86c4e6f125de94f6c5c2276c9ca08e50f333a30f23d2be40863210c4607a5c3abfe157ede0c52f9f79a43a34a15f3cd38805e58417089df4133c705c2288c24199ee16f206be4c6af07d1afaf48b6a88a0604a17ce4fa781e82e94296501a741d6ece56b9a8099486127127a2b8426a60cd7f30a4f2d60b8b9674a752cb75f4d477e5d634ee6c13e8bb5ae3b3d26af0689eb0af48954d48ffde1e5f6750f3577671a97d6584aae1782af09afdb119c847f3a12d3daa1fcbb2dbeef73136f1c8ecc36967af1baf21560e9d2abc21829b669164c58cb88ef0d2e410ed15f4cd9adde99e14d9df5c5ae05de64d1f9e05ad9530ecfa192475ee1cb515ca84d755dec681513f32fbceccb707d4d0bd736b95f3895728931cbd19ac78b2ee99ef2cba6ec02dac25a9e533ecf3b78fcf9470c115d0903164766ebee313bd08be91c1b580c7a0525ccbf4cb95955232aad62c4a8bb581e7d1526f0ec52f4bbff82992325ed0654288dd3d7d3d914489f6b7efa3890c3594ed58172e9e6e5081a805a2f0a98b3cc36fc687f241df9c03076cef87c06568b7da7a244cea434d465c99c614e012881636d7288683efeb298214992246bec4f7902ad06381b73ce535772912198b471a478edaba29bf4e7d4bde971e29fa4b692a3ec3a86d7660f001a6087ef191ab7a68a5004bc653e0548e3a818a2aeb4c28bee628f36e8b33fb88d6927606b12c45ef58d4c6b3405b707b9078d8fbc1751aa8c5911ca1256ceb33f4f881245a7911bd084f6b2120f4c723492f868c4a8395b8cb52a63543792df487c27f4fe418ca5f0c40d402a3640943524e69bc9b33bab408acbf2e2bedfe548e97165e69b17414e339be8c9e0bfaafbc51fbfa0214f88471e71c9259a51ebff781b8f1aeba40735fb2244f9fd798b127190f64b1d6bc36dbc22a41c138d0ca30af7a7f5f952429ab376adc2d57378a6dc10b535b08fbceb2198e95e3706981ece03af4a452a5e20c97b44b56cdf112270bb2e10181e5f01da9459939e0fc0f1f04d0406e9fe5087d0938ad90f16f63e96bfd66d32912cec4fd70726c18f7d46661b4cf56e032061524775a653f20e2e284e72f03f74b0ec52148a0311f2a5ae15b05dbed3246160640c2a430b395930145a263e5fd3868685a880fd3f5343a4e4e0c1a68b990b2d6adede6dd0b980e139539d9d6e64bb4cdf085d8daa6ccbcc0004e7a7d0666cd84a2c32e9c21f3013c9732e95658d29f2c2ef77e88bfbe4e093eca6b333b40589e2ee4e75230b1b309071f1865973fc7e4b235c0c220d0728cba48a25fd11c905df2da187e63d89379119812eec450cb2d7928446404af0929b9a00a1a4a7fe5e27ce811a1c0ac5747ba9708b6a359d28fcc0dd7f7cefec7482b4024974037965a2f0e495ada12053a034fe0682c6fe861a92db1dce4178be07ef717e8a1137f469503bac5ef79bf7103138fc408d0487f81d01c6d1c83a94a24c35470b8c7df3b5746d594b5983d66a0362e5a952c792cab6c3013e77423c63582ce1c664332739ddd152eaae50d59f0a4f2b0daf340dba7d06d3153fd3db31dbca99de81615f6590085cde5e7b86a53708f71646a92f3b16c36394b89e0608a7364bdcc08576253fe802659b08d219facfa63a5f0b8bc1164717f0c61635ffcbdf80cdfb9ab9b9e78544438fcf19af8dbbfdd709b16ebd1919a8b1929589a705cf42a09cbd19542313f40c98f3a5a51c5a223c7f308c5b4037f7b72d2daf4d63f95f336514a7bca679d5b30649b91719fe3db538ef0bf38350eb841590cf58adaaadaffc0edbeb57ba21195ced2b920e4bff692b6a51ac7e7e669d9fd1d95af98b4df407345e729dd71ad98927ada2c2afc4a675bb05607ab8aa914bfae469294af84c48249d2934298118bd1944010c4935fb97d8ba1b5282acf18b21500f55925abcb5b81b9fb27a3500562d7b8020cde6393c63f336012dee09e638bd9ea0611d6cb43e8f3f7f8c87ed8179ac0e3b088fa7ee1fbf31260457949551d1ca944e2eed2f5aade58a46e67e6188be27b8874b8fa9a2535c40bd69b77f55a6ea82fc5a93b57c6fe0a89395bfd9a02729dfeca8b1f77157b660a0f0504408280b5c18b8af7b1d1500c2c7f59d5642410770033f236bd45005991d192bbce4f168cec30d8d92e91d6de1ebb399b3a62b5a51d248d272d270c7c23cc440ff0b868ceffd8514318dd7fe3f6aff170559b7fb803d606ecf9130b5ff0492f0c10009bfce048397a97099780d9fdc3b5ef0720ab85cf155fc8e8fa81629ee7cac331e705c75780f5d12b37f46704a631b5d9a1da85c0106b638275909f74f0aa63ffc78f0fa32a43ba91bee3938a14eaf55bc6514a711bc4f98a96c287e282338b7d86e527ac1fadbba0c68d63f1aa6a8e169e9f26048ffb5ccb4603ace60c1c6dc0d5fb8af8b0353bc966632f99ce81ae596388558889477631a2385374e5e5a135d21d8d945e258819eb371b84ef3b7d0645d44cf5611b63c9b35a58a5d33fde5c9e2afcabbd550b39d0c47f46c4349c088800e15d944dccaa8df23d86fe7c311b3bad339dc111f28c172b2c67496785e427858160644c341dd3d238bf18427d213a9d5c6d8beac429d4b5d64ba92ba6ef5a7622b135003d6f2ab9e48760b63364ed56ab663e9e098615b6e3a3d09ca8e5793ce13bb57f80020381f91101ae3c35f824a7a4b0a09f825b4dc4318a6d4e98b7bbe99df9d2d3bc3865347320af0be6cac89920b8e76badb980dd885677a534a32f32152b060b3e2f53847202934dedf8440b004f275f805680316729ead9191cda78664031100adbdb333dd46c30dc99aba9c4cafd2ae12d85f6128c0250b9331db65bb2977ff1f12b5cb354fb3e76192a23c2f5463924b6121b0c89f81b3f9481807e102c6157be3d35fc5c52749f2fe3aabb2e4fdbe1fd80c3e4cedc4ea1402b0d20965b0b44d0b34e378f4c6433c066b55b859372b6431e5413ec86b74d4e5903f61d3e2fc134028a5d2d2b5f3b0bf3308c759d1ec1ba792caa62bbce22a78279e5439d1a35d6737f69dee9a9b76b1df1286bd66fd54df4108766b279a427ae32294ea3df0a35493fe693aeee6a3df9a3f3e38541de1849732e3509879e0d8c8dde2fe516bb867acf94350113d41272febd40f577a43e5fed117509da24f51b58b5c8881e2e95609dd68f5a5cee690269d2ee0f3b9909adb51b1d27f7d7a444803424d340aed508d3ef4924907ce177e27a9470308b3811d0079e4ecd55fa06672c0bdcc1f50b65ce7831539ae20ee601d231603c8ec87a48fd0434bc80125bb0051b12b3884b29bd7126f8c3625f7265177156a9e3ed926d6407127a2098ac7098879755ad3f5a649d3f10feb155357d691ed1df54b0d84f8a498d3bdfb96c8c8aad023d1bdc3300a02088fa3b433f294a4dfbc4daf510b284cbce04f43cee3f07ed0f69084519a63f6cd23f6f31a290aa84b98652bcb184eca4f3ec6ea5519af047717f1d2e5ec89f35fd99d45a98ee82a36a56d406b82941e4c3a029ac09755e3683b2d64bcef83502d51f589386e07486dba469699c8c9aa8fbcb33365c2d755a9e931ca1eaf145d19f46ee2dd8397cc805ca20d23b0feba70208d66bfdb3bd948b42a2355d2747bbd1e49461c237e39c20c41cfcf4fed13d4741b2f08aaae0e1e77212577bc178e638004107b9df6f28ccb3025463c97465c4e61191c1fa1cdbebc6e12484f265b9fa959589b8ed08b4c52f72f0f853b493ceaa9b44e9fb61676d788d001d226e2207c46e7ddf1ae0519b65965707c6102ebf5122c9c397f58bc1971174537a0a1eba890feb287a9eea80c1a4428ce84e28f382856640e897ef15b9e6bf3b41dda11b62827757cf731ff28e20df4968443acac4ab3023655fc548db557504677c54d853bdc61d44dc0620ce71e108bac41ae52f3733b1e3c428142d5f06d5ae20569b02fecd6a8c1a8d2b1a3aa871cd4da5cb95881e2ab57e0a6731eb55ebc235f978303abd394bb5afb700f34f7449e4ac6636d34111185d24572c825b2b8a2fde4ce3161d677c985e60aad448c0ca463833de2579d21c35cb686687158f5f09d60558ae44a05012f7a592e79640b3b06ee3d959d24f96b1f0f1e2dcba08f132fe7787bbfed8858d465bb783785cdccbf3996be2c89da1799914e88c09d50169bb70918a08e43ebbec5a66477a237b16f17dcab528e98c85c1953c5ee3b40f02caa3a434e15c5ab273d2e87da10546e6016c66e35644130a28164526128a5c791d5660f29cc852c51984469d73f914358244c1a3ed20cf7af36d66e969080f6ed48da4d1c893fbe638206b47d5e0f8e9e545997f5b732b1bb6eed170386260968e2fecd911bbde0a14193a840053f21e0a12b0b59c91001e6c6cd6665d396b41fa84874ce7b7c19400651df67ff30dd1b0bdd3750da514a3aab013cb9a6483685b9c3ba5206b5cb92844b8043ab2cd259d4e1f9cd5afa9c8a863c5cbb72cda04a2a8ea7f7d892a5ef44c5233358061e9069271a494b63256dcb6336b66a5bc4ad98961f1427928925d328321cb0233f7e78f4182d8c64654bd500408184c8bb06fbc37d3e859f026fa189228423dcc9663630763f6dbfb64cdb129b7283834a04c38214a6988357a46171d983255fa7ccf3fe55dccda3599d851efeba028c0987a4fbfcc946ee7e71c806bbe0cf89c5e2e4abcf5d7d5e10afb83990a621693171677fb654208935e41c33051f42cd1c653d908eae175381837f310c16059d1d7fee7dc75ac40ee82c9579aef3be6873627c2e4d246df595cf99b92d142edbba6e597aebe5728d90a491a558f56156a0292e6b9f83b2624b9f5c0cbfd22c184a0e0e6c2c4423834726394d6c026d5abc3087bb30df512ceb8714941748b3c5f4a25e9bb8d62f16de9f488e8211f075580e7b9053b978be83d95d93be2ce2aa92822117a056543a14352bab5cfcf4a1c5508b18d3f2ce7f45a45405ab0c75fd9452d4b2478462eb4524b39ed9ea4fa7afc23e29d9f8ac66d0f9b2c80a4374f0c673984a16284a4681dafbc9a4fba367ec2fe4345b4a272c7eb5cd4d5b7054ce99fcd6d5c020807e752ed74f508208f32572d19e6a6eea04ef13be9c3739488fd11fbeb84d349a6cd9923d925929f1af93ef905770f404ed47ba9beedcbcab4bb875d3f9b7eec00082c704dfcf824dbe6b31bc52ef1b4b2aaa725cbe2a16a434e55e65f1fc4856ecd919a0272377a9d8c334b2b0eaf5f57697f644146253cf33cc5a0b16dd0e218b09dacfa044aa8dccd493e7adcebfa1c72c31a21a4562ed08f1f56c8f9e7dd4d94f9cad19690491c0aa7210b64c1328bb2c446554ac8bd19c803f88f084d102bedf3d7a413ce0ab46c4a64937ebf64775e14fb8e790f3caa74d8337aea6d5f5e0c019d67c5ac0ece558cffb88a2b0bcda87db8c3f3796185913f9cfe53895998699a218a8f53bbe867c49cae33d1e285abb49f3474a823a55e1ff4dcdc0f896ecf43ce29acc1304a1d99ce103323dd2cdf2c590dd6fdc661fa3922ac9c8b6b28fe1a1fa0a5f2a0c449cbe2e5bd3c2bead14f2298961ee542e708c17efac3461a97885bc9a58035fd70d521a6bdd8ce6c505867eaa6afe891238cb7466c05db3a028fd3f3c5e6a023c2f5819bfb740e4649c2934f12972360484c54a00e3a4094099b5527aa8bd9a44df2fdb5095b221d9199c12dda7e670adbbf201510bcfa21b13cbba15c4ac3bba3a48527a5a9e9c71804bca7e0349a048bc7c7ad7f1f2bba7b01cb29bbc9020b4e8f52b1ba3ec2735c6547f624c3c6992d4a42eeb0489645c12fd7fdbe1d99ba2ca53def99449ab0ebec204bbef608c986f8afbc5075b86183d3ca960211663d7a80c5ad3fdd1566664262033c458b38f9df514601702b1c053743ef86b7e3449e9b06d7eb7f1bb6eb548fedbde217a5ce804fa285c9c5398882171a5c052abe8f0092ca960f450046f4319c6ac3123a8ce997b739c6fdbf5eca998246a086fb2ae96e7b33f9d7a7704e2621c19256c2617ad03915ff130a7800beec9110458bc80340d9fef439f329f1a251900cc902164103472836d3a759d4601add380442899331b90d3c89b126229a053f2f047456541fd13b8e5051cc30746bf77b35e66fa1826505c8f52877b678bca984625c27a00b441473a0541803614703417a9f4fe199c8eddd82d1ce5364a932d3564ca0046ca5c6953163348b09394f5e4b74a930749aa5fb295998cce7d2b898b57e692d65aa8e1da4e382d0d117950cd928662a55340560aa338e2bb6b4126a8e2859713a84e4e542b293cc72e89d79fa8ea5365e29a26fff2613932c2ad159ca7c539193c3b8b19bfc831ae72e1b70836489bb25580dc6f804af540ea74bedd0a7a0169fb49c247c466a9219481ca600a271ab32096f7311f01e30e585a71e26189f74717deec1e628904ef1909b20599f8b728f0bc750cd9ab92752a59f36a7ba43e4f09f117ed6573a6517a9db19f6a0f82313f1da5da23dcdb6f2c2da0727cdcf752d9a3b2f5875d210ea1104125d370f891d1e721e8248f9dec11a312f6271404239a369b1335de14510a467e91d970b11e72398cad9dfd20dbc17aac3c20d959303c5ba22e36144ee8b0a929b7f8cefc53e3150bf461323a7edd21cb22b190011794152d4596d20133477a6936ab09a406b1e895efe90a6ae4e8b90f38749937d57cc38679c9966e4cf3d2425f6ba144adb97ea57a31548efa990a254825c14f93175e626973e57700111b36646e1e7639ac3ebb7719adb062819bbe891d91b7dd02023f68d6776d8fbbf4880934ef806dbe22c4d2ada3855f5ee777ee1f19bcee1c532a183a2928531937b71c51bb53ad2b404be702ee824f85d0a410d460a785228854c98c9982245a5a595489aa080742b3832a31e7b6ce6cc6f70acbec1bdc5c59bf0a4589c4189f28daf12d9bee30c15cddd695b754c9eea766adb81681e6944b1c88ce925aec2baca63a6da5032c634d47d8f1580f7cb1d0ad836c41346a4c466b50b2893320d96da87221c08d6cee6c947dc8b72958d4bf244d4dfe160cdb5f67c39e8e7e318a6d196d159efec77479bc7ce9ac5e09a22565035e06da06d0161daf643219fb276f5d74498e29af044f431f61b52fb6a2f4ecb26c5eeb39e5db211c944e3b84879e7ed830484539256afe7dd5b193c12016becb4c56b5f61c94ede7fc62affd75df451dde6df9e0d8a3418aef4895e4f6515e9ed8fb2c2ef4338a20f59f4b90df17a946c36b3415bffaa51dce4cdaad824490e046a551e8d64ed5e053f75168084a2ac92dec926869ee209206207590482bc500e432a6480f2e1fc8143c50b134b25812cc524d9e29c9e1857618238b77b1b657a00a6ec2acf3f01e99ee2db629245b8036ad5f6f90b0cb5464615919cf80ba1d1a2ead30db0e1cbfd0702280636e58fea0b7ea82b712559d35aefdc19265aa3ad9c6a1432f93b8bf7b8709fdda00a22da86b449f5ba32ef07f4781364722e405536202a48eaebc8007873e9583176aa98cbe42f7986e4f9e7d1667f8e675b738e7a41e03d62cdbdab5185b62014cff7fe1226bffbb702b99ea1199045118af57dfb318e223f4c56dc4fb4e38427a508f7d055cfefe47cab1c5427e960dfd54e0658634aa5052b1223ce260e63414525b28141497585d313cc4face270cb0922ce3806bbd686d3781fcdef6f2990466efce44b00878fe2a1e33506ae44fbafc1c36a8981f8d535f9616282669e86fd584ccbe297d3d0e5ee326daf0198702f1d15e271612d75d37141aa8efecd72248a89eb685b3bf2e8b076d2444499a6ba690c75df1d707b149ae03e5ce4f150b59b7b2b95477fb34144cfd3ec3b133322a25d26c26fca2e5d1f00866b73ac46365b3afee232e9d909212e14116292337ec8d47f0a8aa053436c369576ef78bdb9ed98e4a6f366b119dca3aa0bb8d401301812b8d7f02410b651814b404fde2109fcdee8606368cce150b3d45dc94ebab2cd48c15afc37a89d477cd22f06a1b287cbab939acd2dce046aef62cbbc9a1bbaef95907e3138c767b689af3434fa46f1623efa79d370e9f715f63fe3ce057895776afc1952970f5cd3f63df9653d6744b262a1d418a1fedde02de8f418853b6e4dc4c4409fb178dbc606822d46b7198e73953312e764ccf3b2ab9564436109990ae5a0488fbea244c447cb8696960fa2a651e006f4e688bc1503a177371d5bf65889604873a4efd93c048f7a9441bea405405cc5cea29c85c32d9652ec25068635834976bbe542776c2a8bf127e3e9905f8acab224c580801f5641ef75c2d75fe1ab173a02477e19983d67c397449e71952fa17050218f0e545a0c9c4d646cb7121ec9f621fb98845cb416bb44a7b51af6fa0e7d1a7e604e830e62eb339a164eb60ce49d8739df84a1482312641065c87e5e43cb3243d527d5ac4c59e32e329a5a4857dcaae9b6e8572894c5f26167b567146decf9c1efcb45673b6a1878ba60d2177521ae1bbb6dd15b709c948003d700b19f5a077b3792c391b2d4467f139f71051b28da7a78884358d41eb64ba2e8d906ead48c8971f1d5ce13f319775ec8c96211a78a1b84c812984cddef91403a2b731c98ff314b0901ca2932338e729a65fa1b13417aac45e1eee83df74739956a1c962a1baa0b1ae4b34213657f066e67b5c5f0febc08bfa411779ed62ab5033822128e60352679c498d65637c788974412ca75f23802e494a5cc54031e9e5b6a198d1a109a26aff8c412c8a9afb97e85d1697359867e70374cd807e1a00867611effaeb26a44779e2748ebb81d81d56abde637ff642c8ea5a079c7972da13c303b8bfd7ff14984d026d37182bd0a81207ab6e004c5df00583f32f9ddf703dc3a3b2b970143f4461371413dcc701deb784d4ecdc6db335c7c76708fe4e648282631026ef900973ea7481e9ce30ca37c2bcdb701ed2fe8502040131f6a8e6ae220f39b03935e61306ef4076c52aa1b7998251636ddd1caa031a71054e6c759b38fb692870521920b371aa565b76a1e93de1ae98eb19492f2f5a4e43d1ba05a844856fd07f81f0c569285aca950868ceb077aa5418175d6b5a12e983d659817751d85e305203808234a01338518c9336b720b22c8c337c94be22fdf3faae6f9c4bc1f998ae0d15dc6d602584a3e98a43ae486005dc553e708347dfa317bc1f32c535496b18c19d9285b50371f10042a8dc51b80b21b83666d084e3462dee2aeec2ceca5dc9a3d7eac841703d7ca0f8baf112e9f0394cff1be989cd70dc8124aec321d7d18d1c52b92fcd7dfc8bdc6e91469c0bfabfea72c742fb22b45b589a736de370c0f96746b733e72f12dd7003d582dc6c8c55f8afbf9224f9e7845c0d05f976b5812bdbc01c6243ec10f9040d5a5d706279302ecc0230b5aaf204b7dd5cbef8226481e9976656d9fe8ba0db27c9a86a4c3a5e26b9745baa09929a9186c0b937f6c538650e2dd27185640eb70b2969c25ad027c192c12e5511850979bde215a01f5f6712144659a003b40d48a247c8c9b833037143acac4dfcaef0dc26cd6c305acab770e738474627eddcccdf94c9d3ccb2c2ea2d4bbe3d1eb764e45cdc178f88fc26bd39d7ad92ce0555fe5161dae9c81c265f7410e87020ffa610ff348d1da3da4a5158c1d78d00dd7e561f814f0071734febb96bd6e914f3069fedb8570b2fbe889d0de11e2ffcd8c1e07c841368bf20d29dabdf85ef58e7938081a5902c46286f7ba7e2ae0acb22cd0cac727e93508f60b9b47365279839d50469373ba065d606ecec2be62cb0bd1922fd04e1a788b5a96c413a5277418b9ac67e6b8230ebfc8d6d69b6705f73d16348bdc6004d4f7ec9e0c0fd9b5d67c30828703bfaf4c4cf334c84d073bf77e3ea3542f1e2c56623d57db342b1dddaf0e69f17ebd2e751544bf2d8fbe9c34786f6999e29191919d02e622891678bea026e69b00067a4ad1a32109595319e9624430a8e621952beb5602762eafef480be096cf1dccd17596916963f64f9921969ca54ff76cad8a663dd4bd9894cd88723e7b24566bd3fab78251d66b54bdb49ae29e5180efd1e90cb452b62240349354490444aa3c6c861f3d5451902793e99740ad900ad1b8f11c2df49420a170fbafe3331b76f8e762e243d6a6e8abafe8a3130829c87e34230badbc7f1dbbe892a8dee46eda7b18811b0051084aaf6182bbf660627cbf299172a02f921cc8942a5a55bb1e34b724446fbbe90f594fac192d64a99401958b69b72c23a14761d5c9c13e9504c25bb477d17155a4bb1da4189b7c2fdaa5fd88ed5d48e718922fc0fe2d10ff5149482b48b26ecc36434dee713838d661b94eac3f12d3d82ea832b6a8d11380ed226a84239fa2dcfdb69c9f654264de5bcb14129f220d5e50cf382d5405f37dbab4310ad8f65bbfaaf42d5e7503184eedee923c4625d4e24e437593ecc7848bf17b005539b42e0eebb06d90229355140128c252fde4d3b8c9e2c4a641fb51fd899ce83e733188135becd085265ed23c0a2dc573ce65b34ac363754b191a3020290b8c845006bc9f2f453312317cf897e431c798664958fc8c9d82673512c756475fa1d2b11dd13210d0a34e441167521005f641c4e28705f39b053ad44a9fdb8dab58f48a5a06e2c1a7589ed4f0f788ea2fd285c9838a2568e26c7b7fe2f2563d18d2da074a4960ed2047e7f05feea44b75145500c5526a64ab6915a943e3909779a1900174f2c04a08360b797391301565536f1780603431ff8c64af450e22d19295f1511832c07caae76faee28f88aa28723eea348a6f79e49f676eef9655721c6ba8d6fa11e09d479a4e461eae5672fbc814ffd5c57986951dfda00272585cf88fe04c86c18561447923f6b1281338743d7690d3d2b687f961987e4945f106608c02375ea77d3b2e90ef1fb4ec3233e6167454dd5d2e6c683604b5bcb644caa45c050cfa5ef57924956bae88a3e76e3716eb7cd8323e2f5394f431ab9f1aeaa93a20943334690e646ef7dd2c23d4aeb118ec3dae5662706dfb1cc9daf2d1d685918e676d3d10873178db52592231e81cc9109a6dfa5d34c640c36d9e1664e82cc796a6887e03c2f879b8709d921e03a340480ee9f06520efbb4e05a940f39783a91b37107767003ed55a9be19c9c64d40d2f257aba4ec9223b68a6a0b11abf68c57f74b92ce379120fe373061c52b8a527b785ca7c6c2304afbcc0842615fa7c7e0515160884779b568ea35ff26a22aed772837b6c9d790bba693df47ce96ed1f8fbad6c9925682302b0dca0adddadb5423452e31b89e59f8eceb9e51f553a7c76ab16420b1b7e2f3a340596c3036709d31b8db811fc67944280a1aca1e14d3b638a4b7c970aea3db0202e1bc5f64e9714d9b4b781f2d7a2a3df5c5a68ab362c323a9d2dcea16315e026f1771d4465717310756e829c9db4400451a2eeb4295011090912aa611c8ee0afee8cf8f90eb77ab4fb68644118dafaa4c88c7d6c3ca89c748a29be91e60589153a6c09e1c09921810b40bfb5eb89cd5e9c795b1cdd057ef3bba6e96a92700b35d5efb9a86e718aa7cfb3a51ce29b7c9ab1bdb8339fb0312bbd811eaeec5b5e98443b463afbcafe871c208a45f6aa0116f25fa9d3314e9a01d19f5ac07a49c40d9220a3c4f72d8bdc12041a6ac31171154f5c25f822a44198d3931531a1b64a0127c93b078c143bc98ff0b07feee6cd5206eb574aa074da10e8ef605189a6c9e8e44481f93f81478062ae82720e8a44e94df141b198a9eeafd7a706dfa7d0477a7c14db07e4a01cdf081cdc7241831c208db15f1110f017c1e6d3d7ef2c1e5b09d8afaeff8272db5061952b2c0095f8d279842ea07cfe17d0766bf972340aebeeab09753942d2ba3bc0e07604221c6a170d2a8fda4cff45af4250a436e4974ab600fcbdaa594254ef8175ea955240b25ba411db70b1a22b381fe0c695923b85036c84338f79ad84600fc510715b5c1ab023d4351bc4c706c72693d76aeb94f0c3801ad8413ab623c0869e64ad5c50f967d4e746eea183a110d0b783e8461dc1301a428197b3af1362d2fb44d463ae0a5d002a627739d6db89bfaddf62e5faac50600db0d34583d8e69106e20a498faa38d5527ca4b3bf7742257d17b2ffc8712b138df4ba4091d1921bdcba8da89c3a4068289a9c4169c79d0ca5c8513d6be6dc9e859cc463c60bf7d4e220746e73472e42928fc2616389c2d2ac3cb9d88b38f03a4591b5e4beb78ee44e62dc328d8eb4df567dc89c640597c78842e4c175d3a5b6085ce4d0b9fd2fa0f25fb14f8406b9e093b43e81e38eda740eb08b0a447d9abc023b48833eea4225ccc134b4b78854dc23cf128808020fb70c50a8f8eaa2dbd207dadb129f602e8ecaf3c7a6ed48652bb0da91cf853859568f9aaa1d09a193d9c3f4cd928ecc1c9bdc8cdace5e067c600eddd40a449bf0a4dbb4ae34427744d3324b1eb4444c762f1f8ac0a59f39b481f3f854c51ddcc2bdb88211b26b0a74796034c7030c811d9e492d2f3ef154205f946f53972aa91c0572618d6310da3203451c64ac907c30892ed4c00ecdafaa1e2ed29f7fccbadb6ff949bbd57d044bbe01eb1fbb1879e4a37dcc22407450c6869b0cb973f39d6cc810b1db0fdda7186a33db23a1adf47f2278f5d1b4d5c5c7a73ec0cacefbba52943d0dacf2f37c5937873474920347bf276360e92e3a86590727af3c45b3b38a1387ac7dfdd760e160c44aec6190aa6ef18251197654d0810e1a1d401dcd3df0913b11c6f1eb5b7087b16228a0c246e48abecf1098c315fe96d840b6ae5cedc834fc1ed2841992c4064bc0dc4ec0c7daa9c867d4dc8ee1e35070a615a8482fa07d8836e0dc1e95a9cc1666fb704859af8f02224aa667d54a61b074f4ae8f82e60941e32d3d2888c5d13e3d8d2cd13bb9e362822923aad737f7ffbea8640c11c53dc3cc2f9f1ec1aaf2b01360e004213c5e157b94e9e6bfe6ebe878d4bbcb6f135bef971a6ce107be3ffd130bddfe2e7eefba963e6b2df363b9a3d0cba8e4b8bdac3f668f4ed24cf9612719d237534aa1ee21e9224d2bc9e4a23a61841b4a81d8906ff612bdbcdfe867687065c53c15f1edb18f14c6850d19da6a7d7b84580ec1396b35308920d55d1a8cc972398c4fcb820e59c9a11dd23731ba05c1410cd19a42a94ffc9540705e88656c63d29d331a88cd5b6286f04c48bfc95d423f2e76c15dcf9dccab7fd494a2652235a8e42906a33e04193cd81b607c9eccbb38224d2c29b7fec140b18c6af33ffe510a91485322d268640266f92d81022e7778178f73add4d08f6be2216b9f43689f36b37fc87d01b27ade394651689ffeb79b48edb41609b382509b38fdca8f781312245bf7b03def58039422e484d0e741ade3a6713d1f059576fff9e233fe40a4cf3bc5eb909b91a7dcfad0cf2118748105b5d7324207534932406020f8eabc73eee9680f92e9465bebf889cad2b7051fadb5528c1b0d8f03718ca80477a746b14376875f58ef823b2945f054857ba66795bccc20e6bbdb4bb6b4ac57b18c5f2d07116f18b11cb97a1489c01b320c71eb9089acccc1772d9b54caa94ea80b427f9dd671f2c08c38c2b4634ab25bd984772fc53da15647d5cc237e8b91d1ad2249ef6c674cff09bc0b98f801917062d822820dec9594b4586c123727003090ea40a1e3842441f0dd095e0b94331af827336de060d921f72af546f1fd261f798cc11183feba0897c70a0130790df118203a397f63dd8aba33d8c82c159178c8a0e857002386f5834b46a8e11b3d185fe614be4a0f7b3315b058c6de5723610b3151a119f977d9eb1c280c955374bd81b3d14ad565e64c2388abb313e9a3f390a9f0b059012be122da99c0952fc1afc0fcfd530b67bf24ad312327b167576552e7d5fd01dcce2a0a258e9a31ca25ca38bb8968e9ee46dcd8265ac686edf36d1641c93710d27e03c8f39563ea8d40782757f918dc38c269577954280d8c71fd934592dadcb3ad346f959925c09d1a43315478fe5977dbf7bfea71bd1431715cc083c5f25080413ae1653b954747db11285e81a071ad7bed2c2e7d47bda8123a1b7232b1faed5450aa8c06b78cbcfe048d376fdad88e9ff4da81a0f4e3689f2c16ef80451d97981c16daa175716e5017c9e82d0f0f094ef173e3fa3535678cd4f61f62a5a411768d02d906779f3d9fbf755e7e017c60a852232f97161c87abb33dd4262db6546a399a9a567ba25467e653f4668598a8c9993e03cadbc5830c3eb2e88b35fc4da62e9fe16786364d71548d528d0505a3e7d7b2e71b9251dad2ff2a81af954d0724c06afe590d5edb4b9a0c31808a38347bca1876cbc997023ff9d8996c45725c2d08e08d6d58d082f387c8acfe7ba74b7234f66a29c8a61997f9a28bb8aa2c9a815e74ac5979ee88438eae3cdb88f5e26e57394e5643f8dbbf10557d069e2cc3ac841632a74f65b5841c2b081a0af0ef18393203fb4e6f5f9d569d55ec8f9f78a28bad60f81106514c3135be0f4ddc68d1124b88208fc8f16f6ae16834e03e758fcb2ed08da7b6d0293d1c35102917dfc3e3451a7416836f08d744f2059de7b862d51e8fdc9427871cef2f656989ebf24818522ea7c61d43254e42c0b7af66fd4a96a1c7b624dc33a49f4505aaeb768b2c4879b5b4b6df3ce4626e9359ca717643c828c71318ddadef21c649d014eb8f1825379798260af0ea3bd4759651a19e6f3bb49e52cb9244d4581446195114bce106b787bb9b6926477ae4af3074024d534867f2decb06e9ac2d572b3068974e7e152f5d67b0362da58be8387c28168a2deb6d1f5fd00f3730d09e9759542f1034f22fddd0005c5528a0b8133137652e7406b3d0f8e8569bb4ac8bb0065984d81d550eccec32197a4344c833ca58eadc5d6b938f9629dc7880dea0ed4fb455189dde358cbca5cdb7da6836dfea4749110ed43f1265ff41ec702ee8bd102b8e6a7c97e230ec27ba49518ac6b5935475089fabd946fcad8a01cbb10ee1b3782199d261aeec5f15282ccdd5e075eed294b5e068b867c5414ac04282f9db218bb33d0fb0d5503566de0f7797b66d9b0a3fa9f61beae5c7a460ab24d6e1eeb20cec417a52de47b15ca131b8604b246432acedb1f96648294bc85c59ae69bb4a4146a4888c65aa82a78d5812e75e4c6a1e3de96bc50144bb20ea2abd20fe1523ba50a159502a9f7ba3a026ccb0bd1a7797dc98096222c78168bd8a7e5de7b144825ba525d6ab603dfd22f6938a67c708ead1d5c8435da504004e92b2d9b3fb49929735b0c3eec0ce139091ffe83e2fbdfcd5b7cd690b205b13ab49f3133939285c63827b6240c6997be090f3a50a84e7fb309963ba4be4a1fb0f3374ec95c3158374d4795369def698e890bc21c5ad884d77d1740bf52bf710174c0476995fbad7dae56e32a07d4ff462301219c4628f4df6729410f95d81f10c3d353a45a77ff847597986afa0304df00c9d4ff9670109018a619c04f789545ba6da82621b20ef35aad81c8ac444c6705ee155e38b6c21fd218181639ec80a1a1f3cc2eb4d19dee50ef59a8c77aeae59eb7f07df7768387ba816a42b758211a86abbb9b5b176ce5c284a5439cd970d66d5765995ee0d61bb9de2f0d4a798baeab326ee3587a9f780ba6a9b5c20747297dca2e8a0cf887bf191de5e545ef89f04b4dbb9016c216919e8a292183593b8867aa5aaa4b7d75a0d8a3796b7737434da8c27e6247111ea2501896ef93e98e020c828528e417b7d8a814a3862aab7fb9ef149a88ca7a8a57e0924588df11d3e980d44575b780aeaa5e1bad2cca33e321dfe09dc09f5165f6eb087a93cad7b136cdeae6f1b64ee273504fa6da80976d0ff3764acbd79631683f8ee11c4804c0edd31e5ef5ea49a8b96bdb4f1743a1cb6c8e2df8a8d66fd84c3b538d5c8c5acc65e18f284d51f8505c34fa1689e66260554b9885b8104952681a8e3f359ff961549a70ac743766d944c87e04ea04410fd861621fcfe42747fa7c1e2c1dc3e3614660738498794bbc69d04ea0f552b50d9ca047ea323ae1108719cfa0c8e8ceb69d3b3df98a0e5fc8b5b4849f0cbe6d83737b67fb5de9ad4376fc476c8c5d85914c5afe645ca2d601a86084b8ce4f63b4a823877b5fd9d5535aa34899c0a895d3fc71d6d719dc2df6f903b4636f13a64512233ceb2fe107bc55620112a94f650b5f53e998a92baaae2e5ae9ad01193b1d2d6927b7be5c70475daa4e499ef9897ee812bce72eaf347c0a76c25a332a68e979e774b78340e79af690fe994e21460ff40f000923972781fbc873037fe716cddaca8e1c03eb968da06ca59a7b31cfff5df44997582e6579d8b1d9667b14afccefdfd8d7b9533304c56ec1b2d883ef87fd6b3c30e020a115817bc7a53e210f077990f6914f7c4214df89b968763c508fcb417f4fb58110b46ac62308408f81e674162c6f757220f3f72621ef5443b2f96f097c5e9931368ac3735831b900d6d1d2e400dfd152f52321f51d800ba324ced0ef401bcd47ff88ff3da386defd65c26deda2d9b2b7940b6675951934e14d5372502c185a49e24469e77e7ca00510cfd754650c796a5611bc859a9046246014292bee785ae87c13f66f817005ca581be784b992b7169c8c1d21710683827521dbaf11a77d13371dcb14c1c211e7ba321b0dff0c900b10699cd4dd55828d415c3fec3224db11898c953ae30cc8f654476d6d6fcf039696fee6b373af31703a42ecc6e55e8f3e66f25440c4b26fc60607f02bc9be8820f428f0b5f0a1e8f2be78533700c39dfcc884c9359a68288e51a0f4c5ebe68540c386a5d730dc23a5caea41e1937352bfebf504641729fa2611e07904b9db2cf50170e195429808f374e1bce125abdc64e972986c6fef32739b1dfe35a3d384b5b63db05674ddef9a35d668b954ae72d2185cd400f1112bd1e4d5e7fc459ca753d6897e9db45a231877f7df8143f0355b222526db1459ffa80490654047db0966653488493fbe46a4d9f8e91f6b8746bd0ccd5c2e8b8231c89d80faeb757f0e5a8da5fe4968c2d9b8a8c847298f7c393a94ce8af0f07a4e5225f4d16fece346fa883003d46cb2241b24e01f45dd97b0c7248f641994860c148f2ce1d0852b22732a01b16b8b21a558ec52d154299ed9bba8a0dde9d7ee5cf875b066ce03a8456e49e85271e9128ab98e6295e7922d20e83c4707543f8b47517c8a98e9b85c4a1bed3b316123cc29c82da7901bc55289b11b976f1033759118f83bc83dc7303759e032d45524f6dcfc17e18aa0d3bbfc4ee2b60476d399332d883fb19b738ca41be843c6d7f4d46db25ab72d328750d61826b00bc34fea791197b97efbe1faaf3ff04938c5dfd8eaacfd103d04de0336fd1e21e1578e27bc7f09eddf425af2b082610ddeb899d806a0dc72c2d6c9681f79b7a745c7be4434f952e423222de22a8cdec0f607157c014a0b43b250c711a319a3895627473edceabda9952635b9d5d1598aaa1b3b2baef600d6fc573ee117c7a768514bfb694dec4d747487ae9d26073ea24f029376b55bc606b36048ad2390daa3d057b08fbd12bccc715cdb4265446ecff9015fcd3e35204ea94e4117e406255cf74d9836d50891b88837da7f4f96002d6cb98bf4709cbd431c80bb83ed35522d142bd3257a6236939383182842322f322d8b3e1ee120d2a965bcc827f2d65c6d535fd9fa93964a789f4c8bf0a31386b198c45d4a207d2f100a4f968e01d11ed1679db838c48cf96c25464b6209d7beeb0275c683cce20b24a7dd1048935633b375a4dede692bf0c7f0a3d64327e71b638c8a2989c8376b496756e6810ea434e718bafaf407f5f6dc60d4cbf9c673e3fee8a829af08850e32c21253382b7e91cb7480b7740f9191b57471c14cd8e5d73f637a457501c339ab845a17433de7e98925b7e3cbae1bd89929145d82f5c7e246d538e50d05ddefdb4879ab023c544b4a52706374998c7d03f13f55b5e15be8bec7f8bd6d4d73681a2da608f2395136033ad37a6e0a576a0eab2164856c2d0720bbc0ecc546fe4a218b63623cb0aba25b1093c8d13be875f362583875d2748fab51b6ac1f840277d717a551c3b5ac5e8aaec437f5f7db21067247ec6857ab8d48bc9cee734cb50c1300ae07442758510c00198e824c7503869f1d0bdd1253d4854ad969527322cb04e6b6e63b487ac270b34e84a1f6f745ab7cfdd4c49aa36ac608a9f28b3a553a4c270bcebba9b459216d14d491f3e24d13eac5238ce743fbcf3a5240b2cc090d0800cafca39ae4aca23b2006cf78933d3c1cd46698f68a8efd3e3524f9e6a14cee59d9c30f0c4ab90c9bad85addc73ae720af7b7abb6029e211365bc284a6e0f9d3c161f220a413938551e4ec1b406adecd3a535acc4da13d9db8c1bdba869112c9a38c9bf156b9af15e9a5014d53813b5e10cc86b3c5624bf521f4ec211c530dde0b2465bcc6cdebd4e72f98852b9e8a2b5ee2626a5625e93f082bd6a6d06e3a98ab074a7dc9500d77bdc54ffe6a97a232e96a1d324a72b19ce320b7110429c65d6d08fcf2bbdc822d3735d08d3c609d2807d547f3d7732717003bc76aaf36b507bced77a906db6ae8ee1b141c032af5be862b1b6e4ee069082a17414564f708525a468263f90f0a6ce6e93b2426bbc8c255f38e36ae96539fa99ba38468600ca69a5727a3763470743fa0540c9a9f5971abbcf82f5d7326b9ed5b12c2996596b19656a365fc84c665ff4225bfd65f25d3694a782eed0356b42794955824665a796578434877d5d8974c77d77a8ef7ebbb31ab2834a631f95f0c3a7725585c200b0e5e2ab99e0d6150dbe1f905cd4d5c01f6d65e88759541507a0ca08c5cfb39f9ee0566ee5b45ac8612956bd23f4e737a57b83329cddd94ea430a4bbb9317a1cc2216debaa6c6d5aaf7531061c38533f3216047e0550c505ea58f4c206170994de3961bee19e32bcf9f5c29642aa10e717e3333fbba634a762f6d6f6ea5dffb5318b1bed5d6fd89cf699d65796d763a394ddee42b2ef3f0b17900cc5e70bfc21901166d8c033b2fc4190325683c4fe175eff3ffe00b3140aeecee6ab074490f22ab42a3cf9c7eee1714b98357cd1da40e238c4bee5c8f5efe32aa223eb0f95cb8805d4d7c9c5515d4883e3d6e90029631b1d87bd6ae22e8de050305e80506e6b282b247574af45dccfaad175300183212f61e9872e2c808ac870331c8d01b556fc9cea57c124789f76cfe62a6dd08087a654e02120b1477c0ca527f6ac46bbfbd235c4b75d4480d72a32f46c562b295707467c5df404ea326917b71574bdc64a9e8ffdfa6745fa01d207abd7747d509b901c9c21dc8d02ef0677138d9b89bfa31255f5580ae567c5d58287253a7982735d1a20f57897c849bfe8605fb466e4e8f81507c82803a833a413f60cbc71615103ac06ebedae62a64c10c84f4f5187fb8d22367e4c86fe8e9fd8e8c9fcd6cc1aa74885f73d77916be98ac5c517d646a25847b7c51ee9ab9aa23683e9398a0c9bafa1c165c3223df3947edc0d790be48f28618e93cd8acd5a016b2bd201ad71b1910d442ab8e1b4b0602e93b70748b9c1cffb4011c1080de5604a047eeec56acec9e1f2a2435442c186da6e9e90477e5ba0b087da041c16e9ad4c285936dceef6d0a1c1bff8e7a747ab3590f18fc7c01785c3ba2143129a17ef802a306d3a3c34adba3b38da431d806652d78824561d81f061fd6af7dc586b0f8604bed712afbbe1bcaf3e9e93f15af78841b08f5002b744c77c3c92c405548c38dd1910996991c1b36c623ca11dd29b63cfac474d7a653ea54db41c7e74009873d04b674b85b61bcaf4633e2c2a615866b0f73d4316a549d5f3b4e91208f284b35542d4834fdaf1981bd6d70765b714d7f97aea5883229e943ff679fb4a5ebf008454d67e5ac3c4313865f897138793a2d5cf82e034dea3181826783fcaa2cd04021a342622226c54fb84470bb7958754ecef330328f241ca2159a21550e59dffbec712360c282a27ff793846105e922165dedfbfc340efa9274d4393bd7caa6333ec91bc45a5b2f19a6ada97cf30da92b803671a42f50c49d1a36b08c99e4842aac4d1eb4225ba5b826404974e9ac9d621db2f7ebbb686a95a58ef6b75b4d445837e98a1eabd60b5a2128ee982d364ab1bf5f51d9893838971bd39e6a78103d3b6a668946b97995b077cf1dd7c7704a88e2f25a2fde6477f98908ed311bcc32bcf65bcffdae01be6e2eeb0d942c7b4fa04514688dc8e6d6bac3e195e0fc6f6efd09c60b8768f32632e1ed2d9020ca6f7c1be5c4bc3b40c205f6e52169fdb78397754f34abe567160118573d1cfc3a331ada42ef983f52ebbd995dcd5046b109a5b9fff5bf00dcd1fec948ac08f55006ebe2e078b233ec9ed604ac43a42d955a0944cc76963a094b1ccc3179d8dd813c5a218a76a4e18ae2eeff220fa0fd3bc0dbab392911d6e4f44d7d53dede17dbb2d2059e193be19c1c050710ea2ce70a321f0d194c1770d3093d6366c8cad2a65604201a52ed88e99d8222912ea0b31e2836d1451d973f33257a14a3824034d49532d2b03ad5e76f568061a88f701201fd21038f36896138301eb6cc125e8e0518e292fe0f404b2ee24840d78865f00e3ce938161b248ab7f692a2929f146c2207fb44f654a07e6e6c321b38b285cfee2e92fb8fad68fb028ba2098e7124a26dd058fbc9a781d0626d2d950285813d9664d0275afdab096cb46d4ba7b5c62c3dfb3251aee13b299d3090bc6ce02053381ae9e39cfc41b65e3ad03e63216bfb6a9095f6d4974fe29a98ae7b52d7795e956c625e88c2a4ba277e318d30bc29e721eeff535dc9d4acbe435991b502299f8d39608532206db24b3ac161e1ef2ccdbd936a2d95839aea51746988ee4ebd06ba13473f4b3704c584c7a7b77773dab7cf32e954b46498a864507285918250995b56e35f5d88800906885ab3e470742330a06f98ce13b38ae7102f24dd09ec870298a61dc50451ff3cf39462a58f998d0cd7c0ce159e904520814b31ea6e7dea2f6b8e8494adee0ca7fa5efde97427a88951792d547eaf40b1905e135e0d118a91ea0967633d8567c574532bb11e1c073e10c276aa67ed8ecbae5e283f21787604f26a1a803a3de3cfc266b73bab40dec76c889815897bfea0e5c3b580c015f5008b8f0d85c596eebc5eb620cee078d6d60d3698c9a217f25ebd952319807a7f69d35a933a475c943ad6095ef27e6f7db6ff85b3f9919eb72e7370377482f42d4b5b2ebeb01d572c18400e761b5e8a9625bdde52f4a221ff28b36ab8d2b086fe1c0945d04c803bbe6da1bec91e5dad56b2d92e1666af63fda9fd5b2bb055fc5292ff76cb847ba7a0b38deed812df172f16382b00aad0d4ac2ce2778cfad966f9fcfd16228f83a62a0ee6802340f80a2d6806dc4d70790af8583969764260cffc2e3f43fbe1ec769cce25275e4957a98db52641c801c1c6c2169080bb29a1bf254e7bdc13b6b609587048119776749d5267d896f6818f702c72e6d93fc9eb61c0a5d0a86d436ce8992544d644f34533faab2088e8e6f006d7381c86a6c28a9d4c84e41d06a9df1833f33ec5664c9da334a8a1bceadaf1ed503fc9315d7ca32916175ca5314c7320a7e8cead347903155ba95667b28287726ef38f293cdae6f20d32a99ac99f16b4a0d9a2c15941a250a4a90f3283ad8c0645138d7d789e3113b6a1b346051cd762c87a31e16e2bc352be1201cca8355f70c23f3783feca360c398b09faf25e5ed36f16da66c305856de6b4429bd39eee8912328fd727f7e7eda21e84044633af883c0a40a8c2dba6cd88982fe1d99021dab0b88b5b06c9691044042ce9ef6658718a0ebdca34fd71ce1317cae401f7284bdb2364b18beb38ff071fe90f900a6976306ae43261597408e6d679afc48b0137fd13aa911d89ec10f23b719810bb8f65700ccd68d1a9e448504467d5435884be93a95cd9d73e7c5ca98d5cce670963f75c84e98c1a9cf954c92f563d65a12b44857d87c64ab3c4f96e9b634ac9ee9bcaac7bcb41dc53d662d033ced0c6d4672dfbec3d2d3fd4788bff6e512863108a33e00e86a9ac75cfc19b7e74357fa8696154708211cd02aa3e8fcec0ef1f1580947fc4d28e8ee46db70651873accb1323906680ee6365dfde58d4aaba9830af6350ab9352500e24f206cda8bbb7637652543375a226f03f6d3f89e2c257665ef497f9a922f951db39aed3ef3d4165298880c5c721922b4376454e73f7b7c0a323f2b9472e1f22232bf048d0898a3c70c84acbcca2af5fb498f787d5ce1618ce0cfddef0ce99f2d13fce3d0c1b29acc5c195a3eaa117d22ec18575bf3f1414d408675eca72f607c15987bd9b53ecdf091d92b1999d0b382dee8c2e532aa512ba7a6c6daf2e3996a65a971c3b5cb804e826892517f9455ce92c3d8eebb587541dbb1fbcd8a806b6639425a7d05482b83f26228073fcda750c96baf1dd2b29a68bab2356415e815bac5dec8380aefdbb5fe2c872c0644b41fa1d5d5fc73a749c6305aaf093abbf00a19b0ace2a192fc45e9cf61f62d420e2dcb66b80e72417316096b80344b4c4430a07faf56e9c47b7041a821a071a2f8b495638704963824f050c3e450270909040d8aace3918b191ef9ffb0cc321b9ae4f8249d11010e04b19aa2ab1ee406c125ffb77b4afcb5631c3098466323268f9ecb3187ff0232ed1ccdad2c92a4c58a4decef0a441360faa930d8d6f9cddcddaaacd51e0374e051692593d0cc4fe42d62a6a67c69490ef0c83d3085a689b3c6d758a865f3b3b350d538edff3e740be4940a396198027201a173c9425fba4640a5cfd58b28c6ec5ad39961d390abbe3286ade37b74bd94975a429d1c84d7351588cb176975a2542a3d62c4b02d4afcbffb0c1f295cb75a18a42fc57cd59a8a3a84169c87f5ac827f516a4dffa27687a4647e6c88bb09f35c4b8d28bf3dcb3f12e150c121e029690cb048bd107baa2cd21db705ecae7768a7801299264a96028887611ffb9707d04f3541ce26e4626183ad61d5d86e3eecbb6507ee906c39189542993dbfe681e40386e721e32efacfdbdd9182157d362c3c67cabe02a05a4e2bd35748632b736da50d0d9d8732d484301baf5d4169e797eb3766089f4eba238bc174220f97fdea80c24bc97cce049291cad9a398098b3aef6e1c3a366bd7f48b5bd843dcda2ee5f489320a3359c379066d43ec35ad3cb4fe9039d7ccc43afd0efa903286caadef0acda1156f7229d9107c678f02e4c59e0f584c234401eb7ebc73b277e223430904c8a06235050734e07912bd9a3404fa295e783c20c5a0d84cc96e160ed5a5f6010abf69f4cab7e3c87b36fea81ea167320c8b5270186265cd0d4270717abd16112d8eda21895b5260860ebcdf52e585a017edfaef5a2d1734058de9c3af7a6757df866bad507976b3a347617f02302c229a06935474d0cf873ac569d73ab3f24063805f832666b22c6c32af0ad70b6aa3c271944c19c7fbc8ddbce9d0b48533026479367658fc7b30139424c5490118fa099fe267bfc8dfa401cf778b2d98132b8504a539cc513142be58ef5ba613b69ac3c0baed29235927753f9729bc11ff71d4e33969b04281c9f0656c5f8e43095a1d9e9cdad2b3890d4ef6316ed17dd5c41a387a91827c648dc0985ba73f41cf284ad8ae60015cd89da350088f38f7ae513211bb4a0ea41dc0d81fa18a5ec499da70d2b0fdbca036549a766f3873b5cb7bd73cb501d728cf2359c1ceeb2bb6ecef398bb74d230f08b627505f7655a75dc6fb863e277d0e095e6249918238cd6624d6324e50d775153280950df0d49057a5a6f79266f0e1fcd05ae677feff31866f813418eadbce27365d8608340d563f593cf60f28de4b8e4e96bf04ea6e58a0e4a5ffcb563ea270cc00c95e53e9f0e6b8144d88bb8250a633aa5a02a9328a6f1ec08325e26bbea8530062b0338bb9eea3fcba377fb263af353ac83edf2ad6a022b21ced3ae68df1ef3c5e33add51bfa80dedec275dd281c800b689ed2aa0afb936079684ea102eed90456a98c366c3f47e7556cf48b88fda00db605f97140a1cee7a0460e907b400cde75116c5a748ed751e6317e02ad5a9dd8db639ae046cb61b90f8867fafc9c567d4fad5318091381b10a8d49b3e55f7a89bcdcc6c8db6fcc9340640fdf0b394bcc8e7a05a00204182395e23b47a0f3c8cea4e54682cbcc1b51ac64ea630fb358a0966bccb4e414404263122ca7e7c2a78deadee1b02e00257e0b3a1e8047bfd7080bac781a318a0d9b51891ad14fd6627b3eee09bed21a0cb0239d0098c2834e6a2322fae76ca3d0c1544b12291b5a807c6755eab39987d8c7546d2acb93aea0f14a7c3338b8838f4486457842b72f3fd6180a0f9a7e3f46483c679613e543452f11dc42c9cc3b32f632e05b14a2b156dd4c6e2e201dc619f18f900573ae710793d51d4d0eccca220278abbfb970e88b320f13aa6a8a076553ae72b7a0d0e003894ababef1a67c822c800f05b079f81ed93b5d6ef27670383bd86b00ccc9b3887e59172afc41fa1f4b8b3c00ab3c1eb9d86b87e0228671c35012ab267995296e881643e01e53ceee31243a322c11105c95ba030c09a91ebbd06a65ef050de3aa5c94a5483dfa95094721b0cbed8a119255ca2fce1a5d6f46b947a3e2f4b18cd5df0ff2613e2ab12414cd5c5cbc12ce16d91a0814446bc673914a76cba1a6e2a0dbfad76c7f805746d5cd5e0935213602755856f902c8fb0f247450e081a6699dcea6b7a1391942babaf3902228caa89b913c96894f4c2cc7aca2f481e01aba26c49508059f2e595ff1ffdf5365f27e3713d4ce6836cdc2a1a58d8941f99571313c200c93b5a496fcb292e6154698a2dfdfb13d3d97f79b752072d140c0fc803847ab8e232b911f00cf9e40b4fac2bb682d2abd85b632f208b539c76533c9ec0151f44d10b83555360a95df9471be29a9279372a72248ed8baabb94f02b1bc787140dde6a1af131e42e3d4378f1d57649428e9db31cbd0a306ff2c3ae8343ddc1137d01cb416055ec0d47210714932db2ccf039f07d200d13cab43550217d5d0c72efaa62d7573779f9cbc41af18d0c03088592b64d40ce448a9622a62c78550c85d5bfad0d41ac627cacd60407ca172f479dbf72e9e7d953ed475ba10a634ab2e0d6bf505666f59c44cb9ae893031f78f4d2ec427174620830dad6a3f18e4c5d853b7cfdec6177ba71955ca4aacb6b2954bfc1b4926238645c62c2a3c204289bdbfae725efeab80d71993195c83a28ee5bdde7b08b6f613533540d743307221d4a8afe4d40518228bfb51afcd1b8e4c8635f789d0eacd256656ef190188e29ba2eea13d9ed07e5d18c3c54c589dcc116220c86eaaa2dda53521d41be409ea409894dc494e919dd26fd10d2075897f6e778f7123765d26e0fc2f1cbcb175c5b1cf003ca98af908c74308a84f1d509ec35fc30789005a1ccf09147c91f4c136d62392bc6ad64c0f117a4333f714e242cb6eddaa4249023deb12d3e8e20edd47dc143ff2c3176946d24f7f5492c733186e361db3756d8bb7d281650c2d62b504797fe6919ec5ef8b223cb095793565c476b876a261920645befe0d7e3860633993021397a9e6577d9ec7bbd6970e374db11030893298ac5070852bc418dd82bd95fe9ad438831845ee91937e6e4fb8fe067f5897b73cdcfad122ce4cfa3247ed50b3e7b9eb7acedd464becdc49a4f53d518da332b2c823793b078a5c341671078a00cd09d37a68b50caef7df97a294e58ae1eee868b349df26d08665201288b6a92678e0b8eda2c7d4da0244f27d3ebcc9f4e36a8eece48fb35bbd596cac23cf469afa939a374d99e79d21f48538f469f4474a34148b47db4014492389c83b368b7fc2aec20c1def884a03807d8a741d4743afdc8960adfe5ad56b0d5226099b017b802888b4c591dd91c1467011383b146a3ca82305c625ff284493a52b5fce3228692baffce811e54a032a527f8122480fc1750cd208b4b490ef1b927b52e5074f2b8028c9e947fa3cb8e84448e18ae4f86312c95f1a86a26b0db3f01e0e92fdd492acdc35a96ffbd793a97fbaffdb8c92d1b1b5abb34d801698078b98b01cde849e6b7e834806ba8fb3f883d184c088b14f86a3dc16c6d7fadbbdd6bb823967ec7146b70c3d6216f0d1a6f4bc4d784ac7ec1590af05fe5c2c2c93daac12fa3e6e11d33e7c4c88c859f207513c534fd4b9380b28ea8df25179f791d09eba9a634c9af1ca20850007f72e70b310f4b5597d02e0a844c6e47db6188af97297f3454a2bf428e315bcd6f7eb02f9e8127b89aaffd869442d77ff849a86ce47b29dc4302debc3411c08cae2c00cecc8e265f36ae66cf10b64b9404062e67caf6b0873be7b773af74a949903a48ed489d46235776ca4d0cb3335b6d23beb7616f0f0e2e4f9816ef1ec2a665d6b1ac89aa333b8670899e6c97a41ae62acb51a15c2b2c7dafcdbc2c2406bbe2e170af60316cdccbeeb19e1e32728127c8fdcbd8932bfd86916930a6e888eb240dc17271fdda4b19d61d8b74b25e527284870a866804a7c35eb8a84ac1488f5bb9f1eab31e342ffcb9aab95dab6a669e93c021155455a77330024e7c1bf48d1882234e59ca83eb7966c0d1a825b173b3f156ea8b500a2b988ed20d9bd785641d340b9cd3702c4eed06e2ad9df5920565615f3d57b0cbf7dfb6463a87a93dce1d084d9d031f2fb23d6984a4b3e984dd5a44adac5e31f0a4d293ff1288be3d6e3a57fe2d506cdb4784a521586714684ee9da7c7fa0af229d96a751e718c61b6039121154ce7d5f9deb97f28fbb3eb300393116cb7b86359e203d6464ade14e46ec729ea24f23c573989de658c5a7ebe2a5cb8d8a47cc6f181ccfdc4d8246fc732165af5e2c54a9fe1ef722615d72fd129474f60f4513d45115693b525ed1b86c6b996881cae8a7d88102f673ae450552ea322b283aa43a99dc2eba79eb108a46820b11e32f49ed14408c2d996766802e7f583d9da28256af3af8ef162eb34508e8f1e8ab607274cb027abae5a68aa00e55c43edc92f9d31a1e596370df24c9135f37ee37968293133294fa69f0b44a0958979c3ef06e942766b449c620e1c17a200224710b574ee3344588a965bbb9786bb07f6d0f4ae1e6f48b121ee48596d2d4879a01f49493be0ee9efff1d8146e5ba0545006b0c1698e5d057d4f82743c3bb27ee88c83a495c6529c00bce0b5406427dec54bc958e0471a0f772377df7827d47f6b1b53d9067792fcde83b3826fe7cdac40944fcd23a8e653134bfc9c70941a51c87e4ce3ca5214cdffb91e0d8a07aa8453cdb97738170cde034ae4ea975b3014566d0e1d131a2937f2a569b8fe55d2cd5e1ad233a08e893e667e28290da434af1856efe2b35033b4937974d13b012c0060849fe77dbe383471c86975a54ef7bd7c46a3ba66eb67330b382a5f6fbf4d6c777777f79652a6240325092609f90942355fa34976fba239717cd12a0be5c6af40c66aca126d455a7589d8f8b108aba66ecfa6a4551789f1739400b5eab280b220fbcf207af253add28ee058224b5a75612d2c096ad57d72439a9e2b9356dd21162a939e9aca8076f4e8e841d2aaebc449f64721f9a9a91bb3f9c9f123d4aa7bd608657ffb82bdb0bf85d2aadbe486854234435492fe9748abae0d22d9fff620d1aa2bd4365e83ec59a1672491c82e439a1b0db2c90fcc32d007cb67200c0d030b7924fbcfc8c017b29c026bd585f2a45597e87ed136fe5060444ff2d83966dc2108cea66ff90ba5559a4fdb5ca2fb45abb2983b5116c6179d025afab7a89cda88ecaff93412d9cd56410e83eab410b426d6fe2c4564ff1415730299e59b2cd19a94375b89ec292d2801491159904201918444c48184932055008f90c0398cc2158c7408c156b803f81d015ae0f38cf882785d11de053aee4887016e530197814d236213a26543681ac8b2671bb829b0f972c056212c0f95d6a4bc06fa7014d40e38ad49798ff4d12f8538894d05a55249650554515961b1db479fdeec4d0dc5aa2f64d98847765cb6c2d2048bc5627927a0a92cf684c905b8938899cdca621ecba7c2d9b3803eeeb3745693a15ea6b13a936540dc26c425a600ad87467e32c09dddd85759310ec89a38afa5863ae30ffe00e406a21617dbf25cb41cd40b0a35c38fd7cb293b551797d1a404a629613222324995f9509bec89cff88bb06c281bf212571772d591ebcfe4fa234d6540f5e5a94ef8f55f46975173d27b75cc8632d886820c963da92e5acef04caf8c7cc5aaaba66e8c746592234d8c679833b299c57c3415e241482e3318084396c31bfbc88ecc58d9134b52017d9048a39190d0076e5b08b634d531bdbff79059684dcaaf803e5ade63a1d843d3f370faa636e2404e80ae16d99f4524c5cec737662a8dc014b10909c39a64ff96cfebbed7bf4b4836ab8dfc1cb942ad6a20a84d2bc9de917d822b94fd5fc017b27c493b2aa1fd8c0f06043243fb26bb4d19dac555e231a08ffb73811c07c7a44234a491a1a91bfb283d95349f144b378ad37da5af5c7f03d2b4c0f5cdfb935dc98d65add28eb48d3f697ee82317494ff1e1de9b259224927b7c64c3e0079455d8fb077d74ff5a94318b3266452f643923332d0ae662d9c9c87e95380e0ef4957f2e90b762378b2d7ebd62c01f592c161074c659a3fb1a4c0f3e44eca187dc2bc3116fe13852cb12544787cedc53cf360d9529fd3a0a3bda40348bd6f8976070c9f641f282e74a76ab488b44ed8f1030c0888473f65ea6b1682b5ba5f4db47af8af4705d2907a21b52bc9efe11ef8f971a16f76e24dc755654533fbefaf971d64f381a8d420c923e28f9be98e249c086a19452773578e94f612a576437fd705cebc05445762c45f63fbbe85e51a4b232d69b3b28ac7c2ca66e62a333fe947ebb80a6baa89fc82a2328fa28d5a93a3a2480866e0ab8c5a5babc541e39392ff4b4fdcb296646cbdc37cb4c435f5ad3ee2295b9421636fa35f6cfcd1d1436ad9578e95db424fbfbf7d9aa5e82daf80b65771774163f57e036b5b484f7ddef7541c26b77f3e4d4535ace0f4e854bab2692ad2d01c9f57b6cdaddfdd46e23317077a535bcdf74ab01ca247383296353b61997d13b92bf711a0b77a68d323ee3bf9525f726aea652e401b6ee795dd720f779dfcf7d5c07fae0481d5cb9ba55f2d34822dafbf03d349289fadf4da03ed7792e2c2d5cb79a71600c952c9156c67170307d59abadd664ca963c994c9d77bdcf7e20b781e1ff7ff9deead1a033b575c871948069d7214a29f591c5088c81ee4a54bfc814667a1c5535b5e90ac5d6212f1b0c8f9a9452da2e995229b4d4cc94cd2ccb32cb227a60e5133da0a295a4d03ed4b2ea0c0d52b88feb3c11d721edd591364fd35cb4866ab816d92c03bff08911ce29429df7f242bbcaf4b9d1dc4c5a5051f804eedfc06c665c966552e0b2d73af2cb66f6d8ac4399be976599b9e58c8947fa3a4a45ee2bda32a53667da967bc0fd4d24852ccbb22cd35284b4ad12d11afada687ebe2c5fc604f76794524a2b8cd6d0cf344dd3346bfa3e29e026b85ffb4f0ab87fa314e5d2e22f2e9d65dee9cbb2ec05f441bf43806996f5e9c5a5c5c4624fda9929e99b35bdeb9821cfa394d26a2de9033e2a4b5bed5b6aadb5d5dafa0d81db5a6bad35875c1c785ef5aad7ea32640b209581fb350f781608dd5ce07ea7352ff0362a380b70677394fdfb4754a7b3d7fea1bafd3c81fbd4cbec06b99952e179d5da0acbd4e9466be81fc1d2a676c6dd9d366ddafeeed61dc7fd5210609a99a00720ffcb459f990ee91e80471dc7ac1ec4b3bdf7da6befb55465e937eda6f7562f994085a85013593623dbd9d9b9b9b941a1506559de2b807b3a9d70300131997a30d14aac973442786f32616cbbbba75b343d36479a3464ee1bc58d4068720ad7b6bfefc3f7b62bc2b0bfd4a475701c71dd59bf7fd73d2277b48d3f8f0ae290f4c2f721d96dbda46edeeee7382ecbb8a6004d16c909748f264deeb7bf6d189b4842268d6d1bc6d445e2defb7b02dcbd3f0f278db4070fc7e1de8eb8c763f6e1088e3bd86c52d7e6a5f9d9ac05d68d069e5df2e3652bb947765a2dac1c23b48978d9b52745088a8c0c084dac64430925a44106969f8777757d28d30d96299db84fa32991260d3424109a3cb2a6ced7dbb290e68ca6d4b905956563e79bd23276ce28eddc52bf966bbf1693f7784982edb9cd623498adfbc010a7c0944e2a2c2e2fa798f144bed058a19cb94163f3514fbda05c74b0f051c711c067314b8b1078ef377add7f38e38b3185252a87ba76725065d54896bb934d1a6b194d2054a89974505ed2425d313030a71797136a279f5e48ea33394132a016253fd94ebe77a7c5c4b282cab9315139bbc9268ded20c9c969201b54415330e448a581da897ea2674053a7063a4b29a2fbd058d092171abbc9d567506d031d64db62653737243c0a4b940b4d4973d345baa789b4a05027f0e5f33a17151a97160a6be91519b9bfe5d2709b967df9994c3651f5b306e2655649266093c686501c10d0d40b391a3da5f97b4a532c7466f4db087fe11b00fff6c50e6e018a633f0334e5623f8756d96f56ab2c30246bf8477466f4dd5bd000a3dfbc14c90f7ca1f6504d752c243dc6bd7d8de46e807310c24310c7495131e17124e333b6d6da8d262d23dbff68ac4990eda78ca6fb984028949515d1ab2693d9963f994e2ceea2e2e247b80fc618bbb03cd78dbe50e5ab8f4a6f5b25befd327b0fe337fb276674aa45f7e932b6909735e8d247a3f02fee2d5ac5f21bf82ca3cb75d2aa152db41b65b903957d4f5ba5d336fede5f1e3c6895cadfee55c602fc782d2001e7ab55a51c5807d4008b800d957bda2ab36dfcb7bf58d84ba96855cabbbff629e306ecad418fa0a72788b6611d699f0eea21e486999d45f626d99f0b32fb064a1c07079afc43ad6d1c6872f5560b57058f3ace75cb8dd466fc655ccaf894f1d356e1996fa43e3352ee2d05ca7cc9ae3a8fe70d22c0b36933a5353deaec591086ce1bbdc0c1401a059057d0a19691cd21d509d91be9f092b9088c74e88c81fe94dc8108b8b94973035ea6f9c77d9b169a18c8e0f7815f067ee0f781e0e7dd0fb4dff7d170bb79571a6a61b77bc143da2cedec6677c4c3c3c3532b4fad3c3c603481a9973c25201e1e1e9e2c7878787878788240b36b6da6554b3bbb350323bbf766371bc373efbc0b06134c5dfcc07a62cbdbc83447a62d7c6fba006487ca9b3739e028bd5913a46dbc861018f1cd1924150f2b99927a351a3591b6f1d281d820fbab7c91fd73c851224d0f620306fe429278e6a12509ff5e89479a88975190fd474d04015406da26e01a8a76a25dd04264ff1b54a77f285bd5451040857eb490cdeee91e6b6d4f6bd90bf5396eab299369235f9997655de63f56e0d9ad5a4f8f08b4ad76119fb1b639db5d2fb377e3b62e92f9f77591eec9debb9a120418606819891202777737164f7f3fcdf2505ac72fe433fe9c6d974d79d137aefbf0ebe9ebdf780accb2f8f8bdd11347f185bcf43e6bca59d79e2fa7ff7779707c393df81e8e2fa70fff85037d9c3ca8fe377ae5296874202f7dc9d3b2a6ca18d2c43787255e3aceb7868f2161c8d7c89e1ecd97384ef5a06ddb7edb5e64c87040652f2e383b8bf42d26d2dc482aa469caa42f915c8fb8436fed6a21c7a9168f30909132ffdec775de07861b096edb87b1673275ff35d454b37a3085f5c0ba47f7d4991e160a3ddb487b348f1d3d016b43b28cc4e3d11bec8dda663786f6d6d666b7da6bc5cd34adadad171cebad9a18f6da0b86a30fc4516edb7647df68341a816068056885fd376996cbbef6d72fabfd35dbac1556d098056a265efad72cdb389144a3641f26892929292925959715a552496565d37a5e1dcbc8eb6585ca8ad6d3f3d27a565656584c3b74749bd6f3daa12306987af93abdace078584c3ca61630b41c940b0a35c38f97cb4b662f7dd1a1e3c473824992fd44f119ff942c5654b4bd74ecd8a1833bb3a22c168bf2aa29ade77c6dafedf53a4f8e3cb315776e5a8fd693ad561b97c212b32842592c2b1a81a090500a1601351d888c9fd237dd27e316289eead3ec2ff209e3c03770910bc62f8ff1f714d4b1e9718931c64bda480d1c849de094c7e263d2631aa34419bf0d8e9f0154e551a8d326b808638cb1c942c63330c64630f6c1dce3251863fc23d007ae4134a4b98db259834627cc893471c6419e7f83749931d22a6bc4e6ddfa94a4b9d9f059d22abb0447504dd91b2b0439699575523ac9165667fc6d4469958d1225db22928611bf3e233983f45952a46d2e64ab32971a5453978828c8a7a6b2578d0fcd92565d28389604d554b6ba113413e4a45577a87412b3018bd928adba4f56b0517e648a7e8cb4eac2dac69f34729dd413e3bf3e33ee92987ac2d493344dbfb202fa50f9151086ce29d4f4fda2f5086116176a22aa29ad67db708fd6538760e5b653c0d44b0f5bdef418d760fc82027b2121fbaba488a46c35b4127b128bb1fcc07e7e4c1b17e42428a8e583222626cb98380ce823cbfcdbe5ca563f991097b96e5010936c5553d92b8b6542adba44d92a5b65ab9f9f4c28b6bd62987cbd5e2f1818d047f7301f145a11ed04be90658ed47a688dff0745bb91171cfc6fd075d99ad5b08630208599f16064af01cd581e2d309cf02a0956b6ec5a307878523c528f05c3fbc4ece7e7a748511666d78211d6c0dab7b5f2d4ca53ab155148d0b5eb18a7b51b14a26c50b022fb7aeb0b0958ee3e52daa6732b0ed992684db51c9da95bb5b5da4a360f5e5a1ebcb444bcb496d25a4bb9daea5954db45d5b3b68e387b8f1b5902b7676f591e14325e7ae5e1b54720a6f2338dd3fa378e6b4dabb5b9ae5341b76d5e07fac8bcfebcb3e47be95cf98d9ee735d87dddd71e473f0a6edea8c44612d9de87efb1914c58cd725fdff33e04d8e7486b9fe62c0363b06409c4326cff65b6bd057b305d8ec7fb3e100cb7ab85a3a7b43bfbae1f0a4421b21e7491f520eb41173e3e220a7cbac8ba1085105170a3d05eed0d471c6c091010266d245183c146624ac6032884161159813deda344b3584afae727a57483e440ad0572838a4c07d5540701d62e58bf607dc25ce8a454742e3d01fba1040f10c662ea920695e31ae2884845b022f00782db56fa408c3d25fe77724017505a6ff69ac994dd6b6ded6d2b615cbb6975925d6b73966975e3a8dfe4b8e88bb6943428ae9680604addde5a756cf83953b5343ee3254de9438aebdb116ab54b5f3fa042c89476c17124524b8b495fa3495f3326d561d2970b3fb68db5d9fa6eb59a8a81cef863e15304ff6169bbbd99465f31fca0352d277f6cd7721c07fab05f4b75dbc897eddcf3ec0cfee36ee17da0cf0474dbb8cd6dd35c026b6de926fa31e3a8452123b7aa9d406dfc8b6427f28498da45bef21e67756c85eb53c7f1eccded0ac9463b66b6b331bc7b33ff9cc6b837296c448976be8dcacc94dbb5325bf6b4dc7e34623ab3bd37523ae3e116669b875b489a3938394359fd0950960dde2b708f336c5b0ce42673dfbabfa99555bb5455a98cf9806cbf4bee4d544ea63f623a93371bf2c86d590ed97e5bd2cee031501b7f28f8890cdb9029f343b31feb2ab1dbfdf112087d795c76bd2e1c815f49e5bb22a8aa83daf42372bf134155318f019c63de534055cd44e64d1f22f7fb09a8b3a8aa5d1e44eef722d44540552d44bee924c8fdde43754cdfdf50b62f7293914d6fe2a9de9ce4d8937ef51454e545dac6bfec6f17d549f9fefef194af7c7f23e9ef22a8ca95b48d3f36929b88a71c680ab95f0354e54ddae608d511bf9f07c72109a13aa5337612a5fc0442ee670055396ee2b107d4e038a3efa781ea7c5ef7cd022e59396f8e72bf0eaaaa455054274c55d6e31248555549db7c54e7beb77207b5aa02cdf81b414c5a5597b4f032a4e9b95dadaa41374f8334dd5978b2855e98ec5891565922385f92a6db9e1d2c1d2c25adb2486c28f9b101ca01d4a455362f53d2743534291c386f86582cad985c4e314fcad4286fe4e4a021c4cbba0a81c0f66178e8554e0aa7859b159718b286dbb6d93e5c329d5ea61c3d1a1c2dbcd97d376f86582cad985c4e314fcad4c0a979fb2590200ec3f64f3904c169e186851d3a503639ecd7d08cde3676fb70c9747a99f1c3718385991d6f86582cad985c4e314fdebc4c99eddb70c33db1fd1709dc70c3c28e505c718971bb7db8643a3d986ddd877a33c46269c5e4728ad9f12f93edd3e0657d8097d5a58607ecd0810ac51517b7db874ba653f7d9319c296ddeec72bc1962b1b4627241dda0f12301620fb0fd96191280b2c9118a2b6eb70f974ca3d246cd9bdd47f36688c5d24a8e99b76f3a65fb3b04d87cb07d130f02e4a8a10945b7db874b23b65103c79bdd176291a67cfb25548e9795e5268706c78dd0edf6e1915463859937bbaf7c33bc61e3ede356d190a1f19c80edaf94343766cad1badd3e3baef066b6656be3cdaeacf1f63f9bed9b3417b6af522bf5b26d6a8cb46decd636961c53b26c6bac40e32bfd00e3528d91d2b6b12f337adbd8a731dab6b1e467c7920c8db7d5ca8cd4cbb6c1a3502485e468f6925c7f1c7f34fb48cc08339ab428d73f8d26fd22d7a196d1348d2ce3caa8e25f4a19cd52ae264dae8fc7d1688623389af449a6445d2d92ab4fae482a93cf2483daf941830d408410612da9b5d69beaf22615e6506acc2919b5c78dd4962bc9b583328fde1183f6cffe561678542601fea6fdfba3ce24c13f9ae0971884d437a97bdb78aea1a6b60de3191c07037d79b81d3b708621b9be2579e424588ad7d6360e0436ff518e53eb3bce4b7d9afb2b160aa5c02606d2d4b51324fb01dac9d9398224e72687e573e33745321a94102f9ba6a40112a594296d2092792032343cc94e416eae7fcaf63353097ff6de6012122407942907484948101920259a1cb0105310fb413e9387fc752805a66d53dfc4ab9727782f31300142e253240ad1933387e65f6268320ff1f62c7a7216238b32987881174fb48027532e7a845852042cce30b6f0213b00084088c1912638b0828c5208329dc2084b2c21f204122c5142240f61c199440fa0a064093f60a102820c2489229e8005145e2491c107320b47504286145a1091c40925eb819c00212b7eb830620a62d0c0ae320d43056500710241c612239491352f8656700232cea22c4a55c8b448045574914510454f2c41853c01287421041968c144931894c8c8438e68c20b50c0841759f820c614322d23082110620274842343182353319c38593800038b10e0a08a91871841040caa70841492c0c50edc080b8b4963616161a9e7ca59cf523deb9973d69354cf7ae6a03b895a3b9c4554b4ea69593ead1fa020d7ebace756cf7a6af5d4ea5979544a2922098f42f0f33aaec5f2e119d5c05e9b994c2d99c96432d553d35856be9ef53ceb79d69354cf7ad6b39e673dc37ad6b39ef504cf7a7af5ac673debd99df5dcea59cfac9e593d5b2acf0aeb062c2a98b06400c44a828465048b95f14071c576a2c4629aa6699a56cf956dab673deb594fb19ef5ac673dcf7a8eea59cf7ad6333cebf9d2fa010a72bd4ed8d08a4a2945248dc2cfe3a2ecc48a7676be202272c98443c0729ec0609aa6699a564f98b39ea47ad6b39ef53ceb19d6b39e3e9c44e60d27d119ab02513debd971aded0728c8f522c28d10f90fde43e41f2083280a444f72604339393c63b4ce1b27e7a9699aa669f5dcb6f77ad6f3cbb39ea37ad6b39e359cf5fcea59cf7ad6d3eb7c5a3f40412e95d2908f60c87df0d5d01851869a3034e4e4e684dddcf07c36084231090ad2344dd3b47aa66c5b3deb49aa673d47f5ac673deb19825fcf7a7ef5ac673debe9755fcf7aaeb07c5a3f2922098fc2cfe398a0825c28148f105cc98fa6699aa6d513d7b39e613deb59cf7a82f5aca757cf7ad6b39e5d3debb9d5b39ef5ac67e5091a022c288b264137b0a4465bddd20909954aa552a954dac9a594f15221e7c28db09ce53e346456a861a39c41dde0e8ecf06815cd5bf7719614686ee4a04b21af4190134a5a40bd545129fdbd5bb46a0cc7d702ccfef6bf1e9707ad9ad19a017bb52a2607ad08c4dcd60e978a56c16cfd81d56a043d3d4c5a75aac1a9f521e1b55a497e7e64d0ea9c00028a222808c88916152e570e5eaf1697c5769e5bc060495a9a11868694404484a405ad3062b1318a8a5a4ec4573bd9f4d61060ad2c9ab46ee06a45b1a41566d35b2d233e36b36d5b48c88b788fdb088bbad4cecebd40a60de9aa0bf95df98ae55d5e4e3031336eccbc79636a79fb3badc2f196e5bdc757a428e0ce2c6ffa8a88978ee3c6a8c4f816dc36d7a267b28862c90b7e90e8f288bb105a8c24ed99ec5754de5a6badad41abfeadb533a2e866585604ac75a2553131d65a98176816c67ed67a0b5a753a8d8dc4cf4fab552f48b09ce8288282a8689b9713d12a17176b6d8b102c23b45813d8b1188be720fb975837c8fecea28289b36400e42c4f82e43322fb6b2c5f390e11c7e9b9d73eb5240632efa2a1193734622725252525857a2ae526a7e488e39dd9c9aa70ed4489c55656c616d285c68bcc6905981aaa981b33decc81ba61c969d5cc4e5ef9ac280685198fa23d498dd191b8115dfa78105dc47d680f729c192aa52f457c41ab6678a49f31ee681bff69554c922efbdb02fc782dc03a12ad82811923d0367ea4552723b4537fe0e5c52588243f2b275a5aee3565b1050c46a10c0ddd6419ac9c50e2ab16b47ce544b8115ff90f39b2e9ab288e83c34eac6867e70b2222970ce8839cd4cdcdcdc99a68e53c81c1866266fc2853dec881ba69d50a3943308fc19eac20337a105dfad3f0a1cb958f11a50930a248529dbc13ab552f41742fdc28f411b4ca65737122ee83d6927d9e355dd30756aba256b18c6147d0d343d44420d16a8541a425f9f9710208e88b26104511144485cb45d4e4f522722288fc07ef21f20f90411485278e83430e6c2827c7c979b6fe5b72238aa2483d25d264f169ab2e69bc37de44ebc6c979c21c4745c5d4e2f242638545e626ab7c063b3babbcd9a7ccd8b58d3f8d51097274217ac683a84251185d7ee1427496593da3d156896de39f42fedf28cba11dfe81569d4e630f1eae02fc7891d1aa972a680ea8013614011b86cc1b88a2d02a97219771871c621b1052146b554b18b665a883300d9992fcfcb020c10920a08e22286848c8d52e9514ff211fc190fbe0aba131a20c356168c889e3e07073c26e6e9abc5eadd3f5c440d1d0cca0aeaf504c828252524e2b302c31a63757b235b5bc798a2171c637654a9a56916f5352c676053da183c871ec31ba6c246cd1a513e741b766c57b397c419389fc5742ab5c5e2ee38db2dc81424169550b125e3a39393d78b832fa0da155a6bfde9b2cac552c5b581b67a9b4551b681b7f2e8b56adbc6fbf12048bd5a4552a3c7811e1e3d348b45ac9cfcfcbec97d94d206a2374afd682cc66bf98380e0ea820170ab50408c857305e0a6848241289249349243c5e1a57c146314e79b37379f32bbd895fde1455de5c39bd695a79f304f3664cb62669fa4f280209458091000754c4829e40832dbcf07c321788800a23bce84593a6d8ba36b041dec1b329fadcd672802f0986a179604804b97644408843d09a24e305a23517061d1817a85e20279b0402026a31d5bc8d5bf6ecd8991b6915487ec87764c9defd7af4ecddcf825e2d6c87ce4dc0666d2171728a5c7f6acbcb1d62c0d97df43bb8910be81ed9dbd1666ebc2397bdee8997a3e85367a07859bf47a25cffc67037d4c1bcbc60501d71085a83054d8944f44c157d4c4972fd5344e2f47af0ca9b1dac0b42075b75b0bbea604438932edb0bf0e8ed7f07eb601dcceb5e4edded75fe7d05ff065d264de03ec158b383653e8cc055b61c6747e08948e9b33765bc5312b9b668d97d916b638ecba591de6d73776bb5954624740979c9bdf75ff8a63f478a47bab678c4cb96e3b8d81ac2b973e2e6fea1ab492fbf076c862ef04357f8d2565acf9b7d86ae50c88a297c3802e50110e1cb71bc4b9a5fbe3e9a5ff6266d9fb8c471cc0b94b7961824ba9a7cde7681e814493042a662e4fa77497f77e6c6cedb5f8e1b4357f822c2fe66e8f250a87e18be1c87666d037d705c56faac44f6f0f560c249eae5f59c0a592212c7a15334e1248bad5cc5a05c4557aee0144d40c93d2eb5c2c5ca38340ab9be46c463d0bcc8dd6fa00f90d4c15d06c7ee9e745072fd22b4cc0226466f8a31a03ad46b2e8d2ff699a05548214566a2e540a31d10d0b44728e45dd14bff01a420435710575bf9105ba4e8e3657dfc030ec997f6f1f288e8d33e3f2b112893daca73e9de7befbd2210b7b24244a4620a71051ccd25df46bff7dedbdddd1c1deb10a51e0c084c994ccb7cca1949756829a69f68a0120fef271a287caf4b63f7b01ee7715e696c310958ec02f370597084ab070fd9f7e04900c57a304103707b562a77f5936be8b2cd81317806ddfdb3e00bd793b432ad620a2b1b9ff5e15eee31115885b99aeb15b4fcc1118f108ff04e8c5c8bbc478f5ca6e002b82c6e01026c7630d1a7837133ad5224fe883e2212b0a999a24f26e238f7673ed340404b6de55947049a128fa03363abf07d4c04be9f290187415e7644b0b17b7809028a135641cbdae402680f951f5ffa4b3fa487a732760f1f5bb9be7804d57e7215da116d0574a6be36042debafea4ca53d68c8be44f200002966d0ea91bd575f1ac0ea53bb4dc066e81261d6c5214c7f83441f5a53df3e019f8e533fd7e794a0552c0163d2aa6ee5532aa992b8a4d572d9eca76ddc6639bb01e9337320f73cbcd43d7a00ca8e04f7fb08a4bbaf47f1c52e70ee2d830ae81e7755672a0fa52f8d2f0d28fdcaaf90975567ea97481bab33f5ef16d8147db691a7755ffd47a08f46cf2ea5f0495f1abba13ad38db455d556dacad3bab17b12ba6ac5f831cda3ec09febeb63a5f6e34fb5c21df1e19d82f7eb5b5813eac4a0b01e933dbbfdcdf1f24e9ee7588689553d00b83bad173e8ca53c0664714ba6a4adc36ac8d9ebb2dda46f4a95d91a90b02ada99d39c462114acc877f84f28c4f3cc206fb6f64c4f861244423d0f82e0e2c4ce61bf1bc56f8c422d4f8c4a1b1c8c6d749517ee0122c6ce61389606f7c18094f1fc787a1944ae3075651f3894338737cdf107833e137958f2a735039361fc9e71b2ad52e96519f28041d9ff8049ba28fcb8eef33029ba2c7c2e741814dd187d60dbfc7c20782b08a5c3f74d112c78def8e4af4a47ab37fdd64fa1c4afdc2388ee39ce3b87bfd8e404ad9b7fede47205fd63a583754bb585540f710b9c0b55591d4aaa42773afad340fd0d4caaba44a0f54532ba4e60115922b9124179d696db5b25e476fe0a035a435436385027edb7739d70734d73705016321e2a083d199da79dfe8bd0adcc1b88de46137223fd1c7137d3ad285266d1a09fcd9546fc7d748301053beaffd0ed0c7252fc8913b00488557d099fa6619baea4c07ab33e11534d511a1472782d653539a075c5b692b130caee8231e417128ed8240b7300a6c8a3e8ea3a5b26f15bea7a7faba4f5a53c557ae62932ca404e8473ce265155b458032d02b5e79f4eda3828169155558893e6210a8aa83a88d1311467552bebe28241e719c1fc7118344268e337239ced7517091abd82457114916958840b98a4b720d5d40b9be97b24a7d2a1ca652a08f2e7ce5fa2927bd932fe27b96a166d2a7d88c71cae3b133f922925b96c13389fc3ad7226c862e0f853cd53df199fab583852ecfdea88c8d96dfdfd5577f345a5a7eff91650be00b5bfebe05f0059b3f52071eb2f72d5c2238a00fdb3d49813e2ed9c1a4c0e65dad1c8748ad9f03fa68b2b66e80b5d7017300ba83b57743b976305a13ba42574d69abd517d8ec60b9d6177d6a2a74d1994dfcc9b57e07a33a36d757e1cefd5da63738e224539acabe7f66cb14e4e102108f18694af4a133381d17b4ec60ef755c505105b97e157d6859df5756a2cfca6a854816a9c85398a0c04b883e32741687a03595e3386ef3b27b091e598f1e4d9f8f34d31e3d764cb02916a990e138db57329ba24fae2f0ef1a20fd5f1af0f45ae220c721597c8555c41aeefd1cd1c32d6a10aa5c90f0ce908932835b5b8bc9c606266fc48cedcc0d172664aa3076f88eda10e017be8213573d7111ebdf1efc6d913dc5ffd83581cfacc965c62e4a930a5949469636a6badd5ddddbdf0c42470ffc81bf4af7aad2f74b6167ca18eb486d6d0f76ebd5d6bede6c2ab621258872e2357f7afead065e40abe602f39d29afa15f461491dda566bf6905f5e20650b0329574b6b3c070e00cf1f869a69dbc0d035a9e4e5b70de96e2394524a29694396b9757777b7eeee1ee40ae0ba1277f776e55add3d1f5c9f8e77878efc66f7f17833c46269c5e4728a7952a646798326076ac70d4e8ece4e007ab0406309930d05d83e19c4a447e6218000006047a5e3424e0aa7851b9d6c9f851da3b78ddd3e5c329d5ea6a441dde4ec643a5002b009c09b21164b2b269753cc933235ca1b3439503b6e70727478ec78fb3bd90f1016d8fea8048887000200801d958e0b39299c166e58c0c9f677e818bd6decf6e192e9f432250dea260765038037bb6fe7cd108ba51593cb29e649991ae50d9a1ca81d373801f89c9d2348c413dbff169200006047a5e3424e0aa7851b1676ecc8f675a0466f1bbb7db8643abd4c4983bad96c72a86a74de0cb1585a31b99c629e94a951dea0c981dab1837afb37392c9fcf04d8fe0c233e3b2a9d505c7189216bdcb08fb219bd6decf6e192e9f432250dea7e76e472d4b8f066f7e5bc1962b1b4627239c53c2953a3bc419343c78686fd26524405d87e4c4f111d177252382ddcb0b04307ea46b66f9363f4b6b1db874ba653a773a8a4cb1c097ad6191200000010008316000020100c878442b12c4cb33cd3f5140011649e5e607c3a9266498ec328659041c610038801002223303232b401aa97521f3b37c1e5d738e2a90e55a5d810e4ad1e4b7611befbd9d59399b12fdf0e0d3915df4cadd88964fff342f690217524d5493f3736b13308d865b7ec21e8415b641c4ad5839ffca62d10a4e970d6510e03c9565bd46c35a9ea1ecb274e6f1f89ad22101e4a56a9610a08c5a3da07541747467d78ea5b566a5d33e826016c5a876fa3bfda406047a233deadaf0487b257a4163c6d16842ee8a355f975b1e32620b1678670daa70c6dec05931a69cec252b6c667e9dfe4258838ba755b56785cc8701c5ad6f1f9c88e32b39ff3638c60a318e0ff45cf22225cdf32621da11ba5a17a7e0805b359584597c443f3075da903366326ff110704a4b4161b52e2e4ebaf7b7aa8fd9f82923d827b7a786acb10a665595009a47d1742823c7b40dddd0c7edb5a34fb7820e861a29a18e4523a6e0839ae63042955a0ba697b42b773faa59ebbc958a2b335a9e6249988b79182d89d8c61998d5317b12f9f1a31bb824d7b4c7ac154002043d632332e0e560e90be4643dc8f95e46d10e1f3e8e90ef9ee84625b9b3b84416e76846d40a0c5bb6eb7a0562bf3b7b4458c43c9fa265ce816212da8669494c55dca25c530470a4bdef640280c651163d9a3bedcd2f42019897ace67bf1dee9492f61d592d1565953fb1dd58486f48dc52d60f03c35f135b8b50b51f56b61889516fafb205529464f9e1d427a4ba4bbac77db15c49e7a46fcd9d2428ca1a9ed5e0a40bf66098afd439b0e066871f4061832ce83b9ea0ef8f60e97a2abf82bc239d7b74ae8cb09afcc860201ec2b668d6d3f290b6633ce577526f1ef3017eefc1ea1608be3c69b0ad829ffda151c9e7ec7faf3e6ab0ed643d22ea86f2d3f517c5f90d6af9a0885ed8abe60f84ce13cb671f436b383cdb07b7fd08820d01e0559524f8206b4e850a6a6fa5a048b27e5dc64886eac946ede190b0452a07a0b3ddbf62695feda74e05280b57c11136bbc1daad7af033a617cf139789ac9b58676176d8e7a87ada83715b5d4106684a8d3c59478010210b1c7123abcd69a97cc449f88f773458037f8e38b87e7c2a7aef8fad7544622421512c2180b4268d9941aa465481e1bbafe38c97782d03ef7045103118ba8dfa98e23c7189a762069e0bcefcad04b1386316bd00acd39e1774af483b7b4b7ae2ee086f55186334c6471302e7bb816aee6df3a6817de845f31e347cf56ad7ddf2e338f86220afa521d9a880c701480d29da177aad4b55c339e258e446e6f68be8f2fe7cf037a4f8209666d8f7b86f94b74c28ae3908c06e44541df52bf87bf5513596a7a061cbe07cb78cdbca6bfe7bad0974b8a8df811c490b9b20d9dd88e760183bd50988de452cc261cfdd03340caaf2b4a0dab866e1e7fd174b0cbe4ad8f5e3d27367ddb4aaea019a6ce5d50faf4fc9aa6257e32944a9411fcdd829edd6088a95a8944cf2ef653aa61d883e030dffda330bb5d002ebaef082eca35e87e8bde845f6cedd5499e1a2c060dddfa2b6655875474766041c700fbf76148030a4f7586d6bd2ec49c7ca1756548fdb38a1750efd00c676c98c4049935e74539cb6add5f5d576429f74eb07aef9e1b77ab088da80b76f5c699c3956c82800e64267666e9126414da56e26d286dcb5fb2818a352c066b5ac0604a3fb1615ca2e101c891f023f0c8a4e60f0bc16e77725bfb9f0ad4eb7b148af51c97328155f3ce1f84c28aad183887f405da549f3253b070427ba91f99a6477a78d66ac967290b006e34da6dccea1958ba3bbecc593ce0e2ba56aebd2dbf6b4866d15f9629b8b5c9d049c425bee39acdcdf5deb258f582ec0354fd0a6f7463e9535bf527961dd743cef01873d867bf7e9fb249a7469bceb8844f1c580f41129d29a9d8eeac1beebb3557d64c58247ef2e6e33f2c4ce899b792e12daf5cbde97bdc3b805fc48d86406ff2d1ee76f1d8b3305acc63997e228ad5e89bebbb7355c8224e7fa78a360fae6901340a707c9787ef74979d17573e5804c6ce71fe48572e9d64fd2117ddaf71609460e3542b49c8e04491fc56d2f6c8272a8b8645a6dbc4d343f8566ac3a3b5a8b292a8a40bf4f3e2257ff7682b97b4b662ff7890f6568f2ecdc07b0e28d4416e19b00327d9e164cef3efca6818e1672bfab8adfac54bc2c8e510a74d124cbcaef325e28ae70d43f519328b03adc9d128f1c1eca29f7b96e84a25b2ac578f2ddf398a517b77f7358576e8c2cc7fb17001ac190ef9d02690c26ebaa4346166191b62373bb52ce78e1c6fdf9ba53ce5dbb0b8b3da32ac007c1455d3792f49e595285c2128adf72ec5f38c6e9321274f3fe34fecbf88dbbd194c54a2de5f51983ee33078b408b184352736905e988ebe497b830a391198e4ac87e768c3c8046104b57e9f82b77d01cc1919eaff05671222760e23a61458c646018c202945d348129949018be613d9a5525c24410713151d2c24c6d7e0529ec9df082f40606d4757d304136ecbb5a43aa47b3b4707a96b60a8604c7c8a776a6c8b324befc309cee7e2d623caec09291b11cd9e1c4e540f56626623091a5f7241b59346280081246ef6bc0431bf9699504bc05ac4460863a50a097079b2d9aba35a7a5d681ec8698f8f22222dee3301e35b6d5ff582afdc509bf8637858f7f9bf9d3e47aeb75b99d017cf17a641f18441a948b44499c96168b69ffc75e48239ee5cb5a10963c860aec68f4eafd3676a7dbd097de694427c336d971b771838d72dec115cefdd2dce77ea949f01acf74a80219c1063cd6296d714a90808521edfa3ebdd28fc90a26e3d8947f348fbbbe492e22554000b699a62b8f5e2c6e730c5ce5b63d1ea351691f9bef03fe348d66f607e2c0da4df3d0668d467d38dba318a8949ec1f278e29fe75956d3b1c724e6437ee1349103457e77df0a04adb8bf137e944ad2ffca66a6396f1af8790b7fa125e5b3b817234f481979be74dc971bb1bd81f0a5adbedc0d2d53d6bd00512f6342484723a5fe8b319226fe42548e7f3e2ac970293aba8aad1c7a5330a61726893231704a2127e5858113b7b07bd8811aebcc0b5e7d9db3d12af765cc08aa2e3150c4c2e4af2eb132be2a8ea54a5b1bee58179c88c523f2bd83841676135f5019c7645c5a5af59a215f7c647544c895b8e02158388ce69df23347807ed33b4016054d93280288d22211da4be9f712816b447260cc1af0bfca620983c8e3e59cc98cb260c36e10a818be7bfb39bbb5280f254b5d476462ab26d63f09956877899694e3655aeb68b9ec8927ed680119682d8d74d3c6d454239f6297ca2d1fc16bcdbb4b9f51ed0bdabadb8c8d33f0af3e906585e35699353978c7984f63a22e050cf5a08314aaef267d45cc9dbfcb0d0b3fb7fe310c28ccfe8d5618b250d8baf2f307162e015d49b12658d72c465aebbc5f0a15902158bc4fe07436276029d7f322da6e9f6ac07853eb3a3dbe6fa6d7be9d4a1af35bed857d4bcc8abfa0751334e86be0074190d46f1f809011454b8cd7dd5e92464c56a472d072fcbc0f24de82a05101fd238970fcc7ee2e4988049e857d359a99a14531107353381d9d9ad30252247f3e7d496403828b7710d68982bde6f465f1a45682d82d6e53c7210c50652a110c31d49f89bd3e6833436bad93e52cc281f7cfbf1a1e9777348200c91e08837538f208bca38a85c9b82bff52a61aefb03baaf69e36854f3356b7fa69cc7449dcb11d94af1189c708a247c8d91fe91bd4cb326e19f4c87e494e15a82415d8251fce0cda01bc1492b49b7122b1c2c4b5932384656b3ab46011015861bd22c0f676dfc310c2836478607a409401567462a4679c05b070a61c0747b6aa67b2f7a3ac607543abc20ba1b550d105eeda0996b0afcd1410cadb26af2e45e9dc7d2f6d16a7cf02e1b6998da5515fed9f3b8a2026325a6ce9f6b490d220eff85b7c9da625d85f655c26f470cdc2c6647d62ed3b73c83b4eac4733faf12614b5be7adaf4952864e3906d81b1c8f471ed3e251742547d819df6056d02e01e44326b85d893a0d8c99195257472321ab50a54cf854e165a52066c4885126e0634dad31ff9a987b9ee5cc50139a489b50ba5be3bf8e8d830692d151ce70c1738692fd1a1333b6923c1fbbb7d4f3f3477d17f8b3f6e56274f46c4f6030dd81db4e4487e79ba492c07dd6e7eef9cc83e19f8008f223f387f5a2b4f0d4ae3d6c5475d1d1000db077cfaa20e46664f688b6f6876243121486224ebf0f69400820a9c32ec3c7613ba443f74956e9a6daaa7666b93db2f341f920f96a941b050e535a87877df567c6f5bd413fdaeb7b7bf87486e266d7366c18d60c7c09c5ba1a0c8087b1e4be3a652393e4696d879c6c5aabe3ad7c99aec2f0eb854b3fe8a566b97075391d58479691be37b79d060803a62d290914e0b17c9f14f2399fc6b5b9633ac5baa18a67191dede9d6d0b58c9dfc50698c420fdf117e5f18813f02b1bf1eed06680a46c465f4ccf91b1b1d50d37fda2f059031ec3518e9a96c7bfec23ed6dc6dbccb9ebe0baabc3f0217ff318b55fdae28277e7be6736aa4130c871599eabb3b3117a2ad434f10a3fe2931e0e2b4a0bcbd1f4cb5500f6e3d29740e0aa764142687279d9294a5a2594007e33ad21939cfee44da18a551eb14a9dfb3ee3816c5d0b79713ec41fbc325de195cb0fa8a239f4ab192c3e3a3f87c4e40c6fbd51a4f806a8ee9cbd80d01154382e83fb636c00f1a88b05b8f3d65b6decd0c370aa80a2a37381946aa0f292d5de1f38f7e857e6792cdf380bbefdf4eaa76b2b6689fdd7e10b7ec4466f752c0615663daeb369a6beb795f87a11cfd2eeb06d309a7370f049d558354bb1df86d12e3e86431b6587b558ce2ef364a5a573b3cb22b5ce1c35f3e8b024ccc7cb377307c442ff1cfad86feb8d48d3d6598c8d0b29eae7bd6139c38a4068a11a1ad7ec797ca49f60f2372f838367c6b5f92429613b5eec47f957a4fc94b32e4b3a89a190730e8044f28faa7bfcb6da9944547044f7294a9ca4c25017d8b631bbd6ceef27e254e0e50eac86fcdd4a157c8762c265a074f71dcd3851162083787416286258627295761b46131ff0845d2dd86494728319ec3b56a2791bf32620947a252213874e8911923cd1ae85537c3e979a4995c2530a272c24f0c1a811a2cdc4b805048c89ec38b077bc9d64b409d451dbb91bf33c33a5f21de9e54ab73b8d575c2d06454b283b7d5277201b4362a1d6d996d01a27b6560566d60938a4283a508e783ba86e967ebe7a1870da77eac08126f3d32cfb01a2b74c72c085f61238f2390c40deccd22940ccf6174e4581020257e3efbf6e09292a0dabfdd84c483dafaa3a8c239208f3d852aa9bd0fc9fb43c499db1032f8078ae2b1b0528b27070d80a5f75e8c35ecee4724596f06722dc04b77851ee98dce7be345e514aa27f7d5f675ea33e2ba8fb978b2f2cf429977017e915d172e8ecfa827077706f8f0e09e1b4cd4c7f9272542e2972ac9f84054037661d95567427f14de762637a62083b386199b381f17781d3603f64df9d12496433a65124a4ac60a2ca55922809c5d48160201ed07ea3a18130ce7bdfed9136dcc650591c286a671a50a06e1d6e0c104bc688ac0520a2e758bec2669ac58c55a65ab98566f5efbaba345f006b93306adc22c67f7a339adb2d8e35b0c8eb260c12f4f9f09b6a65f32c315bdad363db9c4e1ffb8f00a8ff97570d3aa49859428c17235a3e5040e123ed0094a0f7fcb9968391e0fb8cd4634d5fedc90c11923f25113d3fd43c0c998d51419284c3755c701471aca0e9babd348b53f709571684afffddf09d2b9aeecbd7cd13bc54dbc80d0c0ab05398a8e8b6c27546997b51655e7289272cf5f4c2ab3ee40a60c8bddb4ace2f87b2e748ab374a46012d8cd2bb3d90eba0436b80eedbe6e42106654b750f0b5a38987d902adda2728d1850a03276e11ce45bc593ff7bfa98e45fe3ddba09297c08a8c59e30b5b75b017a31f2c37fd20d8c0b22820ebf1d987e9204b68f5c2f50103f295969601e38a8bfe4f26a21230880811b644ff1f8ea83db1468a7f6e6aa7f650a4506315182e4e8aa3184ab7dbfc9e27ef946008437bf93bb047d8487b6f507b302116bf9aec987673270a07f0791064c0423e56d236a1342fbbeef0aaed62769c96fa61c455843bef8b939eeb0d71747e2877edfffa429d86434f47156ec08cc1733176e0af41b43d501f90f64846ec5f9f1853f2fcf13774c4e77abfb15e1ee242f1654e9c23fee37a7073bc26302e1f385928a268677bc0a33131a8fc32a11f4156f42c76cb8b61e95abe7b86be9d0a6aae05306257b971287ce47ad7aa7eb7805849eed4163197ea78a67430c02da9b6544124747302371a3510e4a310787c7c565cb3564c6affd17c3a6bb491523c5f61bee2d66dee0b125ed1b095b067cc3bfc5dc1bfcb7a47f236fcbb837ec5b4cbdc1bb25913752b70c7dc3bac5e81b7cb6a4f346fe962718f52fc5c6d619aa65188db62b5182f8a338e7c61df4211340705de07648205f6aaef4ef5f019eee0b51925c095043750d594946d5604e62ba06de2489d7909264680dd624e6d7c09124811af2938cabc197c45c0dec4952d79033c9e01ae4c7f8a351accc40e72e376152954f809cff9fe494b8fde1c21c310e537f2c02c25e91ced2bb340789c504987649b042304a023f0829919008611c093e08e649e087909c84ec10c6906086609404560849484801615c127c101cf6d4eac1b54177a13b59ef738e315b5a06d32421526cd2b0a01b502bc9a1206973ca2c1fd8e2e0c1fb076222eb63d7f5feeb5dd7f0af8175fdfffad7f5fdeb5bd7ffaf7f5ddb7f5deb7afe35af6bf9d7ba4e9ba860a934ac4529f8fdff75bed7ee8b2a5d77b01acba550dfec79fa54b05714a53ee652295bb641cc3fda118de36bc7378ea71d8f717cede8c6b1b4e31847d68e6a1ca57614e328daf11adffa17c44d3c7fb66b77c62aff83417425116f0adf7e6c0b0e452ecb816438ccfe18784ac950c4d9b629b2f0c7c2f3f1a7138c2cf9443a8bf413dd59f43fd1cda2ff443f8bfe13dd2c329fba21e0d94ec8d567c8313131c6a1470ba17eaf0d8f0d68d8bbeb1241640154cad6b27a4ac9a3d70dfdd86caf019b2bc461c648785119e3e2c5cd18112f22c698781119e3e1c5638c1fef3d4e55012fa86464acb4728ddeb83e8a715129e4e688c8ef406c1ecc40fcd0df24f63e807fd7599f6599623cb5e26c85a915cf564c2d385b37b5fe6cfdd4eb46787c393126821f47a9fb3e9bad6badc9a77206dfa06886be6115ebe5b6cb501bf59b33a76e31857121ca2e348568b8d02044d3854221fa2e0cc631c694031175b8a46cc8f8b95beaeb427e812f382e1ba26e97b81b2e12471b13352f76ac91bc458122c15042cf8e1e093d74f44c88224c06df18740ae9dbcd58be941d75243d5a90007378362f26d8a5231ce0a518226885581b2f8a6c2d5e2cd986a195d1b102e02ea61b9e60819181b5df15a950eb8cbae153cf3e143be561f8f9e9a7f1e751a8f7a3836c909f7375d0ace7e5f831ade2f36b04d955dcca8ed3469058f8adae2eab1ab944a46eba49430ad1d2b9e5fabc1ca55f93420dbcb193137419582492395a8dee938fc13391adc02d83cb91e9e7a2a102e01f68d8173b12f72c8f6fc780498ac9b26c617b7b4f61294a67a2f6dcb540719f7ecb70f6dc55b8e48feba9dc0939a86644d8f8452280aa2105b2f4d367d4afa1b2a6e43a35166eab50c9517b18c94e017fe047694d64089ea4e790b0bea390a91a7ec737f1bd2e4b37a941399bbbf19686cf5310354e6eb1f2db201231680f7093a6da43de8675f533add71e2c5aee741ae0e73b195dc7823de2a79de0d53fecb0ddce546f7386c659edb375667bd732e12d0072633768c3f720c82808af35a1b539c125025a232d9f102a942bcd24f8799a5fe85ea976c46fb2245343b629bee96a2cad726b711cbd466782efce9d1a901ccc92209a8261605a9b457b220969fd2d29e68421b4b96122868196f034eba609a2903b4414a638e7c4edd3dc8e81d63214553034973eed1514d2b6b9d3ca1051a1541bf6dafc33d4ecec4d52d1eb1f2098185ecc3cb3b70282da8a58b4ce0543f66d451028295c5f253df6f60221b10a88c253865ddcd6fb24eab5dfe02676f73e1a52aff56f2170b5581c1bc341ad89948e1442487211c1bb140f2dc2df1826e01b02ea4f0f6488c3387b1b6bc536ca0408f862f232036964623ec36e102c3857e5ca69b14f96fa019a1158abb26126fe17a79327f398c31f6713631167d9000d415abd687797685cce529f17f4b95193ba22a170b63c58bc456315e1caa6465a44f0ae5b9ae81218eeda0141c0df1dd541f94f73b626fccdc1cd9013f0c973a543d6d46d71fc4d1b967153db715ccb0b2c67129be39bdbffe8f027d5bcd3eba765300b83c0b8fe7c93303f9edec1a5b476137a1f6149db7f1e31826e191e107ba5913e6a5bc621fba8bfe1283964207b297ef6e83ae8969ebfa98af03113e388bab8814b934c47ecb63414f3a0d0fa18180c89376356419340dad51b3509f7531f5019f2dc476ce874e5f53dbab9f54840070204deca180e8671587f6354bfd2588b85f538a45969a76e27b196023b7d25c6a07e5250dec322728424ce39b80a2535f286c68168992394a4cb8291696114d20f444af91f059bc2df9b5afb0cfd5b3d182ada32745ba06082040d770c75c8b7e82bbead10ba9765afc61efbb0a515cb7b91fb7c6834683f2f54e1d8af34fde7dadf813ac773fdf32a737ce41f0f7f8ee8af02feeefb1c6bf5d7902f47ea1ffbe7972faf8a0b837d191e524f2835fe5e50ab3fd1c33d2da598bd6d46b9f5bba7411d68da8e250f6100f2f5b67b91ab1f31932fcb24a333f97ac0729cd777fc03fda5a61d1eb7533666d68a5e7dbdb15445e73d5ab8b43ebc3a04d7f6d5afc0fe4c087ea1fae7148c322447e9a2bd16bdf34640835a80f51ec748e1d7bd6f58426852f969024175f92a8f4d0d8a0615098b5bd91c957f11010c7da8a1bdd7360d4e73314308f565a1395f4f89eb5f49a519ac51affdf3894b2f636996644f486b84db425ceadf7ade960fc2fb6a94f01f7457846a6e4f1f64b135d5a08f6cb03bac6e50175ae567fccb92c920bef436f002e123722350ddb257779de37a30b80ea52638d2c948d659f080dc61405726003cc44599e8801200cc9fa80d1b982b2a31531eb0d6966b59a8e8f2aa7354cf90f526ac3f29e441b1a8d0e497ea8e9e15db4198735272031529cf2683480b4e9fe38840a50bcaeaf2eba2c63434c6a55a1fcb617c93efd3c364a2f22768d6b2aa40f0860b9a0ec0013d90855b36dbbf07add6e3a85886b914aa115d6f02d5d2c1f5a87884ba63cd604a3c72735f75bd9549ed4c81823e523ac8339a802517a5036e6d7d6d40f0270d41cf992c2ccf13f28a58013396194cd474f56e27ea9f120894eb33223d0c66be2c4fd8cb236753396901466313a6c131bda5332b58d7e40c02b7190d8ce070f38a05126fc9bd8b1c8e0e9843669ddc657f38a8b57f46c331f0a25311f176b4c04e92fe82267de22ea3ee99c9597a4233532050a0c1dccdb60cdc4070a85e9950669424952cd6c52a37fa0dc9139792e4f6038cb1981505ab22e379e5c72f6553a5cb840116054a8206b1f64892a3922461240b5b89a24908dfc7243889e2bda5c01ca6d4ff41e8374912d2631550054341550a730c0880116736e83a111a208b90fe4f6450d89bb87f0e682d9151d01846a85445b801187ab4709a59fdc32524969cf959ad3cba62d078beff24f0c187b8b5040ea80702cd8623843ff1079730280d18d6ea35dc55b596a799e22a92fbede5a8b18b5129b23378f9da6c282675c869e63061b0cf1f9a5920a04087e1a91a4d361983c4ddc39f0c3a46cc669e22babf49cc9d5e684356657f1c845ae245833188d0a804d17a15f05fe865d8cf016f8ab126d161ad9e3f4037f9d6261b990002020e513f3584a384554e8af1050179d3aa961a7028e1055a9a3f637a6dd8ba2c7092ee7a66c00cac2f7567311e4e055b67b3c7acbb6634b3404d0c67e3ce45e9922ae2f5973e0b37a8787e5cf4bc0b9bd443dd252c033ed7cd9cdccfacbaca088dd26259a385c1acb62d2526183edc5d76a1571ce0c52949e35449acd4b32e4b9764679a2018743818c4e48cd85c7780b4daae0902ea4fa3ce7c92e830aa54ab4c1893c0a64a91f75c9ce2bb1650ae3782c4cbc1b80fe83a6254d12542a9082957ec8ad95b10cbb6a8a924254d29aca665c1f586e916074c579463a132ab048d2c6dc0a7b649a94dbba2af7f02a88a49a2048d0f5cf90b1e16c6eb8c44a91992801879733de761d44675b3afc3b06be258b5de7b6cc4814f17d38d306db48b1453ac7871559c04999aca01ac6c2e584de5fd6799c31d02fd9184f8c8b17231a6063ac6e1b5a8058498204c2fc6c1c1b026de6f901070a7475fb98107b1a3b5034a69e1b4d44446501b380c2f8e18b01b0e9799d8ac11d44624f6d4703d7e864b8a2b5e9122af0c4d4fef4601ab6902ffcc3264c086862a4c8598d266ac2623d68d4cbbe2ed887ac60fec9c24080e5e2adfccc5ed2ff528326f841eca2c872f44efd06b68cca39a843250397acfeb547cc2adb221cdd2b282860698df5af11106e4ae67a020006784690b964decad21f4cf523d8504ed610cd280bc19023366a83b0e3f45b20f93aee4d386720bd7b0452e5dff283838f61384ef751b8110f5b786f485678ab0a5fd824a6a1a0e9856944209685873aad4b11b9040979544bbd3021a8b5dc89e88b5d93858e1da7f87543cca665e4b90540dff93fc2eb66891628ba70887dcf3e9b4f6ee1fb1307f5e8000a77097edfdff1ad5c8fe4d101cc43624c570d83d46bab5bc300671fbaeaf35582abd99228c0ea5acffd1729f29dfa73f0687df78c6cac9183b09721c0eb9d68cd45ec1fb0f11244b6f300afa782f60bdb3b743b6e006de2ad4e6d72acab2afa50ae0c01e0feea1c4a65107612868bf3de115ceda0e591d794ab39849f330f00750b04c464bcf4cf61fba0e741cb1df9d0d4ca97d7da736969ea623faa3e733270a4af18a060726d2ebbe4bc6a9f60af7adaf4b2f82b3401c3954500615ff9863a15658434a1ed6cdf045ecf0f31a79821528c8b47b6a29ee6d647b1695b18566576606617bf7bd88c8fe08d1ba61c00bbc1ad7359f9dd33f156fa89eac8e7704df66182453e6c352bd9875c000cff478f2fa7e1ec497d7f7ff2c1178198af1e99ce0a7d2e20026db60f7a1ce0730d722cb026bdd231f6b03d521003b3b5a252c7308bf927e661ea277cff284429a406a2606f543a4e76b99298e608957167a560442c7bbef6fda5042b84ba033cc58a56a764c64733add8d4ac6c691be1bb86fac901e5d2c28c4603b8af7c03d7ca4176dd35feb6375c70ba1e27819dfe37b1670b9afa4a7e3a2bfc946b480fba1481738f9a638867350513d79ec073bf362d267581a03185a9e4ce6825c9481bc6f6d4dd853f39a7c15ce11a7cee095ba3830f37795c120e619ae1ffe1300b7d9a252577d747589e087a710b0f0f036b0690c75561cff04fbec330610c376961fcc925401f961997d36a8e50d97f4383dd969ab043f6c0101aba1db8dcda4d39f9408198b8d93b0998b2f4d0ae7ac982c5f8dc2c6bc04c3f91fbfae3b9fec5fe60ac282d243e974690c651e83144569a5579041d27ea8857258c59d6ab2ac22b3b4bd7e49236a3b4c44001667af9d33b85ca3e925d20fa804fd21723fa5360d8f4609be9bb6304739a225fe1c5402102418d54dd0cbe11963105a6f78c6f8292bae5330a6315539219cf65d4c4566f439a90decd08296e83a8c163413a02e68621825e8ea6cbb4c54dd7edd332e949c9ac2b21780d28c82b7ce4e7ae6e320960efff8e7e2469a7f9f7f30d40015972ada67574a8fb78e59e72271e63cbf21c4dd6fe63963cdfeaa86de8c8bde533423f41621fd61e68a29191dc59ccd277001facdf86a96d2adce2c4d232f00c011136f447011ebbada4382203001da05944e6e092380f25c49d3cfd22328243ab48138cbf282afbc663a1699f2343fb46d5070d3761d473f26f815c3b1323283259ecf75aaa448d16255dc98f96f370829c7cd64b7d069f61bab53e7a41d372671383005f6d898e6840bdec92e04f97606d8f01941868b2971f9eb0bd35df6afa7ab73eb52c92908054c57df1cd26c3c9f308e3bcff6a776c42be5560fcd4ff257bb27676f938abe77e4ffd61282fba7d51c748ba697b8ca5a33d45b5077f3522d1f06b7e2ccdde41f93595fc673bd483c53a6b531e4adc8b5c31d6f6d56d49c87c3dc811c7d43a49ef5e86c48ab79866c9a6090e2746a9634b379e6086043d4684b8b502f3f064c67749390e21ed566b6b0b04e4f546e96bc6252e626cdae6650398c6b0723c29104aa73a179c82e3d77cbba9e6b2afa4cbd7ade21ebc81c8a5e4d66af94170c522b09f356b1f507ec70609f49b61844d7c36f72fdfd82b5243ec448e2e9eae65ccc48e2a1b0d140a9feb07eaa57339b36452a7f754e16b0aa19e7c7d779350a194412376d7ccd89a3e096c48047e3701eed6391d80e44cdd88b24486225d8d7de9b2d84cedb6a82c15fe0ed225ddcd0a7198ed7a9318903be98c2d736c39b4ee4c0a2addd1dc9d555b4f9f1d6545c6022e6ba280d040e24bb6946a5e80308e69f63207ae357438f8f0e63b96dd3bd687b329c5b86cad0c22b2e0929181d3280181ec8e5a381277a698fcd64f471bf3f87419ff838f504941ed0c7e59eb10154a2dd9170a60b96c015a9a0581b704478002de90338e00291e0887d2c140858914840ec8c78fc75f30c60aa59a097e99a7af9909c25490110f81f447ab60af820892393898544e78ba969b7a4193c01f98f9db37c0673b30284a87f970ba894ac089ee3be970e98c4ee40ecfbbac34b5f1e5746e9b749dbde572e901f4ffb0a70870c418eb0b2b3692f7e9bc15248f6636ad5f81d1cd03dc4572b86eeb3266ac2e82464228cdfb89ff72804380688774cc36695a33a1e7dfabac22b98eef10b1d4a7eb8540b2edc8aa2ada6dbd9f19b21a721d762bbc9cb17fb5a25982d3478679411947310caf8e5ceb47cc7894777834b47d81f3ef34750027b0f728b810b6f67043f9565c79c5c5874837ede3d09fb9576d5985e197221cf80a46bcb29599c7d73f815237e8360578e896989e0994e7dfcccf1f90d6f9ccb25aa1cf93431baf765949d38ccf6ba70bc1e66a88bf69f6d3bdec493ce63bd75c25b46c7a4f8379eac1cc8693c2f9bfa7550bc14fcff3324d602b15d70f410e75f07316a18005e0a5077789816ad9322cd8224aebdcbfc913fda42b3209f28bc1da1ebd406d62b96b0c89433db38adad02aab250b9761570403f37e5d107b94ed29841db92b3c41dd7425dc56d982b7f470ac112bb7cc557b80368c5e79c4871522408ee4b3b9eb548ad8143ee60bc9891ffef60f2f29615d0c3f67f32e3b767c184b70069547b52ef540ad7c1e500f7f03bb151526555b019254013a1a67cd5b3f464eb55c6193fd682991eb3c2ae6ea43552b62a82c5b030f31438f5cb5c62ecd56a1db198eb1b8485433fef103db7331801bfe1b5755a1dc74eee645662e89f5f9d9ce5810a0a51e4ae84e8fab254b74163b3405fabd7f9a1cb7b9daff680087b916a601219c3b432e9f8fe04968d68971a9299ee19300ff6a513dc0dcd7aa51d99c97449bb9dc8e80d7245d913493b6e1c7a63ffde5f6a7c8fc300c23b139de9bdc9b140579bf3c061c3f78699aaae0c4cf91063de5d97b61415bce3d631a0ecc244162b71f3def74c61cb65d483dfa241f7328930fffe785057ed98694e1da2e5959026066d759bdc8999c05e21463be00e029e0cfc608001eda40d44a1000a8b4bddbb41e79d5f09c4d6a0ca0045695b52929a7769445af0efd9771ef2eab819f49e693fcc2e1d28ca5bd030cc14dde758a6740460517ba3b560ae3242cc80a9c2e29d2617690dab4e2c4ce3db5c2deb13efd478a01599ec92d98ea368e2afdceddd0014a9b3655c77e3d11fff82e2484c09cbba539996bb60e1e6b437bb14fc702ede534945be12fd17267c4d3441fe817aad421aabc229a8741c8d58200371ecc42a83cd5429f9f434275ed4a3d595e6e6d6c0b4a40d45518f909aa8d09e1e0c614d2d8296b93b51b4d94b7828610ac3e25d0fb698ee0bb2483570add0e11f6057d0879193c854b730491a504d184e59a82a0273f558586a20132c203a99bf894717768b395c66ed5905ddcd15fe78d33dbd58c89032f0fc340810c1b38444334082b1ff483cdea1c1ad5d557c256f4f2651d8e98912629e757a07c8b8b0914eef28f6830b9f1bd3029b179841d7b17db618096c95e6c2e9cd9ac597eec4f173737bb4efa6617d5b6d7c7f10a53f22f47a1eb2d47f3afa26b465ea7be037c3f00d02fac57f3eb2851105348281d21d221a0f28e7880bfa189e07bee5804d4cb954310b91c7a3cfb92c08b01cc002efcfd53f2dc1f26cd2f504110bfae5f4057f045c79525f424227b32494143c69edd74fbf117352d1ca7c1974d2e31229e303a11a38488ec3b6f305c5605212c8175dfcf1f9b17b4d72b87f2ceaf3a45e9b41427e51c1886774b414464b17a51cef10b51741a042c0a5952e40c8c2c9eeaa611c9aadbe6894f0fb88dc659fd9c380daf3b357c0504c20b1ae7c17ad25535d20da924ca18316e1f56aef5c3370ae930c1d06a8e8cdccd08f3505f6c6d277995cf93bc5196642acfed5959799ab3c6b42f03ec49566ba1286ad461ed57c2b34230cbf3d7bb7fc6ebd196b7fdac9bc9362d53066a9b7a5bc3371a5f84dea79183ea375783d69148b3ff6c2ba3403b5a93ab2674faa88c1b32c780e4998ff8ec4d2589f03e931aa8e89be8f52535b5d1f26a52a75be5cb8d9b13e2fdd607ab9099e566ac7762b561f47f81b67a842b9df184e024b2ab3d5d3162c8eb0e725ce5ebced347c1143848753883fca12fdaa5872da8c9e08a73be225981d31adf709834ad027c650f1e6e9354b79d5c8b87fa26ed51a3751fa7d99fa0c6dca0593b11fc23f76b370468dd7de55ad9232e0e1cf9ddcfed30ee9dc1b2b03b4cd1903e12a7ab6de56debd492eabad632f929bb5cd2a44f8ec5a55a060f3431c43d53f022c39dc09b0506b78c4aeb5cdefd58960b2b2bc5d0fc814aaaade2158a5c271549be386d35c3dd0f633a0f2351a72ed2520d70da071e97bcf908de28a214f75091e8951c0f8cca56662d03822dab7d2876633b8c5024ea74471e25c3cf311e08639042f1caa1af31b8725ebbf33e6542353b2252f61e6ac0c9876b652a7cb72b62b026267538c6e16fb6a618efa002f03b6ea1aec803f3b3d417712a40a55302d20deaa65af138045eb285edd94c0993656259600d39ddca8edeb049d611aeb37fd0183aa2b4bf110f0a069603ed7830e5eed5843395094902cf20d2c158c66c2f9ca84d50172ff408c4cf336e28697016ae041149e812ca3a34609872f5ce653be198ce82c96223e2cadebdbf6ea4d7223d2c4124e05675a53591c7b65a8fd3bcd37aa287370a95e3974f4c2d044c0a3d87d81feaee53ce6ddb53a4d0fbcacfc9adfb0f9e80e26555ee9be2120f60d0f7cff0418687db5ea1e78c79758a1e74a758c599e392ae41ec22559f39c4d89c8d32c0febd828001729246b85e3cd13e77c0cb6252a258b1e2ceaa57fe4d65fd7e93cf2177aae28c71024d918dedc03baf5b2a2f577bb3d4c8a48540307ee97012b9efc50f67acd898407f3f4d1943981ff6f96f9d060de22c603cc2b9aa49d5aa55f7d41d0120ceaa5dd86b2e54a313cc43bc84611672e039e2b452028a2a5e99c7bf8a9fac42539ac9c6fc58cf4f6d8d4e8fccf1dad60653ffd8da2c74cfc58fa538ccd2021274dacc73bbce43d69de3c46f4f711879d69f2a94533314fa1d2ccb988b198a240a07761e29479a0c334ee8fc3bbbf6729e344d43c228b7e0c24aeae549848a94e2405aaa5707833355e2f1f86ac6c8008672217d606281ea6ecd32532f0821e156061542e9647c95b32fd428fbcde6d2cd10b7b648572750bf3b1b836452b54549ae86fb100bc129feb32325cb3123fd722ec5602f692a032387cfdb426af92d8f1f9908c262d5de20f9967de08a9e2c3f28b4d7aee1cb135006a7b23b9d10ef219c7f42addec0dd67dd11e4c0f152327ab4f4c253dbfe525b4326dcc847205d1ff4f53f1b2f883cd894495c3b3ca6ae62c4c3dc6d80bc2fa6e6611eadb10219dd14cef3563910c3169ddb95b70deec5331f8d0f88188968b22a87aba51e77164a7689ccf370bc7544c1620a55c022650f160512d8e058ff7a0e2ffc5ca94c93d953f8a455475380c154f42134d5f79d423f2d6143f940d3b61a90c7f815888e43cb7a10ae07d79b6b8501bd04365bec0201cb70025683f80b63b48a3d89246d8b06dcd34165879e97ce25ece3a09f41fc229530715af930d95ba195a815a7d2111aa0332aba919b672e40a37b05b620ea427089dbeb4195e3decf9b9cf5ae225305c63cb76f6d4881004d8128bcbed396ccd9c22315fae66d9bb9400fa8c7fb29a2830047444eb923cc340b39ff13aaff8f86ea386cd74c7a581660fe3387b741b1610863166f6e09151e854a22be86669f45f6e894e6d2e04b4429c21d4439179d576a6229117d4b59a8724a8b65a375e9586eb54decab26759084c896f92e3bfb6a26cc821e2cd89d92eeba2079d61b8a2050353b614c05ba9879ac47e2f2c4052ae0a0f0ae35bb73cbdc58dd30c578335835e114a2bf3c00b43ab9e86b681644015e52a32345fe4bc327ba7d5715d8446cd4f5c3d768582e8b75d29985898b0e355a16d9ed961e02fd8955d6655c150c9d39d6257b358fa5a3942e5a64c01bb8a3fd8cfbc3c04ff47f36357eba141f0d79e5678d2ba842155b45857ba6a552cf2768bed839b6eea59ec53cb0530b1a3f9e673f30780f2a525fa088efacf05774ba6e9fbefcf665dc073542bef92d91e8b747915a33533347c51d8baf3e3251d5a0b74c5b0a7b62a4bc09fac69416211d994341f4bea0bf5e659c11b5aaf2afccd647bfcbf0025dd86c901944a90d3e7eff190c2213ade75f9259f52758f37fb2774a4ecd0b7ead02b71f9163a58466aebadd3575793c5f5be9a5a59557132f96a2d2b8edb6ad2e1ab163aee8d9043c6208b77383ce5985f67ed0b9b72c8f9d3f58a5073bb069a718d41441db0c21bb291141d54861d7f36970c0fc885481c950b85ad699ee22ecbc38bb99c9fe96e49094a8bcf78a3016fd233404c83dd50c07a44aa05e572dd88980673aa4ec3c17f1ff47c293c4cd3f78af0ab7723d72c2e3f2d4b780c88e3f5a5c7a5618384992d02502ede491c76f360ee2969a1eefa28a9b832012ae26a61b25b448dbb640f79fac29b47ee6096f43eacbf371157979eabb369eecd5a64dcbdb10a07355e0f0c9a05594dcd524f16f82b97392b02544b405b60795ab8eb592edf6c5493e65c7bc3b8580e36619c2d29d7617c21067645eb6cc4d16bc5ffbbafe682e84c1e0b739897922e245eebe498a0f8f43c12e8934addc39fe9a955bd63d61429be81ec5d493e16af09b81418e8b0941a91b7461277e59691df6d7207317a8c41888c18efecabd1a986faa9f50d7cc638eaf5dc034df9d42734d9d2dedbaff6ac18e437429eab79ed1e066a6f98c39158923a1080dc6c5a3bcc87c48fb89d396007e2009d18e469263c516bbe2a2a2bdf5cd763d150dc115bdb21c18123c45ec7456b5a10fd7780c68c83051a5082c51da3e586869375d658cf81d6013a6ff27f5cf4ad7f596c1dcec76a0e8982b843ace62e515e7e9a2b094b9b0c2011a19cd0bc958ff4f6db9c032fb9c9187b33e307184be32661b4fb392bbfbb4268fd2c87d080405fcf1cd8323a28aeba57aaf489f29f3d74dbcae1c4350decc7a761a1ea14e9359c3ebd31262aa1f3c95432cba7f8311103f2c9362525a2f8ac666b7e764f988558258e804faa24639405936c59d203cd9ea515b8dcf665eae92ed0db2d491adb9febafdb3596e2c3e91674a1a4e7ed90be6e4420e1491ead2d1cec0c69dff587364c0ff6649a67cff24ae14bb861454aa0836a117d953149c853fc5e117bff533752e9605799291fac952111347779230ce4e4429dad1b617bfebffebb5d2edc88fa2f9ea0387ffb433fbd8dd4212da377bea285cdb011961eb0972db503dacdc6cd987e9509be5301340754324b7875c42de89a8284851e46fd41e980ead1b6f3576a13f37627e360467bddf396ff636c086b64f5553bd70ea677ac2c3b2baa41ad6489882fedc17b3b747c718eda15754dc9825144518dbda6eb460e790489c6393db8b98238ff18fab7bf5e2effe7d341dc66568cdab2728aab44c180ca6bf9b1cb92df5678dbb49424ae05db8b86586a3e52517346dcb9105f85f0d95b2f04f327ad010eec321451353f73dd39f5869ef322006076b19c4e6bd251bbfc77150d6b46ca3c685063056da0a8e8adfb199c44e2942dc11112d10483ca7c22ea5b3fb41b44117e5ef9be97324dff49ab259ddd3a41b33e6231fcb68936dc7cd69dee528d76a1b70e639e5105c6d3f5f4314a6b86580afab52f39638693b21bf28d7b881a822252840d71db5c4669d9f1fe90e47ea8b06ddfcb7c90c17e1dc8ba560a1c69e323a09c34797bd1f6c2f538b53667a87f661a7a1e93351d0933b555f66783cafbb8649c7d267b69df2a23ad459fc63fdf452f67df602f633af218abb8e2bb5211f2348ecc7f3b1300d0694472eefa8e70c390338ca46f115ce884e5a387d233f3571d1927e025f575134f75383d937ae32bba65dd6ef60c1fdc39ff00af403249ca9fc4dfa576d345620a055435026cfb8ba3bd6159f23a3a6a928a91676f02ac6d2da4517fa0ce96c50ca954abc2031c0d92c79af93a5e1d4b87cb2c1ff105547e2fc4e1936bc59dd55a0aecf0556809455442c2dd48c57b7a59ab279a1bdc2f7aab9bfa7a2ad96af79d19c04a9633c5eb3f69980ed7e7b453ea54d1872087d5e0eb59c626419063b57a9cb78022eeffafc05404c160ce4ef05b878a0c12d837051ad1512483c70ca40ece300242feadbaeed03622ed6f09a345a1c9da8b0c7a2559af1fc177a85748efd1cd795319d556148ba9bf7b84a2ec7a7bfe70132041025e68676edade5844e6ec8206b4b0c47c6149231fb963661f276fa385d22d0a8487ce0e613a7267c4d5c77b2286abd593fd341fa508b676039e49322cc44be0a5bcd0944bd9c224c54049479e35c5cc30a3f8c07d9f362249b532ff1a3ff827b81d492fc61e5fca41970725f7ea9cf575c874758fa01c847fa51488f326880e0cb407fb2ac46258aa9ca6be39397ce75f3b15179c10f40af98124f52615cdeb3c68eac31c808615ebc2660a907df8d5a8ec8c30caadf450144f44fa6635be12456145705a65586bfad9fd5ec21d1e7ad1a59d19c1c847bc84526ea554cb67c112793c1cd94e3846bcb470872fb1a30e76dbac1d00a6758a4c21a5fd176f831b7edfec9da86093384e20928419664a4c517547cac15a0a61ba755bf100fc8e37f6c1242a1e0f143105932efffea5efc33dcfef50f03fb2944e96c348eea6a5bb85252f2c645f68dac4c382ea7a9c27e3c581cdced3d6b14ea9e58d1132442d63ace29a1f443fb1e14ccf31fa7791432720f4ef6f599fec69803ae8e14dcc0cca97205a12afa55e7f1c8bd3ec456abefe91c3d3deca052f8be4d21f700d3d7bf9e1fa5cf344d8831638da91f25c0ecff0f293c3f91adc21186f4267d5e2eea3b6c7c7c0dd485cb4533e3b74ccb777bd5910c16216ba198acbf26e5df4139d3970e70189e1f444b5a132107faf3dfcf730e9f2218d0896da3d600a3fe4164db1188dc4d4e1123d23b0628172255eb2dbd0ea12993204b827f66093b0d067107c75d7569949ba1bce30db683d473739ab28ed4c566ecfd0cedb651543334408b93d1721c21d82fd17993fcccf4c6f49ea63e12ec75f659fff42c08190949af01726d6ace1c7c89670c5f6a240322631c063e9e74208c0b9448ae6fad8710be18b6b10477acc1335006587b1f0059a0fa494505d0a563c4eafda4676cf96d1220e43c39eddff314ef17ffc3e32bbfab1d0fd3a52c1a73bb4aa2ce8a0f14d53472c532d256cb8b42cad3f9a51628eae2623e6eb4828c40c451e768a1fe6f30412f5b3e4f0aa6356f6b786305bfe3faf8686944aacc626c37c67835fe1e83dc4962dbe7dd4196e9af906289faf3236057605c8b1338c70831530efa93a01c95a8637376eeaf13a458b066b423b256665fafe6fa77d672c2b8a58cd1a53e2fc8ece511ebff4be4565f41962f15ba05bfb8b31542a131450efaa180279c318d54185c2f684b8277e611ce74a332e94278d5e45e6cb11c025c3aa5c25834743d8d471c2ead9a4749b842700f68b2d4c039a989e6f2d6b9884daaa926082f0ef3eabf7bba60e9e076998f4e54009a4eb6e9f2af497b071cc5a064860e329a6e23304abbbea9cab0b7fc5a7e236771d02e3039210566f09c3c22a228ef840b53a888106a5dd62db9ccce0473408371804c07e781a0e2254b643389c94ce6bece4f6b17313662bcc131cf322e0365ce22aa592b5544096f2c454a2ed96a0486e6247d005523b55f7d766813e32f161d03a6cd21c0b800dfc3931705a2d6880c5b39535bfa45012cc38d73741bf0e3f649d90a52434a9f4b2287a655c3e9a31f2c2a1405c7f8507262d74ed421156aa4cb8cc66477969efdc4758fc6b1dc2470cb7f02c22cdec7163215e90fc6d185a593acadb014f26b615fba59afec329ee9cf8606affc74b657f4b1d1c69de3e4803773a859eb1e39fe8740553cae6fbe9fb60c41d4b63f49bc0152d2b6dc6fb7dff95a04f0fda31910c39d8526418df0003e41cf13fd1efc83f9038a39715630358af575c8fbbab271bb3cb530a67dd84a01cee197bb01e00680fa4163c654e34d34ed0f7db301070ad04f3864dd619537dc0ae1bfa92afc60e80b65972aad4b187c56235c7bdfc045182bb71dd3a845e7c090346cd535a7c401567b7fd1a1f8a6d24320e0a6aa2ff51c2d6aa3dabd586858ba590f56cec2d59a5edd24ca3c2100842d03062b093852948ef658a34c31ff68245041549c11ea150b4d9da3b4205ee8d2ad6352e38adcd869fff3c15607141f0b70b4899e52b138b4f26f5d6349b09da9ebd48573f21ca5805d85136fc011d2e530564563ef57c78a94aee8f795a1795300cd235746864e9646bce8f1bcec9ecbac11c88b8edcf2c68cd4ccb6f0157601c95aa326a428be8609306c903bc9853c8cf61ac1bf206e02c6dca83b11145d03034985ddd24646b4739fcc421b27784b364c26c43f728c94bbd70018a5eb18524f005a67e3f4f0180f21a24b94b2ad86091703b7dbeb2d949280e700bacdaafafba358983aa156a00b8f86682cb7c084efe99e1952c88e9f670c6f325a575303a9898032a5e1d5843b9fb28d57d6ca9a02972e7fd68969117a64d8668ccfe12d67ce9e45bd33492371d73407a0eb421bc37e4a2cfe4fbf8010584a3299584ab561569c8523a1380f06d2f13291d500ab83bdace1452fe8a8e35b0e9aa58aa3f7d267c085f723d291ac05119bff1068918817e4cdbbcd8b0a2284b59bf552017cd1587ae1c17fe75f98582f448c23d28592b9d14a507e532275573a56f1f0ed09fe5e5fd57d8279092bc9b522b436e7a85d944fbab215e6076489f03ac502c96d92de763a232936331efb2edbd760886bf0d5a67182ddd3fb68928393996677901fee0fe1c00abaad42462b567e642d16a4380fc723e396417e997e2ffbe2c32a0123073d3e8c4cd52195ee4325fbb22fe2af219dd4347ffc719a8608824bc11720fbdd4be48f59ff46e53418da83ce49afd99186e663a6e4ffea83eed8ca894423a8734a73287985b96f29a3e0749bfe36f67a1f7e24807ce1a419a7e6b99ec5dd4514dd2d41542d274883707a61c1a7e2ca145ac8228ea31b58c248b5634f0dbe1801dc04af8bbb60cf6d5f01db2d3c6fd092bb0cf811da273a4c976c5969984bdb9322491448c1af6cc3b4d120b5ffdb034ae7ba139b70b1c36724b27058015162082a1fd5dca3362c105061c902e946571f5603f396f5da936b2c42114d0196829d21e43e768c0c314684e60b223c94a39aeaeb79e50d0f15a553e9c92410db522ded81fc227de00530b6351275450c19ccbf6144f1aaa53fd28150479360214560f7c0a110f368bd7b236cd958644d11afe6ff473099a3dedd3619a98a7b04fb0a96d05ebb6befe37e4664a7e2ab90c5d584cecf4eeb6b490ce4a96273272ca28219282cf5230813e581b653e17b001338f8b5d23953f062906aae3cb933423b25e9a0c78814e7844c14bd283ee654a36dc7efa370872ec0789642799c29283a4f995ca0089c133d0917ebd53ebf668db8a9f272af162685eec4f570988352aecd69018d0610d797207954e2a6c2c385e236019f92a31dec6703f1237f31647b68796d92dded0bf7415055f2b0cb4ea172f6188dcadd44a253453ab8875978ea1a23586e64b8be1712897514578887c0db2b2ae98575eda691a2d887f926801068915abb985b66a5931f3a4714142171ab878b1f757a3b177e4bda4857654b1855654a857a77492698431fedd5c90dba40348c5dbf1392479d3618353dedbb56a22474ff1f5762f892fba3aa27d28c8c3a07ff81c28c41a3cca207a1763232f615f52599950d9503291bdc37c705370632e3211985cdae31e8a5c287e904746248653f75e850237d51ce41028c978d43f9680e47cec5882ad85d1e7ecb78d4e4cfe3cf3adb5bf7a448a9b33c3a0fe71cd6ad1409f9a98eb4ba36973fa44bd430d12bb6983c6e7b01be059f220c83cdcf18f5159fe98b276ea13d4e25b954e27c295f4027bd0ac7b8caa84547d2394a3360c5312a01345d0ff01d7b5a87acd93e2232e1915ca399d54b07924d10afa00b9c47e4cb4e438ed702ec60cb5adefe8f4262a66769a8992e59c222df4f31b8ed9171aa1e7240d67ea1c7cd891cb02005456e25f6c3990a41848d0ec78db1cab70c547928861d12436bb214812b9a4b06965290ec17fe4f04660857c5142271656b562f4e66c32d33378b4e7dcb1194ecdab4045a7d109d24de10aa083837138e89211178ea7ad6ffc73a82a371a8c5ebacd51c49b19f688252512654f4855ac2e38038d78b31e3520619e70344f6a912d210771cd9c24c5cb10ac7fc9903c397caa416ba7a8dda3756654ed36cd929f3234de5bb684371810120d4a698ffbfd04c8436631b953464aaa9844326236b2e027500528c5cc72c7953fb738fe125009f17f4a7c0d5db51d36dbd591c3c49e9ac1375ed726f26db5958d14d4f95b452e69d1f1cc35ae01fae6f15eaf7bde932ff83e40c9a01d9eca710318cbe7aad913845a03ec85e730442134be76610e41d5237bc95fc9276cd1fb645707e58edc82b42d4927125baccf3d4366eed52da88eea2397c0ce248a8e562f32d42582fea50a66c513c952db9b1182999cbdd4ce0deb265d3e7b07e6fee055472b49c97ae6ebe4f3c7a97588e104747e962694fe366501817f8633206572cccd798ce11ba6cc4c75db5965822cc633e447abedce3fda5baad2206987ee6e0a2d8fcc4bd9b8eb168fb4f5a1af234c83ee3f474b4c6dbbed0b94df471ca65c225bd084193731aae0440465079fe3ae11bd2a7a8d13eddb60a69459eb536ee3dc62eb65c552353708a63e51a0bc1d4bedafdf39e15859e8417d54e4b67da82c6b0d61ebf944898f4bff4036c2229eccf752fe7ca7e686f9ae7acdaaafda30e17f757d8a449dc02ca74a95bed970766e87c5594e7b986d0b3616b7662ad8a07b7e11882ce4399c854ad3645b87acc4b26823a80e2b723b7022e493897f6f69899f7651fabfbda7b7859fafbb3c231c95b3fcf3aefa38b323d3b92566aabe37d9e837867a7f1c9104fb50b7668627d62b0061debd84167ad4252250a56fff020e0bb9896078af9b14b710371242c167d8a11089c622407e85553884981d486fc60235f5ffd090d55e0143e1a0c85fee72cd4d1709b926d4645920ef3850285dd1b9384c2e80ab6b1b261cdb50a97f8260d34746594f83dbe268905952e59fb0152330caa5eaa0aebf96d81060bd69c6c380a2c6999148b89d7c3ccce46e2263caf209af9607e9fa738479939e354edcd764c9a90f85132c825ca8e055b24115f93a9dc7a40d2213acd06e4f0543ae151759698247fccd8375ab4234ec4b67d970c44d75ee0e4b0a1bdf088e8089e1a7fdd57949f04d8f634bc1aa5214f90cbe00d175d02bca5534b22dd35113ee224d81d868cb8ba4d8850d067c8f84ae1c2be2108b49ee23af429a4011c339034085d337f6e4e07f2cce86eb5c3d7a2660e92713482ba0c268e9083cbc3a452a89980081e3d079b1a5c632c70c5e7f38650030838d5871a4696ea801b57626677e059615d09f45472922a6f1c1875961cb501c41aca55ebc9dcbeaa92f5b432300a192a50f45e6d6687891fa453deb44913e2b025df5e064876399aea87f339a0af8ffc62255bb1f8fc163c3e7074ac1173a5dc3616ce5508409771de3e040a05b8f4ee3a555adb485931ab2dde58af08298a363c2a98eef9ba8f80470fe991962fbbb0471fe13f91b16d68905e42fa24f184a149337b8bab7b1df47d37aeb0ad3d3dc468d39ee04abca60a402edb8f0aa823234743cabdd71e467ae42d25e0d5deaec9cd582f8a5e77bd89ffb796f2f9f7d17889ecb2eedc75fbf4eae20924c7f84b513d0815e651350e826a23b90f5ec00ef03596ffc322517a40f3ecc04a86b8929d962eee7f7c31f160afb6bace09761442a0bcd2cfb71e139fba269ac3af412b84177c99a15ba6c9697002394a54107a18ade501b43f9c804e472699d922d72b2ca2d0405068da8ca9caa85bff1a2882be29271e3a17186c2b1a5b79b69f3d05382d0c27d505b00a807a2e890df19ae95485165ef0bc95dfc1e013830839acc37e73ee0f166c87963620d3d750629f16bfde7c186641d69fed2ab3561aae6cf83bdca013cb33c0d06e784e69ffd9e084b8233bcf101301ccfb880079dcce6116b68d4e47908e2d48003fd47a71283c8b10630489d6ac4d5f1c8bd6594b8e57bf061f8800178e01c6b473a1f526834155dc1427ce42a439cfb7b34ffbf68f5029c9d807926004f41a6c5cc99288b1dc89f87427c73462ef0c68a3f88a611c5617e3e1d1c5738ee6cee5e364e3df1181e284822642f99d4eef5fc78bccda8411ae3c090c43afa23100f33b4039e2da30390c9ee9c5b155053d7791371944ae5086a23534fcc3b2abfc16cd8039afbccd5bb7af42964bedead9be8e94c723fa711001c37cc0a0c0013d96059f4e7c778b0b361b58d9d97bca11b06dafd205b39cdd9802736b0cf4495a101e77a021ceb48d4f0d1f5484011e475e6bc0c1d1794543d571d6b8beb6b46228ffa1e10b57fd99181d4a2746a6dc7c7c45e7aea9ac487ce7a113b4c0f4ff1fcd0b4912aba8bbb1a0ae1dba1bc0fbf83e5ad61e668104b9cb6129098739177da2b798d44fa5ebab30c87b7ca1763f00416db516b618f1ee15ba9887aeecb052bd238e75811bb47d0e7bb0d27134922ee41277566eb20e148e63df6637040b13c1f49c91112b90e42ab162040fc27ed8fc934bf4965f52e89bef323118e6a5ab52e56f31c29944a3ea28079fe8b3fa4c460b9972bb2f639d3ca18b1d195a9a6624c9dd52f0c00beb9a8ee093fb3dbea42777621329a3b83fee5897828b6e3dfa4801b5c25c87a4e96e228306e4bb12f501b74e8117b4881bd10f5b4fb854e7a97ac53578ad19b6f3d9ca733d005806388d62a716ebec263ccf48b8f3e336a5510a79373a966bd40d75fe7f7b63654b35b2a409a3ba2d1969f6ab6abeb8c27028762ec8c637f20ef9b448a0d9422b3a8592f9dc6dcb80fad969210474d8d074d29672196f181c6ada49a1c0a355c5cac5b02425f26f771d8b3b2d156af7249ca211bbc7ad807ab785b274abf0f6db6751ce725dc6487760edbbdc433252028b2c6a4870febd65f2aa1e29972d70410d16237ac4f5aa9fcd57581119fa49ab1d64c8d6a560aff1ed58b149e6ba6f72ba68b85811d1d35acef8d0f301ca655348f5a854e0fa2da876128fd750853cfa68914a5e2d8e7f100bbd2337bf2a62d2ce45bb6d20c226485fe7849a548095424e0729d5924c3d8225b092c442a083b7e868ba76fb79fc16f8935c21076800e5f967eb831534d4e3a97507f798d8cce0320574e230378ad81622864163ff221c3e7096864e14041fc977832cb22eb28f994f87348476c44618b888190f4c7e9bdeec5c074ea17b09afb8ed77c34b0b2257bb2877aea570091a63cc40aca42f5825c483a1afd831402fb94a2e3e4a2128653dfe4a0e65c7d4a84e74865e0b71b922368feaa87241fac7acb264a0ea8376c8c07c9796134299c86d225b00abb8f0fbe50a6d2a70081560e798b485c04e19a0a454e518b62d5788633f26972487429c7e145018dc46225249569cbc17640e5af26a6ec2abc17f559b342b9bdf27731a81d1f2603885106899dfdd62369919c76f7405ff7146ced93f367eed8e8083128e1cde8c906d07f6e1e2646815adb980a52a1930823daf2151bf41aa7a919b2ca614599307a3bb298f3ac825de61a095a045fa111788e5dacc60ab15a1471c0b9112c2cf6d62278a92f615b208ae25b2216f159b4ff4731ec7e805e9d31254ee6f329325272e35de356d4467bc4ced9f64e44778778ad1d3300dbe773b1f065e7e843043a5f151a7ee4c2acc8e7aa1f371a120526b49142d12dcd788a190a3907f0826072c83d94479af8276c2057c3efb4a7be06b48a8859a327cb91160f8980c622bce72921900ae7385d1b000a650e0ca586eb83d383d3e52bdeeaa7c9030f7f569d68b4c826176e6ed032a23a2aee5e269e6b7a9ee980002233222724bcc777e8ab6e4dc8a568e6bf11989046e6b8076ac8646e4818cdd58ab68133ba7b05180c46204ff5435c5f1cc4ff711311e7c667db353986f99aa851ed15b9dac86a218d380f2e64ace612276466e48f949f6a504d71bab6e7825ede42178a04e564520417ee5410cf5f77899acf931bc3cf554a38869da4f193e938b48e393e108c24775e1a1bb4e21bd509db3e6d2a951c886a6c6eed51a8a6d1361079b8fed8983cb4904a0812e58d95005f0119f9b9764dac767f033f0b7ab9812fed3582e932f0558a4894507f46a4322b256e0182116107be3f32eb00a96d90bf539cc4f84ef2d9cfd19dafb94b42185667db597ee9f339c64a75331bd37acc38cfb7566eef72cace6e02b71d5ef353a5a8a4a44afa3fecc3cfca7594b9cad7e2595bdaf467451d7fec2b659afdc666ffa2f177bb0559872d158eb6722384897ce4a4db4d014e3b5c3b8731cf542925663feb1630fa30f5c14e0db422aa42a0444dea5c04653813ebaab233ac0a7ddf1380a5db1c011dfff0d00ee732a17cf04a1cffd26654684a1d3a758829cf9c6a0573d5264ba290a238c952937d20a283663c272cd93995a5de191fe684dc0fb7b2547fd973150c1696164693eeb50d4249e284372e0007bb27dcd3d5d2d14ebf0dea13a1a4580d3a1772d32aa389b3f862aa40977dc01598a1fce36c4d3043b34928718453c1dae1210b10e64a6000d6eb5e32895681cbc001b056398d88bc90e037dca49013d9f69743808508173e18e171fcbb525c845f80153fffa7bb279b229004146ac15b6e49a7aabe0c69d8c0580160da1abf9279dfb5ef6c226f685f2fa923d5a5b9a4480fe5c8c5b4db656955126e8018c3cbcc97cee14801467892ed64a1ecf382d551ec618536a33c0834aa7f121328c709623f483bb79096314dfb3f2c28aea92865acc7433d7610f3f615e71af101cc0ced23c21303ae14d62bf2844cdeba107b6f345a5d7b7216ace248a62048c0a5c714a94611595113e664660ebf282f4e47e2a71313cf3e7f1d7067c28a82e438403a6e49c4082fcf602c690954114fe4894a19c8c342758cf317a9bd19fa668d66ba1a07c06812935c3c276172e4e7ef0399985e12a7cd3035942b542a933514a686e4aa38c5336a782465320022145bde8c22fc27106137115869abb5e510a37e12007721d002d66ca82509a5292a558904839534e1c18ba8fb3fa5cdee640aa59770ce8e34b33c1faa715f0941cb075442f54a3c2924b819b3727d1575296ed2b5ce503a13f0f1ca2dbb818fd5292b80dbaf1bd22e850cc05dbd5e01dca8af56e0736b7084fb270b492c3280bb7a652b759811b37dbce84a5e5600b1df09706bb7a5d312591f64c71146cd9cbde196996247b56759584064f1472873b45e37f81bf3a9b1ad96bdcb6c5f5d0186e641451b58aa7f97652de57c3750716b22edc414f96ed424268c8d4f1c7022f7e292f482e995cb6539c6c6de2891b6d8a6a9bc2b1f7cc1e82e225e4011b5886b09f2371565c948d60a5ca3e54c08648e8af06d600b9c2cf7390b70c50dc8750426db280cdf0f9275caaa078ac0740b6a187c983337a035476b2377d4ada1ec4c148eb64afb0e7368302be1d814d62b25e800512e2e0c6b2978fb8fe80925e745267eb602b8920bfc5d453af6c2f15c947099093c889d8452bf3cb62b5b5e1d7bb547c35a05016b88278e1f7e73c34f6235b5828b74dff08d7e2ac5dac3e8e7513eeece94d2d4d3aa307c08ff4c6b70ca843c32840c5d522c17d4ebee0c3e224ec9a10ffed81bb0fd9418266de513b0a3ee0adc5ef433aabac000c5a536ac981d280d41cd428164f5dfb5abe54ef0d4943f2481b673589e2a723a0755baecf8d03993d8efec5438fb8cede8f85fd99604acac4014e1f81fb2232ffe52a33f65ee3d04384f2f561d567854aaa12ab41ca427c5fc6a20b77d7e0215ddd32a86beb3881c34ff4d65517a0d4289a01da2ef5be4739db401fcc7babd6216a064009cd2dd66b48272da042d756f9251dd91d872dbeed448bf05aa946eef26ddf5f20d353938d5aa917244580c38f20b99fb2733135517a1af97b94dd43b7653e1ecf2768b2273db3773718848bf849da360fff4399569803df0892c705b1fb469294f9851b32ac4d7d832a0073e1fc1f6cb9cc460858c1b95baad9f9e9b477eb8d017dcdfbc20be7e0af69f444918902ea348d2c04598f23313105b2b9dd9871466f55e933ea3ee6dfcef4aa3adb640d75d73153a4360358f73d9ce38e44fcd1cce467cbfc946a76dbcd3f080cc520dd9a8343e0099a5ca3b4669fc5935e1e580083e5dd9d4f11d59740f48e3d1ca51ab383970d1b6cbb2657796845c156354c853081e2e060dd7242781a3f5a9fe151ad80062b39e9c030d202e8105a5a70b490d34d2a0d4416894d0656c4895144405085d25761d0dd19000520943a144178b374cc694c0d41aa39c5aec7398018a6291e5c7ef38ee705d04b066e02cd9ac7e0445468d480ff28199ece973c017234cded28fd2070f03abe0a479f0eb1a962e085ce3d534927405eaeb8984c7201b003f1b097d2c56655e58fc2070f53ee4f6e753da6a43b0097f95655effa36d22702b8a582c48ff735809aa63c53f1d31dae91a349ad9747ebbfdc8d5084e592c39d4a160e552453aeb1faea2c0bdc953cfb91b8b1082873b91ace2bb684c0f6417f1dd960e3b0f38c04d13a803d14dfa09d6a1d08476e975a6045917e82a8e0ef5c8de2b81a7d2da8b9e89166e0c2241b71557f432e823aa6c15c6b446ae8ad292e393b9553122a2a12fc7cc0d9592bfed7806e94a8e144c2abf3c4b8fdac20fca5de0b330769fbbc8b788d13bd778aeb0e250e19f9242f1a3509af12572d73fd1139ad47e684d9f74c80e00adc7223c743e8fdb16e2bc034801914be38b5f8cd2c47663f865bfd603ac7756dc186f6df9f222f631a65890aa465302d61e323c64b1dbab14dcf7e39e88e7e8f7af9c42adbbddf37d533385639efec82396b30cf9e92dcfcd149d12099576239aaca7a0de5dd5448d477aefaa1f44b30d3c691fb4b1db54152743f8b6cfdc65491cbe61991e9af29a88d2bb7a1c01224d6763bacb23b9597cfd8b7e5bf5e5f2d497759956bf7670d316dac605a64ef416ec298a6ba5a1af123a77272d14b5c3dbf28559ff546ac6fb14a1b7d78cdf6af809a5077c5fc1af94eea860ff5c4afb58c138e313bc255a23dad610a6743ea40f45065f37c9205eea57322c98a9cae6a673c81b8ff49e292ffcba18dea145f0c83ba12087f08ecfe769db9f286f85e4c74729654731507471ad74ca51af28a6fc89308cb281b50f743040679f4e4e07ed83a9be30d4074930080d9b2278ac8189e31f4cf70055b8a912ccc84889c9b8574ab1bdd4c8d10d96d4ff514c6f14f0399d0be13f766e5114058dfc2245db10d863049b5134a14adc63b9128f358a1d9ac61af0d88d0065b83ea93fd754b68c5a70f4349b741bd03ff90ebfc7e06e119b6d9c85d5b46042b2c2f4809f17fa1e6a398382a79e04f59447d9886fc738ba663d51279c877b08afdd3bab94e0c69def6f8eb30f28c310f51ba2bf653a08c1ddd774906357d0af41a89a59239e115e3246bd7d4fd475805dca17c3ee0859d34c568a417b48421bc0654966d9e0cbdf54ec28d0a17c6b16d29cebc02dc2c718e9bfeb003fdf31f6ce1881ae7bd6d5583453a810d70cbb5b9b86243cdd9565b2ec9a5490e969bd7820cc15cd1dda9666721e601de20e3db2bf94f904fab8efbd5a3094aa510711ef96295cb83f1ba08e671fa693008108836aee6755dd9395ee1deaf20c63b0497f0a1839601180d81ec70e05133d39e3b673eeb749695d5a6ab8194aecada56c78799dc64d23604628edefbdf7965b4a99929401900ba10be30bdb8328781e7cc960c7268e32e67ecc9990a7695bee4b1e3d007008904167491c9337b5911f65d225b7f6ded1e8bfb4e476415cfba00f09cb21c6c324fb4ac7ba1465ba63b187ffcb1037e6f9f46dc76cd7827d0cdb61c9ee6e641b5f309c5137712614f134b1441d1ddd8b10179c3a1a1c57fb4f096eff4b10577baaf213954f9d3465d226569baaffdca1f341ba9a12e62c8f913a3b231d87c5acebbe7cc353e7258c2748cc48a55033c86ffc71c1e5aa07e40508ef8babfd8fae1e4c123716652696d8638c789a499031fe40ecd01fb0cc37b23fe86664ffcc0b22f3d4893dfc5d56577bebbdd4d060bf03232d5234d82779804483fced371cb3c41d186991eabaf052ffc6a498a737c30cf62506b39cbd75ef588cf1f791c77c8ce8318f79cc63130683c5169e478905dae2b91f50e79a47a8913e22eb90ae95a7f790bbb97df711e972732173d2d044f3b7edbb3baeebae89886cd74c5ec0514b42c95831221ec8b1ec3d77a61bd1fa902705428d0623761979a291e71a79fe64d25d6fb66bc195f6fbfdb3f79cfede4edb5dd18edcef0ef6d0d962cf81e3fa6f7fa54d1b0641e7ad6dcfeea183f8f3e071c411471c1ec46d92bae940f7dd3d6986edfb374cc4b37b6890b9fb0ed897d9c2aaec7816d7e992c7fc0a11aa244f9aa44bb301b426d3247349cf9e61635008f7c1ee67d87578c6ac746fa6ee676cd2f2dd7bb73363b73de6f9a6959e619cb1368d605e401f79db3ec783231dd7d4e9f8727c9fef7e9eafe58b446658c4ad738eb2fbe2220a813c4e7698e27477ffa33d56012395ec0e439fe6ca637cae68943c6130387a99545ce6cada7b47cf618c43cf1751590eb9db30c559c1ed0ef7403d8d2e1d69452944222c6f1c88b0dce11d606cc48eddbda7d1256703882b73f7a0a7a1e36ccc949fe877789475c020718994b2efec7896faddbe5a32437ffdeeb76f87c624ed3b4cd2f09052debadfbaaffef6d5997d4e4455ddae2ab8e00c676e7f4dc1053b9c4c885d963e59940ed68831317718ecda9e668dc7f8923cdf57ab3b2a813e5ec8b3c64f30748c4fafc6ddbfe4e385ec313fcdd077226004ed676c7bd0b390b48fb92b0a2e38c33cbfcb9c36575d9a3d97705b632a9aa083d15c717ea54bcf593f755dcfd7bee9a2c6ed9e1283377638775831dd7bacc31eebd29cdfd2e792366db803a5bc4dd6369bb4fc6cc93a50ca1df62b5d9a9fe1d92db8a0c7bc9fef579a01358ff27c97a54b93d44f6adc615be998f975884b535d9adfe1b9d3251dac11d6a01cd6a6ae4ad8a6ade5e79d3b2fd420eece7d21678ee61cb9c9fe7c1d3af889feccda2747f7d303d2456007dbd73a6a9d27b8b1257d8a3106ca743299e4ee8b54344107b96320dd10af68f926a919a25a30e9065a846451f723ea48eea943873166fe1c5dfb60879f296ef55787413c09b47cf424d0f273c7634022b9ebee3e22df958e79ccccc9f3677b31340645b9bf7be949c0511d7acc7c6fc105fb3522a2bc3d876787de12d7beb7c4cdbe615da54de05ce5b993d96cd2a14d75f6837327cfa75dcb8f6446e6117b80187c314322c32cb788313039e3d99f8b28d33956b1240527645086dda34deb6ac675de9c73ce393dcf9c73cef979e407b1a78ab3df62d6ebb65868b3dc626d9252e22dd6a5505201224f6e6b512167a9d882bf1550ac70d2e29ae2b5648a9712186ea4a20d2b1904ada868a34a3e4954d4820b2b597a36a408a083aa4f1aa17e08576ea1f56ea84f038383127df48488b00f8ff12c8bfbded2afb89f57760a2c5a5962153021a526a517436b9aa66955f3dc4f7b31685daf5c14ca7496d335ae0c2f582c592adb423fb5b8325fc235a238b4455b20991fb27f9476629b49cff92d5fced0946c21b6843166313ad1859ee422f6a0a027404d404ec4923f1163fc1d64235bf00d83202b403d00e520fb7b665b3a8abe4296cf81a4e724375e0c9a9cf2d3b21297fbf9748b5b5ff456a652a9542a5aa94aa552a9adb3b4e2d466313743daabe092a5b21acee6e082a055b67dc6f293cb7bf71226fa98bf9679907174a65f9397af5fcda35e700b0416041704a32c318512512e2efff237889e848b908adc0c21e1e8a22f123dc6e5b790c3b465d710bd563f8b9a61ae9f868af35df48156fd452cb80b1b8f716dd86d9c651f74567f9eb5cfb3fc3cd3af7e1c2a7a27903331b6f04386249ab4cf90c85c90a9e045b6b85a5e328837f10620574a4b22613607977e4f8926ea11d582638358f20f02b6b8362fe2cc4492fd372bfea017b501684a2c1d7129ce6ab254974047b8da8733f628d12c657f3a50b692b04d5c282a281492c6c54f7a5013a027202892208156e1161b7d0f6e3b5cca47f6530a18b4c2f77e988b91b66de209e8058209916c5cfbda4b894ae13d27b6c28320577e10f47a10040385b341382b60d0ca79e0e83116abd078477d14be97ffcf65078a1541ad88721c0dcf9da963ad48368925c9a4a56c62922d10d035aedd82c80c3222d32460b91f20f54b20a2f0dfb002eb092be240915e7be9f1305fd37e6252ff16fae97bff4dc74fff357eaa4f7a8bb914c8a932b7ca2f0f72ac2cffe927e47192242f2ffa242e5f51a095108c49fdf88fa062163dfe21a2c798e6a69fe6e545df78487dd293308dcbd71ffd7d3713a6e5c8db978825cf416d405bb1e45fe4fb977f975f6203630b6309058933243996fc452b57620b9d153dcf9d958294383445537266f3226e60f40bb2cde5e5ebdfe0f22e221c512e5f84243149487d0944547dd1575c84e6e606112ee2f2f5497f0455e4e5eb8b5ebe48f4244cf3bde869feeb1f414554446dcf030d32f7db2051a4ff0010fa129028927c2cdfe535126d920df55dfe86fa2eb8c84d1192fc971b448f7111127e7997bf013fe9f1935ef41a2722b9e097ef2bea5f5ce418af4d8b5a27b31370d909b2546dd2e30781cdf24130ca92db4cef0fca4154c0f7fea026f1e4f22f0f829ec8be6556e6b97db195114f2dae0d8c4d8c0d0d4f76a4f26b52eb6f5f1311e6bc20edf2ff455efe73f97f7feffb971ff2eff2f5fb97bfe1dfe5b9faa408e945f8eb3bcb4ff88b889e54a43e7e52ff10d28b7e082635b681f4a2bf017ffd8fd4eff211f5f291fa5f3ea238fa4d89c2a3f08e27d8e242bd602d61f6137e47922429fcf74950f8273d7e527ffd88127da47ed193e447ff1d2784d91f0557f4980f278356a488fabe88fa2fa252f8220a852fa24ef8226ac79015584fbc5228d2cb4f08cdcd109727619afa2e4f23fa1709e38206128c78a2b20b2904271226cba0a015f574db16853aa1d4490675fdc90c42229e363170b27f5d5d99455f1ff48225e2294bc1209ab23759392361b205fffe087222bbe7929bb9598bcb0cd88625063f4529612ec1ce22297af1463ce229c98d87fbedc1a7596add52d334cccdef4291bb4f66188a84a6626fb10fc2f7cb12dceda9748ac1991d64c371b59bb93a39d39e9b7312891c883a59e21db4ff78dee7f35a734f3f2222d01776097c6126c6167cc4136dc518ff1c59e2383375640bf28b32d1e513c9ed93e12761dbf63f9aa632f78972f4807c204b49095a1df9642612a5d415ec64eeb3394ec9dc070abdcb335b5c4ed1c0994a32a93f6667e5e87d5df696b8206825879035566e4d4b8b2b4b815e4a3ced775fe89bdf07ec67a354c2ba145691e165c205258c24554abaa4dac22d9c1e0f3273bf7dded81201b2f12b90c8decd97d44b92b97d5ef67cd1074538c9ddd7790389449dac3d97b59f5e1029a59432039d11e6a00ff2c8f65588329c0e69836cd3727f3206ed0321013a021483d8c39f32e992042d893dfcbbd6f5fc81799f680f6444ec21c5b59f35cbb2a958e6b27634d2be7ecd69ca6629d7f016dbc2cd4af4d888e28212d6d899f453fb20a53b504b3137a2f69b3b5df26763eaf4cfa933d968d38ec46e63734189c3490a32e3825bb859d962da53fbf68b59478ee7bcd3bed173d343ffa33b1b84a35fd7dfe7767d9fb52f4b7d063de71dfd3ecfcd8e7eb7e5a717447a31781eec808a051167c4b2fccf72be0eb9fb5c9e313c527892f0f8d03206088396f5c1a04d5d0c66b1160c66ae202f676a8dbc89532cc184fa258931eeeb02164b6e752e16449cb1d301accfc29c9cd095db9bdcc9a2cf4f288217a888baa9cff9608190112eccd318691e34b142519d46803f0d4c7d10161774c56d0cfaa0693402fcb3ea05f12c43ece1d5a361fe10215d7256f6583874c9df1dca4eabe525e135f1c48362de559b984499195175094b05f3c998fd3c7fbe9b2885063b397a31d07c3d4f5cf0c27c1165bfced2236d8bd7719b26659659693d596df13a6ed36cd08a255782c9b5f6ded1e8bf81507122aba42ab6e01f5f7b75c95b7b6954824002ccfbd3332403605cfee5fda91951867e477752d5079807eb0f49f8845ef4205dc2e741fac6e7f3a0076913aa4701f325816929e79c0f03f3231898eea6ddd1ab747a301db769367b711185401f9a134b4bd02eae7fb2a76812b2ffc7870bd21c6f496f4473a4274992e6d034dc8f1073293590929d9524bb077ea92ec97e3d2d1ecba64d4eb21d135723532b3487e561ec2d7b475ff2582d2fe6ad10961ba53cd9c9526a5093a31432aa643332cdf193c7a43d273a1e6b8cebb128f5829464a69ed605698e17f258594acb4af668c6c7ebd66094e64419a9c1b42a7505950820329a03a266c41e5e6badb53e35235a2cd48d587da840647f693dd6a5588e2a18b1475ada87135260d1ca04c8510a2c525943cda73964cbafa3c8dcecb425192b6392fd331b1b9bd11677ca4b8aec0545d644af8a653939f2733cc61fd7560b2ef570f6a33cd9cf4b28a20ce8fda5944fb237913d0923a0f86050ea20e326b4e02b62385b69465c8a6bcb63300ea38cac3813d65aa2bd214db6a64b9f2f2c19f70c29bd88325275a7c4fb521565a4c7d3607e12bd053598b535203c8414f9625042a1f270aa16abf254b855797ef67abdb297cc540a6b6f2673c66ad3dce95266e3279af2981c3fd194cd68746f9603c684351707f2540479a2d8e2d49a0dd72ab2e31a45f6182a45f68b2dceb4389307374a71c595dc19b42aab6a13a8c1b27f94e28a2a1acc2a914c1aa6b1e082510787101897446aabeaec33fc258ff1b7b1daca5a3616b9c8f493ae542a9552798cefb4e98dec5f64969fe4aa09d91f9c5992303a23bb2463c4ca3a1127f68855d8e095e92759daea5a33b2bfbba12324c2282dc20d8171499334f10b3f6a6d6564a8dcc662b431150e542aef3e62bba2c0b53a187e3418e18fd8c3e7a6440a6b9d558aa8ab45f143cec43090647f5494e172155c40b93eb860bb5e9b8b4ac9fe2e4c5ced5d98b83f74bc107127131b9c2e6dae2e09e17a585cb0c38f0a5e5c702d0f2e7d709bc1eddff007668924310eb1c7e624fb4b0b6e3784abfd6733673997edde225fe21edc86797b471b6be3429e6030f7a000421bec657486cb25436eb01ce5298471063b949813000bbcc8accd86706b06a3eb4794e9ea6a9dd025c57f88197d3787ad43b85a06a3e738f26f0a95e4ca6db5a9ba54833b036d3ca44b2e71d7d9f7195b958e81c52e4c27df64708371a9eac5d0d9d3682edc723ae4bc883dda8b0e3ba49afddc1ca3ef5305902f848aad725dc23825a4d772fa70a1634a6a54ab6efe0f3933f1a652657faf0b21b1e4ff69f9a5881bf6cb0aa4078448975bac8e17222e2983be7ee7eeb9df9e852e791af22f9772dc1becebff700922499952723f984bc9b6d231f9b5b44ece92fd394f65ffac08b20717dc601bacf3ec384f889c69bcb136560b87844bf96f55665b81f2f23358866bda043e68535df2ecb5d7bc19e46b3f9b868a41f92090797eda4b2d7b6ba5633c259358df42980dee367f929ec7e7c41837189d28cffea2ba56d23ada318ab1658adaeecabb75b1c1fa4505179429b0c30e692b69939f5ca7572c968d4dab8583e3726550a640994abdfcf40d8b32d1bf71fc7b099436c91ea299f4a973a5522913a0fcdb499f72a452a9d40fa8ced2920d9946cb2b56582b95d7e0b8eb95ddd3c8dab8a04c75683ba4768a322032d52689fd67fd6c456caa58f2ef30ca88a24ca4e1c18d55204115c62c1196d326904bd2a609449b621548a8c9fe6d05ec90ec8f2f23671a2f202e4026fbb3babb3bb8f365b70707178cb0cdda0d36af0eae7c89a7e4525c572e4997bc6bb85497b8d03dc5a5b2cb544eb509dc66b2a8810bb5d974920e630f6f2c2333ee18485c5913b374983bccfe341bcb4fb16356e9b473260089ddb6ad6e1590173825d95a661ab7ed20679f02b2f6c912062b1c64188378f2e1fd9acb9b1b647f9724179431fb70e963dbbe1bb9441a117bbc20f68041ece12cb99a5500610416a452ed05c9727fad8d49f33db04ca2c103cbf23db08c839f7c8c563656bed8c8600c6b2a10cdf0117dc8b96df25f51a6079963e82c1f079742c4927fe8b6642f3f298508615052c935208c31b6ac5b31121b925b9f73f9e1d697af83cb72e7ebe09a203ffbea4b8f869a9b0701e4f668a0defcea679ffce8d140abf020809ce11eb497f9476b6daaf2932b96962d19edc8eacf3abf0a7c16d03e0cc4980a3996fca55c451998ec2ffd9774c925cbc507eefba744938f2e7994a91cc6c163fcc33b1afd974ad1740049e57ff41007a022a7c4925b7b6f2cf56bf2157bb06ebf865daab22c7b50d6649f8f2ecdcc5f53d5f80c3968b556adca9a5825bb57b95265881361256741e4edeb54eceeee98714cc8db27615fcd72d52697d4953f33ad669335f1b7e7debaa0c9d66cf1e18255c06bdbb62a5772a6e2215af31822673e15620fef8fe3ca0cc6ed230a94281c30d0a6fa2e876893b692ab95d7f9e07c6c3ea4d46c56a985d5df0137935f98ab1cd3c5dfd2e0ba60d20c2edf7d8741fa2e98e47dccdd1fc9f3473b561d4598247a997988beff2cceb0efbdf96b38f8c9e2ff6c3472ac846c7ffd0d672e0c32bca0802ef9ca634c70c109f357000c5564ff212e2e2e2e2f3d202ed645845731c6b560a28dec82e70a0402b9c81917ec428e28ae3bd087818ef17741ce54e002b1873f68cafeb11be282be762f7f7bb71bae4068ad19d9dfe30b38742217591fd400d58d7c6e7a10984f2a59c9d4cafdd2bbc82885c91170e892f5e1e220a510f106e88b28b9d325ef9d36656953e83d8639cab8bcff3c02f4fef3059201a0edb9f79f464419d1fb839395bdf16c22bb3f013d386ba0847dedc1c9447d70cea04e1a649f2b972f66d09704f42f20d0bf80409f79406477f78b6408f4b99e16afe3da7230af2f4ea4e47cc6502338fa5cf2b00e1ee3dfc5fe639c9550644b16a16a75e105794ff992821bd332e6313334c9565c624127c65867d8daac6a9bc7b3b9d02ff888519b51260e17cbc861e2c41efe736766c9725e7ef7ba9ed31487be3e52ab5be7bd7beee80a65426d3e6ffb6023eaea9c8e754c6a35dbe60e268e337196b3620fefbaf08a32e82c6a2b93981bee5aec4e36242c77acafb429139264523cb146a16c347ccede63eeb1ce63f2b5fa39c1ad2f3dfbf273c9dcccd5e4074e9a6cbfff87779e3b715c70ea7cf2ec975528938fa66a42587d50c2eaec24a97e44cd9d8f54b10d123575743c2786c58dcdb9eea6575ba4e7def076199c38a089d38537bbdda7e362c78221b2fdfb829f38ac03c53e70f498910e7e8a281fe5a0830ff11477b2e770b3abed5abb8560b9aaed569bc00ea783d2a6162059e7f940993d0fea3049fee430f7f46fe87ee222f3bba7f3bb2f429fbb3f637036b24724c2a3ea329b4a66ca6338ee1fecff7129f6c17679946ac1cec65aba626387aa288b323949205c59b2d8969d4d9b9cb449a691fdab07a4861340e992679f5ff93cc763ce83dba4e651f3a54769c7d1c14f12359fc6080c1a63a450f38db8dc6071a126bef1fcdc9959b8991bc59d786b7e13dfb47c4ee676bffda634a1fdf3a31f3d98242e8b068bdd26668fe2ba0b074a977c4aece1ffc33d5fcc1df3eedbb12f85deb8e0d4d1c6b817b7922ec9588cfbd94995fde8d5f059bb4995c8592c9656336bb3aa6935b350244e6b7b8f1783cc5ba8c3fb69459927f1e449d897ae0baf9641d9a25de8b04b72f0189f3ad6070a042502a4ff82820b4a988cf98924e77b3770df828bd0e7dec3456e86d0e7be48f7f3230a1c11e1fad41192a47b9a9a3a1ea39171256e25b1bbf0926c984fdf02f329b600f753c79345635c08f4105df297f3cb3e89495927c4b50f4e9da9e39fb94b5817419e26762664f61cfd6a4d1968f240027418005c4d3cc93eca50646d8cecfb28b9f6fb014313ae2846577ea261b80ab715ddc4b8606da556f7098f2464d2cfe189c2b835883249a83b882777b90d62cd416dc919d7a953b86b5bf94681ce553774ae92edde527f87271a427d125bb5555bb4b6b655de421ad230a43beef2e13a2bb8dcf582bb02308279711185409febc9f1a147a891969994c207f3070c54d2ff619fbe9cd6bba394527e8e97051de89e34599cecf6c63b487cc4a50654546e8c32201e6dea3eb230fff34994fd2ce7ddfdf680700ffadc8bd8a3bf7efe45ecd19f7d0ec6e756fc4a7bec7a95dcdf5bc4527fd7cea7dc184d9a10b1d45acd532a61ac5034f68d7414567450372e443479d46adaf4c3330e4858e6f00edbe65d8b0714ba5cd67d1625675fab07a43392b3a79ca70b3997073bcf27f3ed423f693520d02773e86a352e2e2e1eee418dc35b0b78a9ec72f7d52f66d07733c7711f1109abf5394cbbb85d18656c6e6bff088afb7ca41b3efec26ee331dd8539389ebb75a0efef62d967d863f7ebfc494e76b096d843becc5a8d9f288e5643efd6b205f9a0cf6771bc6f6e69b9d5ca0565f832e41ed4ba1532075eee3de936cb3011e95b947b716817765e745fc899edfb3b2b6dd2beb92e961b94d9b9fa758665b00b595126fbfed01a97fbcc431b248aa3387eeac230932d80b60b3d7661752dae48d5d94b2c932c70910728ea1a3a1acd3b33ef0cdda682461c39281a23388a1a947d239d0e0eea7e0883d736f1048aaca6c817a15fbfc8fdf919936c952d897dbf487dfa45e6df2c573e37236d894ea248d141d14837c21dd4c537f28dc4294750a12ebe71b17241d902e382deaa068a0b760d15519ce448c510562de448c50e989065cd27c6cf477ecbd36f76a19a5886e80bd9f25028140a7d5beb61d07698c3a0d007873c1f98426e0c7e3987baa687d870a80547d4e703e3c2d14ae7cd547ecab056efa5a3d1fcbf5a28a5bb9443df2fcf65ad4eb5386d8e46f776d9bfd72291b43cdd16e5a6445f6c55ec0e404f8a17859bb9bd230ac205b39a901336b1e45d94db9241d9da389074e9481d4a26f1bc954c45b99e2cf2420b735b26d7498fa0846e38c3908e9498f7051f6f75d7b8219c651e10f99917a45351a6b52b0a717c0473592b84d6423f55cf15459e2ad631b39a15cc0bcaa0165e3cd221b18713842b6617f1245b138bf983f992333236c108758afbc8de7aeb54ead379a22e6e105911f1245b9910990aa2e993b13218c8564ba664eaf57ac9564b0484eb2141468e419c9131d9c212cfe5279ceca3f0facb7b8f89a8ca05b5b08b726b167571c1ac267fa195114f9df21830a2268616b63ca8e9686874eaca16f70975db7cb910935f0a780d800b752a4b21fe683f452b7810870736d3784da9415d7ce3792315052c1478ed8582fecc1dbdc8e91af5effd8a73c072652a36f278e80ce72b7231aa208f688bfb436cda749c8ca5641153863aee130a7940b80f7d746c5e8b0734ca91659b8e2dc70874ad66b34a67cc46c6b4af55a50a1d158ac6088f1fb850f78d6c3636a81b8f6e5e125276fd9c5de3c66c3d464afcdce7613c20f26144b03b63db7d3ab719b6ff604fc796c166dd149674c9e57baccf5bbd71efcb1fa2cc15590824d1f4797f7982689272467bc916fc4345783964c866da7c422f1ed73f15a258a18c7827d0a15f2beafa69d24a2d4692e28124b5860e0c65c4a3c10eea46cea79dea241415bab3e6e9dc6ab4500b412d7ccd574805796dd06a15b8156cd062409623d4a08c783888a16e6423691024a9ff013d9bec54fa74fff3c55ce7874218b4214c9a61fb1e6a0ed5b06d211e4a20c9d9275d37918a5609727fa46dcb6a6a6a640ead2051914a6a062f148d111e5684a8fb46341deca0e6cf073d29504c1b2dbcdf280606f3581e93831bfaee416f25611dfa7608859e7a317c3e1f0a711748186bc38c3be575b1b83e00c0f113c52d5b4290a4d035eec51aae1d148d9115589083ba6fc423020c355ff403cf27c923bb26d2e282de6abe628d804600c82383f335afcc705ac999ec24583d5b728c31b6ed8172b866b059d3cb60b3361c5cd05b79ac793fbf7d3b6cdb532f06f91c8763975abcffd19bf7cdb04b6e3f1d5573822483cd6a255a5c64b09964b06da80df7e7df70ff86f9d663ba4eb342eac6598d19725e00c82ce2782b05f3bcf4808c5eca976750c26afc44b16c81b25c506303070814fce085a231729fc648e88d50cb92fd698cc4293480a12ebe01bd91eac485d2741a016ee331b689fbc4060a7f79b0f9f77308616fd525e9f99e1f0d7d9a9b21f727a6b17f9f26fbf9fd85fef3d5d01f9ae0dd21c7e7784eca9f391592dba7fb88a2a1b91932ff629afb13935a3ea268e6935a561e068fb0ba23383f361c3ea410b6418620cb8fdea18f59ca1a622cf7f3e0190434370673c8fdd2630f34eb642df4186f2619d4c29eaf180747ac04d9755000764a5219cc6a5aa3d225f7f020c6f85391ddb3c8eea9d246f6d07ba2c41e991937843598f69a36afec6f65f4450fe88bd97e3c34c04997fc3d1b2cb7b1cce282d366dad84c9c6943b7b8456efa8bd4bf5f24fbf99fe6463c7946c4187f6d27abe0655f647ef6b82583da8e88cad5629a8eb6333d92fc1bea7cf74812db50fffe90faf71b0fc97e6edb73d4fb4471793851e6d3a9eff1c78802e9777cf4961c9e97c778382fc7184c2185c729a080c17b75e01106ef1a9d088bdb1f7af9811e14d97ff3e1d9bc7c2e5744d40df7216f89c7f256532e285b738b9617730cf99af315f2381e5da7bc06001ec986faf46fa837abc954590d385fa02cb731e841993817f46c5cab00642a3f514c733384fecd6afc74314d2f91648d2b5c29147dff6c952dc9ac2c1fe4b2e4eb312e7a5d50a6e26b8c254980a5501165f10dcae3d110afe4d6c630233b96941652f1c4179f0c9690a490a44644646e0032c62960ab15cac8354188ba093d78339296966b063d8f49a6d225cd8a0682e36a61d4c2cfd6e4befc7471a7f0ca63bcbbe5774da796e032e4adfc94d5782b2ff435b92fbf26358fbaf7fd3b753fcd4ac7348e80115c9d440bbbe4362b3fcd97cfd77cdd9dd0ffe8bb93450b7590fdbd957784f702cf8828f3792f091baf057a4fbc1a784a784c7833f0429ee6adb2c77cbf24f745a1900804fa84e4f5b45c9b553ab39aac26abf1f7886039aa70a44566b2898b8b3ca6f79c93c7472684607eece1afd1eea545e372b273c9724510ebc77cc80182080bc6ad997e7d172c91c5154b40454f4812fad40342e4fd44d349ba275766f0ff8b3e9870c310d826995ce589a37ce382d676de5d6953074ad3f647539bccafb3731737ee1720c6f84b9133452706cd7657625df2f8a3672cca744b9d9c5808dbc1c1fb8fe50ed0f2fe2e1420ceb0205b70ed7d47067db428833e361f71277b3d70702126b6205fca00b2fccfd6b1703d9b16dbb9b14b3131257208db91807b7f11c499a7094194d10a107d7cb7785af0f69bf633a6d9cdbe87bf8c580c328a42647f1244930dc108a2ccf638b020671a4fe9236f38c61e2cc4b863dff38068ef7941ba6d9491324af7160d07f7b05b62b46cdbb0d94e860b507d84518a304e8932ed23eec41dda199947a4c3b8c1451ee02663a59cfd220a0b9fdd944a8e7e90dc2ce22904b387909d08727584ec7fddb80e8832138832d4104df447118ccea20bd706899221be1e4083ff0c71060619a28cccdd83718c68a514abcc2f390cf2bd8c2506297dad5fb8ad8ce41a8b58ea573716ce6574e6cef72c7567cdbc85c68e34abb334df5a6fef57ede6e4da25c7552bc72c75e5735e94a5587a459996ecdf54a24c6c5808b638124be19168ea1ff40f5ed18c8e39425a068fd132e88b4ae99cb45f7226460f26897ef5cb7fbefad532f8a9a7c418ff1c9f7e7d08fcd4af18e3dfaf1dcf22d8893b712704fdead796a2fe4270910778d5c834277a4bc492c76afaf6f3300ff210ad52e8ee6e0a03d31be82f078a06cd81c921f6e0c488c9d8f20118737290333e32b0813645294f0021bbe7487912e627af1ca59491c4665d0e5c1327364c96b8be24fbfb4a89ebaa216abad41f5d8c4b331863a1245c39d367449920d153049b53e31cb7ba3931eede6a9ad38921c6cd72ce053d568d07c74f1ef0d8f889d423d87d65d0e3b200cc7f7e08e845df2f82f90fa681013d2d3f85de5d30cdcd90cf87308dcc0baeb071a5509f17bdbf870817f49a92c7f8cd8d19e623aa34b3bfc704f4029fbd9028235f94528ab91d8bcaa8886349aeb54e25bdb2df357eea6c5a75a54d5a8e8d6b641babb85192ed962da7a393ade3b8fc14d5d8c1ab89569315cc20076557906dd4620b55b659b61ccbbeb42f6b6c30029628c29842494e0b652711d9be640991ade5428f916f7f489be6dbc72107fb3ab40994ed7b6007d97e0f6d6ac9d6be0c7ee2542b6b9f479beadb2f6da10438b430428789170b50f65f68d35465fb3fc0c8f6616813976d0fda8872046b0b19c0400b945541b67f6590ed8bdad465fb9d8d135004e044185a387142c5c9ce8e92003a733a55385144d6b48f9c8da6699c134f162bf97fb4152f279d0d873398bd863fb00b76592b6bb15859fe0ca6647707b3d7349b69960bc32cbf8922644a292896334e25e537f14400194e9bda954acd297552a93cbb959f3a9b55966f83c5056f6bf1dc0f282472798119e5d041da71428682942974ff3d987d67d3d9ce26eb9c742d9be1aeb3e95af8fbbe0cc763e4ff97b950086359ea70e5788d522faa2cdf6595e58b58597ec826cb077d70b2fceb7965f92d1666c35896df559a95df4f9c8ec7c8977dc6942899cd0fec4866b193352942ae42c8d58607b97ed72650ae97086a3461d180086d2ce122afc8a249115d6c5668e184cd165aa4c1821480e28b8c8c8928720542bdb98e62a86c5144114408117b02053e0a3258e26aad158e5c2b1631c25662889c4d01c20a4abcf16d8a552ca145ce9e479be21639fb12132472f62cb42901397b1f2eb4894998b357c00f2772d645ce5e8636c52a64d0849cfd03b208dba6c00288394d3389306a3d008e184874e1050f949051e710b5665f6bad537031845ce7949b3b9b3639a959ab4dfe569472f6b64ddd5523672f6a530c42ceaa48828a9cfd8e36e5c8de031980598b258402ec2693e02cd5388d5a24d4d851a51173a22612373ee86cb2b46104124ca0e407303082145e6733832c406a5c306b45943d228c1f807630a18206cc8d37bc78226a91c19226ad132672967d86d3691d7e0e83f6520c8e7266ed113800b85dc4202757d81054a083e40b26baf0a106055a2138098430e6cfac65333b6d1558de9cb9906bcca6a082c69c598667d66a13943e4994ccb218ac722540ae75e70587a14df3b317126564cee22b6b790c687306de203238ca19969d262ff8c2c6553305057ece82c86029cba00bd9479ba2163660e4ac3ea7c3ed2c71abe476b2fa36667f3d5996ddb7f114511acea0d4ac55eb67194eadf5cb5a99cca0744966328319ce7070d6ea92cc5a198ecc318c3c7fb649264f36be54ee3e232f47da883ca2d15ad305cc718def830518da044a14dcc9820d1919bc4fe4fec8a33d09bac6ede7e4c7ffd1df8ffa2851c92254b6cb884567b90d7515752f86ac0895a644a58aaa4a394fa35455e466c8e7e917d17e3eb8c1688e4e46c3229fa70f6e386818870f6ef17401ebfee106895963c1952f2a011c3724e2516363f9dd3aee4abae46f88925c99a50545b6426aa5e9154d8b0b6e2b9b5957b9aa4daea44f1165136ac2eda61dcaa0eb40e0e60a12e1916b7d6e9443723b4ea014059fc25d52ba71c16de5e2cf7dd8565ba3e4a2e4315d3446a40a4c50c54c163570e1e0091cd4c437f641cf9eab4f6ef7515af9f293564b5c94a18c85f7b707a50eb8250112f151615db2b18a13860050a20ac054f1c81603b95f7e4478e48ceb9eaa6d83c1b68aae6dd5525caed843b57119acb08ae3d96ca24cec6e0472231532c0c9ddcb1d09b0aea2475ccfa0abdce5f1589747b241fbf943b6a7dcf6d99bbaddb7a34bdea5dbc67dff1abc17eddceeb9f73e910fb7fb5ce8920f1fe0b672c9d10bc1c1912ae641e6177202e0b8e00b577a51ac944a25fb1665b3b1a32aa30fc330a6522906503068980513293b252e933be9fc96be9b9fb496cc76dfa6f978e9a21784f4dcbb124e2a71733ccc4b6f643fc7c36cac2eadec83dbc66a93c4fd156f4ba6c5db928db5ad36d6c6f23696e7bdb3603e577d55b615eaa1218d3236773b76ec38c1e584134ea8da1763628ccc3adbee2b06e567d17a9e37faa8151afbe8151a76a9738e1bd757aa2e85c27015e782a38eef3e90e26c496c52e8a8503ac69fcb91834706694a07aead2ef95d2d6993ed8d499b40223c3c2ff48abbd55a6179475771ea16af0aab21fe7840ec16655b6dafbce1b441a38c952922a80f2afa830c82ae20fbb711b3896809a994a73c26c75334a5ca737e82b8f23b4b978ab860ef64476da592f64f290c1aad89f98db1a9829a18e8a08c78951dc2ecdf4772cc20cdc9f96e2b17acadae2d9d1d28405b73b624b6974e7716251051b3bab6d516c79d4fbf5a6993375555c0daaaad066bcb5bee2a176a15eade350d696ccbe0e34072d862cd6e51a46c556030f85446e0b602b7558d42d62a240a1b4e7fa0edeebbfae43e87bb995b31f680489c4db954a2c35640229e240a35a21aae56e01742fd41ac3da03189eb930b4e1897d94ab7d04f303f692f739339b19f349112eed37c5eeb54c5381eb325e1da9a786d4fe6d72b36aecb637c7e918fcd868b50dc3660af3e445c70c6a6688ddb5994846bbfbf715afe076606a76bbab05c7046b958aec420c58922d2b9f5e577cfc574ee92a8f68115282f94274b9c7dcdb8af16ab71fba513245c70aaa686a90f31c69f1a414476a7a9196bd8eb08179c5168a8f62ddea13fde0cf5a3e4caafaf74c96f132ed851da545de75ad7f958dcf1f0807018a4c9dcb7ad2d590c33b8c3673c9e851c7f3d08480c7a60ffe8e5ed7724e7f8b615b742377357f0801059c10322f1b6248d0b6e19dec097e7700f2d42e3aed0d1232ecd204dd1236e4b06696a86f8f29b33746e0c1ec9fdf29dadd0516fa7e6829bcda6da94b4698473c581ac8164008d32f5fdeb932863256afb24dd9be00514121907c86af773d21ed4c180595bb22583b535aa2d3a042f2203681865643c240d8803a57d12ed418a85c6a81160d4a03af3413a064889c080ed416ac602407a84ec6f2bb61a8ca7c5eb385a672731c1a3a2440008cafde29201f13c676f34ec6d49c76c4680f48becfff16230c2ad5f5db506e1a1015272158ab515a74d8d47a35a2baead8a53a174c92b4e0f34d78a535bf57f747db0b6a0541c0f487f3e505f40e83819e40c41b89d1d00f6833cc83832488301b2074834482be2c8121391ef0169451c9988fc0ec42bb9b3ff24cc621a3eaa2be70324933b5b31c6c1cd267b6d6d9b3440478fb83383536580169d1156981917a4291a4afa052d238211c5701d3410d04d559491967b7fea433cd5562bba5e9a5ae1becd88d8c30a771aa361973c74c95116815965c2264cc814ae099b30398245192dc7551ee3eeaa39e7946c48d59cd3775c27366331a9a93eaa1caaaf810d1d1b661713d63ab187ebd496749d9c0bd61c39b34a43ee850424e025cb7833f48b52b73f194506a78d0b4a1c1919d7911e90101cd1e5f218cf7241e9ea6e54e73a51a67f7835642ff2e1f60793b34f3660b5731be085b25c89c19a83eaa40781fa9fd4ed6f94511ec906faf387503c44b23c26fbbb846b020e83a3fba0952864d04d204faeaa2936ee15a9a22970da029a927d45ba2a67c6a66aaaa66aaaa6aa7212a0dae674a3aed11abaa2ac6aa5c6b25758a5348978dae8c6b2b95f4459342e48c3283242482995a1b3e23a341286440d602823928b1dd48dc4c9c9ceb54712123da6ba9a70fb6beb53c405a5aae6ec647fef6bcb4f147b0b640c45c15b204f33566b92340d6b16bac346d7343aac57da5a99313f423a133286425825fbd70d27743f6dab346aaea4acec541951b99b94d0da9816778678c2bae45e5cd07574a0d0d1d966e83c080e3588074444845b69a536367d2565511bd8d5a14bfe3b32b8231329e2823127dbff48969bc123d9f0f9fb43420f7af9d9cc853e0f788c67b960d491a9ef2ee1823215ca72eb472f04c7ad5865ff73ef0717a1bffdc5456e8aa0ea730e9010e82426493a846e0eb0d9b15264af53c208745348f41819dc9a71c1f8aaa19bb9d4490d944599e423ae15226de80cce219d7b22225cd05534e5aefbdab74712f2d9aef634a09faf619afbf445bf3dcdfcd0cb0dd3504c6a4a5f84a92a44018f64c3f6dadfb0fd7ded8b80f00d1a4de16d35c6055d15662074e7ca05dd45dd15653697229eb6cd5d9bbbe2a6844b8acab8a0ab5ce52a95ab8674f4880bcaa0ab66ee4601cf7333375a2b29e4f9f45b5a00460972d6406db00d67b3f113fd2d4762708b42c695556292cddb2aca38497a30b8bdb41f325ffbf9dab7607083c9d4b6b201acaba8b4aeb236452d199a19010000b313002028100c87840322994c2ac871950f14000c82a4468068a0a85910a41052c6180304004000004004d2a021ce4fbff1e1c8298e2ad530ccb45840853e8c476bc6b4c0cc4c717140bffe6c61fa1716f21865b39c3d3d455104d63fdc53dcdf38b164c634c070e687a4798dafb2bafd4b201887dfd6e4f8de8bc5be23a194780071b737a5a5ef5c1bee23a24f99a9b2016524b7478e044092a2f1cc4e086787a242f207ffc6660a4e9cce50e5cf371010b82065abd139a5d5d405cface3f652f4754b283c4e40fe7cd3129b00978ea6fbac15f4d0340dbc1956e67e454dcdbddd6fe9b3121b7192ab6f3591eb82193ff213a37cf37e8d2886c8d24248bc8e0b9a348868474073044e2b1c9d9e9d2386ee623c46214c0841c057f2aa1dc6d3ca28ef2dbe3b4eecd3c6604c61d88d41d1be6f007df200315574d4dba959c718da4346ab1a52ac60b2bdc6a0cf90ea07c823092fc66c07fe88037264e83c60a08178a91a2372f8534dae012489e5217dcb24fa8c1232756cc930b0fadafe58b0e0e181b065923c734fdb0de12d7c552c935ad1a197472d7f8290657d7708609347b64076c01d6e046d27c3ea5a4b6fb0a4cb609a7fa00aa64d3abf42c4d86e85c36249f3cb35ed8398c1911c25bf59ca9743d0fac073bba58f76468f7df10816044be323d4a5ee6059471f81e825f981e825f901d10bf67fe807d16be507442fc91f043d92ba92b8a684031aab0416542fc80f08f52243ac69ee9397cae89ea860d6082e853830945b22ce00fd1ac7d7e9ce7d1f34d0045db7e8b8842008c649a2c0eaaa411f312b8c16b6f73c6603f082952c9c0d8010f43cd3ec385db0f221f33f6947fe9f251b7b824696914af8d06f27e961382c9e3ace4d04663becd84622434b4748e54f2c5055c0e90b3371998daaf130eedb765131773ce9154ded7158cd4889812ed62dcb9104613ccfaf5caf1905e7ab6adb4e05b189393475d86f35849b15de0a475968707f8c30d8f5ad0f9d0a6a8b06e5a78c80262a414a86a1a064ba1cf89701d172ae1a32ced9f233c78efe7c3e03a56da33cd0ac6b7761ea3f7da5ac28b04db41c065d876e0f330ee8bf6753eacb15313b00720e98b39be0ad95f58b9438032a90876e07d0ac27958142a4b259d6ba7519f7766399622243b2a534973b0dc2de933752c4644a758f72efd0f60b7f937be86e8206222a2d5e960669e8eaf7b9c4a8e8e8b5503f4c2865c7040137b27fe5cde71e2c20c160265a13390e7901522124b1a20cc5ac058e080bfe00094da464fc459a668c0915fcb2cd9f73ad2ccaca5459d6058efe9112a4921ccc37524b882750d219ab210da243bd7a9c988e95603c22dc8a254d9dfd7ec168e6220fe8e206247798aaa9d1eaebcfa5bc418526ace41309083c7fa2122c436e415734d99e2b1005440ca5ca4135bf4a2669b2acbfdc91f03f07a2db4cdbdd980e2b00dc8ac1e179b478b47322765200eed0847356332a18ab04e00e1bbaae578c15cc3c6011eb1d3416cc4a96883f683f8032914bc9dc6820839eaa0b1c34b4d7f425a7e1145d993f17516e5d2b4a8186a7f6e9cb2564d81698cea348bec43e6c39548eb8ec1d1800275d1d0a6ad15c644ca2de6a84bc84dc20803e1346e2d3812ded9d34b8a4770df0007731fcc71cc9b380f21c43d23b4302cf914212c820f62215ac53743e4872eb9315011b87c29e407f9b73dcc88ac984c804b1a7bc3ef85f80c95348f3b8977e6c02a17f8b04283e80496fe771f0ad6de6a8a6513835de86652880152e29d226e8c8e1bac6063191cd6c69ee83022775190270fc515ffdcc78932e8d46bec05356ca423d357a2c5b0383bdcd7b330669d79518117ed24bd09d7015dbbf08b0d30c9f6968ea949b33eb9b8aea05c4deff4b33f1443620d46bb56d8560d017bcca98de31920fa618ca9966d207518c83c31d605e595a6e8ca4e3bb694918d210ccf24f7bcaf69e2ecce74b1ecc1a9be57dde095e99c2ec41ab85a0b9c53d71e848b01e0d3d2824503b3e3dea2f42bd3b9871c181887f698e3c35abb53b9f5d506c5182c79940499e40b227bbcc772752184542c9640b61a0a3bf0bf4db0c6dba678507625a9c20f484b3b10919bae9b1c3bd8a5758fc676d6bb3b4d5729f1a52c1462b2fa1c43940bf5518566d0e6d3d618bfa481155cfd00c95f1a6ab80edfa066a177c798f31b9345efe7a4848d04abbce99c3e1bd285361edb791368d43272f816a02f27d7eccf7ac232b61c3f3137f0312484025c6fe76cd8d393d6146ab3ac59ccd3e4b5ed755e49b280412bac02480273a088027b2db629a24db35981c0106afc0dee88fd762a00075831810eba1b7ea71c502797a2247d5fc06368b027c18ff2767108d78925381cca24a7fd6967a0c41ed46d2226d5626c8c9fabe401de26cab5e7dd1bd5279be1a897d03aab83606d606e0a9acee6d408033b1a23bac5c4ca94c9eda1a9249d0eff643cf8917f0b72f1e65afa75f631b96864484bcfb51c250912dfc2abff2c73b77b1476037d54b59737d4e1c724b482582f5a2046d758ce90bd84b016eb6d22bb2a6acbf3107a0029435c75cf890f763bff18fa5bd4ce652d56361d555e234f3d3577c464bbd3b533deddbaeeaefc6b3fe4bb073495a4f7ec9a31bd7747b5c91b10378372e89080097c2cf8b6c29d92e4a6d6f7d7df46433b27c31f7bc09870108120895611a64fdcc0c6bde05e70c31c63dd8b8b1c4b47b23b70856313bed87f41c89065e38a6360ede64a2e8c5dfdd051c55e5e5a19b4a865bebca3c36b7eaf80591cac4531ed5d91c34cde40a0f6a3cca0d690a58907d8d1485f1317b77cf041605824be90bb78dfaa43ab64eb9b295c1e0a495091acd4f00f7fd9f3d3392e00dfd1dc8274c8a94f9eeff51452741a33be81efbf74cb985e39e1c3385f17a8d73852339520b7bd488476c8e03b00143f65760b3ae4ac1b5453010ff24e10898f86372da904172a469b15fc087c72decb5df8b8fdbc70a1419a0372db1f33833656069f46f069d169a9e0650ce758764a576ca7db1d5a2366d2fb2e965a6e8f622658a44ef057f355794d003d33f6df44077f1358c2fc54455232d18174b4295f4568f18c495b0d2bb7327bd307bce596ef0394e6431bc2f9d4fabeebd0c046b49e86dee93f67b3bee49cea54fab38ad4b3414b7976a1f3dae955d2bb2b1fbc719b402b0f11e41483f899a1ddfe0e01388f12fc8d7848ae04f706845b84b870887aa7f43ad3a16aae6850efb41caeeca008f193f2299934435dc81f024ee96b1f93665ab2160d493a741c112ee6a12976decee4aea50ef0782fb36e98cb490d4ea3e5798e74631de0c67aa8e6fd13aebd28cc3335abe4c0d300107df636d4c776a1541a3c98ee5a69b1400659857756b385201bbe34be61a0257d6257a84d2c293b6d46b9b772b7531ea8d4eedca4e7939a997f408fa527c467c76790df0735051e6ae4ada5072bc6dd607e7ab2432110023dd5dd6aeccbbc6ecb099f9cf50107100d24dab0ed51ff163123129b6611f280b5cf23152e45f99d80882e5a783a259bf573bba9ec2d626adf5093e065230503ccf8b793096acb202171148c4c2051540bd2fe0376fb19aa191b25feacf595c7775710b1c29c5b5c61f095e1569b4968dc2480725505b31257f2e5839c1ff509e1a23ac7c20d6c62bedb5b82a300d69ea31688a42c2e145233aaf9e119fcf0f885112d99a6c59d2bd4957098e87a247b290eb3a75b95346f80b833dff7a7aaaafff094e4ae9d22fddf212ce376209a95f09b9a9661fc1ea3902a3ec40730af80f773bb27bfce9fb629baebc523fb07a6742b10562f846cd6f871d881a9afeb5921c464493160e7d8d9cd796d295f2bebe4bb849846c0761870b4184a01ea2eca58718e557e22b85dc02cf6f5f3d7f7144170ec45d268c86aa04944c70178a9380a19bbf6a580ee079a600a40d45e9525f929c56c518e2031e6b9e5ff0cdc58a60941cadf4929f965fbceea0d20b1ba22fc2eb07a7a47552a86b92e685751e3767110fffd178b47ba124d93ed2a60b73c06d6deef1c996c3a853c14c58c4705b7cb65c01eabbbb5456a2e6ceed9c5d807909eba04656d1d81783b52bd13147d1a8724b5fa1c63395738bce2d027110a2feeb04c353e8269614dff36d21c620ae27c08ecede9878afb2e9c82790283c8cd38485e38115b4b8419c5e490dd4b2debf09f1cb909a0d492d4274f4a9bd20b07ed9d394ce3821c2bfadc247895cfc76a35f531edefaf7724d0f8ce76759bb0fb432afdfec90c8a1ffb7d1642c3b01c51f100d9b3678562ab6aae08066f14622482e725fc5864488e5a7f95876598dd331d7f484b799540f3cc1f70618f52b45f3fe896f538f655c8d7c3c94805c4509e66e8b8f2642af2fb040ce942126591c981b6e0642318ed1efb30cfff1dcf5983f565e723c3bda7d619f473c2936f1773372bd2e93ed9ecbe5d4f4e6e826176a61b033a9dce16f6f4f9f18ddc7227c31cb17b8179fb5839ff9048d3808a61af6893ad348a8df59bd145c2e608833f95e28e8a6cf798efa9b4a462bc69b9c73ec3265e44b505e4c6b3ef4a5e409a6ab712a2370bfc4beaf35de89cc7b244bfcc7ad842074e30860e6c120fc26a4f90b04487d28a729913e94488d2852f01371025dc2fae7daa7ae6a4b0e38458d229d998234abe979b23d158793cdf2efc2d35c2d6e50fd3325fa77012bc95193225ac886dff819d75ec8c8bb7e997c36fe2bc05a388bce0d02e3720806018fec2e0c450db1f0516b99ee7b9e2be776e9d267487eb058a0f4bb497e64147c89124687e74dbba81ed31a2a9ef061512db7f29ef1a57a113089a885842a1461342a2be97a8ee5d5440067e64a08ffd54beeefd47114181f03c302ad764db7295d8a3985cbf5ecf9db56835628af68233c9bf6b9c3fc1b6e1966a1cd8d3200fc7e22067c13153923a77b3ef8ba703768171eda504cc41d614830919be65ffdaf75bed44cd5952ce6e989bae2d686f783beadebaba02d238ace926b8223c92b90013e04ec4512fb35fedce4e47cdfe8a45f285dd65a59e41e81b921edb1e8cfacd3c7ca13c1c0b3db0d43f7643a6d0c4d1fd9aa40ab0b101ce9ab166f907b2d6dad581fd65686d4bd98557015aa9e59fe216c07c3968d83357e867555e225d5293a73e81b4c0fd6cae0791fad7723c09ed26d3d2d528debc0a5dc0892b9944e2dafffd870067468a811275b89960bbc384a5c0a65f1942803eba6105cf2088ee03fc4c2250ebd83e297bf92b84d41d5cb4bba927a243dfcd956ca588fe5938ea93699e4a7bf73aad92638cd3373f27c4f11c90857cbb44a27b343ec1516d502a25b7b073479ac88f686ed56c2e9584773033405739b74b3d87041e70a10c0f27774879ecccd05bc42bec7340941f090535ed2ad6241ebc5ec4a4ab9f183d354e722cc9bcd1df95527424fb80eed932eaf596ae1341c134af1010ce74dcc03c4d098cfaac62a1cc39a93616706ebb5eea7500dd009228ace32401f2851542f30e1a35b818b7bd68835d0c127a7053299d395cc730aff53594ea831f33b787c1a4fc3498f994b7bf18c70553be8c48e6ae1a11cd354d0082a466e6425ada587feaa0ffbdb2bb25afc8435d83befcdca86e7a2747707a49c71561988cfb6058e62f4d1465efda7b3fbdade0765d81389f3e56b4dd95d24921bb4cbd191135eb51a4a87a38a8be198bcba5d1f6c692f8285fe7a33d0b44d74274f1c98d13ae196ec256b5b746f84a32cfc82a561bd783ca29d4c1092494b61022356f3f328ceefad2640afd63514163d465361acdf79a99672c073dc98bbbab0bb1cadfe12229c73ea8dd9b6bb9a705c1ec491739bf4b02cd1cb43bc485f64e9339499978ba3ca4ba2c197979034190798a08b1dfe31ebc5c15456d0a9f8547a687f2c663c024050ee8c8e4a879918b4434090d0b0128220785ad696d0b7759ffbac017092a601c3ec9d2024213e3d9f993251d3e6daaff0bacb054b9e0ef106d08a61a520db8ee348c01dd34c3f83c11477058d2bd197c6df85fd3fbf0241fc66110307c895a24693e1635605faca2915130239be7f1f041c03fc9b17bae3f1f1bad6ead49914951646e75f3666105f5b4a89fcab0685a973228b8da8def9a5a5301aabedb98f12591509616f2c29ca510567ea343c1d1784792789c95a3d7279cb81030485654c1e7ec49d419e64b6a3c5e2acb633f319e580d91e1445fe637cc73d6f57c2f4fb9c34e75ffdb9209d8c47562832459ac92782e274f3e188a38752cc345192f05627661ff06d51acc86d8c024558da98e9a665e068614123b96a660ace19552cbc55150d65117898700e99856c85f550a8a1069cacbc495ef9fbb00a66180885e8b5798f032ccc62e4a72741f4c095fff08f8bbbe6a9515980f720fcf39a8089f2149f607932139b2c213d2bb2c029c6424c4b75afbf4747a11d64e374c2629028877117414a6c62b8d0eac0abc36323de60483ef8a2f01afb654b5eb63fa69505d6c5c7a9f9d12f027be8e9522e8ab7b10adc1c15d745023cd76c9938755364774ce6601d0ec5a701693cbe9db307dfa21bccf545393b3854454cae55a0d5a36d91bb949e3786743e3ca4f12881d60225511414744ca5a26b62c2d5bf5c1cdd752aa24b2d6f217599d11f116a1885e06f807ab62215e2121b9e60ee252bc306847cc92e4d60cac1fc121e8be7b26097fb8cdc7f8fb350652e2f99168c1bd35362b068ed9f71ed34fafa15909e319d34bfd3c4219dfaac61f05c727d343bf611bb63b14676243bd969db5036e9c0ebf05556027ebc362435775bfe65ea910c078bce7ecc9c749780c2b6ddda522475ca6565b82f3d878a7d890ded38bea3cf891b6bcc511eabaa94ee296dc603cb7b87288acd0ec7adf5e3bc3f0bac69ab67d80da6c7e7c9e2a0877edb87051bdffda801fb1402bd90346be32ea1410d9d97c89c59214f7deee432a2c7025ebca60998050711b0427603ac1a9e6f5b36397d36cd1951fa5c5402a286486461285e9246806f496e4399bbefb12c07e5a6240aa260f9444ccc646557ca9fbf9693dc46c0b2d7376b41cf1cd5e1bfa6d28632868e93b06bdaadb9d262051232fba2cf04c2c9b5722cf5f491b34cb98169f4de03e30747cb28b7e04988b57d42e46a2ae3646cd1cb6e63d83ab3d010be2bedeac8604babe2ff13f6df29353adda89a6b3b896760e958399b3e7a041330cbba6e7c947d4830d274f6d0ebacc6186b1a5503dd818ce26bbafd268f92d7a87e31b21d1e9983ff53f5a379e76ec21c5082b53d81ba83884e356705e0152b5cb54093d02601fcaba24617b95234a35da33a066597579b47c1d3c81547af2400c82964b67b48a8570986441c1a7af07d4904ef5b78c013ed9dba1ed963bf01fb7286c0cdb8a04f0250df4e8329ba5b038fb6a0e57ee2be0d75e05c51442baf70f6417ace9bc4dac13ca310eb99aabc15e17490e383ceebf02b9fb4e5421ca251fcba6a989dc6e7649eaa163a199631ff33914c5ed0182e65c97c529244c4b9e9c14423a0051ba943489609c6f024299fa8be0b9ef14b80dfd84a4d576aa1005479f97522b649ae5234fabdd8ae1b16c4d76aa4db6041344713a6e9450f1311fa13e41dee6b386947f507cf0d6b216d19596f329380875d52c3d9b4d1157201fe05ca025551201e702d92aaf452ecb2890c8b46be2c72a4c687e1a404ece0f287606f0e565fbdcc2a1a4d20b11bf84c8490e7d907e4a8e96b1bcb39ebef5e6e4e73f18bce22adae42db6b00de98cb8918eb180d0de35cbbac311bb579db6c03c4018bdee84cbcf769a37d57f4cacfd0329c671023bee41a6ffbd305cfa85722ecb4f71c52dceb8e00771c9433379aeb014246791b70e5eeea97c8e5a22b07f67feade8b29f2120c8080f594ef4a61df16ca7ee4d546c4696c0e9839313a2a3901b42a060508934e34826ba1641246463a962f16dd911269e84736462ebe420ebd710a0b390cff90b3aa1ba831b275fab73285b59c7a28576f9ffbca496144a70e03313d61906ec5ce331898f2cb311303f520fece951d8d09207d7e3c6666d3d0c4893854081c41f0118282cbe5225cbd62155b9818aa528af136ad5b35f931ae0f57b16e21d82ddb731da411fc786568b74f668b16bcd4aaa1064fbc953d5b42cf38d05d9390fec3086cdf5ff3c24b097c1aeb5796f01a6f75957c23c1f95887098c8a24b594220a3b700d802a27478e893f77f8c29c56741b8ef93c50304a05d63b78382e171c0501ed8522d83f1604b5a1a0da3414f08d3aafc8c6cb53c33e55600911eca0685f63a88a8876d5f7d68ff5e944843a3c653632724e03aef89ce1066576a503bc38bc7c0e3c03df8a75ee3d4d94082ff9ee3b3798e5bfd047c20e843075aa8562eb7b913347db4ae525215855b4620185b7d8f2a767a9e6db2705f6ef3ca461cfcd2e718f7806b16406870575e2d27f10acea0b223149eb327f99c10548303342c5aa43e805b161b99242021a8e40598effdbf28362f0568899f68a891b4b90b5e7d67ded3524a2c2390d385a266d274e7ea42c6daac3a52b71f9cd3f2ff05a50b0a912e379642b05db9873629fa5ecc6dc5ce85db5ea1b646c21e22d4cb3039ce39ca18bfa2c2fb326ca617522d13980b3f2fd8aa4b0d23c0abfbb34c55aa6d4e354c2936ef26b3e60ba6112c9c286c4ba7782278a0afa8f70d123fdbc016f0bc9ba7c30da43b766d6e417c912b4899e8c9194969825214fa2d53db268f9334382513def211d2b24a51c2b1ea64775c0497593901944ceaa3615a968e862dd854a4da7e73299cb260a4df974ca5746fc1497506bc67838e8989ceccb663740c24efbf5d7b50e2fd55d96fff82ec2127928c24315f27e082a251d94d0def7307e918586f426056e2ee4d438c4fd16241cffa3c340ccbf1124441c5ee5e637b4749c8115254f8a3d4e8e4d10d6e6c8f95ac4ad17773ce33f6f0313c0b2034bfadc0803f42f20385c4143acb694b62b192c25a8241b666fd144307c7f026e5d696f77af80903bca101a59ccc37607bc8d85bf1992ec41bea171cbcea6ca7743c6eac7975a5a1f3abf429cac16e414221d3268faf57c3c3e0e6b0e8280ce3194a4f9027ff186e5d51df1a52bb18809a1d40d2cd424875486d7f383049467bfbdcf712109bd6feea22d8bd4e63f717dd3f6fffa492508462409209487fb9ac363c76c013ca03cc18eb1aac732d3e8470438a482a5ec872cad15cf91d37a8740cdb66b3cbce3e975970856e7f255a5428bab38bfdf1ed0710f3404ef77fd98d791287c96f77732b65222e8641530ece557bb5b6aeb7b3b8d08ba0ab19f00858fca3e68a4912d093776aa0990ba45415130be7e32df851a9b95708b8e732d93d467a0ac031b79e64b6eb4c58e39f43b5969a6753501919b4a12aec211d90882e0736ffc2103dd9601235de8bc74ab89959146cd435f937b0081122bba5ec2905b0db053307d7213117db0b8ae67731534f70c4e27aefe8c5c629ccdc5dcd0a8cb1d9bb9f6085dd75a093d89030a8d93480ef7bb3a058bf49e1edd76261a7493b653f546e536f293428404f47d21cf29802612dd161ec9f70ebf4c0c5d0ba302423b96f597809928ad008bb00ae3deeab00282d27ad8920eaa0b9d63bf6c711b762e159051fa2d07e49bf800bccd2a74a04a49b47a5efd4d281ff2f13f387d10b154439c6af6f26c3ea85ca75a6c6d4f64f9ab572e23933615d058fe1c87073cb6b628b28be6b61597c8a89e047a287a8f5130ed512d7b0523585ff57ba755100d5fdd552c06b7ff67275b0ba44b0a03542824dcaeddfd0bdbb8af27e9f2894ff7ccb9526fb697ac772b7734836791be6e3f8f3de3ae8934804433b0d84ec673ec8ca9616821fde27045eade9f87ec754fc69f28f5c51c3704f0457c4dba306d25c7927b14300b324d0d021d2b365686566edd4b09a5689566b7514eecad3c91e5d43971d1392fc73475e22135c8a50e4ed19f2b1015f619b1baa7e69937143e76589d4d195214c11e079e5bd8be564f8dd7c1b68ad7de1b91eec3d2fde025bb6d2986b281c4e01e80cc074f5062a8b63b3845a41871480353b8ccc3f450d884cc7c7b046f7abb35a2f8a59bd408b3ceb2baae2c7be96103e0cfbe37893b927ad3eaac162d05cedffb6de5c5a9f1712e569efa10086755159507a510ceb03e00c5965477f83e22ab4db3394a4bcbc8ef77a4d3882b2304479944cbd09abed6ea4c8dc4aa8ddd49c0aaf81245459bdb689c533289b84ff1d1e83092c26f5cc8b55a70ed6602d6f4b2f37342ea1cee2121ddd7e2b4fb1eabc55986f4b63c7100cd883de2740cc2263247808c32318e13b401d2c156817d5d8285ccf4eff5fec6345e1c49d480965b96ef90f692e51ffeb33aaad50ddc2896fe5baabd723de07e3ae6a9747f83bf666438af24a6c22fee68fc5a4a97d48df490cd613d1fba389302b20c5adc44c334823b25a212f7c41230c4172942c7da70568ededf45797df894605734baab1b3f10189312b86bea5726a27ce8e47d608e250b0664ef079677d03cb9b3d5c659db0501ffd708b14ece4eb2507dea58ca6a86e22d9450bdd67658e83d907cd55e9915675d8118b6a1d4cc6e3c401fb6d7cf0c5842484da9e63b82a0a03365c07253300dea5c5ef158513696884fd089feb4817529d2a0a199fe09da0684a2531f960a17c8f188736a7dea0f42682d715578e24624fe61f8b363e94b31c1f4715a73da03edf065aebee8de495bdd80348d88ad9338be5b5d3ec20aa50b4b78c76e31771a76362df0c75495beac176b7b560e62e68b6ae5f9c1d412ea10b564dced4179d823ce9bfe5bd52182667a23f3b3cec7764cea10de15eb05d4137da4e800206562621447ea41bb32460553e32de8adab9d84e3b8f0f17b28eabc3a2427b345e43a264097e6db16ee95c40a1ecaa354819c4d0c0a88f78308252d9413acbda634a3af560b8de8d4895af6bd3d5e5da56724178188a04ed880495319f08ca15a238d6770eabbe700365d801300eff900c4fbdeedb94f07a084c1e82c6e6084c753b807ce716364ade114dad744e1b194230251b2d15703d6bca9e34b698c271e0e88f47dbe4b46fb7227314f53771a617c2bbfd8f476e19883c0a9db8a803f8d6d92d3c52de290be501bb0cb18bed28c8f94e30d53fcbf007d65b4b84975ff9d17be9e99b765cd8550d230edc79228520744c5ee02148e8a6f1036b9597c7080ce231f954869a1462f7b0cbcfc287c1d4079753ab3af4d8447659c907609e34a3b94fd489106af961ef807c2049b604094bf8470e9764d1c468815048ce808b7102e8e4097aa30cfff7091d840c6d8413719a9a0354a769aaba3d69cf60d341ae54e71fc4ea3648eec10380278fbdf00aa13ce7926b99e39cc8e18995b074de3df5f4317e920c83d95f6d778aa220f63e52a0848874957f698ecf891d0fbebabf0f211fd84a964d6e6587af44512ca2ab15aeaa04add6d504051cfa592766d8165e1d30e80482147d2f000e8594f936fb9fadc8a50587e456d2df15cd62fc621f582fdc70ae0d31f085b83c68bb2a895377e8bca664ebaabed289c0123ffed66c907a381c647102c1a4d1d4d1d48f657cfb4b352449a2cafed536aea9f9b3ee95388ab1d555370510a046e2791d5d25c97d49aa1bc70a4134f0ada0a7d6138a3670cbe1bd4b13a48da9781d6aabf5a202889b2a81efad8fd4a56bd2481ee379a81a541bc48c9c0a3f8954a9a52f09c975ff95e00ca40c772a3a2f28322415cdfef9bc4631d5e24c87b5d5064bffcff62f4ff24a2d45ba1e6daa6055f2f15981e0824529f07842d394dbd31d88b105ee1c599d5449661d647044329ccbac4d3fa480ba95be02b9e0c4c9c942567b4604b2805a1e038bf8975825c1a02ed44af9450c87658520c0c8d8e2f4d152b7276ea4bdec365e67e8a048f680a9f2b08c11b2203df5d8b1b8c810b7ee4669257a006f4760cda5f9c51f149ae15a4ce6d21d38536e6021ed3d0a0c779b9c0e90edc1b04ff5c32bfee8c25c2ca39f20b1c2f30ac42c5c4b9933fa6dacf7b2fe18035c54160eccccc1b448e403a7890c83af3ec81282c880793ae42c7022214447bc597169ce42c4d524c29a8a8f938d001d1563318c5a35a830218bf27f02ceeaf8f9808c1015c82f158f0f66460b16e5db00e8cbb67da6d667ec9297c465da4cf56d67a8f1d18299abf6ab82abfb9a00c8aa61c847a7a39ed9e90748ba6d49d00ff1dda937f32db1df6c9b67589baefe6690a62ad7b102baafb5cd8aaf110463da2abe2e43c76780fe01c4bc9d2710f25ac143b40311182bb9cc505e12ed28472ed85577c8c482f2e6c750220765a8379474a8f57c8c97c4b140a1a1134f7a144a46d4d667f75a27e8c806a8d57589d4d3e51461bb4b68786a2a36401d9619de103446bd03106cd6b6a65ebd8ee0275f0831b5748eb048c78e41fff75f1d6afb1ba11775b7a0837ac871a705e600ec336156ed0d7dd494807ff3adf897e29b665ec0f1a2090376425cd2567599e55325d16e6bac9c4e9737904a8b3710056e10de061e3cf65035d86cde78f97c065bfa7b76d5a3b3460f962c45f3b0e5086d29843930786b4dd97dc387bdad9f484722ebbfc1478ba50c93f54b97078186f0179d695f283e78e8e255872ba4c3e6b50058756376b73de911db78a5fff07e392e8cff952a82b872c8521ec4735d7da556580d9a840d76b404abe6b412a31a64ba8873d2b1e43bd942583427da23cd84f372ec7259c5c77902016b7f353ead94f6aabe21276593142e86362f14ff429415502a8d887f9fe3286eb93fc2d80b51e98844f1400adf0bffd2fe98fb014253c9a99d9a6ac9ff98e5dc7a03a90a613b168d6f99921ee3b37744a6f6c9dc037c279e2b13c9ebdcfc6130c09d34b8a8791440f2a1ac9e750ee315c3fd349c82f11f7a21b096a23c7156e1bb35a4ea5ae81a5784b7863a691703bb38596d6900c758324c61b5b2472bce8f45e730d510b662dee692a87c1188de42d95e4941533a801d1e62c084c0083d3da8a3c01a2c011fca8fb1f04df7674389b7d9ebbb81e3448e2030a79e71a7af9125868e0395de7e5167a3eca23ac3a6e85b8d46aec9112a72329e0019e4738b555a01446286db7a1496224701e4a3e651138066843bfbbf96a02c7831d0a0d399e207fd9874367783debbf06e4603bbcdedc8a1ab3f4ebd47bda9f925bbbae26882be37be123d9bdb67a61ac68f2caa45f6b3a943dd14551293495f5a38c7e50980eac0a83ceb65aaf0680db07acf827df94699bc0e98737a0b5638a7f5b5912dfdd4194998210e951c8094e8cd75098c1e193b8bea605e027e7cb3df9c93ae9f1ed2fdbfaf12c370324011059af3c615186242b964e7a15bea359220988b93e07804b251813d92d51f5439281c12955b8925489efed08012100952b12aaf7b53837b876af8d521abd095ea97caa451d9d3e6f879a9de5ce743d0bd7e223b34524836e546bf398d3ea3a91681be528861154a01c84e389b2635787d65a92ba345f5ca39362a5397db1ef4650dcd3af30a26e2cf774076504001e3aaca668db7556cf22f669bb406755858e67abcd9e84b7395d0f68e163e00febbfe1fa8be78867c4889c7deb8dcade2a7085efea5b8d15171646498eb608f49772e4a9c314cb98b17ccbb21f6c83b0c3001d6788c0f548f59b30b691aa43941dfa662cb2a959dc02659ed656bae4e4776ac413787ee9d17324fa1ff1a645445170b745fda6e790f4732a8dbfe351a2de96ffedddd0e41352886101de19baa54e869e38111826271651257e2a7cdd2e4f4aa09d268407becae23d19e04afd769cecf822d5b5f8a7911f58f620faf0ab8c2a8ed22b109ef4c0f47ffbcdebda071c3beb09f053415789d7e68d0297c5ed9ec96f5fc96fc6ef3dfda1d43c118622ebdb2faccc490484ae03ac21083a54804326f46d117e812dd47fb1f9814e540a386b599fd5538c2ba99cee8241bc7dfe42a23b53a2382b8c35e1add84d610e816bd07bb2f9ade4b4209b5c8e557c337bb2c125acb789b68aefa77273d24cf7ca30b32e196aa43592c6ff77d595ed542012762090fd2d940b6326f5fbf9a5b4f02db56828222fe6fc22fee681fe84dfe26278d398b3611006cfaa295925fea39610810a89aaae074f1d14a4ac0365a64188104eb546d969034593006e88b05d1530e9d9c65b4f97c45d2cbcb3c6343d44fb7aa9cd74e7cc96232a982de11944e1cd14abb95b851c061196198c766a4ebcb8947e2df61a7805e2ca34257dec8dadba2343a81a94e7a8197a8c6972147eaa4caa35664a9c6e7ea1d40ea503892c26627917af9d3a42aaec2d88550e29cd3943ee1b4d2f7774e6e548c8d805280ad598286e8a489b23700f453769444ed956e24e481d60e56851331e9b09f10ebc02d26d10dd6105088487d93b82ae2a52ccc862e539de91197c37f3dd8a53863ab47391d3441db6d5f7b4fc5cda98a3265d955a21c2cb293c071bbf6b9eb25e66375b1391da4f96288b5ffb19ca662a89db81c3bcc8c628e9a2fd42c0c6c9f8da2e671c84731beee4adc805de9eadb1667519075b5d27fa719763e048a1a4083be0f4c2722b0d9318e9cce41494f6b7188dce0a4c9e294df8374394fe5a6fdd68f962130adc881824560fd48c594cb8b51ee88226d15ffa2e222e568f6669a329d9aa60d260b2c438e70d07c76f58cc96dea5fd78ecd6d05336ec69c6140a87398be84e08c6a60b2efb36989a2cad4c17b3fd4d6f22ea1f3aaf03d0200d98d83bb1b32d3484a51d13eff5713298d3a92c0cec16c10e8687098c0b848ba3454ffb52d706b1c2d252bbb8d68be8b6d33d9b945bc9913d9d8c20cce8c0bf5983abb0b913e8f092c270f326b52c7f270519a1c0310bb8fe17f255abce0756954a7817aef90170364d8b7f94539722464048d65ee8a26742a06d90edf3009d3272f09a26470f93fed6afc86c908165056eb8ed8744ca350513210e78ac165443f9e57efb46a8fb5d3a6b078b1eed2d0a90498293af6f3b847db823dd2a3012c90c20492ee52f142d92d47d2160fa2a1cf432dde3f6248d43a5f866d38f22e3c88eabfee5a1d677d20c9d24108496b7e44793250c39121bd25bca286b7fb191da6e076359b47674d5d4a9f84aad347113fe0730e9c48c5a52dff73169fb7ee5591e5c23980bc51e138a05a0e08e04cb9a4a30b6d5993177014168793adb4ab6e286cde6ac65cf4b811c48805d5819dcad113b9dd9ef899404b18802aa4e86b0d4c11e092b85531f44b6323365321d5f1c8469f80bcec82295e9a9c1983792c4f2cb717790012eb567e7bd08c9e42fde24d87dd57f13d96177c83d8891c3cf517df9686c5750e1ec3f83762edcb82103d4a6270b84dbf4eb334db90ca7f161625f3b0476f57ec8d71c710f9bdd7c901d512ab32d49b9ad08567115485189d701e2160da84b71d8d6215f894a1e01dc747f6b66ad4d0992bb9cbc825be9d373ddfdf13df6cce362fd2e5a2b93698bc42869aee094fb5db04020e05aa95671c9878639f5e656c0028dd4c40a272d3ba95af1bf3f75e33b173dcc1a757c8c7110c6c1489baae11efe747f986710b3f28ec6ff5d99d8da5667080a84252b40a54792146c44c36616003b82b3b14f95efa4a70643308968a82c0b0db22f69027622817248c7a6db0f82e358b101167fec9612002a6934335eb5d5d4babe718cf26a22a2c84131bc6d29cf9868791a27c7ec86303603e2464a376052a92401df90942e1e9e32da15b747b94ebe6eb93294d5bf643dea4c90546f493fab70c3164778765c9861ff95333c14b0909427cb84eef8bb46026797eae563bba887d0f10116a94570394606d84834c8d27690e55771adaf99776f48a36dc882399e5355eec19b3ca6b139ce8da2278d6af2ae6e2efb7a04b9b504d4cc6b31cd77eebfe463664d6f12c2618c8d0c2d7ea3a8621656cad0107bdf13c78a0d8400bb2ecc3ae240a00d9fd89b891e868753ae428c64664552494ecca34527e66ef0c25de5142c5ec92a6874c8328afbcf2d262a48143c61f8a9754582b6ee6b407756a286086f9e93b3f1da6459ad981132153638bf4e96c7248dbfc8fa94b96ab20f88664a0ac680adce050ec8c3670750f6731c7e151962883a51c129f584db6afff894e2cdb26d0b1f552874b146997f0015497670247b41607978882a7e12edb3d18cab4154c503a3c0dfabf68c1369a922cb8d7a8691fe2c9eab887bda6e94325e8e275c208aa25056e270ac3e499f7b954ca24043a0642743934fa5c193b9b170b422b3697d730a7885d5ac621aee8fcb4a6986188c4a53ab0f54d5f82bdf24892c0196b06f9ad712dce1ceaffca1804555c377fc78437d29959f3a2bdf628d1d048658bfcdb68d61f1a76a6b3b606a6a17cca570fbd12107ca510853a13ea9d32a91423dde44f8ef1018a57c6a28a516c7cebed14da441f8aaa85749f947cc39234ea0fe704d386ff7b30e30189ff1bfec7bf5d3183f7fe9382fb62570f880ac4c65ed56f5634d31d79485c755914af5c8f7a3f792e81a8c0ec91d4d62cd013502dd899d1782e29a7bab34a6aaf5e202ec451dd5142cfd6c2779f24d8e49ce8098b0337c9531a23b56d3b7dc2d00f8d0203cbd0e90e070d1efb9833b3f3d952d294d93698ca2c710f59ceecd69ad560fbf7440ac37273cafd56197d55bce59c19b249ae7385b5b3c54375cc10678667d28a931c89cac4a24f931279a6e17987abc9762a89d4385fcf4ab0a95dfd3a695baf165564117ce9557987a93c097d0400b489d1f93b3a304ee1272d7b77b3d2c812dfc7e453bc39ac2c6848489a8c1bc3e3cc19b70ceb2af318c9d9c75c7b28f1da1822bbac849dbcaabfbabfd9303d3741347d9da3492ea50a9548b35790c9046bbaebc3246f2ea3e650aa988ef304ecc0e6669de75e8cc975a3d95c5fbf4302fd41445e73f513fd2c8c474822a826da81c51813e8ca5a7efa360d3dcc49d4abba01551ad5be053d6e90806fcc0cecea1d978043a2354b688014ccf46f8e0944f5a7c0c355661440ed3d677df443f32d023bb4114034bd3b0e898b94341d04127e1b33de4a9ffb1e03b1745904a176ff6d9f99f8850e1d9532edb09a4e855f852b2aca6c7b3119848a81256201cb782f78e7ace2a4760e3c13cdc330165c676c7b050fdfd99c42fea69dae42ccac610a68f4a462073e1ddb89970f107d8116177931c17f413fa500ea1970366b04fd54e840605d54ae3dad8e14b52c33c98650677f87beaeb9a7874aaca9d2b892e1ad39c26e733506f68b4dcdab41642d44a41f3ef2a189f18c7344d48b6d4ac21cc3db2a9818e600707f7124006125e4b8a986547db8d8ed86aed2977a94000b4406ab14216e816708b3f3b7e165663b3e9d3b8c8ec81eab44cc52280bfa41c3d6d6568bbda78ec5edc7e811e446ae11be8400190ee5001ae67c97e01949b6e44e4f07e2f6c47d2d405213c75e65fb85ee4b5b6c520cc038005a86e727ba4f6666fa79c527f9b744cbe6151b9bb70846dc3a63e93804f2615369d0c38649ee574b881e0532921124499632905a8123faeadec0b5c25d0420c1d94371ea9c464964a73c71804ee3fa9dfdee2340a9cf99f67dbdc18a7ddf9a1f6cf1c34447ce5af7f9daba774b3f6df9379eddeb413943e95d17f9ab4f862bbfb0556be34260898a6aaa025ab0e7555fa513fbb68e1bd802c5de74e2e4dbe4f47b8c051e180a9ed401c4bab6bb415811ff874a89fc5511f25f54a7109fcf413ebb3f6b40e5c3312cc8cda335ed6d2e599bec6f43fb88642d82157a3fb47cb06d3b5a1056dbdb104b494549a7f5320eba8758cd1a2d6075d1f34a37a9dab28359ed95960884a7f28420712b30afba382265cef365a3253622df3b43e353580c3898ae7b2e83f28b3857061ebe2d35a7340fd6338474f194ab9428d87ceb6f2341e98c7d7dbea12bc2931fca06d6ad71ec35ed9dd94e4747f4962dd5409d59727da35812631e9b04084bccc6039c5b4eac1301be97299e90f9fafb4ce0052339e97c5a9020c8233a4926ffae271cfee95903d898dc9d4188c786353c3edaf7488003760d88bca07b5421d06bc5af5efa0f3c9582fb3c0ff289ccc3b00f23ec19ecf4389b3c2c31190f27b5cd5e0ee115cf01cc6a45bcbb8978f50fe3bf7258371f707b4d1456dc201fe66d93fb97539f61c52433d9aa99b8c497c58f15f2d79b1b9a1d05d8cf9987052f4d060fbcefd96bbb99dc33868e7e2fc21c39c9d8e1c71886d7fd223bca8b850d8c2160ae947e8f82c84288e2107a2e1809a19c3fcdd2f9151128123b06d4913ae7daa03ba39b520b25cc181eb057022f6459084a09d49cc7b00a61cc5d015f8260846b4004777f77381ff86428226258a15e602cda46e6f3c5608a5ee338a4bf17765c4992e43bb10b6de80cc233fa7e9e8028648117d3d76f76c84af750990154a13ecabeae907aefcf3515efd214c42cc4f590a9078b46783be406e5b73183c100795301358a3c1734e43be0ba943be38487dc3d1c6974f17045c98f9630b250a8cdb885e40a109a56d2111a48176fa4d33244f2d2343b6741b40af71d7eb42f6462035dacc42e1e560dfe8cf8dd2e1dfe9d61cb539b8676752ea2eb669dde77bddb912a77c5ec7e87294fc9c1673fcc2f6f3b943fec1fed4e7a2dd7fa65bfb8767f16e88f518a35a8558483a3df64d8d2984894ec280a5f0001aa0155b88e00e54562e8b622c95aca6c51136c02cc3a109d0f8c3434e96aaecfa098807052f5d7fda85d6ac53c001713530eceac2d907051ca38bdb802353fb9b7b3f0ab86ca4f8b40ed61aac027ea84e8e7ec28b2bbee2e43b97f37f881903a72368537d525197f89e31e656e5d613f3eee3c1d612428858a9cf6a507807304937e1e65419de68768f5d82f3aadadb3abacb7aa9b84f44e56c573fe45c73fd604f5ace7c2cbcdf4cb89c461c76c61d915a6a1ac1922b0de8464921471175924d77fa7afa93050c5ff639513621d7d92b5d87cfed9cf84a54a018098a5f1e5ba81415489afd43a800407ce2acd4061f7647567356916226cbdc1e1bcc7dccebcdce9622f7d14d67d87a7b686b4e8245c241ab24616bd2d8be4f7dbedf3e979a3dd892a39fe955bce7fb9b0b3c2dbb01a59be63a354fa0982ca22d255d7a37228002e0c048314aa25e125794784b2edd5f722088120ec854ca0c2421c658197798040f738fd59c50b3d3e85e814d0077c270dd978a014e9ee32d062478c87f389e20aee4492aeca8ce1446bc9222204bd37c0d28e224bfd7aeb92ee4e241370f71e58b04a1e83530159865ec8586a291438991dba4f3501115f4990f60e435a004638b412eff00ad8aaac8d11992c47945d0e87228e781292b82461065949c2956355451445d0902c7e0ec02a93f3e77da10c2043e6d31efca29a03b5e825534668c94d776a2e304ef63c44b0b9a3a78804cb57baabe585b160a274835dac921f91ea284fddef0d39335c669cf80bc176deb02fc075ff39984d2e12eb8c9e5ed535eba34f9d7dd3866df6b33d7eab9385f2a599829c18573c4f5449ed79b27a9c40212b5408641cab6f9b3e13d10c1e63060f8cdf39e9d364125ab8bf5d5f792a854c754f038f2740fa1066017240487a8431681b658c60131850a836bec84f5972cfaff21413d9b92e45513579fd24396c53e4d34df7ce3ea42d9865e9287a499e6eb7487858965ff662fb7bcd8b82ae5fc14d07b2a4f838921291fa53472c2ebc509459e82287bc2e3b855c3bf67ecb4b5ce8ade236c25d9b7c72344c1a2206b0b35c21e5e8edcb16acab2d9e7b192311dea79e8e6af834e0594845338043b71deb1653d566f1a8eaf4d3cbd813430d6d0ff5adc7c323c3f7b7d28fb9eb4101bf1c178fcac382a0c659ff600298f4cca3a264fee05e9aa23638f4a84cbdc2734ca6ba789ac61af32c3a49bd25439a183f39c1db07ffeb03fd842a291ebb821ea2fa2d7b28f8387d74679524e8c24078a7475739b12f2703484820092fe8cff1d7d4dc82a5264ac2f231dbd63817257433f36c37f44920c3152f181a04035217e19930d2320c70609ecd6d7c5dd6b8bab18e5f733e118999aba077d9391366b2276c7080935aae7aa3b45670eb49af625e2ea476f6a97a2bbde361378e38bc91dcbc2d71cd0c881c444a07c75881551d9ba796bb6cab81ad9f5dd503f3d5a4f0002200f7683251451f34138ac5ba38f649245cce00408ffd6c876e5f2806d53adca810088b9df16cd3a568d8abb0fe880ace22b9afef4eb6a1ebd35eb26233d2e86d057f7dbca75d329b3c45df241e1578cea09032f4ba9c428111210cec2a519c83a3488ed4b6ead7c74d64e7a06b54c17b93d3b2702a661a3d36eb0d94e8a902ab1aade4b429e7b3114dcf7389c5d012e389ad25fb00ebf589d4a79110f0a41badf0cbbffbc08b0197a47123a3b93b9790d2d17d8d484055c35674a4d589d768f55de4ea187ffcd63ce49881f3274124d515bb8732e30d47adaeaf8bdabc01ea707d52e4986bb9fb830befa41b37e62d0030fe6934bc380287ab4d2ef7d407b745326767d21d3b5beb129d4b8b58b21c0f54a03522e9de2ec33dee525c2f258be64f9548c742ba3c976310889b4bd9d813dfa7bd9bbdb9be63e84c6011a07e0c3a45d7b025438f30470a5586cb61ea89b89d66e891cb6f9b92c7220fafe18b0dd1403cf8979324a3b2500ece71ef8891437e66057f61832421809db28ecae3b0b48b093204c38fc58fc394c6e22895cc94fa9ebcd75584ebdb92888fec8ce86c69f96e31c9b834f3e11206ed0823f4c1b6ba3df82fd6d432102368a0f0ad2c00500d8e8866de1f2e700011a6a093c022e66f2bb3539366d78205e0e84dbee701fd86a88cc449097fcbc3ed2d1426d649f4a7c7438f51844d7f2f5866a37add12eec104aa3468a4f3e1f3b360dda9709c92b51cfff3bd8cf9754d9a9255f0fcc0a0603383b871f2a3fda506e7484417ab70918c7bea03c3a6f5d51cc4d811c99d61d69da6b1c717552f34d20a6603252f29dd68e67c0061af42143699b2ad99d072017ca7ba394e385e28c72590000260936150d21540c3d863c8449437c14922e2fab4cd5b1c06a0df36d5bce6de39fa28ad5924497a47665d507dee673eb0d9f338c210cec9d7fae886b04ce0d3bd11c5481bd6554802553017258f921f60350751689a87bc29a86beac721255608f1e3e77a140cf3190002271338fc6e2833ea69252eee6cfc6122aebac321a84e6cc916fc13061e3534c902a3e147186cc3c84e70d8e8b36e2843415262444bed6d366214a3101e858e2818cb7de80b2ebd2cca0c8edcb32ca959bfb5223aa2a3498ba880af791c3a4c42e3654538934f887cdbde8c358d7c0e127180306c2f18a2b5341448a862af7eb46321abbb743a26ae241fdd5062e643bc66f84549cc8ae21acd1621421e2dc1e18b61193aa2249c15d5638dcfd62595d6d50550be0d57d97f6b78572e238f15c4b3157970bde63316cbac2c2115112e9373d8e092862af6657d413c2ed9938bb35633afa8aecca9969f76379b2ee50a75d1c96da1d41828f8c640cde808a61a1b4c76800f8ac4f8034b1a7006532a270716a303038c2ae631c29d26d49390c7ef4162febd6d9086f463d8ea9014e644d41bdb671dcfc427a248fb286dba9cb4b13918d5408f4ac1b09e94edc62b1aebba31f4a4b44e81269bb127450f091525d737e20abc161e1044128ed485c0c3954392057fbe94ef0dfba5d11c7ba0f7e926e762c02c98962ee954ce2e0088f467c11dd7edcbd3640ac8a173ab28861d9e59d08166fef25cf650203231e934ee4d030c09365aced0c99012ae3b38fdeca550564afd3c595b4614c4f411d13f9bd0173167aaf7e8f49886e7f8f2594c024ae5cf4bda76fda9a0b45f533840f7972172fb55cba9dc32f4733e175dc39e708b3528f9bce87920491d03bc501b62acd312ab50ef5579c1238987a9b6c72d07ac1cf5eeb62b966929cd850a287a4cf74e0a789933fbc140c7bafbe41ecc50d831a434ff8b263c98e219e0d0c3bed19ab00ab4c8cd000ce3605d787b219a2846816d4ba36cf3691a6b2b06ac6480b83fd2f71087b6cf18c51074cdc54a169282951bd10d5a5623bfb78191c1408a1177aa65ae83febf3270c66bb116f94e39e8f1d0101716d4d6a4e781027e04a00b9c9692a98b56fc5d666a58fc19e73053617fea18255e90c42d49c09ba9d63a54006e5a54edfb5cf1a8eddd652c85a2bc1d3b05eed79f42ab27409a13e37b9cb9adcb7fe91be87fdca06745fddc6710c84b64ffb780a79dd5d9da2a7fae169a5c36788c946d9f3ac6f5061e6546147504f5ecf2db019f2da11e2c78ca2ca374d9c5b73b67470d3e1f3db37647a0df429007957188d7e49320aa1b5282c1d6822164240349b3554e452935bc61f858c32e413190450f7313bac0692d2402e2a6acfb6799bdfe999a04cc20d68f7111b9a484fe05b2e77689919d5f7c9a2a20da04f72c5589c58cb6b0af57afc54e6391bbd67e352d6a70c37977d27b18acb425de9d6fbe2bcc4674f114b1b35aaeaa54170052d1b950505d9361f07afe471a5760edf3070d478c7322a3e23cb6d957212320757a5d3ddf7fa6c9f8b5c25b352c2bf3d58eb22eb0714223c86c20bfd969e713442c6c41f6704dceab8d675d3eb9f9ece4348d28170f017d224c15a903efd9dae6d06d2c94e15452cb3d81356756fdce6d85a93607e950a7bf5ad4c8ee12b6b2a1b6b6b93bc57a543d99659d8898230f628c7ffc539581a6b0b62a050d32f10b37ff5d77ded7e610417de825535a8fdc6d356cd2bec62e827d53a2408e25f15812ba8696244e23900d52c0bf1201856ded6cca53244d864f52e25e4e6b1fb45dd5c2595e75dde09a7e0f2003640a401f5be543f70cb63ff16ed777b1acaf27b388a3863f1df0c0d6553c2d6905e9c74ffe100e7a81a6aeeaa3f4ae0be7b5e5dd4324fa20b147a41c50b2a87338dff61cfbd5c24c4128195a1b00cd408b1930d9055e77d7a85de6ad297f4cb300611802804e3276ea828d18c462dbfd5ec61de529d9f21e02ecbee833a15936b7eab88cc8624fa5862620d81ee603c47d7e05884dd2cefc459c49886903a2cf2b670a3f32b0d5282eaadb1c31eea46f20ffe931ac947b0d32c5c8b9db084b4e0c08b7984fe54811b7735f61649b82bce40769cf12efc7803798b22dfa52754318b3f07c42e82587c4afb3f5877302d976d55bb281ac77a7e73f7ae3fd21e627d76bb473102a2f5e7a785a4b9081cde111f31d73a39adf74a6b901cc74f347af6d7066afe6bcc9f851814694e3eaf8801cf1e2c8435d99047110b50de5ef35313b07aab464b67aac0cb6369b000a7a672689f46807bd6cf468c464034871fccb00a7b28995d0603b1ba04d4624e6de5932e19748fec4d275193d0af13c31160461027a9a5587e9e851fe8f09b250e11017f4196386f829154b76e31e0e1e0d0d63ebfaa1cbab9c11c0400d89aca60e6a2feb6929bda566dbd320394e2b92bbf5a06bcbe5d2758a903ce026f433ab975c5a3b4e458a391e174ece88f2b8a58a295a70b265f53f681e180a3578ad38c383a929643814686fec1176145f17d5ccaeb05cc7d00d24ebe9933f4c097f7c543b6e3ef65852a73892d87f6a1c5253eb055af252c998999088d98aecc38f32d2efb5599bb3e894b96fa1e7bc47ecc811b0b157987c03068b5a044a20deec8d9e1e082c1187cc1860b45b9f0dbe4a555e46f4797ad7bb1d771a4a4c91e843d2423bb2c9d0ed7a95cc1e0fef41f7489b31adccee30109fff883ddba1ecd628a12b5d758c6bfbdb11316a83f1c32c938a1b28e616f750d816f31b6eb9dea7606a75c2c0c0a593ca48598c90f713434082d8f1c72f782d0be813aaa5f36a638e50550965f40d05024225049806e97857da23887b5ea486960efeec7aaaa5a5f71fcfe477d13b884b5e3ebecb3427f9161d6f159cdf8c11a1d4a150a69b3247de44df273c205d473ccc26307e8d724747414f3d33f3b4a65d069d951bef253d5b25e66c4ffb2a368b9fd8f4fc4322db3c3bf203be3b6527e349895102d3ac705d16f6f8969c4bc8e32adea79c8078705ba276afcafea6889023699ea301141a031722aac820a66d02002f435ded109e8c79bb6067486ffc3de832230177bee2ea6af3a8a67b63cc1b5574ed02f1a06903c05cf36d624f026e2d7fd6b0d04fefef877c51a54d48ad102b2ee3f797ac4d94921cfa366b5aff86511d431dfce3ba4c5f7d7d9e71f2bd8fe5a506196dd49fdf600110b3c65786cdbf1aeac87468e8d4471996091f71843d17bb4003e1f43cebeba4673db3e7712e7c1191d66e2a7bdd30d4f50ff913f7ba9c1039d7fff0681c28348d2349ee0984db25cbe96775709a64ab4a2f67b459b5da7b6ba5c4a3d1b57a58c13a6a1d9ed4b8b6861a973accb4046d5d25ea8ad92a077e032b02bd4eddbc1a610448172a8d91de7d42aa86d39a8340b4cbf15d036abc1820a9ab244a8a3fbbac3d0681a1d75349917e5586bd5e60f7240241fea5566a5838514583812cc68af04052e43641aeb9ab42a81f47ae91f494862abc8ba9baaf6e089ccd9015583804610902e62a680dbce6c661e512a3869e52108717d40ca6199022b32cbd288ac54ac34fec56ca09d58cb50bcd12212a8cba5778e006bb69c69b1f2bd1b491420fc37ad4e13f04d806a48f24059766fa413512c2801e4bbda3ead328211a40248a7d8581c7ea2726e07cd93670b34016d8bc8e41aadd5f46756cebdf637ad61ee620be3503092f7b95c49293bf038ab3798d42ce8c7cc42fc150478ca565a4d3b531e915b6a18a15e275cdac486df28dfe6503c865f479efa4a6fd4f732a4da47055c60aec68607738cd73605c63a7c9ee478b251756c0de775848658a45925909f87f2681c83232d6ac0fbb28992b18f0272e5e817930d0059f1fea98620e4be86a78619e9688860bfd6551f1990e2ca57df27b4967b50f72cb4d62aeae257181da81ae1b82d4bd1ac09e7cf231db830cc667dbd5d810db5e26d5ea02860202710bcb2c090b4e071531751dedab78e207b0ad8fe31699b2e1e38f9ef3357243b923248f36902b83196b1d178e3305611268a4272bf2309d21dc0cac88f335bf2931588893390aaa1116d30a0d3ba30a3599ee8ae3253c04ea57cc11c3270959909aad5a02e388cf8dd607418a5798072f0b075eb8d75e1a8aeb03e81e72b22c9cff3c2b9ef01eeaae394689c2e09424f8ead9de27765c687388e06740610710af03aee2642bb50e2ab9a5dece86c47a5d9ad716b1cfcb7bfc305677460610fcbfe8f592275fdbf66da6e04a332c321736f1ea83d22bcad29567fd7aca48c30af4b1b708500af53a17a03c7681243582e2b46d916e90b161aaf1a1e0a8baa57a2f0411440a697856b94379f720860ce6d99a9e8ebba9431b2da15d7f9c12dd509b225b24084f4018e50eb341ea6ed61e5d1780cfc4af0d62af4c339a6c3d8a85e183bba0922aa8c5867fff321372e40f8a2e178a99e2fd49c0c2cec6558736f3ac10b8dc6d64cc6b65522e3ae2898328cc7f56ab53ccb3e1d7fe16d5140225696a63ec7fda274a4a38dd6f8faae421decb1fb74adff9651dcd271e474ef4bf4eeee593084ec2a186a39d9da4a96a72e36941d92103e781ac33e77d7d018fd02e7ced978c91e10002a514e2ce1c2b59480787fa0246d447e5137284a4ad33b7c90216657314540556a883c313299b2ef93887e0db4bc3f9f733ac416faa92dd8c349438f560983b1f05bedbfedc26f151081b9e7b81a1920f551e51d555ee6f3cf36c10cccf51e8e140b74b14b8f77fb50ebc0a19500e769a62e016afc8a0f68bb542f846e61b5f0b1c637625d549103e5a1c8ca26880b88eb9650bbebc03e83f0d925d3af942cf673799605f847a8e08f47e7b16bf61fe89e5d5ea8c7fbe723ac6b0f20c29bb0a96d2b3f4090b25a1d541d4947f9f3fb6685ce0c26ebdcc1c11273c4e3ad325f49ab35a088fea19ff3f6b990fcd612eb3a38a223f5840fd6e230b462f90ec35ad69fa1d2352e548d65d3b34a5e49bc67e44a3db011f53bd3d1d2dccccd93acede674386442296c9900640cacf2b716197d81f8a259f25cfc55f0731a3a83b63b3406f0d5ee2937206b590dd5e82ccae20de5b5a58349da67b5bc7cea7928e247ff08a83a1293a1830df18173ba6de659d89772d98d5c641f5d79abc221a9d82e18c68ccbbd7c52afcd265cdf17df05d122dacdf9f22fbeef728d152a4419c5d2be0d891f9fdf3f2c02f03a09c6067e569bc0842bb2368075f5fc4b6a73e0652d8a7b7d0b925c68449f19ed2835a9a4cb010db0d0271b566403c05e7fe8082b75b7490ebaeecae1d352e15aa658382f6a45e3077dfd3e616edb030c2263e3c8120eb8b2806ee72292f5018e458d0226b41d42326dc2f188b7f5124f7845080e11b640035a90590eee51fd02e209156308cc1598b8b43d5b22206e76386dbc611e892bfb0693b2b70382e15721c65d7a8e151ab98548eb3e64cbe0d086e7fd86f467dd7733687b93d22dcea93b6c84be69055648910ee230666726bd885c22b24ace782e266cebad10c153661bdd38dfa1abd631774ea112fa22d1c5e78d9cc88cbc34361e89a7515465e8f1836d33bc4aeac0161df1caece74a90356c7377808b4fc2a3f3c2b020c5076d22b77667c09d23ec6ef5b38c969449f54898647d35f31e3ed9227a235f8483b66c272399b8dc639d35612a490d7e09fb3438e0ccb55529b54f11c7474bd515047f54958590ef902a9ac7cfc8c8c8bb93e4aba3f3c4054b67c74d4b5a902ec75a954d6eaa82637a7fec2535adb1f3078d9e7a729ef27647797897cf64fbfc33435236d23fed878810e4a4087ab0e5fbcf69c3ada3f545984a6b6823d0d4a081c692c15eba6d00124cb8cd9e69c5ba187ccef07f3ca1a68988441997f78715e1884f44c1676f5329039b6e9c1943e2fbcd798a09055c5bbbe6aeb5c288e9a31a1347c6574c33a73bd9a07160bfe18c7c97852f6fdac6385582d1e66539069f3d546501f593ef7af05e4a86621c225ffb07a4760d1ef9ed9d282432b1de89bf6d60837caa9b0787c06406a7891f794a7c96389875674aba43d17dbec9edb9aa939b5fd55ee3e56b16ad1886a8a31a3f7a1a7c06fd8eaba25eab90d53229b1a819f0bd5013f24c1a68f7a20520d87b37a5b69d8f225d43743d27b6f364ca262576f85f0ee571f9c088d020c7a4978e121bff8900a2ce34c15b48cfa0144e58325b85f364fd93093f5ca61b0ae78c35b2206d22d1bb3290d848509c922f7ab500c328ec7d147e741a008dde139d233a522a08a3dc1b91bca16a2adfa24c7bb58ef5b86add0f524b38d2aa24ae065c75dfb2a73afdf3eae0e5cdfeecc2f759c64fa700c03a294abb7fb075894952b52f9552b6eae64efd554f68f69fa8b7cb5ac1dfc86410c17cd049175d804eefe9e9a45808d12301525c80e918b69b1326e238d2a793435c383910b9711b6d5f6d0b57024f05ca534bad65923ee8a59263ac9f7c48c0a7b37c4a9d869383083ff8741a8bcffbeb7b5dc55c202089e34773b450f8429fce191476e63ff47742514b434555f8d8c5c6fa8d8a8b2384a83ac70112f39ab895f8d379f2dc2077d308fc189114a035db97b573d643d7a27708a47ab921aac36fd043472a06117168f2f7524b2a1c08941d6738f05f5e93dd05df805ddd2c5077198c2d9fc3501543a9f53bbd2a900afc90b28173eba000c84d9629b1604e7f11215d23e6e33771bba6c44758aa602fb9a6897e38c525071817a523d18d0784a0c9376af1190dfc76fc43472e1d201ca0f064b195a7284c6b60993f32231ea78ed8029f1ca3c68b2e82549b1f244672c8ec3804f9f1f8c1879b8dadbb2c07f3ac24730b1fd62a2ffdd8f23e752423f5c850628facb3e9bcaf1f3f7414ea8ec6d8cf61e2c688fdbe89ac0a89c8e16b45ffbf273005f7ef88db4270eefd2063e0a22d351730e278f87abff69192a2300bb690175cfe2808269507fe6e0f345f355cf527428d59b0b5bd82a82c062511db9230c65a1a07d629437a9ae4ede389d9a0456a1dbba8c075617122f655e5ff6d0f48f7ade7630fed46d8517f4267674ceb9ec1b877b1ed6ed376cceb5710878e2d4d61ff36bf6e2d7806b53609c9d689b1d5cebcb086fad1685dd8dbdbe210f1f032f868b3d42531354d0a604b73c1e3f847e6fc38df2f4c8a03dade612f9eb0eba454fa2c410536139b39d999dedb87a1b21869c9b22965c390a0eb4d5098a1e74dc79c55ec7f408391641472faa0e7ffda3b830309127d7aeee0d0ac6ca073cd5be1438158e92ba3d6a1359a8cf42481d486c3a860fa7e014e5c25055342e51ab69408f722c13017bb686faa129ba6dd613b158db186ed99032c5fc5f95c6581862ea2c4493653a82af5d4add79c8ea5a905739991fc441538411a739704498b2070249f9e688d785404b202decd7bdd444166d23664b79d623ae2a1d34bfc9f7121545647849af095c9b764496812453e41cc439b9cce304e7c9ac4d354779ed779e783f31d1f997c74e44c2ffe9bd9c1718cd4cdc931c4abd600976644cfc84c4468014051cee7b4064d9e13b2096f6bcc74b66522c77df3a67f8c91edcaa88b03443afb789657b486c0494b5a306f55eba99d9eeead1e72575b62a37703822d7af1baf28f4d72de07850e4e0a2bad54bc8514f7d1c930b87f83d27d35e0fe9103f790c6b890a4ca936a9c1bc8e4634cdc3836190e6a06d945b39eb83809dc00a36d943705e56e6b44044ca2d8bf1359aa73ff5109935b2c09a411ab8a96d54547506dcc67c8c4469af9a4cac1110083a6244803407fd38de4d7ea8c0582220fd28d36b93449eee3ef258a1187861acc4da3ea07e3e9924d14b2e81472b22f197aaded45cf27e89cc38bf11ec239b4893a95ea3cfc41f9896758f654a4697caa1c25babf7ed8a32620fbcab1e54eaff2287176643c6d874301e1feed8aab4c71ad6f13d2afa6722a0c05411ecc826a9be93b3aa9305b09c63ee1c99055e2458eb0f73e7e0cfc67383490033e1dad42fbe60690726c16623b7655a86a8c1c89e8e335c9673c4bb9055809423507c595be39944d2892f44b01c651c1d9bfb9959aef12728945a58ca6e5fa032d6f817c5da9ea84c8263c98227f0db99762ebeeb52777730823ed85b3ab4ae143e9ea448fc3379d2779227ba14bf08453084f3a30ace9ddf60283067d606ce8dcd36fe9e00613c2eb9502c3d122c192deab070cb1da1622b6e7da5e3f9b29144f457f8e1743bf7bdaf84c24bbcd649df31e8471ff9d7cddabb57c0cbf220a050eb1044bcc2c05faeec3afeb72f7b4a35f6ccf0e9b55ec286e2e4085e0d15c9036dbeb09d5ac742d8baf23009f57ee1656ff0c0909a2a3075e982fb94ac0ad1d6fdb9b348f01c7fc60e943b9d0052a8c13a456984f00739e2de12e365ef8a289d3c7b9c82740641628707a0dfb032e2a7f8a2ba22cb2a90df5b0fcf05e3a0d44a8700e800f555e03ae3618d78edd44ed61f47cf6272ef3a4d628bb152824f2e71196162a76de14db63b5e127b24e079bead4b6af82f34596737e7ce388c28ce6e4dbacb870760dfac21045f5b18370494d9dbc07d30b8a6d043dbc03a69ef2642c353da5ba899d0068b5dd67019dfaeee20271708d8892aa3183297737f3e6830d088f3b0686b106436fa7543fe974bf010c3ac5eb8dc0af1d753d308279afadf1afd816896b25341ccc9364eb4444b703ee6ce3f7d78d4c26f7126ec22d72e706bb74d35e8d3ddfb0d16b6a12f216e2f0ebf55d3cbab7b89b16d0d9d64a8030de0f0c58ee65c6701270d18deebbe0f0a29dcba50240b008449e5b6ac87ccd779686f7aff38360d8483d28e9524654704b3d38d719801dae6a380b559b1d46dc78078900177f4718bd52d7081d0ca05cfb573cb4f38f9c85ccafde26797ad39dbbea6c80cc47cb5986122ab57742855823e1ff15b190a5f175b172e7e13c714050a02f540b3f6b80c2725ca70d5aec26494e7aad02b7a7f444515c3b960cd994a716ceeeeacb888f99f20ffcbdb47d23ee9e7f5a45f8eded49dc0a9a689f9936664eefa1a108155d79ec747157b9099dc1da418dd7b669f63848d4adb487f2d2974fe681c85c148903e0d21a45f796214ca268cfbc2ea17fe3f400b09e716a1abbd9be1755c9870aa5546af1e9d9ed74ed84b214daa6ad908ebe8ad44c2f00b72d2603d6fb615312fde747b7b6b87aad8e44e87f63a139b4dd1da5128febf37449856db256682fd72e2de1c8601a5705b7cd4c42bfd928cbf7a8f7f392e8744c577f0fb04e25024520781e80062e0932363ccfc57e74c05c6ba8fb8e16f2a428ea44fa5840e8b17ed85a996d499b692e86c20de5fd794aabeea3761fd50c21cc2e8cd7ce94e105b38c0c79e1a14fdc5c24693ea902941e03eb1ccb822eeaa64845e849338862411ba66d12a7a6f8a5780e55f39d2ac459456a583bf89f5dbfcaba17eef910b34e2509dd780e95586abd13ccc2055ebbd0602cebc0a6818d878306ae9ab97e70a16d8225c1cf68b354f9b0ce6a5f15ce6a79e12e2b5ff5d97c90c8491805bdc7a37467de483d44cdb15d61d474b63c62a038396d9bc6898425b5ae2054c62c71facc356888b580d3be3e74dd18e36d529730430baad19b5e25f46c08871a25464720ec01e2e626291b9232d1e4c062a7c62de604444f643c6cada0fe98ce3e8c0d4e650394c29da908dbcbd8159810642f47bdcb23948faf3728b97ed5e87ac76ae93f391dd4b37a145a5fbce3e4432faf021d0495bc5f9b55e00695147d076912d13379ffaaf8a2890cc408510a641ec33f88a6659854dcc22323bc7059e23c69795932d4c16096735fab75ec0a78d4213910c49661ab49278f835015c7174863d4e86efa677e21ae5137887a452369c1e074d10691b16341789fa405066ca8ac2adf53c9882efc3dc8fde74d6fad7a1d53b05d31a9628d39bf15fcaa81bb8b1a8e0e4801d605ff1e106b9395ffc429874e0357182b91bd88cdc0cc351e174436b015998b10792fcc398c20a53742806e12a2cfc2a27a73f5b6772df3168283ae8c52f811de1e6fbf3e1987f73ff161c10917957a37cb7883cc72af41e1b96b1696556e1cf687858cfea5a4a7f896e5303055206981036285e72dde47ab0a07e11b3f446843b5d24e14c1c3cc1c6d4b3c6ff14a6593870c1074b125dc74c2b521cb3975737c109c8444c209588af9c78450106bd482908d1429fbe82397c5ad12f362e2fd881ce347aa0e3efde5132361777e5f6ccc1628158ae9edcc9e18057473f462a468c21ae2315e950a1d38f18b14862488996b9b2da7237bb62ec7f5c8214a84ff084cbc3f9bd6d747df0a3a64f2130023fb5bba5c276dbf14035a006a5b49eb15e26efe8877421bf2aaa053a702742d5136233bcb2e13460d750cd3e2d3b6b646f329d26b63e71422d04389e56eabda8d0cd147f370eaf5d895bcbd2c36d5868dcc005076a714324a21a8a1c369c3963edd89dcf77cf5e5cca92169870d207d8aef850bfe267b92e73b04de0e03eb21daf9614087e35162d74182f88f0eed4341205a99fde41e03f960eb7abcc2bcd936942004868c054ee64651fa2cac20fd6ab06d78de41d2ce186b36c14ee696f7536ce16f9ece0ddf05cb54a37cceead931d08e00d842534d410b3695e024f1bec4eab3745591a57147fe2b384c9ab95f74335f37dcc8a0b9d6e4ffa9ba6503416a329798c27a804125e99dbbaea7d5e738d50be3605d027c5b1fd26a1400d8290f11bab520c38f65766f50a143e3e0ef1c49fc613ed08fa00a934db0b6a80e7d1e7e0c83dcd75a6c703049476305839fd0feab6d96dd050ca7bfe996f40b03fa7aee80f347cf40ba4889004053b94efe2fbcccb9980f17c0c38dadf43878e5493d175f7ae44320c0d042d9265e8546e53700b76e30db81029af681c932cecdb931b7737b6ececd44254004ea462cd6f450dac32aa63132e21a7ba3a0e1f0db479d4fdf82cacae447113ef9d48b446dfedfda3463810b22d2fcb0a7fc21bdecc382bc629f5d817cc25f71d32f12709e8e247c3ebda2edb16eae668234c22c1df988813ffc0a1865430f1b12776cbe66c4e0ce2d183c76352f69b24b52fa0b397c93eef3deed637b4759789c20270cfbb387c1ce34397e76f536a32396040802e516c3886736ffe3ff115f0f74cc3b0ac8a60139c6a6e6c5795f8a7ac11b2ca5cbd7abc6748dd5d5df980a9977c899f1c3b1cabd38f2b51b715ad43add78596da86aebbaf130b0f3da5dfddf465736edb795355fc5701c10ea295cd8ed33974a03749dce1ad836d4a43430dd765c6b67c03e33e289a3fcf5712cc9f982135567d4575e00f2abb2651902a81cfc514d30609b8b23cba51c1a2e559c01c58b90d3eb7e1b19b84d2f6380fe30e2d678b6f4feeb843972621201de4382c49ec4847341c6c6466cd03864dbad121e0d20063d286e900dc55d380db7a03a638f9b71108f510a946445d144300f85fc6bcf84dd9513f1e4f962a9cb15fe47be35d78e1b4606fcb213ce7e943b9def9941991b3084f6bbf7a18f1cf9e444e2d955884116f132047098bcb68323705f1edd260a9c2220f6966911c7444117995ae3f0f63328f71df9fb644400c8ff5995a205613ecfb035a4ae4d7481f45beab6772951233a74d59d554590f04d81d97baac578b64e7178f4df38c9702010ad4407226f07970a7911732f40592abd8b1891138a53b12e62d4368f89793717d1c6ac1e81633b3495ebacacbfb1550c9d3eebfcf97231f0a3b268ed0ba2d5fb33f7394a7a514ff5840a5612b22cb1572e25d70fb577c0d733837bc653b41fbf16b5d331332298432478c90ea807fea2811bfd759dc20724fd10ac1eff6e72328ad239bf537f41e81e18f7e610a8570be5833a949aff1d186273ff4156fddae8d8faa31b85a59bd6b5fd2a336633e909acfbf5655f66d28293bb524ebccd77330b94be9c2ded3e51b4ddd07bbb50ed7417cf255659b3c4b675ce8bf344616b61dc32011aef0042193b2c2fcc0e97cbc5245f901433d5a3b36ed96f109b658deeb8dce5f11e37236ec3eaa24d3d3d5ef3a3e449638e3fbaeb30a707a26c41359ffb7aea445e85a8ce781e8a20b3bd41a13a79a1b091505cb4bf2b0c462c56bc4b27f4fc20e128e19c23ef08213675154cc98f4c5692b86d2c42c6372b13a03854ec7e9f902de796e1e9a1655b1bd150fc4f3b73c2063b874ee9daa85147e037c2f7602db4a628460f2d99acc367556e51b81e2dd1c6dc9b91f28e489dbe28fb68a94530a52ac15fc3608126ec10c31e5c677a2545e19acce5c5c1936fbeece25d24297406c4c743b0330c6bc33af2be13ff8dc37a6a47365a7d096ed04d3cbde4cc5c7bc0c34cf6a3f809e65333e31f4ad4f7f4b53b58cade7848b17b306048dd51004b315a912e0aa01af254e72c8a6e831ba5beb39fc6dc192e759ed01d712129d5804701e1308bf6fe2d3101ba51146b3175a3b10b402d3bf8ee2e4ab108996ae7e0985925317bad54e5ba9968a88f027cd5b12644bd1246bb76be86eb814da55e31d3fe2e3795192e5349742668f0a1c30b0ea6ee8d0c3c63a51eb2c1644e7ad6e9cea1c2dd51ad83666a67ea4828f6babb2d9b57964168b50173b748a914c5c88270a0f8af94d6707557b0e757060e61a90a42ec25ffa5002c700dfc2c128f3ff854f84e1d9484e67591a8b6a9b3ab5d9ad09ce02c2932bb59cc745b5748718a7c6440facf15870965343615ef2cb60aab0dcc2db059610310b1075cee384e912af548561d1dd0ef048e4669e5358ee959430a3bcdc1b23c7f615606f8ad2539984721aecb93b4ccd422cf2cd06ffdee79c1caef81feff41b32cf76bd8018b62753efd34a7722e400681c870cefef9ef2fc24f84ffdc8fb98edd6ea36943a159bdc8217616eb751b1851b2152d138e6ce1f89160d002131910dd915aa05480e8031f16a87d3bb869f810befa31360b02293031e98caa8a6bc7f6879f2678ace156b8fdab21bf2a44b94a3cd4e2ecdaed1ad51ed327ef74de5a3a99569554177d1cc37aeb842440aa4d2450aa6c9ecc055b3ec8c8ded0286e01bdd3b0d08781737392dd65b1d2d56213381e9ed6b92a519c0c638899010688dceca32905f0b7feac9254a8615a43a1d27651b7bc121013c8b8841ca77faf6c25e848298d06de91dd8b934d8c6424a3d19061b42b993a125720979395076891d58e44a8cfc140edf9f0ca64d116fe33023bc669e7feaffd76061f7b30a267264e3d9f0de8bf91af61f956b8e520299bfeeb17c2179de84c6e9dd10d86af5c6a98f23258b30ba377a54dcdd211d5d83fe0e7308fb370178d97891e9e39bee43ec42d6a47877e5e448a4f3f9fca84b1429aa94daf0eb421016f12d90960595e1789e9a8aa3cbf3d03818cac0fd656ab7b9b7e5c9bb9e5c22c90be2a89751b0664708821c6232f6b6f0d749a6f52ebdddc272d202259784d75d97b5adff392587a5a900c640aa0f667bf8f1180ce4598ed587400776ade36f23d2b3b2763394d3e8f5ede8183d4096fa2b94f98e295fffb32f5ff8697915f597c66f9900a7ee8acde96d57e1c902344ee80481479dea58e3e3abe25706e4929c494fd56dbfca5dba49edfc3469dd68d8ac7dfa346382374b14edf30b91fbe630d88a0b3eb9fc0fe8f08d639da69dc4578513f7721015d6268df581dac0ee7acd83a8d707105998e3303980247efa33e3cabfa2d5c5c6db9ce8ea6a289696d2d2e2d4d9bdc96dbdcb4051dcbdf05858eb752fff5e198ebbd6bdbf02f0e762efadd73ff25f5e3d4639e8312c3e7e2124628c16081f569bb84408df8e44ed3cc540433b940d16620dc75a27ecd1d9cdbb1923d3a7424cf12b6a70286713054f072ff15f7e137e7e2abcb9913976e74d4189560fea43ac1c07264327dc352c588c7157d0ec9083fa51f914a0932963a43415fb18c4db2100187df43b406d3983c9290ff18ff907dfd158247ad298590d10848eb8710941badb7ddd1a29d815c9181d62c85f0628907e2a070e2565e2f0bf13a087047d36cf2400a469f662448d7703c4f56c1e456ac73cf667acb9a8e99facaa38d36ff47d1b3fbfd6873b4b50346241af0f2de912d19e2920ba820a1796e7ed0c0f17fb1ffa0957fe358e67fcd83de8da588005ba5e367b85d2e28c73e0322da1c339a9690984adc3f87705ca9115df01608022bd9c7f5bb1ec3b63f81cb554a9e571661b228762c8eaf10e8646b918978ce402e84921075e013cd9c8729ad966007368aa285fb635a378b60c809dc2161fec733182b4c5c29adff91b1f6618a8541554dcbc7abf62d27104616aee0c92c1ae6172ad320b42e09290b390e0a5a25a87d25c13e4f417a1727c03603e2554e5b7b4efec810fe580f3d4df8818c364f792293638030c339961f7b6d135e8801cd134e22a15b88b1f7f86850cf039ab462e3cc6a92589ebbbc8f0a368982149db445320b4c3d22809acbf13e106eee5c9dfe4f63066a682616d543edf1ac965ffafdedf1dff06ff5cfdb33bf716950bcdaf2b9f37f15eacda425d81c53afbc0d6c1b518300b2f1538e73a5f6829179a93368241c5f56d2615e7363f9f4aca5dafc72f605909a92ea6e95f0db59a61296310f3369ff911ee9b3cc8024f59378a8b3df09b0d79d5ceddfe789b2530187c6dc3c4576e16d2b2942c3941918746c7842746635605a8c908256bf4c606bf5d3fe0fd1522aed8ceb391bbf8bd7886c927f00beacb293928731f9c67ceef22971b43e93e24a07997296535174b3c439ec7ba3120f1280db8e6afc89f7f022a960bd30df4f57435b2883337ad7a6a1e2c13cd52cfc5028936ec44c7cc378f8ec55705ad923e4c9457c64bd671cd2436e5d88bad4109e5ad5d7f24a3f624ecc142da73e28ead9c600366779dfac151b9a2645a9411c8ebb00f6779c2354b9c123779339c91ec6b9dd8a6c52607f8ce0b939ad4e6a0c5e4b42a7ad2acd1fd7b1b782c74e9946734250535118d4721e876f0b6664e2ed7fcc371f45c59569480e1524a676b97f1d670bc54abebb15090ac41f0e40ef020a5e0afb8794b5c3ca3e5f790cf951231245aa474df5f11de85db0cfc11911ac93596b925e0bfa2d4b8f41dfba8a8608f4cf5b45bbf130bfe61e8cd48add56ab29b53d0a0a99606bd82400c277768a09f14f82abcdc4eb71bed9ffc8f5b271c261c3ee9949d41bb3c01c6df3754ce64c988f14dd364e160602f4b6c87c79392725857f158da8e7b19bacff830aaa75f97d9a4339bbf085f080c27cbacce798525b8bb0641812545d955c9207d2128820ddf3f94d769bbeef007eb303b23cec09a22e42955c5ef9d8165a59d98bb3067f72856526bbd2f9455e33a2cf5a89bd86f275d484e4cd94ba35fef24dd3ac10a35c1369e48d98896e7915477bddb0a48638068206ed61f0b969c92e8853cdcda591b1ce0af65071222b39521feaf027513690cd293840ffca71139d67bf0469cf54a86ac906d495cee50d36e311b0aa7aeeb8f6f0cdf7c228c8020acaff36ce8285b8f701c9f90a10315b8564e57010edd593eb6187b3331c33f1293ae25230b9dd66c5a75802e10e229167f662aaacb957cfd0f699e14929290ffa0538c7972e89781a0f4362d26c6ec0d750710157423560cb5d3691de404e7c68c380d2fc3b072a9b42e01390e6b3cd4805e99c8c0e93c28309a742f13f0a4a8ffd5fcbf4103beefaf51239d67d681c44631ab288afc6835b93cec05106a6afa5f5fe43681b93f69e204ee2aa80fe093beaede19a440e1904936296ed815a862c93cffeb9d37b30eb1e62cdd69b73551127e45befb5ba29b23a469f2827e0fc54fb97435ab72867723d7d4d68139412d9adbebd3a89ee38d4279ed518367efc1c7895d7840e00ddb1b2fc3e37371e8f64d9f53535b3276044ee3ac5e39a186cd06cb785f647c24f30f0e43be79d93b69d4155bd45ad9f6b4221d659ac0ab1ef870bea8d3ddc670d0a42f36ace0a71524795a121192f30d05484123579dd076e8676f8e66529fd91f62b468c05f80fe4ef0a2e2b25c406a42e0fcac91b3520c1a72442ab024ad07e994299348a6f023cc72d7dd5f53ba7e742a343c61f6aff20412bfbcd70467690c00787e4be0729b16873f46c30f63470bde67204dd7d04b7902d983cb41584c7765ce93c52286727ad910b06c7bdc6001899a7d059e6423c8a4e67a14a91f4d0921a4117579226dcea9a569deecbb9b170c51ae97a979f1866c23255ca23da5e29af0f7605a84a442107f1abbe8a0ae0cd5eafd53144dfab5928f25b5582006ffee8beacd9f239dc93c42102fe4686902c7ae1747d0d819e4480cbc3c19bacec650c024701a9e3f85a1fd616f7d021bd93c53ae76a39d7f577b0ec2a4450b6284988de28ce7f7020a091107bfdb719d4bcc9a4584a4707f39a0ef321aed6e46ca03c1a41913c1a5d4f558415e1dab2a3f6b0daf2cc187a35508ec981e99e485f588edbf2c37c405a7cc4df77d412bb7dafa90a2661a7c7525a461fdcbbe8ef5d1ae82c6690e603a35a27c17371668337c130c1dfae4e7190b26703302ddb53560764040839098d4dc5970cc4081f319321c318f118e6ea63b72fe0ad0c7d05fa07b1b67ab2379d98eb98a02fd21438b4ef5c7d9c145513b03a3fce9720fdcc693472c3ddefd7848d43eda4ae58e72fe02855f613c6e6e7a550599f55433a8e3e4c88531dae1be4deb69578df6723f78d23a9113db4f71a4da845e6b4f136a2fc300ec953608891a7594237c6d38e958cd5299a33fe892b3f45ae830092fd15daa47b4548a3d30e5052117566423a26220f35a7ed441d10d173fb523f01d4a12bb054af997445defac72a5d7ebbe9e95a2022c3f5c4588a9da332659f5d1c450db690a6d14c7f512fb309c80f783eb539e71f0787a6bdf11752835f2ea3aca97f42ffc050aa274c18541e4a5c0537f7eb695624ff18f7e24f53403e19d66e4ffdc6daf1c39b9e6d0ad50b31db1e41aff905d5aa660b314d0b998910d7bc41f277ed7cc0a6c3bfb04f334a05141a392105cea35054c7faaa0504e399fea022c269119dffa470e054e7f1b2b1a0a967b3f1c535803bf2e5034538ea1dae8376fae22c8809a31201690e36fd019079d46c6dbde3bc4e5744e3b5df115047c89f2438555b1bea79f8973d39b580857efc94d197638187a4710d9adaab73aba718d00a70c03fceb69639e1f62ace1ab1dccc64a9d00ffe0affbe658269cb0f5a75f5254ee63b3e61a630086822bfa56a0142ce8c9d67f6f41e6826c1661cefc21f4509a8f249a2f50324877f85fa08fee25ad7e04cb383b86338c8156e49e61b064a6b72ca182bb20342b21b5034d04dfe79e9236c63bc1741cde0a57eb5bf7a223cb5d7f1248ce206fb26f60e21c92fa424ab7ac3182582c3b06296ff2da357f8447781b560d3fe8b949af94e52c35ca8c6ead3fe38e46a1942f27eb8a24433d86ac502c22562ba0e0c47239d3836e2a7801c3e3705ceeba8a957ca56eb04b73130fe3c49b409eab52a19b1c9ce30b0a9c556f2a1740c457993f0eb8e9234cd66a76e515891389efaa55dd5aa0c0db4ddb208ef4761f9e8dad268a487f093587d8a98def78c68788e160544802b54a1aaa53baf2d816106fac76adf338497273b6c8c26322f3a365ce3217a6a048a211895e2e6a4cdffa2ada780801e95382f0d5b9ebdad624f4020eefbde41e7d66296c55fa6fa75ad3c7aa7a853d813d7b8d4873a9fd49be5100d99d95b2d0e7dc001d103b3eaf20787a5fe5f89c134f55b8e82e708439805183a712841d1e89320eb1ac87dd8d74569396c0f379c1253ab7b16e504cbeda9da8815ec6130efdd2bba92a9dd7ae2bc80abae249a1b645cc8064d0c34c78cb48c995b1475f3102311b5baa75300bb858e2077bbcd43405f586fa9d36368497e6c84a17d20d57b43868a843613bdbd8d7820a2024da34c1b65f283b13a310b73a3fdd267f77fae9954e8a71227b74720f4529885fd47d02d76f76a00a524d158c0399b82fee43d224a2bd43d2750222dc01826c0610ed9c724b78f5b7635a13cd9cf819b4a9fedfbd2c8521f30d40342af63059232655451c5a6c71322d90ededcfd3be4aa4c1970f5b9a1bed9169ffcb3a1f9c9767300cbe020cf39aae982bb971949ada3ec9928d1623fb0424fa80015fb2cd5990ae1a46bde9675b472649483d73e187e820b8d51d3dc18376e47404256246d16621280df4a4104ac3882a2aaa05b621663e0fa2ca00741597a47248d94f33a7fb15d2ea28ddaae394b1469a668a0bb21c91582950e9036e3d7945ce626e61c45d7399c965a82fb38eb0a9380f858789a3d2eaf8962d4f0d26e18af38f876c05aca9e9810f39d23484135d1c86dffae044e06c2b6609d55c0d45141c820597afe00f42a807b098020fd056633e1c7473617085801eee357ac09791f254403b49814e71223611d46511e6910dc469af710920f21e5806d4e8cb20b8b049b92dce6d0a19c278de95ef94961eb4fc2a41ee2ff4a0f1c47660d44b2b4619f540ca9765de5104497df96be1dec402ef19ac8360cd5fb1de15f753fd065160d66f6037dc14f09a0bd14d7cb5c8e01c1ba62c89ccb3ab0707bf20d28288501d8d042abdaa0f2f02b947d41d4d6dd888c86ef271324298a619d1774cd052459ad85b57330f14531a3be3bf61e70c1cb5aa0a7ccf73804f457c6e684915e63354ca74749d5407e8a1c9844eb6026e7f901d56278de427885760425213861d74a2161ad8cc4a3a71423be259e1a136868b9228487f9b06c471b3e172bb51fea39b56b30fb647e608308dc6435adc50d15b82d4c1c7cf4a5d5900e5295e7f42a03daf29e8f6e1431940f8f852f5eea4c3e1b451c4049bcb7720ac59219487e5981194517dd4b1bd993eb2b3668fa95ee2e4cbbab02c24b852b6925a286591726e48b6460fbaf2537c700bb13c47cce81eddd99184e9d7ff636822f19941789a732c804174526fe8ff955510e60cdbcb019697961a85c811c895fc2a44a9d1d227419fd4b9d74b40c096f22c10e836264d262c3986d21695e89c2a73d307cfe6ee6a2a250707785c126742c040acccfd356300a69461df26d54518928908d7e478ea20b298d9ed569fb4c9211cd1851c6f64482bcf57e04c655a0685b2daa3208a06dabbaae32b869ab32182ec4089f7678aa77a79617be5697b54852abe61fd92744ee2d65da327f0d870d990c4bb8da799ea7169828afa4a47402815fb6fcbaaeabe3beb0f9d58b5a05c0afab6e0967740695d9696bcfe72e54638a33b48a682cf01204cc4b9d154c998948f5262a7813264c10d1bc092f32b135e54d38875655978001414ee4443a1168008a9914932fc86d502e9e48a4d6f155c7aa1a2850a0b3ac2c6bead3344db3bc3ef5a2544bc9a7cea1d59c87300ea5bee7b8e7b5a19deff9ad550ddfebe99670380f43a05098e751a0407152616dfd89132772f903e3a6bba2c7a62f9b2e9ca7d00a192c1d9f833ee7ac8505f5b90c0342209aa155598e3f984bd19932d1f1a7dbe3799ea5963a1db6dc28b3c58d0a2ec0325a5cfa58708e89d206aa4b6a0f962d19fe87e24481e77916c1d9b79f1d75abcb3203ec78412b0b99d69597335a90143580415a2b3fac889dd1b29a3286e3065546eb0a1e312d2c450b1e40e445188f1b63d0c468c17d5d218f86ec08c7b263951e27aa6c8900133482ad892206ede9aa1636021520072d2a577f1aade0215c93c44b0965eae02c4339e72aaf1e7e48987a22d2644b142cffc3dd72ce60683ec3c065efff652aadaa215199799e5f4af8f35876242beb5d7996619fb3d59212684c98045a53ec801d5b354186e42d9090903c84368f84e4251212926f8084e43b244f526221f548428f0444022221790dc971791e0909c945401aa629798c6d9bc718d907d0d00f9897f33c4fa7219f3739dba706d7b00f980b21634212e922ef8a2291ab5d61bfec90b1072c4c0ab8045f31d313c91512ce28128986b1a73903a4396680cbd43914c118a782dcb142c356c1334fc8aa648972848c152029920a3ca387c939214ce890dce60d65e3d9b0dbbc3443269bc9cddb34bccd663361253402df96e16d47db91ea6da9dbbc6cb279e954429540e4dbbc9cb2d96c36f7c0e61f84e0e36d361b089b2729b1e8f2b60a6fb3d9bcd62a0ec9db6c8e22793ae4122b8f848484e4b825678fe445484c868fe41c5a9de01de976a40883c98784840404f6e1c252b2f585b504aaf618631c1cf2264c98c04e49c63e4dddd6b03fc637a823553e631d718344ca31898d7c92d0e645d49f585367fed4c1064fd07639c0126eadf14385874c15a1d2a6440b060681c02934d92a1292ee8731c64e30b6d98cd4a1c08497b8a83866494818a1042c4d988a93192674681068cb8e2293d97f2832a3d5b4703f14e92b91b23017315691315e5846901481ad56e028b2762d1cb19cb3e46e90a868a4041953a8bac87015ca84ea64f21522e75c22a16c709903e34f09be9f4ff9dfce66958861cce44992ef9292b26244f924c7a0d5a24f4af216494949494930907c5252926f900463ca9fe77a9ec8174d3e3b7ef1e7334e042270c244e423e83f574e4c3e2627cac1f005e9b2d54d3348ba4eb8cf467efa49537b66c321a0e28604355758aa9248c14d9f6de957058e71165394972851a284b340fb1225bc8356914a788b5eadaf4409372a51a284d74a388ecd972871e212be41aba797d88aa264a94427931798e1e629d0921f54bef87e351ce57fb8a112638ced192e238c44474ada0c3667438c9851652778906c185335a915e8b2a35e5af56a912812454251d4e6a8974ec8e1a3448f7ad9849e8ea2ee01ea1fa01e028d47831e455114f5242516711e750c5ab5f028ea46a8d750c74d5178d45124926e0a972a1a55605fa808f942058eb18a15f49580402969b663142a60a430fd49f4e72965c79f5952d6641c14378f318e0acb632fc2547d443c167e97dd1545966e229348349b0d4a8cf3cc8292e44f23232560809c99e025a5074371a1e5accd123347749cc1f10467711a47730e4da2489bcd86b1133e7f3a3ecf273dfecc7a72a4c0c1de70b95236c66ccc18ec04c56036146327564eeca637549ba979bae9a51932d94c75de147a136822b9e9a595b068342d98a6974da6697a09f4f2a6e92298a677d02aeaa6b7f0e08310f4bce91f6895c29b502614885d92120b396f3a0645b368e27abc693a8a4462f1f3d831ce22e63fe0a2c71808243346c442755ea1f1488e91904edbe6cfd35639e1b3632b623e8f11ad8261964af81214dea0aa0c79d4318aa2c5bb66aa2215346febe25d5160f1b44214c9e56b879ae117ada6265f68fcf907f743912250249a6cd55601012356c91141e5e98b69e6a2c4a873e54a90b41ebe9f33f9dfae8b49912010388571538a4c31fee945a71b717010ad265599515384381c62b524db98048138877d998f5f666336daa5d3668b7202514ad79f6119e7c1705875c28f3d78a8b092207c7c9bc925b48559126118d09f456294ad242312241cf7e649587812244890207125c28e594262c408c735f9112346f86ec488116e4b58913514cb0a42e25df86a23807745913a5e5825a991c48e561a1cac30744ec11863156319216299f170508076fc4933c7c8c40b4e52410d9f3228264bb867041340433b538081d65c21c14c32ce190d452d57183acf33ccea4f24322b0bf173972b1cb62b1f5eb2aed08461b295a5e58e88205d595be280c9e2526585471114788d02c751400105bea3c06dab1450e076f839e74c41377513c6399c91ef6c48b069daae4cfde9f8c4bad2e7cf0d7f626179aac06d5e6e4c538a0c96551e13b89cbfb20d4ba2c82488205b04a3f3f22606164a8b114bac08274b0c7c44cc0bd3c4b2026522d9fb618218571b3061437cbfdad4ff704f9fcd248acc89702b248021eeaba08110810211f0a48bc6980950454e30f23f231b4da0c8c1a50eb3c767200e6621d52a78f9f22730089c0a6224679f93e0109395c44c56708986014c39f9c0d2e5488d39b888133ee2460c922a25a1afb4b2acf36757d691ab14776b638d1e82bf5ae9e37fb8a01209d6e79c331aec5dd9c7963515c5812eaa00a931c409d5142a6f469c1550a49964f82730886dbaf28acb672d2d314a0cb548f91a6e91512609d792e438034c0386ce53144ca4e760c065d61a2141200a44a7ac8aa019ade7f19760ab278e694d9a1972ee943172f97e0efcdf2e63ef7282230864ea5d5993f16546fbd2597446f60e892231ce62e44fc7e7096c55c414925f2fcdfa78ef69252c12973c0de5eba5530534116e0b0f3e0801c65fff40ab15fea2f86d2076494a2c98fcbd6e74ef755c9bbf5ed4ead05fdca3288ad4a53a64f0e90262f0eb4f2f3a9520f9d3399cc23f4f20100996cf8e2d11499f2c62122d44098e473c2938108f141f639c915f2189dbedb2fc0ef7bbdd2e5beddc68e776c989e1d39914431f3f421865a10c765454375c0eb9056f547e4ad44e6cc1809866b9e6b186c7d81680256792c8f8a395244c1e92bf8060138b21e966e0f0b087997ce42d8e541a42c6dc5983d5058defc83f68159bf04762c63f3a3afde8e8c83738b2f9d191271de1fe688c9e3f32faa3a3a3a3a3ae3a7f74e422f4d191588e3f55e04e5fc217ca255383224be274d47fd82f15ae77a7672b1c91a35eb36b90a3ba4c95ad4c8c75d98a2817942b67e0cae7e02b3954f54e5783ea9d5dd2c0bef5dae917ec520ee3d688e94ddd2f737d8975546298c4c4502c316ac0aa2cc032def9ec2392bcb43e3b8aec4a2b583c1119c17d760ea67cf60e5a9de0b3b7808007629ffd02ad5ef88cf535e7b383100294cffe81564d7c7611ca3ebb085ac59f656081b5f9ec250eac30abcf64a0767cf6522a638d81f379e87336cb2e266f3b3ae1ca902927805d217dbf9a90ffe186f0799e269c24835e6123a4912345018324ba1b9510d28918962c4e4c21bc45881021b088501f02fd102142840811c277213c29842bb108f3216a1f224488105e0b21c4f221bca8d50a1f4217c2450831e6cd2c134bcbc902187d3efbadd5f5b35b95873395993f7b7f9e2180508ab8102593ffacd0967b3356274e16276bb8c40802c3662b97ca2daa2d1fb2a6ec5cdc90e135a6aa8d14302d259897f8d986221d2bcb467a8a3902e38b8c133b6660be9f47fd6f67de24746c3a3bf70e7b548035c4f2f2fbed326a8b1ec251338726732832679bede848f7b3d97295cde65797ab6c356bcb38140d9e5946231329f465074da2481c16168c2307817c10402f0f223f0810be03010204d0040a6aed8403f1c15d6fc1d2cf1922688675c8a6a0feb7ab59734dee2169ba0926709c9d9f600207d16af6097c3781d104be051645268b882493b5d56597c16a02dd122ee939b8eb2d68a3ba3531ad561409d376cb301e419b95a50704eea0d5ec376f71bbdd7cb8f9dbede665d3ede61bdcf516bcdd7c77f324251652fee618b44ae16f46b7db4dcfdfbca855a1bfdd5c041f596f9a670ee09b660f18583db2fea906d65371e8c3c6ae02a42f671e4d54fcc903ce9f27094efe2cfe79e692091f8532b8299940ae9c92fc09c609cf1202b838f911438e9b256680a0594cd334f508776c1d9d4cb0d5b8bce01c6654ab8307518798d68e1246dcaff33cc7d8f8f3bcf182cc8da379e3cc170e286239668899e7f9c3c2799ea6799ee6799e2314f99c4780f379cb86133b878c163c5d7abaaca0e01fa83d334db32988b0c9cc9f5d70a60b2180bed010030556630ef641c11694639aa699c766ab21f6a7e3f33ccff3769ee7179b3f4dd3344f3cc3e9c30c28176ccda023a4e12484dda2f1a5a2468e610d319f8b445c5e32927fe63c9473ce639c7c3e3d9b9e730de773356f9aa6d9818e3a56c4fe9c59f3043f19d9114cd39431c29fc71541f6b7424c953fdd66b3d9ac69f4a669326555c07407654ac37aa1e582ad177e883084c41833b0626c65a161626a4c4f2e985ad03145b82e60b201c22440d416ae30616ea238f97e35dce37f38342c906d4614094c5bd019fd6d87639cf8a1a3c62acd155f63394e4fdd00ab6ab0ab178083eee6f2edb876a356fdae2e9cfc0182360494070796af7dd72a8ef3ed49285a3dbf7d45ab674f47648434797cac19ab618653755f42bed78b51f56a2f45af97222781244ab8c45882630d991e86d3134344e906b5f482ec55c7aad7605079d56fc3183c5e3572809c355b5b7176a4e1f2a608f83d33afaac317565ec5d9b6864c25bcda2b43e7c8716ccb8907768313ebf57a2952a079b5d6abe1867abd5e96ef2929f57aba1e16202bafaa588176bcaaaa4abd5e2fa8f744cbf7dcf6949494947abd1e1f55755c8f57d53fc8579d43abb68bf77ab69e19e4110832cd8f64afcdff76b9d7eb4d7dafa7a4a4a464a1045ca6eaf57a5476e9a64891d6e642afd7b3f57abd5eaf07f6e77b4a4a4a4a3dacb4e1abaabab46476cc65590aab3c9432f2d9cbb09c953c7bd994c364d5b3b7f0e08310647cce7997a4c4a284279f1d839c73d4d7670f9f91687ec9f1d2d2d2d2d230880fa51429520c4be07a25252525f3959490afaaaafaaa3a8c7afa5eafd7db8044914aaa52ce68050e007a6a58995e0fad9705e20172c6f0897202d81c2e36436a0a2671947428b2974393bd5e8a1443204a5e55d59e5aa1f7658fea4a8eaab91c8a54d51fc9ef255318877a2a941c2974685249872291aa3afc11e57bbd5e8a0d3a6891a6a98750f6a97fa094d1aaeaa9974d03007205f13a5365c6125fbaa62bea53254f9d43ea205aed79eabb344d9d05d4a769ea22f4969824afaaaa7ad15e55896c75a571c0e1b47cafd7b36956b315a6c7f77abdb4e739d770605f696ab9bc7cafd6f3b286aba55c7c7aae3adaebf56840f9d4f116978c4f8938252f711ff8f1c5c64e101e5072d498bd329f95ca2d303e3e4dd31453a555a63acfb2a94ba712aa6c22e34f2f4f17e13cbd8316a77bf0410827fcb941cf4b4f533f4f4f5262c144ce9f8e017a3ccf2574fe3c6b3d10dfeb01817c72d66242e5735e82e453c7699ab114e1e3333bdd15451a059a5283cc11e7caab2c9fbd219f7bbd2095a3921c7f6a2949d325edf5725582684942430897a2144e93d53dbd3455d52466b8b4824986d2f444cff33ccf23443e6b1d49e3a585842a4c2b890c32e9d029a7e768da4b7b02d09a0234810addeabb24251663bf3a06ebbabad1baae604ed8f3ebbaaec32353279ea2f3f98dba981eaf9969016552348e5d819074309a73a5f1679aa6e9d084accf439ade0c87d459b1032ef9ec2388c0183124f2e4588406095b644a98911a9f8f432369c8d8e154959589e73b9e2729b140f23c1ecf5bf08cee8a22795ee3394ecef3783cdf80e75ef4983833cc5153b4f379c467a297209fc564bc35021c1f4cbcb3369496683917c97c9a71e7598fae2290249be0193323793c377f12bb2021166dfc99f21c3dd334492432256e71fd59e3d26283ccc7933e6cb2c8784c82c97c06a904d1fc1966a884c9997c21cc8e24128996448f3099e2e1d3454b1816e888ef57fbe18ace9c8d753ea748b6fe3c8748ecfc394cf285022313a731a7e779da2e4c66aa84c913ecc1c34c8592f7a44c9a34e5f1d0044173fc724b5344c4300dd752198db2379f73261861c2c1c4ca9162190b6b97cf199f01f2e9f0cc30cd39e79c213dfbcce3d1307d67b464ead3f48866aceab31d8e712996a9d1c596e9fa3c2c53868d16a2a119ae354f88b40887647f3698e59c435d4365a30a1b3943e2d84d491f3261248e2fce342196e5522956fc34f59ad8099f720073e58b915d977c3a66ea739bcf624d9f85360915f32158030c8a0c0ced53bfa5c330319f1a1925289f14c158c543afe0d88b34c3af32250a9259417294413216e52881182130d54d5920e1e62000973880f4bc9993c30d2693c1220193a6699aa643317d3e1b957c4687c63131a7f0ae2890281d63b3f42029937502530da765cb510d0969928805e5725dd1a8b0b2d0eef436582f1878fea4c943c1a279e87c7610397f11fa225c75699adea9da42eff40983a78bfa85a104fb344d59349d1e5e74daaca80354aa734463a70af2498c45916cbc2e9985f5c98b4fd3345dcb392490cda983e68cab83cd3a8b230205a61aca5e92b04fd535870253154a6b8a75694d7dd5fd542ce97eb514ba1f4e49f733fab4d7f302f432f41207c4971c1ebe30591a7e713304e3a4a7644cf334d5874f1a5715ad311778699f57d5c20e1e6f583cfbb486225d5cf1103202931b1c66407cbf5ad8ff7018d2b4cbe9535e126966c56fdc88c1c942c68c0421b32165b2ccf824a5699a0ea5699aa6e9aa43934864ca4648918d9bcf5e94b3da3cf95cc64d539a2c3770d064bd21ba9f3871e2c409dff56a7d277c3f0e7fc28d5acd7ee28469755714c82bc3012144ce48212205a9c49a054189719e15419c9d71d1b1aae065ca274fc0a5730ea02f3759149422e7c84e4e984fbd686b0e924f3de7ecbb5b92281a679cb24f6bb83b46b1ad38489672ce199773f6baf3f94c86331666e664020c5b726a0439b3c3e5089811932c699ab6d953c68dd7073748b1375b66e010514ad3b44df08c13102e4cc47cfd6f5794a6299a4fd334d5f1d232665b6a866b86a45903688c0d190c5b6ce88c6db5d93231d48447d91424a30a4a5ea0f9f225cdd3a77e4bd3d0f99477747285c6d60e2aab3d5e5d6b3e3d53e6eab3d96733539fcbc864a8d822e3d2c6c8d7d6193d631480864d1e2233d2a28460e3ad54f28508cb71cea78eb7c6b47cfa55660709a3398148f882a406981a58cc2db56b94cf47189f3a4e8f653ef55bab143e755c0a77a2f4061929325e521859386692233c31b44f8d7ac4f449436b8271a5a96bc8ca67e09618f1d32f415ea6689cc920a939686fce14e7f80843010a8f3782ba3586c9a761783997f14323099ca39d27609830172e5df339a3c0208fb7ae613fb23e4db7c2ba3e3d034c79b93b79f6cca87a31860b0a8341f16347234ac4a319304b1c7b12a88c13a3754dd30ae917579a86a1f9ec38db315dc688491d89626844325f3e8f25193d7525ff34653599f3a5284dbd907dbaaeeb6a81867fa589817d91000b94264da7d488492933c30c98170a61b4d63587065734679a8ac102c748846704337a19d1e075a512bdf0a4207e31f112ae696a81d993900f1a26335769314dd31499a65f4e3e5d1de5ad3c5e9aa6693abc228629f379ab0b48ec72338607e70c97982f603b8a78f97eb51f8ee83c4f303dfe4cd72f6266c04431c38563c8965046e4ea53061c011a17103049b0007175b91999f082bc1c0ab420a36aa8e5e5533336c0b2332fccfc90e1fbd57eb8da98ad3f8340e0399ca26238ac53a6586298b5e76b0a5f321e786b9a342d5ed940c20f019773bfdc07b056a6ca39e7d36a5d93389ee798c73396017f3c8da141e7491edfcff1d6ff762b9e1e0accc076e47912d9e64b27fac2fd50b26369f4274e9c38a1fbf1783c5e1167fcd2956cc22fdd6655daa0acf0a7f44b7a1e8f77c20a01503b5a4125bfccbccccbbf4ca6c6737cd1e48914bc259e128fa7fb9d7014792287264ff80f459ed0e97eb87ffad253e87e466f4bfbd2b35b2be34b5712ca20fff0f3bce4f1723c34d96af9b6a3edb8ae69489c1c88338704305d4a9842c68a8d20d9e60fb10d310c927821099e604f870281e9d61e1ac7475a8098438b0f2a4d75aabe9c00831662a84962199f232b529d97d70c1e674f579ad8b15e18ca17539987f7901926a3b285520e2fcdda735533818577458f65ce5e909f8f65699ae9f838d2a1430297dab9413442193205e3cba9758679f1a79c3f1fe648cdc173b35873001db1cec400c0b3eb9aab90d9e82973662519468defe759ffdbad56bcbcae725ef4b0e454e952d62aefbab9e5334f1de5e5d0b223cf7fe831cd99e0e9d0b28c83514b5e1b53e9f9587acdecae3623bff45aedaa6b5a5c61a5d7c87ad5c0546b53ab31b5da644aeaa986c35333ac386278646d021f3e35d4d0d882c38762f828b6883f1e050a14beebd5a462626262e243e146bd662a143a146e4df8bc45e5ebb85565899518156c5989326683cc96951a2eeb64c3d6952e9ffd021f94f0d94108e103221cf9ec22c0d2e7b32d6e651992718afaac414ab00955ab76eb4af8d98eb1f2f1d9cb2bbba5c5cd672fb55a4551e432467d163b9295d9f98c9a9dd9ad2d7dd0925d9fbd4c6b75c4672e7d3edb6393f00b47ab56cbe9c767efa72d2c3b9fbda51ad8aadd1a123f7b4fb56ac782263469d502aa2a2b339fbdaf5abd7df616b6d656169ccfde5c764b8bcb674be6781b7e7913becd0ae4f438b4549c446e5a6f85324081813f01335e41d4e4a1b3440856cd041f4fd3d459b40913555cfe3ccf73abeaf8e796517a5a484b313a4ca048245a2672fc344d795e76000b9f315349e660e511dad225573c13e91434be3505101692e7d84d730576dcc60c9934998a3c1e029655b5aac24a888bd848e7b1e3b0562f3c76bce4d8711376c25018e847b5f0d86f12a738969921854fe1f10d4ac9b1df209595b0c663bf5aad52c0d81badd5d5b17712fb65c2d709ec31ceecae19888bd8dbd8c7b2228f89acee9a9db009c7de500dec60532d79ec5dd56ad1e3cc8455c7c864336dc579ec2da3449656d84b21c65e1a893c267a5c76d3d27b8ebd6cc2f8cb63ec2218b177d02a0ac7dec283bb6e40cd1728420005b3eef8b07f803d84a6c7fe815639fc06773d85205a3de1d877494a2c783cc654e79bc72b8c309e0780e7f17846ace7f1bc7e3ccf39b47a73de9189e9793c60181d5a61dcfc79ecd28241ab0beccf534bcc903fbb924e286dfee8f52a54a8d02de16a568b0bea979696744bb8daf9668ccda748914217bff26fde2150f0383c76ec4a76297524c76e1d3b8a9a276ae6383082b7d98277458f3d1d8a942b7fe5a148222ffd86a4f23c29877b979d973bd1f28694b39f94eb3eb82047f2f23491437318f42e7b9ae3c092c81e94433a0a91438f7755ea349bba5357cbe96a4b8e733f1056fccdb39fc82d792994c1e95659c8843bc0e9f9ca4ad86a16ca20e300e46cef9672b6772a823c0b9dbae20a9d52efb2db27312257eb5d760a39dc4db317e5fca6d941e40ad0bbec29722d2c89ec14e4506457cad9de4d90ab4097d4bbec22723f5bd6aee6ecfb32d5cfa88872f53ac257fae77e39a66fcf40f52c721ad83d007419b8c033daa4d51038a7bbbad04287c904345c69c3335fe92854aba68d476fd8ccd73fdbde61ddeff40b9cc53d77d9ea029d05392fa31b4f619a48f1b0f202646518250e7a85cc8f1a261c890cfd58d9087231040f5a9a3a7ba6ec685dd13a23820550961ec8a10ba2fcb4f931a6ca09c85585275c089256baecb4611a93d2729ee77912c195b90a979fa63e3b88bc2584ce007084cec7aaa7122569dfee67ad2e79bb237bb549bb64cbee7a83eaf9cfcdbedd817775c1a4834a5a131864991d5fbb075b2dd97cbb53b955ab2ebcab1d4a6942c321e5c609e86bf762abe608c6b023d4b73b994759f52c5244eadb1d879343d9258bf5edced44ddffe4178577b5403c38f173a464aa0e16bff506cf583b1fdc3b1d55be3db3f94ddd545932b344f7ad2ec496382affd8359ab6613f2030937befdc3872b563d839c413e5c7dfb8726ada6defe81ea83955dfa00ec0fc16ff750e6c1acd552cdb77b40b67b48b67a697cfb07a6bbbaa891758486951cabe495affd4353ab660da7a70f5024c0f8f60f521ec6ac7a3e9d4f1e3c70b57a7abb070f47bb04806ff7206c0fc56ff7c074d70524b1e1d5b5074f118fafdd4353ab65d9b77b706af700d5ea9df1ed1e80773d2223630d983f6fb4a0f8da3d045b3569505579b06af770d5818f55cf1c678e0e69dfdee1ac5515dede01d92169972ef8f60e64bd662ad57f1dda7c7b07e05d471094129413864f1429bef60ec156cb34dfdec1aac39c2f3c6b64a8c112e66bef506cd59cf1ed1d8c1dc23a4459f5a471d2e820f5ed1d70b4ba7a7b07a70e5076c9826fefc074d7ccd4a1e9db3908ef8ac1c60b40789c4011abe36be7506cb544f3ed1c8ced1c8eed1ccaee6acd58d1c1c4e34c54d69459aba60ca41bb456cda49b6fe790c6e18a55cd4066200e1c9ab4caf3760e1cacecd28a6fe7006c0ec16f97a0ac5d02b356cb33df2e01b25d8264ab37c6b77360ba2b873836bc4eb83a7aedf1b573686ad58ce1f4c401aad5760e52128c59d54c262520fb7609b824304a70b44b28be5d02614b506c826ad5065bb554551258b52ac155ab447cac6adeb99376864cdaa513dfbea1accdbe7d03b07d43b0d592ecdb3750b56fb06adf20bcab8b1a75a28001bb4126d4e26bdf506cd584610c3bf2f0f2ed1bc8364459d594236783d4b76fc0b1c16903945de27dfb06a6ded0f4ed1a8477b57a825b401b756acc10f3b56b28b65a9af9760dc6bbda367ae8089dfc884142155fbb8663abf7c5b76b28bbab3d3ea1314685c730499aaf5d8359abe60be4165a722b4dc315ab9a6cd868b8fa760d4d345069b0b24b26be5d03b03504bfdda8ecae2e80f461137556644b93135fbb9159ab65996f374ab66a9b5ab54e4f1aa0da3548198d59d5f4e2c588ecdb8db88c8c4647bb94f4ed46c2bb9a4623a6bbda2e75c08c6fd65039e9e16b376a6ab51cfb7623a8566db0554b55656465f5ed465719f858d58c6246c990f6ed19ce5a3de1ed1990199276a9c4b76728bbab699501785717378266e4f47142e40b87af3d43b0d5f2f8ed19a8da3358b57a99be3d83f0ae1810e7d811566949a1e16bcf506cd56432861ddb33906588b2aa1965466590faf60c3832386580b24b157c7b06a6bb9a6686a66fc7503cb66acd5ab548b464abed18d2305cb1aaf9c27c81e1eadb3134c14085c1ca2e91f8760cc0bb9a4d3f0cc16fbf50d67ec1acd592ccb75f486260ba2b6a4211365e46ec6441e26bc7d0d42a0ee4f484016ac8b763906af5f6ed17c6ac8ae3c4b940f6ed17b82e182f1cedd2886fbf80bc50fcf60b4c776d409a99708d122875c07ced179a5abde0d47e01aad50ef4ed178077752124495417d7b108192a5ffb8560ab181055d5052b12befdc255ab427cac8abdbcd2ce9049bb4441d95df1f168f6ed45c0bbba1852a5246c881f3e5280f8da8b82ad9663bebdc8aa555b6cd51ac38eed4564ada2df5e1465557ce54a91d4b717e128722a82b24b22bebd88e9ae5858d4f4ed168477f580121b7584f8397244cad765d8b75b3896ddb5027c8837ce4c185b13e56bb760d62afe83444bb6da6e21cdc215ab6229588a85ab6fb7d0a45513de6e81ca82955d4abfdd8254af28d2c2d4b75730ab90b4d064c149ceb75b78aa3066551c1545f6ed15b82a182b1ced92866faf20bc2b06e20a4ced159a5a2dc1bebd825337a06f17368c0c491b1b02018bf2b55708b68ad3a8ac9a8f55f10bfc22eddb299c5140f6aac3d74e2169978cbe9d42d95d715393d9b75300ded50591af20720b910b4a1f5f3b8560ab25553b05ab56fbcfb75310ded5c5962015ad2332e2a445f1b55328b68afd18c38e6414a2ac7ae3dc3814a4be9d028e5691bc9d82130528bb94e1db2930ddf5227f148477cd70e5258c1454922095af1d576c15673cb68ab3f142cc8ead2a26787ced38b356711f241a2e9986bb62d5ebe575f5edb826382a9c955dc270d77bfce182df4e54d64e64d66a69fc7622643b51b2d5f6f3ed38a6bbba30420349c30ab14f981fbe765c53ab988fd3130eaa1d27453466d57be50a11d9b713711119898e76e9c2b71309ef7a85ed444c77058012a00c252f4e70d2c6d74ed4d46a29a69d08aad5eef3ed44c0bbba9031a3c8b465850e122fbec649aa2a22ab56db89ae86f858f512b94486d2be7de8acd50abc7d0839941c2abbeb0d06cdbe7d08d83e146cb5ecfaf621aabbde6420711cc10a8406f4b50f59b5da7cbe7d48785717425e68e561f324090c21bef63dc6b0a163d5b70f910d4559f58e70471892faf6211cad2679fb90d310945d2afaf621a6bb5ea7df50d3370858cccc21ee88f104e56b172ab65a86f9762163bbd0b1d54e96dd7502478a94397a1d6b98b58a4f40a225db85d25abd62d5be73e7cb76a126ad96f07621aa76212bbb64e1bb933fa1e05bb13d666bce96f86032c5d77e336bb5e4faf61bb2fd966cb5f77cbb10d35d5328d1b1c54e14b01b737ced424dad623d4e4f4250ed4252ade6577b6c8cecdb6f5cada2de7e3376856fbf09efda65bf1b53fbada9d512ccb7df9cda6f50adf609df7e03ded5c593b33b442d6f7884c1f2b5a35155ddac8c7cfbed8a8f551b0b2beddbd13314d98e161510f502099e1c5648e8e1ebf2cbb7a354eda855bb98e106ea0531c8670b0d5f3b5a6c15e731861ddb51b256a3acda581a0b8ae2689584b7a328945dc2a5f58a022d98d9578f33544a8a667ced41c556838ced41c7561beddb851239628830b44c9951c3d71e64d62ac6f3ed4148a7a76f0f42eb35fbda83ae58b5a7f494a0a0a0202bbb74fbf6a063d094992dd9e4e404e3db839e7aade06bb78d59b5a3a26c64df6ee36a7584b7db8cb6a35d42bfdd26bc6b03814c36a7bb0e208f9f314e7ccc78a2c6d76e836ab5f37cbb0d78d70dccf103280c16217a90be765bb0557c87aaaa55ab3eadd6f858b55ff48bb46faf9db54a81b7d79049bb14f4edb5b2bb767b0d78579be64b9d1a2fc6dcfcf1e26baf055bad51ddd5c5139b2242de70d992c389afbd66d56ae3f9f69af0ae56d807489dac3f6ace70f9da6bc55631d218563be6f9f61a592dcaaa659c3835a96fafe1a839d5a0ec12d35d4b64d3b767617b2eb69a8d7785409732322644b9938fadf69d6f1757ceb86cd15376f585c4d79ecd5ac5769068c956db735abe62d572cd9aab6f11d9ca2e49f0ed59aa57d4a9d33c6576269b5ab56bbe3d3ff51ae46b3fc7ac5a7af1f265fbc9d5aa086f3f8de7d12ee5efd2d8e4d48dfcb654aa5599ef1a1fab96c361dab79b67ad22dbcda45d3abfdd3ce24cb32e89df6e52b59d6f3785773511676c479fab2f5b61bec675bedd34b6da6e9a51562d952891324d28bb647e975458d8f8e822860e265a377c18a760f8dab159ab980e122dd96a3b4ebb62d59287ddf1b8528fbc1d53612bbbb4e1dbb16d6ad53a3db55a61cbb763a910f0f9b2fd72b51ae2b6335da6bbba30c1eb4d320799ae2ca0afcbac6f119250a4ec44c1e0c2e4eb3adf147a6cc102a80c589e21bec6675455d7aad5aef1b12a05d4a49db50a0299b44bf7dbbbecae1fdcd4ccaccbe1b73755379d6f6fe15d5ddc70baf2478f90229a28bef62eb68ae718c39aaca3ac3a00eb45ea7b82f686f266ba2b071d74644b97139e000204c4d725d6b74522416bd5964492565eb1aa09bb2bddc4d5f7b7d24d3d68ffa0d552f801421960dd120e77cdcba2ac760a512815a16e6a6bd7bc7dde3363f3de8b55c458468c75c42a33f27bcddb1e7c0d99f70aefbd03e082344d0ef269b501df7bcbeebd5a5c5a6166ee02bdc37176949c71a350ea62ec72344df3de6bde4eba4a6aa759b248baf70e608b95699aa6699aa6693aced475d2bd380f8afcbdd78beed6d1dc2a33b7cc4c339f278e7baf07c20fca2ed074917faf797b0a54d96e899f202e038baba015060e842d8c1db4a89aaa6a82f3e385c205295452ac707ecae08ab204fdc8b159a042e527cf50052966692f6a14b0146f6a6b692360c05d41a60db940a4052aad6a68a80a53dab08290555ad8869b16615a9d0aa8d94d6d8de91674c50a87906d4a31aa3605ea082eb3306e20c460032b6803b09226c3880a85936a6bc8bc1286ddb055b2ec561de908dd7bef1dc055d9d5fad3a7d6b8bcf70e204b110b735645128cbfb7af17dd016831ebf6f056cb8e9463993ff654c0b739e86aead43a4169d005b4b90b3ce1a7e013d30c87b34c524a42a104c6a9530b5503e28246546eb513267d173bb57f8527c638e9f460eb47d142c63630460ce688c19461306698c809041b4abef8b8caca1a52ba197a5520a2454ff2cf12263a62e6922e355dbaf220876c0831e0dbc516c60e5a783571d0b7bbbb8d5637b57f4d22a02f9da98198320b6f8978aa9c5365460e4e9368278d02aefdd5dd7bdb3c756aa5a69a5469d0e62ae974ca816633bf099a6fa8cc3756e61ba199bbbb8b7cdb58dcd5a6e3e0a6a59f31b0e018e1887180a16e27061b1871d3259352e534f339859a2894ca82395a7071a19981660a481053c996acd3849201830dbaac412b2a6963e273ab86f3cd5dd204bffdc44ada98b86bc86c25384d37b5319c9cd08283a4d32c852894cad2d4c8508343cd93911a297fbc3b9d4ef31291644158033220c60de7079c202d6e072c3048aaf5063c49e695da89cd24a524144ac59bdac718d7e8da32bcf762dc4408b348da4088c10667c68c7b5224c8bc970ef29e397bb9c00d088a6f7b60fca0ec021f50ddd45e0ffa49135136cb90a6690ee5488098173c56a6c4a4e1b265a30e9489933853033a40a10a9c89f5e9f266ab0c98193c52478a899115b894dd2e36e5409d11610e842d8c1db408ded4d682f8b170353043eae8d01c085b183b6871c674d674e684e3e0ae2ca4986c285918e520b19c64a7f67f3529e2b53ba306718e9d72d0811361d15b621e6010960acd849e6270a5a344182a01d657e670dd45b677b77b71d6b15006f876f70f04dc54547210d2a07c7b4b2cc7a231ca1e07f540ee81b10787ef19723b610e3a02c6d8867d4412d2dbad228cc7f076abcb99581f5c2e501e1c605d7e78d9f0958e6bd54c02e24b2fcb15437ed7fe1bf1d67765940d638cb197b11d8f6b68ad564bb2d56aec6182426905f6228c731291a8f5b5b744e2550c244f24e5a74e1b25275ca1611e7900989981c493c6a3ab7873fc05afd54a6cd6ee7975659f6659e2ebe4c39c7a03f021810a0ed89b316f4a9d757c71b7f92bf19791b7679a144f186b327ce385c57cabc0596badee579e262e6d69d1cabc0a5c5fdcd5d9ebd8a6fb591ceefb9e26ae951dc52cf22eb2bc0884cc02a6c585668d6f5188e031c68d312e7567599211798ba543cd999c1f79b0f8a875c159dfc259bfed55c04f7a420bded133c2152449406cdddddd9d4fd3ec5a266ec1f1fda7631635a9de40643263021f2b4d387c43c0cc98f3f9e4f0b7d649dfdddddded232c8bd6f2e785de12b520ff97e4c484d7c088943364c4ae2d3a4a492892704943927a572a25a148f2a46c9694e42876201c85d28a2414c0ecc416c3e6f9e2e70d10395907f661a728a6cc0d63303b4e783c821bb4b4d1658b8dad48f496b8e5c90fbd256ed1520b83dada9b366bda725d3b73d6d676b5a45a4df7334d6b7a79626b9ad66dee5e33d4ecac8d565138554aa5954c2274804229c916dd2c096bbbbb417497fd03a1ecf2f610f2298e68b8b07829c146138cbb5bd77edb9a1897b5b20f6a417ce1ace3ee6a9b149523be1de74f20acb55eebd585d4191d478a625bc924524357f703c1a2d734af91e1d48fc77e234e9d3dfe62e4e544256d8993395d418630c645e0fcdda2daf28168a484bff76af1b2c6ca1530a82a3e25582831c6d684aabf8e6b3afe5ec70d81fa4b1c82878c08ecfa2202fceb28ae2b11f9f3d757dc226343c50b63849820e4485601831553e74aa5799ce54c8b9b334ba2cc992a470881c6581a1e5f779e4889b295416a3797bbce01f7f7ea1c57065923462a4a05b82345906a884cc1218688092594048759128370795cb3607b0d567709701ed74ea80194d5e7c655151620166cbfb9b7a3fa104b00f3188731c65fd63cbe0365fc1b15c58b0253224da847c79d1b3e88983f703dfee230dccfe88d30116ac8630b61a20019f218481b15380b5e523f828f7fbc796c741390258a941d5051647b7cbf9ae9e37fb8dabd174cf857e74efcd1e3716dc8c8c85f1f3c54f8e0eaf2f5e3cf70c6933560ca3ce1ca1094c8f99bbde0ecd7303a9f84109f8a8f71f75eb740fc5bf6e83124f618f3d8e85e1cac5056fd259220e631c618638cb183d855b8f17807d6d10e38624e5ad6bf4427b4bf3cb258f0d79350107924ff5e6781c10605e0a0838b31d64018129af0b101650914dfcf1fdff8df0e2d43c08ec31e63a5de9533948cee6a57949dc3cb430e3bc72e22883aee18932a5cb0c1adbfe78d3b38b43cf6224ccce1e3718e3a644bd624e1a889e3337bd8c2b66c60516d20c56e6c51108431c6188fb024037104ac31a28d12dcbdc09ad07871aaf2842c0a1021407290106464766fd38cb10a564c796bcca8e185c2a8c808e45e0a1650058b0b7865070b101e4146288d103e60974c1a5525201881bc4ef883c4cbc92c99ec093a01f7b348a3104430fd3c0641901186458a7409823477848064cd5f1383de95778592d28c255e43a13053328c8f89336cb8d1982e194d458bc421c1098bf7de7b77e7bdd793a4fcbdfeab95f79e4e8cc1f4d8bcc82b7443b8b738e62ff239105f34798cbd0603c663bf61228c318f8d2e7455217b7cefbd43f7de7bc3a2fede7b99a460dccfe20a183b061cd8a5f2b12bddd5084379ecade2e710f61803daf1d771ab13fcf5da0d0748ca5f2f32e2e0cef4d7415cad40c7bf3ee2129990fcbd9745d7ca08a4d1f12ea07e208982638e12304533c7dba3102a60d07c99856db1addeeeebb9effd5d9dad9d6eeaacbf2551ba54d1979e55079bb7d475d0bbdd37f69d66075dc632d378eb954569e4a083161058b1bb6b07bd138015ae746ccfae2c385fe6f2e481f1bd182dcb374dace2dbada2fc0c74a07c6bdd34b169626b75b5de59305f6fdd5e406baaa9b3d79ead63d1672eb763474d474d8b6f69968dcbf3660ad9b3bcb9bc4513c7a34e6bc4d020b9da246dabbfeb56e7bfebf6deebd6cc59b376fd96b797da96f73ace595dcd052efb04e397496fdfdcf0fa42c76751bcfd15bd45ba65aa5bb0ccf93ccf3fbe49f6e6cf850de1a550062080c85ecb654755e08a7a5733cab5dee14278e77e214274a3a8075ef333f701d374f4f6bda53587ac25c1a24d13c59bba1f08285834b277b8595c0ee43f7d045fb32173c675ca12d9cd3357cbf8748c7c13f8f8ac2c81f1e9d986eb9425b0db6c273ecf93e7a80a5c2fc973ce34732d6e227ccd73ae74ba5608e540feda08def673f136cf99a6e9edd966e6d2e94be1974d6589ecb69a69ea5af42e9bb99cbd73e5d74aa7deb978b444bdc407cacf203b6a51e0845d9cfe82b7c2adaf472d0ad4b67ad399a627f991a34137a4dc4daa7747b91b141277e447c59bff6e501adca47a570aa0f699cb92b8d56e411657e96fc15a0d87337229d3cb232ffd06d41d1de98edc8f74bfa423b742191ce99670a697420570f166a9e47322c1006e4e8fda8ed0e683c3351aee4da6564ddd07cae7e932c04ead4a80ddde72f66dab58c697e855ef4affdd9a502b2130874e3541a95027d4cc2ee1bfc002b7421958e02c1a6dd36aadc59b9ecfee83b3f90fcd751f6036de3408e31c94cbb90bfce67e46bf0fe0af39763307c2ee59b815ca00002819da860e2e7b07f0673ffd8796a16dbe2ccbcc011b289006760f0047b5ec12d1aac8405ba2f4d24c9c30332e286162653ef3c6977eb36af5022f8b74b1c07fb7ab2f7f37e197ae0227c25115b802f40ea368017a8731ce39e79c73cea752efb04e84e77e20d8b23f5d84066cd9675d0644f83b6a6c55f5d25111b9773537e2512ba4c1bb08cf39115ea284abb95ff96ad697f0b72a6e415ba2f41228be848f68a5155fc259d8a5145ec24b9cf0dfee4b0495b87d89125ec26badf2bc84a34822dd2d58e222148ec2593488dd0e2dcb39e7dd9b7ee64048fa33c9f42447cb9292dcf45aee07e26b35bff58a22397cad76e4b5d46b21bc867126eb5d2e87d9de9d9ee69204398a2c1d4977142297b57a57e6bb33752608afddfcf4a4dc0f84a49fc0414ce0e8112d83819bc07fe87102cf4ed6eab1acccdea550769b4f103e271338dacb957f8202055ef6282091a92af8081fe12c1ae5e556f82de8f3d2e701f072c959348af6cdfeecb156abd5ce9c063250f313b7dc89135e739cfbad08a531a8f4aa19ab8b562273460602000000f3160000200c0806858279a2e75909313b140012549e58605c4894c7b2240b62180619839831c41000048cc8d0d0d43450e5750c76861d9c53da46abede37f78db401c13598a637b8ea301c5b7dc93b3ab57f29a2f6c0e10066ec6070222251fa3719c1dcc377b753f05a072078ce766c3e1e8dd1eeaaab0db73f42c9679bd76e6e496dc717b5d932abe4cdcd6a09424e8d7aa16f35d0d4f26332f0c1316b4444c129ed37e3b6bc3f9f0e7106155124ecfe85498394695dc329dd228b2adc2f74dc5ffce427fd9ff8e323a5f91a5ff007f0a0126fcd19100ac38762090c2cdcc2c04b2b3fa685007774741ff5e861a1afa72726fa650ec9121b5ad5a0a1691c1fc5923bb415c8cc50b76e03432191cf58ea7485e4fe849e74845e48d6ccf3bfcb84d95571670b49e633203021c5f49fce1fcb4514f1a513b221f8b272176389e971eb417904d5a3646054420919398f0d40b12f155ec2d0850154e5927b0f318ff0a5f622da84639bef9a93037b6ca518aa53e2d2b09dda9643686b85c5ba0f9036629fdc993122d92bf353e4f731ba2cac761dfd42b6a1762151adfade829486c4a16c9a4845d178ba98818bce41e8f5502826892ddef499d2332ad3c5dba30e11423d77247fb97ffb65f5ec920d95cdd47eb19c148abc4a42fa4ef4d7632d8c6a4f734d151e1e2706b4759a5162a5da1b5274321566ef559486957203e5cb166984ca9c47e1cdda41e7ab2c291a742a0577ae45948c90a6c7b129aac8cfc33a192951a793a43a586bc740707e035418fecb990d0156ca5716995a8b4dad42249e84653107e1fc11af1a1dfda21a6dda1bf1b6a22df4e56b8675ae52d8a9ec8e721905537a7651922c22b3d37bb772348e080e36645b373958cb3043fc244b899163ac60fd17a663bcc1c0ed1e78647e660d18cca6556c2bcd80a3b2fce24fee3efa7867cd9caa1d543a976c7460ab3bcf58472897eb7fff57fbd01e31c0699bf76aaa96efcf2e1413219844da8d706f1b745cfea569132172b3a4a6a6d5ff8b412c994185d047ebb762f280b5b98d7923672c89311bd2632b4155bde4e71481ef75326aa52072bbc1134df58d516d9dec18e0e286f72e08ec0d07d25a1c77790481e6d49af550ecd9e75f858fd2e79a09048622ec47e5f24e86d8c4eaf7f9d173e9633be3b55df07d7a645eed5e8f2bda3dba47ed71830d07b5eff16fee8114113fd8f76d7f61ab9dadb2e075a67b88df9ce81c62c4001e2bf2d09ed355278979b14ae77860b714aa9d4b15a75b66ccc6df387d2b84c299d7ed3c3cc61343785cf411c18d4df1f1817c3712e25627015cdd9a5b6339d1c834caf686032a57f23be6d380f70f5c0330ec1ff67bb7537de057a957e8dee4cbc25005bb24d98d1d28998f00d64a83b75869721958edae31054420e87bd57b8ccc4f6414e1b0addf237329b76a6b98c51f8116e3fb75a2cae9206c0afd0b000b39ac3639c3b8b0f8f001d36d1530262d7f86a5b643e5c325a50aac9433743a318c67c11efe99a609c9ff7a962ecdc9414af1e9948b5b810a9c08dac132be657c22186cc2d3368df1fb37dd47166b4a9a29a6fd74eacaf7d9a93a137d5dd199b63c5cbde144d97e1929dccf6e320353346e2587536e31fbbe2e5d4e65e5b956e9e0f2558ad65beebad7ce78bd88c2d4e221f80442132b6ff712c5bfa7f43557353e30911d6c9b023f8f41bf50d65337584c737e4a14538e13cab8ba4a0c07fe9cbdfea94a13717f27279f90397d7f52d8553f557d475da5063046e0d255b3b296f960acef38469151088e72d2172ec7e14c82d744c9fe0063ba3facddd3bd9cbac9e564d1a4f174c09df8b6ed887f2b1202327d57626cea63fb67eee0ef345fa9059c19c3d852b0ed3186d6202f8f2d950c0bb82901bd83ee8de489a2efaba2c667c5fa234bad7ab3783e6a860126e4612c91f61db3ec84a5f6573a6e3ee43ec7643608eaa06f6549286cab3905fc0ae52b4347e24ddb9f015892f13f6217b51d946b7c247d65fba872303e50cf581823c6646a3869833e8d48c83c298a1d16d22fb4df0d277ffc3be8423b3f3b042648366258dc0b9e1eda0c652b8d3478700c2c6a7001e271cababd8624e83e5b49fca8f1293a22f1cceb648336a0ed2985d50fc07b4e0d5df27d5e8f055c589f1accc854b35c3d91db67dc6eb1ce89a30d4ed0fab0b709b6b079b2ec11f7caa398ff8849a3f0cfd06754a0bfce062956d66f8fe3a556e080c849aa8271ff4c43ab84861f1a31883cd40076aa1ecba0616f648e6ad2673894132a4d2e8812569467320a60fb0d8a4a3f92292bc8a9eb2e8553d68384d27aff7ca30b478dc6bcb4114a2187a0cca5d256836284867ff0cc8e4f4164ee33fb6871419e4b853f4b2ed3c1f1816debbd7699015d63b35e73dd3a45e1ddd0af9072f4b63f12d3bce33abed1425815bd9ce25c6ef1a6a0fe7ff9094bff15820ea74388b92fc9ae88e360d831c1468ac446507c697907a962de29a94a99c4fb47061d16f776901924280ee7362fb5cb6826277c48df852293a45ef28666a7a18da8f439a3b40dd0c6c8cfd596702e4a2b961c2047feed77f2fedcfb21c00a352c7bbaf6a49940899f4cc2ad9fa6cf91a65fcd479a6039ff8ad1445ac7c25dce5564ea6c3882f48426ca86d4af2b013dc3222d6f60c5f2e287ff36b846769129c6b4e20f510409d8b3d54ef38b1cfa16b4706b42bbf1258da972b5700fe05fc02f77f6120cf39fbb6e696f11173235417fa87fd0181f9bd4c4ad9522b3ca6b30407756b8fd99fe13d0a3c7a6bb7b6072b8a70f9543b1086bd685d298009026529e2803dc4f108ec184fb2ccfe0007e7f0776a361c3a1b8d0724c9be2ffa53b79854ce66dcb8b45f102e2c1a98b432d76685e7c0fdda608a5d27da403de53f69ce0803f45b2e95fb0fc8f3ea47ffac9cd7f7a095534896fb4365a144fa62e69960b5f2396f0b1d28f76c1ddd117f8248b4a9b3349d41a50959dc02c9616efb77a1553ac71dd3bc8655c6c955d839f59f1ba8cfb98112c644e0ea07c91cfb35e96ce7e65719928a5b938e41c64bb4b8ba2278efe1b372068b3394bbe919fdc76285465144b8ecbcbb81620092cb1c7dde62a90a1dc8967fdb5447b1320759b90420f45773c9ae4abf7ebb57364a90e52ee1c129d6459d66dfacc2891404f1e41d322bd19695df097c6f0e15f8dccd8cf5c750b60328e1c254b791571f48f97d8cdc43ab3689d3b8fc79bcdec05d04d44e58bcf3b65b3a2f7e213b2768a3aa5f90c5c2f5c1f88641351f065a3fc67e0473ae5d03603408bd9f9392425f003b80933309c251189694f205205b230888c7bc05766ac640723fac40088a4cc9af445b3a4fb9a17be3150d31e1af9c304797477c1d0278620669a905d052875078b2d98ef864360710b312b1459bb258188d43fd60ffd4fe5904ca4a04110003b349fc46adff04b3a1ef4ff9b20fb90f8cf197b56c02742f0fb92c7cd40a146c64a8c11be0dcb8a22c10715a75044c191adfdd101a605aa3c1010c72d031b7ca46c8abbf789973741b3a81e7296ab41834c5574234a906063a772bd69c232f1d8d1f685cfee84010a1a5ecab9d6a36bc54d6f8a3b3521ce5b13590cac2c02880c5955debd716efdf3523173ba376cb43d6f5e93ecfdfd312c2f42fa4db08b40a75aa097a4f4049656f05fb4667efd41fee8479c683003a53497be0fb7de873510a7289e9cdc5fb7f00513de0d087f9ad809bcacd55f43d7d0a2e8d766c0944069bd2f2a2e1cdad85377873a9af1ad2ca03dd536750b31608fbf1e1f248d014bf093ab1cd269b1213520174a4629d7b083e90a39a42d472386f1ba5908a78ffc859714e1c5fa198a14ffebbab6cbd940c3e199ad1bf375c8946e9f8f4fbc56ea48b53c33d6e2bb09e1f8835a09a0bee72b431fb4a45ea83480da80fb6d9f097f28b69fbb7de8f4a0d62b9268e0d4e98b7ed138f94a48379d4159128b252faefe3a8c1c2606ab0490495158a04d789be88053f4b52e4305ad6f8209daf295051db3b8536d03ee7502c703d84c70cd19743f1f348533ae506b83bc898c5abecc6d8e39352c2cfc3d256c72749964fac4a9b3c4cdd66433bbd16f9ba868964fb95fb9a0bde9b2ddf6763ea2c112d35ea5866a3f99eb75d23155cef146ad83abf2a0e00e0a16910e878ef20225659672e2779fee537b5e7c69ce5f4f31f75298062256e79f4faad0f54e6499ebef1a7727c30a1ae0d48e5fdeafd1b29f806dd7c4d4e854a0548e110508f6c3e14b3907d7482859dbb948a281246a5c522572a327d70877a2185f8f90f25be40bf0f5a6a55a7ff7692d32008745fc533a70e59a3107c1c5c0a7994e9684d342a9a82bd1a4c39c3cd8fd94a6179fe9b0098da7ea967de7910a3568549b5a96cd0604ac9d7242a83ee052e14e72d31cd6ed35d3d8cf0fe05a8be63a79b87021ae7fc08c3b1807871aa74b8b90c59a7b425d77b2bda7654e21fe498f2f04e10398623f46ed6e0151e7b611f7ee5bf8d36cdc0702c301477453e483599328ae6ea91a6f78f27f53f70fb7384668a2690c1e088f3d13802ee3609b8518d5e0cac3f40ca3d825f9461958cc440ff1ebfd922ce3b4edf08ebcf22b55a3856672384e7365da7f633ee34f23014898565986b91caa43a3ff492a1cc7c76f43a55d508310798beaa345d551c96875be5488f93fa18a323741a0897b3e988e31a6eec048226e6e511c32ad09a1a6a6131042787594111570a24e21db3499c87422d3477a0c59c9bc2c094a13460189ae3a629d019a0f8f3221d9de4ba7cd8bc9892c92ad8353e656e36f8b37036c998921ed1e49f87286de3383ba87ddcdf3fc9e5391ccb5ca591314d8f51c262da01ba0d73e0f90d883249ef31f59b8746848993bb89998cce1f0b6bbff095d6cfb2cbc9cfed925e1967ba9a7423e3bf249fadfbd563f8aafdb56adf5fb35fa81f932af2a7cefad8a91a34e4540f47794b24f851a1e03cd94a90cf4fd36f5e6edce0f20635685f8c11058aab2d2c933bf3a0c444497fd1af96affc999dd092f33fb999b453665f47baa38627428cb3a4068c319b8c4bab3c70fc695102342deb9b3f5bbf7cefeddc08c5f2055e805a616d0e31ca503d056cf485409bd0d7225942b0b39b6fcaa113ddbcd9aa7597b9830cd2595180fc5aaa72cb69530c59dd6c6b6ae57fb2d658e30ee512a24c618272d92afead2f87847e32f0d552f4e1d92bb4a336b66e65035a4a61f044fbebebfb48366137c6146483eba18b8aee3bb2603756d2d001e875f94f35605530e0418bfeb94873c39567fc45b36ab72f4403f56629e147d54eaebbd8cde3a41a6eaae4cacdbe4e97f531c3cd02bf10cba5823f18e72dd40062ec20208eaa75c34b8d6a4905943ffceeb7b94e4bd5848bc57da510683a33038f90a9defc41f0e832d9624a2096e554ec44ad6f6fdf74560adcd3fbd09adeb2bc7333413e91cf4ba68a7b31890e74a26721696253433103b1d6f9a2d02899333486d04191b31d85c3c4d4a29d9d4517e674ce13e9a7e2b864508c1c9578ba32cfffb8aba1459057dd9d7e97aaf1d289e071d125dae706b63d4f0c7d34908248719cfccb93d34f5a334e8cb7862c12555c71bf08e7266ad4ce5a268d42c6202b7d44cd9cf6d8b4d984739472514f71d36fe214a10fc48e12131048a123fb8def4be13807fa1a088d89d1e94b0e55f00df179e47711fbc9aeb6be7e1896453785d18d4eacd52ad14f5944687bf190ac9b5bf45acd5e89967233ce33f87c7aa513a4f83bd008bfdaaa80d829a2585a0e4461599c77419c444f98aea00e7fdf4508cccddffa60d754105081856ba22ce81b01035af0b4415761678f50d929bb3d086c030afd32add9b3ba2c8514339a37f71485946a7bb6d100bbfca13fef9791da58154b9f45689421ad4b788183e411985760ab19e9725625b26caed114712e9465d46791e2248ff15ba514a0d4319fd2878429075cf2ae18be2e73db82acf48b9db5cebe5a107b0f020e53466b02a78b45a3727eb7d560198b35c0ce4b37f1490f1bd37440e413c73fc71fb1c9cd6a4f6961b389ddce38c873c1602e52cd9e40135b64f28151fa0e42535f3430ee311abf29250f7315746046cbfda425218523051210bc9b48b30f126a378c6b0161f7931f422ff0a2aa0d20b7d2de91f24c38175f4c5bde339f3160d53eaf55d5e588b00bd35cd7205727546ec5dfae28ba26f4757dee03452566a9b9c7ae6bae254b38eb960409b59a5869f79f3a46626aa26b64a4ffeb61adbbd427e2a96f41b88a437bf72e2e05bf53dda13717b50ab52919b00cdd75fe9ec5706299fd27c1919ae03653924b61eaf383d6af5947e9a08b5e87a128a26110830e2385b9869aa04493ab7d61c338a19ec4958562cde99dbc44f70f516d1d5c05021e112840c48843407a23ca6daf63db1a8d5511cf376ec72ae683a8b70504844e979b2ec38732b6c8b53f9a0d3627b9dec9e2faecbb6c129225e104a4f93d325d22f1971ea6e1ec120283d4091ff9e4750a7e0507f3d030d3fadbc832da2e252a928809c3edc8fdb3d18528a356bba5a6983612f43052d15102ad0c378f0baa488d5a58328500d5c49fbc84b55e95deef6615c38d61f78c3b4d9a6d4a4751c1b72e916cfbaf6569ce2c3fd800435c60ce0ddaf55f3a501a80ce0df981e69a0044623ee96b13aff627d91855d9d1da7c867898a46a90d9bf719489e08e36fc0fb9351a98c02143c3d2d9a8647de6342422ceb07fb6ab932aa7dbe413a7b4a1edf0fb4df16a61784705566a1c39d8d05090f4b3384a35f31da172056fbbed627025b4251c18cbb2083a563fd4cd460bf6adb9a1c5e67b3fb2213237343462d6de2e8c47f22d963f37f4e9d629b14378de65d0ee0067f9bbeb6cc0e74a8ae4a949e10e965d596e9dccbb743961eef9db3c0139c89f7459c89901bd1ccb99347d5277733cbefd1abc33892311eb53e3386ebade77a26301e2729368f1a810064d8745c990286b40f039973d8ad9a7190ffea752966d219dfcc741a58d2ee410dd61b633e76ec5272db9eb7d71767313b983a6e514be62a5882de1a78c09e98350b24c1c55c965a5bd6f82fd0d3b10412c00bc3e5be831177aab7ad64eed4ca9150c156749267f8550e82ffa8d3fa0da764e4e8985670524535046d279cbce2bb4f93fe2e63bac2c9f17ab154e6f6adeec16f2e269892826a2abe1c181c9bb52cc854ae68f257e694f76e800013f8edc767f4ce1421ac4af35997981a064e8872fbcd2a90fa4db5934c0dbe3a37d4c3aa98ef6a53de516e416f55c2eee419f583df2ae567536be140a6b302aaccfd9c88c397d76cc2228caa72bc9f9635a31609f3707a3bf682705337f26a69be98ad1375fdeef19338ae84a5aed602d2c57e95ab81f7dae5c47a9cb7871181edf4acb566f8361cc2cf26d6591339c048911f423c70c389eeee8bde9b383ebda9f6c042fe93829ec6eeb3b33d4ae226dd0dd583b346384d8921b516c43a6689ef0815d4b3049822e3517862b028be118dbab3bf48c00924096e928c737454e009b9f7562f65d18abda951f90a36e28d0dbe8906dfd7f9f5e711f0d58d427d4a79effba9797214965926d4b8c6f93283a09435f39bd6b77fb967ea900f8849747c943e2fce11f3b890a55740d08acdad7f492ae1e24ff858bfc2779f19b938b1146093387ad581c438b7d751316ada752ff078a9aba9eaeb85d56a6f890110d6becce4924e1940eb2b5fe690f25e08429f7186cd0160f8fb2cb122ce4ca58812429291202a8f3e9d4671ef93e669187e95692401f60fbe08b6a8a63b539494759cd32c8f487b26366c71e65341a55fe7c0cfc69c073f8dddb8eb32d0033b180993824d68ea59ae2322e32a305f54acdc4fc0e71dba95ba93481c66a2a78c2e62abffd5053c09631d76051557f0eca4cf25b8402824516f62af3ad72e51908c4ba607425f01505da4418746c19c0beab4da54b5a56579e09b506e8123a232cc461d473f47e208be3418859bfee7a952258a90da4961045570b94fe8a19e4db291e2eab8d43c140ca62f48226171f422a42b1c96ddda5e6c62f82b1594f6a23acdabb5e809401ab151bc209cced6d5bafd87e747669275a01c4825b9f9524d81551ba77fe4a1377546ef35eb1faa8d32e686c473171353d4f1c1a62669a77baebce7eec209e35b47a5b81fde5e4034675fd2d18e6d088efad3f9d1cce00efbe1876debe01b6fd11d9c91dfec02f768af15894a73c8214441794a5bec798bb2f51861f4778caa8d04a59507c87c96f13d2380db0b9d9b3874d064195a5bdf5ae596d63e082a0d042a5db6469a03a8846ef6a8f40379bc38d82d921e858b05a942a86f4528e2ea73d8b149783e778174dd1bb17e69837b9132845a9e94834f7f03763497b35f8e73a97084ebbc245ddc63e3134b5a5c2128bfd74e601b16504e543142eed4a2e7184319b019625e41884f6a4904b1eed7a251a3eda4e06e62e76c1792345e04ebaa1f04cc012d86cfdd078e8bf9ebea9aef4e83911f3fd3a551a4ba090cbd4193e7f4f736f4fa9dacaf13f91178f7546824be8acbbd7f3efdb91413387e6ec55f78cfdd46c91e0d155274306f82e751b4402e495aa87d64c6a6b77eaca3fe26167a99e79a174b87b8e34d3c1d012be5bb10c6539e4f00305b52cd624b68ea399cb2b4cd56ccec0fccec01b85f4a2d252ba091dfa5cf9f4e70d6958677077392ae8be9bd8f1f4ee4c178baa5f876cbec5fc042060fa24af89023ba40cbf6be9f090ed345b7504371d05a91ebcef01e6a4fb8ba2e136a1cdad0b6f06eb52320d50ddecb7512375d10ab54b0573dea08fce43ceda17bac3ffa73d01567c458c156311d36249e61283d63c550a86a94cdb5b5f660bd0e5323c38cc3b850334558366c9760949f2cdf6124dcfea257733917cd16243bc069af6baed37bd107ce889d8c4740f52fb8fe2ceb1cdbdd2d33f68d389051a12b2a46fffa5e7e2f26196705636071054d82e7ebb3b80e8f1c5ce9f1615a06fd584ea08a0aee2e7505fb264b11e7e9ec4710754c398148a2efec950a526247b89e9478a53628e0b4f9c1c801e43b0dc19c42a368b8c1b14208e1a30a70c497cb7f944826c9e3e2b12c37e9afe648ec67d681dd045b1a0060db42481033020ce73a05fdc570167c90a1b4823e9727e8c59baf357ccee58086f43a7b96bc6db952a55d4897e3ee56d382381dc0d74b9d26ca3ed096abc41439f2af9671277653bbf8ebd772b90cf17ab3d1655ea8310cdb3fe0c7fffdbe1fc7df22ffb9f9bff40ce1307a15264b8f70fbbdac4b5c63e00e5851015f96e24a7c8148d074b24c83052f759d228115430cbf68f9a8bb325724c420e524b34f9cbcc95ce3ac055334dec472500e128c8c0d227e48b882e602fcc0e874e0c0bc309d14842eb0884550c4e8ae1b0de50fc482ca2026c28fb7cee7fda321c8ee180dca7e03bd4076e913f12e309e2909898ba871d1901840db1fbb8729eae53600accd0d27ad521910beaf06a42b077f3849646be848179efd5f9a441efe34c00aa2cc759abddddda1dfa1c32d38792f2744c415cc7c96cf1741b6acf9983b4342f2fc27c332cca65b962ddec556e71964980ff3aa96a979b4d04e6e4f08d10f0418b3708efec78566ae1963c5065058e7f04acbba72be5fa003a04ba428b49807abd7e4530d61c3ff771244212477c81a651dc779987bb68631715582cc046e149b8125eccc4959179b2ffcaf1800a5d2a79da58b324f3200965693d99c3aa048fcd56ebd0c431fc58083b8e6a37dc2b737a500234d640f4e8d54f685dddb5955792c99f412a276c807de6798ccf01e75f03f423a5119ad933d21c8f12751686e83ec121da17978a033491388c77e0cce3a0afbb42ecbaf95310e74ced8efba58638ce2582e986832de3c7df7b1b6ea4d46f91423daef7ef3367f5b5c24970b1aaeda188ce6c760aad61dcaff2605b6222228fa715fcf1a6e98590b32fd3e26c29ffa542dbd6b875825828f0ae165e92248d485c0b9edc56da89013d683329618f1384945e0d7d20ce54b0db7697c06a35dc6b9829bf56dabd528a1de914d37e40fb18d8d4a17f482e999165ed4a52abddc538115522ed234acc488cb1756040db4aeec85e3a2c728a68113a7c2577d01b8e1067128ffce127674ee3ce98ce144742b00ac10c1652463f44c6305042471df330c23f92c620da17404550b2b2f9732803f938929f0122d7b36b87027d7c0f26f51916d1a66d76ad7fa83276d9ffb5ad469a97e49d5900eddfffcca5062a3495e4f0cbe1752d2e0b49153a4d786843279cbb2292754c4d39bb30805ae7c4b6007fdc1a9bfcc6618dc31b3e1c9f5ec6a72abb015bab7321ee4657a87e1df464ba0063504a18114a4e01d59b2a2d8b587c50388102021702bd1ff00598c32461ed08d7f9508a8a86fe9da6fff3bdd621f663ec77f0eafaad1e03947b80ef95ff6971e9313700b5949fcddd5b80cbbfe92dc0e9819201051c936ef794eca4fe0b84d8b74d4c841ab2323d1130d575fe7f6c17208f938dd65253877e0b72ba7071d97fde33af24e860c1ecec4c69b1ce07ac75544f113b1e1dea0d4ff7cc0855bee2bb5850191825d575fe7b2dc0c5df752dc0cc93be696961c3af7eead0abe38dba097115792810daca823c6ca7c82623643d8742ad45132b2b1e24bdaadebf58630d9a01f81f97d6180c40ed2180f3cc2f628bad9295371148363521869369b571dc8fce9d0ff8b0fc73f39dd0ee7ae6df09f4b503229d3f820ad057496f2d9702909f3cbba1300994cfac306ff51fc8366b4cb51cd6dd94632ee679feee73737a35dee0e52b18a832205e2b0caa7ef84f9173202a4b211aa9fd1f3ce1794a265e9c6d49e3369d1d0e58e79cde12608d4b1d26c1af3beec8210f05e9d7122575f45df41b9c06096d50af37a53e068f90deba19f50ce0b840b02ff704b71b65813d1bca601f351e39985d76afbe1ca4ff4cc4d70af403d11a7d06ea9414e37253409ffb34749ebaf8007e1a2dad7967127494e9b824013392eba1c9dd58d5aff3e003e8761173d26452b08b68dfd4a924ca680872638425e46e56eee2570b7faeda79c90fb20ab6fd5e4e7f4104b83ce248b37bcf5e8403a9bd7d3dd23f006b1cf406e97439ae1222b416f4410d72b4fcd3137451d18d4727c4b7c158cb64459ef11a04b8bbdbffbd20030f4a91a411b260923c9b1f37751d6acc1164ca4d3cb7fbe657b3fe1a659b7791c3607c5ba15b759dfaaf3704888324614d044035beb07745cf3201f28c6283a22ceddfda0e221dac53e6db4e30b72b02e84e429409d9a481358a248d8722c26aa35321c7b7d10931ba2d2adada8457ef7241a13a15bfeaba8e802e8b69e68dec083a354a163cff00372d18fa47f4b4f7b74191fe490294cc387a9a6f426f902af81372f7458b4300a64b1cb8d0b4bb3f8e78ef7898a88b82b0b45787b7efade78f5802ecf16ed050cb42888df96978ba40630a08d920992fc375b6d8dbefa8e8e20b95db26008a0889b2fac5fca73301ba245a700f6b2c7802213845ae2248e57cdc7f81219cf9183772957daeb279ece7416bebd2661ee54eb7452402af13a0ebd609a02b497e3a20f35a9902e648a1385ca3dc540f98b0466fdbf26c7ca51bc91148c11d47a123f0f576f6113acf2314e0da0da75f64fe1eefce08401ac9d5135ac2b256877f9ef542ec5ff7a3f6f1fee15f5a1e21802056f0deacde5bbe5617ea61b5a3a83c535a2281a5d021566a1bd8b4e9aaeb974076bd993fd605913bdadcbbab71e4dbf586dbf4872c3132a137870be333af0707d87b96cd7d5b0652f965ec01c46dc76a757d62abd15ff4df30acdc61044022d0545f074836d800f344b87e3e73502017c4fb237a0f101b25203b29ed90384bd573becb10cb5c202b6f0998a237476f83a06583585455c77338c0f75a18da1ebdcce50f05b82646355809a8481ec214ea36a4850dae5096e90b6c02f76feeba9824f811108571dd58e676e081c958b55db00e747e14ec976ee81e35877ee145fb9813ab5f6eac6322faad528093b6452814ec899545514b6569503aa9285cbe7e95065c289673a6a92bcd3ee2512c1d24e12293bbadb77c4bfc38595dbb71fb1d2b2f203cb534376c9f308f8ad6f0bc173e837b245f9e4a2b65ef8a581227c99c56730dea71ef77f2747a90cdc80953087ec7b2266454882788095380039eb53c144198932e8d0d364f75593b2094c2557159ae4a0fc759f2962bb44f45ea9911d4643201134b607c60addb4ab2bf971eb5895e98dc57bb4c214203f9695e7783d4d8444632ac0312541ca6c395445aac0658f70a696829864774655a64f556eb27ddd9c52f016e62100d8f3122cc54eed130ef78a40119875b76ef5a14be0d718a1cfbd2620fd708ea0dbaada255c457c18cce54b5d9c821042a2a71f0d514973ea467700a615d79a37c48e5f6e6c73634a631a1491c250ce3c97091ba9f35602da520e7daaa794867ff23a4d57bd28058522c15b0f10dc43cf0610d7b4822939085e6b7f85dc693d9ba36543df5a226ec95895251b22dce3fa6a9e9e79b01ef69427229beb4b3085a3bc5c873ecae94acd53b8a5312f2ea4b08a0713ddfff08e6d44a2507512ad1a3a446664d6fd9a3b2849cd525253299aaf2684540b0e42f823064f47e19d415b0deb4795773474801d7d7e2ecfc4e1a8acbb303f2b6b4edf77f8d65ad89e8e832f32473699b098d36acf83c63a07211e5eb70caed0c9d3b1b99565667371777e5c922ea86cd00143d39e428e053c8e2433a0ff2e1e89da7a454cf51f0f464fff5cb18edfd67eb6b56432b8ab5031d6f432765f8cfdc432d8dc64eaa1eb3404d923d2670dccf5bb227dc41de1872a71b15e86409f93a32ea380d57256362960fbe991e80637f5807600c15957900bebad7fe1422124cf5cfdc6fbf7b98c099d288d91bd7aea3eb830b50f358544a24887c9c56ed9859e0cf01fad4f4385f5261d7bd325f2637f7b4bcdc93748869db9bfa11e8810ccb33c9618e3c1394e60992cca92ed5b2bd4513d2af9dc283abfe4f108d5e31bc954a9d35f8a4fe2cc3bbd9ae6910f8ffdd460c7e4e89e7d97456a5f419f481c8dd1d89f3ee4f0c9b418b1b4bb82effa353c55139f53c11ff63748f21699d6ca4300d62e20203bf4afc8a1f902b83778769b65d570776d4488b01a68ced293a48829c1533c1215e72012570f191e7d94746e3012b8e6694f2f561187a5639c53df1c75dc377827b0b6a178f9f9c1bc1dd4e589753e42a8ebe4bbfd5fdb4dbd5850fb28cca297aa0afe0b7af41c944bd1d12c6ac84e4bd4a11db0d716508a3b26af4169e239c33e5c22796ba248df3477fb3a78d7878584f5d71ef78cfc9b0669365e2d649da605bcdc45ae2a5ed5ccd0cb19a067b4ce0c23a36844cbe4732101d040808bb0f945cbf030192ab8aa62e4b736dc8f98485f517e1963d40ded33037672e9ff04f784be31b3f4db05ae037927d42977e2a9947eda2b63a375cc01b84513915f72e2e3936b2765d871ad9a204523be23e7dafaa0d4058cc7a5c5e3f8c4c388eb8a2408a74a859d886b3ad9a36036c2ab578fab598d92cfd28b86f52088623308d1ce7d6e07b6c1593d5326087a44ad4dac98fdccf5b559c39545cdcd51dc7665f1a645b88836b68455ac1f666ccbf15d58c0b7e63d4453e6320063561a002a214275a6235763261c30904b725dfaf4d405f4994c77978d8c4ef44ad76cf619d4f9261a6d504c72780f40236a55b3c70918e00933480057d739f523d6fdf46bbed0d6a38cb8ba8fd5b0afd40853a29755c3d1ea46d78fe14f4c704cd3c6287bcfa0597ab0932339061b1fd4573a880123c3b0f5eba6f47013a480024e7b5302f13b6ccea8375de498a37b89db6e9c0032cd0db032f76e1d52a108be75343abf79ec0272c47f4772e13c74739602b2707ad505fbb9513dd98b65f946a13abf54aa0e6a37bde40f80c007b247610009277d51c093fad12e806f293989b08a927bb35473260ee6479d0998bb0600a11997384c0065817ae1b4237444a77102c67f6645e9ec5485f340d65abc584808728112be7203a36049ddad348061374d361f0400e3917d264d7740efdfcb7f52fbcc4dad301a5e41addfc3d61a468768139ff1c260419604a02ca08a2b11eaaeeb3bc732a92577e43cd562f877636d87fcc3aabdbe5204d76a45d31380569a1ea6a4237ee47ec80599d5dfa211c0de1de57497da002e40bb07984515d6b90fe5b9f94d8d65a6b9a6f9a435193d520e3a9e97993f36930149b70088185bff611f31adfaef1df1e6b8afb118a60664c791263f3b4a48440760f05d3582b0c9fd7c6923cc97c2193dd87f64032ccbd74b6fca0b9b61a8bcbbfe3ae7587cd743276f759b75abe18985a2e8e0784d586b3ec0973471be32167123426af4db03af6cef59469bee0c1c229a119ba6a0c596d09dd02815ffd2d041903a5056023df191e0787c097fe4f5a6442c931181c482d7071bb9d9e54878515fac9f95b065fb95014234fbc8bf2dcf0294c94af8dfc65fa5ace723f496301ee5184fdc8fd27946c6dcd6108d48fd9213f5b8e762bde8b993d0e44b126e5706a207d9b3b37afe4b73433e4f2537d9f347b1ff41e2ff265056e4888b33f53d917c8e8fdb3b1660eec5a8b64ad5c5452a95ee01e2c70dbb3c45bcf4084c433d66df15749d64d67717eda9289fce0e76ad29cd50409b2384126d001a1bc4228ed7071575001fee4550e221b4fe1f2532160f9d3a1536076933879a1d5c386dcab9849b56e87c8c40288e24320c6898578b0d99f214c2e9c38815494813408a086f99a7be926c93778c0b7f385136f0e2c2868a32b15340b3832076c8fc4838e435232cda89d249f661cb3507aa445705bc9a63750c07991899934367c3e0dba258304a05585c7ba6d65ec3563feb6b9e4f759796e141fec4a7b7f11fc94b0d357dcc80f3f65c4a8484abe7554f2c9a27de392118aa452d98a3a905b00ae988070f35d90de37126e5084d2e021af55db28680724521202df00028cab5860e49f6e120d51386071e3772c9edd2807bbef86062915bd9a247a93bc47f6db107899cc7c5147ea4ba615e7a8b03ae8875bb245b36fbf21cf1c6a1ee9e621bad03ff770a000ea7e01161db4f6116ba3dc588fc293d8ed530856c7c371f56ecc52420f9fe1fc0e05a81498e6f150f708b709aec1c9e3117d97ca973b6831f5dcd513a75bc98b85bc64fc3f59ed2c3d15e7b1c6a56efca1607ad8672f20a8c09ad22eb74575900fff9766173faa98f4e47c93d34c2c135a6159927a08e185457a657537c8cfae837ea27ba540c626f081cc7c068dd8c9b9f9ec347a2146709304a0c666197e3bb5f11f3a0164fcb8671fec341d436b6c76903101fb0180816f4aa68719500d42c3e958414c608d591ccf75940c98c829ad8cdec91735ef2c90f6e100f21a505f97dfd2372f57914a7ccc2dd1d57c16e11ef8aeb6b165dcf6e942e8cf86a93ba7c5089033d0660797472ecfceff37eecf1916ca31a79fecd24a2030518d7431425cd6445a5ec35e0b71d5b901b5e99f7bde3a8d49473a3e92d9873f927e22644528aa497062dde9dfc4585131e5c6135a8b79d4607b03908919990bafeb27262831352cd6de26653f3902f49a76943efbd42a550be55c653d8d27fdbbcd0e2eda0551d3f0720260108d15c601924fd3b7371b30de44562d8972e2535789d6d5bd9512ba845515b032bb34ec1eb822cce65669f4bda81f9578fce7f7fecf9572c3371100e52009d303e460ce396f8e2ce92b8a1e3b9cef52426f75097108a251c6fdb3a5678141c733854541587ec13d2cfc996dae5626592c51f564ce4ac917bbc65db37f706e7f89403d036daf1b7d468db9d1d23e8d2698d16cfd1032493fd00b85b0cccb0996735ad406b0cbf794278153a605311ba25560b64ba7c158290f5210ea491dc850d7b103157b4547a08feb623f971542450b0d2f4db72a307219553ff34f0bedc337481d3145a0edfdf90664c0f4ba5b984a9a7a6fa2508ad8dec5356b532a093a0a4fee69867cc7f7cb5126809c313c820dd4cc4e820270ca49021c47862695f868457205f3b9c6648a78466f172e3d9a98d768d6ca663d4150b48515b85c5acc026e4f3a266d113190182f2f6cec8cd4d76b6084fa23afa11cc79a9cea94439c809b0bf5abe9df7b22d25e3d2217b98d627fb101a131f2382c99c8d71709cbe158c86cd793e28e433e26700010d3c10185ee0981765a3d29af074430d537596a0b412cdf9143efdb381d0679cdb2f3888ca0d8d1c90ba8818ddf085c4d65718490bfb327179c11d224cbfb756b35fa353f8907773be86917adf1f3d5b12418fb0f1170186a46bae353ae1f6d19a63021144a823b06fefaa20077b6361545c840d1ad13cdd0c2fa0d28b80b8479810fdea86e10b00eef2c4dba8d975f24dcfb6c656a6073124d96f0e454f1c7c797b5fc6d1085b455138d6ff47c838d6252e699798db31e3e71ba0f2dc99530d992c6962cc370f83d4e96359bc5c5b7945fab3a821a93066a8da445296d0879e4b4a6629f32c2bfe5cc68dc7cf5e4b019530a7a5995e6b419bbfe73a3a680cefffcf3fe275680a22b114af8167a7401e1895854559eeac904b4127a4b79143ba5fa99f6f6349a9c514e54f385fc8d113dccd99bdcf990b6b51de790fff15b095b4b0d493e7f9da81ae9604acb8129c11461947ac17e7be61739c9194bffdfa1a2e33bbbbededfb2fb0ff25b9f0d41a28bcaf31130886b7e3090d22ed10c0d6b9e6ac3fd145898299175a3cef0736a356b13cebc305be8fd0ffae7963f6e1b0d28556b81849c3d155d62a449234cc65c5338c554c10f8003e794eadf0160c6e91a634dac8b9888f2c3869d22e9fce0badb544e6fda9d508000ea9c0ae5d1e4f8dc5ebf28d66608f8814d8eb9b446918b08a4a3f637b08c4653d042f9e20ca62aca482ed3394d209973a5c3dde4a36aa4c94472f70adf24c73e466d13709d8cf7d0a9d23b3c76baea0f31826510b5331fcc8571d9a02f9dad11625b08cb293db7440a91f91fc381375833ab9d711f40efe65634193cd47d948ec9a0d3de0f7b2886da4a37502d679d0bed7a9374f208c0dda018e24228bcdad80c92878ffe7c6c8e32bb588890e66dc0bcbb55bf2104ca2861e74ed3b8802cd1682702be9fb768142f7bf55a0c24506fbc89fc6c614662dd341213145d825e9ef54abf2067d1209af0269350c47063cb61846c6e981706b12de6101808e1ce9726e9209db68b21ac26e39c1ef1e361aa673b4a9c725898c7808aecb6131ab9ffbc4aade391eed403f46d86bea2c6b2d070f7d657143c14769e0a7e058ce88d8987fbddeb9cffa8a4b2a789d62bb0e32a0b0d569df66d73a34915fa77d188d5973bb30596ba395b10608fdca32ac1fdd74557ef4bcd675c46ed2a7beeb5960614b9a68ee53b54da219ff9334c60911659d7462bde69707f0b629280aa81133814b1bd55b694f5c4409a65efb111f3cf5d261256238a0b6d22f2f42499fa09d243145548dd48b9b0baa5fe32603c1b4f8bbcc660757eb17944a73cf9a71a0d7b6032561ed73765a4652d0c34d2b97189d3ab55e272d8041af64c74b8463c565ffa8148c65c81a723f26c940004e15117d9c92c66de2f6a2f7d2365cf4dc51f42810b0224a0251b7048061386857b58b86c2b3545c5561522d00e2622f672ab5131047b97d21d120c2f8bba97febd30c2e8110cf1c60e708e8a6189da65a36d389d25a9001b8b092947a2eced9d8a8e12307d79debb5b89b4628c2e3f8089b7d6eabd12b54f43f5d802a3768b15f6eb486aa9ae8b2641adb39eadce32b600597ee4f22de2444039e888c31cc9e04789a7fb2c0be548827ae080a5a3bac30956af6fd202ed11480fc7057e9002e603d1a301903931d8f64662863fa4b21e1696515865ddb6fb4a5cb715866415f68c17124daf42ebef20ee636e7028fcafa17b14f71ca4c42330506d3dd0eb0b4b6b1273f2643f48da9ea29466205fcc52168c998124be3814610fbb911faaadef9fc3be8010873c5a143d9f63b54fda9b8b4ec7bca5cafd19a1acdf535a3c6049f662ba71176b8c94402068a156ffd4c305c547a9c856ecc5077cb20c112d4e416d68c1350d0c415ee078001e382bf1d3b9d6be802f06fccf20bf1f7e98648e9ebf4b6d7b6f8c8e6345f3479088e9ddf7c3574c644a4c1624711178be99c68de1fa4c397723875fa5d5d5aa865234c4d025e212c27bd1f0d754b87e9242a57bb1691daae90dba2f9844a79bc1e510f84d1b884bb55138b9576699fa5c1caa1ca10b9cb2b89e9f43b5c9e8a5026e39642d11497914bd4e61f597c32d49b25fd9ef50a091bc1e6db7f7972d57342d7cb5de5d942c3d066b7fd09c7ee876513b71769def10e165a049d6c7bc3f0d5b2f79b91a8be25fef73d82ac14a7944ce5311bfee3bc8cbac9977cf9613a87696f9b828175aca770d29c872de1f000d69d40c665c8f8810d35d5d9b1078a88c391078aa0a115250af3742f0ef1abe79a385c5db2339d03b6d365629a5459fa70eca21c4f16e38a310799ec96b9e610932cbe253bbf70c8d82c69569a076d40c2c8aa4fc89848992a9e78aaa6e60b4894d26255fcad256ecaec4c515320cb98bf760768d67dc638c722f78b624ae4777e3693ab741cf19bb15f654b927eeeda330338179efe4010cc940a8ffa37e36734f048fb7e6ccdf1bf14b30a1e128a8cdef6e6efc11cc8d227062307bb1b6e4fa7943d23c31a471379bd62cefba4c1f94dfcb324519026336fe3235cf31053212308c7ab5d6459367240d4a9797f5e5d7bb18e049082ad75d4fc2bcbd45b6c78cc1dc40b425468db95a511d91fb27c25f1b9531b7dc1f4e29ba46d4485788d70601012262876aa0fa892355cbe2b1e4160849a54e669b702f42ff237b5dcab289d5e6ea50ce535f7a3b03845f81ab085aaca53ab89d97a18825e250fc3721f4fc88b9f6dc1949da2b3311fc58572090c7ed7451b59adffcd58b33f1f9a9528701808c6923e6655f49be84e5dc80c692d95fe138014aca57a2453b90a26a4efa4d6cbe82f69b7d06980c49a10617ec3bcb8f3c48d8b4135fee43c6136ac8c19f565c85665e23eab8725022c62f086e6a1816b49b647f7a62729514ef005a19ba9466ca1ba9717db784d7e0ddaf7c4203e139964c42ab71ac800f9d23520d068adf242b78d9b44bc88010a24934a6b07a7ebb9c8a893ade89d4f95d4d2c4c81d90656c9f5a0ab85aadff8b4d93ce82ae9612bf6f5dc20559cb73aea004831902837d45654a56be8342f75e87e4414a6a5a66ba17869e2066a160c98e8873475753a1fce5098e4485ca6bdecfe74496488090ccf32bdba6237b6542edd0b6c9ea46f6aa32693ce139c1935d4250d9f29469d3b2a6846a93932fc019c9596d4b8bfee0f7523fe4ccff72dd7d1b294010d4fc7b6dc836098a37fd5f389e02c9ec38ac475266637c592a2e4f10514d77d893a139b056877fb72610c69b969f57e45e8f00076a7233332954e4d5f6b565a6d5a6cbc73db7394e8b77ec6b481e181d2690da66b5208b12b09ff79199d67395a7ed3fadf277125ce926570c8e57fce2b0b2e8f1a110f690cd5a1906c3f9b43b013450f2633118f7fdd315ac281ca2b6451e43cc39c296f6ae2199770adbb416beb67ab458f9448c11bfbd55fd2bebc23549a230b8ca090008157e6eba416a8a78dd30dde65c1a634a744eb5a3058530a80af269258e994caccdb77a91c088b0cbf28d645d28958bdbaac980a178e3a8a89d740550f1b95af2d95ec3fa8554dbfe22495cb42245ba572677f938764d4478900f4771a6eb19a2d56a4f2e30e7acaaea9109c6e2b01c99c7908190e8b1f3101d050e3b7b66dd0e6b65dd2789aef40b26bc33b90b23d565ab432e52597030e4286e1d792a9f5e0161c5180377134ca87a74a6bab44d0ff1fd5ec3360bbd92cd4d9e4258425fd4af235537882ce416cb787b672a8594ce8b2835eb7594688ef3b60c4d649e2cd3273c21f4cdde640083218936fcd0c148b1d5f7f293d15c6e463784d87487e4d061ce3c5cd3d95d6460922edf742168425a0c2417a4506b016e3a03bfe17a97f3300d61e0c55b0259f8de798121ed41e54d8f81592469869fe2728b839888e82641ba3004119d6f922df0e196cd8c649dbc9e4577c743ee4d2da6d707cc0766522137ad39149351d88c68e2e0f9a670a910793d692651ecace015d712a2269ae25917a2a447e528ecd6e642cf27f585522dc6a0eab3870e0e68feaf235006406905e903c82c16d41ddcab5522c9a26c4dd7fc15ebc1c6d3bd1ffa36c32015e73c8278c72877ebbd3bec5acbaddeb9df3abf8fba2561d5ea93c725b72877bfbf7f755f2d7df2c7266cdc4661f7173cc0eb321420035229a3a2d5204a0eae5965ca79c5c5e9c9c20ea7abd311ae73ae9b369d64465d8388c42fb6a3bf65179e83e6fb7cc48be1885cc626f078b4bbb8578651cbb41708f30908cf5d00f8a9d27bb73140d53b7797d317f2ec856d72c10818d1605593ed38eb8b10b0f6de519a328b58d2e8cdce727a02c0bcd67bfda8cade3f47548c8989ab343097c29e76a12fee61ce7b2f092ccb691c2b171672d3d966ce809480b85c7ef31b7ba80de04c6569213ff65e5e2e725280bfdedddb8c626f37e3820a1e4d8d7c52d5348778e838dd77d5634ed50ae4ccf1feb16dbbbb8ce2df105abbf582d441e5f0dc5a1273f6a9e8b45d36b9bf4fe5d61511a92d19bc0602e914d9c2a8d72d0482224e94d2f9dc0e9bafc8737c08ff35ed22bc1946c73c506d9544efb0163137bfa69e5773ccc0778bcc32caf553267c02b80b42297d6d4bda11f866380ca39130bdd23f57a27d4a1069c7be7278214a76f6c04c3e01279091359833ac69361c86251c95d36e89ece5a0872f458e79f4a9b5224e2a2e27a50190b8565b0b1ab878a0b1855cb7f81335be09c75b4e8ecc9cd208fd1bd3afc49fa50d7b32dd6c418dc9576f9380e58f28d4e42f057fedf5ef9296044bfad6715e39216478db22884f8e37cbe75de7884cffce3ce79150eb5842b935a1d7efb2b34335890574b95012fb18bda08f8552236b00267529035a854c7735c2698cc0bff8b38f9dc8ecc48e69c2e5d5b2f7a41124b1b406991ff22b276e9180f41ed12a7c6c9fb6da789182ed644ae449119e04127b9ea4691ab23800a89e0288f24573ba8d7b2831d3e6257d951bdf0c80f0dcbfaa5856a5a5c4ee642c87ac398412a5309688907a8bc50314d5f43961c8b61bf8b86fd0b30733bd89c2d992f810d0908d541cdca73bd2aad39424b324d176d2fcdd68d120af6a4cf1b7a8970c6edafa8ba194a1196ce83a3e5e6ffa8c311fd4b13b5db482731c7c1879baf1e7187d8d896ab2b9bb1920bac64dd96d7a0ed7a542b5706dd5b56afb5bacd22d6a9f9572995a552c41ba6460cfee592122ab9c71d5709a72ef3345f5f02d51b8fc30162d59307668ee8b943879b703b4c6e984f5139957e00e3080cdb96eb6854aefda0572f92dc1c33666c6456745b25b1fc9a4e2434b14884e1626aba4cdf3db5519b795e9df408fa3051d8087010df853c0bc27f396f3729f97ed78a994a00de945d7d18d9d485a6fda568c58db132efa13fa1632f50676b5a19812f729b060a1036dd806219d0340fe0650abf682a4761d147345e2b2300cb69911921c9a8b293330466c3c0ad72482500e4c448914fb2a7b51cbda94d8e13f247e4329884840b7b8609f18150c9a5bd07ccace81af89bed7145505ce4d1664cb6b6731a18395c102b2513234a3d469c7e8807a7afcbbe554a785e30dc5ac814c7078a1ffd46fd450c14f1c67835a540a42f5b4f9c4d183497dbfede1dc893a13b26bcbc8388b11fd0a588d15624fdc07ff49649aa4470d771f52e58d53a32563d80c7ed437540788601132be302914ca2f0446b4904627992681d09a81e2a1f94999ddeb981e42b480b572190b1255078036459fbf212acc1e6b2f9ec21328a9e8c5ec1b6330490988e029fecfceca1a1b345f2c8beebba80b171c63acf07510d379339ee18aec0d3e62fcf33efb1ceac162432e286cb17fae04d8f0f86f901fedb3e6e780f7559e74614e2ee1e8839987632bfd9f49b8720a40eeadc7ac7f159bc2e7e089a5d4d25f32b90960c99ce2d88911f54f2c9f3bf52d091fab166d09c12c8bcd43af579e26a086caad2f836ead084be29eb6458848a168c80ff94a5f98268eac3aac60da423487ac999f97d2821d0d1b39e5a6792cc1e0fe9fa5ff8670d1a5726d85d93e096e9bb6889a42fad5a89b8c14acc6b17de0964d8ba22eb1321def6074db14c1fdb9805d3beb13968361fa7d09c2132e9c6470b7a1345dfc92e46a055ba3821f186ee71f07bb8ae3d590547742076581b9efbfc409e99c8db844b1c823d378aa48cc9022e21a5e8fd4da53bea167f37734f442a81d7e92b6fdf990235c6ea00f3c96333105d9c25360e1f7d3aa2d25097f4a1995571e20df6882ce686c7ca141fb9bb14de60e60659f273ab43eb14d8bd3171687e769f06bd1f12dae5da744e0e92fa59559cb4d4c6583f28f96716237f26d205532752fd8c91e070b28294631f38245bc0c99e380f32a0d74e0487e012a34b96ee2cc5e2db1390a94264012b6821e8c64ac1ba8a352a24ae2f2dfb4dccba79bf458e878b2af20177ac7c709e40a33cd9b966e58452ac733e3890017702254b3f8ffc0adb7c458ea3d46f3a2a4b8e2fcd83bf031059bb8eafaf9c6acd8338a82da2c5f28563f5838c20b63c14d45f29b9377a9310680ce7b76fa8c5f3eeaef7f8d88ab75bc5cec3c93f5117cb97f364a09f4b05000aa97487fb43646b904e73da790f7a9a1515fa42a98ed537e322149e8cdd6abcfde55d7c8ac0113566ee05607dc76a0d7419a067a68ae0d65a9da9227c4662ec1846c4c4b2a2fb7cab5e4c3da105fe77286c7b55dcc38d36068c8a7fa4e7c642896640b0d5ae91e721e066b4748bd8995d6ac3c594635e1e97512e8bed555dcb589bbeef80b382e348314ecd72a11c3980f831599813686e15204997f498e16a15fd2a635c5a6a20879d73547b75da6c87ce31387d518304fa67dd058b34e220efb8987e091edf8ade98ea99bbe66b1dbeec8499cd241d1044410107b4e7639d0c6782bb9323ac41168e79b0a2f40762b616fb8216fbd7e14c42a68244070454a8a97dbfb9dab422d59f8585a69f7ce20ee05abfcce0659b47fb85a648096de46beb38eb8290436e19f4f1d8e73b8c936dfda23736462f4cdd8dfb1c0e5cf3dd6c4d1f5c20b04cc907e59ac07bda75a94be6f66101d404b81da4c3bbfccad387163c1416624c1da06e233713262dea1be725f9327ce09fee3ff9416be0ffb7a85f3622b3f1aa0484169fe4709e276f39b266068676e8a78c1af71a567725a11a5351cd488e6e1f16fa844b0aebb4ecbb47ae17e15b6623bd0e686f3ed5cb7a201286ed9f5141f4454aa8b2e981c832118a3c02361d2b4150ae3d2cd4976c6232793a86888980441f95f4c9e12816250dd153e66abec12e81830f65dc14c7b547e35f2137dcf223633a4608b67addf8c02cbc4a8870071e876a63714452e47127d084c8c83e7b710b8557f963a1abb3adb3fe2141eb36f07951ff97a5c5ac60d405b538e6440345692ac2386a4f95479b9eb3bcd713fa9fcc90f17fbd139c9777542954284af9cec7efdae86c4d66b438390d2d06c267cb1da58980518cc1c46771b90a7c12a02d95407e07e497874dd2c1a778d457c85f597c883e4ea2c3d330db65c500c9c10dac6243a792f86b416918b8258978957a7a413c75e5ae20d7e13d1e5b4a374afea405eb899c1afd1f78c17170a4d515e5d6b34eb69146e5ae2efeecad653e6f1fe1a4251185a29a4f5b6f5415aa5fa2b878082f17d6e1b9137664893e2c7a84ff2ec49e87c897c34bc340d5c75f1ef54527ea5883d2adc3973ca1b4fe38f0318d328dbfe2eeb661642bc68fd8d2d867b08f13576139b5a47434a71c6447d2cdd412f4634ccf6f1873e6883463ad2315c1c4a905fef42695071a95ac8addda69629bc34365636690ef21abfc35e45c493cdaf39222cb54d4cb72c8ce5df69c228422c6dcb98012a303924c92828b1e046d10f50e5f96153d96af2f9537c6e937fad4203f96524b51a834314778799c8f4bad842972db908632e75f0582d95f17eaca918901c0868291c3845b0f6da413d1b7d814e03845a081d2d3575d7762270d0813deb957a5b475969d044493ab5e4893222f3e7e304b0068baf0f3b8e552e1ee19907dd9496d240254a28e237ca9e07017c4a19c04aaebbd240bcd030a64b3046f6672fb5a1122bb9d2e68636ac1faee7abdae093ec41cce38bae0d15c7e4c062addd94ebef4364622f0d7c4a7eaaecb2d62581a49e68a4d86a21532ccbb72d4cb83cd00531f5b2c898841f20153fac9ae53aec9d1053210ca33ff9178c69b6619ccdeff02570bf89d37cf2cf22492f20b5b3e20adf1c60c74e1d7e40a9beda0ef492f989277723de71f72d1ce8f719d8fbd101b2b3a761d8abc73c00e603b44f7b9ca8921b8925b8af31ec1786c67e17a1180a366ea132d2d36ae5e2789edfaaedc9ba8a2cb8971a15bec36566bf8a97168810d5096740266d3d5261f841ae9515f080cb60778439f7bd8ab55ecd36925ca9dbaf9edc68a821366d597e2495ece39da1d9d51eafcdee5780660b9d0f8b61a9b9b11d228199f04d8fd99e447b92acc288ba87371bfffcaf94a8a97f12021cf9fdac30cc2775c177a6ab3970db0efc6f1adf7d830167218aa7365117c13b55a7d5befc672054830b9c420f5e06c5baf83c8f9d7542d0d06215a75737babd40f4a56888a48ce0d5702a13e605e6e3c0abd567a60405698fc504eb6ba374af1f50097044fdd97e04e40f1711ad342c5c8cddd21f46f699c5f202b59c2d92c07e31a858be69d4ab062a8915f2c0fc36144fb741920a2c6b0d16b107adcfbae4ea586df35f9af39e86009adc350b3688ed550ce6538959373c4c8b02b13232254a1dd0618781c299151cb94d2b1a67ec6c787d01886effd4b5c1d5fc06000e87017d99042d7d35330ec322b97fb9f5851dd23fd1761adadba5da1efd2c9dac55a37be618aa2bd8e4f8337625c3afd91f87f70c67e9a3055dbb960b1ef4be1b66dd48d78372986d59401f7cc49b0050199e0b0be39427cd077fbc54f6b34711ca01bffb62d0950dfbc3c7fdd9a78c9d04cb0fc17e55e8907de047ef012573b7f9d9251310ecd22704562b42f118c9747878e99182b972068ac55e89aec3934748e6bab174ab497995f02c15b27efc3e067da2586b69129ddfb5fa18fbd1c7e4c61433ea15d34909faa592ae9811b089cabb5d2bb64486a5393c61ec11e7f5223bce51c672c3e5c0ab039063f65f49b259e8735f71d58b3cbdf807644122b5b2928d3cbb3f6458e1bb3ff0ba8b525780ada42718ccff906621ba8ee4d633f9418e6e3e8b382f5725052590544aa643aabb890951a1e84dbfc46585f0f60a842f7102f72ccea635e6bcb7c1eb0d8100fdaf7c99c43becca39335f1966e3bf25b36fb40038bcad04f80e94912e6b5c85a086aaa04f04fe25b9854634e46478077296c01b5629c32323671bbb616f086c1fb99bf506a6a4c335c6cd121353d114f14e33875f24506bf640724eb32cccb3c3ab368741fe31f0d2154301b98ab6120492846b1d07ed4df0794e6c9b0c98f16403222dba57870ee2411d491e60972eabf7a2f0da5aaa613bbec6182f26d6373553b437cb264dae34ad9509d072dbffd0cb16ae8e432241855a2507b344d6190141defe8eef5d8989d76692bd08e777246455030a3059120a1bbaa821162a39952a115dd82d4f85eb4b9a6c64ebad90110995c63262bb3fbc7efefc7a592107edf1e4ab6091e98c42eb2ea34926aec7271dd3985e00b4174a23f64ece55de085cb980c390069e41741d26cfbd7e1c8764adc7a1c5e2287233bd8e406f7beeea2ec37ab063e46bee9ab8fac9f67ec95816d1a41f31e98a4473a54d64a3499bd2ffbf777c10534ef9814042b9f30d7ee980862cd097a5214cab0b24026c4369fe361bb31c5cd08937659393dcfbb144c8829231d4aeaa81fc7ce31866925e4da39e671ac12425dbfe99f849d9f81bbe2c7f82c9b0ae70b2c4309be125a1b759614c82463143684b5a0394a085ffc3d6415549544f8cc16079f5200669e180820479bf36732338370cbf96259b56516d1aa34d22358fd3950d509e2d31f77af7e92a529d94835234968b3fb0898c63c8cb7c33b9d194bf606460266780f314fed2c02eb59d825bf7fba6f8c424c8ef101e1bf53d2c85c4ef359e0105a814f3513537a5d883e50355ad6d5b8ce3ddf8cf909efef00a4ef78bf899acee7b8a672afa9fb13bd950d7274e8d71248d7ac21afeec23967fc4d57e6de0f4b9d81094a49508a9366ccbf25db7660562825056011084a0b9a068c31895513c1b507e01a1676be8cb7e7ca6f8d07ab8c088b4f13348928741022c6c63452a6a843361792db26b8feecd50407533762b7c13f9e360171b251ab959ec7ca62d12e5c01906b32790c09747c664ca36c4b1748cfcb3e459b38e9c487bc69eaf4ecf76e218dc910557005048b15cc62c1006644e48e61389cb0cedf4dd624c19d41223433121c630ad4a25ac8a0181d3bcfa24d026946e2b8496222880c38447d4dbaae5e400f55b76bdb9f7a3366d2190dbe3c8227c39af64fd30392536adaf6411742ea4bbe3a6316f357dea22352c4b5c66aa8f454c72b317998eb1738aca8badbc4df44ca444871e70048f901a8208fd18fc3f7e9f8f8899abd333d2675d40f295d179bf75b1c5b3e5c82dc995edd65163cd1a4a01eb22f6598b2f1e78532c7e369d9c6079256b69e09c1b5fb4fb5a674d4ccce90e67fe24509e28a959f7aa0d7c8e832dc8f6f8f4c7575b23a3e1e24d05ca253197b6d041cf5bcdd96e159143cbd688f422efa2f490555dd1b3a3ba8e915c97045f955e1ec436b782bed9a61ab691ef2b4125e23825554fe6a180b7088f70e2cae41dca23b8ccf07e141779668414ab08011d9ac154f7a572643ea537f6bee2800594ce6ce201d11dffe754f6e4ca02cde4636a1f3fa524f46ac362b1cce541cce53f7cd9946087f4b58671cf72b2b8ea6e7d0ee19fdb096538f11f812ec48e73b585acec0c676a0b59c134542f1a8c7ed0612f751a4217dd1f4bcc9d6fbdc97079a119cadafcfefb05257804e8d02800ff65606757e21f62a9c7240fae76509d457618afd6f0d0f10d3c7ddfbb820987c4e1cb658a16ca02484099df64a47602f60b5167fa9e0a30bef66cfeade3f2b362d10c87c30f87518f8468904f80be417001cbcd541d8203aa8009e307cc0fb56f81003a7ec693efe03f63ea567bd9685d317e5d31e5beb7cf72852cd0e670e71cb5f7dbbde6b6cf1e41853b1bdf88ff870d920f156737edd88e0535b79f9a83153e1e82fa7723e4b85938708d94e1ba1ecb28b5fc2c7d668a1dec1cb49cc8c9471f121e72dbd4667a9e0502f6505a42893ebe949a0b42e7cc9fc08948aa1941107dc852ae871a9de6842415300de2cf1305c26bb65ca7b6dafc9d9bb23307bfe5269308dada4c408ce1e52051ea611a285324d4c03593bee9059d6487fdda663cf4a5e60c989c7b2c661a6a42f0791ed75df555aeacbbb8f534e912d3c21246ebe8a53494e44c46eee80e4e60b397faa9801e410a20d820bee65a526709ecee33eaad405ebc7a1ad97742fcd40279e2602df0bcc379d17be20961d5f7ca9b1d98c7c36f44ef0df5fa1b71167ddf62fae7439538f03d0ede7561440de8298451f8b6e0a00723c3a22088f942008477c3866ae3c5c26ffc8fca162065d1e978f9b4b02caf8ee95a52371b04a537dabfbe96d57bd217be989377993eb0856b7b34867255a9aed0c14217211252a1e8023ec1000200529ab00f82225be43d12c1b8639d24899e4bba5a14fafb07d2abcad951985def0d5250391be72d0d918c490537221ecaf50235aeeb89c14b9ad1b01230b0a1af871e45439b58e6f1e17fab9a9eddb09212c2d4f26fa39c87aec8a215e213078bf93204ba24e0c5fd6a3609ff43bc1d6b8e02bcce0baa64c9bd19516630f416a5fbabd3e5aba97a19f98e44b462cf4c8cf6d91369ef880627c374c71ce8357fccda890f5d33edb413eb716c1856441c7bd6c2236fdad7ebb182283b74cddb1f2c940f7f6d70ac52b90a4829b97a95eb94034776a8e869666847be26d319d14f80403570169217d4234160722fe0146edf94c9202414771e50c80067e766ad92324c19337a2a748bb6d3d19cf4bc25263986fd7c765124ebfa258edb9d1f0f48d142efb033b6ebdba7c031a3ed0307b995c262f5466b232f92d1e61cbf0632d4a1ddd88f16dda66b3db1864b82261a664285d5e47b4b04d04da517a57f3367ce76bb807197bfacdbf856f239cad1b3207b78ab802196d81beb0f4fed3be604a4e93fe4ebc92135a231d2c62ee98108b1151b98d494d21b73418ba9e54c7546223c1de7767faba57f3ebb1c135b78d1400a68f26972fcab9661a710bd1d83d19f1868cd0c596fa3a88bfbe1eede8faca500f083d8b9e45cafbd45033feea9bed9c3d5e773d94d29942d1561c96d67b5e7a623d8f9f93d5db9df785ead2381b9d9321379938850230759990153bee22b354e863dc44004adc35e6c8af9c617703cd7a097a93dbc820c44e851e7f9ef5874db863874e7154dc1613a56c03f91d3a7252bf285511420b7bffd323cb8caf8b63a443f01cb469c582a598a8a6bb19b5c69526d9848c7c2745c2c1d12f3943b65ca524935430fd0e115d2e17247900917f20563b47ead0fcb0ac6549ae7fdd1e70cb62a60538afedcf90a9c6f866c811f570427b840df3b2a44d65774e55a2e61bac06d9accb011a2d813f5f600ce15107795ea1b10e5fa87a65b0571f487c0939f47861f8cc6d64095617bb9f1b4be2d57f752fedab0c62f793ec8b7ea62e7d83fff044c285afb2063e95816922142eeb694b519d9c1c6d0d5a32acecec2c016d236a46c8de32a594b60c09040104ff03481a142575379010a2a815547da5660ecbe9541c5d3028e348862f99199aa8117e2c5bf04af1c3070b474a4082126265124d5368ffbf5ef7224102bbe5ad0627d5734b542068460d26df0c2617ac0285702069724999191a164549409037aa05510bd1f89e944f7174513386d03effef869cee56b971b1d7eba54882a2e6b71a1c10b5514a43600f2cb45f2f985d09f508dabf4be22285bd775154bdf127090dc6d14531711505f984305a88116284ad183d5c44f5809144493646c5e8ea10ba5f04511e102241aeec245033ef32ea832168dfeeeeee9c1cce0d83a4a14ece8e63d474558b07b87d092ab75fb7222eadc1fdf8781f3c78e07de817aa943334c3a1fb4926e9e44fdbdeffdf77f0227055ac4b5ea518ef7797eaac393ac45dcaaf412e54b14b49058b03f951ea51e95caa5371743f82b4122c0418a516a1a4f04dc5a5353812d4cb495934f2999979b8b6cdb20f3333cf55263ca7a435f6be0af9b5cd6ef0703dec7272cc1f3cf038a6685b5a556149bbbaba293e8629331fbf20359915f0286b16b35a8fba66b0e20664afaa9e09b3bc52419042fae839a269e0a30b870657bd204cad8201870c61695055d452d1e087af498b84cbd0b3d651acef0b1147775710a2ccef6d63e502d44f57a77477b740fbfed33a2082052748402d195d3bde28065788a313bb4f75d69cddba5b690ebac7dfd2518bf757ff6f22acd8e95c95225766cadd2517bce2d1ea016b19428de059b584d4586a70502b7e3fd4b20535979f885a8f0f2dadbb9206a170e5beb598a45c5245668606ea45af69337a2d97ac410125a17d7af730d9d8e1de3d545bfe3b0f58cc9d1220b47bd717c8bc6f8530bb34196277932210a27dba8aaaa8eebe7b1e2af8d7a8a5e0d21a5c9228593c593e59405942594459465948b336d1dd3272f86fed98b1cf3c0444686f5dcd6444bab64e688959a24ec5d185f885008648430443a8218621d6bb81900825a04400da7af202bbb93b0f10dbac5049641abd209d493119f034c9c084dcdd4ba07e7ac9e2eea9bb2e0810dbac5049641abd209d49314d6cb3282e88906d96f4b443b8ec0072c21f04294e9658be5e771fbd48a8215fdfeeeeee7ee79103e0b3df9dce9aa3e3412d1eb4ef2b954e7e4ea7e2e82cd407b02e59a4001726b0aca050ad253c8ca0aa815f0a4ee5bbdf52b6d9a03ac4a9b076896e13474d8ebaee4fd5c83ec1d7dd1d4345bb84cbb7212eadc18148f2e58abd5eaf034ab0604e8eb920d985dae010a92ba5bbbba17e29d07e9822fdd3ebf54cec9a9428f1201222947bd00ffe870ae5a32b94bfdbc7c94593172d9c44f45032fa501141d8f5c358f0e00053571190ab9fe25803eae837b4dab5cfb09ca45abc59c1617430bb1fbb11536666beeeccccccdcfc307c4858ba94b4d4945ba1e5a5e25872cbd569e83ef14532a94c431bcccccd7fbb3ea4d6633a436335e4cdcde4f2baa668552bf3d614d30ade8e396b6a890428f37aec1129262070333373501315f1b8f81e6e35b90f1e566e3c2de1caa041a7e2e876ac6cb344bfd9517c61d201334350cb6f825ce607182610fa802b189a88522f2f4c5d4c8cb45c901a32e93a5da652df042d533d1935962895296545edb1a242d5d304ab566b2a6ae2248309a5fed0683d863e604911a633cc99ba32adc89c7eb87ecc624e412e23272caa2804cb0baa28c54bd9a37784819c220635dca72296f93c7e9e9c70d55caa67032d4db5aa0800f7283e5122c0f8f4d3363b8123a93f3d3182b2dff0181600b54f317410206a5573f79168dedd5449544d5442aa2baa215458545a545c4d5e36d99d736ac2f4df250fdbac0f901091119204ac926052565235f715c29d5894b74909f8f87573f0fe3b89154352533efd32332b932b0ed83008bbea9249e0eac789cb461091ebb765ee14094d28b38b1122ff7f6efe2023143873112cb6592dae9b2251787c806e8c08dd12c5862620ac44b00062e21657205040b99fb997c17bd4a9383a138cd86691929a6e4c10de1be3410b306a34218118e5c193084658c0e2e0faf75842c50ada25a788081551b812d6d014968b7b3fe0ffa13c65e4e9c2dc6a8a260baf1281e5fb6fb8b406a7a4e81fa8788fbb550a24f93233345a436efecbcd25f9374a7edf0d028cbf39b2aa44ed9b9999b76eb6dc3b45067ca09a446d4084cad7fb2315803ce756c47755bd14b289d8668d90929a6eb2843266669e52d285f2fbfb9bcccc0c02ca3c53564c76df6bceade6a693b3aac596133a46574a370a5d225c5ea9d0853297ea6eb0883368e44dc5a535b823bda3a595e1910f16df111297148a8e4a40bb210efd4a60b84121f87391e10649cf6f6982f69b1454e69a1e4d29804c1f8f42feede10ccd8eabf4ddbdfdbe13b26b703f78fafbd74b8e323334c35e6e883749eeb0f241f9b477038ecfc5f0099411c09899af9322807d8f33344152a0ad60d5fd5c5350d17f9730110042ec2029f8adc6ffa6eb6b4d657c3f20c09aa0a1a613383aebe69d02edfd864b6b7050585847cfcccc4b70a0eced45272d3d430385440be5d3fde7faad6f799999974ca1ccdc7cdfb9790909da25598b88f2d9cd65083a4638b170b2b5820686980312402d111104636666282151503eddf93233ffce6f4e4b58f877f10765dee5dc5648c43047204e5af5b91943fc647d422ca19e145126ff737e7164665ee6a66bb935a3a5dd753a5ff0a56fb80c980cd717e7529d8aa36b32cc216969676666273dcfc0498fc9cc4f4724803537e9699b2d6514b9a0d6898ba82c168b4af6945d8e8e47bd00a2bdfba13e5b752a8e0e6988b42211918a485d347a347afcdd068c7c99dac4362bbcd2401d42defb489ac81b2bf2619b051222320a525a6cb35c3652516c843c65070228c19322ab1145144e0fe01f563984740e25b1253c19af7344e1fd770156f0a0bd74d61c1ddf33c5cadb8a4b6b70eb063afedfdfdd99f9de942e99a6d763d0c8bf3a154757c2baf316afdfa93a6b8ece09451531e695994d186a9b2d47d4de7bfdf90a345f460551f23a4343a408e6b087b9bbbbbbff93d8386c9bfd2279af08765699997ddcd96f29950aa40d11a27bd8e5e434c0b00861e662d55343a585845fb0c6e2c30744b662450ca260aa5c11834e546ac3ae0d6826094514325ad52f0466ca109f8cd82cc88f924c7615849ac57c04a17ed858a5505ab11fd40ab3e10f4b178f1f2e4a9bab9e285fcde6472f2a049b20c528e08b4d554f949ac1a6c72f2a0b838d90548aa76603044405c4e22e48473333f30b60bf48fb45b07bc74154ede4b80a6704977c50fea7b181dda73a3b981cec87855dffdf663eea4b0402a07ca0c50c0f4029eafd0c6e765811df0555c51a066334649b5d89451ba32ecb16a8fc20294b6666a4e0f7651e0732bb7f8b3eb6d911864ab35fe679c4fc6768803e0e04faffffe7ffffffffffe7f79ba4e2b8b4067783e86f18dd40325f44e4eecb8091de399d8aa3b319a1cbbd24f9a6e2d21a1c8ea20d8e2ef7bf462d66fee32ed55973749486bd5e9e518a14925f364951d866796c947c4a90f7bebffaffef23442272ab29c2dc58d31b1190d97e73348a44b2577f30cfa5ba1a4536fa86ab5194aa714e57e367486dbca9b8b4066743e32743d43c82a1ee26152f62be756a4911f9fd3d028bd717ecc86bc37d67e2c784cfc49069a2e8e5fc1d3717a59899796566a106b8503ebbf98540203e7828fa53c19a79b4d866b9da86274af7ae082485c7199a0e88d8668d90929a6c3a10aadebebac7e0ed7897493baf78a4149620de6ede9125ddcc636a85fe5b4d7102a8e751b20c33fbffbf86a825595fe00f185fd702613232f7defb3120ad972c4597939393580c28edc160bed90b480bf291306d80d699073d32a099ba90d9f886334a9b143ea7a71b351b14c4761b0f7ecc4d4b9e549e72de749f2cdedc88c273e24214a6123c09a2f043628748710de17df05034c14442c886ea436ca1c5cb104a1aea3721c3dda93a6b8e0e3009d8041402af80433cb09cb0418a238a1e78f241c9f0b955a7e2e86668d1ae9ebc1ea8f8fb2e47c74612db6cd38d0da1bf8b156f9d8aa3ab01e47df05074cf05d9c8f0acced0d018e2bdffff7d1f2ee3cd0845e5111f7fcf31b9cf0bca72e1170d6259c21293808cfc3f6fc7f30e5ae0670f399c1c59aca0885a8564c66e435c5a83cbc193c3c7ac6a72498755415496aab4d21f2b9e0d3a7eac5a5cc8a15a25b9e0f0d1947e5627cc94ac94a4e8b08a32ebee9ba42ef7eebe1ac17da383f949058c1a50e5a4b157e4fd56ed7615b577373307f724ef25615e88c4622b4ed6adf572c5c9d9ddddf2d81cc4982d2dd64476bf30e31d4f36db665f682b4ed65a9b3233bd654aa3ccce2cccce05365c27e678f6cf30b034321ce31c4a3fbd07f6ba499602af07d8b6f92d496befd9369892bcf7ed2b266c6bc9219bfe3a4ff287daf32699e34e13dd76e0f1c59a465a87f596f18b4b52c534efbdefcd63b395a5a6ecce30078ef9713469ec7edba479f3e83298034c1a4e45d9d969669c5d8663d8c76b1bc0d68e312503da36b38f2cd794b1f50494e4a5f1926c1f39b0ff65e1986637eff592a429c9bfb779858965986d5f12012f12e6d75f311c7302e005d3fef7ba97ed25976e2d79df4b03586b1bc6b11186613c34477bb29063d808b5e702ccbe5c32cc07b527106acf5749241bb5686864646262d82dc0307667341a7db49899cb1d0ea83d9d0473b4320ee5f81bcab6f1b52f2786fbedcdf6653b3cfa1a19663bd8f3653bd45e6eb7f7b5a73d79bc5b5e76f7d2eff5ebdc5aa8e586d1e198db7dc7d14bf7eba5bd17dc026f1cc77477f70076ac53df6eefcbbc001e0d6031b01d06303ebb308f17b5e8cea3d672ad85cf51c3db0e96bb020a507b6ad01063f9f4661e65ccc23c8ea3756bad8fd6c2ec74795f65697b85e55b9a2f73f3756f97e6cbdc7cdbfb823333bb5d72efee866166669975770b0383de3e77181dc7177615f7d2fd7af9baa5fbf5b2bca4b5f79d03c734fbc86c29a8c122f042b9994733e62283ad6036738f566d99616099ed4b8c471fd26d31700cacb92cdd921c38c69eb1919961d696e47db7ed3c9a346bb21d400c264b29efedf6be2f2fef25f9cce0bee9ccb7b65993cfd25e4083e99cbdf75e981db7a1f68c79e97ebde43b5a7bc19b26cd9ebfe12580979f36867ddc107379bc77e7515b81f33dbbbbdfe62777bf50cb1bcea2399e1d7666a83d65b6833d2d5b306e80c088f259b23d61764ab44f9872c7728c020d1926c0400106c67ebef1246605b073dad234595e348c412ca55b0bdce498d146a2b6e90408d01df31c9b5df4526e992bea541c1d8f261ec2ef12fea4707d21f185c5ff13e5cdad3a1547a7a66cb3411b55fd7775f8ff7e5538e97fc3a535b8d5894b45f3e5ff79efaffeff93f703a5e7529d8aa36352db664bf781e0dfea120fdbac0f9090cd1291bfcfa8bc24e7742a8e4e08e5fb7f1f126c546768a88a9eea8722878d24134c367e2a1c3d923ac4dddf79ff627279382ee90196d1a8c42c1fe9a80404057319000003001449a22c8dc350917514800b1faa54accc7c60401e0e462171403488a22808c22088412086a1280c01291c13af78014364d35e7ec40359555c2fe4ec4fe10c55196d39edc9e8778a27bc970f6a38f494268277e8b10375ab8036b8695ffee46a47ce917efe924937dfc57a92c963cedf4ca8c524be53e8e560dd9612fce9b490e1995fbf1c8f573d85f8301123e0841f3543e520c4613008d0cec9733d435daf99ea940ebae59197aad9537eadc1364a85ee9109ae0aad81988ff41b708c6ead5d64552731d24cf01b9ec7ec5c26701ceb35d820d896554f0cf33b5cef6b2fd2937df29e7ee772195d62fbff38ac7840722466c30cb32cd6b9dd34271be167d0e45748b428d9359b1c09fdacd22a3bf3133c9f445d6cbc6b45522214f607a0eae60eae785393659e553eac3ffa4255fa1db4025c1d222a2a0cb9f6850bf497db0745ff1a7e57a4cfce5b53284316f381fed17d50ad3f3aebf9ae400fc6b1768cc418022c1f0ef51b36f54bdae2fb2beb5f3109d01afaf0371f897b1bd083051f17fec33c6ec10f7210aa340c6a2b13d17872bb583e4b6e036a65be992599d6c6613cd4dc7a76bdff9d2a064cec9b3c5d9a9b8bfd31440bd8e9ca4a545dbeabbfbe3f20c3766f600bedd08ca73b6d342d1ae1ab9e969c700b21faa4fb6ef9701ea5b6ebe88b396dffa7401e292252677437a32302dac8b3d06180fef01824f4205fa77293aba4f23f7e87c68b4d866f6be40b1e16bb587c7201f2935bd7911b2ad5e3030aec417fd85da2f65cbb1bf4562b291a11a81ae5ea5c485f73ea52a4236f478011449c33c4f7690196ee3d36e7ca2c07337b0987182967cf4e3fbad3f2c572f1574a92cd4c6dc2583464653339cfcfc257687d19c67b4a2a261b216beb3897e13dd09c9286ba5368e6bd6738cc40ab70bd053adf6a16496544fa729bc3593122118fbabe65b0c80588b39d1231bc6f4fc9f15f51fdb374bc3423cfb85823df844fd3244eec9626ad9a8f5dc42af401d64b837e8817210172552b3d93e446a4922091c5c1d131001d061daebc4a611a6d41b6188cf25f530bf66239b2ed38545d661f32a1a61a866540fbaeba00a9247e2f2b153021ff6e34ae97fb03dc8d91fd49138b1a7ee5ca283784f7eb94af4611fc3b98617a9a4bb1f348d4f103da38d3f9013e1e858f847502133e9e66dcbe01a40b3d8c096cdaad1971ea3790c92e998964453138b92bd50939b80474660fe36d640f77ebf21f841d4c8c49ac9b000b498694670ec68bd17d8f2887e9639d623d8a818286ec1a1f9645b53d0ea51124cbb3cf040132e81ac3d03426355aa87a4c664a9a8a7382a9c15637863fdc4a6c537cb7a4ce3181d000ac66c2ee50d4a0c42f0780451320f4a92fc49223562472087ea8f9244f700cc23bc1cb68b278df6991c9bc7886d24dcf4e9544a114dca5c9bb4d251865507a5bc55dd8bf6c2b69bcc096805a02bd64ff2182e4215870c4556cd2a6bc959a5177de3dcddee2284a727cedcf622ddcfe9f83f9910ce501279355a41110b3fd16fc906199a826ca414ab44529cf5db43d2330d939c841397a3e263ce76e9015c265a26982e2f5ca0f28b5f83fe3d2c2d4761221712ae68bcb9b4372cc9b89f930441c2b3317ecd36337215e38ca89f3f17cd1856daf8a91251efa9ee251bffe25f6a8cb873953178dd4858a93ef1b35798e6edb2487cf6738273283493410cae2e6e01e73b94ea6fb13cd14988f5bfc717e9d146473a4fc8ba6c20259b4f55630976213183228b8d98285766828ec4d5dc5e94c18a6a22760423e660fc680e11f399e0547a34b53f708a252b5cd39ac51ec7041b4cf2361f96c32fc2f793373311ff3164b54ccdd950bbad78de195671f3de1d072009ce31ebdaf3059afd53b6f24c1f97488cde99836f1542271cbf3087ccaad974b7c0328218af873ef9b8a32a012ebb6e148a42b64c54a759b513dbd6e95f7a6c4bd64d3ea4d73d91ccc7759d2e91c2316a1fa259452c5bf3a22bef923c719e7024aedf8d053ef28a33f6653fe6d9e09cc266906e0dcbd3c85873a46d8b28c125ea53e625762b5e8b03d6c5e92e8b4511ccc5d1d1ff8a7e8e0e7b1853cc1a977152055b9fc781c69ad3033eb0139c9b3d0d2ed66cae47dd85c96d69f3384f6a704c1bc22be133ab47315de0a088551360a226d0e1e1b44997f204c3b5596503ac94da429269eb41350ffcf949e1cee15e085b6f0da92512f60e9769683950b089dacd03eb752900044ca35a8190692bcc72cfdf0881c4021cd0ae50f10d86129ed545e26d5f055a2de4880b2689fd01984f88529b9c39f4ecd8472e68ee56baa9c4f99e6af180ac2f50e38970c9531fa86b17d53f39609c80df71d7438790132669821767ba1d85919af4c6a7706b269a159e0d691d75dd2395b845e8125432610b8f3992259ad89dcb68c08b44d56a8f1ec8d68df2b381bd6a677363ecb34b70b76c8968d9d0d4f9a9f10d280eada9ee652f81b338239b3290ba5a4e01402d4a351edbf922064b5b1dd781fb2d407804d3e0ae6d21c248f736439a59eec5ffe64c0181fb10864be99c242ac0b834c7ebe17422e8c5dc9ef59a5985fc6c377bd824b3bae9352d3ec5b6011c01142aa89ba80dcdd46f966734faf9fae443953d1a08a248faba2677adce9b15c348d023a99459875afbce9e13d017eea11c4ad9f6c4332647189ef45278ba6256975e13f5017ce25d8826f4f33f0be0232aab5be43024923cf63a238d40640370f0574dd101624d9c600b34521773c95504b3e476dd5e3aa2a3415b3c278ce763d4b7703240420534340455002169042339853fc66ce626f2a8be1f16e98f4f59156f04c530bb29cbff6cc410b64fd2d565be9f67c371e0f649d27585f0723da6925e545193df08f0b742c246bd11ee40faa0f50c66783b054c1477e019ec3cca0c65f36d21dcb1367ca5aecbfc4c51f45d1fe12f83c943c96c673d97adf38398aa1305c8931e4584dd31e7fe0149d5cc9b06c619c6060c53d2cad98ccad80be4ccfec99162d05a5962f9c2ec4cf399413181038532a5d9b340ca3eed6e121b214cfd10fdadd8a8812f0640bcbd45252085433abaf2703d0d4622286c8c55c620c07a874fcbb511c43d37d5a3b32f5f539577ce8151bab5e0801430f0f0bdcffa35bef64c6eaf40944c3e95b2673bf2a354229997d9ca8b9018111e0f0ea9223ac2c54ef758e56ad5786ef2658eb11cf34c75ab52fe8ab782a0aef02d6cc84278a08e3c4e1392966beb7e04a4716ee229c040ffa6e1da53f007582122fc7a6fc6b2f36e9ea71bb1a7134782804054b201875fb74ac3e017d5afb023275be18f3ea89e8e5d257a70bc78022a75d3851b78c4558f6f3b4e830ccac728cfd2be2bc3e210f7039341758f1ef0c108c5f4999a0346eb978c72d1e16484a27a9f9bf74763482a956f49c183fcd25e9ec930d48d3ef9ccbfabbdf005f80778ffcb14189687f74d6933e6a006e34484f31698c5e7ec22b4c846912b7ba184398851ba3802f845aa530c43d05dba606c389a4b9d69b78d2a6f99c60e7bf77bf3c00c12b43afae57e88396b31b8383a5cad02bd1a9d80a02ef7e51a9ac3172aaa1f2c18d81ec97efcec58f3047907b3f3e656fa3bcbbfb8f2d8f916db570c291dc657e8b212fb65f8feafbd81d963606642186e0786ba28ffc7c6a875b138de2e7e358450ccf821b919ab01f7c6c51ed4c398ac1421c1be6f76f1939074dc360fd4d3c74b75b4489462cc83984825a65094a1b54f360c479d41a60667d1fe4dcbb1b49cc256a4616069aee35a9fa746afe2f1d7a7f41dc51381d4244344570e6b517c1e115b2f9fb0bba0c337fd90a63031bd1ea608a1f60a1c5151118295d2afdf76635e45f5b9ba05e79f27fc326a3dd8f2e7359d727044ae9d13340553ee9ea74406f167ee7dde215fe245cce402b8b7754c889cae43549cda08cbd95edb71de3c49cc2e9f9fcc0e2c37ffdf7140ee3cb581e840a1ac22ee7704261df025761d73db8db06bd1aac67b833306299c86f1e221b8555925ccd8e2d7ca3c1f50519d584a9560e5d89f4f52462cfd425c3e7d7b1b046929d0a5ebc22ecc2b4deb64f92e7b04e3357b0a1f2efe159581990f2024a250a8d1a5492867c5e04d2f05e2b108271729f88a49a4ead1742e48ccbc155f0f8bc7ed14cf13a5a3a9507c07dec9a187a1a8ebe2fa24ae97502a73d58a205d3a06be658a96e1842d3e060170f164b4d682ce35df134778e6e1f5d38b6ac5a66009654b2a78ae019516c2aaeb2034f436c78faec0afb0b4eb17a3f373791145b234159644710a9ae71d9ea5df3db42869eb8e2967b5804cc48e52817516d5671229ae0889b4faffb2d24229c45cb6c2516d564861f9ce8859f0f617c510c8ae8b7929b004377df889d3af4eb0f04c78e53e46ab012a77b9052f1d3e518928b283d6d1e50930f3901243303943bc2d641e2900a1be4a15e73c5c2a91c3ca9e0c60947d2c2e7f2ce42100d3847fda47f531466a8078d34d019bf55f7d295a7bd28e4990ccf80067476cd3eacf9263e5ef1af7c70f7982bbc65a15e72cee28a99e4eb368681fe10b687889c0e5263b6974f06a815fb05b21b88246d2c1a63fa8df3ef721219f65bccf05bc0aa487da6c47f3a2210d1d5fdf41256e662f4a7640cb441b609957d63a59e5408b0028d7e61705068df2c5e144fbe3b25f069d676359615049a3c7c926208f80558e40b54eef2575ec46fadac8af00746cb4d256c75dc104a68732f1e3e2de05104496111efccfa9e910cb76e30550ee49a4bb698544f32d060da737e3f438aedc42b709a578b3af88ec50e8b4306e43b3cfa8d59bd7ae821c6ff246225c84ffd599603e89c83544e2b226b7145a4b12a3dcb15ca8f8a8a901b2760021fce8bd7a53adec05ec1a213bcf5fb9e2d59fbbf863d0f9da58422e5fc2618f41ed61f85cafbd0947eb3e043d361834fdcb0da16e9fa6df9ff18ae8ab97047a903abdbc02a1820cd7804fe8403b8fc5eef6c3d8208a51a9809aefdffdfe67fe3e5ec0a61d422bdadbb7752e6ac9b3afd81bdfe13236a76647b096d1b6f02f839bb01e81e0431967cbde1628a801330b6f52e6a77a580ac8b9ec8a8ad39ef49d751a41d9b5278bd0257938947473bb2223cee4abe2948870bfcc75e92887b8d88bccd28139f99a41daab30766001b0de8f5ae1c482287c305527d9e8ad06cd74765878c465487c61715c6b274c43e87a0a9b0a7168ff5cc8d8cc68734639f80b8527567bd6484a64b2cea1e80f85259f6203ad2ecebfb85346fa836b8bd98b52fa1b029861767dd18978fc3a39e38dc0445b2880cbf14536590c49a38864315d6222bead3afea083e6a9d32dbb53a773b3fbfba0e7c7d7ee60fac59688812d538a51a4699aa6c94abf62fba1e31f6ac3b1fa4164a310dc08e3b8517ebbf2ffc5a300f4f10169166068f17a479df4e44cecc28ffce2c7b576378f8736ef198f6baf622d3f5f11e2c0c253d84765ab31440bf603b3ab45116bdff4154ada66e56562550586fba1a9cf13a476b3791c0e396e10ad58fda6e854fdc9d152da4725814ce1863ca995d0b6c2c2157f22df53c5d1a9a54d896698c0685cfba94670a124212e1170759bbbfc4ef632664203893c32c9a79e7f2ad7ea354229f2e03c2529de71f985be262f26097ed19871dfe4f92180020a50c07154bbc96e4fef728e69d226adb3705a2c29dd36311deef408aaa838fb1efcca279119a2163bb02620d9d37ce6d29b855d5bf2783a32f1ce5d437ffe40cf8400312b3e86b92582c024d9ec6d9787d7eb5680fa59eab7eef0d2f7fb8e3eb7a873adf07e5e21299ffe6142c80c407402c1ed815e5018fac27be5ba3c969d47dbf1f49c8a1fb07cf861a876a66f7d50d88fcab6a13275a51d10768d806259309320c7b6ece97c637fc09800f929c602bd920c480b77192f2b281cb40b032e6a931655030a5c160cd1959ee00e8f8c3db4afedaa258a3f325805087e080b80965314b773dc661175a18455405e713d0be124587eec9e3c1490f91bf20d1c08863ce96ad763acece24af09ebd848384a87297e27c52bbe730b1a9cc0e2da92f81c8b18ec3a17fb33b22ea399b85863623456afc0669ea67036e1971840cea9b9adae426884a04c557edfeec60a5a5f4bc04b07782869258808804ce8a4a4a3d618a61a3f6e14bd6268069a3259a455a269265402da536a8c539d1f338c5ec926e029c34cab49536ca814b44fdee9f65a6f8e7faf7a6ada87759b5e33851c61d5c3a0065a45d3e7308ca05eb2bec9fb5841900c4d0eb61fadc3d8b8170263593d9c4c7b68e4905b7c15a3ccb659787f724d4bf867c7637a5a07a207f8fe39f89d47dc5b96a7172bd59a2bd9c30d3ab17004604c077e0f4747120537e742439dcc06bfa7e15236cde6478c428fd4228831a5e29ade031769608c2752c6a2bd4e12cabf45b0f1ad7f53e274c32069caf93d167d11371d75a946a3442ec80e7251f18c9eb985703ffa55ec548b3dd26be33709259c2484a1f6e76181e4eff2577092a70ae29bd62ec6af950c664460c8dcd5ed3af483b4bab9c07254ac2151a342d4807035220865d00620d7b55bf2496ca88948e4138467e13392b3ca4642ae782ae4e3404a44f80732a0053a795e022106e8681a1ee9edb94dcc452c50780faed153868119415542a0613a41e50c035fa610f0a1b5f64d129652de8ddb0981fcc3d588751dca6f11268b01802cdcc8ebb51f1ef797679eeb8c9b8d8a16d164a5788e73695ed33bbe17ae431607ed90ca25dee8130c52de26f50e9da2eb58e375a4c374e8b42df3017822865e0d0291219c0077e135848711f30ea7601ded6a2cf8b81f99565290cbae51bef7c0ddd1d70f72f803a903a3b76421b6428583de0ad6e7f2c09694ee4719aab6aae195c3a6429531c197c3ca9e0389e820527da94e5e4796009bf46f2a0d0900e95c02f9583ab1b290930324daaa557c354379631416d7b0477e634fa07a3f9c57342658e74a9c3f4e686afabc02a59602236f1b86986cf3ef7607a732f3453f06501d49d4ae8fcd31540f07f45ac3d38b670f6fc9b5abc5df6adaf247de0a8ee78a9b253ec3659708e24e885b678265286c681c6a53fde4a94a16ec1a018fb49c11ad06a1230fae11003a74fb498ff9beed8c5fea2422ee0fa5cacd82284297d76ad8d0ac53820636e8829364dc0aecfbcf4318e24ebe439080ef7b00140e9487ba7aaa87f8366394b0b41e8d5aa1c775d58db9ff312db5223a093d8870d43d6e45a55eec84bc2eb1e6e5ced2d3b1edbfd7e3a24c3075e2e1b5d188552214b0ccbad07f4330679cdb2bc11f47f043711f0be7947102b1badab4668c5a17303da4f952e00fb0048c71c1e60f6e48fa6595e384acd3a3d3b484d2c048e77d307f3960900abc93bcbdad63763e3db4787210acb10a725a38fb9f230f3b6de420e291f76cf477649571c1dc4ccc3d5016039404db281f700d9b63ff5c0b4a255adde84085d4bd8b96eb01e74256202b936a662f30e81a868544d1cc6a8afbddf2d4f3568de338998c046b014bc27015090905f02f6c812cf0b86a50007d8ba82ee7ef84da5c8658ff83f5ddaee4eeaaa725dd14c7dff2dc2edeb9c51e47d26744d18fe3bd5d88f681f70091ceeaa15f17c1665314b4a8d3f3e568a1d33bac391963724e095104419c66a161891527ad11a64fbd9fc750049acd5d60fcadf5ab5d8afc0a0f0c791aa4330351b45fe39f0615799cbe37b356f3fad1dee1633cc0a8e004bfbba283a47f369174e9c6120dc125b40aa97813b368585648b1866a0c043f05b1eb9bb0a426554a7a3368e8081127ee2046f5a6524b5159c11c9d72b4b11b9268fb8a1d600593580e8738ce5f86c1b282ed37c41824d792c6dda3a6ad7402a4a8d661025cea6660ee4d50355fe5552505d56e158dba0818b49fd9780af01963d36a8c6571118fa6d41565667aca129b2bc7103e4ced409c4924639027d0d4108948977fd4ceac312bb6d4f5791f8e868a2d2fad5430150e1586774434c38978e841910cf1f503eda4a17a191a89fc2bdaf128861baaf78f5d5ba1420fcab81b1d07b420c051741421d362b1f2216808db4635980bf0010d6ccd1d04f5f65752f5591fb8d43afc24d04783c7959405c25770f6bf1354a32ba62b781995a2486ddcd1058446fa58d2ac7063e3b6b393bbf0fe5ce9de1b1afcaef0af3932229c7d48a90a7c06b7358e4b052dca352bb5573287271817bccb3372d9a7c17435915575e110ca7975a77f880b6f2ddd181922c8f4b5e2cad7492e1c9cf3682a9798faa49865342e77855f6b82fef4a786d510087f98693698f186f5a9b971a2063445d2d09b36d25b7b21ea8a6b45c02f2bf7718e939a139165707d448dd60f6f388c7b023d2167bb1d3336ab560fc9441ce79faed28651fd4bf8386255603018e864971a20c381e999f5c0c095b05cd7a0004cf8bc116e0f9e84e5d289794974cbcc59c57fec0ae1aabde4d79f08f6f8f787830745832d972278daada59a706df02c70784bcdc8d7f230d95fbda3d38dbe7f9e1a75f2630fe59884a2f2f1e1a5a168e0ee88b6ba30f09967f79a89a2bc3a4cb582aefe21a9f09b119f251ebb9358cd9b8b6a846353db63fbd09bd1600584bce14e6f3b6f04d7b7c1c0fe1fb0c023f6563862186941034305c9747ce20e317446b904c5c0345b66b500ae8bc2cecaaca19d0e2d989eadd3ab27e5244e9ab70f93d0129b64bbd4afc3212fd8b849a79177f64ac33065dd9cd9a900d277960e205fb77c33cdd1a4dd477382eaa53015d9dea0d6c113196c340c0dd4d8329a98eab28faeadcc2c1cd3dcd54c54413e5d47a54f8d17808e34022a9dd1488b44e40734eb54bc415c032045c30ad31fe64f8333d3187e46bab08bddfb2cbe909495b61463211bf3169493f1887d86cdcec75dca03c8b5fee76eb7f2bb84fdfa3a374160c056349548d830ba5dbf2bf3d09686ce204c8d6fe04770405da4a71e5bfd7e7792fe546332d29f12ab934d7aac9c92ad3b23eb411fb9374d4d2b032f46b90de50e126c142033fcbf1b5e2e0411aa14a754ea3076028dee3ab79b6dc8aa8edace96cf0a04f46b426fc3cb59872c69bc8120853c52fb7a3b35357006221661b46dabf472695d1ff2f8f9808de63e87964c683380b25ad0b9b15a99eee08800f2a1602d22d5103ab22c6af2b69f90816e388e5c3b300542186d50ab901417323de958b5e688ce8f1fc8b5690a9830d9a05722696ca013938e556b82e87cf801e4ca30054e584e6a3592e6163219e9b9a23744743efc0072659802272c27b51a4973213f794ff3696cc404459c446a86acf69ee710ec87397c04890c83a42d5683d80c4b0241c1d8f4cc1b54f9172545d00058d234618a2a52c7fbeb19c711760e3c90237d8385161eec2361f41472e712c344441bc4ce2d1d29842478c41716cf82b51de626e2816f5279d0a4bfe2bb82a37139554a1bbeec5ae9854ed5a8d5afe0381e43c1c9e1c34d7c808094dcb90a274aee3cafdb17d898db2d61f7bb20248b844f71a413c1adb0c8950de1b4b0ac677a4b386ffbf40e27e91b76d03deeda7321ec98940f7692e525a5e8208c8c042dddc250d8093437c4cec7e689201c6d2f1c190e18343c61267be5df99790de6de53e3c27eabf4795e841f5f1470f2a6d8972c13c6b5792149813e5a488015ca1b99ce423a54dc1300958685fb19f00f584c132dd68bf980bf2bbd91b1178e6937f8a34eed403c1b12680d732f595cfd4a3cf67bf0582753ee88f8e6f119a3c1e8bddce827e54bb236c145a05ee710d5ad87c882269672e809a86640a597c585f1eff630840a1657d0aac9876f15eca739a45f97ac5ce01198600a6151acbe21a273bdecd6f7bc9358e448d28e0908229f08dc8b3e9102a19f5c28e72238f4f8a648529c7e3c9c6439376ed41dfbe0a001f8edca8c9ae9a9b2d2e6f8a9283c8b2181bc0652275f1d95b29e7297ee063a5fc37d8c5ddbdac07ed4a64ebc9265f118ff441f56f701c20042458e63d1e1fcde8cc632be34b5c5efd60b4c23865f1b3c49900b330a6742c80947c69741b299e8384f9f3e22c85ce85d3160c86afdd87a148eb2c0c88924c5556e2ff5011e76264b552385e544d1678e17d506ed7a80ef969c97212c2559a205fc5e84ba2e948c0a60dd4f9cc4f943c9cdf569b2a3c386266b5e6bd99cc0ca9afffee4117185aac86254e0cc2f62c78cbb554e08f15fddbee305d101427784ccab2c653988daa7187e39cc45aea31758e61da57aef97c0babc8fc8b7390ccd2e0303f762030d7f752b4a1508e0a73d4dda2a3d2c45db01289146f7d68f00284c85b93f36ca43c90179cc456181bd84a5439d3cb41e58041fdb0812baee7f84905e0ace422383a4087d6ed7ceaf2f16b36b726a0dc3a7e3a5e49b58223a6182f45616090b658c1324cf9ffb2d0a9e688cdb368864380c00fd378d7f86d9d9c04b09f9e97f24602404e9021bbbb7025ffa3bbc6b31d597465560d6e3d632a753261872a67a0ce48b8809b8faec565699db454b86d536c329a9c81c102497a3fbdf6b4fb126f8a669775f623e790dca6ec904b0f5113ac6d69bc68327e3ff12b2a4457944877bae82a8c281b419ecea93dc4546faf9dab395b26aa5834f031cf560f2584cbf6e37ba89fd3292f776e4222d648ed6ab189cd053ca73991c236c2068708ec5512136500eac8f1de59384d6180e42db02217fe852e857c1b85b2e87bbd8a6402ad3c0be9c1178fd76f099df260b938c1233997517f6979a7dc1ef2e068de154f1d73a3b4bfa82d9ab8158ab022875d0b1fe39d57c2c6ad175d58cb6c0926ea806c5201b5189a4ddda3fd6094c5c0b169e01f75f4509d066ddd3c15d710e5088ed8c03ddb055013ee796125e0c3a5e605be76d9a5f0c1eff3532e9bbd957d45bac5698ac763f80652020373b7e4e9a63786d4ff40100508887826d2dbfa9b7fbb9df9235a679b918e891f234473f302cda46c8e8d06e1dc902410f416422ebf5a7d64e7b8cd8dcb5f5756b86c9280bbdeafacaeae85287d3e98f071d7a349b9f04c4302bc2c19e7d4d7a5fe58fbc3080a3df78daa826e5666125433491a0b7b8b825b853030754544d444f0a8ba8f74a62ad4564f96dc90102e20b63fb91251bb31f5ccdb1a38bb011ae3b7ce3c83ee5623113aff0e5d8c58ee33e9fae939aff655873d05cf418c63bbf28dbfdf0d98cf1a15c21b772d878a5e5bdf5e9a54a6d2852dbd5d6a50c7b145da12207e401bf3f729e7c0d807b5bc8ed659abccb5ef4d066df443d40f690c12c3e496ddb7d80a5117e4e77ca84e13a59902aeab711596dcd563c4b88b7000bc2ba42c48fb58321c8420fef4d3ef20f27fce0115dfc07ab19171c1b135c6e315f4ee1fd10aa2183e6d3275e563ab8e6a803d10f54a48c3191c868a306b0a76db0fc64392f8602e2c230d73742a6bc8583040e192a41db58f377385cc6231c66161754114f61a100b7c7fcc2544f6972440978817c785216207229059071d2732754a2bb511690c89b108397087953d29f2d0429d256289c0b65cad8174ef12a8c71b5595a44b0f4817edc8360acebcc0164f5d8470cd89c1676c7e6b8605c57cb94477fee88b8076ebeeb8f0aa126dc63af321d1968f48a36c3e82021a93247458adde260ebd35e0e330a28130fa12007ce38c110d1e1a1c83f2d4c79ad08b21a7511f3129080c27544f46dce6c36556e504b0657466f21504134ac7e80b27d2a54babc3feb02ad21c72671ac84c2b0371ec9f1027f207a4768dc5256993cb81de1438fc0c3fda06d1932bb0c2c209a8f6619923cf9199dcebcff90c75586fec4cfa8c2030763579410bba2be245383a4aeb3143c1607e2b47c096c619036141e2b131e0294c8bc353077e0797938cfd61ede82f82c9f5fb36439e88997964583a9114ce0520ef74248230ebe62912c418216c8122df42de0d9f77e254344c544c8a1fd993d72058f55c0422c273b5360de46166997afc947ced2a0c40a776ae84c9fcece52cc68bdce4d2ca8db175dd4bafc9f0b8a6607bce53c9af08bdc545cebced308c82d6274af087fa31463e60842312b85cd5232bad4c2695e0565072f50eab62b335cb3a51c97e0785be86ca349ca0967a036682e6ca56a1674ed7aeab24b3a75e70f6de889989dff6d622e200b4538d8a4ad74fe0daab0e6b8f177f4025017281c1a907b44d20702675265c3930e8bd90ae3734caa3bc570ac2a63d43280bc505e4d3e0629a7517297ca6bdf970a2fe8059e719aa4f1a569669ffc854aa8d69c86ad569faa57e4eb96b34820c855f1f34989d0ccd6b2d45f68148838c66adf54d952856fa94b67ae7b02f4dd54fba21be7e8d012b8c1ae8ce00512d89665641f3812c47dd19e3f02883cc4262797228936b081f05185333c2e93386cfab18dec74827d0d7af3fe46422a13932822166bcbd7932ee83bf485e8099d1629428c70d68e3314c36fbb4128109ac69962a46f771c8f339bfd08e9b103f11382fa0d252da91322fc7b5daddf75d96d7f942bcc1fd30355d5bc23daf7982a5feabd40de69f37960e5177cce49d472368ca4f0a854535149aca46329309f2fbdc76351921587e1ddc96e5b7c55743e0a415da0b8c110657c9c099b459dcbdda877c0fbc9a0eb223f588bbc3de939dc3f5e2db1a0378732a1994fde66e2cb3e6b2d65798c1b2ec788b62456e09f8e02ed67bf0b87e9882a820a8709604118fd23416da7f465abec2f0c005064b01325cc154319488799f69fc5ad36840e994954e85ffeb468208b9e1a486ceb9d3d04c79ba4a87a5c5bd5c7956596b6937c35a45455f0a37e901c0087bc01f635819c6fff290505a0e11c809172a31cf94eef8ecf4651e4f9ad14a27d1922c549b88464a14cb9956c3647fc597bc49448c35d2d431ad544440f3bb3f4c8fb1f5d416a90f39e4b58caac36bae962545008fe804c415980783aff5fea2fc4bf9f517ff3a82b13a0dfba43c3dd0b3fa4dca7360dda153bbe38075e2e6e8570b4158201fed8c81026c41ab31ab9c5e5967b123ea020d1b88ed55ae603e6edc922484642ea1248a10c1abae96e2eb933e332de3b3ec85070d7760ae9de4fb04a357c4d03bde108ba62c11c3031d940af2bc50599947a165ae3a4f3c30ea373650f9b2c64f559e6c8689aae04b5397bed0b7ba2f10d1c74d96ddef57803456646cbc73e25e79fc5c09cabd88d9e26804bba9e8b91b5e5b61fce60f58e5f9143b4cb4acac86c3e4d7a1c8cd472f1670bdc0f03c1b5f11845037313339d157fdcd8fd3e270d8270f4062bfcfba1046345a9e8037cebfe14ea0d2833edf3bc704dba6393f0fe81ddb647509cab23c61d4d11b136167c34606cc818c331493335901927c227679c9292d74cdbe787dbbb4c57c5b7c82b1812c1c1ce3ef027dd84fe79f4a37ce29cbdf1ea4e3aff1a7f70e44b1c8c719aa1cf985187d30887530104cac7b5fa0526aef2142015698c2b7ea0f5565e73c7c955c05abd6cb9ca252292efbec8da6f01b231e8835d35326ce964d6e89920dfff9b521e0e56540bc896e4b84b39502b6ad79d692b433c92c5ed8cb890a17a32440bd1d9b1daad17ab3c0e5429043b42b42f590e6debbc9f75cdf1dd6a1cc8251da132f6945de1e9284fe4fbca86895e110b2355d567eb8dd6680c3cd33246d4ffae81439c4b68406a0f53df825fc9ed33234d7e8071a32cc5e307b7a8a423a6544c44aa607a7e79b5ffb5db3a5de7215a54a20e62f1ba39df874373b2f9c1fbb94e049b1dcc395329eae58cb8cdd191bb8b39a7b69d007f41f14658523f43e89c531f84bd44befc1154f5e09b4c5da5b74604748c9059e04f38467d00153effeea29f50a92cbe3c81c4e419f00c4a04908574f425d4181046d51df313cb47dee459fbdce03ae9d6e35e814a397210f02594d6b61f31e189ff1ee9b0b1c9bbdcc89a8d9d681ab11ec7a81555f1ed561b23eb68cdb7b6d84484ad2f1e52f558c9783bbc1ee58039a594fd4d809f21416359a99993028fb508735dacfb5f8de0d31ddab98e07f82b582751183fca3f150367d29713a4502d39d510ede1079d1bc28f27c07e8478c985bba42ff51d524e74226c81a4ea6c43be631bfef842e06152a0677de165077b91544fe4f9f32e7a29e74676adafcd864c5e15c59668e6370328c269c100dbe1bad0016d9d1cae806a81fb017b2007983c227a766f0ed933f93ae5d1d5955bd8b749017abb809a71fa484a5ecfc8146248c3c9455cfbe200654ef8b163e1f02b73c0b3cd7ed4b3413497c35ff9bc1c60733e5be3e1b8f67ebc0547c211a5ea799b47f6f9986a4cd284d75924868c2a62856b12b9f5dbfece340bc134a5d89ae774bf08e20b37c41d8576e08b13443d84edfe460cc9a5e02dc687d916817b8b8245c6e73b054d78db10348e68449d55ac610e0b904b912ad7261a59d7e01eee3ea0032a4d98c6b7eb4a7497931a71b9aefc12c0a045c146fe1ec895a3041a943af98d944629d7a6fc0f0e45541eba567163ae9f5088f2c9ad42595d6a5fd79c94df8ce3ec0d5a37b16f887dc22985eb5cebeeb83948ce2206d5b4eceb9a0246ec8a2470a0f1ab724111128feb6e35cc596ab9b17ca35816ca65586a07e7464092aa44424458cd942c3dfeee00af580be4848c07d02a0b935ff8daf4d61cb7afb5d3eeb90d0ee966a6628d8a6890e0a5037cb4ef868101aac7ff7231db6a81a40c1df2d95b622263e22a825b7a42b9c10b01d442bcae358f31af1f72847891de926492e4a79dcdc9047fdcd2dc1c98c6a6b8b4bff4ac0c9404e170467e5acf34170437cde273509350ee622a7f794b651a17c96bf9f5bd912308ddbda315d84c849c510f01c180fc130930e9b468fd12e964b08b2ee84b5246c6392f2633744690ecd011402f8701ecdf030a656baa59305a554d3a81836849c224ab020f2f87617e307bc548a4539313972492b1052e5a922ed72be0cd8016f2ae3264fa054000d11e046119958c712ca027130b84869b5006bba8ae7b797c932ea5b5dd745b224dad1142f6de72ef840a330a390aabdb9b5272458e458082c8098e96647723dbbe71adf2709873e4d47dc6fc2cd78220ea2d1e61ac832914067f00ef7220586f81896039eb2e9808243b58ce3a112d071f61e0ad09bbdcdbe99a6701ef37c3f3dec974ab0be350eeb0ea33537557e7ae8ef99eb3ab81439a3dcee5827fb92d6f7159777159de37eca2ee312e2891b54f10fc01bccb77b4fc05bccb37d0f297e7e42542722402199a7c3932d901504e7d12e9565da25bb5c3271cbb757a4e9e37a4e13ceadd0de7bbe3709893398ee674eea77347cda71ebb0e8334dd4fbf71c235f3da3b5cd31df59c3c3b9a79ed74ba328bcccd92ec54374e6f1cd250e6eedc0d7332f7eeecb98b7a67f1049a3fddaa795eee38b9a3b15b7d5357dd98b90edf74d6625669a93b7f668b162e5c80604b4b0e56fa74abca22417aa71e6143e9238bb0582c2cf3084b457d74799fb6015c6e809dc35ede2fb5015edeefb8acd49775161d415adcc565a723c806586ff10db0dcc5bba861bcd7cf1d96fbe9eab76c998bfbe9eafe72ed74756f713bafc3314e0f77e97d51bea59cc35df779372f8977b76e9d0e7a67d9db19039eb08e202d6739e861f007f0acef00cfc238484ec769c1a0f71c98c5e1b7033ceb2c8cc382410fdb90b97778a6ab3e07063e0706623b356059071f679caee9e2583227bfbac5bdbb3e6213996e71ff3ed3dc5d9de35aacb3bc95f0c8127873602cf7c774d5b75c152296e5e0736039b0907573605c975a6e0e4cc6ae868e20207e35c6bf775172ca45c1379df1ff1248238f2f8fe54e906ed54b9d6ed5e32bef95437e25cfca5dddb9536588cc225c9c3e3ca587118a27501e4627540f75c81dc319b959367fd9e52eb7e5b25c564ae3ef9d4f97bafa0c09fb3d9cdd8d29e4f3a77efa9c5ec261ebf9f40d873f1da5554e57a5a45026eb9d7637bc370e65b8f97ab54e3bdf953976373c3c8b74abbeb111f03d33a68ba6abbea876af9f426ad7758fdde990bbd99d9ebbcfe898f9f36a98faeeb2abd1cd9ffad97a4285c33b915251b8d5bac5e1bf6fe270cbc1aef890c9dacaaa3b6cf990c9de7763f6ee0464f2c4357dee5c3fe18e43c6c30dd4ad7a942bd86edbe62f7d5aa1addba74ec38452e78a89b77006c9f55dd44e1a467bdd5e7b1aa6f47a7ae95cec4c38e4914db7f77443994fb7bf991b155f51f1b171498edcc6711fa1c19ede752a588563b4367b38fc3cefa7302e41b921cdf6863726aebe74654fb7ea1ccab5beb1b05d81348fec294dae1fa4fb6e91529e926a932180024626e928a5ac572e1197c0904c9944fe649912751ec95c7e8ae8e04384880e457a6486f0f0c8c81e29a4651019648690d715397e88215e4e60f8f001c309110f1e2d18924a04457fc78e1728eac481a31e60094b071daa4cbf5e1f0c49958191cafd425fba25dfb888140c49c53028109ae7573f8a53d94729d7530a94729768a6b7ebcd0432f38c73764b84780927cfdd74329d2c2f18df39e62ae68e89043b82f84c0452de47c35cbe015bbcfc8e4845ae1157b04eed58b7fa760a419fe81849d4aed83a39be63cb222826cf64328570e0c0f1754c105148be46d5490ee392fa6dfbde7abd6413d3156cb8f5d0ae0f924fc822b556e944aef248ae4b4c211b70f125ac3e5c1c9252a829f5b04d3d3e768c67b21f6da5182d51dad5183db39da45bb3562b7f48a4aec3214373b0b4a80aa26ecd0d06bd3e60e4acfb0978b0d562f959dfb7826562f8ea4249633386e53bf8d5e7c36f05e49e0363b1ae7d074b03cf611ceee071b4b39e03fb58ae7dc777ee2cd7beba607dcb73602b77e5abef58f9eaf52b8c83a4e21dabb7601cb0fe5b1d07ac7f90637b178c83e37217dc92035b790eec11c63dfc381c611a8e73c61c6b7a0e8c75236c95038b9d0977ac5bf336d0116cf6edf2094a176cd8440d633dd3e7519e72d44dc96a761ea5d41dcdedf2ded4fcead676d50df1e8d9d62dd433bc5dd26b97a3449f65aaab753554e754683da535fbe8334d6f6a56c1384819d9e9aa4b89c252463de5863032eab5ab717aea92f2cc445dfbd3a55574286f65a640340905e28295796244c3314283a52792c9f21d63c799496fcc24995ca255744c844dee9314a3cd73780ac9f35d0d12ee27dd9a4739813571e109d0937e02143650953fc456eb07caae98f37352a02179ce9e3ca712797ea3400d13d69d9ca4612407f23cacb956a25b96c63edba240b39f4c178c3ab14dd455f064b70ee956e5e9d6942eb0cf61dd69989012e5f984123d21a240b49fdc80d1adb903d4144846e6194075166d9bb5f249f5c9b14511a39c521192662d4f382e072b87ba2587643814156c6ad48428871fd28f3916e50f277b644f0aacc842dd1369cc2c8768a428db91192383fef0b3763b62fabe168a315a7b388fb49a044591c626833aa8d48a34b64f29c346c9fd2066ccdc3c1c6ef62391be02b46dd67e538784e7763b8f7a2ce9e13cd27526492384228daef4cece7578fea4c096f0365dfd8d744bdde2b0a462c372a8d5241cba628c2e41ee67f34838caa10c72b58bc64894fb01175f385982f186a18f7f69c1689879ed35c66fbaaa0eedaaafd79860c36d8badd28dbc34b6e6a479621b9cdcb8d4ad7a0244577d7dd8cab5d66a53994cae67d284f7b8d9a15e8758932a826626e9dc5e6a37cd8203411d2d9f0393efab42c41e8c18d421af800893180809939730893fad2f1f7e30197be8d69c38a4dc36e9337df2b49159c822ad1863baa26bbe87003c3bf2880c5bf1a1f491930adc7603fb9297421206eec038f1fd1c58d8cad246099348d8f0f592d386d6ca6e26a4b55d7f40e34b2c49e79cd28a2220d8b4acd2d9327a5d89238db614ea84624dab4f4595c2c20257eed2826fa4d122c7b7e86e68b9cfbdb46c2fc440ee732eb24aa7176620f7b91a38d268a31ef702c59abcae7a2111b9cfb5328f73dda5858505ae681e6783abf5a206172f2df0e6f53900c8d78c4125718d7cc32049c7c3a4a1e947ad47c656b4a7e6604df6334de99ca6d37b93651413176c0b133edf4ad7d15376188580e4123dca32c9fbad160e1f71b86529489d3a71684d5e4f33b1f2e590e6d82d8374abe50e784a820d5f79a34ef040919539a523ba74644fd651820415f4a4a7a199e222f2c45f8cd1ffacdc84a091461a89a4750378e0e899d9a1079feffb5badd78b0af91862878e201a4695a54ec30491421ac0636607180d1377501d42d4676a4334d2482391b42e1a8a8d349986f16a6cf6831163744733c22959c4529007eda38f709893b5ec3de697ae996eec2ee18d8e3425422878014af6308e3e1a65dddddd67c87d9c8e895f28eaa1af63a465af19fd8c754bb65bbd659f38b459be441a9d77a83333d366c993cded0a4276768408314110130431818e09829820c815575cf164c9902b960cb9224f1cde740669f28c79f68d4b8638c94574ce6c09044d272392ad40ee1041c20b3d103a030e80b2508226c82540e0032b4401861878a10b4b4820f47ac5991d70f4306348340b01501228680c28a54233e8c18b0689c20937e25e1c774a29a52898398ed80e337866a394d2289e643a33b383cc8cd7cc0e387a90d4076fc17851a04c3f0345a6df01878e20de8038b383118ac083cce5688422d42087312644d20106a400820fa06103414d70410f78708125b07802178ab0842b08551e908088188218a1842a428085ba032ec68eb13f15557777cfeeee14ea84624d5e57e248a34dcb2a9dddb23bc6b8b2fa56bcd9261fd412d4920e36fbaa87894387fc4cd3241448ce9cdd466698c68ed85026371142da49fedee500e5abeba39de8f0e170eae4fa5894b3af6ecdf77dd846cb30ea552990111b52a02c2bea2defb481904cffb5bc3b1bdf59de1dcd2bb3fcbb3f5e9985a56ba0241dbbe186c2210e9783fd308dc9c0ca2fb459d5cab65ddff779d5bbf3e1a3d9554250d4ff67d5a5f45d9a51abafae948f75abb3140592d9eaca15cd4cd06049567df593bf674d04f1c9dfc39c2c55eecaff5efd14e897c61e0f04f8155c9f03fbeeec7c58a9689222b62602ff73fc338cbfa3f05197e3529737b5caf05797b3cbf1e5f89ec261ce280a569eb5421daf52689286a1400d934a611a764533be77f5acbbb15a619007d5575fc50c74c47e0f29104dd2adfef7d58d5d0ed5bfa32ecd14882689933ea5deb9d35348cc93a76154efa99357abab6eb865d5bf1b3e7f2c1d5f8e4faac8c64a45f06c4379f590e68f889fb0a1c82ba19c425df97a73a02ef12baf54f79b47dd9ad563be8d9653befb9dfbee54ddc9b38170eee4a05f7da6a790865961209d57efeffdc9a3ba317f98865d7d2b7cd399dea0a72c2d2c2c2a1deb24df57ab8f75bf0f1b51f954f9becff4e6e35563f5949b802a3499c02baf70cdf7ecdc77b3eb40110591bfa376e4ef33f3bbab0b047815d457395657e150bebeba35aac70ce290e6d5bf1bca58feae725530b843e52b5f51f9621545948ed89144f2b74a995749dd66e6145c8fba28f7dd92b717c67d754bdebb3accec30d26ec53e5e78636273b8223aa5ca23aaa858542c366bbfef6fb55e150b3b772200aed0a18931a3e892c71169a06439da98f059e15b68593132c3ed5b3219c7e80a636cd399011777b0f2ddefb3ba085104e596b0bed191a6be6ef5e9146c68f34907d6279d3cd3a5236cfc83d09acdcb0c6fd365270ec2cd291b4f8a379e2c5f9d60838834564bc842046d3c349ccda1fdfc37632e55f16007d7df6694f4dae99aae16be8a0756be8899231b08175f326d989e39a4c706369442934748082af34909769b3e12075cd4b8295f23f10dcdf23797d207070221df6ff9089bae276cb8c998ec06942e7330f4ea0e47774318dd34c7f038720c71ecd09e651aae48d8adf341e228e5ad48d8f82bbfcd6e6cc2e1e6e10e63126ee5d838bae263c7006de28a84d57cc8e47a1f2a8e1b7dbd15091bcae428ffea9c3933167011c6d69337d3d6747df44882f5eafce9a6f70db95e5149c2863e7238eeb243a1827436baa33eafcc5c0e7672614e3ecd0e875247901f79bebc139e691f9e5a8aa9facf23271ce2e4d36c69b5b0cc779ee77da659e0ed1d0f65eadbd95d777fd40dbf1bda7be74ff7a67178d8fde7e6953e1205d6f328f09addbda9b36b053d6c81ce38fcf4fec7e1330d63070cec1951da4218b98f5284cd467ffa8091533f772ed1ad557f02d993e9843aa59c4e271cfa809153a5f9d3c4a61ece9f1ba921ef2928131ef24ee790f4892921682a0efd340cf792398e2b71e75e61e4393463649176d5fb4ca25c7d6651ae3ef349aea1f4a13a29abfb88437925e5c69cba918b4db8f638dca7ebbdbb73dd7d863c9c82021bf68ef419da593d76df6f38719672029bc3ffa67396915c5c766e892a726402849facb4a1986c8ed3b913e6b08e6e994eea3afbfec99efbb4984647b74cd7d12ddb7594f4acb4a168da09ac87cfb5774b1d0f190fa3ec71de53292fe4bc2e3bc75dfbe914ed4db7bb4dfd648fe7c44064f67ef2708d969d3b778e8bdd75746b763d352db438063fa7779d77b9eeb6bb316b379c76343abae55d47b7e6a567715844e6fec77358cb6ef8f14f3f22b9ceb9b82cfb0827de74b6404dff6481ce38e09adfa3a773b10b73b2f48e43da3de6cc0ef7fdfbfeb1930f6b380c1cca0ce3b2037f78719707d1fa4b1ccaa3bbfee2f21607e2e52eeef2165c8b1b619cf44149821d3db41925c6677a8888901c959c414915aec851c919aa5045961fc851891443592847256720dd748ee34ab1bbe18638f9068f75d0039b0462d06bd06361902382e3b8019c8571640ed6b01573027cf4ea6adc40801b6131173ccb8160bd0513d172960c11acb35c0111f69aae7a168cd39aae7a166639f83ec83a0be3b0ce3223d36198cc2907e9a773a76b0404fb35fa40c09ce52c182787eb708823c179968941f02c1827e6e07106d0714080133ccbc10904cb652e838900cf82c18985d8c1f2168c8363baaa02224cc774d507315d75a61f6131180623e947d8003494b36e8475f786f78d19bc11767a5fd35137c4c9a8d4bd7361ffc475a97b9ce991fdc6e1fee991f4999ed3f5ca296c3aca27cabbf341e69c54003627a2122962392a41038f8a158474dd55fd545f25f5be87c3cc0795abc2946bf7705822611b9c5cd37dbebb4763dff87dd9e598ef40ee0c6839cbbd1306397c6ac133d375fabd8f4edfb8ee6e1190f2d3673a01ddbdd37e7751a8e3e4d36597a36fef7d5e907bf7c9611367fa8cfde99da98483439782c22a49d88953dee19a949f708dea8629d853f1407a77dad1a870ccf0cdcc2a9fef70a8615ac23733a77c48bd53dd755e7ba7ee5eca870ed393d7de3d1cde4c21b663bf796848d9f479b7a7dc1027a7a8cedd38e17e56e26ebf3baf3bead1e2d82d2ee5a7ab924d3f7d328001281cbeb20ac70e6f5e47b3cdd2663a1756202773373de5debb9bd2d914a66e4a7dfe0687c3cedc9687c8de4fb738a4b9bbc55d97722e3c5d004779af1888cca61494671d4d6713ae994f7d7647339f3ac7c59cd92af76e78c24c64a0448e4c72c075dc676e28b3f779439c3c4f3bd34dfd14f336e3b4c320de21bd1346799c288f294cbae14d46b9006e384446390e37c4c928b7811580b3743de4e4006096ee469f745884751dd701c13a087218082258f0a7abc311cfc01ae5debde19c8bdbe272322e00feba3113610b3f5ce46e2833d7df7028e34aa4f8c938e4a8248a2b944451457ee5a8248a245989ae948335bdeb6ad844192ff087176f7106bc780b0c32a07517186cf03b5807310e12ef38e03c08f6591e611edee1029c18fca1c5c103d1e2202602c90ed65b4e04f8162d6ff1169808d65b30cc05061b9f05138164478bb39c881696b7bc0513d102b3e0980343c9742deeb3d8e246dd94f27797bbbd39ba779ee77935de634ec1218f8cbaa9060a370e63eccabc5aff3c0f637b198f1dcd2b73d9b320f8434b4bcf03d19fa1cc4068e670c8235b19326470ef6a587c436b707fd1928cdb3b42deede19076364eefcfcc992963c6b05c868c374a574346cb9d89d1c3af6e4d1d413e5d47f90d375c79c47aefb3dc99e9f2da7414aebbf248b7ea4d57fa0459d2637e9186690c84e67a79843b8ac974376bbb1b24d2e7f5dedd1c92cecc796b4e3f5dd6056f69ebcec2a0878341ef9e8777b0ce8271bcb38ee3e15863a3659145165764efa5be28b799d9c311c622a5304d67d25dc4b82d447637782ae9de39eff6ce114b5232942447256728227d72b5247bdec64e7b377535bcadd4e246988b1b61473a1c756bf4d55d6e84bddc089313c68d190036b85a37ce17b7862a9440d1dd0fb2abc19d3e336340ee8459e7f00e968307310e0b9e99ae39c139390ebc20c7e5c0a6066c9c2e3b5ddea32b72e7f0ab9bde39ad34a34cf652f7703f718adc0f6288e8d52384034718111bfa8185b168e82787f14910eda08e86d9b04de70ae4642032c76e752c9963131d7042feba25bb6cce6cce8983e856cf6731c6a431c6c44139dc720a2887af25f2fc8b16c9610c4a821368c8f338228dfa001b89508621398c42910865e0c93a82983141348c441e9c8f39c20a60c3d8242342039abc1a266ce5181446a1cb840923727fc78c333881cafdca2d28721f46f802f2309f3dc33515db68997ee2a2dc5518ca61294f5972c265defbdab97a8528d56b53819c5ce2646723b3b55a8c7aef86a0772033db47d0c3345af66ea3657b8bed76ef8e5e6f53c23732c71843c3cdcdf7e54877d4df72df46cb7d203337a6ddf2645bc16dd9391277ae9bcfe6b9393ba391d9e0e46cda4c90877979f9faf812b6a9404e8cd24be76ad7c52e8bec81202d253b57e4be8f86994c9a5c21b3f7486a59497bf6ee31d2c8b04d057232e939b97bf7394bda3dedd9c41a678a599b375d21b2ac3e33dd88d946c361762fc504362ad9e9c9e197fb1da01f2b461a426436f5138336364ee64ddaa601e4cbd9c3091373a5df6e2881d0a8f25cbd40e20e3636b133d4233644c334918f1f3a76f415f26547f33cb18dcc22d778df728c3484b099bf91afb7a9404e0c7a7a6ede1b896db4ecd5788f39276791e5b5d16c6416d9a3cff12e7d766d26066fb6572027dfd86879e29aedf3393927df6c426cb72942277b2765f35aa49d8d2dcf2973bc879921b9bf43bda634581a4b6f9006c8ccb5cfba9912871bb6d1401eb2d7d78c6696fe9786d16222ecb01006bda12c627be95299bb3bba3197361b5b266d5be9c62c63a637765788f99b996b4c6ca3e5703e93777bf6918d96eb330c64e6b9dd52ccc69c7dcb17c8ccd5939649cbc32272cdf79a6b3fb9df9a4e58ee889de9565f871ebad5fd82d3ad6e31c3c8ca673a15d363ba1ebf7d1dd38a2d4e0696fa1091abd5bbe3a1e50b7d14916bc2dffbe828b8c6fbe815c8c96fb9979d8def2f971dcd777fb493fc62ffb5dcda6f1c97b1565fe190c5876df4d57ffa0a87dc296e9e6eb1fee19a1f1fae49798aa3d73ee57e1c55a59e9263f5cfaa30cd0a7f38e5f436a5544ab9df63d7c3affaecef5bfe9d8b408c58d9b773b594724da6a7bed3976e9fbae077fc14f861fcd2bbee73ceac665eadb5a664594a9db85e89532fd10e87ccdf53aee99fe99489fe9e7639fe0fd7fc2a5c33faf7eed21baeb08f76926ff18887967fef8e6684c3ed274c397c3333cb07d6b3c7ce870d8732b39ead56577634b3c47da84cf5d53f160e89f061859a4fbaa761b2ee71f9f7ee699ecc0585baea3b0a87392833d8703e515deb68bedbcf4c958b7fab5b6bb89c5b51a9505fddfbf761d4bdaf5a6eed5d8ec261ab6e5889b2ea5f0b6c3bc91287aaabbccfbe86d76f7594cb5156b8c6e5b6e5d6e596a64b352eb7e76297a388cb395a5a5d7b17173c5bdd1252f57daa956a959357295f77c317939f229ee7954a2958a27cdeb0886c65767171b92dafe18618e8c928777143228464941e72310dfbf2d24e604880c8dcf2dad1a4e4165ce37d7e3e99deb3a3542dd8d44c49b197b77455a41e25423d8e93251987e444fd86ea39f9bb21bdacd80152862c5d762be55c97525e514ec1a9a3d09e9a7f44c4871bd2e4ce2b7a1a663ea159d8703631991ebf7f7780cc21e6efddd5f856b74b5ffdbbab7b5ed819f5d94061d5e5eb77bdab6ea4d9eafb9e65d9eaa67fab9b93e7f56efa77c39c5c7ae9df534a47a19efaee7d4ff1fe5d8543edab6b9d0f29ff54f3f82a1c765f610a84690cf5d5511f0ebfd551f5f2a82a31eadf55a89b8e809900d455aafb1d7529fd6a881c1f06b37f97577d75c1ecf52b9a587138445e5de27088fc1d25bfa11e3b1c7275c3d5295649c2aef0598f5d8e7914ae99afb82675d46f6646fdbbe17715bea97494866f664ef9ea281c621c76f86666efabcfce07efdf63e7430afebc0f75d539d5455dae542addee61b1ac6892cecaabeae77d5f7d28d565c5e1ea538539f9fbeafb3e1cde4ceebb34368544eb44ac578543647afbf066e6f954ca63b750f3aa6ea8703804bd2a470a36a272dbad54cdaaa752291caa70acb1ef682c3d5dde1a150f251f46b95ef5d8a9a4a42814ada567d92ccd1f198542ddbbca5541bd5d32e53475974f543d9d1d4de78a6b54cf6854cf62566561f6caa16ebdbce1103415a3aebaa1b4a1ba17b34d9dbb97a14c4fe19bd9ba295bfb99d9239bee72c31fd9f493e91b4dd2b4abc1aa5d0f399905dfccfcbd7637bedbc82c80c89c924bdd3dabd54b37a4b914e381c3886ce86346b69248aef2aa1caaab56379c9157ab7f2dae6a41811eb28f19d9da12ee1efb1cf6ab0ff95a5cb07b02aad0e45666c11db1990f919e6eb5934c5ff367bf550bb64613350c17e9533c8fa6dc8ce8367e65ae5ab029e7b82e6532236a988ce8bba318a38938ef664436de0a6cca3ddad33c9367a652a914eaf54adad550e1a3becbaf6e4efe6ecc14675206ea33b3deaca75b9d11e95697039b82431fed24674789d9cb8a644b72db8c285bd2317273c216e998d92453225b227796241bd230a96744723ff3408481914088ad7e9809c9fdac9f05c976228dd3fbb568c6c8584dd230a6d7250d538f1b86be6d1daa54340cebfd4a54aba84db62196c857e455891d4af4551dfb24ab7cdbbed96453e1d0bae0f0cbb28805dbec61ce03b105844c486cf6fb492c57214d8986e4beaa48ee4f25ea12325b0cdf1a5497d4584d52552e1d9aae2c48ee6fff5854e4fe6aa84291bb81baf3763bffcaccba9d4d38dbd58d54e4efcaa02c637327c25ace9fdc9faa03ad60421457274ab70ad526396b65b0e1dc49ad5cb07b84a97cf6f4c4e1a7a2403c67784557e9325bcc06a9dc29a45dfdeece1d15a85e3f12d4a0c3814561307bcc28b9f33dbb3665771a48d59de5eec77637b0a18f972c753e3c44b7fa9d0d6cec6b29b06124ea4ca6ab648f4ffcbeaeefd1302911267ba44f8d1e4d64da36954aae56f2f31185b26a0251e8fbea7ee772b00dd42d9953ee926ef52c22641e99f327461a211499b04110946a45d359ae2e85bad50489d013b249b79a022961c39b9a57673d6c1e2c8690e8d09e27f38a864909829c4dbad557f828b144d724b9ffa4c93c83500d9e3c594917d0d4154a15ce9dd54d75ab824de8501559f02011ca3d617d946a3577c2f924f7f1fb5348c35420e426d23094a6e68e067f756e7639564f994d1a66857b09d5e9564b1ba6345879d44d69b0aa0f0b5b1f7e2fdd6a1316a7400d3393d0a0c3faf409d49545ddea574085a59379c57cd2ad4691c186743e19837522d337908c33657abdb48184a039a440aa2b9b48a16eb50a54611b9d555f3dc3c42548a0c831269a214697344c64a2064fe4a631da24775d82a40c39a443b9691534a80950a8565f7fd774d9f930a16268cf74f57d729fe748eea63f76f55016ad281085f2f7be146a98265ffde427a3100c8976b91369e0cbbaa84b7be6b6791d7efdd5953d332688269d1236a431d457a749bed9f590933fd5677743a57a57035b130195eaa8374f103386027db89eeb686057cf4e57f8a853209a24e67a6fe628899538bad53a5638b4f463956c6a0bb75c5aa150f4a9afbeef31d2f8e82a85439c7cd39f0ae39841510c4f70f0011e251821051be81a03293029419014a490628aba2446c42416cba31c9930f1041a4e2330b70e4a79ccac090d74c16a2b4219edeeee6e4a29a5ddddddaf3a62e2842450aaad7edc74776b7444353ac511be224aa9a66594524a6f739029d5344d9b94524a29a51a9d3ca618024965689b62094e75a11e430fd8b239b5189866ca8f210f84610653f474a94c8a124aa8c7d0037a642510e0e8c20838c0831d1d4c9186ee4191274cc062922649d3346d229135ad09a5d39ca3392a1a8d98b0283364a8a662b59a25d19978c47a0c3da08736d2a636a2a389aade0f2a858e2046a392d6654d8bc9bc66c8705390acc0a20b9aa685802ba1ac78c29229743a2e2a610c1cd58ae6d451999cb291d00e3846da119aa63991c414ba90d59a8da6a04dad8e6aad736675948d48a459e7a88e465260d1e40a207841891e90487394d234ed353b1083074f84d00319642188094ceb1f646d085423f1184d337495f2e831a7a6695a74226b4dc4608aac693b46a4399aa3aa699aa691344dd3b426649044d6b43ae76806485002124d100213c08083399a4373923ad084117cb2a64dadfec82a1454b37f0c517493d5497fcc181e4448d1b4518fa1076893fe68c28825bafe5154a4691a1359bbd5b2fae3e6078f1e8245b51c9930c10399cb718915b8c0a38aaa244bc0032588c2066530220682ca44cee101177834e064270a1184a18190315002224a4c810b542881040578020a50d060085f0041122204e12413db40393ea67045df12944069937b757777d7dadddddd5d3b1b026909283a473364b60444a187e789122040810a35560227b0d0342d9bc2d2b9e188ed80a306a9b5d62372d5346d096150693c76b215a86aacc7d0032a131de0b1551ca0b24967b45a6bad54d08c87d0126ff2c87434816b2d1bd2341d51cc9e3cba95bdd01d3c667aa4a230141b3311fa4226e530c65848a8339b25dada4b045310610544b26083255b80cd3a843cad489227ad559b73ce39b55ac463ce39e79c35abb5d6fa8199242021850e6060c5098e009b51e459244f212af29c75d22694b26d3b4208455f20021936266c7dc5645e3364325a0395aa1db14212ddd498eca0d40a24d08c5a0104a89e19c211db01471541ad550ab9aa4009569480d28c66743b8f242ca15b5637a1a21d9bacb566b486a0560e24618a137c0007424f5401561b49ae52e45ab36f19cd68a65d3efe98311ad691d511d4fa82861afc40073728fa0903acf6925c8b34a1021dd9ec5237c9b57eab73c99015d974b101a14a86188d99031840860003801140011ec27889717ad68b1b605e314190d8e00a808c990318a0005827d7e09271830d2e492291e6a7830e3ae81014844127dad52f75355ee09408b2527651b1d9dfe7e22ebeaf3f992b61047821f32228e6135414bbca139522952095980a508cd118b74015a578504f5e5efa8546502c2828a82828281664b224a2a1e96a17971b6c8e2fec4fcb43fb832a4215bdb028d935e500d8708de4d0c3335d9d03065f3c87df00faa8c4a66b2868dbdaeed825a2fd4115fda09c4414195ea67124af523b299de96a9e1d9d18a35f8acd66b1561e57c0522cb3a83451898d462327bad50fc00585bab5042b3b1bb0a92828161414eb602ee803f6803c3146cbb841a552a94442dfd7df8900172c92b92051505050d08ba05890a05b12c00577628c54ea9d72c35589a90c4d576f5b0fa0fb6104332275529d9121e293928bcb365c23375c46a9a889dd41a11a75030683825c36bc78e1ba335e365c1d645edc1dba995800ae8b9c651bae91ba1282411bca575d0d95588d897961830d4130d78567bafa03b82e02b82e3a31c60cfbd3ae2e959ab47719576549b75a25662ae289346a78a38ac0a019cbf62a3195580d336e8b74cc8c193e2b2b602907fbe2a00d07bb1a363c9b810ded8f0c9a03708dd4bb70085562441955140389a6abffbaa05011c7510c066d80e608e0664670b85da26370c0e08be3f00af3c24950d092a05800ae911b6ec33552ffba2a326ec02ab1e9aa3bb9638041d3d5df360b067536684ea5e09b46ec748536bb0d03060c16165529bb12000000404b4b10a762c335d2025fbc759493171855142b8a2de918d089a0a01a6ac091e2385ddc10bc61a905aa289c47b82ab1f0d309b7961b6e2c2ab1103422f7c19555514ea9a8c4429004612b154be5100c028358452ab12db43fe0908b116050504c25463be0225425c545c89cd9c9c0808b2fdc4aa6251b2b4a1ee74b09175fc2163a594aad3ee6d0ba6b4da8c6c4462aa57d3a673daa07f5823664a633ff7bcd98beacf18876752de56037eee19c734e3ae7a4736a8ff4da1339a43a11a6146d7d07994eda2567d1116c08fe2419fd471e046a9839dae62c453994a98c31e4ebe5a85669362f8d344625edd2adc46da51869ace4aeef8fb24aea6ca7e212ed92e04fb79680f2a146c41814d0d4893424aa08ea084a09d410a24b1e358454081e915f017f729feb0bfaf058d0a75eb048bbe4b991900d39a12c85a8ce6c9136c009fec41814fcc9f2f46a4279452509ab11651fb088fcbc2a49584d286b42993395464236d484728802cae04eb7605dc960d392bb310ae8062b539dda021ba280e4c19e8609513dc8f2f2e04ec3f4e5513e8831b368ba64a411332804e4c9d28726148243f22c4374c987a8589647f520d288779621762017cd18aa138f8831b45d32a42098b4b68c9dc42a49d87e0b1d8a52030e873be9990d8295590e4ac8410c96c57789bb3852066130a2035391c06679b0f698376a97cead48b7328e96b8db498440880e4cbec0466c84f499de7c660c096f3fdc06d4303da62bfbb6d55c139f371cdeccbbfd28614719a589a7ef31e3249af1dbb55b1331581fbf61b0621c71fb4dcd4064d63ee9231d5d23a46f4b6c3fa4bb15695776290429767460735a2222188c79742bfb7c82dd1e1a217dc32d3b651a66fbf78475629389db4fc3cc6c5ba29b78f319627b64960836e61d296494c4466c647b2d652e070b6e4f00106218dc224c87760d5999a97df3c936991e3366cb7472b6c9e46ceb84d85ec3c74482fda12a8195d7a147b7b2db19e3a35dd985e4ece14b06f988a293ac65c1ce742bbb668760e543999cbd3a217b8f482395b34fe03e228d1ac790332c72b6819c752b668f2f19aed962b44d51c44c1b8602a91fa93c336d9830034a88e52096a7fc948fa17d7e81c06ea10d59b9bfd10c813a1a62ab127b7318839831dc397c6967ccb6616949a36d849237bc9271c638dab6ec5b8cd99ee1705ebbdb73f6a9699a86c30c6f8f758be6d4ce82c009112f65945147b7e40aa22b6618109088ae78bfa38475041187b21836408516aaa0220af5a44620e2c08be4401e30983d462aa96cd94276886f3cd32d99f8303a213f10638c720b01175fc2184b85d84ac9c92fda2c5aca0c7fdd9a8fd8766bcaf91c5a90867e7bccda73f2bc9d31afd7a4a9236c582a354c8cc523f00cf11269b48c345a666eca6eaf718c31eabba443c3d078021b6e5b498796c10c768b474961e5a5cc012585cd926edd9295888db705e05eaf86a18ff13232d315ea90e367d4471ca32b7c8de527e3100eb89786a942c85f4be6d03a132676dd9f392da59015d343da28b7de516e3d3d2442483e5d926224ddf055848b51d330c84377ed37ba6b1a978db211f7adbb3eecbdeb7d66a27446a98f3715654f1b8d46a552966559c9bbe1abc86834cac9dd0dfbda25719fe91cec002943dbb218b51714a1f3310e0cd9548cd15fa9b151c9077472f812627b189bf4127b3373d388474b6c8c71f18e2e6f583f1a2db1618ce59a9b294408c6c71cbe320c4a4cb3e578fc8ab9de30a7890e24c9ac1c9be8804fe684c87e7343b0ca0b564ca36529230e9c718e9146481f1f926e0367d2ad21c78e86445f99cb708c6823b3c8323e04b30399f914cc30cd96e7270e252e75ab9578a02893be7deb726c45b0ddf9d530200fb326bb0c8e58a2f1323e7636a8fcbc32c7d31bd6cd46234dfa0cc8cc74019146a0f2a8144c96a5a99e744a118d00010000c314002028140c88c5a2e16834cb62389b3e14000d8fb8486856984739128420838c41860040000000102040408688661400bb86f97b88b8388f69dc7067623dacb0e7c61f56f4e9c628b8b7e7091fd0fb74a328379be05374f6dc20a09b1e6484ebd443f54a1c5bd128a4b7ab15b7f0bc91ca0d403c58137a707f20e5caadd0371aec861cdc92729bdd0ef65a015758ad3d7d2c1d3ae172a1c532191b395b4de826a8703015b701f9609de9a3e341ce95c8d9fae1d2b4937aaed59b583e10c42dba7a202d370879c8eef4b074a0c60d3e42af53efb7e296b1c378410fd9b762cb6fbb3a782b7a7edafcd2afc18ca1ffc9c2d49e3ee7e65cede0c3004379c7e3f1ee223e61aa4843923167c804722b14a6887dc4a5e5e622a5e98d279949423af152de181ac99b84c0ad8d7d282810b3180a1df1d01c0977302110d2a109e3daea1442206636a8c385acfda523877a8d991eb503c1f2b1da7a6df062da103d8bf3d64988df4a1b63a3c1ba7da1bc018fe8f8a6148675b2ebe4c8dbf4870755ef96a3f1da79656a283e46ed211a346139af01a1c9757b8ebbe790ade24935a01a9cc724adaa6130aa392127874c8e45ccdfc68d8faed81350c30382ceb8374ecd1666e91d3744c7adfd9c0fb3384ac4e752cac4f2a6adf9396b570ba4e18d142b2c2a9a7f326a30ddbdf0fa1059802147ea6e8d9a5b1abbfeb32b27ec67fab6a94c8f23dc44de8948a4e0d08f3297f942045a7ab9720a45912c30de073a2d3253b72e9346c9d15f8403494e9d4b09803d68a3ab8c5293ebc5f1afdb498c452f625feb92136e483f1f3dc1ee4c5f1a9575397286992b56d02b398b5b2f2b5409552e5b6117c71177ed48347b70625ad6be57901c51c56344b8548469dd5b5e4341c50726c776be27562cb77fbb4e4e32f054ba9a0947d8f849b550e5842dcd2a34b107fe2f5fd3812220b960b05a72f1958b622310aa782b53d1999845b66d09c02e45933d8458d3457dac5a36c635b603f23c91c991d309cf2c0086e7240aa61f52ebc04845c4815ed42b88eab5fced7d54a0f549d9323e24e0fffb495ce5dd606e7ab643de5c6e6bc48268366d3ef54f0d89aaa14391ef11825ad65832396511bbae00ff0f3a392bfda00b621c972a012f965a54aa1c3142cf340cd2a2a1ef0f5831c854b061b218a4ffdb09e8669fcac62ea2c0acfb3b1d648b697a44511ed81281f10de70a38c9437a161889aa4864d9f10cd3476c8b1d8510f923464d475f5eff3498f1162c9d04e31323b68a6081f2416cf3c5edad2772c8ed42f12912031334ee82732635fe6b543da000439270a672616ae4754f3f0e51badeaa7eef9d2366683e9c0fa35c8ced93e254defae923cba1da0a1c7b82b25bd6a72bda0a93109b236ab81fb5fa9f57d6c14126800696f38f2760e5fa232731825f905ee339b9b88304b0c21fbf07d34aa00f512ff251a19bc873bc5ef7090b0fc00790f75fd53817b58e50df7cec036208db4b2151a061ab72e5f47bdde3f5e6460f48d66efab487e82228d6b69dc9d9a4556e25ef9e70a05d26986dec140d6ec7ccaeebd5ea80bb866d6f11ee40740c5515073f61cead435ff10bb289270609dbd1479be031825224e8734fa1caba0c9e4c5040c40a1b60b5a29a88b7e643ca6b431c446a41b473aff0c5bba509711ed76406242519c6f3e03fa505d1264d4698e06ff8df8f6d00faf961a8257be98aa94a931cd077015adadffe816919bda306daf9ab44d8fe3f721a67329d778039ca992a0938c56cce2671677166c7b3ea500dd8124a0408735e92a0fb39424ae69baf6b813ef9f44f60e0143c995c54bf98a597c1bea32600566d83098006cf1d86a6fafeeefc370f5ef7ee308db762163e7831a6b0d21599c756eaead045ad5c23479a77793ba7b4f23a7d97cbcb6edbb90e3851800b1aec409315cea7b577355094be5fa582ccda30ad98ada2f6377e38ecf754ce728a92e7769cdde831a265e3f3673cb40d4b36bb573290e2305c7902475786a59760f910428f8720d5e432f4122e12cb7a0398d90ad84efe6006ef99f878e63d437b62edf990a45dfef79242016b09e19c442ad224383e535167b3342a0725e7b592d018677acd420f600e5aa1e65e11a4f16241efbe02a68e416075a487266046e2e08345e06a345bf9e00768ccbbe5f051635d5783fc28e7379da69e8282ace6a94d1d9cdf2b0937853edede682de5d4526e7be7f6cfbb95571a4b19c6bec65ad9616803fe36fd4ec97c41d0b9035d6012e93ef171904f85bd33df001f1e7964f8dc0915e94cc2850509393d804fcae58e6130c5675d400cb6e3391c5c7d98d0782599f6e9e27d0f916e3ffa2bbf5e6490d178ac11ce4abd7bbd7d05998073581849e00e0bb260c60e69c7415cf2a653a27ea9d5b64213c9b8b24a2400961d1b02c7a85110a240dd66822ca019942dba93337801eaaf78219e01e7510285e9d5b03e25184e8d2564d1fda8f9d34b5e20c730a2f0f36a0c3d867e1d0a04fdd115d6b9bc9f0c3b26df68a50e326513983f00e53e51ad2350a38e438a85147b9fe446a12fd6d5d1825a57ec448392b723a4c55a2bc8948e6936e6c3ff79e5a04d793a5d67ada56e8fd384c97d1279a9e620174ce0eedf5fae4a729324b4d3bd649e7e345aabd752840f73b2df6e9c2352eb26bd7df15720b16a9435eaa63d9ba6395a97c659dcecc812df852043f5e6093bb2f4a86a57c7f9f7405a818c42c3331ffb7133fc7682a850ceef56938935b1aa83a4b16e157df9d289bda08e7d6b0ea9afd59f3a18bd1b9140962dedffcd6f8606b561ac84209d6bb41e7eab47449de986e6f5a1c62e9cbaf1f41dc1b4c7f30b526a4164debf878b2d0e8dd6c994906e32a381b5a67336f7f7835b3c5ce92664644b7bab94057610627d2349e1ad40cd74e5ea58521b2701d5c805e505fcc889a67cf92e39ce37bf89505c34e05691a5a29df6d2c30533754e2724652d63e727b3466fb4a09bf4ac6452f148baf0255619834afc1b792f0095584d9de7ab21fe1b86e9fc24f080586d71769533396d4fa657df4a58cb2fe27414db53da6d453b3a4f225056dadc440c0879dc705190769b77a61565c4df62ed79432ba31113ea73461246634a64068ac826da9788837c1bae1f390c87add1241b7fd2bb166ca2b4c0bf910f1ab8597fc3ee5e6d6a493595bf51db6126df4c2a4810bc305cb5bab18c5f025ce5170934213fd8fff81772a3c6ad0825c497208656ac12466a8bbbd8f6ca1a09d6a8b13ed859f76882afa038e16c6a386d1b602304812b7ed8464533738c19b5d3bfe969d1415254cca8a965fc863d438209e0a9e1b12d257b8dcec10e0a9324c627219ab03412bfa6b49dbb936acb0fab93098bd614cad9d3316a5958e59f962a159756ca5f085c2bc373b50b35c06f019729591065ec834a6b417b3473f75652e09414c6248cda77627fd75ba871e8e6fa92d68cc29687b604b9e849a2ac60a4d0441517e59ab562c6a18152273bb3c3504f5c05120aa51b673e48c2b789079023d2904f7c59f687641aab049311a99d7d54ba4c1f657f94cf2d3f87cc6b924e0ed0153c866b9051e97586f0a600d311b13819219424f04168b3c65783f80cf92bd6459881f5a38c063101eeb8eb36b258735e9b8f176bd1524845d0b7425197d4f8d861b627a797308f463ea98d09b32d78e9745ebcc0cd9e9059dfbd8dd956a3c34f1abc0f247fd5b1f9ba3dda49c4fc9bde2d77fd5287e313a2fa2f5462c5987ff4afe56ab6132f9f12ff5960080972454dae6162765b2d20564c8122cf9bc9c52225b3dd3b9efc004a9094dcce97242b5e6b6eba154d266f761014c7f582948a7a2d14ecd3205685c1b06da3ff0799a9ba313d50c3d822868df4583be2f2b09b59c291a22e516db9d772ef16884fb81c79e440a029292a8f63a42b803a2e090bf17fded2a29007d86f18ce909337ddd8409e89c0c1a10b80ff6c3b4542c63a5447f4cb3e51ab2b98267cd024be8a5cde6b3eb2dd30d70ff4159a26e4cc6cef95e22a5016ea8fc957276335e89a9c0a4ed05b3ad897526d48fc0dfa5a03c9c1ab2a519b2b22a960dc03f476a57496a5e77f35fc7be7cb484c962d53e41b6688da79bb217afd729d41702c8eea990b6ce4e7bc84fa8bb12667289a4061167dd5ce839a97518910032dc432833a16aa40b75f4a623f37b34f13b08c627008dd47f8cd220e739ace440b4bf534677876b85e1ae6a7dd206a3f87b14e97ee9323899d5de5c0fd7e7663d092c30b0c0aea00ee1c7b1c9a7c4ded950cfb9620ce1fac8576c86fd1f9d6d0fed0bb3f68530c52fd81a0986ebb166dda7da84dc54795c8b513242f5bcecb0a35a1a802eba8190f75d9802cfb2f20cd70f36aefb5b049ae4e8b7ebf1d748d8fc4b92276a3934dffcd29ca99a66525c3d003f5f4eb4089666980aad150c19c834c05a066652f41ca556377ce84571c0e875aeb11ad0da6bdf2c743edadad1bc24e266d6a60d403dfc0e51cae0103a88467ca2c7fe5582cdd9c9ca8746b04a02edd3e0401a34262fa422d850b3bd48b3f6c1f7520629882b6fb10d47cc863c00e353902ff1bf3df7f114fe3c699cfc4f588a54cccd7359180caf2191ba9942fc4bab75ed3d3bda1ae2f3a8010bab3fe4e79d20166ddb37f2e9ac484dc8c3ff4fd9c56b4df25be1c76e3c102112f2f7070c3cd03c60c510b1572b15e9e699d0626d85a2bba9043ef09dff8f465c87fcdeb273e8a442123c904f1a521dc3fac73832cd0ba30948e29ada25694bb3150508ed8e74095a873da7c9ab0ae13da6f62fae09024fe901142f561302253ceeaff02919d429b7002cdcb68c2d06cffd986d908ae17a3e02a2408427566802dd84eee244df2dbdd08a4800cfcd1ba9485c150f8b30bc7f21bc5bf683132cd7539cf2c6fc62f406161473bd4e9cde5db3f01db14e085d974c91ee62f6a3674c66b63eec6e63b0bed0ede938a8036ddb217cd62039cb7d518b621de3875369982479868f46713b7cc1cdcd5bfd92fc07ff268f840864a1e4ea360ac46989557ac60df636a11828be14c6b0921b179d83ff04a061fd84b3ab310a090066cad08408c95e85ca7be9b1c905ca773f0ba4688000dbdf77d1480947dbe6a1759bc42b879d1754b6d04f2e075b9e56b5d8f6e7ed1297d75727c9d52164710aad61e1479c4b415548a15c05408003ca7a7839a5b8e8279a32fd2f6841fef12b46f6a4759e663cebd60462dbb8339bf076e8a361c87009764ad27ef0bd5a080a42d628e3f42a808488b7d36e393228653110092ca65a0a461594eb168506de8cbb29899210208f4f17a4653acfb7da08a564ade9c6ece937120d8f9d0a6d6fdd09da205a513cdb68208586fbd961b5561d7e585c582e0157a29f2f8870e06dba57925e920ca65cb775bfaf7357f48fbe7f5451a1fc89726d773104bd4e041ece0fa535a90173d88def37940544dc83d1d0a0bb23a7fc41293f317ef1e15cb1ee99f171dd924231441a71f9778c004563ff70c165f5769dc7d0a2e811b6221b65c94b9389ddad72689142db93af4c389dd1507c843dacbb04c1048fd3ad843488bbf2d99f3e04874dd510628edf45b5904cd77e55733a1ec72188b389cefab370de1d2c22a14a7f91d5bc19323ac0c437d7abe944094339485672cca69c0a68605f20eb31ffbbf2c92bb197f6a7fd849976a089bb35a4e070a6032f41b96809ca6014f196c1f8b5229d1958643e65124b3dafac0099088f53bd9f0e817edbd5e366e380e3bd365c8deb8614101063e7478c84b8ec790261a8bcde0a7cb40fad7765fe01c28cf0893ad1fe7e04863e593fe67a3d4c4e253fdb8e2a13d51b2dea7f92982d1a3b4d43ad0dd210860e4f4b54e1d238292c698570c1e295e0f5b0b043538f66000f480b1b58ea21d7fa0a62b52bce94068a6e9a3f53af4a58c95cd6402678845dedb4b75f47632d4c8d94f476670b806e75586cca7d392fa60bdf86ccc227f4b042f2a85feb407d5ac16a858eb4fe359ac2712da439351ee5e27bf6e28af22a30b6a6e10fe2fb9e7968d2be34363f877deae05b6fd7742c7f82aea31f20afcd6ccaeca0ef264b7ce7d0785a20b95c38eefee6a3450128022be97d9656078158c0b63c180ed9531ce3e2f45935bcf476374114876e81faead91ea5409912d7052ce8593ad250c3c10892a1b0469c832ea3a8bbb32057da8d65bc195ce019b0385764a84b0361601985912a5627317c8b84932d3896ae865a3e00b11e63adf9e59400939283cffa5bf587a649f3c08180809780b097317ebd4d07427655b3b3320b28d799d4d463bc7794552405b80b1be50a17cd733ecd023257174553336a5a8599ea906b004ce82de7dd7250a82ba8916ffa8f380b8e4092853da00d964b0155674413ac1452d7aab280f33759d6886e54478418d2d2c93d7113d63d3948c9adf2301964c15c097c8a4d925534a436094524b3d8203848cb31a2564541fc03f8f5715fce8d16ad2d1738e44e69ab38eebfdb51ddd2ceb81c56f4a1f7aa00e66b83643f85881e99cae4fb64530ca369b07f500553adadfdb31fccf28a696c2d458fc5d18ee71aa74c97ddae594424172cbf51dee8295118efe37e1c85201b88a363230cfcf2e9890e5f75a8570f6780f3a1ed207e067bc35100c9e2f0b00c46a14a647f98aec2f7ed0d401f23d8b17d821e469a7741bc68b77d8109d4573576986b7879e84db5438410191898310195b6a0fecf6311772d67f77451a7ac07d1029344c38932b95548c19212f65cd64179907ce7d73bbb2599189047ad69b8e2e33416994c5a5dcd0b93169809250c5df1e38a23c233ed4ef5456db4118a8251830d40f0f35d7b4ec96a283d1eadcdf57e775a3514839c1d44b1ddef2897fc6a760334b604d03bb12f2e75863e3b2738592f457c97bbcae99537bda3e62553a8861d9cc8528743c6d134ff2143d81706b3ccd3a10c39ee63e107451012c4db5b66178fa4419b8a62879ec950b03c73b4c38aeff73c13909654d4bc54dc4082f1b2f049f355b9099890cfcb7c28aed1628530f5ecbaf3d11a1657e0fc30b973028a04c1c55bffb87631fdb4aafe424735415b8f8209adc36c32665a7691c387bdfd979168753729f7a981c14c764cb3e38cfee1759e1a03f2b052ca2b5a2d8ac182ed9b8b6fb36515675646582f3d1194605917cc3cd2148bab2bb0bd2c39cebecf9afbc4219549227823a42eacc90c80b5450dd237e7e740814334c8fb595684b28bb3d223cb1af60c589f2c31431cc48df69bdd32e5550452a0c40584115b0d0e934100da7f095ecc788bb5e5ac9a5deb1fe54de9ef23aa0fdfb06959a429f57ab6e124d105aca3d35b9c6a64ccc3e1522d8e004d01271503be39a440e7e524598e68ba8fd4b0f2a12e52d8d1c001f2946574c267ce153df019cfc3081b076c771f38341cf3ace69739f1372b2568882aea0e3a2eb6d5b823f8e57cad52142a22969d9cd14e251e2dd840aeafbe06c2a4a74d1e241488c7fd7ebced303ae2f90fd9ff8f3771f4ec040b631b016037212b8b87dbc5e8c107a4468a0e924088f22e31497036d0239e2b7a6334d7dbb084b28836e885d7632c376d8880af6506fd8661386fcaab8d8f4f113ed549ec974d484888b2f130471400cc22dae4f666813763ad8ff3922547574dbccf54697e843477e8478b7173c20aa38030ab4acbfc8e2e02c768d507dac604b329df183ae712efddab40460789870d3bbb3b6dc44f4561b25d39f581f3d065fe37081adb6ea5da1722f2957c92b6b4ac476fc77023051bf0deffd17ef514eb821ff2d91f9be63fb37d704e38cddd0bf73315a481b1857f7793af2616a2b8622d0ac92fdb8cfeb3b09e0cd858558b187ef5c0605842a98e21db1861f7819dcbd39a56cfb786c1bfc99af71c490d9a08809ea75bab68f655a5f97c76e70dbadbc889083721f236074c85fb4bb28ea41a27b096fea6f6308535eaa9255cba64909e8e8d93307425f357a572f19032a233dddc3d8a9791eaef82340e0817acd6a9e251f07f3b4be8fb9030c92f6344787619a8bfd0c7c70761688bfedb4650923416296dc765cbc7e73dcb8cc50157dee0c53c011b7959a1a3a432203f2bd380e7ce8c4360b4271ac2040616a4aca5a6d77c80519e395927045d22a7d91217c660ac1cc8eaef6f1516c8342f28ab67954ff78d8fe7fa845b5fc73eac75f49153146cc1d37e4c2ac1c5701b71de008b99182d434338e0a0b13ef880ca0fac8687ed8ba4450e024d469476e16efcf73d14c8f9d706694b15f924c1ab071f9b8e677e63c5e2e59e8a7f4608c645519083eb0eb2ef0a147b8ae21a851a772e2a2b5738fa13e5ded16ab798cc4f93c3ae32733421d61470235436f469da949231e8c9b0445ad18c2ec8dca79b50264f93ecdbdd36d7e112852404af3081cdf42fb41dd752b48ed1f45595d0e3ef329a29ac23448129088d716b2ddc6096db3dcf58b8cbbfe76b193ad24fcf0fa3c91f118161e2fcc57959f8c9c16ed2f5e95e2b63001a0f82bf770f4da1dfe45c4151b481117b6596145f8a07ec8615233d597452a88ad47e7ac82f5d6d5e8691e75cc5221684bdb9acb4ef240f4c272ac69af7a70b2b8a9f924da72122994e96560f17dc5a46cd40058801a6c38248e9cf91e3095d86ea20d37a048822ffddfb42c4564a0bfbe802008ba19c68323b7e2cd7634452924a9a4315fd533638b73f1a8fd0c7336ee07e1aaac3c4bd0dbd054c1ea77f8ef846031002f36a2d409ce5f330fa039012e1e7d96dde8693647160b705dee66e60cb30ee64b25cfe135b44f4930b4f66d1f701c476409e865704074be1a5f8bf9e22ba22d559e9344caeffb7bc03d2f680ec053247a1baa2cbe0fd5fc561ff71c82b613b56d7e20c2953504ad762dc8a6766a4b8c6e3fd704a17d89e87be297151c7282dafccda8932bfec95df70e1d6f54c184a1170563cf95978a2d5942d3f68c1a47ea2afc0f6c69b32af3d11634d11440593b7c9341436e108fa3c9a06234c9a778305edec0001573423a590b2312aa8c51ae354cea20f35817ba1f9838155347b20ee4be78bbd15318e0d1bc55a3a863c3761adb88d7d4979b50278054372e814edb15c6285062ac789ecb253bfaa6409a57f988e6911e34a09b579412340b4bd0e06fad6a34acfa810d8287d5994fea55c875be7b99c195a269c6edaf4453a891123a796b911234d732dc56d7b52906265f27db5267b87f119fcf072164ca1452b9776f02c0ea9910b6b936be72d087d45e5bc0096d89bde6414b418929e2d18e81a4b3f027ec404ecf882aa412ec3630f51c43ea55aeb545eb5db45a1847327a81dde8b83ade20aab092b53fdb6b795ace252dba41a65e1e113a1a8b5a02cf890e156524ba2d37c62b804788f00e762f48cf1feb2d4b8a0952657c1c234005a18aa500bf20e2734e16829afd99d8dc5041299bedb4012959abd7c67455336521d2ba947cbd03cce78d09100d58af6a2e0151a1c0cacee075dd40e05ba932d54f2dd4f5df666ae1761a51298718f45398ddde4e412ee4003ea7afa9bc75574b15757ca921c5ad3a047b856aa71f0ed2cd49f59266f52754cb025cc2fde0d18af3b58528b4d035b4793b4690c1ea712095f504032a5947d153307e29d9a3fd64d10f52cd182460e385236564318a909221e7cc42c2c486ffafa1d96d3643c359fd17c51e767ae08a4fdd3824171fe1c5f2c9e3e183da4718db8595565905afbced73254cb79a1d439635241b4f4f5b0379b8355caabead5c41a45d5aad597e3631c733932cb2bfc40d27a6b3b7fa8a3022c0e2d0a15ec2b7c9ad857c0fe8450e2142d5f782da60ce829dd14fa8df231deafd7202acef49af2bd482add762ff939f9c54858b989af2df65700a82615720d519b9d32f271bfb7d6254e2e33cce490fae8f45c3d6786d5686512bb7d56977284d933f6c3480536ac87b1d971960b437dd3a957482d5fd3a1494325590bed5f7abf80d62f8fbc16bbb522de5f00ddc0baab77b131c9c645b15a9a9489b35f7916b55b92cbb598469c3c6fcd1525662902e2be555fe5ea81a16b1e5ecd3344c2ad1c17128402e1f7e9cb6ee1571b02797e69ec5ada17998a0f7649817bb8c7c5ef70a1aa11ecbb6cda0849123a07f08aef1536be43412095fe57ef5d84f2482f8963adfe0084cf68a1dbc47b892a265033a5c7a216e6f6f849f7c58723d1dc1a1a574adc785b557197f149debfe96b94b26cd32efc5aa947adcbf1d7b81f40e3e29de568682361b2d14656599cda033b9f78a19e5584a335ae1cf6bcf099652df1934da0b3659a15c4fbd7bb105dc6fe8ff54af295c950f00189b4d5ece0670cd0d245ba0d06db315fdc157de0d3a6a07422201fb9c67602011c7c066fa6c6c26d280c029ecb72724a06e4e2c814043413a638cb5231e5b9a2a664187d7d6278c4aadf904f35c88bd7e0917412fc324afe2f7c62cc3393e8496a52c0e93f7db5f6ea93169ef3e8ba7f56f6cb5f6cc7c157482384ddcfd3e1367444ef5662390f8c2d7649c82ae6317be0756852e7f329f0cd433357ccc74f49ffd8aba5ef317fd3a3d8218d95be0ccbbf6c912ccc993de9fab7603683f5549c4b8b3f4baf28875e9462b06c8089ebd3b87f470e12d2aade4d0da2886536102a79cfb47398955af4594235ed10cd8e8076f3a0cb11eb0341a1c6395ce7e076ea89da3998fc6447f796b9f62d96485ca2bb630bec36baf41dbadc458b8e53af80ea9d4d93c1fe11f82a5094f02db80774ff8ab07a58d76a283d1d79578ac4d22880b9c253d5010be8f1fb8b871f8a309f83bda799faf4673cce6525dd91972969b12a669f4d37bc0fbc25d03b4ef4a58c053a71a29e1ea5cd102569319fb9cc8e3d683fa1c68c4239fcde0ce822f31622f7cf4ec35ef64ef8f8ac3d627287470b0fa79a4a408ad6c921ce7aacf871b818ac0ca9a619787925a02469d346fc8288904a2118c37fb42c34d1480d74556cc0d295c0cd53ab4f9ec4c7585680b7c0766452710b4f418eb547b54db49e2363558bf158eef0d80f92009745ecbf6d4eb7154fd31a76c8c5c73862195fd4794006b0a90f671c3dab483208aa40942c2325f45a1bf21c9a69588d3fbb27ddbbfc5bf8ad75907058e2c81615e5298bc7936bae707e3f3088d675afd01b09b01a62a60ae538a252a2ec6d0a272f88f01c4468edce305b5cb897406d5afd0947b4355e902d3ed4088c462583c9333152200bb62a028509f82e7f74b6e49d466bb57f42435a39f96db0bcadc1c91169a82e8928ee792a164f9f35c10dbf880127732ac173f806f34c45823fe0351c8bb37de792f5551d82458ad1681e4541fa092674b47edd254f0c5a4543b5159b383acf700f92dbc04ec8bdb5e2fe0147b7a44aa585622ae279d6da5b42a92b8ac20d84486119b1ba10f77ecaa3bf5b856087aac70878f74d20b83605b6ff6aff269056a8a2488f56ebb97ea16dc04976f352cf53c8b16b906910961a9ae0c00ba248238e09fa328d29ca40d8e34fa2b35e09f49cdd2cd40ae1872714aa422623e374d796e942dd20c37799584639fe00bdf7483ddaf53467d39fbcc42fcce387de7584ad77c765d7559c1ba5ad077c3b0f924b91d94ba0cb417423d5b5bdb92eef2e9583271d3797a62cc8f3c28acb2340fb0e212d8171ed656fbb5993c3f37eeb285a54411ce109329189b679f22cbd6ee326b05b32497ceaa428054565f80ba7a94c39e632b21c58f05e5dbf116608138e0e55caa355059f018b618f3261b2b87508683b6cda1f7a76d4a3ba261715c74c64409f363a7f97041477c4a88570712b1f4eee4eec8cb0a85d9462bcc7076c101211cedfb477e1f67a170e139dee117d96ab4de2ca8033232f3571ee22864f0992a1c116f76e43b1c72ecc3115a8a4d543b8e82f5fb63b028b498e39326552e70e5c1a159b30ffb78b190e5de7e4b7c8184b6e07305cc931d8eef0576fe7278d9e9ca8963501498bd9bfcf4dd825a7c9bcbab8f51713f21513a5c636d728f31d704ecbed08666aa64f0cd44ab706d8e1c072ff98971a0a09baa8e09ca41fa710dbeacabd7bf28e30aac8809105b91bdf80e23ca47a8167a6c1b3d55a176325eeecb78aa72c07237183f7e7fe64adaa5f818afd952a7ae2252349a96b5501e1883553959399f21bd502150cce1f10811dfc55f1655279af27835e644ca7178123a9eae4506ca1d23ba0ece8d18755d20d9f1e1834748e1efb5f0cc76e45df56e757070bb864d3e88a8ffe0f633d8604de06e23b8b77a4a889911b424d595580b706cb905a678c8e2c02d32033782efbaf147dbcab1429d7e18423d2b1738187a5d7b066f19d0b26067a06a28df7e94c0f41988c5cdee6a16296ad4aaadf84edb0923c2d7ed56cb7cf959cde12d400452ba6869b453b5fb4583284c93c4dc3870a36617c97086b03b84abe99b26731c4ed53b515b49c419949292103778988878498e9cdcdf061f8e31057894559f9a69955007092d5fe753a4bc5c7ad647420f86cd017fcc3119f3127c3761f9424a79c2eaf0f00547fd1253775132f3c3e5a2afbd5edd9b4272ad2116acb4be4746bb02542a281ad74e324a103a1ac3d2d3a7521d1bb12e86af5a90b1a6a9990e44b7fcf8986ab1cfbf3d7fea68f2c9ce0acd225bd3277766c24b5c2dd16e925f45181dc9d95b982dbb5d8690385f45291ac041495ef14d4337fe41561e13cd96510b8c3fc48b594868e1d59be149202de0eeed924fa7147c3434f96fa8f4c1e11da3aca002f5eef0299803784c301801a1b601594dd7f60c693b49ab88c92533596cf5c45de4a64433a42e0b949fdffe47f4cf9c3115847e73ef9eed964304c627746c2c9b6a3da1594c4457b6a88cde2b92030e746f0f3e65d1fa7adfd58dde78ec7cf74a8582e80f3c6675847d5649befbdc0b0d9d5da463606dda73c2a2cc9ee15740742a2e709bd186b9cf6339039e6f055b7b3a56a2c99b1305b32f97a94024fa8b518df62dd979d1a7f1107e152093e841134d845da6e3be15e491c5f17861c162178cb8186fd6804ad7177c51cd3912ca957f94ba3c23757b3a4d6837de89ff4cd23c1b60d89cb02884a9ccb896d6c37c32785ed92f805caa69064606eee2f699d601870fcce4fe1b7fd618032b26a04dcda6b58cafe8d00c0a73c780e153a2ca85abdf1e722b0c1e3c0170c914bb03e575a8c78637066351cf3bd12f538ba4e7a2d8c3c9bdae4cd95ca3d4308b8f863ddf9430c9ab832c14c8708efd9b8b64a291bc15214363ffc90736390ddb1b8ce8e43c412465977f030ae57579714d19ae0d195385a6991cc57203fbc82e3b5d1e75712387041ff231b7fb2489172f99efc6c9737e3c39e06f752d354f376bc09384f65324524ee9fa31f3cf5cb397857404b5d6aa809ad72f5044f377878dbd4e99e651b6804d1849a93e22ed0f272ca431e34572aad4de6a335dc7af1a4676ea7b4681e4784bd0701d2b876b283be1b248c4fa87a8b9a700fd3f757b9a42f09e86c5dc7e848c71729ed2e60b7372f0dbf1bb2e18d6f645a766ebc0b8d2376bcd137cc6f923c5f0a767450f170918babee0899111f029dc50874496df996edda234863fae4bf47275e47f8ffa3184f85c1676728fb3fca68f6882b5e923543269b057ca92d5ffea9c05061f9d38c5dd2d887ed530f73bc2ba3e803defb650be4ee500e3239f4ae691ce1ec01016ee7fe52271ebc17d7fa68db8e26fa60e3008cf1f849b29332d725c5f78db25ce491ca5009c685770a837376f2197b9ad1c2544d05c7c16a1ecd4ff3fc4613d27af33a27c4d087335020a6c93779f4f0b954f9c0b3bce61fadfa50227edb997ae447977b928107ba0712295bf48d3b6e16d9974d472ad67a1f58666c8b2ae57130111bd1cf5ab5a66403575404769dc9b6000136d3c30fe366276b621113889d3623da2d1268c7f6e8015ef1c50eaf95c6b8255de2c39cb46e4ed6c1427ee9432914735e683d838b7c85773a9d03f47bd2cb946d20439be613dff0d41090e82aeb1d2b61cf2ab24774f41e8245dc20def0dabdb6e1cd989649be63cfa0951106feca5520f72cdd59ae6f92ebd8b14828a65a541ac8f2dac8b8a1fd7d309fc081d04c8e0bd8409418efe65fc5b9427958cf33676a538d90a6acc7c49d80d9da7719bea8c37da004c2a7e614f8234bfa6183c07149136f2d47300f51405a75c46e1662e6e0080b54839f2f5a0d13b85a6cea9e1fe0df0f4629db6fc636dd270d12adba609486976c0a0e897963f6db8b127e7a76e93a0ff4ff349408449ec08903f2caef5e68b5b889571bf0e84f5182b475630ea9d81ee1ee3c9d39a4b47dc1377ab9b0aed7fc50a4587c1c13cbbfa96f96d8d9dbced526db08aead83a2d0199a8f77d6d5aeb8b4ae8630ab5e06f76f504baf6bcddfdbbe459b56f83d1def1e69ee94e6eda9aa6e810aa5fea055b550753299439ab4223913f3918bff3b1edc92b77467d97a0ed8e495c928369dddb46cb167a5b128162b9ed571b3e38b03225521c0553d0a3e345e243790665061aaa2f9f3127a6f023d8e833ab5125d9402647d358f4675600a330e791446113097e9bae928e2636cb73440a87571a7726dc433eb0ffb9bdc5a2bbe3faac328f3979c0deb0a6788dc734d0280c3eb8a57007685f5e6e83f8e354fbf333d1797b483451cccd5ee83b7572b3880596a20c8140d48ff4fc4723c3ba2ff748be9c3332ac98ac6d323a241b7fa5d778175e3ec08339eb1968d01fc0981001eeca57decf4a40b0e873b7b963d0d32a0dafdd977be2459762159f839a8ecfc3c1d9ab77b08ef416e44c8dac02ee874285f248da563f2e8a31067fc04fcde0729016e85d66c4374f60db46c83326fee35104ba397499969201f7d619638780bf8316c4ea9dfd499fa461db678de6a846c001a804c7503ea608932133f2c7a63770a2ed4a32bef443736832c9e8c59f906c8d0d2e40ff0ba69ca08274e5320e78512c6300777797066951865e5b77dc9ab963b347a311cbe12f7ac1832a880dc28e39f50f82c174972f7a6c3e436fa26a2d3e167a52433c1eb10236c876063485255c3504c13606bddefdbc7fbde5e64cea2ca20ab65a2e284bfd9457c52c70228522cbe5044828b08f72481669f0ee017bb7ed66f6a714701a2d0ed1fed78162948503363451f22252b7576d7dff3e0d169babf3c2f7939a6d5126723d2a7742dcf8a6523b52c3e3e2016571fd45fa5caf99d31e0f51d35fb858892a44a4e5ee732312d36b68ca7cd900c31761858caf90ed935dfb13ffa2991fe4b700bb6114bd3e2feca2b123d4df34ec51e7d399298e582621aeed4ec816b19dac62839c033a4553b36eb0f8594bc10bdddb2803066443270e5b82daac95e86106f8541622169f85751d2ae4774a3e63f548edcf81783498db55d8942d4208d305c158aacc9904e33a8f7a004e9cb2c1449218057b11f9740919c268d680616e0532cdbf1009fc8547df23c8a6ae43a8b9dbcdaaf7ea3e3d4253e03c9ec1e0785ef332b264ce54e3680447b6ef8c19b38144ee5eccc221ed9914e0a66c75a42f17893d3686f89278ff607acbb8fa81ac12c5133b4138cbfac03c67eac026a7d85ba5c9b7d6cb7fce0561f3d135ff27a947c8f87a1a1ae074c03af0647b4f41099bffef5070595dc12ccd6f436c0ca5000bdb18d4581c3463aa60c5f20a69257303f8b71ade7c8a87cb501c7b81676e82382b23b144bcd302349910291e2c8e24e3321e0d10287741859c20b9aa79c7b49225057d4ed868560a3565a093cc57e1a489f9370fe50fb6d3042cf964bad2d267f27d964acb7d6f9074d8cb7475070300d750e95bd8a484dacdb8867e6d3eaadb7a7bf1c162d586098ac09107bdb2c24278d7e4bc448de569301fe70755585e9a2465e3662d41a43fda8837ace9106803a71b4fc29648269102b6ad90f01dbe9745d0af00a7b51d0517d199102bb8fdfe63cb2b4dab01cd353bc52da494d911ee1f8ed185a90e9b6a390cda325064908a82d6b80638d54c67f9b0e378b450f7f2ed91849aeaf0b047ecdfdf710a290548f43a3ca7033544b575ab9deacf57ecb982d320885c19194a47bc32ca9b02a3bf77ae0370d608955019de66e43df7050295df9101f9ac814bb2c63d5a253d3f5161e85d4248c39afbba8023d4c42399433e4837f14eeae1e8ab80550af709e75ff60dd74e7e0e7063f316499ef6d5437674eb12223ce468ba0e40076b7cc788cd70f7bf419b56ef397d29bef625b170a90828399541b85a11d0a721b53a6e230e1829148642ec62f64d2bf29eaa8eb61410a3b08423323a335d4e4de59659ac4fed7f9f8c8e45fbc4e75a3d706d592adf4a043fbff19bc41022657f0fb354de80c0a535af0bcbdb2268c678ee3233a69bae1c0b7335d665ab8de4566e2cc12f558bd03d57c80e5ee588acbd779e7c7d0ce9b3438696510d22545e49ec001cb4f535d8fc844be0991a7062b82c10cb9a319eb1ed1e4ec32b5184f6c7f70e4732f6bca9d0eca533902bc8ac3ce47504416968e90cb90f900a9c82244d5161a863231e19fd498e95f5221a7036b8df548fd984981c219ce471ce849d7c2190a558b67b6aedf43fd5ade0a702a82b2d75f8b2dba1203040e2d4d01e06a018f32c6b8a5cbff7c259c46b018f37510a73df7cf781f34a74625973e57ee53496401343c109e9cbbad426527554b26bcd199d5e34d54795ebcc2bbd0d8b0c8a88a21f0b469e61c43d358534b56bf734a85d202595deac1da6da708542e1142252a74a627ebf2ba6890deaa4e90b3e71e49b860b923ea5a270386d031ef3bc9d5947cb02bb57965ca402b1366e383fa0a20e67f16d8ab6f84e5250c6c9b0f51f6a03eebc9b03131ee08062aec69c232ebf454fe1d743f3b4b816ac5345f7caaaf819a82a562fdcc7387bd8dc7de6a20fed04215ed3570097c1389cc15e916a2272b185f6952b4179e62db86bf7ec154cff276f6536758213df17d6cda8124ac24e9671322838e92f6c730f50384f6dbb23c187ae618da2f83e78f85fd3b062a942b80135097947ba1d1bf62a64db0465ac4c6df573d63fa10e7744d099c503e04636979e77002668dd586c971644fdaa87b464fe6bb365a48864ce2c437b1290559c224855f117c08d9b1a3f8e9b24ca917e400936b8f2b4879bee1d2c2d68a4edf3fe1da9f0e3f9ef85c635c1e1a3e791bdb1ca09a0abac293d60f75fa6191259ebb7322317e3717ce4a74e476195beb1e639249e52e6afd1f52d6155dda103f90f1efcd68d3b010ad098df33b316d1d5f0e1dca08cba4e36b047413753c16f418b7d790846987a8fae155b30b3fa85630a3e9356eb20ace12bbb105a5a34cfbda0c5e9955e639d5592a04dac4bcfc5fd527c7dc42e99f1ac34c041ea48c32cfcc664061e7a514e2bd30725fcb0fa3210554f37fa217bfe2eaadde470d05390231bc5f44b453057c19e0babb63c1e0ebabbab91805ec5082aa73ebce0cab985682824bd5a3b257b8b46d9af8a8b3f025fea49bdc0bf2d13f2f7b9cfb07d813a9bdf31dc246500c90e1610b5b06b5f4f80ef37c4b73957595684cc104bd1d3f844309f6ef4d2c5ad374d5757e9f680735a156631c0211cd2bd525a6bb2a647ec2c68590af5d5fe6418fd96a470f5da734941a0c92b0245b2bc4b766da0f274dccd1aec836a369d4ea79ff8c9717be583697cd8cbfcc1c686a1a84f551d717b625116a55614b5f1601075e64252b4c43eaf64b216ff52dc61e3524ccc6781b6569322730de6e2284170c96a51d6501c2b4199598a09435055c2ef5befaabe88b27d2f0c7484cfca5977a9c09c4d8842d731bcefe842e019e7cb5840859bbc51b11967d27ae8b3b47676bde7049bb5725dae810a985f6dc0526d20d56adb4131a8e25c0be4ecd2c2ae0e9e40b478fba6aedce0316def542cdbe9f14babc5ba81105847ce93276471be074e844822769b40e002a6c5110b005134a5d3fd1ac571da96cac881a92c9cad7bcd1c45c8b65b543e94face250f75a87d13b40b2688c60aca1c83f9c8997b1bd3e0da861ec4316e30b7d90db31aa9cd6d38f0243bd99bc33238c84f071f092cd43ccc28cad5d947d490527218c0642bbe08a94040f0a829157f9980e748da19a935850a53df2d03de0a5ba8e04f1c074fa903c670a8b6e037f8efc3fa94bc23f35976843c4b0926277217ae43e858fbcab5c2c6cb21b432d483b1773ca33622875c0041a2ebb448b13527092f8c7287aaeb8f7b395f17157ef4d1fef40fcb0208442cb0007f4f004f65eb199be8c8c034f2c40107b872a6484724099506e821b67c409e03762ffaa7eb5b009b7a2c0d834cb04eac32ecb5a1e63b4e4379978d47e40a8b33b8616ac9fe15539fce80b5114080c50006b3d73536b2835d5d81c0070b7d73287101a6cac937cfefa571657d63b36486ae9e430c15100901f9e90a0b2da2a2292bbee5a994ce1b06608f1cfe4277fe3300ec0bc630f650e7a2c6073df2d9a3b34569c26b870dc0dd3404200d2abf330288d060ed1c35deb8e114429048ecf1bf0673d3d39d660f7e9d2976a4f5d3bdf96ac91832691f8100b8f9d5cc0eedf115d284ad23342f73e5ff192254ebd7c459672370385fbc668c4f27742c2c4253484e1048be71a57a807d1300309c07edba26a8eb1cf3c9793477ce3b3892aa5ec9b3964a714ddae425e3e2fcc812d6c46e583fea6e4e001d285f0083c4c2fe9b0f8468d4434e0e1710bef241ea725f2321b6281ede4d36fe3c76e94f5a87477ee41fd0a3b5a9a53f8add6f0780d069bd541713645971fb0aaefd953ee956cd10c55ff7a3055951b93eb8132b744c4687581319a97d44255828cf8945c10086f5882adfd580db11cf93599e46f0499bb5bc437ffffe4ca700f3168d345c881e3f4540615305f7847bfac7436d29101f162c0e35b756722e31c604f48fbc9d8bbadca0c1808dc5f8fe4851f42f62480b8f83b076868975b19d0161151db86f869f97858c176adddcf709f49ab58dd12463c50c307fc8c38b5dd1c450c8a0007bb70a46b693a975211a54356d441b44b3bc829ec8ebaf2b14ccde0c60192910e013f0e2a4e9040dfd78cbd00ce0e4178a166b212259f3bc1a78fa0f1ae246befbd1ddad148370e019175ba453791125d4b816f8811a7ca107a822f07616d8d3135badd3d1eddc728a0500dd91c87ef86db3b851289ed84259155a01be1f5eb7c2495155376f358cbefadda37b5eb1b3d5aa7770cb626228db176593afa77aae3133ed6a64f08064a89faf7a4b12ed25f912c7a6faf48173315d928a1a3cf18f4c40274b48d8e24f5f6fde869d4d06e7c054da63bd9ddfa79aa0db144bb0d4b18d278a9ab4a14de14f80b6dd34dcfb280d21a58767f045f87efae70ebfd8bea93f80348a55244fa82832dd2589862999f95a20a49885d1b42457b841a046d590ddd4c92aa8464d0870ae3e296737fd122cfdd6f284662fac21807218de1205c9ed64b4c6759c3d7b1d63d876c83bb50fe48c132ee175682a2df210ca756ca24b203c2cf93f4b14b5887975b87e9dc7dfbe18990f67338ee8491ecb228414d86b65f53b6373133b39caa08a7a9303338e8955c0846f06b69907fa3c0b6b609c7bd580721535c24f0813ae2c7f563905d5c8f0016119bf6936c9527861325cda3d60f770356141affa9762ebada1c79b090bbbe818dbcea0adf1e7e733329629eaae5fc324f067136091d6c1a6de23d245403a4ca6720e0e7da9a0a0f7b3738ed926f6b2df1439ae4ab5c38c9a239947c26e2d0b7c8b609ea30f8e84dda28431706fefcf5d5d1bc0a2e414844a66db30923ccf3381ceccb64fa766cfe3d52b42d2044cd6499a33bc46cc88951f98a2133cd0e11efa05916da02a63fe0a77390ecc4558ad21174bd8818634ffaa7048a860db0744d21cb04b878878a42d155aa6ecc3174f92b21043530b2e7c9c41e30b3929767a54f4762677a322a8b4b828875f968deec95641261c3a23a4bc4ead311709c0d3fe422184d49875a10c7ad531024486a26e5c6655ca06e1e26042d82edfa8f90c40ea2290642cebfc4dd2fbf212252f4f6aee778881dea79e7aa9c5c7acbd349b14caff6219c9e83f50a85f5719ecc24805ef8f0165be25860c2c53885aa09977819e6009b40c98e661b7885dbf44140c4023e2882330c1b8379e457193144a77d479a6b8155539bfafdd51cf2e0e047181036ac4419fdc5e8529a8c0693777c44d64380b430bba749ede3a7d17c74be70b58f850eff83e831354661f7cb3015d73ef71bd9cb49d8830dc2b517e3cffc725d2a7d5a4946c3612731d0d15bfaec0d50e955decc0c98d048bd8d2180c9f6d95879894edb9467e15a39a7ea3a0de3a67f0927be19396e67802399b3c60b2c5a6e3ccbe9195b6fcfd11d683afe98d97a63d798072862e0672016cfd666c605b0b2377fb8915a0c1c8cb718d8d4e5769e8f848d8276cbcec91408af2d740b554e992acd6c1ae07e1064a05ba5926bdd8a964642dca00813e90861bcea37ae5a52b63672602fa179a33dd8dca3cd451dd5c9f074a4fd0ff4239eff757e3316aa7a43202984e9591cf23506cd60e423e5f5fa6c10532c0867131180a22e055269f9ba8db39990d2337dc863fddb92254795c28a209ca1e57a52997d961848c8122e37c0a8bf086ef51acd73c19f00ac70d25c385520a4e865c9b740b4bce45bd95e06617c2a2e04e7e2ed723f44d2fa953f1b3e9c16fc10e6dbbe426960282a89f0e454598b227c2e7a3d0b33743517a18e95c485b8093e9d7433794e68814d11749153d864dc53e1b31c02647cf1621fc3edf4a5bbc6df51ba0a684ffa6074df81c254a23809572bee68721738275cb530fb68891c35af8e19c320a6b6aba52ff7b9697907a3966856fc4c0c38f8935719b489b0971860e8e510d70db08beb364ae5c67a61ee1d4116ba9b285646bee672d6b62ddbb728d48a1aad444846264bffc8b31ba66d16d196264ac1a791a60ce953de85ced7b5631ed6bf900b0f8ab1f4d9944ccc20c6a82575500f0175d47b90251aacdcb5c7c686959310c5573ce19c829595901bc099535c45452da76285d606b4cacd1d61ba9bd0b5d03a0812d4b8ea2d4b0220f45621aa2f0787ecd181e6a6c5c14c34945126e36aa83ba66c152feea682c3278eb90b7114840546952034694e095e222c706d2cfaf54d35935c27549a3d5f2a9e48bb955e02127688bc9d28b4cb9b78e1199aa2f6d05e74d471521dea9f450253397e44c807700ba52a5e9f5debccc8263ad8fd9de0319c60a498b3b92bd3930d16fd903b240203deb1454a1af38f2b32d58ed9dec20cdf1f30ccf47c33c7ebf4ab0269c3ccd919ce53ee2e95b0d9edc0f573a843276a89f01bbfd994321392b1015ef97f41761ea32d3e90b0fcd2d59b2306dd8986443e8b323634aca0442d2b8912f2eff71d71f77f20d09fc04ec2cd0eec52d34309ccc00e302426bb0203b08fe8b05375a7caa86cd4540c8fb4a116a2a1f9677968ca13d52002d059c5a998a658ac2434fd5b40ac5ba95b9e092023ebf6d136db4f032601f81f501f59cad77f9695ceabc3440133137bb3dd40756aac453e1fa60efe0bf719361d31bdca3ee006281272789dff4d5f896f9d7202018c50cb5df1b95b89ee6c15d7d2d1b309216171dedb51c2527977603e91cddc1ed8ef1b7baf5ebe1eb805998775481401fb45443ca559dabc2e3a27b105f101674a4a7eb5b47540e3c8ac1197405036aaf4edb603ae2230df89b76083498efcbc678e1e917fbf48dccbd16e930f6672338385200c5834a169f69023d2fcd5012af486059a771dbb9f939105b940677727b89d35df8a033968bd11003eb7d0ad6e4fca1b3529a75f9d90f124786a5642f63c6d25cb753b339dd4e73eaf21604e26ccc7e72f1485e9d194e640af4c9b6239422de66ee6aba12649ab075acb5f0ef787f546f755ad3d0baad0d4421985bf198d181ff376dcc01abe4d02fcccbc8c10f1a32741f34d75603d50626f6d631bc1786d10ac2b2c2542c6fa629a859c1da41f42215ea0b0b235162ed32e5a7a225ba023143844cbee8392b46a8b54e7b9dccdbf2e9e800230b4b812bf79985a691938c1008add80e15292ac230980591e6e6b2df137f712aa5ad1bfee792b2771a626549d4a86a2af194ee5e8bf83b1d9d70a78e1e9e415d9b4c1ce775db1312c5b17449a1ebb84481996087ba960ce5b2d7fe7eddff85c9ad34977918acc11652fc0c01d969d2533ba89c80353fca4daa68988ebf6519f1f58e28dcca0efe42a93a7c4a86cbbe47bd9c571744ed84a13e5f78a265eb0ca6265a3dba971d014b114d4ad70d540ffe1ca39413b37014b62a40145cc331394af50dddb9587263678bc86e8a4a9d6b67959d442fdbd2650663860b47102e39c1d6dcd850db04fe4604b211893a82aae50020f42f8807b2dd44566239ad3fe70d3a440aae856e18187497bde608a481132303fd8a116f6a93587b45091a5d0acd412685426eb8aad0a811df1e3faea9e5c7d4bf170f383430fd60b97346831049f9171a0de0be927fe85f9c641e7c4ce23123a8b3894b101702d68cccfb234e42a93b07ffe3a284d1dae82eedf711b261a3d7fc1b63dcee6765a58e99692c3270f9dffff2bfff4b2fa41c5c54e3004a62f4649f8da97865a2ee0b1b40594379ed73547170a198fd1b8f7cd908384334f8e25e2b30e54deef6db3ae3eda8d9d835c76189c7e2803270afc91a82b33b52569baed0266dcb262ce8ce0f5574b79dcec52a0f334042d55ea747e7a20be1d1a34030523e33643ccfa61f174b2951d98765872188fabd12b2da10a99e10de3475fdbc8ed028e6616ebff9c87bb9c1a363582f7d34aadaa9097bfd3fb644071950da45e263956ea7b4a36f5db5017d5914b5be617d0712e74ab3b1e07930fe0741077793a610d2122d17e0af1d1ea529e1c7804ecd38b527449d05b7fd7db4c9a916065b313391d0ec8b9061856cdd0ce0ee109d218a50223f1d103dce3467f7b8509e5152293d789d2455743c8eada7eaec6312c787facec0d17fb0579319fce43c40e2b1b742a5c7ce1d7766565b082d3a49e57593c9b417aa105c682e98c9d2eb9f4c3641ce347aefa2b42548814904acae5928bcbba0c4389d77d2cdd8364a431958b82414506085e5c69a47b9a98f11944a1c6b054e263b0a3c4c536dd13474a626f820f843255ba8107282821e423f729d34880cc5f103ae84b6f382b5960fce4401f848d4a6a15266537eec473934cdd4f3ca05ba65b4a0de671e70253e1fb7940a401f102f7762ea66e6b698590a843afdf0969a1ac40e6ae3920401050b742bafd1ec8eee6b7f9d14f5a8e26e1a70a4254e1b6e2d21e68e8250aba2fbc58c142da8c8ec2a1570618dc7926d1ed64128b4b8720af5e1a869674a9aafd0bb9b05d3133c4fee99d1552a63b041e07d72aa1fc3cd618ab3f3b309e1377a0581dd3a15c2ebabb35276eea68d26cc257cbe562c2a8964ae307c7d5e0d8991bc08e7e8667b1585c356f7499aac3646033e4a03ed4fb64ca66c72a975ab4f7f886eed4fee636797e84f2a32e7310c28ce3e475209dc8dd7a3aa23874cb2f8b71cf763a2abd76a7d8508185961d269459c545b631df79738cda2729829437f4d0449d6f6c56600d06df7a16edb5f50fc4144931757ec1f66bee9d31b04d753dcb755c18bba665a7ee8e5572a09d5c8f50bfeb80a2b674351efed743d75d6f740daec3502204bd79f199462f755033d36f54c929c982abe47d80c5f461b863da5a1c84223266aba1c4ed463c91e5760e70cc241e412260d09df84d27d5d259c46a7ee432ca5772c0d0527f4ac0eddd3d71f192617d00ec1f5b58cc7b80d552f80451fd5f7be8a026b09fe3eb5c5bc46348a9274f58b06ab00f4a6d51b59738101722f2c26f19fd0f5466dab7a696f5ed24a8769f1dbebf803958150e1fd22b86ec36a2363d66a7dce6148d037bcd5e7698bce1fcabe80250be81b149efd3d6d4636f818d3019b9286f79e9ff6e22a2768ba7f2a6490eafcb5968eb47a4961a0dad3b9adfe26a9a5141d4f6065c4d26596ff289e5c74fdfe8d41d7d13154b3987cc3c0584bb5f6aa9fb64ee36d069eb1cbbb09c12af04ae573a2c669e360ccfe3423ba3852a68c818afd6c6aa19fa2829272fdc406042c0141840811dbc9fffed847ccc9bf25cd9bf8ebcbadbd336e10b27fdd3fe31d757643ff2ac96e5c0bf7978c99ca61202f597191dde464a896e354fbb7761e051162bd3f4fa0b71f5ff212ee84099f9de3fff3a8d7ee110dead40e6d258921323414ae92110d7958cace9d9d5c4606d2e4e95f3eb64f3b1c40758820a6433e853328339edacb70082aa33294d6cc4383bd3a87c22e41d3d0ea9a9337c25da02b503f706265feea97145e66d16e42d20aebf8eb5dc5080ab4f22f69cf3e2f576bb2323bec507045fb0435d973fa94a27486c19363adcd3baea24338e3951925c9604814b06fee4c2a73f9385d463bfdf8114ab481b0dece389e750b258e8a0946b085b875650da5130392e53286775f2d5e3e6ea67cd9cdf06d6853c4b685551c9f3bbea348d1dd3e849887f04c40c0cf7e1c3f314f4b698206468af5437a6606980dadb7b12d3308e48f4a5361805286c051e8f3d9edfb08999ba63221a5c59dcdb1d72d03b7ce12132b7a5f3e0f8b0760be278380dbbb47db33cc653414a3c3fadcfc154f79b5da7fd9a54ac4ab9b51d94b4f7f8a9b0c2bcbec458fae02f9a03cfbba018dad837df250b425fc4c5bf6e8e16694ce11069fddd9bf72140cb01bef43e7a106182b2c1fc41babe79b4ac7ce59fb67a6e396e0aaf6d5fa0eacbdcae9a39a928d4b10ea1f36205cba0320bdb5ea2604c37928327f4b200b6b13b7c03187a0cf9a6ed6982f295dcddeefa7301a19dec88b41aca7825e4eafc73b3cfca7d7ad2cef30e5ebde181b8111e2081f3b4e8b9880154271de8e112596e34fca7278f4a4079e761fab9e3ea9139844447448c9d42021e996d2c80aff79abb69a58e8ee9238f425b5a2d9b9e5c7184627ffa7e93964fef08ba56f7aba1d6b18f7005b096c3fa68da9aacc28700d8b615fd94a8033f54e5012fcceebf94c9a1f69a9600233a68598c70bfdacbef4544030b02de566cf8f2157f84f3fa144d64d0a97a248aedad84ec34cb50a0db3005b7ccd0d907f89dac38565f56f1898b2f66b47de164875494ff459b8f0b9aed821142617209b5d64324f0fd468b41865a43b6762d15631398d8779bbc4239ba682067291ee054cc3257c10e2d671ac92b0335720fc5d2ea504866513a5e1041afd27a3ca7e1278d67b8d9b5924b92b4da078268e75ab3d590ad2bc654aa51a58c569193f89f513ffe181489243dbd181f82dd2190c0163f6c49d4f37ddd809b8445dcb1b5dddbbbcacabfc8cb7195aeef86ef69ca154d34514ab84b8a734d71be4986889d9523be66013f5bc6ca0959a12a65961aabadf6962ab6f59450c04119a93ac97dd89bbcbda12a8c571ecd209b1b859297507090969550f6e6a90cb6390b3b581541a11a5947c7bd681c93b0ba66ed4b6dc62fcf10ead0e2dbcdc1049534610d162eef236e69d5e5e6e72848aac6ca3b0fa092e1ea64dd271e51dea2042cedc8a73a2fc769b4ad32470c668c8ddc477a0d359cafb8a37ed4c9b871faa2149c30ec25cf699f6e65e8bbc62dde2d2e5f76c83e9c62447a1583fb4d08cebe256965df22ef9018d7e9ae56d0c43edbcacd6215726b29606f52c1861b4b8c169c0d5e1961ca89272aa4fdd66e72c8ad7c2d0cc30ba1b9971cdfd6f2ea6b6077ba5956129fc6d6775f3ef56f1405787325a6daed5f0f6c01ff510aa792c9bba45c3bc88df853e4754397b1604fc39bcc00cf3ba2c23b9a7394add10d360672065b09a7005150d50e50f97ef717641f27bb24dc9743207de5a4ccc928ceb1ef66379b5260d09a39f54d44471366a11f99d92257abf9f116ef423116eb1b850616bf5bb783afa80ebfe16106d1441e779a6c3ed5f5c624621ba6f849a83b811973b07d4d0c44c1929ccba0867db12427c6a03efbe5b6470e01d6351591d8d37fde1e644b96bb78e1bb74d9180e2246d29c233e83f0e3b450d6c711cee8e0b1582cfc60e51b9c7100f90b35f180532362683f08d1c76beef686ac2c0209a16760e7900783e55e161e8de1ceafa295e8261bee74df077528e3c02e95803f3da7e7dacfcf62b97806f59a33ceb5d81618bc2ea4cdf11d40ea0f9d592b0a72322b26674b977b68e318173a82ac0177086bbaadd0b3e0815f7b4ce377c846bc49d69c57a605a954773a3cebdab679012f0468551af3663e0968aaf903ca6c652fb72406a1dd5e4f5991cea9230db46fda48751a7e476378292d4e865531de653170a6e6fdc8a248bc0bd91613088fa8eab094ac46d5dc289a0d1502db5dd0273ac1fcd45ff86d6b7fa123b1647f419f9b38452142cb546382101aec2d8018e5257d364a6d24ba92f081b3554ddee6001134c4787949269c4aa1d11828c924a1a4260eca3d32238c0c2a4284a7e5e3680b170250599a6c65843d7d843826f08dd28413f70556f732634bae56e41844c591b747ac14d7fc3c066d28d372950bb534ceec16ebfd4419e86d159044fd984da2a6987084f3b2a856438076a64a3ffe3ce58404229569e5936a44c9834829d7e16697f9fd5b69ea99d2254bc8e877836b7cd90c9ce31e4902f09a197b3f5bf406fd3b765a344895429b7a43999e95a4e2f84788e6430cbe8907f82eee9f83cd259a8b78d1a5dc613afddc27b26d24a1d0c2dff5b8ac0fa089fa435968e1b04a9f98ed299c661225006a436771d67e22c061c507f0470d719db8fa22f2afee34ac71bee6e2e97a2d4e27f3717233ad96f8c0f18ae5ffa0c39533d8c95abc19afd6cb72d4b5def8777316207d8294a72c86b0426d134fd36ce1b9d8d1d1d7389e6d04952dce04e8d7f0962323d5777f4d15833f065a4374cef393251dccbeb30b2144e8754321df5321f5308750fa9e43e6dd5d70febf8723493995ef995ea07d39e928d2c7cb3ba6eed7f6eb48f4e21a2972acc75d26d9baa626c801159bc5884038d003074909006abc6b54d1d9013dedb78f35667751aabb50ef3465a7b4037d74dea52e3ae16a1cc9139c4961e794110c19838219ca5126be56bac4ef8da427c16d34235e67001aa8bd500c1b2ad98189fad8b368978e3b06c3c9ce05927bd8b4c87061e743b6b51194d32119459699058604f05608fd0a3d18e7428dd9200de0478097d490f7678190210952eb4b00974a540aa627e7f6b18398855ad260cdc27b724319b5a68304fd842ea3cd542e03c592b3273d50a05e3c4d6c8cd521912ac93da16e9a8c916554533042cfe7da944c54e26c65a607a64acc47089d51d15b05a18fdcd7b6ca4e076ea825df30001121ac2e399b885873db6b3516dba4c94024ce891c5190b93ed5a53c0ef956a4a18c1d8f58694742a7f1fef3c5324ebd2c7ac7d0cf5f0ef62d8bccfeb4ab47e427537655ef24b4c8d1d66ea7583db3e709e9da517b951a424686ab22d173e1d451d9f1dd3da7b9c6136dbb3ae5dba518ada2b5ed507cb97b490a70ac17091bf7f4d95fc86c6d31a9ff8733c609e34822555a396b633224774014dbaf2907760f1f3b0592119769e5ac63705f45279b1fe28ddf48d810b772a48cb24f0a4f686ba69db6e1e23adfcbcfd4914da4a80d86064a6e241a6750d81374b105585f5bde98a25dc0f5dc8d02e948757f9ea59aaca84b5cae2e8a2fffc4ec185a5bc38159d1995bd35e91d09911601769bb98cde2ef58994cb9e93ccd2b02db2c7791ba8fb0e4787e40041c85db3a98a03b527e41a6f23504285881cfa6fd9ab1624e9c1585f7d3f9559db4c45beab398e1e2da92a064b85d0b04c173de36354d494c2339ed13ecc05d235c962bd0e1f15b4f622448ea31a1067b6eba3d09535e8004a29e1bb8903f8ae5c119289d595bd7a4cbf05eba852646f955c61d37ec5b89a5a596314d71b5fafff5f3e2c06871ab95588deaac6808291cbdbd7564efc8b825b722c437c636a61e5c63519dfe507bb58b4843e1abfcb3bc6b6ef464289a32c1e94a6bb0cc99131b3ad6e8a8c02904a46ad40b978136b05625a5fe62ad80fd272b97aaf80fc7656b6c56be8d3ce95a5394979c18841addfbb687475335ac6d6d1bf01cdd132312984d6deff06bffef77362ad445288a2b82c03c1aab459ad8b32955c416656d056a8c9a27983fefa8ee482cf2762dc093271b400499547c8c2a0dc92a7e2599206c585a523c7917d67fdd9867dc66f995ff422cb5deba4a421ee52c2e8762869a77deebdb5b8a7f986168c6b247f4539427cca5282deba94e57ccf6e69a094f8b39f175dd95506537c32eb7a17c934b1ee2a99e40fc3bbe2d87b537bc50bf07b2961c576211af6dad76598e4b732c1972fa97e4db5971a6cd0a2154f48011a41bf568b4e37abf48a33d2681415e3cfc221c61b03e52376a03f9641e154ad2d80c7669d5d9c3dc979dc4d0c3e1cdd7b23af8edc33332eebc33cd4c7453928980f25a39b97fd1e3bfedd0c6b9c45dbb726edebe69ddd2336d26ad449dc377cd02a7b281d3c7a34d15f2a935ea7ed15b3b48425c4b87942d19cd56bff4c3736e3b1f0a2efca97551ae09f5bd26a3eb5d88cf785dfd455d89cf59e734bfc30bfa6aef652507971e2cdea961ad81a68ff7a5d334294c4b28121e572581ecbb3a4313e224b77aff0d371195429954af59008c263ca792dcb26e518651e6300d8b45f62a1a28501b70b0ab85b99ac2a70ae701a7a1ef3a844ca9a8004cbd00c3d8e73d24c1ba82414173a59c38c3b591b5346cc33775aafecfa9a9f101e07d05a9fd58cf67fc22a29c8e1122def838b8561a171d0bdea642c8f386b901075073c95cb5afe0944e6eebb21344a8f718f9f1c19c7e6d6081a6f5a2c08d407c75da31ceb3e7be31978cc323fb118b37c870a3eb05e94d214d0437b9a99b0e2bd719c4f89ce11da6931fbc3bc0466518945f1d243dec02b7ab16919f5bd16036f1a114637f09e5eecb48c32d59d9e05393db2fc33d4c1eac3fa60ac284a9198e91e4d0d123d3a21ba69235749092c2c33e35206137dfc5a419ff52ba4b5c09aa9e6a8a9e7e233b955c3c56672d68ddb66e6ac1d17cb6cad382e97a959596e2e93132b5020f57533ec10a7a237c1d3f9607e032db0a2f046a09a61237b26a58cd4fbb7df99aae6bd49bddf271be18171d0e0fae80f33af8f4a2bec08043a1b639c5620dc15a703d9b8e58ac20e7f900dfe19b712de3a829ceff0b071e1ec27aba9966cd1f011752035798993d4b65a79000a4c0d0eda9a42af593efb3c117b82593ed960855c447df557117cdb64b7bdf7de524a29659232e509a809cc09570ed28ec519a73f42bebd91e7ad1779a4531fba0eaea20e96a22c472e27a47c71e5b2beead2e3ec2bb589a9a846ff62e29c4734f440918f70c2a63413d15ec8a0cc1755524a1249d6d4c81e3de4eac62731151b0552661f4d52d5f4300386ed05bc5fccbeac0340111706b826269a8e61d976a2aef87df4859b24bba5910cca740da9a3104dea988328a2490dbd0e114412454cc19f5fd93d0410222660b8d363b0ad387508d2439694c87c644e5d09cdadf7d703f3e9d409b807bcb9bedb7b88da3d7cbf308a591ec5cbb1c7a387f7f5c0300ce3d1a4f6e83cbc1e1146d8233e8cf1e14f8f31e2bfb7bb013de44caf543ac02917f6b02d59b9d0def207d8480f214b4ab03855c2491016a7ae448b5bc7ded777bb088ee17bc3da7db880a5bdc02dd659b275f841a86bde9e616f88906721ef833e1fc221fff0630ff977438e89106288ed089a43c8bf223fdb85689bf89fb71f34a0c0ee210fbecb12bcfe9dd7fce54486e82a67129e3503771ff481fee18bc2aa95018406f8c24dbd940fa54b1e904642242ffdfe00e3800996c4bcf62789ee8a1079f045283eba40fb220f960e31cf3cc8e69c47e73211273107c13ccb44b08c33a4b9c3b2cdbfee08fad1a96f1e8498e43027c1a3532f3f52fd9135049e08208df4cb1b01a4916e3d224d92a624728dc7f2d68359a4c6f81afa8657f8e83c24ea4948e99f8cb70dcd0f3882c459ded4431aa2ad171311137a859b0a48b3058e8e819a4cfb708c0cc6d86566b982bf9887b006d410f0e6b2020bb5c34ec7dcab26b96684988fd1db6ffe20f49a05e1a5ae1101b3dae623455693228b04f1aa59ad6a9e2d306cef914b5852a2c0018618f415b95f4446c9c417368a2b6a0ca135838b1f38616941b485121d1d254a92244992e4744a920409923290945146196594514619659451461965944106196490410619649041061964b4e210be072f4a42ed4264049111747490a023328228092224b05cb1c20a91155588aa1055213a02e7821efc89b813feb4f7200c85a93016060606e65e3030303058a66d200e87a68481e928e38191ed7c4329bdbb5b7a42e0ce4bb823633c4196cd253b3ba2273b10dea9753176370ec61237498ec067ea1061ea3c95b4f31faa833ffcb22ffd115289e83c7d82dba5cf5349a712fc616b4139ba90a933752e1d6411cac6c1406e5c7d9c9a103827a570f58da936afd5c1edf7aac9321e5aec7c2406b885c89f1a1d50a5d52e70631c1c03fad1b4bbbb6777cfeee9340289cf69b50bed4777777bd3e7a3d72e2c8d580e32296594d104d9e72f3b530abd2f3ea4524e4a6994563290013e9ccc3f1c0ac0c28365002f01a82173e3860580cd45730e1b6ec83347b4a1de1077f8471fabf95be2c71571061077f000f56079893838d488383e6e449c05703ae4d86c88383ec41d41061093f4d07e90018f8f2df8769668021f672ce04707331a10c201ab76bef0eda0fcf516e50290d49ecde0dbef09054d58815d782c7cbb0f57f801de582048c4a940dcd12ec6b76b70050588b699f9ca713e96bfb9e5306da6ed242bf8760d04031b4df0edd81924969882974882bf72030cdf1e91b07c2cc1cb196abc181e6ea13d9391230b36f4441c09c01dedadcf5af8cef16d03056e0002d2b4db2754f7d1d5d6e92c31949a734a49a7d3c94406e14d8437a31da0185f738434d3fbe3cf2cc26e10cdd4565b6db5d556b7c2b707e0a11431587f0178c3f5409c6be33f1c0f61b40e87440f3b8d05670f1d7e77c61d1d7162b2eb7107e65f471c99b88314777431fe5f8d37be37b4674cf012ac300b047cbbcc15249c1be08d8deb88383ce28ef69d97f903f47fa47e1a3620fe93e628a3e7386ed88819d5b0301d8d1717518b6509610eb46919765d5be9ac55563bfdabe9c1fb196b1aaeb6f8f60bb9f82e7834095ef1e17cbb06958013208a3811470070473b0f14fc372f2280aca9d4565b2916495532283f247ebe57c01136a87a9c0f653ab6404e09a15c7d724a0f8ef44f3a41f3ea6f9888662a7b7aa84745f64ccb7a4f5ad626a7fce6c139e5a34be9848f2ebd803ba2177ff3e0539b995cd96272f5d0bb2154f31e62443ce313f9c3d0c396abfeddb43ca9775da3791e8402f83c4aacbb5b9e10d2cce821b823fef50ccb4cae5c2d883acd18d244df7e500aab9c89717a93d219aded20cf45b3195d4acfb4edc79c724a2ddb4010b4494b416664d1019888eaf0abde6058f1918987d6a187c47ce8d6e3817b687db403f6361bc13d741885aff90f9ef15fad43e6d72e4594576fc87d3a9fd20c61472f6450e66645e0f68e983fb0b86d104208bde8ddb0ab692dc35c86a403e450c7d5b40c63a2abbb31d6fb482fbb8f24412bc038ce9e38c7c824131a635c09f8bb516a5109a31c68fc9827a4895b0f5fa4230ff7bb18afe2d31103bb87c27af25a8c41ec3e27496fef64764d669af115231ef1a74016639cdd774ae9e303943318df311efaa45a8d5082e0f6834a9f983f59a587d259ebedda05746b63dcbb4e74efd5ee34c99048ee319d6c3d7451d7e1ca03dcf9d3aeb6fdd87e08b1ddddb03b8f336a1c07243ec6336a3314ba9325e6169696106e696969698934ae6027985a9ce691f68ea5698a4dc44e9668c70517d2e6294fe5a3cf8c35b5d081746efb21c46e3f661e216952f46b09780376f5444c1f25c9a35393649e5ae88005ca8e1674a08e87d7434d4602f1ef6f5e2df618aa5811a30abe3af31463ec7e72bd6832e7a494a73e94d2842378c182d548162384508a1755a8c4eba1142facc0dc51c49eb40cf7baf76ad104172eadbb2f273001cb308c0b2f00610b2c09b5564dcba8b8f7de6da362723af03acc716224d162c9cfc9c81230aa8043185b9eab3521c4120ae12b585a585866931fbc0346142da296962a564a83f184c845249a5598a66e070c15b8bcb8b8b49670618619a6184bee4ecf192f345e5e5a3eca9e3056d0d2d2d2428386183b77270c530706981a3030dae5a2250516293546356a2cb91e4679420a2d4718c58c464bb487519e90f2515b821f46b901137749177e9ac0418c8d98cd8868438b90060b465861982f0fb968edbcec1e8a31858bd615be5dbb35b071c3860d31e443293c4966155cf4508b264c7003c78d1b55a8c81e6aa18330aad4875a2cd1628e0187e65af4faa1ca045f6c46cc873870401a98b1875aece0891a31ac688182327c744d080c77aa4cf9fb4ea28fc6b061c3860df71728781a0e1c387078de7479a8051350b2e6c1f7a0e76599abcc0bdeeda1164c5091c17c0309b88752b2708a0e65ae16d3751684d42ef08cf146d844c67df86a6d033dcb3898ef9e467d7997edf3c07b14cedcb79e598d7aa2cfae46bd96cf2e8d7a2c1ffa2cd3a8873fd334ea719f81409f8134ea6d9f711af5b4cfb046bdecb1cf5ab4ebc11cea5d9fb568d4bb9f8934ead9cf5c34ea55fa198dacd3a8273f83d1a8d79fc5c08c6a80aad311f8dc7e4c9a63879141990f4e187b4a51cfb4d77899710d30bcd56b7ccb6c4659a3dd0955520b5658810350a26493272ac9b3eae173bbd599fc08e9247552f70956753cbe22b19ac8996bc247ba93eb90504d543cabc88a3d3ef0c83d619d0ee54d48a9d565e19ecec7493f5dc3e35d0de91e913330e25cfffae1c6437c4c66d2eb87b2742fc65de7ae52f5b8b8f31e3375719782ad9ef7e2d864fac426d32736993e1425677a50b107157b50b107157b503df762dc75ee241265d593aca92191dcbb0ee353afeec5b8ebdc4935d40c587525cae7a347f9637d3a95faee99aa9d92d387fea850df133555f1c8474a59321ea9a7cfb95e67bdafe65cefeb2ed0258fdcca23fd63e5812f6d0d134c51ac6ebdebebeab048d4a4be48dee12b7718de00c31a4813bb48944d860b133d5014a32fa04b39bc79e4f046d1318fced5e4b847c0b6c4e5510e87399c6b7994c3b11cde1e6b6cee41734d0ecf8767a1e09ae5ecc183bf9a9a1ed3658dfbe80278c986c70d3e00ff206b877ff02700fe451d00f0d4f8075b3afc8b27927fd087c68619ff6293ef1c0eb71f39ae5cc6359e5883cb94dcdb759025cf330d7ed98a690ea52c851cb33894251717c178e75096465e23e686d7c8520fcfe13e64a987b7630fcb1902780df592e7438702f0f08218802700afc6db718347638337e3913c00e4a8a9219364b2d3903d1fe44cbbe7e92067daddf3916d7831159b4454d469c91ee7c116f4812c9c9b2ac1534b0186be044b11b904ad814991c2032b7c38ba131994c9b2a7235575813fca52b54dbc9abcbca478e9d1876e017144107748a74ca0515e5ededeb5a47b0342a23b402e5493aefc511eea5115a4d969927411441c0a05ee902eb18034d22d24837c1a7d6489017146fa559dc48058dafc06cd41f903657ee5ef05739b77bce62fc77f4d03532c6d393e9133d2b50bcaf00bd6ddc850ce7c39fe8364b8e13f4886f8b59297335f543489b6208da456a81990246589de8b71d751557c723db9524d92fe5da997be03966e024a2f9d06080058bad6a5e7cb8bd7bb174bb701716c8e5a8038e04dcd910b9046ba8c3ed187aa5c4a405597aa979845626684d55fd55a7813431b8043c01b1a7fb9100806785d98d708d160082145b48d75cd2fdca5d0e52e46f0077d92907e79d4194296daaf78faebf2f1028f20c071ed2057423ae73f80bc252bd10ebab4eaf0068787596431c653efa21efe5a333f6b0df3a412983cf5b4afde9099ddbbfdb81aa043409acb6913e2dc4610903efd07e9332be12408c8db95e09c8893202d2e72224e88fcd0ee92950079e751cd4cda4599484b26c2925dce5c2e3d54f307a3fcb5cafcc37fc11c27d63fe761543d2a69d2e53c8cea9526912e873fc4555d578579da5fd55f8ebdcd9bb7e1843e43b40df5cb3390c75d9eb5d60fbf99490dc21bccbf9e3f24f0b0bf1ee661df34a0c0eea337effef58690a51a3973f9bd58cb353e3538185bd2a4cb7520cde535b234849cb9fc5e8cbbcefdaaf9cb2f0adf264dba1cbb5cbb01a69743992b137157b448d4a4641dc0d171146270681de22edd68a9b555aa82d095e2680279bb491792a2936acd5f1250071152cb3ce3151c7d3ec9b098a4494d6be6d75be7a4d336337727993507d13a4da94e6d1d2f9e322feac49394509e4426c06d33af86e59d79d5d3f3f589f60ecda17e654fdb44d34f9bdae69326696a9b1116c53194f05fb43283ff62dec8ec82054ff3d7a830fe8b3da32ea649ddf548533739cd888339036cbdbd8bd07d33001b3c0f0626d427996311204d7b5f36c0a77e026fbe803750a64eedd95584d681346dedb479547dd61cc4d2fc4d4782e7a917797e7a903a74ef13dcf902ea3b4a97201829254f4e5f3fe99fd5571a4ffde1107b68164fa99ce229fe8fcb096cbd21ece96999021e551fd5ec39241bc6299e624fc71e29f387256c9d3e55e1049d4a1723a820f422a21667bc10e810478acbc8e83a4092ef208cffb024c302a4c7ec434a29639431ce1865cb6ed9123a01020a543f6970e859ccc968f0b0cb99e91e53587ab38898718a49c0a9c9b4cf4fcf3c2740e237ab49cdca3c27d44893e6052452c13578e6d894f1b680a5cf4cc449101a9c864c44fa7528e39913914e835387ed3219d2e0c1907f528a9f72c94fa9e4a74c22914823251fb2affcf46659f75bb353ef27200e271153a37b7128452c397f3d92b85bfeb096bf4e73cf9fe3c81fe946fe6a6ce4af878f8ec9df1de5efd6c81fce2e39d784a00a67ec9a3777d3ace51fd62515fdd3a4e9577a664a299a2c4129d149d221f9e9d248fcb917e3ae9b6ea560f9a449a92f646afabd98159f4c5aaf34694e8f4fcc88abc8f3f60a6e53fc69d265c15a7d52f77ba75367351538bdabfc58f939fbe7e744825df7a76dbef884366bfabdb3d64f4296e2bdd3bbe9f14796fa0b38331d0c93167e4e337e4e160a7f9125238c3152d0cd3052b93ea957bffacdb0490b68d2f42ce6ea747a7ce2b18ab6a9b95574f613a9a2b1442c62e78b1232262627d4979054b890440a12a8e8d036300b31563fbd01bdd1cce47abc325f3963bdfac8a34b0f02bdbffb1f04dfdcc999a904db3ca2358f6804608ecdf68798633de6d84cc44904608e11929c995e3b277c3a0d25328f68e711f51f725a66764b27449c04899e8938911e33ac8e69288940f8d084a4c28524304a38473fe0700184249c71061393cd4bd4ec44bacb19ea459e861318e6d4c42b644c4c4e38d01edb473b78ece81cf8e8f1a3101abc5ae0e832fbd821885f800e3d786ca16190c11c2c7bb62c810632d8364454a79a434bc46dd2775f3ac0e6a87da693071eac079f04b88bc82ae2889a879e10c8ba1f80178ad0111c3dc0a349dda3fb29043c22895c44e807775a263509c396cd77593e8a2822892086b85ff4b06411ba1ef27e81612b930fe37d9cb95fe8a18b4a80a1d424be4630d424beb1753279b554a10272092233e0f805fe2e104daad261cd3a401ae9197c023f81bb75d05143b202fe200b0856fe8ac877cc7bfb3173a8462cf1d57d48a79ef5fa55b7b3024d924188ae00c143fba87afcaf6b3ea25fba0ef0e6b259085119707478034b243923bda647025efae70d68920402d248a724599a409c912ecd48c016608d6949eaa567d409b80878c3f217b77f18c32e566df03c1898d0909b2f1ae4fb8379f7b2016e5daa8b8706b8bbebb573f15caa195c32c0dfa5bab4006f341e78639d87075e01afb8b919c0006cf8efdaf0dfa5eac0c05f7c9717d7162f87686e3dbb3ff0c6de7baf6736ce5cc1b384556c022bfea85e7ea9da66a76d20942d502ffd6a5d57baa4a305a14431725b17951e20fc77f9bcd44e50b6e0f9efb2f2b2fa6cb5cd779b8ce0bc562ecf7ff7ca4b795b7046d6fc5dab97170de08de6b2ebb6df5499e6c5bf54f7427ba9a496496dcbdf5583f8325f34a801fe60ebb6640d55939759be78fcbb547f8b006964bb74eb5d2fa9c30850c778885a7c2d92536b1e5d5e03926e9182b5d443de6b31ae5d377b903aca217c7c7c2eaa6f8063b79441fe7845319ae6e1d0802675101f9a64632cb1b8471cead159bccdab42f25be72c101c585d77dd3be506e43ac618035d19c64010f41569f23ab40d7589c3e538f7881372ce612c71f906e70f4296a2c964ba2ec7183bc6b8e6f2360059af65223ec8fa785972c39a16f2b88832e1cc6517149e691f1d519d61be795accdfe5d4bdaf7b9b8540d6cfda353c708875895864d6cd8a3b3d2a63cea8067bf0a14913ced85864300258fa77b3a042939f7edb278c9e810c2e00c32c7c50c5c718638c0c885b90d2032efe731ea114b4b9ce80a4fe9990e63a035ad65b2fe04cfb133963042fc1f3fa691b9947b049edaaee094ebd74c2b5f387d42b98492ffee5cd9e91de4e907114ebf5733db1848a2e45229c302348e60f96845305e13129be2b9d3f6df3dd24df5cfc377fe0fcf9f9bf31bb7e79d65ecf361941205a1ffd60fdfab5553ad26eb755ba741d299190fc6584e62f26e64fd473bb9824b049fc0216b9dc7cc03c8727307539ddfa77614db023584a96b61fa8047f178bbb8e797bf7c8d2bdbc7d483f2eca9f3ca2829c87fd6235029a056fae8f40e760e7bccec17e9de4cc85a2646056db48afb54af943c6187d5e3ff0660cf046f3f68b0cb1092c05dfd80bbe59b274793287b224fb29cfc5ba17e3982f8f2c5dd7257f17b7e40f5f9eeb882c71de7eb16489cb8d43f7362c61a82a03928779a82243ebe32c03a469ffe41c03dc816b803fca33e2c1f4d5f443ec1f71ff22838d16f429d112053c65759161cba13fe66b0c90a65bdc666eb71f99b7b8f484682f72d134295d5c7a50e7db5b943cc448f047a36c39b4e804388acc2d57c0dfea3b4e4d460db680be224f7972aa073f625eccd93ccc24678e5c3f90c6f4750a863ff2c1c8f5cb431fbf480ee64136c7321127d18960df3ce62020229c83bc48ced7ab3782b31be13206dabc3c8ace79919c2620904707819ccb4440192312010fe680ae149e0e04bee5815fdf15f3e604a616659bb0983ec3c122fc5364b10dc4e10eb144d37565ca3c3b5e3f123349a979d71553dbc42f66cc74fd5c3f98e9fab4f8184d6a2c8a87ed789809e3c152df8e3df9f6edf4ed58e7db598e7cc31cec41cc833915e65c3fb7e573fd7cbdf2d9200073b0eb073b224bd7075e3fb27479e04cbb0fbc3c3c5715fcf58aa23c91e9e5f5e4db6f8dcd5447ced47c16f52de375a5496dba7e607025a64928d47fd43405b6bf007fd7cf75c508a52aa50028826c921043c01c44760252a9cb157899aefdca9714b00db00da27b7aae2744e663274b3a7aa679746d039b34250943975d4051876180918063cf28503ccc9fcbebfe895e4ebfb3479364cd18b8dd87945242e82dfa39ed4325d4e0098f4346b0f4fe18ac56d2073d6078c50b7c624c22995a7d4e3bed14fd24b9911629e017959c89bee5511016221b14932a87c58be46c9809587a161a0296f75a1758bc41a0732a2a05788a12fec3f7e621f1bf17f7b611bdf5de7ed8edc78b0ad2c4086fe0c725dce0bf97555d123235297424649a50c05fc8f409813b21130d1d691b38e7ac9908eb3464b2def5225578bdf5207d6a6e3df8f7887eea957a6d525165c0380a969ecb096722ef4a2ab454157425a5ec5a3968498ce5c35a82bf5b857cb2d32faa979d9726e0ef45d5febda85e765e782ee6655386ccd7b210cafaae17e659edc29a44220df384d0d563ac0cf388d0dc257aa6792eae69fe32a7a4538af0e2277df273d6e01f5d6d283913dd7af1e7c83a0d5e2427abc113b98c971db638ff2a2ae41b4a7e21131664731a3291ad8ab7d9b32ef278de3a966dfe34af9ba709d1fca5ba8be6652b2f6399a65056b66a1b6d7ad5f20db69a9d76b2729c60790374f5330ba13990de0822524a9f16d0a94702f1372289972f3e39f89192839f8ffea26a9b98e3a3bf6c2a2938a042a347ca9228d5ce2c6ed55d5ce49717d2a84c9eb6c11ffda5e7c5c78a54d91eb40274f5d635cfe65c82e7cc34f5b38a9ff9b35e5f7ec8ad7a562f6baf7f348a8d06e0163f9daa64e9864fa7a9b6719f4ea9681bcfa78d0b877f94e7671642577fbd02d1027cfd83ac0a7834dcbd17c7e1c1f80d2f265bf53ce736ec1958fe863a438c67647313784ecc0582188f5e1e6404aff9477f3a2cc0f4b8ed307fe459d780a31a70cb5639d4f01b0ad2449f3980711a1e93ce33cd0be26d4b7ae6256fa8adc2d8a0cb7d746bf95be2f222a4a1e11985b1412fef038dfc1579f1a1495a0e72afcc01ba022288b681dab576cb4bd095a5ab0fd2a4e8366b98ebe0e22da049d187742a3d8e826ccee22c990866026f5e2467a274a0a08cb0492b65cd21ab2503c8af159427ba80620330be00ade00323a69c8d46c5052c5480b263582220dface90a2ac6580981056160b4674aea8a1417a470eb4e194a4e3b5ce0010b486039d529b5da6285dd484d141428505acf15aa152081a5d66a51dd82728328a4a02821c3102e45f5b8e009a81450e1030b52610103226081c4073bb87e5bbda48680b5b2f0c216160754a2ba93cecbd75665f105547692f24412ac53595115d536d1eb92b6a9357246be8683e7f43833cd758b26de5e5c73cec4c19933d9dc473361f18cfab3e4979d9e89eea351d8e7f5f62edf3c169f1e95ff412d4c53c8fb68eabf17d507c5f071f5df8b6a52ea34cb5470261ef9994f517c4df4acd66a1b33e52035aa36e785e745d5dd44b441f6108b9e28df4d441b609687527ce0c4c3cd0879c61945c41dd1edb4526281f242edc10207536ccf0a545044f1df8b953a43261b59c501fd45449c99ad1538640ae343474246ea929721b336e927a0f86fe65a511555048af5151532d225059cc12443a6b6815af028e00c5f08c947df3c98633d50ed5387585c51fd2887a869c1f3d25feb7f51bdecbcb45eaebc446951f9f8d2f3f1c5e7e38b958f1ab545b4cd97f911f36587e7a3bfa88ef0a2123529c60db52da95d514d8afe854c3f257492a51755c814323d8159fe7b51f5c00c6e99808297952c854c70e645254b15655f545834810aff854ca88f425efaf43252bcfec9b79a5beb1a8e10e7bacd9f10d1538fe46660ea9fbf8ce60dc1dc88254caff9e5d1780257bf3cf36bfd66f906d7ac4eb803429a4945ef5660c9c4981ed2209788daf6830fe6777ed4644cdcd19eb9f5ec7b4ffee699d75f83c6132050bec11b68dbb29641781fdef698eef20969fe30af9e03764346e629ad53b6a45e642d67978c3841a25f3a74b71e7d528f7edd6e3b64b4879b8fe8490385679ed2c67846f518adad6e67b4b55a6bada5597476d6394f404b80f184f919faae9fd7b369a30bf0742d7f17cb38644435cf593d21323fe5cd3a0c892feaaaad5d5b46466b924b39a3509e875028c14e8f195c1021490bb4f80ce80065a50555c6008418c04bd251218410ba3c94d24409546614e1c74d6ad8611735a99b546bee70849e327d478795477ef1b032810a2bdfbdb1ed7031974c53234b8deaee26516aadb5d65a954aa5ea515decf22faa543bd65a6badb5f1311c37aeb57da4b63089c91c5bdf7d68ba76f3ccafb4d75a6be366fd6e7984c4fceb4670b76d3cbfdcc6d6c3f5adf36d79cdd4a1e1e0ea3ab61d6a78219a5433971fe0a88aaaa88a58409aea110adca18a3b3d53dd45f8aa4646a4564d78a4ce916cb4ed603312f165d63c99594f7ecd54f2b5a65b168ba495f37c45a91a85aa7d31ee3a9f2ed6af7fd38bd976b02e6efdfa0893ad46411a54cb966c7db2456a54a3be46358a090c72076136db19329f0fbfce295f6794af73e7eba4e26b7588bbce4935323a083951c18a57503bed8324056fa6c09b9e4a1c66fb213bb949c7fe49e77cc8a4b1ed203312f1b3fcb9ecd02ac4b0bbbf6a64299ee44c75927bd79deec5b8ebda1bd2d0c5b3e8923f996fbe8bf7c93c75711fed9221a4a14366c8db3b02bf8b672e51e059fdd6267556f1755af1d5b72de0cc8a6cdd8bf1e50d6914409a3a24fee5579647204d751f3d696c3d5cdefe7279839c85858585e54217af730069aa635e43017754bf5e3c9d927c3dc5533c9d3027dae0e60120f26d6e14a4a90e447ee7a88234f5290e241fefe958ab0ff2b0c856cf54ffb42bc2319d8c3c038764cb3aec254daa4264febad6a82698ba7ff2489566c05284332d7863bdbac3c0161c1911bf1d89f9d68de0deba66fdf2ce76dc7668f106798b3be65a1ce4a0964c442807017b32a80521542a158f6aa562a97a82e8813d350c236fc3c32cc060bddc8084bcf34c6e986bef2e1f111f83bc16ef2b00ce71a749d59b675569836e36229ef14c5e5c1e91a5970c7b46f37b35d76abba47075202dcee2d7068445e422972cc39cdb323782fb2cf3cb415b0fd8b18c447c97fcb5873ccb48c4dff2d7231e5888b07e44fceb2c9988508eaa26553f2272511535ec81b6f80aca7127b6eaddc151ba294e25aada6b4ca723bb41db3cf81a124853bd650b204d75b902b8a37ae6d5c892b4d233d565b0acb2e548ba69045ff9ead58f1c99264c44fbf52173dba13312d1c507b87aebcaac9e41393b420ab214cf0e8061fdc6f8077d7a743d98754538a693913c523c355caeb4178fb0614b50e73e3a8b2d27adf65e58a66dd2933f92ab7b31ee3a5fadb2295da2e1f6d34491e338ce27c7711c77c3398ee33816e7388ee330e7388ee3da398ee338cd398ee3388ee3382ee41cc7711cc7711c57c3398ee3388ee3388ee3388ee3388e73216d13e39cebd0e29b731cc7711cc7c1f8c8398ef3d0f683e34036ee9de2c6b5814117a74dc1c25d963b05c6712c179ba29bbbdc3585d67db93b45736da708715da7683a458d9e53c82964abe1d61231ac63605cc209a704bdc49693567b2f2cd33690c6692e1a0e8eb2430def22571fa9fae77535f234233035903cc6a9d596b9ad512512692398cc12a5a7bccd6868d29b1fe349f1d66bc0783285e4addb259d9224a21ce02f4b59cfa8681b17b7dffd3450969a6d134df046bef517cf505d9aa7d36c729aa9d37cf2239f4ada064b4d23a9896426f9110dac2ecdd5aa67e533b2e12397547469de2af0ceb7a2fce8868f5c9eba444f52073592637489a6525652574698a74b74b55aad5823ef9db6a13ea2ad96142d2aaaf89137aa6d587ce46dea523d9dfac8a94fa7d6b9d236914a976a2a55253546caca8f341f797cd2a57a47f52ac1231f79ec8ee0681a79115db25d154c65e40de8924d8d5c87b619d2fe41558f554d17f32387dd1a8d9cd425bb92699b21b7f391cf2ed9514c0d1f79ccf663946ff054fd4cc952b6923377ce952c65d9cc6636674b96b26c66339bf4244b1846318a519a92250ca318c5285dc91286518c62a7136dd1d64996ae56eb9492a56bb54aad64e94aa5566fbdb664e93ac919ebf7627cd5d6dbdb6a9d5aa796bd2b3963fd5e8c57d6ed4a966e6a955afdb5b6254bf724674e5d87f13dcd93374f38e6e9adbb7034ac72ce9e716422900d6f84b56c37b2d368949d6c64278c45932d396a61ad51ebad8732bc927285ad46d63146b11495586a84a524967aebdcc5829de8287f1d76c24e6f1d7463d450add65bdfacb65a7daeff4d93e9baae2b7382e97fd374dd7bba4e35b3adda6ab55a58acd263bcedba3c8ddc2aabd56ad5d925a5d7dffd37954aa5ba8b9b645d6b92c56e718c1253236e596f5ec3eb8ff1e0dfce4adb746ead4b2cd3581c06f5d6af25d6b3176df37b92a52c752fc6dde6c528326b469a643d4b590d957519ce526f355393acbb48816b76ca9258cf56365bf58f3cf853f5dd89c4f64f236de37db14a64c9b8d33621b71ea3b4cde6170b48f30c66e40d59c9126c999225cd2467ac771dc6a97b31ee3ab7309e84a4cc6b781692326f2f83a4ccab77c4fdde91b966cadcba96a44b312567acdb4f53f21607ce4c6fbdd6f0da3387f1ecc6f60306669a70c85b3ce62173a4cdb6a91d4ce8faea311bc9ae714441d2bb236f9d8667fd25c95b77f174ac92ff747ca2b8d324eb2d1ae7612dabba8e2ab7d90d2d6ed58b50208db58ea55b2d158b6039840452a4b8ead936644a27680071e2914feae8c812d4912e34e512450de00d12f86dc4b1555e8af1edd384a55f4ea55f6eb71eae4bafd7250fd7a5878413f0e6208a6f9719ab4ed5e954f480c48f4da4921e60ea92a6264df934c97cc811b806e68de57abd0877581a5be380761b6fdb0bb3f08a7042a9a44955484183286fbd630856ffbad6ed0713cddbdbce80379734805207dec4afd679f0d521fc41f5fbdf6c229534a9ba0b0ff096bf9accaf1fb917773fa5e8991ab7d9a449d56f28a649b656cfaa4b1da944a2e0cde5128aaf9e45238a68bfde90079b2712f16dacb5ab3d81a68848e60b89483a22c9ae28eb644391c9b84d48e34460980595275e125a352cc860d4a1e9803878723bd4705bb27a7c3c1ee26009f307a93cf40f87871fa4127b3c7418db0aa5344b33e00bcbf0bc3122b61e429a2ff4d335cfa46cd7b60cfa80219419e8bce6d4e3d60375eda332af3d12f13beb6892f4cc6b8027cf80a7431d1f339c58a463641ca04caec73b3b27ce38430710c0fd50ca164c6410c0f3a10a0544f8e81907014c1faa5070848fb049393220f0de906b18d2b4d7e8f92f06664185d57f5d4c17c21d0379693433c1a257c4f42f3a07aa1371bd9b3acd4c309f735e56f4c4ade6510e1d671e4d8739f1b2022bc75693a45f26b8c50418fc851f2f9c91f7a568921403ee6887bb9e61c439e18dfcb8e540ada4d2eb9f520af7721fad238b116934fa8437f0abf7f6a366269acffab96c0fab43a7b074e14c75e8d1b57ee98daa4fe1d39183f46a27e6918eaa7ba39aab60ea53d6f6eab6662781dfa4a2a8146db675492d19cd0800001000f314000030140c08846281482c0f135d2e1f14800b87a0487e5c99c9a22c0829841421c0180000306000040046048834000bc3389c3beb6d073112c2bc99846ecd7093306473e148cda6064860094095140f383a8a0dfe8a22bf9a670a1068b402a8ccd89532e2d4d11478aea1949ecf1429c1df3f2b89b656b3e20595e1b1a6bbe5368a72d38d53e1be6955709dfa134ed2a510d91f0862e55aaf45655f4dba4126c7524858449be5edda4c265c1167a269fe4e28c3225353484675c56bfc1c117fd770e85a0e3343b3333f64ec5979aa5b861e3fcc7eaff2149f841949fea58906d21a2878cacb5694cb81a05cb7e15c19b0e11bf742a42627793e2474dc8995e7ca65eaf13a8900d8296cd2b2d2dedf14cd69bc26a18c648029e8db2614b67ca094247325c504e58983ce45f91470cc3824020f3a4ee14a584a6b9ab9154e5792879ff6806bb49f028c92416468b1c53c44a73fbf5a394ca3516cecfd208a0fc3ecae88c7d98d0eb71d411c03a64b6d61b0e7de1ea5b9065d06f84e3a3200985b6a26020299eeeb6888397446c79672baf083d48054c1087e0da5138cd63786c955a25e9b42c9c99793160cf3425934e9dd9cc3a5a41ad7964d9844aa995c8d24c72f70536794843f56cf266d9272a1ee488870b11161859c38ab7ab505e187cae2022180337908ac98d4c536611b880fc12c982d3d54bc6394768c8f79e482969719d29ad50d30f820b0435504562169b843ba2cece1bbcacc555cdd4823fc9a0594c93374e29726c91787f7125fbcd8d652bbd3f40701cad7480e56185960259af8b735f328b76af51108ac17783baae8c24cb9fb77eb0feb7598c06fb31bce1dade8196dc827a0976e29ea38f3f9a17a458fcbe130d203d3f9f45907c14b025e5852a3928472bf519ade16d67510a400aa195913b09d05f3f9930f4c089b140b16b92ceb9eee8bbcc5ed06643b8688c3a6f5d692a29a1786e5499accf3110c28264a2a436e9448d50dc8f19483aaec5f5506b4d676489ded28623b8084b651af82381b11b81d6c3f6b98ccf25203e680925a2a9cdf08d138acff5f31ceef953328221d9b178c596cfc733fbed02539a47814528cd9c85ef689eda64511eab8c8b8ffb83f77432aa98056b4990c6b95034cf72a7fcca1496d72ba103f21d2b3be2ad665d4c8182838a74b4402e80acf63e1fba91c38879a9fcb946ed114a464f0ae073cc0bc652fa25c16702c148d91e67cc8343ce3de2cc28f74a3e82c53ecd224ec8c937d3212d8293407ae249927a785106e630d2c13018cfdebdb54c253c0eb2ac1205958cd65544af14bb53477bab00c3838af26f92d3b1c6e5782914017fef6a93bc8f2771fd8f5b6627b3c5d77530e367735abac9e58a2b51d972240f5a574aecae54e0cd633d1a0d9dacd24ce4ca60df2f0c76c9f0fd36923f57e6ce1b8d0794d1b04baed2d47977231848c7c0a9cb058b4e5a61c37cd32a6a6fee428639748afc4958198318a14705b49b97db95bd61d4e4a93f48d3b2e7c314cb99731d64bae16f037786760d299834d5665a111e90fd5c71b8a152698b70a9b5eba465472702733a279ef9a02a7de80eeec1325e5e0e034bd720945e056e51bc4d171fa7ae62ba95b7233c6a614af8a076ae5341844ca85ccbdb488b588f008f35b1d56844fcf7c18cd33b40facf68e83da173632f9bd8e3297fc6759ca1a3a26a388b696bff472fca8bd2e687d7ae63087976947e96edf8adc1797e11f73850621ca496f2ab0b20d8ae6c00c88997c430eb38ead0697cb7a1120c420fc693c6d7af97a2b7b4e38afd2ac7c11571f27580b05e6509e017e3f6306be23f146c65f4d97d39c9ff4d2872461e09244c2e69a71c04df3c409f1de12c05b0c72a9ae1c52a01ff8127791efd29cdb434a1a041e298ca0350320c606825a8fcbb1b2d2adf20c4ed646dbf8290e18db3a1c7a03a253f56ed209ef39ff8c361459a089546d6431ac7936246d2d1ab14c3ae1457b6c8954315a7f4ba8f67e83f25d9e6883b493e1276671c12b6c50aad85b6c2a4aacf952fb9679dfa7a07e52f76eb3db14e1e1a5e5938895596d53a171835565229d8c82cac302defaf73fa9365c878cb442e908f3e91059dc5f014c36003de4cd401ec996fbecf49a15eae353385305694e9bed67dc414ad9cb82a0f44fb72e014d7e017736dcaf4751385955089d2657a6634ce61db3c1c47ff8aff987493e50ae7a24e2775995f093bc5345a67ba8148b32464aeec094e835c633e15ea2658a01372b4f3eef17fb4c53519ca3e9629c92477c5d68a9bdc0c69180ea32a86458e5f4daa4fb39f8c8e0a2218445fbfed41f7d89c697956209dc218cfa54a3b359589a944f95968ba75d21f14c241402cd81d855572fbb67a1b51f9b26714ae9e3f8294a0406769630583dfb2b975b3bc8da9ba7036ce8b712e7d96983e094d2662e438632eea7cb9a873451e54ff9368a4f36ab66a0e2561d0072b64a07aa52f50f8a31a6820731975463372293fb1c90527e651b1b77b7b6a169ed003d88a45336f89d6a073cb5187e6da09c3ab30688f9ff063e90811cb8c0063230030fd4c0065203e305db7efc71c35d3a680103f3972ad8a981b5734486e1f485d32e1309ba2a83bfed475dcd6953313a154f112d7e9b939e3cd0375f7a81d84d73e60eaaa8ced5b76262864cb02a6175d6b1b296c0fad62f5a4960bd752cd725b4ce7af3d6095a67fd913509adb7aee55042ebacb7689580f5d6591d49b09e75a6d712b46e7d2b47afb7aed52949ebd6b56aa3acb29c94514cac5bb9f7ef986afc3499364ca916c76bd8f16d5aff9df94016b3ec12c56ff837c50c652ec3bbe3d37ec45d19edaa76ad0a097d9097af083f553723ac87bdf41f92fe25a8fcd3eaed1d837a4dc4cbfb5d2debf083b4841fab6b7f343d8279ded5f5720e1b9d6af66f6f042da2f9dc071d3e940aa3ef3dff7eff8fc4a5c8f6853d30e8c922a64a7768075c85dec3a4fb3d317b4843eac4db26d9dda44455542ae64eac3e1e403168b8e5563d5c06e051e397dc14c2de430a63d3cb93046e208114f8c0042ad00313b8400f24d020303c0506ccf9fff39ea5f51ce440d8a901201ed745740f76aafdf8d0ccf9c4f75433c94824c3c0c872669a32a0da3ec67825634615feb99777e1bf08011c9c07b208ff46b123d1b07a83ac0c36d58da86147076f3a1cae55d7d1648e4727077acd1db0b5b0e074622130180c945fa94845cf30a2198f171ff4a97cd09183873f7a2f03695cd8b8dc67cc15f3b59b4a01188eb06bceea5e22a1a9cc416738e30fdb00fd350e1a5656a34282234fccadad782cce06c136ef778935368d313bf06aff93cd27216db322baa2d8e1c86ded6b60bc7c8425c194c9290908e59ed47029c99598fbc3cf43d0716fe55e6ca79c25b564709d7961120080593474c5bf5709a92c5dfb9506c11bd15b5aa24a2cf7ef6c913a0834e506cb5005c43968b98167c38d4827578883fb94830de75a2ee2998719f4502181104b1b2212b4196e4402db81cbc324e96bb4cf7eb7559629c1c93305f931d76695a5a93b0ff17c4c11107c19956710b9e3ceb21ec9b74390781d6598bd71833cac17b79287f2f6070bb25576152d5a37d609b097d407619bfa294c83409e8f572b249e2b9070f29d01f5205504ae47ceb1d3685215a8aa0cc0192c19ec9a80fa4f0983780eba1b1c53805770a31fd5229c398169177f506edb16883d5401c8d9a84cd811d2f5d05522a4791fc1f824843b3e8df38e3d4ff2f9999cbb7634b9f7d370fed8b3499f1fd3b9cb8e937b7e0ee7dd9adafaaecc486977891541204fa3d3c46e64fa042e8aa36aa5591990af3e3a09058fccdbfe260cbc734e501c6d49da55aa3a9cb6276bd4d0adaaabd71779e8ac4cc66253c2b716526aeb63558e5fbe0e5d7ffa93469fe354c21590cdd1796b686269a4b569703e6215997a381d288c6e2b5a1ea03a243682a8e769d1ecec0de60ead09253e842ce673260a1b5ba228b7c62140cc983495a88cd450fb5d2dbf0b56d91a245a64ec389e76301b315f865b3e8a3522abdd1a2275ef3030f0db109276bc2434aca51f67522c1f5671bfcbd1984de4e94a556b5a8b31b74d47d1ddf7f91d481948f912a9b3c3fa908b9dd36f0cd1b6eed037a09b3110eda9856886e404fbc1e2edbdddb9a24b86159dd918a0996554c967a6e5dcdcbbc597560ca0f90870fa210ab76466dbbe9fed04019cd5e0d09cadb85e000d011ba736f8131505ddabd98448f8ff1fa9f23551aab3636dbf9c2fab32fa01ce544cc77fe68a2be8ff4e8f687d8e0e946aca24b9f9a46801ff5be5bf2b74fd2b155b5e891b1d18dca0e6474ab80572ad5a2cbef76a215adf981a3ec665ac133322638e1fa5e9ed6629762262b599d7190e583b5373252a1d58cf75c2deefab3d752e84f112b925acc6f1de9982d3b06fe58235c49cb4d666eb444d837c618440e73b76549b966b32cc8ccc3770c4bb9ba0245c902bab236a00d687c8eb08c37c21d00606feaf016983637f6644480b8a0b672290d489e040b3ff28326922659c3e75539e5e437d7dc3cc78ad5798adda3c7fa69f61533ae52b0a1e3124254ab165a7441f5bfad91bcf34446ab0d067aaa40c53fc582e322b5db75ae7418da9793ee4ca49e3acee4442515ed7a1d1748e14fd14f662aee19e9fab121004d1c5aab0d252cf56bc85ff0fa009a99494b13342bc234c8569a70443af7f3406712ffc228ac95c2b5367677bb6b03b112ce8fcc92bed09f32483c4e7a0e9fcc1c22b691f576935d6e264af486dbcf3ce7970c3bdb0ba0a92151db1f3e276687cba9e20c8b33bd8921798ae768457e115cca0ae807352973ba63cab543ea9d8ef4d1fc0cef2c782adfe404e3764e3ab247dd04fb371f2434323b8ff9c0c295e27d1ed39ebe2ca35b4e468d10ce31f13c0a9ef95065511f5947809c73cc6568131708e570623c35439641aca5f063b923aca1136c58841310871f524ee3ece5f9263637d4cef4204c837c362e930b950fc72241fec17b2bdb2c73193e4ec708bf386af8f7ed08e05ae72d16b4750d803a389cc950df13feb748aa23a810dae6880271820277614765045a2bf42342d2750b1f2c879e157472173508eef70afd0498ea42f3bfeafadf0e865d8e682f8daa23377b4a0ab2502c3df05137b1697f473af5627aad7a92ee426953208bec7f049a0a0aafdc69dc376e3c5f4fe76b1e254be1d552176629c9bac339a6a64f60a23d82186b0ee22acf01f86e29bdd481e11bb26fbedfd78038228a916910ca67cab3023d3db28b2fdca66920fb17aa874c4b8c6a1b01abceae41e3e9055c9fc3fe6f494e3ade23fa2e970637f3f087f4a05262c2be7792fcad34e58530c19ef9c5677d289cb8fc9995c9495fb408b963c5e7542dd5ef42466ba95f3fefa7df3850962211e261792d23b81dec6aae49d44e4820abc5d5efb80736e8cc682f869d000c2169d269d66b301ae617c0f942eedee97971ff11b1951893ed201c2961f27df86067f5e4a0c19c605e02eaa364e76d7e1da8801e667a47e731474ee3d15d3733aa7cd83c9279aac8d2860e54426a3ed45468b8ee5209192666e275cded1c06bf5fd0fda2398e71b7e0bc05d2463bb8b1c74bab8475084a37d9ca2d934ab975378e366adec5e76de7880ec0c469e1bef9a044b5375fa166be1506e19c5c190acdbd04be294ee64b61fa196d5a78484c2c8d17a867e06a102e25f0ce15b23b007ad7ffa8fa9f4fefefd459346b9c39b482fec22084077d13d33557dc5bc1ceb89751ffd9d759b9877f975bbff998e060861689b19885d7c4e377403ceae1d83f6ec0a639ba995d4ccdb748ac2dc9854084271df8d14b0bb09067ce98afb02e546f2ce9b2c9c3ab28f6adf9ca500f1ad34a28cef88b70b2cf30dd31239bcb491464440332694f72e1ea4d2c076b18c9ebe31a6c8d15c95068502d20392356050e2203f231db4a310e459e184c73e8c74246037b476eb87f5edfecb70504df0614285b409de1b9e0a4e09ace0d10093aa7a2400d27665c15d739889bb4accbfc9d2b8670e7e21e723e52be92db932101e0c288981b3a53cab8f2751def8682531fee37f483015989819c91e420a66698d5704e589e130555592471f65e77cacc0fbbe25f4fb80ba1b1008c210ef3490823a2e0d76b8aced7aba36d8d2e3d080fd6ad1218428211f90c21652a3e98d1f33bf5a2d63086ec6b7f5f5ddec5b3aa1c78e920043f4950fffe50f770dbc2103ed2b6d98c80532f4c24fa55d595ebef17042b3e2f42e34c2d35f8ecb9445505dddbf49ec2c9c9c99c8c1deb532b268426a8462cca5f0b78a8fd74f093d403a1a5e2375dd6b58b532f414ec8d765d1f9a0199341af8fa79b3d4ae083e33802042d1b0e0dd1f6b273013c7238c0f0919a15d9c3b118f4289371e917de96b0a047974cb4c7924851082eb6fb287b8032e5712a0f39e5b29f9fb2cc30b3040f41931a5e09b5a3319a8e96d37b99c7902e58dc886bda775ff47910a1adcab493ca6a0a26009123c8ba69d4154370638f0d3da8c6174e3e3a052a31e1d7327b1eb2e97d369588c806b09eff6324d1f43ba4ae60972082f0357d92b1228cb2dfde985671c4ea795007c5b9c0eec0996052293795fb8347e2a5a906e158bcc585a3f40477169a4b648f517354c32df8659184cbf53c0712c84a0a289293a6e0dc496d63700c0d4be92b986818df51d9ad34bac2deff64c1dc595d5f2a459ff47619f277c371ae2b80e1747506fb59db4d11624cbfa1c24c93be1de7518c8ab095564f902d10cf3b4a759750161be9b30fcba029d78aaeede655b7f6f3e42ec0677e7a9b638d6bd768eadc1253ea3fbb893100ce7c7f0b1a5bf26ce66b9323c072a59b4f92c663ef1a991696c891939d29d62cfc153ed692b3d16ad4596c79f9edc1c70ae85e3d60fbb3e037955c84cebfa450226752876b6e8bf64a5a076dd8d97ed13e4150bac6861028b8b0ff31457dd815fa59e8c5a96b839009348f5fc9841365576d6a0eb137f788e10f951c99f063f47ee12c7761f330bdb291bbbba7f47af1ad950448b2ebf5e37ad8cb37192fe8b516884dd98f8b0ee29a29cc193e26281a462419c45355854b49d984ce935869061728c970389d8e2bd58582a5b20ff29c402d41b86e9db176a5efc4b78afa2c20b1cc4bdc6e8b0c0a8ce51ec865e419edd578dd6ce3b86367f46899fe336d1754ab65d33a4dda1aa2fa1868d24c4a15fa9b6350878d86c642c841e11649df6e3d8228bd8e61182f50b4d87b7db34f99f57f327293d9887709ee31b18293c8cefa6d813b8cc421f2991fbed30be425cf21c475f8cd850d86cb6cb2b6279e0e7d7d0da38586327cca2a997e287da0d09065bb9e090c7d7e34ecbe0b6570548c64eca12621ddf4270b4ac1b976743fef524f2608caaa22793ae6ba7c2aea916749738fe7b9e213c7a34544a4300da71cc0784e0f32f47d534cf4bee297e15bc9c63b339d3f9d33ab8ac6e965b14cee78d98b0a842c0e3a67aab150b5260ecaf7fb87ecf690819b7bcaed5536217982d751fa9f1a02ebb8f7c0761b03f092d84e5e63a89c599963604141d3f4f014a0a3791c68ac8e2747050ac7b0eea705c27326bae141158d27b4be5978a158fd7919ab40966617ca4dfe474fcf1c15ff72e4d7bf9737475345704eb046286600fdb29107b19a435189c9dcf12072d0c4f8b32fc35415c2758091457b6260e5b7d29ff7cab881c35a940d3ef52aea136b280b85e63ce650a777632b16b148d96ca015f4e5007200d86f40f07d71dacf09c1c2bbe8d3913ff889d2d3555aaf1509e4bc52d807ee6c08d9f05ee5f223a923f921d334ab93ed3d65a1bd501d406672f6a9c4777916e8a9911608357e20a873daf72a42373a88345ff7977063cd9bded764caa078889478028f87ca20a74e195347911c7c6865ba81bd523f6509004440e935c2c99bc54d0ff96ba4a74647d28ba0b04247fd8475c0486f9775ee8da16587a3c1292151fdabf521c8f1e6cdd1dbf93dc53af0e308e8306921e0544ad20024b790e4dd682f6bd8ad35ad2650e38c6be81a0f427f8a734a377a2f6be3e2f343af70659980c884a3ccdcf3244d393b3f96b33cd65baa7b5461f2120e42d082dc58360b87425266497ae253c17b9788547764fa942c3162c50700601b6ae6450d71fa734cb56fbc97aa8f3bab60d12692a8167cc2892ed6d24471ff2523b8ee55f857de1807945b4772fa19d628dc7486bb23bdd2890240fb6f0ef28a30be54a84f6b1ea045d9a3ca67417df406c5025b367b160805462fc3cbc2ea4b043e51fa2e868c91ee258894b945745b1771eb245722bf3d0347d16f3b48928d84cdbd55de8783898f962baca89c8d2858f00a86186bb4b21ac1e081f337b2b0747a8b31061a1412de687c34917d0c420a2513876f34cceb3e5d0dae3820a17a44eadfe1da7f1080701462a1fd8f333b0cc273aeecada1be66c3d3fbc7fefe699730631f20c156a94cf5a0ecf090beb09d78cf7ef96412f30b14c2ceb8ae9b7f278245d046ae516f084ea64b0dc4cd3d6e7580f42eb7b6f730a1819896e233b32325f5ff234e7bf30913f739d7b541ddce6ee77626b4ee0c8815b19ee0489f16a5fc819d6b548b4524a95efcfaad214ea4af3674e80cd308c0641e0d8d24354d9e29bc45a40f167b0f18a3b6b64ec418d874883342f44a286c96f475441a292bc6f93d0ac41724573342325109fca849a3207107c8a57f2616c834a109473a6d935587fb015154be3cfb3aff2d22de98aa5fa2d8e825fa41d336fc8f90e29c703bbd00e14c99cc789dbf234e94bee35e8463d57f9c99ccf9e62cc75347c178accf0898421e01a0193b48c80e0c0e48f7aba7e52808e2255c74f3fd7954e1db9eeb1ccfb1f2ab4e95f2a4b319267b61a4e142b34703a09a962a05e745f0a748e37feedc7a5c663ddfa59bb11e7e99236ad5ec8a157f09ff2853b7a6dbee32e6f862aba4076f84b05be65fa4ed84a79f74cd833dcf8ca524f1999a4b1a419fb11771311d2f6e8a16af41e1a8a9378a4c34698d34b906fe9510ce08e784e0c5b7cead1ce7f448356a2a6bfb86e0137912b917c574a470e5d181a0d8a6d7e0042291a944a61e5fc6664f96111aac16165f4e8b0f23511f4cac845ffba83cd2ec7e61f3cee863cb6a44cdcf52ee6a8458ffa600dc902b25ad59350f2a00849e2bc6bde48740ce49a9c316d48c1ac7b9945168d56c14637a442f4885b6426a42f9913422e8a811a60e0b2bb9b5bab0538a2031ad2083808ccb4b41c6d0b26e0bb45cf2ddc5bbd68a053e3628a59a5c313b074a806e23b87a3852876fd2a0402d6b96f35f5d9f00dd92f490f98ca0b5b6615bbd8581a6d40942e41b7e6beb5555dd9626672bb644941dfcd3efa6912b10e1f0157f67e16f4e022391018418cd9569ec8928d745ef9e3771f726d7cb88abcc914bdd98f6295eb9fec326715df4b21de2510c434b1a228692460d630138e38ecf2062467c86261f324d0205975cb6a43d87bcd08aa77658744744aa21e419289dfc5a1b7c60bf88796aae3e3037069980208d82d8ff7cd5e7a8af8d63d83848f00e348c0a69b9e7cb0828b764a63c1f98cf9e90eb219c9fe9ac77504c10ab1bd3bb1c2bc627fbae729acd033f7e3361c71be3b38c7cc6fd95be5639455d41fce11bf5afdc6565533cb1def61478b821bf518d2a88223b9d1c819f53b4b9f41ecab1a716fa3bcd09aa7e8ec86724e87b20ad315f7925e3a1fc13e01764560421da362e54a6290f6d4bae67817633f41881ead17a41f2b9275ac0e884f947803a9a3435b7e904ca471c4d8e1d145f8477bb040951f418956a7c49b84e08144e109858171b1a72bbe40c0479ab0c5ed26f3228c65b3dda5fc59522a38b8488bb0feefc43267f8630129903c958871564ff02b879fe59e229d2324b64b67bb496049d7ac7d838c1b5011f3aa43faf65c8e7aa0484d2b724e49f4f61ea5be8b4a45839cb4f715e8c75c8335985e20466b69fc13f8d68871f1adbeaf2d6dc4fc6a074ba44268e45ffb8991acbe54b4d9f91899f1353f0ebb4b51086dc1a7417b763bb123e51326815a3be22cc55735187c1ad503dc10fbe15c60731bc23e02fc48cba0ccfd0c66d5f30037561bd593b42da9cd55ac9eaedb59588c509431cb17bf0433a482347e2158d501200d3de4276d987b1c50a39060e4d164381fc49b13fda2abda2683064fae627c5dc46559cc51438993a575945eb76369400e978c7b6fc54520afedcd7904331116116dfd9eaf7a325c5268fce4ec9951583668c8c1611ad73239500249f4f4ff26f9e4c960ab4499d1bf9113f02ca73d3114bd1d39c112908997ca4a587a3103c64856b5f2a79fbdf9c2c12696766dc0b9b8cfb3bfa3e9722ba1a77e674f4e619c85a014cd13ffac8ff44aaa2a5763566546a4d6ab818479c548a2b0a331892c235cf2627bbf65550f92c672b034c3d4e5e44983cf39c33e49ee1ed52f0891f7c380730c87c0d0633e8562cb6743722360fe02afdee024cb3f4633f9b12d07e13db9f0ff07d24c61a866c59f310621ad42a0b32f0184e05a7c0767dc5ce02638c55856e131031b140a294cc6740fa634c3ab60501d55a2c925a11ecfe5111a3e4fbafbdb70248a084df70503da7be8fe2881a712602ae625d8d78cdae539e3e99b6a2d2768ca7b70adae3f4a2293ce4c418a65e64c67d9d71a1649a3d6bb6bb70ad5d9aa10c59baa00a177ba96891ac61df02dd6d520ffc7eb4f961021a1d8ebc1391b31d56904e521e4c2fad22642a4ae40903f94cab5d8d69663c350e0361b22f3825357c5a50aa44f1061137f405432a53eb545426752f897af85320369e41bd121fcddeb5847cbee62339c97af40fb7532d41cbad5d7489ad71735552e286f2fb33fd2ffde2843aef431688f37e3b86f53dd3b21d4c87740dffd37b7f6d0073f46100d44e0970736b700553dda556b80276d08f157595554eb8cc5dcc74e09bd79b5fc2452e094030c9546cb9aae52324d6a108dc740e42a1cbeb1c91e3448256b2bd4a533854a8c3178afe1ddcf35d488a55f27423983fa7b309d6d80f1285cb00aa3a8dabbae1c1c224cb4bcde8dcf8024a44ff193fa73058952b1a510a012b9c276f95c7b71063b5d3e4ead4122977493172c90f28d4854febb0b8a5181c8c0c43183bbe3a1302acae51ce3bf81a572e82756e6edbede51ed7d461c49875be32b992f7468dbb098449c432ccba5f8cc66e4a13175c4cb9eab58d628443ac644ad99fe830d1dff048f6232d4c059e05e59dc32a972995992ea26f25197a30bd54e31e38f30e70ef09eb295fc9c21d308d6f00308362eda49f6e8adec3288d9a2157fba8cc26ae2ba825a54a8fd04b60185771f6fa6a144f94c6a119cf2712430aeefc803b9066b9c5f233f88721a18e3e8a36ddd28a0dbe70b8ec460d621e08f4a611e3e81fcab43912ed49cac1b9996647d083dbc77530020738556f839a1710bef8798b2db73f198e68714a6f29ce9e24188194ef2fb9bf29ca1ed39edbc8716ef21c221e55c80689f23bfa009797a96f412283bf89531700facdc179751d2e251b9813b14fa0c7dfe24585dde2c068a0f82688f145ad16d856a4423d80fadb3938fce5559815e8c383b7e2f4a0efc71612ea7b6f75405b2a02a44a7dc11ada833ae9747f7b82b1497e3ec8fb6e644847e35ef0282211c5269081b4708949e5e582ef755f16edbfa011bbaface2c1e48c2ace948d931ae6e4bbf7667214d169a43dd2c1cc3308129a536a18d8707daa2e45e5138d2b5eccff6c113e26feec1fca3b8520649dbc7ba5b1cee92415af45ac1207abb0399d6eb9de5f3102c3a05ebd27ddacc14bb4560f39206d0ad80c25b7898f4f341d7b11402d6a749abf35edec2f39b9c9dc08059bbe3b0d6d7b92c29c3a9251a73cc127ae5da23b9e5c13274796a033dc180653d893c3d3abf713cc2b21c31c48bd97acaba63b354d571fe6f579983019c1c7cb30074f1235d7cba1a3affea2251682ec2cd0e5f4677cf60ec5d0113e9737ec683545322acdd703dc85320eea2f12907667713afc8a93a0328048ad0de21c7a0b20c2a03f7000ba1d2299e266b82ccf30b9a6ae2bfbebacbaf6031c46c1fbf2d2cd4ac3afa0cb2a8ad022c69fe7f5de5901491083ee79a7a82056e516158fbfc8828887ff8ef93457a1397b53093ca0fe3611506b366e0333d78717ac47f21cb536e5abf2b35b15203954ce48c7c7c130f2132021756210cea6d06c3c19a8f089046abda766182985e53f51e85840bfb0cc61f66432092bc872eecd4ab0c67e08774df74eedb21068551360e1f1990cdb556617e0ae3789ad78c4ccb508abf0a8d7257ada65eabfaaa11396cba237e32914208b6ea684e07ec26d5a5f59b9c017a319ee043428a9004e4a89f0d02134a211b2702f7795a6fdd96cf46062ec9cb27bf46b37177302e55b8bd120a16ce937caa7ef41c6a03f57c982adb0cc02faed854daacee40808c621803e0629849b7b853f5f644558ca624a5f93893b44c278edf411a7e76ce11e8372a3116c3c6544575cee86795049d0191784aa33c4fb0382785ef844e41190a172319ab72e855849fa88767ba3a29634a74d5cc1b591f2f226cf40d4a2f6fcaad20a59cd170e951bb6591e6510350778e9d5d2d35485fbfef0d1fe38750429f02b8fc17219f933241bdae367dd3ece27dd5951301012f976a277f1ecb4a931c1d5b9c80c6244d3a8452c1586ddf0a45e1160b25e2fa0d64a6ebfb78c21231c4cbb314402cb8094f74b372c46f12fc13961444b8a822ba3bd57d5da5d0b25d61954a5e6d88bc61638b152d965de4d6eaef1dd603e8c9d5a0e2cf6f354a39a25f5648db0c4ba35366f3262494da24728326d5af2f706e0ba828e6198cc5c6d54e902233e6fefcbea2a9ad4fdf111a99e1daee48618cdb28917c7a1655038e8c01ef462c2cdb2cdf84997fe1296f4593dbdf8d92ead60ab410e0428cab1b00f53a60b971be51117dc5e8cc2b727ccacdbc2fc81032a9d19498f7c9f3ec602ce03b43ff92b80909a8ba7f86b7749430ea366518452e7e1881ad6b92939d3e2519f94b41cb2a7cc5e5fa7d69d01b184c1bdf8a281788362e9447f337c861745b7fcc8a93dc0dd961b0c2cb6ba78da3e65ec02c17d397dd6b8c9112a4d2a00158f7de8df7f5ed628af64d3e98f0f1e99e29fc88521c62fc97306153d940c7a02cb6adaa0ef4f59691b1ea28c5a92ca2002861b9300847a2404bbe11a8878c105a064fe122eb1ea141edc1e42638b6b37fa342bb60fc122235f2f335f3a5348101787ddfb4e13f65ef23d8e7d2b6c800fcd2a09ec55c986d86bf5bfc230fcc141724e98e381c8a59683b019b1922352aa11d4e491ff938a8de66eb22eb5b3e8454e8287c035719e0ffeadb1cd568f2bd7152cb22cb6157fae4c23859a3b7ae6400085399a7b2bb1bb496ccb0b1b2e72c079d1a5cb7094523ec4b8da5b018abcac36b226b2cb9f983f18c7c485fdda65528d19aa5936922efdedc24c8e09413e56cb4c23f789bcb61024fc9178389302545298caab6ee73fc0e187f5e8b36bef380f0442cc33d2a325729810cffa520f066df7bc8e23cc8bcbdd60a0a3b80cdde7ea2a901c5d414bbf59cb330cdf3f5bfc6e487114547ed60fb558272ba8fc8691101b85cb0768cea60338011b4e92932b17d6743c584ba35885cce5671428550352ac0cbf0fdf50750b88e94183e933c80bf47892f7d51d3e2f917104d481257eb0b40791db97355bdb3aa77f159ee3a0dc8d40df58b4a2678896786f7c3f2dad600565eb04147199d2d3926a8f2926353a7641aab523752b25a713162b80197ec57d58bd06ea9e46b4c3c43caafa88c4ba905a101dc34d05c50fb466a1116a5469f18046742a0ee2fd9a9c94176fa38f76775c6237f6d6ec4d35f884f26330b6067de8788b53a03dcddf0b1684a775c839a4ff61cf9da0913b6a13eb5977a48c8415d60f6bbd1ddd1e59acaa36c3c53f3e4016efd3e6aa28578f44b4f2290988964e6f2ac745acd4dc0db3bd2a9dc98c5f9c06e2703b88bfad604512a82e7c9497003139e1191ea383c24783147655c80f5ee0c3fb95c1db9a827f6e8739c09248d48131a006a487526a05d153dd8b5562b5807df897da509cdc25ed20c30dc17c6609b0b736e25aef4da5b3054f9c2d9b69d63a3afb7268fe40f1a8205e4bb260e783418118fb63f3f0b915e71d5c3a75f269ffba31766c0cc24e9f7b6e4cc3f601f258a2f2cb1ab856455419b3ebb5949816bb983c611f5c25c39a94ba080110c3ff010bffe3b4b75c040c7c2e48c584ebe53bb664c57f39142a0e7a1c1ae96bd9f68ad26a107d4fe613c8dc1a90c57d750d6f6e9bdb10a083b54fa9f60d6a870fa8d4d16742bb87205573aa183a271a15886eca2027c18cc1e1a87c873eced2c8f79a39d7fcce266134d7496c45f668ef41aff55504e433e4e40513f0a0927c594cac816dee2c77e46398a9d9344ab4586b8adf025ffbcf728879a41424f37d4b40893b2e94e3a042be4d484f4b77c251a36b10884ab2d73ea5456a53cded9963fae92ae4fccd330d602de09f4239f706f1932970c7d4b194d50dfee8199496a6fd8beedc56173e7176b8e2f10c57ba3733c52f6b20f1ad18e67f96e64d82bd5829a83750d1776c10e0b3646525b4dd2d313ae69256408d2475bb8a3d39efd0b36132a0cfb7146d24246748009a1624faed6d09f6719f2c63d702b71d6203f7d0447d9c4b91e99fb1332750c00a8f640c108e36dbf84972243297de270433d7be7719a1cd6195c0938080026802921810c32169a636c682068eae15e51e94d39d18e476ca78a02925c1b7d352d7a1560e387b25df7d88e18c9098d1e06a705219da0f124405a84b051281c01b98b5e830048544798ca44bb90679c8dd38a0b69b7716f335537e8d234c087a2e2527dd4e0920f94157a2aa5434d5fee91f9dc866b24a1d22f234f8490be80ea0ddb06ac1e9a058ee4aa5621f84d8429269d86a11bdc010142ad93c0630f0f07d0593a80709a88fa189cc8ac76faf4fa1183cd358dfddcd9fa5fcf8d2c090ef2744a2f9eef299151ea935eebd07570c2234835880107209a5a8c7bda54354696274ee2d6aa8d1cfaeb5f07899dec3ad573cc6edacfc453ade364fc07b91100c112070f112a7dd26b11ea08ea851023ca03197008cede158bd864295b1db0ebe0ca85936fa954a94243acfec087666c6c92981ef234975613a62789d17123989ec727f5fbce6866044094faf569275e59a6ee314e2042122d6309791d2c80eb9ac41541f2c5ab245c7e3750ae259639d1fa3cd949bab6426af1eaa6ac4f1af4f716bfaf09677119b365d58781a9b2e9f4f38e325cb38f3caef8716fd118a55b12fa6b987796020b4d22e17cae872b203a4c53fe72b9dc3ba9d030befa92e00edadbc099f857e1c6cb2699f33b1b75331bf6866a133475671f7969941e49412d9e905944cbead253adcaa2eb4f46c40e8359988fe6cddb4ae7476f0d81d164490fee1060f26c82b674be572c590452595bab6974a60d97404da2ad69363aafeb82e8d301e37de25f7f2dd0f1cecb4383cb02e3fc4a107077cb81e05c2557a391934e680beef36227ebe6cd0131afc124d51e0a4de3251753b5e7593d4dd5d883f18032f4a8ff44badfbb1f7609b310a7e162141aaa96594e121502230faefea508d56051fd00c172109c48d0a968aa9d378c1b328e7cedec949bfd1ee8664aa6b9b96b20e2710334d31fa1029496f24bf4fbfdcea470e9617539bede71dcfb4764b192069cb96b4210ae7604026173b72d1c24b3342ef8a2c8090c2145f319d02eaa5bda8717fd0bc0b230729d9104a68a9e405a6abd9e07dc4464a3619ed27fce0bf03c402e99720fe231345c241014607cb7f063e851d186e3731b072923225c392745979b737e00110d974ffa2a42a8ea4e5c404c4e8580a0af1736d6c1c7d7fd7a26f6d23ea8c62ae89f57dc8acb74c0709d0ee5ed2ee183da976fc02dd019bc7fda564b0da0cad237c828d8c77468d955e95f81a3807cbd7b4752e625579c48909b73fd9763ca292a515ec0626a8cec7a0060246700effca20396eb0fa5d055d0670b194127b2ab56306149299b166e896878ad22f93ca6e83ea3f202f17f6209898989440f3bfce56325692adb361e252dd005dc96e1f02452e90a84439570d9a6529f6b9885266f3ef03ad1449551d9439e7e434e67999b1e9d2fdc805b85a103a46dde66375de0492acd25afba7d2c707dfc5b6b2d3a93253be6e03d18afef27e6db198744c69a918b3210836664a5689de74e8de749b754fc8b55a9521565eea428792af29efe502497fa5ec788671f87e9d48bf81ba1dd4fb058a54932b3a9dc11f360f41cede8493006662b2d2b412e0020870580f6f72374591967c2bd830e92087e607c52282b72c4263d068440845d27e83afc24b5d69ab385c2ddb57e874631125b6b654ac995adb9710a27a6b2be9a6a302da5daaa74b98221536021b6abea3d0a1ddea39a52ea00cc8c8ab42b1e958023f9ede4c5ab02f9d61b16487ecfee52f327afa07202ca03d3a573e16bcdb1c86ebe9cad2285dae4969c439cb7bd541b71706dee8f87050f3abf9957d2e99f29c6af9a7c9c3e468c586fd15540736ccc9179432708b9571ca9f9632eae71ab8ba40566e2260978e49e2f54dd32511bacef865c822d3f46c3a600df3da5085beabb449d63d11fa296a2911ad40a42cada19e6002489ecc47bf6371c8744429ba118a4a31190a0e388af0264b50856450fd59b800695e782dd94a3885aec51608f8b2d6222d014dec523c129c4afb80aed184279addbed477de4883d8ee494eb189e9487746789f48800a63e6bee0c2a4ff3271d8fe51e3405d18d24c0dbfd60e849c2760270ce699cb563c2c21bed981ffac3e9def53ca09872ea72b727bbf78336be6c2d70f29bb2a6e1321fddd93628fb4ba22143ac150c2ca7e52f8b37d5cb7f5d69dd9ea09dcb2be6368be5b449d5b868df978b0dd370f1313e7a2f00adda501c71e7f1f077d84c0db96873febb0cd4a5960fa6f637338da801d2a18f00b00bd9f54e4578e3eaa86fdc077ef1baba6ba1bb069c75a96ac344e2af8c5c4363b06e129e60270215bd4b69f62b491c294e53af9fb04215e4a5b7a0732c3c5396362499b3d06dd23002ce290857e1d77da7c79d59f1b418f08c49c3322290a7c65cb8e7d05852bbf0a023fada6e703a1eb169999230cef841358adf70c68f9dbcc7c04fa75b440956e525630ac237d882fc5bbcc25ba2b849a3def9803c435c37025e1d8e14b3613a98a8a8cde761c7026340981556a5fa902b71a97da4460723b58789b39fc52fda9495fafc8190827e8027e6da12fada56ccaa831453b47ca69055952340880f83f82d217c3a6fd147358e1e23cde4bcd79520f2b71756fc525b6239857b62ae322c771a63023f1b0255fc2d5b2af16c6becfb167e69019255bae0eb261023d295dd10bee190aed9bc106921c2b4e30ce5851d747bd6b985ee35cf1b444129fe86109f52578afe3b6e6330ad0bd69a559310057c2bb86fdedf13d24015bd94e0b5a6b4359c8296aac06b36c758edd785429b2216bb2e407637f66fe0bac75744b549bfa9de3407ac9a1c897fad7d27a481e47de8b3dd92482d8dce3e19d6c4940a34b3a42da6252cc0c02fce758698b8c5db42b41a5adb5c3d6a5961f14a15c429064bfcb0459acda2a063bd100078bbdf93d9edda6163144381986b8c5d949903a9a99cd1f54b515f6addc12673c4080c9ea58e009a57df8713a0a56ea1c21b22c632d5f604c49066ae0b333a0576ac552cad02821123cbfcd8594ae8aad30c509adc97438bf7a907b85455732367867dad69dcd901c33e9142fa483ab4e59ac68836f9845aabac7a82beee67386535939775b2c63ec1a6b836046a7ae31e4171dde662aadfe1e50a0a76f9d07fd6c9db7e89aae5d7d38ef3e74adc4b23e96a328a96e99349672ef449010e340f06cc812ec287bc7a9c60d38c0862b3e22ee2bdb715b3df01ccf4100527385127ded411af22da07129234aa65b737f5d1156422e4d841933f21733d29f64beed0eea4ac1b41d38c87acccd83c5320f68fc732ed2216ee6ccfe5249628513d44c0ab8f2dc46cc2033e83249d300dd12404c9ed6ed77bed489c11469c22c44f926e3f4fc25b6c0aa4d6c180ba3436a78f40c6f4410a0ca0a4b59257e8d0616d5b1d35f2999d8f7bd00f1408cc6dbb85ce5332f26148c5572a90b8296f3612b86955d57e1e6d8cc291e230c005ff767f6b06377be306ad0f5812d25e9338dceec47ba4e13dd1ca15117940a6403e2c2b3733a30f4ce29fd7900363e596424456746d413c6f354cba023b762b5a25f76c513ec5e453a5ad8993ed375af753627e109da7f1f3c70278faf4e4cdacf31e98c934eab12ddc783755c2e2e95e025712e082603cd3b2022e88a009903231410097c7910fbadccc2fb2be45d449afaf0073fc38ada189cfdeb74ac239b1f5a0908d340ef0a24b582f80ac81fc1660a95a0d732dceabe1c911078da7cbc3879bf0032f6a954dee36884a29983459c79fdc49f57a827385f5e0c3296dff4bfdf849b24a1a1784c55535eaffbefa38331517436dac102102066f62626bd2b2d3061d5be79b4186e6be2d147f7f5b2751327f9e7ef165d543302100b6074c53fa13dc686eef72cb5232f091ac0d7319dbef9e0af9979a77e7003c288aa57ca2c3542d4355b4ee6225edfb24fc52c3865d0b3a3fdb9dad2266b093af867fe3f31ca474111c35d41393fe97141cc770649782ec9d660daff3f0107d53a9b8454bfed5a75bd968138ed29ab79b540b3c7c1d38a6952d0f43058af43fd0f6b8f2d45351dc19cf4e246ceffacc9f39a46d42316dd31fad12ba8ef2d18a6014637f4ef886fed3f35670a02356e8795f4c9b84d964042ede72206a0d09586c1ad0e15e627068107270159cd32f1f65aad9c2b605e40426f0d1ff84a6f9d7f62a33295620a1bc3bb8397d37c3e8212fc2a198d90f0a5707f952cbf94843aab107068629c16830510cc3220db80af5e4b5b11a11546ac99c252eb5bf8c6567386f8c596f4ce6a63a83dde22bc6c0db9f0be64cbd6df2cbba52c7545fb0b7f9dc7db6d1458ed3558fe21031d7e53da30ef6c93c9f1f5edb4b5ba673a1db0e5eed3fe08fc88506002d35e72f53060d7775d83510d14e4509067d42c8291b55b10d23382c7a8cccff8c22b85f7bb51adb04cb34413007b045fc0a4b41fd23f99d07758e7a2a97dcd85bf07ac12ebdf775648f728fa74daba671449f71c769aba0a25f9fe57f0c995aea7e9f0df76b5a97c046741f2a81207b715c08fc31ff959d89c0f2328e404d02960746b204fa4510c3f97f25fedda2ed1d91a18a5c4bd8782ed0b1b5a6a3ae076a528907b652dfc0bf801ee1e166b049ce67c41ad0c49913ebce01956f12b3793f589ff23bb1764643db4eca6536c971c9adb98577085a0c6b8f0f4f4dfcdd2dd359c091eca8db7f66212026a78b5b7e58f77199c42fe06747e785dc144f52a851b55884e38a63518b8562c7827a62be6ebab9300286197e65628ac98dccbbc1057c38f05e31f219496338d1118bc78fb55ebd7f2d8d19ac1129c0309807487f8649bc1acdd7c54644136d38e78036c6621001749fa259d32ea932c6139bd1a72b44fae1d5a18617c2ce207d908e498fa630327a70a07c244d31015bddca61078c56296692558476b1470861df9c06fcd074069aba4cbd8a18e6d179cd988cffd93576951f30dae34f1b9e2b66b19d895982e47774edfd9568a76378e2c26d0f57f8e8176591e7fb91892869faef023324c58db087f5b1646facec76a7c61fb2e073bbc0124aec548ffca0dfb34365fdc61f8caf9ac8b08efd4d9a8c4965c3accfc27c7f2a5886c24c106e86abba40f660051dbdd65e1dfdbc2db10b39a43852c98a1309c037bba809f33d33e932f1725d495d08fa054c681979624284ead1def312ab94d0a25ffdc59e2c99e8b18cf82668d63b5fa28bda20eb66327533f1731356f0150b531b82032bb17bda0f25b50df02ece2ac40391ba68e7c308bb66c1fe1be71d2ca00a80e3619be1f1f7305bc0f86405452843654bd50bd2efc6fa33c25db97576e771c93298a895002940873e2a1d74d1557b8be2bea10c856413de0565c07fbac5adfbdc01b75a44b0d5e9b1d94548b6adefa176dac25aa0e569c11ab2934bca67a031110d5d32b11be26553b080b2123fd4805f406767166d19b6cb7290e4a264f178127bd6a5e9e4f9f00d49b51b6ec24e10eb426a525180fa9e84115c3c7c62210af2594905270b9ea8fd570a3bd53475fb5f49153e6de505311fd59b5bbbff6c8d2c03b5922a724b543cfe85bd7ca63c95b44b5ff0f44465f2cd81f14727a78ed45c0f5e5a3461aa62c74011c200a362361fc756349eb580fb37cf792421ec22b3dee506c5b27e298b52687b6f50393bb90f9c2b8b939c486ed559aa424129421018a430b914d5c648e48c2e580a30ff3e0391dd781311850814188280a67caf9a63d82bb38d95c6331cf0e840b3f171695f67e4984e7c4c5ac4017842f5809347c4e1c64298225b568f09ce3205d5277004caa36c7052a0f7a5b9a796c64506acc8e6658af2558f1185e34dd90b29375de3aff753e7043c889d1f035e1409bae39c79a04997e36512b7c898b90a1d47b387b1e5b39903e28e7f38841fa4030e92abdc2cb224662e1891a12164358402d68228e7d56e2d2ae168ad4921b12a7d7bf5eafb4c209f8549672eac152629b2d977f854fa81bf1edee772c11ea2f421ffa11e5d29a09f2a94b92d6bb4506e69f0f3579257c81c3f82c77ef5205848f7b4c02b186821c9d09037f7b4d4353728e3720da1f4db28f0b1dc463f4a11a722e60c255cbea98042265027aeea519a66d0217b1b99c0128a607efa10552aff797db939a966b6894bbdce94743d2c56c3d527f90f8435b754abffd63901fff0fe5bc64e92bc2ba66e491a76b2a7ea64031ddd27d2e997943081f19f579029fe8b723b76f1e3d7a0136604ea97b0e941a9ed882cd448ee9cde0cd15f5e4943a12067d1ad6aa40ee20713680e9aa0b0edadc4938b5e8eb1729fd26395f02d716926f79e0ddfd3f43f66c57e702b1122b3cc5a3f74f259d9157788c7deab7a4095e10743da597c999e62a8694ecd0f2d82513aaa2534ef9d242eb9fa7cdd6253064b72408f859b213df08c5239b92e4e2d08443ccfca1a99d8c99c5649984d508156faf9bcdef8ce8507f92f080c987c4f46d5b2273ba1b318eb4aa000eee295b2aee373a096aff7e5c45d46106cd472335edf70f0a8e0e15644e6d1a2ae124612c826ed5d16b161621409304d9531f38f257ed85a338a140c018ef509fc1723ba3800e52a4c42dd596947efd1e156a59489fe7f086c9cde922d46904be0878044186f7a712fdad66d625579b5171e252406548cd9b014aa202f8b31f6b57c497b6bd25d501f11f42ee6e107d3bccb205f73584e1dcf7d3a8b0a15288361269e4a87e3dffe2e3e2a889cc558db83c33fecbbd9ee11a8364c53e6d000a2b2cccbf17ad12181518dfbee77d85750ae29a3f62e551b00c87815794d58c9c361cb5ab2ef60f0c2132daf78bc0b2e94ab0463157078c046e2aa0333d619532aee7b4f386190b871e752017e8380cdfa3d4b0b0cd19cd8675f7fff58ce1700c4215d31aa911a6d5ba99e639f15e122f4c72cc7246c269f7f7ba331faa5732a61d20e73752eed29858d262f59237a45a3da803db74c076994983d1ba84de0e481d954a5960bc36f24faa7d0acafef091d61184956f1bdb0ba5d719dad1193ca5445d1556e06f21ed3da6518d70df2fe79032c6e1effcf37332d07907a2a95823ee995b301f2ee2be6e006c98199daa2838ad7689d2fb15ae81e1a5c993a4773f933cd4e31594af931488195e32cbf015c106d4bbe8637e69f19d502ab64b9037548b9b3ab7f9a7b4452ca0f4e04c6378ea6cc5a4d0258474867fac6038627927834d5111d42bcd006dfeba0eef51c2d69de3aa1d4511e21c82f443985473f919466918330a3b70de21c60b4b1310317945a3010fed46abab3998cce33acffb92f24184ae865449c0ad49fcc23541771542653778672296217bae698e6c558ec03cc825619441ce74257f876a19539151c54587390d3439c00001115fdfc228b984ebf5788f810996a0bc0cf8df3db73078a1d88fd4f2d43f10beeb93c4c36267d103b51c089d27de9a6d10699e8d6ebf3bb85df6d7ae61ef41f2f7313faba46b3be0c1395be31379cfe1668f1d818ee4c1bb87842f24d06b0eef4a5aa0575094c74e06f028988929373b45021fde4435026d0b9ab4618d02c14777fdae32cba68ecbec77a9c7a736e86c8073a659c3f3b8fe86222dd60bdeed78f91abdaa87f20424d8eca7269a8f85c70d1589e5200cd57b61c744a0cda5ab79183e6aafe85322b41299275e98628aad6973173d3fc556fc8a2c919b35b4f3bb5106d81bda33859ddbd0e8885b40ba01595f387508ad3b8e8f7ad96cbab0d9ef48c9499a68591683b23f3c95058db580722d56149763ea9257ccded7bc98355f2d8a37882b48e5aa1fdb4e9c557079e8a67ba0ece8d420f5ee5384f942cd4e795ed6237b97b0ec61d006e9f51a89e66ed62177be2eee05f3cfb32648605c43dd8282e4e0190af4bc1629be342bb19e0f19ea3d66006b4b1f0bd01eb9a9bbe61d7f19cc8a25baf8187ca1d248cd096cdf3901ad43967db5c63303587625394972eb12a28175687da628f6a55a50da50b613c787d69fd7c6058896086d46d939728b51a6d59286fee928a305157b6720480bde008d4482941196d5875d0a273752f8b224462d268a8bf105df2812f7f401f306bd9dad21977a09ce7c66a9f91de5a7d55947ca57405ee039aebd327dcbe879e40959c1dc640ae5c3a36ae82b96b1763e1500d08a0d73bb80a1c6e15fe03111549ced6f58fbb3e41bf47ccee19c2fc3082998e112e679e81e59e41b881db7484a34fde082950a3e6ca464c5cee114564527a2412e5c88a154016efce2006bfd5dd691e4709609d3bfa5b75d188fb0a554f4aa95e7c66f6c0c53f62c0dda0fdf162071fe09e34954f45ce46c4a7d443dbc67adbc2ceb1c2bcf3dad4adb7bded6cb2d4c41b144a5331307a9164de729aa6213b7551dfb7a225c080c850927d0376cd0edb479842ea81fbaf11b8189f9322734d7a1fe3a68e71744b1f5a1c3f760754094a19cd5da3a26e4e430c67fbcaca406a2753d87c13db4c2bb995156bc721a24fd74b8e84c290f21aaa2669fd22b9247cb1235965683240f4aba2a019c931b100ee840ac2ac6e8b85cfbcea76053224041b5516076461f4a8c32291729fd985afeebb53b79966c292e66bd20719e7db4fd132b1c9a8d7767b1178c673b85c9809566da6810715edd58d00c1845841098c9e7118092b1783c39016e6e0d96048360f3055f48a11f9b82c84476683c501bcdeda266ccfbf545184d7de633b4887ff603805161d76596fb5bdf03041fa0033777d326b8f245e4b496028aa432f93c09ecc9c029c53a5c542361f866ca2c6809cc00b34052c01be7d485e318e389ac1663d3e9a423344fa6e64d774c3a6690100b7f5ceb5d115062523363d23e48a2a7a401519eebd287b5903b02f4c08879c81341e20a44440ceffd0cc7c44af3f88cc5c7db05cdb6ce1d877a25129a9c48d97530892388c827b45023f684185313c034789432bfe2fa5d0ee15488c0221a80d6cc1d84d9928b586047affa86da8c5e6943345e82cdc596adbfde361450cf69e0055e2453813c72d81669a1a683b1247f18dc91032aa44ca9a517857adb78471ef90ad9eaaff6b87d8f5237bc9f4b1787570be8cd9172bdb49eb6994e29e87129b0e8fdd1cde85a934dbf673818660c0b6ccea741dc26980b26f41be54e149971df6454a731aad70fb98cb70624ea7dac7d1bb591d0ba5cbe2e9156704de663267a95ca3d0a6ad0c9cfe5802338981d1c14d2868f51325c4e4c5d95ad44436a8ed38d357095a55e50babcabe1f18588c8b600bf58297d3ac6918952775d9d272f64d448427bba64f44fc1f0d82ac0bbc7ac23d0eab038be40e814be1d61c000ebbeef1fbcb63e933f70a7a9472d03bd218bf4e1436527db38b5a7a3d01e5b6910f133840bc48d2f820b847d6e61d96e3322a7ab2dd3ddb50c06319c60b573df341a7c13393c8792127780bec84b4e41236a65ea55de413c6a41d807b56d87349f34135bbe5d2a0198de70c41bbfcc4775ec4eb6a2606d6cec702aa7ef8f990252de4ebd2514058a6bd6dd65ca822f114af1dd87931e2d612507d33a92babe52967533f768db506a59b13f33488e749abdfcacb9d8045bc91750de98f43b939029a094d1e727c7537bcd23b2ca0971269380bfeaebd7bd5ae2342f55675280cfcbb815ebca61446d6d2239382a654af5fa7aef90437a9867b3a0e67a4b3193af279c5a06c322f50762f96a989973b9a68fd4b9bd16696e1267557f0a6bdb538551b08ded7d902348a68ba85d924e622a46535c797c0596876497958c4a1d271fbb98e0df8ba73ecaa41e42655981716c00b4d2a81c86829a84419f1b599faf7f0bd7d13056361b220807c8e831f977f3f5608ad8eb28f1aadffebcea44d8ded681f6a4cc11fecf5a2b45d05471bb440b85c024f0fb4ae6834abcf983b8eba1a33ac8943860ca471cab6fd1b1d20eea252f554fd7ee7c02414a6e412f14e8c52fe0627157d8b8760ea406b05fe40f47f94f49fc5414cfd72cb427bb443eb7e7e7442db9710ebf8201fed3f7d1f69821ae04274310b0276d2d8e13d1421fb9c00750d4c369e3dd4923fbbca9f4ee6333ef8a399ba237ea27e625cbde40e6fc0696f8849459a70845f4345e225bcf6f4f2560d5b7bdd66df3293058a0d6681e7bb20630d53332a03f9eeaee554f61cd0c568ee7120857e62c7f189365d7b9340462a1438e682e89ce3add33cd952c443bba81ca402714a7e6cae035bb76bb6a354de96991276da9adf9fd451c0d93164f9cf17c06d660132bb3cb309a12a14e23f1f115365b9fa6b0466e04a7952b48f46d435b678adf4b442851b050a61f1aad58c172189313ad732fd33a476bb98f331ca0592b4eefd88600663be5d5c35102f077ee2e6bf5e574e5fec720a4286ce33b82f24d4a4a2c18d63bc7208db43ee42c31714b3432a8989032b6338a60ad25cc418e4ab76be5a4733013e5a8ce35b97121f15b30de7d847601eac28ef22b7d0343b4efca410b36461e7b009dd4275003ee65efa03ce50d5d5973b2d24b52d15375c6c304de3ccb17bc865de198a76f2a3055760955ee3b708b9b1589d31c55d36138552f5c7e5572d8af9c7d16cd199918fc33dcb4b40a79cbcbbceacc01ed00770b28e97843569354a0727882c1520e5050a50623cf82702884f288b8dbeef1b17250cd17a34a2a10486cd4ba9172661e62c067398ed7ba956449f4354960c9e223ee1f4f92fe7d79d458c7e3c255a981ca64572a6327d5e7a467e8017430b076cab8c1eb362c8dbcc7ab2e8c1d7eabbf6451c34b6af12f6cc876093353dca7090b0ae2df3af3b860850d95ba3f407350f11caf8a2070d484c57a7e2822df40e07f4d5f8073ad5088a25bf778bfe30ab3219a61f7ff5d75e8149a0314f1d1cbf0fcaffd6da3fcc954cc6f4c1bfeec5174caf4c46f4999fa6f50f4cabb3119208ae5b39495676caf3a413634ada66394982fb336ac9954161493dca27219cba21fa50fe665b1f89e3f22c0307e8860141ec17576ebd68c61ef115bc78877a11dc986e19825259e6525b6cc750738a5be54b43dc8804cb4bf45262713d2c75ce8e4da4d972aecd400218135f3ca0b706d6810737b9556d6ebcebe0b9b7eb576112840a0b3666d6c437ac82365622c8204f5b172f4f84a9a9e8f2fec7643ee665756b52da753ec2589ecb6017c101abf79f9d386aef1dec98934e62d350ffc8a18f54010ba10f0a1490c7230f4940057aaa43bd0dfe9a1f27f32219c97c502fe146a043e628c9e4ddfc55e14003e8a6c781d8df20cc684fa6c30dca799f68c9a7b0f33245c8977b0725558a9773d25e097c0d398100e82b05b816f5c126de69fc4ea5d303bf5cb4bcb19479f816197af0a7309c682ec195f20524615018b69ad88871f95b5f054214769fab286387c9ade9e43060feeb5375c7dfa7a4cf71e1cca7d77a9e68f91b99302ac09b19236f400502a32b4beb4d68a0652878d2ca6f5410ce3136bd3a80fba7e00ff648c32c26c75abf830efc995ee29328fd3dea51b61cd45b204f8042dd01dd79f84b96d9c5ca26a45a43c52a99ac228b83263b196cb2addae9a4a57321f7ffa68a90e055eb7c2d304e234eae3e8bc56e2d5a4c50e6407e301d5646edf4dd2d5add0dbaa2c420e7b0f0af6aa50626d07ce944842f870b239ac5bb8cffee8a9e50d0bf38f5da5f83dd1045d9ea5b131d457c3a903058b4100d13620a8d8fc770f956a1cd0ae5331760984db2236d442c85db724437abcba88c2e49519a6a13f3ba9fe702f7e4bd8fa1556e3a4d74417224b275b4a9f99bc67c78d5f387c1a60cb9177786d08e181de06f5800fe0d3d20434b4434dc0526bed289fa7cb59a4de42d3dc38748f25c4d376fe58adddb3a791b94a8eb5fbb111af72d0a599a41912d2448b03fea9afc5c4f3542334119f448fbf69bf3e97adca4fe76b3c2dac667e3d58e301699295d71f6fc13ba2019bd3c64736181162b2ffbc6e95b88497da492aa9013aa3eeee8926bb5fdabe6356727a94a37d0f92248e069e635ab7e44ec84880db723734f7d030bbe92aed97d31b25bf9cd65d4b8c4bc9902ba5de3055bb2f0eaea62e4b7baba010fd51babdd4ea911d530562a55614335652c944cfce41e3b2b8d39fae412d4a9aff17e412cdf9fc3f34aa1c6505602bb6a94fe4120e53ce7d1caef0a79c178be6f3feb4a530b8b4379b0620dedc7a50355bd360c70c510078844f1b7064c286b19b3140fa63a1f01a809445510938b1a8c79601a007aa70ee35f53cc02c13c36d1f6c66643fe0373cd790c6513e8fab8557e5f009b562356770ded257c5ef41d5cde5c47e10fb5341ec69fd147ae5fe2b1f6baf663206fb700ac297213e20286afdfa5422289e23b9efeb7c52a6072d1a6a82fff2a606c3f4c457cb35109d951c2e0cf4aaa3257d7b78ff0ac8ed6966fc57ba625bc94f457d0b7fd036f9b1c9d0ec3bab272f4cc35c1e5a9ba20c5540e71e075b86a395f8ccea23636acc9ea80602798c64e37e1c21182571cf1154c254801547352e00572ce9b914cdb3ac8a6a8b22851699dc7f63409f25e364e0350e0fb233e5d79f8ce7bae622df4d556aeb7a6cbbf2c06f49682beb538fb4401bd4184b027737f00e06647bdec4d74b554947add78fd323eb043a07e7bda1aae0473b6f8bcae9d8fdaf33da2dbeb675db6595e051d3cf71e8680f12f4f161e743ce9c693e31bf3e1e27dd328ca6e72b3f2ae5644f2db12e5acfba0cd90cdcd175a11d33d4286105aa44e7cea6b344ffff100e616b15adb7e84f9b62b113e46500029bb6068de681e19bf09cb5e45768b36c8523da284213939cfe365a2b19326c708a41008d384f225e4a2417ef972ba87cb394a16a8cb18a8fcfd423da5548483d55a0caab7b4b87213cf7300c249df8875d00eea22cff7ae9bf1008ff423da44327d649081aebfb21a37c1b75bc24324a5a15cff32d69a367df5c585fdf10004c69aa394b5ae6540f22eab91fa5e9f9f502fe757fee6dfd6f9cc5f9dffe5e7e313969dae88e189d5b03fe4f85ea58fcd00da608f4b1b3186b6643a4c7b0bdf4ce357d710830c5b5949f5b24fc549ab2115746986ccbb6ec126832e1fde662e6307ca0e853b27ce591f490c446a2368da6e7a93e7b117bec73d4afa44ba610d2808bfab3a5c550555555b3f73383f50ec33d964b83479273a27686c33bb39d4d1ee1c53e60d66124058b311edaa07dea4d5a876a418fa4179df2a8d83a92f1a144f4e0265104d214c106a2dc38e0db3afcb16b519cc05f018c524e08c0411e82bf746ee31bd103b721fd3c37de933067d2b4cc0801f63fa107be41ed30bb1a2b839553318e3674c27c48adcc47421b6c82da6176245ee63fa101bddcf1f025d94d85ac2d9120e5497b799044c0c63fdc31db908499715933a2476df7a63d12ca36f20fec89056082e8c8fadfb59f5bca91afa788641923ce30bf52146508feae272c383c1ccd0fd2cd01deb4e149ce01860e7855f546ada1cb51cdb50bc6c2507afaf541f6540ec303bb6a7667c8caa780c25d14250627e0ba565cb2d21d94de21545e716e800c982ed820fa035b256122a20a0aa2e9683463fa200d3b425ce891acbae342454d398f93b8aeda3c4561c4412de1f285175802fe7587cda372bcf526e0ce2b43e2a27ce844a143bb29e111a1aa6978c6548c3cdc3fd9397fc3234bf7fe22cfcedbf9d80da71fcea422d3432fdc0a8f97d6ff6b343e08a4c1b1c1d5b28cde8e93abb9b830b8e1f947102333ca8f8b03a5fc79b85db759bc5ce5881fd6cffc2828882a87cb0034bb34b610354de965ac6adc4d2b823f25d2539e071f902dec2bd9905cd40c5337c511b08b8c346d4e0c261149e77ca6531281c3aadc5c244987a73ac78b4674599a163728c29aa72ddb97749a80b7a15b2599742c1ac0d77940fa2af259ba1dbc381ee5529045fea2a5dd5cd35c08508d7ff651a744df5ada95e0fa50c9778f50a32aa48ad43ba65bb5324859e924b3471c27679c08d0be40c21df68e2a1ad5762511b41d3b70462336ea59b486325b9f695e7872e523ac0825d3cc04605a8f49309763615346134da97bc7a776d4faed74a3020e71b64d236a3437e07d66533c4fe9d446b4e250970b7bf0d5f965b8b19a507d5242e599ce527fffce730d64b8140cb231ffa63b750c567f626d7647a2e8b737092a0529a06e6ae88c69b5b2d046b09463f5207e324685107fdd85f9543fb07d6faa3d4ee0d031f6786317e9bdfbb6e8937e7dc8bc3dd1f10cc03f5d0f4888aae224cf1dc8c890231d9e6754c66b391b43e8eb38cfeb3da437609b7ea841682df19bc280798fe2232371300add711d1cf89b55fa4faa12dd6805363abd39415532dbbedb799da38c8b308e507f46f5ff215f4f4f4441c0b2f07474d95c0be5f158521889d676cf1a9792e12207c99418f2d92682f723d773bc5354658288cc2a2cde5769b28374f33edf0456070cca4941834b1a171c06ac2cf62c2cf028998d11e81b24fa627eed4e982678bfe1ab49901695ba15043222ac0de05d461586ed14d877f3812e60a44e21517727ffcb8cc6c305561274b1d84085a8354265e483cb495b9596da9f4bf4b57ca9c51a8a806023e105d44906e0586aa6a0ea009c610cbab824d48fba8a6d3fc3b1da4034da9e0ee88b7a229b1a2459dfc4b7067e001ef941db8ab9a4ee6f7ab13c683ed0e2a3368388c0101f0a8a49eb93c2f99247e0dfa9700340ec5a84a3762f118c29ee1483f437a47afedb1ede74d393d5f14fbf0850501b39f52b7848fb0827a2d9251c182391c87117f74f960493fedffaca2044724a6c8914910afe59e0c00c163121c5f5ebf9854d30780004398966e45a9470bec013d253aab569e02031d22e8a94a17444b06da299d71531421e8773b99d5d5b2f8211937ffa2fc9dd9a0be210c0ab4526388874d76c9dddd115f9a50f484075a519db7d64a8343690defb05b861a7dd5b9cf5fe566b375250c283017f5431815777476627ff13a2293960d1e5df03b5dd7f1aed7d472ea50f9d4da4c19d9168d4a4911b797649ded6743ce90a314ed50bc6ccbd5b32a94c9910e03b2b33b97878d05b396e0fb862a2e731b69445505bcc1c65e2490119dd0e46412c2d9f2c753eb16b9628266e1866007d0a7bf8f898a1a5982d619062d0dd3f44974cc861a57a0294f0f79cb20186fccf8e6b31d3102ee0ef297ac5cc1194c3db2919f65a1e1530f780dbde3de75d971dee64175230b0d200420639e8382c3ede3ecf4af59d870baf1dea92d1ec21a0ddcf541832c645d3017c6a19baa7dd3b3be9eeeb6e7bbb3dcc79468ce9279e6ab3318be861052f9b06255a13da112b648bc9ffb2fe1843a0cc88f9421ada54c44082fa82e7ad2858a1eb9ec6a689463ac99b51a5a82ecff97d1d1cff6a36a583b74e566bed01741bcc790cc4894cdee0542b4707d064c50ac5aef8f28030cf711ba7354e38c1f516485d534995a9851dc71e131c723bcfa270c4481d5d049edbe0646983fbc286c9f7a070da20485a5cd199c4bcaae4a2e14d42c6d2c11c06548e7161780f64b58d60106f388ef4fa6272f0a9f75375515e5fe05aae72f1bbc5af0acff3154ad13ed83666a3bff3c83c9c8c57426e66d04b02a911ad18da4821da60cc837352f92323ce7dcd86bc147048fe54f06b8313ac40b4c86ac3b18ab190ec10c01231a7888f9c8ac1783a043d3620fbcdb6f59bb34f731ed8619464f79f7e656357a0de560558270caa31805e38688372e5cd1b0b5c58179c56ae2e6232b0ef09849975eb9b1014d2e06e6abe98affb660a244303740942a617da9016afd5ed9b0536982fc3306b65423c09592e676ea4d484541b3a15a4b45db4eab066d2a1a742aaa9830b4785ed4bc7d603e890841662a932a80c7ffe6ff5ee9051b828f096ea2df761647094f9fc9455d85b0b3a96bdbd04a8cbde460a9e6cfc4d35f811e18463c4b7ba770fb719575bf617591302227366d45aa3405495d9a77edc4413e6234b7c4e0378a10cbd4cb5f41c07a5a835e73731fbaaded048eb8415e66b849145684b70f10a0f54e3e289b04601806b36bb48df1d13ec90cb94db6ff2f1112ffbcb17b2a9d52fc922b71fc61c51c186845b5d5f3b787aef9d173ead97939ded7f6cec454158d9c1b726207410f93bc7a3e8b4819238922648ed0430c1d4c65a862237c59817df09a7d393512f6e71b39ee3988044b4d728018ec9bbe2f22dbe94231ef690fcc6c2c3db5612aa82ddeccff47a47a613b58285b533b870e82479bb59da78213a02da6b3b58d6f889156ac6c14e72f07259f61eb9daa9a8cc0df38aef91e9576b9a6d2cf742d31f82c262bf45ebd65cd7f0fd86929cfec5f9d921b1dd79c3b7baa35fe6bf1f62486ed6d445de965d402cb64e7a7eced518d5d4d4d87cf8a09454a69fc1c94b7c783c5a05d9084a9fd2d64d041d2af3a4bddee1dd878b856cecc173a03365a1b812dff7132f00a14444394d2781c2ce7dd1fffe977f776c71708ac8c66d56142e6e05554598a29b1f13842be99dde6f26447b7b42832ed2f889d166330eda9cef1c3fa26c8e1a0e85921de6c7865bc282053abd8406919a6d467a896fec6980cfbbb9467f2fc4da66da252e933bb2676aba6b5c2785b5429fd8cda8aef619c6a00cd36d5274c75d1704df49776e1506d94af895bc7728d4ca6cad562a4f53faddc46f0814c5e6c3dd3c3af5d331e34d371d945d74b685f046cd988b9431b3d5739b7e15aded2ca4c7ed27b9d4a9fd16dbb1ee2890459a81aae50f6db757d8557e9452ab47021777df7bb0f6e7544581ffc24580c912b578b78ec66700726b9aee6ea923ae2f3b86a19a52b86634c81e77147454f08f28419d00678c8b1a995d042c1286738d22a033c71ef2b745bbcf903e5853407146ff4850d82ea8b322eb40593ae04457805f4e054f19dcd9ca14e9f18c296f8a423436b5d5c269509b25368edf3dd575a772d4bafd81fefca44975a61381a6259a654ddf88775c67041318056cc24c56390faa2d1e530557808608b1f92da8d115805f4246e4c02492f05174afb936e3fb073c093ed34434bbe3001c90ac359a5bb7ad7c5d31765ead32775c226cee1915fc566a144713303e46d4ee474014bbf212b295c0be5ff7174d35e96db331afd480a8207fa5927c931b90e44010bec4d12832cc545b0d435c814c8fbf83ad005fdd5833fe2d54dad9cd35c7075470755a16bc6640f1c969fe13e7bc94565094e1e45b93c0dbe3f05df5d15ebeebaf495691db2284623cfb90bc5e67171bfd2d98891b53733f1a357c9bd8f0ad3b9adabf771648f10fe6b8b679814581321a865b42adf7bfadbd797e7fdfb4e53855a661bca75228371a66d48c6e7b9ca1600b1fdc078e318dd84b1d60802daa29c1ae175968401484a22d41d5d5d56c220780e73dfbce4ecd5c711be7c0a710f69908bf93269860decb81f5ec77756796b8578032f94110eda41855cdd1cfbe4ed92cc279467736060d2f83f7c7b4e2f754998391eabe2c2177b16fc21051ac72fbd57401c15a9033950d3ca281ad660885c202c58ee438f244185833262a0811544a722629963c4df152055b0d1c43f4848c06f70ff9245dd7dced5d5b5b03b665b9fcacad5a8e5e60651c708d022a591bdf7de7bef2d534a32a00ba90bd10bfe2c9adfec3959662ba60b0b0743eb783b8ed9dff79ee8df227bf0debd1f2c0bbb8b1ebd163d7a3fa278ccccbca247efc1ef44aef707db75dffdf7d8f90adbfdc7f5d8e0f7da8f84e02cf79ce5ea4888ace260cb41f073f532ed1108ef3a965df79d7490bf7b1e01f5fe52daa3f74c02ae47ef59142281f7b247cfe57f7e2c828d355193be43213ad6ab0eb207edb309ea6011b4b88b38e645b1da8b9839e628b6040c4351b410863f330cbd54fbef517b5e217bd02e8bd544405fe4eeeed3dd9b2f8e2aa21af72e727777777777ef98bdfbebeedeb1bb77dbc5e1a226b94feb744e97d3e7ac608fdad4ec244d6fb6c155d463f3fcebd2e1b041ffa69775e00e7aa988867a6ceee6b05e51aae87b244903bdbf86d41a663e7671d32b4f75ebf58ad97e36d2a45517c99130399bdd9f1fe612b2efceceeece2f568b5f2bd61cb2835eb99808ace5dc8f7ef5ab5f0aa072094ab0ac64c2085c2dac5c82124b581e7123ee65a9e39f2a29529152e6f01c52ba8ea84093907028d06ffe991ed97b2404782d70b2e04beb595089d7fbf03fef7de5fb3bfd7588eca353b2dffeab3ca3f1a05965d356e2023affca98e6a9f4c81f8a2c6ba09e8b26f9f3abb064734ae9d591bfb47346eae8147e4ecc11436b7c25874ce16fd95a2563bec2319029fc4b703ae01ff88a2c719467640ffc33397ca5e58a661566607bc65772c484d8ae311597853a50421264ac8a954a404217642cfff7041b642b6c77053a7b4d745961bb3b01d55c9ec2f28f6059eb755961b5ac94718a8301bddc4a4541c6deb020c551704da057be5aa97797239a5d955b272a1f87db51732ff0aa1596d052b215a2fa28814acbdf4ac997fccf8190afb5f89f2635f6ce7df1b8e5799ecf189ed665db6f82cd3245fb0e83e0ec7d6996d9cc660c8f14911e7c44cbd7f6445605e98366715ede6ba27b9c71d663fe425632218420d859846a5ae5558fda370632eb325ad963734a488faa33f8509921d604116e6c134410f23222715e9fe8e3ac684e0d06f473d993bf8cc346c622eed875bc13df536876f25a10a3cd3ecb387b225e60b4d9673fb6cf36ff2c86fcf9ec65cf7ff9c6f273f6adb6ec2a20c8d4f0ec9a266522cb71f47c1a7dc0a67856f11f4b1f3d9f46954f3db28a7a5f6c8ae7ca343df28fed3fd1485481682bfaefb9c545623a32ec0322cc5c127d590c134b28c1f2b30df3602d054b58e7229dd2aa0195f30572d49e4f3787c6347c6ad289e8921df1ab23a400027bb9b53de14c437f0ae1bcca2a1e79ff52da98532c441cd1d001a446f7dbf3c67d5759a580edefacace254eac5d591a8b4414114d6e8928e9712a73ce504558081bd9cbaf24547ce23afa30770bf3d119def9efbed331224d07fe9bec6f6dd77ade1795a757cdef33abadffea5f47dba971af43b5087c993fc4be972eba5b489dbd327c2f35d4da27b4ff79e4f82fef6b2f475b4f3fca8bf7b591a751d3d805293277922489230b9dc8ac0e7bb6fe9fece87bf89a37eee41ff9980a0f8523229f9d09b3cf8a3feecb5ff487c92708b5dfcaa017aee5b7c00a88efaa526d608eba83f04c2b5059b1c379c4ca692c98340262f25107dcfd3f78444e929252fa510c96f4ff2db9390882fa56df4b29404901aa524baff3c491d699588cf77ffa93a740019d1f83c0464e95389d0622f38c30c66b032994aa3a7f0c774e9f33b4c4a504f61f114762128084214a280f3a921d8feb2789888edbbefeae8015cf2bc2c75bfbd968293972eb738e5292a17708af394110de9291ab74429be943ae24b49b6424065290130aa922cc912972eb764d0d886d015911ff672ea660548b057beba722c9097532bc841eb0899c20fb3ccbd8569f3fbbc9f35d33bd5b08d766a9257e6d123b3901eb988f6fd244f5017a77a54f528f3dcf5e2c83a31c6864631f9c7f61ac7342963219d1293dabe40d955d9c4442fcfcc185181664ed530d7708b0a61a861c9dee97ac3d720621bd02cc814fe2f58e6160e28738bbbdcea64be97dee12f5a66cfe044cecb891c234ee418712207c7891c1c4db56ddcc771fedb74e9b12738ddeb3ad1a553bcef0871928ef095eeb9fae24a529473e9b13f6f6da00c396edbbce7b8f7c4237af45257a7ca53c0d07297265d0089cf39cef28fee39dcd1af1290911017e8d794fdfe6af5e82edf01e5bfded2541a109cb049d99bb160437840247339c008aa468066cae1d891c609353bfbb391140a480e10239fdff88d3b413b56aa7268bc5e950ab389d99bb19cb081652e1b9a1ef4a005eb9c921e9e22068a011cd466559882ccb28c358db7ad39cee7978531b84ad9839c7f3316fb0dcd5a19cb0895ef040d59c9440a7c5829f999d972db6e4ae578b92d7b78b204e5e9610c9e610cb7ecb3a33dd796d63a0b63f06f9fc19ab4d592210081960881ceff405aa02541a02322e8830fd624c0a72f4bf3655884e7c13aaa017ef861d5113e58475c1fc025f065a9436bbf3ca5dbc5ca423163b940931f18dacf3663b946be92b1644a67b02167b037637995f237934b295aa05f96ab0dffed33560be86d57c68ac9779797c0eabd14af84d9db2e1813816ee2f5eabd0f6c6cc66a988bc6f6374ec6bae19ac8b65ff2a7c84088ec8d05d8af5e7e4f7a0a7f2645ef37f1252302f395fe4277c3c1769b6cc7b48b2b01cd5a19abc75601bd1286c32f6ac2d1a479c4058bb990c0c1307c647a2fdb2541432fcfd857f5de45977e594e93f299ddd9598a2e21d7ec91611e8b13fb36ac5dfd6a9c9220f4725f1ae29c5e79132c258ef83593d72b66300695bd9245ba3266841363e841e3c84a97244ed684cf0303c49f045f0202b68b97d207d694217bc866adc100cf11172a590d1ab3d628c26b8c3d8ab8229a83cdcc2841902645410d1998d60754daef6b1a1a2bed8c12d43449aa7262acf41925b0695295568bc3f7a14c1439c4d70fe36409cb28282d5ab0ecc103e36409ea3f634897cd1c85e92d2d8b2c7d90282373c6f3f93f2d84c13d43f6c8c50127c7524be226819427db121b2a7b0469b88a48247d68178f180660b5bf9b95af69da8b910d209b834817a2cb719329dc6b3f72af691cf7dc6835319c03cd9e83302a15a41995b10c8a65bcbb7b942d2469e3c4131ad0e69f3db62a7b818a0cbcd80eb7bfd1fdd561bb47cf7baa0dcf8f3dcadffec4c4c4c4e4c4fbae7e45f9bce40db69eff3c62dd80db233c55ca16b7ebe7f9ad7b8f675a197a2a080afd27fa92abc39ebca6e2473f4af19f15afe2bf9178f22b24604f6e66472baaec71542f0d7bf2a3145508141bfad09388ea7d41d9936ae346f7d7e437e0f6889393bf2ff6e4bfefe433f0624f6a063adf26f546f7777ac43bade74dde431c6c9b7e2d825f22dee028402289ff47bc00b8713910073944613d9f8117eba919e854170e260420b061dd400aeb3d58a51cef576f78f58709e68f20fbae6e551401475102d2150ad6bf084ff15969788a56fd4a160d5ff1956ccecfa4ff08a66804d98f60bebf11be9255ea29f25de4292734a0273bfaa5ddcb4cf2e5f2941b4d932f39963b6a2a745af9a25ffe27994351da39352d2c69ce7beec3efb7cd7dfbeebbfba6dff43d171126668a58eefb3f1d7870985479259e0ff51877b59c753dc685847f3dc8a7759ac3bed64a6be8b0153bfc8a4f25c56b27a298b93d8bc9d31dfec3c37b5e7c92dfc4daf58e9dc2d5eb47381eeac9a4769e57f2373cb6e43fe93ad43b59aad48a7a276ae43015f572a17aa9a85e91a75ed17f6aa782ea277cfa377c4f49c97b7e451884f7f44725def77ddff77ddff77ddff77ddf7742189f0c67903c0f6028b2ed138dece1070ea401b4571945a2219ddf7efb96da7744968535e9f3da83200882a0112e7a1272c3880aa0706211564bc8cd90f9036900ed1b0856fb0de5a98c5b9ffad46e352b7ad10ae727b0daf78a773c860da0fdf69fce8928ade7cc9ad554cdd4444d1edca9038e5291e87f8469cf03cc573c866993747777777777774cfae043877006fd0f009e130030c5bbc151d80cb0e560543c561bc7836ce927b4f73574fee4a78c157d2d6e80e331867fffebd8613b88314254841219026a7e04a9c192d05673216349bd1ee4ddc669dc87f7b05af7f42ff71e86d52b3f02802fe8078311206c1f1c47e9562203373463594d6ad248ced0901b226243ab99c99a09ad402f203a0b02618166d5c61303f942da7e8f125cd3609681e09c600dcdf418f2d163f3cf2f4cb045224a57b386663230cb40268220840550eaa702b0a1d58b7397ad5f0d13411002026f6c2002152c50b502d48d0d78007a3e9b1a9a996e820d2921c7feeb19c2692e5095e47b54b63f548399509c294f992b4fe9af459a04ce709d9308ffc7328ba193e75b3a746a12b74894fda786667aec2f88a153c8476806aca1530d85664233211fbdb2a2d4436064a121bdc22f99c20f23c231cba1954c09ad3e9b1ee74b06f6a554ba5305320866dd437472c20d3cc2254093136e28029871276c0053d0a384f46103d41303f922fb7ece3e9b1edbdee0eeabe9cc39fb4eb2870fcb573eaf4ee967d9ae05377e282f7a663eaff67c706c7f9eec423130e78e61289602619dbac25e1006c25a30bf6c6380fbee8dd8c6c1412d172a02b638517e562a4f59bd56af542a954aa5522435353535b2a6c63fb14fec13fbc43e9fd82706c64253c8239cf1d41bfabeafa51c8d68841e1beb197918869daa63e43f7a4aebe83c7d08c8d2ebe8d467a14ff210902592aa83f3947e5aafe8e42f4b56922592bf9c7f119ed2db8755878cfa527a591af9c90d688dce6fdfa9402ef0634444e7e9d3ecb90424fb4e05c23d579fd080c8e210993a11a01f7e8dd097bc7f09fdb0eae012edd411115cea3c973abfd5a9f294d413d49fbdde1219dbab19ab0222f4f43f962dc99ffcf558265f21f9fe9218f795938729f9ed614c3e1447fe27ff5222114948de9fe4a4ea30a9337c1d2535663b1437717e5847ae63ab230fbfc6f6a10e205e6b844f52758475aab652283f86b49f26c81efa43339f8c67a115e7941375a118cce3e3ab770cbb7a45242150bd94c67615d9d0fa41c23a5a21f3750382602813f60879c08431b643cd931f8630c219dbefc3760fb084876dc9957cc0bfa711640f06e819ce80662fbf533f2a4f91f5b37291c46443315f09cd78688652115743b1d04c28168ac1666c7fc7796cac88adbf77fe49770765d775ffd53bad484318928630ba199df875ff75cf752f7b04bfa5398e5296a74c8ee3de9b25b0de69394f08a3f3c850087ff94766ca9a6889a986623d7aac50ec8b81f90ae845a948f4ff7ad91e11b17df8614d229473481221d8bef33a3a754444984449c7f69dcff40059daaae7c1808c8e70e9f105c2423110168a81b050cc762a954aa552b6bf03a54031a018500c280614038a01c5b438907e22afd5b2fd5dcb33e32b24359ed24f452435a3bd1ed854cdd524325d5cbd217b674ad69ba303f245c864fb3f8043afc7f2ccf88a2cbd943c35413caaeb99790fe62945a856ef77527966726cfff53c339512a29aa9eb49358957e408091c3df6cf94670684c994fe99f2ccd80661b6df43718c5ad9fed9af03ee071b116ccf543606ca2f9f687dc640a57d22c51f96a0f89bc0103e66193ea0ba34125e48450187c612c0ca289061653f0f0c09be64f2f4fb3b2868e7c317bd4923a04976d0cba7d0cb1e41fe355c43c3c3cad0e765a8de1ca0ff5afcc666433bacb3e73de2fda4fc0ff37f440fbfc7c3d6d9dd49c27751f45ae7c3357ce253ad6912d7d05faea753d3748dd836b287fe8fd8403e0c0011bee73d461843e4f1fcc7e345f9d20766220b42ac64a2d5a35ac9441686d8f79546794aff8d067a0883bfe1d0a79e61044c9efe09572274b01950a592e79289483d856b944ce9ef705fd2ecfff980fef3241dc220f90fe4ccff09310eb7a0ca2760037cb6ff88da53914f9ee2a93c237bf07c4b3b043cdfe21e11445df069ba6df805dbfe11f5466c3f4a0b2868f6da6f12fc3e8ee33e71f741b8295392047a590687364a05f4f60975c4f6a94957245ad1344fcca83a1928059f2451ee49f0281d941e5b6e9f0cbd7a9398b1def4d1dafefa7375636dad69c37f233267a4143b5babebfe6e2c7ef6ead8a4ae3acff808fff2c9f39769407fb946fe65d4e72f0711f23d728fdf236743ee39193d368d1efb871e5bdea8b05ca854966fdb36c92b6452413425a45ad2634dbadbcb76af7aa5e24264f941468f34543664addedb421b50b677cef8a0dc2908caa68633f998e921633ba68f5825e815a97cbc92d1a9fabda038bd5a692fcd484a4b6dd2132da0626d78deb7ab627f13b997d53de9a2e73dbf899e9721c9e5eaa26249def3dfc6ea15e905d4566485b3b536d816e36036d766c4f64bf622c06fe9ef05288a3457936c7c5f276664a09f4ff7db83bef3112fe85bbcabf73bd07f9fb0e33a1dadf5e944a9b9a476e4c39f97ff7d22d87916f3bb7cbc971e7f22d8e970676b75fe6eac8d48c7e4c10a4a592fe761033e0f942f452d463b1c887aa0dfc4cda4c5c40b0279333ccff3b8928fa8c53e6eabdce7e57b38e3f35b65e71e47db8f879d104618fa6ffe9db4927b41392ace926f690dd6241ba0a7dfffd1ff244856ae5decccce837efbf03be2f621955c8f97635990c8f6eb889b0d8f417f63163df979297ede45b9692f10ad1aacc7cecbcea64717f9f9e56f9dbf2fb6f3df9682e5f16f2f7603c5eff319b7d6477eefe29d0df084303a2f4517c9e2ef885dcd46e4d3a56cffe7bbaae25bdae90c9fe12e9f3208fe4ba913b52337fcefdbc4ce7bd9241ccd1dcee8bcf71ece78e9b040b7ef3c877233895aacc70db4e5ef141fe6df58e2460447c7e0e707d5ce79daad9b5d8d573b94166b52574b5b0ca88b6bae26c98e57bf0976e266a2d49bd175b6f03bdb6fdfe242745b48e977210cea201a06d1bdf79f7cef997b173bbf799dc7261950224edea42621fa93ff88d27225a26471fbd4cb9ff7fe739013b78df5f9bbb13622cfe27dd9f82503c13d6fac2679de6b210cef93210c2972bd9d63855879e37a459c88fe1369b04640ff4ba9a53fb085f408ca10060703e4eeb9e7dc4b31091e1919a887cf9d67883bcbd99d08083e5875802e7e60d6124735be377993aac3e43f93db38fe2d6d028a0c842064a001abd4e2a28d1b9e28a298c3c7ab950d7bd80096ffcde0c41b6cb973acd79b040feb79c44d66a6c70ff03dd1a573464498fcc99fd4244caac3b497af6c301b0fdbdff215b06ab10d94433596edbf1a11db4fba0e9b31d2da8e14e1919269d275578f26dd5e6db02685dfcf999ac47d6f2cbae5d86e18db1a91268d706c8f2417b3adc5b6185fe96a644abfa8abe96a6c3f0dcbef9e67d145c56eda4c93b493af80bfb2ada1aca85525152727da262b45e294e9941813719a448f71f4e42944a8ab49feae26394edd589b0bc88884e46528e445be3a22a91babb411e9942dd03b675ebe0c79e020a755ad04bd4af9ca8c814ce95f42a583f98356ad5833b2879e99335a6cce3491022256360185cbdecdca267884c06e53901b4bfac03635d303262811042ae494fa3fe692d064ad6c5312f92521666dadcdd5a4abc5b4d846a4df5333053876b4b28914f8b85d6ad634e96eac8d4584e4d3662b621b0a2649db42f8a6cd81c77e0d0a9e03bfe06f21ace9830dd0bffd27488f5da853c31913bf98346003f4cb3923e54c93dac76a09261a26c09c52aa21357606b1fd9263bea2320419f010020a9aa00458a97fe604f4f6ea49b395b00422e38808f0bf3f4995749ca44ae07f7ff9d425afb78ed2de17790a1436968ab41e3660b3f5ba809619c7431852d6932528779b400114964320fcbdc7e1b6ab7c022efb26c91214747ef65a3f7f6c63f9e8719eeca4999e0ae8dd5893a5e2820d2d17bdcb6a28a15b28183e310d07611e40b227c197b66e4d0bd5b0815e3e49179fb0f0b64408d4bf24b6ff5e96dcfbad8e6a6ccf3db7755fe51a4f39f10cc7b06916a1fc6c47d5f9c4954d59e54036a4d830933517844fbaa0f74b59579338221c4e962351eec76a04b41a01fd1f4581b7eca1ff8351edd9b6b86b35899d637144b896ac23ae252da09763a96c7f97f295f93174bee47fdd5996656b88655ca0467a6c588f9dbd640f3dfd355f19eb72acdaa5c0406fc6b16c7f966559b6864fd5cd81e1932ee8d65bfdf151c61fddbd1b5fbab46f9b0c8fe262e3c9bf7d9336ff503377bbcf99b178c72d847143bab8f95af4c8a9302701ebcfccbcc2b6e8917b175d5038eebf6fb2caa3d09676f9c1b2e42a7fc859e664b93d7bdcb66f03374e9c46d8a9ef4110a4ffd13a12c27bfa31bc7fb1fe9f187ee7c57a5859086c80efbf3b5908fc425a4e955481c57adf0f7ae2a65df667e9da8829f7f4ba98150a28601f00ec8025d3b215d01553bc217f640ff64af69dd2a0ac2a49a0df59825e79c3002868a080e1a905139b616582e11e200e3073151728a3cb9846403fa7037ad91423a7e45654ca110e3870b841654f2852a48bb45eb19819821c6915e18c6830da7c89d245ecf72541d343ecf6de452ccfe68c35915bfc3b3857d7d1a8066a5abd5dd77520edc468ede216b378a54aa11620572d5522163a47edb9968b6b69d34eae88362bd7e25c5c8b73714526d7ead1e579fe24667ef9892d4621d0af4525fbdbab4ea7f39948c3533cf5ba7411eb7d572205eafd1d63b4a0df791a1e8ec50de9f1fb30c6c6ca622edd13d966b1beb10cf8917d4bb38c2d58ba6f22ddea2296c5573e1fdd37ae211898a29010e8266a52f7bdb11acc81b2feccb366311c7ab956cc0eb1fc42a80c4f6a35adde4d88bd5cebd21aebd5656365cf0ac8eac85f96b21fb9ff88e33ac776773cb84d33a2025c11ae95a22dcbe2365ed36367b1b7fd5a2b8bf98ad7b464b2986d2ed8cbb5bc060e347080a1a81dfce21e8020a926dd4c3a61861e4df24dc83624f3e1a97a655b2241adfbc431adb7ca4a7e77704b6daa4640bf870bf46e29df5232d52421364d92a82de52b5acd64b65eb5c7711da5a96c4b6532a94ca68d489b2dd5636f428ca870524550446a869cec7633d3052f82b7914cc6b267d3755d97637bf350fd8a312d7f0c2776e3a9667b6ff824ca6519db2e57ee3272f0086496908623b65f7647e10734b02d597dc4597ee604dbf286d2782b25cbf882280b72c51386c57acd7f8eed4761f9410ef1682f5168c7097ae9749476cdf15d0ca157c5552a17e3188ca3b21b7cd20565b9e368c4f6b7e0c0152ea46afa2853fa47d168dff006af020ce59728373301b1c90af48804b573e2983586e891013dcae821b69f017e5ae9d210193d4a3fc925c0e1c69264915e912d9b26c925c4c15570b882cd96d003355867f7d130dbd3cad8eb3ddcc2fabbb559b0768b0654f638448ffd3864b4b01afc97be32537e8af929e6a7989f627e8af929e6a7989f62aad50995624b61da07cd901cabee9632864aa9c23a83c8d8a8f3d286a09f607e9229bed2b0eaa79656a9feab1ec775b5b9965c8e1ebb3f6423636fa009d9c8d81b32d3f6e24ebf70b3560c6563bd8df4911662fbb3960706080a09be04e40505bfacc2fad5af36f260e65937ac4973bafb37ccfbd5b086b5115fd130ad5f6d84a5282d95b6394a453fb2647b0d68c7c8da26b6f9388e529168f44666b5b8cef448e70eaa3b4826d30f7a194da7502ef60b36be7db5e9f5bda0fdea51ce80de7e85e0f763d8fdea5758c1daafaf320ae55554561b859aa8866171f4ca6a933a66769b44fd6a947f7745b54d5c35bd7ca551a646f94a97813a08502fd9c35403bdcc92cf28961bdc90b9e6cb74d1139bd7f9d04f08142221711094fe2dba801cca999ba9325576d3a4eff9b35533f7fcbd6a524e5663f9257f8cb3988c07fbb8200c22a122961ff4a1462cbfa7936319d5472c3fc380cfea02058b90ddcc23fc5cc62393b1d98c650c4c7b9bd5330605f59aad6aa6ea9139fb52c21b0b3ee9829ac16565137130d95b002b9b30036a3a51061ed6d907db1ce1e7be5748ae52ca164d92cccc28279e611feda248c42e59385ca50db1fd19cbf8a097673ca5bf8409d4ff93347c05891a48f80ac7a0652a8d2258ddfdb2c24412669b6569c80d34e00e3837c04c1930068e1acdbe81d75153e6a81f7a6c1d2ceb13144ed045174739ca8632cc3c411004eb873c6ec7a14c9364c883411077ec310882a0d7811a067eaf58542aa91135bbbb1700ab11812038b1406f18632494017d8b2ea5209018ca804033964fd4762e63e52b8c29324341a8cc87313d8632a10c8f302694f97f97f94c6409eb10b2a59b30c3c9fe330e133927eb3d48096c8059267272ec01ac642227068bf77a5d5817650acbfcfc9d144357e288f5ca222ea36f6990163680ffc31ac674eefd20a9e04864e1e74e0a71c45f3919742d0640fabfa07f15df8dc43bede859bc8e52b98cca675427550d8ca32697c9535a2617f76aeb197a12d570a73654abb8d349c552b5542ed5cb5da8944be55a995866c6743271d4248bd0bf12a7441a51794a3f11d190ebe28794bfd372875758be282d4c5244cf258a3c978bc5b365b1542c154b65270ce682b5cb95c9c89864dc14c678088a3214ea843aa14e198ba562a93a73f98a86f2947e4dc62463e23894e672fd8b44949e388e5291e84394ba3a6ef432bc118b3779fadf0bda75467aec20583c7d1371a4c3eff0b4739d7cc5e3384a4522cdd50ffbbeef83d9fe4c46fc16c5969da1388ed2ec8631591893fd556956e8fb334dc6bb439fe253fc27fcfec90a3514d7dc5f1e9ec5eb207e2662a783c9df50870a445b1dfef3214d13b1296a1ce52b309acc1368b0fd612a14d22b305a13652883ed0f6f7ae55349269e18a2c3c7449c51821a8e058bfffca7daf83c8b9796c5ef20da40a2e44742ec60e3f33bbcb43bd4cbe24bbe4409eafd86aa5f12030a7a162215aff73c54c6e9f1535b880c28e83db1cb695194fba38ae732f9ef052d690feac4a25e1615afded17f45bd7f52af080028b5c66e50d04da66e313dd2abb95c4d6a16625bda890178902845e265f130a6dbc6de0d75bb23620af16eb12b5fdadd50e2dd501de3e228fb1f8057f12c3d3a41e70f4de27a0147b1b4641f803ad29e63fe41f232dce1a81290592dd0c266750075a4bd900ed2a411106d3b3e7864e00ad17cc12e6ca8e45bba454785e75b9ade849e24d3249393efff90e024ca12ad57861d65efd5a458175358ff587792f7ef3df4bf2eacd7eb9d7a645182cebfde89c6eb0d3ffb59bd9a1e63bac4f2b3d0c1f25300587eaf07cbdfb9b0fca00f45129141cbd90d65c2191b9e6e5873431fd87ed085c573891e4e8fb1eb89d946a15eaf20614ce8c37bb520f90b007b755819c0df1294bf2a965d580e797812509472d42126b4fc2cfe82b63eb3d8ffefbf173dcf05aec07379381f0b91ed866a013c0f3b3c00c4163d8e23bf4b0b6bf2b78565f12c1e85c583e2867216df2c7e64f10260f1010080c8e27b54828adefbfb2a1e08b05eb6e003e059bc2d509e45bd0c009347116dac8061f2320c62c57b2cbe8ae27f320cc27b160d56f1238ae0d33be27761a50dbf136f8cd1870f7e36faf03b11a40f8add7be208ac52bc2d40cfd53bfba2b43c8897da1bc6e820def007a8f3297e245e17179e0b4745f629c4d1fcefe77b4a9eef88a3291247ddb36510c4ff3dd70d0502df4bc42dc88910d9a3c9f725a1baa1701804fa0f92ff88efd1f4ca89e4f34e1e4d2803ba05e994f0c1ce0cc18f0a68c8238c69d2f77743dd64cfad36d486da501b6a436da80dc5c53ad3d69225d8101c2e08278423c215e9eeee6e8ec7869a2a7e757c880ef0422b44514f74a1a212c6cc0de5b9a4af744e9e723ad5d4a050a9944ab55ab1c298934b1f3847dae6d1a422473a85896dba08e71a592232e44648739097b34cedf8e8b1375418e385319e8c26f11644c6101b4a14017debb9b620610cca57365418e32b9e2b3c792e94e7b2dd86365093c90e7ee91d9d713650b46786d87e36424328d3f3f9480f38ff663fff237efecb32ff8c8a23edd9d2ff987e2a1d65df79b654fc7cf46522106dc3ff9edaec45a28fc8d18fe729f81ed03d9f0f1da6b9d3ba8016e4179529afcc4be9e7447ef5d894f9d53120bf625e31fc6a034d1b604e5c0b44a42b595882d8fe1f442b5ac81b1102fa4122a097a321820580cd893f744a0559442c528e2c393839373c6bf03ae17076df7220a105bad1c8e75ef56ae529fd62d8196878038a8109cba1c981f1c220b99728b70465fbb9078c1ce24c4d150ae8073cd081a9624e3227d6f0cb3a5553c84cd5a9a2f161db7f07bd33c5b98097dba68aef8b9d42a4b38b398a40b50ff49cdba72ac7a6b052094cc8d85b528342bd62826cab6dc8564488cdd101f9c2130369807e8f12b287ae41f07d589e1acff622f0a528fc5451eda0849ed007e541ef4703764cfc2033c81ef8053334536f5e202af547644191613d66a31a3ac23a1ad1b010b8798110ebd2dddd1bf4923dcc8f672e410e334c02d70d0c6088a8b06006831e1d130c541fcf0cad9a14f7c5f2b77816aa29959a9a34c06c1ec505a731aa49ccdabfcfed77f859af0eef95ebf7f33ff17b0e95f06bfcdcfc4f04711d7d9e9fe4f3e1f77ddf87843fe4cf8b18f4fc79e6eff3dfa7be7f1efc2c1c627bd067ffd59313d0e700b6dbcf07d5131ad059f94f5e8633b6ffaa8ded41d546c94f1c999d154766b7ea250f864a2a0f15875beefd67bd3b685a03b87a599b5d17c230619bb09b1ffe3efba9d59b84e5f7acce1ee77ff553af3f0ef7e71a148a07650ebffb4fd2085f827e8add7f44f11a6149de398a23cb420748db24ff890cb2f335ae64d3ba077f5650b5d17dd8d5f023da981f82e6cbf07b29772821a11e91da6fbb19781965994652b71f814273c57fe2952afb7d26de169b653bf0f03a3c1529f7f6fbef351216b9f23abc942b3bf0d071252fe5c743bd2c36dba123bef7c755925a3fa3df483ec5afc8b2ba01b6a011080a431f86df1786a0effb7424afe23f21f824f5820f63b2ed42cf2f270b7e0af1b61861c1e71a2d8471527da02626154766f9c60242cf6110253634b9f023e9425f2814b211fa108a0b12b1a5c7216a144157744e92eea5e5be440cd5cbff81fee2c8ecf78922aa9980f27f7fa90632eb36be1677d04f710319886d26c2e027f97c3e33405cf02dfdec1179c48e38c377b04961dd4066f9c1f707b32c8cf1fd8d05d4d83841efbb9c4d406105f672cd656de6b926bca1a13bfcc547219928264365cf2f43ecccdec6ceccd2432a569fdaa6c494cd7836e303867b3613e3194f31792a734e079b18866368a863b2ea62cbccf84acf748f19b39c99ecf5191e6cea1a9a3ecd34d80529c0c0740107d55901cb5f2e168d1a2c2238451ce6b15aac168b488d160dcdf3348ff57d672d8d4d0c8303098fc7e3793c1e0fc7919045e44a96cac79353a3b13c162b64b98975c46b53cdab61d5b06a58de62927ff6dd2ae2bdbb3c1e15eb39f1bcf415157f3992bfc7e4538822b11339719b99b7bc55a4c7aed1fec4a4240422e97c62d067976165d77b642d2f72e5901229258b257d6848d935ddacdb2c0ec462b1582aee39671d7eaacb1081e5d7f3353c1a2c1a9299c552a1cc624a278bb27c85068bc5aaa1e12b3d852cb0bec02a038b55a3e2e2aad8dc8800d6d9e12fbd835f5a4b318338f0a899812288956ab0d2093838b18ad5b460b02239ab21458e4c54d8d293c5db48ed02393a8d15cec2554c9be411234accb40b649a5320944ccad3e9132b516f2f21479293cc4a88edd4cbadaf099e05dbb015af565600d2a695c7333f1cfd506e769e59f4baaf06315e600c390b7e5e27fee07ecec96db01c98c75e6ec16a4c3a7fe302e56a677f455c9a7505932d035bc15a460430389dbd74e6f191b27265a51350dcd8d46be572a501272564081be1fa443ddfe93441af5485deb7b48e5e610e86f2b01cebed6549fb7e19349028a265ce0de4d87f2a43d63237e8d12c90639bb814d0cb2936824db9fa9da7e0f21559e2942be5f2154eb9609c9a93fb28650ffd4cbc2ea3053b3588f102230cca594f27fcf1bd3bf7792e1c4ea552610deebbaa6324b9dfb840a9e85558566d7231cbd6cbae36ddd0ec982f5c864fbaa046bc8a4803caf64b0087df3bac91bd56758c38ce0696698c2a9e52844ce997ad2aac6c2b043d63d2258304a7a1871115c8e11ee0e771e8f586a178c495aeb01bc10445231eac46f4d81508ebf50f8da8408f4df25a0058e97ac871a3af1400566a95fa87903e74e98a50ca00070ac8947e8e1a217bd8c2402fc718210521d84b3f17dd33efb8a79369e0f37f0f8ad7c5bf20c691ff8fec9939ab315f9a75e4956398070cbdd21585bd1c336dc03734fed2f31bc344c311db3f441761108bbdeab1598d8055b3981b240e0102cdff60e8edd5901c476cfcd8a15202e2d2634b6963036e8f902fde902fc50c84aaca823e147a165d7a942522af86b481de7e62043864b057f26a7407c7903432f6c9d331e6ea1551d1690df44ed38431796785efad50281452b1a1cb6243a1d033a049f2432fa349271ffa219a44f2a17abbe741e4950ee20a7113359163cd2338cb3691927aa928f42a462a5288425d52223b9d4ee7f35cef7b484ea4cb13e971cf640a57ae96d450f50edb6b84c591b18874dd652181be7b0634a9e4bbef7e88269d7cf7d25724cb86aa8a7aff8e2a29ea6591c1c2b252e917854422121389e905056f2ce0bfff3c04fda439113ba761254da7c9576489ebd706a3b3265403bd7d9aa799e24e923b7d49a856f13d0ffe98438c98ab0c34d0dbab8e09193265e52bbc9229fd5c7d02cee5d5f63df668b7ca758a4430689478e52b327cc52519bed24de82964a19fe56aa58615e9e63835e94e130d08262bb463bef4ac4c7cd205ed98696a5992c3cc1e3c36ffcf4b58370822e3639a4c4d621854934c268f26c99b25686cfff41173aa0922ef16c333c86626cc8c99a6f9d25e9ed22fa769be3ab3c97c6c598dfc6c46fac059937518d73fb269ea71c6c84c1829d0abbd8c64dfcf75dffcc87e8a5dfa1c84d93b654c9e62a453b86a2fadce9829d0eb30532c76248766936907d1f04917140d2736ad8c7e64fc2c62114d410c2c5230c14481c3f22d90e04bdcabb014d11ec6265d46eb0032a8e4f6dc33f7b4c50934843415abe2c208971fc6212c92255b1247731e5b6c2d3dfee0be39951ad0d96fff5f26570aceca2d4143f67256084108d98ee2260a9aad09dfb65d3a1a31225ad162cad9a3bcb180f9712842827691c89ecb51e78a1e45fd5724ea97330a98ac270c8d96958c21b67f08151737443a3774daff3a4798034ee70873b871b913294b39cb3f079a39c0f8129f7441af4874b2fd2b240a5591038e1c6e1a26c3488ced67401112904686b08a6804f46ba21128a05724923e487606985c12a9c1fc6d4411221a2e07764e0e2c8d05464c26e07a8c478ea8dcacc6ba6c7f66a3e242de6441244b671936c25ac21a8c4858c7de9e4175aa6fa4f30cb628e8f59aeed1332dd3314f41825b463a1abc0d2e873902db3305b6670f2480d8f620d8f6235c77c2b643c1b65bc1b673c1b68b41fa90c2ba8ded6cab316ec664bd02b048f80a735e2ff5b0821546f25dbd02e06a566bb4ac26ab916919958c5d7a320220a9570022f95bbdd4056d04db0d04dbcd03db7d03dbad848f4ee9a751f1a8d89b7188ed0789b0585939916dad6fcb8c46ecede602e53fd271a1658e7cd873a2c122e30c426cff10638b1f88d0507935cb328ab5b21a4babe0a802432f47ef38fa8a0cb962f160158738b8bc089f74416538753a038d4c0f1a7f4199e52527e32afb82fa7393a9b30f44202362a1fe1ff7f3c7818565f658440c3876d92ae2081709c40146d55901f4428b33efadbb59248e84c9237263f9a1f905dd7ee8d13791bf13595ad8b6f4d81bf7dec2b2a9a8c7f021b8abb2bdca56557a7ce15cdbc0b45bd5240acffaa215942b03a7798193afff33c0d87e94937706254d2ad3b2e99dce4b517aee8b9452c4313d9e7afd1994a064c7e9e1851a0f83f0dee39cb2fcb22dfd79fc1ee989949f8ad27644b6f2a5949dd738da08e8ef809eba835ecef3b449de739ee7511cff1eda24cfe7f1fce53c955e1cddd1f772d8ef5decbecf536f6cf6db613d1e3a83be8bde53189e3f153b2fc3199d8e2853f7c572c6d23ba0a8bd8bfc1e517e284a9f56db3c0aef3d4f83ca2868c187fd6c270482fbee7b8fc7e3e2c97bfe1355acfbca4965f1942a3aa7b85e16cb2e60288467b9e4e54b99ea84309cf31519a1ff3e19be5284c993fcf7819d4ea703ca149d0e28c4ded17b9d14d546e7c31442e017e07b2ade5f863352d4db36ec7c4b7b20e881975acff7a263470eebf16e12976f6c84bfc3ba78dd7a7e8641b8edbce769fd1eec541b339c41df0356efbfffaeff832fc306743ebc6dc394fdde6b785dc0ebd5ab363a1747f317825e8a0684de7baa7847d5ab23b0085f79930678deeb0dc2f3333cefde73107ee1ef5515ffd12f112fdb92f78431bcf76ac33ffc4e38837abc5f7155d45118c6f0bc0daf5e063d9eb762e451017a753a9d4e07e4206c00cf73a1b49fe8ef11bf4f21825e24833ba95f4d6ae79d0345d96388e4bd6ac3f39d07ffe2e8cfc1cb523f152735a02ea0053deffdf5a8e7e3af01fe1db0011dffb08222491d85ff3d7dae3ff49feaff75fe96fc55b194e4b73046e76d803340db790e54b1df872a49a7de0cbc58ff0f7d4a9f8630e8e762c6d6e3f17c4b7fd603ae64a8d4ad1377452b15a20100000000d313000028100e8884a2d1703c242b8bcb1d14800b89a25684569d084a9453c8186208210200000000000091a00d027d878fcc8e1d62d3214442c79628deef23d2a44bd5a5cd153241487e0cc3903dfd5cf01ddb29c882e56996a08c4d06d179be88bc338fdcabc4fb311c2b5e14e5e88ca375b4bf4b3739dccabb35a08d650982e902f62d95f53d27622c4c5491ad04afebb7594c41ef5dc376b352d6f87493830e91737621b84beb19f1d4b2202000235c4f19d35ab68fcceba5174fc7bc3610e2cb5c4cd2a3038be3a3dc17ef37041becf10f70f87c4e76f025e44a2541b5cdd8fa74633d8299ffd25fcc1f67217827530daf334b44f8a2773046fd2a5743d2c0b49ee21de252064d18b668197d2e749d2375768b6cb458f0fdb09e98fd3e3ae7ad3c637dd98fa408c2d5bcb7b4460502ac33e5d9e8820fe7ecc9ec042eb6b34858ba26548fdcad8ffee6fc579f23e66253bdd300415b21407f12b50c8784d0374050debdb1fff35f8258117b42c3f32c9f44ffca035c9805333255668510657d2de25df2be7908a425e5b73c428edf126af6127313ccf14d0e27b888336339da9c93839a1456fdb39e117b8c53f0b4adca08ae0e8505beddf91ceb0617e03dadfb616ccdbf3f4bd41f6509db42a068d63d0c4e7cb4a6818a66464f812ea1df00008b100942bca6a16920ace532cad455017687558982c59e92e1b72bc54a572e2c19ec402d2db302cf5f4f0cabc66f2aa353596100dd9cc907aad81459c1eb9e9c885e97a71afc6e6428e2b243384fcdb9aa5cc1ac0b42b86faa30bc42e33abd9662cb23fdf8f45a33afdd2bda16dc9e846667d9efa7434d0a240cd241d0f92f08f9d453351315db89f5c258e5c732e12e53c2b512f22a728eb18a54de64ff6d1f16a0bdd0c28ff86efc628ec0c8102361825e0ff1841b9142805fbf3c27fcc5b617779ac0f7e4431b467e013d05b2b55ad291bbca18b93d2234a5e08d1cc81d8e7023c2fcb456c4b986c2c7957ffeb461b8b65ab11574d72a4f7923073d901dd92135b7da314d0379944fb73425855703bb0c85409b576e0481a424e7832aba6d2d19650c280fb9c3513b12ecd49d4cb04d010bf75e021d1bb48dcf5d4e520012abe7bc15356690817c5cb5d4edbbf5ca865c77cfe7aeb75c615e9fc3771e6a5a95b425077005b7962b0ceaa7ccf386558b0d53c7d31750f8503a88aadc0ad9d9dab049dc89a76f97b149cbc33aee516d928e4578101621bd34d57d4ecc635f0eee729e824bd9ad96f0889fd6ac1a7d8d62fce04c47b9ab691be0ab1af5330078c28c3575b26660c9f4390dc107d95548edb0a5b7b9bd5c04724fedb1616fd5bc8657c8c15fa18666e615cf2ed3a2ebea2fdff20c478aa6280c83ec5ff51579147962f7333f282b44f0694e35f002696adb215b34589062641b0c3e695cdc0cd9f0f9212abd7558877679cfafeea05d4e2eca64c9da5a8105c1dff4cdf22defe89135d135ef9edf968843de3a0e1809f72c4d0bf0c4ca9b229f77490239ec682fa913db96f8b167e79d8c5e3dd3e56a1df0356879007545edd0c4a45bf4d1208b7043425068734baed64563b990f1be071d3417fa43fe64bb30aa4f3ef71daa00f07c9bc70e9b4758c18eb8fa3ff2c532a072d44a27c40bf3283e7b467206523390c94f7bbeb75fa2da839ab422d7d33781cddcc58e67c91ddf668f0cdc1e06986ebaa1ae04d7d01c644929a9fdaeae139666643bc304b7ce56056f0d1628d3df81d7c8e7e9959b0fffdb25feb639cd76d761d64069536fbb7e398567956cf15302914860a452bc7dad089a78d0358d55594004f418099cb906d1e1358820c9fad8ae32b9ae48692dbe6ec889b392049d9652a5615f4edb07f388a4892e4920a42e4939b6eb11748e2b990cbe61d7b2230215bc26e9d59a8b315f156d072d9c0a0f956d052f2d858fac670186ef2310be0a4a803d33ead67f80ce296ab6fdd34c911557c18f56a9169db286b4ea3cb53ccb61910e004687077f6a611880b4c1ae24b25d6e272dbd110ae77b4ac2c7fbd46346ceb3f61df215cf4ce94ede31fac51632d8777b977a5ea8a04929595777cc43aa3c69ac1463a0783b46a0a882343c3a8d8c988698d267f59f4b8000ba3fc236ddfe254bf31ad7658eaafba480189300449e7e5e377042d3ea4772689b308153b925014a55fc3ac6abf564528f2c9f5a4c083a0e5814573b875e65e358073e2f7f0cc096eb277cf0df9a536f1ac7f17e45b07003b50ac87e89e8994954bf4a8d71acd63879d43f41af621c964d2071e3b054918af2cd073b6d8a83fab6209bb4e78a710069fd54fc14379034e0bca481c963a7af8b71ec669752df2fc50d168d82286844def069d9dabb1201958095d7168e82cc38d669a6e131545d53ed0a17426421921dae379c71c80e74c9b2507102c59fb1f49c1155692cffdf0a9d4a2841023526bd8c690a9dd1bd00af08a57f2424bb8957a56fc7a731e95d934e26740b87329539e49f000fd1d25463bc108746343d5db0b3c6b1a4c2328f4a518770065155c0a7f00121e8f8a4149692522905a562a951bfd0d1996624e5ef70ec2e85c210e9ea2b601e512b14079290da3afdd4e720d2557d460122ba982d3297369272a9ca2b6c4020c54d3688e3548cc5ab66958610aee5628a2bbf4ef463b51e8a9bd0c265ae8f0755d7cc56db57635d44b22df91931b9a8071a299cf62e2e528f9ec3bfeaf0e155517d238ceec6c2eff1a145e3d2eceab641bd8be7ece9a9bf188325631a77ef9731c2d296e7d0795c2e49228b8d454f967c67ad6937cdc1215f4882db99258948476b9bc9b0c72e52447df57685f31af0806b5a507218ad773eaeb30648602328fdb47e53c47e1def06cd87dbb6d23908066babfb44b6f586b0c37ef91ca46a7f58b6992dfc2b786916839055cc37deef5c90be6c675b09f41f1a926635cd9cfb4266e7c3dc81476d90e45439dd0ea49013df6726e8062a350679c6417e1fa21361c936737ab10d940bbe7034002306a97648353a30eb1bbbe7552ce5e5213091a4142228839629f532308362180d3a0d6a17794635480b8d97d1454b7c04ea7643cc9d8ba84a39ec3b438fad871094b22b0adbc2146dd2a4aea3dc7843d1cd699425ca5b992b3ce4091047ce892f93eb71204745a46d9439de4ed0adf11277874f1111b8f14fb493febdab855479ceb969423ca75e1053ddf8abd70dda5b635914fce66f6e0a23db75ab7d70b0119c7180d22142bfa1f45337595c0d7ac5931ba02f5e3793dc0fcbcb868916836d9b1e45852d7b5ec8c71f8102575a5386bc7a24d41e6975181eb4338e4bf52662f3f239f7e8303f991477249d0c75a4fb138b763b4d88b3f881d250103a2d87a371040b06f75a1a17c0c6a310fd72453c19d701e528709f4d576a992fa40615553b2ae2f4c107c095e756480b04716a36ce9d03bcbe69052222800eae18e9b14eadcee0d42aff3b86ae37614ea7316e45970699b966574dd4f597c8ac454c3059a25098cfe37742a135d06bf56adbe6660c60ff94e39e3bdacec91d4f45504323db099b03bbb06a735efa426527fea1dd4d35464de64f51abe1e79a511a40060e169a137bbc7b2e45193a0617e66e2f9968627a2e37052baaa275b0b008f06e2ef6ef20c25d8d174697b7e7c408bb92aae887fcf5078786acd9d6d55c3eefdd08ea3f4d9c6ed42546e6db2edbb546400a19da2b3c25024609a619340242012a6cf6877dd393f2712d9ba2e7e2eb35fd5432424289dac43742864051f61d664d6b5befe8469ec4a453905929f529d1f1fab43360785205c1d84c2885442ff7e43fa445254c1bd73a18e7b532b392f9035fe934e04897c65b9cacabbea0ff088feaaf80078923e6e3ca6ca7c2ae2297bd95eee8db95d764597944cc88d4efdbff2f9293ed2430bdefd050911e1ba111c172488488ff654154c2f668d875d05cd11c35eaace76c111bfedea4bc59f671d1d162dd98296b1418bcd2515fdc95bc2b9651dfa94dcb95d68fe5cd978cdc92c283f12e2c5f499a6e3e22298e4790e7af438231a1635ede265c336af487547c564aa9522e299ce13bde24c5296b7276452548e734ad42a36debabc5c856831feb079f6429c0bb3acad5692ebd1bea833815bb70d4635c27668cfe4d0f826b5ce35adb635695f50276d88ae5a7d5a33529dae4b8d56a059dd97f0c85153dd5b7ebf06f1aacb44c2575489cd66d7f302c454167a28f8b2dcf53e99027bf3611190acb364bbf8f68b2f3d27a5d397239684945109f9f47a3df2fa02d0d9faa0743791c0f3400fcddd042f9f9579d4b3dece31168c97fc31e85ef115ecb5d54548bfb5f44b68873e5924305e2f4fc60e435a9480f891cd2d076d2c555283e7c923c1edd34caa361152b0bac4cadf74af0066b59ae9a090e1ffcde78ee1b762f6c32f3db88f7b4ebbd237142e22d543e7a79ecfbd9a550969ce37bfc679a0325166f199c1f0926aaadc156818cc0f0c465171d5130b819682d68438a3dc73531973e934bd5e75cea5d314f910f7a778251705b8274ad7b88ea1034fa0fb05a9ff251816647b60556bab82c5b7925da8fdaa84aa435efdd9631b98d2829ab2b5ecb6e79823731d3d68c218d3c8bc4e30237ea989c693c2cad26f42731825bb1c273171c02fe96f444b342d7909f41cabe1319983bd50a888b1155114402380e6f6f76865840ceaf19f41cf8e6591caf6e673a1ab2c4bb1f4c15e260bf2f1f7d872951e299558d5f448e615cb62f791cf86cf7ea188b5f982a0657dd19b13df66401bfd7ea950c916611661511e23e28ef5a422f98b8e49925556e749215fbce2ccf45bc8a46a6e4ed7b4e75d05cd5a0463d89e0a0e6d204d0a78ce9b5fd337a40f96245dc13664cf48e63404481ae5231b380f3217c0474a771467c99a2916bcb4861ec55dd54baa5bd1917c8eb23834d895d946c96bf918393b1e0d314c1b2fd60135ca1c5fe72941551c35eac5870d98cb4af5f86a1888c91300ea9b3f0b57577c3885032fb1838301a29713d42a47cc77b8c5220341e35855a5fbfa8bac6a5b6dfe9ec1b1a78063ad4c63a23d7325b274a921b3cf57bc6cb7d5003bd97e591100f3892c17e08bcbef6a5da37362004d52cae881b6eed83fabd703e08d47235ed6d9d245c84228eb810d474d69f3fd8f7e52b7723c99097fbbd35caf7a21309e90dab8d1ed011e9753b06ac346ea712c4ad5a07e8df7df32940967e436b83a5cb490a61a8efb4ac89b51e80116717fd80fc44c88f366bec6ea9074c1c3508b6af99427858cdfc707e3f0214b6dad45cad30b76fb3c969bf5c4484a21f28f76a59262c7f039191599f1a3a7a2c2664945abf9888eb996cab31dc1dd82f5a992b5517729093f247e497274abeeee799b8ee90946277df6247ec565dff84917e93d704d4d0e03b10363e76680f10d4e2e967128e835d56133cbdea2ca92c465d49b5615d79bb8942f7b566499a3f5a23228dd31574a7b22d32f05187f6c5b61955816616a1379f6b409eeb1904b9a46c856dc2f15b6a376e015d55f277bbbd900e99975e0fa8be663139d563e43abb24b9f16c73a44d89fe45a08ed38911b8ed0f96150a9692b4ce8a5dec39387c9e9f10b1dfa25bf70ab1537afcf65fca55c5f80877c249fafe4451104e8b61845a60dc737aff4373b81fb4284840df7567fb90b63df984f271b725e0ca07dbc7feca2ba6c51e4c5e8976562df99f40735bf3b7d7c8b0ab897fa2d7125f678765c265e270d03326af1681d0b8c8523381f3a6a19324ac69bc6797d68e589774c992984faa423ec264ec9e836ea052fdb19852a426cdfc4cba5a8919d1f4a8f83fef4d33be820c4a01893f074ed1369797aecf4c8d108e7ae7f1c708ff9315c3e6548c27cb2ace6219b3a0bf9c0431f1eaf9e90ded6befa41f23e0d147366351d4c2fa39a4e6cc14d98343d5cca7702a52e4d11cbd69e46b7aee231aca1b01afedae8c43b45fb843b4cd8ab43b350d799f6acb0d0cd245b3c632814400cbb9dc584a0b2abdde96c06b9c3f0522ff18ae4b49b1effab0f7b902bd2c0369713b19e3a9f68e4b16ed490f900d57d5cd15e2ad51ca48d2e11e43dd86b11875a184e2829726cbb64180a3b81e50e68a011bfb82885510443ad93ef5e34681d2fe63c946507e0b8aaaa0bcc8098a12310e64df7e5182cf30f898a5a08e42873c6b6e841ac0f352d18a0f6a155c413c699940919b99ae610a577bbc779255cbed9e72f7ad05b2b7bd4a6648a29a4adb224f1cd5db2d067c0b37770335afe972b3f3a1e404a6d0a3c40774916d0325453e964ebc408c472438c1807453783ea6ed726e4d177a12578b28d320c01872279e6c89b5fb552814c0b6f2ff50d9003e9e1b336b9167fba6347f0550eb9da59686d400089e44f626fbb9151f41af6d5a1df5344c14d80711d2cd28b89892234f0f474325714eae8b6738ac33b35ee0b43ceafbb6fe0a5ce94cdf9b1d3a8d259f7c6ac11993eb0e642aed2c8739fdb71400efbc2848676e1671032e921b65ebddb44eb8f2c8cdff51e5b2e02d356228d8176962590a2a5037cf25f4322123354ebd11522fd0ae4ab75dd9c89adeb7cf22a22a5413537547c07ab4367f6d185a72661b7a7313c922a7600d63162d178888c77e9382465226bdee4bd16fd385afb9769780fa170140485b2514f8c2454dfc4dc118c5e045d9f27c087fba7efb298cd7ed174b8834a775ef0c6508508c0472fe1730d000d04ba94b3487d3bbb0abcfc5c7ef93c60e12c59b5cea979b20d165fc7fff5ca99f92f61f80126f3b4d040a359da3056ead7ff75d612102ce719b5b4aef3a45677efbeea23dcc51ae636b3037e64870679d016e84266293eceda3f3c7bd9e4c6c9cf540a967340c81e085239326d14c32afa112322011b045aa7ac2f2b2e8bffab29e29bb2588c05e856b09eb7563671fb2ba61422a779f1d49c61c20329df4cf7ce7d252cebf8d02c55c9d3c7dd40b0d6092b4c4339afae4d92b19660568889e3de465e880d8e6270024ecd040d6293b85057e158fba61ac21700af8af69e4119524b22c8836193ac0fa2cbbbc101ffb0d0210bd62c657f3f5b7e563ab29a6074612e4400a7cd311451347246dc3105a783fa90c594f8a7b91c51662ec0e6ff38588dd45df79b6d127359aeaaed0093ab2de7ca4fc385da04f116ec7ccb3a90d0f9052b33048631975266caa29e4f19e396ba24702a96a1f14af5de0cb2466d431873b3f21f79e056a0a3c56c0ccfb2061823a688b7a343dee7ba73d858551c47eb62006299dc8811b5db619e68453596ef8c60cfb6c77d5d153033fe1c81514e0c41851f6293cfaa811a5c78e52bf53cf622daa3f6f8756be0bc0baeaa4fcc48c2275a43b2dd2509d72a7584fab94c151365f702a04844a405059ae0da573d5ae6dfdc5ab9c5e7120987afe530f3016ff694642b55d78e39eb68d55e52c0652214c1d3931a118f8aea80da5be0f3e24fb9c8c3e27f8f24fed11cbdc49b2a05ba70830822d813623bb462774519a37e62e20f6a8d3ddd8532667b0e56cd3bffcc22aecf1b12703e40644424c47096c7a83a289970928c115742380536d58a0e2fb877a817abcf933c48627a0d014e787941ff62cc9238a8c6f845b5a52adf9b0c4151d8825bc71f6df29b29048842d71239995802ab441381e8d150106b7457cc3551c4f8439f7bc8f11cf8404d088dfaa408c98f9d94c0a8ed16e7c0803ac0059a1e720607253af35c0e654abff8dae0aaf0967f51edeb05f764064e06fdafac6f0e5f434ee64fdaa666c378b9acb73ca28c7ea65c967a07e18f213133fcba2a7ecd223625026fa1efb9dcee6a6370baecb3d2e93a148217a70271f10774fad5a577f584548dfee4b901e1e571e67479ead4f88e098308b4252031fb292a3248e572c8d1923ded3dacba109d840dd34ca66495b96a44ba42a3a66d89b50f8eb9c8a816ce37c236182d9e70085e31abe051517c28573f1e9abb1668ee7553c9d9df40130a897ac97b804f4891bd4c77f0d0613111b5f900b36f05acfe2c315f354a56ae3a483f427b6d65249c91435107cd0a94438a9f2e2218c12a5762a4c56971f4a92d5ab83388e3244343515979493d1d89dde9d3eb23706379159753058297ac0a4c538e905809b76b44cda4fbd2b0ec3cb2deb045ee0e84cc824b14c737c4cec5399a969492fc0866d61933a20da80ea5e6143454244dc85151a20f362430abeba4a36a6b2ba2355b9fa22af13a42a160f1b949e9bd1f29b556df6ab40b235f6a90e8191113299b9838a6cebc2fb5fb06957b4934f302bb41edd2425484dd7c968733bb8d4fcc8208394ba81301c3aea968653daffb9555fe7787c2f06ddfb373f2f45774a4b3eafb94406208ccf407dd0ebab08120b16ea8d7c178fa408713151be5609527ef0100b0d9ffd3f60a4c5c900ab63e9fc20300605f0cc3e42c450838664f75746e57c9e39079d906647e056d1218d5892a31435f49810b838f1c9824047ef9307cb2eca10a070a9b0b01caded694a3c0a5f58d0512ed8b2558a1e24b213e7aacad85f221929576ef9b09802ad0995b24cefa655a82c5a66c3b6d42e53aa615cc1661b3eb8b350ef65a560bf507a2ca46dad40bd0377ab80e69ae8736546d04789692d1cc8ba37be111703290e878e4a39cf25def53a9c216c886e6235810711c7cca8d116b4e48eb930930a4c987ffd1299c5bcf69910caccab97eb5a2ababc6146d0ea73e597926c63cc960335241a2d5e45e37b29540a639c80fa6a37ed3e3eb5fcc01e646ff3c7855ea3c39de6ec589ea662bcf6d25e435f52848e25e04e1747d77254eb451d2d03a08f09c3caa20b13e641bc62ce3bec04bcda886c8e8e119d41ef40b7c58dca26cd108e4ea702c76870a6240cbda06db884793e0fe838c3373a4cb971647b7192026acc2d1e608f4acc755b1ca213da0e34690510239455fe84c036d819158c0b9f998ac1fe24422f1162d6b6d3bc58993f838c190ea8cae00bb1e10afdc76224a098206408ed3a5124a74667423fe3bbdd34c7f5ce02408056c28358a8d75c7a673b0c08b64d741f40d641c3c95d0b9a8c52b16d0ca43ce41396a41c522ab3395dd1e2c71e59fdf6a8aec16df027a812d9659e5d0b56d43b422f7369f2e9a03d0b4843441348db20aafb43401e73223fdc21af55d0fd09293faad23539120912466bdac8c1b5918b4f40ce236065f1e42985bd26807065e80b5740214f22a5817197393a85da963dc56e271e5282658ba298e346075204fe6bbe50a18791f5cb09c7ad951b78c42e431e3666f1f35ad90e9ae5af0a33a7648a4b4b26e312546b4965cfe5bd01006ed4cf3a304bb48f5c42bd157e76530dc3ccdfb0eac7c2caf39b9a603a51299eb8df63188520690bb76c3900f032a59c7c98882911b2f3202e71e1cd76417df932e9e0f60697f0f2a009e64e1b79a19feb5e8a67ce64f4ab3f67a1a68f54076c91cc2829ed9aa4f388dab3f9a21d61db34da38b072d9ce572d9a3afbd55d4fe0c3ee8cfaae4cd4bc4a01c79e8579205f61a3773a1b6cee0da26c581183b69b1e5f77481169e7454be70fc0d1d62142809b3dc6f19109a9c27d43b61441f5c364712dc191ae16ead34f189f8415654fe08276e75efe3888897e6e7d08c464ca848e2113445c07a1895dcd90565bc150bba25f46af1f022a23aa265103d61051124c22345a505cb27e4051a6f11abfb4e811bfc2a7f66d0490674a6c30e36b7b2082b214bf475f8f91aabd6370ec86c903cd8dc6e73df0eb334b45c0554f98d7ddfb998a84e35b8694b48494b9bef65e80b0d2bd69e873a02c712f52cfbb0b7b7e4926f618cd64e2a917f13c6da34a9c02e3314ecec41c37ea40b553e56081c413f122ab1f09604ea2366592d9bc921d34266f90c3bea401ec0d2d966849d6ccefeb68c9ed007099ffb1eec3b8c86759813012dda463eb8615c2ce545861b2e8f7c94ae2e49aaed20f08ff6d1095a0951d78a8eecbd79a6876c4f90f5aaa541b52aa3cd55a86e3e802276afebd1b66fe840d3f271ec00afb1d060f51dfa8c0f2683d0a05aa65972ed80b48604dff874d2921a751685f0d05c794eece3f0c513b1e42e2e2dcadd382fa21c5496dd3b5616d4ba1ad01d6c95355dd362214b5efa127aa0fd0be617dca338ae375fc59080f33f754cfd34110cb89fefb4727c6a6e8798bc09dfdcbffc4b8d6c88184af942667687bc9370a9e0e6dea2e0255800662a66270c9adfa9b9a5bc38976dcad09ed2b4ed01a2ae20e30c2234ee0d21195e5272e4cdc797c422fb09f57da6fa579cb40404dce4e38cb53cfe6c2e60c3fc00ace161e6f2d4e7c2a997204167821890d8585f594da95493126e697dd8d5bff82e3f771e38c9bf16f634b571d0b72ac9216cbbc31f38f861786203e911744fa5c683bc75052c27c10ff9c50651f9a777d15af07a53b4309186aa59803458a7db52ff403633973c0e047a5d3f94107071587d9768d387fd6204dd4f16d7429f871d589ec10d69f6d4914c863e299e273c6b81d36a3976a7eadf00e4cf0c8758a14997c5a5dd17bc436d26835038c07c7f9fef4ce8d54ada3119d6601a4268ca102d45dbbd50d9750b416ebe51ccfcdf5583503258440d170c9b2f23a92f23bbdacf9d360b944ddc4e2a98f43f925c3c780b2060d9b8c23c2362a14be94d5b0b4e984ad1edddaed56c3dea2ab19289e3d4cbed048de0cbe34eb6c99fefbc52251ac876b0befd02765910a2e8b540c8754f9582482e155fa9641bb024162168c01e0a8782d8113f0e15820a20c3071db6eb98df5d784c1582e5ac51ec522ed0437991deb5398d3d53ecde1d80b38f41bd135fdad62dfc1bbfddecba1d52d914b15356b1620601fd2329a6ce34d769e1d3f7a112ec0c477d0b9409332ad7a6cb10050d2a05f7c2e589e71ecf29251f0610985f8ead6d57be2ced2fd801d0cfc70be7bd8b75e3d4c2423dab079df577a8ec5a2907c405278471adb941483e3333f70e9c8cd0a560907feda10e1d6701dff00b1b10ca85cf149610de58c4371f4ae2114706c90e285e163525e9686455104cd13a6ad3d55695f8e4627a8fac044962e787976badb99ca5eefeb209c023d7c64af8015134235e97772efba869e9fec8996f736f31813f6d207287774596c9e73d8d78d211b7f1850b40ed1efdac220a665e26778d8eccb37a1e5d51977140a033dcfe02ce8de4f46eb88de5cfafcdb20e0451ba7635462045e12c2fd26a0fc408e88a42069fd11464cc83ab97b24bbba19c52035bab674dd45236017ddfc7b733be2e035c31e01c3c9ff9d7d89f9663101d1f8160b7b3c989ff1a5f7f824b9241947e518f823f68891dd9063be441cd6d200a15483bac361cff2a01505193221bf8d9de2560fe1587c3dc8a400fc3c84bb3363ea9f346833de15aa0675d9d55e598b734ce7d7afc149bf8455ca0bd8e6184df702db93376195802930ccb5a30aedb42a6695d6f8cdcd2f0fe0f5db09ff78f1c57dae51cdc2fd36abd277661f31bfca3cf0491a3f87c2cbe38156f3339e74b486b2c44a402287e314814829d3af3e670fd3e8b9618a06b68ddf807ad0c38552e8fb9921643ec97448d1f7a7150d0d3d9feb4ddb6debec0dccbbab6cc9ee27de91f4e707a53354c695aaef7192bbdea0924b1567645c277a80215767958f814ef99965ac461c656d2691ba362e9c596792e9febb9a334dcb70aca07140bcda6e4ea19f3ec3ad1d56677b7fc01b6723b4c97a1c7103574a9b8cfb664b1957e07bcb61d8108150e6ad35046477dd20bcf80504177a783bdf2f9dbc9bf705c9d6a0a98ea42609b81175945d92aeaa8a69780723ffc126fff27288d8b9bd126d2ef17bd26e64a37985b8748a2d14bf0a7e5124cfaf7c3da76b4355e6d3fa958e53bc80a119bb7f83de0365193d5f6fa747f22845b78ef79fb99419b137dd3b6e0b12c610b1b0bed6108498fea41892ac61b80ee1e823d7f39733b30874a0bdcc1a88486cee212634414ef03a45b06a1cc0425a7c98cd7827d112b69a937c56d95ee2dbe28b08e507865540c37fc0196537d6c4573df82237dd82af7ac1e7b2365f726d06378e2e5ab645316411308619521cbeeb44e4c634ab4d001879950768e1b6364f172871f0db5b006a4c4ca62d302cbc456ebc2a69620f8600e28c3be161ac0bf7813f9709168e50c581f07655e567b0480ad52306d91a16cef2b9f618e47abf8e4de39dd7d50d0b47405db5546a07e33d4adeb369ed0f6f5a3d28f80ca37a2df10a9bd6a3c0e313f1e18d0cb8acb724efbd414e90d56d34cea1ebdd20eef4d8185a7831f3bdb0aff96cb8efc5e6d5cdce5da189c74d40bbc2ba21bd91ae2c4010a6319e78acb264297dbadd75468e0ed935a2c7ebef393458baca498a90d5c0770f17bada7369c33a185b384393a32f6d142eb1963bc70a14882494511d22587240aa0ecae778952c6a1d3c1412d228082815142b4341f1d230f99e1f604bf7ce0d434299890498fc83409b04f59cf585284247314ebabdb9b202402daf696754b545756a84b7509fded0ab79b9992bd8dfa1ca9792ce82fab4d2502a042a5595ce24a87592181072c4b20fece9ed0990b957853db509a951f838f29ed4090c0b21916f12c4f89d311fe1d9d3698ef1f964e243aab50d3c3ceaaac50e6c28a80060fc31dda1550bf8e354a65fe24032e2f48ebe624a7cd54589cc2cea346b9ff853db7aa7b87d1659c2941807b828ed38dd7a695e3804f06cc9455edadadcb2b4507b9bbd1ead8a417c7e07758db9fc79810d68d06eef5cd9b925a4222972b30f1b39f170d34a0741744ff0a37c4ac901cd375e8bdbe89f3c4633c49de71bf9a5873c7a0fae726f8eee6eb19c24ea8178ed643c341750c61c2e8dbca5d3baaa138f4e29e81b65aa308f1908ff8740641f24cd505f6f40c188e78aea5c3443c03a4c87fe24bc401553d531bb4148fca9d8318887145c70f63d8b69e17d239d49460aa2bd2b913af5d1240cb70b30758d89c98eaabe06d5e9f3ffc4adaffd5c17a511de69a24124d184c83ea16dc2c61ab45e98c26d4b9eeaf1162e6dd04c4d323d8dae508f28ca8c73ed3f02cb696e1e1faf8abe501e39aa6d401a66e81fd992291752d490cfbdf8c6a8587046a253f140ec8822043363883bf0d5549a58466eea01416b6fe481179b8a9324c952d99489be58204851103d6f7ea5fe8e6c8e829883145834300780abe5d248720dc74092480a4c3b97c5b6ea105e4536ad066c30ce2412afb22cf3d843cdbc2b3342f0e6d11826e5727c3b4e1be8f85069cd7c66aa1dfda9c669d4f0e90ffd16fa798e4b8a92252c28415b04487bd886da530e8d09acbf9e0ceb3e87c0ebbd00cc01ece6a65bd4d4140c510f1f748cbb91408767798b5c43e0c3603c046a8552130c11001c5d175731e00af7e7b8a805dfbdaf4baec6e13c97a66ec1a6c6f1803fba0c408fd4174c9572ad0ee931e84d0060d81dfcc2122d6c9a800c6c6bf15a3a711968ab90c642f4fce8e2ab76081973544ba2f83b376bcd8e0cc2afc0db5042ed15b5a056f9c4b2d79304286bd22ba6b05ca0df93fc46407dcdfb7e1aa115f3c35fab48b427821bb6791fd48b221af3b2d6003888db80d003916c28e2f95f3d229654fe306482484f1911713bacc7e2470c9ba182cf3240e8a6089c81adefdc6c6b3c60ab1c80303e4ae41832e6458bff914d1b35e242f80266ad9c019e2e2a1020985327368a641a09f52611e7b4df85bb6597e9daa01be432ef8c41f2248cc08171cae0a73824acf08d3489e294cca162e524df638a9d2f72947536ab00375d36723e83a061d8da030b7a5179ad7d785bcc0fa880af0aa6d2225221f7e6f15a54d772222be3f855c7e393298c78958fa3284668266a7f04b87bc1db6a4547be97d3ce39001e19f4c23179e7a2605785edfd2acbe00558de72f30035936111c1d8023594286848478d61ec1660d6173dda4baae640c07523bd4a1c14e740830e672541786b7c245a3c0ccbd37b9012fdb58cfa99c5758e16927c492e22d441ecda4c10aa17ec2ac3bc80fe99af96df77d963553d1736c9d90a06cac9defd265d53dff8566c5dbf51e073773b8b30f036372f33e6e53c8537bcc95cd8a6292b801ac6f0b8bda07e2a7b42c9f0dbe7017a0246fd4fa5ee2caebb52715480960fba5e6fe6ff3124cc088c256ec71eba58e60d415cf291b552c6c3f78232772318e5aa7a848f5097c0c9250c07a64c420dbab125abac08b3a736fa2e9c4040b619ebd3e7ff6e617c8d95ea8a7e91b7310b0cb9fc96ad81c7595180c318a6133f1224937ef0c75fecb3763d442f401148735b004039a2affd1da8cffe8e86e08ff8b251773a624b7739cf79e2ad3bb55198111f9d783b7550d41a51d29837b6808ade5b0de8754098ed0217be7d80fe3c7d41a914ccca89cd783020f666864c1cb7602bcdbf475b19cc37b8b7f785202456fce3a83c0cded298cdcc61bea86a2351825ccd5aca482d2145f14a066700f67cf0d4d69c3b5b4ce2335b99864480a043132667f038176d4632e9828802ef48b581cb54a72789a1d8b73cb649629eb7144f044b24ebeaf3cdce1890c9603b7c4d1bc00849f3355158ab6d7ea6f5de24c78e4e25c2862f4f348b2d7a9127b5ee12e250ea21f19d581abb2688a6fe2cb780976688fdd57b0ee24da4a0a07a22036ad078e282492798d01a3716212621dd659b041169307093fe1a8e9d9b103d57005684b014760bab01fc9f2518612f08714996d4a5748d4af124c87a1037206a174bf7474973de9c088f6a587fa91ef28a3eb5c965cb38c088dc4eb16580a8a1181a806bb8165781d093e4a2ca432ede7727332514488098b3952bc69fa13b816a07d09c9e778e02f284e3b11d80f8be2bc45fc901cfd12da7bbb4c277711c99de1aecfca1c47fb32aa94c544339a361cbbcb4909a4d152c62fc9725068f746addb8ff36df0bc4736db59da5717a4b698afe45a7c043a1d207f257f4a23cb6934fe7153fed889c129437419a35155da1fa30dc4d1a1dce40a9e8080c6a2022730b1d2de1f78dcb80e4606dd47421a85eb679d5e6f56f3a6479381d0d97cca7b35c7a39c432c4688f0c557b6bc6f038f4617fb1d88e414bbba9186b729501cd79d510a4014629579ce5705fc4dc7df8a771c18a4fc8f20b3576968e68ae92a4245850a7febc5e2e2e9c741aed0d95d7a2037d94231e63ce41ac7fffbf9f3e8cc8006f8fe51285b92c234456814970c034965aa5d97949dffc45c77c7ec6e044492412794ed8a4bfd40047f00781f4ae291c6cc172ccafd3971f45a7fe47e24a3725fbe11289724c6c199ace0c46f7a154b414a9418e4b8a11d0f259fd441f22bf036ba50caaa2fa9913f1639d333e499f3fd0c710e94cb893a307568692ca7e64c84c69df5684b67f9ec8a4bee9f2857644df3c150e7fa2b822010ef17923db0eb292822eba77b5583ea550a7f38faf80b3f8502323aad764a5fe066fcb14a623a02a3a11e202089602015921106a888b92027362b7473735b4815f386369681e3c27ee612973124e929714fa1058d459b1341520f12a44cd617b091d5459beec1e8e6bb12c1069de9a527461118b11e689708fcd0386c5145e44e9bd367a61aef59a5fd92dd9b46b0b1ac4d4bb0e0df36cfcf3de01fa2b817387be24047055cc5208c014b54f749b32b4e559b66115add875c146a0c8c3798e97bb0da0c1a55e3bd5eaa5af60e172c7224cf08bdab9b103082654e00b46f628f914173f5fa49b1dfadd47e76c1914cc52c4866199848880eef11ee108ab80291f519212bac6b213dff23b1674f596aa665c337a28810a834964e65336d61a35ef3a8865067c3f4c2611847df4c3ac9f1e00626a26cc80c2fde19209c046297a8651c7c353ae20caff2118ee386eae5c1216d04feb966a0e5b93f9d2c3a0627d4ea4969052d0e3b048ad75bb89fc3fbcf1227620431e308c89b8fcaaac88b12eaa6679c8773f83b93d2c06de1a6d421371ad22f99f34e6480a0022a43de8a1ba5116fec30b3f1db46a6b68d9c40ae7de66946f0eee4ca946b446e23f6da006e1690efa2f01fa1f4a17374cff02cbfcfb910ad0ee7b44e1d7b69fcd54631adfd424fa3d671041fce9e0699dfb8ce5dca388056dd3047fc3cc11da942a4aa9ffba4abde6c4ff08f1dea614cf1d5eb1f46e6566b05fbb98df42eaaf83709c5194ba82b2a9ee77e462c7625fb8d08dedff014f269deb4a201b9d04f8a00d0495f9d3c24685159869d025dc664577e14941aebfda6d5f86e15bd36c01c010a1ae492dea0999e5a3b87a92153818de5179425e82c511188faa0f47a2e54d82382507020cda1f151770252161eaa6dc6116605ae62253cde57443e97dba71141551938d2e88b1246e400bb65a5ed60916452014a45a1852818266f21cb52ef98f3c70495424466fe44d3eb138c4e7a55c4fe1cd4bebfbf14f50e78b1bbbb530776af1228c8f30a1191c39fec31c0631e71093aed87a4e771794c69d0fdccacd826d112621e2574257dde395f7a6708bf115f0c8bd97d9c33abf58c15055cfe1a3842fd7675a0b528b78482c49c3e308bd283df436b07af2acf3306be3c3882d88f69f800d07f80aed8ac5a35d6c40edca278c05b678d037db1271fb21d0a2ae30e3a2984fff7faedbe46dae8a252ee4c47bedd994cf46cc3c07db2b9fb23c011b14ec59b3491aa4168d197f22fcc8b1f518a8870c44cc724d39cd9a1b23a4705981219517334d542955422bfaac2a28c5a316e4480bdc0bae562588c7d6c5576f637a88495872f3dfacc0cb572c8639259f145362a5be85a25608e6ad639a2b1b577cb1340f116f74627189156757b2e1e10186cd030e75a9542f3b44dee6a916f2b08c7200d1f2caaf461655662c1c836f178df0ef07ac61e57114d0940b331ceaa66ca7c24f2c6cf499ef429891ed374bac17128bcf5ae6eb7089669b900ab76e780951155705861d1f85c4ae78befc488bfc20568c59588c516c25020fc5996e03ecd4600ec2ce07ce4f648b6303b4c78bf6cea18db80f34c3f3226b5ce22d3c26c652fc3f69e38cbd2451182f97f25e7d947f083d81d68928f1845ccb31548320d381c5183e01387eb575ea092dd8b95bfd5ace5023f621be8fda0db2159b6c1edf8ce35730a354944b5301c37eb54033f7db74900ac1841f0a05069c7d2bb4568a59f96e696bd1be2f80336048b07b102cba645fb353571f02c4d81b2e8b83d02c8cd5153a8b8fa88295491050bffaa56ecc8b116bc257a0610c1612634bb3f735e9d921643268153b6cb93c5be0252e96719e5d72a766e80921d4aff238b8e24b314ca2f066bedad2b938f55068f1a00c38fa698caa15be94f69247b7002dd46695fe5d07832fd7c29d39c3eece9c64f872945bfffdf4dccc08d74918d37ed34153b20269719f31232b214d8033576467ee517cf52dc2001d44f5ae0f2bda4698b969a708d1412a8374f7366c9d90eaaaf6e10329e4f7101f82499c2fff0ed62b8ec3dcc84832c1b51680dfbaea7ec71e1308490f3bb505cceb8985e4bb139cffcbf9354d2e8bd3ac2eef067872595947c378458f1e48e6d62cc633b89916bf5a5ff95a6617ec42445c07d22ecd0c7032caa02b3494738a904020bada36bea3dba02af4b6d8c2f6142053ac5925b62ac560855a89d84c33ca7ba082010ad09a2e0e85672ef6a0efae89ff66c0ed3198ab236946ef3fcbe3e66a27846d50ea7427274334e197517365e0086e121ccd1679d45735aa8b3d1b61cdd0d235de1284f924402b0447fa52eaf7e723c359408e0c5eef09689a9f1d72f1d9eaa605bafaf24e941405e4d2970404cf70106ca346e9ce411ea1bcda3de6d8811b455e3696c22b6d48c61e115f6217a0991c94070140b74b9b2fa0227e2e5d4fa14f1bef37e0313b1fe81915458cbc92b93503af93874d5534791dbf44b03bf91499c9330ede9730155f741be0f71e45c0243a0821c7bb4ce96db8b5950f2f51975b14942c22a025b200a45a498644b887b5d845135b2fbe889fbff9503d93e2d3372fbb1fe5f97f6a15f9bcbe80026b93664daeb212c2bd8abb4b3828523208398e0b8a818d35c3a94c4692d6c31b47e037e23944b5c03c477c91866f7a1601bdb222c1ae2cf076ee1fab5a6d81b928f605a84e5816f237011f5097063c6be1687e4ea2387e80c587cdb388cf0226381e4b3a2178f3c9d397a589be4f1785756115031752c72f9ac27515c6f320ff653e59574b0d19d960cc841b8b3cea0b1beee6a871e4b1da45792c9e81f780591b2354923e00df22d6a0ae2e08bd7aea5ea5dbff9fa7f6abee899be51ff4c290025fb882a8707879c4fc0bec182dd29b504f1d2a20a76284162dd5a951f6f5343c35a8f3ceee7a01d243413bf2c60c1eb3f33f8a66d22efeea5dedeca4ff249f545978bd1011bd3b77c74b5e9496bd8ca8dfad3585add95f59b1df4c5ad7ba14133a85c2bb94d6474ecd78d9c6f977d1d2084cb47926d2820e811b3d757ee517f34d1ed3e028dff7240bc6212246f18c2b83289dd890c302085557b1d4f6d3af9e888de39567a04345f9c1568f636bd02a2447d1b67f54dcb43fe51311d18fc34dfa864774d2b1e3a227815afcf994537895af4df551d297564926df412afc37c064990be7f7d2529a1e4d70f228fda32afacfb4c88dea1bad54596c558d8f47e59ec142902d82e5912dad6f174e8779c9e430abb048ba39825ddd02e4ec268328888eed282ab11464a02b7053d0105d01bd8281ae4e6458cf2cf56dda99d43bf870a2aef67e455f755519fba4002d6b9f9649f21986eae2d7d14487837b22eee5581473f4287ce62ed8e40931526ad5dff9c82aff75013ca649446f51a098881d5bc54161ba2b0cfcf32abbd635ae3c8f83ef3f135e969512e8bcc66372032564838d5146b5fc1fe7044fd6845465cdc4a947a9afd5ec3d4449812ce77b05bd8718acde42e616e9e9f347d0e659314a51eed6436819f82989976b55467a3223c5e961219ba3a31a2490261795ac9ba44e25ef293d7005e83d998e4b3ca1f036909ef6407ab928252f1055ec0a6ffe1320960a56dd6af947c0cb6bb9389195b57248164fec8d97acd1cc2fb7daa2a2d76c80e892f38d229eab9964701a5fdff135b17ed2cbe788b961b4b7bfc60f34321fee1eaa614bb4b7a18c8b11cbe1339bafe4dd9111f93b1e64d3eb0aba72cb9ae12c69d8bbcaeed544136297d1233c3180db5e7caf22cee178674c294a1c5a5364b35adca2e8a9ca211758aa3c33e235a44d3660745cd0f632443d812f15bf2152d8ce335a5e607b3b499c5ddfd2eb8857ab322100ab5caf6633bce18d2ca4aab08748d9ac9921555dddf009465a28770d31af0ed059239f582e67dae072f332603284d760c43871394a24f444eb55099ee518ab08193345fe6a37238e7248dd34552620bdb4ba57d27edd7f0c76dca494fd5d77ba93f907e1c99218a602982bb557a2c4c1bc31dd6883e36fb05fe6bd0a6fda8386ce239d96ab329cd4531bbf6c1747e29423084ff7cb0bb7ca813f75d5ad64c5a9500d73257cc080df4f1b511c5f6c381facacc732f6d152cc7ab594e6fffcf0074cc9112c90eb2cfcd58fc2599b6d8ded148062fb3ddc163c780aee4f4811d9dbf060a48ab528b6b1890f8c738b28ff1de2813f1ca59ed5eba65240b8ffdad1a1ff5f13caca3c3d3d994da5726ee52a6fee392e174a3224d6adbc76a368d3b63947fe8806b00ef6260ecc64e2acbfba79e833da7f9a41ab50eb6c513c974b2f5f5b859bbb8bc8a2d153251de2cf93ef842389c5e4474788d2b7f0cc0fba66d8dba90a502380c0d1f71b7b116e1d3790a0ef81ced6814f9db0e7021e4b955b49bfa0947bcc5aa708514e38da0e3d863224c4c0447713f97b5e0c2471ef77504f4654fe0b79cce7377de19116bb0d44ece1c4eedd7176e6d0d5f1996e770dc27b48f1369508a7c8ea9ee420effe7ac61b04a53d3df9014b17356b83fcd23ec7014b585f78790d301a075c25a3fe6ea4a288cc06dfb97a3e0789177c2d46749ca6e20c1e5516039de3a1eb34a48f580a4ee78dc968b5b70d724c52c0c251288c1c737801d492f35ab9b7ac101294af06664232c3b39de4a4ae26fc5c256416d84ba622b7f8ea8e0b21db7df82b8d15043700ea502233bca447b67776075cbde3ad409f674e30f2925bed2e47233e925fcb84ec83dc6afe587c086877b03763c5c5947d4e3671dd910c9928a60a35f36c2d26708db4c567c05759b9fbb4fd37e3c6f58f8026a5a9f443d26a6d57cf11d88956eb5f742346841353d5e458f89cbe72906d8c7f8e8477ea694a71c2db8b785c45f0c80c83fb70286c40674f30a7ea921e2c16ceefda57b1e1aa52c6380810eb1b932ca8eb1b5a514e7b73b09f963fedea33f4459a6c84e169c6cbef162de66e6289830e851b83e1dd820e300b4af699f889f6a09fd84c57c3110307b8c911dadd9d5a6babc1e182aae9f99f51e312bac1fd41eddc9f7567e2d18e0a1389d4ce16c2ea18decafed00168e1843a1d4b69072f0fed71de373b81b6b04874cfa095001b5dd931580fe18ec416fd97375387d853a0ac6481a528441e20f68975622bb14a2c12fb44916a79ae282790b056fbc26dd097b4c9aface7e3639aa586bf3616b50a5271013834946dc5af0e5e991c010c92bd7b550e9ee92253741bcf74d14457da4beff980c2cbe4a991373bd1d09b31f286961ca4a3838a143c2b8a797cc0ec6894b6c86247cc724581bca7b25b3006ba4d447c24217d120d6363dfd0658eeea8d01d943f8923321e4b382e2fbe2b37ebd312a57c300b46fa78ccb40a8bff08f0f1ed0b3278a2f76508e0632766c180a3be99a66bf8660c7afb35efd4653d08e63832f6f5eac65e65d021629e53712c7de22e0f758346d873717479eb69ee4bd6d888f672d40041902aa28f945906ab45af688515590df36e88197a5325528b0681d03cd9890451620c2f611fcafb2d0bfdc3f1ccecb54849fb42d0740d2fc93410a44dd53533c93fa71aec0eff34362daf880ea0261f68ef2684d42eef2fd454be36e132befbdf22e1d1645a6db8325f161a0b410b057c1a6fa4af454b7978cbe609c3342dbd442ddd0bd71200b55c7854c342faa81d3c254e3748786fe8d609caa778a223acd210fab17874131635830840b297f49c5bcc99b56b20eaf208292178e38fc32e4ab84f20f67de24aa61fe77a06709d7a70bd38e6231b98078edf56bde01ae297c2b015ccc57f07c7f2bce09fd8c4e8a1ff26c40076bf86a841310bccd2955fe07703e3bf725456874627c2136119b7a1312a7f254c0378a00dba3995ba2dc511998539620f6989a8e08f0f224158b7f8306080dd10685aa6623faa98bd25c8863a4c4c743df5eccb03d95a3f87a4671c0b7b3620b2808a79235814a19d44893f10849d000619a4975ee83f1d80355d442abba972595d7ccf15d6802f2de10544f5fb777d784c89130fbc747fadbc500dee5c65142eb7f082f523d83ecb2ecda8eff643055582d28c8d3baea4703e77ad9758d42e59ba5629aeb8928067ea649258842b175d144a342c710838e6bb100f3f8c0adbc36ee0885a510bf7f27b88993751308c0de9d949bdb97ffbdd2746515f00d63193cf23b8a842428a8ff7642d4ea45d172b16ac2fa01fa533410303c9d47020838bb287539e22a5501d924823926115edcecb3eace0c2de710eb906315397775254840f62afee4da9edb0121ce1631787ce65c98f2fe6c565e31756ab140e4f80e1f19bf9d16300327d854fddb2e46cf0019d1f257a7e2d3bad8a47cb45d2c7285faf96518b5d804ef9cf60a58a633b5e11e8c578b12a2e3512c20b41999adf49bba1948c0cfce55d44a232beb0867455e1da95424c9a6edb67a87fefe10ceecf469f0b554b37e796bb1255deeed4b61e8161a51452c8a87ef478c885237c0eff94999898a6b172f519aa71302cefb35fc7ff13b0dccf78fb132426e01fccf0f51515d02db5c182318598ee54b239d826026eb978d37a6baa636642e0fd7bbb524f38834e9cde8b78ae6f6cee97ea3bbf8709848e167f6e7fb49e0a7aaa60e013d2100efc754ecdb944e082726c6b70c2b3a2407127ba841347dd5dd44f4521a378650304db095d6e2fc10443b7a7d2df7f7ceb55db1d656f40c416f600b067242939677dc40709231ea9cd1a36087bfdc5eea62223f5963dda0906b3cc39be6a39e88192f297833a0b6f42d084dbae060c3b074608de5b123bb2822d6f3588dccfd6a7f3f9ff22a17480692fa2400d48c62a0502feef47fdc66461624493d3ec0cccc321f7bc5d13d82110fc3071cb6120ce08ed751dd22bbceb6d8862cc5be09b8f5f2369d89b82ec8f2c6599cf9a581adfb56fbeb65c5d43963625f97dd8ae72bb5ed9e07b3f32e658183b596f1c628c16a3546646ab90af25358f06e632891bfd696885ca3584dc4f36f72078b8a5db6f5eb5322fe66288313abb937d717ee00cc9d760ba6f320c2393855079c8b3f0299973650d69f391ce391093d9438cfe64f3b1606a69df088862f934cead741af0fc36d6b824244d986deade585489fb2252879f502e494cd15e6916ba40720f1f899d3a022f94ec64a30adda036ce198e4b262dca040f17ea0ee734828f379ae4c430b16d89a88f529da5a5ef7abd7efa17741e8f0f02a7a8c30c3a2f05561180a2faa46cc7a570fa8efb05fc8a30d6c813963782c68c0c2f154e64f44dfe141accddbbba01fdc6ed618bc9970a5492ec0f100accaf52d9d85ece4d8a23617075b780d61b81f9f5c437a898fde9dc1fcf33eb7bce45749d782d17fd5e9a7c715c153289883a6ae430b2fc1427c2102d37ed594e1bfda262008050e019201261d6afc7f1993ce65d66bfa0b9df93d0eb212dbdbab62324062c0e03878a577b310af618af206ca1d87f1f2cb058f215698d32ac2746a42dd37dc2d36300651d6bc2b0a1e2d759bc05b42fb9cb3148d58175e3d86b35d348cb2e8282ebdf45ae9403cc3321db3eabebce8d49601061bbfbd1e9fc7715faad390eb5ac4b763fceea24c50518453271929e029ce58aa8ad016e1ab7ac2880f94a71c4eb01e5aba0b7915970f594004ee4dee6f817b63d790b8adab716a96b1049ab64d77d624fb10bdda2c00f4171da13dd71c91e683c15316a55102cae29043b08c65d5b16800a50c6349eb066d9aa9d7ad084caf47a9c832b06894fc591072da6d4a904e40d32795e772a22e8051032cb11506a82a6bed7dfa6c11ee3d6b2358bfbf7010922055f0eb17bb94e99e1131a2b020e77e9237f3d2fb3c79b770023148583354df277d924f21cce31134da610ba3e8e6cb373d7c01af257fb0006796c9bc91837aca32daa665777081b94608011bcec6a0ebbaa4377c8243813561cb492278ea48adbabfb1ca347ca59512cc61b173101fcf891aefb491e0bd6feaf2c25240c13c3108018af26f0210022dd887ad30b8937b63804a0fc9d400eabc8677fb62bee99044b4262fd13bb1ff1e26f0cc808576632ce3931fada9c84096fb12776ffb5a07ad9a1356d5ff7231a322e75ba9c16fe8e5cc2f76d5b9622259d49d9534f01e01f12748c526607f069ac70d18afd2b7eba34f1f8b816f857fed60bbe06566f87ba2e7566ffba6d5f15917c77a23bce157b0f7ce814605c79787a62cb87740b82b9cbc37a9cef853f807f48aba36e57e404e03fb83378ee1f5241f099995f6a7331e9d5301d925fb84dea2175fa06cfbf9a87561d0f0f0904544b24306ebda286d0ea1ea02f1370c16a095e3c755fb876b49c43fca8672c348b12661232add5a99e31efe9e3d746df5b40a62fed95e760fedc5781d5445c6fed70ca22b2b079d394cf0f94d24529537e3eaa4b3d75a803b941f21b719e65e665e0a6efffcde85e3f63a3b885d74cac0bfafbaadf3eaa53219297610c3fb74fdd2f940490e2bb91d5127253633e5b146728500410b9fbb03a03e5b0371a62d45f54c400c9250070af834efd60ef1d1e1bfa6535667b86f74dcf0a071a8bf15f84c775b53b8bdab6d23d2f2c509ae259983af87cd34f3df03ffb0f40d5e4fd4edeaa7e87593b474425f15b03354e43f507611fe37a42388314a975c34c3dbefd66b13e2424a39e3f1b77436b7f376bb0a3f5b4d383980a11b3128e0ad0638e458a303ca4c5f64038cfc2527bd3a66797eecad6d20e5aecce525dfbd7ffd15d10be652a692cad5820264fccfe810f1abd9885ca9ea35ccada84f1a27d067baab7542c2c9b8e6047a6cbfd83f28af26517dc85642552e64157e7295a38c992293a12e7cf332212a4d8186da98b45e6dfd2f11a5e222fb6b778808437ba752ae8f0c1c40821663639581bf981e85d2f2747b9ca70e596673261aee06b8eb6fd16da417395a978e59f880489140b2c246fd6f3c502121fdec613809b905f40b2931ddf19f0b93bf32d336bbf33614a946140982e2e4ade3e3afc4260359dfd281839fc3f1758c0a72a00ada86f81046ec01192e90d0530871715d634899e3768ee10799838526a68261b3f5783cee24ca549a47f1166f3f5218a0e692002b5d653f0e7b30ab941f88d46b593f662a32c246b61eb95a3a1e853bcd2a707236aa00fc419d5084bd280dced9e3563a3e5a6f18f9de1662c5321b7e9abca08f5c221464047cef6dabeded36d8bec32951211c98a83b1f0fc62c7abab87fa1753563dad079d176cb5f6faee6ca19d2527e5d9a7ec27668f560cb5c72549990f8e1158d5fbbdf28704431da97a97beb20c1e1fdaf8523e246d3ed45e34e840334c9b418b1f19e57e4ffed8b9e7804961e92e4235a4b870b7383580d3638227bd105743e290a80be10972b88e5325cda8ac525cc1c053c94cf3d3012021287d20142cf8f5b6a9aa9d025d31c631961dda31b94bd60b9295521524394837564d0618fa2441131d611bdd95aa016b29f20462e0b74465a6ea51ad0a5a912ada170004329e34021db9d96847e3bf5acdc966d91d9e579b61e5d43d4201160e40304b35bbddf62ac8ccbbbae01a0291ebb534ef223ec9165fa705e6c1331a0b21098ab83d8d7aa73b6269b7864b1078ba92131eb981fc6e4b0028068c5b9c1527d9c6b5f34186e304537ef459dceee4f840afab89157b053113ae0cf5b88cbc8054a141b98c4529a71ec1d33e2b3e5dfecdb66a44f9ef7c2d921111538b7673642c2a2f9ff9cec170ca2df8f59c881baf7af0ac10b6776b471f936b7ac0aed196ba21f4a86fdcf82d138db66322069dba6c9f2ff34c69604f5879008f99dd62e728524cfd01de46fa5fada5f1ebae73d7200cfeeaa0f9fa542c5c1844bd4ad7c1f4ee7349ed77405044255969ee08b9b30ff8ae0a32ba2d660ffc7d052d2c0de5545aa595e5930d3d14d22722f241f9cfcf514e34957b0804ffc90c73c9852c40db87bbb4a3a344dbc3d9972b4ccd82405c8b881f90d13bc40708f59e3654ec21c95a0a1ea05454560c9d9b6e3d1730caa78c22c1cab696cb356b1364225a4a3e4dea3f70920751e77bdc6071ece4720256cd81f419fd5f6efb6b3d0d80bef62405010d1371e6bc815ac6b69cb1c57139e94996c42ff9783a487c6c2572bbba4567b51ae8d9501d29c2ab6fa6c45c79b29b38c1c93a242da494b98921ec0598563bdcaf2e8c4f4584836b724ee6e63537631542b3576ee83859448fdfaea36a29edbf38038d75474a8bd983c4ce0a5b88c5ee4b3beeb3624558bcf66c122ca5ddd17031af889073d17c6d7969a9d7611cc49c9974d24d77bf7ee8b0fffe71a58443e3b7a1980545dd6f87da5752fb1218cc2192b38da53284a21f2a3ad8787897abefe2208d07b8fe371c666f6281dcaf19d1e27111e2b9208289d9ef7723a1c324e776fe91f7e3ea9b3c0c00e2bad195bc3fe0ebe67b2c98487d2e0697d51432376d64a39af26746181a58a5e8abf215e5b610c8024122595c544b5effc44895f0c0750f218ee20e33b81018579790503738ec8840465f3459c6f4f55ce25b8aede926bfa8250074038130fd889afac15ea1ba870dd90fc048eab177237d8ead874f4f94b3883402b0e64afed2f11867b0180cd6d9a33d799c4d8d63870756188d162d3195fac7269fe19adb5d9c271507d66de01eda86ab718e14d595a0842c788265505e356034fbae1687491a993a51e161e65f7eec5d7456a6037f8aa83a5818b0f2ee5da8af850bfc17d85ada01d14b24e6ab582246740944ed3408f917ca7ea27f5f370124d0d1ee475f5ba593962df0c35ac308cad674334e098674034dbf358b533734959b899ef1c3800685f8ee072064e6712d0006c3f87578d0728aaee659096b9c5aa5b952a2c1765bc339dd74c7717f65458cd3ae3ac10fc2f0b6512c43246937f9c9fa44ee545dae6696a2069f0587afe47d87f5d7db5caceba867b3f6a67defc4fb1444f617a93bb970dfc714532714c42e08eb4f83d0c4d27c49454fdc6dece26f207472b77494347e4bdc79cb80e992f3fb8237f4ea239db0ce070b6270f9e61d69244d4cbe3e0aadbd06e00528273a82769f1012e12757bbf531d12d89e0829800502c87570cc5615ea2374a04d39a8127cc9f1f827d1865e4df29fb7c8a164546e19c4c9ca7c28253004280a236765486fc576486ea93b656a699c26705878827cf82ba89c97e7c4ad98ea0c3f3f812c86729712c682232578567e25c8f65f2c43ee3065275622b1982e629c19db4e670505d54b1be894246934af2ecf663155d4a955c89614aa22b242aa3b97247929b20f767f324d283065fdd49246cbab1c5644fb4a6fee812dea827485cb34ff289a5e92beaab8404d1378f7ff076c39ccc7ca47c03de6028f2c0177145cbc9e91fca81d74c469e72bea0101f4c90c369576bf54725952e5262f36f8b302a9001a2f443fc4f212440e8197f658d752258ca46a4889c05228e66022038a1032dd0f7cf3cef624cd03e739bd7881e2983fe3b237bf41609280c5cc9e1a7085e921996932af91698676c393ecf87a4d814b237c966c4833d704685ecb9c895332873135d39041c15129e7e040dc273f06cdd020caa07a1bf516c33318f73279e999ac51b4fddc3eecf82a6356e438e26327a85d598b9eed20f533fc29039354ecb99afb4ffae3bb42045c5d85bf0e20c9aa8c3dde63103258fd47b6b60f4886589701fc1841cc88deee10e13d1b8c712c77bd37d2fc0bcc111bf056830051d79498973f4c790dcd817f6946492cb9d1633d7b0d11b02f9edcf920d5349c9651a4f4e6f40253e0f69ee1220c0162f0564b8516164f787c32acd0ddab421a29c51948313515ddd94f54c27b0dba14a39d0a10e610da329046d5ccf97b1c397a58fbe376c0872f98245f0458643ac5380e66b86c59cd6cfaab16a8737ec113d838a5c509652c31a2c4c65be3a986fba79bf40dffd46d1b8abb98e4faa4c0133d96a31a75ed68b87806aed2255e621e68a47c264db707c1d9235b5460a36881713d47763b1affd7fcbf86e0581bc338b048f5c1f6f85f1e4dd50ab4cfcff33c7e0bef6043e8f399a1b0cc580cfad6a830698fa037b1f56f3701e1f218aedcb1bdea26c5902366115e62b6c0c676c09208a84babe9b7dd221b66c383c53c5bad411b059a51b0659ac46ccb33832ccf859f6555d4f7e0f8b9bf14c48018bb73eb53a3f359ce9fd89a3b528c10135b96f3afb610c8bd9ff15404a658c921e534316147faaeee7d0c4a5e1e2a21a2e06df0fcecaef5b6209ce052a3eab3f0473610cb7f55b35710c7f81f01e95cd366b49d6893ea1ee29243c2da88e12cc59fc020378be63c3113195a4fb87c4286b74ba12ff9d8aba3b9cf86bd45c70f57567afb12d635895368e0f137ad6601f7a48a22c538fd906b66df635a03702513d01dd8745ed8f4726904414466c3f05b1384a67116ae6397b4475984c32022b9e03460db1ba204eb96aca7af79739bb3a683c5763de37bd1d06793835ecb1cf6035e00e3e2b0fbc8ec413db2d9a308ca7732f5648046dbb911be929db730b20edfb5dc2e0aa9c47869feeb5523a4fc58410730d13d4ee2acac718ece14b484cd33b453726735350a01d8c4ca5167bd3484e5c6435b2dd8b804773e77e772d5c90e943d8ffbe2092ed72bc935fa087db963c719a1546a101aae4a06701e4ed79a895417f894f60e0563665d8b5060467c14d84d63b8c75a7968f075d5808b52ae4d904bb911a908abe38a8abee09b4facd0e7450052fb9bd68419da220dea43d32f40ac9479007dcd048232f1e1864096acee359290d56a3c15c9107572e490d6a8ebe954ebc1a6a1a0584e64ecc45d542ab5fd34873c0b6ba6cd75f702dcd2885ad42b51fd9262bb2c29a891e623a839b951fbfcb62605c585b26dfdae4828d65e8fccdebbc389849f51c148507e9367001759e33d92bff0bbf4b9274cf0aacd6f31050581ab3901edb2dd2510d39e25c0c0af4bcf9e1150dbe2b542adea4d601815d9a33caa9857b76c5c273cb5e7010aa21404a1e3de81dc027d5f84ca67d37d2e88738adc5fe2e4de7e886c55a30e9a39f67586fee80b6d02913050657af42eb2eae32fd020e0382cc0a277e0bde9ae50eafa7d74eff465f9425f147a017af30ca0bc1a2ab1c54285b54734acbc140f7c5095fae4cd65f42385a680b74599aa903ddab12a106c6e4f1d3ec0429a8d87e6b65284523c9eeb0bff3605efb3afa341ba619cc1900290b866359bebf3ec25c73847dc12e1fb5a14e41f8556e19cdd8c3451f1f1a16c1f720888191b9081b762dc512bc56283d6b232e8c724a88949139cb35115f86a5302f017686579559bbc79c1ab43496f51e1cdf3262fe883b36b7ac6683bb0a1bf38a157098ca159862c9e20b14be5ce3bf9dd776c6c8ce475915d9ae9db523ccf6860b451a57e71f3490c2faa7b1807717f42b65014735a79dd9df9ac185e3e81d27303b08720c07c7413dc83ea0d1661fd981544c279fbf8ab5d121365494ce017edb087f2e0342a7750e6e1838123a25849ad29762e5c856a47aae53a9086b74c825c912c92917eb850a89ca1cf02df6859e43410484c4e8f2617036e9fdf793b1fb4b8217192d510c7640f382451a44d66c5e34ebd0c77fff5424a060434cd2c8c5334d7bd2cec2ca04fe7120fbb2836822ca6c218e5ab8a9479edef1ff1485dd27fd7703877e4bbf02f13eaef685bfb89680802250b6b44b7d547e2b00e06b9f5a72fd45441b85e2a9b05eb99053acfc329fce178bd6e32c107ff68480d50af6ee6511c6301e0b59a70d6209bfc7995c43f503579d0bb17cb59298164c929ff6e9bfd32f8fb6d88edb4c70a4e1ce26b2d34f8c2d85ce4b3bd4c1920a472e720b8483564f5766d4477bda525b1fff40eb1c960dfb354120c7adc07d3ff44e57c0ae36a186fcb25f70ee520792c78a5255f8a9a2983334539c88c7f202b5c89e21b8b0700c7782062da2c50af47b18949e86334c8c02b7cbee63dd5962e6396a6c763bc1a86c77a8e78586ed86d773990abe7549d7d9f2c2598564c4aa53b85bb8d53efdb505b7e38683b876a4bcba424114d74d7693fba4afd48c2b7ee3bdcb2301e25c246609db2e842013e507eb71858540d6cb79ddabc39a079e129c98a894dcbc35f92162643b9b99729470b9bf4d6643a25bb911a6e55ceb00f89c044608fe39e5b4b8f79bcea1ed0a55bfa1e779d0b14f13ec4e8c56723d808e17f5ec45007f753e72617ebf9c211d89d829ec335a75ab7fb46b99abc7a985726adb067cba5fc2e6ebddf04610fb264b26628047c23ab5aaa487716ec92ac07dfdff39030bed5e8203b620652a900b52d4a334c6ed014f7ed8c229aca87d330190839da42dc373549e3c046b4fd8e8b39b2f562d13a1bdab192c4d8c527341bf6a34ab6754fb60bf4bfb67231be6eedad9faf3117593331992b7eb1111535625c3ca1def17a323df7465e65443518c881d89c30b7d2c375a20b8616d037bc4e8a50a1f393f079bcc513f0cdd6f55b9edca00ae9c9cffefd06a64f04118b01661fcf51a456abe157e520b059960a1b0b7f9c781d248b419cd66bf805c9a0072b33c7cb4f3a91d5898eda06095bd4b42a1d18d48c90f63b397f7f5c46b782e2aaeb2d0ce8eb52da1adefde92177d30ee268a020b3b6d246e980180dcd6793c66e272ee7b1eef164e817c9edbdd649b99728ed7dd0173cf7a20c95c4f0f5a4c6571ff2cb21707ed4ec2be9160a0a13540586fe436e608680f97b4121a04234449b86f6cfa437b983e08961c64962f7d035535856ad97b663297527365a82bea15e51e0ff47c6067f93ee592bd5fd5d7f70a781751a1d137f1fa360f51bd0829eab6376ea8641beb83d14bf5bcaee8d8f2f87382efbfd8002e7d4a27b5bef8afba522469a4099250e67db335e5ff6ffa3eaeb6fd000df5bcdf648343d25b60443946b4ca4e2a377a269a4189f6a992d310dbc70d297009c3f1d8bfbb7b1fb0073127bc1c7330e03788d773095d866faafd5dd92ff4816f871032722763d037b24292c9ca370157fb1c35899ca4ae33a8824d12328bce80622bfb0b0f875bfd0c03eb92b229769c3186f8c589aa6b823c951ae5d03506e316071be360885a5ba43b675c9986e77914cd0b96308a24c1c1a2cd5738bacfd7a012a4c293b110401f1c20fc1f9920db6430732aef735a82de1603d48298361e9f0098854282896a884b72bf680060e2f0f08d5bff17e6649e42d2b3301862858b7cc67b9f7223d60b58db68ae46e187d586279891fecf6f2c8222d8d420c8c42218cd5ec1e69368e9cb2dd0e8da82c6bcb8e624b8332d70e416a66370d40c083d67a918bdc1660004a034b3c8a52152979de4046cc34af5e581bda859c53be5e0f796b9c5b65438e610350f84b70dc8dee95118ec6a77c860aee8d6b8e19a2b8ad744b4a22fec5a1f175640ecfea02953052bdd2af35d59da66d9f8843fd67244075946a3fde33d7e3a89c673b5d3073fc3fb4284117cb97c835dd02d7d096e81e9fa3ea1a030c49ddc22a417a3fbcbc873d72a5fc7449fd474f3a1a770a88fc4cdac0e6b61bcffb5460d16051ea7829443a8941f2d6e8479c6c5965d793934c1e958cc9651a4aa49795a63a90804f25c5258219474a04be0d54980e4d64334bb497d04d3b9fa2f78f441986483fbd160fca14c09117823f9243d224044c01c51e7b1dc31c8809cdc3769d75e7e96dc3cc3c443036120d3bdd3ed7bc6cc2e19b19d18c5b76718d651aa46c8b2046c7215f6bf8605b313aeb4960ef98076300357f757e982b941cb6cae642929472b2608c2c855eed4d53d171c6430a34df71a9aa26c0d6a1aec1f936b6d1116fd887496af7d29529e4a302ff0e58051a3add1ac6d1485754215c0b4e7badb833779d225b09b4219d40cae01ca73d8bcb9218913a93f5b736d61b3a2e2eb8c688a41629a601e0b55fff58491c6e48ab956e541ec08902497820b4678b3fc83ceb0ac080b139a0b0c2f9de50f30b591f19936e14e747bd5bef5b4aaba4cfea8a6a56a7fcdf1b27fa5a34d775e20401866632fd5d9552ce2bc771d61e7d0751cc14e485f7f8700ca09323ab6661dc64a8746f5009b86aa4ca2f16c52fff3bfbb3b560e99c048f3dc7f13a9f0552db8126354c9e1cbb2ff46dd18aee362d580efeb0d41031ca1ad79b3c4a17ad6641c968540e4bd0d6240b0ab436c695c0e9d8b3d1db649eee53b9dba7e4eb1c31649494904e63409561e09447b2ac1bf151697b20e71e1d6cb170a35c07f97fa25dd377ace332db5352ff93453a90f00a7d0d2bbe30364f9f70a36fd75f589d04f067a23903b886ac6696f8444dedd9e0ba3bdd7164759a314ec1e937a28d036294a249e9c0790b91cb495427d5abc2edc2df23b80fc9c5772948971b6ca161c727450505375f829918f67b63cba68459b29a3b62e579365e1bafd4cd5c982c567d88e8713576898450c52a7dbdd8083d596d21d8b1ddb2191d35391a9fa045faefb1a4cce359e0fa1385880f259682fde226dad1857899a103ff31d11861a5033b025593e348fc20c517ec05f9002914fcfa30e4cfce67f9c18b0de1e9fd68fa7a1547fa70af65afffb2dc8c28a0281efcfeed506a5d20d8d60aaa645b16a447aa313587aaed8a94fb866fdbcc24c2d4358eeb240b6550eebea8cd3d38802247c037178eba578acd5a228dc261f2fb4801a733fc0cc8b0af6861d28c065226eddc0c0931c33b939d351616ab0dfd29273069faafcec8199c025aaf134cc34183f33aa357dd3e57b2ab878b7b6a34cb6a24b542f470e519fd7be3948c0c2dc99d943b27ca73a6fd40cdd816d566b0549b8f18b6d78adb17286648a504d9acbd4c647ed096010649967a73224b2d22db935186600ae73163c37fd9db3442c54fd03cd754d66292bfb2cc506f5c1f4abe479e4a8e8664babf2864876c52fe125114b1eb3e3be81c7ed1727982b757cd9830f856ac5e01dac09cefebaab57b979d896e7334c108e0f87b3bcad4894d044dea69ee5a0fcdad371f01750daf4e828a5ab779f80e98d516976b6e89d3db1e6b0a11e061cd0a286e20f7cca5172426207c60558fa4a05aa515b067c6aaa7aac10f555f72fe09d773d4ce1efb7c8521e1b88127fdb8f5d5ec6e064977fd840c116df258fa3fb0beceada126801c02924bcd90a9282aee058f0b317118e2e30aeeae3c1140f7fbc2e2182cbaea3fcda2ee2278e85c39b694b45c5c3528476ef8725d4dc2f0e24a069457d7a23da530b96b185f7ce80f40cd8dd89509d4d46e123324fb6d0823350ada9a2727f75af4b0d3bbfa72b5e2dd1a395820ac4ea5e4968e53eb80a660cb330d05a3110194d14607f57c470a856adb1a46b0718e209f29234f86b887fa277e8cc04e452c8607fba7e1813e031eaad541e3e675196a132b7dd42b1e31553205280f1e267424368fbede814b5b17ad685e279f18cf7c40eba0ad71127a18b8c86bcdcd601ea270e212b5c0a47e8f233ed022848d527cf9f1958fa69e064ce6b6bab5594c21c18f3755fcda7fb69beeeaff9769fe65fee83e48b68ddb84e14855d891ef18836a47a5c1f37668bc084331f729f65c90fd42754c996641885d11f48e8b83e7fa7310172055077bafc14d49607d10d168a7e88167c302287b4dd580302fb12b17791a1f76f706e4e007e80f33dc56d749d40af456921a288e59b564b703ec0613e152fd8546e90ddb078d41dca43d73b1eb2025647533c313c7a1a96735596ee79d0282d496442bd718d7d19cbfb8cb65134c2a25f23b47fc81d999f6558fc73b96c413eadcc49488de5d176eda4f81d679fd89ff61e8f6ecaba376ca57a8330d3e08cbeb43a2a0b42d913143427175dc66c266f56dd5c8f4a975ec48a16f0ded7768f065bbacff98ed8066ec4fec390d79dc49f68e249d55b8d5521e5ad3a623e1a1722b48bda50a37a435773d20dde144dc21ac9286933f20a93432039f2c3ec14553a6ab000f4fcd7a976fca19d7e00298de2fccfd700ea85ae543f42371aab63dc72fabdfd23b25d3c192849f4f75289d95be593334a04191f7f865926447ea9f91b9496433ffbde6c12148ad3bc702874c7d32f2d4a78165ee451da510c48648c678b17087b076ff9d2bb711c5159fdbc3e881be13772b2dd10e06e7260e339afcd94d8361354727b39296c7fcde44ea530497edbdce3077ece860617ff5c9036a6ef5c579821de61971a0627e639e8cb92137c86bda5a57cf8b9ed47b70dc3289cc709757e1427f381342c521737815531e01d32c69f69ee79df24cbad63dfe3d7b79e4486c2aff59f8ec4eab4e6b2990918e5941c1f9e9cbffdb2b1e7fc92ba0a2519e3e628b8a2639a12eebe5102de41e832478f94156ebb6a9a6e62ca479478b612e82902163b8def993d1b06aad4743c98ae0e07e9592980a2f90c9f549037fd14a72b6364d8d547a658ec2d82d35fd26867429939dccd1e5036ad3bd77cd94a7a48cc79621ac6d884e7935acf4e813c4adbf36b51a507592f1acafb742a97fa1175917ba076132061fd5f97deafa7aeb4ec839d964bd70f031e4525411e045e2d65cc112c918a07f6d3f99f7f229481ddcacde28226023bfb9450f917949e26eade7c11ceb93af4f9ad0d3b1bff36bde6d25861b9bc1a01a62ec7a10f2250b6d448985a74591bd8cef851efbded3f2b377f62685eb2d7a5eaece57e2753ea7eb8f58047afb2c5d18bdb8df66894865bef0d95645fd2dca79693bb4c8524e7a95dbc38ee169bdc566b70254e6ecd7476fcb77cb572c31176a6ff69dd6659db14e072a3518e3ce21141c5f082698f2134e75e94888a7940fe5afd6fde5a8de2ef38ef45860d5f05bec3944a66ff0dc7688ff127234aabc7a380f32a6eb89e62264acebab8d64b1fd7ed2b9772461c257ee261dfa3510707713557198454611e421c48fe7037cdc7dfcb724150033db594569c0b323a0fe71e9051497246775534cc1227382fe6de59086a5f6e0ad6bd691b48925c4f637f64c884505b03cd4c66a01b68f522018ef2f3b39bdf56c046f2a97776071bb7406417585411fb210aa357424392fa13fee2e2d9894ed2df71115d0cc6e5f26d51c86f8b54e3e8fe4c7fa97784694acd7e50267c94efc3c7d6be3a81e2504bc0a0d78139a5910334f0049b71af8d06ece130e1fbb1bd30fb153b0e2444b8fe9397c6a9f951c60cac6b5a4ecf36db44be5b6843be94216207ec3900a12efb9557929eb5c95d422b1fdb2fb38345901f656d99f6b99e5eb8b6fa51675652d46d29ee61ed3f949591d89fe32a5ed63226b93cdb10305149d3611e1af10b30a35d892399e5e2453db1e26007a06058e7dab9f789052fb9e104a176fbe1f6907c9a9ae8a212fea99048bcb2c675d4e5fb5fcb31b5759d95d7e65040aae77e4a9528d1ca949036a7b3b9500316f6842fd70427838c0de2459731000f8876805a2006e1085fc253a4af41ca5117863f96eb5be0a53dd86d5dc4a7e5ae3f08d5451cb0b8540f0d82e00dbeb43515c58e7d9442c3fbe9db182dd78867970cc902092fd01479f80c24c47c8244cd477f8b0c5cf0611949107073df0ed315ec020cf81deaa5b17523b661745db4430ff0363986d79574e05c20d0947dd90c42c491d5bdd6236be8e4bfdab45c0e8c7ebaffe7f0b4d15066c8bc0b8f1b71f8804d958a4f48d4e5b87136e6d33fa52e566037cb981d79784f769b392c3ea262cd25ffde28f2c01f12cb1f85ad7cafdfd19c26e2c47b42705831d6fd48785c8b96d78bb751cad468d88517c1b5b39a777484b1384e36268414ee885b3ca16e6921f826555cf48f0838981b747f98cc894ef90f804378827066b18ec90d57023db1a53279e0e358f96dbdf883bc613fff3f6adcc0fd16bb1ad318e8f0a0b517ba18e90c17aad68fb41989669cd2f35a008e822473800989af518cdba6d314d382ebbd0784244af20fc2e40195e250f2311bfda0fec89e281e16efaf033c46d3c0f45b0448d318890738f2a2ae06e9b807d78c3e0966d925086b34c20ba55cc5a1467208c2037b14f0f54a0f7ceeab881318083f08231b5bb084d7af6d2ec2b9b7e55589bb296edc766fe72ead0c4901caf8dbd992154a4c515845fd1a9702f8546c6449d8fd0e8d0a38c26214601701e7175e6c6bc2254981102850b0f473ca416b79308611705c8652a5aae2dfaae2f8dc781e67976b0bbf72d55486bfd120fd553ce68add52f93f63b85ccc043ad10fcb1240abb20b5a85ecd655bd99938504f33d19be35a4dafb0e8fed0dd6991ce9bbed9015f7310939bfc0d59733b5f7329082069c485b8741fbaf0b1ed743689bdd091c2f5d6daf031b6dd4c1eebdfb71ae422658adf0ae8800c10a97bbc2366eb427a29bc5d3d22255bbfdda500d6d4956af6daa4a60c1f2c71c142ec1aec90c3cfb137ac26c311d4da4caec0f78e0fcad6724631344f5b822655978f1573da5967809c5c69eb438f6bf1a72a1ffce95d945fb30749414e3fb0c32978058061d526156b0b28016f24caca3e7571259a081166e5a852f4bc5ef749b87259043c2a5d73d491023e60851c46e4ba9ca6d4e497903d62eddf52daf838dd85fc92f840c70467b72e660532321ab4780ba76e25a8425b8545eaaf7e4a71a438182785231423d1092b34c186c7cc872c4e33a554cf43708f9140dee11950245a3088430d950d196b64406b3aa375e0c3ff636d796aa3763bb58061ff390b8e0dab43d680421fcd1eb06f14b608a79e11eff980509763fcf8323074b3f62e2382d1ce617d00b02812bad38f2ba5c295fa9ea6bcf65a7704b12f06c3f51e1ff4c56e0e0c9e5c4a466ce1a044b6c81be7d76d8a413732d53398462469e340d2764e445af32a80f8eed237e246da4feaf40d8b2d1babbb2ff006b1c51649cf8a6c053075756c146d6935bd3378d33b52e43679bab7994dfb63162d9c5326f3737d62e59b18b5adeb9c082568ced0dfa684334b18bdf1e0511e2311e0a7a1048c353ffcd33c3cc8cd22f045222600afe139aef94af9464682d0c5ad44583ca8af62c5dbb0f7bab76375e9ee8eab1734e76f52cc98aee9fc41dcd7f554e5c64086f6f19520c27bb4ce9db46dcc7b561dd69b29650f25ff070d083126001a4ed7371c7b7c15f1a697cdebb2fab45545bbeaceee10fcc75a20a8b3839a8c3cb728de54b78c3c9399e7c01223e9b82db318c3dc4c06bc7a60b2c9c3594d166e2740ac4a85832e25cc8e565b238e75afd2ae6ddb912a29d776aacc19c45950b9b31626f16e03a2494c50c2882f4267f3864870d86b6dc8391db0c11e19ba93ea7073f8a8d7bd3a05b6a6c5d7baab0dd0b2222e2982164141b029f77e3ce6b03984990e5826aac8a0fb9820a76fd13c477395c54cf59dc6f2ba680e5b34de7561c2e201cdaa8a53875b55dd17437f28e0c5e91082870b0cb0c10739f35b3f1619015b2be46458e9733adad173d7448277be4c6e707cc87ba5f8b18ff3030195b1b587f177bddc9e4db659943311ae92aea2c51d6195fbc7cd6375229eb38f3778dc71602e334da822467e98c21ad6f36f62b95796df302a8345df656d58e6fa038cf569cec0e136066bfdcc46c5d9b6bc0ee603c8c25089f28cc60663106fe748f5a9df31ab77d8650960baa617abb012cf0d55302449693148b66eb28b8366838a782b88e34113b0457d80351dfde87a05240197ec6fc9547826fedd6e82f652d323fe0777fc4e9f3fdd6e231154f72b3ad0a795c2741bd2fb969bbfb8696b91fbb0890be5a6e1d9fbeb8c170de9e9409e75f9ae23b0480902ee613af94afd0b89054c96675865414b2925c71fcc0fbf6570e3823c655c436208ce39f6f389a9b19ace697091d8a46c5e259f410ba3b2a24e9fe2cf500f72845946e4cd404c85a9f8916b143334e8deec15bf2302c2545d0a265ae6584467b4c332de78f22324d583ee488a888f06029aad43b90909f7a8568ce66123833c0a69400c93fb3981873891abaa06f79c5f3886b7693f27333718de1e00db2aa985e7862a26ca67e893df614855fa2be40b62cd80244c2a639c9467abcf93dbf5955fab7a50556ecb291eaea73cb4c6e169f6359b117276e3861e9674dc586eddce2135b4990a7eb6ddc766cf474462e9d9bd2d2a7437997fd3f3901854c256826558040c7be0814bcdc928946a217abad9cf4c9ad9d0cbdb56e8c32a21b4a1409754d29216a28f04e9fad9e3d1c66347cb2591236e50933d31e7bca8930e5ac5ce56e6d7a342973b617237a05de4fded445ae5be279e6b63a8cb86515b20936c9a655d8814594ca87e8e7f25a4e70511b545b46bf547fcb85753f9caba817f053ebd0d3bbcf21a6960134103bd72a7c72587c958bf374b4dde92050eca236a5c120d282d4b46e5d8634a1ccb0588175f6f3db0b180bdbb6465abc956bab8fb41c449f28a2bd01bba95bd8f5fb5de91958e4a4b8b8aaef443fad87e43a573215248787bc98628a055d9149ba65a132efdf64212dd4d5f75c96c0bee920d8d13efbab3d10c13bfc57b02eaf214a496aadefa174c5adc66112d342cb31e955c9111f27b9707230f266907124d9126fcfbd1280fc523690668eba48571af7b22ca5fada5d647c9f0092c229b4d0a0fa719500b42f68e8041be033cd9a4d66252ea734468c899a600ec93dbe9f029839213d4b421a4475c42a298611744ca4b4986b4f9b6b910779c1306b6fa9fbcbcfc333adaa07b8070c63595311cc1dad9723a6066c784eb3d30f79cc266ac38f4dab6b150e438aa9f9dde9a6b74f52b9d81969582eb98595483dafef28feef758191d8341f3911902356f064b147ba1e5e7d06fd754317e38697ccdffa85b32cf7481521d2725a46e99826e72e2c2843ae344329fdd8ae7dc50b847b093af2a9e308c3fcb7a18be10952e681c6c49467dc06ea5444b8ec633611b9076124e4675fd694811f8c74482df33a8e08c73386e799220ff71c6ffc7d25c11d3209fd1cba4a9095f4268e25f9db7a6d56e670aea45087175e7ceffc7b0a91096b4c79676e82fad8e2a2caae7be5fe883f80f35688361933bc49b333777965ce0330f0b1d92ed37747c49687765b5e1c3d32ca35d96b577814be2e183ec21061f030c170c2365c760048d8a115d3e3566c860ba262367b46278f883d62841c45193c608c0bf71a0617f2836363aa7a36842d19fcaa828daf651f89396d7cd422cc8a36e728f5bdc78892e236fdbed332f2b6dba1389f888b706b2e20852c04cfeef390dff46f737bf91fdfb5c314e83b1a0f66658716f6c0493ad6b82f0b701d23b44a1bad97055bc9e9b52f76e0ee328a5104deaa592a8501566723f2cfae322ff2865b140ba10fa19f772fd7aa7b01c3de6f14b2380b72743765addded79cd2c25f895c670595bed91eadaab640bc8731f4ae2afa9655a2fd0c2bd23cf9e9f3f2e414f072ff4fadacb474ba61542e5005dcbf4a909888574846fce66205b07742c26d267b36f603aa21b0ba190ea825c5947ae29c6bb933fc9db01d17729322a3c836653774c9e0fa10576b0be8571e549c78a6a9fabbad0f5412b99e094fa086d4ebe80c469c40a9021fa44ff78f8aea6050fb40cdd5aa097b29c72955de8cc2440c8ec27fa9b1867f62cd0999329257b16d0eb70b8d36bbc3ad27911af4c0628b4cd167333f2a17be9e21722f3bb6f5d95069fbfb809971a03d2e16450d023a372b557d96c6d0301965d616524cc6c9b7e3b04ec312a6194c548a62d2d30687c770489d95e1633e2edd3d50681f4f4442403cd5299ed0f4abc561ba93463155244db745f94ec8ad2b63e9abe64b06aab43927fd52652023d0e5579508884ba7227fb7fb438a3c66c9de984a8893e41751569a3229cb21357dfda3ca85a4737a5049ac88593be32f3851d9b82c5a7d5963879bfb2a3901241e7f7f44014f345158e180474cfb73561cc9a90c4e584b38e59d93a3a5a053491643e5ff9665742484e22b093e76795344e87327088c47983e6dd208792301f49b42be6902abf22b0c509f311f36e2f9ae85af9ae5e26607e6b62163d3acfa8d8715733803ead17b2240813ad794ae44540f3d450dae8f8e8054d7ef1c6edbd5ee499ce3d6d3eea7d3902e8408a9d3df719e23cc33cfb2d3216a625e506b00351c6e362bfd646fa272bc3c21b3f9ee8560794b9851e1097739a7708fb0ca0b14e7fbd6dd01de1123c54af893759ed4cc257f783f925f3a1796bd3efda98c7900f6dc415bbe32699d277f610c3d0ec0504f5799d118f7cc604345ca7b0e83878fc75c82d9240b08c12d9c07a409569277d264ef7670e3b71f847f01bad34f019b7b1cdb808cbfd6cffbacccc18ba5d13c7db440b463a70ecd5da0c78bdd35fe17509f0b32150825afce3b7ef7f9603c00d7dce686441e3737549195a41ca72887f6a172b58375b0c57a489b83c2350db25eed526389bc816c0a76e536e425b82a795468fd2687cc2440635a3fdc88f522c5758e2a24f29cef386cd1850ecd03356f18d997e059a66e483b99fd74d89faa05f1716e164fd77a8445c32bfc0104d6325aa998e3652c165adfab8ddc0a45f41fe21665c71c32771997892cad45eb012059196449ffc7c9a9f51d009ed214330ebdb5481612a3aed52ec4baeee79cc30de2521e88ec50fddb62a387413444f78ef142b876ee0b5ab0d8051090d82974b870b32767c05f20a82c8f70ed5283e3c0568e0bd4b6d9869163d30046507204a18077bc8e4da737e9f61c2dc7d70dd19aae79210a3260997f932a1d9d1d8244aaad732f1263967c22e15005f33d6bce1d565cb58d34fc19fa6588d825e674756050fa221387f9ea66b3510966d8d7e0c7e1132e2b12bfcc58ae4d303402fbdcd945862d1ab5ed8a70b0ce3287d91416ed7f2d254d3ba7720d87c6b88720ea5a682433323c2e6fa25f5754feec11d02c5da336bb0464f7e86660c93df599849129e63ce4e6116cd7a467ed23525ac64e31e4ddfa77cb024bbec65e4fd9d6eb976a9706d0828f8a468e49b99d25212d83917d345ef87752a044f4f0d46a2153580a46ff12edb75731719b61cf58a496dd1e6a934b49fb19def7cc00f261eabaf5ef1c2f389f38c9256dce22d1854f9e4b5621de4b275bdf3be620266ec027093f461ec4592ed714e8c5320a63316744a4575563900ecc97c9e22b36255f67201f48ad0a3a2502c89005939306f073b1418172e965b43571b91e88d97c5a5102cc30c880cb0cc51e7cb45afbb2a479ee8dc0f423129a679bb9ba7ef6d87cc8d4f4d5ccec5346bdec19dbd382981c2a6e9cef6b0775a96f837b7dda2a43c6469cd8f48ced357d44aca94aa1c903b827f95ae8e0701ff7a5c6accc7a551f875f30890f9619784d5cede71b476b0b1ff01f00ed2e6eb9dc7c55d594208f817c9ca252e804367f63abec75463fe2d83cdc63c4ae2d11ef61d8e5267253ff28b0acc930f4140aad1360075df01652928548189ae62bc700be2288791332002e93c953ce018a825eb211d544c38c0c9ae5c889099515218ae036efd11b6f9f248fe1c0af001da00a0403f853df35d6beb5d606edaf4056dd34dcb0cf831c43e6074504d555abaa959b99189e2d71dd1f9d3df4b0a830f0536ed1cf0343016b45e616c8afb5e2cb08166b14a8f919319b094cedbc39bfb6a95b5f0052ab3844629e37cd2e9d6c002ed2cebfa4fcc31973caeb4d94d262d5e22ad0c606b897f21b2b5a54230b7bc024eaf553d09a70e3d840f08fa8b620b475d2aec639b7ef9743fbce6e9148529d230af07344ae664d58a82c683d3059c3d056690a10d9cb819a17b3cc8785405470fc6b4a1d357307c33704ca78ec1467810aa00d51ff49d99b941cccb8004ecb638c184deb26e5475e85c02836f667a675afd30a9400c4091afd39aefcda4404b1a31727650ca1a327bc7ba3d83c7096c4a64d3d40bbf98efd32287e3d2c2fa7b4bd61669bd988961241e58350acbb393fd4bfbf2dd22f7b1942fa0cbc83b98ef549036bb43b350cbe54e95bf534e49bfd0ca3b65218955ad0a63c13a90811ada7ae701348886111007b08ab3e877a00047bd49852d38a1425d75d466e5c87730679caf389e1234384615ca0e6d2b92eae092ef689e1fe1244b86dd80ed58f9428befa467f4396743f8871822b3b8376cc0cb5e0fbda5e633fc6561bd6c0bb65abd6c0b0578bf9a103df42cbe6970e50c794c97e8991e31a71bcba250428bf13ac126398fa0492d3fbb1d64d3e161b84c095b28709859c52b2bfcc4c750957c1b4882009d11bef8ce24ea9eadcfb3ee9fa6849e215dc8b4d947350d24675930840054aac256f6b1be110ce5f99c5dcacf2f1f67a8cff70757c3668fc95c20104543555cc918e8317664bd86d942e5b2deac63f252b5b3f5b823dc597a04a0d4e1d00e499fd35eb041a3e05b0dccebcd793e6779c2060caeaeac588ab7444133ce02b6c9a7d64ed8e5f2085f030c7e27a2da5300828e89965ebff03f896c8b62e1785b0190d0de46f290378e94bc6902108f2370a5b0ab707992c55fece9a3d888096dd1ff37fa5fb4587283c2e7d4dd732393715d088f005c4c9cf506472bc83a65ffb10222a497096329332acaaf4758cd644f663f7e22451aac7a038ab40e8954209a594d0795c550d15172fd55c4f0e6f58a832e1c17f64aa5dad57bf3395d7112dd42f81a9e150ccc6d73cc28182533be0f101a6e97bce6cebef9db2b39ddce4348854760a009d7d1a4b5bdbb6d29e596294919770852085b08261cd51069e8d31a0e7fdef7157f284b6d481846affe67d3220096ed3f1d56b8ff60449aeebf97fc45a09509c348538a40994635c495bb9c867eb52f280e7f305e0712fe0400a30d6ccf866af4713a96e97f0d94e96bd78fdaa3ef2ea75fabb528d4bfe7d1af47ac24c2f2d51ea5cf9dc016d536c140065ae13e3fdc100f869981ad62838f434894f983c2660777821713d038d038bc4c71bfaa038d835dd9baa3fb90259199a3a926c3f6e8a52f2703e1c5042f537091a1174af003842b50c1874a0cbef0bdcd30d8b6cda53f952412fe20bc15fe57898378d2fbc9066574c0cb40e4574ce7965d19d557db973e5b913efb96cf619d9ee57b9c9ee5edb3e0224a2ceec1f22db848ca7e9194c5a92236fc44cb979ea5f44fb09cb009cfb417597e7b1f2dd8c20e176931c2f491457acb8295a486b0dd5bc84a99708a87f6464096f6474416e9e1164d5fdb337df5d2e96e57bb991582620e5789dd73e894af0d0ad60a42b56503e8d9a505dde1e8abe5203e629c1bf6db73197dbfa6ffd59af3412120f5efb7e7b5d2d711447b2eb4e3470e4207c531670be104d1363abad6cf66f7d7b217c494ee1207eb38edf9c7abe30dd6330f763b54b971852f13f847d42a7ef5e5abeef19e2d8745baa9c6a922365c4449e31edbfc54ffcaf6455293c5367e62e54f2b18f5040b2e525f489fc362f96aaa218ba57f7eceafbe7a69f989bfeea1b77fbeb0f47dfaa7bd969b9a2e17eb7019c2a9f92b0f59474496cb47960b46a265053fa1a447cbbbbccb132d584986534364a921ecb74bcccffc11321fe3653ec643d60bce619d706aba7c8f9777c14594705f24553fa5fde9718a7e6abe0b877bb4a42a1ed263e54b381a4e15f1f2a73fe2e54f2c7ffa274ab8c8cd0ad111a75ff915fc040bf6716ac1298a87f468f99537225504cbbbfc112cef824bffc40a2ee2398d7f0bfe234a4fb89472581f1c4afd77f399cb43168cff3cd543960b56921aa27ffec4402c34ba2c7fbaa577b92bdf72bbcfae7ded9a3e76291e316f0464c5fc11f7651e76a9f913f398791f172be98f2123f339ac989898fb32b888cc5fac24fb98cf616d31312f1383a3cb0563a9ff7ff9d37fd1f5f2a947e2e55338359138fd63973702b25cfe88c86af9c86a799c8e7153f3539fc39ab9a989533c661ee639718f1831b012db37d50f6f11254640960e8fff8f0c60bcea59bec4f2301e09968781571e89d2ab708ae23f22b2ba8facee717ae64256ea46d68dac2094dfeea1b09d23939bb37bba8762c8ea23424c84501806ef380ee265ee5f5c32edd4a2692cd79aae8cf6e8976e77add3504cbfb6583af50be2e56c013999833392ae0b1cecd740d91d68897f0775166df305f1fc49f68fb0541c6aef497bfeeedf40be8a306fa1ec4dafcf9ae58548481f4919aeed458833fc2a9765771ade31bfee98b8ca7e75d793143bf6b4aa0f7f6a51d35c8b2018c1aa04d159fff0fdc89e65dd0e55960b681a1d363cb6da7de9b3dfb4cb43c71756fb8e3272b4b0db213fdfcbf9fd98c8367f4cdcb4cd8dcdfef9079940a60b885aacb0620f78d9f10f986befe6071e32cf8bd8e50d36ce8cba6a8c6270c9ba3efc6d6ad0a54afd78055cd91a78d50bfbd95c3758031dfc0f72adb556ffe93f1fa76bf768afd6777183adf2abb4f9aa5fe8f593e855ad6db01f8cc556dbc4af2fa3bd073c27da86d69c6532be0fcf3c1e5b5f1f5fd81eedd5eff89195fdbc91953d644d1e6dd3803008459ecf421e1b8748650d076cafd62ffad136f593689bd48e2cc7cfead7e8ea58ebc7c8d35e7dadbecb1bec8d1a35f1eb1360056dba8654c3c1d8d32e5dbb9d62b1f146843d401bd2d7878136da57544bfe6cae1107b99efab54bba32d3eb9261878387ceecac5dd8c40745995e2dc30e478a877fc540eaababa23324651da4885bf5c2c62d6bd1042b406854b1606726fde6fd067fe8582b7483fdf99eafb26f24da6f9e610d73372e6db03f67669d757a2c25d265c606232e97112369d049834e1a5a69d049834e952a55aac46255aa1c1d1d1dc160474754a85091424424454a942851a614154d9922458a14582b84382084304677f892104268829b3b8430c6186184179670c0120ac2186384114208a7179ee75e121b432033907e7ff7afa8cf02800b24b8010c9c98610a1ab0a890711aa7a94094231926d0fc993f47b97f26994bdcb3c071f79a1b53964928948507799063cfa23d178ad8853cc883aa07b99067e1421e046968407602cd1fcc9f8ad3b2e7055f1e247b3cc8043a1e34a586e19b41192c837d911d5571c70dc3b0630deb58c41d6b582c0b361ec5604e34effc79a01cd6366f767952fe74f6e4f6f93db29f4f711157169baddc19cc69700e983331b0204be2acc8e7842c79b3a29b39d1946223fea42b2b82d5863991d348814da149f1a9566cd0074bc48349eeefe19f2a22b2e6c31cdfbd0713fe100f3d69af5d0eb527bb566b99803e78f468af79f4f001617cbd78f8909255283f58c8157bd5abb13ffe143a9eaf78f4507b42d8f08ae245c58b091f1a9a52b4ada03b1c4826d7cd4cac247e06247e6718d59ebffc9681e99152cef8a366b8f7ee2b8a605f24299a72a404284622b266d947231c8b8c64911b4d81c27eb1a8a8abd1688a11f421592622336c1b2e56300677f98ef378cb08162b1a7a1109fd0005f548295db579bae55edba6ca9712c3dcb542140ec8fa5e280f895fc485fdec1898b88cc1fa94b4f0b6f86267db58beb073ce596bc5df9c73ce39270fa594c258fdd634edd6ff6a7d54ee49c2b67291c5e3443f0ac8fe10f5d4565090af9a27c67878788a502f3b14234211b910ecd7b1dc9f65312cc0c085fc3551154d58022c7f1d8406245c410cf96b1e7721d80f15635996650e643f146a46066606eedf597896414c8278d0414f28810e0fa6ec68bd4283cd574eedb54b2937fc31b2f75e861757ae95d2fdedfd911d7fdcc7cc7d768a77fb915b7e5bf92d9e7ecb6a45a1bab73f41e8b2b2e2b2f274facab3f80a8ef8e36e38e806b7eda3b8f43945e877b5fb1afa1dae44ba7481d88722d3fb79ae2e54ab5fc2df4dfe50af752e1848574bafb9e0afb3f5216b1f0a779446aaeda84f5ffb9a7883be8649f48379ee3f1f3289ebecad117ba830a52e477d2030a65a61e094aeebbaaeebeed6c41eeadb0e66eed2af977b17528d788323d1ff88f4d6dc89e21a74ab5fface0e51b29fcc14a74a35e20dfa5cf7f63f6959ba1cdd0339b5581289f4a80e0789de6cd65a1fa71f763bb25c4bb43eb791489f43cbc9f47e32d2e7aefdee713a27d7883d7025d59beea6fa1af106ccaa161f32ec548fd332cf7265e20cd93632af51214ba9306085ca60d91efd181cf3380ee35570e67e30704aa5d232ad524a77c02915ae57c4c07e9c0fe7238da00d973c6769d6f9b4d359623bdab57c350373401b17d4365345bf7b15fe88f4c65d0ee8c7aa5e8591ccf8eeb7d9eda0dfd157bd768168db935e75b587dd109b863ffa4d4492aa7bda2de9d58ce75ea76926cc9d1c026a1b6e09e70421cf90c90a9ae48f7ba976a07a49653e4c7158889839ca51b9350aab61dcf504c17e72888bd2dedc3622db0d1b84a3928a84714f82c26eafd27e7b1555611b96c60c3bfa9d0fa55cd7d31ef742bd901e45afeaba19ece9e99f1e087d2d887691cc787a3b9fae67c655e1cea7579d0a4ba3aa02cb11b5379f7b6940b01f57baa457dd8fcbaaa744d0d75440b4d7be1c9f4c55aaa7f783459926c9090a82c70496c8f4e9ab2e10211e8738c421562fccf47e504a46a19e0818256fda1542b38acb1bfe88e4205c3ec9a1b621a95435c9936668554544ceb83a4ab85a9f52fac9dc7dbd4464a6176606f62322b3cbabbe7e7755cfdd192e33aaccaebd7739340d0371794d491332d30edbb0dd9559622232732fbb1cdc0b811c4632e361e7f238ad6117d51688b0345282dd70f743c25dcfcb15f64505f629ccdba47ebe84b58dcccfa7176687c7e9199d26d8589e0fdbab3eedcdae62183f43a5571cc525edb917f76a6ffe7c08b17605bb61615bba9ee9f559fe4b4faf86bf48e9d320cdb83a4a54f8533dcc248c64c686531a1642b3ea5552c480b55aad166bc66fdd0961fa1c9c9018874cfa16eea543e379787b91cc78ee7ef455bf712f5f492a4d33ff28cfe788f28481bb19dcb5da5b316281f27c1a5789ea79b8533c4b0aca52527fc6753d6b87a737a57d139ee9c34cba290defa899be10fa6df8042c3745bf014710fa1dee8c4d2bcd8fb9920acc899d713b9fa62183ed62f3b957d6ca937ba97ece96d3cc69058faf5ef6c4e64b179c79beeac22c75da268a4b99ef47f3bdca7cf71eaf72f4f225525eabf4c677f2749e3c5538abd2defca451368234f327ada8db3e271a6f498e1f800b73a34c7c1d2e00ae8ceb12c548afe40f959e6fe46b2bee7f7d24528947b14a4ed22b69148df48a030ad2abae15a5c428f1099398455cf2c52447a21546a8c023586501bde25e3cf4aaebe1e6775ffa0f4a8151e0931ff2577de0217f75a6b5b05ffbe49a671ba9187fb68fe4f8177fa82c877c15a7409af854ea518e1f6308c6509ed107d2c44f92e3abf05797d82c983cc976f284f151f8cb78b2941c1f461ae5f91c90afa20ea489ff02e402148fe4f827a03cbf6bf92a09c8bd7c1504a4891fbf057fa8a31c9f057f76a56be519c572afaec757536e5dcf8427cbcd8732a60685cc91e1419258256c37ec73a7b6e90a80c142e981155509363e7c77086106dd7617a71ccc9777ca1581f922518a9d2908b1aa13a410136295a811a441bb7727f66b6b52a3566dcdd41d996ae4d666f8f46fac3d3dbcf4497b14562b9a60edcfbc4cddf1150cae2d8c6bcb51ef2fefb8b6daa3b5e5b4db31ff054ab839bc13f572ca77797939ab4e6d552bbc5575ea4e7bf405f6b33b2a3c835358e6448dda06359ff4137f7e2faa3d4a9f64faf449dbc460e984093768b16894f6e86989fdec7c87f97929517b30981ab1fc46616de3fff2f35d8c7eec7c987ff9ad763bfc5f7e83dd104020eae54f14bc2f2f30547a05f3f4a911cc3d350d7da14fe9c3ce05dbf66895c252a2f6e8d320d84f7b4adffa8abe8c200d7d13a599142cb471caf44fd0c6cc94d69615d6ca1d92e5cfda21b2a346993e7787c4bcdd0fa686e82c3bc3ec5fca4c2b08c3eb05b3549625f942515cd236b0c9173e0e2425833edac6e1c7ac02c13a81991882fd2051add6c704ac116c944c4c87b08c082d4b4c401afeeec47e742ad6157926f611e34fd4015c3dc93f28c29437ca59847a8371482237be8a3a8034fe11facadfdf06b6e30fa4e18d9d60a2bd13119244201c7fda9bdd10fd99143b04fb9d7ebe1f7f5829069bdc3efb2d4681c5b22973aac2424843d66a23d75ecf204db0bee2b08f9f2fb79fff55cfd9937e235d1f46ec941323e17efb4d763bb2df7ea39f01994fbdc26e87f6157ff39b8838bd7d5d712fdf47db905e3e7783348dfc2de32074a26d3acb2f2257510a3b4d604bb29452bab27c28b3d9ede8e963021d3b125ee205f683b1af7fbe13beaa8134f26b16d09ebf0fed49ad7ef645da93184696bc35373d3549b033eb700c89b2264b11c0152a8a2ca9c852caa7812d42332193b1e5447bf24b34b051a8c36208fdfa5285752ddea7b48d11752b48fa2f28b0df6f3d7cac98c0768ff638226b92996b0169e86ca92f1a89e388ec96214764491c91a5258e23b295eb7268ef63850536bb316f9d10ad15d9f82ed4369f7c31699bcf5d4340f995dd24da4b65bff2392c6a7afb3d4c6f3f7b6bed17916ffa1c167dadcba1e50cbb108f9f5cf68b40424de353fbf43bc89fd2772168837bfac5cc610869641f81e85317a441dd5e17a244f4b52ed824daa31fa7d009acf69f0be1e0a1c34561bf08cbcf5561fbe967dd101e404169650da7ecc93ee935499f52da402e449f3a51a695fa11169bfe081ca7a1bfb2828b28d1be887c8b35dcc3f42bb888bf09f7681bede9bfaf4c4f3f0e21ae02effed205d683782cf77bd703920ec94894a7a68939a352ceec66d26946a24db32d93964a9a65dccc20246d1acd14096c5aca689e73c6cbc12c476823421a91f32b575650332f639332501ae7d73367392b492b50c6e7f150d37939d660191b47caf4072f497849c24b123c962193b8c1764e729289cdb2188568c7cc9289fd2aadb5d6ad04bf1f6687b583c02325a4e10fc4c22da4fc64fa0a425fd9e367185bef4805e9841668d1776b98c50fcec76949679605e132a4d17350e43c645996653ebbdbe58c537a96fde00df5f0f1651fff8352e2096cf611479c9b9b1fda9312e3dc40c9c11ae41878c8b112d20c6652be78dc48a9f9bb89df9fe5c9347a1096987c4c3e4130f92c09c2cb77970af098c7dc63323e18a0dc1f7de5f9eff89b2f512722d8cf43edd898638e1998b9c9cb26296d13291472761b35d31f10b93f20f28908b69f3e210f89f93315a120b7a908d2e82af6331565182069c49db88eacc8fddc92dc504481a5e827933bd295b3ffbf9fc9cf62c0c850aacfbee38d12ecb3cf3ec3d9cf8fb99fcca5597575543fc5b300f039dc1c500758dbbcf1e480bf9c9cc3c7dc9897b95f919d2cf333f773588699817558fe4a33bf3dc1c6fce3f8cc0ed5559203ce626a565d251e705896f9bf92c769e2df2b7b6e8434e23b12d5bb0a43e1301600b01298afa8900cbcfdb83c7499392686ca64d8c9a46e165dd90e0cf55bcbdc0f218439d2473db1fcb9196480862bdc0cbdf5f82ab672fc8d07da800e8334e243568cf8306e2cc3da26a64a0e9ffad25129367390dccc2d2620d34f29666a95dcc857a7935321fc333333d8060e999863e2d3a399196ce453dc0093b919a9723257e6d4759850a924639b26733dcbcb32f4da54773bd2345d8249184792f1a893cd3899db59751d6583808458865e783e5b4bffa203d98a751b0fde9b38991ba9d0367437a1cbf2da784aa4ffec578932f7aa5b82398d6f3c92e5056dc87c7f09f6d12fc5da26e6e68059c6a3e4ee3f7add08d288bf6d3e323ff3a9df8eb44deafbb79eb691f9fead949ab93a6096c9dc603f540ac794606d03ade9654c1966e3f1a2fc956042b9ff54829982be6dc8cbdf5682f194602518cff60a425ff4455f33bb3083f4c552e2b8b2144191e5a0a088394d61346113224ed26bb7eed09ee23967bd9fd5709dd344da5e336153ed375dcf48b6b7ed69abdadb851d11906220f3a588f10fbf9cae1c0328fe9e2831c0849174250cb5a6d1ea6f95881cd29cdad3bb23fec4157f954a3a7d890c1f6a5996844d88f89b4988f891fb8dbb3b369210f5e35721ae4ffacdc4d9dfec7cd2b59f13da0552bf7fc3b5bd8d642f11255cbff4a6ee88b0b8f4a44b7a7b3f2770e078f772fbd293f047a44bb8c3f049af5d21316bf563c76121e2d7edb5cbed80ed91483783381d67842fefe744df0f8a1aa698c9a0dbc6bbdbeb1c1adb0b1b229a4edcb3e79c9362228dbbdb87e24b1d138431ca3824e67efff944ba3cdfdfbfd2489c6120a91df173868550dcc40672f2c420c89e4896330c82ec9b58c91906417c221d6edc443719a4fc2cbefccd14bb61cf8e08f9de1d11527e776322317b96e19cae85727c7f2725009a2fdf6988f8fb96ddd40ef9f03d23227e96e590982526121b7f397d9b88d1a9b0d9221b1f72495e20a5b05c7b11a7a3bb3b15b1b1e86e9a13d85662e37f1f9b467b355dc5930c040bb638a233c50c4670f2a22de36ba68052ba842c64dd47985248080a24c8b8e8a33eea23283db882334106dd2bcfeeee5ae18ed5e101f053c6cfa72d39d225794e9a459e1f15a24cf2acb03c65bc0e4f65bc8cdf6e589aeca9beeb7e839a664da6d3dbcdc5e4a6b7f774e54b07cc263c4466ade5ca2412e8ab99e28f88fc313d7d9cde38d9de0674e58fd51e6a9863227fda1391d92493c89fb6d19e34cd1480fc691b01fc7c99440e5d6125cc686800ff49dcf49b1c7a28ec2787b487d02687ff2c8643433fa62b81ba2ffc703e24d463991831bba4621ec2150754b229c0b310e04f6f92c27ed228871eaaede121ece14d24b0353e00ff17c98cdfba9ec9d9aec7399718f79bc1ff9dcb57337ec6f8aed5e9703ef186fc893dcc9f28cea77369d9708d4d017cc0df13807ba96ef7aa4d3e913f248cbfcea4bff8eb8c27b3a2cee00f2583c21c8c7d7139b5c8d786e5d0d00a7c4d753f9b69bede2fc3e2cb9090e70fe00e91b9c61d22730f3700f7cb8ce4f939dc1980c769d5a5f92e004ff39914cb826bf057576ed7d3362bd248c24a36b01fe7435f7555aaeee9d7b7cf2d297df4b1dfbd46226db76bc5483bbce92b5ccd7813fee86fb87429fd12dee16eae2ad896e86a1b8a4bdfb54aa5d29b68a7334ba552a954da6179f98fe55d7e63b9b76bb1fcd7b5583e33d2de8b0dcb7f2fb873b144d684dd6bf4332bdaa68481a458bef430d7fcfc8ca76d4c18488a050bd199bee9611ec0cfcf8e401bd4575d4f0edf038c87b065233d8ccbd39b1d8134e60fe0663c3de02f466ef91cf01703955bfee20f156306c760dce365fa05db612ea8bdf91a76426271817997a9b13ccbc712584ea3ef0253a22f37daa013834b7ed1344d7b20942299f1a6fb99bef4dab60d7f44e4c65dc972e5d01312e7529249ee47df05cb9f27436dc3f2f3e5ab6d3653878385e5ca4e4ac17edc0ff7c3f9b43761a694a469f4e2b8104ad2a8a6d5aa556db39cc99aa0974ef6b7b7f7cbc9d689acbdeafad09e6ad32e8ed38c4353d18e54b91aafbaf4b74b526d35b107d593364a55248e881ab107d557984f50a5fa6ddb4ea4a797f49a4635d2e976dee855bd76b7ede955fda9ed7f191679fee912891987eaed4da91ee6d40b40239128c761b905fb4923d2c71258da71a50e47d7719484a59176bb1e183bd09a63420024e6676266a4489aa6912e10cd92485df7715f2259edeb1af106e9b912feafe5e9635bc2dad3ff5a30912d725cf75a2d51924a85e310a4d36faaafa1aaa7efd2055c18c518db75b8a822a5cce6116a05a5b46a4b929048a48d7bf2e40993aeeb4aa56a9f1cd16d0ab18b289b932753bc68e73525d6412d7241058b18637717401507be85ad0b275d4cc901e505c5488ecf7551050a17af2c645427818902260a9828b42ca7f4815c410c18aa99944c0c0ae6c5e5447fd0c2b2624da58edb485aa533bb920dd60a10d29949efa8c5f7c78e8818455cc555ae813aaecaca5e7b795d9505458fbe53dcb06413320b89b04c1d7f50a42afe234cb56221a64c3192cc7d7eb1955b39888ddf09799b1d4329910061110f276a7729b36cba94593627adb256ef586347304e66d99c94d6234d6a9a77d460d99c94d6aa912489e41d49b1db5dca6c525aaba69136b96dde71e368ad9a46226d9ce438efc851ae6a1a89b46d5c27bbce3b76f16a40a46df32cb89edcdf1d29c952c93b96a65489194d7197d194a24ec244e8f5a48192f4cf511b6957f3b415b1235816515e455284b2088a3af148e4893fd127baa24e6cc12745ed920a7cc1a1537bedf17e37b9bb49b584e347e9a20185c7dddddd9dc779dcdddd9dc7fbe3c3ec31295b4a07ccf063cec99b29b5c33f7e0eff0e62981ad8d410ef380d6b68dab6553a33b96dbe6dbdcded0ddad01453c6c5428508eb265ec81a853bd9a154387181740a85ea826cc362a2da8bb7c90fa49459d6248b275228a5b5367902672669e633a7b00516badb7d0b2308650b2f64b134e0386d4205964c4a9ceeeeeeeeeeeeeeeea6ed4d602beec34de64651d4cebc983ddcbd891175ea840afa833ad9c954ab3ca80b32dcc3490c4c3d4d5c50e5e481459e9950931f4d36f98126dddddd6b2a7d222593fdbaa9f161ce39e79c34939e3579226526e5cc104a931749ca368539b3ec956558a83d8538eb852ccfaf73e264726e11731772a1263a59cb5f8d1667145a56a27862c2446a364039d7dded6e24a138599265d99c35091a89894ec9099d15f9e320942d76501c5189894f96232acad2947873c008a36fe19321942ed6e05bb498c46296e1e40c26aed4e12869ef788b2528130eb6972a9c5a797bf8db7649d6e5ee186eb759d6e52b685dd6e52e4f5a2b7f9a05bf59f5fdd696af6a6cad6b7bff4f6df9c4addacafd5cabfe90b0894402fb5957eb287fd2bab8ac61eaca24e6da3bb56a675ed89870943f8e09657815e590c9b53d88ed0f0b4b4e155d7091062da8810b5715f00b2af0d555580118a2e0849f28f4d880f582b5131b685995ae1826a440a8054da8a04110ab9f903b8a9318504a7ff88a8479f414206899400a495a5004284c914169f2cadd5dd4383cd05a52218d345f4b1425a14d3701d5628a6749e0329c221d4241504aa59899134a2e7f2c51944425c106d620748517175ae0c5156c143f8838cf41e870578e0ad820861ac074a083960b6ab6d861c39452fb70a38698b993336cb3a65d949621d39965d9ffa05408f1d1d1a20c4748020324b068175098c4b67083d6509cbc41933f8a8ab4f0427e7525432850868ce40f0ac59c80870655213bf4444635403d281e577d592254d11b79b09a18ec57b3769cbb6151524a9965535249a977a4542bcdcf2a5191112cf6dd501613464142432f0961936554140b121a7a11157db128b362d9fdfa3aab5fb09a5a4b142399f873172babf1840d36105da9ff57a77b96e1cb1f5ccfeaff4e40b804a2ffb35d0384eb59f23f1919c61ee27fbdca7e90fffd66825aa5a479731a0ad93206cd758c1fa30d2816075d8e98a79cd33bce5a829046e4d9a00c7f68d3c4df84e07b20f23440f03b0c791a213f0026feab99001ff8af661b1ef8cf661b0f7d858007023ff415005e860e5e905f40075e01afe3611140de01df2d5fdd8f3154a9ef1e5fe1b03e3ff455109f8087be12e2717c14f295ccc7971c1fbf9a1bf0b0011cf8cfe625feabf9010f1fb0814f2222f111882d1f574cddbfafb88ff3717c2581a7c04fe02bf0d05717f81f2f5d5647b51685fa211b27da6b9b1140af21b4a1c4c3da04feaa0d01fe2c8a08fe500f02fcbd3704d708c191091c8b3ed0e3011ceb4010dc3b40f0571b5b0ee0cf2e6137803fab014c5706a8f12d80ff2c0fdf476d06e8f5bf264b898b0401bf84afbaa88d9ce6c815d0f302f000f81c5cb12863297191e0fc0f5f79cb7f9cc6077a315ff98ee70a027ac5588c39975dc952e222d9e12f6f823f71a2ff9d98d3384b898bc488d7e1ab1e9f43e6fb6360dc0c7ed4d32c252e12247e0937b2cf72445e011ba8b463816e6429719148e07f48e841cf255d2f773c94b51be594b84830b04305f46ca211e87ddcb41212f94a5c2d7791af7cf802fcea0df07de3fb873fc023e01be7591f84af84f8cef1bde37b8867c013f1cde3db085ff5f87ed9f2d5110f81ef973bbef28184049e026f81bfc04b0c7c0692c0fd19b818b8d569e25fe042a7f9812d70a1d3540053e042a7990096c045e242a78900f67121708fb8d0691e807b5ce8340ec0465ce83445601e97880b9da6019801173acd02f010173a8d02f08e0b9d4607ce7185b8d06970e0af839c2601f86b20a7c918e722e042a701021fe0fe706d60035ce83437785580ebc3854e4300fc792bc701601a9887f833ae07e980bf366a588e18dffbb75dbd23735baebb4cb8c3dc4d7c213f3210d99331cc21a7c563c7d84560d7066548978dffe5e48ce7072848c808166bb976fa07284868e8d544b01a63b68572fd8ec7d33d464544af28148b825ad56577503cdfe3fdd4c43cd81ba18a5e35eef93bcaadbbdceb8ba8c80816dbe1e1e9e9f9f901020a0aca110ae5081fc28e6508217c08218410420821841042082384104218cb104208872a0b121519c162dea2ac1b5f41ffa91d743374f39a2c267c05ab31665b28d7cb9bb1e24fd08fd0cfd0cfeb87e8a7485ec98a45feadeab23b289eeff12827afb39a67a8be2c11aae88d3cffdbac7eb96e6a6a3cebeddeeeeddeee5b2d651889c47e132576060465094fa008f54059c216b99f83c2051318ab6c50c6c7ede49ee2453ca6b05f8d4ee42bf9b052232323180cca56feea4e76d59d664d26f693b10365b4171dcb229817c146d85eecc9041bbf21b78306232323390509a42c125b314af9eeee2e2356428ae21474c34ac7b2dbff73ffc6e1b158c4953b9f7da824cd15464d0b99a2190100000000e314000028140c898422a148341ac9c2de1e14800c87a44468609d0aa328494106216300418010026008088008cccc8c12056854c2061495baf864ee9b7556d80cfa221c1108f1b1df347ffb7c77c0ad4f0e82101fb97df3f39109d74213d1636901d24d6a93d207ef2ef71d182338a2f1a361deb51ff8bc09ceba3f6f58e009c608247cecb55fc848f487e04fc6012bc86d3401b5c099c6df8522bbbf1691f7a248d39d98a71241b415416b88a35fc097d3e2f64369465ad7296514fafe40a3ab3a250cb9fb3a671c2b270526cee14b7796c5d1daead3c6e6c05d9c36c267afc06349e5bcc43d63aa388573c77c13194ab51e56ecbc1aeb52a5472a8e916c21ab98d9e2e06938f1918de09c82c021a3658806714585d77c6ffe105def2b364a29cbc1fa111c6953f91e21d778be9a34e754369d9606e1b9780324d486268ded0c4dcaa2452150c2046f95776a4da6235cf1a4a6b14c12f2655074ed3ceb4a7a5c8d64d64ce693b4e7a75e87f84e56a2cd56b3e998154c546191a81bde8b30f46d0f9037da2d5cfeebc9775bbfc156f79a6e7b803cf14ec162be8ef613e1ba27cc5e0ffc01c329108882950aeed5d0f5053d0f29d7451ee7386afaf91849ac203a12e948dd4099456f2056973ffe3ffb4b17915efd5f5302a05542b122a230f246a050da52f9ffbc9c5a8bc26354dcc92f308241a60e6d6f5bc88dcd564fdb36eb7999d753e6facb503d99af4746eaca30e8d4f0bdec27a770eb91717d64a6ae8cd72bc3fa65ac9e0cd78364b4e6f0486b8b3b902ae0a6bd806bc288a6726b9d9917d2594a0b1faa555746eb9019a9755488a43e1867396581a04d0b80445c7877c4acf30974f81a5ccf33e482ec4767e64387154f7a0b8b342c319e86158f5ba037078cb244d81f9d1ad27d1da42a096b453465e29c30aaf745c2c9454dcda914437ad40fa30fb15a4b684eafc7081a70b0d83c104181fea519d5825da8c184e391da393d14ac9e27584c80809d8d8a91d3e8ac3cc046e2eca50c504ebb1ed09daa58bf3b6f6672725a08aee09fa5d60b46b0880032934f31a8be251d4fdb47fb96bc29078597e015480b15d00143ab93aa97356b248da7d456a98904c46c3ceb6af20ded0c9032b57b8b4ee7191190f9f1e72a233d0c1871ddc42ec8a36dbfde837f0ba04a2096a334b55a56cf43bd17bce5debce744f4651bf6be67627a2d8abe8e5faf16afc7596bab408661627ac3b945c7f5c72bcee2b2bbae59cfc419a593000563c381d2fd203b8f6757514704e3b71d6fb96d187da81277b0b35155e7015b0ff3d429d9535d63cae8ef1b809a6633dd6f82b10f9bf98143ad96994716b38f5acc824e2db7282a4b87eb751d41d229de8f9523e8f4f92a7816c04aa48338c83841808c186b5a37c467f1459c14bec777d6e3fc24a386dab65fd424962492910cc589095717d9ef20706dee2526c51e4e73137e12aff862172667123c0a04a8e0bfebccc8dd502807b9aeda4b24232042aa7755f475dce7a68318dbb92a9efc577579d99b9050700af51835b26eb1d9b60335815c3ac156d07105a9a2e61ed2aa98668615f819c4a3c785337bdd71c1712a8d39580fcc7f2a19e17882588ddc35b6e8224d0aa22084b0c96894dbf6ed6f74848283bb7d1c161a783b998f68f6fb5be1e89a58ed16c5fa8b8a173a9044277f55639a6e2322b4892339430f32ca01aac8ac831bcd70ac4c7af4e27124faf373251613f85a45608ec326130b0409623fb2af0ac5e52845e6f8f0a1c1f531de7622c0c53c0700ad706d53930deb1e60455d3c1daff7d3f559e989d61aabf04609eb3521bd0fe815fda27c32b7ceb48b928dc5f99752356054d12b0ef26b11af4b25cfad4e168999e5b8a47945954ff608339bc9d5bedf4dbf63e60616b8c31aee727a91281ddda3b2c51befa9b09e1788e799ef80984a17a80786333106d64ab6f07fd036215ebe89ec0770d440cc58f875b04347b8518c6e6fbd98f2452e06f1acee8804c0a630d5a8d06a351420d9a4781aa097976fb11eb80a2d064c2052cb293a4ca243aee2b8b33c8a1db6610fa192091fb2af4ba9d49dc3094aa944400b21ee379f4cbc19205da779eaa06a36f53543f88611aad668d2628e450011dcf7a8c115d14d6076deaedc3b4286af705dfa38c72219f9f2f61efa6f5accc8fe0035146c1ee16f979c6921397906baedd17e626af46309696369242d19bae7286c851e95c18f6a2cb2146e0608e1fc05e021bd3d53f72554f56dd9113b2f5770624eda5adaf6b8f05f2639004e67d0677bbec04425403ddeb5d9a5aaacc1d2bfc5f55bce1a5371d1b040880981a38e12cb39bfca19f041dad1615f5c99846e9856321140acff82962cf8e490edc8396e429610200bca07132cf7e103051c4e2e6171fb58850baa0f09e515afcb023120093beffd806256389ac2c8f20172f78b29ea17af70c69110e11215fc8c79bf401c051ffbed02a8b8f9f8f5005fd801800f67df47a1a8b78a02ab8a031292558259b9ecfb91795539241f56051155b457113d31abdd41d6a68ffe5a1203a5bb0aa3fed819fbe2f55510dff028523be1d5f7ac5551251e46fe8226241d6069e71eb4143b5113cc33de558a133f6f2079439637c6db26dc4f7c164c0882defdc5ba198552558a6b91c221d8a72a4b2a9919ed6c0d3979f15f713f757ed180c294160a8a3480279f70dac02733568cf1ba8628a77408c51878537c18a347a0c99c9f5353f9051d33e37a55ee0aa65529bd5355033a6e414ea158dbb92ee3b882abc56e90aafd32d589e7f32e219ed06ac12a5b1800245a86113521a3a37dc853730a37ed638cad4ac29de328607dd05492fe09951bd0c55b7c7ee6dcbb3f5b9910998271d588af3e5b47fade7bb251505485698fcbb462effab1caafed221b920ae87559868e7f4e81b0d1f73847fab41e61780fa048f8c4589b8244b07fe66fa77606d4391f1700e226eb89fb5a07dca3c63fb7a035ab04fac438d9e3d86be28e866fedfbc7afe5655695bfa3016d6fa603769f92d7df549a8ea94ae91ac56ae910d2aa4d605ef376bd63446eab23ecde47a9dafc66ff208396ce5222b828a1605851f489f4039ea5e272a2a30c8c166281e889137239a9b2de37f65459f4bf2ea33283cf56a656c555c953228c05b4142bd090a78c46a7ecf68a0c10b44d856321574b50fccdc7e4f05548761f4cfb540eb3abae96657ed24c4e711e4501d55fe3bff5b8d25f85fe6b03dcdebf7f102d41a6b186245b4d27225d0d724f2b8359805f58d43234a2123da0a105236a7feb047ef6d3e677d5ff9ee7df74cce28b166fd01761896525ef65c34085b96ef2086ebfaa55095b572e22b5c9f8b2fbbcaa669ed5d13ca988c61af3da82926e161b71f968f3a081c24d7251af72852b7924b3cc110ec638e790a9acf548f86be5e4cced5b852fda804be952f7f4cf0be3dd2f71814d4334d5a075728a5a510407b780037dc1e8626e46a99422ad7b46975aa3ab90bf9618329da38c2ec65f8c8ea1b9580d1495b1817364a64f188f9b98c17ac16ef5e01d3cd011d8d023740c1d83f39d621029c3428bb69fae625b549aa62df0c950398a5c81a512024759b5b1ed560c0daa02e793b7c498cd5042017200440ebc420239cfcfd89b546e946800bd693140141894186b37f43f38934196d22b22e2ced892305310b0acbeaf2d01645effa1344c5548f208f0f6e873eaf4936d30505311449b3137bfd34f88593fc2de71dfe71ab3f09a98876d96094c7dcfbf1daec9b8cbbdced46e1e5c971115ad4fd9c1baca1707287d2c3c7db5ecd7df41067697e8198febb0823997dbfccbb4f8f38a890c8bf934bfbc97ebc6b86dc41f8cbd9370234d62cb2c3a142f71bde21fc0cb87b965630becd66ad2c8c76d45b84ecd031ec813f5a885c9d75415cccb71ba0c9a5af84091ef1e757a6c7f173408e2cf7b9572b5947b699ad0b44eda31907660034317254d136e3b41aff403eb3c0e8d9eb7f9fadf3b3712ac5ee9b0d65bb2aee16819e461b5ccfb0d94ecbd429e96e10747aba9714ef0d5795f097dfc5f9097eb9bf7b142d20b826b80795f814025c68f39fcdf887da632ac5c64cbb9d0cb15ece1ef74b1177034dee11b7e78a4d2cfa8f08ffc60e76ec909a2988de90e6f736995c58ca13ddaecf461655578b055ed71a5f20709572aec7b70b8a6a3f61c96abd8811e24b9aa8d4ce0ad538dc5d7021333dba30621a6d3b98ea60bad6421096d648893d9efe77f2d252c1d35513cfa10561eb91a937e6fbad919095cd16ff246a86610d9944fd57c653a235ebb4c3779d8f579d20a95d334ecc374edef8f0277a2312c36d034a5c1a5c0485cf81d4c8ab7819548b8a6205f3b8242231bb5164c20cb9a632250226cc84e066ba17a6e34a5216ae76a60aa5e844b73e0af9625a8c8626983e95a635d8fdaa284514fa6565e047a23c7b506ec2a846c279b5c09d17d5fd455b8884a4de1cf648287ad46c3f4ea3883b1eb5f72e9d1af75a1e1ee68c086ebc1dbfd95b9c9e0ccab595460f63a292c07218a1fe6cb546b9007ae1a4529c8a0807840a4ea2c509622bff20461b0f181ce3e96982b4584c62970db40735e0a6d62a0a390c2b917680d45410005da4e811c49a0a771d1e001a09b67114b4ae7c1445198f1161406d6f7848288f3ee416a3824b99d75cf003a51c24a610cfe27017fcf6d4799013806a8ab0760c6f4cda6f818089ca0a48a9cf341cd873ef178d47ef62b349fd3e7c8c7e0916021e9dfa150e63c17425caa96f44e065cd7f9f51ec09734f9fec6841d087d6aa2787d824465f08836c8ee50249984132a48dd3e86cf2a008c52f3e95054fb8565028f41e1ed03bd09cb857cbdf90d7a8d7aba3d64bcad5ef968434918b526b1bec0813e1a47a9fbd9fd7bb17bf52e84bf16549812437286f8cba70e10f41048ca88964505ad7a413ee5bd65db0883a53a80481e8e8eab2b3e83f6c65c604182d35b2ad2aeaa6d6f8aba393550dfe5c14fb7013b8c0226513371fbf8140d8d10a31cfff610bb55503f7930587a4483b7563e08cc826b89ec5713d046db2936fc7326263b4774859dda50c170859d6ffb625ca6a9095a2287e3ba7b7d8beed9f5353b1e69d2ee10044b008f8a87ae14bd4834f1baa478bdf8145dc32aec5428964232193296ef098b72559f37d0531f2fb088b809b7dc89167865b912706ce87dcfaa2a75be1ec8f44d1d9a2db5dde474fc23e888bf5d3e66cc684e0ecf62ea81baa49adb725828a50e62db809d3fd001fdb34cd399495b539c971667c0f62385a01382905464c7a469986cf7b2a3bb95890717d9ec3f8a030a823f2b2831172da8d8dbe418b4cf5738bc1c26a85002800cb66c00552ba13ed4641b6860c5dfd48b994bbe0bb66cb89e16f1a88af371247ffd27b477924a13daa662859d72429a706538c12097353ef8dfb3e9c09a4702b582aa2944cd8555b36155a9ad8ed29bdc3098d88928dd315787585b475abf45767b2d52759222447675dbce85024131a4959fe91bd8a35d25f04946989ca2d411079327ac39c0d4fb365d6cfc2f0101937238386a3e43ef626adcd3e5f3b15edd7fe261a34f262c0505269ce4aae3374290a643d0cc773f2e5c0c140c38c7bb36384564403aeb53d1e9ceb24acd0a9f82f8162d527c3056c8bb960b4e858fb891a0702d1562137ee9db60b670011a4ea70c9750e8186914df85dec722553ab82ad5c6d2639345b2de8034892837a626be7fddc2ae73744facc158425aeff22a20d482f91abc32d711fad2c0a17997e6ddf23b08c316a1782f2cdbbebf5754b3906ee5f887a05c870c833f276449c9209051c420735e0a23724ec317a366b06ec731e5f2b40fd203ca739ca5b8c0a1d8b2a29602fb06164a03ff8d3cca10ef67bd13bad95189b7fdd891c8032be0217d93b30a18d503b8f2cfe40c09546336099ee79eb3d013a26d19daccd24104ce58d19712fa8735cb21f2d1cd132f8693bbeb0d2fb613d14f2de49d79088589e989ee9a8277abd2e6bdc44e3446c87f1005d2247c2da485490f585238a4053aa00ea63dcf168b4fd1b79e9f7f269375f6ad016fda988a598ba577e2a24eef2c8136b3dc044d1a3dd6485b57371b1b1b58dc1981f66678166883634da374bf6c88b46fde40658044061140c258d0e53719a191d980e70ff7efe336a68242745412beab421e887c501ae4c13ef2b3e02b54e427cf20ea9007a114b0c5dfa1f9ceb21fa0f06f3d75d59f57978d07210fc8d43f1f60c900b1380aa276d8afa26618b6337cccf5332ab2395ca20ab5a5e030a18c41ef1b025b72b4d0e9a0b1e50103b8635c4e9c61d2b8c81923cf8f43cd2471bea74bd05527b918dfa4a63c98abccd32cfc15aeea1e1a082642290a879d21893ed1d809d2a25a38919b688a469eb1528ded8cd2b413dde762331d8c36776d10100fcd464bc86708a60746e2dd94bc0d455023fb174a6f224f7f674c25fed96f44decc6da87bbedfdd82349cd2172fbd8995993ab3907854a2e663b0cf98d84317ed7f83f14c10c0a2478802f4e013eeecbe23bc422205fb0f29d30855877b52c5eb7ee91aa1b8c2ada802fcf30356f1d98b002f28922033a05d641ca2408e8970b10d7e05e4345451fd1d39e5f11b10cb5e1b3e4465ae59ef8b267abe20aa83bc166239b33de436b29f6630f0ba295220b15a051a2ef35595041a5e229837f4d33d1f46cbe0640de3a4a2489fd88d43f37bdf03948ece5dae5c2f07a8009637aefc8c5618dae16ba7454d8b63eb8088c508e86dd1935a0c5b05b984c344fb8de5e1ced9066b1b401566035b56e324e134b2c73709aa5c637f968dc00dca4c0fd16e2319558ab5d42667dd33c34699b151bfd354464dbf9354960779881ee8f233330ad946ad9ac77de99ef21dcdc4f213117e5949052a1dfd255642516e9b4a70a834caf6e728ea888ea0ac419d1cda4340544a435ae01cd5d491261ba582902410555329630a6481501d2208a0a82b733758c07ba7fd74eff2e3749f3e2821bf3ba58e6ae1ea3dffb9d36bfb6ed474c146c06bfb894a040efe8cc9e5b7343176118b4d792ccb3b81ef3a4de129620730304c3bd4eeb804fb1bc3ae78ecedb643719c0c67c4786acbd88efc655401f84244e9f714f3e1569a6a6e7348d3b238ff483f1413ee012d20902cd0016b88d58e07384b4d42b8f158840ddc42dbf1837627bffec02b5464a99c103ec3d33781ed2c8cf0eac2b068b1252ab0d46a683e887117efedee7bb831956b0e850e531e26cfd1d1c06feb358988344348d5e6e5666ca296af2bc7420744c74a06a5b007027eb2b81fe4f2e2d6d41b104f160bd11b6871023c6c7e74e29f0078040ea5b1f0990e8a5c54cc9b3af1e66640344ee7b2790c75c5db14ddf0faa3eee974020961ac9bd7b1b3f0c86383e67ba27329117656a3162861497a42f2fd4b262f0c730b35aa49ea4f3aebfc28756c2e0520a4d7602384b23be05baa05266f4ae01df3da84207d2dede00f5b894b5b255644b960aeebc150a5f4b5aa410c9c22d420e6d173243e5fa5e7b98fd43da4fae34a6f6b7d82b785939741ac19a68116b3af34aa937799a2b00c15a3e84e0dbc7dbc1ee8566baa22acf64ef9c0ff06643eed823db61f683976b3a3237189cf9536f0f921f3e83a44d38305581e52e42aa5aba42bba14cbc8b473f9791cd541535a485c8b4c2670b2937f2648f696d0bc836f7db3fb5e7b3278ba463c0990bd3ca90b9b8e29fa11a56c2b5780cdd558a1333699e7fa638616944c4f119bb5e7ad47ef617c554c10deb55b49c9888daeed754591a7bb9a4fd01b2eb88f3a0a644baaa62c19031e0e63a30c841deb96d1502a621212aa9e428b9b542416c75ec92b0fb730b92244b5c72ab3741fd98e10a089b57db6273e735577b622ed933bfc8728d3b797a09993402e94f9b356d5109b95a4b7bbddb3640452a2357ce38120ac59b64d49fa79e464a74002b2d1092ba6e4709ab50f290ebac4330b468b0d7123aa8ab1b1e22bd07d54edb45844af1c83b6b73371d9969295d781482b0352175ab31c005f41a411f003095763df93436a37163b77ea3c33556b0dbfb60493c678931043f07b4aef90ea85e467a3cb3b123274d5ab6b87f779e3879c4f45fcd530e642772567def6533ba28f7f54d899bcdc1d0bb6bab366525eb7c66ecd3cdcd843d1c3254d71025f150484aaf105cc5fdf8d758d598aa090d0f286ab87644e83f1374ad19766050eee4aa025b38658f4a0e5f47034bbdbb5558cbf9095396ac0603a17cb9cbd58866b23894a928beef376dfdf5ec6c5b1c30aa62927e6e8723b5671417811095df75a139bedb8d1b84ebbd575ff52d7515cb2f038e4f12610415b0ae9a7043acf821aeff625d4cb1744d8bc2e1ccf2f17bc575840abafa10e8fa026aa0a84013118a9bc04471fe260faf552bb99392e869e902831134d365d2837de6b8a2ce349ced74704f83928f384ae3c74da4cda88af15ba249e2e120a4b365da7d9f291ea11179bb614f69211b80953c7f5e19677d27e98c1d2ffdfcf524910ee61b04a3be6e0f837207c7c77d1e93267add7af627ef8dbcc10abe8677d277cfb7200e43837ba34f0cd812a6ca73b59a61607896fd81141b42d01473be97c83b2e435233a46f20abbf0c8aa7d00746e3449cae9decf9e4327f5c24fa021bca48baaec3a063d8382591f060935e07b1086aeeb0b784770008b5fbbfdb7ef46d8ee5ed30dbfc0338e035c9cafa3dd241cf708bbef81bcc49c0704aa0052c1fd1a7afd80e743e5fac8e31c839a3a1f63121b54472238521f28b1e80d796d641cc53c606676b815f5d95a556f32d8bf2b7aaa6e4a10e8dec5f695d57d8729f2ae1e794c57c8f97cbb3d8b5261022b7e4d92ae21567d78846e096e83e561d689760e21a5437aa47450ae36f724fe8141814a643d2413494a6a22b6b0c58f92dfcf9652eee2b0c42e0507a19e6e186198016574f5310225a45ed3ff4a16403c8cde74c64f457d285fb708e7bda8b54dbf4c70fde21a78e47ec868df60879ee930f799ee012447f0d0c22c5f63bf33b17bc51458b23a2bc50eeb17b5dcaeaf6b65f22ec3751b94b349f7a820ae350c24e2c72cd7d0e3158ac7c07ffa85aebfceacfc86649ec7ce28ab7c844e26100851d9f02a5f42abf183e76410624e9cf0ac0b9f2442569c5028776f167d6841ac2bd1bad578674cad2321efc5b02ed68e65fc8d3eda345816594abac4c16b41324e7fbd0a070a022c8fecb937177419da1546a12819e786806dd6656f030c49bc7456b0642877188f8f06405c76be1b7d5c34b4f91ff8e480e8d77670f90ffd5bf11bd540b833ea9baea1d2bb89c1df5b25d20c6d3c179c97600944b95d67a365c6d50d67be10d08498c2a29bb878439602e4c33ae9fc53ed27ccf7acc5c9a8cd8dec46ec28cde8cd70c3def114bd078d033995c4d61ffddb30d6ca4aa716b798e6facae5a861295b47bdaeb2b26b4e881ac4ebe7e536af6b624c4914fca53109e9175938ab6d40d3d8a918f1ed45fec45f52ad44583cf75a6247ba99ed67b8b5cd470d3e9745b44e351bb334609f8475f8bde9d508cdee385caaf0943b21f4456ae2edfc62e60168ddd9fdb5db4bb65f642030b086f09c936aba8d1bfc5527ec43b0e6a44d420b1abadfd0e5c283bb8f9f91d9e7acd3320c568165a8f515c906e9d14e9615a41cba242d6bbff82046ccdfb12bfd0f428a905e3bbbd95b1b42f12351a0e1c44ef0fe3c1e80426cefd472bceb60af72d56bd86cd6ebc45716c5e8a0e11bcd1cd5db4e1130b93442a77ca61cabea99d8d2a9dc9183647f9f4c784db2a16cf3e3764c02afd0152322b6cb4c5a633e3100faa32c7b2aed0308140d380901b4d741724c6b4a4577d950ba9d4ea836f3d9bc38323ba175efb6d317210fe764da47359050d6697dcd8e0b5e51fec38f7ed96f03eb5a1e997da3a2c6849378a9573f76fa59c54e61e86a2e684a040e42115daad7799d4e6d7b0a5e5a93ef546ea9a684b33fa63409d9e76fee5a8f962b3b1e7f6da0f371261269a7d28ad9db95e4bd61ba50bc871edf97d0d3eb88057da28d66b0de20e080e92768160e5d9a62f29b0116d0aa2254ae78c6d69df8b1675d91f60ba676e189c152094d5e201691fa5fc988d73ef65a1eb8899d28e8f0f663e471bddb5ccb5f7eb57add50907bb97d59b77eda1163a2afc3acc82da1d0d0a1cd898c285446c37419ca976a4a2efa73b1be9b41a4958e209bfe21d49d9a00e845485e883b901519564a3ba3b5eb6e622310c6dab8ec8f0004c218a93591662632c1d3b286757a086df359187988541ffa19cb403bbff3caba20b2c1a0452250763abb5e24f24d7e39e846165221e9344ca08874d9e0c9bae0332232409cd7aa36c4cc14d035e0f426d1b0f9ff04fe10d7c769a42536003bcff01af4c9f3365bfaad68fadebf8be13257943a3ff3833b49b4f1802b154cf78ed849833d49f899a6e8e3fa70f0975f3243684cc03f539a323f6cd9c58a657793789c2ea5f352800f27c448302b4e7ff33377f213f66dbbba0b0121cc518a0868a1bcf178cb868cd7d1841cbb8e6cbd007fd4fad6de5d2e6911c4b6b5d579a14439359213eb6ac057678c26bebf26a01779703bd13874c878ab4ce9c2f8e9d9c59a683146da616edc2415321488bb4c50481825a8597da63ae968015f01e0f84afaa0edb1c2b2cda0ec5b65dc109f445c1285b0d5855e9ec209d9e8385e50ece4a7e4898bf4c81e0feeb36e423de3d4de9cdaccb154e516d4b952b57331b264c8c802830a283fb509d841a1afe85aa984c1c49c4152579d945afe62797ebcac08f45e7431b8494c2f4a4c15fbfefed023cbd69f0fd07eb4e092e5fbc912289334c9d2a44c1068ecb0061d23f3cbdf81498994119c80d0296f7a60f025c20873efd8a79c08de69ce3bdd2226284efd0503bd6fc663d24a12bd3a745b99b680c7cfc14b110d8ff34eb89791175336f33b1265781973a83e36da39c40dd4299a20e35228b233bd53f661080af4a85b0991a32a09749c6dcdead41b7c8b76c5c1b685efadca9d5e2f9642bac9e7b5da0d3d0cabba249b183d288f8d7267d3cfd30d93f659ff644717050bcf6017bbb6261a20853c48af2c65e477bda8de4195827390f1e882c759cbab930faccad84f53811b6f58cc0aa58d4f8b9cf17d780c0f4c5225787779d080a2bba842700b57ce83c38edce3df3cf85d5050b17d464a6f8fc508f64a8b23960f3b035f3de88c2b01bf88c6843842ece4dffe481ed32609f2bd0716451d7fb829ec258c351feab95e68561a92a3d9face6ed6ec6e03438fc7d022c369a46072e877634ee0a51bc18e6b19ce662af7141021ce067eb58cb7a690f9016bb865ac803cf111402e35db361f967155187ba67a6ccbe701de8dd06d03bceda1c95b963f0cd9c1a6d30f6a3cc78ecd97aaf2d1a0d41555d9c375305ca81b4a1375d52fccd43cbb48494340fc4eb7d566f026079ab4db9400f839f14e701ef109d519cc8f2aa07ac44481991a8760f5bbf940e9c25b4bab44a58838c32913c2156ea66184f72c5d49024d37cc78b4eefe6a0bdfbf532c3ce84b3aa629e630ee2c1e8613ff85d23e6b2ba6ec42c845092d89ed55a472782250230f93998e2ab9df454b2a6b0beba1e55b36eb5eaf1bbaee639f1499b9e26d831327f9037f9b73de63ff3c20117130020eda43c758b103411690980a480449a24f729216c61adcedd491744a33127c726e30664020ef6bde80306bf2425c0f7b8c298396753fcd192300764bae9e6b51862029271d6882bf35fe19556ea12a46a640ab36ba39912ffa919c482b5187896667c500acf68467c4d50e2a7c73f832c68266d087c3fde8d4f574a753be2f6cfc302cab6a5f676056418e1c1ead2400a3b35d1ca335ff7e3f1c9fada03a3d3af184c309a196ad3b39d425e9818e0410029b151258c7f1ac50032f831f6dc089e25e373fc96a0b0bf5e49c5c9b29fc67aa666b9ab1d1d5c7700bb32125ff42131977fa11be7fd7719719059612cdd5ffe867e3d2404b095bd6c73598f8944c352fa016662c3ce1b601dd6538ba367356425c2c63c9acc4d6bcab8226a62f6cc7a370dd8752e72103e80aa267ad01f33a15612345295f67c1ac4f263206b96162771fdcd2642ba94a5dd0251b60c5166adc53d32ce03e0e3634f842e4b626ea47a093e64dc8990d3f9c41dae14e4d49151a24ed8281d06631e93e82afddf7b35e87b21db249e33a235c90e796f8ccecdd5131425aafdaee22c45d6946c7eac3d92b26fc0aeaf06290f105a12cf4db30a02bef2e32e3ddfbc92ec544628723e61245a712523a06e3135a4f13251379a42444757e118443acf09b84a2830bf59d1c679e33f11249f13f200a25adfc860f45de0de1d7240927bb03508ca2791c5e98b777407259863141198419f595bf5d69beff23b0eb2ee3cb9eda00e3dd6dbf9deda077927024f2d1dd4513dbfa905d957ad34b5441c221400bb30c871093bb44287b03701d613cac444c706f8e5fca2e822993c58e9a3374146e98e7e0a613583225bbd52765a3832f6e00f3594760d080574e42d743c578a0c3d4c363c189b458d484067cde24c05e2a39a3c0dc971a1428daec42cd72467d08a631a2d29798e43532f110177749501ebf3657de6e40b802e444acadac24b85225d009dfa885827d727e6e51f7eb87dbf16128b246d698791d5a81af16a24caaeee04ed03dd611c8e9cdfeaefe91f66e0986d6e4867b025e84fb3ce02cd07cb01fd02b9aae5460a1833fd3a0e0cd61bf4417be9ea7db0385ba06db019be406035604cacf0b797d73d89612440aad68143eb159c80b95a65d35b3983338461711013044a01841fec91449c31a00bc54683e553ed50f0dcfa0f30f24880c8f08005ee74d3a785fd4dc12441669ca771412eaaaac2ac4d863f22655e2679d312678bc0f4c688a2f43c6193e6f17235a0e027634d14b4d8681882e8e2f08f07dfc048500f355356970ee3d0d1ce6ab5d991f95426c24b53c606d5132a52b34231959fa318a0ebfb15f5bd2515c8a0d05c914e0a3e03f0b724367f610de1ec0453b20ce8fb8c4201c049340182239c2dda39d34cf4ecdcc08726948ef015ce7ebfca3b331f42cb777acfb22c900c6340e876334398931e58851bc19c5a0844c839688c3346d94a87b008901fba6377a3c7f1a518f99cb0f2459bc41f5f5ba3b3c0eb9230a443aedeb067292228f78de8934a10db8f7ac09f104579ae58bd6b0324e7aa7be844d8ba428cf84ddd7d8c5072f0376b8ab3baebb34a23e778f04796ea627c6ad1b71195be336d1b9cafd111740122ef681a4d2a3a67ba765cf00e7885f73a19077f575e5791cc58dffa7097f9f2277022b9b6e85066ee93df70b87ee5d4317f7ceead0dba88f460765299b315d8fd8a4f4191867bf891e306851a9763121ddbd7fee9c0919e5c1d02adc45c266b4bb94e02f84dd95635046176d94aa0d47d39b443aaa2e30af87111c31defc036d7b9879109a15b2d70274640ea82e6dbaecaf5bdca1dd3d77da3ba01f4293eeac305fa9743e2d117f80f860da2312aed57901c7f2602f295b4d9df1d37b87db72854348b0d875ee3af375dee7ddec31ad623b4645b7ecb75a5af797038b92d2fe0d651cab577b54ad964c60ff38a0f1810c4496313e3f61b84ea176f92909eca384b07929b9294226095e3d099d5a24b98a197ae8981da8710d6801e26e59b508703f92bd1707ebcda2c96dc9503de9f8f9cdc4ced9832302375d250cbfb2cf123b92d78c0dc6cd9c505115c1a777ea7d5b2b6ade0009968077b683f2df8c5fa6ac24b30a3b21a16649e0a72e50758ec1a1dd613de5c688351d596a215b8904b042615fb318b209857a216c045b344e39febd4a51083bc26a7a2722bd7583f407c021c1528a807e04a74a1a7a4c72d241551f9b2c4ab846ab14ad3e4ea164657fd8b4671db7dbe74b423703cf3ce423bd512e44b58c15003e8baaa4b00f5e40be6ba48213d61c44453010db908dee0fe6c0a4ac2da09c2d39399e72d34ad2a122c96c56a8b02a718b0d9d55264ecd3890468b108730ea1b22810c3d576571b513f9d46be4a6f869b68953e71b9f2249a1e44999c4fd49c1bd74fcbe517a03d931cde3fd02df311eb968749399142a66089e1a63c50e1ed6b20e9f810e34210ac0c08f3338861787c86a97c1638d6d81675e6bdaef83e4395101fcbf508f66145614ac48a310c547280217b70274084f99d884a5f6df4540b36ecdf5a261834d1a9061ef147843fcf13b49712f710646406017726baa3555ec70bdf9f51eb9b3bb883128c3e72b318b9c013b46023f86c70877b217a825ea5f6cbdda9e26bb1afc83999aaf87291e84e7720fb9cbd9d431747eb0acbd76fd1e3b9b3fe1baf606c998f3f5c7f175a5b5a4ac1d78d31d1033b2f235724df0347de478f2235f7237e125aa578897b6cf0e3adad043594bb08ad468a7f6c3d9937cf1e5caa0f129b1ca4fcf9c0c0481f08dc2be0b7b3a22278441932e6781d569bca2ede75a514a4ccd464833d7c192a2934357e2a27ee52bb0be476cd52fc003eb648be534012c5660ec2c03f574ff240dd2fb01b2d359192887fb424df65e34a275bfb42e1cb6a9aa35a08c0a823bd25b5c007a014c7c108c515a09fc8bbef9267b349a20241fbbd9303d32f7964244e15ad1e8dd137c4701086381fa18e950204201044d21b443cab9dfeacb8e672c2264031e9c315ad2a7d77313fbcfff0bc033638220516af2e7c09088be9a2c1043255a9712c06ea5730b1791badc5e1462b1e44cb762a7b16d6185b57f438004dad1b24affe43f2290d403d3149f9ae5c1b0d757c7db7f110764a148e58b727107842f4d13c9cb7a001d9d2e52e922bbc49e9b61fecb87cf6688330496c8c8d4ad1917ccc3d4e6c130b99c9cf0981d76f3745846a261443e013b64d4c0a1db01b8fb13713c401e3618b6ea1bc9806bc067ef6fe7de93d95f271ba97da9e1976b84b4031ce0ced505d092f81c77822ec408ce448289796c82597499918b62e71c4f00f85795bfef4842606e9c314f2897378daf8d0ff5c63ea6a6338de8ecdd79ccb149a7ae0dbb285bc6ec9527810dc2f990381852240109f53dc71217e4d4b10a017f04833f4464b1490fdcebb312e554ddecd006cf6410436aceecea0dc360b5ebe030aa8b24507f29a21374600f63baa935b9718fc8b6bf43839471806ced77015df030c2907972185f14f75c9e48318e1b1065e41c6a7834d02ab0ffe625d265c03bc86f8f7c1b0e6d12c865f3af0a93605a9956a29ce21d81c2d1fea10910c6021f6404195b68ec972ac31af1c86228e0f269bddd20c364514b8b0c39e38932e1afcca30996407b7f235e56e6abea89097853071bc695d979ee9781491230fa3e4df9307e480b8e5872951dab7149810a8811ebc2b1ab827b5139151f5cd0a194698565ad88d7c5076cfa5e2cb65eab8cbcc8a75da820e7389ec08da300968af100cc1071687ccf589780ae843de88504ae2f38a6634ddef96da49bc2728aedaf3e6e4027829ab7ebee8ebd3d6e403a8a0ac038311b583649f9c2dc2266f60eaa5e55d64831399a0326014304a95a78c7d791ec90584d687b5d27f617fcc42878363c1e3d0810a99d316400017de45ef349591ec07b3cf18bdb725688c2a4266ac81fb68f5af0afb78d88658047c97ad9c3aa6c48ba00e73190fe366782c1363be21ada461eb0389811c1f190a3a14c95ca37c0170eee026245fa5bfdac4ea4d60136be34e023b9c1b526d9ef0b00121d78c543e46a3cb81211f549e8cd859ac2f5123f1c8decd2055d0229403f19ad9133030114af780217a6f32077a30f3f2091804787e448863cc431be1586a1232d5b4e0fea263b79a6dbb9512addcc8ef35bc6b4b5b012cf972f9684a21212e3523429b0f4690bb1336c6c3f1f6c50d2b131cc88c724640518fb936644caa10defc1e8f3529a23fc03c62533c269ee683d92b054334bdecc2ea5505b5d479b4c8c84e727e1f71f55a7ed22e1558f99bed535a5d4526611f0d9635891ea51a853e42f27ca45e9c3d9cdd8189746610b1131f13d7a4d5f2af1428d648c1b78c71d768a64200d3383996818281a03c2b21b09f9f94f8469294d1132eac7d5299342e5ceb8cdaaaedc4b7b689c383a86c86b9becf1cf6f9d8443281129c67558282f0031432662aa3b50f7e2ba37d33d8f352261408f30f9286e1edc5e596e2eee0e65fd2b2b313c877fdbcc09402783addfd0c7d3b865161e9ecc429295f0360328fd26fb156cb031f576e92e8e0c7b02b3d2150b8fd9c9ea8960e0658e4977fb91773f2deeeca7da694ca5cf3b7f94df3e300832ccf825c9efb325aec621d530d9b711544a2dbe4ab8b192919d8d34f9b72c5f405a618126ae6577d3a1e6a278ec1ec5927ecbe4f72f527a34d9e048ec98b7d617435a33c415d4a83338c2803f8e1c3ca80d20de20891a824e9a021330915a57b14187f4cd247c207f47358fff1c7141ba0d1af44352f5ac719b767ca0c71fbff020d64ad01c014db931f8184e90a6628dd0591078836d5fccc9dd3859923b9c74b9771812cc637901ca21772f9ee3553841f525469848d48d392604a5ac69bde92acfbee915a2cf85673120471b5c3c38a9f94d4dbc669779599fdc723ed685decad4275c516759854a2b755a247e93c78c8235787d2004618add0a900c76cc90bc47c3fb8a34f47f23a41fabe62bef87b01a5384b44b9aa9be1ee94bc127de600ae4f589f0ada2e0afdd9790031b0d8c114ddda4d8d1546af8c846bab46778087d693368eeefde0456bcd8669a5b0f3283451639b5dc503fc4e2a106cf21a67a9f40460640c28a224449b8c1053322c12d36e13c5d204e2890d50e8931d031954dd9a18a8af31538b0a529fbaf5bf9fd2814ec8a4943f5894e7167ec3dfa2a0f202ceacda9ab4c992566b06cb7e6ff07901341f8400b36e212dab19973ad5fef24674ce3e6f9b779c308b313dba97ac73fe20ca19c03689f7bc3c789042afc805cd9a0f46aca6ed222bf170c2baedb3e1002ee7d23075cd9b2d382a81ee0e0526127d733e8a06e3fec1d2d9ec979698cb7c811b7790c23f1836250513879460d9331698501433e41a8b4b61d88afd46840f66d0ae4dad51d21c4fede9492a5f9736e3ca54027952b4e572dc83ff890949ed2b3c337fe65f29c9bb0790fb4d6dc4053617910df44b9aa1ba65b5d3042fcc5eab977ff3fd6e411101b86ea3aaa351f0abb9d682d34d8809e3dda0fa4064ba9a64cf0edd8b731c46ed816ba88e1c4e47f45f067fd0d3a63beefc9bdb557253292bf248dc5c55417c4d492b59361612d8287eb993e4deee5c987f415b57d2af66b944f12298e2e238caf4d38cb4ed590b08339f7d25bb960148bb79c1f6b1fbbca9a3c6cd86f0c62362e64e351792138e3c6f8e6588cde046ed54c52ab4e46d0fb24dae05e750b5a2aff8e781db5321e6e94fe6c276315df6e544a082ec237e0bc35743c8e96669537a3525e59d4890be7c0dc16b94826afd3933c91ddcf54b2041de8fe3af65a87419a5ba9d37d96e86452600b3c87ce4e00d50456f214e286bca49c4d6434cb99702b1f03c6499a2bbbab8f7c903d1d320bdc44366fd701f648f23922d9bec434df55b17bf085055d9a5d08d27c5a1bb083bde96441c1a406e4983c2b6dafd65173bf8e0ddb9184f883b78d9ab541dd41a7ac4980bf0374e2834b8ad618d534ccf73d3ee7c5f44c1043e3e9abeac08d36d683225730ebd7b28c839e2b12bef3952cb3e8f625f2f7c15ae1533414f4a53695bd702ba4c7669e429fe969f05e636ea1a11365d8cf7297663691b46195ecc793309eba095f8bce3adc512756d55bf679b3a8b21915fa6cab1d7ef0d76d93483528f4f4ded95ce3d76d6eeb89cfe90a5d7b0dfa5eb33e74b9fefe0de4b345251a4d4040787d3cbf823f9e24e68dc439fd732ac12c97f3811701d0ac67088834c7526cf26f4eaa996ab1ddc8f0f8bd0941267635afcf6ffd1c8acc96a5f0b735d973d1a3d21b43ef339659988591dbc820583679ac60c7a0abe9aec0625655c3141631a53691755022b14b778e7f6ca822fe49f4ca3329e79522dbad408f42373440733ac37ce420486a3d96b14246bffdf6ee8d6963c9400cafd38c3eb9a0f8859ee54e574b48c454b39a8956506a5e7539697c6807eb58d2b8e3df26406449e321c24cff2df1a161ad1f235378874afcca323e1c47274a472a13f013da61899b871adb564d9254523a12437d92028d83a9bffecd63a025609a75bca0a1b131a65331602d1025539145d33064d3144079179d79ed026afff3019c10118ac3098386e253ef9492dba88bd89d822b9690f456c5aae4a26ddd98e6d5aa229193480cd1a008c2a4f54f92460b0b190d543e7abaca48ef02c9082a08e33b0a83a1a457d46a42c6fb6e176905856c7568b812a836c7b80c46e1e90d76757c2996907e7d927006cbfac5e5563b8f1d596e364985ad196b4ab5569dfbac990124d0850611e2fcea72f87d0f534ae0933bf6e212f4094575c2031a189c7e5cfc3b0a517d9403c42d3eec1310ae59cd182b6aadc29e850886e11a8a30444c91a4457be38fa5b14808350b74436fad75f703e30f79211379af25132e96242af90b22ad66193f6d93e57b2f01a6ed5033d369a780c949033c2515433befaa18ea505f00356d4c9024fa661bb8d6f97c65c940daf81d8c67b946f2e55010ac239e6bfb23fa479badbf03aa543f70930be4081172c3ad3376293c973b3bf4b3a49b131dac75d5e6ac32aab4273bfe76f07bdac12d7efc185a97a5954e110d9850afec5ff74aa900033139fd6785ba60ab16edd0e4b44e9bd2ad4054f4a08c09321c3416059ff975f9ee439648782e71e32150b24e1e5aecf616e0d08bd52206134eefb3292e73aa2abcb822b14ead5ac809f3e71cb7abe3336855c88679a47035772a7245a9043ac071f25b9b32d8b5c860d34f0a9b08f6636898c4c789a981a6d3c6946fe8634453b788dc4dbeeaf93fa1cc7aa360523ba16939e92eff8272db2b4d96fcffb885ff5f65d3154146c3d3debb93b1e3b57d431393ecd3d54a393dbfcd1752e369cc177cbd393f582019e0f059b3f432171d46be4966446909b88c19070ed7520a990b41de714e21597690affdc65592a63adce576541fd863e7bbc8946404a456a6c937840646f836edbb845cd5ab634ad0538310ff206ecc0852a5021ea4bbac3b53fe509f493ba3af2447d3f43eeccf6b6ef9780b675337a23aaaf2960ec21e109615d958594254bfd41ccc3458b9df91428533d3558b5296fa772d14cef464a6e046d1f173b546c88a004aad1935d0391e29371ed0a27756dcec56f16f698b14b9b45bd3ad10bb946ec66a21a1c58ea51ffc12bf7bbdca7627e49b3215e95888b415c1191c755c8952a1f28cb6af692a21204cf0d6b8140c8a17c49636cf6e1efbb441b4cd57e57706433435c1cd069504b50243f046ca17b878d1a5ab5566b7dfe85a2f99daf123672eaa27ca34507f5fe8f38a4b8fb070a92779ed624291ebd186f5785571d4234464950752a9de124d1407a829c05b65af9bd1988c8329620e01eb0ead653667b129984049e23818dc561220a70ea113efee2cc7c0579ed590180a013c9e051b35cce2d5ebe099f2d2d468a4656260e7b08cbccdb94255e856c8ba8f760c9e9a43e9a4cb2523d038523ac82b986666cf2bd78773ba107ca00f75b387b9df2219c22c2ea5f11e3ff3189b15195f9b24d8f9efb43ceb8112161352f648f060b6db6aeb53b3a0c003da5a815a43f1547e733a040c9cd15b2d81607fc11d3d3c026070e1004ad0ed6e12e4caf14d39cf668dc82f3fc29e5d51e856c681d61b93ed3a1ea143c8b182bda926a11abaff3efe0cac7bc98ee87698ede75a040ea329dd0676ae17af157d3659432fbf1d8b28afe68ab0e1378741fc636f0676fff52aaf1d3a80b0f21adb6369d8520fc9a2b3b61b4818303e7493e20be7b17e7cba7166ed5eaf53180c88eb84fbc7b3c4cd98a033a335a1ac98443c7c96d53aa987b7d74106b3d51d109c636c5abe2be4a984cd7aaaff6777646f5aea66b5c019f985921588e464539e49ba88bccbd8c12643c42baa75d10235cea6bd181e9c52c9a326988041fb973e5ddb600867362f9cc5001f0510bcceaa6caa3ee9c75ddb0e8ba70688efab953db0b847880e44789a331bb216e15aa47414ef0087293cde5c1887a26cb26d1ce51efb55bc689d59b45819b6e7f294316dbddc771db108a3a54c63a0535fdff068641aff6295bdc599b74963198847d131d8bfd9a74bd3067481ca7db6fd6b08aebf2e2348105ec04508ed300a03de52d9e5544dace7b16df43c75d20284a48b038a27075ac28951fdadd53a69ded2d1fa5770ed613e5039329635b7d22040e79fe94044e01ea6cd3627bce7173ea1bb3b527431c15330cb37e4df1072a20113a2c177232bcff26d080d57966f267429b9e0e013e4084ec81309a85fff522a5828d4147e6b390259bf2a327256147bdf1951efa947c5fe36610b27cc5e06d28485fd60f3abb9d831f2e9380a69524c2ec24d03ca2c957d74ddefeb5f5778cb358d6a09582934d82d7e8128f6b49b59dd30816a14035bd1d9bc809e14dc16f02a927329a2092cf40e24a514b520fdfed037a95783309d01a1829bd46b581171b9777bc7be14955331d49e505c9e7acacf7a187c0bca65e913331a505cf3dbf8341c595f68b47a59816daa350d2646e1e0b31597ef8a6e23836b8c741a87387e20daa4cbdc89a01a3fb4f6606e01ac02a98bf8217ebf3b0bba3c3624200651649548c56be830b551ed8c0781c6c9e78d7558eef7770743f118820ae31a27d42df3864a5a4a23dbe5bce1b30ba3ed7fd281ab776b006a31d2082ac4b818e4e180fb0dd4daf8b9e8b552835ef3b606283a1d4555d939d7c395740c3c74e7c236450ddcc81d0c0bf820372500ab1cd6f2b13db89404d993c5f9e6c110b15b3c6374b568faed720b03685d084750c87d8aace212671b6c3ed89ca8151c5965a49f42d7b8e8d3b8d02b910ee823cedb5314276d91085bbecb5edc3a3d1257ab2eadfc5dfba15f08673ba8ef2a6fd40078b05f7d4956a63e15fa60beeec5aecf2ceb9fbc6b0aae3e99925abbf89052740640acc65dc89a5268c918d7a018eb33b88670a5cc82934fc7c623193493190855b8039d90a8d16a68203e03e0cdb8da57d0e52b49e3946182242e025e55e48e83ce6b1fe59edc48ef3e6667b8d98d87fdbaa1ac41ff9ddd5f76f5e2a0664be49b4917a3fe2380e08583949c31edc987cdad8c2faa0fe7cf301bd12b500ca1d27d07f36c0640ff5ad661a4fe6694d34f1f2c86aaecce81a6069b65495d5d51bf0a6911f5959f3397fcdb7c626cce2963ad01b992d36b84265016192458a104dd048a587951f4e3a99dd78ea2676694b97bc9c04ffd18845a46621eff433f7950f0819bd68bbcb585084bb052045ce222c654ca41e0f21a838cc6ffda5da74483857eb85552b40b5818acad0869b9ba0af85bbf1dc40569b5455747379029bba0fb332e992b020728610d4a83fc6ac9812157b5fb42c05c1afca486df963b3d20554a3404517073487b95b668eaee026c56202959527205fa17bcc1b08e9143d653a6a9540595dfff88496146c74de778fba3b00af8622463ce63b823ebf7af9673bbb6d211f715bd1cf8646a115eaf9cfb3d19c799a4badc7d23f0b07ad74536ef5eec6533327d8a9d2e5b018836dc49f7dd99d64456963c3156de02b9c3c3a88c5b894fe2cce357a5f7de4d50446b7e5b4af75626afafd1efec0588567682f56d119d989e3d5fa697c40848a9fd435bd68d60384e8840c5fa747aa9afd2b7c1f03d4f5536ab35847d3d12d9737722ab0b4764e3b557fdbdd82e41179d4a64822776a7f1ee7f28d25bfc89f4cedaa06766410ddc50080d7fa80d9e9f18791149975b10e1d5d2645e8de6fec783430948c031caf3ea822d4c0a964751a47802060b350b285d29e36f02aa598f59018286a81c9b5b8bfebfc1a41f1128527591da1fa1d14a557da90cd914368764c9ee36182f16058a6a8aafe6af660c591667aba6eaf81dd8618abcddf176564e738432e90ff67c235526a52013648ab9d0fdf523c3f6dc6c4e048930304fe10be579f99e3870dfc5c86258ee69dc50e89cad500f05cd7b7e90869139d292409b953526daf18739cbe3366318efdad514317e225e388b337717c694c706cab638bbb2e108fa19d8ae5a0aa093141edee4fbb29f5b4353a8f2767cddc60a2a5aaee8d5873823cb3a5d6fad04003a216f9bb42dce5b69f7c1e5e22a4d39c004da2170d06e2bdebd664c060f2d64632fda087db2bae8566ecb95c40661dc928b31a8e88fc241f1e1c1db4820cb0bc186e87efb89207d84ad91fd7dc4318fa8815166ef9808e89038ad422685e58798df75691ebc10ecd01eb72bcf51f7081cc1268be4f1ad58175448bae6c3c01d6ea5aabc83116f2cd4a1e89181ca5b4d81ec6209f865194f6217eea70cc233fe0ede688d2ba7898aab471cd3d4f764732cfcf8307bc052d01f67d02142b980ac94871a2ebd10596582c6f397efe13e33410aba4c2575bde9f5c720ef92b7b0d67fbe735ad0d9405de981bf56c23a73a38c50b5de7b7ec8a3de01575971bf1c379d3aa71e170804b98d42d18510911bdcb600ead634c4864ba2e1e1c853b531a91704f59e0b42b07ac959fcdf2aa880da28389f260d2571724ce2b811d91d05af8e83c475f2d0524f671930236872194934fb9587e36219682449b76d754c4f497e5a6753203ee4ef4dbeb4cedadc29f329ee1caab81612754adfb13609c485e8a43c5004149444fda267fea8f6279d9ce4b73d663c1a35722b42c2167298f447d4f95135af3c790bda0450b3d776f88301372f30117b6db576093c4425cc23d1e350b3ef5173961f77944e43683657c5d91a0e4770cb631c87d51f0ea291665504beef0ec2aaf4ae4c7a4ee7f901a0c39adef8369c47ada981ddf62977726975d470ced08cff4dccafa9f14b7800e8550032aaf9148338283a81583841e2e503a256e05b999858a9ee6300d02f55cfa0ea432aa03b46b77e5b3191a9c8267ca1ded5845b19a7d339021ed54908fb1772f820d71bf98a4195dc1db8e4f6bb8677843b14c51fe88d09ccbd0d6b18a8db606ce436e35034d5cff98eaf27ff1a9e9022ed713c76266a6f717aac8769b76ee2b7faca976c0d8672dfde1c775ae7fe17cebb16023e9a44bcd80138c320b97513c4a43b0e3c042092c7327496308ffaebd6853e2b05bac6a4d782aa8f668e3b0d6846891aed5fe8f21727a0c64688f0930e6a5534d29486c072e7879b0084b3db34a2594554a89a0e865bf770b04df1cd21cda0d2516bce9392bb8a477372f5a275ca19ad88a0e9e3afde41faa122801fd3a00acc366afda8105b80667cc76f087ebefd6d301dc15c7d551dfddea45fe7768915fdaf893c30442921cfce15ae6c678ed58dff8a0db33c32af5318db4b2bf4fb0376a093b55ab77557b9148c18be0816c8f863987cd6630025713cda72b3d9a6e1b4e26236607f26a085b7adb19f63ca98e4a493a91bc9c776fd25a6ba9f76045d3e74a58f1c8dfe4067a748af6ac029832b4d83d8d5a5cf7c78835988794f004f423a75e93e9394fdddfeb5cabd5a4e0b449d3d2aaa2e8c5ab0a1600ebd2914324991d6f2e327ef4fe3a2ab9825a7cd5202afecb6179b836eff15770aa1f287ae0c947c6b87b4e1436ce6096492b2e0cab305df4300d5177a755290ee2f8f75ddafeb7c6e395156463036a6085e2d8d563167b60103d197d0e92418a9282f67425e64a380d449eeae2c31261b4eadf0c0ee0d2ec79b13ae3dd06b4f4f07888e39266c6f9c20fc3864d7a888ccaca88db6f4a490ad7183bd466cbb674ae0bae877e341b939e1cd792f9d11567d0816ad8353eaa6f1fd2bd029c90dd0846c9eefc25e4bcbb7e7d25062da16a0cefea500ea27027de992ef8cb7800ec4445c1689dee1c7e1fd9492d6fa5e5e846e2aed8f67d05be1aeae946ae5c533b2cfacd2588469c0b3341f22c81e0a2e36f6cf44e636a1a2ba6a74325796dd014083039bc850612ea6c7c4060c9876b7b9e028a829cc54bb401a8e2c02b87d23e261ef6931a2a13bbcd58bdc1cb4f9e0b82471b90d5aeeac0e1dcd5554aae6786d63dc8ebe51f76004fd618d33c5b3225c2730407d0a8ae9d985b14aa1d2b1c343569c8e7be3e26552e3bcff95ae2450d94491cacd8bbfd680cafa0459a6c75d55086d3c6f2d3f7adc2a9e928e41e1885bc98f570adc19e7788e9b4608cee7a3e87d70f088f54c4a6aac82e4f1a6582b63b44445501211010321145fdb2ecc56fe5f5d4a7827ab7f1b5bbe2aacb42915830bd3b0860406820eec020d2b9da5e141bbaab0ae7fe91bb9ccb411f4a38040c39516cc6dcc0ea6cbbb365d0eae61a4b6e48ca86786d938e3012a82a7ad2e1da10ac26aa816f22ac7cbf30deab7cd6c5a43b592fb195155f10e69e5e3ea98f6207069b5ecd3929caa66de10b97940c12e70a521f103f93c1b7eb05a1f859ef5d37bfeeb7a2e6e3c0e51df8c8798ecd1304272681d28ded9423d0eb53d56e6d88216b0dd858aef9da4ed3c11b0b7617ba511391b6eac06def7b622204688ca3cc060e2f7b58e8342d90291004cf386228df44d8eb954ecd74daa0506dcb0cf7d9c5c1e5f1208dc7c3f3bf1dc3c6e151073d37ed6b17078703b027c31b2d2fdaec4c2f3e8edda863daaca14508e587ed620b98f5dd6b2bbd1576f7addc7811064290557cf7ddc02545cf65d569bba9f86e83e1eb7b3fcfa4fb583717d4e7d1dbbf29055761fdb4ada904e791f4f7aaef77190a89e3a7b86d0864813297106df886b9a3d84c158dc6ffeb7e43b505e901548febe9488710539302232d86616e4b5e4a1ed45a1e19974461b5f75dc49471096eb2a2808f96ee8269567423dfb0d14165b0ffb287bc82565b2eb248e798fb36c16acf0714b2bad9ccd9e5d21b7ce221c2f0fa8d4c7fe22b6003d3952c77e9169ac9ec9806bebc16abbe0596fcb3926b0d432706c295640203593dc90151bc9770d79f4583d5cf2c9f7170e93788a3ad137a6178ade36fb65572248562e2569dbf75dd23e20fecc1022445f63b8c6c8ebc38fef4a428d98529270bcfc65efd1c72c56c7434c9310190520a4f87bf7b8ea0ae6c08b3255b44c30227015a153853713df4a08986c2182812bb890d5f29dda9653d9e33b135800a22b1b0839c0e1784eb35fb638d96745658c8f6090f471279f85f7ca29a33629a9ff02711b94f2cd17440e2b699abee858ded95c7e33fa4fa70b787128035e94f552921e525af4db681d4c7bf21c7d07dfe8ee4ca0c0927810995d3343ee14092f5dcb107303592e630732d5535c6857401b110ce98ebaf502b83c8b465fe6adc491901b95956d5968c6814169b7327e221f85a7bc2f9e80a1136cce9d8521b0c74fd50e654af144a636b58a7e4157efb3139be69645e0e9cbdbe234a2b378a86c94ea830b08b18f32842a874652c9a9dbed217f06c9f0c12f60fbdaf2bc64797424b876983388d41d0df997e7d5085428793240202506412ea8b72dd1b4e5ab3c115d9ac8aed08487ece53a3445a6dfae6ecd415f84d09ef1933451b001b35ad4bba795765a7b1e69dab344e96ac0814562cec2c15919ed44f777618cd6a9a0a11e95a6880a20e9ee7b47c924dd146f4c050d8c183140c41b2af0f0c93bb94871beda4f9904a68e52f0e8f839adf35a587be78bc706743ae611cd8362c8cced5b3afe9caa5641124df36f2517e887ea5cd210d1045453433aeb863456e310294a687e26ba9390bbb9dd2532fb0fd4a082a76f13646a4d5eef7470913f15b98fddf5c7a279e00a1b2230fb4bacfef8ffde719bd8609dbede6125c1839de8515e27aa47b8b4d95c2778f151dc42bd20ed44374221e95aa64c88d830e1d0c0549148b968806845c6d6fc937291db75d61a0f715428755142414457df047be8eda93df608d3b34004821c950df3cbd2fa287391bafc1be4ea1b14506c605fdde539a3f55f704f9a3bb330108130a0ffba93e94b4c10b04d1fd019c7472c44ff1c92062ac06400224ead0c8ba06d65da5fcf85107d03e67023ac9bcafb4e9981e36564eae1ef18d4b86bf6840e4d6dbd8a0589abc90f0d953a5ff3585de08bfbf298273e90656bfae2bee8d485e35740f9612e6a6ac1cf0c0e5248b3d69d5c14b1d21a2098841b27ab6956ac51fcfc091b8d89e97f89df7bb200a7a32cf74f4b801bcd096695210382c520da092af4cc8442a3688a6d97c82e8ca310091d8a90d9105cafc572649193a671415c128bc018a4cfa1cbf2e494885f0166358829a35c8bc094f5814e024149c0ec2840701f3f5e5f50222322863e033c58efa761d774c7833f81241aa8e2555b65c7f528f9aeb0fe2d763967655feb0e7bf25234fb66d6da9afa6847c81da8e3d86b3ee31b2ff8a883f107cf7c0e995a9b75347ce1ce9563d67741078a07b8b987433ac3b052a9970021b153db03d039f81d87af30b52e954ce8c81930682f57e115da4dc4ed8de24814682c21208b7deddc4871218cf607c5be5dac5a97ab5908969c3406ccefd0a44260b379d3a9643c33cab69d3c977d1513eb055c2ad58960d7399aaa7f74f7ac2a73f0136cc729f81aae5ce26730dc7972f7f2ede49aed110b4edba130201bb896332c47beb13c14e62d2bf96483b3e570a1a5174d40b6a9e7d591198927adcf0d350d1fddcc1cbdcb577bc8138ac232a010a1cc0ad9f02baff5b5025bca077ed93b282a999ee3b490f4e334cd151251d9bbcef15f9bfc53e2b14a5fa476391ecad652a6a0f02170689c6cf2b2281818fcaf547c12db0d28fa06c4b6ca56d81f7428f48a22d01878659c52c2d5c6dc1e274e4727e5c926c65efe1c4222c43ee60dcaa07a75da878d5db4de6d161f996bb832eaf14e176b6316bde8fbf28e2aa483a40b1694a146deeea54d7284c1c63ba2aad00c339be3077a54211b09ec8f1f07e299e3e23fa3ad60cee00e51c05ea03f061248d3be7c46543994cb495f6516456ee044d6d18ef82cadc9208b23e2730615211b802cd0e013a0f8d11c92a3cf9b5a2122bade08c25d1fcab452418f3e6291fa0611c11511c04f79d80f50575c1f720f7e0ea5e804a2266bc7826958bbdb7d4832bafdb37a7875491e3aa07fc872a106c8919b2d681127c184ac5abf4abf5240f607c861ef557bb07b27c2d7fdb298eb9f50f6983dc2b15c319365c3350dfa922ef2c4d5bfdcc73fcb00f4885a3d40b2efa0599d2fae02ed2b3ea99eb471bb575f680b432f1401c324b75853db02be048fb8d074df989379b353e3982dcb5ed05987b5f50609ba26931d9a31b4b3c3f42857c948aa9768ae30710dcc94fed1d90c2837e0d3ef686326dc0b72fc0d54aab381333ff1538e629b721434728b673b5ee9418fa2aac3b15d6a7a99307f345b40fa7fa01e137ce83f6ddf6b8cb61ae462fe8a0c154427047909640edb39bcba83f1fec1fb4cc0cbcd29d5a2b83f7b53905356304ec55410c9c3a1cf4fbfbb72b38c138e6dedf425569c407d8ff47362111bc7a88ef192458304c7cda20b4522403da5e68564db8a663e4d64bf054ef945dd13561058a96c3af341dd159e0bea7bccd24f81fee3a8bf52ca2fc575ad701c4a847eaf260a505048dc52b26e911d32e946d2ee162aeebd974e1c67994510882399e030822050308f67bf31cd5cd34a98a3587413217bef14981509131a12532d485e44d50d0d213e9f1cab232a8fd5a304533e8818c908e053b5a888d82c61aa4a136f1593810188109f8a051007065335e0600a86a5262ac4100d000c220411532bb0247949a18929241548176e51c2548fcc12848680578b05845941a9086084102e950c88d323440f22c0b223064d5c652c41e373590191690da986fc0e550c516355d382d442038b07d58ed6d0101f7022c8102d3822a7094c48a400594cb994360608008627c6f3c0d40a4042b4b486582d2e1a60505210d08516a4961049304d2e21398e905a5884bc34893d3e3075437503d4c28ad58061b5b81cd1f400c5548b4bc80bb522a656e06be5b16e60b5ac78b076c86c70295974b884b05a5a2bc018b1c8a05262b991420b34b0606387ab46898906215a5cb0560f4c4f50d252eb45d56261150381585e543a1c488ba5d5a2ca590d510901f15639c099950d1d1657080e1df1c0e16ab1c112244491928b8fab4625834a065605a676d05019ad6a58bdc02283aa85981dd08521a660391e68037154e02a00343d24612b1518f8624a155454e089023001420a43d93ea4f5c0830e382039d2b44404004262423d3534cc1083ab507082338810841ed8f063061a16566845e9820b0a4071c3910d311754787161657105082e1005059e908013511c70a446470e8c014d9c6106126a3a106108239859041c416d3f78b4b4a240024a10cb0ca84811456c08e8460a2e2dae560b393cd0011e5e34a2048024a4a3071c800044a050e547045460a0024c92200902c29182aa055f1c01c90f1f402c2d56069c80400311504012450400020f78c01146947ef0d0f1e239e16bc25786ca8a0fe12343d5830f07ab2a1e0d3e197c316081c10b185f0b3e167c5780547c50aa274f06970bab166056f86e7c2a7829c8d458a1f0c9782f158dcf65d5f2b1b85c5fabb5fa541ee879ac8689017380584ca90c30a522c2dae15e2b0942bca0985aad5e5a34d0400895133baa1b2f4f58805580291511161b2d2de010c0144b0e2a1dc0175c32ebc585e41262b5803c70b4acb6987249994a8107215882400718e1458ca9d51953ab17166230f59269b09862c141e36bf158e5ac9478a282cb0a4b0ca132622a66266606c491c971e190396388550d2ea1560f3006ece17a620a2cb293c36a614d3105bab05850ddb8ec809eea4575d382b4aaa195038b05560bebe9258597145870b0d868e5003e6108160b601543acb4989ae14995f3d90c2ea8622f312c199507e28045aa25181bacaf95a495a3a5b4528186c7720157aa1710043fb005ba409696165460eb480b8598a5169916abe5812d958f2a47e5b956007308c102c3ca025334a6104286a5cae1321a4225c6103433ef33aef46006545af0850ab4286f4d48403922b2c14790ad4418428e8e578cabb5830e4694cef0020c17c070840e134b0069420c19b0200523f0001514c881d1a080321f816f128a60250c188071020e3009a2071e74c0c188521024185eb861e38a1030a1020341003173a1055b61a021c60d96e4a6ceb8b20425f0b0c30d1b323248010a4830020f742003471c8000b31e724862442989055ea0a00b113021a406346081172938c108b080e28922062080225891010c4680c5151a6832f562d2910c8c951d8c21860a4e10021058210512067871d6030f3b24493ae211b391816181172a7000039068f2620f0048423ae211a301a3ea1d8cc1022f5680821080c08a0c4881800334510280241f3c62413e3b3628c8a8fa8c1d8c718315a800052708010832200502903880019ae460a684071b7260663881c890181a3668018a1145e0904427020628622775019633c02bdf13564ef89ae0b280aa029f141f053c9e6f07d4f1602e38600da0db80e16bc1cbd162015cc1c3a1bae1d960a981020ae04b150343e305c3c2cb0a2e2db4c8b0b45cacd6c762ad56a0d7dd2c744b77cfd02f570add8d2fecc7dacc955e32e7451bd25ab2fad5e24177bbfad5ba4177d3d0af96141bc79f77b51af71729aed431f54c9dc7eece3b71a14fea2d27afd610dd4da35faddc4df35ba58fd3b98dfbe8e1353e7a78a5b7afb58cbadba55fada16e9adbac63ea7957530283c176e86e99ee18fac552815f7bf8c2b048c7199573730dfd5a89a0bb55e8d72a8a4a337ed171619e39cfb63a7e2bba4dcd87b7b4f8b52ac02ab7583f4fc7af7ead9cc4fa34fd5ad1bc562fc7e55bfdd16dd6fd5a5bbe3363ff5b9db7775055c117767161ee73391fd211b74becee17ba5d4a540d783c4edb97377f36e8fec2e8fe6ae0eda07b68c77ff8bd65b86368486828680868e867c867a8678867686748676848484828480848e847c847a8478847684748476828482828280828e827c827a8278827682748276808480828080808e807c807a80788076807480768e847e827e807e8e7e7c7e7a7e787e767e747e767c847c827c807c8e7c7c7c7a7c787c767c747c767a847a827a807a8e7a7c7a7a7a787a767a747a76788478827880788e787c787a7878787678747876768476827680768e767c767a7678767676747676748474827480748e747c747a747874767474747a7a6d3fddd9da35fe0c417962bab92969b9a961a201c080f80b7dcb404c0bb75ba7ba6bb73c017be307c5f1c6959cbf96bc38f06dddf0cba3f2a2f3f142103ddfdd2af6f024974f70afdfa7cf0188de6b1961b1acd63d9f6a37b0bcd26e36ef4ba67db8f35348f893fd269c3d3878fcfa9bbbd5f9f4fb7639acb9a3ba68fcb1ec3622d6dcd6dd67369bb1becd7e72d6ca0fd4687e7e9e24385b44eb2fb93c1cbf3410d2978e88ee5b2c8b5f71ee9ecbd96a8bbbf7e795974c36036fae5bdba1b857e794c748f33cae6fe76374cf72ae6d120d303a8bb6ff4cb43d2dd29f4cb23ea6e1f522f567a1f578a2f4cb4b99cf0a31cd31aaf3f7a0fff9a8b636971d86dba7bd5fdf1bc7a0c7c61e147cd74f376770bdd9f5177e3e85787a0f185e59c2d27bc3827b4e338737677de1a1dafbdf7bd4e17bfde32fff56a699eb97eee4732473dd379b3df2acd79e6aeb5f9ecfe62d0dd5e7f2ee8fe60d0fd81d1fdbda055dd9f0b6c6802030e702008cb8d2953d87840053f2cd9000b271b0b7c7cf0321ed5ccf040e88b1a3a17ac094c04416924c0132c42343610d8f9a2c60a058081243692c186a727039080eb0531443ce1d253a6a6640dc610f102179796b7f80f4d9e38d1ea871f82f81cf4203c5779102c4e9c6845f343102c344f9cc80b82e52e9a274e047a8b260816cd8ac6836079f57bf244d5e4898ac609d4ca551fcdcc8a8609e801c0a541b057de07aa56aca79654ab2585c56281abd56a05b27e58b94aa552d13c3dfdf0f483cc0399f8ca9f3ed66a09e8793b125c1a04bf9927958b8b8ae54fa0ec53a99e98c8be25a0ec732f042e2e30e873cf89e744d5e4c90596d8208372272a9a0b2cb14106fab7c4f392b8da6f34f152f9ca5b86550f9796e1c95bfc85f5e211bdcc34d1f7a95c5cdce5d2625139cb37d344e52eeecd00e172ef73bd7813b9cc3071cd38b18108749699264f3c22d09dd890e30695bfb813e8e22d2f2d332f2fced2e24f3c2296262ede4233e56a3203048b7b2e1a202ee0c4e29e03d1e29fcf3411cbcc0bb45979cb4b8e96db2083029d02bbcf7b0aeba5498b3f71221667cd346171ef85668aa689006280080274169a29d0599c85a6c91327f21c84d101f49719208200bd85660af4cf4107fd73201fcbcc138f88c55d334f3c22970d442cfec4236a71976fe6058439ca7183ca5f5c07d05d9c35d3c4e52c6f98244c885e6880b880538b7b0e048b7f40b4b8d7a0cd6ac6c90596d8206bb94774c301af257d86ac45034581dde714d8e5b841e59f3bc12cc12ca9bc6196407759c710c44ac5e2800b0b0b570faa903dbdbcf40002321c4570e9ee6eef9f98972a649fb7cc907dad321aa78b977733b5ba79f2d5a88e60689c0f34437655b22755145514a99b275f4debe6c957d36a39d872cf733d11852bca57f3f913931f681c046f34793dc15085ab0a9715526048c165c4ab0a05b874777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777df64e1d2323cd5a82203fd0a19e83245c692b948691cd0595dbc9e5a555817783dc55491c54871a9e252c5a58a4b9598186fb95491b9b45aad56ab4a7b8d2a55c82023a60ac8d2c1cb534179f2d5d4a862258a25b380208b0b04877c2f2cd9f7017d3710f0ba2ad907d492b5ab542a954a2583a3059741a552812a50a552a954a00a046f74542a15a802dba5250cff3e1d1d308807be5e41be14542da864902108e8358ee75ee3a8989a6815a4651ecb454a8ce7792e4f062e415a76c38917e83137a0dc807203ca0d28535352a4441145cc0d2837a058b12245cad10d28349f7b2d2a5c90bc3372e4b8a1e52a776ab9aaa562adaad810e3e579f7f73908be542a17d8dda007526997cff3f6209e7b2a0755ae527d33abd54ae52c168ba57297d6cb37d36ab55a2d976ac68612aa54b162458a141b4a507ddf4c8ea4cfc18f86022af083f9688280df77c389d7f7f20273f4c11c8120cc91cb1430472e53bc5c30472e53bc58608e5ca66881397299a24a152b56a4487199e2f5f492b9b85c34ba65b27069d6d73a72b98b868b97eb09a42263b1fc9b51f98a898c3582543c30f3f2e2bd2079aa299917a4c55d0ec224b5b8b480637c35e0183297bb1c0ce3ab019d257351b9eae55bbd82a8642e2c571050e602a374e40267d08209f2c95cdc65f5d232f3f2181f80cb639c68802e98202c2b99911777f116a417171a904ae380342c2e5edfca590e046c598b45b6fac019c8400f42c584e55375f1812008c6ac56302b877961c5f80b0c0c8cdb9801f342e3e5c5a68c189a1d4d68bcc0c4c4b4582b8fa121e334626068788ccbc4d060ad1c8479a1b96273c5e68acd958fc6d77a02ac2253bd626262dcc68c981d46bc62625aaf981d5336576caec4cc3cbd98fcf0721b33761811234313136383428ca3b0a3c9ebe5403e9998170a3ba6581c051977814128b45e3134328e82a780828c3782545ade7ac5d85cb1b96273c5e60a5825e66be1800638f57281deacf6da774cb5e731f9c1a60c1b337a87111e4bb74d193666ec68d22ed78ea91d532e97abe5b9abe5f2a7fc72d6f7a9b49081349e46d085e6a9e60b990b0d9771a1e12ecec20d08bc6846908a8cc5591e134383c64503529951b9586e73c5e68acd159b2bad2a5a542e25ac8041f03c1a169695171a55c620e36586c64b11af27908cd6172019ad2f40325a5f806410e005c5e22bd953eb0b1aa0b7c068516985d1aad21ae30362d17081fe426363068c4d192c3436576cca6865d19ad2d2a235a595454b0b0f66d5d2e2037a71d05956c032a66cae7839303ba65cae02bc5ade4fad295304787940564024806680654cd95cd9d1c4057ed1faa2050648061804d00c9b2b2e1a1b336cca00c9b0b9e27aa199699951c95a5ac8560e5291b9683c2a201936575aa04b16302d1eeb6506eaa9e52a0f62b55ad158390d50f5b55c2d16d8c242f3c2e23468d060711a9f8bb78ce58b797961f16258dcc53f7f7a61ad1c84a141f384993c659617879979a1f1fc6b6171d13cadc08f86c7e24010643b64edc50da6c86e5085cc4342d65ed8a001aa29d9abf5e43c5e2b8f46c65f3c5779ae7a5179ae52e289e52e0f42e6bdb0bc16d8f2fcc95caa9719166f7952c99e6e9ec856ce72e3c47ba17952a95e5ce6c5655432322a991797f1fc65e60994a950709a27263219ef2646e53137f993bd2c0165320ee44361e6290819d48bd39089f1a7182fb3c858be62f1d6cbe52d199a271a344f5e8cbf6662689e328baac55b4e6306c67391b5d03cb19cc5737cee6ad1d0a8623c96116c60c40e1e20cb42c6236b2fc28022734dc95c20f844c67af2589ecc05bac702a196fc20f396804c64b227263f783753374dfa7bba51026ae52deb992750f6cd3c7937531f10e82abf69e2f1f85c057afe9680324fe52b08bc9e54b2a71616f2f774f344c6f2efa8c5c3304356236b2fc20043e6b27af9605a665268f953666139eb0b02f5d13c792c2a6fa1c92c32169a27262e17cd5366f95a34509eb79cb572d05b34435c642b9a1b275e0ee89a42820be8aa29af898ce625fb5c685e5c329611585e58bc179747a3fa6a6e10e18a02da80ee72bda280303706f0826af195ecc915e5c53f201777b14c5185cb0a97940fe885c54177b1b05cde1095ac85e6c609cba37129f1d54061c20565c584cbe7b9ac5c4cb08ce0b27279e2379cbc5adeae1b0380a25242c5c407d480275660142fb2274ff674e3c4cbf18c903db1dc8b194491a9a27c404fae28ae281f507b31032664a0bb9e5041015da5c417e411a99eb871e2e5b09ce6a68997b372201f8be666eaab59b991956c0978c6192a28374e3c1e1ecd2ab3c89e3013598b45e6a279f23c9aa7cc226b41b971e2e5ac685433ae292d4c704110bc7041182e97189593970d14bc544e562b158be552bd806534e8799ee7799ee7a99ed840c1ebe9e572b95e5a3585c3060a5e4fae1b43a89ca89cd49080e7a9bc0840195e64a184ea89ea09088220e8513105c8e7c5162b96cad3e288241fbcc00a033cb0451308ac5ae085115e5ca103e4ab313222a28a103821034020810ca23c4104824cc8c029403e23100441d05d2090251c52d09902c44808111ab2f6c28b2a2c01a4c0c51d884ac8142320ae6fc552c5c8da0b2fae903de990c0c5f3e20526216bef1492900297566b35858b278cd16ab55c82d085035cabcfd5ea6202ae15902953b6c8a2256b2fba985245a7b5da820c158ba543c48ab58519ad95118bd563084ab4544f6e443005084447484f31224265041158d4a005133822a6041d70b5b8c882b5fa7468a6b058ae568b081604c1043d6802066e108595991250c1e202092c30b2f6828b27d0b8e27d314156fe3913190803d2e44852b9e741644f4c406ff79e70f1fcd3a9d1a991410626570b870bf872bd5cdff7d1dc70e295828ac686182f1c49ed9f07691aaf711a47051344e5f2963bb17ce5a261ad6082acbccfdb837cee7ddede342c98202c1b4978b96c88f10aa252b9dafb68a85a30415aa68241025bd68241f2be1650b5f25acdc242e3f30fa4f982503101bf1614ab955bb1a26262438c170b0bebf3202b50e50a12934348cbbc15cc914773c389974ac662ad58685834396ef81c742797ab3ed06600ae150d055433df0c4825082b89e52d1066c5f296b79ac923023f1004994022954ac5a4225aad562ba615118bc562b1985844ad56abd56a31b588407771bdac666c20e1f5043251a5ca17c51785152b52a47853de94163690f07a7ab1c030b98840776969b9685000a469b05734415834ed4c7224b17cd530482c9a6ea62602fd53d18054409b76201f4805b42102552f3770f9dce59b596af21a804b0c92d7359e7b5dd30eba4bcc0d5edbf44b25035732105cc10461ad58349e987c1ecd950e1f94eec6a16b4049d2b3d96c96b32347d1e6aab5bdd14ecade25d98b367c31d7cfed2689c3843296a0842f09dd1f12bab10e0f4f8f6e3261fc39d92c3ffe283ace19f90f358e7376df766b39fbf05a5b2c368e33e3d9675bf185d5e8887376a238774fa5ec25716973bb6aeb9c8d2385fa5c3f77c50f6b696b9db39d94bde4e75223035674370d4e607074f70188e82642a8bb99f0e9ee05740f407c991e32ba7be7866e0374b70e2d63cb5845d1dd4d2df383a45b0c1f38e82698e8bea13b095177d7fa35a48c5652220999a1ee4682fe88e96e28986e5a77a3d04deb1700c8f8b156a3b58707a6835313719edefc9ef11c9d078fcf10568a5dc77dcc78fd51678b907c9e397c249892324cc939bbd591ccd15967e193b893ba1b86eeb05f1b7831ba8fcb466624b6597b97488ac3f76bb92ff2e38750d9237c24a2adb3a737e30bc32399a36f73b5b452af652db2d1d9b1361d76837d8de37f9b7fce62df4dd26df65da623adcd9af4b7cca5ad529f35c7e54b6b3e272e67332e4398d7e995baf8d3c51fc7afcd11867f37738eb3f3c839a68eebbc4e18ff15c57aa318e887c7ea9c1e6a8e44f6d2a87a34ce6fba4bf37e2c168bfdfcfcfcfcfcfcf8f8f8f8f8f8f8f8f8f8f4f4f4f4f4f4f4f4f4f4f0f0f0f0f0f0f0f0f0f0ecececececececececece8f0e8f0e8f0e8f0e8f0e8f0e8f0e8f0e8f0e8f00c0d0d0d0d0d0d0d0d0d090909090909090909090505050505050505050501010101010101010101fdfcfcfcfcfcfcfcfcfcf8f8f8f8f8f8f8f8f8f8f4f4f4f4f4f4f4f4f4f4f0f0f0f0f0f0f0f0f0f0ecececececececece8e8e8e8e8e8e8e8e8e8ec0c0d0d0d0d0d0d0d0d0d090909090909090909090505050505050505050501010101010101010101fdfcfcfcfcfcfcfcfcfcf8f8f8f8f8f8f8f8f8f8f4f4f4f4f4f4f4f4f4f4f0f0f0f0f0f0f0f0f0f0ececececececececece8ec0c090501fdf8f4f0ec141967be36974beaee9beecee1e5a3efe784f47efddb117b5f871d91557a6a248ea54d922b73b4d2223a3b3e51517e8c6548dd1f1088747f4728c2b46495f0aece22d6085d1fca3a757f4590dd9f580c8f9a8ec812cadab1c8ba38897e2c459bf32345f8e64a5c6de8bb3a736ead93584bafb25b86a1ad321a458d4aff3b9f8ab8cce96ce2e7f937f4af85b2aab315aa96ef54df077b6dfe7722e5c778964b1e87a7102bdd1f11fa3564c610ba3f21747f4100422cf623f739c9e8664731e92bbdd5a3a25ba50e7bdf5d9bfb9c77b703daebdd287e39ce282f0a2121bdabcd309e64386df773a53875569aa337c454f45c591fbf48a3ec253d87a70e5b21dd4da39b05dd0dd5afa4a0eeef06984a1dcd3c8d72fdfbb89ad4fdfdc0077dab54b4e11b3dd338f3449aa458e7bdcd76d936237148c75ab974ff97c417939edc39ed7e88cde4ee863f7a848f4489cf0f90929e1ee72154ee30b118fe15c549f35816b1d96c2cf65786b31df14c7c9d1dc769e30354fa8d0f50591316e1424b1e7d6d12213121a9748e4bbb3bc52ac3d98e4dbb3b73f42e61fcd571a1253fcc76c459ea73b545b93452939098907c6d12e18cff46c5afcdda0c97b83eae369c917876447c298ac4faa2bb9f5a464809ddb9524bcec497a2b69f1c7476b4dd8fb236573abd1b60ef3e79b4bd00745360014444f5aee60f63eb978faa2b2d6fb446460f80768edc5fc2b74a7179769f8cc5662416e2d929bd52cfd4e6d9d63a43cf6389ffdaeecef5aba743fca34fdfd53c2af7175f58a635219e9d19be4f8e8f0b69fe1c2ed33b73300fee8bd7c662e147655ad3a96122ad6a6166c5c4ca88ee36d22f9e21f57ece93ccb919e7d842a0a19ee799cf23d676429da11ea1071adae1e10902dad9f9f942423e412f5403f2c909332e6f0ec6b448b72726ed60e8d70e18b3fbd6dd39f46b0787cb93ccd9651d980e6c07c7da2ac5f97186987ac62593e35c3f777becb83c491f47592cd6fdeda0bb559f0b76703414533970357e7297673a2268291d2659be3337d9a296c46ab35512e70bd1bd5293385fc891176d1199bb42c8dcc5e12f973cd3f8f5492364ee0ac9b1a2db47bf72c4eea6b5acc1af9c20393274f70f9c5c3f632af55e6df5591f3ba60ef3e205b3a22657e6a8d4ccd9db5718cd77fa05c30942d7b8ef320d2739431fbfd6890b6ff6eb5c2ac224c41f97b1d8548f8c30e189933a4a7274e45ab1d221f73e8dc57091f8f76db692c8def7c16dd6afc5348a8a3eef8b3fc7321c67e8367b26739ff304408d267ee86ea07edd0875eb38a6bb4ce6fe862246372f350ca1bb7d3756eb98ce96e4c41bf7e17826dea9ab3a2bce2abdd16ba4862835ec508390be7fbb73749712a9efb0d275e2b2e36b733226a0d1dd48fdda8144d7f82dd3dc7d526ae6f024bdeaecbd91b9d21f97efb4359bcd48d559a35ba563b80bdf4689cc3b976c96f0b231427733f5cb264a2be161071ec659e670e6ecb5ede8974d918d0b355a34907ed53ce9a6b9f8feb8fc636dd2ee47d9d98734ea3ec6a5efc6719675e6fc7e9ea37fcdeb0c61e32c451a45c54abd8affa1d4e7bf8965ada6871aef6e253cf8fb40b1dff8cdbc93c4f8437b49ff9a8f23d5b918453ffcfb39dbd4dd2ef44b8711ba3bd62f1d525a090f2efea5e592bf7e73abb4d299fb2b3e2e9cb814ebc4f9b5369cd34bc7123a704a78f01b91fa0e3cc03e67c35c5a9c7ee9a8e96e9bf528c7b5949181125e34340156a40807cfb978a78e3c2226fd6d62fc45a4443a234b7b6f62a550b32cf5f5c70d3dc247921fdb6c76f6d786bb9beb110d446890a1bb8dfa354395ee867db6517eab14e72fe948489676b5a7bf8ea76e060ecc40a38936a439ec451b3a1292259f357a435c2bb15feaf77199be5377f7e8d70c38f0f45ba5627dd23f97e14bbddbecf34ed2652f19aad8aafb1ad42f19a28ca5f8b81097329a381fd7d32f199c26d2d9bc93a4396cdeb9e4738a64f9a20dc52fbf5cf243ec113e925c9f9234fcfb0387a710713e6e162ec9b5b4e1ec8673ef03c5b3d97db13efedb9c899fbb32c45083f84b9c471ecb697bd1773517ff96376aab36748f9a38c77e61f8abcde56c989383913eea3e7e26f1f17c22e28bf56827cebfa32c4bbd1249ce584cea28d3908e642e097fceb25da63af99b1e5734ce287b4952f662b5e137dd2a850a279158e9103ace7c6d4d26cec7c96c905c1fff5da237e367129f9265181af96b8b72748e45e2fc8bcbf3ce251e6b23c9198bed90e49c5d9be738da3016d3898ac570780a79d116554b73f84fb51267f2c370fe30dafd1063b19d28f11fcf7256acf3fe88c576a23ea462a5b3a8d9fc61f3b7ccb3de68d3b548fc269724a646353dc24782f3cc1887276ef6798a54ac33c47f6d38abb97eaede28c613ef1e6ab6bb1f65434c45fcf4e6bff8a368a6397ac958acd2890be79de42c5b71428d960c5fb445ddddc418e26844ac329cff76a7d30edfa7369aadd28bdff47f9bb9e9468b544bf17d24b728fc78fef84c58267eee739258247e26cb7b3fd7a417b4c053e7e338c320fd7a416ae27c7aa5b9cfd47fbc558a5dd6dd3cfd7aa187ade20b38bafb48bf5c3041376c1c5f87a7dfdc2acdf8529bdbac3b6c378ea5cd3fff48e66c2852d1f18b6eb3443b4241403f3e3d4874663a331e24b93e0dab0cefa66e947db5ba57faf05aa46c956e9586d722595b4d9af7e8a3680e65e2d35cce863f7c80ca6be92567f6be0fd5d659c6739ca4d48b35a94eb2a949f74a3f84909c8ef4e86ef5ab85295a88a2052574e8f01f3e7cb80e1d1ed3a1c3ff36afcdd86dd6a5a8ed2fe92d28e96ea57eb51003cbf86fb7127bc6dd68ce9fdce5e9f76bb9b2fae3f2cde372aebcdd89cbfed92a39cc75af64a4bb6bf42b870dbabb48bf7240c9d103a68407bf112b85da8107187e1c9e23f6cf33a423598ae2678a2df962ae1ff58e29cec961d98ed86d426aa3e1931847ac14aa46acd369b36a29c68f694f9213e734b152289ad78fa2379b75f1f3b5e45fffb0becd66bd4ec7d4ff3ece29dbb1e973d4e9cb25933492ed883f47b358e9901949ce586c68e7e787e7e258ec2b1dab9de5e82cff384ef27ece54e7f4b7994bba7fab1489bc2d8d74e68eb2a54cb54f32cedb13d9cd91c4d4481c9f22ed32cdf5c5247c9b2352a644403f3cff17e734714d403f3c50330c7f08d00fcfc435f1f4e826d34e8f6e32e9f4e826d3108f6e3209f1e82653108f6e3201f1e826d30f8f6e32f9f0e826530f8f6e32f1f0e826930e8f6e320dede82693d08e6e3205ede82613d08e6e32fdece82693cf8e6e32f5ece82613cf8e6e32edece826d3906e3209e92653906e3201e926d38f6e32f9e826538f6e32f1e826d38e6e32e9e8265377db742be9d7123ce86e26fc54f74addada35f2b44d130f17325febb82142e2799ebdf5b16ad90d4dd0d139f8e2439bdfed71c4f9ce7c7eeba57ca981291e5c7b35da6d7e27239732d6dd1fd5a69925bb537c98fb539d21935eb916c71989cb5a9fb63a996e6f0c7236c49a5fbd922116b6999749688b54e7f6dd8247ec6e5cdf548b727563a7145d50854386be3389174663ab31d2421a645fe919078e1c0d1ed5947c56f454c71d97121c5e9fcc6497c5c3e01bb5bd5dd379cb8f1a4dd66c7b739da5cfc5b9db890b4fe65a5b9dad06d76f1e9cd5eda1cba7f68dcac59babb87ee76ea978d2add3c301dd84ed411911126a7269ad75e141ebeb0afd99bf10e4c07c68353e9783f97d3c32314fe504d1c1ae2010ac3dfc1c9d910562b7199de7637637afbab83ee2f07dd1f0efa6543ca94cb9b9a1262aa65aa7b6aaabfa906a79a00535d4411dd2dcdd2dd4fba0b30d52c5353424c1531d53d3555809e1aa2bbdbda6ad28bf3dec823194f2234d39ae4031d67a54847bb912465b74a6f6e8ac56624cee12473b628160b5fb4e10f8ce718ceee9352330715dab136ce6cf34c6ae67ef4a89666d288d4cc8514577ab3d4cf1ecfda0f9e9eb2c7fd25a999bbbf846331af02ddcd43bf5278e5f0efb5a1675bfdef74acf3eb36eae2e7f049a9774cdd1fe7e43c68b36b6734c765aa73f17198566a73227c6138d31c1d739ff1aefbabd2dd5e7f2ef8bf4821a6b9580cd787b23916c3b8cc33377d58e7388932ee463f49cde87334d79269776d9e629d45c6799f3432cedcb54a18cfb10817e649626a847773097f0e56a9fb13e3bb01923889f085e1f0c4e5e4d87e866a3f7d727678a64e504fe823f6f4f808e97c10cee77933ae953807e7d242858f0b7332bde5d8db9d61ce38433be65c5ce6e0f0c4c562f95a922cf1ec73f3da50f840e76b71d8adcd383c711e7b7c3feaafd7a4cff4eac4f9f7df36c3bb49361895440e2348f1691592d603821099e8960c8228018b28a1f604605b96a0c205dd524294a400c0729cd1ad20f44a01450451612b417b0e45a54b48d15f8e071500d8d5f44a01a0097a68f8e9950e1530124211efb669ed28a2861fdd505cace0c810c468cf044ca06880d5a45b2b5800054e9861a4552c2450624682a86e39d1020a0f4d38a35937b84c1f5a9cd1dd9a5fbe0287fe80200496e40543dd4fa8c09412203fe84f0a8f1095192e746b000980628ac803ba45841e1a2082175a370c2660c611381cd0ac1c3a0040234a15bd72202f72d08133ba358482304a8f10f4aa0711a079536cda8ba286870a55040d1659418d1ca424d01f909c034e903ba359d8881400d9e91a6481d114708aa9c1a5a5a81d36f0a1590c5082060d1421072b53b46ee55aadf2e175ab57325eab63bc950d8f86e7e2510535a884ea85d6e772ad54a0e7f58d0fd65f7b37a86cf0bac563d55f7b9e077e423cafe57d9e07b27cf8bccf6b7d36983c8fe5b5faf36060e0c762d5b4b8a7fa3e15144fe5795f8b9784cf63e995a7fac0f7bca7cff33ed7912fc7e77d2cd5e701e1f33cd6e7dde0ddf03cf073996005b66878363c4f0517e845f1589fe77de0ccfb542d2c3edf8bf7c3e5ad64007d78adef53ed802ddfe7d9c400790150edb82ce06b557f13f054608d6af57960af12e0e5c0ebaf5faf577beda9bccf1b82e7fa7678deb7fa3ed0f37abc1ccfe5bd7cdff7b18a3c1ddfa7fa3c1d10e6b2828b060f060516be25bcd5b782a7f240afbfa5cf5b3c557f94d54ef30c00f68c09bc0682820ff4589eaae5c1782013dfe78a819e10e87d9fcabf17961a6fe5792d1dd50e0c3aded7c2727d2dcf8b79df570390e5b17c2a30caa3f94acf03713c1697cf73b5bc0fc8f7c2f7c2e702d8607b311eebfb3c18d50b547d2b7cdfe7b13c95cd6391c173597ddecaa31194e30300cb85e5f36aae97d6e7dde0b93c0ffc3c9527c473e11bfa5af85cbed6b7f240eff33e97afa5f2c015e879411ee8d5782cde8be7793cbc17be16b0e5b954dee77931cf63d9f852f0549fb772f1c0ef050f04bf4ff5a9bca1eff358f85a3c16cfa5fa3ccf8b792e7c2d2dd053b9549ee705b9876387ab0758c3ca033d164f85c3636189b9ec90e3052f0695f77dacaff5de4b051d17219ef7799fe77938dd6ab2939ce1594952db91e0808c2f903891030c1c9938d069c24195669aa141dfe0440bfe86c9825e72e20a072ccd58234670f06485c8cc0b470882831674869cc09133346958200807303204cdb4784038f09e00443be301407ea5613427bc80438be2bba90285bd719d1d3544b921020c347f81c16fa0d0516a2869da0a89769500bac1eeee1fddcdd449ba8774774dbf604e30f31467ac262d336c31c5d272b9582d2dac950be8024b0b5c812abc3809a144e3aa61b5b884542f319eeaa595c34b0661c0d78a8a009a9862d1f85a2caa1b18178430104ea328d2dc6ec4dd4a6b7b9dcdca5cac0f651debc834db7e8810033879d9c0071be86003a6eef61af7d87457e2b11d727072a808034a87d5bec2a861f874cfafe53b1f1786aa6b40460db268f71bdf95b5580ce3234c4c4935b8a1bb614fee72d411ecc79a93ffdde14e5e839739cc491fce115b8b0bafcde17cc7211d676e37526ca3dd603553b7389dcdde8ce430ec97e29bad12ee56da7a94ad12969a459a989e5ea46c95c4c785a545328e343715c14a7cbb9388b54e32a56c9566b04c734e9e122ab8d1e42e57e751e9ac95188c29ba1b5683d36850bb87f2f9556727a6cdaaa5ddf963e838ff0d17def9d87777565ac3d475758616930ff551636d62bc7b281db8d2dbd73c89f8a5139eb8c7397efae5757218b6597b655669f74344bcfb2156c92ab5404a77df6a0b3e97b5dd48922d88e99d5a32e10bdb89caa9ef83fd8b24f5e2b5b651e9f1919a6495c4284a04c91072e666ff37d7f085e966972c73a1140ed3b13633fe99154b5c6d95ca61b5f5c2c4bf1387b9486a8f595b4d2acb580c89892ced0d62efeb60efeb60efeba0b3b826ab64efebf0a22d9a791a89f38548cd22770a89b24b52d3a94e9c13c64f0427ede6f84647ba419e1d9d1c18ce4d0d3b6c6aec7d1daa550a9f6cfab05a25a8f0a59c72a114ce2e97184f5c58daa81c9d3bf1ffce6af9b799a37fc95a76833abadbd5dd4e7ca5a338dfa8ca66788ee39ce1c23c6b78cec6d041134426a020a733999b197f8e3ae99033e31ccd8fff764b3247e7188ad38e5e10b250a259ab2c6a70a53367c58fbab9c1f7f3e73ea463d3aa052c5dbc4c6005be301318e13e7eb8c7924ce0d4dd18e37f5dfe1a4903a4a1bb5d9f0bc499281efd582bad910a4dce9c8e2a52b1bb51c02d6393455967ad6c6a55142a0acc3c8d72b6087fb648aecd24bd217ea34cee44c56244e3388bc4bfbf244acd22399af197a2ef461fc7191681d18e94928818c98e8c66464c3221b1d8589bbb0a85679e0eabd66f92dc3a653c976a92550aa25f23d0e1719949bfb0c04077bbcc614ee28f378a752f358bc0b0675a4b1bd16f88fca6c66b701f9ac3eeb5b679ad63eb36eb242ac9ac92ee91ac75ba46f0d36bf34c6ab24a3a4bc44acd22deab03b4339e90042b3fb0f77dc0b40654bc8059710b10f4e8a639d1724956ea36ebb912e30b9bd96a5431e503523cc6452a2e3ea0ba9f69ce0c32747f4820311ee9cc6f14242509beb08fbae52d80007af040946efce3fcd16d769c69cd5dfc6ca338ec25e14016add3d303cfae4ec7bf743fdbe64cdc9989a3c5e1c7135f58d803e3c1095fb421ce2ed33b49e74091d9add24bfe0f0931cdddf7549e0b0cba7d58e2800ec30a02c042b74a0d06e087eeaba7a3630354786041301d9cf0a376f3de89f3da801d5fb495de9c03c64003beb80cf0d20090eee6f11d4ece70268ed67df8709b1a728630dbf8f8cb252fcec28fca196dd80dce3810d25aa59d2898b81b73fdf02f0cea5a5b376886cc1256e68a18c85c91858c0892c800063270bb698e7349e6d23a12597723e9fe8a98b4e659479de157801a4c1875b7283eccc53aefe7d2d2c424abcb2e26cd3b97e6c425f158b534631dae733aa6b388c36cb4166b72188ec36e758ad66dcd477eb37404a3d92cf94d520dcdf174771aaed4495a128db684e331ec36b51a87e14add66d638ec61490e7b91627fd2fae3f2bd2fd6d1e636fbe760fcf756932649439a976a308dc5f0bc7389e63b1ba67962da12cd71428bf11c313de2305176f3258de6341b1cfc665643a3e140a3d16c667e83430d2d376998e6b19a84a7ef6a3a8b730c15ce9be787342a3fb675c48ef399fab5365a2799c3f549eb5464efeb80df07dac4b49bbac7762c12df075a8f14e1b74645f5492336456a84d01ca752229ae338ecabad6ea37eade362349ae3f85f9a8d4d911a217e43e437517fc91a9ac772d7da2a1d1d17cea3a21b8a90f7437fc2a761e34833764c6f95666c97ba7b48bf2450a51d4b80031230a2db7f0709f0d02fda70e669a4532580a35b07af0868f18a400722d044778b7fe331ece3be2b99ed00c3b386c58f1a6f955e6b7372deb0c961d7c53a757e531f272dc9741c159131217daef3ce32d7492fce1497e9686d8de6d377e347d11f3635341dbe2fce17221615612347707f434481699c594d52c1ee7ed4bbf85f2382ddc76e458b6d2edba848734c6d7697a3769c731ce7fd5c598f2a85b25999c3760fe558bc3614478bbb650ecb9bb193958e369bc5c9d187d9acbda4e3ec6ec61fd6e9dd200cdde00b4f6fb635408b065c91eb5bcba49b4cb97ed491b5d55903765fcef06b3ef3149d3a9e7792f68a1747e6c49c482badf3c7f049fbd88ee1f8619de138437a6dc614178b05610139782de08a1a47c8d0f8c26650e1e32cc5f5b3d42fe089f6983889ba41178c96bac116c01c494016c8dc1562a41b5c01c70d1b2a747f4858fadb9db8a27b8fa08c00c11726561b7aeece1c39af8e47bf96e0819c57e736cfee768053af56500019dd2688a280282f0504400146dec36b663c96f11cb3ad0a78c5305692802324200cf731e31e539280291a675a9bf99871717c6acbb436133d16e408510272f78eb44c381847fcc73860901a4b58690cab460ea349bde803066b3aa2e5fa5e274c67c54a75a3bd4d0e13ffda6c6d9546fd25f1d3f1ce9f9f71a5e19b5c2bade8957a7d5c121d5f2dceae8663b3591dd55e327f9e51f4928ea9272dc9ac0de9e8efd2fda857aad38ea2cedeb0466fae4444dd2b1981ed6a6e33fe289b311d473a6f769b695fc779fb71a4490eabd4e639e2546b6b0ea7cdbfbe78ad7fb5244eb6fd9869c694eec8bfdbe153fc7a3fac369c36c7d36dc48faaa13675d67cfd72c9e35a89f1ad529d1d478be430cf18efeaae4edfd5dc364edcd7aa156d76638d626cc91a9967ab34ef5ceafe6474b4cc13df018ed0dd36fd3ac00ada638eb31d65dd1ed20164dd3dfdf3bcbf04c3f749584d6ae6882cc170c6733aeef67c783d798108221881eb36c2c8081adaf374f787d931c36c3e4aacb346c961a5e87ee90d263d5ba56cc7266c24d7af3357e4e85a32f74e52b3088ca6b395e67faded6b4edbf11a1cd3fcef385f7c9dcea1c25973ec1397c46178e983e06e5488b54ee28be26804092092ba7169bfda7b8fca1b7496c8e7696433924b23a2b541aaced62116cf671229be892500a466916a69b6b69a742753a6394a2416dbe55d860a2d9e791ae10bb3b6580ce30b9be5ee9364ee732d63b1d9fc31b4b35bd42f276574cd18d61925c2fae5a48aee9a49e238a64ec8ee4ea15f4e7810eb1c3deba85077e6eee7a90353a8810228d3fd2161a413093fd4747a2c8a36fcddd39d389fe948aedf249b893f137f37fbd96cfc2cd6c7bbfbe50ddd2a1d15b00088149ae0e8ee5c283513ebe326f845216ad01ebbd606f39bbfcd8c1debc854fcfad8a7e7799fc6d3533a4c672b14141d5fe7309bf5dceb1cdbacdfd2fe9dd95e5bc5e32873181e1d9796de19e53a5ba1fc89942efeb5458a70c0b4af568956a40807377298cd384ecfd331751bf51dcfb87cc2658d8b4f92f3e64b27999138ecd249ba0d0de7c798e6e2dfd82cd00f8ff33cd41c6bfeb8dd0f711826e7cdfe4f6f95da5bb5fe38a7ddfd7289ff98f1e7398eb5598ffc2d473a91c49a478af4636dd6233fd66852b64abb4ce68eaec585753e139e44e224b24a4d24c5e131ac3fbce00704fc5044378de638ca6934c7a9461c66f33b76d438f671d6fbf9ce317cd1fd08294488d2440ec4fa197f926ef025c5eb8756cf9c9b491f980e0f4c07e7be8f634926e9eeaf9dc099d6bac1180fa4714571d6008c01800a00ae7ff84d8f4c89ba3f32643b713e53b53497a36d026176f3915eee575a64e669d40dbac462bbb0feed7eeee888cd66a41215611d77770cdd3ffd42820fba77a262b191ccd11925e74e542c46c98993fbb543d29d9bf8effc6bc34a73f7f38b39b997d40fb714475ce7cd5d6bbb4f4add74673c49ec2449a19a5e3a2add7dab54fc0fed5d72d838becef114475b1fca5e1d02ba3d568a3aa09e71a21cbecdf6beabb07c2dfe3bc5dafcdc2ec4f7737eec8fcb7e936d490ea3d16298c733b639cfd586758637168f3287ed6a219e987e8d4e5c38df6f6ca3cf1bf156ede8b61a1d39c98a8e98968e8c6c7675ba8dd620d1bdd20b63d740c094ee1ec2d568a2bb8524911487739f937e0ceb911bad39a6ee36ebb74a1fe7942bb54bf31ee19c5582aa25ae082ab4633d9284c3736caa47eedfc427d2f4b7c496943aba3f16e1f0cc4de243cddc6424dea97ba6b745dd53affb007c615567c5d1dab0dabf519614e7e3c26a9bd93b1f37a1ac1d67b74aafbd566ae63eac33634be62689675233275a7a9f9ce5d2ce3e47f36c57b3e14c9ce5c73a8bc3335beb2c3fc66591ea668f0b71d9def761ce7e247313cfeccc76a366bb39fe9de5c7e5974ba4666e46e6cad94c6ae6eeac3e692b9dbd0f14e3592eed8c9ce5ca3abbb8597e3c939ab919992b67f9b1f8636dd69fdd2a1d73b651335b1439cb8f67b36ae92c3f9eedc21dcc2ae10beb065b7269716c37aa521cdb8d6242624282c353081213127216f9bf4e44e3ccd3e65f2d780219dc4237c8d20dbabac15637c8ea0657fd1aa55ee3a8ea0641f0eb063d97a7d360777f675c69161af8c278a272c28b73a1d46c866e6f0526a65824d5c8e37216e1cf51a73992cf34f317c17369deb9f48f649d6051f4bee836bb57eae3a4395b77a32561d866c724a53b1b1dc9dc7c1d8dcc95b5fc37b74d0ea391345b3c4ec7f7e9e370e9afa3d168cec3a606e7f148bec36bf07f5b8dfb7092e659fe91870d49734d38ce70e6c33dff782d92e7e4f85f5b6ff426e3f2d2683487f9e3f28da4b91cc34a7d57f31b1b92e61a17df078a7176e39d23cd51ecd36b797172b5d746a3799d9ff39c34c7f2f6d76bb524cd133773cdbacd4efbb7cd682349f358d27699d2fcd2c7591a92e64ba368fc7349e668e3a4dda72399e958e664fe8ff4794704b324ce7d92c7f41c9dff3671da713797c6f94c3816db898ac5babbc67604914991d41bfdfb51b6e945ab749b4437bc6c416478ec5e3621c7f4c66fb3e6e27f4fe8fecce8fe9cd0fd35e1f55bfc145c6d886f9328634ac479dc66cd5fb44a5e089638ec366bb8db63a2bb67bf442d440d8851de46aca5b58914e3e0dbac654cc7582c633acef04dd62f91c890aebb473aa93f2e5b5cf518bdd9d11b800404acb892ee3652d3afb08cfb64d9d414805738c5487145dd8dc52ba48544dd6da35fe10dbeb0fbb35c2835ab2da1bb3f8ae6a984653c3d6252bdd1a6cf51a71bc533ddbc222ed324374ff299f2dfb7656c89645c1a89afb3623d4a9a61959a4560d5c2ea93d6c97f28b739e70f75ad2e7f75dd571d980e8c27eab1f8b9a9e4b0f9d7e662bd79fc187fada95ac7a3efaacc61fe3663ea8e299ea1c3ea1c4b8ca9e34c6b8977998ab45c4289509badc435699c34d7ff283acac8ff21f38df06b4600d8db26ae65f5fc3bbff9b0fe7ddb5fffb014edcd95be66abee860aed88274e86a1424bc41df7d0806e8fcd544bc5bf4fef9d443d18e1b11e927a6801f6634609181e9b2993c8b0244149046458c2688fcd6eacadd259542c666d3509c9add258ec5629d4cc58bc367ca63ac9a6c7e553979a451c36da7b1f974e1393f237d13c76e4644409070723499c1cf6e3dfd779ce71a6d7da76e49ab1cdedf0c7656a94947399c330c55fff86af759b759afc98c6063fa5b8da90e66cb5e1fbadd2ddb87ba8dc7d5cb6b51ac730df8daf731b75da9737d31cf6b7aad37996faea301bd16ff2ac378a6b3cf63787e5c7fe79e626c7e55cb24dd63ae1a731d8d77c377319974fe27499c36eb486a9e3a7361bbb555aef4c12da285a2e390ad2dd27d0c1ea6044871ef8c272aaa558071a1d5add1e132b85f258be1f556d18ce9ba58e4af1eb911c7e68cff37178e26af9c2c1039ea77ba5eeb6085f9838525c08cb495282579207c0f05f7fd286d82bf56b73f8512efe749b0d3f6a26fe0c6abe2e168bc5c2476289a0e627c1d1af243124a149e24ad2edb1d9fdd94d8ec7c4176b69fb9b83cb91bc259eddc86441225141b7a538b9502a27174a5d3bcb8552998a7fc359a5b35c2835fb582c174a21694202ebf6d86c9c35eeb1fb953ace8f3149ceeb24be28cac4229910104d092ab42311cd71780aa1f90d8de675c26c8076424aee728d63ea349acfd1e23cf799ce6af3dfb99be38b389fa379496a1681f9ccb3a6fe08b3a981d5e03c3db4879af9ab75dab5399c4837b8c43939ec5629ce5fb2d29edc39d1dc6633aeb41c49e7e911a75f6bc3547c519c7e9f7c3c898c606212a6bb87f2c716a773b14ea7d9d4d8ecfb4031cd613bb7b9fa2e749bc5b366b37ba81adf49e1f2ccc1aa75717c5c6efecd66bff99aff9dd8e6db8f2f3a9e38721671d8e36c957eaccd7ae4fe925512eb11dbf84d56294b46fa03520422ddde1839494bb2e9e2c7be96cb1a8eef466cb37e53b38fb3e42dc9cf9596399c355edf31b5e25faf9346dbe1ee318c6d16e756edf8355cd651d67623b5470e9b3a3a3feec3757e7c87d36cae1617d2d26dd6650e83d2d9f13cc9d2df36b1c7b0cd55d4d1d1d9c1d1d1d9f19b9d549d8f6be5128ed3f05f1b7e35e2302c7ede11dd5fcad308769f84d5695f749bffda6c603693e54d8dc3f2ef3ceba8d8adb89bb999a728da901a25f9bc9324a70edf176d51b64a46e28bb648486d48d42cd35a1e7df4281dcf96c01325e806414381848eee1ea27b6abccd64683e78f2af28ca28915ba5453bf1a16cd433d5ca26f14551568f0c11bf871e9e15ddbd43d7408013ae95188b64e937b01becfdc6667d97a9544e26358bc07639ff25eb349293a4e430a3a41ab5dd27716a2586d51ba324d7512b312ca478124d9adbb05a9a6dce471ad6d2860f45c71a1fa74fc765bfd15a0e31bdc97da6985299c3aa0e5b6159eaf3bcc19966a7a99598669c5e71123095031f62a4d27c9f744c65b5b26957672db35512fff64856690715d2dc543f8a06917a11d7caaa3392ad52931e6492904892f4c84954ddb0fb51def403245ac06a642079e2e5008910238f063247c288a247a274c3c4177f483d227e9391381a115fa47369de235c2d958176dff646bb4c6b996f2eed6efc3ca9f8b99c8dba4e93c3fc6657f33b89603fefd1fd25d8bc2b18ba7bb6cc8f14dd301bda0ea959845643db712d12adc631cdb105fd6ec4a5a55113470b6d753c75358eb3adf7c912fbb4ae84a6fb1a8bdd22b41dc2bac35e299eb59bf9b9b4b8b0ccb9cee226894b5b9b0ec37592d861f3da4b3a0ecf1177a3b879ff06d394388fd9ad529c1d681ec3b9b3b4c995e1a5a178ed875347c354bccd5c3fbc4fde2a0def8bb6888e8e2dc961bbaca37ed45193cd6d0eb5116be998567596e64a350ec3f7a168b19813cd3155427358693d7f6de21cdfb72589493fbee8506359739b9ddea31bc7f1798f8a6a68429c968e8c66393019716a4a12425342c33598f8f3ce5cfd5a5ced8b7e33efbbf8f3fe384e313fa6f68924afb5f9daac75ea6a867c8dc66dc42f6b6cf51b9a0ecd9634eda533e7620dbf666b4e43e3e243cdaf197fbe36b6faeb6a7c9c383cdfffead83d2e878f042aa450a18bb51c1dc51f33dabcefb688c3683c707c07ea95cefbd92ae1f0a57349eac59a24f516ffb545ac1292759af7c866e4885865e2e7e81c719d64d3ad521c9e63530e6bd224c29308fb20dd078f0f1d991e64607a237e8d7f8f0cf480e2750f974d8d3f0f3064788c8047067844c137d892d55de441f36bf3db845a86070e5ac694082d768424a949e908e9c8c8a520000acf27c9298b810036ef37cdfbb3c73199180f319d39924352521000012bae64077c61b917c9a903958a10190200b1dadaacb656abe54cf75fff77617e8ce70ccffb334ba166c6b59ccdfb33dd571c9ef7beedc527c56a6b7f71997c71b6c3f32f5448a1f06c368e1417ee320d82ede0841f358e3387ef4c14e7e3b7d1d92c3f9ee57f9ad54a3c13c559abb756e259a6e592ee6e41c6a7477799ab894f6f7ed1d6af0b991d2b9aa644fb242b964c8f906e3049481010e9c8db011a81452d01061035216b802772812f2c7c110868834a080fbc214851b13e49caf2375d21dfd4c4f44677fe58542dad49bb924888d4914e542ec40189ce4da55427936306cde54c116572a6ffb5116dcec31aaf89ee2da08a6eaf0a161a90c18209981219980ce673abf426ace5cd7e837d0526e8eeb26b300104191c2d70268023044e8f6b6d38376eace0fc25656ea2c8dce0207393c2ad818a4c0d51623235f0e0c3c3e93235f0d4f0e23bacc8ece002e64d323b941077b4cc8e240dc31766736d8e6668c38d28535305ae94e66c2c129b31cd2bfd1b7b7297314ef8773abec1f7b38dcabb2557428bc56eb41ddc66afcd9abde4c452b3c8d47dbd794c75baa73ecbb8cccdbcb4bbd2ee30bdb9732cabce8a13539c0853428bc5683bdc7c39e2fa3e8e5f696e49ca0987098675d8ec8fc939fecfcd8fd47cf26f12cc665727cdfd9cbf46e378566a7b3147dd6661d6c861b4898b1cf6a3ad96a70e1df771b70c1fe3c8796f3e5d47e591c3b7d9a65feb99e2fbb8c4b1b99c5ec999db3dd4675b5dcaea9c1c566de9b74a478ad339cdc961d861797e9d798ae45f1dafcbb45ce25fc35f6995d26835b41b99c3be4c7298ce8ee42c823f4fecbb91cc51cc233fc63af2c4e51b5ad691c4613ab66ac4613cca25b4963e313d7298121a6d072534da0ed508a6e18fe30c1d562d59de5c7b530b699e9b7f33264bafd3f3dc857f3f17d28c6dbd4d2afa682d9931ce8ba5ed7139ceea322be0f00d2c0142e16ea068433748eb6eb2655ca6dca9fbebb77ae9932feec63b8fa0e627f9bb348e25d25c121f7fcd34092e2c8b58eb34efd138ce225d6844eac59a348eb3e8064dec459bf3cff508e37cb9ef49fc253b5e833fd19c078d7a0f7fa27da28b8ad6b4b444c47b38a525112991f87986b81e117f09673b36619bf518dc7d382dc7693487d96c6ffe4bdb711ca739a63c741c53d207dad4e4ff78d670747490793ad6d91169edaf0d4eadc4353a91d660b08751bfa1112b8d8e3a2e6d79a3b95adb579ba7cd2d5e62b24ab934326bbbf1cec795de640e205b3252923105c117168bdd6c939cb95a6699d7140d3b229211bd7ee8f698ccebc73175d16fc4bff7a1423be6e0c8c470211303054f9cd727ad4c4c4d26864926a6474c0a5f58cecbd080d2ed184f1a46b090afed6611182a4be3473d11d23ac128d17492f5880c4c5377ce5e243cc3b3f269ae5662dd5791d6be5a232cb362d924ee7e8848c5b2e94500dd78ee1eca8a25b66289ad583631e1e0e03c9e38723693712182050eddbe81252060c59518018728a74ccb17525f655a1ad06d73b37ba81a15921a509ad00dfef0d1a3fb4302aec9b0f4608596613141b7c7a466ce6f3c7653f4501367c5128b25b548ee8fe3645aca853814612b96f7089933baf3cea526bc749b44562c9b96ee91af74ac46724942f087b2af4da26e90c7108f6e30d60d0e0975834120d04f37e803f674b715cba6a66a95bc201280e3d1c40ada0bc201423ca63080f382a88194980562e01e131b2a432db089c263420413424ce000ce63628616422db8e089376580a5a01f34523c217ce000a295808a37c40d2a3f4ca848f1043023e513e50956bc2694899e294884bc0138c10a8f1858b8470419be7386045c5e016455ecb80bf10ca0a38a8e0d3c403c281d70e5f490648a978098255810305a784dd8a6701c90abe2453182909b2b8420e4456146951ac2a0f185a7012a4b3b9cd004c5c3a20865ec60218783d7c50aa6d80ce9a63c31ae9051834314323c251c8942874e03553e191108a141015950f97a74983203076820e5e32101a40c609481fb8ed811450c48a021e4eb628816430d0702ae904314343c3c4260d408be98b9a1070df441131527919ea8ca3184603862a98a158dd3941730a00395551270d02e74f1ed012105a4bbfb8c3376c00458121860836b2f969872440e8840a53fa080184c41e2c91b0a294984312b42199d80138833062752da49113b104de121a5a56cf0803028b005adc724c688410842a0d393004e902a5bbc934060f652022e7068a50ed0a0852670d08046ea408e4d862ebe681b06c04512295c80861e7a3559c1112488d23d454c4c2bbc9a340ce68501b0c06d6dd3c3114314617e3d830d0dac40cd18f54ccd01341f2768da852770a0053bd831d52c1441861f38e1e5358e1e223419e205055a052c543f6210c142d77812431244982869992256e0822490dca0634ce00f68a226658a468d0ec2d8a247947e91c2434f8d29459872c911712bee8e6e291a638a0c0b88a059843ec0f4801c3831e512e281277c2a809b6a2d6961004e90e4d02c2ac61d4071c5019ae555a3241224f5ea7d6607316280a8a874e0c61216245aa503028e9882491240401fc8ce2002c74e010510150132072aa6c01a550432104319533e18dc008a221b0598fa8c408103e41299295f520aae0b439a10e5a331b4841321d53d2a1f08818d21a440c78ba202413ec0844c150f08202e80012784b1e421b182040af859c2bd1e1b1ccda0861556bc14a03481434b014a97710d30c48c2ea65a0c9d22616ec24a6bc124d31083144cb4152ed43001fb424d3bd105cd074001ae91d0c1070b5e7e08e92192f001018d29bee892480a8830290191a6b31aeca4e8224af720c5d21816b062aa8fb02c8036e16145131179d87104b2db280a4d8df10a23da07142d2fb049a276d0244010b91f807a674acd6a882756fa26034b60d064c145d7d0e042193130d142cb208363c3d4089eb4dba4b81840101ada851c3d1648420d10340b335440d58305e0a06f00214313080c69a05558c10b0de4144047a3800408dca089041a6899161294930324750c1115769c4260a5614460842c701c79e9171c0060c30001ac5d6c5c01014e116cd02c4a505294820e9ad0ae23d4c081114b7ced6aa1a1064ab030a25b4264e48052812434eb07221449c28820f40a0c144e00c60468af7a4c1a21c43080565991438905a41080560d55e10127748ca0c12d3cb00424a6cc067142c03de1831434f882c140d1821bfa9b9283a0010efb938201191e0e66fd093171c2c0ce4b7b5736408403290f686f0529c837e001a8bd06d03861035900d1deed91b5000206ed1161a2cca969427b3bb47801862d6ada7bb9c5c0e6c38dee22bc30c3ea0705745369428a0a982001dd2548408e951d926e0c7041032a8c54e976404bb4e242acdb00af2800a85ee80ee203ae0d3c0088ee2531b881a7c240b7cd088c9202d3bdc30d6a5f117ad0cd44440e60b090a41b0031e0649040936ea205c48067891fba798041e61dacee9f111cf1e88006dd3a4228172a00eaae61768221dc2bdd3428618c1d5280dd31740ac21978d10dc3922c0870a500dd2dd840eb1153a27b055a0e194e70a1dbc61658c840c1d29d820f4b6834c0d08dc24719596141f7cb49056ab0c412ba6950318206170042370c129b1c524076bb3881868f2f68e86e31810f270107ba592c00c3016aa840b78b8a1f96ec2003ddad2eea02b6304177ebe30166801f74b38610a1a58ce95e4501230323beee550a30a8d203a26e159404348141946ed50a2908720017dd2015302e1b507483466e98e08113dd1f135c8638004ef76781296a24c08aeecfb6e38bd8e8fe747ce00a0130d1ed11210230265fb727821f02906da0db3ba2094a63b4babddb528fdb02ba3d222d9a9821a5db9b59c2113f45dd9eea070da82082eefe81876376a3bb5d003465054874f715326002c9a9bba578c20207507537139f1bc10dddfda407325ad4badb072720e10452dd5d037023012cdd1dda00858da7eecea1a600540ce9ee251c2f548ee8ee2047d82541bb1b4804c0c84208dd1d7b21000aaebb7d6c925459d2ddb01a9020144177efc0a1734405dd3dc3170df861aabb67ca787ac10eddfd4213214f40dd9de389a54588eec6118500400ed0dd366048820c4177d710230552d474b70c0d06408617ddfd62a101037ad0dd3470b91464ddfd5204ab021674b74b1404fcbcbabb65091256a8a2bb596a2ce420a3bb5d391d0471a5bb5b08981a4207ba9bd5c5284480ee66b5400b03a9bb57401ce941a8bb55432883e4e86e55cd3185a8bbc126787105d8dd6012b106e8e86e100896a444777f395822035174f7b7c4d4038ed0dd9f93cb18dd3bd8924a78f743a858ce7ac373de49569ba35f9bb53aef8d058718b4e8eeef7525c815205144408aa51a21d022a8bb3d1b10b08311280470c015dded150104186ceeaa8705badb2b01c8e4050000c3075c777f44c49002047430c30ab6e86e300942e84103539c600142e86e0f0716b8a00a1c62c00089eef6aa782980530e2a7e90d4dd9f8fdc8f082cf1dd50d1dd1f91231b7650848e2296d0dda00a477c31842598b8a2890494e18111bb02a4bbbd319280c40f662ca183a0ee563180d65a006e8b2731ba1b47173e018ceed6cdbbb303d3c1a93a7b6b383c710d45e2e42a8eed46757f3d6832746a98482c56c44b82d1688ee77d71da3ba7cca9db0b021732d078d06a8e29ee6f3ca0fec91bcecd68309b8c5f67c712976934f1daf0aff823cd586ae668349b792759f339db44735b522d6d297efedbfb409bdc2b7d5ca661f1df6677630ee7cc36eaa3c5e9a61db10d6dd4c4795a3b7e6c77271da95439bd62d26d2aadf16c73f8235966da1c9f89e6f871e12c72186e729811a42424afd4ef84cd3a73b01becc8617862a917ef4719f980906cedad40c656080c7ffda87a3fcadedc46fd5acfd3f14dfcb759bcf3f6d769536785382cf739df49ca1c76ad7f2d635a62fc5033e7b66ac3c79ecb7fa379967a5cb6349b9afc9886650ec3ef03cdd14c5affdcbc48b4f781d29b739db96f12f1bc7369deb95494eb53fcb8daa2b108df9a84ef53dbdf253cef11c6e1dfa5cf36eaff5627930ef68a2a9e80002e531d8f1dc7711e3cd7fe4dfc99f89d04113e541a25fe12e72135735194091ecba36108387437cc26bcb6c66f119d6fba6644a93f1a21dd1f495a1ba4fbfbeffb136be8fec4efe6bb39e38c27784f80ddca9a4f7b1ba7d38e8810c98414c98e98948e9460a83d12b43765c6c3c2534a7a01418b2ec5bf3f3c990734c396ac3312f7d731cf093ff041e3604bd69c2462b5449516c952df94eda8b34af7e73dc2bb1f529fc838cafe52fc46e2df3eacb3c438699cd93ae17c679e798a337f91222c358bcc7b940b7178db6cc265f28d76422e122ed324b689eb11bcfb21b97eeee975ca52af24358bd82e129b0de76c481eb9555acbbb542d51a545f08f24bd4ef76b9de312fe6b8b726977730987e7d85469118ce964d2bd920ce3af9f27111c9e52af943125821fdb911a09c178de2322db33f1f41cb14ea2f8b6a825bcfb21387f93488df0ee87e05b94a373c4468f276e691c29ae085f7b2d929874711dcba89a2466a957ca52af34c4050dbad04116dd789cf4470fcf37ac748b970e7e80e15ba537f396b21bec1df6399ac71ac550d7ea7c378e8e2d2ef45bda1c1c867149ce1d3ba6ee891c866df03772d81bf99c6d12ad0d328eb21fe29324bd19f7107f246f429ac5af65a6a4d4dbaccc61b41f4e3d683f947ad0dc665c2e65344fb259d8f42f31a6b4fbd926fb320ce7634b937a259abda43f696df6914e9b6d62fca1add5fae3f2cdcc74ea7c7eaa94a8342f4ef5a91c059d426866640000000000d312003040281a0c868301a974449b550114800471a27090541fc803218b29841041c610000000000002030c0600934e069a7bb4955f1b2ddbf470dd84df5f18f215be88ea18af492f5083b48d42135619a4d8de442e6058730acaac83c8ea9a29f8d7e53162765921eeb5026d4a20bfa1a5e685e62812141b8899af514e459ee1765f4c5b2b03984eebb22e73d8b88190a7a0ef0051198bc88a1938823fccbac321aa604d25e0f9621e32538640278b0fe66025f780777524af5946b70fb1130c195f638f75e28eb09cd72408b5060cf5a1111b63398e717b46db0d2520fa997ad752749fb3cb5c098e83bdd20ad7324d2ddd490fab77966433a371dc4bc9595f5554660faa94b032b8737e2cb06553320b4d0370cdc8909b5fcdabffb870d0557de2d0cd83d4cdb401c61f40c4f60f9038087fa24dc57972329c710a18cc7d4109871f938efb23014d00d56825ed4caa5279f9006be407aee8a19aeefa163d9c837943206695c38943e6a31b35ea934949dd696daa6a12c3c71cf6caaf4dc7e3857eeba2b1c011316b65ada6a7a04167ed71d8c255bab5a109226260cab5527bb3081cc5da13aac48149702e0e2d735770136e252d14026653e75b2c9a9c38917fc34d413c2183c4429a0c973dedd3920b0f390c19799850527c70ea6a780f56466edc21ab2b6093e9ae629395b6ad4289e8ce39189a000aca32c7e24764da5477598cafabcf081abb8bd54bb1d9a45ee19494aa7945a3f5472df9c906b219e469b6418a8c25d13dbcdf68698790746344bf65bb84b8c1ca4858cb30909633eda61f75972ed6d2f2edb0ba13e7d63237fd24a1694d86086b2d8b3847e6ee9a1666a7d57e9d004d798219bc733715eb8b34d29fc01331e1a3656f9e682a5be340b007c3d466ae92640b8d5ab5a57d21650437270cfcd74029987a573cf5d6d891e4bbb04f72167e22d0c9525021c105f55c66c7ff35bf4ac166e58a1c2293e35dea973c62bb3dbbc730193764ef7ca405734cb0ef092ff57da0a2ac02361aa18811e92db2b22f7c03e1cb65aba97bda9e9f9d42f2a70b18d1faa43b1b20d5aa8eeac30de13408c4e11d54f2018911f6c92a37e2225dfe9dfb1b920095dfe820410ddc48f7f04042c52ba152156c93a3747bf3fb734c7848d4761ac4c660e6f34cc46ae6b1344c20d5334e8e2493f1d740ebd44504281cb91d3948100a88c6e693d7f797342754c19a30f89370165bb6a0b03822664326bdb39faa862ffdb2e1388b810eebf7a71356608ef283fe674fcc9c85d6f343df232d4a8b51d27f9e3d773ef94f97cb2741de005f720fc0f108eda2adf7805dcffe841d8e53e4ffb66066b6833d01daca080a99dcfd79efa00bfb0ad1c6c6b0bfad941b3cc182bd5adb516b75918870675c0ba085923df3ee6e8c13588122668d48da9534cab13fb8e28fa22c4bad3c11b7f4a12e42556458338f9584582db312b75f761d83be64586a444be06172deb4cb1e2311a5950af8606b596e1afbccff6aeee78b0367862b9237cc4e6906fa2f9edf0e2894e944d46aeca2ed940b688904ddceaff3b30b19bdc730beda437ed8600367952d98f3794b70233d01e15807899fc0783350faca996539060571a0bed6dae457385583f29dda5b2b3acb2c37c473e91a07a6b6dbb81038af379c13cccfb5aac4a0ec2d3dd541c40a3a3fd19f025434c9cb5842171a2d6cb6e66a0f603c690d5f89412000dc0f73b0b64f4d5ca091e7450128b928f364101c687421f05e5052267ce88bd51b2495c371a7181369d8ec85209bca8b51ac22370bd6d504e3241234f893e35417d8ab26fdaa62e832282b0832ff2a2e2c960587bbd22bca6d090660ac3ab952d5a72f6845a8737ab4c1beebc09412b60fa4039e8d8cdc53d9d1accd889b4fb4eb64704415fab1cf265e35c5a69029e8504015518b1422cd42c9689cd63b46262d466035702b184f015bdc37e7ec9e5f19bdc9c49dfaf76e25b9b944750c374230e3f66887bb86e6b91389d476d245f4a749eab321c7f77bfc156a78689de277c1d5c4f896928f07a8060ad7eedde2b36f4118685c7df8f65e52d8c6e652383440f429690eb7199f02ad147632beb66b16d388c044649469478168a2af7d3ce9873cd6df41b8112ab4598a105ec13320d5bd652274dfa5a1326b4dd44ec36f8a1e2c4e2764cb008a6a12fb67cbc98bbec380eac58fb238b1a762afe9cb517901df239ef9f323672fe611b72b13587d0f3e110f28083fa39bc4f00da13823718f58363ccf1f9c8761e38a6f0d3b6d85dbf95392c12e7ce06a1a1b7910e787aecc48327c7db08d05258038a2a524f8950e132c64dd28b2afd3b923d94a413deee82133d004db0a14b64b7d3d2d00d2ccb1fe9d739524196289890d6e7462e7c0ab81bdea1c1221f89d919176bcd9d5408c1b2c7ffe1734921954afdf6c66ef71cd65ad8495a1e6311cd00b2b3bc3670f3c6782f0f4a3994f6344cb7d37d66d17c9d9880c6b7dcf3b62ca3ca705b94ee49aa283d441625465fc0896bf9684cb6c97a4b3b3896d1d488ef2e7cddb54307acd56ab42002467bfc8fc0267dc645a3fa43d20504f414d27195fec70d6c919545749fc65631ce1f77dc697785ac878670eb495a1ae207e0b8380bbffc29051493350b02f99e37b742c4b80e047215d212d53013ca17bf42a1a8c6892a02e0760d64cea245873a8798fb749dd3a4a2fa21f752f651749286fab3bf537e5528c6b42d5879d5a05a1d0f9594f76e8bb8bdf97addf0f276443a7fe225b1df36d3d8c15ea51f1637ec0dc3b9e4c53467bb8dfd12cdb2386ae203859b6b2e8a02c21ba2871ed93ed45fae7687c7ccceaf7b7637bbeed2f1dd49979d69e27ff3cb996cf74871f43c6dddb92f18807802f10e7979e00c21fdbfd0c7e73ce0a1dd460673fbf24291a2974c3f49d959a2be53224d363ba77016d195391cda5310b45b3ca917d6b2aef80ecd7792976d6b0d38a1cfd90c131b0120d43eba4e80fcf0b0bdad810345581c3d0496254a3bb4d87fd38eb7f7a52c1e5cf41601834a90d4ebebb7cb1101a281c0eeff44376bd34624e23925872a6d2299fa970c75e2e6da8b3ed4d389ac255c714693bc12c469442fa1b22d218c2d3e0fb33935ac5bffb45ce046d0e8fef739388068fe0824218836297b9a9d2c4bd6a1a797c7fc286fddcd0383ad55aa323cff6c234d7b061d5c9888240a0f4a08067f6541ed32320134980ed44c57f14b1229fade9c12b2dee40e5dce3cd86c0778bb498fb711db32c02587d1418de064d9d4e9ec5c39e67c2fca6c1770a9ffdfa666cddd559db8e8a55634eb8bf5b9fea518bf5bd496152e190ae80957482c04e36ee74ca43a652774134ceaa59e1c8c175c48ecf7bc84d4a175a3fe5851d4601f74ef3a1eee8d9aa298b641d902f6d0376fac28f6287b725e342f535e4f55d4dea11a4f957d8e0cdc37d7da02a49b34e835dc087ad3ca842910705048360ced4846255ae073f8305b2a93a40acacc2018f04455cd489c9c7638a10f47824dd146b5ada3fb71508210b2296dd0fc8c215f31888452ecbe174a7518d563e9fa292be75898b22d7910372dfc9672389a84ddbf6f386333962276ffd86a10d9ad57a7527a2f7f6ae7db5a4ebfecd8e258032cb2e15177e52742aab24f21085a0530d41321562456fbe05d3f188af0a5f5c963b71d0ef76d2474ce36b6c81a636ca157f5494149fcb22a97925cf41519ac949a340a6ee500d1a4d1e8f1f50e05badd05216c0ceb73b0d0653298b9471ffc7b25995185c6ae7db5a761008a204742769a66973df47eb53075c2e8d314ea0dbe1d83930a579f545dafc3454fcca041330bc1520e49ea31e003764097795d8cfffbc5f3cd8fd00303b112dcec929e74659579ea7414db92a192467d8749e4ce9176b9160a89aa01f7948d03c1a58080104cfd315c4ade14c981c8d3754bdf06154f11310142ced88c07844e51764c3c66de79236fac2b0357f8407be1613679aa9afb41584782a140322ea527c2c4cd72b60af19ccf1f7950c9f4c30cae4ac9d48efc744848c05294f54e00624290b0fba81b569ba0f9edefbeb60ce9a6de6970870f14a57db0ce0a984db6e9b6fae6793b321d5b321321e7ed23a94af56325847d1eb0a3036b74043847fe7f65a825e3480fed55ab20643231911a7b09d52e70a8737d3a56f074b601614b960a975b087e325d38b616a0b0e5d1c90645b7fcdef726ff4011695ad755e86d3230e0d9f5cb025e44e257be35fc68feed2c69f42505cc21c1ab7acb70215460e4ccf3c32a047e423485d3c7aa6824480cc275ce70b62274f3bb68ba1aab09ef193e880f6fe8b39eb3b2ace2f2ed257488c7a8151c55be92eea9af3b53e3af79084e2a2002f220868672405006a3843e20c561803108c74268b5af796394a43940db4072c69396eeacf30b184ade25426396e6b578a2e67813d0bc34f7705de9852a0e0cf41dcc9632315d92182b790b7e99a00255ba933dc02f6a7d09cb18fe2328b8bba56667d84a22d24b5592b67c58114c641c18ce511b397c095cb1beab772aea8950e1eb5fd4e7a9162b3deafa7f25b68bc2f93b0a484fa433ee7ed2eeaf9aab78a097ac963f3951bdb09ff862718f52548464d86b1ff1d2599314f5c6e666b11951b6675824bc61d1c3ad5bf1bd30638146e73261b29c2352c0ba576ee09d3d42979c8c675ccc08d29f0044c3a1413b798215bf914ef6342b1d056bd3d32feb14c1b7cce5c0f81e869c848bed9450a7eb9437fa6385407dfce2264e2e642f4322749021adf5a90b9f192eab4e2d8c098951d05e7c1a7a5a82094b5ef476fb8f5756e472dcb31948dc534b34f7e918cbcc32a4e4519907990a46d2bd5b3e71deef6ebcdcccd7853d5a08d0603386508331f2561e2cb892f5950223aa4a8224c77ebfd49cc7a426d5a746c59e3c213e6afe47842313947f80f9f9e6d97bb07705cf462950c34dd5baba1e8f0c2dc9f21a5597460f219d6d31bbc4102eda2481b0dda303ebbd848f88285274cc4c031e885dd0970405131bbc234312a9f68fab63d7e671eed528cc7e571633ce077af2f5c6c96d3390dc89fd268007d2ecf1bb3d794d74e7d5dd2509c0d1313ac7e7227a30562718c349a213b3a197067058c4b75ba0128a29daad86358aa3e0fb43690768b24be0c85e6327b18bab6e83e3b9dc2669ff81ff87cc100971968dc9d673a1dec0e318ef323be597a5882086f182106206a1190ea90b0b0e5832ff8e5b8f705d017f7f11b400fe654f34093f8dbb388ecbc3d2493f1172fb5f67faea38b8ff628f5f6c17f97382f8cbc06ec65da02c9e7bd2208f2f2c342a1ce1c896468c44ceb87d3ee82df4734320445ecae3390d8ad05cbbe664070f30e61b462edbd54f3fe07451049a3c10766b525f8faf4504247a28700e707893c5630b179c552462e2dfa4a0bcdfc93e677c5457b8c7f5d0bc0bc499ac030d7cb5bf6ad1cf20146cc8535f713a1f83997f15d0e2bf13c1efdf48774fe2a86f64812f02463405238f5da068fd64a659b1510f8b3ed306b6d20411c10bd3611dfb9fc8021a5a861c8c0c83316696920e4999767312fece627d92173699cdfa57fcde249c71b0d96d2040ceee7715f28a21c7311a693faaa6fc688a30440a353e760181911da83035a9d19f0f41f133a91d76970f511473a2d5734bedcb7209f10f7cc485528f3e63884f252298c02dc9693bc0cae66194e75529be6a349c3642eba246a8cc2e27fbd28c2f18dbd8f8807b2b1afe106e8e94a6ab626e7d158effae89371a9913bba5c29bc9833cda3688fd0bb0401cce96543d703db264ef01538bd34c4591c5e61eae2f502042390832171ed93bf6d71df5939a27fb5dae0ad2286315bfb07b71e009ecddbeae2c577d8a2c80724739cf3475e33fe4d2128bda64b0ab70c554c357a81c7034bd3b92e7eb75f0164271a05c206a5851ae3816adc3d5bd908cdef15f62be75a6f5627dcb69f8c1680611ac042ac5cbd0c2fbd2aced6daa13cc0c53c672823e1d2f4c9c1f697d7f3b649ce3684c6530eee027581958d911b4f67033790b1a60199cab5b6fec29ee2212892db3bf76580672226c1567ba44db31d037e7f2b6ff3e9c268611fbc45fa82e709e30e5d9fb289c0da0994831f287bc0ad7fb3b1f550e8463aeeae0b6b24c8f3b50bef33c00f2e7319f44c666f5e1366543d6a42e782c1774837f6674f5fafbed0ec8ced005e1a467d4aecf0dcbfc85dd87afe19abca2198b0875f8ab6044e32af95ee9604ca54a97b59093f5867f07f4f0c6a266e657fbbe2df86e75af4213d89036ec10cd21ff8ba1895b83811f454a81b3f12bb1614fbd4c32ca6ea8e800bb84047bb20c226fe2001314f0860224d6e3a27c47d187704882742605913129a7bfec55af756f81bc26da1caa11c26ad71b6f69a4bb296cbfc0edb68fe95df20d4b728e3498aba995d4a82cd2a31d2fb234c4a0765ff338db344321fcb0232b3c8de0f1c50a326177822204a3610ffa5090016cb101e494137582390b44c2ca73f16b86659c25be497b761e0cb268e5680a5c4e85c62506d145446869d1e9374b945b4f31559fb4ac0ab16ca85fbbc9f10fa5333c7dbafad5115b55b9efb400fb258e4b9c6d38c84f55cf17ebbc3bdcacf5fbca012e8bb797ce4d7d76f7e853275d0cead0b7d549b5cbd033a3cdbe9105aaa90ce1e175aa43c3fc50842e9637eb5a7e1acc89aa413b17978be6418188cc2e60f1627f5467caa8c621b7ece811e3000698512c169e8bf2b6deeb84643bdb30abaaf3dd883313fa412d50d61139f35e8e77a4ba95700caa04d9e8cb08e09826ffc058f62d05a7c0d5ff296d8c0a68804ddf7cf39cb806a1116a24e5394b4b41a09a6880ae93baf741c3816272b32f7bb0460b1d61759fbd60a622c3359c5352faa42914a48deb3484bcaf463642ab8803617e7037f7f1b754011c243d74530a95502d3708055a0e153907a44175559421f92cfa654116038e7cf1dc3117328db5327f82f764cb399063d721c9cefae8525c0426e60c4828c380c427eab0fac047cac7c4cf981f946fc60d09716c1dbc3270179593b692c0a0de0c429df6fcf1ac47c1887dbbd7003295ba45ee760803a2b8829c839c98f5493b0222aeaeef013c9ddc9b1e22a39176a5d10fdb619e9b1a01d8a83414a640366b2f61e04bf9c9a515f9158e7db58aa33fba9708f9b1b389312fc5702143088d252ed53f73e84fec31028c4349037e5f3624d793f5fbedd27dc3b9b197bd38ec613fd718a09aecc4aab270f2e678598b749d574c2b1e7dc9ca347f0ac196cd63153fabd65ceee63b7c65dbd87a1f99a9bead71e9617deee8f357c193370ec380274b2090866fbbf5293ae141e28810b008ef6e1d874118c407bcd3956362166cda0318005ad706b879e75a77fffb12eb5da98e158f74be72d7046343f42ee6e79ba45ee7d4f9d3f601f8d88edd407cd0cbb877398e62c91860b1c2368582bbcc373c121aaec75694b3877756ff1178e43a646860c061d71a4bd2ea519a598725b7a1176e789e57d5c8b08b1e4b1f3d26fa59740d48a58413ddc0210bcc4e1d8472b2e8403f86255271bced1332f6e6a10fc47f2cd6d8a2be459d0026d0fa29839d12068c489153bd2d1050eafdcad28d639975ea892cf8435d0550ebd0ca87bd567dc39b98d2c2aa46a8a33eb0ca9c079ac780ba6d4c7802304475ee4e12bf02017deb824ec504f88ca088bb926d7f57d691c73964b6cac8e200c029d04ada5603c1412560145f90145793eed6d6cf9e5a6b4812be4b724ff607ee553d30536748e7157db8095e5e4f2fb09e9568d3368d21777adcb8db4fe2edbc19850e220a4e28ecb2ee04d28df6b8fe31996d520168c1044eeb758cf659ea784ea440d2a75fd7133c5c7aaac1263dbdab5ee38a77f867564bcf7f58bcdb3b9319b792e554bfe35ffdb563df8038e82d48394e09a17f18324eedcdf62d3c141167c513e30714030bb2f09c16058d38b5e490bdbf05ce183ca2f003c248db1728c76bf357bb5789823b91d2f26536147ba5cffc646f7d0b844cf86f7126bb56cfe602ba6e1800b673b37770f01aefb6948881a755ec43ff1d62dfe12c9e028595da8e3cbad84ef76472c077c4113d0f4cd1b66cc86cb82f3e84109996feda8b9d032565613a89ebdfefa970664b8c31beb1b3aede2e59fd47f930ef0f2716817c87bb0322b74a2c6f553296306758c05850b7123ce92b206bb4d04befd71366e6bf9fbc7d4cf31e373d3ab2e1c4814c19c584b3b736d23bf6d24c9e4a0ef36cff29fd43af998b2b51aad52adac96d796ab7ce10f1ba33e4730cda6fc352dd846665f622884c63da91662b82c2380ecca2a0dbf56c02e959094030083e515ac0fc3a806150f9f181379237e2a871c3f681090b5fcfb32cde3cb493b1bbe6dc0d776317fea9feb17289c6304c434b4bc4858d6a1d97512c551eaccf243db50707a421058296bbcc2f39057c6384d4cd0c4dc31d77d3b76932016bd1bfce46a507f4f5f958045d5e123442358de8cbc4f6c5b790e4885fc2d2931ce6625afe4f11fc9ce8ca66d95421a0c0a1d3681c76fa2c254b6fcdf030083004f85e10ad833ef217f082d2059df6837a72db65c889cf9e85895e808638a028fb23e7c0d0f1ee60f04739d49b0f0fe2c9233846370743ccfc5f20867cac9226f82b5649cc11b3fee140ab77bf8c40dce68f97b22bdbc44061393d8fe19a79d0cc56b3df7c4bacd401bb47258c62e4dc2978dddc3add6b899738aee055151a583501c37958d5ac0ca6f281651297fae39d1f0f09b10dbf6721ce298c3b157af900b5212d5cb8023fdaa85e46f63f7ca9b19d23d89a1644f37f812ff2f3b358bb62cb1b0727832a71fc35f72cb4a9143f00e57fac3c9810e31d2e763bf12f71e6ea4f072634738449ec30bf3970c59ce7124be2b387f4f1f31d7891d6b180a48dc11a4089c7f3c8d78f37747456c1b41867b556020e8618b97b4df20dc5a8b7857f92766179d89b28f3433afc30521cfd5b6836b401526a2fc229f45c1d0473af7285c007d432675b53f5f2dcda45b5879f7c5c3a149ff1f4ddff72a23dcccd125c1edbeadc66a6a7c67ae5ff43199daf1963f275e469e2cb9e1a47cf505d8d736118dd157477e5ce25c9bb342b224e800fc609da1c62a0a7d5add0fd37c6413229667d6d18bf6251f6fe499133251b6a0abdb377b951e8aecaecd74e7d9e3d622b2253eace4034015c9496709bd09ac6e80af281ec0576d5bfcf12df36fe3a99d71fa8e96839a9b3cb9343dfcc365a39ae762045ddb673ced5b52d5bbc79f5ff2d77258b5c846dbaca06c5f97a7c8efdc01fea9252686cc39ad41720e93e0fe6f7eed9ce32b07bb01021751f043de314845565f21adc19d38e58af0dbff2b9601ae6b4d3b6080b7cd18ac58f741af4c3a700a5b46183c3305d6221756340686bf02e9ee17018210e3167003660380cc7bc59a5266e0cd716d36cf3b9591928bd990d78e9721ef436e4c315507c6fe074fd03265e699d8ee16e3e20f1a25e313587d50920ca21fde3038a7e8e501985e5b9b745c92c0dc73af4be76b5cb2355497f55c01933ef7d08963b108770f9f0bccb9350dfb426eb57f12a04e6b2d01100da74207d45dc415546d6da97cd84f7464d6630c1b22e68cc0129bffece302f1d5ff3646692f81af49ecf28052805f5bf2db2f04356c71428a2b1a77567fc7b6395dcddd559d960f9f6ef0154235c79f9009abcde4f3bfa46d25f3a8d8bb233e4af8bbf0d2fdede75715ea8940f3374073a934e234b1bce432b10728fbdb88be9b07011b156afef50ea1bc5f0e29eee202537f91d63d1c220d9ec97b8a38b80b7bea4d09742106dd90ca9383d939adf2e4afe86c9e48b76f5027c1c6fbc7b4859545b2f763a2cb74967ff4a1c4b0c5119e591a43f86540a1b1144a6a1fb7c2fdbd7850b0e8f0262d483cb65d4918b7dc9f52346dd499161909b95d0fe6def90147d3f08f4a1bc453555690b24b886e18e777214c0448d68308e3839d08b2787cc6a337fae81c8ea95d23d9a104f0f406fa68214fb295601b129aad4998c1c470d37abd702454f10a705faa0596ae00d1d752802ef10f39a8517ce04f67c5e6162f9c4a708176da5132f98cdc5832a5d1f8a8d1b54c89519e929c30d031045dd4ee4b5dd2e974941ae3d73044c0ac12dc575fb8740a82bf6c919d3627764cbd384674816669f6db292b973291a0b9fa11065f0112afd677b221295eafa3bbccfe929bd93b4f0f48cfb3c65262513389857f0eee6ae767a4cb8ec1a417752144fda8386fb883e41c0141a189726ce80243026e96e8aa0dfd932e55a5de4bafeebc363d62dc4b1665f7108873f7e2d1d29fa267051c3eca191a26e8c453e52fd18f168763abcd40792992e98184482c0e49042368c5d094f7606ebf4f6f6bc3ed0201b5475470cfd3317e3b7f9c13cfc981e66d34c40dc8a8a579e276ae0993fa5b994888aa38198d076474943643013521213ca4afcffe5005d8006ca11e559c04ae9d8169e450bbd71f17793d925e4a78c114f576d218c18ea6c5456f3912eee68e9f2bae07da98a236972d83d38c5b2c1394e771c50d3dcfcaca38c009cf4f613ecdca6c85cf621360974148ddea2c89616d088c6f225a58c28324b8ebc6087368fe0035af7a4b82a402f62983641ec8a813439acd32bd8b63cadb48ef80bb127ee2f47b6248c51884afeed09f893031396ea3f378bd892f143d043ea668204da9214129fff65afc2738aa491985bf5f0c3c7889177ed1ff2055db76110471d41eb1bc77d63304b8cf964072d26d3d7b5c23422a3f97ddbb9238a0460c9545baa560b322958da9b34f2721bf55d9121c97ed6d147a331124c4a098da3e223be1a291b697e201b7e8c03514c29da28527763e75130aba238c771de6f7e8982a995395c6db67304044c71559747062c958a2c8a05a0d8c8023cef0ca1c27ecb8e3df93937c14f7c9f6838056f8a835509a4a7806b14c700e6c3dc875c2288c17c95c4c8ec9db41ff07a80d1acbb3cab24919bb9a156662a4e4c077666b8dbd3a33833d74dc4007cc03b7ea92fdd079ea80717d9f9e7ef6371a20cc02851cdaa4f75a2195b88f0b5745978946d5abdc543d6a62a9fd11d546b9b33a552789ad4a9311e4b22229054ac7141a676454b566fe9ec1d2d07fbf982cfcf4c4b67d1154adc1640341483776108a2329730f32f69064527dac3f63b4cf251315de3fb6288956cf872daaf4f03bc41dd4b1440ac516d608399dfbf7472fabce00dacf713cc12ba462bc780770612c94dbfd08666d9fdf911f0ad65fa5612e977d2b8dca01e846c8a05918fd13c4171a5e628dcfe7271777e1986385e9b97cc5fb20b943bfacbea0f6119778307255183c1ac79139ba2799f4b0d23b48d5b62e0fa9ebbe6273f01a2a6110e3ce93c2fbc9ab03047bb0721ba6e18003c39abb146f2dd3f87b50bf554f3ce50f533c413377a4c19be0b43f8aa818f63bc86271353273ce2d39a30757ea2dcd2ef062d9d5c9bc20de06f211f5f8b3e6dec79941ed0af125ad2d5288ba2df10977a39ef028ae48c8294fe79713059b021470a3e0075de46da7311fba71dd1e20d5da82c042a5009ab357129e06382ebfcbc988153de60b28a11ea9046f79f0abaa702401f8824eebdbb46c3776e92ad3be2a2afee86e596fd2275b7fffba223204ef23b74bd7b3b566661563a2f1adb7c41f5438f1c5b32e537d5cb862e1da9a71c4765bfc96f3a2ef09463eb0abd666de79e8da3866190e699c6954cde34082ba2b87d71c1011f4713970beb2035d64292c660a8416b92f9c0126189cad3d94ed958b4e128b4b45ae0f330120d7fafe1ce9448a41b391bab180df99fd5231a088f50f83adbe1718f0cdf1c3c95e2258ed5681bdd57b928422259d511d5bee5c91000e8d99d192b81b9dce0c7469efa41803f4ce481a90422238af8d5bb645cca7ec13d889beb0d33416d87a6a28fb481697d81c2291be4571d768eb4d8b08da4231806b039c8122cba1528b0c2ce09f3e5b61c048daaa21d65cb89c744455f6b8a347153da97dbd235f8d3ef7368694143a66abb4f98d9ae92ff51465fe7048cd6bead4b3455a4b8053c3eb0f12d7d9db521690f006de8c0c708a5505c7be81cc386d9c63c0c96a98363512bea958ed354e92d3673163d13953eb2b3f6d23177a6d451ebbd03a5cd524ae653f3ef4281bb14d9f147d977ca5d184d86b85c01ab52e51efe61574900a43ef4a6c9789770f8d33ed50a552877656b6fbea8d81d1788262dcb304f466bb11109254a5b6526c433ccbd79aa39570128e6b411579b86b81175aaa7bc2075912e84a26864cea5e1fbcacb0c4c62a8bacd9604b6deaf37cc7a1647589ee2210f0a4df07526e0027083bea7722bb691b80331cface3b8da025f0e495fe1a0ca3ded920230c3c688a91f8587fcd3149fae0ee43344084ec7a4d5f7172444d3f69401287500e7cb69038f5762c0c439003be6e9716b1d6a1be008905eb6434f398b04e97a17df73c97bb8c2460d74940f9b8ee905aec3794562ea05831b415af9c56db4451ef317f939861f2698ead55373803700b6eacee6503f5331979a6775637e47dd510a0c91774996217d206ecce9d305902cecd5c583a06cb5490dbd19d5de9dda14ba07bb008b2233a4e21e2b4a3d2a011ad315b9d82f5b780f781f51b70d51c8ce2747f3ba82aea1f02b4402d3e4bfd0f6096821454618b52202dca1430dc4342e467ad9b4445934be85818d307043e42b579a6c1e70490f72397f6ce1a6331475df5ff9c78f969155e4f74e72f2a796f895405c429f7b98b9214c296580b11895a0f738caacccdc5dba5baf7dfb630a77dfea43d74b6c5304c0c9c96ccffcfe86d6847fae8576a1cf072393c67dbf18dd25de10a50a452710a2313d5d766af3cf0f335d4b3d558b4eafed7796fb8f5f4f2ebfb827123c8801fbece29f70a8b72dd3f678fdbedbec83416c8e65771e030b80085ee3cd05b6cc4d82dd2d3591c8125c88a65f0409c1ddb13d56599d2c157d008d3e65a57e009c7b4acc860510941a65f85d70984af8673265428a2081ed3344665cf1b626333aa2f8966aa22440fe35dcbc69654a1d588080a0527ba07bd9b78ff97ea5d849ca575c524d928651135be2c6828391ef6a4d74707f625be88f8024e2171380179de360cae263a82db9b2e07821a1ffdf903d347725e4e5fea81e79fe9bedba51cc45c35f25b2df9341bb987a1f54bef698b616bc5826b67f1c63c8e31175b67495e6547daf2ead64b498c3765f7e50be6ba6c0a43306f6560ceaad512d75b8593525335f15f5125cf90588b34c2df273d4d17bbd945bd8008b68a171b39068c50e358b8cf51ca8d183a5ee16f2c9902b5096aa1e600d42eb68369c21a17db0b8a035ce1e0b4d7c4f8c86974b63ff12f2c0ca37e1b3171546a65de389c1331faa401a9ffd0a5805d6108c0039fc69d5b7b4ba8b1147ac4e632c4a4d7ab2de5b8ac8d4b68aa36b98807e96eb6d04eadd3fff12cdf7e0d59216a429dad976dd02bc68e4c1128ec1520b27bdb7fdf3b75a0d4dbe5c4a0514930ec95818f154f312898cb986f2a5184ea03f58dcc184100eaaabc8182683e9a17997aed7e314b7ac828fb3417be9cbaa3f49cfe3cadc980203f3858f6011b77591e60bb6538365e975f9d46b0c8d45d1a2af8ea5767bc7c157a2f2947059eda529cc19967361a2800600d6a4c17aa7e28bea9735240876410d92a1b99c68173595539a7d2ffbd3d99719445f91c758853cfa49056da0274f76fa2af2d5300744fba89026b4388fe36bf2ff48c0701f9cf71c82cc0ea5a8345536a69dc9ad89d6615fd979ea385ba1d2cf240e442bd3d76b5a7d8ba2ce997d3e31010e60c4129189b93ca8103d7a990ac3549dfc2ccdf0ace011300086142e26e18ae49726ba6461daa1e33ad594bc09579cc7da3dbe0a343e0da8fd966e9b9091bd4a83cc0e1fc90126b4d9d7cfdbd308388568f552bf628b6f96c124542cc2ef19c1206c102861ec5d8321f87bda375792ad4a16c5bf397ae7e330be4c71df2b1eb66c9d4a4cd32883e80c50f4dae509e44759df83d594104733f3c91a710d2de976f329b2bd404e5a569d7768245f1e831706bd15ee972028104908821c4a8254009ea575cdcd3c09e408fab33bfcbb5a3ab6622c4faaa3216e6dfc8da466002c81ac72efd0af17dc28959954a66372e6a8524ec7d0e31f448dee494496d07a7af928de8d27852f5075472191ad05c775dc7f254a2d4749da2a420ac32afeb4dbedaadc31ee6b106648ac660b972e20fd25db895f6e603944641944ba55653d2b54924591480c2432b77f5d9c8c6e4348c8a0ebe86333ab2825aada65308c9583d408e402fcfca3f665807bfdb7055ddc5c92cc122c5091efc239c0449035e64e598b682c8b4313b35847b77677c0af07e6b0e740df6b704828d3eccf65f66072702d8246a661093bc4d52e68d7ea3d9e210b31e8319203e46a088058d90cc835d140bd43b7608c2081f45ec248603435e3fd275d6a3eedf0c20ff05315688e6b34061b50ffd4b772c90d7e40ca6ae9ea49c2494c831ba9d490e143fa7c853d30e6ab47a215fcf9e784107f90a3297b03cd6d14c280cac9661056e896f2fdc5444c37810fe4d0709abb00f925bbb286c613ac8586f2c40809cd88038699b1b980694dbd5419d606056a8453ed25e049378b8041066e2891b0a7cb5ebae0453acfff4faeaadf041b1655f8c92361bc112affb0f051dd5977bd2708c64007df1da5d92507fd051dac615a3dff05c8c01572c5a5b2f541d4b7b362c1136afe93f09a1f3dae6568fea5240b713084bae903391b6a718685b1170c76ebb8fa176b0fcc532ce0aea5b1485ffe195f49d1c29552f1ad72e45a3a018ececc98b7ba01bbdfdb33ddd755623b717c533abfc831e41f269de5690c0afec5cb2f5554ab4ddd255467b173038cdeba8fd45d06cfd553e5caffc8ca870e90177c7e5f84494b1399a448a0587b42a95714530e451e90945f538531a8e2528113d3fa8391187ded6514e5adc83dcfa1b340d9dacdd15e06d9158133e84d1e50a135efa4b531890f4dfe011b328ddfdf89816132371a6096020afd4366ae22a4d7c7426547d1999a69db79565d30a216dd26e5d75ca6830c27e5904eb90add626d923cc1e29394062fb98ad0f123a2d788dacdb918077546c25160bad06605ad4f8c8e0bfb68a90941f59761ce5424bfbbb096e48ee4fefc4d16dfeec80d354c2acad13fa120ab8fe60373bc12f15d8bd1711601a847572ca2697a52154a76abe6f1cac022d66682e07cfde9ce7ae0fdf8f113c3a70cd88cad219e5a6700af83aa1fa90e0ffb2e05981737f8c4213b21ed7f87c65acbb25a8a30ac5664558eb4939b04550566eb361bf579b544e285f672342964ab4fab42c09f9c650f677a73afc7a2e3083ea531000e97653ea612c2b215a5dfdf1aa50774324eb43f42356d4b8cb5fd75417c495d0d30fad167fd3eac0b2dac82888981a35fdee042e836a2e0a6ecea33f1ed77f35df9e2edead0ad496819a5adf686547a95f3710ed202d223e107693fe1645cc5b62b1b5181c84a19f402df11c062cf6583e6e6ffa58c5e3ec0bb7898de5aee83a8e2d61a03dbf0f8959ce0f7becda549d77692b388cdfee1260fb566c08333eba386d5f7630616a0b699912a1d151abd681cdc60b2e1908f76c1be70df93abf7ac686f252d0f666c17378e7fcbb53c55e5e9b8bc3436fcebe37ee02cc43253660c054f4f79ee11f843d5d580a68a3f5391a1bb918a13b5ba26a8776cb4bb47a737e81f736a4abb5def1743c8e33ba34224de378c01561adcf0309af644d2d3f00fad5f5527363bff4cdbf7d8751f26e5906e40a72db6cdd1dffc50ecd230ede921d5c50726a9afdae22165f923b59f740880d63aa4afd0d1a42bd06180cc54d6c6f0048f4f413a1d93518f518484ca2e697ebba760fe0d61f926b599f697e80de36a36e395d7ef668c43b090e7c9cbb40d1a4c8b0c17bd4f19d674c734e66646560650aa2789a1de2f7b9a93e5548218c47ded95e1892334d79c0ece34850c034ef591a3382bbf077dfa94cb8a15ae6dad6adb4785a1043d4aba175b6d608e70fc608f72b3ff96af8e180a76e0fca89ff2d4833d1a553e508ad9e924b353fff5942eab8875a2a90d78fe9313193ee57a4ecedc9ff6aff7486ae0d5c4eabfff3baa1f99a23c237d814f3743ecbbcbf3473769f4977c82ba2f261eddecd8f0d407b4160063b04e4947462654b9f5131a6dc651c671b2afec18d0b2e2eb718d75b4cd0a3143716d857fcdfd7479b705bccee6d94f4e52fb16ff99e46f5eb3603dc23475b764e5bcbdb01f510f3591988f652e3c814e3fd59a31ae239e3e62e3bc5de0fe135c789e6ba066eb814d81e7bc30000c69b16993f7a53668bf9b287bcae4e40707d002fec97a0f17e53e4047cd9df5a332f9128c5e2f90c6c9f9cccf5857900557752ef2babd50764c3393d49bc7b99b6bb151a083d44ecba882b245b0e58d00ca68afda5c56a3b8e7810812c4983319c2c13d33782c35105a601e96e73632be4d1dcf801cc2372710cc5de93511a72c6220e56df679b902f506bfb0d60e58be398954d829f68e444ff1a2e659dd7a4cb16dde16f63b09e9e035598d616bbd197ff873e8227db5d5af806012c7650241db9ba2e1c2aae366b814f0fbd51cfabaeeb5998230f0404ef82c4c03b77c9c8ef51d5686300ac17c884fccf522b2c849850ccabe26e0d9e4e2183b28b8e3a948d98de053c0713f89a2718eaff6175cd46c801633e2f45c5120f99981788a5187614498742344c0af9083e99748e9862fadc3a8bdc681806bc4dec4991da046532c76d27cac852fa74c93e10bea7c1056b78a055f4f261b224225a420642b7433641f7a68c30d7a9d7887269849452b1ac6b0fa142087372c5025c64da830b5ae73916f90898b232da32017dbfb20ac6d93c0f1819ea89ee5c986f81b6807cca224f6bd80e79a031c3fef0adbbce83521b0ccc0c2e86e610918a6290f2856ac6f6ce2f22e17f307dfcac37f157364ad465bcd56a6100e0089e9119adbdc1dfc8ca12c0096a1b04f48d906d90406b6fb873dcc9799a092bc179b1342347e24278fc7db930cab75155a80432b9950939b345651b95297b203219ee8658b1ed2714dcf88a85ef3d0b26a25a30e716c605d31a739888d80dba957b80a0d62c176aa0485b75d35d6cd172a10087e8cfe070c14cd4b19b2e4d426f3fae3cef20eaf59294cc948f8765db6d631bcab4067c3d76a6957d1d2fad28f26ee961c93cafa4a85f141b90c9a4fb2fae20786d095ea5758bd8d68ef0680925de92c29b8671e28c4ebf2ccd58b64285246407f6e9396dd22fe03975642415156dc9a301ac6042e673b503105da48e38dc69d2191dbe2acbe551c2b3de98b982453e5168a37fbbc665a79442604d5af57f586b01e47f727b9050ff052531f8704466a77b7e0041de49614967c730e4838f8251dfa6b364c3ea8a37a9b47b815a4db7af88a0d10ee6aff0fa4bfd3cd30855e11c12de32f57f778edf4411e09a2d143906b449761b25c3f58b563ef73701ea07710705518c8f638be88abf61fec0ba99647c5a383ce361407262c6ef31a14de71d744b3c3387ca913d2c55bdbed95724ea990a8f3ffe3c24d0157bf95a307aa39f91e519cb57a7967f076b426a1e1afae4896c68cdcfebbf0630999863a0c1b2f5a60a33623eb834543f3ec621f77cc727ab33094c14a46d7a9bb75260b608a193bdda1f1d76b660e0258036a5d36bf324da39cf685795f1efb823f09cdd747fd82ee840ad7b19876e151ed21ae456353f71331ff9bd12bf3858165a672dc42f8d612de85a6051b426f9d27a1dbc4a77593d9f54d424b7206be6ac4543c7e71aabb72e4620f2a1bc469bd8ba43d35d9e401e42d2a7ca419cd64acf0d900b870c543cc54c1826465f36040868429ca18bf99c049c376339a26f5e6532d59f6871f3d9203abdeaf516a0a922ae3ddc97d4986b30806f3e6fa3e9961c589151e49f11853a5c58c265735421064be612c342a39c9079499d830480bddc822960251a5b41228180c9ecd86545543dec86115292f1fc91ad52292001e8d54c420115e844f856f3dbaf13121b890cd7801c15070586e20a03cc3c9758cef2311c22b5b9a190f2b7f9c9dbc0b6ac6d1b2e1d4451990a685350ece79469dd8cb45f582782fe2932d7726102eb15371af6f96f7ffa5fc4174102909bc4f9805f02b40b4e88347205c4b4a82a1e7250c89bb2ca5c11ef27365fdb15aaf899b35d854aa9887a45a469f4525a027b8eb46c8f6bb9d350c6ae7e73ee61c8ebaa68b6e6da36c554022c720bbb5ed6080ba9aed8dd1b66590d7d6e85349a9e985acecca10f977e75a12fb28e7ad3f27a6eb4c07c9c40d4a77944be4a607d94b8c6e9d45f2731980d6eea2ad28c1ce7d23f684bd49fb4b09aeb2971abfea198f5a6cc8a62b6845b28a90c42f0c41611c9eb449fb0a25b5722626ece981610c15af441462fea4841f8952f39f531e955a01e4608aabe096872b9ded03ae8922f71b503bd31895b72919da5e1b2128fa35148375bb204c7c7d8fa7cc39d31c49234b7892d5cb773163690bc0c94e1ef66f0c045610fe807b75e8798a021a9e4216572feb2c3ecfa78362e1bccc7685faef9fe4f4035995add20d73c3cd7cf72bf3ed9a5ebafd579f628ef78b065b153880ae5cf5ced7bc36847b2061725802ea2a2f41ebb0fc6fd5cc9845f4ca96fdbfd7fc2bc4f340c09911f766af3e7dea3d387cf64d98cb0bf8d76201d24ca0196d8127f8c3c459b75e10a84cb461c63437294d138b2491bde819c602e2689a499f56d9afbf0817a6430c3e638643734e6614216cb61e63acbb144c35d9f86d3559141ed21d7db7aa4a07ef3d88a23ced7ba3ce5a96acbfea2c2b547944ebf584a8d7a90630bdf9b573a39267c1e3ffc07d0cc85b8d42e3834a05ff3f4ac844aaedc9c1bc74dc1a219fad0701e3c7dbad1929fd4260e7658f8ce92f36d6b8b7a6737f9cd831bfd0d9ab538a311d0d5fc92343be63439763f44280652dd493bcc07c872158ef4bbe9c1621ac378fb08a9dd77e8772eabfc2bf6a909746814a93049e9ab582e9025797fd29ef92015b0291b12e361dbde903420963618c789b6e2dbbbc9460b1858ce61e90b29dae6cd44873ad225c3dced4a67d8991527dea1f4b7901c4f0d90694fa8140dab48d31a6801cc3b120059cea8bcd5a9e549c5d3a3b2df0b52bcc08bda7d477589aeaa9fc6200823a85de47be784639e6a9df4b9a3017d03e46cd5690e76bf831a7a5138f3930066fe3bd4b1f2900f3bc76ecd6ad9795d771e4da770e4f9b3ef4c8fbe3bae13c278eeaf868cd28edbd268a89eb84c16d9c91202ccfa1b75fd429568315a98fb46a0125b1e4de777c48f76a00f4aec831cbdc6a91f0dc771c2529d9869b1f1b60710c5af346ecdcbffbbda560d6d82845a4ac41a6c1c9698ffd03220a39c5d9161f76af3937f4902071f99311977e10c5c7e03926ce2a9be7c787923a4dc3b6d270d9cca0e241a5c6b0fee7cefd0cd8294364ed09a0c237bf5ac2753c7d3110dfa2865c3bf43581fcc18c3a4e7afe3e642d1d4274546629e0feacf09de443b69d727844fa44cee9738a5a0d0c253058f3ef9e9f0f36c6a17f87a1ea3a36fd4954279cc1a8116b8a8244dee80d26a7b3f7b2ee9821bef4251a0d7eb41e2b43ca406af9479d818aa14006021bc677bfee74c3fe7eb381b1fe0787358d51e668dc96c8f50d9118e4029461802d10701352fb4916e9a470e7ea438ab955bf0c962fcb102d3c09b15c79d831d8bb3d3ab1e5f1d1d34a4c6aaa855f1450b82f594eb892a377b6f5d193c6af70b97d86ea325507e7bed587b4e84bc30c8a08bfb3907663abc2c71b562b3b568dd10da80f9590129e0bc68cd4afb95eab9d5609ab5ae6667f5f49b09ef99d113f664c9086eaefa86dcd3d7e9a17108504f470dc435225b5a825e9c9756b582ea1579979445ebd449484f28dcef77aed73b221a9b517eec4a0a042af176684108c04a0255ffa01f02fa8fb0347421a4b5f964f6f666d5cf6b0617c694cb638ed4884fac2ecd40c31fe1ba2d40f1fb16776dda29dc58497b733c8f517e6f9e79aee421d8a86a1274503a152d16d68c7da1ab49b66e6f71199e687694d3ca59fc8a5132ac895d737366cc2e715e426897c9a5cbd4328aeff1dab7e2a4b657e7b76cd647fe71d3cf8e1681b51d93b2aed04b1f5acdaa98502065344ab970ae5ad40e6f916b3b846a0692ed434e26dc4cbf25f6c5933fd4f6d586f00f632bfa67d7a016fdd28365f801afe7ca0c324ddc8d995048bc9fcc0375699a009a1b3df770de64bac22324c35ccee7505ff2fae8971cfdec0ab957e8f96bd1d6280a2ad152ff18c6554043e4b6e0eb47b26667cd477dd62ad835606a0bb597a06952bad18bd65fc0c1b2ad2d7bc5490ca6e791668139d81645e6e36bb35aaad783b1287a49229fb632f580687dad515a9adea066b6ffed2873837af46369b7d6342466a6c4540de353ba6b48d3a438fd85633c03a1e718fd7d018f1004669ee35edafddfdfae1d767974ce13258be6e33eb03517ae6396e766f41cda5a4419badda4e83644f8a058115e9e458541701e9f73208a62f6c63c6185b70e530dfc06e32b58191dee53481f12b3a6bc589cf99f0e8604005d0ff7944f00897b452da141ed0d2e6b258f0b6946b50d0a324081a6bb1fe6f3ac50390524ead61ed98231626a9a27b45bddc2309fccdba26b317dd8d04e060f9e76699e318a14573806eaa7de92fa33f48215b072242da3a9ce567fb2d3dbb485c38a40fa8f3643f5ea9b88e95bd60004c7e0adad87518047be652def056cb2041248408b395bb08c48ba9106648a9f50410d532d746bf97d3b327c8eb342dfa78cbf651ed787156e36c5efb952c29c0a748a4469a1284f05db33a12a1cf6568a75032296c3eb75cab07ada8a4667d573f4d5d4178615d590818a235ee081f96d521dbbbb82241f17e4050c9684e0ec2e86cdbade656ff15a241a280bb0c326177f13bca90cfeba4e818852ac580fe65fb1216921fd8a73a6b093b0a1476f0b506f6ce7ff1b2a82c4180c170526e6e23a0292dbcee2ef58357972413a4ee142154a638943710b2708c4b4b71d0efdc076606ebe42ee4a11373e1b7aa04f2db0ba83840b1fee117d5b09107d47134e539eae655ab3820718e93346b8d8933ad425ae50828360cc1ac55fbbfc0079d49b0394e3f4e1228b3032def9c10ae601409cf29ad7b18ae8b6d7b9d29e0ea393533f0c476835cd47bb9fbc344592e4d0958e73a1d0a6ee7e2b1ae08d2e7cc7c1a280b6ecd45931bf21ba8e336a2141af2e3cbe63d6c08597df89c06382eada9305240d57401a886f237eaaa84c4e5cb03246ee89340a674dbd91ac64c818e5096e8ab20f1a5b32b15f22d4a05a925a7032d3a2d9bb23b893c647e4e0522cb3ae2dc4722bb6ec1c5916b9349260c78c05b4e844a33a301d34b8b7e25548081be983237870d87191122342afe63901552615f93cb7497bc4d3ed8866df2e624ed948be0a60f2210e6e216a8293802ad84cfced047439808590eac31a986220f423d38f02e3448f2dcefff2bbf8412f133204be68dbf5f1da16ebad074c653927edc6955d76030bc122acbe6c883f49790c23c09da0498a9f7d1ad10a61c2bf6dfedde007ed07750a732c1c5b1d00d37bc4bf296c6c3265ab9108814b69248991b47f1da85149ea40f1463c70e9200156b0e1b402c29096f7e1cf0e092003b494bb64dd5ee0dc46bcf2205348d3858f8c46aa75b098bf5fb58c1cccd617ad5a402d1e2dbf9633157c7a1e3732e6dd51ec1d578f4e83c680c16c5a69723de1d708ef50b3e7a363e89b86a58d6bbc8a48ae992fd861676927de7c5eea89bc85e92617c73212f81f03c4155fe3260acbc8b35e432d7a47678e99cf688c31022e7cf9bcc8161589319afdcf5e47a35a0b2020c5e10d053a31017ba05f84ff53538f1952383330b5889d026067e582cb11c342e3f4994b109f6ae1fed1d221e356c530e55a1861bcb90123a9d0276b77e31a9f745bf92a9b27884e235c543e6e93513a3740f7ad5fc0178635c4f9b9bb5d7f13a12c5f4b17f2fc464569dde7633824df1eb3b0fd66e27ffc3ab9f0a41741e71f61f3079b4368ee7c026e8bf396e31ef64713498804f188d683935e0ee890ddc64d7319448269e98717fd96701c714487962f511e8b6242bde69134f7fe3deb16cd718fa8a69215cc9913e6a9c16b8eabe39961f1bcde70c911f44c875750804a495d880cb0c049389a37733806c58ea3fbd0c81a085be8ac0fecbbfed79daff17e9b22d7e46cfe0940844b508843c70e9d6be00c55680e572ba8f84eec326c628cf5bd9b75af43153efb8cb928ea068c5d7f901051a8d1b9492e342c5e21bff09478d5428dca1064de0fcc42be118c152a16aca0ccaaa7d587cf66bb17fda931616c843f413100df039328b93ec6bfce2a08bb4f82170fa4dd0910c8c4391166682da043194b30a89dbb9d8475050cedd697480098ed2c131a90548b62978dce99f0b93c47dc332e93614fa53750f15161a0715da263b754ce7cdcbd571aa453db8de38278aff8fb6586f56787d24720a22d22c0ddbe96ef725e26c8672a7e47cbdfed83faa47e4b998b2d35ee0ffde8e11fdc35cce6c40c3f3fa70dad5d33ffb9e1417a7daad60bfc51aabc3829b2c5f639de00eb718c55011f61807499023f75207f2f2f9d9aa6b06c97d4806c6f624aae54e0fd13ab30c92969cd01fa133cff4ec650a424f0196d963473b53d672fe1caba5afccac92c3ca966168eb3aed488e28c3a5636e21738669fbb06159679c9d10e8a1eb42be17c63a70054184707887920b12f14a7fae0222a6451b0d662666816fc245ee96ddb4bff4e452d43f52e0d854efb5193c112ddc80c177994a981a3d81d9d494c320d444674f98abe1d744bb690980ee6df530ab85383f883d35135dd6f531935d6a73a4d268b3d5f3c34e48cd2bd0d06ec91fbe17515001d737702dcc6cdd1ca051c1d7e7d1eef9e8cfda310389078de2ed24bd8bca2d8d926b514c79efad68380e10ad026957422bc585d84bf87936c0259766dae6361fce62016fd5fcb11310510cb315071c87f1f2f55c220f4805a29b17385b5b6d416bba3f46a078be12dfdd1f415b88bdc3a91fb3b502f98973ad08581dca4ad3b403e08ec203a351ffe5c70e83948fd347a0b2e72007a863ef8c30c7eae6210f2d0d3b182731b31b6111b0360e67c9e79c99e1595e6dc064723d77062d66b218bb1732ee93f4f4e83143d95a2f9836d151900f04e163f2cf10fcbc398e536f754f86803dc9d6deb988198873094778f2900012d496d312ee5ebf83ba8453879c20b5af27d4ac96f66264d037f28609da134d6db63d9cbb66563092c06e6b4ad3d235a97dd7043432dafef8826d0428ee8261f8730f0758c3344d367a03c2251a6919edbd3b1856af2ec69190a7a48ad89291d055ab0753fa0f1e6a14bc16c842d634184c1ba30e559d1c712a033edf7efd0ea05c3cc3d9a3dc74a2c4106824b631f9452f7be47d6ed6a82cb000a29ef5d00a4a705323eff5260d6702ce4316923678d9959adc03ea1d511b58c66c25cd2f998399ae21ede3d90591c87d03ebb7d4527583b864f55402372cd13051b261c544b9ed3b21191d640849cce1741061db9d8515f5b9059e92c76242948e1555eeed360f1f239cf863f0a9cc8817d6cf896f31d2ff3017247b7b81b4dbce6651bce4e1c94d5ba64abb9c2105538d0bdd42bf6fce6cf115d5c9a3a829a924a180c87626ab15bbe413f9f56f6cfc90c3d915adc65d86bc3ed7ce64314bb64bd415c1ecf499fd0124c6102b1c293b9de0f21b8a97e737a38eefdf3c838b94ace2b11fe703a2d1e1aaece0c09318b8511cbe393eaf30d0a87c033c42198a63714d505e981d3b479559bda48e4775f423b117cee2822a9543b6dcd345e1484ae55e916208c859311f65b98fa3f25b0c04f87f092ff610b963339f2f2d954323be34ceacd7f86c3050ba392212d7b9a828afc57cf4cf0bb379000a8c77a07b145a90714b16e7c9a274c2638e3d046823201478b4324b3aed5226622ed181cc6c72b918ea88d086c53dff3d784a197839d5a8ed48a5a13904c0f41e7ce77d52a0017ed22a4231b4a8713c2dbe73eabc0256cce672ebd3c86e4088688794c7b211c1557e2e07652e99d547d789cbab71cd523c445e1d6fc90990692608d797065079737ddb86b282f0894258af3f22cb6e5bd4483380fb7980fb76668672f4e35304789566059f9630bdca8a072b868104a234fa598bbd594f7b18851fa12ed9cf313c4df4265ee947e3ee376fb0ef8411467cca9a540ba50f51b13229a8a6933b92faeeb471e35a554db0e027ae05418cf23578c080697f2e2ce4422092e87b0315a799c4c867b78e63858f8c77e42503e4ab196030dfb781e22623447e4057c299d583d7275dbc004a7557536e14bf578b682d6989daf50c855595fe42db31592324c8b4c46b449eea575a927321bb55f20c2a868b491bb2276562e2b2ffc5f696cce024db4b58138d07f3eb5c9e4f9744b331b4f4f73f27bfc8f2134572e7dab9e9c44c4d5318420fc17eafca6b30af22917c95e0a2ded81eb36daf6851e75923da354b689ebd9fac553e2bb6f14abf1c1553346b3a3ac13c0e9985b75966b752b4b4ab987ce0e8139e30da6638f0a6485140ad165a7468f329dc01c22bce9a9175a66800cf216af92203dd1e8e9e6b10d0650910e23b987944ad70fc6670747a6152f81c94cbc5a8a83feb96f37bea2e4961cbf3c6b6b420c25cd501e74d9d061c6098cf81e48b197081704911256dd458cef1c21df010d12e625dcd1d75120de08456dadfaa0884b21f0ef0d3f4fa8d96dd34a66ac362baf2ad5fb82735d9961d54565ff5a14beef950c4c2f7c95c7fa242b296e93d583c78f144c44f67236f4889c6fcad9d5307ffa7c1286db5edf6fdd0bc7a7eb734ec4ec0047ac124e0a83c52100de217aeab1e6d278c0201dd6bc136faca01a02e1196cf3a9f22e7528684d07922136f764dc4734c57e551c942671a8b970408028050b3879570e168b1309ec6e50aa76d70afda68dca16a7bfa159d9e2f735362a5afc3de64645bbb7d7d8a068eff41b1bd46ddd5e465b6e52b1be365637505b6f6fa26c757acc1bd4ad4ebf69a3b2c5e96f6856b6f87d8d8d8a167f8fb951d1eeed353628da3bfdc606755bb7d7d0a0dee2f71a9a555bdd1e437345bbdb636eaa6c757acc1bd4ad4ebf69a3b2c5e96f68565675efb88cd4d20cb771b641d6662cdba8d880be66656da46aa0a166496f65aed66db56c50d4b7b43656e8db5a362a6aec5b982b35ed561b953596d60dd5da16eba6ca5a4b0bf30a7dab45b36aadb585a1baa6ddb2415dd7dad250a1df62dda8a8b76d69acd0b4b7685696995e97b81aa508b57cd438af345c6752585a1fc40ee56a85bed558af22c03c441f8f8f9d07cfdff7dc008a4b629799d20f0b17195510b1c728be67df91b2ae0d8007afc2686e413e32bc339e2b73ae9b3e9f29ff46e95dff61b63fb1af61d92df775f365554d08b94fe84457ab03d6258c57cccc0d29a09abf0ed8dd3dad322f647f0389532791ffe913a47e1bbef3ea75a5c602faade0a450b81e63ed0fee75c53bd9a53a8237d1afc0d7549c03a5ae45e37587f0cf28359e5db722c6c81a086f274a85bdd85341d1b216cb82ca307592884f61eca961dd338dbd516c581f8d33e7ca152d98e517b5e5ea47007a1410c8566731e2e7ae68b25311531c7c8e4f1db9312346a70b49e2e8c10363329d9f8b391aaa719f16554d2b3ba8f510b91dccd6d5c5844c8419954c4bd26e375bfeaf1f298287e7b8b1cef6c17495a5407edc89bd5dc2dc1ba5e4be43c7112a8467eeda0d3f98d1285e409c54484b2021bfb1b59ca31a5877c3c17c95cb0e4067dfc235a458c6dd4d04ff2a9b6ec4ab7105bbc1d9e52f99eee23002443700684c46346e558f00e51d34edd40953dc11964533d149a6b2fd59a584787f827295dce632db61cc397f5c3fdcc8e4ebd7fc2d63ce3dd796cc08d665cc74c416e3bf794643262919ae72f1fa6f14828ed7b5dd8ae10b07fc4cff705d9e7f9c3eedbdf068fe41fb673ea2398b8e7c10f17ff302be91f6f61fbfb37f2d2c1e80e6cded178c39e7ee055ba14e8c15fd5197d127d68a003cff08dba3f7b9f557e4efaee999a7c830b9b747677261f501d4d491830df3ff2b8732998667906428fa3df6fe0dff17a0a179a8e12cffdca8fabb1e312b3adb718bbaee5b4dcf87a78e5aa0fbf6e5e740382fbf997782286e7240fc17e04da41139c00a67d77415d3e4361ebc14ebc0983a804628cf78c61ddd9dd7e065282beb2c08337c97152b0237a7d37bed342f0161abd38f784e54903c62b10bc04b8e9961d93e505c31962223ea85a679d5f2ccc83a3cfacfcb2f2f65010ba1182648cd8b7fa2e8adf94dfac7e39f957a1c5d28e8296f87fab1e648c6bbcae2dccac4b4aa1532d7adcb2e527f45c742a1577aae75ef68dafa37936a11abce1c15f73ab6145dd2849da2ac32ee045075e90ee1d982e5c953cc09939f13add0302df9d5ce422b8c510416b85ea907ee07adcd2e7e8c7c0d992b6951bddbc46b108e9a221408675a5ee0e8b30c54e801a6efe352ba65174d693f82fe8f824498f51e39cf133d9ccc6c833761f26f064e9d2db360d80a502e09f2815c4dc66dbdfd185e0c3edb8c4898df24b4b705ef22e590561324436b11702d9d85030359e65cc545814b81463fd7cff13da659901539862d77d9c35046b7902909bf5ebea8c153e4bac45b2ed23b1f30cb2d930b0aa44e2145160518198c277f288e8cc222b187d865f9fa279ced081e0f6708fb0a271c76adf6e8b6dcca6e8f18392f62857e198500754bd502e15209a17fc60729bb2217268a9e10dd3a9d667ee1a0a41138d19d00bbbe408f79bedee6a5e65982263d738f8f772dff36b0e988662bc63e0497b5c99c4c203a7f190c9a4860c87ad83bf0180516e3fe9f296e72f27d9c128e13619c5f75e8c0be37b1d996d7aab7a8fc5a8eb5ff126e9b52a9caefc6f805b84a376b38040cb18f0a16e2acbe08ba0dde5e087d9c5e9c802ec9338e991f2392eebd765114b4c67f7b2aa2dcaddf4f53a003252801c276b0a81a62f5dcf03b30dff5bbff025cb8a17afd1d18299e177b533f0e0757c3d0625749ce3fe6b41ed274b552f694aefba045faa16912395a57e1a64b465abc9fd1b9ebaf6ee7b6365c55070b4bb47adc3a542023f6f729ad94c33d98b166530a20b091027c62fdb0fe4d6d3d58682f3c1f95f1106d9d2c48bbb7dc5c4fe43b16d5b996083d481b7df2cc14130a97b1d6f6ec0725b7e5796c53e27e2cd87aa7e57d7f516b9d4268aebb032850df103633e6061dee1f95d763d6f7adc025d21dfd72aa63b9eac2b3500d7f1f49ff8dd09689dd552225c0473d3405cd51aed4c5fa28964af2ddfc5be6f83469b0c45ed819ce3b43c35a2ed2cf2e6790648ca90d151741861453f5e822c7d213edc29f08018e6073884b3e29eea1473e1c4a118332f8f4248a916a89b3591d9fc9891f4cf3c8a841d1d58f9702cc2313d7568f6d55d650ed28b56f47687a888e58b38c94e27f64d8cea96974ebc70ae9fef3ef9210628410ab2468be66057bfcff6d51882c59bd1909e52bc05b4053179c88e0ce2acc27a5d2d37236b1ac9efafb05d8b71a4afc0de64a2687de0dd5c809f55a6a99c3201ca32e7d68f6c91e39151ebea625a10110a3f7bc45ff126d8c241fc058bdffa74f40fc032dff20583afbf20df1035be3bfaa9a10734d74e19c571a16da2b5d1c6c259327c9b50fa23a05d0e23fa6878e5e43c1ff849c28f82b7fde969f888b0def2d2b437a1b222b8c0fe859c4337cb902e13b3a98702fc636f35ae5cebf60038d95b32f00893a27857f3484f0cd70e7305e99f003dfc0e50714f29ec6be6e1aa839e1b714b3c34d77729bea50f393f19d3256563e5cf83079b9d8b8b07208c51e336004966f2f2893bb1af615c17c9fadae4029c1a974e8b98a4ad08803f1299bdc7b5998c2843baaa6de8304b1de6598ba2680dafe4f13d95c74744dd16be461b7d3fc2c8fff9d8600daf51f6f4f46146161ea2905cc5e1cb66a18123ec8caecabe5a46953c3cfbc7e2616487df7c1dff6d348cb38065498a30a7bb87fd716bdb26cec4d25030f1ea10571d1de8efd26296e5489ec7ea9cf7e80feff05527f5b966b1f468afd4ee6fe4e91e49782f442d6857f4d2b7e2611267fd7a8ffb6bfbc69515e3d687ba42fa811817e27a02d9448e8b4d0ccdae7f2c260187e1527410d57fafc9e8cfd834394476419ac72f06f8b5b26700729807c768888af50c0a88f9771afd64a5abd22953fde95ef381fa1848346f4fefa01e21ce5113395b217b42fc509c475dec800be39e55a36907583697fdca2a2a60e49c8ff371aba0dc44ece4758f40fb59ec367738875520e75b8faa38097343e1e2abbab7782f877cd86f7b740affc6ed8bf4004aa58da87571f079d99eb9681f40a8cf6853a1f5ef84b0938e736c68a3acadce8a9dd20eaf48e16ca636b46adc6c7a1ffaf1b752c4a3d0a6b87bc9bd31dcdc3ca883e60ff1fc98dcbfe82c7d501729571139c98088125b3be6121db3fe2b892644bb8cfbf37fc0fab1fc61f7c8bce74c92ed8eeeea1220e17a2e7189d687f65ec8df23e2de61a36d3ce26277b69dfe9b61930a6219702e0bd2911e38fc93e45d32c4fa75c474af214e1b89a302efea3f4af2cc47365311c688e79d764fd9628105920127444409c485151f8e1726aeebfec60f58c875e7ef82bb44132f3b930df56eda45ba1c8105dee087dec99f7e8103f1f4a8b2c8dab46f902d5c3cb3bb26a132771d609146e3f38423f834dc81049423b847c88ae8bda200271fafb601d3d24700633816276f15f47504e4501744ef902eb0fe435233f9d60450772a33625d4c7080ae808d0a8404005293d4ed13c0e23b44450a1623d379ec9ae6259e03a2c6f0bf08b2eaf66e22dad4ab841dfb86959d235267f91195a981bb75fd6c60c3f77093502a6231f8c345c09d5e427685811530a5a35b5b04124e57cd50d663bc302ae5a444c0d57464a38b410327acf8d1bbb403837e8928c72bd66d54fb2d0427bbd251c71ca36d5ca314f85f9206e5fe0989120d4da0f07f98360dd5f74781cafc2ac92f0907c1b6d8232b15aa1153797ff8a5b6f16e3d379aabcbdb4a097c15cd6d2a689c1ba1dd93b573b82c8487d6c16a00040c0d27df86e5298a01bff3a687a15c3c016a1e168ca633fdb3797cad78d74760ac50c82bb595c7235ffd9d644d4973eba5ae04434fc1ba04621bb5159bcd3124d8e3e44fa3816c8f9102e397c81636a6df81ec8bae276808b6e14eaec72d2888a0914981e9a78d0eb14c485394989e3301d2215c51d8b3b44f313bd0e02fa91e8bbfe496e8a50fbaf2bbb2c9e859212741605890407d1badc4856d2c86966dfb75699e4a672d0d7ca06006e3fc8bd2e12b5c586ffe63e17866a1880bd84cf1b5108cd1c0a6981d36017a4223a95ae843697f059633d680255a656918d73a188dd6e77058156ac26a5124de14b10f7a3560b34bff86444476e5a6de31e0df208a5167e003c20f8f86f2b99f41ae68b1224ff76503a912b375be22deb6249405008a60a419592845c07f614b194dcb7765fe08a495e6f5fe26c7ea463fc83ca3acdb9d6273f01e623d83ef6011499c0a4c3e86de39f9ae56bc8fb50510d07924ed29f2353e8640c430791376f0b8735ecdead72b1255653b78c66cfd395ff179c3b1ed4411b64818a50f836f0dedc72b7525fce4db4a1b06865f605e58ca6330d3d136084c64caa33b36645a6eecbcdf6415d1120f7df637175a76d111d8c74048722e5829fcd280e4b21318f1538d658e767c3d3cc73171b00f30f039eac94b512104dca900749695235d0dc488fb5ebdbc770fce9c818de1becfd07e47db70f93ed7d61e2606f58690edf76bd80e7a116fe38c11fc0fe51ebbf1dd86ff0861ff9c0ec1cb7fadbf11e866ffa910f60f711eb3f1def37e0b61ffd005ddc6ce3b2cfcf86bfb0e803757ce07cc4d8afcd7b3b386dc6c79a75b652bcdbf96df21e5e4f3af0062bd981b72f2d7e36c4b2bf27e003ec7664ddcf63fb07b8fda33ec08ea357fc3eb47fd80d3fee03be7063b30bdf3e0efbbe080efcf4c1e1e831fc1bed7d76c2ccde35d6b152f3b2dbe764fb5f307dd01b5682c36fb85ee879b805ff9de007b073b495df0ef71bbec18f7fc02e6ed87cc1f747c3df2dc2813b3f701c6d8cdfc6bd9d4f30f36bcd3aacd45eecfe3479bf17a61d7c839570d81bd7163e1bbec0ff13f4015eb879c3e54f9f877db168077af8e0ecc8d8decdf63e707a46cf1aebbc5278dfe97bb23d5e9b3ce00d2b7517b76d5ef6fd81e1af167120ce1fb88f1afbb7c1de8e27ccf0b666dd56ea6db737b8fce9c380af17e1c0aff5f3cf7e58dc861b0c316333b6b6e4d2e63c01f78416374c7b30fa41fb78c7b81d1d0b1fc06b3bbe4ddceff50487df68251c78f385c58f862ffbe3847da01d4756fb716cefb0db3fc207db7564c5cf07f60fbafde33e807d4757fc386ccfb09b3fee83ed707cd58f037b0fb8fda33ef06b376cbbf8e1c3605f16edc01e7fa79db33fb8800f1a4db26e854f20f2cd2612977e68fa86fde3284df84e9fa6262a564c2f864b540ee8aa94e3d87c27001464d2810a06f59f988ab1c590e4365bd58f547310360772da66909cf3f496a28ccef587b3c2bd348bee1a42187aed95307bc9ff46e401bd6435b4a66eb42e591e1b5afebb20ae3f4873c34f6876ee22d19f80b97765281527b93fc619ac52e39f017eba3afcaeb9087b39c60b783a21fcf0ab1366ae3924739da8f9ba67736e7e700e1d81e4252ea457e665f3493242bf549cd1be66270c90fde5874c53022331597d88120cdac89a45fbfa5170a5502aefe015c765ade98261e69c6eac917b4e591c42fa3c476c43565cee8f4b5d020e3136da5bc95ff2421f0fe8a0975734b99db13efaa9ff66f12bc1c89f8760c7ff783fa367bcfe8eaa89f7a89aeb26d106ce892609fec6a3ca29c716748559a88e8a52fa6572bf8ca22a2e7262c24887358a5e9c35e54635d3c43fa63354fd7254730a51ff8c5380aec8e8bb5fb0ae51d935daf546a5a03d92c194f0d23d49c64ede223d4e28fb7b186b342aa8a6aea2c4aa387990a0160a3526c2b224862070b5da55cbf1cb8d56f5de4d712393dca4c2cb101cfe38e6c55b23934751c5a5357db4f26bb81111379584d0225bf9ab74fc4e6648eda6c740c3493c32a8d16c240f99e00bb5fbbc6bee2d548e0fccc6260ce75d6ce02b2f2a673724611654c3c0c49fc84d073f2ab6913115742d3ed110650aa31bc04027cedb03effaf16782757a1c625963facf041f9477aa051b90f52d1ce34d2d79fc496547be2b0711d8b28905dcff97c3ffb298f1ef1772dce6af62c47f7f418e3b745f28e254c53930d987389310d0d33f3c47d0db41977d759678e02eca017ad803c770d3e3d88f99e9b2fc5c0d2de340be529385518ca03e9a1ddf2d823eab9c8d4f12f21353b8c56077734c452f22154f820f249602f9722b63aaf3a83dfdd252b12d60e13b338cfbc326c26e3137216774fbeffd77b6cd8387dd99ba739ddb1ce634c0a621861be637467ca4f8dcc7f8870eaa8430336c93ae59a1be5f6e960c337674969e29cd7754de5d7e2e4ded5d2cec47e902b3335613460e7a7cb3345afc8c9fc489056ff024f29e263826de5a7ba58a82826330de49803473280b3f018e1107101f36506426e878260d8e7d164e5f36525ea6b5bee7c3d70d8e795d81b6de136dc5e31738164251939daadc32d76ec5feb489214d9a19510a71c1310192c322116f29ec1f8b0c4c737d661f369df491866a77a25f8f099f000dd8e6051cdb38d4040cd829f4efc501b3b16d69b7746663ea67267186366880a514264fa244af0a9035b9a973e5fabd80b60510ed3395f9c94c481cf0187aa544c672c5eedf1421a484750933cdf365e4710dda7b8852eb9a9ca5445a28093e5220dde4cbd09b0ceb38044134aa93d71c48784d27aa1a88ee00de100d219f4a3973218ab262a3f51bd66f5af7464329f533b48a84628d40e32130ba8af965820b5859a831d321429215f344376156e32fe5a197561ee0e541ba0936ea468fae5e969021ae48bbd58ee4bc7b9e48626e7468597a45557ae063a1ac07368854132ceb483abe60d90b2527ab177a520ca6e667e61d4c4029e7a6eb3895c3a54b97be3bd57c81cf59b6d202b9bf9401f5cd00a90014058f8262de55c99008a08ba63b99630bf9dc8f02fee05c4163bdac280181f457a4862c1a88ab7f4e265b1c23abc0ea9ccffec2cb9aa54b5811e88ac98cc2c30f92d010818a2e00067d64ac60912127c3f899ba71ce7c0167beb66ce32c4f3f460ed7b28a246c39597e8a8bfb30fd57343a7e9de3444fa6fd57aa38bddeb9decaa58d55632f05b128bb4e6a4f9f068b362fe91c61bb99849fdfc4db5be036f03487fa427a4b2b030293ade19bd395a36851685b60cf6e4b3ee45d156732e14be5e7d0dacb137fa3cfa2672f4bc482c4da109a661658174433cdf403c006ba8cb7b17b05c9959435f8f1eb76d7b82bbf3d40ff2fffcd945d03b4c814ea6c41037ede76ef832f7583215d454c46f09b88e873b842501233f9a38fe21ab4d574a06801e294c9a14545cb5477ec618116d5028066005e5d5adf81e1986c1da790b18cbc71ad089cf577359667a40e9e3db450ba7ccdd214a203f882a096fd1fbbaf438838b4c2c2ffe8182e247a083b8759f48d839572ae4274f07bb0657c985a8a4d90cd0c61c29390198e1ff6f6414a68d2fcb0e2ae44961a10974b93981380911b1fade49442a3633dd2916bf83099a0a0a4b015be19aac401557150250c39e6e37c10c4bdaf2a986284f15b16ca06009f618adff275ef0c3de79824f15bbeed3ea1a1f57840e5034a57127f9c99cbdf9f1eeb549b7cd86da28caf786c0c7cbfeaf09ea2f990a9b828744fcdbddd3fb9acfa2a3986944416dfdaa09ad73269acdb86355303c4fb3904aa892cd1df691dc24e3a8c418ee05d09f0c3d94bf2a0be8dcc54513b2204fe4030f84d0a0d67b27f258185b2a18f428611022c79c942999bea67fd1541cfd2da28b88d697fa50825083c54a5349c607cc213142147f4dbd2ef40f6acb816cd304508b6ba13143ea133288522d460e4c7ae5d2a5f57f7c3c88a8ae00eeb9d29289cf1215584af435e600fd02cba50edcd8d9c3c8506133c5fe3461f21e74551f014a1495a8b770dd5abd891022e816b61c4d53a206a0228bd8ca9d37832a884ae1d5a8065db38033640be08ccf418120a37a858e83cbe1da7d4458796efdd1216050f1e6cb542532ca465474ee51a4fdeb08cc2028ad210b66fef6c59f99126cb2af59700dd710c500907feb02be41e818e04e2da3f692f8a8e1fd85c4ffda3df817d6089ce62194089ea01821b8e0fce273908d40284eba30128476fc5f778de76eafcde04029a5d863aaeac6ae84a532f1fa257c7fb936564416ed70f279818f6ee8a3020e8e53fd9442c4dc9ef9bfa46d3d0f102ec279abacb58ee510fca5739ddb94549e3868aa5af8fc069fd5c0377bd48799287c4893873dfea39efc876edfa4f28690cf0e8d6c0f5e7efbdf1d1093207e54ef46ed10d73f6aa095bacb37c5e1fb40cc8eae493f516bd7bf7f8167f7a21e336dd10c878dad7a70ae89476674291a23edca541d053bf06aa4f171900a3d61663a83bbfc2ef910d2218b6c6c6492cf38ea3bf3cf4c2b2eff2d5a47355fb742e85d06a38980a3fc54c16f6a13633c8ccfb2fb73805d3ad5f055b78d47965c156ba00837e83d5557b25c676c2c1cfec212174fc165b960a793076c07070026dc2e12e854b14d64603c270d22ac5a809c52aa0a8a2a981af6085167343a36bb23a096bc7a88844313d8e61da2eaef73b0db1c16a115b091040e505154f3dcc0539bd3e340c0128b99caf6af7c5125d17b6c432138a561c2008ba78cd02331c1f5dc0ec976c294816fb0dbf5cbd45d8b83ac722a5296597afc27701d6a33c38c7390d43b9a304bb360d9a03b2c05028d2ae5777d639b3cd25361c4c3632b6b1c6f19f7be7c527dcd44ec78e68dd8863b6489693e2380d459342fb3e666dd75fe152f8a9345848bccd42a3d154da2f53ce18dc21898438b1b5369d050a1d9480f64ee37b6a54f8b8300f4087894edb172a6a9b91d87e10cb1cc8b79603c93b35fbe168c7e754702ee997598cd02a2d1f8f6c08c2ee915dd2cb9dce4a16e3858d695e5df94bb9ec5a50c9b4c6d965d1db731cbd3909a3c3129a04c9930feef58afea4d3794ea995f088b943edb9f349e34c71d88971edf799163428ee7598ac83b929ef8641d5af5776450372cd074e967b39030f0bc9652f8552d1f8425e5426c08af7e1c0499f6da507ea90ec552cb467918e5ede0ca801d885ca06bf12636b2c9aabf6bee59dca8a9badc06a9b8aa0959c1f138325da4fd690c51c20928fe2325d9465d41832dfa4e05913e995366b475059a75a598915f26288e6782370c0e68f26dd77b9bc8245778156535c811cd0950d45dc7b6588832a8f2b60ae45808e2bb9211066f6dacd089f4ce84229410ab138868e5609486eab132cfeb0b00ea1f002d92205dde14a7583dbaec7488a6f4e19461273c7f27f10935173ceb0aba8d9a4e2b6fa448154a3f1ef663d1c4b0840f803b6640bcb72a7dbbd5bdefd365f1975da045bccfa27e56a15dd6375c7c3ebd61f9c1af9d5f6b6210f3ed7eaa3e8f2da80a40feaa837df184cb93c251602ade93d9029b3944ae9ceb090d7eb0152239d348d9f150e95646d0c3233d3a2cc77f2bdb1355910e58682ba201737aa8a2f6a459015414e0b179fbd19c2c86f9a256ee940d9985c26462f515ff81bd2e10e3a0301386e57b9abc6518aa94209123123d905527f9419f297518ea6517ca79d2bb7e56a3e1ce6ea1c2248f23ec9d5089d1953a8a0c9f75cd9a3f1ad8a03e2ce04bdcab7e9848997a1de1364e4fc27f3dd9e4118937e2cc374327ab38acb8190af909a76e8b069a9a0528cf4841a223a3cbb107149fbe0d9f05b51239dc7d5d7c209b52cbd32fc9c976cde4348df5d4fcbd178fcde2a5a62927d884fb90ff5b74734c9c20b2d1e57cfe842f9e02d2483703b9111309d6efa123fbde883021304110e1ff82c719b4d9c974efcc23649febb8d55958990b1ccaa338d4701329d6bf4d5ced051cc75346fc17de91dfa7c54d9c2dff3b716e6007027f2635bbffa815acefdde848eb84d477f240a54d7df9b601f935123b1c1ddc52de0f258e71d43b4b329429cbe97ac254abe6d290cfa7e51cb516fc2f8b4f29eb7fb0ff2ddc1d1f5ce73d787ea6b6da245f418b822c4c061dd877e0a06249071c9cc1484bae344e4f9ab8e68a651b379d179ccad437ff2fb55dc42e33ac7ce21ac86da1266ab08514a2c06111496fa127609dfd0fc91f20a9dc642a096389b8f4ff25f690b466b762e363c9d9c672898a38544bf4d66ccf535542b71e70759aaabd7b73249e73d0128a3d365bf9f47be030870edefb0f6e5552597433c917c6295195645bc14ab2250b72a12a86fac2b1956a57471d93663a63e506362e540f49f0729c62e01c23eeb74d68ef2c8c9e322cdcb46005e21dd0111806bad5058e386ceeb708bd44928fca3c97825bd26c5ec47ffd227ca80fd5a8c0e8605ca8d130cf8410cbe61eeb34b7e15859d7c815c7774a1dc7f78a46bc2531642ed51f58337724d408cf2bad62a43869dd347f79dc08a810550fc0f0cb3582f7ec948a7deb03e09eae5964527808cecfa249af06fc307b6c0bd6c16347397aefd17326d2a0f8c7864145e38c1eb76c685344496effb64c343659c82eb698c3223f0bb2e555b988772a63293497201c8a96343a9f480355ca92d215745d8561742d1e474d2a213c2aa8323cf37504b50053e9138f17d3ad21761e1c3545be55022d374592d5e9271d69122afed8b0ad7ee81f32ad21885769c16087f6b297f076a1190c0bb68e8f5a4f52adea68eedb0f465260f0de8b2c967ac3e9135be83812c5e3372e3c04a68005f9fb27725d4b5d8dd5957b43583a3dc7b9c4fdaa1ff75493a14d84aef990caede7b22139465832f893ae386db5b1cda988639f708a768366976c257bb0345f2318ad164bbbfcbf217ac913234c6c89189fb2cbcd0282c48a007d7f8963692077e3b8e214170dca71087ddcdc4ae84845f63a78e34dcd01a10de40aca4b03d2b6bc9397462b33c606e8792864fb7de2c603700ec9f4b015103eb0a62cf6a890da434b1e3359d2e5aec6dfaf303214ce97c72c54497912a566347ae0abcb63f44fa7461018898d25148a5c431fabbf58cc8fc657aab2ecee9c27e76841de96bb44c53c2314ca8abcdad430b5955d460046130d9d4426367a7a8ad0c2c5ebaa0a3179e174b03576b02deb9bf4f1a83796720f691cd07fc2d11209b4b544689c40093a95d8134e76819cf20dd35d2f1c7c5466704e79ff23d57c2d834b2de26dd52b667371fc5c7030e71697e054c788eb6a4601cb05bebfe06efe53838c4d80b4c64b2eed40b271e14c9108b6687764b40ad598fca2c036750065601df9445aecaee7085ba3d264b648db0b52aaa9fe28daabcffeea24945e470c2a337c32e9db421b98eee9320ec0393a52062d067a1a3151c74b561fd8aacd5301acc4ef6fcab1bf7b5d6bacdaf41c286276cb4082df599c7ca02c8d4232a4231a4c0c44cfe5c98cd605b080ed99b02534da4a1bfa4963902bac8e44609b0489d49c27341ebe6231a84d1f35b74e17061d85405e7b71528538bc6de33d1b0d3b9df07d6ffbfe2c3d418ccc0057c4aa0db88cc8b9431c2b7008f47e1e3fb2d8779e1ad358b99f3c9cc28dd200df0421ecf9ac3eee8e53483850843c666717a8d9ccd3477cca8f3cc82aa41a94840960a40852e6d2168d787c79797d8587533f906057477e74849f5521711f4e11a62681d26d13bac4d8264f14e2cd6f8301dc22735848a61425ac5c94726398bc0eaf372346b4e34eb32690a7c6715617d5ece67cd0966cd09b7ddb38338df00506500654f2759a38e0954247581549bbf60e82031f389bb73f45f6524ca9cae2671ca6a6c0ffb7ddf69c218e21c9e4be3f9ea0149700b664ca6b25d0141c56a015bf28a55c92726d414a9a48d5f526825081c1796a07cd373f94ebbd70a338e9c2d1703dfa3b6eed8e7c9cca873ce51aea8ca613754428be21ec952f775e84a11ed872e9a293931019e2700cfddf0a4ed6e28e4b9ab8b75bb1d1173c048de50a5cdaf80cfac1d15259deedce5155d2f2bbcda453e5db77874315d786960dcee4890ae743e1d53b8f4620cac75056a2773a7531048ad381d806513f6d416b52c6cd2b0473ffcf294b5d220af472a24c48a0e000ca22fc56b0d6d2919b7c8fe4fa891b4bb89d507e03ff504fcea61c43f024356b58ffc8f923b48811b223493521e5c351043a4c609750af40af7833ce259b3c195ee0eea181b104554f7313620d2544a2f434bec3efffda42da163ca00411941dd2dab3483f67accdaea5bf7b78c220dab41971a1cd1dd31f5b706411d6b708a61fe68ab8cbf5bad3c6fe2a8542b1cb61c4f77d9ac56a8930d8d23b249b2372bbcb249b237648c800c1971588f308b0c1262b8a880cb07b8b83a76351f1c220febf4700c36c6a0620c0d8cc1d3114b4fc5ee61984a4fe56973928e185cc4b8428c07886143b70f0e91f454ccd60aa1c0ef63301f1ca2536b06a930d008238936cb9ed7a5fe635d9d0e861d605401e300316014e9f9c503be9889f9c2052fb688f1827af1f26248cc962edd1d659e66b14ce88532d95619f7c018c6acf8dda4d9fab34ca5fc895fe8c9304d5656dcbc59a7fbd0315b58d812802eb088e9a2892e6aba28c2850ab8903132e82346062790814b06443a3e9e33ee829f0f0e51eab3a5fd959e8af83fe61ececf66da67fafa8f494f451f8fffb190ab9f8a4a96f8c39ce52a19de49391afbfa30e9a978aa21da240a15e3c9b7931222e90ffbc1a34a66fc9df454f4c1217259add363f69b9c4a4a4f458965f7bf136df6ac853d12a68f6f9e19b44fa379856202fac6047c5838695b34d1dd5b24d1ddaeeac01643f08d5ab4a14519315ad4408b30aaa53258caa77b0831004912a3c5897e7326863ffef8230b30dded2b77d550aa530000175a8840c24fc764d1a41b5f1b969410434c0cb4d8c1c63b4ae331395165280acdde1d2159a5d87a38f53f209cdaff7cb4cbd37df7f8bd289eb521c4300a3b2200e088b350ba1f6fe2fcb5b9350444484ba58281106e729e37b999541071e22345dd4d818e718196e6a1da8e76be7135c47fa79013705458a512c205b3ee06524403e138103b0d405488c1020a2c10d0edb9fef4dc7386829c465d9b5fbab9c2e93d11b485edfd203c8fd57d8d7281ba1ae5ffeecc3b8364d5de1fba49fb1b54fb9f99674eb514531f1aa63edd7c9e6b71b26cd1ed2a8f217d598e681932a650fc67ae2c36dd0d637996ee0fec6e0274cc155dec7d2270ecaf7f6771aeb0627645127d854db7cf6269482089c94a15157cd1dd9b2c2af2cd48ce32add43d9cb58991642abb13d35c67f668a74f6ce9a53f31469d7ed6fc6bd49bf66379fc4bbfa44c67ed7a47f76918a6e302fa7970c31849b5163bae60cc675ca6357c1d361dd39495f9f40ad2f27c49df61e5393d3e48b4d25c67d99bbecd70f75f397a9f4e5a58e723798f833c721da5339647a3f0e63b8b238b909edefcb7b3381ee7f552ddc4393d5e3d6f7a1ee5377da4dbccf238718e3773ebb31d6ac55c0942778c1ecda047337825d6dd4f84bdb5c747d6baaccbd2dea7fb4c3b9d8ede749ec7ea3ef4bc49f39d41b50fff490cff487a73c25046ba0ac6b899f033029339b164d723fd889bd7e5dd5f6be99cc5fc26e309a5eaecd49e3b77743c6fd25ad6babe89731f0908a8a337e00eb63f39d61576d3d2de277687ec4f4b8a303c83568a2bdd2dc511dd2d0595228aabecace61bbef17efe66375f211713050ea2e0a25db5bdeae4960c752f934dd80bc52f630a457a9e3fd099ff769efd2ce73d3e7ec42397dfb71a251b4d8d5feb341df56a1463f46d896f4a7cab29928e99d8a024d6d068120d8d1225983e92855db07369030ef53da74dcf9b2a1596cd1b5c2727b16cc252f8484a548d27499ab4887ac9b8d1c977d8c18d6a3c891f15c90d3f476f7e9a7d198e1ff1686b39dcbe5a6c6b0f037590442c1f952adb21e931db655b67fefb25e9f8118f5e6513f6b7a3ae7aa528edf1ab66bdfb5bf738d309bb184947bdb22efd2b9bb00e773dd4cb94ce2c65543661b209f3aecef7289bb0ce5697cd9ba7cd56cf7d8a349f27db9f2e26033442840839e1bdc87fe6122244c809193061a8529f28a5db1f8fd9fe6019ab66a1604c9b7706a95eaf1fa09e9690ced04bc7094b08c8d57abd544777d26aff03b698984147269cf0202637b45a91c6f2d1a485f9be913c69d7ee30b9016323f70626ad9677ff9d3f924a9d78fc238b5469057932bef47e9ef1779e3d459c294d85710dee71f677961ddb58cda8933ff6e68ec73cb1fc8cadf7b6ba9412a552b94ef26fcc561aa675ceb8a7b9ac524c3d2e956732ea39e6e8876d6678f2a854ae9373f4b3d9a78f5cb96c64872be8a1f7b96e514ad4ccb34382bf493b39f688dfe66ffa6c19fc3cc731a7c7f3c0d8377fa67adafce1fe6bf55817eefe7fb8797392ced32c4eb53f9e377148b8a1bb816813057898e139b3f93b4e25010f75ea5675967be5efe6cf7267390c56f0f547f6fbee1fc9b318d32ed3ee2ded69afae9b7f643fcf9bafee3eea18083840889013a21021424e40a5ba3a534b90662c8d1173b69b9951e12fe7d9c9085f7bef17e1081122e48497c9686c7a5fcc03f0a838f869d2f4791a75e944d474c979ca6be4c925271dd7dc22d19b399a31ccc21e697a3ce2e885b1329ede16b3a8c752bacda00d4fbee1fb448419b41ead7fa0775f27a63853af591e8ff803b7964714be9566a79eb5df11f783fca949fdc8dfbac7a81da121b7dda9d2e97d8e2be8cf7df6f387a5ee7f18e5319c4756f6b9d2f957d248b7ff039dfe5c05f228795c4e7e74a0bc5c3f3a3e4e745aaf1fa01e174e142157eb0708e725a493f3132575bfab602c6653dffd0f1e7f3c628a6356d6bd57b3f528452d979a3ee340bc8577e2fb485d089bb3f939cafa63efabadd69bf9863dcbd96cefe79502c1f2a1ddcf9eaf9de1e921ec412f56a907a34d995f1b7301fdb8ab15c507e4bee5473ccae4fa34f926bd4f20a022446805f37c1b701042897b1e902d62106084009e88edc3663e040408c81420964633e79e376bb34681c0a84bcfa347d2af75f94733cba1f8b18967785ece061c408f51d7e1abb50107d0b14f4cd863802aba5bca1b1f3661445cd1b1d2196f72d673ee87f8ab73c3bac1370241f4c35014570b269bb0bf31fbaaf495c10f3661b05418c2029a70e3915e489e4763f865f37b7df3679de56699d65e4777d2fed6bc7477f7fa8f85d16d6395be50d0ddcf555badd492ba1b877f54eb7ad68292be32e9ee1a0cfd9a71f6ab8dd0dd485e3e3ac3aff08f90ae74f70ba94af70b293792ab1be3f7909a8448a7ee171291eece8f4b6184805fbafb298e217de016dda015ddf8b345aa168c408730b0eb0ec2b9fe145a07dad81838038ec97c74bf5e42ca28a33b8fceb8d7b5b15746c12b262b8167febabb5adaddffb2ab1bbfb20dcea76e7c6d26d2afee56a163701e69348ec15a1ae32b31b84ae323f00c0775f78f30440c1ed231b70db7d9bb7993674c4e80a1b31cdacb4d1f8f49933683db382a69d266989972f2e8733ee353ae4d74ddd29430ddf1078f9ea7e7fa788a1953c298624595513c2502dd3153baee8e99d2640e35ba4728823abd308de11fbd6495cad0c49744777f67ebacfdcf16020c3edd0d05f74322d021c20e62ecacdbc8081ab0de73423e688003b06e206b743a8ed259e23b78017c95729a1a958ea7bc4eaf1ebd179e373f76e9f95b3dc4d043093d34e8ee54977a3cd053811e1f7a686845895d9d343434353b44f928514e40aef23ceac9199e5e4ba572499c88c3535372f286131638792728ec74b1336507061d3d74a020d20940ce1bdd1d37ec7df63fb7393e2c76afe3517ab4f961344f194f9aaad7ab529a7499e8384a0e949cc679010e2de1d0f046e9468a1b281d9fe652f644a95281b19c27aeb46ba327fd5a8f4a228d35aa239931d8493b733d8ff5a5bb874585e5ea8e46b268b6e2b5999b316f72ad264c345940a9090f76f07082e7a185d597d20a032ba015911db0e808ca6d26bb6aa57ffd88fa183d193db69cd7c9a1fef1e9912c4d46d449a59a75be07eec06407156cbcdcd0259b10d8e498e99691d489e32a9c8ab2f5e4270a0fcecbc94fcf131c20283f515e442c1f9982828272027295a762f6e9423a784087a0920e4d5474a896504d51bd90031739d47238ca4105266b30a1c2844901be74c43fab759ebd3346dd03639ff733a779b635c4f73fc71e535f2d9de16b3d69d25e3acb6554f9e74ce247b2f5bfda104f9b670192681c7a804313251ca474f7c4d9d6ad9b37f0e0062ce6535b3de786ae748310376cdda8a11390a7222aacd3060bd880b3044c69c9194ba45852f4a44b4b8894948051622563b0733cffe535eb3d2cf67aa1e47f383fdf64f7f2e4d8d65c37397f3beb23432e84d1c098a963893395fe817e545d3537a8e1c0054a350ea821aa595243a4bbf3807c7395ec1e957aa113cd10cd0aa5993de428cd4c316381d2cc4e29f2119dde599fc3ee79f428cf64b4856a9d803c1ac9a26f4559f39cd5ec9ce1d0c3f82f68a53caaa087357edd9d4297222cb6220c293152545246a45cdded2afbe3a9f8d18fc4d0fb4c2bb575eb63b363e3b259d12a54cd092849104a497690048b24b2242ac8689141818c948e61a649b5a7a6a2a4b4f92859d4550b53a962deb74e46b2ab16268b6a94686b0eda10b4a1574aa3c40f941d0bf5068a02a8176ac8294be984c4a987ee88abbd60cc439b411be2fad8f11f4d9a4f8439c57636ef7b1fd389ab4a5ff803f1bcbfe27e0875b2e17ec8c686fb2159a5aba4ef6cb81f5ad9d42c1222d16bd0d24da348d40bff490d547e6a90fd47dd8da44b356cdddd3d6e7f70890609d0f034c8d030c20c5a6688c00c3a330ce9de3c66f1e32871f847ad234747704a47821861c348038cc08ca420c31532c04a322829c9d052d5c1723c253789c37fb2c91850e792b01c4fc513eee82bfc23950a676cb92f44d5a4222aa7c79da27c9e727a9c3e2cde53f847bea523eae4ef4f3851774e0fcb8b7477cfc4e0a53b862c4aba144352c7e0634b0448a24400d600e818c012a5017cddfd7f6395f581fe7f7760c0000c2f18765ee8a3f4c2182f2479caba400117845cd871e124802e02488000884a0240528407a52256ba1b75da5438e5bea9644c7aeab3295b7daa3c1551a9bfa757b65628d30bc268b47a3fb3b9d4c21ca516b624e9520b1c680189520b5ba985195828a33b46a94f84bd3b95a6aaadf3c127e2ffeeb010438985212c747717e9d20a5f56c8a2b4c20a56586205204a2b1851818f46e11f66baf9425ee3aa9b1c4f45a01a90d6bd749c294d273e06bdd28c411a9dd255b14e2fa91083920a477447d423514f851c8b4b2a0c316d89a86bff6442a27bb57abd5e193fac54fad281d250a9542ac58011834429c6a63b666bbdc9c5c713e6f8890091300d0d4d8decdad42cd340cfce6474361dcfd994f987315d229245894812449c948890d03fcb7e573f3f79be5636b2afff57f61d376fec158bbde5aa375743be3db1795dfb2984e998b9520a5d58a514acb04a29c04a299cba630e61ac14ba844209052ab2f72812bd9fe3ec4d0effc44181c7cbd5dabc795e188ca4520174690897eeae9ba521555addcdd3a521aaeeec5aad5c3631a0199e3c9e3771542a170e3560090032ddbd43974ee041e984294e80523ac1bb3b7e9eb2474979c2973aaa3bb9909c26a2146403a52042414e1dbf64c2939209a55209749460a55402955209356a94488001095e898422a511fa288df082d2085f778dcb2af57115500e902bc6364993313884fc8b04b461148f2839e3f2843d6de22de9bdd823f90cff8df9f45a9b5fab24420c4a22d092083c94445832333793bee52a894fb93e2d4a496909480824288560540a2185528b6180529ffef0e38f2b7f6ce08f9e3f60e8ee88e7ecb19ddd977227e9a5a7a2f45492bd92467ae80579c4f39ba08cc26813d32e75ed14aab4d6e687b11f13f083891f3074c7ce27f681d4870c7ce42123839f25235369b59dc7a84be9212c5439f9e9f91162fd106b143e66d8c38f3de0d8038a3d84d86385208c11040904a127080d042a80308b419e8a58c5f2942a1563b65a6ffec516cf9ba74d57283f3ac3d5c6147e01091d13660561626190fc20073fe8f28306049de8f4f09724ef87495635c393c7f326e7cdbf333c6736567b6cacd27f613db874b3f4b8d2dd5d81f448eaee26ea66e9c1e463e951444a1fb4c007f25a1c1d1ff8777978e976e581451e49311693074d472e55671de528d8c2e306b20b7aaadaeae13f59adc27f12fe117ed9f43c0abb1f84074f77fc90bc871e8cf618b360ffc31d66dc41e58e9cee8e491406e29cad159291919189f94e3b74600716ddf1e8c26099d2de0e981d28809903cc148e238fb8077389ba25aac6fed1f40143d3dd9e479f8009d2fdad3ac23a6aa803863a86f460073d58a30712e801ab07a78e7f73781f2983301a250ae70424b91a4f45d423515ca5a5af0fcb934b54eb04245d55e329f9aa93932e5b312b71a444b53c89e39c80a4a76a3c60235a9ae7a531d6e3390bd259b9f0cc3367e6d9e17975542ad74aa572bd3acfd201a63b76d4c3b4f3ac0e4652eedb0ec44552e8d0d2dd45523c1e59cba26389ee6edb81b5af49f6c6f326f7dc056d4ba55a7134cfac52b96cecacb6033076d081ee7ed2313b7075c7fb5e2a8636cff08899a38e39ac740cffc876204ad6beca93cf3123471a2d4702e408922307396490c30539887c51e34b95958d1f893434341b4d8d27919e3739e93f782aa24e3739a988bbf9d75311557302f2d4cac68fc4d7cb25b3b542d2769f6719647d69d2dd5fbabba1744c1c4ac45959ab954ae5b289596b93646f542a574efa1f38ec8063037038d10198ee983ff4fa731691687ec96add0bd2c10274d0a4bb753ae68d3db2bc61c51b34e68d534c0ee0e88e74c6811825ffe439f4aaf53cfa7f27ae74ca666767f9698e29459ab387614a9b09f3777775df86fba10c7e333c79b2b5f78557348e08871b94f000a9543d6e707183083790b471461b49b441d331f47c3c8618b4f765757619b43677f3efc963e87d5edcf012012f4c3a4a946f5dcf497adec49115f452021b5d8ca46c4552e2376ff6da62c3036c48690f64b181031b437ad6d638638d2bd6909e376d95af35625843043546a0069191147f1acdf95adfe65463006980e9da579bd3d0401a46a421838332aafd404ab33138781c6c68a48146126d24c593266dcb1e8869e8e5ce032d1aacee8ed23137a0a3a3e74d6ede1b8ce00608b8014d771b49e1689e349bc159e9e89245170fcf990f315d66ba14e9ad484accf559676cd16d24c5ef02ce889d41c4488a87d78ba4d4ec6599f1a53b9a81a5636746173188cd38c5d8804b378c9bdf11373d9ff89bb36fac5181351ab0861235d250c3046a483594a4d1461a4ca4d1a4236a87153d9561fe30ec793840c241101a7da0a1050d09a0b1031a446eb0e50648dc8027fac3600ffb58970e743140179b33f238238c338898d1c50c1a98610033686c30870d9eb041d78d1a026de81ec25cd259f30d77efaa2ef48cd85c8617652451c693324ca80117696735994a55eb9ee77a98cd251ac041032d342082064dc8000219272003248346060d5cc6e0b2012e4670c181cb00c628a31b3534e4497c47663d4fe23b51663d8f736843c9680c46b3dcb4d98d18f1394600c490438c26c468896123c60833d83203296650340317c230238c237a67e7e90eea15b3af232ee3527a1297f2143d3a635282d8c1d8028c25c0700206922fdef8828a2fe8179b173af0220c2fa8740f9d80504427208f38bec53cd3cdbfa8f74e3ee4aaf09f4490c399fa94f2c39b6b631bcb8b205bb2d8b2c4966e0bcf1620a89a1390112346fc672eebb9808084ac0772b80b2d5d58a95d7cddb18b26b23bb908d331532eaed0585c7c5cd0c8408d38b34b0656bcca00b545195b243167349cb4b0ceaf9bd6fbb688410b30dd51bea4ffb0785cded2f1e971b98e10908ff41f20cfd181028585e33a37ad1e1e57176a31831626746fb24abb9aac5259a55950c982a8b338c51884e90665b58f0196b6951583a4ae7d2c0627986724d5a5e54bc789a5b51c11b39626b3a625080cb074530c04032a1dad2b71c180c90bbc74f70bb074c4a8bf9676f2b0ce17bcba63386ba16f6e7f562b978de74d1c173c710109589c810506b0e069411e5fed0f8e77750671028af7533d2c4862c14c1c2bd8b20211ace057e0c30a5cc822832c360bea0a37aed072851218f4823c8592d263f484eb7ba9a4208248e24178126fc9ed5a8aa9ac91de44a2e094783719a547050750011315c090823d52a0460a1890822829e8f6cdb7283d157ab454b5bea54e70c5091c7002d9096430811826a8628222136c25c04109225002204a10542a810858b860d900162724b083046690800124a82991608611d860040f18011411fca0bb48e5328fe74dcce2ec581525aad5029ae9f15444b564d63b01c993d7e0928bde92db56816e0bd5d5e927efc1542533eae45845af758c2506bdcf372a5ff767d9c6e8f4954dfd59edda4a274d045f777bde098b20a83bb244306b56ac6185152b666dc5890b41971058618520a8bb5921f03ec2931582ee588597f088a3394b775751a58aa458055177154caa08d22d2abe74ff50a1858ab04e8f44dd4d45931d2a4e5404b9b283b85a9d60205ead6c92ec4de90a918e2c10400181cc07dcf800093ed0810f84a50fac3c00467a2a5ecff3808f074e98c24bf70d36e060c32cd31a9e770ad41445a4c0438a1448b184143951d0114513dd1d9578126fc9964ae5929c0e43128a17403101285e509c4a501c8102c8133378428927a83c21e589d613413a70820e5409ffe8a552c5804e2d890a02c2f226c75311db94cb5644a5ba3b673010a73acfba0c0a3a01a16a5f4f8e91c0c028310cc4d22b855d996c7a589da8c28904949c408013414ee470a00e0e5ce140141cf0e1c0290a4929ff631175fae6ad5530a24ef9651175c2efd18f66395ba5942a3c53368343fcc75c31eae17fac89d9844d132f6c408f0d4cb181066c408906e6d0c00b3450a5bfc6378952a55298e61c8334708a1806e20c2891819b01a152067432e042c98a17565260656645c60a914e09c95818a0c1001126ba305101268e60420826746002c9123458824a8adb4e403285c25228258952ee1225e4491c09912771221bab7dad7f3473c54894c8430929945042099912395eaada8a73445d7bf278813c2ed0c405267081025c6048c340dcfd7d182825ee3a96058e2c3064012239dc50b32416e03ff6b10a7c1510aa404fa902a92a60aa6ca982abe4a030c5a1372738057ba5b493e31464e14a96441a9771214fe24b9430894c5c7574276dc6d5bf11cae9f9180c87022aa0008d023c1420c004d898400c84509d4d9d5252480a494fa954ae3b6fd7b1563636567b6cacd2956fa8956f38f61ff3e8a47d07fbdaca37d4cc3327e76493b3a5776544a324f6fa6436bf68f6c62410542550a43b46000c6645e04a44454076b7cd6004723aee01812b310681594475276f41e0d41d51b6f5801f3ce00ab69e67d06e1984cdda03be0778133fa06f1cc0a5671c50a51dc0e38022d6662a60bafb558bbd6a5f552a179519151595245de2118f966751f5349a69c821072359e43fcb0da0d2801b1a9084015d3a86d3bb8f643d156ff63237937418300503923aba8080849e83f98cb2003716a0c402600b1892c40a92e092d021090028600f0554a18016127b20e10124baee23ee31e34b3192fb189c3d38eac19b4f6eb3276d78cedcf35e75be672dcc59ae4ac588371cc2bebf1f68c36dde876d28f920955ef1f67a0f36fd26e00709c892009c0024477839028b8e325b7ba5638a92cfd593ffedbef635f450529e9c4623b018410123888c0801015520a08680d401d038c09603b0e000f5003d45d8518415451c51848d01f6300017917693e3b6fa9187b3266557416f623047a572c957b52a550572d07aca3d8230f9aa937bfd05b1bbea853ca9f6782a7ecbed462f97e3a978ad941b927bf37f77a4cbfb3486f1ff8d7198d2ba7ffdc70ca082960a7a8ebd97a91351a5a3919422295e5944a0421c8f5f2d87c32a3394d9d652e8b3965483eec8d5946a5c6a16a8813502208169254a30120be0167009b088ee362af22d7320fb906dc03e28e135701458083c031ed2ed9b0d36c86ee63c2f4c7a2a5ed4943a4a533230c587293c7c777c677c2ff8621f0bb68b9d8145b25ec1a859c9cbee2b49e2a8539eafa8924a502f25dd166b4e2a99a7fb7475722fab54769f96b1921d76f01ad97d05b7ce6b5f71ce1369723afc2c77f5b14c76df87e6025a02681d8d86d682a785b744b76f78896f4ba44cc5fb5fc96bad542a974d92bdc1f3c83b12c01643240d716488115a4af7c0d8fd9af7f87f37699b94b44edf5c1e8f80a447daa2327c519a1531a36166820c06b2243ae2e09c80e4e3792361f84f1eedb5959e5caae8b497f6b3ec349b272c36472ccb09cf974ae59ab1d2e3f11d78279d1e5d17dded74e8287f2aa99109f29121ce75d6401b1e7113b461b533cfb6a6ea8c7f63586d073efebcfb6fd1f9257dc779e92e7159b8af484a44e10ac4a5607dc0aeb49194fb9d0e299814df8aa47884d530bd1449f13cefcfca9a514c28b37c6dcd27cd978ca511727b85e9b8851e6c66fbe39322c558af2dac57d2ab488a4724ae5793fe7121c0f45624c5a3105bba8578a23b62216642f0c496103431c7084c94d2888b111623d025254c777c9ac552b4b89423a448294ce28353688f9421dd1d8b445024445190ee38331d23f96aaba514250b61d7069105d32064475ac3b316840d1f105c1a8827e205e2ab130708209a4804dd1db1acd2239b9d785cd9703ff44a9ab46fa56409b852b2a43e773fe8f5a28175d5d9703f3414c5900f4333449923ca956eb98cd7f9b57cc3bee10d45e32b6ff986ebfc5a0e8b5b375d217011b94e2e13badb842eb9bac582528b042d235a4d5a4784c410424228071fe2f0618a886d87692df5cd9f75b33ed2cf20f7883add09d6dc51b24a4f8efa3901b9aa4ba17e7e5229d40928467d0beb94f3bec59bdd307d5d9b8af37e38834a3ec404cd1164255ed052d4c9310d1a01e80e20394a405874ff8733c8552aa0d44f0f7ea4f891dd3eed8da722aaf503d4e362fdf4f800fdbc88583e2777f5f8f44051a958999b7972a89f53cc22c1d27d96f081e213021438a0c0004a09a010012506c5e5c713103cf1a1f42485520f75f430c5f50dcfabe31bbe3eaf8eab66dcd409f23bdfc3c971dfe60db30c4ebff4c16f0b67cd43cfa31b6ae66934cf9a2ba230a6de235177191919999f55fbd7fa780cbd18ecabad47564c472d3e4c437c19a20243189986c021d61ccf78c44d987bde46db6e3cb2307eae7bbdba7fb556a815cb37d68965831fa785aa37b0938bceba29cd2c4c4b23df8aa4b366574e37332a9d6936eb190d8f49f6a5bbb793ac8a4c76374a56a4238e818938b62546a53bc67862dedee7efe5ab749cd5b29ea87bf64336a8cbf4c3df7558624efaae888e1dd80961e2c274c7e9e2c4e09ee092bae3b5d56e8f595c911006e3d21df1c5f931cc0a0e0c469361dd719aa03be6fab4f7c0eb333c79f0fd6b71fe5aee55e92bcf970cd378cee496c6d44a2b2da59c3b4341af2edddde04b898ef485f4f2ee28c497ee2944968e421c21444d77a665fc9d35a2c2c8d57ded109386f474c6cdec81b8b3489bc92889941e48c1d2dd31c61b4647020649e9baa5cc14b151e480a226d9ca3cf4ea771d88b787c56810603ae620ae74c7205c78020102205a41208282e8e7073d7e88e287217e5061888eee8e1ff3702cf42aad4d7c34dfc3f9658f74c34ae39ebdef2c5743afeb582f9b99debcf27c75ab3c5f79bebacff3c7660848942c31cc777ee123d1674529c2a3cc1025484b23df8a64fc0fc8d5d1d716c25cb3eec6d4d5c445a45b5fba75a5f5b58a74b749e84ba4714c85a874acd543981013930f61babbfff3e189f641c68c69d2fb70ea1814c6839ee8f626cc7ab2a0a48e98ba07f97447aeeba12f200f98808ae83601ad7efcf85181e9e713baa00df18fc79f187c80e033854f5a419f994f8c090a18507277475b1f5bbfdf550c0506d3132f4f1af064490f75f430450f3fa61e707ac0b4ad98766396fb2130fe94cb57f7b8a7899e204c3d341db3c7308d3c5d7840d03c2af0a0e0240b2710709284c9c90e4e44d8a98169e74a472057c9942a62507a2aba4ac670d2b05b1790748ce717773e6e8749e31d222c1d2e3a49e469d289e9c47477449ad85d33cf9c9c26a2579dd72ba7494e90c6e1d2dd1127a93be298c53845ba63b5f4beb41ed8599f1da1a1707a2f844d375b4c37548680823c69d26e783ab2c084759a5859ba5941dd2c22a62659604da834096adafc300f7974c7b489871af070c4e438f066b7b9c5030fbdb2df2a295c31e98e2bdf61cb0e41eca0630386ce9bf173d3f36c9eb06962d2018c0e56ba3be2aa03139517acc2e2ee2695a7ae55e5e0a5a32b31400e55ba23ced6c3b59a030d93304fa3ce648b3b93af3b66f03b9aff79a6be399322757205c8d205200239db79e7bd075eab5380d3168bc36ce270ea9834694f04c52f1c6bf0cbe6d707d67451836b68e8d83d0c7bdee4a695d5f7d923c3b43c5fb93e56a9ba8c5f1fa6d9427344a6dd4febd134b1b4a7b166f098b9f234dbcdcce68c7777f498354530ac88a5487a8cf2dae8a6d496b68ec4944aea0697a48a346cdb22db30756d45ae0df2d84d539b9284e924594c498ee8ee1da121fb938449774bdf5c4982c870a9f54d324f74b7ccd75da94926488648774481e98e26d4968e26541514932d7f882212f387a653965e623a5d282b4b7b1a123c4c48b274c756b594f6b48ac4856b00d3dd496daa21e9bd89bd0694a9862151ca3fb2349041031134787767b3cbe8fc68937359a53304cda0826906148e98e088ec0893ee46a14d479218e962a40446b091202619ba74479ca947899174158c5deb3ac8aebed4e1e53fcb0ff3984de99052c9a61793a954669321a9bb239eb34bf35f930c1bed749c0c37c20b10c31f165ff9e09613f3bcc9fa26577f759f3ebdb95afa984e530c4a08e0a53b0a2380121e3b98c77202b44c0448610058744ba3adfb0fbcddecb047d600143000a3ee366ad30028476b79b64c305ce9ee22e971a7bb6368130c351860e89646af2219bf591fdb98e905345eb8d2ddd2c837df363bab15c95863bd90e47a81a83bbef042918e2e84e976214b63da995c98c0cc95f49d009610008ea9081e454a50e4652aa2d3c21d2d98d142025a5092060b3460e1888eb09fe5293d3561f366eb6159adcdd253a85857e7e93f9ae5ec96d3938281b8fbdbd11b8fa8474afa0c7e337b208de2d07adf771466620188698515985678d30a41b17b29a53f8caec082498530917a35a91046342a9226158230a9104d6a98aa48a3cdb7bb75f45524630b2399777e16d39df8b36692d664c2215e5309051d3118ebf13c53c989a9b49962d630c5482026a7fbefcf685e9ddc759988cc612252a53b664aeb7f5f9d359941fb9299fb6a22328b1f58e79d9f89c80c2622420280a5698eb30250812782621a47a45259958ac625d924d91b2cbbac7967500082985290410a9f29059aee28e5ccd3775240014b779b50e8bab30985188670611af24477941153970f0ed110d39026a621dd00d0d2ddb1489b00f04444d226007c98ba09003c2600781341f10959ba2306aba5b44e9ad3ecadd26d3a61d62cb4e9049e6ed30925b8e69ddfabc82464055390384c41b0dc99d3e330106fa620335390174c2674e98ed7bac9841a53097b984a60c254824f7737695309289848c8c24482054c24b8baa38c855e58593ee32e9d4a4f752330c034c2014c23dc601a810621da24421726115a6012a1880f13102a4c4092c0a0e7c4acf4234762cce2ff9d197ce448cce9f1dad7997be311b3fcc891c86d51dc67baafb51e9f7706452028984208236e5d8f9b42003275104c1d0253bbfef0e38f0ffc11fb83266ea8bf486c8c1a31e2deacf67e4ec9aaf5aab5d89f36e7f64d9ae36fd6f2e6dfacd5f9cd9ab542dfacb5c2f8a1a5db8f23fc6812bde44791ae0f307d70e9e34ac495d58777adf711e4da287ca0e0878fdec304514a2a3d4669a677f5f24ed87c53ad7e7ce3b1095aad8472786c6cb81fc242393cf7bbf9ab55d763e3cd5c2d11f4dad9aaf67575026a85f22d5b7be7fd8b64bf9e8ebe563c361db76202fa466fb2457a8599f2d8e40fc77af87e928e1e5bba63498f2add1d91d4921eb318458fa088f5f0eef641185af24197eee6eaabf6d5074e74c7564fb33e2a95ab666b1e63e401833c6479bc00071e66e0c1003c7cb8838f3be288f9f1ebbe87f2a399552ae9317b7214f6e6b780a4c7ac9421cc615b77edbd7f84a7eb08cf7c8795be23e90ea2eeeee8ee6b61f3ede8d2387660693b66fd344a4b76d4cc8fae2e90e74d1c9b247b03660b982bdd114c52574b6060a8234c1d2ca8a34a472339eba0dd1d8ff0cc3e7dc551958a7adec459ad5c36ef7da0cb86fba1ae07927ab198c5b3667b708ab2eb913cf882278b075bba3b967810c5cf8afb3e560f1d5ee8f8828e22e8f0818e991d00610750f826f1262556e9cce83c912a897a72029251eac493fb131d4fe24fea7b2ffc5a75f475ffbfd509bead3626a0cd7ccd7184f59943f6cc51a4a7b2e4b04147d9844d397af872c7971094be80e08b501c7c74c7cfda5a9d15bf5ad98485defd1c7ad99bf5bfee31ed641c48c4611447501c2738680087132d672a463d66bdebe1ee4bdaf5384682647d90fe7e39e9eb4b36611e9db99b3feb7a502ddf864e3c2f6c3d1d70e9d8e980ea80264201d36f607923e8dad81b446236075cb2ad39b0d2dd39f8ba630e4edd3dcc8d306e60799acb0dd9ed6e9c9226ad0d30dd069636da3845f102a6bdc0a03bfc40cfd87a6ca4800d03b051c346913502b2a7a8a434a6e3208568660000808000531000002038482c18118a05b3f99cf7031400015eb448b26e44960882ce29848c3132000000000000080000be6e150296d9c1430a61931b2b4a0759044766a3796b00f2ac4e554ed0b3f05ad42797045acedda1c2f3d0e3b8e4c9d8a7c69e3774147d1c4bc85ab15dde528965782abdc9709c10f03fee2ac64d82f606190f628cbe93a893133eac245a1ef2024fdc9f8bd1e0d1e68fcd7784664a2adaaf6c5f8ae31e5a7dbe1de9253c43fdc62b59b729971276a2a8f0d3fec6905fd96a3ff145485cab48365fef8637be97326c63e1473bd47619fdbd03674785ea9d92cf6e6a9cd79235ec29bbe2c15e049148d4562da7f03a91b086a8aad26c53216039256ed41f098b01aa80ac1c46508236207683ad54a63fa2bf822c58144f4845d29ed4552d4246d510e92dfebf340be33f4f2e2eb6807d99cec59870bc23c70427d10192705c60c6f3de9a03af0ab131937f2e66592c45f3a3a34c47657403f61c14d3ddcc0110f1759910ad4d9ee7a0216f06b1f7147c400bbf7a0351f41d2810a2a2ab282052153815804258dacb878675d3ccd36490b700c0eeced687b6f1e1e256e5b0b8d65c079cda31367def7f2d4c30909457cc8674683fb3301f6f3431d360b4afbad6d9daea31619da3bb5308785acfef3ab26b006ef8ed60df3d048eb378157ca557b6a5d3d708fa3360c20601116454308fcf3087780a80c4af27ee7044743a0daf0096d82289851556d93f38e27e4e349be147d0fa72601a49aaa8294c6967918775021f0b2f5e6e250625a7112ad3d594a7561f1251d4537048e7fc838541b370b351ec82299b9c0010ab1aa7509be796c7b8d6ecd5f3a9c1b2d58b7a54760dd3ff078f45339104471a0c0826babb1b8e82f87504ab6f6fec98d5afa3d60e7f235d213aaa9336b17725aec6bbd3afdc5c5b1ea01e9667f8d6e1b69d24edb51cacf66fea756ff102fd3a33a0b4a2c66dec33551e1427eeba511c86819982f2e94dfdbf5b4301c82d8593d38b54465d04daa6f55246979f5b89c79750166a316e5dee65e85cc675cc73addc2d933571e094ccd8116e394534c90031340051496cd59fa1c14456afb7770967a4d8252af8524398fb9c47f6e11405014f070386e868136575e8c76019510c9a99e4545250be40d3719d370676e7299a6377ed50df456c51ef52cecd01e30e530ebe246e742720df4dbd4eb4c9937d0a3f47a85d3f53c96670581b0a6a8ca327b5d4033c54732cba59abcecd95b8b227339c5e1f626b19e9b2f08f61cad59c55e785a62afec346e272e6f493d92d77581b3b7ec4f79fc9eb7bc11e44762cb8adcd0947dab24437e81fa460ea7c7bdab9598c75e5e5ec6964c3d9dd464b65453f8e616c8ad6566756b8c4428e3e9893d51d2f95e08727282515863503e73095c8a6913a4c4067df8613539893b389c904c397c2844ae82633698e1616ab803f4bf4a8f3da1cca42a1c58e22629b8bf104632e82324e5c3a63647439287d96e63d2c176c9eccccebe61bb8374b584b2ee27a368f82647bf212f36861721b3ec30a1b1b0f7d292573cf9f99f46027c74678d7ab7979edbe9d0ff786eb63c0c1d8d8b62fe38a2dffb1418957d27115e4835a15542228c16c67ddb58e532e16aa4c8dc622d28892da5b8b54cde77c99c92d4ed4624e3e32eb913430666dad9a3c03d68ff66e7c5c6a6baad9150dee59c97e925cc9318656d260a08179b9ff362de3b771c7474315673571c87829205ac2cf7c6e63179aa468cbda46855f07497bd894c41e1eaa6b2e74dbc031b87286f6fcba017bfd95d0c743eedbb52345aa44062422612c209193d0dd444b22e00e45fe1bdf206cc38a344438aae682c364d1c2c7eb0fefd6b12ff9f094c2e714332f02b129fb194e7692c440e8402cc83c468e43878496948a72af2abfc9a72ec202e21853f3209d20b685f860d79a60160e355fa9eb4f23fd0b9fb960f9a0f9f2eaf4f5672ac5229f10663d9c0d77248a99c7796513a3ba03299498a4f3bf8a055c6c91cc303647b49c4d8e6f84d0c483c1ce96c0b4c7fd3d03ca9fee30f7efdc2458bd9346034f50466ea0747216ca2106fd7bca0cd00c2f195773e20f2d5c1af7fd223f32326f2385ae2cbdd85ff9b62c47cafa2daa44ba33b9f90cc5bf1ee9442a8b86425d898ce71cfb1031827ab5bc4cf968b644629f381c3cef6df251b6cf61bdc6386d469803e6358a655e5f86d6f9249ff0c1b9ab62d4b156a1ac770de6b46b95b864544fb39adf46a62186d8efc8494ce3a1e001a07067da0bd5c178490f01638e4241c7830b3da15198b94f8be6638ef92f64ef72c6907c6b1dc2fbc215aa80c665bfa09156ac6addb20ba01dcf0449f5b62dc6dc028e8607658258c47589c61b45b928ea4082551afa17a0f091590c140b90d45b17c8ed1dddea3792f9513abb4403377585ea18e8b76b464c4b971854230d3a0bacc421607c00928ae27e7cd716b89912f49964ceb8fb6d008e75db362bc042ac870ff9799787784cd1bbebe9bbe005b93ab5a09cefb85602245f08a61de5cb7e8867eacf4d94479f1894ff30a2c22cbf4d4b331273e62c7e5b59ba9521e0526e73f784ec6dc3a0495fab8c93a0583c50e238854cd5062391dd9068e704493737885a6ce82e20f2dc152624e03927a08c0c97f9d34b3b8128f16c98120bdcb7c889dcb201632ce55096ecff7a46712d6a4e0cfb4e41f3dca19cfda8127f4b0b8a8fc4b1e75496994280e6884bdd264880c89deccf458e5d92e7fb0a88add9782285afe9039f77c37dc96dd96a5083ded8d73e9c0be1d879691d0e08903c453bb9e5ae4b552fad1216524cae2d8dcc21285fd9c9aeb622fd336fa772e0602ef03d85da8dac8a9192e8a8e4b8a07230eb343b888544c48be6c1fd4d15713f1c4497cdb9c720572271dff2243aad0ac9a1314b45e2d1174190e1d1f692a3faf4838e6d9d5ad43f02e8426e977b93693d34511e2946db323db93fdde4e9d26e742a7388b4e2e17bcf0aa956cf668aea211acf660dd6dd152002b58fc829db45d637550dc7cbcb8ef82195c7fcb3d73b894e9ec78ed1468e36e41a1e49631336a74d6a2b73577252f9438bd827391c9862f0075834e5d2d6e7158f5e4ee7571267c982527d78e527200c181841cba52970717a396b06386f7628b5554b8f394257814c6453f1017599472e52057977a5e0f3c14b36bda43e0dda4dcb7044515c04c9bf61366273ee4419069dcef77cf1e6a24a5ea77f0acbbf09ccbcd52a100d9d67430a631de47daca27e536f467c4aa9f97359774ddfed55b3cdf29dd50b81e31d3c1acb18b6dfa191ce4cdb76252c0e63c9dbbc86024e01d5de058f3f9330b86d2b3ea20d8e471010255c635a636c402c4f0261e7a1b3e719aae216da8014414d976d0cef243613a1797d2f3c4d4acc8d2225aeab562fbf4be1a5ad29bd10b1cb1919a54ea2b2429751c767fde307ab6b6a383bc7ae4b9e015fb79d3feca0c62eb2e0be6e72047b82b79fa26376526a5a9e658b7e5d19916bc1a120a0fd723668b7fc3107207563645b9b65199c8ab3576debe3d11915bca20c4f339bfd4cf2e58b5d367258ce6be5e3cc8209dfb6a8433cb9dcf993d20d856652559ff6b0d557830cbc7a93e7ce2171efb0514b27032c741827dcefcec197dd2a8c6d7c5b1bc866c34591ec0c96747079a998f069343ac18c9b049afc85ada030f17a5a8e2cd4e6cdb8f59630e58b9e088ff095b8bf819ddb10741dbc54a3fcbd85ffa404b299756866f66231e3b72db856196d01ccd914cb564749ba548483b26af26e636cc063720cdf3f7b6dc0da5b4fd46d465bea26780006f1ece20f90c638eaa7491ce470d6f43f3a437bcf62bbdabd382c29620f798eb6afc11a0a4ee0f02b092986d3ca4729757b988f7f78299c305addaa7040e5cf7020575ad69e428f9ffb50092be5c448543fb8156be39a3f0c7446dc3ee887a7730fd6b360af00de5b67cc528302f6f99fbcae1b5b8b21ee6932732a3cf81b38cc06d80697be8e26c2a751ad3bb9f99a4ba6135f4ba6a86cda95c587c40422f5e6d28d78b281254839e15cfc1a28d391f0d3e87ebfb686a151ad0fb82a3c7f2d2c83bc0369ba4d50c623d22685be61e0f052f2b338925bf115292c225daaa9815d133b54efdaceb9eabc0ead0aeee905b312238c62221c97d24659650c15f683a882cf27eb3e3c83463c32d74ccf388fde9bea022d95f1f73c35d6243b9d523c33988ec6a3ade1480f222fd2fcc9c3b9160c3c66b4ca45302d19562c989c5751ed27302ba7eb0c6fed33cc1bdad1a8e0931a1258dfdc38a0b6997447079fa9de37b05ceaa7563201199ab4edba7d723b7fbe8b7d3bc59a7531af11a6cab6baa8127f4a3f9fe5bb095a2605ae9074d2e1a4ba1de9a0119435c0e42374d0e178665eba53908500370eee29c2782c8e401752670afe338e052645de4fb4fc510bc2a1f74ac1d5df6f929299b5dc0440ee39694f28371521eb176565de5d8b840e4709382cdf6879978305b3f18b99b7872f2eb6334d3843565329f4dee269032b3306da65940bdc4af096cd74aca42b46bcf90121a859610a4b44b223206aff31cdc49d4cc188a71df04aea3db80ec8e4bf68a6e2b13ec15f24434a72479327db3646693ada5b863410ee25b240303c99007ee3068021e4393f740b23f3cbb12cb77b46623a51317a6ba2bffe9f36bc9f41a489228f810da65d30bb481911484d02e1e304843816637ce1d659697733edd109c45f01418921eb34380a43d67060eda9d0b68144bc755ab5bdaf597ccfef14b60e81c6e6af52a5e785993abbf357aca108cebfaa1a658da4a4e8658dab88f873cdf33b173b4e2dfc4f35c386130e303b642e4d137ea65fc368c8e38c0e23285e2ad562dec523366c70eb3ca6410853f65eecb7c055f394a0ebc4ce0d7b5c60b8e1d45eda67f33c3d73597a8abc2fb3776764c5d8b53defe60a7ece3b15f18d27eea4f0b794a21484bff1dca10c5b3958b25c81a2bf5219331998b54c69bb4af86ba3d095d29a8738683da4c606416db043c6546502ced1f6327a8cc2667f6b5adaf94086f28e6479d1fcb9884298280374ac8ec0fba867155a284e03948dbf60d742db4eedf5c8372f36052e77933451f28610624f76b828eb983d60629388cd8577985cf8e018760f632fe7374abf7b3b5a8ab0e4991e1700161878564c1207f02c6cc0386e26681f6d0c9869556c0f29d9675dae1afba423463b46701deb5e30b983089b54273f8f5ab351e8a3118d47faff982dfb3ca8de54c6a38a8a9c8ebf9a826cbd01db8c83c00a8aa0a991eb85f7a1d9e488859c2c731312d1bc5e6f73b511b1f9f4f2b42aee09adf5b6d58445f1f655edf148ef9c14a2b3901cabd9f1843d8beabe5fe821e6a4fbf1d237ae1c27494f911c0e5993aa11ff950869996a20d9b81043c3f2c02159e9eb098c932d16a29c0cd890c085129c0df69cffe9ad90941d315b72d52ce3497e3bbd1e6d231ad8600828f2d5d668196038183d46a36e0d6465548be1be4144fe6b3ee6feab25e6f003e884be2399740d6cc3f00e80d5d7cec4a04dad0919c68f2dc7901ab1387829f888d8351d111ec5ba4739c24b1ffeec924648b451fac09a1376d1be8c5da5207f002decfefa8cdd1912c910e2cb85ddac96477fa8f423bc5c27a2a0b0e586c2365725c5cb8b81c6bddd11e630e4320b43d40b43ac0ac350dd72305c2ee408e8ee97085bfb8683b6632f8d572eecdef0a6b05bb7e1a254b81023e60721b0e48eca5b09614b7a0a6c30530cba1c8ef855b125f60218122e1f5ec0bc48791d23e685d8e175659634205f9fc8a84f3af20acd4f13c67dd0163d0d11d8e95a6112b0fedddef1fe599a60a1e1253acee5a0387b24790695d56971e5c1eb79f9added6f615656235d8fe7ff6509730ef380284462c883f92b7ac01ffd3bb3ab01c833abc1ebe6450647de69e9186ea5cebb5a730c893528abac7ab955d8b6c38a35999c355843d945c64156197b17f7332ffc957b13b9a61402dcdbfcb681b0f87d5ce7935b3c46ce89b976d968af5dfad3d868a5bcfa6a870b87509f5ea948faa81affd841a2c7ad19639c866480544da894f553d9087454771f1119272c08951e0f9c85395257d32b46641cf4e621ee7562e41171924664871559db8201fe10323e5cf4c1c635e10d0ce46fe7ef146850e23b4b789290c4070fe44bbba251d00a2558db03ec0e7c179c0d3a365247f566785aade509d1efca20ffdf5f04c139fb0bbaeb01ca061013e0ebc8847da4028bfb459fc688a9d6df12e51c6904eb6c7e6c28d009a48da5025eb0c8d7a8fa57ec3364c3b456f2b3825238773bd02f1deafad42dd4fc94cd76ee8b0f5a954b8a1bd015ae6aee4865b8f50785c0581b680e531dbfdf226e53614f5ef06190904e29d963ec3acb779fafffddee4d4b36c9a596479db597682d2858c631e743a40ef6d53e6ee5f5d4e7ea909363644673d172e2c98a7b731b72517598bdc89420e35807ca2bf4a9e6c6b211e16c06275ed610ad240e2b8b98aa213d7f0ddfdfe05d236003f8f369e9fcc263cbf6e0033f63c4011edc4e70972c24dc741ed0e423ff5dbf9ab8152a421ec7d2f02d70e01e75c9050a50438125b35839b41bc71641cee1f8c9deb098ce521e1acf898fcdf55c7c1df9a7478a7df59c710d84e176896aa7a426094b74010d302bb75e1b1a0d0d5cba1edf98a0660a2c59e804007cae84400b51d601eb91808a1fdda677516e06e33043e27f5fd32c56bb6dccddb0e9a950cbbfabd2c31f6ef0b09b3f4acbd1abb79fab21a4a1f53e46ced6ba977d1f4e0c45d97a5fe0214e7500ed52f42865d744802c13a47555fc663c7c8f7154f9e3da785810c539a850911f8814f26cb71864aefe30c8c0abf7398707278424c59c9afc17bd67f0afd827ee6565a89aed6f5c6c41140c6fa83ee408fab309e95f33272ee03f8d5375011f76a8b4d918603a42c53a06031221b38d83cfe878a885d60f0fd21a6bace8dfba0352f9203b39a5fdb4598c963bbbd48d35351789f39d18fbf8047c50440ab9dc7f4975ead90592afdfda01863b839408d35bbea195fcb4ad78fb1b63adebb70ef32ff70f1fe0f5055b9d86cfd9b9c2a20d161643100cbbe339330f8a65bdcf1856499475d1b305393e720bdbbb07785bb6370d2140d6ffd7d1ddafb20fadbf5dcbbb419eb32d06a774cc6a9f5f8ed9a5a560bc5bf7a0fb8d20fb97309d24d871f86c14a98106037d864dd0c9e0947caef3186d4560127ecaeba913f87b856f71e0f766192c1c6c3066a8078a6679ef3f2b92ae7a24ffa4f02dec4057ce42569d9a6a3d9e6b2125e9c12ec878c5a0a05adfc681f9974b8d7563d1d2ee86c056ecd2b81aec7db68fb49b29cc1e2251a2e79ee4b280c333eacd6482887e360ad76346f2b84dd8d0e7b2cdf960828850722aadb6cc0259e26e865974e3fdb5e95ed33d092d5386e683e04248dfe280d01777aeafcf234de62486d6168316673341fd99009d2ee779d6ba0310d4f7cc11d9b9549b7743ba8aeeb178318e707851baf3b859ecff9a2cc246bbc9b742c6d233412cd02a59b5186dce18c3223edce10e2ee299c5c3742f0f74c2e58a522ca08d884d79f03a2070e50f974a78c8d555a4d14ff420f46d05be6956d65a1044560b7572fbc1cd777dc3dff6b795ffd044ca84db6ab59c49b8b5e4bd87abd17d96e21cc7dc405eeef8af9b75ff49df64cb900ebb7d19de88691c178bdb78be260a7c0243033d91601ac71392036264095e23548fcce118fcaf4a0f4b206d268b79d257fb30a4cbd6b076c0224b87bd4620f6590a4c75a52d26e6bf3f6caa49fa253382166719b6e6a779456d93176229b72203d0502109c2f0f16ce34bb32726e1be12d8625d88dd2fd74849cc309db7964d1b4833bc760e0e59d86931fb86d533a3315d886d9a84b32cd3a0718810f5162c5b43908c8e639857c75a59755a21fbc2f4679a24d9ec5705732be4e55afc0971e6312f1b35254c0ebb39e0367d29a807a192d1bb510cf3af06e485da75cc42a81a02c9755c51bd38a238de2c63b0b81d3a07e0862ef4c05558651dd617d187255d854605fe196edb54246bc4acedfb6ac642f0e58e569109b3f40cd8ba81a040bce96817d287c8880b4c7ab4f903c290e0eec35ec49066677f9bd41f5ac6576e2dc13604873506567801b6c688c7a9b879c45d8438eb7069ece2521b248a7f276e5afc7334c89827e4ec376a53186a5f4e14a1b974061d6f23157feb65c5b081932869640f55b678c70a9112fc485cea19d882fb5143d5c8521aa9c7f2de15cbd40723c8c0a15e86e32b81dff09eb1149b16831a89aca50363fa840e40b3a89421dd0e6328ab682c96a9f032f2d55bb1293bc71872e71724780430124b5c18cd0b3c14f6c4c4f80e1124770b9506efdf455f9dfffdc0fd02c59f6f4132d0ccb720d9204066e7ff32133446c28cf472e19a090982b0cad2f0083d160618dddac00da44c7468c44308852ee1a19d70d0d75295c709bda15c2c87f599fcb261ec13189cb245244a4b3b0f9a5af820dfd78598172a98e6366a76e9ee893c6c0ee8b570cb114a65897a97891ee93244d5304e0e662637fb122a9b0f0a0c92ef997cb0f8e5fbde82713f139be27006f50071e7bd0adf3142e60a45b63686d4aafb5fc7e228b9da7168fab3b4711adae7338f60940971440512f2b3c43e867cc005a62cbd6e1dc24f2f0831aa40b09ed8f25445c21941744eab22e7badb90b913f77819120981a8554b096333162071931a95d455384a821117373ce2cf575a237e346671c324d823d5b921ef8517254a021541c1dad0a70d1a68aa93307bfbbee5b3e4a0c93efb9f3dae2e544cf9fc2db0dce3a1c6e4687a194e98fc21ff5e9b49ec086064a757cb8d66f71780586b4ef9666ba0c4a3dae8816c0416e8a58d00f8305c0e0b146828c6316f47901f4bb58a87b2eea66349a329eebdfeab326dc959ac88b88f88c6e97197702184d9ca0c1c644776b0fbd09ddfb403f2f0669d26fdd24ad8c5b40c647183e7f86d52a00e486be77fade97189255f40372bd738309e84f18dd4fd9605e1126d084caf467f94412a24ace311bb857ce3e34c39486b34148ff7e0f9e22305bce17e4a5feb5db78b229b8ca5a291c576b1409c5f430797f3e4ddeb0bdc4e50b368dd6aa7981ff5ed1bd4f8db2b091e2ae57aef3c4bdda70e38f3eb2448cf3803ed818e8011fac611ae19cbd5d07bd5e4c8ca0b8f429cba7d4b6c31aa26c81517ab1844d59cdfbdf220ea0e4d8b8ded145e2e0f50c950ca879c9a80edd2c88de8e62215eec0285384849a0504a72d73b7ddd5a7a95a12ff9a67ab35781f2a7fbd4f59530cdcd41f98bc8b546f73b37476f563999437d2a878225bfb0466ee004ac15278b3e401416be72002752b7fe0b5db280f4fb0a937c943129f3c7aeddb17d5c21aba2b5ae2cd06a5fcf36f680f3d8f29a9f5af3eed7b74882285de1f4c418ca04bc3b4ac487e5fe5380f2f0cf0df9550099605fa7bcf368899af83502a42f077fecf44254704c280e7317849c51e8c77ac1da5f9e39c57ab220f9f67e26fe9aceb285dbff4f2fd0f022ba07606b2a439251e5fae79fc756bbf547843a71c01547e2161171922e380c81aae3f7feb12b1801aaf1786462541cb69733e55067fc269c8e9519ea1a11dece66a4b0d0b771f4c1e166338bd78949cc235d26b56e41a9aead4dc94bff748809e27530ccfe53c06c9a2a031ab0e3422e7e15c1fd76737f4325d364ab6f7a3a4c276d914939a5e1fcff323eba8214e5cb0d98d610e718645ee978822f74ea3243c7fb059b31cfa9b5b858b217eb9cc139f04089065e5920bfb90e583e1f4c7bba9a73df808ff966f3ae4d5aeb0a9d89a19eb772abcfe1884d2f1a6d90a058ef7221de87ab3868d932a83962f1a65dc511851416124f50e71ad62c486ad581dbb88244b3373204d26e6d5b6ce0320f03c45f56b5fa3bb0ddb430e415b3721c587ac6ff3a4c5f74e057c6d5fd50f28cb803b14daa149ca6b16bf0b60e38d466c5949dd1abbecbf9970c3df8e2b1f8d0a3041c62f96997c0d99ddb1f0b9c277cfe9fa5199f8fb567c0d895914e8365b7e551f03b711cfbf1782fcd9b38f63118aca9e99bac8c1978ab69c301088479371062ce990b6293347f7c32ff188e0e0a46bb150a543acd8b79653410f8c627551a0d1df5bd8740c1507eb55a67d6a6d1befe8ed6b988ba001a68007fe557dfc53250a82d8722da64550eaece79fcbd6d18fec7fff908c115b60734d81530729ac8a8b568d6a03eb691693997ee4500ccd88af41193570ea2e38b1fd38f5911d018a2dda4eb7d6b6789327369ae1ed81756aa3fb9483382336c99a1026a5adbb6b29576bf989436efe40ac8cf3bc0282e451ae39b862046d7d4a71e9602f03492e04d08dd10a02efd4a73e1a3d8816fac67f6cfe4a5cc77fe5bf3482e54bf499019ae37764c1fc865b838ffc8f102e4c8dbe6bb246858196c55353fc1b30ce277d52933ef868fcaa07bc46ec0e6689d43898492023bc2e1d560902ee42925fd3f5cc7814a7eab1da445fbc67b4108d50923e6aa220aaa0c6ced3204807c58a6a89ba13748f3e7415203b510b3db702327ba8fb1a7d7dde328d3f4ab8a528783a5191667e5a6f84fb141358ab502fac1533fbfe5909ad29562fd3a7b5f37d888f653aacfd846c919ed9c5beda22490bdd7f1cca0f15732ad9afe2635ba3214903d6e27024b6f356f32a6e25b03e452386de12367ff37957b0ee3babfa97916601169c7e47eceeaa1ec9e7b93ce1ea16f7e096a51e3fd16ffa0301ad8373ea5f4ba10ff68d8d2e532e5863e2453ea3b16279dd0277fe4037df9421935a4d678a7a2ceaac382032cd060c9d2ece01dda64993cb073b60b14fb904e72ab4e6d0f58427945d06e5bef9d9f5a8a4e7c63280daf22d1487a4ef99b23a0788b771721fc5289edc7a3ce0ef25f16a855263d884485e31dc3a65f7128134d898ac8a2f8ad459295618bb01bc4ee04e02f405796ecc2675a43df3be9f5dc0e1cf3ef73e0b8a279a9a6dc048e93d01c4683e539c1bf10ad2d2516c35520beaac24558298e1bb8149af9c7e0a804c2edb015dc2a17c52f879c2f752982f374ec4deec882c7365ae7ed77ef178ecb0d350410a0d9a667952a47aa9a333977891b581040ed35a87e730f1b99259ac6f9e37643b307804e1f4018c58d202067dae86af7b58083d24deae09c64ed018bb53c0f43b3ba417ec612f96af7cd9bf0d3950bd7d2fb877846ab56230e464d5cbd889a221e490847643c043505976e3c42f2c074165aa6cb149e098c2f895b873305bcfe67a64832c49f9ecedee44364001a1aaba905866260f3a00b474f7fd995b2e527450d0f08f8281cdb94d1179efdc86292f78e6e80bb055eb680ca1d96cbe2cf1e8480bb2da02143619d5c3ec15e89759f55f5200895f4df7268455fe2a246dec45a3cb8ed7d741f6487fa7365adb7566ccd613c4433f3b7cd2f1857857c48e71eeaadd8226eb142f6d6233ef53064af7a9b0aedbc388480d05f453d8ac3fa0f8822e9a345bc46436d71d212b4b5855838d0f7f9c1d5c985f03a3c740fba555317a03d3b5b886806adadadf156867f10ce09d2993ee2eaa75ffe41433f675b6b6af72bf741559f879feef53add8f22ced5c108171bddb68f1bac531f72486aa76ac08d449ba014aecc38387a2a2db2e7187083489296daef09614fc4a93d57a289645e1b675ad9a4fed008f99f33942a0b67787ff02e80cda9a5b1cd04e289d8ba42af494a4189902b8a11c0d824f283b3a10d6ce2f5d965a64c4fe8feeb226603c98116698cf5d11acff67f1ad71a140c626fc4d67fda2f5f75795d2ee960c3fdc2a45be2fb1e3af66acac54bd055aa64a5ee5f9c90362302414ff8ae16add76e867dedfdb32dc0a6fe04e8fca12c19fe1d8c83dd07cbf5c6659fdb76f468cbf6afa0c4385964b45fd065664fbc4912eeba9828bb5a4196bcaff512b71e16bae8ed01fc034b94edcc4469c6e1a6ea999f5055d434976b1127d622ac371207b963c9f8fa2a458a13d886e3fe0a226f5bfb64deffc2595965c20e5171f761649f9e4db38f5dee8641d8604839bc32ff7a0a8ecaf9202e3c0310858beac977e65ba65711a0ea0b1c58c5fbc43cbc10efe12a4b2fe0d2fcecfa8c6e3d06b07f3ae44218f4da0defc0a4f4dfccb368e1c660b3357c9a920eb0a1a3d596d4b745f1b5b0b310454ede1c8c995333fcdc0f81af610c54287ed260e47e7257ff401c0382f9494bb798bdfb2e3b7799b7f1ba54a565a65a68a98180ae0a02940b6d153403dc591cbd992cc964619bc9bc7a0d73037c8efd4cf1aabdcd349f06f6419f5f5cdc760c4b1ff0482a310e508edba3cc67d46005da8fec322bbf05e27171ca2545281159e3ca8e53916cf7fda2b6aeb618b4d2609728bcdfcda0c359101a934f6ae34f0c2ec218507cf037c42fddedddc09d5629d9c1976f8a198a5d7aa586cd26cf8a34353353e2754ce7fc2ab617b52483a1170b5355aa8aedabe47a399fe79d9544843b837db0a4b52c8211863d8eecbaa41b5da11e5a5a0228ae9af21094f2dc4dead6da69fc4186cffdb7101dede535f171ce971ef0cf9261855e397ab79c0ae25f30232b40ae28e9876773edbd2e0a0f50e979d068f9276d030fb672fbf8a09a0d155d056d4f601fe54093115cef4b4a340488925d9d36b030104d3b5133e405ffac73a1617f2df246793bf3721df1b5390b3f2ee9a211b3c3078ba29ec6f6e18dc9b5e18ef9a9e93ecd84b51741fed0a39e22a742f765a1952a12090eef48eab90fbc435838170b18ddfe283c7838d20a326939b8c08a92cc907085efe2e4b61aceb7b6881f6d11b8a1dbd1ad28af2b9b647eb2b89ed1d3a435413eb7215e832d3426444076a2ef0c1236b3172cd6c820298aaec0d2b31cda02ea8e8b6b8dcb53794dae2cad75b8b56a478e6eb8b1dc9eb4c5395473b6f6ce61d0f18dc69fe66b23180b1e82f398a18b7e4ba6d23bbb35e873f040369a64512e1b4c85870f036d010b7a98ffde1afcd4a75daa108644d793c6e0926003a34227f4f530c5b44313dc74faf2a924ce268f35b5ea5856ce140dee54e5b75b0bec56f1292777a96a5a262c696b0a4d5a9a108993d6df00b5514f90282bb444c232d29bb44573ed8642a7d2565263dd633b07220605deab743f3372a6c5b4498cb99e39726fcc4f72d4da80b08ffdefd52c259c7f2c94a782e899f1cf467ef7e8616af5d3b4782c3c10de5a2bc1c14276f428860165871c9922b1e99a004503bdfa69f03120c374f6549296dd072b93e6412240e06a72e43292b038fc17975acdbbec2cccf569a795a2352b0684e65b4e35517c3360184fb7636241d8a20816596b70d30dc9f5b78cab3026f8c8e8630a180ab4b6058c8bd8428f3ca043ba7b6fe13375302ec9b594e4a7f36b8c18625dc40b93be0c3459119e63a96be4d8e91d9c3f8dc493ead849b85f57daed62ba7ddd059ebc2d940e1466eed6f966c2a9d2b73215192fd607ad606a1d593a1a7a4dfb31ef6d84539d1c5c028e0d87695c05d2010e99b9c60c68e0ce95e788d59229c983cd48e947d0e1630d35923870561c8cc3cd0e654ef72072c3dc20f80eebcbd899bbc53d105927808a089e030b5a90e42c5ca4df1e060167a285542d4141e8016d8070c357dfc323693ba81f4e0cfa667377a0e54a8a666a1765fdc872698dff895d06fcfb8b347e858ff28e093892ced58bbc157cf767a8dfa12eea812de4f60c8895fa9926c7a61ff9b5f4f2816ed96bbfeea87b4de87d27949086bb5344f5b4d5a79d3363123fc049ed9c1b5f93a6d5dad01db4cf75407f44fbce9e9d3cb9eaf63022a77e62b74b2ce1ad8668c33a74225743fa7d621763a2c3d51a3c0aa9fe234d48549d109bdda599b706d1584fce984f0bf09ad2654f52ee4d01d0eed0a1b16138648fd30b81752886d2821e3fa321ae1161d89585b81e6d5f26649fc9aa104a17b3e8136198abb636e8df2377500b4960c740299fc4ef58ce6232f127ceddc192048a2de492e6b92c6394660101d58164498eff79577d6e5779cf7f394059e0dbbde1a4e54f0e36d914ff01081417c75210a2123331787ab44563b9d36272a6f204afaafaec1d6e1237904e64a711657d710c0e2518eef1564b7a696d803f092471a63ddb07b472a0d00d54b99e65ff4d4b387ece449a3836f7fc466407e00bf88e7d9c51f70420d93f5cf34c22c66cee8ed4af5c12c70cce36cdf9c290bb404373d1624eabfda03c0d4c56587d8c74cbb38214670910392427a23b26e089802710805db014eaa9f61b55adaf25eaf5e11a960ca40dcb60c336a40e4982d42fd0c0e8a6a5c567d428ebe2af8f37b5ccf4cae6cef9d6dce257fbfb6285e54e960418f652ef68f35031db71aa20afa90e69b03b58269058e54dd751617d654744f76fd937f6be701f4b9089a8e5798bdfa7e8e11234562f09c2d976d3c63934cfc1aea383f182d94b42de0f68b487fe09613f40d44ee9472d825d80e0926fe8679c329bd0f0f2a1045f156f7e2967a37a9a3af8ff67043df280e2fb87a7c68067c5911aaa1b4f133afe5b95e5cdb705f8808f9ac23bcd6c421cf7cb24186ffb941210bead9cf7494132d6eb9770c01973daa401432eaa8d98dd411a31fe72b92691834cb687a18e204360e108d7657d0b7200128952b58ba31bd106f26df5f3f1007d46c4d7f683fa8da2a2939da6fbc94982cb1bd5eb1e95671d81c7ab7cd747f3360c59cd843c82fbb8c899f551cc738204a3c44a56c8f4cec9c4eacf2030c639dfb84c2b7a1f4f975e051a6b56930b9968141c8b239886e6109c80b94247ce1c0877c9cf457439bc87f798fab6e663ff73d9128c27d237cfbda6db969d7fffa35b3bd70f50aa132c4dcbb531ef2e281bedc7667eb0bbd69e68b7f49253290ad84d94f23a069ad8054cb801f50daea8ea9b2923a47fdd47f0359df94f40b18dc5c5cb7f2b0daa55b1eaa6199434899b70f3dc3cd0275e1f7bbaa4df64df46050ecfa487f4be2f5d2024488a305a5a681b5014e4f2b08e4eeec5f8754f67f0ec260d85561a4180721270ac86962d0dc813039d05c67f752264312ae935a87ea96d32553b76ca3867be4d3a290f9563f558fbecaa890efec56fb6def024f923d989acb4570a9cadcc3586f742089b9ec95c25b87c6df3539c5300f54ea9a3e15064f4ab0a374862b1920f2607166b38de37aebca3ea5200c1998a50691faa4907c53a469910d86f23624dc566a308e9b5c30666625a8fbe373ebd69d3ec7f910951b6274f0440c1dbfaf39a126a7f4bb34b7f69a66f423426397e7b80a6e04b6ea588d79d4831ec0428cf7f05ab7065513712e057f73618bc1f48d8f6238a0543c39fdfefec578a657662236e4be2fc3b104c9fef430979dfc1b07a874c98a43df38ebbda4532f8a3593656c6996a910c4f138c598be89ec6851329e59420b7c240eead8a2e5edf3b682c8764287bd9b8622bda6c5ad18d51aaf11386eb268ca9b0ad3a48c200a107845d0a2a4cf6b36f37e7d3c011c71263c3d0270b5a83e95cdcd0f32894fc1c10852007b9857dd11a6509b303ef670205350ebf47e1762947b0450b50f98098689a06059813527e23c1e6ad9d9e8eabe3c6f2d4f1d0300002bedff21a1aa979d22168c6de438754f8bbb6bf385e03540fee3cf826eb6cea2ee26d92bdd3fe768c0c4c001fe5ab5e7bde39b0a367d5447c5467153ae82040fb289011de14f019e8f56ffa7f6ec554739e78811d78b7968a0356e5f9e16a57d4234d1abd7d9ca428adc3fda860038fb4075801d86b1f5fee521ab836e4800f6c429845d103efcc2db8ac3d6a41e121fc11510eca701e6d230c4704bb4eb2bdc3d1469de9fb4ff7890a55b1dbd102615aba9259a457f74e91355327e7d2125f161fa68ae2b90b7f8d02583b75966945671cc80cf53d02a1ed8fefc02c56cb1a36b2c6d5b00899773f10ebfa03438eeedb42e0b37098e0633f431f7d637748a1a04194a49c4f675cc89d5567112eac2216a85e9943542b0f7870247fca4127fcd0ab7335138690515a5f661b2105744b25f42de87695bc19e4c0dd2f5831bd420a2b7cfaa933e846a55e8842f21c1faa8706af9b358da8537180fdeca7d659d4a7b0a100fb9188ddaf73f81f43a463d9753385628cb4fe414f557e7528f831d91c67c6eb18cb5db73452892f6ead2bfd73fa8962b3e9e66fa9b7717a766627fd03017f9456569972167885e157323053da0894fe9765f07078bf91955661c5cb1f7266c08736e8cd31357dda17136568538f73d6f800e2074d1e91ea6adb5402a8abc57e434a4840632465f924daea0ba82ed7b3ca5647bdfe69f524da64aecf5f943c5208f4147d4fd4c7ec9b52799f816101dedb0df04fe5984956c5089ff43a13c641992a8ad9d5f3ee79bcc07be259a6141215e8d02828346b1603a99809fa7ee13d8beb8255228e7cb3f3ee8f030a886c305d25f595a69a71bab0f037c6d1a14e1b37ef5f4f191caeb6f3b4272454743872d4e66b1e36c015dfa2ad632a0f335dd09641736f86f3647fe3313c87617ef32d3c9caaa2d6f327866a90a1b65a6fd45584e43d3ea944a302e9454dd3dacb7d0f878e71cdece7afe06d3945e9c574ca4f7d8f41821516a3e4a7dc040a56ace4f09709fe1812212675636df1c8c0c3d938045c50dee4587165eb316c787fc9adc4923b874930fbdd11c86d898658eab434381c8aa65df29f9f38791791a1e7ece3f7b2bb5abbc266054ad4e0c3deb33b55857738d7873ccbd9fe3c8b4853e8ec21ac73cfc64f08e41c909cd47db4dd5a1046fc8d0800cb9c2ddb4c6e42e1916524a1ab13bcb07bef6ba04b35009a5ba57edf6ea806011ffcd8c6e31cc6021a606b032ea6fd5457f6f382639f4a0cd265cf422268eb74f24fca981ecb3031f26b7dbcbb226a3accea7fdefcee40dfa655e71aff9c93bac791d0ec30857f2ac920f3df4bdf4504d403cbe86ac4f5bed56dcde13b38b53e1e114c491e1e60fa464c9890917a9a077246a3309e918aec188e4c5e70304ab0bcd9dc0cde5edc097ae48dc02d000f920eb16f47d3ab7ece06b98675244fc404f382f8b17b478ff2ca65a5691662aff388cb08f53ce58eaa03f191756c0a21db9341e2ef955c3580f4a37cfc6274006b5181fdd364b1f94a735a79b965cdb6d4a85ae6b07cef1d6b7e8070787368915832736d5107a41157a00234f4bcf61ee9f06bf97062b0f48991452293ee2ff1be55f54eddfbd2d45ba6dea7d74b2a66a7347e4be1454138d3c89ebf30733a48cb259f2e617a4f8648148e310cc1879c06b22cbf0dc61e32eacb01f03cb7113fe429d85c6ffb7247b2d333e51cd136dcf7630843f521fdbae30ff83019be877e0d5cbdd3f733a21824c247722dc764b11c408d9cabcfb31f01995ef4cd16b24632ba0464c307b944fd3029b48cd806f2222c0c81ec09654f5c67f2dee5f4ce95a4fc83acedf165392f996feec77475fe995a463bc8f7b41b033f8f04ddc7d0edbdc153fea697aea4fd9be30fef53b51a6ecf0689b84b89fda0f3d4d5e7b0d601ceacf74b592cf3aaa6f8816dbe9242d17d280d2e4d60eb1a0c02b53b0efcb477aa314e64d6379b52b791691a437d122559042871b153da1f32cf239df5febc19448cb04221dbc9c3c18343d1c66a60172f1c9bae718cd0c3247b0b96a9bfcd7926adc9346c08f7d8e3a22fa63fcc0b49a018dab50784898af487f9aab7925e41210c0ddb90b41d406b0004d6692e79cd5500742d4a7b6c696555499449bad505917320856ce02404289720142066925a7a975e53f4f42343107fe0984bd3e54605cc4828c5425307cbc90d988f2f116924154c33680154fe211b30a19a60560a9e9afb759915e2d0f0732f8483ce21bfb7458df3730df55a33cb42fbd44a9752520c2a1a69309d0f9469e42a9960cb60bd16b0abfda0f4d7af656d43a04b6984a2b1be74ad2ee03c2e329165bf5a19f7931a5a13bf99974fe3c7ad6751bedac511d5f66e808252cff8ee6c5acb40c7132e0e103cfbc6a13271ed27aa98e69295f8d9c20541260bbb9d533639346c0f8d1fe3b6924de9229a447881c76a1e5a9190b6a8fe78ae15ecc9b507563dc103343d222494683c20e01839d2c842ba78116a1cb3b9f4dcfbb2021028a6645611bc875a68c3a2674091001cec083f52c837cddc5452593748fc63577a5f639cd58529464a299fbb62ee966ea88131e5d2c8b7490a41d311cc97d07e509f00c5918994f76aeedf355a93ed071337a9ca5e8c7f5cb6f4c6add313369fccc5d2d602b1a5b444e90b0885a9dafc77b0e8fb060d2770ae9fcedcd52a4a29e7eda344909380d2511a26e1a72a3d4a19bc12fa34dfeb16cea93713ec104443722311ee8f2aa05f352849bde279643d5b930830e5c58dac3b6fda95948254579c5f106bdc30cedb768bd7c4c388fd073697040f81d29bea89b72ef23e00a3fc7c7e26f808d0c06ad4292ae8c438c090bd60ff893d5c8fb6d1f382629517489e68ce699857753314670631ca54d44f7f90d209a7b0f5b93148089e20e1ec24ac3897cb8f91fcb6fe14b8f0e93a51c9da76772fa670281d77b3feea1540829a9776bcfe3c4493c9eabbe0a2859ee356b42c7d7e4ac0f2fccf027a84d649327a4072dd396384e0dd94e9aaaf48147520d5b2ce2c199fbce72610ebfa3ae3c7c70bd1ccc8c3965f1db8b3810136ee22c5e730dd988c89e4b75f948c546087f204fe9d924d911e5a54286bc8db25d0a182bc30f40a031dd0f21c1c45651b77fcc486a2c49cfb3c0055ea9a64f5f07f40c15125d6c4e1a34ea188ee7e4d33587d19233cab123bb697739911a5d62e6444e383da07c87e2c74561afd0dee7221ce8ab7a145cd6b477b405e38b15986109c2a18bb96c40d142bc88153a50ecc16c3b32bfc71d2be81e4e5461a6bf9565fd6287fdf5c8b72e88724fe85ee52141809da422845d2e29ab319048ad90b9b8ed40d2bad5523a80bb60cd4cd3a56f57c52279fdb3d9e19bbf2c5db2a537cbc622ec4f484bd826ae514e5de97cacfe24807166f9b39c449948ef3f377f3af3eb0e29efc37ad18ab585b13bc484b8aa4158df6a6dcd01d72be493b2f90fd1a52b743565f5206cfb2b426866cfdf48fe4734c7f0c11db10e02f193ad5e6f808888f64edcf1373cd919bebe69789be6eb3fea19baa2c90923c44b4261248f4879145445138a08bc12e8304b7a07d5bdc1b6ad591f5a2061562f2230fbdb1c34601ef247e0a1014a1511039a5dee861a01bf196359d05661b21b8329083a95ea61532c80358be70b1e2d58dafb03ad9c63f2019c67534ec7a9d3fee96d22231f811e4cbb4d8167ca2a62494862f0b79fe25eb4c0e9652b80662d71a75848e901b93f26db19e5674dfe04853d67d3be7ea50f40f22794a6bac60dcf63fc8e67e32d17a4932df7fd67aa8a3b5fe62d54d515b900adcf732a66962f7a74907412f1bdaf6c0dbea166154162df22cc48b8e435a3f9846aed2514f302f4ee253e27f852bda23fad4a9b5f42b9c58df249e5fe9588fb609b8df52c546d20e62bc4a7f71ea3e8aed9a739fd100de1dce1a70c3a0c17afddf1322c6c7c4fc0513ace1dd6ef8834a3eb4134893b74b744e50b31702bfca9bc7e3cc394466d9a6ef2172fda6c8538116d436b1b1afd54a549fe69afe658fdc558a34668737c1e012b4fceccbe9b71e3f51300a73dea47c3a6e72ee3288422df29611b53e090d0b6af9893df10df43f620491550e75127070f5a4c2480dcc15625170696d8a16c0ec388fdd409c9747dd9409364cfb11e14e0086bfcbfa6dd027ec48f68aa0ee13138f613410e308a1809502902224039832780020fb12a2739255fb971ab675e87b238caa056815fcd1615cc7b531bb755a6be0700645f69979fd24eed7a857244f156102fb0b7bce2f72ba1913b47012f6f98d93d2dae6de58cfe725b17f5a59e0bd5fa2f6e07525acd66452389d1b8d9bfee7c1b5df1180f9935407a1c9d87e09a2efd3a47bb2165cafc65dd7636089c12b6c224ee24b3f4a464cc6a938f22c94b2a13acc4ceb02d722bb4b8bb51070e2ee1b099afde33925417a3fad952ae15589cd4fe1ba73e8e9ba5c5bb1e01f7518f1d7777d3c31d51fbeedcef81533098d5bba47bb27359cebb83a66bf26d7c77ec3cb5c9be04e81e225e923e362aae4f4cdc164da74aeab623eddeae34c9b14fb65acc04ff65cedb70160012e94b583240fc51b627e2c90e83877b61c20ddc4c247941909f735d3dda921b4ed1cfd6b8e2b6be2c53d3a3d493d98432e97c0b7d14d8a647737690a450359ccb16cf723abce064c245d18bb136e3ae15e4e9d754d17aff139fd74a8e00ceb4d69520c3f279b03b7832fad0848c5f6c4fb590f2d06f5ef166ac0bb178103ff971d1ae0fcd0d8f8dea904c5bcf06ba210059bd81de203e4dac3308b7b15bbe7fcc7ecfc43b1d3b13c973893b3d6b7e17b8bbf830be9e96da78616ba11bc931c4300dce14cee4079a7d71bf55d8464c8c9e47af0c0e8b1ca6f41e6830e839632bbfc8c002b4d9b81e77b56495002b6dcb8c68c4a036eb2201e311de2707e43712faf7b97ae5fe2cff083d3859d7d1cd438da173d919d8f0080ef73c840049bda7f6144614393cb598ac2de62279a6ef362c339bd006d5bdaec0ab348e7f81b23ad57bbd80d5d00adab70c04694049b140160d743315746a418a692bf0413ac88e2ae00bdbd0207b2718601fff6a5491c9ed96088259c536424d9c429368710d1f7913a520aacbd500195d286f634c11c2db915b5409601a997732952e02b99f17276999e00576f93bb4631da3e1b310f685188d816a12cf82dc3a6ae2ed326f5c282af95765bea93b279a3b59362ff09fa733509ec48e9a710399c1015ef45eb97c756123a44cc4650d00ab3412e6db4048abf09d5c157fae4f317e5bb6497007ec7d3e8ce0a7e45ef005fc33e88c528d9398dccd023d2ac5d199e5fdda5b4a3e574c8c6b47b95b9524a19cd9d496760117b8dfdac1cef6431fc4350ada6f3a42b7e84740cfb29fcee0d76d66f3ddd1a84c26d4468bacf6a0179f7987ceb1d123d7118823c4484c02647173f80eee1b1f12d8e2285b7540eab2caad8793343c40ff1e2ba8cdab697fb276abecea22302050dac3df356595bf160c0713f58c5398cd5e6911485f7ed391e8f8e0da6db583fe30028169486ad3e3d1ea14efb9cfc520f7442bbde0e632de4e62a46b4721c3fbd628dd7f00a3a8f92677ff05ee2ba28134692fe20912c0756461e051ca7665b28f5c4dde134835a4e1a126dba65aa607d7a64df6a791031b41bca492eeec3f33749eda3d0e6130e946d6f48fbac1daadb462d8970a71cf2b3040db2aab1f748af08c7f06c5c115dbea2a7c91196c64509fc8846398ec12923e9c79b963899967138d3a56a91646b1235cc60a713520b8d0107a25050158808a6d8bd986a5e179c38ca1621f74903ca54b3264c0ee3af39eacdd03f6286041f9a1161ed125c50fec8abfea982098bc55ab0ab8695e15b56a30008926d3c206166bf7a38f9a343665df3f1dd5317b5f6188d6661ae3d2723465ff95fa19fdbd8c98491b3a09af451f44b6d03f2be37c7a35b3e2217b175323bfb38c823a1ace2a1045ccf41ca633ab1eed464bec957f46806a0f2b4e3000cb4c54d0f44d0ed83ffa126092226c079700ba7e0214ba59aba07c33b0036d7240fccb06591bba32835003f560d2e7bff6617dae573cc0a8211970c4f9717300df245b05f546d46731e397a21eb18f1af2fbb80fb3daa1d2f2d2cbcfbdf1d620c90b20e9884d6d963a4f272ff4e9e10aca6fa8bd3b3834b6c0e2cc979dd0fa5c8b98c87a2fb7a115424120077f1456800e8051ab4118e2df10b5d220461f25b1a30b79259a540b2fa28dda569364e053e316bd5ba09a2489f518dcc0a7a5ab41da7d46c906509484ed4a01193e69b9cbc672f272a9cb9d5e5eaa9c8ee5f45e6b1682294e4c072ebc6e00990de2811509365c31e9e8aad62da5f3a8943500bd1d22fa33e7402b7e8972ffb76bc34c56125aa3404fd149faff670dc0d2a60392538a3fb4406b055a814bd4f644d2effe7147ca4f0160c3de9f6351f6f68f53fb7ce9f5b6f54bb3b595b5bdbf3d7695dbdbe0d98cd36e88db3a70bcbd5e57d1d7ed1b99c13900c26681d4792d70f190213217e54a97dd8ecb1c49e8e2fddfbc20a764ac348d7bb87da1af7ffabf035d932113cc4b2df8db7d3eecd159f6c829c8b46310b1c62e28bfd8679d42c86a7031a7a885aff51cba522d5bcfb7a0fba0254f2c2368e3b1c3b22ff7080c0101c1753ecccbe21a60166a986db1e6002dae5b71ec8f353ebd7b030aa43d63337569fe002dccb2c8543eabc9a32d1ad53120751e4738e8c5f2b56c8bf284a4552cacc430b030b214071ac4f27f0857f90621edf708d639b13aa95473876ebda598a79249f02762089491539b62cca9729f2808fc11a1fea83d4a6d7398af1626410610623b922434769e32005497f53bb2027e30540048e85f829735cd32fed945786a95c1338e2252b3c6aa564cef90ad59150d68a0f1c20dd2c3f664eb74dbf1af2482c8c78f1f2ea23cb66b93dcd893055fa3bcdc7f6c659926d9b4e3ca2bb2e435bf042b5a8f13903dc18e49f49ec36d986b7635fdf7368a35aab0d337cd0633b5b05c82cec715a6948e87272dee807f43da6cde310928ef566375969e06f8c69ad688b36fdc435057de7d1bcde07bde72af5e9d321bd9ab85a8a7779ce853288d81a862b08e16c145a2daeebc0f5a3aa7c0a01b002856d2aff18bb87c2dd7a054cd554518336f34a7f21d7e7e1ad19a1860819b734f958b6e209d1e348c40432983ed06c834859b54fcc0d7f2c793acaaf937d0419c91aac0665aa4c038d2a8f86bea6288829bfb790b343a33a6c58bcc81ea7bc13ff02cfd130b476a0094f9b662f840442fa48ef8b77dbea54000c9d42930d93f18f15895b2ac5743f7d514a29cc750c9d7b49f54e9973e577d1ef0f79c5dee5194e57f13830f83b5c4b6645c485ffdb7f5c2fcd966f80637681618aa8f4d825753c3a1d1493626f495ef5ee2d4d62ee851b72dcfe679ba39e56bd8b0f16e98479761b33a06d8f0633a0f321e3e6892048650ea991d3b49270148f075d8dab4a1c2bc5fe249ab29a62384ce290d3a0a07c22de6a4625b4f5bd5219cd9e1625388a26e1f22269aa3a9919719d72692bbc8de2b38e9d8b6c1638b7027f98a1eb349e9d543e125d5fa7856f249916e13a6102b3767630269eca7dd22c7f1f4fc13e7f8e5b0542f66eb57e680038b17bb8b1395aa90c81eb67ef265cf19c84845720ff3a25d8e1b7c627e2b1fde30911bc653a7edf7a100c5504da50aa6877c76df648d85d5c52977dc1af1844d160ee46b4ee584ae4d2474d9a58078b83f9689fcd82472804f6d9b20df74d05c39c061c1f9079551823f305074b2411484970dd88897432dcef5602d26756c3c05f4be1385a96d620489f8f8a8ea619b4763a21e072adf707146a0504b4eee806059daa28987271f4a0dc17bbfe5b11b68ca8d5f7f9ce8e6092e9df40209157ae9a2b31e26b2847efe4c2bd33058b34e4d2fa906164b3084d700a62c0e009269cc534ef07eacf908559da29f78208169191cbaac57e3d71f2c1ed7d1144146d9c66b6654105bff7fb2cacf47fdcd94b6e0b52bd357856b282cb6dda9f44507f8144746075952420159c7fdd23646c6a556190d5d56220a0d916f798705c20d397427d3b4d548d703b3985a3dddb95d5f25c12c3896440cc81a89792d2d7fdfda3ef1b484f9208a05ab5f03aa43eef85a03d65e3ede7a880c5267a2a15d2d9272e893d3524e93d063899a2877738f0585b4b42b298e388ff5cec09af62ec3bf6d1ef3498581d81d455456f662060b8b36d9a93056ef82dea5c5a99c71c71773c684c96a826acd5db62275b7ce7dfc617e9842007bfe7c99e9986b38a54ff7697fd2c875ce6e04b589f940157bca4bb877fb62824dd4cb1eb4da8de205b289d88d47b56e0e95940c6dbf2d8fe1a1379380e7f96101e33ea7ad72656db0f2263f3bf9b846955585aa93f7ce1f4bde1e0bd6b32d3a8723f87af7aa7396d1c604694c7e7b3c10d69db9c76685df63755748f8fd35462740dc6b7edb82fcabb151efd60d8adb24889bb3cc50c848c1e79b991e12b0b2675b2e6923ba33193149c88fd134840aa2241bdd4c26240db7fb237bbd17728ca37e74e06be3d488ffbd97c4cbbb421dcbe1de05ee786b82330bfdd2d32d59b0152c3be51388546b22f7dfb7f7a4ac76234772f1450dfd02bfcbf9c6425d3dcb67f83ceab3d714d1a24f717e3badd18cc8d4bd2d759fe3c44513b7b2f70b2e5513f841fb1134a94c19feeba6139d15f8b840d9aa46d9ce7e0dc775bdebb57d25de96de19bf01bb117c6d81d0db97f73add2e8bd630e220f3bd51a307f3480fa7ba2d1b507550cf1cc95af66e72bc2f41dd08e4c57120acb45bf4994142d635a5e345ddc93f533d878e6f0b116ac192889a5564c658f5be9c920116214a5f5186be52e788ff9c5229807f19e55cff901e9f2d2d92910a6a2314e482b27e79f7f679102ab780e41a6d7850743a6aaa924febd2f921d3d83698a3838f1f1003c2a7185455a7b34a2606be2cf6ee8582bc83d81c13d4a05c47e2e4f54511e14991f23a53dc2c912e14bc78d985ccd0be5136a9300302b72c8177a2652cebd5ce496984d0a0d4db46d67085bd407cb5406b3615bed88f1cd91c84f94d299ca08a7ae1e1b03f305523e6c593e497462e58e33a768e9f107e7efadf8f52ea2480945071993b5d28f4e0c5aff1883ad1109a66408bc6deffe271c58509fb33f5104f596a7baa91bd475d3215af1a91b330c876748d727fb0363915ed8165955322bd64cfe9d75fa8445656bf7ab1d650fc794419400cad123f619441504ff026c4328f99391fdb7d877f45732e1357c1f3148f3cb9a531e9d8edc9a0b6cbcc49b32c46f8185f6bd4f06334395254ab9d8cb577445a2776c4500db373a2e76830f479a254fd0c69719272b1241fa7dfe48fcf90e72b5581cc1b5af88f370ef667aac480c533922f1154017ebfeae7c38700988be7035c4e5f9691451a6546b1e47febaec3d6219fb26a10a4de292a1204b3e86b45282bbd1e4af1a4bc9949ee4e42de37eb58213fe5276c5a079cac49e4ac817351f8997420ede48d81bc538c5fccfc84f4f6fe4f3eb4f3011507d88a7012eabfd58d79d9b65090827118b57f281be5823c0f09e505ae2dd992f7856891ecb14489fc180760924a31f7492143db3a27cd8c6b37c60858d25398602a94d00d8470c4d0581681366d203f21411c9b9894ab3015a6fa078c0b499789e917477c483c5534bee9c99821deb469b1198f66c9053f7479427e7746d3a64dca9809ea636ea9acd076b5fb87f69a4f1e71c2703d47d1ee25811446e054d7942084c3f9f699ea92afca504057916320279f07a6e513dd0c7dc0b5d7e27e02ab68d6e20b83969afeb4d393b5a939e38c187d95d294ce34ac7aa3bc07a6d8bb06caacbc84cf7e3f40e8efc211c0b1459d453b1c1cc8381eb088b85437c7bfd4e78b45821eef39b10521e4c5f9e8c9a505123586cd1abc71c1b2b6f18137e7074b33ffd6ec5c1d72a763b101f76dec05827c42a8fcef9506c650158b3b00d9ebeaff3a0f7f13ece148c03733363960ca0661b8074981dfdc683bb1635011e61a8c988afeb2041ed5417a0bf691cb3c6fd86cd65c6495751fa4d66b05c28d7e5e6efe5d5382c99c36a328cd3ea21d70ae67fecffd11a92e3a22f38c11b58e4abe57d980c3ff2a32f612c35b2c5550078ec6adb7a2d4c6b532f69c7f8333468344c40dccf771aacd41f154a63a3660d0d280f2398200272d7321d3a33638a71cd592aa620c80f4bab8e850cddf849d69bf38ef774a8d00179f4945625c473b6343a103d36252206bb8c332b1c70923d10c9cbb2013edbf54be9aef315a4b46198ce65f265014f571a0dabf3843c8a44542cb31ddba9d8f4fe55dd8c8d3f3bafd15db220ad3227e641a1fb9f3fa91b99781fa09089706ccc644bcdbcb4e6e23811026603082a0e8f3ef3f409f3d1b8cc2cca4cd4dec3ef75dc2198c8d14a44fec0bbca045e50ec7f2c625e736e937f60688f423ec6b25e415dd32ef45ee47cc6b5834ebc11516126d84fa440c702bbc3e9cd4660cbf119752b0bd47c8f429b2a4dfd00b22c0d578b78c03e56f18aff56db2d18061e90353edd77b1e47142195c914548f5181c52cf5e07817a4496b1b7cad9d4cfdb638d2d15fff2e89ccfc336b930a6c1ba34e202952dba1e621c745ff898213d2b3445918af149c66674ad75868361442723187257f574f53463161bc57725d0a889c27eb2d34e4ae3c0f22e49b7721f4a7bcd716f3b0328384afaae4430034e4b8c1c83e94f73ab03e15a65692884b4f5b03c77128ec9498b601b2c4bcd016b67f085bc402372f80dcf15297ecafc6955a48e6ee8c26fbcccfe7fbab7b3c0a8a875f5460b8101ab0fc597edb90082f850bb5c25d64356f6c1abced0401fc01f958cb72d3709620a7090c16eb27a0e78dcf0c699c53c80cb2ed0a83cd226afd6fe15b7ceeddf7240a780e9d56dbf06afc8b3717ff0f57ab8dbaad7bf39daef1126ad990387ab39babe443c0b9fecd7fd8ab1e6949d0ca22da4be989fafd6a4495ecaa5ec9301153127d1dc89413d9cb6133074ccae6f8b699b6e0d864ff925975989f27f9bb367b2dfed64af877bf0e4d484bd68fbf46919efadadfa49fd7478b31f6b7ea88bd373fe955146da47ffbdd3f40f36d73d4eb2399910b79ed002ad8a5f540ea9ef4face629f43a18a64c4644215c4949277239611f660fae7d2525508fd73683edff5350e1d72166060fcab4f964907c96948305724664606eb1b0837de9c7fcef2f7bf00a11bb765f441c0178dd58b8c766e507630b96a8c0fc45ca48e6a88ba5ee1e675e45fce7af19d3a7b21d49277519b7cd677933564bc20934baa3f6e486e896fa820446d4f5449d4496804c2539b8729fa8f028271eb2c906adbc9289f803e2e75284848c7b6d010b7b92cf5abee37dd62ecc0a92123ba011966a23161f071d282183f88bbfb7c9ec642923d7103a43894f68c2d25c64de23df3336d030d04bfdf3256b0cb4640c1b221b7ee9486a1a18fbe49a3d77c7d9cd5add43f6d957a12d5cdbd4fb4be7e3cc3b05c0387d0dd1d5b441deaf736c7796c736952f8a2d293d31003466cfd9d4aa9e886f3d3bb77f579fb810a2a9fd89ee2b3e8e1bbebb67e7b6a0a09c1026973b1c72123d8f2dfbf3bc75686e4e2ebdea3e5b3b4beea909b6e442cc872b197e5dc1132ca45c75b04a90ca72963ed6b3f537f9339114877801c0ccef277abb498417b052350b86c06ab89e7b52781c8e551a6a2437ccbf34902541dd32eb922aba837805f1d178aed5c5f84c13ecc60a26d56a7fa70807783c4de2781908e7a7bb2cc9023668b038a670adf330bda6eed102480f8734d520fdb333e50af3178c4646485fa8741a236ae8c3b1dfc529228524e710208183a20fa95c0d4e44a72036dcb6d97b6578ec5b70dc5a5aa56cec3b400022e32664aaa70680adb8950ed369035f47f06c909956bdfe4a81929875d36709e6a550e32282685edbd3617b42aad5bc7ee7ce2980e80f5faa86400f21ab3604bbc36639ece2ec14950b4f5b7cb624c3714808e0dfb0c013d0272c1430d4997b8558ee0a147c0c115a2b253402a3099af2763972543b08a9921cf749fd00e67162dcd5b0abc4de1de9c252914f106a11ecbdc5bfa6c3022636d305d58e6e0bac59e7b34980b9beb0ae136b287906f4bd8ba607ca89afda9209d5d7eed3090dd80e1b845a22b223d1a13a09ff32a5cfecd5784c7df902dcfb5edf83a0587e90e531a7c6def4ecec5632395854bebb6e05185e98175878abff80a29faa378eaf14352a906bae3a2092f2e70c33e92b6989dbb37be37a0aa6d9dd6740dd778993ccc006cb5c2e89374d55683f70a576e5fd030ced296b690e8bf1801f4f885fd6eb4eca249c545bed2fd349cdc03d67d3d9b4d3b643c53c4ed9931d40f69497d65b7487b9f4b2507a0cc8afefaef5d9128ee4c0aeaae275b86748cffacceed1c5775360e499ddabf6a612406af627f9573dc297a341e08b4c53a8cff9694ef75a472b0a43ac815a0dc8617a55c4d678990332f8503560c14699f3bbcf14c4f97b0773f638a9007a46b6122950178200e67ba70407473b6db0f8f28e50a3801576a985b13c2b1404b3ea04832966d8e06885399c7bc793ba2537e1122e1bb1fad0efd42b5a1114d640d9ec2b3764ae3749a70661ecbb5e56a0b57db398671c489d59da67bd7d20c1041e902b52bb2b5707ba346d943a665e2fb47080f1bbea16b040b3a58f1861c86d22dbaaf904cfa7f9bf0cd82166cfdb64da6165583d0d5071a379de00170c04fc195736167eac475674e90971e5abda81963f64e2c95f83398608ccdaef7bb095e18b078cd33198afee3a1bd20c926a91780d6df98e562427270f9c17f1798782eded15bf7e44d323dcde63b8815c8657edf811639c31c42d108b36962e205387093e9aa495e5d1089485a8a97eb5c3d0ac5c7bedca993f75f3c2bc9beaeeb5629a63f24893cd74eb44458cf9fd92c9b06bad10cf6924f628b6e6c5b4012a7f2873efe943eaddcc9ac1c907da9a0fe1c62e29973b4ab8ff49450065057a75f76c1031f1218f1c114da0e50eed0291f3eeecd78ba6a2acbc7ac69f4a6c664589ba25f447325855ab13d1e3d0714ea185b62b9d59a78b5db0273928a79bfb36d99affc22d25f5c7bbd0336a7273c4c5cd13ae9aa6d7b2e61d56554b8dc776150e5ef5bf8e504d3845e76f2552b3a1ddfbe22cfa59b3887d5eb5dfd2befc86c20b178bdd579201801a4a3666bb80bc2de38d45bc669ec84f9caf14912761fa9bdd3ba70d843853eb2373cd197dd373ae6ab8344205623f10b11ea5714ed002537f35669e7d0509bded183fd2528442c67921ae99ca137f80dfdaf803bcddfb617e2c3f0f684bd316b697f5f86d63e1048c1efb9d82dc8a92fd703f68b30688dec1f7ceddfb72e3f9a8b611f538e3d89aa95c241185662b0a349043f83c785da2f906803f59745bacf5aa88b750fce3c14fdd63e06fa93c42b0d8ef20ba5b25360727f522c4b01d7691ab8c124d16c8b6771e67ac31f295774339a258f62acfb37ade5971fabd782847d07ba25514b23c2e425c5088d3b52d9fcafb827b40385e05af113009c2fa7f08d316f544df4c75976025e44a5345e106c8e35f257b9b726fa40e0c8c53a45cbec9003b723457769d3438fa025d5d4d5fe3f27f606de68c4614a832adb6ed2f2fce5eb9f30796a3cd7dd3c549ddc3f62ef0d2c2df967705e33dfa17c8bb16f5aa948c030cb0fd2147460f5b3997956194e19ba76dcad245391d98dfce99c6c3b4a219d0cb4947203fb5ae60001104cef3990e50343704153bee728ced0a8934d5061778cefff4038b873d03deaac3a60fe80b7b7738889f43c6dfaf3f81deb8af946424e06b5c5a37e28c29a5e88fcd9eaa6844acf6109363b6195a0f1d7fe88fb5e2e1b8ed419853c5ebe7ed5f6973719ffae0c6294903ab94c52a1ba93eb04d9676f9bccbc3950fc619c82ad88ee3be1cf0de85052b1dc7eeac5c5e190e943bd4ac185b7eaadefd381cacb2a2030ed698fd121d9bc3f24fa7e1d7c341565cc07ccde13e9e2c2a2f9167f8f8ecd6150534c4a4d76c3c6bbbd0eb3c565c44312de09e4947a42798b1a39b1346eafd91decd26f115b1de64ed6439ef53b94c93d153ec620bf2a9ea6ed96d31825fd1cc87ae2440e877f43a5e62c80d486b459bbf1746fd050a99cce5d074a5f042ff35b03cfd78e21c4037a68d5bec4c2cb9a9a0ad26f12041a327dfd8c1efe74076ed8d02ad0bdc9c6bed62eca6b8f0b20cd8de4084e0b5824d3f68656f41c34c0e72892abba343e3d9d681bfb9a0182a15c2c126a07da5d683a0cf8789bf33923e263d0ce2acbe3aad2a7fd06c78dc462e4525228d3d6ea1b352b54ac960aa298bb0a7918f0e6240eeb92ea85d0aca0a0882400e82755068d86440b92fa3b0e0afc25cf74e98f12e2a86a07ab545bbc0ad59604eed846f000ac248dd367b53b54ca11517773d6a87ffc0d42718c7bf26b0f3faa2c7f03178e12b7b391520c290b1ef071818ce55d18027daa69c2a9ab032c45723ee691a2c221ce18cd398bd09c334b00500168d45148c685c09cc85bf098c2aa3f5f89efa17d392a344990f06698287ec42d9b295f9ddfb9b07f1661c2598f205cf99b02427a9e3adfb3fb0d2d479594128b1722396aebe393a43bd598b2b28bd0b182dede80417cf0bb925a76201b069cb9c4ce2298b04c3e49b8cb9e23d9785b7781e250733fcba44ba47b5c916b7a3a00ceb4a74a263eaded0e73ef61bc8cd98aac39fa9a6395bf94d3525c7c7b85bdf80d3fc2eb033fa6cdb058a3aa78a5d0aae13d64e31234304629f3c29df1e3674e11a8a77881cb3b3b3570798759d77ff5aca6718526b891b706f48c7ed4e2e78f56d5a7ad7ce95b0d16b1fc70b534c75eb69eb8192a747bf0dc7743140cc09ccaba2b829c81e12fe88d05fcefa1f5009aa6037285f80e80285f897a0de3c881160b825950d621aee29767f11d48736cb1d146331694aa767f915ff94fc5b0c454165944fc75dc47df7893d951abd0e6d0e33df78fd47d2be37c03fdecf11b4e524ef3f2ef222d2d7bd9308da0166dd11a31798da62e942bafb28e3a70e1516ec004d2c2e5632c7a0bf407b8798bddc3ec8b3fb862988e4e5fd7059bfe9c61c48b9c0f04a503adb88620dc4f7691e13fdb3ebdda152d3f9e152a3945fd5195c4d97db80cf112ba10c1c2de60426fbd637f46f8aeb25e3bd6834539b361eaec8bd8a6d19dd6d3762e4748cff85d6eef607fe7e6f24b88b16691b09f21f081b007a0775119bfa266685fff8c0084413cb506848fcb7ad1ac5fb03e2b1887ad39c770a61515a246e3f3dc8dfba370a76f08ccee65c969075007572783a087819fde1a24b9a125d4ada3178618c91d2a9bf2be56b5a3eaa1ba2e5bb54f99ebcf2c9925ad834de8828b4b82acaf30f905c04ac4dd4763bdfaf3bdf1f20f6956d9d81bec0c62845268029fe9b1fe27a98f096b23275269e06cfb790ce406897783cc5a46e281e0fdf33d8bc510dc17d86d738f7ac647506f6ebebdd42c4649fb1df21d6afcb2788d0960e6864271887b5fc225a39a767dcdfa2b6287cb7e9e4833de6ac8c0e059e2a857b8753a1cdffdbe137a45ebabae1deafbf565f161d8fe5b40430f23eef069301efb6d3f3a1c575978f3bcd3247585bd0008a5f5086d05e4cc07836c9085a4aee9f002353013951369ce4472c03d110f1502aae464acf875ea7c95a1056d5438a39c238806a27d56b26553006c4d52be44fe0529af1a1589f5207c26dcec5fc12ce7c0ff64ba3f840b766ddd19067fe1b0be40d88fe246020432bc0b65ecd32dff5783f1e50bd208dde28262cd050818e923031088758c0c94d2857fac47a41cf88a1728cdf7b07327ecbc68c49e1ee4d6d53069fa3add9af5376e6273ad42645b487ad0f5a5d11a39182d6bec23fffa696c8b3619087c9b085894fed39092867120b162ebe3cf0379771831e50d43a3b4cb77dcd96495e9cb2bcd41d7e2f4ed5f658f77c7780ea8acf281c6c94123d8eb5999adbbb191de2fa2a0908cf92634a5e201a0bd950875e6154c3e12364b971282c83a3dbf53f2f9d9a5821df814c83174afee2e24a65279d94f24e793470e3a9683193755e6ed9d57b1a95c6939061c9890faf7e2b611d01dc48eeb56a9b08ef4794df79715cb1428c17b4fbbfdcb107efd3cf19ba9ab9aa87bf82d026007cca82b9cec414b7b5fc3637242b20287b2ead16a59226f20bfedd05d1a645f1ed86c81adc0da966d66102667fe735b0b260261ffc01d172cb3cbd75886fff0208e11a113b9291f40b36ee27ccdfaba77acb4225318738897570858a0ee94572eddc3c15c358f2b860430bcb0c8bb2fc0b0c6eb95bcec7154b3ea41a042519a79084850aaf72b19cbebdbf443484a02b620f7dea4412939d9073f966b412150427171ac0202341777e36a5cc89d90461e3cb6c00a033403fdc78a434fe9c7fefb9b53167a64aa85e7e28dedc59a3aeacecfcbd427a5f83d2b7429685a397837dc183bd40cca45d01b8a1c784b8253c7101aa1488fee748e26637f42e9fb602080b0623cfe1459d87ed3f7adf46c119e88763f6deb89a3f3d01d7950e0525fef937a3c40c7857099fc9959593b48f1482a3ad5fcabbe6c1178185601be8ab0ab87cc6d516848ebe1c842890febb865dee9644026509cf7d74cd25f83fadc17e2909ff636287d2eb68d522e96e7ccf8bcd3e0f767a7ea8ea531ed961c1063b27ab5f98efed19362ea7fd515609747fdfd213b6380c18c8d416f0a4d90f7a63e6c200892c9386fdbb49e83a07100425e17e05ea9fa30c27bd27c990c36a1e26cb07cd676721534a8c8dffa0b4cc20911e04dee8b10340acd89bae75f29de64196af45b38ce22a91d7c6daf327ac464648c1bed342813d481605ff8e2d29d35158b16debc08a6361d7bb9b9acce007eb49b17c90e962abcdef0cd079cbca9590140c205be40db477bbc9995f9f96c6fb09d3e7b48040475d5e000441a0ede49e1633fe8edef4e05b432ec944d1674faa7617a8c1011d4271c850996aaae0b159de6a6d8b189567dc97a772b43f6eb2b864e13948f6cd845db86bab3d0f61e97447bed0aa48606fc012609ec175918284f8c821268dcbc2055e0614be43ff6d542458a026381eda3f6e8aef5aaa76fb4a12b5e5a285dfc52f6ae75f407af5ecd376bbf6bfec76fee9415a18ff4c65b481d256f05093a2b0e9fefd2a116199c4b1c8f503098b701fd2dc1f1ea109a60d077b41c14010569ffcb8dbcc78e4797fde05211e719d9525605b6741e30e56e55e0afc3e460bd84b0771a6747fb2727ae26b12e7ba7f96f09ba057cafd0902be9b8c07b6514f0d7a0721f9b14a5a614e0e2a7a037005d73dd7d01478bfd98b53f7403dbb177fd8c88c7997b33cf5a441f8c73ebe17ffdcd23ffbac5a8d707228d633abd63081336253c78911e8f8f457a97c09928476cba527b550a4fd9964a7e4928b193a39dc8066f5b48b758ef73cece17b024d8a8f9b81d4a358634121c17e64b0cf73b85ec6861dce9ec6aac9547508cbf5e1a606b8e1a98dccbe800f518f3c12ee30c4df6159e064c93747af75b009e73ced0bea50a3b13c06bcfb83e536c3b7547b044efcd2f65a5fcb8b3aa4aca6ac00c78dc406a08178d593602d4cea34c3fa96744ac38fc14b79af378abe1939330bd8266865aca89b37773e2707575b3e10b3a41375276fb1bca34ffc8a8657cd189c5b4263fa25e66b8fe964df5acce4bdb718fa95f1dd5753fd53cedee5fd1d8212f8c81ff348d72243c40c8c206b27e3b3297d7ded1195116825eb5bb53e84ebd782094dbd6be95b1c7a7f26edc7229b5097312d7d379d850c0a60227254296262fff7a6d055d51f5301d4cb6267f33196ff80d83bd79aba1c9965bf7309d7a568e01c1485f89c77584b999721f8f7721e8b42f848ec64dc1177c9c8060cad45d4ac67c513246eca048dabff503d8361a810eb9b714c5881aeff3239f04d55eb441a52b3757c7555deb0730468937891d9cd01d55d0fd9133bb9169eafdad69481830a45ddff720c65a10a866bec9cbe566153da731224a8ffee907288c5475c4d70f1a1aedd394fcb3acac8a512aebea502137aeb73342628a7b66c95af729a14dde40cb712952d696b098d7eeb71b3c603f1d0cda078357a87914e3c96e6e6b93f556bbde2608fe8bcf2e12ec3a239037958ad506e6b69e8d743eabc33905780fe7e7f73c0699bfe3f5b25a5000391c4f8fe7f30d34a7b2984ecd728c33c1d683151cd8f65dd2d0eb783f66d921d62efcf54b647807854b5dbc438901a5c22412fa3d0addf7bf757d0d64e80a533ac9106aea0f3f189679dc22bb556a1cda4f5d2eb7a6cad8d1915f4eafa164b0c5cf1e58a17994f1f03bd31b9cd0f8a6c4cf277d20c7c436c5f9cf431e7bedd7d638fee84bca738e7942bd98adcd39d5f9c6dadfea54921bea2e89af23a61f2b8957d1220fa8ee6d49ac58accf71b405e165013c61d4d287eade0a0665cf27fd364a0dd978074f79dba63caa69f758114c48e545007affdd8e6982fa1488b2fc99f12abd2019b4ef1d4f11092a41225fe2fb8e4a6503465033e7611ddaace1798a0877ae177f8793ca47a69d038a4e208caf4aba0f19d232e50f54c718a20920d93949a7a654c81f1403de44f5f272ddf4ad4593eee692d5b7119dacd925380c6f46c19a29bb6113281558d9beb0a7faff3573e9904adf5f3badc8dff2d65ef3084da82d2b986ce733c10ee9dd8ff2990c733e542a0f04cbaed19d42a25ae1201cb6f6ff6613993461f66a3a570ff71940128c427557e470b67d06c72d030485fd8e14858d7e2b47b4641df911bbcd1144c5e2d24e10efcf4972df37e74960ee2d495b270ce4cbc64b71534ba458400918373a136966c565d0c97bbc83ea5b194c4ffbee1c148c5a94773d45d8afa70e0a666097bdbbb026112e8fa1da7c58cc30fd2bd22803d6a0e4686dd97250b6a5d7a161ec12688e120e689b0ac9ac98f74ba6474b6839d967c6c3a03abe9d3b62cabfcf92f811e0dcc99dd03c2b5bbb1b1ad3fd84ecb14209acd1044efa938ea6b463892e12d339f159882367d8ece0cfe0a6b29ce195977eb297099cedb87e4c5991b67ca9815348e9e0d0abff376832ba3a00ebacbb809d2c5a5d133bf1cdf52a3711a15fdd8aa4e21a69d00dd2f28a38ac0598b4abcca76a97c930af9844a3aadff3896e1ad32133fc76367b872224880cf0333bad5367c7fbdcc3e7025670f09e833e4020ecc76972b08d1ba4915997bddf282d47d531227dca5e8334f67b1ff0eb9ada59dd434581e2ffc289b6d828ffe6a8aa773a37f995152e4039f3fc848c5d859c933ef9ba08c812dd723719f0f28f69b600c2b80c6abb279c56921de0ad37a55858b080512ad3d851d598a66bfaa8e58428f1326d3340cbb64648f5a2e63f1471c1fbcc47a210b86030b05010e21b56f132af07c50e6f808ad0447ad2bbb906b747c42ff9d0e61a4b023c2a994602cd4a9185e40955f3d5de585b15d32833cdb3b2bcfbc4d36fc62daa67dcf891dad16f1d7df4e3c6d1663fd541ff88e8a0c7b28ac4cbd7a4e7ceb53e6b3c4a8709cc3c07f9af8b9f310f37e75e25e6d1aa11c1e8a734e44aeec7df631e428511d37b52cdc65b016bf92df747c304d60afccbb3b6e9f55b3d5356bdbac6101c3fc07fafb26c2e3bb07f1363f7d920da79d273c842be759ae1c8a6026cbfd9c9d8acf4893d46f6abadcc0523e695b76fce363acb886a986a9575a466146fa739e11e3c69fb0333ab0551ad5146df7f8d2b1e5b5b6020d81236b624c81f418642ff50aa19ed8e25591ffdb82188c1bb3b2f04ab37701d709385033b62d42e5e9119d7014292ce2306576bcc02b69a889a65eb64222cc80a21f71883a9210fa35b5fedc7a6425a565d5f8c2704a085c543c635526e5d076b00a22910fb4f832867337b868ab5ad52e446cc20f6df93d466b7bbc4672c27dc1b4a3faf0dc38463e286d36b69e11ede209b478a84b74854a7beac37e783411719a334b0474a2e823d09a9ff1a7b2ef2fee70cc0f58c824ac9cefef08dcc633dd9752042083ab0dadc7ca8c5042ed26966079ed2b8c7dd6b6850d6df18a1c0d2ad60366ed78b2f73641097f4adfebe83fb2e7513607c9309f6dff014d46967a9f2aac34dac9bc6e47da73fdb6ac2630122aa8f1bf723d91922ded21904c09b2e838d5a8cd8b67a34fbb4e9749bfb56e2e2ebc31feab395fbb9861fcd1d543e3f55b7169e21c4dff0a23a612f9bfc95d46d7d17f42a730cd033a36585c409a8875ba82747a526a8316932fec98e0d1a15e67a7fe9ab4e4e119f96fabe7e5fa5b2a410a3c8426d0d79bd29a6513a00f0ed33f8f931af197920e8573fddc7eb37dbcac454bc22e33be69e13e1d5cef49899516861104f5895f19b7cab46724bdfeede10ba9d7a5fe69aa05ca62c1c45cf0a8281140a403400ef00ad7de60e31d5af907729292a8c6608ffe3047c3b64b13af8f2a86e98646f814181892a9129da8f70f1497342e1b59936735b714a6ccf0783e0345fba544de557809fa99a43511153bb16c38eaaeb588ec50e21fcc656fa2851a409c73f313d99e1880fce92288327f753e7cbd05ab3ce93ed106f68439855c09a8ec2241d5580fadf8f6fa7e11cd07d184a86cd932c4ff77b115c1fca5ce4ce20782d2f2065446f31c9e065d6a350cb8c27433aafd7182b0570d1f69881ca1ec221880b4d5ebb2186dae0077c7d7c035632ddfd55ae84c7bea4c46594b25c2f043550a3bd97e1c8454b226e9ec6a46b7e9e3cb84be0d80d694b4e359ea21c53a86962c0a5989b546477b863998e78fc38541d0016b0cf01b84bf81d0de3c9f7233aa7b699832d7e0bc5e0fed1b431541b1c01e89aa5015ffc09d899a00526398f7790f29a47936b2e73f3f59067f2c79380ddb84426abf512bc79638c48e98ef7620ea8fd626a48c4308c2cfe25c4609b70bf9f711f1ed077ea402c3538170b4da129661d6751e07b46db12278b90a0cb949779b52622fd2d3cb15e5697310312395366ce9191016bf398794205a9e5960ffd59af89677a0f5bceab2bffa3a8bb14db157b9e550a9795ffcef9afdf1e12ab70631b843e8f1c4e5b5453a92d10040eb4e69882b65e63d5a2be504afb29375cef3d80ddb214ea5d5d1ecc970797e0d0dd7806f42333a480e06412ac9f93f3ad6a5987b869fb006a9a52ca0ed3337f0d3f38e702aeb1366a3d3ce3ae92925a3c894f1cdb052a11757cfdb748d3960d6c73c967d07cac505b0202ebd225e97c48f4a6e47ba83ebaed5fa978b3158639868096f5fd81d89775008012c3f9717454f8f74b63032f22907b70e64cf65cd407d0e31645e32d4964d650aecc6e87348d548d777705c8dff30c2ba27df9b102f45d257fe83c2ba965615e05a4223b851f79a41c31ad02a78ad7d71d0dfb0a32febc9a9cd7092fb382bb66aa52fc55565bb61bfb65c29b5cfa185a1f7347fa3df6e05a0f22a915fca668b6bee8c1b6d59ec3b007bfbad6ecee4abb59c7354ad4347683309b1a78caad15ac8e8694d80ec65c10291649af8c710fc97cd756102d932ba7b26a82dad9810f4f736eca4c799eaff6850dc17b2b7da8952b31c77f9e3512bad129f408e83a0f38cd41d5f145168b0e1bc999b8dd3334c153f5d413174f06858709d5b967de0925360c48fc370238707bcc2daa8892da8491443812acee300dbf09e92e556b68199f483854e865fbf8355f8012f4f9e0c9067017b2d982d7c51d05c180b2100e353f53142b44cb002aeb078137da2c8430d1dae59568f47a190fc22f38607a8d1fdc2d3127d5509f0907e585090f9c6795094c7ac699c1744d51e3206c016035f5eedc329400509b66b81e85f0729e9eacfacb8b1bad89c771e7e44c03c34a58174ce98874dbd1aea8be0f70096adc0172fe6f499e1b42d4aa38a9dcd00c10857cbb6a344c9c5fcbddfc2bdc3e8014853da35fd85f9ae301270b26bacba071ef6e12a0488c1cc1c109bc5b607e373f7a8363fe07e6aea2176c29efe2a6c48facea4b1fba54e8612b25445b2c2d96dc3b4d8125feeb4fdac6e2cee183336242bdf057ded75caf20fb8be705013ae0a892b690d445fdee95491fcb6cc457c19d9082a881c1434b6f789adc6480aa4627db8743d20dff8bae00ad3fe41bd0c67363671106302fcae63c4635495a00207807389cfb2da20c0a009fcfeab8cc290359133cdd678480c7f5d466f5891c3073f5b920a0123c03e2a9fe75754d73aa4d0c24fad70651d029a197bb5facfcac71548e8690b8a762569387c0fd78f4eaa76374a264d0af5f4ec1a296bba9d775508a5e85d61c5642f29def8db48575e870e33eda53e3b9278e73a88496eb361f6828d03f8681bbc16a39ceaceaa2b5ad41f65de1b5a055254e76c57666d1939e2c050174aa790d2b96bc3a4fc21674c13a6e33e9faa895bd0156466ae503266293607bb31d41f3deaf61bbcd9e7de203b41b350201193c0038a84c5f79385eba9f2a842468371d3a1d95f52ffcde8b93ec71cfd790aeafcc850e1c42ecafbfd7771cfc4fb1d76464245e8923942ad401a658f05f81c541fd23f0f6d5bd7fd57bb190f5fd1f3b6f5d68b5d9437eeeff26212fa02f4aa3ceefabe023e36a96ae5087d882d88dab1e58cf190ce3630a74c2677f8983fdb07a97c41309f109f3e7f7c97f81f074d0fdc036f8138400cb5676e2313993cf04ed1cfc0956de859fdff590ad44d9dfea08d972bd4eac4d9c4a4a2d4b76ba943be1b36a8b7d0635e03bdbf4f471825b0495d925f3fcbced0f06e7b8ca90e36428de03637df92c7865c9b0aebb4a344085268507c106f522637d4e09b2967efa6d3c8d2e582650449f7dd1c2b053825d73b6a2650828274c634ef9d54c5dd86c731c3bf06d7fd767ad739c057393ca8edfec92bf6bc06178b471dfce5172d25ad21f6898778fa47f368b9190c070fd109f233b493c520bd277bbbd195472cecd3d400eb68c6990bdbd458c37e520d16845b5002481fa71f034c3613c363195207c47bb498a5182d4413fe00c23698cc632f99bab193200b2655e8d2b7b07884d9f70cd22d657f59a896c74c819ac05e5290fe51880a19ba874e11b54088c895590c19c366e215a0aba0b49c9a40bc5d4bbbd44c81799dc6ef83b6b570860b15d8cc51085cdd3d38e54e802bbdb37affb3391118b1fffed99c7cb3ca7d9061c6a5644c09d284650d3e674d29eb384e199e4c237f7a414134342b8460955fb7d6dd398291fe471bbc79794e52bcd014665ca162ad66d618d506aa90ee6c4a457c74620842b5c7db7ddbb8bf99b24421706002cf2ea7fa837abca7f0fa66d12fa58c074ead466894c2fb1f49d9c5e0f9a5f225cf7546fd044814a1616bb74b3a786a6a7eaded8a089a47bc899344fcbdc404671496a8d443f0e653c36b02f23596154931076c23e5d7d02cb50026f9f4149a8f96c29f65915c048247b849aa1bc0d4fd8619f7f520fbf30d065a0a1c98132d59383ce301c1d48022615eb02bd52309c1df09f03c480870e9300e0683018476165468c660c4c0ac762755a51da25b2055fdbd6713d6a9a54854a33360811b6471ad1279ee2fd3830cbbadffb30a3d36781864b7a168912f20a50b131600976ac2a6f7774001d3a71e97c66834323dc4b053a683628d5220b4aeba5bb02eb9b68165340cc8748ee7871eee9c9453a349c9fd67dd650cf72348f02c799c75b6371122d49bcc51df8b8c189b5ab604d0feaba4f092766f9e615e3253d69911bfe4fc09f4799347e69479d550169e125689a25759cf340ae0e1ce1d91df7db8cd39aaddf0b4778f3fa69949adf463206264d6613a7e8fd62d1ed5d8a31afd12294e1b69cd3158d5d8fc6af210077518d647f754b7947510007135e6e5f5a162243b926e32b8ebd469d17b8ebef7085f0dbbc1f0d0e065a8669bad3576a27e5f3f14aae4894dcd3b060f5dd7286dd0691bbe8ac97182a58e440bfaad5457a9cf81b20323fd82409a9632b01dc70262b9bf17417cab9681c4b8c79a4febfbdd53cb238cb9d5159565579f0bdd2c9e4d61e0686e40386388e299824a665b353b10c997255680a1e12208cf4815eeee394175fde2f6f7126932504b54182f60472b0fb83880d670a2df2024da4c91514937437c0d51fb78f0e455ac0abcdea4c5c07faebb94eceffe7ea81a44b5d9519128b42550ff3de175ff48de71ccc86d3f0f050af4947b67073c52ec7424cc9d8fefee120fb7d45fb9b76dbbd5f8f87df4d06490035d43724d8624b623c2a3578423cab1cf1d7076cd6f2fd0fd6e3152ec528781d6939759e62fe84cdfe16f1bd2b985c95cef7bc4352312096750c5d755fe4e3d11cc2c44fc6401d1533441267f8d79a1926bf36a10ffc5d80d2a0907d633dd2aefa526b8ac56b82b23e81889460bc3b219ce1444063a249c1cff3e4e0697b032d0830ee1413768852f55959d3f166ddbe3f7703969cb0b2c4b5b6a46628af589bfb006d83688795a4a6d89c9273326b9f134564aca2f4d95c60e140e44b8e606f85084a8f73f884d86d01dd24a5293c82f1d8b56f3c5a4eb2a22e476f2a80c597d6cdd534283fc5351820baf26dc0d86041c6bf9f1dead0300a15959f4bd8080f51ef2025f8a8a7f0961842ffb12e3a5bef590f58439cfeac42c7923386dde46fbb2c81a68468b6bafaf00e1d6b7ccb6f7b0b50091370181942349225efc4ec065f75aa3391c2a684ed1a0f02d7a3d60bbd5863c0d43175f17b284b2bfde4a1135d0a63453b1baabd062e0eec1d829fb8e77cf37516de242a5081734e4cdfa935161de2380626e614c8c453dcd588c6c9b411c06c8ea60f8efebdc590aad51fdcc116511f4cf15479fb0a0a6ad7fb2be545489fe06f455acacc58f94ab12497f542fcc2dc17e64fcbd935cc51a9e355067c8ad85526e49619987121225ed0efc0e90be2c65ae67df7d8588f40bd7a462959c9b3a9d7afc9d9bcd8353db85b5c3daddf91e987b5586537821351806e93311c066dab48cc4925522dcdb035042af1fb5f8ebc6950d3b699c04580ff214555252098521092c9ae3dcb8734bbac67f9d5784cd73b098638a7460da6af17d2cfc9019719a7986b5124112709ba59abbbdeeb29739cb4b754d8bfb295920dc45c69a7b75b1ec56487be6fe68238d3739826e4c6f24301224e269b1a6d11fa73b3ec4a08c45e510eaedb38498f2c5c05d6bdbcdb5a7ec7bf986cc528e0e80c5044b12c91f05e7a6cfd562ff44c4cf22b981256ac357c2472ce4067e35825df7c19631b99a64fc008b8b0482ccedac930ab6b30cb40a72b42c2eeb1def1ea81b2636849902fd0929b708a5af40f426b265a55e782820d5da5863792dead990b2b542580641c940ac830cbb43e0c523d7fabe6b504bad09161772647f1aca76702a53ae1648ff4c402c5e24b5f1497652d7c36aee2b00f44e183955b11ce16a2666c31c8fd65efabb5746e80015c79dbb93c481af2b9423dec91728f022f13af7890287cdbe9853608e271d0b1309afb62770d2d4308cf602c2a95c874cf450b12021c2fcd6fe60f665b584073140970f03c4610e01146da75433789b9a4caa11ec141852ab33ce4c7f30e0d6781da2b24730a01b9724ea6298d6a28b6b4ce16a1349b7c687c6148a89317604e05bea2943072f11ce7677c92b93a87cfa200571ad8971bf7f0f1150c53525e17af86c89411fcf307827323bd2582e827940d897e2e8d9414b487846a2106948d6d5fcce086e5d67f2e7a88d620f5d43f6397a9b20c1868c998cb6a34e5aefd09458837b04236f24a81e81e7ea82cbe4416dfb1e094a35a2f519f6a89c5687468b1e12ad477a8e1840be7c4073b6458565f61949c3d3e01b2361d3f8bda4ab6005e2ae1dd771234d14c0858666d0057ac848b6490a20501d393ad4b1b639683191ee516f52384a27f01591526ae92442e00d1117756ada5f327bec9e2c8f4bb29ec2624b0f1d0219ae36e99e2a12abb19b21845020e24a08ccbec2bebdc86d1b221f9febc829860795d05764241074fb4dd37f1515faa3e302bb80c00b5011e1e4c0c1ae58d4397af543ac2bb03e843317856665c42a026c5d18dcc1c9f9bb504ca2a5ea0bbe2b1b8a4799eb2c5a32ccdf931502240e2f0ecf18e548dd3453ae23f0c1e606d8132a4418040e48d3ae3154a04662507d87036a945d38d22d02b76d167dd4ab09a41c0430861b08e0f06a62f8017525dc6b3084f0ac14dc2540f84413bd97c5ac011df1ebfd0d7c3d1fc8bccb72ecf6adb062742963090f5ce216211f72c88f569a1596445171f551e6dacef7c5a1e2137d67a823729e3d3478e7b02c5d9841b3dea08501bfe468c48ccd993ec3d027c0f8d8d265d68e2068c68e18e0485f8ab41ed2f171d0677874004f31d9f18c1a6bba071f04b72935c7bebd8dfaed9f532ac7030a32233c423c322484c4b5cbf81916061870d63285b855b0e71c862682eb2174d311ac7358691c80329653344be5befd1ab0c2daf7dbeda20eaf1c3164cff029d1270cbc091b27a40fd3d85ed82888e8bb6efe325c76daa9b695a84b60cbc67199a7ed6f65593ff9ac0d31d8ed649c393dc099c8b518192dddca418144ba0ce9fa89ec60be1ae82de083da3a20e3dcd6912c45e7ed81d33c9040efef4634cd7d5826a18768570334c3281d1b4cfd7686ecbd32891233c90d58edcfa89f6b26b8f07f25acf05317da59321411dce1b6c2fd90650cf2f11b56572dad0f25ff53ee617647d0be388a9d18d6d1a6013e67f7b138029d85ab93a88be5f40964846c810cd560c05a6b885a1e674dc0dbbdaab106a03942b20567a42a0ed5560b8e09ee27146e8c468c55374bf647c143bc459be5856be19855dbdeb47d96abe37b0647d8b5979c5009d353943010fe28f38d71d11d1a30d6ae122fe59f91b864c62e920b9f88506c1cb8514a1def4c9df1beb39372402f6f88517a9830e0fe08de1269bab2c26f463ef8cf53100c3ce03f3625d9dba860bf75f343447c2b92b6d316958b26d0c10b51b482f38f307ae7ae5c102e8630958dea6cf8ec7933503ed7ce7f6808e77ea5e7822912f5f582b45f4805311963658ebad2ef6aec11aa30c4032aecf983447d7a88fa1dc741c07497afa163810d09a38aae7d0fa714475dc86124599bf33a887e5027316f464d4529bca7839bcc71f6f321421e43f88dd212b150675e99b5abb4a341c8d2fdec358ac18db995c208aee13a25e0d4de3138e8cb1550d99432b3c6f0c56bd4fb26af653953decdae01bb39a0f66f7cf20dd6ae4ea32c6f4c1c7431fe1625d119fe0ecbafe2e6af5713078567c5948c7043b659b2db026960c8c3d435e02309b475ca2561875107db2887e9d0167940d7befe1cc96fd5f81ac46c0e12f7b7cf9a6b31bbd6fbc4c2c4e411b41b64299ccd0aab5d99340ccaf747494cf582d233c18ae2247c47b53ee74ac650b607ae2aa256811c6323c35cbc096033f7e3c3b645d4c17539dfc17972c4c0fd30fd4a3a30ec755e9b0e42dbda7a9404b814ca7a03fea911380ddb6e5a9b58c8a668dd34a9b7063884f965e0b98102a8159d15c2fea54a231a682b0b45e03b7be3d32752fa6b0731697e8df3999f07f5838eff8376d3cf651b3c60a7dedcf53678fa345649ec6035e6a41537a490d86177b03c481c6218afe2dffcb3aa8ae379f579c800d2b283a599601bb6a6220918cf45490da9170bb86702d3ad4058043d47aa87a94bafbdec67945e26397a307dadaab96d3e2096d9c45b11bb630f1edebb99dac7267e038e82bf82fbd663754f1eaede6ece7dd45b073085992ca2617fc0c5124b6dcf09bd71d69616785df52cb1606375c015557d928f955606f41c9eda5c119c3b0b689030fde9f9791157d6bf64b32d86328f4d29bb01625b0289562d5c2dca07745434cd75383309b2d5d387f49bf58d4269e83c328ea9cb646e83491b22d39272eb08e214dd8068921bb0099bec77c4998aadf10768db2b60b35f81d9e7eb873eea04aeabbc5d616a051c0fb5a867730cc8803d1d92b332e0e4a16dacc8dba19f4a285986e4ca34143fe40e6ac597031255b5594c441619566248c17954ef3f4f60958eb47b08ae24723b1e0be52935b6ea92df7a28c496b440e79ab53138390dd02d3de11980852566852f72aa1582d564c1a4a07218974feafbd7145f49ed76f159e330a7ef322c2b60c4140f8c4f851283ec379cb77d937796dfd562072119eac5ba9ad6757345d7818985b65b4a788e25c3b65dc3b10a70528b36707208553b162bee6c6880a53f3b4ceeb644a86e1505cf59640efb9e3d3d3bbec0b64d8bbd796e6a6dc0f529a7247058504498b4f4b2dac0ffcedb01c0202537750404d3d30488ec69f539723341bb1f033814b3d371b3dc16bad3ab7bb00182f5ae2f586e470f3673088389809314612f82d65627173e7720d592ed9ed40a28286977d8cda4168dd76d51957c807018531fc1c1b41b2f64bb5b1456f073ef39e65e115e6c8586b2aca56e586d0758f82ebdfe585a592e2033aed10d3f359308ea41c8d785431a109f4b4e9f61bda5e67373f7bf59a07beffe7fc0113260a69d20846801f3c76a6b5fc2db24b2e50aa29307a4b285708a767a648e679337b62b28b25b8569869a7c15a3bc772704091af72cc138e2d8a695d1b192c1eaf1d58c93cf8fae91c8fd7cc94ff021559fcadb6266ce2fea07ea4d5a0247494c05274049a12fdea8b9f6df4766cfc99829813cf6c51e2a47ceb89500146ed3572db5403a5e5f1241678c6c31495bd3e9e8ddd0c0d7329620d108d6669de36d17fbe37cd4b76ef4aa810b5a4635747292d1698394eed13d7153869ff69a018cf765000ad47b14e6ce178650062fffb3445bfbd983b01c50b838f1a90e9838b58afd301b41ad7ada6f0b406c28f1e5a39209c6bf9ac06e2fa40c6a3b0778d98b293fc4f80ab406a73e0bc60eb6a246ab46ad36426a81918f7bf88a24955710f18ebbdefe27b8119c1d7a48cd4b7670ee266de3a1c9c30f2296e7feec5b06d377226626b6ef65e57c55e0fd0b8ed76b3b806d08d813fe91f23c4a9a987b88ef3ca1d8c81b1bcf16b45cb3720bb79dbc400a05d5f365734a9be2605cbf74e5ab51c2d24d1f7a67c21ad6a575f5fb23524fdf0de01ede6f8ff2ba40ab495de90bdf090de944a70db5784171eaf48302a6b305fe879fa4a32e43b18e4581c408379b0235a126a088d073e2f5c8e9b5cfb9108d247b928f5056f62b113f27459ecc09f5dbcb7d96ba05ea53efff4e7f5184d061ff39bdd859e7adef00fb91e9518b1805685e903261cbe6fb935f417899cdf802abff6a674629eecb08b89803a356aac3f0c498951e15ca66af0591572bec87b4df92d610111f3e725cead02c7b708f2be21c4134687a65574bc5b2d29ea81e0db36ec9c78b172c418c37bbc78efa2681b87a31ef04a15e539caf39959d6516f551fc39e4c428b60bd6ceb1d8c4c8f82f9292e0e3663e50c34038616f6f4274db83801b97678b6e70805924b5fa9d3e26d2844129db4d3deffdc042a502d99540930136fd421e72386055530bca03a80130a735479b729ec367dec333182adbc62715a006c88111a83cb3dc1ac5dcfef584756a8b5e1d793ead714b0695dd57d5349b900d85b0465a8dce99df9b452283db7aa93c91db7f311ec9f4c61ce2593c62484b91a6c4565ffc999445fa13eca88bdec8a17151a28b9a3f0149e4d3e50d23d3725477745a52a6da5abe0b474394d0768dc0ffddce449658c084b30957875e304145e90b089189a62085064b8a05e7f40037463e497452a97f7a276e91ce0d92061fe03f837a568d5745a82a510d99d5dab75bdbbecfc865534e18ae3a0b35e6744f357ab29f7c4996d01d01187a0b5a464f3bf47b110ecc642d632c4d081a183196894ecde036ba402d9f2282183b75e8bb6e0781697a3c2cdd52d8c89e30f4e48b52bb819edc27e37ea241dd90e759aa0515f697336deb8e3908ceb5144f78a4db5c4b1467a82b03cc80a7513183fc83d20fcb3c07359d13cb6e10ad447e634739fc1a6e1911e3c495f9924a35f0e44fc1a95898cd330c0d26f0f506d32db992ec708292a42b05ec5c51a98865f0286bab77e04c45c9a20a61e918640ea9338f2aabaf0918223fd5cb397bc8b88d2f553e1cde4861d33412d8c5f8c5cab105b72742e9502963ee9749d59767c9ee847121aa392e1862a242e38b296d96eb2303dd545cdceb6c6c7583cb9271e508a5f31654ba27bed52812780439176f064a81c7797e24b77d1ae8c7b89fa4c7546b26910406f816b2398db2890f6ae4dc900c5c1026e936e2b0c86dc167c044077b73b0291b092a6e3a6fa66614ea54695211a1f97dd55078392ad1e663b8a14c40c95706deafb044e3e4df0b7199348892a59843cff65404e0e11966da5859d4108285a2d06620fc7c24c584850f356d93959fd0c3c184ccf72f7c08f9881cade00e6e4ce5b9fea3e50201958c3fe0c725a997692d477cf6a36ffe3930ed0e7d69a12518520c27e31806986e00438db7e1f5537a4481bf611b0154ed5eb4eadab35584739360324d5d9cfdeb49e37d3f1f79b062559c965d665f350c64c6da1a491d22da4454d9fd025357d52056f77a9b65fe2a8b3f5c6740f10f221d2d3bf8f490541cfb3939c28fa883a7001aad34c62382e1b5ba759ca01ec9cac3b56e9c13f5b5b4e51ea576f18451f2c4efc3d82d2614d37da90a16d2f26b03406b45614f9d1a920e7e1ac48f41b585bac101a5cec586c2f97e54647076fa21e4c370b74df7e73af9c4dca46d861324f4f6127e9c95ed79913d0b4c72b5290fe880a1071a8a10021ba15f01aeeedd1e5c72f7daf7790cb7ece3fe53b1b8fe483b5020c38b983ca89d3e5f322a7489672764578a74ae014c1e2ba375743b2f1e9a69011a16cc149f8b154013187fcae920ae7aa0827cc015c9ed0afa5bf61a9a60cdad0da351676c7785709a2ab44f2f200f7ecb2e82b88b74f2e41cf1f5d738926b439b79e213703661a324875e33a66469ef03a8528056e0caf59d8582b7ce3090d389f1223dce57dbd71ebc2f90b2f6026ed14583b95937fe3ff04df1f8a539b6277fbfcbdf05fe5fc042e5fd271c883286663a9942a27823d4dc1e552222eecac28f8c9d1bf419d35572432545f94ee74e866ccb3985b0b325058a7eec52e7daf43738254d7da853d256cb5d7986c52b18cfcf126f994fd086bfbeccce43638ee1836d964ccdaba2bff0183b27d414e7309ed76f1d108051dc8d0cf7c63abe70c0c96e535dab6a1e2f0d027c1ff4c481e4bb08a4b2d7c55745ae0e0c5e159d6b966410f024660d06674eac327e18bb0bd715deeb3d57225ea86a7845e4057b7797c0e3f65b74aa65f56c187cadc43afaba699ba561dcf8956de16e076d736105ad751eff98e363019f6b5d79df238dede1b810602227754d5c0b900183c39fb4b12e9ce4d10d1843e80ca82a592ed79e4314747e34d4b88ae9d1824bfc6bf9f6b879e1f1dcdb630a36230d11555a63d21692c9fd51067e0f26055abe1e12783d2f9d67b18706453163479e5359b6cd3041ff8943dc0f1a0c3806deb0ce7c6bc48d50953e085707fc931ebc6f08ccbfa4fc70cc4567639b96adbef26f61f7f62106cc0509d4c4d93f575e14627b40e96702db1c3e9f0da54ef25addf10a2e14945cdd008aac10cd3bd90bdf2e342ccd69104b172fd088be06461ff09a80761c46d21706def9c317e3901c200ad6dd13e600cceb950379e4278544cbe7432f637779be5f9d37aa39c0f33c3fa4c24af32fb908fe35464f24cd2fb4712b586ff9e284a656b2b1c3ea137148c37f3617f8ffbbe33bfabcd91499cffbf8976cae89b050e486a184c513fcc53a6c0f0130b9d69dcedf10ff509ce084b95ac48aa87a67b69f184821bfc744c5d13d3d527f3f1265b1d35faa510c30cc13df1bab19c6ced14e89603ce4bbefc4a0531da85df4c9c959f661da36ccdcacb24eb22ddb835751334608023cba030ebc45d80f3510b8dba403fcffffffffffffff3f3042df987d1b0a63e4a79492dc688d9ca1685711aa496f6b4b29939429090dfeaaf88f86dfd66ceb11330f2f0fb877d9b225ab65ef512c6279945fa5230afdeca6add041bcf4178ae4e9792eb5ba4a881214aba5b5a89dd354b776fc13dd30d97a5daced759d278efe3a9d500f623acc9d58ed56a1c550fd390b3927f0342fd51a526c579536e178105ba7e89cf37fd3046637eb5bacb5f7c5cc843a8737a944aad13abc983894f434de73f664de5d026de366ffde081de60784c412fda9b1454e8e7aed3995509a3c61ea7acd63cc324d036303124a302bd4f5a6da16229526911af7af27edc5a7f935892456fdb4279456296ea3214316660724913808dd711dc443fe9990e04df7ecd95a8a57327b83e411e9ce163b7f545bea24f51f41481cd16a91aa3dedd23fbbfe80183ec2f0001b248d5829919121a4da697a9c4918c14813f131ea74166d97d1248b70646e8ac99baf8d780c248a38faad9debf58a5d3286039244a8cf55c7353526a61255545448b84082084f3deca84fea11ed41284c7208cfa49061fe62d8b8da0d1243202732d6f4912bce9399a681f911064921aea1c3c6b4a8edf01f072484f8dc4c07b77b3bb5853c488bb3b06c86c52019c4ba4fffbdbad1b6c5cf94804410caf84ec2861cd541e499a6098324108d29774bbb34e19e86409a0610eb591e4474c94e2d46f207a556625fba6e0ddb10971f4dd3344ae287ecb34921e64da1e5fb198fd937565e86a8a87c80a40fa79922e6bfbfdab735d3341918222caf247c48e8b231bca3d87a779641247b40eaeb94aaa7bcde84324dd3ced236880b0b9a26880b0b86b8a4d134415c585016891e0e529d98ae53a717f3659ae61cbd6f1a377a90e4a1db69d612755bbfcb2ad3342478c0a60d25bea56ad553f580d91e3f605096e40e4aa974eb9aa748a12f891d9a9fcad3479c8b7c5623a94322dcf3cc127a7f7a94699a185e212e2f65344d919827a1436a8c19b9f7e26c8d7a0ecaef922fc5502aeb3f7190c8e1181f86ab6f3f994fe3a0e84e62963ea1a5d95c84040ec8182a3fe79e7da3cb90bce1f136177fe2b5abb73c2071c339ac8d9c1d9ea4c997699236e4325fedfaa45d6b39f91a4420614362c67fdd8b7d2ea78a83640d99f02e31276e302d2e2b4048d4b0d01962bda5d69f93d2807d9a296788afd739a70669f420019019c080040d0d753962e7916a5adc20246760753c6d15a65b46ca66e03e4777d8e928373b246560b7ab6a212aa2624e3064684831a2a4eccedd71849206c9187815a6d3c81297b199b3300a48c48009e16a7b69b1fdecc9344d8c071183240caed0d13f556cc60e4399a60103aff4df52ee1e767d8ee40b97cf965143987dae36d3340b8fc40b7adaefb4b5165a891033fe868b90a64983a40b8d313596fc8bade48cc3f021060917d0f1b346cd79522ed45820d9421e4dcbd01e85bedf181048b4c0ac901bbad650596237c63b0ac620c98252a510a29eeac5541510122c24c27370694a787bd6150efac475d6a1f30b31b97ccb193d20b1423a6af99966a6abd6835996317c40520557c677b9f61fa5f68529b26b1021a1823a22bdfe6f8717dfa901c9140e3d725f5a2cd3a1aa4cd3342999985d03458c4622853b4d131e75d0e5769e28a4c5ae5f65b3d7d63e5d625ace681a9798961512229040e1dc621ff58cadc6f6a84cd3c0e12d6b344d262606499ec0ecd53fe5f7a2bb74991edf42e20412271c56c95ab1c2ebcef34cd39c41d204847ad92fa4c8f3fe1c319e84099bf44e1d63c90f33c6324d73860f20425c5eca601ff2a36950986409ac7bfc4eeb6eebbc37d334659028811da5ba39e7ebba641eb3dce23206d2385ce000d2489290778e8f75b3f6cb1265525e506c4082845eac51baaf434cbe7984b4a7b5a3bef64e3f3b6da0944162046cb5b9f89dbca8a18be131488aa032b16aab64ab3ee59210a1b1dbd489d91efbcf86c2e2d28414f9d1def20295a679711226900c21395e23de64b80e351742c3448cabb9aaf4d201832408c8be7cf1d14975b512091076216dac156a7c5d787e70dab7ea1ccc5cea1052699a146f1a6e78b90640668062860f12ab4f5eccd9fe9f984bcbf28fa67959966598337ac05cd5ea3fab1d86793cd3342f2e6f2ccbab04596161f1a67141d3b8c4c4f84b0cccca0b0f161eb3f353c7d9aa3d0d76c0e7da8ff65a987ed2334db3a2f2920398a649f1810e123b9b0e9e2f86bdd8679a2625850328247128a2bfcd14b23d48b53c0887cb1018c4d19ab6725d77121d7452a669e270692a6ef0b2340dc0d1f0151fc5db9690d1669a46c525a66964f0066fee3ac283d8ae3a334d93035789e1a649b94446d3b0ecca8bc3344db7e4808c6d1a6789694460dc70966d7fe38508934881c84194febc2db1668a9712b31829dea692f267cf2b298049bd6347f93e61420a214de305edba66792cb1ea96520e7817723b4209d7a17c212a2dce5264880b374d4a0d80cc208d21bdd4b11d3fa8a7a7180383722ecd70d57131e6bab76471716928a8251d3f28ed422b5d437b99a67189695951414a44c5615e76c80959f97f09f1364aca5b2e3c15b038627eab5e660b295b99a6699a18ffa1dc48cd3d46699fbf152fc3c1695d2da554f9edd5ae15570adb235e761c29be4cb72e4c681d639c7a5b2648febad74eb868a5bccc80f1acd19fc67dd2a7a3bf2b736f77d837f77548334dd3343f9a4e7a60dc5abd32ef535a4e45349839ff3343495b73c6e6ed4e52c79423e4db34dde242bc5149c1b64cbfa467b1529abf2878036f4a5597a57a8596b29438fa0c140fd2b22e681a0fd2b22f2a50e1f7fc6e8daf2576261b204baca595ac2719d30ca3778da6f95103b6d6596b1dc4a79db669c0e9b0ce4dc735a51f9d417aaeb6b65923fed34ea669544e06fa8d297537d5b33a171831e8644d755862af9cdacc688351fb9cad8596ff23d6342c2cce64c080354c3e0a594b69e17b09d8f8c63aa5b38a7ef739a1a0e005978ef2eb65ccd0313b084495e2624d6ebe6b4d7100e5fc50cc32b9abcf3cfbaa659a46b9800f9121a2aea3afab659ac6470b1032e6aaed377f9e95dc046bf03263bfd2b2e4eef699a66971169538bc5bc25063b553e7a8a2de422c51a669c648a3993dab42cfcb5053cf340dcbbe04e91d52464223e93532f6ec902ab62ed334bda29252a4258ca629d2b2c7025e9d8beefb7b2d959292b288a0bc78cc192863344dfbca90a679f198150ea0a8b4aca80c7179e9a67989715941b7acc0d1424405012a689e50a5f6bad8793a97691aa444546284fc08ce68d952d1a19652fa559f691a1835237b999133f59810efc9b8a8b0b02c378d738b1a2d65344dd3c00c71612958baed29f9553e5a473341883447410efc470a101f6aa0c4ac8821060912ca5875562562c7d9e75b93d1b2356a2a3531ef7e890005deaeda39a725cec4f799144c222c4384aca034cd10212b4d2384484b1a63285d46850791b5bccda64911a351aa6e42ec513beb65c2b8c5bbe36bd9889e6da6695e36c324388162b7d42a3dca9bb5c34cd3bcc4c0a8a4c000063d628808e1004a63027692a7227472594a2d659a46e5058c94f327992e745a6a6b17679a2603257856e72e0f42aa37f5334dd3343142be69368082a8392366948cdd2f94691af7972783047898672be56c29d36a429a06462506c625a3d2f29282861fa15d67dd3d59a3679a060e97972060b0d3d466363a7dea56b24cd3a8f48b374dd3a484e103080a3b1b70ac0bd258788871ed69aa632939d3341f50988cbba55b0b1d4ed499a651691aa4425c5c78a4c3be081762dca892ab4cd3344d22c57da79b969d2ba458a669608ab81b2989bd184ba77137c67a34d3342fde829874bd5a4bd34a94aa334d03a312e3419a26a507cc0f14c4641605e684b8b8a804795151e171546088bca8a8446004ed2a9a100460f410c1077c6020041a00018c073ee0010f74cbaaa00e8080033019d840073400810cb8b8bc44000320b840047a54c00210a800cc0428702a1e98006240021288c04d0002422af080f3975779718959071c061af0314418702a9e5199c002148094020988c3058e980a204013f638c0c253417763599a4aa68701603a500077c30701623c480706f0b2cec22a2a1f1040cccbc6742000980100b4045981b9008ff3c08e0d9c60ab9c1b9a70083b8cd2a19281596959790fe428f22b2ffe46064c54da553650722afe86b3a8c4b1422c40722a4182b8b0a8c4c4e1101871001912a0885490b8906dc9910045c8026665c80e80a40e230310c0c8238ec0863046460ed000428c28200d34e0218091471c810c618ce8a845284676cce18c8c9044220d2ae8311280960c001200081e3a96007278a1c7c8c81a3a72989494f0181939c951423252f20b9232e6308b11981730463032864608ccc2815264c81c5210a46525665f88c4acbbb1312a2c2630253c46464c5e465e5ec8b8418f96a689851c5030320286112ae0216683acbcb15a181931c981cb08e0c08626488e1de4d0418e981c39c83124479018e428410904487e610212951cba80c35b749ca0072d34f0e123a5043d3e1047af7820e69d058d0b5ed4887967418f1e3d7ab4d060073de2e815150fd2aee20937b44187175c4a90f2cea2a3a5042821e8d1e22c2a2acde262f205258ce44063e4441130cd2f30659c1e29390cc106228c78bbb4f460c31a23233d9a9816f721fce07a88a0042500c383b4bfaca10a302f23707f8969310072c61861ac11c6183d507ac4d12b63f419425c3886881a2d67a0cbcb0b1970b8b03c0b0b91327ac57096b666b0208e45036664a46415312f2e435c5e5a5ee00204c6bd8c189734c870710132645f80b8c05dd230c9c1c824de008a91911198969515fc10c26db46ba19d85481a2323262e4348fa9c85c5c547464c5a9a650506425e0d1696309a6505062323262c2323266eb410f99111131cf48ac90a4b5b09d242a48c169734fa8c9111938cc7f80bb7b88c11c361bc6064c42408fa91e57a9845f6e5a5b9b088716d601bd9066a23b5a16da836561b9e28c30f46605ec0389b8121e2435c5c584800d3230d11f4e87d1687b9c1c8c848173ee0011864e30c3248606464e4b0716c08e138d6c06ca47178b71c2ce2ce6714f115a4a05956326314616951e38508cb1a312fbb46917611c379c5850d3462c210e2d2e22dc4a5658d96cda0d167146917316256de5861595e69c9b00361815909e22c60d9155e69222ae8338ab484313262b242368d15b2304456800392e622eec6c888491b1931d91bc498a890c2063570212e3f80c0a0b0b381f746d39c7ba369ce1b291ff08109a302981ae82d94c2ce060cccb2f0c223b288202552034c4c2223237c00430f605ec088d935fcc5cd181931a141d3dc1b2664908831461a2f50814a1b61a0e1d2a292802f98e1de086364c46406263218834414435c94177cc0bc80d1233b0cd005488c8c909408291101cc0b18236db89020fb9219323292b21085119817305a545e3c66454588cbcb8f80fd8d12548c900081790143042210011670f0302f600c11f2920902102030324202c71b576803cc0b18640cd91720ef2e8019b268bc1a62bc1a2f3e84c80f222d680b039381593360dc8bec1a30ae83951f2c2f2e65bc1a308dc88f218b06cc768b070903865786b800d9984501194384bc98013364e1f8f1e252c6c6381a300ed3e2b23246b7acaca0881830bd6e461830303dc20498173082b4ac74606464c40652a8c0088bcb9015d2342f2e311b05448c8c8c1471371a7f0163c80a19c18b4b0c1400d123667b34891b46e0425c7e0459c181bff420c1e991d28304ed191822439e808991912760c133ed84518c8c8c10e917b0a088bbd183884bcb182e7831e305288019c3a589fc7839c3db8ad1c307ca8b4b192c6d03d02b2e6c344dd3a8a8b478f74a66080c8cca1021445482acc0bca4a0e8dddddd39b69426947828283a5861417971d9971d82b262a078dbe602a4693c665f58033d60b6074a8cbbc12b31292b30310e03f3e2b212c70af1375682b0b3d1e2a212c3b21918f78f69de29291ff0400a4a1c2e62344d7b1c2ead697a45c58714895179718989817111a212b32a29876fa408e1369ae6bcd129292a70ac91913740f1b2f2461ddeb8c1c8c80818af80370e0006114a8c8c8c8c104183c80062faa0801828087171796171716937e8e119200a88b9418c0746466010d1e2c2c242e4619000d3c6c8080cc650030666646464e45f20313202c68bbfb8acc3f13204062f251801a387eb60e5474a4a0a0a4a1c2e62a8c0b12f302a393863482d867441014358a080212070a1c408181f801941911717212ec4033d5c627a38cb90156e5929d2b245608ab4ac676e70831e302b3e6e40c465332e2d2e4b012e03181971986759306ed0d25a4820041542a42044084242c0620996232880e5052c3e4646c0707149030c37605602dc8aa15cdbfc99805aa6e43d8c56dd59cfb820c712f49351371d748ed81ba6053994e0a7d46175789fb56a94230969e44082ae53497bb99b6a97e3087a8908c641c52d15ea4ad79e3403248711981d36a4ade94a77148608398a90d4539b323ca5b051a3a0083988d090a263dcfe3045cf4785fd0d9530720c21911f73b61c9de6e9cbc0b4dc208710dcfff479fcc43e793ff3230d9816cf1184e75d07b5f7ba35c52e0710b27755f3a84fc4cf94699a941f69a898fc02934ab8563b48a5b5ba322a2f26be388dfd564a3edd186acf344d0b0d4c7a81f411fbb48817b12796699a222f314dd334c98417a739d9265fe6782e35d33429ec6ca4d134add930d945c3d316dab5f21cf53f1c2e63bcbc892ed0df69a789b1ef39ad727116cf592735d6b554ae0cd9062699e0c2f5fe50a16d0c75afdf826d5bac78526bab71ba892dd65fa396da614c5be3f57649a36950dca4167f5c35d9a9f429a16b99a6699aa61902a326b45095abf274a66a9d2c67713ef57673d418db6e298bd67e4fcb5027a6fa3116ca8e2943a96dd9fa6299a6f1a669715981059eb385892936c5989fa649c901192cbb12334408cbc0e4150b752b5775bcad839c634c5ce1de68957256cda4156c136a3f98d452df10659a86159a9e27a9e5d8bbac7d5fc8689a7df11798acc219334b679656b91b0b2363a28a73122e94b021a31f6a3649053a7bccd0b6a31e4f2354b82767dabead4387f44f917bfeab5c7d427f8d5360628a7ea40d8f3a2b57ebcf362905aeb33fab87113dad23859ec6c35842ac62320a856cef562e3fc9a7972818736ac4bb794c1d6f354c42f18c931ef65f5ed9eab0fc3001055ad91062a89f35917de0b8c0c76981079c65089118951f987c82fdb13543f7db3e96194f1cea43b5cd9959f741934e2c2b62d418df75779d09277cb53d3f9c8b561fa49b506c0735d5d4518c1ba526126bd9d24ade69775bcb348dafbcc464c2f3d5c2e5e7a46be599691a4cb44f66dad46e37e48d99a6b904379512b5e608697b4b4b1cf3ae428ad3a94477aa750eab94cf8f860925b6b53f949c19ebc57f98491cbe7b63a8cbd96926893cf4a8fb5a5a7eac06269140bd5b273942887d8244fb7167c87a58d2c7cf34cd239c75ada39cdb5da923307b4f5edaf57edb9c699a18179746e4322274ecea73a91f268cb8f45dab52ddf2b5f0324dd3eb2f63982ce21577537aad13432a5da66914c16871629fae8f2a3f96699a4464422759ffa26f725e88d8a4879d975862d40ec1524acf92d26b677997699a159818023145c8bf9af2a3f595699af531444c0ab109970ffb44656fc9334d634208a478f3af5b5b663d6a320857e8a72cf397b6e3e7031e40392682d8c3d2420797ffb247cd344d0686c890a63181492094a6fbedc3e3e3877986092074fd8e9be2e92fcf87f9036bd69c6fd3aac6f85e60e287754e5ba8d72f86123af681253e7ad2d296ab25751798f0410fad6abda9bad7ba66b287eeb687971e57ded59a10979732f4c014e7a2c6db999037cc34cd1a267960e483ea4ffb394bcdf080b8f5fd576b96da41566054607287e6e72d1dffdcd2b3034a9b7c8ace35575b5c07f665c759b527432b71a6696e604287b3ed56e259fc45fccc344d0b4ce6b0e8954a86cb0a9719679a86052672f0848ee361ca952a2bff2a407abcb8fc19659451a4354d1c5297a627c64aa55e1a2670d05eabac1bebaba66698bca1295da42779bded1d9bb861652b5f0959215e5f621271c3a40ded68427d5e173139536c40c96a93f1b86f57ed101894304cd6b056e295291133d3d3901a1a2de5bdbcaedbf49b491a1af950f7fed1a3b22534603b5fef68f16a7968adb8b00103933328ceb41c8fa3d59ab135c3a35f868dfdeab696a11b2665d0d68f1855e3c6798ab19890412f31d3967b3e6fa56d311983b7f7a95a0b1d479e18a618f8f1a8a64e7171f97218963b5a0bf7b86eaa3a30a8b36bcf262666c9157160f285d497dadaf537d1259a78c1f5e06ad45053ed785710932e28df460765224bc82d515460c2058598ebe2fe94e8cfa9374cb690a96c7bb1ee5a4f6da205c7754edda6fef587b98a4916f239d949ac575dae968a9860017d61eefdc2bda40c5d587e0831b9423accd6d265ce7ca436a3e22f4354b66952c6681a122298584155abf6c9bee386d2ab9056a2cafbecb6ecda9a50e1bc0f7a23ca639bfd244d3099c2f369ea77d6a7ff73cb440ad72b4f15b3524d255a2b2651783e68a94b965095d253860bd8689a7f790325630205d753c54e268452eb5a384c9eb08cd92a63fc9f3435cf344dd3a4a09861e284d6d5b3be2dd456bfb617b4c7b1520689104c9aa0ed17d7d79952cdfb9890279db799e9ca348deb60a569529ca5ad0e566460b2845f8f7e9df56c48a1d24cd3344d094c94c090d24bde09153acded053d304902c2e39c771262a9fc8b4d9090790a992fa52e17ebde23e47e66fb3bbc1a3feb4cd3f4a0073bd841d3bcb1d2283031023b7eaf4ae9f1d1d4b2087fdf1a3a8bca566ab5940911d249cd97d2c592e9617941901531880459698dc91094e33e4a3e6e8eda6a29d2548ab00c598929c34408c8f989d0aff373aa350942a73ecdae52e6e2a532d33499181731609a86c5dd78797169c9300c192640384a15e9a9ebfa41768494fce2d235b2b45e135f0feb95f82297225c29d9e5794bd48b7f6cbff7ee7b8d2a79c1f0d8f2537938d3342f2e435486ac101494ec6279add4090fb7d34e37d3342f5ee40425ba40d9f452a2726f07794a192961a0e0a02417e7dadb9db67f6256c4c041092e545277ab7df3c3106e669a2625e505282e312d6768c92d34b126dd3d0953f3a43f8a2c0c5ce000d2342428b10562cdde9ef8559d6e2893e22d2e2c63348db7b8b0701925b5f884187f936aeb0d91b3e1630528435648d3344d4b092d566349f3d61f59eb4d6894cca2fdffdced4ade5c0865c1f8bc42579cbd2ed5ca344d4c1cded234292f2e31bb064acc0acb901f2f31362889455a79c76e1dc33bc40c168c147374cc7758a9af57e8374e95141d7445fb9594abb2ef456daf15eadc3765badaf82066457b66ec28c51a5b4d9734a119286394ac8233d73aed583aa4103a96a882b545bfd94791d32a2f94a442d742cd8be52573e49442092a5a31c4961d7ca4ee153b05ba86365322f42bed63174a4c91afeed823a4c8f6988fc1c242a40c14959252305fdc8552fd112ed67050420a54d92e15f294bab97914ea8bf978157d4ab65e14add26e33bde5c35853617ca124148a15f369edbb0ae57a501c6fb43e57b3436a3995a1e413dd08116fb3779b9ef6c42fee1d5f5fae6a7f6a28e9844a785ae1f26a8892a2309470a2932a42ce4c65f7bc415ec2d8846762ec5325d43cd92b2b9468a26de7d2d4de95b7c7cfc4ea648f5eed7984a90413f76b1d36e6beb5d89d924b2846c42991df235a862596f0a58d544b7950995acf344d8bb3348d4a8c0b0b4c25b8d542aa7b9da6a85b96a08412cefe3e793bfd2977438941c924149331e21ec4c98fd233944862afbbbdd2850e3dd1af501209e69c90a584ae9a1aa6030946e4a7a87cfb2cae15e33f8c50f2085c2d53530957b74f2c3902294f945a751fccd49e09258d48dbd9e73da94a6d25463cef4aca998c4735f722942c82a9b6dc4527ed0f4a1491086d2fdda6bbab7122583fe3a1dda51223d4a6b97b0311b9c958f2419858e26a3d2839c45d3aa23d85cdd8fbe2418921f230e64bfdb09f3ccc5e4a0aa19c0ecb8396255249fd0825846829b536652baf9db53ad3349ab0641047b53deac9921da33d4050584a048199d714f3d9a434ad35c695511288e3ab3e217e66aae56ed31c20b879f3957818ab5b9bb450f287a4986a67ecb0ba664d63f810c347181e68a3c40f87b2b93e3aa39f6bea83bf665b4afd6f5b7d3504862408257c48a45a7b42a4523bdb9d1384923d28d678b5de1f85f424114af4a087b261a6c5df2da9cd033a8dce4277f7d4ea303ca4946b65eb949b78feeec09632f4bb7dce69a6961d5a4aa8fa999b89759d3ab4b66b8cd1ee4a7b4c9b067d504207e6ba9c7e9d91b13be7a06a75f79d5eebfcbf659a462548cb4ad3601a257268db18caa518a76b89e965a1240ee955c3f3b936b150028776561e2aff71c26457859237a0d652776fad2232a69c50e286469c94ffebdadc546d08256d606cf9e859cd4f5ac7780a256c4077388fa7667554eb227942c91a54535aeb4ecad610b24f42891a8e19a366abdb61ec350e37e3c5e170614196a40115be7a5f4a0ca14307a595a081f1f830df764ab7a5d48466a8042939c33e5afe8898e769eb3d03b3669008a1c40cd9dffe10254f9b1811202565d0a3edfc186a8badda6b949061edba2a235c3c8d78e18de1fc1db3a9b6667e6b0a522228ef2ec841891892d9deb537a6b8dadf5d189c9d554975e16bfa6560c896eda83f9f1a1da5b0e40ba9211fc589b5a3c73c1f94782171f34fe8c799d19f2ea83a9fee9c4fdf5e719770c153ba3fc81035d54dab640b8f12e79d544ca828a54cd3a49c51a285ed3bfb9e5e97137a95699a14334ab2a09b4c9b953adbd9bf244b28c182a34e3eba50fd365acc82a67929b90262d48e7c1a31cfb61df3b26bf0a0c40acb30fbd9a553cc1fb9a40a672d86307922a683122ab02ec6554c7fa8da5253508d52b325479d2b137f9448e130dba4ced0bfed4a8b0c1f405070501205ce5cbf90e2a68eadfe2550c0665c485bbaa690424fc884df7ed14a444ea824412871c22ef6679b7acdf6bdb552d284669416f2fa5a77742c53c2047c4d5cc692aa75df647171692f285942b2d3cf6825e39352d1fbcb1a254a50c76cf797f8d2b3d52d2549504c572a9d3ebbb97d8450828493ab39bb653b27a5a609a3e4080a9532728494fbd2654658ddfcc4385dea4ddf3e2829029eb4689d695b67f45842843c8c3194e8cff6354c254358c6fcb4a2d4cb7075cb348d4a101796a63941891034adb7b40931c63c764a8290eadc5771f7dfe342719400012164b4769d424449b385e417b75242e5e79173772e2d90f8a23566da2bfd51e6d7d58b557b9f586bea27ade54360dc20e1c59ef6434913bf23a5da154876e1bccdafe1ba4575d2d2456ace9b9a8c0dd331fc41928bd318634f4cd32e6bbb0f4870b1b2dfd169d5dbda5207730bbed49e9be9da2f42698bff96878a112152a85e8b735a19be2f5fdea3142d30d77193be620bbd7b16bc363731d2cc74ac2e0bd4564387a552e43daf62c11af7ff3bf6e9558705cbd4fa14cf35579ae815ea7e51f26bd9fd87952bbcb513d9376dad480b95f2c414ad6ccd8915489dded4d9fa9a9db5556c1eb23adbbb7c9e992a56725eccada1b5ea742a90a15fe896dd335d29a1a2715b1117b5f3ebcea7f0ee5c67916209b73135c5f5e185c7da112fd72e851fc430992a864ad1332934aa54879c10a2dbd323fb4aac535d7b391904f39ddecaf46a71629a691a4170a73f7bc595387359a6695284701bdde23f56701208f6a80e71b36f761f06e4041097ce39300ee6b9edd5f2286c2dffb09ced073d224441c1891f58f2dcf4cb1a3a4b31764238e9839f3dad29a566304738e10353ef6588be17ad12e1640f8a557ac5b219fb746e7ae875ee55dd663b0b4fe561f7d7a9a64e9e96fc0f0fe7dbad5b264cc52ead3b9c664af9af73cb0ba1ef891d109f95ebcf620993fd6239a943fbd1d3752875626a4052704207848ff0ff135b3a2cc1c91c58f113f79c6d763bab696054702207d585502b967a4fe2a0ced9e9ce5a9df010ca1ce2040e9d7e08a1574f685da14cd3c4e0e40d68a5e63bed5c8c169e4cd3f0e1c40db82e1ba9d3bc8d4917084a8cff28e3a40d881772b3f42ca66579d970c1091bb4fd516766a6d8f73a05276b48bd6735442b29d4bf29d334bd2f405ed0a2860f1fedc3bd0c94359ca881f15a84d0af6f2769385edb8ba12f3e54ccc2e080181c4051e3040d8bbe2f5daeb31c752d12239c9c011baac514e2be276366485ee609f5ae35767ecac0ab13d16be372a5679161f9a383ea9efb70de9d8c4129322bb47d744fea655252c64081e916222e62a0e1630c1f3040d1c1891852215d66ad318a106ee3c5850b276150c59afe596da176c6fce3040c7baa25e247ac69116a2738f942aa3b07064b7744d57978318589c689173c93a77af447fb373197932ee071e1ce3907061b275b50c70e53d58992faf42cc889168ea34cdf3bd6a6ad51a66952860879c1183e84701b286eb4acfc10c26d9048e1240b885252de55afd6bd5ea669fe7082857fc6145baafd39b9d66ae3e40ae760aa3be8ac7318ef667c7c80858548193eda033e5ed46851a36986c0941ce2c40ae864da3e87d92d562ab5705205960e43a412132674d4a242620b79dbf33335963b8575749d6bfeb90d2d653b3891423b44d9df1a53ec909f8c0f4ea2f0dec9153d5163ab14145a37df1566eb3d66fb8444bed2ea7695d2253a274e607cce6fafdf6ccfd2c222be021f78457c053e4ee50a274d58f5cadaa32623d5944e9890d0a76a2b1dd6dac9a396a07eedf99de6eb6bcb13252c469cee246ee8879d9324f44a4a3191fd9c2081f951ce76e1aa55ec56a6693e80021f1e4059c4c911141b2ef2f39f337294691a15173e314222dee39d5e67a44d8b80d8d0e1c4d0ba7cf54f04b6ede8a77ca5cb510f01152572463e96ff42602931fed96daa5e254aa9c249106e93e1fa3ab8ec98a557545a5c9a86a5cf6851a36960dc7071c90c3901c227a7d5eab091af839a8e5f306e438c952bbfd6cb4cd3a4e8f0c57227c7c7f785072d3474f4823dcbb67fda17a3d394699a94468171985d61090353058564103a78816cb7d1dd9d03031dbb600c2d5ae6f4285f119aa14317c82e9db68e5d5adbef2f2a31292962f8080325e6c5df381fc759861001e201941ce8c8c531bdb3ce7e638f56ebc3459ee38a88f6dca2f56c0d1db750880e82817a192a7f7b763a9d6ca0c3163f74d44299df7b273abbecb169c16c5943ab7e89f55a85e898c5ebaacb3e9ddcc95225093a64d198932e562bdda2be8b85e61e46ef73f5872b61a18cdefe2af3d42fdf571c56cc59f169eb51dbd0e18ab3de3ffda0d2b48c4e2b1a634555ed9562c694b1226d5bff54ebf02cf5b68ad76399d24add9a256d3e9a46157eaea8d63796a96067ec3084decb1ce5eac1b80c49230b3a50918e2ac4d2196a945aca295aaea7aa85eb4e4b8b9d29d06d43666cb7597d097494e20edfd149899459539222b9df11b50f43c9cf758ca2f7786a3aafd8a97165748862a9a4db70f158e7fe0b7484a235638ff65bd3a62b45072814aff686547a847708cd40c72710d27dbf7b4678f0a027c4d0d109a5cd183bd69b32ad759cd895076953cd4cbcaac5e8d804aad6ce5f3b5d69bad684dfe1b91ef24bca71658217e2796e8a9fcf51cc348d4a91971821e8c0c4a96dd98a5163290082e24458f60d1d9750d8ea1d6f77bf316106268e45c3478b1a3eba6565053e7c14f115f878f10ccc9ae1630d141d9640c9135dbfa96f9564a0a312bb3211ad468cabdae90c25122736768ed0b2818e49f8c16747215377d58c123a24b1dd6c5136941036bacd344d0a8ab3b4758125744482cfe7fb61dfc7ff11217130dbb35e745cfda9f30895da2cede3ea5e9f75c439dc902bb223b654db23e86844737592fa663b6c2d7a976e810e46a0a598ef7ff64ec2ef4cb7acfc0f1d8bd04f5c6e7aa8db35e560e850043bbd546d1e753f452ad3342a2a2c6d5b5ed0342445d09188c6e475fb7ab02d2264061d887867abcfb94ad85afd10092d54fd8d73d752f43a0cf10b53eaf3af7ecaf1c6a0a3108ebaf2cff6493a08d1af34f9d2abc2c07816740ce25262870faa86edd83641a8f63d7be7d9520705a23132fae735c4be5e40686b8b0a65ba849439b28e3fa0529cf64e5bb9fc996de8f043df7f7b3ecc6dfff1fb90ac55a686ff8c1ee1f341cf4f536b29655dbc04031d7b688c1613ad6b8b4fb71eb2933f732adb94772d0f693176f6ecacf33ebb78d0d690f57c9ffb2ba577603cb98ebf373b1c6f5eabd2afa36935d581157bab6d7fb6920f2ba2830eecd72b6fa8fd7ba986e6d0d461ffa35893afa045871c58e2b31a3bac779bd2383037bb7aa5f6501f130efd9f8bf4d9fa7d54a8e30ddcdbfe120f42764d1d1ee870c331e71fa6b3f4b8256c833adcd5fa20a4cf8f1ee960836a7d549f534aa56fe9ace17ad79f933a63eea96a488688fa154a789295a7e120c51855d9b10e34745ad9c7531e7b4aed749c2191f71d2fe5f1aac64038a0c30c0b294b0b31f12e94d0cba09aaddc73cf1a1974b9b1942a973a9bb96350c77ca5847f8859a3e3a2430cc7fd28e64729c40e17878161525c4debf9bc8f2447d00106d4aa38ad52facbabeb0bbb78887172dc941420282f2e2f2f646c418717981d5e4c5ba373eae2a5a30bae14a7ff3ec4a41a3a99a629e26ea8ac1095218b060d747061bffd59f98d5df9b3da42c24f985e33136627a6810e2d6c52b53ad53fa5c684b8bcbc4a9197222f4086e8c802d355f80bed49e6c83df3010ff888d1818543be1adb4aa97a94ea15302d6bdace26741e1b59411fd1bda65a8da994948e2a20e23d3acdd7156a2b2a2496faa43ced9aaff527850d32744c413d2794d67263dc494f0a8b16b5d9d9f9a4f3285c52579c9a9f43868f3350625a88647ea0b8a1030ac996f24e9a6eadc5c68c8a0f290284440f3a9e901a5762fdcb924ad5da09a8d436c48ebbeeb5bd26e4f15f74b6e1735aad999090de62869426cbd5da124e73c65215cf363ead84a67f2bb53e2bb6105a49608ee79c4395afae322101fda153c6df8c165a3fc2375b86f87e566a29b11132a59e45d63e21cbfd22b46baa8da573942de5669a66c80d7410a10f22fb84982e5f1ea45d45c7101ed315cbd65051cfc14cd3cc408710b4afa5466c2821e31b6ea8fc3a8b4a4a0a1b2b488921828697a8414710ce52f8a98e1ff252ce324dc3b21e0313134790961519e800c221735f76d4544fc253718385486b9a949417357e9d053ed8f0b1021fed2d70a8d1342feec6cb0a797781b74b0b092772fca22d6ea8ad33a56d31cf15e4f0c56aefecce69285bbdfa5edc9d76aebbb5f6ec10f3227f33171df1baa3d87781ad695352e7879d56ad8b765edfbb509bad733e1748a1a76a6b9d6263cbb8c8a61a6bc84ffd737dc61019d272464a8e5bfc66cbbc6dd7a9d069b6b83eacfb1a3b092fcfd64291329ebdc5541972450bb5ecba6ebb75e94a358b4c4cdffdf0b1decc268b67ac2b5591b3e73c148b3c891763bde5ea28a41246d3e480c5f7bbc2951442a775e32b56239ec5fc8835f62d9591c315cd10316aaa70697a57ad60dffea84e6788ce11b120072b1463ee9d86d2d2c3d823258242468e55b44af68fafb9ba93320b72a8a29df6aed2f355d2d49c8a6fec303e3ef8df902911143272a0229db4aacfaeb7fd4e748a47747c91fa83d43764a6f8e6ae0811f79aef3a2ac8510af6bab898161fdb544d8a6ce4aaf969a6ecb279148855135b42673566ad89624fb394ce6a791d532a14c98cedd7bddb39a72ed3344d43c6183940c1a9dfdf7cbd94fac69f68edd2f7be275dcb50f3c42adcbe45dd7235aaedc459f6a7de57528d757142512beb73a56ecf29dbc4aeb3b6ababbe55be34f1dc8ad2916aad11319589a68d4e9f43947a3f254cb0d7b3987d4ca93296e312688f2286cc1ca9851e59c25942daedb0a21c9548c5a7d976dba5cccf512225c3c73caf14f5bbf7193e7c241b7d861c9338b99671627ef46c33971615497062888d70a5e3cc128ac49fd35ade23ecbd740f896b9f4e7f9e548daaf4112ca17fe6aff09fd9bb23d84a0ca14cfe798c4f6b04a663dba79d84f051212394f275d87f499df6f622764f63b8e7536f392a45ac4ded7ca264658bd6caa40c71794141d30c717969337224420fa9367220221d6694fc0e29eb7deaa6c115e438c4e569a8314f3fdbdc6508c6ec5d856c5b215758084c749010d83c2de3c695720cc23ffdba8418fab3d4b7951c82588955a2a393683fdb7a8e40b4f4b5a75bebe3e9e8020436737252a57ea962c7e4f8c331d275143af739aa29871ffe1236f21ffe8410a73eac6fb88ca174505d1e4cf181820223e4e0037a4a0d533a3a2ab5f47b508ab5cb5dad37ff56d2c3b75554c8903e6ba7d9901c79504d3d62ed2ca367da160f88dba7a4fc4f7debed7387f5ea3c2ffe5dd46ccb0ee7f8a14f6dbdb66e751d5259ea417a7a91ba6f7448ddbaf962fa7360ba6a3f59afa36be9caa1196b4ca9c66993ab6e1cf092cac47bc8d7fab507075c98ad2d26b39fe2f3066edde8953fe3f629971b72d35147efa4662f4c6dd8d37259d3cac44cbdb1817df33e7685c7952db686bcdf73788b1059e255435aab5e9db14d8c7ab1346832a39430f9ef980f0d8c9c8e9ab91db61c39d3342d2b2a24c87186cca6d7969d71e53133bca7abb6946a75d14965d04307c1488a79be36f775115b991c6458e71643dc5ca9c5293f0739c6702a2d3bdcc3949d849618d2b1bee547ea84215b3dbd2996ea97b7ce01066d9ade53a576c394ea0baa7e5f3184b9184bdb324de305c6bbda17c2db2ea091830b2c35b58d0b99b7b01a5ac458cb66bccad809420e2decdfe176ef98d4ba7216103b7760f059df98eaa3cbc44b9918e4c082aaa365dbac2daba6fc0a8cea57355abdf41b222b64a28360a83f3dc7559d5f2ae5659a26e5478e2aa867858d95de590d3daa1c1225e4a0826aea59426aa5c54ede29ec42ce54da734999b32405d6cd98691d3e670ced073c50468e281cd5add4a9e4c3fb4739a080f0f4e59d45e4e7753d21bd11e36bec28a3c65f460e27a0aa93f09c9492d36afc831c4de8de0c5f00801472b54acbca1011213144d0c800200a2afbf017abf293ec2814ce6b2ed55ab54629cf7902db5ef4a85631cc739a1316bb42bc0d3d526d0d57a0006882b2cf6ddf44adfd1c67c261e69fd8fad3d2df694be0fd6c0d112ebaa5d4c9340d0094d094514a68fdcacd939984d69a9ee64b45ab3d322438fa49471bbbfec30baf008023b0b64829efd4de9a01c008f9b809155b3f6c2f19004540b58e6aa742889dbb44c8f58b89f5aecd348d0a0d0030847f85d23f42e5998c8aeb600546070010c2b64fcd591e6fe85d5d193ece20028020b452fadd9d0ed26d0bc3f8404289471206000061a153cddc5b21f271fc45b31e95b979d675512981872fd09d86d2696bbf17e7906a6a29b410b7d61a2f5c0f3bb554437d89370d81c72eb66d63adf998392d745d9cf5adda942ba79ed4031eb96008e53da257dff5ab71f0c0053b6b9d64757c6e57cde3168a98981e5ae7c9f6d8168fc8dff5d5e5b944c7a31697f07897f286d8ca963c68f1bd90a6c3ec281fa61a2878cc82d15ee3217664e14a6d3adad4f6b7ef4df08845bab654ef164284161b3c60c1bdbcea53bb7a05f72d6aacf5b2b4d7cb15a956f3968bb18612c60d7661a9018f56785bc7d6f1a6103abb1fc3831507d751bd4835e1c16c1eab5098bbb7aa1aa7e56d659a86113c54f1cccf21e4e9cf52ca39d33485e0918ae44b4df97acf559756a66908c10315495b2ea647dfa2c0e314976b21b6961d62ba56e2618a4c4d15752bf694ab38d334a5583fd8cc95e22e2bf271d6f071d4f071d2f071d0f07158e0e3acc003244ee0410a5f4dd726763eb5566f0e788c429bb55fcc69b15f9f940b3c44e1c7bf72e11fc6e9d7ea028f502c62cd9f9818b2f3a76587fc40020f50a8be3cd67d56b7b6849f68ae69b5bc5789b9f45a7608cc102236e0e18944bf9a6d3b0c757d61a669f6c5cf3883472752caa636195ab84e62e2c109948eb63bae49334de3060bdc60179648f0d8c469bfc3c8326953d74cd99845c19045a39d153c34815a79e35d36d54c13650219ebd5ed1359eaa5c90313c7ba7ded156b6d6a7da6693af1b8449e62da49f1abb6785882d362dd1c29376e8852111e95d84c2c31cd759e072516da3b8b58fad58a6c794c22ffacd777c47dfdd6925849e9b696b79b795223711afaf757ce1012bfd291a2948b1d23bff078c425c58cac55aa4d09250f47a4d4ed126342d7ad1a8f462877c68818bbb5df8e4178306271ad7666ab5c31626c868f14f828c307193e50e0630c1f8dc7225aa296d0feb796b22f317190e1c3070bcb8ee103e5054d23051e8a70c6fcea097d772b7a225af5a5ed83de19be23024f319477929df3adfd1069f3ac54f5e9ace76b883fbc985c913d4ac95d885c747adab62966dd4608a4ce1fc48fce83e86de888a1c35210b8107b53f4cf47cc2d10289d8f2efae3f8ff0b88df76da61f7a5c62bed1f2ea94fba5a63d50acffae1be1baf848b89dd6e1f5863748935b6f8a097ee3cb1a6eabf15db83d2c5f8f49d56cb36313da87ac27784fa585b4334e09187d61035eb4aafabdb313c343eea73a69cce496bdd615d6b4a2dc453b7a9ca0e8af1d1526d571d9662db4dd7dad6ba93d2417963766a74a579a77340c8576307db52d88e911c56f39c67f6ed346da23864d2d5d2d73a8acd9d7040e6e5c8ab1c1d6fcd37acf3a8f2fbd9b95b896e68b54c552d5b8ce738e3d1069667ad3aba55bc123a36ac83d87aa4f9b954fe1a96d92e763b9baa6f1d35384ab8eaa770d7295db8041e6938fd93aefd1737b90f0dd77d282156c6ebf09f41b1b9a1f25e7d08d99b41d949e79352adea9afa32a847d6b0adf6e6dff964b896f82fafa9b50e331c43aec5d6ce38712f642586d5781a296a3c9bed3e0ca965ebc40e29c2f50e86b6da55b713bdf7e92facc39afb9fa7a3a6e53cbcc0545beda68396b2a5cba30b89edfd5986bca5e3890bbf08695abe78a1e5bb2ddc4157bd9e153be7916b21a5cbbe5b7c3c0bdeb6d1edb15bd9ed150b8b7890d32d5ea7b6f515ce69eb57b16cd7b6db56503cf4c528d3314f9a5538d7d53d4aadb3c3a880ff8cbdbc6dea846c0a89592fad95490abcd8b6fbf2ab5e0c994714aea13f88523b67713fe201854f94ea0fd9d9d6fadb13d66ec3935c8ffe616e4e68ba58fb63642cafb335e1e0bea65b84a7933b1390f56a09bbb1f158c2f24be5b828754af88b87127af3316fb527dd44b4041e494865bf88e11d33c47a2101d3b9b6d8174aecb7ad23b0f5eae0ca751e7db56504e7ed547f0c57111a534b31df9312c3e644d0e3ce14f139a5eaf0107a4f6ac8f0a8bc734c0889315726f474af69291e4148a9d66ad92a53d731e30104d494b7e317895c79b262ae2ca93f4576f8e2524b8ad24ad7fdaf542fda7726bf6fcf10fba37891a9b75977b7a3ec70f261060a1f76eca21dfdb56d889e8c91ea02b54fd4c8f4f7f022cd4537d464db7499aacf8512881db8407a18a9a418378508e92dbcd3b30f9e5e5b9c764ccfdbadc6e99d6ac1d0fa9dffd5966bfaa4457b735d3c9d8b529a054acc7f555aac3e912cf22894923594c87b1b8b64c8a8ae97a7b52f5820bdf469214465a429bde2fe2495d9ebae68a7171e550a2d74d8ad50cdd07946b9fabded76b0e22c3a4d751242b427a5552454bdddda5a53b5af1daa40eab0a3a9754bc535f7a1c4d02254bcf33b5be9f5fad4a11eec38854a8ff7ad9ebb6563c814ec1ce2a54776addf4bf18ffc4f6e7252b06df828b737d7e11e8577323b896ce93667516863c8d4e661988e3714cff8ed59eab4748f81c20f76267db56d31572c0d142aecf8c472d58dd63bbbce569e58d5c80ae57b3ade989dd866b589e176ef7a76387192a24207296f225755ebb4b0ad2fc7a509958f6b197ac7c4b932f16829659ad60f176fc2c4b6c6c3b295aa3e9a7d8986eeed7aad7654b14e4b3074503575d65171eca844432b39b1669dd835859438ac587da5b6dea6ee9358ca13369e67ffe8899260cc3777d56aca75db91e03fcf6ab91e73ca7e4820a2630731f3c3ad0f773ce2d39142b708a1b6ce3b82315d9958bbb6491b6b44635af6839a61a35246dc529c7849f154e2ef38762ce2b4ae6feb4f63e8583a4578bf1ee54b95faa44eed48c4fd235c7574f3d169420473b46ce94a7ce529dd215e39cbd5943731dd4386486cbb9db2760ef97c219262bc58a585163a36429cd42e29e7db41344ddf54b54cdf2188f40a1db6a9fc30fd02c1da9f51636b571dabdc01886f4a3d52acce8e3fa8e63aaa72579d1573871f2e25d6ffdbc72dcf6ba669545e5c54c6d8d1073ec67ad391656b88930ffffceead71374fcf760f97f2183bcc6c7a508a5a42a735d5868c611e18fab5d6f325fdb347f1d0502d3f9ad269470cf30e98d4f36ec3a47afd2870ecb0c3516a75afb7d3964f4375509fd21dfd930ba9b6a5c34abdc598716b76bd680e2a6526946bd742dc56caa12d26844ef7da4fe6cd3be290acf4af3547b6277ddb0107947a5d520995699e743f7c0041c38e379cc3d67a25a51895b2cb90d1346aec70c3eaa1f5cb54628e5a526dc0e6d96ed7e25ca911d9c076154bd5d24fc2b46c0d4975a2b3924289fcc6d8a186cc5cca69b553ffd51a831d69482c2dfb77f5fb9e7f76a0e1e8a1fa734564f44b779ce1b297620def7062bf1dd3e26f98217d9bbd6a6ca9c7d289ec2803529c9f98fa1cb5b9cd7790212da53c717d3a6c9d3fb3630c4a2f5943787d8e325331a83f9c5e2fd58f25df1d61584ec7a59c13d52d526058b6d64a8c55f55abe66c38e2fa85db5f8efa44aaddf0c3bbc80bb300f7dfdf039973bbaa02ea9445cdda8e73471a1515a5728e975abc6de42aa5aadd02a85eed74e0b8bbe5753bfb918b16a596809a5d5cb14e2f1a6b4030baed235f5e77df9f51f2fecb80262b4d641c7d95ee19e15f019d991ada5d41d4a5560deb5a8b221c7c5caa9f0ea383a2655ada5459d02526b81917ab15fe4538ab55e2cd82105bc756dadd3503d2eee8e285c37ef75ceb16e2b2fed80c25a7d0b51b9fbd34f3e41531d57aa59f12dd5b6c309998be92bbe3e4389784713941355f67dafe44895107630015b3a76e9fe9b1d54deb1845eeda07ab609d7ca1d4a48eb201e4e8c654712905fd5fad59a4aba685b762081d53ab46bb3316bc3b12f2a2a70ac0b5c625ace5063c711fc9adeab4b976eed693b8ce02c3f29959b9aa15288654711d833a63c95d479969e9bb083082ccfeb590bb9a1f5e5199835a3083b86d0ad99299da6baf0b023043ffd78f0f8398d573f0b76040117db0184c4d64d738f91d5afff62f11c25d67aa7b12a3ff145c3536ca16aab799162eca4179e92292775657c3c1d2fcef50ee3abc4b6563abb50b85e33a5b3f653d2d688c0a89ce80291adc5585142a62b35334e7291fe0ad931d79df6711a27b8506c4f23ea66085fdbc92d70add51aea667c8b21551972620b95af7827ef70b1719f73520ba6ab1d628b5bb2c51ab14b0a0c1a4e68a188ad31afed2c96f6b5a273eb34356f5924d4dad1db4c449c3a63d110a7e6b1f6f6e86961f19ae9ecf62de375ce664e5eb1af1ab1cba48d2db14f5ca1fa7dec95298e2182c68bc7e4e0a41569a932eec60bd58f523961056b8d2b7db3d37deece340daf51c6c92a7a7d628f72edfba93b17340dbfa0e04415b9e810215f52dc7b8401cb492a10315da79dc2d33cd3fbe00415aac97ff1a3db6b4e452149c3c92970eda57467294329d58771628a95122b454aa54eff9435475983940f786006a458871b55798f22d5957a4c9a72228aa5d0a2baee595d9d32c64928701bd77beb3f6aa94750e431052305279f60dcce9ec73f2df21253e40548094e3c71dcd5be27eaa9cfbe934ea894cecf1e9e3be66b90184f41e68413c9d4a74c88cf5a96a8329b60dd3425b45817d949ae09664c1d3376f99948ccfea3584be8a8832ad3342798688ab9fd7eef926d66a6694c707289b4cd733d6abde8b4d2314e2c81fe12f55a4f76ecbcc505279538bf184b8f5ab7f252a2fd9a429790a59c8112e32970833da32284e3c0c1c924f824e60defd533b34a364e24718e11cb53da124bfb9e691a314e2281ae1bf3fc9e03895be70e0ce6af77a99c37256cede4118b1a5b4c933b3ac7bbb571e2084fcfc932a17a1efa4923706d72ffa3abd49e6a26a55fd430e38411293d2ef56c7173aaa20c224e16d1c68922f60e53b98ceafff9ac085971c149229635a6ec94cd3040f114b0e00411c99c3167be47711fc2bcacbcca094e0ee1be28d1fb1451fb7ab7f88f3e31c4f27cd48afdfe76fb78f10cc72c1a3e500e715288cf563e9e10bd069418a834b20403711c1085821886010006d5baac04c3110020282c2a9208e4f18844d725f901148002495a3672502826281e0ac9429138180e06035110c5300cc34014455128cad1a4873a00b66efdb7304e2c63483f19050195510477f54caab36583c5e66f9c92931b81ee836fec53b7500ca6a692ecb66e2442bb0472703178a98ac4fbae04e796f9ee4bc2e410216cef311b142d2cbb20d96fd5c453af6c42b8df68094e201e694934f35c7d23f8151ad9730ea5a3ba0da230ef117df26bc89507b00693fd90864e26c61cb3badea7a73700d94e12a3c60745d24435074ddddda7ebed0b262bef5cf0f46de0c88440a89c660d48d8f0235b141dae68aa4fda09810780b75c2a2174cf734839446821077bba9b2ac98b1be614928b62b64e2cd16df1a91a6dd3b146ae03b9b8a8ef8d21906e38ee0ea831f45c7ba4e1e6f68b38f3edd7d5ca41ef543cd2375390cbaa4c1d37c06d78b9134d5efcd02f0ea9e56043834f7e846770453c1edfe86b864a7156ac3fee5f5f4731bca2f5eb2b59085ce818401753dbf29326a5c931fb53813fe51d0b2bfa6c7538d20230ecf8b2127845fcda0567c87b0de3a44385107f20ec1217e57c67f873ec8c3ceb718b387b45cf8a0443f6914ba40bdc06ca33f8d3312dd6d262da2f9211adbe835fe111617c8768e997b8b86d8f2ab9a11150bd68d4193f9757243118e4cba8057b1fa9cf7625e1ffd53fa58014d2ca9bc3665130267f17a32070be3f99a4cfc5bf2813315b02d99083845a8a4e6891be415a44875c23ab2ce6f6173d54d0614cf1becc14eccc7a4172517eed7485c7d4f1f758b5fe735109e8548b2bfdf9f1fea0afef46c35b39cd783f6c989e651f38259245ccf830db18e53fa4dae8818a2b35cd2db471535f063112ca7bcfc306979848dea97b2edc0a0e3cd498990eee121b70a56f5605f1d5215a5c06b9171fa06d364f675247011e14c30fe92af8ad41d82b9da015ab364323e09f078819c8f170c9783a24b8ba0c63521235f4e56887e3cd4f425a1e2d4d1a206c42b798a66814847f08cd2e1146b6dad0f2bee09c1046d098918c6693d1b5dc67c16cef4e9790ac48ebb11b8f5eccd91daf1eafe852ac0b761bee2f93eef94cd3f827075b36ec5c4c716fcfd7b33f2f5040504dbc8ed97f13c11b633d3b3b5cd6844541205b99c2fb362998c0d0aab3b09fa9da0c3e50c2881d1a254681481d01e7d64b1955e3ce748ea3626d87c83f28408aa27947126551181f247633f27b29c4e6e4ebe6f500c43afd935542a960923bfabbb535c2056a8752f8cd4fae563e62a065c67a1e2a88181e186c12e10db48a608e9c6c2a7af67c18c9ac77b62d035fcabd122d529bacc7fed51ddbccde837ea2bd3eb0fa580a61430be5e4dd092bbaee010a959a4ea33b2767fce8721992dde3c31f6fafadf06c68fa47d3d17120f15ff10973b650cc2191960de3d33f1e97793d0991440586fc8f3bbebb6ae57c0e171e740b5518b2af70ae165dfc4afcfe145f13d79af75bc7d12c01d5a76e61120bf58b0393ec0c3ce406f7cfbe5c9ccfba7521bb1f54c6aaa0c3373e7eb7f0b1efaeaa4030d12a5d63cffcca606994be71b54a3bf8ee36d4b848acb9b6a4c0471e4f11e7c68301969750bf3c9c12fe472db638a64f02b18207f3c3bc4b6d9d9990f6d01280d8b434ebfa9bfd1c2fadab8cef3d672b9c5b7a7d98091486f1610ee6883c5e0eb17b154ce9f53a0a5407d6c116fe1a9c85105139ecd470a0f18bd30ed7dff9c4ce5a05d68e4b1dadf4eec9337d1c79d25f9691b4416439a4e11ffa9d570c98aa017b28791fb5904eac2ce705384bed8affba23ad0e01d101b03b05ddc54190812303ec9fd50d39d785af3be3a5096ef33a1b190f1aec929b67c7984bde683033c3660bfacbe013c56bfc81bdea3f9fb5286e710878dee97565c773da2072851e834b8a08d6a7bc276c49427a1f1e06191a3224fc0f8b9586cf1e89121b40a1e0453e0d420cccec6a517c191c9a7ca87891f1c105eda5344d65bb65759e24b46f2959fce2d7187414418c913dd382449cbb2cefe3e188fdf402f5af224a38e713e82e523ee727574edc39b88ed629f3ca557130ad6b93e6c2cfe4f08cc28f597298234b626b5cb1811a993941d1b42adb7faf2f2f0e4c8e513903a8a6cc7ceb6e8a803e20300b0f880f58e2272c56fd4a547e99ddc36b150b8ad4968731a9bcbeae4c9cb4391f2e78840e084ab3db8df52b9e17605f39a20befa533118601d70fab17cf17cbb670e941c76c9fe411f2e7179ace72c82c2e39b5b56bdf233ffd20c8c7441f2518dc8b797d6fc7b8415f1810c853e383040a1a15b158d0bf11239ecfbabe0af59788d1a2230ac8e5f3b124ceaecdda15b69375257cfe186eb9bdf5b5a03abe82df4c2c5e28a0cf420bded0ccac1d603318a958945cbe6e458ce058cbf939fff3bfaaef39fbc90e0827f0160baefeda7e8ebdaee1dbe467b361294f267f3753584b17f9928daf94757004b2747c4de8d8cf456936d80b259870af9c6b133f3b3ebec2d97777f2cb87f7a009501ee80d91cfc3998b07447739b862ef7b79e63aec1386493af0222eaeaca365a8ea139ce474b59db7031e9a87a05e9cfe493bcd8c94de8dcae966dab7d59737db2f042df3ad779511c4a2ee128973b3082b6a79929e30f5794f2d16b55271453d010221f32eeebe8e1972c74d8496d2c9b735b117f1e1f74999b901872f4f20bcf3779caa65d46fbd0820a8bc0213496c3b1da5fdfdb5ea53cd728dc8b157537a1b01d2a7ab039f23d3c0e20f9d6543596955b3b6e54dd7272c3c13e65f9edf5dc66162b86aa92f0947b88c6135bc62a22c8f4412823ba82a82c72c7cef55f71e533334eee7f38fc6a789f6a8388a7e632b112ff3864d647558e4a2b05b3020f759a6dbb1a333757b86d7c43dc69879f27fe4e07615d085308c6e5f6383ad5cc7ca1034c2373f7cef7808b0bf818df22a1952a67b087ee3a7101a5be22d36e62196a5b39f48f54ae0ddf49a90c5cb3ded01dbdfc616c71f5c5f593d0bca96987e7d1f870c864b7b958cf6bc8e66f06f3b526852d09f2b64e2bc9c0adac970cf53c50962aeed9013e5285916c852292795dbc9332a7c3516ebd5489b8ce54d64e44a341fdc249e1296d166e1f5a6e1e99c0bc294b34d1396155e57d9224c5c5a4adde22c4a1ec25df73e4ff32ea2e7867f0ccde4bcdd530a6dce70a8787dd8c4b262ce5d3548d157b1ec57778e821d16c68b0464aab89383892a6f52e2240c3063f73adb5ae1b235a646dae41d6469844c6190c52434398c6caee4cfaa91b366effe1164b32a470dcb91b742110138415a003f792b85392230cf21989cbbf831c2f46c595a023abdcd21b6142d04e0765341e9d146db0d3d857b538507bf2ab9ec9828ed4596815d480f15a9cda6cd7fc566e8539dc73e95920b6d93862d187ae087b6505c1308f13251ca24955ca3c52d60b62380b02cd2e40496f737b68f511cd19d909387664f47f1f07f48d9a8b613cec4b807df887cb62d90940ae38ad3721009e757d80d56a7125054c86bdfa6ee01384ed66c1cda44465517035405a4b71932d981ac22cf8cf6e3ac0d72c1af05cb050b6b2a7e25519cdaaed63a32b9788c28118fefc0d1e9e335a91c0a87dfbe06e5c503c943357d80d8479f3220c207110bbfb6d171edf0343830ae42a8f5227040a31501d743afd39a64ec21063a3482697b22fad69ca308a6914953987c7aa17ee8a8852b9f49d506ef4429e8d4d8e7dee799a0add177faa74bd4e9863c9ba4da9733b10411b766f630c93a5ad49e15c82976e89d90273f0bf7e9c676f6f0a57b718f60ceb0cea6ad48548e62d6895da526e24a4ccde87e66714f5d394f12feb9a40dfce5c962e6d382d68fa2a8c69a8d897533298e96e2a210e246427e9b0e7781d844f694d08b808c16fd7cc92089c06acd7839b0e67f573e3309a30e655a823f08631492e39a37ee51e46fa53d801f6e30bb09690d04e51ad80766ad4b90fbc57b214a77b02f301af151d8f6d7983a2bf9e25cf173113422fc0b32e94316073fde0ade44f8b3b52faf2859f80d5231c739688effcd1670bdeb5f9e0288268fd2e54e6dd2266b4ae3a46351f4a2a91906ad7318a3d5cd27055c5fe879b4c10601ed786e2047199b1ab4de326cf69a762bfd23201a66008626680db70841936eca50e315c806bbb3ad45ac884f46a5fe447ea52ba96d01eef2acd02bf3be07f432da8f62bb35d49dcdda2f373969d416c3328b5188b2172f0da9fc3d628ef3f4b9b2812b67503b12c288d8c0384e48258ba733854f8f2bb0c375c93a685a3b54897cd34257635762cb8fb31cdbe4d8674593ab44c9c1345ee8e25cdcf75bea40e697f73477a1c31fec8770baa501079aadfe497d3891eb9bf349fbd46450707e8d0b5f52ac5db08fba0b81962df8b2414601ba6a344c3a0b8da523183f4b618e537d8b8736001fcdc397cbda0fd23ad643767583ef0aea970ed21b525dd62d53c4353afaa1e4fcb5909694e8c3e9310240d233af1acda186da48f5aba1dd22715fb5a818d75b55b165f13b2829e605ecde3b868e45746dfe81acd19bcd7dd26943f06830661f8dfd5e3529f0ea1e9e77ecd85fcc997291197593e2d0dfbd068a54d09114058ed804e58da7acc6430a1eabe361a5de962dc10778def1a7606a78ef3948aa11ff6e4d5d36d9e14d72e66857795d83b70c72b62cbfd7789b36fb0ef9ba0ed793369996f1a25bd0bdc8d9a9e6607e284448937f503dccb4c6480bc4d40acb238c1998efd5271b5099552079d33390655e04da9eb414e91df8504d99a8e60cafc1986605fd064ddee972ff7eb42470dacf5f4590f6442a83e2f709df133fb887d10f5ce6e63a3a599a8c2a36a686e7c4a45eb7da513bb0970fe3ef23a0a550278adbf10e9891367b3d1dea38db89b91345d41873e8df20b28c6901ff4acdb6d10472a1138a0ce69ef2cfe338b34dbdf1c4f564f067bc53340a20bbee406e67ef8200f688853dd804c80bfecfaa68783dd2934a027061aad5f472cee2f00e8eb0e9b208d9768034ed9771d3536c38105ea745a6de686db17237b9cd3113c3382aa9e80693a2ec57765cf8759523fc17ddb2291cf1c5f2b7bf39c2afa28425165878972e84d5cf4abdb0176d829aae5fd69650e2a0a7042097627d588a551fc55615c63d33aab9623f9778bc0a16892d2db999fdcb7fc55ca6182c6fb649d49170b6bee649f40dbc9a07006dbbe602609444e50446901df2f5591180017f15c2f8bb6ebfe1769ca11522fc32e4a1e5104f6bf6c96600a44c79db52821acd4851766154b120fdb328e07702af1913b0218ee181621c257527d17493593d2530c9023f56298e13efb422a5b2ded9b0587de036c3b243bd9a17645e13d230ad21fca812d86abc00758d613b2d2324f6cf3d0b7bdb14c87e94cfd1fc422170097175875f1e2bda6d30bc24096d053a2a714c22672e69208f5e4c173e2e98df758ea951ba89098c6f41d1986a23c6162434e0e8fb99417dc2fa6d34b709c8ccf371882ca83614a467f80efe16cd720dffb03e2c1b293fb4d969f22a97c46d773367abc95f5e0a51828a097f15c838ff07e80a70c55465452b340dea7545d47f8fd7ba6a9bee9612c4a3e8ad25a2e1ba41182fe2196d38874a7884cd6e171c31fba5614a0efb9a7ce7ce7b5c43f834db16889606119080d43c7b93e71ffcee994609a868c6d71c2de59001db3aeb23758dd7880337e1d3e856fbadeb972275d5a7112251600e319ab78e5505f4554e017fc6dccffcd387a1ae643717cd5e65f007097cf69db6c9cafad60d502e0d489b9e9b88b3d72389fadb84c25408c3532f1485c1da3c46b875ee129cf4fe246f19cd538315cb057fc0626da73c20fed190770778f235629727ee7d96bb7f23b806fc7ec84e082f711e9aff35024344b58e08b0196114961436abdfa3b9384ba6400ed582d196ffbd3ff7b68f77d3b452fd30c399595cd6d369505502815b1ceae4879357701b269b39ae8a1357298c1c7f7c3daa1aa5b6d9c3ba917151795d93bebb5a342dcab9414f90f111fc49ed565e43730193ce069d9d2c22b8d4b50c6ad1235b41c6d4e3c94f6c36e449dd56ab2570dd55a2a50125de615371b42a8bcea8999c574a45ea24aa0b47cefd84813adab8f7d126c37be7d1e5f6ccd9aeab9334160d56d3ed769d04765e63b99bb72e6fcedb41e2975cc436c5db5d38999d23beb0c3e5b9194cb4423ddfee8aa5256e2dcfae3a4dfbea92ec94c68f9455472ed44c7c4407cbdc5055b1b87720f0c4e7c159e46c0baa95c340f08f5c340a5670fb0a2c006b1683a8e2b24cda8a826460bc317e659417aa6ab92901ef4f7e87c84a87e25386acb6e9e1d3c0f3f70d6c38714b3e67a056894cc3a6582f11a5a8d909a8396ce1a94774f36fd33614652fd7845de3a68776d82a2e594c0f361f5115e6bdf8bce6e521266cf950adb34dcb0d57f0d46794a2bb5dd9ec6b498d253255dce9cf48576e9c4b2e2c045e09e3a5592926a221c1cbf8c4adc5944fca65c2864a00c7f0d7a60f950ff5b6341c35fb48d3a086978b6b730895f0d025f2d42a4ec154df1a11407e1727744dfe8378ef033535e4cf1d93fd6200022be5ceccb2446b6c192129890af455c2051f8df1a5315b23d46ba01a4bf335bc383970229b49836c7ee175a5204ce5ddad2d1650da78506a54d5dbee6e93e0c39015aa5289548b7d5a1c7d3962247afcea6461c05695f8c868e0c5bedf0aae296ecb5374bf7baff018cd258b06efd4100351d2ee33cf25565d8255b5bbd3ffdbd5ae26ed9fd09b2c2172d6ad7acaad7e6b2a741ab6f99661b1a1c0ab6a283eded659ff3d358f14399239cb80f95258cf24698dfd6315826578c6d8493dc9aed672456ca68a71c9d90da984a369121b1f0feae364c672c9e42fb1f7442066a3ab1c6922fd12588d0d70eb75fbf049c15e0e8b4ac7f48a51cef54b3855be834cf407f886fdf06db9d94ca5b59d6d5871dca49125cfb57e118ad4f868240c81b582c77728c47651d3909ef2c0149b50f68f980d385ade56e765c1fb9c38d7b3b269bd596f456b6cffb4e4cbb911a000be130695e1b83a7e73a38923bb81a8ec0111c5e2327696c56506b16f83d0a0b0fb98a9313697b9ec04d8740c9aed174fcfc06e7fc5582bd12ce3149243e3c07f1173c6b732bf9fa60334c65e9b4bcea372102d44fdc388f8e47ae75bbf5502feb44d46fb02670a20984ae63f214dd73cbf968f6cbf237c96ac88778e5fdd0dd0f69a92d2f2fe74c552e1d1825e3bad0c970bfc483df769e9f99e0199ac3620e440a561a17303215a8b8d65acb5a02ae3aa0f93742f70345608d27ae170fed12650a1070de384c5c1d6d14421419a05fe18060c07ea821890e716e921224c0b8284dc6dcd60269e7678b243d12d5cb3b3b8578ccd42861d8943da09b4976a5e6e551864b0fc5646df68cc48b4cddf5d2d0a5881af07e4059ca70c2f76ea6479662f4647b69bcfd8c440e78425bd1a31f1a78a43558158a3b8c8ab819e08329542b4fd016bdedadebff96756531083eb6622045f0353a58cbbf14e8f8e0903db3e95c583f97f32a4302c748c59ef9cd91d20472b4a9caec9ca1e692067482c3c294d35c90ca1c92326eb44e3b0ee0b9b249dd86372912f27d2994ac79d69c5db8406935eca1105cd0b2896bf9874d6c343ae34e332289bd014ecf2cfbce5cdefb976730b0d1c0ed848e1832265f2e7c877ee5e9c483f88d5509506d5a69253b4936afd02f5d32338c6c4083ebf90f57a607777f4aa1f0b0b88f78b62ea70ef8d4e718aeedc17a6e3ef854c67dd3a575a3db2d5add576337fb108c395336a8a5eed12b4ed206c0af85d8e12c980695cc5a4a552d061acc2b250a0bf3f42c969339100d42d39b01a2aeb6f576240b15ec9215b7d105e89494aacbf642e563cf5fd1e4e24cf4f8c5afe2ac05a430f14689f6332c74275918f34b3c50b0735e0afcde2a870b51259fb85b3ecebeebebc0618be8578480ec0e797abc9a944996cb0e50f4ed50bcc0c0a7e52461db0e35eda30e7c0d778b4d4797874da3984a0fbd5d599b09e211346ba9731501abf7d925953f6118e9f2a7818afd47f27dde2e58e423e8f7e95c2dcc208d2e48160dedfada540d9fc22bbfe6a479c0dce02ad9d6e79733d8bd22ed69e7a0f50efe0cc6446a53ea962d86ce6cbc4e268476ee444755f30d524f13d38172c3629b74f5ffd1eca680015d59503cdfb147299a8a813eb41a4c1bfcc710fecc1f000b5017f792ac9aa0d22f6dbebd5cda37acec5fe03fa2c51dd41b73dea2e311c44e082a16ac492b207e35d304be85322f8812245b87ce02d28e3533afd5892abe85f92e1fc8160129af54b823c6169bdf823a1f2432e71028bdabe80b1cf680ae2de6b05df23900cf9f1cdfd56ec01d7d91322060ad35b2e73677b71cf122bc01c5787c60c83c992ab5df162266f61e5f5426762a426c1b4dc98ed0f6f7b4e65e5d25ebdaa91a2ac3f7b918037be3d43fa8a5dd66525688f19c7edd03b23667cbf84175ca06eb9d90d3cc282e7140b38dc89299817ed901464b7386c897da6fb896c677c8f258c90121a7729ccfc5fa3a92bf5aa097a72d6f76982953dd2e12992ad8eb7052e4e1738e7cddec3d470383003b2d1a58f3ee5a286dcdb6c00c95594b7d90535e87bab974fc84d5f15112da6b7faa93619cd0f7341dd092569595a6c9b2fde6fb579860e0e8547b4b196e6f583436f0aade0206d509d9308a34d101ae07468b4606e4e787d2b592e8a698f31485b92e75cb0779c49a1bc01f75feccef46b5496e334779252063d9fcf042315c190b3ecc59cd1dba1ecbf8d6df26f067b796950032920964a60b64f421939f83914393070daa9312117fbc1a69fd522218ad7daad99baf4821260c66856b3c4a338eb82fe844c7a39c3b699225be058ab3aaa4fa414b579b7b8832613d4b29c4857b6217b4e6e8d279b3b1c631864c6f44e720608b38c1a4a775d901e3c99acd1f4f207e3a0822b011e881219d6940df8433a56f834d49557cdc6088268728c5e4b1230662ecd6d279618331d91e6ea32341cdb656369c1b3cbeca5ebd1be94df80d17883f837a66231ac074a31fb7521a2353ccd0f4c5ebf8fabe16cd95f24b1c4c6d74e2b70e95eeccc4a1e264d873f5fad8d47953d351f14a466799f587026e2a2ee1ec3e45bbec448eac06292aff416864248247a68e985a34a46703ca2a52bd2fbc0fad576d10c818b1558b168df383992a89970bf144917f016970f2311b0b5324cc1135de030e3aa641d91da0359157a0db840f252914242ba9b4049f10367111a4a4b814d98f56aa5bc5fd07a5fa59660120799869de3ce60cf61ef075473f9149aa97c93c3a9304a9606b4544698b44e704743b9a1d81c4302ba8918e3083f99c8d2dae235e2dec562dba9add8365d67f65546f5bc4fe7b842536b2fa396fa88b71ee8c93a32a8ed3231024e5618a6757298791373756b1cb5b019475ca038136084dc9f850c2b143085a089834b8a6f3f6f3641529b236c981eae3dd0ad611b8f2b7ff6706d6b705febd677537a3d24ba277f7c7d2582749a893656198a79e933f8f91135800ce07a47d1a3ed6b7a496206c06ba0feed91044e540c5f29c2931928923af903fd6b502913888707a7bcf82b7781899e0606e960aba8bc65d84ba259b094580b0035f5fb7b4321de6ded82d51cb5ce29fc151c373efeea2314416a3f0dba8a3f0c9ac4b9e7f12c5fcef6057aa142c283050687f5cfb3dd4c720da200978926f622ca75db08b9a5516714c2d79da393a875e34534835665bcc2f75aecf908f98af0f6ec4a09a1f0f48c9105fd6a6cca371dcace153ea48ef0df5b4975434cc62c9c412097698f1314857ffd014392ea9cce05ebbb8be7a72a91207fcf6b27bfce98a792d7dac97191e66325d981e6f5d9c147c258a919c447d6e0f5a6ce119cea6e4c5b3fc3a53d7d7b96c27d52d58e02b2e61cf24c8a271b536b8eea658c98d56a58f92a651da7a87e47415f6d662b6473ccd01e20f7be67eb40a0c8f78fa81e425eae9a940726ab6bbb69956bb1776acbd1744817f081600ab977053588fe28c327d760db33a0d49dc2385a4bb67ec0249c87dbedf6b39a156b5945d5713ee748415d2f495b3c339be026347f4129a448c82728429617224cd069bc035428d1dfc75ece5aeff41c74065cb9a2f4a973be9396928e5f94466838d3feab2a245d7552a75d807321c3d2ab83fa64c9cc4d324e6cb846e61a14c482a16b53a5724bcfa56956babe7081b31b0676b54b1a41a995985a02be542daf91d2a59e05adbe7ae5aa05e49e5035c30f8dda00e70607f07e6047d13cb674dc6ddafccd041dcf546c053d577c5ff79240bdcdbeaad2c067ab13f540005fd61f079ca50ff798e46c95e049e79617e25fc0f00cbe1c8cbf4848cb22e8c36c6790c8d3eb9c7ff0e8a5bd4fe1f66cbf5b493a0faef0c0c5294d26d61cc53d835d3782e198d66d2cdccb7824652d8263516f8cdc0fe7857ca1246f45035f8de7dbcb1ae059a4e43a8919aad466cbe8ac20152635e267092b956edfd2d6454144a8714d12000283c33b2779fe63540725a6e9a37bae43e68b769b4bd00c2dcf4e85344d5c819c34d5a7e24d379dd167ef7097bd819cf95a13027ab443093f7dad8f57d34faf3d0f2fae1b0848e40b6318ad4d90f3c39cbf1282fd13a58f71dbcc24850bb8f112473a0066905c934a9c18909b5aa7fca299c889b28474eb4743b7a006da1e749cf9887e0fb87f7b8d9a2d1dc74a732aa48c14d9ef4cda93033221d5811ed096041004d2424d9ee2266d80298c7c7e6a206825b2d6276e24168050c18143463c1e72e6d78d763bf2091732c1d059910857ef67cf64d3a2c49f7770059669a88780e63b991393721c02603f612620e7c4d02a4de4d80839ac800143a7ecac1b6fce9290dec6dcb74a1c87b7d01df8a130749bea5ac15d8aa782c88c1ac7808941126c770344490f4c653c2fbde5c4707c2887aab1dd94252a58a2600178e781c9a009824f9b4bcbe4ba227d82c1b25d302c5dbface7e61e1ba18480c6ad3e7e9fed5b58251114b1e27b83beebdc6664d9b7a256153450d2e756b8e826bb823663832fecb1086227dbaa3da58250306a45ed23aab88dd320e5863c1273a4ccbf614d8b0065b1386f04f5a7eef4365e4fb16f9ca69ddeb98be42f0cf531e2b8499f201c80e66b321abe8229e222ff081425ded0ee246839daaf2bee18b150b8ad748750a3c67d65d4ef0491177409e3f03c2de0780382231ae86072eb576acd9645d5137442b497fa3f99ebc05b9887ffad20d9fdfcbf7b0a64a4022032236c5f5693ae6fedc6e043f0779665182671d285f5a92fd8e1be8addc071df347fa8d02a5185ca8b86c3c9ad100151101be34f7b77c66014835299fb4130ef280ad10288cdf964382474d34fae85ea0cd0689eeed8775bf61df0cecd500ce0cb6d986678d3b401307ab69ab681ce96dbdfaa693f12c978d7fc0b36ba17bc245b77eeb7449c4ce8764a3387605eb7ee93a0f5ff40f5c06f0057ec4f6e14fb6dd759fd94ab6c6e935497dda20f473379182002af9b11e575e7ede5fd4922fb0f3a55a6d520da0a0f1ab2f982b405169594751afbfa73313120e356c82e7d785716a51e47f85693d499eee5aefb1524d47805731deffb3e568767da6aad88afde0406e01191f0a98d253082c43de932cb32a9fc276845b4cd4cdd80412e11915387ffe453c064021e866fcaa597b71f337c5397dfb6fa5b30cc55eb962380f269df791102ae4d66479f1e8db2f0be879e0977a67c02e3fc9973018ba03db6007a15c8d60168ff3b8f096ad4e7c80234b0828296c145ab2544700d51c23b5c2c00ff3b70388f2d34e9f6339439f0778bd83fb6d4aeccb97d7482b2ae05f673032c69db309475448c9071058a45f7a8ba6fd7b876a32a9d61ec185e2126f0f82250d3c1867356f6243539b1d35d94390ca3f06e6a2d799cfa6236064a4ab564fc1919d32b4f21e69f680e6256264d1ec6a25c890eb1dd3fb098b275ef34e46e61f6a5f2d6df78c48c15563ab30b64150da3feb52a6d82afe97cbb97e64a66724fa49a04ec161ee6b3d8921b0e377a6852c744ec5d6273b0e6d34d7c36d5b5276ee1510ab0a556ab8c26019bceb57b6dae6b26df444a53c0f673cdbd5a57959b593491a454881e1e2a7bbc08c292f5312ecb7a709e7b24fed52c5bfb7137877559963159dcc104998a4020caf24758f73901c2b55537e339866f4877cf6c8039b5ecf4ee2cf0010f81b3671361e4c075fe330b7559dfb608598ced0bc390719dc1bfc24216a8a05d8b81ea2e593a34a62c19c519114f1772c6a56fb62b21c099fd00005539612bb17db7c1d02f0da44f5b388aa912c663acc95e904f6a6ccc2fd9a97644ce8ee3ad14239a6dce006e862bad45ad9faf44c431dad0e2d32e3b6388515dfc409bf2d95637a05ecf06c67d25a4c661093994a0dcd59eca07ba54a7c053a934c3ba17dc80a13f20be80d24d8483eadda42ec171ab5df77c4f60cdf73d8acff74a4d02fbee96cd95a2baf4683b5efd7d523fa0b1bad81d24084d63fe5eedf4a571baac233ff1e78c1f0d5d9dcebd58486b4adad4aa4492ef1af44c6144b18e9cb307d01088c685de1d462179e04388ae1019e8821c810a107210258bff417d7d1f2cdfd15ae47892f17c8ab5a42c576bfc69b547e1d3de9d7577e10c568fbe459703650025c5f2c2cfa9d46587d936eda9ea7166d434581b33c3ea8ee4179486e1713b3bdbb6f9e02faac21a504dcdd8c599565d3fa406f9c306fcf058ba6c35a10dac85848857d89dfeb3ef530108366030671952ed97fb1bda75edbeab681f26eae13ed2dd6cc628cefef3db5677b123ddd42efa67f512d00ebb4acd6e10eee0be5b1204c8d9420fb904b99154281742e356f30f34243eaa14af13aa947358814f7fdc12b75df02c3d9a1c695c88927b63c1f7c6523db613d9441dfd49727cee175c5f4e8512509a19ade33a25a21fd2ad5bdfce7a9daf3111a3e17ca603025c84451a4f6e4f7d5d897f3ffec715ff572c08ff31f28480df560b9b00d596041d18fccc7b8b119efe38a1f93b55e5e4799f99bd80eda5245f31ec67b32d5f30210b183b0078d39908524ef742f97acf5ce5c43e7e5aee4d30639e0eff19629a4f47542d0b98b9030c09023721206410631a51a9c79b23a84f30101c2366d46c142d56061ea43c546cd01a7f664670ed41712cebdf0815c1407a2bc6a9936fa07f70df0616e6ba67ae0bd82ba5f0cf8c39c82d70144bcf5ba2bec4883a00ecf856b90be32663c0ca42376ba8900bc98d4add9e1a6abb175024663892e6b4b6df60007047d4318786cd32f1af81d474c419ee0f76df63b1ff26457d2584037cb6edc90bc328a9654590aa92042bd18c691429d35510c65a7c8d3df22d987662ba4afc45aa1dc860f9c275e2ca7f969a3a3d4f7cd3a787300558d2f84454021f6b5788c07133c394d4e7d2dbe46b89b083a78bff5aeb12324789e1bc52b0ff26bba28b24d1ac3f3046ac9008f04db418735365ddebe5e6ecdf07951e0be5adb402f8f4594100240045167e7d2a7022717115bad0677ce13b0a4d7de6f47c12ff560b073223d38b4af7cad0753c8277e623d062594806019066d5f230b0a8dba3e54ce617aadef382cd99e09024dcf0f7995e256bbfa1ca727122f908110c0801bb01e1fa2551d0148c2efb5aac9e7995e0cb397b9643064bd183450c5cc3f7e6732a34f4b3ea99cae5a6e6b62af7434b60965ecacd8c0ed409404926b1928e4a80484a5d36762a1d536b73c7e5727fef377c9d06d0268588cd4dd6297d18abce0f88d137344984c40435ebda739ae97917735ec2c808b9a8bfa257842f2ae456d3d0c744c3b449c9a34ba07ede14599e7b6bba2c58782dd91260921f04b22c382c82d7d8915c255bc50e8c0109c9c0f4ac8a5c2cda8520006c45bd1d29fa0caf996d3779bca2f630a8491075b191cd996eac28de0604b248264d91475efaf682a8b23c274b86b23ecd55c109edfd23111a266a765c69015fa4df5027bf078c8d327a6af280394c024dac51e63a90b22baa128967c191c2153768252dd8a64f2d7ba7bc2b37d95c957442c4ac68f57c4da575793d0cf6f058bfdcce92d2da8b02a9f53b9695f840021614b421cbf2d53c4331771733b3cf1b8f7b1af277dbce4279e90649e08ac3d21a8bbaf02dfeec4a1c4a20c7839d5fdd770b09b380c1dcf42686538605db61a0be11cbf85f6de4e62a1438d0d7dad885051ce9fe38b11062f3df022f5501bce04a6a134242601d9a58e2677e2af081e0603d72203d859d46e29dfe2df8a5e8f52f743d5a7518216280a443e8f84e662aafb2180d8fddff49522f3b9b3c38b048635cdfcc59b0b40767ac729508e310340973d7800ae23b134298894eb2ade404d15f9f198057aaeda5faf9931cecf8eedba89def5a87b25ca979dd4d12f8cbcb28db7837dc085bcf2f623529708d91685759982f022cbdbf9f9c0721277b93818b68567b0cd1a82520ec84b7172e448c0a4964e87ba3a620292a0812c93fbf1a40741735d95e8df27a7142810191e65bb54804a12b3256246141530cef290f1bfe6caba85e55d2beca95faa285f9946e4bd579e09b47594f7c239c758513c1d473b82800d1b1395720528e3fb075f4fd10eaa4fa3ec098beaf9760773860c0149ab207f4273912065898f74c6b5766154063f9fd81142445757949306e33dc853c9792ca909bad2f96c85f76c61f4f4481416f78a078f851c0d930c5bc24cdeeea2645fe1d3a634c883d5c07f171e24ee1ef9379b5785ef30239c1aac644867684471309d5445fe495f5a8fe52fa5803d48e84051a9be2d0859175e39585128a78eca500943383180427270865397d47eb8e86640e5055b52b7597d5606332703c54a485ff63b02a5665c94e06c5386052f5fbe5a7d59ffead33253635eaf0c64953013bae10ddc2ca244b2f26293630e7542d2f77e35a40af6a2917ab7f29343825514bb25d6d916effb39a6da3894d522d76f59202b6fdce735c32bd6d1ed7dfd28b6682ddd465b9a6c162d5af504dbc81cfeda2ce077c7ffd0fecdbdb914e1efb8e6cf7fbbd2f660a30aef3fc9e428d475b18f19be6124ce8d5be467d5b6980e03006828f17857231e831553f87a59577a9a4d35eacff253cc6236bf47d078f59428cb9ee00c0d5d219fefbbcc128f41f658db2cebcfffa8817c052b367d536ce88053c533678ab7da397c71f3ff5fa99320b52906cadc160ce25b00785995f7633e0a2276afeda252404a4808ee625afe7cc6fdf0367fecfba20117599ad438afd96f192ffecb7ab1cbb2c1a3efbdc2163bf5d551a2aa149a197879a47f15c4634a44c7d79df4fe9be19d93d4ab8177eb2c1b427b4ff99c65b07c30235378aececa99ec06279b1131771db64713ab92ff2d45598546f680cc8af675b1ac189e46743bef8522b253bdf2430383fadc7946eeaaedc2d444de2e15ed98b7b00324e1cff10550aad06e29e4594c9e78bb88ff0291a1330c8e4bb5db5af47cc67ec231e46c6de25e5b6f3a305a3f88014cc71479e1eaba83be14b8cbaf4a66a3c325ca72ffefcedbe86adb80dc76c5cfbc7e17f86b6dd70a6869503fa1dca69162f7b13e2cdc934c0f043240296fe472de872053dab56e0bd3f0e1df91ddd1b08a6a9ba3f06b1fa0a4407a3855375c5d6904dc6fe8483ef8de6e2d0cea70e97281116baacaa523f93111cdd5f4e205ae5dbed67398f915f83ddb1c89069a85505803ba6c44a5cd37306aaa733d175b722393dc3c21b711ad38461392cbb0b79513639b8d06f05544f65b28c7aec38ad3772ba613e72bcd181105169d227b525bf2a191c8e8da11bbf7dc31bf2f6dc60e5b30db93b0a14a199c34ed792676618a4be89c3179b110220a98a7e1c2ad6dd580f7da8bed5f0363b6d77c97594694379e5e5e194780f427767240243c3e7d18f4f8a5c36fb6e9e6b08b88238ae735d3a77bf57df8c220cb43c6dc2c1c30b9dd99ade0263c40af4d76d8bb07ba5a4b0fd86b93b143bd28b4dd4f289f6c48d6429de1efff806597e86aa59210f0e54affb22d6faf2a001a0e36ecfb41f0018e65c6daf7463d96632b881f10fb4cafad3216fdfcfa90ad7f22df0826fecfcf0c48c6c3f05aec015ce490f9dbb0b2b4051b291cc785ddfdcdc39e319942df402c17840d47be1f40752117cec7e26d379f2ff861c8362744af447a002ca806d611d102faa929632ffcd4cce5375320539ce50eb6fb2d4b499bd36f5e0260ae09ba12efb4744b69b895a5d92dbdb8fc373c2a4dc808bb6bdda6f15dad693f9e7413664fb6269097f142f11367396385cd19ee4b36b68d06c06bc5372e85a28679673af206f1d6700403a8f3f687d0ff63dd9b1a763cb5caf0ebab94c87f642e8b57417aeabf12d9172d7a9554eb8132afb0100e656916a17b8696aa75471f73a514b530848642f20e3708aa894359bcf44749627a59752f75eb1debfcfe724a10033ca6339c5756040fadef3c96634ef84e5613b557a357ac3e56bdd6e1d8ce86fc92b97005e22d314c0be76550dbee8349c74ae191edabb30fc73c80320be3f41e8d3077bcd9641108818db385a6ba419d86fd4978a96fe511a61bf9cc02e1151ddba0a443e4ee31ab567a1b841a1b051c5db6a69145e89c3e5699b1c0c57c452ce8c5d4d58f9280e101ea431033b7a74259fa91f7a429cfbe36f6f7d5ab11ab0667bc0874a1960e3a93976749a31fda6641ca33a47c9f78ca8ee9fdbfb1793ab6540d67e9a370188e0b1c60acc364efa7396e894c442a341b9d3cc4712ae1b4836f81d566dbbed90c7ee15748eda481910c4339ae93938329a65e094509bc1c2c2c4c407234c5c27fede7abae87d17648a90f084f136e8b0ba33063927f11feef5f3a61356e964a2284711b61a668cd90cf80b18517ca00d4928a6c1a1f43022f0866b4fdd6e160746ff1dcb8a04eff3ce799d7b2393faa8f15c0d4a4b8a751691e0dd7959e5f021519b185833f108a14177b84ddcf5c9c2ebbf6d6fedb0f9b5f5f5967954f04f6a65d55477546c3bae2dae2d987c0147cf6c9ce8d14bdc2213275ab22753ce17a13709ad7a8f6d34014e885fe7d32e6abfea09fe87d0a28b812807ac778c2dd45b63e1309c27448791fe3445f09f715bfee103fad7e52ebac5fa1d7da13e6b19870e85e943e819dc763c92f40d5cf0199088ea5cb18cbe9602de841a4ca6203e691d888b457c7ed5c87088c02461533cc25784355bc9ed3b12ff9b14c4e0fe1e6f4c790b7e8cc68d8a5c16c37f1ffdaf37c1e0b85e346bea7025bfd5905eab11bb6c1b9dfb0a692195979b8cae49586af4fb5b85fb0e3dcfdc4996a4c381dbfd955923bef23eaa5fd80422d35c16d4957443fbc3b3741c13cad4bdf842410a27e634e2686bff9722eb228a2972c4f48f2062ca79bc0b83cbdfb9228e498e3ea651e75525ee6a436c24f874c07f281271f49b45c109cd330b4151fe8d6e4181b04528f7f8ddfddc1e76f5539d19dbaf720bee00d01170deb726ebc3ace86feee343d9454e6d658d79be7cee5e0250d53c1662e4ff2d8e10725089ed1aa8fa6c5bac019c6895497edaaa79cdec772ee265463765d0841f24e7a1c95290d000af13b765ded1e6c66ebd252e0ed68715c03b2434bf9b3690230e40ff84acdd94ee181602a8ef1618d1d0ac40eb4bc3ddc87f5e7c2eadea6a94f19f905b34e4c3f734790c1433dbe05985a272458d2c1d04ce235ad39dae99b487c13833583c89a06475e0c195f4ad90b0085f406b76b1ace8abc26a1a8045f21915d10a49368461e2378467434c755c25c2c2a227d9f4fe3d852ce64591c95e14d38ee1d41206196d8d38790b83c000f77c16aff654f5b4f1874382bebb593ff6d23dbf187b2c7bce9943d4b7e8b0c9e8c098cea1fb341b2ecbeba767f7fdf2c8b0f93a57a494fc76ac4d6ef599785c0d708ba38e0ac06d2e95d99f10c55e18387982d2663b92e8426cc20b6f2cc6b5c839abf234abbef867c87b7820a8784e06927f063eaed26e753fcff87ea8aa348c3272b80af92cb1c1ea0dd7cc2c3db359de930c6583a18925a870635f97173a30fd88581bbfdc9d7ad9285a7fe546957c9a363c4d142750c560a585e8226ad24085362b6252073fb3c36c2320397481bb13416829880f8a760bead42162e1457ba549c2ba08b2868884572816b30a8530188ab62b43df6e302c501d1e36606766476d00ed2fea0ab91f482b6032df9fd00a810a177f0a2c37d3548a1430b182f101a255c3e2898808963701dfe57c509c88a9a88509e2c505bcc7290ca5e80610b03bdf360ce225f1dbb3b08029ce252841272f3404c9b379ed78515463511e21f38ae6d99e8029cc268816ef7d1b259c8871992f0061826519dde3775736729dad93a02f0959311a862a4f0f05563395e0b089197ef16bb622b46313f5fb6592d7d969a2b05de374fce9a06983d77340a1bfcb09059ccb4bfbc75fa9989c0275cd7bfb7a1d07f1a842844d18f62f521e877b39dc2270ecd7e7069bdb31f53b4be60336a5c3d71d982531f6d3ad982fce1ccbc7f8c9da4c889ca914f14f44d9e6743a05df9c892b0670daefcf10053dfe0426390228544ce62cff7b452a8c44184340aed3d3589a0404f43d805422398e475e40c95fdc6a06295d61d1470060f5d20ba6f464f5bebe01addb213413574370580556139b1dd8170e2258537afe3d337d91b0eaef363a3e127e957c5439bd4b2242e41f274c5420e10530397c231767a5fc126772f80f3aa2d9b59e50316e9f042c55109add386405b050104626d45dbac01726c2f5228a0658cf46a838647d9e1f46d6f72c08060969dd2389604f4c0721ee795692e63748cdb81847d3d6a954bcd6f692781ac82705ced821add6e760fc01c6f0010526ac8f9bc8b1cc1eff5fd41230e39d42905a1d676d5680538623d9569583cd035440e1f0ea2d2a7dfdce1554c5a615ee5b8049bb0ed07e5251ac0584311fdb367e2421800c93340d790cf3a56554501c62a8b88e87b26e4c8456d85ba10d76c2258bcde965da1c3b5ee51e90bee7ae69fb4271220992a5b8ec6c176f47a30b64189386f162833101cfd8aebaea93a84d8576a72b5131da4c7a4115cbf9123b5feaf9ba00f4309350ab2ce1d5c03442349f424304ae93b4e9d59e76c808a7e6ecda77277a2c69344a791d882e1045f3b4fba5752c15d5222bbd6f4b3fe4162c91e400496f3c5e287e89dea8b15059dbdc5a0243853a9091ad3bc40b9e6555daa0319cfd8573b3ce6d27a17f649e666b3165da3f82311862228b19284612649479cb858c398093e86c830995a73ea3415ac2af927f8aceb49b1386653208b84605035767d88c0ed40ec8b3d50baa8a4124196632b0457b40847cd8695f829f48aa17670489e8c7fcd245c232a485c1ea1406568da7b06298e8fd79f5038599eb64665a93557d0f3ae7949b5e01ff373d778c92bdd0901ad7e0ee896050a5322d378fff00b2e6cb3baec11300cc4806ce8dace4770d16f671c766f53693240b5e27d938e78d4299fecd245e54be647f50430f0b2989a072159bdd4520158f2b9bb87e36331243a816e461416352344310b6de9150649768a73d7ce91c0630694f0bf44a63af7ebacca6aea4e6aeb53fbd567b2759c063d0d8d033ab6fe9bc0def73b29aff78c8730c315421ea987c2eacac31fdd662b9099a7865b066e1bf7ad8ef9a76539ad5e667398043183e0c5cdf52955cf620bf12d89b7dcf46d325977c50ac2b58cc365c6ebe3829a23a5c7e1a4b904f0346881478b175b91a130c85a299aa3f8cb716eb93f2ab9c3c0aaf92805a759c36fa996573cc8d9f7780d69a4d9149f6f69b6da99bf847c078787fdb0d02997a08125bed409f8dfb2d0556932b43a419a04485891be6e3e62322d8b4c713adbec3ecf10d94687a66d5fed64d8d9d0275e74a92750db80ca1be6deac0234b68835b17a081aaee35353cf24b00558133b071b547ee798ce8cb6045aed6c209c4e7023eec44b00c3750b0a49003f3ffffffffffffffffffa8ffaf82bf066e48992b41c2e23fffd5923237c986fda981510000000000e05bdb6c6bcd750b2082b40caa0c8d0c88c55ff558c8e06fdfe594bfb44a4c3286f5c452f81376d2f217831d795b72d447afce87c1d4cd28f1ea68da32186893ebafc24d3c550140f0f8421b77275bfaed85b2d2de630ea67625da05cda3661e3921fdc43cb85098a02a1f4c9224be72028f2d54166acddbad5f3da6052e442d35a59c63ba89021e59386ad4a9ebc9d5163716c89edcca6fa1e384ea7185f384b9a88b1bee92ac8715748da2e635a62e9fae82de1dfe2399296de564f0a0023995667b824898941283c714ae4ee225a9a39de9581e52d8d375ef9210e27146c1cb7add3d495d42df1ee30c32a0508b58e84bcba7f96a8f2790159b63fe8d1bf08587130e9139164b8eb10e1a147834a1a8b1b52e4f9c87ca7930818f96f345f4eab1044a53ae8bd551e37335d2040f25f0929bbf84f8c670c01750f0484262ce1ceb36bc8e4a070949e219d15ee2114e1e6359bd16bc52ccc308e6d7f69b92aed466d1c1a3088625cf917f62fbdcba060f22386772c97f0995c46535780c61fb0c752909baa91a1a111151801786f010c2661f3a4eaa9cff760fc293e9c23f460b04ed6432dc5cd8a8693fa83fc3e72af1e203ee3d6c4a7a39952df1e8c1a1b246ca48895fb24744443c78708f6588c6b6c9f9937680c70ef4db98fb6bc744b3c40b0020c14307457f9b896637252635222262011ab9406345d5bc72b58c3b0b0e19628c71060e2723c718641c119111d0c0055e92f0aa9bf6eb3dd780c62ddeeaa429bee447b68a010d5bdcd932a9893e925ff95a1ceb75757252a763438316e64e1f99836ccea0310bcb3a4b8a4eb278fa94862c12e345dfd34c3b49ecc4224b4276baeceaff39a3018b63ba8b9438cf2bce398fdd9dc7fe55090d57d4255e9ff5bac7df40a0d18a72f8c8f1fce623d16105a5266795ae09b67dc2031aabb8232d9eb9495682f5aa602c4997e768c9db523ba0910ad2a2c454126d3775860a674e4d4d30b1377690c629f8f4d95437d2523ad314b6ede59c3f5568304f29d08a675aff612d894133c6a8800c6890c2dab8c812fbad5fec5124feb92cceba4b9c9815d010056b231f74725be2938482558f7ad2bbed57b8a0c0f2663dc96f52ec083fa16a5ed37acdec70623c91b8d14d12a6c7e4514f2790fa4d62e6a7712d0b27ee8d39ed4bf1c4ceddc47947c364f7abf9dcd184e953f925d918bf2e134c6696f09dbc3b7ac684497cd38a3b9763d55fa2e9bc9435f8961469b10425a449b1dd4a1813db4a58dbf9c451edcebe9f1294f8c95dbed14998cc044d0dea91441bf2727c66ad49251a89eda5add2f476f4349030354aeda6091d4d9b472827992c63d295fe7244722ca153cee94e2be14674efb6a6dd2323c8f029d37532ee6d5fc4fb1b9f64cb62c9ea2bc23761d3c55b6da5a824e2f60f66d1d3d6317a445cb9625637b6fbe73b44a6ed396856b65c848640b55b56c642dee65908ad836636a98496ea2c210e6db25d8afd9edfac4114ef3357b7bf85bb8b20142d31fa694952a5601208e3ca53e5cea1ad631a10a58d392dbbc6fe607ceb7e4c397e304b66533d49ce1727da07a3dbd39fa54bb9723e58319ede7487e6347f0f55d27c5e3a9dedead283ed269426794235979787527e9c9c3eec4dea060f6ef4cdfa639e4e3e7d4444a40a34ee508c9ba773ab55dad55ed0b003fb2d5b21258951f1e9028d3a605e41ca2d4a4b2e450934e8b0c5df70425e4c2df9d09803b9de9ab5b464abc31133e4d0caaed9a5b3e90d238d38a477692dae7277661ea0018753fae9f34d2974cdf306dcc63dc949fe92e0be1b4c69bb9c4a4e9829b30d4b273113a7b3c995271b2ec17ad3e368eef5780d686d98ffedac9766a386a255574ef2c7bfd92b0d8a9448e88985d47bd0507859bea0dd194abd1ea52e8753db8d19127eb64fbda382e69e4619acfcea27a7bc498a8d2183bdb5a93194278745c67e5f0c8186189e4b61d531260c677745bc0961728a0f062a859be6af4cf749fa0b6dc7540e3b51cfccbc60be6c6659595bf404bb60b2ee93f37f5cd345b9a0c925e53827ec5a0c0f8d2d7c4133540ad3279f50d182495a33c9ebaf73fba291853b27d1e5724c6162712c984acefb30e12a33345738a3627cd6cbf9af142b58f15292e5fbfd7f170c1a5538554992f027577abb131a5450354beefd9867c1b6404424694c41f9f41c7c22930275b2a670693bc6ec380ab765864debfdf8d9820222d61e61a1d278829b93e78ae7abf1b8d27002592d7bc244c54e9220086834a18f9b95fa7655fc4f26a8bef1cad7b3c718c6018d259cc36b977c51a1a184a636475dcf49904d4b123a13c6633e8f96c93a5f904103096f66122babfa76853939822546480c933688b485d8a88d888880816308348ac046988b7b52b7de2801020d22142789faa1d51ef5471a43d8ed2c96568c86104a13a22098a6b9697cf7939f2c253480e06bee4eb99694ab90c60f121a3e306468800ed0e881976795b929cdf885684083075a2c29347640c74ff25daeeeac3166041a3a382597d1aefcfab9371db948ca962c957c924dc78e0bf2b2e47c35d4a87e7074dc8294b113c4fdb4c44a0c326cf1fa995fdee459ff643b6ac15b0c322565064f61e9a045762a766f9a71860b2ac0808e5994d2dd511fb5e15d0d41872ce84de9d2be319ef09ff70ec4a2b095dabca053da96093a60b1f44bb767bbcee8e70500c6d0f18a93bce69be4d194a9f32338726c8e0688a0c31597785e51dfb36074b462b1b0abe07e9d255a5841558958cabd9e43e465e0703178c188c17680011dabd0c4b079b9a98b9fef0574a8a27471f2aa68ca59fe644444a405ee818e547cc249e265941cab9a76a0031579df6f6adb9c1108749ca20e19337321ac327b1ae08507bc18c9b114c80e539c6de2c72ec1f4434f608ce4580a8ce4d8110d7494a2f40bbb9c33d4418ab2bff4c939491ab375d6318a63a854631799a22f1e111129830c1c609c313420222203325844c4cf9681c3cf186444a04314779af4f814132d7b38a20030bc908005bca0c0170e80c00cca20a3058e812f3ed0118a4c8ab8cb396e479a6c0d3a4071dc6ca61ce72712fb4eaff54bd4d5d4139a7730cf6bd294ffdb0953473773897973289113c64da1e693f03e151c1d46c726b83641ffdcbd1c7468a264e289b236966335d39189e4dcc13d4549a2cdb79828798c31beab85699597684c45f47daad26a342286188be3745842d728f393fb364bbda3124ec9ae3947369314df0d7450e293dc55c772ee32497a12e6abb4dd5d97d37ed621893ba2f2e4985ad3ac2a18a30322222a18a30c11911e63cbf0a22312b67f492758787e13ab111c332863c70883b50312fe46dc4e6e79c81c8e4ca0e311a5ea2c1d4b53688fea882c2ecb6e3e496b9e938e469c728e51556e2aefe72fe86044a79697ee628eb5c617b109191696ef64fdf20e4510219ae6964fbcb41341746e25a90c599b1b11e845fb9e9bcfd624e71011e8300471d5b722b725f6b985284c896e752f9ebacc127410e26ce6de15d41c846561d389e9040ffb0a22d9a2a5a2a25ec8741d81b82e991893c64f3f697600820e72b91e3bbbfdc8cb384444da7b0cef000d3afe607adb5441c2921467e9f043266a2ecbf0f59bba0f8eb6c7b3934be84d793eecb926663a9bf740af86cd73d76d2fd10e3d24b65f7659c7b8f937830c18e0c8b1231d79602f7754ccc3bf92fc8888480e1f830c1c08e8c04393537e955753b32719111169c119659071c60b44444ec71d3e39b37d2af3e06eb2ee022f4344a43aec90655cf5739353bab2757043b493b0fac9a5443763cdf0c0193ae8d009d9e2397b47914a75a1630e889ee027cc76e598d821072a733e4dae9326c92971480a71616a53100eadfbc5b8ea16bdea75bc6149cbd1b2fdbb9675acd0e186f7c4143e25dbda508aeb55d7aaac720f1bf0b4529d13dddcae1f1111393e72f6012e68c11919e8584335dd53aad973d8dd4f871aee6c299ee81b1542471a8ed9aade9fd25ff2ef400395eb9583c5f3afda1ec7181af862066334e00bf708eca1e30cbfa66ff7a8a819b38263051d66582d9786a8f79f5bde8b2fdaa9a30c949cc418db4f52db18ff020052e8200373b2996f25e745123ac6608bc5c8e64fb1d26531f4e197337c2b7b99541896b9a8b1f9eaad97d201863cad6cc9d9fceb5463838e2f1c3b9d85ce0ae7d9f30e2ffce3539fa5733abac0c4657bcde75a5292eee0c2adc1fdf3e725336547444446cc18a3630b874939db1f3bc9d943231d5ae83648b55bcc8895c5828e2cf439c74b992ed7b55f15f80206de011111187819df8185a4b73c0bf9517fdb1b1111c1a1827500053aae70659a1334653b42871570f9fce2e671ee4354853e6d6f89e97a7e2d73847164e0de6464800a6da65af1cf955ecca282cd41c71492c36d7eb91c4afad6665086190f10117101123aa460a6eaf8979a57d4ea2874fb399f25496dfb12071d503063682ddd4b82e46f39c2b880888848c7132849a8b4ce9fd2d52422220a984187133259a572cb676a7c3a9aa06d4c1bab42a6f38c7fe1230f1023cc390242085e77e3a5f2363b0d41069175ec2c557bc2d7898230c5cedf490cf31e7d09c461e4ec52dc8aed388d888800010410a54c2f1225597905e40f070f7d1fd2c13f0a80f821b9fa53a9c6f4fa49960a207db0ddc5622e29868ef8fa05207c28a5b1ec1c723cac67207bc8c346c6b79cc3538c4640f460badae6a66d548e4e04bec8c39b1fe1c1c4cb245dbf20e3c700c183315aa5ebcc5715a7cc02c81d5431c1246ee3322d06103b34f5aaf93acd5c4aee65b80087196790b122220a9804481d8cabdfac9437744033e775894f63315c9039245f1213adeb9424e104440ee45dd5e70e265e126f90383c96376762bb899e3b4309207038bca5f8af548f888890f186a429b3749eb1465307e286e369493e1a6a725d40da702c49c8b75896d13c0fc20673491ae2e932f5206b604f4e9df78c9fa6240151833b97e1265509a6528921c6e2004903d5a226886bfc123fd8ee657c8fb13840d0b0cac6a8263621973f67f04efd3bf22c897d7319641c1cee657c192066d03aa79a76aceb74d265b073bb5f8e39499e3a0d840c5d6e4c27a65c99b33c9031389a52eaf68f9b71c61140c490074f9b3f6d98f5dac3e0544a1e3756f8941f83210b9aafbf44f3d85d8e1000e40b069335c73ed92d569da38c334e1964e428008817888b9b24352ff7cf2c902ed8d164b5b4944cb22829c3cd00e142ff7be115f6531a870b5a70be70410b1e300331c6d0c006c4d8335e100121806ca1684204a285425e64e3b203c9022686f2e02965acefe00678008205d5e3d5d3ab9a183e8d8888805cc193e4a4ae7d171151400400b003102b38731b1a9d43633ee11111112fc3052400a9c227688e76c47727312f23020df8e20c102a18b5dd93d859994af4a7d0aad8097561fcb6622994a17627f573b5862d0a459b8bbaca12ae290b052b734f5763eeb1120379c27e73bf53e15effe97b072a00e284e6fd4a92a5ad30409a70f8b95c5e9d0761c2d32697465fd892144196e0f64bc555a6a6ad3e222212811c646c60c48c3042700210257829dbff97ce96db35064812fa9ce265ab7892943c8e04cdab3c496d8f801c610fa9d9a7e2227afc110528e00b31c4f007bc77800b204620ee04cd277465ab182c82b93dcad2c6547276610084086a520fba1a4e232d11800ce1b8a12e1926e36328857008cde995040ffa770109c2b6e1a24758dffdf940e03267e71f0f092b393f285293b9fe9de748e603ffa65b2f4d945c1dee813987bcb8412e999017080fd6b912fee3b20353459712d5574fee940d4074909cab62742f2db7ff737167c584eaeea7ac16177857e792f45bd46943556f8ada820deb631bcdfba8459d5473ba5f4f0bb7c4c90c57f28d6a3a8b2c37e73bcfe09a23238b4faee386cfadf9677ac1472ce8f9de94e24fcc2679061fb0c0640d96cf45b57daf303e5e51b2f8761f2efc49bb02d9ebf8d531c24265ade832cba9eb09b1824c4d8db5e61a4de3ab2885a496e0213fae871faac8fa3f89fe296349a58f54147aff04d5a9f8072a540d257ae8654e816a8927f4c917eb3a99a2d024c9e7496773735c8ab63d7559703f4891b5dc7cc7680d3e46c19a9dc5959dfaab93137c88e2768d69a1f2c78f7bebe023145f1ad7fc156a3b3c5e820f50183e8931da7d86d57e32f8f884b226daa55d36fd394f1c937407cf3529a724da0966f77388a98949a894093e38d1e6c964a6ff7cb2663f36718e8931171a4c3e3451ce766f88be2f332f0e1f9930aca4df5bf7e875bb0e1f983889c1727ab3ba046eaf1bf4c436c926b6843df1bf264c4c6635f05109c7c2cf7b7fc634b993890f4a90f7c9a4bdae1c53127ec487ae5e979ba2a7b4e14312df5fb4bf1c5fd28c1b897fdd3c353c7b37497e4042d9fd9c8a9661a3391f8f505622b347d9b4b6e11a3e1cb1e639b9a375d4306b37423bdba831255b5956b9f0c1086386f0f1d4643f195bc4edf775629594f37f760a1f8ad02247d35b5d7e129348e12311f94ced941863e56c0b229296482ffbd4515de2868f4374ae29ac9998bef2840cb19898b6444fb1c93495e1a310aee76a6832a1733aef8310b785ebc928894c0d7f0c42fdcb5e624c975ca2891783f8100467e143c6a8bb247efd110857f6c6f74cc814d693830f406477a6216390d79ce38f3fec1764d7f3874e69f0c30f6538a973e8fff461b1dacd7461e1c3feeff5a9e53139d3c71e4ea137e1994242f8d0c341b73faee489933c79783623d636ae6ad82c1e32296d78ba3ec91dfb0ea53671738650d3247976e044f908f3947a9143068b01317cd4e1e0276dc62b693d27a10f3a24b9bde7cac57cccc18c96b65d2ef74c4e97f02187f7f7eefcb44f33d54af888839f739c0d269fc9167d387859572d0789aff4d1c71baca894d2690c5db3e0871b5c1b8fbed4967bf2ff6843c192789c59d3a88faf19fbc106a56e6bb4e5a4b2c91abc1cd5b42699227ca8a19016a3c4a09e6faba701cf160bd5092dcb170dd77ddec70fb9183e7986e460619fed3ac6e96c86624fba65125d1beb94418bc935ea72e8830c492d72317e17cf7e1fc39f339918d9d1caf604061f62604733a455aac74d0b436251dc62b48b7792c5041f60b0ccf4a44cce2498580b3ebec0486acc255ec5cb7af2e105e2d26c8c3bfda30bab9efc39ddcceba793f8e042de79cf6fbbbac3c55b480a9bcf524d76f192d7c29efb5fa3897b258c9e85ac24443b758a163eb0807e1233c9b70c9d97207c5ca14bbf581f2a7585df5881968c5b414efeca9af3f0518527cc2c4ff80e25df3a2222222202820f2a94ba3476b414ad6c4ca2f031854f88faf8fcafba1f49e0430a5f48edf088fd113f3fa260be3c57b7f1c64c4a28649325aa785b482fa12794f935f59460799a72026739556e4995db3c5b2ce00559c0c5e0277c34a19bd68e12ff9aa6ff60c2239a45e792879d125c0225c80999322641a63f6384b165b4163e9490999c5962c992166e4942f65f311bcb64358b7e2021cbd066aff1e4e2f371045aff2bd47a94717c1881f5fc31850e1f730df11939be08c147114e9b7453245edde723c257995f72cc6c7571c4c710dc8ad29aa7c474a265846090c9ff3fe94f9ccb7f04c15a693b35bf2e39cf62ec181af0028c2f3e8090182cdc7dca3153f4fbf103eb2c8ffd7674444444015e8ce4580a90a182068ca1811690518604444472e4f03132f1e10333790a799a9ad5b3a607df6559d67052b6d9f283075426716e3449de41d323231788c4c70eda3063f7d117277c6a820f1ddc69e26c5a9cd330518f5cb83216534c88c50a8e31c2d89173010f5ca81be64d1a97d4ba131c78dc62cbbf95b6f15e791c16f0b0052a79f5f9d36aa5886be0510b22a35ac8fd2cd52d7ad0e22df9a4d869724ae26b23222236f098c57d629d1053512f630346f090c52963545e0f5f1afec7c294c3a4dfbcce69638745c9b2d63c22939be4bee28f179f6733e48bb503381eae389cc9b93a2dc6f092c4a3157b6846935235e64586040f56b0254a5986cfbc189355d426a7a86e59a6f253393c54c144c50f265f8c1fd6f648859bdf5e2eb405157ccc9ca89a2bcf2ee614e4752829e6ceaa49494c416fe5d7f32c0d527d29b08ae953c7e6a4480c194bae709abb847a14c9a6ad66fd4b9bd51ea2307896bdbfac108542d3943d4b7173959eef010a93f0295b0e3ebb6d299fb84e12349a983031b37978e2696bf5749d49081e9d304997aad5e267d1cad2c08313755af3aaee10b1d26e82b168b268c5ec3e19e1f0d044a2bc47850c6f4994934c9ceddf3ede69163ded81094e12ef3bda24d9cccc25c89469e36a8c51b93c9648b2ee788f4d3b21a32ff0a84479272aa6b9dd3c962930408107253afd6462a74ce295d44f82bf202554da7ff754246155df764e35129a2c1bde6da3a8871012b9ad78de929fc9783cc2d49fb73095b40ba60b3c1c816a9eecfc7a6f737e232841feaa837448679718918a5cce904da27db2248b6047b6dbd432f76bd0021e8a30644ade29569d34ba52227e8d9ddfabd53463120f449467b1a28ceb710836f46e7a5895a7bd473c0c717a889f7b545ab7d0113c0a919c2d66b292839d9c312188b2d992e43027647f4ce03188bb048d31e36c1e8230a77855cf12af29a5d7231056be853c31540aa1790f406072e6b9c9327663e11f929e4b91970aad174744442ee0e107aca41403f0617edcbf2aa6cca30f54c95626c1521cf0e0437edbe3a39a37ebb88724dbcebd78b1cee0c330838c3128e0a1072224efc46bcd396fe391072c85cb41aeb5b2e7cc2fe08107f72b63def06997393b82c30c0878dc81782ba9625f4c79573980871d12efca04ffff8c515f8f3a9029c94979ab62f9a91e74e832f3ee3bfd7a66b4071e73f05a6bef43eabd859fc861cdd1d584933547eb1187a4f4080eeaf10653f40c80050f3758d133401b92d88045cf001e6ba0a267801678a821297a062081471ae8f9ddedcd9b635a01393cd080644931c07a9ca1ff90d2b9c9347f8fe46186f34a491ef369f94c5e8684cf9c0e891d935f7d882aaed45f19557d3a8f14928a33548ab57e6e479821a8a8dfc478715b39ee3aa7a0f36b9efe6c89ca31c414a564fea49b967393382222e2828d418e9052e8d123444c4c21be1c38728461424851d69aca5ccd3f39eb90515461a45c726d4be8688828bccedb39e99721a1c83e9cff74f828b119505cbeb9b52e6d56b030185fe408f9c4a95236e9719d99f2423c61f2cda55231becdc6468474e2cf6ad9a279980efa0f228413c7a52457c6784ff37213078b9eab29b79a307adecd9c3f5d4a1592893f348d455b1c118f30710a2bf251d3d6f5e6422e412589cf1ae3e6f22da1447a4eb1d3728a225522b34c1d35f2173226a1849fcaa6a7e2345747849049986d66a22e264b2c95c43132c45efcb79d584782cba9965b3aa44bbc21844022d9d2f7ccab8775ca421e81892135e754414e4b2ac4119a34615ab1659fa21dd2886b54ca245fb90a9b6384b163778a99e494c46c11c690216b7e95b257390a518427f95925793588a73f11c7246d31af4955c98f8837e6983f5a3708398441e50493fab3866d6e08f66636277962346f26a4102541ae3253fdcbd34a88cf4bd63095df2e6a6e106e2e2958bccd0551a72cc9e450af115d48202ac12fe66a97ec974d4200d1e9e73429be4bdeec42fef0bbc59c84ae8aaa24ef0736f553575b850f960381175d811984f48178590dbdd8f1524ef221293c4f343967b4bb37640fa6c961e3758ca94b2e4742f450c684d74bc46693a4903c4c20040ff407976bcba9ddd573872b67e38cb6ccd7ec83103b183fd27763335c59588793e7f7a896ecc326b1103a2c9652123a7d76b5320999c39e317f0ab57932878d1cbe53d733d92f4986b58ce31d120766c37a10d5b8f73a8143f137a5424cce14fbbec1956a8f33264474988c8c7146881b6e2d4b9932c546adec48481bae14b7a64243a43970b819eb659c1036d06f2786d7d0b147e590355031976e9f4a0593836a48c88bfee1b56b529202839034502727c5a09f7ac5a32b084103617b99d7964cd4d439036292100642cc70b6dcd04dab25ea86cb8075492e268c1b420673b3fd25db98903174ddbb5f714daa249b8841db8c9f5f73bc24fb84a1e816f1f292040c277b4fb6d62666a51007215f30a348215ef0338997cbcb2ff6a54744443aa40b76cee598c4fb1ce75d2e9469e5c4d3f35bb063e0e0902da413bf29c9299da7f4b5a086583e314e89973341481612630c994af2248b5470082158483231e40a8a894988157ed7ae35319c2155a83a8fc9d94e6bfec5102a1c4e56531579ef6a730a6ecc269c677bcc314a232222220891c2232abf9697d7529728e8b9ba657da12abb33c35510821028141be3f466f6977add439e9060628813f4124910d284bbc41026984c884a10b284ca84284409c78dda9417f74af6842421eb7c15c4a374eced4744444290e026d1cbcbf4e5e5ca90233c95494533e98f4929214648928fd214ed29a705414811e81243887085675da8490f081942177be734574eb9e4b80a4284d0c77c8d5ff53d970f094242b99fc592b2b7d60502ad9fbb1734565c19437ec06e6ace506fde5f9268c08b101ffcb1976c4fe71ef4f9a44396be9c78d98888c89361213ca87359923fae3c9a142383901d5c2d95e6a75cbdabb341880eb494a4ec3ef9beb627175478add050332e92d4c384fe174f13190c28d4b8c57923e35e59a633c716e6bce215953a594f5b0befcee259a8cf962f568316d8a4be692e675187c6a049b4eaac6aca028b8cbb1cb192dd24a258202645b96b79e9bb938c1ab030cf4cb77bc5ccd1ab1aaf30b649757267d8b6654a714563ef6da2ff95f35b13d468c51f2df3ddd88715f5a7eadebcd853f15f45314eb0385d73b2bd2a4a4990923ac5bf94839d0ae493a588bb092a0ea9f9265c79e6cdce290cff15f6b4d2a6e883fa5d7f3231133aa5a8e2e6182ad69f9cfa914289f22459e8acc5208fa212e2a5e26353ba1c8a229373b298e2235bb20dc539ed5923be27da1b50dc9de48c7e1ffdc4612c89bfdbb227b493b3f3564adc65b3138586467d898e7c5239919eccc4df979be883d44e85954c136f4d7c79eef55993609363260ad11b73baad186b464c24d74fbc68ab5656ff128f7f460913a939e5cf12e5dfcbebdbe6e769acc4a1abeabb4d8c126abd5f9ef745e6304e82ae74b361ee711a9524dede78cbb12fc5bc9410d4880476714f44500312ebfdcac67fb024a648811a8f303f4bdcb193a385a48e38dde8bcd5f58daedd88fa3355ae649732e7fd05351871a8aade5aeabb98e54568497e4fc65aae6b55049195cabfbabed52c89d0377766d8258b62590d4424bea47d748b5956e721f84c9224cfbbdfc68b396a18e28d15fc4e4a75e572350ac1a8eb65e53149a4454214acdd52e5fe6a0ce292428d8a5c78c69e5e78f1c51c6a0882e8b518254afe37e9bd462098fab0e94ae6da2d03883a774e9d31349c86f987ea934ec60f0d15affce0f9bd5d8ae219659c61869781638cc7d1821c1b031c9e801a7db8044f82550a1916d4e043561b63b68e1607bcb8c01758630f67847df8123a5a430f9999d74d46eb0613ad91074ed58439f1c4b320690d3c94f62c5aa86c6d7a921a773095acfbe652e3713408d4b083f326265a9fd6a843a2750e7252497316ef8888c803cc700f08e08b04d4a0c32f91b3de6fc9724535e6f05c8c3ff56d55b6311aa82187fd745caba7e3857f35e2a056b2f469c6ead2e7e1b0ecfdd8c5b7e42625c3a8f10632a5f658954d8f2adda0bdfe4d5bcbda48d48626ff3e9b97246c28ef4f1a6bb5d330d51a5cd392a8cbbbf7da5103dfa9d9543d25d5efd250da9ec6749b6d0bdf1935d0b0f9c670f629a4cca630a87106be6493a49bcd397afed430c37353992a8793d1956a50a30cee44799428a51835c8a0a67c2712f5d56172c68067ca6b27e739831a62f83f98c79cfaaa11862daaea899add1fd40043aba2a972f2d0e9257fa1ee14aa4335bc408c669b68255d9fcf1a5d2873d28c7a1617e810739ffa7cec93b705b673c94990ab9f1e8b16c8cde741664bcabd931a5948323b264a9a8ce89411119116d4c0c2f36b57f9ebacfb93012f3650e30a79ea3bd9c34bc408c38c33c0a86185ec3f4c08137437c6f100316a5421cfce7eb1e9cd64971a5478c3d452a7d84fa1323dbf4b6132f344d150430a670b7729dcafdac719052b4ffc18837965d4490c35a050ee4f1f4aca31e7737c021a1613f9e15d574eb250c309668e4c53d2614cf7c2428d26a0216d83866892fa6a30e15c7351edc325b8512e6dbc342a267994d0740e5d72793629dd9904e34ea994f8a1c3844d0d247827d7548c4d9d42fd23a441375a5afbee248437a861044d342974e88c9ebf3345604e662dd79ebcca87841a4420af2cfdba6a76a831842b492a9fea42c9999a36d41042de799260d9d915d377000214f862cd5808f8a04610ead86defb7c9fe67c3861a4038e598e3899667fe334ea8f10325c36e520d7b0d1f1cad39c67dc667cfad460fec37b193689962b8d66af020490a1a93101b2d55cf1a3bd0e4dffdb32539136e0050a1860eba7861b36ca60f9e3e905cacc9ce2be7989883bb20b838bae692a38d3dc220b7302df6c65ceb7bfa1406b1c551d57224b47f367e46406a51da9cb9e953c54ac91f19390d00a1c55e6992185e2bb3b8382222a2000a7c719a8c0c1c9059ac5b3265b2e660a94e462ef04502406451aeaad4d14473c60b1c02c741202212019058d451bcecbda3450b570117f8020320b0683dffe5ac195d9957146b51b2eff1d2ce4b4070011c80b82239e1bb72b270d9c328038c0b7c61c61918700004be0003a4157665feef6bade47962c56a39a9486e5e5706198f036415c5bc25997dc452b4f530ca00230020aa28eea54b8bf13a4af920a9c863ac2ff14f36614d45452655ca64d66e6acfa00c07e30b0fa30c30543046183020a38c0d809cc2adabb49f6725e26e539c26cc4f095f62497a5e00298572f2274bb9345a623743062d504003bef8a24544be88010829ca16ea63ce532ce31c45b167f17288556fd145b1c5e849b2585f85165700128a65f3497259d6bf585240615432c14b2cf11327d93f9cecb92b49774644443cd14696c5247ad7892bfdd5b7da57337838717f54cb26f094a7732e59c7e76b4d1cad529e730fb615e2ce44522ea1c38670b78a63224988dc1051e94ea3bdc4e12e699fa7cf2b39b6446a6f82deff77e67a9538ab633bd21c94d8d233cafa0757e96f124c85897e2b934a47e7018824b49136d952496bbc26126ad6aa746d529e92e70720904093d66dfe28fb2727208f70f4b6c498b4bdd46747242505b10c655d926435c29f4b8be1446a365a384018b1fb096b42bc6db6fd47444472802ce2986b2f3ca9654444c48c33c8c001a2086350ffd9d8da4ea12642ab8cddef15a6c5368828334c400eb1e7dca7c893e3578aae00c4109b26f1bac44d7e6b1a904278e17d59d72eff68e8e20abd8edbcb49b2879db01556974c1126e5394e57053f788aa1333554f035656f88b0a770d2f18e9cbcf4aa520aa5b0cd793f65cf1b43514034da05140e8d76f1843ba35d38c19cd12e9a50ce68174c68ac57f684b6b8d1b304b3e6e56c6739d559580c5d28e1cc0d25fb89b9622cb38b24147ac39e1473a60b246c974bc8b4907a9d4520747104bb3ed74ca6ea5f933482fa71c224e9d5ec59e341174528ff754cb9502593aa0fba20c2277b469c98bd63720e13ba188216b39f864a721742683e2d879494cc7b992e82a0d8a718434fe801677401843773555d9eb0a4eab5208c911c0680410d6a40812e7e509f87779afd9e8c774444c48c3330308604b00b1fe4d29e2b5b0ef51eef4152cf86d84c61d2e574c183db3cad2a9920a13176b10393f8cfd9b86c4e895943173a4896eaef303167e638ddc805e699963cbcae4931c68565b9733f3c5f95a4e9c28d5b54737292abec6ed8a298f28c9a4757edbd5a5869ba3f5ad336b8418b84b10a17abd0988f67e154c55846d3ac5ca62cde926296b0b23e259bb1484c5b0de5bdc2e22d4912c3bd4d89d2495e61576effd82f51df1657b89ec3568a3d295e455ba1eb8485156fd0ece166b6764b6a15c5dd704b197d5c3a47157bbe2cf1643d39e376a9f0d2a6933399649e9205154b8d25b94c4a728a272a9e10196203bc28c00d53fc95e275bca03955708071a3147e3a130d361bff8ec10d525c1dd29ddb4eb4ef68248788480e325c908151b4294c7a77a6b065f50d51901a723e669f9ee4057e2314273321938f5b374061eebc1e93956f7c62d52ab7ac9f13fe1e4f64399ad489afd9f4cc1b9dc0628e569562e5441aad3ce63a3726b76e6c828cd40066b7973339955813066e684229b7fa4626d8e98d6262706f60c21cfcb3a4a4053b86888802c8f81b9778da84124f72c614635b22297c74a4bca3a29760b851095395ab95586cd7dd6e5022b9d74af71fb5c28d499c739a24c4ca65aaf492304d2acb243fd6f9c270b8118942a6b2aee6b4196e40c2be1adfec2a62153b8fc835a9dbeca58d4fd50d47209fc3db882621cda3371ac16d9bcf5909379f2737184149be99653bc7f6a90020841b8b488c69aa53d09feb3b6f28229788aa39f993e01763c618de801b89f084b0b8f16b92ac7d2222a28006e80d449857569afc5cb7377b084f3ea91cf5cd8f3938e276c310e7fe8a7d42b5d54b6d061920c0c08d4290a12525d93d76b8d78428bd3cfcc5f49cfb244744445c403706f1cabcbf6f4e22083b798eb7ee8e37696d80074e7023104937255544a5cb19ed0d40749d27870a9f493879c2318332cc18c18d3f24fb3617fccf3523c7067284e0861ff0b4489323c6fac40237fa9018ed3143e6b82bdfe0c352b25bd2946aba92bc07fd4efb3e6ca68733dd75561283c97f963c70239b795af3ea2fc343a9194f30317407466c344b3bb6cba276f87ecc32775eea405aa7770ca23112db0d3a58e25fcc1cc2d3779e439b359c5e3213472a73430efe25a944934ebc5abf46cab8110775b2d29a7a68c4cd20638c1b70488ee1cb04751d8b26e70ddaaac72c79be1bbcb8db9dbd2dc5c9d686378fa52dcb92f125c98672d02871dc4ed65086854f4b7b496567359c4327d73c96c56c54831b69b037bac377b2474cf0061a78939b4dd3e919bcb427aaa7284992a5c40737cc508997937b8925698caa0ce8a544a72a31c78bd70d32e83355d9d9535d643d86ddad524827396c2b7b430caf65aeb797ef4f925c184c9fd0e4bab9398a0486f3a5447bfb26b9c7f305fb4455f32479bcd0a95b2ca16673ef4977e1f4df2989717ad693c8054763c6b12bf99392de82521e4a328f3f317a9cc10d2d143279083d8fd8b8ef4616e8cb9893cb1b3f6e2c9c2fc67ba97db10edeb8026769b26ddcf825c9d70d2b50ae97a12a09ff974a33c268411817f022035f3ca00c32ccf0c08d2a301fc334ad5606cd056744e00615b0b7ec1b327a6e4ca13bd3cfe94af85492fc0d295419265fe5f452367b1452a9f189bc892fb5a190c5934a924e273ed77c82a94ed2fa7cb9bd3174c2a7d51a4bce51c24bd60473bff76c4acb5a7fb9c184a3927426f76f2cc1b0258bae87c9596257825ef29c5b4997cbd42414d334637c49b79a64919024ca854abae6714cec08798a5bc9e3248d4066dabcf43164ee89c1c18d22f8f9a49c31e720114c1dc22cb22e4c336608a92631ef58a59824833784607e8b67528e19b3ad6ec18d20706631c66e9e2c597240b084aff81aad84f7b87ff0c624c614d4b39a70491f5c16bab3af6a9e7fd68366c453e6b9928b1c6ff0a0987bbe3c87a886936eec80bef2cd9c3317a7f33774f05eedefa560d2bd772ebab429789d6f2a39a571a1d405f708b9942aea5b5cd26eecfaad8792a46d71ced49863d56d559bb5a8f5a4a831ded182aa51b15309fba4cfc292cad26c6a2549388d2c4c0d266fd27efe6b2c16e61897313efeab68048b5b3c35b5c9f11d5dbf624f399b92b8194fa8125768a21ecfac37a5f099567c67ab1eff4cf290315694fb93944ea63a072d6daca2932c475d49a2c58f5315fb69fe185e72d967950a4c0c9644ad50a2a2bdd8d1e27e4d10cd9de20bb9d36a972dd830c57eb149e856cd4a96528aa5fcf3748e795210ee49aec3623ac9721ba330aa68e58e2996eb5ba2a83b5dd3d75b66892667b0118ac7f7ed3c422d5ec35bb0010a2bf85589d9e7358de613bc5f5cd23c73912f4dc18627b86019ab7299c40f0e31f69071012fc0f8c20322226fa3139d1c4df0d13c9aa44f1d069b63033638f187abd2a43be67339387c8c305a606313cf6b57ba3351b67b1cf9c20b3634c19fa431b5a5278c1ccb49b09109d7f2b2e4b937dbb2d1600313f57d96d2cb99d6184744440e1938c410230c165c82b4d0d1d9ec4e12e34504362c9195d031589f7079fcb35109cd24b12ddd97096b087260831289174da33a3bdc3753031b934836a5b841373ed3db362441e6b85dc2a99dc9666d4482ebd8e4d984cf496d481cc56249846769cc2523222231b0f10834dfb75b36f94fcccfc5e0cd11c60d6c38822ff313f34a2b6fb21a9174a14c3e4dc2a50b2923aa749d3f7974ffba7e11be6f7928d7d338f7b1a188e4be37694b32114929ccebef6551ed302292e3e6b85e19b27c93360e41f66e7c1357364b463b8361c310a8a54897fcb15188d4d5c4bb6d10e2942c7e3c256133363388d2673657b3fdcb67b12108424edb929483b52622726c04a295b593da0fb1a733200a26c69853dc2c0bbffd41b9b6afee93aaff4b3fb466b2eb9bd4df1f3e396cf4c124751af1f5543d658d8888d8e08353417cb3c887bda8ecc10bcb9a24d92a7c43eb305cb01cb0a187557a33695a699a4ae5c1ebcdc9f77c22ae3b3cdcff7bc176e572837487a417dfac3426a605d70ef4ec89d55d0cbdfed9a8c3293af4db2d3a285d23a22127a2f23c0734ecd54489cb5819c9c190357af2758943e9d6644f904b15cf8583e9c3891e774f768dec0ded5b75ec24966faae78677474d3cd90a9bd2491bb4b8e1b143c961c3b56b9b3ac6104ff3d858c37917e67af73cfb99a8e1a82f9e494c55e1c233461836d29098b3252b294fde98150d5a4e59b7d4cb2698181b67f073fb9e246b8a19c3c70ce75453a2ffa6464444728461a30ce6084f2686b58c7b4886c2c8a6bb50924c9e368663fef99977ea68962306e74c6e4fe53cb8e7c280d5560e3f9d2cba0606eb92249e4436be7070f1182b4cf634b9b1e1853b7f70cfe056da9f1b1111c15106192ab0d1854c1c4d9993389f9b5321d8e04229266d6c818a491b5a3064d246168c4cdac00291491b5748c8a40d2b6462320536aa8089491b5468f636542fe4bad953d0b7afe354e8d6125f0aa685764bd1749d243151a8cde3b85debbb97381456f79a13cb2ebe5c4fa853f499f44fff4d394e78b4af359d50fbad69029a35c326ad68261633a171dd32ed393163ce2ca1642915623c3c497b29e1b96472fe658ad19d6223095df0609115b6c27869030946910cb3bef0950cce581c39c2101151808d23d4e9eda2c6b2a4cefc8888882b20870d2324e6c6bd7fd5e81a4ec020838d222876156de995830d22f81d3784fff76ab03184a2d96b3eb9cbe3bd07043200c30c32d81042aab1bdaeeb553d6a5cb011843d3d764f8e71e2a5c806108e15a6ff435474dfcdcf186464c00a367e80464f2d9192c6c1860faa943f36f265d156b1d183a3b854efec85c590fc6083074b760ab1f53d29cfc9c0c60eca39754ff95bbeb0a10357b2577c6b1382905c6c593b663d8b18387ac910434444016684e1001584e042bf57b5ea9c2459dbf4905b94c7feede40f7ffe31b648daeb0b27492a1abb5a68f2d2e16f335af471dd5388eab3a8eccf83a55a45ba4616deff86e65a5bd46bb128b6540c4b55e2c79482c5299cd4b2ae27d957f60af3424f896531e169bb02f3cfbb3c9f339c54adc03c893aa272f7a1495690efdbfa1d7ee93bb40afdc45e298e9aa86472c250240e89c3c16028080480814fb7012312082040482a918783f1802a6dcb0714000041261a52522c2a301814141c160d46a270381c0c06c3603030100a8643813890c35930ae3e0cf188e05e4a693212c9434910844b2391405816726fc1292ed8af16096fe45be03701332e905ee2b95ba1c420ee5d2d183f982d2fb6f0c2dc5e343b3d360b560dd3ddcb5288abe7d9a497dbb43b55aa1f3dcf3831dccdc2a0cb0f0b02620cf51803876d2d92531ae4f7b402e2c9d330db808239e82235407d5fbeaf7287f511ce944a849a582ba162659765f40d04fa361b0b5a97f927898c4aa2d040325296c48a4319dd4ffdb004a84202eee4dac6a62ec0a603df808b9e99f9f4caaa0830149757f3c3a6107599a6b3570a28d1d59643aa57aa264aa24e6b141e8615f2231a2d59ade01848a86382cb31c67d04c1714185903763d6cf8bef9a3b6a4eb3f07ccca63268e14c2519949e28ae2a5ce1a79994a9cc842a24b168d41067cfaced8daabdcaa68131988691029337614d29054f4c123291b83b18765535969860c72eeb878805a6823be2de2554569e16b903a9600015db40a7b64d15900aa307faf69dbcbacceeecdae414d9a3e3cd7d44d00594d5c48aa57b84296ca59e88c41ed9f3da405bcd2d65adbddf8e70bdaaf691dc7c0033a66f23fdd2b5a3e1814a710a23d491ded04d21a2d7f5d0ae44445f2e7d1eda959d0bfe1c81eec98d31d6bde89406ca38b972db9eed659d82d36e8e39f788c13fa3bda96416c278aa6f36cfa34b5063c6b6bb5c197c1d376e6c3fd76b321a80bbdad99b175bc59c5d5a44a80add1c6c409d93a578f758ae8764284aead34abb36f880132927eae206b93066c1ced6d18e6f735c88942ccc00dc83e0084e98eb97090bda1647cedc3537b0598a68b1e25b5a5451d58f221a271b605588541e977dc63a3a46e6a8aa6bd17bf7898658e8cfde0534b5ee7bd6da07dcb793e3568ab50535f54cda0e39e025271132117ab33cfe12b5739c28597b43e23cc0e9e04a513bc6c94ba90a190614c3949603dc9ae24f6c0f81ac21af107d2ea92c47834014b56b19023445f58654a4cdd4245d6ba9155bc831d07b9401b0ad53249a5eec1960af4c8c48c39f545e6321392c738eecfb533b2eb68ea858e2864624c404ca55f77c857874cb155f2eb2cd3b6b89d2adc7a8fd1eeb3e62b1235301b90da2cf1068b28c374261fa69ce91a6cc265c9b1c23b4ce1644be952d4ef315e2c13b9ecd8ebe863113110aabfd4acedc31486f9988ab7aab48f3d13de7d12cd261d8ca39b2dc2281d19465e057b12f0e388b98f6d53574e6763211857ffee070c3eb97e516e769edc96cfe9bec6cbafb7a217c44d3bb6da301e518d06d08fe0d26c2cbb90b7860289753e4eb4ca30d9e8c7a38f178b13be13b905412951ba8024860ecc69f80577bf5928684d756381abdc9b079769103de4fb6a84d17ef5089e56db0559481dbbe032fd6a81c6693a9dd36189c85073294333a297899eb0f57a1397e37914006c5351e9d78e72d9c2a9053b78b938fe33ff7af33d8d8b731ea456cf53b86f9ec44ab185b70b57ae193a20cea8cd210bac846c3918a032d26c6ef3b0dca09c074d0e848815e3a00d400bc3b495e2c3a95e184b1b403b143e1ea74717a7b1481b36459b9385f09f446c579fbc07c7a2e255039d35a18081b4c3fbbd2d93130885c7c9221f12a75b44cdc6351c1ba7b11ae986540ce16c45a9d9d8111d8b2810d84e47ff9f91d4e203cb6a1208c94892ba62830cd3968b7eefcb10ec8ada7fcb224e40ceefb156b056f01b4eca5e0d371ec51e0f33713032d65bc2b126d4256273991fe231282cd73f7c6642ca34ac62cddd9cd1ee04d5ec6d457b10f3806ccab1a5e3269570d166e7ec9976579cce2a699f538a26884153891ceab79814701fb445024339b1a2a6593a26647407d4c93fabc8dd1bdc96989f732df85fe0b792f7cfa1a3116cfad39af4d60cebd441abb67d2c8e656c4ef126d8661a7ef79d499faa76d63473f8f0da6dce154b620e76dcef18a6d6f8479067f09287da4f4538c70e1cd03c6a166e6403c053a61ebcf9c52c319ae2f7a0e220d83b59eeecdefe643136ccadbf71e167956765f1f9e673b6176aa579a1e9187fc3dfd00f9ed75ff881362781a13f9dbd7bb07615f54c189f323e488088a91ffd4f2550bed2e46eea646613e756d4b8eff4195bb953f85109352b04066e9b468971d8365cb13aa1efcab72f38716ec2a2313ac7a3029022aed3334ec85ce85f9e20916c0773b91fcb7fd2aad5b2ea3eb8ddcd702b927113b2b19c6d1004ebb968f62cd96402c78f3fe34b616d4dc04a37e6c7be4d3d8397a71b01d74dfeb1341f7901db0b0ef5e49393066a52b791678e41c2bed2ed5c2636f860b34eff4e5ffccaa148e0e350cf184b43e1b34bed518f9cef5533f39a825a87a371780f1a9be3f34bdf039c49a0d04c7fbe6aa23b0d358352350db200c1b3e4d96ee1ea2f030da312222b42bd215c38b76714b5fe3183300358ce7259aa417df7b18de996a00a26787ee32175bcc3a377ff75760161653e51d31e3c50769d694899b35942b82e0a7ff25b969def7d65990920ce00ed17173401b752c60d52be768b6dcedeeb2e3a82d7357d935791e880c0e732f3e1d0d885711db67716817fe688785b563e46da97f92819ff66a4cdb30d50699786497cb408d82ab155f581b2bcecd0d758a8c259d8c891eb33203d079c9ab2bd61b1fae88ecde5813413862d6dd33bbb9d43b429e217fff9df93947ccd0f20963d77f572c029763eb645402533c7e2d50d0f8bb4ee0f22d87b527b82d0665b01b2c72adf8d662d8494761f42b1a287fdca7de9a59d9a00a703621a4fb523b093df51c32049242aa411b417dbbf9bfa4a3ed17b165ffba1273e5e7cbafebd5fd9f2bcec2abd927dcce6c19a4aa0478c44d193dc17679c8aa3d1583a60a54abb375dfb650354bc73f78033b7bfa24388221509f32121aa9115257361b4ff9506dc69c514de7cf1cd692bd185a90d3155972e1dfadfa57eb25dee66f1ac19b1a669693f13f74062078146ecc64312e37bd567f398a187e5b6017413b522aa8e3f0057883cd6a59aaccad0d332bac0de7edcf60fcaa8c35668446e23e9e1f0eac0271fbcda64bc96dff3140ccb89df3a17be340be17daf3b1dd4670c3ce2736e0f21bd5bfcd9f2e40cf4b2c70f675f4a7f36d24709afd1ae2b0f99c61d7813ae1a228881ed8f9404e7178cb7e5f54ec46ff52fc351f44b524a2b77d78dcac718ec1edc81fe11f0d23f0f22dff028c9a2ed4c696670a2bfdef101dc2f7eb70ce97043d2b0afe3058b0a2fbb55f58bc43176ce94df4ad8d5b0fdde6ed71ebc12d15bb4ceb62e68ae0544de48862b115844128aff948cd6099a47825523ba2945e1329c67270458ba9c2f145304a2fb746e2cd29a86d9c240ae6f69411504c40d767e45b1edf9e0d618a9113a44dd5e71b1f625bb80f122d5eda8276800e7dbdc087a8d92eb98024258e44b308f430b3bf041a478b2f8fad87d9477999fb5dc0023cf06c3f9bf2f9aeee8c2e7201a803f41141b0755f5140292437bf8a9087e52a024e8faf984080689827aa5b2c49c484c697219c202a43fd2d5c42e1a5968f07b4e8845a3e00c1939037d01427a2efc3a2db5be8d2c47d3755e476cc851ce6d791a42409c71fcd0dfe8f560f0db0cc5837a7cfca417b245fe4808cfe4a98587899ac1bae31a6299a7fde50f7a764bd5809cf54d13113f209e2369b00f0524761dc566c0c920cc688ab68b8bcf323f9210439ba05ea900a79ee924a13113e97c573b14d9fbeaa0affc0b052b09d6d6e3841cc260fbd1a6a212ba369488111c76268a6c8759d4b5c4d056d630778c0d41ea0ba81e761010fc1207a011584a696286640992e108207d7f245c642ef5e97e864ba96de33134f9d6a7b53c028d4b60491cc19099c73e44f49bf1b935f4a100ea0d9eb58bb5b2ab80d47b4e309749683b34806c021b26a8abb34d002634a9de681222a69afc85d96dc9b054de910b4b67aaa004149ab2c763913293295c32396e81429b52892f816a9de10328ea298e7d774228e600286783aa1069e24e3c4d250901647d2dd4fb5fb518214d0490e6fac373d227227d3c623b5157b923c3648dbc77bc47ba77bdc2eaad29ee2e594a53e5e5b396ad9d20829e8dced56c15a7c39a6ad3abab32fa19c34a799b8eebb071815a91cc1f90a88a10e6804d5c10070e90fb44df47f232b6a08afc35bb8180cce2e275fec6c2faf3406330558e81a38eb3a18ecfcb831e5628afbd30794ba383ed1325fd1483362aea4e1b278e1d0d34ef8732dbad0efcc70ee524b23afd3a892f3bc00c50aecb295fcdd9495d861d9f039873d22afcebc32aa24c7ffac5fb377ac7f8d449b2b209c4b6c4d27be57042f7b5cb5ca9567806736170bda0a391d1f8e4b881956535efd405f2c569df44282b1129c71978064a243e04ddab78b6b10aca8685ec271cc2ae091b35c90ef8dd9bba52dfcd5b2b474e779b09049f1f247e62233bc328993e76573b3d3c1d195e95d21ff6f1c373dea0c49ab59ea02e7edbba75e90aaad93f4496b99910f4d5bdb74a29ba63ed2d9a00df555bf891ce29a950630427e2eacd8310870de2c00a50cf2b5ba641474a413c441e01e855a3351d02056c00c42722679a0eb2f6a2c4dae609f72afb22b9adec95780cf31cc755631b1f56c5b136e709a185efd9434af7ef1cf551dab8eeec1a2d194f73941f6a5185277e813e0b3062780ac871cadb8415bee19ecb3f628fd97cb8f2f7c22d03a5c73a1eea1b367bce6976e7b7bf36186aea33cae43df6338fd44e154d9b3349dedd169e86876afe0abf3f4043fa820821deb4f31980b1c408a863bc0a77814339e178c9c89bf1c0607f043c9fa8694f2b501195ebd789876fa3ab223c9f64ddb140f4698e501c73ead49ddbbc8f8ff2252077fd3f00dd24994c9046916e195034c13d40d91888c9ea0c57dbb241e52b21e403b5f317b4d74a70ae87a1a09b0f103baff25bf0143223392c3e338686a31478a5c87ae893f26e9278eba87f68804dce31b858274290935385a0c605f21059ba422b5b1e397c1e4d3539b995001fd24980c0d83d0d3d01493cc43aaed6cbe076b6d75ea2f44cc94bacf4b156ebf142e1235d4559f63dbb430903bf214d9444a490208a36b43ae89e7faba9ff6d8d78a9998a74d5d19de17a66c3cab58f4807b3438d724f7d87b35799e49346b4fb2f5f69583cb93e00f17cef68e88b4d4e6aec1a9881c9d2dba37bf46dda35fabee9957ac8d32a5869e994e447c018859b745f3a6c7ac4f745695b1f1c5bb4dedeb13cf875693df1b1dad2dfde3ebd37ed5b4f778b8d37660a784c022db4967cf9009594f24a1c8e027f3a23326f00250ffb5adf1f844fa34fd6f5a6ee6e77aa1e41e17f44a31473ad8da1f5c21bc6f318d94dae284bea40afdf1559901261fb0a469cb4fac060b496cb5ddea660ad8fbe6c19bb064876cee8bd1b882eeff5efe334434abc279b27a738754a7a88bed2f907d7e5da0e51651658abad49bb523fd775f443e54582fb16f9507e229865986afc2624ee50686dfc7502d118eac800b6beda447a39f81768d5e960f40f45dd752c20b19735b3cc4d01917b94b431844670832e52ee6241cbe586af922077f197f766726a52bb3ce7eaea5b6a7b8aef4c32a5c6bcd2f66c5ba9d2519ce8e140215fb0f3a247041ba44325d6ee262e2e466ddc6a2ce15a9d0682393dc95317db30a9986cb4053e964539ae58c4eafd277180109f787f0e31b2355cc5cfc151679fbbf21d142670f0be81c28857b67a4ad0a06690e33e009a67b8f23991802dd4156cdfd6fb760f5cf6dc5ada2a5d49e1b8c07669e40f16500b29b974c4a9a3c04acb7b9bf73263fb1258902ef4422b0b6d480a4ffea8eb055f930719c803bd227230486f59e0889c70603325196508d9d40d1bf59a6b0b3348c78903e16ca311bfd4baba37fe86270107ba609dae90a5d961d53323c2cd43194d1217a3e3c2113ca3c28163f6d89054ac0db8a7da75d61d0411dc52780541311f53bbc43bfc4bf62824bedb077657d743211c3a1aa91bd35bc8c621242c232a8c1db6e7296e512bbc28299dab2a198b6664478f71ba35dae8b218aed68cc45694712b40c3e147129f2b3ff23a245aaca2f293fbe41961d836068e3b2d857d489d09d2c9fa7c7a9f92e4260ab443ec485425026afa6745dbec65767b109814479628946667ab36a02edbcfc94a33938e64532e5f3f89cec36262b20efba038ba3c47bc2a40a64e93f9bc86a2567db522ab117e2405258b3c36e8b1211897402453f1af69b6d664a063cddac7668e87f43c1a00f98c73768ab734bb925c46c10d4e23524ae0a59d53c3632642b4b1bde56cd2df334b2aa7e95a07810c0d23c4e8b02f83c562161bff8b0594f9b21eb05e0ea2c7ca217c674952a2dab732845d8060451efd9a221438eb89c7cc2e818ef6b4a8f7421281228d7b5ff81ca85a3458398cd9fe7e464d44db7a3b56511687dcf3556a5e5d1b946832bbb40d30fd755df95c4c67ae5420c3bf2b1d8cd4679cab3af1394a27da599fd0a3db8e2356d2bb3b7c155fc52006794c8d4187f65b055e00f230f03bac6663fd8820db9445a112bb6a1b894a7f886e725f06b5e96813d86b84f7c72f230f1c8592a7822f3745cd1ed10dbc11459bbe37014b162003e31787c99cd95e511a875889311e5a0fe20e4cb129094de6b4f1ef2c0fb85a48622d0b2898d37fe644a5ca0af10687ae75ef28e7bd40423129bb6556f216b2263a656ebe264a9feabec3dd435e7069a71e3256f23ccd8e5f65438007c44589130c12278a267d17c742df8361d55eaa82bb61af830da548a948ef136cec975c7622822414db32c7e2fd83ea2839d9cbebb19b20f014af5a1b2976fec03187f09a4065e841c1c533074921c0b92056d4c40753cb17c3651c814a0bfbd9ec0d1bbe5f5ecf0c90ad0a5107a5529726fa720c2121fdb26858aa710a13f09c820f50d0d4fb80dc339020c609b2dfc465edaa756bde5947d31c508feb932ee0d96da4e614b1e1bf68c0957ae0135032fec404bbe50ca9139a7a1f60b8c000f024b315924386640e86bc9acb8dcf9b8141acea982bb22235d138fb5fef0751b6a1ae22147adda7928a0113dca12912be81d9545123b18d618055cc7009ede084a29a43b1152f80d871df5aec4890329f52d8c2c0b60ed9617a59c0923bc4667b93a104e1e5e255563c343e142aa9d8fa1813c3303513b2b1a16df78167bfee1c3c494b6dce08475eec4d8c6ecba8d2238fc418e463b00c6b18c3f00af90445dcb67cec53913a249f850c364d5f869dbca0589d078849bc3a8a723401015c7680f54b911e6d712374a3ea81200faa1ce5d267fc8d01257012d07e05721a4ed9b9db60c24c00cfdcab9de64ed1839c6c64805004156da9a4bcc29248d849657d1be5b5dde17f1dd3a3bb5adad3fee3b8532b00d81eb3707473a636b1012697106ba19e64d77ae9bb8da1ff05da15aae32ecbdd7b8cb8c3bbeab02567cf1dfc66646f2cb5cf952ed538f8880c263e0c9f404065a8ed0f76e4fdced011da104abdc7106e46b5005ce4d15d26b80444e58350dcc5ad3229d120f91647f3f08612c5dc729290651c7266532e2d310bee095473d4a570c350003cb42a6ae2366aa74092c5b808470100169dfe45a3e9335ef058721c59a1f2df58cf45f5d1fc077bfef07b5d1598417fdb8e28151a0c36b8cd57a78fa4114cc7c2e98c1feb00c0af825f4b11c22cb9de19ce0e114f832621951810ff7627a8c7334c8a4ef09fbe18a1d3c864ca423b6e93608ff1f56143bff4e5aa691b5c130274a0883ecfcc0b30c6ab5df616ded2f02b304c4d56e6c0b4ec3bb5568800fa9a04b49485496b8f549c4c3b2730441da49a494c387d3b9cb2010e4e8f11fbe34e85f1ddbb228934ee41aedc2a2ad9ea1c5544b4ccdb3d22b59440d3188d1f033b85af3ffa016a3ad8ec5ee2ac4d0e70419567c71f2e563f077644fb1765eb15ae9e6e46bde9cbf20bc4c1bd37aa5549b44d4dde88e751160b0fece72288ffb3561a9a380dc483bbd623d160073a4a82de710c73a42d3ee980bb7408e18397ad6310e317572ab603a7ad7dc44467ca39289b7eab895457c93ad44962c0d6f9998b88ebb335a4ad6e2c1775fc4e1d16253f2a913830e24ee63ce313f08d12269ffbc95c7bcea3ccb8dd493a77c23af73363337d850ef33aebf385e9e1dc4479b1609f209fe95af1ebb8cf9298297ad23a6851ee8cdbaa608cbc7817d2bd527b3a526c5eef56e4e77a100d1b3068630298ca692b51387fe57fd9c7c35be6d74dec38c06a06b00c4422af69ef4e21da1e29cc3cb986afb43c8c4804699dac48d86de33b621edf42c8112ebcde3b667155d182f66a6ede1622eabbb96f4bcdcd1750a2ea5df0c351f5bec790f8dec5b37723e1b78dbf693d73c37943f318673a2468f50bd93304cd608367304fa367794f614985444ec926a8cd6e9cffe316bf66dd924e4858f91eba81c0222072e1089fc2072ffdedb3f5169119cd573a4316e614e09cc781460fb47b43675199141b4caf845fcd25fbdbd959833dc08635f929dd7eab52b092cf905f2bc65347ef968a226021458086219f43f55062d4c26fdee2e63a2c6f98907da888a68248c50e19fb563c5e30f9961d8db2fa0166a9c31c841e34d8ae418a743de8fd60ca2bd9bb35cb040d9a113b37a9beaffef662036eceabf8c6413c68e40917b458bfd09e2ebbd674208eaf2afd56b56d6a01f94e38932786b186aa47ea89a911701de239743a82c5e36f48d222847606683070063d1ffd29033c1f4bf44ff1bddf1ba148e1ac479f03f0d1dde0d3bb1ec94fc6e5488a132f243556f512c06588be644097811a19431b820ce62310661207d75e8828b32208c699121e6815ba496a15fbb8c92c38d911037f4e4f1712ea93d2b7ac2fd129cee5ea8ab0a6f8bebb06f351ee0c9df1f65fc1708c3ec25317d4eed4221a0f4905d75bb1b61544848339bbe20f2e3dc234c8b4467cc3699c3ea6e49d0638e5b7cca2b06bbefa06b2c4e48bb3c06be96d0483bfd6d97eaa3c97d17b6b69c8c029df34b8a01ba7ccb34a098be1ef9024de11eee8f28c8c1a0837c87127319654017c58ac251074f055dc76ca64e6c3e6297a4eec2221c31adb2ba91cbb13e3d1ab3267af691ac12b5837cb37319005a8ffc80a2baee183d19634bf27fd2c52188c4078a044c1fb9df872221ada69337847ec1bb075f599d3eb22475fd6698b94db40d1328382f7e829262f704bdc9adb8fb5ca842921ddc76b6cd256077f3264c0fa373d24e7a6107cce1aec87c7e44a4fc12326e62a85b6941d6b7852053107b6ea2208513f9bf78a1363d46cbc5830b1dc25cda3eb04c8fd553757aee340ada2bb6a3b866db5fc9108680cd43d2d92958a4190e38b0fb7a803b8d69f995d13d951112eb7ab798312e35db459ff284e78ad13703b00315bd3850a15e06a03bc12b1480f82898cf4c2953e5cb1d98e78b03244d8a4767590a60526ed2e1c55b7b0eb9a6a5e1a304410e9f222b3c5532af4cb9afeac5aa4621912ba7ad5bfd5cb8e120c29e82e3c44f84c5cec73df71592221bb820782304c39ed85af3864175485278fe060291c6a42ed35e568d39f12a330518fdbe9d3c84ffb93a8c63aa7a12c683565943613761717e3b33b733928746c1fb0aba14052ae0b67ac04ec10c99d9d91cd453a9e2c3cce7fe6092395496259a76ce0d9d1fce5440f9ca26cc101a86bf77549fd1965a0fff232cbe9669218f0fce528fc1a5b2744cfa32533ea8951146639dcf48c93b2e340015199d53959f31ccf840848157b649ded34cdd83484fc82c2fcf6bcb274f9c99fd48b8f9a995d1611252036cc68501065b5cde6426fbdf041e7f9c70ed10e305d0fefdb580544a20299b0d32837247429c3419c61ef5a2219465e00d8da78b74331d16aec21f12826141e9e0dc40a5ef58402e865f91d8bf4e02feff570fe3138221e740aa2596f5cb22f343f6ecc679975dadab6d415a6c45ffd026cf619b34bed19f5b23cb44fc1f810c826852418c1a1ac7ea3d3bb2bef923dee6c4b6ae07158d62229f13be9369e932d70ff235a20b1d925f0c3bf6dc83fd14dee63e92c5706dedfc1e92ac2eb76a511796a2a47a2f8437c789e71093b52274ce685cd688c411d6e40e3de14c8e8966e9f94927ecddb5c43d149088fb1ea6ebcb70612f484dbb9f690d4463dfbe6dea04c8fa7c229a7c89a3982415fb0985d21c64c220f820df155d40d1b96d56509a5e1550f9b8ec2720008323e591d8c143bf761f4b9f7f9200d778dbfd41bfd4c988f5112706aae142f92bba285ad3b3625f624fc04f104c480137276a84e054c5008ea7fdcf418b664fabf569045bddd179728afd560c422f525048b54d507a2bd754b8bbf67af268788417dc9237cc446cf55468eb4336a9fc63c910d7d4211b1bbe5d69354ddc87c848c4539469fc1ba76bc3aaf3ab6e8b2743dd34ea028bca1100fa2070b32f12c9d34a235bcac8e911549fd65d8a552454ce5829f4c8ace0bb0a350b5aeee58db0ce6ab2fad99222b090874d9a2544f33d2ac0f244af21af5deac5afbf845190b9196771efb6d468970bee8c24f021fded5dfadc283a9c29c7f83778c175192d6b6d7f233f0ab999ebf099df1f35c25c9f8f15d1149d460e939e8a434721872afe7c589f5532de05dec2c3bcf89b809eb27c583df820b7a492592bde3b177eede0052e0f64b26f3c61a0203a19409dbedebd28d7aa2440565aaa373d17bc134bc42e4730f88b58f8394b7eb3847af66063c016e58d10acd9497c30cdc9ed6cdfd8b2dffa03e9ca4ad044524fd3948e7e9747cb36b9a2a81370f10beefc4d6237a444e781b027b9acbe9e88ee628a315570e932b1747323daa763332f11cee4ef9258284136bc4d2c18bf6f006a05462dd6a11446850130b5f2dd65fe87096b151e66bebded6165796bb0db463ae6a9f72d049b27c2f183a52a920a5a61394565479984ffa5a934c4688725a52c69b51965befa7cc0eb207e0bcf281dd838e06d15a732c217568c1360b071b03da43a4cadda7a8a2b168f8faa869d2a3244a1fa6ab6f9124ba726cc1c9e76ae8dde63bb34cdee0f68f0b26731139402e0cb009673a2611758fbd5ec39e63a11daf0c80cc90a1f686ca907a4c28b7dd6e468a6e786949484486a6e8d852adcb61e7da8358964dfa254d8616505dc97f2ed7a3d1c232e1766fc54504fe1411fe24779ede5adea59e87f93f74011c545dd155c6441c062f69b06eb681e1bdb0948bd1e2f27386867b688a81ae857a59a46c19ee92eb1c7e266b9aa9bad74946ddf468f469159a09016a2801893612bad66122254fe973994b5a6e2f1cb6891cd7ba69d54f9bc1b9e1d595b8695aaa53731f44779508002cfdc11294803dfb8541d873c74f4c3ad9b4be23fcf07797d181945dcdd9154e7be91dca42dd5ab7852e927c075ff5c99bb78236c590729d562e1ffa19198fbfd3408ca6324dc5c1c92aa848cbd095c7a927922a15cbed0cb2b30847792f7d691028641a6cc4d4037d61a5078e4859c038265d6e0272173daeee9112ebd882a107466b19a4e458435fdba5e5241364a2847e72268697a7548e4301e962996b26a710459864155070ad4f41548bab70090a8fe7478a963b6d984f89694899f0846701a20908ca6452c425f5c6db662f8872e3eed57ae83d7d4de47faa61bd4d71000de6473881c410134d72081b541e8d2a31bcb6586dda85f9afc7e47ba11c9eb4f2250bc78c9ccc0e454fd57b48caca650ef242d6e9f71b0fba7006f8a382897f37304a1c0e59567a95606f6c3d8901049618060e8389ce64181d40517bc27677eb88646bb50b5e15db68efa1b40ba95af74ce068f4a405efc0c750a16728638cc6c5d147b9559a89ae4243e49a54aac84013b4c736f46a0ab3aa8e3b83f64b09d37ef38985b9f3e845cf576b8360d38ae6dc48d3719c76dc8a206d202bc081900543c66cf5718f50f0a6ae25b31c0bc3e31519ba850934596949c4649abaf9279787d061c277780ff23d9fb7815d80bd3f1e3a1a027ec27b77703edfc21aa23641d1840391d019706cf2c6fa07e2f84b3c1e2fa12ee0561b5ab5296de1d4d54c8f893ed48932cde5f69fdd2d1346ff5ce7e27d9a2efcfca8e7920d006c9720c7deaeea20ed6c5729f970961ccf1cc8018fdfa121b6cc32f98f2b1a3dc7c19964f82cdc15db08236397a68f8ec9a27f549a91a3f4f542551f929900121b8e32076a8c12444456c136c55541342b08ef4c1a719757a0bb41d7cbe8b7b7c277fbd8eaca3c3ceb17a13b6a564dfeda95526f3f6d8c42b7e939dfdd5f3047b962fbcbff6ed01b730d3e2564186ff738294a475572d5efd8313fbd6c1aab2136c17e215f3831cab784556563067dc6f7761a06599a516ebe1a9f2f58669758e06e38b8cf04d620dbeaeb2c8470b6bcf18440b91070716f9bea0ad9d3f24d72e5ca7eeda43983b17887f21ed0bb95e0cdd0baebc60c98b5e5a584fc6fb5cfce6023a2ed4ebc29b2d943a2eb2ef16bddd6ec3e0762f767151fd17ee6ff1eb8cd3dbc2025d85e3bbed0b5e5f50f7057b5ff4f6c2fa2fdefbe2b717d0f7423d2fbcbc90ce8be99385482f5a562073c1856844910af7e22e164193e19a0b95b8d8d505eb590bd1f41ad0d611ad356db15742922ac4812aa619432aec05b5b0b4af98caf850e0b79305a00fa7297e757d09779a294225b8a8e96c03f949f958193e61817967daaf94728dd6ecab98468dc9d59f900364602968485771774f05c6b93e357fc7ab8a2a97e0945de17231d90546f60a4417ec5a81617919eaa42faa52e454c0ced95f89823257b902efa98af64a28f9a79885efae8267087d1fa94b7c3c0be9860d8d28c103495521b6bddaada15d80c5b51847e672388d564c7fa7e81749a9710cea3ebf70885071045d71bc675887241a707283101388bd7fb249b42dcf7c87789ae4bff35ee8483dabf7f26629d7cdeb3fce525764120a51e4d5c5bddae20a5b39068ab56a8f4a6666c5bb0b1e4fa1f79585049d51597dc2646e89704ac14727f8c1901f0962b8945467cbaab49d286907fbac6b04f96a7e73d984bceaf4a67a3bcf6291dedc154878324e683f1db676c1250cb6722c01c5c2c077e1be131410d11492f4ecca6ad87cdf07d240208f3091f314d35fa311df2a322ec3e7a0101a614ec85d3c01bbdaa709483ff0112569be8a0ae2f9817cfd8969130e825be42ef3172ce4424e7e1be6ac27afdf516f9aac0bda6a70ead788ae3923abd9f631c3a789d04cda5d1e3751386a71cd021f0494f501c202613a779bbd2e4de1a0b66edaefe12e4932494e2539bf8aefe6650a48b78e57e9c48a1d17bf04832dda0f0cb1d7fb990b13c6ddb5d561fcccea8302dfaf8525f8c753d78bfa367409474332ec13c29353c40cbaab9b9804c00597e3eb95f7898b3fe258dca7bb19e0f76045840ea06f58f00df5284a5920530cf3bd8f6427eadeb595d52f2738fbb34b2f8ee2c9cb7de5879a297d579fbe2144fc6c485bad0046b46634ba61b377b85563d2a648b28119b2f58265949c30e6d338a95dec6dfca281680c2b241e9846671dadd798b200d871ded7f2172d682d306f1e9c5651b30c1c36ca34ca8b6b5b2bffa24e203b7b92ebadb4f1375f153bac625ba8cc86fd9418cd90358f51c2e93278a08958485aff11b44ca2343b4ec8372e081a8ced7d57a87a9b674f2cd5acfd356804a79756d9a807ad97c3077b6b156518179ee93080f8158ca423408e0b0889bfb80573d4e907925bdf9c2cf653177268dfc4103173bc597b73d73ce535c7219a5cf0f4fda7e3a629f495b1fdaf34c1d976303c4d6b878dac40be4902343bfba056148222758af7493a6987e23e62c8d5961692f87ca6a3a961044e7d4296dd828c11e902fd23d529cfe5211501ec14eeb85ba4650e5408412ffff4ad8021527c46c42f145b67bbf6e899a72d362f5c4ba1e21363b7e434e6bd74fccd6e66b13c36ea07ea0895cb033c215533f64223ea800db8d78ab3fe69da68100ea682bad94a123699c77d86adc1e767fc072013fd79963c41614810d04e8b1c267e7856c443031b085fae1e55e4e1fc9c26b204479a64d9c68e9496a694c0e1778ca39210a005f87590ca6a4214001cbd424e73d5c4d75d84af10508bdfb3408c263fa350183e6d7ccde0b4dd966379ff1130c484f3a7918656b81ac5fec4e1fab625c81cccb1c0a0f8f6293fb13781689fc59ffb14107b6ef2e32b55f24add41d0889cb3c54e0a4e0e1eaa80955806032abca65e506b8e7879813fabb6d5c82779e1b0c4191ffff4815aa00f05e723a7e8f0988e4f742dafe87eb3b1f2c02f29a388c44d86b32b1d0a6d2d41898e4c48467040bb52084c7c8fdd9c96db8e6d5cb164b5e802c768842ac17bd00b6a1342ea408073a4e4a2f1866004fc4a96c14cce395a797376c03a6ad9702b5d57c1a374df0210033ea88fe5d2a2323c83da78cfa970a403761821a13e60fa681c10c335f51b6e6b46dfda44f330d794b3e704f1312f449d5ed87eadbb32e53faa691a12f2b67078bd5638f3b038e7b5f00563b017a9dfa7c957ddc06d4817773ae47edae69bcd590be189ae1cd19d6ae6413fefd5ef796b4a8ac11aac8fe85a82e9c72841146b4dc73363135f4f879550a09c95465987e9d484ba965c6e89b0f2e1a6be98d9dfee18cb9a672ae2e110246bbdaecd1eb3861d56586fa76b5ad062100026502f3210b5b72a6afdf33cd93c16d7b1e5a62a892161ea2ddd7b79b3f143709db8377d192444a4830a4eaea66273e8064dbb37588f57cdc069b5010c1d8f407a5b5a41a082490548652670a2c2ed4a5a8335fa369270f6c63ece30cb2ae73696ad16e76cb5ba60af6ab65b27faa3c101e51eb930f209b3179b32b946216689d877f6a2465fa83cd3405f382867d66196bdf42f0038470aa178ce70df9858c8ac91b4d930cd82c9c49e998c830c45c655c61b87ec2e9e5f711655228af4f1bec658ff043488c2fbaad0e9b177cc892678df971d838808be5c149d4403cdcc4a077793ce31a4f8f93812076612a389bcd226345293f57a012a81266a3220b224e9003ffcf0c30fbf82ef2bdb2cffcdae546b3fa524257d8e79b4489996d29649a694d2ffff576d23ad4100c07a210247068806dd06cbb9763e074a1f70e984a987be66a810850fc7b0414b23dcfc4bbe3d702e8f50f177a1e8817df15cde1feed9a1e46141c9be56e8a0fc63160f57c6a83471ab79f9de40b983d1ed2f6477669990dae1f4c97753e75c1df61cbf6c57643bc8341d9217c3bfe6ec319589089439609ba455baf862343de590d2e13bbf4376d84bbe418983e6df9a196d839e9f02072bd4840e2d898c1b4b6f2847a389d4aa296e409aa8f9a83a2a3ef49436e86132c3be64db316e367ca6f9c537f1743a8b94352093502f7a34a7b211a2a8617994f40cf1b109250dbe3cbad516faa2259182867f3f5f309dd318ed33f4eb7b5a6e39b8f415eea09861396b7eeb163e7416bb3214b6ff6fa3fae4547fb863061432b4a33d456c06359bb759a008ca18d24967c7d4dd8df612071431a4f7ace443bb59e74f1896a5d36019e665490631050ceadb8ba1fa9fffb22fa435b9953821f3c22a63b72e57da057da36ff5a8d8bf7fe102ef593c353b1fe45bbc853aba985d8e3d3f514f0bf7ba1cc735a6c6364d169439b59d995c2c5477bad9de94e9ecf4153ce9d269d27bad223737a058e153f1947d49833e99acc2a3458e1897be3ca6860a7f56d51121a7af5d7a0a4b1bd6a383c848614b2bf9d325b7c5a08c82a1dc3b59863aa14485421ffc3c9da7f558329427649a45af33a14b0bee427182f9a3a509116da37ba234e1164f7f93aeee116ac404ef325eb20e77a27494b204b4203473ab79964c495102366e16eaf2c91ff9920c3e680cea92da505a5e2d7820032163f7d4ef8d92fe728c74fb46cf2f072dabfc236e781863174ca458cb72ae366531d0d2e63219b752936889c1de89bfcc1b7a32458f61fc294208a1d9836eb92230f01006b2d1a5daa42ec138c69ccbc3cd3abe7260b87eb1def9e33584dce3176b1262e1829e867b1ebe582e7ebeb7f55ad44e2f7ad9d79398cfa6772b5ea449df5a8be7a718a15d78652763cc695dac694ea797833a1212e2918b52c4ef88f270723d69243d70f1ca6fe78dd1f3aab9dc421f0fb9f136e74342d82051c3c31698b8a09b457ca6db8f472dceae39a3f8d678bf2c59f0a045ef5135fa656c4b779a0563bda9d2d6970542aae566c155b49c4c8f586c1ab408b11c332b6de484c40d1078c062416d2b3dc7c54ce41eaf6064efcd8d68a4e0e10a449fdb76a5baa8d144c1a315069d77e649b538c1831579eaa01d7fa1d93b67f058052745eefdb498748be7a18a5fc47630d1d9ff63502a9c351b6d2b3f4ac7983578a022cf2ea6d6133acb29a2c72996f64cfcb777bdafa60c1ea6b86533cd92d278ea3f8f52985f5c93bbb521c4bf1cc18314c7d4246c563b8f5170ebe5f9a39a75dd3b1212e2210abbb3fadd8b6e131a87e272f76bf9d3a7d72f4181e9351122ab6f26d7915e787ca2b9f51c7310177396d51348d36f3f9bc5dda873270c13a6852b8fa99b7486483787849c7142c23ad2288607279effd996d36f222174dadda457776dd344ed49fe76b23b137bf62c6b7a79305169e6102f7bbc0767bc9158c78e94d0080939a38c1b9ce4703642424c76a08101f4c1e31289de98cfc5430f4b1cb54757adb6d4a34564081e95308a686acad0c1c343232121223afca46408261e94a834b87596aab72fb34cc26f614e564b5df24592e863e98acae8e2663b12d5bd7bed869f89c820a1e6de1597d3677796f488dee5975ae64b7cdad711e5b5e427a30665a7d54618d379da16640be7e3c20863c4e7db3cc2455cf35b1993162d68cb158166e69ce48c9299842911b9ecdae95ef0fa206544f4f9325f5e5b0f917af966d9260d71d095e945c85739651742ff9441d7b997be393d088116ff5c4a8af9e84e0fc21636573ed365dc8d0a62593079d6b3e6c9ac401ca4e98f17a305c492ea98e38e7f483c887c395fb51c6cf643253295cc92963e6caaf23675baa067e583493c655809e91e0e42edf7d9e76ca7293d7c612ecf6efae05d3a79a8c33ca69635a5e6180fdd89bef499c625bded0ee6fdd654e5c2cbe1473b783f1eb75a63d2393c7530cb92ae943d11f272d10199da325ce4deb383e680486f3fb38b9fd1aa1cd2a3bf5c96ce7b57b538f4a2745c66757b3d0d1cbcfa164b5b96b87fdee30d787dd59810fed5a2ece186ced4f52ed338e2890521213afc640d924f82471b588ff1980ffbf45c62c319c37a6ef93d4bcb2d6b5837b8eed7ba867fad86cfea5673eef8a65f2c0d7fbbecb7d8a2433b8986e5101122ff844eeaefdd9994486886b07d39e4847ce1c1c7247a9747e986784eafd28724dcf824c409255f4e5a3c12feb59aca8d10a2b242e23c192feb4ebf997a79041fac366ad2d13bcae8086bef4a638b2f8997b28f46e0d5a71a161eda7bbcc107236a39711aab22a4a8bd886483964a669715b19608dd3243446d99a5e1e310ab65f66188a36596e3a310a7651f8468939e30755f1a849ea9bbc1872034a583d2f2f9699abf8130bbb564a205eb031069f013f730ddcd56ff818d317ab076295f0c230f3efcb0b441d3d39c06d1d2a80f9f4611a5bd5ff09c321f561b7dc9c547786a670f8bc152efdf74daf89c1e568fd9ffa5f16026b58f3c2c8b16f395e7ae3ef090e6b8bfa1d4e37f69d1e128f8b843a61daceb37c90e6b95d2821631f9c267ebf0d5855ad72a3fe8e0aa979aabfb0d1d9c83a404276c14e10d374270828f392ce57f9f4e1f2da98ae5906e132a6ada674c6be290969ec768b762a1d6071c2ad1d8c71b8c4197e96859cb546cdcf07955988c16db26f2471b6e7361adbb5ccc3c36a01a5b935eefecb1e1351835e34ff99d72614c6a48b39992395cbcab7dd2b09cfc3575d61843c34483c14f5efe1fef186ffb3883d987190ab3cc8c1c7c9421ada3472821e7f2cb890ccb631e563bf8fe31063d069746cb883c97636240bc605a7390232bc24718509dc48567f6f7905d7f80c14ca17b634bbd4bc2fd4276a363fab8e69cf67b019d573b8ea6596c0ceac25b21ae358d7a7bd3b99072f105d7f64efad8c265a65a4e4a6d38b956b9f1a105eeafbf45e93c3266baea230b66a7ca9f1491a2a4fc81853ee629d53cf1ef7936c2c715deeb9b3b3fa15f16831f565818259ab2da39f35f2212844412848f2a1c3ca60a51f24695a8232121262267381aadf8a0c2a2b37ccecfd6628ceac714149de4b360bb235e733ea4c0e7dfc66b396c12753fa260c7c66b7f2983821a6773d241c89fe0cca6594d7572c261af9a52371f4dd8cb8375d0a4a947ce1f4cf84e26751a376809b860ddfe2da568d48e153e94d0c84c274a6849097b39196dd8385af6161528c8b025e1217f46f86b0b3a06eb5d9af48b555b2d7681620cf3eebfdd2821fe5a15c32c6ad8f4ac3f17d47d4607d228a3051c70121d698850889178496d68d1cd300e2ea6baca52eb6f5a28c278744375f57ae44233c2946098f9a27776f1459362f109091aa141083a071a2724680d0a30f80cd6ef364aa5f9ec945f584a9eba9ae89cbf39145f18adbdb64cfa662a93d20beff2f5334b7989a729bce043f6c62af919523e945d1cae5fd369f1ed3d7d7451aefa670e9bede34b10f884928bb46c847e3174f09c41c145a56d57fee7e570c1a5dca275395d725f518db2526cf18653df36b659d0bf29b5f8e65ecad8c991821e506871b6da0db2b429a1e58d9ca891c35d308bad3466cda8c9352fa3c8620d2ae3cee514a91d35510225168e9607659eb6c52b83028b4a840c67aafed5da33222204370909a1bc02f1294c66671a5332ce01c5158e760ed2ee6f2f5c8c1b2539827006a5159efec718fa6256a07d97219af65356b18d7d2939962bea195d02831a848498e8283131f19476988484989471c689aba106972024e4c484648d32ce3067070544400136fc84051ea0408e37fa84d7484148480e3f39e135de004ca0a8428f2de64d99cf91d78e8484e478912f114905a2a3b8d4b5fb2fe928a840e5bf429d77d6ac9611ca29de9c3dcf05f59cae7b8a29d67e59963be8fbff774742424e4a8620f22522945218fc44fe7b8a8c3a11eb3821828be8f0110a29702ff1e6db7aaf5f1aa90265140bdf41cba7b3f262dcf01c14512862ad2e64ca8f239f91064a28d0a5539d76bba43632a038cb9eb4a054c85219bc101081f2093f9e7d78aedd136bc9d827d1b7db2ca813dc492d299ca85dca265697a289a34bc984493fb554aa2f86e6171376b920c5fbe4b4b3e7127c97ce5930d5626e3b2d7112caf3cb996bb5854d25b08bd141c8d1fe95271d64a050228d9dcffd62cfa7f326b1c68c19946e5135fe26094d9e14e982d2dbd655247a917daff6d2b92832051226b7519daf662242b983f2883ed54c71c431657cbfd313a554ee06a51109a19aeec3a37b7ecd0e0a231825cdb6a517f3b3f640a02ce22c8a3cf129775244a48805532a35ea2653573d11a8bfb86fc96b44307aa467cf59b6c24234500eb1bc3e1f73b4fc855b8658d0fb3ad3627a555d69a0142293af39b7201f5d6ed50e14422c1eab050d622e3f8506c1289925e5a28c690eff0e1441d85bb25bd27a9774b36aa0046215cdfa2e6d28196d0a200ebaac3368cc297f484651ebd8b9f6037a42fbbd0edd8b4be931b032b1261bc3345f66828a31ae96c51c3297f85b7347fc8444871b95626c72b2bd397f63296f242444243911bc428cf397964ebfeff8f65c19c6a2c9fa2c16bf48451807a19359c794692ddf232121255d0946995947fd6967f9fb0706736237998e31f73dfe0b834ed2ac3da6f5d1245fecb95cef2f562fffecc5d7a53f4a6f322badf182bb93e22eca10cd8c05b9d1a384f8b791a7918a2e6ee9631ad32e2817d60b73a5b4bd3e7b5bc1c5062ab728f91c22246da041818a2d528e9208546ab1ebe99509a553bcd4155a4ca0320b93373c0815a8c8c2c4494e4848da40a302955864051618a8bcc2a3e28a563ca0c20a119236d070c425a85456b1818a2ab4928a26113971930654502142d2061a2a9040e51411a898825229c59794e868838d17542aa4387113111d25246da0f1c6bb9700a4328a11131eb140451417a8848203155040a0f2094feca525a959ca7879d1a97482139b2879075434c1a6a5c8d0f865c2041365542ed17c26552ce15d922250a90425345099049f708be42821c9404512f9b6f0a24b32d6bee548488888142a91d840051255cb26af34a58f30711d25a9e208131109541a616252b2020654182142d2061a15a82cc277f88e19b4aba106a7e1818a22f8fc592745e890dba74a224c104181ca211e503184880eef35487694000295422ca042884a651047f171d9d57db32cc782c0731a17b3a04ff8bd9c195402b1b558595ace193baf00626ff35f753fa1bf66e50f9a160de79252d1214b3254fce051e983091450e103ea34d76eac4f112a7bb0c5735297f9799f57450fcaeffc9eac6c59deaee4e1ac256b72b3f43d3be2c18c6f9ecd05d1d13a3d1212c282ca1d90d13bcdcb73e2d98be82811f11c246bb8c00ec73f8fdd91398d109c780d464c78055ba943b2623eb7dd49588639485050a1839edd9aa5d6bc2ef755e6f0e8e654932d285332257246450ea8f67f6a53b22e6941713846a9d226e35f8b791be90a1c3c539ffc2dff739c4de50d06f120547e92abfad70deb8bb22dab6f34a1476669945196060742b054da80f67d079df47ad239ff46850d77699664f8a46e1a4c95357872657cd3e88ed9608d8a1aca1aa5c5936e71b5e7342052c3d6fd05a1d65e3420436879b5c45ec6ce3943f7dd264a87b8b8b52a66406dad638c77cf79ff91921391f6367694e850a35286e75b3c6132642321215ba890a14d2fe83c9aa5ceeeb488481b3b444e88e0392a63c0454da8abd89c675d47450cbe8ee60e72663d8bb412867488f1db0f96991a57c0904b25423c5eeccfd254be9098666654bcc0686cccebac1d7e4b5d40747b87d062861f2b5c409bed98c7d36fc151ca6fed53d142a1a95e3f8f0ed171ac64a18c6a72cfbd846f504bd6402226183921c181c91a6ba051c60dca28414848050bfb860d9d3693952bd8c1c235e38f56d065b5162d7fb631b72abca19b4de66791df2a5438ff436336f1b959fca770ac9816764308fdeb55a49090c9739e984f140e9e713ae3b7c5dea1900b9a99b1fce93977c672493531a83cc1afdf983dd57582f174cec73d0731d7a9346131dfd66829d1f276ec86491bec460d72c4e02b4c68c4d9bda0d4535982ea4163e66597919010111d252225253a2a4af836eebedc6764db1a0909f948463a98f099f11432f8f50eb112aa6394f944f9dacbb71b42c638beb02e6912353a6f2c06b273ab8ba7f32321213944ba59a4a43f88f18a96b93ab9d5224dc3e0efc283a78b2673ea304839f810463adadac57f4ef6fe6060b6e9a38ba903461b94e7c876d84ecd8c8484fce2241fd55f4e3127cbcc413292860e974108d8f8f045a2ff45b90dae88e7d8a1a30d9112127cf4223977425ab9a4949578820f5e1caa4ec3fe4a8b90f32ed23e9d251ec47ecc75c18b9b741fb958d0a1c636630c75ede1c29b1f0f7f427978586f51e565ca114a9452337ed8c2d2b959ffd4c7b588b550539cca3dd5a4fc435a18d4e8169476d635d3cfc28c395f96bc9369ec6b247dc862d56442a988f09cd3f4118b36d6b6e452bda4293518b90e9192fe80c5728c7cb8dc932fb8888f57b841589a70b72cdd912b1ecf769bd73f9e46efa315a75a55b9187536bffe60855b5b73af1dbc733d547cac225142e82cfca5ca0bb22ad092ad1ff29e54e02637cf73475181f6a4d77b94ccd8ee4fc1c99d1372b6614454539c83ebe9cfb0ba0ca752fc1d3f88dde690e2ddcd97173f6496937014a778c15ce32a8a3f8bc9ee9f10138d4391bcecb049cbbeb9840914bb249ac3a9d79687091f9f68eec25ab00d712dcb7ac2a8359e3dabc59b76e9c45990a664e8ae8a5b95136fe838db73ca8f4d5cbb5feaaf9f79836652468e129293327c68e2cea367ef6142fc8b7f6462d3b0cc9e4589840f4c203acb2f271d9467ee7f09f4cb762be2ae478b794bdcb95c5d4b36dc9bac12778eda70f2a90b1d58ea03661fb0aba3000728f0c61a27236a90e4f84099a1698665209d98ecd0518000bc813ea000009c98eca0010102e06af00e3572f01a081080890e4f3bba44471b09b0010050040138da8024273a464cd6101149000e36b4c1465ac3899ba8c18750c2061bcec60170a4e18d36121bce860170a001494ed61831e13320c9c91048da0c4872d2256cec101149008e321c3d8afe2897cf92cb19d1b31d21216cb80e912190b488490e929335487620111d2ec04106464b4a53cb71f6c54c8de19693ea95ba2031f0752f7bfbc697a488473c089c464888098e307c328dbcdd9bed642d29c0018633cb9d1931c0f10537a8cb49c4e58bf8198717fef4b1b46c26e2e802325a3c83282dc939211c5c58ceb12d68e69d1938b47014fd962d5bd0a28587230beb883a4da5326bb4300e2cd8d153c6d07e253587ae70de4a4f72edc76185f368b136c45ed0fd55c11153a3e692d29ebca4823184a892d699422efef666a90787140cc25d3af94198fe0dfe00471416ff2521352e84e764e180c2b2bc74a2251bd59e3f1c4f78f4aa4e47e935791b0e27f4f6724efd501318bbf52bf51f9f7f7130c10caf063896b098e4ad8bb6a4c7cc834309b6876c3956082d9ccc24e3dc6e17ec37deafbdc8b0cf4a9c097959d06e0139c6f5498ec7a43e7cc5550410631c944b9ad5ed452f138bf18bfa5a063db2f6d6178010a31c197db16e3cc766011906b77e7264ea0d7a7d1d20c2b03d28999bb635a77f8800128cda6a4e799a1276729781dd0004186c90f71a2c47be2c8ba95f1843f87db21f7575ae0a407c81dae079a52f0695e9d402905ee0272e3e7eb6f5ffeb7500c28bea7b4473df691779cb7db9514cc777902ed83c154a0bbee6e2536ef2edb3470f5dc28556f19252aff91626fd65adef62d02b215b147fa65f3a315adfa56b918567b428c39b85d1b592c5318b7dbf64a13dc97c2cd47842b76f4cefaf372c1644a9789565d89afb159c87d4dcb13667d3b02b4e0bcb20cfa514516a2b168d159f46fb458590150b3aa91b5fef241a4520ab58dc1c2e76bf1a6c351055986b2e9678e8955400920aee45cd9e743231d61f54d4595efeb0712c4f289dc2d12b0ba55d7627aa2916cf18d561ce5224665b7039c751e2d35c458a5fb4b0febe161b20a3e03bc5cba33283c8ecd50688280e615dbb4979eedc1d0b404271d9e93ad7535abb65010523b43cb3a7173ddf07f289eacb7a63dccb6c999ef85c92c9659131b5f0a14e2c7d9abb733909e9a58170e2a01d7a8498f88d594c09c8263cdb58fa31a60044138998a94c1db91eb40b92895bdcebcf4c060413e71cb34b1c8449f52cba699714c412efa918ffb90af1d08e84887810f8640420953896da525ae47e92c3550042095b467a6550796f994d628f2dea64d7064412f5796b8c2e06915bc248a8d9e518f662192f5f6800020973a6ee1178a6ce116e8accdea969d36aaa8c320e776002a41175a68e112a02b28855049aab33c312714010916b7566f800e410fa66e6e9cd39208630c91362e3273bcbab8548eec8b708fb98b53d8438e82ded51ba83ea3d88fc94ccccd058db9a0711849e372ebbbb2042e9132410cbae1b1e34b4f6cb2740982f648c7a6ada52ab3fd8b28b1f6ad9a50f7876e1839d5df6a0b98b1e7231c45f529d64d21c1f01c943264cbb78ae47b358f1907ac8cdb429eaf21bc81d12135a44888b77df59ecf00be2fbe3634c8887400620753858fda79568e96008bff4fcb209640e274d35a36a5b35762787c5f78fe51ab3fc2f0b1a09090901481cdc7e3175e1fda24983831a74deb08fbe6149953c5153b91fe31c6d8804815d0732206ef8d4b2e516e64fcb4bb5c13e02d206c3ad5375b88750ba0761833dd7410b425c08fb780d858c1e57b19fb64e09440d97b5e6d42dcba7a1d171fb3967fe51fd38081a768f6963f9275d4aa867f82c4f3be6a5baa50d6206e5e2eae5e554bfa0022903df9d7efbb26759d03219eae47974b976c77a690ccbad1f6659f1aa5978242404440ce8d89ae9dedf30f05dd7c2a9503e2f1b0818924188ff704dd9a55f902fa4de3208f55a7ba18f7771d942d8859316e3a58ca9f962d2e1429d740b22ac7476c706b205e564c7a610732424440ba886cfa77af954476b242404240b9caabe1fb1151674332dc9e811d7398b57305659870bf2aac54ea4a441acf07ede9d7e5996d44207072055485dd49c2e97bb607e02a1c259d0911d1fbb792f346242023285fefd93507d3948310f440ab9248244c12c892050a82511e4097b12419c60d8ce7903a409e724823081bf9099b3887f15b1812c6141544b5d9237fef58128e1d7598f392e99565f2bc9d0c5dc336d1e93c7f7549081c7a0dba21886eea803c83094c3380ca32006411084cf9b0eb311483048401c1106a3b1a854a071f303138080890241892c108983e150381c463114c6500c832008c3301882300c0539a545dea7dfa04f778e7ae89aceb369858e3b6c64a463e0e31dbb2bc8f8dcea1fccf924ce7cb921122c57b956763a2be268da48173b3d9d6a36ad5d8569c2228db0549838f342470c0a63c3656c942a2388d5df5c8212d57a391db7afc3abc947e531926e60c6c1c40cd2a49ce6c0219cec18e207819f8798146b6ab71f56bd88ab8ec9097f77879315ab46338f1e92ce4e5920c32dcfdca0df322ce1b1852a88c10a97daa999deae0dffe5c9b240aae3e4de661902ad96a945c6b421e06c5481cbc8b292a425811866e8ec4677fedfcf5e6a696795d876de5e54c7751eae007c1d6c11d68125d31a2e771ef0fbe784239d00172cf4f7011bb918d8a2234fd589ab27140b90d3f995a0742a9c36a89aa5eb1aa769c1bba604dbcda68020c96fd941f3809bc2bad03273b25e06c58d9933bd05ce2f6b41f0958fbbc0e3528c990ae4e686c939a881fd31a0b273e491538965cbe3a4c7bbf5f9bb0d5419226f6d484341aacac2116d773ff0a61e5d8e0c9ffad7944e45b5a1930ef770aa298b8989ef3e47877be9bf98d675605f5a3a9accd7857d3275048ca7a7f59752ccd4e98c2bb71d60885c6b495dd0b4c20e839ae4ab78b9853eb0740e8f1b4d9a0c73485c8e92cf411aab582c338dffbfedbc760425b4006047c0811b3c65f2311b2857560a6587bd2e1bfa55fff6024e1507a630cb1b24a6a3a8b78ade7f63950874008d119abae2f1ddad157f64dd84022c1182a9a69bfe8792e21f39dac17a9dc8b257aad5590e770d2f7296f035380d4bed666e0699a00eb17a77ad7ba5c4571493d148a7c1a1954f93c54264cbc0334fd25628d3f1b727bbd154c1e4683e9f0d9a021bb056b9e93ec17455646a5798781a1ca19a0b812b5620b5f4dcf62d0cd921299b8d511356739a861417bc317aa3e43f3593f5d130e794d44ef56ac83ff9b4437935014cd4ac6921b80d14d1cdf2525ae4e54869600cc11c984270b6e456e8d98c2efc7a0596d0d9fc3d0ec754d09682cdb34b0962bf2932989ff89ab2b7f367155622e73e90df3eb299f8625347fc9ac148d373b6346cba1d3a68ef4be39e0b82e814c102a3cdae4822b71d3f2dea7b000a6e4007cb0cfa2a55c8e7060368cd3ddf4d5b2250be4ee40ed3b5dcd15fb852d2456f69288b38e6e9d9f89791eabd29cb8fb1e6a340b43e1246fa4bf33bf44258ca08c8bc37c6b1f87553b1d07aec69834b2ad60aa0a5ffdfe115786eea0b4656c2f5a8e0da1afd798f53e328dcd6f94a795df1a791b4913989395aa251da1bc9a5ca27a6b54d17dc40fb069bfc028e6279b1d9af0cb3580c6e6e3c4e682bf1b17847eb0a3ec5f46fe56d68ad347d45752a1b268bd84316512482d7dd08e4dca5998fee156ee80e107a3423317328383b894e4669d18e5e5c5be598ed10b04ed596086ae4e854d3bb1d07b6ffc7cc649c3d1124a2ee1da046feceae2658b22be18aaba7958fa036b12a520d51c092719ac95031d65557e8827aab1d9ef70b96227d187117daaa9210bea291291277a14cb610a73cde8c83a437416685852f94602b7d543bfc721c3025111cb38eed1cda476d62a3994a68065ee074e0e40fa619a0856bf0aa3a284c754529b0dd7a648bd0e947bd6abe7109e7374e3aec3809584b082d12eb100b61dd14861c427482e211cc797ba18bb75e5bdf1a5e2d640aa5e488df1aded7df935497ee5d24e3e556ead0e5b1a6988834779605c8f69e142db14b688ada04c042055577a4364e2d97745489f29d032a43ae30f55fdacfea43f23bf36d50e9f224e65887ace24b0704fbf685496fd7e56cee827a218ac566a53ca0e50c438dacb9f21b9b8c3016b4ffa12d97d31f33c3493277961aea64e927209378a8041c2b92379836124ff6ce5950f0763f097973e97c900873a59abea3a6ae373af318034cacdc931b8ba0d5ca835d62bd8084ae0be9666a8ce2a45c89b5b43490239b2018df1925d62cc4189b0c7282d77867eb29efe7c424c9c25dcc0f7745f3a51bb1ea5a029419cd2853936e52516a96e80f03b7ac56dc686613b8f2c3baeee60ebd1e56715e18cd1d5688cad5630e6b04c2701db12437095ec21a066b1caad6073ef1e82e7b8bc182f52a0786c7d9aad50b315770355f3c11e505c493a9e14df9e2feea6fecf0801554618d5479df120df74ed66029214d17571224218279fe921a4884cd522ae955a732a65b225161507fc4957065c61e00882fcbf03139f86c2ca89a250a035ee25843a71ddb6d283fe49d1f236c3001731931f1efbeb27fde5eff585ae252582c299487878ccae0b108ddbee036ae960de0e098cd82705453a0e672c831581be863b33518585ba57f7c60be0ef0738d1e0160dcaae617cca6bc521683c5fcec9c578b3fbf2c41fbe437e78a8911e0dac1245f7377a2ff3adb3035a10dd612772951e93c72e9145a90e4b8374e401fc6665c9f654337e5159dda42df295174cea30ee7288ef2fb7bad49af1cb85e6168798229c824ec17dfd99f12ca85c0352193099003b1081af1dc72f60a4b7f3ae2eed9b1ddce6492f204a628e11eb5f0340f679ae4605d8fb88587894e461a506e41c6072062fbfeeb1313b57ae2d3584d1c4020f89e94a07ac706b1e49bba4ae9cf9b79ec863363c99fe90ea4c6efaf391163df5acdc5f91a28e71e2eb61987c304e190b7c78983037ab30cf0086696762f7fc4e64b3f66e818646db1492e6737d3c7aa6c8aed3271d475f2c5be7da0c33f0171ed4b494c6bb4bc995a94c0bae0bdf367c3304817d360bf37266e794f9d0fafd1d50b68527b4bb681a28eabec8044babcf88ea223bf2be4801c498f1a161c74d1fa7fb31c7964e1674a52473d1dbd341aa401a051274ed46276a767a01271c33019c5ef44d28484b5d2839063ed20477b438b071504cfdc1a2e3e97401ad5a0ce14bd94d1ffde1cd3ea439b448fe43a64f8e08129390a862da3d6e359d9d841a2a0e31413baf19aa11ff28df6d31a1a0cb111f54958d98c72553cf0e3d8a116cd04fe05442299ee0e26a96e40de1824c2abfc230ec59409495a27ea5ccbc3029ba1436ba3392a132e935cd26415348f959d0826ac11766171d67029254cc686682a87096e6d4817b2125330213453961875113e3d63a77920fec5a68560bff030eacc346642b5455e6572488b5940b929d0e609f39eec1f935ac66136eded6df36294cc46d59f871900c915499f4c6d885dde43005f0e71149d538ebec285e58ad475ffcb4da05c38483cad92ae713b4a9cd45aa1e088a537f0d8a36705d0eaadf0ff079c2ecba50ad369fdc4d01d97e0f11dc3881c968fb8504c17fe60113d6c2ea609c4d082438386cc9d88ffa7c35776fd5b0963df5b39fe16c529515a50df37219e508fc9b39cc65b3967fd279267f76aa9b2c4f9d9fd5cbb3e4a5029414d4f8d5492cd3f9033af02df56312b8a17c2cca89a5613d97abac2853e43757dd3d13e85de8c1d3e629f4d516c8e4a67ae069f59cb4f286fae74e39206ae303d1ea1068223e08422a3e8fa43c24c691b304a1b98550b97bb04e2438beb330a1bc157ae60872eee0829ac16f47c8dcf3e702d44ba5e052cc5d8be0fd3cc684d1cd6dd40d26df8ca5bedb3d12fd10823997a065fb40a19573f92efd28530a795a444c49989740476450a162b9dd2e03f93498acd46a8b6c21d031439ed90103086021149f8900ca4e6b26f1c6086d9a9333bd29e2e96a874afb76409084cd970628ac84041d31213113409faa45088bceb613a599a30308e9ce9e139bf73863577301993d643d9db81a5cc52c58d1b17bb8a5f5ea650e3c57bf18c7498dc41a9c08996ce3581d8f7500881d4436fdf70241242eaefdc27d507cdb7a7e1c0cd144c1163fd462e69add357e50f45e16d2940ebbf035ac48cdb654067a038c6994defc5a23171e6184b4b24c1ff01398a0efac1b3fd24a76a01914d2649cc830c04badd0dc20b4ee81ed311dc9d3728daf3a2645a5a49aeb8db7e09869256bba4f52223c5902244e2a79e3d470858ec571a27d016b02a8bc72cd23ab2291d82c878cdf4c59b02d7c7b596c0201f1f2f7847d02ef4495287ec28bafc4513e4ea888f3e15854fdbd939ee29943b67c74ee0e2739906ca17e0810bda2326acb53656704f7a226c3c6d87b91ad11b5ded5d05cdb1803db0f9ce8e77e1c19a562799a87ead366d527fa077089e53a47762485b7cd160d15303129de74477e6d102d724809cac882e3ae71c93956922fac97ffb95f00f66736e670613bec5c779c679b3889eba007d6759274d6c8154495753b0ab592b45890301e95c4146ba4e7fefb480d0828a64515d1b0840e9eb490f4b340932ddfe93c200745604fb280a74a22b02f1bf338dbf9f28a4353fe7cae0a35bad7428ab5b87dfa7499f234f89020893b5978311bdd7b3c61228c7bcc223835364026dec035debf7814a0f1e3b68dc5a2fe142465ec1d3ddb1e20d4128412951a9e6b90aa50d1398c60c17799158f1f808da1a7661341cb39dd221cb95ec2d3d4b2987637941adb373ccc3134c72381195e0d26548924f5958f2c922e7948f522b0afb4439f8195e3b93124a59f040433db77b0e4ac7d71cb1854f82fb7ec7037cbbfa46fe4303ca4f1cb06161588f52ebc185f35ad37658392e54404863812a15bd64706ad77a1de62258f04037da68a7280ad000360985221424aa024f87ba6bf8b8318c9c1b5522c692064af869b2229231ad6926c86fc6f0a2ca0c29ea58a8ef777ba27647570226b077c7c2deec232099dfff044d2c6ea9754ae67f6fd7e3fbd1fb7d9dbead16eb00d9f1e55309ec1019be0e9dede6fa702cd1b6a99b851d4e998808fca38298eecc91c42d91e488cdf28187d009cfc4962937983651f43e029fd342a08bacb9ee4259f286879f723a1f5fdc2edeb9916b74c7d169e3a099f7d4292eb436575d0b290810c8e0c4007625b7057825c0336eb2346205ca407124ee7d35c7177f153e5764b624196d9bb8133956ad1f11254da002d898c9118cd3919a532a869c7e136b157af7bb2f7fb89c80829a30d1f692c40458d744035271a94b382a5b33e313740f28bdccae216fac20edd16d87580ff48692c89f71c240f811d6525fec3daaf909426f15316055ed736dff95306374e695a5246e6292c591ae4c31d2a7ddb57ee68f37f231709be764a1af029522e6d4e3c2782ab06250c1ddec7db170ef39edf323657cbfbe7276850eb27a128fa06d18fd004fb8a1777e2193eb6d26ebbf826a8ee89c58cd61eafdc8fa1268c274714c359c1a17b6337f4d53f2494837ff9e3e0b7f0b7463e9fa197d2bc9ca6f2ae537b4bda73785972d10a6dab644c31f9377ccdd6575322563ce255ba97ad2e6329a53124d64fc895eee9f81e7b14811a672cad705a7faf85ed981d62839513d4882e61f9fb7d348f331bfde0ccb3a91f14fa3b182c56f10f9d58c475499d7d463d513572a00f72bce12c931b2a429119960dc02cc0849c181fe31a8f5adfe34f752f55c69d8a371c5a931c76b6cdb1a169ec4337ad71219d544b549dfc3f4ab81c8ecf3f0c75ce50dc8c6f3c63fbec788520f0c316fb805dad9ee3f1fd727d158dd17ab6759e07dbcf56d32d09fac16b95e3adfadcf4631b78f773adbdd88e40bf6f24d9a0b5cd0285aad6bb22a3615f907389b8876405ec83400a681cb0f9f8a0db7b30ad924a2c4a9d63cf8038df558677a2d1a5467763e42a83599a82fea415a8d08e607187c747414b0d9364997a0e1e8f2e6f5f3052f1b26c0e6ba1ced0b820a3e8b07c1ad063d8095eed54c54eb81c59e550f63f787b62e536b084a2f0392397a5bd530aed505cc06f0a2d6dc8ea8bdf9f7054ceee082ffaa2cfaf75115193661c58088ece063450cca4af367957369c9a61d2759ccac7ee396621afd683cc515857d05e02b4295d49e7ece4941b95634944ef51200d6303b72ac72818b67adf22f51ef3c7d02fdcbc4dada4e39f878a9c394181096ea8c167b0c0522642b4f2735e1f398af2e94d2b0c208b6e5f353716207aa816bf3fe4f8d1d90770b34a99120ce7ac7ee577dcdc8e0f3dd3f4a5e34a3a5ce96d981138d9868a0e649e842f07431b8d0859a7afc503297601cc2ea812eee61c22bd1772e7d934eec03bd6f663b43a9abf16f7901a856280304ae3a634a61d5273e9ffa240fdd88c0eb831db8470a80979d9180ae9f56b8a4d182f7a9643ea93e1036e5fd4b274e5aae1b5f8af6aadf8999c9b3f35f8e3a2daefb4784ec93462da32bce5b34783542b24ff95685e0478bfaa4022cd0049d634b12aea4b528ad90bdfaefcacb9e9b614d91475205ead70b73b4a454292f6221b72e442a227aff22ae6bea02e799d3cce7184257c417268fcbb6e72492d26567d52acb11122a83ae6a6e3b5a385dd6b1515a094409a3690ef10b66862c5347b20217c5552c0953eed2a91461dc29c47eb55f0131957c52f09bb0e6b0be645c863b82f1a312fb33779b22e114461e21dad38eb3f639a5342dace15f17521db999409694160501cbe9cec308274f2b9905aaa529764abda2d62f684327b25e8966200f4556a97423a14423027636d7cdbb5018cc972912af3e2ac05e385b61c04b51ee677a334b4cab02cccd508cd3d952883d095b9f7708bdf91e90d2c9403a887139918fb6a6babd2071304e041b21710d867c1e01c209ba6aa83318722e0af9826de9f15b0816cabdc9d1447f8568b308cc1d0b74a54571e813ae162c52fdb3002b3e62a0a6e306a156467eccbe4f0c3bdde672244b124bfe350742f296429d7111a40a644b948de87a01dfcffa4010034ff1870d96a415b23de8145444aa71e490f44c1857b3eff53d4ee38034aff6101c6480e3afab3fe9dd698259f6ab87afa0f33df2241bd17b55ea20da2b46dc7811f385d72abebde911e188bdf5c66dd262e0beec193723e6f2dd82e21ff00338f51fa87e26d027c3366b0a18cd80c8456eeca9923e4fe5e9e1950b6e3c66b8e31a359d7ef3d15f247535a434442febb01986427c39034ad5492004fc1596da0100445fdb057f8f3dfa076f9b8f41526070b688f122d60b5f1ee5ab6fb852b5b2e30d0077da712e54cae270cbcfb0027099555eab7a229c4b3762e34429961e4e4a5303dc95aeb99e9c6c38f0b778905c79215c23084e2ffaf06323f61a721f7815b84a5d853d253ccba619c946c05a8e2ffc9704b7a4b450dc7460f2743835b43d96cf941435c2ca52e99860286ad2bcc2e967197834adc78f91b9a34d3f63e98cb19ee0d6ecf8d15b5d87ff1994272573500c2675514e0ee6a01e8ce7a23a399a837470329f230a11f68c8255ab05b173027432590a7bea5998f7601f92c17284d570015cc251ab00d4abd94b627241132eada9333b9429960f66c7be6999acd22b2d", + "0x3a636f6465": "0x52bc537646db8e0528b52ffd0058dc4304ee8685e2115310380c391d3d9eeeff96c9e7eda451da99ed1416ac420e4a9284d44c3900502e8cbf9c534fbc70ff50723c52b7ab41c9da40a391daee8e5a3c5c57ae968e310c52fb44439456fb492f35b2bbedbdb79429a514ec127510e410bfb7a5a607d498f47a367f3ed83a22faf71325d5f9f39988ebe410288151d2b23f62fbbbbffbbbbba9eeee0ec58a1a2b5e3c20f273dd3ec0feaec0fd11f7a682d4f7cfac7fca29eb9f7e9efee9daeff5cfde543053fbc306725a90aee54eeddffed96f1f2920fff2943ed51fe491eb569067cf78b604e6073508eeea0847965fb9f77ab5d3357b4696475e552feb1ff0fd77faa703bbef23cbef55ff7561cfc4fee9de1fd63fdffb83ddc815fc7a163eaf8e700dc9327cd577e3d6703cf2fa3dc8bdecac6edc0a8e5b55dfb83d2b6595df73202c4fdbee2967e5df1552ee54264beee9fb83cecc8d5b3fe0f7c6235a797b062ed8e1ae38b23ca172bf63e9f96aa78b1f9cab6d57d8339e9ef977ff463a32c8779c63c99588a7a6a6a66a59abfbdc78e4759f47b167fdbc3202a3a4d7b31665fdb3d57f8e5bbf7ff6fd3d079a36ffd912f1eacf53fd97c7c9273e7533a8a998e200f2f31824de6c6d6a396bbfc7ef79eb40db3da558f94bb14e6626e0d6e50199bf0c6b337f50833c7a0d974811b7a9544216c8218fb3865295a8ab545eab90d59a365be55d225eff945cfd8b884766cff6431ebb86b74a855b2d9122b655a20f2a7f3faf2420da2a7fd83f8b846d95c7edd98a7533a835f70ac0ad5eff94fdfedbcf5ffa833e1211fb5d02fd4f9cf47ab61fd435e60734d8e19c3ddb9ef507b5076229d6ee6eff6e677eaf32a993847f3e3b59726d677e02dcfee1d6fef60f7ffffeae8cf40735d8238bfc606bfb87eb3e38fb877f1ff47045ff1f3137c4f9fefdbe32d2248bfc3ef6cac824c10eb77fb6965edd0767c82baf67febb6ac0d69591fea00eeaa00eea1a33930197a7fcea0fee01447081c45d19d9e7150827d86cb62a75c9ed59e9557fb0c3ed9ffe72d6fded9fd933fffd5d6dcffc83da03b114abfffc7e7f50d63f5bfd410ec5fed99eedfbc3fa87df5fd63f5cfd7765843fa8837a8e5430a846b5daa44e12aff67bb5499d24fdf3fb2779c495c9ed5939ebfeae90f03759f6f30775502f8f934fbe6e06b566860277252acd279bcd66a37dd99b1d59aad24ad96c361bedcba209e343ddba1980cb81b814dc21e252703520965eedf7fa67a38e78a3f687fdb3b72bb7da2ff6cf7e3fac7ff8fb654b846bfff234f9e4eb6650635600b83fe2deaacc504bafee7bfdb34d18b1a5ee870dc4b47d59ff6cd4116fd4fded9fade54edd5f9e259f7cdd0c6acc1f80fcdb3fe53e93dbb3fdfd1a730cdc9beda96e072e02c4a5e016405c0afa832beeff88b921ea20e9e7efe7dff7df95112759ec0fea1af30c5c717fb9d815ac86115b543134622c888d114b414c8c589b1818b12e626c625cc4ae885111b322b6267626c644ec163b41ac4ccc4c8c4c6c4c8c8cd80a661a9305138dd6162d2d5a56b4aa685101ab9233450e16b0236046c0848005c1d2c2b28155038b06ba047582364199886141cd5032148a5085b04a0e0d3935b0c0d01b5502668391e9c000ad333015a094d032418b899ca9d60b3929c8c90276821699d6989612ad246063604ab46268c1007b0373033b83a5030b075812ac1d58586048b0728089818561b5c05a83a5062b0d161ab125fc093781cfe1705ccad97035bc8d8711abc2c9f0315c0c0c5cc0020ee5507809fc05ae89b3e027d80956c347f81aec5443e104115031c18803214820020c4305283081244840f8400109d840cc8cd8173115c4a488451183622c6051c0a4809de930ad04a7a0f525e70ee602a604b3925347ce1c5c25470e56418e163957e444e558915385a3c959c32de42cc12ce43c91e3046b9183468e9b1c3372cac859414e9b9c30384cce0c3931e4c090b394732587e935f5bae365c72b8e3bf1aae345c70bceab05af36bc892ec2afbcd678a9f17af32ae335c66b05af36af305e2a7875d160bcd8bcb67869f14a81bb118b7a4df1a2e2e5c40b8a57132f35af34af286253bca05e52bcd0bc6eaf255e665e635e4fbccebcd6bccabc8c886d11d32216460c05312f5e45bc887879790df10ae2a544ac8c9710af2eaf245e48bcc4bc9878917955f13a81c3f1b2e215e675444bbda25e28e814bcb27861d12a7871f1f2a29f787df102e325c6cb8c17192f37af335e68bc58f04ae3e5c64beac5c60b8ed71bbec44b8e571caf39729472ace4a8f002935385a35e5c5e57e434e5607901e16fbc7e70305e38bcb6bc6e7899e05582570f2f1e5e3bbc9e3a8d970c2fa7970baf165a8e8ea3ddbc985e3ab8ec70c571d5e1a2a35b602b5c6fb8dc70b5c095868b05530c1719ae307ac90586eb0bd7162e2d5c29e8155c59bc7270a1c045856b8d6b0a9714ae285c4cb8cab011ae249c0e17122e2398889796970daf1a5e34bc6678c5f082e1f5c22bcb8b85d70a1de785e5d5e44aaf2bafa597d2cbca4b855795aee265734db9ee70cde182e392a3b3b8e270c1e16a63dee09272b1e15a83bb70a9e17ae342c3e5c67586cb0c5719ae315c2b7089e16ae3f2c2a50257173c868b0b171b1716ae2b5c519e84cb0a5715de43ebe0827241e17aa26b7039e152d339b8d2b89a682d2e346d02d7cd75c6b584cb8ceb042e32ae312e25fc8b4b8c2b8ceb08171857112e225c5f5c5e5c43b8847005e1eae2e2e202c2f583cb07570f2e1e5c3bb89e5c3ab87270e1e0dae2bac1650257095c5a5c36b86a70d1e09ac125832b06170c2e27d70b2e175c2db8b2b85870ade0c2e24bae26d71517936ba9a75c4a2e2b2e155c555c36714abc43b4438c23d621d221ce21c211e510e310e110df10dd105b20b6214a896c886b886a886fc43444344416886ec4334433c4324432c431c4158862886dc4304430c42f442f4415885d885c886cc42d7a07510b310562162216e2150c86880231aa6910ad6817c42a442ac435e214a214621422940885f884e884a8464c233621a2116fe21991097189fe229a11cb882710c988634425c4244424443162986e817884688408a6c3108b1089683ac42fcd44c311bd88438842f41dad456f2106217611b9b41de20fa20f620f220fe20e5e457c12751073107110b7883788256031a216d106b1069106710651063106e742844174622fc4174417c4164416c415442c6293784564129744a5fe41b422aa2056116dada9d61d2d3b5a715a75b4e868cdd192a31547eb8da9a5e546ab05ad365a522d365a6af493f3c02868bd69a5d142a3c5023fa2e5a67546cb8c56194e448b0cb7635a612578093ec3b79618ad369e460b0c47a2f545cb881611ac37bd06ab0c5611600f600eaa38f4042a35e813ac33ac383889961717b39a4395054d43cf50352a18544e8ee51b82b7f868f0e860137817fc82178507d54de156b41a1d1866c355705c9a0afa46afa16ed016f414140d1d43b7b80ff3cc5c62de269ad9c44c33d54c27e613138a0935a39852cc29e69ac9c43433cbcc134c3273cc54622631919862669879c434628299454c22e697e9650e31859841cc2e93cb0462fe307d983d4c1ee60ef369ea30739838cc2ddde446789a69f329bfc3eb70259c8cabc0df1411b9192fe3373fe34cf8097c8c83f122dc8b0fe15d3c08b7c15778f9e04c6ea551e03657a14fd064ba8e9ea3e1e837ba8d76a3d1e8327d465fd152b4195d4643d164f418bd8216a3db74140dd56cfa8bf6a2c57417cd4567d158b4131dd556f4123da691787d69304d44fbe072780bbc0d8fa37b681e1a87ded2377409da867ec18568161a4b5f69a6b6d22a7495b6f114dfc176701cae83e9e039180ecbc171301cfc06bbc12de036588ad9e035580d7ec369301acc0276c367b0195c06939163e330d8056e82d1f00998092ec364784c2b3112b30a0bc15f188c47c140944f180b378de051220cd132d02501725d6655f1b50f192d0981d094254324080981ec4da20c0909a99687a08460c951141344103a623254e4a449142742423e6261d6a849d112110c153999528da048911242142725488900193bc227660414284b984081b264013db122d6088a932547434d84868644d820e665a58810c589100a45432610093999528fa20c9580c292103e36c40e318922258ad0122651a444e0288a09529830a917c484682285c950130c6241ac110a434f8c50184a528131d6c5c8090350a8638ccb016240f0c47ed81386a2bc623d2c0f4b021329538674623b6c9109233811218a1426424ea6d4a1102ca1c5624f539c90605434144504528450187ab2414c876d321465042746514c6022858a13138886848e8aa44c192a1a12cb619b38113a1a322a3281898f180e6b34e4e4c8499114128e4c5822348290932975c994265196141d0112dbb2464643502e8869c989d9b022489152342516ab618fa44829122a2aa1841220d08ad1b04743464245529c4ca92888303444e3119b618d868e4c9862e4a4098f980c4b82d11212c8580c3b54344568a8c88909444345424622509992410c863d8a3254820854a6cc624e6b347424858a905014293bb11716851008b9600465284a94252430119a52421109424da298202504519cb47014450a1321a2129a64592922fc88b1b046475186a80cadb0234471d224cad014a1a1a3254d9c3489b284499058d30e3591c2e482d8952d922282d19011d31a1d9930e5c8042900882d95608291d1120d624abbe4684913a128529c34193a3272625434346583980a6b3454248589100a474ea03809c112284e965059f2b12a6b34c504294523080189d9d6a848ca919194062c295a12820c36b5227032a5160d3d29929201098cb03b7668c88421132660812643238cb0c4020280d9b1464f980c91c0848e353a8a325434444214270f9b238a13117460722c132746519c141d9d302484029429539608150d3581e2c404da132652a0d07660716c09424b8e9634597234040117ec8d113881b2c4c99193284e62b036f60913295042203474640293a113865e30a92d92b28070084b8ece29aa8d52dd1ab8379bad72cd7d709d129d123c85bbd9b0de6003180cd6cb4d9e2033afb89ee8edec7aebadb7eb7973b946e2bbcc792f4fe7e6baf39c93bd571cb79a3ed7999bbecef9baa8bbe832e7e228ef525ed1a5ebb40174e9d2c9dfe439b92fe763d5dc49e75215659f47d877fddb1e3e9de7dc397dcef505c15573ee4e66ce97e3e82e9d9363bb9c33ef8a723eb95dd56e6c77d9e7ee4e232b5fad2f4fbadc769d73739d9bcd71cc80d5029c99e32873ce2dee76a72fc7bc07b77ad779f2fafaee76bbec5dd74dd0795953b59cbb6a77e7f20c77792ccffa5c00cc758e393a3964e670d7870ff70900babbcead06bbbb0daadc9772bbbbdd7a8cf9dbe53e67e79ce972ccf15ce6a6d305c15dd033984eabdc2d90ed8276ba73cebb2cd3e0830d77793ad7cb0ad8f565765ef7b19cd3e53801d3d7b5be45765277f70d3dd84e87a522e2eebe8b001edff5aef375ce552a198b7788ef8a72eebbdc012dfb5cea63ddb7f3dd9f5e778e3bc02eb77399f52daffb32dded20f4b92e675f5f8ef2d2f50555bb5db7ce2177bb062880bb7677398e73d1a5b45bd07db9f575e79c72ebbeceee1cfb76cbbe3257a95cb62adf75eeb865eed67dee72b0eb94525f5ff7d9c922fb74def58e993977e7767df2eeb22f738fdd9d3bdd77b28a794e9e737aef640cba77ceb99d93ee6e38e79cbccc738631668665c0b1fb37e7b2fbf2eecee9ec73763c9752cabcbebbcb733af36cdff55ddee5989727cff931f35c4a9d5be79dcccc3c99e7645ee6a54cb96f7aabe5bbaef2dd39d7ddb7db39e79cdcdc39494abbaec72427010620a47bce9e73ec3977bacf3957edee3e7e10179927c739758efb56dcfaceed397b39ffbe6fbfaefbbee6d815b12c3cb68d42919412864ae076a694b0e4c868a80427472fa230f44488891328213061ca6cc848a804294da22c29225b4d9c40594245c8c849064324ecb448307212c58908b38f0426474b42b001683413c0084e8cc69d2323a12745524470341485078319eb84a126519cbcf823005b0029528a849a0c150d35299232e4a4e88887084726081d45715234e5020e32f0b6004346464345534a90c244a868888a14264345424b8c9a301912e2e0c9cf010a3085c91010900d583d3f36f8d1048a131298081d4131618908434d820c3d113a3a61280a900bb6002888e0a468884a062fa3232327270ced7c254861327bc2644908a04091521480af68c991d106474c9618455952742474e4a484109860d4d3d324ca12a1a1a225534a90d241094e8ea2985024c4c4c84909e46cc950d18f9c117cb09a44199a3265c90e388214283e9a0c69a073b4a46828cad0084208e0e00007284091919094a329281431d1a0b51c4019a2320445e8842525088d10c5c90823488182c1cf010af02194254ca440118ae26409094c4410414a0080fcd8029ce04484a1a229248fa225435098e8b08e868c848646585224e5c8c8c7900270205480a1274ba084e05f1dfc089d20450447422344714282d112122ee84a004225ca90f3722014458a13a3a2212a4243434522081549395ac2440a14284b848e4e18daa11265c87d5a4cf4d66a49b5a964936a21a8643f4ec926f14c4aaa252d4d4aaad5baa4a4a45aed5352e3a4a4a45ad25452e35a4bc9d692bcd64a6a9c94c4b5a4249fb55a52d2d6925ac926d53889936a9d54732549bc4a6a9c546b25499c94d49e92ad7149ac64939236292929a946952471122ba97112d73a25495c6325355e259b94d44ab6c629d9a45abb924d4aaad5a6925d254935aef1acd5682bd91ad76a3557b23556b2b55a2b71c044c3bbcb25182dd924d27c72910ea6a3168b25e6b84d9123919498425a8b9c8f34dbd4fea60e689344e2c8d9c67b1a6946794fbf47224d30ded3cf22dddb707438214715484c51258ab58cf1c3195b70e95664524321c688185010e706da24a794f7f497b30d18be719468e3b735895f380455afc424a37dafc43d93c83a2c11268976aa521d56487f7f38d21c96837e70a4382c07fdaa916e590efabf91deb01cf4772335c17240bfdc364e3e65a3a452d38e0dcb417f0d345869d96c4c4fa333f0d038d28a4f4dd1b82ff9c9fbb29f9c3ca5a6194d8969088dbeb01cf4bb30a3d1166434fa6583e9a6a6eee0620b296e789aa45253073425ef9986d0e895e5a09f29a465995fba14afa1451763e800d5056dc1d4eeaeb0410b3257a85083b6b48eb4d24d4d4d79a412930f8d32cd68746939e857627a1a555a0efaadb4a6a6a6a668dd9753aaf6539b0375e46e0f3f2793517297da26b94b6db531d820fc414dc95af7ce930f5e7c64fcb3fe6152aafd3b41faa7613bc2fa87847d556df2ab65c832d0ba51428cb1587ca85cd9ab54274bb6cde9bf6359abfb4bc4d57fbfbffac84ede537650b7485d20d6ef3eac7fbcdf97f50ffdfd9de7e99ff0f767fdf3fdbecf906fac556fec3e1c6b958e25579d24b4ab932ce73b6b5cda93eebb824bc27cbaa6769d2e7851bb523a47d6a8c47aa65d0ee6332dc8e7e8cf8df459e3d2401aee8a52d6b8b45dd10fea502709f8aa075ff55d3f0938b80293802b90bef7e03796dceb84bff5fb39ea842408de7fff91354eed1abaf0a67af844f5e08333548ddc7b23d75972e5de572084fffdae9084a4ff4712f1d4f72e81ae21f9a454fd7caebb4ac2f523cbae4fe61bd52a97842b4896f339f253719d5c7b15ab43ecbea4efef756e0deab223759270f329a9335f679249e87324124aee0af19f24af104fe29aaa392b9683fd5db930c377ff52fa3d96cccb8d3af4b976bf41f5efbe47fadc5c73cd75df9cb7cd4b2b48c77e905949ec67ea219d21e5b19ff67b3f485720ac175c3763b54fe50daa93b58e1d05a0bf8f4fc45590587af4a9f687b21d3acac60f6a1fb94e81614d0d9f7e8f465cfb7bd580ad1ff984ffeb4a9fc7225e21f48fbc4ab45315fc5e8110be4a059226c8ea91ac32a9ea6f24f2a9a925f3433335fcef419082bb3aa2faafc7b256fb7bff5e259948be0f3fa88f740f3e8fe07f63f8be4ae2bdf74cee0ae10fea702c9be415c2ff3d38964dc5ab447e4779c4b59fbfc671a7c11b1546a9cee77e2b9320ee0d06a5ca7d1782065e10e3b4e93adc3fcf4c09094e374af3ba379506e99f92fb8eeb6675b1ebae90d0f5de1b106a4049ffd0857a40fff4de5e7853e977d04093e6b35940555acb25a3526f4aedbef78fb8dacf95a77f6851f32a8950eddeebbeb72377832c097eab07d4ce702a8ee33ea8416e2cb9fb1ebd6ee4c6b256b9272587a4237592f477df91650ab57f2bd73dfa83dcbfefdfab24cc9149b87bfa3b6037eeed852c951b2957a9ddb85147bc2182b0fee187f50ff7f4e7ea88f7650a5395bf5748f839b2ec2ad57b70db56bbe746af1b4beef7839cab52b97db27706b8cc24ce5f11e42b621751f736c314b575a87b8bc14b9dd5bdc1e00592232b52b5ac99e16a69020c4fd4fd165f11bd89bab712d450594ddd9b0d57d420756f35d0c1ab232a2ada54222575ff884a2a874a94c4aae5d10ac090e950cba32e3a802ba8e5110b2ba0b534e20209019c20aa964663a2aa67b321d9a9ba5ff79b0690886be360ab631deb58c10e7ba44d965cb703e2de7a8853e916951fa421af20e03fc9f296830fb57f3e3f8f3a49e816b5dfc7276ea434aad526a9c4f8e7833e12edd4d49404c64a9f92656d8e54623e80f0b5e91695c7a34ef2b53fa8e7fbf8a4c7928ff05425e2294aea20e1f73fc2efe41158b767e5de7078aa475d2959f653e1ea5fab3e561fc7dae3561e8fc0ba5fa3ec4c712ab7c8dacff4b73b33e9c81d2f897b63e14df5be3bc2a9de1b4bd53ff9defbf9ddf783740c1f648d3aacdf5ad62aebbbb1a494246a552a616bd4613d57f1c119ea803fab57f0e9d815fca0a6ab23ac6f8de27723ebe9e8616b9c159c61372e1cb5357a0569d88d5b476d8d5dc1d9bcb49b1c8b88a7aaf8e177e3da515b4bb9276bf55e57e17b51c391be38b63ec85b23dd27dd7bdf0fa89df17e5747f83d6f41e0ef7885a47b4f0789d7f0bd8664593363b3d1117c9057ac2482cf1ac1af52c10e5923f8a0af51c1d9827da38234648d465da5d2758422aee0cf9511b622820fce1508eb45051f5cda5e062cf0e9b86a6c2a54d6e85341d558cefa81e4ea7785a8561fd2f7fa7df885aaefc1b1285cade8871f485ff5517237c8f74c8a3df32757dca9006422ceba3716da547eb0c544a4756f2c9051f977b59b41f7e08e4da0590279d5715459cfba7f57465648d7e3aeba3b6f8574cfe30846d0d5eebf25b2b5ebde5b22dd2f4f5706f8443cb2b5f5e08e2b55653ddb71dba8bb42967f47aebc5a21ad0fea1dc315d2fa1e8f44d6af3e7cf08fc4ee8f44ee69e9d556ebc325d2dffad512d9dafa6e81516b7dcf99549d8e512749e45353b3e41e8a1b215529c97de9243ff73ecedf5592ade20530a996fc25e5a22440e97642f5285b8553a55f8ea04e8e92515d9820c0164d4c16b2d49dbab715d6a86087746c4d4d4d6da17d5c6c3cc030c20a0b6cf3998bed82167e98e1a94883a722a06c4753968ccac546802d9ab0514980d2ed841154fa5c545832681f695b32684b22ed2745c961072eaac4b1d9681e6953b2d9f89d2ca754ff7e7086deb8bdda15065c628001c41d56a6a6680babdedc12603b55ff26394bcf6a3fc859869648914fe5b25f5b339e7f97a4a41293101afda61c1abf3f67e91f58f5ff119b432ca154ced2337f9f324250a2cf1fd429882567a9fee59651fd91f645ef81638b123a2801a68dcd46a3cf4fc7a5f1689b43b8d0830a3c2c4153621242e36fcaa12931358dfb2605d0f8e9d8a4001ad2170bf02385e03dfe1c55fde9237db100f794440af21e7f8e44fa6201fa4c22bdf7f853d267bda7f46ab9b71b7fb9511bc79528b8a8d18510625c11a3435c5a8d86354be490031a3647b8415bda7ee96381b7d9689ca57f36a8feecd43d73f039c79dae7efaccab9daecea3f4fd3dfa1da5dc1cd948f78cbeafe873dd5b931c55d633fa73e40a7a389fa393ebece6c27ffebeb744e8ef83d4d9bdf7ef9d7be7deffe3dee3fc9d7b7f993bc83dd8e11cb752236e04753ff7ccbdce7cae5d75261cdcd38e9b74e43a57c87eabd1332676804662af58d8f24a4036da0797c8cac5b07f368e5d22dcefd325c28d1df48c36a5517d7a467f57be2b23ef1d48f5f4670e043efd1defe90f5922bf42bca70f8e62f778af1abdeef17a780e24eb1eefe9cbfae77bfabba6961d54fa3d960857fa9cf75ef7d6e4861bdf7bffba688e68aa3b3df378e5bd4ef75ebbea7424114fd5eef7d6a4465d2b7888aab29e79cf8dfc91db33af1be90a5921fb41cd8d5c93ba46db8d00b907b9912b08f2ca88eac39fdf8dabdf25023e7d101c6bb50cbb7fd2fd7e38965ddd5b131975feae8cec0aa1df3bf6afc6eebf916bbfe7fd6af45649da884796e17b4b965cf7c1073b0cc77d15e8fbe00775162f158400f80b81d52f597a759f57442728a950c556894a11d461c75435daa82e33ac50c337aad5705f05eeb87535962754f0410e7b9564459627542ef4c623e053b00bbdb13d70c35e81109225d7f0f7b91508aaba2b24c843234bea20017f1ffc259fa87ebf5720a87e917815249f78dfaab1f49e93f47bbcdaea8d5bbbad749ce38e13e4f9868c81cc93793a01f747e4ef17fba794edf4cfacfddbcd53c47e2f143500570a2b0c58f7c6d4a5ca76d8567b85c4bd6199a1b2adee830d347e407ce2bfb5645bd7bda5a1a672e5e79504b84a5db264db6afe8e5466dd9f639256ddf7b15c22e57c1d24aa3a49a256dddf2daa4f2d77aa96fefd3bf28ae88944b63594f844e40f05a0c6c9faf3ee7a3ef23311a708ee74853d7b5808fd537e16ae969b459d3fdff3b6142bb83f22fd72d954ee87703fa5d780fe294512fa87fb22fd332bf71ae89fbd3579a9dc7ba081266dd9ac9acac16a39a472f3835ad63f7bbb1255b9dfe1388efbe5e1c8272bd56f407fd0c71692ee3bffcec7adbdfab86feffd7bef39778ffbc0ce7b1fa970f5bcef78db59eeef5bbd8fe4de1bcbefbf712b91afbeef1b8990aa3fd14e95a94a65410fbb6bb5fb410fbdfe3ed2eb72f6ec7b5e81c0357c1ffd233bf471ebae8c844f45ac50a6ad4a2dbf27eae25499aa54bcd5cfa7e313d5d3efdec9522ccbb2fc2691a7a442955a4485abdc53e9aa51ad72a43fbb8fb31bcba3aeac9fcf2289384e55adc6a3aeaa0f4722af2a520709df2afdb932427f8efe41ee8da5f7aaa72395aef4c1eeef55af1a3fb22442aaf4e707b58f65f7fc9165ad7ebc2b23df832092377af306f1f73ec889906af720873ef27b12f05a1ad52aff371279eddeb7aac6ad7324f24abf574866a5e493eefb7b9564d6ee7b85a4239ff03b4984544b176bff289b3afefcfe3dea803ef283bc6a4050dd0d5276cf6087bc02a1bf7b47d2df19e99e88a7aa5774144ea9deef0a8992eabdb747bab1f4fe897ff7a0379245442b65b3d5a35755bdfb515855effdae2430c51b8b883ea8bd42fc8fb8ea75f5ffc622ef8fb8aafa5d2511aadf07b56a24c2a07eef8d441f545e21fe443c553fffc8dd20de2b10e8fbf3ca084796b5cabd8f9e373237965cf7e958f6b3af8e30085c27e9f928f66cbf16326b87169c4290456a9588fd20c83fdfe983d41fe4553f0daca14ffdf6970887e3af109fba8b847b7e9047ee390f6a1eb7f2ca03e16b7105776564a74bec99eabff79e5746980cf2a0fec6a91a416ea4c2b5e4fa3d8f54b87eff3d376e9da037bbb39824f2aa0382577e267f85ec73e5c68f7ce23df87345e441c07b30045baaa73fff7b5e81a07bd54eddffc87df67ab6de587aff3d08ee4a4596b5aa7a1e4baefcdf583aa076a6ee06e1ff3ec879ecffc25da94822affedfb820873d6edd15d1ac5c370aa9dc38965ce997f4f9bb51874922ae1cb96a6cb62a80ba2b23fc1d5331e09ce307c427f337a865dda823ded82552fa545aabf3cb8f2251550a52efcb499649755710d8312a25b978f477f49e8e1820c01668a668fb732c91ea2cb98752db52bb2f932afd5d0f760950ee0d0b10f5886b474659322a914f4d558ee482b49fe44648d13cd25622554a96f3cbaffa07f91c37a82087deb8bf2b0e6c154eb49de30635896bb4fb8a59ff30bdd13526ba8409638c3ae048820c9a5721ca7ac62ff68cbfab8b268c0f95ab5fe12810cbaffc1c567e1e52f9f98bf40fadfcdf3f6bc51636959fa78198c65f7650799f7f7998ad80e08635ffb13d6baf7f58f4708e5c77e5216cb5c356f7778403b21b5e3940cb0284e0f0fca09ea4477a13d001dbb316c80d1077e5805a9d93ac313300dc1fb17f4ad9ce6c20a6f98bfdb35147bc51fd61f508b83fe2fc5256e9fbf44fe90de99f52acf4a94fa54fbf83fe9995a211a3a6d2df69a0a6d15a16a994bed83ffd943efdb07ff8e92f0f259fec2d098e1b6f2d8fb8fd2deef7ea01b55af63f599228a9eeb3c83d80fb00716f4a70eade94d8d4d2abf30550d78a336bea1e40045b13e456e4a7e338390457e45f91ae1e50ab7375842b57abfc3dc6dca00fce95114ab2e8efab07d4ea8afba0f6fa47872341e0ca3d477a3de3dfca4f47aecb33c927e21ba00344e727cd230f1b73502f08e04240dcdbd29b4aebde9666a8eb5a20116cadc851e7d5036ab5bf49ff49b923fdfe41bdfda30342bfbf73cf3ffba7a4ffc47f3ef7db3ffedc7bfdd395fb5d19e14816c31ad4ec05dc0688fdfe337ef3d2030db0ba372f592a58370d104638b5ea46a5a9e2e3353247f000860b386eb8e185f6aa3b73a049dbdf0d88dc3a9434940823ce540b3a4441a3ae4abd3c71855bd5bd09f154bdba523cd998767785708aa288245a00b680785702ab242d2a739d09b00f361b200b2894da68128205a50ceade827053572a10e77265a8e89c1cf7fc939b5c0886862a7ae842c3181f44343c7ce1fdd083959db1ba687880aa5cdd2821dc88bec5c7f38a2426440a86f011b9f5c5020a3bc28869011671b66861e17551aad1b0868815b4c821cd9636b4c9aaf30728eaa475ce16687372ef0f724550660dd0a08286206278018d2b34fa5effac2a4d2355b92821dcec8d3e4f032d8d9225141f2e42dcca34de19d64db3040ca2109c4b81a5b97752ec990cc67d295658cf5874a039833853270bb43927fde5c8922bf5289d730641a64e26da9c93ce9597b9c46de84f283cf5a82b929d316d9051f9e708856756fef959b0e154f7b6860fb500756f6ab051398ab3e81f7fda4f954e92cd88db33affbe6f739e991e21c653da3cf8db016c4f9a50824fa08f52552fd3eb2f4e756473812d63307e29bf750be65112755d333da334a7d0c2b47b19a06126d369b128dfeec9faf413dc7b067d4290b62b9529546d5f22ba5af8436e99ff9f449600fb8d2e72ce2ded450a3ceefa7ba19d428cf2dba2f839445eaae9aba1e9047db07378ab8515bb25457dda81b7cc8a202d0a4f93fc991a337ce9e4d4ace9eb1037d08b4b45256fdc6c5856ab3d96c5668b33a497a11b73ad0a4f12f597a751c61ddc3cf43883deaaa81c18b3aebde82e8524bb13ed7ee0228faecdff5b6a7c90e037b80e940e1ef87220c0cc72411742759ecf7a0e6b2ea3cca3bf3077d05019f2b2413a4bccd527d507bd3555fc4d561fdd3913a2a9f5cc239dfc739bf1b270d494e54fac2f98761f74c5ac5fee13a9ff7a75639ae723f7ffefc7004c92f4d491d7faeb4ce24af753d87009d5fc74910bafa570deafe10063490d72688a7a8d2a7ae9a16c6d4a595b3d5ad852f6a5964bdb97afd434590b79bb5518d04387fc2a94bee6aae90fef10709c4b09661ed209f4b6489a4514149e425ea78a3eead0e32ea00eadeea10b351aa5ffa411dcee878642b57282fd5d7547f7fc057fd060554f5e769a0a6f917649cf5ccff1bbf67de3de93eec19e7da9ec1fe7beecbafb09eb96ad581bc8200fdee65fdd3eff5cc29f9a49f91f43319f6cc4959cf9c4af7ec9f6ea4d210e0a9dae4102680bfaffa08b1eb10f6e0793458221c762b087464efacab7fb742326b9954e7772b09cccadfd58e24f2ca24af90fea6dccdf23ea845aefedeb82b44a7fb229d8e2462a55bdd9bd21a2ee07cdf5a8ad5df0b1b6869fe303a492e4d4f03c95694d7dc1d20bbcbeb59909e2db8eb82f54c87fbbd15f1a6ced7e14810ba724f7f4891fe59352ec4a9fb241c3590df6c365b15da3e03fa67d5383dd5fddd2f378b213f22d3ca65a3346d5d6ab96d80944229354e50b5dc37218401a7675be9184218523ddb3ac710c278c3a77fbe83fe01436863ebd9561e7767b33ac9d3b37d2e1d292eeffc20e6d452acdb85881cb675ed2e802d2aed4da9c17cd95b17226ad83f25379984efa84cb20f62502fcf46a0f4ea24bd04b9cd124d1ca144264e13466c015bdffd9c73ce39e7dcd9554a3e99effe463510fc27c891a557b96e8974dc12e1e812a173894c5f22de4ba47989f00ae11e4957bf5f92e388baaa229f704fe91bd540a0cf3d7ba3b73b88aa9780ea55de07d295916fae1e50abfc0cfa0a89f74c96de3f99ef9e373ee178357f57dce48c0097879fc452aca5b823cef71c68b767922d2a7de1677ada171eff00b80ed43dea58a0491f752ce0942475e6f3538069eb3de4049ab6dec3495ce30601b83ca0f73b7a1d597ab5dbe7ef7dd53eef3fe1f9b3dcb80f3e9325387fa66f7bd0fcbdcbcccf91bb5d5776bbe477a32786257fc7fd77ffa4fbeebaaee391f97724d25c871f7b3580bb3ffb65bfcf9f4d96fdce3f737a7bd0dccfddbb44f64bb04722e2dc6e675f010499bbdde7a434dc910b77ec564658c605e919c779a0fa2fd2947ab453a1f07062cf38ee41b01c32dbdf25972cfde9c8713de3f639728719fc7d3a523a44e4959187cd9247f47a16ee4f0f7b459d2c957cdd2f6175c7235a97965fe983b3e7e4a5ac5d2146c4d933dab37d4a32d741652eac4ebf2f29a5747edc649ebb424a9fcaffe2cff7c62f6885783fc772d554afc810902c796ae72aef678532f04170a4824135aa5527759284ef1fbe93475cc1df1512ff902ce7bb3f48ba832008ba3b38a7aa9b3ea783e074109cd34170cef9b5d5f2afd59a5ecf5a73ce1608822008b6be967fabe5fd8c07e46d7df7aab19b61188621f8df4f109c7382734e109cee3e4110f4a92ad590aa0241d09da7aa5e35bf39e7fcdc613d53cd39e79c734e5529ab2a6f7584a315f4b07d7605b99086dc0a0407c7adbb42e63be8eeeeeeee9fbbbbfbe7eeeefe7deeeeeedff791aaffc632ac2ad5cf6775b04254fe81200882a0ea551fe42d954c357aeff58ff7fdbcf323bd9e79accff33ec8c5b184b26aaabfb7e3f17bcffa6e647510a476cf1acb21b57bb079dddda783734e109c1304e79c7382dfd8d3597345430eec54def779aa0ee442ba9a2c6fb5c8ae7059ab10547d5ed7625db042baa71c0d7966574b77f707bb70574756df7a1f5b641882fe416d043ceae64030897bff4c9203bf9c734e706fd549f76f8d254f7516f92bc4bf9c73cea952cda952cda9faf2fbbe4f356790afc6120a4f9defcfad8ccc9f331fb90b1907717f7b56ce6af7dfb3ae7d52aee3f558dd07f574f79e81effe7de9eefe7d9ffbf7a5bbfbf77ddf7f1f4896619dcf3bfdbfeffbbeeffbbeeffbbeeffbbeeffbbeeffbbeeffbbeeffbbeeffbe69cd57f76dfdf83dc83ee799d3fd3dba7a6da83f0cb399f1471dda9a9f0cb3927b93d3bea241f540f72d5581e79f5ffbaefffc6ee3b2843aa7fd7b16ae9555e75e8e054d18f0bfd27fd724effe9ff6492bc45dc2fc5ea643f7bb5fa2f47a7376fc72a4ff0669d3ffee5ac5bf77d5c20a6b5b8042a403eb215e41dab50420b33777b11466d38574676fe5c1921e2a9ea6385f4cfd511badaf1e9cac824613d5b21fd3e8e40dc1b10712accc712d9da2faeeade80785365cdeb2c1d245d4b14ea08aa4f20b84ded67ff85536e546d5f267724da1b7fc94fb35bed2ff9e9e7970ba7dca849963327cb59e53659c0d47eaa410c1fce7f5f6ed4f7e197b35a36d48a2c174e2dddcd749a6d1c0889378516d94fded376a0408beb492c6797dabfadff408a35c1d4eee246241b8c548bec31702a8bec1bb5d52eb564381b55d9d67aeee2faf25f5fca72be1461bfde439b6a773fc3116d29b0ada9a9c9c9c9c97b7afafb5b8b16efe9e914980261ab6543790d25ba940321594113bfdfe1c4623c6c3c787cff6c72a01e8f24fbfe59fff7cbc87ed181967c6a6a8a6685f54bfd9e03bda189a40fb7c8a5188f4fcaa1892f7e8ce42e2e7229d6c3e57ad7f7df8b5c8ac97a9029bc5efffa18b9deb3fad5af03e5904b3dde4aeb9796acb03ef63232859c9ccff91ee4c2c825d85b6981bfb4a5252bac5fda12529301683cc81444328556eb5b0f23d77b28cb207624f83923b719d98d6b64a9d6c86c468e1a8d6a750691bf5d8a92a547b94b4896b35aba9bef074777b342fad906b1645b499bd88605991d4c50461b3d4031bd91630535a668ee558c310307db1c65b8a73dc71b40d8aed882a0adf778df2d1a4b56d8a4e08b2568eb3daaff9e363950cb09ca0e335aa29ed8b0e140dd868d7693860d5afb30a6960d559b4dbfbb712024a6f9784fbf8a2cbd8f2c3d8f2cc58e2c458e2c6532b27c27cbafa5bba93eb5b91f0c580bdb05a793124bd9d772468465108be873bfaf62bd7fdf23a5b002bf552a904ce10b7ffe3a5048a6a06a3dff3ad052c83288445c3b28da52f8484d06a0b5c814402b9e42d8717038380eb42297562b9283e33dfe21b91486e47a4ff70c553e482e8120c937264b998a5c52bd15ef9754e47acf7c1ec3c1f9c8a5efad78640a56788af665fed2963e6eb2ec6c328845dcf7730de2de7e68ea2e505df6f64353e5b828eed2c58190be4fcaa179aa7f952793a944b196dc05a9c900b4cf8e289a154f61fd03295a1719c4f94d964c34fbcb0e8a67107906b1ec9e383865f7c486bb742d3ba80eca81b88bf7f87b9e28ca64b5eca0be7eb5754f1d54f7b464d4928be2e0705105a82567e3ba70360a86b2a16060b59c6d68d36ca3aae5749a63cae9446be93777e35afcd652ae054aaa9f6c505dfa094e9792e1f8b0edcb65e3537ad5b906916910b9f697dca57ae7d568b7dc80cb53ba5345b2e2eb405335df6f366adbff193a787b8f4472dbad6d2d12c9eb1ec97f3e92f72189d4520d668a8f15173f9683a2ca578fe4a1d85148ed84c45148cb4e4fa0abdb284162a9dfd6df42b7dd6ce22df4f9a43a3053945a81f9beebb96dc45f1af8653fad7e69de2febcb155be4b3482f6a1592329014dbe923458f944525e5d03ad2a371e4d226e9ad1ab78a0a70794a9602f27edf73a0eef74507e27e5fe640f4f7df81e6aab9d18ad3f1e768c5bb11c98abf3722f5f8a41c5af7b37b24ee9998c63dd29c4f7f3e92f74c4cf3e8b7f4999846fd55b136aa67629aea9162249212d38ad6c35fa9e9035aec9998167ba41efe3c4826a6c56024dbbcc73fc7ff4532314d4522f9788fbf8b9ce23dfe1f89a4c47bfc45928969d4bf454e12896fdee3cf229998e69148a2f7f8af487ef21effce3f249998c69120c94ede43a3a613c789f4e9fb926f338afbdf36dffdd23c577dc96d5464520e8dfe4726e5d0e6dbbc5f9ad78ddc287a0f3f1d65dec33f4796aa9b4112acc6dd45813e0840b3e26d2606563cce8f2dd23475b64853b8b3459a60176c91a61d205ba489a7cb2900cd4adbfa9918b6459abad816696af1d8224d3d7a6c91260c645ba469039a9348dc371920dc224a4d4268561c8e8d895b6d91a6666d9126556b8b34bdc42dd2f4c3b5459ac8d716690a00ad4924fa4d06e0b68892958ed6e443eb67f26e8b34519a17695a7d5ba429a6da224d17d0bc489306342791fc9b0cc05ba4c9eb2dd2247aff3edd224d22cd4fcaa1755d735c47ca28e548d149a42603d0fcadb8e73dfc4d06a021e5b893eb3dfc4939b42603d09a7cefe1df4fe278dec0d60ae16f2d917de629e9ad6e5d22fe5b9b3ea7da5fba80d67b4aaaa5f6973eea3e2f105d9641e40f6affea248f44fc2c8308c253eddf1552fa97d479e44acb985982893327e8e23005a17de1a7df4fc38841220925c690517d5307441401c68823be6c916ebe0e7f3f05628b285969d19a7c68dd3371d9224db3cb16690a83d8224d3021b648d3ce105ba4898736bf9f7ad9224d416893446aea80d6bd0e7f3fdd618b34793c6c9126b1872dd224f3618b34fd0f5ba46946ebbe9f3e6d918e44d261b202d346813ceb91c0d4fe26188dfba60e68f4af7c40539148573ea0792452cd4b135768487fe503da249150583a419311528899a2215df980d6914849676ce9424b173632d0a84731b879b29fb1973d52cc7b1e1cf59fd3e2cce0bbef91be5880fc0c1e497c72a5765e9cdfc6c7eb3cd2f83e1ec9d64eddc7f31af4b800f63dd8b67ad86df5484d305af7ae6dd34f3f5e65abfd4eb5352091bee72143c880440a2249a429a2f83b2412eb9048ef8344f2916c1989e4138b3d0f1289a36cded3ffa4f8f2f12d1269bda71f03926f0c84640a4263bd0ff7e5dea438d6053abf93f39feca36ab7fee5b7d6233dd57e5683e1f19cd3133bed9048dfeb90ecd48344621b8c44ea1589c41484b67a1789c4524afa69da7e90eeb4516ca33e3e598f97854f618ff4c502e0878f14555bf5e0adf6f7aa9672fdf704a6652412fd1e64e790481df52291fcd62291f889452235188e449a4e3c487f62272f466124d2170bbc3ee791b8476aea80d6f29e46d57ea42f1660bde79e432271ff223d24911c2491e6cd7bfa5524524b7d016b9a888b660d542dbd723e61f3e0d4e7dd9e734ea723cf399d74a53564cc82a099c24d2d6553b4a9fd3bb320e064ef9681cea50cd6b37d8e694f9fd4fb11738352a62eb2b7bbd39fbfc9916b2f3a2174bf55f5914a4c4368dd377934d577a722bfef46cf9b52e973f40d50e92ac99e5129c945673ed2de6828748f82f7f3677a3f06bce36566ae3f5f879221783f490a2ccd23d77bdcddeb9f71ae9075a7bb3fbbb352acbbebeeb0ea39f5c9ec21c4528666cd8d696b81b6d1bc07774549cf813ab2c9a379dfcfcbcc5c3cb2fb203fa1d2e7dc9f50f1ea9f53bb55920daa935c50e87efe4c6f9f9a6a0ffcb788eb1e75e5d2fdae30f0c1d22edc0562b1baf3ee7ec5a03e692128dd0729a5cc5b447e7f6f7ff777678db60f16dadb7014e0a45ce77d9e4fdd36ec7463a97eea28ca755e57fad46dc34e37a97e9a94ebb88e73e29bd4a41cf5d936ec74a33f7deab661a7e9b3c772dbf477e9d341706db234aa1dd5b37d6e66eed16d2b64bfe6b1f7c4fcd2bbcb136f2e623fbb112fdab421c38b37526ebc68d3860c2f98bbdbdde79c94bacf3929a51cc7759d373dcf9b3d6f8694721cd7759de779dfc7855de779ded745a55281e0967086a13787a1177e9f4aa502c1300c57ab35acc96279338ba50a41300cc3d56ac562b15aad305cad582c56eb08d731a228ba5caff97a79f3eb1507ce9aa8a82cd678d186cd9aa8a82cd6404951cadcddee3ee7a49463b511452fc437b5df2555fb5d6e5c5ed4fed7ebd5a6f6e79051fb73bc804d18cc9b61cda667fdccddedee734e4ac5d0e57abd5e39393930182cf60a73726030582c16e3c183478f1eb2299379b30c16c6623c78f0e8d1a3874c26f3e18347d8a3874c26f3e1c3c78f1f3f747476e6ce8e37efc8421f3e7efcf8a1a3a3b3b3b373c10540261020de0ce4870ea8b3b3b363a6f65f70abfd178cb9a0bdd47e20408080a9fd1888a9fd18b4979fffdefcdda5f6c7e92cedd44d71dad6b6568a03272a8b355eb461b3262a2a8b3550ec050c77e12dfcc44fec036f612d52dd716abf3b9c37526fd47efa66dd70175953fbdd17aac8ded41419529bb9bbdd7dce49293739ce9bb91f47922433c820031e1e1e0d3400c0040000bc1900aed72b2727070683c562311e3c7acc1e3dbcb987c719782c1d24fedcedee734e4a29c775b3ebbcb9eb26a51cc7755de779def7a9a64ae5cd2a55e779dff7a9542a1004c370b5f2e6d54a05826118ae562b168bd56a895314bd5914572c56abd51245d1e572bd5e393327c79b73724497ebf57ae5e4e4c060b0588cc7e4c1c39b79f088f1e0d1a3470f994ce6c3878f1f3f74a68e8e37ebe8c062608c070f1ea18f3d7a803d421f65325016fa588a467cac8e70fd317ffcf0e61f3f549dcc63e920298baaff8a024b5befe9e722eedc6e5a5527cb6653db9d48d0c2152c2adc9c904232ab3f646716a4c847a7ca63aa9dd7aeebba8ff4c4d00bbf20501e27ebbc8eeb3aa5da75edba4ed6330ed233eebaaeeb7ec6913eb359f9d59b10c24a2d67d589a4e83081096670222307cdab90f93411841ddd41d8c1ddb8333e9f182c843c39bc5901cc210e2c2aafcb616ae59fd7d12c2d18a20b1bd430234d0e54e460450cd4d70b95b7a23739f022460c0f30d0d103993575ce2d6cea9cd3e9f439e71439302588420570342d8d01638a2d55d4399d3a39711cf9c402fd2160982f52daf997a2194e844dcad333aef910441155aa68230a24c2d0a61464ea9cce7d54105c60794abe03895b9ac82252fa689ea6587a3a3f555d3438c4505775d39891c345874f17829f4a88ca8595a3dd835dd739d146d5cdaff6e58b0d6bb28031a5468c28d2bc2105d7449c3a5ce8bcf59a78524d5126c2644edcbcb185266468c1d548d5a1a5c5978930999a27d1811e8d1a1dffec796669dc74dda3f942f4d23ca5e9a2c21c5fb0d1a4450e6140a1b9410d4d63468e16281d67cff3cfd33f1de5e1388eb332fb9f89b20f479e2aca3cd8a11d5146bc51014d16587ed45d93050b1a2aae804f5c519db9f291f1c27468be307168b83051343b304d343730391a1a9898d0a8d042b8e626070bb735b0dccc68ba79b14257f7764b411c98151f756f6fd86a57370d122a30510f7c6c69fa028c96374470a12d142500828e3b6a50e30c134b3c514587868c30945880860c742c618229e24ce1841a551a2454b8c2aafbc412154f0a50c0e4e0a4614262091d708003081a5553a9144c5095dec8b0c04d0eb644a5b4895557cd175cdcbce4d013e0ba755a2488a61ec27801861833b499860b8d62ea4d0b34bc9a603716547334c16eb72aaadb19385864759fc8218bbaaa1b8518628848d0b7d96c2a306186ca3be3c63b232556d80d4fe4d0258b1ad7625590c40c50cc429a3355ccb012070fab4597329ea04dd1c599246849ad3060d0be5cf052819fe763b3d9ac9899a3a32a920931ddb366ba8732a1a67bb69662a5741dc8a887327a2053a54c11361ac74494c7c605efe7ec3ab17fe6f3731036334c26d62835008b36209a2b7a50f584e38b2d2a38c5108314342491c54c1a136050b789316f54565d29dc289159c1cc1157cc10a124450b6fd4afae142f2831450c69ecb014c50b40f840a3686e7070681ac10b700ce114830c599880862686afae1a1354b952e48626b1ee0d4e193523c4f45005531b34e2f440a31f548a06073b5e0040dd9b99a6cad5bdc18973255c2af294cd54b19589b3b4b7355c78162c8965ca50f238ba022b932bf3c552d3325a5c99749689c21b83762b23342f72e0e209872f6f6e504099285a188097a6166ac0f2c5196924609641d36ab8a5228f01900b76747ef890f5e01183e5bc5c628bb50a41d5d771747af30676a3fcf3e63732a07b980c8282052deaac0b050b75745c992440aa416d8ffc71c6c33c3e2747bf7c93c767c685cba0089d68b69c0192ff3dff8a0ef4913ccc91145d8a0d6748f1c59932369029323bae0c0e94febbcfec7926034a0ee2c5172aa822471159cce081532d18f8fc109f0e4410c34c0d55d26033c50391323200c1800e25d8d842cc191ea8404019172ea8e110b5e505364e5bb2206348192c3b379c59418b93972e7e3803544649c7e787f87400c40f4b35c061e28c31b6f899fa91002ccc18d3469b306e3471003a7c60d1c6155634d1030b2c40a2033864ef337b1ea61b0e45b4b1e1d08601a47af8fc109f0e343013e74a1b31922013a60069f0d8e1a28c182b2ccd01a60e0ecc881969c3059b1070a2cc30e32306ec8318d0708346166458d00301bcc85934caf480c61d6aca388531802d5eb7db9636ccc0e0454a092157b82c20c51535c8941144113504a14204b2061a1cde285343141a02806af9fc109f0e62b8618b2519c650b3a44500d2b0d68d539c2c5840238e3bd0f430b15a52860c19548439c34b0d3332347c9fd9f31c61030f621ca124441570361043410c7c892289271de660620b00c0a8de67f63c2898834c0f2b681306185968e0e57375f10e3047d30d408c714587333c3e740bc592172e604061c605313278e2a2acc0862eba90c1c31960905b280d3860e18297a71f8418336a992c34649478e282022ec6fc0ceef3437c3a70401361580107123c70410406efd4ef337b1ea02e491051c4196210c106c83b900ff7a5b8b71364a9fdb3dbe72739a467fda54fed80dc9e4d06f48ccf9440cb181fe068c28527da05b55f947dffac01410df02183babbfb61fd414b0635b9510e9882524a29a594528e52fa91f38d6af329e8f19244fe79bd32427fd29fde78642b472b477a2b64e7b742e8d30ac4fe7d500a86ea27aad42e478f3d5835556ad39fb139447f7ffa9c0e92affe5f9de40712bb95112659e40a2ec7ea24c0914516290dfb7dc5cfab5a3343d5ce7491a2ca1365a4c00a397628b04196bb1f7f4e093b2ac77d779ee7911e99a739393538a451392925d8582e684c17efd9ea79dd08eb596d852aa41843cc125ae67083c6e9546e0c98caddc62cd1c2a4b970f39eadee68a8d0d2440b51748e35533c719ba909a34c67451685134d74fa4e6676e7b0abab268c32f548dc5b126c6a3f57370a279a9647dd2ad2f8a2ca96e5f83293806af22ac4fcd06402a65b12515778ea5611264e6dd5ad22892f6a29fe1c601562bedc9280da2ac4fca02606132411457de03ccf418c1cdea0c9c1dd27d5210b9a1ca6388eebbc1bdca8bc50851ff3f7ad8ea856e0ae16cd16db0d70962b28a2d9e2e442b3e5e9e51a420c5bad564b14d1e8b085ab8b668b1958c86354105cc4d06c692216c26030582c768719344f5384a0ea5bb1c02d40dea2636e1c56f796841d13068a031706c1a312487421c7715cd72971cba97b53628d12617c2c1d245ff5efea648942fd01e414849cf7aa7b0b03c627ab7b0b23a51aebdec4348162820877eadec440514a29c7897943ac7b1343c6177a9ee77d1f125b7ad4bd21a114862008826188445406756f487811bfee0d893618d4bd25617385a2288a2e5712637cd4bd25a1c3823a48c0ead5c9d2a87e56809ea834adc8a2a56e5dd80dcd0b4c61d83079756f4eb889e27283953059288541819556dd27b82853bbba4f74b102edb822a6d7492947391aa64c160ee4b83050ac90868927e6a4b3e351172a0c1fea5717aa8ea85a8a1f072c222ca3aa7b0b0345ebab9b868927aa6cbd79276b79090453c68d206cb424d5165a685f7492d0f677e660388ec75d21505d102025dd9da1c4ae0b7247dc6ad9955da54fc992a5a8fbf479fae747a5464855fa61fff411b6aef4472d835486620fb8ee73144b84b9bf9be423afca52bc2a7d90e3386e570873cf9125c7710cb542d6a7f3c1a710fb6f61bad4981b2247559f017010c7afc182372d385206388b286285f81331621410b142fc9bfe52326a89cca8a5a24eb29c93e4a81522be6a147b70c512d9ea50b564366944301828084c0bb667abfff24f10183a76b6b564333889bab57cd592d9547f66d33f4160deec6cab3f7bc11e0481915a026c7d0a9500b789e85f7a37304dd5f34a71f2cf5f9e2902e8cf5c9c2a4355b75586e228c4bd85d1529b18e34d2dbbda619c7c645bad50d55749180ae7f191952a1041cd443c05c51e6c5d4e23ee33972562c44a95b9ac907d22464018f15419aa12f1d40a020c459d402c11a3f90b0547b14418eae7c85148b144fc978893449e0a60ebb477ef1f640803fa87bd9deaddb35ff2943ed58bc816aa767f376ef7f47374cee61480db7527f80eb4f3fb0d98e2405a1c48e7f7f9e640ac02fa7e9f0407eaf97d7672200c7e9fc73810d9fafd21aec4812ef87d6e7206e3403cb0dff771a09cdfd78003bd7e9f6d0e04805ff17dbcecf743702020bf7f8203f1f87d7e72a0f10340965e0dc0f7a833fb0d5e83a7e30eb9f4e3779e1bc90c9efcff6ec4805ce234f8d97b630fb9d4f47b1e1c79c8259eff0c7e355ed04fdf7bd708001200cffd061f1b4772891c9fe77b8c40c8a59ed87bef635c5a02f23a7b2ba24d0dc0c382d02e00f23bdf1a9780905804405b5a3d90fff1aa1f2416160d83d721977c7ceb77482c31da52f73f5ea6f3b0577dceb8a403fb9d67ed3ceb612416a72df5f8d67fe3d20e8945086dc9f53bac57fd1c9758249604d096c007a222b1ecd09654ffe375482c30da92cecf7f8d4b318fc4e283b6e4fd8f6f128b475bd2f97eef21b1306d09f63b1f23b170b425d603794a6279d19662df7a1ee3d28cc4a2435bd279ba01898587b624fbd603e0c37109002416156de9c591585ab4a5f081bc06249621b425ee7fbc382e5959aad178482c1bd09674deff492c3db4251edffafe7f7c1e973220b1346d49fc9db7b254a391241605d0965a0f845cfa609ff3af77bdf8589806e447120b106de9fb1fe4d28fc7c2b4a73fdf31189774c8252c4cd37920178c4b39bf432ee9f878d9f7781e1f7b2c4cfb412e2d2d2db53ec8033026ddaa8f71bd675f36cebc67bfc71882f7ecf3184ff09efdd8c84fdeb30f1b3defd9cf197dbc67ff356ac07bf65d23dbbc675f1cb98bf7ecb746d17bf659e310efd95f8d4abc673f1cb9c97bf6c191c178cfbe6a9479cffe370679cfbe3792e03d4ede33c67bf6e9f8deb33fc70678cfbe8f53bc67bf47d6e23d37efd9af71524f7b5ce6be079b80945b9c21e828410bba48f9d8e186ef46c4951270933b218e229c7c40e34605366468769822fcf2860c3ceadebe80f1791cf725aa722ed0388e73cfe3b82f6a2a9785c63decbd07bd51d633ef4bb17a5c58b95f6e93a8dccffe6155ee3d18e79125f300871599e8d1beb06e1a18e2a8b46e9a18a6a8a5f8334e8f1e3d383abd9a0e4274416208375d90f9d2030dae5b7961440c5076f4f0650c8f2f59be2f34ec30bf58619a43f5431d5d40fa44fc1c9110114f8550e9fb38c99277c56490cf33487e94351d40d8302abf518deb2419d0b32e6b35a867fdee82d85fee8d8d36742c7983503aeefb58ce5f24f3fd5702932c912abf933a20ecac413d77673bc927fbbe1be563d888aaa5ac323fffe41b1bb7ca412a3f01c47e5685416a2972a9f3a78a5c3a7ee39c3b3d9bf3e7cfc8e748d9cb7a50a2a46ccaea8a5746d88cc8d5fef5ea96ca5938fa04179ed4e7c21a638409220c13354ca146cc4b0a565e56e002142ca6ae55f7e6658c4895600f544b45c4ce13cb210bb593fb71a049db18943e4ae7a814acb44af7f3c16e76b323cbe7384e0d0c6e548e7b19c771742661b1069a2bbc20630b2d680eabbe85872aab411dd49e58570d0c6ba619466ec27081882dacf40044ce539f6aa84469d8e9434dcd41c810422334a3490009931640303020160ec60341916bef14800e7da6504e4a19cdc2610ca3280a628c3104214308310418638c9919321b004060b7fb4663ba5ffd6857a49b51a675c7e427bbbde47427e142dc26651ed61a2c89b1d5829e76561406c110a799a48466321bfaf93e880cd6bd90bab99f5d94ef39624422024fbd67596c3473963717c768b59803b6a034f3bb02489a3fade0dcd4b10caf96341e89426586e2f3b3f1483a28bf0d7811d9981c4a471bb7a26b77790b6ee8a71aba15ecab3a669e0829a8b19439841001964cf5c85192d2cc264787fe958d443dfd568745da0eab544ce4381cb30ec0467f08935aa37c235d835b351205e04a35a0d64616de7209b60d4c6f8eb2008838c1091b1aada4d2674c8d0aab7f8d1f9680418ec317d025ca07d1149bd125a6a6ba0ad6b8f28131933756ad633530729372b12dd1b3b6f11bcd230dedc3c712d1237af4d03533e97cd3d84a724c5d98a2d77e239956e4ebeeeebc5d6fe5a767e4552d1157cb7b8545ba916b7e81a716929d382239727317dafd1961873dafc511c644619b3814dc7aadcd4878976ab57bc434b66721fb38c11438a7a39831e967a885bc3625297963eaebef92b3086a2dd698d3ca7d918af8b87f90c60e78ec422aa835c16ce3e776ca90d8368efd6c92244c66dc8e8de043e2d01ca79f8a53640a86c88476249d3671573c7dc09040a28535030d948b972c1a22437287414440c96140b989178072bc9635177e4d6c0fee5efb0609b0647c411a659f2b5cccc8555978a793875833c3bf4ce8502c458df01421265a60c85e8322e62e439bbc1b89d7e3d98711caec4b258a36263ecd9f8f6329a1a9ecd065e552cc5dfcc9f7f2ea0198d52e38d5866473c34b866bd76893c3b515085395841e07bafa9cfdee50590a78b32372752f54ef41247b2d85e5ce815447c03925a4b994e543e8502c75fed48ada500df7a5850db7f367d15f0db9fc1749b73a18ac701c247448b963513a3a165c6d9b904c329f90762e9fe4d9650b8e5b9a5cdcbabf051924bbdc5120941df15a16ad85ecc2acaa6bac421891a94c8ccbe6cc3d6fd828ef276b77cf7560a53f0899451749880cc2ca5c3e0f1212336ec4473885ec262bf0954128297ea327a8463cefd99b322fd7d43f7bee6406378ae0b4c3b2c0575a52e97c1bae255c7f5416437eb7d8ba805c4e3cf682021c3d7c3f5e8f977f5c9db554f7af23b9db533e3ea029b7ba644a8a52d815acdab8e6e1c4d7663705e754fb6048077a5c37bad274d68b63065aca3096ea71427e0df7d90897a4d3109a0c1b6ead1a825c8e101a6f5ea005770e961230a503e0ca87762dfc325d14f41c01ce9ed261c77d9031e5e3d9554a9065b7a97f5fab2e82f5c07d64c76811b95599fb8ded296a080520ec1f7a08389bfcfb979ec06fefe722a26da9e582672300ae095c73596e825cc6bf0be9e934697fba0c36e116b7c5357c06e30dc73236e718da560125c808241a28d5ddfbf90b94db9e2f50b0c0d5fac887254208b0db6e5001582e5b5d97bf8f37f4240d2d6669ec35d64def9e670228093730e43d9a84439478801fae98148ff06734a218eefe2ca8a964bf15029738933bd3c60355f717d2083988070f3707b75fdf8da826e865431a65fb2d46b596b8339426addf3af5feed4b493fb9fba94ade8543d8a06fe498cc76696c806aeb7f6689733de0f43b21bce12a8996a95f16b3584b0b9f935faa4f670cde168a8399ef08cdfcb88835f09b097dd8811974934496a903251b9d4f5dcd1ce0ca40269a185d8014513f4e432ee6be83ad8545f8d592a1ebef9bcebb8d13975a888097b7d8cced489cf2fc2d44a4d32cf9da8ad9dabd4424f4feac42fb9844660e6e202c54a16bfd9a203dda0d44e0cc7d05b3d207371e16a4b592e74acd09dcbbaa43627d7087d8714a2c6b55e7ae657b920c03610138be76517ab47a25f844277d0f3461c845d3ced4789e1fd6e0227394db6f3c5a6262ffb0df2164f4ff5122d7b68e21804d51687e61440c01eda3fdca11c63e558be88f4f00888c47656f3d7efd0ca94ebe84fed6aca34f0c01a43201deae8acc99f09bc36cb96583edf2d305b3b84a5c73d25b10cb727cfc1312fbb26173e9ed862d5c04ae99242a0820151fd192d4fdbabe5c2255851556b836c09e08865f35d5a088bc07e0282bdb5eb7a664d2cf29ccadb6ae6e51ae3519df6f66c79ef1a626000133503e9e299fc7b769c83051a0959264efb7a88cb51e3f9761bf11c1f41bc08583ff7f0f90462def7f4c8215d755f66d43950a1801ae760751dcf4cdda9026775a7c8a86d5d676ffd7e69589c059510f69bbf4ebe4ee424f78c9b532123937a362630b46e44f8f948e0802b6ecc2a378be71013a600b03c078e87b31e9bf47ab4c7757384c9adb1a6687971ab9cba1bb85588dedda4ecdb13ab7abf698beedae41b6413b6a91e90538aec800caf81eb3463a57b9086462174f7a9f9fc540836698ae65d4312cdaf2bc908369a57256b6957390223f87549df6f10071ddcbd0c8c71517912340ace407a5d84e9b2275ac5c8e1c43213d2f28e1ea9835f961e17cb23d062200638d2c788ee9b35585638ff3c9111057f2c0a94cc74e911e6b2e470e70a8960796703be69a745c721c3980c5d40ce88cd1356a84ab8d734bce62a046e764c0e230962eb6623fc3fba6003c136fcd9bd9079e4b1afa19e012fb342486dde10c0bff73be02aafbb574b7b53fe41937cee298bfb2cc41fbd4a7275a15c20d651cdc93489b24d2712f9f1bad2a129445edffbf6c76ecc6b32c60c63012b61bee2b6381b0cdb326486bd01bfe7110284c10cfcf647c914918e5b2d83c9268ea226f0f143c2b59e7e3535763fe1c19fd238a324c463cfe8d025297b56c5cadc993fb278b408d1a75e99f278d98fce9729683e3dde2daa07146ee686c0ac62facb5b4dae058a8392ae53307492de7234f015550d7fc049b64c98ba7c9f7ec0a3aa184d5c55c4c6b89822cecbb2d5c11a3abe03f023e1c82710cda4969f5e4539f7e9fe8c8305bc4ea8fb886748caa7f9ede4e4116a86c58473c2040e5eccd169bd0ccf076af6fcdbc3a3728a5475a500f30771d4d6a72e84f088fd24449ee1fb2700fa20cc2d2775bfa44048feafa742132707c271d75bc9551782a9e0390d6828a12c0d4a91f2421a65b97bdf208ea183b847f1a2dba6bbd2913c074f7268a07035d1a09bc98d6bfc184744c15b80b018bf4c97dceb983aba94879073509fdbfd9a14fe1737c3c21848129b63694643f9bc298dcc3a1ee3f5c008a2e6891819dcdab9e4c91a2485c3122ea058ea985cc2707a14968cf873755f12db9031e8224b8e4afe5365914be747befa776075c6be7c54ac6280c7b75124693d2b188cab5d4cacba3050a17c2995a5b1ff440a00aac23e765a65e38c8125c93ea10a0d0422bb75b535f1b3ceb7b9b96ec93316549074d81b59b33674c6a39e141c5f2417e4315090ab20ef8b819c26fa84e3125eb64a7f190c28a269397607b6091e38625e5dac7ea89dbf083e301b72ae78892ee14f8ac65ba523004a8d46b78908455455a6d0d9385ffdc395de4138451d4397448495f948427c6058b58a9c1b4e6a73d000df66a1a703d71bccbc4a18bc7432c905e66a92f1615c3275c5229514d10cfc41bbed525b2f17474b43841ecd9faffcf1a7716d67c4e33d259e2b8cdba502c1be7469817a0028fd2ac636fc8f661c1723c191dcff26fce9ff1c4c7387f3e8060012de5cee8515894ba36fbd85c6018716a70c7134c37f3f3bb94a94604dae4d868343d447fa516c50574524316997b9ff60e3b19f6fa98132b3bc68d67eff50aa454f7d85984ddfa175b359a2596a014d2f7738fd3a0bf5df1051fadfbed43686f17a5678d330f1d888b6ef755dc44610bc3055adb921c469df9ae27feb31aa7f350dffe8c8f43712259297b624d2c2bcfcf7d97f576d043a3714baff7322ed358f010e5c75fe93cd40cc0a55158b411a3aef954accd506e187a7ea0738ab60fadad26c5102896e13796a04c42b710396971ac1caf5e9429ab67d12ad907d2ebdc2844304669059c6302b6f03cb2111f9d8fc214d57eeb1960ed595e1b27360a64f35eed77da646922916ac74b04d512b3debda6079b085c5605a065257d44f54c97152ccb428591bd2840df97ce404a8885a6c4ba2ea18ec3563def4e71d9404960e01bd49321f0a99f6714119429d329017f829fdf1eaa0252e41e6395894791b0d011ff542f035d974b1f481e6f858819509ff7485f1f6db290b303df700299650206aade930e3c0b8123f3820c4f304843448d68e05a42c200fc19d143b64351a875eb94bf90570688b560b20cf5ad15cbd832e45affc4c07d3b51176700aaad647a79c8b9042d49889a40069f30cd7c64beff951f1f587d378b4c7f0cb1a0d3cd47f4c47231ee49acefd36d6fa5af6b907a2bfdd610a8af071bc7c3bc544aa3828499583966c98b9e475adf638c1245634b37069e05892d0074dae646877a888ba34125032b3868590a7d72413ca04f228cc2090e9417b81425db84b0ed73733c01fb691e3a8699b84658261e1b4074c5808dc9fd3676091ea837e8f1401ae7f5c26b87604022cf58b868d2531ad9be533c5014c4f5ab5e66059d252e4c07e4df13679d4ee9cb28c07aa0d80469c3000f0be2d4b3d7fc5abddc9e967c1263ffd9fbecfb1b01a64b0150463c81f72fd59909454d81a116f8c3c21540ea389719bc20936575bfc9bc182b8c71b1be9012599aae530aa70f3257b9c12e777789f06f8c0d0b03cd72b11f4bdc94345f2bde2c311f23ce2a351f56cc94d85f46cc94b25f53cc94345f4bac29b15f23c62e351f23de5e892ea4e62936191c5de3c658593dac212338ebcf2e635eaaa5287e437802a655b0026542956454f7ccc8885d630cfefcff7c8abc19d78676649042fd844d1b935a7c90b8a232793b2b1c36cf2395df4b5f4b24f40a738bc09b1dac00cdaf725af3f79f80d9c6125ca0872423c220c8584cc09d7ca939d57fd01ab93cfe99eb1fa9d77c1edc3ddf54346a1348d5bec5f5d98a1b6f99c5b52047e23ba4cd23b0931380969e89d713d052076e3236ef50c2d02b1669043b8a722718c516526aa502228138bcea5985f50ab4aa784319383cbf4ff586a0881db4be3216ae6c17c7e1759ed5d72dd32cc4a66434c778e347db3c2bab2fa74d05b9c8a8f9b94075851645a08f39d6dd13b8b14357562ce88839a8dc088ab184ae564071487a00c7cabd154051bf415e138f3a5855442aa7b7763287eb15c2a33e18bf81e7f6a9de12c86383acaf5430013e076bdfca62767a0efb27cd9e50ada77f3d72548d58f0f43a3ff3b858213cca8bf1a7777effea8d0860cd9ff352c2279fe2f92ab12e8a881cd7dd50400b7b2d64bd72c1448843ed568286a0af40ab1517730ce8c0d6b3dafa659a85d0970c9f3fa500b537b1b8d6112fca55fc257f2a9867a33ece917aa879bd67ed2b3a4a6c6579d032e3d83e6f744510dd3c53aa36b1478410ebd21c0b189546ea581c80381ec4cc6ca9953ffe5472b6e3cea01e29242aa038c11c19d6caa02d440eed4f5d01227eefd1c3715c0f1357c46eae796a75fd5845d2dcae48683d06bc3f6fe1d2d077de826ff050917c4ba37e73d2e74d037512656aac1692bf147a13a3c0f6494bd1ed894fc0110451bacfdf79db47de78be91232014517c42bcdb0c515c4e6398016e8a553cb7a60d6119e711b8553c253957b363f0ed4ec923955b6216aad11fcb787e87a7cf38fba063f79792084f7fd0fc611e77f13c26af0af200db6b5944f740ed34699e9a77c4a892b3a6dd9bb639666e23776a226d3844db1e5d639b9dcc1f74040d0450c8e65e2ae09d588444382c83d2905c95179cc5359392412885b2665868a77c704b263dac63494dac20722d3a7fabce235c6c8ba5ec8655e062b8ce198b8ba4af38269c4c4b098b566bd2942116fa53bbff1d362cb416a22599b445f9bcbadfd0b2abd10d2ce08feb14a0aa72c05b581adbade98a0ab2604e7380283fdbc96ecb4e8a645c0be6ca705b934d539231b16e552eb9c3c91f194fd1882e697ade9b071192803abe105dc5f3d4a9d253eb2a95c4acf249bd3080f748f118ea5aff8ea700b6d03be8e7afca948e09fd37d23ba3d6ee780905da395a24f5f50099673513f91afd5c5f05742ca30a61612b3fab2ec879bf7a5be60e1f1ef15383cfd6a12cc1d915c038b27cb3a7607d753b2171cb961112d0b90fef90814806300e51f4eda8f33eebbb25aca2d6ab305396c0c8406d71c397c0c8328058eb5bde03574fc315d07c6fb004366d5ce7a09d63309fd04d9b33afc506fd831c48c9d339ba706fe84c59c7e0aef229fede07dc63816efe77edb958ab1a094fc1415ac304e9c6fb747d39eeb695e1e94ed40f96c876e7b627368bcd594feadca6b1df8e5d742fe82332d8e0fd3bc88f05dc1807a0dc22172cefecb17a7389ee0e28bdafbb7d246303aeca30f15513358be0b33e204cb90487648e3dc2003b3e973620b3272b7461fff0398a93fe50d4241c43492712f87ab6fe0f37a71bc5420860c1cdbe6597ac1d894a63aaf4b20b74498b58752c7e5816c892437dbbc70f7671b20094554b5f1f45716d78c7d94093b310b938f3ce7b6345457a2c44f2b68540edede1dbde7180635ffc4c658dcc08c43f851acf7bb0e3aaf0630b59ea983083c0ad3adc88367a4d4162c6edca9ebf0bb46c3b2e806e912c5290f15f1330a695498e006281c2a9c72dbbd63770f3a6d24c6e2145f4ef448f4e068812ab07d7f4b4b0fb5e6f2a6b9c19c24750db41b824d0ca15e101567c4050629473bc482851c435d76f87ba4c3206629dea4a60d97854b1223b02f19f4205d2639505b95110e4f45a81811e5118b8047918dfdcdacfffa5294356fac4910d281676fa8a2d1538799d7ecb2971a8fe5adc246d29987310f509f59364c4d054940f0a3633c5f9a911ea122f23a36fe250e53dba2ab873894f02e37df16c4c2454613e9400eba590417be160abca273ac6aa73bc407c23b774e5a4bff3c45a5fa87c90e0d2f5f4fb2cf89af6cda3f1d2778df46e69099e44209c5edbaa959f1ca0f0af6b88290520b01f3e5a1a1edcc6f4c956ccb8ce362c6894e8ccda70e28702804125db3a1dfc74ced465f22e7577274719ac6a083eac3ffad886377b9fbbe1ac5932c28a3c40389540848897272679403a244098500d49e5a4806a59855dbb63084e91a594a636bf99f4de78a62b03c54f17282c146b115e0ac5b5cd92fddedf2667411807bcfee2e7d129093739c09ef824235b81def386aecb66059b54534b81a903391193fcf20222c3b0123c0aa6a2cb0f49d90c44487692291d2000d51af10f4a8a60cd8d19cbc91f2d5b4f341c92b8fcb2a114affc7f02ac170593e311aa1e908b96d8805a2eb253a6e5b3ac1f2868ed58dd82ea72021f1d822d6d0bbaf931387afec673e5c1f1614e4dd6e018f88ac48a25c50ccecbf22a6d2626d52b05a18a66f578d819fe009cb6e69bc091976e9a30ced239e3b267838feb4a89b1c45167d5402e1d3f6497f912ef65d25e34f48be220c9df0d37fdf2fa43be2e0b5618eb3eb1c8a5a15ed5935f00692d354ec4208ec52706933747e6f0934b6499e4244f2cf6158d85713f0e85982e6d5cfa8271c6f05cc5bb4286b7c4b606f4dd1ca4cd3d4d523cf5c9a42aa07cc8dc9b774a36c1775ece7fa1da9e51ea1e9f6fe1e210c4d9d80a86bc3914d01ef7353b4818745a0db629eb80b62b2431f474005b2be8a18264f72d5ca890da4a8cd77057a8115093f03216a103db2056a764e0a4e9bee5e283eadebee5d06924c520e6d8b1d87f00dbca32c3fdf89dd827ed568718e507f47555b252c551e25913cb9c32c92fe95fa37e6e2af68975211d8a6a73eb6db5632304dd30ff5dde7a9309cd294d93ee5fe3abc6193555234534415cf741775a58d65fc2fdb9f454f5aa075e551ec63f039432096221245c54ac970b0891ec04f0c2c396ddc2f16855d4f3e13648cca4f7b1367b1adfe8cd7f6e72f3c18dd4e87fe033b61bfdff469a5e40e2eee4f53bd04ab79c454353c0a7465723ec060142333921aa968014f9bdeaaa527fb708ac0202d8d6bfa0aa7f2e238fb8ed9e7b3f7f74f03b427507a401266374162b818abc17500c14cf61ed110b053f10dc18978a99d4408886e779a0c80bbcfc2a22fc41e4c803bb8b20d4e1306fe6001e02c22fe92a46e0235cde545b11e4b59623375c3e144ba1110e44fa5de7d6bd1f42203839acad4668e5ee1c8363fda0aa0474320da7573f279b62e904f0b5017e8e9d08b9fc1b80bc65020294358e9050404a51af57f110dd78a9f592ee2597d9ae9e707fbb6b1ef546adad9ab82f75d62e8d799f1e93f73a70d5d3c5a70236a0b63e87a5d7de84bb7310405acf526b95fe843b8bbf3ccda0ac5bb2048773d7b4549abf2d8c4cfabaa2569c36431e24d02ac84ec511dbff53e130e18cc087cfa1b38c6c44d98bda79877a7bd455c530e7beb2eee97678285bff80e14d16e62272671e6648e4e10f315a6c380e8588f2d8d4dd116bc2d315c903ea9a1b4890cf1000d836f832c59bf51b8c3ba00a3ca5963660d3dbd239b7fd180e32eaf75132bcc1022fd6e8463a4e6030954b3dc9c96435ee257cf6978ba65e259f84f24f32b0921e0a74f51bd7eb49890206a850e75967b0d2ab59d58ca4aeb57a2f337f6987ce2573206abfd7210a10b4f8c8ccd52a9391c6104d66968d652a88533554bce362d660ecd60b5510caca782a7a6da188850bbcfecda5fea8418789f81e78650bac4883af680f47da0222c40492bd134213bc7dd4cbcb4a29b5ccb9958c9a57e28f57ad91a4855d63674cabee51e46d5242f80b07621e19a4f522a0088198857df33cc0caa448a6407f02a25b8577b63d8c1aca4277024913495baf93daf42539d19fc10573eb953e81fba54c9990636b8bb5e617a6386045896654514f475eeca38e698459c2ac871863211d726a3690e513a9395c37ac0684c6fa815c3820173336a15da08b4e2663f3249f02a1ab2806f35a98cf50405c71905bd89fb9c3444de9c3bc56e49f65fc859788ca9fe9a455f847d0828c1927c4af74602e15ffee0393c7073e16958b0caa87fb51c7e160fbc22050bbe69a88d1b8921aa3fad48ce13d2ad5e3bad7d6645f34571dbb45b59492ab56d3b389230d635f934a2c5806eb767643edc8805d2bb15b13654ed268eb1344a532c385766e0ae1d9adc55759be5cba9f2926b135ba120e660f46a75833da3c333e87477bc8e8693d18520fcdeb37c396191a3b0afdc99afdb51c2d414d924c0c0a3e48c194b614abdd2a04d7286566e145cbcd99e7802b988234aefba69e51ed490dfd315d508949287242367798d5c89e9069190a09021316bb945d9ecee7a1c7507de9f4f942642fefea2909192d82ff5ccc9982be80a9c7e5853ecb4a660d410ffd0cdc376516e0d7167b8e377c8a69bd0aff33a83d5dd35d27fede5d1d8ae85d33844e80a0d31a81affc8b021ae20ec6c64314f8f34208e49ceefd85103872ea6a5918809c08be4d5ccca1e27f26365e0f96cf880eb383b4f86bb495b90330a83802dcaa59b9d53a6750268012e6365f124289a32284a8d20ebd2c7fc6ee47dc45a5308f160425cdf50d02219271988c4266582df8264ac2ccbdde090ce7e5813f5a91284f7680f023579e4f690120ec19e4c30574532ae02066902dba022c2e0d65c184d4c66a1047c0a6002a81ccbae0ef8f001949f1a93e10e979d81708828748f92878370f06ebbc729ab0fde3762185a93a663a36481ad3189dbf95443d8a10fa526d855edf8267d1211ec0e855f50646ff022213f41e267074686a05a5e67b440b79cde1be837c40943dff1708fa8047c153dc096b5e2879b83f70bea95cdb7a28f3d093106005ab155ecf5dcc27ed5866d4a528d285aa0129a7f4de71026c901578d2a5feb692d1d0171cd20712f61a808d688151bab0231598b2b35d83c3355efc66ca9410fe33599326469a190bbd5b0e8189eb0c92e5676d1c223f98be1e285bd604d0833b0695e1bdb9cd12ed60ef3aa8280ec1f41b6150d47f4605150f7e6d9aaf0c9def91309bff6a8dca9dd3533c960e9a23263cc3c4ffa85410d57e62fb68610480f45ac200594f8743c5ab60fd2f7d470d6e4eb3a5a40de23b99284117d4645a4e33b0d590ef06d8ae09040141aa3f144a569b1dd4b71a72c8f3a588c9f73b1fc81cefcafc945a6aec9dc6a15cd2f50ff6597adadf590ecafbcd55fecf9d74f5f69ede3c18e6a3a295fa6f5318c3341d80fb5bca7080207dbaaa6dcf14462edb58dcf7c418c01e40abbdf3dbce11020aa80d200bd14eeab87df02614547337ce93393adb72e0086f5c074e2d609b2f66aab5e9685990c3822fa32a29c41e4b4626f065e7ce4a6cd51a8fa05c473e062d26010150141f0bc4b0a843f8143dc35d0f3ada12fa3cbf992d8f292a4a0bd44bed638b90a6ee803a3dfb6d709aa70cc3dd9bc4b40bb16e029290f5c46c8627e7e4cabc82f1480945a09b66867620e19f56962ccb4967e4ed150334a113ed053b7e405e1edf04f114e92e6e1032a1c125d4987b874b88d8324ab9dbd9fbfb42abb5ad153525c733eeace0cf6a828f085cf7b163802252a79885b19b02f1e321bd0e15961d8ffcccc00d032934b8537080705d22a0b71a34fa811ac1c846c6effe4a77851f345588643d0159da4177228ff9edd8b5e6fcde6ad6a968809ecd9900b36cbcb08febb6ddd158d495198fdcc8d6e3d2dc1f7894cc79b3e488269a9979375c4d9d85635587099cf1291f140e411f0f83d127b1a646b221a3a7a174dbce7e345189c5f29fb68b07723d4bc51d5b298fc458975fc5f16ae0a3f12d4dfa42c3158b526a953d330822381a94614d1e503a39bbe8b26061c4c56827c78cd0b761b552273f2617fb120c59145841c81d3ba753ca7da0d89b208f1fa3979e867ca7fbb307c8c1852c2ef24c9fbc7dd4d76ae1e2eb8761e7a4b880c91553b19f9e67d2f6af0c888088fe255206c840ef62963cd54cb24d77ff4b90d11e96dd56141ada68120b8b7c417b2b6127e4ca6881e1211ba37aeb0c74f1a52c40b0c26ff8aa3645bb987ec80431847e4f66d6303309b6635161367897720818335bcd52d06182e5a3789665c2a4e4040cd4c5675979f201ed28a1ade9cd2a2162d5816ce096d2d61e89edf9af40fb3e7a36b597f06688d19999a3260c37caaa0eca0fa0836ae0ace97b5870e493700126e9944630506fb9d0d78af021a400872d072138526c708b56133a843fdb51a6f67e0e1008aadc374927821460a1a8ecd940a35b4a25595ff219c07261b06c58259e5afcbcb05702c8c17cea39efdb01ccb0ba51d170fea7480f3399b1aa86cc6f96be090abe9efb788e074fdb4bb9bf33960192609d4cfaa8fe0cfac35be32814b6a3d3194d8e151b65493091df4caf610ff64359d5fb9254d78b98bafe436f52fd269258ccbf647523abb04c6c0a5357d0e42cc19f155cb3d4d03da771c9101b4b0601421d82cdee36b11090109e1e4ab7ce091c6b291753906da7e0e1257d1e3863f5086ffc3f4765b776a4a943bfcfc382a3b44774d89bb71692808769f58b02313c55318ead0e57becdd046257425a7dfda4c99bdc5a14301e5f1d518611c72526a9ff275210fb81cbcc4a5b1a7efc0638549a40701d0a104aab17f94dba0dc4df12f36e52b7d3aa998096376532a086ab24bb30cac15ec17caebbb54467b2d5346706cbd62573d69054113614c311e228091106815cbe38a308ef80922b4936de654757bbfb41b5c01fdd44ffd847567a3302d2cf38428e5d37952085edd2d6343f0515d736775a115bef0b368b830af589bbf05df6bda5e17699ae434ec7cfe4e71a54dd538b43e0995a6bc80f384d93189cd099402ce56ae357be271c8a9603b5c5370eb457551db8041c33e6a7ef642563fa8866462dd4d6107e88523223a4b0d94af1f8df5a6cc72dd71af10938db8920e9baec80e619dcd4d3afafc1539f303b72310e265ce0a28f8130d1331eacbe7463665c3238cbb705625170f7c2da1b31f23896c9b0d027c1a3fb4e6ca8421315543a1785c204a4b61de53bc154f7327cfe5357d1723159cddd888d6e1b1a7146453053894728fc410f0e7bf14389d9ce674d4204a4e23aab8c16cc85759fa04433bd03a48ce62827ee67ad1a40fc43e17280560d44d23ef8ee1df2a5849390344c8b40bedd5c889f83804c3802c2c8aae864f52bd64789c17a60da0cfb3fc612f7903a63f008a7b1e22071190afdd81942f32c305eda62a3ac641111bf9199cec2b4e0aa942bcfa98f7a23a9bd8989a7f10c34b70f5a8c5cbb694e4a4b5c71caa6a391acd05660e072080ea01496a5cef0bf87ba99a36536bc66556974badb2be53397c47461854357e200e1640fa108a1abda671f42237a0fb3789f020601a2d08487f82f207a0c29916775af6e6893c82446cbc3560fc8960bf4696b361bf83b2f889da23c89079951b00fd1076c7b9bc81e9786ed91a28d9a6d0ff3368137f8d2f03e397cc017ec1261cedc5310c6b33c5214320ca3e06d885a6c49fb0e02c69e2a407a31809c6671be145e80cee90d9988be43c17c25425da90441e300769c22b2b31a88b508b8f671ee8d76f9d09da5793e26350c7ed99e40ba5ba2368beaa7c1c3004636521d16d4b676d7ec189adfff9b9004a21ff22c519dba9b4379f49d81e2cacd1236cd457b3b76578dc6406d087d428b61514087e065e4fc96643100993a513a65157bab00f13f39381cfd42e6c4b7ce4da0c702f0b257e2d33254daf9a7aff1e8e473a75578674acdefe78dd27a49edb61062bcb7892d01b58a91da6896f5a89ab949dfbd96d1601d8ac6aceb8f928e82fae22db55902e64f5723a7e5189f2d786edba43f92b8c63bca7ba1ea121b7c2b1c0fddcc0cbb1b339952210fb31d7ed95494b6ca31eb1aa29f00acd013c029b3829363b956833b46d967bb50ebbf2dbc89004555f483d1870cb2205178d5316c798663d4bae475fd808ce02ba94329045401f51543b58e666906ed489cc693ef2d57e5d2cddaa0eff740674684cf254d5a3f8baa80f3cdc756722efb749f918e889a1b18ac2c685c6bd146719d7040e8ca49bf7c6ec4e6561b6b6477585c716b4fe7e767e9785d20cfb7e02eb66efcdf94c15e1e03532a33a6199080568bc3293697b4dc49a1516ea3c654dbdd9739e05a6b01c3196b7434f64c09c444635f44ba2f01d88554393ee8de8af98b9d7650838d528ef4d7f2d5eea781861c3ea4cacb829bf28c7b761b61ac0f6e4aa75fd26023bdddcdf4af745c99110ffca234e190d15c49dfd842b9eb9d953e48ed95c53e4c4aa59e9e5c6dc4c2972ccd8bc5472c7d6ec14b9cea2669ca7f582063afa081fa2dba06238e4b6d1256b30d5afabc7ec58dcaa48fdf13f18cd804ade07e39bc439138513d9425a92ec9440da6bfbae93e5f6fd9636d03b7fc97788b9855f344a9ecf85a976ba567a6a82dc83524d75dbee0f0a2da18e6a80cef9ab678200268c80701542bd0906656344b277ad06fb4f7594369d7ff6fb904c03d94c2f172f0493ea06ec3626a102b88b37846cd3a2a4ed79e4cc5c60aa1f3eccc08028ac327dcc238131c040da9610050a1897422f68a2de6ecb152f2cafd54c3b1c76144093a556a0954d0158c6dc357f6c0d89f85d94c31232981008bdf1580f903905b25b57287eef08d7657c65dba9a35c800a5a6e050a73c0b98042f7017c9db3106853e950759896673a6ed88d96f872d38cd5802dd3b2808a2ccc0cce483c9600410ed18c6d9acf6e6c16f0f86e9212b47b78e3f327d43d10c7a5e601fcaf3bd5047c7efda8b6d9396a43fa244697160a96c18b923aa423d7915329311642805fb1da79719c6f16e8db0a18c49417171880b0abb59f5205616c6cabf34db5abcb080b8c596afa67577557f23adefe81c40ab54513bc89bdedfb1df8fdd42809ed6ee3aaed645850dfb89edac591083b28d60fa3186a60fda6ab30165d67f85ae49349806d12dd2e1c330348f9b1ba269e0568a4c46dda969232b0eb6f89fb805f61d18f257373accccdb330379d85e10dd5645cc93555e589516055795f6c3267a080f7a64f4683d7ddc099cc328e17bf68f1d43c5c4419a5d57c0bc135549a4f0d8a722a0afc21fa40f18ac73eed345ce1e36d5c1c68594b66b98274630a66e4e657145c7f947f608e01a67599afdf338558e3ffcb54a62b481883503d9141f68664318c325d5f8ab240728f9f6734a0717f9f3b1bd702f1e513383f4c72ace0fcb23c6380c0a849d12c677ceda5b32b2680e13d4d1969d441f88e3f89f60ffbcca1e5fd9048fe509523d68430900ea041d4c4a725d61038cdeb3f36b34c5c4eda5a93360236385e7d5bb965e92ce066ac2710915d0214d8b32428aff38c0765edd12160bc9944bbb7ff87b520a7a0cb251c91ce6b26a0f80a6d395274db213eadc6e00f0d2f329e2873f2e8b1976da2046db76a2ab160a8658594cb90f24acaec3733d6f34601b22595fa98348a905fb5acf64499aa507520bdb8fb52eaa7e03d64bd1ec449a1a0d057e51b5390df29443af1c0910c09f629885932af75ea1d84a719ac19937f39656fbf8218a76618b87e783be8e9fcffdf90863922bcad25e41d001e5ef3169319b87a6601187b4c5e85f15d538e2d8539e089674a8031c4bffa0f5f99c91f0375001db1c902201ee2a98f7a35398893bb1a0f15e80d67f8459f206dcbec2b9809518964c7c6a99fcdbf1796fbefcae8d1d7eee73ad15da0fcd1ce7103de8ae12b4e519fea1b8f19fe2247106b7a514f71aee7fb3ca992e1db4d692001bd558f100c36da8d3e80d52bc86ffc13c3873830a30653148964a9294688b9b362c0a2dbab49f6a61e4c80bb34cef7571358427ff163e0f72a883c1764b230df6640bb424ad405878a1e33767719b43b65d145c12a704efe887f61315104260ac2bf905c92741c343620305bb1d47938e90bc2471ce03a077692c22425afdaf05a80370f69c36ec44089e078daf7edc5c6ad74dea0fa9570bb1e0da5e710529d818d9e01f408c4ac3f1cb72159b6c7c46389c01a0d93017d7cb037af66c91edc9a69be3805c99d56f14d281db8b664d0c74693c52be7a06a4c1c5b577c6adc9ddc6b5e802c76674271ef52babde259993197e7b26cbba31e8009347ab581407b35da446c97a197b3165b1c77f053eb655aab21f5a61441d0aa068cc4258eb41e64e23f5263f512b19295328daffad87644a0b64caab85a10920787a3fa83570af556070bfe73f414bc1ff74175c153b90f62be822f472c11c88ebd53aa64e423d130d24950b8cd43e0d9a2d88b952478b6bf35bb91a50774458b020f32f6ec6d0a614b9b725e4e10abc69af88556e9edd9c80c5628169b66c70095af0f840c0759ce9c5087f6f9458a30f00146d0281e836da49f9e48eb327a94704695c8519afded669104c754616a1f81c6c5e6fc70c24e48b09f52fc4304601f2d45e66957c74912aa2a6eecce49e1215367d69476c63f5c1176cb3d2ff12b58cb684851b8b605ec0118fe2a5ddf96b419c89b607e3689a9fb6464c1993d1ec3f745a60b52a1cd3f6f5c06279158b4418f7782c21ffc4a826b9f0fe751f18940a39a04c117c8af7bb8a7883f09a4584a8c28ec61516da5411689b81770596cfbecc970bdf12342bdc61fe82efb8ba5ea633b28d1540c0630a49d286a7772a523e02b299c96152fc1fffbed8bf466aba8aedabd82ce19963b815105c286b895a40a0fc130215d26196b9c8e425f1c166e3a94ba8605172d0c10ef4cfdc2388e36b5fdd14c099d2295abc083ba9b53386fd1606f7993d727f3d181033e8a890a8746f1326ef1d7a1eed0a4617e4831ee52d2ce4442ef8045cb4383d311b9f7c0be813b60f3f8087caef1c556015e03be0bf63d7c1a31cd1d50ffd19dfff710a471a66470ce7e1f9c7c5fa56e2c8ae00fc4879b8018a90e2994152146a1c6bfb78277f0d4c30e6adc0f110961055d7db37453da0c080f72700e547497e3e211a93c685567f8331d20f783798390966091bd58653cf105272c9e695bf1017053f6f15f504cf871659cd64003db17ac643a9e7390965516d1c8a6f4bd2a8b1de3b145470afcca60a9dc054c8448774c2f57d6d6911a998fe8a958ee76c2ee0e06f2b6193b5fc291511215ce38b4c67047413a554705d22ac9dc393c7a976c373d9efa13bd5cd07a3c3c31f6ac97d842f9ad4a7129963be2dd48b1359a87500b6007bca0368535b8fa81666d2382a26b64a5f9374226f3ee6a176eb4b356fd6c5fd23241eab54450fbc4e975bd047dc56c03e624a66c3a414189a115fc7652f513120f48c4729bdc3a1fc98f41c2066c15c7ac2154ee0c8abe4e4b83dbd491a5381f269cbee68bb56647f9c5c7fdb01034ee1fdcdf7c0a6c125fb584ac94a79ddbdb1bde8c18bf1d1390a697e649badb0a6d3d9e0df8b394234950c5e1d5b09ed064df573d16ee0396c64ee19cde19b78c18041cac7f9f2458af5fb19ad47b2a405d0bef49687082e1520ef82bdceb2b5b8ce44aba587ca14cc6ff781da291e5f317949752b4c43f095ba8e67027a726d118032325a08767132222238683283f50695d7f6b6b21a170b6d3cc3ca81e9c7a9983d2211e01c652d2a70dd9055aba30bd33eb96b126b856de5823e3c6f07537b114a23b56e10216bdc2ea6fbb772b116b1d9163fe2d3681968861cd4dcc919b51ab91c7795d3b97e98e5a108b4cedb998b78f55a689e8f223832745b61409b0a36a18780116ac6187044093980069e37d2ce2b2e8194586b7f56a4dc4ce513e1fd2979a85e2a5420dfb5b7f6a5400385a58915a5917e0f592625a523abe72b5d2447799adff044ae05d98ce6444f0c1dd492814f0d52c8493d2ba4ac08899a14f334d2fb65ce4d0a0efdac95d19810773d81e9786874b4582bf228f7de37413e3a4b5dba06dd0d34a3b1457fc78d8077948d0c90461a8b90a1d31e9c97717c572aa649cdd9bd6d1987913f71485c43ea7b8822bcc79c55931f1e8b68cee6e9f60a37dd15057816310ae39149c7c1acf07300122e233e5e1c46f4c9832489681a3e2c517c8bd090221f1b8b1f12bfa59dc6366e1ae3d88a36a93bb41b4fae380c5e0f7014bb5561564cc52f0980285dd1e80ea61a7873b9463c993ed8151ae5e70b00d0481f33ef851f14756267c8507080cb2eaffdea2aa2651ecf5e8427b1efa6f63bed3a208c9a3b61e448de8d0244b5521cee7e58f0b6a050068a342ac6f95fa51a889ece47409d15d2c0439177891880a78cd4ab3d26026178ad5967df736c704771075dd15467c632f946e78e6e13790490e6fbe68d7151800a34b771ba8808e5abe6657d10f2a02bcf2c4be3f641a996ea474295ec2f7ea23b2a8f280c5f087f6e2910462dc4c52e8dd0e477a70eee36105419c2c4094f746887141ebecd66d07e705761bea9a042b0cc9fa155448ebf52b4b67b46987357b3d6de190aab61558a6b8b0e12037713c7269465a5014fc4cd25de14c04233dd0f2b7242de09c8a03b380076563fca377a0c380014c38b0af6c0eae7124f5853ffb3b6bdb8fd11481ea6b6a6076ceec5e61d9858a8bf92ae519b9f6e3ed1d252b30f8a3fab20fa678541bd40f4c841edcc6826794809573d619eb29a5eb81618a3373db662b2758f95402a507aba4ee5d1d6fa93db12f4787ef037d8e13a09502396bf7cfe28b5d970fb6b0fb0fb8282820979d6d7de89014fbd4ddce6782877ba901bb1739e4fd0e822b9d6263d88ad736889eef13813335436418f7b0627d6e5eb9af31a484a8aebc168f314a2f96ef9e7a0d5f2e721898fc1d793366fde33449eb6968aec9ef05f7aca593940adc9f937f85ca98cc31b97d5663d612bee410979d01c213f791e6abd2723568f07d5c3fca0318e052572a7387cde80ecb0b143e038b372385d07addc53af90639d50783e68870959d894fdec750b5f434b52cf5cb7a60b801bdf7e20bad1e36be620b7893ff2ca58b0662b9cca5bcd6be6938b37e7a2da20f05385f49795e70a4df3e5e90b8e62857a9466282bad43cb4bb65bdb039b0f07645ada415a6549a13b5d523db61b1a47010333b472a69d45ba29d37616e1c43894a9edd397712660313d0d4d9505ab198098754aabdd8d26501f5aab9c59b22819cfa6ff004c743c279e2739e52dfddf005d6684c6f79c607364b63b1157a651a71c44c9c8ffd6e734c1cebda08b5f5026eeddf2ae88531faf3ecaa7b31f048d40af2e27cbdf9047365a098a20f21183f851083a192bf0654ebef2de2e7e7f946508db3c162a64c07bbb957a4ebe61da08c470651152b7c1808b8ba431f141ed4e8c2be2517e8464956820602f7079db68cba15c2be650d6825c49542f46d7319214d1079d6b3242a344ab4a9b7770cda61c80b19b2c1027b2b1754f954da01b7aee975d2dbc44ba04fe000c4e2d189cc63ce4e021ff3bbbccf50e8c62e294e48ef285d79f16e4151a0677f5d8d65dbeb2f38babe7cb2c8d41896e4a0d515941cc9a9215e6e06486fe58c7b97ace2ace682a6da59a2c8ad5e27d747b5d6583720d87b32e1ce9355800fa528f90c776729ddc4f6cef4974970dc8c8a248caa130b30f1722e2b4f5f0ee7795907c7f45ad902facd85eee56f0991d37584a24b8e4a4733651b12eff4f7d84ebf4464c68af75b44b33918c92c0cfaacfb904d68cfe18d80e5003f1bdc50e4f404b5e051cd9d9b15c396f2dd15c128ef22e375bf506c93c665adea2a0c5359fd6fb60f319f78c0772e7a2d7e94d498c00b68fc160dd2f9495f82c2dee611a9f54deb16e707b5f58dcdb7257376de2702e94556a5c7b039fb066682d0d1a8f9c3d0090a087de6ad2795efb02636b87f65e9cf32517d3f844ed2ef0bf1342adc6ff39e55dbfb7dbe774756eab4783e7a5618641f43275dc6cd95b44882f4cc4bab87dcf00a7dae1891d766a51ecafb939a1961ce371a40d93376ae082c38adbf5561d6a09727bede459501c85b24a618600a0c0ed1d8daca6ac99995ca8138aef3f925c886a2123eef9c81a78fed81bd563b006368d20d60055f06a4bfdfe3121d0ae775c2941bac2594f31b9c9edd18dd8fd15f5de66652affc34813620d015e36c6235e1000b3e66dbd3713ac385e056aa63874b5fd68ea11a537c430fb91927e67ae55553d8cb00bf7804cfd4d943757d3b06614d79bb9556e63c52339171666dd2df06a0349e8cca8b6f8376dd596bd806c8bdf75f1502436e1078e83c6efae8570e61f385701e5a49fbe4c2d10df8f8c9c2b4042c2f569cc28c402f2be2fabe17190cd935ac05bf2e8eb102fdeda6b6b0009e8dae02496c08564c23d816a4381a0ce253beb43abc06c4feee7466048ae838b4c63086d454adc48fe19087156bfa2c0cd3ef952920680eb7bc4c8a182aef1c1c12ee62ca8824b22486ba426aac6e3f36c6ce76be1abe285676e2a2b5e5c8eb0b0e0f5ea9c45b64f2b5d12bbb5b24822d36e69b48257394118a6005978d2e7a076c64b4377253c38af0a305a954d426d7502e20aa266bb7633e806dfb0e51ca0ffba1d87eda8146f13393150eaaba597a3ad911c1567e010ab00d236160fa744f8a992349f4823d69398857617b620ad3a18fda93c5b4c871b014081a701e3e588bed271dfcb22623f24b20770ba63bec844f72543d637d8507c43b151fd378a34376a5bab368e4aa5e156198f03c4f840e9e3a200216fcf15f17199253a72851fd846b871df1f9e4a47958aa8e2f2196f462c934bcfd414bf84334728127519a335a286d1b8b14922f499b03433d67cfc6c88e8282f1e535054052577e7297356671d638b94064c76b8e655b1e9e6f533309442b4736e2fed61aa11eb84fb5c712e758e943298c4a35a7a997796a4c5f5acb2974186350e9a5653bb4b21d79a2887a53e9f0aae31e084625b030cc00b232a161945019ea94f3535ba7ea9886dbfd7c14f91d47e2ddab584faff39c6c1cded1c11aa60c8cf1f22db2853a370defd5bbcb9ba905a4783a324222dac8258c649c43325b4f2483a633b1a497af5f202bccea96d90056c822acd0371b3086e40bd12302846f160c4811745fe590c0707186366ad06c25484f6160a8f01abf98d0c0e53bd963d2ab21818885533bf81133902436258dfd012ce9b21e4b45f7e1a97929a4678ee4d7d80929644afe86b25b8d0e5647b4f31669f6aaa80438c8799008c403a793e19a2b3e41200ea3159e848830e5789e75a66ebb8ae855f6cb99d9f4cb3757b4cab6a1637d7311c49753f33bc941c1eb87416236634b3530633ae3cfb751e83ae3bfa16c519078b2646a99047fec838da963bd555148baae550b05aaac34e9aaa2d0bf795eed4721ad09fa83a74e7d5a87823c50c2231061bbd97b270e043d3ab749552174241cac4ea503c3a4ef061fc23cd493d49432da76e851323357bf89686d295b0e1b6d5f5ab0c153c60734cc0c3aa62f41d0340067987982acbfce731d7d39663db537480f1ddb940648428a727d8163011ed5222438473efb64f2a3380c1e3ad366f5046c7b5148884ffa185d4279c9f5eb968895384015491063c5ff639369a5b5cb32314d65b91aa6d08e2db7026118406ec4c5c7bce2eec5fe0e82a40b8d8a1c8f8178e1fd3a5dc4f2deaa657b6bd4ea83829c65da0bcabd6d527e2d72e49784a3b8a9cb2f7f4a728a381cbf423db1c5b6664d04b304fee7452b12d57690d4585f2cd12ca6ae912b488ff752926d5af70ac87db9f48622a6d1bd57cdcae3bead02c78b88796c8978ab23414cb822a8690bd2bfccb7d3f5eebae327aee22dc1d871267c77c525138806f804c01ad7058a652825e352bce9d95650dbfe282be6644d5f72860904a8e688461038a5eede4878b37a98fe36c6e820020bbb7e2bb8ed92346e135b0272ae44f6213633d67072547eb738dc89cc994de304540c69ab8948676ee5f7ccf59ca4e8c9ff55caea003d03bcd3d1f6cda77061b23b575835dc5b2710da24baf5fd8fe5dfb64f06e68c5588fcd5ed62b312099fc3b00ba8fa1f0aa1d454c94e576368374fe538e239462593e24d13eb4b8bcfada821f19f8ec039f3e541c72e63b3a705a8119ac702c440de92a62f05333c9f4bf1b8e5adbc5b6ab183e4f67a0c74668a2c9b9aeb5e4af81f1585ddbe9d16f77fac2e0c0c69deba5cda3c50914c05b33c633196eeedab1d9362bbda1617813ff41996a93f2842fd67bbc267c33c24047a33ca426c373f492f483d3e85fc402f6835fba87cdac1bc3aed7c480106f18b5a4ff58fffce12bea0e513f081d87d6a91e0d401a45e9f10747dd0cbc05e0c3e1cafa19a0d01c4b4713e4cd7366a516ee4f3d981e6d440ffb132a31bb6b6771ada098bdb564199b9fe45637da9614243716b0348ce7c0d8985e1436d0c729becd16665bdcabf82b21ff2ed893faa7d8a17bc7320c4457df3ac645ffb90e9f31c595e4c92adc92da99c0517a172ca72521b3d6b9be76fc512ba472bff41807f85e3c37cc9551bd22f026fa099c5144fda142cd869bba848936b00072c801eb785a1313b2c21905aa48896a15e7b6d1c153ea6101b0e566ea56e5009358ee87a1d372b12c3a1613fc3980a93c0999d7f334de81e776a55736641c15008523fb133621bddce06f29575da87c1d63b61ed87650d341dbd5089d27bd83e931a2ef016c62cfced3779ff42a4d892ad44b380f5a5e374333be2f4c7fe0f4907687ad37c4847968e4dd313d73cea3d442782bfceb5a3be5ef0a0ed169150122c7486110c0db3328b6c6983059c72ebbc893924a8759694c34c9382df32a8611a55f27a284550c028fec9611451c5d83bfa0424d6a6ada3c69e435229f5861189fb7c02b530d19a60e7f33ea9a60aba2a89cfba03fc7c627d37a3827e4015624c98717349645b4c5c0bf0739e131421cf1fe65178e173ec9322a409440559a13940391fb1128aa563ff2503b490771f4c5ed95b7199d6bb4869f90f1389c8c105de659b70b28a2d50adffaad371ec69ae9df247b4d19a72092f38d149d2412102fbd7e669e685d42206173fd24bab241cd0ecd11f9415a6d9c2274e0ba5c848aadb8e0e8adb5c43b1e08e1bacd6291966018b79ee30b7f1a36267e33391df084eb7626a7cd7471b9aa5efc83b4e76eedc6d429f3dbb6c6006a346bc2078869b6a2d450a46d00ce826b639bf6420ed0b8061c53623fc0d1e3d88626098225ecf54d49b38f864e5207449607894f1e28f3e7b0d147bc142fe0d677d628aaf5b151ef00eecbd6215bccde8accc01cee210c53e112eecbf09cbea0d9ce65e0d0ce0477184ac1e570ad2b70293fa592abda0e10b1b4cf05b412de141114ed7989837d3a9b43f63cc9dd48e9a27e832a3a881597080cf5611e0a00996b417ce739474b447fe99385699624479206fb837758b2ca377522612de1fee7ab2aa4e74aa79d1235618117d3e43b871a4753cdc9248cd302a7e19c26152e8319c76b1859418effd68f7e011acef31722d2966696917c334e281ac50233b7ffd33400ce5965918953eabeef32f801f0dc34c487c575be3adcf3d7d741cd08f808702b4310b969875a274cd28351e810c1cbec09877d208cf75fc78181b24756f4571e6aa815201b708511219a079c5b78e0a6ed45f4d3a81d441736789dca7d5c00327d8072546bff8c94ad0a80d54d617a22713d0e4d9a2b4dbe9d9896216802dc32bae43763ba555f416e424d7c1a79cb39cc7683453f5ff58efae3077616117758142abde7152934e8a84dd05865c461dd92bfcbecaf2aba52498c373cf67685ea40c91c9e3c0401c5203b776044a83661e54f872261cf554d3445983035c004a564540d4c69747769ca826194405a29189f69932d879022a6dbe14de956f371e42048af75c5285d12091c444b64aa4414f0d76113922afa01c9b17ce23c0fdc26ce7b82ef31398cd7131e2548606e71a9d36b70d759f357311619577b20623947d337bb51557d31fcc01dd18c0d02fe55a3b81d6da076f98a6e64eb6b55e9a914d0c43705e5694c5b68949e4d2f1d2f76c44c3d62d567c6fff8680feb6a2bcf1eaec89613783b24438149379541d0d9df2d8b6432def93d1cdd9ebee40835295f536db3541a024b0e7a33436b9a1ffeeb90ad06e6125d18520023879ef5982481ba97873a31301b08348231129c5d4f0951e8a435c47e802dc31e9338153fbc45e775d540ef820b06a98074350348453ce1d0685662ef5705f8222453ec6bfb562e5d3a1e8efcf266ae3a7374401030aec72975a304eca4a63aefe6f34034761364baeeab132298ac02a99dad91d61a29cabb8df5f8ed460b4561b87bf7b20922dc4794d6e3386910a321bdc724ec602d0e93fd86ae0a108d8b42a95aca59d406551db84ecbdf7965b4a29a59401370a8d08e708f63eb7b9bb4f8681dfb97d8fcd3c77e510bfbe27c370dcf3fc9e47c3c0c370ecbcfbce3b1d3fa42c2a4619a17d3dd0e94e6e1dcc369a764b036556def1e97b2fefe8e2e6328d19dba4d67407b44acab2efac8ef233e9468ce1332d9679fa29bf7a19e78f28859547c7a98b44e1c460938c22d57b3def11e5034adceba3ec5ecd64b72adbddbeded72b81bfe734d3a7a515a7992ad6aef4bddeda7357e2b97d27c5e7dd372dabee41cdb4a341cd74b166d23413f7aa99a27c40a9befba7e9595a52b1cea399ae9462dfa3997834134b337d588fa06926edacef68c9047c7d4b33b138cdf4691d51943acde91a60099746528a1659cda45e465552a413784925995861b04ad320d5d571369d789ae4c43f8e37cd5aacb9acb5b65201ec78650814e0299486cdd8a9d1ead2e8a5f4b6e1346d4518d3c4ca931bb240134476b1300384524a2994ad36c8c10a80a2928282adedf0463805ad6e6696e0b1f86a9ceba5a60856c30256b304ab69328be2de7eef857ac5a19e48d3d788ad72727282b2668cd8d6dabb6c9a34b3285ae1347240a757d42c7a81d42caad72ad4d455968a31aeb5d68a31ae15e3f05341d7cb4ace0ffc4309287c31c666986c8c31c61843110585148e9de844f3e8be5a8c31c6f8de7be5af106ce6086bba5e6898a0a941cc9521e4185972e4ea8a274e418498717a5daa3042ca5c7d67a2f01929f0cece2811720508ac876ba528a366f30265c510fb81179634994204103d8c91552b76ad65bca8a0848f2750f6da2225512db4096365881ce63c552f41a28490b140dc6ef86a5cddacb51aa5d6ba7070d1212f21a0ab8c971d824f5280281ca42042270b0e4dc81902fc71ebed8e742173431c344c4421b3719a94514112d78eb33252f5ceca00f9c1849127a89e98596e23d303a8699acb95d3153f21e589291b0de075bdaac8549d3982c994a0a55927ac3427e46850f788ad6486784dc8298231c6380b8f56dc841435aeeb7ac9811a138607470ca562174ca1f6da3a060b0f1939f772f1e1052a831daf446d01a2e15a2c637ad8c60c11155da0444b1c2049c4615225ab709a4c691da102114362383375440e296081ccbee1d2048db705c899a8d68e5ca45c71c39813b070c7144962e5b050c5a04152a3907987d85a6b971db2d8b5d66a2be8d23b76d1418e182f3b04cfe6ab554c965dab94b59c982952b11d6762a498b8024a0b5aa06627c80d726170e1ca05735810278713b801839968a2c814776503ed8f6badfdc1c4942d0deb5a1b58768867ad50a103da1c6e7a60010a52a830c78aac5e2d6115d1049120960925bb081346b6a7bc63971b68083307d490a822089b303b04af429828a0c29401d2858dd46eedd8854e152f290fde88126272680345880c2b885345acd7babadc7044151355cc7829424595dd572c3600d045343f7c85afae302d628a29415a08f3a60a95d5b6750930486ebd18b0428799116fe82051658a2b3ca8a96184d8f642d6561a6b181c96b82ab2c40b8680ae25c0a4606d110d76f4f24467892944dd0c8942a1d0e505fd3881f7d6dedaa9c3d7a69a0e639b2aedab43a57d6fb39695368f01346972fed0cd189732524a54cdbcb0a12a226a2fcd6dc20236087ebc503d79d112640b1ca7edda918b0f20a40ff043557b1ebf49767393acc2aab63177fd4ba889b6e73f509a48b079a21934f6a4529e6c26587618a7f694552ac11d96ec79af4d8d199b6c0cf68c4f5574ce304f44a5d08a5aa2c257a4eb41ca082450580c1125ab6c6270e1889716eed3ce8e5d9cc0624a19d88e33373244810118148254811344182b6bcac429664e8e68810a9d18dc4831011cc41049a2e6055255a87992ba020207236a92f8f0822a2169dc8ca95a214b9a2929fb5e5ba35001164f5cd14404122d2cc861891138a09119cda65230673e71ad9328e00c487c4ddc802860f29a6ac242d08f5bab17a95deb8f127498aae1852bd050710305950a54209a275742a18384151432615080c68896122b182005546a80ba41873757b27aa68b09585da0b830040c6e8e4cd940441d3766b684f13115c7c99413215845ead49a5d6b54c442891515d40f6f9e8092d93253555e534c20e9769c4dada0e5645e6a675326a8555ba26c383245a4c813554846445c1863450f43c8e045269da83166ca092133fc2066884cbee00c983071824089818a4c4a1b663042cd097e48218b374bc8621312b8763ef1254a0e43e4907122ab2ee08285e34245a5d62d4f26d8b5166942b286062d3b6c7113240b9925b344962e74d0a4d0b3e38ccb0e607d12054383b9cc20a55d2e2d7896527ae9a5519bb6360529a595524a2f44e9b55c9ca28e5becf0465a0a55685a44d3e44992281db678a1620c1a186661d8d80d9ae082e58a1046c45489d932e502b8e36c4b102af410648b1420b32d2890d6da2d306c6b89a0549e1d675b849c62692b0d4ffb5a5a69a5333163387a8560d366ca116ccc9c915d26664fc031e2f2769c69a1b343f043b4c0f9710035635040664b1262c2c86c986d577066db9996288c3c01278610da40e1868524aa5441c4125b7c0031c487962888703b7a81b202ca4b9028498b249b2a3664e6944734a4001c5193858a130d58a464114c076070e2871db0480366c9125fb6385d21836b472f504ac089f414256cdaa1fc84d9c0bbbe6937d527fb187dfc097b3ef4a02e1bb27272727292c54f4af9a4c3f3286eb001de71c9046d2f99a0eda61da9acb39ba4e440e7813900b31f4e51514ba0b4bc50e548102318ec38cbf2c63e5a2bcf69ee5aade2bad5ca6d165bcd5a7b6d7da10a14986dad8d31e4eb26679b993de992423516cdcba8b1c60094e1b7a9cfa6a18b4d6f3b393106c1f0f525c94a4305e2871258d9f411835d5fe8221228bfc508d6d7a65487526f7647107cbda40eed8e7122452a1dc60de8ab8f2e478ad8f571db3526cd15cb0945465a744487e46002aa1ddf5559299e4753c6664c6a16dbcd5abd618dce6a1fbeee43507b88a59ef4936e5bee6cf9db62cb5b1d91642c9249d53eb4734a2cb52ad6d65b4d67ad74ce8731c618678cf3618c31c619e3ab9c598094d2a837f0294a8d33289d55fbd47e75a5545bfaaa3dac75d2596b8d734e4dbfeccdda9c13874b9566aa436fd3aa693c63f3f2f0e60c9cbf524b02562dd2cb258712f8f0b1c30f739e8a18e1021a6456896d8330b3ad0d4ef8d064f8f263ee68c50627c2baa79660dd1a3cf1ecb8c5870bac1db93439c23a09e2c58eb32c4b00392367cc045dfd1c7ab18687d84b688dd49e271a00386312fbb5e74c8a2cd24848175fafcd013329a876ddd18a0a7c80eaa630424b1627e0c107265a60258a93a729224bf6b763173a68b24c450cd8d72c41ec567d5773dc9dad37ec8e9735a4f5c3f1dd9856d719fb6adc20562a275497a404912c645af0e305216c6496054b602a1ca084f0dc40b5ed0d3ea86eb0dadf8e544eae803218514ee2aacdf6c5fb6edaa57a1284de8bb516ce9258552541620a11d9a5da97cac9955b414e0d941dde689b36854aaf82d18625ce0bf431a26fa253d0cca6af33c628a55a1d418e150b2700f2021510328ac4a67476c40a9b525a2f96a9166aa594ceb0f4b0690b324a69a53c3b56092205db67c71916265748972829a91dadd7a060dcadec7d49ac77ac2cc1fa7ddf077157cd83687fff3e1c4253a830b33f56ae1bebcbae194b02e26bd7c618f86008fac8fb643c8beae567835edb4ee99724414a4ff552dddbeb87630175ead449dab4977daec0fbedf41dedeaf741dc572f511c9ddd3234da567badd66e27ec4b6b57afe92835b0a7b9aed9747e4994b6911ad06b1a1226e0617a37ce2311d86a3563f4b5ca19e5e751cf640de9ba08c6664cce39e79c73ce3ae79c5312bd628c780fb492ae20e5adade761b4ef8e7afa2ebc3a34daf7d5e6f0483bb7483cb7b70a006fcf935f540a9ce7be93415ac4fa3cd13c6a819faeee3b39465ad4caacd0e8ebf49d3179a7b57ac9ee4bb52dde91deec01a36df58eaa3dd6ac32604a1f89c239db93b39b47918021b681778c31ee8ff7d7f76dd32193c4168c3e9bf3e2a743a1cde14e87b11de2ede970009bd3218dc8e9f047dcfdf790f33ccf13f23c170feb0e3d1df298a143c975bab6d93e0f780efb0b16f4ba26e8b1b6a956f328082b9153b6ff2106a7a492532892b47a7d537275a75bdc9bd2736eca76efbd386af76edbcfbbbb633bd66a1bc9c1f5c1a006ea7076318c4c68218d9dee17dfeed6562c76687beab5ff5ed754373bb43bea97e3bbf7076cef798df9e570ee9e7339ac56db0e55814cb000296a019a489389b63d1de7eaf48eed3de7de4920178eed3d1469041935e94491b0ae6d7ef4d561dd9d86e17fb7d28a22cda8177fed9cd57a7dbd85fe798f0ec158d7dc9b5bdc7ee7e1f9f779c0bdd33bbaf7dce33e4925ff428740e0777408b634eb3fafeed6bb7fb5d04b73dfef74d7a392a0d6344b53bd74d5543b3aacdbeab065b52fe9d312b44c76b7d9bbb76dab1bf7d8adae01ca42f7c9df5dd9c57972dc3287403bc43c71048a24a96694f7106887b10a778f14bcd0251545c25287189c3a041a8116cd7be00e6754a7b919b5a7d73ac7e9d0687b2dbda3bb3dd76ad3fa7d941c60a9c17c18b76cee3e400fa3967886ea1ddd5be7dec91badff58ef5287b2a561ad7fbf78048a04040482b1cae33163db873c666cf9170f8df6f7202bfff3b0eeef42f91563d8ef9042bf5f0e6fdb2895d070a86873797320a7431e33b6f7173a347291e38cfdbcb6911c58ef42dfd7d9ddf2f2edbaeeadd66bcc38b5392e2ad1828b647638a16fd7c3199b0b69800f3be01e8bd8dc63dce0c5bdd636d1681ef99cfb8db801d0b93740727001a941b5aa56fb5e4a8983febb07f47bd3f67258676cee5de775b965ebee72d3e678ccd82d5ddb480dee7f7258f785e957d03be95d407270a50633a845fe60c676f2fececa3f9f5ec7ca540a0cc11dc1eff64bfa7987b37d09bb3b97c3babd79e45dfcddcb5a9d2e2fd5cdbab63437ab6ecc923263937be8d2a2873f1bf7dcbbcc755cd7793ad461b4b973f59b875112d73de441a47d36ba73f7ba733a6cf1ef3bbe1c126dce0344bbbb0e8976f7160a183a7e1c7af8cded5071d2d3bcf3dce3c971c676b4a7594339ce22ac9fe32cb23a746d4e87ddbf8ef5bdcbdf5b641e449b95252b4b25666c5ecb92ea08184e2613ca3c0a79186dd63f264de6d1cf94722d87592f8d630ca0bcc518f35ff6f24f7632742e87ae1d622751970d7d49acd798dd96b5779e0e5fdbfbc6e510ecce71e7b2dc375329261469e8f3b38679f47dde7b27bdefd378c6bcbb923a0dce983c97419c43eff2f54b02b504b9cbef83b839bd547190a04e9d3a69b6a779bc76cd756f3ed968c6e65d79be27b37207726788c35cc62b80dcb1d8df918a0729bb8735db6847aa1e82d869b6b73b8fca872c3bb623950f4c76173100462a1fc2ec6e77ef7abceef71de7b1bab38e672cb21e72ad48917e893f1cdcf6b4cf839d6b8fdc6bdc556a1ed573efbe24aeebbaedfbbe6fcb3bc088bfaffbb6b9b409546ff7febddb810ff69c0be706dfa3c3b9f16b4caebb4b77ff722837d8815dec585efc3ca0d5cb21b8bddbc4748208b6d7853d36f74e7baf41bdf07e69eed87ec2f6fe7d37e8ae9d0e9bee3fef9c64e14beab40974eff8be1c1ecf4329f53dace71ee21d723a9452fb9e75eed39c0e597a69eeaa97e6f632fe368f7a2245ca38f0b7fbcecb0f00bb7b1abfd330f0dfefbd733abce19d3b77f9e5f0be7797519203ee9df6b9027d7ebfefe450ee9d779f07dd39bd83fb76eecbe1c9ed7da18f767d5ee7da3e0fbcefe8be63cffbc0d9ee3008e6b831c618839b8e52835046edfb9cff9edc3a4f66bd06ddd9e1340566ec721c7eb83443aedbe1fd7b77ee5de7c9219283506e1c46325dd08f13c83de496e8fef40eeff8dc7528e5bd4b91861ef071df74e79dd3b0ede02ff7fba039f777fc3092d9a0f6b902c325babfdfb3fedcca7373c73a8c64f6bdfd3ce8bee3d3a1ac5f0e6f779d0e41d0b4b9b358677d492c2fc7cd657bf7168e607b27c1f6bcedd5bddde836be57cfdd02f3889e3b05e651dcdce510c981dcdcbd2f89d3129452bb93dfbdcd523b5c9adbfbfdf769580843ff2330f4eb488bbe376d2e877873ef725877772f7f39e47ef1bddcb4bb1cc32cd18db51c2235b89aaea1b7f5508eb4c835672ee6074b3af9bc2688d91457b329cacca6b0224e236ca6767dd76a09cd23180e7afb1b59b235e3acf5b4cacf46fda4f7eefb81cb71f5d7561de300acb651bbeac56feaf9a8e57af979305fff99e9e9974469aef7def1e43969de84e6d1560fc3317fef7a4deaf9cc71b3620cfbc99de670bebbfc72d487f3174acfcce085e6514b9b177feab0691ec5db11cda35863daef36c37acef3b87d5e63baee936138f05dc77769588fb6d1b4770ec3c1f3ef3cfffecd6bffb907f4f79e27effc649c77d0e3b772780f864d1bbfcbe1bdf64d87b8836bd9a87e36eafd6c4c1cf3b51ae92fc618216bcbbb26b6b24497e8179fdf881bc86de3e73e8fdf073e990133266ddef173fc1a3fb986d03cda2eb5773bd99ea8931f28348ff092bd1d86c37e3bcfb77733c4f77e1e630c1f9ffc93437bd7e5970307b1b7ffb081b2b1a77d49e06d665de83bbe8c3146f8f3fa739f5f8eed3f3ac439eeadee581e11ebb3d1b45b17bac73702da31c0ba9c4245440dfb750d87cfb7cbecf39b4312f6d534ac75ed12d63ad0b79ffb737f80ae0474201d92b0b74b1d92700fbeb35dfc6efc5c6b5dc31206741186fe8b407418977f6d8c31aca561401a84a1ff4a433f9176fc9f1c5e07b438d0ebf781dc2d2e8fefbdbbf28380dc3e8f1f04e46eb1dd47fb5c819bbef7f8e56871a977b43890def1e2f23c5e9be6f1da2d749d3117c72fde7d7e3858375ee838632e74c83363b00be93a63307d9ec72fc7ebaebb7278c27ebd939d9665ae33a65d7e37e87ebdb35e2bbfae6d606fb4caef019aae33e6d2618fee7aad3c5f0f90ba6e3ae4f912ddaf201d36edd7793ef72bbf7428774bd35ae779d7ca3478b251eba191072d12ee7bae24d22f07d7f39f1c92b07f4ebfa49e77e0f6f139a64830eef3ce2709ebb069e3106b1ae843fa3fc7d9f5f8dda07b0b5f7f01d122edda5b0c5d84eb212d0290fed674cf03e4def48e9ef9dde8d161d3963f38587b7b4f968f1f0658bf54444401e9b0690385246cfcf279e9101c027df4cf8f0ef1cf31bef69f1c67cce7e0b51cf2786df9ee407bd33b3e1caca66e6ee97a37bd2ddf87f72068da3209b61de8f8cf303e948948d8da81b2128cff5b060186fe715622d243ffe9097dbef31f1857ba86a1232d521ad2210576d8dd47f378ed7b4d873c5edbf52ec9a5c3a62dcbddd3f31ab427b3ce93ebdec9618ddd1dcc2109bbbb118d568e7bfb923c2d412d0472b38e3f1cf18b0d5f6cd8dfeb77c3b5bfb37228f7e765b943704b2d87afad1d6b99c338a31b3f8c5922158d3046d388461867affd8afddd31169d867552f7aecb125ca2fb46065f6c00b3a700f233c860518e65cce38523832f367cd9f33e70c0280bc001700c02a0a3cc0340f788a234f4bf07d1611c03dd63e87f781d4f4088340cc3d030edfaf54086348c3b0c6b25a56b18a741d0af87693a04fd0a0b219f3e9fbebb7fd61fcaf9f38381f0eb2bfd5a3345d9fe4d2b0d3d6b26edf243af419fa34ccb710fe528bb79a9eef9af2968ce1043420c3c38a129a384d31999cde20a1b243fdcb8c043c30d3eb000a912ad94d9150b7bdb71763583dd37c9e86157eb780222cf1d88d43da2c0409897576a9269a5eed4be9b8ff7790346d96715050c1054a49c9c64dbb55baa256bbb92fcb669a767b1582c0d8e408bec3f6dbddc9dcbb87e5ea97ed2d75fade4dda35792a75a897e627c79257c8decd44c5433d94ba9996a30d973e0ad0b3e4cd1420aa49c9c6451262d8f2cca8c66f461a4e2914559ace20637403489e1862a51c8aaacc37456fa7a7a7bb96926f9a9eda7ae4c9289b6928a163199521e65d4caaa39b52d5d240ae56c6bc714693ebe7b18db91723966d9bd5ea97bd59458a7da59f7fedd078e769f37e0fccfbc94af5792aff5f29b567afda57568a9fde740fa4733d5d0da5d53bb8fd6cee5ee3d99f52f7b9a290a0c04eedd95b8ed4cae73dfb4528f142dd2de7379a999a22895408b3acd1445a9fbd44cd2891669efb4d494678aa2342f3593f7a947a045da99be475a84bf63b4359e6b5293da6b502e47594f8e329c43ac9d274b29b448fb4e06335314254ec6697f039ed3ee0307bc3d98a24420caecefa38cd33deca32c9452b676568eb22f4799d725e978ba07226556168934bd43cee8bc51745d0493a8f67da462b6ef6dd8c4b46dcc716f2dfed2dcb5bb5efc3ca8dec6bd8b5301ad87daef97e33e86f41f4b874d5197b53e73c8b4670e9914d0d24c4cad9f10e701bec779802f076565fa99bbdbbc3d66eead1c655f9de772c8b443ed5b0e9bf6fd92ead5aebd0bf29903da5b6d5a7baf86e1d85687ef6625d24524908aaa2dbb59e794734fbd347148ab77d0cb1b4c7b6e4b755e9a5b4a39e7294aa5b17af755d37b7a359eb40b387f6fe997242dad9f9f0342bbe7695575a2bd5e1d08931abf6811a53180f6f7e64844eb94407491484795d3ee64b69bee8e7a32cf2df7154d769c59d164cfd87136a7cdeeae172f074eab7914ab1c71da71eb70c2cd3c8a555638b3593a9c90338f60f2724badc309393b124530564a765867562b58099959d5508b345962779c3529410c527b3639326b52048b2e1285d8296e20630ca5921d432925a3628c5634a689514ed9918b2d90728c28d26412437cb5863b2ecfd90e250d7b7e32d974f8d2f44d33d3a65c1de257f8d2a6685214e9ce68d1fca5bc6a98eda9644f0c6a557bde34b32a8a146569ac3439da9499b572ba4a281290137a64431f9aa2bf29523e2da58603f957c365429180bcf88f97ee31a4af12dde3c55fe8cb842ab94af6fc4d43919800702af5e2f415bc431fd237cd0b4d5f9589b5925303932c1be982f8055a4d6a4fcbe4de998cb2bfa2366557aa5de550a4174e956a161526cb8b5a75a9ec8b9ae6867955ab5b155e6dca6c3b695328d28482a509342fa8b04536afcd28124d6205164e6c408115d98422c2441d3975c0c8e6352a8a24e30817cad4812a4236af85a148d2873948a2de1c71aa355024262985224da148b39a8522bd3e5f9d2812ebc5e76b144bf7f8340df3497dba87a769152d9af3550945d29aa6d19faf4cb4ee31a4a9d50bdde3a5a91c5a34c3c87a6f9a3d4f6548a7ec79cae4ea7b1fabb503fe25c5933d41d190f1bcc7e5f303f4e2434ae8ab4510cc85d031f83cad81224549d98ba1e73f418132a23f41e1792a459100a07f5028231906fa461932ca9035ca908ff100f2f344d927ca9087915d5186bcce3d51867cce3f5186fc335094213f945f5186fc8bdc22ca9077917194212f94b528431e96b728433e287351867c8bdc4519f2afec4519f2403928ca90ffc9b02843de270b4519f2aeec22ca90efc92fa20c799e3c1465c8ef645694210fe62fca906fe5569421cfca609421ffe59d2843decb3c5186c44eb0266e0271c1944e4a29a594078d2d4fa9e469a205090f1a60341d366ded37ac1e47a98b455bd9e70a6ce5f05bb668fc5a2d564b7f39e2cdc6fdb479c9ee5a3fa3dd75ead4d993b2d07942544260513defddbbc7831b681bec9cf53d3e3600a37944c15fb0de5a2b7da5976a0cc6ba4ecbdaddac6cf74e8b8d3fd6bb8db2e6c77d38688e5aaebb6e568e33663d2dcfcdeab067f3770dd461d3066f7348e412723dfcae75d7aa437bd62345f2e9f1b902b5f7bc9eb2be24096a556b69f7adab5d570f4d02e69aeb969f0dfb4e30012343171314110395253ac0a0821798b8d08292212ab430044809b04872c5821a244f1c09b3021252588c08a1020f293c298202222e0c112225444890a82c82bc815a03c4cc93981f2cf09145a240c40aea44c9a2091d18b038724594102ba29ce6c491d3260e1a3864de24e166cb55952aa6508183550aa688a10d0b6c82105913c4871473d458bd208a344d44f1058a293457b63354ccec50e6c9133354c1e0049226a088b800ea07992bc65c899182093361c62c9104182e5fae284125891d5af084053350c18004122f40887401f263ea0a2e575ba4d06226cb982392c0c2c5882b4550b9b28395275566c01386052051c01391043cfde8e00a0eae3690020166688c414ae288cb01aecca062801d0af044c60c4630688084003f88c4f8f163005708e02a03298accc4c60420090070c1e00a1115183be8277986c33084e4850f222e7cfc10ba02761524450b33af314049fc70f1b9e2a2d2b303cf939d1940185a48582810f950f8e15dd15d616ecd860637a12d71a9ac966a85825426f817e8a2c183763076a2193c34b4118ddfa88a13942823a32b375d7c0018ab382dd92d769c6521b5bb560f1f52c342903d644cf3347e3aa6c6b4a8d5248b5f928e1af3842923d0615bb1ad2d194a29e50de5add438e23c63b706a3ad526beb446deb82cc5a7b5ff5674ce32a4cb8d85b6bb520b7ce53b5d6f5b2955eb1d968adad96ceb2a082b34168a5b5ceea9c60db1564d6569a05982ca676f82d8d3e232780456c3bcee884a173c304ab09d716b163a4d2a16284ce0d1f0e46b41411677f3b7a59811310aaff7a81200c06827dbd12fd7c04a2ec0988d540a88eb4e8843a2516d9d2405a1f7ff195f238ca1ba576b25dde8b523eca191da7fdaa9bee019fa2d0185f672cce279d0db9e32fd6f0dd9e79c0a728d51e46f5a6415a74ffa245d703b931d1a553a6d0d12de00ef81445f6546d679efe6ab229cac992bf525a0d9378ca6b27d62018f753a48a42e7105d17c1c9029fa24c3c0f30ff1425cad32629677491c887d38e3314c26c03ec3843a1c98e5f520d70e654b54121ed75d6e34e4eb9bf0674535ebed36477bf248ce59703acd49349f6d69b59ce1ce23de7192082bd7de6507ea08302239050c29e9f71d791b33bd8f7f752dbf326687beae89a315a8f78d5b0f95d739db1262a2d1045e99e07bd1d8244de8ca51081e806053b8481d3039215a4904570a7d600c3583d8d9814a4299bef20ca225be319d34198ecaa5f3326e58e33faa3d3003877a45af2a4fb4c9075769631c658f55195314a29639c720319a3945a969b045a3bcd045a078b1bd3699b40ebd4893106de527fe07e09ef0f2c813bc6181a487da3621d630cd43e1c24b055e260da75fb6ecc7f0f98369a76ddf1f3a07a9e36f77df77957d229af8e31868c72dba053d719a354e0788089f4b41deab228f8d23eac38e8f1ed77a31eebd0be5ecb97be5eee2d47194502e577efe7801b567b554f3a05ca8778aa201f3fbf3a63b3e6b88966d1fc8ccd532e60a49375ef9d77becad35b3ae7ac543b89baccc8cae964b6a0a354bbb6d21949007ab5ce1ea47c413a817382d8a1b7e71c285b5ecf3927adb3395373e65cc3a649153d4841e505225c2082c39169a99d37c6e881b0aa35586fef15903351ec39848b1748b122449617cce02487c4d0c6c86c8e8f20b22291c6a905e604284ee830356323c68d4c4804b41d6772dec85941122b3fa8a8018a0ac4f0102586c70a0bb75e21803c252983821624748264c9028a26670545e4d0b07976cc52a70b131b43540a5544686a014d0f533f8e38f98204941c20f96a8b0b2528e30236648a00891315670ab0de4833142282c48122ce12bbdb91aa0914110917a9b1e23a244e95191c30715200431c2131c0a1536467c7199c3570b62840ca83458e37a9d969a37c5ce11255274c0c534f427c5b8a50d0f5726d2548cc80450d74bea091d91f707490707618e2dad1ca145535860d6b29f0e846675011a74c0d56c071010a1f5749aaa68435895eb8c2a2082a16bc28610405322dd80a6705cd090a163632f060830fe9f46688149c28edc9e7aa5e6badb5b75ea01d676fc8d029820266d0a2c49b5d77d4f245497db3b90122eabed1c2b9b122244e9d99e28a2d3af8a0e64d1d16aa962f4a9eecb559ea38d19abde121c99b17de0c91718358a3830f308841b4410660703042de24ccd874edf895408be62307324a6a301f87c4180fab949a31ef5887b5048a2435cdfdeab0b5e910fa2979901acca3f90f46c8808db3cb9825cbeb59590611634ca12944e44172207f881acccfef504ab97628a7b47628957c9b4a8c3157b0e79423a0acd255df74f8a2a7b169186da3abc3d86f358db31dd6989fd4aa7491886e98c61aa333313257e235554407586806520d5a343fa594f2bb51651f08f6fdfcfc6e785b46590d8a448214128be6e76b05ec027882970a9e43ec873d1f1ac92a7b9e7e32ca09384f0245fa6291fdfc08f3288cb18179144a60df63b0ad8b1dd3f86c8bb38d45f632cb18b3df2108f00e4970a3864d3bc618565259ac3608f16165c718ab8f1f7db672de6c2b9554776e5a3a3c8fe2719551181a916acb3893e06b7b97650395f0c278a96eadbb963df0da9ae6b192825efc955ffc27cb4d631ebdb87dcf7b5cc0ee427ac7f8308c25c618046fc419c353fafc489ca375a0e3d79652fee81b2d208def83e559186316861de39e4b98770cebc12e5c681ec6def62505fde7c54f7e9dc63c7a691bf4f3f3f313e40505d12f29e8f57abd7bddf0b98f76a016af63ed75acbdb696c347c7190b0a0a6a7941415eabd56ab55ad36b710c025dcb1b50beb169d96addd074b46811141494bdf3844d5376f7f993e3a6ac2f367c81b2bde97d3ed91ed05b392461b7fe9343b97fdee5d864d6bee5f0a569f74633b65dcbade3fc0374ef35263894232ddabee5b8af19db80807e72dc2d2f6cdade972388ed3d83fcc7726c6808068c0844d91f02d187748f283a7ea21f86666a92d59811caf6aecd2fe9c26020e8ff21e4131d8643bbbcdcae1de37719e41e43a78f65fa1e30ce1445298353cd24806770a6a2c74e9461f2448fb26798d4bfee210b01c6af7b541d4549001f3ad53d8a0e2384a113e91e02f890c672fbc5b4a8bbce5d05bc2361d27531cdd424638a221ffb9f41fe6556cae0d74c4db20c3c00801d8b40226517c1c292ed5d838100e3431721ff878940f45f497f483345c1d73a5225a25f33491951d4f1147b06c75acb25cc87726b20c0f82f423ed16b4c4c914e04fb8bfe13692601fc1af378d12f8777188e3d1f3f980e003c6ea5001c83e70c2347eaf3a69ec2b82bd5eb2bd1e77b9985314ec2a13cd06bd01b2ced07fbfcb4b0ec3ea02fe97b27bd087aef22c8f3f825cd90c7bf5f127e87b304b5256a975eec1057263b4e249c65bfee7ad7731af3a815f4570e7a2bcb1df4e3048625ec25ba77b8fe7a88b78bbb6871a18775c31ee7d18bc33ebf1cafbbe4039998a8e4ca18aa232dcc184345800000a000f315002028140c098582b1348d235d1f14000c80a84a5648968a22390e83200c82180640008e4400000018638c310829853a00a78ec8ee96ccea42cc724d64bb4e64bb4164b991b2bb9259dd90c6724f06db3591ed0a91e542ccee4acaea4266b94d64bb2765bb2164b990d9dd13595d0859ee49d9ee0960bb208ce54266774964754566b92664bb27b2dd21b2dc90d95d2b67e5d6f35043ce06ddcf0ed9cf02e1cf82ee6743e8010bca0f76482f3b642f0b84370bb22f1ba29f05c5cb0eedcb0eedc902e16741ef6543f46441f9b2437bc00ee9190b849f05b1970da99f05e1c90eed6587eebd80ae6dce7136795c94455f994d5b954d47cda2a564a75566a5538d455f3d366d75360d258b869a9dae9a954691455fc9a65fc9a643cda25165a757b2d252b2682bb369abb269a8597414b0d357c74a4fc9a259c9a6afc8a6a166d152b2d355b3d229b3682bd9b4abd974587ddda71f38f749f35aa46e8a1cfdd67a49f173f33bdad800a6a64ab048cb164b9df5b1077b3966ace2d5599f77d9e5b16cb154591fdbeca5b8ac62eaacafb7ecf2b86c712a591f7bf6f258563195acefbbecf218b0c5a88cf5b1672f896515abcefabcc92e8f658ba7cafab2672fc5651557657dbe6597c6668b51cbfad8b397c5b28aab89f5fd0e76d958b618f5ac8f2d7b692cab3875d6f77d76692c5b3c75d6872d7b3926ab983aebeb2dbb3c2e5b8c4ad6c72eeca578b18aa9bd7cbce9f9355b9865cd725dcae6f2cdcac4cc6e2965e7fc66c984cdb27eb9ab7e6e3bec5f073e0b5c207e4d9c51b8f24ec7481b73ff4eb14dfe486c96a95b9d6211d77521e47136ead4ff959e47ba83d05884ff320832b38e278f459c84bd2f5ce6be4f2753aceac269904c7316b508b1409f42439c01fc7b2c3022bce374fe550adaffa3621a0122e9cde21fa41572353b28c9ad6831cf453031a69020c4561ca3400a4cce0c4f562453bc0e1b1f0af3c5477000610f92672ca2cc18b3a8443cb466d95511d4cc886a95afee3074a668e421a5b4b6f099e1bfcac36a1495e92b82b3aa13b81f090789979965ab51890bbd8083e7398507101763cb70868018f412e738cad0fb536aa23f75e09fe18dbeb4db65e222abf614bd9b06e18d8beb0e8c37677bdaa3e91101e806538624cb3f349ba81a0035a1b139017d00635eca367cf6fb948218b5efea921888857ab4762b554891f178b8faefb60af77fd4fee4e6597ff7cd612598372b4b44ef6defd5ea58154c9dc73d2ac6e71bf2c3666f7b47b4ddd566b57ed100b332b2dc0d31268f8d6ff524823b7b2636428b80a2e8bed368fa2788ab9ff408cdb39c41ded4259ac452f1f8999b461c46c655bef5605cd956c4ad809b900015c84f2fb0e539ad105f0449cb372a74eae8ca902a522b47082843bba0e9ed0835c4c63cfda52f3a5610bebd212dfb309e6a8c0a7f08990084e0e6c8d4bfd8a3c44b9b02f64f305e30d138f8743440935d9a352492a68393105c8e5e4830d01f6781e463cb5296403c14ca4526eb8802582dfd74a4117a50107d70284f5f6509a60b9663cd7a42524d2d406206368ffd17f17a69c5f23e8b7817138731fdbb05bd3cfdad6b91433c3106ecbef664968127f3fd42fc553975980921c3e9761f4a434fcc0f08742ac7908b4786baf99c502c54f49ad89de592358a12378948c8d5c6efc3d6b265d3aa41a79cdfa4283eb245c31f6a4e9b1dc827834b0c1ccc7c9dfac7d1f227e7f4c3228be0689feb24382d805e2d74119ca8821df960e9f7e689ae39a93c0b679bf201a964820fc583e3dc83171b41b2521cb00b59ac981f4873c1f3352fd9200ea8ac8fd9fd8dc515d09b680669acffae41448ebe2419e1984c4310d210b79e33e3823240594f40e5ec0ed3fd8bc725cc6fac6387c40983df501825799b2cb32482927c2a71c78b267f0b46bca171d7e598b0c72611b9947ea5eda4df1fb5f385e6a6de26338888320ca679cd974a7da101e0a90c374c1c34c9774942bd6a87c8cf760d9b5c35d1f9e4a3e399c2d5d1b9e552b7852e10fa7a06e31712ca877d505804ee73336e56069187b288100a83fb243bc4eee75a9b249ffa99661376a5fa56c17ca1ad27db2d1e6018f6f4dffa81a37605ab5999af3a81ace2515c7514e7d25381f6313d0c0d1be94cad50059ecb99d90e766d2a0513f37c064394e1fd2b9e9201640554b0695882f52a92073b03124b0d4e133e5e270b293354b1151bd69e42e19021ed7b9544f939a0066764779a83d59fa6da3e0e26e09069ef565166c6a27c30cd6f9167306b5736b9a76ab54071b4862c593a5e4a8496963d139ecca028a3374e4a99d974f3ddf1581eca4fb8c524b17cb2b85f8f9a379629eb9e1d59335015ba2ad4fa0829da56f05194311e46f63d7a3bd1c377608a93cbdcf66a78118513c0d5dd3d884086a081582194eac5d232e357c323b6cd1c0ae4bf57dec9c58039c57000ab64de06a0f32ac6b50894030a796f39704ad7ce32fe20b2898efa273ad527fee4542677ff499dffe3904e74aa79106273ae8b6a649bbb19545cb99fcbc291d54008ec811bc012fcd8fecc73f6f34ed78ba268383a8cfd08d61a37afb3c28c5c15c2b0cb7babc3108361c52e537e40573f2743a536e5e47a45995c2b53b17d1ea21b6b987746fb727850a5c5ef4363741535976e775d9fd5d190ac8259e2690aa1ef092ea23a7da82e4eb7381e7046257c9957ea2a53f334cdac9ec7cb5acd81ef3b161aed79b503170c53404a6d7f0e01a12fdaf9bd337a991a7c0d0ffd9e7a190262486fcfb13f4a82af31f69c6686e700a21f663f0c65b038d8e2b48abf0cb85372df68ae6d7f1e6350abe8afec6606737633ee9f0b8e7ca955103b51b2d18f871b3637a1334bcb4c357b3fece57850b074af8bee745f3a74e85e812d845a6bc326277f00dee2d376997d8dfd9021b4c6896bb62d568facef9f288c8a6565928658da0c3a409d79a548eeeeffd08ce6daa386c27995c33f3c1f6ed1738d76f316c26f700321f854407fd5aa0525013735762b0cd9aff9fd9ae6215f7e2ee69099e3d9357423b0924a37784884b3d8b44410d643ff78652d0987eb6c9165809554727ddd8fc887ea4605b75d09153e1c54222fb21a063c5dbb70972851b029a5592b8680e3fd1f2c6489791850ac9cdb25c37635725d2b16d06e18be5e9484d2efeb51b8ccfe140cb3dec224c5c73f741da8c413c92a432f1b8dc7708884c88c11303c2217f99d2381d9eaad75e4bb6298cefba0caf746044ef21b0bf781548d299c676613d30de44850a44e8808fb37dcd4280144e16667961bbe4d4a836cdcf0445bee424f62f832b0ca4e3ad094aca8d43c85b1c7405a5d209672b98893fe4268e0211ff1366b4bd58203423877d42f43d35d29964b369880287489bf635187348898f60aad083c2932566adcea21b90829c966a8c94ea34bff68ff1fb006d800683344dd68a0da087afd775fd449953da5c529095be156f8ab4af1daa3f6b5d7410112909fa8f6d606d08dde8f581114db9d9420c12dacf07a3ddd232874460f01dce52744efb7058d099b190d4cdde221f38c8100833a048fad684192d9173535853102a439aa7fd3ab93cce8b0d23398c52db58da2d34f419792b3d7ccfc17e7fa2a6ba1205465ae5fd380723750106514f3ba15bc7cabb73144eb14c2bcdfb31414446bf5c5f3d5d28e69653c2d4eb49f3d9284ccf9bcf0eb342c34c7174b687089b468844ef2f6b4213685e68f3add61c415a946a50c221bf276812929e856a96c88aef3f4725bc0c509d60eca200856e0801d00cd226e28bd10ddb5f8a11a40c0de1b23395c4c12d9683fdac7fa44115313f77403c042a6c8dc2388500a0d93c89bd00ee5ea238bc0a853eb5a3ff31dae0bd05ee78d0a6d2de50004245b46afa59dca9c24a21d37206a8c4e5e342a2c8bab63588e8e6080592445093154d8d877296177861210bf2281bc2df79bbd664781385cfe0f942128507892d531c08d1547806b42ac0b7501f2931ac2dc53126fb18cf854fdfc0f748b84f15b40fc8494e43b4f04e1bb161403d396b0edcee728c34d91f677d3e6e6195ad78263db7f6e1413c248f7b4e2a18853be57927e5aa45402e9b079445784873c3c9f98850477e386c5051b73db2e339b94baee9d9c08c4218d07eb521cede83b8b6d8591e5913491b73815531e6d802bdac2f549718197b7cf8e3f6f4da2233a019fd359f65fc73df6a57062342834224e3370e0a1148104219f2b8b79efda37beb9e3c5a3dc5463af012546d67d5ee949b9504d56353ef7aa64b65427e0e58fa06f488ec4c68ae57e7801afce7ec457d99bd4d78a7a8482d8aa9e349fe1d9fdfc2009cbd416a869c5151689901df947101c0142402fd941e80fc6a4dee06fa9a613a7b3c8fef63a14a039ad4415bb672ad03d42ff4c6ae7e889f260ebbd031f80cae494ac081138f1899da0b182f81e629ae803f43ee66d5198a32dd20f5d511be52d779db450543190f913b08e99026306041ef5edbc4d84b6ab7e15418a74f4735d3fe561d44bfdbbf7a8ecf072910ff2a2fd22bf8af65f9bedf7e054c59f59f4c38c12f01b54d2373bcf8df9ef49d52329aec859ae1f59b64caa108e07d1c2f7ed13980329c7d2a25d1906ab3960c3c163c8e4d6ace42308bc38b442a18726427966d842fb526415ab76766c68b005f43ad42346d7024acc4aa5af7bfaa23ff9d7b1b5cf5f4c6f9300d579cdf6bcb8ad82d53345f9bdab23f0fd7bb71ebc458ad0dee3c5870a89f092d7af800189a58e8b3cd426ef6c756509cae9a0d7dc31e40cbe389f188357819d285ffdf1ef5b9860c1420d94c00a616a1d1488134e709665d43f7e2d645d83b82834dc2fe5b8fc7f0ff29460f435c8336604adab546ceb65920052209b842ccc45cc62646c05c2e8cc02602e5a1c35bdedf1516e66289bb25dadc72a01e282930c206fbd9757d9d68f9aa0bc0ef9f6ae960c714897a5918bc0abb6d3f1c3df48003ab27eece0bfcab9e954e0b6b0ece6c7493957ac8a54865343cb36e16bae6fd3dbc48d1d865d70aeed3f0fc835dddc44f57f8c9e68ed42966a88c07fad53e80c2693902f5d40eaf3673e65b8ff3a37d40de4a9f2b4afc0d79c8acba16765c95e3b27f5a32d2b87f18e6db16adb56f58d9df2f3ed3fd8f59e557cfacd735b8c7dc58ac8f12bcc421bb007347e48388548b1a93533e0ff2ac2518ef76e7b8f3bd3a375a2233d019727e0f1952f97dcfe13ebe652b907e0e438a5fa7414d28e7d85828b39dbe700ec032b59a11000753a506cfc06830c1213c38b23fb69f49d47a0c5df470214fc0c7bcbf9091680ea91501d3e857f90e606a93298abdd36c993f1e12fc6bd38747db238efeb09b4aeae0d409d20344dceed7a46e2cec2b2101fe8bbb4c308de05407a7c332f9b44251f75d0e8f82ddf25955cf6250ee8b9c36e1824e31131204f6d56c7323ad59faa48ea7c997e838a3ad294aee72740c50f4c8c5a45bd6d633cb2451169b56ac85c3c0e601f95e96e6b55073a7eb622419ae0e7b8733e857af9cdc4662995745fe44bcf15d16039c8867e7da55a100aad86e6f6017a9664720628ce45d987cdbff5a35e04e32d4fd8dbc4b443acd9d9ec154446cebc722f33087b38fba274d52fcbb6e199882781e11e71f64ce01ee9661f4027a03bd2cee24745de074a665ab7a766fd57d9ea0debcc0cb90dde376d45c5ef40616c177c9c025012b4d5884fb31b645dc4f19c35d374452a131dde7ccf860641ac2c47e87c38e239da12bc4c9428ccf917cdf742eb0562cd4fba6db1432409ff91512431ba381bbe13fc3ef03116c1fc616a3ddc8383551800db211849240499d2b44e1ea8c2c4e88dbdea576c1d956ea8dc6b1a59622350b9df4d97c5032ef21e71da8be6c25473499b4acc86bd94b362c3dae5cf0c5a9ed68a6302daaa18445737d0d0fd5f199afc6b37b5ce83401bcb1116d51e15c73db4411c8d897b40c533b765a0df9d9f6864bb3d4d3607a9fced51888366008f1b7c90a9d0c70c3055bd7408f8e7601a2b854fa384ff48448a01215a6d29eb021696ca46f832b03964d984b9a28f411c85c3220336ce52d03b91ba0d08b182c6513d5cfdf6c87b105550ef3d58b8cfd87f57e996b6870968d55d77f1a62c5ae3041cb518322a7daa437fd15ee067599f952deb250f48b703a368885130fc3d60d08ecce272692a1361b833df268b593a83b46126eb0ebd54ec6f8d7c5fe020460af33cee9a962292ce3dd25d8b161cdfbc481636b89b646b22234dfb8526a873978f30586ce029cf040bf0041186a782312b0be50ecf44068e2a6b6842b924759878795266f06e38eb66eaa4e0c829fb74e5ca561651b42c59113573e6c5ac36b63c36bfd5f06822d5861b5988202a808680d0e4f7b165c5b53dc46983fe040e848182f9f9aecf0dd0a3e9174c14f22e8ed167fee865c22c2a3741a950cd2ba41ab9d059c8c6207dbfebf7d43f30de3b2cfd3d69540407ada47f0ca737790a60b9ca2fc5fc2354b63db489bc3ef3480ac5a6c4650d5c544f88d9d21c05ce8a9d4a8f580e30e1b25f54562d66da65a768de7ce34b00edd22a7fa3f599ba188999ade0433c18fca41cd1f0f1dc82287d48e7237388818d5bdfa3ace3c03f1e6c36cd83a1669ae5d8038daae66e1a68fb27c9042de0b63551182344eb5042fe03c1b1538c96b7630e8e9720a5c8be74b15fe948a85f95f016d437a9f795fc608f9bfa628fdbcd7e87f949ff051bda9aaa95e40a1a784e155257dd870a82a6347771096e6020776efa22e7e5c594996ee02dc3590ee80a8fe4b745dc1859e972de91df08c9cb25772c6447c37f6165ae25a32ac6cd060e7d766d56dc03d7001a69fb719bf7f7600b7e39c051950c518b958b2fbb09b639f3febee3d7f1c399a93ce36aa3001598e422d5c3666583b00a025f744e3cd1dd9f22ca0ed67ae00562b3b58b35192ff38c8001bca07e11ad956b654ff76da7db15aa4400d990158f50266129758642508b934613228bfbad8aa79497b9828c5743c3cbd39cdd82d7b2a61a0156c4dbe53febc1001501ff926c65b8b61986ee39441e263a91cc06ae4a43368560ef86e82cbd5b989092c1cd00dff611a56da9fb7cf11ca44b5b9eeb6c1fc1ad1ccef2f6f49d853a0f07c6aa5d016a2b4009c465baa05fc43dfc58498884211a412d7c24aa77ea0d87862fea0ae70c5f5402d881ea470bd3ac50d501e874b0c434e11707824b60d2e5cf793a8e05defed6daa0566890ac676101b53444f94d3cd5db2868b8d857904e624115ae72b606ea4c4b738ea95424474367853e1dc4abcc1383fc79882993fdafd145e22a8bb8b982ea8199f298e05f15dd145c7a8f2b92415d9c78254428c1c2a95d3b5f09d7f7d24ed58d47c27f2c35c79b12835730a4d898e0e47b81bddd6d70d8a4a3d25a6a9f956c4adc929096bccaea18e882d12b3a3eaee4c75842be311a1f8cf467d5a144c8df1c9e6953958d0460ba531aabe0a2463071991facbe3e5402720ebb3ec518ed327f2110e25a9dee144f08ce683d98b0cfaa0a4b98f0068751507599bb096913d8b238208603229cc2d724fdf1db6c9d7d56d2dba7805010278bec15e83d5aea66d604326b6a3d078c5b502bee673a752ce2173279e3fe4aac1b4ffc6cf5ea3643c8beabfb38dd610c5b4c56560dc0b19f55ea6d3b8e720aa2b7b71f8bb41293172b9cfd0cf6ccd588afd1751731497f029859839c5331661984114cbe06de4af27c3e14698bf7ceba7032346cc82f5fc63f87f595c4023a6f7103e71df5d6851fb0525beb2a117381c7e895ea7f85cc9f3184da0f7a87d52aaa941c6ea894c2f014340100e6d35fa2507d7333bd41e3851378a258d76ff41165b60dc8c19a21d21b869c4d8d2c72556dd4e6889c3b26876c09c7a9a18f38947a08cef275419cac8d16390644d982caa14ecd533c94f590a54232b54610042c3b11b21aab3668d5281d090ba2f5fb5bba736c244ba85140569c987d7e54029cdd0c8d4aa0871e7fab9299f123a8f8ec22c407ad6bad5f8f34387086a05c3995e436ab85006844a76293cc837b6000e72ad6cca0871a8e0b6116184d1b820a8e1a53e00a78e7626faf2155da99ce3ca30ff0987cfa8470f8e1ca48b60ea0810df5b6130bea98e1136e94c7299aa4736fd87882c66a332b13d8e8fa7fbb22908478628f0d1ff3c170c90314da900cfa8e07fb34deb551879bdc47827f0f87ea07484dc06a45ae5b28d5492dfbec79b92e15b86e9f191958f45eddfe0279c0a95f230e845def0039660a3c16c84723002fc0e86fcc40c4198b29b25d3f7d565a8fed11092bdf44b54352c0d952fcd897d1652af9c98c43ab7c825f56b3596585ca492feb2a5e034198fc40dc171c6770e5774516b97eac8e0d027e9a1235d3513d882cc567e6541b929402043c1ec7e8cfb2122be065e0320d7542b24e0dc28bcea1e6ac345e94ce085f783f9ce5118249a8456658a256fb9cf1662dec2c13e8c57fba72155c3239f7632d4363c5d90225d683b12a37619745dd71e855dad31a428a6e7d389c5e1828c5f8bc1e2a9fdc377ebeb41aad9fd70cc66c18d8b51811c24649825bc0aac02575060bc794aeb00c4145876da31973acd718ef166c04465bcb6adc5aa05f7dc6b8802592b91b8087f5cd195234afb6386e479a94bb6552cfb2fb23e04b5b2a9568f3ecc3b8fcb5464ec4630f832d8f86f1fbb1431a45475cbaa19d5a6d99572fe494bc791d5e1b867506c14ecc7ac0a6f8c62f67776ba5326b954a811149eddf95aaefbfe16967e6bd40ec3b19f6de4da1d6de9bc368cc808580001544e89d9ea6597695339c6601d0168d5f66514988547e3904b98d528dca090af275dc95b55528c22c0ada1022c50f9ea89102af3328d08de248187c62ffa94449632199946f1e67ec5d4a848dd4287087e09069f021879d3f16322977559f4cae365a5e789d910efc74ecd2790a51f9134df19f531f68b529ac58562d9ef41241d9944c93dff1a453846fe04ae037c0a2aa1db054a2add04c631825ea061995b7491d9eac8ab502538045927b6865d27d5e9c41f594d21995b99a66e728aada4276a506d8961ae2b2051aff922593bde8ba610bc9c2036b75c2424642f74a47e74c0791a87dcf1bef7872c4b7fa28a0083a811bb95a57aaaa83b25b3a3d952e7acea2c62465b73d17ddcae170641ab5f237c0d5343b7973a53009990bf02576501ef67c035b41e0236b2f3cb46c3be77bfd565082f8dcc36421906d8e443cf033281e4127aebad27bd9ebd1f93aed1423cb35144b16388d86cbbf54283c3bb4d91f3f8121282a2c26d209fc4473995b8f58c2060ee34b7ba0ae8256c5631693a355d468c3e0eb4c9b61b1eeb988a32b798d0348a4365bd1f6260d4823dcbf8d8f6744fb5a91b2dd43d52f0e6d2894dd22f50f0c0138ca67220dd3c21034e56d1efa8fb15cd30e313f73af1b346b51b4ae17a89841a362186ab9a31396086f87d3178b5b7e9bf83c88bd11c0fd2d884a92f9e74769bb6af989f329f6fae453caa9d7a0e37948e7d9cd629c2258dcb9f67f48a384e115110ff08a8707cf84a91b74defa13f1fa8f2fb2a8668905f42fdb904792cc2df4c032cc1a58c6c165dd370938d3e9c79da065d501c831b5d3cc838e0b0859f81d37f8b9268fab279469f097e8d39070e87ccac711efc64ff8940fe1136c604b0e554b60cdc32ee1b23d81317512873baca1b05da368c21a03a76b609e263632a664bbd636e0b581b0f94da878ea726cc9a2f2fa0d02a882dcca01fcd6e676061c77528afe95f8a5888285956ea7031a20dd50a86b5572a29111576b04b3ee7d905b89af8ca33733a0d7cc0f6167046ac4bcd02d0f56604891feb4dc519e06f29c44ceb148a275e5dba726a9077d9c0cf536b7fe58d5100551956fe6ddce474be437e2b82f48803d043a2466e20c459537f092bec50103862e8270071d81498890c4af223351172c3d9c911e1e4c9ff072a87b220c654a93a04e49fbb800dc6f1d9dcb490450c63fdfb814d4fc60d05de5dc250758b24aa3f2725050642122674b2266e74d54c509ef2adbd6609460a4dbf134a83283958f1464004d8d74dcc31b69ee09918a7b651a0b9febff7e8c1300276306c9d7496c6c51f94f22b41a16280c44f0cf79f8002b58ccbeaedf699face073a48ba5a5836ecfa3ebb2408c3921bf98c9882141c9deb872e9a33e3f48d03d002e2d3884ea37ece7c6a2ae1103fd0ae426be3b01b512f1014b066b2a9954b050f320b0d7126d0d07ed4e10b24f9b412e8d0727f000aee94ed0c2751a05d14c21592372091cc4f365a41fffc937ac0fd17cf35b5bc91503ada64369a9cf5e4a4041ef7b54d5740867f917a4331ba9e09fa49d22aad8d459f5d4dc5ef6f65d9f8258cd9de9b7580948b5e4add9c128f515296eecbf7164882b11440696f6f6b967c4f4d10f724c8e0d33e7a9fda555aaa9fb9626899f14b53a1e686fd909d535e065a7506510b6d39f6f34b7110b21e30e0c394cb1bbebf36c6aa78ce92d24c7de276969a55d2525fbabac85b42a3fde5356edb2bc3fdd58b56938ffa2d9e21391d587fc027193822bc8c4826ab63255872968d57fb83ff3acfb19af30fc04ec3f21665092229466f91bd153a11f11350626b588dfebe47a31a5b7cfa60cf629cf418585a1bd0462ebb6f54c7b3620fbbd2d4a4a9837854a361def98b12bac062af154db04bd6fbd74c1c4217408a5873709c5b6ae54b44e5c1ff31d112411db45c583873fa77d97cc91a772966e935026125e04010b095f44cc8c0300e4316fb479c3780bb53437c5b2c708efaf918322800f9330a64d616a68bbbb2b9a1da7a06f708b7ad4c45ecd133fbe24df514ccad2f66718a5f2cc8005aaa1a0932cdf07e935b07e1426ca201d38ff2184fb08901c27715e8854b130dfc467e21f50eb922f7ebbb7466e8311b3dd71484d726b7f1e3b44434b6d68c66b0046788acc394c82d34976ba82f78ffd711d4cb629dce3c115510bdfd1b6bb4136bd74d62a75fa9b2777c3848681e4c4b80f0f39e63aa24fa2373a2074229c3559f6efef165d14c77d3a5ca5e94fa1d5281c8fa8e4823c9c492ca7db6cb71034508286e0a11806c350e4f205b4c75515407b9d5ef649c49b18ca0fd2391110383d177255b3f67e1654952045a3fb8616b4f1a0c4c9eff68052a6e2468d0139df13041e78d62066039134718c2bdafb12829baaec9e6bd5382d04d6fd961509e134c09cb3a89501992cefef394c4c35bad9e10a5164adf0e78284fca9511e5b1634ff400ec085036c481b8dfabfd0dedf615bd770bc191bf8d7af571fa3867e2bd44cabf0a9d34fe258e10a3a8d0bc9f09cbba6685dd7d5ad3110468e3a0b66cb2d20a37dd96fd96d612b94835437aaf6d346c212ffb819e49762b9876081c180988033402c42ba7019b9368e664054da528491b7bf5a176787497394e184e20de58f910903f92bca091d7dc2558f0dfc6456f15d6fc87d59a5e9d045acc0cc03e1971d34341398615639b4cc579032f5f2acfc6e754d97ec9cb5bfbd57d8f0352c85a5b1b0a031117f948ee31fb20bfd74ff854f40684cb2433c3f1b53842c9ae9612c83f385780b6f9552c1806d5df1c1a5624bdb33660dd6bac1813bf91aa630baa36edcaf7e52f40f8301b4cfc1b717805e1fa145289e31ba1146f7c235e54360c4c0631374185a9c0489eb7be0367ae76d9ff90bc52b2a95777a01659ca1a659c10282bb7de342630da0fc410ed97e8fd50f7d055d720a3498f4a4f553a7d16420902bbc99da518c198b5bf45a56abcc23eae64007e7bac223c6a4cb60810fa4707ec58e80ea9be0043a84e759a7c00d78b1030d704bf50ee0bcdb853bd5c572bda63df435a563b1949d99b8df02a466e81b94358fb198ae354526b6c22a42f59b4d67d94a3eb17bb7889fa4c224ca3c47ada304c12ccbe0a1785c6c1447b0f48acc6745608be75d2a33da0892d22ef7fccf71b07f8077982785009b9e33ef7d0a6e5f57b3a038f7a5d6de078b198cdfc66a7bc0987eda9db816f6b7a4dfeb5c0fbf7f1dfd27b51ca1640e4361388f2e1f4da9b84f071d7a804da4639209daa52ee183394855bbad61d06fe6bf618190b10c4ffe87cb57a1f878b9f628a33c3ca3366bc670566c7c379cd55a86b3fcd48f0aa0e900ce283a33dcac53a4caee7845a07606df1c95d06cd5fb39fb9f760898d480edab590af4eb9b05497e77574b9b7014b3b691ca4e5477d8816d7f7e8881c8400c3176e9ce28584743164c808fff1e560c2a9ae2f83de0ae27fed186b25ce2afc0a2983f8db16a198ca82726e6240cabdb242f5788fef480bc8bb0e57fcf5b6e0a55cf10fba7eb5c601d813ca9d639963791809bbbdd11ea72d75b7690013157f403deb5d1b73785fc3d4b23ba32cd3ac69f3d90e707c5432b8039985da3cf8f3abd2b8dc4bb49f31a4df54419340e87fcac080f99376f67e8b691f9f8347f7182cc9ec3f9681639f488a87daec02a8dce71cc224e5f7cee1989c612362827e0f677a9421e9df9a269339b8ef6f904d68c30a1c12cc797f92f0401823801ca612c3fcc7572eda5206849211cfbfce997822df2abe8562ed3a1261f351911a4d47cac39778de44de2c7356a325d4c9376590f8c34535e8a60b742772bf94e13c2e5c9077c24341d400ca836bdfc193ce9cd0f7c87d4f4fb8ef7191d0374641b95c03edd639ff2d11ca73150ca2fa61a7c28d7d361dcf3ffa6c2d7eb41cc762fc9c51459861fde4c22342ede0a1534484e2a637bee8f0d6c9610d3232f8a682d3fafbe333a366ac3d9bffe239325e1e999688e7cde08dc19fea1929d17c807b00159c0b0798bb2b28ab70a395a7280087d45d7e07b569609bfbfacc36bd31f5da6e5199804aa6162a677cee49013c18c60e7389ccede7952ead6dff9db029c716f97288518aae2734e3e89d900944bd741054550d52ea524747b72f25e417636a42e2a0e885e2f0608b728437b253784e927133d0240418b35d38343cf7adf36744621aa5a6593fcf516e42a73934bdcfdff607cf9cd453f8cda5d7205edc7e51d1f12fa42f5f7a8a06e5eb30b0bba383699a23034aad55d1d3e254e71baa7ad28ba8dc0524a38104f53a4aba37f5df84c5a7d6373a5bdbd28df70df83fe98ae73a05e7259b4d2ca0188534f72c36acda9fff18bb940ff362685a5ba15f98ab264796511e60eee9689bb6a659d0fd33079cb72adb0368b6cb04605c7cbf590600cb4091c90e7ec7845d9a0154f26696e934458170fc1583512e2fae6df096b243c591dfce4e9c758feb3a991800e261ccd803b11b2ea8184620d2dcc8311059b03d53c9edd1f97f8a1a81312377fb21073ba50a8642151ddf2f34db31729bff4d9fef1004c820271439fadd318abf22f5afb0da56b45a1ad026f9c542e0b81fb50acfe327a0f1e24ccd369064884cc67004520d02e74212cb70541605246c5096e6a9b5a3a688eb7a6545d33a0be69904c0580b138257fffa129b37706aa8c099d3c16df462db41641d8a60b095bbd6d51a6c0b4135ba474bc2f9ab784f96bee9f0520a6e5853274c47d2ec1333d190a2c78f843bdec7fb4c483771822c9b8701ade8905a5eb800cbcf44d2e0561c724459ca078cc2c295e905f191ac0dac96eb0dc454a1fe3eac9285ce8a3add1228858a2b869a721dec5e5228f0a93682649c2c7e808b245e0a7dd4b8b739c27c2262554c7a94ea90044b609aa3281c0240991a9fa396ae53ed9584b851628147e02e19497cae283c548ff66a6493fb4fa7d2a13b36a883ecacf8c38573cda7ef51a12db4413c6011d2c75c8c9392a95393da6d6645f4d6039fea2bcf799859f01be78a84d97b3ef2dacf9e3e2ace70fc4f4137c6926715a036027a0bc57c089a82fc0f66a9581805f952423dccca5ccb25876bf926d72b6becc63a655a2ac6735dea25690bc111a667a0b3eff71758cc79ab0238bbe53210cb421aa3e64a6e6a760d3034b07b4824b8ad048844852dd09176bcea79a8ca19e5605bba76343ce1b35321b0781b416561f846a5dd065d25b1ba26b942b6a6f697447c5daab3341150ddc3e4b402d9f546d3dae3cd2fb8de9cb5ad6249c6e6572a806d487b36c3af435981062ff8e4a1d3004df06e33fb64854415506e8d2c9ed3cf7f5dc58b6bc6e0550449530bb831adae927e7ce4ee8bdf7fd290fd2d900977f7217aa211c7d980849ccae07a4e669b34d510202a2110df606e8758b420bf094ba31bb2975de23755e0cdf0c5230df5b25e69df210c64a44548ae4b763f06df6fda736083d19458f0e346a0f83aba200f1a7c917d85b566ae0adbf6d24237fe0f76a5ed7de26133c1d263883643aff9a968318aad123287959a95346fedc0c4c9b037d84e99b14d8e4f1f2a1836545914490c1a2c362ca8882e74e956353310b98d1555e70c6846efd4a47ff3940303be7420deea5180f44aa1b8b84661c0307cba834654ebe0ab6170c2263f37418079ac41589f15b458f05c731a40d4ba5f1580d7fb540842301646be8aac7924084e58d3fc0c3fe315efa833031174741d2099add191ff04004d79ff7407e5f12b895a155461bf9c36fab404c938e13e21fe4cba553fbb2b224a1c021201a787d581c5c2840e7c67122799df51079aec0b9bc8827b6773180460b44138ab1f8c1d85d87455f082782ef85c434e60e50b2c55fc3d07a3d68fbe143158b28853d54cd1b0109f9a139316e56c2ecb337e200461633d499fb13917f79875a3c7bd8727c68e8acb0f7ae80fd7f52cda403be7b7b68f1d7a52f1424612c96101cb1f1cf2dc8d241b865ae3020d6d180a0e780c03737caf6fd43258d51cf06863ef83e2d971d6448ccdd1f0e324d9ed3002519ff2f5d6e1a09d6f8498aadbf67931ed49454fdb0d67928dd0345eb554d4d483cfd3650d71249a9df06444dae0c238b65cfc01882f116c9db81bac7ea92152a31efa7a929005cd2c62716c2c1d42027d93b90a22e56ad7fb93f527bfabdebf3b5dfb5261f440fb254501bb57470f1ba37c09b47146f6fa61f2ff181d0139a423a9d002267ca9b35cd3ae1f3c5a25bcb038597232895502050bed673dc8de8c198ccb88629f0c44f4ac328c3f18d4febf1b9c0678f91fa23beeb38aa547e368c2d5d1bb396216d1af9537eade23ec4755b591cb22e9e8c13c983eb00b299fe1c7a5b0cd4e4a1ad1b40a12b3c2d5d7245cdf440317057d7655968e30081cd24f302a0c317c0d8481c18d1d9ed63b55e064e6da39c3fb0a11fe38b7036a041b2002876510555628c4823ba028429dbe9a28c79f0003300cd15c5f09604c6ad27d3d8e775c17fe679722bb758fd752dec6e1810da5357e83e39d28003c6a4e65f4040f387edc09a173b7cc31a488e4fdd185cfbcab4fac3f85ef590c190929fb7a3230a474b31611244c8c30808014305c1a0ca9893c17e56e8494383a12d8323af1146a748bf304b54f7d9a26c8868570962d67cd78b8de362a4bc17af68c4f4df0463241cf1f45691c2e1552bbe8f8c16e2ec8dfe674090c0edd14009d202f2c735e35753b79e27d741c0de6a45f245e7ea5c28317393f5ab485adb1bbec3ccf989ea94049531183c89fb1ed9ef850ed74422160353ba131aef06530984aa862be1db58241c068f28368632bc034beddbcb9193a44095adad0f07576b2447a18607343fd225fef4cda999471af2c8ea7848e3027a4ea414de325425a30cf0ffd16ad176dfcac1760b10bf2512926db1ed04f1f734e6cd6e1b6d863bbc788ae518798e4390b3999ef1cd97f84ada7063ffbc0f11d8cdf5fccaaa469fb8465d0934e8d8b036417d1ec8785693d2bd231982e4ce0ecd3a1bdd1521a66f6068263fa8d7be8695cd371988207d9c434a6f52caf8ec33ab4bdf6afdf203a144172ec10c0aa161c4c240ee79a633f2567d62121ef1b107a81af6678a04f33878fe102320b457456703b31611b0551d36e67df249bd38a0b68288191bfd37edc96cd4bbbb481b45ac3b6cc655e6d61d6309bb315f4688c3c37424a782d0090c26d02e9c311fd85067938f3a762bae6e54a8ae6e2dc3662a8041486dcc6a80f8654300e0d89f203f67d392758df7186f27251424d08f15543be99a23d9b058798f4bf02f7e71585d1b2ec6ac997ada72e088c3aeb11af80ac4062c9d84f5efc746916b92105f37178d2adfa72cf23601f1d65ed4cd1207bfc607175e8d06855257e49ac39a9bc28575fdc54d44e6589399846df48496df673dce8057e9fe23cf5f174a90a07abe4ac69e6707c13048fa33ef0076103464f7e0f802081a64600f716755f7757f2ac61fe0a22732539027f5732d29b4280701795386b28ebfc56f7b6a6a0054e4dc998e27a3e9f23c7b72fa182bab0710db4c449d69e0c8932653e6635705b035e808a6692eab0f5c0581060d627c8a63747b002c5fea010a001188f80abd9872ed613949003679af93d30a6c83e0f1514426c30a8b1e59b88a2ec5021fabfb7765f2dff73422b1de76b50fe93825eae86aa5f623ef3492ddf9fc172a3a9b58147e4738f737ac9a1562463b6a9d25237a2d81e59f6da8bed6c019cd9bdaa46f3a723b3a59301dd8a87452af19449fb23b448163a80554f3a898528c591f2b21e3c6a23cb92489e45e5202865980d0782fa036748a2c129f5c6d4eea2790bccc932398fe0153e946b67982080e074495206fd106535e77899bd98edf50b13f315a99c13fc6f13595a7680f8cb340b056c3ca6a2bd004ee1dbfc5149275ca7730c2c630ffdc956b5971309bdc3cdac5aa08282c1de0798416d842c419cefa85ee2e417371a8a806dc360dc0a042cb774bd35d8b184d70cd0bff0227ef1ee48725120114566200be49281c8b78a399094c4d6a9126a9ee215f9a9a8b100fc9a010d37ec334f9fad296c85bb950f7538cc20d7cb208cb2fe37750b7056fec3bda5688ff9d17f6ef7197e68b14de48d04e1fc8930946dbb19c1e30bb30b76d57334733f0dadb9355d48882dbd88271032c23d940f968e1b8b86de4a276893d27057edaa79dcdfb3a566dd222f87675b4e3c91c0d6207c1aee5b12e87e8e17f0a55c9d523d035561254a370cc98025756ca7ade2b98e613ce4ccec646feebe50cc9f74de3feff133c0a3e55c01cf770cccefec15fbe17f4b4a67c49c96ed0d13a592859d276f57079d2fb476dab06e65a6e87b6160e05da2db51870082f4060719bfc79c89c6a0293f71da701c1fa99138b07ef343559dce2d0dd7cc4c6b3af04f3693510b0ba0de258ad5ae65eaa80db63cfdc8c8d7f5c46e33222037857b3be9fe53b61a5be89f638cc8dbdc8bcc4bf06e10e5ea0ac8f8d0104a6ff1f2ad008ebb61bc3083db09ed0c5cfbffb72a3c8a8cfbf96225377128a3ce4106f321a0dabf2060b1e55cd1c3de0ef88233b4e25c5d9117de438aca8bf8c563ee3fd2d37589f3fa78fe750ed95237920a785f9788967b1ac112d527f76e3e8b95e6918e7321b12709057ff16ee99da92cbe4c9fb6a7b7bb7c8e4e54e0b0c78acae8efa42071f48474bcaf4b209d03657edc058ee60ab35f2d6f3c346d045825adb681ff621d56fc05102c861976b97be29ac7e45848077322f7c0593dd2077ea5fd61cf18c9079094f75b053dbe27321a7cb5c9dd31a80f82c8829a5ec3eefeb842382e1705b53f93d1ea62942ca5a832217fc476696f44d03d00aa26a287a878c3826259eed8fde9b9bb831b4a8e834af6f2e342e215b4f4d63110a07881e1452682edae698c1320124aac2c70d4434099e25fa109a5dbfc2b7c1ee7fbbc489a8cf222efa8ea218a975fe6e9f08c476cb43f7b3ad32dc09f712ebd4eda4c9eb978931463200383102204b02fe5dfe1fd71f41c383a286fa875effb6c3b3f5ed4c845e0a3fb0078cb2b3ccf79e92012081287c78b5ef63b0dd0f88d6f02531d532c874b2a224d086bf6fde8dc24cf0c7ddfb456e9abbc2d1eca67c43b4ab911fb7a550a7529939b951e65b99562470559c42d898ebed65967a7b9cc6780ba4f0f4c4bce5c9a1dc59805b4f6dc9d21cf148ac2b106d581f665e88b0449a8f919ed12a792eecaf94e27c14d7e17560ac3a0afb903260dc7d40c8f434d01defdfcdad55a95ce2ff1290809f80cf7fc85abba113173777e1727e89640a457eb348640c7f4e0e8eae00025c4bee76938f21393904e21e3cd9fa9a45dc81fd24f0db590c939a2d76887dba273119e9c2ede2d769fb3448fcd51f49bb7597d1109e9fe96cc0070161f38afe726196fffb6fd102dc8c293a9bde44f74c1b8f8089e10e4657857f618c381b5b6771b0553fa1e938e7f0090a21d52f8ef2ad5db31f6cde8d94b706541959b6c93a9306f8818c589c5387612204f0c18411a00ba325bb63c0e67b2e85186217837181d0ad12ab44f83d7f1aea0623347db400d6ea047f16940a0058a295169b6d4504c4de35a9208105daaccf685b980b90ddff4bef4b91ee33cfe8739d0c583b72154c3b98b9e572513e2e1fab8cd91461c4b0676c38cd80f04e91a69e6462e26600b70abd36bd2a438998c5d75d4c8688436ac360fbea1eb9878d8bc490532d942506053ad401446146b744e9bedd9b0c93a4084469460433869e298ff871b12a8f85d4992a54e10229d365aada47b214ae990edf462046c62a684c94a247869d85d9a13609cdaefed4d90b5887aae9b8a21d0b51d1d2f87e8894530538f213f71bad79fab228c00577be3a93431a0ee9d2d33ff345450cf377f7c789358dfa97a97caff76d509ebdda44e5bc43c0b7a49489328aed437aa58703a51c5ec53b83d9960c654efaf1f46be220a9f74af2492ebf408f8c35ed633244409b1e70face416ca284904d7d1f133424ec78c694e25db09c0c7ffdca53ef04626784a4b8475e2eb52c4971f88c59dfaeb40b599c8a5fb8e07e66c6efecd8c350b89c4b197d540560170cf3aca6d955e531216deb625867f0a84678555401b7120fee2b7a24bb67313c2e577db2678c3d2b737839f9f695a91a94cf3db69cc3cae823d3bb7b079d9ddc11acf787f884a12aa436f3ab55df112d1b0f8d7ab1430213c128783c308a17e02382a53981fdd8533d46a2174f9b3eeeb0292b835dda840eb24f1cb74ef597365b8cd45218aed1a5fb076b2600e7f7e4c8fe2a38c7ca3cb863b7a1a8ad4a1d53412532b6b6c23d4fa9e29140c4ebb0844d42828a178b4b6b1d716538d69dbc96569b7c70d99f73df80e357a07f500f00db350c44aac039860906fa8f3a6e2cdf6645974f958e107c4f66792d33f47bce84245acb294944014c7e9b72b565365e3790aa239cc0ad25b17ea909852f45d8ed8c8221e92fb65b9692df05d80d116d6fd9f3513f8836fb149e8ef26dec8d2a419827aceeeca93b9877ab0c8cc5e3a41cc0c5f605e3f576fae46c2fde1a86b7c72c6b4293067ba7cbb06c87b4962015dbd296747d8bdb1478af640d7f93b96c65fc76481d7c554f82156a43e759de59e5d085e7d1437228b6312bc24a67030f6854f1e6410f1303c97adb733ba52e732ad7022a002214996b4868b01d928f4404a9b310b948a10547b60aab33258f6c298d89863f12ea89a4694df21851eba188b221e175f0f843bddb4e648e3d12477a0f201ab87c80dd216b7625a8fa350c14a6a41f857fe82b89d9a0bc11a5c14cea3bf3f7099099543ec34af3ec07752cf5265191e1db480787f8ff63b8a308d19e54946625f4b31600dbfa219dc10a33fa4b02f8d56ca8e7e68df17763b049b8ba322748953ac513d9a4ab263a380f81e6ad92d91b6635f925990411a22c9ed2825f32496ac6d50daffaee458bf8e38f6f74477a5f8c3d2574d69f23de2616dfa637ef5673b86800ba8c352666484319c2e36b47823e904f9120f2e4024beb42ab3e5506c518d87f5901fee20c4bfc83f5da4cda661a2633704753572cd1ce8e07cf26f415a901e2408413ade5c2a03101b3a8e34393728ff773608c561188bcc9b87e2549b77a1f82231f3a00025b12c1f0f02a2d6ea9c0a2f5b865cf31cbd11fa30898e5b7a4ae0da9d8a04a28ed2aecd9257a0a64bf80b9ec1bbc08d873c00b908d6286ea21d60d56263b9b325f0b3391c762ab471622fc8add3c213667b028cccc14e6b9e8418d87e2725ad1410fabc7d6b782cffd163a4accb991cc34311ee76f8df5fe0578f81996c5cc814d9cfb7988728dd52f552c64660e57c31061c448e5917fd897760e9187ecb0c883fa5b2f7d7aa39732db0de596cec6f898bcbab9ae8489d0297e26f42f98c6450fc00c0fe897de28d928f297db770a2f142495e6b9b4dbb70dda2ad933103ac2635de8533ffde9116d0583f16645a91f8f908095548e1f1f898b299b5df597dbc6d16b297dbb90519e24c35e236bbe59faecab7174c3fd5d928ac155a72486d23e6098b4ecfbcf3673b0fe78d4d5445df8947bb8f5a584dc0d29837eb75bcc1a58b9330237f11eb213abf122af3e0e7c0c80ca9914d9b07c9f018905fdaf153b0b78d2cfd3878ebb52e95b0714aea31c17e78dd6e7dc4beb50c3d00200eddb125c9a5861c0bcb6002488318893a800341963713d41ba5f02150060f327d7688a69abca51a0a1e7d914e945582c029cdc8c123eaad274ff8022de54d30198c345e0cec5217272d49ea9dd27d59c41aca46ab3e5095b6473a0c2bdc657c0d81fa5354d42e46010163059ea904f61c3a90b9d78121c3498fb7cd33ef8d1b7b2678d1d6ebcc57dc558b0f27825900f2ea91ecc3f2473d20ab34d324650ff400b7f6395537aeac7c7b5271f520734806ce9527a9deca20ec3a6710277c1fc3a15f43ee9826423abbbc61cc278df10f197133f6b7d88136c45e60cc40eff7fbbc59aad62b61c77adabf54ae200af378686b75625594a4dc16164ed66c691028dc55067cbb801af59ac4ffdb021388c48c9695a843a033a1763a759204a5a261d55653c01ae92ac9c9be9cf748d228d41a52767ec8d7ce286dfbf792b8debf3a477342eda4ee5e9eefcb80534146d0904801216ee94e2bbc5fbe44da5b52487d013b10f71f8c80f29419b902d25d97b6f29a54c32180a8a0a510abb6febe3fab0bcbeacafae6fb7bd2f9b24fbd89f1ed8762f6cfb6719e9668cf4baac90ec65e506c429d22b4883d8e7cfe506f4c74a7f6a5293eaf601bcaf1dcbb1fcde964dcaefaf49fd505117ce149da9d35139a62e63ef71d9a4d8fb83595608dc592110cb0a797d756d278334c8af3fbf2ea7b67f8c0cd220f6fa63afcbd3cbaade9615f28f915f978d14c25cedbe6c52dde93eb02fcc26c9be98094305ea6c12e5faaa6cd206df944d9271a6891fb074a63b984e67ba57f9140da360f6f4b27c6b9f5ed6e96575edd3b936b04975cb9627fdf27ccabf4e23f7aa7dfa97576ddff2af5497ca8679edb2fcad954d72d3a93906059d79f1d6c6dafe96ca4e6d61d924cfaa5395cabf6c52cf0c4390c1329d9ab6caa75c5754a5049679cb9386d9f2a460b53ce95797917f6d7770940aabcd8a1d2bc5d59c1b51211f1de87aa48f136350015aeca8ff67bdfffb8b0a1b2958b4b42801669eb5ccd918c17df7f9db8b83e4073ad54baea7d4be13dc4d6b0e07de2025722c62109a4166f6a9a881ccb42554064cd0d395ece1fb470f1a667ba205dff6eb45fe1f9c285353fcc59d4ea7d399a068c103be7ff857dd90dd0e450b546c2f673d2608f7a544fe13f06c8abdaa41fd7db2f3c716b516b5276aad45ad455167acc598d6fa0119b6d52f957db24a27d3bcfdd6528a46c6fe50745a4fc036d57a92a4268d55f4b207d43ef32ec077e7ce1d3be3756ae33edd5eacec5b860628fb7a6dbaa9ef7c49ffeb3e9e7a7c1bfcd1e3db9a1261b1826a3db102fcb7ac97fc71f775f25aaf27deb68a396a0e7c474ae47fdde29069d2883b8770b7da6885ea7fa23ff548fc96fcfe3a79abb90abe93f849dca6a2052f28a8c326dd0047fb16a41a4fbabb61fdf15fd26fbbe2f7c873f481f739ee3ad65cc5d15aff026ac37eed3ed6b8c4d7963d7c0f81e11fbef73eff2bc2689fd61df88b8cf7c1bfefd446f8f704c9d887648f99f7b1d08a1578ff6df77a78098ece44a649e3ee05aced8f5fb082b2db2c36d58262b5cf27fc58fc3314ddfd2991f8d923f37f9f45f2044ffd4f77e73ff18ba22673feec91e18b18b73d92be48c61e93dfa7cb539cc03f169220a5367cfcb81bbb7b7fc50af03bf676f8e3f7caec613187fb637c45278c3d277f172718f27268d3a7228c3d669b3ea544554afbf7056cfb7b6dbaa5760f07db9412797fd60a6a254fec9f6779a87a5987e88efafe7d062b793ae9ed38f5aeb8dce15fbf96434e73b4aeb8b68d4db5ae92eca1211ffed5c3defb5fd10963ecd9bfb83d546398e0c9f7f7776aacb55e09d9dfc7ececfb6101ee044162ec41fd3feeeee1602269c50a62e50fdfa2055763d19613d858cc41ed79e550cd39d56e8380b2efdb285676584d6dd8c0de63b2c76c3b79faaef6923fb03b956ca324d9de7f51846cfcd44e03e4ecfa219a6dffb6e065d70f3fcf401ce1f7b10feae1dbffc7ddf47bcc36a59fbff287efb0c4a205f869f9c3b797277e1f39c67d81fae17fe1d7a79412d5fd9dd85af2964139ec876fcb1d774718b59d3cef2d6f8ef0eb673cdb17a094e80c9fe8bc16580beae390fce13f7c5fb00ccaf1bdfdafdc71ffc9b7b7a3fe936f5cde097ab8ef985f16ec67101c47a36a64f4511b3fc007c564692345c9c6ef44da6cfc6ec4f60fa548d9f84f2907dcffa038e03ea8d582950dbe77bf6ac110c5a69bee3c8aa08b4e05f0ed59acc079461a4f8eeae551cde1bf5974f277c7e19f7deef6f2a4d9ef112b08df4bf2a8e6ac8f1eb3fde33e555c8a62053d34a69ab35f132bf0c7df2356501f97376ace964761de95fcfe92e063f2c5f6ff112da8efe3eed36857fb4715c9df865a2bc0903c6c9bfb900a49b0ed87aee948499f3ade57d1c903e9078a16dc07ff137378ff95d94797c96d91e70a6b4485ec9fe1a695a41b28abd0f8acb5fce11b474091eadb4fa24831f77287f7de53b100f7c107c51cde836fc51efec3f7877f072e9f7c5f2fede56fc12b7a5e79858cee6590fc1e93a0ae398adb20491f5bf0827ee559dfab36cfa65ca84ced3ca3b96a8fbc9f2f3ded8dea58eff748fbd8e276b6dae91532d697fadcc6906945a27f3f1877dcafe7d56a21c9aeb7fce1db966095b24e41b65f6637b5a91614aa5a5fefb6f66f5a6677b529fe4e4c73bca8e22d8dbeff440348bda0806e8b1fff7dbf1bb72f6e5fd1292847ddfe3f2220b5e91573e0f7f2f4c7f8eddf17fb3e6e43b91e111ce4c9d4c64e9070e204858abab58cbaf5a1a668e0475c09a333813c54d47d9d0e9751b79ce20fc4b6292289ceb44f3faa7a06bc00d4781450e608180c3abc4102072f01030f84009022cca430d5c4124378129bdd54ab89ceea2c120fd39c7400c43ba22788e7a5881d2055961c41c40e0971ee1020a4d941d76c08729b50099b14099b4029d2044993204364ea4bbee44fbda4b4c8ab0575d727a21860cdc0c4b0841129b438f9808622a8e84061de1152b08242046322565a561d68a920669f9a4b101d36dd4d21659f20dd4da1e3eaa225fc91976459d2853665e94284b6a9d69232e3a5de12149ed080a850030f118c80c2480c67a03041b28448110148712484238ee4381fbc802b0550d009bb3367862b519cea0cd593cf3dcf1b41c9e78d20db546b0521202851620f418491fa8299b021b37d8eef811411c0ccd0f501962e65884c69318903426c532d254ca48099a10b4b175d468b091b2d267182c85a4c88e07ac18c1693b009640732d2073e0ae552f2a4050ae070248b0424403073e4004ba0d971a9a1a2750218232ab4b05578e188b72997296446b0b59d9bec6cf515b2878bd6096236d53ac1846dc9a05a166da49d3d6dc91105382a50506267d02968654e896c4376feb49ddaf6eb97ab6dcba7ba7b7cfb02773b25725a0f3b87da927a889d63da92b414eaec1c6a0f764c8ced4a6651572aa3a2b82b49b55440614b55af72340c3a4dfe9e8e382803fde28b25547efd52a6f8b2a7b87dabf473d446f8f4471c74e728514e2692a015aa8ffb6e381ceebf9b25e9b655a4137cef5d6ff0f19f3cf4f67eb47346f03d0bc07287476a921cc16ab52a52f6beaff77bfafdf5be96fb567aef185a8a4e9e8b0690f251efddd6234192924b3e7cd7ba9d521b4fb80002b84ed55aeaf99d21d7cf9574f28162b41f44ff9641f52f0e906ea9ea145cb1d92ad28f16bb76dfc9583815642d8e42c05a63ac35ea9f521be8c678e6a4f8da276e579bfb3ec1fa37709c927dd3bb3b32d24282c3b69b76a18ab34fa3fd7934e03b39dcdbcfb316239932c5ae3507450a15a218010a24439e40a273a289b0239a088289364b9cb113a68e96125949c800d602122b1c91840e950846500129c20922c0e60cf1f5c3103d082126882e726c884305ced51b265e260071a4c80f4784b881a28d126ce6acf15293a68b4c9a1c7cc8d2c30c685e38d3c44c150f468e7019f9a08c1464ec8c29420c9c1dd484e102a3c3d6161dae7c9192c3132f29742982844b9129ad3b3b2670a0b3458e163659ccdc00c6865d0d58b262c0c2020d4aae90608548083310e9a04a181524b08490c14d0c68a6ec20850b0c35bc80e54294ab25514a684104222c881004ca134f9270f2d5c42824f9640bf2b439409e43dbfe8d0c224fa615e449b7289a6d5f0579d2363ee4498da076b6fd1ef2a461db0a7122dbfe48ceeccbc8d3a16c7bb5ed6bf2742bdb66d99682f66d46146cc0c135af39c6caf37361792aedc0f2a45c5d5f79d22f0aa69baaa2f6969eb54d1fca01db27f76bf1dbed1f05c350eadb5fd4c6d57a46148d3587e745f6efad16dcc7f5726d5172a9b57576bf92f6e9582bf93527e6f8f6fd4a7ecdd51bb6c7b7ed4bd9f252ebd4caec577f4b4a818eb1ccf24c5b6bef3fd51d2168add6173cff6a5deef0fec9973ecf4f52e799feeb4bf6b5b6be247e8ee1baeb5724d12976c72d0515c5c10df39097bdbfbe94dfc3edd3869ee74be15b59f6f26c569ed597bed07b30e6b132087cfd37e7fc31fbd7ea779fcd3c2fd2e76c967f87cd59c4946b670ff43ccff3c01c798765ec3d927a914cfc1bd6b5e74bf7ab3b567e9f634fbe77e40ffff40a10969e17c5de2b6fd4581914befefb9e2fc5fe9e4fbe41dfb1ff1e1471d8df017aff8916f8922dcf0b68fd9ee8a473ce39670ff425ff9d5dbc9fef7b9ea7b57e1cf675a96bec2f28e51b2c3d2fba7fcbfa9694f92c897ce3bcfa54da494a56a88a4f35575f896b0cc22fb525808389839a7baa9b020b825be748b7f023f9923fc6e493ef1cf77cf27dc1df6dff6e5b06d997da4606a8b9fa35a99ad44b03dc32e339eeea54fbfbf573461529c8967783d7cb253356fffa59e8ae3e7957584c95490914a5aa445575548f881855a3b0a13a64849d5ccd797de12a0f1c9a3664c68acfdbbeefd96a6446f03ebe5802360e9e2c5033b229f1a871f034e278d4862c3072a06d4ff79ff409b5c14d66a45e64bf9ed6de156baabdd8fbc03096b5284b8047c50cc1320386862f1d1261c0d420c6ce98116838028622981cb161e6d129b61ef0820c40b29604b903850e416f98e880843151867c45f94275a6ca075cd84cd1c30d5739a870468a2d5ad630d1c20a575e28701524881d127667d87491a3a608182d4c9a7840e48acbb5610516b6749075074c14ad135c70c32585217cb072e76a878114ce4c31260930225e5170e891029a248ad0a104312a44d9427538428b143e381164c9095aa48a108162090b4f70810187ab2c0390010996164c70e18729a2dcc0c30c67b838c144893775dc0627485873e486293a508630fdffca6bb031602a0b0e0a315cf132a1c8121b2a1e7c6962ce1615b230c001ce0962ae5c9983830d58b4b4216245e584156a08a3010153a0a8ea408b0627414871050106e041c702092634b93a63a50050043921871ec4d4a9334302d63499e24d9023c2805561c0d50e3084a13342960b542af8808e0846b818f1c2162c0c36e0011b294956081305081930901a02c414923a5bbec440430c548a2740f0218e1475eea49942f58504205ac8a20408205210a0e20c1b2273b6aca026080c4d47a8a952050d14589abc9004171a22b2d6b810c48dbb90010fba74479e58220bcb551b28be4cb140c41626801c89d24398263f3cf1049c1f7818a20532325c9032455785481344b0a083b7c4143f3091e249903250765db8e4f4204516129ed4f0e9688841a765089a17da38a9f2314143991abacabcd1d244132994cc125f50ba6c4861c7c6aa05cfc89d1f744083c494124cac1cd012c20d37f4f043952096a4a08409273b80e025091bad15928c09d20489244ab86185394a8c4861d94193c4135fbc50e84085294feb092640a250a1042ef3a6b0ef0e40f6f590422842c99010d2c859824298283c13639f4dcb8419624422e75c225d5beb12c65ec5b8225d8bdd3d5c522fa2e73d9fea159284453d9379234f0fcda7a6e267852d08c881dbb3205be0caa7a2d38bd1c553d129f737aad0d3ddcc1f74ea65c778e04feac50bd3ce74b761c4204fa92cdbfe03301c865bc961db9207f5b2855c280b1393ccc593b7edbbf8e1d11ddd25cd60629a41d22af4c170e1eddc7fe4a8d3e976ce450e4b49492c99b6fd92693f00e34f26a62325a5f23febe201f26cdaf661b8285db8122798f68bf28543393ad22dbe859292d2d1911149abd047c1d7e2a34a4269e35ae0aa8c8c328ba36d9fc5d17651fe7974346464c4e23fd2b670419e06d8f6cb162c5ab89039479b644112191a8add8cb6fd9b91915152d1d0d0ed8b485a85be0bbedb17f6c668ffed5d97cb854043db3ed0d06ec1e2cfa1215c2e07646f6706db3e8b1bd08d9cb36dc963683b00e4801d1c0eb4e5b67d5b6edf80fecce53628e3cf3bf4a726fab39604c19f371ccef61090b40a1191b40a0d91b40ac920bf1b79ead8f6816c5e4ee476902de8ebfffba1006e03d9fec4e16eb7ff1f20d2f653fa68d1d0c1ed153f2bdadc6e5eed41fbb51f78db7efefcbfdd6a36f2a7f6845fa7d36d153515a5cd8669b76d9f76db3fb53f6fb70de69cf30d0b9274ff90e703b6fd1a8d29896d4b1eb7ed4323efb63eb5dae579d03e4f8df6a7cd56abf1d4c85302db3e8dc7c8b67b787a94c6d17ab56ddfab6d1a4f26cfdaced79667feefc1f2ccefd14d234f1edb3e0f79daf73e9c2d79d4f6e88d435ad7d983b31f777f7f8eb7dbbd5a7b0f82b32a04feecb52f692f027ff695a705b6e7a2d3acf4d12b9fee96d96433d9676badb5d65a6badb55f0a237ddfb9141fb42f7e2e2d79dab6cd7fd6b6cd0f823bbf7d5adf7e0f6e4f7c0abef820f82205f4f6caf3697fe05b527cffbe3b77ee38b1bf9287de5ad4a5cd993c2fd2b57529d3fc67ce3b7f2ee9977349bdc8953c489e31f2f3efd076bbd9c65a6dd43bfc98b5993cbfb76d0e42f20477e84bd48bb2259fec0effc3f00707fbfbaf7cb21b3fdeb426b9f94909551c6946efa316cf0953424f982b1c8808335393850e014688ac0c9811b284b03203103a5f5b9a2052f5252c73055770c6881a7e8841abc8133f81cb569a325b2550c11ea65d649a94d024cc0e8a372636614d191dde58f9cae8b0c3ce9b96d161e7c3759d9fbff3d597f4177178753c9033449d1584a8a365cd1c4bfebee4e95638bc1d9010f166571886708133812702182e6004f0ea782047885d9fab8a1d8adbedfaa7efd3a936b0f5df86817dd9ba46ae936ee58cbca76e656db671043d6a17b38a95679497eb74d44bcaeaded815b4c01b6cfbbfbb74bcb6df2a259a2357589e70c792bc292b0443149bee5ec0f2da74078392ed5fd406c6a09a31b07d2addaa5a3565937c0e15f20f3d2a9eaa1556db4ffff2aeb69ffee5c91025f654f47c1e4a4645a7fb3e7488bfa27e0f9acfd39e9ab5c73cb2e7c1a5d3377bcf47f6335c6b9fddaa966bfbd7f0579ba9f86afbeaf334d9f3d09e87c65306dd5ff125236d9615f2f7d9796dff11cc23cf3b7575366cfb5b1fde5fc0770ffc3d64b5973d35797c9ef6b47203b3f7796afefc2d9dec67ef79da7fb5ef792aea98f5f460404d9ec7809a3ffb276cfbf358ddf6a7fd7c8f47fab0af0114cfe7d7af0114ed632f7e0f1f3af48f8fdf870ef17b441db597bd8b3a66ef235e2044f63e2f7b9f32a8becd52552f2be45ffb0aaa766afbabb0551ff963afacd57691f4302be4e302be7bf4f0810106dfc3878e200d36c0f3f77de808d240fcd9cfca0dd05e7c6afafc2d9dbcf6b3cf2e6ac0f3b5a7a20edacf7cac76addafeb2abed5f2383ee4b99329da883e7f5bba883a6ab7ef1aba841d6112bfdab0cc2df9375a33a9815f2a79175ca0af9f3905441b8bc80d61a67c5dafe63b993915d41b7dcdafe52956bfb5f65b0ca26e9f707adc0abacc1a952971b103f0652592110cb0a815556e80b5e240f9228a8863e0f87403ed555478c99dd8c191bb8a6e0018527763e303d6bc704bec25ac26393858e99bfaf235e4caae5f5e50433875556767c8aaa0e07ae5362a47276980e0980e406a5947993182fd848e5507001122395b3bb28f9b62ad289a7be5d453abfad5d2b12d59a6267d7c74470d527a62279bbfe87559128170d59bbfe67a526b959cf0f6b46475950063333f6b17dfa8e122ba13260d22f2b802922e8bb73650b9b3532dcbc28aa6c6907622ff430421064dcb0d0e1830f965001e032b233c39732711525aa0f92980a4f1931b6704cc4c9fb5302dbb31e8e6035c4840a3fcadbb8b0c6a4b5c67d29338364487e51db880cca000443322c8332083ff6b1122a7c2953cabc61ed14db822435430b6cdb7bf8a6806df3b0815e89a96aaee2a923c69387736d5a73f6ad17f94d539b04e542d620c9624245d1d63c61d25a23cab3ae98b4d6a00e28dd7073539a61a4cceeb2d0d426053961c30861a6fd62c2935d0b5d66861ac02c173338605527497658661090204ad80ee254c175a2a0b1aa71678aa18be406355766ce88ce48773b7f4d3441c28d19555fd0a109db769246077476660e75484261395541444162e2658625ad35cea19084a201654d0a661465e34248d208b2cb32b3d6214943e70566665187e40c27c87c9959a643d2b720790266e6990e49dac58624b8cc3cea90b4282ce14667661e1d925076872d5e9e9850517909b09d197e949370034d87a43df20195cecc3d3a24f1981c4c2862e69a0ec99b95640b96997d74485a353038f1656610fcbc9f15d5832d2280e5d7e0a699cc214d951515e3040d5b61da38d912c1c9942c936e7519a1cacc187b20d7141a2a33973adcc18d113b53c81b36572698a915c2cc6c7548fa0747500933f3c5b2536a2bcd13566676a1b7a0c832475faa9b7ec669d026854f47f2c78c95a426985ff0501b2109e53d2182cb8c127f306be5214c988d298c98613925c85f6adbaf28ae805200bb4ccc3065424515a5e1a233c38fc24591c10c4b8cab4212ca89c0f2654659144c5a6b9cb59004ed0532567d09a3874e431912bb275b343b8c17381725f92d583870a341402b28b5a9f8f1a9f5d078c6994cd442b28f6b5317519e9457cd3796aa22f9d7eb3cb4e640a94d4b4b557314d472b6bbaf90bd4a1b341863fc7d39cbec8485456107cccbd696182f68bab8bc6c6d89f1b2bb18bbd75aadb5f75e8c3dafd55a7befc5187bdec5d8f3bceffb40100cc3d807826118c662b19cb3d6b19cb5d6a228ca64b2d9acc746a3f5f4f4d46a351f1f9f9f1f15a1ecab8f251372cd96c3db23250285a0ffd16da78400c12ca37936bad79b64d3b7d6df3a955b25b30f5f0fbc569bfe57f31a4150dfab9b6d88d1adecdcb1c7ab47b176af9cd179785863cdd1d2f674bccdfe361371dcf6c87369e0bd6fddddddbd3cef571e36f7d07a78c69e594f4f4f8f8757c86a4fb21cfad6aba2e9ea6a83e6628cb191bd1763cffb3eec79df078261f851100cc3582ce790c662396b2d8a996a2d8a323a9b69283299cc8a13fd19d6a6e43852f2ac579b4ad914caa6d5aae6e8db090bb35385549d9db0b028ec806d89f182a68bcbcbd696182fbb5a1d0aadf2aa4d6912a7f25ae95b0b2667d32ffae5441fcbd9e048a9d62d1cbe8f949436130edf463547dfbdd66aadbdf762ecb55a6befbd1863cfbb187b9ef77d1f088261f881601886b1582ce7ac752c67adb5288a32996c3613b5cb64da67b399f6711cb5f3f08838dc69349aa63d943c41eae3f3f3f3a3a90a153c345a4f8f76f2ac39d5441cbec79a938f88c39d3c41a71f1187ef5b73b4f401bdba0d25729ed111dca098aaf1ad39a711c7dd202502ad96c2dacec583728938eabe940874126fcd61efcbb32bc458412b3482b93c642d9ee9ccb5eb63fc378811ff0d5b9544fcb5e9df6a8ebe8cc8ae966a7f1bef1edfc6e5549cb13e1527f0d95cdb79589988e316673cc13d8ea25306b8b663edfa57ce58797858dbbf92370efd1b67cc3c3cd7f2f0f0f054a7a3ecc3f7b3f5f3effbbeef6541397ed7ff5dcb0a6c2f635b2f80c044042348cab00102050865d68089e044489070d32e5ae0d4eab5d65a6bb54f97ee6e0fb50850103344cd66e371c3811981051eb727fc84732bc408612537a4c2891d19868c8e7abac8c43952e2c1c433e5e5090f2634dee8d55aed0c842e70a897ea43b6927525458915551217e2531c44c1036c03391974512086c9e80897b3c1c91477ba8bf2b4c076f14e367d6e22cba71509f72ffefa52d3bfa84f415b64ac6f2f886b22a9173591ffb4225d0fac798df5c9b1f6000c92d6db440a7dd35f0f8ce90762acdfe2f642395a2f687513e9c0d38a24e39bfe7a604ccbc6daae8f1bfa61accf223724238610ad17d44d24d137fdf5c098968db49a91929bb1feed48896848460c5a2fa8c72612e869452afaa6bf1e18d3b29156fbb1f1b8edfa4c4d6dc6fa41379a8a20201a9241eb05f5586b22677cd35f0f8c69d948abfdd8806e4f78d7a7e082cb66acbfc20017cc302a82806888d60beab166fb7413a9e269458ae09bfe7a604ccb465aedc7067463f119d49c5d40cd599b8e054440638651110444b45e508f35dbad89acf14d7f3d30a66523adf66303bab1f81297dbf53790c09ab1fecf032450e328021a338c8a20a0f5827aacd96edf44d69e56a4a46ffaeb81312d1b69b51f1bd08dc5973818b9a15d9fc7939ab1be8f059e92906a1c454063865111ad17d463cd767b5c1329c137fdf5c098968db4da8f0de8c6e24b1c8c5c8ca1fa1ce8bac68a034a27815212528da30868cc30a2f5827aacd96e8fcb65dd44f23cad484bdff4d703635a36d26a3f36a01b8b2f713072318620303a124224cd589f364564c986044a4948358e22a03183d60beab166bb3d2e37d44402e09bfe7a604ccb465aedc7067463f1250e462ec6100446348e94a8aa7c18eb8f49aa00c0b4644302a524a41a4711d0a0f5827aacd96e8fcb0d1989ba8914c037fdf5c098968db4da8f0de8c6e24b1c8c5c8c21088c681c2129312981d2c3587f66054500010000d3920d099492906a1c4540eb05f558b3dd1e971b323a92e926727fd35f0f8c69d948abfdd8806e2cbec4c1c8c51882c088c61192920da627ef0a0bcd585f9482b56f08200000605ab221815212528d235a2fa8c79aedf6b8dc90d191d24c379103f8a6bfbe74f44deff95204dff4a02fd1f8a68ff992f94daf7d69c637bdcc97f637fde84b46dff4345fbaf14d5ff3a5a26ffa1f5f12c037bdcd9720f8a607f2a5007cd3df7c89e89b9e852f01e09bfe7d69e89bbef425a66f7a9c2fc9f8a687e14b4bdff4395f8af14d1fc3976c7cd30ff992d0373d04be24c137bd912fe5bee969f892d237fd912f3df04d8fe44b49dff44abe04e39bde862f217dd333f9d28b6ffa00f8528d6ffa1bbe84fba6b2be5b21ef99b1bece2a3d4bcdd9bf5107409adeaebf63bbfe0dd9ae2f00daae1f809f5d1f0040bb3e138b5d7fa9dcf56dc0d8f52588b1eb2b41b0eb27d1d8f5919076fd1a3676fd23927a51fd08c8ea45f56990d78beacf20412faa6f446a2faa5f448e5e541f02b2e645f589489b17d51f226f5e545f06f95e543f0689f3a2fa4264ce8beae7c8212faaff0069e445f56190475e54ff05a9e445f571249317d59abe6646ab73308c652dca66238d47e6a22403251019f4b71636162c1c6871fb2012a85ce1c28653f1e20786cf03b55c8f102d068f8c7168462483a048cc465a1be519311a6104e0d157c343c24957c94a506d2c310501ad208a316a1ecd42ac626a3e05a044f465c488e99e9acfcf78634e43153fa00ad76132687498b7c2880c06ba658cb4adce82be97195bc81ca0511beee3b4ca4ea9bda2476337b6364c788cd210fdfa6394a3b14dbf66c76946ff15d7ba0555904360b80204ca7d6c70ce732546a06df16b46ff989ad13f8cfd54201d84c7f88dc5b515634a89bcf761c1c201dba2058bfadfc271796f200e419b955e0c555c1d773df66a7fc90ae6a5cbaafd450f097ea00762f082f68134158c01cace282fa24f2bb588c3e9172ffccd781e6518b1076abd35e9cdfa3044278c7d18fda915c285390a6232b52f86875dc95f5ba47179e2f687c19a7b337e65f53ccfbb3ca817084427ef2bee61f4774c66c66c668a1f134ba80cf0b8d0f80c286a34f6852fd1af67469c56523a8db697cb79bec33333fa7f387f2f7485f100e661f4cfdd180ced0f60391518e5321ae9830fe4b48a5d3f0be9182f6388129d31fcbb87ddb80c29117d5b6dd474eb46cd51977db53f3262f8c8a80df510d19eeab6f1e8d1289cd1d01bec8f52fadbf3e80efa913344274f26eaa35c2386a45d890e933426a3412509f4d202b647c686e8e4e1a551c965b2000880c665b20034e61afd719971e8c60a4f484b515130cc23273a7dff7d7dcff33e2ca42b957114bf3e684592e2181597b1435d642a5199d19fcce8d8036f8c2bc3ed50251a22e3b5c8cad0780cc61897d51bd2584c2572bcc3e87f8e9bd2b08d1f8719fd6da5323e2ebda83ab54e0442706d9f91c6e5773f1eba4874f266685b0da4947a3b68795efc46a29387675c1a11e84a650477adbb7e3ed2958abf2b19fd6b8dca68c3946848460ca1dc03305ee05cd0927c4a5bb070e016a4e2e7047375189a5461b3841905667db0dbd19932a3c018e80e4bc80e661438278d979d083298517948974be51564ca8caa47a8f1da353ff65c6b335b3de2cf20be7146fcd9d3999432a9949969d2088ea0dbde663d2f833923ba4581eda25b1418e0828a949168065527dda25f14acaa229db64b89edaa44f649b77cfb037df5eb0b7b583b8b5a93a0e8648da8b91ac6629687c5b260a293fd3cd3990cba4f4d29539341fe5266fe4cc74fc82531a0a67e272fd09fc920fbf9a54cbce4d3d55cfda66aae2ad51af52d9981fe5c42e9f2c60aa37f55f5abaa4878d7ff9474edfa9f5545ca1f9a9a147e502a12ed32846bd78fca4a56c58ab3cf6fd7650813fbfcc4ecfa5dedfaf6fa475591ce8f48928ae43bec7a3f2215e9fc74fbd3552421f563b2eb63511b3cdbfff4ac6cf7b26cdf6748b5fd9d267d5554a8fa03855cdbff5381d20c6aaf4dc509be4f74bad682a0e78151f4dfa8a02ebf2a3bb5af0a986ed9b0fb27ddc2d843d1093b79bfaa7bbfaa7b2f3e21149dbc4bea50b49f431187cff6ec97e76d9d742b2c4fd12d572185f1b45f16a33096976a5ff266dbd5b56bd5d8651f9f30dabf1f139dae25b5ad341a8d769dd262324d52d32bac382c439a18b162424551206410a2332b78c30c63cc5ad6587a0306840915e5475c09e3e20d0fb74c08382ccd11e206132aaa2e2942849ea981846fb72b6293826e79df9650978914d284591545bcf12843e0b813374098b69ce22fb581d502aa5053cd7990a76301fe3ee5491e40ed6cdfc0c3b6bb6ebb13d9fe1ebe173852deeee22d75983052f0bdbf012a522d99946cd257e6ac90bfbbb330beff38d6f21b8550af3649f609bad575a156235d88326cb2cc6c6b2414cd4d95932eb35623a1a22a09206831a7781994a3e769dff3529be7a5f6f8527bf6525bf6525b7ca9fc523bf6523b7ca90dbed4fe5e6a7b2fb5f14bedfb523bea7b61cbacfd1d339e469bd4b5867f0f69edcb449dfd9024dd887a29ce009b3e5f7d4aa82893d2ea6d23e68b4913330a6339a2c39a1c8c98519885390ea459e3a5ca8cc266c21cf010744480995051ba8d87c603301d8c60c7848aca46dc342dbcb842640a132a4a0b8183bcc8f42f2e616caaaa3ac1090e6492f8208c94246ec2171168c0b8d18a92a6890d4eb6eac05044983b6c80d8610911583c8907409eb0400414b3f6e58b093b149c243929f2a60834355c01634245b948e36649921d824401a3c14c15972e2e1fce9850513e5a57219c313ec565a7e63e54548c4a18738a7da828a43a2b98b79c523fea5b428ac9b4449c16bc833b6c8e7a40130488fa514a35608991c5a8f992c4848aaa9d608239a57e147603c49ce20fa3726ddbf6acbd46f8c8c3b66fa58073ed1dfe40641ca6ba909850517ee4832f3ab33e5454fd28fd831a19cc5a4ef18f72af9129eefcb88e8c780e0858ac74afd379ad607cf83245d160f1e1ab8b8410b0cc6cc11cf91a5285c994997118d61919ad9d7dde302c336c99d9fb424f8382959d8d81fd4044132b2d2578d899d93ab5f68e9cdd9799afa636e9fbc26aba00b1ba39c0c142f581191cb8ccec6928a41aae8499519f4ba1056b6746d1b69853ece76a974c81994b63aaeccc106660f265d611b894b86ad18506abcbcc60283ba5c01648647183655a327f558a345d3c30a3645ca8d8241a21cc090b2f15316baaccec5a414411c28cc24cecea1758912fdbe5456404bb76bd5b56884b84516f55aa2871a6ccaa421270b0ccfc81b253aa1ee1410a61b12d2f4150992198fd862414dd49d1c20f66e817f43c7b9d476d2a2a66c49ce225a60a41dba9aab2752580241e7c890972e7ca8ca2d160ed3c3187cb8cfa70306f160a356cc0cc28da18f3068584f58565467d5a6e9e9714335f66140d86fb81dfb60f466d4a89cee460c4cbcca206c5f0439bc33228830c955f8ae98db6f7192a064498235630a37edaac5082695f24a9997b78e579c1be250fa37d9d9a3a2ae6c10c3e74993a53d12bcf0d10d99e9d6d738c84d241da34f18419f5f3a54a1b93d61af6a9685d490b53b4e8cc1bd6f2a876b6ad354e8df3ecd5de1eda649919eb90ccde57e68acacc60e8830d55548d9925a6cc9c63390c41cfc3f7da5a6baeb9bad39c732652e3852bccccb319508c4035830f456c99a7d4c662885061cacc6375e2cb4bd616903b569e041c315366b6220c2142c78cf26a308508e2092f3363253514e184a983216090246ce032bd7888338499412c4230d132a36811744c5a6b7c20e88a709975aa8c0d60a6d7020d62aaccac65de0e5760983233cf0475bfd181d199d6ca902161261e329ee0ee01fb9a1aed57cdb1ae4018af76591f8cb6bc59fac3d71f96411a7ce8e297411ae4073f3ff8522279759ab4611ed8b04b1523ef9490d17bfbe79ddad7ea560519bd1203197fa0c0128a76a14292831975bb9853fcadc54046ff6bc4e8a5ad169631102a53797559a1a90ec6b3766d1faf2eac1b4fdbf5c3b575673ced968a5dd614e369b36c5857528ca7bd5a61551545b5f642319ed6d6fbc478d65aaf13e359a919374dc83014c696c654d9fdec7354f164b6697d4aeda01cfbf46d35f0130626a6caccae64880e8a3e5142989519450363d25ac32dbd77b4ea50995945adb2aaf22daefa249c50840f66b659bbb0b15e55ac26c6b35e61eab90772928cb1b90e759a4cd521277c2df13152149145071bc0c4e02278611131f38a1cc0bcd90151d5a924e359a782aa2e8c84f1f4b01bd8d708e3e95f5e5d48c6d3bbe89a2c235514742edfa21af36b6a93948a54099c33a884aa9ac88aa265cca9190100004000831640202814108946435994e448acfc14800f73be485e469b88a3310cc2288a81208618402001c000800031c89021a206708dc1849911296888192359d7a14b90057f6734408771706bce62f7886ae80832fa0fcd233051526e212fc26583bf3b358536826ab7fba77e28cd1f54436dfea91a42e31fea875459a1141665c547c4777cf35f0eb2e12a2c766618b210e0c09f9001e9a5206d6afea91d62f39ffa109abfd086dafdafb6876414350a2f0a57bfc1342f3974101b8e5d613d480b546ca59a5d32f86c1c6d7c09cb88b22ad0cfb2b9e43951fefcda0661642ba9dd1de356d5ffd94e63fe98ff51a49a52b02963a03822880f75f8bfc9ee081bdda254930a43890c0f2fe32e3babcf4770aa46fc4aad446c9b594abdaa4519feddb036af5e953a742ea2d188497ea0b745f7194b2e74e4a3cdbad015a9744feedf5d63b44e3806f5f1a8a4e8cdc2086133842d7b998a1d161722c59fc34d11a346fbfb03101fdc0264fd00728a4dea5e3a8a9c1225ac16f9d53316fee14b315a1b706fb39715c546678d6565a3701b512c952a891605a053b55041cb733193bf70f492e91aba053241edbab1ae9b3827984f100cc73a32dde82ef4c9c602593df01387f7b621fa99d27d037649ed0feca708fff121886646fa9e3db2d22825305b1ce85db022d5262eb14c0d670039ed89ec8f0b3597164161735dd3dce10630803e08186ee617077bded8452c12ea72352e0c6fc5bd654e9c3c92c60b88643ea1c1c095a36a5e19ac19b8667b66b87055461678a4e7bc5646487b5e104e8f29be69308d1c81ef152d6741ca83a3b3f81789c443d82022948b0feaea68acfd8c64f80ba3afa018172ee679af431cb014ba50f75ac8b5874ddadd644d5a32b150f6488616a02b8b6e24b48356c3bbffcf3ba838f3772fd60d869d69604e2dffe52f753b43d6a97591caa15ec5a88add772ac71e64d01ad047dd44090a31d25dd58d336aca1b0e3e0eb3579a64b829749825c4c2bb2c8dda17e8d60a08ed5a22699034c73dc8b224e1a9a5ecd2b5a8608e77e137c7c206c59aa9c853a7c24fe289d3684da809166bb77e24b36022a446f1d0f32b429ebe88bf0e4858ad886804217bdf1a29efac59d82309fa6e81b1727beff7ad6d478d6cfc2270ea674f7a54cf8d976a932baf35ae6a036b591964bad9550e31341345c24cb40c1754dc2c75cb517cbaf39c7e481a38fec964848c4a66a2fc53e8d41625db9dbb644d9a1a9b9a521dbadef5d079c6679c6e3b5f6107c4f815c2b407c6f05711e00dcec16decf511b2fe1bdc35b16a2538052590bcb8aa5479b5c1ad3b3b71159dc96b14b81ed6bb5b9e945640845a02d65f5e688652710d6641f811e06d0f9eab6821b4b02972c271c44cfc296c0485f167994d715862b7e80412cf0290cc7d54454777615e22067b2ca7fa422bc4108e6d4d9401ac85090fcf02469f45554b7f88be7079b9748952edeb78482703908e19604cd67073e623d68cffe20564908cf624cc7e1339e20732b5523b59bd68323a22a3221a39fdbc0bf942a235b43e75151ed901d014340bd62297a06644c5f8c4f6299d7bb3eb4a8dc613ad613094ae079723d73b200d92c38a52cd373624258a5dc996519d6b7f8beb946bf76264fe5b91d5f6edd749d9a4d25e0ba340205b8d6615673c8dd3f075573d3d0e11f67f1ffbc8c2ddc10eddc7834c1065501ec20c92606f8cd6c971867fcee23d20ad3dc613580336365ac7b48dad5f538a351477c57243cfef7810a1cf89c7a8c64f11c0a7df2a89abc98f1661bb2ec7b60d7d1001cb440375c4b05d54bf272a6d2d63b74b82ff3b17cd721e8c3472deb6e05b6ced81a26bb4e708314e1106e981d3ae8170c0b28cbba513b0d3ed9e10341cd9afbcaba11ca6d7ed0324c8f1c999eacce4c0edb74cd11c9b2b50ad08348e8c17c69aae4e8c97cc3fd2331504fe666b67fb2b62e5714042e32606e17855c01f253441f1918f0ade4b99494e27d69854739d75c6516d17af61119bfe1de9bc44917705c91151f4412d450646c3474ce6a7e97e4b181721e0ecb023eff2da1331cd2fc6bf93f94ab120d59d99dd4ebd7a3457d03d4a33706b5b181e1a2663d32f4c4f41d7c476bc62c69e908826102b18aafddbb7523754b907c83920abae31edcb16adb585e89e44df5b12bacdf276195272d448b9130ec94bead4dc4e204217b24a18858a8f8c43d6043eaeb82039be57d3b7506cce3e210817283120eac4d854c0d0a711d3147cc7ca0e14436b748f6f73ba2d9d7776e6f3b231f03dbbc112c1553cfe554205b6e25e0170778b8baef807ea63fdd84a9dd5e6df18ae8b8661f33636083d70a57b8043bd1b23671a28defd5e948a8b81b3b3e2772a2508d989e5eb274a374e1cbbdb5458288254f9955a135c8ff00c277ec98dfa1a5cf08d088637e33bb9b46606a8f8d21a6c8bf38aa767795a22ea712c0ed1ac304fac159c0f575549709088951a13613bec8e07a2bec059a89c4378cabeb4d08465ae2158c2c970a97119994a22de161f021b4b5812eda9dea20259e5b4fcaad6999617c0267551669055e5f8cfd7c3aebb4e2ed26bfb6fc40868bd36b2e3ce0be3230caaf36fcedee2c216100b73a71b420cad0bb0590475936327b34e708d2fa280ae02efad65a49fbc3172b05e245df00c9bc0c35454422267756c085a2f02b29874c4d46f0ee4865856c640b098e65cc5d38fbb525252b522c8429e69502a43249c209f8d60e48f0ecfef36dfe7d7d22116d420a7ec7aa58eb6779838e3955fba8445baa95f0106ac49fa23796ca02e4978807903873926e3b892bd5d443e038a2440b9346baff719a3fbcd7918a843a2ff7b319335fedfa2930669ae04b561d0ba93ba91a2ddfc6a6164000aa21c815caa229e59cfb3fbfe1afa8a03731f88250ea97286d7bee813f4b931bf80bcc0440d3a3544047b752acbad75ada3e35333e7855e310ced4da436fd185c73b16a0003c6c40a0eb6b95486eac247477c006f4c21127922303087b8ace06a087e2860d7d1dc8fc1191aab4f7bd14dad30fd952c4cf741580b791b2f2a51cbe109915e6118fdcc4ae635a23d44d459740336891f2696698ae2e1e618bb798cce62635e9cdc63e60e0e6f284e94b9c395a9865fb9a94500378a39ced4c231d88e3c2044a085ac244fd70ed52b19a28f4d3c1445165bd47b2119e4b66edb192fc8022065bce090665b0ab627b7eabda253f9441fcf55d0c74bfaa66340676e7b48f60ae926c3740e097523e60d19fb38e52410c2c8f3aecb9efbbbdd295c71d5d4d95bd0cd2d8eeb1274a345b9c00d7db9203c2ddfb93708f96c69c35d12950b3508f276404bcbaad3603b9034f0616eeea72c28e131ca098c7d46114076ed2250e28e8a9572962ef890ea08d2024543a3cd53584284b973b7dfaca475e3b54b83cb95f197c327f872d627b17cee9b878d87c08ca51b3db1d865efb3b3567737075b448314f6ea112025d6103f29662003aa05d7c510b44e63f0ccdd55baa675a28dc77cd86b814226381da72c5e4012c45acb85558506c85d99f0233ef338e40d563c1b3d0a56f69917cb559a021b8a62b4c82d8c47b252ba7890085eefcbe7fbc8ba6e22487aee3dd88db0a7aecb9eb53dc25f2b7a2a86df032ebbc689e5ec985ec2a2654ff0b030169a0b8d49c54a8046a9d47baae1be16a3e69e96691b475a356a8b44bbb5a4e2515435d22de27f8e190492eed3f92ef643e3f820f5a07ccc754739916a9656797a15796c45030d4bbb7513f9382c69e8e9c65d16a0c02cf94db36d1b9a1f18e85c2aa626ca45bcc4bdda8c2c064a929b387aacfb2f2f7e808c5d9797ecb6974b4388ba2bd728ef83757093cb208ae095d6dcd67db2af012da529e467d3f41463dadabf61f0b3d1a76f4622a8e807a838da7d369d7cefe18ed7525cebb3e995d8830321d359f4d95c9a7c7acdad198df96c34979133d8fc2d978eca72850bc0c1b293055fea88c5df34bb816c8c5249804cf642f9bc884a5d146f6f4e23bdaacc0b9eb54c8e340c96b1a2b6c52b5e4d94c7c8fbc25f2bbcacc8dca0a1c8461fa9925d38831f477bd44ebb55e21d6853f43b7acdde608566dd50b732038ce6c4c7c298970f225bf8deb748ee7cf317c694b07fa212493c29043335a7c56ae3a7d7882f935e034b9597497f5ede577628f36afac265de79693db6655e4a3ea673918d7347195cc454d82d5afc60a5f0d4e9e25d38c971941e9c9a55b2757bcb1c347a861bf4f0329d5288d29d3bc74d0832e05c57b876d233514bbb75ad618ab7615b81f768753cb3668bf446a4e6d28e08707ea498ae84c8757cfd1993c5c5ec162fdd76a349db82e67cb564845ba634f71783fbb21ebe9c7570ed2fbed1a77783b287882fb440cfd1661cd9365d839faec41df3ce33575c3a0f328f7108b3ae2163245e8c45ccf643b07dba2e5c8b57d9442741c4239b637358b94241c5caf8f7550d41668b379ea4fe242782fb6e4472078b2e3846757b5c50a6140b7745c9b497fcf1502acd954c2db18c94900524221ee946d6c3d2ca729466e1afcac8df4c83975cd0016bee3f74e43b7f4a8796c90c22bb08da1f02590f2a586bd3d7e1e5623c2249910d5f95b90c9946e49d1cc6429014dc16a3a34bd9516c2f16cb0517e516e0f34780168b234d1bb4183dcfc32affa128401f3a232e574e4caa7ea295112920a2f8dfaac8db354cfdbe3ddf2f87a6b6fc519ad350a9dde3be3c9a3b627c5c519754c8cb08415f680ba31e29a5d87efeb4ac1704c8cb632689b80ca35d5109942b40b00c36560347c9a04f98ae92d4b69512f5390fbe7c57a1f76a01462c4b6efd3ba6eaab3a06546ff6c52e188e73a199c88faab4b93ef5dc6ab202d07c8aaabf9ba0dc19dbd143c54a798b1c3ed6f2d8fc12416acc02378ad54871368e214bb4babf64c3b254ed6c2c146c1c92138f5a856857fd6b52429aeabb667e39f7b8428db944d87b98df79cfad1ee601e703daf7529535a32eff4e755d7f6214576ad9c15e37b8632850bdf0081342d3f2583cb5ce2da0a4be5a18b2700841d22b4764f4224be5e1303a92b008f851dafb51b9e72e33f124cb2dc54707ec8ec1a3fb998b9511217aabaa3c6555e08a72516adef0188db97d834f0bb068e45f5cb71c80e2a836ab1a2b431c46be3b58eb2a09b1be6268727a94d01149bc8b2b3b8ef6035b21e75412530f0b771684657093a689d543c272d7a83426da8262036fa593a827394d4612378d053bc3b6d72f416264c81c6cb965c74f013e547fe5fb55b5f7a61685ecd48226ebce122e8c6b30da1ece0e66be3d40f1900a9c571d7e0fa33cccb81bd81bef597054ae4a37df776ca472e2e04061d34b8dc7adf2633d9f0305ba221d1ef52a7836ba2270d03870e42cf4069cbcd6f0dc2be698d2b98ca38703e00ac2a682b2c5b380a1685275d23b4a740147f123c6384cc516f62728e5be7ab5d73c112ecbe25d5e921f4f110d095578c5496c90535e303505e9060e42ad1f22d806b042c3da16d160920bc9b076cb61d478ebdc201bdc7e72e5d3296c7f1fb0b507f6cb2c1343fb2e023bc0e2a43719fe7ba4fa03196c799698474fd137996eaef06ba6fb5bdc8974724f33b914e327a3f582cf065e5886596ad609f0647569d768f26c6724e4687faa46cf6db18c482ba1c2574781cec255de2bf03452752caaa6dbcdbb8ee82694c1561511f70ae1e4a781a6338e59addbed597cd0c3ef5423e193dbc4ea20d021ad27db423089ce6cbd75ecf1f09304019a73a4c1188c79c3091ec86a3be2267b7f53dbdb6135bb0ff6826a8b101e54cfbbbcb65a954cfb1b99fd5d7461737652343d1d26f19cdbfd6abf8cd95b4ce97e85bd9f94221e7d4fa380eba95a03069f90b9a83aff78ac2ec31d160c06a45a4fc6ea35142a60979c950f129703f64abdd9122873686ac4f43ec1ddcb7be4ff048a2fa7a6b3a5254534e5ece030d257e1216092b636a7e80755a4eadec055beeac0277970070d4c5e18322342558bbbcbbae2385258b15728865499119d45d83d4f42ba60e8e18591e41f89e8cb62e867fe21a680fff75de4b418aa40d9c599bce40dda89b65a07d4776c3dbd7ccdebdddefe9d325748e15d6da7d36774d3e1d636a7a7c2dcec879920b3f0221d3b8b41fa68786769f82688a2b44b555080819b87fd5e88097cdf04219453096b3c0e0e478bfc911afcb71e4d0d1c3c1accbc6e9616972fc1a5c5723107816f72dde1cce35a96d31defee8f4b7b2358156221a9a44804e925fad82ee5da6c34ff60417467637f7f3d8e5460dc0524dd7c626273fbae84f1f90280bde2595cba8d2c0840537da531b00786f56b64106306f677a43f5d61bd9fbdfcfc48c4ee428e0141b8339d635742940c08098abeb745feda09a3f3c875bbf506186519b0bbb21aa3c7568c9efe185fe2098acfc4c9894110f7d2077ec71cbcdd7749fa00526316dbb99aee67201ea8a72ad4a29b449bc641012e7f7f6c5d2566a51b8bc4d5ba8cf583beaeb0ae9a39f73325c216d01f81a57ba8f523838b7559616a85255585b260ebd30f64ad122f8b0d59e81bda4cfddf8fdc8dbfde36257eb781ab04b95c53abb6cb14cbdd52b52aa004fd30178c090b2d8417cfb39c14317a39159783035d4ff47670737d82d640af40748125e93bd44970876b5d44ee41f1080558b2cda427ac0e3680bfea82d3686c1c5be3c6fdda6fccfe1c3b351d6be46c965fff83b12e5698a6bb9d0c7e3871a36db34bcd0905b2b831b1920865b04a208bcd1785ee3076ef91e2e81f34081778cf3e514916596e5d3f14200caaac393e2e823a13be4480b68239a5a9ea0279ccea3529293f3d5b23d767b29a41a040ca2aedc9dc8036b0235e481908fceec3dcbd71f0599944e443cb1d979c322c83fb8b7de27b5e1479d42b225924661be7e5c64fcb5969019c5f3463eed663a62dd31914ef111b09d00c5be8aeb7d0637e33f4209b57332d16a74817be3b659d1a53040165f89d4738f9d6c1a1f336abd861e7b90f71ed81f410cb382574707a298aa556b1c9a3644096911647aa47f4a4a259668747aa16d0802215d9f81ec40aa5cf3668d7cbf789423f227971d287271220d920febc1a3eea44fafa0e6eb29fd66758a16e694e848a58ec2a12efcd3935512904355b268ae694b9e1622fcd175a2251ace0e85cdb984a148aca8ce8e25287726fb7869168f5273fcf3482d82011c1ab81771ec3e45a071fc5dd5a06c238de0d43ae8266bcfede2432c8942383efb65d0499e52a17132b120d4e0f7b566e068881028e8337430b7ad3ffe019524c100ad8d5cd4123b24b6541ae6cca1300bb04b91852d4b2499c5d698c64465c25fc5d006dddd9ed5f6b385b7b8780b44ec1515849c8e5db672592068e23e3b9a8ef7531d27b21b1c2ef0f681b108f021c83d3dafe8c103282d71f684d907e011802e14c4d6f9d8215bf3f8061427a4bd00a0864d626f3d5866588bcfecb2a4491e0ad6209d1b78cb874b76bb3bb37e14b116fac4ec9b787d27b90be5b567a83c8adab8c1a45282c05ffc5d02db6cab36c6318372afe31dea126ad04128bb50baca5d5ae7f7678531da7e6ca8505ba8d94a0d3d0c47bc64f79c090cd55198011008c8cdccfa69f748028b8e14f88ecfb80a985bc9d268caca0b05f551c58e92406f5fac466802a05daa060f04b981a06b8d01fa71c48b80a254edf689c4bfd5947d3f3c026b7e2631235478c3a843296bee8c46b176b840a5ffe5e264c57cbb03d8f91282a1a8bba96caebdc35107dbbef32cd101c521c9a0ce42693b288985b2c85fee2c59f441eb0d6a4b5704de880566684a6e4ee2439a0628457bd462845741fdf8b08839417014e80baf244cd04058ea4cfc16fb611370783ee10a387e0730e3ab56dcb3f082bab40fb448e4f88a8cf1076f1dae5ac5718cda2c768d5ce262471765a9d2e8670b5c9e0306fa20eeff927441c0f5c946c44d2325ba0cc5b85bf60513e30493a6204f27f0ca856ccba8e81345626f82aed6e6025a709330690f4eb88cd4472c0aee971b52fa0cf0cc1c118af7e95d750a1ff46a0cbee8138d0ee273715671629304e4e8377487d5f840ac0d708019ae84708e579cdf74ff5dd1783863c738aa15853f353248b5c3cb1982149ad76bfc45650214ff7281e04d56ddfa91e6484bc66e46f0dec32d08d1999d53079d30d629113fe275ceb409ccc7378be0b9f7ccc8dc89f9fb1cdc6d3a7ae7a587c5a6701b64b2464e4b76836eb0c06bb622dbbf6c069f0d6d10bc7cce5e1fb43a92c2efcdabd4edb1512d8a4b6808e0c1d1fe576c8826a495e83b1ffb69f250217b23e3ffa7266910c3cb526363320d6e220d4e2a60b45fc66c77ee52058f29635da7b48c00cd7a286888e871377f12fd6a178a860f311c550726c729f5c70779320ec78b7f539ffbf60ad8bbbfe348bce8f1db147ff5b3631ecf4983e30bc9992485e23d01fcda8849ce33215f05b63c41ebd1283bdcaa2d68710a8f0a5a580f08e9994e392dced2a54021bcb984ed5f82775e24e16c9064941b59660ed5e4d39259c5f546f704e3c9873e83bef9809265547c7738d0f1a273aca7f3dcd281588e066382300f35a5dbbbee3300aba0ec7ae6a770372ebe140ba47312682868bdd91d5323787505b53e429cfcbf20ce2f2bcde83558c1e5af7396c09a222d868aebbe31cd21b3426f19841d985ff0365cc4867019c4129e629d99fc10bfe1fa06dc21c25780d4d33491efb6c56f4fe025633e2d5403b348f75aed6b394d7143605799144dcb55e2034e09b0b052e606d1e6b3bb81a9917c867cfb537bf550cbeed64ccc9e29bbecdbb93b08bccb2428913a4b7f13b11304e0cc90dcdc96b385cc208f187aedb782d6e3c108077911ebb005632aea5549f4b369992e594d15a919f8595a5bf8aa09ada54f60bce6b8a3a875abc8a60df042e24bc91c55e9ced575549fe1469b1284d87a9cc7653a8fe854de10c518275271badc21e1a6d5889a4940be652c531dab4c3e4df9ca372fbded8a2076a5320eac7220d1ab99aefbd4601979b25bb4fb3c8a35e3dca92da38c1457c440aded92b93f47da8874d46cd6c223dc93990223574275e293f3c58587fc1c201fa0beb335a556ef3d43c9d8b43a235277159208b2891faa6e9b732dac217b2e5770e5df678a82520af56ba7b2a8de64a7ae6ade9c34e5353f030695e8818b0bbaf672ac9fd33558ea93665f7ffb4b96dd498d7fc0b526843da17e5d0f2b8e6a515d1e7daa9e9c57165bba3238a5ed08cf4127084a8994497123db3705a9b9538c39052e42b8d1464ed4e2f1b0a0d189f84522f7faa26bc4e9298c66dee6b9eb183fae9987a95eebb6d37d4cae8849e8b6d40ac279541fb5dbacd0fb3215a0f0c210b5432846d4959820316ff05bfe0546c915995f2b18e73ab5d1ff517451c7386f1546fb33e17f286f136bb0f1bc8d60fd987e506cb24d695e28a6f508a5694aa82dcaf2cbd138085e5136b2f2895585702a98ceda3e1ae6fd3881362a1d7c8a59333aabfc94871465e851b36ab88331138ab4634add0225923ea14b485e5932b81346b1302999a99eaa2be3e790b9fb73a4477c4af760851727ec3ae1c43e9d5fd4e11469b4a9d6f1b7c9483469f926b65d022920b48c4efd9d6369d932d42e47f58c82648c4d543222cd71dbc4fde83dbf86445262d2e183614602b9a1040269bb7b52abfeaa2f3937dcb84f834bd32b974e5ab9be701e6f20fd15e60a264b0d7baa0a156d66651d1c62645ce4fe26e33d5ed5894466c9fd1bfe41ee9d62c23d44504a37c4605c3cc54a667f5378248891303c4a64c8339231d4b75ee43245ad02d1b1338ca1d091cd31d151cb2b441e25688c636bbc15489288c42f05ca4d01a465cc3da3639cbe2d1fe480d7efffd0d3bffea06ccffb7c6440d566b70fe4497f040a9b27f1b5292a3f70f9f9e7ac0a4aece687231ed118e85dd23cfe2ebb18c05d3838725e5e1897d797cd6889f1e42749c2f70519a19725ec632dcc2f4a596b4c1e961b994eaf1b5b4edc1b3c4d4935af2d2b3b384ad87676286031de268338e62c661a3b167a3888b7383429ddaa4c01084c299d72969ebc6f3144884842accb8386a495c1ed5b65c98d4185cb9d4bcb896d5b0b818d472b8fcac149c01279db94c4b25d28de199a3e0b6994c1c9236e8baad7892d96ecd748b3d5c13997bc9441f7bab8998f7b889a9f6bc13b7f67012f9f79213bdf65610bd8ec21e264f96ef73762292885cb6f5ae94b53a8bae1b0ce85a675b1e7d00ebd8c41695194eafaa2b9cb855399cb9aa9e3957aa5838f954d338fd55379c98a832387354bd3897f2ca3e79f1e9c0a0fd01e5b51f72d263742a09f95c55e81f14ecc7856daff6563519ccd7ddd376d21be432ab376bd9b7776719532f6b39a5d7cff25a2fde32a737e9b267efce32562fd3e554af87bbda7a8fcdddda86076444a9c8600a855fd3e70ead307d519bf254bdfa5a00c637c87378875567e3f6525fe3c6aacece9d52f7e0dea48ec5cdaa9ee3f6467dc78da3cec49da8ee977ba58e899b553dc9edc7631df77461f8a608344afff36202cd407cc25ed522b85422c85ab5af85dc8eec1136c041ffc6fe3c81e83e7382817d33094afb8112b4ee2713fcd9df25c8729f936066df5482d27e88049dfd9c09fef79712e4eff33b9d518272af0972b760002cd49d29a2c73aff4eb0991aa7db3101f39531356006360c388d061368358845d1d13084e290865a14421a9a508c6b384451a3410c454b0d53146735545108d7d08962a2e10c8a5a0d8251f434cc509ca8a1f41408347ce784e2af29e63c1124a2cca97463ebdde002ea25e08bb694667bacd28185bd42372f632ae3cb36d7d325aeef7b6d9be0d8f681aa9b3474448640859553e838880975a41864744f9cccb12bdc79e864530f7ca54117dd6f07b56cb3be732a0fa381f9430d896abd81894c33aa429a3b9265443bae5c3fe29c2669e80a8b7309401ec00cd180f232ec91dd4bef8f14c8275aeb01ba03c4d26248b1cc31d9c8abcee70c96978a768e01714838313cf72f70930948b050b6a5fbcb277e8a97eca77168d8cf9703c76cf21d17e8a89a1d065093e1de4e13d4abe93d97e281ecab8ed9d5043a0a195b6ee45527573f83a4426dc627f84ce376e0ce69bcdca807097f24af4cee7f76ea29dcd07fc95bc8ad1ae1b12e91b81d2bae534971f7c38d8e4be86525d7be25aba6a932d026c5998544302778a535d5b0c75ec077940f280364b92ca935823f50a01c39070e62d6b34080c7c24a0f888b513a7bed4b93681ddc14c712da5bf0bfe2b3272d05ca3f00f6d1f628246e6cdf87305e61bd3dfc056d7cfb4f0f74cce5f3b0510919201907c4d25b36c73a659d75a96041db748791ef37d8eb3cc0ae18c95e167a905862c04c88b7f71eee7ba0257aa6d952a8c4d770d0e37af44d915c83d88435904974cb97f9ab6cabaf433794c5bffff95784014c1385309657e2db512c04e90631671413b5fcc6cdd5ddf19a0a209929c9e282f0ad39aa5b9bc488847306bd0c6c7ecb9ea5adc0c4f53757242355ebc3f9467d1002d6bc39803cd545df03817e10c4353c67fa57b5e03b3c5444bb95e05a6ade715a60c4e7415e7d97e818d8edf36a39f494b2ebf46a307ee0443dc83e7d66720091b713021b744378d177098746d0dcb87c511b13da9fe8e18b0b90a702d220aacbfb17a8dfbc212d623c08e53a812aa14698c351af475e04b4c841d3728b3764997a00467ebfccdc86bc2122ce1c9aedb9defbc3877cdba792f70d29ae548fe01526a37362ba0d021f2cb0b6bcb15cd46582515a0064b9bc2425a6050884e13ba58f4f2c973c6aee1896cfaa67a2ef4eb7b57a38f077c4bab4e6b2e56a4aa56ee48406dc693d044c56a3b03fdfcbe644cb870f1e5c392ff9bdd4a2e58731cd93809d457f2af42c6414c45e529505dfc4ca463cd0997e6cc3ac89ea6060e18384ea89c9d065112ee56a52064ce2eb50578b8e3d0610924baa80c52ec22c2413769c7d2fec025295f618f31fb92c636340eb812324ab4d0d42ecc2628fd69cddc22ea9ee9c3490e6247903d7a3d274ed969fc4da831191ca1a9d5023404d76396a31d94590239d08a66121314909309f5d98a5d770bc7b0afab7b35a03031f91b604112dc2cab24a94220dfb8bb83ca37e8348092ecfb8f16efe62ba41e15b7413fb4d4fccb726ff7e3691a3a4284caf69b5b0ba0466f6c2cb207aef2e0b6bdecdb118ea202d6817557d59f5ee9c57909172712d6d23eba02900f3c74c1bdaf52b6f5280c332c55ddfcba662dddb61873f0d3183f2d6b3e95d0ae0b863f2b2b88d5b9ac149b216c2a4f0ca4a948444e9c530735c2239aa8a7b73b6a507e1ee370f6d2785fce9fc1270ad47710a80191a93b8ed0d314807f5f3df7641c1f9512b456410bd43e1d135b3c068250bb01a7a91b2eac2e5a0c2a6c71198df14a16f58edc1018ca567366c93bc3e9d7944c9266d6adeda264ab18f3bfb6fd4fdddb31299fa5a22425b221ed11444f50c6041d67512bc2899c24ed76c01c2d5fa9dac26cff1458b1794682cc6322d9ac8d261434bc5a59cf597dbbc7185763adad5ff2e68389bc02b226b7b207a5252e6ccb5be050965b6d7a63075e0872f8fc9d3d09db9fbb66044fa26a85e67513619f40359f0b059bc050d88b358a8e0ba24989ce90242b86e1e0534ce5c5c021201a9cc2e0485610eac755dacd368ebd878c5f0dfec69de73e3833ebc64abde3247255e057c38f075e2b4ffd77386ccb34727577f345b394426f185e5a752b526c9c157b70385829fe0ddf671837b42644776a3fb0a713326441ba0db80dabbb844769b25a2e4349ed06ea303ed341cd04f830bfd6cb8d09e6df43e010d75d0a00d1aaea75d4a630e55691b4f9e51965de36a936500b8b149ff7d19dedca500fd14529d12f0fe3d7d7793bf99fc2896b53e6b82a456a6307d3dd17ea5c6590f5da390967debc1348a69f0a77ab8c6a6d5dec10271fd522b5d57d1a47016e240ab698a4ff5708d589ac2591ea6d1a529dccae1349aa6f0872b89476fa5445d0013e42cc4069ab4eccf01b5ea9f7febfba82b515ce4ca36680a0b497456ea0abd535bdfe3dd1b036e1df5908e8b5eac050b8a7b20b858725bc1e5d8b2bb6c49e0ee002980bb2d1772935c78b3be71dc2cb7866f29108c3fcc3da01aa36eeb8bfad6558f6a2daa62ee01aa81ae7bab470de87347217fcc148f420b4527a1f3a69cf606084510e0657c2b825f5ef656805c6e6f0508c0657c2b4440ec8817400dd86ae0ada698560d48bfdaa00f32d36841897f6e86ab0804b0b27736e4727b2b42004ef656005c4edf0485ccdd09dc6be8d6bd4648d85f79141c5020d5145d9ed5f4e6f474ec0816977d6de01bdd146c3097408a94867d5c35cc92dae1ccac49f36e9b4704a32247faf8585f20fa1f0eb174231324d0d5ab05c044c3a9510ca14be6677fe52349825d822f40456537ef0feb9bab8046e2af0061d03a6f6a5ff220480cd2553fdf31e70d604f5b32baad46c338e549217b449031d6d618994b148d2580d44544d20ae0afb6e369f217d2da9268f2b4002a06ff386c70131226ca9d0a56b814b222ddecd86eead85f6150487b0f5d8c6704f17fc5d59efb57dcbf76c2977638151085ced26e6c7414d965e499f14cedcec5f29b2d7426587eab8f522e63082d5fb45d76489bc5b0997b2dcd2c88d39a03457e1931a7ecf830564eb664ff0f0fb03c188535cb07ec1d21b5abdbb58e0fe3ae423203d9f3b229d01423ff54be265ae91c0729b9e591c49f5f18eaf62c1e22c1ffc5443a4402df6b1b392b199d05414e760ee9b81f11130af3e9da88cf0d8e586b1b566bae0097e79cc5af643a0ba04d92da432c9909e4e4abe2c2e82d57ed549ae1208ecc2f2fccc99cc53afe199666e57fc7069442bd251acb7f30600a307af6931a6e8536511d5e4e08aeb4e4c64da6c0e6d67a7a677b262a815a725d4c371350c5808b8493c7c927286ef1fb1d9ccd4e63c3e1242ab33c89485150c96e1af141955e7c3fe1e204bbefce031ecc54813e1f13f3de67604bffefdbfdbcf83f3802c189c11ef4924abe3ad5e73f13edfd1ea026eac03bdc0b159198bbfedb2008d674a7ae2ee65f10cffc304c030e0059598a7c20876489937df28534d9c7416f0528dbb13114fa61fffe9aa38a5624628774fe269c943fa8c131bdd8c743c07a0dce88225f16b55fa7974f774fe771953ce8d4e6eeb61ced2fb7f02b35b60706c6ee42a6c302d49fa4143a5538f49e10330feb013df48ddc9601f95a8e30a6817f8749c57db6f66def956838876ca6c92366b59b859a4018a1c85c38823f54060f61b2b4cbf607c5321a8ccf2ad0fdc37e51fe833414f67530cd95b2c322e203cb0c1dc12b07996bea0ae4b94f6e0edf5fead3e595ec40e3485560dec3300eb05d0dafbd5f200898c6d103c44a7c42233a4c5990cdfa20a003c01ef83bc5cf93aef425fa6255d52da0f5f00b876febef73e5f507344ba2c2610ff8583305e270665b0f3c16c0d197c83a0ef505620b034f54486be7f97ae92fccaee8c12d4747f2935c3b6caf028d26d0fd2c57d79fac71c134e3ff5a7f4a3462bbaf71828553cf38097a5fd240173675ea9f87d2be16620947003e8dec945fbc164e3d400f70e1146adceef1710dcee4cb1b00100d292eece96cddb6ccc13a598b260f704d36bf2f1958828805623862ddfb0e912b7df2e2a3c94517d55b66b04a83140435845e2c0080781d7ad75c35f077bafe56f2d3e238abaad7bafa4d862aa4c75a30113fa1c015ad35646f9f6b22d7c2eb7f88f173571f6e6f0307810580a2a22fc1548a773ec1d1dc62ec4e0c8f1166930bfefd3c16bacb0ab84d53aead836059fb300b1c9a1d35b400ac3eabca2110bd78532386a33656077d879d970c904c666c3073315f54096a1767f944af11229d8933f243b6b7bb34423884d43022b2d2e4d77eb55530a912125da50d73c0527b3da710f3372385b05aa3d93e7fbf67e281ea547031b9491b835444eb9695e131026e730e515d6bbdd5ea69c36a7cdc52627b651b49743babc7bd61e5cf07f65fcb3783e9fd3ff423280c511315cdd8862e08ee2a37a87cf2dfe12a56e1ebeb538faf2679598aa678274c61994245156c33d5ecac726c9894bc9dea6d2fa96f9bc9240d11c04221cc0a7bb46697c8495e204a871375f1b8b5aa7c3bb5ae8dd85119cc9fbf6a9e9c998b4b017e2794e30cfe40a54470ac464d199ba5752a2a40215a2a7951ca1a246729d63719ef05ad5f43d342252d8b14c4845a57a3a63ccd81a581a87be4d52511097533ea035698f0a60ef6e74b229de8574e408c2971c75bcfafa421d6fc0bd8ae817cc79fb9a990ffabc243261934567b916e4a0645a74ddbf1d3e2492dd6e701b907c24ca20f10749c2c3a002254fdfe772ec7375c31eaed745a6922c759544a9a6e984f21e8a93fedc7b03a1fa51341f86fe9cac7d45a16e5e6739f967eb10c1a9574da07ea379fdf3fb4c85e08b1958f412285202bb64c35d0668f22dc13d7833ff9271f850d67af1137740577bb079b99ce9503aec6f6ba3c634119f2a7a490541d8cd35c3fff4a89aaa7042b0e159bc38494f85bac6d490074f29062995bf999c53de7d479c1e7a4a6be2378a05ceace12abfa69a71e46de647a05c1ac5309791098293166e88d1e362fb0cc3c2cb6b4c100d9383876b10c09e0e6822e46568a315ba8d69a0a9819e953902e51a251883b48af87d211f3d3ca6ec9bb90b34a1991b5fbec54b73d2bf7c342b648b010aa0e97c95c6805a2f20d789d29da80f76cf3387db9983b16cdf1ad620b2dff8e50cc286813417655f44b808e36b6a45c67f22ba2dc5388cac7ddfea476af6296e23e1e6e90a5056d29ab5f4fcdac35c6ea166a49be74d0e3cb136acebfa8d254a7ebf470c6cbede657422978f6e828f374d0f5b9a2b68efa78704464a4d904c52d715d25348b96a051e0ffd273a17ab74504bc42939894f519bbae1fbca788eda7b8b787496a9ab06e3174cce3acc4b485684ca965952bdc09c5c280f114084f385bda521a6f38996e1445de7d29819d02cd635c6308176202a0f9f2bb724ca125a77f2fe6267ec7f5ab8ca98b2fea8dfe7b818e6e74f12da7e5334383c0702254183b50bedbe68348b6ce61bef03c784dbd6323b87713975483b892e7bcb43f2999334dcf7502c841025a04fab6bd6d9ab600882507439fbb96c82214803d3c9a9f92f672c4b1445a1f422f1c56e3f5ba5f1ec868ee897b6e7e594963445ea27df0fb60deb9441848b20b6342f492fbc55b4104093ae0d9526b0e201a66118677d0ed5d0954b895dac75228139652868b18c3f54220fb04495efaf2ab6dc05b6fd03080c84effd926269bec0a080cf424e06be7f0c34e6a1898a857474f52760df40a05f469551f08436ec3c9582aa2a8b6ff40e89274d98a8246e6af1d7521e0a49f0109b7c08310b3aac3f22b7382d5ff76935ca06693f76ab7956196fb83b3ac095767b8ee39aac56cfc61607289669f76efb4d733744a3fbdd6126da5452aa9832858ff40b1fd91fa657d673b2a025be86f074a503df506a3b453a42ae6ec09ddd06a9682a89602bac1931c7ae52095f5a50e67620a446be42e0fad626d1a2fd3235f53a7ee64734e115b316194e0e6b8c4d05e7f99f6358e9aa417d1cae8088a414b4d4e55079fe33804610f986a6e77449181e4678b6c240eaa8a0fd7e347e7c958ce933b0959e1cde0e52f7a61fbc1cabe47319898f26fcaf7ace614f487f4f01103bf48d73e60f8d13ce96104f2c1bdc162f9c72e30342260339075435e10bc92b7793c4800f993cb058d78a54233c859172d4d9386738fb7b7a0293c53358cc0da355dc4e1ef11abe9b1e593b829ad029b447f6b01a1d3adba8091f34b84d560c6411be783126e20b9a564bbd3aff045989060849b86117e3bd4cdd4eea0691d2b0fa47eaedcc5323873249883d0f06929903abf0027554629427cf52942d988e87de476981486bd0db77cdee8e031bdd6b26bdf77e22d0385861bf1cf5b1cbe157bace944eb955743b101da06bfd611b1804dff1dbdbd1338951a80ac4d1fa0b569b43eecfb2743c50ab9b546c34ba05defc4432b1025906d57ce56ae1b0c31dad05b53365163357dd7ec397ac29c2cd8fa3f401b7c25083c4f256b56ff16792999c0165fa9555afdebabb4d89e1c110a50d44bc1553ac8c745858a579e7a7f4611cef225d82ed99b7d6cc315a7542ba5d1fb6f205a5ab01144c0a3f9abaf0127c3fa659e8662a4ff902d78e9e2ef7e9fa64e5f72d3a705a49ff137a0e097e5a8e7b02dc9ced62eba849906a787d4d741fe29da4651c8f3bd98168c04d14e9eda0cfa60509be5ad696974e782bba4d0ec9f56da0c47b5ce88b98ec82599d85289066b8fbebbe254da76df22f8f2280dcd8df9289c110d7085e37f932c1450c50f9a27a54aa7448d7d79f7865034ed2cc3af2a5533224afd28019b407f846f89f0cb55017a540707d81296657a3bb4768fa71bd3b791ef989d5b66d081405903a5a091be28d741e57d12813a1019b97bb8d67085953cc5c9211e6bab3431d26b7a199f5f7b319b595b1557f0ce5846a0bf93e1434493df8a7e3cbf0d18e4759399be3bacfc24dba2a339740f02470c4367f584ae07c498940a5f7af9948991fa1f3fe5dd08c277586dc83f4a6235501118f0317ac2232e64984f5bf927547729786c402d131ea7933e4ff7b202519c059534db265866a3ea621a02fe0f9d436e824f9ab2ae380e4212572e6ae13ad400ac3749975c89dc8f72d53119d7cb4c058af2d5fbcd245a90ec7908132c089f1a85f735824452b595140f5719e846c44ff75f9920ff08b5de10b06a2dd4052f14a033d9675bcd66b86a2f00b66e0aa40c67748fbd1b99f1814779fc626c1d793818d6e9efee5b0c5b177d26e6eb3cc0e0767d0bdbb5f379f0639fb6a14bd477d60e1d429504bfac46c0729440f5988ce168b7063fa407e110e2676b34b1b77d1bdcf690a4536ec81daef3c406b608476d9c931d7e2c1e97fef01cba68c47a300b1a18a6423a7ff44b837b5202574d9d45f81474eb64668deb5363eafe6631ba9117f0acf86c276038da972d25cb8d6f6b76e198011a073c51b95090542df1c20ab517559703e7320d773b1b7fbe6a51320d1a129d8dea706ae9040a10e1101c8e3800c763a181b9ada0894bf5ed5648d2339cc0d71a77dcfd9dc196c8ee96aaec8d72e61a398a3c2553f09c6c773b5a056acc568c500013f8d7e0fe6f75699757fadd1d6b043836acd464b1c9c184da23a2fa9030d8fb7b74c3fd808ca7e5919a45b68418286d9783bfc1c95753ddf17ba4353238e08ca864a51ea44060702a5622482f99fb27e97853d0e1b3c227bd9550d447cb9be873a1dbdd2e31fd9efcea0a8677450142c5f4eeed61af291028961adf4ab0bcc4365a4b707f16b0addffe24c92753ebd66f94c4c3095a5afb7ea786152c348c6d086749c480a70b3a67ef62ab46407d69e04f4b7f48db77181073bf8026b1e1df9f6094d92ad32818b6600a5d412a14ee2102e3ed8ab22409f738f3b6188645e1a41edecad3f586da0141a77333dd9033c70c6333f0be2f389eff260e6e74b9a5b2320fc53e628cd9ceb7050e460e139f9f104c8a7a89cdfdc4d1a02b681d5df9b1c08ae0af450f5b0ebd91447d7c6c998435a88508b3374b7c6108eef2c626481796864b67c1453908b3e054dbe2c8e156d008a03df0086f54fc0a778509db3a015702c01673c17164cb952588ab46e905c7dcc704e50090d5a850d7485d429a371044de3e7796cc14feec3c949029801862b3195e978af7b9b752e6f95d16dc0b9b83361c40813980ecd63dcabaf7e3ac2601caff13db8a6bc757fa10fca7f5d77a52a5bfa19d14a409990553e4ae13ffa805406305193ab2f311d44c809d0c06025496913a26b0c405aa19d082c9d4a83518d45f479525d96c2efc90f804f9aff08002cda2d31d60657169e1aec86eab8db9c4c6e2a145727e4555936f9b96091edb1bd5bad097758c717511389fc072181ae8f7f0723802c504d0ce1bed60b296d4f62a2da1770ad628e28c9946424c9351a1a0c482c47eb173a6bcb32e450eeb5c38159001194ff2086f145d44ad5f6e71f0c0b6830a87b5282b9e7347abf7ddd7117bd3c1b5c0b40a370028e2ec06d78f1b0d915e313fd86e07d4482753530d6eee7b442880cf78bb03a33106b23b1ed53a9609cb75280d8301967b05fde9af922f742636dd49bad95a43f20b9804ebf23e0b067200e33e7329eae01b4eb00f38cebd58e42e01570d1a9746f9f2fd9de800ebd4d6abc5e39476aa59e75405136defcb0cca60ef5c1bee866cbfeb4841128baa68407124a105a4e3ca5df803c6d122e3281ffc6d6fb0676d635631f0899b01915f8d51f85a3082cab13b04a0dd14a41f0834721901db5f4b6d5f5115f1e3e2892ec7265b56341ecd0477c8c59c99cae590ca0fb82a82025aa1a97dc9f3e4669572eaae399b3bb36be974cad3f9992cc133e9b1f6a2401da5ec794433a0dfa65429eb700167aa6c76efe8d9bc0837de64e2cb97c86414071c0b8b237f7a419fb2671a2b90a62313e71538783766d3803e18bd8688b2f9695559353504bd7daacb62474597bfe1ee04cc3f854a07dbb52fe1182911b03889c1a8fe3c3463b173cd69c589572cfaff47bc6c6deb8aa896842b8724a711cf9b0adb57db4f69aee9cffa9b5940b0836c3e2b6be06bc8879e898f0fafaf9ec398899c601b8055240b02b0ac2940df217a8148b5c884a87a608d6464625107024ee4a87845fd570c818cd34cb61d2c016e95c7675816a78f75f14c2c82c0cdfb2a8f8df314e7ff63b8bd84a9f3a4249c657cd85b836324dfcd7502c78f64ce28416ab12328a541b93f8fc13cf8763aedc3abf235529c8e9578577b670f790c564e2c80577640040b3d468198a956ead3f642fff7c5ad88ad9f8a79d801b44a89ab6af39adb5341ad504b80fe7217a48d58e5a8879d0da85641a15931a405125a50a2631365d5e4666203f847f7308304283208801cc284f7e93171b3808643b66b8d5ce6418fbc41698dba941ebfb15543e63cfa56b9013d22034e8fa0a07cb3b1630a5f1e996fec46061a2fa1fed74c890dc145cf06d069ea5011ef217043a485106e611825b3387576e8691fe706e277d69b5d2fdb2fd918a2ca9a84238d6415c0bca5f08e80dd7b070bd2578867e0526a72d2bb99150643e1e2bccafe59b89ee88f15b5c5752968fcc42ecefbdbf564ccbbf656fba6902b189a4878bc7c11188b80817c372ac6cb51bca78714d0ee1ade04514caad824f12c55e1fe05f361bca9e6fc1081e081e13ecc8d09bb48c538b291791a0296a361ed7244d2e9a744546cf60f2668b1de9ad16468da7b83c98741c125d03b1dbe0f839defa9df7e9acd93e3f2ef9925cb2bfc66c0cdb9aff94fda93a9c4d22e500fa6ba58f5c13e0aa6f052e0e88b61b94f20d08facec83ad9d7ff090d219b6e9027eb84ee7fcf3869b01b0f5cc0a3a9c78de6cafe1f0b86d1018133c6ccdd187b4b4005fb056095e7fe34de64e925d83e9d9ac68e9840fc8973bb8dc04ba0bd36f7cf992c5d66385ea62579e638d3c4d536b2e3cf574c268ca2ac07afeeb8e19f012c57124a2a1e18f52c5f03fca0dd6fb4192197ac97eb5c0664b25e4e7a222e0bf1f073f524112f2f3c883cc19884414e84774d1fc2cfe11d12ceb5e9b9bad38b6e9b858fed3a005acd9e41aebb59f5328960ca05d6614558360c89620d00810f7b7b765b31bba0b36b271bf5d902e0305788e8d3b73ce114e492edf2a98c462913d6beefa847b17aa5670e07c42ebe81c032fbc54ee3d6cdca366b93403dfe4612b5a5e1569252a96cc9be5ee4a0e594b5ca26139121ed288329676aad2ca23973e59b9b24399795707ccb5a53a65484e3822d5bf93248780077844c2a954bf863b0da8376a45333a26d8f8aae2910d448caf822f1e8b4223e596fd4ec4da1d0ba240157023412fe959332e8a6427ba0ce4008fb8b00a9ddf383bb8c996c84c507aea213529229f2247d9fd529438e86e8595f2f04c100c8587758e28deb75708ac3b00031db748eb05203b441ccc4e04ee8f853cb18339e0fe813bcfd209152e16210f06d00b25472f008212270c77682beb2137713a015785d8441d6e98346b8c504f315b63af94ffc03a78d13703f64bffc23d07444cdb8d3948cfa8ee67e8285af955a142696cd6f6964805b1bec0344327ca6814a2d2962004c11dff78d35b1e41c0a7462a8643b18488281e34b5501e38280b917c573a48943352ef3226a9b67382b348a4cb7369ea863e11d50d2e05402498baa1158b4b4ca9b94601764af497080f37bb182a072492f857c0cab679092220e3dce22eef535bb11595a5caaa3a1b670306e0371d69e06012c2daa07b922d0b30c54c82776cd9f4d5066b100eedfa8fb792148565fab13c9485fd036124216d629eed6034e49d782230e86eb8a90a31d7686230873774ba61480dd62161e70cf29e9693c2ba620e5ddcbdc0240795bc60a3074b9938ccec53e2ee3d6df0f0d6a5dae151b81a9d00ccdb7d07a450427f66bbee9735c26df0fe28b244fdb3942c88fdb52cb6885f569945d6f732abf82fabdc32cb47315bec2fbb6429eb439925fa93b57491f551cc22f62b76c965b1bfca5962fe59e50b593f8b2c91df2c658bec8fc56c915f56198baccf22abe87f56c932cbb7b2d822ffc62e5b647d526689ffb3965d667d1459c4fcb2cb2eb2bf9559627e59e597593f8b5962bf2c254b617f59842de29f556621ebbbc82afa9b55b6c8f255ce16fbcf2e5bcefa526489fe662d5f647d14b388fc805d7219ec8f5296985f56e942d6cf324bc42f4bc932fbcb325be49755c622ebbbc82afe9f55b6c8f2adcc16f90b76c952581f1459a2ffac2597591fc52c62bfec924bd91f6596889facd245d6cf6296d82f4bc962f6d7e2d8627f639559cefa2cb28afe66952d1c1fa891067cde02ca438e7357301e15370700758033310c5d225b5e11c2fc6b9cbe32f4502ead502091c69c5650038013384e4ba2013e593abf4b5012d489a2853a7010def1da2356947d09ca63ff8a96647637b1d7606c222d6d496893d02652a624010507fc063a07d65aeb05e00ae0ae6c406a635b352e9bd7cd0e75a9542a954a358fcc282612299418f9e0e0e0e0e0e0803c1fcc8524fc053177767676c00f38490ea22ada83aaa88aaaa8ea05c8f3c11cc7711c67adb5d66edbb66d9b1d49911c9120596badb5524a29a52f2f2f2f2faf1d509d323b76075689647c955196955bcbc9c9d172a88bba5ceee51492312fe7908c79398964cccb5924633e690660472c8a466048027d2ccfc7fa60ce23e2aa0a704d5c5f26d9912c2d16c9128b466429024332d472b41c2d47cbe91675d122d4455dd4455dd4a5699aa6914895b5d65a3b92223922413224b32ccbb2acd65a6ba594524a8dc072b01c2c07cb21e21671b59c03ccd57ca542071dcc32489abc0163497c7bd91b8c234ae23979d3d172688b7614ca5d24c27889123ac5121e5364ac078f4ad323638e818f652dc62251a7426fff84b40b5552deeb65e8fb581feb638554a5694ada852ad1344dd3684ec7ea581ef2436292234924c7711cc78da4488e48900cc9f99aaff99aaff99aafd56ab55a15e09ab8727c3dba47f4cf08748ee434872a69b2bcf7926528349ac81209f2901c49224752244724488664abd56ab55a7367eecc9db9e3150073cf766fa8ec58184a2e5fe44e48b7e82f8764c7329102ee58dcb66ab55aadd66306b88da3a22e2de763d19c6e0bb8dc561cb7adb86dc56d2bce4b54676d673bdbd9ce762c6b311689dc3f96a67d2ced63691f4bfb58dac7caed5a8eb5188b442eea622dc622917b89a22a6b311689dc1bc75a8c4522f7d04b542e1b27f7c862338302b87dd3a92f634e776036b08cd90cbacd2059229147a17719f08e25e637c4c77d3a3a9729b09f0e9a4b156c2bd0dccbaef6e9c8729944c982aa63cba51259d461f3e8368f648944169fba67473e7a2caff8b259a22fa7cec997d346c597532649e84b96f0cb8e0264e12feb97954859a5c8683223d9124d48dfe8e4e9ea94c7b363f6e80c0b5078264470d937d9a46c56484727b4b101a74c9e5e4e19109624092e59f2f492e5933137218267df74ca93314762fa9c350a9d32e0f2b3f98cb40b0f28b4e9ed9f4da7a8d36cdb26d693fa96042543e6b42677607ae665ee79950cb8d49294944814797adf74caf3495699111222b96f72d955992054648fbc49ae80ad7f36564bd2a9e9370f29a977652793db39edb3c94d7dd623688d0e131e56036b4972cf5008d45cacec255d7dfce364e6a05397aa3e76ea2b9e0714487420d76e3c909669f58f63ef2ab6f86746317dcd4941b3ab34d3eeb1dc193f86ad7ce69c19d4d5cd439d6e79c56f9992f6e2c6e994496ea7d9c7b5cff6d141e6a2939067fdc580ee81604844434e4321f06dea43964be48fcf2f694d4da6ab9083406fa7349d3a7115de6ea90c664384dde31408760373375fe75ee84117bd9655808efdc441a07bdb1773424e0cba054f40320b9df4d06ea80b2b67de2ded46f435834f57a090ccd30cc2b015152a3a837ae4cc316582ce4094c1cc4121f2891520150f22458f65195597b3d2f675eac2030a150e9e3812229873c82237e1c29005f9f515d80dd088bedc53f1271e7a2d9b98bc019f38c8450e9e88c8894f4e442763465fd405a3cd92b3570e7dcd278f356af41826a374508528f4348318b6622222b1469974061fcba250ce1cf448900087314ad00de593153e7a8cb6005f044aecc82ac82756909e0704490c5b093d9643cbd12ba22e186d90b7e310083bc841f7b82f062427c6de611083ea965d9be10097d6d3b2fb6dd776aa66eced3884dfe40d3873ec20f7be2f06444e9cb96766eceb14b59db29dc2aae74bcac4f7255de5d296612e6de9b9b4a5e5bea4ac5cda8c0434ebe8231099c9b59247d46f883e029126e8db8c7d5a929316b101c3b7afc6d2a8966e1193b9f7d2294d3301ced74b4a7d6237ae53ef734a9647845e58be805b308ae24eeb281255201a091388f2751128b123779e7d315e085f8cae206f3e3dfb74d46c9de6ef7908d135da5f1082cfbd07e28be9481c55c0b751d8f7aadb86711e0c5ba1355b72232b656979a99ad3234243d0c0c1913264ea55ace48b0f84726d14aa51edaf9b6d09cd5d61fab4b46e9996699996b3035bc9c8ba614ab0f6591af0f42c4383a883668d2c4790316c855aee0c787a08cf0ee7e09999011b438502ad5ba6692fb2add22e039e9e3559721916b09b91817b69b9369d89e60cb2f5c4e80f9995024faf1bed6c0c59d5b2b2dd076db6bcbce07a62b487cdda8dd332af5eda9e979b897231c703d62267aea1a03231e0e91999b29daa7137cf665ff57ceced49c3b32e5fe6b9039836e3de4cf332cb328ca5918033edafb76f1ecff7691f2dcb700551d03b0c6d5a56b34c236f0ccfcdc280a78f9e5feffe2ac99d77ee79181472b6838c16bf02c44d4dd33411c356321cd442e1765de759123cbd6c21b9f30c0c787ae7e511bd2467de655d46beb0a0dcada6915bf6053c1dbbc99a672b9f17d8054807b045880aa998a4a8607182223aadc00124b24c227b1ccb5aa645309783950bcbd8a3571cddab572c3956d22034d8c7e7c4124974f067c6ffc4f4f1a57fa2e68fcf9991e3d1e78258e6b8ef32b7e1916bf6e3239f397821688b975527337df4e81489446224a93a25b66a541eeaf690dc5ef240c44891ce487724778b3b514aaacc8ff0c55d810123460c161619327acca83366d09e3366a8e6c79a398a849d904e813a55f2f66e48a74cdeded574ea23d2a9db29cf3becc8720ec9a197281c694436c8e4a02f9540a0af0412455153327a3c1e8fc7334e99fb994a208f4aa552a9541f0be4f9604ecb71b95c1e8c4bc35a6bad95524a29d5344da394524a591f0bc3669029640e212284f57ddfeb6b5197f9c347d8a3af391cfd188eee65a390bb5b38e246b2476f1b49ebf40efdf13d7dbc122d67db415de60dbca70d64341dea329b98f909c4c57db1b2020346e7c488c1c2d24864541932684f19321a67ca74f70892dbe9aa569998f6ac47a35ad5a806399ff3486eefa6a999d69a56e9d45cae9ea133337346bb73469bb1ddcc0d6ce0840dbd2922ba280e4d12831fa2f7a2615c4afaa050ee2211c62d984d77bb4c191f2c17c3327466cca05177e4761a3b8d0a5b5abe1c33fc92eae4f61a359434aaa652b4672ac5811ee96bce2ee9473e697ece8cdcd32ebdf55ed273dd25fdd65d129755dab71b91140047a30c90267eccd0f41dfd67fc8c54fc7c7cfc8c9f3b1a653e3f7ce4d0adfb76b6d56ac5726badb5564a29a5948661188621f6e5a02b39302e053a057a18865d0ee87a89e9644c272727272727070323c71c05edc2030acf09c77cee6897698376993770cc8d307d25f740157bf825a75f105fc6b77ad9cb2ef81de831ed72d9db2ea8e4367bdb057fcba3927b9db6759de89dc591963b21a073dede752eea3273e0ed9d0d759938f0f6ee455de6cadbbb1675994d905e8c185f0ce8defc623e2fbdc9e441cc5c72af5efa795efaeb1564f2eccba17d39662e61cf18c61a05728ef505bfa453e427a68c3f3167480ebee8de881bddc3b2ceb24a6716fa1c39e99f983e5c7c242a47fa9a39d28bcecdec4e9acc79d9dbbabc5dd273343f8138e9378ef45a9e3f80b867b34adb9b98b685de39646954387f3c0603e60007ab2680501dea327d4c99d4488a3e7a3bcda92af13d3e8a333335a6cb6def522dbbd91dd1707744636beeb4db6199f4c2f1529d314f5d964e8d8e790bc93117a208067ce60f1fa8bcade8f4a68f9f33eed9b8db4a14ddeb3bfead5de6349b3ded8ebf7177f4b89a49e01d79e711592691452c83df096954e702f29d8dcc77af1fdfcd99df82f4c8dbb71aea329df026da3756d3cc78d8bb716ba742171d7bc1670e7398c31c60e68cc7c06126cd6c620271cc51d465ca38e69e1f8eb9177ef858a6333f7db877e3ba6e5caaeae19ab8007035968fb5188b44ee3c64acc503e2864f0ae2ced18393c687bda3bf97f3eee8b70fdf11978195da9e1ac6919a0022f3c3071673c3c77ee7cc3703c23378069c3111f109e79db9707c2f4f1f1dc54e58dae2a3427c8f4f1a9bbdf08e1ef49126243ab9a3e74e6856d08c77f4358f59a9d2ada7363e96459a99ac72c2bba0aff4b13c2b728cbe66d31d7d4a77f4b7fb3b3addd1db8f8be41d891ff750ee28057b674c29a59fd2e98a27138ac974ea52502615937b2d5c94bc73c9044261d1620386cafcdeef2993375258e870455087cfc5f7e9d0adc4f860b0ccc0dbb66ddb065269816163068d9d1d9bbfcfc5212346b7c2e2dd28b14039a5ccf717338332aef835cfb8e29471c5bf5dcb159f4b5df16df67c7c2c7b35aef8dbe8b9e772c5d76cb6c3f5ce97f4581e1fcb1fd15a6bad05a5d0605979d961be5e2a306ce0881185cd1ee7298d7e70a971f221f591d3d4c2a2cb371ce5697c41783e5c90f4338f3fb3e8c31d7de2cf3cb271478f67873bfeed78b8a30f777c9b7bb8e30f77cc1e1f3d301feffc198d3b1854327ddefd72be9c1c4dd3344dcbb22ccbb297979797170cc7f32f36b438eee887f70f77f4b783b9a3e780b8a3b7f973f1b1ec01e08e7efbdc8bb9a3d77eb8c765392c67f2cea691f332c7711cc735ab51a1e70f1dc787fec387eec387dec387cec3873e57458e18c9a1dff8a9d3a8d06d7ce83b7ce82f1fbacb879ee29143aff1a11bd13d3a48d34c9b4685de6224874e23f4191fba8c9b1c3a4be8313ef41724399c52d8fc7d6d94a88977da02455b840ee3591a153a7e0a342af4cf4f994659da22f4950ffdc587ee22741d1eb3c9a1b7081df5a183523ef4128bd0e70db0296cf0583bf158df0ffd143af9a1cf0ffd43f7f772dcd1cf1cfecce0cf9ce3860ffaa4f9e9c331f782b8e1df4ec70d9f1be2866fb317801bfe26801bbe96e7ccab1c66fa708f0097e4e1d72c92dcb31a111b66bbd13b8f649944069de63198d163597c2ccf192f77cb5a6badddb66ddb364dd3344d2b9125ce19598a724662b244e56c36a1023277c8ece4d0491ffafc11faf4f121a594526a039f0167791c1ee367b88ca7e137de3de5dfc947f1fc2c4e0fc3496fc3c7ffe48f45b19716731e9327df7823c89af21b20e9148d6a275f0324cd9f01922e6954bbcae320e9e9679054090d92e67c5d35aae52bab514250befe57ff8a81afaf0b7c3d6281af3715f81a0505be4ee0ab04be46e0eb0e04be4ef180cf7638e0331e0df88c019f2de033057cd66a547b023e1bd2a876047c7680cf8834aadd009f15e0b3228d6a2fe2339b46b513f119013e43d2a8f6017c96a451ed02f84c8a46b50ff159003ed3f1994ea3da85782dc76b41bc16f31a4da3da81780d00af0569543bcc6bac46b527635f10358fee8d8f358ae41ee957b8372fe945eef525fd890a93907b76cb3c2652d461b3c96d36912512b9e425527335aa9df425cd89f18a80b19b1de864d1b323b77bd7d3366b39aeeb3cefa53b14e225a6b6111e5e1ad5a3c772389a5f374d075902dad9d9d9d9d9f9602e0491467104825658e4a177f18a0b5ff917fec2bdcfca87f2956fe1f8cb31b30eee816efd5e38a85e10867f3120d0aba88040cfa2a48241787ee025fdfee974efff3c7deea7a5e569d06889e12dcf228346d7d2d978711bbfc30e366ab88d4fb9ec70c3c68d51fec1f3e3c09179f0fc3df880c39339cef35c8f470e9db6004b590cd51e7adf84372e9bd70d8eaa0687aaba35771a89144a9664cccb9e228a065fafd7ebf51a8d22091be74e4b6bebc9387ef0a1071ec611381a41e6dcb0b1c38b4baa86ab88cbd523b06b9921832586b7f8b9277234ba385249191fe45ec53e3e4804e19b45d0082482c491081a89a051cb3d8454d3e24c3d46f72a679a791c7dfe98197fcc70e08fceb2ccb4342a74cf7b47cbcc293a659a3bbd6ad6e71e0641916dd4cb388e5623f7e6277e250cc224d238670f69225f4e185a8bf16bb55aad5621e9d4793e1c55911a09696c0d69d9d4b4548cc47124914a2593c98d08325babc99a4282acc070aa547d644631914c29a61223130707070707c7f3c11c88348a231014f650b15a35322a93ff9328389d309d231ad52bd147fe953008b76a6a880c2962e36ad5d41019d2ba5b98a34a1ac59797170c2a993eef9eba1986a453d743c56ac9a83850c4e93aa2f1c1d1ccd0d034929145366a59dbb22ddbb22ddbd259b233c56ab55aad5646805ef77d1f0f06436badb5967a3008ccb22ccb326badb5b6d65a6b7dbd5eafd76ab55aad56a0bb051735a4699aa669d65a6b6d96655996d55a6badaf300c65dbb66ddba6699aa66959966559566badb5b6d04153e970adb5d6daede48a567c312e3efa1fdc1bddf9fde09e385efaa57cf43ef858c33dd2addf0f4ee24aa66a32d19e26d38a2f4674effb58f8f72da66f3476dde7dcbd778fe2b9d49546128c190ee36dd88021c3617c0c1c365460a89052583ce569d048d9c153fe6585460ac6e4dc5135d6adc6192f2bd42c4ec5c9702b8ec5b56a70bad5439a481769232d24b316e3501c81afd70b94428365e56507efd56aa502c3c60c1c31647887983496ba1b8ef23d542c16ad1a99d9a2fa3ef04d9fe9fb3ed367fa4c4e6a243a38f8e151d2ed221f071fdff183ff899a3ff8399f40fc33c3e199cfe7b18cbfcb1f3c83673e7866e4276f9b9a21ad57dfb47e78e325954ceeff24793aa1541414da1305c56fbb5c2e97cb1544c8102245683c1fcc817a823c1fcc9161489e50508eb0603171525254548ea02a0a457ba250af46b57ba312e83ae8bdaf8441581447f4358d501c1c1c1c1c1c0c2a993eef8a24476a0288cd54f550b15a35322a0f752b58a9a6d98df3b66ddbb60d834aa6cfbb9ed7cbf3baeffb78301886dbb66ddbd6225b3a3b3b3b3b3bafd7ebf57a792ec559966559b66ddbb66d1f5c354dd3342d5bc9b66ddbb64da552a9542b77dbb66ddbb48e9555d22d99be18193e7a1c8ec3bd272ffd587cf42b4ec670ef74eb87c34f282c2a0b16b4270b16a61bee3d49a2b8f72c4aa47bf3034f297efa9c4fa799efe93ae8d837aac070956f6951a1e12a3fc3468b4aaba686c8902236ae560da986c81012d9ad5134717d8bbc5327d4c14992a3b3c3edc8edb6a55235ce9ca279748fa6e92019f3b9a47e2c919c22085269816163060def90348eee29a7cc779104491185bc01b22081a5d14b5e72520f15ab5523a39a7396ada49a3c6b9cd6e9248da4777678e43d6d81c56df7b616639128248de2085412aaa076b468a1830e2a172e5ebc9853acd49515da736565ee34aa7dce4902793e9824492329922332244b54d76ce3388f16e91412a28f32407e782e2efd7cc6bf9d66b799cfccc72f55a9542a55abd56ab55a9cf5bcef7a3048d3344dd32ecdb22ccb324dd3342d245d2e97cbe552c560a99aa6699ac672b113cac5f0c83d165f0c0b1f3d8aa37c41a02efd60f8e86d38eacb31738b7b2d6efd50bcc59763e68f7bf5ea80b9a82e5cd09e2e5cb0f86244f75e45c573f7fe3f158f373fd1b10ff4ecf74fa79be2f76f9027d005398e9edd94d62a3e9672552ea652a9542aa7d6622c1285e20804dd53266fa48c220f28dc63e0303ca05081e27b2f31f89e7b5ff57cf43ceef515ffd6fb3d96c5efbec734f11b3d92770e2477156130994ca67f938c61c18923ffef24f9c554b2083b58009285d10ad1890a184ab49a7984fa8d113e18a5b3db86429409ed58b7c6b127a5b45bd3da6b579caca6551b75312cb4e11f4021b39a4d9bd2d455cd0d911b9a460551f59873aab28c0d3592243b029eac6cd328fa2203f6883ab63c7dcb6bf0501787005f12d4dc3fdbe0f97cafd65a27c57a3a76869ab984252c010c9e97b1703bd64a5082128ec003cf33029e5dabcdb42d6342b59bb59e0705cfc3e6f45a710d911bacda242819684d8502dbceb3edf03c140b4beeaebd244fcf3c25b9b124e0b285e4c641672fc9edb5495b1e8191b612f12e8e5c9d3e56b2d02ce09225db9e15abd37b924928018329317b3ec1cb51228591970d0a9020e085054399e511d88ba44c781856c06c91b194a861cd1b223c0fc3494cc1e3366a4e3bedcd423d070f03d51c21e3c10d3223e00c0a3c29a5d49be68052d76aadb5d6da5a56e7e7d52fc980abe3a0e4adcd833a065ccb407bcbb1658bad58ce76b3eb3a2cebe63a96963ade9eb60b6977fbdef3650857acb55b2586e0b27a3e1fdcf2c2f2018140300b2bed1962d65326c17d9ecfa76b113046092d080482a81731212a143231b12c2d2f56aca03d3910f47c4530e7407b056188ad885e442f54d4a2999998e010a842c59f9c5c514fdb28152a4e4e44a2152b6c8c286298872d898495362db3272722d14bcc0a6c05730fc346a3cf8b1c9d514431e397a37308934245ba44010a1bf910c1f4c598b05377f79e9867db86f044eb095cda8cd550a3305fe19d7c624884c78975bb287e3123a964323904501a25cf104bccbfc84892ac2449499224c926c949922489a9207d31b6623a4794a1dcddb58fa863a94432994ab7dd5930ccf4ef24f9258e39ddcc6472ff72f47c25febb2fba1813029e583f49827b4fd8082c9a211416292a5f0c869a28eb83200801c20f7019ca7c80cb9b3117dc493c8d4e2b44a7d3e9743a51713a9d4ea79e280fd628cc5bfcc09beecd6fe161051c18efd32b27f490c9420e8cf7c1a2c0440d6eba808595195830dea7c1e0aa81f13e0d87286460bc4f9fc1093730de677a010940d0f1bac6c1921db02e167949e61796b0841d18efb38447e45f4ee7c0064554301ee67d2c3ec9385310c291168cf7995cd882901d30de8736214707c6fbf41782c8c0789f2560bc4f670535e8c0789867d25d90410d5c2a660ca880937362440e2fa811792b6e125fd21a1101d3db9b4ca2bd5fac8e4941881b92c02c0183f52f01538bc8bf040c0cf625dd918fa03530d847352dab74454f6c7c93245e68c12cd14a745f356455b3d6de8c85a7df2f881619c35264cc435770ce019cdbfaf34380b51fb603dc3e3190a75441c6ec673dc0d3b9b78e835a98f9d93780ea1ad981da730967b1e003562e6f6eaf1c6669c66e8a20833878184a4977e46eefb430431d52b08232ac7d6e3a2de0e95ddde64a9623a03bb0954977643d3cccc36e58413276c3ea91868cddf08095b1af884903f2df4c9680cb8f652dc62291fbd5e994e828779108041d03698ef89a8b0816bd9c79e41816270d5cfc3903f7e89d33782c4faf4ed5376be0e2cf1e9e31e19e76eb3767e0e24f956b2a4f16717869677889697829caa10d2f3d8730bc44e570bce95a3a16aea93a355be0ed5a8f4e4d1778bb26d3a9f9026fd7683a357978bbb6ead48481b76b413a3563e0ed1aab5353065f8e87e2a57dcf703aa5026fcf90746a05de9e25e95412de9e49d12916787b96d32925bc3d53d2a925bc3dd3e9d4dce1d6bdb4f9def0acd5a911787b36a45324e854093a65026fcf5c9d3a41a750e0ed994da752e0ed75a75347787b9da2531ef0f66c47a73ee0ed198f4e8120049e1241a79020bf94eff39aa4531df0f68aa453a5b7579c4e71c0db6b149d6ae1edf5a653286faf473aa583b7d757a75c78f612678f8a63ede271ec63f2d29ebcae3ae5e2ed3548a76a742ae5ed5548a77cf0f6daead40b6faf433ac543a77af096a1d329166fa74b3ab5d2a91da6e8d44ba77ef0c6a5cdf8e5b50c785b511cbdcde88d46db2061dc5097b9d372c32287ba740b857cb271dcde205f524892a4ae8ce5a890a59daf1359621359224b4cf25983bfe1b3c7a7f864e2499f34f8ec7306afe253f527f7a60c1ec6670c1e003e61f040f8e4f1313e5ff041f874c1e7f0d98217c2492679eed0eebc4fa5dd6847b4976644b3d18a34aae78ed7e14b7c005c891fc259f002f0247e00be822780abe08970184f790038f94078fe1857f920fcf4399cf442f8f8a1dc2dda9e822fc251f005f013bc01dc047f002fc123c049f009f011bc025c87a77c009cfc213cbf005ce507e0a72780939e081f3fcc8d43db2f12bf0017c133c043f00d7010bc03fc03ff00f7c043c08ff80878119ef20570f20de0f90fe02a8f003f7d029cf40af0f1c14c555f7f5f075e025efe049c034f016ff11570d45bc075f80bb88bc7802fc0539e014e7e033cbf035ce51fe0a78780933e023e3e2853176ddc9e1ede9d877f7ff128eec3b3f0d4b7788d87e12e6fc325e0293f01279f029ebf02aef216f0d35fc0498f01d77268fbe7e3a5c5d9d3ee0f6f84bffc067c87d780af049ed5a8542e187c563234330000000000009317002020180c8623619e077296da0314800c4e705e5a524226934ae4a12087651cc510238610420c0132032433335500a432af5d7839980130536f54fefe279d9bae66bac4235874865e27b2c70b68207a3933f6567c2b7a9f0c337b81c05c724c2339f41c3aa04dbad05bc2e2470e7690a46e9fdd11a6383c98ab97398e5ca0d72401d2b6de648ec9af758e7e9ed7cc42608e23a6f18a7322c0b0e1c07a32b8991f768241c1e713cdf8d209cc41af1315c8c79780a0bbc49b02396ffb2706e3ad245aaa4e4159ae6fbc2f2ace098c2ca946cf401e13153d02a82a1bccad9563ef521bc1a0fdd2826f3a21db9c4d1244e7d2e4d4342081c0b62e23a54c3370df048f77a38a5dc762232f5fa1fc922684f9ac7419efa96c1d1ba28ff98c1a2b79b3860a0e0bce2cc82bb60feb08b6b7dfcd92ffb64b970e23ba75fe693054610bfaaa36556547c4ecd78597decd1fa0e94c748a9f21be8234502a812e0ffb40538422c31f7da0ec217cc477838e6471696ec037e662614066fd75be455cec9b68d1adcfbaa462168eae2338a67c3565a306c02c5d5fae83072435886279a97c8b40a820eb171acf21bcd70c84752845911ed739167c5e44b45bc1f77e1567d1e0817a6c31c3eab4108cc4db51d005a9a4f4b43286865c3904c4f8846732c54635c3a12de10ab59e26366a21857de8328b9a795a4cbc135de58d2a7f0928a79726bed84820d72a1e3035f44fdd662dd9f6cfdc83c12bfe6ffd423143a62eaeeb621f535da584190ec6bfa791db63e32742a4fbbcb67abecc755dad9ef89818ce51c4fd99a2d09509977c0af2cb1fa672f909cd512754ab23cc584e68edbc15fe009af6e9c7e821f6bd378b5016c76ca5174d4ad7db5b934e939eed6e369182ed058104a9e3a3c36238ae13734ba987c03d4ebe475a628dcffa08bda01f0da077615100bbe59e9e447351478e8853dcdb4eeb84251c7d142c6c85544d9c4c0e18c18e0548ed217e0ef38585c7485c463cf9082a7f54478e384296ed528598a59c5f91107a92f23126526d049a46b18825bfa45a3935aece14a28b133302a96fb12a883f404843c5ed687ec8ac1914554e75fc4c6ebda90e11eea9987c5f3162e3e03e59285aba2208ef7da0b2508bae16e5e3fef192141179c0bf8460779b3ff9e8c03c0d3f90f1d98acf25792a85d2301b404dc22579268c8b63c3f3b8dc7a7d19efa25bc2eff2fab99c3b511f5f93ad7ba9e66915b8707aaa13c6b225daa75f556788edf8bfc05ac38dae7753eef36ab26f7082871d97325c7aeec29d6726e27be863cd91ec274526565e8b66ecfa19969dd776c8e564ff389b2983c09fc669ca00e1ebcea35716c9d4d6c51c2db09c8f744457835123d1eeebca15a3c69cf8d9e9accc818091c86c32cf91f026ec3adc61b889679d5ea07c6e2a336b62cc18ef5575727e7c0d1394be2a4ab629786020de9907f5a2f5c83b2c230a59f9f72d7813f4fd500421deff5bde05d6eabd2c55b008a42815b2cf944e17f0a0eb87b1686d4db3614e459b3f28918f214659c959915dfb3fd2df4ec76ed965c16217ff3b037d04971a1c8b14afcc7af37094b9ab91f3646ca288d056faefce0e5fe505b6183725d8118883b71cf1e8e958c836a60b3632740933737f07cde5e4e27dafe33abc29964fc47696541f0b244774f0e29938b2a04c13e315e30f6e6dc28d82a547184994985f2c1d44933cf9544b381924a296895d81075c4317ba4f59779638901fe43167e4a8ea09036f8b13613c4aa44f22d5c0c4105659fd56be9dd1cab401ad543e02f400de99784d006b024fd50ee1314a43b0455529143e8211070aeaece8a07514f97cc3a42dcb6d5e32962d7090159301ffd80c2c5c50c9b12b24a7865615dd6ad348e86422aa28a2eb18e5ef3bd27b1074c506c9116a31479d18722a593b9f4c2b29b3aa2938ff13736c4ac0ee0384ac714b8f2bd410aa3c7297b67c8eee4d8ea0236d566897346a1f67bf588c228025086443e889af899a20c22e05bab060c8db79c1b185eb14a0141bd29d0e275f410807455438c05407056f804577e0b1ae2ae9229e206f9b46525ee124d269112935fca003f1ae50180ef8450944f8fb8b80b303e0f41bba34afd349cbf65f85f9be8a1ac5b454e2c1762a8c20e58d775a5af4c9e6c52d608ecb8dbc36b429771eca094e98f4d182607f950a809592f9323beb123b800285a767ce1824e9caa41979625340a5f015997b55a8b43726e75aac0afde47da45b6bc2611f9c81d61ff3f4c74bd96e2806dc310146416c3e5584ab6c63458d8784962b759028407ca3ca68ed40f97ad69e84b33c4aa8b18b1e174e2b5625aca7fba6441143c1528169230fdac827a1997a0520b03163da77063fe7df234d34a7642970cc377a3a8d8368e832e67dc946cf7108d9ffe7432f7ea21a2177299365b1562bb18468847a6a29256ac4bd7ca7d74cd51a1ee56c89b088efdaa23b0407ea7be38d19f386326a13adebe11728b7763c905aeb0b35677b48e02e83d31ce3f8bd432b804656f1698d670f6e0b788a7f81a0d2d1a3b4eb404e32342c156457fe7798fdff3bebc6f414836879d76e1d25dd740d7f155c91554d265125cf37077d6fbbc2f5df2afd77f9cd1bd17c5f31ab5fea143da2a774b8bd93b3093e45bf615bfc6c5af59dcd20da28ec8b492508189a66504828db1025121943c040ca184713710696c8f075eb88d5319a1af75ba14847b4427e7cce77da9547714913c8227629b385a5ef5a5b9008dc9ba410a655c90d5cb1907d5ab826be2033e247a6fba0c26d6917b5dd45c32b0ae3428b5578199cf31d079984d9d5477752727975ecd40bd42b27aca836b78c032cfb70ad1a07621b4639b149f95202576c9de300925b335cce7e715ac819b038842393ba8452c53b55e5a2d0d0eb6238e72d243460aa1aae06476d4add313c28708849006a59c82199efb952e8f69af278a209b42093b6f4f912736819f9d787eceb9db2289b578f540ef6e585c489047d43508398424ae79602018e9a7a1f78efdc7d8128dd3948ee8322c4fb6b59343655bc2f885772fc90645f4647e6cf93046d6834be4ce90b4acc731203cc1c688e3792116992a2d405deda844396c0e1dd39869e5b6c0503da51d19d9b7473993d27df83149cb85b7410d4a72c69d5e88eac4e07954063c8952143b75490ad67b940ee9859df17fc56695117c8edda77cbd3b5481db7e548b843cbb5c0ec8080c128fbc487d899f824f78147c8cff59c61d6ada5fb3ede72adab483b2df8fca85ef2f5455b9050b6ef17b94857fc3f546e6bc799138ca428d3ff84c46ded387384b10b173c745faed9be8fd24212aeecb01be345461e3c841031da4c99948fae1023730d74ae2e33d7861e3338331c282e006176f105a06ace3cf5f6e96080fee9d92315017bc863ffb8e9d71ccf2073349e7469362aceaa2a16536d41802c0aecf2be5c3b7d3ac4068dac47baf565cc33e143dd0fbaa60355c37a035287dbca653db43ea17eb8d431155a2b9b7ed0d59465bed052596c6b63513f4a3f665f604cf301c4e84dbbc04051ac3bfac155fd26874117b6fdb49ec7e03edbe166e1c30a4cf9912191cd550460911a87c98f39fefae960aa573ac57210ab542759980a9d76a4af3c6dfaf2c4d7e15b47e913f3a1a3498c670aceee57ee81ddbc140131cdaac74d4b32bac26780d03ea69d11f8dfa7abe8fe0041e6ca6584d2d5cb8dc0700e1bcb901e33f736cc93844ab02a718c8ed0cf1e7a42c32bab2eee0036d85f1aa1cd5cff795f77bd203f3987396fdf42f1fe2d03f6e51ece5b24b3e858ee05b7c6b38580109cf6a8e78a2e51d32768c3b74c76d3062b027aef21b034b489f6f98c4a9116d50df88051d768fb66d6c50b82a899826516603fd4645e0ee2159571c50dda8127577909d13875a829b6fd0f8adad59045753a71254f8566ebbd66377dd6e53ea8cc5f8926a56cc7200cd611ed4758807c141c134c4c5023baac9c30f92e3a660c38ec886f49475320a805f453136ca202e5c933afb5b68721bf9e9bac5d6ade5fdea195bec8ab8b49782e2d194c56bbc914c7d7f052412ed292db86a31701b4643238c617f58dd790d5c2d2156be48139339b80d8559993acd5cbee06abb409432cc2829ae1948532974e5027d33567374c86a71401345dfecc26838e7daf022899c47d9d59e3d17391166551d80386ec5ec42164aaffeb0439722e01982d27008d76388b3552c2b78938c7564668caaf88b8d0aaaf41f2cdbf1f0615f0b5460279af998d07d0a7ff84b450edd5590e768952786acd679cff5bb02b185c00ddbb9b0b5cc0feeae13983911b170d0661e2e22a2dfb5ace18cb0eaa6de21c7ae5372560a76db6e330a1106b589369637e04ae21c65b9650c32889b88dd6049eb91d5c34a1630ad2be9474fae96b7db014cb86bcc14900ebc12aa0e01852114f736da081e2ae2e411f25f525a5acb2b4377b98daf9d4b7da67ac8cc32fc94c819cf43d43f809eb85f6c4bd02b4feb79434f72c12f20c78d22e6f70d69aca43fa1241e3404a9998cc1cacf9b59b3c4095b3911ecbd628418c46050a76971c99d0df07787a8535610f679aea28694b26501a63cb4a611ce04710e0ae04964b01c5d502afb2ed202b403e966d61cf91d19668d0c0fa5990c3a038114a89d92de668b2f21acba1a10d645f4e31b61d38c4f2472044b1bb69624c95d61fe51c15d6cfab54a6640f5b2bc2f93d51951fa814288ba0625759f9023db13828d4bac7581f63d4304a0be0c52e47d162466e61079f4cb4520090eb34a89fdfd1c0b15a56b477342797bc8da013380c94c582fa1bb1b07ea8658d5c810ceda9565f410d1ab2217c44dc12f97831f0e0cb7f3f752c438b98c98b51f221bc7a00e213cb74fb5e95ef1f368b2c75742930e6f2fee71d7eff7280c3a6d520aae050d14c0676ce1779a90f7544fff9fed5fc8d7291baeb0f1e7755a5970be8ff651732f9bf9bd1fddf2f977f0c28ddfe5dbf08377df8c7c289e510fe4cc9ef3ef83ff5d81e4c15c8b13dab5eac01a863823fba467dac15142064cadfca20fd8fe641b333597807b1c018d2867c58edfadb943d1c6030b65135a1b2ec2c578c98acb3eb2cfb565ae1c5021030b5ed61e2c7c612e6254554c53fb3d7cb8e3779000339f6d4ba9a8a10228bc988d9e47a124b776f28669b163cc8b47d74c99c894c90c35e86e497b28323077b556957280059a472045a56b365021189b7318188ea04e6771fb5923d9e41d9c31d75b784b581bf2c6e6f3519d1d8a8d7bfd72e8efa4db9c7fb82fc03be5052c6e048a58f9c7ec2998846fb5cc5c7d49c0e651642bb41b047cb57074dfa0222dae7351f3faff0eaf76fa099ba9bb6adcd985372888622f1294aa338e8370e5d109ea29736d2d73ab4effaf42ec7b9c325c4e8fddfd4c35d753a5832a5b7375af436a3c41121101cd09666fdcc2e0c9fdfaa9a7397f4a4952f095fbc1a1bf10911933beeb58d423c44b3fb82f7d1e3928e84801d654c44060667a1c3b400d64cda84c64473e37c55f7c9fe9dcb930fb1f3dadd4dd801e13bc76c3618ea458294ffcc6a0446aafdf210816eeda2220c53a0d1d481db0932186f3d4cf77fb913a73b3c96efcc637fd3830bf012d8cf0e7aec7d40bcf4987cc16f3cde26c6bd7ed23e25a8b85714b3a62b1a9f65561096015f54e2b04043a856ddfb784bdf511c70e3a73d2f24d4454510df9b0a7aa5fd972b771e0737d2a3089b1e78dac7ab4ac4645e122dd3cd5cd29706f7e1ad1ba5e4a0711e9b3bf11287eb5b0849d45fecdbfb52a5d37b200ff9930d7aff947df15b5044fec7f9f21fe538bf00d9e84f9481243e8eb688a3b0dd6534bea94529a2273409215f285b5e62826fd43f008c6806532136c118e444b9f3caa78581c8740f9f90a1ba919705087cc19350202d4b84b337925003aff84d4549389badc5c288c2e345edbedcae77d4fc1405d63bb665c7cad2ab867d5b167f5bf646b74aa251b3efebe7a037b72ec674ee79b7d5984fa6366ecfb871e30dc0652e9bf56595e0911ebaad17a1669c040d098b6477a1323188951d275e1affccfd6e3890b7dd75d932a82482fe6ed7e16daa76b5e073620274ec380bf4f0df98215d484b2d5c0f47ad0f6660004ff710e66b733ca5ff14b8c2aa3635a1c8e9b4b06749e8240c0e7fef245630637aa6f6146d0afa3dff9776008079ebd477cd03ffde355f01e842162ac4e2ca20955c21556bf3213ca2b7aee06d3b61e4201139654c794126c08f78fbd3d900524927ba1cb84a2a2131219dd5dd2c073a9a1e52bf1f81468dc418ce6c11aeb7012b3ae22124e0d4938762560cae0117fd4f72dd1f69e7635171ee014f6691f43ce6f7c7b5065d1e83d3c7456fe073eb1af43efd01f84f3589b7d9f3fdd3f9d27f2a5f7ae5565bd9e47f5ef6d9711f528fc7dc54c6caa9f3b1419b531fcd09320767a0da57b03fed0502443f4e5447a0d7f261c3e02ce6ab3d576e3add3cb90506fc7daedc28cec3c0c2576e2486d9f292de4a8c7e3a1e88640a30be011aeb086d9821a8677a5c3481db695f0e802aafdf19f88d6a4047c4166e2369dad73b2aabc82ebd56d360deb4ef623e6632f860482b3b06c67ab9a95b09e8513e440c11dcad7e985b6c06ce04dbf95c864db1a05dfaf52be12eaa8a3ebd3f2609853dfd38a65fc165ee15e076ad622387ee42e3ddff1a303c80cda622f4db2da56453855b6df6b26f37744ba77a8eb7dd6226dfca53d807dfb9c2add02639e8dc8a958c28fce8136051615a173715afabd660a076efbf232714ebe53a57aaff4d01f2b78128e7264bc0c476a9f42226c1bf997d9335c572beb953edbe428eba8ec0f8a0d617d6690d29d30927b0abc10b154d1827a87893faf12376f2e67b8280b96b80f303879bf49c90256fc12d15d964baf42f1e341d8844695c5bf9d4208ad07d8d0b5f88bd46e4a0448543b762cb052226a2aaac0895c7f0462a8a0cae6d76055c8d0fa09ae1b84b98a0b3852bff5fc36b99f3497db88293d0ca59bd5840e83072c009656ea0abc5ec851ef02ee008c63cafd982bb68c325693bb09710f48c56051874959093f3064c4b08484254b0f2802d85a6a1053540cd98c2e03fb0b921bc76ea51bf3ba8d1358bdb396f13307f459ae4bb33c1dd28b566625caa918ad7ee9c2750d11228b409089811910da5d09917147cbf83d742e7d768da184d5a1dbea42ccf4a15ae9a0479ba77db0501fe8a4e8e4755f62bec1de9088cddff19dfb74ce9164976fad8c858595c69d41c7891d4df20b91577a95d8991c4842e8608426fcbdf6ba4b9882ce744103d8bccf4682127237156160627e821700892ccd8229236ccca9a4095b1b08e22d7549b3bc2c18fbce3f808d032b5548e2b6616a286dfe4e4db7ed2ef2d71fb58fa8a37f2b5ac71d3497f4b844e2071d583d9a81dd2e68695aaf79e0e149fb51e43576d3557caa6dd029ca959b4303b99bde5c7e4b132ddcdec98c1fcfd2a60cab65386d098d8b62516a46be1dd3f66a62096439f0f1c64b2f492460624bfe8a01c27dce36ab3cd3891bec5ba6d557c9334faa6e82d081cc7bb6e88885a5c8e5373ff6642f6b593105108609242e65feaea5d3218bebdb92dbfedf84dc0fdaead2ecad1cd7e865e0fde5b2df413cb39e2b95c8c94136c9ee4345848631ea964e7303c47ec68cddc50d58f18191247ce93e96c1e1e4bf857e3fc2c5182a71381dc48c2623164416ced8f6635712c66f99e73f7a8a22a63b2370b93dbe1e9b993e6cc01d29014942b4350e510c1630add875510e4203ec00ff951caefb3351388ee1ef7893139ac3667d648c1912975f4fd96131ed7e012edeb9423fe6532fdf24af9b7d1faa7d208001ea9440966bdeba56b240a86a41d264af5fffbaeb13b756b3e23e2bcb6c53073cecc219fe26e86390faca31d8cf1a6c258973bcc9c3d3100668bd92e0723b61f7251d98ed0181abd1643542431092687f1f22b4c58c760e454fb32461ccbfd7eca0ca80131b1b35e20ee5d9ffaa0c9aec0cda7b71c32be76fcdcce9ec75e5a03d469c29ecba55e8e0246cda6624528e2e68f2cbacf569f5b7371e5918593cbb0ab3bfe951d4cf1810e2891029ceadaa67c236d7ba5434fb0cd53db8ff9dd76ec6867ce8b4a11a2878c7d54030245eedcc94acf5d1a3e57db118a0aaac665c7baa30bb66f5ee8dc43caf5d234f34a2ff1020f18812276af62258f9d047579d86a66b3197a0a62c646d5a0d1736bfc4b8ffa529b1ec723475b68511469566cb4f70998343780f5c88f43cc3a0d39f8ad6b01f31ac2fa63e753529811ca5fb44e2c486b76f33d62760a95bc6cd621b0d964f7de81cb15cbd5a7e27b2e7f0dfbf212a46fce325896a6695dfaa8252f56ad2066d6f2ed60d66b31d758443a01f744a0c62ebfec2cf9ab10bbbfeb1f54b02cdd83466181e11b0ce65a8970c4d1aba9bc8ba4a7228d929f96fe077458473037b7c51a8ed3fccdbf131f0af72b24b7a75c836b01deaa8214417da31846be99c3de73fbdcffe275c982f42a868d673d6ec01f42c43ca41e8699a8fe5878edf437f267bbcbd0f5cc6bd9b1005c86c5eee1de6bc0fa6ecc431245136fa70c2f91c0808fae6d1b981fccbd28ba549dcb71321e7221e460cd27122d2f725869dfdc8659459e47e40c4613bbf5e69e08b0167f7eea00991327da6c197274e32ce91b3c510a2f3b75c6c93975a266788cf2e0c70ce90859e8bcc890f25d7b38d5d8c0a26a0b79fa74d6eba2cb620d200774bd7f888715d7e9c09d42b566ede1311a49cd17787bd78258b7f0b69a9af6b940a5993c3efcc38826e006a29759b7e26c288ac947886e70516c99cb126210d8f4617a000abf44331a80164a67b60452593a3394a09a9ae99457f4d3f7d440ea3d62d1420fa4c2459ebd915f759a4262ec9643a278fa4462e1574e71bc8ade7ce6366428897eb7b4378c65b9987536a2c450d8df1fe62227c648028863fece576488a1467f19199ea98a026dd5f7f6b1d15f395442e268b3da4a9376d1ab180d1266b85c24a35921cef22cca25fec3079492d3b94888504764c1f22871fe26ee3e8d3b0af3406d48e58ecf4f8cc39ad09cbfcddd14fc5bba84c7d39dbf8595bfe8375df8e4210d27ac6fc1cedf427f06c8e2493b57e5efae0219c2557c6ccd88cc64e76f994907007615eb5ce740c861d5d0d53ff685a916cb0e236b7609af2c08a4ff2c0c26820049d85549418a977277e117a3e2aa0216033f2e4e2bf9f5bc2ff13db8dfe5c0dc09b3646ff0742bbcacd18d2f636988568cfe9c43208175a5057fdb9c87c5f1dee194fd8b38fd12c1d97576d1c05be54a197c0f0381932710dbe4efc914af237ab81445b7c9f00d229236d41acbea051073f500d6f474df108957866108bd3c2d77ceaa4ea131c365525612a2bab0e4bb4b09b63639ab7b352b83454ab89de2bb94c82171c29bb30ab51a5a1e0e466fb2ca6266f47b8e9979c35f0f687cae11131c2ce5b251d6297ad6ea4047c412ee66f9ff97d49c12804f24aba5fa9ed1eba6e46f2fd70430ac1c1c442faf997246985af18a48cb395712d2b6f13d6f9e4cba311902b21526482609818d6c3ff5bfbe4c7a88ca4a5c1d82c95879ce12b1595871b3012bc91dc92b20e0de4bda430160ad5915b01559243a7c9caa1cbe02e2adaa24220bc2a2ad778c54ff8ddffdbdac79c980ce254240153166a86095642989f95efc839f67b9b3f37135409457187da94c6c34798445a2062bd41e5cd2fffbfff76d0519809b684be33b8fd88cf9a19e8efdc124164ed0e5f1a1d4d10ac9caa23421c3ce463caf7d212c9e33e750e294061d4fd9dcb3f4341c6751d99e348678dd341b4b6e2d218d58750c18316ddae2f32d62fc6c0f30430ebbc06fc5f301ebf873a1a66df1c4c4f9e836a7cb88352a3c1b26792d7c056a82bcdfb2ea618d6ad3ab8e7d046d9db47192f15a22730b73acd75a310ae84c994a8893c226d6eb4531e26e74722780e779649abe129e82a7bb0488d8bfc696145b02d065b0b599cf665529d8f698487e8568a05f1be9a023a41bcc43518e35905a23340b67a08c2c558d98098abf59b468cd6da20f35dd4245e2ed9b91c87d3912d0832109edba092f1a447efadde5b380f3e041c4c2b4344d81163e7f3b3eb608a465851f25993543c8d4eb3cc601fcc6941aef302b6bb0faba7b9a29122332692c842498e941e11c27c94f8d60749b5991b05d728156ff9bdac4be728b44f94a7961ce2a929e078cfb8069dd8f9e4422f4265849bf03037275554e610512175825530d189c08cf4ef45ff7ddae3cbe5c922add591c9193222ae2140d3c7010f1f102ebdac9edd80277645a071d16fa23d9e0fe14022975f5a4737d2fbfd9d10172845965f8ec84b924bc2734080ca87d0cfe658a6387f5ab9063390a32cdd83f1fc20a8bdc0852986581fc46407ad23a20c6772d1de9c7745c8ae2d359902d8b49d340576005de91440578c7530a906e1e0af4dee1095ceeb58956097811ea026d83c2cc145ee36ca1e81cf3b5b71ff32e21fa2fb9239fb752c1d3e97c22e8863c85759fbf479c9a432c1e764ace8d996c4ec301b0bfb15071bc18a46ed75e4c43f50f01d1b5f9aa36567d3ddd37aa2dc5d242d11764e445d80288c05cb26a135d1da37d86551b061c698c364688836c3640708bfc7952b5d9048dca9a6c72b88eb0b6e6ce80a1a262d9e6d22a360f04bdbe1f099c03bdadcd32b2ce5f83ecd6a45c9da86b0680020f41fc884ed2344716b8b1c882a14e09ccb3a8f4d42c97e6bc17b0282b457b5d5f6006364ab7538ceea0d06ccf807211000c0c75af73a71793053c3091a810df3f6f03a334b6477764daf4af6cb6ab5d4cd60c7d4a5ada7d3a3b21e9fd9a688634ed5ebd3f4a2a15ac9682a392e75cbd9706aca458d98994d9c39aa5af95b1b381e6c2353cdaf9f8b4915907d2ae6842a18e8b34d8bd1b570e8fece446b2f1a16467a7a5de7b49b8cb017545a36c0a3985a2bf97045e6482cc87dd6c98866f0f3444d1f59be53b7504269f72d4f8f7ed77eadca4f81ed481a95d4ba4c312f6625bbc8f9bb5267530b4e17c9b249496b3f60a67f0ec81d029d3a14f6bc74456d9459d1cc923e742898f5c7e3e9327a9a8eaf26352ea27a51126ebc2a3fabf64e43f6b88c9b72a863220435328abcc0443d99e088fc0809e5c33130c4364cb3350f2f1a9d0fbf01fa669c9744c1b16de2f6def58f3de18d741b55d7a600049e194462ce8e72c9825077641f340d78e170c7ac8a38d968460c59d29894a649a4c5102682f438c39e5bd4ff949816259d6d5d19fa10eb59bb8bb315fd04f294363dd073ac0a504620a2af5bbde281fb91bb56b22ad0cbd065826c8dc51989a06278fc8ac7d253caa370d16bfd9e54d2ac1708b3d70255cdaaa0e7f8715483b7ce4e8f5618813893c490de3a586f613e36b23068b73f63b74c2f8b099d9206d5ba71833fb48a8acb191a0e1fe22c17b924482eda1be1927ae824d44c9ab7b762f91be7139c8ac5dc4de15ace4b1a79d9792c40a6effd15126d358262bbdbc0468d70d4139c35325185e080aaefb8bb7bfc56f32c759b190479bdd02756fb98ed5f18d1474230c90d20edd6afabe465f5c8fd9846400a4c58638dcc3294916390d9ad0a9ddb0e661a7427bb15711fd879dc64949285fc0eb92e4a8d91f30f184e88215b081327bddb1d0b5d7eb0e4cb79e9e695082145b482b08afe1de1ead6dca7575411847c9417541024b4399af703f8e421f5ad772757c74a3635b32661665d5b506409f313cd04fc499caa33f8752b45867098126eba4a88c8e1ce1195be4fac672fd3fcf7c81ea2bafd12f8ec1ca48cbdf2d2625920c40d2d68e56553bccfce2ff7517458e554ed99a5f406ae0ee46568ee6ba22afc11f973ccd81c960f2a0fd2d6c96d65b9d4a5025fadd30fa3c755ad88aa48db136b454e99e7e8082f385db8a51d1d831e3d7dc8243c8b02023a0c8617377a8d105db2c0506a21e763d19c7e0811ef5d6f52b2aa1b38197ffbbecdec2a3b427ffbfed8a8b6d7486111451ee3df87315916f96230716f1c362e11272edc429ed6efe91276bf55853d81a298d941fd5405b00a61dcf84c3916c6c34161fec5baff752f2ca965b8bf66914b75dcb200e817d324e0b6021e84a5cd14f44929340e566e5c0c2509b5e3f49c0fda92ad0185f1f213aee272d4c41a3751eedf20e77f4944024f2ce7254721606c1932c640b4ba79801521ef851f4076c167861e994440511b5386b56491f5f4053e70103d689d69b0e25d2c9b281f179a707115c2119a5a229b9ef9107ba723bfa74b91005fc347446a18e15aac86c2b1d9cc5ee29ee24a3cf506f9dda851adb782a6a2ad61a55756b794d7de4291b40ea861b540975cce4f5404a46d0bb07e8b69429b1ee88f89a1c0120dfea7698c8f42d7c64273039aae146c55591d94b36f10bda4c4b2e8d0900cf13500694a7b7e8dc64f6a4da521bfa73e8c320aa523455259adc68fc55040d697f49051076cd06f4cd98e3439c28dc7e228f0de2b61a2217df1184b70bd3dab0ec8cea7a573c9dba4471828f336886be5a0fb152138fed51d8f4aee681846885e623a795637411f44e6190a8eca86c2cba144a7a65386f108ae9450ab702e254c2f7faa66cf65080ccd1068ad29a82e726f94b84de749d12d879c5e770028e5e597acde07afb37cf7ad3ba4a5022d8b6ac9230865644c36140ea86cc1282edb8472230d308a8df9cc3000cf19b426360b672e9ce3c955012f3ba05971846dd542e94e9a2fe567aa7d4168737b3c2dd849d2f843160ee6748212b3dc13632618a93002d8ee064459282d6ea5abc00d377898dab46e1fe5c52c30cca230e858e2902b4dabe3f1e77a73a8ac3c9acc369f02ab8bee8f61b991130d84398b6371a33ba3747f307bc7cabcf70999ce206cb20bc2ed6d59f5804974158fbe850fa3f90500378365a8ec735a8a176efb9f7855cccdba0a90053162e191a12d8416b4184835a452af4c1af04b4c59c03ab58475a979d0f75b928ac9645510304858cc3bf39ccd40c2f0b46e40106299312cfdb819d286d8dcb42a607d2b342ba070fc513519b7b1509e29fbba7f3ec2b9d09eb3c3c03a5935967f6db22ce97b0be65dba00f85b4f287d1527ca90afe1ed01deba6c3d9e8a8e8a288344fbb2ffa506b00a16074a206e01f978735f7282701091ad37efb5182d7823ab8a19913b2ada3ce37208f6e03bf512729a3e3bd21891a571670ec9b67fa22e3cfe202fac083e3213dfe29b8f310244df2226fa4ebc34ac946971e260ca030e9091668c2962cbc75a0d22220792a2c9b5d5efbce559cef76c5370fb698cb475856e815b275a079103c9d0c93c13c500098079bd5d3af35d566bd1284c510e1f0ba577870f731ba1573863bc67b6561f11c51943e1cc3e1a4453806cd9892b849e915523a1c3903bd50b4e04bd15641e72dd69cee9d2e6514e15b371e2b84a5f4d8a3aebbda46894111de09ba4e2900ffa4079d9b8ef7ab8a837e15a16ef4a66da2c9b2d5cb0cc90ad979063c1ef60b2f9767f8281aaa7dc04377e111fa2c1140e0ceb29fe883e962fe24aca460f85169e6877612eebd5c2e4e5276eb489d2a737bf0810a3db74bbb8f8dff8ac76f7fee9a24fc490322f21176bb7d7bb57318f91d09ec3254c308b767cbc193572f782c4562cc6a9240670e8bd75c039512bbaddea7780ad3da4759148d374d0d9d56eaa2013633febec1ea70267942420150b1f6b83cbcc25c9b055a650b2ec72ebefa3d75f1be9b19964b72b1c08016f09b8121b3f431d8bdd8198bef739eb766c01f0089f2e69e87c93702421c29358793c006509b510eaa45181b5591b3797f4670df1b64364f3481311e796045e7764c0ebc8c85e02f23f6a63881b755335c33325925b678ee99dfd3aff5e33136d29835e52c3de3994afb1c2f9b26f6dc9f53519293ab4d954a4ed971ce7db1ca598f59060cb9872ccca3519a01a655e97e8ee838e69d8354b41547f5bcedf674a7101191ac9c14f4f8742ed44c2954a9a4a0548d159009088c9fd7287fae73cdd52d79783133bb95f9d743b31a7b08db1092796e13b8d33208566cb041d04f117167a85818cd2140e9da0e5452ccfdcd0ff0ab458cb059cca23f0b40e127d66681154e1b878d9e0d982dace703a1a524e444960a8574eca70531bef2de351bd1ced207b83a1897beec6e559e6941c591cadf101f941945c6aef297538ab68daf58187837e391c036b9c1b8d7ef25e226b840c12e90d857c162fabda738ee1df54bea188d958e75d7d3b267bde2ea655f467217b60d28c749d3e304b4532039722431ab7017b1f44627a3659dea10052aec683c07224c1a2b758b3ecd558270ada35135ccce1ac302aa0cae8cf6710344d6c1d62afd02a62f2637fd85cc468ac4c6de8bba9fbe50c27f36487da1621a295fdd1f84d196cb07f01c2796f1d23ca9578c9386cbf1f83b199f23b2e2f8687c11a2ed850149d17a2cc570779a90feba35438c1d7a7562bdcbc074acf35b01970da2533a33df9150f6cfae2b8db7d9e55a1275ce7099916cfb76657e6350e6dde857a141b42493169779d61bcfeff9a8cf9ed1d0a780500e1637e3e479357ad61bfe44cd4813a25971feecd7666699a0d13e489d23978eb17b90a575b8f719c7f4dfcaf0d3e035729b6ff42efa95b99572b0e491f7146c8cc76d33c1dee8d044d2857fd6e9ec7c7f47dda3cdafbafd4fd6dee83a26029af0fd38eba8af300f48e9358fa56710c604af8b40da70018bb83f584e8e6c4d3000cd400d608a325794486958f6305eed3d83dd46225a3be642dbfc8222e66c781710c411cd9406560be39c5fae5fd62277bb6017d5d3cbf95702e3a014f4ae88ac2bfff1d9833af58be8d0d8b4762d1104b97f044b2572b28b795280173a2d3027f011c736e66cd4a27e0263305ed446ff3810b5d42573da3b62411bd2f8d8d756dd24f29144a41e1b78aedc766ab5be77062d290662a7a30886d759b652ae44837a1d4188f3616926a75af259044feee232d6d86427cf6d43ff22f6e7aa023b621d413d9abf5855a74c825706eca3c025e4e2a5f5319aa92b143133ae95fef9db064459288f31b58b38bd4293a194ab3c9dc4f7d744e03305a94d4ea6374675132c41c55a1f3dc0fc1a464bf5c79e6d0221c795c8eca5d4d2222ba60250b2e2e3f2382e9717c0ef22a29775dffb380e8d2d3852ed10828777786550499f28d3b917d1bbbc6680e3e54fb2a40779d5d5f1b35f0a79d959c00057c237072e22b33b271a9a6a5835a3ff9982933bcabd62f5502a5f0f85deb395b4d1fc736898840eadc16fb6c8e668a8a767de7fb160bf6a5128cc35ccad465aeb6fbaf1719ace0f1916c44a428245ef7a13ab03a2958e22399bed5ff079fed270e38ec8caa3b08ab23d1e1856d407c0724b2f24a7eb786ff1784de54556b0ec957e3dedab69817dc7a4b4efbe6deedb2b8955226d9b7c4d71d2f3a67ccc7f4206e8103b0d67365fe7951066c87802a85db13a9fffd0cf0c65413e1cb76e8f2d9319676da44d617b47e8c3bbd49537b762648cdc6c89b1491c67dac1dc9e6506440a44b9963e0e2ed0ecdb2eba3af9cfd9bbe4874142d52d43ab89bd1ef0d1d3df5aefad67ef84447a4ac3fcbdfa36c5e11082e71a7e48deeed331536b93f909bd18b9d44ee8e45584817ebb5d6575faa7f13711649dc60542b34e28297455fe8b88cd6cd3bbd2247cdefffb2df5c168afbb926072387c6876d6b0daacf1fdee6ea0760dea7e4eeebef9f1f74c3bfae4fd2b18816d60c46381880de3146369fecfce0bbb4bac88c9f9f817893dc7746b2acf7160a72442fcfd88e521fffba1b52e8a80122d7a557f926be4588c81b2140ccff6b4396bf82580f1dd435fb3bf1aafa39f911a0346d3785c68a82911a53831aa495beeb25d6d091f7edfefebdf3a0d5a8e6b3dbe0be3e917e509741b2c107ae4a684442e5390ec8c787176d75d61758fffe18e11cadb7787182c4db08846d0a52210f111514ad00dd6c863c4c86a907e666aa1c88b9f28ebe65df05223963c9066d55957771cc43ab6e6315fd711d91ea3c3ce017dcc4c7644fbc724fb4c43237662afd76603a9d0ce1bd98bb1e08b58b32ffece2f5a2016a90e56afdc9647a0b6e34f8e31d312c0cf0420e88ed3b0b5e78e997e56f1a01a2d50c9c016e5e968a1ef49d7773deb62721dff02b1e3686e9c4eec496ef0491e5b76d63223458c08c2407893c76c532bf69323c6c4b5a6c0b57c9fbe5edf645932432e4b7db06dc050d102ba6470725290eb1fde120b9b755b4751fa3836004314d705afe214fb22fedc9c5158c08ca1734b61e137dd43c246cb74d5110e51aa354d3530e628aefc497f5363814b71935c393c5d38a1d460fd3fa42386dec2feecacc9697e47eef187aa3439bcf6830c4a8daac8285e927cecfafc1e2aee86db9f3d55d28dd047e84395530212b4e0bc8630730d4cac7c66648c838dc323910bf8c203636fe455fa6334c5d32cc1b3914a9b41f65d672028ab3332c5f0670dff5661bfa8fd5968d2619c625c1fd1336677d895abe3329aec6bac0bd876f100ab63fe912e715debbf60af69a36bb9f0fbaac3840fc68bbdb5a991b323339bb54c66de2cc20c040ac43dfafa69da31ef7df2bfdeec1c191fadaec913bbe98899dc4849ddc293eee96df3ae3bada8fc28cf61278a5a5f652d484f53db49ac64fc3dabfad757a1e72206e0f7e64ed3f8fd57ec9d2a589a38684d8ebd1abe187fedef8dc2498c5dfc91eb33babcab5d757915bb131020096e492c40fe6812c33d76e5848caf676bf1e54d2efcbc4b106730d12b932d488ddec6c4cbcd4615130962326656902013404f824701ed2f847c60a625a8b3a10c9737a383947b07f12d05c04e663ea7987208df4355c8293764e2ea535c7dd8e089682beb9d5b208f6f63bdc38597e5bab12b8c5915105ef6b9697f0964329c849334e1390687d8ead76851560475535b510256779cb1b95ae6997f62fb1dc82f05a115e70cf9dc22eab2934d56444b618e31eb324ff6a6321d68c4b9c2050f9ca87751d4cb70741f9697946e1156f4335b63b9ec8064211d90569503ad047060e74f609d7e3d1b9d37e158eee7a3d38af7ea513e9a26b3786c6c5d6d3ce2f2b6b189be373c1cadbc1dbee345e79dbc3b22b8bc956e87309277492f7b6c8f9fbceb7579406ad730473f34c2a0a8dd3f442040583d20b8ef2bc9782ba4866f5a307d9bbc488fd63020aec31b933191c2d8329e23140bddfa132d1aa6f9a479184ace1636b6bee7ded83272bb420b7c4bc5a9b93c69e0d8244385fdacae4770c68c093b1d4a23dff9fc358b15c8ad2c82c764de269ebf6de905a243b67bbbde4d2bccee0f4491b6fba79c0b268583bc9db18b153ed1e829317b1c7904a3b0f5a823c6c342b13730675e44405ab93b2ee567917cf4667c50d0b66820d47489b56d23386c48755c41e5ca7e03e5c6125c3c86192255a9ddd6bc2983073d0b382ac33582bfe55746ab72aeec2fd0775e9c4b8ab8510e9fd0e1f7c042a4509306ff3e8a3032c778e95d4e42c3c05b4f32c86045502a4b830f4479d406659292b493356b896986834300cd081be0f3682ea7c16e85a6a90caa099a17610042d1e42af2fed15a625e7ad497d2d4188b1c6d4fbbc0cea2cff1666a84a0ac55ee5a7d752d39ad8cee3c000b8c65719aa2d4675ceb938a683f55a852ad4b043bf7124faf14eb72cd8ad7bf8ef0c9309931c595d1308a44a55450fa413decdc015f4d793bdcaec51fcc51e29f589bdd00fe54a1a9abada6033a23241177b5bfd8bba16f0058eb72fb12aa117b94e5f6ec113c66580e94e877b0db3d7a757577413c7eb90f2da9316d78aa0fd820adc1d2e2b48ed167a40f2d950207ca7c7277c54756eb4d94d777cdb3defb9602ad7fef93d201824570c61038535014ed7c5083bcd8057b9a6b8bd726a7d558f1dbd3f4658a8b29a6094f3c2ee8a37c746d90d363c09fd938b31e3f1f712923feefc25150f88703779bc3af1c08b826e0219235d0caf235489fb35b2c5092024e9e4797d2be354705c45f0dec4f4898d6e64a1638292359a9ef8033491e5ceda3a52de4ca61bdc6745daad7478e0cc1c55a15d9e9eadbbc80eec28bdac75196c69e36b43c24a26ec2cfad18d72b86ca38c5b1b5522d316150c08d7e173a798d93a21a7f54b9ed563d032a6af2697829a129e568b816de45f20ce0c294ce6d6c9552f1b3e9402a41960bdf8d9aa65a9840540bc60233a13ca0158e001506a980148ab17dcc20325ba895e52594bc675720222425483fa7ae582ca5158038467f854f2a2ab537f7e79e699e5b6594141a8fb58cfd9948a5ad728f1007e1539bf92e1683e446158b8b0e711f8d4e426b40f0223b9c450de5f9f50f744e6cdd7745a7bec02e74dbba5d6bead46b44618aa9751adb9ad83f8187ba19101cd68f94b000e719da9037d49fdf172b5a42037151c1f73dbad26a644030e4cbe2656b6c459320c221126b6e4793509445455b6839a0030f78446be15801ee06f9684d18b8cf81c510979ecb3bac874c62d68ee41811b4f0bbdd3cfdf0477c5f181ccc062092244e0d5333d3b81c33ee166cd3a86b9c95bfdf61bd772affc315c700f063205d9d4ff8be161a85751144b66d43a20eb7ab01da0197d926d5da1d3dd8cacfc7ac81ce27b8abdbe05c2edee60a9ee622009519be445c5ab5dd0a340fd8c660b9fa277a6e174034165de52aea06995210ace3834ce8e22f62423f805a2d57e19f5baa4dda77aaf0e3b231830bbb34078e524ea38b215e6bcaa13b39564f25907368371888b8688e38540a5bc6449a3ea2f0c16678471c75ec195c2c3ad31f78130370361ba259427644ba0e032eeb7c941ae6218a367ca9c075921cadadf51eda05b1d60d09a841f8274f113d22d1644d151f1e33ff4f24311915921c805a2ea74f82c604f0697090b5fc83c4c8060c2aab77ad7aa74332c7b12df716461ca1078c86ecd1e7f696a4449679da9fdacbbf2459f8650a17c185209a43681d4420b8445c9d22f8dc100d39e653715684961041e57adbb41dd1bcd83bb6db880488d2e45abae632f2b4dd877d67462944c070530fdaada756160aa3b5b87e1d296f0972b8848d7a3fbed41a04a117976e483d746b74dac6ae1616cd51197118fff64b0366312de94ea68d253df1981c3ffae0112d31456e05fc1e94a10cbbddb3fccc62fc8ee05179d7ee3993963b69516acc1ea457e7128e5614af0b3ae1cd5726448c2ba74c3457ef01eb7a68d15e442be2c7abc76cb31b39511e023a0da02503ca8aa7132bf082589fb0aea8a69d39f381be39da8b94bc29cae5e2048952b8a979877477995845ad8145fc6f323d9a044bc21b7d0d73b390f7efa78df7b580e29b01e90429d978884c6b1f76ceffc1249c813b298a51006c6f8834a1d5433f849cda6168781c719895dc3fb57f00c577120f68c1a14c068c2fd6e0a0ba4884beab33d0c0b86a0e9efb850ac569aae7c8a6aa26e054708ac67c26f0eee89199c92d8c74d546456ac359aa4ea712d3cd84281e10df57b2fa0c16a2dd40ff8dcd5093619add6be68f0c93c182a55dc1a2226434a75203cefb94288b15a5f4babb7ee9406b5d6796415db7c5a736273f9c84e14a1f216e957064d0a80fec407a410b8df78aabac41ba50a6c90f4b5358e98526da689b718e6518353196cb90baaeaca8ace1148a0a202b82d2a8bc39646e9a8d1d392a5349c1f5d037bf965ed10f18de0806a0bd7f542ae78c820df270936ee4db8bef0cf5e3a5dc768a511ac69cd806846af1f96abb4953681ae3f311b59c78b6c1aa8a4f5dde74f8a73c06dbc991e95c4e8e0784011095aff596f59a1060fc5c5e68f0c93e6dbb015e0787d1a9a8152bef219848e80a639fe06b56c849c5b504b9294d5a667965dca772d7ea9473e2154e57bc0fbdfeb30f05343de8376c54a26c350901a2ffaf6fa54ebc02f38b07ea078fe11912cc71fa00958c99bc38e9d5b46a70fc772640234f746095da9aa9f6a3f0b54a321957004320414845658b8d73d97b4bc2b3b85515563dac384c5a1caff11812ab57cd5c551352cdee251ed1a9e65ca03cc23201413d1e99d0e2149a1a0111ef5b24184a973c74e870d3908a60b5c4930abbdda2ff6af975b95d58a9890b31c9e8e3636188c7d1df62f71c7ec7b1dc4f2eece756a445786ac71607d5ed9fff65d90b68445e852b8d7c4d84463ef36ada107cac76928311c425dc17d1f0e07521e05ef1d31191898a33c5a7e54e7af1c0a8820e61053b2102f3a9076149971111609e0e4ac718d79bfbc2993f51d93c541c46dd85e0f8d9b24a5117b62f9298786e0d137a0873dbb99304fdc501ed6fc8d4b3a1d2198a68c71ca10fbd767021d0784ac444564fb2b613470fbbc2da390b0b0dc5d48886f05ba8ccea6f5c86f156bc9071b58aebb7e67a5b4b303230697f78b4bf4bea914536eba89ceb66a233c8c15d04f737122208152a0a002b8885c30d22ff4c1fe5b1946db948a622ce6713a3a2cdc74817a5dce72e1e2791b3081c469313e0ff4b855c2d18be07082ed112724464c47236506e7725b59f29e31404990718ae041427f88931e406bd18025d99b86cc1c4381f49c76847633175d11ea696a0afad9bbfe6383f2b66b388ec0f7d0753a59b09fa581b0a38e5b25418302ac9b6f5183297a2c831c061b494c903fc078d2a9b1fa6dab97d856d136da2ed7078ef412714a710d62380116862e150b17024d69c8f90288071f24d487ef22a5aaa8cae78994029056fd663581b0ca004b6d0fe13f4e08f8b70500bd076481d28f8661938936bf1e3a8afd3c6b34477bdd5618a9a2e789979452d6193f23d61b39d6e6b64744685040fb185208945b5710fb2c477290a24a7e01a2d0c197b69d443e13bfdda8276b35684e0e765cab5cdf9b2258ea36708c2c03029c54fb637ba42ac7196a0d7c43ff3cce4655669aa0269a1daa779d6b35cea5d3066ba04f51b41d5fd9908ddd40420a455b8e1a9da0beec9e56b42fd0686f08995e01e4daeab0a0a3e54b3601d308250066bd832cfdea985e226d240ce33f99ade3ade5ecb7f44cec362f4a65f16ba931962c92150cb6f7facc65129750fd06460692be7b89f0ef0bfa33f12b1be9e32d1b7a0ca5084f4d973ac670f51906b8b424ea0e5b521ccbba9f3699ff99796476623f982d556655f2614383cf907cef451a78e73337237eecbe063668cc3b46a99ebdd6381d2c6c82c05b76d91ff809149571ebdd21bd3244a7ddcc0c2397c2bbb75201fc3d386d90145f22bc3bd46d3b36c277ed25318347ed540bf3f370de80711551d9939405c5e5dd198f7a4f3b23b945a8aaf92115e616bace713d258849eb2f2e9b6857816a65eea45be810266a97c7a4a4318e46d01fe78fb3045accaf08ee959208ba714743d92c348c9dc185d0278112337ced2a5d85e31d612383a604ae054b8b25d12626ff93fcf1ba4d4d8c1aabbea515a4323ef79165dfe051e0aab9ae6efceb3951c48b94fe449b4a6f5697c166ea8a4cfd7d7fb3fcf247319e8b2d7db444508fb6d7a86bd1f73e694ded84e6f6a092ba19173f27205e6e5de0a676202e4d1fa63bf5c0fcae26b74b70706a28991eada89392fb18ef00f69d4ea3b873f16587c4bd83bd4fcc6493f55e17c90393ac94ab5288a96a57f5e3b0423547279b58d9271905be2a04806de9478b6a3158bdfcade2ac162d689a44904ee0dd277117f951ff181a7c4a5a2cb2f47c05eeda8eec053e169d4db6c9e241c17a18720d4b0dbe622503833dc452c9c1d2fbe9eac305a97fe5d867d02936292e0284f36e82eb83df5a7764c0b84c28add1e22f398104901e856bbc95ec505fc019cfba2083fb8af02466d10c1c778bcc17cb699d1d8e1724a9dd70580c55219e059e6cf06e73b1139e4286acb03cdbf45cd260b31967304b5132471e195cdf398b0530992835d8b80bd85d3f200ab8c0bd83c7df3e111038602476adf86b313ab2e7832bf8dc469aea5d6f4d66d03a41c6933b0c4f09ac91b061a6d92db96e72ea6c19fe43ab58241156c4553626413a414e8911f17b1611e15fd725f13d4f7526f2d098c1c89d45ac14679b7b618a910902834caa6fd5bc1134b29a67dab14b2fb7150423c40207b7b72476f773806ccf6fc33f41c75b2604780c5fc492b5f2b166cdb12530c1fb569a202ddaed5d5b0ba49ab968b3c5b37332ee35d67cd202d0fe7d7bab8a393006622484b80e456995b82804402968c18fbde00fab831ca700f3955c621daaaf226c720aa6812bea6460ce65c1fb817d5a9a4b23a6b66412b657d2e7efaa4cf09839376fb0f0bcc3149185ecef5c65b12de65caa7b191bd2a045c8a508ff06287269e28a823e09578268899b0e4e32f95bd20a0d760266758b25690fd537dfb4744e7c023989493f3cd9900ea1ca5396ba2f058551055599a1aa92a835c4dd48bcfb5cfe605de473962b686432cd4d90afb9acb7d7ee81373502ea10886c3e026cf64c90f96fcb3e4cf263f76f91ac59805bc49037a88f6815e40502ae21c6a8635716aecddbcd5f88cc01d06df2d2bb2fc3c44f98f3014c1cb5538ba8de644e30b6b6b7a8e0e79a8371a5d98543e0cdc33ce5c98fa6ded4846ae0d4c96e17aaf16afa27b2927e4af253dad8556b6976bbd644b99924c01a507a80752083cbdae3f4f14021e0d9604fe4ff47922fa6d9f60b1a494d20a9acccc4ce9b4d99c52ca2aad526f4a9963344aeb184f9dbe57afb0f32b333333ad943e337f57efb8ad41dca434c44fe95724d8f99487fea0b5564a290dd1cf11b23d54b1f3e70f1e8789e130196631ba9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f1f0fd0aa6d1c88e3a155dbb82de6d337b46a9be643ab566395ce5677370c4369af6174f373933bc2492e97ec49387661e0ef76aeededb3993265ca942953a6cd00eeaf381d479999a9f84d356d76659e4debc88caab3fea0cefcddfd08763ebbbb5730ec7c779f6d846b241f354dab9bf79aa6695a43a171ad9bd6da6c1b9c47d7e542a150283443a1b1ec9e6517f45db775dfdd6b8fa34303b820ad6a63d7dfcdd0ecea74e79aedf725e77d69afa6755dd7d50bfaf9df05fd077a0ff41b88eb5437cb79e777ddcfb13fd48d17148a816577ce09e22ed4854276824020d05882be1bf92f08449a3f491a034c37bb1de7506892378efb26791bc58ed2cd9f63ad52eecbf7b207654a2975a7ef948e5b0dce4c29ed20dc90ee9a5aa74c2adb58850a2ac0c05006746bda0c3287cc9adada77dd4dc562c0b5671e34c0dbdb5f005c6fddcd69d4bf8edef9749cb2fc24089d4b923c08d8f5afa1c2f5e7fc3d177577776f8cf2ef3aeeeb17767bf0b50f8925e83fef577ccc6c373443bfa4e36ff77cbb1186d10777e958a3497f4e8699a44fc7f2c7a58fc3ed26f26046f5e042a1efde8a25901bfa990430ca5508f998d92eaa067fdd08d3a47f15c9d05750e411be7d4ee401faf00bfa157106046229071477eee0f247c5f9c4ddf80b4d9ecb5ffd1910cc6c30803cb6efe157661b67b60bc3caca0843e8b9dbd9b1875ffbdc83c432e4de82fe2f68f4e1977b50ac62b9025fef1b7df8ddc63234ce8c251d7fb7ffbbcd4f1343e5e6c3efc6437beea7c863060417066eecc12283b28cac5fb1bc8723838ae5a454144bfaa0cfbdbb9c37141ab711877fe2cc0f1d337eb7ede96f382cdfe19460f4ac5f7538a391f5abd133a342cca819fa3518e53fe30120978e1ea3fcb96ec49931927e729cd1b8892c224944a1497f19a20a7ef24f867bfe40224c935f996bb88d25fa93e7d69f4fee74e2d6e74bc77205be33dbadefc367b63b7d38df4f077727d9291f7e39663b04063333db92de4a2747bd72d173da5a49185a299da27f7d8e5556ab3feb6be29cd5c7ceafd5bbdcdd0d0aa2634ecd6e4f71d7cdea5865c7e7dadedc3d9574fceedaedda9bf576ee35f5be39bc6712ba06d273a2a0634e6994bae6ed3d1b0694ceda4dba8e3946abd49b55fdda28c6580bc33652e7467777110eed81b63b17a35fb25ceab46bb8bc7dcd9a363398cbce71a557378e73e74023e59e7274f36fface5190948e27ad1ba36add7aa39499bf3ed77aba25fd6ddbbad209babc6963e5704a2ef4cabf573efe18c1aac711746f3c23804d9eeb314c1ee60b546dd26f92b53a5d6aa5da979452ca69dc5639d7be74afeff561704aab36e79cb449d7a3020fcc0e197b1d12ccbee658524a299d5eb7b09356fa25ccad24596bad750ba675d6fa506e5b3ff1f5fe925290111da5b4e958d66eda13a4d3793a16800b59438bd20e90e7de819ec55957854038ded83d480c7107363ae294fc7f706c1502d0872094a2d4fbdf3f6696e8b823f43e6e5d6fbacacecc4cd9a73bfdd2ddbd5277f75a926ed5626c00b4faf356ed889a854de224e6214ae9734ce9e65ffa7323b7d19771f97b80e9d2112704a0a71474a329651c5dd2a714041a7f6bbad331c7d0be393a47bfc8d7328abfc792bb54a3acdabee4ba5f13d979d0d12fdddd9d72fedc4f8e8381d326ad4ee9f47e82e56eaf51771f61609fc2ce7661e1b1dcbe3e276e2c7732ed8122dbc1d6b58d520a1a4bee721accb4b14edab66ddbb66d6aecacb27ce277e7e6864455a33d0dbfd25e1373fa61e81e8561fbf9d2f76e4de4157fada3bda7906ecec9a8dec6c9641501dde8ad3fd946a5d73f1fad7da77cec2472787872967cf12ad5775d7d4d64712bedabe842d3acb467b11cc12d7dd05bbfa463dedc3afa588ec005bbd2e888a33dfbe0c2dc1208b3d35c4d643ff9c9a9e83a2842d8c0e79cdd3cb09d164be281e95c529394d25a6d80934549c7e5b1ccc0e59af451bbe108141fd8c06e1fe16192d3dc25393062c4888c929a80f9098ad8c05364053c457e6039133de711d7111ce66c99dd4760475e2b94e05320b925cd81dd1e9679722ef3fcd0040f8e0fa5b378d6d523ec7c8fc726b64de1811999ed9475380107e2382e8723743708c409d18350170a3dd9410a7db2830f344dd33c8f764e388ee3be2f8745c11bec00032d08be94d4c0745c45e480021b5aabbd382f09e14a18da2d5664acac4c25826471639f0ce991c1224306edf12407234f72d8b93da409cb8885e5451aa2339a311a3dd10108d4880ef76488911925cc98a1c391ebe28028c1932143868c124a30b2c37dae293ed921052d26b4b478733e5901ce0a1526944c30a1c9103ac870a2e4522a79979b0c6183672f2b3902099c12245a4a2051849619b89ce0f2cdcc244c919fbfca39ae1f215cf719505c37d2f36405365cce090038e10423ac178b95cce0c5b3f00080000000003748749795d400a164068a439000781f80007c329551a1cb4a6a9e208dcc92543145ec61f989cdce2d3d7eb282235cce5d4cc225bd77c20933012e352e2460d21f16827948e77a2876fdc1b0af263b56d681286012643538f368e8aa4c1b46aeaf00a2c0a3a19b8133180c09a8032201c6341c6c398a091115a1f3419693384613c9da16e1946dc2e4ab5376a7495759999f1cc4411d592092694334e5fa93ac028d98277f9e22d3d2ac492f55b9a5d975179a6b4b3e31b0251d1f0bbd32fd14c32118e56f9bb8dc326c5d578544cc93dde9541884ab42979f6238b83e4f656883eb204c36e7047d8b31783506b67ed87293c8abf015c238a6af6b62f862943f154398adafb52c05d91a56a79ae5fa511256bdfce9b7675691ef3db3caf4da773357bd8ca3247cf23f6d63396242437a63397a82757d643e69633992a2358a31ca556047312a96a888a559a98ae84223bad43459a2d2259f4ed5d2a5a62c55b9a50583e5d1d08d710496956265560ad8cdacac53200b848148a676832d493d95c4831572bd86b045025218d75bc251ccfd0a0bea80b0b0150ae1933f28b4a43bbfb0c5287f4d0516d6291006223942cf59cf9e94f647a949ec556fae97e53bda69d27f16460faf5a2f8c39a33f7346c122401858c4ac9bcdd96889066e7756c4b11d9ddf7372fd948eb68686afe14e813b8518c651ac491fed8c96b4caf4dd1c6f8f616b14e3b1ec66d73bb654bbc1724c87d75f4b81eda1b626879abe867986cc2e7f61782df20dc19a7424543c1922334ac6832c193232a8e73f7dbe08f8f54630c8fcc2f3440e471c2da305203dc048e0850e3ac88962082be653f89e188aa50786e7ade03dcbe3704fe42b2306efe2b07e458e60953ef9cf2ec0593896406ef896a653e4cb786e2c63f03a4fb4342238f3c02a8fa35764c858613ec91841560eeecefcb82b3fbdf87470776504833429133e8e06679daad2a995f7b73421f864ba71daee2d10837757de029d484b3ac2ef3e1c3d0e78170c32bbf8382b724c7a0fb23c7f50a44c7a2f1299496f04591f77bd9f5d7c39e8f5c6991fb7fbd9c5a783de6e048380559a94d158a6179fb560154eb4344dfa47e093e9119c31b1e0ecfa47e023edd812645d7f900506e994f569d2ed9426fde7179fcc1cadac497f8fc2e2b0beb4b21f6f8a7d3984a44330313c520f12bc920097c5b88c6367582d057673710cbdbed934696b72e6b8b99adc6e3a05ff9a79e31a72cbb015b65c35f2df5c9b4dabb8957f083e9939816f73917a3657c9a753e52876fd7d147395e9fdbb8984d187eb4fb22ad4816f9404e815588e97cb172f8bc1a47f0ba7ba59932dc648890bc23a15b6ba59a7463126fd9d6d94f49661eb7a09c2ae33104dd3b49f22883ba5cdbe269157235b9291a098268e9d225f93d8ab199604e56b81ae4c23a967ce39e9ca2767655f9ad229edfd8a5b9e4e2428aee227f5b88a7c6fa1217d49ea0919f976945ce895e97b651a7f8c60458ea15793730c8f5d65fa284b9cacf82de9458e61d0edd8ce39e79c63e8d5a46f37d75d7e7293385753ec3b71ecc852e093d182d87273f55c7f16cbdffcc1e2681ced38a611021190c00476b0d042006600114073ad9e8e0550529febdfd51b3b9bd26e927eabc9eeed71340906a6a787491a0aac76eb58feb5c196b3c75d3d3c77d290a5c9d6cc4c42c9855e71df2b6efc3182d536521f7fa95494f297b4e75b9f136b40bf892c6eb5710f12695061b5d59236da15a769e30cf8c3ceaf4d69d051f7eed9d57362b45929b3534ae7e418a651745ca75a4825ccf892997bd4dd2c3256420b8a3eaf0b81b84dabd47b82dcdd422a61860922feaf8a3bd5e60760baa659b0d24aab73dce6759c4c525a29a5d59999796bc2cccc4ca96b63f3506f263a6731aa04fdb5579871e99770e9d83c4dd2e93e54daad99c0ced72aadd4044a3de60c1ce1478f7f95c2cf74723b9cc7b49ac9749c4fb519367767eae2bc2b7dd628f55cd368ec7c6f4a5faf265d96d9f9959fba3b334ad40518506ea2dcf04eecb2bb1346b9bb53767777989f3657bdc2ddddbd2b75eaeed4a9bbbbe6eecf3695524a29e5dc5da3ee3ea9bb6fd7c7b2c7fd62736add5dcb1fb33b7fd229464df724e435204a9d52aa719b56374aa957ca39a8670887dbb44abdd9b9216827d0680071eebcd5275aa55506cef564666606ddcc66931445d536d21366d218638cc1030e12b724b1131c307ffd51e8147d12831dba72d275ef6efbd6baca313eb8e6181f24fa94537c290e6fd10777fbe9f36fb704725bf4010377fbe7fcd1077765706c1e00727ba6471466b69b028f2ac0b03667d57850ba45601b61a8cf5d1f4ebf04c2d2297f52c4e7faad41749cf640b411067fdab3858e5bc5ab13fa6773053ad0b308faae9b6309632f7fc7ccecdbb66d63c95c39fed90ee3fdf61cabbadf4690c8893c5f7b91e3b871ebeec135bd81f64cdd6af3494dd3a6e5de9f63d5f6ee75dcbcd6ca832d61aef774ea3b8ee3da69edd16371a1ada3f3c466a78906eb4a73ceda840973b638a99c73ce3aa34ef1b8d12d398ee33696a9d526a6c7e69c73bace9d35b61fc471dc13664681c612c8e8bc15afd35e5c28ec3c1aba097920f0b31cc7815ea2174973ddf9d3c6ce60fb431fc77520af7417c7555937e79c2b2019dcb49936d366a39c779ffb2e398ee3da27688238103782ea8ce3382e74539fe3aaccf683b89f93a32092579bb0fddc6b24b0fda0af21ce762d6dc22c79b58a6dee99e3b8d165b300f041573233d392995956b58ddbb6ce67b7e71a48a3e128a554bba90ff2aaec5b3e7a1cf34ed00c4da0bbde77553c9a6ed6a447d329d68858edf2a0323cac6ce54b91acfb29332af42d2ae0d3d1bfb280efa7ccdc370f9c8133f0f903614158918f48d6a4f6b20cf81ed063893edffe0932c154ec560f01612d1026fab0d5a9fe594427bb5df7f541b12489c44fdc401ef396dd14f916e17562fdf9696f7dbab984e524485e77de9d4e792c4e5284cd4dd1eb9c848820d7bfabd22ae7c12d474eae87ad7048a72633b941ebce14887662e025d77b514c14ed40218a8996b0488b812d45b1db2ebe6d0384fd76699795e4bce06a979f4c31240789a711b13e67e081338e69233c8d88ed1c7de7f8832dc3967799890d82b8a1cb4fa6d8f91e10ba9a0f152d6c85ad17edd30ce9e87854663e3a534787caf7604f936599a8b49bd91d13bc7eb041a5b47633cf0476c7e42a12098fceaa5039e28823be15fad616c31b21634c15cff0056c0387794a226cc9bcfce937166c3df0e682ed075681b079432483c9b881c716f4f3069f8cf6dd4c826712d345f574fa1c17c8f1f43294e658da61fa1678657af24da30c3f725e2047194e6f7a930c2f4fbe0ba6277f3e39fec8197f14e0c9ff61e34d0f64c52b5ebd3cafbaf9f19879c0bc349e874cf73b683c7f27d4f3eac5db5ce256c5262bb160fad3bf60fa53697e8d7f79d3bf403e6a94e1349658a8f12f5f9ae30b35fea5f4028d3f3d8d3f3df95e38a44952dc6e36d816db784c3674ae7f8d9debff22faf38aa421f2ea45e4d5697369373674cd316c6d2ed10da3aa5071a171d9bc51fa826df8a7e006977504d94d894abb0c69135c82f48a4b8de886636a2ca6440e38073c733097b8b85c6c5c862ce9b41daf451b04a3ac0cac0d2c113a4cd89748665f3a9df6e968df4d267832315df42306a792e095804b19b7ec1a54fbd382b8dcf8c9dfe59573fd3f9d79c32507b6e1efb2830ea841d6774b90c5d2441cf2a98863fa4ed47141d20b40bdbf0b9156bd942e36d7df6548ab4ca72f5d8c5c57d5787f918fab6834e1756c915c263ed04f27df0a7d3593135e15715ebe459cd39322eb572439729f58bf7a19ed943ed5d06057a7afc9994f03e7e3aa1a16cceaf434d8d5ac53ac1a60cb55a54a83c6bff0f235461950fff23450ff32966a0a559cb3a669d69c5d2a92a410492791f4835943c3af7822a0245971fd79a6509288c004490a520fa3606099f0b417d8128435f964664af47f078d9fdfccfca6df02af52f817067023c4124958a19ebf1e5be0158db1a60685af39c0d7c07c01be06015f6380afb1f135bea6c6f4a79f63898e3b521881ac5063698e25164c4fe35d303d8df147cefc1fa737fd1c5d209fc6d3187fbc3cf940561ddb06839062693e8de795492ccd279f572f62699ec4d2ec6a88242836449201c4161a3ff923406c699164d71f463c400bebfaa3d0e24241e41502445e1d40e49501445ec188bcb221f2aa0022af6aec20f59476fcc871c1f42fff83fcd3f37561003742ecd0ac5ec61f34def4da8d055b20cb05b604612c1aa27d81447c4a6e119cea68c047cc1b5fcc043ba0124ebcd9c42703fa6ef2f0e4992ed2c89ea00ec6a818cd177bed84ad170b8c458725c6b213b65ededff2b8eaf43c546e6956f2e1f1baf9dd84c26bb10b8351dd8f0d96e5cd70fd67149a0f76ded70916e220b2215c01873b70d803abec8e9fe60d11eb87eb5fbf9b51f08c62ba883e8e0e834ffe24a821e6090161dd2c6c75b32a966662894a933e8cf2b73bae2a55e9136bde2871c136dca58628aebbd45cff92172296cb904e95f685c448c93cf9877456623b932cc710cfcbc2e828e6a13b7f65c7041e1f7b6e391202c7a8899ae48b78aa21d2107976f084f72dac5893ae440b0dc77cb7c1d925f5dc127d93a57155898e251648f2f4a65106d39f4c7f7a79194e4f8ee4f38abe880e20b516d8bfb1ef329321aab8dce527531cb925a9c7245ac04ffe27d1a69b3db100256224918f48f675b3efeb2f1170f90dc03740d6b451922a10061a31bb31e60d918c6d74333ef98b64b7b9df7f40145cff520057bca011d77f8555208c4f3e048e91410b4da7e643e92a3a08bc72fd4953700cdf2f463b6095266d4d4e8ec66aa9c10b9214d21624d9bc615fd34613d71f244694ebdd77fede73a18deb461918da3c6db434e0ccee34298a62d52bbb688e62a326463bf665777a62764714e398d9e3fdc0079ee6b2f3cb6e2685d7cdb41e6c57af47bdf176a071b66c14935dfffa7308df0adf9d23c872592a424842302a3cb6f427159f4cffa4a26a2cb02d35704a7453aa7f7a5e95ea5862c1f42fff02f9a75186d393ff32ca90e3c2e9c997a1006f6a61710ca7443f30e94f92b90af55f9266f74f22a8e327ff028856c631df77c396ab50630d1289c6c87e7a19a178768ace45d26483312a17d6240f765ed393df806f24867d996f665ed0ccf1e5e80b1a5b588cf217fd20baa97414ed88622c51ec8ec4b07f474a94e02578d48455e0cc47b179e3eb9936fc9dc45010c19be2bcb35dd4cdba59d8d20921693284447f3df3466808b6e15f869898e07a7fa888eb5ff62dbf9e100f3a558a582124f5494e424b90b8ac4e6955785618c15be1cbf1dd39763346f9779acb3aa987dbc1f28a144d22afba67f79eb71e5b58b6484b90db52039366d7df1b474d070b1a2d8fdd6952cbc18a62768787eb2fb0418862a258a76ad56a78543c9e6078dfb507440f103c4a9ad82869328485d2af483ff9d314c067657a6dc87797990831c564dff4616b92a36924ff73e147093aabd39323a72c3321e2c38488ecfa6f36dbab539b914b8a5d7f2df0ea34aae027982657601fc62f33a14191126c0da509c2822e3321e2e7822e3f99c2874f13621a733657a7be7985d7cd26165e83ae6cca3e192bb33e9426a73ab1a595f9cc202ce932131a4499820577f404a7463b231e8e29473c907d3bc8ef2616defc6476903fb1f86476983e6c31ca9f144b26b1e4e3277f10050121db71a4977db9ca633d8964bd1bd2dbd716766586999a41c424893055d6c74f548071c1b865d862fd8434e12cca1377e403e3aa06b23ba09d1d9005b2ac8c251ae096dd8b63bafb6e26deb29b2d714b038861cb05e2b78420aec69ba29531ca3f899647d3ab110fbc9aeb3f6bac8c63fcfacf1562aef0868e968c6251dc32b401611ce374074a0ff745d3c296a21b0b744f8fdd03c54f648fe8d33e3d13ddf81c29c1d702f92611944eadcc30c9151a44555c7f324cc2a7500a5928923109759e743367f872f40db52c6c298a89948896e026acfa642eaa9936be2f629f0f1434782296e84674f304ec8a6e3e99a8e6fbe293896a8a6077c01b4096dd11c5e60d912c360438c63ccd2a05615734d9b981258a32c5862e4649b15a145b9a3f476779cb4fce3aa2a4d2eeebe94058a5af58773f0f6db2089e86054c154690d9b2eb61c3d98a6c45704aa30127c0b4f1b0fd7043e41bc18a2b424ffebc01bebb8a860b38f503ab4e4558084e8069033dd783d72d80c6cbcb1556d0b8d4744a03d53f7de80a5ba1ce8934852d3f19a13e1571587665fa10a342776aa4d725c0085654e1a2d329245c6c3ab55517235714e10a1911c05b927ab0a022dc2114c237422421ae87382091f6b6af9b112ca240b1db771f8a22650836f4da835eca1421d8295904218b296cf7a0d7e994a76d487a3372b5d80208b6d529cfc5c531202d4828b4c1a060c5cb1527fb8319177c83d986bf0bcb2548ab4c1ce3bd77777e59f2e25e318abdc84631292c917e85309027c3028b283ddea899441a2488474da00dd75ff3410a463c3db0cccc3229568a958d31ebda05a42e6694d962aa8fa2345ec81656d81ac548920c5bb30c5b2dae9621a57e20b77bae4a6eb6e02bd3a8f5c096a41e2a84e2b082219e1685f55b5a190f5a5a9d6a6971e9cc3a73f07e30e70dea825617ac4904282cfdb29b3dd18325fff43bdf480ccb71a190a902fb020e79c031bdd02bd3b7b8c496212dad93d84243a242055c5c67d15c165cdbc1133cec8c784638907a38ce493ae8e0756ceb9c4245b28e999997876d7299f40f42a7180a6194e94de3fc5224ba2538135d9737c57008a37208750863e0038f2df5f30d5b7401a65192eeab3d31bdc022f8e4478030ff6023d809b06eca3ccd09ef86e5e50213804e8d180a3b3df0e03561270f1e08e398b9f1c09305de14714c0feabcae696c81c756fbd9824f8647f73db8eb7d4e3657135b8e6273b3e9936faf7173694c80acbeddead47cd06b5fabc8a387ddc027532d48ece157478b132b90801c100379e73be07b408b132b8af040db4d93bed930ca7f13b716b00d7f4fdc5cc0284d6362cb6ec6822f071dedab99d080a21c797d3295dd393255d6894fd6d1aef1c9be28202bd4cd5834fadbcdb4e13dab0b080be2e272b1815dffd01046b9e4d03941b2c4081244a070d6071f3c9475a2356f803cb00d600f30b8fe5d376f6a70316a3e83ac1d5b6eaecdc571d67a35adb2ed0d699918131c82552f2d6508c2665d18dd6cd6cd66dd6c6665b1205666a44ffe483824ec92eb4ea05c187874d6a40f0c3c1b5f8e0fd4b132104118a33657bb4753e4871f881001822710bdb99a0a89450304109e01608c0293b00d7f9088092ac1c4f5d796b025a967c464f4c4488a1850118c0dc1281ccd4b2e1d4b963b4151a4e840ca941cd829592cc9420b25b650b2854f12fbda88f870112b47b1c905081bf190e328e62011a62e46b1246cb9b9b4776d44ae7f78e3a14da7406117dd2cbc095be10fdd8f1738b025a9c785c6535d954e815aeec2bafe44ca904e5703468aa7dd00ca942c90c8628e62a28ad4c3436015f9fe301cd34fde9274c5f662d4160493e3e6f2adc848c9e662d4115a6c61832d7c6a60e9fc3fbdd0a0316e37fc72225db5c5fce45c3019b6b61b77d951d3b1a3ea6531ed4b13edab1b23668bd8d7747a4324bc095fd78784ae3bb21d15fb5671946486edaa574177fe1cc51835e21925f96e37c66867f4c448c9080a27468c62a318c77c20f741aa9d42fbab8dd566c7e393d1589873b43e4d5a190da86812c1d697208bfb6d03851e7c7f214414819d685dfb5de955d0e3904318a4299d9af37b50401bcba62df205c7194fe4c1c21c63f0bab984e52742dcdcee546965cca485048391a2fce4888daa57a429b72f7f3a362ceef626f0f864b829b2f04100c8ddb651bba1e5fa17a42ce6f32d7bd44b320268779a34c2cedbcd4f071d2d0fac49cf31ef9c81254dd16409b626a747520f094aa7e0af21b1e1ca586a189226bd6142dcad8a5b927aa8ade118a98707a5efb9586e5e0208615a5c2ec256e8ea148ad82e3319c2c8dd2e3f99424a371bc5bad91629683e95d2aaa2b56a44683497d63af34a539a0b0dad5b54910c8663a875a29f453720cb3a3155e00d37a29b7943149b36c01ba6ca8a44376d598c0ac3d2dc79c3d6c0367e444aaeff34f2e598318ae678da10b60461b095964f0fcf1c47b1d10ea9e739a67e12d64812b7bf1cc54852d85a470bb3af264b94d41306977027879447df92d4a315b13db050082c6cc18a78232bd2c154853acc53ade3179b3644323fe93055222de6691c1df1d83290ee5a476e0ae171a7aad5b141683161d7d6806d1cf129c981d9f698982ad3180ee993972111ab13dac0ac5f1ef4c26cbda57d0de16942d81264cd21be997943218c4ac263ded99303439b37bfd91484813a39fd34fccaa4fad5073e193a4efbd724b608ce9aacf4b56a6b72b4119cd1740ab07eed6b13e99bef628cea57934676b03d3293253f59227667bfae6be076a3581321513e173896deccebe96d2c3d9dee22352821c237e79c33467ddf77c496e04c76cb4ecbd18cd8d2ca74d8db4f7798688be11421941b3bda6185421865b160120cc29005ad222f7ffa92237f1403ef8472cbcd658245220ae2e36932b08c844a1dc296601e115e27daeff85bc1dad0d5cd120e096dba5909ce2e58c5d674ca06e9146b61a7b4ca57feb64aa7fcfab7c703c730c7ac99028d88a59747935a6e9e7da8e48d544645eb989a190100000000e3140000200c0e8904231291288a31901f14000c6c924e72603a10079328c651204431c618428831c600620822ca0ccd9401001174b9a59fb34b4d7ed16fead034de343c3aef0fe606511d32d9d19674d19234621f67dc03a734bb1042fe53e89e4bd61612e890bfcd561e16415027c0b79c0453e0a45f0905731292d23d249f2326ecd11bd279a0fd62876e6d1de0419db19b8752383f8f49c8150eea6ece3a112214deafa7c536117a1b9be7d9725381b90c0ddd91dbd1700db945c881ada216622d86025f75e99a3b2dacf772942a9f8aad62308f65ed9e10b7a6d07dddd685288c4da4d2190f2e152e55862bcf86e1c03403e2c26aa3f073f18f755782c45e0409db961c8f1afe2874d772a1471669ab3471c7d0ec68e54711063b4bc62fb52504e532e4e5f91b091923c3684b33dfc595ed19d2ba40a77d1f9d8e5c205e2e2468c7811517e6c03e4f074c0458e58f3421f04f5c8ca4554073a6c7a57cb7e2929090a5e53873e73f44af911413d4c96f4d603d05dc2d038084bc65278b4e52d9f35f3848fdde9d6fc170d430836ca25a9a18836c5a309c526eb58317c0da11b6b650100eb63090003888fb06d584b795f7a23d6331614d1bee111b5e4c686d568b20c0db3bdb2e5c15a8af766fdb89f099340f1a08be947bfce8a40c346951a6d772335f6a677fe00c1e2f5e08960b0b27805aea8091acc7d9bd52db62afabb1ba575036f019a3e57ce0954a267b45a3ffd079589bc98156c764d80e2f41d4e7a42e89a0226074eaf704c3677c988ef6934b2b1b1c8d1348fa95aba281113b6882570584e7c7299cc6ea2b45ec86b882febc2753aec0f41afc1f67b7797026f6817af1a5942087dbb9b2ab223fe5e7a09c36e81c542c62bb40649a71fe05638d52aee41ce81740ce6906ba9cb0d7e2e5060f0d668095634e45db29d3ef89bc070014aa6e12db719373a99f6cbb8ef5d7347e56ab98785b9605eea5ce5d45c5dcdb218ae43105dbda01e63d58c77c0926fda0a36de4c1ba7bc04c2141eb9f4c1445020acf0f74628f33cb0e280631d7ebf51e2a628421082eb066b4f42544c535b2a2f369536c9b5fa4231a7ba5d8a7b1e0df02d010088f2b6755a3084b903df0608b92d1c6dda58e2a5b8921022ec43eea96d6f1c3bd0408001be66dfe6a7537106c5871c9bf2ce71b2c8ceda909ab0b3eb4ac054a357835805a7ed7f600ddff18952420b84630f929c7a19d1276865b2515a23fcdc3c460f4192c7506480589452683df4854c564bd119067f074371bb4c1be1d9796516072407388514597a4111e3f6c576e86ca04289a3920dcc42e8fa6f388776a4dde12365ca3f7c2e36c2cd1329be215a95078485f56a0873d09aa4c178352a1fb9e542808924150b49e6bca3401b48c2898e58f5b1a818ecd0c2b03f154151f5d215e9aa46792b0e7ba10fd003537b395dde25a98ee41282450ef254f3910685c61ff183a97d690a0b53d5600925a102ddca6be2b47be215e60f2014d5305befeca4466bc1237baf22d6287d43e29754191435fad4032e40b7119867585cb404dcf9a4a52ed8911c4ccac7c141f56e009a438d0c07439bf1a430e6f9179461fff2bdb07cc5d22ae0026dcd12168d887e01dee43fc2a6792809173cb6504d092a3db25133dbc503fb9cb89159b344eac31e5a8eafab1d92a564dba2ce7a0dc6f28e61f6d541d3c747c578c1ecf8d2733462bbd29b5ed999684e1197f99e56225d3c164f79eb0a434a87810f018d9fb04a73270c926106373d4a0a9a1884ab998d8b6b22a61724bf2a533bf3a9fdddea5f491b028065de061e80a23e25b9d7bbdc73480b586fb836d39ad77d060f8c0afb772544f1407c6a1afb572ea2db30a314b146b9559a55de9dc17f28ea35dc3e8d0e7ab8fa2c2e0132b0508f36e069b54b5b4930bfab4a97f4fc1acc61174e8872243af5c396b45b150eec9fa4e7ac4bfd65b46031d31f6bf72f8e9e1ad946c17f0cfe1a7d5f43bf64cb014ddd31e115a4568a3a6cd6fc2395549cc333e50591a55343015c9cde359d95485ac4626e168eb392493418c79c2c0939b6180e63135fbbe6081b18b5c03dfc4ce9e7744a8d513f77d6094aaf065582fd7c4dc541f9703f3344d65ff2780d4e5fb1767da375be7982cdbcba87d5feac63cf129479f8b021989433a83d6480d74d0e0033809f48ed2de548bb4dec97a9053bea48916f8113b5f8d82a5b763dc5b896cf6d92126797837fc77f3bea60eeca8b2f205bd242701bb616ffcfca43c6a2e455bea17fa7fbce5697d38b5b2afc4002a64dbba03ea50bdabeb40b5664883e601bc45bdaaec44affe49903182c4f43deb7dfdb84e5092146fcbd61f578ea7cc903185f244bf33e9c06501d3a3336e16520c41f679e134d7a6cf8a0217be3eca37b5bea7a8f46451363e54d0b07c29041c04531b33345020de686b5405e51d670783265015f244f86e0feb55f09900adbc31304a14f512a5ae0922349fe939b2422f7e2b080d6abc822f5ce347e13439e42b009ec1a4c4e4c0f49b7b5cd9322ba62a47a83382d1b119bf3b3f9f1fb72692dcf194d171d9daf7e54135f13c2975d88638ed4a5925569ebec5e54cc20c8bd2e22f8da7397ecd8c368dea5dbf1cf2cc60f24278b8dd3931b8b3794c48f4cba7de7df9b9c4bc95b6dd675ce0b9aaac6e93954c6d14e8f26b5d8cdcb321d888c22e0a58e07e36951581ece76ffc68d483590f94665640c65c234f21c19f08845e351696be08254625a82f2d2580a1b794a1345b82ac54c87116f6a9c0b04dff2da5d3e3da2921bf7968751db713c928d17e6209215bb4eb88cb7b88e8f8b123728e3a53064d94d25bebae9a204344cf8f8ccc6c55074d47b510d0b54cd7e3b1abafe114da7931d4b79c1ea0ff34d75d417c9b7214c03ab0455407c8a0e0c6baf3da79e8236592dc88a64811420355176f1420c8845e27f48f261abea6b46ff46c5e34ce999aa5bd4231cad3cfe93938de50c57b88ba61d853dd020a4145db1a8e80dfeab9a6bafd56a11cede9ae9d4d72bdd26804da13504f14223ad024cb4c2c2372a83a04d40c28758711e50d7823a319f8f81942432ef6593bcf320067324150445af4274f27705885e96c0c896a96e8650e0638d840603fe1a7509ef1d3826762bbbac47163b99df2aa4c8449b72aed11f64059d9e4c70301fd89db6f00555cbd4da761fb132a7c82d954754556024b7dc52d0956d3b6fc7c1aac9da6c96d71dd25b64f160c6b748b216ca483606eeae2895572eae4191a4f7798c3f958feed917847216519199c5aded0cff49ab9779d850fdd90a754b05704001967022cd6cb413958742331f69b8fa5467e73bae1f5b0275943a5c9cfefd524c8f47ec6d4b874827a11b3141d8b1a49a0deb40bf28f88b205851891d213118a54ab535a8b715a4dbff4ef2972885f144f18bc749e29ac55f24fb4c8c63e6f2c2511de9ab184df97425ae60600570dc148c93b9e2b2c21b0c86af59841a11e510ac19c1506ad239a4cb5552d345c8856bd1a6a3317db3032a1c006120ef6b7af1ceaf466fbf8d28849e79656250766080614927a68e41dbebf0cb26322258a8e9da63adba2b80b3c4fc72838942c481f4b3ba489d48a20dd65fe8dd7549226d048f6a46039bdb84f902f0f8231e38bf584fffe32aca6c92ea81260da565448c300690cd49144c50140832fcb8194c368e171e9b3211af60bbe544aed19c7bbc5dec7541c251640d2ec929317d94062ecca6ba6f1788529c4f826dbaf322f826be68228097820419ae8228812a206467aac33ea816cc0ef5adda6c1b3a46d143d4a02a86f19b94132ddfe2ec20e67ef9fe945d686ff79e6ad1da4c26598c944f67efa881ecf680427d4598879efe01845b0a31ad196bcbfb12e722cf4db212ba1e9bd4328ec67345cb66b9e35dfc5fe98e9a1d45c420448d6370b6005824885f43fcc3050358f1025b4ffd65c5dcd7f9c4b83dc835336000d028d3a300eb61304395c0309f62e4eb6f1f26afa49b03804293185c90ac0e0aad8a0795e2432cee28a84150227c7217ac6c709320b35ed5533de3154ae50d2252c1e3cd79acf54738124a14c4a55ee9eece21674e0e597847449ae6f2091fecb333c30a805396d8a85cc05fe1e325dac85d1b80135a2311aa0184382cd1fc6930b5c23f59f3f55c2f8fccf90e5891e54f05bf238a0f281ccb84ccea367f58b9e6463c5128944f554a461e49817020324bee6305346a23f80aeecfd4e908bad566d68ed322a20b4944de66e4254c109b76c0e73cba188cccdc7321100216b5aff450cfb132a229501f8ecb45d1069dbc8a2f0a2e48e9cc517e8278decde66c3e1054d30b36a6bf73aeed29b0330ab95be4517abb91c1f251f69dedbee95c824cb6f967ce4a18659f86bcd30521517a99a112f5c689818a3c7465d24f323c31e471d860e9612aaa47b0aea49e3c249bb948f00f09bb39f384635225062ace40d241d637c30ada54702454c08defbf285f737ea6a5a992b5f66af1d175e63101b29a4dee5d448a956ce5a0f9fa038fc0da866466fdbc3a32db2885e17ab3a50a4a613669d931c43a0583f383ecbae07345212ede72a2c6c8d72cf7d4359e40a3c68840afd4a3173f5e12dcf7073f5f06fced9e854e7d0eb59218df31d4121f31ae5292a961c3df0a64c274737888225d168ee53ef92a49c2658ab33685ed0810812993c551b844ef0ef6df7d0a6ec4b3906a1d46227429ce31e7a6668d0ab9729a1d34707bbf507513294f07cde039e99cb52e672281553c1bc9a46d432bdf983d4b66aff675cccab284548e9194b9d2ab434f151f5f00f4297112edb7110d82e42c63ec23cfb67f0ae1e8ef6a6a82f62252911d56df166e34d76ecc5240d33df5048dd857a4457424ae62a96f7b46f955d17f9524e8bd140dcb3aef64e2af64b131024a889df9b39082e349cf70dbae8f37df681347ad223e925d2d33eb5cc46a2cd1838d7fe73c330b5b4299bc73c6574837e7b69aab64c819d424d575201b349c49e34dd49f69e2f265402263c6a82286cbc42d2cb6aa4e52e40e9c5aef63a60225a58e4e6bb4384dc95323b8fd6e4e471833c0476cae1899decb996e4a7dc46ed3c9edd9dc5768bbb5823f102e54f4b0f92f713d1f31fb1f2f4d121a4d8db6410eedc11aee5558c671b323eeaec077fedfc45458641cdb5f32941598532d74e57f5f437c2c1f0bb71123c3567979e27560aa4605e284b77a28f42f0e2fc8aabe090cc4276149a2e3bec423d6d6398923e0d06ce311ba1503ba942b2005547b7f824b54e3cb5aa842f77aa19ed3914ce6eeaa806d4016af2d17013d080bdc5c9a4d577a2912b3a6dc3c40a28953d61120e8efdd31bab824a6ba9f43eaa8c977ccae384095127810e8009e94396a82d5830eb0e9d3cb6f4b427889a375b26db1d78154b258f9a396b84cded8bfd4210490978307569abae088b5491757358c50d06c308bc85136e2edc0db0f825c4c539145d11b03a46ca19691aeeed4f295c174746b9c464909646bc38c6372e2129f64709eacd1a645cccf0052fdd633ce6f22b75b9e81d012b1a97b64ace966e1654169c4d31ce200d470ce53e24af96828cc22316ef48022364f7e3e7410c5edb35e784641a954b2f0c7eb63e6629760a567c6a94a187d1d882ae365443232289570ece1a581ebea6aa16d71afa38a1c55946f4d5bb73b9e34bbe36f9bf3e31fb27e5e698bd14eb50a345d4ec899f56207b0373e8683e225b88cb8ad179c30e2ff3484c91815c85d68e702e8f6541908eb29c0be3de9ee3750cb13bf0d6d06adbad036ed4c463f10e207f258cd2d065f7ae63038235165952b19e9f432c0745e703ed75153159e347c14b7edbd5395a75511be3a2c632917650b7102895554aa225e889d4c0203aa6e2383010a965cc6997e07727407ee3b7204baba4c48552a7b43ca68be6bc68665caa0b0db1f82a60aeaf40acc5f3583b236234268954cc0218fb7c686b8ff3a266eac1ecd7a755235a0e98153895b7cbe9e00cae7ec544b000596b23c983f4cf9c40d5b69049a97bf949a8b0e47b74a49f7f8e2425a80c6f5167af0abaa57217ba4e5f908dd27ff84ae7dbd9da2bc0c8a35c32920b510f83a8e791cc53ec5edff9c226cc09326efda607d66d19ece1cadd1f241b684b7451fdcce1c5ee64b07afc427849afe98af0f31d5882c9fa30535575d1dd88c6fc6055e80ee95b8e2ea903b8b20a2909134b8f552a918d5d0ad0d8d855082839034bbf22af7200a2ee928255bdfc8feb61609d752092b09a3aa1dc1c56d574a957064bdb2c4a6358331e2b976ec2c5fdab60fb8f6d3366c58006db8a1be297a10ff0c4b1eaf4ce590f56d7db06979ac5b703e36a1a4b888ce0f35dc152de05bafe703d526a8295b350bee4e04371488fa33fe531c6fc9506722e4217adf58816afb762adfff189df02063e6b293911f05d2f5e97363392faff696b4078fa04c5d4618270708c2a06deaea2bcaed67da35ed43327cb10cdc6b2cc1bf9f61e7415c96f444055db2ba8f054637a9b8fa55d96d0a0a0addca9292d7b301f5c5ba00e917efd88e23b99941eef3464e5f3b1833156694c7648c00feaf4474af5fc27829a8ba44f2e7cad5e4b2a52f230ab641a1b944109ec5d50915f081a94b4e8b8f736b06c582ecc9e10a7148fa543c429d8e55329982e3863a1fa6e8c0dc773e66227626e47f6f897b2a2a12853e5087e718a197d8f727072cae93964a55ea07890c4aaa705f9f1ecc521104070c395224b4e6a4e6877716761436e05f8912a174bb4896bf808a7f34025031de4e26416a1ca40271c642188028e2c8fe04bfb16a170ad2061d1c74559467353f23ea70110088210ecaabef84f96fc0a681499db96feb37bd5dbc0496d7f186dd42506cbf6c493b3f3f839b40b90d9cbd4a35b5144f5a14b6af49dc000683ac2c08ca9c71798583eae146409efdfb6d082c635e1983b83b1b92397659c925d4b7497a5e55bb9ba9483625c1d42d6798370aa4d7c940d868126a8c9774e9003132ca303a0af8c5fd19abc8415e72301e509c5d8533a86950bbfb6c30f4c3dacf348746e397b602d71bed11d7140818e45da6495e452e9ab249f9fc51b87a2b18a3a794866791165d76821794393cea6a13355df2d65fc415c15879d0c91070884454383a303de37a6cf0cd591893e068e82d34a0151f12ec2e16e7ab6d42d087d049315811622bb5b74fb0ca6533f89ed0904d4f721b21ed0fe6126155ca8d17c4bb19377ce4f5fe593d591afa56b0c629f639267289b520caa5a4ca0419dba2ab420443c86d9cc6cd63812d769073c9be7dd57f995202d09283815449ced07be6f74caa20420b034bec40317a02485ceb1fb2995a72d89f6bc0ec8f0481aa1908cca44665481b335ee1a00b347e4c02816279d650c35f8e43b0edd75bf2ba1ec2c84f84faaa9121887fb386d446a4a90b390370bcbcf221aa2448188a8ca1e0094e1690dd03ea63e3027bcbf23f3ab63a3127826c41982444f82a4b85e4c8221da9e2ff15e6564c7ad8341edf5c4c0a1d33082111a23085b191b272d578079d437d35c6bdab2e951deb5e9b20579be64d5621b8374c57429293d18efa550d51dc8630f0d1e7fd8976630d49a049375b4cfc902cca06262eaef2a767a6d3856865ae1a3c7fb48175f654c6d5e2aaea791e581bc7cd764ef2db64532231f3a562b0e959eedb2d00e3148fd4202f564008b603e88aa55a8967ca7e6433dcf43b13f418834cadd268437b5712d5e819c057c82417095690b4929c6880ef82fd8b580b0d2915f3027700937b93a03b1ef27ceb3ef87648724171145b00f59451e16bcd189125072f77f8885d92fe450bd8585e27c10959a5c7d8e23477c78c5d3260c8bc38621b6e71d458fcd017af53a61655dc076f8718104e3c23ef93e30737aa7a703669e38c7ec2cbe12a92cbcf839231ab277412398fe6f5e6ceabd5e01be46a26788318f2c8af16ef7e71c003f2a3382010a99a82746718a2d3d2f3d5b8e0f663b51a2ec324f912151dc163384ce9b4be8bf91268437ab307c489238174df6de1fe13e9456c78b24c8ae78c37bcac1dd988a86ed0a25df1439d653a1bdb069e1148c35dd227c693730b7ceefa6856ac8717029f64c1051a21b05c2103a22cb0860e9c54ec93ca1f87117a300dc865a8a2501f9ba0dd0cad06f7c4a8c7acda39143f0cd460906f20b259d15960e4100ae4495fde0e638222bd4fa45d795d76b6c60db29eb448b914a85f8a748fa37ea197c7876e940fd0a395b83141dbbf640015221a21f6c8beb17f0687cdc62d23437519ec258cb83d689e4e54fecdd60ed2b43cdff95784ac6168c8d9dc6d12fd158e152fb3f46a6bbfe6023e4e5d4963b682c5d35f2f2c02eebf78ef1b17743459d74ce3bebf090a9878bc74aef7a69f541096924ab6a8b1acc958ccc455a85cce350e38925c613820072968dbec90cb15e389a89b30368f595cc6c9999a0833547ba6706f0c7f5c38766b9b1f07192311f733a05928f5073c820bae8a1838142d3b1e1c4c3115869b6174c17e9c850271719f1eca7c800432deb95bc9b1566353e53939736b154507aa6ed6530b5ca4084d187cf0463ce329fe19b186751cc8b24c2b4ab8471c3109aed756d0c3f26c8efe0956a0f7081ec8dd68346772a916bf31a44af5ac0d3b205fcafb6c0bd4661d55515b44229a2a9b6f54e0c2aa04f81083a7b5aa78e98a831ea195b83809ffb559181bacddbf070eccf54d781c2ad86abf384afdc0563096f777b43d697dc88cc5ebc231ad7bb0aba260c8a92a6f315c1732dd85380d6b658a00d9bb2238bf422b0b21f3d87bc63d3c23334834d199a6fb0e2ed483c0db875d41868e3ff06c4471ba066e42870d6818898004b5f291694c49d380bdbf240692e7f203b447939452c6f85d5447eac5e6bd2b65ef76e9bc35349c647a0efc923498d0f1203e6d8bb55ed039912e8683f1a6dc76c9968b4e37242be6a76a3777a8c8820c3c17a23c82cfeb7bf27611a29d96805b9a0b351d7103d556461299b21845cd0d19096c836d80f59744d5913114b751de716d38134970d602e9f0a49c78e8393714bdf63675c0eccd4a7711fdae861be51e8b201a5cbf6d2c8e6d1155d2f021d513ee4d30e39c79bc718c48fc7407a8646613bc470e5288db9192a4d4792183376b6ecf3dfaf977a349c4bb89570ab744b7cd608b402dfb67fa5ea5822c855ab40fe4f3a8ed678516a8c8b541bc3bd069249b766252ec015b33921a92f8db2a7205630109ae57ba8ecd6fabb2ace080c00fc2df54b0fd5a198ec32e3bee9902771c8d3fc213fba1d37f361f75d47e997d748564f73c7861c4679e4926fb47ad6a03f51e83d5215cb98835bb6a30732e4250f9040c65d59115fa0e4d71168dbbbba9648bae323af8e7dd1cd94185d148fd1739e38d390506c3dd1ce95731a2ff66d1ea0abf38939d4c79159bce0a68a354fb2cd0bf06a300ef86cf5bf961ac0a58d41eaa236a4e6d31378c8833aefe163334255fd535aed8c75656072a19a1e69fd5f480ed81c1ad8a5e24e92bedbb5874ac32c2b4ccc7c11aa14ad2dbb2fe7ab1e87c96a07bc3e79fc1aa3f437d90ab35a386849597e536ed6372384ee5f6cf3d9ac0f0c5b5fb0cd47b464111cdb06039e4212b1ff6ed327984da5132ed6139a8821f5ceb9c5a06ad20a1d625938356decfb2638e93312aa128435bdbd3c90b3873a5ad32d6a723d2d552c67ecf6f274bb5b8d0e9ef984d9b94e17e1675056c3dd8079c9620956efa15887133a7307e97e7f27ee7f0ad488cc06c121711f2685f1544162d14424e40d4b12ca08da626ae69ccd301da1220dab027fd56aa0092ec5fbb15d141f23862f8e46ad4c90cf5f39ae0635f62bef311749b1e9f342d6a605064d447ebd146cde8dd3d491f13278db7ce6fe48e3f34757b2f94b8dfb18fbd18e3f2e8be1cc480101274e63e38d1b71f6d8f781f6f630ca3f9797eb15a20790d16dcab13fdd6eb656fb4076af45ad2a466757ad8ab547e025ff938e81fbd9854f06062d5e680cbadfc31d2f53f78f921ef7f43f690d36579728232745861364c4af338203e5056fc4b38764e63139c8fdea9324a1a8af496917bd0cd5221f7cb68603398ccf307e43639cea9d4ec9a782b3ec05a83838cea1ae45eb2292e130b59f3359df93012f1852c3575fdcd0eb8ecd85c930d15770f196789143376324eeadb41a147ad6f21b0587c1e4bef992fbb7649b8eb553949db42190a302950e30add1ee7412320bcb37518e25476264faffd62196d11c4f5a6664aebc2ef327b924e613ee7ea36ac662d0065dc9e1e680d8db6ec867438b17a1bf1e85de4258fe12dcaa8b67ef4b16dd031ae878ba2bcbabfe23eb72c6e0099f2777ceb769b3561a79227508883575c08028873e1f490a452875539134e835d81eb8f74bef4376e34442d6bcc0f5024ba950ed6357324b4e624bb0bd4c99fd22c62d1db04898830ace16ed15dd9ce054619c266396c26d43502482fcabb9c042557a2b2c159da0fea869c919fe75902c9b2e3a5fc8590187466f483966d406c5da695347d346ce2b9ce8737203e275c019b2bc109e4bd6fe5df8e9e6085cf6658c5558803d49416f7bada57ae9bd9c2b4322fff23d9a530266da3f40b2ec953571cb2f253d1b011cb76dd1bf3cd87fe9a4d3607c34b59fbe7fd65750e681e85dcb8540e2fd303c70527f5b51b84723ab323b2e841f6eace6b48cd208c04c4d9cd8358d1a2e2a7ab7872a35f198f130829343da215d9336517873bc923efe3f044e3d2334e050c6aff0bf6f7878ce9479d92334f753668b2b50eaa98e65e267d10f8bec63941412e385e19eb287f664c37ece1a1824a99ccb90a842e510c64d8628d62b937d7129c14d0c7fd5c838b634f29a088a1970606945cd509729eb8084de8c6f60b06bd025052cdbf61d909d7dde3a6cd57a5f5c1b7f12cf96ef7660119c6c9b9e739c075b4b94edad0d07bb207ba671faf538bfd9e5d744930c5372fc07f9291826210ee83895c74eb5b6632fb1ffa047610d08267a9f1b058049aed7589e411389335eb32a8ae74da0948c539d1d099ca080fc243a9922e50d641ead70121f593209bccfe83e255362e0609fb012da9290eb7519e592be903f9945b2b282674f3695487b20473be06c825da288536b43e012f52b476dbc5937ca417ea566a471e69d2d61fe99aefa7cbef320e9e76b197666092f256c424c9c471b09e2b3cb146ee2c60748d908530d858067b174f219b83c95008c4da5ca530a936ec522a75587962fb2ec7829a48b151ea2ec073a56de13989826c07ff44c22c2c7a01d2b402215d91303a9c20685c19bcf1518319d1a8129f28683626e0beedc4b4daefc6c761e81ecd1c1fd8cd6016ec4ae9dca78b72f3abf5e077323ac03b8e8bab3b13698520baa42c4df043e84cccb2202e9a6c6d7e37766b5470472a36710c97b8be3c823b9d10d6e75f66542b8bb605241308141ee2b359832967c74df5ac7dfaedab26c9ce1c4bcac9b704c6b5d04b0b80826a2266e89ebf3a10cfd57636ef1742185a139b86868456150410845917d6738986e2ecfc0c925912ed76690d922658cca32e22e9ad7fc83b6ac31e2307fc456adddcfcdb069600c9a1e991f72ce6049ef04000c5710d8fc0eed7c1cbfd2af88c9f027d6a7eea7f1d9cca0654197626be47d00dab930f60872eed15924ee50bbd3051b54a650057d1f2c7082e1dd70828811c16e7a177da97b8eec033810d54700e315346a8ad16da1165c7d77d004c07e7f07f5b981d7b6804f2c14804a2fb8a1db760fa96b63b099b1780375904fb8d6ab7d1f26a693b633cfefcd17dca09b4fe194d0b7d5c3115120022c1047b8865439aaf767004df35b11c4be772341e75a29e84bd0e49e0d99c066aa58e1ffed1d7d71474ece3ba50adb2c48a1bd151b1ed64e977be8b44faa725b3ac52601579412b06284e4f6380d740eb3911e11db111dd91efef8dc3efbbc864df936bacecaacce2f0c77dcb6b3cc77a63825a31c7d005baae36dddf0784ed6092256c3299ba056fddb8c105cc115138bd3b4a0d9fc8caa3d11dc78d7ad6ca983087cdcc35b5d7f1403bdfd47765b6c877476c3bc58d28655f11a4b9e4dd78127f257496e86dd7f4a98f10069a476b085324f6f0c44a06fc48cbb7139c97a13a76e46531395087679d1647f4a3508d8ae0a8e54b5a7716a9b70eed956c3c5d28ecba6f53ba56b587335ed0c8b67f020731addd0b0f83bcc182f7f705a025b3974beabcff92f78ac7a5f2b0e31c9c920dca2405cd54bf5a0e3482c4637bb58734b8a21efe2b0a7a311078a31809036f880388782b60281a838f20cc8b9e9ac3a23d0d6c1185a4fdba6f00103698d2fe6bab4c10a5fe8976fa8bb8f1d4da45bb808c45d9c36f2210e5c1b81c1183e58bf4d0e3968d6874c57828eecb381c07a90afd99175371635a3eb5c020867fdeca81b03e57e51164dcef33e99cfc557716699eaf214c2064932603dc8ea1a8ec0290679c5d096cdbc30f2da85df9e334fb2a3d36e41e2f0ea9ad13a651c54d7b7340ba88851153652713143c02887a9e69d90aac54626e2a40607da8b2950d103158a4b712608853e54ac412fbe7ac3c5018b9fcc5dee547add27b6b06044d58f35433b1510b234bfd025d95b17a100a2bede03ec6f35ed50d29e97583006a530bfbde03cac1d95a0cf18bcb75db22b76119748498b564dad9efefe17a21425ddcdcf470d4e0c3744f7d32ca0a454e3a1a283b8bad821f135ccf2d551bf8ec003c896b6c16e477ce45a083d9a63a3cfe8f4a1a3562ada2bb84f73be93e160d8e06f30f68c9d691649a5642c5186dc13b5de8b10d5157da912cae5c59e1e099e550282f7598f6aeebcd90bb9eebc0ee3207ec79d58af9e5ed15727b13771a301b7e87234feacd6935dae65d9137522b43d01a98988110ab4217417fc0ad78b71b5ebd25bc33a84cd3b3d6ba5ce6465acbf200e3f7121f2de124a121a1d26360d2bb3f7fa34400c1740f4aa5f43eb799092b41dba8090913789907019c6e56660ac2feacb599138036ef48896d0682176458c86b512a9256964f9758e5a89db437efb3b4cb1b91d869410215c1d16f02b606e41dbc4f1f38b039070c18d23fa5444983ecce1d0559b6b69ef8fe68f739e6a29d3f53ad626b46d83ae84630a0dcca321114889fc6a6c894c63bdc6ccb0afbffcf691c037836dd60cf1e643b53520004e456c4266e0d159381e113a6b9c96d104137b58dd8e1369529c8f3bbab88f20f6e30a2daa7b8071a3b68ee016cd064a1921e8db38a35350ec328906e42abc47b147de414200d1c55b60335a0ded9bab9f310338f5075dc021533ecdd27d2423708fbf4f490f8b3b192440cdd02770a7cf282931c06e5fdd480628d084d634b134696e74274efbf9a7e79860b118bab3314f0cf4e0de1be499741aa755f8216632b25914e102f35a801fc5afa8fe26f1eed3bca919162cb274135af7e6211b1c89f6c00ab058fb2a7bb411ef9b55389657f6088084f4c09bfd44a55eb99f5399615273fb01ba5f4882907dbc784d99d94323c88de6e08eb6c8de735686dff0ea554b381ccef1456e243e7ef03b3d49f8bf67a4d604b26ffdd0d68b5ba6ebaa413bd00bfea620c3f097ecf3aa740b0424c4f59d68542176b437ed1eee2233434cc7bf1d867f7f42baa97783faeff9d94a56c7fa029d86a3c604d9ad691ba6c6bf368a68771097f56692a0485b978000ca91a0bbbca0e4d2940a6f356c2d0cc224c7d5b9de7bae05e4de3d8f56b2875aeab8cb89c83e4b90583343568c6f2d4fc9ee242493d1be8fd5311c89bfcf5da21e3fc6f184e58b304016685eca11687a4d810900c73957c12f36a5965384f742a6565f5629809f83730e912ba027c1c04124990d9053038feafc54019d8d4ffd67a7d68973421b2cd1260a820e1f3925d2a68747aa7a68f5fb86064ef369f521337a4bfc605ee79aa35bcef1607498654f2a8b776ab06b162e2d2f345811332bd94a32580a7e5ddbd205df122c640eb260be76e21757012047872c985fc21534eb9676b7cb12da8243d86c8af8db6dce51a7c598293818a085ed06ca72c52e6706c94fd00cbe8b9c3556ff45a32d2c72ca94dfcfeac15f527406b644a9bfd4cef231a7a4bd7d241d7c247177b461601453a33d796edd67b84084c3fc9d30e2c6fb4c834d9a443dd4c7903548e78ead0bbe1410757a8d66122eb360cef38d27f35a3bf17df81ff3eac5bc3a3518e993124b3632e9ac99c1ce18d8e0aed2a76ba5ed7444e8df64c5d4efb5bf536344b00dc8340a822de2c89de4533558aeef6b585243cc189fc5777f8ca3d91a508fd025ab98285b0b1382d59c205bc709d35a9e98acc5c46c254c14ac72a26c3d7e7240024443659c298f3d93ad195f6b838083f0addf8ec0c139fba0e4d9460eba558042f14088fad9df3a7a24311d98aa64493c00f8a87f43dfd885d798fb921cd7dca75a5cd06f771744de42ec57eb05b1a13589468cc9e9d916d7754a3fa70bf57ae2dc6641831653fe7713b43b1e2888021f8ba9e411f85dbbc61a02b5542c4fafbff0cc98921dc54bdd8c3a0f00cda65268a5a7381e578183e0c025157dfab5a598df0081716ae243eb55bfaff9d0d6b1b01d4fd87b1a6113a8666e5ca8fd4545b97a92e0a5a29ffe3994b3227e4cf4c23da5c16d8df89c9e94ae3589be240fe8860d89f3907d2d8def1ab08089bd1e5b793b2f06a068bc57a45dc30072e0a58140aeacb1c4d128dc0361709e4d90282496501e94be6110cba6691ef00f3932417b829484d878c19663feb50ec3973d591894df59b710e285690dacb01de742bba00bea6d862dd9a8f25c08cebd06ba609898d9326a87605ca62bd36910ec3fa389c149226e62714f9dfdfc88be3464b38330803e1dbddc793c8c3f69490cfa362aa49a8d901d2ea13770a997606657d6caf30b5a7b36a62f7e5c71022802e621b5c0c064bfa393eb5ef679fb0b73c7e38befb2c617a66a965e0c01c2908391f0a814913f259ef8351b25fc81c1f8d12111e5418acfa88a55fbdf8cc34a8c1de87b207177d9a9ef163ec750f0ea48764ff3144441b8e853bb59e484ac379a09cbf19b9b0bf5d8c77e29b44739129b758ffd321e8fedcb4a58f85304717758729718e8e74c0d21dde7b5adac6fc1399c459041518775b0740a88882eace3f49ef4812a4b3464bc71ac4c3978ac60de0cee618b1a65b406a6b83ba9cf976287c7f133aa1166f84220f1da739717dc2c8361e8b2029162f215de33ab30d6cba5eb2c3b5fc2dd3dd4ebc633d225e44d0fb5131d5f115382e39f30121d9f24ea6aae56715faba2a11e687ad4e58088ac7cb5cd5def272c3bcf44e1a8ea381fa51199dfe242e5e8898f8807d151b576ed0d1798a29a2e48406a2c2afa095da9bdf614b27da7ba9b7b780b380051641c419bd8adc8913dbdce6d7b5c0685445e26d46295c7d3c444d6f7fa7ea0f335f4d3a623422c95d8d0c6661b3c771c983bd276337f11106d3b109487333f0a7850b0edf34502287402ca715c2005665d5a8d66eeab384342a8b46bc63b6d9882a241670baee0f8fa4e0e1d085a723c346e21a5add474f1f4b506f7fd8e5bc8db64c4a740d615200bfa65b2f551fd0615d87c5d6365bebec8b45ec2d08691e42e7cf3532866a1bcf626df3e9e07acab59991dfc2737413d7a2658544e7465b202a3abe9f6f5fc08a2f029b5ff8a0f10994a32962138b83e44d88a166ac1134d53d19c784064a18c00dae5c2f53a357aabab1081f28d38f10f67d6bb43f385e51ad3d60fd84dadc32a3810763f1ce5dda4f91a837a6850c22e799952efe51fbbcb5db7fb2c652cd0afc4dbe7cefcee28ab87ce9e948d295a2967bc76837e77c472361af2341cde1d83723d2140b62aeb2e92cb1316d60b1899d0a764ae26cc451acb7a7a11a21e8ba25c9e2c67cf336bc83c2c3d8875733dada938f41e2936dc93a82c052b17a75380a176756c67366515f493bf91f145230c24171d8917b22fc96c784493fca327c5bdfa5c441a53f529e7ec9b80706fde3c70e9968edc80ffa16474c39196dd6ed9083b66feb474e1e4236bd147e4244629b497627d4ce72aca45c03af5c96933e065dc4549ca83146ee39123970daf64e891248d38f575552e81806fd994af7c9ae710c22b03ded5e46f2bc919474d633357e40b33474c249eafe4e250756ba393ab5b0eea598c9411976f8f9c18b4c961627b0a5d948e0a2e0bf15d0820040f658ee88b3d828feaaef114e89ef7fa2f642d926373bc088d9f21e821c326ddd736726a1caadefc763f1c2741775c1a7323579a7bf743819bb5faf14268baa3361173c353925c3b36439d94bfd48b92344481715be9d3d056f2693f6bf456b9a1024fba497f65b548855d29719706ed899e8e2aeceaeb3fa8ea0dda1bc5403b3f717b0a4b07247b423bc8d858b8b1173c40afbaf00be1a73a9ef0060b6d86efd1ee0fbd0462543bc99d8612551cb9e9b9a9a01344415a33eb55f029e858b30bb7c4a1d919f9368ee1bb265c82b00a3fddac1bc110329d408d5198b363a4b5041e827daf83a2f5f2a1be934f55462828b739c19d8617b6514283ca6482f34194c1c4a2c5c086a5cd95c2628d0f87bc65877908888bd30ead6079f6bb2909a03ae8c5d07d52842ca97439e1fad82c57ff84b47c61aa6db205cdd032ac28a0dc0638495ad0e8b29e60b48d6c6b48181815846077ff01b8f05f49003be789d138b48ee2695c62b44c38e1d62489433416bdf1742c2a7095bbd8f54466c4d9d0c93d85afa552c2c42f91fa96675fc490de169cf5bf95e20907c38ec8f03bc57b2a7c2be0fcb2980cf62202be87218ecb962cb2f25389b6c8507aab70b7a6e35c5f157035082c07028487767635d0d3320008bb89ca4635bc62535c96cefe9e4b69faba2db6a7085d1bc5d7d2c8b6bc2297ac61bc769e486c28bbb3a02e8344f8744c813a126ebba091e9da0ed0aed3a0f7c70df72061d2fbff0f1501ba5337e6a281ff15ba56515b29bd466fce202628163bb8533e4b5e6344967bb1c392832fc046820e4c69aabe6ef23796c1bbfd548b0074c1ee99fdcb98f966aeb34bdc54c440f0788bf3d998b6d64f3757bbd007bcb9ff214c2663fb71958382ae52c030cc58eddda5a79b41169c34e637b68c980c6742233d814833e152818db217c65526a289f3c950761bba95e4183fbb7761f91865dc3e6b329d4c3afc9df2cb3808919add680754247a322c65531ad6c55b79794f872a83958c494224ede5255af7c25018c36ea0eb455a73f15817e604b5cffa9d8548e2e9901552ce40e38af8600b97f7188125fc8153e5c8f928c2f2ad4ff2a7d9a9d32aa4487a015e04a07ef12c635ed85f8db4398e6cf16b212d08a724feab824f3a807bcd322719a415d0169056217d8c5de8cca4e93994b5d739bc1ad7d3fc3c60defbedcfc8f17cfe54c8f1e140b1988d3f6d3be0387260c275ab5c9d2210f8dcd02d0c8f079985179e5ed329aa8b75b3dd829594d24cfb392bd6bc17d9c4e69143abbb3e325c061e9b63068229eb3836409b1ae1557d11106596ea04f396ebbff7afa8c489a9aaa46c08ba72272a302f2d6d3237e9e4544ac8627dacbef8a122ce4886272cf9b6a7e0b155eec2943c74a7d5a1723bd04ce64c763963b34945e13806e288b02366ebfd17b688e43a7a3d8ee8850923c2268999a4c8e4ad66a485b1469d806c8b9b2d5d724fa29812bd77355316a69b36c428a146eda527cbe87e100a7a5b0029b8ccb98ac133d5ff9ee93da82ba7a57e98fd69ccc3bda26667964d9cbcfa1934d0c1bb3672aaeaf20244fd5877ff03249e2e7865d07354aaa59c55d570fbc984a3824669be9727ed7901a3f93f3971f4aaad3239edd45a9508899bf28ede49087e52233abd5ef4aa3610fe544b96ea483404be20a574c73dbc1036cc4c4001c644686841b73dc10f33c631ce04365da76c151d7cb6ac6773b451bb678069f8f49a184c6653f7543e37629d1ec1423e487a121c252cdc0b523b0a169f2c57043cd91a372230abc3b78126c61e842e8aeb264f990d0339c728fa9a06db2945f1542f232b689c9c0a554f32a093aa60cc9b0f7c778372f9270f6630534ceaccecc7e5a7347958b548da160df71f5235b11cb885b8122c31bf5b80cb2db32a2a34d5a87bd7a43be144c2827990c262e1fe101be555868c1d1f74fdb0e5ed610f7d8700a2a67c62d1d0abd4cf9c4637ef24a6b68429f06bdff6f129c969bbfcf9f4be3c8a1935ce533796170f828bb3d81496b1b0b011e641816642fe3fb7c4e50e9bdc8b342fdbc6329c5f4d14779375dea0ec3806773df09894d1366a5f753143a08af2c739b500c203d38ca1007f47078340e3839ab71cdb03db044a4e17a7fe03f724184d0cd560f744cd6b10982b06ec72372756948bd5266e01627a6b5e125b50bc65e6f4f046ecf235ac7bddeb27d0036bcaabf79c260ece963bfdd2a0bbb106eb2e996ecf27e91564ee894fc74436f9d53e4806da9db45b109d6ec8e56a33da10fc23f3b11075e5ca8dd423e1f9c789e22e8d26a6216afe1a357520c74b34e479324df6f53034d3e4206041316c700253b2933c522507901b29645f551e5317c06e51b6c8e11be88c12d904791e5cb7084c4b7107b132cde51774c118706f0cf402f65b576a4858d8103b346916cd09ef615639b2facd33d96c149b88b1bcbf2fd18551762e777675dbfb148cd6c007e956594b56d47a9b68ead081e33c73355c2eaadc0a5d3baf291e3703a83789df1c30b5aecb49d70c108aa9b8223828b7ce125ae2afea07f30209f165ed6076394f890b896d64d3d848c5a5368d3dad40819ae689e35de64484a2efc855d1656ae87e0c2886c5178b3f0103d6ffcbf9943b1fdf857dd941264ff8fd4b5358ca4efe273d9b53b283f2739c6591db21dab23749a16684f2e12ca33c6f8299dd07b9c4fb8dc633270a78de7c44e31669e31f9271de7b8653ff11cd2793e4e9cdd0c94b5d951724653b9b422d68d66a8a8a3fd0519b72fbbd4c46a641c16afac98dcf6d246727088b6513054059d5343e67f27878608036d905b4a9a61fc63ffbdb8864361ee8504d03ac84b4391baf88c2c3201b0b2dbdda905f6b7253f5471a88abca318b75dbbbac73a9a903c35855c64bd5d5bf61efbe32d623d001c875ad8a874a85db08899c15ea9f533f0852ab380c2766c053aff1839766bae019a3d77f1c8c5d82ec1ca2d6f7480714c8ffbf8ae92d8eff07baf6735c80e5d961ecfa92970c9e13e059ce75643e0e05cc9606dec06c2227477b4f89392e26f0c74b9f78852b68787fe2a369b79e331dd5f8dee8e1879cb66703214d32419a20715624f0587448198e8090264909781ad07904977540f890502d51b6305d1ae8928e91e1dca4f5de493c013a9ae5b5af47bcc576d137fe0d6a6a3bfcd795fd05e8f897dcf3bb71a5e2cf22fc78b7b632d1ccd5b4bb7d4605466c20d1272ad1230d04af8b2ad03b561b8dfcd2f5b0d54309dca6cf120adac3f97ff53828459a580974825bb60eaa68f99fbd0cb860b46166ad1ec901827395e76b084429fc831d9f35db8d1b2085f8b2279a8d3799b88f033018e9df04cddc2173cc2059984a151e065692f7931527acd2526853f29eb30931adef7c88402645bae0b5a2f58427e58396a87e8f50ba2e1f3d27a7e033f7e5382d72b8a8b5574dae4e8b71001c555bc6ea00c24b5d38e75b7261dd926c7ee3f399c4bbab9698664803b2954167bc0e834da63b17e7ab68dd6ddf364f31d83f643fe233f2806b05b8dcc3f7c579cecffd910201288b6ca48d495759a670e512a24fd5811541bfddd7b5c44ae1eaae85c7ad021a3b4af35d49e9b0e53477cf7cfbbe6cd9c496506fe9800f06ba9cd24f3c8794f7ab060928bf82f53f6613c0a3e061c0809e8612133cd1f91c80a29982dafe7011408fdc0a17042fd294593a8f0fc92cd73806bae77d875e5b3e0693180ce5beb536833f51c862e64bb7346b7c7dac93e94cd278302603c22690727b7f5b6dccc96aea878563c9f5f3b4925cf9921bd7e193b5e45b81fce1b29f9ce9eebadc4ae06bc15478b341635e797e26088f1505bb6c56185a5cb0a4ebf8357da7517b1c85d87c6a5c6b825d54b8f2061ae261a462201f39073c36d8ccc8041450415ae6bcacf50b709792c18681b0a5603bf264d77f992299a26efde3d013d0d42a9489554f0cef26933f3099a8bf2eaa67857860e25ca824be71b9f6fe61a6c51b1fa96b9ce75521c7a6bce4820899a36bfa3521c445954e7717712530be979f2f49ae0189a252d7452b962f47159138fc45592d06d2f0b918c74b68463076bf0fae2a81f3c8a18d00ceded488bf89b344a1ccf544be86d35a24af70cfe5e47e5abd64f16c7fd9f80b32a57cebd67ad6c262904df27712f47e12d7d7475f3c4871144273bc8e6d5f830ba7327533c9e225cbfa40772f0d5d83a7ffa86349245074822360c19adc3fb8ed037054c0260b5f7c97c2923635717d3eb6522bd3926f07b341408848c3a1673e1a50c100111bc2b22a3a86d080582c76bea3134755693a5ab3ff34b0682271ee49adb8bad2c2a6c542f210eb3cbc6177ccd2b69b9b9423cf940f7d2b3af07a1a2e33c4ed17d92de05445372b028accd28b608d39886b55e0607a50845d684e107dcef8256015dc30a2f30b4460865aba1c7b58d90f940b34c07ea45c81adbc58cf11c3854e1e82463d6ce60a6d283af8304de90b68746d822aa66e0e2eaa7e652049d710810215c8d6c8f397d89d6a89563b941dad96ce412c4fd26a42d2d8bd485529499028a3fd231f1fcf02a4cb02f3de0d80bc15b17f024a25f709ac6d106442d6258f89ddb95e08bfce59bb4f99f3836ea151cee02ae3bcb3ad581d8d3325e839ab4fbda40d0e16b5b378d6ac0f424e1be8a3cafa16dec9c687e90a0e11e98b59ec1fc3a41686a0820b1d6d643024d0aec8377fe38975a090e8ea7c98ec1a74f18f223661629bcf023dd8688c8566057300a79bea8f396b8f1e9f72ee13007a477f14c906131855013d67abcef838e465ead42b0f6926b491caa0a83666bfc9c12d5a140d3a1fcb12b5bbb447a06f5effc1c5afc0181dedb24d7b1a75fc0382f81931c16bc6cb70b330584bfb04dce95ef3304679df1555a38000f659987504f664ae4d4d57a0552eb76274b9de3f56fdf58c127356778412850d34879b13da0d770541088cf69faecd3d8dbb612d8461b511798d7285b5e62e9728daad7f58e80b977d4591d82be0b824a04fae549ecbfa06da5c24fbd4db998f68e2a0167f0276a154018aa0d2f3634c85b422376456721c6d7934e1ae8349bf843d0614a47809e78b637e8019c60d40d9410018232d15e085123c3ef945018ab90998585f701601223acac871898acd552f2c43db75b3dcc596cba48698a341283588c7ca80628f0e144b2054799c14d45d49356a5eb9a6a432c1e4b50a1b7c9b19056407d3a9fa94d384245fbc5200ae220404775086fce2f271280d3ce9d8bfd7d016f6df5251c2291feda528ae8c90e9d9bdff6a4e687f3e1439848e6340671f409fc19a61049acd870a990f53d0d8392e7680eb9b25e26e0b08457fb4accb9d58cdceb6e4d66a476afdc05d9669481ae4cc815c9c17b7078ca9007a54d8244be24ac81c2f3780ae764c0bf89e5e4562f6b28d7c20b0286ed72e2d0ad3f14249d5ab642318e3229817d1a098ca1975bf907fc5a8ced48691a4c5ce7621eed1129c6313bc5fd511263734c971f327b8d25c74553efad96e48f54ad013c60d88b9d8fdbb01dc511de2abe8fe8a939be90d04801b2ce8ec5a3a58e89992aa37de7623faf1fdae2d7953d6647b465b1d8317f23ba8b08a91637795ddf292453ed3fd9dd519671a516eb551e41e3066c02f7557b282f00f99f77325775cb049ca853cabea5cff691441637feaca2c452fd40070241332796cca527a5ee015eaf420c9c9fcecfabfebc979429eed274ef3c0aba15d0c6b15ed3c63290b3e4444740009eafe20c72f63c1e6775e69f5515b569eef91de2c1a7ff3f9fb8524a5214b392e4af632f8572b2c2869a21c2b011e2be6123c3a266162fbbf303e33eb8c49dfa6926c491ab74c4ff776b9e817dbc5b515e8d05613e2a084f6573f5b60c3035a38ef135f834d91fd23d7b0b678459e307f69b6c8d88a83cc8b8d89330f48f3527f7bfd601ec9762e278c5637ec302e63d3a279dbe0b3ac0dc98bf57ba888d45d817340900d169b979ea10260c8c537df99695ff54cedf231b5cad09a093dd9fa040d44c70fe2ef30cb7f81fcad68c85ba79c900eed38ddb986d52833d0528e013983124e6da0e1508a4544ac36c3a9058421616f9694efc2681faa95abb9648033a1e4afea9cbb0c77d5e2c7e29f2679e45991885333f648f3ec52acc99cc64ab276160bcf14e4d36859f421f6ecb8bb0be49a5b426713c80b2b16792b32c07ba250e8efc82bbd052d46caae3137872dfd6b6395e13b1dee9ffe8642114a8f2b523f4ea126b70d957917d4279c4735822bf7dd954fc491d5798645b3dc2811698efa3474c1126c9679eae370a405e2db59ee93b68fb861298901582dc69efe13fe35f738c130391f573af1387b281d108322f43d6ea6c1a19152478147c8c6c64922edbc7e777416fdc4ed8c9c7e310eff41c4dc1e2cb165658e1bc7f4e79ea5e2f46f20aa0e3d9877e9d9818f9875c00560eb11f1b861898ad20fd39e090bd07aaba0c1ea905234ad242a4c4aa1f86e81315395e09eaf2c236ae0987d0b2d3a4bbc8a8f8bb8095d4fac74cfb0207de71188c0bfcabc339d294394caba271313dc10b9ef50d8a7fc47bead6c266ed240321202903849e1e81f9fc722e66d6631e06d610a2e4d72a9960e4b4645125876b255c606c118cd81e50a937704645a6b8452d9868b4f942dd2cca46de1767685376115ffc0901522c77c5038dc064248317764322d09cea113a19dda3380372591bfa435c3198405d850ec483474b125ae2eedd9fd0a2f12d61e98d866161fd7e4a34720e58fbdf0e26e300a5514e59d6834de1b4089a4f4c75c48dd1c48d71705c6330e0d0d0d717c54294c77fd90973519820e135e29aba432606908282a7905175a20599c5065bd5340e601d8551882600ea3f352edbe1ee470b0c053690462df019bca136431d9110ebf6b2a77d4cae250d9b1ccb15a1236528de755e2d8c2a03621208d78a490f55b1c529ad8646e98fc464f1202cbe8b0ac091a01d1fe4877e6598939c1859d1a5289e4f64169117cedfdc90c9020bd564489aa1ea5580da8c308598c9665223fad6e4706d427f71669fa66172400fa5040f9a5839bccedf8c8c5a3424cf98e188890ef1ae2521234e02ca755df71ad9c02fdd12e37dd3b41afe0d82645e66657a25c023ea4806b29efd43f5423f1554c5bfdee9493967964cccf26b93edee970118cbf05c7cc29f63fd3622bcdf852ccba3bed953b1fb4aa36fd4a65b9277eb95d07982c6f4a310100f2dc8e4d89e82c83bc1ee24968a5c4a289babb12d03557f72039c1ba0063926ca286066bd48a246c1dcc8a248bc103a38608b48312e5bad82037c5dd4ee6608fc408d1a929dafca1bc815f4b865593140d2a06cf809b21b8a2c5be6a790c9efa0e362bf278049c8d8826336b4b4e396825f23be7eb911e533359a2fb422634510346998414ee676615485267be627b2bbbb357bfa035cb06770f189a2cc2e596987c48eb74688512c4ed9e70e0d26e88f04da34991be13e03a900ae55e85a09804360b5965264849d0d8b39026e5eca3397d6ce1b9d896e0ae4096f644e86f29949b5322f7755f3b7aca73b31543892281701e3f94424926f1e6f443f418f50338b934374185c5b7845372c14fbd79e3ed3aead558017c08b98156803d6ab7f07bc961b6a04d0acb0f080dd18ea8f60ed36646dbc66239927b83fa1e62d9f03d20a1e3d043f421128635f49f491feb8841309413ddb0718c586c7e9f50cbe36d4806aafbf505e036bbee9d1f96b1d2cc0d07c2f44a05b5c0ec2021c56c961d7f47cd7cc9043d94c8ca1a95e00c5ce91c43429ad427e7d4105c5feac06040782e9742d8536af0852149f3dc22acc34bad4e44867541341411be2ea4dcbf6a0b910e76688a555abc91cd7be64071037b88c3247fa06b2c8b96079d430851e6b0dfc30e11522934c408e0ad192f39fcad64bf313c9634f47de19969ab397405645b3ff192dd084340ceb994bba491d3cb018d9c55cb33aa28b1579d330ebfa51efd8052b50622f8610678c0671f3e5cb464056404d4b82395d45126f98a5d9281f1f4b0e38dcd85817afbfe63c3dd820d093c94838bc2b3f1054602bb133b9843220ff7d1d47779a4b63cd12d8c936380eb4255730be2bfcba8e2c0c42c403fe480f0261c5dab93941ef5d172a273bef0f8fca2f4e1b521630d83aef93b4b842f5146a936f69f584a29d5a2ddec6b0039d5ea360bf6af45923270cf1d8d46b327c3ca8ec0e24969af216823fb0c0f3c64ba6ee0f42b5a42663b64c0ddd0de9a095c1c66dea18ebc788aa13561feb8d1216103853795e0d96b47ade29bf926c2781299ebc624d956118b941053ef24e051a8fe0e2761234184ec5745c300e5df7b1fa653c123aeb4c3ae8c1d9c73750381189256cac29ad02ce1f1d031bfdd04a54a35cc7f6c387a08312e0c98941e2500e90a2242ee004912b0d64ccfb345c7dd85f37fa69330a674948f4a0a98634f752a8cfec99f371d3ff6a26c495d920f3f0ce538cd4fbf0954dcd3d1a10e48912c9105ea9a7ec70c89b25a80da73f2fb65462f589562c7608a5648b20167463a9179ef749ff569185cc6fbc64ea204667df4f08fed5a48389a832b4eb18c2e6799ddf78e6e6ce21cf6e07cb77e1d292d7d33f20f35ffc4fca894a7e8e7437848667dce721c7c134f8381b79dd30b1d6868da48716c303d67b636175f192141c9559f6cdcf0e162b6ddbfdd9ad72c6145911fda13ee20307b776d758f1fa0ef5f21d7df2807d1084582c5e3e613d8405edbc884500df73847278c6ae878088b7501f8cca6c744da3713baa823f25b52072d47f46c5eefd3c9f1375e29d20fd3b679c0b9c6c6ae3592ffe1de1300db19d6bc566e4a3072de926db180cda2ee9a892ab2ad9869291e66d78d3fc632b754787dc5d2644a1ed497a84efcf2fcffcf2d0a6d200aa79c851e686f583194128dcdd41ec9489a9733b9a23571063bef84cc644707214b4e1c0e82f07fe02e6676be0c225b3edddead8adb9b6435a0947991d88b88f3805b82ea3fd23b1ed69a0c5338f85c1dab39aba086571d8c397e7d220733b6613db392b4785e86431dc20145194631a3dd6d16170a4f54a783619ff6e0e8ded54e2107e59402063e4ad01e7446bd7e82ee9c44bbf3a0451a12d054ead4756396a37bafb61264ee1368a65898f309f4b9b38d7a1caf4041858ef507eec7a8da48712cc175e659153523d1f3db226dc838b4fb741a7309723592c0bf8947d53032da130f6da57498ff1a88fbe1c8acf0597168a70728c9d0fecdc1fbbd761b8363874999f3296cabe2d5cc3b3ace736d611d75811a40d685e518424c51a32cf0e1f35cf2346bebb152ee569d42932d37e81736935c70a776b0def6481d300a3f93789ce3647c52f40f3fbd11d051b888fffe2e07ef416dcd1f64deedb8225bed1bbc47c2c187526c5f0ed6dfdaad2e800174a04c1d3528083b4917afc83dc6704ecbe17eaf27de4a30bcdc22ccde608875699a03f154c38a40d92d196add682cd23a0bd60a206d0f10f60b4fa66da5d2502d37ff874e87f5efda0b02c92173f63d863e8478a4e12247b920891f5e413e6b3656169e9392341dbccfeb0dc7ad2692448e8dcbf661a7fd7d292d7114b323eb69a6808a2ebd603192ad5258a21be71a32066bc92980e90bf5331bed9070116087f7aec522e8608cb0824012100aee2eb12c9f093b7acfd7c8921e228e02162e3146b6ec06f9c34841f6e67249651d2fa1ebbe771178ec1b5cc866cfd44e8ae5845b9c9b2a94cc3e99ad0f46f9d15af1c50e9ce8120129e4bdde790099f760624ca4337adad4e78794717201cca4041ae333c657201616513a769e5d9e7de62fb5740fc0a92e285ace53036b9b0bc215a5deddde5cdfbbbcc897f52cc1437899fe089ff56c657da27d2af9ebb96eb425f9f3a8a7ac46d1c4c6a681fd42550bfddd9f10d26c237bef2df70eaa0c720ca90ba74709428e490bd20ddde2ca87a45777b75502879865578a513cd4d3d18f13588cb54a2a61a1e0e078396ea1f3d39d23a5c19c3b6b50dbb99fe54491414a5c1cd2ab9ef680d392e0031c1f4001050e2c0be9c578a8581e2e342d2e4f03d97eea4267d9f2c5e664863cb7aeddac6b9c4abb7147648b9be4342c3a53315be3a76752c898adf1d3514a69db8f736d689cc038f54c294f6060d26bfb9165f0c9eda2e107657f9450861d5293909cc20f0f9dbb190d09f4b66cb416bde061a2e66a90892bd30b62540ff4f515a3b497d6447b517a84247d5a2d0fdaf6fe4290249e216f8f5472f714d20b5469adb452120fae15e14718d29556f9f0d4b3fd74956a2f5936b9089a513d51268b0bcb13fc90d66079b2eaa799627375c3538fa96a4e54d105291a2cc6cc107ec27237c9d5d8cd580d8b2b434a58438ddc39dc7e426fb64345096b5409f5e490450132df9d2823da7eb6cff634d8932596a69817261e51e743cdb64a94c9a2b0c276196ed87385a6984bd6b0b8cd034bb665846641d842ec2c2fefc5b4eccd5a2531cafa9ce14365cb96edc5a6bccc537a3193179ec68d723c097320b8462397ab4d4fe83a22588cb81f77d656675ec752717d1ac8cc083ad07cc5b591fb3485483f9ff84431e24d1879beda293336162be5b8850e11ae90032d761ba3ecce10a726b4b2e542cb76a7d623dcbb93bb3f1723cc24d9918de8cb2cbb1e6a6e5c04315e5a4fd080ddbcb8624c673b03cd8a7b776652fe09cc3f0a0514224089a20d8189cf5c8130354a1455dc28a4d0b952e40821678a20dc3ac50f3420d0ff800a295448a1e2567b2940d07e00e26ee8044281c23dc17152d01c7a03ced6e05698cffec5b981dd48266a0d64b004676fae11150432049c7572b55c041d021438774684fe974f60783388ad2882118e1045be3851c686b871477646c621c71d1912f206849d80a4405780b369dc9ac351ce2847e60772b5fd8c8630c222db34eebc000636349460014e9be2ca0770db8f118bb393652e82b6139e54d1a078b119e1244bb6c050418c15722eee953529b8d2cae73528adea3e5b3eaf496915c8fbbc6645abeea7e9577436c51a6c0027331462cb912b0a4d258a1b925e5288724f3f33d58506e56ed20b9a65535783a57744ba9913e9a58f74d127f3e7bb97eefd8687349b6e7a773e94ded9f727ff5acf52ba143d74fb89304a7b7f4369e71eb2d5565b6db5b141ee1c0e81a8e1761dfd49d1bbdbfac07dbbbd0e796bc5280df3c0d9f765bde8a35d02bc73a7dd0e327bafd814861cdfacec1620ed277aec1620b3672fc2a6305c8b91e8c8f1d8f9e0bd6221bc735808960f898e5c31121dd9c3b44197b3bce5ddf5f0d7cb8e07161c1b74915f69d0f41b306dd08457defd0b4f904bfd9609285dda5952405869831d0e6b3610a7806ee67451c9e270a52449a5af944a257cc22bf8ee88becb2312857efa4db4afdfe9da170291b5cf6ee6f42df60d96defa0b7564593a91caf5c87d73c8f2982b7d8706e5b94ffbf6917ed3dddd2bb8f3e4c18f764a96e4753428718844473ebde5f4d009875a6e4ff50f855eb92fd491b94df592bc91bbc3a552e9214b962b52ae60cfc3e1f5b6b7bc74f00bb9b720d11102914bd7acc542d4872ebb1efed043ddb556d23bf430f40f6cf20322d76f1f0f16cbf7c77dc8cca7d26d38f78527c8a1253a396c790923d19143487464d25b48329f4e1f324fdf6fc3172e69925baee30b81c82dbf3b31d3743339bee5f8e49541ccc8c24efe05d0ed10b3c44874e410c8fc0ba0eb218819594842fe673a1e4cf9c75fcb17f3f6d74f47b6bf3cadea6e192ac91287f62ddf5aa0b8f55c7c4887441ab7f5f3900ef900e6ef93f9001d0f9dffbbd3aa96d56d61b9915b1e5b55df72da2bede634dd4c8b76131ec9d88381f2db0edc85d2abc88ad983b54a49969fd873f2552a95c783f1e41af013f0f39e9356d130722580b3dfcc97caa8ebbc1d6e0badfde6c5ace51ef643d88b35e8edd4f7dbdb6955e30902c51a9c82739f630ebd580f356429df37d2cd34102fe6edb42a4a8c472f9e06e737923aa09139b874e7c66f8e5b54c18c2c6410c8073724bda4c818865c44cd45d4ccea66b41edc1b38d46e34d4a7d9f8b49b18a331c143862d4c31ed8a59159fe2d403cd899917acf5e0dc6aaf92dba847bf91d4845de2469357834c1abce1ba61d3e0901b363fad02e18b431db995ca54ca297cf1e4925e5d8e4e00a38b2ca9e0cd66a39c19a7dd1d30478a8e15b60ab33122b0922530018e4e80335d11e3a59294b7e670f2bcf6040f2e95653c81b1773bcc670363c4cc16874b425b7744eab7db0d66c377a6ede0f6c852b6f8a4e9c00979337d7d0f17a75ad1a0ce4ed541f150b37ccd12d7293546e58677566331a372dc420a32542eeace8e149d2f342b84c0e866e83b1d34d8b500678a6160876ae68e62870951bce28c96838bb2a49f534fe8a72f1a3cc91a9ca150e84362734e5f3478aad2e0fc40ae7265cca35c2587b094afc08cc27d78673d854ab2e28d1cb780220530b2c8e1a92774f98d7219a7d313986f98747170eb0b931893b51b3471ebe98c9dc5441a5727b4c268958d5c2397147267b3916b36469e1fd9e08e7e9ab8b9f9d9d6d87e4639b16d0db9326971714c269cd36c0a3146964f62441f5438914144abc11dfd343872d5260dbe1ad498b8e1a9a7be443ab482eaadc08e2fb228c05160c777ea9929d94ccd66cae7e784468cb139e2b262044078228300c29318f2fcc98c08e4a53553a73248d0755ac3499ed76e6e5f807bc243b29e80b74a5c178805fef493fa5034304f3d05f325ac93cf5cc13c65b34ca3c1bda327aeb378bcde763395d4448321e94626e1c6294be464b9c5215d799c7a2a9306ab2bacae3c6f2fcec46915c54fa03469109b627daf8c56351ebde40cae179ba9ed08d75feff8992bf03030f28bae9bb15dc40e82db00a781ee7e03dde9db06380e7433f71ce84e6f56646932f0aee9d30537d46e4cf7be1d357de61953367d7c60b9cb4876933e7ab8fd9072cd718b2a7421492490b5211b0a5d879843d8940608874654fb11e992441add8e07966b4d6ee9847d60c1420c31b374c15a93ab5d54841132cbd151f6a273bf9d02e443f7a6b46a8451f6da4b5d4fabe4a8e5d3b44f8b05b1e590eb0017ca212704a8c3ede73e23e1e2f58ea49bb95a498bc1b50fb99b6ea6882446c81c634c088299433894e76e3f515640091711c21a4c73a241f13e4d47b3a2c1ac7d1a4e37c3712dbcfd34b8e17054c5e986f43651ea941b8e72e8e7cd7c683c92d260bdfc9026753c548ca22e26addd501c826070436f96413fa4ce2ec145a7e6415f9862a7327e469e37a911cb2d363b797ec4139aabd8a32ab86815a7b2d74451a69ec21111321861c8daaa361a4cbba9ad3caf2d7161f0645371a11c747b339947060e942eb7dcd11a517b5ded057794d32901eaee89c895c72ec98c7722522b7d74ed28faa3468373fbe15c52722f29359bde364e6372b7db87db0f4ebfa4ac91432d47bb893c55e82287a0cb054faba61135871f7878dab4528cda21667a1d62a6d894c63d0e8da8b92ec9db2fcfdd49e28677a77ea426a41b52131f094672f291704839a48fa4d3e0c4a497d682abc1b49b0691b8e128679403ba17a781e434109f0be5ca8ae0927444b86f528810743ac833d85aaf037d0de5435f92b7d76f838181f9b622283ef5b8ae088f74587047184565f4ce1a94cd7a0b29a6e4f0e4d3239d00060a7208ca395a185566ce1177867a7a6aade1c927d79a83859fbbb3a385d65600d6a9d98862ad0aafcbb68a7b19f27c28801c67107dcc935e516e01942ab82deb37926245832330ddad0425a0b4041d3d250127937023139e6045be5cb44a76c1842738214109382d05b73e66f9a273e5c59c343867b24f3d925e4301b8518cb5d6a538793e5e6971c538746d46ae06f26a20f314f7e09e64a79e06ed192e130b92b23eec58b8c8211ceac852b4858086a0dc509493e741c06d3fdc2bcadc8880b36bdc98513e516060b00d35c540396e41050c3297a313c060229b6239342737c9a4d715386b0619e712c6f5c29dcd38578c4123a71b7348c4c6db4f5f2fdc5910b81687442c0397840e695cabc6ad21c72db26085dcdd0f91658333533839c65012cbc7a933add019e5b8c5142dca6111cb72e6723169a247d28d72368dd9ed3d81e9c37c3336537327d678f47235580697186a96dd8c3de3a3f98b06674f833d35dc2867c9094e5338f5dc1470160dd2abd3e18b4ecd9faa94f17351960c37ba2434743a74b9e2d31731c60a31e6048617b8d316b8160322cb66052b38f99c7ac67043d28b86ce8aa186ce9eb13203678c1316de9d7ac2709dcc4c5883b0951cb79002b3c2147278eab16090ae15702ab0b1f15c51a63d97276b1caf4ae988531948a42b625146c2fc3485fb842d4ed2f9c20d49af9f1c6e3f665c52159bed939820dd441999a7e801c9095215a41ed315361c929e9027698b9074458e1b9fbbfdccd4c509d7a13557a098d24e4f61da6908815ccfd5d69598c24600ca1553276d8fb46a9e3e03add24e1f846ded767e20140ff67d8bb9c64380993aa93b37a4305a3a3d75d206709d855f6d1aa4a8be44353e92814ed16b5fb8d5856bab41cd0b37ee2891c4a4e2de78f4e2447a8c2bd2e35cd1f010cca407c9a40f69953de908d8a155a0932ee36ac84cd1934efae7ea27fdc75c7d2755fc10ccf1f03a6c388e6b0769367cf7cbf1c9cf0ff4daddb8763d987c20051f641028773743ba9fcc71341a8db8d38f1f60d4b036c6eddcb5c55d9965e761d057771aa4efbe3aa5417aeeabad1843ff7d3567a6e8ff55d84cd1d7a093e969f87032fd90b9aa2888297aeac5129956246aac418a73c3cad373ae3e532735ee19995e8727289ae3c02ddac34219b9711cc7816b5097759a29fa1b8f2cd18774932b250ca22fdeb07966b42ecc58ab1a1fb15165b163008ec78e0171a632d0203d8e2f323d8eaf7b668a364835ad63c06435cf13b791b064ed4d714861b38ce6699ee699b3e9d33c733667d3a7a93448fb1446290c87ae4d148dfe88b3baa781d08727faaa841b364fd3774fef3417ad0aa9ccc69f30ca4c61b891d6d69156857696e969d3dff8e24cf52ca6fa3ea09fdccfb45b1b2cc71c27102d39b58f266c21504a4a29e7cdfd81b2b4c71b635ac3a099eacf3967cfd9b367cf9e4dc8b6eff7ac527bb334ace4042c2bc7b0451d6117c3c28dddabc126d9ce3ae29e06227a7f964a19f726cb77af06e535326e68795a5a9e066d4f6e4ba541697b7862c724cbced5208fed6955cca96289dcc1ae338b1276b06c6759f6edcf6c62ed861eadce8cb5020b37bc39fe88b08d84517145b63884230e41395667ae244b3e96252cc777de3a280dca7738597e03f551204ca433e8daad2d43bbd19cd833ac4cb3b13e9a4b7b694d647990d656d6aad0ee54e9985bd2383d8beb0cc59d9306e59f84dec1e62a842dcf4cc94bf94583f276a755e1b55cbca50c085172085ecb83fbd376d676d6c5369f2dea28825ed93d417148833b341079047c718b6c34ade21a94b22747d3aa22648640ab6ecbe31bff23c620f19f11f428a3375b113a440650967dd4116304f1bc91f6071a63e49c738240979b37b389f830059aabfae3f43b9b14b16f96adaf09a336c88206af1caff0a2495e428e5774b1936fabe689eee4faa8850c04a71c8ea0d56a65234e31f7c315215df4d10f495c8e5d8ef455fba67da1c5f35808faceb187ceb571aef6fa1682bec1ae31ca54497bcea6b29e66618b3ac21a5a797e931e2c8b98934a492f536c23bd46588c8640b71f0f06f2366993b83387a39cee66b87737b33d6493b8b287b803863c9a5ab8d1095af864f904fc4b8740b6f3699577c6e9e7c5f5c224caac7cfec50551483753a3555b37c60bb86ff14ace6ef16ee037ce1be3de530fc9e572b17464785ef066a66ee679c19b75339c1b4514311c2c5c232478464b78714365a9478c989a3783e767b301054e49a2707070da8361b1c9cb9218621762378bc57aa410cfd5d5d5826ac30db4560a72380ae9c7eb88aa7a03800f7f64986d8be1ba2a743d5e1271e6d083cd979bb9daf112f3253d4ec3e33d2edfa3c763b0921a1fdf5113a5a6c7534b6e60383738f078cc8df4380eb80687f7780c0eb866c77dbc474c8fa71e8566c77d9c078f9c984feaf088e5f478ea343ebea3c75337e2e33b361cbe84c76962cee3f23c781c07aca406878335516a781c66c90ecfce0e4afec7232be638dc088fffc0353fcee338e09a28343f700d781cce03a3a41225353c0ef32834e071780c8e7964c91f9f8cf19132943c0d8fc39c0687838f1d4ae21f781ce646703828c61dc0013057317ff8005cbe810c009f7aa60030280038ce54e31fd8878ff7f8f10d009f649d7a2a0b871ee781c3b730e2ca8b6baec0efa01133638a578637f37cb4d90d41de2c4b213823172c87af08f0f0e423b37af8d20af2f2523d7cc9e183b9900fbccc973a01be1de72180ab06f015001e841580c76e48e7f04596902fb264bec822c0175941bec85a7d91a5da46aeb97a81cdd4e895a76bae226bf43af558eced78311f3d49b8be90ed6591fb474f12ae3b4b22aa3a32ee186e195fc0e4fce48c0220bb5927bba5003a0fe6c5bc2cba98054c04271055d38d0031c616b20358143839c060b0265c24ca90449de2da5739fae1c2bdbc2966da6955944205b5d629ee10d1270bb15d8d4ecd734c6c5a07e87a3c58d733575ecc7b42ae3c2d6ad78380ae0a5d8ff78407f33c1d29c41493e988346147879d1d1ebad2516c344502ba7a0bd889615164093b5e986d0dc0315e2866401f7aa3ea39e036e1ee6c46bad2d90ce7fec418317aa4c4f5b968c4316e1ad68b1b81aedb1a40743a9d165d4c0ae9a8481f73d5f5745ac855074647c5bb89314854a02342a74517939d0e1d18af4c450af198883ee6ca6b8167833c1f765d782ef9ed024bd8c1c0ce28d61b08852c07ac17ab77a79b35e89111c176dd918b8c565d1c17fd862f14b05903094e9c1b30a842b9212a6c21400f905e7474bb194e135ddbc2dd1edad4683084b79f96ec87f40077bbfcb66d3f5ab85b11d5d554d60f54574746376b6aa58b0c0fd62013493f8e09ee867b713590dc1211e45a33c5e11ca183d96cc683e27d2b81ddb16387c53b4cc0c528a4da1d60eaf2fd120d00538010470eae1f2c988735e468b18fabe7ce661e0f8c3d588377551ca507eb663f346bc7b713b4bad2aeb45380ef5c81bf47d8d04ea7cba28b753a5d4f835d1651d555410de9a3b322cfc74b61644e8d7ea66c991a81eabb2a44152906119c27bd52789433535e1211ccf15e2e2597eba75665cabcc645ab50fd5c009b589ed778a24ccfd5f683e3aa1b9f202967920c36542f974740ab5097df61ae6066a414638c32c42e18bc295dd6b2707734988cb31863bf6961dc57fe72e4094219796b6efb2e9518d3f51bcf260d768f2b275d76333cadba3cdacd00b2cc214e69794925e915c2383c6dd2479d01903e5a9b92e7b59b069d2c99d88afe8150ca00481ff24966be33f709b210a5af844b24166e387269afa20fe938ba10f2daed57f3b6494e0bb58beeb7299a0961540ff6a1eb601fc24b721fc9a12f5472466eefb1d301490ee54492ebb724739f11357b3800d287f6127d2bd7be2e9c7905c706491825b3fd6283d776f87211630ce81b91cedbcc34bc8687242a51e64a210af164d187cc8bce1a944d0be36e582ef166738513c695dd50bb69c1bf2645b224ed755410e802b1c376d9b265cb2e893489bb6383211c2e19d299fb5b1efac225f9ff87748e95ef8bf99fccf8a379e3b8feb42a628c4e8cd1a4fcc8a176d3f9d6ce56c9928af786eb0613fc1ae5cc953604996a95364504b51d0d8b3caf5d41d389edc4bc59cc06379012e60419331d48b9032a57f260f4842bf4d06c26d209c5e07660a37808eb4fae96e4c3c405c695d18b4b82390ccebdb331463f3de8d018bdb47a9cc470ea4267051c9e5aa61daa05125c9041abc5d29ad2c628fb114f46f530e2c9f2239e5ccf68d0a7fad4c00777368b22e58bfb6eba13658c909948e72da26a944604e72fe8a591a6eda47171a871a16d51c2271c82e04827c78a2a78b7d3a86043e3b9f2363424dcc672c46954b8235783b7d3a1bdbc7547a43b2252e6beccdb888896936845b8f64a1247b28735909b9ed0ef4e9dd532b429f42c771413d1b056842b634764e4da8152ea7458e1484b5c538fee9e9e3cf1e9344a828e9238f5502215d350d8efdfd9f5f1a12f44f5b19fafd7a78c3b3b92bbe2d0cdd46e365792f5dc98f4cac1c1f0c99a13ae7c7fa0bccd38e79c336a5eb8a408577a717170a2d8dc70858230f3b678ab2916b30be6e025cb5215d7a1ede706b471df0d262e1b941a0dced08d97145126e473c60ea2b4894154d120deb0415cc14091e761906790560a04a358e327b6add12da958c24e7771a53d4ca8ddf40d00fee234d883c78e540f1e3b52e077c37563277760ed69bd2c379e7852a9ecba83d3f209cc37ed09579a629a291665aeb0dd13984bed460ab7352a1acfa5ef4f44f1ec8ac48e06250f42494c7a6951b81a0c0a578a9c29973ec783c1605d9f608a75a1c68d100873120ca8243d09d50104914f7af0b3fdd41ddcf0ceb6fac9dc724d77935fad5a13ee24bda24ca7815aa31c2972d2f89942c3d198d0605a0da4ed88cc463ff55bedba83ab35e14a6b021925c81bb95c960a212001d4564a57da95529dd9048de7de19107eea0fedee2a74a09a13ee9d79375a9ed7cd34e935e2b426dcee663426481bda68af601e6fb866ea46abc11b2e08bf2ca30c87da72bc80520e571bda70bad2c6311f1c0a6b83fbe29aa9579e8f31ced74b7a5de1065c34384d3c5cdcd0147b79e573d12a395730d6bca9a755920a79def445dc81e5774ca10c50ba590701563b224ab83f3b17678918a31b4b5d4ee3d8cb290ddaf76ca6ec47a4e9f964fb3b5fb6657247c65a2663f4f321d412ad7f4528f481be4b7b6ab14c0f9aabd163fc1642d5739fdf6ea4fb1baea969f9bc84e595cb9db9ea5e1f79b08495709c29bb6d9f6449d8949de85689db03099338917545a655643a45ae37a2417ad9c4d29b1048c224ce5cd5703acb54ea642a633b92a7877efbb7bd86cf3b0d9fcb717ca7dff84a477da4dbf858fef2adbc355374d24b0ac2230861227cb23d4b6985b4498ec5b2ac13b49b914e7c326f20ae5f4cef8e12fd9e3bea62d40ff7f3a8108ac6e57d178cb2777964f53911a631bdbb09a34298e67efede1b19dd7423f72e584904aec0a3d362dd9b704d94fb11be5889c729d95eb68fb8df47d676b9d1a69de1c292a0428f19f41ae2bac72e48ab44d8e536de4fb71815c245b8c70cc2dde9736855ec30cad21f992b13aeb9efdf47d17011d3e9c1b98aacdb73de3bace4846bee39252ee75e337af76d09ab260acded8eb2ef7347d134d7af197d1e779fef4c78f4edde7b648d3e892375767ab6518c473692b099a2456c6cb86fb7f1de7dc48d461fd2f7ab54c2248ed4d9e82dec8297b0c772cc718296255a97a810a3ac46f4feecd7709ff546e48d5a3a6fd49946dac803816ee0b0813abd5c171c9f67ba8daffbfd50d5e543d5d34bec22eb6ede473722fa866b5a2efa08d744a169b908a364cd760fa364645122aa76a4567bc98d881069f808f52c96334950a0ff033257cd34bac528102eb261946dc1288bb7cd34eab6d187b21fa12cbefdfd1296fd11fa0c68ad6aa2572df448288f74652a9b640ad22c3d4dab68a6f187edde69b67b584914fb8b9570dfb0c5342d1f6125a2b7e0514d141ad1bdd7bcfb6a4418f5c3fc7694c534f31b46a168fade1b5531cb45bfb759f13e1a79a4952b2ab1b088ee0fa2db74e73e2a722488116ca2c86a9625b66fce9c32d3f923c68440d7e82da60dce385333454fa05f1c5e66f68ac49a8fa43ca4a38ed9a29c6c0db0f218c39b804ed943a0c80edbca67139aa0b37c36ae1facf9232e8b7ea3a03cb9b94249fad28dcc93700de9f3255c138586f4f99ad2e935316e15710a51a6da6c4f6531d22744ba45b68f915e911fd259b66fd75c1d699cb98279d8b051f76ecd95e9a0fd94d22bd90a2717d97e4ec9765a91735aa5c12e2c76b2226c391c823c1c5eefb7f543b35eba35256c84c39387c35387c37b45315008c3401866eaee367d91b595742613daa22e8db670cc9b794303ea860d365e6ea0e1231dc7ca511fcb6d7c2db7e133fd86eff497cfe5b1436d43da8697796327ec355d62dcb06336f4a46ff366dec04c58a904836b6060c0974aa783a7223da4e9d79aab1b6e7a08baa797af633365af7dddd3a03de9eb9cdeb137e0fea253f636d4679c5acac8f6a6ae22ebf74dab4038090322cb46c3a80d1701616edfad6ea26173f5f2252cd2614e433accb5c3602551344c53fa0b56c2f2d295ac84609e372c5fff4cd74cd9af7ca4cfdab8fdc4b999ab171efa9a3d3a3070de64fb8df449167dcd150834a4ad129789d3579459c9f6f426cac46c4f63748a6c690fb2a54ee41dad4a83f6f38c066d084f9f06e74f03b1b78902b2a7b686dbd64cd987b427db8714275b4b6324f0ff6e780d9f0da7e163398e6fe5373e1d477d390e7ef8a4ef7bec8634b8d1d65cd19e99b2b75496ed5b96bab29d33109eb229eb5964e52459fa288e85dd96b8bb45fa50f22b8facd2474fba91f995791206cd1afac8b236904f48d7ec41a4534ab1bdebb24878e6cc94bdb6c6d572387368abf4c8b2a72ed2596e64e5255c53faca4b5f59790dcc491825234b7e3f1ab45ff982d86e663be8d3ece747612053f694e2205b5a836ce91231c686307dc518bbcd8a12fd1f9059035d035dc30c88acd476c3596e63c3570ec228112e028351da495fc22a619486513fdc70d2696e38092b89a25dc9cb615e63e3e06fb886696c38e924ac6405d7bc1ce6367c090b34572bd73ad40fa5528985e5da17f64fb6a81f485f390de92b584994d095d838e9214cb3721456f2f2956b5f385dd95e661b1f4a3b3df8970ff5033d78948669e84114cd3ccce761be81df8dc37ca8dff0d9b80ddfcb757c343cc787e3f8fbbfaf86c7ae480adbd8fc3634dce6c66ddca686dbe0b80dea2ff1862fb26cf8224bc7175939bec8c25f647df40585a3061b37687864d5f045160d2c4a5bd9926e4bb79faeb95ab97dffcc15cbed37d915b139dda5e5a6d2591e495ff922cba641fbd19b99b267f928ce4cd99b3eaa3353f62ef62458b62fe5641bcbf627ca93ed23cbc5c46259a1af99b2ed6ad05ec3dd6ad0dee6e0b615e5bc2cd91a77618a143d49b84902944967cb18eb155bd4116ab4e7a6897195f46a3bfd911148d75c99ee9d4a1bee73b5759f64d9ef4650defb58be2373c502ba55e27620fe489459c9f441449998e9e56baeba5389824c231a993ec668c6d6558b8006a946e96da2d8d0b5d93d12c45ca14e8be0641a469f4c65abe5a1749d1eca5776a1bfd1bd7c2c77217da5f4960f554fdf7dec86f48d2fb250ac972fb24e5f64b57c91b5f24596cb17595b117a2a737a7291b98a2cda93690807b1f8475cd9a8409e81350d60e30ac29a3f02c43ab13a1ce5f878bb272e106b7b7faecbeacfcfe6881facc671d2bb2e6b3bed88744f36bc1d9142da95e967d3dfbe15992b14e81c04e60a05c2a81fbab3dc88770ed798ee9d05d744a131dd1bbd867b8751a04716cb238b12e15df478b51fd1b4db3d04527a962f4e7b837b10111eb6913c227a6462ed76d846b6a200d58f880bc814fdf64509248c63442f7433168831d4e2233186ca3b71e56792a0b4bfc8ca6597c4be08fb7ad076ef36dd596e314ac345388cb2e7be8465c2288b69b673deb75b4cd3296179f7252c221aa447628cb6c69db9e5dbc7bdfb4cd7cc70b99b4e7387fac1bbcb69bcbb78b79886e52d58499fe5b143fdb09dc3355168fadd6be637ee46ba9b704dbfc3db87aa8faceede87aa980191b5826d6c4ab7b9b7f1cedd86749bd16dba6f8f2c8fa641fa053153f4dd378299a21f7dd2f5c99b99a2e7bcfbcaf42558a69145fa22eb7e91352a7264a628048a34687350c4665ed37a2403503bc53f62cc8fe72444e46ef9c30c4074cc6b53d3e6b57921b4cfd9d3e26a71a8dd7ed3649cafb24171e2c36e186343766855d80301ad0a632c01fda3678fdc3fe4ef94ad2ae43ba3cf931c82e80b5a76777777777777b79c2dbbbbfbb91f75746df5b739e79c73ce9be79cb18c3c37966481be1853a02ce7bc215b34905fad14094bfe647e8814259506a5943d0da4a790547a7596bce4695514393267ae4e33250f02dd2b739e804020ab611fa4944ec95794cc51e35e8a72dc22070641766830c84ca571658e94222318cadc1d928c8425d35b5b1083e42041081053dd4c901823652c8a1c9903db913932ad414b6c45e8d03ac20d368de068bdb649f9059206356dabb5d630ca80dc9b9bfc92231650f8648d0b0fcb9a0c4926820a9228cbf6f1826c45415c1d89b515655ac890e92f12991e03114446a6614823d3f717dd5de509fea695e1ca90d611501077594e2aed0dfafc928c20db7712cd088e3fc971d9a09e3dcb1033cd31cb83727c2d1cf80438ae82569421faa19f20ca107dedddf5107a632286e821740d2399d91ec7c7b2df930d34b77cc6cfac0cfc35954ed1f921fd21ada171419f77b9dce2ed979f972341744fd13804e5964dafcea2a7dd8cd653dc28b3af9fedae75ce1aa43f7db38c06e95dbee9f3cd1ffbd116b5c145d08c04cc8da98b0c203cd5f8c4a1cba5f679468391e79b6a8ce16a5ff9996a5057e9f724a3b299a27f45026621b4975e1f82b996aebdf4d28734f74d0cb7f4f034b3242787b449491342c328d0c38a51204c13672ae47ee3350432cbd2e557c2d4455b67f0b44aa3724f1f41a07ba3f690c93b0f08d7567535107a2d0c37a41a186e6da2553489988a3b281183988a365e33f56a15ea94c258c2ebf2f0141efc91832491b9e5f192224fd63ee52bd78a43ed7d2df2e421224f1642bb10f5a4c78e08e98dc2af3825b70dfacaf4f1059f30d88d43ed417248612d5fcc366c1ecef41951f37d823fa4e76cae9a67d2160bb5c9f49a193736c8825770c8e54d9b3167a041f9652008ae3553f4f4f33be2733b4e4238219e1e934ba7b322d6604b477b4f482d727dc5780311743ccfb36970c69ed3f35a57be3e21c6549e18d35569b0ab4e1a84d55995b5cc95e92d9fe93553f3a6cf25634fcfe46ad0a6556175c13a59e9d5aab0f2949ab87cdef49ab3b932cdd5cba70d2984a22e511f4ba7e4e927a30f791b1fd729f9978f762ac8fc4cc9b77ca68fc586ba84ba53bba83c3021355e1e0a7a09cfe5a5c08b4115d40f2c6fb911d34f2edf7a9aa895204e0492cd5aa84c167f7eaa4d6db534ce65fef4d1d8477580f085b0870064fb903b12d0eb299506270f87911011abd46f8858255b1e21706169cf8fb4a1c90542e29a7257468353246ae5b42a14bd9ab46a5b4996278587a8850cc25d95272def6473d5822b0c06a5c1296a896c5af55c0514afe599115726579431e579cf27ca886023246e462878a1916705d580895867ef27c64cd0cdf5703c18ccded2a04aa7e66b19a07a465523cf33193569b041ef67ae464e40504652f21c59d11ab962de8ec7e3f558114c049342eacb6b794754118ce78a23e4ca7b42a6e63dd894421a7b4f883e763216af6d87680722d88cc518fad08bc98e077aed2697e9656b854599909318d304c528108751dabfce2158ab400d3a89321273a0195c8b9b7ed277b206bb993cfd67f4ddacc14ed655e96492aaba449275b38ad3e0acb006abe4e0769dacab726f5858704393cbe4d2d17921e04624dc408dadc4995c7325596dba7971f387b6e6cf0a6cae46ad996a996e4050722f978bc5e5ca99abd16ba63c9637de71b9de0c4b1c4a98bc913726d76bae583e6fba992bd3473934e1cc9e6ff2ccd434b94cb02813f34b0e4d3849b8118b1f34c932bf5a158660de8fcbc5a455d42bc353c3d424cf5095416899e810850c6a21fab39ac5281ee4ed7590b7b843209764d06d046121ecebe70932e8f40ba5104674b63d7058c55d08235a2a80c31ae81382bebeb6aa7bec7ae8b0119de9b92492fb2c934c7b88a75f28ed67993418bb6ec633dd84d1f07470669e98a6cb376733357d3c9f59932bdf83bc86a144caa4c179ead24981ec64d36b8162f7a4b2ce0a99263b9d56857527cfeea874c745684add69950e1ba75337f3840584c4d550ddcc13968bbe6d098e8c46c49ebc55192806b7b7cfdb6920a24dc9922c9510d18d6cb4b42e92d89385003d8c3da3efada37bfcd84e3b1f2a8ea2db6f496e1f247e624467162fe64de9d43c0806b78296b85eabc1f9c28190b81584c4f5726cf0b338a42dd2b617aeca4421adc4a455a1d772029a7747cce4517daa19d1870957d90c430fd0eb5251ced6c3c3c2a484c9154bad066d7c542de484f691104eab9a527a0d87603221270d4e500886d3e0944d78b03ce55be5248463ea66284b978025b97111345b6c44cd528a1854599581be52abba1ac489f9217100409528d375d6aa08c518de2c878e1bc22162958ca44f0492c6758858254b228cf0b9a1ea549d282363cc8f1b3e50ae614419999add8336e3a193a18240920280f5b4f0625547fa08c13c2de42af484ad3e613c21572625a414d29faf3029a47135c3a444c542d509830040485c976db2dc8b420c229836cb127732114c0413c162ab55b256d12d00b6eed42e2a4fdd91422a93ca3357f555bb90ab3a035b774a3679965c79965a3186f4e3f978b3ca440a09a9217dcccfca24cfd3afe6c41827662057d50832f59aabaa33d59042aa11e42acaaa3357550754e4791b5223cff3a830242e6d5894e96b9934f8b2ad06a795221b914874d340580e7ac10d452fd14b74c3f2895ca2d60a44ad6c72cd540866d2919203259b709c9c9ab84d2c935028242f6ae29a2b6bd3a92a9b568a0e941c274d9c9ab82c13972c046bdba25874237a35081329e1b5f2bc0f0fd6b54a95d55903916d81b6ac4a1766cd8190b89dc30aabb047991a468c7122ae2a16646a7ea2018629721da30779caac75c10dbd96d79a2b13123135bf449e5e8b8957363971637a41c955b229b562cc7c279bab12934e5591424a28883ee64b4c7421cf52933c6579aaa04a95555917eb763a9e1c763d59003506f5559fa8b01e1e2cc647888b0667882787a630b9a1c915ea29b95eaf9b5c2ae1449958bb42537a6582127222ae4c48985c2198c91582995c2198c91582995c2198c915828560265708667285605962134e83b35a516355a7412fa6137222d4036f273485c713aac2eb09c14cae102c266595817e42ad902bf4baa9322049dc102c040be940d5821b9a5cd9e41a00a7ea724438db0038101257e6d08b0da0f3a11e152407971c8425c72d8200850f010dce0ba0d341e621394d08a02322b3760de4baf33dc827e0946337b3030b6ee8cd76a85802900ef543cb4d37d2824d462a043e50066f70cf73a34085346451c67edeb65ad5deccdaf46ac4a45361c4952706152a5c7011a7e490430eabac436fd6a3c78944f2665536723169f0886b7a995c0d825670c310ac861153f362e0989153d1d0a9326f2663c151426fe6cdba3b9dce8a2843bf32b5b89c7ec2221c112cbab498443b33884b8b89c5058b5a6e95b160116ca66c2e0d42001510c0e412e5985c5288688a2a13c14c2da83219112c0597e52616192fe6cdbc2fc4958985e5a147869b181382cd95099b5cd306795e621c12e28a3128b82c373d14c164330422dd932ccf8b6073a5a353f23d40de6c879992676131b5b89c5e4e3052f70acaa0b1da3a6327a107080402fd00c1200308830409327b000338c9d71654a0420e0f6ac1761f654713d0a0fc369333d92d254e4bd9ddb64a1c289242a041201a94f4be3b1e2e06e20896ab20664a7e4700a44cee15e9e15d95deffa20c27ef27ba8c42a413e943da873377e84843200ab71e88066510732571e48e742285c82ad287fc6984c3d3ed70083ab9765c163bd991554097b9777a47b6bcc4910781eec5995d462c961821db9f4ef7c66d969f45df6a94ed71f82b822990ed23a8bd485760763c3cf78b7468022d84638c29d22a102e721a9a0901208ed46e865adbf53062411661e4a6281ee6fb13d321e2944c13a3fc90b9baf8c74ccd1fb11c1aecd1aa53080275ce5c326a6e0bb29e6a52d3ac665b56ace3090834b730022c09b1247c516d4f5a6d5dc1162f1fbfce524a29a594524a19718c31b2a58c5f6719656bba606e5d8e395186e63e3d21f716b91f92b2ccf9e29512cb9c065ba781f4b5d9bd40b44a7b3f03adaaed82d6be89ac4814b2693571220ad958390da561229db5dbcb1c2caa8092fb52a755235946af240b60d28a56c52c625025374f96b125c6b05db1051239945572c7724b2e725fb3b2ce96edd983b0f601f11df932d0606ffff65dd8ed87da7ea1bd5a6aad06a5ab81c8796d76e38f483945256e10516666196524e523518614c3284696a8f825395699f349290dca3843e3c69d1c7378923607daabcd30c1184f3f624a0e8929b943abe8e313d045685aa51df47d5c04453082f234f6e337539c84889c4409a53889120a02452a86554f04cc1f3def9c43fa4eb1821a393ce538ad8e3004ead54855ef44a2f37462323197c871f66307fb20de6f029a8859e57eb1a2028a3fe18f6c5b6665ddb2beddfd70de746cef49f7217daff6d1fd119765eab09225ac7f483f197d3b4d69d06a5a68c3396ee0b08132e5f8bae36f548366fa509a8d0fa5a13e9436a44d1bee9d8e897141377d36dd47df44f74e77b991d35dbcb7dc05d744a1f1dee272c228d123eb145d3ed0e9ca9eee933edae8a6eeb7bbebb2469730d16d8b6c8bb8edb24b127a11a16bb715d3f0ee36357cf4104671b848cb17ad8a1e46557b1cc5a75dad02dd8e6e2f7ffa66ae72dcbe99f4aa65a8ea9da6bbf77a6fa4848650ceb20d25cfac49b6df5e3ec9029d3e97af65f64554c474315ad6b328134fb71305d9361ad9b619d9ce1b50ed29b6b6ac6739b67f666bba603eef377c27fc7be32e387e1bff3ed46337a4df38733571664ee7344ee7b4ac77621d6b9cc669e99cd1a805d7e4b8f7518e9a1690d7b5ec5fb3b4afc3a85ffbdcafb1606a2ff418d9ce74182d6b59ff6b56e87bd25deb6ef27ebdcee970e3348e9d4982da8a7c9f5d927ad0bb9b29a21e74d1f772ef36f8a7578cdaf0e6e2d23a0ddac68931f6435a5be3865a30aae6c015d39c6a461569c9f1d0577377497a905974064496cbbb9b09bdbb222ecff1a1eaff25ac96cffb3d8df7fb5a31cde9c74af04f57f272ef4ba8b87ca16f8abe99d3a0eda9b8796466b8de4fef1c4215b95fc2428930ea87eef734dd2f561245742534bcbbe8fe622535843e9abb3bcddfd1ff214cd37d8495cc772d3f7df7ddf78fbeee87967b37d2720fd744a199bfafa16f71b991fb13ae99bfb8e533e3eff4970f05c20c88ac0fdbd8bcdce536376e63e336a7b73cb25ede7d28ed1f4aabe14369347c28ed9175df501ab40c882cd3b796938d1b2e2f281c2d9fcd4aa762a8a4cdb177558e32856606000000041314002020100a0744c20189542aad5aee0114800b839a4e74522089b320c76114420619640c20608c00088c880cb415edb875875026ddb701726eb5719a34db8b786d3a2dbce3e4a8386efb61aa288981e15f13017157df523ee5af58652f8f5d09d5b6df6bc056aa7f9533041428fb30d146e66b002daf0e7b28ec63a7ffcfdd0d4b10eef834b9e8b19cedf1434bef60cfd38ed43f6d173b036014a6ad2933a30adc71f662e087cb90ffeecd26b4d7d6b1fb262be54bdaee2139e792501ef080199ecfe6677efe28cadf01e892e31de1e3d4334e5855971e8caa46d8de169586462a791025d396b398e7ccbdaf4291bc4c0b4b1f592c8458173d813ead8f83cc800d9082469818e2777b283046ada3207e9fac85365f2d2d16718d5426ee0440a123b4a4bfd6c81b19c3a0879bb9998005fe7a11eb9a2580344c8e5ff3bdf211c5cd2e670797026d3c5ecb736ff377af21a01c994e29d1ffc00ab1802c2364bdcdfe48dd1564b39b73027f575ec8e965bb91c6dd3416bb5fca3f8fec0e69d72ca9d6116880eea271de40daeb63eb7e6c40023dc5c7b22b49d5d3edbc5bc860949295c4ef02d01753aa3ed3f386b4b826af9ba37109034d440d90ee39780d8cfda89eb6c16dc437fbc6dec3bb58d36b973f59944636778317a2b383d50e37bc44694e7c906077b093cdcd8c3c08db8468240d2b40ea16f215d198fad9ba5c3fa85583734dc15f0c7c928a2053d78b3cb7878b1beaf655e245f26cb1ca6e5586ba9a6742b9a8b38f9eea110f418edd74a79a8e64f09d4cc7bfdc6f70974392b5840c2d5a00ebf3def66d8a04fc42a5481afbcc9dbb255d5689329021d73966df297acd58fbc39d364d1f3cfbf53df03b1089284d3e950387a591ec4dfdc38ec33b1df56156df5651067b57b86064a15a892c4ddd4835a5ce827e34f3a3be8bb65c489f5d3c92c911710a26d348be9f98447b163773694a92c7daa98048e96859ad3eee0a5a86c003fa0c4e47ecb0f76af4c58926503e3fa0dbbe35dc901ed79a408544362c5dd93c78e11a4dc798a0b7a07394a64d5291c26c96722aae245a536ab4a03f90ffff694336c50b3cd458f49e30730a1a4fafbfbfdcdcbc1dfcc0a34d497b5b18efcef64ac79ae841bba9ba53721f6f9bd7283dc5ab197ddb495870ca01d7f810f5f8fc7c526028d7d3ac784cbaf7a7d8e0488b3c63eab6f0605f3f19a0118ba0bf6d7f14fa1020b2b4e39db9f444b4d5d4e42310df3c8c01c0f12f508f8ca750e86ec4ce8c41cfac3b5949686a5c683bac79158ebbab24a84d14ff8de0f84d8d0ee7a7f2c1677ad401348ab1f99fcdd523301efd66345f8fff0d39a8a65b0b99d64ca78a939fbbc18a5f3d6120f7cb690f77b60ea55a86f2cffce5c24d1ad8ec413d4046fd184161d3e19f5dd5a396c3bba11194b890dcc6fd0776a257a38f0fcb3f232375f7388c4611ba37a5d763b594ead76b3c2e8d4b5e012eb2aa3a6a39f970215dcf0c1fb5540585041dc6f2c8ad34ec7576a25b944458365b1f9cea9adc2338c9eb11b8ca93bd809ac3846fe13594b01236d58154952b6900c353449c5d449eb5c1bf4333faf90b86216c1fd32403cc2850476dfacc1cec3c1f7643c77f54e21268012092e542896a7faf216664cb2680636359ebc781adba0e289c88f1dcebf51ceaf02a7f5f99aaa095fccab2411aee70af2e5e10a030fc30fd3473373945bcfea3fa650b0f0a130a2ce0ee6a8b2381e12efa8eca47c598684348367ccbd0184c721fb6b346f717f656c32426e03511cce40ed178d8a45d2c7fda0a4a934474b2c70bbf054e8d1be81be57fad9d985a781bdc3bb2c7c1faf9b34d10405a8c454695f64074734aa3eedbac75f29079da6ee22cdd1f586f46cf9de1ec86710016f5431d94557b6968ecfa3fbeea33e226c74fe19b446e9162f9d2fa79290488e1b1e6c57f031b2d7835f72fe418f53805c8b6692d26d08164ddf56a7380df3cb399b62bc7bce4873a592b56b04ac85409f37f6ff6153345b7b74cf1e8278058676636558cd702bdc3316e3a26f0c9473dd8af3028156e2b18954468ca9acbf2f1947818bb2806fb8ea27e3ea351158e424e18b771bf529e716139c486951f1e224c2e5a2d0956ca452a302bb43034c037688e1c9a9f256a35eec6726940e8b6d57b7914d33ffd076fea1916db3fffa1ee3f5bc53ccc17e4ff73ba6038055618a0f079eacfc617756da3cfaf258dbd5900521087ced7d87bc2b0b0a1073f65d74efd516ad2cd5b315709611791f6527eabac500b1723a5b8e48db7ce98b7e01b1644ef3af1104a22297f2bfd27e209b748017f6a7abb08eef7eb9577b740fc487881d8d0b260b31b7b81acc896ee5eda23536721fb2b1fe000a15712bc503121689319ff3dece2d2c6510cf79d98a0907733a71553a2cdb48aaeafe9d1ce809892ce9067271f921518928278fea3738535c31ec639e9720b200108dca27af381d31509d48df603d1be375f24f44e840971323d515469cf7d1a4ed83f0ad6db588c6c94279d1a75a7fb8659e1fc66aea7512934da879381aa6d33efc1addc22564c4407baed124203fb6d516ce91245ab4e4fe1c4c33ba6f874c000caad1c0955968ad9929caf46fa6103d07554d80a60f8b532b047247e283c21012d1502f3c4447e8dc0c64dfa9f35300460cbdb8b8cf78f91b0da48d15856cf3983143b33fc0bc99533b65ef2ab08a362bddc03b6317d6f08eedca4c432f3e7cf562591b224b63994eb80ef8b337bd88b84dfdc055b1484515edd3fb0552d4b98883e8b295116a8fdbbd8cc432d39aa5eff6e20c1db0effb421152bce043c3adcb1ab58a867c0c51cab68637e30be0f23039bc4ac5244f2dd0f669cb806b75846fd9124724f0b6438fd0d5026e4e22b10454d74083b4ca32978cdb23816fe90af4f2d11509249b38ee156a9e9b75b616c234c88410a9b0cdfe9d1e6b0d428e0380dadf1258371b2b9177da9b0e4d5108eadf2600e058258e54d211cb84be2d204580db39eecfc22cd5859917c6167c3004dcba09d5a75121044bf0bbe29356b42fa415cf32a7b8b05b085fdcc8625b4eb30eb33c271092964f3553a6f1194db6f15e7528908a662b480fae451f47ae086a2ea5e03ed70a6fec0ead8fc1d9643a54d71458758e24081cfe10dfaec87bc0fd629bee0ae29051aa5dbf055e8ae60ce2a80f2fba5c7f724e7b4687cf4afc9a396637b7df05477c57ef2db17199a0aa90524105a603f043a0f77b93f42a5feaef4d9440a6e35f0c6b5f1bb76b57095c310ba9143756fa802c90e1240033676e79d260ad53958c8cdc8e26978fc801c9cd5f62d7833f6fae3de27309392d87be3e56c0a3e4384e20bc972f5ebb81dbe0a0b8455dda1f10f9e61a3166861f99a19143c11c02108894da0e3c0623d6bae181e72e18c655fc260c97147b46d751731701008dca1dd5836d6181f712699a02290aa27dd8684100a7d839afc01f76bb9187afc2836030f37efc8e603559e7844ce3c83244761a34b7b4af357de6a580492d97f0a83c0d383897f901b59b84bc6f3bc6466d59b1b8a8196fda4b2d33dfe80e14ddb1fb21ac4027c7935fc0007a07ae1676ccc9a9e513747ccb955187b25b608677193d427cd672db588534d860d67196c91bae92e226c031cbf19fc9e2d09831cdf64f5913a1c11df1aa252d306b2d26a17d1a6046db94b3c0add86d75419f74b8d679f737f339f019c6052a4553228c24a7e042bed03be5fa56d122d47b7cfc07d6d6b9ef4bdec414966348260ba125e95709464599ecfd21568f367011abaad42d1686b7e6204312652d7e24654a91d88183e4c76a96f8956fad08b820ec1f77ecdc84872e5f6cc1f8e0dad9928b37490f3d13b0158817d5857baf0bb8dd0863426cf6e7e64f3aca4a758810c10f039ee66c837143abd2ffc1bbe31362216d3710750dd7c0934c9531005f8e627f9ab84a984a445eed7c787cc0565053f3b4e422418ebb1acb0935dbd3e790a6dd4607f22f89be91d6f4a4735dc0500183f5d30646797623c3f39551df67c0d3b7ff39eae5a473d32139a1ea313f82ef8d661e038c1dea70df503d25b6ee4f817b206557a303d7f7d8ccce99fadc2210df8f4e982976d20cd2231caa1472044d7e63245017d02e0b00dbe34bdc9217fbeb2b0d11b78ce78701c77d8ac5113058b4f4a507517b05ce70c7a7eef04a83bfe669e08e32dfe8b8a38f862a28eaaf845ca28cdf841fd27bf344017d792116e00075488621a6cf7d7735f2beab22ad8fefa4e8afab86f35bb1dbbabd8347bd8fc96b4a2809ca8cf6ccc3a7e74cf711452cba037e04c23a536aacd51e7d20968fb7f0dca16814150ee69070c8427addccbcd219445dfd220e39b2ff1154c5f10e42abff8a1685bc2b819560371cc786c6f8fe9cabf124b183a1265e24191c0b078d5ff4c5e00c19c9d90c03e6b4fc3a39bd684d246771b3b8a5bb3c6e26e881936193337faeaca420043fd7f80e80c80bdfc16760087ffd7c8961126000aa56172f2f1de4e39742af35812e5aae6f9d35efa364b9565818388de395d5ee710924aa17e6df4a9793df823987bb0ba120c842b353ba842464a2e2ac63aa56d842a84e15e091c2309757d8473aaf82fe56a8d818c7b932adb17cd7bfb35e282db115bb4f9de1d061c02e55208698bb040c8cf7c0f50f7fa96abfabda3b7b4a6a92c58174e240fb9cbd4094868f8a65500652713cf21804dbc3527da50c17750241cc8f18672a6e88e1bfc8f24850e838413cca4eafdd2fc319d024b1b3e957417683dcb956bcda36a65c16fec3a0cdb333c104fed5887bfa21c9c344ca9f43acdb4b9c5c9fc5e30f1768f0c3a94af845ff83d2f1f5c82626690a10550bf4893f919d53d8e1b69e57c0c9cecb5fbcbc160b88d65e6d929854a165bda3208a861b149d1ef5e741b40288cb70f3f57b33ab85e76ae6ad6054cea301858943390d093b213db4062518054e0f1549e3894d7a8d658eb822dd84257edd17657d437a64657476c2db0bbec0fd0da847f1037f9b767579f1c2ad0cad8d30e5eefa54bee844befa092cc5e8d2ded6bbbc6cb068c7b9fc31c241179186bea349d4a640bcfdb622238bfcb4a60b62951af59aa2c1abf98e8937f0b7f9f947d49d7ea634e99fa7419adba8fd8a2825b6bad01130dc8a3394a57630083fe72e222977ed5350c34fa2d523c5e14a3c40aaefa67a88966ddf82b1b41a9ef5899751e3c38e0e386f455d55ea43ebb452c699eaeb081f98cec2dcbe80540e3b4cd5cf21b9a0c7e50b54ce877f97eeef21c1875c3a5d834f872b9d818318001c29f9782b7c85be317b0de34edc004780127d0accf8384210fef58c6af476992097b4bfabcf4604784c338f0c0c1882840a565e0f812701b651f1d152711b592ed3afe46863ea70e78daac0d9ea55468841045a4c77cacd1a6bfe517d74e1271b59fa86a0adc2b6bb96f6562736ac57931570380547dbbcc98284e243693872e59fe1a56a769355a1191569575c7f570b09c59c60cbe37e31873394968c620fed1de9b1aece070e26c4a720263303093e26b040b1c3da7356d73fbc498cd28b86d11fca09e97b8da7e233a87032d52f36e62449009638269076befd43d7b3d0ce938bb39606fe84991b1568abf666794216783cc3e12d172a6d8f9d81d6176d49c1ef15ca5cc3b2fab19360c3ceda814776f15c1aada11f5ccdb9010432200ef91bd1f2249dfd2db9732ec765d00a62e012a3c0259997ed310856733b9bdafee40d2a3f0d00dca152e856e1f72525ffb5a06d5b1b4dfd5b1c294191a9ad0ba15dac9ac69010332fab21b930f9a58f8b02b77e0f8a38d8a6d2f7e5f25743c61b60b0ce34f662ac8c06441aea687856bdf792606e6aacd75b78e32966a154a79a77e5db9c840eafb41d2835549c00d4d42425228fb54192b8d5c0358fbca4d5897f1e0b1b0967cdbe0a88c797ebd69b0188a7cd010401c2e2ab537ab1b2b70953e27139583a1ec0a825c9247ec30b28799ce79565b04f6bfeb6c781395f81a8c79a86dc8ed8128b5bca58e47d41fcc1b687ffe9f7f032ff002cdc02a7fe295b8e71868cf284b199be4ecf09a86b4c8334cb6a96470efec49889c732fa9aff04691419074184aa41b0da01db87aec69f3ab276f91114b1d0996e010fe286bc985446772f0640f66f6b7a5b669ba640fdf109561cba54cdbd64791234fea569605fe15cc0586ce20edacd0dab15f1e5a8babb5052930d4d6f5f4405c1a670e37833ee67beef27de81658e320848cbb5a8181ba0d9a4763d55c54d0a52723e014dd59a66a2aaeb53bbf2b9d2bf24d19732fb9ef105ff7996ce6b06ec113d4a7f1c30044c80404c206d081dd4bf8b4f59da815e79ba8dce8dc2f07d36434210b88d8bc7d996f5c5f9cfed9251c8951019a9d115a42452714f18afcfeb13583623560bf0ab9047aa13dc94aa3c887ece502d19722056a3e158d626dfdc350957511f5eab517e8e3bd514c12db5d220cd9ff72432828ec4ea8ec052505367d36ecd165f3d5026f57242aaedca90088f73437fbce30109f3336d0317a0fe77a777b4f4be15e784bfb155b61d352192bebf1f3d80ccbcf033554738a4e4983f94858d1a1b9edd233051085be316769266e62f0131b4829e737e93648eef10c317138b7163a0209a1e10cfc14ae1467de72955bdcbd67f919c86f7ace0ff3f0fad3de04dfec4e607979af6e4dccae4ca46e85ce26e9a1569d58024011872720e5d775c9e067243dfdb4f418c54e54d5a9047b169d975ded054417e8e300a792ce7c4ea1352d48aa0b18e25d2b90d0d708cc76e8a2d1b21a8a19f1de9540ab01116580b4a59092ac31ab6edecc88e0d408a2e0176e4648765b56b308e31901640c290b0fd829604d9aa9d488198552304e4a09fa764500241d3d41c09fa2ac6cd1b91f2ce2b6241e641d50a76504995773241f3cba703df4925073a1cb810261328e8c6efe7ee7703be0eb5a0bf2adf821e436c8b7f727525d2ccd106264328d3e3267984eb3ac5820dbebb2f1b236a09560b4e6d81f082fcc54fa53f71494a1d1f813c830f189565c402ad1b8cc1cc987aac00d86a0dfbcadedc5df5039f4ccb9038c51830240335e97de765b63fe5319e08f2ad816f1a34babe5dbece5450536857c3fdb3aa88e2e45a4f7d6139721d75da6e1f6591931bb951695e4e3f08049a06f2dad8a672aecad4000f9a9421031dc9d97592a9a006ceec8b0025d982be82aa7342d636220f42fed929848eca220b8f23d1adf7ee570482c72af63411dd44372ab6da0f60f8841ed17de0dcc7041c4d4d4c16cc1413764a3e605e21bb473d0087338692f10758631822467ee8c7fd9ccf15c805e9ae16b5ead5985100e28b2d95cfa8dff57a68a4bea821327991865cc449a67d83ec5484b6759dd81d290609c7458421003c947a5409432421280a4388d488df86ef3b5d93ef28d852fc7806480130eec0a44189afa2ba0e5eddb49625f85c895d4fb2cdc446b5dc3e3c06847ec540181781230ba8852463bd33de6daab0600b651f118644c736c3218fbe5cd386c35771108dde2915d05888f136e36a7640cb5047ef7a2c432a6de8bebde993f5267499db4485f280d1facef0c0566052d5e208508c341841b8dc380b5c7fe6cd1fb3e12c686a7e4df0b804bc039f0d36ac002a7a0c453e45b14f2f02a7fc2075e40ed04167218b38c7ad4b0a1e36e542d1e85552d44e77847bc815c88e8702f004f9a00e7e890020957cd6191f702054e25055b4587ea85c9f33243683f74f4d36c8aaedafff9417f347acef90727a8aef40b00ad3d67bc7c671a89d565f69723ed481848c00deba5c9cffad9a92e69f02eae803328d3868ec38c2408f016a3f21908c45651cf594f6ecb663bfaec61eaba4e5fd115517d655bb1d5fa8f5b218bc827013a47bb2fdd0c3b209f185da7bb7c5ac0150ee11f0494ce79dc2ff79158f96ff8e9582916835f6853c5cb60591e26d610a1f7cd65efff0ae9ff57d3cee993a17cccf7c113678cd5cd15ff912e006e857452d7497e086235017a3548b8555fd23e0b7bab926d93cf3eb3b94b8cc27c99afae0205e08d66488f10fa3ad33ecff59803bb28bd789f02c6f5947ebfcaf04c8523b2f52e2165fe6b5fd5075ba416f7f3fe0d379e14e9d28b32d5af6cfd6521deeb27ccde291df9833790e9c0ae527d224dc4eb8f31d8aaa1816574a97c947839225d95691adccd1b2d8922961a6507cb01e07ba1d43adc2316179386bf74dcedcfa95f968c8d1ba97eb047c7cc095746bb9804fc03953b16d025c32a63d9405e7a0e6524dc691722af250d6f071442fa4e3bc888a8076e7befa1f3a27369c295246fd68c8637a39656b665c6ee1395c300bc61585a8782412ad130655f8da07e565c26226f75ba9d03f304b15fa574a21e7061929507442151c91506963faddb74ab4a7e1853185d52057597567f079012c84a980185ae812e38ada2c5e342f3425a3c721503f634311b30b407b4bea5557546c4ac6e1481b2e1e8ee47a9d4d94318fd26e19470f4ad47180f351faba9b20318666b1b5a5fb086862622b85254990990bf6fb4739a3b873eeb6fee8ed5de752a8cb4d0a41deb2cfb0a3992a0e459e94feec394830b69e5ead5e3ba81076d40ee6769bf248eab1497093bfe5285229c03e3deddb16424858fb4616ca7c471adeb4926ec0e33b014db955be1d68166f88a99ebab3a76aa5041ab8b6eaa9b5c4fc80506f1d0dcf0a7562b5d42955bfbb643163e40e9b322766cb07324e0f632e12245c939e522848e17e5c48b0a697995b208a50987099865d30cd0e68941d333f081271ada3390f140934ff8418e68c2d21780d6827928e0a0aaf6852ce0146c7576204d974bced9807ddc41e04e71dd1d57ae40d2865a2d194520b9a81ee68b373938013d36424fac13b0280a46b6c914014b08a6ab8134fce4562a269a11e8223526c08ace84c64da74e88aad5e885506f18939212ea60cda131c8fbd26ca5f2391b573c9a5c930a473bf8b7cf9ae0e2cffb304c6ae463d4f51561c49d2925fe183494120994959d8d15b7337a6e0907d01ccffab8ec1d441d747809d0d1a79d5cd13b77f42af98c9ea90e4ab075a771bfadb5533fa00618af0094f35a70ab78d2792b447860ea9c3f81b6913b273dcb6805c4dfc65b2c423454ba32c960cdaadf9e704c8d8dacd4008a13ef3dc1d0f81ecde8de8b3088f1de0273e787f5f6cfcfad8996b272d0bdd1960f1457379751107451b6b5220a1b66223be4e236a5698d40d0a618487ede483af7a86b70642b36d28a4d1953ed06e37516d6d5007fb8ec93d680178b6e24a19594c1ee3b4878a10a7777f0f16153e05f7c1ee83ea1ef95a2399989841d5c714f7e091312b5f6b55855301c4db613b3d23328865ec5ee24a709654180d2879e278b9ae26667b28168553ed179ba68c1d772b6508cf6223142141309e370345d5a4cab41b9245a749aae602919c11827e309ab39fa45c4419034f3d226890d16c695a80d8ee06146e20bcc1ca05af1c5ea7e942e17c5fad46d6387818de2dbab547dcda3c770dd695b65d0b99836230636e5b38c499dc05e6713293f74fbfa9b7ed0377bd2b26220d76fb078acbc207f14242e6e02e9ae24c787ee469823e5baf6fa968559ed08505d4ad4f9ce72265e1dc512d5ed451e63fc7023e78ed9b57f12c028a32e61922f492212c15f0922f71207524bb094eb766eb43702874167195500f8dce9890d50820963a1b362ccd9147baf0b0516b2588e3c4e615a004b9b734f3939f7f903acda545cf4fd0946f7b5c830d89bd983605531dace6b1f5eea9368cb689470042dce6cff127040e2519ba40ac1211a62d156438d829e0213401ce29a6d3084b08108d976c17dec174258e8ab3e32f0d11e338caa94857fec95fea99349a76b723f11363cb198ddfb170a48fab2140124784f4aed0b54287b5bd2451cb42ade588b058a66df80efc4167211082bba578aa0640175f56e2acbde54f516d0deb048e9faa92d2d19ad2e55732edf4d70041327a43343201318901798072d087bc6e91d4fe8d86aab96dcfa0caf0b4762214958865acd2c8e3398ec1316e9b98a59eda233c7d3871d3e728e7a50b823f19a348031228751b7af98db1927b5fa1fd245c389780a348fa5561d91520099cba9738b7469ed742883b39bb8ae4a8d850e159c99b4f88a06e4fb435f7918ef4c20566ace5717f55b53ea3621cacf1f2c0b1e9eca8a4b5d2878abf1ccd6083012420f8bc4ec5805f962849c96b6db172b5a936f0ebf97ba0f8261f3613738ff273e4b141662a57e24229e6beaa6972b00926b595dae30858518ac66d43bfdca5b84d0228b02d0141342047daf36260c61b12d79f5b556bd0601f0a84bd63e52a2601ca80e6e73d402f9bd6001cccbcc906a525b0a9e6cca69f51dce54d2ec84092d197c604202c2a3a1aa20dad15c44d396cb29da398e7d21efec8c5bca3e9b216e0e4d4036c34bd801b09adc42c8442473f63d46ba437d11a0f7bbb3148f5b4c4119ec7d0a6db91b3458e20fdc86efee46e35c8d1c4d971377e915d36c36896a2ee3c9b60c99530397392c28435414df92ba9ffdabf87ccf4f56af3ec71cd1b6afff04384bc10cc03c0ef0377e7d01c9f9e878327bdd99910f094df2b2693dae11fc70cd7dff4651e5c9d339ee596d4169b60b5f3796bb2a516d073ce61ce9c8c2d70380fdd387b2873121dc6bc6804355c5f4eea72e683eb53f629e35c112b796b5bf5ca915d54129063480f11412dadcd9e1bff1f0a4b3385f11474463c4e435ceac92736626c3ff02a97ee305e2861ae882a28bef1e42b554f1157ac8f04b595fcf7c43e0370a5007136f1cd403c9443303829704c087ad9f8f68124c9bccd3034fedbfac4d80273724f20428cb0c143728b82b8db9c0b44a6b775824585cad93d5a13cd709f3e6c632cd9341869cac8dee4e000f0dbd6616944814f3465550ff809681e3f692501abfc445e26ad53679d66856cccc5836af82b67131d9c54374139145f6135d7844e19aac0fdccd110fb1100f6281f7d11a7c13e0477cbbf78b8d60aaabc39306f2293642a5df298982e6a735d1129ea66d380a7b5a14b0a6f61e37eaa7ce052ba7535845a84a4e42a48b6f3e077834dbc0992baec06511c2d871a3aa6f6a1a8b3c2672405895d3de4d026960f9c0ed7f773ced51fca2772a3aa2a3138d2fe57204d58dba51a26939440d0f0313fe4cbfdbf9cfcb0d9ad8470e7e0dc23616abebfbbc64905e4683faa0c96d86a39ca52d5c7214d829e46f001d455e219041ff311f453f6eb889b3c828e5806bd102dbc7b715bd717840428b44254cc43f10d3a76d1ff04936a7990654b5f08ba6d1204422b97ebc20e79bb58adfe0b856df4c4c6d45611b7e49d8e34e3bc9eff5c840734d993986a3df05fc244c1caf76b83b834ad28adceadff900c0cfff08cf792998a8b0e1dfddbd67e19e8927b9770453ea4a2a3502dcf3ae919015015a2bc9020b9cb34a269a475076bb37d0a29070fe638a51b30659ac175ce8d47b5ea87cbc759737b764f8ecab001c913708ca5fdaa76551a75152ce23cab741d768afeb0b31445c04f7d3f1f507be2ba4a7b9ce1cb3aacc91b893da5dddb79062bdae16906a2f653a5fef53d5624337e47ea1dd9f88aaef8f207944926f7b50d52e3861bb3b2f7fe4a38aaaffae76d18a0b2203848e748d7d8cc8a54a86280782e1375427579a1d864bafcaf24175208028f4c890e602f408aa6b69b0a10b7ad6f8bb9d9b2c42dd8032ade1f16c936fe15f6974e84e637187e5057774f663c5e59f93316853628e043b8fc56bc659a6236eef6105316d1f10f1359c83acbc0d5a54a108a3a464744943041a55a75b3e8e78ab34ea55fa092888d7a6f2546b394c67faf9be305720dbfb46b23c00d35f85204cf0786c2617390fc1bca7eca037a47992c851c94c974b06334544d414e13185cd89f2d69db651581500956dfd6983f98c4d3c8e5e4c68b565dbd0d3001a64f18e31301710615e9a2dde3d8bd0501d81b1badae52d8e52966e047f81fe7e1a06cd82bf1b492f0b72da1aa6d09535c54dd293874add9d92949aa140e5a4f022c9219034784ad0058d4c323cdc1dc53e7d474668df9e7bb3bf38535c9c0f601e664d73725053366fcfb459d7eeb4e6b194e99506f7093a2009586c7507d857bb93d37ecfa9af963380b1d22d97ea04ea7506a1db9deee7be63cc545bcac7ed2b889b291290f725a1dda9e99980ca642cbc66aaa2dbe0cc0d3415fdb897cef01d911e980721780e37186961850ef68f1f17a2dabad009392da35a4d5e0a7ab95a684ccb0723406315c49f1ba3186dc2efd88149d25cdbdf255ce14eee863179f6b61e04dab067b0ca40d1463d797f1d21832d5d06ae9233e9c8cef3cdad14d43ad47be576e5aae18d1e7930d785e62de8c8899ec7a9007200a9939e1e7a87e40c26b76c288881c7a36de5f32ee085aa31b3f8b6b2266e560bb74a42e0e2f74997690c8a54fdcba9a860cb5e99fe04f7880e647d95fdf2f59405572c84a145d6999a05682319a24dfe415860f5a7066759406880cee937fbe6ee501a8b75e62bd6f12a1c821b93eb57dc62cc8a771cb374c3d4c0107d64e7465535225724c4eca3567dbb9cd48bd6737d51eca375fadec23ca5245935d6f44044316551c096a3942b6c99372fb5e559cec87cf8fabc15350dcadc3d30babc6d9c19da4d064b1a1318e808e381c1df176fbc1f0cad1e26233b93eef2b6ddeb74b1d2e6ab093020421fc0a19070102efaa8380043ef76ba3a1ebf88603d67f30aba7f925768aa3268d4790b472d675183011ebf44e4a0658dbc23452e35ad666c8213823695062d2783c26268029f0450670e538efb65d92dce8f2a0d4e8f056afc28757c05e40c5360cea8706316ad94075662d83fe92b3c00667d39f0e05e9823000f5860b57e0c24161007e8c34c206d2a300d3a55319e6c5f24fc1c84889016e74ebf963bc4687857365689c70d0a89cc68edea5901c4c4afff70281714acc40ad2b5306bef4e334bde2fbea1ebcb49421415b68883ae0c7309749fe06e9a07df6d0b2059f01e50c1833783e68eca925da7674905898a1714bd136c885bfe406cfd8b830530dd8682c04304e8364e2331c08a90cd57c89355e8138076042c30d91105f577f5125433851de7436293239ea294d9c7c99b5be57d4d37bc78fbd876701e5e26cdda31331760f7ca5b54d61f30c764c98c5b6099d285f4beec7730bbbf587c6952702feb2f622f0f066f942fb97ea92b417a5bbde60b5681258294a9b45953f7e7a69d0a71232914a0b6698008a247bed514ef6275c2c2db6d7d29856b35999cd5dc3686f2a9f5fa3c44401db12abc11c589461c8a2574c4685a2340cfb7ae7e6120b541eb0ad2dbe5a139001a7ccd94441368482d8952e38a1895d5b0ba3b914e78afc5138ef2ab3f261de554b69eb36077d783d468ce997e823902ab8d15d9dd76cf2ad1f38635b76434b447ce475d5fb2cd3e0fe8f15dfe3de3617e06a131d519649f5da8901c0749fd1996cdc2e26fed17687dca211f2e419758996a710559fedfe6d00eedb3ea1483fced56dcc8c27d66d02eeba0001312f39e0fa3b81df0fa069af6a7659bd60aa5847ad9a1c17166d18f06cbe419ba4c638ab8d64c91fc868d9af53051011918abe349e5dc55bd0aef82f4f8ae4b812f332d7319b27a1a4244d1df9bcba0a976480e91346b92e58c4ab1e03269a0a77b2a3d8818c80f5ecfe6f60dc3b70572583c623c683d4deadae4e822e287388d1253a5d9bb44a1af30a6b33ccf6ef2b9fa47dc9a926086d71042c084b049dde9da689719f40e6b9ca33cb9350cec5c434f12d3760c84a6b2b7c6d064f267abbc8e4f3f0b8572d191306b5065cabfad013bb94f2b8d6103ad87ee33278941bc52298b630eedca26c54dd53a4090501c8a9d2f7e79ac4b478a392e732a6eb2114288fdfa19dc0af78ec30700924b348508da6d99b8b09ff742311ab0489006e96b5942b8160e3cf25cedad454e40de390831fdc0570e957c5fa71fc67dd12ad91ab5962ab149e3987588f2c083fbd87672c9dfe05e7be8bbfad49b1b6dee2a6c73bd0a27ab6d2a59e5f74535cb4f676f3993958ca4195a60f4e61fcbbc1d8caf43a2f39c7bb12f358b57f26e9d6efc140272f56adb21e8d32f00a3d5621f93c973d46e02f532c3f0461639c5925dec8395bcb23e5dd128052d4683f22d2677d357a046b3368ecef85fdc74c204c9a199528f4f3a84b250c62063daf04f960847680333cdafda2444b14f99c100044964355c4f4a05d1d64b40fe5c53c84810c42cb35c9d9d0c81262b90e45d5c40fbcbc19d49210237064495efb31964ad467c7246deeb8c208acfbe29fc506e0fbfc2a1eabb74d4b02280cd370ae4c2ffb4258894491704b9c37e81f6cc8e9b90daceceec540e86b57b745abbe52402743b9d938627b652ed8876c012444d7ac5a6ba8e3e5a84cbc43f6b4afc64bb1085a5d94941266d05a43e3f4db1abee8c06b9b2ff4a270ae3ede94bebd326968e4ca5dae0c0c6abf585d703b01e1f80c6ea39e0070bac789fa819ce59950f033535a99ecb3106b2ebbf4550c700062e911023cd1353896bdce87263795db719aa8ca873317daf88eb1c8d7cdb007445e5097f610c3ce9d1593a51b21c6490cf2b1997bed634ae00dd106e5c09111e1674d9737766bb26aacda0027b998365716abb22b366d8458bd868024fb7cac2246d1ea1954531ee3597e9ec97bb405751d2e5e4425dd0599ccf909d9c2f642dacf92659cc98b5e71772cdb46ce8ac2f0c83ef625fdcdfeeeca08358a126879a1c94165a53e4541bdaaedf3ba0e540cd6c70bda2183b8a70e15e6ff1f06f1dd615ae40cc2bc37a199fad891f2802fbbe013e7aaf71951c9cfb8ab06ee3abb873b8a132065c94304406fe5876eeb07c1259266c7bbf94a5c940648bce8e9813ec3ceb975763da4e0523b7d407c597db2763d960298bb10028c8d46c6f3cd7b203c066705db98633b3193787381b7f56a18d3b683d0bc2c97fb2e769d64ceb80f31e1796359c5d032f4b2d18bfc16d568420f3d85e8415153c7dfe7bf2b7b39099459a1ee3a99df7cc901f7a26826a431916cd42c5b49758c567d0973c6b39792c7a76dcd24ef8c893baafcddc715894ac1c37effe615a514a8bf040231a5706deab20e12985975626831a16a92a7ea0c23a2bde94825ee42d2208f8438b5a91de3798b1a497767d15f635b2fb133913666cbaf76373bda08daa242eadc6aa7e59085394e776d54e5e140148b5f8a53bc528def8d884d08d341a98fcd2a3be755b7eea378aeadc241add6c911d9ee179bc0a8d79de5840d4ee25ccfcf6e4b77dd848f7229a1a7c5504d09302e37897697e08a95f05a26506e095fd161a8f97bcd32327008aa5b7ad400c4f3d9db145bedda7110d1101b7af25f57b706a0258fcac11f388806f8e8200b61556f637bb76cd9d6ad69ec6579891a0e8d61ed358dd8259d5f481a646a2801d4cda23ae0187bba3685a167fa8239bb6e4397ef3ca7b931dbc5a374c2f14e0373d5c00454c859dadbb062ff46c222d0d5eedcfdafec1584a7c06af58a35124b2755a5f1306afd8b7f472794fc6abd3bbe758f43c1c274573547cf6f30ebc0f4ce618aa6e815ba3524429cd80959b250986428fbda0fb2b805759989de1a0f9c585129ff3ef0ad3e11a002af62e800fdb674dc04f8fc4d1636759ed3f6aff1de127dae95c8f2ccf696e43850ab2a73f030cd3b33f77976bb84b4a22d31fdc1cfe3b050ec278150497286bd957135261190d2dc3f2f00ef86ce93f806c58fbb09bbe2aaedfcfff7c68ec4500849aba869373f4a2f0d31bfe387ef5ccb257ee65276f025485605658051c03ea89a2f50eaf60c6bb679109929c4a761e26ac716c100320caf7b8429444accb2e759d95bfd1448066bb3c34f4b070e0602cc70eb74a934bd25d117b599d86a6eae2365ad51ac4d0b4bb9b3faf8551438d403b534d2e67f0c486c8443b83b2e62224e48b8b077a9bf0c13e1e34902b26e2002d3321a81df7d26d6c8537fbe2597c1e69240609db6db5c7939f3c280d68b7762eb6ccc06a6be5be83bacca055732099b2d14d0f321ad2c7f90e69e92df4f4743a604ee22b8e2501ee19f16758389f9971b85d13616b12e0a5bdd95cb1a45b3b5e9e0ea3e2cc45f036067549bae267a5650839bc48202ee5f52cd71c8ec018101fa802eb161a501329b786eae428440acf174b113064db1c300b0331f3c6220975d76ed70a86e682aaa12ac046b5dbe07c57646f74d47964df94c610bc66d060127fe99ed1c2b2c0d82c27dfce8a30fc85b210858ad264348f33f7479e68266610104436a0b52622133e7d0d5e1e5c054dd653d448829427a8806442340f9d3ba6450867d9626c2706289edf6c17a6c1cc499c47e06970b4dc98ba3f361374735eee1d6758366096b74169b79f92cb3c1deeae37b8529a72079ca9930ef53fc68f81a8332c166aa9afef6a8d22da33119f189436b453c38e969682c32ecfd563e56bed18aa0edfbfa2cc3caebd5d90a4113ba3a48342175b8b9fbb74cbe329f8d3b3f9cfe08fcbd5666130ef3aee6afdcfa61828afed2a2eb0998357a33589c80936af8cae1105a36b3c7170994039ed552df8ddbb837d8f5b6e9e6dd9b5386191a598ec10dcf41cd5885a8b7b9a4e26ac547340a35d23403da7dd2b8d2b8ab4082d19736ee1b28152a41602de14143dd9f1af7c460645644abb4e75f270e4fa10f6120aca9ad6259ed33223ae597ff0587f02a73e8cab7c6d898e4edca3ab9e67274c2bd7fa8b8c5c4f50dccd02dda26b3434037492263a9191dddf537db194ad18503d0786129c79c8b52fb2e7a4673be5b001edd2fd7bf9c2fe2292b531c03c4878fa64884b9fadc765bb90d57324202d01f68086ad88c193884b4fd58720c1bb0993ec3f4b9a88ce72585f88ab59b81326095f020e09968967c52be13136140df0b34b7b79b66e5b11e4468efc68ab160da05db8a3efcb1880876c0b949e9eda04ec3718b732489026a09af511c349464b3c3b983432f43869a4bfc4d6fcfa95ddbd24e2850cc8a782d2074c0017a7630780a7e15603420c3f7bba486758d81ef4628efebe17703e1c8643eb12bd08b8b519e71bd956c34917092aa5a5f5cda7787b8726ccbcfe934d3afa4f0cad057ce1a785d33861414df7f512b3cec906fd8a2828d194041ba448738309263cad3f586256667923f00c1698658967e0c0efa661751f2b17d9e8d0631120079b29493e8fe2234e99e64e82d967fc2da51d2b52621178d178e58b97686dca99e1f2092f1021fe10c6caa22b544e323f09933b85ea48c72450e0882c303facb1ff5bdc672b810532b01412edb7b1150cc8d95da77dc6121afc272f9919da9f9020d5a322a441850656da0e5b24692b0095a840610068ad5cff1c31af4bcd7355cb55d9bd61ff26e7bb84e5fe01219857982e3b45cfaf5953db5755e0e4023c7562b89432598f730f0f8552d922a8c27243ff332c9953bda7621cf3c27eb10a04e8000805dc870d3e045a5c65778b72bce3589b16fe0ac040e78902261a2cdc3d24fa956d0ffc4a9e67effadb92f999578457c6926cfd91077b5b22e563c8af91706985a48acf8150e78208a0fb59bfa752b4beca6ff3e242e71695fecc556899cca2b7bce1eb6382d8038ec3d724897635e65596d955ab5c23ef39ca31808e3578d1f8f135ac3e1c4994c4a9cf0db1e0a6495cd17dbb7de13b6b24920f4e97c701756e07b7e2c1936a5112d2b011d56ece782c3496ae463e40da115394df79f04c853a2dafe05306834758545679aa81dd372eca0ca34a4612b211443524aec3ee11020a52367f8c1d8ced1d78f3aa2b0c79e2f06d0d3a192ac81ba4f2e50fb0c729d8e9de1328b11aa0dfa10b739b5f48044741522b217e65b5143fe7132a8075b3a75d92bb92dccb2a29bbc2b35df8d4b90b31cb1556894df02524fa954000e7416045b615559639abc94a8c79d43eb7cbad392a5db9e438670f52f16a1796e5f041635cbdf62c48f305f0fed203f3a9954ec398af29b20926698f4013f537659ed3c72f3051827f2a2e3b99222a58fd820318d73231a9316abe263d7528eecc6a9e3110e3369503e30f8db8200d03be102777ddd8caffdd58f8a3dabff30147efcf7d7af95824639320f99f96ddab5df024d8bfa1dfdac3729ccdf8c3786120ef1787e06c4914c7ce3b89f205d9a1e9d4264b74391bc4464011149d668b80cf1a17b3a8e6beab131dd8e762d7fc348ba8013377c9ff85effe84bf90e845bbf7623d788bc3ca6c7fff4bfd93bc4f14f4efa1d09b3f68d90fed7c3250f25d1422a80ce0a9af78efe05fc4cfb73b722dcfb02e163a14067b1a1e4174cbbfc5cefa09c15a7afe24ec55a18dcc51dee1c8bbc1b6b0419d19daeca4dd1476ebf8d9b31046016fcafac0878d052292bbe4cbce953b3774595e6914439197718e0fe9444172fb2793534d73450cbbdc6a531515134f3e1f9b220c73a08cfdee53f00a0b9f5a1bb81ee44e086fe4a3011baf3f18c30f278e17ae727ab031ed0bc5471c4e3ed29caf7ebcfcae0ab47fba729f91c7f434bda397064359dfce6c17490967f0d3b867df404999ee143320b73f6d29ef1b7c078d4568d89e63114cf01d623d4141d383ace5fed32558f10ad2001ad0259ac386a403abb7c91408c2b4171b02f27f724e4b0e329e11ec6cf68db0cc8d992665555d5399f993ad4a3898f75c17be0f9d33c2e8ae665d586431130af8dffd539baa60c697be24681cef592860e630f4393b07cce6e34c7e6bb45704889e4f0ba08ecf650e40d5a6a7b411b35d832c38b32302f07fae37d86a5ab2b6deaab9fb939090bf0941eb4da6f1e00ba3ef7dd366d49b2712189243bb65dc3c6d06eb414145eab832ae4af343847bb18e8fdc47aa053049bd8df6edf2121da082365c49ab10be14d75f124165014a14560ce645957d14d4c7bcc1b2c2c6851aba3890a36091eec19e00e1396458a35f4af9025ab57a547a3a4bffbc925340f04999aa4205c5f5fc79170f9d55eaa4ef733069cc725fe499537c479b93d5c4a5b45cc8e24d812326859dce94c83f439c130019c8f166541a241129e915e150214bb7e8fa0b1b08544e003c5274aadfdff27db9af28dbe3d94a02e3e1fc1bc0d7f6f663e894da87c3778ac932c8fe125aceb8aab3e5f35130f148ca0cb5fe6ce817ade5e11ed1d4c5afb4c0c717917b67c25205a29b47d524b5eed039e4eb9888e114cc698867d3c4109620cdc4ce2107f09527e09d9d3aa9d6e3f52811497b3b3b0b2ab27a730178aff002bd1f8e8ea04d36ada67559f6ddc76943a9ca9d98a9dead4af8fcf083c9882eae1494cdc6d3ede3d8373e9092339aed70263be54219e2c1227e16fd773e6bbc8cbcb9fdf825b09ac7794efa9009aa23e9481389685e45ed92220af1466cb76d5f72b2c46505ef71e9e132a963e226479e59ca0524d9ca59c2bc12c988d1f477982fb58f80c9e3bd38fde241ca21bc97938d12e399069764f7dc9d0d810d9d7cea72f93924d809dce6fb5f82b0c4d5b0a1a72eeb9b308776e8ad77839c37d972a5d71b6b3c39df159ee77a80802b62311cc60d0816e7b22df62e0429ea5473d40a41ec52405c660d70ca7146420775aaf327951b90a881f68bd267313a6d09218da3c02328f0b725b7e097d07075088b39dbb6cae99023b7b72f651612e2d5df18af2cb49c256d54df2a8ce92bbc890b4a29c6ff792826df1c4aca535987860c890559c4f0a191c7becda0cd55a72919142de9140fa1d9abea9869699fcac659ce2d8a3d675ff817254fc01fc049312f32b55ebbbc5827b2953c73852fab3979d3b9020229c3d2ebeb18c9e22753fa65b8c4e16bd7ffe8fc0a2d1dd057855e82385dccbb97e34f6489dc180639f910980037f18dd8291469a387eec60ff046566c17d23a123e9cd989926c9954ca2a0fabe4a609a221fceba5ebdee0c9a36c6b8e9fc2d4f203ef3587403819bfacfd7ee7eaeb4ced4bce0a89582e61c372a2711ed9c0498eaf85d06629dc02d30bc463ab437912454ba87c8885128e98a6855c1370cb0726fcfc8a558ba9d7bbeb821ca834d6be3275e2824daad8f761e0836b49ae8264fd35b48474214ec92bb99004576817a4b3645fc98636a71ed63ce6d0743f9f169c21be0b8fd345c10a849e72048218bdf489670279e421c0810135514b9c45681a95e249074bb252abaf296b56b119468ae72a1744567d8c4b23695e89c411a25907cf0ad801c48563a95cc096123b8d9aa6d00fc7207007b2a48219ed866ba0ac385cab25da013e5dbc36ca1cb7415358bd59fb883425d75b7b2b9e039f61982df47d2c544667d8d4c3af9438580e27cc8cc8194611834ea739e15898692fa4232c94a577df12c278286e3c417ac43ff0a4652e085068b256b7435d87be3043d03f54fd1a32018854eb065f08c9ff7afc3106ca474b21a463926e98f85b8878684309adf4e5029ff1aa0c8852412e2123ae3306ece1ac8233589ba57a965a0984855724c0ea931f491be864453fc8557fd7290ad93b322f93515515fad32d5f1f8afbc813871099a1ce3db8ea48110d28e5403fda247e02a85ff13e377f53c7aeabec9a2b6c1858d491755258616158a2f4612ad6c41a7457cfa8efb95cf586e4a199b9416f54ed310f507d246d6aa5ab8eee3afb36daa74a655fa6ec93c7e6b0ba1c97773834f43dc41c5b7cf3eccc863a017e9b3e59a3a80c712c47cf9ca92b10de8135d0129b8d0f278c8a875ad3b3c337b88e979f460a910778ec40ef5ee1a3b5e0624b19f9f48b6c4b1ffcdfdabdaf11b4831cd3f81f625b10450e60d65fefb07f2656394fe061e0c237a49641f6df82e55830c9b9243f5a4c39c1f7b70d7368fa067dc2890e17ec0427031c441dfa2ffb71b226f05538ea951670bbaf6eb93fc757cc773bfbd034a1c8be6e5526f9e183709afb75d060ae02acb0ea54b0972ca59f1d7ad0df9a513ca672085a84838908bf7bb7cd52d9f7c6394ec7546856f36442f0d1e3c4fb8b498c0ac0bc859bceb018752b5639fee27ac3e1a10168a7232ff19ba9d504dbfe99b0d846fbb32cc164d9fe35f3d34b6b30a61654c86d25a14a0056b3190a6409af76c8796c24dde7a7d83f8b669e64dd7f96cea781770d2d1fb2447df560bc5f880bd1854054f4a9915b8f13040d4587e32c0dd2779c39200b6d5bc8e3b604d76910d9b60413cdfa9cc80c35406e80dd06d5e0424ba417b39810c9932e2e3972b9f1ee720f4be89361720d89d6ce17e1196f0bbb807216a2df214b6dba681d509d9a97169215f4d3c54ef75d8c962b498c8cb3f980ff23a355dd74495d23ec2f5283e78f12f4a727ff71762fd249b9d544c9b89ce125da226c9937bbaa59faafdef8f8a7f6a5514dd8dbeadb013b5311c409ac9ce9a4b99b62c59f0e2f13131918a9ddd87c8f4346314e5dbe8d8b5aabf9c113732b8914c794952133e201f931037ff89cae2c258a456460f695213314f6c2a5d5b8a10114a0eddc5235917a41cc9180f2af3f441f013c39dbc587e029939a21f72fc7cb7a2f219403ba593355cb3c586bfd2fb6c274a5d41e3a90ebe30a35fd0be20d0151edeae061bd4101be17dfc7d02545a9aa75bd985efac3aa616b56b28c21233cc48206511050d47f5c5e85bddaf9d837587eddef4609dfa7a0ea4dccbf483c6b8d90a8d2bf7b05669480cd57c1c6158c1fbfdf0d51fa29557221c1f0041299940a3174a440eef2dd2c7f06be77e0a91b6470bc45a9e1526494041aa593261334aa04c83d7d78cf2220054af34e557f511755142b60403ce0107d723a8618ca52ee47bffbed25760d9d528ca81806467f3ee5efb416bd9f760d9c595944c84d9decc8c978b05d9be4f6ca35f30de18e004a0d7b61f7f90dab639ddd37a75eb5c9e6b1202860140affd2cee63eb858eb9f94d10f0c424ac5796481f736438cfef466b5eb573d11f1ba42f8e1f9c5b8c20cc82fd6140a8459a53429ced891276075344aa52f78760f54f63bf0749958d0d80e78c18b93cf64ceec5ff59b2dd3df0c0ec0691387133b2787ddf4137a2b0e1c59895ac8e18a604fee38b65e4e1b8042874fe3208e5c23bac43ff78c31011fa2e6fe01cce054c952d062f7a1b31729f1b57452df50215c2586c2318a0a25df9bb9d5b31d9741048ac802d3d54847dd6f31b71270238541ac32378568a601f5c0de30881cfe0ea76bbffb88b25f8f3ee58d452ac524fd4975f99dfaa8df1c2e8f970604ea2c3c14a973ea5770940eacf8a01e41e050db0bce91aa397388622da5660d16a3a34380d44ce0af5ea1f19988921e3ae4a71462ccf7207b75d39e6eeab7d11abcf6f73c6820081e80dace8dc69c82f566712e6060944366efca95ba63bed0b5d1ac88e6b8e15746fe7401e5bb7d2bf257ba06e0fb2c4bc469a31b267f0336a370ae78f300c4dd73abd52c30e8662cc4973ef24d446c4051716129591022c2081e296c854527fd06ff82b9394ca3ca76423840ffa183a1658a84bec5dd056d27f4c0472d1166084f5e5e6ffb87f7c5a6a6622ad71b1080fbf6102449184476e93fa07bf87e887ecaf25c98942116988fca7d85cc75481ac5c4b39fc65c45c2e587eba8a7a57bf219f38f9b1e3218f98fc55c4bfcbe7de6a743c366952406a649223b2e51a3e23207208e53232f95c0caac2d65261392959b33711b134c2f6b9c627cab26c1a4f296e90259430739a2a0d60c18dd734ef7ae3e83d60981a37983cd7276fb7f828942a0c5bcd8972be406d0bb5cb3ba18a523f486c89dd322726e225b590cb2f9dc06edd469b3bcccd96670421d80a5b587d9f083cf0e6c03e47547bfabf2f6912df1e9661022d7e616907734cc0825f16ac76fcd111367a16c2b9ebf58f95abb8dd41e188a842a57f1823c4ae30b34a291ab97393dd162f216c63dd435fcf077bfcb2192946dfa7a356c73f909ca3c6b1b5f5ee0f0bc1e506bd9734464770b543ec5e3c4088097549b0b02693647c9e440701d88f32910ed387b63368120b6a534e8b5751846dbf619da40de6b8df8f922f4a74d4e472c72009c46fc1dbda5f1902156dcdc2a5c01421afff7883cc2ee008a53af240a2e00485045028968941af1f0ea9d2a3e3735bef6dfb1111afb430641c6abf49e827cb9c00e5c8a662f216ce2fd0fb485407bcc89303f52b834451850bb01269acef666d21562b31410e61ad8b7c30fc46bcbed561948a89e1c6c1b1f78c467d67a9b8cac149b8715a23a97ab82ef85404f46e4f6f64833d55cc1999342b8be69ccd895f1196d35d5649ce047299d50bb46bf6a6cf945539b007251e2430067bd8a7360ef225f8f66e9668a9753407ce0913c944075d2ba6cc4e13836cc005b88ee4d83d9d694876f1cb9ab0b93c9afcf365876c6f35793b11968aa4936c8bb4e4c5c192d5a94a589a25dcdb2048dfd58d8be2099911fb509f65c8a28546f72ed1d0302e5172c264f8fa0ece290a328134fc658e11814bf6a0549193479b0fcb59e9b11e21013377a530bc9c46183769ef1057121605def8135051e7b036550320ad458aca62287c8eb436629075d2ade5f99bd627c3933a874c84aa800f26b56f82ca574208923f8048f0646ee0e867b8046f4f71b9584c60d84d088bb1b82615c527f1d7f3c4fe2f4ead01bd6a018726ea42cc84b81108be4cf02dd030d9289205a6aa0e63af96814305a6e3e13c8869ef28057e4f6870839b35f4151c3ad25e2dd800a9ae75075887ba0278df5b72c63cc1c175c89bcc8f4951caf86b41bc904a25662360d3924dfda255ea9de5c4c18192b8166c9616deeca51f5f8c1e941deff22527ccc112afa594c4d058d91662e4e6bcd11412fdb81d5d4c1b2a395d5f88924f1db470f8d55449a961185ae1b8a697662bb68e8a0858685503c3702e66870166a97d8d702e649eda11d8b030e07239311ccf1acdfae8aa82b3452069cc539559a901fab6174438e46fe9181db28ff0fcd412f78e83aafd5a5d57885dd6645be9ca5e658f0070ebd920afb8042e800e3b5492e25750014926576160a706a51f2a3c4beee3398ba89023c42587aa583b8d4e54121dbf4626e5d5b6ef1b33a7389fcc52e1ec97aa41c77230b519d7d2d829345801e7a3beae7704ac018fb2aa48c8c099fc143e70bd32c174b3eeb3cb7c54a0f87d2aa4a31c4a5eea53d36755483837196e662d93661b8d41b92cf9968a89ad26cb892ae65df3ddba86cba74267ddd8bba40b9918c4b6c931cd58e38b8181a193c514905adeb95c3687764c8f7894a4bd4c9ebf8f0f5d3a94af52fef5d8a614642a9041161f977b5ab192a16c9ec47fdc8aca37df8200ca46d487c6330a2b6d24364c0451d28a690bf7d4d6490844129bf6b0f4f2eadf8571127a920d1cc29a129077c7eaa7f9ac018016e544d6af7215dae48221ff99bbb58a4270d333b9cfaf2e1eada33c9a13c6100ff8c54c2aaec73cbd585ad70703f4c0e3c3d4cd3b93a6ea38fa863055f217275261ab5f0af6c3d205e17ad56968b464af868a257af43640001114bdf482fdc8cb91fa2d5f067ca82d0de156d83ffe8655de37d9673ebaf74217d98b23f1509a6efcc4354de82af80bc7f395c0bc8db1df6582c1500d62a44a10a4e22aea36af9c922ea606079c083916543a9a31c84a402f40af00df109df3944de4eb63164679028be9fa60fa14660b11349fda4a02bb987785156495e8734922ddb640b3ed5e0c9c8d5ffd056adf3df92f758a10d811698d8bc4e34f308576a429b743cc4f177721bbf42f6a9b4c567fccb17c840313a0e2c493652d25d522f1873e83901556bef77ccb4466db4de7ebc1363b6f28fbbd7e449e4756b6cd05a7f9d6604adb175edf1a4d4e734fdfb3695a8f558fa628e1ef0b73af30b4e88d61169f7c01f785dead6114fd14d1d13fc2d8631b07489e3318f5329eb21734f1951f80b6086088210a6619a46a17e90b24f594ea613ad7b00a06989ecdacf4bb0ead60c1d824daf835a38b5c48241dea7ad7e573721ee0f696d6488c36c0868b2d54bd303fa4415b15c36f07c100c580e308a83a842025896e741c564bec3d70ef42308aac164688428ae96cdcd79b84019d9b19c8cc7a7de33edc28d0a291c3483b6319b59bf250e0e0c2555894caa62a7a01a4963832bec8e840e36fb4577a210894f40c2795ecbe3682af236b72fb32569147abfc91869f8254029aa6db01fcd335ea1fec155a901d5e00eb49e8712477dcafa20675103c71d05a6b9e67309703056c3a68aa98a3556c6bce0395c994a782fc08cc252a09b7d2ad3fce4f8ddc287850d54f50db1cc45512aac43bed2c269b31eabbd8ce7f0c245c337b745435d8964acb2397b1599e3cace6d449c13621bcdba21a35ab2962fa469a4615d4e0d346503614b1383602f1b0c169dd0a3c27eeb10d4fbc5e449a89263034fa81d2d192cf1e0a1637dfce6b71b46f293a3d9804daff3d8dc4d428f011f6f60f3274f1e2ca25fefd23aa8267b9d7639326acee8347a8b070048a322666f0bb86548eba92c12245cbfad470bfb347322f26c855001572a4d9d7a23a36b1493528cf1b01546624a9b862f12682abbcb82824b2c34de81a08aa4ba27ebde87ad3fb8a1754eff7dab0d0a6962f2a77c11755bca5d94e9a2ae88e42cd34ef074127d4bf6f22c273df16f893b79472727723bda37f811c04c188c17d8ceb03eec87040e46382be2a5464cd29a083aba786b3320d4b8bc6120656683fd2e6e199ccea092c837259041337c7051b3a599a39438d3f99620474375229f5f29b9a070232e3b367114a0a88d471a6264caaf91febce8ee91ce5f9bcb79505ea47fb1f18026dfcd0f34ae7e38ba964ce0a53423f4710a41bc4cfb6cbce48a71b9adf2522ad6809ea540c70bd2d4a90a8ca7f65adc4322be008dd2f38803b64352f18db69801bc2ae09ce4b8738bba2ad78e5d2972f939cacde3fc24a0c80ff9ded3912b734a76215bf57dfc34b3f8d75db0891c6e1d501c78d17d9d291614875a8914e8b1b53e0b09f6053f63da6dceb3a572d3e7b450a16c606d8d744729c7029582cd51efcc7621e72f37b0919d7a96772669aab2fc967c722c741572d90cbc6ec3ad47195bd599c46a95d86d5579e6849154aba2edcdb9dd337a40054b75e2c1176d597135e0f50c041838ab01f08c01be9701d93225335164532d9dd5af60f80dfd537d9a16dbe97f9819362970595d8bebc7a741f09810e30758b018ff47d32eefe1677ec4f49995243715abdb5375a62f8353705d5980d7c77c03ff6c9f61983ff681cc804df2cc433d82d89de9f123792029e563cb35e05718ed4ce75ca6fb0b4275e919a51baa40e9fe9eb578459b41c78c5071bfa80a017f1130719e025b8a80c20aab714a7cb444f139a2e7cc64666f83d5f030e5e7f596bd7604b437408425297ab943cfbe140a43eb8187eb164811ea771206bfd62f505dfb38a44c6f784cd7f606b93a381c55463455374b679c0d15fd2d25f248c4d0b909f18a1ea56d0055711cc01b7009a0daf58a1fc779024ab342340525ac285a459919c7e536b81d40af6f429e473c40822a8cfe8d89a496d85a839cd670679d402e8b48db131bed555e62249282a3833ea0e425ecaf0a7e9ebfb5b8b40481a38ebe4e8598ab95cd3cc9d2c37367fced92ef70e27ba6c15185983774a2b256446ab95f815b15b24b2658e6ef4aa694bdabe25f5fa7fe443281494a224794ee760223f86506b79cd5b6d22d6a132d753786301bee8eae3966b5beb56db22b0baec9d3df6de29de45b1dc31d8ce9f2ffa8a5427978bf69e85fb25fdbcb9a65bb04d3272815253cc29bb2046e125466e15b0f7a20d1b18ab19b7ab6bdb17f729d028aaffcf218a77c30545845c355b9f102d50e30e16062d97039e8592317c97331df76341221d8a27bd480a45f54307a0d2b7669893302d4a4f4ae5a3d53a4f523f49e902de10330b841bb75e7b839d0a61b2391aae6e53fd4b47b1b829ee231d9434682a25bb743aa612e8c248ce9c8149080c132b856a2f90bd878200d7155fdb127486077c3809b76be6c818b79635751bbaea3ddad105b249cc95e30c99159a2543ca2ad608ba93c2aa314ccd59b1b45af88fc7ae1ce84edbcca1ce690a018b64c009556215a29e1e36f66a4048e7f30483a5c567becdcabd5c1fcb12e607a25c2ff55c464a6537b5771f4f279c3767087afd7f47219ae8eec6ced426354f5492faa80d22af0481e313efe0cb6985c615924e7d934248ec13ef3cbf903a37c490a4b644aba2a50c23c4d7cf87ee18485d576648f21928e9acb3e680efb8fcb60c44f28a20682e4b356fee12cb40a9f86cea3add8a487ab597193594a3079b028f1e2b49071ab7ab0a9b8387d2310888876b5b86e9c3b8ce1603e48066b1926a6b0b318a425cd2f9c8ed2b866bb91f94cad3352f4c0c6cb0572177f94228946e623e3b6ffadacef0f3916f8551302c51f89b8c768450752e1c8b3720c9e1ce6b98f6471bb73fa6ec40292a4cb4068b5ef6c48a88af7ad1f64cf08825974d41066dcb5cdf0aa814405749a426b3d57153caa779d0296b978dbf1d8575f333e7cf2e7ffdd01b8557a3940b41751f55961e7b1cdd86c06e410356486481e24972b26ab438ea0c21042da4ee0bae3f41b31e3052a17066f4752a537d7b58d30af20c516b8d0395f585dacec436d5636080b01b6e9b1d8947e52503ec667160616ac1534e96966cc6ba8d78dda8b2773eacdc98282598864a8385f8cfdd9d4c1602e371637e74965620110ff801b20f30cbc280b3a3f9890fed1b983b4fb7f0ef45682567220f77a2fc2567038772fdd8a054900e45eef51fa5ad196374fa4ddc8794c423ffd334ecbde1a6005701a009cb974fb3cc3e61b8bfdc07e3194534f4cec4037f76e64a66c3f0330f6e51d32e8d52519eb129eb6d5865a36f049adb9d09bf9bf67c690266f5308d558d54128a11954b49002ac00d5eaf9a8647303b487d421a6e00a29428ccd2cd34885279e54c76deaa4eee28a06c8f4297423817efb130a61ed0181c1d8a6123f5e567228c896944c8a0407f3157586c366613038235016a6a4274ee194adbd85c3831ac3850609b62feb61312614c65af76c40de5f03532827618b3b810104a9932f80d863294c06342f638aa898712dd3dd0ed74c18e8c5837a23c4066081a8a772136426d70d3f0d739b550baf92ab2143764a123c67e0847da8034d122ac01b0176402e8fc0ba6b14e14ea0ca747bd32fc7cf8edef05f43a706cc0080f5bd0957e22f139913cc2aaf51ffad84c02e16430f40021c54b9c54b847951d6ebb621fc1068ea668cf140100acaf8b68da0f2d4bddece5145d131b6f9e95dcd6691733559f4fa68397ff8f5d7459452f340aecdbb44c72e2267eaf2907a939714a7f1ee3274db1a2874958d9abe0529ac0c52ac2a9c0e1b3056ca3122f1fafc4d83254cb4de42c48691acf26007062697b3662afd630e62408c5d42b4010e8e9464a83e04b4a4353b873e6c123ba47154ed69860d67887a8c066a3867366985cb71c7902f736037266f655180a069ccac678119685f590990cec1bb95aa1b3f548cceaf43b043d71c211d84299f14fb02f503116bca4b8ec1288c1a21c42cf96a6d651d08c9d894460d3f2b3d3e98bf5de86c9c9d9ece137fb742e4f32d0d308b5438b87df6a244c0727ea12c338543570daa9025da7aa48b7d6fa536fe9c9a73d2faa12899b1c073de79aba4329448dd0ced5d20f0cd5ba90bf3ad9d95b8057aa1300ac5a5fd8814dc69f812495ed5618399cabee496173e16a8bccec4e04a5d32292c70d789241ac2163858eb3472402dec74de19dc37a9bd32c403d77ca80cd0686cac09d6a737d9a1195ea71b02f9284bda6bd14561f825aba11a8be7bae9b9b3bfe701f812efaad2a8ed069bb75a47d99211d89fa53e43a35b1333107692dd34ae8363841d2569eec56c586a584c8be5f6531e318a233ae491ec2a4d9b54ce1924a15a4dd74aa41352f1eb58d8e727f1f81eb4520fbec5be6d15239cbbee016b28bcb16212413fb501b46958a9c2872a53951a3d0516c119a0f06b614c55a9953cd6361048564b9c0807b9e452a9641036318b27a13eedd24d44e70569c82a82c327b7d714cc0fdf0e564e0543fd5e3296745851b5c0a13dab38c15f23511e4d84a93e10f7bf7c17dadf9812e5fcdd15adcba1b583a7ccddef4759e6eb37429030fda8c85f04fa0af57926b62c2d1abcccb55c378c6ee79f68c460dc7ce6a139a0f2d7290235d358be8c28ce4c4224a9ad92dad0e04700484852ab1d70092ec47687353f9a7aa1bb2aa6b4143a454b9a363dfbca1bc86c6ef317193c84e3470a29821eab6ef30964cab33399b49b1bdc42aef59f4e308047a9a54fee04fad0ca1b7d265d52d2cd468a722fb9eb0da47f11427ec7ede46a274c8a87db9e1571a0e3a8ab67bd24aad9b754df50583d4b0eb545a7afb1e651ab4ed6eba7382cf9576946d74f13e0d5599cc3d07763e6520b849656e756a029cecc23d0068d16ee2c604ecb883ac2a6bc635ffea32652e7cdf7e407974677137f0dbf4c5c7bd9711e8ade55af032d58247a23a9d5166acfc5ed9728f997acc51f26a493ccfaa124762a987111990ef6b1e52c9cab9ba7db744c5f31c99a2b8cd0fea0014afeeda6e396adf3439f12e7d3f031a3c9e0c90961b149a8a076302f56c2476736196c34064816d2fbf539012e905a71dc29a8cdf95b855167d225237f509d564d4597bb85fbe8073a0925dc63f3629b92d83ab11e9a39b500e023e0a67a053442e4e58df7000ee6f6b0a455076d3ae093611768a155354e196b4e65d5ad94e1ca2a946121304e145e983a780130e7ee8d2fa8b830cf0bb4cf8a9eac84c5024081ad5a910e40e7f5608531b692f97617666f7e9d21fd448b4cd15479bd34127dc4f4e89181ef806fb79ad8940410a233f0e3293fd6ca51c77b9dab5eeecfb08363927e28e728ce387ea2d9743335a3b83e36db7f4a62f02b89a6aef38cebbc3364302212d43c2455f887946150f87be4545ce9595d08da1e2f7e8b5c4d96bdb765ad65c92f61b847302cd1d7feaa0f97f01dca8db15f5399664f708b13849265389da9874e87f8f6c66404c1d9a302a1ab1348ca43973642af6dea463c00bdb6360c10c74c931728e225a81181c655be6278a97e8b6da9f7418803e2591da6193bc4f38f89e35fe0c65c7a74291583c44c368a27681bca8237ad98013b9c47a6b7b7aad1eaf5da90b88a9c11426b2fb37c128ec1a61e2307a300479a30ac8f3828b4df2690ab18164f3d3ce0279a08514e09d21fb2c205f676d99f36abf3fa85fc1d910115b3813914ca8f2e9a04e0725c71afa5294450b5dbfc226552e65d973342c7b1e21d5e584088e02ac1cd3c3e7d619477a468279c2d0bb20e19fe063f70f93ad3eb7f500b09545bbd8ab91e06b439615c5d612e77290453add0ab0de543d0d9c0304dd21476cf6cc9700566ccc212ea3c29b617061c333f3da36acc08d666b80ce38d43cc1809010b65f4f97c4598d6dd083d120927602ede132bca2be3cf653000be551300f4bbcf07d3049ca18915154e28fea32530c1bba04477132cb0c2a301e0f94790b0c6c5cd45be1a44c36ac9258985fa974ca55440d8d00765082402bc7f5df219b10694f496f3f3979395c7fbaefbce8ea108a3eb424d21093401e6680ba96a886bc0401891306962f765009ad53549a7694411f0dac34ed388b5c7412ec7020a96c617f99807bc3c296e1fbc37bb55c6ef649210058202aee02e8e90ba83f75ad0b097868a26350e4255363c0f2330aeb8a243541b082a9d53628c8e0e2b1bf4f747fccf1176d50120c7d027e55a28f9b372ecf72b64da0023c86e29ed7dde0a8388e10aacca70834073e7e9951dd529d34bcadf0e81336856c68c404e9b6023d3efd5c728728a6cff92e1dbdc556e09342605f67bc321019c9429edd4006c0e3cd4b458670af85811cb4c6d4c7b151b6953d5d337bd5249ecae45d04f6b626b28eacc713fbbcfe9fa827a2ceef70e31491e354b260677ac6fa59b01f932b4afb16868ca5662986f37b392668b94006e32453593ae6096203f3241ffed0a10a4b44a21dbf770c443d04a2486e48792805f750ad59dd71cfbd819e8b420ea5a5138ec4acf3b46e9e0d55b917a926fc44c2c5b41c8836b9a9eafc0edb41ded07aa0970a256a7eac1b866755c3cb2f0d51a7ac247dacfada96956ca816b6c26b73ac225bddbf985608a51a38a50511f7ca4165dff11e34548f9a524db51884588dfb68314ad3621b137b0adb4d2071c0b61fa71ae57e0f411e7c19dd7c5599ac2fab14c8244b7ffd4b58f8ec4ee83af8205f624d931a88555abe3cf8daf4e4a5a82952f4f46cfc8928869cd304a0489823fa585b84ea7fcc4a8d40e120809aeea87ce29e96cd81370c434024ca0abb8e3405a96ab88b20c3958b206cd953216e7a6ecc54a5aaac668186b226b233785b49aa08e322202e785e0df2e0f232dfea82662ffae708c9532f83a8d83e946640178a0d701e42ec054816340291d68fd691e0e009fb7481e0a5188b157f62a1ecd38786ed6b1dabfaa192a4708251ca55766af9b64e2e87a098b72c63e864761a745588db2bc2daa4014e3337c8e7f40c2de3a49aabb1a7b9cc3ddde9a2500bd742421237adcfc6cf6d1f3fce51dfd09969d7ca3df4e0eafcd98d07775479a5f572d08d8da8d03f6b91af9b10c80cbc51a5bca51e2f7cfd1c2fc3d0f6f9291d8c294a874054a8f742aad2addd2a653bd42906e34b53c3fa29b134d6d6395d4a21070e68c75b1afddb05c6f583d67dceb842c965600406655c0c67e9fbc7f7362849e97722bd22c24f4bf1d73c53ed984188dcb19c84a4e07d7022472759d77c65ab7f5b8e379edceb04ea7fedefd70aa0a7a409255ad6ddc4709faf0ed41048aa85233500d0808ef3e3a8e5a6b60de44649590368bb0470353cdb0e0ab8c1fd1629e66e8dfe251731cdb11d24fe0e8c5d78ebdc2d6df7ef7688ccba38e9e00344dd59a5cab4a220882018a85930c56bb045ed7222cfc92ecd8ba5711caf4ee83c04a7b33cf6a358898a66694c1ad1279f716e33d3168f4581b3d030b9d17e6d08fd7613946a14b68ac9c509c3ce8fce1fbe38e6b000c9f9c240d7a9c075d294cee2ddf70bf89c0cc7a0e220ba0eb008b11e4f6cdf6af1f27ba9ba2f7917c654b36e215c107640b90c84f00520f77bd0e413f2aaf1759ac0783519f6371ed9288f39b85bd8a03e1d23082e07d2330d1fcde90b891860df2693e542c380f7bbe35faf06cb1c174df09b146e53daeb7e6f52fdbbd5950557f2d716c173c9ec9a8646dffb9c65a33c340a1e5ec75346f9ff666720936a21eb215cd86db2d48a5cd7caaaaa0e7ba09d62b62a2c3912f50ef0e6cc6ebd2fe1f22c66c237e9e26cf31da9c27ae60324c02466023673554599df99b5d073b5fc1cc618243a338d7141f168e1a015a2fd49139b067bab009b1f837925cfb6dda80f7350d3fe2fb0b8e7625e88ce8856e9960aa5ee8d88f59229e1b6c46dfc6ae64451e2df77f7cb5a482d879237b656eb23bc3e4794b95777ed7ce29480160f4f494a0bee028357d19c9be2eea33ab02e2980a8ea20445f13502501f0c83a2b08a0f44cb44cd7779f2b610f2a42ba412f7849340089ef789a340cb42f274f611c38545d9b3e7aaac52cde09e9d6d48d00b3888a3d271dafd9680d76b47e9c0e796f594f5624a4863b7ef1c20500537b9d679460a6a8ae0b030573620e8665a6a97116c5149bd0307d9f4fed8f3bb3306ceb32dec9badb9fa545e2316e43514f02a490ebfd1fc6756ab0d755e1ed56696861e4d17d479ebbd1a89f96ad1cc817bebf78f044ce842f4caf085730cb191594f7a2252683c96c2626d31a515ac8f9f92117c7dbdc1858c55cf66b0b37e42ad1e39070f202b02f1489f9d0cdd84dbfeb8c7c42b4902d16dc3459d92e8d13722af0b357e19e41bbb23e2b7b10d568fc1a30cf865e0d2f1997682f7178e7fe3da644f70fd2f657ce348279b33e707383164c64d44410bb890ed6920fa8cf8f54bd828444b06072b87f728c42b21778883a9004d1d6df3f244c0ed3bda973e6504e12df12c3421cb6fa9ffffd920d7c1479c0aa4639dee985a26100b5be9fe3b52c122b1015e0aefafc945d56000ecf3e5a1694b118708ee019b22960584d486e8891717be5e15f62270b702699a8cd91ed9829aab76dc5929cf477cb795ccd338d21d0121376edc865514fa4aab6fc30c7ce8d37d5f23106494b453039b4898c24bd4918cf9f4e246d2bb621a0ad7ec898ca52f163fb93085a6f36a29f946188396f416fb83d861847c79862e719d65c6adce73f064a2ad74084e3c2a85aba21eb3fddb3eb76ee917ece91bce0901bdfed910d0ea8d82a6aedd668af7a2c474b086afb487a01952f00b313e790baeee4250d25247709a3e8e29fd2ea4f63b8f5a60d459082d64f2ae20c9d81b4ac5a5d2460cee0251b0099773dcaaffd672f29236f311f70024531420749eb03b5078a38b338908bed67d00bca3f62752f9b575fce093aa17c77b8578af8868014e1e0a53df7782c46e00eea4a8c3a2f331a7dd8a1c3a708d435376cc3a56d666a51109013fc6c33c276760b6de59a723b1e7dfa614a29a3486af0704edb26c1f0b97f80a90321aee5b9434f6051ddcd661538d17d579ccd9e2c09caadda5512bc9bb2866569676bd8e7324b60c4a654746a25a6195ec5d4a4c853b58bde21ed3f928c300a271bc95fb6f947547a867c2e98b747e440fbb80065c2076d3a63818f3d194250d07b7713807152fc74729dc3f1b3e0de6430902a56646cdd6c84f889861c56285d53b5ebafce2f1e00c60f0f7e178bc141d629b23ab79c688932496cd4733dde55bc9d24d90513dd54960b6501f829ada44ced6e74f211d46a987f15f780e5c85a41c4569aeddc90ac03f46b23622a59a60c7d0f9bfed64bc8aaa9b1f9df59bdeeb2764dd5f645b9360730a15a16a6e015f84255edebabaad2d9761c68e5b9a0a93d178a56fe903ae9c131385a2137accc62b468a19f8f3de8cb07e98859fe5e6fe1536b413211be479788294b2a8e4debe297dd06619774b88f0857172d8100a42c3d62ca51ba30fff756951a58ec0cb8d50e715b5fca842788b28372debccc34df6103b6a14da2df95c22c7a29b53f7a529bd877e27771721b31e8930645b13e0df5aef2eac691913c883580902538b938557a9aa352b5a5be985326ad43cbcad6ea54fb0b961cf5c58ea47088c558450147a08719f5da3273eb035ad48227f40c2870c030670833a27ae98fecd8da65c9654ce7d3db602e292d4c1613b834db344e64f2b7f5b120bb498bbbff9f5db70615190acadccc577349a935df0080fd51ae6434dfbd3a094accd1a3ca9f7a6ad9181be69dd5ac069b8dec129d21ef1ed197666ab224917882d933c17bdc9cc5fcce8a1143fb0aa71328b316da1abc62bcd07a54ddc22936795f96f92e0344dddf8e0e11b5fef8aae9885208a8ef6d34ff1f6e488a102e48b8d072b2b35dc239bd8a5cd9d43b8fcadcd5374e64b63292041c1a524c43a2f981524cd430b2828c7311b983aa500ef3a1eeda615ad319b94f9255dd9de96eb84e96de25657332c0703641df5f6d4a5997bab51750916ab472d09b352f31c9f179e840c04d248460a39c47aa71559fe4c4b056956b9c04e7e706b5247f742ef7428021aa922993c176a161a9e3dd3ef9cd770c0e651d4a224c8eef221e2984d5c4dbcd1edbbfb429edcfc27acdf65304b5427c7e901b60be1a99a540f26af464bb886247d7ca2f3f047380010b29cb00e0f3a952583ea2ba453954852001706377f9a7e2439bf552a944bf4a60d66ae6a1125c985a8b5a779ca3639b8559197497ca04d872161a0c3a16678cf6b7f1090eec6716fd1e25bd4080ffa763bf8571b0d862e4301b2c462a758d482fc352dee107381123cced23bccc43f82b079fcb776dd404ad08e16213c5552d5e8515aca3ce5670e25217e22d7b6cfb0ad46c441334cc19ae1ce43e63ebd5c5e93c3c0f29f44eda6527b4f05946e209bf888691d2898fed8b95740b077f389ccf2e569b9bd627cc9c817ce766e29ebdd924babd8d9ca1610926b4d055650bf7615bfcefcfa7b4df7a36899d0de1fe13abe7a7c2aa3280f476ea844a44cd70caee8991523a8a72920d563cf5556c91b1c2a9e5bee684cc9ee9fced3af3d0b15a5f5b4956a2f3140f6b31d218d770fe716221ea70e7ce764537ca9074e0836e80e77a6d2c30c882122155b0150355ddf86a4ffdda6d55f638e3e148320e229a0846ab39962413540a7be5363920c150044ea986653d2026db7677a491cf8803c714109512844d708bcc7e8a81fd1c8a5c5dc80d8a7ddd6232f4977810305cbb98b2cbf108186dc29ce5e221a364877f9140803d4aed73b3c8ab18c1d521fc72b41e7b05e68ad37407640285493d72707e1d2d91c0e0e201137ab13ab62caf9874b3954aaa2959c71edab18c26950697a166cd4040e06c4a70c5a30dcd1a803057c91117b090a91ce63ebce6944862f53c571864ae63a76f477d47286d2d02b05fb1d370883062d8c7ccce76c0260a91c4c6004e05b99ede6ff46b91e5ce95111cacd34fefed3830cdfe493bd9b6c29f7962949199a0cad0c680c36f4735f410e4ceeaff62f61b62cffca2cc81094a39594dfde7e2814e262b01eb574980539a22143e7a14b2a59ad424c57671550966ee05e53c1dd7e05943162892630515af906b3c7bf98940f71dbe6e9c8be09954f0179ac7cca87c0932da98c57ac424c57e6c074e56d4b0165be18964f79164c821ea5d0a77ce8b9319ad4225f58b23f070677d3230fcb8b9d8fef2dcc496eedbda150cbff876d4216ec36f68b51799667c1322caff23d4a5c08f496d7b82814fa0f7b0b7ff6fdf52ce017f3790dfe2c2ce6a2cf621eba14fa10769b978b5c3b8186c41539fbdc0d11367fde430fc25c089c268f025a1807932fd67bd1c2fc245d58bcf4014160bd10d8250b7352f6b2300bb3b0cfc96fd2c6fcece55dd7a160295dbcd07729c4d2c5fd194392459aeb6b9e0da26cb111ab137005fcc00f1fc8a0e40165bed372312356b9be078a56d45640ee2605ec4c1bd859b04385ba157429c8fe1d12b2862e45a303d262a1b8221703c58a8598ae4c7d5caa43fb71452e964d4c3dea776e8c2188b05cccc254c059e262302ed661ad292aa02cb5972c08029b2bb61daa805dca5e4ee2b8588c8b652fcbd9e0624e92b22381e462d92bb6d245e5bba482658c28dd1817a32728949e41d35aa673be67999c946aa028c4fcb8a4b8df9fa0e2882f7b49c5116396541cc1832fc336a0644e166d9626dcfb58bd59633a7c517232de7addf1890aca0c448fc41b1af0aefbbace7e113273126952ca6aa647520939080224cfd40c75c960cc1d25e4e0892cce27f2ec6c77a047530a2363e4f91ae89196e713d1239a3b7b39c824fcf0b0065a54ebd3f918e851f6f37f0022671f44d715e1a2f91dfe0a06018417ae9d45e4f039d340103d6afbd3cec620c8728631607ff07e620774383d8c0347036ed0205b4482f4ecd1f526c50c998bf5b35ae7fc0dcb0ee553df7cdb5ebefcedb9b951fa966e93522bc58a7380218e0e8fe070a401bdc30f3dc281811ee190ad1a1c7a343f44bb8a14e420cb4b69116a789d5914382947fdeea42b3def31e7a8956d5ce7fe4224a95d5244e54b4aa66f854cff429165632149329e7616afde220b5906f6b18bc63dc1c82d4f5f860ccfcdefbc56777777afa0078ac853fb0c74fc4dd4e0346dce69670d8c8dc08f9fc39a6b9aa6bdcfc7785a1ddcba719de7ce39d31151441042cc970ce05ca2c272f2854c56fee43f1f7a59a302251a8b3732edbc68bd399f8687c54b33c72ffacf76b90c2f663f71bbb2241577920ea9ab7054be6d3a1c33ff9009284487f43f1f58840a3859c0e93772e3b982653aa4447448fd65fa2511a0285d59a60899a972d2ab90d3abeff4ea4a52afb2b737f28e7e95cf5454546e7027e0b4abab223dafc7a69933cf715fc11d8dbfcef78bf8ebe01c3ece7f312d8fbf8796c79883bf18198fbf07198fb110377ad4cf54be822a2f4fd304468361f2f4adbd570cf56fa03b5f59d6c13ebaaa5794b66b0929924a4891cc33fbce73190866df49daa6475996e1b6e9e076d16e76dfe39caff9e2cc5767beb2f9f26ad7fe1df53defdd7d058b3684c5ab82c5d009169f83c5b083c51bd47136dbebe6cba4c66b9a7a54256cba44c1b04cab9adbdc3adad5493aa4369df1a5836d33fa48dc21671c3cbe776400ad14f56370762067df93a6432afa6ad40fcacc699e8e6abddf76edfe7923cf39678da7fe356e57276997122d2f3608ce25b01ec978b1f184cd5787348bf3f55a40f670782fa5e7799fa347f3bd6f40e7bdd0e3bce779b57ef65000fcad3b0e00006ac880bbed2bd8f92c9b9ddaf98a9bc0997a3a3c138fc7e3f9ccd3e1c1f31291e57bb1942e9973ef01f5ed7707865aba908cff1afe323d4a32de7df4d1471f1d8b21ab839be5f6d169c0fbb1c175d5d821b539b819de41c673dc9cddf4bae92ad3f7a88f0cda2157c6fbe84868bba4ed722fc9f41d8b0d866703f5a1ea90c672b51874982fe1803ebacb5bf467d46417425f5c0014d79df05787f4e72b8bfeea579257bb60b1a62fa305bc196f5c8f501fe0092dea44e68a25fb077f71d2e449e703d12393e9029a3c2518797a8f49c3020ae3ca2359fea08db7b19558dab45e4878e2a6e6d4013bbddba7113470e5d192dc51988014b56cd5b466496bd62c92fbeb8dcd221ddeace14904d4728627abc37e51c672102e923023bc324a29adb556add2aa25608eb726a6473f6000071c1df6c4399eb8261b2ec496bc84748def70861f344083df1cb951e35292cd1b6e889943fa822bce58f619b3ef3fc1e8d1c42d1d5a1bfad07621d8761c8edba48454b6b686385ffda2e70717f5cb1f9c24d34538898616f50309f99849855aded49801bcd1614ffc321df634e1223a24c19d637bc1c91a62c8857261819a9cec173badd652f28576d20409d91f947cc940a8aee1d4218d7ca1dfa3daa1c5c14d0202f26d6f701f74f2da557b161b83ab3da7a13226b291839a36bc57c6c424795ca05642a4cb846955ae0107c583ecbf71e3387adec6c436763626b6d17b4d1bdecba302c79d681c1307354319f4128451345387fe9c16642817797f36725a204719161c54e78095a168a60dce4cc6c49c9fa720c8890c0bd00da60824448620948358590e403bc8fef603824e2e1aa58b4aba98664c58adfae274e2a6bcca0eb9397a69fc3fe8040a853e1ffc699f0fe14f7b590acd08859e9b5d55013f2d25e53faffd07f42a2ff3f994ef5192d99b84f08cb9c8e74decf39f0f36e2fbcf83f0fce021d2451dc8f3657c8b9b8ca0d8f98206d8a01037320acaa780b244ef4c9b4027d029f43d62521ef4f341a00f6199d08366bc0ce853525440593a818dea549fb2673cccd28c4f016549a54b0141af028666e8bd3e3569620676938bfc04525d95949799f1343ef4dfa760199507bdf5a701f6d89d2fde04488f26279a2041b168724418213ca45f066ec1bd72916de2b2fcca7f1f92f162af780ce13103cb0c896979954f791998878a8a0a36a263df82dbe5226fa9e021fdfd6a57175e5e007d3674762435296213a60761239cf529d8532eb22fa035d9df32714178087d95e8a92ef883bc7065a994f22a2f3aab09d3100ed0e7e8f7534f07ee29e500f74d4193aac5dd7a051a41aaacc2dcecba0e28f6c81ded6f9059fb1e1988dc5403e95bef7b78f800d346f7141469e8801bcd36763804cde236f6363aa9d3016353756036b8204dfb4e4b033b35da53ad766a3a6c758e746aa8a7437310aa43079db4f00234f16182ea1016fa4c4c5f46b13964824d4e344b5c8b450d88d37efbd4be7d4bab9c0af8bc3f0848933a60b4c8fff3e90eac468b384d45c81b4e093482541d2d819d94303465bea93b2aa09d12a8a8504da35f323942d6607282e917038073497e3e1f8a3ba6c66206c4d431d1514381fe039e6c0944513443dd1dda49c6f284794b3a73c917cf06da89793d74898e54e5f3c50e4cdeee334f87fd127c89f301673eaf52027953c04ecc455305343942d6e0ff014d4c6042029354124c58d0b259fc6edab406770ab962f6b2e3a5913f0fca5e2f2dcbfe2629277d5e5b692a6dc4110aad7c8ed680cc6827cd87cd3a4452368b11418a9c8b5179d0c77cfff996cf4c497999d083be0f812b32a1070d89f97ccaf360f9ef79b4bccacb781e1fcc83e5bf4ff989795079d0ffa0f2202c332426e53f2fd3f232f00fdf7fb00ccba780c096ff802cdd52ff03339620b2a8bd10a15cbf03ae809d1be926a80edd24d5f920c26bf4ff80b839a80fc8f38203c4e3e2b54ed13a20c708a7c55971541c2938453851705c39a882cb22a7a51d215d4cd2258b653017692298a2257a948521437f0d9503ed04a3a89932e508912e9c1aece006210735332c32ef85851c652d90618f3294b764dae000c95a2047591064e89fb13afc7c7067ccb220c85136d2e03e0fb2b0e205599000c685929cc1e578df0e9fef41963e0ffae61ce120e9d0c51955d9392d196cdbb6b50d725bb6755b3bf4287d1ef4319f07619921fd32dffce06ffee765a9718ccaa77c0a96f9a60afe26de21d4a394a3432067e4a8382c10679c1a0d2ee58c1c193c2ebc578d8ce571e1bd5cd386774c1e1793d42941e662756e3a57e8c03a61481b5898622c21fb73d2b3bdcd68c4cfb533e58bf79d273ab10eac13ebc03a5d74bec18ea675549aed5460b3a3a0a0a0bc94f7de1194920282402232207e769e1291753a60c7c39d9574e970a6b2381b4718f8733087b7117bfe8262e70b931f9ecf4010910e554fc897e9b99e07b7517bfa0d0a51c322716707265fba480d8fe5b53aa08881dcf92caba227c5ce282fe5687bb188dc32b951b0f881dc58ccb65109711be7e4a4c97c8f03357247f374749ebba0cc9c9f37cbdd1b6766b1032340eedc4e0ca1e4aef362e7ee5d8eb2efbeca912475ba97dd9f4c53eec09cd449117d9fd2067da76f82c54e173c2c7662d9e9773ae3c9a5d9034e0ce4ae91bb410ed4c83be6dbdafd0567e6646b9d0e4be93241b10648b37dd009a4ea11e809101233043774b6df353d6330570b60fe1aa9a66534758f6c269ada66b623b6d326820d956da6147808f0e549234f2c5a3f65f8d6d8dcd66dd1cfd11a8c6ad663f2a4e0f4516253a46506b7e9119630b6bf86acb3584e4279146c6fab6d6acac46d9a1990db2f4ecda6356a7b70e9db990e51341b276d26771bad5bd269d1c1bca3c2b4e1b113fdd9bda48bd8bd4e4e7cceb79e93c33c268f69d5bd3653f742c143c4eed5bd583d121d56a4471d4edb35dd0fde6a6986b5305030ad4da0749f5cd4a810ed429f328f1179ca1e840857f48ce3aa477548fdee2cfb2ccb40b66b1a8b7675a5b36b7ad4b0c6428e7c046e6a1b27f9a9bd70ea62da40d25ef4c85d1d8e408e1c0b196a2f76c2682d868506860686d923ed0b196a2f179d5822d0606ea3c5a4cb8d74e1b21bdced3979b5d8115c5024676f41baea70fe75d2c9dba7ab1bad6eb9676f79d65ab51bed248bda4df68c1d7a3d4cdcd921dcec45aaf264cd667a36783aa0e4ec399bd94f07faf56fa0587668ed6b5f3bfbd9f5e43cefc60d8f66c3c9ed19bd2c888f54e52860c684bb617aa2a8fe21437ad083225d248b34357d74485153fe0ed245dd4e533bb8224df1304b3ebaa804b561335d80a180b2a4c5e48bac7d67e8cc843109a30bb09920e3d823d1835c9a1e89b755a4a545f36bcc4043023c488f2ae8bdc6baae8d4b986a4f2cf6d173509d093b3b1da7b63e47a9a7a3f327a0d9ad2478163d2d965941fd377a5469bc8b29f2f7716637b8f31b6ce2e451c0932d9d3c913b059e502fdcfb62a7b2c7e4713909e53d286bbaad0a724f1ee5458f09885a67f727a0cc901810e8654e5e66489db57ba0f27c939d1add5e966464b00cca9fe08f7b599239f98f4bf518b71eac0c8b39b41f4420789845e4f9b254410fc8fad3e43f029ee72fe0a2d01448551dda22f2650a414e11d3acb85fd092889a0ded2e5e4e4299428afcad80a1300145c917b27f2fe119518efce056dcb186f9a0611e221ee86179c6cfcc1d506650d7988e34957228b0dc660afad4d3619fd3a436bd532dadcef229bc65f301717dd357902e0d334d980e438a2102221d76db224da0fc68335aad8b6cbd615e764e4aedddbba161da1d2fcd0d62bfbd93c58665dbfb7b14d25996c89d597496b3e48b97ab164fb882e38182a63afc4afe5aac47157f1640f993afff41f9132c83351bdca354b13db11c7c024a29da300a28a52806f3c2ed1b847045cfe86939890669d17d392df2226243531e17a5197df48cd333c2e0ca92785f5be4ee91f58c2eeaa2491e222df2b71967e680b415b2a1a91edd161d294d531a2c21cb40d220f265bea6d9682f27c9cee87d794cddd62302cf08e4c804726451204d9e1634ccf67ddd98671c2f4debb25aab1b44ba98e88d74b9329036fc6990fd8b74a94e4997a443d21dc920772f60296ee35e38cc6d5cee9a30f4e45a09912e3e842962b943e14350790d78304a178dc8d53eafcf928f924f914febc3922e9f9547e519dbbb61942f3d5a215c7133f5df22fd2292a1b084c964baafed89ec2f6e34d9da6c42b26f349b6af4988e6c94255d7cdb4c37cc548f4983c2097216529b821cd5f7d7b69013c64fd78aab6521bbc7e441a536d327f6b9c9fe9fd7674987fe8982b4e13f85ecff51f2697d8a7c58d2e573a4fd34613e51c8cf155620f904c137d3667add204d9aa145b30891043c919d265fd33d5dd44d65ffcea26d5c0a6ea362dba6ba14dca66d268c9bdcc6490e73294c927bd1366e9a30ee32d5489728a48bbf7b3149edc584b96bc23815d286179324a7931c0848706711b9378bceaace922f9d4d6a27eff6d5698a8e9b2da265f6abe78485c2bab4a87942eb8a2894b82265d5eede4144264e6bc199abf63d72ad5ed5c099339af24b53fe1fdec829adc38ec27eea10087e7343386e88fdf59ab4a551cf111e937cb1218fc9e3a9f11c497984c85195a90eb26baf89359b4b05f97282bc85bc5690370bf2be260c3d0db9c9aee28225723556b5d633aaba86dba2422c758242716d68ea9a40931b7af221f4a462bb57f530e119bbd78469d8b4c1c4247957f0c6ae16cec4245d23dc56c3fc7e21af112e2c3be952a161970bcefaba2dba1713a314dd977431c9e27d717e6e9b693b716c11cf8a488fb6f714e951f73c4e1e85c783de09e9a1c2df1373d2c9bbc748764f14d9df0345488b4c53577892b832cbd209fe7600fd178392b29ef8f5b5b7b347b630201e221e96a78867f4c80c9a796b13498b05816d40b4970fec5905e172d873e2608f0908d72621492774e504ca8b5448f6f7989c74823793749169339936934a900edd53d3e1910e3793933c4260e0b9b6bef46cd0f2b451dc8ae948531d5ad615351b1bcdc66633cd097a542e5a795a15f41841f110c12384ecef8942d6e07f5f4ef248315d5e54715fb9cba2a7e5f13e1e407ff23e7c1e85a63edf0f023d63aab1e829a2b17ab483bec50d66b5621cb97a953b88c832fdc9f90ddcd1b9ef7353ce391b8bfd9cdf517f66b147ce36503422674f45db52eb88fdd466cfaa43ef56163710284b1f5096e8e8a4132c3324e651b04c2f31c3852a5aa6d2c9fb5395932c5d65ef910847e3a10171d81f5c8fca3376687d704759a345902db84c25591aa2bd88c37a4c4eda8e90227f244c3f92e8789bc933b9e9d1fcce9a8c91dd64726312eb60ddcb45a19bbd8aa7437b95ef240128275b42094b28384a280e9b30f3fd51c013d0c226ccc4ce9a367edce919e5cb97fd3d2acf133d7a5d674d181f5f4b50406d498b5e9a126d9c301a14ec8ce9e46d0f448f89f34514509045cf08de259a0d91eb6551b3d194344da5668a00326401e4797148c2dcd6b4e1b334b1488496eb5b7c5f75090f6e7fbfd4012537beb01d5cf1beb2bcd9735fc77df29bded19a70c5ee754d63dc99bead09631286b4e1ef3f6c90dd8718d96f2bfb9fe021a267f48cdd1d43abecacbc997a247a46713349233a88657f0f8d67b5cdf448cbfedd6b499366497ac63c3bd913e539599cb909142c1382d20956699974a3200c1ed76a85035528252565a5ead1a7431cc8918a0cfd6508fc6256527e05739dbb5a431c6d9c027e1f15f0db38cfbe22d2236a62120abd0dc36c54c5a4c4a8a83c17029de5add0b36067d5cf542b2cd85b2b219cad32d60acec64ce5abfa1c6b5bd16dc5f36236aa3855e76b6865ebaca89c948da36a548d2a94d1f3466ff4c6adb3f25d5a09c1268cd592fd4fea8bc4161591cb133604bd2b55c703c52eab80dcca451c8b6b71359c6b8653026745f6e7a8903570362a49b23f7705f7cafeab9ae59e1c50f3b162ad3aadb1086ba51a57aad56ab552ad56abd149dc6a35aec6d5b8e2a658b152b815b7f2b8505ac6ab5fbeccee4097127b2a05b3c9ebeed9d8a5dc29499e14b597bdaba9e066484892cd66b2937cc95eebec47eecc644d50d2a57f48517ff7b882dc499c78e8d28cb908f4f209ae98992c6ace39e7ccb22c43657f6aca3c3365266ed46ec69696af65053cd952cbafb01831847e8f12cb7b6712e3e66359595909ddf4680631e4c846a856cde3a14b2d2d9ced74be059499a596ce245f58b2675ef62de02c6d33327ec67fa04ccbafc84c4f33402a032cc197282541f66f01bf9896fffe6bc15f0fb2745de4dfa3d4a3642374df6568f2eea159852444a1244b2d397a05fc625664fccaf728b180df8765be67f91e254e06e82e193f03bb4b06feea7b4cc67fe01733e3bf9f81dde6c35f7d19d86fa8a97eff6187c5ba3a04113687debf4bc1e214b398bde16eec4d68bb7152168bddc46e6237a1582c16db648c9d09caf35d776a53a8d650a8d6975e28b4857e4392b74f01539e089b559ee3e9d842cfa1b973e8b7105649e93e707e27299d0c2fa9a474a93339c9aa80ec8dbdb137f626e5fb2e7d58c688920cdc2657a6a14d3daa220dd99f53ed0a284b2cb304023f6dcafe28e010f404cc288a44f6ef98ba53874a8d2b349041f6ef929035742a1b3433f4a813b20a75264e5b41c5ba13cb0d0b384b9de9a63399983ad30a0b0b4bcc499da933c5629d29d6995cd099ba13cb778965a53375a6ee31a5690819db838cd7837498a369e7752f3fc471dc8b34487ed3a2f92d12459d39a02c65e3d534adf31ed8bdcf9256ab0ef2ac43f2fcea84ac61be8b31bb42e16390a45a5b26c81e384b60139de7c0932d75b8cfd11cb04b1df8c570befb8ee39df9c5f8cbbfa6be037e31de77ef61877d8e3958fafcc94397b8e77045a590b82cb48b4ba7a6699af69b2439cb45f3e75bf93245707acbbdeb3a74d734ed33699590c518d959218edf38de38a90e67677f07c1cece09d22167ec914f4f6171c39c117352378b9c142748937ada408311d8300331b2939c819e7292472145f38d5091e715797e4d394bbaccf79b538ffce77c6aaacfd9aa71527e73235fb49f5f8b70fd35f752054160b386bb54514ef21b7b451057274d419edd53e3be4b1c077baac3201d4ebfc9ed373d1243763c69ae97f5b0ed0103276b8827a82c6badb54a27a9bc7c4e05ec520a9732840a21bd33be65c6cb780bb4fc0afe769021e367e9fb7e96becfd1b3149a250bce2273b2344d6b96a6699dea51630e847947f7a806c26920976526262626261f32c11f0fa094f741e5432a9fa202ca4219fd2cfb2c03815c2a2d574de8bf594a49f9594a717528ee84b04a0aa8fb063bae037ef335415cb89dcf7e7bd9e9809c93a7314386e7b67ce015229c9dc981f0b9c662989bd350c0aff301bfce773a3806a5f32a325f073f08f360f9d083308f213c563edfa3a4695fa347f23a49e5b5954ff91f58f0bc71910f11c3f22b5866c27a90df0ea0ff7a9025d0e7c32ca9fc2ca988f366050ff974e0dee44df08ece732fb32c81ac977d7f8d0efb43a00a98024ad7382822e739f0eb938fa9d9a0c755f7e8f6b7e7dad331afb669aeb9cd1a28b3cd3ef37468565c9aad36bb755b258c8ffdfed9dedddddddddded738798eeb6326cf70331ffbe7bc7ae77ffcb70d6c81303597b4e8802b181b6be033a90351cdacbe1660d3ba0c3ce26a574cecf70c781303ba0c3fec6c17138c9e230d3d0e1741cb255dcf9e2d55acb02276b705d0129a26d917065879cdf3e476b33b8530cfd60c5ed969cb50edb21a57f3af588fef4f199a64c4d33997e078aa8e2bed06780247538e8c3c805c8514f1c1347ceba59fae9cb20499d14f5d30f4d98f99fa42147d9af847287329d997738352bee0e331c6cb1cc313252600320a3a954b1cc13e5ad4dc1c91a52d69753daae2b3804457239cffdfc892512ae78a3ff468b38b28a2bdeb8d12399ebf6357a548720e266fad9736e6dedfa5dad053369a39f82958a3bdfa9a82fd56bce6f28ae585bf555615d437d716e38375b2ce911d542c2541a1784d1609c6a17b92ea9b0faea90138614f91f5183848bfbc1b9a92fce4d7dd597ad19552b56cb72a3fdc2ddc7d075517bbf1452cce449b78caae8b6d1e6c26bb56594aea88a3e4189f4684621f74fdba57893a5f2b0ecf76ef0b2aba48b35a2023b9993d76f3aec7730320f1dfd77500aa4434c513448e6271f2af9e2e57e4d05170893e42dca9a309c20364b7055d1fd9a12d7e33cf7dd675f025bf2bea5677ef469921ef547b10d9d297d3969a65f457a248d3081d5a3568f526c68174d9ae9c62434c8fd148c26c92f62f4488fa414ac2e723fada13eed5492fb6dd71ea5912e4d8f3c7dcd9feb3c1dee39a0c7a445584ef2b0bfb47e7f51201d764acbd39bcd02a90ba41d3592fb393ac511723bc50eb345b89d7d8629aac3162dd261d32aeeca9da1406890aea11f48eed7400aa449fe7251cf2c72bb0f9a20b9df413ae913de9abf3a6c98942cca72513bcc5fbea4c3a6fede2eb1f8e3f5578f96706c727f4f8e8dcfcfa6b7664d57e10396c5106b4e53145a90459bbde524d7428afaaf60bfc8fd1487117a49976ecaca4d59cd79d9fed4007439954a355fb524fbd3978dabc6552a9577ca55a954aa574b7bbd5ead566be684a364bf04b694cdd8927db1b65efdd6871da50b0bb442a448d6205a27b22340f4b268470388560793628bb2a757eb440526b6b0821c4d523db9e835612a4de8c485ec5e55d9abcae9bc826dbd5e35b025af9393b42e68268ca68516860bc0386d41e3b66654ad582ddbcdf9a0c5cdae356b6d7b33f3346ec2f4c91ab92659ac2b6be4fe28450d6c90ec50b84bb055c07690bdc2bc6c471de4907d13a72f71de3d1d3e9bbb6f2f875ac7717b0b36c1f9cd8eaad6cab25ce447a076d5a16d4d1b6e8974e8a9ba22d58ce338b63c2c4c5c79720f5a937499f6ad91cb79da65d6245fbc3c5f53c1b6856937305c11704e90e76f4b98a4cdb48349b22f17ad260c0d12c2c2a50214f2ac224f29f204429e6fa7b82c4b593909f7d3b1682dc5785bb973cf7d7b052d920e27f7a24592e7739fa3bbcc4d6bada6d9ae66f2a5f37cae761c9066cd7b80cddc6f2b27d9948be65bbb4a6db572dfd4d3c119b99be4389d3f0577f46b96882c6bb4fbcdd3419fd344f796255fb6957441d22397933abcd54421491b1457aeb6231bcd11eea6dac6ed356e351b920ee776a4435ba443235cdbb2af4d04db08b60d059ba9663375b249d6644dd634ab46852dac2047340baf976966d4df49d6da141579ce2bf27c6be76fab3c7648d36153df56796eab69e2fa6cc1c91a299d9669b8ae32d44abaf84abe402149d6d695ad2b2d76436729a57c75e8ee9e8e36726d16ebca1ab95a16eb6ae5760793546b5c6459304915e622d484e9205548510384d00db2d7207b0cb2bf9de2f6e89b2ff3133da2698b72526751d4a2c45a338f5cb1d6c02c90892daa43b7a9aec12bac62a1e6a066a16a418eb8204915556113a63e516500ab2831ea6ad638a97e5153c3b0c947d45498bf4565ad8b0e6128276960b4c8278c760569c3df8fa83218c3b36051d92dcadd6f67d5dd8de095b314d9240e47574ee2607761ba724997ec8ddc3672abf57464524a29571d6661cede4519ed9c79fdee922ff3b3f72b248942b1d115a773977cf172f69a0a2eddc1ccbe859aaab89122672f270908394bd26196d113aa6bc87e6688edec390729cab5d304296acea73e3acc7e8214d561464fee97fb8cf3d937149766baead189a27ac47175987d07726c38ae9c65bf812cd3464657d225e3609921319ce71ecbcc1f52445185d154e2e08e11965005ca5fb4d5cba4052bcee1af81e234723d7b6e9b1ebdfd9e03877a3a26669936b26fcf8699a746897498ad3acc585d43f6b60857741845428ab2ff114b22675996bdf4e849ba642fd293837ea4c3ec1bf45687453acc9eae724657594d8f3291c58b74d619cb84f1cfbea54794f3ea3aaf3c6b94906dcb526192ec28c52459938b5a13c606b16018b73062214f0b85bb843c5fce2af27c2bc515ad69ccf36d0d942c2147b60939aa3890a4da1a274c55e2636b6c9a3cbf8348176d8c6ad26eb498c3fc65a5a436f38ebf084620472690160592545f6e4d13a68e31ad29cfce345a5575657bd0aa235869944c982a0369637ea581921aa49ab431ea4cd731268c1686b4317fd61f79bee865b1beaa8f3ceb2b4f4d8c3a4667dbcab335bd4893647bca5f4928c945d24746d563fa9d6c72a2d052aef46ef02469b2fc087e922e3fb22245e49d94524ae7285dfaa790b972a29565e3cd75b29ce448a48e90db4fd6c89d59f41305bd3c4d485cd14f93354db3564ae9673f24294797a613adce5cb65e40c81747e23320497e8229ea6f213731f822370bfa245de66c89debae2976630408eb4efbf41ea204932c784699936fa1b8b9c8dd7df4a3bbd53df49330a29ea3742c5ed2bf289a65b268c27216dcc27e24f2891414f4997f9da58e474f2918301276b882a12a6ab6ddcb0199a843261dc431c2050370af8212d5cedfbc590a4293a41275d59b388c780448fe9e441ef03ca7fde5a9112c95e418f10e952831ddc2037f68ca03fe1b2ae5e939bec06d7849b5dedf7d438939e7f83d5a38abb88a9733f474f10f8cd07753128323b0031c118940761191cf00f5fdc7e51c66ee7456933375445795ba4756bba06cd663b6d28955a8fd80072401ec93be66b7f8420a92c8fa0844d16b72c8fa0042c6f2627d19487286d6cadb4dd83c0131045e5234d87fef6fd379337272845d343b3cb16bf078a3472c542c823da773ebaaa47f73bf739dfc60fabc32273ce19e60f6b6a4a5c1e43fa797c1ee579a8fcc98b9a0db81db1896063c1092ade4c3c86c49cbccaf340f9cff3387995a7dbe87dd307953ff9f979948ff93cca9f7ca55175586b3579e9e9a02a6011d32404080cf44529816ca9cdb49d40e0767211ca45e3260465db6490fdb724640dfe3598db4a05db0db6b17640995166f680329f5c1c843b81a0835c72c30ceb53a4d5a1aa039df4eceecf07df9757ebb6f6049df47c7901f3749f9ce0fb9ab5755fad79da8264948bfce916ee3ccd9811d84bdb4c1baa7243b81ec080a6bc4887ee3979501e18788b05d69f5d0794d9ab40f0dc351b56a927b92daa45312b2542356ad2eea228a0276a61f7d5210ae4a8b390618fdaa6af27c93ef17dcd3e7598851c390a6408520a84d9230a850c51301d9dd5548aec3fe94abab07ae8120aa629177d8e42923c42a811cf0a6c02c553749c2b17512edcf9dc8b53a5d9b89128a4697a4651b3d9523de2388ee3b8509e29caaa1d4dad284bbe344a96753455b348591ab8a1b8ee9e9ae6d9603d1d5032f71cd7c94c3a9a6a9a2767da501d6e1bf5986633b1952e8a912edaf0977d7491dbf8cbd4a1bfdb98503ad5824efec6ad4e93fd72313f9f6a6dd53620218eb1478defeb2ea1adf768361e306effa4d50808fa9317698a88c7c32ca1fc96ead1dcec6f9f657f025ed0e3d16c342e9a6e6f9dd5e196cae066e268381b6ca6cdb4993693bc476ecd6dd1542bc5328139cb47d6f8992f9b7164b1c0c663ba4b4c376b3617f67a6936280f360c067312ca3b0bc6aaaeb5179c77ed7dfd3edcf7bc0f267ff2d2fb1af3e0f9fb3e78f035791f4eb0ad7151f6265846860ab6d882ca54baf8ba28fb1cadb160c9119d1121672f0a20d3078084d984206d644f437ff2f46b9c805b0bf4844c40e9222142ced317c34c393a50cb9ac2e5588e8d74c9de2ab9fda2b5c959e6baab3339fbae9e72f69d9452de7498c572d655978b32ced3419fe33aabe4da2c5657ceb2ccd52ef374a09139bfb59cb4a15c94fd87421b6a6b6d287087f71cbdc1cb417bfae5d03dfd1bbaa7b88674e9504a459a3b5e0fce73be0339940ece6fa81e11d98034e9e4b36ca331c9dec69c7482edc945d97bacbdf79e62a06d59568fb6cfde1669d276a4e5f3c9a2655916cd9695bd6d65b62673e1add56126856bb1add8aa3ab451b85956e30449c82d90a4ba728b02399a9fbd5d81b4a7095391cc9312397bceebaa2b9b14e6a4ed074c48ce3227601b2a83b5ea09ac33d5245db2af2b27551f2d423261ea11d246f6591242c81990ac8e20674872d6cad9d6ca2a4d8fc41a55255ffc336f655996d53079713a850a9c67f972e6142a499c97629725074b4a29a5b4beea16d2a5bf6a216dd4252deaef2eac925bb3585f5dbd82246ddf5f5f754985b547433969c3f5653514d550d98d74e92c0c29ead7b470c42bb341e28af5d5dd923154eeb759dcf962c36eb732171592b4434db75c4f68e57e4aa9e7d950f3c47646babca070b3efa100129014b88024dd1d26cc0cae5cbfabac379cd446a4a89f0a7bc513ba7567b8b7df56cd5bd26576c7c42db1a12cd8a594d88e20ea1223679bb11d418c4bc45cc6760451971839db8ced08625ca2ad7c2ee3906c0c0cf9d2f9ab1f6171c7b4314b9789c44c8d61feb8094233cd39e79cb5d69926852e1ac34ddd614898064c1b7d235f66ee1aa411c4a0636e474997ee1b37f9c9530ec47fb80f47628cd149b5393aa9bfe8d86a8cade6384e21731cc78e8d6103b46c2cd2b18ea13a2f25797eb78d7499524ae9aa69b968ca8e133f87598e4eea60cfdaeede10e7b73a62e9e38d3aba881bab6aa4d6d43508a99adce5887e7f952387a941a68da9a33fb39ab58124d51b295f68e4cbfc298470ea419e9e5dd951c3a27dc21dbfb2e48ba4ee564866c71b3bda71b427edc6a79661d1561b27d530a468fe663dd7eb8d4dbeb9c9f35bda4b53a2d9989ca42d093261b427481bf3e71729c8b38b2ce69c599b88809335441bcbfddacb528ab76ba4830c1b870e7bce11c8b05f7ea85da34f861dea709a7af43d47204732c8507b793dcb8e8130e9d2379f1c49d9fd850c5df41564689f70c5764d70e60aca92bcde4f9024edfbdb255f92c81799e777c372b7161a6e570683902ebd0179d353905fb40d0ed92bcbbc5d6d235fa4f7159db54bbaf4b70b75a3072dc8191643d3d4ad2732c5fd9bf5f43449976ed73475aa5ded721beb585a11f56572904970902ff4b3b757dc27482de415b200a8c85d9a940650584215de00afb335930c0ed2a5b52c9fcb418a3a26802bbc162daff052c58ee346873d3f13c384be94526a292d6585f97e7252fdf9fe43921a96bd9b9c10324b524a29a5941d6c4e393dc9d1ce03730c39eb8196ea4b393d292de82807b269a356831a162ca969d5d8b4c858ee962dbb1d8820ba5fbbe2ca6789cd9e2ee0640d57eca6ff5904c23dcbf99fadb55c688aad9c60f8776a13871d5af1663ae9537a573da0740aab1a1d3a5725ac0621040d11de013f6547650f92fdabc5a1470ec0d109e81c2fc350183a090717f95b7b3319d66fcd622a5deacb100727597baf8471403c00f10010c8f3830885eebd914523b80c348004a5a87f03434ac31c68c8628f29bb23a54bcbb6d195e3f09724695b2f4321bfb295e5cd1c05736f7f01276b88759cf2a5872e75ae8b2427cb932c59a60826e94e181a2c27599ca699c5595b03f48ad94f2f7b8ba7a9c3d39cc94c13cfd39cc9e6098820b2d7001041786f6d80f861870ee54bb25a2727dd709169de1857df0167e98693acf59f48a0a4986599dd0885a6a9f3dec3322f4cb49230994a1d2cb3a085a9244bdc3b136e53ee869380b871a3e45e3f679970279db43b4d987c7b3ecc92099631a2d4c1d3e422d654f9690c99c4eba6981ff00ed309579c2677bb7dda57ace121dd12db2acbb2393595e684f4349574699b533dcabec58f777bc9667b922f45b8d97bfd1c5dcabc44dd825df2ee6e6a5b466e6f625b6978d2a949da9f69439ba41973ce39673b17aec4a550c1cf8c49722ea6c8df5fce196baaa2a627e522972f14a7f08f2dae1fc935b90bd9ff138618096e720ab27fc0f818c9127f902061c917fa2ba8e9fa4513243c64a52ee5a4cfc495aa9fccd159e889906ad535f86f6f9bd044e73b302b6548b2f88991dd491f4c8adc248b9fab87acd44d218b5b6ee9d2df81b4c4651dd7cde0cd707b868c8b19268c2b21794ccec524794aa06486d6b41a9c922e48ccc0661a260c4e42da707c8229f2c74a647f7194fd39141b3370f192227f5732616898364a30499e194c91870625d93f3bc2e1d307932f33b2ffd7857c99d9622424e97349d167f323fb378554cbcc5f171fec8b6d4db81f8c96babbb58e5b912c218f4946571257603ed847926469469d418eeccbbf215f36ede74b0464f91f6cc254fc35e13df8136ce21496bcff5a136686a60dffda63dbb66df3e81697d22cdbe69c61866ddb389cce6c6fe5798d824fd2c5e293e7d3a1784d74df9d655293f34079e59c0ecbf3abe6842bfa8fdc279e0d333b4aba78ea8c9bfa81e175d5443f24b1e6f0875e0c650e96b8d65c2d4b72c50fd6c29f1a8f792b87c73c16f3982c823492e513489024078e140effb03cac0ff6c13c41f044e129e2b9028987e55979ab5bd32311949a5234412348055a657f2e64631342a13c1003c128ec03233161f009565664e013169febe42f948fcf75fa5c332950ca44571c95c7e449254162d3a34cbe68a127a552b1382db0bd46b670b8a8a593b7c56bbf99d1558f033bbac5a59fa3df2ee1f68b21150fb4047e5f0e5308877948155a75b4cfd119f87154a014e8837df68abbe1afe66b75685db76a3e3ae4a46aea8339c95acfea835125920892a19862e5a9a8d8079b71f3c53e58564d33deea8379561f6c06ec8369377ee3ad9c64ad8bf1c1fc0b03f5f1c1e8cc17f31b8f8d59c4e1ae1e893478921e891f121a3e243d0a40a77d927c5aac958bbc69f818ef17e302d0792088a64563874140494817500ca60d7fbac515ad003c1f66a9f30d869e902efe1a181a225d9c152262e7e408e0b13e475b255cb1a238aa2c8250f2e50513260bad5ce421968b804c98d0132a27855a2e4a4d980c8772307f48989013d2460be44b0807d2c55ff599e290ca26e1564cc347879df7531671b032d15b79ee25bfe991e7b10ed825bf912ff45d3f9c1e91718491fd714491fd8db4a8a8c957b0a474a1a1c23454344c1dbab7caad1e4d1c5e911e0de17d36e3c60367c95b79abbb922f3dbfc198f8c5b2972808029b1b770987933c8bc3c341bf2fb2bfb7f21624a6587d63782cfcc5a48b7bdf250fcb1851eaf0077391bfe783e50ff6c13e353d123f17921e89f8e4ea91f8b53e497a4457d9ff737d2d7c72926dd1c4a82c5de67f343c6e3d8f98c2083b00a3a606c59fa356dc1ddad7cac14e92580422d71d446459fbda83d8815c5ffc2cd75a67b676e370a486757860e61db5d6fa3cd49b69862d922bdfe5bbbfbde1a4f90e665fc9eec92ee2b85aeee7411656c060092baaf04269a67fbe36666370b2467b3ada9de362bf7dd17e8e0e7190f6e7e7681c7a64ddad5bb7dbdbe73610871c0d90ad919def8f437b3aace7701cc20efdef0df7fe39e77d31945d7a8767646c0a2ff01a30b9ca79772b9ff35692bae760eb1653af9b41aebf78431422bcd1a3ce01e2d03578a75971bd2c0719b9a974d9b6526865174359b6a6699afd4ffbd0cb92c5437c1afe78c00f7a1ffe439847e8ff4138c44305cbd89725900581df23cedbafd1a393b7f6ad93f0dbbf4ea2f1166fa946758dddda20962ec2c14529ffed90f29f9d25d07f3e4c10fe2cfe2c00fad0ab3c087ff6577e05f308e1211cfce9c0f9ec399fe14f07cf6bef79ed553e8b7d007dcae743e8553e84f1679fe57b941eaf3ccbc7ac3c0b961962f2321ff75fe75956f097fd677fc504c7808f1f63998fc343c4d07819393af8e3013fcbfb809fe59f870c2c8383067e1ffe693c0dcc8305fff020fe323c440ccb83df832ccdf895f761c6afb43c0f10cb843eb4f058c141b8c865097c1107cbcbd20ac7868618be2cd1c0433e1db4b76ff10ecf6b2fb38efb1cd0f32028e36980df6370c63fd8027a1f64f8ec5bbc43caff20031ea2bdcae7e81adfa304028164f81a5806f432e0219c0f851e54c43c9de40df82c8fff5f9c27fce05be09f057f3b80e0cf120d1a3f4b34eccb60f1b743cacb6c2d8e617919b04ccab3e0211e0dfc344e05941912a3f2295866480fb234335358e585948c5ff9aa6aa8b48cf387598e4244330200004314000028100c07046201994c220c83fb14800d86a85076561b085292c39441c81843880100000000000091a60d4b9b766440be6b379845e75fee1e203a5b4b89118a9fd99663badbcc59feab5e3e7c5d768bf2627d7094480ab0ab1326ad75d6efc5c2dd7cfa088205f12544a3605d64346bb71b297159867311c970eda9822f5a40f88a141ae1891aef656094e6bb1ca12755df91ec58d92f6719265c8142114a50d7cd96a4c44c0471dbe6d4fda76c87dd6313f14db5e749e60d470ab377e63d6b3a1671c7a99cae745766a09110023554cd61a3c9a8d5cb57e8ca64c1aa2ed8e9aafcfbf9293cbda350e5a2cc85efc4a12f115926f0346efc858ca52a9caded03da23fe30118b156ae9b3aa74622aab6c8a4ace39d2847e519cc4e91d78a75373f8b63972ad1e6db8fd83a6bb0cb318c286d9a8d59c9011271c32a6663a3839e1561e98e4a890c9311de06cc6ac3d4b5bb4d1d400fe257e9617a63742c21c25e249366d070cd6093dcab4ade5ad1290a7c9f2de1b5c61fa1875f6c2a21cf14abd53aed0214f4011daffb0395b594b327bf7a6cfe7fa50b517de9e5499da7d0e7276cf20f2bcde6c9f079901e3495b0f79fda7f780ef9b2f16e96f8131bcfd734d4fcbf6bbd8f3428193497baf6649233302d96478e5200513af58c8c7065ad57990deef6e1947fea9de1ed7ea71b0c0aaf1474dd0a857a5f7933e13959312f8f461aacfd6214ef9c0085ac826d6a662e92102c990092334940382e04ac07f70f077a3ee507a9defb5c060988b07723ba84f74935e281a58d221c66819ab09f5420cce7b84b75c606e92cf81cc4803f85d96fbc685a27adc742dcfb43acb95cecdaede1d51b034910e6da56e3ada57b81c714d13b030d9506b947a4cda88c6f68aa223f1ab049d969102ba6cd41675d26e83a377b7dec8521ead62623f93dcbed597fb117a035f0d9f40e3dea4cbdafa018e52c6e88e174770021287a5789c54e5eaa0f3c563443c8d41ae457f3cf43fcd26d9e0e0eff5d7b47cb90d62e7dbb6a930ab0b6cd5ca42ebae26daa890944e5c8ccdedfb9af3548ea2b4ba86166bd06fae13b072608afeff3bb10a98f402a5fd452dfd71cfb94268c1ca8caf647edf72c2c7a86b248ec072062e6139e32a2fae113f56d0cd8fed961e940b78dba98a690a8cef054281cec06590aba5acc5b8f7aa043cb771ba24d4292fce81432a29a47e829b640b96efcd68596b62eaae1915d12ef23e253178bf5287a65d9d958debb56b504594eed9d65baa83c00cc8aec74024e32947f1d32c2300fd701b39a8117d8a504a685ee29c57d069e90a1c9b28b8fd717039fb767e77cab2a41138db6626f778ef7658a0f1cbae42865a69e7097ee7d90c191e38e930776e2d9fa00f0a4363ca7647bc1ce4b6a75d7774e7f69c994c41bf19ba6c21a52af091a8295d32e77c8e4b4237d109779df89a64a0d84b8ec8d49ca3b580d57f5d8653a1e31a628a85d006f200137ec513c2897c9a38ed669f4a271894dabbaabd688587026f7765646d1fbeada2edff897f13d6c545548471bb041f2d48485c7ee2e107a5e5fd8f918af2c17a04530eb44f7218681c92552ee86c9f2900cc9b296394cc91860a4b023af47f816e35ea9d187b99643fb34dfd1b99015e0c75da7f63a3c0a4fd29e43205ed1a379ee57bd4bf39fa4a8a4daee00c1c0a3de382ccc0f1093a2c00e4948ad9ff9f87d9a2847a0e3d7476b1cd2131a54f74cca19c76d5d839c5e22f26877f3b3a16cb36eefdd69a04c82897be65b3b92c88e8d5b56c148f1661cf5dbbcb08922cbb5ae4ec7a80c830b8be5175193121119843f788ae1e19e8b9498ca6e640df570c5a4404c1c237f8a9dd8a21a65e7e4996ec3315b3fa080bae4d8eb6f033cc9b51d16e65a6231da369475f80340c54f27e2f590c0d0359b114b557bf138001dda0e1cc0c0c0e8e0ee616f128b6a0c7eb033f994ebc5354f4b62cf2551609be72a5712fee973e62d3e4ba1ba82faeb9e584a5c982dc5382ef23e6d7d4a175cd4a98f3b8a5b3d3509b856e25b2a9f7850859671c38a05c9aae4c568ab1235aa22372d06bf3972cf4bf8f76b6bad5ad3310f9ad5d5d8caf6e6deb85947cafaf04820d748a2690058750ee73db3c48b67d24687803c44276481cf86482b65571a2209b836ba66b4b84a542b2b225f06ef8deea7e01f089536d6c1f5286a9bca18972882f387198098e64f632a9749fee7c8b45e61f82e90c597b223b8dee61d4065e6dc9994e11dbedb989edc03e9dcd41c5c68622c9bfc616eee6aa9ceef831e0623157f5e61457cb9656c8577e61cbf8aa7a3ad1e75a1eb0ebf3e011422056c79629e3676b3f3d50979d54056df8785fb10d153d498079e9ec2d2f28e430c835190c0a215d73a3514b4f757faff2d09fa8a6e0b9e2372b75c0dcc1483928b1dfb19572f0f8dcc679ed0b46ef55181083a6b40699aaadbf2f0a926583645469588f4f2870f06fb57092b18c48d394e7dbc59c1752f80d2a78867ee03a08696fe59ced5f7f40897f14dbba619615e3819d03612ad793fccc4f401ea81b0c656c001a6b8218282ac974d1568f09a3fd6a667133ea0a5315ea2600b52a3b4ae9fc96731c6901a995ae1042bf67e82426aad815b403f75e0bbf7d1b55aabd574f41f5aacaf5f43186a1826e828dca76cdc6958aa574ed9f1633abb6caf6876ac68fe4addb5f3d3381f502f303089b369832d1e43fc986518153fb974e666d9b5d03bdf974d39bc24588d2f5e8074898e922a1ded3a70ee29be366fb764f89143c9ba729f1eaff92915d13395d25d6dd2f8228830e2c133747c9b56c33eb1fd9b5f3cbd893f464a4acd15561a573f6d662e031d30cc1eae0339a10bb62c1fc7595f4418649bb01282309cc75090bc4cfd3a7be8fb61a28182cce3062063fc6d52854ee607372a9a6b76ba70be89c0f9d0175c233d932360c2f66e8990e23de69f0d953ffac47c1a96084f03d0fd4cbdeda67a2e21d07067b431724f34426a6bcb7fd1e36cabddbccdf32d2330a4fb5ba8facc6f1828c5449f323a08480cf004c2f830ab196bc1faa7cb4de7d2bb0fc5105d80224e935d6287bf3de4db4f31a9ce04f4d4341e99e0f09a1503a00e2da6eb11a12e502ee652826288cd9d447bf6c870a5a464ff1434c938683ad8e42091b51b628fe859ff39bae6f763bbd705c3b2aa9959d394c1db68955defb3167b89cf1bc918ba128fa4dc02265b15e194114b3d2528f50e206b23459ba2327d6cb668391869a3c5eed30b4947950a612299fdd5c508e0bf4b9c5c89fed75b921d0a9d1fd8ae85170ded684238f9f414086efb684dca5be224bd04c59c8c2b8e26092639a4223a1b1cfeb8b1ac7fd4bb4be7571a852b7420d1bca944487e09919d1d31b713c68e53e6e0af9175dafe48dd5abb5c5e12f339f01f4a6baeb95b222d439a1b3ec1fa81a5e55ff29573ea5ba1c4704796ba1b2591a7679850006388804b3b038718694c69ed0603afad25b4e91bb129645201ff2e5da4a203c4a0fcf4e247c9ea7751d4acdd3cc5d8187bbc08a3268ef0b08051f8a6258f7880bb7b3cbb56a41b344f7662b1d7ff8a54e87413b401239fd2a205e07edc15f46f85bdde1b16ebbabed435472736f2ccb07f9633b7a1b5a8c1ab0ddb27eb6e88d78059d44aee05100a9b24bd4f43e92d3627be3530a61bb939921d385e89a7ee5a9ff68af78cca1cb332c982e8da28bc948b251879e76b1e59e7626ed903a5fcc2af6fa1e6a6989a75b0e3ae2ca9f37f991353fcf0e5a16e70c9ac5222e0ab72b5b5b8d4a996c55c9c7ed9a8d9405fab657fab7484d4e39a1d192b13476a0d8467be1d66652ec2ecc030509d08c54381b403655ebe09b10f1542fbc294bbd8eeb6653c0bb3a9b2c2bce80b821e3224d07b41904074169944d2a7ded2452501d193b69be8280a1b56e4527329f0fbe21d771e1576754cdde289399840ad7d18807081bb279464c6a2bf7e4af74a6e4c2bfd56194650a0cfdb9d34843336c22ff0560406976e99d43de5497dd39bb6e7bba9ec388c5038bddf2397701e54654bfa9e40c5721c9145699d4a4653c20b527ca461188418f36f0322e561082300f3d2c4753113c7093783212c76438b4b355651e67f5044fe2d59ff1390bcc4438eb8f24344f9dce48361b7c7a37ab9acbcb7b9a51ede6f0d29bffda57d97ce150b5b798afb88cc5e5738cb341803268d8d8111eb4c5f20252c067b3dd6049cb82dca588e46614e40555157b5783bed1efa82cc834cae9439f7aa91dd67280d7ebe74c6e79c8476c79c04de2064cd1914af82eac1f5bda9d6e8bf8f44773c765124de40aea34406d0930281c80f97051a4c3089e86711903691493574e28aee68cb462204a598d0a99f1f0d77af9b44b8c286c8fed28d199986a454014b0893e255f8ec63cbd6de8977d865a54997e6e539bd0453bcdc6c5c04b3889f92754c922816137884113b718ec958cd0131e55bd7798e60a7e8ace66690f87c70a1a058081016ac62d2a9777079f9d3a1f49a0c31a770ba2c98d63d54b2350915681a3dd4671d067bd44bfb021f18fd063136c1bbaddae1c3f5abe29c3e7a3a2ddc377a19c217c0cd81472da23ee61cdcf4ba392cd20a3a2b800e1fc6257c355db72da6b8be6bcd042fe6d45416778eca546c3a1ee560da14f8ba7fe0d4c0bafd40ec1bab83602b0692f639d6564ca6602f0777208c6e800ce62925991434922feb3b09354f11fad9c5149be251fabcb3867d591e2eebc35f1578823b80a93c490010882551f3a4ff42032577b14696da21e579c943986a7b8a0011213ec13751d89801772aff02ee3c5f2f5863e2a212e11741aded850b374b12a4ae669b67a56c99f007a535c806972add39659608a05223739086bedd4eff4657be107ecbf90063f00bf202fff4fa7be157231ee1b9d519b0ce4901ff338b7945fdc05ddad997acc2a08e045f40ca74c43ddeda9fa25b4a625eafc1c684f115443ac4f0dc468c095a648fa11f584d28e2fa794de2cbe7a7a4380412bd3579794667cbe05aa506d654fdae6dabdb0a1a1936a721b941f80dbafa64a76343a8c096272860100431afd9d8c9548713160177dca63acb953e033c25b851511c77ae29da1c13b06f542781f26e98aebc421779a2c3eaf276f491fd012fc4a545b8665f10bbae65457ce1830935a09c6467c314218a67dd4a8e4c1c284fdb10f6bc46098765411d8d5b6aa80a3b7bac74b554053ef9c02316a9b549f6667e2aa1d1830903319830b125d5b452a1ed5058ac267f3afbeb61c710a8a7fa5a7f0452f1135371f0f4eb23137a9c2aa9130620f28466f867a24a306f8d7304deda0d800fda14720d26cdc2f4a8efeb01c84badbb298d0e122dde5d1619ed405de30bc50ebb4dc564c0ec7e80771d2716050e1e110260850980ba5c3445e63b26c00a829402b5a7900b0657d6a67536bbb9ec3acc3529cd12ce82904998c6091ec21951c143de044f925bfa2b302be7422577784de677d5d85b5c21a37e65ad4d3f25f9405d9e70605f672602103d628b0fdf448a6dab1f9fe9e8fc7e8ecaf7c5aa7f06c5cf4f36db1249639c436f125e9141ce10f16920a4c8211d384ea183b14a44a600656dd3829474078b640cd9f11581880a86da1e5cf701204b3da0426abba9113e1e5f039b73a8cd857c73837365fd536784bf58a71724fa18b1b06ac5f1d73d352681cc470ca4451f61f9b815c43e6a7444cb9e8c689dd9cbf816fd9da73e4e5a554a979d551450b42189a6223548674280aee0567ec50d91921a3b03145d596992172ffcc0ed1497ae7af9030ac7060145e8998dea90a30a149ad0e6ee2e4836858c6560ed7528ce0e8c8840f653c6047cf7339c687468928c7cc3546cca91e150bf549ed18f34fd7f45ebfc0e75b6af39481525d3f40536ec085cecb1f0161c611041a575bf2c943a9910f2a7c8c6dfe9433c794b0bc319c3e3c4e4715e44f0813e9c409dcbf10e473aebb057169af3796f5bac22823317c52d2512cd6030337a4420e040a561effaf6feacbd428ad113d6a7cca36469bda39a18f9354c857546dc9e48b3fada6e0dbd5bfa5d29ff74188f2f540edb0fc568c2de5ff446eb5847271ae8a13ec2a0530b003db07f3c0c9b4051451f52f904902cb71a5a24e5d26002e703c3a9be8eb9c10d77ef027d8a1d96b256a75ab703805034a3430f90f79e674a1febab91c280b78bb425d8a08e9d2291e8c8e05a24b68c76939f60e68e085d5e00ca30f64629dbeba59bfd1b8fc632d54c9df62640ebf63bc0bab4d5ba2f45f1de70a998126fa4bd509b39ec492560b699d6fc855ddb4f6095aa7a82763bd655eacfb8a20f5d629f1e7f1881f9f9018f768244652a7d43bc35e7f5e2cee8aa0f5726ee26fb4f221bb0e613b731241760bff732b8324964b42e3edf529c389db721840dd1713ece4134701b47821382cb87dabd6e463dc98eef41fdab56f32e4c576e8a54cda3d4dcf45212d481e6eadc3c5dd7aa11a74aeeecb3c293daeedd084851e6f539315a8006069def2a9f9100431d1007aca1fafe386e3fffbd04ac79a1fe2bd45b63ebb22a01e1c73b59d48ff987f248043fbeffe5f19000c2df0361eba917d0c47dedf21d601c25f92d3fcc18e1f4817296114235e7978271ce237f0a627d0fc5f72ec39bcc86021e0cad89746219e14c6932e9fe5258046a91da0837e8b51d47469567d0e5627e661e05ea85cc469b5b0d409f4f4c24ddd3c444ce81fea7adeaaea2ea6571e00c30b159b54e26dd3ae60ae5ce0624c1ff98648e08d15a565f836a5d2ca01597e1348da4e5a0ea6fe15d4bafc3759e4cbab933adfa316f06c3fb3060b9606eb1a98fb5befe3ed400a6dbeaf3a95b925b717957a3659cb502502f9d951ebc116dd49862eb2fed3fc05de273b64e68fe2f3271729a5709640cb9615cf15f069881be31cc14b32a5a555ff936ec5ced31dc7004e88f141fe57561f6285cd78680aae0bb11b8121132ca043a3088dcbf9f2f509bb2dbac1abd2cff693a3f890012994d83da2e34d72fb7a948d9cdfc35c42f03abf4370cfc7190cb131236f64dbb4c7d668c23875d7b10de37c110efff99834bb4ebcf81c0c5b2b8324ee3425d44ef3edce7f1886731727657efbc52e9d7f81b2713871556688828d041030b3fc8383b2f3c15bc9dd27c33eccc8f83fcc62eec7cfff2a3093be6c31b8a925afceebaa553a162b4ce5fea9b9e09fb020d431346d277bed8629988c53c2edf6eab61923bc321bbe3e6d850f9802a4abc763f588b794b54dcb59ec43fb2e240ca2798f120a9805e34568a747aee70b36e5d5e216dc945ba054145a81d267f2ad515032011b40781941e86b3efad16e5e6fb5e5151c76b9702ff0f7f130bcfa509bf3e110b27f855517c3e1d8dcb8e1843d19042a6d21b409132b84e58c62935e4370ec32c260abdf8f7c74fe15539438f61696c2f8bdf7c0d05677dae7ccbc8de8ce75d80e115b4989e3cea12c00c75a39b82ae6594eb3879e23384d32207ef6951e824dd383a78d97226a89ec23cf3d3e19c6f87c3e7edfcb4029c534872bea230e674ee693e793f3f4975980a5856a22a3cd79df9cb0c4f4064e9a04c6bc6495e8896539e8225c5f613f6638aec70b33a819c38722779a30414d31971701e0663dba1d542dd5f822fd89db2535e59ba911592dc714c8f74f08c4d230364c66dd9471d2db7e10c849b0821e45a8604b8b7af6b96f66bf8da39f15e21d68eb12add5c88c10841c154dac7a8e3a57156022e6efc3bb9450cd9cb7e0a984b0bec6f1df59dfb3b180a35c62671ad496ebe328ccbaf4c02a9a07b57778e0cb98fb99debab8a7236006acfd3f3906c5029c9e3cd0743f48c55ffbf1edb6013f5e91e0c389426928c64e71c64d6dd623403c2ec59ffbdfd320e5fa5b28e66259366c6cb444bb184c5c74fc26f4d6b5abb560714c07e2ed7f95d8712e48a6c044505f16c5d0db858a0ff383043b31608d302224c1f246b021f041d2929f7f6c4e12d3d4bdc893c2029ddd6ac056a2c70bfeda2d6815df9394e078f4aa44e0d6ba505e0d1f4d8371136da3fa1b70fcae25fb22dd3b321858a9b977f4041d2c5e691a00e58e56295a7ae3589f1dd85341114e8c80c86287ab9a79cd1b5d3c453350f73d066b1455c256ca25a0d13a359804a0ff5a64e33a1ffcb2249eb58ae5393157302870c9a6e937e2feba7871232d4668451be230734cb16974c500c4c5ca3765626550388b3d73ea1cd43d7bf39e9bc196c67bd8dcb211d7a1f7d5d6c30abdc4fdb3a11d89a1872050e89ac6a454d1d86a9afb24e514554dbaf265b23555335980aef381c34b629b7aaa79aee53487d4da26f8fa0fc484140fbf8b56dca80a4c373396d568da9e2e1b983f439ff96a0078788a663941dbf7c92e94d526120fea9600a18acda155e40db07487ae3e7a8cc512d377d04e4f8b8c5b8a0fa9bad2f74c8fda2c7005893745607325fb91632b4ba1d49fb127ee2eaaf702ca47a539b5f90d40d235197dacb173c413c944c672b53f3e9805849afb94fae472f4890b997241b0c421a95ef768664e7cbcfe8bcad31d92ee34b4645187c25be8f931098f5f3de1cfffb54da2708ed0ae9db8755b0afa06e2fb05c57e177f8f8d073183a75e9ca3b033007c69f043ce1137db544bd7f42be3c27d94804e00f2d8af34bba84d0e66ed6c0a2b605282499cb04a7e30b3d31d4bb3389a8a078d36c94d13da9c0c0d83bb4087a8123fc74096ff7eafa074a5818b089fe2ef0717d8323090f3a81a3e330a894101edc85c131dc7f35962cd252b172102cfa96bb88173f73282bd4fffbbeb20c50f442d8e88521604fd093326c409a4ffb2b10729b09917e8483c9cbd9599e8194188a571b02cc5fe6ed6a43482de5ef65e4356ac125d556a2331dd494d89b1662434740192f27e61703a09d00c0267a5a5f55e18c7ebdeab1ef73c3914cc964836685da35d6a081a69a75a5228ffb021fc3d0b85cdd0a119619e71cb48cf308fcc89299970b8fb0d40c62fbfac2226ef2ab0e6216b35d63550f82ec3bd3709e3132be04a0a88d55c8224753be3ec08d3c2b765d064820f6cc17ea5ad7137a585f63901f1c678454c9765d0c20128b4e561d9906dff7b3757f89541653d3569d8245f2a981dbaf8a80700416f24357fc0157ef25a3932a672d9b60c964e315dab26be5bfd3b9c101f78417b74e88f03f53e843c567ddcf156dd18b2eb07b31be13b4bd08cdcb7da3c2ca81cfac0b8a66876729b5a7e01110351fc78b0a3d5acda030aea168ad0c31e4053da4386533f4924e4e3658b142bf3aba23c37cf3e53454ccfe24652c775d5a5bb00229532259514c455804e321cd2b688ee670bb3ec71015a19302f19e10a26e275f721b394b70dedc080f48ba8d7fb93803b38722e40bf703f238005ca952f4fbf5d57c1ed73a6569b4bd586d1c38f3da5955359c408d113b4df5193381fec6067dcdda8685ea2e18112de5fd520678ac14c287ea98cbedf9ae0b7b9564296305dab5192dbe83c5f588d0615eb1a3faabd2e74cfc3cdc1ec3d9ea98259d5e0d51e12fca9d2fd22fc77b4f97595edaf364202ecf102cf1a56038ed07c6874a6042817c2c5542e0f307ba6cf61978f2621d3145df08877930b747144ce85d5c4d9c4301fe3a081466a2baa82b64832ba22626d9a7d17bbf6c72e8f20da986d78a81ca294c6ad68870ec7d421f3d8cf5c1e44289e7afd108d63771d07f5fecd6823f9b99a1743fced12678231148dad33d49ac5f27cb529d3a455cb162364a5506a2bd9a2138a278894cb1815b35e7528106d117e8f0d0f4c631fa02a228aa4f389e52d4c42d5bc52cfd5c621470f1a215777437be6f8c9e838e4999ffdafe5f1e2b5cb88b65b81c1952be655026259937422d63e8f1baa1d3ef307dd638f58c75956b2d7112f21c8d38043673f7d390ad48289483779eae32824c1bc1bbfa63a43dcdf12127a20e9a6c5e785c10f175c2acda0c45d64f671ebf0322af542c8a4d651d24d146ec64116c8c2d1778bd21ab8ff3acc44aac80e03825e59541d1b7a5d1a08e81203edab15ac55e8e47df8af2eb97b865e4245482fe2310da5e09df41fbeb0816187e8854bf4b597af2fa5fb2f41e5fc2c3efd6cc99ef737d68fab6cdebbf1f6da695f64527aed0dfa69ff240f83091cbf785be9b5a38315e282f00013688a4aacad469a40c7142e10e6c30ba2ff0e90d3166f2a154b756ca7cd68daeb076b77f3a5c6e17ff692296b635d43fa58d2a8991e1f92e1f161a1548630b3f7e7862da424d53b9b52a9f9173b3e8fbb512e431893d407431e6bb527c8a9b6d8ba5aa5ab6c29562b801ca6246c3a6901f10c4732871525b93a3ef79d88431344af08747b10f81d80a3094fc59f20ce409e6400720df2fca9e56a997aad54db350686e53e761141fa0c99dadf2b97301fade67a4f5149421310cf2b6c083b978e6074db2cab7eb581d175385c0a056b001a573ff2cb9098245fc01da3e16a6a6a278a6b6cf7f9d896e314f12e3b012847b3f2eac8445251beb9b1acd5ebc34d4c244d57022cce02725b482045ab2ed513a4527004cdc3892c6ae2a2777ccb405621f113bce8b112a953a171635d3a8c4e2d12e68931295e0e13bc7028f8e9bee866700cb34575dac70014b70d93ccb749b96c628f44c6765fb765583c4b445a095802556ee7f08763c90ea7e80c423776809c0b9bc5a7adf17268180dd5ba02d4c4460c97f5a89f5bd6311275457cedb75c2eefb7ab63ab65e0385ec7f6aa621a91029a87d0bc582fdc5ae025a663752945d3a4fb1ecf1ff4311defd686052293c98356763b314d89b6f726c80c80e8cd27bba17938d59d034f9202aa0a562de551e15f4009aa1ddb9558b00d471f42b954201ff1a8ee23820de0d649d82f16b6d3e4a710ef99a4f4612af75fa0c8528457e83ecba0a860b647b7ae4d9ad32ebab4fe097ab4d0e49a624149080ee1f30b54c6572c8d1d7e8b180b10192e6617e98134fe09a73621638ca50ad08a9cbc3adcbb254099f7b9fa676e32400f6bef8d85901d4054a75218cd10fb2978d5213ed22d9d394dfa8c92611c43ba3af7614f8b66a774e4902df687ae1927f2357fb18d9cc9faaa0ec4fda9321e4c67643a5590416d4f902dc0677dedd35e97a8dc251f1f1c3cabe3494a3bd80ab4378dc9f7df43b901608dec7c652d34a7698f83284d1091b0cfe1b78b43313a38fbcab8ef9e37620142b9825de99529edcf34331e8c88d957a375fb27b2b19481058a19322e4f652af31ef7a673123f9652efbfa1920745de6371a605fe548482154695e6dacaefb1f095291e026cfd3a31375b40240fa145ac7ace7649db40740f52a7eb4a538189ce4319184d0a6f0032c056c307f3071529ed10a77de9bfee7a8fa5249af43e48cbb1cdbb02fed190b082ef1c3b7d40680010175422365070d9339bbaa4406efd26e5b695d4c755290bdc81dfe2a02db74750ff9c9391025a656009203c0733373f29defaccc747e9d14588e0a1d33e07f2a05bd8ae853d1b8062b05acf0d4e17d64b44b7c49541d9d2e6dd104533d4e8b0a5bb66d18153b4a78d33b6e4ffc68cde0ebb818758358f708e977b0a954ef8a2a0210607be2c1756fe0c189ecc04a6cfb489d01c9c184d5a77315faa6d320b38511e9e81268ade4976b1103e78a402bf51f66ad1fbbacc7605c35d07eaec4d7c95dc4a754e835a97caf81f564437015e65404dcee3ae60ffb62cd71f84106a7818bddaeb0544cf9c735d520375ba4f358a14bd7d2cc7345f2f231e995b3d1d12b8e6e3e6c7c0f38e90a02379ca2a75bb67d5f0c787d86f01340e353794ba7d93a2daa3bb7789e7d6b5c66542f787204f24a425cd18f62af5dbd2678e2b99ad643110ffb240e15d80dcc4cba1818f3a5b9941b238edb4b1a409c02bf6406f5c374866db29baa72fcf00fc09e1e1998490d75d6f26b3ada4030b272d85a6712019367ca4d47d862998f2cd45988b1418a7bc4812e692dc0232810c9d19e5e46ae155ac3cf36ba828edd9415f1844fbf79febcf2356396bf93dbd5a5fa7f4df37e70f0ce7878318e0430fb596013c9c5dc39e5d83798ca6a9693d1f45bc928e8a4f8950e1a02c8c99ae5a9b28640c77af4c0dc0a2bcea5d957e053a482111de277abc413b16529c26f1118ed3e7f0942c28a9889d8cd66e4f0e9bd65427b285ddfed44616a9ddb64521d8006dfcbdfa1264ec66554da303a4fd9d5c458d5d30581d3e50d0c2c0f6a56b2987795cf0ddf49f8b217dff87ba45ef19a83edf1f19c65bfa26620dd6f1ac1b0e4dde9dec1281c3bfbb459fbe80a2303a0e4250d436c974575330406a360184d8242d529a25e4f974b7e319a327769c1bdde63201ffade49d26d36e48bb8e4a570fdf3fc37d878271d821b10fb49d2d5dec48fb5711abd40975a7a983181dc67e21a328222e87bf91a3feb5d08669d729cd455ce0f20957cb6124546e667038be23a16df5dd0e7ea52af4fc8677b9aec6086cb911a947b1b027ead7b6ea47df3cecc7da5281037bdb123d39ac3ab2957a6d403be0adc4ef502dd3622a6035a6274bce26a1516e8da8dc2521498c3df089182f5b9bc0d76d87b3c5fd63bdc1db08ff26581de1faec921b4c0d4ed40f05c40f63e8c2a5eeb36a58980f9deaf1b360bd5c69cf0574c95ffaac059383d78cd82808f60cb36c97694e98be20f7f435e9408595d514a2db2f466a711e44d746e40afdf0df8d44a5e24c0f33f88993474829ba5e2003d33824b45f6e5c8700136011039a140d885a3b18c2382c52362043946907981baa74980a247124e97e1853d014e41a5c2ad0e7dfe6fae375187e0aad16b6025de9780b2704ed804da05bc1fa6dd5fec6b03a07f101d006694cf5197eaa0d3e2b4304a042fdccdf1c22f56829da18d598607407dc5fd4d43275afd7775d611653fbacce1f4151bb4689910bb475c8877e2f94599c1b00a06aceddfb82eba40b3f93105f693625e91576aa7b28c1cd79327b867231e72a0b041956169e6443a47917d7589c0ca6e9c2f38146df91c134e46b1ad4362efee88e46e230fa13f8fc9f54ee08d4e9531ed0147aa0ca060a85cb2c89f951103917752f21de762ee594f44a184b5a5131ef97b4e677541da1a2f54b10c646788ca6235b666e31f744df0668db132da38d3b50af2c21e1cbd7f86e94a28ba60224718e2c98100a3797941e806f0dbe8b93560ee20cd3dce4b2187909a2959998e5b563e244c34e9f43abf38f6e57a12f7f28766ccef242004fd2146d4367db14251680577c6d136da75d802ce209f3729aa9f9824ecc70e32877f9fc85090556a82cdbeccacaab63c0704787650983740b833c5c62dd949aa0ea099260c58817d6c4c9d2c0ad10a42b4c2c3444bb5cbb3376f0f99892c54141d433eb8402f928e6f7638d17a8758027ecb8c36bc7fa288acd7d3c76322298342730a80465f6242a3a16e2fc7b44b9162fddc4969935cf80c64766c93da158969ae4eabbcea0ef76f02510a737c68b168d38102f1a2e067d633c7dc13bb2e13e96c567be9d11fa2c8010ba95f2a23efbc1ca381abab6f3d57941ff6712ceb04b1b2f17052bc46570a2b278d8a2b777f9183605d9ff2cc89fb69784d2668359422efea1a2ba01282aff199ffe4919fcc216bb3eb6692eb750a0ee60d49755ffd3bad99a4ce36638794a5632be9f0f3f9364e1aec40d3e7a92adc7cda0c10eb72931562b61bc30ae2eee24dac6a058bbab7c4671c135375597c70b4c89283792b49d2d186781699438589a922edcaa70eef0697047d73773c6c77a89725adb0ec1312ffe20b48a755aba4c1138d3578a8efbcc21694206fda80ae9155c3de849a6e51e230e18bc05599b4e23e4343bf3a5cfa3bfc9ff0d077d0de0269f804d60db88490172bef653b3037c8420cbd2e453a466d250f095ada65b92136b1bf3347fbf10a851be7366877038436c896caf341f506fc665de1cca6f4bd6fa0f7536bd8fb6259cd23847fb410342f64a6b404024f657cc7b9cb6dac04d9cedf234c7bbbf5958d6fd88a77498c565b812fb1a1b29db1da71c3aa682948aaca3772b6c6ecfe128cc3bb521e80999ff3c6e73dae6a9a87d3030c1d56647a2db402f92a3b3aee666fd1b3ecf65b01a9594660d1ba8077aceeeeaa43d6299396a543c590ecffe48c5d91237f4181cb47ea2f8ef3c7a0f2c49be04329cfffb41c337a37b60789b2ca2942c5876d348443da97a1c0ebc2c7786d6d46c930a9185faa7842aa7755a0e45c48154af648d548beb67819974a9da6c8e3bd448cdd5a6c0e5f29935d7438ad286ef4c596cd27ee3f35a832736766ecd3cfecdeb629e5d9b2f42f9e566a52a7d4cc8bbd8e1ac49db4bccbfff9107c810387a79729941a12a2f20d066ae5bd0337650ef27f5761c282839bd9e5db19a578abcb102b51aa047ec4192ca49c288d161c36e5d113c80bb9fb893beeed431cfbd5acd7114919028d2f413a811358bd33f8c90cbd7aaa5330b56582ab2ab5d52029a2514f8fd345dc7ce3bd9bd1d721351906ba46e54cccfc7bb95a52e1517749bb7e70fb0f678773be11b6e57f7389d539f493b0bc3afb00be111b055e4eeab542d585912b8aa7f57cf9c1e7e8c3ee310dffafe0d4329d156b8ea09902853dbb661717a9fa70e79c4e8796a50a7cf424dba1d19f4eed45b570097977ffd10420931b5aaf22a3739f4a18d4463d81ae88a5dd7ca72084b4a7c2798544bad1b20eeab6020148f4a8e92f4e5aeab668fc2ce888cc798c806b77d258d95782cc0ae2068d7fc991912fd10f7eb14ce3273010d70c1a00665813c4bd421befc8644770ce9ac95368d3994344060a481ed11c4f41c64c38b6cd22b019a04b28dc1e6d25dd3f5aa022bfcc5e7bfc40854671309e033cfb070c75190d524c10d3b7aa11f9357fe6fc752be05f59f4fd14933657898f336d5568d85d62a7b4148924c605eb829b199c3f9687ea3468f3351fdef4e2add81f3ba8af8bdb8200a90e46c44cf98aa74d65ea8321b958ba20a8317942413c93713fdb29600fd1daf9036e79a558c6979538187ec5a689e6b7e68921c91723f1a28f488843201c436478032e2970dc53cdb8f1f651ce5b9144d16c43844ad69f561a0d30ff0d3e0d4df0149a52c6c1643a1ef6fc5596daa4badd4b03605eac8abb5f9637d001916205013c770b9425bb9d02caf17ced95fd0b2bfab58af0e82920b13d08f50b8432251b27e4444380ec827123f29cdb2eb7a26c7a8dfc16bc4636d3d28eeee1653180a4441407ab5f14aac88100ce7a785d8ab612d21b415f5a62a07917092e6de34389792dde2453f1c8901511599f4fdf51b24d2ad0e40de57b45c9451176d858542bebe3426b3e3763d27b3222450c0e8ef0c55ab116c32e2176b4370136385acf1d03dbf0ad911717b68d04c229d4ba66b899dff659aee338e6b51d3e26a3352c50255c6fa0d946ff05628925f4e9f7eedde180a6535fe9f232cb33ac36c75d9a01a5ef235c9f5aa8259ffee9b187d5a7fa9924488af2bc37b195757da913a287d8b65ab28a28ac869b9326939ab7811b52674fa49e7f95287405225074f11d4a2f61af351043d86314540945505e136db938d424862e9da9d4bb1aea9b6f7aa5a2ac9e3a9ad2ea9eb2a851f23293ec35ced3a9a0962212bbee92d1e7a8ae0c00322150476cdabf766ef3448b0a60f483fb6f64d09373751a38150087049004eaec6211eb934c8103ccd53a8825fabb37e4fe6f03bbc6a6739c5f1892ee702a3d3c3cde5eef73935f783ee9f391bd8c879094a9c61805135a9f651c596d41e27e773e293e696a08dd229bc31b5e50bb71fde254b9719ddb77854344334cc84b807b5cf633c47e05e7d00de3d245c136e1d02993084575989cc8d514e300ebc6ca0326a3d5b66929654080d5868c343cabf767e4b5daa91d74b93840c2ce427b89eadcf289c5380a560ddd5c6411c3b4e29cada6a111c27d441542b033e54d3a6e21af714f6bdf5833615b318d082f1c20dd80190edde94b408824afad9840a82c7f4e0a7bab3393e8146a9f00739024a3e40b2264021de60f265a36597994cd65570fc008e75d8042766f9c5bbaccdd581c0ee138ce0a79fb739d0840c968632b0b00935e9b6ee0858836bd041a1ee2eafc27a1f16eeb075694594d4316a38556093a1678a917451b9e498436e5fc808f01124341eb6faa5ff6a735b3295c6543c317a1e969f764bbd1658d43b22fb01f487f749e091329551ed070dda961e5c45da3479eac59ea87524fa17b972f2b4c6624af18b340118aee3b129295ba159bded7db9fce1a5b03022777984a6dabc6fef819ec4ec8b9a76ea5a21b4d6afb3e97060ac3809ee6eb4056d678c35c110ad85e984ee14725e6edf8e13b922af9a0e622dfa62261235beea5e5546768bd0ea8553ad381e63086f26ddc49755cf22f633553d48c3e2efc99a314607bbc8f43c187b1a14eace31d2dbc8aa27f416c81966ca833bfd43c065b3661b297101f76cb3b2c5cbf40cc6869d9e30750cb3c887580e0061da5caba178da2e8bfb1f2f427424e07974d3f63b13afaf4cf4f8a99c118b8304ca6df8ccbaf6a93b7094c078e6a1ecd2b57c5d99a7a9e429b2a04362097ca358d0e61d3d9dd431e07a65dc593cfe64bc808ed867d352d72c0a3226714375ba046d0f0d884671e8f8d30dcfcd6b57e836be5dd9a52dab88794b4cb9a409a111b113ccf7b847809ba544b320c6062cfecc01970b8de518e13be41a2c805dd7432b71e2660485062018c34403774709853d13c9892712749ec00a81eb2e5432232611cb5542c46c25d7cb03df6c40232700915616507a417444f4f2e54ab03a8877ca0484000214612f6334544b07566e383493e5c0c16a68ec541dfa6a7c84f2972d7a9d52cd9a0fef98b47c3ae32887d8ea7139fecd42974a3bde9bf6cc5e1ac1ad0e61c2b1be61a10bcd848b57cc7d1a8d4e4fa61107ba3a70120f3bd069c7e8d4ed4ba950d41b0138c571e0011297be563571d93ff693dda737164950625e908a9e26be0d77f9dc2925d030773b3ee2dcd2da7e175439feca264da0388dfe9fc06e7ab863907e4d1a7f349a4aa31d8f7af85800a59bdeae7b997e3026402452b830c30f74cbb4b2e35dd864c47424c28c43f040947654fa055f731ad6bcf1cc402567775d42cab4ac126d2fd33a9e81d8513c63fc934481dd756d8f255799ce1902f526f690fdec16f79996205b707384e906f4febb7122d574b1f74b88a396692e041bd5e98532e09fc3e36efb6d9486e46b279073316cbd5bd012a8422a8e77b87630225deeeb547e577434d0cee761f78ea8615f095ef8856f1a06ee16de920876437a4e1e8efd2c870c2f86befccc53d99d73e4efeedee7e77884d28de1e189480b7d8cae913ac5f5d90020a0b098fdc1f6c6a0312cf1c36b401aced67c210767910e4eada3b7702d70b38da03d1f423303c5ba507179669842ee4b80853a92a402a4bd74cb4d971ae8309ad01470c304ab26a4d1f060e4c630f0aa9570c9978d373a380e7f91314ed4de03c538c25f7814628d4a51fa7ecbbdbc054603b74a510b90d6f3eed510672ad3b38aa70634b78ba6c12c6968b7e054163af3191a00901730711628e139160cca77da64fb3dc7e9ad6b2e4b14f921a60902352395b39cf3409bc4ab955656c9fb8361751e4800d1183fadff92212e46185216c3831567d72917a2c18352ad221ffb91ca0c0b46d23ac8b76d3f54725d305bcf443140e4a1a15b5b6e7a9751c17caf34a274d807abe82c753ec0a8d86d59fc569c66e4973e30602a5254d60411830729325a912109bd6048c5dc71a3d65d14c5e2794701120b2db8a487d4ce42d738185c0dfb4e85a3b7f100c3058d40871023b42ac0d6730a121c27467ecd5283f32fbb853cbd5cb4079f130ad13fff3584c27c8968822b3c0e9128b0fd38b4af3c5bb58a897b4994f908a0f832b8d98b3afac1ee4b985d81d30ff686604eaacb65fb3abfda9298c3ac92e582b19b3c8a575e35bee124e7f18e47df17de43fc56e8dc78478cc71fc51351c515ff64db0fa9796f36b97cbc5f3abc4e07358fce9e1959089530d0ef85b58aeb9b867ffe13a711d34dc6889f325a9a536181b8a388adb7da0a3f9453f2c73cb61f37c21a23b3369516cc36f224627dc4a39e82f949b3c05992a434046c982ed0da4c2da3ba758a34b073441c480cae821421764d9d7a751981fc241c3ce2a9129fd9a508f8bd847993d309f688e31adf714b2019df90bccc617338388337e07376204ebfe6a19f4e5abf36acebc449b3dbf2f4569eaa5a8d24feb61d0708b2aa43823b3774d42c997b5ea8dfb6842ea034c743b3ed0edce06e155cb96dff4be3487f7d5190e2603660ac15ad5322a1e072962c0ba2818d673080588eb5fef3cb23e2cf406685d27da93f6688d006fa035df88f1c59818e553eba2d51c6881e40493a447aa5c4ab0de87a0001fb911568852777e64b28d718b9b1e24b7c1f7f349c7afb9b7753d7af9619b8b91aecc3bfa5f71d25bd2a245f9f6dd3a8310146a28b9cbd5bbb48fa1e2384b5b1858d8efb8e0e72c4f5819e1b8479cbd949a2870becb77cb5d05f705e56fcd6822f0d047a53cd3fefd495cba9b44c93b50784273a9aea8fb6c6373fde806a8e6bfbe81f93b0019124ad2ccb38560381a827693331fcd5a4549681031b3abe5b6939a94ac8d1de452a7b325c25dbe5c6684a50de93abf4d34f97011204b1b28c7de06fd16c11fb0d53419ef6e5d1bf183298668948f32365ce6ba7e2219424438f46332ea592b17318757d24ae095f327c2334258a629be229f452458ace10b010d30fc4404e13e358285ccc50a277356c99668b1a40fb3bd3cd76101101011bcdf194d50cf18ef491059d3b4fb44167e8a7afe9efe56558171bc695ecb636a037106a44132e702ce7a2798df04c8dca49fb72e0b0ea75c676ac5829a3b8138be19fa22052ac8761a6c92d3044b3eebe11da443e545081117f56c374aaaf745d52e5dff32bed03bed3319abc7d60839d95235d48c5dbb8e121cb04e6e366f02213822681869e366b16d2794a920a05ac8bf1dfa7ec99de8c0ec008209b5206db2ea00ca2fc0dade8aeb86ab69dded3e80b9ef9eb5125c9f1e9a263e5b3fbc440892b562a1f8a26c9d9f0abfa6008ef4ff79009d8674486daaf18bc4319ded254ce43ac00477e8dd02ad5024295d2e6d027ebc57dd45fa6bc07c7704879e02304524d83a3b7e0e8469b3d6650aa40fc4253ede508129593feff45821824565b0e45728bc2a2a0b614a8f82037f89d68a39b35926e5f8e7fe84bc40052d5c2b1c4cd70701c87a75246ffbfe8ed00cb68c20e4bda57e3b5a8458ff2d8b187481566cb2ef3ad3e34283f306999b97aca95d9f274a7e9e311c492bce121c2a6076c2272c65fbf8f3bdffc043254141f217b418661f00ba5eb61e080c69680204f6bdd39225f6d0a160e854067d82b5b6f013fcd59cd5cad4028df259ba5920b16704463dc1e1081333d2363d3274a4a32e0d9b3bfe5f1da3324c442f849546e799d31d19d610f354742fb76b2f9d2245d87bd3a108de2a3fb9656c78d39aa417d21e52f428d6abfd54f604551837f5e94f908719ee6977ce8ec357fa379a4c98e08a8386837472d4e8e36b9176699ef7074334f8293c1a551ecb037ea9917d3afed826f28940ba900fb237cfe8832bb3cd3aecef0ba5aec1b91fae00b9d8e082f291b43f1af6bfb3401d6e4c69dcaef1b732e0e4953120c6bcde88e473fbf9bab28a47b68d682e2a86809fdcbe322dcd09b69301858d517e24fb92a358f387bf765ba73429ae07c926a674dae2414b06131737e2eb5d169c89a4f2adaa2a20940b93b3d7d94302bad731311ef63c6860f8e5e149ad54cb0358fa90ba0b464492e1c024868410329c10c98a0cfee3cca072f40744d26d098860e057a658d0736263cc302d09a06f220a5c67eebcc722aa98097384f5e4471acc32df703826e479b8c9ae01a01b452f9514471325eb8f260707a240d666211de0ec92f5811ff981efd8ffd597d1bb354de8695497a8b0b7a089a0d713aeaea4c7c30e3a93a2fba64174fc66a4dbb514f92adf5f1273d54990f322c1b0d6a80fd0e6e433877c5b7ec6663f28ff0a504a4a2b185b160ab669f7cc3b13372f7f1d4da607c7da0c57081ffe0602a00fd41253cad467a079a3c6b413fad3fd8cb19eb21a9eed6ccfb0debd4b2bd194bb053b3b90915b1eafd70074396e6b9916b66db075a856c7bd4ca19370ac1bbe81405161492aebc32c1059c8dc2a44a795cbc65e01c984e971fb59580313909c5ed1c85d95639ca629d4d5ac3d86bda3f6daf3feb196748e249c1a66e8f52458291ab81b64a0f9260109dac8f6f0461dd68c56e860ab84527627433895519a9cdd05aa730bc0cc9da3447ed79dcb5a8141d58c6c8a998a8a13077df737adc75d3532738e323544de51c54cd0d60c4442c0c59152fab4e85f18325e3f8abc27aea0f769ac6e34b84108841895fbf493aa047599a4ea26eff48fb5ae135e853f659666f6f64e764e396675c5edee47b55e1b7406ea0d744c25b90712114a83dd7f186403a13571ab884b30c9cb5be9a234bc19afc8a1f3de81e2af0358950e2ae4c6d07b55e1256468dbf5c22b57f3758e58d3d6081d4112771b2cfe803840ceac5c7d21082d54acbcfb32aae455fce577505c85254504ff96dec8879e40a8bf860ab098c1ea38fec0c7743933d18d167f28774a34fa5857dc8ee5d2433ac17909ecc826c8036b987355359b78dd25a547633424efb42055684f411aa6cef0f52c8a405912823d84420e126aad75118b82b20c3eef07894a35906292a69a60c384ea35381a8f370f899aac16122ac78d3051f8fb8069851c15139df877e773d391b3497b02553e543df63141c11d828c5460145707e3871edfd441c6fd6581fa85d93e0fcbb7054bff9ac56ab935ad09fc5d7e7d9633d9e5315b994815da3955f5c70fcc8490b7358bbdaf5caff7d55bc75a5e99e81f709ecf9b5d561a1e011f0b8d148375650432677527d7a4b5a5f0e216927050c48756e23819d9cab71cb04312f8ed2d350439d454258143c3fa6f744d19622a0daca554673b4871ed2bf6a7785010a85f54e6c085edda139d1fbf2803f51d56243e92d689d0450ff80c01c06c24da62b0825f193623ba1f268765ba0f5960ea3494ee897b94ea98980c2a23fa3ad0738d526c3dc1916de7083a6c20a70cbc65701e6f30c7c352b7b20af865e632c85a14c8bbeaa4b3b6adf845a7cc5f83b04f3a108a839696097aa82b1d9ad44a1e679058c151dacaf07037caabef3099742ff40ca5703c6563ac8fea9fdb57a52cf89fb0bfe6fc736937b1deba039a9ccc4bef77cb2bb05889ace98ea689c679970f4059bec68406fcd118917e74a2fd7f805b8e4f50e683b936fc5cef345a41062d1a114f3a8ee86f0e5404d8889311f1de08b12b299aca527dcdc48f18180b00e6e8f52aa6ffc4ce34024747129d926af5ce1f0a69c0cf46742c238f674d3c99a132b1f982c4bda9c0fad338355064760b55aaea9ceb97e7abf7e837a0c8f8c3e71969c314d74a829c08ffc660573300737a867804c4558e6207396253e0e0cb33378284d3b3f61c95cf4b366897755c1dde797195b8940a2392caa2e771cef8a6cf012da7d231beca113937c6649edef08166d76e77b8281b5a736fa1b4a517e0543251e493af846e36bc49311ed356cb478360a99b56246979984b188db574c62f0266db81095488aee669e9ec3c2d1cc3af00ebfc36ce8ebd0af309d09f3293cb0cf8c0965787078543d64bc61e9e1c2f42e21a6353530630845022376bc313b3b07eb21e141f395395db29e0b70aba3ea0572f4ec317c90a99e1fe367b35ca1589175b05dc4bbfacd2f2554dd4f350918aba1481a33c1d52fe9c60c8c479c189b770ad6d81fa436fddc04a99ae2e36759a850def80d60afd29aa87fd4e9ab1d652ea30a993d6fa099f283f95f6805f7f36850416485a225db3f1ad041310a5ec055bd22136ae30a6c40f4366bbc732671c514b69d281b3ecf2e98ef6cb32726189703f69e2297d94f574d4c276344aab0d9b6e45b2f6d9be1c24fa17a4b926c3d1e2c4188ee5e3ee70e2646e715ae581e481e9fbefc989148252f27cd0e50c35c0d0285662fad26ecebfb77ff607eddd16b19d0af29ae0a02f144d84834b80f1f848b6fbc8088788c70ec2fe3ff5acc030531bee19d95c09f5c0e7f6fe8dbd667f9fa2ace93938db4a082ba1618846b6f8ab91916f00cfd779e2fcea1e4e4075a3a15a7993a7adf95c8273b457d70955aafe74f061e012c3f4a892424fba2fbbcd92e6b0c52618bd7a1a6ed6c36c1bc57c0afeda3b21908ab5bd2808ffc7845b5c942acb8befc95b95f68fc2b5a3b6fde0458c410fe2ee8952c15c2e41c2e218fb8c9d20887a5396d8cd5680cf12202aaedf501a961e1c899466c9a13541d94259d0a347b8a1581def6ca8aa59196feadf67503d4e36cef5e032be194a0e322b4d0006cb6592845ba17a0585efd7022ec30d276a927cad7e7bafe29ee0feef339c0c1854bdee72da689271161449b73a612be39eab161e3808183fd48cc51be733d612ef74d230ae657759db7bd96d9983480a7635ac7b6e018e58c139ecf4bf326db18c89c33111fcc62a3c48039fba34c3cd926dafa4d10358cd1192121aca68d8281c74fa384171e1d600ac7490713abfdc29d95192f986b347ed0beef867e6f365bf7437d2f2377c33105990f08e9bb4902ead70ce42781e0e69c2b9645a6a80f23a2f43dbbe73e08bb587da7d9acd2b5388229a330668001440903dc2de4e1b9c99286cd7ee4ae9d66e1f2fe8ffdb8e0db5d9d9b83c66015363a28c439dd5147658586aef687cad067739b53c213d45b33efc44b52c0023513149791f1a563f27259e5a36b39e46f162d7320d8a8e931c9e5214df57f0b1b9d9add46327434093d2dde70ca9c352a0d4b8aaaa38f4fcafe92672992c92185d7d3ae87ace98bdbf467e89bc8a4bfa61d77eb13a0c53a3a13d9f14dc57a124c1d678126f99b07c0f9236dbf3559e0dd9b81721764476b855224b3b7ac8e8a60f676060967122a3d781d66e3e4152b03eb28ecbc90388feaa5e871d4122947bba194fb15ab6b1b1b252a8e649591daf6d49c11f3272c6a2dc92ae4b9ea5d0757d1be312f0ecb11d47a4c5cbc0d40829c40e7be013c67796adb5c385ea2fcae75043e1462fa44fadc1367417f1295754264a48a31f9cf5a9d1cbc0b63fcb5607d3031059a9888d53ae2e325cdc668ac76c6aae5711a70668ed3e8e1e21a52bca8a5c2d8bc50dc1cc400de2657b668312d3855de0cd7623564ec7826cd779eab3ec8c14cf4ae1dbaa5d4ae3c781a666685259d259ed32eae62355e7eee44ac7239779387563da38d418137da3a91ba97c0d4b5f1b916bf315d9c1bd4fe9284cb77357a40a404fd06b2fd255e5482f273522d1c447ba0d3032a77556959b581ca7778fd899bc362b2fbaeaa891a5e3f67d148037f2060b0aff3e88c37d63cfdb7da1810ab31e4a67b356af8bea130f6d287aefc7ead281a7f4d59cb87074a3a39d96816c8c5e6aa855de1c48a3962c056e05aaadd2b3180e2cc11f444a20873f88c1a2b892088a0549ee693e827a138862e6890cfadf15590bee8af1693ae4c7172ec3f7582c92346c51bda06ba5197ede4a7011f6da0c983fbdc27f1939d0490c6eb93538f863638b7a3a75256ec4b018eaf36971086b0f393d92a648f10b2c6798c982e8aa9b1d0968632e50e44825228065092103f09c64ee3eeadee0ecd5da111c3224f01a779703cdc50721d05fab53690361e30d98913832412dc0d858eef85a37e8aa38745b8fc70a601f87a0a4e34a7bfa579fe01df5e355546ecaca53970ea1ce0c84a4362cf174cae59de980b3bea48811ec0bd274833505488972cc644c12da5292e8aeca637910dbead47d726216999282792a5a2b8850ad9aba05d1a035fa4faadb5961ea20bf19164c974178e0ccfbae7c651461ab65b21e210c2b39ce284da9e9219342e5989f702205ad47ef402571588523b74a3964b05946c2f9413a589ff92e747c232c646141f0d1716ca4c87c0b4dd48564614e1e69388b0a1b5e39cb78a22d4f6540d1b247099b19e62ff509388d81b852b10ac848db53d69c9301b30bf46eeb758a40df9fbd31745246640a1301c566bf456585fa36177ebdbf7d024f5d8078a322e2867231384335019b6489462647d93a24f829f5e0f89a206578f5b9dc9845c7f31c91142eb80b9218452f8f618d24b862f73159ca2f2116b12b1538c05f107d37d807fb6f49f2cb3dee183283e8172e1cbfa9a01a157013ea309c1e7116cab1453e0dacc2a551ee655e500273acc4e40a85c8dfc287b4ff504371c4a9a23efb5bb8e94281e5e2d16dc5bbfcc677537551dbdf8a6b980d622a5d9045f30d26a6d298f0aa3b0b8ebf52cc26f1018b2a54c433c1f0bee9b7627149ccb52dfc2717b90f6545a4b61c6cace0b78ea65c074512581589ab1eaa7c50cee9e6c18c9cc11c2e987b68b8daaa8c1cf87a1cf03d32284d4e215d87a2992fc374e9605ec10133c4a059f697d25adaf7bde55e6e0e9db7ad281d08a220b51ab2a492ec49e2d6df1b3255b119896df04c0f30864862b052b519814053edd54f595aba6fa34de8067f209b22304f07b347a062c21a1c742c8cd3d7544a83e6df7d82c7a1e7fb5427452b2055ae26060f434d184b4edf1c7249e2c403cbee6bb415c9edcf2a29aa64b7328f11d1bc51b58239907f09142350233f32c7f66efc657a386d816565f11238025d5bad38e5f1d63e11d74753aba65cdb012a242e7872911714cb3ccaf4aeedb398c24784fac3aa58bce0e88590e03edd9e0027af56660da5b5650b456826a1eda32bb756406090a1ee594cf1292c145e5607f6495fa00a8b05d1956ed63e2b682cdbfb3fe0687207958d637e2581f65682ea6e22a7b27dec57b013b32903d448825820878cd810ea284a350cffc5fcb5f4d0f869f4e8126daa4f1bb02ba915cff89dafab732b69be9980757142186639c49e6c1986bf10d3eb91727c20635c205666ed0b60c6a285a2cd2748ee0dc87652bdd83e6be334461fedcc4fc1eff93526576fb3d04bc05e60a8c92a1c69909b02734053921d3c57504428b2029c1d67f57b705656a06a2879d19aa282823aa765c4571c2194c98da185679bc9c0150498ed10b8206291413ecd02889c0918d39095b0b61a94bff18542272d8b068bfd03a6603d59c41104041a4cb47a808d04ce2dee15d28390903e97f1ee77ae99307731e101775e8c25f15bd27add10599b21700c6011686ae6b72f4562f588d1a1c3b07e515338474a7d39fb057d5fe83d2ac56ffa52fe83b3198c55172a495e420946d420516c625f74f446b8bd40bf8157768484fe99a3c92a992e7492b52518d4e148603ae9411b0549b6e37b6cd0e6663dfe7093ce8c7d4d545952d3df9ff0e1c4114ff0d310dc82435cffdbc044084f775b1c406886ba8b12cb9ed76565b10bbe4d43c213582ea4f09becb643710113a4a3bc0b22d6c0928924b52c63c98a0762afac35026040be166d703945676c3d6bafa156d86f14941541ab32b18b6860e0a8a7d61f0f0616b313e85a0b62884805d9253db212461d0aa20ddb0b3aa4985e334e4addb3c482b9f5f3057caf6eee50bafe87c87a7eaf77757c26167805661c423b35bacb1c71854ea25882348aacd3ed18739ee73a605592e1858a274d91c553d2f0eb05866a464b7b5eaafa9d55276d259d4a1906102f0809b09a88cdec0d334afccfc6f35e8c30cb4083b93077e85f9117253c991805ab504c86ca2c75a9e49ff43981e2fa2a52ea5c7030db456c5165aba50f010249ab0d1202cbfbaae23b1bb3da2c26ca2ba38af173763690eb879e8a687a20d8c4459369d53fcbfd6652ba5460b0c67babf0fba051945e7e019a78cfeb464c8cf5469d4f8a2cbf871002485c1e533465e8c2f73f68ce5ac9a85647d78103ccb38740512b75f43319fb27f3c9c39ec847d3f92337ba82bdd94ceefe11ca9a4160d266dde0b8fe82b1322745c66d2cc541e557f5562d75d4c618285733ffc91d638a7d3c8237bb52f749193b0e36f91154bf80597a817dae0fa0ed937b2fa9e6f1491a0b3f6cb18b8cb19364612368c9dc22ed45fc025d902c135cc5e4c27c7f9bdf7754c21a24d85c18c0a089e0c1a43bc8fd331eb8955e1b52c7771e4308d648ec8fe3af9c7898431a038414491b3d7e6483a905ebc0d190dd569288a6f7df4b8054268c58fdf63388fd1862dfc141cb91344bb0bf59924526a1804e895e25fc639ad6eeb7c6ab8e6381a72d3bb4c9fd01ce1370d6b3e41000e6469d4a6f6b2e92ee2bd0846a495b5c040d5f8685e975c9c5b5c959a3a165392b5cd569c9947b8e6ed1808f0809aad4eb0fab3ddbfab5e580f637a9e78c631e098b82829e42782ef3195f5452b26744f6dc40c4d9c1bf6ba56fe92ce55e63f24001b0eb3c2f00fecf39f22a5fff8727d3a54e50170e905942a81cbb61332049aacf2566e84bc45297a5ef998debf6453b0dc73e6b53e36636b82a80f649043098c43d7e9d90b84225e2f671ed81849c8f6cda47506566104c3662e18d95596ec3f7667209382005726db29e71f07ac3a2ce0a008a41543e844cd8be1912014d202721412b11df3729217d4803083f9e4ab18b78355af541cea2d3e3aede50cc541a0ee9781e0a77d36c1d1e5ac34f42ef657a7ecbc78b3452ed85537c27cbaa0ec128c357d28b1a3c9885db07b55a83626f086b4e9a4d81293bc649543dd89d1e38218e4358979c248a995ac226b666717a40875b7f9afb2d0acb9a64178d115c2ea075a225c3a8037e31aed209444a3c34c602b3290906982af896eacdf9adadf80c593a3df3e003f5b90ba5300ea43f411f79706a1944513bf05bb957ca3af64dbe8c10966edb3fb0f235ad0301570b34aa95f292ced6c0bd66af401b9643248c12912869314c708f36a24bb364e41587143461e5a912d389f74ecff10afc73e2ccdbce0497aaae032252918b7dc3453be7391748fcf2c05f35bcceaa8b58c9c4a309145e66df935d566d212f55d63998f37a7546083b9efaac8555795c944a9ccb6124672d2e856f9ce48f4ec26daa988ca37931015b926370354b220b8486988dd9e43b6fcef147801f136367a0e26b5a5f0edaaa1d64a88162dd807343795731de39f8874f186fbe7b0590a9b031f2498be1b4eca8df8bc44d9e5a1b05889a312ec0dc88c2d4e70a26a83a5653d1f591843c64e4b04610edd9c38ace547c6bc31b329d77a9b6246426fa233cee7d4a138cffe07ababc55230eb4952b8868d3e8bcdad2997de2e446785f9bdec1554efefd358f369fcf9e92d614b202659461201a0a422bdaef82082cd006f238d2a56ea5828c9484cbe49de6d9a0c61b901914093500e59a81c261ec37ac24e5b11f891f62f82e95d27616ac41425d730d15cbdcb6b60b046735622e9876585b28a2e8a0db5afed6cb44cdc6b1109ea3cbb83da299cf275d836079f2f4212ee5c1538f768c47509088054144a87394b7af0b54ac0e80f8082691f1d15047d7b25c1a02a00c71d2299e422c86d25f29861c0a04e2ebc2b055f66f1c0c42f5e884dfb31258c43ca87e2ffe7c9f3c8d16b5c0d2a33f06630690db538aceaeb34f5a7ce3c7382db14da1abe53b05939c25bc054c59879fa70c493096d2ebf82e90828e341b59f163d63529e65b0a9f93c497e98ae627496ee26a1130f686e816e9ccf76e6b6b490f539460dbb111a03bef6dce38c980b2486ca91aa829bbf3bb08eb2965d50e523154007979b47e452951a13654d930fe8949c5519ddb241d700cb1534116abd5d97140095bfa0b13c004f77cd69feabd915eff5efbe418eff6cb574d49ad4efe90024506882859d8830141fe8f0d2a036bac8a8d859270cbebac0b0b8872108319f2f0d0c94f3ef503ea6b2511a395bf253352396a72a08e7c30873fe26c2d26783b270164b49152ec720ba82bdec9617369256f3eb6a7a0b5e41825982b3a9bfb2c706683701ff4a7e5de684b1ef97cc39c2f8ec4ec16cfe7922035cd3b9a5da0451245a3e353aa7641f4b3663c14454d923e80f977e3a07322d0433073a03cf9f7529d0e42e44202a9a109f19935a5b9506697be4f0437fc343d066f35793fdf3d3cbace701078ec024faa5df98d2d1dfae522fe1f8920f0f03b632ad36c48e2ac36549deac94efa4293b86d66b1d9ff4d48791f494e74b102c55b52e12a4d130bf42eaee79b64b6aea3eb194fb53a732503755021f35297922a7b48fe46594d31a403a7490ce6db0c7b1871f21780231dbe5363abba1733e515848d56d71d6535721faca5a0fdca2b87a5e84d63bb99b796fc0ad44d5e57060f60d6d654ba7d36a9024107b0fdf885cc47d9a3f5242628e05c5bcca4cc1e6a57988677a769bbf0e3bc23016cc81ea7101bedef18523ccafa6186ce10766d37002fc1d1112d5c6223df3e6acbceb2ade26a68b49422354b020a6ae70910f3bb80b2f2a5ca8dc5f9b3a725fb94c9485d0630837a5eb398dd1de59edfccdbdd4ddddd827431bcd0a8d3b4327dbb3ff7e0fc152abb0d88af4c620cb748410ac6f2c96b217e4a6d7daef71bbc4b2bdc5359479affaa764d709019996722bcfd61833941fe986b3a9191b17a2dcb7021f0cdd076d3accebb93d37c17fa86ce7b86eea4cb9954ac50ba105ff67075a6626324b6e3d928ccbaf93b5cf7f2a975267ff9239677c9668574466b765c76c740574cb7d14a54e191102d1ec43dfd91f85ee7c4c5ad387fe25d7c0650890470e1851a07869e7a06fb247454f539c21c0804215900113d71111e0ca14451ae20f1db82429d3963c34a0c99c1408aee066dc1a1f0430dc5a186024d91f6344dc0f64690a9680bfd14404d1c0814443ecb07ae9a001b73aaddf5ab8c8bac814627e4d39c73db3c6eaeab655fdce243fdc7a18dd988335dc1cf4f3100230fe2cc1d7dc7688aae93994820782804d98c2de6b9bf5bb13d729cf203059c7beb4d735d70be8c442131f143a419962ccfd7513cfdea98e50429c4f753e89ae7ca21dee354805231cf8461f660595cc0777e345a258717d1b14a41034760a334ef0bb9d86fb18a196ae846a0bcc1c4d0be8aad57e1c415e0711ed1c14e29b082846ac4387a0d00875abadd1e23f01df5ca236052c48ab85e4502a24c2036d46e719b47578f49c9c2e5fa35e001dfc969ba0e89d4073c799d5167e1103362004f2886128f3ffc6bd0d63ca411b2696a161b37e095e07969a61318ae0db5bc05b4d5201464f6822e6a96b5bf6ab1f474271880241bccc7508f169240d16eb90b1eabdf2f76124e8ca3fa6bf7923e5b362edf8d4cc502b38952cfc14e145acdac64846957f0632d03e7d33ffd5a8e7e6b39554b6ca3d86d8a381c590a5a34c6b540349bf00f231434792a41e1691ba5adb123ac3f8dd2b05cea69a21983f441f08254928cc43286e6910186b33f407f40e5ae47ff98668b0f9e0880fefd3967160947fab6b3078ed7ad9aa056686d6ded525334306406b353393fd3bdbf917c86925b3b7bb3ba65a1cf11b3a66e27efed5efde42cdf227c6cc9855000011f0f7d1cd7d411e870f2248e368071f54c1335e68dff9b3a8a36713901ff12f5133587a16902a85fe131ebe816ee0735c60e555a3b40ba20262d1c620772049e80a49aca03740d6839b18233cd232e52e8a8f6a844c962ef4a9a7f12205a9b3502e1a8cbe1257b05398a29fe41318b23b03422986d16e1e7e7377e7bc07253cd87d79424d7f7d03da07e8feffaf7a842ac0e30b0e205e1dfc57512e8703536bad3eab812bb450da9115feae97393b19fc858d9bae6db0f143b53a7d0aea46e8196c7db870988c14dbe2f30c0ec4a61799e17915efa16d3e12cb3038c248f3ef6e15f9268cb2696424513fd8fde6519d9d6cdeb1f8a44b82fbba468b96a64bf545e5ebc92309b38c293b70279cf266487bd1896f6093f31e7cadf655956f58921af3d26a2e44656acb8c7b0854fc49247f775d2bc0fd79041e0f65f0efca5cd578771548b8f8cc3b13ce23d6b5e2a9494245c718f4b99e171eee45622c161348290c306f246db316ff0124af349593e14f5e0d3f61c78bac75cdce52c3771e11c9ec6fed199a537ee70bbbb23cb3be24398249607fe1cb6b96f58998448eb8bd969f156cd4abeb1a263eb7249308a9516624896f18116412bcd469eda23c4aec8f39ac09849e424b2a5df25f2e6322f7cf21a39c112f5662a0331eab74c8338e1157881a672aaddf36d640cea82a952cbe4e54c76adc13bce0feb43820cf924c030f54e5411354b517747269567a9d650dec514582d415faf033903ad245e414f89a0f7a5bc4ac243a00934a039882b87d3504ad1ee7343cf6fbd561c343d3efeec923ed0ee42322136ade721859f0e5e7fb272bce677716513cedd155cfa0919ed049ad1611c7f9bc3f225a826116b2604dce5c0e08dd2aab0e56397ed8b345e0c6ffb29150fc62e8fef8016d1cdc228a8aa1d46145286e1185baf3251a9f45d41713806f8042d5d259c4f5bbfd70a482fe380248fbc509e22c6203e743adf125e2393a7345c577cf39e3bb4225a00a7e4d2baee8a5509c2e775a7722686650cccb18bf7cca3afb89dc3ea7ad430f23f33a7c5d1486465003c5c8012ad0e830085028acc31377cafcc80184064d9f27700dd51022418d1c0e5898a46ed8a3a5515aef44e4baf9ac72b06531658739ec44ac962b976dce89308bb1ee35cce382e3c9d290edf9ac226c3111fc434435ffe0255bba82e2369064e086455e0d7330e7a26d668a83f62d1ed476eecb8970bdeed562cba7175977b804a1f2589024340b91b368af69e02c7ebe430c6716ef888d7d00ec671682b195d61d0e1ea868ce0c9c64eb511d5c016f1d9d993df60ba9f894a26eac62fc17f046c40e84892ee26882c7c3c0c122fa598859c91ec9adeada300b31da4b54841ea48598f40b41a43f69218a5d34b51dd853e0a453e0c45f88d30be162c919edeb28a0dee9182df2876c580b43053ebc0b5841f8ed363221b5979018919d8d2cbba2718462377bd6e26cda0a18e93d1c89064bf7fdd6ac1e558e5fea1821410b2d55a32c0a87bfc4c03fb49583fcb910370e1bbab22ae66d0bbcfc08c2a1aee89cb105ed2e1f2b2ed3a26541aee1d40464f3c743a9086d02d7c5cb354c079c7f0f62f591b354dd431914f69921043433de76669a9e90039ea196166722be03c5e2f91661aac67d800db587a0e8cca9692a9da62cb50791eec668557b5007519bb4071772f5891b477b08c4d8973f2c0ec5e8fb236e41411b04f8a1cd540601a14d4f3099f6742026f1a1407657db8c5e585304fbbe4dafe1760b20d9b017d23b7c60a9b482d420c83b784ede9d24e15d2e9c8348c83bd8c86759500ecc598e02b45c0ad4a9f7fa5bd9816e7372aff79dce55645842de6122ce01d8ae032ae72e82b75c41165302c83b1879f90b0aa354fade1d327ec82566f0b544ea4f6130d2ea9008f621cafc8a2316e8826768af879587f943d70b4f8f6f54ab053c75d90c487c3fe90a7133d30d182752976be970ba9bbb382bb24fbdb31807cfc2e41c4a832fa6a151fd04b04feb69f7a41d0c3f40824e7054066b2f8b3d6d24e0bc3b9f829e49625f2716f12ed395a25a9ceaad0156c7a44d3f58004fb001a4bd94b8104b786da0e30e8cf8fc584c8e968f94cea824fab080882968cdb829683ba2357fec7c2a74d7817d2219f47b5cc02a196541009ec45e9c5817b1ca18e224b4ea5d786daabda9942092e2ec1b353be042763e21b9496ed1a47dc8075cd05c1c75a3709f3fe23a96678172b127eeaa351721cec090a67e4d6e010a12803179af9cdc0293135cfe84394b9830dfb151d19ad105d1092e05093a5d26b8ee1354c3d156ef0e81ccdf8c3b7db382aa99cbae0f6f7ce3b88214478b34d1bc0148f602c936ada475339a6bfd735c515ae2aa46a06568b42818ca4c080a784c90e4cd2f91638ca2b864212bb8183593475afeb718e5388864a39972ff18dd3cb4cae89b854cdd77b7e8f1dc91eb31920f8d09d2c1da4f2f4c980201f48ad8194cd242ef22f8008f7874a18a0f1f48d56dee95b95ba4931cf02cf82846f361218518e1f0ee7a911f46e7c3808c6028696c12a9122cc00b808967c4e3b21b4b820c3b15d1dec777c5fc2548883d7e56408480e3d313b24e19a586d81a7a491bc581b6ec541a8ee59e94dc6c8704bbe67a109f80824fc1b41e150586830a221f18dd1fecf572e582f9c90fd0464829025ef76b0fefa31f52a38fa134f79d7ffb8e36cf6b4fb7bc98d9513d2c3cf65a26ecd00483cac63f5bbe078a712215c3efd4793660b92c557befe16df35d7e384ae0560cc361c456e51175886be62e1a09092add988839036522652a6444f66fc40fa20e19b0be8c3b7ecb6c91a7f41cb78ba89d6457f76b9be5ab6ac4f3dabc3f0c20d4595d18283fdf6a885442dc9c521a2f56c81cfc8c798664246e5012c660811228ddc4cb9218d5067a253d032f2b0c3b4bce54172f99055fe0641f49feee933cd9870e440ca703c6ac197926a36ba54318bcc584cbe3638a453c83c7627f3a44379da80ae5016662903bba88878042d95a3a047c3f447967c0136c02c441789e8d597874e3bbe92052cb0531d14e7947d3fe5c04084f14c3790ecfa92950530abf1546905b8fa9a5c1d5a8b669d9f5442f331c1404ee5ab13f94d630cec7d3adf8fcba72d54017ae1caa959b05b9dbe70f1cb05a98bbc80ec733510050b0164598e13edaa030a0922a42e9aa4bb22f236826405d5892a5384360cea0090116ff6d66b9763ca524da5c19799dae0d4d4965802e7b3599c2103c22cf014df38b69de39799f58946e53e6807ce4c5b3365cabfb045f799db4121aaee1dd4bc2073cc73772bc14e7bacf36fc4520b9e73864233a7e845da97847b9968ed407ec0885770710ed0897aa00df6ccaca509269c79643c12a6d4ba70dd54e1905817e612914d088530c6a23d3288adf132836350b94db58338b4b0af52eb5ed0f331d561ce4752f61a8de9fd2246090ce26242d339b6448f08f71a6f6339b9aff6fc390d5345a837b4360aa176164f68d9770229f7287b4d7bb895c9b3804f8a4946132881b030885f47b7b2c8772f07babdf371ed8f746ea17f319984596f9529c6a80de6f0749d0d577d758a0a18d243c06825a130d0cf2769f7703096d46511ab6f88cbf16c6f6e057c1a846d051d8ab29dd35ad8a8262664c9049cbd01a901c6f5f1192d551a11c26bfdbd8c782653544b809ef1cb6536264b17b955c10cc1c52db62c782815a34128629ee60a59082e23b889fc575e29bca81eff9cc8afc0e56f3be67034a7bbef3d47ec4fc81edf505a91df3a8499dd4a7a671853cc4be3a6187d5490564113909044d3c1e7e9a27da5f9e05d0d3b25bb9489791d1dfe150a2b5f21ed29476f26fcfd2001bc11af2f8255a34266fe7b21c8858f60f0bf296e46e176e2783fdf78e926b5c02e2a372843ab195ea86c76aa20d9dcf06fa812afe59ea32bf3c03b501f258269769b9f0fa1aa7ff50f1d5d6f8cbdbd6a02008c1e891714cbf0fb300b3abdee8370ed61d31fd46480bb6e9012040fddf0ef83e7735e238650f5c769ac5aaffd62996e6a08fa50db25ad25f40458f99c887a585f2f07fe8ef6bb0c216baff6660eb30741e1501f95817d0c173ef659ef06c595fa4c4d0312894beeb20a2d092119656b6501805610f70335cd9ce5759407877266ca89b330878d749cc3e4fd6d4591717affd12e145793d814422a6bd6727c4b4dca29e08ccea07f66e66c37362742c76c93dcda0b92cf45dba5bc692895545d5a5702896d41166512d59a58f634550cbfb88589757ac12ba95714fa80b9000d29e20d26e2f2b887bac5600836ec676dcb9dceecec779cea3617489085e01340e14b2dfa103ecf4a86c0c9df97641bf1e2bc7c0b92df8672f7fb73da5cb3de639b7340e535e8f6cbc3309700975a894662d4505d172cdcca8e89cf224dbdffa60b44cef2b720c32ee22ad9e178374779abae8a3d8981d565b213737ae4817f92b40fb916c8a8c19747a7d3e1733305c09b8f170f1a175ce3ff3fd5f5a4274a3eab7c8004555c0afae54bcf36516743af5ea6d86085ac2c9990615a8b95d649ebc59e7ce90b5a93db51b7473979ca4389c7365461a1d253da44aa7f3468910c10f9e1359f3d76a6a198c9fb259034831d08d0a66ccaa049129c6bf17c11b33686bc4850fee15a43ffbc781995080b7c901d7a33dd2ff4d3e8ba25158d85917c3f14f8e9ec103083a3dbeb73a707b53fc10ebc082c20e4297cb6f90ee038dd66090608140e6aa428bfe70a9da456841dc49ecf926c7abbe32e0079f9ccdba997fbc18dfba3ef42d5b42fba28018bce351ef0fe2718d65eb3a9c0d0e59eeb796b723ed2ec9bc644af8b0a6b140c367cbf80bb35d3bff5a0c8885652308748179c65a8c5a59af580c63a418f9129ac49f0f22f32ae275a0685b9ab824bdd7d220f80bacd6b6dee477367ccbe47f3bd966ee06ed80a5b8071b24371a992f0062b9417bcef78aa9c1b2dbf48a9d80fe7288b15f5f2751f5221a1309c68c5c59a7f4f5a00991d45abbac71a60a35d891e2272269c5fd9accc331ce353a729992fb5fcc057d37a27d4dd2d6e41d8888c080f0aabc266b55dc6015125c3f5e2a26c3c98ac29d4a75725a69a68d8f172f6cc773d0c1b03681b9eda33183e83e6d31c61984b17869d815ee05a01f59a6eb4762069717931f145adb55f1b5c111c04b5e6d95476cbd4cb98ebe3274d74b3968da5d3f379218b2befd970b8a2ef4bb7d91aa15cc913f0f1815e2bb82319feec83edd9046bed009219a6217a5134c4392f59330179238100c8c4172a06e424859ae0b66f6e775a5b91382786113a815bc524a080a6ff907beae5aec628c02c2a9e5f3469afab0b54172cf4b9825efdd096f42f062a90c96963eceb38868ab5502d06ece83940c89c58c1241ae0e82d433340667cdeff989b978187d07a676c25c9526c082dfa8c35447682041c37fc723c5035af7e03ca5c516a23a9445aea01e6678d3bd04da716e93dedf6282ad7b65901fd54365a4727f393ea6b41e0e4eca48979939f9a983d40989a1f48b8dd367c49d58c198e9ef4612c123217043e287d1aa6d7888c5e8de07345ab12d620e0d321610d06962041a28241dbe1609a3f4a4acd5b5a38466337e84db49a5da7e640ece218bdcac4d11a77b39a2f4b7a5b0b2c5e12bdad12ddcd268d2566ac0be5b686acd37b408ca616c143b86ec8ee2281d198528e855ecdc019ca00685b86e41ac27309725925379d15034cc6578e52aab43047e6b137c5fe43971ea692710487fe610a33de2adf9aaae744fff1c7b7be8d3a291e601a5fe8cc3d76e04a16ad3fc8f1c6f3d343337cac4b650ecbef7d6e544a3ff66e9596daf65792250266697b3d41dccb3b0f91bace2ceb9ee1d1dd1ae52575e30a30c70cb49801b1bb4be7155b92cdf89080c4d8c3d67470feefd34ee0b1e7e67fc00da67e2efd7d006e724a275145debf56bc03365a32e43125c5249d24025e59769ef451dbcbb3be352d3a817b3fb1f0f4480a382cdaa6435befaad4b59c65463f1ad60f84694514e7217346cb060f6f9664666899012e099b1e32df3ca575e0619345573fb74db40193528685145ae941e387a2746b8b30f6df625d7867b1ce2ec581dd0dfb33d9c23cbc2dd328b293eeb1b0c06019e3babeb97e67c58d3e9a86bbb53a7b9c20eba6301b19cefa4f0529b259d86dcd5fe00aa1b3d17d935bc501921199bf19c61def096619d4cf80c8fc70a00029d3e580dd0961f1bbb2db479f38e3af059afdabc56005d325366c6ca7ce5255238517670a67fe6f6659a6ae4e805119a85e0c2044437e75bb5c2bfb48d24250b5e8ff11c44860fa775975634eebda9c8ebc1d561ee2882257db5aa725e3fa36aa132b10fa27abf18e750872197a2080686ae0ba36ccdb28379b725ca4bb069b6a2d71f13bbcd735cfbb4af49ab541f705086c74318d033db07375602a0a92f9e8ae072e83f77c6c2a5a93ab8505b564d9cd1e2d758b35b6ab3eea5ff2f88de91aa87519e32a87ad24f9345f7b61ec0ee7823e5419943200a205a8e307979323608a2dce018ba111bff1b5b5b7a9dde997082fbb12c4047a6aa93d37842d7897f1fdbee748a05885b4aaf2c2c9a4b501c1fe32b62b92677599575878fff74925881c846c6f36c1a601a2679bdbf8d838996a82356b44229015751c22327dc04692d0b74f95ec67e4d360f290d029565811bcbb6ba06f9b057cb2e23f957e812fe96bcb1e0cbe714fb828cf8ba3c9d2fe966a392200e35353531513d7b26e3effb1d472009b52f2bf84d30f5c72c075ece69c1bc2c56e223700a262ff423feba9470c4a1c5e4db4f1c112e7ec4170c368a838159717df89372e20de87d04cdfe2fb8fda694a8492e671e700cf5ff05abfadd5ecf3162611833697c4219ab6e40f86ace94892e534919781565a17c9a2325f539b2776472f5e37b78971fa93090a8d93eb1a370b10315865674da830b2a00619a64a9b800b558bbb1228f734a0f04947c5c3b06e18b51432cc69cc5ee6f12c5a13385dd02d865b40a57491b5b623c7978d6c7e4d8729d7279f9a5594e921373608fd0effeb59c3be829bbc331db9de10a4ba303b45d680e4c45d0f86e48f5742a96b76986a06064928377822d9d9f5510698230991114877949260066bd917a183bf5115a68aba9bc67870556484f70dbf6de2b69364b7584f94936bbbc9e78a58858336313d3f13766cf1c0ce8738cd543abc3091f91941f69aedfba45bf983cc6241d640cc9df73a510764db32a6daacbb6f4ec5e735e176ad123c8bd4f2403af4677b85b44531cf99f83fdbe47762d982e0b7e7fe5292edcd05a34017a1555daee4b7325bcf400a01fc41f7eb8aaca918e66b284ca9de90163a35a95e4a9646ae6109a529d46f25cc8f017788ae2714ff266d0e837a6ba1a59a3d61ac5edeb4dee8151b43171415bea587ec23207fd110a0b44a664488028607999bf885203263372756a016c547a55d55b1666a95fe37ec06c1d28e38a9677c5ad84a241fc03be47242aef10921c3220f281077506dd0224613313dbc42742c12f19376ce0778a8fd73970be3827498acebcf57a8e1b4920ffbaa9c4e57308647350381dffffcf9cdaec2f601b435d9b8602d115cc9f66c5d06dfa9bca8fb9b667571087f684ed3ff0f5629eba5f0714019c7004ba8b33b654107066e31c501a97edcfda55026ab068e87b63c04ffe36fdca08685e07771c510730525a2ce0c2a1b402ea69820fc3a0b2e8f031b546207401cc6a3d89254f9e8c23c944e7b109f885c576131121215b4a99a40c0b0b0e0b7a0b35abb66d5201b07132478559e72479157282d6905eb0ed7f324a501c15e48ddfbe0c8f0c4ba6c7a48271e3376596d8f66596d01bfc59b592d9d936c3c46c136d06f733136a8580e03d515320387b79551c7702ec8205ce6c2a1484975712b625e5c043696ea689dfa689f57158716cb7c13b539a30f070332f7fbcb4f7b4a96c677c34bc2478ad21f0d0937d2c922a53cd44a397869e79f2419a972078c53fa4c12b20cd51ae6df8fb99a666689006cebcb4db0467db3e08de98c392d063e66d030db2cecc20355973ea7d9968f765491d138f4de52c8a95878ab7db54e46217765ff60480284a671720bd995171ae6adb379981dee490bb104d349b0a7d261a689a68a68906237ead3225d86083da5a9ed6fef4f7bd89e628bb51740a2760d9f64d3547c56cfb323c323d9ea263a099b2388a5611854ac6c86fd34423825d3e486cb3544de103c53665966c2b825fad3c8e7294a3ac7d54b72d17ac8caa5613ad56138d07df211e9baa3c591cc7ffb2346b28cc01ef5a850bd1b769a2d5f67dd314ea30853ab2094b0e13ed8a689a3218c44bab6832836ddf63e2286ae506a269a26d7b4db4d74c98269a8956b91f47d999a35677d5fdfbeb2045e4ccac4c5e9338c34767cccfb53919a5e1b8a7f6cac03c13ebb63ed65a6b4f2f399bcd95f6c45d5906c31cb6e525c7e4cae84d18c3b2cde119676b3b7a738f8dd09b96cd813fc236c7d55c634b6465ccf3f68445224ce099e3c02df192fb9878c9999ef7f923afccf3fc3f3df39f39ea7b2e67acd2e69d91574662fcfe9b0b73780e1d30e4ca384e7f557f2c2fb9ff78be9697dc07a1b5dd1f2fb93bc3faca3e9ecdd91af7980a235dd879d3286ca10af67477ec89fbfa755d9e89797fe095d11bfbe3a9abe48aa7ee123f5d41716e12b4260b7a73797099cc4427dda6a18e192fb97f2fbfcd617c99780a2bf19b044d61237ca8cf010e70c30d36662a875558e39d2d44f3ca76cea248b9cf5f10976ceeafbe4abce438ea051956719fb328c6aeec727f678e92a935dc4d82e39efb1d4c5a1ffbf292fb4bda285e721cf7d6657db8b7309f7114fe5c2d583c040ac1cfc381e30720a88d0d75e56c5dd6ba76aeec56253b8e3a6daf3ddb99c864b029b1dbba2d22ba1a59cb3b3b3b3bb4ec1dcf4767ccdbd3436d4a0c8142f0f3c41028043f2f7f496fbc450c8142f06bd162ce2151048d63f80f963a363664b622667bbab2dbb29e6fade93c7f32df00f5c2d3650881a034fe5567876709aba75575aacecd43b2772a4cc319f53d7d9b1b1cd53dfd6f04126d475a2256e559bcac7989c5632e1329bdb16fcec0d95e0c812008ab389bbed56ad8b664c9473db2aeaa112f752a112fab1130a0341f0782c8302497007d175f1104210409c4890852734431cc0991a51ee08b2fea20a10775106e8a2e14c93f24e77350147f837a873d390ff2077bf2079121e939db11f73a155aa9cbcaf62b6ac5db741ae861d8ee5c6c7fb74271f0bf15c7bda035fe3e86ed9f67e2dda687a0873ee50b62ad462a112fad1744d3613007f0a8610ff467df23c6aadab94bbc74c734cf414ad0ec8b8be8a26df0631e11ff7723c3c4f7cfb03c25c7e88d157586655868b352cb5df0cf19b6bd649c8ad322c3e84ddda94cc5afe0c956f0d71f2f3db44cbc746bef8fcaa7380af4329b12bd3ba7a2349cca26c1095a43c453960967c453d6896de9a0c5e585b4bce8cdaae2541e82b6effedb78d0f2425c5ade5d5e7c1fa26f11dfe57d88efe2f2221f2d2f72f1eebb9cf3f659075bbf0611fe47fec83974363695a778154fe6f27192c18f561aeac82af3ebc04f87d09776f07efb4dfff09eee999defce5ff8217288dae91632cbc859e97bbab306759d652cc48f2c332c4ff1d2730ce625ce012cc71c4573e036a733164a03cb5590426bee07815b82a23623d0140e9e8a7301171005550bca8fc3eb0b644051ddfb571ad01410415cbcaf7e2d186cdb97bd40c5b14c00224885354196c5f7477aa4556279bcac4e7c643f9426c3328c06f2185ac8aaaccaaa2b6efb3dcd2c9bfa3cb36cea7b42a1c03e181696b06f6b5fd657e58a9777f6d1b89c59e1ce3d8ef2fe7e6ee5d3a6c2cfaecf45693e97a386b01f1828cdfdcf0aadf1f1d477c54f513cf56171abbf19f8e10bf91ef49feb7e4240ffbd90f0c13739990fd07fa08fef4120488f1b0fae7fe0df7e0b6288938d1f935ec91ffe5bcef7decb6dfeb9f6254dfbe6cceefebbe0cd3df9cc597f324e7fb1ccfa62fb7e7e810f0c68a052e1a0f3a8572dc83fb3b6cccaacba41ce414654fb7250682acf6852f60d43a1e65e2f7a136e4f09ea31b1afa7847d3d26ecfb5e119ae2645ad0ee7ef7436fbc0739f06a30a2818add1734dcee7d7c1fdf7b2ffe1bea707ae3fbfed7b51c35847f27054a73bf83426b9878aa8be2a7fbaf70e7994d754e742e32ecdb84b6efe7acf3239a9d6cfb643615d2dd2ae76ee52d4a733f5711eb36bbd6be3615b2f6ed5e94e60a013ff442401ffeab0422750214255b019b3ae195855d430f1ff442420fbe90f0417f430f2af9007ee87d801f0af9007d18d2a012af175c9a03223b1e7bbadd7800f386ed367cc65359753dd5c9bca7bb7bd76610dd4eb7aa8258bf43f2deed7879f1dfeec74ff7af8c186056d9547e75329bcaac31ab5837e77eb7d3f1d814cdb9b79365217ebaebb0104d4ea6fa8e9cb9f965f3985ffbfe7d519a9bab88769bdc6bdf72bbac93e52c8ae36876b2cded194ae343dc1d44b94bfe1713f1f2763f25d79d6c77332e885947679597f7332b17010adb08f9081455ff7e4e024d712c9b591587f3a935f72f2b8a7d5f17d723f6bd37d8f786f9723af73ec7e27cee5f25ec7bdfccf7becfbedfc9f6ed64d7febdf7de7bafa81a59a06a731cf71b0fcc0ff661f192cb4ec8fcb227ee3b12b639bfddce96bbfa73fdd1bce49e46dbdc7fdee57cc632f7967bcb711c17a334dce72ae2c6bd73b47c9a26981347f9cf7829536bb877f2bde4feb3e20abb0a1485058abacffda705eeb9ff6015879b526bb8e73ed836bf2c36676f8cdef8e6629cbd1ccda6f20de889fb2436f73420a8364784cd3d6d734fc3bca2341c77b9b71cf7dc39857b8e7b937bc2e6b87373dc94cd9d9b3bb96771cf99a6cd3d67ca6cee398ee3388ee366de446fec732f53712e58dd1302b6e74be66ed6f6e434c6f7b427dea63df1bd18e3fbf6e4387bda73081547097a5384dbe1b81f7a53c71e8839d838e71a703bdc0e277b2a5ee77cb8295e620ee625e6628e03e63ecb4417c9bd5cdc0f47b3294e46734c48c0b802115439e65653d56e2db5d52c576e8bdfaf7889afb518733bf90ad1e464e6b6d53899a328ad35556fb39a4d7149608c9fdba134f8454ec6c257d72522cb5126a8c751666e812a0e48e5f938a594b2bcf4df3eda93f340dc1ebf695b53bcf4b759ae0e69499a63efc656db988579695bb66553560a3df953b9627bcbc29c5bdd95ca7e871f872bf1d292e1ce3f59e6259e390ef8b34c34f38ef73a7c0fef73b04e097a633f3ffe6e653b1d235d119ab5c8b2fcd303bbd3c920abd0b0712d7ff17dde71d4a7c451218fb35a1b7b9ec77de7e0c683f01d466fa4d054be829ef0cb7098838cd2e0df74c07d351cd52b3ed85285ab22baf81f16736e09855a402de2f74336f821f204358c21ee1ea27e96a20914b5399942858d5b51d8383b612ba134f84132f37889df85ccacdc035a83dfc9fc034a83f30e17444fe755a7b34eded199d9b8dce4090d8a9865f9c4cf6d599665aad04524b28d450e4669b0987b1c7f87a45b7989771c07fc59a69708bdcba6423a9ff684ffccf96491b915f38a783a8edab4a0a94c7b024d71b3ce456fc88dbff3a137764483f8058d8b710b62678570ff177ad10b11bfe585845ef4389f5e6627309bcab11ccb317ae38f3f53a1a9ee49cce59d8bd2e0d00b6979f185883e1446ba1798dd36ab0ea55fa24f638c3325b65fdae8e7d7f10d5442fc9d4f13f1d6113b6bb3f270daababbcc7f4cf39e79cb7c73a5eaabcaccf914ec4cb8a39eb2a9baa39d45b5ed66779599f4724e228d771949117a79d5291d21d5ffd6c9dd51374b6992910f4c6dd9d62b1ebfb159b762a317f3582dee0a755c7e64ce9935d6b7dc1a6ff9d8aaba2e2d44ddd073ce30ec423aa3a83b10ca2171c755535620334e52c7baa3fd894f7ba8a1c6c7f1cd9bd47561db23a4169eabb8a7e7d67d914a5b4cac86c5a91a01a47b3dea0d37545133d1c94a6fe06284d3d372eacdd46bc745d75568e43fd1c041d580b151b7ae3435494105efa531fe88d677fdc028b2cd0270680404dd101d054d511bd722f84a388a8a5bfd75ea7bedc75b8257d7fd8fb12c6f5e5a8283527e229eb9ae228eab3e261fd6c87f96cbb638ffa7e9baa2c160bbc5f75ecc95fc7a5233e99e9a97b9a77feca62b14893d4c0c65dd775d9d394d26c6f567348d5c959c7be46fa64df266cfbf565730671fa298d496e0d6c6bed47843d79150288a3ac1681970e4410445f751e12e19545bd769b9964afa3e82b0b9efad5d60deb7a37fbf8f38ffbd75a5bddab9fa086716f9554f879dd90104d9b04b52e9bfadebe7dcd6cfbd65afb9d11a25db9fce556369a08be172e7fd11b8ca9d8f6add8c982e5a9586c0b655b7a633f6b696d65579c45b2e3286edbb7368aa70a609598eeea912db1e0ab0b506cd3fad80dbbd3d7153ebb8b6dba157a93df8e235d71766557f673aeab6d0bb7429a5547a45e6b8f2b94286c4cc31df06fcf913fb02ee5cdf5f0a742149dcd6913bf0aea6b7f2411f5f5e600b6496bf4e6be7d165022e88d4733e5e84631b52bfb9efd1d3665ed8a86615bbbb22bbb825d6d5d94c6beed5aa0177c251efe4372ead72ff1a855d71cf7af39ae457bb276488e48732e65800378d8d893d5382a0f0be8c9be11dbe62082d625954575e5a135eaf2291f9d31674a674e9257a5b3e2bcbc6a8dd7b227ef89d249c720044d03118e852882087bb242549c6a84089baaab226aaa26a946a8918a53ebaa2211f2509a2c3d4baa57595eda25681065542b47f99b688e729e6dc2e2a81a1147b98ea3ea7bd70ad1f468dbd26822de6688c784c54433d5eab542940943acda54e37197074944bcb4dc7dcfd3662d39d125570db5d1639a6896ce92abeae7386d965ca5b3e4c44b6b22c992cb6e55975c67e92cb93049527949d2498388ff7b13ade528eeaddf6e1cffcbf25a61aac55cc1cfddb861635396ffe3288a55975c5e728206d10467afdab6f298d4476706d61c55c12ca14ac751a5aa4d58b28832adbae471a96a9f6d9f675fd2a6507a985c32d47386bfa9d79e4ecea2e8e9bc8ba9f65e8be6a58976fad2d242320f89c7b3ed6c83bbfa7d0fbc5688a64c4ba6e5a505ab3685bcb6593fa3ccd105bf0b0ae63d67511cc7ffb2746d9ab08c589bb50b77f0b6e75007e947efed8c1ea41ba4bb7e89c751e05797282db117222e51bac731e4f82fafd109ccbfbc62b08c4e5c67ce9fbb9c3f77bfd443fe78f922b693a6ddf741b77ebe9f75e941fa47fe971e42a51d541ceeeb8bc77c489bbe5f3e469bbeabbbbbbbbbbf70d539fd237f21d0ac5adcde0d0952845f53c8defea59e6d760fc437f745ec4a9a5607bbbdff7cfbe3d2926d7627b0dbacdbeb013f08883f10e7213ff7be4b3cbb7b9f9c45711cffcbd2e6062a543a6ffeeeea1f9fab79cf1b376c6ccaf2df2b9d67cccbd5662d6920bef3732f8fbf8bc1b22d0f3af8d71ebcb45371ea5f6dd6f0dd9b259e8d9f449a75931e0c75d4bffa47d803e858e6cd1b36658c375f14b78c37738aa4b227fbdffdeeb177fe660dbae4853adc492a194d52893449d5a249aa189aa412354965d224950c4d52953a6da2a0cbe1a2ab5882ed2fe3fd42d26dbfe4fdc275ba9676767e1c3644c23c88e49e44d21d438eefbd10d9b6ea98999799a432f510c901533a49b57add57f7f40f6c0271102ceda0e2981fe3a7a783f718c87fbef170ab5775a97beef3cb6b85a5746efb2f513c15e30543c495e5c4d2bac2fae1a9b26d8c9729dbfae720fcdcf7cd20f2bb7ccc7d1388ef982bdbe5b750c7fd1f55e3b007705f2c30240e2feb8d1b363665f93f8e1e63b5ed8fe4d5260a5c5cfe86395c1c63ec3de8a1ea97765071eaae1f73e563668ea2259efdd530ffc793bb7bef7d1ddb5f3fdde3fed366cc95213b083fb7a74b3ba83579a4bd1d2ffd043d25dbbe87c4cb1dfbf34073c777635f6deed8debbfbdfcfffa3fbd0e3f04b7ea0772fdeb66dc357d7e8b43924f4201d7c879ec7cb1c2effd10d58f1659ac86d339469e2dd212b0453ba2f131826da7d559c182ca5d304464d95a49071a5705f26304cb4dc05fe7aadcc12fea6da1675365b92a2a67292d26953791583c5d41383c564f1e7156b90065ec1261a4b46a564df94e7c8109181574c20dbbe6018e88d0a44900b8ae3e0157a53edd59e7b516cfb5e135a63b5c7e4ac828ad8ae2d4799e0cc51664b6cdb9698a34a407880c751b40a2a5e1bbce2a86e57265dd826486524954d794cfcb46998c36b795906b1f4f20a43bf4489b1f2d29674a84738c2cfae3a8608be3df3fd34c6ca7c796d1b6365536f53a23d3d914dab6882a58a28561b891022ad028a25bb0a287c36ad020a2656b68966539e0ece9d804d61496afb03c14c13bbcd0091c27aa0daf55f5ebb3ef8dfaeff91755753880dc4ee1fa049e2e1e52bcafc7efcab2b4fd5e00ffcff61b2fb8dcc9f9ffb8adf1fff0dff307963578ebcb1ef7d9bda6386d6faede9fe388aa23dd52f32436b4dafc939e0fbfc14876ff8fdc5d088b5ebbfecd0fdf678fb4b9a3b3626bb7bf1bd1bf9d5fc98c4e4f65f64c6ebafa17edd6386d6dac33ffcb0f38cd7af8bccd07ac7cedcb7e0d118c4ab5f7c1bf6f03dd63fbecffac728881b570771637f7af4a0f77087900e234d491a88dd2f7f1f6b938efac2e8fba2cd0faca10e96e45c757dbd3481d80d6a53c8ae1f53f1e6b4791f88dd3506595df2576db22a4f0dc4efcdbac44bebb9bc479a3bb6f7659bfaf719b7b9c151234da3c67b0e5e2b0fe0cc0c8d19fc33747e8e8c6133226fb0f9a741ced4ff6ac8838d979524df86ef416a5d63c693df83c6cfcc2069cce81df6d443ff8c277511ad67e81bf6546b904f527bc22e0f7a1af2e01223d4c1459b43b6f5443c743bbb90db6fa16d887963c7765accf832f24c4f65e898f165f4d4a43d19baa4cd1ca349f5459bff236d6a0e87f596afe4831e932ac8fac716fa7721e9d6dd3f39f32449e33569c3cf206bec5073a8616cfd367c91195fe36d58f241bf0ddf63c6d720ffbf07f94ffeccfff7a0f1e4cc7f111a640d1b7c0fd911f240bd9cd950c3061b5e7f8f1a6ee30350c4860e80f6277fc8d6e48cb781d47f63772f72a9e166e365fd1c86ec99d75f84c6cff81a967c9879fd3d66f4f7a0a17fc6d3a051e36da03116a9a16dd0434a251ffe67be07f9341e0234874891d73345484d43537bf2180ffa217b06f9f6b469b388dd3de87387c35dc8d05fb388d8067d0b69eed8a01be610ff1381d8adc30c942343d8217a63aba0ee3003e588123bf438bc25d461b443ff81484fa7e6e9844cb5af93e9c991c920d20d7ee5ceabac7febd5aa866465f93f8ed5c651177f5dd993bde1e938e9adb2a7e31909637b484a3fe3a54965531c8d5a1a6dc6931f449ba09a995720cda64e6f3f7f219a9ececa083348194d3e49ea527dfd437282d052d5251ffec9eff14f7e7d520761a2ea20a43605f937d1321631147282d258160f3e42ac65ad38a7ea1a648eaa342fc3b7e1a6c3c73a348d41346d76f8ae4f6410267afc97fffa5dc21cb5adc9d2e4052a3934e7df2c73b21762fdf0cd1ba62c8630ac406bdb9ff1605881928f20a2ec3801cb2165725e8667dbbf39104d136d070f2fc4aa4d589ef603a5d9af5c2d494660d41189fa12839a86faa0da7d9617219e1d2a52a018f1d45dd180de742f4bb67d51b2ed0b926d7f04862de8cdf7f64754d4d4cdfbc67b81c1b6a3336c3b1ac3080b7394856d47568c5c227114adb8cff3fc70dda2d3a640b11c8b79b6039d3ad8f67fe05ae2b541478081928062606cfb611a6431002101a27d616756d8f6b7400bb5e0e2aaa6501a8b5bf4c6bb6d73f71bfa3f0eef74706b03ebcb125e9280ce5c37ae1454b3da667406d1c9978dc950eb896b04458a6c64e5ce465e74b145a7c8ca8cca5f11172e6a42454fb615411149118940a705c57216c5738fa328e62c8ae3687391902f495e9640695e5e74404ff661e3cb057b39c27d59e2befce082514f488c2f3118a5615b914c14138976ee2a8479b91911475136bed85b23d7e8728d9e6be350cba646ae912bd4c29ef7c4a3628529ae289e8bd258efaab6b99d5e929a5a003dd597820faae00d615baa852676164f38ea0b9ad2dd144fd5297270530302ecfaa65764db1abb925848dd15ef7eb6edaa7820005e14de3982c2c8055e0f8fa030727967c5b1b35a634169b0d73b452f52d484d280d220726d11145a231249618b6dff139df4c6bdd311fd4dd105373288f9e9e9e767836ddf3f24b6fdcff3bc271e14717b5268cbf33c3cc5cb2e3ed4a202dbaed8acc8362e700cc3b2be2bd826a5ae3a9d55a723ce98b1337a53add0d4e8c96ce4e3299ae3f2d901d814960422fbd3602541a01326d7502a956a78920e12f3357c10d3977e488e0c59aa3264fcf83d64fcf8f5479927e920e3cb7c10d2cbf821391fa854abad21970b0673c1b40ee99035130ce9394e2e01f35fb712b96e093146b712cd4d2572895edb8a60a218cd71f722f5ac4eea79663104d11f872be1f2d1e961b590b4582d56abc5ea61b17a5aacd6ce6a63f95749026fff17ecb55a22ce3a2188e65d9530d63c6262ee2a08b556b330f10410784457115119a109dd0f44ec03d1bce7b6da56f8ef5fac4bd7888e6953284db8eab6ed380e5d8f97d6c4f8bb6db5ede06d85b79dec728d5cf4f4db7f99dc76b6d586645be1edafb5e1e56eab6de762bdb5587843b2ed6c2b2faddd564866c21c780b63a0a77fdd4ebac0bc3ceb6a678c81a930c5925defbdb5f2e04676c8e565a84571b8731bd330cc8b4efc18bff3f892d1a650a030b2437be40abb1e88a69d91486779abe628e96c20ce36ee78208ab9062a350f22444a3f3e11194f2291a53a92a54afa1ee393be3e89f441dc8997b68639fc4c4234472e1f47304755fcb0cf35f271149ee228ac31162f638ec2352fed6c64ff45655332afaabde87c323bf7a434f66e3f78b2ed7fa296b9b136d6d6238a82c5363726abd2934a5faabac7a84bb5f4a4afe14b3d485fc3f83e483ffe9374a9fa18dff426d38f35ac9ea439312fdba291cb9e5e2398e882462ed1c8f56da11d478594b84cdb1d2fc12dcc71573c211efd33be8efe638fb8cbec11ac47b42b77141bbdeebdf6c8edec91cffef0bec56bfd6d07a27957d789a3b6bbda3cf2cb618e6e07ffd9f887ec4abae421be5db696df48f03dd3ee96dfc2920fa4fff7313ee9d575c987d7ef83fc195ac8f8e46bf28590fe9f469ef133ef433f0d2d24e6f5cf68214cf48879fd424c3fe3698eff1743ba89fc27df692e13cd91ebaeee2abc231d9114def3ba6c6ac65b91e869c88308e9c7379134e79f34cdd05a0bb19d7c1288ed1a87394c20ee91610eeff10ef87b1aea18b22b10bc3f6d8fd49aee67b7e8d08e977f491ae60075488997d41249423445a75595489a5303cd9121694e888c418aaf98e874d1e9281cc551586f2a2f618ef277bfc9424d5d282a155b542c46709ba29828468552d115dbc244b3bb6de80917f77879414ff7a6f37d1fc57ecdcac4c9dad223991e55f132e6f272f472a95804d1968646312fab8c643ba2e84d51fdfcf671169cc5cb4e0722e94795058bd8dfd7efeb5381446d532a9040c0a65420c1da2397a3eef82358f75ff720086eafe3fee6dfb5bc873d1288ef165db1a835dda6d21b111d2077e7f0af0e691388efdc43c5a2d6f8674d6bcd6d552ce8ce2e64485e22665ed6997322cde1dab68fb1e868d9e6c85597003975903964877ce8ac06aa4971cf7bde2bdc2a2e14ba2422e8b5105f980c7961e726e29311ca4ba1212a36a12bbcfab6ab3649a38dcd6b73bca71458b6c8e52847899c5cb14d91cf3d2b28cb3d6dcaf30ca9403590a65e8a6f826a56c71ab1a6b7b9f4e62896263d7a5300db0cb5422d195f456984428c9682a46dd8a6e81cb500461549b533bb05bda9020cd486818e81a6700b47a935f63113f07906d109a337a218bdb93866532127e8c97e9327db4209b5ee86710b47c14cc0ad30ca86d12eb807f738aaf4127571705769a8c9843a44e78fb0d16be4b2a70745a7a809bdd99a88a0a8a90d0a91689bdb293a4f1c8876e6657744bc4fe9189e50520330bc6082186839f643bb86396c4ebc243d2e288d7d4c7a5162206e2e50cccbeda434dee99ddee9289c3f008453c25808033579519aee06e27d9ce3e22c342c23a93d6158279ac26ab6adc41dd493fd2014418402540bb5445d6cfb222e44a74ddd2fd093fd30643288378c5106d80648b4d8f6b1149aba27ed0286bd17a315f18a6d31957b57477040af0ee8e5014d8162f6b4aa389b4a8bd515422541e7896736257a02452465263a45b1708a97304a1356f18a134aa135f6ad152d76f8136eaa108ba3cc6db59d1dac8b75b26ed6d1b6fd6db5edd8c090650d1b0100bb9568869cf8e9a8aa413e35d96b97bd761ef7127ba9e2a8183f02e30b7ae3309bb2b3d1cb1c71814d50eddcf4d5db59b569daa69dd9996967268824b574244c0c12c6889730e72e5bac6dbf459ba386d97919c28846d65e542f3d30ed98e36adb170c1bb9462e18377261326cfb191403c540b118015eae7300a08d023b1b8c7e7c2403d5ecc9d6eecdf9ff9e3510cd918b678fac8cae8ca0d01486d11b1a2f9a4dc1fc788548655b29db8e643ce93de649cf44fd20a48fd159f728bd0c1d24e64b1a54d311438e5ea0d1ab00a0bde2296a473e5e8e6037809dce8c44527b128d8875df1d7be27157e1c84503d1bc26a8a643c6ae7a06e2a861f476da13cc2508f564bf0819092214e314ef42c5165c9c3615ea023dd9ff420e8348863114c6cbe034a2c5b60f2a43080be587921849624ba85577b0cd9721fcec21ea3647ae50cbf58b1223d711228675f9c4b013c3eecaa646d40d10872fcfe59df69402ef8adedc80a6444dee4a4c894e1d51b44d9101c04e47c4b6094d8d9e880618b964209a5b9473e382dec0446717dbfed684a642e71317949714189550ec8a6d43b2cd8a930f8b6d8ec038b7ab65dd0b9995d815302a50465f509a1888d7d51511afb6312f41301d1131d430da0728664ff6457bb223170c0a25ec91abd2a8d866aed9d4d6849eec3fc950b6ad6d526aa70db6d33b47ae916be40a618e32411f4e71941703c96c6c2473486c11b9c480194125590c77311ca1b4ce78592bf79f93966a9b1bd56da88ddf704ae9e637dc70945772db37bcbcf1a5e350bf8381c8d5a827fa04b89962087bdaf4b33d51176ec267b93769159b7e0328aabebcf42936bd21c0a65f839eea6bb6499b76346573df67b5741ef6645342d8539d6551b44ea3559fbfdd9b75e6dbdddddddddd7fe3ba57942c040fff7114330c36e3b81937e366e690bd71ffb3d96bf69abdb8fbdb8ce366dc8c9b39a53477c876e27d3d6dcad3f5bc4ceeebbae3a5d7550783ba6a7d4ca496f825c2c4cd9cfecc596badb659f446d2919559f4bf66515557d55e07cda27a69d36a57d59a4dd51cea2cc7a1fe259dc7cb2b5e56e77196f338cb59cee34b9cc7791ce5d6799c459b519e3ae3d959b2b36bfd1d1789dcaf398b62a694d2b2d4d92182d7ebf5a2affaba94daeacfb90ea5569bbeda354a5d47a12f98e3507bbcacfef5e56585d1777f58cea2586bf71df68a525fd4ed755b5f36552dd5b5d697a3a238aac2ea14fa5587babb4ead56f381d240a09ee86f31d22c6c5a766426b33dd1df61530310017d28a30136ad7534df1c5faef8fce9cce6856857f4c6bfbe479a3476f747c34fd79597017eb7ec81205114e3658ca15486cceb191bca1a36046043801b50376e0e90001c390cc86147031cf0000aca7404d5940c0f0a811e5966cc15c746adb16f634f281bd987b83d0e7a53ff655328e71476b82915b680659bb6664369ec7f13f8810215b0c0053090010d00b1010e74c0031f004108443002f34710242881098438c1102800920215ac800816b4c00541841431446504f882fa81343636021080166a0630802c10e0061bb4a322daa03438d8b0914ad990898937ece9c6cd8d0d2ce020000136ae90001c386c58612f600136a63020871c6c5441870e3ad8b0a2010e70800d293cf4d0830d180f0840800a119080046c5421faa837701aa5c7075bc6a6f7deeb64b73f0a50600a15b8c005a26040031a9019a520dad8131036dbdbbf61531ce000151df8c007a080400422788de0c78f280451821240c1042738c113860002c427052b5881138868410ba6708110214f8a50a95c46c000064d20128318482183238e608208ce201b31e2a40636b04114ab2347a0c0410e72d024c9cece99040f78b004253ef0c1133f000210941084254b9828b1c412496015a10848304265c2cea8ec0726c04bf2d8382a8e0fa8fab2b1a99c7ab25f05fb9d13226d62531a23a2b596e628fb94865b59af4fbaf8e88cb9b97e7ff9366edea8ff6edf5afa3f53f2b880a76c58f9db38007545619bf4350512b0d896d671fbe6b24a8092c58b064547e6fa8f6f53bec371d8cc209ae36829a5e335c7d2fd21fb6e4f77bedce3f1d2549bd3a64da7b136f3c5166fe0fded4dee71708fb971e4c6cce1cbe1cce92a626caf16bdbcf8bebdf7de5bdef1725f5c1888f61dffdd368c31be7fefedfee6bbdde7ba7bffe6cbdddfee7d7cefbdf7dea733d7894c03d15a4b805ada0c80de70ef14ca75ec1c79f2f72735607d4beb635fd6555a97b54c38f85e17bbf143b9b90de77a33b77d0f7eb02916f80580f8c14bff5c03b1be4963570a7467ce6674061e39b2be8fc33e47c618bd14adce2dd17c1b572bcb366ffc7b911c66a8ad8ec3cb1df7e9e3f01df7de1d386a65c00e4a77501b2f19e02807dc185d0b596c73dcd95b54b699613f9f7b3e42acfe96f5d119b3b425d9561d1255cc96b4312feb07aa8da88ca4d44031d2c68e60bd4eeb9ae8be25d956f85e7d81406becdf9d7be45e2d846dff069486e7ae90f869f4a409310719bb9eb17bca80194b31a4114657986961f8e229f8c762b1307ac304178b81b8504faeb9b045ecfbb6263616b835b1b1628e9fa8a716080a7d020aff428e5bac05b726402e10145a03820224856e2566d0d9d940fcc96e8eae6cdb21e11954139d2357cea2b69a7647b5171d9bfad58b6adb7f59615829e64bdf23067f10538ca639a6bf4705124676a554d4e04aa703d1f4fff5f37f36ece1f7776bf87de2b76928d67bbf6ec3bebbef71589ca5ce4010144377873c26db1335c6f2f988799216c2448fd2935e880fd2cbd0424a7a5b61983d6dfcfe24195fd241fe657c10d3f6e40fc9f14e775fd24198e8748fd2933ac8f8a50f02f3a427bfeb89d13248ba84b5f9ad56a8e5a1e79943f65741d07becfd8d55b9b251ccf1de7f1c55df7b9779f6888337c4248b6d6227db3ee8b22926ead31c596c8f605b876d532f81d8a63ff81f08fcc8ed3dd26d28f4d451a18f9141fad28b8e542fdcc1db38d4e1f2dfdfd8ade2bd5d1db13b8ef2de3facbb214136c7bfd9253fc42f62e3f0bfeeed6af41e76f648c5d9de391cbe88633c8ea14ddfe1e3708c31c65afccfdf742c3e7e11143706dd31e8d82ed926f840fc47f7456cc71f0a81bfbd5d5925db046f48ff084357f4a6f8fedab43b1bfcd06f58a481f8def48ff03b6daa817c7f519be07bf74e9aa11862f89834471a88eff037f1b707f1bb3675c0eff8fd5de6f6eaeee5c137ed8e59b7cb87a18efbae7ff8770fde6d7bd1a3d1b779a2d7fec2300cc350ecb48776b5c18f418abe0632e64952c63f497a13597a8e0c3d0eeb42d24d5de6258831c61ebefb87ff85a03d5271ccba430f66c726f874fbd0fb8b9bd8e9d075297cfca03f08046fdc3df821dcbd187a196489148956b4a7eb0f76daac5bd803b8f1db231507dfd0bb2cf4629823a4ab6877f6b7852149f7b66ddb0e43610e10043f24cd213b0c7fc8c6f8dd2f0e89daf49f0dfe8677080cc9ef41d2bbdf6fa4b75b641b146e5bfdfb3aeadf7bb7b0ebc24f2f41fa8df4aa6cfb563f59f2ba4a92f13e6eec3f7736728d62a317e84964d7e1d9152f47b4228820ddf5865c36550abff4434ca1581886ba47cc977490181d727d109296f1eeba47cc9b7490181d6a9172422d439bb5f6a0bfbf76e5b27b41a43992d91dbb33645f50ef1064eb507ffb2fd4b2a973fc7244a3392fd7cec1b45db7dbe49e1c083a414d682ae404e8dc6a22cc8f5f9f8ea40de9e9f831ef03e6495a08e9613e06e685c4c4686a4f24bdadecc90687972ec7b0ea22179897f79e2e2d9723b8284a8bfbe7a48eba452f1891eb45a73dd91745a134ddcbae6147fad2f730bd8c3791251e2452c9c79bc8d73b78d89325ff49d2f4a42ff9303de94dba74499af402821401115545d64af5694edd29555d579587478c8e79982f42faf12b49da34cc8157222e91344746a92382587a195fdff4ff6665d51166129ab2374c8ebea034f69f1cb9ba1888f8c4ad5ad2a5ed4b4f7364f800f3a5f701f3a5f185c47ce94b5a08e9c7d0144fc16c4ac68f5e5542afbbba52dcd595022482127a4204454b0aa46b5be4a86dccb52d1b853df1665d14744671da18080a31ebc20139a93596891415e63129a222ca82488a48340341017445a7084669629406635942fcb6bf54cfd85ed0e9882056cf12223a2ad94f154a63672c118cc53616f87685e405823c4d0cc13bc1f74e103c5dac1e25965862c44ff6912821a2e325c90818c4543fb22ab3710bb4b10bac25ee3dcec49df8d853e5d959e98c591c8b5ff11f1821666c38d856f809dc9ab9db0ae327706b5b814efc444d81a458d99ab562675254da2e03adb129bbc519acd876eb7a5a2c920ec90889c8f833ce4619a5296dd3ce3c66db59c712432dcfc75377e5791ecea6aa354e3c97a3f2e6e3290cdb361cebaa35f651dedbdf443e2e3a3dc7e84451e0d858ada137a09855e2a5ddf1ce9d2686b0794ec0507ba7cb71d8585e9e1b89899fec67920f49ea21b5bc241181d6d8271981c4229176483c241d92112f2da9c80d49062422e438eb28cd78c5c72b688dfd2cdb3e96da9805cba61ce0a7fa535a55ce1fd7be122311f154e9a7fa5a425d4a6e20d9d6c80c4925a3168336db42105167b410bb49eeca867b93dc55c5ad5a835bb88aacea80cad0aa38a123680d0d90b0ed63506d06a26967dd15a779e1cb9ba2a63ccf456f9ed01b2f0a9e15546c3b12370276c561579a1df3268d189244520a43525a6badd5ddef07f326697cb325457ab3dbdd579a8af9aefb1892448e240c790205841146182fb5ab5fb7df360caa6def915e130f8a7a9212052aa638bd93d2d85a3d916739cb75ddb66ddb96c5f3bc337ba7e7791e17a09a073a6b9b775e99973f5e52502afb098a0274824ed0597136d65ddd24ac904e19288dfd9ba4a6f015eac9be1f416b6805998145836d0502d5b6fabae2dc186c516c2ccc21dc9bdea2509a0daa12728164312f71cbcb0db770b9b140a08d55713610880b3565bbd8583229b68b9aba9bca75c58d5d2bb270d5d88cb0b1405c00c560d7c987ab38e8556fe7e6ba8f955497a368fe213b774bb6733bf328f2f1d28a5cdbf97294093ab793eddca2ec25c6af4be87ccea83727ae3728a2ed6959969716b770cb519e5e627cfb9889a33a2d72e2e5a89d7869b7bf7f377d95e87444ac23be6c13c36c8d6b7147d8db0672725ed74b0a2c26e202e43a6d2561360d7570234035d5768eb2b1ca18f372dbc69f2521cca6441b3b816269a8a5a14ab12b0ee8a435f7a4a03300202d8062788a974da2809bd8b948bcbcabda33057bc54b3bcbb26dafed7455a8451a1f0a25885ca6e8253abd3cf776c63ccc26e34dffdb19c34ff54da40cb244de207f2461c8af8675827505c0baacabe2d873636d4d9cd6855d94c689266a6a4b524f36b5adec135a93a4a668c548b0d809f8a3747bdc7a396d0a945f16b6047aa383fc037109fa72846dff25a7e0a8f40cf477512d999a1100002000a314002030100c8784a2e178401525d13d14800e899c4674601f884992a31442c61062000100c0000000000098d10e0377463d0cf533be31f632d4c7f0ceb89f11f504236ec318872ee86180d87fc88846eca2b941b9a38cd1178ca848c21817018c501e19dc31ee33d6cfe886b1c7501fc33bc6f53a4ab752d5368cbc0baea79fe03f84e59d7e88423462d0c3a887f19d617ac523ac1407c3b8c1cd58392ec6ee76df311e3153685ff5eaf556ada996530a08f85a5cc624dc2d7ca8ab6cd1bb5e098c27d80601227e063c57733f287733bdd8b1ee090b621896f997e087e116101cf79ba33830e1899ae0442776e2279cd0899cf8044d7082133bf1134fe8c44e7ca2263ad1899de889277402273c41139ec0894efc84273881133c319e703c514f3f08d4f362b23ae2300095a8f866ce6bb5f6d69fb6f916b21f40388280e2d241280d8d2ca548e872c8d6a2180b38826e603f5619f60ad493170576c6a9e1c6e6de71078280209c51c4eedd7f95b13d172e7afb8e54afcea6195ae0e082e8ef1618d1f704b268a6fd3b4f76b9ec05caa92e02b4fcc2b33f66e42a48f3179af123a3ab405a7ff1ec1e30ba05d2f92bcf7ec8d04520ed5f58f64786ee0269ffc5993e62e8164cd3ef9cf5314377c1b4bfd22c7b64e8562e82e8f93e986650e6fa05ee5fa0830d640572c3042c13e100e67836482f7abca3c0790825a265e618522402638d0c8aeead51f08d485ca12012c5767b1b4f9c5de00ba687ffbc8a514f506f565c2cc6dd0a487daf6c07e33b24d5483e18fad3037abf1291d0385b41bb839bbaecd160d20c04f6c67dad62d02fa89715173be3bb60efeca715c6bd82f4e262b130bc17dc9b7f5bcdb027584f4e2c36c31b81bdf09fd50cfb05eae545c3ce7817d81bfb75aa8cbbdb2fc0a3173b719e581bde0cecc57c6c6dd833502f2f9e70874a62891ee096f9cc580ac125efc1c7167f8675da72026b9866ec3593ce5d46b658f692f703e9613fb737ea1bd4c38a09bff17db077f6db76e3fe417a7291701bde0deecd3f6c6fd81fac37271eaee1edc0def8ef96863d03f5f0e2c16fbc0fec95fdbeddd837502f563cfc467783bdd94fdd82a167e58f6b75f1ae5932613b0ba4b72f0b125dde0683f8758af050b4eef492a97e3520554485f4cb977159f36b3547be394bb6cf6cfae6e683a70c14505bfe0821348daaac2ed75e532445ef30181fd2ca279ea3368def19a51f0120f2c46228f76ed63a4eda3f7ee867b7858c3dd082fa264ce79ebcd87480124f59bad8d7331529d4fb1ec178dc696689007be090bccb0e075b907efdf5d364ab79cfc8f7914abe90520827d9658ba2652929fd1175642e0e277da4ba470d0dd25f3d32aae1464238fe27e4fb193f03953a0ae0670e7516cbec73e0f866826cb78e1a82896521cd457149b86895c370fa861f131eb27f7a4c66d1ad75005f3bc0b528514fb7d6331e3e58d26f74ca0dcfc105a4218f10cb2720c6f2df4e36ecd43832564e48adebddde39113a921faee1c2b22aeed637895296d22d1b9c0aa1904dff4f732952cd764c228ae31e3cc84d8a99ce7a259afbf497b582a8b00735287feeb751169fa5e4a783259b50ce0e9c3cc3adc97005448d04f00cc424d5e938694012cc3f9282fe3dcbeb8f333d17066fee4030e6bfea850e1e63b152fbe31f30b6e61bb5b65f9f008f3b7a71697be14dd5bd77a7f82c31ec11fea64baafe3c8a34ec607a05a2e18565cebc8192546f410b3f948191fc2bd220744e0c2f5605cb66f52b6c9c3ff39685fe1809ce1771dadec68561c430d45e84e40011c23d391c38e3da6b17e2da36f92e3105d52cdcb33a259f239d71c8be43768fab6324cbc70e32dabe1dc4c46c9f2ccfec74c9bf9b997f2cc71b7df7a72c03aa2754c7610829395da5f6ca5ecc1c3a3685385e4dd5525b6d62ecd6c2a70536a5b053206576466af037b4c9360dfa214e2a05933bc22a5eb9c74f09f71aae2b7fd3cd089880ea7ddb4e4d8d47326886826f688848f12f509eeb09be9c049a84352741fec9cfac52abc7414bcbdc7e184690e5e500121cfaa9a7cb045924f591c493089370e5b2b5669e062ea95bd9158bdd7cc10261252316f35ec1b564eda5c96a4a0a20bcdfc92a53ce49e747eb81c4a1d6ad420f8aa2baff19e2f1d6de25c4681cc35de4f74a6024b141b122f0d803115b8323e4ab8e50660fa968200ff46644e9617361ddb2cfa770df30334ddf827199125752be84b98a80d475dfb0206c2a742e1c1f0b794aec87ddfd387b9c4a4e55a4e14fe6deb276b9fa20ed7386a6396ba67bd3a52547611f6055c71b7c20ddbcdfd272bbdac18c0355ae25cd332a664b55cce22357df438d70466ac926a6ece627c678493b2e792e11c48bbbd55e2ebf39ddf4e6ed342516d39da81a870aee9b664f2867aaaa11b7050a7501ae6903521241636f24762d096daff809f9735ff75b124103e243c43432adaeecf46a9561904a228007e1ee52fbe4152229a9ad212c73b19a4791d5c4a3d46aaef85713109e140a45c65a0ce624076e08dd4e8282802b9e9293d4731809ca037f867c183af6ca8827674dba51044d3e7cdd8d3d112f9b540fa770d80105a0d65774cf689b90b43955e5b1a25359b5a3979eb13a95aa17762fcb137f00650811cedc343333fa34fbba3055603909b3a209a5872de890a4967a25e99847a649dbb865d84ad73bde86688a852d8a15442184e6ff4dfd6ed5ca0db8b06c3f190813f22572424aa3fd6d84fa3f6e99b5482ba84b13c3adc9c32e6860920c17906e9233b923cd2397e606fde56fc7618968fd2554211094907c889e0b84aef1abb206a05e3aa7bf7083dc8d17308e047963e26b9eb95664d4f610a46933ac200e3ac5e93ab75660a91a0c757180aa41636ee643f30c304d7aa8657e3bb672f95e5b4e20dd52e1877503618a80afce962d285f1dbed36291bdbabf8230b2cea5c3a0662107b29ee809754d8d301ec15247075d832388e6afaf252271777a47b5f496a1566cb6658819c69d1351033400726cb0b284424e6066d7365d1870b6624a26b0c980402c692cf9f9a64aa22544bb620525d6c486c88765e84edd01d757452c29cc9ad99a16e609a7adc27269ea953c31a71759eacda772222c9d25a7a80b358c098cb0c819c997ed70bfb8e5088421184f06a81ff1cb7729cf5249fa49a3298c8d3dd391dece96d9b8086f8466cf385b410adc38b8644175e611e65fecff75f48f77561369933e4891683f853aa1ac2cb811d0caafc88b93be79d238d54e7c5af3e0c89bfac0809b44868f9c4e0855a76589144681e8136e59c3e4531f144649b51031ac03a4c88d7ec134fde79a6a442aa91acebbd803eeac4bd539df7def15bd3f10d0adad68efbaa4355d96d3fcd2260dc1e355baf8b4231890ac74f43aa041151e9de09f867be0c4a43ff5ec987e2fa053f7a6ff2b96e28a8a7e9a78ea43785589b89abb9163498943c290f1232994d71eec3a4b569a8946c44774c11caf6d8ece0b143e90b462c080c76905b8ad41041121632bd11425aa4ef63b31523ac2efb48defe0fb90830729416bcc08e9be3a246bf9d08803952871c7882e7dff3782e1d3fbc68144289fde540c8cb8ed7c4c5c567dd4f5c4ea29a6caceab3e0f1224aa8ec7ecdf8b5fac1f7e32ca2dd66f5cb3372722490ecf50448d2168ed01d1c600eb39bf1f252a78958d6713bc6ddf0a521d3f102952583ecc7909efe9bed57ed5ef9ecf02c27287e1e10422b46c1de1015d6ce32e0b93e61bbd77e644d99c50d6025127025772685c439fbe2466a788fa13080d042b71d77aca5d102b4f863b0c6cc0f5965cfea3b9ad46c2467ad031883a108baa957508e9448dadad667e6a320462d74a6f4afef6cdbf48807a11b6cbaf73dfa19b99907b0821b50a61d6cf72e30d67f774c03879e4288b94f9a7a89fa10e44178c457c6f7f8ec4cc3d6211b4780b603151dc8bc422f2ed2381fc081656f0096972228a0540b290352c60c2f10af40e78932169b80c8211dcc5979c2d1ab9952e18d25b53e00e065cccf5c9a4ba72e3e96197d818f4d116e298acef4126195d69b53814cc29422afa76b801cd1fca57fc69de8a3b9e0575c3a5ceebf51d84f51e4547b84bf97d07d07cd85c7c43ea5239574dfaacbf7cb8259a8ef73f28a0dc903edc351cb1c2fc67b00cc3fa1667e97f92fc2707ce5e7d18810581de2be5270b60a1a66c65da175b05fcbbd19a800888e386c30f0f25a2c3888dea69265715c8a0bb772417f1a5d4d346b8edacec630a1d9b0c12433b250327f78b4940aedc6fea63a097589171756d02de1c8c0e80e3cf1844bd82139efbf575357103e03ae27af985110ebc188b47ccc4b52683ec949171a28d9e224394fb4d5a83f15734acbed45ee6c917b4cffe4d252bd9d4f35bf1c7711c39f0c5788ed4db932350999d62407007de0de313548fb8246ac0d0ba562c1f0c71b0abe87c70ab3fc074e7a273c9f38813e6834547fd68b8cd1aff8c280e693a07dead1a5fe538d02bc044617ad171451209c1c706ef63557bc94aad103b9c317b5c58bbc5101f8bb227750525f850cd244d7b9fdb223cf937e97ef83772c71da4f26f97f0b8e7a44d7e222c577ae697043a1734276f1f6064251d2be97634e4e1250739411578436f017fb1423db219d2a79f0f5004109528cf52862baa2f20e342a14684800605e82105c23681625cff4ff49b59835f5342beac0029f127ef7d3c30f1728d5a2f79d4e2ef99436bbc0aa47a25e678a3666aba6f8bcbac1d0cd5731bd5e555cbfe9dde22b5c748824806dec960e7ded83e58443934529c419abd4ff6a911636043971af9fae63a2ff001b65e68501125870cf9eb41525f4a2b34a7a33b5366fb3582a5721022baebe0d007ee5f4207b73257d8e90c7b36df8a33710be0c0cee1a2980aa1e6f9fec491192efdc1baad8caf4f79dbae33e360fd63569cc93e3ad699bda54b43cb82c86248ac31073d1a0b1e78e2be72fb5cf2dd49d8621ec59a4ecc335427c20c46cd221236d88db518b49663ac4beabea8454474bbde541fe530ea5e88875b4b64741c9d7decf39b8be5dd7c6db301f5549b7c6c150fbe96fbee999717e1aad59e380482ea0beaa634b41081127eabbbda004412aa4825c06f2ed37afcc10003c1c2cd443f335dc5ed547cf7ce3bd09ba5d60618ffa03b878daf039fe61f30265aad6e06be93e41d6cf97b8eb72e1f095e3868e66d7b4f20101bfd6797b6df4f1ddf621bf4e460ca30be500063ed1004abf1668ba4047a20999d8a81b67fa9b6993a6146edc748087b43a9c6a960ae8ea7a662ca8a8df940d5e7dc323038d607ad755024b0d3caaa1d3015548a0a112bed7f1c6b271cd339c17d7507e37b000e498e307ce2f9ee4e1fea22cf6354e4696919eba200f1bec9fefc894b7244a17ea5fbc1ffff841e086be0225561419ea18b5831b02adcaec4e7f089106cbfbdfbd92e11d4aebaf3e4d626fc91c71ff8fcddbaea85322a389ab4110e413ea6c51f1892b0fc31ffe9b86b8debc1ed1094ce877f2f36de659c0d6b059aaf16e6cd5a5ec4936b6377f191a4d8780e4e44a1245fb4160f6fbe8ad8c363bdfea0b9cdc6d2e6de755164b57293030b84b2e2bfda4704a4f68b0c6afedeb0508bd67136e9ad5ea4681ebceca2c93b9008aba7b76df83715d27a53d404c44a36c19f5f7f5e7b461cc5f8f74c55bcc71e28fb572360c77c9adda70ac6e022e2c02b4481d7fd299645dc05fcf96d6804e87fb8cb1a422e5b8905c96c59961a7d64cbfcfc61c35d99a64b1eb24e473030642a0e0af9504e3fb861501f5e741d56622e88f51b1b2894dbdc33605403457c582d68227267a47b5e97b83d2a1d5e537619bca02172bcb506c61167d7c5e0b7a0c0dfd8cb87e962979e1f9e5a8b681c30e0ae167fec4612bf283f0df353662d7e6e8fdc107f4eac312a2bf4cf07ace103dabdb3b5dfaa0447e34d3192cfb524def2217eef7cf85cea5be48d14fd6ca682ef3630fb41200a6294b036d62942cb740ab7f7e03f75984bb6103191d15141c9ab5caf4946d31385e75c1fdb4d618e78e03daeceba980b9a3577da1f0cc8cb2725319748fb2f877476d69f4937cccf957020a83c37a9c0e6d548fc3799f5845b34179494b3c4bc804ba9f4231b0e4954cc63a297575985c6fa7644428aedd6bb786657e5cec587602b3416934cf88963e8ad304a70bb7569f809e5049aa2da662b48718f500de745b1e2b732ba8ba8773ac8c7c30029c7f238437ad7d6a5b9c6b4eeb0b469fd4987f95871c1e450a71bd58eaa57400c255d174d8275f376ab35225bb9d0cd21c4ada20f40b7a0f7a80c80d4bb0a13a052031012e55a83996aa3643e85b9e73133ca2501808cf6c30d22787ece3b64f98c7d810ea517790044fac1841b1d6dbf5abd91f0827ba4ed66c979e530939a6bbbae6ec79861b646d552a424a82fd81bdb79f85ced00b4372630ca7becd09785ce1002b444a588f9eec8b780f2f6724503dcb63980a1973b32abc4b06dce4919a55e8411560d9cfd8570011242cb68b39bc3f15b6f88ef2d107761f37664a26bc8e5e0fec8c503a2af926755cbb157021cb7878458fd12a70607e8f460542273d3592a55581094f4b9266428cffd32737f8100d9de2a293ccc4406d21e3b318feaa95875d05b17fdb0b48827a95c0ad9146acf41bc67b8ea24257abfe0ed565c89682ef2bc3991d769723fefb7e1a137e8ee05d513e7925f497ec62fe2a4527ee1eab385558b10ee651f89f6492807f7ae42c4d005908f2d40ae500885dc01151edcca7a74afdd15aab6a442e10171c3d89b2e150c1379e242afed97a18243a1a0c849dd80011fa8c04378f32ed4c53f971449673e2a541ae7f672521da5915268c6e46d51c8e882228da0c0ce8528ab1d835511ccc8ac2d863e8014c605365461b8820c9ee939e9d30017fcdba6809bae95c91335dd24b7cc940d4d82b9d495d0128b42a4df8f8c851254c7a8cc7fa161b38ccddb86f77b227dca4e5264850b6a88f4d31d6279d38aa3519629c43f9f910a0e75347e558ec140946730b0684af0224234dfb89ce9f14650b4962ab1c6889c3c73b79b83406212a94030eb7a9aee0b9902dbaf08e4ca6ae47e57912344a4ad360eee174ca588d65ad06b85768922102f74c35399e23dcbfe0950f41042520868208a6b1ee037aee08c1a3a27e739ceca1817979d4b305fc88254b147c16de111d0b9a19a2d2a37286c329630d46fcd6ec09365ed670c119a51cff1415b88c29012472706ba2b00b31702ec77749a76ea1ac686d81a9b5d743de7266946f0b8055997f058dfb07c7f453feb3f81214b502a60c1ffc1dbf0924b77698096107469a9cb28027916fd565136a9bf9d00d4942f5a1176ebe07963abbe129f02eecda925545d2742a5aedff4acb351f389824e7651ac205a63e8eb5653973f5e6a872503c4f5edd0b9d719c647d5ba42744cbb9929d44033f8b7cdd5fef089fe97ad27dea5804a6f2efd190c4641363c001c82c238ac6764719ee9bbdcfbe33a63a977b06ce6befb320774784007e4241cfff7ab7689bac324f57a3d99a8591f44f5c4958082624c48707fc50029d935121cb1e02b466d26859ceefa6cc2ffc4025006ad6b0b1508d90046e838194d858036b028fc73a8c6abaa42a621e874839a153fa9cefcfc83b1aa6d94a4cb1d911e44a28c8944da6ae7b41c1b41a9ebb20d62aac11c6293d63ed221da37759191f9aa7fefa2b4cc9b07e232bba6e03e60a9c7c18ee5f0e5773d709a9e4891897cde8fcc0ed92d7173b71dedd6a8ccd11af40742d1fe54b994991259b781431cff9c3e94d384ad4887867f27114ccfd1178a3428b0be7eb2139de660bafd8e7240a8c9a66de9acbc40ef805423d27f6947ac9bfd3bd13e05773c6475622692d38d26eae58bb4fb167ca00e750f9b0c710b55bdf22c732527983b41be9018911ad8cd8c8aafe6bdeb0e0b087b7e998e1a1d7a1dab1b9939e45489d478f71031cd9b43a19a6b94b578ac94bb9e3bdb476aa7d8b1f7c906569a33b1a95e6bf209fe674a4eba014d368037bcb3e82f5917791bcf9478f204fc23cbd42596b30c573adc27f06855d4ad7b3ac0d0610d7bf7ff2cad1e04a0524836540d6b0c5b1e266d1f0c44c3a0bc1bc2bd4cd6020736eb38348778d60fadaedde73346a949070b9b11bc102b893f72897243a8850ef9f3e05562173222e793d761832f9074144646bd6af7e21e8199b788c9edb131d7de430b153d94969095368b82e501313aca1ac6a7d05c3ac25d8b984c75e5e22049e4095f2a59b008f222aeaa654c868b2197ab74ec5479959b6471b86666998f955c3466123e09d447fb5d9f978da39b4f686f25ff4626a637521ecaf97d08c2b8b693b59a07634b1b7344e64d2c5f9092ffb2b8dab8c3419545a6277b578aa6ac2a75ccf5a56cb1e55e025f1aba18053468b25fca9f0fdc1dbd3d709493ef3d0339d101d83825686977d205aa5120f1377ce93329488e5ddc70abb24c5255c92a68afeb26f32a3c0b20c41c5a71cffa64dfd207a35f527f750e19590f8e0e3853eab5bcb69549a569a09743ad20f09e75f6a99623aa6155380ae5fd3718a486e219ee57143fcdba59386c13ad2e67caf42b03710890da401033f4339458c34416d6d73b9aaffbc743c56f2b72ac7fa3fb183fb2424fb14e2d305de70cfbe105411d6554b07abcf20c8f899fe9e9eac8b3fc55baf0d55120608e24cd8e5126b9a0466a40607383ca30a0c854162fa5c41e0282d7dfe98398a227873ee1b8e30843b2cfd02d51ff914690a99e9c96a118c1573f0d2be7bdf01d5a96b129660b44313e07154b31b4c934ca603ec4275dd0c2906c01d1836761f70e89f3a2f0950773465faf55034bbeae02cb75efb7470e76bb075f2cd48ce96d6e71b5a0758f8b455bc2fbdf4719033596f06135a4c74b06372a188c02ea450755d0fcd60c07c9866c0a4c9fcec27377fa1002847ea192a9003a3ee45cb21fa750052515fc1b9cd74250fab1a688bc642795454aa86a8a68c3a211b821da3b55a82cdaa8b9f174e3fbd1aef534bb1d038598c5072c76da99d4f09f2cac460700649668ff6195c58cccffb1464f9452d656dcadf031926d1a164e08a7652610d39f2d7f22d4e491857063b176dd0c6e8e996e7df9d7ca733fe74c2ead667e20307ae3301fb2c8abfae9f54a91b2d772d37589cab5937a3c3d19bc8e82a595919098dfb19b02b4e30ecb5fc04c6484d36aae1393202d34e04564d93ee7359abf9f2f4e0278124e5e131f1cd8558c211442a3fee0dc685982d8af40d034e2b9e678a499123c6709dc173aafc9129e282016149fe98a2bfc31d2501038aee9846232013173d751160f784582fc855025906552a1f65020b110a5d7c02117197740d25cfc6c6f429011105b2ceb606b137e906fc6c20e6363cfe2526d013fd2b48819d50ce969f1ec4e0d9899fd64f48f08642748d7ad5ccdcf0cf5e4a29f0d12eecc2a16bbbd5f566546ed94b0a5b80ba20bbbee103388b67d765f37fd75db99c7e9d131c381438b5618eb1bbf027337811af19b5481045241a265105895ac2861ca3f0ee1b4d7fc20b042aa6699e13bc3c5da5df42ec2880fce6b4d28729b3e656167577ebda696c1696e6f6dbc5bb6b9e99e7776406dec4ce5106b289e1e19a34205151fc32cd209052b47be8663803027be81ea3fb8aa2d14a59eaee81a14dad1555ad28c3d0eb79225ede6d8460fd1950f15135511c43001ab93d3c96156724ceec81dc3d5bafd0b99a24d1a70ca4ea7ed87cda7fafd471c2e9710436c25e4e49dd45d905dd4a4bec8a4e68bbe6eb75cc617c1f6f488c37ce1dda99c377ca5de09ab0b57bfcd47efd642802433dc1f4ad4942ad1477e42678a18dd2cbe099029b7f31b85296cfbcc218cf152a003234d2df8b1b349c27487dc32945b2adb27c40f5a174c938a7342dada68287146515fec01bfdf3ff0c8c5089765a0dfc60090247e1f05927bd4089fa841eac89e46c5928fd3d5794c70afa29648cb63373285cd41838c9d3c1b068d2eb24dbb1b2557e16ec415345d3810cccddc155d301e607ca7966598480fb2061b550b75da29dc273162354fb6b6fe4b148b2e9249956f196db83c3db2cec369b7fb44ce98b486ca97bba46a2803828d551ceb446870f8d7a78435dd10e0b65bac0874baeefa72072fe39ff057a3a8a590d6be1fe3b38d496a53b36ad84d49cd1842b0aa9e31942f1bf6674b4902a641defd51ceaabfcae99bc8d6e79e2d8ca0618cdc24fa4b62c4ab0f28eed2f1ad0c0b227f0c8e10ea5d04cee588b6b734421687a46f7bb8cdeb8c636792a3e3dbd15d13e510a0e29e9de97198f5d5e12940dd1efda0bc5a732c240ad97de4ad0ec096583581e526c21be536329a84bd54f369a455ba6a271509b2d47333aeada9d1ece6ed5acd3e274e1da7161b849cc8741cf1b554ae9eb3c2babe7321ddf4df4122b284990a1d5f3282520d9fa7d54c571ab17f96b07c0d04b92e11eff2ab0088d7cc0173d4621277b93323b0a55b023d947f1ce8af0894e4304e3f7443a0c388ab7ade4c5e179e5b5e2c9942ec19c95c1744c48747b38b8cc2a8bf20102933eccee6fff0d20888ebf112cbfde5812f2c121cf2af597f351a5fa65e06198403d9db2205ae587a54df2496c877b903ea4c4bdb7c700775b2b3db5be2e0ea5b8dc72307e3844f32120694829a73d346a8c995b97bc561ceb3b6a378610c3c947e812c12318e6a56f7c2b0ee5788bcd5e7fde492330abdc5e56530fcaae72fdf6adeb8254606954faa1eaca73fba84a05ad1cc3c66f652d56dc74caad1ba4d361dc9c3c118b747a07eae49536b8fad34698a0d98bb349318256f91a1a9c5a641486ee359fd174f7a25702d73d522b7df44a2874bd9889d28c5ed9931532b4c8b898a0451c5bc27a2613eb4e78ad03aca004d0975aa1c0e9850555209d6f90374fa99663b7f130030966049b491f8d5df30a1fd6657142597f007f80bd013ed0222c4874f5d66b1617b1a5115b0b71aaaf56974a7e857cf100904b26b79d79d34339180e923eb1e49112f0a84a0f1b7542467ce0cb9220734f0f27a6e4a928896bb0c57f5c0b4b2511af65b6f67b2608f6a6965f18f5ee84770e4d58377b502ca6880ebe08c4c3c32678b339228f973a982c0290d20c7e01c6268a789a5f7202176bd62e6f5c49b50cdee82cbdfc5569ee968df5a1d2ae900f371e817c68db824d074c4dfb237b55bd46e13ddb41277e14b7f49ab97f58f5c1702626d7805c102505bb047b3c87148881d8850cb221b7556b586800542bfff838477a252d6627ddeffb73cf4285de18b8af93431468448b143777510d0202ce87d9ff8600ae4517dd5c42014b4b13551dbbec27fae9da762db70474a80366b2e2a101422e1545383262b50b011a32cbd85bf73a5634876757ad5be4cb59b08701ea68d257f2c5da1d82887efa05820d1da0e34482463362f0c12e1b67e0180b4c94ec4ae24ed23da138232491df8d13b57daad7ee05488519721dbcaa8e75e1bd13c63905e3d45080ccb49ed3ab5f329b1ffa3f8a0b600d0f055c8b85a947faf36a6651371afaad4a266796d9edef8aacc2bd4bdaad31f3dda56db57f3541a06eb4a35a5a455b283ea5ee6ace87014f804ac622ae1ccfeb23c3c2f45b50456ea3c2a2ea8d7231cebba1ff78ee6e66edccc391787b46effc4cc460452603db60c9a71e0149fb5f0a9f8f0d7c32c52ac6a6f4fe63b082b35876587c786ebbecd889863e8c777bbba39d8808074f3d41b125acf2755cdb9346a3ca6ee49ff89acfe0cb243f47b54faf7489c17c6694237449a4111594a75e75b5852ef5c26be7cc9df8307d9db9a0884ebcfa24cd2045c549e7f665003c0d71f8a256fcc7e066a7f43764f222722f90b2a24e827e113dab359df262d62417787fe5a92cc4604aa20854b5d70c223296fd5e01e106439507435da10e3a7cc59838842d5fb8612c13932922c7a56921f5071210625a11c30f78faf6da5611f2235f841aa6185929ca3499e4055e408161b8bd982c7f752c3fc8b8064c85e04e48066555746e83c3386f8cc31c9c924e511ee543d0229260b45471ac1a00aa77354155a174f0b69f00fa859928236140129d1ff569f657464b1b0024c2f906b6239a59760222055430724370ccaeb4c11322df0ccb0ff544fcf7e022da4fbd734a7542ae01401dbae3b815749e230afa41ed8aa5cec8166332c945e2ff63d37eb3bda9f4067dd26de0e23cf06a41da4927e516799f28b1c7dfea28fea2310c87356a2fe79112e9acf8c2af6b8d5090e4de5a45266117d3f8725651948008dafce0af55d420d26fe7d72e936438a89834cbc0a7e10070c8ed19bef9240afd66b782b3fc77c0c021c35a52eaf08273b76b731cd2f4b5309f6d3bd7e4f90e678477f14e918ef868492eb6e57664ad299b89def9937b47208534629a967173c32dd20911222f5ddf6a02b0eae3409b76e6948f353265280ae8e1386fbd78a0fea17df6027fba23b1a6a89e7e9eb39c3e1e33d4d91c8e0ef2295b8091a666af6500781a775a991d889aadb1e8abc7b771bbbb81ee3d7ca7ea13b124f8fd346426240c267f590187892e034d8d4744b4ecc604451ad29f4d25a949bb7289b518a1755999a15d17efe19e5af6f1054c724512f14c3f326f0e0a91221267c511af9086a4ab997206b5c23577fbb24ac48a987c2ca6cd47e516c9752c77d408bf8376bdb0aa518a6422f5edb561238294a7cc58d3183c04fe22024f45034e937d82fcbbb4ce67b07f5a78e05fb5fee7d4f7e6bcbd57b4789a7d2ea112a7c7da88c1a8d7fa879d2e720dda0459196551e81fe69aa210ce3b3b229dd40ec3b84718cd6cad8e4abec319e0a4d46aa628fec8a31d2d4b6646f844b796a187a7bbc664a7f811344277ce640a754fa293711925c475f66862767c5baa6cc9e5482c96156ae17a1299e5ca600121d95b5133d3036cd12c353fc4d210743e5df9c86c8634ce8fbc69932081539cc32875b0fbd07d967af3c98f7a013b925b49b0f9a7543a0990bed03f0fbf2dffbe3f4dbc49cfe8a405d384876d27c9a99b413683b777f791d32c35476bff8e493066033fb00dd7771b4ca3eb08c8ba660e3319abb89389eba590c0fed5fc01d709ee71eafea0db8ca0319e209f627f87042743f18933d707ede7fb2e86e0f15d9393660100d2783bd32e2bd371c2341aadc3745e0cdf8fba03bb72d43988e6f69e0bed84d3ec21876e0b0a75c67c6a1cbac458cfaa50f23671691eb762b87930fc956f418b11a4911cca17a0e0c8446d8dcf07e070556a041851820e8eedbebdedd47cf1af7d04a41fc89571317820e47358bbdb2546d7b7360f9a2ca1b5e9c85955067399769ed39a8b297c6a69638b361b71deedcde858f6ca871f44aef14d869b19405b77d64a73e6787668f76e4051d18025fbe69b5e56b2e099ac63dd61a1953f23097b0a659b67aeda6cfd1181a4aba15ddd11fadbf1e288adabb1b038701078c79b957d3953fac65085777b13d366bff6d8755eedfbf9f351971933dea797c0f73356a7ba20065fbe51047316eecd01db5a1fba3f1f05246e08d8705d37af680a68e7372e39b54415dd384156371862fea63bbc0fe7d750429fbe5073353a0154c9f2b2e31c09426a603dced899c81ea25425758a8d1313cabc692d9a79eaa1fc0cefef5daf869f6f6b78c5df7bd9bec8d5e1c63a6034b0e619ffb287f884282690227953cc852b83d31dfe836f63f8df24bba123818c91cc5f69d0a2074e317b66197fd1ca931e91e64c42b4c9474c5e359d1c1c0b54e6e39dfcc879825877138c0c6042bc80b200843435fb5603cd6ee0b879c21d28538009fce1d5151db3be10e4dfd72e9838ee71157364b61277bace85615c3b93dab7469a1706a312a16c3e490aa8ee37eaf71d178c15f000742e6cc81e02be2714664c6c750aa18b8d34ab5a05cc69bc75c5586c0f5d0a91bc4515fdadb7691ccc7802dbd409d4c55e590b803ef533c8b1216468f8690905aa8dda70f85504270126a7fd1604b692b89bca777d2ddb2e9b54048583e46e92d549156943b18f43ec02cf3634d59bf93e05fc4ac876deac694751563cf13d8cf24008c87214c2123ed999453993b5de01c1c26c2935079cddc4498c9b814e77832cf98853e97e92bcc351afe33a3b5759bc01179e90f8099f26a420de0a149dae0ecdf7a051fccc27d52ee1eb92ab79ded9c2388a6aba9bc92284a51f206dfb24983361cd24edd025377b9ad168785b7fbd636e785e5bcc32c7507a8e0468f98b3453f5ab72217defdebbe1c192c0322a34b89ac09908ec29b37797a8c02037fe033f07a3328039e285e328524181183c9db268102b2899eb7589dda9a9c8a2ed1b4d70d9c80656e93b43878bffb4b10b896cc3cb30b8627722f55fdb3544d0903e5846dd67b67028555efd5f3907cdaac498477e82113c13428245e6d3a93e8ac0d69ed0b0072a5a4563f6aa907a6d43562ae0c357fe2f1a44640bb524b3d95c06abe09367233fe1ff18867ec019bcc0fe38fe1cabc925d9895018c15ee49714b44619d637a660917e15c279608d31fa77b3ce956563fd8100ab5187f89ee3b0f96e7460e111b9fe5b3fabbdd2eab620a6722c460180ce5a8a644959a81fc0f9a9f5288091bcc602300b1feb796a0450e35bf621d1b0d6f9cc6dd25d58a8aceae325328b58825270a8040f48e528b930200e4f81a54a8d6c32ab4ac30f4aeab2b029077908a8db748bafc122709f0270901ea6e6cf415240dcd298bca3d762a14609a90638b0f481b53a205db23a13f9a1770c7c194868aa50790a8385e97cad1de752e4e22247cf2fbddb42ed8c1380b09a0928e1d29471f94a403139e7eb74e29233fec2aef6b3470d9c071dac0d602ef1c3e6f4efc87db9dae63939203ecb8c5de9f7a59cb30b651062d52f7d6876fa55602fe3d7c58a6d2b6d1ebad13da0ea7f2e1b246741f1719fafa5f567d369052b697b2b3e87c24a23cac9373a6b48e944947359adcd5016099fadfbb3e49f2c0865060d59dc17f1527082deee2c90faaf1d31f43ecb21ed7e1fa5f2d479d35caf75ac35ac8c08bc4c24edacc93e7cb5ebe9b6607d16564f33d552258faba23d09c66f66268bd44a782320c2526556a354e6f292c18e3fcc7b6deb9cbe724482b79815db243ba4fc56a857d9be575ae53933a960fdcbb6c58c9bbc14b81463a76a3b32f81b58a513dd1d5b2460be534c618cf4c963cfe7c533230802404c925323004838aa8702739d34f863c0ab35c2704799cdd4e997b3030158fd181d58f73545d198725762609c2650914398eb803f100665fe77a6f2687cb16bc4d5d808d36edb3a8c4b0e0ad439acac684b410e9d9ef49a92e9f3e5b696cbbba1c33e79f62fe965a2a44415a0e12647add730748356419b76333f9270a9435d0619a10850e00c82e328ebd1d84c4dd0f0c807a7c22156da129053d6d7d2b38d882d1ea2cb57ac0e8abc3acfd8d4e916e2da63977a62106765df2596807469c66a20015338f5e01fe57c21de75e7a2e3877b4320e008fcd21f98fa1a8737577e83c4033af6bd1d20526032c5b28999ccf2c71539dd00bbbcbc8fd89bb3a9bd499a3a50fa0913c8751420dabfb8f5f46cb181074096bb5058f5cde7025df2b394896342343472423462c9bbc180b4cb00df52080a322026c38a030ccda07778580ea8396a11731b1d588ae9444480d963dc730fef6b41a3c653802ba46632f6e86625e3d936d8cbd923f6ad7628b3e68c032d02f36afb6fd0d3c51be0403cc47caa0d67ccefdc428915d333d26033667ccb939f40943b275f9c68e221d10874225041bb147635d44fd7489e5879441c70fd16f63ff06c8d0758a95a7ecf5fbde86631a9bc13e3a84b05ca53e013145915eb5afc026c7264f3e2f6b52efc762c655d5b926a8512b6482eb99ea711e4743183b4ae8d16da3fe4d2d667e5403a0ad5cb40e3633364af9dc5eae2cf74f34609ea1052b89512eeb16030c119d0b573fe5dbac539e31c7299529a0ec7496f2aeb859d557b875328a4af13f1359edb78e8570661d573d7a70a776a3572d3bc368e3ba3561e5b1cc3caaad51cfedb746264a46b61885826b14cfda25504b036e89039c67bc6a4ef6ba27cdefe70b641e38198dca5a28e9c71313fcf152dfe7e98385d60e2e1507cee5911801c0040fdfded60b288ab2ad7a1af545415cc7c62ff457d6c23b0d9011fa9611a579b6ddf625848a463279c3288659bb83ca0ebc8034353fce52b761199c0db4af7dcda045f535580feafcde0748cd72a213d85c15c3b5d008c001e2e2c5b98e08f46b082bef3c419e5c415c8307bdca22352e67a2cd5c7f8839de4ffcc0a22f28face2ddee5ba303edf2df2271cb2776340efce2f77bcc4171ad3f1fc10082e9b066a9d1f22a5135bfe9d3deced17028ede7eeea0432d368408a8a02f9e1fa768e8f2778f75e9f3c7a4173d304416e33f262687ffd16ccda36b46968bbb1748ebf3ad95cf00c31ecb2f4d3388fe77ff1183436c016ca695cb26b281488f019b0fadf8642ffa7b165137014d81c26bbbfcfb693ce8c8b957a15f6ff4112357de88051f612818a2b681d5738a760f6a514391768e02b68b18b19655f4e677e014b818d621e6ca20339bab11e557e27ebcfbc88ea42a1568e718058f365073b2345e5f42f22720180937b276e124da89db1fc4c03ee4c630665c81355030e47c383e0b9475fdfbbadcd50b2af3d1dd61518d5cb664a3d1932a7f0e8f2695df5e40977adfbf186626b488dc89d65da0ef147ad0f3ec4545585f41f97065f7dd5fa2f094d4489bfc298c532924ac8bdfaeb7f1797fae7054fe5e15e2b0c38a3b84e7a63c497a4bf0518af004c0e20a4465a1ab41958b0f1d16babf70f7e31cf072fa34ebbb74b8c8118e18a2636a777c4dccc5ad86b1d6cec28ae571a568d74612f52ca5f647817205a73bce0f1f73f1d09c6b3bb08fa180a6dd19f7e490c3dec26d1f43685baf014a03b88a890dde8a327ccaf8c8b39776252645579d6831937b3aec29646263839cef2c2d0f1fee94a5ac3d92b100aaafb97a7bc174866d144052150e9897a3c16ef400d788de8c7ce60f23eef314269d8d3a412bf8ac59cfb3c1852c306ed45c1501ff8d80eee036c620416205cae61108e47c11d4bba1c9ce2376fa817803c2264c201a5900bf3813c5bf64240116f3cc3a36929279462d06041cdc43c3e14b666a2b37ad8c66683d0c83b48f2454560533132fc129911b5a8619706884b6edb43991792a86bf01a3544a93b70d0fb6d39016ff3621a8473dc38d77777cebaad2803a2c7533253e4491d6a1921f8add0ad30b46310977d6f4253c2cb5cc0f654404cf22a5846a11163dcc616c2049af82a8cd52d83234f656b6e48314ab9729813dba056d0338b61cd832b5379724d26cc0d45ef018dde02ff0908bfe307830ec41dc669c885749296d8c893b0a591c86bae744b21bd43b7dc0c0df55f8032db001e4e4975147792fd6f60c6d904f11c608f6b3463c119c93aefa75c8200429c205dd86812dfd3a361b72e04e38b7c4e08eb9740579418cf5d1881e82b12ece930c4ade0589aa4a6d24253286f31ad82f2f494d06cec8c95b72be958988fec8b62ab1eacc11aa14ca90ab5ceea181eb21da0c002f46f251d025b40e6b451ecf7c3a58c53ea0bdd2d9c134762630af832406055a69e811a6a4e22a937bb7482ace2818dcadf75602c33ef6124072b74920d0c5891cf5f5dedc3e87deaf513155c50b851fe32a0fa2185b9ed215a91478614a05327bb596f10431bd9de1d516ad7854b26b3937c32f5118ab89190f400176252a3e5172d8087c90319ea82ef16c0a912adc892e622ce357c8ef6f83d0725609c6a2068a14a1cd764c47c729d28b0afc5018b29090e2ecf8c274cb99d5555fd62ad0a9311b394c98187d31c632bc4dacee494dd986a3883eab4410b24cb0902698fe9c79310b769a2e6c81e84f691da3f7bc6d7ed00f670827319b019a6c63a3230a1986fad43beb9f769fdd65941f1b37d955185159a9e588f65a7c2034c954440f9063f9c12605bac147d9baebd89d689a3e61af185310e9128ddaed081bce8ef3e2b7913c26604c949b24f64c6969eb9ff12be88b50bb7a5088752bbd1b4ea033dac4b6ea1314398bc3e219ea4c4edc47bb791d5da24b4373868d04524f435dcfd8ba4b6a3ab93f95c89db58690a4a14704d87211110ceba2ac577b949eb16e3edd429608ea93dca73e07057aff3e5162dba619887742e16803629a68a207cc7bd4c339b0ef55cc85fbd322193b1d976c4bf6a33815a9c59473c32ca312bfb248d409d461f0abfce89f8b5cae39b37c4e52a4862e475a793387a3e6e254a9cdc8e06bc7a1b3e6d0813f0141c257f106ba29b865a39d36e80acd293b0c1c58f3b24ffc46334466d960c04137814114a69d9c886163cd2f0f6c9d9dd3d414536d2b76f82efa2451798efe227402ccf76bbeb375952a4d635c4656848a6828d65b51b0b24ead2c109bfffe8d5796f6105d9510686841b7aadf935bd96f926b9d282df18726f25134e26a08d6448cbdbe58b70045353fa6600327561418c1ade31e6a11c920ff0f9a5bc620d00861c2edf7c0797049e0d8070f3948e1ac5b72a2e7f14ecb1c96c9432caa0fcc2f7686046b6d2ca88dee64d0d22546137d83184bf493f2959e5b217c75d262c284183f2993fb41cf730ea826fb79c88cdcedc1ee489e23ce2df0219481e24fbb1e31307e886b596c8e0469e07963de3bdc76e9d24fc058a9c2afb87c778912e20764580c1655edd94fcb8ad2c5bd0bddf429be7cf3f24a2ba4f3d9077a5b74dc8d76d841a2e586f31d4bab22447538bc958ad12fc69e9a3dc9e8767bed5e3f1946bd75ced503bd34cf16815cbe4965a15e540839be612ec1ac5b91f640895fd5960131e2c5094b06dbdf618db4654b7410f022351acb9103873056c8345bf2b5ef5ff11f3caa37d024ba3c0592590e49b5b5531196f8bb2d710316025600ef00e6dbf25106c13a508646711ced1ba30ca3c06de508323860ab28aa7dc4e8c412a30a3ea4c9fc63fff78265039f2dc8ba1eab33484bb16ce9d42050e0338dd03da4c768117f3e4c7f4534ea84a8ba8f7e81bb78f8882a70139b06d022ab6cc6521575a8409699676ebd242d5cef63d49417e3651b8c866ad4fa93d3cc0d9ecddebe421950462da8c27a3626ad16622d51938560012b6b395e64a337036b2236b5ff8363cc5f8304e89e65910717683addbca354c53356f6847b6471b7c00e60f460d9660b41e3a21535db39426be691b9d6a308a93a27342427ad9e9f871de0e8265648693e8f01d66f600d4188bccb2cfbecb0c72439c25c9b4dca0e930ac186a774447cd6985372f5b4c7a9fbd1e345d58673de5dbfc4f44a912ece22d10376a0d5195fd042046b977a498cce3b4e66fda4404d4824fd9ba8e1adc0afa93a9db1aceb9a8c71239c73e060c9784b344d9d3d0a029cab4f50446bea2c8650d8c37e3eb70a91c2cd831d47c7b06a7dca23990572a70c020459aea09b5d13bc9fcff460163aaa6721f5d9362a8d64c3d6073268ee23671192e08c877afe0bf7562aaaf39e4c642e9258bcd8ede73e029b2d0ae8970f1a8ab27f995efbbf1212da8ae36316846216f6d8d514ecce44bdbe3d07bea536019e5f831431574b13e21375505106400b0948758157dfc4639ee341a0cd40eb7dce6bbc102d58e82d2b532db05fc9b81a209d8528a6ef45c4f94094d072a0ba20520209f17208eac94bc06b3950ec0abaa23d83bf48998402624e14571d8eb77b2f3a996cbc292a42d12dd29df1b7cbdc12040fd70528808c5ff355db10f74b1a43c7902322093a0a6a094ae2c340fe6d20d91497190d4a6af9b8fe9b73d0c759daff9ae12cc54e7e02290258dbc560f44102ff22b46d26ae7a84450919d9459bf6198be2ee24ef570242a463c19f3eff111139e02d29821546eda6bd4407078ca6c931116f2d99bb03acc00e446605fac269d1b96b54f64f17db75b2dc4a8fa81dc4e0c47c5ff03dbbdd966a100392c7c3fd7e93da1563605513f2ba386011f7cef5ec7b8761e17a024230b938bb70c94cc31b301dbc1a03208dd7951ea361d84359dbaf3e802d76b0cc8cca30001a20d7957560a70de8a75b5c0272c3d51d9ab668ba5c3c3ce1229a16127b01456213a43ddd61d24f7e06c5ba8f326f9813d83fa24121155468494a45e18313272e8f776942560dc6b19d58246aa9552d0f5e44f709fc8ea5f8bd8e4168388a1600ba14c71d1d1ac8b5ab1ad8f26ae71b5156b23b0c11bb292d55d7e4c326c6d05d9099425241ae737feac29550da8b2e1836e3b02f6cfd401478f104180e0cae866868042445f1d2be2f7c566be6926a2b23480b64fdd5361ffe7effc2b5978fe18779f572148061a5153804ef9e79b8096d934e2a92ab53b47966c89054cbd84ca3d1c378940186738c7f21427184e523a3bfe4b2cba5ad9ab95081285cc343c6987a513be5aa2a1b096350c446f220ff1a9d74fce44bca6aa91268f52359c8e09d1b5bc4f07274c60cb02b28f70e05397a54f28c6872f5d39f9bd4911c1aad493902a258e6422602510fe61ca92d93ad5accf9965184cfc391bd07e5686c14b15d1128286f1fbc1c2402abfeb5b173d9d5c936bb88dd76acd42e00a947e90395c3a354d7740191010a85cbb248da28d78a2f34ce2d37f13da42bd4f8338490bde39c6af335c5424c5e271aa7d8d582d5913ee992cd58d5cab8f3eff4892d2a966abdf34b62e47884ceedc95b638e655a1235105ef19e0dc2fbed6ec131a54357eac45626c214a2886415c7817d22d7b46c8ecbf0994c22de05c6c64d1bf007cd56634c62fc5f138ecbd4127780ca2a1371479608df65857e6b4a8906efdc3f75b6a1940da44d64d733891c4bcf0773bdad7d1f5dab3293fb96d3e92216fd1540288c85912b8209094c11efc5c52fd5871bc4f766b3e2640b53040f3964f229971689be26ecdcb1ab6aca549a8c7f3160dfc0fd450a4a3c6eb4ee3242ac154b5f6e926e52c173bdcc41fcb176a3e54fa350c0eb1b6ba48d01313cea40b0992294ea6d9da162e408a7aa6414ef149c864a8650b5c4002637cc690d1590d1eb764f49f1b95002ee3fabdc4e8a3357246e2e5a749dde76183149f5dee7de6df9ad9b71bb7c60caacee3b83290b50f61048cf1f5df1e2fed045ca1ba1f808d71118b46d5dd01273b5b302ca4bcb2c40d4de8f3f2676835eaed270a7ee43828602bf930595ae2a96bbeb2f84305b156fdde5003bf1afb45db73fa1e149eda2197f49335ea2e725dbc741f3cf0b753d1984a6204de70184dd4e034dea50cdd662173e2d999d731c51002f14efd8f5d9ed5802c6bee6e22e5f087854b696e0e5f9ba8a04c80e81094803982b54f455af4ccf4b27ff214337da61fec57a6afeb3fe773f3545ff03170c0e71dfddb46fa39763d0a1ae0660ceb0ce3c7687b0205b3a8d7f72cde3ab1083f31d36ad2c4e6bfd605aacdad55a0c86392de2e8f1a1ba30eeda46b583963c011c58ad2f09ecbeff9500d0165073d61bc125db2613cae97cda9380106fbeff93d0dd54ffa3704c137dfb6170b6e442973f07aa53cd32dfaf4d1872b810550233df81b746e9b069c6e640f8e5a29ae4e448eb7210b8ef20286649830c2a6a69282dd673728ba95cd8da02099ebc1a9797ee85bfd74b0f9545406d9f8ea7a91689dcf2f8bfa167947349e044439744d94cd0bc45a2eb15f152a17a6394d1606d17439828a1b95b585a14d2f9edae8cc431d8fc1c923358223f0e957f6c0875987ec7e80aceed308d1ed9288ac1c95b43c01918936127d799ba5f491b07939fa36921c10d67cb7a5926782d4294122092adbed11bd21e6d86c88de6a6de0707d8adadad8a052aa00c29129039d0fbf5a9977051d7f3bc31751b61ae6c872209fe40eaf34f519d85de76197a4c98b9ba8454d663b9bbe05443639a837f6b134254db7464cad30ebce74758468274a683d58ae5e7cef53d347552a70b82ad1b566d05dbdcaa7ae6380a3ba0320322d443418f3cfc4630fa65984bd3f759b409fd4692789cfda7b2422c67efdf433d378c804c97b9600d24e016ea9a5f68fec65a9f4ccd9314cc780c87d12c7e7d2f4f4873baf2f26bbbae3899e3fa281aba63335f31a7a49a00df4bf087596b6c6815d096ad1aa70027f12619bf10b8b26c0e8331e7d622fadcf688f93c88e0f22bcbaea9459f5c8b4e98f80414805e74c6acf8875b4353e15f04028db96e8ac78ee3738507e1578773c90f3cba1a55dbd5028a6669035ff92bf80030f5b709615ec15e9844e9c9076503553ac1d3c2de2d4c42ca8a50550bfe3d86200f030b78916ec0a38501c9c1fae814e8f69e6e927af7b40c3c7487b69ee704358750f5235ba822bd47f9c8d5211eb6f55a713d9c862c7252517f38a49fa9816c506303b52aee911999d3299ee6553bdd89b284aa12ad6bae91bd346a8844c03f0f1b173060ca6a0752b3e59d70eb75eccb42a6b27a56ba69009e13f5aa18a67aa35e5944b5663632822f6f54fc1854f52a86934afd7a1b0a7c03e946c4ecd1282750585ca236683b7cab29cf449b91310ed1dcae17950b7dd531df884820bd03ff3eeeaa882eb22797664ddc95739b56d6e9ca95323429ab65543f6b65587796d99ec432c2e5bbaf9dc5e80d91f88741cdde0df301b7d08b3d2cd63390345ed187eb4765d166338ddc64b2d9c39943d17563ff378cd5575624cd9c3902c46082453fd011ea2896e3b5d437d1379c1c41ebe006b0ea9275159e1506e680f2b1e268288020f617251d15ea48a5840168b924a19843496ecabc810c06e8f13eff5bed5a0457b57feb6f101a523258e426d5bf68f17bd40f3d5dad2b6e0a7dd282dbf0312bf331cb838c252c1bdd6208088ab086913640eb19630e96fd301d0b7ec8314898561623bbf9c5c00d41e1986dcbb62d9ee466850e93d2ff21dc9ab366cbe167fbd5ba7668b0708f8ff3423a6cc42d662398f2722f127c656115ec0db4a7b0da776e59bfeaf5ac81d652067056506b781f34bf242282d3a4b8d0ae066ba041e65a9284e63a21fa795b1e924287e57e9f717fcfec4acde1819f90986ce1ab69c57211f7572ad7c1cac67112d07ae1ace2bcb319b20d55088b365c62a475634991db0967f4471230668423f4dff922a297fd219833c32008cec21f3cfc083dd4d2832850b64393540f368f74244e566329e31ada6f3a1d1df5f7f574c1820062f628ac1ce8354c3f2943b086fce906e42010b347f7f54e15dc8b4a99d2f1804ab8f21a1ebe6ee26adfe6208da05f44813ce92ac150f219e4ae01f830f583a64f8ded6c727b90d80f88f1b9fe1b4d669a58c85ec7337dd11beaf13b0e4fdf5d24fb2168e0ec9c15b2af151b6a7bdd81a70310d967c0cdb9d39baa2dde9b092dcd9607d2606ec635833a00fd1a649edd27b27e85ed05b462a4dec942cc3e3e70afd13d16c48e836cf6808142b5d28ff03c77444f3a5b3feb2adbb0140f55d1076c685dd46a9e1db7498f17ea000120a06f543bd803248c159cc02ef444132871b70a8b4f476d3e89b477d6f92e98e5e800cc90d46a3575a74b7294a8db58aafb0f3dcfa06fa2b83b60a34a62a82a149e49527a77bba06d646825d6ddf5f4370dfbd9ba2ce0062b6acb257db3790a96724cc4752b6ebe1ac2f748381ec8345cc53fc84084d2840c34484d9919766569a74596db699a6da7bbec6ee6883ef74841c8e1248b1122b7a81f89dafa7124f8521ac837feb72a8afe6b28b3d7f8363314dd4e3cea2d8b5cd1ac46986d3b65a8f63db9c9656b79aae5e97d61ff14273f6af3ab5e523ff0aa7104a76b1779ccc672a8c80c376d99bebd017f0fb2f18dcdc75dc6f3df505e986ed1f48d76358c42244dd777629d68c87cb031e5603ce900daa57dea8fb7dc8fe6666c84d96ca3696d8dde40ff346ca29bd4d1e945b83a2cb9d9c9028693198b237ae553302c4f21af6a2c2a0b02fa8261653f5c74f2d93cc864fc1ac8d29cbbb5dfeb55fe73925743ccaf27c2839011ec287c31d4e0c4960a49ccd110e60c7f8a10ba13fe143eddaafb79decd6889c1005ae70db0824ab28cf5996dc4e0cc2cc37c75e79db1f0eebd8ede88befe68a9984e0a88540cc5f1af3baaa78778322f5473446df577808cdcf785944df3bb91489448b9a6caba9faf9bf685dafe6992abcdec03e706f9cc443c088172614cf3c684755e191e46243a546ea0265bb6f39245a7149e934ccce2c07746599c8b7fbce28a2bfb71c7c3985bf0062d147cb62f46b398574c7e36a0cd6bd30a139b0e7c7b094c603606f1ad86e5d9bf9ba963e7885cc2a99a8812b95a0a862bb18c928e80b607f35662f04112bfddaf4a19d290c550fea1c88f23de2263941a2ebc1d9fbd1e38ec3de55faef303ac780428f87fcb970068e6f1f7f01e1a197002e9340b17b07cba9f85f36971cf4655cbb5b492e553172689aa30ae04c1687c83bc735e639b6dc2a4616967c33d6ed798028d2c162c6fc72dd20356a9577633a2d6660d26c68c4b62975d4088206e78fb36bdcc2bf45081f342652e1ea68291c02a1bf7ecdbddb649ffde4362693206d20544d38427d6fe2cf6ba297a7004b034158170812f31c6cd3b9bf9f7874351e0abbb2a5233092a10714895c0ea15bf8c2226dba95a2aec346a00916ecfb9d19e5f6e463501dcde8306f7eb641dbb3393c7d51130b26c8e2d00ab331ee52293688c86c7343e3d5968141b81ddeb8deb9a00d8f9069def1120d8a0693d57f89beee7dce22434c288536dd8d4b0f4806b29cf1937c3009e08ff1fa7170b0ec4c41db75d68e2836b26587c22db8599cb33d97b8a110d0e131a09cea167cdeee0d34ba1c8bd707508296af7d43653af4c1c4d68269c7298b6d321f0b7d8bdb8ec4f0db35cbcfd360303972e49294b1e40e77c739154dd6cf1470ff484e5661d866ba78fca89e1c8db0a246834f9fe361651d6e9dc1aebc323f7f3f30ec6fac7f90a12f991cb444fdb56376803face3a75883aed279657c4bc68d5b3ea018539463b38037e07cc7949e198087562c811daf87074ddcad1ac704e7a9aa5e3e1fc5fc6bd0fd1c1c96acd70c344016ad2f5069695333ed71b185bc5bb956f7b22e126a070bd816415012341054967044b36294b54ed3800f79dc3e3ccef641b49cd08c683c3955ff8c60e5198310ee308d790e098a13bda8c77dc12ec691adced4f176bcecb19694a20e8824846faa97dab08a5cb9e038999d322f1e6522c7905dfa8016cb6f1bb1229a702709fcfd39119a58252f65a2b86ffd39d6520bea2fe09c02405d51f1ae1d7beb39dcec944100e878a55a131d8045a8fe3d3b0a6d3cda5dc686bf4a5ee36f907f689eae85294fcb181855aeefff60d60d74a176f5aaf00e4e8a581c1fcaa169a04c5cb992577cce7e8238fc9f8d243e4d015a3dafb90049150711a687106671059bfa2fb8cbc3cfc98564b6bcd984db560218f605a674d05c4ec89430c32620c25ddfaf7a2fb26f6c71b0f2939bb9d2558e939cab6492b24283cbbd395fcbc6b727a8207500ff24377397c02ea074d738a5d20692018f8b9e67c7e3d9ecbaa571f18db585f14032856e00a0aa64318ccdba658c1b1a03f634c2b371a526a007512387f7d80238f3a246e8e63bca162c048905cb9882b35b78c58864a2262b3dc935a4d82cee13ca8c215c835930108ff9a255d85415bf3065e5b2a12a5e31ed57031ff7f123563c19364432194d8e1903b03de09d5292add47714fd54c7cd51c12711a9d87502122c443fa9e7b1a570a82295e893e380870f2e3a2e78495802912dc0f9d80cb0108a65c47e4802d1cab76df4264327cbaa6b9a427b40fc6864cd72e009ec70ae20e8180a50d8d881474dcb7f4f07661c6c8b9464b0e63930ec5427918b7aa18e099d4ad250e2dab38ad7f147bf0505d8d7292aac1795ace8258b8223076845b82aa55d92bf3f46e914a9310e03c70c4c639e0156b33aa70c1216424f711b30ceeb7f178d372175617003081d43c63fed7be6aca3e2ef8648e03ac4cba115a1dbb20211719a6ad9f7936087a869b15a565394d20e518a2077209d375812050d6333cb2eae293e00966012108a95976696b4206821a952cfd5c6768ca612f550ddddb61b196a1415680aab28fed54ab469abd475290e20cea8ca0bc394f63e0db3b42b689a054f3161d302209c6bfb2ab57e7d0effbd039a66ba465111fe98de6d3f9c5ddec1e2728648b3a28e7a54800119960a783901b12b10a26bca79d7b6a070b6757cc7833129ad65a23bbe0f0b0d8d150c66b9245d070a92560819b4f87fa21421dbca3598d675fbf432dc142248af8a16811bebed28277032f488058f0e2ee14e4893f82901fe01d880cc1f524e08e1726515fd3785e9829bcaefc90ee1dfb5b53054d970c4b75a8db86b2430475296705e577b97254d437c00dc1d812d32889a5658498f20450d36b18506152369ab057f1f9d2891a0776a747bb78142f845051cd86487c635b94014a88812168c577652389d0279ec96128b18de4580b214eda6729e3f37890fc94232f849ac2884429483238d98a73dad119b2e524830969a28c43b7856419348d48611e667a58832bdcd20b72ba08354a6499cbe70b0e196a3e1006e59ba553ea2d84a928769f8b1244f63402a16745119f80eda1bfc9686a211799e4b7c0d2edc687061ffabf35ddaae2c1f45190131b8616030d9ee78be63ee1e63cd010cad220e586afd1c3474ed2eb676dc844fabd1e1a49c92457c6343e20a78e5818e07098a3fa34d89f3cd1b8c5fd12ba118ed2c67578e20e8fe90229a315aefb9021d615ad0b66f3c568d8e1729afeaf9b70c344733884e2734349670cabb71d942568283216002ffc804b9cc953b94202803125bc80cbdc8b0b7e7e4b64e7cc198eececf1d10c508a6386bed429323ccee5f43c7b0b75936e2bfd06b419a1795592e7e2953eee679ed76bf381f50ea8324ddb8041b1bbc743688e6963c3c4284ed4a75556c2f5096ef97060e5a248507aec819ef67ded45a8d1ac3a7f4cefe252d3bca2101cd329c65615cbf0a2df33917d5cdc7d0949649ce72452cd8158d25130ca6f273f6545ac7e8fe8e2f94b87bac455b46be9b1a70bd42cc52056a00e1c28e2fc7c0a54f4f5b10076b857de7828f92a1909a2bb952ec54171c1d7968c24b51ecaae417641648fb2f1d0b2526d041b6d20cf6a244de1a51ae6431b23462dced853b54c781c4e0ee84e7248ffc42dc86e006a20d864a0e7cf471ec46b1bd0008d1b20c5baf1f9fabb6d57069cf51e6967ba8a9b6a4f029e217ad3e3662ad2320f56af42b422c6e7547ead580642f2c787f01219d26037a40ec0c781f6a8b4d3ecd75009e1d09a29cd3b6d43ea8a9ddce7c80e2f9636a6eb3c32f52ec2d01a4342101e29b28bf928dd2504f5d1cecf047ca357478b60fa0575cc29bf04237c0d84ec6be492ce34ede8dd9a520e8d361b5cb4a139723a9c26dae00ba07d07612870933fb4a801d4e8f828589285c9cdceb6b6647f024b488ee4f4c86d8b43cbb91537b64d82a0f571972038d67542eec26fb25025a55112dc93202205722e40d032dad6def170d67ec5e4dfabe0ad62d63ee0861d4c3fedc8708110ec291e942da2afe684d3318817232f24442a0854ed8f8d3a8c9f0042bc0ae64f1c7ac8ee04322b7d7b4b2fa5160c0fd8d67e1b554f1ecf9d1b4f701b43d7f5b6da734cebb04d0a84b55d9f4def1939d30cf5e20484508935a018f2103eb118522bfe8117bf3630a1c56b137a65c90d85785cd0a8f487db0750e3e4b7772093a77e0c3ec2dbd1548fa93fcd4fba07a81700f29d1fbb4e8603fcc0704456ae24ac94bb08b08eafe6de654150a033758752ff1ca15c5cd2680d1a11967340423b3e8aaec7f3600c2ab25189fedba99104a24dde3e2f1fe58333f751fd8cd9d8469d9e12ce245ac446da609a2d05ff15d989621491b974148137758beda398210196539595ebda13810fa386672b4ae432967387e97ebb68d9e91e25d93a0337701f21a490b91d555147973c7d9031bceebd9d9e13ee778874c0d65999baf84f92416e93bf7001b5e1dd86eebce117d632e1690c5b32ef7674fb4c7c02a1557d7946fb4ffd6e01c43a5b598e3345c5fb7d890dcc4d16defd40515fcc784bc47612b2b985a02e546d765eb682153b590092b2b9fc9f86210fe170268e5e2843db0f9a3d1d13f1485ceae885bd4f38d46478a884671d6c0deac553404b77ba95058603103bfdbec0438b94094c88ca47dab8e2b8040df55dc70739b1fc5f36be198a53486c8c51fbfeb92378f190d5c5dccfacf34192c71ff530d5d498cedac3d9a7ccb02a8d149ddaa5c6d501b5533fe5ac9d4e19fbdc7c1a63688c00f42d50e254220ec0cfdb0cf0739ea5cdf636d30b894cd485e3cbc724e8fd071de2ca7070c272e5d922f6415365e46f78a68914bb4ccdf09ac9ccb7bc11c18d7b79d52b8706cef3ef64070fc2f2062070d73f108a8b2070fb36cce04eb4655d3470924c14dc0c65635cd37d2ea0b3c9dff7f9cd05ca4f88de93d332666575534f88ddcc6ef831caa22a6c38ed2a48da9c0cc3c71d9bd225db9795746881cd1fb0a0af5d758af56967c0f9f468174197a1260c978a6af964cf9a4dc9f622b46a015b9f8b7868972214997b4669b81a27eef025c43feb3eec1dfae6618203be771eda037aad5da14ebb4ee8786b5638118e5ba3368e7eb33291b3bc81b8466ebe76cdc5d4dbc0d298877fe5f16c13d133dbe050706117d8d294cd417ec365649609926fedaf92e9c6fbce7dad50e16807e97c018d1fa435daad02e2c87e284027d19607dda4e04bab85964a557e85fe124ac62d49cce462fc027ab7ffe8bd38aeb32ec24405ac7c922e9cb59b701da95c17451025374ab67c70f41021eb226bc8c86bb03374edc35d94ab00b0a284824d18a66542b3efc626b969f5af81a08be062908887ae26bfd361dd2792e2edf473aa25a7c69870e08fa4418dfe9eafd59956d250155f62823b9f0bc90611553aeb03a0add45c388ccacc182790218c268447b3ea255b5b3f10127b4917e2cce5c350e5072e4eeb7cffb98324a24121cb9fcd37e031bbadc6b9417f8dbfac85a13fa149381144e3b7891ca463019fa7bc4020283adc9204c391e9cbc690be07513d8822c49adc64ce763ffdb80ad9a6a34929ac2c97929f2d38f27de637620d326c39d9a87fcb15d684af2af50437666336bef1d8580498c8bb7342cb8364ea55e66bc43deb58e163b43ece8a5a9d4867d4c4a7648f8fef3824e3a7d6915e9939ad9b4f87f425a31b362c1d55df65dc606e71e09f99fbe33054afe6c44f746a060c099aa13c307868a6c3c65de3427aac045ea18642e19355045b409562ee7700d9432172a9301bd3c868205fd8ba757f0dc448472332df8ee16918b5e04adf2293bbbc80a8286bc524c1a2543726ee05465f8d6df6c2e44a55789a631b47f7d4bf177490fc702e48f6340d148e1b5279684fa030aa2f339fd88c3b0dd8aa608509db6141ba12cec851a2d1a36c2e875e524d03eb60388755b2825dc74dcb826057c3b8318725384baf0684795165efabed0434067e2942ef1573331c2bfe982ab2fc64a11bed97ba06cda708169bc1a605342b071a2e8f98f11511b1364346c784e5a48a07095571603d853ecc4c021d57f1e07fa8436365533cebfdf005d944053902b2031ea076410c834f893c8e16fcab4c924617582269de2c1e3889c37b8bcca3bcb3ba6f5518b790933c607d3bb811648672381f1a29e286af1170cf3f7982106382d13075f2ddb3357ba70a7473d453edae0edcfa501a281a2f2b0975a6569f06bf8e672d50913c1319d00bcc2b53a309aaeaa6ea7ef75829b8bc9dbaae3291029156da25ae2305fe242f9ce8ebe7fa4b93607bbd37c57cd0275b4c6afcca178a0f654e7dc5a0ffa193198a8680687c75c32f3ea19b0b1e19fa51ca25de8eb8cd50fdb59e57000583d6557649073c44f65252dc4decc5371e2ddbcdaa772fde83345b534a6e84b6cc39b907b780641b3dc77af484fa308e6ea1a9db172ea5d34fdc3b9d474346c58f1790614c40bf2f3e514c90aca8a35c948318a725ea4360d28fd1eecf386f27e13f1a2920eb13036b9a848f55002fa95081c24b92188b80bf2442808085fb09bde823a94398a698051ffb5173a904a69dc9b22717acc62c187a1cfc94557767a8ffdafa9fa69259dbb0e8d908b67b8d01756191a9256704e9ab4c4dc5fafd3111ce67c191a155d0681d53cac77644992f3c8f028ed02ecbea0081946c01f47ae668c1a178bde25650c6c141727d02c3a69ceb62592f5142adbdbb7ecb0d2e8ea4609e9172abf35309a8133dfe21418ff22fb18f9b7f4a0a9f9578530a269704eaf6413870be4850b88983f2e3861491a7dc2ce325d6b20c002bdf0084bb8b8dcae9342309ca67ff10c0391abfe5689ef2dfd02f3fcd8f0a3676ea40626fc3f4aa7c3c05a9f88a3581f4f71e9e7bf5bcf2e216203cfecaa73484f6ac02cf040e6306a2e62729668ed8ed8267b299e37943567e5873ca010490331c393e5f4a1e228c64f336ccacca31f56da58cc20ff2ae9bf1b5dc5065e12d2dd516a8d3a26e16e5e2f6695825d1f474a63c1bf2233200a69b4564205edc40bd5e3b4e0e27e58ac5e5cb996df334173ed0c2136efa0b48de0a923678dac3fb21b012db6d22aeb97dbe23c649fe5c7019da8061497e3dbb8d7bea4ead51e5cb57dc192451fe6a1a65eac7f372f5eaaa3f49310dcc703c53bed77f3b0c193fd98c47e3c2a1be4e4a7615aa0219085c1f4e5841074ca5ed6f05735d737aeffcc2cf3bf5b4844ff0b5c02ceec05144e257919c83d52899000cb66945dd536d80c6ea022036d5809ab1c23da278bd25780657ecd6ab437753861dd285b6aa7677725a150a580106de3dfe93299cc2563f3efbe4a100e0751a37a55fac19d93ef463aa181b6a3e56621803001a7aaeee34c117dd5980d097f05427568ea885f553920474f565d4b7b2a2048798c822490b7ec3a547c1cff3bb03669e8ed9eee0d92a9db4d41d1897aa390436f85480d91a4eae7fd3f37fdfaa6bfefc7f1ce6bb853925acb1ea78407d76cb3f901c7240ef91993fe83a72578e03d0c20f26ac4c47c4f07706bd69fbe3892517edfe841561ddded9e6f302852efd2e57e67374eae321b6edf881e06a9c62326e94c7300cca7a0b2d567bc621c04cbc475c10297ec14215a713b861b219e907ea3bac3e17fd37b1377cd19d891ece70cc30ca2bffc5d11e52f90d55877c5603208b3df446240f825270ae54e5753ade87cbee6f22e4e3f56402665c03236b745c98d13213db873601039310d7aae03f1f102e6a63041f9825d693940bf37b7ce5a0f81918dc85a5be05a222c0cbdbcc573407f808250034d49e630e64147f7a625eb862ee30838ab53d45560ad21b5a7660bc24cf8cd067a0681be140d3e70d473a8704a00e73e4c976040d7686fdb2f492394c0082da1ea3efc0761e115ee4e6021ec9c350eab950b2670a6680dfec887057008090b1114ba7fe34687756326bdc1ef253bd115f7fc92b6efac094f6700908b280a63c0c3af94ea72bcd2b8475656545c16165291feef04063bdc4d59ce136478e29828c936551cf21938fede588a6a07e2c145bdc519d044e76a4e07d95a28ca24ab2ac5278432b464854e90cd33c8ccb2da425cecbff5590bfdd43eb56ac55b87a3669e9d585b77de4aa8142e49340e302e8499052547552d1ff0c8a9c2f4b137f4f0279b1b7c8c465a1eabd73a4b1685803d205dbc03aacbdd869a0362df68b8734f1de81aabe7d766677e5292b308968970c6b27a4d156d8344871417b1c10848c39183c674f04d6491d17f20060505ef5331acf0cb6582331975a65bb5d6850e3bcd476c556553d0cb81a0beff383156cc54e1d7fb978235f54c4cd8060e0b4243cc4b49609ea13bbf1e0e4db9d7b60d9ef627de7503e20e416b89aa2e33de78ef1d3188a7825d2627dbaab956c7124ff88d374ec12640f30f8cf8104fe1c15e62a1ff9327c378efd85de88ebdae224d0152b4062f40d2f5566fcb59e171beaea7d56c270cb97f5f9be37fc0c521a7c5e1a6607d954a667044bdee39472fc580bcaaaebf3979b18b23bb09e6026e6fcda221d93be416e97ea88a7e3966fbc178b065ab97001d7ff206cd182be4114e50cd885c6b7f7e4cc68366f3e32e00a900d20eea4ba21a09f96f5565e58ee816189b98978ec1e7521ca970036a422c606f582c7972bc2a062da01d11bf9324566097f12844dd7999554b59ac61842940e24da0894e6b97b5e7b450ce11e86b4b88b140d3e66d5b68bfec6e9073f2383de071bd5f53827ac28ba43ea791af1d03113d302d32756b47ddc09fac958083fc4800285964c52cc8dd8c28e093ebb6e340b46814323d8503bdd07e30e9c1a13c6a8c52f4e4ab41a8c9497cdcd8366779e332c0779c0a7d6bd162ee1838016e926d640d01b6b6eb2c2b412535cbc6767d1206b6385794ffce6a7e1c97b80686a655e8e5efa901cad97a29e5e7a29f6df46e42a1be1affbe43b5ef6d503f99231189781c0d3690080fdcf49fb03e15661c13dd7aa967737b72b238886d94eaa86646235e27e8b9d361b145e40d47e4437187eaec9728e187953bbd0eeb5a95717350aab2676148db5b5a6fd9d86c4d6634e9822d363c212d15901fafd4f59ca520c75fed39d396e1d3e2194c3025a41014340dc2ca786590fa345f7a64f882c41c24908c760d5dfa6f452b0386f367474d6042af72fd52740f5dc3cb0edcc3300cea6ca90c85cf68e4108ae82690dcab355baa3c8c4584c9b5b905425ea0a5f8c18116e4ff5d00adb9ed8ed9521d64381a2f6f84fea5b4e029b180e3a9bfc305d5874d9dcd6ea1d53c74e28a7fdb02afb2fbb13b948cf00d3099b8d5a011e496a6ba000354f483c9c213b194210c4399ed5ea32d869aad13774b85841deec0bb6df8a00203f612fb6f1b522c56e889e1e7381f2da4c1eb93485d5150af0ae444dde313fcec887eec062222f86af504c3c3b218267ab5826234b39e5a4acae4c9db19672beee241ba60fd9fe8cba06c6dbab2485fd120f41eb0189127ac66eee0765cef30927eb4a22a4ddddfa9e6bebf4ac7332ed8eea6ea7fd334b894dab379dd59f97d7cd58a22143d8f163cb09bdc7a2914c321b5873b9895ffd42b25cf521274c80f97696d7537066aec2278d5834ffcaab5adbafc5d49c02aae5d898462db6580027cb94be64dfd02b2a147f0a65c2ff7472a056092391a29a753b76ccf7cc9609022e6bb82bf0d4b8d4391804054ac821d15266cb7f5973d0008ada61735d13539cd5e14f00629bf81264d57d4c12dceef62d3f9e7c46e31a3490ee50bcf9ef7f003ac16595cc212579c03f2dbfa7dcf2d5a32708d0dbbab2ba1911a9e915d21b5656e78ace5aa02070b764b1aab78e33b53e86ac3de9b8fc1e19b850ed865686022f1f855e0ff84006ad2b0a5b584b9f63359bcea699fd28db5b798cd4ce2e05e638dbd6f29d1707e8ec527d9fd644b47d3bd5b73f702e02e355f15ed1640855ad25db1c45e0beeb3f2628a37c5d02cd7408e0bc6e5be58e70bad116cd3bf8d6ec913d61e20a63fa0b939e18764798a002ef5a28fe7c20b8c3d237932879f809675afdcfce1b7eb36970fa2213ed3085a588660034dab1cde9cbc2a2b88986d777edaa83a4d75cbbecafb1f18b5c391b5cb4e35ca0c06619682af79221951eb1c9c62c2ef4d6484280418fb95d03e6b90c800fbf9e7ca03db8f6a543e2f4eb8868582d85485b7fa26096f9e36ee183e881923bd1c91182cb35945afbbb4eaa1123fa810efb4e0c0e4e72a580810ee35f999821556620867fc539190cc405f1ad3ad110a6621123dc4f8bf27cbf65c1f8d48feeb12822a10873c1f16990b0f56bd0d87908205c8a45379543c3d8b855ed35287831b6789459e5db5ecf888f974c7bdb9bafb17a017b17b5f6455b57f04590da2dc0db73cc474a9ec35cd10342e6d2cf8c0dc977db854fe8897009d83116121886978e31da5c3f8731f6abf8271f3f43eb8ffa117a69bfc5481a847ba5eadd84a9ad13f4ad9739810df16817fa04fea30d6e00a3b147f4d655cf53be38a1ae7b68fc02c250579efccbb3576092db4a192f5fba0a9ce1b9d46b0651492fa848002801af300e307eb7365ff6b654f302fe4085a58c763c849b74c183e1167d3e8ba38912efd3726c8fd0bdf15ee0b382d8a5c8098db48b9f5b4441c646e198b48ba878abdf2ee36380c8b343fc5b87f7182742331177d0fed78e0d2e893a9e6d949d4e17beb7dba181fbe94b787c1aa8f572616da30eebc41ae7c664910a0d07b7521c4b3b84bf35c2a47d7d0bfc1d2cfd63a3f6fbc7f48c3054f60b907a0dd5ff0fbb434360ddc7027c82c2a7c3f7a45838b89ab29bd47b3f923112be9da1bd7d127f9396521dcb7ff6f097c3d9b7409f0b1131baa9b8e87971e0f058f19a0a03d96262a8e773d40d29616d34305285b8dea4e4b201627fe8a8a84438bfb1f105f8f5bdd47904a8fecde4be7d1ad8b4b1e7d6cb9bba8d812ff9d8580b517233efafcbfbaee52acc8e2586243805de7c44e60d58305a59493ab58133419c38d289106639f5b262aabc5393176f952b964de45b313303dc9d11ac80851035967a0f2bc3012008a4591b12b1217835d360dbaf967ed6f145b397aca23175b4adb5b61b21841042c8267bcbbd03d00dbe0ddb0d2ca72173a9458475d877e3e376654681fd1e7e255bfc91259934c9f2eb36246c1893e7b713d8b0f608e0d1a32902e53659d6e19b09ec56029bbafc96335b5b0bd9924c1a944d5a35718f04da48604f3c7c568c687a35e436026f01f2a29848e126a7e4c884218021935e2a9552a96dfbbeedfb365214da4e7aa954329d33e1d48defa6d7f86ec24272902c65b8236f57e5d1939b4d6715fc00f982f4ee862e3269e5a4cbf2efdeaec2a3313a0aaf5c0c6bb289c05ef0f3df35a54ae74a32f50d8759b6a47757e5a683f252be84a3e95ea63f6c8118b226469667816ad2ac38437377c32390c8ddb9acfbeecc32bde158b9523d1a2ee5a59b72952bf30cea55caca4b0fb3bce22b588e1fd2dcf296b70744e92bdb3b6ebb2cc077ddbb7475d1ab513910dd37204c4f7dfb4ca92f75951b9a7e3f3d1c2c277d7a36646649e1ef52e5dd02be4b9c225d3ef5eea64837bd23a51e1b040224cb6f377d87d4a36723ecae8251d4603b6c3373ea120896a7300f9693308f7e67337367b3e2df7d7b37c09a1518f50e8718d3065b306a65a5ebbad2e5b7bd5b41791e0d77956efb70884a41a9dc524985db38953b83664be5e16c35f9ce6d97973be9864032e9b35938484a2ce7a4474376d8641bec6ebaa4a7ee4a47bb87ee2c5983ddcd1be6c1fdab21c91be07699964fe1d06696de721e3633b7b4b8e18adfce1bf8ef5c24a24609879d4b4f79ea8636a73ad363b3b2163736abc559b24cc261f77b950987a9df152ffdc05adeddd0476669c146c8bcadb83653de00df2b0fbf6340487781e4eda65b93c2dd771217b2fc27ddd003351d6e1cdeb3609b098677058742f2c781475d9a7f4322f2fd0e3704922fa56181a59545d9a6337899667169bebc9a4c274b1ce2c83c4edf0ede5066156c8118b9eb2491dcc5214b24a72ed3db0dbf9f361c237719ab049f89adea4e97f7ce9cc2218edc2346b66f8fe66269a747637fba29799ae54737ec70bdbd46723ed3e24a26ad020a810d678b8916a4207b3946410a1d80c0daed0376bbb1e1d581c571a9f439d92ed341b3a5cdc1b63c7a353cbaa7de1931f3766c88ddf014c248ba4fcac186b5a8ab4f6e546e54e2604d18bb096b517d826b91f6c47e18f3c17a1ad4e060bd87580f10aa9d3438df60bb6fb8ae84a67fd811d3594ca63095facac3efdbb9ef6237a97fa9f3f8de3dab6431e250e5db39958bdd1435f8c4bba143eeba5cbbce8471150aea6910ebe1ba598b363c6df794d4b76154f2d81a5494f2b9a216cdb63c7c1e8b91248d9049b3d542e1262e8e83a4fb083ed3a2e5f32d6ee7061b622dacf56da57b4fba2937a4b7c5050f57005a1b6c28819e604536ac45b508bbe9559c2d21e44032019a2c4cc5db8e2d0093797c2f3d447d6de83a9677b7070c366412c29c3468a2196bd2ab98f356ba2629bb4dcaa7be30474e7597a2d97098c23d4af7bbc6061b62ad7ca407f3697009f1651edf9a84f8621ee556256e554200db1aaccc2a0f6b15e24a4619dfe70c6290505083d3a7c13a83b89a498c3c1a2900d469c84cc27ab09904e6937d7a852189e0fcdcbaaebb7ccabb6b81d8ca3ce453ce49d3bbcf36abc4b2627a87676b85c5f3ce1608f3e130c68e6c77655e71c319c48d3a52f75d2dcb1bc56cc2d54889ad8c1ff688aded623e17ebd1aab0db43ace7484b0da6730f31d9a4c4f2b972a0aeeb3a9bbbfbd8ddb31cbd9a96226a4c2bdeffbe7be5e8d150b91133b360ba1246afa4dd1b66b9c3a1cd78b652b0567713459e167372a4573e33d54d91840c3236451231c8580aab4155c8aba172107f4545584e512dc2722265791a6c385b299695cf6b68b03c26b0b2f214fe664bb6ea935ea5ccd674229b1461f303cbdda509871928bd3be99769ec48afb61e9577f8a914acc78899512fdd1f584661ecbb3633af5ca6892c29941987cf5dcc8c16981828d0c5e92e16d5d2d9531666dd6692f49399a6cb9b7af458fe63ce81c5ca144bdbccccf2f66e4496d3bcc2826793d93a8395efb893642281241333d870b64eef7e7a192cca4f28efee4c3295f40a055b5444f9e9dce94e1f2a2ccac3e9339334386b51aa1699de61aec6e8df6394e9eef2e0bee2617779aec32da287efbb140e85e454479322e1304826510acc96f1453ea4408c2ff24790bccddcfd98465a9cbb97023f627c49458f26858df080676bde19c5a4c08fd924becc568333e822a5bab3a4bad49552c8291a59be8c429650a4ae6ce5e87597e9d48bd86e3333cd867f6099c7f6158fde0236cc433ecb2b2ed3f1dcb5c0cca91b2bbe7dc3a190bce23177a91b31730a8712afc046cc5c62613a96e4db05708e8b91f4b194c2ba9359308dce2cdf59dcced21215e14c2196d257777ac562257a3f68524e43e695f6685adede0f9ad269c8cc72eeea585c99b5ac830662ed8f05a6f14587cbb40ec76107f2c742071c045724ae91162f7d2f9d87ef7b89073c823ac3c3b9393d1a232dce490f089697de1e4d09873f4a6711ba31c203cef94c0b2cd32c78b6be1b31f3f7b0e670dff7b5b407f227e30b0b134d9ae4173932d14407390a3a40ed7ddfaf8fe532be6079cdf96a666681b1602c8eb5b49c059e2f2c29d748ea46e9296f71243633972ebd9ad253b011331b69814750675a9cab1ce6d1a02e3d20569ef2f668527088facab9161709ead2fb9151a8b3f040fd439de5286eb0a8c7bcf2148f66054bdbe2c619946c142edd88592ac597f640ee3e657b36e8cd4d2ee1224a32bed84ea7119d4be76857737a155edde777eadd983de5fc5656f08f994b38c697ed2c389479fbf06c81b1230db6c03568a69e724947dd1567b9dc4bf7bee5e2b370d21d0362d2ab0ed71f2564b0a10452ddc5c38c0715a65165ba0b6c32b5c02613be2dbfb774eeb27cc5459d74539eba2b37ddef3213e5ca2c009a51aeccd1f39949327b7a8ca7578fe67413a329a6e2f78d461b830d67ebbba14b1622e7efa6b87d97993bdc74c319144ea1700e49bc03d6ba5893068334315815d265fadb41668ed58235a3788b3b9bb46a5221be4c29c417f3e5212acb1999b3211b66793669b0155fc2604309a44d614def1e4ad28d79874b3378639677bb6cf58a84a59452e2efdcec4c92f45002d5904c3e5b2c8fb3b4ddf4eef26e3845ba9209cbc3ee6bc9df77daacd93af5683e2cadd4c9b335df9da54b38b41d0e87c8129b706c7093effe5d66865f7702dcd4f67253d2bba9d36346b9bda9d163b6e7a25501830da78e97bf5c5e1d2ddea2c55be0202d0ee342663ace741d1a9c396074b8777bc0e43321924bef5c5c150e653675279d335d2c4873624da62006f03823bd205eaeb2e9dc7dbb90996e7a3424fe3c0f87f2db777bc000e095a75760f84e895d79779af5aaf4ee5daf48ef7008e3a6babbf882dd2acfcaad45d88d0e18248ce12809c0037013561280a7700dc03fcca42594c1f66aecf0944b4f6216a8fb1085599e72439a535656388dc4e2c61e0e633df202f8c53d29079f7201f00b5e0104e0ee603a00645af382351d008f76bbcbc59a74c1f29880c9740060ac655397e9948bf0e5a6827871048cbf789ce1542ecd2dd2a5d9fba240832a72e9b2f4dd1b3248ee55eadd4dd3bbe17997ffae2664432933e5b569d3ab4743923875a3747919b3cac59a78ef6e4873772c28ec9e3a97ba584b3ec45a32ecae2695ba0c254dcabbdd4df6bcb025074a08cf89c8fe741ed0c984b2f7237cc28ee26b655387439bdc49afbb3dbaeff26ea109a76c3aa7fedd9d0689549edad320ae3ef72b3884c92be760dc02bcf24829a5e4cee21c772b4fdda14175a712c1242c8a5ea13e5958586c5e39cbb9eea22e6fd7612d19a987346f8f91e5e22aaa87302f0f41023c7c8c87a81e1edad5c38c75efacbb4354c9af5eb27c0f3746558c1ba38a004ec8f22f4f64795515b2bc8b2bcfa5aee9582bf5d44c9d2585c3ee29349b304d5d9ab71b7627498f46f7d27751ef2ed239d295b6744e76a46bd3b946a3c2881032ead12b5da61b5cf9e5d988b9847bc4a18cfae5ddd0a83012848c7a26a11a5c79f47414000612145eb99099172b578773614cf6700bfb753827bbe3aaa3c3ad395cb0dec39af37dbb3c3c9c9279c33464b60dce6fff303b5936aa48a61e3079c3a1772364debe9d74432c0813ca2c88f0d0b038c782c526370f060c18de9530606cb8074c365da65f6e9c8151a3bb7799365d0bc064ee7bf4683e1c6edf60b20560729823f3d8686c0f73e4d2864be7bc1bc26499b528d45f8baaf7a441296cbfe52b1e6258ab57a454908b2cbfd2b1bf936e6c3085c3ed5df7951b3e7f67b9212a7f57b9a1cd1f0ebb5c0a6200573d7a4170aafb72172e5cb8c8e13eb72b68b25ca85e3e7f115d45306e9c61417183ed9b1c09702750cf9f56cdabee54d2aa791777fab46a5edb82cdb21e981b6778f82e71d6a0a4de77b16bb9c58d339ef7d427e527a5accf292c08cdc30b9f20264f10c905c8eced18c05fa217c48babee02c36024d85b5cc88a3b71e68d04fa7098237ff76eaae64861ef7eb2db6ac895d790b8e5423227bbe8c9948d98e56bc42cb1ca51179233af865793fa7779e51c72e64954ea214a0587f12797548252d7250a1bce8747e192e9dff5de3de53233a7dc3047ee0193b717770a0d60b65c80a0cf926cc2254c7271d5552e704a87ea2eee421564e3421366a081bcdd5f6e9c51fd90d90230d9c3618e2c5f6e28710f98bcbdbbe75dcaf370532e78b890991637a5a3c55ddc050ee2e22d5c4817b2debb3dba0a550c181821297b666bb6664b02c9d66c4920d9ea9957d28a2f1328484a226429bfd4f77934c726a8602795e7e90d45a25902f889a25791491670f2c45ab3c5e4099c1ccea2fa730223d099cfc35a5850588b8ab026bd924ef23c863d0acc496e99b309900cea1ee66ccdd60c5ac0ccdd45dd1bba6497665d83994f005ade007bac94f77df4aac44d1f934567ba266122f0100d12b1dc372336ccb6efde48e5fd3ef6d897b700c95da62fafa633176bacd9d76d97e9d16d69b0af72b3a9f268ba0e83f1a5bb0682ddc0729836a87dc336f31305dbb48f061b357db279636a2e49a4db0eec85d520fed76d0cbbb42afeb23854a6b11cd868e33c52851ca2a2748998074cdfa0874b0f17d984e3a28dd1608c12873659765d9c01ba68798ef192085c7469562664872291c6655b6a44b2a5936995a272d40a0bcaa3100d761883aeab6944f4d82962d3dddd7dedea5518d39d749bac75daedd165978c724f114441651422f245c410cbb5114479aa85e511e8715ab9ddca0a0e7d58d4cd508f804da7726904515454700804e5fd941b238872e92d60e69447a05729380c9251f0100d9a56e0ae55a52324fbddce7a349d9116dcb5aa9ff9c08651e8117411e28ac010397bbf7dd43c6738023d1a6c4c440f6c1885306ca4e58d7534d842637a35615c348bfedcdcdc1459f55df2755d32053225177e8880420eb3ecd22cddbd4108eb18a34cafa2cc69704a247818f100cc0c127aee86807b771e46cc6c8403dc638e4184cc70a73938cc5ddea93ae22647eedc0d81909b1f1e9d1c1c107ce06646044266ae1b6639c33ff4aae270ef1ebf63b2be980c9363087a23132aa664614838c866d9c85aec455594415365c4fb75712769d53c6e1fec897dbeae8bc78705d7754d56fbb40c6a9fa07c0591dc1dc167244ef730b3ccc6dc3e3fb98114b11df48dc08652a6773c335802cc33916d8332309da495b44ffd810d63904fb643501c0d0331812581c57077fbfcca6ad8f699acef5dd63ef149feb010ad9af7aae8706c5518836876e0581acf8860420840c8216a87a49d6ca1ad09c97a0445d6abb8ead39594a713a7e465beb24c0b6929012eb2e46cdaf192ddcd63c61c4e9caa7996a7118379b2e24f9f80092610659a7b094ed2962cdf5307b6310a6f456cfc949205d8258e4de9152f1c3519af2268b6991d83eeeeae957677777777572a391c3872c86c3373d868b03f5160657746693d576f046bc531338264faae14cf68d0068e1c7d79793417a5a7f4341b31f38c06fbad6918d5ddbfd4a922908f716a164a54f58a7845ecf6af90878d72da3fcae896ac236a22212c3061c31026809a18528012c98e3e0fcbb48debbc6f6449a512c98e3ecf9415b93e391f39da78439b6d688e190e1b39e49603dbcff0ecb0571a23775db86023878d788fde5d9ae57dfedec5d12af0461b0d4e1c580dcb1da9b3ddc0ca986d3c1647f7261a8e22cf6f36e03e593533c6467c99194661db2087e22c2a43f52ac35966edb373dd453518efc99ee651974793518b9a52ea34389fe7b4602f91ef9e3a591892331b132609397eeb22d08e99611bf3467c4b9ead372ae64d141fd089116534dd36d045ec15d631a20cee5ef73dda18638c4fe4189d101e20c7f71059e00f1f79dbac45a17ab891fb36360e9fe28b44e191fb5a86d5eb44c3d2e832c52d1dce32548c28a34fb406d54929bdba314ef6458f5d2daf0bbbe8ac93ce1cf43abd0d893be68aa10f63e8676099983813338afe942187cfa46842267485a0dee4d94d8e6ed40727cb272d344f69b75ac9ecd60f6cd8486cd64d3a8a6ec93ccaf3dda457d46698569fdc4ab6dbf4768b06addc4468882bb041294416ccb5e22182f350189a58a04688aa49712b892fd3c754b96420ea43fa0ca7b0c79c695907756ba3c1cc2e8d6db095749112bd4a5d39c32da806e75594afa25ec5ac5b4144ac6c3538638c32ca28b12f14221f5bdd8a2fe7010d116c290c41a10bb889e28b8e1d391a94efd71bad092eba84d74fbe3ca97536315aafab528cc74e28d8f804108a64999f000291ee09fb48be8e6136b869b06fb619d8cb890dfba66fa28c51bede44ba48ceba5a2bde6460ab4fde6260776cd35f497a25af774f5fd9af37cf6469bfbec1c0721ad61f88aa0bc37d135f2e0dc7a9ca30385517b6031b9e72f580d85e60e523153912e5b0e2cd05563e95e56ec8c524be5cdf5a60fbb295c497ab5e9dd3377d03db97d72511af665e22d12086634354e6b19de3b9b003b9f258d9b2b3afe2ab36818b2ee1e471009dc128a5d46258a4333dbb2c339d43bc06c899e8d293044c9c144145264e92e4c8c4491372e832caa61c8259068c1cba78c9b10004b87e728dd208f4ca997943181044bd465646b320ddc414ae30935dc88cd06c69ef5c87b4f919a13053553f2f0d950cd3603dc5e054b1c0c619fa108cad1a4ea19ca9aa97f32929b12244723d568f45d12c94568cc20e4eaea01236db5c1f623fb94aa2960f0e728801e53a7f768ed4cb9ea0104c7dc572727d0dc314398c912b18723823d72a94eb97eb673d963359f4f5b3359b346b3a69557d9d420dd6cbf4a6021b4ea11c82b9be8ff1b0600fc1aca6c0f28027ca50e57aac67096b8420f8d8a15cfbaa819df24d85bc18c8b27ed66924372e42e622649d18e3892f350536c47478723d568f0d69969caf957a3fdddc911675c9b22c7bcc2a76d50bcbae7a813f8c84c9f2fd2da42047989f1b2eba6438ec72f6ed06f1b8ee24df0f6ccc1da459008319fccc70dd5b127dd9ee617e5b62fba1d56c90eedc636c9401e6f9130a7524567e661a3d768bb8b6c6599d66e06828e767bcbc2105b0a4949efe0882d5ec5cac3792f3190d1bd17036553762a8a96a0afce8e24bd660b73c76fafa582546e585dd22a4949f599e92be5e6cc4ccb30b4f0ce108939b3c9924c9f3c5bcae4e72bd4d8d6617566b9471e550dbb8ceab4172f3810f134a7a84ba40058c3ebc5e71bcee759ccdaccaebb2920b3c5cf0416d65ace3565cd904158a7e66b868474b4e97e9117c0607c9c81e9bc29a5e3a77ba95def4fa90e64a6fbae93d60b0a6f7134ea0b899a928b0bd848b5e9d8e22398ee3e88561d853c78a585a6badf5ba75498358ea57a128a7d74d99e997e9baa9fe20614d2b37fd4ab95235284f790d94a75cd7754da69525a57aa455d84afd0132d59e06b168b10e18a76f9290226f19c602abe030c35a56a0e0d48debf2d72b0e515e8f7dc5b5dd0386dd13833d61dae044b959bda79b502e0f5a51528e825335aea3a4e090a2bc643aca35adb84c53232b5e8f346bc5b1d231ec5cd79eea4373acc57584eb4f83d8496043ed1886d16dc3284c166544193563241ca2501677dda98c22d77bb7bb455c19f696db93b1a7eeed4c4f318feb9d63ce6ed8a3cbf433ba6098476d5521a6f678603b461956ebaca7ccbc8ee1888ba0990ec107075017bbaec74e119b1824717ce4e810d9d1ab101442082174e4d0d1ab6b082286d8112404114343433976083104d531f10f0d4a2fcc5ca0e490c367990fe6c34597180dcebb68701e84b952d725e79c73ce1c73ce5fb2657ea0f23464eeab5eb7d1208e06bb5e5df5f1a8965e752c1c3dbfab7d3b6d56e91b0ebf73d9cd61237bf61b630fa3d1e7676c3282daf6e9c51cd3ab11def0c441427a087c50cf9eb3f2da64e62e399a31331acf060eed1a96d939d97d97a66a7067812ecf6870ce98086a8fe9d5fc8c5e4550db3e23488c86631a9c199e8143dae8826ccc64955ec22814e8624f5267d4d9909c724ea01ca27298b5a020fb328b99aa19d3031b8260af243682356ec1e854829a3f4139bc09e8b3c9d21e1fb9ed1211290922bdb0042cfccc6ce7b49946e2cbf452895cd22c99062139a457f1893038c9f4b18812995e2d717a15baf8e8552871323dbd4dafa41532addd26b7ab5d0c0436753d4a7a4d87144a1e7b6ad0467c91393b4dbba2c0f612369439f2882c41ce8a96b7cca2c0a9a2d79539750e750ef45966ed6563839e524ae90dae99135fe8c440b08f0629d177e4a2de8df9fa4dbb71a67fa1ea6d913a58e63448ef89c1cacb9c4ca94bb73c1070d16534badf0d22853004839f994d094b1fc2c420982c9b3be6af8a616286b2630f616aadb55621763478651ca61dcbce1dcb2e3d1ad9390e9342376248b2837b1883f275e9d1e82ef6faecf2c8bc9ba56ab47bafa1ddcbb26f15e38c7c17a259dfafeff86e8c565ddd8e21b80dc30ce5572058df0c81063994374460d890100d52ecd272f65dbb3d1abc325c89f0f15decc21cc1ca5becbb2cf65d6e7644f4e8557c420a47f2751fbdfaf275794929786c7a159f1822ca57bc789e1042d1753101e8480e25917c5d1726dbbb218b9030f1e53a0522cb5ed10df9921fc8970f221abcea1cb0db4bc3617661cd362a633d1abc5488f0d13d5cdf9258e933dac24f11493455f23e3e4a94fcfc0001b55a4141390a61143558592468b22ef473733313c6c4267eb8a0733313e51049a4c8915e256956f773737333829978a944b3566e6e6e6e4030b39248489c275550013ec718815a39c699217ad5395e66b2e2cce7816ce090aca9432ac952e6e895958ff2f5a24a7a15be9590928a1ab44faf2636825dbe93d8963f4cc8b1336c0d15abf231fb2bb6f1a24ef2f1a18d18854f0d764beeb7d853afa28c1187345fd996041bb3489b0877ed200d466e66680bea455094524ae9bc311abce24f0c829153b39930d9431896dd9e9da3efcb433b3da7dd7eadaf315f71a8dd089a5dc346723ec319e11ea359dc6d69d5b5d10c1313511b125039341f3cc921ca6a97b9344de3a84635aad16b5a5fd73f1fd84ba6c12b8686611a8ce91eae7f3db061fca9381a64a1ae2bd25ecd6bda510d6698d3ee1bbc3e5160af96bbf42afb75b057dbafa3264b06e768f042ddabd139c3381ae481c5aeeb5f8f8d42db086c3cc5413251323d6fac73b0ddb206a7f76a92a148153f33988eed834f81950f9fca3a1f9e10c2cf4cd581bd30ca622b904b88baa0e312663e99e6dbba6e86e7715dd7753d4e331a9c31d9769cccdd8605c15eed795ed7795e07a63acfeb6ee7799de79556022f526e3c252c6793620bc272a40fd755b4492159971caedb99eba617901c8aae2672528d73d88f1e672e21254d955c580ea6f36139d506760989abb8842ea15efd306d9368e932c99345d1523a150d85ad38759b13564391409b139694c30a94d271d7ddb0b065611bc3e6050e6cd2f77d3b1a9c42c4d68e0b68b246f8128a4131e812ba802ed49533f41a19fdbb39d9cc083f05763bbd7166c622708708046c6442119ee4ee57b7dd5945e6ae4ee67c92f48d4e1a619933237177755da780c7a7bb56a12daa55f44a6ee19d56a46787c8352f196e41b38abc55a0a99a967a9752418180321daaa7e771bdf3b970e56921f5c32d68aba257dc4d14bd8a4b544189dc2bd9ab94222e07099644e2677332bf0d5db457328aca5dea5dfa43531667f4fbdd9a244983539ea57a348d75f559e2922870b0dd69e5d984b6281ac45b1396c5e2541f25b548f770a47b5822bec8cc8d0ac9995aa457f453fa281983f4a16ff2e4a64743a9c49b5010152c16a3d018964a802e4020f2482cda402c8a45b12816c5221386d3200a10948d076725d55df206080b8b2e7038bdeae76c6ec87343439e9b18389d2958a0c94ad19b6e2de9267cc477d277123e62748be30ca59b14acfc35fa77f9b0eee4c019fd1ba2e2bb5bd06d5989c3ad489ebfbe454142612f4c9f3468ed1644a9e8950cca614c4c507cc1020c8c4a45956c4154c9164495d09859620e8906896c45b09567678b45f3870ea147689158c462482868aa26bd35a83281638a0a3459b58939bf3d61630eb19cd12b50188b86aeef92ece823616a97c846f8c39c0e9dbcad04cbc1b01c2c473221875e519ef7887a15d6a12a7a35f4d9983f0060dbc174b09c0a549988ac0d0b5b5005da8202d0d514d8a028e34594e1a4573e1a6c62877ad51b131b6edf8a26eb2a9aaa9d5e6137437a559fe4f40ac36990088784d0dc82266b7e1b9aac387315dda07e260b08c7335955ee08a1826c2b1601653d4af23cbd3e1a9c146f41f1658675276b1e4de3546cb00826c85a8e51e0c20b72b8711ecd8fd884f36ed4e8ddb8b2c43eeace36145fe6e7a911226be36e5a6e60226f68a0d199cb892ff505b6120d614a581f0d7a5b145bd0264404eba3c1cfabd99cb035871528cfa77ca46ed05088b7800b5bef067d9fe4d5c82c5ff26e3496b83ed982b6a12d680bda8232a57587d61d2a851dba05d12d28cf0391cf326b9f24172109b7a02d28ac4f8adcf4f42ac4708ec4175b938dc9b66453228f26ebbb309c5ec134e8a2c1d18d99aa9f92e98492a2916eb8ae800cb8eeeeb65176779fb3ce4b1bbc24bd50286beb94422e4979c0d5f072df46195eae5b635358edd926d31a96f1d7a569d72e0306ab3d8c3fd7438bb5c05edbb5fef57979f4af734d67aa267ebe46fcc4f399f679b51f9ac59d9b9dc6a233188ea9180623814dd5f4afc6a9f998e985e421589a6a4c036b2c33bd9d7c085a7b2981b526939984d8e4d4a0949ebd214cb63894a694e74eb928980f572b4c9d814db90a8a2da9dc370a3665d909db63a48b15c1789860275183f335b022980f09f321bddff9741d09634a92cc96ccf6c2e4a2228be2e91526f1a9f5c92a9dc36c6647941e54a107d84e83b31b976e9c2a2bf10c6a3c9b34b8842dcae955d7273748ecf42ad5b852d1205183180e633276eef4d2779c4adf11a7aa4d3fb674531dfa6ca13aba23dfddf33c1289f41a3193300a1c9464d2ed95379461bffb3e1292edf5319244902fba3a54a9e0709865190eb319e5fc8c9c1ebd207ac6744b97c674e9a5d39b928d6b517d32836a51bf52315bb3351b1b3529279a887249fe441b4621a118bf59811bc57e965b8894b449136c78429f10cad7a1c05922c3ea75552ccbb07a6957135cf6e81256a15cebb968611aacd9a5b9d6ba19c1c634586334582fcd97ad89acd8c3c76d7a75fd25d7db883264ae073259a7d77e8db24659a314324a953a55b058ae82ddbac39a602d192987724d3fdd94cbc497facc346f42a2c3f49e0fa29f828f30e16caaeafb32bd2d81b3378cc9f659be1349fc64afcb7200e11dabcf5996f2ece064f5b3a75c99a9aa25d24d374ed528c39e97b1c17ab5cacc1ebbf7ef5eb797478f1820c2ebd8b11ad32b0f7f0fbf8fce45cfe2ec8631397b769969e943ef5ad823267f37a6c1faeec228c18eee3d8401023b0fef99f7ec1a31dd333d46c398ee0fadaa5e9661262b9ba98fc93a2cd360a582e530d860fd86df603d36055b31cc43c3295483b5a573d581cd516350ae32d82b5685bce65cc04923d8a511ec92a6881b40f41b10f688c9523e663358e57163344cea463f3e621e12a76ed0cb539ca2d72546058bb2d8146cfc75bbcc3e04adfde9386c01094252a8a16583be8c3206bb30acfe60f54261999b3160262bc3c772f4c2b7f4cd92903af307a8f0521099408a9e233e3e3e478ef4f448b93d899caa9e233e3c269f3ced8eed6a17ed9ca8a99a98dd21d2e0172c7da801d99d5ec9215cd6d91d4bc45a1e2f58eea1dd91d8ee3438c34e0809f939128a329aa0fdc49779eae5e834261dcea6eada16588ab5960634a2221bb5427a0ca8560da841ad45b556af28667728dd995a4b03d2986840f214a35403d25a44a3a1519145a28889949f9dd09c39155b9d067760b5d150af6c8e10129d504ef7dc209143d48e1cd2aca964e2f493aea2a9083b8a89863c7ff27c9d9f4a26ab4445abe6a3704285dd997667da1dbb83861d894b430d4e2039a5ddb13b73a24c3e16085c74c17347cacbc913645334b03caf652ff344191e4b9e58eb82ad4aae1adb1b912e25937555d12a79120eaf27f5a7e254200f8715895c5b99c3611d52832a912c94652d52872e5c84ac68c83cf14506592ea3e4892f221e6df2841acfc9f2c8ee6724eb908c4eb197edee6692e9afd71f1a8424e87da80e178ee496d3e7c2487c68cf6b8b3ea113cab467cf17ecec6990ce39674d41fd59d2abae2e5122d3eb15a87ba09fb7fe08d970fa48597fea4ffda93f7376bd9a179a66a011c586302a9fa9a277228214e8197d6b0a6d3b5b0cb621db0ab69bad67bbc196b3ed645ac4c673913ede90d2f6b1f576be80d0f9ea2cbd1b8fc6f36e1aa45fb017cb892f142b4154398133817a857da0124dd5ce126851de82eccc9e08e24a236aefa65772a5a921825e4ea61e4ea642958af842afa9a10e65a25ed53244909e6e2ae8579fae499aa5294125d6943448af1565aad1233dd4e3d978b8906131521a638c31fe8ab1418e82c1c64f0cc39387089118e79c73b676fb6f5258ed3d131ff39819933ba667abea609f2c514428228ea84527d4a1a7650591d5fd44958442d784c8ea7ca6aa412764924e4990a50f5144f2f4baa8134b7b549f96210d4a223c2d3a0d763fddcf17ecb605ab932a9a2c14a1a99247114211652d3abdbab27ccb902ab27ccb4eafbc2cdff2d3c2a4599204372d447a1597f882932c534547b26cf1c9926707396c5142975042490e5b96b4f064f90ca32842a9a29cb00589969c5ec9a79ef44a8a21cba11cb6e0649a51863012645a7daa4fa628420dca1fd889c486d9a4b447f50931903b0a2b33566b77e5c0f6398abbbb5bce8c4e115144b6278fd6b3658f068a138c32d460d802832c9f7917deb460e31242ad5c0a1a051165f92d0b561e2548eb2905753df145bef3e9559228a35b125fe4e5bb21c455e78408fe743e59763f58b0618bce7c4f9451c4c2498b8ed6a3f5683d5a4f8b8ed6d3a2a3f5683d59fe9af432b061f77393e9c3eea72793cf9e34ab14a4e164a92131446a456a0ffd82dd82ac96431451962879c32c4a4193c5c2c913d34d15a5a2d9a253229a2d3aa50b0745a145a74527be842d3a3ae8c497ee67248f35c18693a7f210f5aa8a668d86b44a3e8a289c38a1828a2aaae82738ddca148f74b62bd8b045e727cbb3b4e864d9a223e7ce24d2ab79ec83a23305223cf97ae8929948f2e25139bba7a4315e5388020e7aa2808320504aaf2b0a385022cb9189245810032eba70d9761a3273f7b4ee3464f6da368883e4e3246629869af33447d79c7574ad94f2236c1b44c57b9218b59dfb2585bdf7cf6225f0ba4b3b9bf5a941d9f275059ad3e6b89d72b1230ebb50c8e8b366f41902c913cbccf81afa886b46f65d7c6c5c33c274bb4c7fcbdd57ef9da339a1bc5e945f289775e521cda8c75ea51ce5f138fdbc91d2a7d4cf63370492b14f9cb21fbd2d4ed1b8aed16b4638049281e4593a7775f346ecf11403328f3ec2291af6a3d7d8d12f33e9e8dba98783bbe54e713c89de8cdeecd16380cc1c4651836d6c33498f1e10dc29e6c1dd621e29a7d76636b699998bdfbad3141cae60da20eafbacf45289755bfd8cb54f3f6bc77934a75f95621a71f8dd666694afd6a37a5523453588027b3db4a753fcbca767d9897b98654aa3bea65fb1c513a3afe9535cc33dbbbd5e4cd1e8dbd734b6b886c3a76f11f3387d741acd1b5d777614ea29a767a1d943956fb1fb68661cb559b6c7585ec36c6b95c5617f439da2a0b01132c76793c7fc6834b231bede9a58632da6733e8e1e6f28bd14f6ecf5f4c6f7a5b7f3864080a01888787aecd28838ded1397b633ea1dc74ee861e48d1a09fafa118d7843e720a0eb7a3609b99479fd8fbe6c97cba318feee932f374bb7f2111797b899248ddc51f4072ec3ebd1a94dcfd147713d5b5d8ecd43dba15bbdd687e54ff63e62c33d2729da3387ccc8c16981828d0c5e92e16d542477314767434b2d8af48efbc3e47f80796b11f1e0e27668465b3739b526a1a36923ad7d292ba399f61b9a496e20c6f446c9f0672ca29573ac5848b2e46507860290bc59be7502e0eca53522e0acaf6cd4688f6adc772c7746037eee238a903bbbdbbeeda924ed7a6c1f6ba9bee9d8b0a30dd741f60b0a6278280448e59c8f1091f9ffc840f4fce3ebb7bff6e77b16f94aad9febdc6f66f84c3ee33fd4bb94c7729b7e92f1e4aaaa6881ce3cb85554ad44481a2134a1d04f984e8841c7750b9524ca73ea1a0a4a45094d3a9d42828a6943ea9b48cb30525e54a51a128d45c9941c8f1125c912ca9935431a55c2a8dea62cf78c3c804dc1d6f883bb542c697f8124a5bc958b0da72ad983af43169a51b6541e23063e94659b0f2a92ed2062d97ea7cc2480616b982eb96c8b1e826ce9e6133c6eb8a314670854713bfb57459af628331c698ade8b279bd5639e7bc26766116303a74ef360d0058bde804559d6c01f2d0719b57636465f3a85f179e97f3b1c19a4d5596512c7f813952966b37c35864a2ba5c3b500c9b0288b2c1b7d642cbb0bad1393bdc75106c260100bacc39a38dc751357f01c0a5eb20d8e70ec0280b02e84658a85f165fe2b339ef97aaf90c2f905b8280044c6855f1842228e448d993dac0e2f44dfd99ac54fcf538235311a71a509f3d08ec173ee23af60c1f8144c775448c331226fb65cd68600f93cdd7c6ee4d4d8155455616a30c539607a30c795d4a036449808a83aecbf454d1a620e0b296d7156162de76d2ee4fdbb11b47fa5bafd8381a94181727d69f31c61f1a94320dca8b202ea92de50d718e58d6516e35cb1a7b6cf08ada9438a3133b87c5cb748fb84493578bd205d4cca6735f97bc6c3ab79dc2a66dba0af1d125cc84b26ccc1b71dc638c317a42f9fbd73f4b4496fc89aa2823455e21cb5b2964c94496974d88ac954be9449654c8f2460b59aee0fe91483487c3ac7f7e7e8cac9cfb6effdd3b1d3ddef034ebec0935ed47f70790fc9dbbd3a39136da8e11db74fe4e3f7a31ec0dd646669a1f720e99e698bddb0f1bc9f9cc0a9638ad9228dd0995a2b2fdf4ec298f4029f0412cb2a397bee4ca9f211a941287e9118771499640cfdfa5371a8d70f8bd04f47d580245971ccf3d466e86e6d1705eb82837ddf03bcaa54733ba24627f7a35e280348f266e1e0e2121cd1fb6a17271e468943b4404da604f3f6114c73dde787bc4568ea6778fa677a67342a0aecc335e47bc42c4ab3c7a35760841c429a266c4c8a18bd2c396f0547ad865eeb474ee2e91d53ae7e292cc23fe748e3bc59f7e0a7b0c21047b3a8d0834287f3ac7711f5d1e318ece7ddf6bc4fce1d2439aed85e4e87ddf6b781fe1308e4e9adc3d7d744f443438c4ab98f32772521e5343ff44d12bf9fe99acf6c97c80924454a1f8f8441c6661e663aae453e44d9885a88720365d1f93f543dfc40d9f2c0e511e0effe1101ce11026476c3a876f526e1897a0dcb02b3dcbeca8ed863d626ba575a64a7ead82c3d824cb7334c71bb3c4f96e644eafe48c928b2c53c2d3a97f9664eedf39eeca9c066fb8e33428fb67b2a84b54c5873214a2441e3da551ba67e478130e51251c5a120eb36c6f8c60c4ed53137f7218248fdeb893c89b5e7d5f45eec3d246cc1cee4163aac67bbc873b6c81b804a8438094a97899e3576e2a2e69953c7606db40fdd3a0f441bebc605bbe51a7cc45deba88b105c1c6570c36184fef8d11135f622684ea155d18c9e8aaa6691a0eeb266b3dc63dd4be69979786554dc3429b2b63af9ab669daa6e15048bee885e1285f683784c995d67a8c9e526d0eb9ea755539f126af377439b684a08b1c35d454497cb21689f7ee76bf24ee361f2232142affc0f2c07e7544f4f06103244887658ecc9148749bbc413336372176dc2176083144afaaece8101b12ee1d85215f743836c8fd3a106c7dcc614cfe81953966868ca6fd53e610867c21f1cac61611a2d801a457610c8a2d2234c9f333bae679227ac4c0902f2e0ed350660d882bff9873404d560c6984e5b92d2646a61c0e312024d75f18867c418f4389d974aeb49b813c37a234467965e60fecead8435a081030e48b18df3794d5a38938c29843aec738245e32c724b8e895bc6b6fb18a4763e74db187913ecc8773c8bdeffb3e120ce9c3c4dedb0382cb240c43be106249246b4934566692aefd0c85587be9d158cebb292f5d2ec2a4a47c0ee9d594762ec99cec52ee7ce98692cb30e40b6f46267646b68f9135c454597befb3f73e44861d86f42194d996683c6c310cf9c2fb64c9a0fc84437b53d652e2495ec9b1a58450e664b721b13cbc5f398c42405cd947affa3d7a65fb407af5e1700ec9d2be4f849008c0902fe4659abbbcf37becbede5df9212ce6be3bca86789cd947e3ba7c777b0bed0d51ed920f43fa10f31c9222392b4071a3a409a1268a567d0cc8dc2e84c02e0cab4258bd3a26023a724c56866570c4cc80018f60e34350f6f031e453c4c9d8281b6d96b1bea38c15a36434d5e28bbcecab7b0c5c95b3567ad5fa2bbb998d17ce5a09b2d6f66ac5aa60e7b439ab81c5c0cea3eae7458f6857ce58ab1365d0fad0c699aacdcc9ed9337bececb13b44ed3da3659bcf149a2729277d920653328bd10836151f67b26338159fe5a829f189b77f7a09152cc57d4d2a7da49249bb767f5362c3d99aadd955481f9d1cda8a658fe469507e2bc285ae29ea69766519966157c42e4634ad9b39f091628888dec4221f98162c7d4f9ad3ab904622af3d8ac520b27e44d5bca691482b2bf7823cf1651e470e1b0d6aa72d883232ecf39405daa538e2cb02e20fd2070cd7c417130c31797e56e137e2cbb44181501f93c57d27cb491465d0b85dd4874ea43a3e444044379fed868b2e21a69335daac69a341edf1f3cadc98a9d2aa57058b3d625806e275ed3ea20c1759bb4d2851204590352fb3604fd46bb7e99577ed407ad55d7b905e71d72e35d2b5635bb061249237f340268b5ebbe4f13159f39aa6f54d97a3f78318bd4726cec37e5cfa882fda2b0ca417047d539cc27e7a10243a4a37c5a9d24e1fc43c0a3ec27ee214868df44f38087d4209c2e0829b9b19130e82c2e054699f248c4443d23d04b34cd2a0f6eed8bd722f40fa34a87d3b7669f672f4b6d7eb5d9a61d8b7eb55b05d8e1fdd38636ff43155da4757f2c417eddbe5b28fc98a992aed5916933514ea07c1102613115fb46f1a101f31593ba684d51e5d34cc03d3a99d99c109120039a1e304d00cafe3362dc3326de33aef7b0317812290282345a37394df405c5994c9d33020f145def4e10da026cb4696d9d717d88931256cfc27fb4913a2165a10a570831349b49c48422847279218c3964907a053dab80061401d3976504a698e1adbb573979cc3bcaeeb7aa6fdba9a8e1c2e648e1d407c8094e254d68131f1076c30caf0e2c4be50c895b968d3023be90d3f447f621f0d4a2027b039264b15a57ccb1d384783f25b121b1fc6d60b7c00c464280701584f7a550ccb8c70353c79addd94689fdc3dd43ffdd33fb9e33be2601fb0e0415b7b0986fba781e6f5051bf64fffc0740ffd79c12536dae8e7d0d1db106cccb1caac736873d3acb327541351366818f7ec9cccb61ed9b665ed93fb436c5c16ca9dfc030e2dc618616224eada79645d835ecd85a5b21ed881e8c8b1c387bc9138120921320d8bb425be48ec17450db6bba6616931ec3a724c568723d58e3d7bbdde7158c61d7bace1b08e06bbbb1edaf0d46589c981bbe24c4ccd22271fc196359e7f04c12190dc9cec3a2565667b65ca3f34ebd33929c9d7cf8f919f7c5d3f46a890c319f9c2ae9c9193ebe845ef0696fbad8984d5cad90e48f4aa9f7d87ec3b0ce9d575e5ec3bec4c56dd812767df9ab0dc35972e4455d6cd529d812d618b51539519b153957d63c29a6e7ac562f292d064b17a26eee929096d40366431c9d9857a15461727bdca584c7ae53d3bab67b2583953953dcbac65f53420ce905839a8cec57e2d79b27272c6bd744f79c6ae55f3d1450cd14528ca1840ceee927d87ec3bf04c967db6c30772e6e2869cb9a021673bece46c879e9c7d83822ddd9ec32e42f125fbe9b2544a798f335910f6277c8409a73c0ccec0e01487530dc05e7a10987dfd11a5630fa2de74133ec2be3ece3cc1ae8426ebacecc3a1b5712594b3db2b33555967a90660b7d781dd621df5246c53b357bac9312b09b1a0a8c1966e3627d8f9f66e6c9b8bd05465df9c60b73361698e4cd899452f5cc9dea507c4ccdcd579374cc9de3b48f6ced5cebb61297b9f1e10570e8fc8de39acf36ee865efd403a2e6d003d9bb2196bd5f1e1058e6b60e63c262dec5b9bb770190bb4b03cbde394d76fd75f7eecddd0d3990bd73dfa8c398b01dc684bde8ecb28f47777aee6a5dc8dee5d1fdbae72de07a98dda0efee793594459e3736b18626e4ea613ff6fa762d7002820ae127cf1bda27e6a1e194f79839499483bb3a5a44da86439722216d76b7e4a4c1925083d9814a42443e3fc8dcb7a77634983d66211acc88340e872e45397311ca2cc6913729c89b8b50cece49ed324b4dd332cc83d52a39e14413887a9e589200d9935e156bdad2065c74094937799e8b028e28c50ed9381eb063aa260ee9830ef962b22ea00748d6054533d1613385506c5205bd68e3601254b1abb5c0646bfa48a7c8b31f205593446a4adbde4d681b9aaa22376c6d2840b8ad21cf6f68883dbc81cb31030782ed9b426874d12984baf6c420bef0a042c19365e0038f46bd86a29881cd81a392b9082052323f34384f4371287ff20fa5385e4caed60534b401203cb40ed521e9838d8df4a1c62a7a62e043fa5071e5811c76aa0f2a19ea1014403b98d774f4799d3ebfa15c174783401388f4f948af7bb73e697088bb9c0e4704972ec73339259c0f970db1e34950644247adc9fa7070d82e6a61071440a4de71417101ed903e6038f2c5bc84a090ac6b8a1a5499980287f4a1716de526301cb9f16c4548adcd135094d118d75f8921cbb5070d75a80af5fb68f485758723d260d71bcf74099e9ead48833c0dc623457648d775c9e12a2a5d42722812923ed421f9a242d114c808504856ad81544d56dd19da416b0d681da2316873c27297d64a58797951b291ef0a9269d30bc8a6334e490c24488e7d3e020e2913c91b201750834062ac1fa8448c74b6b1a0754ad10c000000001314000028140c874462c1703c1cead2aa0314000d99b24c78549986410c53c820430c1043008400000000200904c00694da0514a5a8dec511e744a7eac37fd2e250261ec040dfd3f717d78f5030980d8f3f7be08bffbfcaf7a54cdc0ef706bb867eba7b820973e94795a84d6090521023bd0812d6f97ec8c68192d607f387482d9f21fb33c52a471c701de809b17eca2f2019bad9e54547745df941cd98cf2642f6ff93e09bba7982f50c703d2d0f8230de1d37c01c97f563050ec4d9f551fa0fa5bf1b6ca9ff74651958d7ee0b5c71d08f3be8136cf39732467cf9f86366b6f7b603f6c1abce2e50bf5b7c637700a55b17fd6b791a809ab930be4f025b587231c4d35de6346de0005073322cb305b4d7162baaa91d396be70d05416591b5ce34baa6df0581567ab0a42e4487f7e018754de15b1924aba32e3e2f9351a1a07cde4fd930ab035d69b7104e1e0b44bf045d101cb49325180660a4e4e016e870f161fce0d4a6efa23d18ea823ecff464b3a1f602f368f104ec90f3ffa7142cadf8efc934d77f63661115164607a4d0fbdb048ac0a81c584d6c69e98e1398d2169d79b96b9b761fee3089d122cd392faf3301ff5546ee2e024a63adac35f6a5888b80d7dc372600e3bdf5005c97db928ab636a1f4b98bfe8f71cb82a33b3f11c9a9fcc6101688f7de5a8fb7abc56506a96cd2a0605006d2cb455ca56a0d79f099f33607bbdbd6848c715ae4ed23e627528abbb56a51aaf9fa5ec2aa1cc0c03eecc9a5caa2bb4cc65fbc1292904b7229627e590e852124d4e226e8c68b0f0df0163d656e2fc6b28f4203f6c58c97cf810cba7837cec42f6bcf93de0f8be9ac403c592629ac325fe88b91784850ed7bcabe183689f7b6f9c969f8607cea12bd344adf731922ae0963c5f12ce87225cb2dd55222ec2a1e26c746177bba270d0804d028a96ade0267bc6a0d007c690097402922e45129a4a238c05d2e87dd5007e1cb2406491d019f2b8724ae8e8488c972bb3da45f2cd73a1f158f181366459779815c53ec0a2b3cae5ef41105dab35892dea42a4905f40123a036700a7cc308c983fe11d5077ed66a2c13ac8bcd4ece9549617a9c3034e429d5d842429e0a66a76ed030a72947312662ad7e74d58dae3c4b3e238efc9f11720b1ef15709a716025771d5c48818971ac25c054a9b52512f71a1ffb4c5e1283914ba5a577a8e7d4c82b9c060c35b608fa1f1befc1e6bfccdbe458d5fcc0987a36d67c50166fc434ce2331321c0705e94056aca798c1106c7e1bb9e8e074c6e25e1b2b8b91189a875632d6fc25bbe93f9dcde0460502eae3626a0892412609508f012e1011ca2adb02ba69a7e18da95ab258577acaf97560651bfb49ccb1380b38f9eb6ba0361bc372db86f68d098b7c4f57a9741d7172f30248eee2f191268a009a2e296e05acf20fe0c33ea2433b832970510bf04af01926ec4dd73ac8a7b51d33822dc2ddf848606fe957fe3e56dac82f809a2a6bdf06f86c67ab181881c238e345119617f7644a2392847139a069255acea2fa2df54bd55f0d48922eee17c5e601f638da490b61c6991d848e971c34d8a040c1a111655c61b99b2889f067c5913f94385db83d43f0f1b501f9926b91b64c656725fea105a353a1ce9e075190b7a4278ac595105ff02c19ab324164c97a79445d019280ada3f0c2f81ac92fb8cac4b070e0cdcd83563ed25e874532b7346e0fd8b8df8d11ad79e33ec7f9333f4c1e5574344ad647ff2335f06bedf959e0ecdf64b276c7e15999f178632e621a2a0f47f2726ff125da6190d0ced7274310d49da94f8338795291ab1d4ea4b1931448e90e9abccd197023372de2bd17963646e0d410949c993812fce222f1f0c1f31a83887668534b532d24ec8ec61e0df004ad7de6f3f060dd84ac9a1d865f31fa4ed8932f52ff29044ecdbedb9ecac4055fefa5edb0be08e18284f61c30cee4ae55ae264b24a0aa671bc10079ef78552f5a560cc1f488ad3df6f09e8c55ba1960d3d03703ecf4cb477038c1b7bd3330f3ebba201c58602236fcbdf451f69cd2451b040b4050958e40815cfdbc4d8773c2621c38f398d0b39d5c11ed99154547b778938c3d41189d4b1124253c8d3662e6fad093d67e0c6923e47a31bd942d12063ca8b5a54fa560787f074f3ef1011e26cffd54b951020c61cf598c08465d2e5f1ec8f1600dbae963c52bbedee921737bb1e2157639decb6be866c972fd88bd6ccc89467b44fea884b1fae17f4ea6d8c9f981df32b638e13fcfb3a89b2ac4c2df5c25551f8114426ce00a8c9f2da00d70a83744ce22fb0efef76ffa028548663d25c2b665e7192de3a14eff90369e8eb7f3b1c35101e453e65402f2a1ddca833e394a44fe7076bc9edef278a572e321b8a9e24c81e398284663117d80f2b88da1749aae9478424448ab203dda83153922a112cc04b8ce40ba5242e748f5024b2bca01b2e1fbaa646649a47644667958fd242deb1ed73d11b998177fbb65c2367dc9f3372f213f817764e736250f8e0f722b1393c26d090ce00816d6f919cf9498722d41420663a5a4db4f28085f892069b31d5ffa87d461ae8645a4900ea3658247f0217870587c5263c20e0610c026aaf634055691240e84c2e8ad76c029c1b353ed3f1541b081ca6aa6c78fed9455f22b800870c6a2fda146c54cc7b64f0f7b87818727bb788408077fc976b3dd812df7ddeaa72ec5a4b59da6be15e4bd67d3016d1ea3aaeb49e2178ab485a2fb0fea407a9a325298cdb08a334639bf74aa1f517eaf6c04cbd6f1f04c75cb5ddde196abf9e29a643030e51650d05191259cb331bddc64f2f5662f14d5a5b4d3a00c66f13e3c71de084af4bd9fdbc2135521f3c95fccf9874334d9fe107aa7c713e8b17e53fa3bb757e191fa3da4c09165391b29545f46be2cc1ee89e56cdf5f9df194a70085294a84b947f524d542fed1c6fc53431f9653bd02665f22db2a2ec33083e8cb8bfa99f00d9d4cd09782009e3457d5316ac6827735ae702d18300a23a6b744f9eaf4244b41d4da0ae96384cf0492ad0312c7cc7586968a643ce232b8fea9062807cbc8518ce7a68b148dba076fd3b532f7338f1c3dc899658d14d6a6b781f8a536aedd48b6b8d2428d3a95185c9dd0f283d685e5a25c928beb95427349c0b9a28755c744a9511e2ca6640464fa9fd0dff117474130273d95ba51926ae141a0722dcf539412cb4bc56d1e754e7f3847d41427214a1166f05bd1a4b2364969a4ddc25212ed76528f579f860ea1eb69769850ea4bf5f524e25b9b8ecc92e4a72cbd34e05005d997ac1105d4100e5ff74faebe9a503fdef95fe54f59759c966fe6351c98d60f4687292bf8d6186ee1323b5cb1c8072c058377acd20edf8f8b1270592caf9f9d247a0128cf22b84198c43373df9125e45ca8fde566e913611e3715dd9701581a48d29bec293726411d517f6b3f775badb93e1720ed16e8d5ab6f356723b89fe450cc64008eed38b280d86f36a6fc83ec2a03234c852772acea54e2a324e59f6d81abe1965b993542b8a98e5c1ca70718ba645e9c37cabb1b7e52052423f2af4c249d30694d410e48170aea090331279b5ce8619684f50a000aac532c5c6e3ae120bcc8507366744486247a92e4e06174868bd3ab6ed4fcb8dbab2e76d4dfea44520943f25a95f33d960ca1abdb351262f0a34685bb2e3fe5091913f4e012a4ef0295ab1b8daed0479083846bf591f172c16da28a10ee5768d34f3b4be57b42c527c833a17554a08347266a227cda33aa09a399b97f9abf2ca01a625ae11afd540537d0907694fab2e0ef1f3f3103ece0e60a4870db6517abdcae9f49e6e673a1c6f0e80b5ff0eeb0da7347f7879466d2bec3f471cf1ae5ae39fe4f0d0c92affc4500257dc4a54916949d06205ee70dac2e0f350e92cc44fc98f9e1d0fde2759810da9c26d5edd18ccaae3f0364ed9d8f19ac4048c88a4dfc22cd4234de9f9c38422ab502902aefe4f32ec181431d182f8ad8727e1c0b845a13d9985c2318ddb9b2e4f046586003f0397a346ff5f94182df7dd6dac247b28c4a96b8f5f95b9aa95d620d4641cda44bda4a268160d82620c89f6678f05900f950f4d7d1b671f1786fff2ec6c9c786d6718dfbd814c361dfb62ea936dc30ecd7e1cf213b19c6d3ed44850b752fda140ee28e22a6ae0f6d810fa953ba49026d8751c8b347f5bb10539d06ff4b76cee75f4a71edb1b97f9371b73c5a33f25ffc4f9d4b4a1be7a02d1bdcc0124458e2195430075e080fb1029421fe558a45c06abc600fabeaab671e9568fc81828958c4bd4e6993b3820138c5755c805989ca1d4ac5fec33960f5e0530ab017374bbf556ba4f47a25337d643636bfe8150750f2d548bff1e4f3650ca0a6c2ae7055a1cca02f4c5c9ec917f7de198794abc1ccef4a565af18471636697ecb90c43f28b9bd1be958ffb90f7b95e7ce786c8d53566ea986a6bcbd094bba7324f9ff8b0fdf9d54d6ad441ab1fa0c7190e59d79c682e2b46465149688a7fa285eb35c724e1dfae46d446b704ea5cb53aa4d21e6c4a7e8f446fde210ec903a41803aecf460392da10fc93e5083a9c9026d376b4aade8efad100d8841fa5fd5a4b43e2f280e20d809b2c1f5c374d12386e5d1692894ae4fa4af562e5d64d946049074910f61fff2f019a7110121e6a3860ce5602c21e8790b9230e168a438c6a83702dfc19e452b1c07edff2221d8c04e2f67c74479752b9a149d64c747c0862e8b3ce067788717eb6f8555ec20ac3488652b22a0832ee1f73d75b3d0c3885db1b242207e3b39b000c04266cc8c2196c6a6eb1c8e7558773b88427e154af85e9c5b23636e8f50a0dba3bc787bc46914a20d750c634d91587db508c0747f607bf362ca714c8605c013a109a91e28050864aaf6591a184409eef9b20e1433ba307ca6ca4d0c5e92fed86b5b42864b2bca116d112b2887a321b000539959a2986978e445ff632a492edf64da2cbf047d7729300eb667d6e5d35fc0a1e9173a331bbcc3a0eec2acfaa1dd077e91d0d34da2ef352ac997b1cf36d9733f25da9b0db38b1e5409cbf3b64abc69c010e627486efa9818ea5984fbd5d7688f01e17804b1a5da3e2fd51451b05ba853a29c61ad1398321f95ee19e2d683dd233859cccf564cac4d88c898f0dff39c94e7bcc10c6348b995b05e15a7eb3dffc0450972ba439779f5e902eb7ec4078b7a9aa56ab3627071bfc20447ef3c6c869f04b29e5801a75ce3dc66be1f70777550f44de2567f8d0d7956af3ee104902a523ceec8b7c2d1c0a46ee25ca7252af0aa41f877a2bbd84460bc56649e306d023ab421a877f888878c6d5739130785deafd2724bb89528cbb4d67ca2b14badff09b46e188f6680dea6eb066eabb41a407e6ca0531b4d02dd7199c53617bb190c435b3e4049ca12a24f1c76d42af99bb61c78433d1b6554851c1e1c7de3044d3617b6c4a60761f34939ca44dcb29c1141b3411eba380e6adfddb7c38a0693ed74cef607775114de9d940899cc0169052a617398349500e41894a7857befff41fe2fa1b23bcda1c2faeaa5e430a8f3bee25a36836a49a98bbc50a9e3a55af4e8f0151ef5872af6fd8488b24d44ef6c4e3af9d64279db0048296f6be2df253afe9938be8c85fdd61658082fb4be00de6df7fe93ca619839eb3546891356c604c5ac55692ec56b3b155f68b33249e42ab159bea0b48546f5e4963805761a267830988dc7d51010d6f985e0b5b7cdb606880036d75793f84204b09a59adfedb46ab10511bbcedf2b0b38d9fd708ac5896f985a42155a5821f1af660ac375190f2e7dd073b5d9e9a1cce7127feda00a905b405a72d596a376c24bf64945a7fe8c2c1c10d49db670898ce9121700e6cd5aace0503d2a1801d2c04498ce949e139486086f712aa79399a0ba19314d332178038672ea7d68cc558f4291d9e161accf752d33197f0803767fb6b35cc053c806f457f6e3b467c168a4697513527455b44e15b307f076585b155ce990c182ce1190da9045c704c81bf0357ba662d43cfc74184f1fc0353f756f790d5a5f2170f5741140d14cabd084bb38686f27f463e46795f03f139fa83d91998cbf5b77c9b2a00df3d5858329f5cf76e27e042ac4b1402de214b0b78edc8bdf749f1595c9ccd8e12132cf5dad9853e0eb295ba0bdac1f2c55d9eadecc4f0da31987be662d56d764a7dab4db9f379ff948a213c2bc6933dba82c80249338864386196a3058456d59a8117f40f40f7c3dd0febac163d50531d91827bf0fd028b90f400ac4e23de9ff33e5422d6c6d9306e94f3901939a81987937746c7d82abff999e3f4ebf61b00e9518cd27e81978b4aa716ee4e0e40fab0b5ea24f0420cb48f199bb89378e0f8365d8112683734683a99eeab3c77d830ebbc4250e9bebd28b6588f20af1b3cf496636c057dc55210146ac367fa1ec7b576bc141d90937bb0a9acc986a810f4448e9b75315051830144d8e10387bb8536dbc83139447162969272c0576e2c0ef7e932288c9321e8f6bf9c507a83a7b212410c042271b39ed253d3380c2efb04a821caa091a9eb8ab580e4759a8f81b7444ff0b123da618148f5f62945b7e58710cd7e03bb59209c7e78b5288e077af004c5a7aae5c91aa838f3e525617ee6858d154594e10ff8a91622eda42c0ebca6e235b81a486b53c5458f968fea7d887f52901a839e9b3bce51e6894205bddc2b2fd63a1894ce8b37dce4533062b7934f686086984d139c24a59696a5e342bdc01e5a134af2fc7a6e490b41ea3a0cbdbe04eddc8dc044a61ee2837c100c470fedda16342ad050354d1f2a0bea3869a1ef2970d9affc6f4c23e981c2e4dde53f265eb64f6d3714727fa1d019c12f35c16ce5bfaed5754afee87a72a6204f82718f0eadc1f0194eb4a5993cde0c5dde61ab4043f822fc6b68a3029c2eae11e59e2f9a0d4d72073d9df658cca886de6f2129805c97de047f757f6daad49aedc6424515508b83f74b5d3271994490f695d2938ba7cdb84ff10b89ea5b972360d809c3b25d4a9367fa45024571199c50217601038c813f06632dfaf7cba2dd69d1ea4264989723081208926a7c4c2248361c1d13ab51eb4471acdcd2800e398cdf2b2735182bca72fa3079be6c72afcd82bc5c0cd4aa222e89ae33812063ea92f3b066c07f4e52159dccec143227ef72ceca819c1cb19f79019926db3f7fe4c5ad8782e6a04f200267066e4694003316a475372c48d4f790820968709e6e8f4c03797d7d02b487046199a3f38e3cd8a95a32e8afa0ef90076fdb2c62a0baedbc31942429a87b9ddc51a7005b1c7d3a04d0624f19253e701afbc374723f52a2e7c583113f71416d8a21f78dd39f01188a716dd2e47ed37cb7e94116a3783bfc2ea74b3158d4dde64f5c37ab30a334684670286638bcbf58717b5ed8cde7349ffc4aca60d70e05152a89c1350ef84c474e4735c404958d4c8d8f6ce668199f3b412966ca4d6dd40e14288a4ba8f92cdbb05f902f2f2f96a1dc722954ec485c2ef5bffe9549e1e3897b89620809899e78b460fc5b4948cc86a5f8cb6091aefc51a86e9cb0cb682ef6d0af3df78fa179bc7f2d2acbd01731e79cf65c421292609224fc4b42ca5080628285c24d40ca83cc63eecad73e04db4e8bc9fc8d4aee787d24a04811f585f820c43da5749dc98ee669c0b3e5d71e65c4f6653f9a55938599e69d783151a98bba9b96ed39d41d0971c3f783bd5ef6fc6577eca6a92a68bfc5acf35dedf71bd1eb30a4b68ef9c0b90f834169271489a508edda2adeba2a1055a37a8475ee1db23c6d497622344b927118e4513a290262ce9cff11f1176bad9b8e0e9db2d87d58335a0fc65f34deb81daffab72dc2e3ed2d55e138989e44f3d5523726589f8e1c98dc6871866e68a2a75870c74adcf2cab4907f43673757d2bd2b742b57d63f28d17dde1ae97f2d4a608620acb13df44ec67b62e284367748fd4d0d94db978c089073b173cf9a26774d6d13f4b20fc1bb8d8c2c934d2ae3b9720438bf1b61ccc91ef78fcdb36dc110fa6f5c4f6637520907645c6e122375acc637c15d1c121cc8aeb24d8d7874016acc8845b8acdb0db892baadd0044c12c31207ecfb0a011fda632208159be1897528fe2e7a8361e6f0057495d4cbedf05f544a5f3c294f67c6d5e9b33e96fb6e10b1147cfd7a3dafb97d5ed975abd86a1855a9689b8cad2413d270b2231a2abf92a714028652507f38574f3b80050859013ca8b94c0185c90f5302eeb2aff7534535ae17c8fc4b61e3551318a587297a7cc9246be0896d62cea5b899f1bec5a4b39581519684f19eff4d934f7d00fcc2a4e7945b1c6a7fa83f8e4900489474c9f2c80f4f48019e06237710bdab9289d616c414434f7633c6e23497a8c42f9f06aa021f5aa09020e3cd7a643b5b85912b6eb56ec05230b7627891dde6526369a3831e2a4001a488a918c1c3ac07d9d23da7060e3566b808a4c837fb74aca8159c970c92b8ecdd439f2e841bc1d82b10ca3fd0d52d2b70ff0aed4600c523088080ccc57fba19320add918379fa670e1b8153cad33d22754459931b5130c10a8c8f0758b90a75095e9f7912cd61305763c9bdbbd0ae4de8f5800dfd800f2fbf9dcad2420ff08cb2666583342e90e4978b49655d5dfed2cfc1092eb9b464a82bc76ad9b5a26cdd213233b7305d566f17f3705a65630381df88ffa04915c3000374b2638af333db91c62f8a7a483dd6dbfeaade147beafd62a1be0f8333b188b35d4f8db2c6ab9a3a21d6b9f89586118fd8f7b156ae9575ad5ea9aa013c5bb7ff9d455398bbd0eb1ea0d8a47c9af799d384cc058371a6566aae4f9b1b86656d301f4bd4040ecd5e9f14f9bd3d8de39c1dd66dc192ecef5313ae514d10df9a35b55e80438d93961144991de8741d9a981fe64135f47a7943cfcadc25b076cfce82e35a53896e42526896e70a4fe9e9814b493297269ccd6d01972bf999f6c0f5a927544c3a584f788f8c2edf350c97576718fdb013f0f5041bd81380eb89e4b227608deb190a9e3dc1a33d01f469aed3cdf3f06e0770dfb7273ca48d5d26fe487446869eb36605cd53b91d4585cfc3f211bd0d58e89e0aecae1546bc3523002f1b227ba76c1c9d3186bd889db3180216c8d012d6984ee842e39de5c5f5a7e60885dc2ecceda49f787b018b9c7ce6806ebd2d48c449d4a09f50509e652a34258036a6b71d3c402aa55ea53d9b859d43e99f225f37ac8aabf9a363825867cb2b02e075eaa563d9047daf42d960b1f1d4233bc0c206a7d044e998a3ce743b040b8b352600c86f52d842448efa687a97846df292bb4a1591f1c86c08d24f17c5654e4014246741b8bb7c52923c7fbccee00852409d569d812caf8b8ffed1cfbe423cf7d016171a2dd26bb496e69e984887a1010dacf381765f7805a660b4134057a95dd1d1a6a296a01a2652e50cf081c03e3d0e0dd4f4b81703c34b1329523e5480bc0434c425ad7cd3f22acb1062678c798cdc003dd05e84a6214fb8872c503030bd8029019f9a2a66dbcae0ff3674d551190b5c44af7e18b10ef37b1eb2ca34373b27f311819ee2a480bd1c1508c19148d67f5cbecc44ad4ad4e09445dc636090b2ff0ae7971f852cd77e12df22983d0d2ac108612bb695815240ae62a4c4ad5d4e5c7bfacb791f68e8b6680570fd4d41f316a81d3a7c51976a538dbca74204627ed2bc7a4d0634b11b61bfbb9545f15e594389af9c43d314a19043f991d5b8d9b11fe328d1e4a8df5c816faf1c655abf50859462133b29fda44f4258cbab4215ce457b1d98159993bd5bd03f0a9937049a9211e17638fc0039451398d3d902a86393b2b245b78d16acdea989271205c72b4267d16a4422f23b8cc4461d216ac1eb8321b54e82a580fc8c93421a033bec3eef1edf21589b57b4aa72444b74a72949db6a938db5534b5e12b2c4a43e9e212035dd546a6601ca019dca97575d4f6295d884043dbd250baceb4f68505a295921355ca24ec2974db7f5c7379e07137ac380d3b771ded05ebefdb055f47043c05c80245e85e3fb4098bbb54b7bac260d8aa7ee87680225a204a10f8720344cd422cdd2f92ca3f18d8a72bb4445b59e3dafcc8e08e55cb6b1c88a3f288c3d9913adbca1617f86262d230f63258bfbf89acc464cc5843202b94fc8a592bcb9034e4631e74aa700916181c23f2a6a1afb04f2a6435b3c676186b4132c996502e0f63f9eea0bdedfa80452c91b91ca3522dbd6ca66a4e9f3595de97c52e8efde8ab96725bbe159995550b4523b52ad2cbd47b88b9002cd4e7cd5b9f4116efa25a83c0f3385865106a90cdc088ca518505193c5c4496fef848d25ceb8b31b6b98ce08839e793fb13f9042f61b69e9470d52ea4bbf9d4a8ab1978e13508b7c768e452cb33203896072601843ba904842bab67546c2ede557430a924605e8b172fbed938d87ccc2ccc851a1800fa524157ca557d3b457f96fff682511666af518bd720ee83074e276dc94d943e61222f3c165f2b6d8a5d14731545b7b409177c08e7a46f3e88a497fe8cf9633241bbbbe7389bd827ed60dfbf9bfe53cc95d22fcf68aa5d3cba658b828270b0fcc16a9b42b4557064519b3445080ccd32184c90f66356834f73f4862fe6bdba5d92be765861c8840ec87599c984fa7e8308b7faf704678ba1f16d32ceb2d20aa3fa2266e5fc537dd646bd1367a5cd9b586d17d8d85c9f4c49937d32020ae79cc7e63647de174acfbe02304e8e55ed7d13a51f54826afc74f5dc5f7813730a694a417ce4fe88f08bd036409819dcfe2656fde1825c4c33db92642ec7dd0a30c4a1705317ff2befc41af838bbd35bd171be34846372480fb4f844b0837920017cc82aa1bc1987eb7c3a4a139e3002f153f641a4ae475eab9c109d3521eaeb33f64be9d91d3c3405034415db45940f6407bc625b59fd40ee25638aab04e11e87afc40fa2e2549c1a87d669f836aaaeab47d8f3bfbf361ba82288652df8c1329e00e691b66843c96a41d3af4786ddd7c0573a89d8d1b1c236584b70ffa9e63321b722ab8721c7704dd5ccb13e8675c42e007806b5ceb3f4f34792b7e3afcd2323b5acc6aec9959dc1104c82f0b807b089b8a195c74929ec7c22e4a7a4024de5ed87c0d9a938c0f04e8ef0605f709083e73f3e7287cdb18e86037f94f7098e380b1866579bebb115f11755c0a1d6acec4805351428f8da01927bbbe61510db984f8aa176fc40987a671fb1ef2594b2ff1c465f5ee514a5d72d749eb905e2e93c8e1a2072d71795eb5ea5eef3a7d974ecb411584cc7c43965e6dfaea99c4dd659dffb7b292548f0ad0aeb62d2f112084633268ef085c0d6666dfc984c7bf232f70a68ffce0b99cc28942b66a587717b36e47c02042fb431d1b4523db5544e2b6001fd18500f96e52cf013bf279df027f5f301e8524812fd3a78b3cde249431f55c52eaf254d04cf1009f7048188d387c88a3918977a217b74d1db466cd2265b76061583bda57c1bb3bdea815a9c7dccb371064a5f04468e631f2a62d8d17e855868825b11e149d9d09f6b54b144c2aa5ad87cf10a7e13a548c53aad9e54d9cfef103dedc726f3336dbbb5cfcde3a0062c5c47fcea0aaabf9424700ec432f8d8a699124ce4271514e6609e1d51bc5f84189267c9107fa007c6dec0ac87f46bdaa1c44de721afb6a731621662581b47907219f7971ecc29ccc00e45ab24e6f94f14b0b65e2859a70893b35d0d52a1087115ae9700dcad7e7aa06a8eed8a58642d08f66b858e959b578674b23a8b3b0cd313502f9ed18afd8d512fe51eb018797171ea7f31ca08654b0528b42238b1c4c95d8967ba51a5c34c216d7bd20e84774b312635cdec10ef81ceb5a3e6b3da261282ec13e47616a5bd38decf36306176d5fcc776ece44735f402369125d711da4c5ff6cae54645f27ba1904353e9fd7788a7f0743dd4b72c84baa02a6bc884b7126f4da61cea220312d9defa66f8490801cce1632b5e642c3164265deb972a887ad41a6837b038e60711bd0eb600f58628bfbec97ad77f45d37dd6d560cd714430313ce50e7ffec1c4a25d35cf2584b978da99421d8b956d761261106891c6010604ba4f644128cad139a284ba57c9f26919e5f8d1193d18427a764b3d844251031f72d74e21a3488dbb1c933dd121c50d416f5583c8087662201e1a019903c0c040e00e11354ecc012486ee187357113337b053edf99479d8c9b0206d7ae844de68ad755a6cf49ca741d21bca86eca3c08c84763b488f57a3c3de230150f54e332281b1c1531ffbd79cee99d19717a174856f67a5dd7bd39038206c00030aa5de7045021ea1ecd933001e8e5efc05987632e82d362797c84d6f4d7a0a347124825f2c24b008f207052cc9cd9a95686e9a69ac4d7e03f6626dce61052c0cd23688f5cc865a48248755393ed97e1adeda8a64778fc32a2a6027e84d1932e1edc48f0bc866b825a4c82d652f49b7122640562668fbbf26b5506ee7243a9c27e2568ba7a44d8a838d75e847cedc941e9854c18f2ae5581b6128f49763d308d15d56283a991cb06df8681ca34db242349ca92799811e9e279b6d50ad8866e8bd2fed89ee50f83329ece211e5ee7dd2d3a12582b15dd621ada97405afa19a082d0060c4591b2ee9044ff0bbbd6104a2ef1482ea623e5cc0cd8842fae98afc7b9a271e7e15b85045cc45e6915a076ed34ffd6cc16cd99afe53a02a06eb323294ef3a1d19fba72e86b719aff76ec63c66d0e6368cb41f8affc8b385326e8155675ee3d45742aa848c989de83e99fa94ecd742276d5a032b34d93c6b9723b4ed25905a3bf698fb3522ec8b265b67487469a1fbc45503250e06be417b718deafb70b9ab5926dbc9c7ca6ef200149f7997a52d2c2cc320c8e16525dae0447720481b1e6a22e81d8d7c5fee434e3ced59c829b700688d8c4140ca9e224d57c70f76b8565c3a3ab8452dbaf4743a43c84b7274d8839c6a3ef5123277fb4a24e78d0b8c68841959d727e6ee016a55f842d7e9818c88f17eb0c55497f2f22d4522586a3f2dc154ae213e6076b1cb64c577871fb6097170b9f8b374b6660427490b9648a65ba059c341f018d94bd8b32eb2e2ec2985ec8f479f1de62c3c65e4427e9484c9b1f8035e943955815cb6f3b84c81801be26b6182309e836a951aece3caa2de3a03e63a24ee7699906efa5d556bf423761313bdb39b00244aa7155cc8ee6290975bc9a463e9e647826fec4043cdb0f75b77ba19d4c5d22f7307c6a05dd1b38978a18afcfbdbbb4d01c6edd9f1054260516c1dd54145686bcd67b8974e99dd35eeacc941d8e87c7368580c0f4909f28cdce2e0fd9e24bd6abbaecbc89f79ee38f9811b10cb9ecd1bd9ecc9c60be9152bb64e0f70403e05a03fc652b142b49a5aa1726c8f70d75e4223eee06b2a3216dcb47bc63b8dd20d295bdb6a3f353c293ec6676fcaa09cbb72f9c2c3c178c165ffee38f4340447946f4ae12fc8ac9784c41ea12cabde837020279a0fb9655ed4dd1084f1588b89b767b0ac29744271469511014ebc2c08ede80457479e768bb80a3cc28e7a9811d9ca41d782f0ce49b7070d06eed8fc3aff98a2250ed1f9910130e16b2e569abb992d0bec29322d133f40802754347d988d1ebbba1109f8aa856340b0981c0e8d8d685513dedc3701e8a2163855a09073750674385e6b710dc75cdf6b3e21cdef30e668340da4cbdaca7844e7add0a6f83ff39294d21eee529415227a86886157dcbd2e639961f2aac3fc1b2e5f06250b1ab31b0fd02033ab29fcde032a084bb5f6368e6235427420b419fd7aa82008aa253774c4c6037aff7efdbc7ff2af0e6d2abad5c1fe83f0ce3e87d82cf410a16074d88d166f7cdcb474952b11862771a2248dec23ecd6621143253b4b221503ac1aeea334cf3a1313b7401896c840c089d21181bbf4b99de4d5f10d18c13dc48659b52088a6db95684730df08cdb40a1cfb69bc70f1c88ff0aa0aab25099a18e5cd55e43f69a2003936cc118f742a74e016dc8745a838554d7e437611f1951b50d7afb388c1345943dbbea1e7f593749845996328417ad1829e8909edd7b4252661dced8f07453e770120064e5e0ebc70913121eccd48c8223d6660e62395abcbab7db1c10bd76a0660df9d5748036f813fb7c22e883cbdb575e0d156dcf497de0ff4638a532a86b8810248c30a8b9ecf547b518c9743550f74b8921200c839d1ab1beeba2fccd53f403d37647d8d4b3de6adb1204e43f4414edd78eb641c8c4c08c032a7a5cba4db6e914120bb2cf10f30054bca4915857e0b276b3a78eb03de98a00c82a7e39b151a757aebba44d09ea565f6bd013e47b6f0acd02d18b96ca28bac873407474059e6b5ef008189be841663d289a3500b68bad34961ec445674e4c8aa806e37450e50b3e83c57b0910d757b4c0a14295acd41de7a627c8c93837c8ed8b913819145aec5974dda3299b15eb47966056ef9fb047835e8c961c9096d2ea516885f74e9d47b4a6a2bc1a2c83ab5b474a232087676c9bc45ab0c71cbd69149251060ef4abe3b1f4afb00fcc5e677b9d09524e1aa9a3f149e948690a44d25508202c3b18d1c472089ab3df100e80f4f2d97788fa0df0e154664c70c0fdba5aef802a600fe758c4712e73fb8af97ce38c5c9361dfe09c198ebc6942348d0dd7d37701540124bb60ff09a2cd588f318a406cc00b8badfe77c193c4b4b43e57755bfb9dbb60160ecda8ff724d7d129ca65f7cc947b02fb24a90ea234f07bd47a3d020adaa1a81dcc005883c33e875242d5ff194957eadedc5697cc5d4d0eda14cbeb5664299483bba3f3667cf73a1f8fa996252002fb0dd55c29d5c253a08bd35067957ed9d25a1351d23bcad5a34496031901171e5fac1d699e2932e1b14d0d684a430923a805793d1bd2b6b823d552a02316da12cd514ed5a089f7546631ad0024a198a8fd27d2db63a905db6488313f4eea498942effad2e6664f3a5c5fc598eb9d56c3f8837a3c0e15a1484dadb3b0e162ea1b7787ebfe2c95199e128f60f589dea7b9e32694b24b8a6c694efd2b4b21987ef2d8807627b626fde72123f36a14bd25c1550fe2797974df4f3d85083809baebebe4bd45850f571057d4a96b6fc7362598edb74e5b9cb2f421361244ea689dfb3cbb9d04fb41450c957921311eb084262260d2488bf793fa46304bfab700240fd5041daa5aaf8d3674fab1e924d4788309cc27a1de6c621c957e941a3481d29402cef7d0028118f18c719dff88e1fe56b19d24ba755f21c3902736020fa2f72ace59433cb4264fc58aefd2c08164d746096513244fcc5fd1ca136d2c8f1df14a7d5e0094f6cd89600c8b2fd72e053f3abbbfa5601b4372fac8f7d8a2313632a31da3e2d1b967957a98c96e0bc91255e72ff321fe81b27b040d64c0306599a243c74e2db23294b15ae0707fe461d53eba39c74eabf903979462debd543a42c8c05583fc9109842d0c7434739aac965428c8bf8069d71da9e84006546ed285b7e78886c6f69d0d40d507641793a0d9cc95929409eac972554fc6c382f6f487804a39f62ba3563b4ad155b144aed6afbf1310f9643c6d682cd09d13ac889ea64178332ade0b7e0e60df587b34151f061369bbd0c286db565907ac40845c17f9f3602002792f53c98410ce665b3819a5248576bdab86f883aaa4bd1f584770cbb989fcaa1ae0f88c2d144a5a599d22307f8ef64cb4f2e0416ea1f9d9268e2cc13bb64667723f1e08fd4aa6e2890b0f7d6ac6aea18819e2154637a1c05ba255c603b53a458af258cf065c2bdc64c9ed63137171b8c196d9713b1cc60ad631098a5a26ebd53d0a6e8a831e447d1d7d309c5fcda45164b2fb88e597241c76d501c4221c22f428747ba8eb968b2905dc7c404c778acaa8ed7314540bf3cabd67d33cd41ed806edc6a1714219583ba3b25ee7da2464396d40f28f05d10614c7a8a0df7b0126edf7fa1db6d2ba79be1e9124e383d70f68d5084e9bc7b36ac4f040d6bacaed160de1dbed739c15a05e7aca69cb8bd1de08023f16d5c19e4042782d98e1cfab0562c5b5f758028734dcbe466b13934074f4298380704395619de52e65d4ab4b435970a483617b8c7102b9dae41f784bac82aa45d13382f5c77ae995d4c0a3d03c751849ce3af05fe2d9bed025fbf2b110783f53a2616cad5b79459757d632df6c71e9e3990e1a89a49cbd815236a24c0f4d1e30be5d9becaad9dcb8f277d08c13229100aadfae0d61ae5103426b4d22dfbd80eab252d14018c4d761d61b6dea8865a9b575dc38e14de77cb97b7ede58506641bade0077d152ecc1e34f9b091b38b353d80d023a641e580fc2ce411937ae968649caac32b6588be9181064984db6d001da1566b4ef8c68c83c6bd84916a07dcb2580ab344f7d67e60fc91144870770d44c183069103766829196a10509503bbf5ff210c72c723dc897daba99ef82737740dc6c6be9b4b94fb1adbb8611d1ab270708b9d61785299ce8784e59e8becbbcbc0b42159bcf652470d4ca7a266844d6b4c8d6bae63ba92906d1874947b04076fa44af0233df6526762a55c23d02dac7aca186488d7f13434e215e34ec1a54416a62501bd176e4e5eb8924b835368bb05be2d7c54c15256f6cea0100af0b6c58463069b5be670db38eb167a24d062acc6ddd2ccbf57f8257cbca848816e8aa2ba1f5a8384540703d1ac2e6ce543b49e1d9a6fedd7390e0a1ef0cf03f4822b10901021937421b159a65db5fc85eccff320763d622cad354b5f18333ad129d23eab6897a18aa072d02ce4f42071404aba086a027961e6a5455c71179614bb41b1f3318d905d4191881875fc08ad460a71417157744c6e05b7b6cb9ffabf10d038800b3835e8cf76ec6b0686036abc94d66bb3a01564ffc6826a296113a24da37168678a1c71fa5f0f7acf4a1edd22bb327a9e9942702b32f00c12f84de825f7176960d77b96e5461519038ae92bda066821a6c9688830e5d8f0a2479dd1c0904c0fd32387e872b19edee6aac033099a2b97d655069772f014135038f7a702b453958405912b12b957920ab3fc3374db1a68535fbe1fb99a6f5d085bf7f45eeb4c4a3bd103b68d56f7d234ebbd489c38e35c5339c6917373ed27174ead5301684a882b9a8e5f349000ebe39ed250b506f806c2c642edc554f4f29059ee27524a61505b206a73bcde7591cccbeed320a077f530e9feacefd89a0d59156d8ca52c3a0c3e0ec1d1328ef3dd56e7ddfe59485beea5a60dc53df10ec7481a7de697f0674bf44e8d07893b9a540245a79a857249cc0e87d74f024e6678933d4521863511ddec471e21e8a0093a34bc3076a4c52393dcbb48470b8d9e5f8ec239733b0600c7677f6de3e4dba1adc620cd07fae1fcd09cfd35a38dbe2783d97f44ccba85221f61a1755e85623c801790a12208dc3459028af85ed19944c283677cdcdb2c83291c556dff5e0464eb3e0897fd7981db551897b8a533a083367934e4c19890e5e093db2fc471be0f7cb6561b34b4b8d85c549fdc504b0e0807b1e4b162f1b75fd6a56f5f784ddc63ad44880a096fad88ef3c24707b3972ceab3f38b3f3c4cd8e03cca2cb0b340fd634e9e45c615e41755b6ef8c04d6ef1fdad89ce1f8f68f29903dec8f2baa725ea28d3fad5cda04d8a0ba8468b6e93b611228536d965b1a1371a94f20a452416db1365b06c4234be4330b6f3ade1b2d3e15ebefec82cad869754b5b31808972666bbd349bf9c3f7ab9556b992d61267b68cacdeef436a41cdaf6284e2a520ca3f30977152961205fc3ace190e3355148c27391b5e9e3b2429d91a4ed24450f68c11070f8ea895439ef8edffab65d817ee361c34b57534e7f2943a3027c9f93c432432171b11aa2922790b4345a898bac2f714d2fa79857c5f22d931d6ed9aa113e65a81c5d25bd7a46c8ccfb6f2c5672dd3b1f77b564a95e6a22277c125032dbe553466e1f4fbc7fafe2d630b0e7c601db7892bb30d880b3e41e5188ca088874f5c428f9f35b6fd1dcc7ba6c7711bf653084b0ca0c620ae8d9a4ef5d477dc28bd8c7985c9d5128752e171e5a2f1d997c4230aeb2a0c94ca83b2841f71d330a635a9e9b4604d95e096394050b53a0614560cf81f836068ab0446f6725d09265c7947202662ff7c0d185be14267a0ff4c9bf7c637f224aa73778e9202046502a4fbb672e8d9a29f385b7f3399d2df1bdf3a6712674d9705c8b446b5dca4a586e560b1d7b8b319afeb3a241e004cc0be8cf4df8c0a5268bd9855daef2db95c079608b7851e87946c43843d85da161f019350232535c826d4e059a72f2307230103c1c4c0445f50e36fe9a5389937b6f07039a682062dc900b162c6e657e9ca7b988a453bcfb79505ef54d20edd58561a11eeb93c8b35ef0f41c7cc8df262fbf84b4909055994f4172803cc283a681e6182a0d47532c177955889ea1754b93fef211f3ca1071d3645d463a3b2149abe1fe8af75c5787bf888dcfac7e22edf8ec00b43edf5ce4d6c9990ae6e93723466e6f5446c356b1fac30daf9ca4451412dc2fdb6b50bd470d00d61f5ddc6e83d4a86e3b782860212f18da81f141474530d640db5b53e4c7c8fbf6da19c25b85aa9164aab134a9fe9f550013d6f7054ff6f4cc16084ecbb3983f802ed704bb38a7b6f1a7cdebd659e9d2fe0580630c20971b2c33003eb660a314d3de5405e290bb6f7f4d915e5e8bea6a87d345a54dac726e08eeb2a8ddc8a2ca8ad86a51f4e75717f8835ec87b5fe9f94f03a8563b046f668e1c02188f60d84112d65a1e84eac0660818f49c92b1548403438f3030b14e257e864f7f699001538a528d6751b63ba41e43544ba2a056db1db3403a3aedb579a83cb91034cc070e7adefb928ad4a2a2859a4c548d66cdafea2e4269e53e19e9568cba5c8b1967d21a87d440b8fbe06b6de10bf1c038a5187d111f1d3ac51224e89ae98b287f372df37551ab4c9fb5ea6e0a604a8c2420016228651fe5d0a0ef09750d8c003c9be249c04bbcd2f4b9ce40eafef9f590a06cbdd384c10ba63452fd0eff7829fdce7a0ff21e9061ea8fa1cef446da5637bbaba14624558057ad2ab28453723d8b47b04c230bc5e7968ef608025b149e02d810729c44564ecd4554ade29c4e48062ba321228bb2b18dcc0746af7d64b857a586545510e55a4480fe913d8ffb31c00d1b601f8fa5c84f4e9d059787fe24be0b81dfcdcf4a73da09cb7529882d2dbf72c56b525092ce78231c01b6869235ad431be62097e10a6dd7b496951c619f7a2bbec42b901b88a9619a669acf40138520c2507b42bf062be752f03060f74cd3e82ba4efb431f22d36e77902be6b2bed47f0ac213d361b143346f2492bbf50253019cab8b8179bf4ff7d1cb45c7ead80b861cffe805c1aee997048c728f41d189971e29dd3023c0d20a049e682a7f39e3e9ca06613d5ad69076571ee736724762e16f7afb1af30d74b47c0193e3e5e0cc02556a248a275e6d87bd0dfb7d536ae165a1311ccf0aaf1778550b6b81ea5a8b124ed8e738eec22e646da586385f5a7578ef0b6aaa3471afb21a982a63c9e4e99a9627b74e3c458ae751c3011b244e4943e5e9b5df376b65538e141ba3d96319eea0116387ce04f1ab16a0e57ae40005d3d07b3667b6a2b50afb54d7a2e2d97dff68843d1427e95278c0cd1ef985e9807bbf4e067d71303ed3c135b9a2736d549f256a90549fd10a48f8c98ed1be97cee68c6b436e7e205664250488c5a7c5f3b4cfa24353ef72169fa639b4578c6b894e1f02052ccd506728e155d16f9cef32ffeb14adf2ca95137823782fb098ca7e13c170d05741bd9a2fc9b9c712b6ccc6ca8b4371bbf9dd683fcae0d6313d52b2ab0e9b8a0e5202a2a803518ab4132668eaf2fd37cdeb0ec3117a6c085bfd3cd6368240f8bdf14a04bd313d4bb51d4c750b708733cf9732ce8d020c848115b3829239f4486be6d7b5ea94645661295da21061bd2df1fb07f091068513dfb87d1d9028a451d75c3a2f3b3e43dde1f2040a4a56e0372515eaf90f8d4d081bf9114309d53f0dae6613977d5631056401054f1ac6818952616052a277f7418a0eba67b9b04f31254361524eb39289a5f86caaa58df20a7bff450420896cf2e0dbcfb67a9308a953137ba7c23620c1c05e93b8234f678f4baa6420a611eb6a2e238a0ae542af533610e0db09371293d95a59a6ed2abe537a57680013421c5949c5e53f4576f3e7beecd733e9ef3a227946bf148c63145b850d807387e27a2411d38950fd9b3d17b540acaccd56b74f1765d9a889bd6340b4dee6b256e773bb991db8d0774d9df2f71584ba00ae5ccbba8ba18b01973d3ca9658c95394f893be2e6942a4917df89fba35c480126ee91448ee9fa9ee38f49356bc1e527463afc2aa4d75278d6bee46aeb40ea70f784c1d75203d424cf2bc13ad0c377aef0a56801a87d4957b2a21707890bac9f9aaafcd55980d0be4ced81b659dfa5ec405ecc1aadb1301018faf7f3ee8927a0da7a3c1b17c1ff72346c27df1da2122879bed11044c0696d33cf37f51f7d9cedb0fb81656743db997d88aa5587d8d903314cf494383134ae4dec5cc92dd79ce3cebfc913f749b4571e40f75e1e40d521686b80256360b5d28b3a1aae4d162aa0ef812f2c561b1ddc219d0c9adb44c95f6216dcc188f0e7d7d72cc291c2479e66932c7371e2ed6fa2065b05d105eabaf273d903e610d53765cf116dba6d036d6ec285f611ec174012e4f93e1f248d86daa972047689f064cf1e40275cb3d2bfe569f02d30948153ba8fd2538cdf066615a3908b33844a57e03ab44f50bc387c2e6436ddd5794ef5be2bd121464fb6077bd59aa32d18858f47488f58692aa3ca23ec27c76d034b4337520864e8ef77eac7d5b57ce43b31fda34baef83e5a12e802fa6082aab088d4f39a61afaa2c9c1d6fdb94cfe781701dadb1d1e40050cd5bf3470c28a066b318d2493f1c5bd6352dc4353851cf22741d29849af52021c303ebe0b3d152fdcec63f2c176fb000d392bacfe8a1e856621fbcba3a7eaa4345b3f6c86239a0b3dfe86b090fba146a7d80e42fb9f2866f6cfd91ecda35eef7ebb1f4ad9a883ef76c5dd0f95e84e6446a21644fb4cb0adc007ee7ea89ae01a1991ed0e47e2668b28a60093ecd346a28738d6259977a36ef7430d5782e584d5606380eab6ece4b67787f0a4879d8d1122b81faabc8c4077b199420e36de06f998d724bb79c466fb5f8487c061bdd58914e1887af06285c4d962de9636863f24961646e280f78f612a03513428983e30ebe50b0887361e31b5c9683c8cdb32df3d523516f384beee1b5b044438326611ce0dce7bb675488096201aacdf27837bd8dcce9dfdd3ed2eba0107fc87d7846646a1cac784af65aa31576ed237ee788896b02fd7226de7f8fa9c822c2be984254ab88968c0412352022895c1319205980627e4b8a194f7545d56061540a6610957e0de6123425de19bf861cb069c1aa2d3e25f9d54eb34770a739ba2a640bbbe8228a5ff9267e23cf19870b2d9fd1fe71b331c3d15528175374e9cdc53de9a8c372e8870c8343674953be67b9eed2940ef00e355c7eb10069db096a7c041c63b69d4c2a9566e11dfcfc3be3a06156d910475d50dd9366a6716e7e2f780a4cfd80405e18f6395cf1b0037cfe3599fff8a80356f92b595856572e99c86cb015d64285fdb884640e15dbad25306199349a1e31b9ccc394accc6495314659a2ac2a013d858fc9602633bdd585ab6c582614253b85f864aa1b084476a27463393f9c99623adccd2bd93937399c4a2c6e1cd61208ff488906f81f37b16d83c16674b195f6ab79e068504cd4341f109b4ccbf9ccd6130c0b05fb5dd1330b5243985a7fc6b2004c942b10bc2472b25aec22803e3bde432ed36214775953ade87d2cdb4f70f8a28373129f2f6a9c63e091950c6d6c62f3a33184effd8ee88850544b779da5216cc491196f6ca168b6be52c653aa0c27f6b4c4a689fdbee66ebd23e200cf9843247fa5d336e38777abcf067913a9c7ec4c246736b21628a6e3ba01126e184e6d4dae843954bfb9aa4de00eb2215a576a5fc2b78d54254e1fe7bdbb1a4d083dbfb78928a1b699d3bd8fa983b92e2403d2e6d6eac6a3a0f379557498c0f8e83ad8c6646cf8517ad795b1dc0a33cddab898cd23ad000fbe2aec2ef69d562e920500516e991a74f27a7d410f9b5723d573237fdd5ef8f9ff4d466980fab17ae2835bf568245b993b5418ee898715d8720beb271a23a1d277ce19098a0467b802c8f13b7bcbaf7e396bead5c6a850f93a497e9caae547a3ff70b0a8411985ab61f03df3d5ac6561fc78ef765995135f9ed6590c20b5bd65573a97d5b98c7934663abfb0c45550456644b816de36626658b159828a96800211873864cb6bf62813ebfe52afd02a1fb36340c873b4ce265b85cc6f5f5bd4eff787acb88af17b35af13f4b7059bfb2658f6b2385c4758dded06cdcf7ea983687f621e6fa3db3cad3e2c4a065ffe25f2e9d79a0bf73993340643feba94eb3179846a2f0f0358a810333b88bd08e442e25fee6ee1ff94e5a9593ced133e397601b20ee9c00743bf6ebb89ab4b6f27d51bfea67a5f20c090d21b1b0bd967514a3a5c0fb7a2e5a0cd82a02233621ac1594fb3f5694b9df9418a7632f924004502fe81f8228a9b71464fc50c38c2b7944b6181edc98da0560b245aaa05406217f886ef398ddbe8aef99733170b2300574541b0e5cc0219c68a02d9447774302c6012701a4c5b4b14a6442fb9daec1c63269cc997c409c980e94d746d4eefd13253244d3aead13ec4a3f3fd3c1ad98c4acb39a2bab4c3fa01c4d12f56c6c8a80e1203ab1198d288bafd4a690ef8b9a5ab03f074c9f6fbb4174c4158f4c921dbe9047021523579c2d1897a6c975fdc19529c3940b6b4ee67497c5b203628652cc5121a44c7ba10c8c1234624ce4d6b66400c2640097f7f1a4466e9a0fb1064afbeb5f5ed6511fa0258bcf2b4bdff01f95a9c512f01b5c938b85937adcb20e36068255094ff7d22f87510257c3bd72379ed9b5cb7506b23a8c07ecbc7ba21864b3f3b89608a5eac0deadc9b052bd7b180a45103abd5339613c05e705431019e09eeefae5382d6a2f691f9355c3a9778511387c6bdf6149a192642736a72fd8ae52358e5bb07ce71d4b52340307dc79402ced1b1c15405febce8cfd5e0d1db4c4a004510cfbd3357748330a10fbb0f3a13036de00d8f61c4adbb38dbfd417432f3c731f37234a8a9371d0ed0ac7c28d7c5d1346434607005e1020429cf1c72b1980bd3643e3211ebe2d1d0490279b16662cf2c4ddbb9af784a4c21042dbe1b66049783a535b4ca6474204c3662c5958af11dd50c51e9b43827040029a646200f8ae23dbc78760b9de102a7eed735632e7f092d7b9e8573f990a3fac5dd9cf1057afec61e886320cc3bd58d0d99fb828234aa67dbc23a85d2bc290911d29fdfc5e96939c0bf9fdcb39d635c837cfe9d08f392ef8de97b4a4030dfb471bd8814c6011ebc7c0ba08422b5b12d91451050efa12a0ed49898ab0c78e0dcbe28f82db0923294fc53eca8b3092237b32369d3b42daec13d2fe86eb59961502e258813cca519b3eb0f37e1b8d0498ec8faf9750039d649b547e31da0a70697e70d791a6918edd57f516fcafe970ca9ebd27ca3f16b58f4d8617ddbde85e36718cf4454ec22b274f23ee52d7a04b5a662346121c10743d19dd4aefe9756c51edcfa8b420a9dd99a52f1c7bf141998d1c80a91fdc393a8a7154945523aca68c113e223a9f1715a711d9a61fc2086031dd69844073afae00858122fa29baa040114eb7f27ff6df35add943b08fb82451280570d86ffd86cd190e638927fe0d1c0e0139d1836c333d9b37df0afb3bcb7fec84e0efdd0049f40701c9061865e1729d80e868751fa886ca9cb2c82e0f8d15782a73eb154beb58026170467b2c7832e18c09b8ca6e3446a91b288910c581f5c412dc573f84e11f789403401a0e7d615c66fcb0ff5843f0c1fcc4a4924d99a20914547d2b6b64a58e2be0e94f5d0cf5e05f3bc0a735ab8c596aea802a096eeb26e25e82d9727d818bcda56c5a9fec9af0140476e33d856bb5d82a851892e0ab6b3a6f41485bcbd5ab8288dc1b599e17b27abba53aa626cc8f65b0492b22662d47c6a9f6bdbf816519729c28650836488b5dc1b750324d5c84be2d13f1a1f437c08cdd9897e98c08e35338b061878fa6d8a56245b1451eb15184281d5434f518553ae203484a983779429b890907a2c0f3eef06aed7413677f1e4a08fadb2219bcf39800aa7a5ef2a84092a6e72f04a60d23c8d4099241273bb1d0259f720002677d900cf611149217f8239b0c51814ed046a6a2f6c1e604172f4c2625991145c37106ee4ab7c2e18a98e0a038f530efbec667f714d2bc2fe023243bff8f974785d1450668d4c3028ad5b5167b7c602d3b530cb5376c6db5f8b6fe7256902778dbf1e962e95fb85b8402f1ba8909d0baf075a9ba1f6da89bbe48344040cf923901024887c50628614aa05d870bd8d531199532b082006b42ba338e6de1c6b12ee66816aed6411181369d77fd0ad7542dae29c24a590f060b22ffc7fd09ec378dd69890f0d259c3d78bcbb0c4a7d31231c101a21138e8abc34e63c7600ed159f184c424986203d2322556586f15b51a5b1138326c1a9264da22ea6f84b4a17c7c3b389aeae2b927f4105b1743232c5d1591094480097dbea746ba09d63e5a4db74b8ea4ef52379b76db5cdfae4a75be42098b3e0be14661093e47a0f679589fc89286994ba2222d4a85acf7814130e60938983056b23e75217610822ff8d1fbd7a8e61804ef48e593f4c1c02064dfe9b84554122b0153ca10efd42d9e9372c81c1626190e0658a0863820817010c7676f9d1008c9744d9cd96c915978561dcd554fc2ee79442300dbd3529084e7f8caa7844da82e74752da4d33d54a1abfda1b74e592b44bb642cf57358ec5d2c0a6f46a3f7a12ba97eaa2a31a1ed0a6658fb53cc7c187cdb0c86835a9aab430f0e0a379ce94dacb8b1326e60a565b4ff43bf9b56ce9d95716765dcb00277ac8c6e7004921fd6051488cffee6ab404024698df0a29d9cd040678c556c019d5689b3af714ea01eb60c582363a5a6da0468d6d4b98f76061e084cd2db5986e2731afdecb56cd07913d410bbc270bf1b06420aa38f82b6292ef1e2b7378d612cfaf29560236fb950579bb6eb50bcad3c1770718e4d491475db586ace4cf0d637b4d296ca6e373b04cc0d5237a5c6a7d72a02f8c9392b00d8adc374435e9a76950c3e89166ce2256aa0534ceafb33fd8c33ffc2ff9fd5d264eeccdfab25b7f9899df1affc7ecc979696e3d536cc0e36391fb74e3c82c5edfab3dab0ec0b98a30e34a7459d343daf0753e44c8b8528ef0a426514972c394ee3b24da5bee25df92e62fcdac6cb87cdd44cd093bed09f2252ea821e735b1b090702aba30b69e6e127512061a75ead182af4e514b8133d11f973d50fe81fd68e8144381109f32f13c59e880c95c4d94da2454f2922fc87c42d666324aaa13031b3adf0b9c2a6020d2b583a6e4f14c2ba261e84c0fbdb8cb48bd2cb2020dc0a634a00a5107d289ac7a64c559e9b98b419d8408210e992edf8923919845cbf3a7db207ae82782b4729aa4c365df587cdfcde662ac0c1f00b3218f19032e744378670069aa0436fd2341abca6f6e672a0cf408144fb875bcaa72d912adbd1688f3d3f6646920006d070c65472c894602bd32abab39ec49a2d843cd8bc585c1554928680014004ac19dd1fc12d3a48ac2fb0b8c3fcdecd09a6ad02b4906db23236493002b597bc8bdaf2af2e268818b4d86d6e448938fc302136d43e6f9406f4ae720f979dc46cb057492e6388700be5ea5940839d076ac87fb8505ecc11daa47bd7a62b22b2945511d22a75959c37f023582b50333ab04d7b275890488e0b128ddb5fb5352a1f71905847d8f4a885e61d678c95b006dd9ebfad9b1586a0c884e6dd5fc8e1cb87d060e28681e34ce32636b0b84445820d15241a17140958de0f3188429c1a4ace95a45fd80f7f69d878908f66a02c4d548b0c5decff7e5a56cf15a649b914849426f0ae2153206aadd8e0bbca6cf0d55e5620a0e76761b640c5538520da897604307aa6c8beae27e4213ad43ca89d87331af27d1eb984649e033771d51ee3c74c0970139bce6d7e1c31bcbfd8a0daf1eb286c3b841a6a652ade2564b87676205d027fdc7fd66720c3e70eecc0eca9be91996c2edcf13ed102084f384101e572128332ace17c0c64ba9041c2b88e889d94c908fba0e9d43406bbc7d89ed81f8488f38efa03d791f0039ff8016cd73985eb663cbc1726276c7d8ab8e27f4a7a08a055a91a267d63f6486151f2dbe4d521feade32df3e0837086e81cc8229e8be7b30a9ecffa41726d5005f94136e717e7eb64a86db81132137844e89d1063d8055fccebc429bd5a122adcc66c04ae3907d6f00067b6ea4508460528c2561a9080b40210d4c6ff42d79c809b29f43872ba72c7d421916007cc81605109cec2d0c56f3f7a5ed855dc93da1730cb721d1915dba69b7a80773dd30030bca163313d46afbdac7f2bb3460c0ea0b27a42e81e6ab5e1d291574a6a80260d8bec1aa50592b87c3d9aa62f3252e8129719d10344e3bc1b6a60ba6a5337ef920118f08018f081d8f0c00082fa3237f10cc5bd795077b4704bc9af3cbf82af003550a230d9e440b59dcbdb0b8192182600b3b40b602201d8dcbb951bf8820e8d4a119bfce8c34fd89d57d84135b8b4986fedb43ea48d3b5d8ce5cc7a54ae20feee0c1291b6dfb2219a0003e48671c254ea1793b8562c6c0c557bf1190baf816b83bcf7c1666b6668ce00648e4301bc5ce063981be307ee23f89ab605ef561d3cd7607ee4bab492b8dea65bc562235495a72dde52619652687060ea2c22b13be2f8847ccb09fd7648718c5b53c84fb43311bff624c70cb64d42f6563d86a898b2dbf4f157673a5c9e04821e23b61e621eb141e7ef43ffe351ffbbd5e6e32c6228c4520a5e1ad56bb5468b5c50d433ac885fa14a4fa08eaa10fea0ba33a145df8c5975c80970e422dac59195c693d6e9c4f4057d7bdd41ad18a5d5f5b6065ec1cfcdf278c3302df2c707d86dd380b2ad5195c33e7b9d6b2b83ed628729605c097e5f16dcaf924635741eaaa1a28c8020857fff91016111db9fcc352df75df0941eb820dd472b2a978a497417a26ae00a4b03aa17a6184b9d137fe435fa9f53e78aff68b701d2bb5c6d9bc061adc90616bddd44630c1b259666f85c5c539a78a70553b8db24d45e3a3410957b207ff6faa3418cbc1b1c75d0b3d593a2a56d56588262f625e0ebc5e36a795ae0ff21bd6be74bdb3a80af405e2db9667a6de595b5bce70d9ff32b46dfdb00825200450b31d218fec05c8bcb7c6b959dcfa4fdf02109db01aa139a2676804428b65c31f001469f5d5e2f5238d07516f3fb0d687722c269f684260bd7e93eb22d6968126a4fc716377941d2c3c437a07f40edca8fc42f81c23723507372ecaf2392b46598e0006098bb72ea333d055d11b8ef48d4cb70a377f83e2b44d834f5043d50d0229a20b533dc1e9319e6b061715ab7244aa343e48baa78751e34d2f85fdfce6dee3f7d913998f226cca0b38d2cef3e4977645cd07f3e7eea94f3ac68b191aa2bcbfa1e52e3506dada71c8e4aed93ba1262878d7a03f17aa407b40b446e7ce9829db947e7b2f200021fce49c8880bdcba84374cd4ea7d8ba5ac3b5265199343abfb8c7e5a70b6b91b8f061c34c059c8ac772f322e2207abc7d574c1b9be54a85ad871333ee5098c7bccaa6b0039acc870931628080f1bfd979707d7ead12f77891535371fabef16a78afe79132e4a043b0c3e437f4a1fc09c156441c1b8c1138717ca70b23a71a40e69e067b718a808ce275881dda8a3935cb1e4cf4a5f964281790236c9cb9c1a30826b0114c772a557359d1b2883b780d7f672c590636921cedc57c43652d7d5cbfad8b27f725b3f07895aff48ede27255b511d21ede812fa3f55cfa316a4400462cae98b31fdb8fdfe72d9a79f882bca1aef26a6019a1d0dbd9a8756642d85aa0c2f64678828a5d3562a690f67a237777cdbabc04c05a526bd85bc3e43c3a59304df74c052220b3629f0641d629d024295ad0f560c7f8a21a9eb21711121ebbbd0f15adb2f8b1407a150243e160b6f406998481a93975b4962dbe1ee28ba622c8dce1b3dc8eb900f283589db1c85c3775d4a35acfc6928c72c42a25ffd0f5bb9ccfbcbb09fc13a78f642a068497c82c9c5612020700c40316e45ebb07e4001fee39c98ceba96ebc9704116736bb72721ab86c292e7479a5599c4b5f2a7ca00779665960a7b4369033ab364a90ebc0db9497a73c3ce7c5330f9ef1f08497f154c854ef4a1bebae03e592ead2aa8831d1e98695c18dde94cc0ad5cad5da9412a7ee9768cf17b4994029871e4400fffbf8f7049cb0fbeaa94d9953a8e57f90801210ce67dc7f0591adbb3387cad5ebedc5ca36195dc94ba80b8bbc5d3a7fb2ed0bdac60f39fc68da383e760c2a5370e57dca669fb1202c3778b2c5e2a9ba5957eb34e559ba006e4d6db808615b1816b899f0b7e10a7aa40106a1eb8b4711526deb48b35fdb16646c29d2dd56a84c964484e44636565fe7d40c338fb837ae040fedd197d694bd9581c681bb73e842a418bc7363d980c3a75398672c321eee2b14dc0c067d126e67611c5735de5591ae18e30132fddd5342706540d52ca6f7e252d7bd179086ed0f5effc299e4c15d5407c361774b3d75a3a656aea4513702391e719404e9f0956e73a3ce86dd686b974fc61cfed7e20832e8e4bd0365d4dcd0bad61c870e2f1d8ef78d2736b453017a576bd79b179319e00c0792b8b70eadfe0871b57bb7be7661fe8aaf24773e4fe3af555b2b668ca44d9d91d7308a3ef3d252172d6dd56e8ae771079e5a037673b24698f375ec7eaee4653cbb73ed8c6a59fb3a2761af8b8ba399d8ca5e5667174bf72951a8527bd62dbb5ddae3aa5145e0376765b00618a2c99e027050bd7798d35de3f0f4d808bb1f6532e01878525daa7788f31147f3295413fb44e31591a72076067d1aa7ed616081ac30a22b7b7ccaea0d45bf60944ff34c675042f0f0409e56be92b4030d746ada0ecdc63314b51cada104c12996c59c98dabbb1acb058a5dcdb4d0feaa1aa000e3f0327180ed461f8675ad696790ef15e6949d4c3169d45cdbaf8218737edd48436a914a2689f260e75a2cd172f6861092e4d9505084db84999b8b7c68c664113c6ff206cc4f215f7d704dc7f832ccf7803fefb34368e43dd41074bd311535b7bf0ce0fad051b6a7d2608f1c4a5e6724b2ad650a375424e819d7289c84c927ccb5d0a0ab0b5dbc2cb19cdd4f0ebfbf6a3d40b1fabb593a4285f1e983854de9c69a0cbf157424b3a504060a2df5ab0a0e327c554b28c53aa20688ac46aa240af259dd93ce23d4b8743a664ce77a1e65a70d277d461f42e0539bbe6f7023ed748452f8c29422783f8c7c499800c8c62987035bee004912296d239534bbe006ca733d3c25eca9c11bb346776cb427bc2bb15323ce8592b57bc2f521ec0552e0a2bf982219e855602b80eedf3bc600deb28a8ad361516163c20bf8f7e3712b66905eb058f3aaa32775a8dc5fd59bd34d80bec73aa6eba5216aab3496f026f05b464bde5c6ac73b03f90d523f78d81ca3b56b8eebf0384f10a033410998ca1f5f6b2fe39ee112a95b970261775ef41fc6619d038462bc2bdce2239956448d308a10900fc5b9ad31d531d8cf826b5f531472194397387a48d546f303f112e2183286e40d50ef57ca4bb20d290d58a410e1b4064afe7c19fa9d51bfb578b0c6ed952d78678ef5340e4c0edbc47ceb5dc117d6e743e6329290e67b61116d7c2e610411282845824d31b05fa4281d16a5a74b562849c001183a16273ee22896b10e0fd8a9fa4fd030a509b57df40d851b78fd44d24166fdcf9c00e3e57ef5211e8c76bed5c6bafd1e93f8f63ea8688e01fa9ae45f728190d754169d6b401311f41cab3c2c6805336f6e330b4f0c6292d8ea59ca75a3335266570053186646fbe03736d33c9a583f694add5d3104679801689495102c9688ea489f5322dc70945e3534d8152586810c3b1aa5e48eb7f1bc1062967bdb6530df10483bd9d67837842512e59a97eed8dccb55e843a7d500ee6a8e4d182a9fa632248bfa901792543dc028beeb6f501630ba36750b26058d141cbde179c8c897ffd1eb30501baafebc0bf39f00cc4da9e6e79a6fae9494d89e28ed04e57182973fcfbc39041c224e6c8ddff97828bffbfe9cfbc99fee98603f6e24fbfda9584368948d8b9dbd8f49b039dc9fc33bc43f6e953585c7056c5bb2f84acc90860e93dd21abbd2452bd742f9a09b007baeed70773a820e04f17df90fc6c9ef08e52e4b773f3f11c0eb545ec435875207cb8e43f0be2bd6d803e6ee3a430c702ee0fc6c1c567c9bb5534a5f64d3cbe2526a3e3061a911e5b7997004a00a286bde2d2f299e77da904743e73db5517fc83d20ab1a46ddac7b02edbb4ad02e258a5079a23f6edb178735d0373b35875e9a602a73ea9a1ad509b42ecd64cc0416bb142323e130f0a202a606ba0f4b399db4e34b15c3b79e57b0f05f3318886c9bfb6473a59e09f3a00b1c1fcce5196f83375f19f3b10c439963d1b896c5dc69f584e889698404ad4f7e8ce67cb2e2af1ec84a60044b06c8da048424c138f46f324a646c2ea19a75819f431c9c4026922640700b8ee2dab1ad0a6111eaa47ad3085d1a0128810c67d063b60f4c3aa878c84f6683c20215b50dd9a211d3cdcc20482992ca9d36086a7818b6b6ed1fa75ef92fc4065afd45efca7d3ad64baa3b878e3c1aebee4fc6747e83da19ee5da9b5d077596ff2fb6d053bc396283d4c6eed3c531b8c5595ec4f421468298999211035e1081cdc5142499d8e6798b77cf14733e0eb2e3d9b4c8de908fe707ebaf633715005137585022f487b794214b79d6bf6dc8d9741ed6b0ad79e4714a4af7ca3ae165ccb33aab08c0ea931edaee63f9bebd85ff1bb020f2b4b151100b9561d704039e91e55cb49de5f0834cdf2206b4ba5969d3994c73d68ff25b20ed4c56a74027ce32f37aad58ca1cf9e7fa09db62c4b6ad7bb801d8791c5848dba9e20d3cc7f872700c16e6eb7df89d86202a7558da049a593a3b9361ee77b8e4cde7f287d009dbedb664a061ed49446387a8fdefec656b160fcd90c626eb918ffe0d2a3083c0f8146a1959893aabe0b1e80cef0e5acdfa0d8cddb3f1422076a76d5f09077af5e9ae2e4a2b8f6bbbb9b743d598b85f4233855d479f3ef8a4a65fd7c7f07eb6d75663bc32359d26e5ecf26a36d862794da990454f11350890d672b381119bb35ae9115c2b91263ae93cc9e2f9a7ad3eac19e3a7705864729fe8d5fc069619d683cec95627e79541091c1be5407867dfaf83426e08749044edd94a26d9b8d36cdb6db36eb51ce122dee39efb5c5f1a31ea082a26a14aa9d23b79ae4cfe60d973a6796bc34c29d5c0d9f8844a1acba0def52337fcda248e3d42d885da61e0cc37ee10ab9000dbf38dd7164164f365c0ac74ef5fcc1061f8408eefaba2a5fe04157304629546621b9a2041fab959aa30392f3f4889fa6c6b6f0f3256780694b356d12ed5b7518b29229616967a6d43b8302754ba5a93ee64b5eca13f3c4ab60773fb4c2f6260a52f82fbea9d1a4ddcd7b0c36910047ca132b4df99f61aad5226213d877d0f070aaf34230d9c9b1d038a0cb31f7d9eb1fc232841bc29de94eabcb6bfafafa9d6a6e919859835719ba2b368ee201247e4194c6de44ca635133fa61df01972851229a3c1ac4a5133d4fad6589e70b4e226ab4b191ec99fa26cc83af5315c92f00e018f7ab07eb393e833fe242b49d1b68380dfa6e9a979dee5cf9dac87648cb10f6a6d0855b2c89e3a067658d834ffd31ee3df2a6639478abd7f73982eeb565b8fbe9bf2f8668172109243d43101f5958dca0b6f4ed821c4478b76d410ee35147554546848da0e15eaac9ad1752c04fbc2c423efb8635a43162930319b3238ca740d5b01516db8ace5341213c646f885c926d72c80a9a8953e7d3a48f6723106f2786a588bb23d2501d995a2883a0446ea8f250098f7353f44715f2785ea97c1a2bc8da5272e62d5fd6250b2765eb84a54889bb87d167461ea0b2f9c088d84621411cc8604c15dd0250a791efc20f3f8c8b0caef601d79b82be2d329cc36dad05c8d4ab1e530720d508513b5bac3d0f38e26ad112bfc0807a851e226ee3a7039136b91730d8f4f25610bf568b4389471b246bf63530d79cf3097d0511e921357c0b4987ec3579b045b40848830751a085c160242b1fe4ec0e43db6de3dcb1c4e155d58c236f24942a439541eb813d5005b19f8bca271cf2440740f67c014160b76eaf5f54894fb5ec08f7a0bb7a34cc38a45852025cd2025a16ddd019919ca542cfeef27fba14e3ad8add656bbf7d882c2ba60d893383f716b2082c989f90fab600b2bd3ab89947ef4b3c1aa21775a8ea7812c4b58378d17606814fd7b22bd062e8f6895cdc0003c50a241853e6ce0b2595ea76227968d0a1649323feb8ce10c4b15cfd4d71323e5ee88046543c3261c63725b5c85c6eacc6d5209adaada86fc60ea60f6e456f06ca3a1624773cd5ee89cdb1fd5dd7c32fba8067a46192e370672e51a45793a0c410c7aa1dec2371a0c6c64bb4d7ff4e25f8b78467c9dd02ecde1913626c84834571b0990aa0448afaf16739137980440d8fd0ffc702d9e6822a8f838a826aa45c1d537509488a4bd5c757669361be25ff2d75e5db33088b92d35b7bd981a048c1ad58418f1473d48e0b5912f0aa3419f4e6f0badb1f05c68d92309a76f0a949b895f523f43c295ad1f9ebbb3e78d7436dc21971348b6803cfc81560e313b01faa9157df79a5b12da8e075bd73c903f3aff94cd14f297dbb8c642b04c7188ff9964660c595d7970b150bdf19dd7ae00974d9a9bb9633cdde74b6902d2e9644bac65ba203560caaaae78fb243cf2e17460ab10c7377a19544e3fdfc3617ed79a6b19abb90e9dcaea3940b2479ab5a7d4e349c36c6427f7dad69ec7b7d89697e441847f572d4d477cc24663f8a86c2b46fbbb57504f1bd3c90525153e4ffde2a23a3af19c5752d8bb747a22ab37de4879207aaa6f56f15fb3fa807f72ed0ccf4f8f4422e4865eb938113645093221473f0ab815f2494a1e0f2796613018dc38405f1ee204ee3f8e1b7a1194a301c23059fec3d8be62d07f86cae69e1b9283544487997a03531e5fd40a51eecdbddaa02800d4d742631f8cf782d90f9db81ebe968c1fd2899ed481d6bc07ac3fb0d9a756ed282b7be19d28334a30a7d57431d4bf2cef25ce7bbcbb83d894bc6daea22aea8d7764a27e24f08798d82f9a581ad523a8f73f6523bcf2c7d70848ea0e0a5bc1464df103dd2585b3dd1249a1314a6b1839022bc9979194366f81b672ce2d70c4dd874ce8d466802008c15f8cdd9270a434031f3e391296943568dc834c0c9058beb7a0af5692379b49f53228300e4a15b4b4200cc772210cf75bd03261bf06818fa73b73cba5f72944aa23fdbcdd19e5eafecf37b838b36a0a4f27921eb7a69bffebcee136ac724dcf57af4c908085bed0446d8fcd7970cf604b19dfca6f0fc11f82867e44ce843d9c35cf72db03b5b366176476ff167175cd4cb9ceac7de3006b908384042257dc577b4cb66d1ecde8b3c0c4447c543eceef97cf76719a5ef70699f9ce0904621d3a72fcc52b6ca19773760dae4c43a619b6615fdd755a1e1f88eb7f3c9dd883321eec59e5fb5b6a3ab1ae78dd5b081c744be4515644fce74b0a5b2964774d23085b1ee226716c955cfad02032e48e59281a9ec6dc70cb6ada697adcf91024ed002b307859cb06c601dba997e240a7e8e8f6b63b4d245461b3a9f784d092c62ead3a0b4caf9d61c7a80feb1123a8d372cb7c7d9194f7da8d12ce0ca03a3979344f505970a1cbd3955cd028abb9001d16f27fe44025b721527724137753fd26d6566fff6de798b34a48b6cbb087bc10201d991a8affdbf2c5aeee4d9ef688da262c2896e4b1dd6752cb92f1412ff35d56678062091907c6d179386604d77da2b652b0bd3fa041ea17c9ad45bad7df810139b6581c9ea14ac5a84f53011ead313600fb34280cdc2d440a860363851004fd10592aebcb978b63952210853d83bf377bc8bae305e9ff32cf01bc6c2ec4c30660c5cdd4fd9255ea8553252f77cc5932cc481b4f7471411b22d72abb3d26a7f5b1afb719cb26a9e0f328b562daab71c44431406d3a723dd5d72ac8a39c13ab2ea7a3e4784dc8aac93fd668b557cd45b49d996563f70e0506f8ffe6667fb24d9801947b8b4c6c945473480f7fdc1e8f12926afaa38a1078605d360f41d067583a94ed7c6cbcd31f92ff0330fc60cf445911cd8c36e1ba1b3f85725b4f03317e3b6101d39fab597fb37bbbc17d1fa55c389ce68b37be8386a7ec3d54ec19c59db7e5ef31f02104e183595866639806decc550749a905275e5c050eb58f36d931f40aed94f1147f734487650456b668f369b412fd2b22b5c61278a4f726fc2e7d341f14b34b23c15de640c01db394dd93197daf78ee3ffdaba839c639c394d7e1ceff7f71e0be037d039e309611c6ae2e02363e6f10ff6347b271f4ab4130de020c5c464ad7a4563b1983137e70ae59890d728d8132b6c0ed60b3c15572ac4d3b2e76bc9b0a9784acd037b1f180b9301272896849c799fcb53c0ed3fb86f8b9a6834c42650e6fc8cf28ba0861c5b9252c13654a7a0b1a0c0625b6a53842963da11c5a629ffa220b0e78efcbf3e969922728b32c4af271c2fbe87c1ae1b4600e142bd478ec28ce3b2221e331268b96a84c6556bd1da166730953fbcdbd5e97748756aa30be80a0840eea5d78ac5705ef78c2fa0049455e0644c0224a6943d5cf2df4047155e84096e992ef73542feab03458141cdbf8212a487c31252f7a61e8d2a8b18a17b5e5fe8b0c37b31a8b48768973b4ba0cbf32effa11efa43b000d118fb21766472c5667ba78a13c8c47d1300ac14e0beb688a500377ad15f1cf052a64a424e0f96400d8dae16bd0235f14601aa3265dd6361a4025ee7139749900a72d8acce910d2d290b84d446c517e8fb5888640c5ab2b99b053d8f141a5032b20ffcc0ef183575a655d4a3fb18006e7f2946d6e314b88bfed148a017d1a6eedea7aed4358a5205718a51ca0ad16954a38285af8bef3038522a83db666b905bb616a260775d526b9d0223a7e6c08c43e224b148a711dcd874b8ba3c7b6d9aa1666e023a3016aad2f93427ecb7a1f98aa2947f012989bd4e377510cf62908b2e76818f027cd812989d34a304c20eb2c8a8d751dbe6bcd4327ec222f54732449c78e0d29e0313bad4ae8ffdf4e48d10dba32c9d6d2740c67fc5ffc79145d4b3ee64f95daf59157119a23e5c049520d8fb50f19f13159185ac9fd3cbc3ba518a2dc9e4774fe660cc62b4336184e5728a10b3ab4a7096b42a7b5b9de8e4b7da0c4085071cd00c8e131f9e0720586cc6d7ada192c9700665c02dd7aff2f678f0a8424a0e64cebfa10974c41be3e797a1a40323347b8fba248f1ca052dfbd6750e2079b3278647559e166c3251153e7237c87314a833f511ead6dbf2400d361b6a4844819e1f577d7a1f58076f05b76ba66c7c55b98c10d9b43161da54160ac0130edd45cb8aaceac9260dcb5244b1f5e1291ed40cc18487d4d9e9b3be46678b95ab902965465e9741f685d5c402ebc7f19a5c119bd99de5cf02ef3ffcc00b6d0dee6b8a1b699847f8611dd1b7b2a7c1959e11232a8e09bf3279de723a3a75cde6eb80e2c25bd4690e9c2446e3d66b192e849a6045a61d9ef05c504539ee89e7e08fdce3a4af4aefdc016b4e4046d54f6279081587382fe1359efcb860946443f1dd12bd5f75a5565446f1a5dff8179ea32f8c074cfc43e3f11830a0e3b4734dea8cb38649977279ddcdebeef6eb7a306cda0d370453697174d64f469ff4c97f8824785694614e6935b2ece5d4734da3a8f981a2e7b3f33db0b191ce680f7028883799ac11152859760b84d8b2ccfe8d72925a0b51b56e013e8c075aef26c3a930850474f3daa227aec0d894cc508ddc270091903f9301cb5c88bf4649c503d831c08d416e774ee03bff8b180f4262646769020d5debfe63c0da5450dddfd0d353b3970c425355f1e76e69862ce0ea82ed2031d961b2b8e07be39f5779a0057a453b29cdca078c1b039c2a554524a85bc72d70a050026588cee9c6b234a0d261ffe9c2d33a26b839c757b7523454fa189b58ec346058b45945e57faea756160cbd0a02ce3fade9f61069c7062544bc77c115ad1a24d0a933c65a48a94fc773f9f1d403bccae75d78f7b0c0e83ffc37068bc0a2b006e2ce1443b1f17ee990324fc411d3855159aa343b487c533acac6a984d4a62ec495289ee544e158d467afb0dcd972d6946b940b6cf2df1aa14a8adae461cf8eb72e75088edbe8e79b43ea9b3750b197b99165fb5900ac356dbd5795d3a37f834be4bc81923f0e89d70d887c617c6410c1de14f324c992f50c11d32a5d4ff8a6d2e5353c515fbc34cc02b2239cfe8ec473444901684fee794f6f9909320984ef346daacd5ef72e7dc8aa2c2e6cadcb936246976ac1da5ef1f97f8821c8b89b0fd115b881ee8e04da151bb8566c6a1710e2f80c1c577435af1e90f7d893b25f0ebf797360c6dc3c1428ce232b2637e77f72e9b64e0d5f3a7322855ed83c6a7b69908f190f22ce6643cbd7fbd6594e3954e1906b9e5660cd61bb9b04d5d2a7bfdf7e6870050406b6f136630b1a4d22f7e3bb6ecf4be7580bb44a4e76e6dbe478c544443241bc5d98695f08ee0116a2172e37bc2a6123fc539e619236e463845fce02098371850757d6632d052344dd884ffe2a31cbbc86ab5bf4b186cdbfa0190a8460ebdddb9c88cdc38f806770b7310e61a81166b5fd36416f64c83ad15ccbb8336c01f3a4c23ba10ac40ad279b6ca9900a33681654b6b406142c040ad2df0c0e6ed821d142097804510e3b7e88a2e5415ad3823b5ac403a6798e25a94202059d75b3040eb10ab0f2d6dbba6957cb11a045ef34ad86ee1af903ee79361790364a62bb00260d4334e1fd83d2c7588d5008ec8005447ff8001f1f3d50dc36c0e08528fc6fd7a078a77f422a0dc2e38dbd2c397ba6ab630bc137b0860d1caffab3e6c84ba9dc60b1c6c9900c62cd409e555de7f6cd342753683957850fc8b0dc093a1fc5d0a42ec0f0da34ba9b07aa6bb22ef4a44e835e5a029dc91a56b86daf9e85cf26804c78ffd592234d8762515dfe1b3883965605513f268965ff28076f59310c1ad8e6b01edaea0339b1bc5d1ea4cb0e3197279f117389062de8b6f0086c17fc943f6fa17bca3338694228618e4b0b8e51d84d4c6d8d2cf077aa13a7dafe252deb20dc307d2d5513d0a427297a84d213aa9bf8d414ead8ba11a9f86c09a2a6fafea84eab498bf49b96398e6fda2baeb31c286c3a805717f63acf7e0cab0da4c09a948d41f45a49ebeb97df3650e210101e49d4e3d2e966278c9e0500e2432401a1d1ad082cdfe32186ad5ea08c493caf15490d1e5e3b5ffafe395c69e9edacf9b549dbec7fcbff94d8ddb1e2fe5f8ede90bc0c28c644af7274f245820038dd73f44ec384ed7ef9279e81f17ef48df3a84d9502e6969ba7501df8a248ea49be40bfc141fd3d6bdf66bb3a7d2ca323f65efb1fdb02c40df897bca2897accb17206ec84261c85be228da9022906e64b3d15b057fc62a17c18cdb98c1ee4472dc2907b1c121d7ec2681c3fe26dbf5fb1524131f06162c99412e6d1b56c0e44c5e10fdd132d09a6e651a5750162df494729b0730405b821b7f8424ea3bc1526a2ec50a0cf4d825efa42cefa82614853eb7d8456cea49cf7a39aed247d24af41e63ede162b40527a86af4cbfb5cd76759b007a4f23401281a80593b135d4b441a2deaeac31c1b02cdacc4652f3a79f8ea8cd20f052e381a3b631d244bb31e0001fab34dc5c75faf7694ce3a69be5d6e534b0e62387142588bf25902cd2a748a5dc7bfddd58df5aeb7c6ddd2cda3922a91c5ec28e7525a19f592a1141edde871045df3a2dacd74ac23d3b4103be2f2d092694b7b44536c09f2751a33301b665e47f48b0be808f53776f5d127c80aa3eb527c7f04350e682c13f102e8d5976ac0219179060f3d8fb8d6841a8271134bc1805c3098e910d8ee7b5256c750364564a43944d14355bef737f96e95e7d429e9b2655bf05a21aa69beaf2c2322ec8f3baaa885910d56a1fb97128e4786763a13b275a090e203214cade64ba3632a65770d9124a73e7176319f3935e5635665fd002bd7eb2ab30e72c2d0b36d91e1d3b7e54a963ca3bb75a13d4a0c482bdd7d8a8e09a3a987aba747c544e02b2ee8c9c3f75bead522aaa2cd3be57975df743d2474d7682171b07d301a04fcf1291e638bd337dd0640166d35bfc78d2fd1edc15b53982637342ddecfd4db961a8262ac572bb0b3c40a93abdc9105134a11867d2a5a9b45999e6a1a0f8c80f928a82712d7bcb16baefc7bd9e26749769c72f9acdb93472d1b2cec090a9a85f4125b18a28fcc0a0726f2717c2f2ea849d2a961168ec7217e9ffd7fedbf80888f01008986902273689976bebc9dec768be6bb5e547064c325937ded0f0533fe0dfba69857b02a2500e944c08f6467d7cdfc0e6170dbaaf88abf7a2b0f0b581f088bc92aa6a936e3bd38273cb1b98f41239211bf4bb237f946be15c329633e8d83113f04b4ba75930052cd45ff9baedf06469193e4a59d85d6d5a5b86c58069c179641c06f55eebb765ad427e46b997cb5528d47098aab3c129079911183ede4f3cf8fc751b1615f2a0bad921560198b251a79dbe10f48c5b5d8ac3beedf17c8b4b591db3559c4f6bfb35ccd91bab76ca91387cb80018e8821f7567796156da11f0aee8a75425b03f1d7816d5ec99dcec7cbadc470685eb31d66fd093162e95f0a6b33480009c80cc28c153b7bea54240429fa6f263c5bfb842ebb14981c214b204dd167907cbcc550847c6dc9f6f68c17b36a116ed0a0ddeb62a739fe080036fb52e936c3b40ea317ad45c0939d56824d6bb6ec4d3da543b5307f663da1b4d51df727ba07a3fb5eb8385781df4fa9c6f18eb6a7f50f640cc5c18af3913485f53f922d60b1877146c612afcc01f2e130fab5dbf220d85638ee9dd593b6916b93f8a971d2a6b0a0ca60be528d692fb63b648d47a13f2613e46a7c3ea29e02abcdcab0938884ddce4dfe9e39269c0af24b5c2786f86b5fd204f6c46685d4420c6291213093756c64c6425d0aca44f56cc25334d015bc9593221a0bf638f25524a823fb002a030fdaafb340c35628dace5ad8a46c419f107cb20293762b7623b23caeaeb7644d236e46682722f849f094d6805c536030210552c9fb980d2a48fb5008a05dd29440d6f850b876e8e2a4dd5005eb2a07910b882ef61c6447697bcfa715be9102a9a06d019a50f0486e37ef7c1ce51843248c80821e2a5725e0990a3db3c3116f103c0e0db3c738b7889763ef6088cdb727a041ea6e226bc7e5f76afdc9879f4ec64932e32cde943b69045923dff673809c6614becf28d6f6eb4b06c788b48d6ccccd06fbfd2dcd2e7f65ac9b335cd071b444e65a7f358519df0f6cfa71df7791e266dc3e23635ee195bc283fb8a5a850df78834718f88086280e153d0d678303cb0c48cc4c2ee105a10ad12981f826755d5eeb851bdcd4a754a7ef7311ca28f480b048ff0e86c14eaede13f78a7e8894cf4fbee43d15a3e7c2cdc72161afc0322aae71e19e36011154ddc081820490a6329191610c286e2f6c8fbd7247bef0b95d25505099ec455ae2aff2b5b0367232c2cc04cd79f4151b9edef0de279283f36e063de1a7ab82ce21c281515c5e4078a1f4a457d1f68dee98015ceb805a49f038ea99a4981ac952153730f2adef0c60dcf325b7e918f966584509f7ff2485da547a69a20e39830523b7c29e58c0130639ce88029c1d811b6fa6bca6e565e3a30b3095a1a29b2bd74bcb404ea9d8bb157305e55a503b9693a28273a60eb7660696d9900b857018a37378c63134178cd602eb657947944dccbc21fff0f8dd0708345bb5fbbd66d1c434372b8a691f51bb01b6efe3f72113dd9b0eab2a84942f6de7b4b29a54c49ca000be80a020b1e3fab9d1ceaa4507bf24769b8555e117f8471fa378ce3afe1dbdef7237ff16fb86f4f7ee7af330c0dde641f7bfbd966fa41fbed81183de9678d239e8c87444e1b1c9d6c9d4bafb9c4e461ade052fcc9a22c81acd4362c047b7f0d0b49c2037b7f2119b6edc8c9b0897e7ff6dd18620c7bc712c84ff231dcc34ff2eba60346ae78a8056baa50ed26cf159d9a4e3c01535389c9d39a3cadc9d39a3cadc9d39a3cadc9d39a3cadc9d3ca192af1f969b597b5b27c220a89440ad9438554d29a3cad2c8726cfe4993cab467d30a8870fa01526594f96b0d59ef44c16b99017c11a962c67963f9178aabf480922134c1064f9cd9eccd25ee4a9c6fee3f6c7c696fd07c6c828638c314a292d086e530d090ca64ea3be8c95b132238d92f22514293326b27c9ac1403e9dabad01ad3245f9f4e592f6a404caf27dfc27c728a1c8a255ef20dfca2006f7fa1a94a5dce1df00a8f2070207960e9410456525124f5d1827098ffefa38d76715e3d8c7c9b0697ef64ab27cd9e3298b711a9b7ec89e4786ed37e6fc24df3e86658f9fa4e987767f21176e6c9a40f85b2ca462c9aa991159e427f9decdd5d4992ec48235f3e5cb962cf289014cc9333059b204fad0a03133234306c7a5a45c39cbb224ee275759fe97b1b27cb98235f20c3046be7c79044c4934c4937c69029e109820cb0e8020cb221823a51189044b567bf25dc8853c2563004ff26d30b40322198422c98231524a56964559ca22d96a94e43cd59ef5cc21dea41e122bd351118db6a5a44f327d495fce39270df2132d82359da94afe4645d585c4d3a86ff49176483bf449451a25e98fa074aa55347f2422999296c823a246c127244192e98f9e34aa25530ba53dba6a8f12b5479f640a6bb64cdfc660f4f2bf6b5444df06796af4f42d918572e9f804b242d711700664ed644a6d51a6ff5dab0b894cede76ed893e6ce5e4e6c761836e5804cb27dbb809e3a2013fbf52b0692af95a72436fda0bd7c5334f1d8deb7872a7ffa960a98b23a0e648360cdcc3cb497af61d3c43b46affda5c389e172c1ea5c21d3f7ce76950259ad83261df68730912deb9256a3a2f6be511194ed5122f7b34016c853d5722d125c6a81608c0ee466da61b79e49580f64fa343e9d4f876c4ed4813e251a4206c1f5fc8d8a322da271b60d262d16a83d1ad43bd0b723b89fd5b13a9eb2368027fa3bd80942a6f40996450263e8530f02a245b1a34f3a4a0463e8d796a7a0d7214f51286d73e20c2a06a8037d8eb33c150464c8b4e6645a8732cd22539b932950a616881669d46779fc95644ae973419472b42925b15672b2f754adf12116023fc28fd824a5ad1cd6fde5d9da2dfb7b40d5a56fe3f1a74cc3af3671e2869e131fbe90ac4206612084d0dddda1bd10c286104e199a1c19fd6b0f4f991c9b7eb07f3d10f42b16529ffe858524e1f142e85b6c72a88a36d7cb44cb61323697c432d1528f8342b3270ea068c2c413809e302484a4537a4723d6703bc3cdf4c37cd37767fac13ff3cf4c40f46bdfaf65df9d66b211b369889825cca6f8d84395772695d6995459678aef6fab8d9fea5f327eaa1fbb1dd64ff5bd837ea2acfbc3477bb5560c041275f711ad04b15bb39eda3290bda1932b9a30c1e0cff4465dc8b8003cb5b534b9fdc88d8fc371cce7800dc22d03543e9c1cc8fe517aca65471f7d43f2cc1acba1476ed8ca70bf6eb5787f0cd321b10ee3b0c97540e457eee556a38db487615f6bad15066593ccf1950e6751702b96b5561a7f01e3eb7b8db2e1ebcb909969d4cbd71a80af157f267c038332f6f233acbb90b4e7d25d46d070b177c14772782c8737d2a91c72e83ca74f74b5ad3cf4d15fac0b9327b8fe1c76e927ed5197ffa46c24b7b2ea03918f711042fc71ef9f715d2369561b698fd66f969146615f318c85e1ef73c55dd41e6da2f6288b8885c448a3549efec544a3529eb2609e7eef34ca94a373fd219942b882eb5df195d78b7f237afcdfe1ae4aac55a5acf28a26a6036191d383450ce20c88b65064aae84bacb67e9c000d5dd14217ab515fe72b472f647ae52b5f997e1335ca0425a5415d79786bdd6a0edf955e17a3833087eeabefc2711c0e32f3cbc74d078c172772f7c71f07a3eb26b253d74a6a04a00340879384470e7fc238313e07dc3839fc4e1375441cfe7664ee6bf7c9e46a03fe627699f25ece7f81bbe7eb9e6ea29578dd15a363d56d65f45b19ae33e14cc877711dd77199d38bc87799ff9532cf12ed3911d7698f5a37e2398ec499d8b6ad5b2e4cb597b4240e31ef3afe38de9be643d52906c689f100c0a6898fc8a01f23e90e3fd10740d7c34ff44f1dfd189d49fee9a1caeb3c2f468c182fe4743a61234e1f8007007eef846d3c7cfd4455d40513167dbefa1b80f7700c2cf33265882144b6f1007449e4bb74b5fb6ee6ba1b190c8ff0754f0e1d54bde0704f2bd9cc706fc0ccf2fe5b19ae0d1dcc1925c1f515ac61c914cbb4542a95b8e73acb82eb5f3babc475226ec0dc4e600c7d1ddcd7a79ff5cf0ffd5e62c3bf7c32bfb8b40d1d100e8bebf22d585cec5b3e6b17df16c0c99bf6e80f32c0a19dc6f485fb9c242eef8157c9f897eee52d4c793806c649f21d39790f800fc0bfe08fc3ae93b9df51516eb3d141dd645b80c4db8dfe596d363abbce938b7d0b7d17abd53e3dd4a8fbf4db09ac81b053449ef2d596c5f58f448d7a128be0e644b6315cbf2ea88a1be7d2b58cae7f7a076c5b80c4a61d319e7b982bed25edd17f79978729dc9b5cbce96b22ce850bee7dd5a81c7a598e84bef77813d45b4e84bebb3071448dfaba273fa1313aa88aa123731842cfe5216e9ff6e8911831e8d318114a7bf4b997ffc51e0e5f48daa3174b0cf76265fa01e800d0c5959f72921092e406ccf2a18a7e12429248fc1d012282c1074b58a9220baa628f9fe8afbcae034608e127fa39b45a3ddec7f82fb63c9c034e12775664889103864ebf59487830fab3ab71cb41faf858273b9634f8c8be7e375028d7871f9d346a62fc361ebf528bce4667163c448cf259faa5ee7310dcacd2b13e9971e860ba9d4cff5e6faa1f73fd1b3a53c5dd52b54f9fe85728f7bf6eed8c7cb5c278c3591c6a54fdcf9e62f82b22635507fb8ae8b337e9a88f3d863f2372c511e6bf3954680b4e385064d21ed5a1f4b730dcfaf18a4655ec3bedd1a7bef213f5556cd21e7ddbc5a0f6a8af8276baa749fe9cc7574455a4c157578f36c445cb2861ca3927bd79de687b87f930c8ccb20bf7a30ea4fbb794f26ba44bf99f26a57409f4dd176bbff071429973d1a8d8c955b6e9b63e3627d75fc260c61c3fa5d8d13cb8bcb062f8120b11a4bd2e42882270362f5cef7cfcc8e2c2c72c595c248cb88cd0372fdc96b1bdeefe5abfdda90e5276eaed225b9f816c14ed7ae893fc2c6ab19a6aa5524a29a594524af995f22029c6d19e7cad0457ca8b6d7bf2bbb00306cfde784c7666e8a454bafbe421c726995f81d4b9d5a072da39b146235accb9cb1adcbecd6a528355132818c9fc23ec98e5bbbb47f7e851f39844dab49c4bb89008f913654ff85363eb9e4dbbb66d19ccbbd9e168afb71bd94ad8718ee467988a362b2b2929127f37a52c5fb6e76d57194cc5ebbaaebeb2ebba60c5412608320893719cb5ef0eaff3640e3b89d1dc28176efc2995648fb2fb6866865d4336f3bae911d7777a16397c9ea1a642ca280b513ee1be834b236369adf6523b2f8979a6c56dd49a1aa5b3caf04b4340cb88d50011a3715db03696d9a8e17049df217feeee1273db366e04c09efb297f66136e7412156efc26d1eaee7e550da39b677324497e3b4545074deb2d36099aef1f998c9c70e393646cda1c49bfadb22263e5c5e849da155362e007000098955155564a749624fca1f16e395d970b96d940d27a0756c6e5d294a922572e168cf48216cba5a8cca8b5e4772cc5f8053f59ce91c530e7861bb0e4d19e9c2f298e3fedc9d64e64c1681514b0200748892719fa78a189fc41a10c817890641c8d82402cb822cbefa15129591e59f51bb1fd00558d9178df6a9876403f651e77b55aad548eed03418a12254a1415fd8a4d3b28c5384978d0af1f55b57e54558a69fc249f2b030b19684c3ff8c707a21f7610c865308225522f24a6815689b54a9c187ae2b3c344492b48c849f6b73b34d9af8f3fd1a7d59e67d95b176b3feb7c08cfdebe7d6cdbb60d9b386319d6450c8b11fb8875f1b71a360d07d091b0ed46738e46efa35137b3cc72f12d8d8c61d8430c97b4169b6539e201441dec771147496ba10902133946864041c8c9ae4d24d288b37a8998238ed88bb4d72a9f7dfc644ef9f81ff7117f5ec446dcbea5fbf8ddfcf2dac71d4f75382a796c61e052eac5c3f87f170fa1cb7f07a37bd1417852e233d9bed3c8f66dc09f7561dfe4823fb8245b978fbf521abdfd968e258bbbe1209d5bfe53b1b8f45ac792c57dc141666e61c1df4cce1e887d995b3090d1b7a4e0d27f1c0ed279fb12fee43673ff00e28c1106b27d4b0b1e40d421c3b03d17fc0dd93010fb335b3c80a843673fc2191e40d481f4b19b6fd34a9cd03a0cebbebbee3b18dd8b0ebbf1c35e6e27ee78fcb8a3c164edfd39eede9decc67cd2179538115bb8b3ffcce0b65da53982c9b663c78e1f04dc7ab08f655f37dbc25d5ca965da91f6368d75df905c7d685227730677b891a7f4d7c75cea5eae2ffd673f1b7ea5b977f18d3fd3af7cdc7c28fd95655857dfdad277f658d7f2b6fb82c83662d3fcf8dbfc91b5a689b71fd91f6ddd17c4b77dca6773f471fb886d8fc1586cc201f386b16ffba3eedb5ee37ec47dd67dd8c5ba168b752ddc630f371fb8b718488bb7373099c312d7b7366097b7f87381a5a9f48daf528ca5d7f159ac643f0aa95aa9d418fe5c4a5d7a97952eeeb83cdc7ce85cc25fcc2596ef2ebdcb67a52ef2b87471a7f45fdc5929f236bd3d8bed587cabc1f2597f6eab8021d93d63a3cfba161f95c0e63ae217fc59ef0c7fff1fe3b3a4e13e4c66798de537bc692c9dadbf6d6f472e72bbc8f1c22dcf75b0bd16dce2125d30f7577739aee55f74b04f2df81bfd0d4cb6b36bfbdbdbdfac6df1dbb374b60382bd028604d18f7dd8dbb7f1eebeec55de7640b6ef0c371c306b9fe11b98bcfd7703935bbcd6626361a9438a0491359ebe0dbb3eac2cb93ea98b457668fc2cbef8cfa660a41e83d1bde8a09fb6c65ff671c7fe17778a60d81c6d338df2ef3e6378a63deb93776291d66ef68dead794d8744725305c8e4aac0ecf16cfb497657b32332df3a25f68bd32b58c1214b4f65ee8798f11122f73babb9be2eeee86b93dd2f40802475b4efe7052b2449045964226801cf47b39f8423208f35d6b9b70eb5ff9d0623b8272af9f560373621af4e67f2e72adef0251b5d6eaa4ceff76fda36e7badf39c458dd2f7acfde792e5cfff6184af9f24e61cebbe294d3662a613fef5271984994f67f7454fe6a95f18086d007d397dfc007fd277fa3466f2213c4d1bcf76c98d2f93d8c18d3192766e4ce23aec1ec6784afe1ed27f58b3b58f1fab4b636d77196e36ae99f66ce7ee863022cb9f69d4fcfa93864defe0bfa5e1461a1dfd260d74fe7072c53df030065853001803533552704b3882bbd79efb4322aa03631d36b4420677b83ce0b0f9dca6bd9eb81b870d0fedb50d9d6d9d0aeeedeeeeee7146017e8478051b941514c96cc41c257c93949e8c98630a06d14ce47c6013d9f06bc9f15dc0e4d842c170e173f265fd59bb05853c71b412471c5cf8366d7588e60950daad58c298eb3d0e58cfe20f27d78a65507c44e7314c432b01d6d885352d9360454efcac7d5b40cc114318133f7e4374348df65a9b3296c0bddddddd3df6147a82847a4e381f5e6bbbbba5944b5ce8724a29a5fc86ee50cb5ee2ef6a2db3d05a8eb3351706861f8dbc8141f2a61669c17834babbbbaf7858b1698cdfdddd9fcc0d0ca28d92291a2db71a36b0d50fd3282cd3b6ef9fe98641d986060d34a04c0b91fb8bb0180bd1def670f3e1e6be69cf4b7023447bfe230c77e8e1a94f32df8e39d3280c7f3e8af0772bf3d93c67da731a1a36de5b0da9239342082b304d2c615096b9eff8cacee64b0adfcbe86f84e83d9ef228a40cf225edc95adfddafcbaddbcb5ef6b2fe97fbfc2013883ff5cb5ed765fda7bffb53eaee934aff5972b5ce3f52a84a21650cd2593e108f72e60937de3fe14229a5a4692bec082ebcf105501479419cf19f40383c76323b17be8df09b60429556ec2cca6ab15afd31c678adccd1c9ed50da6b56cb285872bffc8135586e7985dc928a2ce3cbce2a7123fe6450942d289d9257b4530153f2091a333238fca5a4b4b08cada4bd7e25b9ff934a3ce554c053ffe64125b82d5bb965abad0582c6ca5e5b317e777743db9de5b4e7994ef6a2f61c8392f5644dd4966d2cc21a78fd8fcfdaaa3eb1ab3fedf9acada882da4ad3e91d4cf1b595dca0dc1af4692b6da5e5d456f561a211c982608d94f6ba6b2b79fd8b55e2616acb52b8e548c9a8ebabac487802cec89cb05797f9b4f7932dc9803227e28cec890c0930a608368adc5a9911b5e0cb8832edb227521269cf46f6a4a5ad6c7c7eee8e882c280bca34a2ec4914560a4b857d826641ed79d624e6391b6742d915b5451ac1fdb2a0a1467d594f76e2414d32a1465dd1a8ef0626f7f8b77a7a32254030c679fed35677256751b3fd361d5bb0a6b3d722d96b8c31569df6dc8bfce45b8eeb4d9e8c16d96b016149a6ad78753337629691018afd83a24cf157835a9e61f7dafae91d2afeb29d9c3d101a10d8909f9cc6051728d6daf298b12058636d575b503a55afc0a880a9fa446dd51616545b3332525a5b8d88ab96a3e968abf62a6b95af80840b62a84ab0a0da2a2ac2d39e7fe9d6566db90369b55d2cf1090313537a147eb264c24496d4e79c96d6cf66e7df19e64a7f623a311097cdc5966ee12cb23457a84a4db1f72261a36cd3b42d1b61a4ebda94aa42576649b2788b6e892e17123acea6ffd1d8daddddddddddfdb6d299f6265e2872449e1842cfaf2b0a65c769cf5f884ce6429269602af2f8cbc82365fcf168c479bc45f4e32f63eb346a4639b71c708aaca3ed1cb11fb71c5d6e1c89c49dcdd61d9d34e8642702af9fb62396cbaed32822b3391d0098e20653e468e5f74b0c83012ec79cf6fc5fc6f3ae23363aadef73731c0f4f471ca43db7f8a63d7fff1e415c452e54227f1c742674bcdf290f9ff31454ddd83a44482084f4dafb4f10c0946cf9c96bd65ec8fdecbfa92468c6c0fd7ef640dccf3095947bef5c794a057b8ffff41e522ed29ef310f11e07c14ee7ee6e77efe1429f2c3491a10f167e9a90a1cf15d0902591a439f1b15677d676cb4b0209323f213ec804d236e6639f65970f2b90fe98b18f11fba1bf9b6bc4f0d4e9e6caed0b2e49a58baadbe1c428984008465019117354a0d26270ef93fefa957f1637d38e2d8b447ed2f1947d7f27f2d46d2f92449e929c1051766b572b3fb90f9407035c8e18888c4a7cd3bc974422bd1095bf13df14958fcbf5b3d85952773b53243d10590a16725f7bd2a6037b0931c0e58abf1ff986cb53eec8b79d24d29ecfd5e52959a44ffed1caf662379be8a6cedcf1c9ba1306d305d97f2a01779831e831820d62f6242ff293cf0c3fc9caee3b1de7ca2512dbca3aa9e343b066ae608cff34d2279f47d0989991815793e5f247b6fc27fbff78cac5007444f6a1b972771728005d1d58b3f5e4913a52a775608c134874c58c010f0bd6d02cfdb920dc1d64396d90e5fc69d4971921cb676249960f8d005970f270f6d68a270fabc5c2bec99375b225ed675b3704ffe887a8264fabe53379a69c4ce8645946f443ea643914a8efca2536b3f16ddaf3d2c7232ff1bbdbe53397ee1de8f405f36083c3b18035a36f6f426e9f22b75b91fb3d0930b5c359ee3eb006fb7e6f35aae5fbdd0957e24d344ae5fb5f3a216ce726803362cee728c8ddefcdfdfd76f1211ced91a4e06187a7e48e9f5cf6f82927ce903e51077f0ea887a85dfec81e4f55223ff9c4195627ea5081fcb4f2dfcd97f4d9e87ff2e7886f3f48950bb63b2bd8c931b75cdf065ad0e0004d65c1b0abfd5277e4e52b91d589332c91154cc29fb53a3b9e4a812722a4affd94648964ff4ca5c3d0cb0102f97aebb876392e38497fdd7c48796cab91926d3d0c79e91c8d258d946e42afffa5bbe0097f13c8d75f188e346dc4a88335ecd37805729bbddda1c113c8f57d876e393e5f9f55187b84e108636c5fd4be54d158a7d1de6777b2f3d0a87ef7211d4d840949d030e04399868b4b8b5e2142154ee28e152d9893525ae3488031f53faffe04d4a1beb76a75922b51aedef2969feacbfa364d02ba5f6d6145189446ad1a95430358235f499eef3c96752bfd2cad4386d011b3630bdb93f5a3b7604c7d3bc5f5fa597739ec777da0af06d9afad6a9d4cd61d1d40fb6fe62bcb596b2db9ffbb21c30ba651fe2c50877ef81c4c717eea975083a8f9a3ebe16b9df69ca7bcccbed6e524c1de039c2a09fd519783448ca2d23e07091851a24459c34ae501ab1abd073cd5f65e7664f45cc874c623da0fe53a3b4b657765dbc55c371b12b030b6b5d6ad95d8086e368280317d590ac098feab93000c623686890872737dabfdd6e9782aedafa007c00974128031fd5a1773858667e801f413a4bd7f3c223bbed64f58571cd41a6b9d50564d8cd419e19c75e856d3f543f2f515b8b9f08ff62a56713ee9a7fc778cd145a326f6bfdec214e92ffccdafcfcddb91ba39bf62aebd77d19e5fd885ac3fed01ede046ccf4a78bf6bc856bef7b07ff911a2a17ee4ca75648a9ec69a4ac608e92baa88add851efcdba57425489a1d076b56b2ffe31040f6ff4ed9692dd29ed71d1eeea1f7c9b4fc075bf00702b570d1dd377529ffb23dd795bea55bf9161d0bdc463f4e812efc434a79206ef6f753b2bf2a4f726f5e9c93be7eeca0f5ee853952c5f35d608c3f84f53f03315b4b44fc795ffb9c94df3eaa6053ccb029f2b8af82a35ded23e691f2f72fc6d9f0f629d8643396ce14639c33d2a4dc8ee53ea93399ea7d9527915ea57ea9335d9ff2a55fe94c3fa47ce94d170622e54baff22b6f0242e5575e25e62162e5725449812a96d25c439e4fbb21629e9865e2862ad28aed1a00557449f79d4c4ab7a31b7140f487839f02cd00040515968091080a2a86d0fa41fee0122ffb55e7354dd7c5b9f846d5cca3532d7a60ea0c4d76b8e4aab3eefc4028aa80417696ec5f8bf48431d725e99c0e2bcbb60b28accbf6cfb4d7ffd1d45a2b876307cdfd3d3c21074bb4aa7bcb41001f10b5e3fa18df8ea0e8e85c310763a24b8e9f053a0b1bf52357fb3c146113b18dcd15f3d01ea572e6ee0bbf94d15efc911a6ecd4256af1478aa0f53b3d4b936e152bad558122f7c614c7dca84c843a74a7daaefa75a315d42b5a179ecadbde845af8bda6ceba4ed375ebe1e23baf6abc5d7f7a6c3942fabaaf5ed6daf7e14f5812414ededeeee17b644422b2b594f559aba6c97bad4a779b5125ceb5f35ff70b2ec8e527809b3559692788dfafae555aa734e3a696f3a629641b15cadbdb4d24deef7a27c199eb4b6d42858925c70eb3e327c8eb316df8e9325daddf6ae0bceb18b2b358498bb363ebc25cec5f56e458c31c68e51cadf21a594f227082868fdc0a049155510a9c4763969b5179669db88746b1180aa18030ae60d2ef4891de7142eba8182209e52000a6adc414cbe06ca31f6050af2ee07170a3914f3a70c190fc6f0a840a4dd077ff868afe36320f1a110dffd68548c11e21fd8477bede3c78e1e4a7ca26430e5eeee0e21a533c786295f490c53606760dc72402cbcec9d27a3d64641d912092ad080454db44710512716a900cd131f452b2253d2d0c8d05ee1c485ecff09001620c30750dc03c6f86b3cf793c934dff8488d54634d151059a104de93f5500fb513e77123fda489dc77b2fb12d9dfc6fe2cbb229ddb258d5452565ae4d26d94d4be63bd60cd2604ac193dfc205f44a3480f3f1681352b0f551e95f2f0a31258537a14cbc3160f3f3681352f0f5d1e720fbf8dc09a96ff170fbf69005336a94ef27513291f366413fe4839489c2104eae0ef500d6548752b12c18f56c019f18b56c870c8058e3e9dead56ac98a4910e08c78c51543c8f023ab538d0409fc980238230a451d845690e1e3742ab662ce1070466c0221cb4f4e3c21c35f009c119df0991197805667c857d9a14e76f8bdea94cbf756837bc99c4b0b0ae762c22fddf293bf0b6ec5a1d650cc43b6875c1e66d34a7e6979aee55f5a9e33ade49677c1405abed4824d394af9e54bf9a5a5e5b977796971e1f00d985bbea5054b5f91a313b54073097713b513a1ff15d26d355169a5b4e4685296132c96ffdc889cb4e74ffa1467b4e73414f7028cf1ff9a6e36688eb887ba23783b821ffbd87d37f00736c6d1c61f984ef58a46ee9e29e546c28a3af8e779fbac8b9a1231fa7cefa12e2151892c6b6faf48bdeaa1ceb2ad468430a6ed166fd0dc4330c6bf7d68aeb8a7e82544c45ca3156fe00f4693afa7c917962426fd82e8c88beb61aed1465baff837474ce3c80b969cbdc0edd32787b75bedb54f7b2e3fcbfaa7c3ffe2bb71163d8772e3c71c188f84102f3ecbbea35395b5f69d5465ae7de7aa4c6adfb52aa3da775185bb1eeaeac38cf55ffdf61d23e5fe9b6136e5c836c3eaa8873a48633190feab6e391a5fb0877a0787f9b3fd364dd3a88a3f7b6120f6fbdd62530e1aed396ca2dcadf609325779621213cf532f30c77946604d97dcd4f8a7899295086c20f65f3757dfc214d6ddd8bdaeebc259851636ac89d055472881044ea8d04385a29494789be423b94d8d6615b3d765b19a516d6e72e4a4be5162abd2017ae965336aa251894f2cb283a4273e9db283f9c7cdc572c97c7cecd2bedf4adb833b638d36d218756cd4f10d881845a56101c053ff8e467d05c8fdf106667d10c0cd15461a84468912c56a805e17c71243fede0a1164a0ab0928604024c61821143058227f3019e6cfbb1eff1340b777fbfc48638c31c62232323e2f286ad26ac2e40746a7f416729b9061132f1c017f5a18377e4be8b0fb892db63f5fbad5344d9bf6a77d492fe5e8534bb18d310c1466814248294ef65681cc1e839cc6a04635116a948a4e914e7944f0070b3b5f0c924246768490bf269255dfa513c62fa23e999e2f32c94c1a65823216894be47692bf68c4456c22f7a44f4882ce95db64b336347b52fc59315cd8ba8eb85f0c0af21454f547214fe9b40d60cd50bf85f8e382b80ec271818e4230a6eb7f31085608b1693ee411e54f965dfcf1262d3148480657c6537d1bc88e61487c1ef5e34b8979c487180767088c305a81c30d0f61baa8ca6ee8388ef3bc1f9bb9e07a14f2a5943a37740d241fa64b22aafaa777981a4c97240331cf7ed29eec9f1e6a4ff64f6ce5f030ffd10c11f9493e0e1d29e87aff780a26078c9384c70d7f03c6f1877eaa384978e0f0308fe37fc3df879e82c138fd383cf63774eda4535ea5d4e261730ffba7871aa5bdc4eec7d667bf9bb9b8c24fa2f3218cb759ebf849fe673bfcddc7dfc3902fa40df8a3691dc7e1a976d227f92ef0d74fb27cc12ef8bb9e93e5b7e08f6b813f2792e5b394e4afe0cfc39f2f91e5a7e04f267319fe68f0853f196cf1e7e5af755cc73111316f18f6507b4da47774da937148c753f10978922fa594928a2c650bc6c85ed240fdd39e94fd4361ba19757474742091f6b2ceb08dced9922ef266d24072284b0925cbcfaea1262267cea2d63a9eea6e9d6e9d1ff9f0a21db4837efa2cb7137bb4e486266ad94bedf1e30e134dc4689a6f6d0f1e754a9bb6cff8a3bdd85b8e7844bee95314227ad9ddff6eef2f3323c48f325c7a33033dff1e417432d0eb41f3e40ebf18e7a38310a207eef18d83f871230495ed2fad86019a1c44500f1c34343fd6dd8978e0eeb5af266410e6a344d9d278aab9ab83d04f4e94ad1d22466956b34cf487a8aec73a13c53b7292e8bf9f446321494c3f6cdf4f87a83ae52f8c93f2389b0e5338c2e8c29f84c7ca8f9e47ff6894619cec2f9995cc6a05a7fced48d86fcf03fbed7aec29e6a17d0ac6d95efbeefeeb79f45f36eea83c4e121e9be90795efe7a1f28d7192d007eae181b303c71e3fd90de35c7f611cfbdd1887f417f6e127fb38f785645a2b1515dc011252514155db1e2ce57a9c243cb0df1e27c9f5f67b8471a2d0867192f0d8be314e04c258c4892d0cd402faa210867ba5baec936060ffb259ce35f1b8beffc232c8ca9f6c9f1265788311d990d8d80b32d8285b51d7dfafa4bda4f769342ae57134aaf44b20f728d24da35c1eba7808254368c3c3b8d3a8ff22197e9127770f6144d2a897874d340ac643181d4b1617c6bff81bb61b3ebba18b17060c18f826be3cfe179fc5971777b55abdbc98be4d2f30dfd0c9dc752f0f2383d1c50ba3c5c3cd64c23734728bef4d478a8e8f0c728bff16ffe25f5e3e7be9e26df1a262240a14e496875b8b16f88626b77c6f3a548c4471822c730b189dcc2f3ad89e0d5d8b377d165b3e8b9aa9a505dfcc64959520276021aba81089efa27bf916f1aab45051692cb30acca64ee6970eb6e7d2b164d1d272573e8b5acbca0abe9191472d327892833c1a3de15abc4abc23952e488f462412ce2b32b720fde857563e5be9e25d2191b06f0c6bc284258b8bbd36cabeb1ec5b9258b220916e468289e20434c8327ce322f7b7111a236f38dab248bb371d045062891632a5321ae6d2964de577a4306757c792c5951faf7438c50da6c08194f37b9658b2b8339b34ae6ab7cc8ee36d92cde4cf1f7e5ba8c4fd6474641006c78846c10788a04a2227adf6c2326d1b91eeaffc0afe523ec68f43b211f5063faa24ed31c618638c31c618634af42c3801083a41ab20255cdc6ed0efa1ce5aa94e910a003df111a3c783ce9cb936bb3622cb8fde99071b4f592ce3a728838bad2437c8df5bcb92228bb0933279caf8ed915ea03da51b56bb27a1201ebdb5f8835ff17b30d78311c3fd3ec7f75454c10b3f2e4328434303c6c01f755ba7755987c9d896ad0cc27c52283bd19369716408850ba17542949c0c9db0862700c8d0096bf8c9ddbae21317dcaf573b45ea15ae96c9380d8dfb43299dcca4465ae2a6523ea56b9f26b5e0925870a16f3b7292c8bec52731fa16ed593e09d273db973e896b93a9e43a13c6d299306cfa81e5539e07cba73cf629182709867970ef8271529e7b1c9595ce24318fd2ab9878ac7ccaaf7c8a7c9716dff23c5a7ccbcb6f6979178c63927f5b1ec72431113c5cfee51b005539f65f300ececbbf603844d5e287a858d0705352b8213d4168be3eb31a0d5833531eeeec94ba212a969621aab85d582a51e2c63f92f29fec699f154f1b61b5c762b16edc1c71b756c06aa251df8d8c1c9fbe537ca4a789964ec81e920aeed738b27c520aaebbbda16923dd3b2aefdf453a95d239add3a88a8fa8e0fe2972bf8e44f1497b4e6a54854f03d6cc0cdf9ae142d933caa5066aafc7590f4ff459ba0b4ff44bdd4a072145d90c5f5a26daf34f22c95e6bed56fb345143e925ab6ed23f2dd4437546b96a5476e3f39c780821b2c4d2c8919497ac9d4ff6c86f512a7b74f876837efcf6fc69fd69f2b28c6e01d1da6a790a9e5876b7db3aad953f1919297487d866c141cc6422eda4b53f3cb417ff7b9585fc79b79fc8208c53f7205476d60cf7c51158f98b3b7147ded99f7d587b2fc77d3b78044142c1fde20ecb77762cd1b590e8b60df9df5e7bfeb209f793f14eb3423d00439e2f896e2eb5d732d00753c8137f34efac9e2cf10f71a3b37f0e694476ccc118ae558f688ec64c95a9ece165dd5a6a6d7577775ba9966558b3f3c391a3b4f0341feb6005b83ce52da2023e1af5c93c7d346ae223d7fb578007b671971da1b81ffce1edcd04a26ca70e98857cdd38e52dfbe953be1609eb0268690093401fe4aa063882950cb07e0162c1a500de11c024b8faa4871ae56fbf12352ae620ff029c013f4b245b9853a1645b9d641b866c9fb4e47edc1d6118638c05f7f30a8909152888665283347eb24f3b193fd99f3957c622b1afa43564759c247445a352febfe758d63e69093dad32319fac5b336d03026a40abe87bd7d3e327db56b69fe561d9af44d50a98aa6f71b6f7edd7a046a5bcfdda04d64c9dd27fd5c957b1c8b6e20ac452a2ab6e0ec198c90578b26fab15b2b5ef14cf1f3f01fd64fb168bfbcdf933a380a91e7eb2af823f2b45b6978a7905ef7126d93e290a5bbf060141bf02f9c9be17f9937eee4757fe43573056b71afd55201f46ffa2f2d89f32d69efdee4c3b728c70ff104e52c275a06c7f055bff69cffa123b9472b11c7559cea4fdef5485aa14d06e3680608c7dba825b317d8c63830ba6f082a295aae2f793fdf8130d45ac950aaa90f028515449fa1dcbd2aedab36fbb70bf0a648b50e98890f98b3c4578ca8bfc643fc5de91f5224fc93ecdd756259dbc83c980294aa44f96e6f4c95224608ca547401d6cec6887ee9cb265733232dedf8b876eccddc59c4d6d4906c2ba0ad49ea52b3fd9b719bc91a73d1b97a0ab4fc1748561f8ba3991a777b038b2dab39127dbc8132d908d53de30ec4ed96ee1f66b9ab59f758ee90ac6d8b75ab8d65a6bdf8b6c910ff08a7c7db4437894281b110c2c28a10a40414454186989ed72d26a2f2cd3b6202925c58e611a4f8fe3acfdea7f7bde6709d371890be3d578e9534c440b190fca509f068124e0caa72fe5f4a1cf47aeb16606c44c33dc7a1892e70799f28f5cf8fa07323974618cb7bb1bc77b49efa377d2e8f2a19b95d35f9b186e6ab59650f48c3a0ae18ea387d168d4347aa665e0e8fe928d82cd0ff7a19b966143d790b4b11677f4198dec9225ee7c7bbfce31be9c69207166567169a64c7bb3ceb4373fce0bd36099f6e6959961816a86009e604e40113a004f30bf6413ccf26688841350c16aedcd39e7954f8010de1eb9ce39e794555cf80eadb593c21b2f4f7b55d053203beef401745ea53d9479af5d6bacb1e5a68394678e6834edd1d03e6e393a0dd3a0b18991fb7180336a401dfcdbc5a665d2f7c3c09aebfb491d0e3f61f53bfe9cb28a0e7afd38708840aeefdc8fed7e18d32f43815cdf369e69cf95906777b7a65d6d93208a828a2c9050842254045151d482e43b523691fd236c54d7d8ec1ee3924c5e968331b2fe17e3dfc525430e073803421deabbc09384b14dae6748f1d7e3f33c8b9ed10c7f3d72f6b1db6c604f276c1a31727ccdda7bb91938401de2d7efcd46cd14c3c098f8dd8d9769c6f067802c7f76444899eb942e3a53c4dc57e15e6bad983d471803eb0863e8c9582c84903eb41452fcc9dcb234da8312d3588b2d8c69a17c8aa5942429254d7c9bf6ceb396d249e9906944b765818c3fefd0ca08930bbfdaeba5bb13fdd15a6bad555251b656782d9669f6baae4bcb30d97f3d7c0b6bad104225725beb36a05b0dbb8345eefffec23609b9adfbe48ed05a6b6985f9c687b455144598a882a70a23a58eb1a15503a556c6f342e0445682a5b45a6bad6d6badb5d65a6b6d96c47cfb5811f6f67afb590eac89990bb2cd52908d205b6ba9ad6fabadb6da2ab1d711f335c58d19da8819eba4772edddaf7cee43f243bfefcb11a6d821208b3b56531ecb2f64950b8f1ed43184bcd90f5671d312adccf5a1d79e308fd2372b361db8b165b1803fd6f508c8f9878b46a7eab26c631422531f453d7f90b2f0fed8edd6954b42dbbc42e217f2c1396c7f65825d647fe74aa65a8248d36a5490b19a211080000003314000020140e074422915034221677dd1e14000f90a64878561a87510ea31832c620630c008001001000409b40014921e630d6905f10c067d846c645b945f220be3eed6ab24620bb07f1ed8bcd41ba791e32f05838ffdcee5657876ead22957b820c6318fd5e6f4b46b6ab1870ff7554b027c58d34035b88320f4955e52ddceb99b7ee2a1673a79771445dc2629114fadedfd030a3dd5ee43a06c5173c091ca38cdd9fdda260f1a63debba850c3dbb51ebd1e66ff1eefa96c366c9a1e0ed813b345ed65a10889f8831ec69777501761cfd70386705c802717a1fc5d8cbbd2fdfca8fd5af81e5e25759230acef0df59088029a7b0582b2a88e3de224941c1b1a20ddbed8eb95db0860c4f4fd25e6f8db2ed1cb6181286e916851798cb7a169166b75a15e77197817b10a74dc84f34f6ae1b7e98bd2c97e558bbf41911c9e4b0180e91633a0dd9f84940ba0e801d7fb148c876bb9faa2473e0696cff13e45a7b4b52577ab2d459c25f327cfc0e9a15309a03edd77a7db933a82182d07bb5e3affd32e9cc9da0da417eb71ddf22c9b160b8401dd9e1353dfc3ce5dabec718bbc85b7942eacf01b5be62fc4c06a02deca4ea481bc72097244768e84927b221fbcbe5e01bca913f07814e8b52df32a18ef7bbd91438dba3f38f5115c1c2cf7bcb60e70c1e08e8fdf01be5e06bc6da0cd9d95dcb9ab1de0f261fadd3e8aecf077b1fe31dbb4923b6ab90d61253fe709c97bab29277e1c0b775aac130e8958c6d493f079fe33becd769c7030103aea81ceab0e7ab257a17aee4b1a254c31d3225adf166f2a98c0c7041f660617ee87c6a82faecb939dc0df8d036b6ba9a4114a26fab67371c6acff3833e7853ad5a69560daacdf34373c1a9969dc6e8a671d869fa951e632e0bfe1ce8a45f53d1eb92879d26b6d639cfbec27a91dd6c043cd2a23e85a3cd4439004d54ac11fdfdb79a831a2bb83d88a22c09908b33f7a4b0d2c814efa53d2e47347fa4d65514a6a8fadeca461ed81a02817950769f5d6a0ecff4976937d92ae063a627f1d1e75c1fe68d277b5ee88b9a3ffc55509a3d25d125cb5eb0fce36d7efd0e29b2f4eb72c8420e717610db868b190d0e82d24ebb96c22c289fac9092fb62ffb8d0483e501fa0e36a5e86637bf4ff33b6427dc9caee77db2c97e366a846ad7fe7b062bf7cf76ca36d51a96710b707893a02f05b9b51f892d9f60128865c767759b58789ca129e3406490a45e08a640f6d6ac3a2009393f5648dddedfcd861a05a1f2ee74a3ac81634fd75e2f7857d9377e56ce9b151c1cdf09f1e50a4f8a16c30af117aaa29b8aefb3f4b777c357263b8b97e20f2287e663797d5f74cee86f97d5d62eb8f6c0642bce6f32b35f8ab1dff3631eab2927165af0fd885a54d2a4619b4a016c28a19735175efd29b1a1d6dea8dea706236d6910bb4c4f5bd71631f578e9f26a95dbeecb1093cb7ff5ed309f6b738749689c8e5996a492501e33aa1f7cdd399f3f516e2a942ed60806ba85bbffa92bb34924cfe0452ee214a230bab1f355bab319e0c1f895e6581bba63fa848efcb1cf390cb9ba5788dfd4ff0f4fb4f8dbfb7997f980e15a62abbcda84243dee4d90e8cf8c84d0e62611967b9f04ebf14f3a6ab56de78aabef54826fc297e9b03a5ca3be79c2413cb47d7fd06c27ccc7784f3285bdf2c8aeb8edfdbfc0ffafa33283a1db6b1201e742ad0bb41473ac1578bcc6fa6d03f5c74dd9bde9f7fbed10b8d25e6226ea425c860063e8a8c619b464d675b47c2e72176947f51562902ae836696d8badeb13e3f7669987fc28d498c2632e6db0eebf01640d48642f995b83982ca1b1b5e3b6843d31f81d37ad11e8a82ef223957afdcb167b5062d6b9e8171e91aebab1af6a002331e871d27a239b0a1797ebd634e840668ff41f164bacbfdd19bdf062bf762d363622f7f9adbe4afb0ec4192387a479236b6a5b8e3250ec69ecb7eb2768a4faf4d58619627d783dcc5fd99e0c739b0848eea6198e8f0f2f347bb6d4f49e10f3b215de129a02a0a26262de00b7984c972762d0382ed70ad0897c3ae559b9cfa80d6b956560742d68902c7974456dd5d797fc5dd95f757dc8b95c05f848fef9ad801c717a2217d3775141f48ffd626a49c9201079637b18ed3818242f01a2d6a59058ebf660bbceb3e11ae0bbce0b5838759d9469557dc4ab590a227ddda13cd86017f055541ef012d1e6921b1c0e17c921daf1c272d55edb82e904ea3e538f94f82b38151fbfbf260548a7a8ac07792a99f06d6e55290a15f163a14441e4968fac24fa7fa9d20feb78daa0142626a645247567c6ba1c54865ac8f79987d8d632c298e6bc187337d63006edf90524f5b2799d06b5beda2b55fade696cc891d4bf2c6abbc1b2ee80852caf0aa45860437783dfb75393d80d14f04ebafe1c477389e6545171e4da3523844e2c39ed0fa6efc1a448edb569dc70b502483a61ffe1140b94d403d82cbb9472013c600f331f6088b67063b85d788d9d91818afb2a37e37a449fee01c177930c4a2be939fab88fb8473e8d42fc9b0ecf1d0f072fb920898a476a30fb765ab027b4aeba1a3f86308bd3c0528872bf037f12e4da44aa6aad9979ad5bcb2f5096880cd71a10d0ba6e97c99ed36b70db095db40ea0ea8e77c818af267ccaa7486afb29cbd6083ce94453daccba668f86ada2e3c6977db3cf87c133e18cf01b0d197339a51e33c600ec60cfc8f498790d59959fddccdb5533ea7130d19d05ec501a472753d494c5c6277dfd61bfe654820f81f54a18b6970db0dbab32895413d85bd71a0d7fa48875c2b607450175b5764aa2b26b40b7c386d16f4abf14a79e5d95ad752f56d974490ffe6ea7733926ac98fbfc5464ec60ee63b4a9fac9c298210e336e4d5680719b1700f7d89f91b7975ad080eb8f724e4d25bbb9f539b71e7feb2018101073625418352a10011251d6b4fb14337d0a3c429ab1639055ef0badee72449ca528f03730ae999f20ca2e8071342423e4d8d389de79587fce97799f9477103f9971b530c16f6fcf91a72ddec33eea68f024626c7082dc135a9cbc51c5f8a6485ab287e13e3069b7ccbb6f3b62acf6ca8e0d42806155bb5f680467f3c29790e9d475374b061819781a0d2554fb23e10b63081d632c345dce9ec44cd645c45207148e7859eb1d194c43294c75c2d1beefd0fe2da8f60631f5486126d42174c0530830d277d94c4db4906cec516e98b95ac578b772bb57d372a9968fabec3fcb91355aabc495296e8712c1660acc267532b787e102ce2084083ef1480bf39ca9d5357a72ccedd8d3a78b3ffaca2e88e4fdc9f58b2846dc78643cc69a2259689f3b106285e3419399a1bf8a2f9e436c081d742c7f0a2dcc749e1def49a07b53ee9533f87378dd04c8ecae64f607eafaea09d2f44e4c3a43b63a96f326a6bafc478007f579852582ab5a44a0a56c48d47024e1c4ed60eb6779d9ecd268d937cb43bf2bd56aa5189f50d031f627031afaaffa4f16abb897f9801900370d8b7c37e6891d46773203bde1a7bc960c3a1a8c9ab9f8e48852680a0a7af3861c177bbc7d87f113d4e8fca8aa8cc135f98f3497955ba7247088459c934d6fe15a46ed97b21d8087fd68edf7ab49ab046060e60a0a0251720e40b20fb80aeafb92166daa259842e56048a0dcb221cb71bf51c6f53beeed17e8d02a4aeeabaa512fca010c9c213a9d2a6603e35a94b11a44174dd64c722ff6d4fd4481b084583d3bf5c70063f380345ac22e84303d9a819552a10eec98144147eaf49f94b9a98542921573a890873f3c576c15785acf186487353d25065476b9e37d8fb650d5a036d37752f907f80f53059ae2b3a5076930a83e13a1f6a33713c8e546e6bfa7774c31c0027b0741c62b97d2eeb591c9c2297f68ecf5d6f323ef837a63d025ad3bc96ca2c86c8a28e2b2ba2ded3469c5414fc7925dad8d315872cac1859adcc3c8b2d2a3e650a3e0000eb79820b70d2c57f9d794338f17fa47658a142026cc9476a6f02154797937818ee6092a5d29d024842a942102d48d7a9fa47ed9934bafa6ffaed0a56dee10231956e69a7bc90ade55af06ce354cc51ff50e9a97c9642b39499cb3d91adafea4e997f314041ee5a105a9dcc3104cadc842afc7913ca411f5b1d291daef3a132dfada47132ca3588880d7c60d337cf647bcea2440df68a1ea348e4dd7f911ded88599f53198cf0fe6b7e7c112010aab00fcf7545d2ab04c58d70661b2405189b0a11456c36257a6158f0a9d9d84af415e63b8b51e21cbfbf4322f6a2b686fd0eec95effa248ba8f470b12af786776e2b9fe721fb3c02841e75d30f734eb17a77e07dcc3e76f7cc3c4765afde65840b63a5a8565db4a1042e6bc0e553285f0ef174d3abbf16a505090576e19b37b12ebeff9b9e248f2b6ee7acbc405182b2c0660a0370931d4dce9b611233968dce6828f843c01f0306534ce23be12a5f7bc5efee8e0a0ca0de5248dc7812546ec57955d99611bdaab26d2e79d1ae05e70b3d0320cb7296e4b5029203cdf856127069a2b8b9c3a64afba078afc6c258dfca7de6254c654b7e89b44638d6f5aa0297ab08625add997ae77dd9f506f80fb9448503e00846c4c004f98accc938e83bce948b130053581ec39fd5c7a35cf500e7512500a72ff5c410c0d48808bddd6cab98ebac4c40c1b5aab622dd1416456df5c3a3a3deb92d6cf6923642ef3e67f2914b5dfd6463785c160c8632808fbb3a45b28b56d992b2710e8aa174eb3e9f239eebe64fa2415090e066a0ff581d13781bf003916e343d1d125b34014815d2034cf018c8e315f668d0071d79e82d4a8a2d42527d24aa08b5bb573d653a9bc3b1ff8c4839b0395db885f67101ca6202341f4b80319906a2aa0962180ab47e7bea5ca0e67649dfe62c14408a09906d572a76788e65fa5221290fbee7156969f1aa9379e6190a7f37c6181a31695f17204773e91da58b03a70283056d95ce71e0b95ee9404f998396694f2601f794b6727198844b1f5fb09eabf70ae1c023c8a15847918f914cac49d31b906f423f2126f316c5bd609b53a4e601e80d087b5d1f1d887f9c87051980077bf4e033a0da51fe2c2b34d6a5c07002d2817a602fe2b5b6ceaf38ed3f462caac387fd1f9467f41e1e1c2b425faa17d51bbfbe388544afa48b7e077b092507d325c20abcc508016643996e29d2866e3aa37c081d6df2b1204360c1168075203fbb5a934e69015bc60f3bd9245fd759e4d446c6c7803c94e8145ce3f32c504599d7ecd258aac8287322604ee104504b6e43552e25ee5adbcae851ad3571968cdc3728a6967666df1b9e4d4181f31f291ab93943b27ef57302fbc94d7537b9fdcb13608451ef7d4c168843ddc20e7ec18667f9a7450c0573dfb0bb6ef5769b7d0fd53426c8760c2ef025ccf2fc8d0cc19f606a490abf5861213639a141c7e272fc216d5bdf07348df093894222ccbd5f451b1f8606bbb59f68f36fcb8bee46a6ba33098a07ada85ea1fc307952eaeff248448e49082ae19e0e6d0f3cc6abff330c809ae8efd0f63f912a8d825d1bb1c18d4e8ff144b3fe9a717e0fbe0bd63fd13e42a3c0d5d2b6a9c1ac85b8fca52b5553da0ec829a0822b8851eea442a554ebf4ae83be35cc6fbc775bc5806169c6784d175d2f76807876ac78bbce0c5a7ef8c30dd88107b7cfd555ba16119b7c5862142d9e060d39a66be42529230c4e0981dc25ca7f7df7ba6128e28a48d02c0d41423236582fe88f694762f8f02857a929d9a9340a678c8b56fffee36a449e023d727aa4e9f9056e59c35565730b8bfa245b7d97d573384cec3f0d571f8a5ff33da1cd29c5265c40182ab5041281068d49b75c561712bd465f5d3599c5862f2ba42669bd197b9824f92a420df6945afb38028a3941e59420788c8a952209c4070b57a958d8332ca701e1e03252f1004c02624bd20152512a41a4664399a6b0d21781c196d416640212d3c1a0b029258fabeaa4e925dfbdeb05fe8bbd58c456ac622f16b18b4decc4bad8a9df77f85cbf2014b14608ddf9e4d07f7502925384892ca574061beb615e7641565b12050d9598cb57687039905dd4524dd324506f4db2663e7b118ecbadb32cfd9b77f5c53a5c2bf4c28f43a64b94111e952958f6ead327a57d4cdf167fd0ed3d5bff20e692fef5ba53f95002c78f348d9eee27bbc6b5b983e6f9654d711df83dc00534ae1f75fa68f1dbae08b466e35c4faeff7366eae898e70f0edd54c31008ba3720f13fe6aaeb73a89912916774075e85beab260d307116f1a10cb871e7832acbc623220a879e14456d60ad24b4bc7f7d79ba0c0c81d8f70541745ea40dd747e79b2f0b02a588bd8f2f05638ef9d70f8d08df33032106ac0615f6fc0909d4a10a0a810f3710d6c2ee94e5b06fb8c1421d55760925eca340a26466beb867a44e9fad5999478f9f92aa7cbd64cb5bab14e469b10ba5a69d3320e4f1787bab2faa21cf936bca87eb5db321eb65f68b1b592e9717bfabfe1b80238912e6118234dc19cf4e043487a7c4e85296f9267392d9ad722d8f38e5422a1e3b3b4c6598f4918bfcef9e68d2912b8afba7301d770b2d14a8757c3db854cc141e31d6357c58e793077545f81e694dec6d758c1f65a619bef39588f18b18dfeb9059459832e65ddc6fb7311a693ebfb63edbe60343fd2b3d800f0aecb5affcca612f748dcb7d342b9eb4a92a844d059112c57f035184a9d63fcf856c3dd52972b8884c1e87050b8f0735f065eda9e613ac62b8d46bf0d0ecc4fe3c2d7b6a885c9d0b011f46d21b80f32167ee2b071b35a613b1ce571e64c1ff0c655af167ac60a8f14800b1944420e1ee7fc0bb595178709658be6e63ce3e8f5b709eedd8f918905e6ecac98586847499f3294d721da6d12b441c0775af4e7a9d90367a67428ae52a58e45a376280a8c4e8548e4183b0c415b8425a255d1e7007ab01c43d633478b791d190cc262f1572bcf7be7642bf4fb713271a3451253565e7d32984509e1b7a0db5625f3e2c131e367f27484f22c6c18b9cfdcdbcc56e6f4c5682736f461d3fd0d9b196976f4be9fe4fe9450d2ca670eb6e8d129f7aae476f840db3ee8266eeb0d8f435bce241f49847fcbd60d8ede874df42553768337a634c0501ee9b601a9a11e87211f23c108ef314cd448b0646a9663562fa84e6522a6f8b418a2fe4cfca46fa1c08afcb57410f258392433521e05c35fae43f9194d1e921927897d7d884b908bb08cab323129ebe7ed7981d90d62e29cf38936dc12a039c38eb45d31d3b88b0db0fe25b4ff372a6e28499511c453671ff78de4534fd17a8a73673f11a8606a576f57e099a6846613e71b25732b59481950513326b1d5116e35bc56c842725fc0aa3e309975797efc2ed3d905e5d1192f0fced8a3b206a8e5f898e0bfa0ea1d291fb0a7b5907d6670139cc068cd56bec8ab25b7c926d3f677eaece4a57a728e3c5f738ec3e2a30d2b93c9d567bb5650ca7b5dc0e9791fb7119d67886854be8fcb735d240ba705dc5b7b50b7b0a6b18b10b05c5c0870265a8da81ba65b41eb7d938235e5701b70f3e4dde1f2b9066b1e4da3042aba168ae75a0d3a961dd3a06af71be982625929ef13e444b6045e80f33d4b63ca4209b8228cdc0d2d26d84400a063c540cb1a1ea66ab4dbb69aaf865964e1815a32b84618665d4026b7f58dd6294fa059bbabbb2fabcc7938865e8fd31e86e47febc52214d2c837cbd665b1da1d92f057caabbe0734df511bd2bd860a8f82f35f03ce50c2af82f3099fa47f76ff22540244438f69fdd1968efdaadf5804c08bb66dc69fe047bab142d77bffb0c09d9aaf31ebb169a9252a06b92fc98910ac636b4b2ebe62665be3b24ccfd48c81d43e68799de450ad54a3e4ee1e94a680483e366af0b7af45ea698fb635b9db68df1cbcd4639d17958d157d06550f7f67731d4d7a7ed2a99d1cd322da8e761fd74d54e50a08eaacc8a6eb4bf40f7a6f24bf9f4b89584dd0967bb53dabe90125e85d1a52663f3203ca56e6ff831681a1ebc682f913fce0df1279c3c609495b03e12acf7e03ad1aca9f46fcd15a15fa2b593dd5b0e6c6103df0f5a40adc804a8858529a2c262d5663019ab00cd26aac1e8133fab2ba7a641a5a553bb11314224dd57f1b127fa7cfeeb4555dc51a50085079a2e242b83d88cd26fd4115f41857f8dbb304f1f01df16f78fd4077c3c65e346bf458753407decb347e2156f6116ca8d52a0187517778827baacfe4ef4bec1aab5572ec0280f1fa7a7c1b67cb3514b16de1446215b2b83112fc21c07c195a3ee9f4dc481e903a366e98a1f9211763e0d0a640f1cdad85fa09514a0c028bf584e1573728ddbd38cb972211e69798aa333643e64b9fceacbf6de2abc2866058e20f48f486c8e91f2ec5afa005d5c27114ca4ae7f2ee62651fd3e56cb8dd239a185f2ba15be6df33172246a1105f70c098db28ef4c96db1c138a3ffb7554bf74a8ab3828416755c3e752248db582441f12352476efac35baf1da04555c304373afacae9b3c72d5109acf78230d9ffa33d91ae2e0caa2aac75959a68f27cca740f1c0a2725b79bbccd62c4fff489704f31849ba4b8f264e87e7d56533c3894c0d168c03af52014a37396dedb57aba32b61c2cad40ddd32377957da13a8d1a872f711a594feb42b1b00f00310cd381e28c3e7b6772f0bc7206e0c8915d146c04b1ee2ed6a9acc2eae12062c46b427eb1f8045e08d0b3748d540e51075f2b895f924f35756b1fb8a62125c105bbb703b530efc6202931fc475f9f822337fcdf8974accf4d62d4bb92f8946c3709edc567934d82c55d04646720abf042e3eb7501ed23fd854e616d3d2c7bb1a5ea039eee932a8c4a93a29eb8f43173efdfd92158a0879feffc4656c5095f95df87510193c852ec440b7a1a9dfc28d1bddb787dc582795e487db3da872605744cae5f190d9c525fd022bd1ea11005f53c07260c20da582c891fde04dff24ae965ba3cb031b0fb562983096e82d57b0ec5b102f9c755d6f137bb999ea920b5a83b028f38add5a9ac25275516ddae2314bcd95aa9595aae36de97ba7520bbb4ce6d9e41c975537de188ec636466d1fda168684c2fb4d5daa7a950ac734a10776eb1b1f5453274e7c50aa94f2572e72c1beb91f06ce701c70fbee6b6456330f6343cf90ee75a44a58f1da78dbf833f29d273736de9e5bba910371fb0e75e9a6108f7e6145a6d9c0b77848b005e6cac91b11e68d1e86d8141edfd6acad7951f2eb5d7401b958a1e6ca13d4c0821d5482b3950025607f283044a28880a852baf93490ce23165ed35544b66b7077147766369b11fed197ef2f9632a82a3cf6fefe2ea796c0216120be6488fa0718b7115a2438963e4799ae60bf00ce00e30a688ae16f5822138777719b5dc2c625226888ea413081bed0f04fcca8ebf8142dbe49f422da721e68cf2e6c868421ebdae0bf8f4aed614e71462c6781ef57afdba6650bb056b53a4fe9fe304ecc6782b5e54e6511ac0d317eacc511a77ded67b9911a509c4f3e896aba9792729cd46d7394e3586b8903445752ab8c59df02d596669feeaa93567f138060749f36f379a0658488fb773219261ee96e6482e5d106bc3ceaf1bc306e8150e094ed01990cfa7957417008bd88c77aae6356ead44934d46fab754f6a1f098d0140bb8196296a3d83bceba0da07702f3585d24bc3cd46e0c9cff3a17bb05290bb841da673a4ab9435ac8b5592ec4d16176db415ce8120eb9d439dfa072f7da4c6bc2c4d66832c4afea3f425b1dc5fd26546e702e19252d63656922d29d459d35ac5b6c7c2646540bbce140159ca3961e1219af47a53fb21a5c7f4d41bcecc416f06bd724059d0567844847a65b7c2e122a033ed126143e19e2b19bd0db8a597c690fc40858334009af20f8f168043014c82e540eee339f54c9d3540a46730f459e407e88938844766d18de8bbd140f6575566453e86e124129cd828d1fc8b49f2683402d3d8d4418cc21bcb81a2c9c22ce4a843516858c5fe94b5547c3ebd4ad9775499fcd19aa9dcd56cdf5889834fdafad36c0c1f332887bc8a0c7bf5d06ae301933185a8bcb09e7efd5cfd3aeac19c2301ecda171d13effd2b7b115782baf050ceb6c227f0f92995c8ce36e7c3a7125dd450ed43996efcf00816f5ea23833c63e734d6db4cfc6becb6964cf0e2f1667262885e490b67163cccc9b7a7db017fe89222ad6cc09554967c6a5628d521dea3dc5c4f5e86b41a2bca5c78fb80932c1402bd67bf3943b6862a93c93e874daa3b4527a802340feebfb33b579dc0fc8557afa668fa52a324ada47c4aa05d119578f3a4c81e487d957f50d8c0f384f4b36846b90b570cd0fdc48a48d4cb48a072a1a84193a8973c9f6eecc650c22d5a84ba288454bb61d9b31cb8c99d68af12be1b92fffdc5428c3d39c0fe7d57f2cc6a44b14e4266f8831ab6d6238554549c941dcb9f08d263d7eaf461b2e4d6ad9e20cc83ecb1eb496bcd02f533da13b104abc94041ed673c76e47469f4daff1cd0371bce90a7d69c981b45cfe5e624dc1b00dd62fee3b2897aebdadf3421787d7280c78e4c5274b456f90a3bea9d6746b52aa388e3bc16c3642742bb444939378bee0bd0538d7a86710eda6eef46f76161795a231a0f144903ba52707c575db3014d92c108c3856e9acde0e5c416cf5a6a54d0f3d15c24019fb67f7c00028cbad60480d00feda8162befac5a44df014cf8616d63be7f6196b6529cc13f6337a56b4582e0016209e5b9201eadc0561c8260ee946500b0c860f11a633e3c14985236fd76a7396d31cd614e54280f91d32cb2f5e84c1f0865034292d2d5b7c04f62246a39f034c71b870bc8a8b0c2692a7d368ca3f21de1a6eac1ce22d42a97f13d4de1bc2bd7b9ab5c9bb34aca7bd65ed4668cd210f2bf35682dde82893498ede057a0a62da29481a8191f6776282863189eb569fe34cea2bf565aeeab04adf2977cd3ce06971e6854c55f301002c6831c90d8674e9eb007367e1929ad4bc3c2446da650471bfe7ffc7e7e75b833484503480037872946fdd0dbc48d370b1924d1335b1b62f0834b68d9b61d5c8df17000a810ccfefb798413b41a2eb63c38a49408fc7a34dce7493a14aaa61337d55be40913cf3dae26fff8f8d44bd98f8c2b598e7cf815bbe0f5015de534874a3cdec40b5374f810346d6d45705a734e507b4777a76d15d35faa00e22530596e440434eb53db665d2b8d337f3b54a5e1d7526a0698de9e1a116c75813cdbf04c9af570759b91e5f104b1353dd7b0c631dcdff6dfbe1976ad1268a24f49af6b62efabca4eb0c9bd92270f4f43e793a45c7af53546431b71550b6cfcf36deb64b7973bd4d891a4987e98e1e5b44f3fea224f483ccb22d914c753be1fa2bdef8ec17c46e5b2d803e3149f119a2b713deb58b856358d00ed22a2fca755de86808f4439c21e9d11950a33727e47bccd7bcc0a940bd921612934ad2f86e3da403c4230f370ca24abc7b3c46fa12d063d0c40276c0b8563b0956bf6e752a08ce9375d71eb42e7f1dc696dbe2e72d9438e9a514e5493a221306a7e465d8cc776e1d172104ba2bb78f9add0a7a5a4d0225efd2892388e41e897a3e2e7bf1e2bc15a6aa671d22dd0e60314d141810c76303bb200e5dab1d6d6e5a059eab0b57da68133a768ad2a009a97468f4a16d7ec5bff9e6bcb177fccf470d8cf543f0903b263ec05d810a2b378f8db1349c0b40f142077168ba0c156f93a6e639226f8afc9a306ff15e990f169207029d6e7b0ad9c11f08c4f0236be9b81dd4b1c1d831bacfc77c075c549b7179ff90e07519460fcc76098074565a4202db9c95f8fa82e0789cfe1ed05f902854ae841c7cc29cdabe115db63f7fd0874e47a8dfcb9da9eee76b9048e8c6cd5ef08de4806b65ea7d1a9b71f633dd153d31ee31c4d4334941104e7f03239145db971098bed545b1101388770a1202ebe2678e6e80a42b070c05d90210fe24bae47fba14e2d76d77ac214c48e108f4126521d9fb736b98319c775ed5dac81011d85e845d6f804b8c52b7078affb63d6e045cc28ee197c02147d09227f5b3d180048ce1460ee639810581f9bca9070020b6815537735b7b507cb33387efb3c0cee53ca37659c0f0a7f015f36c13e4420698ed89c0551bc787f5b04f29bb21d1f8616e4d762b9c269787a45275cf50738199ee28b1434a5f3a67d5de72a69b86fd3c788ff617bebc3adbe75ccf21dc9d595f2d5f1e0d0c5b195226e26cb460fffe2a1d2619de7aabcb41db18328ca330094efd3120728b032c0f289b3f33606d4064fe2617604ad7f27fa6cea2d404025a2ce1c5c702a99342261c4a758d7e301053d265c3702a77c059cc68320d63f790671cc01fe897159a3389096815b2d96d1d48434fd69056dc8caf4849ccd096de39d393096688f20d51c50ec69ba40027f02ca5e85e06b04651ac19d50c5b52244c01fee542b79fa65ada38ae10ca4e762c48dc1bb4a99d20e76664d728f24030e3bf642eb1c04f0b19129428743fdbac9dbc62fe22c3ff4901af4fc2488aab80dc835088698bb9740ee42701bdd17a0f433edb59269cf310c880b4571fc721156e27583ec323f24963a5a504059fe5703c88e8dc697a6b518013d796410389ea5aa1e470d889db0c98dc3f03bcf86682a714d49b26b22560b0c731a7d43a81bbbd2ec96d825f242b00e083e4e2dc13a8fa5de6b8f1f8473163e1ce3c8df341e39456502b65bc6d1235efa69ba61bcba3f25e9ddf11b8e1f89c009c0a3720a79d42ddcfaa33e7299c19d0c371af09ea7c18b7d953ce6323f7b16b79e7d5784a98df340b749296533c526949e9854e11e5dd8bd20a47b545e93169fa2be862602e0f267e8a93d678a460f2b59db5852b8fb78f8d11aa99d2fb69ac0deb6cd2552550cb0111dab864ece2e5147c5dba50ebfb4ffe1c7bef3d43032e88423b6cc1f7e2b9bf0eef21c2bc61d7eb8338c5b934c18ae90673087d46050c23bfc68fd98220d95903e0e57ae74ad2e8ad192ab1279eea78cb9a209a407c512aaf500f3c75e82967a6a9aaaa50708fc961b34aaba0d98e37ed6f13f52ec6abcc04f38468311ac75c82bf68c8f8b58bcd1c3506a9732c3c448703c54b878b0239905a107769afd4fc0954296596d5ec5bb09fc584ced252f66d40cd1fa1814bc620969dff96e03063a62f2ef6904c585035daf95191777fe1c0f3fadb883014cb819622c468798800cd086e00d6146a9a2db2f733e957d3957e6ead940c1b213baa1b0e875f1db2d7aacc9a4eb241bd84b581d91db2de6a9228dc886170537c4ce859a10eae2555101f4cb0dfa0f38d92a7af53508c1cc55af31f7c64f7f65111bc44193447c9ad5f0f740d66e0a3f0ab69744db47750176ec3eace2ffa2a578a25e8f795368fba609f90c6dd2e1c7a6bc15116b4d7289643c5a0440c2287d889e4a825a4c4cf3effa37cd0df4c7ed967be41ae16a73a3b04c76a829c807a9c4184e548b977b775a159220899935af88d5c781ebc467c890fcad524b7a0781d3d78f2bfbe9ea283b981be3d7c4bc01c8b7f490e1e2319197d854834db27851f6c43dfa0cc277e2483db12f25f76796fed88dd1b08372c0eb1001bcb4efcde7ed4f6ee7654e13a3d57dd72beed36655814511a3c0d9a95731bfa6bd51712aea32cb02292bd55546c460728b71e7ea3632cc3dea25465cd47805f0fd3d23e6b03aec3c034a834db3bb2c018400ea7c1fb3eb1ef21b2080593d1d1e00fe35666335d68a2b6b022eb55464c7d42cc5197bc672567b7efdb700be3a73b45c63e1103b65531efc8b23fb90c1eea42e1e60ba21b552e174ef1537be8b7b055b4b5540dceaab39a19b5afd952d7f784c33c55e2ee2a39c4bfb240d7bfa92943370f558f07ef9ec4a6f09264f57ee9b40b0e7565924c4556f7af93840c7ed226ebe9bab599e9b51ed0587ab8f2c8dac98878c735f1a9e44f57e4c74a55b52a15fca73fe4c5a8549bafd8aeacd6362d7782fa153ed5ef3aafd4a0ea3a7812672b09e41d08d3bde95b82c8f3e3f28d2336a6143aff8434c311293188a55ecc522b662157bb1885d6c137b9372cfee27f5e42a536a7af353e0978d3e9b67b7de677408440b32bc0e74209a54efa51f40c674dca0797bea18d5ef0f9d596657fb029cbb234083dca54e3f109868810cbbdd111b8c8fa416f2832bcbd28d3bb43103b3fddea99800f8da2791646eeacec695667ff07fbd723aad4e498d0b329bc02ad7242d223d60352c31ed7b8c23d7649a6d01c87d0194ff3908f27b66d91a265931c1681039fc16f73e02c1b987f48cfcdc5f3f01709fbf7487709da679c7ec1a3b6cf9f45fbdfa18524a9a18054ea061381e02ad216c42d7c0bdb68b1de2da360c9021b86e18d0e36b0556015591e4125ed70ab0a54d6cad46e91081bbad8b56a22bbaffdc87408205511b128252ecd5c75a5593f7ac318fea0abaaa3e758185b0d7563d928a710e5a83a65a1de728fe7b741f1ae1620882e7d1d24c4b5b043a8e92097e8022e062712928a865c52ac875f298b43c75cd5f9d0ce9f8e0f467dbed0c1d9189ef8d56acaf352aa63c2f8c1c6beae34f6d3e51be52416643b6ff0b95071520029d0edf003a4073908e5d50796287c0a27c812b873042c2d0374ca9b386b73abb887875cc73354ccfc27248c09df600277bf0cfbd1755a5d02ce86658c6da8fda96798f22e19a70770a7e3a7649ab65f58c3fec4e68a70a389b8eb298f33b132b8c5fdb43e6f3d18378fe211aec8db327f88df047644174ddfdf154c664d1598a7d4c6589e11ae4379011afc8c8f42202226dabeb5ecb3ab47b6b732032e63c4bb8a61530f87b42309f58b85c69210361337725a6c76564759b5831cd8deee67de70cec27da6a07e487622b7093a9294c9b35ae8d58925c4dcfeb747b85627fbf0d33bf9541513fb986c5c934758e3ef8ebe09b6526a74a698ae5fa59edc2c8aa2fc0aa43f7a7ef4c80d9775552e057a63ada3f92e16853da025ce8df742821813270a6224ecf44b6c9c9f69cdd1185487220691c11baf0d7d1973d274e61e807d80fed8a930558e8ee44cf5e1ec68b9eb26964bad3cc280880b200244dd830cfcfaa608e33e4b4c3dd5d3456cfd263f32411e448a257662b768e222ffbb4e15a529b6a14ea04afd3d244e397be26e2fe6a600d3b04e0109234185264721321cfcaf18ba71a0ed90ffbfafb2be82ade4d4a84e41e4d5697dcbbf510436031bcd0de3929d036d96e5782a32bddf010c716999fbb2479207a3f0cce5d910754be644b9ac650f28b39acede1652d9bf43fe4808c6c14b8a72dbc81154d8a0cecfc6844a4ba8028d70e9bd87fe9bc27161f229c22dab73a85d9d761a4737dcaa0c0347e32d215fd56624f48d8094437d346c93838dd4ab64c58c074ba42a133181de88ea51246e290df714106e929e6372f4569f43e4a33ec76e9d2459604bb5d6abfa88c56546e7d213f83a85693ff2f985886f6885c74f6fe63c1ab2394b85b0033ecd4bf75a85ef321f3c6bd415383a0dbdc2e7d5d7952d69b67febf18d7aea13c23d743b2634b074cce7a90563d027f8b014cd2bb41ce294f9ab1ccc5d0c4b578a953f3bb63c3cc2125b86a9a78487d2e14131956b8d844be4028ba5e2041fde0ee9fe8003791554b90d65e01f4184b2234b89c4064dde9d4f82f9a3e86b08acdf5bd680d0440dc56e0736884487389627111e8363cd87703299381eff913b7e556a2745558007bb14af4430bd7c0db1660cbdc4648db2342b818d07311cd4fdc472cafce28d928ce8226207b81d6f839e9c6b47d1ef19979f755714fd6beb2eb197d3ed60c9c15c9d5916020f44cbae7d8796915348e2ebb4ee561975776410aa0e2613511eb395c85da1de363dfdcd3e8d3fde35035832b3a86776dc5f7f873422b8ffed6e516b160cd7f431f9de3445bc8d6c34df09a54de49d77045a71ad7801ff542e5028bdc28f29c8fbb2f2d7585c454fc8ed13b0014fc5a6352e791b47255b8769a04eacd5a11909da84e09493720ccc3f25b9bd085bb4526fc707150a181e10e20898b05b139ea859d9e831c9f316a24963a10dbbaf8277d3c9e25276ed4306e82053bd1ab49e911b11fb5915985cca92ff30b24961c83f9439b8f0c031c080f7032ac280f9ffb76c1ead212fefbceba4451bebe38890f8d05cf243ea3ce6cafa041afbeb0f415a994648cb6fc4f0f49deb025b1a9942cac180a33f63075aac22f6b13fd58f6d3d406084a27815676bda614df6f049ec1ec0367ef2d5848db619a0a83da1d1030a392f23d111e1d3a33eb2482278638075107f666adf841c9c36c42e53b4fab958b8fbfd4d1acac2ef50f108383084c624c6a364e0b28d61afd499eb216bfedd88c372e8689d8728403bc18067119729a37ea0e392af5dfda10b8651a7c25009743885847e9f236d01ac56bd8701a2b358ade9c7f5c562bc5c1efc162fe5b4e8763ffa4b444310a54ac19965fa83f232159cb627b8aa5478574a024e80acb2e0f148a9d6d5b1d4a3025d3fbe975cdc0728adfa5710387ecd6cd65da27a52ba4c1d64edda683cdbe7ce24d7b7a33538a6be3395a5fc2f1a19420ed0d5c1b83c0a5e593fd8d6be8dc5e1be15062360ebc73b7e5cc155992a92ea18dc60dbe78ee03dbff82bb1dfda4aba6e59aa817c02a925e50d10809a86521c4af4f49e810953ce42a4047697011a4eb147ca83aedc42df1607d1442d8d017891eb82f216f55dd520a8c456180a2dd3eda3435739362c6193ca6b129d1b486cdab0fb571e71cb933802633ae8353e41185ebb5059e95d6224ecfb689a097e9d8867a4a096762f873c24d0a5f6e78f3c3931bdefcf0e4c39717dedcf0e7843737fc39e1e7852ff7c302a71118ab00c3bc7b43854733fc8d3936e366f9bd8dc5cebad354fe25df69a771fd962c696c9725146a3defc19d933904b6181e79cb2087b4ecee85d090a7e03c7e34d32595032923c3a6f02569b6e76a515817b75b365dc5cb85d59243ac087da3b1e404e292ca5741c9d36e1fdccc38e7ae3744998d87c810a5d02514ea5c9aadb3c047dfc9246afbfd82369aa73185cef2255652f290597f5f1da34c774c194aacaaa0cdc8b816b08d8962861b6710466d3cbd3d92bc540355ec77d5822966b2bc81a616337d3bbc3f3f1d502ea7ea174455002f80905bb67edca60672c3236266dfe614d841381dda2b724375e1fed782cf9a5cf2b3c81d887c789950649016b9531652dccdf1a830e46414572a5e74c10dca815b937366a8be4861f44703d3beb015d138cf4ac171eb9ecf7f8447a38154e4a61656a8cd2c7bafd686a0cc366cd2f6fcf8fd2b122e1a416eedb46ff0450b318149394ab6218fdb89050193dfcb36aad02427ce2f78ade239535805eb27f567aedeea0be12ea8590103eb78622b68f174e8c2c0fb33fbc1c923ba03b63c3dabb9f6b1d6712c2a69bfeb686ba3e883d713b18aa998c546fcf8b42cd0131928a80effc553cd80d82545184e3182b8580636000a6a2c3fc37967cecc6b7bf69c3bdd26748e812c12b8806b0606fbe257a7c748da7250917359f9222484cf93ddff66093b2a7d09080e5acba64d444ac5f8a767681f99d864f7ec9c9c2987fe48512215c728466035ea7f6e457a0700fdae72d4f7484918b8fd5a9c8f53baca0d53669aa9e649f1d565b3bead056b85bef63e80e65fb41ef4e42fd4d3b08243e88a6a5891c858cc36a2f0f644541a6e30e3615156861b3eeab160c70705e9ab91962c8589d9aa4aa4918e112644e30b21d3123a096e5471a49f68c47fce2f1d67fac6d54c933964683b0e9979982e11f830ea38f3897527e82b2fdc836f75679cf509d39af010654010a75310710ebdd77bde89b7ebf70bce7f8ca23d2e5a3584a90f3efd7425fea88ed4595db27211d3fe9bd0fafe941750219a4c9bb645f1d61ba5ca38e17e763632e319d24604195b78772d143d24c39d888e40e8e1966b8eed06aeddfdde6235b5d78f00f772406d06b8a8691397ef5dc0e094e712196147fba857643b1084132610b5d31d55e4e7be447e22e2680d02256275dc03048d2db8793a65c7e2dc78b181a7b6981225a307187b5f6715245472e8b5c712dbe71d6c15740310bc665400709dac541dce58807cb64a0984b16a2122eac11c8e289c76291c068538e3e52ff5a66194a5c21df5f8d0315947f678f6f405b392e04693ef92b72bf4942f0c36d7136ed298d60639674d0f54066b1b3b0e5803908e73a0329e819dc443dce9b39c5a1c51f7115ca1bc2bf758999ec1ba211b1c66cf133d9844301c11b01f51a944bd080b270c75c6ea33de831028914bc40307562ba2422cb40390322d36f1009d953c8508bdfff8e879a167406a576f35332012a8a8be61129dd4670fa567844772e18f9ffc69f4df61308699bcc358c4d6782c6e202a9fec55817da62c50af35d80e025409715cc267527f7dc9f16f7d13d99243803c66ccbd6894c330434186634f8570679e1d05ba55b24a8e61117836f0e82de70954d386bf2b530a82134a455b8df172ef3d7c479f7718b9673b14aeda27654459484d06bc29e62809031203f30ec65b1d58eff1964493d5472606638939de49cc247b565eb222c77264caca9b724027d12cf16035c717c173a80645098b871230e7759adffa48768d1ab11598217ac2ede0281f0ac14f06dcae4d8866931607132f77835270f4b35a791875ac09433e64b8a24a7b95823f16923650a2f89f588cb6f28dc9aa21e2e9e41604b48560564f2c4de3867a72b9bde326464a36d6dbd895108d00cf65d7d724097d6c568056787584e2b26ef68bb33d4242e7d9c94d0436f7da3838c728603000ca8acaf054df6ba6db981e3f0a6e826435eef3cc02e11bc73b10cfbe1f30d2ab9e911048e44327ab331beb6d8e112e8ddc29b237c516241fb203df4a6888a9ca19aabc08a834a79d34bb0943ddfba6d95524fab7fdd3c5ff8ed94a888dba8e2e0f2960d90e7a4d8310e27eed3ad6bda0310aaff99605620c5140d4ba72f5619dcfc28ddb71edbfb729eb86bb8b67dc3546a68f199f89c54879133520de5f9494aff753d460a39d519e60b48f300b65f4832f36a3dd5768462f99191dc0b666500e39922142846e268e9b87398c1adecf3e4623a1df7c4b1dcc688698f8bdd5bdf4651c10acd138f297e4404b967ee901db71d8e1aa97343208a2c8550fef3346fcf390e947678c31993b5c0d4c4002f4689f83e6a5a46ad8e496f3b725c3b707a5c02eb6a57bc4407a8a31decd92dd158fc63f2c39523c0f379196f07f11a50f6f78e9755d7bbee819317bee809ae4af1de398e15cefdcfb3771144b1fbb59b644dcecf532c34cc95337a3edd19957646e2dcf5670157a7cea511f6aeba3b373576ed266de383e12fb6651df3c3110514a71d4d278563ee8aca2488817e18e1735091d4c46b0c3bb9134c8e1ccaabbd62e2609ed210da1ad1888cfac3a83e3eb21dbef35afa3583575d81d840e26318760c010009b11bf4955487e05bc3da241688ba962051823cbb29e5fc56a4abf843c516ca56aa9df65bd164c6dadc66cdc5d07b94e81d3aac5243036883e21d0a599400be10db7c78b80baa4ec00360170a04c2066994ba20ba02be85b8c143f3c7b760efd09311ce10cc0110b175821611dd9e7530c06a2394bea4a032f8d1efe507b117b1735d8c98814ccb4cec5c6342005326f81596a05f85b89d34c815a0aa4c6f7bc7640c91282b178b7c41e449053b92cf86ee17713c9ff0e6afc1e65ec0a87dcbd8ee7ce6742905b42af1dd5918ce5ccd7d4e80effbd170133fabcb49c3d45d55047a2c8af6896cf1dd406f64bd18096c957f1c09d8384833d942fa2c62ac14f8cb7b3c49838c8e50d198417f1ae339676c94d170c56f20c16e9cecebc65554a48b60a0301852fcb1bbea207ea08d64e2a0e505ffb4fea6b475ffd88fe94e2de231ffb38cd88a1cdadfdc65627b66807e7432f9306ea4a8b64f7b38d009abefa43281a0dbfd8e531bff6cfe6f99c48c9d53f460668b9b3d7731494365e5c5327ff0c3458e8881ae4c7c1f03dea2e09eaf12d19f5d85b9ecde248fb270979385a769cc754551102f39200319a6096ec0c20a6c88c6a5f70e5a8a1a1857c2fd563ecbad7ec7fd48fa5095be68e7c571881e552f9af5bb918e163197d4d927f2f1df7cf1b10d8393627f3848b87056f9c6e1e20551d0d81c0ca0b9914db6045423a115076c6a4ec507d07bbcb56dab140674aa27d113312dda6a1044111d1773bfd82f514105cf65faef41b46dc3ff527aae57f4f53b6238e29e667b3d5dfb7e77337b7b3e137bfe15a1b620609a454e240f18a122c3051e3949d12b36ab994c8cbe437780f442bac786d48871d54de750b335d9217cef0322b77f9a89716944308fe27ef3518e25e5f093c7961d190711360e7f7517b380eb67d427cab58b2da01a9fad1ebf4da2592a92575399a5524fd075ec748e85e34ecaf94a69e3d09c8dfcae858257d3c8f4ed41946a0af1127ee44884a8dd85429b19666b65f4e30a558d4e0dde8138abfd7f72982b599ac8982f786255844eea646aeb35c776a9046c178e60580d500ec4663758f881ec4fa27c4ba6cbd71151432d118180c2381faf206a4f06dfc178dc1a5ccf5d80ea7c82053933149744b6506af3003927ecacaf423416f09632ac75e057c8b762cd861b41c9e76cddabc5ef11e7317f516ce0d44f6846c85b00b198d3a2a80b3fd916f61340c55c2d3fbe81b841cb827dbf4612b9a4b5345a2122d1811fd9ef0cc1134507a473163464d3159c372b02c0b32f490ea475d526d3c20a557ea2b4670318f403c52815ad90a881723e0c86db80f4aed6dffd7dbfdf6f1989a6e95f333f12828658a7b01e167c5822e46f0496c2c1c16f7fe03d2d16d7a8c08b7626cdca0685b16877375e832361dbd5b8b720aa7a375eb365c6d4e479afa2fa253a185519a4aaf6a0837fea72c9d0e600b305961b7a421bfbd5ee6ea43a96cfb778a6c0d440fa12c8a0c46f01db593e8a58241a97cd5291762f832ddd7d0611507ca542a32c1b42e8ddbcdd7e2e7c8ad93f72ec77d72c80eec4fce30c174ccae826b15384d326e4dacdde0f036939691239a533dc8dbd61ce87aa41b6dc100716094cd10166c1b72cad93b90e443e7e2adf875b20b5cf28af5e481072698386b6902b4c1878783447e082c2926861114cb8a1bbd93c918f23f2af6d38c523760ab0930d5c8ed0f15616027b7fa1f15a268c100118c3fa4bea0389ae32f44ccedd23daba6f530a175d460fb11125419d5b97ca05898d6ece9a657f98c89b914991a3c997540c50005a057f19bcd03db290d4ebeac9f6f1f3ed89d48f0d240be13c420d7b3902ef966aa4497d6e34700e1761423844739be685ca582a521bdcf12d9eab31b45d6b90257df070e639ade2a5a8b38254ac8acf77da46dbbe7e81a66dcc6aafa327d914f913315272ee2c351f536422181e8d7611e553fa50b94224605d7977e0ae581c138dea0661be67e938f801507d1ab504bed5b90bf412181b0b3148077e903816181ff69335117d7024814e8614b77c8ca7af68345a7707b908014fef30b1d353129b2558af634a3f449696f51198b6bde0a88776356cdc7573e2b5b41e129dd3b20a41deed47183d1bf1855c16a69ff8e58ad10bfe6bc0267f443096b28a8e5f877d69a5a7e6ce81df25f1bd3e3ecd1db943f572a34d16dddb2452506152f165150ac50b97590d15b63467e55abad3efae8305133ff7b1a13fee21a0bb79a405e0d95249d84364dc943a3b3b4cd2d2cbfb592dd5f75c2076babec2f328d5918d5f182f708041111cd4a93421bb45c17b733f1e8befc33953a84c2e46e2ed78865738dda95fbc6eaec005d8638dbb920c6e1cce6845e176e7cb891ac68935cef0d71da8b603611dde9e9aee244c90330c1628eddecd51176558bd7c8e8a9dbf26a32004d9ac3a177c113739323705d2d24365a545a84d38f31722c044f6d98988007da817e670213a06606a09919979d0e4025bb70a4669e83cd2cf90d681095543d05929990b6494726c79be3f6a3f80f2860dcf23f8960bdb20bfd4f3edcbffe77d41c8d337284654bee2ce55289eb0d480267163ef2e8c818d1b1faedda9b1e82942e4fef05e97ab5616a3ba1e61ac423cbcd6611a83652fb10b3f36f4a28c4446890facac7486003a8b27e1d93b068206aaa69f934c54349e51f47800564fd8c56ceed686f5326b1df9142158f26ab02129b48453c02ede5bc9a6c44fc30eaef7f3962c3501f9726ba0ad99dfdb59f100873f4f68a60a056513f986ca2bd284baa3337d8170f480b87b01bc4d60805e21a69adcf392a2c91b825878a8d13aeaf1233afd8dbab780ec3a47ea8c82fed2e1b4928e9ab96f5bc0ba62d624912483693a5390b301fd6ea7d2d210f6ba1c832ea02b990e078dac4b7f5b3343ea20d000c7358b8943933619b3d093093be301b50742b599fcf3bcd1e3a9d4631f067e4827af230e6a554b0b52fee251e0ab04a830e068e42133f808c60a5811a6f1ac300b86e8950882b2a7d9330b284befe6d1899d7eada5fcfcd0780c79cebf0c27a60871dc6e4447a0a32fd9ce0607b96dad9f12f92a4392aa86445e653ce18e9a294485652d2ec1e2d0dc6f7731efa1e2435a260250c8262947771ba0b9c96cab2518d0b6e13a52215e8729e4ec04a21af0600006cd2652cf7fd24ba016e516451b2c65ce28d69aae3e71a5a3d5019f276bd7089b5536fb1c3c727cf594435d560f3dd09f7e8edd963219b8d6ea84cfba247fe0760d55039077ad398733c2352378aed2fd6342242f87c181c7a6a882462affbf959d0ef711d8de5983bd97296de7b43265871082a05e3b03e9289e71a7a054deaa79ef13b90ea97ff6ee104637fbf786a6853033107fce7668d3d046e20c2df0755d3ead65037a294afd9ac8661040d4eacbd157995b28f95dc8a8a70feb2b1d0e39d24cbea51c27c4c096d1e1a8a8fae19367958aae3569c501b11324ec6a9d13594692112e3d069933c18d8e30e75173674cce302f0940473a448076474f52045c9a27dfad25e4d2413712164eb93c6e9ff7fc15c9eab243ff4427fb1798967b0b9bc40a43a95d48bc22ceab48c02ad62de068aa044c56c7a3a1e43fd9de5b52944f7beac80efb5c92d1c817ca701677952cdc403998184794d1e23b243a70a4a3a0e70716f87007e31302117454bb0ef9829e6032ae24fa89098d87a39d3300fdcea1f61b78ba8cf859f86fb94337625c8a44b9564889afedbea4e1d21e4624158e9976c018816b10fe5440ccd41c2cc18e2b8b9834e046aa139641ad3006d1e68124c7e42a700faec7c42c8a817ef69e911146f5a88e96ca386405067f5dcedd9826d3cc325072ada06337017ce98c7332535f28140603498546e56e359b97fbc1bd54b1414d1d41cc671869d86a96f469460b80045f51ac822c2233c63b31e4e38b17c54f94d7e5a6c3e6a3557d4798cfb70e29c04804cb7390f57e73f1301ff40c636d748cc479f30ea72707510ea132091daea80f314de96916490a24c746857e0def435f4b7710800a3acc098472c59c8ab3053e84a34d81fb55733220922e270e48b1a4297191f05fed832696a0adb939692890155ea7cb718f4ec5c539394a3041e855460d59eade492eb78f3c3cb1e58b86b4707dd9fe76d2b27a817644ac0329ff4a209d1779c5efdf768b8eb5526b58f7ab100b923e197b04113951c87464099392953505d82552a072806fb172345a01f01204c7aff937a804c82567cd53881f651aa4dee0d0e732d82becbab594a402b11e1d300aa12de4aa35a7cb7ea116ac12ef8df278da750d6512d7307b1f36824f51490a7abfbf3c722b5584adb973abe53ed80862a9d184d3302e2c408809c715719bfd3a7b9c1f09f32ac6e4739cb5cd9ef0b97aba02fb314d50fd1c872c3f879275b7894d57e930e916483efe2fff89d7e3af51f95df1650130cd841f675682ea919fe31d485d2f77227b8038173b446df699aed3690c38a830c6db2c411a2f565d2b3ee5f30515e840bf3a4ca805da59d93c979794356425934ba474fa5bf4770a8be558919a6d8e8d514d34be58e297e75dae3c5ac9f2862daec0353594bcbbd666df70b6c93cc5f60132e63d3e84e4dfc793558b52d5e146ed71c5240fb9602ca4afe1a2b3a037a004afe455160d262650a5fbfbca03a52fd3a00bc087306472238d8854a39072e0b54c471cf9bb5f22b011ed701d595bd2c8c7ce1f55a83c4bf6a513aa2f5d6b5983a4188f6a28ab98f09946ed5d1ac3f409545026b0c1bc9bf3c8fea2e293de3e705c4f293fcc61e6dac6f127cac84bffd3ac45366437d973fa3d4df3a42a61fb5c97eb33a2235a1751843e5a8c8bd8c79aafe87dcfcc9353c9365e88082994c88ad581444d05cf10fa8eb8f327742a04009cbff348c88b93ab2dd629ed0c990b0f245678913b4b773759b65fe3782097de96d42097fdfefca369659f56c6d976e7f8a4fda0d11348fbf8e23a184e1b6d41830e01786d1abb4c317aa9e071fca97b5750e19464b93dae6c3d58d45e239a89c6eff721677ddfd413f38493e67c2837513e393c24a9e2bc2275c8431f1ba68a3a60dd97da688d12a99075d2958f3d59f156248f8901b87047551cf4443d740d5166931e881bc1ddfd0e22f8e8ab675d732f64f29008e1220d61c4fa92e476817f5d842765ac3fa7c8d6b823aca25cbf2268b26eddd518c15b9b380160f841e9ce59368918cbdcf173c392e593d40575a5d8b85012409783507b1e22a2c0a0260f86169fec1170e603de25732fe6aa50e1883ac743c2ec8e4b5f9187f64a79270451310099deba801dc7ac0aef70d5e6a4606879f59ec1fd265dd5ee182321860bc3449aff3068093eebcd4fed6f45815ca36c1af3b96b5cdeda67d31c4cf175e69f229b188a5568bb8ed7e5931b6105a223f2c6aa9250208ddc8a4f04a57df097fe4dce29f8f18020820aec2a86c56203976c4264db999447520c931368d51a392fe7c4363574255a06eac7152509cf4535dc23a764c65e8b028e129181b560ec4eac481f3dfdfd9e9672144c178c80a71d264dcf4e0e22856418d6fdc4f2918c4d9e5819f82ae31caee11503ba564bcbcd82bd247c61ed9bcfa6e2fb603b6df51376048bea797ccc0a78594a64eb0b20b0fd0c65e0063d6386aed14d1494d5ce5ecdc01a8406b012f9741736f88f2176d55f01faf804540153d3f76362e182e6da8d0b0492850424df2161933791923abe5b64dbafea5e620c5ac2725833e5372f069a49d8431b0fb9581fe2c4fcbd9c9725af749fa4130539a32311b0a313f533c31575bcec71d113313fa4dfde588baab1ee0706c11332729a50687baa49ca89d4b278209f619055face29bd25b34fa015351fd50bf025beafe77d9714dbbb52f3be61ee9c11e7a42fd7eb620ed837540f1dc5598bcf54aee91bc8fdbef66b48c27765b508a570b58d46993e06b37b69ad329240bf3652172fffdfa35a693bcab5e26ee29a8b329a68752f53407d5b852f195aa6183e6acbd97e42660d2a598085426da6793c13b37fab8b6dfa21581d5d9f92cc742c07659cc68b7a3b5aaf3a292424baa45109695f6465ae5482eef606e7eb820bb3badef4af6e0732d24c941352e4e6bb930ae8460bb090a04cef9e2f46e6c0c38966b891f97accd506d5ee40628b4eb4949627febf37ebf29c783a0b8eac5483839f65200f502b97bc1c1f962a839e4a8162133484103ed21cc359daf7211300a651031a23a78d0f9ef87470e6b569ff5b3f62fe209ab25963ec1ab75bbe27cc380506fe1c64e6ab3b9eee1704b57facc5a4a50fec658df6c0b85103568105e86570ae07a1e7c323daa44f573ab12e5d9caf79cdcf506868ec5ab5dcfd736e0a86e1cdb8cdb593fc6572b07baad045d389396347b4d34b3350c6c320194d4fbac10254c6f8096a20b671668104f1a9eec3d4b67246c0caeb8ddf961f7e29644022dabfd54955b3bdddc95db8eb2236a1d04d1da99afbd8504340061c0fc5d0b6e4753bab1784b156b97b393a742b521536fe4bce90e7c4efb963216205a8f061eef9e27d27f94d1d8232481294cddfeb820830dfc01f139b46314c7978b014579f0d23f205e559278e5e3325f22f00c3859704d2865a98f036d1c7c3b50f01b9237795a7da86b36a1949f570fa4c6952704677fab52debcae8101d57f2a446e1dec141f138a8b95cb3e3d162b89df15dd2729efbda3451305f495bca61099ff9f3c7486a61d7519e76a4967ebeab58c8a4287e2240934b10c69c972fbb63ea063baf42f211c7567e842fb71ff2a09d6c6458d116440ac85e7daa9cb89225008fb0041063bed388f64811a52fee1de00e96ad24c662f13581cf6f2018f33b4b5cfccde8be9a8361ebdea64c151ad12e8660ef6c2ea1edb6f93426667ec1b280d11d3f14caa02c7b680586fda56abf6ea854d2c7e7ec31f75b600a269b41aa90b286b9fc42950ae1840ec64a3973b1a5aa54ea0324df4473d94853195d450abc526dad414b38a2b33ad07eb7f4bc39a19f60a11c026220ebe125ed0ca18bcaad0ef5a5f7fc3be7ab7d4525d0e34c42b86b2cc7e344de3ded26c13b4bb4885b9d41a798b625439a35248761412dd1381920f6c7a4b4945843615231bf58ebf18ed7797754f0aef513b1a14dd5eed050bf2dbe3532857c34703910a84d7b057ff128d9da640366782fda17ad613ad5233b0372826177ada16abc97460efdb94e7d3e2288e90bd93a1369a6b4a49dc880c057588a88659af9b0a0b33142957b3574c844f924839f40891311c51354451d148722b9c63a6666959833f5da4cce37647a0170b66398a956e1468aab11d8d93fe49bb598d8944e6dee9690d32c8ee92ac58256a70b865195d158b598b3166b1d0f5767775499ac74d43fa7ec2b334a489fce0f8bdf5ea2ff4d59be8f7fcf58229280e777974e1123e572f99fea06f7d2b7a683577710e494ee0490eb729d508633d9a999b022abe0d202a780be6722c844201a92236dba6d796ddb669b465bb6dbab6ebb265afed7b6cdb69fb06db9b6cd56bdb7edbf4dab6df367ddbf5d9b6d7f63db6edb57d8fed7d6bc1bbee305fc2c7f3c5a42603e755e8ac7525160672bf3bd664651967842ffb03ef127f37dadbe371390ac98922ba3414103bed3188bc5ad7c38da5fde64fec081cbeb7f8ced72769428b81516189bd040a9809b5d19f2e0fc84691b61278c5e57396790835e315fa55ae854b91fd02f81300782e2ea5b7839ffb31de4b5fe6c02c18b4ebd80867d58bc040025eb4de9042b25a27a0e4143800917cb4975273b57ffc73b985f6e743992acab5efe636ef11a9f5c7d0dc6021587c552033544fff2bfd05990a3ca95b3573b4979ef371f39e65fa03e2328f3c8ecb7a59997c06b8180cc0729c68b8482fd9baf380371fcae1096877bbc48e0eb4116728420893e867bf90f2a33c0dbde9f8ae14a7fb2e31af398d97496c82831d48b4579893ba7225358e83223bff844e0ad913cd7ec2a22bb8a4e0a22eb60fe9169200c9a6a5b99fa87bd7d3e486c582d6aa0937ee2aabd5471b44af5ac62fa27c755bdc797ef96126113bd6649516f1c20ae668fc1916cce10177ca872ec467c8f8bd7e6182abad2354a93b8f81684671397f56145a58179f6a4db8cb577f43d345b985293c493c44d268ba9a1c638aee579eb338b764795f935c30f3efbad8aea8d480300986d71c2a72c9fd3f3d8c03471c2bb1f4596ea896976fd23938e84808eec03718ea2e3503bd095316f30dc5a3a7cd3fea11aef3fecd52bd5c959f07127e77bd4b773b2d7a2ab6d6148ac521a943d2abbfd538184384ba4814d9851626811a2426edd15abfe45b8d39deaabcf887951bfa4a6348364189d241730adbce1b84311470ef6c28013e3422b84f54d9c9840ee9a1d11b6645353edee8c7cf96ed0d9727f48c6870bbd2e81ab591fb848035e03c22636cf6c1205a20196cd8d995218b532dc999877e327be76f30e5234471fd12af57776193dbedef603319781da4c8c3580311c27a72d63a54b14fc8bfe64eb71884acd61cb2fe49ff4c4774b9134e81cc0b818a26c0f879fbf5c4de933db08648d20bc006150f49009341cb89a66d5e590359202a296a26aa3500b0c2ec30a8a4272487cfa2b0a5ca29b1e7c1ec10248378236d030caea17b24b12b75501e41ac2a32c31795473bd5ab440e33964b7ce6c220dc5fa8566c52094aed8029e7ae7810f4e1177c30e61ec46eba16dcdede6b552c674b6a5f6762ff8543bd6d1ec6447eb9ff4ea7abcd3c63e36f7f716ee14806345bbf6093f4c8276d87324e9904425949484747778f206edca926f53a68645035915e5ce27690d43ac1f84fb4bd5e035fe79bb742980a6494083faa5d417ed159181e31f0fee4ae35bc01fd89016ebbafe74b314551099d047eeda1b2e19436e467bd074cbadf41248e23b0dcbbad5bf9f682ade833e8fd58f2b18c2018dac2093b531bf6a30412b867a4e09d51aa38d3ca12cc0994dd16afd1be02422409ed750b24fceb3b043e72bf625cd50c4e9136019db5d59b3c725bfe896d98918541499029648ae453c31cdc92b700fb9c0fa1e61e29c05bd2ff2fd4ad30cfbdd8df1c5a5899089b83738e67ca6538f56d0519651d46c3ff7e412ca3da52f4b24ba8acdf88927ac44c42665151d5ad149c6a9c4533f12ef03715f0ff26b60ba2bf08c44fdfba0525329ba13e18f4b1267653c2730b2e496d394a4069e876407e36c07b924962b22075ab87115a30510ea88b8304c79786098e21f2a2905d6a45ae2273bcbd62de1b390f3d414c4a8778b0aa1a4f26234a06dc1574f86e63c3683c31fb15cb4b08a7fb9ad1756f526b3a802e805ea0364a73523b0e1a994f4b61f1a1e51218853c318b5d43e355371d1ea6da89d23bb07e6925c94004abfe9d915e7fa3f83881066db64fe977652259ced79b70235beed46758ceac994f3d271be7d4c3da4a3ff081236fab7d7e9a0c6471bac66266acaae2a67812c53d5e2bce01b3b3037b118d341933be72c724ace4e108deaad57c758518ff0e4e261ea2e3ebe9b10417e95c3cd6db2470e717f9d7a66f2371aa967cc9c8673813d852ba2516de3b5e685e1597927bc14cf9dccc4e840ec04b2847250571a04ac84e8bd9164bbfade60dbf058be0106746bdc69e52deb653c8b3c9942a2441a7d341822b629164c99e17696c774fb94c1de5ac3dd583517ab22d58f9382def07d3a557b0b039a2138ad833e2485a959177c973ff5d3db52035124c892471c77dba1937fb146352c642b416b63b20a5a7a45812e3bcf1589c71543a94d396ca2e79b884be0925fd500a473b8bb62845433eb1028d30527371481f015904015e8aaf80eddaf43cd91280a4e576da138d762b03fded07fe6fc37f3ee7198ab70b950d80b5f6d85c88bf55eec9fcba1cef76f1150d9a8b3aa84913bf83d050f020956fcc321b3d343356dee295000d4ddbc9dbe11d73b0b2c5134168698539e85214deae2801e7759b6efb50a2fb08f8877edd714b599123b8b986dec2be58f25035ea007a8b1002442c83a09126417161ef06134013b581bc1ce09b457d27ab3d752a6ad9099ce56a5cb4f7a3283ae40d88f00364b456697f851307aed135b9e7d03a27839fe56ba81151b3e30383294ca16e8adeb7f415674b0ee7ad64e182bfb6f18ea39e7c9981385ed7963d07d50ac7103a2cc51f86639017513d8bbc414e96c988e091b73df1ea898b6c482920cc6221847f93bddb08299cf93cfd566116400372ba48b2ab07c3c375e64a20c45046f9685795a1441b9b63799ce9fb45f499086ee6ab816b35cf3ea9cd6b96f3b48ae9987d8df740d9e5cb3e7ec0cb0b8776332fb55980c1da46851bd486c977e62526749945ed0cc36cafb177565c7b6e14a623607bcde990b35bed45c1bad6175e7bc76d890b1ef08cea2a4ea8b44f7a7f9d20239bbf289b7c5988d0931d2c1029338a8c2dccd40e986047a5a59031afb4b2aecf1395ce2e10a6a4b16e169052bb1d9ba2cf70c0b17e986f1397c477efb69f5cf8d40c438c28ff7f6524eade1a88d3ff25338a242b53b8df8b2afcaaba01b74fa8053e3f22fe641b5f8b6c3d7adf5c1541f77bcd8f500f3e9192934a97040ee0d5c695e1ad3b68607e51907b58aec8d85917b40c2eba5a4d76cf58683c7bb491d7eab1bdde48845d98d9828490b7d0c27f4bc329798094f328746abda2a80272cb5b6c45c7cabc3784296d1cb9f1b63f4369b0c8480b6f112bff0d70f36897f7600a50f4c575db9f139f571a68cc2dff70bce3defc0260dce3cddb3adc1d1bdf8beeb75162230dcb8a13fd2d27479b228e94be6bb6be1eec8ee1268f9fd7523ed1320dbcdb9a135afbbe48a5661fa3e9408449ea4009e908ef459f64a3f9d65076dae6c3f9d6129da25d925595b868714806bb5845ed58bb1309697b11d0b4b179b6a0e6844821dbaed13db5352aa9aaf4a04d87ac72cf06728c9dac78acc881541a8e69009998ca6c95ca3da055219762b9f856869fa8b6cfa955c96e360734807950adf51a44ebc5682b3f4a5610daf043e913737952347095c468f977c88f872eeae6a67c6c4356e0eae171f70aaac88eb3a3ca79e852d709bc589935256e777f1dbb4b54e41873da1db4798126d930391b38459059ff75a10ce92dcdbca6d395a8870d666cafda8f1b4b162f37ebeb47e584cc5996b1799664bbf1a28f13ce36287fa7f981bc35cd8bcb3446f96dbe326d2cb87c6ccbd612468b2d75b8d809ebb0ec4ccbaa20112667b309df91cdf45db04a787c942dc21d826cf6510a1e323f5fa3c684ae13199730e09d4b669fd303b692b3e1a66f19a6923c4c126f00233dbad18324e46eb91e2ac5ad448d429a635e02e05f971aa4981359771274846c6211bcd23b330cefd42ffc13c2acbe5fe8b6372d658164d4003695de36960f2f6955037edcaf9a84d88cfbd0d41bb44ed811d60070f9fdcfe81a22103e79f48336c570b36a4a18bc2a94138a29ca8b238e72380b0ed4e97c16a78e027eaeb99accf78599620c9e6ec42d63e201400c64233a2363b8d58afe620d8bedf585c3bf429622a05d89bc108181a0712d3eced1f262d60c80cbac573b4bf0377406a24fddc7b0915563adc9a138d3ced7c0e7a648d76778dc815daa8741009bf95eabef94a6212f9dba1daa37417be890b5ab65f6be0fcbfd65f444e5402dd2fc3faaef2345c8839d95d27ae879140396342973752bf78fad147adaba7d42e9dc641f48891cb8fb542025eccafc7ede783a048a4ac5e049e94274476dbfc1db8e34126661b896c01f261b9d4f45b0eba74d9529f5e684f3005c46032f1207ded353f16dfd2b0d1ae54fb879687cf3a31d072200bd2081f8bc52b47756fcc0582cdd4957051e722e7ff512a09d17e8c812031b912e732ffd217453a69ad01401d75dae7a4eb4720a54f0095b0e4129eed91832d63bd563eb59188ab3dacabc8bc95836cb6b5ba5efde2ce3fc08efc9598e27c9581afbde4f97c16d04aa8aa794cb2b5f099652be043433738d341882b9b4462ba78b61184b4f8cbe209c5da519631e3b70f0e302e85be6c49e5cc124b4d64b7d25723a8cf08b6b01e31dff5c68b3330385d8f3eb8fe2ff01fdc17ac23c070b646ee2ffd5c4632ea69391408d58a04840c3d152b463c97b62d147f74670d59c16d23d64ec2f0a44b33e6c25d140f5e871c59e64fcf0c10305ab928388d5a147ace0b54163db5834941c35bd53f343cc36f7d08d1048e772a465c2a0688f9c53ddad29c0d7682b2404266cc874c56d991fc4fb9ef2faae8c834e5cc8817f0f7db883f496f6098240e8ed027ff1e35d5b252ea1d0c227cc1766d63b7174b9e81940178d296091c88bde0b0c32534e3cb2f92d327a287d129819623c93d1735fd1ac749c6aef9296bf15d80fb6a00fae67621343b18abd58b0143a1462e18b10403ebe998f500257586f4d70524b26c48deb7f0098536af710ffaacfe5fce5ef3be68954dfc8950fda5adf4ded5e843a877c335cd1f60501224e1549106be9ab621101b6854fbad179d4c3f7258a7a15cbad787f1fe0b0bba454e3109551af803f213560c3e76fb2221fcd4534ca8c21eac908a405c43fe10308da606bcf4d19a23b0ffbc114cef6bab0bee2d80f6688c732b184d11dfd8f133f6039195aa8d16d2da0caa0c42d57a087028d898a2ee645cb2306cad23641bf608f630cc75405ef325b37633cc37e6adb6580a894f6cba356d438e11dd0057fea4fb47607ac8bf30d3cbcdb61b046f434db1de6dbddaf10d07acf48c156fa59770f925c181de8a33f02dc4d84c836d1aef325adc124da5cc086f5ea6af54b977ee7665d21e0a412df2ea9167579b04b2f64d9fcf57b2af809fe4be107e795019b1faf28da1aeb1ec701ae51dd805ce628e2c8a9098d61fcbf70624811b055a7fc3a8a9f8441dfbcaa63a64d103144a5eb505ee2449500a7d8c053d0554e3d132517c5ff33d5064f4da42951af4b16c2f02cc258ca1d201f4554b8b34138769286a0677a45e7cd15b306728edb5a8d9d340b27f9d0b0eda27ce4c7db50b967e5723d011678ceddc17289952fee3cd4187826c02528a62c3a1a37200a2e10b72e5d76825cac701bc7ae980a6b1620bba17f214f72356f511d3021d1b14b344250110e27b997d45bc2e92ebbb0c1821c2c4e2c2881e31c4e9a391f121901a678061b31b51721ec251811501b76d9cb409c245902053e6ce29312288efe2eb88df7aed0d9627544e02228f114486c89efba72884f5b70e7048e908f6a16d4d2a39f924785cdf511bc60b13b3e29085e37e3d6b336fa65fb157a4b605349baa82dd790946238df25144f508193fc71231872fb407b831ea3b7d67d0f4e9a3fe3cc85a601289fbd0d0565a2949ce07745f209e8e05fdefff6b6087413f987f0e1b066c6b2b1d6b3ab1ff702cc280b6ff94a331f19989bc70e4351961e81060f92b39f74e9ea12e6f52dd5f20eb18cba8ae43dea60095380bcaa4756d07bcbe473b5fe13f86ffa9089e96c8bb74f3e55c7d4b7b5a640380bee02919edfad7d02ad631bb2ab1c6b9e58657a3438b4208799068cb786997acaa53c54ff6e461c24a2a97e60d11c178ae660ad7437da8b2b283cc5af3f9ebb5555f08083f3e00977f5ba0e555934a5b139ac89a9f8a1a3430bba51a79e4a032838463d0f937e1ce31860bf3f125d994b692a5aa331a3a44eb1cfda71b0776934aa99e62c629c78c8d51c3662944f2efddb60d2466c9bdf5bfa06e7a976a7e49a94bbf737a80f1771e2ecfb4a3bcc22138cd1851e3200c0be394680dee37000e2da0cad6b258102b68908d55102eca0af11b55d1bf4f6b19912d69d8481f04b454d8289ad282e25c588ef5b41aa61e960cb61b207a0a8391b29453379e0b921172b98e328f7f4a1a0c69687c46d32ba4b962573d2c9cc991a3e45825a61463208b904d81bfd78dbe3aa19cc09c83eb607e748969e22ae7d4d7f7ca08808ce7f24c199f1a50e31fff9c1b9ded844b3dadf67f24b30f1f41ca1933f7104ed25438f3c5ce17b190896ca6744bef8d7e78c0e75f081668c4136fd03e78d9af6cd5b628bafd0c7e50ea280deabef30448a93f83e43c0279789f3ba62cf3eb3a32b1c3211657971c240d9f73fbd72f3fc565f0df9c7ab429057b5cfb7fb1ee604f4098f8d1ce382a0133947898fe813004207ae0b65912104e2d640b1ab8451bb4b3bef8ba8eaeb2ee201f30468348154ab0888a5a713456bd0990310dede3a5df0d115713ae2a6a9e16555a4e572ea059b6160c5d4647a7a6a88d7fdf0dd60213660e1c1c118763c9363784e891464fad159505d608c852cb67fd0f757cec67209b701f66ebb1d32ffd61d2d5e0d32a55fd176601314317447f60a9c4058c8192908d8ab46378fdd46ede9c4cdd299b95b66e3a0a51d320291441077e93701dd9248599388bfad45d7ad39b447c189b49846975eaf11a210528dde3473ed68d75339ce36c07365cee1aa41b336d56686a8cd5254192836170d559a35b2829faec2281104ebbbebac00d330173e0119a12068882165caaae59cbd50ec22a1b2120724422735e6ea69b157680c1421349d4253dced79ba2dc36a4ef0f270eec067eb10bd05afab4d825d8ea89f1b74602248a7955ecf6562573e9b69d44c492a5a6649218fcd605f326c3c23a989d451a673b773fc7fa78d7f53e478549c21b88da0e6860d54dd4bed0fbc236a1650e465cd414b10214eaa61e3d12202fa990e4b26261c67f92f6d199be0563f0b05ee8b612d78c7dcc640f3e806f8e0ff6ed5b2d0fcd1d9b61b58aa1e033c1200bbf1368bc0137b82d63cbda8a2df720f02290406071eaef4cb2323a66f6072a54633376464c5a4da73ba3712a80a779ec758a036950a23d7af271f1de5901f77379fb6c8b2cd73dad388dfb8c4902c220f37df09e9919dccb18c7934f37ecfe6d1ad0e4e416b09b3a83f2e1a0929cff81674cea07bded8cb0ed5bd1b7d1d13e4bb7d611da92ee94107743e77152e72ed87d64d21bfacf85219a22af70b06b4444039a8b3fdb1e321bcb950f44ab5b1c5d41aa0991c282be57f38fa8dd6e4bfa380aebb133be6bdd3ca244983c36185149df2714b35db55af7177669cac99db2c5a5653b04bbcc6db14f26a87571588aef7b6d073a2b574fdd93acff2e5e9b5db46b0481ca78db303d5bbfb474b1b8ef5267827106af379bff945cb9dda654cfdce50c57cd47445abe94da571715b9d78047d3f1115d7d5f5b6eaadb6c68112a4b6df90a6149395199909f741c8c2adb7c4990cb2d8c67bc07b57617a1e2d78b559cb813a0e53d553c118b0dd18e7f7e01e1d6126045824b110d156a968b36f0e40cff6988c86b9562ca6a5713fce46a6be99b4c24cd10bd4a42eaca61fc77ec4fa3df08e6351010980a56a02688c86d560d5fd3856bdccd15fc1fa21414cce839501ae04cfcd6564b38603cb86a5f8d387161d3f2f2a129869c8e2de3656a10dfe89e8b9490742882b859b0ff2d2d77a8f2fb5a3c47a06096a411562b210a3af59409cb72b6784f6b78e5dc6d0153a5682c52d5140c87a75e03f32d6b96141968cb4cd8e9ac17a423ec466f34ee2a5f942b45eb9c5eca4d79407d6f572894d03f9a1e24997d6c1f9eec85a5044856f8a0b36d3c3b047d69ede26142f7bace4ae0b721b9711671b838963d1ec639ed14bd07956203e553d990141e0b42b5303b2439f85e2db896e78c08293812274f9900a1ded5ceec10c40192f117fd18e6ad9bb12ef25605d7d6df6de589ae29cc3131829f1ee60a8aff9f18fb6f78e5d1f6c93a7c30bd1ab058689288c677323244ddbd08d8e8db18137bef49186f396554a721641cf1fc731a938ea8f8accb9115180d2701dfe331d8a8109a226e50174e13939481bd831bfc08187117f409acb5673885572ed49574f0e9e80e4316c7b773b98757bcd8d786aeb3aab1d036ac0f755ebba0600a2765f1b7b5332109b1dc4b492e52c8cdd3fe84d6f727aaac6306209b59d28bd8e31d23090bc7d0bb51aa4353805bca8df484ae3f2b65c80575ee29b81b5cf0f2b432904bdf8214062c024d773f8b230abbd74ea35728686b8853d441dfc30272726891944e0336d18abe29e9c582db3aaf372f1c03354faf6feafce273da3e92da332b9563b1e0f98e1a7d80c1782cea415f86164f864324bab9147b739c3044939b62280ae3af74b594b39cd3f314a4b5ee9b68f208b72f6c9e827fbaa93054c90c96dfb1bb75b93dac8046e3de95b8d9351b817671ced84b6b67b9cfef5521dbf35c979a643e751978ab3866f177f4fe0f6868feedbc2ca79060263b737092c1604f773ffee9cd866efb4b36f851398a89881687c59aef78cfb8d7bd5fa9ca852757f1bc2d6808aaa1e9fd212ef6c7c274775425260fa0878951dcc0058e1c458320d3cdc51a5ca5fb4d96aad21c86543d32c6009f074481b8b9c226ec4fab056333cd330f562f829b35ffdb767fddf97566669ada092a1a416f6480049d321c85cb9332557f8a2d31553d21424292ef3c97d4e687d66490a56a169422e579f5c8a08c45d827e453db5534dc5924b9e0e3e711ff67accf7d6d85456ecf4dbb9a33ada4b3da4f340f3084f08f50a7ab7b2591ae9ec2d3c29cdb7edd62e0065e978d868332cb08c96d6a3713b8a0426cf825da16de418c6a613717a5cad38b4976404ae0931d7c1fb1889da5148311292681afb970c3d60650f44e6d8ef1517397c866070cd7678c5da16f9ac92da77ca7909bbd54d13a7410c150852d34500b555a8bd60ac4263b023415c91b0a659d2d6a0119f90e26aba8905106f381b602ae65ddbb452bda158dfb7cf1a557b938e5851e9291695f25711153e53701320e9afc5f5bbe5d35818e098af9c4b40aa3cde1f3f815c92eccf295bc391c876a9f90cdd9728f8f845c052387a572a842276d72048b68bbcc913a0cd422c3c8df6c3b22a26a1163b472b43fd1c7494c2509403dee5f1f291e40d440e7c5697784ee11db83c2736862884ac74a68219e61c464e2d970035383c155ae12355980c0e4b318716040c34dabc82792032197ccf7864dbfd29b8989eac14f37bc3765ab45c3d823fc4cd40c43abe959b2071475cba2e7b68012a5816add0f213dca808abc8989128d833a31664bebacb4f2be277b6059d2e081210a2e5aed9fde6024ac5714a6ff04045def95927ae5119286c442d9289fd09d2fab26c7b95ba893b648ed58dedd889e1c639bac0f54004f039372293631dab9078211f147804f443776bd73fcd6a719b86bbe0fa9ed7e0018b977e517fcd82a0f601e978e5cac92da359356bbd5d95c57e6666ab4ea9c3e0e868a240004e8b9951796efcfac54b23e5720ee5a15bce1cc73238dcb8186679aa190a07734bb247c702808fd86fd1d059fca90061ff57866ab185019a0e20cd8349ebf4b56692c88432a2feac41f4974e8297de9638c790db80ae11a82c1fc749f6faa00e09b197e91cdf2e0254724e867f30c172147f4d6e8370f56ce39879b1d8fa1fc6570575bc61a29fe03d0282e9dd1818659f8f932d9892a900edfe08c8e5d15b40bf9546e8d08c2cf5da75b06cb6225490cf8338cea55c3c3e86cc25871a4b22fb0a7da9ca9428cfc54f198bcd495828b86388c837b0ea44df633a2979e6e69cff302c3568dce2273660d28a32173846c8fc0341cd99553ad27bed47f39c0ff80e6c45dd4d9e4b78f13a7b897b4f5dd05316d9ba0d475788f5b865ccf4580063ba6e9f791969547f2c9dd1cdacc00c6358f909f05ab7096c103546ee7e2e14a6704b6823fb3bb29efb6f055774257126598ec115dc21dc4d714e95b2c8ade9ea182de3ca253413958c2176a024c311121c95d6bd9b97ce5e2cf4a0d633813e45ed1866483ceb05ff55bb40bb91d3841c61982524ab5fa932ea5564dfea70ddf9cfd97a10bfc97925b072b9e12a4ffb4d6cc16343470a14ec1fb1fb2238427e533570e2acd0a567c9afff0fd81842b1daac4f758692cfee8a0483936187c14a258c9d58b4b583ab75e44de82bd31583cc7db0448e2bb3ed736674d67559ca047b0d20b8e557ffaaf122e0ac35bad9b25def8c19d1f2ceeb91409dbe6fbaaaedb6323ca95d0aa6d252221174315cbecf364746269dcc101912d87e1640ce66df7b67317ee69ef6d37b1de7e36453fbc5102f336703bd371ef7aa78f32d069ba4d16d6bba031397a7459c9bbd3802004811aa97836c0c33d6ac0b0f24d1a4b6f5af47f6b049f63551a7a4a366042e77b4c858e6e7d2aa58374bf01e5b61932cbf8b81c0265d4e4e04e0e9e7ea65df62bc8ee9bb9d668c1684c4c1661238c32e53bc2fc76ee5a5324b1d95f7b30c0276672575889b7930f92ea876028139a9067bf8ab1c2f46a6396c162d3ac2b071383169049aa03fd15cff377da1a517d9b2c513afd23d25d4f829373a62f7314a3344e0e0c56d78e60e308bd682c7c690d0631d3b0a005949b42ce701faaeb72f3caee93cad77c2ef62177ffb55e3a23b4b6fff77ec1f81603ddf30d829e5a480711cea96cbea2ba8161cf81412fd45e1cf033d50ee36bf47cc04b2d8741b5fd312b859eca7fa32a1edb89a17ec693bcdaed88504d8df53985e573e15a5c6c6eed4f8f403d655ff4e05008b5767b115ac95af3e5d49949b035a063b945a405855693a0ab70b425f6e119a0e6d87b7c3bb9ea83c6179841cb56aabb5d57c1fb26f6ea466552beec3f7b594e97b1b675922742fd003b4ab9ac02bfdac4068208ddbc8726aedf7f27c6d53bbafdfba8990511311217b4bb903fd08570911093a94fefb5ed3cc2dffb6ae238f1b98d497328a77f1b08e3f6e523aeec872d1ead0fbe9d0db7296a75479b7169bf29aa627557a5dd411e7b29cab238fcbe27533ac65d022b93ab3bbc1dab0886e785a79dcef1ba843af28b61de9ef36f923aab76c0879959c2bcbfb86ecc20dc53ac4bcd73b1d7ab5c7d4558cc3f88b7a811896887618d607009ec3b9030200f66483bdc9c19e70c03c5561e40f8e00ba6165b941a40e63775ef2544a675ed35568c4181314f84d7bb6bd3b860e5ff1b33af36a26ffbe491521c422263c2000918c9ac886f48c8dc42ddddae0293809dc4dbb6276d9897608ec9aec035c6e6847216ec9ee70b9acd39ca6bdd831bb1d0fa8776f71541d77b8b8d85bbc869ac48b3abab87dfe6166e6162c6a92291a353f1780d847f619727119498b2099d8c2b6b0e36f0bdbe2b2675a9c76335a5806398887346a62ac448b4a2f8b2aaf787e58631a15863c43a4911dd248f8e621fc0364d1cd092d07f112358680b2e826e17315cc4b946801c09498eaa972db8c8febd662f7b6f566fa574f2d964a2dafa98e3b77f4aed37734caae4b3d274196957327a497f8dab40ce973e5ff533ed28b82f2ee6e94bef2bdff7d3bf7d57a05f45b4ada88edc8d7ba1bfdef86f8f0df37517c18feb3444bc3f027ef58e70378d3b187767b3d978d369571e77ee7ee87ed6c4fa6f3c5773d991ebe4dd6c6c9f4f0e2bf6b272b1b2566262b1b15da71e7aba3781b822a37c0873607bcc9e6b48855a73f4b1bf5b7dcebdb91e58df2144b57ceb2f2951596d2b9fb61c58e3eb86ca475334eaec2426229a9d4d26df8aa7c9e8867cb724e85a5d65051f9e92742a4f8ae272fd571e7963e6edeece4e8e8134b0feb0aed6e9840d0caede4dec553cd2c9d5adcfe7d6304c08d249e4eefd391ec687c76ecad8e598f9bfaf65495fdb291fe6120056d117cc57fde6967a3af6873faa777c79d8dfe89a7bb576e842474d4753c5dac5cbf87d5c6f77dabf3c346623d8927dcc53afeb8a7cfce06a3ba6447efa7cb957b7c65b762479e7bb2271f9d65d4b9de691d7b5cefb68e3bd77b8d3943552add8c3a0456045f97d774adf4cace8674e2babc88be2e36c7fb8a731c73774d4b5944f7117cae44c2088a5c89841100dd9dbbd1ef1bada823bd2b569c697703cb6c57ef5bd5e91b7ae7eabda4de346a1ea6862fac0ffd3293483dac4e24e17355cafad09eadd1a89904cc670ac6de34d19c49d91af36b01482f9304fbd46abecaa95a63e5795bedb7055fd3dbc3709a2ebb0bc13a88efeffbbeef13edf67db58ff3bd6be657fb62053ff2e02420ac2576e45bf2ad9a4ce72e84c9c4dd74ab9b61b20c4e24970bc304f08bcd6e3a1387ca3ef54585a909689c466def54e5a1f93287bc6447f0d2b44cc9a7b8594e50a2d9440f593e8e10760a99469ddebe6f1f4d56a7afe99b1da7d065b1e5bc8dd9dd46969370b0d90bbb1da6c2bc7429675edc5eca9998a79cfec7d41715a64af972b2a38e754f5f798d52e9d68ef2c82dbddaa1d24f5eda8e92d299f7f4f0acf2f0640c208bca57c2e77ca7976d8e8a1df97be963c9262001ac033f04c39b6ccef7d9044ca1bb3d01fc622bf956b9921e3ba9ca2aae47a919299817200882292443788818f290f390ce267546c27d4682bae07f510441701aa05529ee2555a66aabb8b60ab4c0cfcf3bf879b927807590977b4fa1f05f0d4516959369fbc27b5b69856545a574da4c21287ef60134d706cd65ee7a37cdb5ac15777533504aa5b394fe523dcb4b1fb3d1fee4b2655ac695d7b31d537e72ee6e94ce12fe7b783e1756cefbb6bda5647a8b37be8b67317c87d587958b9f9b3d1903a8f20fe7077edbd3e9aba7d34dffb6f0a3189e4e56bce9a68bdfbe8be14b6af05d19bfabd89331809fbdb1f2cde6ac5cb4392ddf76a0eeb60375572c6d39b89d3b1b2dd65a9d79f995e5a4120b4ba9b9f4952c6d148b1d7d70d8a854fb965ed3f4b323a9c42f9d745249a512ca772e9d94a451484a3f2143493cca85c8cf54479c8bd2c2dbbb727357d3c39af21a2bb3bb7b4525e4b1283fa05c3c8a155f334d3d78db65b77917c56fa11d796e88435af96bcc99d451482bf674396d8b6551b1a3f8a74c2f41ddede0c3efb339db4571bbf89a4eb978942a73be8b38e3f7ed1b4d37f95673c4a03b8237d91da82b7edc81ba29073f79c58af29a8952bd97aabc27955e933af2f85c103c23993354258be09a5ddad9c88a2edbb1c6cda1df48f6013437e4a224bc621ffe1132245444124923b20809ffb04f2ac9ed181a7e0ccc901b8edfe971eef63ecc5fc4fc312f60525bddc123f0b20bed58e37e3340cdbad6f550011134818521f7b33b68ae750e1b79d66b9a3b7b8ac1e1e6ed1f0bc0ad86cd9ce10c14c5a7ece9267598c3d89d148f8a57006a9944223bec5301e8834d0a403e900dcd233801275d466b75e9396e4eb1baf208689802c695474083106e17e942cb60cf321014c52e623a1903d88dba081980409ac4d2675480d9478ae4d27397655956e758da7561e738ecd2ac791de33e6e302e76ed9cdd2c678dac4edf515f8f611d248cdbf4765d0fdb9d1d0defdb55f85a6b6f4e4e3aeb085e9e1d6ec6f4a8e674f3e0e9e831acc35802da3007d681bb354937423bf6ed46306ef8b1c476b7d39eba5fc76cccdf88b1388e74ec9ec7591f75376c0efce27a0eacc348b23a5c47633e8734278775332ecba08ce272a3d168341a756783bb96e51761fd0ed64b5e6e8e46c7bad1e7bdce99e7b88fb85f7dacfb48eff5af76df3c3bb29ec3f5eb5937e39adc9c7372a3b74acb5c1897638eceabdbb8afc3cecd6396751ad92ddbc746736473e01758ddac666baac8b286d1cfba7b90554c6b07cdc58e61fdcbb2403e0902272f5dc6fee181abb82c532c658a658a5a96b559d6466946337aeb3828bd5459584629b57cd00dc32cec98dda196dd2172639d9e526a7fc8f932c1a0223f9279b9a6c13c352d85626ada4688c826699996324e405cd71ec4e8dff92c65f075ed37a37fd7b56360f4ef3cb79e80d08efde63b773a01a11d3b8e8fe7d28e0657710242bb751cdfb76bb78e81afa6bb9b7102c23a761c963df5795438367b6a7b02e2ba751cd7add1718c7ca8387b733db33b44e477eccde8d933bb637d64d363dd5a1940aa2ec0abf96273cc97492d913e0f292492eba3b39039a3259933311f078dce7dfb1c51d79cd7053f5fe6332c1d137389366fe13a0fca1f9ef62d525266f659adb8a7513cc4bc9a664769d9c7f28acf2bf6e1d1d51e1800ad6766b8f2609218275cf91fd107e41548850c0c57be0957c6b8f236323708a000aefc19f9e7849de762dbb35fdfaaf603e4d99e26ca2cffb0bdec98b500b42c0b69947c4dd36a2253f2b3828d92753cb972ebef0944f76aeec1d0bd7030e2eb63d700a9e302dd1ce50b07f9723dc602608c9431ef75fec0f54c03431d0db8e4912329970e5d9635b907728685504f48020fe15e93873aeddb6fb4cdee10c9ecc86edfe1b4f3a8fa9a1220fd3c65464ed975d5258fdc8bb9884c5d11e06b81da112076797191eb98cb657328d116849d035f7c68993ec6e262d86de6cc76ec52ca1e04e062385c4c1ab93dab4c611fa9e6036e1d265fb05fdc37ed08d03adf51bc9888659f9f33a7cc9e80a09fbfa19f768748f61deed466f6867e7eda9dedd47ebe5ce7515d93daf470567e1600a78d41cd975fa6b07b5480f4dd25b4038eff225354e5ca39937dbe7f33dff3b237f399854d1c7327082a101559a96cb467972aa9e2ea5d3967680c15e0a45a8655f659a1b423403edf11859add4ca03152863524002c5c5905f98421f4200017283b13f10c4f815ffadc473632fac84547bc8f8ce47e53e09926faec08734736e2d9b1c51dd9c83b3bb2f0107f6188b1c072c7fee9a19f9f182003e40fc8512450226aa465468a044a449da04f5024d0212220bf05d0cf40f13f400cb02c6b06cd2566912ef4cc8bd064a2879ab83da3b078f64f0f75135fb8633b71bb7f664d5f130b433348a6fafd3367e60ce44bcf2ac43c019584f7fb38b8fd69e715640ac8a56100642bd9486662c78304e099133b8bcc97be000460f2274a44274860d8029c3077eca119345fb8888dcc205ac446b8a865ae9f9ffee1223652f9093662bd797251f3904635f8c448a3a04412a8fba77f6891d7254a10e10827785a4c08729909472e5b9dbe74c59ab7ac5bd39a76e49f01649bc39f575e8be7afc97c7a73f83c29d7ac4bf3849a506acdab7b06967791b03003b56ff3b86e34ea386ffb34300b31d2556299d09359e2ac65982d8a37f2a0dc79933b72052e7f54024ffe64f6bdd954275280d6b9c7b2348dea5f6500b523c07979695a8894292e228a4127261904f208af807fe685511d2db3a3077b92d94793978094310283ccc295920a57fe0072867d585c297f7272f9f2317048199c944133f6d9e611199909000c022af3619f3953f290849d54b1d1a665d9582f76adfacc6bdc76f9f86075944de079c1edb30f36b1ccc6902996190b104a19e3f665ceed4b08dcb6a04c31f87d314c28138d9a7341154e70c713610649414876334692096105053300c10723c28e8035810d6147c08630228c284ca952ca1c645ce9832b5f9a8f60d416b4d02c44ec0bf425f7781b996a1b920021848508c1e172968120b7251b89c66eb76cc20abec4ed6e6e8287dc6697212a20d1365cf99a9e33e0cb0f26c449170ec3192eb7052eb7f0790872a60757e1323f4126e1f279c8b2b55af6600849904a00e20203d81b6019c9bc059ee9c15a9032e8d81ee80ba0410c49b8fc1e738633f0628b8528e1ca4301088a2bb770e58190292986be9717408e91a9feb9689001dd691d992fddc14c042fa21e83ba32a6fb487347975dcda8ebac341d691929634f4074c68d6c3e318d0cfdb40cc744d6d9d1d4854bd456d6ee5dc793903b3ad7dd683472e2ceb76584899b59226837f2cc1dab3d023c7734b22377a7118c8698f79a7734fe18793a24eed83d4301384a2458455614d69196196937b26b75e4e171de4bf33c7beaa1ef9d46dfb3de796e57477abb8fb2733c97ab3a4dad9c91015db98267c45919a6d0149cb8e337806199a69d804e2398d674a451dd2390a62327a04635076404068c1c627280010306f3646cdd60b66571d2a298baa0e8ccea51a86ba82ca31826e7a9fc512e2edf05a594d229ad20b0a902207be18e239debce0f819331c0e6b4f063c6955e1eba3abab8dd394d14e2ee88d7e9cb5fdde1f29a0eeb100c86cf6c7cb3499c6efe5551451555a8c28bfbea283ebc04597845c3232607cae635621008749be7e77ecc5d59ce43488c93a02535a77232d9d3c9da1055c2cb46512ed3344e45e59c8a8dd2dfa854db4671dc683289e2c7fdfbbae5faba86dfaa586d845dba5eaae38ffbe5b823cb4d5687de94ca9d34da5c96538dc7338ee3714ddfdfa88d7b4d6777b31bd8a88dc5c49de521f7e24c5cee2fea0e8fea85ec70785429252e77beecc873c281c3617e93eddc8bea23f59d98bf384c3de1481d06277518eb23e629bec1dde438d46cbeb070e71b6e0363775805c3dc39081c9eba9c3629bbc32a09537de4f09d1f318f71005c76362f782a0fed23dfe0f0d46bbabb8179caeec41cc6f20dee26c661ac625c76336c784d57fa8775e4714ddccc6cb7f05dc57fa68d59be6a129ace72ee6c54bed6879331801ff7fd08428e306434daba6e9deb320cc08f04e0c84597ad4da3668dea03cb5bfc63013824c1908528740148b5936a251401032a221647d1333d302c9f2dde33292924c1162c7a609ebab9eda2c5bbee7071592e3b1e5afc84483f55b317805295ba6c14974a2513288a60c954c7d13d71c7c3ca4fb6c55758ec035cdc9c163f798bc354222c7e721614977b3a9d3eead3e9743af8759046adfca49eeee2f2b7d30e17f7012e7860f9c96bfa27bb31728079db71470c00e6cb7ca97f51b9b0b28f0f40be9bdc5c7688dcc03c751c0e63637cdafa18f54585a9b22f5529dbd1f8cebfec12be78ea7326657fc01c077b8117f629618c5da52e553096c8f61216ba8c64ce589b62573297cdbe576c867c8a6fb1a308b298aa170241f0fbbed390f7b317cf731fb6fca6bbd51e9775acdbf28755e5359daa5255a3655648a78fbfa5d208de52e9a7974eaab4512bb6a64717f764595e33596ed8b6b84adde12e3570b86d1cd2d8b9629bba614eefb759981a733b45213e9b1d0fdbb3cdf257faa98277dcb91feb4c175c177074b0eb4132e1054c18725d4a34bcaf784acb4bb5e5a796939fd48ff4fedfb8af5a8ac2e2f62f0898a7febd43d1a66c9bea9c5bdf9ea3a3de78f4c97471ccee7732d99bf0e2453bf2b8dbc38fdb36ab432dca377a377a7294b350142bff7a126923a5fc446a219d4e29a47327d2e99442ff5da6dc344b37cc56145b5eaa23785b9c2f6db39730e52c2929f61b75a84ce1f05918be2fce996cbe846304786ee97f8e0ebdffc892953e9e9c65a34ca364c7bea5ff9a2e865fd171c31c37bccac12a1ba56255bec2e386efabf4b8a11dc5b35c45c58ea6b39ca0fcb614dc758da8a43c3d3979cae94999a2bf9b96098559e8a279c4143285ac9e10c13c27fb6c7df0db87148f9a3619ce9c91e7dfc8f3ad733fb33bdc97f664cd1aec8ac1e8ad4dab99578ca4f2565b1ae84dd382f7fedee72140675ead56abee9e9c2462bda667bd31c17478f4c0b023e04aaa382123a06e8817f4ef12bc548d2c746be64bd7bca657f3a533ab03b339be7a9a603dbdaba7e9d5120ea302a497087ab51580dbb59734a9c6718427d911e9a13d7178ce9eb87f46a72bee56053b91573fa315774285ca847633d8022b99eacb3a7743602702b3a7cbf22a02d5e6c4eef0a84cec0e8f8af4f025958801a4aa67d3ec69b206a4945172fbec2365cc2046c16d16017f6064a13943ba0ce71fd6d3b40690aa9e9ed1b71e6efad4fe57b9c8e85369ab510a614058773b88315ba886691a867cd019eef8247a0cb639cb40b0c5ce3a8a79040a18d081ea07df60045a12e088babc034d0d1070a4a1a9e921440fcb3a8f1e568fb668687af0d041c2e7a1d3e302e7e4d123078e44c2639451dcded1c1512ca0656a30d330d3cc3999a3ab8bbdc5beb2a654ecf963837bd9392dbb8355d331fad7759a9aeb23cdf5ab8666071a9a1d6a686a9a86a6a647d985dbc7996717dcf11c1638211731a80f0320bf8b5c8eba0b8a6936024d44d4056836024d44213d341b8126a21120df6c049acc23f8c5a49114dce12e9f4774d13cc2b218ec446b1e11c5a5d70c5a6689d9cc94526a518acd397fcdd33a83ae6b898b8f70d31720c1042b9048eebcb25b6941d067f471001ce5d0440d7d1a40dd11ca450c0c9a1d741cd931da180a0e52112faa9cef28876af860738323448e7f3e233ac4aca28a6f03e075a901907db091d1180a9458c3071c15940b39c4500441b17dde75ca5070cd6181932aaf3bab3ea9c2b077cfe68cc93bbbf1129bbdd6f5b0dd2eeb688ce429dd36fa8deb2c78bd8df3b673ddb9d74c2f27fb8fdb795ee520ef4cfac6f1bd73dfb4675d68c7e6eab875d9bb8f9b052fcfce8f1eb7b3b67bdcdd0bea3e5a1e83f7461fb36f9b1dd96a233b6676e30e0b3392e56e755df78dbb772ef298ebc91840d22dcee6781c47b21c89f4556ee3ae71573703e3b44cd3344db3ec66752df9ac26072bb6595bd76da30e1db79f1b8dacf5d1ba6773b867df3e8edb473f785bb6d993f6eed676eb1dbd9d77ebd8123af4ea6874cff1b2aec3a875b5ad5edc56e9d5b2ab467ae5c650ccd83acbe2a19ee79d067f04bbae8eecc84bf0dc2db32e2be9d72544e084c6981e2d9caac79ca9a19d346df6123dddbd6a256e5f9b3c8a3b5ac50d5dece2d8245a881cad99687c55513b5fda9c736e76e4661632837f75d13c42abe2bb9a22ca7b89e2a79096b92ebee790582fe617ada3b8a34ecf2358074db35da479f35c43cb5259b582858b0d8cd33229ef79013047bbc53ef332d33677769c427a6cfd9d9473bd523eaf6e0f2bca5950cea8161555c51a5eaa6c9433cb6bfaa5da705465f11aaacb5bd4152c5b789da5b62aaca3a75479b94b08cef5ceb9a85c3619cdf4908dd24070da513bca761b2fe3c993274f31bc787e4e2bedb803e58d3b505d966526fda5508e2f8f9631bdb9924a4af7ed53fbccae9d387cf7ad86e1b4a7ebf3dee93aca3b4dd3b40be52876c4d146efa45939fcbc3e67f7ed06ca3dd6b4d3656da078567b58470fa5d338d4c22e3ca8d91cf12836e774edb38edbe9a4a9bca492c2292933653277de42edf39c1272d3d28d4ddc79b40c67fb24bcc9b9b0f230a93ac2ded1a87e98bdbbd470ee35badc39aa5c933bc7d1ac238ad3506c516cae7bb5f4694a11cf5269bf306a076ad3ae4cdbb44ceb6112afafbcc79c61b98a49bcba2f141692a765da9c9aa669b5b469f3dbf4b43ae25ced5eb5b15994395e2f390a4fd06577a0505be6837347d73167a8aae5b58e70119c651fd51e3bdab36f1575bbf3a8e3f265d6430a70fb2893ecb08b102b58aa363d707236a5d0c5b21e3bcdf2156701746bbaa659ccbbccd710a0bf826587c9a69d003b972d01b26ea9600d01e8d93658d32740cb748b54f5b314a834ea089cec70d428152227ace0ca3761e84a3b0436c5d5e97bb281225f72a51d2b70c51a4056cbe5f5faf1b7c5d24c239b916dc311c207040bd8b41f1bb54676b51fd0079bce8e3bb7bb576ba6895765a3bc775d87d5d26587bdef31336376e4f678ba8fb40ccf68ac9ad891e70631145e2dbdaba6d2310c8aaee3fa59dff3ce37a8519ec7c3f7ed5d51ec286e6fc951a3654c3f98b3ddba3a983d2136d3bb822855fc57bbb7d010df67516515c5f7f49268e9ceb1ec705ad5f29afeb0b7d456a1d411f6af8e3aeee79de35af41ef375a04b6d61d1b362a3b66e24afa87df44ed384c8f882dc4d34e55c4d3956f9e6309d2b713779d75838afaba38edb89ef6f27f15f7712ad0d1dd7fb66471db7df7527a188db0df15f27dacf6e4729fd2b7df3ce0fb792e7d91de2dd369b53fa67735844afc423ed9bc9b7d3c98e269cc9c471735c7326ee2627c7386e93ebcccb9948ee395a86f3de76343987d51c2615071322bd733db958471d571cc1cb71a388f26d133f94c77c55fc564bdeb6b56c228a953b448f4579e29d68efbae6505caa9c2f624bdd486ffee85f2d82aff7f63aed5df7ee5c77def7ae9e8ebbfdab363cf104e525173b9bbb43bcdd454fbb094f913b3aa98e3aeee83839aed5a1268be0ab691f551c21b4e76819feec71bb052703e076215cfa2d31de416fbbd7d5df4c3b8e102dd99c719145b72506c6262fbdd88a6a225facdb6a59d5fa7798c0d8b974be85b6a8b4250105ba499ca086eb73d9f9d770c7df2965d00842a7cd7ce9a14266f307e44cbb805ecaf0821ae00d30a38047c047b08f4c4d24c0511211015d47105d168d012f3a2faf5b6f9e36c7b2aeff5a6f6ba1e839abd68a6a19cbd2d1b2a8378adefba8e8a594b9acf081297841128de1cb5a86fb544268896b9471203337f25749dce59a39e2ba1b2377ef571dd511bc23f0ac7d203ded7ad8ee67190a7e413f3b1adfb173506cdd0c061b354dac8f608d7b8dfa5ccdae3a7217ae6e0643c1415cc43a043114ac83bc948f642de462756a1f0099b93b7265c7bfd796141cc447b868862ca2fd80238cdb6d83c3df0a1c25914d0dad07941fa5509681a028fe3607c1e720080a044b507406c994a5c765ef6e6a513f0aac62c7e86b40a0eceaab1643dfd82886c2800794d2a99d009417a25a688b93e06a25b9278b093ce4ce39e79c73ce39e79c73ceb9eaa1a95dccf214d7bce8bc32cb458a5873ce39e79c73ce19b404bb7cb2e0238ce4e533b361e686bb48b9b8c186ec05455f037d0b7a16f42ef418a5f416fd4529a594524a29a5f44427b5e64ce121f5813033c669e08f1b751e7fdca8f33e8fe39847230ee2d3b3628219c3acebbaaccbbaaecbbaac0bbbaecbbaacebbab85fccc72a69f44bfbb5fdbaae8b2f1ac4a76701fceb1876596662868129a594524a99524a29a594524a29a594524a29a5d4a2d4b22ccbb22ccbb22ccbe2203e3dab2528a5d4a294524a294dc350d0a522884f8f1269d05863664dcbb1008e378e378e63de362482f8f0a5d878e36d634622884f0faf72f0904b45087e1e73a3eeba42cbb240cbb22cebb32ccbb22ccb636ed45996655996655d9675912e92755d977559d77559977591aeebb22eebf2ae2efbc5bff8fb42520d7f55ec72bf38ed17a96ebf2ef0faae2b043f2482f8f4f0a5f0ce00ca73ec2501c769443479477184684814022a02140434849b6024e60a867e8ae60b9228660f37eae69443b289964474dad1c40ca049f77ca267661605d805910c738a213d41416e8340a7878f8fcf28c49d40f3a5818080805ee4f22831f204ddc9b3c49d433c42ba88c7e722992ffdf147172e0f08ee8f24777efc31c59d3cab3b797aeecc32105ccd15ff8711ede38f27eefc51747f1cb97365c71f42ae55c248e6adebd60e46724dacd8a87e493dd960b63cd3c89139914c131011810932f0246a99663000fd14e167763f700f7ca7d0fcc11c3262a465faf6e713474a72864b1045cbc82686503493dc0642c107ee4857b72d243e24b8230dd2b778f6e8ceefdcea7adbcfea661af7030866b7bb1fb0933e2bf6ab92ce15bba3f30f2db45af10f1affb085a0ec8698d3c89d478a8a18e11a99a5daabb072148d62c247c82789cf50460402215139487fb4aa39ea02aa0e1e43b38ba64ebff43b0b1a9a2b1a9a981814ea17c51312dd1df1ea7210eecaae87f9b3ba3c365e35aa7f98bf7ec07e599ea287165aad2ef75c57763d48a1d5ea2ea007165aad6e0e7ae7951d47d1cc0466b948110e35674e4a28efe7d0316752dee7d163ce9c54bef266797d2f61bfe27d1e3a13b578d7f046bd5fde36bcdf2b29e3ba61c6c53b9b2e6ea8291bea8b915b038b15b6d2796bbebe45caf9a2524db574624ff3f28e3f7eeeb8638946f5454f0a7004a989a7a45ba870a1d685cd64f2ba2eebb2da9add8d14a2f9c9b26e3080230ad577d1d9e4b300898bb9830f356ca64d8d57c5ccb21a9645db871a36d60e36560d1b39646353c387a1abbb19d7ac6143d3a8a11a477cb869191d544a29c52991681c60931bd663500dc6ccdf50790c0e84805d885d3caedb468fc12c0cbbb0cb12552aaf4a097255cc32a02eba1e73b516c0cb85458bf3dc6651db67be6077a9bdaa9c64be68cf6cd09b5d422ec63dccabd9796b6666c400541d740db180e8b1b79039e373c3e7a765a2f9829d66990562f482282fa9a53af22dfdab638ffba57ce42423cf45d92e12d95456de973b48c4cdcecdf5666d67da1d23b80a1591edd4feda564ce14fe1571e7ee5356d23bce9e14daf69903bcebca1bfa8d5ecb85d457634b68357cb88c0c1a7bfb1d4fab8ec0e112270d0ebd6b2e5acf5715969bf6b7553b1d421f866f7a8b8271ba7937e3a69b3271ba4af9cf4959231e5544f36483715316f0eca5197bb192642443518b53b367687c8cd759aa38b601fa5d08a8f926894453660d9af4a9fd520ae53bb83a2bf1e040d82579305af76805c659dfeaa3e2d4edf33b373dca43e7ed45befa108b02ecf6df975cba2d77fb8dcb2eee347cb2dbb6ae901d2e2d74f362deee3e2d5875a202d6e59395fb4dac3e82841a02e32118f4a8ee1516c76f0a57a628b9877445d936ae3bae06da81c345fb0bf542eb2a2b210c6a2c71db37a976a81b438ea2eaa110350f968612780b25245aa631d7332ab599d79334e82fd00b9e1f5e22348c203b9e172beccfbfdaa3bd781dcb0631dc80da737542306a0aae157f5b96e6f559fcbe73a3d587346cf5ae8a9bd75a93bf4d6bec5d6fe5fbbbb5b6c606e61167507c8a70db7e1b74ceda4b4dfd3c282f9dd2ddcdda2ee00b98a7ebea5e5b6c5027179cbb9edeaea3965f77979cba5ca88151688cb79543e7ea03edf63cf71dd9f383ddc734ebbba6e6fad8f1fa8d3b300af14e2c212d747880b4537e54aa12d08e14cbb73edf0a8e839abc3e999ff81e3f3b9aacfd508202ed68801a856dc7e561f3fae53bbbaaccf55a8b3380b7bcaaccd8afbbc582306a0f2b1e252652f5556350285b240569cb9a3c155aa6c9d956a9608678718c0d56c4e772974eb5b8e59ec59566416092ae2bada8e8f75fef5ef72cef858d6470d1ea7d9715e6d8801dc0e480de76776f43e76112035bcffd9d1b3455cb7b349d46027703d6b21f01ad922ae7bec1c346784b01edccc4666736c4e12d6b35f3c68368993f609f457d809f0377bd2ac4d9f57570addac4aa16bd509d453f65ff59459226eaccf136100ec441840aa863080545d9f7667079c2fd82d8b9d47356f5daab0894de03ad79dcd7fd53fabbcba2dbf6acbb3ca425776336cacb53c64be60af957fe60bf65716325fb0b75406ead59d3e20f62e3267ac63d7b1f710368fd163e7228c7691c723768b140f65aa2f7d4dcb2a4648145d0a8c99380aa58cac65585eb151fc0ed2455308c6016cbe5cc7ea8914605f9c2f170a753dcbc00b153367ac5fa7999685cc994daa2eebd4a667b3a739a4d9d3b428554d5f65b850dc4d05275dc64ce866d9c7d11c4251205fb26bb3847696d6812148197cdf466ef6ab5dd04d48192c6ef61e2265c89b750f6e76d9b17170b719dcec5f1010bbe601706ca00692daafc9006ca1069a33a56727cfde233bf6d04d32b38cf6d5cde02e4dbbc667902f190fddb52c2791a94caac606ba9ce4662d243bad8ca451d94bb58754b06b2d0828efc41a48a6b26b3100f90392432099062cd33d3bdb806546cfce4b9032deb3b313a44c076220652041cae09b1d67ce4855863d538d9d03641488b24ca6e166528a2356b8991d5909373be780b3b30cc06767119c3d20849b8d7c00da916770b3168ca34b339afd023fb087748cec5a0fc8e7aeeec69765cf468dca2e166437a3dd0988f993e3e89f6c4e4e4e384ae0a52afb8e72d0828dca9efdc4e4a7cfe24041b989c94b3ff90947e9272fd913e9c49ec24bd509f87d5f500e6a50f206c2c0d2bf932aaa51d945941a44e2292e780992de40a467248b81a5ef61ad695496dda4027550f82c04edd8456ed640e033f0b35ea010a8f4eb97c9939832453323000040009314000030140c874422816834204bbbee0d14800e99b24c74469967490e63c820608c01020000000000000422011b005617b319cef52753b7e82ef65442dff46b7aad7b543d8a75ce3ffb80408c753d2475e26917c15dfe21590a82d828de76808c7fc46f72dbc39d29a49e673ad96e1630f3af64c21ca15156389b487bfeb98df1ef753ec2e261be540f949d97b85eb6f8234bd4b25ab62ea3f16f1c4f38cd67780819ff94121ae6b0344bbdf3877631fe2dedbac6809858fd61d2eb6112d48c7ffb548dd22378b8fbd1ea02936a98b2f5d4b3aaeb5fcfbd1e727f9065c796ac0f119d6210889fb0265f8826c6e5cd6dae30fea1f49ba06f224700d9b0cd0c0235dfb482a8558f1e8133dd8a32681cdf01ac9f046218b72c70a6317eb54e840416bb1269e5bf5567e5cf5c6f37a61ec4348d720f8ee0f4aae80a5751404490d8a454194305ac6dbf91587c807e47000c636abf6c50bd50043b20f46eefd9a4e7b92e6ade6bf20e207ad28a38347d3dfb7768ae433a16cfcd86145102c76c8b85d1f7e659ed2a57b6e3162392a8eea3020be92e076ea88a19c9c056a11f81d9bfb3b557a352b69b0b01b8db47acc4cb433d93fd4fd66ad9e38fb46463daffa470a5cae5182b8c1f616f59f4a37d869da5c241b6b3b1de7d7ad500f42c1dba8641a3f1a8cfd320e8a8349b15e8bad83414da0d40ab21d0cf154fce2594132a6f5abe718a5d895e902fb1feca0a7abb0b25fef344f84560c9ccce842802af799d9804c0a56b95ac0ba2af4cf734f2f0f2f0320eb5ecaf2ea44a5db8597f82bc3d9ff37edd7a11e0cd46f3f9f30db96afb35f3fe3efb012149f50ad676e9d3ecb091568a7e216bcf13b4ec19ffc6a823937ff562095b45b8df8dcd14a7dc3803981459947e8307fcc2d37fa5babf16fe7b1a6ff63f95830a3d70b53db27a03fd6e684f8b1e19c8a4687a03bff0f45f51ddeaffe73f1f3b27ffb517f8d6ffdbfa134f1aff8f6e7aa7ffddc095f6bd775cd3eb3e4494a6e20787a00fa935e9b914f475c2047d23d06b04bade2d8386a0a3d06c56a0241ef921cb2a01341b0e5d43d0d1e85ccec4705af57bd4016e19da538eefa9863b1a9d6f167c831d5686d71b6fb17bdc5a8d1b063ca23d5a48ea5f504a807147594aeb5f80b2a2c5d77f21eb86b843b493a40396143cb46459ba5100ed18fd1fc3fc8a327501b8de0c1b60608e63fe177a95de21701d804beb96fff493bea78792e2e951549296c21221b5b2e36715c1532529da12bd2ad4fe21cbc651f0148e18a10696f813abc51c93a755bb9e0b214490e0132f323fc6e84e9462c058598ef7a343703e79410769b96afcb131ef896dbfca9137ffc6d6f3cc1fc1ef5c0ece27a4e683065f7d748f0ccd3dc2488da016d558775e0927eab813753d5e37ceab067873dc9471cb0269847b3b81c73cafab2ba2ccacb467c22dd3841d6638dfd0e8fffae50363c87211bf7c282381f29eff205148cd46ff224fb4cfa508b5ca26763b798de5b59f08c2f81f6dca0ac6c612e9f49dfc2d5d9c7e7ef7baec9b1e9144ed97c84668b0f2d02091ebee6fc7b7504f4c43371d2834b008dea4466b5c68bfc91df084e68625a1fb89babb8df12d0d3e473113e901731d06d7727e5b4961486f90571c8937794316036f97c1ad31df69fa0d913b6ca1d31f62b0ba3dd1f864fddce9a11596b7684e06ad1777222401af6b1766ec42c5b6ca6d1098ae953d503e0834e1cabd441c60fefaf82ae3eb5227ba3ec9374318e7f877bf5b7e8b84f86627e80e5b5f8e762056643fd45a499b79e7b068ad41b73ef004ab9babb4c8fa3a8d6750ed89337f508d0d5c534a5358ba52376e523a029046c3674643aa6140ecb16bb846c2f7e6e2b2c425ddf126d8f769c7cf9c29c37191c011c1590aabd8e242fa7d3c0f6f58592bac1c5796059dfad739a40fa07895f1dfe98eb7800db1b4822aa53edd8dbeedffb63320f72dad963c983eefed454c269e5325b1c421277e03c2c12de19b4a5c58621a8020f531bcc04b5bf0d60db5ec796d35ebcdae75c815ff56a59a14ea43b21512f296407e1b410407123018afcd27aa58cf2c8d8753024f83398ffacb4f1a700d4aa3a0c2ff3b885599c64e75b0a33f45a0a06a4e45cae4e92e792f91bc717db1d4d1153dca4e1c6fdef8a1cb3079b30a89feb9be6dcde6b6dda321366f5fa29531e9a349111cc99d155b9e56fb06cbce8e43473fa859f09cf63aeadb77883cfd43f3a4b5717c7cc00a7fd5f78253239e026a20f5da3f2a930789045b09cc21fa92d911c5839c0265e601f8d37a96157e89eeb0642f5ae184ac8ba8a8dfa8a6406546565a65144b77b669806897edcc8da24da887aecac2cc66c0a26667d70520f7a66e5ab6aa85907d37aa0d5084502b22e37d392b289069ac3061dca02847aff2afd5428335cfe0499387b85b9d8c5f1ad17c344cf92d64bdbc9f00cd5161396fb79b40b344f9475d0447a97885515ba01e8808466f40dfc1124a88506b786cae274f6a5f6b3fad42c749bb45e12f64f03e40b1da90892a083d30ade40a0866b2ae6db746c2eb90ec8b6ea853c4cef6408cb6d8fd24cd24532b41b8444feafe8e421781604b9d01461c1de34f82c9e20b87c9834f457e2beda61c807dfb9d7e18ac71c770d11cb742ad586d553271d2a35f988f787da943287c3909ad3f38a2b04032fe4a780bcf1987a86bfe17e261392a39c16eef9e9deb36e821e92cc965a27339bd9f1c2727920729663fc9e83309ab33495dc0908abfb64bdab90c82cd56bf52ab5af0bd68be6dfb515635fadc4f8b981fb62d54273870a8fa78f3a7bbbd248d51f1e74200e4c12748fd3bb0f53592e48e42038fe1cb8b028f7cb6c1edcf790eb87e441cbb79f4bcf31fb1fe0d7a89f3daa420c9f198e11c35a5ab23c7a358b6387e10dc830f937dffd794524cee388f7160b8988800a5539f2f26b83d60a2d99f4558ab0cab0edc624be4b01abacb24737a7ebe250f2d1560c318279dba932ed0daa2d972abf6cc9aa16753767fabab29110836f18571e09982fc3313082736f62a09ed70ca65186f4ebe5c33a61ec3c040b350a84e2ae0bfb264e8a2c796716128aa1225cca0bc619641feaa807cefec369f1fcede71b60d9a14ebda33598542510dae688beacf0f2f754a6156f39bc914283043adce3caafdcf0c76e8e25d48c07d5d03a8c25e3d9dfc2dfa527cd8f5e503e4ecd06caa5550a49d30c76571128183bfe07d434ccbf978936b7037f2027c661a2e0824f29a6104008680f25d2e884d45c0d721769b566e620428c1d9600f92b683d1e6cb92a1e22531103f3846ed2ca211e8276be4f80be34a9e1509e42a2deb698e1035320d5346a3147b221e3997e5939e77922c774443763ae8d2a2281c2e53af2fe9d875737e1ba1e4194224c91a718df1de1afd121c69768021fc8e801464bc721bb486753001f264fb8aafb32a495a871aa0c5b19f52b30aff9535d9512d2ae715d837b0b1ff73031a4ef208a8187211b81420e079037697f424487b18aa0e4d904e32ed66f28cc679846bb0a6565a16dc5e4610b2d5b2891494ff9a0c3e3635b233abd12d0e119f00e294b7d158fbee69f9b0bf9211ec001cdd321d6ae2a65c50e836c2aa8ba517f8ead1001f213cc3a9c7ba7550d1c15d10376b283be7acdbd5e23405d7412b9176393e735eb23649b858a9881f1e75e97c49598b467ef86efff882827a369f7ec4a859ec6230876d2cd8d89e1c6834287d36dc8926c7daaad0f9f6fed35f42313c61c7ac758763368a6bd9cdb22869fc6e0c03cde8f6c182f7370c4e6b41d7957a58b816cc8de5cc705c8525fbcf7909134febc4a881fbd650691dadebfe301aa9732fac6cd77079bbd32ae3f750d3f20c50bba1d6db8df91746e98663ace3ee793c1e932c2d3b6f0f0ee401fcb5918e9b9e04a4f7dcbb7d9ad41abb3c0d9ffafe9ca509fce22016e3308213753310a35c48e27fa5004e9647cfe59e66d14bb1df84e50d9826671de775fc968e7fd1c308e5e6c0c85fd811fd54cea28fc31100d48a7386aa10d7a5aa042d30e6f4e88bd20cad086799b74430ad60b23dc6a6ded469202318a062ad3c9b80f98a8868faf1498f35a0b30d1760a8ab2956551966685db84a91386f8592f18842bfdc9963dcee284f574194869c98e7bb3d6cd360c0ae15c2466a04c17148e6c49f562538dee27637616ff41bf78ad81e12dfe883b43cf4fe8fa9008f062129106534acd4dcafb8911f33e50becd838d221b6a1ee101926782598402021c25f4700c9f576b65eda95e9b748f740d298024632410db736de94d2d539fc80930fc80f366d6a65d0fbe78fc79f96a2fe04f829788c4be7a58a43cc80bd493c181c043e62774c3b8acf6b6d98ddd28fc100231377a015a3fd739e8f6e5ebd8cc5d9d8bb7df464bcd70150a00f9e427e8c12880f0fdcd665266a600580bbd94d7e8c3cbf039843879569e8035f25275ec1ccf6b4b6f355a2f831953a81dac20ea16a383aae550f8cd91f7d3005da0b170bf6bdef56b3e02750ea1f20dfbf0f467322a9e1f1f4bbcef5e2eb7a21a172f913cd06850cc529346f72e8e40f00dc29ebd628826da2a61b5e61d993f31f05a23b18ff412cdbbf9b10426c4eb31726882a482e2d24932ce2e2b72af2c3876b9c1ad5e18029f7b0c514b73858f62428764507e4e033cb34c42b2a2824d16f5015f03bd49770bb313ee8073812101b386576527befdb0e22a1491ff0435c8fc22e22d700f9f8b6982f3bafe41bf20c7affa7374bb29d2a3f7e13c84a40cec75957ac4f2fb32e992c0ab5b93f57c36a4b67397c084afa90a1975c80e857f921a2b869c7b4953f57b4fba31f9bf12c4f235595caaa22672889c53df804a38188857047d66190546e8653eb6f05bde5ce95e0aabbc114d11a72a90d25991488df16b05b535a9eaf1bdc629f99f78583647b00b57ed9639706119c0d122464e3a88beebb7b1f6cfa1696e2da76a0db3920085a709a115b70806946bb5ee0e29cf553a47097580a4b38c662af7eb6222d161ac25bad018855f93df0c16a47976b7058616a30121e0c76b5b55b76f14e01db5648827142f5d62df502bc8c06e560220fafe0f00301f7a4bd8fdd8aba7f03d7094bc489a1e461de6cb0bdde52b3c6590b642454db0998ffef0865903c7d3035d77149b37c6ebe3cd7872c530b13ba4e070671fefec850ea35ec74a47469be2066a9fe0fbe90fe720b8655e7b21a48e8ff784b291184c320d066cc5fb8e886aad78c3bdb18c168aafb187f25d80d377cc806557457391261d02d95f0045fbc372b1afc2c4556ea6664f4fb0f9c7758adb30e65c7acf43233c96bb105c6ed585987ec565502f4eca8f9bca9d16588118056978708c7801765527f0b951ffd9a6f0e3b77057fa053a1464c0ce1042a64bbdc06d935612e3bc39a56c6cc68cc26520964d01bc50e99cc6090f5521248bd73f9d2ec487a60076cfa2023b0af5055c1ab4e96bbd598db52a0df69fac8eb4032168cdd3963cb3bced4d586deb6080bc07770ef8843b28fa47e5ff579957ee7db7f97d4f65ce61065f525c09320cc9e7baaa4a8c541f91d32c4f4d8b3d29eb346dc17430b3ebee77e4540d53ec7effb1acf69baf357de938301dd48202e8b686efed9626ae1fb98ad880562639a5acc91e189a3848e6702ea3f6bf6cf09e956edb234e3515e2e5edca9d8cb2dc93e2741da77a751c4d748d03bc3a5fd9a0f57a605c8fa5c9f0e9884f883c5499e0cfc49bde4071223917466913ec09ead81010905b66b58f8906297e42b334925569ae4ac7d9a88bcb1b17f27bc2a350e2708b74b7231d6a53360786d35cb64dae679659b2abdcad777d578051f7157360c85b7c0877121a6c2875e5f08c98c9b7dd137177f85e530c5002fbff3217a7fd9699b8608e631fd6bc408977fcaae0ba1ea63014ac1ed24376a1967469f27091aed3a3409333accbe994fd6e66875a063abdc02e9be07b867f9ca5100809330984718232d93c9a9b5c1d8a7eadb3b7bb67826b82ba8a47fc7456b16d449fcd65b8eab4b4ec9101f5a7dab2a63801313a451d66939f5aeef95224b57e755bdbfc9f0f4fbf21f6ff5286163ccecc766da243a3c303431333e42c3e831b40c56971bda878c46c41198c6ef437ed3e731d8eebdd42c73bdff7fff74ff4069b93b68d2c70e99b5bf263bd03c7ec35864a973caf709d020473987292f2b7913010acc1c6bc0b13191daf252a3ddf3ce2496b57899e44d40701a6bb71e2029fdad2fde1174020c4a00d07845859b6ee4f3ac14e389b4c53201349205d6794527881959480787292bcdccecacfccc5ae67c19a3dc0c6604bf3588e539c207fad53f2a518cec73a3cf527ea0d4f5e1c4e2588ab90f3409d0a4a5e2cf62e82ee1433c6d1cb6dfb3f8348bb9d8b4ba4f18081fc7f02cb3267d76f12d227e650e40afc22a168ce97d654f8c4c6985e204023351afb5fcb41a3afa4cd120d34797b5ca0702f04f3638de853b49321f931587b0381895490c4f51eaa4bd73d591312bd0d3a2366e8c0c2f378125a5845a9c7081d691f8896c9f387ca9f8eeec473af53c93fb8d576e5b16b717111452e1d821b86aee784064e9d0fc9bd4d4e06db6f4fcc0b82491e9cbb2b5fd58d233613e436e4ac694afc64dc397649c3265556fe23c7d8aa5f96ca3de94b034c51d8e0f8cb36ff13a32a6bc0ab46a0870660593c8faf1d9053cb87534cc62a864912933dd4685f0a15c494d60bd2f0de59e6b132a94e2d5a941a0d2a01ac975706a72a2b1d6fbefa0be42bd5279395ad4e02cac2ecfb3e0e02fdcc73ab3ec1c37726aad62e05c0b9f71649dd4d2b3fce24d5913d32fd83bb2a9718a1c4c2c81d7d23b11a2fa7e9b6cce45ebf273bdbe3dc267320d1ce66aad0a21433180f608577a95755b2e465f39ea315cae122c3d99d2040754659aa0c730903682dfee4fe4ef78b7de76a6d863c8c9b5d9357143079868137a555af20f7bf0d73c7a2a43441fb778488ed26a8389ca76c4304f23e34e700149f188b19793427ea3b34e9f45acb400dae4e6643638146bf6eab370560ed59fe9ef935326f60f14855b32eb7e24d63398dd3c083b260651f54c29275670cb50845b16b816d59acc10c4b3543e124845a962115274a6d52f4b6ec76be297adf417bba5685aa7a170199908c957af8e219b56c0b9fee3980822d4ba68530a01f425108bf5f3eacf0f36b1e38122d56d30c924dabc570658f93519bbf093eb23a15542e803c6eaeb945d7181ece50a5d220992f13657b43305e1ea83b6492e72eab023b9cdaf14cef38e460b79ac062af5367f6acb73f836e78b86f5292763a7f470b313c54daa7eff82d3d50023311bed86f74548ef9b26698df31005ec46910de7ddd7327ca7b7a0c75f9c8493e83fa7013de7da7ac41002d677ad9f2caf84a629249be33c5dc1d7c79c0422a98181b08a332753939a13708ef409f147108f825bebb99b096bd41d87450f7dbf312eff67f94714429cb33d4d9d6433d3dde3cf46f3a0868c7812b08a166a0f12bef7c73b6bcd139518e295c1b919acc35573ddc2e08725c0695efbb8bc116aae6e7da7c5363abcb673218c97ccc6e98a5906631dc455d3c62fca1162000d6f773313eaf0eaa1477875d196389d2e64b1851f3765238426ca12da387d7610ab901b1b2ff0986d8c1e06d8d8843a1a2945956f8450c48c2591475dd05c555df3ebc38720d0bc31025755f834cc35d18d7004de4f09ec706705f364c045539a5a4a409f68e433552cf3a3c36c3b5a26d560ba99d53b52b653b52201c79ba092c1aed178029796fa23e6252ff48c3a36e80eea2a9ce694759260da8b09120c30c0332b13a4653794040888604ddead756e07a1800bd10dd5b074c1f914f07e6ecb1c38971e5d1906c438818ad2e881cf9e0facdce36b4f6417996ed468efe227533880fe8d1ba8370836a0615a272321082899431db8f82a5c3a7092403fe68f029630fd049915bdb2621cc005901b5759eefe649118208fdcff0729f7128503f638120efde12b4201bde60cf424d1a828c3048eb2ba9bfa6874758721dac6d01238c521d31e52b1cd95ae21ac3aed70a214c014d83c53ebf195dc6135531ec8a6a4e22646f66a79ffa6487c71ad47b2ebe336ca1ffe399cc1fe35a96fe406d3ad137e75cb27d7560064781d0fbb36888c6da52df139f2df45bada995d8408635dab5175cce8f40fb2aae21cae2e214d6b87ec3f34dee46f7dd887993112f165211fb7de906b6b9d98ce0a1a123ad8620e69113c4a0ac984030eb8c7cc007a2c18f6be20690865a56d3cb5620a492e70a343837621bd8d9769b2efc5e04dea3e23648797bdcfa3ad65c96b739785331ef100852445be93e417125ba96e7446b0c0906e3608f906ce3c12114649c97df892e0006fe11c709f3127d9b6d24f49fc4721697c7f42f21328b42d454c4882e61da2ca7f472f9061de39139225b472b1573e3511dec78639adfc857bb65b35759390b43c20429ebd952cb8c0a07e3105ed496d8003c2ddce48695f27231e80d92fa704d08dbcb28cf5adb108c909653f4a132a784521d3e143adb773f9084974a42761b12f42121037db348464ec833ea4431092346a8938b6488e18fbb8f605bdc2b3da102b34a9ff6092d4015f92ec8cad739265d71121db2fbc5e98f3a02522cddd00a05f5ed73a83033aafb8ff20cd2a301ebc2b1e266ae4f97486a6262f40cac12f24aaa799d93e602c3827bdffc1fcb4ed2e43ac290673ba8b135986f5cc6d73023303291b430606a3c0488cfa0e2b428b37c0c191c0fd56de02354ee7ddf08897f9a480a66c3048fb268c98bacb977546da728353e5f604c2770c371d83486fd4359272c2cf483786eaa6d2a07f220b1424e28b46a94ca6adb0014b5cef199bb03133f85a97076dde06548c83eecb8dfdc070204f1599bc805e80b4201857c8e7b549be410bbf47663cdce35abb6569a7727ab6d5e5b5c97c520ae99481132af7d17651952fa156a41f42c0fa9bdc3df53c2a22c18124e553a8b903244499c94a5c7a97bd71e2320969fcdae4e226b3fe490649cf044fcb880f654fe2f84b8f13ff26af05e68f5c5235c724d9dccf025848e3c7ab27b0597044610fa9ea2a1325be4e17f58beff42c5cce66217a44b5143c4ea25d3870a277b053ea804f2e2a0915751b9d7f2d4d8639be136f2e449f0455b523c70b057d56d90aa85915df47573d2f3303d1030bc24706814776186b9b3f92f88b1fee44a6f0de1c62b4f169e21e5d6ef31299a93203646393d15937be5e7f29c09526910309a917ba83838a9a763ea786ab8b09281237cbb5a623c1bf4ce7599c8cf806a0c398d6011bae36494a754f3c841cd8f608af887439a59769574c60d32a24c96084fd0da1151c9c9c6370285b12e0e42315690b70ebc4708139a42691b64a318f17129a0911477f5fd3355cf90e7c991991b6048ab9b1ed9ebd457a3fa2e59f7ae93cc9b939c515ea1bcf306dfa600c53060ac9c9c5ed743107bca5e447d25869ac8896246a10c51c0a581dd401b0d68a83c2b3db0df9fce92b38c39e1ca2787e8ab1a22f29022955387f1cda63c49624f494cfaa45cd3a258d6d1e115d43ad06820a908a7f8f700d2728658ebee914bdc5608937c47c0e6052c62d480be073dcf1a8f4be4b8bb0f9582f62b3dd05cd7de091caf6951047aef00f6533f00b2758abd386a7d8f62755f92189b4182d1df5e01b60b252990fb07b1828dc2329d0df4e4aa3a4ebec137c72e1cd8f1849dead3a49656c431117debba2b17c557a3db0072ffbff2d880ec8e4bc09e8ee15cb94e5ef6f99eb81748599f61866f917a26d4fb5721f2d32416e3fd0044340bc8bbd9d8c2580ef6db4151518a6c6b06817ba66485bac9be84887aa4aa5a72a5bac9c3224baebc4d79dab1cf2d073f0a1e3fbfd4d66ad9d1c192a3ebeb3332402f7ac637d254db978c53a43cbbc46cf25a0152356eee01aa060ff8dbcbb514e7899203a8867b014f5dfbb7ac39f004785103cbb185f04e5eb28497b8f02678e89b55860b0db4200c21a294d6824a192dc462179b89d42f3fcd6111fb8304f95d1f6b89c2f793abc891ab348aab0b8cf9e7b26102423fb97cdf4011964788a8cdeebf10f65a482118da968662a15b1112d06b2284d305c64d1a8a32923376adb872530ea19ab3ca853282e975218b88a7282be07deb2848780b3df0aa843ea4fc036cfd1da56378d8af891d43e4451910abd557cafe3e7d18b74ab88ab842921bc3047892483d4ddf0a01f50151a69920fe027bba39e30eb86496e0a407557f5d5260abc553653da5f243dc554ffe919dccb20f914cea05f9ba4946e7de8832d007ec7e940009ce1414b05fd4748a8f6a8643ef5cf56fdd6e3964f549858fde5730498985022ee0747f989444c23c1c45456eb57078ab910149bef0d41ddfcb9d1f7cbe51337c2ff2482b86ff00e8afb1072256daa4c96fd461db77c4d71c38d115c34475d438e7c5a732de2930df9037a224cfadf55d6ef5a859a231bca8b9b103286bcaac8fd93326ea8dfe5943b83748c86c56c276a78b9db914e73f11f9076ed3093826c434e9e5cc458d43c4980feb1b03346901b96440eacd03c99745593a1fa0dd8f8bc7f42ddd39bbee8d3a5368f01ba369643fe79515f9ce8785f5633ab08567f9d8c9fe24cd15651f7f0da905225a1778ff538ab3a1ce03e60761f7598376658f3412068d8f6336b1933c904a62095bbeca5fbd84cc7755ccca4136b4c06832603f2e80b4796f7b21181201789bc388919011f7df1b4f040d1171c790e71e8aece69136d3d4fed2147f0ed0465d690831409c5f5b50da4597c46480d916b8e2a39b9f761d11238806fc0b9e974b174c3354f3d2c0d69f22106200d0f57aba57c02d60321beebcb18b838bf100c07d3ba01feff0a435b3a521f78f110f4e5f209897f1070378a56161281e344068720ce629cbc624cd4d22ea0c626eb6d091cf086b1737352079fb48924ad23890ff19086c7aaca6b13fe48d2394d6ee732d0600510b73c0595a0e926e054cfb8a4d999159681c5864bb3c159e7e67394146b11dc9cd5d9cba02968a32d52584b963a9aa8a4c459ff2f7b7907da8af36c9ad18ad0c0dea1f587bb6c7e5bec38426ed2275a2b322c4c6e2d55be161e8f9b27fd62f78cdeac578c9e8dc70f90a0dca2464d5531b024ee3d723361b64dca78406891b34ec19fb108a2f4e2710ffd9064a5ffad0deb52c862fb490b7a8c07c5cd6a8cd54071bd563a248f310a4722b69b57c92395d3d541f147479996bdc1e5ca33e00e193d4c0c680974b0d0bd39a820ceec4d13b6b876da95dd18ae592717c350328d03100c0d2b1c4cb02156b860ee1a3b738b6d5c90999e199afd4b4899318c19c0a96fcdee0016f9c08cd15480981ca3a70c257fc32297e03e5bc8eedee19e2bf2a32f72edb4fb02aff20359d6ab1870adbc32125a954d79adfca79337cdeb432f0245b6351ee7ca0a19944b1d63aa9f94b0c2ba677f3fbcfddd93f8ea53d782153300538fc05d02839aecfc07d54575947ccf49e4f882ffc843812b0fd9a9dca63fb3531b984064d8c219d6fa522a903e2f9c0ce03cc060432b49811bf5e9cffff588a8783aabdff7c54884367854765ae18fda3cd7c4055a696e20715aa9e528652faeefc375fad6ffd4564d7986e3b7c2c0a2e645610eef1674e9d798e40bfd3d9221cedf5586cb22724f2e60296ba2fb1477a9eeda4703d3fd027272e6ef91dcb2fbeb2cae699081b261f387cf7cc654811fa8e77fb55fcf3c88a6144432847a86b934eec915c57828f42be526e977c607dae94632f4f2d3f4c387e54cf083320b7a1da96196148adce64aa2f5dd4fd43a3c7343fd3de5499e14e05a3d168edc99dc300c14152493c3b79403b5ddbf246fa2e9d3d02fefa0526b8313031e363ae4bc5e1b342dc53306cd4ce00c0d9e5b0eaac26c8b325e27807484e323c76b81af1bd70d9c8a713e139275341f022be171f2538c153f54840ae82e199007bf326ce001eeef65c75b940379415f5e74666be33680ec3968c368db00086a6c60cc71193a9d90c2a01f7eaff41c9b87d80753e64b23fb54efc2bfcd97a8e10f4d388308b5e6c17e233f5982df4e0b7fe9731107ccad1f27091d3d1d665e25b7dcc71e5b0e0fbf7ec3bf06768f05fcb34bdf742ecdae5cda77b0adc024419a187bd6ebf81b04c05908294bdf2988808fbeb1474360347f717a88d22c1be251e650690cdd7b95e555ff3f0cc9667c97442aea0777998ec5aa808a28f38ad5748d53ee8abc83b49a465111f04f8c4cc983ac2a0daedd4de26fb22bd1bcd5acf99c787267a10f2d93b67a76c69c7114b7311bef42f88c0b1dcfd915cc4accfd3d62dd4bb290c2421b2587a1970e2688fee348f3c1ac9fefb246e81f865e091888dcc3332ec88da892f379770cfb0f1db880ce5d4fc30f3a8d64a792ca4db5c69861424b430344dce73b49d28ebc5d87221ca83d81955a77bf82d84edc21c244bf04ce1638d165f517920bd15763be583aec4234a442b4a685e8deb6c790dc22858799461160e3ff9a888d28fbe0d14653845764d63444ff30fe7bb9381f310fd1129b9bdf625d9ceaef7d6db003fa926bb68c9f47b9158f2ede461cf490063b7a075b2542d1e0646423c4a38a9933d60eb7594402d9693920710ac199d68137a1ccf82f800464e6105d83aa7549879b749337116a355db2fa665f5153986469887a91584906ab5f8289b0f86b001387ad554f0fb79a0688004cc42905d1f0752e65f7d61b9bc43c48f00e9ff161156be9c6591defbf08476f28372e8016c715a53bc811ff0354163bde50f56ee786634083bb2070bc03e225f261f1cd8c8c0f68506a161eb3b4b77005aefa5e0bd6c825b31a2176cd13d86e801afe2d5f266f870108df1f4dce17bcd087108fe126bf69496ab631a428bbc639e24d998c18914da4ea5048536664b914cb4d2e8e7a21dc6dc5821e6942b02feda890f418ae88011d6c4a5d233d318dc8088f914161bfe0c8939eed916e0516eadca3de29ec49345d3d2ae0d4da0338f72bb88d5e05a86cbef4738c72d21bb3a9f8c6809f3125c81ef27a541d0dec4770c2afd5cf361bb7995a4943a7cc7d2561a5a50a28f66428600a2fa53df7f94fb8fc518213daa558697d58b3306329095c7b358070453bd1de0f61514befef68f31382ee9bf21affc168d52b34d8f177fc2628845dd3e84783b3db5bc941245d04848eb494b3c0a6c05399d2286994e2621b08144d75612b1cd17a3adf11fc9f5db84ce5e8e15e3e34ccb54064624316e8ca0fd36659e5e85e467a1a0f9441d66a47df35b88410967211f3ab3af69355196ce8abac336dda6fb5f3b45fc87669d753c3077ab1bdf886edad11b8cf866e1c672274e4a0b8eb6db243b7e400bba4a377b3a162fb5e07d37b1584626f20d3644ed8a780038111facc71ff78f36b846e3e97028ad619ba60cdea15ee2a9f82df85b4d3c1843ce66e59f412592390de82aeb5c40f9d17e8cea0e54e6d5a49c1ca46b848088ed9710fac723aa3766e83c221f960d49f7c672381f36a7a2fd3d37f0d30b1dedba3a27f839e89631c35c2d5fb8b24c670078f0892baccd483ba7e9bccdbc94351da649ce2a599547eb889b653b36de3d6962a0d3812e7c9f6d94b9ebb0f911bdc0ad510effa3c7b7939538f8bf4274364bdc93a2dba6b41ebcbd7deedb7a18878d09a85cf4b89f1faefcbba058046a032cea73b907f2db813d602cd60bb82389fecb449b781ce1fb57b08a65a042fa7d11d5f92078324c73af740a0a0857710d7e5678293b3c8697857294e05623c17ecb25b587437d2fb9398900acda510051ed56d08935b0fcf3922568563f8d74327a1c0b41baf7705dd7bca423e0a07698e70e7234feb0aba03eef219cad5ad369498a7aea81c6d25e2e9a6efd04757576acbfc2c7a43f75e8fb20f21cc2918bf40f8e26d552f061b0354ce95a6905a1f2bfb39f155c948286720dba7d06d30441caa85666d0323aedfc4c5c0dc4c4c58a535ed153419b40e0833e3754ba3c22d7eac402ac6bc54ccfdbe2d45dfeb84a4cece096039994d17c976987b2565fc588c8e7691085828968b03e2caaf3970c5242ce12c43da698484e3af17f878be6c9bcbb1233f326a0c4567b461f5f76a0a83fbf1ed5f809022b477044408bec32747b91bb408e51b6f0af19b9c382f28857ea590e015fba3185ba2dd11b48c5243cb646577933d40d146b3702511ed80ecc716d00ad14ef02a92371fac4d072d025dd7666d10ed6f68a7ff2192f4f8f14547549c4aedaa05775c246ca39f0fa5859fcdd155a1a9553ec06e55e97cf1cfbe69b62dc04f3729b541ec9b932a86b243e6dc6a38f5ecd487576845c5619a5eeaf959b4900f2aec718549ea26508406b93304605681f77d74e45c033398a55f2b0283cb8f8547259d53d7888d929a5bcf1da2ed4235718a55b9ffd487351d17e095cccce1af8ae2467545f1ef7678763e024b8c1ebd1f42bb309c8300858d8e8529f5c5070015930d0ae87102a91fa4085ac0824a79cd3474f2992022ecbeee37adb389c610722bfe9bbb53f975b2207795d9eaeb5e985359df6eed631fa373a7b40a47563c5678adc359ae01ac5e057d2d95af029acc85e1a0b4a6edecfbc86e382ae572432766ac686d0c48ffa12fa6d184c895a8f5bb8bf8d02b0c745a131c92c96456f0804b452b70f54c6bc2df030ac01086f277c71c7edfa1b50f53ffeea65b827428c0acbd5d27dad6b5dcf7205d861b71bbb88a62003d10129a7086a8d3aa3fc1b083b81213d0b8a96d113886761ca4a4dc9976c9b6648f04b1a91cbe064c736d6a1978fe85b00c1d86f3c4abc1a5f8ae904da6b89e563c0b0dc3a8ab4fdf862ae75783bf089f025673bba0fe0480187cc248adc8f30bc5e2fd425dd94e599f1f464f3d81c3f1631e22c1ea51da90b906ebe5e308e5764f1a13bfe11998593eba32bcda232e4230024de3e6ae13ce7f32108a975e27c60f233cebecc71510796fe9729e004fed94c2c3b1a247bb207406ba428246a7d1ced2988e2b466899e4d1af005ac95fa70dd4f13afe827e604d6094ae36e7df202bfe2d000332c424994bb118c35039ccf01735e72b5aa59e0de6a541264fa8bdd8b88ae4029944c63a700f31972880d1851a14d2bcda61f925d40474dd31e3c4dd6381b2ea2844fa8992174966ccbc9cd1a62a3c7c139ad355752cb4c5b77b65e7f373cce45c755bed8dbc0175c35abf968131cfb11bd0b8bc6442c00da4f47df81a67c0686f44dbc5f5f60ddfd4421c3794fc2fe68641ba379b5b510bdfcf859c8387f362e6b58ccf7e013bad27c9329dec5ce105de201621b402f7eee9957c8fe643075918053592960e1b350f00a3540ea43bf930843ed0d008b930ac527a2aa560f48c8b2126dae8a06586ee45a8eb984c688500c5e21816dfab4410ca3acb4a1b0af733342c95f608d79721abc47c568ef89c21a911b5c91c71115be5b5f79941e7ea0d6e7b7a8ec39186acfb26b101e66c8f15a6322bdc07cc13c48792518b508090cd4461096d150f55b18a5c5b2339b806f7fcf3adc5b1062ea0215dcc604dfe858b0273cd0762c662e89882ef46ec9a6fd508480420d0c0034187946d8ada49bc0c705210aa70a6822b9b9bc8e72de8cc938f207fc4ac86889bebc3478dccaa9edac8968827deefb30b4264c19a95fef8f4277983a268d988886c679d27993e0058a9561c175f4f53beec676d0c4451c801707887a3a3964d070f0a4542bc0af44e36136aed4cf63658ba31f61dc0780712839912ffc8f1ae63d519b1496f378a4138c1a2cc33e0c42a1f7eca2c7e8f145cb1e8b2b57df8e3041606c36f02573f1b10c8641e1fd38ebf924594c620211d729cec35f24e642b81621dcc13d974a01871c57186b71d103a8045a3076e2b5d800ac3da82d52bd17202a5dcc4a9697015c8b2d65ae0bc99a55ca0840f23b81324f989e5b42e74d21f0c6a37b9a881884c64a094a3e949020bad330994bc1ad000c741ab10f54acd044d2ae1e31ff034ef834fd2d9c5404ca6a1ed0cda3e27866e53c85b20e08d690cea85d712751bc847120405d4f9a59e90da20de2bcb1376ec8245de29b2c784e9eae41c6061fc7a182bda17de49822ca73b6e32e85a09a52842ab50e47f5bd40188e9e832091f40df425691d1cae3c19b97b23de0d2b0246cc9d248346e6069660ef433846a4025c17a5f27215080d806b6a2fb67c1fbd57f6600acff10c7fcf08197c71ca83b012fe4afd4494f15ae589b3f07099bb77908094333a4e9fa18bcb421611f14fba2ead6f5696ebfc59c7b459c77e2301c9668d93b05ec2ee26d5da545846dd0a897acad6088f1bfabc20a456627c8f48fbb1aca095f69766025e91db84d99b2a6d1f3c3f89271ed603ddade577f6fa2fce68e087dace382b101169b45ac69557b5b92d22b89a4003bb697aa23073a6c986a0b2cd8d8047855cde21dc8de85ec793280e3763165015444900f522ce0163aeab76f17fced650125d7472e5fbe436141939e0ea22c63ea44652738b07f37fe42a5852369c7fb43d290caf1b6889557e6dd094116e7c2d44b54554a049aa3b2d6d3cccbcdcf20ec544ebd185edf0f206d27349864e767e512016c7e94e4a88ce4e6826933626ffca33a6a4880491bf662ab5745592c06b0397a1ee287b037c59b95e9c15edd48be2249b0d7d705f6264c7fe31e2dfc78e17ebd7420dbd9e963416fbabddeb325056ae67801eeb1182ee176fd13e86ee89deec2e05edc07885f430d214df133562143eb04e5a1f8c5bd8ec3302e0ce0a71448a2070338dcd036107c73e4f45d99e7807622bd7b6da776424c1ff602676ffe4100418320c22b422d6a09f09eda6e5a027e1ae2afecf1cb0a331f138027de1d511f3068888abdd665434a54faff282b56f24f505975c3cb4f64eeb4b1d6bd0e09e435790091f59485ba14ff925800cc3b9201f158f91d7368d87ff8b21e618fcadae4dc55fdc76a3a041ed711509ac379cccb2be0c456e59b27a01eaf9f3c84f8bf0cc464adaf34118bb5dfa5250ed67d993671acf2290dc562e583348993555fd2201eab7e4a8318ac365f668d1164e327216145ed8d69bcc79d30f030ca639b5f46d26295756251ec1072d1c4b5b091a6e929670f0fac8f8dc59c301cedd6e736acfc4a61bebf0a5461691579ad2d66fb15d9c52152e0db7ac98b6c85ffb7fc62acf9ac245f7ffbd7a3f6b11f369e29314b32d47bbcbe2e5697c730cd9a38ae71c99b8bcebf03595646b723e40e991cc75979915483b8a1ee40265b73089663947a3bed00c9a6ad7c87a92492de00e0842064b2581ba5441f7342943fd18771602451d1d5a39d77bf42800febcea039783287886e99a0daad0e83721ea22115ff62d8ec6972d87730ff2a43d8a09901623aab9d36d110b55badad323748a529abb73486aee79e58fa13fa0acac637272f3d422f9e83738755bc2f72a1b7bb94f3c3912cd0a61016b94f6230ea29e455770a2502dd14f216d6ca94bc9f810c37f78fd3d9b1c30aaf6d2e7c858d6b8489c2442a65e70b93195545aa0f8c7d32b8821f781c52083f528079471a2dd626b759ccf8d3baa205ac2c94e33d9145039931e77f601e30cff94fc60698b4d307822171261fd8050d4edb207b46ae52d91666c6689b5a315e3a9bb2331db4480c803eae52da3024a3818bf9896f61c58571cc0ddb342a6dec5c911b206ad39e1bab9e74fda933ae0d537103b990040f700add802763ae43b7143b291478e3575b696b46f603298369ae8f693075ddd4a1e29f60e27097ce822a5ba65cb5319bafd72498c5285d1c98646135a3d4feab6ddfacdb2565a0fa34f280a24aa9611102948c6e4dae83fe5a162598c604cfd87ec803906d45ec667bbe81886661654037c20c8e75803336450216b289a7768f60bffe7ee9fdf715cc0b175c8aabbf66c7f627f9d2cdcb9b3f16cd2f1f6221ae165ccf02c13dc7b41ed6818fe14eb04ad63a2085b54f07ef7456c8a61b3bd1781bdac54e9c836a901347788095a76b4a9425fd9dd93df6c0fcf016d2d3101e21ac2941aad6f912d371458ba94c370dd46a2470d6fbbbb8ab9e3d9540ccae0555e32682032daea55dd2b9263506f170f6c63f9a5cfcc1054938981fcf46981c5e598cc60c7213316ce40a43fea676347bad46baa8b829cfbe0651c825aac9ac3f4ecd94d7e3978afe1b0176359922eb8816479361bf546a8abb8016f5e83a35635587f55a445938359426e67e4964b5a43b1b05607f7bf1d1afa687b864282aee63b135ea67766b5190f28b93158784b26971b1654e57b13ad6b8372694edd0b4e6ad75ee1c30d612a39b11ec270acd212d5b17190b1e97075f23b1f4867e693413cf074aed3edd6141b80b1b4639b5817d77d87a04ff5f626c969efaeeaaf2cd52884fa9a2806acd28b9d4c0ab0f756a94a6324d78c94435b6296d399df575c689a6278c29be85ea224d947650631dca25535f4fcdf4cce96fa613320ea3c63a7c2a72a5fcd8328240e0d167999dc4c7a059d9a084dea4db2ad9db295cda14eb4de6910dd60d7fb38ffe92aacd46a5dbdcd1e02ecd5a4011998a2f6aa1e34b3003ca965b26a932e06d17a557ce8719cb9188c0a304169231e376f3acc22bfdcf17e94ed488a06502121d60bf050159563c8b165694a2058226eb992ea624dd0068b0b9456a4f84176765884418f1c9c113037ed159c02c609c847efe8988c0107a31911d810213f5a87a082232541b72e24525cc4a68f9aa6bb9011c18a8676dbdf7d18b3212fcca76223c58641fe8bbc597cdefeabe891c5f383b5e35f86b25ba069d5ea2be1d2e609e9be894442ea6d85ada81ee7888c78dc1ae95d8d962df196cbeafed2618c5e1459b6514307f4fee400c87d1cdb10c0934d882e8cf70e4ea00ca45db67cc27ea15c821ebba5817cf24cb5258776708ef666ed90eed4a4862765356c614ea5d2015bbb7825819531cecebb84cc4d391818570a5c6a841ceb0c2ca61e1ca44330d34fc9c51f2480c7b9d4bbae0e90b2912d36c2ea66627088dde2ee798c49bd67c3f75a07871a04dd4a31017b8eec127793c18f7e9f282040841dbd33e1e9cdb18cfd92d6f3799dab783ae0ecbaaa51ca5bc5b42b271fc4b2899297456ecb3a11e2a5df8021b38d0b88750db2b09d336b79da1eeccb55d4b3c15d4853ba839aa9d0718a17b46ecb9f090f1c456c25077ee17c3d9fffe7ba45b27590480f17fcf05f3eabd006eca58aafb8f950137e2cff3fffe9b1ec5fa1ca59dd0d5dfc18b9e5bd9f71fff4dbf354b438e90476255cd32ee82f0f8808fefd52291303eef8dbc60801b5f3f0cc670734b4395f77f59cd4eb3dea5c1123816caca43bcf122c9051190355d2624f1e49c58b25a44e249a41d59d5ed26402679cb6186162f0f65600008254723dfdcb1fbf3ad1d9246e171dfba9ecfc0520e3a3ed5e705dd4867b02d41ab583799715e0d19637261706b139366f3135f19153083d17d2b8e3432a61774a5fd12df8c5b5ef4d1772aa65f8671876eda2abca5fffb5abfb89954ff4195c468296ced1e6bfdbaba28324385ed96d183c572b902f8d461a7bf9ac3884717c97831cfa6d4575b3769d7cd2b99c45d52da694f333547a9f63c46ddf9df3b56dfe1d0894459e61f2460f2b008c4db9f0943e9414d9960b741be8f8ae4ef7da687cae2c87de9675dc80d12d16e537503760470bfb3a99207fba6e6ba8001b3d99fda59a0efd358755eb2010be2f17c6f718db2b64d023e661ac77f5358094203ec1a34304232aa08093d4da0848e43df434cf4fcb00fb06c4bc9a76982a705e4186082a72de420df3b646962f4070a5618cb0242c1f961ac4408243d0ef2339c57b4e706d0e18c617129f84372ce25ba79f2bbb1d08d16dd8711ac65ebcc1acd049e4a323831c2cc5b394a5218224de93469e9659f809f546a7aefc4bdf85ff46dd19ba20121284167dabd538da84aa6cd08be31e134daa1370ca97e3bc89b86cc84f9f55bdbee258adeb9e10ec43d5fb812c1e8056ac9f65b4d7f86cb10d51de0550c6acefd6eb31220da3e4c45070870136004e31b426b0068cbf0fc80da93e10291eeee049bcb35460ba7a336069b10aeb59d2d84a50c35628fae708f6226ac7cc7978f3504808fca014cb72a9d89d7b668347c34336664298fb502809c77b9cc194f0814f32a758f6d219974edebd454d2978f23b1eb3da3721354dee9a05508a5b73879459715757c40ccfce1556ea1d4ab851b759b960cb41b256feaa3da2233faa2299ba11b818443d15e0a9bb391d338b79291741bc1d8077d90158a3483d3761ed367b8985ccd8567d00e35181db70d9814a49b28b4c4d6a24edecbbb09fe34bcdc138536d1f3a9c7fdacb1f0f05df5f1ab2398d479bcd45974bd0e79c27384208b68d9841606d8ebd2fcc839179c89f208cb1a0183829aa49f44044a7c9efce072bd0e135e8db96840609e81ffbb36377480c468c436f81f06bc84bfdc98b38a342ce862885d2ac931a5dc16d4b65accfc3d3727eeee2eb91a6e5eb0e0dcaaf31cac5fc00351f9dbec943c724df70a4e372c7a15656ecbc2b4e813ab0c76a5cc83a36f3e65c5d0723612c01c6591e143bdd635846a13e78070671ea497730409358778dc89aeef71e2321d70d675ffa082206f4d0fbbf76fe47119c71680eaa096150d9159164b19118b338e3678209b86641c13629bead1110d16a74546c934df220f8da01b5e1cbae001bfe6db08a2e8ac57ae081881d8bb2ffcd491c2d9bcfad0528ba53f2194321e7ec690194538b3903f10ffb1d06518e8352042c8f4a1366d0658b02d33ee4f4782d68db05f409cd0434de2e1a1f0d3d9c2adf357fbaa4ea9794a46a197a80f996db2f6a3d367d72448346f058c50166809245f13d9866726cdff81f4f01860b730dacbb325913d9acad61d2b696839229d2500665b00afcbecf0056f597d9194e3ee9e2c3b5333700012809592ea0ecad7064984252ed36d140c0f0b495cfa23efe41d1a2a1bfd08a84a825101e4a900ed3bd6c081317417b74e609a0b9857142c065946d4327589f0364103d24e50451b95219db26453de4238a0346593226d048bb6be0d49354956c65e3f11804a0a32ed7cd76b804547e20323202c5a6db898075b87c4edb8bb48472871a13ed813f9a750e96592086e89ac6ed06898218b422d6a520c9930c812eb47665a447057909813f3fae31e5f08a5da938f6018d5b2da83719783c0301e5e589c2814d5098b6b15fd0f5895a1d124440ec861496afcb9608d636a561defded48f118715bc20a23608775281d5fc9fc62e6b1facc071fe97ddd6e415d5865fa55546bf4f53058d118b08b1e1e44276869d48d49ee08b5d4f5629144314940dc9f045f55f7f626999f3bd1850a9b1d0f93ff6e017fbd65605ab5300f0821a0c799e57bbdf4088aabde5d739f67cf8d9f2db827eeb39688771002f71ce456abb35c32b485797e1502a78dc2c755002b172eea7ed38222876076ba3c34eaa52668c1dacbec0e5c159596d302f6da817958658ed37d29d1ff9665435f154321ec95d3673273af6f9cda712fc4cae28d95959712ae884b686a8f8d5197278359ca0264281cb153cf8d8eeeebaa2cda220a3d7c73a55ad6912d063c9eeaeab4a758fcd1880e5512c60b91345c081391133099921a9e13ff518c2308f823b1347457468455373106c1d2c2e9878cad95a0601eee4e5ca408f54d849281f315ee3896ccbb03f2dcd49b01aea924501473aa19ef0cfac8037acac20826132cf01c0151131e120f0ddd93918bd4fe958d6e917f2461bf1da61e7ef4c74de201c3016ffcb798cca1da0fbc6d70fd76a2609458c531b233d1e1a07b65841e27e50e034fa8248e1557d0f0953591021b3080b58b20f2b70f08298a494affabbd672bb2119a92064ae08fbeb5e61252bbe66410c90606017ff17af09b41f074800c684fa3ffae20fd8360adaba1a19f01a3b6175b5a6eb4475ca6603a346dd9a7ec7e554c5d293dff7f302d22bee9a49ee1fc1e9115533b438e07b93455098b0039bafb9056c34a2437deb99fe6e942cb6968fa854ca65a1ddc6b56ac618d8c05dd741df41ab4a25aa812b11d62cba79860c583cf1bbbbe34ec662df1361a3afda542b02931a62fd569ab67bd89172900815e76f2ec7696d15686db7338d64a7c55083dd09bd4317a0c1ca8facf5ca88acd3fcff80061b7b4fbff5bacf2647cb3ab39d10d6a410940d3a109b53967d9a3ffa1ea922e33a8530f6734ef337f510096a0dfb72e754f8c6199f8eb2dba96c0dc142c2fe9705720107b08dc175e6d3cd59164b118ce7c13535ea1ea8ac1b71eca80ceb9576ab89406210614b8ac04a101681908091553adea99b6679c4b659b9964cbf1ac1ec07a7fdf1901238a86bad78d97c8a17896080b641e7a07a0d05273317d8a5a2536eee30a0e1a199c9b9ff4f0f747f9897eeeeb84d011bc06178d2d013eb11651e68dbe3a09ed44febf44d37a4c7103f6cd7f33cb1f97b2dccc61f8a5f026fb6d46bd19d0d7b55882d7bd0c1e7f5aa5833e9e322109a041804fdb2b7e32c8724575034500215df303884d051ceea18d0d66bf8781440b18f29b17e104c4a36a36d339f79ae58d96df03fc8164f419228bc47385993c967e23481636a7c155cf18f2617a4c180b9a558284ba0e5a28d0c69211ad085df5ca1018d2d24542cd28e8ae229793b4a0669d0bbfa63f3efda9ba7423eb9b1e710401c7be5821e41d1fe8d108402160aee4e99e0f184cadfe6a7eb89733f172ccf6a8f01903257d97d20d52a9c799ecff2e701b581a19d3e806c4fd5d5c664aa47c3a12e08590343b4523dfc0af66621a770bf19ad2b1a439d804b058d6eead3479b1e1e3dada194f7b1894690c71cd343f0fe6e78f836cd278ad2649eafbc4612a0784dbb75308d2d21818339a26dd695562ea3f9691d6ef8aadb4166f8da02cfeb5028717fedc21e76faf024677568c4ff5422bd6eaa91502e2aa20a205423986c26ed9851da9834e8fbe0caf6092e9a58bdf06847613f221adff5b56a79de7da947989d8512d023a363f658d1b3365e680366e7afdeac00db29d92250e29e67d02031cbc7343abb3b11e7e4d07aa8a6269593e0ff4044469c6b1763c1567f982dfa2ca99208354f202b466d844d190719b5a4da58b26ca5eda819dc7dc72ea7d3c5ec2f4b3f082e7b9581f565cc19af3f6589c003825addb22fc738a93f0a6098c37606c44750504c5d57c82fb50a958c60caa9dd405564ff5a9b8e6195917b196de82dcf262374d730999123b697131b859ecbf3c29a7d0da840c036384eea059daeced36fb567d7485ecc9781b3f4b000e20362131540b546446c249b93f1985f68986d3d37d9793c44987e96a7258359b9a74e4ec4f6831cd80929a0b2be39827126fb08356f61f4dd1461b303f5608cafe8eed435c36805edd1a0becebd5547bb7a9c5109e6af08f64364123aeed778303cf9267e7ab1747dc3fbcd6716ff6b68780466d8f285163bcb2e3501227204dc39c64636c2b270d526ed0862643c7169481bb63e7ae8eeba87187e04ab4cbcf591fe82c702d3fedbfa88b407a8709f13b0124cf48387c3ed20d6028fa8dba59fa21feab97d1cbd02f9859a1b85707517e23ef2fb44ec01860ae00a181b2b5acb0efd994a6a0aef4723b908a3977c1f67fbb05d125359c54a1ad25d5b0c58fffd3717c3899118d770fe060d91b86f4d1ab07803995d8390491ece175351ae205c6521f3549a26882757ee530eb9d64f87ef47952dde4dfb110ee8d2e8638a34240fbda58e20086a5e7b0882dc58ce568b6e3c6ec5100aeee780d0d3a588813cc3ac9ef2e3e054276daaf98910242d27339ff1550915bdc6dfe1675f3ba7f837a4a036505bbe39ca0e50364e463ed6994cb92a896037b1743448c7aca4a5671748ff8e14ab51f87702538a74a62491fd28c9d1730068413f17fcc2ebc417d4ae5c80ae6de59b22a2f7a2b1f5cddeac8db9beead0d56bf39bb686957f38ff17a707fe82a489082ebe7e9caf9e48d30e379f5cc33cd556057bb70744ea519dfdf26fb4de873a0bf77c39f4985899b56f1ca75ba7ed81522ed6ec13999ec9867102d3fb2e56695a5a842c73c6b31eab0d2c255e66524b0cec20c54b1242b271addd5aae461703007c353e00580ef70ae0289c3689f4f103dbaaa3acc6f64e1374642bcf4bca570d683dfac462afb50b95e287155475c788d5814ba2501d03f12105ea2031cee16222fe4a151567e9c652693b99b3565dbc1258793108c8c068ffdeae01e39c132c9d8aaeeb7a40eed6f72ab27bbeae69fb8b24dabb2e9da29427645c668324a8888cf914804799efddde83119a6dd5a018c7ff17f64991fe553ffb8b826e895ebe8547cbf9451c13c47ee213cb2465cf9a74b2bffecebebe1df48084d44a4c2f5d90e084a3311ff8c7366b62e6b6bdc4ca48274e8c19a091b4fa778cb616631d7fa9dcd3ead1ec4eddd2add8dc6188c14178f9522d737e15473a48cbb80f205f1306588c9f0e40bf7b82bc0b82e49f05a210ee0438522f3fd5f7aa718a3f7c913d2ac8de6d0bd22e43aaea5f85b500c108d6b3c6bf71440ecae4d7d602d8063dc7aa09f209b417194f30d3f8b452528b3d79266c5e8cdee7efddedc8f0d5f8436d907163fa34bffb645182d2eb4a54d2802b432cec6d87a5174ec8ad4ac1e731f3e3d0dd3f7c60ce5aa5a515c37f53bdc50065671b113cbab9c5e40bedfe5ebf7457b37f998c89278045bf4d7031f45de56f3bfe8ab040b030b3848b392610460f326f3b0ed891971e8a252960b446ec88f98ebaff45e15a8e68823621ed3b99ff4f8111841863ef5ed92dd646fced14ba41b47274933ecb5811d6f0d100a5e7b2a620f779c3d47f9b2090a8cb8813fe47f116434cda3f77ced7e007624b1e5cf9abcd200b14ca1c1c52390b24634228a06ff56163e10d9ee4c05ed81d927a5a2f71698b07c64a2e4abeb9bbb0e01a263a6e265d3d13ba158edda58313b4a34a2289f7bb548abbba96e852492c7ae3c5f4b524e3a472cdabb0861f99424cb582c1ad25e186d0a4163327f1f4375eb2ba47442f41b562e794f71349479776e3b3b3abf34009d3dc5a95c68c0ad0934044162ee671fdc23ebc3518585e94bd511631a0ba64136262c95cfcab6e8c8b609aad23a0885f7c37dc8521fe1c236314c78a8c9902d819f28821bc21f9a3631001170eb8a7ebf331207c26390362721d0aa2a2fbba4c50fd1c916736318a89dfcd57560e8594891a57bf285fbd018dfaea696ff0eb73540da18e569aa012a2108c853831e6ce911fa2b3a9c23fc8425b28ec75a2afb8f7a7892a84b9c9c6d97a808995221428a3cd7dabe9b2e09ece633030bfb43fa01fdad8a307e7569df329f827e60a46d657b753ae886959699ee7d86392f83078e4a1653e4e7947738544932ec9fa893925cc9e11192bd1fa89f956ab7121349bc30ea8fbe4655a7f62cc2b280c580d8b18e327462cc2218ccff87e622a3edda244a81f754c686143e7233278d5b420f6b0aaac987887d005744a716518a018779bd71a57e850dd91697da7c5d43c24eb3196c1afd64d5dce9091a728fc1a0a2826cc3971b9f14236147f2de27da7ab38bd1fec3a4dc96b9bfd105b293a07439dbcc7c7a0062c7afe8e68605e2688d8fd60099bccb7a96ba6835c97d28757260559eab4fa405b48d7b1d7bdc1eae49476e8756318b4b27e5c4a500cd4495ff9caf4352be6a34b2905100a5218e10ae88bf9bbbcfffa2e3c18302f0bc44db913bc465c66adfe8d6cd4f0ef6820e6b1c47de2396b6adeb8c7c6d348f0f4e3ede03e5457d1bd20af26ab84b18d7749552ac7edb3f990036f39114904c5893944ddec13de6407bc6463a55aefa51803c8eaa1102ff0685322c289710f8f6073d28f979a12098532fde78864c5ab3fccd17bdfc5411f27062301d50f064586f27415541e9979d4ea5087cc849e74d7f59509e6e48b647a2705de7e22fa85b3ef6329989599f7eb362dfd27c642b2486236368f769b3eb7538cb5c9512043c1ac0ea495f2d3c42246a4466e279a3c0fe049c9ecde215d7948afc96f23769889932c23e05d974452722c199b31c1ea48806c9078f0e73bf0748eee30ab0b3e5c47e32e0b1ba1f3f0a9b385ab8e3b0234c82ed277041a67ca954f2ec9d4bcb4768c251be3daa7a1b241f6236fc491e0667bbe2927e719035c905be86e4796aaac5d502de8b84dd306d043b0ec9a2b9002bb2e67d4019c214758bd6abb795f61c261ed8978bd09a16409d4d4a88b9d2270bdb03ffa9a4aecbb4d478ac1faed00b47f8b6fa71caadc57c27983e4adca9e346846ca0d5483c3ebecc746d2d5b3627ac41ea2d34ef971de3a74cd38224db893b43361c0b59106b15fa44fcaeff7fd44e7e59f4eca7a01d5a2f44941885d364a6ec8f6afed13ddf4da78a0149208c240a22829c5b91bc326699ee005c5bd58f726391745bcf06522569e00976f3f77d954a97cf0681e94d9194793d901174ee8d4ba0bb3c7c4e1719f81c65b58e8768b14ad59cc3e936a371f59c5836091c4b48a379a044cf818a2023fb4773dea7d228b07276ab1536c847f82b2f7ed8593f9a79dc2233539b99c3af5d89a860b6cd70b8ea1977ca14633d371c6b713ecde48e4b957f31cecb3b86a6e1be74f3e9b945141591281821e6052875cb8ee021b9a5d047ae367aeb7277e98f864e2a1fcea8b97daa0075c1029fac328961c8f1c7563137c4ecd0e8df40971827e0c383a401322a50e8a122b9a58d1730bac9fa49d210d15077851fc267149ad3a455fac0fade2e9fd76de8baff417ab308447b93513118a8efc29980940b8137e4b3745a750b4290a1c72477ae3d73a17a33ad3c46f9785f1749bc10c37696b9898b64464cc5b644960f2aa699972eb176dcba849b3b351470fa05ba1044e51db00adbbdd5113302661ead4751772d80d5293b24aee2bafad4ab4762f9e5fd8493f9b5e9c9b816db5c0d18e6975cb79fe06164c759b18931f7978f6532738b9312cb1fc1a9105276e126ed81ff39829e6904c98ad798bc3d48dbd308382c3158101bbdc52dca5168de14005d025ff5cc13af1f196c5c1ce2d1e06669dd3ef91960a1eb635a6a05cd19289043bbc9015534c2cd7dec4dcb910e2a72f19b73709d3300476b0629db87651f9489cb05c056927b24ce4427f409ac3948cb1c3449abe6cfda254ed11da08b6153f65120b76083d00ff08d56e84015cbd8777c732b30749a6a35077fe488d1c46f77df446913bb41b3fb28a209ef823ba2af88c85025ac9104d214630d130a46f78b5e76bb9b0ef548e2eebc767447e5912a3b65365576d497eda4e984a1f074a1077829a141815b2427d38c2c43996b0aa6a3b94dee636edd111ca6c0d10657241ed98ddaa07e821962d45373cb6101933b0369aad71c749dba01530a0a0533a45afe37a5ae571efdf927914f74558d9ee9f43b310dec089f812156a4c0683e390a83ee3d1b0d0bd362c16a80bad0dcd83c3d9e251e33a6073b4e8c0bc6fc0e866c112548dbd180b2d0bb690df87451771acc84059023fb2ee8fc2017f84c462d81ee4f2641810ac205e56d21006b68d05c392d22069c4e7df4002a361078500ed88c77a7ccb72ffd0ac2497a83e2f13e0465c044452d0eef821aca8b8a6c0166a35cc4da9002cff41b01f0950ba235a09c4b470ba4fd6684d55e4fd1a158540f7d2ff0d307480197b26938d10e4b2ddf4c07340e19f177e0153aa92fff398b2b9b28cc923123c893e8fe96f7d7b0126c821037f839d4e462698087c9ce1ffe1322986cf04082fe7918c03c121824e7ab46963e6178ff8f959e105fe52360c7518e7729721b6ab9857cedc1962da8fd443e1388813490c3b67213e37c7dedf829f4a8aeba123aed3067fc3797ade239df3797771a3222fa641289d194ca20c93cb1a1aaec38c0a21eac0382c5f360da41821a10573d43c3e18bfed3de997e994a11220add1dd5715830eccb4e540ea2cf72db3b18e846b7b70012eeb5d3e06f7d9727db2fd5b8c376735adebe74235bfc0615b4fa841afecabc1b4f6839da5e39d549c4f0f1bda6710ff5680046c92004a76d0164500759b03f02b586a9788338a73ce371fc4cd188661d775523d54efd5114732154e7106feffda2069aa185f3f5c696666fb9b435ec718de61b59195bd72656f2972cb9492043f0166016801b6e36aa7e3baf1a6ddcc6257fc619a74442a994aa4119d284d68f418b9e975eec5306b3bae763a0e6fdacd2c76f5a8b556d30ca9ac7c223a22954c25d2888abe159510cae5e974dcd5369c59ecbaaecbd3e9b8ab6d38b3d8c5610cbbb77bcf4b8fc7a369d66659a7f374ba148737ed6616dbc1a344df0f3483d0abbcafe0f4a95ea211a9441a892e21407aecb08936667cdcddddbd23a54b972e5dba74e9d265272d5925275dba74e9d2a54b975866f24a4d6ed24a4cca4b56d613ddddddddddddddddbd23a5b7b7eca4b7b7b7b7b464959cf4f696ded25b6299c92b35b9496f6f6f6f6f6f6f2b31292f192bf951468f2740792363bbbbbbbbbbbb7f6cd952ca29dd46be478fb1dddddddddd5b36eeedfabe3ae3b8fa9d97ed51f07e5fcc7edbee9aebda96947ef3c3a57fc785b8bb7b641163620a06e5b96c78f1a0c3fd0394524ae99c4f29a5333e9d73166961692981239393dd98dd18b38c458c92167d8a9f43d3a7f839d166578b36bb5ad4accdb298140c8a45934dbb99c5aeda1dbf3b2d2d2c2cdf7f9f103835d61863add5c349dcb49b358093a76f4fe8c9499c73ce39e79c73ce39e7a6dd6cce39e79c3d298039a9c773923fa00af3e9d349299d74524a279dd443299d74529a5d4fb7a79b8782da530d7b6a9f524a69d4516d380a2615d35fc7f8ce12e08392021230804081f7b28103211dce4065e5138d48256a429080250102132d9146a26f2574c040f6be008101024029289f009e2e9093c52c665966b1aba69474883166d97561188769c7e14dbb99c5aefa92828337ed6616bb92d45aab698ae88854329548232a42c9b917c3acedb8dae938244de2d75aab697e223a22954c25d2888abe1c949c88379b5d2de2cd6657db346b31ceb288b798140c4ac8bd18666dc7d54ec70569626317b95863a7e3f0a6ddcc62d7d45193732f86d936aa06f6ad07e5b0a6e410a3589f9c1ae120fd001a0d5cd327eeadedadfb56f7d6490e2b801c627f8f65dd0339af531dd3325dd33644f06549d05678bb98ba175ff467812c640e19f5628afeacc75e9ce9cfb25ef3e2f5628b2cc718fd5920fa55db5c4c70ebb0fe3282b1fc61d77c64fab360e0f8d4ab68a68c35717506f281f52eea9623f10604f6f74cb7680651054d4cb203a761645555d5b4e4128fdef201659ef1bebebfe5c6bef41c6230b7641f82e57f3e95cc71c673a4c99105038942a150340ffae38ccdc706ae51892af0c28e1895a802e3f78d5062c98f07f2b2ce5a3d48a533489fdad68af1cd4d182dcf558febcab1a6bb5dccfc8b15601867ccd4005911677a8686d35ecd5ce0171705105ebcba50eae2bdbcf4a971d5df6fabf7d2df862a88fc0d7d92fdb55d5e9c024b7feec2e3a58386ecb1bbdbe5a54fb9838d861a072f5128401f918b1c8e19e2d398651ce6f016938241e1dc8b61d6765ced74dc92390337e056e13e59f81282ed87754286fbb35ecbb5bfb07168fa147a0a9cf19381b7de59f4a92dcb5bd837a1bd66fbfa5755830f244c809dfdee6de7a9bce65d010242af79f8fb62b03fe0dd7a47354e9fec5be0f7d6e370e5616474d95da61758bfbd7599eeadee456f3bcff3547f56f7a1a7baf718ed5da64f5d0e1f34bd35faf043fa10973eac60d7e5d0945d943d25c1520e2b29877894c30fa879aa4fda5bef319685e206cd0d507beb46d06c8c39662c70fead00bc015ece39bff588c3a66a5081d6ffbf8dd23b4a4dd372056afe9e09bcfd0323aacaa4891ea47de8554419a43dfefb60553500e13f7a5181afee07cf213ed051ae2a932887221cf41cdaff40417f90f62a1ffaea62b03fc241cf202d4b90e097abcad4e57bbd5df13e15af5321af531cf0da8007425a9f3d1011f43c10f23d101658c023e07da020ed1aa0f503bc110ee25cf597f202bc110ededc3161089c1daa9b94c7e85386d2a823b59d90d18c242964630e031a2414c3400c052114c4c02c96f61300840a288389500c04418831041142082184104208214242048410629049581d0b9539da54fb6c73a468588e93541affb477130c711d17097270eed609de62f32be43df1c29fd0bbc480c907a3cc2edf8154cfa29bfe3c8ef995b05e19d40927879e2f5da3c57b62b733ff097d6b9b9d013e140bd9db1858413adc79db9afe8979778c53a4db3d70df0084d652208496fc56415b842b9e45028d0430d67a084e0e1a65f6a08efd49077efdf31f2bec846dc6b7ca9b572492ab5cf956b61587e22e948973a2573bf20cce9ca197fee4ca99c83814ae0d81cfa8bbe7006a049cf165ab13e098c61794507dc11e22b93398b4d951a86902df7245b4a7991f303fbe1eefab09247cb233ef2d96edf11af39b0087a202686fca73b569a1f2c9ca6d6794e704bb6abcf01ea493c6f5d066773c1d543a371bdb3c0e5936c1c1fddcc7355dd0655c4afa6fc18ba7b7c831e15d91f90d153e624ae386444b645f99c0e4ecd0660b802aa0275fa56c713e2f8ef9c6ef1b4b01e04ae558a99eea9ba3e2c3fcf915f163063205b876f96d6c7491c2bdd8f2460ad2672e832a741f322bb2292051e0bf782c5f2307063c84cdf22b08619638a6f572fb6094c5f9646feac6411f8bb7f1f32a6eedb2c748ffedf84b244e8ba0e98fbd1ebfc57804e5660f698de0e16850e68cd63ebe466b585d8945995d38de01fcdc63409b94b1ab2d9a7a52c884980b74110187cdc15bd2a24215782d3a56864bb9f71040b16698ab57418e9acd371743b5baa4dfdd57702e0ebe3063793db111cc7e71b709b3d41d0921f0292925e2eb30dfd7d5a19cd3cbf3540afd0c99a25c327ef929aa893f82561a530bcf48d14b0e1a6d1acc99788f6599055c83e42fb360e8058f829f041098f59461c73c457206627441405b34cf1679232b917b440da55cddcbda75efe168181356aa860b86afc13baee300ed577ef02290234badc468e316b66b1af4bdd2cd9f18f04e8d91ac4817c7dd94152ee331a3db64730836d5dd79d5ddadda754b37ff82a1076bb917eea27691d50707200027179c1f0d74313234b30effb7070b4556f930957b4505bca7b46c5a1de73bd0432da4a2086b53b00cb4d4635922316f4bf4fc38ae489558d89abba2cf9ecbedfc4f88fa9d9655d71cfd2794c61fa1ba295e69aa0fb8f7f90872110d6f414a40c9c7c668d0f385851ebd5132c6fa0b010ce4307ec926f93a1966af4aec0193dec965f7a1ea0076192faa3ccd8918049e417da4ce916bab19099e52c5d35c3b4a084d7685feec5f8c217839a6e38748d2ae014fcc624be9375ced9a62e640abf99533057a187b717751f87ba00a7d734642871ff851f65944366ca9c86b7da16dcacffbb1e4de16a8adfde22c937c2289ffad517265248732e8269b8347c6e66c59595de65b186ee79eb32eee6f58855cf1747e7411945f701e3ee4f5ab36096484221ab12f1d787676f8144bba671f19a715d1b0964ae2d33df2637508cf2e631417f7cf2694f3cd6c61517855f317513b2871247570d357e12734415924454176be6fb0e83b8d92c9e548575b12830fd4a12592a7dad1ce2df9bd92022f3f4f06b98d1138ab70cb3a93c45493b1f0b4e67653f2bf3c28aef4b5be5faac2df883a3d2fa4b824202030567358744b71cf47358009b26463524cbe06c32dc4412353374a671dd0ff1921ae308c426b828f41bedf21f9939c242a9f9c09de3324a113f2dd237af164ae1c9bf58e7b3ab42de370ba233349445b54651ebe8d3366e127beb18d78830ff46be6d9421c6ca643933ed5d682439b3fc99d6807dd832f291f8c69903d0ca57cacce80c1bc07927f38e445fe783d8b22fabe06d3e668ed60b72b3e6c90b250ba64aaad653cbb5a197f1da70fc476625569567000e0d04947a24d11562b3f7d6542d4702c76624516d5218c0c3c50b675713379611a0a9f097a7baf8b6dfb2a3eeb6a365ac067bd3b773ee980b36625e52a52e6304c857fe91024ebe56940b6036c28284607ea4fddb047ad4b76f2d2c1bd23022a9d7455d873b079fa3564435fff7e689783f20039948f010daf173d13f417f6a05d8bee8f276760d37ecd59eef849f74bc047dc4643c6e57f93660cbeb1d147f7a730f9c384b66dbb1c5a12e4d6eceb33b2e0803b0f3c97fb63965ab0b09267447daf3054245b67e09f540c897fd8a9ce353ff507ed1c06c484fff56b8d3c1832acfa23755b3200ba60b3c54be6bf2bd8ce34ab7742b85225127a7dc6d874f67f5b592c601117bda400ec700516af4be63f17aeae175b47cc72b3137d620982a60da5b2de5d2db56a83d62ae4acffbbad79bfd259fbadc27526b2c515d179c5fadeae43fc43ce326219e9112a68fd07b504f5bd36a2fcfe1f6f17828d74b6bedf472fb80537a8717d02f077ef8f2b4befb089c2c06f1afea3566e2337ac00fc68e8bb7feee2f87e50d5a19a404f68fc836df6bf88e819c71e9f6deb0e7bff224adc5e7f9b2f11fd2b80b5fee76e4284ae293e2ac4e453d6567f09329b625f8f4304ff0b6ed8fcbf78acf12db3f1c8cebce65ca5bd2964ea61d04cf260b241ec1f4c3e97941ede0abae42c79207930d920fcff3dc3bef9fe658e87d3c5ca693180eee7648b5b6e988e6d2ee0468fa6fef9558cbcf86185303e430c176d27c2f7afa1973969aaa8fca8d592f4fec516b605487b6879dd526ae1af380666f028a09687adf76fd2ffb7a6f9021864ee77749abf21cb0c018cca77a44572fdf9405ec0e2332370576abf39edff76ff1580fc816c0ee5b79791bf390780554ffa13afc874df725449d4f8e0fe6d6d0300c9f96045020e014f389789f046839de9ae6edcb67b6cbc6cf5dbdaacac38e77e21ef7de07fbba57ea4e3475fd9ae48ca1dacbf216b7bd7f0bf93454dcffd471c7f3de92bd25a3fa5c251c42c9ef43fad60dd96dc15f63222cf2f8ecb078f900a3000450978401b252c58987587363438a8d41c3ed8dfb6888c7b5accce95cef3e969aad8f553f4119b044003b01990dfb83b98e6252901d0348153a1a54b7c5294cf251e423c436de60c4f8f185e17ac9ce746da0660d929d2e35af0bfc2280cdc884116df112ad28fe4275b5902699d687ec230f2e87bd27dbbb8ffee263f756b76cb4a0a40b5520026f489051e4230fde4949b359a4d32aac2cb73d60b611d806b54fe014e767393cc7fa14b591fce8f9ccff3e47fbe160b8758c441b8ba6eb72f8bae56682c329382a4d342f9161c173a38b7eb697cdcaf5f415c61eb8b6b1100272101abfeb5e6acc34fa62fa07eb08a220875374353284838260042e0c7376b1a01d035a3e63b5916423ed4f02d5d3fabfe273980294bc8c21d7a03f03684dd9b280180b0dc00460e38f75a06e02513b0e8bff634eff847f48beaf7a3edd100aef80d6aea32d239ed5128c4ffa7a0e9fd34ee6e6b4a205f8982fb3f9943f6ffff7dbeef874c0198c7cd06c9e52946f5bbb4792cfae7668117596fbd40550913e6e9228c5557acc5ba4cbeb43048904d0dcf2e6adbbbe80aca70a6ed47aa2d161e2596d5665e25d32a68a1eaef58ad58e3b0aa63ecf5d5abe948451eb070c007b0e282b3817b051029f49e6b4a22e6e9512ba7749e8fa7a963559fa3c5138b942f2bb1cd39a2b987673a2a9572dd6d545e1c73bf91753b09dc08fef0e312907804e752cc215eadaa2362db1c8221bb39b630a1c315e044ea9ef0623539335e68540088b2b50065b49f25c24d0276cddf4eaad059fba105b07fc5c0dfc453e69dd0cad99fa680baa8e7a8f8a4e57346d48005c8c863d33ccef16d9c40eb4b4ab46ce2261afffabd24d49515c7a89f212dc860a8a17bf0799f3ef7e1f30a291b752a20de0b405fb979e5d2c195633d6302b46c9468b2e36ef42664bc465d0b8d65b3b05f13836a65e85a68d6b406dd1ad26946ebfc0348cf979153724bf81e9d7f61e6c4e1f36816c5e3a9cec20199736fb8c31f6f29daefc36f9ca62038fe9e2cb276b0104ba4c0d99235ec7776c3ed39a1d11a6bd418001d6a914717aaf0b4d0eed496db99dba30ebcfe96d083afdfd2adaed779abe2b6fbe2fc4bd0907e7f8bb478480795f30f147b69c396ace3fceb067e362ff9f4ada233f7578612f6921d303aff249a3999f4937fb855aa10c29d7f7a79c2b26a7cc1fc893375c042652a4d8613587d87b36db0863affde6d8628a8696ed4642351d8a7869888f3ef5d2b0c69ac48994af94bb4888df1ff6bcd9805871bba15387f68d69f41eabf7ebd43f94f8f417f6eeff52b7fb31186f32fdd1a1a93042860c9651562808b9c7f3d160330e2d192ca31f65f906fe61e38ff98c1f200f3296cd9caae453be9fcc3245f3ed80c8934f63ec87a74fe9c7fcc498cae938966f796fe4936161ac061ff265cde62b57a5635304cb841e5be2491906135c0d19ac4c638083d3f18db4192b401ed759ccdf2f3ecfa660e819eac8c837ec4c79b5e2ff6ed4ffabec142a40604f905be75c55c1155205a994d634d4d74948b255446ffbc884af4955e0701cbd5b6ca89246aae3a7c4f8bc599c3fb609f64bb8d9c2226344b3525bb350243107c38796597828f2077f3474be52d5b74c3dfb690b6f7de7befbdb7945206ca10ab1064114908b92653a99497596ab01f6f4f6e2fe562cac114795337658fbfa994a7f24fcac5fcc37aea9c4e392bc50a579e7aa97c65a5a2b22249bcddd8a9db71f5d4c95b95bc95d0abaf90a931ef95956b65f59cfa59925cb1d6fbf75db473da4f7292940c80903baec84f32efef5be59bf725afcafb459236ef7f9fdeb781389da2602a7511ef6b716ca1c9162c58ac58f1f2e2e2d2d2c2c2f27ab95cad168bb5b2a2a29292b25addab52a55224398ea21886a026416deffdf634ebad6f4edbabb4f2ee34f995b3f09c332b79abe4d5ccea62f273c6ee4932eff1f37602713af5116f23b47815987f52f7bc7b24994aa552291c7e7b4f42882683983a65044b0df7e4f8895f62e7e83d2f66204e7b33a4faf3303d32c2672a19a181b61e5c95c5062e6e2638e756c139a37c0d530e2522940eb0801ca61c354428dde46c97f240ef979e5b91488f631ef4be9fedd37207b147e4d27ff986871a995a6ef3f636fbb09ae6193e4c7d801c9f669a735617bcc04997b13ba93012c5b6efa26ca2a970c1129d1a5db7bdf9d07319c8e2a8958a5a2b1178b37496dbb66d4a534f271c34dd004ad75a87585fc1ac1cb416eb625f6c2def3a8429924b4f546975489c640f8b86a19e95caea14c81db40db569ce5429cc9956148ca31c60c0b0c0d044659a9a8a2b94ca53a36a59edd1cd930e37cfa9323632550a13a7c5eb6bd3c421db705db473754dcfa974c65340a03a53476d505f98e398fac1dd9bdedd3728f238704837e400e33117e7e59c3827505746112cdc14942d4a464a8aab82c17bd32f72b784d421adf8cc291f34b917bb18cb5db03cd518bdd9a06060720c24b5ac4c6a6cb2f89cfbee1766c95dd27138ece5572c61b90b172e5c2ed76d4cedcafbd3ae0bd12ebced5956d8670bc4e915b9a3342ccfb12e70c7846bf2fe347eeaf36a7c9abc5f1a3be5f1a9077777355d577f8137a7c469734bba5a8dddbcbe9342a9c6269295c572272377291edcaea896432418ea53350e4a6f206ec6e901304367c6eb6976b1879a81372851ee37289b3ae7e4a4ca66bcaeac8bcbc5957baa76d1aea9c63ca82eaade1b6a49ea9ad4774e565675ea5d5135b6bb1a14941a8b524fbb9a143576a3eb67608e4985d55bcc31d5b25a2fcaed9aea533bb8dc921a5bd1f53778d3016f3446deb16996a9294bde9ecc995a868963836a96899383a5ae948bf366262c39774cb5ac4d68b8dbd346f26c4e9c98342d2dd9a450aa65bd45b221d5b2dabc19a965fd27c933f3ebe07a7ad7a616e790c0bbf20d797f57833038246d933799bc19217267f256e4f906b763b2150758f9981bfee2d36e50189f62d75d32b787e1fa9c332e98d37c9240d8b33c3fa7ce89c3c3c5ff15af2410f63317ed58c3b3c34506a2fa79ce99152ef2b6dfe1691777719de63036fbb0da457671e59e4dcf3993cff21a8a5bcf7883c20dd5122a0a0ccccd601f56e77019bcc3d33964ae888ef954a3407144382338e4fdc1f2be312ff37edd90f75d291bdc8e49c754632e5edf35a9b1fcface498dfdf51dccf1bfcf1a5bf198bc5f2ff2b62ef006b541d9a232be582bc9f35772070f7e0fd5f9e2bc2e3e491e984f72078feb3d2b70f754cb6abfe22bf2cf8adb4fcde202774c1d0cee32ee30ee9c3a27b8836a91bb277563c91bf8850bfe75973d4ae9e056bd6b13d3ebbb63ba2bb5ec98a68c45dedff78e49f6d45760ca0455a1d458ebe27eb9c4d797bcbff02eb9d692f7ebabb095d7f075578a6cdea55e59d935daaedcd57d237b58adbcd572e5359abb0cabe05deabd41f1e0561c94aebf48ba5ed531ed1abd37235d997c18aa63d275e7b0af44a797d249eda7ad4356b6e9d8114a462d6bf65fdd6eddb694afbe91e73ea6e015ebdbc6e994cf899312d668b004c194b7d8ce62fb8aed2f2edb5bb6b36c7f6d175bd8f5b76e5bfbb6f21ebf7257dee6ccb6c7abcec294ec19aff2d50ade9cde6e55549bcaeadb6a35b7cfb334c7d68778cfd020de9fb69472b54e728855bb1a50a8110909096da24ea2a051254849748932d126b4210ba8304a6f445963e147ff813a643629881e92f87d96dd29528e8e7ea7cfb1913eeff2ee8474774a674d7d99d68ee7c355e7a8311d32db1132e3588b92aea0f7f5c76485177c501fa8a9e1c4d13ee5ee2d881e738efdf0ea93f4517db4aa39754ae6eaa6121e5c0145ccaa2b17effade74abb5325e258ef42ad5596cca551f71ca8df036bb8cb7275dc6ecc37dfc786ebcaad5bbf0dee671955343ec92927d56e71eae3e534f19cf8d0fbf8d38851b714a2a25b3c870cfe59fd453f20fcb55aabcd5f2f590e5935ec5f2b257b9aa75576be52a766545a5b2e378bba242923ce03955de542c4b45fcb77157c9f51329e91382208953aa1e2e5bd53d876d4a8a2a6fb54c9963fe013bd207cc7bb5a5a4a47c6565a532d287e1edfd6ad5b252b92b57e14dde5bc93ea81e9fb281c6903e0cc58fe1a8c2ab8f7807f1598d575d90fc97f73c99359841efdb30bd76b3f455553d10a70b71dc8468d5ecb0d89179d6520c3b9cfac5aa8b78e25862b5ca649847aa5598ea5a01d655a82862a4c5b390b4b7bdc340a89c750ee3107f2f52dcbde2f02016eef71dc4c22f7d977fe856b98faa7f5c0fbf8bf32425f3a6b7e7874c8de39c3362483ec4a979723e3597f0b91fef531737d5f7fee8f9113ff50da29aa4f8335e4c42881ec714c53de4e7a7fee13e35c5f763ad946e1e3f863450d54908d1e1e98e25f47d0befa0fa262144cf153c6bb99a73667ccac5e73efccd3ff3e4c3fc335e0c4292f724b65b257dc8218d84a6dccc94c364de744873a2b8a9443cdaaff2a038bacf5ade8bdb43700bb963debec3ea118b79bb0df1e30f18baa8ce3d3c885d540f0fe6541eaaec237e7c18661f55873e1f910ef34fead47510d3213de2a9f1e4301dd2f447e5acbb544eb25e491f95b32e8a371c3fc91b2a67dd7b085447ece2235ee5e2558ad0f46cc09d54a06049536fa4240e16ddf4d87d2592eff088672dc50eefcd87545d4c4915de412e0a6a9a9e1455b2c89138ba7f5e0854bf77789238bc93173d4c2b8923cc64494f92a91c5cda7d27f17b53ffe91e4e7aefc5ae7bbd0bff9abf3ff4781f54d36faa473d9e673c895d3a97aecb3e77bcb8c2dd5538d5a952f75be572b34feb2eaadfafeea2ca3ef72b12bb90577df50ebba83ce5dd45d7cac731c4acbb70f8162b6f212b21997d5877217f3f7e934f5d855dc8ec733f7ede657cca49165e59790b8b67adf216b232795095ecb3bacbf87bd5f7987dee55f3a98b29e353178fefb0ea29b8fb0adf3c539b92376c80a80eabbbeca3a6a2b8f4934be1e0d24fbba39bf7307d8ee57c58ba0eadd4961588476ee42504f01bf337b04c8d79f73ebd4feff32e0610811afb3ebfcfeff31f403984114054e0c6110ea4208e0871ee731fc9f1ed33c8a643c4e7a70f9fdf763effe97c7ed49fbffffc4a8bcfbf587cfe65c5a78bcff884b9ecf333629fe741c6e773723eef430f9fff01009f17408dcfe758f9fe01523ebf00faa9c36f3e6d1ee3f33f6a3e1f84668807221a349c213b14bd88b88c5a45589f3387f199c3656a384801fbdca9cfaddaf773af3e37f9974ffb96cfd32673dff0f2f3144a8ded178ff93c8dca8f6df0f83116f80b780a5e49c05bf87580b7e0173cf30af016f843b4b88c2166e4d9c7c287bc5776f24e19e2d522ef9db31862c65bf2ec0e21a3e5a580d6105fb1801603c84449f6cb6579f6edd763319dbc59bc855e11cbb3db3a51121679cbbc9dbcf56379f6cdc83bf60d3143761643b0c8fb5f31048b15274aa2f33e32c4670c2036c465e4d98dc938511259de2caef3bc575cbf8502de6200af6f002dad957f00296f9167e300dee2c800dea280d700de52c00cd98992ace4fdfb9092778bef5c05abdca0d92dbfc9b3efc6eb4449726ef490b7ca536eaca4bcdcc8f9eb064d0fafaf2020ef95a7dc38c5334f1f49800a109928c9be798c3cfbf6cb6b6a52ae5283d218afc9b30bc4be39cd332f8502e03579f6e5e45df3dda871f3941b292979b74e6f64268892a40020ef23375e23cf6e4dde3479766b68520e00fa1a5741402b46de37ef0188970f88182d2f2056f26e5d058815951325b9c9fb08108f81801720de82809b18274af2ca7be539adbc55dec35dd81544264ab27936ec30f2ec0be2e5444978a091b7ebd58211042cef9ebf0401a3f1f297015c79bfde0ae2ac03b87064a2249b872df3c1c0c9bb75d70e2c18797665f286711cf2ecca9c28492bef1d3c9ee390675f4fde387c41e0ecf05610ad162b8816eb444978f23e12c47170e010c4613870809d28c90e79b78ec3fa0e77198087d3c001e3c34103c72bef96bb7064268892bc8892f090f7111ca7610018382e63001832274af292f7eb3ce4ed3a8dbb102007ceb3efe3295d5a72bcb4d828f3ece6f881e725cf3c9df7cb5b729c05cf3c7da4002e4264a224bb67c73ce7d9576697150b4b199377f99c6757889896bcaf67e3ab1cf83fe4d9976375df92a3a58525470bcb8992d8c8fb488e6721708eaf84c8f844496ede2dbf2c5fdd25cf3c7d8400aa9e4f1f11a2fc84e0495d25c44bdeaabbe4d9a8331344495e5c4e94a427ef23429c870065de4768d711e2317976351344494aa224a9bc5f9eda2e3eece8e89c1e005083071a383bccc02e2ec3308fe1ee3230f81bac430c6c437588780dee4e83c1c3c033323887aa43c471c0dd61187c896fc84708f018fc221fa15d87003988d52122132571912b522d274cae486a399f71778cc17f3c0b6cbf028b1fdf82ed59b0f81726efc2e35bd89e85c5af60f22a787c0ab603c001f810d8e742e0003c07f6390e1c8007817d0e040ec06f609f8738d42bdc4921034880a22ff692409bc20db40a5b2832b004069dc29d078400a505251d0a0027a12771a5d521b59c17712552876a390fdef817807b3eeff0911bf948008c8ef8e4235d8bf404a2003dfd122b426cd4ccc4e4b9b66e1ddc662dd651a3b79ffa695a4f81eab66ddb56ff595a71204e17db2a698ef5adc3df584b2525511839d257e5e2456f347aedafb0546891ed481e9507f1a68ef9a4c5af74575d650b31d27be53ae6935679ddba8abd7b785bd553debb55159f63bb1d4be8ee1e06f10eaa3baab7bd87c17bde29e8a99ec2ab83d882f73c9a7f3aef602a6f42b4cd5dadff8b8c4b3ec5923c21ec24867d85a97e8dc1ce91318f69f1bde9179f3586c35fbc9238c8a7fc88f74451e5e140bef32e6270a57a975dc477b72e62f649793752179fca3388ee2eae9e635b5845df8163875517535f5d7c4e55a9c0ec93faeaa9bc4a7dfb067ef3f016bfcaaa5fc4e0eaa2378a4178787b07bdee07f30f0ef7c498e370a3fae090672d63b297778bbcd5f245f949e2209f720f7b1d48be23c59721c9138ae581ac26612549fe3546729f5b797155e2572db9975a72e243ef1d0e4330e54252d8a63c9af2f954fe726aea16ef4da7722a03115e0c535a57e18ba1f7b0034152f5144ef1ea45f11d98774d61950ac655aaa752a87d7e25bd839d4f154fc91bd5a7bb7821baeb6c163f710ac43e293aa70e3710cd4b68f1db67585f6ea0fda385b95f3cfe56e78e201a88eaca1a499eed2b78bb1546cf15fd88bb2783dbb444a996f4a8483876628e49e67897a9cecc2e3d9bde41dbb0e98ec7f3f25edd03c2cbb469b5b352e5c4f7543d7e955a758761bfbdaf96ba7bfff1725dcae492f8913c2b4bf5466218b816a9a1fc247960518846446fbcab54a5d522a34a33c2e1dceb904a44c4542fa1bd2e6fd57778ba0342f5215677343bd461daa4a9961cd7895df70de909053d95c006196851545df466ca73aacb8da937c551df7dce99d5736a2abb749f5a096d28d2303d95c0860cf89057bd4cc138601e9bbe780359ddbd9c52c0704d732f318d02c47548512d397b12839d05bb8ebc416ea0cd5d945b97d4705529558ae30ea2e186ab7ca4b98b991621793c22d7cb9448a64537a0b5582b2abbdc35ababf09e01bb46d3efaa6fb18822280d30ff6c4fdd48e522280d993350d55bc85604a5a1d349872f62e40ee2ed9f8ded88ca5761947e2a78e5f5c355cfbaaa6118c4e9a2e36c6562aa156a097757285a87545925a24e2a8cbe0ea9432a914aa416a9459e3c8102254a14bd3f19355261f43259042a8cbe4913264c962c51a2440a29a28802099222458810a143e890274ff4fe349428510450653e541895b9a830fadaa409fd96f0c003fde8f7a2f757f7ca588de8fd794464a8575342a416d55aef713a6a9d2144e635a5a62c9aae343d386594fe9b38e369de3a6e726644e172df3378007f5055f1f5376158ffddbc3f552a9318cf527c056a5e6851019abe569fad0135e26b7871136b6a4c0cf341cfd39ff71a2fd750ea517a44d74de4b61badd2b4842c68bad1ed46dfacbecaf7656402d990aa45b5ac29a775f5e7d4149322fb9413aca5d518f9ba6fb46df996d1f6c50a6d59da92dae2bcec6deb22892dcd0e41e192b761896aeda585deb5d642ef17a6bad658679dc5687ce1f9cd5a2e0107487a5a41cf25dca0a629799b70e9e737fc62499e5718ee9e5ff9ae452e6f8adc58a36a2cb66b607a62163d57affcf9798b6ff4fe497dfbf80982df8e2b548a0977fbae5050728d52fd6565a47df8c2debbd1991be7ccbdea1dde3533760fba7ed43183fcc576a89644b5acf72a95aafb68b38defa34bcff7f1e3bdbc65f4b6c19416de58f847e5bfd177eb90d1f52957273b64c1afb0cbf6edd5aa3eb18ef1b5ac2fa6bb5f3a858fe45f5ca15459ceb84a51a16a54aad62a387f5ca5a8b01aad045f3313a9652d32aa32ea7125aae592add5da9db5d6fa16502d3eafb59f1daa505696f376a12d68473dbedca470ed9dd4a727358684fda67accb5d6eaa4abbdca036dcedb121dc99fb59e45fef8871773269fb23f16546150751bdb55f93e2e444ff2d6125558cd63b643b5ac43dfa73decd5da73086e426ef49eb75b9e5250713dcc02afc8492a911a9bb78f6df6d5a50ee14ad3c27de1cf26b954973228e9c9cd59ab32e687928e76452ab24752435696caf3f3484a0037dad2a81a7be95c94db94d5ee9342d5924649e17e506a39ff651a45a3d41812f5513acfca3203ba2f4046c74d25aadc1d0a3730e7e7083e306d6ae96e0a458918a5aae783236d572d2f9f8f22d28fc3dbb79c63496e87d5df246b288dd6b7eedc546a75addce50ec7ba6f39b6c3dbc6e1d73fbc6a79cd8c4169cc58cb5fb713aae53ac69c387be33e8edb7650fddd73e5fdd17b4236264c4b96c2a9446f5bcea9e576df3d0c33c8816fa53c9c09f3bed1fbf514fc9457de9bdee2c3bbf07e3d25bbdec22c325c3003d5cce516f74d7bf9e70572777ddfe86dd70c5437bd6d8f41697cf9c73bf86e8bf9bb977fb82fcc3128cdea216eb9c88d2b1516f036c06fff70f881b3d6d45ea2cbde37ec6ab9cbea159efa054f0dce1894e469c9f44e25dd6d17f78feeabe754903bc771b3969c4a57f5eaa586442f78ea1695d65f977c0b930731d521adf5cf96ef4da7a4bcb695d8fa86c12dbb7cdfbc733387b9ebbee222276ed47bf769972ffb789deb9eeb2177fa97300c5ddcc1cc22c3e5320ed7c3fce3ba977fc4874096cb5b2d475bc91bab8b796ebbe5757bbd1e6ead6fb4c53dfcf66abdde835bddc81ad26aacb56df52288435a3844d4fdce1f3c61f6ee912f0e6f7326bcebab65985568feb9efec3773eadd569be7715ceb2e57de5b2bef8dfb563cc4db55eed5fcb37a67833cddc410fff0a1dfddadbbfcc37b09dd6d95b732902d55eeca05ef0a6895afc0fb8756793814d2c0978b2f98deed65db56ab55f730aff0def4eadbeb65bc2bdfa8b790e3a818d29113c5faa97c55bd4d858552161596bc8f7021de6849efa0a7921138e9ebb9c0f750edbd6a4cbcb57cd9587995e45dd0eb73ef7263f594a7e49f94aff24b5712c7cd2b32fa1b976a6973180ee131698c62ac8d2e3c2ad5d2ae749dea1e47a468cbdd90afa37544b5245f2bf9b9bcbc87eaaf4811121768f388d492a896164887dff01ef516621da31e9b6a6c85ca572adf9f5eddab854313e7066d1f12d55810ee0aebde9095d9a32def6f7b43db1bb2442eb8a37543baa28ec8779192e4907d8165386461f6afbcbfebcafbbe1e0e854343db177e5bee227dd93ad9a65a8639f544b3308fcdab19199768fb8b532e9c3c717954ba9b166d538d8577622d548d512813676afb7d6118864375dbb8bc85b9a9fbddde759bbeaf2ed3fba22789c3e5c6f6f0dbc37b1909ef2e377eb24bf7266d2416f94422b5dc8a9296c0f4028fe876dc505138b46d43dafeba501b1488d3c5ee949eb8550877ff2e7072d0f42ecab1caa03fb2bf9a19af40cc4ff0a91b01c7755cd7759cd77994148010dd7d6f9a7352632e37f2ccd4f6e06e372a577353631e913bf39da928dcbd6d9b4d41e16e772ae5a0a8480a550cbdd458b5db015e2f229e7077a9ed3defa5c6aa2583b8447eacbbe2f5e233e5aec95f8d81794f25fde3d96dedc11ab320f8d0821bc77dc9a64473dcb69de3b6bc01b156aca3e6955395a09452fa5a974039bb55aba494a39694eb68dd90aed629e9887446baa20ea94beaa4d0f4dc56ad925532b76d63aa258f929575b4af1b3d92478924cd31e95db18ecaa46b471babd0d18edc577c2d7824c46faf4b5576bfe589444a09b7226167d4c7a4c2e841fc35cd29385d278eca5e6c628282c9c6c7a496946665aed39a2ecaca5c790a41a78404416f6fcd98c1aaa959294b953fe5f59a398c22c570a4e48d1e347915ada92d44a7c8bc857c24cff68fac1f8da83123706c547fff98d45893c8cda51ba922353188e1ebc33cce258ffc94e86d958c8880e779d9887fa4cff59623504b264dff9161d42885a92b8f8ddeeb689adad3eb40c25626dbc410235db795caa423504bfa25badd88207acb476ebd398789871a7b790317e89712142ff213a2aa970343ba9b94bbc1ddf5497b2bdaf3be5559e7fd9b9ea548ae2d7271f9aa2b72394b2e12a52079c45a2d39318aa4995a72c52570a896502dddd03d77b9267adb235189fbf7ddfb7afd65f96444ab5c441291d492bbca7351e59eaa551d921aab7a2e8156a45334f72ea9ab5919d1b60426bca0b9774a449c920cac4073ef965499cdd1d0d0500674e6125a90a4b977472ad113ed28627068f3becbfab8b370a973a997bc2f2bef572af556de658a6595c5a85a7267c922542d53535c966f114a732c2cd9a8cae05a3c9584bbbb228b648f8470593c2257bc0a4944222659598b73176b56b6e22cd788a42b925ea1a4bdb7c035ef2c78d6f22e69cf3b2beff2e94eda7b2bef5793f6be62d2de4928b528f2ac2a9243a2551c925691a411adca5bbc171e51a1e8adc410fd23fe877cf88dec092f8a172da9f2eee52dde56a41a85564a15691e9ba6785723da056f71c9eec017087af4a3475824acf6f297f79cd713bff9a9dcc3474c26fdf32d810545454b40548b99e52f9f24102cf761f518454ed223a50f491b2aff6c8bcb7ba87855db254a22ce184b95c121900612d592cb200d24b2c275b93d3804d2c2bcbdabce791fbf552ad555175599fbc0210be3aeca3b3c7931c49d1189bba2aea8c648f12199e9150f920210a2c522db198916891eddaec8a8c638d7b977456aac95d3e21ccbb9392b9313917e0d79f7a248aa2e62f21e568daf228977783caabc7d58ed6d1d158a0edf93ba87ed7dd8d416f3564bef2d98055792e739f685f775e116de9bdef589682a3d69ee2c9cf215152fa7e4f915712b101ce26e166958a168ef9ea73b22b5e43aa30d0e696e532da69680839a262fa65e499e232d4e3e955d54dfb4aa457651e5ae48a7235261dcc5efae48739f578143dc8a0fd5496d2a45022172d723b6475ab83956ec1ee24db3c044f4c849afc0e0068b34f7ea754e489af0aea342d1d40909139ae28dcb3fe3d0abbe079369d33199a0204e179f5ec0ebda132521dfc4759280a72733d2054fff43474ad3345b546393c3f7466cf407a8a511f40ba82505e6ccf6e9f01cde292affbec2bbf595eaa0eaa2a613c7c757278e8f6bc75370c4e0c5713c152fded32449fa70f1d134358ecf3e3e3d663ae494f4b60ddc016620918ef75621e6c13af90feff8a1c38b231d474f1ce98e1f9a7ce8a9b4ea3995b2de3a897f5680ac4e5d04470ae4e2734d7e6a32ffeca06dd0231da241110ca2f5eba23841cc63ce199a813e0d3ec78ef905e21db4c89cd932351a41fac49cd9be639264a6452e72a4b1f00e4f24490a9222f9d40ff84fa76e636a9594ecc3ea1dde0e2ffc56784f2e6c1f56531edfc37798c78eefde77fcd03f61eee69cd9414f87cc998d661d7366ab402db7c7a0a6b70fe91a9b54c420891ad51825da5e81ed3a363bb6b0d0964cbb4ecbe79c49d17c84e596e4499d1e7c8e0d2faaacad75530d8a2a4d82a7078fb4b87c471242f411974cbb8ecbe79c1979c87ce425539a856d475c72052cac05ffd8ce8244bdc7712b90497bde6d4cedc372416fe4e7f369fa4f530a3cc71a71c3d3ddaf0fabbb3c7207b032aab36d4880d2b4ce9942c2e5fea4969536672df2949830e91df454a26248d7286a499dd49256a75ad2a72a839ef5d4112e9df3b23eef043da0c1aa342739e6234956f6ca958aa3be34aa1ed5925e2523cd89a4c69008bfa9beb922492dd1a8799a32ad9867ce7bd223af6f9728c9b8726f0bf7f74f5d7ce12048bcf6ea490851b9ca0dfc33535e53b28b0f79f1364815f1f742f4885717f1ea936795ab920aa39b7edd5c953ee7e75d5726aa4a3ba081fe68542ba748bc91408cf3e37c77116f73a6ce3c6b691f623a645fcaaa4a514f14aa96f4a016eea64f9a7e23baf450e3927b91bc3879be8d84161f62d50aefa09afc38336b49e6bcc3cfe7d40b64ef46a235bed51abb8362104318866378fad0ea9f97ac25bbc6f11b53a29096d4432ca6c4d41d97f0b927c5a75a30901553488cb2169a770a8fe447723c298e27c553dc9322c9f0dbc4613dcc7853ca4292ab555559ba792031a4812c0b0befa09ac5c2db9cb1e4c514f931954afdf87d2ae5934aa552f7292352a9d438fe7579e4712453e3497b69a2885fa9d65fa9f1add68f16265bb985bd872476f119afe212ad8c2849ea4d5c67035427c96afcacb9b32399c771fc52765c61159ee2387ea96f24cf78f13667bea7f0fe5ade89a2688424849073ce8c239eb5f441351555a455e1eea4289eb422e942aa6c4b145761a86253dfe3c93165534f69e195b3b0ca4952e5e28a8a5da55264ea64ca5a1b4d5f0422b46acb10baadab4ff5c90587f7a6b98bdc0dee512ded91fdbe7b5fafbf2c6bf4c653a3e476535c1538c9f7500d86b7b3466a935a3ad5d2492d9fea13ee1225e966d3102e982d52b64729215cd5f71103551d8a4d9a3431a925c7544bbba496dcd2e43eb7ed5d0c6f79c69124c9aeeb3a219ac3fbdb3bbcb98f29d58568aea334f423ae4f9a28dd7d43ee89b6fff4adb1eda5c6389989333b8e9b93e3b81c2ea909dde51ace0a43ecd615e9092384a4a211875f73a646415283745d4a7dea542a95556d9406589f34c7711cc709a14f5d8ee5303d885352549da8c25ede546f9446279e237944ab5275dc38523a64619da543a931547594e6fb2aef17993d4bb9285b948552a1e8134db76f94c6d45bae4f2c32a8be7d8379cbbb3e712ce1532df963c929aecc5239f9d659b00b03711f2bafe4fda9e494bcef467efb2aa7f2cda91ca6ce69fa8ed218f30f48de08734769541da5a161ce1da5d938ec7dc3b5ac2ad18e9487a5867b27d75f2fec52196165950e6d43cfafd7bd3de0a9e6f20eda86955ada0fdb57bde1cda2eb6be2544d298dfaa4732aab5e2d88de4a255ea78c1040ea23f6527775552911cc07e2c0bb919ff8adbebaca45d757d8a5f2d5c394bf586f81a95b4ca658abdb7bf023be4fe16d844ed9eca2bafde8f27da9eca2ca1f8dd89623adb7e3da478b0e34df40cd199ba75ada3ca9a5cd938d164d338c490c774f25da863125e9ad8a1b42dd1d731486e1da98a31aeb8cd41888546334a9c6ba28626a314a35363bf718253516b4b4a4c698d45850534c93182735e6d2e59d25bdb3a4963b3b33bca384776aa48d96eea181e1d2afbe214065366ab95407e23da7b0b14434ab05d9c3e92edb3c55e16e18938631c19854d9dd628e623147479c3be2603e62c71c8d4a58c56447afa9c6589abb28c24690b4c1d23df24d8dd63ad73a90bc6b5a07cabb14caad07e5d667b97e797f2d2bb7d806cac2b883d8e689cd532db9df3c4d9caec31f6dce58e0fb48230fe60cf70d8f4a3984244f77203c2e2d61aa2557e33320dfccf803831f499e0eb4c03fa1203c2aa1197f60a0ab489eee333cfac0630f3c2ac19d06c22e5dee6169afa9965a64b168719c615cac78b9a184c9e0d071e2262323d362bda4923469a3458f46b5e490384bd4c4e9ce6d9525cdbde82e7bd7f124f0d43cf0a6d7f11d34eb188d6aac65aeba91498d6d163344199b46a727ae243334d1dcc725d0eb58a258a2d4181dc3508d5d225a4b4b518da5cebd85488d512d208179500c601e9b3e026f314973bf00de62149abb8e9f8df76701bc6f05308f8d02784f006f2b01bc6338a1b947a00604f0b6460fc0db1e3900ef971178ab9c34f706e06d8bc0bb3261c09134f705601e9b02f01e1380f78800bcc703e0fdd23bd3347703e0fd1500ef1300f3a044e03d95a0d0dc0780f787c0fb0a81776592036f9b011c78d70481b78d18347720f08e71a4b90b00efdfc0fb0600ef1a1fbc2b931f628e34771b787f3d78bf78f0ae4d7cc0db3ab183f74b47e35d9be4ec39450f787f00c0db66a0c6c803de2f1a781f07efbb03de2f7ac33869ee33f0b6464a20d0dc639807958179d01b1df0968144738f817765628377655283b7084573a7c17bd47b2e3d69ee30f0fe66f09671a4b9cbe02d4389e69e03deb5090e384f9a3b6c2ad1b6a5dd80b7a5c5e03dbec0db1eb9c0fb6a988c8ff7cd935d99c428b2632cd1dc5ff08e114507249a7b0bde3a34b919a2b9bf300faaf7340292cd192a93159b3da770d2dc53604c46364f26a851024c34956824c0441b8c0826aa338cb6f8242e696e8b4d9a3b89f73844734e56369bc62155f6e9709f0e77714924a2b9ef51cc5b646ad1bb4b3ad29ba375467aaca96a13879e6389aabd44cd19eeb33ed19c18a5b9d311e0a9d372a3084c8c543aa82238216a539a41c754042654e03cd5b07982318994ec69d13b58e83967568a88740f9fdc3d2af17417e736da2aeeb6854be9f7d40edb83850662a1a916e7b7395a4885fbd1e60c773b3467bc6b967e599a2c519adb1c4d67cca9e3129d35d5e531fcc2fdc65acc910dba2a5202c5d1167364741473b453a3d5581d9a33940b7adbba7fbacba19147533cb194043144591817c4a4bb7744d86cbbbc7fa868ef3b5a0451d23b8849ebe8923608a5bd7f43431c78694af14ead961e94120e20498218ba17808ae0362b614f45906b8cc5b5854e4f38a3232e146d410b5ae0862c8cfb361e4d6149e7714345464849f55ae0c216904401c43652acb2845986900322921b1a42144e36a610400d210730a069ee7b4e515359ea824e8218b6b19237aca6e48d1c9aca52b7c31285f3140563aa51b379b232b200f489a34e16c6a5e052ee638dc58926d1690a27984626d4892a989c300365894a82e634ae6789aa316eac8d52d4d89ca20c479afba854632d9afbf83442a9323089fba8a4c6e69214908cb526cd51a51ee83d3a696e4b2a4311f41e9f686e8f4b9aeb385a94d1d3518d6d0ac50de1ce711c11cd69416fae88e6389ae6387beedc9130449fa8960b1a0027ce37716818c4f96a6b14ba05903b7eb5cd5410a78b8dc350520a87a7b749c5ef03df726a39a965b53607d65a7c4497a47fa8a57585910aab2b8ea870ad1208758f8c5ca42b8429838189c284d56fbba4eb61a200c3f4aaa5bde2b5b224b6d2bf58e8174d5f5a99eb0b5818d2a1632d53d32a4d3bc5acb0ea8d5cb85b1577bf682b4b9db6a2642d314c18a5b5a04c59cbc9465161f526d5920877af384ad2f52b8e6a6c85911a135fbf6205921adb3abaa45a26e5d7d772b2b5e5a4eb69ca496fe09cb99bc7d16f9dc523fd36d6983dbd87474ae93f7c2dccc240319532aa8c730c4170a7cd3ca8a6d92a4de11e89f3ada7da12037932872d2724dcf0bbe5d472b2e248d7ef961854468abf5bd2c6774a5f491b2bb41dbf571cbd689b6198e64c3d290518265d6f95268e7d3d1d619878507d491e7b8a75cba9c6bcd7b79c7435d0fb267549248b92be495666932cecee60caec0e7630ad11747db54ad34e3165635d49c2ab961b67557792a9ad4e6a71185a91014a5f2a74a553d62dcd774998328bd43901a99630a0d522754b2fe896ec361ed1bb5bd25f47c5518fa82dd29c3172e9b745daba6d6610aa76610934a5cd724c48d25b138ce84d66dbb68dbbd7795cd7719b7da12eb5c5b26c2fced5b53cd6b702aa8429e26abca42a955291775c8929a10ab8f2b1bc56e7e25e1b8b6da92ef465b42bc229c48f5225f17b80385d6cf06873aaf6b4da0e07d7c53a5dfb50f5d4152e977f748c9a3b55e10a65856bbf6bed30ddb651d74a6bae4aafc21daab14a442362648f6acca5e68a4423d572ce23ab6f4a55c6bcb7856bcf71f76eafb56e9c19883475819e4ba03869d1c5c7e62d44d72484682d5efc6ab989486a6c4baa29cd91be63e93e663bd4618cd3e56c896a39a3e8f93a2dad96f3e4b443f4e447921baa31224ba350b59c32e6bd12dcd6b79bf29557a8566ef9df9d6cc1770473f42e4b26a25051e0407f7668b6ba9085b70a0b3f70ad1373b23e6f6b56d6fafc747dc2f4bca54d1c6b59306d080af0c3c20a808485cdbf727572e1fa646133fc56576a6c7fb5ec56e8a99285cdab7e7190ba6461f3b7d6ac6782db3aebbbd670e45b4b9a534dee76d65f2dec32c4d4199a4e744a0b9baf4688021320a0410754d044674e273a5387a584eaacb7b0123707d1bdeaf7adfcc3015467e51c0b9bb7649871d8570fef6f1ec4db3aa1e70a56c94952301185d2f315c9cf566f3d1bddbdbcb7fba042b4e5a19673b5fa2467d472fe9b4bf5a4705f648f4e60e7467fe72baeb55acedb5ad1b481108cf4b4435395699e4ae091aabe9a70e7a594524a9f42c20d4fadb5df36bb9b23f735ab9c840af7e7bbf78e524a2915bfefded7eb2762eb1080febe910fabfeb0caa6c66b65dfdd0cd0dbe766b789e7c4dcc529e24d84debe5a56bdbbebb8f9a1f79e6f34bd0152adb7fcaaec86dfd420beb652104f903b374f69d6b9a9b09a6bc20ddcd752d77babd2d8845873e89a4d47cd8c0dd7d4b2961b2803463d0798632be8a26eefb8dafd0bc383e0c579275895e8a84ce3c763d3db6686db9980496f94f5b178be508aae3bc7711c17be1b27c9d39a389e1d3f3c5fb5dcc62aabb51d5a3c7c8a383a74c70561f10eeb58d15ccb112bfa87c55b2ece1be393e4a1d175ff3c8ef338ee06f539f630e7f011158afea98751a2bbb3767d02a38abaa11adbea12add31169300a153018a25ff4a4e205505a9c02b8930a23517a0a210a4474d0930a234a3407a5ca88927436605e7d58c13d6d4eb5dc38261d078583e2a238a7bb39280e8a8b0a8dc2a25a6e33aff9b4d7e6fbe5e2fbe5aed1de97795246a75a6e63935a8e4d60141f51126e272c0a8d763058ab32b673184caae5063a199fac8cc807a81a03bf7d843246d5d859f7bbdcbd2d5e5c371c7c315286373afccbfb7219cae7e51c975d6e70fffee59ff25c06b25bf7f2ed79efe0381a55631c0eeba21d397207751a1a1ae2a030c7417150363828f7bacee3a06a8c75cffa47f2b076f00690d8f98e23b4ebec7cce192e1fd9f90eee862c6c074f9d0eeff03ee70cc7610eaa9650bc772fcf7dc53707c5795dc9a4b1c7a3ebbabf74f9a7fca75f527e0ee75dbee4233e1c4cb2463e990e79df9bbc5f9fcc3799cfe4fdc97c86cc6d64ee22efcb1ce75dca1c87bc6b42a2db7de08e516aac1b2222693576c3b793436aecdf5e8363fa06255c47f2781cc7656ea996db39a55a6ea72bbaa294e62f685ed0bc783163464d4d59feafd7bdfbd3397cd61c5eaf7bc3958f2b2b2b2cdf5c4817d28574392943254325e3fbd332ae72b93eebfeb4ebaed7205c99e7835db8ffa06ad4619c2b52a37cc0c7f7fbc0229a34aae536a4961b59a4b77c91922b320bbc5734d7728e490bcc22c37d75df61d2c802733752bb5ccf6116cfb13164f0ae30308f4d06de2ea69215bca71315bc29110dded409d1ae4662f815268d51f476d77641e23d954c27449b1a71a289f40e93b8b388711a788bc143cbbbbce991eee8909758f7bda22f0f9a1ba23f202bbaf3b00e6e874f9263e52356f4975b3c3b647a453aee8037cd039e7a922d1c5c97d452c78a6e5dcc5b009af5efe6f33cefe3e64f9775dce8eeacaf3a85244f6d12756a0a37ec791d87bb300ee2cca995a9c65ab7c9cb5bc74a5d62daacb0b484298757a51a1b73f730d75a2d37a594126ef75d6b5228610f6f01e8996d87455fad28245263f9db3f293e25fa280add42cf251c11d1e246bbc31e7b185a1288ee3a1c8452633adce44df5cdb7ee3c93c6579b34b386ee64ccbcd0dd0a96ee48dd25d91838debb7cf3f1e20dae50f5098a7bf327b5dcc2242ba3a00eaf12fe06161d7e65064c876f7d8617c3cb780c19997b3e348ff946f6c8bad245750cd71b3cb50e18569bd472bb2c87877795ef9e43f9b1e87c7f9a45b3e47cbf340bd8c3f70780ef5be3fba5657ccfd02e35da65c6f7f58acb0d2e2a2ea1cb4bbfd078e1e1fbd32f2b62df9f5e1163c50edf2fbda2fcf6927ddffd69169f55064259d8761632dfaf7df7a75b7c5659586461db5b7cd6bb0e53892acc75d775f2fef4e77ace07459d4c98ebaef750e43a008a5caf9143232ed76f707d4589767d46de77bd9577e9ba985d9711265919259a30d75de721c9751a49aee324e9ed2093954560825056e6c384b9eefa0e79bf5c8f91f7753dc6e43a2cefcf7559ded7f5102a2cb23217f5ab59d93661ae6faecbe4fd723d26efeb7a0e45daf52fbbeee5e97a97f7579f54a8714c15a98d417720d879446ecd691b34cd813e6df3188f8155342571b8f8544df3aa693ee393b431e31bf5debe192ae96d737a2ee1884877dd47327ce2a6e8bde96f9cd3c333f0a67ac665784f216819913024794222b5dc5e370c37d5342585bbc3a422bd3d643271a6debeef5e179f53f6d52c6cbb8bcba2ac6cc7079eab78b00f7807e31c2471c02e73900422e63417c171068e7d923676b8ec3955b421e33950d246f9ef1dce4106c7e04d754c0e39fc2379be1c3a9998d7e0e0572db71df0d63185a06397bdfcc81e19ef3ee38627733d86672d6feeb92e03eff0f49777e7c36a1d1e125dd747dea0f9ace58deb1f6983e63eac9eb5d421effa44bb1e03afe849f2d43ca746316a1da3f66a6cb08f4fd3e4f09a8b2e92a7e6620daea161d19c45dea034353439071d6358abe51626d5727b8ae9c2c83b889e31c29d4b58c193de98d8a11adba5528d6d556f2b882254a2b74f150984d5dc0dee27452db74f2935c52db793e4d854cbad46a9e566876ab9bdcb35aa96db5342b8e577f54817daf54d003df349849eb121f3f21ede379b6ad66330d51dde02d0ddc52f8749dfc3272ec913f39c2a93770ef76ec99eee39e4582f07ace346b3de611d37ba3b0eaebfc09bea17df481fd6c12e5c587e6d2277d0a79aaeeb2fbec3a4a8a530e9869c6457562af2450c9eace9224cdad54806a1aa12bdc3a4ed42ef1ab5ad147a6bb26d94bd15d95b13bd9d05ef2d8adefee2eeca53259b4abf55fcc6169e2cee1c548db97c23942aab512f2b9f92b79293923c951c46595979c52535c6318d3a5634f72a45add558f8310c6d1343a0d05c1872352bdb74b657a5286a0cf4b6b9b47295bc70294cf292f416da60c2b6f340087a3b42b96d61d29cd9bec3244ba34747a0810ef47e4579dfbc1aa5b77b22b837ba7c997aa8415461fb614411b3491194861ac1190145888b58513a9d6825174069a4a6d338e622288d54cde2388e1f297d0aaf56641162885527e7028ae051657a6991ae9324bb4dd3909293aa8860de1fd52b9828c9b85519f4a2aa8698ce39e734420cc3efe934eeefaaefdbac49b9fd0a875cdebe53e7f2aed1248b0cf7cb3b95a25ae51f2ea7be3d39b5c32eb4eb481e9b27364fb5144570c1ab903c211554c4a295f10706bd510cc1158bee9e4b35b3cab6d7d49ca6c2688066b317462f4a309bbd006720985f94e045d10b222f8c5e14bd2881f8e11e506aac47de54f7b890d0677f4184d2287a5182174635367bb1347b5182ca44773bd35e14d1fca20420f8662f8cf40c9cbd2801a59941a9251785daed3975cb364f32b4139bb84fdc99ef41f83bedf477249c27fcfc0de314140488d0bd89422b1704e703c154a865b9b192323a7d133567b8d9d1695341303e100cfe13c205a83a3607791f08c2200852109c49a220a560127e0ff8c495798d1a19e7494b834fdc99598f2323484951d494c0a51afb9630a931b0a9c6be264e4028512f667f51024a63ead9f10b2328513f4089b2515180a2fcf043b7fab6d10f7ce01c88853a9c817414841942690001bd3b08ce7a8041401f607da241100467ef80f2a67af64ecfbecb848f203d66790bd1b38398d2a217240fcdb120a69f612040606835f6011892878a1fa6207887852808f2a69a82e04242070f334448e830427741f208657a619434f88d3776d234ef6e5b224d6985a26975a2696542834e736be85626dde5ef5aa10f501a5bc3d06ad97d19e60375c8fde9ce695a6da266315a63e02c6f98220d9ea31d283e4d1dc429ce516ce2ee48e181fb829e4281b7531460fb207c2040b3af094ae323d382a8fd774af45997a0435403b4c8868600e74966035f0694c89489ec2307a1a9d580f95e42b3d9bf8c4451807b946808f214362fcafbd336dfd53642b212b9d4363ef2aed929b230ae28c683e4fdf5c8fb02c9fb059485f22e6779d7cc849ec36f940ee33640179bb8302e525208201c74211ce31b9e3a1fde5389d66a69b18e36b8a585b0cd290efa0cd36f98ea7cb8a5b903e1961627dd6a8a89a020dc43ab658c183162c48811630a234a5fd494e5ff7ad9d8cc222c0505c138b2f5d06a2cc8cab6dbd8d8d8d8d8d8047ddfbf07f9dee33b10a0ef42df675fd03f1f3e8232ce277ae0eaf08db3536465db6b7ae45d9640f2fe81f27ebd6e8ef1596531be6bd4acac32798ae204a5e9099393a55d434973b4ad49cf6eb1939ee58d03d5c209c22d2d7ae0bef8f6047ec3558782004f2d8356637448910ca31aa3328ac83892812474ee3290d4d89714850c296aec93a154652891b1a4c65ce81318f0301fc030453a088b4fe2931f9e6a299b3f3c81fa008fd00f5094ec321240b5e43ea170541da4963f3e31e833287f7913a2033a716798120dd127e8131769974687d02e779fa6a72511aa2ef1616a52635d169f6ae95463f49cf8c407c9a7e66354634fdcc7c8a7c8910f129fa41f7e78f203548dd127cefd072855465370ee3f44118fac4c48109c272b1a1141a1f8f6eedb261ee52d36e124054fc098604c9ad0e1c06522a72af17d22c03405ff81e913a778458765b84080a86c8bd2c48539c1b02615c69d6258532d5d84484002ec290ab228d23108a648efa00be12d440bbd923c42b38bb3d93bbc2d4d64e276513d3e491a74100bd114ebb034dd23c37c80d204fdc31b2fe9a0e758210ce4411828c39800c14728149ee67e13256348738731d5a045d3c244a2bb7dd3228c2362a5a52645b4c004e7c9cab6087c561985e211384501dea959188522cf0aeba1078a5534a5493d60b842f49c4a2ecd3ddcc2dd356a14b748d2364faa280be360486a094b024118d29c1182eaa85699d66926eea30710a016182a109d3b0c00802e24ef0fc897c8fbf6b812b4091fa74c647166f3c406aa56cba739936324879633448956d1dc73907292ac8c681b8a82e69e53cb91a248c909cea0b9e728a9b217d35472822834f71c23999ba79bdab4716a05c9fbbad523ef976e01c9fb02651f8a3313b28152c5777b18f9e003cf7978be2fcff78be73cefc921926354a4d6ae1bcb2e45cf1a037b96b62a6e0f3a3b350b1bb9a34b923d307da45ae2284b56e6e252000b4556c2e5880bfd85a83a1405198a1c836461306ecbe252e78451a61560bbcdd9ce2e74ee3b4b3516d453d4a3d4b36465140a182ae47cce184c93d65a6bcdc3451b33b081d403c649884dc77eabe202ddc60c6c2005c93d32904cf3cef6345d50ba7dfff497759c664eb368ce005da414ec2808d230898908ec28ec68e2748f813438f821e9bbd43e3e2fed73b5cfa77d7c02f0695ffac69d370e04a4c7bfd3e08026e9bb37484fd42794f75784a859de2fd1860a4b4b4b4b4b4b31473690be8f0a4ddf772480c3387ddfbd630f1c742058e84078767b209f244f0f0a05be89c23750374a3654d039779b269d1c5efeafd7bd350720be6bd840d940b189b289b2f3da3102d2ceb7a71aeb6ca05eaf7b83f89c329f20bac788940c0ac22c355c4fcf0e64e60185609653cf3e670c071188cc72ea6df5ec37903cb34cafa727c903741bf446100df49c3afba7677927a1c1eeb4099b2a709efefd238de346b37d67b4096c738539c332d403273147dbe60a9aa3509ae866304bee94091aa4a153221f9f3548506d868180f4b0b902cd0c668cc6073448354653fba136fb94c8fbe6fd5ae242849c0ee934d1f8803291b7d53588b290bc4b1f795f0b114408a1bcaf162228cff21039453943802c8d0f686a356ad4a851a3c656c505bfeffb5ebc98611b28b5bc51aa25c7c3e609c434b1c33e4b37898a25384f3850358603a5c62894efd0268ed08364aac891a3ecf1fd20df2f2dc4be5a884f0b21c400a695d10cd1cdfe5521e3445323f26183f400426364653690808c3477d10692f501f2fd5920797f427887366772e410e2df77efeb7521062084836caab071a2a9d1d4686a05f8c68939aa650c92aa43a1c049bac35061c66caa98254c538dd938596baddd38304e5666032949bb3e130ab2813471728ce60cf71f82a05f9ff3d5754e74d7d93c5927e613331682199b9d7b0e0966ec0bfa0d240ffda166653e464136583a28eb34d5925687d4a24a64083bc48136307bf9bf5ef7b660f81859231c83a4c620d592a5bffb2cddb037708e1333e7899913829943825972f75922820835580d80cf19eb0140f9bf5eb70563eb3e09709b2730e89f0eca3b89592ea1d430f50fe7de13556373963f9cfb0c239f97ffeb75afcf97b401be6bd4628cc020b74b4b70a224dd7368d806aaca089d2ea55133a0b9dbac7c8726c33467644c35c6d21f083bdaa9ed30411c372edc1d2e52319522796440f09389220385b4f1a265a0667c1f486d9e44db91365e344cd4d1e5280ace3dc69095d95328ce3d4611e7d974c10b13a7831aa2eacce89c986164a481bb6da80e8cc38e26ce177334c4d4b1a76401b62777d7c8c0dd9870c021f0290317e7db6c7069e065a10ef732d4304e304f305dc0c1f9c469c3dd5cbacf0903068c7738c7077baf5ea1ad7cda95876cb85be649f38454103a256dc87cf9a3cd99124ac5e649e53b4e98334d98334c98333477761592c7475017e47b908b2ee24beda4e894ba9aa69f8de2eb66e30f1c74b18e3fb0d073eaf781373597598c14b3dc53f52ce628c6480c528c52cc520c530c93982631486292661f0e19bae0c3e9cfe6a946adc6825a2c2c248f50d0f7cdbad967f6e20c6f9b64a3a5bb839f6150086cb5481ea0d9ac133ac547d824fdd35d486c41f2005d1427399b1d6193f4ec93e499bda767a9965c8fd29ce15edb91a287769207e83f7090d03b3c0bcb70378c09d604e6a4aee1069df6b434bd1023ba3b38c33b0893d6619384f0d6f101b9749f925a722a1047242b732162bbcda3101dee93b46f19b2308e32911403df7469ce4a57a92dc4ade06e96a8a933d66a4c888b7be75470b7774497a4771c86ecf1cee34250d23ae8c9a494060d8e1db6699a335dd703282da70e0c1dc10748dcd1119c1005d86d9ba69c1885f2e119cd3b54c3dd2e25724a82cf30b23297eedb8c232b73e9b28b10f614055b56623b85e21405148a135c090ac5ad0e2d3283c0a7c09838fbef1d2e4f806b8a7053169451900263e2ec9771709ed270a9aebb460d47c69431654c19326eb12d023f52107c4e05c10ce3d4c520eaba94d3119a92c00ec6546335066b5263940c208cd327f374f31e1ade36c9466b36d1bbc61c5192a7c73f3c3bc5b3200f459ba739c3dd5bc3b5a7455e3545c1370ac5ed0b40a1b8cd4a245182a2e0140a286891acc4769b5d68ce418bdce6d41823d8e6c9c2a685dd18a41c7354cb15dcd8b9d8638f7dbf3622378682ad8a4fffc053d313e0a953c9900a7788366728ecfbbe239665cac111a0d084f1e8085028faba400620f0568b2008724927f0988640842226214081405e04e439d5e6a9923c364f84be2f482808db3cd940d592bba9d512080ea970e9730ead96331c1a2efdb679daa959d95cc3d0d0d010914e4a73efa94d9c493edd404d9c39572e5f0ca2955ada3cd93ca9b1c9348421cddd062a062d46d191120e3c69ee318c6214a932a24e89d601cd3d86912adb986ca03469ee36dcbf1d296a8c9241c7681780e0a9638e6a0c3cd039f0403c3d660f82b70e9ba47b7c7631df1910083ea8ebbeafebbaaecb1bfcec3a08ebb0496393191e9900e1b1e907161a993aad72d1356e5bb82a3b4d16e61ac32797c6c5f99ad4a6b6101db4b324ceb00e9bb4b3c4c68ba65156b68140c66d9e264e152279822e8e640fb5c142d37cc43ea706e11da639c3d1d8bc9d87d3d42c700bbca3a959e0345328f0e864614214ef28ed28d95962c182e411ea3e03419ea0e7d0ac6c478a0a2baab11d25b52452653b4b1656a4c676986ac9edd46c9ee82ce893e409a294556da59b9d954b91da68a7d6a2e71435604c3147409f244f8fe7d41a4a35b6850e1ee85b47972476b886528d5a932bf42a24f41ab51aa31f1a1ad2800ef7590cc8e9c719fb1e6a7a18621e29b6f9816da0d844591817141446dd1d7324c6d0ce7069101fa744b48925e8d0678531d94fb7bea12c24efbb445622ef571399329189b28f1c24ef1addeaf24dcd0c17763467b89750b5e466af24cfb7430b52069ba4a9cd930a53aa311b28b554526536513b4b6a2cc6502d399b272877c71cd1d93b1c9475d824fd6de48d4de7701aa28731d934c95c61e2d01acb4372518d81358d801fe0b3ca628e2a8c7b021270061cc9936aa9442b400a259891e295deaac0d9a9b1be804fb2071692e1ee1a356a5270c779c279526379a89638aa9630dd1da9c66047629239aab11eb0a69c2266df37e8fba58b10fabe2e02e8bbd44500f9aed14528a55c8c197fe06eab028f146f7aabe2ded476a95b30303098ec61e920a7b885890543f4643a6ad293e90889b679526310d15c8c219a8b41a4399b289ab381a2b9205666e30260f67297f75b9ce65d7e19f8be1ad8808f0a0c7dbf847c7f891625be3f17b321330bb878e0fbfbf9be1d7082c6010234f17d31a0e3c7f7a7812e13443156bcd87c97fb2f24787c973bbeaf7b24d183b2cec2069295f57c17c8fbbb3beffb62c9fb55e6fd167997369a2ccd40de3703a71ac81a38dd40de3f2cc7f2fe2a90f77d09c9fb4be45dded06a4ae4fdb9c8fbd22179df02d9e5f340dedf4fdef7d581bc5fd489bc4f6979973a20d592fbcb0a1f239f2502e4fdd126f2be18c8fba523efd7fc23ef2fe77d5f4ce4fda244793f46de250b56a61dc9263fe38c44e691917620259191bc4c7310acd3544bce461308822025a27db48ff6d13eda47fb5e8f6a8c0ea9cd6ab3daac36abcd6a33ea811f9e8282828282826807de19090909090919097d5699cf928571ffbe7b5f404040d48977b477990624d38000c9342099060448f9bf5ef722f5f8acb2235918f71e1c3813ef2e36f19c6aa3c9ca686a15c6fdfbee7dbd686a4668a25999cc138d46a3c93cd134f71f6a5606e354abd56a304e4b35cdfd87272b9b61e4636465389f61f47df7be5e3f8291e6eeb36465356ab0f27fbd6ad4984758fabe7b5faf1fc9ca766ae5ff7addfb7ddfbd3d9488a6a6b9cb3cb1b0c83cb1c83cb1c83cb1c83cb17c977a08be1922f3b4a2619c5a5a609c5a609c5a609c5a609c3c8075f0000e02e3a4a26718b97cf7f5527700eb80d40127708ca81946291ae7e9dc5f709e5e709e5e709e5e709e5ebe4b276838c612ced34ad7a8adf8f7ddfb7a7dc5774989f0d594c6011cc3a8468dc5b9b38031b18031b1f87ee90d6362f1fd7523e5000e72ca04b679da302695dea9b14ad66bad1db77d29da446ee29fa64de49d84f6712670902988704adfd46acc07dd40de65a981bcaf5b7c5fb73290f74bb7f87ee9568b568b568bb7b68d0fec35ad18833ca70e05c1373d513f57feafd7bd9f4588d2dc6d9ec231dc3da7a8f5d06a2cc895f82e97f8be90ef97c64338e7639da61a237b60204058086f4a44770fc29b2ad1dd67dd3fbcc12ec36498d3a1bcafce301792f74b67982f91f77586b91279973a9fbcf1e90d3e091d24ab8a6ac9f5b034987fc3588ef3da3c21796ca0543aace282dfaab82b176123c5a31671187f602a024c6403556570df001222b8988338bb2edf40fdc0302622c0b0a61b28b5bc89a201b111a8542b9416d2a20799a21100020010001314003038180e08c582d16840a8a688623e14800e99b452784e1a66495021648c21c41000000000000000000000f425f491871610b29ed5ad8b561d4340b1f18638cb5a07d7ed4acb850a9ad653fd51631243dc5255e51ef4cd02ad3e4e6eab673c9f160961e5dae396c5af2e820ac9e83f1f60de465819bd82bf261d83c12dcead8702c2c536296482c396430bfcaaa0d313882f7a891e4730bb5b3b9f637f50b33827faa33644e44e03e45d02910d2c1a2d1b4eebda52f47d0d340579fd275f4e63c49df043069f91e6e90434d995ba96050b519e7fae306fbeb4632da41d27d13910ebf2b566f23503efcbfa2356bfc214f89b5145e8ddc9d088b9ec3e26ad4ce03846b0fe0a52c0b1dbd5ed35aa2dea91c86ac37ede6a84f78ea758623b7b5ecb4274e1abb24031e869b2497583c6e0505708b6b6b36b22d24e50e49fb23eecf7f18d5e79638f7937ccd708c13821180e5796d9291045c6d7fb9ec3d03841de77f636153228bfbc85ed5931a439808237dccef68e085d9d22f15d407945fbe1beb7ee0c8dad9cef365b5f9d738bf26c969b1c1067bf2f2266dfdb930068aed4a93848a9b4c3df8f98396670d5d53bae7f9c72a61758daadfe11927cc117df844991194d6ceab2772a1dccb2fb9ea07f7e846ad50dd7c7700addcb56aed60377c5474f410811ac7368377f5fff145bd0f38856b3f986914ebc321fd80b7060d6e56f81506bf8204883bc0cfe4bd137e6b7c0b5001888b49eb339c591717897da84379ba4c45deca94284351ccb853ab1e63b5748f2f1a04ba267a4ab5bc94db317f20a32c52127818246c9e8c1a9f9a5e6b0b0db3ef7a2202d9e78fa5b3abe2e8f59ee45a007fdfbbe9776fffee154797c593b1db8ec664405c0d2ad7f33d5321c8cdf8233d87250135d49a292d1deecf6ce5771da5d50fcf66670844eee5b73993132a9551ab2bbf0c87651c9f81de988fc8224387f9a7f2f41b12c80ace6c8cc00716890e8d16c092083c5f9fc5faccb7c6636056022341962ca77d8b377f8fed78bd42c0b0eec9405612a1d3dd355ee76fb11dd22b2bb94068808c73f3b7148dec39a0effe83f798588b258c3194543b6b937b21b99cf31d00a006318c0365a48f5f59889df3f552761c0e96d2af1d09dd3e7f10ec03e35355a85aa0ba1a947c2e8fc6712d11731afe2073807410e75256422923c94c5f0c87b3d6ed3b33db4b320f51bf4078b302f8fd0aabafaf0a904c664b3cad2a446f3f8a6d76959e5e936fbef9de3c0f26607e192eb3ea7f896652f876f34f56f80163d4e1c3b206e34111e7808ddba0ccc30d067a86576e7461116873c2ef43e05354195baaa6e69fdf0020cf1b6a41888630c9f9fecc306d8e34d8301399e1e30a2d4836fd2fc8fcc31a09e7387061df3dee4fec0a500a2ea95aed80b7201ae5666136e45a75a6442093a9a41c0a6b1ef5e69d8347299a453fd1479ee64d95d42e56044811290db2894b4bdb3ec2beb0c1ded9e320cf106e6edf86e6986d2f623020437089df83a723054bfa34411a692ae13839c793a55409f6e6891384cdd24d74de546f7a4b01ddbbd1cff916bdf709da9dc56339becd7ba4abb75267357b0152e3e1a353946af4f9ad2fbe4b893cdc7d4d05869062a784439235c4567beb846ed961f65fc3c5a6137501a59919309a3ba618c47e5c335a267ede81c4e912c6f72b0a84d6fa1ada9b971dc514b4094f77039f439e95f1cc1c4d6a716c946b0b0aaa96824290513b709a8d9e18b7011126c35ab817be9768961615876e84b0f2b86058beb885f7a35c4b00015d9ca128c2a912229d992e8a5e688f26a0f606f8e71002acc3c4edf215fdb87c2d230437d64c6aaacf5065e9486d7ee318adc33e55e6fdf38823774fc1cd54033b748e8633bed109ef2854a7458715a28f306b94fb96918bebceadc400e1497eb1e5867720e49032cc48431a9d611be7b023e4c5a92fb443465c4eea5522b5da99552edd09486df94d8fa4ef5e80a573454da3816e1966fb511a17f1b936869c068cc8f250a26b612897ac61cf4650e75b7f58e64a1147e6d947fe1c7701cd2eadafc3fd6670cd2fb5adaefc72e90b32154aceb58e7b747bd416c12f9a6b73938abfdd08118a5ef2c41b062228ffdde9ccd69ebddc2d0c331dd043a040138fe9f51118c22af4d0fd7a8e5e17476329917a478f66ed019a72b45acb40b40f321386d22889e8fd3bec534327048a840432e4e4e68ae045b1f6e0f4d648d4573fb45c2408ff7174f5bb20a6653f7726bfbd43a9c4e0a6d52eb7e8fe090f2e0072dd66f495e49cfb76ef9d42c6fef71dda5ffc2c96c16e915912d858be07e06d537b07c177b8e246eff6bdd5c88c3d74f773fc09231bee6bdf428a7425f2d394d77d527c8eb3b61ba641a79622ecceaa1d6e94894f5cfdf28807a139acea24277c6e4f4303f83bef02fb17d4e8bbbd91a67d556aec7cbed78434a813f962d17af290d2659f5f36ecdc92b680cf0e7932979716be5bd24d5e1e296f16aa54d758dc6009142d958047ca0e804cdd703aa8f0bfdcede46000ab75b84ad2f02fac8cea3c591babaf88922a2649a758fa781de5f871edfe1f9628935ed0180a641d07cba0f5c06e5e834b619e4565393a0485c30de12a6df60acc2cf758c4b83b64d7559986154bcc9abc33a5f9d72cf5c67f3a353372478fc817c2e73de757969bb7714cee54c95a97619e52b0f97840b07f9a0652f871b3b8a1053de5065f917c28f1c6e61da88e621a522941f3482c25137afc2e8ed9a7b3c5e8deb834026cd0750a4fdc5e6b7428d4672739309bfa95bf5a287c53a6fc4cc45b393a181b314645b1ce26a48eb7d727ce63ce6c082100c64ac803e69e44ca1a2c22ba09cd157928a911cacc91730aa0c788b1ef2e1af146ee11241a1f8752bca565b346715c8448ea71aa99924f53c312172acd94dc68828cac83adb7ce5b51fdbc39afa4ae87fbb55fbda69dfea4c9ca65d3e82fbe2bf02d8174ca2a1ac71761f6a7c10473e0d7e746e3eb7e84c93f8278d1c4a06f8001a8a10960c636536cd0d1f9eae3886d6db68622e4453a269d86839a03d634429b0f06e18eade4a0e4c2038dbf51bb06f876c1f7c35d9c6c12a362ff3ab744613a7e187981f1622931f073370f4d7ef5b856553bc29df479dbc09ea5c30bf2c9a96fd095701aa989f151f7241dc6a21ec1b7b4471c4a4c9e58747e095f822783b23e30ffee61215619337ccfb2cb90ab734812cb268e51a631a9307046efcde9df4b01bc56915303a8aaa74e0382cc62ee7397e3a33f40574813aa9f0264f9c49f01c521a1a33e04495754cedcc509410a01a00a60a101499c248d7cfc11ef8f10335236c17d0edbabf26600d6c907c0df46e3566e87aa6a79a034f1cb5c138d0c133c66c049f4f2f76ed8da5bd42634dd016bf30373d35fa6be208e72a54bc2abebb53b2922e258260b419972ea02bece063ddf693898afab6df05ec8d6e5bb8f6ea08f63ae78c95b179fff31b72007e45223c68f07148bd08701439eb8fcbdbcc38b552e1f438134348dd4a9258286800ed3320165acbc14deb6d4d601f7ea1c4aa56c26a59273b7bf03b30b52ebc916c6cc3bfc9498fc7903d84959c6435dfd4eec166fe7ddef8e5271d2109acb3051812e0b72871a0d9e8086401d4b1c4a6983e12940ae6e95e3add9f9ebcfd9ef37d6457a5e3346fd0c99b8c303f0fa15cfb8f1bfddb1fd6259b1c1849ca84e8b7ecd76a702df8e33639607284fe6c41f33942e9cc6ac435b5e7989bae4010249aded165b7baaddbe2d6a721d6ccb49fbd000fcd681215a56ea6ca496931aaf29ca0bd434a583063528fa00cca6aabd02ce8727228dc0d33f69f2f101eb7fce638638bc62536628c8c09fc1c81c5e284e66101b40550b7c48ae5382c7491c2f89110013f83411d619bf04ae9bf0ec04b2c7f49256c9314b02037af352658063aa35c2e5275a8cc00c07ead807b2db1775f6d63b22a32cc7e9e002fd87081409065a812c7c7487199b0271bf1d8894d00e80b07f4e8683aaf3c6f6af5bca6e1fbca853c9b096368e05409f8d4fd59577218d4d77d8a125c453dac40b03c36f0f5f27907399add0168e9645a3ba28519bf303209087e9700dc410d0f4e09611672ffd606555a37bd07ded48b3111b232c882ac7281199c97ab40edfff8326761a4e3ec158b12a0e808025f1a0c2872330c4c9ca4901958aa977b65afd2cba28674669853527a5ba44bf009b73048a2ae348988c61b09701d644900bb4cd877492364418dea0cb68730ac1c7c6487c4d9a0ecd5cff69374fa2fe8ca86785aedbd93728e16ca5e73668f12c38cfd72d90bb2a784fd340ef33b3bae972ea71de6b7c61b163a4acec4209321558e91c5c2584283513ad2d14846a58c21f6f7ecc1b80f385de2338d023f41c09c65f8b5ab5d27246347f017cc3d34700361621286d1bbdefaf266ba14632380915bd62ae8a54a788d726b34c913a8d3386039629b58dd2d0278a2276abb849fcf6d3ddf792097c62ed61157747ab94336ae999361034dd8d8c357ce50e4ce8c973e68013734874ae08f7aeb8d3ad6f850d567b0c05a9942257eec1f670f09b6a2deab1d71bea90abda5d8a09aa412e5ac434a6419a5274aacf6faba36ade6fabffee9345d0010e5839b2c703eea147794d485d39963d3e1549c6ef08f7bd6993950730c3b6d3b62939c856bd23f22f8f02ff76655933009b27fa8a8a807e30b2b6f1369541c28117844618936ceb80c65974bee61a3b989ccb38b7825552fc5b15ebef0eb5ba8e4362ecfba4fe04dcb1c6a2f661c7d1b29d8e5a94e640a067bbe112bb522b39d825eb2929c928cb85b651b824b7ddb8f19fad0bb5fceba885f4e8c5de6f4c336c898aca897f5ba5e6bef4779e15bfa71ea1820a0b216b5a908952020c61ad3ab812858d35b5032da0d88bedbbdea421f8ad07f1ea799630a5e50dc76535c23a175f35e514b9bb2b15a5ddfcebbb49a219280675ba4afa2bb49330b598414d0d81065d93a6deba8003ab8d5d993a97fc4c08a195d19385c8795a12263e142002815806f355469468329e5bb6ef915f31f87a9c00d54f5e567d8d74b2a3139ca42c975c06c403ee47a103aed753c6e4c60771f5a68dc0b3e9f1ac3a5c55d1fb302f3f940dc257bf6a2708979cd49e175857a148a1264b3862d187ea0eb1dc1477d0b417af099dc4432ac4fdbacd47778da03eb3a9e7b1fcc503073a898ab84bc40609dd3c4993e68f918ff5037e3fe7835008dd8f798398dd5a085697a9aaa83e796486491d474a8d5a8891fc67aa957dc8b1d1c96b9240e556f58461634031bf9ef8f02f4414ecf8e14cf7a62d7a84104f82e76e4515728907ba5c652349f86026729ec32b7a890ab5f0b2df9f961c7163d1c892163ee685926560ba06c4dd87936a16f042564922dc3fcd9df4bdace6b170bdf08c31a264f8d45456f997aaed604f811a3f6e9b023129b4617f19b938f2124c5ed502ac6610026bd98667bca6a416987ebcf4c27a1c23c47c082a4805705379ab5243ec7b24cea11bd482e7b5447b5b6d09afc15cc2e068923d614848f29bd45eefbecdf9efc58f5532f52da992886fd5605543326350f8dc199e49539fde657057e5d5c960897afbe9cbf1bbcd09c700070a7756c64aa2e5186127d5a78ceb085d1d688749fa81ad7b518962e7baa4a298903497017b06a0c27701449999c8d7eeb0a82781c7a1b6184857dc8c66d4fe2b40a85b0bfd0982572bb289fe45fb249bce0b3c9f43d8e0471f240349360d0cea9786d5eaaa1a7d13fbcc3262d70fedc05ba18730ad75a87ea1fb11607035a01d38b4289a25bf02fc70805395960e707222670e33b0bb9c2044d2cb6bbf1066f88200591e024e59b703d0e9c7bb460ea0cbbd03668321939d43c05c8df711d9bf1366b7c5fba6a847c2ed610fbee2584d60245d5cf2b2b944911a2dbef48d1d54e2126903eeb7efc344c29e73659a0bb69967a13913c64fa658bd3fe714d9c4722298deec8c32aa1c5f4f432b50e4ffbb993226463f510499d77eae6e0cfec64094910f7c39e8bf2d689583d63680f78cd1e65c4ebb19160c6cb12b217b721699ef1d266b300f5eaaa1a04577f548e554cbc6cb32b582535fc902e0102d9b6da47695d8f5136895903f74dfef944444087918580d4afa35f1ee9675707046d634ae542d37b6006504d6fdaef345054c0fb05f65b3f570dcc61cc858dd2225b8d1e27fbe568de07570101e041da1d565bb26e88853c2ac79b096c5da004de731440df1abe1d26c8414a656938c263ceb28adf81c60e8f01d829fd914d1088479fe0e868a1514a87c417c4fa46cf479d0982be30ae7fd56403c9d53afe6e6353a4e0a1bd9d770b4305b81111f1bb5a35321ac6fbc060b32944c4ec2e037b3e0f79e8a5260df58c127950e5912dd7f7c7fe46e71277c07218f7ce1c025f98301b34742ccd0aafa565d0a91ac919a93182ccf55d1babb9a946f48c0ee1c17f995065758750d882b58e61c83f328c4f0c2075f84a2dc644d086b179e11d319f7d84469921783939b76189b0cb24939ca6542612b585e35633f2fd2827a284f729a9a65de30a0e863cf6a17b39ed7142e55cebd4fc563fa58260c7fc49d0af41c975121b9dc02c2aaca2339bda693ca3349a82a94a27fb1dc9e8d31dbcb3758cd917b507cfd251cde8f2e8ec3d98d5b9611855453d60da318feb7ed525d5af321226a86dd3f810545030c4da657131c27abab4f92389ce9b43db36cd76f4070fb9401e4b971f92a628552404430e3b6cfb671c7ee922dc77f25ba9a471ec72b099d72ee44f87acd7b5994e8fc18f9adb9421341773a841217edad9d26f60d8cf8d55343dd024b0a71f0f19921afb9108ec931d85a854e2e03f19f7d010b8442984de82349714a6d1fb57e481d75e98d26c99f893df87446a1e75d95110da608da58d27f90d3008e853270b9c9cafd1cf0d6e20ca4ed0ac4d79f3eeb8cfa22fbf4aaf3019ebcd612bffce6f75da80dca8e963a38813cd73d9ed674e5cbd52006d702f8dcc95d91437c37b1a1d9b557f1a4e31fb1345a4114fadf1462c8d0574418c0983786fe61e3936b050113fa64ea78060f99a418deb15f4ddfc32c5e7db9dd4ba6028a011e8218755c658e7037bdfce88428bc4fcbf20b71cef2b0157aa5a815ae51d002a771e02c0b5e303c3f70044c26c1809f19df47cbb42d2002d94f55966bf570a0a4ec974fa09a78eda52a8e3e038eb0d9b5cdd825a74998299eea1a046d4f62082c3a52433d776d4bb38e049b09ccc47258f11e7f3b368c7a67f26f87ea55e879a368da4a52c7708d40d04c61370d06686fb07ec0c3039655638533a126f3eb92cf72415c0642f1b1eab548f9a08a5bdb8f1c9c5f24ed46093490ad38525c5a1ae051e6c319910fc5e98d36a353a76739c5d21be8907a1c42b8061f917e5e6e2013587dd0de892160cdde4632feb91a2500be27f85fd7a0ae593909a7f2b3942991f66e09016eaca5e08b5f5f3711501a92d9c7d0b7314d8dab60321b9d01b00457319666bfac29629fa58b4da3cef227f44f6e7dd754cc046b7f94f064829799e1df082ab626eeea5d0189640e6fe09c0e8700d3778a85e5015542b0f80a29a01558e3dc386644655861fecc1dfd10526f81670b4dfb8f0eb6dae87ef942ef09981f76e1841e76df5a15826c8e397e7582dde6d18891b0b786dacc5d32525b0028202b37393c30abc8d6ede15405d93e4814e3f82d23feaf3a12e06763e83dc25260700e74d0c159bcb2b92ac9730ce43b4d468782b2c40ca04672e07620248b30c6a4ec1df87dc43114d2c2af7f4bb8c5acba7d63d039705bf26601aa340be88f17c1a7c10d014ed9751bb14944a279330fa7f52fb9f2439fba1fd8344b9fce0ed886b0c90604741c6939c4e08aec96980251c741beaf50011cf2191d6c84b062c98cc38e09fbd10276983ba6d0f0c5b85e592857d24979805416540ab6847f6f5f050fa7b0e3102d67a97239879931605be2e435d3eef53fc200a1d13628a7bcea578f10aa158777ddfcfff0779e59ddced8b722502dfc19208d5db24b7ae0763c237acbafb6c2f67b8179a78fa07fd776a9d49e88e70226c0b44310208c4e8f01a095f3a178a3a5604f7c9accc0d81d60b8cee128bfa2ead3c9f38529f88145304f4c865f7d65570cf033ead3d9407bb0de6f86a554bdb74ced81c5d08a641b93c11b5cec9ca773e323784a3fe70581ccd383a0ef6e5764f6e9907f3101e09a734131c1111c1aa4ecabce9a219be0996d42751097316b1a9f62cbf5c32267f5d6980fbfc2818bdedd554b792947103aa6f6771121706938705d26388f35c345aea6920f67f4c2be093ecbc7080b8912a27ee5bd4195671f20728abc5c625ef234287e46e2d568f6ed557cf6d070104ff92c2ec13a3fc107229f1a942bf88522d522d125a1271b43f033d6ec597e68fac89402a7bd012c6337c28a2655a31974bdd207cac9bbcb61684b1971aa1b4c2dce7aa93808a55d8f89183668f62f1366e6a5bfad1a0683b817a3fefff25a36002d47df9a791f5a8711d756efc841b63366623a020e978e54e53ddb566d859dc718cbde9d81b850b428e120de2fcd89e7b806baec3ba01cafa8d44507d2cc730c59311018c9cb557c5e4cd42e3aa77f478365ea7eff09733cc12df4787a4cdfacde985808b5c66ee3a10432aa8377aee0cd128d93e3d720591b10466713d4617d9e36345afb7e152c1f8d530358a2f4c831a293838c0164d4aa21c7dc4f71c01aee76ac60c5329111ad60fe27b843903b49f777dd81f3a3a55caae7ee0b0fd5138f6990818d99c6112ef609eec928b4341694697ab43aeaad374d1866cc5950d98489f1eb0e451f4a98416387b51feef07809a7e783876b84cfa6bd806d4e7cb9392d3c794169278c5e4f6b9f02c6ffb0f6eb0c22b532a28111cd138e315cff4c14545445aca0a53dd084e9c2eb19f3516cbda8737368b46f8ecfb8dae0b0d0ada722a54868b7763efb2b6017b2749c88c5cec32057341051c6ed04f72e8aa35075c0609b167f6494b0fb29897401e6292bfb63e50655f52ff799df8ddffff4ff8ed60fca2eb1227983bd80fe01e70ed00246dead66a0552c0b30e4478a7766061017a87551a8c620e0fea79204425a859a59423690aa3b70aaa858e88417f0c5755c3c2647069e8744b97251c180202d78f2c4af610911a4a18015fdc0fce19e21f5461b25746092b3618b43f30acb0e28e2b44d5509281ed5f7be5b48a6c5868ba64b513acd04c3c7b48d94777e35aa8d8fa32b3680a4d5224d4e2f4b52ea6329503843b75ecae452a395e5bf37923fec652c5678d3a54628ec635e9bc17111205c20ad43990a9e9ddb5fc957ea56331f216be8e7efb1db118fa958bb00e3aae077def31a3dff6a4c3fc3594859ec7a650a346ef74e647d268ec669920d7bc6a4895195bfb0be19cf6657264ce577cac9c46ca8149ce23eb0ff2711eab602cec50c125a9bd50b2cc75faad4d10144e75a40040e1a28c4fc1e1ce9e009d67249874f43ce5c0243e4f900b4c4ef30c33603297672dc0a4ea6deccb8bd2441a8e6af8908334462c8a00c8a37d73868cc5d1bc36820e8827cc94a32641c5ff82e0300ec4f80006611e0d6bd85b2c343605a736f4117117b830ae22f621e925f828e811781f8d4f860fa39bc607835b2901c88a1483991f951699700c0ea26223794f072f17009958c3a0e15636009982043428f1d0c761ddfd6124c252676448733bb80a4d017fc3fccc60eb22c635f5d9ae4e02f118c6e3bd83d137696d72a3f23d3d7341065fdf3251dd61d4089f847b2c2e4c090ad3542a3e01928fb017693cac4d9abdbcb28ae2c2edcc01fb4ef29839e2e2b230192a5b09ccff7f886073900f7dcd971cd293e16828b7e8338851f59fe3894fea8bdf236b89717b671a861786b493a24a2b3cb5e12e945e82e1f0ead846214c035679986c07319e2ccf80251ee52e175295a9c2c9525242dfd683f5537a5026fce30bed3880516f6041c383d7c0d908e1232c9f05bef3cd262171c3eec5bac39bc6a1ddd82e68f5f5b58ec83ebd5051d6c62888a30078e68ed2c7c4a91da1e3e1a82130250d6dc77eaa920ea92a87eebe81213933d8a6d32aa8aa0dad462403cbab1db5a9f14682c9c54ccb129478eef5d118d1184b97d767b563733fc26c9005004ba02f5fd6d86c463a4f8564e08eb3d461d41c8a056b1e02150e5901ae9a53b1d3d9a024e8a8d3520597eccd092f927f9973507ed65ab2004cfff9098b5c35fdfc7270a6d4f286c9374f6c8fcc3c9d8255189eb3d0f5c3f453945e5f32471ef9aff3fec9cd49c2fc6a3b2effca559b2601ee21980e46030466df06b09e7f02bf6ee0256b306c4718427f64c47f42e1401ec7024f49a3f29a1e47501889a9fb5f72101920f0800fcfad6407c90b5b7baa88e970afe70d423b18bf824fc8f0037a1bab03179e72f677f4b210078b6fdc0ad4ed196553d3e57e393499ecaedbd80381182aeb4d6fbbe23a5033f4d30a4ba41febffdd7c1e04f423276ce82ea0eb48c7530d140a542faf51c0c0e648969e7abc0ef24855758b902b6104c005323748380cd00a0cbee636d22da669f787bf9b15128156511209a98e12f0f824d6c99c0b09546bc382296935574c9afae349816b359dbbaed9eee88ac0652eb663ba30e4822c84b2f001d68cd89a6a72d3484ab38e488a41776353502848c289b0e51a66121e3432315fc8e764f1bbd40fe481822cfc90be7c5ea1c13aca33c861a733c5c7acd623c20c2806a0823ad53b86b10d1ce80d4b3100dbd66292053297983414708219a8ca00902e2247854e8d273ad854bb950a2b4080e50acff147024883d4d2b6bd43e7032d8631740436e6609da57fe620854e03f7705f7991096834981c86481d0d8560d77a713d2d0201f1fc7eba0d7b2f1bf6fad7d5f3472c6d105200c118d44ab0e569778bea16b2b703d5dafb8ee0951546d335a7508986aa5cf9779e81dc7e65c1c3cb3dbf2e995b8e8da3e014ff22d3b8d3ebc83d75cae036672b1a021c13cd835169cc0f69b287fc21c27af5890b50c494082192c0b3512d3dc47fe3f8d0413b2ce539774b5ec65bceb531cb4ca0a6e50a1b7c075076f129f54f3208364503e0e3af4fd0e3a5f2d607431b7fc4f1516f3e77d8b899c6749d14f4c3485b6749bf624464045128c9fb94de5f5146d1372ff419c5bb677075a51f981428f90fcaed73ce47a027ea7d77e2e315d40cf60c0d5c0a4a670454490639dfe88ad23b8bae76a83b1a8f73f2840d06011f2dfb4339e37cd93cf78d4cd3e3be096f590aa48a71aced2dcafe17a3148ec0581207323ad6ef513df4c35438cdc18f9723de3067ae7d4ac901a9632a797fab0305921f0407b8088ec83589c937e78ee649455bbb3e364e72adc6f46e50e8e729e5c6795e5233c2e3c64cf33109e227a565fac3f30097c0c67f1d6a1f7629ffe83688cf9568a8b8954dc0f43c96b34fd1db653125250fb973e03e06f7d84dc142b510244ab73f08fed587318bc7a7a23295dd800e6f8b12257ff6239403d3f4b1843078b716cd284647ec63011f6e71c7101924c254d88fcfbf5672f959cba9f721cc0488b8d1d0a29cc6f7b1ac3d9a8dc7d5dcacb6068596f1914a0b28a47f84ef9dd742fe2ff943ed13520ffb7c01c38fe7595a4f4d2d980cb7e89c4ca175ee0629af6660c926c23d6a7771c0383e8bc4da8c87dfa67ca52b71a4e578cdb0ec38c3921aacb9621eb817d6bd67cd35aae276476fc6a2e046078ad77ad9e82a89de57c8ddc5b91d412290d4cb750f456728aa674ff844d556a3005ec6a0d3bede529a732e70b992c81430cf26751ee2afdb23aeaf89c97eda5b22b98c99ec1f6cc890058d90cabb4acf77b6866739295aa42324856b8808016837d818e465d3bbd68debcd7301a986002ca2834da56e437a428d071b70c2aaded9bdc6d0263c439f5f732b89d9bb279d54891b2d80c4ce049e0dae9ed5bdcd3005383b861d823a67296ca4bbc65b2e8fa0d82d82b80d3cc1a732aa331312c05d2972606e0adfb0a66656bfa25dd375117a1e6d2e61e8407cbf0c5be84a21a4c1eb35afe67376f65f0d276c54cce328f97782ed56637d727e7c1fb17ba0eaa33621b7c86d9c38a19613c61bb1a038084e0d1cb91b912a43a56b9bf194e6436e2ba8d238a977311386594fb33dde290f311e2d045c3c837b09b55d9a2e6d6e81680d37553438bd6be30bb3140f30c8143a283f7d1d4e7110b425a0c80c46a1694a8715ffd5e85ebbb74584819c30dd00f0152460234deb2f902ac802e1e7fbf7a52bb54558d28b659a6ca1b1b21e8e16bf6628f0c4605afcc161dd6c260876a6153141b616200ccaa964d6e648668ae14cbaebb1ad5935c16913485fc5bb4ff97c98602b601254331e641d8dc3c17eb0b179c7b58d29b04a0f34c2d94d7bf37004ad2bc9806c4728845d3e2ebfc03a6ff53bc66d9f05b604fc4d9f95a44cf77324f9d83e3211f956138a7acbfad255ea86165f9db4a991a223ac66f9c726aea317e5fd30d0c0102b5559ed86e8913b0b9b20bc28b4c59b03ec2380cc7a46db582e77db11251c344cf303530d015044a1b3f21354add6b50e46a290e11563a85179a27fa70f7eb8d1387730140489a19d254dce4d8ed9780c9d71a7105656873f0d26be94f9d786b7851811da0b419cb105a7f10244c99ff1d07d2c64ff60810484ecb7e1a8538c8ad1baf0697f9c83f348ac9aa58a03e027028d419b008db8d1c6f9d13baefd244421a0b3384c8d776a8cfbf886b6024951495b6502cb114d2d5fd393edb8139a1c5d4655d73e8f8f401c28c217ab28f0095569e092001690635e910f82351d7696b1ec7e88359728bf6c31552b530b57b630ae84dbfdd8c8750571e81c4ba094b5695809e657b0049b365b675e070b25e4c63b09ac213d8b1df8be96803b08f66f6a321194104b31513bb7825cb5fba650855901bd3247449cc36bcafdd5a47e9a3f358988cb912bf667d520a2a3ee60409bbb0d4d1964a064292dc7f1053e4d3aa49c476d7ab4485db346dad9abd2d04f45c447bf3680c6af8cd784fcc0246fb099142d2aa0cccdf659a5c7932a64b3b84d054ee9b08e25d002afc3dd986b318cc9fba3382a8550c90c8003006457c22f25ae382832a8dd1116b80d1dd5690161b3c73cf975b045e7a019ff39c82a349dfaa8676b008e48f6395528f2549393441bbfdb1a1c1744a8334b2fd16f71ccb66ebb77185e2e912d149639558acd2bb89a8d569c48bcf800ea19411a34180713eb36fcc354f8210615b08b4c930ad8eee445e702f550f752e22da8c24861393db5ba10c61e7ad716d6ebb7085c08bac105da84958cc9ea5c383462501839bfa2e09b8b4ce15c1c13630cd7826d13357084486ec3086ff09257593b87cca9a86bdbf32b668ea24ff08a42048f58aa00ce42e692322baea064723ee2bdc277349c1ec36c6de51eca882fa7ba8ba38f0580ab53299ee1ba4547cf59daeee571c791b65cf1b1b11802e4b67a79bb75cde79d2388e326a0da3a1585d8d9dacb11f853ad8e958e999768a040948818e5b2f02c9f1f2537e94c9aaf7e81eb76509a4ea8604c94abf96212ca804e9413b9e70aa52f2603baa5fc07bf64797a9eb072c4aa0b8eee6d22664cc93e955e48ee786319a87757d206770324586e22638f7bce75cd57a63574ffe676dc844b665a106ce5c162520ce6fb5b84612ea45747d2f3619d224f870e3d84a178a6ccaf6e5de82f6d1a0de86a7803fdd3c12d92043dd6f1224282206a55f439312fce243ba6c5e77f2efdff57316fc8c6a339f6c514a63f27ce57a3d3157ab02291e367cf75bc57f9f811b4a98867c3a25fc25e33748b01cd12d721e4074c07bfbe1b72589d5d6a239598ed136d0f8790206cae4da84b7243d3dab57765487bda3347c6c00a4615d5f29e7dfcc3cdd4bf5821d81f0b17810790cdb68d63370e5ae2709b86bff9ad7a13091321da42c609431a7dc922384b00dcec116b06861b96d0d2346204884148e81c23ac2873f5649886ee4d7c6529bf08ce83c32624b976733d4964a38ad0feaab81ac1f5e8fe6cccc7de63728d30fb36c306634ebbd4cab7f63c71c112e504ca0ce48b9c50a9997696c0d01d662c8c94a925cd42a01b973d0f2cd0691179a8a9c54b2f3c34e1a2131e8d7051088f4ef868c245233c0ae1a0080f8d70a88483221c34c2a3120e9a70d0098f4eb828c245233c0ae1a308179570288483265c54c2a1e3f08224ef6c490b62455d7dc309cd5fe74749fffecc59232375f098385eae23246f71ea99d634bede20c2b5269a3fd58a202a496e2f640d5f0c19ae8c41930779d1106eecdc4f1edb6ee1fc8e511196679c240668b5b26598c4b695735631314132e9f5010a62ec70a3f8b59baa5ba9d0afb801e3e50b741aea30818c76e84420b43135eb108f40de170f2579d67282e9f24b9b56ce688bdfb9fb02191197afc0050ec7d9636c83b5dc1d1068a3efd503add7e072526244ed26d431127ea38859d01b3a4b7e82984140756a40d2a95397ea80508bbce402f3dfafc6108d69f37bfcc84b76431d2801104727234cbfe7064a88f4033c2a31b2bf06d475bf084e25c009587a5e89a9d13d70132a9a3a051b186baf9a6c2247ea056886186ab03093f0f673c07efd30611122c2cf65f50eb2977e017a41d20bbe7c5955f494a0c9581345fe5a04b24efcf16f8b5cef94f42c28b9ba25ca4fef4327eca574cc6a8d90fe3f6603c83929c5c5341c791e69a849c5b9334ced14581ac8e4e6b05f81c2d83342eead0aaf6f154dce14eaaf7f3a954c3fbd8f034346ebe8254b823c4b2e572701b5c756ea9b2277bba5b95b82a327d29a1a7a1445ba67c1d6de16d8dc8c27d7f26c29c632356f18488bf6ace8822759142b3a2388a083684114569a8949663a2693d410310310c284d6f88b65e5932cf3cd0b8553d380c21d21297ce0e2f6b1ed4afb8aedb7c8e0f9952d67cd2a5b9843d9553800b82395af6abb848fea1bd292064b9db5fbf4f7ac48c5c342ecb8b4a1d0931ae52010b1d38986294412e440278335acb11b4cc7bbd6ac1436c2ee38655e9ec0a14729f98402c3d590c7f8112bbf4456e9eb4f8c23dcfb1d0dbd527e79ef9b8f0caa009e8349d92522cf741444c65c16d073aa086634c3f58e7d069c484d4e89b89de1793063628d223643cf8190880451ca6700e890f143e09412ab8c3864a4280aa0174094cd838511a350e3a1d0c39b7d5c7ff1fea6c0b66c4e9fc29a761c49ce3f8e0859b44688994c771b1ae68a6644dcac5ceeb04c18e63d0e3ec00b142804e7db9be5be35af1d29e0b5802488ea421af86792121be6ff15423e1739812b31efa19a2a6c1dc7ec17008e265677c2a35d8cee979597f21273feae74a2e6a5dbbb81816b0b100479ae9183f7b4503dd3f22eee263d4eca590fd2135013a2c6490dd3919a581fa1781276946449e67159921dcfc20aa3b07b4dcad5e1b6a702e13295be883f590ae0f791179fcf1a9356045215344e67e92c289cc5087fb88dd018906af54001cef7dcae624f94078233f8d5f9fb33d63d540bfe469e891259369d1ac27501db666de18bb456ea9c4e9757385591b5c2fc45e5e22d1eca75b835393625893bea49c6182b52231c6df86ad9c6e7da08fad3f0a93afb2342b09452044a394a512dbfd1bb40667514274e0ecee1fb56dabc5588726e58f29f1591323861d53a8503c3364645784307eecd3cc6a65cabe869946fd43a0a089dd0abe419a9b792c82a4034bf0c197deecc389c0ed1dfabba43112f848be5d0da06225d090afcd781a90b1f8d54aceee997ce0214bdb966403414fdc45241c92cc0fe1643db8cdee2bfcc7ddaa8fd7eb8b68e6628d50c5d992eab247e266d1eee81ab78451884fa1f6d4c2f1f953a2caead69be865b510f46fe8fa940431436abf0a7194fe344b5c19880c8d4ede5f99f84b9799045180340cf09ae38a47c498919955f77e76dc126a4920c77b639b6110ce7e51f3164cb89a8fb2548601372e630cf921e33a012a810ce3e1381e9f1436a043d7449ee57e88177c242e6ccc5c5f6d04c0e3c22034d8b283097dcf104a22111175420d85d1fb2d68682f0e38105f16734a6db5f399ce6af149259f05e123c86dbb0cfe6132ac319369bd53c4e18a5b799938924b1deddfc6a4ee3a074d020990737ca97119c3c04d1b5f59a8d086f78fad3b8ac9650efb9f90257aaa713c08f30210e0564c78c7ce9d15553921e1878adbf3b0d3be5b91b27f0ddcf62ad4a45e83cb4701617cbfbc786e8ac65b42fb4854126a57ce84e91fc9af6db4dc393c7ce98c2f6880cc72a564b727f197018e8d42d97a962b2e3ccc6382e9bb7c087c0c82d02a39b1c2a2e8f341ef5ad13d00a61fc3954d0fc66f524036a5a8feb81af6f20462168bfc653c2fd4c5711f4cd8938e0290ddc4ac7db14d7718164dbef111b6acfd264d4f74fa4e736083ad2acef26480830fa73ad81db97cf3279bb7b2872332e37adde0c8f4b7578fb90a919bd8d76682069506030081002478654b4550256c18a8441f4ace7b509af8c4a2c9cc6421533528ddc44cf9c372746f93671c37a63841d94653f58a8e48c8aa5f81f0850999eb2477b43e10088f2271b9ab6c627445d389420d5505f465a8e785f1a89c5d48716f22e2c952288de6539fc3685723e75338a9ad7747d738c10e944ced0939dcf73b86e5ebe81eb76d104a3047372c9b3d80c6dd975730801a688fefda516a067404d386475c9d3a32613cb623d68ab2c99360ccb434a004500c4e8966d966ec38319996373a95f04a9e9eeaaf0e20c5840df1ac5114a932d11e103c291bbda5b1ae63b252355ca97e5d217cce81fc2c36028e0830c412d18e8ad497c8657eb43fb5d42d23644f86f41f23f7827bf882a9145699c23d7bc08bcc93cc17f649323b5ebda2cd1ad69071a648b8115f33334694c74c06cee19857ca16e150815ac2f04bd4ee4f7cc9b62f80a65803795ceca8f2691c6278b73d586e83ac1f8dc667fa52d172bdcf23f31c2614057bb8007cea96d53a15c353c8984f5f13989aaccec59d6ccdda6ae91611a2532839b4743521e74fbe847f4d3d02c6d185f2310875be525a8494fc3c1898dfa5b2c98554a23f266b685ea7a3fb6e6215289981caa3baeb3d079a9c103bd0f90b13071b0294e2a4ed5fd03335c6f475a6535c1ea5a7068fe343e2e6273f28e6aa940448a32e9f1a0bc4e2a33227ebecd288158047a2446855a59c9ceb5b76e9b273a3cfac5a6f1004967b85dac3ff36061f5041f9c3cfe7d4010ff669e0adcfdfdd6f641500131fb05e7c681986b47c1a19644a32ab3edc79e79983de70b6a3c2019e8934060c81969b68225804f1a4e6380861b6b51646cb0588993955a2efb84ef218f27ecb1f026af786456731c95649d4a12ff7e1280920ddbf86f81518d763ef1056379ceefa264c51afefbd58fd832fa41ba48828630c27e3a15858e1d6642b8ab404a4332be7092602cbd224972b9e7d9d4dae22058adae8e080586f9d5293d02b12d49639d207026a335164424fe76a5b939b80e3bdc974ba6d68432fb66319cca63ff831c33fd3a4f66c17f9b4d46fb340735a04620f70e39873ca84272b5569978a3b868951e90149ed0ff3c96af5db1b75b0de521aacf1116d1e2993d9b37bdcce584c2131bdd35ba61c9e825be00bc9a4610a82a21089299128484eaa8b05c36b92ee9815a5af00692ffbff7c3e0f3a8a472b93b26943e80300a559c52ca023568fce8067941dc4cce34e406bc7cee4efcad788d37eecf44ca56e988a70d95d1db5173dcf9f53af4bf11f24e64b7a8b5e29c8c5122c00e1f54cc02683a03b6da982adc8245a71ab04783be2b03d173a173821dc4b8e498e0fcd9c322e0cbeb5f9e717007fb642d5b46cfe6aba9828aeef8fb0389d47067d0e89f414c983d1f555827131f8bf63cc847331a65c07d08ba4fb569be3ee45358d4b5110ac8e46dc5e2b953c2257db3b20afb581fdceb4a7d0cfdea80c3a8cc4a84093290f05c5a79f97f94cd9319a308e253f89714e33820f39d48b18273d013637d19155ece13ee91007e219f131f2b2df2ea75e3097b9372107edb7437fa3414013eabe2f0e8580cad24fa1410c18094e706099642dd115195640369576f7bf40201807fca90b8438c08cdb53c45d59741b916cc84982f6c0a8e4aa78be6c11d927a32690a0b7db5255267f8142c783855cc686bcf0bfda63b0f3c0985010ce590c52d7402a1083f0400378340a103d6b0c987a57a1667b9c12c0410ebbd087111118263119696b8459801041e2e4619ad177d13763b927276e391570859a1d44b59ad5ef273216200ae8fe163289751ce72176836fa9e2618b001296872bf7bf64776e904fa1e3b59266749c0a541e705fd7bd77d0a45cf077c4088a9b44ff0ff22ceeb04692fb6d0a028222d8c82259791f2f85b2329b2107d0fa80046dc2f7180ab29d0a495e76cb803f106636658fc0ca82276e03e3bf93eea97e1bc60a77945c6c23030d420e45f5c7c9a4361a089dea43b45983c2a2e6d513a06749721e18565630987fc38989520ea38a1bc42273c58ecbd996affb85817597457f25fff30c5ac3975a4d344a857f83d0cb414e6ee5557e9e01b5d603afa761c202cb0d2b90b9262d8bdfb7fbf2eaca1c1134ebb6ee3ecbad291b792ff7e04e9024ae6634201483dc03906565aa7b0fa9e2eb7310fafe9c11138b296acc4096a261eceb3708be16e1e0f46746d7ea39f5b35e71ef0d48387eaf4056d2fcc369e9ccfa356c2aa30cdaa639a853124649b1fa32bc8785c971e4d79757b3ab9336998aeef9641a09838ff0701b7e5c4342350122b6e50688b7d95a2cf806b2fbed1d4af85ef9c76f7a40dece438d9ff5ed90e6d89114c1003d1fbc15e16d1623269ed91e8b6e6a8414fb1345d2243b373db6840c6e59bf42a0b411271601a1e253d11f4d35dca22c016dd86e2b881bcb1d3a9f501d4a9e68aa43667c05bcae01ac39d108a5fea1ce6802fcdef5d5fda665c833d60cd4fcd73cd4fc1ce7f4343579238efae215b395dca48d2d019bff51d85aa21e895755121e2968ea83fba8ec485f77edec278d98f963c9db4a5ef8045cc14ae547892052fa20662c54badf0e006da14f4a5a010d26bebdc0b9b9c4005fcde7984df38e2843911fdb3581710764f59c471b062739316d609ccd20d80c194722805030c2427b04138879564f96d1d8add8bacfd19c6dfdaacff019aa0ff5ce57c3dbbe0f9ef1d28d24a210270e8bba845603ee60bd127f937b9d95fd446e91a276acd469bb82fc89b4620d62ce09d7309e83922b515bcf6c7be770920315e55f8dbe8e5b08768dffc7c0cc8f39f22412d7e98fe2d3d49692ca3ec87aee3b77de3d6ba4c2216a0fe73629260ee70c964f2cf7edb5e04521a2011e203d39a67462353c7340a1c666ed1f67da7fefd5f4b6bfe17bdf12cec0566fd969cf13b3fc8cd07cfab7fb537d0d748377b0da99c24026b0fc467985bd12b994b15c005ed87e3091aa7621cd631fa29cc47029403e1c18c327aa69eda8fb5571924f64fee822b78242395a710686bb537ec41fa910604edbd02a140322fee49ddaf1696da60600612640eb7e95319c33ba46178d812468184f4a65df4054102f1e1dedaaf71efebfcdde71108569367fe06aaad5e570524f79e3c195899c858e15c0da0ea9dcc5cdb87116fd749b584af3ecfbadbbdfa828ce1122761b9fbb7bacbbcdd34bb9e2b77f62d3dfcf11aa052a33969a9f6ddfd90d1c161f82521b01ed12a3fd1f53a1d10de988e843fa41760081db5da6d68e68b8b401bcbc27e788a90b3e7cefa563d0e1e409684295e9d525cab68ccab0f9dfdcafb2a44c4be35457ad9572f780bf6925f708722df6e3abc7ca2daad93d09f89ece47c20d76e19b8e5b784b27037a2de68195f175cbe9fc31d15386dca168e3977df4f67b9e7cb4d787ad3b5beb79f99c0be3a1d9881f7933e9809568e2783d09fa0b925339d7e9f28ea2cac19087e95d19987a1e89e8b05eec08d292cf926af095d17f6204e6916fbc667190f85c082cab300c687841883d63a8b5259fbf99f876319e3e6f3b5dffd69ed3f71bf6aa809dea74093fdd1e3788ff92660bffbfa6f3ff653e794b7cf101c69ad046a92c065b3b8021a04ef8c7b31bc807280a68d92131bea61db9dcfb0c576481774bc9050aa6f012796220c186037ac0112de6251b19f681ed3979e094bcbda1506a658e6c77667c7aa9e1ea445f8029ab0b11c82c99d5e173321f3ff0ca3d67b7b13c3513f23abc2423f264424849091ae7b8c9aa071fcfd146763117d05b8a13454da7484a49a08f18e0589084d47b1cdc183eafbc382570bb73d423141ac9a2859aaa2c20b550e476c7e433034a8669b2d2ba22c2833a89f16a206358242c3c5e48f63539e078526275031a83b14d17044954fa42aed9d2d483aaa106d0f6b5bebebbfa975208e64ab816b96de75ad11f2b88ef4049abada8a010b405d6696d611359f882502a0499e2cd7f9859f6961b8f25b986341e095a47c7b9d1aecdf9321e6c60bf61bcd3933435662fb190f6bbc200670c1e07a898575457ce88f6d95ed903948e52b1cd7a0a94217fb221ff01c08984a42613d593a6e3a504174cf91956154b089bdaecb22441dec06e486b840d801f399e402bc1b31c35e06e843d93869c050926e0afebb7799937a941391a818170293f26248ea05747b19d581fb04511f326049bfe9cedc8939f55fe49dc6f080fd3ea1352e971991c4538ef473982c76f141a3318776ece4a067fe3109451c200e98bb8b1f0554591799e41e7f504b92f4631106618de30b100408860483044082d083076f10e780a4807489140abf74ec11e3b7b8e44f4ba0e420d7a87ecd0b6865395f734ffa7c9019c94e8c2056d058f10b539fa51ed4483d9259559f093005e2b3a41764f0d825811cf5fd0a29388bcd03b23f478e73d42e7d266180be015471ea2972ab218ce363c058dade174c61c28829db838ac9fd1581ca667fdd3b70d48be8887c8d6bc0374511c7048dc7202ad2532936e229897181f9a02fd7de13637f5648b13dd748b27d72dc96faa349ed1ffcc592e316a8aab4068008d8800ecb4634a4700273a92f96d655096f058b286413238d48692aec31e41588a4891e54ab8689238ba233ca9f190a074a916bf48c6791a7837760fc0fd5d8e1edf65812528e89bbace86423babc6d898ca2e36b00e23b81832f981a8d5fd216bfdb29ed5f3393a99b8c0040363ab515536ab1d4c62372310701c01c618d8b8def77365e9c6fe389b5868194c476bec7ae7a3bd7074075868da0e4a3089ea16bd46183a56900fa3ca484fd7c40009baa00185c00344f0b12205415dad7862db189bbf5a6ad87b583013dd104e1805718547f23b26d78337f705a82dc18d3b5adc606660de6e1662749fd06834a3d155c64cb2e463116543c52c3759dd0c9f1b06a7b23a37ef697e34f517088a824692a214eae1676ea3db27dd18d07dfc4d866f614fab168b0014c5c2e55244408306729305a90ff7098483e380a8f2b3d546291e064a0d8ec0f50e26990f39d08fdd5ef2e13ad4eef86da6fbb5eddfe338888046bc21ff9e61dfe5d5774dd3d910b4019d4fbff6a88b1108c74b4cdfbbcfafc450c07604770214616038680c9fe01ea32f13a9ba436fe0bea6c70ed87ee8a62a67aa6061169b5aaa7f1350e28867b7c3d8c8f4e5286e3abb520b92092321b75f38ce7cced4be6692a29fdaf79082cf7cc98a60f72f09c404a71f0561f7d9205281adb188a50c32d5e51b7c51b3d59561f97ead66947113324e2c69bbaaa7d0115edd57007d04f898b8dfc99f4808ae31c92598a214f4cc2c389b93febc3652788019d01083c4f01ac4f26dac35300e68903ee362450ea5c6912a268595d22b2a50f8ee45b8490d69730a6a37df8b4c7e15c80c136ecc430c763e991826a50d781ee0296eec0124856e2846e6acb1d3c8895516bbb9229dde74a0fda12ba26ad55c0036170ae489e8dea4592d0843bca7a798c1aa63d527b81b9fb096d92426aebecbdf52361c38d780159c6b7cf124e5baa935886ed00ece487bea406ea72013da99c01202dbe084e56b6e22e90ea41b6747142c87ba8cb20f39800375d3654ee01521e94c5445705d12aa37091e170f0223f9c7bd037f30fdcccf669109c91c95e0ae48f1c88a8a5581b84cc2f564576fecbf309162743d236a6b7596457e09dee09fad7ff92ad33d32f1241f1a01cc14e02b4e0971786fa6302f47cdf9d886e6da57f266a33eb9d64cf0bdb66161e9ae0a52bf80453917f0ad095afc4a8a142cc87c9c0de6ad888ca553252a9d1f0653b37a7a6e99a142067357212684ce8b6284116691fcd7fed926da762d9e3a81868cf39968a95dd8923f011b517d1db0d047251b1ac13ec07014f56b5b9215b5c30f2d3c9794ba771f70711fff1d88aa4b490c4df73b2ca680013926bc7922be1149ae1f5fc46732eaf1eee982dc05544c081039ddfa6f146f4b8aa325b6ea3b56c6a9c134ec6856747cc250c27dc20155249179acd949b920b34eb1e1315b1ff22582d1626039e84c3b753d0d244b4dae52ba170b6e4ca97473b4f0425a1c456ed7a3b63346215629f57255d8cb7b9cc36e852849cd7a97fa773c39714bd9d96cefd6d2317cad30cdd1eae34b5df17f5dd209abfacf2cf8a4adb544648e5ab3cf5620ae0f200e09a0eb2b0ca13c42fd980e70aa53c29b1d20337cd76f2284fd35b389ceb4e79ce94912794612f8bf7940f58ac237a196c44f5426b08f507d860aff505f8bd95275805f6b832c6252223719a9dd2a9da8418b3f2645aad78c838da3d21df3295ca934be7fc562779710520f202cc26570b504c21b826dbc997645e06e2a97ce7c549d3dd2c534a86e84a29978e68358dcbe2ba95829ba4d0a0f1f212e5a45d54e541d64e67ff737c73ad714c18f9043df51aed3663868ce5acb3a518b19efadea8d947c55413ab6e1d848b81f50ae78d58d609b7878350f5d2fc36d67b7880f6fef347972685f71acd29667f1159a10cb86a730ecaac675e289d7bcf81a2899b9b03305a5528d06f9fa016810f643f7692188739db451534fd6597d38cc9911c3c67e3814452d134d221383ac518c0d21267888147d8cc8b253c33240635854788f96f10b9fd3b3d86551874712706aec279aa4d11be1a3643cde335be0b471584c9a73bfe08ca411235b48093aa7fac35bf002f04bb50a659c894d34811f1e6f0d8f980d3c0d176156318806e8e682b7f275791e3794597bac6e129d0f84aeeb20dd7930825b386498584a694e44cf219d7816799eea739a2bbf518fc247d0e519a47e7b12c992cbc14e5e127ffe8a7acecc46fa8fa3e1e7e93a447da72b3135b291394d4b5e70263934607972737fefd9b5c9f468608b0e2927fd8617397627d5bdf0fda70c224fb4f10b330041b30c3c2c332f5d03426dcfee3b4ce9208d39b9feb8f00de0e05cf13d5cb56a12a29405672018e9e73c242ca59658d32055e5d32a583c84c49e8702a85d97c55208831ab28879668e864c97cff6741ef5a4b00b31f6f0e138dd587749ded11e2feb69423ff86bd7909a10afa7b1d0c74e5072cd5fb950f80335404184bd10750dfb95cd6d6f843d9b1658a6b7ff540940736c5bb5202232a89e9eb0d12c5b733031ab42b970e39546215cbb475afa9701b046025b32da9b44016455038858e341b00bd658836c4a752c1d629654547b4a5a97542e21158730fd8dfdf51fb675f4024e3dc4366eafc3cc0161d71c5531de9a38c20aec47a1dee77edf32c6b019d2c0ba02384fa383dcaab59b6e6b4126e3c19100cd96694562ede70612e6622fa84aed28ebef0c89ac7ec67bfeb6789db4844a0673cf362064d8bc9005046da48f716a6f777c522135d34a9e0174ad077ef407c0aecda9f90d024cb53d0b8ea91dd7e26246e274fc688d3e482baa5c1099b87969a4976dff6bbdfb7a01cd8e6dc7645efaa46267d26af59f192a3c5fbbf8e4d049e3ac7a2b1cb8385204c4e829447c6e0286579dfb04d6eacde0023f43e5544233f5a4a4b105c3dcb3f226c12208eb76286a0dea78851b4b32a0cc6daf04277c84550a70bd9c6a00b742c1f00c6452d1becbefa445bc57a601547438fc897043440fd74b4d613b07806e96c735f15b083560d65eb8e06b68b25a5a5c0f2cf668eb68179b08df0f46094c897cb99e52ed2caccf14432aa2105f2d412357ef3f74500f521966c11b60556c00c83bf2ac5423bfda315f0181140beb7968dfba8cd26140202aea2fb4872efc7ba9d13753ba730f29e240b4eaf158d08c072438970ff9dba11ac3f71513374728570cdb42173b5142d713c2418263ddc7a545a8ed4f13346869a51b093a79563b5b4a24e00b160b5c4c46b30339a4c1a216032c78c49ae4fb65c6880381a1fd751309aa50e20b1015dc31923d7b2a9baf6507ee34c919c511e765514ea397486740b5594150aa463ab9fb83f17d0465ab3605a4a2d3db74ebf7750e3e261817b47e7f77eced1a4d1e73b62be7bc8363584605af275f2f0332b08f7108d2729a7729160df514af9cabd9bc2b3c252a88bc8d53fd2403b2dab1d110effbd86eb69d3933813f479214454aea669470c1aa21fcd80b003bfd554f7502f55a2768e027de06a70e2542ceccc5a191b68e50d2d892c444d70b366c4703a81f1af3558417ca458c760c799c077c3ca55c303528ee3352b921b2dce6e2f02d30ec1086cb1fc7fde93a0df5d24093610133fd63d04407c96e08bc1bf1f1f12d37c4602510c119947b0d5e0e8fda51c3f624c64d08e9ea9f602b3bb1c0783df1ef3728acf781b51e3429029580cf8ed8c383a442818be215009aa73215cc49ac6a746b6dcbbc017082374f588543afe26e6631f33fe2d1c2d49d0c72baab538dc88c787e8255c0dfe251e70b88bf712a32610e19a47badfc817b64b364d6d4f59c752c3685a07e174be2dd6c911bf0d833ce93fc1b76f8e23f2f16f13f666ed53e538c00f3f197e832d83c25d5395d18f08ff1f04ca05b44849e17076b522f9238f0d30fab61d968c12e9ab26bb15742010181685a75f13b1114ce8f82b82fc5a7d8a861bab3e25a696dac26db2c442273f3ac1e90dee1ce0ac6ef4dee37584aaa083d052107e94404e0d7903658375791d1c95fe4e6c8fade2def6692d100ea154a876ca06ef715ac77e5b89c68f5777c03a1b6aff4c71b60f6b24877c28fe76f477c996f64662f82b3ac2ce21736c44c85109da44cb24c90f80c815f1218f9a00e508894a23d53751dce2e3b77c76ec887afe7dedc4b6f436fd2e63b6a13c65d1df90edb84c50dcac181b6c8218b3d311a8a5ea2cfbceeb58dc2774daa93709a3d7d299125cffa3f8f36965bbb8941cbb92dc2f243a998b12f31ea22b53b45bc7989abd42f8982539b9c9bb38ce3bf88358638f2397f3cb311d8b217fb784418bdef31c90d54564834c761c806ff5bcf59879baa2402a6ace50966f07b46a6f1d0a23aaa50b72c5b48e22854a3c83284a693b8eaad0b705ae6c6bc5f9804b95a6091c269385395b5dffe5254fb9a2d21b9784ac6d0197f9934c008baa2d2b74492944a1d52f1dfd733818981b945fda6c6fa5b5613cc52fcf110e9b715f10edeb66ac704179ca2fc8e5fba934ae903d775c0c0e730ea67c22726c6f986e37600aa80b35c50f5efa7e04790f2d2994a9aa0c5bb8ea17f0929e5bc03fd8441b7168fdd71cf76ecaf50d18896e2c679a7035818fe287d42e672f096795b5135aa0b370ecf876c2722027c7c8ad0fdf98fff69ab4e86600dfc82b4cdb9330c942813d7bea634aff2f01ce27a90ac586277220c3491388de2510524fdbc0d700bcde066f40e738f341e0f8c4009282f6d815b7e5db7f4af51f0167764dc72e989c631b28eac381c1963e68fadf301348a9bc01a3b64f17f5be44b09fcdb1132cff4fee5c4feb5a1a9e629e9df6d91db7eda0ba0d0f52352353ca1415e747891f19f5f9488e9bc6641223dd2bf7936920dfea069bcc2b8421ff9253be1b30c079bb05635e98b82745778a34741d0385b392438ccf2692c54c7de45d7956c90e2e69f8d6153fa3e66f13d86da22f1b88098eb31a251226ee74104d7a9f0363382031dc80f6e106b300d533f4bdaec84414ddff86e1132ff57b9e51084a8ec2dce41490cf7f32523a2a7c1d22fd26fe7d850962af77f309f8caf23c043019d485122880968315f0e50b940b3c8b70cf50682451c8580e4c088234189e1c5a464947432437737ec300483a91b9a2acb5b4f8ab2b8ac67c8063adcf685c476d2ae309ac3674e75fc69ebafaa6f1495cd60c436f25cd776a1b9e2d3667e8e712133c0bb839e3c5e1dedfeaf28a05c488451a4666f5b9d517b331a4ae520c8c8bd530f236456c8a98bdead724a909342cc6c6a7776871cd283d80e632570fae193320fd57bc6f44deb545278f6143ff1b65b90b65e1ae20282f0cb4cae93b4489c9eda5aa2f54e4832f26f953c42c982681bfe52dc48b5d40ea07596ee0e6b88fe1b01a5b005d089caad18f49e9f54148f63e1d19413ec18aa6c3ef6be5066cbd982f9274c101c4c9fdef3ad3f5a4c6f60aa2c47b0b2bcdef29e5dd990fcb51ae8cb54a3eef1f7b915647a05dc60464d51c4a16bf349682e72f0161aad0a3cf4856e0ee25bb5b78035331fca71c57ab88e1009a13ee2073431210554d2493ecfe5d935d632a3898acae5ab6b535192d8b4eb9ed07179bb65988bb3fc85f19b4574ad144b500cbc857168817801f137b40e87aa53518e8ea210f9c1c41b2fc6c94ce5f0471c797c73512993d04f8b5ea87f66cad9bb0f825480138830c2b43dd540e798fa6a431f10da4cefdba8ab2b141061dd254876036955403132bb458b4b1ea000ba86811f15973b9be597629a94f215f08c9b42f0d7806e115b1b16b6d977d58b759a4dfde6377a513a29dbf814705259cd0848c7756de52603aaec627ab205bc46283e9989088031f6fa470339218dc024c2bf567a067e1a9c866b38e34124acd6f96fe0ea60d560166d399b77fe782085bbd7ff691c33b7ff065fbc2a744b4623a84695f74c9c968f67ce8c924b55782eef96d649b1862fd2a91031ad3962e4bf3c3aa086b80566be2b5272f0279000d4cdc5029cc89473c0272d7018ac99e42844c11b39cd3abded69960a30d03d753208171b43cd5a80c875eaa7b831b9461cb1e8848721bd03fb70580d10d3f374943a9635eb21dcfeb14279d98c70037e7770a4a02ea281c4a13ab3022de1694f2ae3378cbcf8681bf4a517cb11981a60b33955ba3702cdb7f1a159e583001251ce5604d5831268da0f95b1abac765bf133e60f4320714bf6dc5589984b5ffff96ee782cbb8c90ce1bd028fe509ac39cb199000d84256bec1085908302c29b420155051fa38492594a30205039007e332cba276d12af8f544260ef4a2cf4e1a62c648f7825a7fd8c75d9fbee7c322365d6b2e1feb696ca7851aed6b5e5134b1d5c6a694aab9bfd80f83f6720b4442a6708d8bee53cf9b93e206fe4d783e9c5f3c949ab446d1c430774acf0fd66308c11387ebbcf16348126f972c901eb42c654c5fc3240e360decd20fd6b59080ee38bb7a24f5c7979fd60a7224b4cc4eadb5057ab005eddb22c592378dead10a0b9c8b298648793d431f34b78ff9bd4e78f0e2c774de563a052f7820bc07150c98874dfc448719c49a48d2d621f2d6e93c03a743d0d08414cc97fd76781398525e61dd5113138542c170c3180fbd2bb412e01be187ff145a50ae63e45ef55c8ba6c050d7442c59e360dce787fcd594582637273528fb80e068aa8d03a86376ca8bc339243cb6c8d1c627fb04d5866f2ec391e1b2baa59a2d3683deb7d479d930fcc3e8359d90565502e3cf9f2e73735e138839e9b4152dda1dce458888351cad58bd951cc30e75a40748874210e029eb167456e2e262f4fa8327a3e48f7843e255f3d183bca37af490cfcbe25f2ca09690c157cc199a7790769889e8e78da48ade9042bf443e9b0de5344388bd75d322e46911699637611d3da2d28bc360cbffcd89a9e26fb71e0c756b70e2a69257f5ccb80f9010ec57973c04be4ca6556fc3d6f4771b92d7d24b258dff1db989de94eb539e8e69cf2e9927525924ae61a4b824c138a93c95aff278a06309d6ac16e6938acbf30a480e312b74afe5242084be888b3d88666bb4a807f767caf67c62015f4604c396dd72c93d4798cecc862392592911b75a82afcffd186600e13c9251715a6525dc00d9aace837f35f48ac22b52b5d573e6c0adfc0838fadec0f992256e8c68f13e13fc0cd5ae8bb24c127294740cb5637c3df3829dd4ec2b1169101932d578e489b09da2ce7a1f55a890d2ee9325e40feaa4151ee30a5cfebf1848ab8febcf558c3f15647d23dc4c214c5385466e270c462b795a6c1ab86e0bb80812b84507736741c76ac9e57140b399bdc832499104f6a46968ab21cc86ba434e5dd94d04ebbcca8dc8fa592dbf271bc35e400e405b1dc14b9b431b81951568652e283b42da1d2d95deb08d826b9c12f13294abccde12c4ba6b28f0d52e74b8c4ad9ae03741337f9b3718adb6a3274eefc61fd224a420cbc67b79e53491d097a1b9e790cd803f969a86cd9df6435c4183b4660597039b410bc7850e4ca7f4cc13cc8e6e5de436edf457b654822b00421e2379816600e2244055129e9b46be255be6a70e7e391c400f725e818d151b9faaa52f38839aabfa9be5d9f69038d1400c3cb8564c51e215ba48e2f1c144f92897c31b6524da0bc790d92aa777b1842cc1ccd1c8692736164587928441ae920e82cd844ed432205d8e9a1e6df4645c978ba7fb188bc4bfe62d4b73999c6340c55ecaf46dc38ccaaf42b23b024842a0f1a63380ee503f493f31a51d2d16f60caf722147f52409c12feb76d23dcbbd38892ebee53e107200669fffb5db540affc8142b707719648e9d26f44c9d7d288f6a3a73cde5e8e2b5038cb75c96ae52642cbf91d2734f7b04834316be1d4450bd16139592bd5d389b9ab2e0f92dd54928f5d321468dcc216444c24e41f0e746145038aa62a4576f69597b2aea73af83ae628a45103e6ef84f9de76af576b8a26acbd935b4d4b0a74237a6a3f5a6ef77f39b2cd720134e81cabbfa00d108272894270d0786ea64cc98065c36a6b1a5270e9809b81649209f7bd6b1b62d6a1f8e43e0aa2c31a9882bc6946be2e0fa15089f4dd4fc64ebddb56c7c90c14f2427141768909ded1e247407a899221f50df1ff8ed9a7c336b0c3ad92295f88d432d5dfc739051712faf32a87b8f0306e46370fa98957a85ff3d25d6ce522d047524fa09c01655734ab362cd29192e7602273a10a9a258e283f30045d3a2f57d123976364b766f94880939340a1fcfcb61d5315c013e028232b6ae5f8fa62b1b0914a1986c3504b182d9508de1a8291f4d57857810d7dadb0228c4593f765e1e445e6888698df5a8f213b33b9a97ef03dcb03c3cf98f4abd6c9a4235c924aa62aeb9f1090a78cb45beba20e1e8a1a19405df9d79241a4ea252f34958322f3669a4f007f81234258c1c20a65a3a9f941a384a60c93730c3e8270ec8251ca1b80ae3ce88d562cdcab19f7a60dc7fa5adc8ea12990f213daaa214f91c2efb723acf12bea5f6e28db31d9cec89a7d80256f0d22c8c6e85e9b66d27e27d981996e4e26f23991b4bd3fa06aa029523c7bdda362c0c50d86bc8207b9f86cb41cef9c983b98e3dca94c18c15b32ee33d139f77132cbdeb70e3202dd31a9542c5219732ab64790c8ba29f6e2b52a0fd007e49f7d70e3be16eef1d8d67506ea36acd22db781156bacf1b2553d8202773e4bff02767f4d483e19768345e69a5743b32d0bddc1daf109af380035e8a4c9210d8185734f818fd2a3c4d4c22c6000a9909f5a62460a44f26d1a83e87eaaad1af50305baa3bab7c0f2d8286b46d5c756bc5cc221db1beb0c9bc0cd53c62d9fc45d8069cc08e9460b02cf840d34d514c8ac52420ac00b503a156c0910edc5f00b206c66b08a7ad1687a730baa7126e04ef537bdfaf58b50e092f3c9dafc79ad7b37f00146f37056d4c7d5a16291055c7b7a83ddda4f3b4f589209b9681155ac1aebdcf349ae5081bf7c0231f39030c1d9ed1d446cde980e327aca9cb454cb6768b19556a2f31ed31739db03f99d448dd8fe03396d7e041a26834a592de535bb382623584c8958e79aadc13135dd08b466c2feb560f0f269cb1108bd94396db19012f168af2dba7c99a67406db6818f304442cdce1793ea9f46e18576ea2090320fe8170a720aa296da5e137f0a6963b2067ec1ddccfa69e7581126796285b03753b145501fd747e0f69c8cd083415e61654420b52d5230f25e056288cdbc132108ed71368323943ba0016226ecec2c2cd4345f7d1f6ebf58faa881316878e1e055a1e100e7fad633441cec6d834fdaced57aada888b59f82a06010ecde3b557a06716a3a6bd684e8d0c884744cd470b88743d670e23a97d20b85b1bc59ee92ba2ff2eae04d442397a16fa287dc027f84450f93bab226b4a2f102632bc53ad0ebfe1336d62ca17db186659f6f51bc1e9bd3b7cce1c0412ad130b02f03b609aa8b0ae771ed561511ebcc5fea07501eca3a43710dec2a1c6f463211c4aa7c86362989b0d0aabb6c4598b564b67fcc1efd1658366511ca547676e2ed307b0b752ce0fc655251a10ff2ca4c5d8f238dfe2e444d7c22f1f6356cdd1f7e4f380ab6d4fee1bb173a09413b50da14d138e63ee35457e1d6ef33ebf686084157b5e882bf8e2abe9afa9325128b8ebc3859be900e984e4c7d7d9f9f3ba075784766bc2532e70e1eedfb64db42d2a2090743ce22da52049813dba0dc47c59456ee14fa5f037ba4494d6616ad96f2f9f50fe592366a572b7123288923367b0c75579688b3493fc5549c7006131aa9ce995448e4803436ea751bdc3879e41862d93b32eb14cd049fe6523fa066926c5de70cc217c88ebc41264a2566b13eaa8148e9bef80c4983170b6252f3b22872984cb2ac47ac26cdbeff2e7da1bbc58017f0cad51cc34c8f2538c6812d63f37270453337b2ee86bc824d300ad17f427e212f528420e7ec6430fde25040b9a524d09670d0f2f3255576cdb034ce33f2825225584b51c29ae2200608141c0438aa06ca5d88235617a830ee98f470cf582790995a5ae8d4f85fa887d25fb0f062b556a7dc4e600fae8871462e05fb18a421540b6dd426cccc6028b4e184f04de18515d620bb1f741d71fc2911f275d0ab1c1f90055568dc06961b1343afd46380f185d88316cecd81f45860f893d8e1579e435343999a671476ac26b0c60f5ecb5386a210624d40886c992fbfb8249473a8888b558c24c576d43ac4521d6f74ada42ac954c8c4c9c3e300b3193001f0fd4e92f7e1d620cdfe5555789cffa4008d414f161f777c00286d50c1fe2f83048891eec1afb4c829d98f9b06d9cad9f42d46165b7689b730ba0f5f06730eae5b2a4ed6670c39e1154c64bb70f842fe07c60eef279c08d98ba299a6d8d6560de67a3f4f859c67cdc30f798ed7a60ac80678305f08cf09a4ebb6636bc9103c3f78b696efd4e3a1320bc40c6e066a86913c363f222b21633744dc60bc43883e168795d37acefba87a3fdc4f8e18ff690dcb04d968617cda7240fed8fb23297a316715434f86dec6f39c3269e0b6b88de3e7543ae5612b8d02fae3083dbe98919a9592242472dd556483000c45d6100f378fba42c3cd3b9c314638ceec06cb72e1f37223333feeb19610af64d98efe8af2340b673485847c5b48488d59a66f05f088d7bd9200c02937ae4c719ba21ccc5611f93605e97f50efbc286d88085ac7966770dbcc858f2070111f4ac4d109cb66db427533d046e2d190645c3b6c726ae30b88a699b74c56c42a077d8af30ac49b19bffe8b13b6c5240d6c684c047f1199414c06760cc35f1ef3101f57e8c5b77265cee3080506800da559544f42ccb847badb3ee0ceeb00e15db1137b8be5249e877d8c4d42aad32314b131825a94cceb8f639371f40ccf67a7c108b02c36a4477affb52912977021f6f0ccfaffe71a3cebf9f3fed3fd1ddabff2b80cc4dbdde5e2a0b86dc81e70dde21da74f2f1e685074fc121e942e36b5b7c9821523c656915e0f276dd9883070a45ab5b517c5b9bc00aa9be394584e344db3ee972d8c82710b03db29e458dc0e07d6dccf8e4acc78e8ed4378aa9de8a23d11bd8c4ba5779948f4f92658414165f5ccc9388d045054bfc62b94930ee0599ce907d82501d78bad73f897dd8c6652a91ee63a1c86c48893fd7375e0880416ff0a80e107d937564ca9bd0373ca8d59e1ba5adcbb25378aac73355f4cbfcbe1a16208295a25c869a9dbf427505fef0931a39132c35d51b630acd40761659d2da071772dc3f05722238e9463593944e5962726c3472869310a0352cd98268b7eee0f95f10346177030f1a773497b6af343e01f8d82cf84ce1752f0a3454da79cd1ab0e3d5903043aba135b41d1179d6ce479ab753e08e10378156151d5ca194505f503c6cbc75dcd181deb22b03e4ad717139b41c328a00e2801b41e479076582ece0d6cff0ca89e7ccf6630da121390fa80ce496f659075b035b01c5799d316cfb038734727a666ccb3970e29f60789913af7abe90b0b3a1216642b370097fa05bcf05d4a65f3ac52b21c750fa5cfc1009f7520b386ccf572003ae57d2d36e7bbec211d038c0c5cb50658af8c2a1620508bf9c90df35c8b69caa3855982ed1d1b0c3567d652b7b47080c293c92be2c9d45a22db2f3a567ccd9c4c605b05633bd3744794e305d2daa7bb091c28a5ba2836cc4204cf879bf3c48a9ba809c9d2f5732efac342141e6d843d548496091d65db5f47cd14ae88b9b8a7802c734fbdf98d6306104b7b42b061907b8d47cc1c7f479ca508b53abe71150c8b8b9dfde8cf06e5aef6c4996f458c706a9b7aa7a0f31c8f43b2f3844b515965855268ad712be2aefa27c23f922d54fdfcca443bb3b3aa2ea440a6345e50685b21cc36b89511aa509fe21bfe6b504adc991a5e880ecfcaaa84cac815a26397ad4c3df357724735d62f5432ac30536ddef374978ea53283dd1c2fb7c3f9f13ed7163406c8f0603ad68c1e008c1ffa8085febaba386fa5a092540731b08a3110d354a00252e0d10a9c03d1f90f9aad9c2d01707fe150ccf9086a0f4957830afdc7e4f4f81db5485824c91f3db3061ae54faca4651e272774b18bc9a03ada2cd5193fa9a6904ad0202cf949a1bb5e3b5423c4edc7a804b1309c33f6cc97b5a16c68f1844aa53c4733287604561093847ef6b9ceb9ec423f4d891ce029af515daeaad09d0fa29c405b7f7bfb353927cd931d6f7b9fdb5b371b763c1def2f0d081b376114fe98f1e87bbe6552b321fb0e5174efa591679c39e629871b427cb687e66f05a59f545f0b0f868517e81ff1d221f6cd372e3d1f4b4f782dc8ba076024c4b90bede409777519a208f7e50576094fac056951312834c0d9a31b2dfba24988aac8955478fb11fec0f937f10c9972c0f0c223133bc74ebfa12498a71cc5f7e8bf52fa2c7e2b59897b18503d60fda55ed190fc04b95d99609fb3930b341f633c6bf94f64a0df82156f15ce9cc5a2775d2b076762c2d918ac09c1ccbc28cf55711b8a36aa358cacc2899a8a666939e9ba74f2fbaf4045b51b479945e2d3e27d137bfac1b6a613ef1cbad95826a7e276b5cc9188a34147cd9cba19a51c1c82429136b04aa71c24789548bcd7827dacca0d04b6908e53e134bbc2a2bf4151bea282e9b34b91b4870794227671a73ea3ab424fcd5b0a2db828db5a4dd36e1d3f905b4a45494c3656bf365425e630967c0d85351b496e47d29261d6aa90f6528436f50267ae0b21ad23d02949bde3a8482950e52468c25f44fde5b5040a180b31f86d367de1c67494027d14abeaf62e01ad340c9ac54b3692880573aaf1989edc0723d4d765653ad52ca254bdb132608656a274d7a215ef6058e43857ef06105a8e571c9eee8c6f6e4817c3c48d78763e42c6c65c3b22b4a7302cfaa849e9abded17efd68abd13de2a543ea6a428e1d4a33e7001eac35fb457df7d2523b3880cf4b787d4a4b5be685b97169e772249441daf1f011a9af011e3bce8a1778b2bceefd4bfdff0b65b12b7420e489aacd90d3fa5cc48c5eb193cd23a24b48e0af257231fbf823aa6285b637f747688be6c662edf5632d2555d02e901c58c0a11512e529444880a315122425444881a3151234a1444890a3151204e144489121151204254448912115123465444891a3151214a14212a460959fb2c271aacbb22ccc7844251b8d9e73aaffc82ceae992e7bf2a108f78c771c21a342bbfe014cd347f273061b3282f36f7a66d84265dd10c719bd5456fb6c27c2a9a75feeaa242e03cbed4da20f8aa34452cf439487624acc720eb80e5512782e493df1a345cfd95ee7f9c15bd62ba0558887d925b540e06c706dbf6cc329c9bcb04244ae5b74b12dc1ee64ac805adeb7a48cbf24990980cc4d684e6c360753cf2c0f057f7364382776ec1c80601dbf4750ba1455cf7e67c21dff75c60da7fec59b6e89bfc6c4c91f45b52339a51c4e58c012c81f2ca9e60efd17ac062aa938fd85f9266edd892ffa758034ee05774c037ecf4f5f4c0c612aa6cd504e60b5175e49804afc58948ee181c79a38074ad84afc7ba75b854dac51a47d1e2cf106f05f57b6c441e42e6d0f526fc929cbe25d016b6fab90a000206e11cea854897815aab50c95b0a5ee5afeb73247301f91e74e4789fd97ffeaae567b6acc12d053e0dae9546fc25a53479fc17c7a8a0dde71124eea449b5874d3984895d5a517bc24e728238bdc39a8eca0aa34f13c7de846ab9a4c34774fe6091d662714ca3e21b80975e9efb822c889b56a37fee9fcd0c1be0ff257b6398b3f4fdeb500b0943ed681e250f0c4956e5468f477d7f84cab2d92fe31a7d61e39dcc48243ce621985aacf90ec71bc2afa5406515cb0fabbf47afdf574028fc794dc8d593b17bd10030f76fcc962c69944fb1563efa0f404e6607b86b87732086c2037578198065606b5c41c7dc5bc45a38a5343b6d2c2c245157f053944f402c15e6d2729ccca42c318d80586cc01b6640ea04de7ebff5fd8ae364d04d9fd3ac09a2d335cfd1959343a640e4edbb04d0f110858358f56364f4044f14648ed0baf741bd603cbfae257f8312baaa93aa51fd83a343c10c4935a7fd1ee8b13676fee817ab8019ca5fbe5dfc8a5dcbb07e9533c578cb3a0cf86058e9cdc3f777e3ca749200260d7e86f997e96b708e082c768041a7c976ed5b514e0785e5051b62ac2e750c3b65837ca0f9e3800bb09a151f347a2190e7eb4802494cf03babbfa54605e79ab96da4cef147f86786bf98724d89cf40eeeb43eacaccdbff9241920c062fb13fd0048f4dc71211168ba68f943ec9a28c6061c5b47c7893f8a8726fa0b288bce409610057a20eb5f4a8ae6edb16eee838f464395870a1ac846cc50ae6ca0879c4c5d199de5c45eff305b39508bd6f5e72f681366c2fcfaf758d49fac7dfd9fbb8df491a546bd5d46d8c69b0411f3bc5f8a90c334df966bf54bf7ebdff453d10700c065748eabf9e181470db5fb0aa8f586caec49f3c82138b97407cdb407c02c004f4b4863e3dcfc7667d1777fc6fe4afc0bae0fe65d92dab8a064e10754f8630a9bc9ffe2b4ebbb30283fa70519f1276936525427a4b4fd982e609d81254ad3d8d4d30aa42ee0a5071d98b7008fd7039d8d3e37888d9b6d0fb05510b0203a82880e61730f0284941f04aa83e97d6cf6e01643c48992c5af3ec89516cb07161a60649ec33a2270a1ec0902a357e80abc7a7c73b7d8334a7989a185a1d308769d3f845423b1eafd8f8ea85887e22444b68249a0dc320ab815ad95e58ee97c1737705e1972d155a0719c838f79b386e168b2b4f67f62ef7cebecd8e6cc75a427940b050a8190403df7ac340da5504b88a26506272223d1e812dd97e44d876f213d26328a45d5e3475a122d54245c51aaf95a10bee9602d93fa4f10cc83fa99f6621c6e63bce6e666fdf3ccf350b2915fe15b4465d07d2da5978d41b1ac5ecb83eff5b1bd658269deecda6aba188e9d1bb5bd0373a750840531764c743012d35a27a6eeb6d8e5055ecd76eff274cf589dad4d4259936a3c87b4b532bda7bf0d6294be9a0e378135909a7e276c3a6cc8eb74b1fd37fcc30f4dad48564a0f83d2c2ac41dceb16debfde239ccf6f40f1c539931976360a65d338d8e78d239f14c3ac424621261da2cd53267191d25309cbcc4c4cf39d45caccb9def2b32abc7b4169ce614de02827a215d4a0ab03419de18926dbc0109b5060726e8c038d6d1f859a23ad1b1896af6363e25aa0b17f4c7549290d7c5f9022591a223da1f0fea6aa334da4306fc765d07998396369e0ff188cfe4e59be20f7825fada140ec291c68cdecafefd86081971a9fdd33c0e64f0f65f74cee4f61eda1f369bc76d0c3ab7e2220632cc98ddad8154c7efcee35c9e8310270934299de55860af24821d11633181e733066fe382d43baf2659246619ad3424ac5a7978fc6bd5333984121e40abdb3674d3f81bc61308bc4714d9f18e2c4923b1d285d51f49cbe1ffaa7d91c6eeeb5b8f53884541fabcb020246aabcd00a4201caebd12d0dd0ec63303c2ff7f3331b8cfff2dc9bbd2107e49f3a5fe3663e6d6e2d399e6a649bdb22c4db86895ccbd1c264ef128f499c8b9b7bfa6be0999666470f3f60fe8aab01ff00d9137e2ee69745412155278eaf34c986d2bd69b91db07011abb3b0530af0ea8f4ecc242748a5b2f9cb4c5d6e6efe815b8a6fe12c7fdb3aa439cbb32e4a70005070e70ec3909ab41a295318828bb92258d597afbc46c3cd0437680d6d73d3fa88ac1078246abe7f0d3e0149149145862ce8f3da65395d3da925016a1ddeab67f5c8ec286e275082f72ab65c53ebdaf6ed189bc75db8f9517c7d6c21edd4c34498e8565e5772eb279d3d476e8038bb1a3cf749cd0e92672b8f3274fc783a09106233a3e891b3c2fd8b5826eca2cef03438c96ba00a964d6917c8b988c2ae651b721cdb5127a3bdf7b3109b049aa7433358101bd3a4d349d56c00b4863e37aac89ce56bb8337e1f868a46d27888c19ae008ef345a4ebd4e502ee09e53af60f87900a6a80e826dcde9a7fa254cc0cd676f9d8f0075f4d56a65de9bba3212c433d90eb152028042725ee0c22d3f470eeabe57b8d873b4d6814bc9dd0e835986c382215d71fd0df8a15a4f09fc180264890dd4ef51177e0ef0b83963e0c88de37a006bdc5b3da610b744069258e23cc7f64ab1f5e24594a03b0c5c03180a06622a638d5f904fa0cf6f646144984309558874afc3603dce4311eca4d7f8f3b43879768ca4147275acc3c03c50ff481d78b21b04a6574174184c8b0c4de42785bbc5f82c5cdd36f7fcce9345f77333c17e16aff3206cb3ce3110141e2278ac1b5e11f6ee8f2bc292f689f105fcb1b50e4c9cd4a61984490c52f3e60f27df7383c3db44b252fa920b848438634ae93e75fb8a6cf0b7c41b974214f3334bc43eb1411515e10ec9c57adf0cbbda66b583bec519af4a6dea6f7edc8c46620eefdaf07bb1f65a6ab18260a4d1d726d8e3a1bf52823fff13095249e082f1c4ccc3cd79978c16908e62b437614e7b1995d8832ca2bb381c0312a3acaa932958c2c5a84b860c2f856af7621ee3469d6c53e54bb181cf6f97150e2fc1a6837eb23386afac24f374b9815cfc3a5d1c94dd5cae7822eece70c9a575e0e5251f8df3dff347f08cb20ebbf6791a2015aafb279124a7c91cc58c0d24c9f5ad65612f2155bcae4c5563e10049ab5002889b5af1b405a3dcdeb599659a302926e8d5e006bb0c8dbef45435f562ccd4c35abfa38a869b2c700c09b652e1eba76da478e8897b343f9b5f06f4d1b179066c05926ea0f93d8f70cd76a12b1fd267d86bbb460c95c6bbf5ec1734dc6cd5243ce8b3ba001a2e25620a2ebe85e46a7e824a61064fd272b05656c566b529df777afac1b07f22e8c866bb58e17fbd04d59686581d228f7726a3aad0e8a79bd5ed0aefebfbb5d17bad8c02af42ea14b96b6b979c2f64b34df842467d7112c6e839a800822b4a9f9584cf57ed43be05985fa18c7a3138dbecfed56f2a246c701603044ec828eb959031d142b6b218df428469e59d75088995c9ddb4eaf33324434b4d46b9f548834d45c0f84354e2b9dbbb8d401c6dd6b65bad7fdca195d912341d65150f6d4857dd15165b3a0bd0716940b875a82e9d957f2e232a4bd652e9924fe258485e3a0b9f5e95164e65e99d5942efac4b678d91f8856db5373ade4762090e55cac54554db6eee3fc240d2a551e785bce3d3066bef19f904faa30b0659cfad8938a5f5f5eb88a2a1c5be3fc8f019b0a1d04e836eec6773c5b68fa37dccbce85d15fd12cba56a27b2cd39901c77ea084ea6e088e0039cda40ce5adb55819de31ffadf86c98836fa202ffe5b3758eb687f1a9fe9e6a43565ce7c77e9a666144e680ad49101092dfc37ab4dd64d2d60a94e7232b0175ae2a6b21905fa3fbf21205d0474d1a32935d5bb70538234c2fb0a23699eea14d46468693ce486da796483ba3d5ae956129b587b07ce277bb4289681a97dd2967e9956dbc42242cd6004981de6067f503b2b93cd14f13ab8da779aa0042ce944ffa9c3c3ea108f16c8f9ead5ca18d93dfa0ea56c2bc0f98dddef948cfd50d3ea02d94807c8dcafcfc1f4c0f9bf040e39d79380b12da818caaf9abda9bb6a6b9c61468ee0cf6ff85bd501d081167e450889843ac9f80c3cf41d2a54fb7d59c384bd6537a724fb19e1198644fdc03bad412c9c9ff2802be04b1baf6c013b0ea05e06bb63665db7333bdfaba58caf2d175910be5dd4b65475b7364ee1f2b1adc0d5e0944ac35f43d6b8bf1e38f7a78bf021c558f5f9c1e248d7b1ac5a6e76e7e882435ec44af73e79a05c50a2f41f54a7132e3682de8929cf93171aafcf75b850b2d5f653441fcaabe1f1352f45bfd54e622b477aafdbd37f42b82ae1a6517eef122ab43438c252176c119e4a2925cb0d11a775393ce954ae0dcf8a47d03b46808fa1dd8c8f8cf56c25b5a9692ef44a1cf5bb7bf4b92ce31cf7d0587e2d9fdef18757b8344ab32d2eb29a0a8ab0f030f353e0257806c0d831482f028953dfb9cc6258a8228d6c4e6dd4eedc59fcc9082a61b491754eca095ddd84282729211cff6f28379efd17d48ed39d2d9bfe1e4aa48087fc1a33e147fd33e575e5fbd5ff28fce21e42b8099cb530f1d46f3a77bb43ae0132a1e922dffc465f3831c432638c0ba86a3f2e42af42435d89810b4420785d7b32a0c9b1e8a5351674f048e948167cefca4af371475338fab43819d7fbc39ead3d6053e5222ad61e22787240b4dd58efb96e52f2d462a5295bf1e92911f8f716aaf2beec117225f071bd694afc1c4dea119c5c445a90678512535e11047626d4c8b0622dbd9e12d59b5058dff2eab59e7da0dbd14d3067cf07ae39987b7e8d0b409d729874c3257b0fe4533e84174ee903c26d88978a7a065019f9df8fc6483daa2a5510c9dc95ceea7f9b387d03a40ea0f169187683fe97dfc784ad19c5d988466b7c4dce3d99cdeb0b309e7184d426dbb67bcbb33d839a9a48c2f89dae1581715f4e802ad18f5efe3822c16078f834b9fbe6a0b4749edff0630d85350f02f019ecd761442f753e9fd953e5b8a2b9ec670f6df5bb151eaba44d42915802f3c98682b239fb2ab97c256289b4363c5ecc7dc6e808c0bf09153ff0417955e2475ff8ca2c04c50ba436ccdcddcd644b4faaeb98cadafec87eb7604a47f331c8e4f77753cb7129717ae6e287a09eb4ece997821ed90b9ecf8b63917ca57ae02d8b94134d952b75459bdff19b4c25afcd38666a06cb840ee808880de87ae867081625f780a2f505003f2bdddb1ce591bdb57c3ca24430a64d66c0c8e36c10a64e64639b64bc4c652ca251baedd359fab2b100ff969d132d8f7c5d568115388f2d666a2c32916d124bc888eefa5b2e91f96f4a5a6d5692786a1f904efc001cb5219a54f0e4e9c32ab4400ccb991ca6132ccde787ee53d738bf553ce0df9cca53dfa2f8ba9559ada55257c94e97fdd331a279890025e88195735d6b6adf4199561a25a76f6ca60979afd36254a1240fc2775c83bee2d17c30ab6fe6b29e49581db8b5830dbaba79ae9398ed962ae7f4c5137b7e4109903b9902c7e48aed6048761e98e2f433f182e98f2b8567e70a947e18032e10b79a100c5c5cf7147f4a1eacd820927244bbe0d72496c9dac56f96686ca6b0725a61e3fb1a565ab570e1c27631215d44d94ef7e2a98f080a649c0aa1a144ccd4884b24df5217d81c4deb98c90d27bd80df8e11632f0d47453ddc18b090368d1d2c400931092a162effae489a1533d76b05de0a5cb6406678839403887af69d04079cb1d95a72834642d86f4c44148123c7fcc46bf816c9a6b2dd5fcf706e180cf71b62c393dbca1e9e1d7538f5297e6109fb7e16d380fef6e779b84015ea9ee7a1f4c2060d25a47ec8d1c772676e25d6be1e103ca643ed8ea68c8b4e1edb08905108d6a0651966dbd621b39d6dc3c7254395a26763fab0d2e2f3d66645a4397d0e656d003bb8b27033239120e8318ad5640275be3d15bea1429ff861ec1a3af8efa46d0486d94f228d4585bfa124abc3936fdb3ca80b078bcc93ad1c92122f6c13809b57a64528dae562d5b60432faddec6d384fcd98be5480048e5622810322d846843d1831d8fed68465ae6d3631160e5cbe91e977a0fece21c49546c3b0d51940e4d3f44c039d46086e6fb041af7f37c81d7a9106ae48c10625ea5bfbc2d2ed5d0d5b7ae49c7569cd6a282a5c06c17eaa189070eebb0da787fd9db6b118dc69141020d9560e696697fea903ee9e213e09821b2dc1db67e9ceef3436efd9838822e0d87d1d2a578e6d598689c2d49de09e998e738fb26de44168b8880782070b35f17fb63d0dd0599ab6806eb810f8ee80c79b82ef9951f51471b6a7f9dcaad7fc60cb25a49c27b3ab484db9fa64a75f39ac2d4bd9fb8c38c807b433eb9d241b4f3e53afa60e044af87ba4ed9be236e3758ddaaf35fad2d3d948b0484a7d9a40e39b4333b1a04c01c01ffc45414a61c0a2844d2d1b79166ee100f21b540534c4c71b392af91dcb14925fd74d9b0ba30da06975de2bc6c251260d1d3d137e873438a660fb37100a137af2f7d51510231637b13156723bb9f255e43868479ea36ac813628a708a5b44b27cc7ca6080c597100e8c4da161182be45fc103ab47b96951ea8fad7f387eb8eebfa8c2ef99f1fcbb23ce5f20edf76cf8f414a9bec72eb76ac8fbc3d7b170759f6fe7aa41d027ec0237f52a6db1ba413148ffe2c8f76366be4461c9443e8130f28d51770b9ff0b07cf6238230af751e34c59c962c8447115954c24127f37a3376d151d87e9416381a4c9882505253427d94d8498a4f31b9ba7376f9e8cac56e90ab2a7ab2a1c5e5440dfc2aba60680391a8242cab0bb4a104b5ce0268076e622235588745c7f14a4930cab2c22369ca7df5e795be8a12a89740811d250d03edbb68bbfb224d2070d1d350b7e889d64d219a95badab93e8e67748f8af0094bc6c8402df95110e873b84712158b40b9120b36389fae8d83cd68c7f255dd7681fe4fdf76aa2d6fe18d77e0358367fa0ead7b229a7f4bb9387ff9910358c49f8512e14158b877f9f6970fe052b15208a410a764cc6a52e9da195e6bb5550d05108bd4fb2c629c69057be4ee172726d9c3a3122e99f8948323b995e0ba062127dd0ef12fdc75b396e6449a71aed872f88d4fd07488ede68d0370a4f8e3af7a6148377669e658289ccfff627718e0f71d8e83d51bd64193e19ff02e539569699ba8df36e844a0453cc46ecf80253e1cc20f6a32a77828be7994701ebb59802de5cf221a01f8cc13c9e25b26d8614a43c37d03f9c5a5444cdd22f84f27f227498434d6b9b1d24b45023b361775659f76c6c97952963475fdde8074f6febf2e48d8ea1f8374be3c97f4f9e3249ae2389855f9d2fe38326a03e864a5769ebe634763a3d67d3db38f8ba52ce9c6bc5321685a632ce05c954c657fd43abaaf09a3623b8798a5f9009b86ea8c9d31db13f9d7e30e80cb8742657385a0e9260c850dfab35fc142f3e7bd40cbfbd9c5a83101e154aa9b6ef4f2a222d07e1c48d139f2b0d064b2be2f095d23aac8433a42321e2e8813262a41b59d497a4f6f1c050848ce7cf937921254386ba849d22e4e9a723162397a4af969ce7733419a77cf0ee01b3bb3d8c3fc32cdd1826f798e9e9074d1345be09a19474f271d6c87e2e8e93d446cfb61e01d3db56322b10fadb274f47c91f1fa3dbca3e78bad9edf74f97e6ccb42dca7fd88aa0050c1002d2a01ed0de2f8404dba0df76073828de2491c43f0f53024c139ffe750f9dd79efb50654df367f53770a5c79acb266d78d4a2b86a09675fa0d0801b8abadb69c20fe8f4dae0e99b75313335589f35e6a967fd245f619b6df29aca77d4e49fe5e34cc6e740a47fd0803b737c9254a010ff24475e04127a9ddbfc7f7b1cf4913708d5277fa99f40fc0c092da05e2699fd8ffefa5e3df268d34735f339b91c88616ec6de9b6a910ec8f7e77aed3df8823ccbe8ef0cd89285ba8ba615d6b338a986f3cdb4dd8085b5e9888f06e81792c8f28668be8c9194a5f1d34990493e72186ca17e913e0dfb47dc9a3fd6028db64a96cb3290a563084d395aeab2be343f457844bddeb313b6671edf95473150c1740f912887a93073b2998c1164afaebabcc1a9f7e4933f843d0cd538b984f79f550c98c8c83e8db204d5543c0918f1faa01ff08216551cd3b718094a5066b354217152b0d4d17810f3ad041ee165519e5b128b9f85d2be667204e3a0fe4c49b0375e09d617dc0bd20e00f51a1d4c55d5ad0aea962de114a5c931b59e34017981d85e0a747eff170e49f88dbe36af1c1330ff5f11335119929f7340dfd0b90938387815b6416330d8ae68f818fc93186020a0e9bc8dfcd8a103c2a6880e37415462b3881e89232c90607fe8af844d4886f43973165787570e93b81c65e92a68dbdccfd5c44bad530a6954e109aa0a417358d87b3d0ba34ef83b9f0d312beee192e11803f3464c2943476cecd06e4d40f3b917d27b944b38a2f5e66ade9d8f81dcebd0c79aa86b28d03b36da62cbca0d91acf66341b8c464f9df138d26ad4346798a030e909020be0601b149b4c19619d08d30060e1140a4bf93476d8644d85c56b8f6332367435afa98799c8784ae7f3082a2d935215f0ee4462f855fbfcf16d27d646625e08223921213d933794958e48827afd2a07ea6575af0cd6b200418b0d9f401fc393286a6f91822358c1e3e83fb6f2ac1b0ccf90bd030d2500275597e259bbf49a7047c3141cd0e378ee29917fbc98fb6ae0c51879113bfa754e62940f4650eb8794edf2e8d052f49633516aad26680c1590391104bdba0435b72c42ea6da013e81d15d29247cd72e1a631c67d2b06c7cd275c337a5b0e6bee6c463f4020c259ac27c2e5002d4088be1cc8963dcac31dafb1fb27f1c7389f36ae970d87ee61d04a74a0d84b472b2b31bb86802cf365669646f7784ed387e7ecabdd340d0fcb6e79374d83aec15ff02d429ec18eb01a5db247b8e64d500a9cdc04caff1bc85620a011a703698265c3d2996cac1d4befd237984d96d3fcb69dc43510acdd111afe94af4f5ffcd7749ad80192022c40411b299c55448ff1f10a98529a5fe9326600627283ab35928c9a889090b6f7de5b6e29654a5206e80c320c4e0c727bdb12b6647b429d94240eed777ff2dd2f3aeb044667d950ccee791ec775dc461a7ddb86e56b5f7ffdc225622cc67bf6777fd7130c5bf5be1f54d0ecdea7b4a3dfddccbab6fde6b7eb6ed76ddef783bbf77af7bded633a7b98090f79cf717f49a10f47a1a9512791c9d4a83eb5f7a6ed455dca2a154def70e844f7f24521afdbecfb739bc56196ef496647f822967bc831f685175f0cc9b20439c680f0ca930ba3f7a5922c795fc2f911d697b584c3995ccaa4df58cc84e7f000f6b77066d4d3ac7b970602082f89442591a8f42e5ef24a7fbf1fa1d2c752c9fb5bfaeb7d4ce78b99f01ff74321d4eb86a6975e58e344154f4e7eda3c5338bca93c5198f4d909c77416e1d084633a97b0e8e5934616089963fbec431f10f2070fcf06bfae4199371e1603217fc83045495be3f5633abbbb7bfe5996652f63c27386ed737346c6cbbc6f91ef65efe299fff7e30b3d679f653f43bf9932f4ea873e24ff2027039163cc074c7e00e4fdc0e7073a9ee7bd1773ff8adecb9e34fafb614c4f6fc78f0c8754abcf7048c2618d995738a2e0926a7b520af55ca67d8c2759963ac9221837142267a4d573237c7138571fca97fa443886e650c76d5aeaa25af3c18c9f7f4c67194a1ccefc85b7bb50666bbf45e6c0d1e50f2664b2e5e199c65c3f263c0fc9f5e3f6f14389fd75986401e418d3d9c93e5092c11c633ef82273ee590fc6bef4ba0663b4d65a1c8abef491f45a36ed35a13ebaabc6a34c388c600891ad0ae5278ea44751a5bea97de98b0d5e7c1ae38a7058239461eda7b7239cc91d7e5a23fba6bde6ef99115ca638943f3110f207c759125a28bdb69b3e2bcdea7ff9ee73039d4ddca1991a9e3ea52a92eeb81162aa5dc9f50faf893e476726f3a4d3bd2262764aa1e83c1bb42d46cbcfbcb87e63b472095db473a0c10eb40d7f1a231d227239d0816e7d4ab48d8c8b2b3fca97d482e39cb3aebd1333797ea5dfeccf7e477f56e77cd73477cb6d5cdcf956d2d4ee5d7ad218b1da675fe85e8603ddf64ecce48c7e4633a75fb663be7359f6957edb67dfe643b3645731d8a0d4b0acc1f205c61892c19ddfdd87ac7f0866ef45990c320a3a4bcaf7a88ece197e40649115cb1a2eeec45c5731b4168200f331e212db396367b6fb63cca4315ec4dddde98a52e9eeee54b63b07b29c3133cb221a74efe1d57ebf6dd7f6dda308b97d341b36d2cf6516cbdb6f3d03cce4eeacc1fe99bb259dcd4d1a3309504619654031b3100d7aa63cdb667243cc0939fc6c5b82804526a59432fb785d4aed55ec4d69ad7ded1da61c47bf296576cb7fbeb4c7956601d5c2f974d639abbb370d27db27ad99d536aef342a23b22954c27d4494a85b24a998183ca7f3887151d76e00164f5d0492fbad5920bb1358a607f3429f921006fe3e3df70578d16cd6cb7b48dfbf8483c40f4f19588f163ba557ad30975f2f1654db752aa8f281f571f5fde482eba3563f43e71f8f812268f740b7f5cd1e1e30e1f5f82d12d1ec2e816ebe3cb58b77af898c3471f3eb2441c2a1f01d081fcd168797709e08160f9660401c0f22e0d0096efe5fb0000d6077a3a3aab602257be8d1a3c7c0fc8e1fb1d3e891ebe141d522ac0fa522b2925c0cf948369091ebe8b2f0776f8baaf8bd1e1b3df8195ef5572f8725079f9f8fb0f078fc7cc2a78e280638a0c6ecf4ccee8f3b1425264c6d70325064bf90ca00ae3c8ea2b22c5a383f215e0048c992f549f0b2aeeb86417e22444014ebe1ba61b45a0be1a119c5faa6180af2582f3492d3d4c9f0f119c3ff2a124802f05c4f5784c10091a9f8dacf92da251c8e371f36844f246a3fbc317802f3aabe33c981e1dce6d1f421ff503371009d1b7a2ad3c20f4bdfd942ca502dd97aa2925b29ba86989edbbf372207be75d8cfd6c5baf1ffd678b0f6df200d01580e0af2c60c1081cb5c18dcf89a8912beaee256ac7288598380f7d83ed1ffeaf803ee74d192187b647f036721fe34ba7f19a52be6911df06dd94f2e91287b4990b3eb2f46773081773f7cb6e00c7447c1e35e22c08377e2c719f657b3c0286f2dcfedc2d9a27ee3e77a71a6ce141d6c5b531e3e2f6cb772987e0e24a1897f0caf4254c9541a91cbbbfd8f9a2543a924bb0066949275351a723dad27035bf11480502c4ce141f35bc7c02b195a714ebe99696a91a72584ae234ba45f26990927e328cfdf9ad8e98ef5c1dc1dd22ba5c6a221ba28bc60f1777b4c8c9d40540bc4a4023088b8c5245a6ef9205b55c0e22ed4416590a8326ee18c95e1524335c8a95785441f6838234a1f1e3040eed0d825541282fac0aa23fa29d5c318a2a28549176b27c89b2899931f1f2eb874389423b263e17212e70a979c195bfe2913d9007824393902cfb4a3f199037092901f94a4b5c4a3cd26199a7c4e32261e4ad995c62e695fc992c7128eb571c025144870351d3205de9f05c1f8822d1dbe199c64f8340086990daccb980c3b9414280e00288131910f481a8e9d6ca66080e105e0051a45b2b204132273e269aa8d808611091267822749e9a00c766a982544d5072508eb46bb5834253534219d22f21ca0d0a0e4a914c516a32fdac14eb5628dac9b41446b724925c42323d188b9b28926909a774430a6ac1f59727784e9ee05bc99726782b665ee40adebf959c79f19fb7c4a38252cc877cc9855cc14b1560196982972b90915bbccfbcd4aaa982fca65441283552c3218a8d7c551075b9054e586f4a706d72486b3a9d19c2c1820efd012c0d48a84a08b2c1c9b1c20d18bee085257ef0b8638e67e685ce8feb715646937dfd96a85d8dcf125ff7e3eb6c8674431a5ce2cbfec7577bdc15bb174d0dec660d84366be063bbba1b253e767793e9cbaf8335d8e5ccee466628f2e2f06041485665779386253e7a303f9af88c8977e20b6576e2b9eea6e3a25b1d78fa1d0efd2ec7894761c10d3b9da8828f1e14efd2d6027942059f34810502c4ba0723c5c73c11f37332c10501a88c1ce31991ca15773a3b302055c9adda105f0cb13384cea4b4563b8104d18068dae3f831d96a2b2622b720e2514441647ecc2c250db2922069104be0431a5a123e27a599ef80836281d4d782bcd5b4da39482d8d2c900a8b316a31235f4aecc31dafa4dce265265e4920bf3284ce2ca2070f05b2225786d0a153c3497c5ddcf9fe3e0b58c00216b080f7cfa7d45cbc909a264f239b983684ce103b430ce1c30f8d1f58cdb293b5dd2603c5bb34ab4786d5c38ad13043a6347e228b768e40041e15f3f6092982ba156407c7c545d2e363593f2ca06e3df1f4594c82584dba45d32d59d383901e86746b1544d260293e22c06890889d1d3632504ce0e7dc01c75a203be0ec900302c97025cb942c59e01ac2b4821b399b1b0ef1437be861621a4b5470e5734c1a0c6ad2a08b9076c5176e8b2b9ffb6910c78fbb70fcc482d04476dccda5f1c3a5c06714588bbb038d91269ea8c124e6b597c27e58638c4cbfc619620efb54071d38990fc84bf1d5ac9dc6b8405efb98e770f06062b0bc407e866780990ce439d9c500c1527cf4edd7448ccb2c623effa4f8669699563ee119887c2d06c7063bc77c31b25829fce7131f1354bc32104cc471a6fd139f86a5d0dea5ad8d91328b0912e4b5d742998100c151fe605ffb741892b5a9e99002f983f640647d8eebc08c0e370dce64a9cdc45c1fc8178463c20535383d2686fbf16082606e092b27b240f14170c86d640ca1b34ac0af7ccc972b883ee416ef8e891842c40d113657907179003fb49907f0c39b79003f4c651ec00f3ff360351bf34066728c9555bcfda6f8e8c14cf12e4dc48db4e2636c9e9179fa44489a8fb1998a88434271b3141f46239c20d327a204318714ac8f2c2e3e8c46c0b1e293398d71655ebea491796e86072369b0bc329fe2196026cbd07c32474f06c7a631b268841011e4691099cf4672f1d1c448e30354bc5e2417cfb9b4e28b91850a1a1c239825cd17234b9097224890e7a88ce422c8cf7c50d82cadc044260ef25ca5212e0537c84711c5c77ce14c8e79f7201e451451bc8bc77cf2f5517cf28a6f0f465ef1d1db9105f92abe293e2ee88a8f5bf2fab89f2078079c1d4261f8c5103c2cf8483ecea2c0ab80ab5d4f74d18be655d323713e9983234da0ca44ec703eee9ad6d5d9d4da09e92c8f733e98e3913a5d4898d45c84501c2594f8d0664ee75e0f26e6ad7673bc9a14cf49ce6a5a90b7cf014169384814f66ddc4c45a26c010b7c8c2e562cb2e85b20958ad1c6c7e81ae20217c04010293e36bd70e557f904115fcc2b6f9ec688a4f1533b54f10ac84719b923c188c12562873e87026ba1d801048792464606c843f12e1db3a4a1c1a4c1e9855ba1f84a634983507c3480821a04b2034e05b2d33668182efd09423f0482a37c89540b293e22f3e5fc2176b827682c69d6131e8c8689d01972431a3f1a9775418000d182540f268ae762b7f4d00e2dbbd444d9a1979e06a3782986a0ffc427f3105f744bdb190265537243f91648142f53b428565e1131cb287ee519d1373862821cc5db1cbd283af00509d27db113853441e6489db7038e561fe50497881d22741af48ae777c621cb077120a2265e798285eda3b78385533fdc0187c759b4e60e7c353934b829393d1df3410e557cb2abf0f47b6fa1480e6db62aa557f6c73cfeea8fa4c2635578ba45b3bf4a1839d95f25d62d1db2bf4ad0d3b44b6aa182a45b91083e29394a7eb2ab00655769a2d293fdadec949c6e85a426294542c769223df92a615c530cae4a4c85a741df7c6ea8c293fd4941dd722f1c87023558633110aa71b8a2c22aac87e372ae08a63d181b1bbab3533d182e2707086867a745947365e6f1b0a199a3a7c365eda283e57653cd096d960d94e3aefe711d77e5f0f27de7fdc65df8e5f732ec9613ca4b29e5cff0d2c79dbe5546b9ceaadd9d3e552a9f4ed989b5dde93bc91ced4e1fea94b59746d3a7cf9439db9dbe92cd8db39ae37e72f85cc759f5573e25a78f44d272341ceda5d56c9b0e5fcd7196df6cdde91b65fa59a0069934ab472f1ad4d5f8685a8dcdcda4381427df9bb94e94f1677f9c25a23f1488ded1c87a3ea72fa4c3872d108d0d6a1bed934534880275afaee6be9c55630394737252a7cf0bfdca576b9c457de8cf4fbbed1f1fbfa937b93efda6cfe9ebf0e737ceaaa7d3ed4e1fd793bd941a9b1b67e1384b7b9d3ecd72a5eef465997e13f575a69affa331b2c24c50f1caab7f94d318f4b914ea559e016624ca27234b7d952fe5acfa27ee4433feb82067f57f5ff71ff5a1a13f6da3ff031c50d95e33b62bdcf0fae4d39f3e9c5c5f858282ea521fea2728f7cff8b49bee157194be3f3342e98b912595fa52a9547a55e94fdec5531fea0445b55acdcc9d74a7cf73ea2392f2ff692f0d874f9bf181ceaa8ffa886c6fb8295caa5366cc50c91938e080d2a54ea7f0f4f4f427ff29d49fbe98531f0e9452158a7a15142aa2a856f54fdf96a5a7e32bbd8b9bbe4cd25e600ea98f76437da80fd869af0ee7457fa88fc489cd204a9c588ecd309456e9c2660587d59e22dc707bd59eedd5458f0837ac3ddf84cc61edf1894399238bf4703c40842a78e1743a2127bb139264174372bdb9362dcd6acda89d9a6fcdc9ceab56e87ce2773d538cdb4121ba1cc78b76792c1671d8efef70bae54ec426ecc2c80d46f745eeee485724b77606cd478b6948342d49b7b20f41e73428c41cf2fb6110c18eef55c456509367925a729520892e8f39ab3b165bfef1adcf47fab17eb49fd738119bec5844567fc71b0b3f140b6f92dcdf618f59cd7e5d750e6fd8cb56ca39272e35a55d4f833dbf0d0bb7eed0d15f7ad31329bd0e2dd6208c060599737b3bb45864e9a7f4f4fd72c23254bc98b0e698c8e7aea75b1a8fcd5de79cb5ca778d478b451c31f79c33ba8d38e8f7fc7e1fd22d2c62cb6fba93b4cb71b66fb982087a1dea66d24a5855fbe6725430f7db1d67f5937078b3af20b62c1622d8dfb6a7c17e6bedbd38bca9109877dca5d9d89ddc13bde66b22e65a2cf474cbb188a0fc4e1259f2697c9a7cb44151b2b2fc50e3c9b27fa15cbf2ccf4f668f599ff05a9fdc73ce79831c6a3c25c8fd1a8fbb341f44ed09d155fa7e4ab59b2b0eb59cd2d72fdad7c51b4d11945f7f90afd9b82b1559f2b6f4a802e64bc9f4fd62c23254bc947064913ec467d4275da01e634ba69c9b34946153678f9d852a9e0d72ddda72bb949c28ba2bba263fa6e4956c4d598e3f6d76edb4f26376b729264ffdf546398d7135cf003379c6d9add9a0fca985563cb4894399992a332d70d1c68d77c6a53112278e6da3fe87e3d297d8d460bdb9a6748b56e92f53b7c17a4dd69432e59a655955011757b8966ec55ca35d34dac7cc48bfa552a394da9c7de1ed56c8813cff5b878b2e97f1dee9f4d2f95fb7e4536ab53c0d90454d64a159bc222b668ab51cbb7f7870e34f2153688c48e14629a59429e0a28d0b738f1fa672572a7d044bb27bbbb77b8c04427c870433705a9378400ea392eccf6d9f91fa3db21ff56926f3f6c597e8f1a814fb68f0ebe1a347110d7e0570c1df186cd07f93c2959f4a592b6135678a7c54bc7af1719dd5e3a5cea7122761fbbd0308d1a0cb6f89409267ca39e5fccf1387f395f4a08b225fd8220868007ab1797ebb752cb88c7b6e63c22d35ca37265c6e63c2dd3626dc2c32e1da78bdd73c18ee1b8b2ed2adfe2167df351187cc997fca05bd45972067e00392f094dcce1b13ae28c78ffd921b136e29476f87f6493498fdf4767c9e1897eae8dcafce1e17ae3685dbbdf72b2afad1fb10fd68bee829f631fa3bfa9917b9c3cb14f7ab4aaf0bd9cb9f6cf459d655441cf2db03d2d591453f0b3d0e1c4000d1430f18a3a09032fd909465a61f6e39e4e970fa369125fbd1909cddd4e4ecb7d895bf793a3cf7cbe3c2d53eba7556b60de1f66f4eb81b5ea2c12c7bea19518106b3df40ca09aface1552a25f51c120d669f656fa371b85f9908fb1123d11f51c4f637462f7a1fa317611923dacbcc1f610dfb10fdc532fe227cc359d9831187f6d93f006c5674751591957dd6d2c2627d9f4a351a81d9b3c57da4c12cf3913d0d66d96f3ce859f598fe16c77667c40b9c9cb621379d2b5fe2c81c79d3366ca48db4c9f261296042175e747aec9567ac27cfb85329ad749ea4a94b4e9a237aab280b594feb368edb3acdb3a14c542f1d4d9297da244f31a2ac12efe7ba482fd22bbbb4f7054982592947a462ebaceb38045ccc2299a3b7239ec858d51ed83fea98532a11e74dcdf84530dcf812b8f4576cede2821e185e36145c5c0975b0f11a2d99cc320d28d3e40ad00a13efeb174e76300f49302f2887241d12cc59fdca1367a1d0e42a75a31b1f9260b97f05e6ae125e21592b5a5981c1723fe77df265f45d0e64ed5762ee5a015af922a88303b2fc72f6d14340043290bb446fed0a50e8f3bef6ec45b32e5e3111efe547b10f0d82eef2fa257af2dd25fec2d5c186ebec0d3b3e5bf8dc06bb622fe4dc8bbe8fdf46ebbbec7cf2a5fbbec8f2e73e4fa5ee751ad9119033fb658f80fbbfc064d46b7dafbe811b34062d2d920747244cf240c2e6cdbc4119bde542a10f6f5ca746da641993bf7a8bc31823b64c376f47eabb8fdd8af5e5911bf9badc9fa0ee8c0c7d2be9db1fde5391a9ca5a58f69ab42a2c792073d897284fc3cedea3dc6449df626e4aea3de56847b919192e9b5ee490fb98fea1f1f06ce9dbc945de66f6dc73f626731fd3799314ffd85e7b6927b7bd2625d7dd09eace0378d24abcf2de3e9704697400fa12873ce84b04d0972f61f288cc215f93618c0d793b505e620fc57e1227d3472f7d738642146bbb0c7b081061128ea1234cade5c9dce66ddbb66d9e8665943f84f248e6bebf94f76ff5aa2ff451c21ae4dc85c34fff13d4fcfb2e1c7012ce9aefcd38e130956a130eef2d614ff49e877fd01fbd943c90393087827a85311efe413ff4b2e2504aef469766b3038ca4088752277b78257aefb94f2295baf7f5dc88f4dc8746a4f73e943a39f429ab2f7ac8bdf5768cfe07098732f310d0e5d1934824121ec9bfa1d0570f264429a5746651a85d52baaee4d1a4dc9192073287ccf2e5bcc99cf4b8971df771bf596badfde77e26671f07b2c6e9640ec7fa9ceceeebb31996afe9a9939ed184f35a6facb2ef7e7bfbad12d0fdf6ab0c1fd1fdb63a42b3cf711f5fba6f95697eb92f5ae7befbe28bc6e1e8acb088bcc48d3c7f6edf4aba6c64d1770a5222da6ff145c3d1597412b14fbf957cdb2cff4c0af7b328b4d09e5db8b7bbbbbbbb6c2a642187be75974ce8bd8fa2ef3eba7d5d7fef8b2f5cf7492168a1e6f592c45330d74fd6f8dcfa53d2e424dcd5e22cfa76c3294b4170e2f069b34004425e2f952ad136e80bb9dadb0fa30f8e9439d2466647321d5ab5af55d35ecb60da92ab7d98c16ae77da94f46ca000d445e2f570432d79736fef55bf90cebc88e3cc7d59a6531d46a38d3699066b02c6e76831c59a45babec63b6b018ca239d1606d9d90cb931c10da58d0fa0c4a9326766199636f266042df226c3c246a240078c3868a6d2480c32955d6499ed74697077ea5416a07bce496bcc55261ba00795d67e777f187c808a686efbfe64b531d268b51a5a9bd56ab36c891b2e066763fc0ae0564e9f2e4483617bedae2de94b5a296e9735a65fd13b6b52dad2609cd7afc416479b512f5c39e7c4ff2afd859127c7a7a26768db2e766a74cbe9a4b4c668ed915b6adc10a25da48f5f005168f431f2609192555c36449fd89381a84411d14630b234fbd98860103bf27cae3bf7b628dd431bae11da306225b2e85f1f3e82f445a1affb6a840fc89309191d375b9b0a417775c059fed6de1b7b2304c1de9b4afd27a510727f07dc5aaff8c32104727f64f14cbff0cb11c8fddf7535bae5339bd19a3312633e3c4fd8420a64f62a694ff7d954d654837d439b0ebe9b64c1c70818221018a10b60d8b8d6a50045cc7717e9e75c22c650df692b7ddb07f5679470783dc3e17f975d9469ece9c6e10b67e858a0aeef7459927eb56dcfb97b30a3efbeb1fb15a48e55d7abbce3b46bc37116fdce2182b49f7b398bbe92d828b9598293e973394d302afb73dcebf644169f9f4c3f87d4d3df70e87feaebc579b9eb7ad12cfaf4228185910306ce17374732a5b7488defa87c5c0aee463d985502befff7f1e1f7e136ceda3e3a4bbb491aa43ef5f67831184dbb5ff5606eadf543c98966441c3ebdf6997e7a30a6bf3e3136a3ac9efe8db179c6d3bf54f5d70a3147f694d23f51015a7df6fbabb93f2505cb6b6d8add7afb688cac142148b82bc6ede9167b50ac8dcaa632e383c2e6141c233853be1859b66d7b8eaefe55b647f9a0b0d96222bf6dbd7d58816efd99ccf9177a0d67c5f5dfbe5b935dedfbf59bc9edddd7eebb38f7a1fe7ea56f0fa6b43de9555fe859848e058ee9eb3e12e91b7557e5eb9a25bfad67c4fcb03a37bde68a6b3b4e8b1b7ab18bd32dd1d3ff54ea664dd35a40f03f95ba966ecebde687b7c19d6e8924b755a00f634fa617878d0427732f11ee5883edf57848c296bc6da9bc6d386c245248a6ef9eb5bf02b6f4d3afd12d7f4afb73eee6aafc7f58bd0a947b7c2e8eef7831af892cddb176c597d4e885d234aa20f2c5181730c8a9064fb96331e0b8b0838932ee85960eebee6e1c3a2c9afc731c4a2057e93ed3e2c83e7ecb1cdd479b7d587dacedbefa5425994dc6c592da2477fde9ac26773624f7db2ebb9f67ee06c769df4b6ee8b13c3d7623f398f774dfef3eeef2beeaf3d52515c8592a39c3f587c867f9d118c95e3ed7c597ecf308664178cc9c552557fc4bfd691bfd990cac8c1df2293285c954b2ecaf3e31e8c852df79ea14359395f6448f65d879b2702667d9a41e739611ddd7448ccd1d59b6efde793c6f53e44f4696eda507d3859db74edb1e6bed61549f04f44bf5f1e286cee353b3e609a35b32cf89b72e5c8d6b6e081c1763f41a19b978290b2c02384a3fdbc58d4ae66a4e9aa311b0e816972b502382011323c73026c97dc36598d20d044a372557bef7cfaf692fe126d8c8716cdc15c43b16b105fa384d4f9318139e25494e63f8e857efd2abe7b8d19ca5d22c954a1fe96bcca339330eff53ee729dd403a0791a6c8bbaaa1477f2660d77e3c3f1417c39befb427f3fdbe3ac6ed531d41f1a3fb00080256f4fcd6984f8b09b0cf1613319c087bdc445800f5b491611ec8fadada6b1c833887963e69fb3fbf9f9db6cbee82cfc0418c0179db5f2437cd1593abc105f74d60e3cfcc4a81737faae12eee847b26d29e88672b88eeb8c689830a241d2a0e7782235ff12c4f7a0b102c7df782b727c103b465544106c058c3c2844569fc8b8379fbc89ab34caf659431b9775d123e139e72c95e69c7392c22038f987e855be7a3a264e79ffba06bb2fcb417cabf9397ee6e5c6b79a1fc4cfbc8c7272af1270e383781f373e082c6364be0c8ebff113fb08e27360991c1fc47bcc674dee2f05b5e419609ef161ea870f6f6c57059a91e5e4782732eedc117a6db106fb44c6f5f7827876845e5bac07277a98fee1c6b3e30645967e8f27b250cf890deb38e938e5fb3434bbc731aa71570e6dd47f6d7ce8f9e463fc93b0a5870fc1f003f0612a93c20b4474d78dffdeeb715710292f167174dfefdd74eb7eb74c2db904e6d29754a5d8a51f9e395d38ac3d798e21dac061fde2a7060eab0f2a9000301038ac42f27c1a38b42d38ac43f2fc1f70780380c3ca459ecf82c3940f38ac5ee4f900a8403de0b016c9f35915a81e01caed3874588ebb52200ecafd5b4db7c0ce22b60010379b7e1e70d8b2030e411d369b95cea1f1fc1c5f74168e0f8bfefb42bf79158cc3173aece40bab0f625fd848beb0d2cc18e584f36baa3a00622bc67eb07e7f4bfdfa281cda9acaa796fa283804eb7b38e63591a57e10f56fd48b3bd6e0ea9b5dc771d19ba14c2c9489e9983fea1e8544c2b87e38e33cba88bf440f46f4dd277a6e04ebd69c9fe7fdc9e47da6d37b28a42f3d89f4917e7e9d3f89f42aef7ee949df7d6b275e857e3e6915fad197de7ea31f3de9ed8f4a4f9ae1e8b56e864a4fda21cb70e96e15c23a64197984493f9ff4f33bd2df19fa492a7df719894442094b7ff1a33c09ff40f910fea17ad2fcc2124aa7faea4fe29e843a3d374f271269d6f979a551e949a4f9a5110eb9696a0474f660ddf25a141ac1463922b8f6c351cec88a489fe8ef7d47995f89f4a56fcad2777ff4798f82126e3ca59f188b5ef41d0f110e673229f4a48f1ec9bf2b6d3cb9c3fbdacf8ff4f54724239c07e9bb994cf2be7baebb10174b3fbf50267622c29d5307e947efe2a2f0fef62359c68908370c8293c3fab77befab48e6e879fe5cf804d028c747b08e4b382c43214fd9bf76f6d239dddf4dad661163764b316e8e3568d32fa9cf1a6e586f425fd22e6b7f6a17ba374b9a35ffe2d032c9f3454d3a1c6a34af09c9f3351c82a186c396ac717123cf7a934fd9b1ddd4705fe0d470e6900e7256ecd8ae18edc78eb98ddfe4c83e8b1c6be4f66f82095986e8a331d2c4f65ee3acfeb8b7de7374721e47bd67ee429ac7659e39cdcb3a7b5927fad0c66122a298e5fa9d32ca698c3933dad3607715d25269c026cf24b5842a1992bb4121b526e270f9aa36da169c94ddeef1bb496bf560b8b8a1b4561b3fb3d6d69a65b55a6bbb9c9494ff4971b1bb1edb5d4f8c2bf15b5137ef6844b36cd2a90a75c4fd2eee72c64a941c84f6a38d36b359462bcd2ca535b6c458ee1e3e1ee0e29746be96e4f0270e506ee9fef126de2e4983b1c14d8c4b7f8a21eabc504ed2ac6ee9d16968beb6d3f5746b0e09bb9e9df85b193705b989ce5d8fcc2173fb0d12e466f3d4601aac5b477afefcdb1eccbc52c346426d27b7b6e3ae550fedb597ed675eea9cdb574f70ff47ee00e58ac30e28770fc5a1ed93aea7f3a9c20dfdc66ffceb17f5441cd226b2b408a8b2a1576a8452529a7d28a5cfff215d7377d76c3bc637c0ef24623e4eff4a7769b07111df32b8f2254e05ba35716c09307adc250899410e53d181e8927b062129d7446796ffcaf6e3e5b8e9ed70d771ca9ab73dc7d119a3bbf4ecb9d9b63dace76e3d7713c32505edb8078343a7343ef72ebd44cfb55bcfad990b2a8bf2ca960dd9aac290eda3b488ae528db3ecdb165c22d97e8c37c8f63713dcfaf56ddca58ab52a16eaa618778ab18561ebb933c7b8fddc980a89b5892cf9f5485875b2b4419d20ba4841a4a01564fb92abee82d5235a4dac3011cf1686ec4b39cbbe7b44aeb3ec6f3f3754dd1d30da1577ecd7e464ee46be5c9ccc7dc926e2f032571a9251393cfdf4a0e342e6b21caa62d972aa5864d9e7b8ef7c228e52e69efb2caba4105d2a1f1516b2fd0d0cb7f46ad03e29a841fb6d2ab8aa9dbc29b9a1880755534b351a2cb2d8fa2ebd7d8114a452a2fa11f1441cdddb27dd748bbe7d24fd04114fb6df7d289bc862df7a3a50996e5eb0bf29b9f439aad9acbdc8a65b5eb62fda09359d6c31ea66fb5043228b7d0da54564b18f4241fcc162940dca066573a3f2713ba7f6d2682aacc22aacc22aacc22acccb8938b8b74f83bad5a45d2947543e9ea3f2f11c958fe7849ea3f2f11c954f13d23ef7a97c228bd571ca12a7c06c4a49b3ec2749a244c992254c9834e9264e137ecaa741fb5b156ea8f2c9f643944db62a9f7fa53050f65476c7f15c699e625c2337abb0995b521bdc5aa4c15aa41e911e5658cd892c2db8614acec394dc302527d69c5aa4c2ea911e404dea45f58ea2d59dec5ff4647751d743faa981f6fe750631078989fcc1d37149648843d4bc19a210352d2f61880350bd3fe98789cc81ba0951379d431293ec65944f6567f528af4ad149b941a4e18ff2a51889029841b491024b39d260963825e7061ffe7196bfeaa3b9e25f68aeb82f28affad5abf8a84021aa2451e9518945167ffba98411238d50a50a310a20f432ea46e65051820a13502ac8fede58c506b7a6c0ba359f08caabbe1afb82825372ac107188b24a182a31152454ca9e49b8f10934489269904a4f7c020d8eb8e48b4a92ecedd3432b1e9dfb3b4bb79bcc4fcb94220d7a4a4e0aac6df81bb9dd6b1fa6e4a8f070da87aa410969b0c3feaec241d9a06ab822b7fb10f5ddbb340ebce86e7ec1556253f52aacc2e32c9c92f3453172f7dc872a9c7e4f8ccb3d57bbf985cb45fb9c6c77efe69c737694524a6badb5d62ecbb22ccb322eeb4c7f127dd839f7431944fa50de943e8c3fa10f6f64fbd683e16a70b94f7de6a14e3eb43b5628ac7282573c320a874de4eec9cd7d6877a8c0228bf740f17aa0a0e0941c67f91351e1eeeef991373c4139a12fbc91c3949c25fc46155137389ff6d2eb54bf7daaf747d5a8be9422cdf2e7649792e32ef9e221ea26fba36adc655ffc5136382575d6ea2d6b4ba81375bbfb9c93525aeba4b4d69a6599b556d3b6b96dde72cbacd5346ddb368ee3bacef3bca5b7715cd7759ee785422191e85e6f79bd504824ba7734229566a9e42d4b773422914a2593e9849a2894b7449d50a89393544aa54259cdd5ca5bae4ca7130a0573e2ed90f936189f3b8149793b640e2d8c0a65a2a0784b94c6316543f225ce2102ce9f5b151173ff8e981bafe2ffc02732ee8a47674ee473524a6bad35cbb22cb3d65a6b63b1c6691c20a09d1d0d9f8a703d23ba1d3cba3ea63a4e79be8e53ee893b5646ee6f86ca2c085c5c99f35bf9d79f79a1dfcaf1fb982fdf1dfb905fb1cccaff9dd5322bc74df8a05f5f01f1c5ba4cc43f259631121279fd11b20c3b58c24b622a5a9cd5332f2735b44cac44dbe83fa521be20e1ac3eb5e1bee4971e498448810cb97f0999a375907017f7d2d1e7650d5cfc940553a718637ccbc92cfb4fdcb93b0e6572c7b869834f635c982ba5943f44666dd6bdde67921d7a7ade70336b3337dc2699d5368edb349b919159dc86cb06fab3065d69339bade15629d570651a2e93ea2fabcd6c36c6759768b8f20c4037b3dab66936334319c890599b2db9282b51caceca18ae18c2707fc0f0052f2811e3764166197e2e5ca9c30e4aa68f8fcfddc2cd322ddc2ccb82cd6c9684ca19d00a5c5c095dcadb4b6c648139ac6df4c7e75ca75b554819dedc3add6ad924a54129a594524e4cc60ddb83a12fb9b8fdde73ce39df8fa4f4c412c8b1c1d6224bbf94536e91a57f7e5c6439d2a0c6d11ffa7e446249c1a0d3ad775883ad0373961f6930e53a3087591de9389fe7b48df83ba21e7071a5bb8eb651b2e360e7dc94dccee4120ef3e7dca753b7dd5ab98c33b4e231f3fcce138716c88e6d830e9333b5fd03be9171813625d7c55dab1797dbf64768da6f780a233eb2d7f04a4ea1bdc52bf962edf5a0f97296bb8b467bb9e25f8c4823fde1fd4c5996b2f44e12418b307224821629c8fdad24fe21b7f2dda20b275ba0217355c6ea2126fc4b6549bb7e824dee974f80e5aea429642eebfaebc09039dbf54752c11899d33af9ade64722acc08ad57c53ee6fcb92a3cfc52e7a21f7344416f94522ac608b3cbfa0ec3fe2f03344167f47c3c4e2c6f440f60f69781bb27fc8ba59cb1128a5417f9b39900355209f0e342750b7a8074d9c59a45da51d6f02c6146293dd8bd9614a01c248a564b3b531700e022d04f704a29a63ac0630c8a938a51532c3ab04a4fee47da4fe04cb18c95ee6e4539f8f0fd5a73e856552afca70f8f5e41318eec9a7de82d136a889f6d2684e8f7a13e986baed0605a24cba15449b74abbee68d70f8b91b85c396d061ef9f3d61bb0346b3fabbbf84c316bb24f78f70082ac99d2437121b06c5148832a1411f6dd2a016d706b92b6a35b971e835575cb759e67426539cc308e40ffe2e3e53271acea9332d6438b94abac98f352d2fdb5f715fb80fbb1c4d1f91eee7be9afbe2bf7d3457b4bc386e6c8066f587e16e5fbfbebce9568ebbb8f7beca8ae58b337df225fb6e04a5fcd2275fee32452e96dee4555b6dad4f63846af285f2355684e4597d0d250ea94ad8b6fa4c8ff2955ef59db6fba8d193be5576f259d2175f505c11ee923cceaa5febc7975aab12b536cd6dfaee8ff06f3c45bf7fe77835a7f037996cf75d538afb684cef15e1aed5ac789580d287fe88eeb9ee435de8a7e8be844b1f5fbec1faa10ff45a850724abbef74569239421c8f54ddf15ff12a50042390259456471e9fa822b9958d9ff1ea48f1e13f4b3ea8226e867f3f4a6a7f1bef414af2ceed1e115fd8e76efc3f4dddb47fdcc8bc442be24cc5dfdb5beac89386cae5527676fb8ce638088837efd034497ac22b26afdd0cbd28662f98a2cf533375cd3977e7a30ab1e32467c787fdab0ccb6ead1a1befb648c58eca3f4282ce3755f7a9993b74a00f7a63f82ebdf7e0a7f8efb23b62fe129fa37bccab002e20b09d3b874b67db246863e99e3acfaf7933af53d51fd517da93d8a68b0d6af2db8b2d6d99787133d27fa604e64dcfec6a20d0b373ad158e45ee3b165fe4287ed88ef7fdf0afb3182a16391491f23ebb6d7bde8bb5502ee97dec7fd12f631fa2c77a21319b7822dffb917e118df999065640f73df4684841d0b7afd2437a662ce849ac2808b2bafc8e2894a2ffa42a1e7bc93dc147d2352c845a697d9a4c3f3bee8340df6873eaf29917c88c3eaab5bde77d7755dd745cf7baf66cf79e77d56db9e7b2eebbc6fc5c3cba18f5276280ca2b9bb87c228364a299da1500a2ecbb22ca3a150a6d36a289cc2e3b2504845c8b321ef8708af78d82c7a9b4538742287b08b7740a1dc09a57c8f0fab3be0e24a8c468e31177091fd48bb507ebecf0f3d09ea434772f2a18791fad0c1507de85fe48982eb9166cd577df1930203e8248c3c1f499eb326a9c9f3b9eeaba71e5ccda75b9de7ddec79dee9a7e843a2d7446f459c48ce6e8a71bdd9b0575fdcedb010a68da41ec9fdded7c46cdcb28c3c71c8842c23537f4596d0738d805e19913d7dea3de77d5de7d9f73e6deb32cf86563cb42c7a9945d8a53d1d9e4ff65598f7d5233af58bbad3a0bff655302a4f835eb559679d75d6fa28dd48fce71736124a3f9691c3895746d01fd3e67065c4fc41f1c479b3e1b8c0c59510e5af88e3a5db386bda24c151d24b74f2ec18ee987b08a05f6d3a2f64fabbc3f9549bcc546db22f559b6c6483b2c953b391a89c39fd489e4f75f27c3abb5abf109593e767a822797ee6ed903936c8453badf596d6310ac7a6b339f5e08622d14eb7503f9f437d75444a7db6b672f9e2a044f3650987a9f002e5f9259c130f6e784b38793e0908fc4fa5eed5de2d4e9e5ef7e01004f3f6a9d4dd6c9a357ff372b793e7bc38282ff27c2b0a1bc9f472f4285dc195a892e4ac808920c6d8f58d1a59a440dbadce29f97eb76ac0c59530f3c9d3ceebac8d8c7b6173a5867cb9186e3861f31559e6cb2424e0e3d3098183cfd135732059f3272ce5389c45c87347e270fe607e6a7e0c53f284459679a3c1f9a96ed93cff66aff9196cd66870f6aa7bc2ba45f3fc7964fed4e9d629cf9f3edd8a79fe5cd2ae136c7e4193e7c7708611cb73f6e43995e4395dbeba15d6086f8442d0cc304c3924cf395f08d976dae4663d88852b593c5ce1bacf243bf45861521d52a9ff9e1b1ba4754588c852859a7560e41093c43084a87975dcd6d272e30615ae67164fe1c606adf621b95aecd6e728230bdd38159314ae735d2ac5d4412eb0833ac8fe3b2b0a5dec162bc7f72f25d52014ae7f980a89564b7468198cc56eb13ae80977d421157966a51327944c9de59a6012226bc238a14c2b4cb8b141d4498f102d5faab171dc06822dd912ee490a09291653c24da946311ed5dfcf9aed52a9245c94952865670509ab94508d23a4cc68e20505813103872e0c23e0a0c22500f5d241ce2ac255f9ad7bf90311feeb7e56763e9c32049c83106e6c30879524b5a7270877255afc0d7e71e587afc30e5df8e1cc3e19083736b883835d8b89c707988f2c3fb8e1f3e011f1c18d0d82ac9729d7d4a9940e8bd5c38d94fbcdea5f6957077dd8597c6f07f5e0ca0f3b28768bd503c8c30e3aace4803f166b85a24ab14e5097c53a994aa49128e4751c8bc5626d1acbb22a80a74d6d9615a66e58e396a59c2058bf76da8627cb6e920472967c19c4f38ad5f4dcb48fe48e943f59f6bc36373f3840393108265b9493e896fd92dddd1deb5608cc49dddcb03b9727665df497bba2678fcdf8828b2b9cfb64779fcc7f9ebe7c2a43f14a662f53f14ad29f797125ec4f24fcfbe5673525dc22e1b5f13bcbb92eee8d1b110703228bbf7f10d1d500c9f2bf210625c42e104195439b6339b0424622b2f0e0d668d0bfd26e59cfe996e72d0dbaf723f1801309470955e022c6500a893fd9fb4658438e91fd6318c1c8de5203a83b1b818489e0c6972b397677cb99c58d2fdfc5651938ead4a953a7eef63d73ecb146e22fdddfdddd5503fbf7879e4371b892571a94eeee6e2597c5953b50b9522cbf63831408a357a694d28fdcdd442dfab0026d22dfb93d9917a66e5530628ea45b3dddf2e9f66297b680e07f2a75affbd757a938acdfdf8645b8d62c6e58811a0950b798742ba85baf6e559aac26b3e9d6caafcd0d6d6fdbb6756fdbb6fafeb1fdea57dc46c6bd3dd7c75d393c5da9e941b3f2393c5781b4fa48a83c7e24febf9fc2888f1cfefb2956f0ca1fbfcae3ef1cf0aae204e057f995631f18abac7cfcff87b51a46acc19a2b4f64a1bf9171515428288ee2be0373fab9efd295a7c6dcf54f739c45dd8170d2f998ddd473f11d08aed338742c72bfe3d0df704c1fc2e13d790fe73b9ce7361caeeb3a8ee3dec5bb0f87afb4255f30dfcfd7de1baac6a854ec35c64d8e3a4533020080008314002030140c88844291503826c98aa63b14000e93aa4872589f68490c53c818438c21060000000000000806c20400f6eb3eed06d78669980b4c77d9472b538fb498e2472df70645c017f5f9e19ba2721067f7c4d842b23ed0532d4142eee04feedfa6a31993203ee88c68bcecdffc234e97f1426f173d16f3cbe647620b5ecf9f727ecf58d772d8a3d1dfd8eea3ade5efd8a671017c877b988f77e44fccf2d2e88a77bcab7b8186c311f2c70bf23f373faa8cea211ce8fdf0ede90b40e209f19f58bfead4e3b0767117f16827ba1921b05d53dda5ead1fbe8c2f57d7eae48969bf2832f9d6a9e70d194f9b261964fd9e691329173d9dfa77e704c9e98c1fe67b1b056624d1d796f3594dc044204d9434a3b920eaba2bb4f1e527545f01aa092d08fe974c16ab2c19435935885d5bb413f2b93b1bad558998d29b16222ab5889d56bc56a2dd4d8acba38fa185818f429f3d4144ef54dabc492ea5634fafc4c07d5da3905e270361349743fde60760e4a5b7dd8294776e1ed6c13e12d13312466ef8779cd5e4f7dde6eaec4e825565f3d7734186674a98d886e109e72830e41d148b554aa8e2880f5c402ad31c38f45a1bcd1c2f5573177a77ea1a72b8db045d66a5fff86c9408baafdfaec44ad2bcab718b5910f3dcdac4b73605fea8e907123cf6fbfd09e82fedb4e6ffe8949660dd82d0b7993f98386b616bfbef1077a5c00537f00d848666aa3eb1b7b1055ce1d378e4cf8901a6486fcb227f92a90f86899aeba468b24954253eae0a86aeee0d2f3625e07f095d239a5090aefd1c2b2f67c291781218b167feea081e4acf876e288dc09676c82006c22f80133ef5ddb0632e45f3de1f847740e0d6a0ddc09a714b9f32032c7bfce81cb4372a188be01495c2ded1801c8bdd9da2a1e83816603cca9c13da40f7baff8dca4d481df2423d95f79c5e88d0b329f893bb1ccd014287a1cf4ade0b89dd24cc663edd11203bc1144def10c3b8415a3073aa32ffa4f469058ff939db89f491a8102209c0bcc85de48197d53e9068b3a37098ccae967dd29c027881d29c33bce55be07290f1c425db7cac88d8b0a2f4a75430a20e163fd960d11df61b3694a6219e77ee30b72a1358ae69a8c39ad7c6184076d19545ad3f4cdf6a91d86ccefe6d2977aa9b5df07cfc4c6a147c5df2d94cacbe86e269c2ae5a9861d7f41c93531b40b628358af1c6644fa77ca8975b70037fe785aac40bd23336e5dafefa3e30ec406be10ac7d662486cc73890738694f45acd04f20c123c57b96061d0ff7d007a066d8db7f46d566dc77bbf9b9c1bd483d362aa4d4bf0fc319db84d347c553930183c1390261ab88e132409de12f4a392bdb5ed289a29a138f4406ea535581035ee9ccbf8130170b269d7bb7a4f33c15b51738c97140fdf95c7b48eacf8b763c15d2506f8b813d1f32103f65687bfee8bb42257ad57ddee4623acb7d6ba2fc322db32192c63d161da623d7bdde216864e1f0f5eb72093bd3493d1e280c7427d1263df2f1006fe557a835699040795e3f8759fd96e0bec740ed9524d735ca00bdd1914d29eb0aa83d5a5068655d4b3906567b38c10149f5dfeeafc5a12205b09907e63c3da053b4efba024f441dc8ec5bc9fda980580129db043ac3288f3e7a8db3dd199712e88b3838607c4e8580172316b6e1e8658645bca1cb3e8823d94a772757a6dddfe286bb1e38ae2b14dd07b4a0e0c6913dccb1272969b97d480c34522cd93ea742e89dc229e0282e66c190a9c67cd6b5274e7c6e8e35cb2f76624f619fccee306f66c3c19d7d623b4c36fcb8d0844b124ed95fd2df33ad8bb8036a785aeb49affc592ef7f2f99154cd17a9fb1cb16f0c76337feec5143606107d5e1faec47a48456cd28b1bf81aa3a1e25ba43c057758bda8f61cd4a4648def1cbcdb1078d28b324b9499a4e612f08e0ad855037cc8caaf21bacf40410fb991ba6700b5bb5b606c30b13ac42c693d6dce6c6851ba973dd0e9d8d416c1abbc5b2e095bc16323718d8efa760f49faa16444f064370ee4b30f0677fa7d0e2ad415369b6df9c155e8341256e543a7bcf1f335ede12e31fe9af5330ab4d370c578f492eb3e49e6a0cf806eb67a31432e059f82ff54449ffdb7c45cf87f0a185c90befaf29fa85dd77e87c5e465bc6ce1d1f2d19341d1ec4528fd4e2e5bda45c21ed722b004c895d953fac28f37c53f6f68a72724436c7a096e44655c1ac59adf509f6ee29310982db5a1ddd0eec0e71c892af909ac0f38ebfdcbd5cf90377d36b43be503a7f03aa591263d4378d1695ff1d362cc719f6280f3446e8661deb0b8fe1d48d4c18c5354b07500c5b220500895552d554a91bdcd08dd2968e652d1b8995b1d21e980dda9d82ae238c8217a53e5734507d1a3119fea7277f9746c771ef713fa183adc705c16914e3b15738610bd4d940e5174f067475ef171ec36846a6e2a4efe3343e53b9fe103990a100a11f726f2cc684dbe9abb888e84bf1416e971d6a08aae990069ce45e1036a6d87a9e4e70029e4e57db2b12dedc4bee7e8d879b77f1c908938e5fbc1732aa23c56f7f0af02bd32c5ce11930a2e2c4d55ec60be91636d6e43b87adebfedc817c8dcb03a64236b55cfcaf687ab6d91e6c7615d133e74238d8ebc1476f788541e1592df5d038b20ae4adb254fd2da5fc96250731c712201546fedc1247e89e371c7bc8a58292a918368301cbc57d58d61824cd16973d41fc0a05e443724268e4c882105c990502d1d80d82078cfd00b2644606a4c80306a98a3a02f0110b8e5edb32a560d53d78d2de11fc40f128fe6068245f1f74d4017d0aeeec2050c9042d76e49575865581cfe859dfecd6e733c08b8f86c507262e96bbfe365f8476ce7391ed61ce85b80ae24ad6f615919ca01e5ce429f000badff8893bcdfc0e5ef0561ff48c2748264d520459aef8ffbb3a581b630ebb0915a8ffdd63ac3bad36a05acfa0a649d276e8c6e31daf272931d4e1ec19bb14b9e561e71fd209194ac8d2406035d42907ba9547f92e80db0a939659784de6e681aa8582183df782f385d27c70609c5faacedea6c7d0695a78ee657c8b65f3b5932feb40c9f1be87b251757b0fbe6aae5f4786dc016f06e4f25ba2585e3014ea81b79424561fb0318d5012f41885f22b10e6ba8166af0d624015722225228aa0308df25137be705f9a964cdea1871d24c5486b140c9e46b24afa9aa6abc398dd2daa51519237f7c50fe17b792749f6a5e452a67509884a95e93f6448dea942ba052847bbb36423820930a043b753d06eb68071142db23902bb44322b9c234a27db0db343a6747b28238aa47d9b3098df05579902bc448b18469fc11befaab6bb3db615b89355895d3cedb60aefed8777cae21571f8afafe34004d966f66df283e17643df26d55c20468b122fe2579cc42e801828ca0412c2e3d100b9b182b1421bf86b5dc561242a69716ae74fea944378df3441e17c06538e38f34823959f8ae40edd3b03d1966a4e342407131ea79902d0428baff14169c629764d49c7723c34c0e06d92a3249bc481be99b154a7223b55ffa2be581013d647ee78a8cc9e2ed75fb8d99120d70e26fd6aef9f635eeae9c25e43bde969894335bd967858a02475f661f2822f75095f0ac4dc39d497132e5d8e475c2af6f87b15a7f400793205df95fb7723b64af4e963eb1a0572a67a5b06b571085d0aba66f15ecafa02cba902ef5365a31760538c1202372490d9afbf962655a4de300468ca62f01ba35167ad5507b99349ac50a9d56ae9e269e15e7cc3c4ce1984341c2400ffd9f1198ce828509d916313c350e611b95e7f2f9b1914176bef71beba5c9b8dac8778945ffbd9225dee92c5b40322d149f3337c3c35958731e3a1d24d74e80533edd7d628dc7a039a2369399b4beb020852ed61d4329a4f88495bb14d638df9633a857cb3b58497d7c130fac0e3af4538abaae987ab167b80ed74c0b38e808be7e3cdbd47a4dcb4cbf2df1acdc76dc3bc3389550d22330ad2f2afbb1c887df919af4ffdc2361d62c982b7c230ba60ae3120d8ed8cbc5069325f5714a0b79dd514788fd9185d014202acab374168551c730c1af860720f72882b2858a74be95523cbfff4e029098512fe883c6dfe45ce448858099a0c9bac6ab3971fb08b8fb33f5106a2ba7104888db134b621b318ff485fe8d1d92bec79150fd1f2de7467718df7ec1af7fa2cd8bed62e3db1fb2e9ba8e1e0f27a3d7aa11b2f91a75036202425deb378071d74cea0249d5ab323dceebaca305052e53dc9f5679472bafb91b5b04a9e59120cd91923f90ffb5cb28303bc5c8835b05c7f65efc757b9bfc13f710f9b51059027974beb62690ecc69523bb6cc57cdfdac293efdba167bce58541cc82e5b9bcd43558fb8a0ea0a2da0e0f7df10c4983687d24cb26d9a40076a893d3915079da54a4faff695b39b2852f53c5b66283f00b41d0bec741b8426ed51b075d9a23e03b11595b5ec45bd40158b7b5bf1568a242577eef1a7e5f91b9955e6cf7aba364877236ce085ad17dd425beff9a22419585db502ef367360ccca013fe0658ee9b69794b36d4a7e11ba627b6075d2e9a85b4e02d46c92670fb0668209e27891e656d0106681da6d3e2ab7153d0927f8308e2f238351542db0365d2cad277458ac6b5f3a013175825241e9a24e9a08c306a2717891bc412237261a539f24a5d5de029cf40a704597983f53b5045cd000d05d04b23ee8cc880adbfddd3ef78020222502402466da7a679683b41794230d9c26cd2084d784cb96f157a4a78dbdf1b43c4f5a1721dd6597da7dc2e452bbefec032a910234c81f96203386f86e9a648891cead6523600553b4e4d8cb8259b58d5c0298505256609c7a26262d98bb73567efbc8cd4428fdec87304244b908cac0792aa4925d56968ff2eda4b5e8f1deb134c602099df1375201bd997ff4d9522a91e9af50ee71c59651b9777f402176889f2a206a7856d82bb7b96af1a21a74b492bb342e14529bfdf597a0aa4b45e7bac6f4162157dd738400aaa9b21a539e8e88681eeccf69a48a920dedc96c8456372489722306d04baca67fce627f3728e9558b684e148cb064e89c2ecb7e849160a108b180dbe7219282f6823ca05308740089b11e1ba2a36b35aceae2ca633682815702e5200a8e2400fc4408bc5588cd74273c67b3c88f14989936eadcd4b139f4dfc193dbb3c287a49815bcef4a010c2b7c1f9434c0f505564a9555b8826dfcca31876fe35825950aec323369b910be11663bc11543d0bd5e4e491d65c8652e694e11f5c488ef36bd6c5e8281b3f0bf95d678b10fd29819364ca7d2f69181169bb8cd080f31f811c16ca64a0ab6cdf3a1c8a88812185780555ec1c88b54418a60db3c4db7dda83a40bd38c8f2bc2ac4814fb89ccee6d00223286043fa93552d2fc3c0b95974b20013aab1b33a78705e36a8191da7d0692cc0906c9a60db4c30c14b40f1062d182bf2af6f4dc37c290457cab3db5356778b60e81a4b3e714bd253b9e60616fb34606ac2464c9a0fb289bffe002927f9e65b295f45497bebb20fb3d61554432cb66884c6fbe84f7bfd3f94252d3dd06732d65570a835e17c691bfba1964cbcd4b0b63534f173581ba94c40b2ede179631ca15a02e55b0aa29eb5044c1a7d68188c4c0e943620594bdb29802baa80815c0d0878eb5a498a3deb9293ae497a4de3740677dddf6f86ae6ca170a52ae5047f0e0064356623b72b89a41fbb1a67d3811839bbf93120d6c3a899ca4e505fb166c2187b97a6e1dc3d46b057245ca97f7e536bcb068672b0cdc4d807dc38aba833df20f4388ef2a06b7e5294b6ee9b23659b1673796a3efdd2a501c5833b80c3f2abaf1d469128991f0b01d540f3c53536ad8dd308e443da9f2a53f4b6c02d26fec1be94528c023cd14a4092c90152371a29443daeb97a0d574c598fd2242f536e2ea420f401e0f1ccee9f2dc21b9878a04e20ad30d817a32ac9415aa774cdb8893aa65cfc35ea8ce27dec70b98244a69114acd02c44f9c80cf9e80b94fa701642b0507a65673c1e95962bfeb3ba0fc01999c3c0ac877ccbbf5abf07ec177737c7fd3b5e8d8bb2faa05ce757af09b254e246d3234a4466bc5520a877d72a5ca37d5e3e4dcc927f35d21ba7053fa531191a5f7ea3fa522c0ba398728ef4e93e97d7e1b12eb798cdc44207a9926ec4e81de2f5429614c0b050764c018bc4f1e2917f031e9cd46f5f6cdf6dbea69653e9c9462b0c12ba567b06cdd99ef775b61ce98a89ae4a4136dbd9a3dd2c97c4301f3150a9dde2a7df4d7a06f768324f0a8eb3fcbc02ebedd7577104115fc0a413aa2ba5011d1613f2f36b9987c88f67f6ab4a9bfa459b7643500af3ad16ff4935df1a61e0783084897ae879f1385b1da38be1fc69f4a8bc09aec87d3b8ee82d053e535e4153d232d47a51ad98d744453000953a849429033c27d997ae5fba5af0bf51d959712f263ba42130d4566280efa023454df445d0c45e0178a84427187eb5659687f1a8f0a19ba3286a6f6674e24b383c25c363bc23a4989473536ec93e05d3624095402800713aa61cf08bd73574ded6b825c23a3afcf2b8735c39591d1b5bd20586ef12bac4f2455bebb7cff8c0ed28a3e117e4b5a5c7a4dc5108c16ccfcd019826b61a86983f5ada084ee159276636832ee6d0520eb1be3038380ed4c641012336e09c86d18e1497aa8a672d2ee0049eefd1280d12e9e46b02574c26417b598f74052d610df275bf2065950e603fe8187c18360312dd7bf97f6ddb2a5da3d9126716e52c728dbff90fbaa5ccd25384fac3b1b5153b4553993f44bf4180e1429c60041432bef429450a387711b163e541ad6d0c3a108323ba892223ea8bfb05c735981596a89ab1856e8ff8f5599770986fff3e8648e25b449028b97559c30002a0d63c1a6703dc3d638e20b540c382799e8d86e5c8b72eee23e9b48c9e2ce5da441f04bc702a854c6b8af69a290e0e25251f563ef41de7392476f860c2301b0384cda4ba1a6d92660d0a333fc95025b66c7de9f2e77fdf3b843ed398afbca0638d990563bb2f25db0979e5fe2c0db1ad2e8f1099dc935a1a558883c8c7932832f92602b1caefc985312acb54810b6e9c2570d8fd180e365050e9876895c7ec19b0ef1f62fd1e0c562c0b6a373fd916fc331bf5d09a82143cc5e60c36c96af882bc019c1bf4aecf870973cdf0d1294e0ae46ec2552e7380bc71b44888cf122544ce4d32a16bedab93eed3a929d3b49a13e36673b170e2344fb26ec659589fb71e0f8a6532d5222a81f72943ae354633e8e97489d9a311fc06e3c4afe9a9ed1627a5620f0c878c611945389068b9e1077d405116100a1a4aafc3a3e4175dd92e85c7694f92fb5eb62dc96e3a2a2af7099055ceeacef36c1b3d48ce40ba1a0eaaf3a6008d7037b7ed0e7205e596c09014da5282271a5e34ca5608519cb1d7dfa183675b1e5e2eb5a252d731217179a22b3829c53b5f10dff38a3f9a03d6a753f63e5df7ce0dab1f8c7d2788c25ca132849c2d0372bf8457e20a474057159c79978ca285c1c300d0195c20e9c647c1debd662a679ce6f5e27af2f75427cafb20f9a551a7c723a403cfbefc88a2cb2b19a149314e1249f6192c9f18b1d5701d232dd80e0507b165d6f4b4820aaf4b859dcf0882aff6c071ac5c2f773a952fc8f7207dbce0158dfed868a8903fa108de32aa7469f145aed837f242083e786f86e5213cff2de207442adb8a986d6ac940c8b7a8fecdddcad14f5e9a99f86011bf011ca81e29ad111f3daed606dd120297fd5971adf4fdd8bd4bd76855f9eae8bfb84ee37acc30cc4a52166692863192bfbb65113c7ed9838cd81dccc2b720d00ca1b1847936a16c8a9ce3ff1bf907a59e096ebfa0c77905bc201fed99e53bf0f75f0aee4a6026a389f509349b980a282b99e49d2059c288f526117a97a3e9d65a9302f4588d5717d3c88f976a3f079f789378c9b596e6ae36cc21b76d8a6bb595614cc93d1bcc25c406daddf971412498351c13eea89132f2c9a4a5e9240693cc13d60dd7231c4e315d0d3dfb3beca4f7682a751a0fc3988efbf433e0796392e91f8556ed557b82989c79fa2224cd7289c19f49037f83e0910e96ee882b9e067996faf1881451ba2c26f522b6b1895275d31edd36e14a08edd6bde0906eacb8b8c7d6975aa4dfa1692e2a33b56edd217d2dcd6fef895145f307180b26a5ab48c8543c2f99aeacbc31c87038f5d5f1b9dca19ab86408d1b424eb9ae717d73bd7ca17e1cca4a345f964c1603f6d40727b13656d04d2202f486f6e7e6c627e28d77a88012aa18168ae60c0f0db18ecfaace7c5fd4c82f3b7ca937a22e3b5e7ed968219e0ce5c7879dd1b451682234e6878d5e02aea08617ae0449ec0f2202e35e8ef9c2bc896b0cdc289ad3136dcb438cedbabe478d0a0d652802213146bc0850a4ed7189ecb5f601d542ed45a6e5ffc6c2764c61fa7450ce96a3d7054efd884e767f54ca1e3d8fa779d1a311284b08963cbaef79c2e997c6303755af1449128b3bd28dd9281741985af5af271d52a201d628bac75f31a7516f7d8ad5a1baa9211c8a78e90bcb6fab3311213ce7e9f6109875686325c5230b66356849a9741781f74fb689eedb2b7dbb7c86d790079b6f39820a8c87dde203d9f3e51a0a1f9abe6da7554e4ba87140129f8973cfe26a274f2024e670309dff12f0eb84bb0f3bf9dcc6ac44a16af3e0d9ed558d1c1472ebc50cb0649ce87be68612ff5d81a84509c1ba4eaf22c3e952251f9edb230a694aa9ae3e8782bd22101ad17458e06d16e92b79d0ee62700c1069d034e09f2da3699580a0b7f813d8ccb8610a5b8a2d45ff83ec5acf08a0d00f09d4eda238f589f39883d9efaaddc6aa58b9fea308cf3e82ec88473d161fc2bea7c7a16b29f83a28941e48a7fe8009ad8e4b6d48250588fd90a67e8c9dcad87922bd08557d9eae98829e1248628238236fc98f002c92f40223b39bb76e8cbac7b73647f0c950c6fd93003ae43fea9a64948e444bf08d12b5411505e0740b5bf162d9673f57ffef068221dcedc2519f2680a1c9667c88d159d66b701a2e45dd8ec9c498f283ad385c827b543364c3684b663defc5e080fadd645e7ce04ad45fe46b0de0afef773e1084def22bed87d1817eba30b965dc13bcc0fe3896d2daabad845dea8f3dd81b92608da1f9dcded3dee2db0e62d0c2938cf7fc75fa44ff4caccfed595060729bfea5c362070e4e82ebba1b6e6ed199034bb889f7073f24308a104f1590ad0044bc1ecb05745900946505eb609df95b17ab017539854a06247923a6f8224485912a271f4f64861038b46f3bea37dcea10c42282d669f0e1118e87d41f83aa36aa2d9bb636b80d16566cda8b0be16f4f29863367fdc83ce77530ae5fb1d1b0e778c98216dc799ab0f2e3d036168e99dece4a34b93371a5590948fe2302ad6853793c3d1fb27ca666bc6b6906e74a506d21691945a79bb4772d9bea1eef6f80d4c98a46e8386dc950be89dbeac657a478d4f92f4decd9e74a67f6502f056e347caf1da1e08706d86fd71f9de5826b8c5eb0fbd148fa65fe80bd744a7877ae79a6a34dff430138578017771f21cb4d044e300a267446425da314da6bffe8befef055c1191ae8bace711cf28aad9cbdf7600f2f53f4d776252bd2467e38980a672437288e8ebaa03afba3665efb25cadf2ea0ac99a2250f0750959a4f34a254786a4eb3d4565e90d7f8042674b126c6943b83dc9cc483bc342a9bb0ce350b9ba7fdf54c635f1f1cf50fafa684039f69a5a5f2071b611869f6557780db7b39cc6ab224260258715010e9229900a4cc36e878f97a14c456eac8289a016b83d8434bb4d441e602be2939f41e97d8bf0501d120afcbff742d38c487e5832c949560a18ab25e3bab00c215c0c4cda93e6f8e59a1233d34bb681f6d4aacbd747d885a037bafc2bb48f4573cf33dccc96515a1f246f8cf52e0dd4d7ea55ae3ffd2d87fdac87214c38de11a6321fda2f02ba5df419527b504bbd8ba7519d57937c23238c9420b8d856858ff0e8300725c3a4fe9c5829d21f0642969ecc00a4c1a72fc83a581a6f9c4399a455f3e0b1379b889e2d98d996629791bde447ceb8944802caf9df1b21cbd025ed257db0ae4f81d3c7f75ad011ca2e9e7d600016b96b4f19fec160566cced551699a7ec16298e85d42674f4207b5538919f986f2539c1189c604713c09a35cfaf596fdf4372c5a417f2c22a40e42f2b34ae8b42f367677d8de54067443cee56749d871b030b1ac48adfcff6a6ce2cfcf294ef66b590958b5e6be12875680b17c0a78392faeada7b79bab488c3a8522ce207ae43a73fefcc6d72e3b60a16323b65c71ac454738d348ed93eafa0dd288f052c3aef94db2f9bb4047f4ee346ac715a333e73606caa39876a54149cc1c3b61fba2cba3818d84c4ef436707ae0c1ab82e9750f7e43ca0916d402b003e037ed9da2f4a65da4e6a3c9e902885111f846b1fd1ad5aa1bc172e5f94370bf983c3a6edc056592830051f7d10c9d9137b4f0a864b525d5108886d4e517515dd4ba781a1a19936a96f6dae3a8684de007aa82f4243b1065975e33c2700224f2c716d33d5c9b86146525121e91e70cd8c1712f3b8d73e2cc27b887a705f851685e4e6772deea6949e0304ba487ec25f11a8d15ca380e3fe3809a7a58ca5b22c1cb715e27cc3afcd3f38c6306299fa01928e42681e09c398e5f3c0ff9dec48d014db9a489c89f7c66d54ecc8917d5aad74b5dcec45f416580c2285360a4c557d776e0ee4a4d67661d4fa3bd46972e4c0c9f3f28f8f03cdd36d2156db136fbd0616007222b4db127ec35a679e4215ffa00e6472c68f128373b83417dc7246d6a95ea2d050b039e4666c0ee7631b5982091c2930643e18ed57d443e01e8dbc562d0146043d4543ba3c44594f39c4860d1bbcb43619c9c798b79b4bcf0ab742872c64e9fc97eeaa0e218a212bb8d324d97d68cb7a8d52d3b204cb923562907a4a5b17ff510e39389b38296289697133569fe1287e14f193042e72926555fe9c01e80f56d5905c4a18e200e65bb4103665dabb8cef126a7584b39cbcd50f3e376f31d01f505d748bae6aaaef10f5dc3f01535fe139961b18f0876d130025e5be7768d4256aef0af36d471b924b351b8b61e11f2d3cc45c10ec81f2cebb936e1ae4b0599198ba4caa082de3ed736da5d5d0ea41f7d3bb6fbf368f3b192fa5947c170ffcc9ba0137b74f6d8d95cc7137c51bb6bc59ab33aaac8b529e4fe6ea80a0a715527ad037918c2f21d0f199883222e9650381e06526127ee1bd2684aa0af0a1dc47cacba4699d93428709b30e8faef95d9131abd1aa533c7e29441e36c7e9979570656b1ee5ed0dfb7a8705b653d9c8cf62b136b99f00399dfafc62411169cfbcb59c5d563cb6534f5a5dd1a4dba7c34c3cfd20351e556993158774df87f42eb95e38a8728456a9fa89609443414af3c05776f86e67b152a0ca230aa1e726a33f8e7f46f28e320dab4ffaa80093988191e88927164e42da48bab0a5439ec56aefcd1fae6f8de2680a3709d3d4f598d0cadf1435c04f38652cfc0305dc333a6fac8272d5a991b36a5ceab2291133ded2345780a0053fe65dfeae40221ebb8fadc82d99c8a1f68765206acc19ccd50e88f8bb51a2e66563baf53aebea0db170e4667c301ab8077eba6553b8a0a73c27c58538108150cba27691d8e9d137a85ab1d82845e0ab0462654e36dbbcb4539c145dd9cf65bbc7eb0a6607d541aed604ddc152163bd5ca9ca3e59b00bab02fa76a13af009b9292939caf85224aa25f8f6ed06c96c0b5a6160c539d7d1e23e60811cbb32e29ed22f6d21ad76df48e2aca57552970dd1a3899b521c6f8cf405c9c1d74c1cfa6e73f5b28000a8fa4111dcad6c56714965009f4934639fefc215c9688d088b778375c7eafa9def4332fefb2252bb220a785b3ff0fb9b8a4d5e168448f87b74e147a4ca05d82c4a62432b007a9674b3b788fc7d6d5ecabb938854408507b776988ed917634596c47125e7482d5be15613cd7e4ae9dccbdc0c63bcd3cffb740d6069f76271e5cf480db31587a2a6d353d5035a97dc4b58a1b7d411b7ed81252faf885cd5405a25d455a6ce7ad4514fbd994cf0bd1f96bc19e9492054c4725f4c565f37f124df5d32ebae97e4ae872a9806bb0a4d0a35fcf3b0f542ba820e1aa7f4114e8cad5ab9dac49099d5101ddc584993612a706638f27345437ad2728e6ec507ca0de8aa3b814dbd0d7bfd9a80f4663e152aec7e5905fdd780edabf85982c67c8254401aee09155e2b36db75ed5d5361c42024458f701531a5b2136b002b7e2053ca9df868a11485a50924c2ef8a23c82238c8e974744509cb3287de744c20a2e83de9483413eb13dc0f1308874c950e0f03b1c10192e09664c714f3e1ec2fd4a8ffc8138b467a27950a01ce5e69f8925ccc1bc3f51966a5e98089754d548c84d0fdd3508c5d2e7bf59167e33e9a058b073772833c285c1a0995613ee29a7178bd2d1769075fa490615706775fc125af0c86fcc9100c66e542b7adaa9ca366aea3189f19580b6960aed5875399f17fec4ba49adaf2549db7c5bced17135123da7b716f38bbaf817b6235be56d39aa0db3db7f788933130c3a080756a16c90baf21e8c2d71210e8efb2c4d6b84e45969b7578ae3298405b1447f032e596a94f14a4003ae27636606d30fd18540d808cd7b3a3f1e0e3e94b5503c0167976c5f97a164114280d37ba46796d41ac12bf5105955c16611688a1d8ebe5ba406f0ec72845413735bfaf08b6f710744043f1bbcc03284e0bd950239f4cf8a748addc051051f17a8148698d449e90564fb17604f718f25c7459b4bd987b81b9c7c1284462a86cf8fa863ca0f386933ba641695bfa74765bf2a6a15204385094bfa0d72cc41b04b3c8c42e0cd93ee8c1f2286c0b08bd3f53c426cde7d08659db8a700983cf48c0fb1b77760655b11c086b44185208cd5eeefcf80949c97b18e79a13a48d5221b11feefb51e9e715014f5c279c929599cf99a9aa0c2e9c7fe8e9f12b20b2d85f05cd7a4cb8950457ca50495faebb584ee38baca5fe05a14c2d190a7023075183c9d8aad97434b960b39d1dcf04fac66861c3be23344888aa60a076861f16380aafb52eb38a9551eb9e5a1b83bf79cefc976da4b347a2ed70414df1b11e9bf61333e0c9c94b4c46394f114854c619175728ef9b072c0f13229d5c5699595947214cc7dbc7257fc63482b088dcdd4029b0055026fa728f070c6fa278fafc6eed934b6674a5867c9cbb83b58edea34a1ec463fe9925579037f1e29719c1785aaeb0168b128db2c480e23467b8f3a26ca56110d648c8ce48c4974da146181515774f0c4f7fde68b94861ed50e8fc799b3f1123b9cd7437b0f108b87de2bfcf50d83966b1415ca31166ac8ba5a94a6df1e4cec657d72a4e21e6e5033bfad34454556c033b6e54803d1b45caa946f1a187daf3154db82bf95c6386a8e5a458c08a8d81a8b641feadbd1d16313791a735a44f7fc7f87e0dead28d19bc40b74ac4795a7192db15feeb5ca5449cb73695bfe660edfc24ae2fb7e68163ed9cce47b40b60876a3b567bed5ccf86de541791fd9fccc75828a38dba34f9633bfd6239dd3ed4a902b008808c6789b55d67d2ddcef4903fa4e29aa22af7ebd493cf29fbb47139d9f5b3e7dea887540e955e90efaa38e5fd3a87c76f679895455c2e1ab20b0f82b0ef4b3a2ace0ffc0a49be2f8b602dec9b50f3b97676f2aa2bd9690781c4886292eccc59a383360ef571211fcbed457fec31c160309fc5b5eb050eb6304f854e408673f2783e5f879affab828aecb9a752b75896c2df8921bee2c6357b8326b2184372916c58149dbe4fc9420e4d60a5dd176706467522fa4bba021b7e74010c34c970a6f9613ae72b7444702242674d983c5f71ce3881fd0c109bc7a00a2316f8a66e146e6c7e3e3b12939bd2239d27880a6ca4bb681ea20375f091e76b6cd409f20335303ccc24e9e69c5ce58b6ab9d61a2bdc1cfe9bdd1b5511ecd5d0cbee8e2d2945b9df0f7831887848493fc5db782b896f454621425e0a32d8905c65b4d204b35f64132808e9b88b507f53925ccebda36abf2a388680e44c109df68d0fdc2b31324eaa908df5886061f635922fa51902200d13a0057ae5c87b88351f37f0df1d898d62ab7ae49e2f4857963992185a864492104771cbad86d61ecef8827b0ea7caa797479979a3016335256dcc1d055d18760b394e35651fe856a4079ae882608874dcab420eb3ec12270d1240540434cab7e3807594398046a9dc6c98363844ec049339c60f4093f9a4fcf04d4fe44ad0ecffd4b2011926206cb11a5260491107cfc0aa942dd633079b5bd4d9fee5609e0529bab5d03b2c35dd14d6354554b7ddef597ad70d3a7287cf25bb45c55402af48d77e4b8944aa7637e12034632b2b490cac6a0823284c414f111f0c025149134edce429c348fddb865b730ad0797580288b56bc60d704f229c183b5c06be404b2fe81896149127f656fd0c132b61ba8f3a3c6942441c9efd70ac2ecc49d49f4a37e9f6ed9462be824f1f449824da46724c5736d667f0e173afbc8e266db766321990fa76141d4b58e212f250f43de09fbbbc33e49eeb3e1cbc111c172d01c3b1b51ce2d882f2191f2ed915013cdf1f0d264655710349388cc79a9046f17070521a15078f4564b3ea2f13f76e1315c5d7b01e85937000430d3560f12d5da96b46d242900d328d3bb653a30867630ab4f2cf5b4f9a3fcb396bc77b7b4217979db86b3f9daf5dbfffef1f5963f39efb6125abf41e861aa9b1286cb5638b69df765d764c848b46d2f2c853a17f8e9ee8ad31c24ec04e46bf7d91af6848e8f70b17bed56b4c7127044d3609add58defe8c54d8159908d1da4c102de06f7ab3dfca3ad906ccec2b4862f99315f767985d8b602fb3bf7602d412cc974c3f6f9b0c93b4a9138ddac1aea8b2e0f938c265e8db8698fb3ba1f76ca82fe6d6722a1034e2025ece859d9b0b4031ac588b20e913b950b84ab293c497ed652e9356dd892ea5674333681612eb8c1b3c2d60de733e71ac0d2379356e2c5cf78e927e66ece71a5b4f5245abf4f89e351f8c6ccd887b8a497c847729603973e9f882b639bb9274691b2f68d206ebb97a2020bbc34d2d3a0f498bf33b377ee5f9d4c4e2ccf5b1a902c4082c57b3efef241635b376ffced75caceb13fce1963a5cdab694d2ff76e66fa9f78ff4eb6b8f83134b113a9b229db80423d4289fc3c2a64329400ef1f0b0334e3ed18d6201f9f2496b265f6a4bbd3f3d5d0e83bf066cb5a7b69ef7d909107da82c26794ddbeff1f686f678f5be6fcf0e7de3c6a3c48d8ec1892a01bb97101c87df59e338f44d41952412361a766c9dafd174d2ecdae2448aef060d6be7c01d75f197f5c2480edd09e24318d06669c5b4824f8d08af88234b2f8f82dd8618ac8e4a58ac1e4907186ef647d63cf1fb7a99885815519bc1598e14811d22601e6dd18a9a331626c3fffe9753d0989e8df7947e3c440f9f064762571a9b19b075e98dd5d53632ad4ea6bc18880ce406ea992533dc14cffc2de20cd5a165f26e8836f93e3bc40248f701735081d4883036e7538cccd48b9fb3114504a1b43842f26009171b790315940d8cbdac518502d3e6bc0fc55a030e9b6d0562cb9cc330ccdf7bdc0c84fa928c27633971f4b7713eb921075f5de1695f9d030642b5807ae487d0861a1d05424b4c11cb04323bd943a788f82a89377cc1dc911a41421fd97a64159722668572c28542f4fdf1738b04553a17d278f10d8c8c90ab7b267f9857fed473f95667b9af4e70eff64ee7fdd465f0f2d66fcdef6c78acc55e47c016e09307c9d18a7ac559182835de773193602edc02f1c07b11d499e768d19e446ae7032084b2ddaec6ca4d45bdcb8b7a07314934eabe6c73c5b832bd640c939a18ee5771ac212b1966432300d697b30f00a6b2a1dc99f61012dbb67f36bcf4f3f743accaa1e9d639ff11a2249ce24bb907d48d0c99b0c76c00f9c5e659da8d6c67bf84754b8de4c6b979634d5fe2df798d5732c34f6b4599736bc850fd45b21530e359f8acb198ff30f72d15fa0f1ed513a461b2102f8243bc1f1e03d5ff1e01a717c18d5d83a046abeabfa7ad2d46a312baac3986bfcabe7a74534f0fc0a156eb4cbbe2f0b2f0db219f5fab78eb0db2888b5459091de385d5b460ab28a4c61e11e261730aa8de171edc1001365d163dc335542d0e69f22e34655f129294a9e7eb3e3c3b8451cef8325b673bc281b4a4c8553ba6ef379095631188ef9994623db59bab8b62583b625bc513633d13d49846444c36818b5abdd87411cf98f7410dd2d98956559f6e025cda12c097f1a4d45faa3009a74f2aa4bbe7c4aed5da8eca2116dbc2ea1924a5e5104f30a04551eb6289a4ac3f9ec9708598097011083e91660d8111278a2425bacfa81a415a1646f1a84219d8413a92968e94c49679da6d2770bf5691f0ee07f76ac1c646fb654101a97b728ce3c029a42b68fa07296c1939251cf12571ac416b9cd6bc0f30ea6b6d3b50f4db4ef7aabab8bd07a91838cfaa38907618b91ba7ab291c51d4f31703977e8055b8739a413cb5aba261276b2dc771a04bcce5c8bfbb8748f43d97746c2c1b8f5f4c6650ab6cf1c0fbeb0ab68f0a62c8b8f32727efdabe0b5bacc52bcf8151c3cc3c6400844dea585cea78dc39fe868f9736d4bb7618402e41632604b07936697a19989469c85e0382995bcca2561241e5f37e79a6b3d14150fb25de7fbef68dc2a64341fb23fd7d8a0acce5466114177d547553c675dc794eb948c6d846400f66e7bd117f868457d0b3774f90d0da7a51e8a02fdbca95dfa10288375c02066f1bd14dd7e00d7ebb93e135bdc11e7568653d4ab20240b7fa7ad8644ad4809e04672be3b7420ecdf004bcdf2ef481aef4984f4584deb7bd93fa7fb15b2c144b890d620dd84b32ed45daf598cb64374094827e1b695604a283e8e421d686fe0b8e0e8ecbebebad6530c8b4ae5a011f68ea56e2bc532bac3b4bc544f62db280b891db9725b1ec6e6630628a717e23d3344a2d1ac45c18a959406d0280e8b1c829fd3bd9e071ff83c4252922ad9e9387dd93120a906b0d95523109ef1479c9408ed2618e0401c0766607e7b90f25a7be577e15951ed8055f000dafb2b467c6a5932e9bf96b598b457393ebeae17192bafb190f77330a970b9d837014544684afafe39f9d6d99e7880a287435ede43e4ff868426b66e7e46988d16c7038e4bd5619ec7cd4f3abc2cebc1f3cb015f2ddcc53a53197a63ef957c0978babec2ce614b08ff3693c36a5eb127b3745f0edbf529e7a241413cbd569df7369eb95bdf124ceff1f978c1ada4b835a9e8778455600a7d0f4ea49f0a8deb54134ec087d8a9862660514e6e9f228751b51e80744f14e19a88be752fc79f45ec8830677cd322b757910a4f621bee7afe9a3d0e817e235dc1b05d6920457414d120f8c90d34769376a207212b108224da04869b71391762350cb8deb03f23fcb82b41f944ef842cc2a8423bfd18ad08a0d4583ddd7b595be379b9ad9d077d4ced7899a5bbf3ef22594ef0772ba8e7f84a20fdc82288a870036fd59c33aca92483e7a30b6cf02292b35ca5df9288a425c6d7a716ab76950fb2cf779b1a9ec58c461a581637142b0541e588cfca354678c95e671f46edbf9133235fff14e0ab8d49b6e4dffc600d9b49fcb08ddc7c0e82cb8192cb00c0aca9d90999a19ab96dc9a178caeacd6efc6570e7720b4d53c221f3c5494462c30e942ff2988572f7e8c694264f0fbdb94bea40c1ad21cd9992bd75f339d83ed1a1c507eef7551b38a4af0f2a0e2cd49e2cc7da1fca837ff0f8c2327ac91d4f6f8c8388ce49cdb90ddf10a5237d58208c384ea7165e4fa6d25974cea743dfca2181b428de5f1ffd7217cbe70ea2bc7c03cd1788aab71d254c3cdec16ec9ab7a5c2600d0f4b2e6483109acbe98e15cd3f3f3b550d520225a5c278f0e0025e468817c2c303ef1ce8df7ebf69084e71af1600b7101f05b60ec086e910d0d87db263ec9f5a563475dc6a574630fb6d225cf7d70ed5027858e0c1048956c81652b52e86868a643e09829e01e48533ba89a1b19ec0e3b5f1846020c0147deb78aa878eb76763f0df21aafa05855c59f4eaaa86412d18daa6fe2c6e402951f59562c9d8cb9a838e9a2c2940f6f96576adc7da27a3905843c320617d61ddc94d9af26d8215b9725c006f909f1ec1f110425f2b7d5a53c9535abd94ab41d30b38e13b126b0e5ed3023e5eb9ed9aabe97bf2533a62f8d1d7aaeabaf71f19b5c3a4e7e59719346a4b6f66b119d4d77e7700e8167d974013e5ec447eb03305f9f426e6f9c5b3752a2c2e6d934c4587629dbbac15892fab5c7fa9a0e3970a74b4401ae3f739073fee1f1a91a8f84363c30b2dbcadeea53087b69987ebd10454b26b89da787463d227ad6195b3c36f4b36f0f5b8d212ad6f054f86e2fa6d94acb57b794c20d74d561d2113e5ec22f1a6f87f69c622094477453251d6734140a543f6641f9ef73e50d3aae40d31f2ca70a1c3ef820ff5cdbe7881d81da8bcd4bbcf14a0256c68c57130bae9f9ac8331417028b91116ad89604ea8907ce360ede66c1f991ce6ba39a16e208c7316210dcab2739a9662f6ef9c1689a82dd18e4a846506464656700a6a3bf5845e982e44078841073f3269b4770c471968a7c5739a9c51467c72034b49c41d865e67a539edf7f3b81d0418d9371265684428b34b2cae718416601034e2d0023c061aa34c7c9a04bf60b815d12b9fe4301b9fa68a4aba7bc3f18f42cac2053d06c43b2e34ed724975c284df23d94b3409c9fdf38765f0965914fad9af31ebf56d4c3ab2cb2df955104b0f4c2957845215ad4fbb05f2712e62897eeb6ff3a602f0d6b46af091051fa11256d3133a79e4d5d218761cf2d980c6993b1391228e857a051d6fe1eea1b4d3810edbec954d8ec6397836799c820b66b6f20812705007602f455e28567bac736066c62ded06876d76232f906d20edac1bae05a0fe7aabfbf5e4c1d3766ab3fefaafc8b1fad8c15f9febf1f8bb072dba15e77711372631cc59c5cd2c9900a3a7f4f0aebb4fb8dcb9f32136e5164db2ee48783782f5afa9bc407f0c70614127d9def8a755eb8c25931a32e329b21925df0ac5c4bc7b533bb600ee5c85c1b714edbafe3e29f6112297a122307924bc9aab6671ecc0097cf154156f03cc36578dd2e41a5f0ac2340033f0a5c0518082d8c6403c403deac23126197c9eabb2828d6a4fc4ea74e877060d7603ab541b0b3eadf37d5664adcb16c5fc25b5f1c50a302b00cd61df95f8a902b65ea0485ec0195489a0c8139ce3e25cc7736db3fd02dc61835d75aabfc8bfe232badb6468a4fabe7fb7788513e141a2ba4700fe000f214cbb5a62fa6524901675cf784a6f595f328bd603800c2a1d5d7213dc0abd640f7909ba8f736ce5935aebfab64103343e424f3b1b93d36b019a53118a3daef3eb4a67fff94e9bcb2aa67121b860cd9baa08a4fb6657851ebe4ee6d17f55e9b5554e666c0e72fc23adffd2d137927ba7ed2d87085a236fcd96a3d73882ed591ecf6ea7ca642caf544945bf9fdbd53b0396cbce53d4d8e83d2bfdfd15da71ab95a4cbc4f525e2d6936d1f2fb3bac3c7549604b674727a3770722513952ca73c434e356bae11278ec8e35440080010434e5d1fc9a90b7c7358af3c8239c042a8e09834ed07d05d4641a2a23157dbfa8542c27aa3e82382ec4914a77fd6b4112490d2f659b638ec1df09e43b6cb5d49539c5bda0c8fbddd16f2ccc1343f1852bcb8d34e88186b2cbe5c631e04c6468e8ca0a4d0d8386b87c4ff4d7e0e545c44c8384052820cbe04ff3f0f06a7a6d1eddc94dd7a1ff808a198d651a3be9e2a4d92c9802f99f8a275b7642fab18808094728641466a99815191a8c23014242f613832928b9115a240c096c3f3d023722db537b92d64e62517155f48728591dce3055c58ae0ee4219460510d3fcefd18bc9e094ca116689ecec3f538f03a33981fc007a0c10c0805fae5192955e68e97f82df518278af5d169cd088907146ff16db1e3538860970209a72e1ca79f6b6217c0735c99cfd594e34fa6836207209c68194a695c3e75581090b80bdab756997b4a36fa005a35db35cc77ed6f13dccdd4d2fa3a671dd9fd3b4d5553301a76f61769bb30e0a18f75895bea01a51b3ebd53da8ee8389b9fb583ba2b13290aa632249a62384811ec9ae23ea1c0f9f7c5ee31cd2f8c6f683f7e80180108226491fa9fed06b37a6f2a7f452e090d2e5c60eba2c38bcc6d0f0b3f6bb2d56f4f0384b94a04c39a54401582f6a28201fa968227f4c2073ff163b4b803d8914fc7ade06290382ce568297860eea636542fb9fc5b1cba042454c36d681880123c2cd2be2355c3d04a9c032765c87f252d1b48310888a520f525fa5dcb59a21a24d1b4452249eb1f5090a6cab39d26c8351c34738709ea31df4cbb37dafbf02e6664c3687b0820d44ceb6e6240d3fa6f83cc428c7ebfd092e89691520fea4b49954f54763edec45d3c0698d0dd5b1a907c01c5db0107233320895af641050824d15d26e02666197d0fb4ccc373a81317ffe1e177b8c95d4325b9573101f31ed4a210aa359eeeb29b1fbeb76b011c0e8d10949e3df410733fcc14319de6ed65589c11687d3ea30b47d3ca158af022efd7258d2046e5b341e64d7ed207d815dbeb9a14ee0af7a62ee6a183a3d21baa99e78a50bbe2ad6bb74797de9ded78c8d612263fd627295b35c1b8f0f96c602ba96befd65c6741ee7074ebb7dae024a2be69dbece3610d0c14106c1914e50892512e257df78e32931bacd2a78884cd1a320497c2fc7637a1c5b0fa24089ee8055f5f15c07c9f15a84c47286d9e5248aab6e6530f974218aa2df2249510f2ca47a2c87542d7585fc7bdd3a7d9a86939aae5a39a95ca00f8d6e8dc49071c4f3b3804e9f01d36e5403084871f647155a4e6c57e562fe9d8193f1c7f5fe6949771480c000e66881b8c4f4967f9666ddc8c6fe29fef0812130777609e6da196a08c1c92f1851473f4a3086011c613bc00a9e7db2b73aea11fec3c03b08e14c88575bef958662dd1c6b39b0661f8241216cba8afcd7a3a09eaea04b337419e27f4f5246c50d2413ea7580d7249d9e72ac0403e7c0c4dd75733d8effe9390f93baceab147932be22f5171823aab6a20d8b28bff5b6389f6d03389ec029a83bec1df8252c77172824faaa9b1c140059107cae7ee0b69d50e0c248afad62bbe377cdd6454d057c861dd4aaaba5707272d08a927bbd712316b9cd1c82915d9f8ef760707dfa2ec5bfac2326e81348166d8d754669ef6ce7182a14e445930e77000183836e4566ccb47274ef6fe0bd49ed70a0193c488b8cc12a1f3aaf01ffcbb5c38939181ec4fa0cd1c3af70ac29d7f58f8774182a0f7f7c28a43b6d8f3a722b4aa8574c63448093834b44d916f5225beff14b32d88da6931a9eaaeb06a8170f295ce17316517a5966af73310744d502ae30bdecb1122d7f36764a2d4a8b3ff749946fda57d4813a7e0d04bfbdc7677ac25ead841dae1914549a64635b45a686e7e549decb9590eecde12a9dd97d8483ba1f0706d960a7d1321f268a11141c14e86a300a2e7b3224be8915135d23d943bb7230144ce777c132c6d6a2471477561a93feb29742df17279280bc7910466c73e2c837b8562230ef0ed435d23abbb1d6902b4df8fdc8f45bea3868d5baab70c7ce5c226ce045b94656263bfb42f18e0db72cd9c97847df2191e32bd6205bd639cb57087e01b410fab113e7da6afb23562103b6bf8d4c8c6d3fe0550eca75a044b4b3d9d39de069e645555f11bbeab01edb7ed41639994099e66c4a617817fe58089b2a3d086197e0f7bfbf61450988d4ab16fdab78e82d49290ff69a762f3d35ee27aeccd62ede38d90221e55881b3c648603eb513a1574f761fe53a1872412259c0de3e6d40d04ff6d90710698feb0a4083dc5cb205f5cf33805961a2342bf9b2e7d8353eaabe8ea77d50bd0c78ea37de9c105604ce1ab2fc64c952af8f3ccd631597921797c932e382966b5231476fdb1788e3cd6329a041822135906c49c8a6ed6b45693ec37932bdd28776bf31fe0ba983a61e09cfd7e09869449afa76a78a63083d6f7b64af2294005ec5603c6dd3bc89ab323a1b1e5eab91e66cb4fa9418937985c8dbdfe598102d12d3700b5e5badc30ec1422e8f8c37014e3d724c5cc1a8e70cdd35275d3a5b8c194664724e85849bbfd1feb159aa96a636d06a28ef1a150b374057df4349fba968a338d6ca786895be73b1e01ade34379cf12fb7d837dbc85101c4e176eefc6cd1437ce4d439d8459f968631ad75a7e8e1e89392687cd5f1f4d75223011c914e75c7ac570191c879c690fd86fc169eaf638427cbde26de35bcb6eb3f5afa46ac052350ae3ff4176eeadc797820dafc714471995b2116220ba212fec254907116031abcc60aea3a7b5d58f00d2875587c59cd4d82e9d8936343722d5af7330603052a3c3f11b85233e2c09752bae66754b484b6905b032f6d9386389bff97bec796f28131a0c0aff56717e3b8cfef71f580899a5ca28809477a43fb4c12839dc2da95223870e0ed82d2306d2496d75b939bb8091ececa6a11588869f9286bf4b0d0f5ec3a799650961fc2f07a70d575d912568042aa16e196fa441737593cdbf4a13def33f7476e670d9877332c85772b91a5e1a0a68d79ada030bf1d4665104f4413905f755fddb0bb63feaeac41ef0287297da2ed446562767e7ad10e35cd5fd903e257258b1cea1e0510c2e96a59219fe03a969303ab240d85a427c28a3ac5e3aab1ca86da3a735b604a1d288384f001563dc7125a45f5e5cd0bbba1ed2447e35460be069c6ae3d5098ae2b0c8a5638b570f282d20a4241a174014180b37ad9dba6ed637236a9d81b9fab88962f1d6b41c2ac02db39094795797cb8344deb2f4d6aa8f464ea2014b5ace50f9dc99fd4333bf18a9b3227f3219409f4e7c7cff6f94b03bf7cbd28eab208e14d89f3a66b7deffa0eaadde2e832b43b78fb1471aa478383868a65ff897e4a724507404ccca71dc2d25362bde47e0d830fdbb983b12496d2339ba35dabcbe65f9c05d5fb30c0847b8554ad6c48466a39b09a0a076a49d818889a76aee6f707b0afe2f7b701df70276a60d998e6195b2234aa0d2d2ead33ec6f84a89306bd7f956ef6450bbdf8701b84c1fa0fc11afad7c84e6a8d1a83654118214afa854f40d0222068f5e19a4cd9bbf13b95381eb110a7ebd6ddf83d000991e301015736874fb8260f64f80d9bd54dc2230b6c9d661e24f4c63abeb09519879e39748c2171869833f4ec90730f916d289ca1300f817f68eea1660e1163689ca1670c3d3bd4cc43651a0a6f08ec0ffd348cdbd961c396b3156d0824be17108e995ffdc9a548255ffe9dc8cf5de76ca22eceabfec49d45cbfa7cb345fe0619f0865cc63eb7b00381041a3702943364d7281f88ac945dbb76613a3c332c9c3e809ab2af2b2e2a0764105fd03f204b54df805a0715250660308321a3976f791a3e9a6cb7bd42f1e8d313e6a3c910819b36ceb022b6febffdf6ec4fa83528e18ab57c1ca0a3c5dead234162127b96177ab1252efcaf8c211b4533d5b9856da3623f45d52d915e2f1ffd0dc3ed541cb40bbb159f9d3d561349104bc02ce8b1e31ab231156c808b56f94f746993aa5ab4b1fbad06beb2e78aab9c6d76f85b40cc0eeaab0e4f99fe7b5ff713546930b609782ce53e77b14c0e85ed7044ece513120fdd80c508861db73d5dc7e8ba70ec157b0dfbfbe90ed4b9ec06e3e69be24d90eaedd57f3e383aedaf2b2fc3e08c3c8c7c6417f18701e5b21521928c0774e0c01ef6771369d06d2f27f9fba0f4dd2b75fea3b32b654cd2b0b18e9011c1eeaf929a405864f2b1814e0b528cf79ccd871fcd4a4962ad17f638915c7fa4a41f26da8ab6603caca0894c7c7a28a3032df752a66091eef1b3eaeb887a5b755d825c603849616b10259277290eca67658a80f7ee48746032af387376dc718cef83c374e9d047726c0cd05f8900ba292d016a90f125bddc996ecb611ceb6255eff8b9d8d4840d98566314267efc9c1f36d8142e9a54a2730691981c209e5cecca50a632ae225e5d132cf818d0dc4bc4f82e99efcdd1da2d513f5d41aa331b45c7e579e2e945cda32a4a92542d55754df436fe46007323198cef936e43e49c3909bf6705a06f8482edfd364fc1f824b6118b6d9caca4cf343056234866dd6062519f75fd80a8035af3fb372d13484d9b54b65e9e5cb06fd4bf34111f885ff800800a922a63df5f05f1039e465023bb27d64d8f47fb17f20929f4a2d43fdfffffff1ee311f860f153cf19f00f8173d73b70631770de03afc45bd94114feb7f855b847324e877ba12808baf00156c907f9db973f63758fbc44a68657a58bf5a01aaf00f340b7d423ca570c7a53f3ee822581571915f0f614c5d06f09a146858f6ae82cb4d3d748334edb6d44d6d4d22119c08840a5a6afc4c683c3c266a20fddd705e1793f2e899dadd6eaf65965b550d07749023f74360b991f43dcef7a5601da3eae4698b341154f3a04e6f3d1d71145824fa63ce71660deac9c0f24f13e19cb78bef233966839b993d080504ba7f292474640c9b22927badd35e78b843a11754ab97c2b3416163081f5d880d49e1bac350915f06a124988afd1b4ce81bf9c035abbcff47a0931028f112c4eb2723a768d64f59b5bbec3dbaedfc0665d3b4e95e38237d99d196f444157e535e4033ab3c75b46dafbe22096ecb101c8e760bdc7562936622a5d4f9d2b520ad9185e2f057a8e0b0930b8500fe86c294938e1a8d04b64c26fdb1ae53af60f4be6f67dae402491f9b9dee064d50986f8e835be98b5657135944845c446466da193ea6be36c3b60024789816ca9fe344c2b2741478ce0efd4391ff3423604478e2ecbfbe2c778ce239923bc047b792351366a287a3a419cdd21ee32dec4ea58511509758077d974c834487bb2ec395ad8d23d70a0164db71b45cd5675dd96dc25903945fa3587c3ec916054c86096f551bf78e32c5951b6473232bd8eb90d6e2a51a508161b64d367209b366a970c05fc1a8e6ef42118a40c2358b3ff346199b4cbf6e5b09018a84eece568b2caaf16199afb07ca48f62cd6ee6e4fe2aa3f907240fdc2ef0c5b7b4548cae0829965d665f6f685275b95692dd189438348a7d0706e9ce6e982cd73b89712c4025b5c12607049b428341396486f5630a0fe8e3612a87a887f01ee738dc70ef31da7b4b7de3f50b84785625dc24bcc37174c9f1241e8b83ca1efa92e4be8cb79549838f9920a94e558c239e271e8c1f8a251c80f4892fb87fdfe8b59f794d3208050a87c444bc106727a024c0e8c7dce5882a48c308e31e41a1f28d191f2d337fbeb810ee5aa165c8ecae30a690ca79c387a18c2f10067eaca45225735a8cec0c9a870764bd54b3e9b8eeabdf3465c7a172c513bb111fda27151eec0e99a6651c4c03e3c897957a10c9b8dc14176bf7f9c516354c0ad0c7f8ccecafe71ef452ad102377e42e41986563c1756384231fdf34a6b692b4b080ceddfbc1a74517603a73d39a2921e67d0755fb8d3341ae5b6cb6cacebe869187238a909be4f2ae30c8655e25e319ba5a51bd1952e1e21a200e6125dda1300516e593722ce284889d819931cd61fcdeba1af0597a8290bf488499ae8321dfb559c9bd71c8cfba84130c90d81538b76039216182a3330ba70106517b32092ca9a170987516963cc5ecf303495bf4bfa760756dfd53ff28392fa7fa18c48574cec643c26e4d0e438650265e870242823001b4a685777fab30adb46137cdb77c4df1542c7db2a60a675aa420a23e51693a9245ab0d0080cb6e9c9b3c7211c5ddad5a821f75cb72c1b6d94e4ef6358a3d19c30d0ccd44a1ab6b6b55754fd61d5436ca69a87fca0ac291c07216024980cfe646c7e5f35dbff5020122c18434a9de9704fa4f05d601992e220c24b0ea849c114f7773de2dcc062dcc3c19bc104bfe54f33e02cd82d0b6890278d5bb592e47594e53b4233b76b9a119c4816c6496a5ed0dc03259ddab12b88a2fb632a6c0cc8bb52af2f65f1a75b8f502105d6be5712d8ef116a3bc55c98f401719cb81d8d06591cd54c536261ca0a1c7eb338c81b63f62434b3b785fe233800f1b1f0b0fa9c17305bdbe76b4e0d897fe4b15464f23192172cb72333cfa82b1d73b427ddb90d7b05186b6ac16dd008cc755a1ad88ccce5382db2b66ba75abcf8d1e08e57f13439e836ef7221f8c98ce46ac30e57b13f3307f0d418fe79c5b993bd491726467165b39ae50288334e18cc2fe93c9ee1698117c0211181c934a7803577c6c373208d406c3c7cc0b8f31d3ec33841d19e5577f932a12ddbe36f64f1540f98f629eb0c3ca945fe46352adb5e27186ff661609292ac8fd8bbed83fe4af0be07ed4d3a2430779da92d03697913634b13db78902b4f99170d70ba760799797005f2eced6cfd5e3dae8c09b6e5b13b427b951d23f401f171d17e288a7e245a16107aaba308015dd3b927ab7ae0050c7c486cf55cf0c460a22125deb28a19de8bbe0817f4078fbe0853f29304cc5324c3dd7a89825511ea1ff247778f9f84362bf0788932b122cad617e608359e475d2895d19593601e255126e55b764905bc111b0108dd09111a694a57dca0a5cf4b49ba4447f9ea24cdb08a81df6d66950d306767600324fcf5eb05c77858ac03ae8dff254654f76dadca720f2aa38fa5a8f60e046464dce1198856606447b7b7806917baaba549c7b9837f76562282bf945ad391b3223beea81fac692946202b71321e576487eeb7e84c2b860e9c3aa85c7e37903ef4879cfff3d8b1fe82d98e43bc35c999a25e801c17263beb14b7c9ce490c108e2819f5ce0dec2a0169b213340219b5386b020dc45e33b81f9bb830c10c7cc39bdc6a15d4ddffb7811c57820826c70230a0f19c646e48c3e7e0609802e87ff7a271f2daba00c12ad009ff2d080ab5a05185ddc44faf492b64a1d4a7a94090da08d65874929a0e6299674336c88f2119e321758c40902a1cb02973e8bb405097d5a062e16dcdc8616dd2e1e0c931fc3efa29cf33a8795a80244ec4c036f3d1a8b132ca0a11e4e836142e706ef23bd2528884d74ac1a41910d6304c7d164d63b8e91c877c4ad3b8c240d26c33328155a91bdaf6cf31c43d59efae0932f41f5a957bc09d8af4b01f0e9a87cd50fa16587be59b592e4593594eeee32599bc8b3db4b43a1912439d4ab50a1c32787a2b052381a19836ab02403bbad5314cbb63e26766a55e3123a4abd77060abeab6bc5030b4cb4c95414465ee422ddf47fcdc14397a47a8383abcc49ecb80f80f9e4a6bf1ec174640b1d47f7015513376e8a25e16b391c7c45265a2e3862c469f4245933bb1b55bd2300fc89e893d1b4ecd054aa8ee89b8d2bb7c1b4d341824de73975efdfe36a806e39111e9f98e4180786c1560f14a1a5833cc3ed5710e9f50c99b3d05cfaa334549873198bb4670a32aa317ecb7771fdd0bd2a614989d2c6d3afda08d71a3433785caffa56047c0ed2197693cb29102bb611497be84d688ebe1dc2fe80ca1b0686fa156d40169f215854674ccc01467310ac3b5fffba003e378964ffd2b52cca5927e8aad5c127ebb857080a8cd5cca8cead8822cc7120e11031467758fdae8d310f685ec0f8676de26b8aa5b4745db7bf1397d9633dcf517dba7fdb92b0e3539a45a1e8670fa9aeda3557060c5f9a2af567932a2bbb8354034775711b1d98c759131b4dde1d192ba83852421e56afdb4afdc0d536b70f0eadcdc55c3c83bc3f330748522266dae86ca9f94a467fcdf8210ad2745c87547c813180df1894231f2324bf9619a48b00833372e55feadc9772122f647da6e5aefdf64f3cab995a5a1a312faf43b64a75e5a0839053968486ed6cc654649d42e345fb1db3160c9bd34a3db7fcae0f780e08e01b8d09b33c277cb0f9c70504b9585a8aa7178eb69b34bfdec4467c0f82490530e0c933be18e81661775e4683792ee4312fd48d88fe47b1b8925a1b03849e58080d94bc942db8a28a488e2f453d86fd367fb2ef500e89bd61b3e64a4199d83db7be8c1f482f23dca9acb41272a664db41ff82a5653afedfeafdfa9fce3fccee9f3462261e735bec08ef6aa323a8f4743199406abd260e2c3cd9a444c3a9c183b5eaec98b301669be867989b36c6a335266b328163648964f30c182551a54eed6197979287795ff540f9f6ddada24c1aeb5a574b0119805dbe4df8fc3561544e2f7e386101884d88fddefc1b06890072acfab3606661a12dc4e1790b71a3ff6280dabbac8c9c0eeb41e8573a831142dd299ad4b25a224adaaeefa473c285353671b1da21301e96a048c3b4c604f41ec2342f034dd71c60d1898028cda698fdbc32dc994004560cd10790bfe4c3ed4d46e95633d1d6adcb3fdd56f310c1ee1680c0a045021490a8a8def2c2f55bca2e05fe7897fb118e804c364abcc066a22fad0a1e63e3a0b1a4c0dfe65efe52f80313e466bd8a80d0bde09fcecfdef092623a2513c924ff8fa7f7fda1039467f4fd059d0cd48a69a09169a43f2377260a3054a0d892e2690f2abc83aa5006269d0a383688ab9e448be0f3880004c915f13550d6dadfa864309cbe942dfc637738c78c93fa871e16a528381141806728db95da98ecbce46fe276f5c2c0c25cfb8a2f0a88b3aa24222280609ab29063964e53ccb7d7ec002b6feb3cd394ed2a0d85a657a31083e6ad9320c40883a809e85d0c948266049d03d1d925cb228a4741b08737219b8caa410a45c5147b1d3d7cbc8200bb10dcf7295cd657eebba74e653316da278b6f9d9de1786863f888197fe305aa7635e29f90a565c128e7c615b7441fcf16a0c4ca41e72185a9acf4f52f209b2f06a0356b4e12d8bd4d5720290d786b0fab27f8bd37263fda9e20a8c2f0deeab69917032c6ad0a3b38e1558371e32918259fea9dc8dd516627d11026b2b60948b1902acaf4a2428aa6db685a41a1be055764e68db406174b82aad73e42f997f28994a0838c98616e1a3c1a940d393a7d4550300177c7c1b09758e53293c917d679a3ab753d84cc628422caa5b19f0b4a915c57186ae761910c0358d1b53d3ad2f211a8193326ad607bf2a743fd5d90db6ca2bd18f0b37e7c0168bc34069bf992077957a1b384075cfc6b58aa47648a0d202bc29485b694ef76209556c997b1a38ae9c6af255292907e374b3fc5e01d2225d20c73f9a9303f726c5353be3b0a40b43f68d30b9951e588a78b8a8125c8444701b179bfd7d05ea7a3c240e2ce2095893a0214965653ce0abc77ae1932ac6283a1800420bb1f423f72664d1d9754516dc4a6443ea2e89375731672e9f801f840ed6fb018c076b10510c757c6a146731742ba5179471499190a36a4220721bb4931ed570781ed0e243e64c16908488e57e958711b7642fd482b01d0a2c9a40c2782c7acc6467523b6e8625b5488871158da6bedd8958eaa3f0203007f1d4f083b981397e25799618700b873cc089545b98bde158d95cc10125e8cd3cefa07eb990b19e6cdc87f50062adf84c06a1bb79812b26d82eabfd39f0e9c11b871fb1173d27a218cb05833d32e600aacf0c2cafa07460fdf4a468fb4fc39be8ea0ebfaf4eb39903930bc9c2629b26f840a2587e87673cbe1a84246452f244bf1488c63c6ff4a258dc9db05a87ac069ff3be257471f1e6b6b8b4bdec4f48d179b3d3a81e9787f973c9c3a60e0f0d03907e7f95d2e3c203c1e49a37aeafcabf1fc46fb7c353ebf5483a28a031fee3f7d3a3a50c48e2bcdf21a0456c1bcb49302d13b330c95064720a52f7615dd0950369a1a6ae0486a36c5cabf12db4f6ae282e50ceb4a11f5bc9600842f53478f74173ffe80820c633f1032265b3f0b0ddc27dbe5688d88b49fcb327688c14cd9cbf9557fc750c3c4301261790f4ade1dced5d8e17fe9f11e4c35947b4f7e65b5c2844857685ad9bab883765c168a90a9c5c8b2bf601c4004b4d38cc8f226291bd0143600f393a50c6d7a698a9ce7d606d8cfcb5ac1c0f8b742a063198da465c4781da0541d991be17ac1ccef599032361e86ff4973ab29b74b6236f333e290acc4bc549ee85ffa541e5707fde4fac5f68455a5ac290772e7231d0b68cb73224e04722c7117df2baa2a90e63bddcf4cf5f94537ba997aad6f02091ebbeba71142a05e24cfcbbc0c1cec12b222069877b5c2edd60e1b290a83464bb4eb7ca269b7aa2a3470efcd2e687b08415f13c531ef214123de8eebb828359af184c6498bebb14547626bdcab63b9e4591073c895c0885c9f0b4a3079aa9ef416cd0a58b33cde37fe162875256a007576ebc50936c8cb014489c1b981fd1b0c7ad86374439a6f2760935bd942e5853f96198512be5c5d2dea0b8d5f2416fbb616814690f25050b6d483d0f155dcd94414c4e676e2b4aa36ca3ceb90da2d06a583bbfd3c521938e31d74601506d2a155cf7f6938dd57fdf5f570a75637b870180dc16ed2b59c856a67f2b5a3260b7d34c2b333fe480b55fc0e852100e9db1107a1c0aa6e9ee9998e19be28cea191efc082a33174446164072000ca387cc1b2aebc62019c7b505668da695136e0a3cfea168320e467fd2568e40b07131c9b6106c9293f36d6f804afcf31ae1779b570c54565a063bc3447ddf5d35595c4bd643977c89969e009df672ac77c802b60b435323e40ae1077a5519498e5495ba725c32093aa5738a65262a89cbff13f1ef305d517cd897fefb7884193ce8ee5a59654bce558205ecd3ef30881ddb91fc6782322874fef32c3ca0bb3c0839ee394515397f079adc30d2d4badcbfb6f892bce3bb87dacd01432a8da99f01c6fdba820b3e3f29aa2b7ff6a8dffaf89c3fdf72bcd0a4be95be1137f1abe76d66c356c281196d9e208171ac97a4f650f79648c6e88b6aef152a106f306a6929cc9e6eaea988cd8d15abe17105a6b8010d5b2dc360fc06a16d150ce27f44dafa8f9a98b715bff550021c6cd7db8dbdacf490ec46939f357c56257343aab908f29b7af76529a3e7786259f8215cdc2429d5c95d22e1ea416fc593f5eb1337e54d6e850b872711c740b6e715ece67dcf365642661b5da4b23a2a88930280cafbe7820663e9516312f57c6a7b69df0e6943ed658f551bda05054fbe177dda92d2ab31c8161dec0eda63df2d866d09757b850a5a9c48b3b75e6c4ba08ba062f459fe5db2aa629eb0ae8e0360c584ad817bd0876f7f66581b80b7b0b3cac910409f765d496b9579d994fd07f7f079a1458c299556f85c3f48c39f73fddaac657cd3b44dca6c76d082948e0ee55c7820a6effca8eec18de3d906c301b00dd9056c03e80b211463ae9943dfc4cf559e8e8892f346eee2334e3d91994fbd40bd5deb83de611fc3627a92182de2f428b82268f3684919fc3c1de1765681c699ad469dfee798b280bb6ee961fbb08c80bb1fdd683b5562fbf6a3830ddab3060c87c48444d30bc44c5780b287467ef185dc708f6d4594d7f814b9fe78eac8206a9145464cff175ab9c8cdf8f7982174b501c40a99ad37da57136876227b9d8e924725fc0ddda0319fd156b71559068c060fa84d549d2178c1f3fc07feeea684cf3cf77472241041ce0deed6f26e50d6c33e2906810fceed96b40f0cc37a6c5603a64d79848e698ae526aba86d7e5ea11297ce8052714e2e3182a1782b75c88e85e5929630434d100f31e715bc866749e85583c4b17f512fe500a5fa6265dae8ab9c856e622159ecd45aeebb9c852b8583e049189cd6c1787da2c0863f361d19a4546e0c322e5cf7349e60c64e0ed5c08225fe213872e7646d42e748f2e740fb7044d5011fc2512e3904ad9905520eb2c16daccdf908f1b4b8f095962035de6e17eb30c8edf371a40bba07b2b38a04d9ae07b59e47ec8b323dce0d84e4fecfa04307bf1be50d6bafbc3160d146fc0293e474d7830e1eb820730ce63543dc9cb631987c849e926e551a40ea010b962a841ac1243aebd5e16c847bda6251f76c6568a710881cff05d55ecde15abc645a41d04c942eafbd7307f0fd046fc36e20bd574bc141603107f89849b59708ac631970007fbd85dd10f6fe9afbdeec726e0f20fbc3d0ac0c4af46c25d30810c83dee26e376f2fb439b028a3ea2dfb57e698102a595b011992e67a162922ee0778ee9204eaed64500048e185827882be965f7155118beaeeb07824b1189e1afc849d5eeaba393987333a4ed5a7bd3917cfdeda124f0712142e07eb6c4f5a63e0858958657581287b3af9bf58c33ebf19f7dfc5611e48ef6f79890326752d6e53922b0eec20de5cbe2d68ddd32ba1895800bd6baae401f7424599c08e0dc562074b4a16cb5860ba0c3018d2d54e5453216e4038be37daee766a3cff2e449911b123e5f91e7be8ec708d18dd4e3a1f8ce86763c8e30a12d388806da5edd9c45722bb0574e6fd97a9878b4b3832fa7952c58a4d1fde8ae19ee8e5922381597561057f511eb05ba55a3c99d0dad134b079428c6844824169205ff5c1b0e22a45f565c821b50b0a2db9d5ac1c1e9d4200ac0d621bc7621ec53dbbc4142a9b008290edcb4a8d0a8bf556547d101687b82dbb4c5a7f65b7222608308b5125952dec7c3e14482c107720dc71675f3cf845fb20a3dc03ea6690004e0a6ae6888e27217c7205cccf82b74eb04efd2649f412420c43cb50666881f506e9acf8f4899da820e1d25e65bc8a51acc1c4e51e454e02a7b37d3d2d39a4989da28b677ade9553f11957745cf019c39dad8729370866ca6e9cd0b85302256df3d9e869a9ad2b8865bfa5d768cb58b83e404dbaa9acfb78b4df943434f481af4a99e3c8895e3e5b38afea3ccf8b8133d0eb8eda70822cb6311d58c3a147581b97f51ee8f75e0e9f73b798ea972d18be5982439ddf6840a4ef865547b33395cfda00cff712913223eb05309953cbc276561384c0e57b96306fa5ad8771c0e87e87df3fa18361d902cce9a6629f91662748de3e5116983f56da9dd22804a1f84f2e6274edded2e5b2af259bc3d396d3c1e56e1e1c081c9fa007e93e387360680a33128fae66d8850443ffd53c9a9fa536710b255f394f99ad2a02d424a37e857ead91162e8c3a030a53b843d226cc888f34ab2c1a4b5c5e8e0030190d84c16dadb3db0fcd1d37c04d3cb04c030517802a92ef484748ebf67a9aea93fa078ea64bd870fa9ef4642f553af49274dfe752d88108918aa58c082eddd72147d7b98c86aebb8c105ce6225c1c2c016e36bca4622c8314455d2dda8d5ceaafa1e92b2fef3269a0d560140e2244fe45856e34b86b86d5d12eb7acc68d39d64fbe22de8659062ca4ecf5b35e1971ac93c067c0697925dfc4363abb5a66ed6a15ecb33e0aee2f47168ce91eee751fff72335e784f3595a2263f129815bad8b7beb6a9d9b5d0829edd1ae762cc14d77434366fd34924c8cbc1713f9930644635bad1dd0cdb4fadb5440e2df83d37fbaa99631996375e215c24e415c3c7bd2d867b6ed5503c161c35d8adced7b01d7122c610b0054ac34ea319911c9618912c30290c983cefd835824863e6d5900fa44b08c4a435577eb0a696cc5b458aa639c5fe49a460b7e662511017fe4d1e66800c1371b6c53f3ac62bde58f3f8f4e72ef3d05b43993269c3763c975dd5041a90fadf43f717b8b5027cc17b37c3644713c37ff6a6f3e9e0927a051928768b6992f14632351d3651ce607cce086b4da7d2d7d534e4496336e277a7b4bd7a05793e645bcd2b5746da4150daa95eaba9a74b136b3e9f1cec335018f13fd184794f8c6f54498f4f39a44fc4b1ad306cdc00adee929af2737b5b062fbfde615813f84f71d2d570e5d16c62a1009052b101c5ab421370bf1248b06d292877c9063a27c1eb1559fbff49300a39503401df67be170c39742d9814e46c0ad39a25af9722ab00f8244c09a46ce2e3c56a764624b8a109b50ba3f893c68687ef3994f285581b520e399feffbb7153b993958391a1bf10d5852dfa33166570294366c19d14f681d2625d121f3a25332c6a16f7bbc93fabb0c9a91f870bcf3675af00f05dd2065e46e42975f4c8bac2680f96262c641c2ad98533ce6f2eb09268b7fc1192b8e5636d14f693117599cd52deed4a9b4cca12596374ebecaa4d5246857f5030c9bc3fe9eb0d794e1bd4134aa52a2e02bc8e10a74067fe226d793a85bac971e214587d626b105ec39ea4b7570b9c2704bfb12939618b9e12c649c43bd041ec336d41f4f406f0c6b5f7a24b0fb568cc417c42e0e0edb4aef5ebd14a9eac6749ffbf4ab9e0c7f235aa06663255480556ee4c0ae6a93447547069945281d6e77471b554e60aee380a56747eeb12da88a5da2e54c33fbe193322e42e1b1b417b467e5ee269d2be1e52aef82747abad0fc4f90305b6b9fcbeeab479f612b71049d639f6b5bd07a6c45735a27e29ba126029d600828787fecd03f4eefd597d74754a9138afe83635d01fba7302a46701f568a031ef06de7ae905861a5a84fe282331b864bdb7b8a334dbba9fd455c3a54c6fd4f430a0ab93514cdb6dd12f201e56c037f364ddac6418b0dd75189cb96e88369875f758b44db3c41bccdd24c3ee96a0c4808fd1cd13e3fe1339c5bb8e717c17143004c002dab0c8a6fdf761cf149e8bc328335875d90c3a50cbac1849fbf358b9e5e7b04e6fabe0c423d202f3a56e37d7e197aea3f820f90bde562652e13adc3a16571e856063c51ca68f179d3fbf39305ec7c32e7580d03d08929836221f5ce0f41b0fc50b142691463526f44e5936328a2c051c290c3779d22c429f41d1e1fd1f9beec841036e5cf55963a9d9dccf1c7b109c00bd769c8d3572eeaa2cb3216597bfedbe7ffaa088403f9dfdc008e5d0c9a9040b6420143ff2f16324c6580ccabbec55503dcf43c1ea08b9a7f81d6f0ff5dd1abe9fdffc63caa8e40de6bf9b2e860daff1261cd1f96bf03f6fff5fcf17219289da337cb546a6d989d2e0a76e3bfc6a13e44a07519eabd65a0d842fd25f226230300ba666092f4336880f3e815529a3e6b645d6d521af8a952602449029006528e5d461300044599b8199d043701c1d77b5fad781e9db1f9823005c60000705c081b9f4d881d00f04a96d260058694858115e97811d8ff9bf2a334212c6f54ce7ad3c03ad8b8e9dca835f8837158169d1fca5b62ab09c8ffbbef284918e881a21301c839fa6fa000d7556f0cef9e1b4dada1888bc1b44a46594b41e12c415ada720de257a434d1a1125feb655b14edf8ba446a28aead5febab86107c68cc57e39743e788b8f056b8366c44afd2bf10fcf43b6cd2ea6f53d9dd54688a717eddb7990164f65ec8707bce0a766d50184e27e2d06ab386f440a077c92b85576b498a5a939ff9085c6693856920ee6bb47096a28669eda83da4cba1384bd476e724d531b2bdf5f1baab49bef9fd090f7ace2041419306650fa5d36dc0bc04f7cf958cda4bd1a7f02c69f19b2385d825b66c79b634a5dc63d5c84df03472b7261426d73cf131337f84e94290674ea39d6a08c8d8b2768e1dbfcf64ecec400ed10d183d19c3d16e3b7d1b2af93657edb1fca24ba4de495bdb7015b19e83bd674ecf179c6b312c3e122b89197d11c087a6f9eadddc4283394933cac47e2046700558795e470fee85764d48ab12fc15fd61b5d375c3d1c3ff4d797fbe3f9e592ba28196c2f81373ea104728affbc65a90d4ae4450f44350483ed2785136b5ae0fd9e52cff7d139f7a327a2e9812e2a0cbcf42068d1ea0a9143996d2729a427d38e423b36d436c99cad85f666dbbe2ae5725b2cafffd7dccc3e90778513d0e22758ed9f105215569e589031feffa745ad3c777ce63f761a3756623c0738bc687a19dd13c4fa7daba50e39d58a8d515d7e760d40a31c50ea0a8e22865b5b49c96fd1a77e5be3f2c6c8b0a07d557101a43b59938b3de8267297e4c366fc2df039cec5c61f00a84dae999125db5c7c0474a0bd53366c204c0a90b531b7e68413702d0a7a6a31989acacb94087b0810559501db56bb5df584b40d6e7774dd6fffa951c2ced2968ad07ea3a1bb71ba6fffc66d07d88765e71edcd80fda3d44c9719077d4e6801a868d7811941f9a30914c5017661a1e7bd70cd0f6e83c833c27af50c6dd1220781c53d71486e51807d2b030552e14c13fa39030a3d6655d3a5bf49bfb96aa6881e44051b184f4d8d631161df88ab5f314ccf5d97e25cdd561031232aabbbd18923363cd8df39aabbd89284701df4971f91dcbcd7a44df4398d46f3e789e62b61c2690a7f55c59ac46e7282c25ff5b16a9e075c03d86c12ee816116c6c4a008e65a46a9ba1ed90bfef5687a3ced23ac1600f68a3fb93e6f6d6bacd1e7b0073613acdde3906c6c6f590156d5bffae0eb5edf934fc69aa77edd7d4e373f0dfbf32c2f44d9a42bcd95f5c5800f5018c41d5d859819531d3dfa9782abf9ecc9a793859caa52806aa625144348bb1756983b4c2af7ada11985bb3ef71a4aabfc85c59d1da2fafc0a084f51201f0dd5e8157f6e28ccaa6bf2872155c35d8ebe64fceaafa501f7c28a0d8f4a74d73505799de3f835f5f8dda68411dc978143f874d30d8a1a37053c3e965b690656e46e51dbaadcd64a518583c4b0c4997c75481753cda8e9aa11fb85496e4ec36e0b7ffe6722a8fe322153a0a93a900407c11ab89fbc46752f73fdcdbd733a4058f3cefa801990438afc5510fba6b4d95e1b48b2eb41b14f9de648af3bb06866cd13127dcf7bd5cd45e3ef27d00e9d4de33c66dcb3ea4522f1f02686c455ab9800dc6c7ead158f59fc5608ac4d999f4112b2f8559bf18aa76b265177a7cbfffc0afe4ece33f97c08a34e1ba6c01edfeddd01467a9f2957d5d8ea881b44309ebf6769b05f2e933e73c012e6a56ecd2e163048dfaa592b1bf2d4445879d769416f9680770f3f7d0abdcf053b08d5ab1949fdfa589179d76be27f053a320749db4c73943f09af48df9835a6b13b559dbdbb3e74cef9faadd7c9e25040872730f8e10d95d7cb87e3cdb053e3cc2f0e79e600258af58950282409f7954befd3acbe73327def7de54aeb998fbeabb527793ec726d450e5234bd95b30fc0af9f8eb39e7c3eb1ded06d98a7b5a85ecb8bf7d40e39d3959daa910b87ab9de3ebf0d96a47035e47d3ab2aacdf3d3f7d841b5844efc33ad8d91a35c5813fcdf17d41a68e02111b500a1ae934b394e0896bbcf7f824ce13ee8ea294aaa4ae95a1308a3346b5066a72ba373d850a8a8d97cb6cba8b6400e1af3b95df672907be1abac742adf51e14bdd86e4f08cfd4c9ce471693126cbac40e5eed8d2999af290b810bafb3937d756eac7a511c9cf934b9b8dd42ce782b29a7be49c6d250a68e4e1f82c34d8e099a5c0bab801d576f083327dc15d90ba3b7f51d9ffb38439d257a78860e4f1a632fbfa3a63e2e0f9ec46d5febdfd95dc051ef87dc9647e83a1c3b201dc5ae8802b5bc018f9e6d0cb427f65abd8968cf636bed555330554ab97a1653a30b2b5dce2519e54c288875bf36ac98683e95ef0aac1cd7ce05ed12d2dd839577282b1626235458326d5928d40d5fca4b817063e54693e1564a71e58fab4d004bf926e9cabd2bf1879e61255771bad30a977f5ae9ea4446f5ca920a7416fb97e834228d32b23a2de794fff8c2a1299cf2dd31b8e17db5982d0793ea839879699fe0e921b80a8e704a426d4821911e17e27048a80f3ccb6e67132fb37545bc28c140436181ff5287405521dcb4490170bf60ec5a0d6cc05f62c97ba2553fe98399ecfdc5c876d86ef20c0cb92e0de974a1c4e9ee05faa5beb08aab85cf1b4aa392e74f603540b6dbead87ccfb170652d6323331be1cbf3652da258e7a49b81fab805ff270ec063e8aca0358258020393e9f22bc791979883d3e8fc49a4d622c6304ea190b9955305e55a503f93c814db62dd34e23995e9cd22aa00b32cd44305b4e0cf0aa00f5fb00463fb736a0e6bd31ced5e18a1b4be9de111cff73d67373508e4e9d56ec3fbe5c84fb56fb9f04112209d97bef2da59432a524035b098e09a009403594c2415591dfe3ca2839951cf24d6fb2dd65e4cae91394a6bf8cf4090ae910903ec16b0dee914bb9748f313ebc3d6ecc11bb2188f0ef138cfe43f409c2e813bd1750850f212d6ddf32a6870fe3d432dbc38fd132262393cd44c5e49f675de93215a5ac9e70ef9aa84c9c3cd227be27d813d7f4ce99984ca637e158fe692d5d4a97940b10179c187fc499fcd36a4c5c522e41a656134ddc669d63791713131616936779aad5b098984cde2be7dbfed1ba0479d8c456e0db476e7b2b72fa04254f9fa0917b23c618bf867b34458ee525c7011eae7cd267ab3efd48f5495e4c8afafca53b81cc49dd903178a713fca83140c6e0bdc0d750a0dd7058e3cad787da8d184f2728a44f314a9c07033f5aede6c1b44c39b1f1d17712494fcbb0d82e3ee9e18f388cb51b273d7d82a56792ec81dcc98d9cc9f4d2ca1e93525de13cd532f3430f5ff61c6919938526261fb51a93954aa55a8556248b1559ada2a9036cb25811924aa5528d48a3972b95c722ae4aa9c18a54ffa81a9148243922915ebaab5c8e463609f92412c94d9ed49146ab22aac68ad42e0439aa11a9f300d0ca825f48b203aaa29a0ef885243a0811818a21a854aef1dc1863a46208f184e599af1bbe7ce4b44c84180bc5f949e264112c46d328926229d668459418238a554ba491979c8bd62b1759b85264f9f82ccff9b8a9b7982693c97499be4d96f4ce62fd926c1ca5a9fc053ead75a356533d8ad548262ec637996234d54413179fc4d51847dcc93b572a3dcbb7fc2895bea5f497565362198d9ca340204ecb444babf19c96f9d1c3772b5a4648cbb84ecbc451749c963159184f3e722c981455eaf40912e953b4a6c7a4a826251cc7f424c7b949989ef498731ce0e18e38be51cb815dd3bfe0b41b7f81cf0387499bc59c4effdb562b1d3d264555515aebb6fd9f4ea5ef62e0e8e3cfa798f46a64b23f2d7372e1aac49dd8d467e49a3e337126a15e71295d28054faee906e9a3952af93f2d837221cb9f70ef6e287785933a445ae67a58a46548b6a32c2c2fb51a961f91dc7df49223b9bb77f4e79b72f4b52e9b3e5db3fe7593fdc6177b1987927db49dca8b3eb27cca47dbb93022fb2d097ff93eb2de57b28fa597ef5ce94d4c9ea663f4d1aa903ebe93def4f24d38d39bdedfe44df2ddf45ae446a58fa48fdce8fd06dfe19a462a244b04dfe19afce3c8bfc475a622589ef450c3c197e55dfee831e74aee5c89e5e597acc90d555ab749b03cc926b1f2ce45ae932c76b4a2c3cab1629f8a6dc2dd76cf421736fbb86d99c74c7e3465997cffb8657f92656ea1c976275944c9fe4474926595f431fb93c732ee3ae12ea7a26627445c3ebe46d7c779a452094b9191654a94b6fe248d465fc34b3a2c52b52e7063b291eb5c965efbc8754a388e8944b249f88f46fe237737f9513c418df1ddfd4d5efad09b465d0856b79b5f1abdc9cfae0789e35bab15e2ba0fecdcf91ad73d91e4cebf6cae9b0bc36209b0c0c1b52cc7b996a62396008b1b5ccb9a2a21540bfe2c72d938cebd6c1c154af90b7c4a6bddb6ff59047ee466f6733d3a903ec1c754f07e54b50ba52efcd04ecb5cd1329dff08a55a4602c169991c21219d90aa6554e2bf509196e1de0ff9ea4f4aeff0f11501ea740902e7c426f6d89c7462b38e2469d6d19c7392b811576b5c824ccd089720a4d1c31fbdf5f5e7687eacf5e5632e299720b506725639e771237d72ef9101cea3013979dd0acf71215cfdd1639956338a10c6185c7e117ff6987b0cb8be1e83278345cf7194e340ae9ba3c0c58aa9d5b80481ec12c405c7d26a26944175c1710d56bed6803d14466bcb64308748349fda4e83cc53f4acc17f1742233abe5df6a1bfb80e623fbfa58a39e5632d372d55788e0b719dd7a7ebe393461c16a46afd19ecc7e65f5cd702e4f65bf3a556d352c5bc7977d64c783bca368b416d49c1a7f14b20600f46bb7f7f3c226fe48f96e9691994872725520d6553ba8dfb6819faf0f92377a1d8d8138fd82e6e71e19b6c1713975c08a3920b61d4e2c217c52c2e7c2d22b9104edbd599200825d75a4dcd755dffd1e2a635632c31a4434aa3a12ffddc7e0c5a9665c9875c12d02d6b5a6e93a0f325a4f1c29713c204c4875fa3f92feb2f1ea9ac4b104dc7c58f6937420f2974c8591cec13b52afecf539efcf990939a10d78484bcab3d9e88c20917204c5d32fa4f44a94b8aba5811453689188469e05b4660b6ebaed97a6bc96deca1955995ec6dd794d29f16849d0b8e7643837f69932d4bbb413f09cb52cd88ecd2aee4c3b2947fcae8d293651994963fc2fa22082f25a033ac48ac25219beb4b3e2a9291cae676e8b39748a6ca62a1d711caac8a76ad7cdccee9ac5302fe15fa2444d96ba16b653be812a403d7bba4a456736194524ab1cb2508d3f0a5df2b17fa9066add55088e476c725407dfac911e23a9c13b99e037b5896257b5ce81f39cd4b2246a182f7b71db260827b7c8ff1adb710fad38bfed400916b59d7edc342a52f6daced983201abc05ef5fa64aad7920e9e203ad457fbe5084fc6f2384a3e1af372fbd8cbcf2f85f0645e9ef4d1a8987e619bd7bd5c26b212d263c5651e2097e58fcbf1e53f07d09f168a1f40119fca9cfbde01f3e9530b85fc699f8db69dc4b9ef65ca5150d09fff5e461f955a956965e462fc855dc5ef45f87d4749a35afc0a24977f2eb3af2ebbcf65769ecb0f9df9a5fce9800885fcd8e3086965b492c75fe44f44438b61bae04497940b9068b9e04cdbcd7795eabaac4fcb9f5d82b8047109f203e580d19f7f02f991fe7c1ed45f78481b2ddf01de68dada0dafaedd80263aa0000550bb11af77f7b851bb21af3f26a3fce63bdca71901addfb4c54e50f9bd9d062e415c80b8a45c82b8a45c70b06e4971671d5fcadf2d372d3f9a76b7a41e6c49753fdbcdb7dede74d8534aa9f659c8663722db65d33601effccc5a9855c26fe47b12571310fa0db754d15285d632d55245cb8f969bf8982889f7b8dbddb51b0e21bc01638c314a29a5bc21af7c4c34e79c734eedc6cc22b75a59d313aaa623632dfadf90363ebdd17b5cd6a255c911dfff865b95f8f2a5ed40b4730ceeeeeeee22d66eb025c274dbf64ad641093f449ccfed94f09b961f2d372b25106949b5a47c803d184572fa7d4b665b527dd2ac663b28a36976eaa81c357a0f699af659a6f9cdcd32db29a17d47310ce3ba961f594b152c2333d273fd394b65ed5caf2d55d0ef408f9b3d461fa6a17693ce47e341f8d4b51afaa1d0f76bda6318b4fe6af9712f0bfee4de956dadb29e4ca0d67521f1b9c1776524d38cdcc717966559fbb8ef35ad6db8505050cd1637f8f273e7f4e9fd0baca3c33d1ccf02dcc66599c7a666279949d3424e2c113211892a09c53eecd3a73b502d4795e11f592e11e0de293e46cadea3e197e9b45c052efc279988ec50754c8f46868107d317783075487282825900899fed92409f8e783e2ee2e0e28d9e65d16173434dc36d9d769192e4612a2b0c862e3c54ebf0186eebf4a9b7d0a18f060776f0783074a8fe2c3cf0f0c26bcccccc70a7ff7f0be31403c7aac630aa755c1e4d9700003ecf67f4805c04f9f8ccc17fb2d071146bd12fcd34bc8527a37f89922e3c18b6ece3dfb18f8b141721e9420910cc50599d3605d5bfa319dbf4a9a74b9710be3b163d7a7477cf2cae53e2015d7fffc965947df4490e95abd37e40b70542a000e30382da63d6027b30ba1dca57afd52d71ad1cf55a2ee38c904bc04ca75445e830c766890bd8446a39ddf17c3a27082b7eb0d92e4e8ebf74bf0d0ecbe08ed086ec9033c78a9c1ca636388ce4b6b41d1fb1c1993da371a7ec6b863c5763e6cecc504aad8b31ce619b2134a8f2f0157d62236d4339e7f691db3ab793c036bcc33b3214bf46339398807194f45966b24ce4e7ca3352f90c1f8c847f82d3a1fbd3f0ecc9c0c79ecefb205ff6bdf86860b08cfe675938a36130cdcb93d14feb0f0fa63b18f1ba3d6571a8fcdd29c6119ce0cbf856f307d8e4b81fdc78f7c1a1f23f8d6d7c40e4f42d930c5cf80f86a4810b2fbeee0728d7ef254a77d8dd30eea0c28fdca9f7237b43f514cf826eae07ddaedeae6f38c8517d731374bb812c69198fb30443bc5aed765d4e2b8899995bb30adf3bb16527fa049ba8613ba37b4031d635dd801aa25fba06f6a881236bd40e7f8111470d2fd42176386a095f6935d663acadc40bf4a99180f196f6d1524d07ed13cb408710c2085dda18db857df2131b2a96c552d560461f750b0417fe7b89fffe89b225966843cdd850fd1fdf3802eba296d55811f9ac918b67826a59a3d17d2ee60e6a3f13ecd66da412f8f19894beb44f50abf2e43f31e9f79853d2d8b10718117c072c0595ffa9fc3c01c3a615de98410e4239fbe10db77ed3d66f84a032a5aeb76cea8e74bc29755ab73fa5aacfeac174cf48e77219ffcd39270f6663048d746acf48470bc2bee4e3574fc9a7ebf57abb92cf767dbb5dc9e7a4e4532af9904a3e239dabc724e8ba4e7d32dd2bd532d85bf0f42278db82afa1d56fad78febaaec72eab1a11a162a43379ba19f3eab941b73f76528bdbefa6d40a5f5820ad6e3f26df254a4a29a5b4d88fbea3f5bb9a24a8ceef240e8653579ee5b16ca765244e8fea9270e2503b4bd573fb339b96c13213138a0b159e2ce8f6673cae62536c475dd813db6d26dbfd8d26b63b653c998d69551066331b3a1f9aaea79cd25ab7ad3b6539968ea356be9ff665bb982ba5942389615f29f6228a7d48c3fec2dec29ec5fa15cb5a9f61d65a3bd62ad2592a9b3b2d8c3e717fec629056980e1e0d0c0b4292240f0608b5933e324986ddced294503b99244992ac5ea93601c6aec9f7de8333c3acd0bf879ba3aac6418ef6a94f5eab8f6ac3e3a8e7d6ce8e4cddfe7959d5478b6ce4ecbd8c1b32b2d68ebfb47545a3eac3f7612352d22ffd18265a72fb31edc6ca1501f569c72989a3362a4a42fdc5e262e544b502e95ab9eaa35fbada8892245122122d6999d0c39b9ac2a99bc54112e93be876afaa23ae6a51b19b7143468f7143ea5f232be2aabf589c75312da317d3328b9b17ab5988e307d35f350e0ea98f7127d08a922ca176d64e92db6fed5c6184a4dd30214133d4aedadcfeebc2875ad49046c4ca85d6da7930d98fea72571b47c1ec462b4d2a23f4cbc29a432ba1f9a2eca69cd8541984cb04df7e3a7fe54ecb9c3fb43547ebd01c30b632497d3ffbe97ba6efe5e34a85e350bf391a8b9c2a388e77bbbbbbbbbb7bb4af4fd7f56fb8061b0bc802b2965c3917116b0bf973fdb080aed4857309b9fd1e59fe482db01af231d76a86d0c7989bed10fdd21fb59a1a3856f1a3ed94f01a44ea103e6fe5237f6019aa7ca931e0d9903ffed21690b4806680e4cf1038da71743416392b951c36739c7b31d66c280ae6bf9e160aebf9a985e2073ca078db9f7e1cf5acca02fa591efcd43e613d5b95f7047fcfef61c377b8ace14d67e579bfe33d9f5ba355de37c157253e0ffafdf2f9aabc87e207f0a1e8a70fc50fa48582aa3cab12ed02fae9f3e8a79607ff7c28a68df1171ad4fe983b60fd587344b0e60bf0526965a5f6895fe942111198e8045454d3a72cd3b2505f9f302b638d08d8277e8f5aa1f84448fb6c64a8048b23b8fe3c4b2b2917da2a854780284570fd397eca759e3f6ded9a1dbc88de0cdf970069146ab76d2b8d8a41df6d27dd1d3e55d19819fd31a7538cf9dd8c9fcb849f538c98664e712162900cd59f525abb12fd576936bf2b1191dd689dc70a959f0978695629d480ab9e04721c609cc5cb8650f91f4ccc5256452a7f3b37436b5306ac2135e9820e92ee76e7c10fcce4be550f8620a59cd30a9e970d09e9a821634e678b1a12c328bb6f15042e90aefb56412843cd442291a8d62000954eee5b0541882963cec8098908283a4e40c94e4e4e4e5050563c2862ba6fc5831adc0d73a1238394b70a821c54ac2daca4dcb752ddb08cee5bf1008807172478b1c940bb6fd50327dc8ddeb7ea81155ca4845a4b82bb0e6070816783f69fac98a793070548d235330fa605b59bf941e2023866e87c1cbc9a79336c139b80dd789733ed3de61e9782991ff7eee378e0d3f731a1073e523c0b2a13cc847b36389b67a8d8439d9681cfb088461d855d1cdb8899564a593c9ecd7fd94b516d68d8d768cc3ed1c346b4e19b69937247a93c847005ba80291005f29456d7a770dabbe0b2df38d1a370a1528dc68e7014fb1c31ad134b00b50d2c7243b0b720765dd64aa05fe04f3b54088b50bb8d59d0027e81af710d2e6419b8c62c783030f560e090eb273744e36eaa0dec33ce87143136b0bfa936ae87327e8c6919cb6a8fcdb62af34bdfc306fccd5126fb03f9d7c3c76131ecfd67f6d73fa13df63d6c748f07be1567faeb6515b5e3183c1434b9f019e7d19817f64316c285950717d21b5cd873a1e979606ff2c77e5a1ed797ec136dd201bed1fba365c0b311218eb3ce8ebf609a6894f217f876eb13943650ddd71285490fd91a13aecc7f7ca434f36916afdf0ee79f617f5d7ea996e828c9d122855dd7e5366d71f221276f6468a3bc69ffa902e6a84cc18cfa95dc7b30b12f73efc1b8fbb342af516987843c7ef4a8313384ccec0204baa4e83333bbe0303377302e7b461fbf375f10b723a575db9eed6d4ab169a94f9ffa078fe563670bd5121d25408cc894fc7173f36844ff4ededcfee8fe53ab8933fa0d2d3e26a594f2a380324a4aa53be4289ceeb22515678c103afc77539b187e2efcab0c8ee35ce7382120015f3a21bd09e5df4fce024828715da0896b09b6d116e0364cd6892012c799c65fa34918cfce8e96da99be82ea7044b224cf0eef489148abb95e44329d502e62078f259c787fc44f91ecbb4705fe51a952a91411965145ef3faa220bb1224832db96cbf9a352d11491999229223b7c7090485acd7c92e984df9334a86f66a438c532fae7a7084552b3d042c97d5f44a37867d2d4a7a4ff14a13f3f457866484ca95462d38964f7c6d9d939393961940db209a96f7e4cb8276ddb4fa77ed85168c548dcb3615222b10947e286bc2c284514923d6a3f161877675da2feb8a33079409ed1847c704e47491b33c49747702461e8b11892eea8f8b0ec88911841748c8636503cfa45ab99f006fdeb8f6819cb3a31b90885f2292befb66b42a67048f84bbf0a67e25e7ccce28ee81311aa758347b41d85d62d0ac742b41ad1b30e55d9504e626e7cd1bbe0388534923a7dca09428d7d82c22b4ccb9c63217dea7a47cfabd2ca64455a21f12cce6121ac53a75623a254147aff905d89b950dba05dd9b8f7e08eea9ab5d7111042774adf9f5a181f9097cfbf29261417aff2ef3113c7365438fb5ee2a7700250c085a4f7127fe32c05504eb8fa6c642d032997c11aaba8fc58c8a4473fb00723428b9919cb989f2df8e013d815b24c3361bc322df4d61d5d4cc4d187594bca88f5a4d7ca29c4b18fef608d8afafac4d7d2b838820cb3979cd0432c5399e01523e993cf2a9493c1017b303a66e6072d5a44cbf0cfcc20f961c60c0f96d1bfcd6019fdf051eb35d67ed4497930cd03e8cc9c890012cb1e21b7194a664018a5156394934a39e97c319e4cfc879a2ea14cfb6e94b19ca196a79cecddb3334a4b6dc9b0a89c949f3a219f8cf853cbd15726c0affca9e9909719b3a0635996614dad6d9399a66935f135ed46dfbef42d6a65d8c3e9dff39c32b385b49af821e8564b8166c4bc1885a1cf5acd6571f37a0f0a919871940536a679c093d1bfe4b692086cd01ea161d6a53204e3ac1dd2f814c6ca146e113b5639393a429a4817c1347d8327a3ff8a2ed23938929313a9ec25fce6a276ceeb1c3c19feae9bb025e17613a17d70bb7bc7ebd38a4eaec261f31738d408e1847375731cca67ea0586ee70ce39bb02d79f3f662586f2703b8c7262d2a253c63929b5e67bdc8bb84763ce88a9d1715ae8a81822fa6a2a70890027372e622258995e3298d552505d6a3537c404c65d52d2c72d4570a18c7434258fc6820863945acdfc86dd314bb4ccf5ef77344afb8744a344493a887e8a5ddcbf13f6331a751a82c2c03ec4f5855d12fb8c6becca51afb4d03a0d71c2b1a3081e392ca53066741c2d43b54cf4331d73c9daa893bff45311571f5349e17b2c97e01d45f489478e27a35f8b938e07d38f43ae329f9f2438704c19fb6a0c09585b9dd138a39452ca4923d3fc9672b50dbff4bf18ffae71b0a5308d7930fd3135ba5b306296c534d3654cfb64fbe813b46d6387ca3474c650964163ea0c8f4d4fdb70dbc4a1c21843636268fc8b69f84a3e6d544296d19915b58bb9dd360c61fbe81f2400d226681b1ba6615f9958212112b7ae9961d615cfc8f57a9aafc433929d688e32d92099944c4c4c4a2693528964e33d2df5c31a6746103188909771e2caed18276806a693d1097c345846190fc40c2a0659e1be6779347155e3a104f031a8007cf75602e002103365f403b16d5a4dfcad351d2fee84b14ef80b0a5e90a358c88a6938064f467f91db446c780671850344e3147514ccbfaf36dec37017d890b86962092047856cbccf29e9a87827938076449ffa5d6835665278f469474a66e33d55c99ea360b696611bef81e01e661bb2c5c438eab271a464d978ef8a36d16a263f1679be001706e0c2970b9f7ba8b8824101f15d95f12f83038283e19e911b7ff2c41d7885b813af58c91476552bb2ab1726594c412c7559244cb41c7f9d0926c59d78054f248544cf880ed1144d08c3a40f9fda9211138d07c691e16f143c14bf66c10fdf35ce85df378f868b87cf5a34aa6f202be1e13b5ed2f11617b68f0b9f8f34aa55fed28ce442ce62c3e2d1f491234d78345050bd3a41d3c367214c8347d34a5846dbe0c2672b1e8d12aa8118c885ff04db84e0d1f80f96f1830e17be138f86c90372818f04112d5cf80d78344ee41d6909a251ae3aa265eac39740cb881e3e8f4723f4f0677403e0e0851f8047e347621e0d0de5ab5ad21e8d2b6119fd307b34e6c30f69353997811ce540fed231ace807db892ef4c134908a470594e2f6b7ca51d187fe3ec234f107cbe84f39721b0601dd485f6c474fb695300d5cb2a49500c0f6d0403f98060201c1954b0a468a08d340254a88dc6eb11db5b6ab4798061e6119fd478e5c987257c2349008f70df756c97dd1412c7d737372b2a1dc4d65157fc4555ca5d8f8e3f63f141844635050904abd2adf555397c445f9d24d79172a291666b3f0c4945a0224e7070e84c3ed379546a4b8030474fb4f4c4475a584b41aad94dc7e941096a98ea854476effa67d1783a44ddc22e528e9a35f9a69a21c2490db58473a4022b7df854684bcd3c6206e08cc6b5354685f0c62d186c0fc29068cf760e833e716226916ad86c255f4699908a3513115c4855d8c0b675c084ba8b8c38f06aa58468fbef3fbd0764abc9e1b9ffac0550c2a92b803554cf39e0cebfb63ca5126b6ab24bb73475045a916532c5a0df62cda8da00733450c8a48b8e823ef65e36a8aeadfc5d58d5930c12a9a0ef9f1e10a22813e2dd26aa8651cef52abc4ebd111b262870d1742f8d3661a783d2c1a8ba643da178d737a8c7362e33d26aa2299f343cbd4017b30ba8c63a93abc1046dfdce13b85a23d753747792adbb68f9bf33c4a6bddb64ef2f8b321538ec294e02cc9c1b6c87eec1cb9291e2b85fd48515f9f603e6a2e43d0ef148d889afc099dd26aea2723be9572547ccf743b2b65bad14ee042eadd21f90d337f6a37de18ae7cd688789994320cc98f2246e8198dfc6745ed248fe46102be5cb756ca0dd5a1901127d3b015a41965a5d86a01a3248fcceb93e491c16d1eed04154a9ec734314b8d8ac0ce986dc4dc670621337ce694c89ea4169c98f6a19ff989f139adbad793bd99ec94fdbb8a64229a03d277badeb504f8cd784618f327dfeb7a18a36c4a8d4e3aff619ca6bb432f69951b527f46bf74ccd4b64d4e2b08f6504e5b86e33b4509bb39888152dc7a1ba0cb4096837c54078a3cd2e608fff45747790e75cd73fe360fe7382afe409ddbfdd0c65191c75ffa234d12694f5df1c01fe8731bae60cfb6d5fa8385fc78d99f48ed0fdf200a30f0f0f0f03009a2b843cc89393127e6bc30d860db6a7dd1e6f6c36209f067db6aed7fdc8515f8f8365650af785217d95f58c6bd8bdb4228fd68ccaf2811bbe51b1354efa79c7a30fd5a095256cc6819074708117ed9720e09aabf886355286a36dcbfe081654525c5c444ab29bd09694331a16c27a66ddb509e4dcf27f63d1894edc4b2894b262492a85691c9480b555129a3d745312b2f4a04da1834e4874d1bf2c3cff7f98385487a933273d75ce42127f9c8bd7ee717f33921258daa28a4652a2acccccc0cdf21c42e2bc3a98c445ecbc6154e6548a7c7e859cf96a2a2227a6902d881c7638969e2d7e8e8aa695d0583cad2b3f8ec357c72eb2a9bcaef50c88093ba115ce54360d4894f48b89d0539398ff479ee6e3133bb4f2a271559d1330cc3300cc33086cf0fb3dc04c49cc86034915d6f4d875fec09a9e58043ea7b85d5b26a46619c2ce8f021b460e586885e64633648bd10df09c67e4184ec45b00783a94fe3e030c138412a0ef49fbe018c93ba78979470528f9039035299cecc0595a1659ce8590b2a672ca84c4566d2a089083a3b7c19c75deccf1c5c0173159599995550990ae6f160b21fd0615441e5087d2b22338bfb44e9037287ced0193a33bdce2951a294936f71922184524eb6f1810258f38349279d544648a78c708a49795208219d534c3aa98cf0864e19e11411ca49658437304628a7a033c229269df4e686ce29269d54467843a78c708af760fc0a862c2195103e98f9334e1aa174e830ca76f82c2bc22960a43c6100638452547e0fc6197633d12e27e9c144f6ebbd903470fde1f5010a63efa0fa4bcf4ee0a3f23fc4813108afee1136c1b1a7f2a426a0724228e5105e6bbcd656368bc41038a447a89dac2b96ea85c18c628e8a30d32214580bd9085b8627b7c71bd4eec7e03eb56b9b568da1cc2dece30d6ac441d5184003694d09651dd11169b214014f9331547f0adf2942772d1a890dfc0f01394a5ad12ffd59c8202da68df7cc1bef9996c48942ceb76214524d9039b204eadedf59e77a4f43eb5715de332295362f6511072dd3320ee3a4de63352b2aff6b33a82859bc41dd341878cf3583ca2d337346381894fddc839d633f913504f6b0e81bee1b193cbf52d378674467aa6f985522cd1ff3e82413f984e6848f90c636363ff8e6266708a79808b38e492936b1448953a24f17307964ce027d42e207ba1d02c78a097c638063480dcde30c4fcac2e99cae75fa06debe7930385929d3aa5b2129b007a37b2b979b7710372326e6cecc0c51a3081cd3d99b409d80ef147fe525c02f849272ef465f71abc1a0f2cf28a19c3e57a2cf951bef5aef10dbb27f570feb62ca99855d7d4330ae44a9cf38571e8d69db6a3a05c62c19c6cc6c2e66705c39e39de88c22ae8c7927fa17f7ef85bec579cc8e0488aeff43c2357fe8f2d178f193f83b6090660fd2ac4e3af98adc328e3da51c9933ad06fef57aa24319f35eb32348658e8756e3764790953fe604b850c7f500bc137c2cc417c7bd17f81607a111d79fe3c7f087eaf52f5a978da989e18658af05a9fc5dcc8c7ec99c5af1331f308b6ab58dbafdb0b8ae652bd74bf1e5a13618359cdf91bb39eab50f0eb8b0871e20e08244042e7c8f96d45a6281d16e393b62725ee8527afb433afb1fc6b361778cdc323d237ca7f9103ee156bcdefcfa1fbc56f09e8de7286bd2b7553a9f8d602d23374381717b106c4517c5c80fc98cca67fabc84a3b87d70c0f51e680f10b86edf095efaac52a9acd3d830562ab3575f8cd3a4d48a30fefd72b9b510d0ab75defc2fcc4bb5627d67b4a58f8665d150e455a835a050ea4ddb51f9d3b138846a32846af2af6ada334377e8ee6e3be70ab3255589986aa44f31efa366c118bae3f23bd7c55cf70ede98a74d20d4e550f9bb99ca5ebcfd2c28f42daa23a8223d4a8877db419b0185b82c08fad450c8664150e5282d35aa56645546faa5df721d5ffb53ab798cc3b031dc071f8d51928bfd3f8671dcc331cf172af646fad46f0cdbb61ae285f88e1ee0bb5ae3bbed7ef736be3b21e0bb98216c70efbddc1adc0184e0de7b09bdff0cfdd4b227b295a328e5e073906f5bad6e297045ef1af7230e5eeec232d68cf89b69391e3e863034fa1add17467145afd5841ecbf875287b8791d9330f1be19eec2dd72cb34abcaf0fbf26812101d2d4522c5a6a454b9d203133b7ddbff88941ac995fbcff0b5b8aa99a2544d56a223f76c2c3b30ef75d03256914ab2084add328e6f1972c5ae6c5c3ef9fd6a2855856a297e86459546a59a74f2a47c11ca8e262667934cb13629e11f3c0243c701d5f1ebe6a35226b155999f990ed620a40e333db3dcd63b6db8230c0479b036dceed7ff1557b0d48cd445acd8be7c730ecb3a0025ce7aebb185dfff7acab7158dcf82fb2a0175c0694752103ca9638aae6fbff475f5ff4a1d73e7b6de5a81a6b65fc7314022c10ff1c65c3c2fc73d4b531fe39aa86fde19fa30e607df8e72821eccb3f3aca9ccb96b07d8e63ce2d7ccea2a10c285b9205b5d817110bd1cf1248709db1f7c7ec0a16a2ed854cccb70554b24a586900a5cb14009369bba694bf74ffc9df93d33d89b9272728f4a2d48bb2d1bbd5bbfdebed6edb75c1b998f15dbd292995bfb44a55f9d706b01d0dc27695c6761b0ddb7d016c77ba2b2c3f63bb98bbf2af57be6a3531565bbda0f267311f00db5101a47ad0528ed2de76d4871fbeda6e8b11b2dd0988d76c2ab3ddccedb4d4ed0c00b6a327dbd59695a33218b6a32ed70a65bbed02725496a23257ca5118016c4767d8ae528b01612b7fe9015898b5a20aaa5c9573e14f025e00090028004031401d85b6a2f465d86e0608dbc5d087b1dd897e0cdbfd0fdaca076df5a2ad7e721ecfeab402c0aa8715e744f193a95c32158c4cd5a2b2b1c9528eb2598acb529fa57230203a02aa18507f0debb155085b69d82ab3abdb48d4aac17fe205e4817b97455b593b4cc014ae9b456ebf0bae9b48bab9e43690db7fc275b44847975840ba16f215462b46eba1152dab9283f4f1491686067a09497b6e88102f85e0788b7ee93fd16a2607c1b681a8997a9066f1a74d9f82ac25415bcc91ed66aaed6244b63bcd546aa66e3f9e1a97103caa107f421fcfbb100e11c2429356432d4c02042689250ee22d5ac6219cab938d43a9201a150486e1f6180e7f80fc68f8709f0b2a47f922e769520050ab07eb72b9301858d69269560b713024fa2aaa2f1e9c1cbf1738dac0f5e75a473c8c482c24931593529d9bbf50b1954c29a6131727281bca86b2b9387191624a5129a9ac98acb090587818f1f0a2be78d173a152e5b416d896ac050606c3e572e9c1ea01001400a7797a912f3e441f7e803fc4f018300d0304103040c0c46c3fa4f4ebfdfcb8760fc1bfb06522ff50313b8c72520bfe63c246a30ae0f970dfdbc7d4aa23171c9542bdc27d5df831dcf708787de34f7768add176db066df73f77581039946d2d3303aaeba8442d585545e9d40c000000f314000028100c074522b1703c9365c9ec0114001086a246745e9c885912c31432c618030c01000000220322349a2408fc4f8c7ba3432bfd030ed409a30db09833620e07b7e5d8c0eb60ec4f113bb66788713c51369be0728130dacae8c1b437dcaef438f0ec1bcede6af95b5fa30d61b33770782cac85188d369d000fa20d3739b1b8d768dbf6eba6bfe7817521d2688329bbcedbedb4b3881bef68b4631aafe95ac8e8179da4a332dbdeeba75911debdf868b3aac98394bb3318df6f4f67a073a4945fe88c97bbb1d50fd3a64ad670939286fdc70648c5007b76a4d21c34e5103aca44b6526d7efb80077d80074c9bad71b66ab00065d4da51f745be667998f69f0e779780e59f92fc39a1b81acd155b764a0fffb9eb0a405864a2efaaecc3325736de9b54ce076bd9799eefcc8614fea4af80f2bdeca8b9d50332a4d441d00b205105c23005595d601c37b4d94c937b2d88fe358f1b4ca29edad947b728d059374aeaa38229cd4f252e39bbc10a19340c70ab6b5f6ceca9d63d21f962fa9869da2ad20c3cff5381ea20e31bfd9af77b32a27320f7958c5dc451078a3f075d87c5f6e8b13756dbbaaa610488741e90dabb27f785fc1c2402e71c6b5129bfd36f224806a0223fdf22da2067ad375445e6fb6ca22d56883440738b65a96b08682b8108a774bafd8aa689236ed991482f8674b16483e419f340ce995b361a3d5de12589e4fa6dc9331a90168b474c86433dabe7a1c8a886b966327dcd5a30a826c9eb2f5267542854cef5ecb9440b72779bf9bb7dd12b1d860012f2438db1b3622621ad69c338087b1342952f88c0a50e0a3a2df5dca8bc76b13ca1e9fb199501d4ac00f7f4550b04753e9c72bb0aed23628e9b0171daa86a0ca6ab2ce74bb65bc5d2baecad85368fe07fdd4546e5f6df69ec8ab772837ea822102595e49a9e9c3a0dc0e3522d1cfbe696dc2e572e78e9e7dcd786d005826a2ae216d881f8a4a17df9d2146ce55708da4be50d1a71c5367627d7632642f81e3febbe59a8fa45553bf5c02b5252bff8455e71fd349e9e951260c2dcebe4683192edcde0b255ca3370e29263bff09da003a55296a75c2e7d9c616edf246b4702d5d5b2ba03afbcf3c8585d8c41db35a91b18cc25a2c517ce223cdcd0f6eb9042506852adc2d3228529050cac64ebf79ce50d2fa7e7e3effd06f7971195df6ccee4deb8a8daca6517c8465c060d4c4f920b060ee4e2b66b712212e60655c0e4012603959eb290800bccb034e7dc55333183dd8256825199c61a97d14dfbc711bc65b0773c2c882cff1f3c4d902cdfc642087a74703ceb5d42449a7c36c812b92945829e5536bbb4ae9d3ba15b501536b92cefe2e8c3ba08a3cb2131aa777834ea3cf3e0b2ecde52cd1a2da4e78e3e1b463c99c4f37e3d6ab48f3e21fdecf72f812156c4bbbefb944f98e5858842afef699599cff2744ca92c45e7de7ffd1047e3ea4b6c93e34c40318d6ddf729d2fc8e13bcb1dd9ffc0beedac54eba2bd1b0bb36a4d63940689036691ed853abbbd113e3dedd815d2c664c0f45aea7dfd21f01a72ec762dbdfbc67fd8926be3a4051b8f6972a183041f06c1e142b638506e482f4e1deddd22edb865cd20180a7cde5923fdc65e4913d6ebfb410b177c5d4db559df3af0f9c2c06c14e1d98a089b1802b84d5c40a4d7091648de4726e0a372023fa9c68936a3f46dc63b90c891ac2a580402077ee65f25891f85311ee0a1656a48ccbba782ac3031cb323658781338fc4437d2268564207784dd4a7a957b71969763eebc59c8043d97012df895c5dc0b80d030ebd4f986a57b6d5be0936f0572aad2e948a096243c24099f6d7e01b2cfa4b25b991f3551426acdc9abd6b1d7890a3e595bbd48567a0415aed127491426b9bbbf26eccf9f00b67b0ebda9f0897714122976afe3b27e7b061740ea8cda8ad92354bc6af9458d7a426ef7eb80fd8e61c59d2e2ea752b50efee5c4228afd9bc968d57d73e5529325363a53e93cfe0c3eea446ea5c4232b5c6ad9718b0c903bf77470fb89155ea445396737b08fbe6be13fceaa3f76245431fdb5c6bcf074ac5e5f2736de9b81adad0f040ce9a14506a24802e05f248306346a8640c600181e7a017c3ab45ec981a4a0b45490c47dd68d8a4f42209461310c6f7eb576ca7a64f745e0c277d44a82bf6e40c383b71f99a4ffd724b2e1adf793f1afff7ac3e4d9fd82c317c5a34c1000452fd165ca38e8f0ca9f5a3f02389d52e58b1f1c9e33a77a65246b78111134857d043f343aec8eeb306b78871595497bb234299799f1d8c207f5551040880080517891fff519520386f19f006bcdcedf8d64370720f789e3e03e6be7adf9d08b071f93844d1381477dbc1e91b23297b3024b5b762e787ec3ec3dd9f353fc57c3338442a43fa787b7f83f0676cef05804de1c8b88fad39e0d21d54789a44781f226bb019fefe3338cd8371b57cfabea18490f74d73bee00cfd11892aba593a58706028ffd2af91460dd110e31ac7ce7d8e13c67aa7cf77a637eb841ad9daaa0580608453e2f7468fc0908e8f30ba9fd1784c7a570a5d71ddef49f9dcb2917ebf3d95a1f49365f8d94c2d2e7efd97695b63ae84f3c98555fa0f8304d50f8cee8a35b66424c22009a595ecc595865b44b3535f813456fb613309d89792f09900e63020a8bda9f25f439b5a5ad9396a08ce21e43fa0f59a4a0cae812422a7bb312bd3afd216d9a3605673aeeb65cf90707b470355763804c9ea4c18b10474fd80804c1426938e16abebaa1d6832be1453a2e7a91aa8e7a3c24fa4adda954fbff47724fef0282f6be8c7012ee739b379a4ee2ca0a09d2192276942619aecb58ad5fe07270f6e86f0b1ddcf54ec7ebfe43219d17e5e16da4be8f2ef6234e0f589b585e49e6e26bae2cd8ae9a3b76fc0ed049ded5797514348add47996f8e4cea99b4390ccc241065b5102b222d9b167851becb01d89814b91ace9ff6c7d2073105803bda657ee5ddd5158873a17685e0719668cfd87ef5bd6aebc7f7069b1de8ae48a21b2cd577cf9d39a92dfd9c9c54ffdf3521f6d58ce7e9e5909df96f06a081e966698cc9fa643bd2dcb25c7822173a89b49e0c02f5ff5839455a4f63dc6b04692549ca234430dee5467fe74ca06373d34c98e17b316a828574b63d42b2e92be6e4d6275b950e919f6076d24b9307d15c0d03bdf7c120a90238292265930a509d401531d7a454645a4efbc5c9f86f71aa4de7508206339f2a78ec6fbad588733e14486da74b0f27476184c160d2e212580d4d0dc46483af6e0fa73435e9261cb8c8e1393f5c87184bbcb9d1d44e0b03f8635508a1984eac1230f0625435e50e03dcccfcb07f14e05be89f27d105ec144e41bc1f223b1c47b38c9d76587cbfe188a5057206bceb65264913e3ffb4358daf0d412d5214f3b6cb66ea25bb65129ad8d2fb4ef67f992c48a2103fb69e3c9808dde3d560829fbca2fb025e9e97130be08a13fd4e26ae930757dfa63b560a6e5eddeecdcbe4d842ebb71fdf391de7c357266b701457606caa02dd51ca58de54fdaacc36d51eb71b30f10b21a16d8fa81d0f3216281c7cccb77a12dc39e0f8def8b8c39198054f5c38568a1b265769d1dd9280e0122a8b2e94f75288ef42f84675b66399861294cea1de5d735104c33db45e7ebe920a4c06c518d720d09ef675e04b2f122f2c058d889a0eb512898f5d76be7143900a19de4faba8f994759b3368bb459ded9c98d306b72c997c0e96fd87e9b9ffec3b518a84bca3f58230662078d077630bdc279b1723b082b4a453ad498a8c9db429c548cd58860bb87801fc10f88eecfb0ce302c01526f01780998f6252e042b00b23366384860996a7b5b8772f956066c41c83b2428ba42f4406dc1412faae4ec4ad4d681313954d091671a4e72bf3a8761ca8f7eb09fc83625735087c1b1e75224f58637b12b2fe6b6f40cbb7ed79ce7d1315c2922ae2e301bfec360d6bd5e39e68368f733d88ce19187e82b16874f2b4a4ec9db752a1ddc3cf36a6880fa05f227145b487ad8cbee732bc1460b7f437b9e0dbd9b08d42f2f3745b6b5fa8175912d4dd953485e6e60fca57598714d402ca0581df7dbf64dde7d29fd9667ac5f05f9a0fbbed395b24c13ac45a10058118e0f2bb573255b01eab3a72e9c37992a9f2f2037f6e9027f418397383e3f7b71a0008723ce3e8309270f21531292f301b4e762d71c1d988414ce69a7bb9146b192c301493c83e4b9494fc0d9591dc48d63b634bb429dd084b09aef21ed72f626c52c8c55bc48cc04061c6580e9a39fc8525b0a90d530831c9501740bd9d272ec6bd9259b19a762379d93a28afc3a5086e911c35e0ffa57fa8cae64677fde8b8b22a382b37d09c09e7591aca977806e219b367ddd4b0230c7332c7fa6b636866e01ecb92c390e4f4c6acf9d3ea1f86b1966b054d6bb6348c3af3fc31e3ff1c58202d655f581eacee2cb41ccf5e01c486ccc8855750db300cb8c3c67c4dbbbe9a252cd8ff1a8cd68b646cc6b2edb205e8ea35cd03385cb84979329f67745e147026841e2041e80ee9bb974224f481fedbe197710927dddce99f9a7c0ec7cd795a1def28668cc3e2352e16f8406b7c0c2e55e08a6217a0265e4cc06c5a4ec90760e3e082e11df4e196c6e2c573180f1fb98645b393f6190a4aec11951d47a5ec0515a74e27b258b947b987abbcb170cfcf61cf649c1549cecb16e70d9b27316ac53fa18d864d1471f14f34d56404f9dbcd39c3207f51cb57048d863513aa67a3f73b85e1dfcaa0032e8b2ab2f98da2d2e8e92938d0798457d2308dbf282e1d0746527af9e9de97485df890288824bb9543e19f95d926a7ad15b5bb4ddb4396d61363800792ba14b83b9e0122974af6e910f7b8783bf3c08dbaa7484e367edf1d042560c8c0c7356c58ab2e8ae45ecb2e3b2da42219881bfc56268607e14ae5329ddfa9c5eb7f193b79a3d40f14a00f39790eafacd94802f45386b72dbc765ae61ffb5930ce8e03116c4fedf6d96176d3d865e29329c2b670f162fd6e281f835abd64a874a3e9fc9f73e13eb2e0e7b80b87f30223654b67c3f734a788314bca22bab466452da9f6784e8547b824975916a680bb3d619bba5a9b05ab0fc288b090dd80c6c6b333f3f7750d471a03fd5dfe57c91130d6ad3158629527e19f4c4031df7a058fbb3960b3437c230b296d1eec36261c01711c902104d2e6b7d53a89ceba07eda0487c85c0e62b542137cb8b61878c17b523e0c8e2dae7450fc4c4b3d3d0cadaea2266b80f3f19d1d07549ae399138c223dc39179efc231f6b30c99a2df399a75bd468dace11f911cdec9aacb4b8613864df44d6b861d026d46bd6cff2856928cea14b200d9c0dba19bea707bc62b4bea9b51f2a9806cfcc37b981fa4229fe8107fb322a2b7a25799a869f485f8e9c718b4a85fa5d7d8022a3080bc1a777a18a2612dfd232edcf806d146d8648821c4d24d51974f607c9206bc4cf5eeeedba6c8a5b172e3aa47861a9a1d72ce40aa87bc40141bfbca097e5c8087bdc32b5cb97072efa7859dbd00c9a10061fa4fc09b2e74ed2bfc8d8cacb7db43b6ececfe8715a2a3e1e0dea7334f4b75d10c5b75d0b2453866f96436ef5448b4f66ce964711760deae37e0445713706a152e9fb9ddda0c5f85e96f118f5e7b2d0447555967a0cb8a9739394f50aef07acdc9ebca2439e6924ed3eea413b75a5699740f8680c470fd4ab98b2f099c6ca71e11266919c4215801c71a61293d367ad87726a495512f8d87f28cf12bf54fcd4098135b0c8d4c79e7c46ba5fd0851a8ba0e5984012da41248cb968eeafab18aee8b8d6961d1155d408182640e83ee7744ef3e489e50a378bd96a641eb6fedfc1db187e52836056d9f1690ad7b8dd2bebedf1fa6a7ffa3422a1a6487089dfa69396d3906da7d4719728b47b42c502a68d8baead8e037b2569db6a940bbd2a42c5e471906b128776b1293780f799daf81548d5b1f7a53133ba59db697d1b1fbdd98e5e0b42e90a3d260516762bcc0ddd6ee60c00c0c88048aab3bce622ca8f5948a624707cf580d00286397135852f15262d36c8af740cca111b1244635f14688e9bdf4ae0d3a614d3e80aa83017de1c9fd125606eaefdea57cddda384222965f15199a1c064d4d7b553be47912087d31147a901891c989db02315f09f190034addee3348b4ecf318c116574cb21d833af007c73ed04e0dd6d51548c5d18ca511a8ceb0937d5cbf3160ca494a7fc09a1b47bd94d70a895a6f8c5d5951dfb2cfe2b56aa99263069df0d265ee50b934227a10e8fef1c8670e854c24ce20022e1e33e20716d5e82bd1d51d611f56e0d47f56b270531358ea1752b43a4f7d86e720f3998259bda7897d3b2b54f43d4bbed12af155ce9d76073cad37a2936f428244a53cc379111cabf6a8e7aac5cbe15dd616083c9f3dfe4d2e89bf7bd91cc388326f2663ca822384bb5a76019378594dc0538d5a43724c92519e7456420f1e91ceffc6c7c936aafd9890f1d070ca154309ce9e0350406bfcb7536c323f1f4e05e193651e81d942f8675f03eaca3b127708e75ee8b5b38d5863c53f99eac67e5b660fb72672b2c2658dcb3247e47989d8d32eaef48a36d02bd538c076b2ea8400a78ec95501cbe0d46672dc6951eb3f13d625d5a5eab2253499b640aab861d47ec214b0d33fbf9063755802958c6f0dc76da06f0d3bb998b57f3758b718464d43ac69f89a9ed72092a63b2e2484b6f029a7c4e7273b484591d3e03b8f3a56782498a7ac5c9ab1093d7834a99f397409a3fc5fc2eb531a3d9daec85cf9fce2fb413338ac78d4b6ff8dbe303970ea6cba91092a15637e32e826ec1be2b390eb02bc8da7035fa01ed919475f347376addb60db352d923a9a338a2d22146a98c4662b96d545bae41c49f8963b4445c3644166ac69dec576f558989683e2761f9c3e3b7aba5ca5b89540a85b1af87c1880944c5b6be527a4c40f8a9ad5b0c0f97d8080ab080646ff0e03b6865b80df24e3a1a62f7b163db800b3b15187f357835be632c9db7aadce71db0de9896227ffa22512c21348102936cf41a63f0f91714b4ce1877e3c248d3ce8e2c9fc1b8d408353940d70210c6918c1dbbd39419a61153a749def337fae64c908489d523b2b0eeda8cdc011f456f445ecbd8a2390272460d203196acc69c0552b8849284fda750032fa3581d65b70eb65189e48ef8a7687d390fe3b32ae49e5e36856ce1f2043e8c1dd588332d95cc3c792cac1fac3189c5795e32ebc22c87ad1b03b775dc893213b8a0757c99394fc90791640d6b0c1158d3ece11ce82ba006f7461c607da7d249d691d9ba3c0514b2da5138ad2c5dc324b141f7a85186ded5ee409d6ec101077355888ca210d939f5d8bfa04641ee691867680a477e18340cc1459743b888f6135b2eeac4dec6f268be501f3a0cc2abb983a4f47c226ac8db8a5c099026961646d5bd73b7c18e5528df9009a55e945767dd356454c244a60f03cab4f7ccc6ec7f449c9c8e8c5969f908b0afe95005c593184df66ace7ebffecbb1bc32cac4321fb6b2261bdb517f3551bebe4d7dc14ead2fe73d52adbe1540d506465117ba9799a842e1e334be59c5b7f73165b1f2364465c66966cc5b2c3d8ce1ca84733f742a55b3475daf4600987cd326e63c17d4643f2d0b8e2710060cce68c7f226405955b1838b8d5812020ef042e6121d32f1c07be3f06cb682907552177075e745a7837b30c03a8c42317327e8e9200f7cb0deda4f30dd274f9362896d25471be337fd723e4a80339025a2ef9ff98ff789e17fbb4f8952046fdb119a2facae1f509a0e89795ce9751b3def112a77e49c11f594d2039d0312070d26876c4a9b1c326863352c3328c80b18a53cc1d563c3954a541a13e1727b49a632c42e4eec12ad92802cd8dcb040b9f7dbd96a0c9f6cbc663753845a0b85b49320ec599d1060cc85da6851b29dd1f4718ade8f392420a70e2104c6dbd0c1e314bc2b70c128e1a13892973cda44e9281ce1014c5f92b7db0f97e3523bd8c2a05c343ce83c45aff238366d727bd0e4ee7f42ac166672b79d5b069417ddf1f1dc0e0aac3dbdb64e3009b8cbaea2dad9f89a0b531a2a66cc8ad47c1c290d59b216c3c36eee192538840a30c2e62240b0054fd0bc2f15889e2e21ee7f8f1f9f758cf9944bec6443360a8fa38d13ebac915ce3d6e235f6e0d337d8d4f81e7d0ec53ffb36eb91aec989f557017c02be26a82e85589e3888967d0b5a6f344e7b1dd28857047dc96139f480ddac49d9ff7f93b9bc86cfec1d002069710300ad3f3c8f5823de07b024eadf1ba1d07631d49648200d08d4d43c32e5874003b11e73ead13ecba6e714cdc8fe825d507b62279c5159195e68c6ffbb33148e996a81447ae2a317c365ce20115169fbf3fe88bffb9888db3403b849374e12d9800db268279b7c1564500cce38f3b1431d99262f886aff8113c1dd20ce2235a8d2665c8fc9b24c15194051c680406a367a7fc5f8ac2e80b78d138f15e0908614ca17040701c11be08c334d8f259dfb56144f121c00345a5989ba58e89a3b2d2b4148d7d44cb29f75a75a724f4e1e64049dc7d0c369f6916ee3ec2c37a6cb90cb4a9746aaba20a38a7da5c943f295aca77586a6d89da8d2812f5416d5ddaa916684aebaf0331df97c6d3c8817d9f9c69bc92dd369d116178a3c113c69cc5264671a7b07e04663d3a0bcb19c766b2f22aa5ec1272a7748b58976f833230b2be6e4fa1dc673fdc51a1b220173af359fa5423e24ad9059d0b6d997803af712027b89797d8002f6dc4b4529519bf83040b1488c7cd157cef0b134303f700c9e82ef0922603a62189d74303c131ab4956018d57847c5ffba1e6843583a7db0a8baa73328c1b014f560a531f5bda46ae26620e80b9ef50af417934942c5b4782c47f0f689a7e91eaf6623a8206a831dcce71f4bec40b2a81eceef0db0f7c4b9058e219934ae11cde2806164a173d5fa45ee012fa6d15a8b740c5c23f4560942c9ed59162f29376f971196a355e6a3f5df126e61166a752dc012059f0a67c4c839f2dea8086a89a1d0471b7295d6b3d4e569a97c4c88e68a6341acbcd6cdd82d6253fd87f1ae47170600cddda932201ec94d7ab6c0797fd0f292eed12f525e3eb2102f1fe231c06c52bf410a333a140c23f597be43a4c7c6a4c22f92715d7ee2e06a10e9d78b9b0eb3e88bd80e7392cc91524e62442585aad66aee13e0adbc5f164bf565308b7c594c217d9987f9809d569b6de4d0a48ad7f810e78fe9a8b60b3f39c5f67e117e7b6d279c000d47e8efe8de03eac4c6d7ffb054dd1061885e24dafc0a07cb954e351fbdb62cc0ce73d152c5a7af9d45a0b3dc5450dd06006585a9621cc935b9edb17ec0e3084523e004eab22ce68037d66a4772c839f50a51054ff5faaa9acec14f011ab63a42c06f978467b11948c73656855fbf2d64f033e8d455e1eb6f8314f80c3dbdaab8dadb21823e434baf1aa77e5b88e0384fdeab2edf8bd6c45633144a9c22ebdb4b0f830608c3e0cb0a03634a9898726989b1513aa2805ca854e3d36acb02d019372dd57cf4da58063bc74d4b35bfa6369680ceb852a9c2720276336c660399c1032c85d9fd991040d7397e6c68600f9d3c830ff0b87842c2cf776c498e34bf014ddb4cf5fe81eacc92de560a10200ed5b11960d11a50fb68fca19d236526eedfdfacd101b9a49d8876709e7b39751ab8169467ef7153d145c59e1977a548457b95256c9a727d06fc3dd112715f009caa34850c4b93b8763b4835afd7cf04a6decd42122c7b87fe864f0d1acd28231630b36f48d7501592d7f02c042b989d1ec00ac24474a58d2d4a8b086205bd04071cecaf8a95afbab4dc7a1546904b246210befab4316d0f11faadda2a8286b60261da8a8bb700d474378ec00c856b90d3655c00baff5cb0c38ece09e08c63bad4d4029980909ed0617aeaad503d5440a31064f7d573b8bc75a9f59fb5adb6d0ed28c5002a2e6f216474f0322e57e6286cf38498f579a4bacc2d98f9e9b603c0df83bbc6365c53c46ce2cc1c2be7fd763dcf65e1aa28dd569511c9019d0006547afae1992a726caec9df96fb79571ff376e85dbc06ef2d93a81f85663d416fd70b3609946fa583fd14bad874f0f8c28e05873878b0d3be312992077c1651d78161e44b68f224d8cbafdfe66e7c67297b8671b358a30e78104f556952eef8c8d8ddb7f5f795ffd819ddff14b528f88cd2d813c71c8d6a7dca0c01651de1137cabe4d630aaa0bff8a4a0da637de7ca346f6f28f4914e65b8c6eaa8303086359c7474d305f59950dec9c696ef98ce1911ef30cde0616cbeeda3d4c96b0c6bde72d211c7a0206b50d3cc3058c77315a6cc45069391e348bc33cbbcf289b143b9816e293c9d2d3dfbb0c432791c078f388ab5ee17bc84ddc53b02c5de5dd3eadece1d745c156e94adcaddc62ad156661a180a79a43647a4ad852c80a74eccd02d0d0e44dbbf41c8a73ac405f6725d18467578d0dc9dd3376589f7719bdf2bf8ed6ffd2e2029153c43b59d4f765dac16040775e432c42278f0019322770058d682295ea8c2a204ef1783a9755a4e3a471ad1aa2f6f5a443954dcfec2bf1facdbe7599c028810ca6f858aa5a83dad2b55fdcaae3264986f13149ac15ce7344109b71d320732fc29a7fa67123a931054d9dfc9bf10904eca42fb0102ab8f76843c18a9cd0abb62648bdd7b4c06a6cb0e1a8a2f045071001cba5ddb580a14b8d2fbf9fd84e8ce36520245163680ec2162cf8940879372725881d7d77776a4bdfb507842662e962e25b103a41e9efca5bb6776d71649d37019cd1476b21551e778c5df02a90f207afb139e73bb7a122e9d9e452e61622803ee553b20e3c81230b330fea536512e7befd88fc1c3437ab7bdbb805d7b557bef56c1f1cf3438756ca6e95e8f283c7499c1bcc1b739bef75636ed9a3737c86bba66364d0362c359c53456dd1490a53c3df51841fa56420f7a15165bf0704fbb6377bd31cc11fa1075c0eb0db756bfce8ee27b3d2827e50c9309d3f82639c60a6c4d97b73cf47ee01576664ff499f33d5244ca51ccbc5737b929d9d31dfd7b491e07e5c9c6fb53a941ffbe4fd4569ef3647a529a7059d550e9e146466c62c6193dd89e0932ffb8d0a38d109a9440b40d12ea18cf0550a2b691f27213039da040a2fffc6cd53d11986e88e4f67d07b316016ffd268711ade546eadcd857e9731f3b90d2af604761c330263275ebd0e2e954c88ee8d78c23d314cda12ec7478555a7ee2e454a25ab7ba19ba80da0822237adabd392e1f4b3bee8bcb1e71a3c26f3b97850360cd3ddfb2c1c856e01760100ae420712f1420753b92b3a01732bcbd2fa93e17e6c3674d5a6163d66ba57a7fa6bd11d0d4ae7f4046f2145beff286a20a05ffd456e1cfe1c623f08cb45756d2d4cc9a2933736ff828a23476af5e69b40093c8332187617579363105e4a400a94a26c411885826443d85e3d5b7fec5d0b9dc821a57dab3541ecb178b92388fa7118726d5c72062d86dcff1eece47a92152e7fb03c951f46de394a3ddea1a72c93f5805450ccd5215c6748e9354f0cbc8b31570e2c3c0304541b0ad6964e21a38b8f1e76fc3b30b5f3e076124ee98225eda8aaea0b7b4335bebd70815afdbf31ba814b61448548670b6d5c32bbacc88217ced26ae79fca02092e3836a2bca104b89b7a2aff3b26ed9d77ec38890ac071b1d18dc08d0500862bb1ca30cdcee7024900d77396fed698f98a2e37eed2d66a65c9e6082d7e48aae05dae0cb78c74343f583fb91363953c237280aa6d691fd8a60c229ac0be7faf1ece2087171e5239eaf4c0819727d74a12ee7f65a1efe4c6a310231fbf152f981ea5fbc43c240b9045ed5f37842217b7c8a3bd9e7680b681bc1d60ee0f124f65c79eb029fc8f955baa9cb785c3985c20b13be53d1d75b0cd18b13395729bfa980b67508dcf69677edeb76801a5bdc85b62138734cbe71f1731c211e90fab0ee648058ee262cacbff58616b2280302a97be8ba376a718c5acf8600a9d4291a0eca30c185856571ac568a59e8e9e8c1468a02e0f8deef1a8ab021454e0cb158d76e058ec01e9745869681a5fb07d7ae160ae22815f840b90e70e46e64a9c764f170a9da089c061c90b51e19ac9615c898b3c9ea8c2e2bc90892bb26d121c41fc4a2abca374e80368d798aafe47d9f681f80224a7c2fa0cc7f674ea1a3fa6529493ebff74803d0a1a3db59c8d916432937da98be9664d0915b07e52496a18d6e89c72fee9749fa8b1e095e792d629485d7260f5428ffd3f67a5239ced9748c47ce25ad795faff0b42dcaea299d33e79856ebd9fb5af67a6873b81956d3208ecbc42515bc686b85e18c3766d756b4b9874c698fd14282f1b17a0b2903dad4ead6182dc05413fe6342366840100a299426a3ad107546189c167d316c810c28f800084359a608ac42b85ba135d5df6024110e7486f9abbfc7e2e006357a46c4c47c6ad9c2d017bea63aeada2bb3bde255b140e7a82de9ba73d4b9176df2b9ef6b419ffc4286010d5488d324c512102e07cb6880bc0b66370cb7670a722a027625b510c570634fe2d7e7b555e1dd14ccf26d5ac7a23a328eacb8480a49979943aaa27f063228a54815991ea4750058bdb0a9cb2020d7214a4f5c40bbc6b9508ff49bc001649bb29638b2c3593870723702331e8a256bc583d54950de22afd58229a0f4a4b37921f0da2fccea329d1063068b76cffde1e0c60d57f8e2edd5239920a0ebde7e38d4902d4bcb2044f5e039cc786a8c018073b2bb47e025159ecf547d70e8921721607b7027875f5b02626e6dcf24c469b6e8ece7f3cb81e00225469914c1807e9a95deaa15a1ff9658dba0abf20f5abb26d291df56b57257ff03366029206c0da7fb20619e9abccc0d41e2abc1fb55772274b808a5d02067ac2495ec11b924c02a5c43a34b4dfbc09d5c5e4cd6ee0c785eccbc902f0b7096c084f117313e68302af9f6c8e3e9f073bbfb8e2225092566310626589bf85da896c7c93f02f099af0e81a2d1cfad82d501fef16466a331ef38dfa2b8599d598e6c88f8a3188314746abc3a089460ca1166605740858e86015997518a6bb7040365f12189a0f68dae3c44a0339d66a69ab91862617a6f934b535bcbcbaa2f50e38fe8699344bb59e8ad533c01428df26f5fab0a4a2120d540df2bae2b1d366c9e786fcf9593f0ee0aaf5e7d56bebb0a3b1e105d613c3a5e5112807796b8b6e1bebe8c2061fdd84cf4af325d95bf571c5f81af06a493608fc1eb8ee3b48816f0a288d4c6b6458ed1254d02f9c8a5e460607acfbe1c3c474f5708f54d75b0f612be63e66954a4d1d1fe2a052e8e384ca45b9103fa48e47794ed971c23e92f1ce6a3f429a6bc44af090a34d522500483c01740466913aa960026333f801d89f3bbe4da9f3d68c0b1d0cab0922480da0e806a5c33237aacf5374a03edc4d38e691cfd337ed86bb98c2c0f3fccde39f5eb201f60c27a481de176e83dca2a1e91206bbd08e088e048454cc587d413722921b067992dc77db3170ddf1086c80b1e7eb4b74cf08adc4c49b25d43be53e62ae4b34a4b30c5de14fcceb07efc67d4404317a41663bee999b246c571829d5b18ca17123e8775f43860999f949f875c4763cf490797902d8e4114adf5565c9700ed50f3847ccbdfbb02e46ebae35a2c7122372193bd8c8436ae5cb89648568a4e9c9ee5b899a8568a6ad748801165e8300289c131a794edec1246ecb1edfb114f1cb823ecd5892572ecdfe088c016a62174441c9d024abfe248980830e324ed1d09e6a9e4f750a28d1390806e33a2bc9a2c30f299fa14e15e14eb3061055e1f9aba2a3cfc6b26ac89f6ff264393f87c4dddabcf8f6708ad6134c8bdd66368777b1521052af0b0038cdbcc4738c31250e6f8ed6083187ba379c71c0d6def314cf4338a9a13aac29b0cfc932cb5bc5afc2b40336ea7d326ae5fa0f8a04a3fb944600e150a93474f5df04238468300c6f9c4f3b7a066f6d206f26bbee07d9b24e885ff3b444732403be421eededa0e8319970010f5f73043f34e0334ec44ff0fb01b0b62aa04af0b0783f1cc7d9ca282911f683c900eb8370378d992e0e4c535435a0fd264ae1a58d509295483043901d3f06f27b672d6408df95c7cc90d35363c33247fdf4f8abf1b847327c86790026dabed77979a46805fa7144dc4ac563fe9a2675a491776c1e4a12e36b11fa95e43de29959ac899d766b0ece0dde4b812f8187af27edd76cf0751553ba27779abce450a85a48a69f98f463f28203995d907c964a797af89d68cc80b32f578544922b8df24e6e35fe26b6ce843f79541d31fd9912d015d4b5927eb62a044df9021717ae583ad0c28905bd86b2517755a1ce24f57c0f098581260524635ee81f8aca7ca24c661145ad1b90843e1bd0cca5a4bc0f473707cb1ec3cf7ceaebd72fff1ae9f300cea74f11c1858bd769fa653da433db242b58ae16c37c0b40206556b23437d4b0a394b2ac3aaccaf893cc3724f6b58de8d3dd2821c7def8da0fa753cde7a7b759f98fea52d44265ff3067dc831be3cdc07b49c3661a4d0d4226a009c0b9258302e383bbf29767c70cf2bfc2b00eb770c94480916fa88b2f8216e700866e67fa1c4b10dedaedb90ebcd92154cb079b18a4f5c6f54128462a873fb708b15633901c7105d36e1ba12b16ffe27276f7721ba3b26cebe13c2d4663e614af51687a018936744685015a773b14d77a19d8173652d9a17a4fea54549ef1b2596f0abfa1154502a24c6fa301e9f041ffb200e720be383f2c2af763cbf876e941a4578cbd280e893e864466e9a8e7fbc55816e0ca63cce75274757e163d971c3898ce231f00ffeb0c3400819c3b9c5c77b25628914f77a376918471df0a8f877885ba0072382fccfe0e5b44ddf0d168073be144e73631ad5ca965814c1fd9f4bc770ce58ca1d923e1b7cefcccd35e10b7c0236c2e013b40693426a001414b9f027d92d5001ae1cbe247c1be5d6609da152070004c03e7b07e816a3ae58cbd45ee55d982bdd56236f4217ae8da4931b795562a76c08c7b2f118763db39585471eb4fbe9d599ae6aba85c350977ed599859d504ac822ffd917ef544f496c9d8a98a545f0859412fe095da3d80b75feb0cd2479328d24588d6ef82f8b1913990a901436b8b87912ac761384014011768dab68bdf505e3430a56b0c55590cabc9e3f4eb02a5aaf9b150196556b0e1bab6c2bf0cf089938731180bc47f7b888fe21b69ef83314855985eba03a67b874528ca945f015add9bb637b019319a9f03cb8762de5406b32828d8619eedbea0b171b5860288b1d0c80f9add143f8bd2437ceabe9f7226200a0b031fe2137f32fe93776210007a40ea77e17500acdf2d8d7acbd2ee534598e5ccb34defd9667851eda300ce52149a8a6b87f08ed5f6b6f7b871455ba9c77db9499d6a52363be08a1cf2523d2c56f19230c95b31ca37742b3d4a3a6c4d621f93d78b70ca19e05049bc8618516126ebd616bbed8914464de354636a0f515747f8d363dedd9648e5245198c76211d50ba47cbff66d557f51819451587ff09d32ebb7804b24c657f6076f24ba810f08bf00ae49f1ff294d46423e1908ccc2c248b19cffaa3642c2042f8268ca5cb587286b8609e9ce1a883e86713ca641d2e3f07ec5a88e4842139876d82040e9884bdb107f739301616fc80a52307d9d41277f6131306838298925f384bcb8fb9cff0c9c7064ad2c0f50fb18d2ae00416d762dece04de6c22a40e148e6fc6bb46644132b104cc4855681dbd2755638b20442b91625b0b9d9afe9f94d8b08b62753d7b2e0203224888c23d413593abbb9620117a5c2ef110683a3af44c5c66d6ad99aaf7de180b91cb1bee06b2ed4fe4eb55dcee458a5b4ab77f434c206d939286e9b1b7c35286e52ed32835ef05a377f6e89e799c2da0bc175a238d181c20f2780c36896f183b17115d9cd0c3a69b36de71d415cef2109e9dce1bb525674903dc85766101538cd27e54ddfec7fd5a66daf452df574ad7dc13d8319f7626a75ddd5802c7a698840325a0f9697a404935c39106ed0269a523c27692331e04462ef38fc06c8f7ab4e5c4c6de1779c31a1051f6cfae55fe0188afc94ea20b76b5de582cbc5a0853596943a2322772c9f40d8269123593c593cc2a713b3306696011c18231f03666d3e5473cf05c8f1b3ffb765e4f1ee12b7fa6d47262316504d548a3ae01decd8641a7ebbdef74152de079146091f50b4e97bf27c68911c928a1330bdacda307c40c1614ad63f8afa1bade762745814299aa7383e3846c81a3620590faf634c978380852ee1a55fe1292e7e87076f3dce502e4d63fc4706fabc9fb8205d0e008038ce567a7c341aa0fe45e7f70e0ce71bcabb3b0ddb6421c25da4d161d03720d52671e920644a8e72454ae165a37b6cab6864db687dc55d9bf1cbd4f8f95c2d9163a6d5d8fc5b06e6eb87b58fa277a7f0fd0f600b30270d693c9f718ce1c6e0bf4a4da8eec8f9f18716fa080689bf113281b182d9cf7076d4cf0fd29b46bbbe8a867b72b6c254b07e508ab215d86992cd010d8519ead7bb264dee1148f670eeb6874039f0627718280291d98f2d5ee35c71989ac8b882e98b05759f2af6e4edc7236e4a07e1178066fc8079c2fcbbc440c912d2e8263b2e43d8e745fc22d587371578ee1aa8aa943436ce19b01e01cc1a012451b68c16664fc12d06e98326626d57ffb360aa1c4335f6458349a855af3109a4506aba0ed1b2943abe8e43c6788d6415a6f592826b91d8fc5f3c769d41f5d842b1b2eec1a2e04418e95c264f3d90766bc36af630cd6d129873e8bcbb7b64996393037bf11a4b34f77a8166d43c2d77279eefc2ddf08815710a03efcd8fba92047b2ae928dcf574fbae928c1a36883b843b76d99993915abec28336c29eda5d426b6cd19ece1b8b05f22f4ce85ad235eeccf198fd6fb2fd61ca03d1cf79161910b54b90dbc8d72682c794cf5a10672a0a3f0290fb45c72b5006f276559b22bd19bc8409c0268e6d560e5474b71b079f51fffa984b718d2311645e93edb3dbf72d363014adfb34eaf27c3e409cec4115f98f3bd1ca3cd53109a304428806a7f1fa63048c5148f1a09423a2cdef0bcecde0965c66a486015582043573d9d5814b607e096952c109a3e6684f3506e48cc333c78e4de00105caef6b7da10d5191bc23c0c3946217928c23299569d34df7033df3e8799400420ece6c4afcc8e6b0b597c9664843566a666b59e62659f402671224c14ee5f7c77174d5ea258330f6c6647b05b62b73bf63a7da7eabc16e593e4af3fdfdb73b5f879ecb5dfddf0ef533391723b5bbd020bb0fdb5e1ee71ff97cfe07021ef8a5e2c6498ad51d8054f8459c1396280af788abd148a721c47e8f1406165524ca8f698f604312c7e5bf0f3be1ff954ad6c958794e3baeac61b4f683bd834522c91fdfaef5a9fd040b50fcfdf07b7f3414ef05338bd658e7abaf04127c7d9d6c4af16293002d55521a018c92392afeb010a30f31214444b187dd5a9289918722f72764af628f311f48fb301301b8bfaab9447d47d0838b5b74f784a04458700297359c1b2c8dc701f234060080768f61b20c1d0083c270aa5234b983e08c4e0b07ed00e992ff6100df8acc5565806b193eff29954a2110160add7d3ca50199574392313493d3fe88890819ddbfa34cfea1b964a92a05a27792bd624dd586fbcd64cf7dc0d4cb5e29bcce16eae601695aebb431066924d413fbfed9c9520621892bdec3d284e7ba03e1f63ae2c12a0fa8247c2977f33073ea9ab4928d6684b6e32b4bc70463a20bf3cd76b65b47e85a0a00bda0b48a97c497c3c43c6807a7104979b65d90285c4940474db0f140f1cba23d65ebe7b887ee747432497a0ab0890483ed6b06d78924f2cc8ad81ccc9740fa5130a5e322d4b79c768af4dd8bb33a99e690dc46de47dbf9b47e0c327c5e22383c0288c94742cc2b338038c8277632dc6d302de3cdf0db4b33c4e656a05cd4c9395ff020acebac67ace8301223563f3a8cc2e5a199471433fd637c9c734c865209f9b58cd523047a297a2c0655e82b3cab99e5f76e7cfbd7ce63a7e4abd8940399bdb826af5dc325dd4b064bd0176118aa81c5bd248d4dc5900d3ba382cb8b8aa1be56084d6b32ce8274d945a4672ee279507b3b0824f2621078323bd350c67cd2d615ed19bf4589ed9b520d5b02f435a24f81140589d3d2b5da6a8e70d28512601d0298cff0f3aeaa0ce3a6c66fbdbf412c8f6e4a144997b84ad657d022f23a0431f35ce4e234f12505ca1a3a30d229072c758d898406d5cf510805a963907278582fd9b381c2ad469d6929691434b375ec5d5b781f210cf4ab584f86d5107e2b0bec680e2151d2c2d245ef157e97d7b395f1fe2120cf49e7f9be4b32a150f66c22f5621b63346edbbc62b0bd6429f7678ed04e6dc825315652cf9d586f7deea2a78b27dfa2e142636998bbda2ed18af61467883a5f7d48fa11bb3f963f499d0d7324b21a0746d9349c67188a83a2b266bdd0bea8f2315201ab8fba368a762c3f9d27453a8f60588504699b2f64cd1023ded6afee6b57c3cccc74deee4a4dbe11ad4c546d41603613f537559e29703b6d1cc55b69acd5f8edee6805c6e80c73e70e251653a9663be6661a3cbe36f6702c08b6cf0cd94fef954d11fb3d885ab8084497d232d47ea52c4f0a1ef449779c765530d60f9223c165cee2525bc085609d3869dacedf52dfdbf5c0de74c35b194728f6bbf2d2d02e08060015b68588d1b9a34d89556c835cfda68c855dda0af39bb34ddd014991ea2b987303bc78f188a91c29e3c852bace26b5fe00c38a8d87ee7a8bf86a469056b5383b65146a4135db16f1f450fb32582752f0185362653bfb6aa4a1fcf2aa417e378cd8780880bf899408373ee6caeb3e3ac63ff770d7b4be194ea7f8f5145a4a999ee00fe1f3b38c5b9e6dcf80a82d7055e41732ac200109ec1d3bd716d6d13922debb90ff63800b91f4d5203abd281b3a9ea918963f83b3177350b8526e320b7d7475d026b8721a6f1ca2ffdd6d32312d88d12afc63fa98b7a670a6c959f28e01cb410e572222249646b024851555d22b1699247f1ad353023223c8895c8224f81f221b4d54fc532f70a65cc025b325037a34cac098dfc487b64a72c48682af6f4e9f1fdea98489806379020427db7590f1640b23b02d011146b0fe26e9c2943467282f89c9037ff7ccf7fe43e74845804a4aa3574d4e4995ec8b0dfed2a663ea128269342305933a717f0bab061645f38d0fa21ce60e138833632567c6551d835ecc18f091805bb459790e9e4a5a6523739acbc03efbcd02169b315a0698712e47d5b008614a63c5268333eaf1f542c02c33f7cc461493de99be5236b4871142591f7b94ff6d3617fe37b05f29e4279a2321222c77030eb32e5757ca5cb2087c111083e4a7c51758f9b7cad70c557b63aea5feaaef49528eaaf7d47c9e36d7e495368d7dd632100ef0f28ae3d8b68293691f03ae88fa2b4b6cebd0af97477fdbfe51e64fe59ad805c0e3357400a0dedf3e42c7b2c363c16bb585a7caaaeb656fce9a325538dc845e303e4af68896595d1456179fca1932767b3a94247ffbd417933a152cc2a6374f73517cb1ddc65ab93caaab3d02bc09e34bb365e6e993b2daf200b32454197c648e73fc2e7458665fb7fbc3dc1fb21cbe956a31f0ab038eac49ce30650857d415b617730d1f9b94e2ba1c469f506529fd67ae75940d909e5ecbb85102cbe3af039ee64b84b159524baea6990a26325a09c970af1daaff9b04f38470a1eafb101c2f52b29da1b1ce1c977218fc8b9d0431907f822a94ed4b8aaf39c34ae3f0efdb388191ee6db7c320e9a19805558207bccbb2b07c128278a8f0103f1fd285d61a39a43d94a97a743a639b0355f446bd2206b320ca4af5721796090cb432164b494f1c7b6948d1d58e8dd970bef3caa6b004d9e99c363be2864d09c9f1ad857e7fa422ac8bd9574edc11783c1a7a5819e2869d2b7ae82fe9c5b95c7e8c17e444eec67518a5a23235da9f5ae07021e7c7824d7c1164a4d81c642f63ce1d21fe6a535189edbdd28aa13db9dc30f90d14c87d2f3693d8b94ac6709eae47c6d98ad0a5878228235e99b1069a0c592eb55f85e183fe2eafcd896ef266838c46ef7904aa991a0701a7e10caed42bb6bae1d79714ccbae27fb150dd9a52879b6d1344aa96f1dcc0c01dfaad007ff174373efca7a4ee70ee72b1c016cfb5bf211ea1cba5f4542ae65803fefb3f04b3a13c5d7795af764305e0c654c6e1a98757dd668d3021a10791780bc656d9a3c8d677e17ea4cb034d7920728ad210a13f76780448e34bd19d587a790e063017668d2ef6fde20479ed7a80b900c3b013495a922936e126984118488dcafabb03afc3e2264282dfadec3ebb2a22b84742f2d186df2e566d8eadf200cb2530b5fb0b160c62a0d11448d3e818b83003a3e4bfe26fe1de8af1d90b8461703cb9aaa656918fa7e7dd870e7461fe3d59046e40ba30013ffb2089bfe0ff9d820a1641d485f27fa251c36699676499cc8f371b0314ac26b838fd842ccda8ba8a9911252c6127f97afefd290dc84ff033786055ef0307af2f0decb83c1142227c2c39fe56b0f889be67c67fef2e03934a7804878f803f61bc4677aa4b451a82696efbb3cf8eeea741da000a39793eb471aa291e13fe728621f4e362c013b81d8a3db3ec43ec0975bfc4526a5cc99c1cdeb7530daf3dd6749293c4f5df52767087618b6c60bd8c34cecb3d26b8cfdf02ad179d27fd03ca84ca269be5af5d6a71ed75fa62da46a502e3f11b84a388be84d5e53d50705f11603af25d7eaca553f78512b1a962074d67a93a54503db538b440213dc0cf6af05dcea883975752a1069dec39e1f842fca2639bcbb1171b4d0ef5d727c01b803e2765ee8c597bf24d046442a81206c8711407f55bef2d4cf02722b362791423a62ec1f35a359a73a4e09bd14ee8a5a64565df064ca304f2e29577b3339d183eba74d2f5b870d65263650003c3966e73dc8d824bae7e4bea96245235eed3303c3468219727805cefc1c7c84a0b1f89aa824eb46c860d5d3feb64d33d35af8354e0f5686378ad28425bce69057f4953d016e2ebd99ea12900600d0e34d6d860760a4326142bfbc1023dd3fcadb84f25b1542b22912f1c78686efbfc4ba3fd94f16ac9998555b03121564b643f26ec93cbcc006f1eede5de1a09de14fda23e377c4502ec8908ea83e85fdb7825407cd03f5a0d4b0d374da3506c4cdcac84af51518381f7356dc9c80e0213c7051001d3638edc9f94e3b7f16175351ff60b2344b38e28a1870a8755c2e7af3f42dc27df67954760a3bba182c00981a0d375450c7d9b152a694a68baf95da405b688eda4c6021e166eab3dc13d9f720fff76ce420af12ea040842e846a466928a4a638d253b936b5914af219ce3af4f89bc5df9c0873aa329f642610e408305a39cc238275515170e8e002f539d52fdfe075b71e07d5ead1d89c98fa7bd66b8e58ce7caf82b47eb23f88b2388e8bfb428e5190bbb87fe50e58ac6d7563aa01d05182136606dffc83577f61b170ea94051332a48bf9bf82eae65549724f99d238cbf7799af755882228c8a3a9e4013fe80f3b178225253f628f9231049c21bf3191da1183cba8399e790150c505a721d78ed5500be6058e4442f2821a4efec3cf9da055b0eb6fb7abc7dad69e8c178ee9024ec6ca0d7aa9127afc3acb4f76e2b1357a730e030321b4892f55f5504e74539aa16b94ffc90df96dd9c0174dc898733c8c3d2c3dc25bad925c8eae2abaf85b2313f1fde0e2290de166d4666abd52ac477817674a16e129b3ceea08f239d9beef6dec18cf9512b2151105d7385f06f80461e4819469007558bc6439a35b28eb57feede8c8030e1a0ff461050a450b830548a664391da823e0ea0c600b44d29ea46d1b9a422fb91ca26ab93514fb5e844589991ba6377a9bf4ca2fe02e82eb935319b8b657564df3e3ed54284e8e898ac6de50cda7e3a60cc252ca50f067fd374350ac6251eabd3c7843879237ce81153bd3b7bdd4f4c7f15d44726ef4624be1225a701ac034db013c1f83d59517a5a5b6dfdb81d41033e912b4d2e48eda7bbe0535342cb58ab4d18a699e8b25151cba4520f55b6d0c8756a119cd2ccf65b92b7158fe5f7ffe66ac9a8fd640cfcc4c3d76f2ee97547a6cf6eb8959f2c0b9017d579f6b1165ec8762519f5ca006d13aa5256f013e6c61f821d7220d4b3bdebedcb9a28ca5240c5675aa721cf3fd96b6c90efc96bd806a11144b1d84bdcb9ee8dee803a89546e3e4ae7573f8b0be5e6d3d30599c736a650cf7ee4c46b36687925348fd4ca0304d2fe68ba3494edff5e68abf4231027242f0ea482bad44486089ad86e4af86804b524b3788f84bea86b9f8addafce2443efb80cacfbb998da3b9aed9e3d0b7892c122656c50dd540851c7e8d6dd3a2529b71446a4d6b719d0bdaeb20faf282202b1d3f286e48f59a484656b26d0ad5757c89e3a0b0e57656b8e3b77e7cbba72d4f94357b8235707d7b9e123e73f109cfdfc2e083952ad26de85a0f1e95e229ab3b03f2003e3a3cf58cc5daf35f75f2e1090b9cd6324e7b1427a527b22fdac20ed6c03e315b51f52c8296ca8bde1eb23eaab757412d7eba55e0d824e34f3afe93d9204ebf44c0cdb88bc1dc25d996106346614633611ebd10d7cbf2c5652fe1da8be0bf961b84eb21c83d5c5359648dfc0ed4af9b2fd9f4dfe326aa6d982b35bdfc03d25420ac33e9a6e61da9d7f2b59a44cd9964c384e6de50eeb2f90a4e21e4b2e4990ab85854e0fc69f2bfe350513c0e51a6c970d3a4a40580a5490a3750580095a3021aeff41ec2e2e2691e70daa761bda07546a5b410355c4b70b40655063d8a6e4cf87c337b5ca9844d80e826e4e77f731be1ab4325c14956f0bfce3383e6f6087622c3191239d4a663ba3c5fb836b8810f356523e2089db9f144d14ba587b187bf0e7bbdd0b88c7feeca935e1d4bacbc61f2c7536c252e728464cf1b0595732ca393cf58919e2bd119677efc79e28228d00ec07b25f9bf251ff487ea695f42049059d4791a9610a49297af9f7162f617e15cf53b0b467fed60d2053a2f2a44c993d1111cb98008c823a1c256ad4b7fd1690a4bc529df3e5b179fe9a7453f4d907ab60b3bf671bbd9f107abb80c786b1a4cdb7e1cbc5c9eaefbffbdf71e03c68a24ecde4aec9f50caceaf11717dfd7ac19523153fe0395f279d4be84f980914967f0dc3e6a2acc945994a97881220a129d8aa7058e923d324b28a40d210aedf3f86e3ad9144fe584b3af63f9d0d9c6cf22335a50422f21bff99bbfe86bf3ceae0c63745740930973a12016a4017b3f3c36135231e6dec02277676f650877c6d50fae1a1f743cfc92950a3ac4fe6400c863987e753e0027cad4f1ffeb6b9d1b88335d3fb316ab27a5a2190e6850e662105db748604f559924167ca6ad2ebc80fa617ddbec981efc2af02971af275c582b3832d4450ec83240f43fb01f6a84a9a8f4aac803fdf1e09f49d40e111d7d1925b9526204c1ffc5683aefda2add2e145095eb44017ecb4591bbdabeb83d9e193a4d7653a2d476ca124479cbf9519a4c0e39954a9c0d973c7bd0301cf2f0425c3a024f4486f859873a82a1c9854b7ca716a4e2e632f2ed80bfc040decdff2a103b6eaa3f166b8d4a8b175176eeede0c140bdb715ed09363b6a7b4809e40db2e0fd8ea686369b099e17eb6ec0b28930b206ed3545fbdaf2b818b974530ed41770165e43c30132cd89ca3de15ad864114592daa703e0496276ca77a94d37e40375ef5c4af09a1eb92f659cac4c626234ef2d3dcf005b96c258a0d40099d857a57d31176e27143ba0e4227259184f3c976e12a976f2e43bf174469627464e3494aa7e0f39d5433fe41dccaa304b1efa5c229ec4edaa5e6c04b490fd6f9fb1bd92fe4b30ce6dff038db16041b58c55d15a1099ae086b3b3182b47a91b1fbf709544e6e25c0f0075463b729fed3ba6c76cc1ec550e4c597a8c9f9a06a32910e72c290fcf0486e9d953709dd766f451474b6a2b49be5c3d29a91f835d63cc5c7b16bf9de5a8e3724bf34aaa9a3398e67cd89c1734d2958bbb47dbad22e67932e8435ce57e4cd4fecd733f27d67b4cb3ed9318191385dd68139b199a835e31f883c06c9775cd2c5173df9391d317f5dab14a71f42f77f9eff48358f2f89ee345173218f72318f4abebcd9711335fe5e446ccb9eb42b4683015b6b27b7aeae26856e102d1c13580d583cf306cd80713c984a5ec569ff4cef7aef46a8451300f6da284dd9bf9c5eb97f20df11b4f9a2d4eb8bb433c589fcd7762978b33542de597a41f6c87f1bd96bfaf64849ee1df9bb851a51b096e34c1edc1a6fd68511beb9ba3242a9a345cc7726591dfc78487443aa7a66119228d2879e85551ba873d53536940e40a07e0e2313dc5f4b930b13a821efb183e7d5ba164dc0e42f465b98f906c7fafafa3cdeef016586463103efcf986f8b7deb763bebbb9815f7408726bcc3aaab92d49daa97f962aaa5377f0ed10105a20cd7741d3680c19885524536e812108aa397d95083b4484a9578936ea6a15c4b19e5ad0e084565f97a481d29b2b7a6f580af520bcf4ce33906ba216a8b93ee23bc73fe004a1d5ae39fda06701f9158e8d31dc820376abd00435bd162a2364a84004650f8e959d32a6d851acf1332ed4984452b01c761841d4976797a248c1ef40fc50a2728cf4fd98a8471a22833a3fa13a4b11583ee8bdeafd012dc7f98050e79cded0cc126576ce246094a642fc4329c6016eb1d4d77f1fd87ce9f3d37d2612508957864bb4daca2a2d5489dc3a7992c39aba09a6fdfa2b497ead4c79097ed9f732c1b4b8dedfbda8d063f2805bd428a22db646d1d8d8019ed8521c3cfb85a08b90d64c9cca947a15d036db3ca7b7ea0e26ff7714ec9da2ae4341a9d3b2ae9d790543f001a74db23070bd81eef0ca83ec1e90cb8c55b0e2fb35def16e940871707679e59c5bf71b259a029a6771034ffeead37965ed2b472c5c4a42808d5032561066a404c10f09fe4c2bdcc04b09b94bc94af37313fee41aa2cc5146e7e434036bf7d9f4def25a3e9f132da8485bd5116dd80f938bf9426f747c530d1528ecde456c15fe7eccf76c85041de78c4746be17d2d82af80dbd238bdf5053cc711fd0bfc5e3a743f38da44f12530529e2103bcce003a1a0c101291840afe36079f5fe2eca339b829f1e568e3cce36ea30b79d3b070bbe20fe428790fed6721f64b1cfcf22c63e180325557ebcc11ee104a48424854e416998e785682e3432f7078c6ebcb80e5c301f2086df712150fe75860211834ccbd69c56a637c360c2fb697a73e7f2c679170092267c138eb3ae219ee2ffc99e6bb1003d0020109c0caed6bc1543edb0d1f7fb183029865df929247401b5784542f85380822e03bf4da55fdca546f26998a6cd1c983c12e826533c41bdd2d7bb72944416ca2e862162b7a787a27018855e3e0c3f9752451b13b43287472595c36c73ba4082826d167cee50459a13b8ce512ff1a67d473aa6e9ec46d948ab49da3b0dcfbda9785db79ee65c18684bfded3be6c0cd7bd076b8d4cdef5dfe01417889170b563568338ce7884d2a869f41b6732524dd5dc332151cf2b9701d652a20cbdc141a2966dcb21a0c4396b4d70e8bafcf4fdf7e6b2cf5a402a859664a1c86a3e784bb72ab573053ac47ae41cbb89d3581eec69c890eae19b50fb130635c799d44f2b25b9f3a1dd898aac057e06790ee0b48af7c1b6d0f97302a81355b799ec5ccadae81218966c1fe32f35e66283db55ebf428c0d13a94a7f7c1a62b7a2af2572ce2ebbe20885bb5679e44f1665db9db8043422bc231d3323cc8b89894addfdbff375f65c491bdac8cc31554a0921f836a5d02dcb8da1d567ccbd248f97129c83c2d2a8aade1127abd7ed8aad185874dc23e0a0bd7ede2cdb8f17d520fb005a4774810633cb9d70a11547a31cc5f934ed11cf6db2735f3bcaaa285308f51ac95e776d35850ec5237393c878f25aa6e434745e28826bf9b3ad6b9c06e86bd4e9188c8ca7c691896c91dfb884b59a35c891e22de4ffbca73d687a7c4656d2af92fcfebbcd4a09633877a5ec6e029477bf612a5c4e80fe22925e00f01de4f6596390435a9ae4fad1b26f28df4c32fb328dc6f3ec26c3a3a7b962d4c7835639501654c0a03b7e60ebe5b76ccf61c7fcb924b6f59689615ac91095cb0fc2665e6ef5bce859d1b328f5d7701c5ffce782cd3861f61cacbe6e428b6735944ac389a2703720f741b8b2079986104f2271d3de5e99c5335c56da5f44d22722b22fd11d5846d5f7cc4270899b28781b955188953b6a1ad9b5d4557047702317312e579358208570db4527aea754829b71d7e0338a481db582e72a51d7eb9016d1d7730bb65ee089e28e3b039d195f60ce4718a8c86324e93e5d35b8b0dc200ac6e534694e64859dfba6cc60c164e7cd6d4fab594ec5b9eb54d5025bd4ddfe8afd0c020d36577940ad790523e9b5ca2d07b8d647ffd00aa14ee5e1d4c30255f835babcb5e6c1ca2c208ccdba4bc0705443ac0b379725875b40bcacf1bafaa01ffd6d52aafbd36cbd1e608911a581fbe507619f1040ce01d65d732505b1b4ec5f519cbbca6d845c8aaaa1b473f328ce85d54db102d1a2e1abd9345f768c8b112ed00614e08ccdff4cdd5c2482496c65f6296f6ceafeeb07d8d2cb1570c7ffa331250edafa6a38080a04a9cff4acdd8f5a1342ab5161dc9b1bea0d79c33a9a379391821c2382473edcfe0f31e2924c0a34b95242970591e6b203d70998e15a06157107c4a0a262d357007aedc2c69fd215b5df0db8789ef9c0df9d33fbbe2aa59dee8dccc9d419bcb148773940c019efc1cffbd0ce9c06eed8c6ba06ae93f008147ee694240907e1b0e1f1524f499419f3bd25b59e3c440175c53b217f712dd65c7be80999d0a7a25952fe405d43e97b5f9b71236cb3c7ce93bd5b3916454fbf05f64ae91045a50c73627fe6c652a3596e6ee4494f0f87013a7a5098fef24058c87f6151a0116086c01dd48a203420c0b17f46b2550f5dcaa42a7231d9a01ce40684358836214c38230adbb1f53c585ce3dca24fd6846705d8c68cff7de2a754b1f0d652933d2b3cb4cf7e92d7bdec72d4e8b8105362b219a98d80771a8d11aca22f4bf46d9541744f826ecce7a94e80e8343388c4cad0bc3127d70058c07ef95f5b45cd78891c77918684d92b50cedb136a04a408b260a734814b4093e920f7a7ae645ed1127d9354c433849560162ee0773e8dc22436491ef9286cbe0f0a5dab158d1929baddfb086e2780ff4798b7b3a23efc24a2eeda23447f52447f85370130b11a3e2e342c183e7e5e93fc29efec8b0a051829068eb520266a018ced406cefd54b14814c027184375d97fce8399409b31135892c07e3745b85fa2a3cf1139e3c04e2a59fdc8f0d32b15c00c9aaf69c8e641207d2c81cd38300eea6b62d307ec213f2c868e7f445241a9b1f078d34c12959b222208ee1a1750dfc08a79ef7d0a11b09a1997b8b4c24c1305f97f5d94acd6a6d43b15a9379d54a31f8916160271c6ecad0213579e867faec07dfa8b05fb644a387be175fd8256ae72b62fef2a4803eedeb619367a7377a3ba064608972686417a1318cdac48b55d06ca3db958fd50cbc1bed3434fbbcfc3002b61715bc4eb6fbcc27727afd70926bdba8a25f3aa45da640f6a2dd15a6d68b9675889005dd78acd1d302b5dbb76bf20ebf0b82912692e2fee4ca20cc19a4ee41728cd6d26eccdaa2fb5a203b2f2fa1efe1931f98fbcdd6406b96959490ba36b7c6218296861fcc4c2301c5fa343200002571face8a2612a84572641845a38ea4679518e565d4c7d4dbbc40d4520e168513abde516ac62cb775d48539df101e8bd33b776c5dd84103cb23b0367df44c907c1e71fe311ec2792db1bac82c131a85aed98f2594e50cc4200d152299acc4045675444dc9d044f41d0f198b95e088c2676a1214bf70a816f9aa55548b7b8e9074e157b4023fbcff84defcf34ddfbfc38e495fc395bcd49a3f7a58c7509ff00245fe9ea6f390b4d94f9997ec580c0ad534d6c2bcede6908d3745bfd3637c7ed067e23ce12b98fab5d2bf6067a7af64f25b019f784c8f41c0ea48ca466c5589db0b0c070293cb407423905d0d0cde558bd67940e601fde3641d98e5deaab8bb353f378fea0ee7e76b7aeee6ce8fbc8c1dcde747325cf26eecff64149a42e685b0b4ad506200e4dba0d8908f48ece63ea7c660b24d4c5a9693eb1b16aa6ceed54e51391a714f9bcaa42b777008a5096400df5559cd4d8c214fc9d179ed6c580bf39b37052d8840bcda4ad9f46f02a4200ee105db17a3249add4605495274f3f18e6764c49a629df7998687e0a6cca0b2d31ead7c4b942994878fe7ae0a02c2f640e04f5b316d261591ac4ff3cf31da32c0d58c8333287c0df04996c2e565f1a631b092f0bd00eb800e84b9d17f019bbf94b664949f6ad1a8e6b6cefbc0675a56a3dfd0c26d413cb7d342ace137b144d00e244cd9b3baf14754d846377ebbc60e64db7761847b8da6499af6c5aefb60446e5e3f19877dafb75975d9b06ae54c22629792bba36fbe64e9cd6bd352a4a3be35a438b382aca097a778265267338711b91ad94e291b7192bec2dc721ed3c9f408ec9931dfb8e5109377159bb832a3e87c4c350a255c7b2d29903461f1f34abd6acd6039e1ed1abe80b6209e2650938abcc1c972cf7e7b5603e9dd5f06d1c77d59b2e2cd0035a61408066d38c008c7a37d725b64ad71a6046865f91ca176cf6bfa5220928eb4dd992c35b57b159acc4db48c23c498ef7917e29f8840108754201705e4a84a1725079de14ae38187b9b62a4ecfa89f859dab4032b0021154b35410a1effbbdfb9614546a11222987d508369a303589af87a676df88c9feb5b31c56fe265a04ced4ac72b9778225a301f427d57be8610e7dc19ad2b47886c3d41f0fad0a9c58881c0223142d055d7a8450389b5f29ad1b3fae304c271ce8b9b69b21a19aaec591b5d7a814885ecd6cc0a347e2c406be077903f6f8bf838b7c6227300d087b8c60ad7343c4fdebd4bd33e02f59e911cbaf37db86fe4a3b2fb44c617fc9049df8fa5e7d863060950b4ee6dd84fab57e774cf051dae0327b441950fc27d91d100a8ff1885cb225218a55c76d0e2ffc122b1068ac9b73d03b2d51105dc6f355b78bad8effcd8322d0f2eab895e713052bce37ec47e021e23f528a854220c34e65276f9922eaaa3dfcc702439357e79f0ee05c3df5a89850ceb6650349cb9263c6e7c9f11cef9ac983f5b962fe093cb20b6715ee5d084fc0436c024feb0cec4de25d1896d7a32e0f433d7beea2ce9fe81003583a6c59503985a9f8154e0905a8bdd987b2a33ca6f17f4aba03ece6a6eb0b3602b080842e41043ca1f387e2b6e26c1a8a557f4b358d175a3bfb5a1118291331b14e77a019479622011be40cf5b84fffb84f8c71fe993d67a0fbcd379cd4407ae66749560409c7f770ca098e4ba7abcfccaaf5b9a91fe6e69e2f724256bcb998f6e09dc5103f7c358adb3918d85b027cfed088e48f52ddbd1fa7225b1d8cd573d19c3a04237df5d37a6554913787081050a8932ee75d005c6256e296cc0d42d20056ec614fad381dfff008611f7792bea21bae12101aa3be8cd3d97925f875edb5096659ba8744ee77e10d0ff29b3db2a3bac76f84a7e1a079fb1f50890edc4f66d389ac6d8ff31a8f3fd108dfc93dac2fc0f79cdbecab88e4fa2f0e5c328ad82bbe75d39476889ce19d7d666539ef856f3c636cfc40b84938fd97146f55d9130e5377ed857397bd2849240d4d6ce7683d1e667ba3f1c7913ee901294bbf8712a0eedcc7f11c83267df9df2f885921dae0c54ccb59c9b38ea507211571cb100f954702fca0770248f0d05d23761520181c0f24bc740e338de990a624489f59548f11e22ad39b21a9ed1c19d0afe868e75b6ef9fdada9aec1c81da2cf39697fef63e686ff3980cd06e679b00f619d8650f3b0e9420894aa76d468a1dbe44e0f4e25f189b14fe4f6d53ec86867bbada8d865f28ff6e554760339f552c2ada5293c1a2c836da4b8840ef5447413ba0480e121d77cffff8b399b85f26b419dde27f2576d75592821ce6fd10377ee58e79410ca58da9a63beb51a6d4a700d239fa50536bc969efc5afdbeb26c734ed67c044d0a081a1189d2dde37dc7ad5cfc1979179a3ba26ce9d58018553ce31f620fe8e007938ba26e9cfae3a800cb8b039b13a403145f836da42c434f969a091e762582b19783ba428164ba90e4538738ffaad5ba802892128f0ede3392fa6d232b60c626db3febf3be8d0fdd0335f250f71fc99b24bf38a1a93757237aea0496316ffbe92b9f2f730f5f59f189d7d9eb6af49a88a6aa5c892c13637fbbdf433e7c931417651d00b40440a8128a090932dacbb7c448f309af737341f118740cb2b8aa3cedd283e4fb700c5b5e3e059762ce695f50c6aae1c571abec0e2e99b1510f3b758270d280e69b5b98eae9ce5673cc77d0660006091d3a46ae976f6154fe6abc18b4e6e385a1715f0987013a66d6ac93c488f53d20f59a269ccc93f72d5bc9fbc30db5f7dee7cd911627251d67d0a21b6971c84d2d8baacf6146c390312419b6e320edf569b1c1099b5435062aa3008e7da1c9ed38d1cc3e99aa0a9fcfa5a89fe8cb59f85b83ef282144d013ad65fd5233e7216c66dd3baf4ff3c6cd3de1d17cf158736ef77b6a0702dc9899f37b4e1f6b49e8a8be147085ef85e60e81732b0603a80316b8702a7d747ec094de62a898509e7d9ade38badaf0baf5ba35b5cc6ccffd751dcd0e6ef3618b04b90660d22c14ffe96be6680d94133fd8da3691d1e52e7cc5ad1947638a5833a9fabcc163732faa5f58ee42c9e5b68a086bd949816624b2a00e58774bab4fa144f09ac03b5b7af382c353dd34f9d2210f2fb4955f702d992f5a7b037e0d28c5fb50e0c29cade93cf79654e78eeade20247791e22b5aace8008218f55f87d15cda5a257d18e87a151ef20a464069bf9f5393220ea9fc6f1b0d9109cae51091554436095b32ced819a8ca8f8a30c0e42a88ef320f78a02ce89d8937eabae97b0a0efe3f4183d3234d7a9f53b7152dea483810704988e66109f8f1eef6955107f8f3b4f5f07ec992f2456540b013d3816f1a0964f336343cb8f09146c9438c98a6f6581951e7f20d45dcf18fb98b17354ac77bd1b09ab252df9115dd443bf33025d4e60244c2b3aca0b169f4a66fb56f0da7a4cf5c3721271e80f9961f86b9cd2e18ada8cd4393bb385b1901fbd9f9aa21e1c420d083ce5254d644dab3049c042ea380b622a941c67fde485b73b7b252bbf12426a99dcc366ffc2fee4456fc27de042d95397b745df1db86fe9ee1a095fd3cb03ab5bbdbfabdf82735cd2f4666843003bca21a8954fd3c4063717f878f0e22bfcddf2a0aafaa93d82693552176af2d09267dd78c48e7f3b02cfe44ce5947481e1e91ae83800b88b32e78e912a9bfda8566c4923a356b7f00f719b72945c09148d68c48e897900061a763ff4e1a0bf6c63eb488bff1a48ac041182534aad200583ccc4af994e739f60c240831c03b9771809f08063523feaa172adafc7acbedf6653a9b820c3ddc51706302dff6e8084457dc8bbcb74e325b22a27287522704ad463b37b6e35e64a60f236846a4cba98615eedd8b50edceb9a8e42fc64ce51863e8a8d364c96068728e5d1856e75d4374d7e4551e5e09684620620a564b077a149e825f8016e42d9b46eda956fde1c0d9864efc045474b83ac3a3d5652471888bc50c6d6727a1fdf914e6dfd76922edb40e32ceaab4b5a46cdbc264f8ecbd1742cc863581fdc53b14769ceec4486a6a6c19e07fd39b71cdcf2061755d2c6d994b0be8196884f1c9d698994fcd30e6f58aebbc599c53f159256e8750b877acc5c0a71af9145dd28d7931b79ed4e3181194e8d1925c1a1284e6dd924da59ed303df18c34bfb6b9afbe5ee4405745932cdf6b70e52bc10af47da0095f0e7072cd3c9c9ebae31d9c8349714b4147537c06a62746fa214e7cd35bf3cc33ce80165ec340af1cb802e852693a0a2958c5fa4093c739643609c2ee9b6b5ee5f7d1f7e8291720fa802a636ab1ca3baab638b2e0df87b5a6b573b1f2bd7ae9e2a7672c7c2a44e3f4061e195f77d10b543bfcc37d881f234c8a2b6e8ec51705d47edf5ec10f2b5594d48291488a0f5daf7937f515b8ec2b573be9353541686142997e21520422f0a2bfc69434e77f16be7da7ff616b4575cb421c18e8d25efdda943544a186a2973481b205541f2031d228f20f417f012482f24c71840aa7e1fe958e5e6c52945d44fbbf15f15cf39f6c172e5be6d112090cf364a4c6ccf8187452039fc087f6d087d0714700835011e31cfbefc01190dcc1e8e9f74391dd3f63465f15c4de2e63fcf4693130b28d2b201f58b9f83a249399d3c696f49409b80d5d2f9673d985bdd8f5b3a9d1ec967433b1c1364087c305a94cff3d4015f6a37cf67e7d743449c1eb892baa8e9db4b1892925af59038790ed32a0a4256500c611fcca0f59c682b8ca623999de7d4bdcf2829acd37904254ce5634a027a5092ac495a6588019db497cea79a7ac7d158d672ca790a76be7e5dfd181029ec1cf298d46db63d93c7261d4e7326c38fcab8becec9ee6819bd5db04a3f9fd3dbeb5ce9bbf19e42ddd8b5796b86a3ef463dc1b387dcaf2cede7f39dae8db5bf8d50c9ee9e0c76e93d11e5ecb851af446bcc02c6d7ed7ca2b0446c3378a4831547501680ba81d01d468e77d8f459df87360ab038363175b649c3a9525d76d1689d7d5909dc12958d9413be20c4fc1bc32cbd0eb33c2b511bd46afa1b6cf80840af2653d62e3b813d1331dd403fce2ee83374ef1831e1cf1f6afacfa91d05040dbb9ef525a334e765b6917b050d7795d67822fe0e775fde9d3fb8982ff8fa79c4a2700ef51b79c06fd0e73fd5053ff0711af649f86baf08eba886bf2dc2b76cabf4302ec5949231ab1808d70a8c1476041f24d58e186c3eb6dc0dfeacb46d7b3a9dd6b7261651b13541e48672b9a152641515cfd0e04bccd1f537c0c89638d45289570f25954ab13b78c203ddba306bfe0e3c68b62a53e5f1d1a54e6c305ff98383c380a64aa93fc0fd11a652bd3281f5355659590324d29f9742b7b8d869be6b9d6377ffb0546ca999769e434f178f3423e1d5e463ae18d0464272915567de8bf71d7011b6a0e16c03f73e2f50662e4e41bc433a1f349e9201f34cffbcac2fd19825d8b314bf79230809691ea63c0145297ca115d345bff96df5b010232d6a7ba2c4a945e82b74ec94a49e557c9d022bb811d769a15289d946c2356b0d4a2738f5be41922d2bcc53c82e6604c910af57210aeeb3e3a55845532a06cc40a45602d8db21705ee960cbf0f278573a24c1d1e497fcf6f67b66c1a6cfeb18b60602f1f9fb24edf295c8039164960eb6d4a83e2c1eb9c18c8a5c23f856e1ecb09321a179b94fcdd4fb79e964c8d3c2b7317f5fffa85ea3fa387fa9e49f94809121c86b500ac994e1382ba625b5f8d0cb53c945ea52e2519af294cdecdedb2d1792d3cca9a88730e91207a346d22cb33c9d00222922587299a5b89852c1448ca48c321bb0cc32ab8a3e276184647b1f1a6f45548a750b6f08b15158a9f1a6f587ae97b62d6ea5246d8e4e8840a893526fd58eef4460d61b89d29a3087d3a05431610f60d615aad13e31d874999d5d957e3deb2a2ed7b4774de97ccc56e430270ffedf33240d0e4a4f90f4178b605012270c97cd3238f8868294dbb00d2804a790500ab9e6c169d944c178c068c9ecaeea85c3ea71b8e91816817d7b80f87fa491f99a2777d53faa2ca257e63cfe31fa37ab051881c00e2205f5ee1470adb97e39b03160ee7dc6ae7221507b46d585793807d9b2f417be1d8063ebc6e3a1764e54b0b4b5194f208458b4950b5bc179be46e3be6ca7a094bf95b9f8ec2b32c4e72aab793dcd8c7f61cae5b8910012a0151621dcf0a58c0647b75f0234d0f5aad25a36326c27aafc1dffd8c6b6fb79fc6fae2281c9df1eaf893a348eb1c89c123f9ffb6541bdb3fe7fe5c68232cc1065d87500000d72aed54cdd487a3e0640684f1fccf83f60b0ff96ac09d6a9eebcf475f94c993c2e00b3585398851e2c192656b34d60870e30752d4bf085c69591609d6ca00fa64c6d1d7d86062a02c22e355ae71f0e1322f5d340a341263f5ac38e25fb33ddea5cde4f43eae2040bf34f088f9386e0f68fa9ef963e562d20154f92afec1cfee21d88a13308af0d8f94801ce69510d41d84bdaf1954038402648e1b8037a97b74e633c9eacce2715fda3a9577fd2c47f55269ce36bd07c3f7721843dbaf9bd426886a01fb4a1432b4f5b3734491ffbfb4e90fc8249a0b067e0e55f8337f4a2f2597081b966d41f8101a282783aa611c9286e9515c7b4ddbbee5d62de9635e01cb0289af126cc9bde535b3f184cffc0322facc83d06f889aa43d83875ea1f4920e9169e23bd22b35ac373c454debe6be866e82cfbf1d21b6a09cd12ccd476f6bdca44e94ade178272506b1a611011927aa92119ca63d5cdb248844af52577962e73359520d670fbdc0efa5b5ebd333d147f930044539fe55e137fc2be806c507063b8c196fb1fa4031ec89a4d8db5a5dfc55a76bdc06a485c9a71020eba97241f892e74c7177a5d8ef1e15bbe693a555468103c96d051197003e3056edc8973048ffae023738a4867f09e9f2f895085655e0d8384900eb3fda004b79ca4f30397dd4f15184d52c15ab7f04c3ae8c5692d317653a025e53cecd5e2b21b4caf7e6723ffe17ffcf04f71b2b4dd405c401aa8150a257625d0b8357f3ebf351f796dc0c2ad6d3d69dadd8859d77ac212633673b275111bcc5704d9cfdf97a384cd45123163e87ff4c466b5e86eb8f019a0b3f60a81a50aa69e25ad4fdcd8fa5ba69511668deeb4912d505c4f5efe82397b17fc5a62d60b0834eace81a905e439500b601efc4cda60201aa061cfe01a9f5e4e5a2df63dee9221d474b1a3597c110bb315a1de2fdbd8c8b89b293fdeabdc53fda9938b606dc76a33a177a9e69677dccb3c8e7dca160a3abb3229a35802d0e3d62ee92c64dcf977d8f67a503da45637f8c8bcee0c1f64ae4174c6792dc582adbdaf159be939c94528edcde765858b2e6f971cc0fd034a0600b20fd9cbde908f829ce8356274ef5394ac341bfbc1827f61e64d0d46d6499653c176a264f5c438cf122767b0fbd48c6ddf349dd915b8d66b36c6c26615db2a8826e12df2d105a823751617b0237ddc3df1cefd2cbec3c4196f9eae9fddea8a58367cee7c14a0728e5effd66cb187c6fdb049cc9cd03bfde362fa0a4dfe57564a56cc528f7c3b8b09db9641f71b5fc774844ae6db7c5728b49ea42fbba3d6dd16d50b7052856a2b2b5822d5f8d8fdf35ae2f2652f9819b81d7b1a9d5846970b394dbc853eeef6bf8befd8a7493fa3dd3ab6895e5edee52eb5a61ae365857b06e55b0e2f8aad4abdf047c02b09a6868b11eaeb7632e5842807cbb329026daed8c3a0680fb77417324fdec6113f676e3bede36db6deac6b3113473cec3322047e806f8285ae1f832198cc14dec293069a1442525ead0cb743d452a932abd100bde651f831c08d7732b278e413154745098f0dd216257b4dad7bf50cb4628f898b8f8d13e1b6c726eddfdfbb8be1700d876dee678ce701b9777a886e14aa823dfec77dffb1cdbc4b2573710a3f8d8a77defb75fc0ae9a4f49177e64f163ec7e09b43d25ba9a282ad87a104a426a2737a4c5a7f8204728449a73fd5990df41e357de35be27f15868352e488116af248d3f74eeabfb035265b2281856fdeb422fc34d8183d7f15b681a9d139b77635d6f0cf69a48f5c0dea6035fa1ab1e3a6a7588bac3ec4cb16d47f3b94cc8b607046a66f810d8b44a6a48089b3c9ae82c6eb3fba341b3fda89cbf2fc8e37fb3b3425d2569790438502f6a9c019834273edf1aa1cb1cf891558223a0d2829e75c7e1d78c9513ac03cc1bb8b5719fbfffa4d2b31e5a5645b4b08c6c506fd595d887d1d771b3ef497fa1affa83d322f20d68e1696340f1a0cd6b3844130d5169d3e7d273a7be178a86874ffd870a71d4ddd33d9303da6be0ff730c6d50a2392f9cb01e6699f5bc8a28f094a4ce54f08b954ec4383718c9d9a08f8355a8ae026274dfec387ccec4475db1d4844c815ba3e6e9ad8b59c41e82bf20dbae8fd0aa23c5106b969f9e5aace07a265318cd0fe65af66d5c09a4fc3526606e26987345bb1e756874cb86eab73d4528c4469c6d3dea2621cd2710d6a7a8cf759c244d03646c8eadc498e74820e0f576eddcf047dd4aa31d140f1416854766dbf97a0bf1ee4a873cfe76aa4f0076e034d7e724c5ae0cdba21edce287e07cd4e930a9cf7415bdecc855d43eeac811b3a5cac81a896703b3c595b83e289ec7069b0d2c3fce6d5c7c69d2c83bac75fa6cb362cc2377cce427ddb2d762cf3baa2722447ad8ee6e8bf08448d7526a19c4fcb490542e91d6e919ecf7443b7ec4510ed1f63c8f74b2429ffcbbcd47ba99759dc38a457ce0cf2874a4d8858676b26d227000d806907edde2fb05bc4ded42f67f49bb692d2e56e8a20bd13a563b17c2d6d2c5f791330cd17aafbca03a445468017c41031a488e7558305e113707f05cf2dec43509ed4cf8b68d98bef4963bace6ac44f2b0b78d59a744d4d95301ce44bec783e50fd410c02272ef3d606053ee4bf07d460bfe1a0e590546bbba45eccd3e807fb3355b6b62bbbb7b4b29a54c52cad2065a077f071add2ab676c70d91d0a69bb08c8c56b74ba7b5d55dc66b3dc27978a52e98a013fe5393e810bffd0c8ad4b031befe9788eabf016f4348d7507f9845c63a2901f203aaca8837f999b6bd56a14d6ca1167e8b31093a62bfaea251bb9ab576d4b51561f851dac984a679e69cb7cbe11d79604aa578612900a284f9a234d65a5b5fee0126e9664fd69b4a5a5e1604e1eed3a7cf4a497f5b4ee49fafc7396a1addb249b5f0de5bc23ea0b505d82ca45387bc65b00401db6b0fc4160291bd280d18204267e421c343a6da0f49da23fb0df6d07e7a09a3a29dbd81b933cacc8903b971f018470c92478cf607970ccf19f75afb39039d70ecd7dd2dd7e9d00375c4afeb2dc215612034da7addfdda4a2fc5175b771868d34d4e60ece702ac0ed6627001b42c4b3a4bd6563d470d039da06fcb72a42107ee13a1471fed5b108893131b801931208e3c6430fd18d8037b249cd800cc38270efe1624e9e4315a2e078fb1e24b56f208eb8dd747bd39e7dadd30d0090f7876777dbb1c7aa03a0e37e0e30dad758175dfd66d09ac117505eed2797df54b7f52708e970c514d6bf5edba7dbdea4ecda26261823d6dfde92412a573bebbee13d656dd4203ad02bb8eb3b5440e5a417682bcc6d90ae20a32649cad2042b871b682a846ba35699ca107ea6bb4ba78efbd5a9791306ddb993d1b6f9bd871ab2d9c3dd894d2bce90f485b9097473a43a717bad65e8b43228bc5dbc2a29bb60f6e05c3ad268b5bcd9bd63e89543e1511f48c4e845b4d2e08d394d564a82063fd8d9bc96a78c07138b8d186dc4ac58d9823c2583fabd9d1c6ac6607db735f0379a211d7f465627f246ef5cd2baa834da7b7b6905b79e9829838b2e5406cf967dc8a434095d1426ec5ad46b46cbb4662d0aa6707a69552ebb596a1d2eaf6e2acb18df3602b2854aa9c316d2295027998080f37046844113d4a1a5d733a9d80a050425c40270817b674f50020e8ca62baca74852da6e9ca891bfae6002d6c33a659372d6a9bc8dcc6855e8b8e91b25a724c9cb40e6d226cf505db9b2d0627017cf4a73a536e07975fcb16634ac32d079662134b71254d161c6cfa163b5e02b6d36bbdb77a684c113fd691eb832d53a43100fc19575cddfdddad0fb669b1b516bbc5d6dd624c5b9cb71be0bcdd00c3af310e53c48fb1b539e78cadc5b0c66ea0a9dd6cdc761e4f67926196dbb4abf30d12b79148a4a72f260374e862b2dceb806a6f907c2d768cabcdf66df66b3d636cddef14b17bad6ea788b1c6d8af636cc05893240cea49daf572d856caf20a02fdb162884f1b2bd3ed8b29e21e6230209c22c60dc07686f4822358c612b017e39c6dd6566b12c519c3329b69b805636d4e961cce51cbc1ac33b569550165f115b732ec16c366436d364042c3d7dfdaeb213dd9ebf6baf5ad069bda6bef56030b0af9b5747b1f110d83b8c0d421620851c80b8bd86095a1321f10b5d35a20963aa5c1a6d77e40186bb542c1ca729ddbcb75f4b3b52d6bc2e3a11db769d9b5fed96eef675feb9f1d0a85441f9e2f62f65a7bddedfdeccfbed6415be603024d9923ec671bb19d7e2a09ad7d1ec152d7ae59a73c582ece175f4ce9bb6dd1195f8b99d048fbe7b6efb13914607410471246c0be66edc5166bccde9bd058b78b63cedd19491a397ae77c3dd1d50c6ca9ab4602b76e2736b189d1161a2210e37daaedb419a6b18cc36e397d73c5b47c319a6163d639d332eedaab6d1d768b69dbbdf9de29e6bf22c8199661990ec1ced1979cc14a5bf64e8e4a813df36b75c6d77ac63a93c1ce30300e180284bd19d3b0f662ecde8bb376cf386de3368d662f98d65aefd574f6f9526b9f5a8b9d526ddbb68a7f524a6f869f3300f7031ef5dfcc5e8b73e6d8526c9d861b0c329a654c6758be1603916195a409da5421fdda4bf1458907406223e1d7d2d2a5b90bd4ba6377da967ba945611967adb16c71ce395b8c2fc5963a8d810b0780b38257f36cfada4b339661186ccacd8c1d0746cf320f8c8ea768710858eccdf8723eecbdd5e26c6fc6b4ea685a6b8c754ee25aac93c0165bcafa29eafb54ebacf3d53aeb7cafc5495c1d54ece68b31a52d18e3acafa614df3a45ec76d2985c7388e90dad751424a1b32cd3364a290d6b7997b0141424639b69ade3b6d7e6febc96b5b6715dd7759eedf17033f73dbe3f6e2f762db63f1f19d7596e989133bf059c01dec0b202f21ca332b6176c6afd8264b80c6f73c1a65ec83de786c8459ffd64f8ca8a8c91b76496c714538811453848b2e9c658f3cd39ef9c94df9f055c0165787c6fabf5f6749b7dad7aa63177bb7def9090114a63d012a5f4849ad0124a42a9483ffa5408a5948a9e524a51a1a794829e52175485be119ea7947e9e863485524a9f82148807d417aec6f6f469d497ece9c3d016148552aa3da5f443f429b54fe9c72889df4761bc70a192127e5068f3e7c4660a04407a35b63aa493057b26bed63a68c70a62a0e5049b35e96b15f48c94ab99dc0ba609db296930d29d1f905c8d0ff67c92ab19e9735c0d278391623bda88ed4c16fa5b147b3e89ed8cd4fedcac8a0569d6c831b50dcee1b458189a7bebbf37a1ad75b599fed3c38d041dcbbba0bf20fa23636cb3c519679bff7a20ac6dc6f2cfe4dca38aa72ae6f2ed66855cd21fb59423f4dfd39afaf255c7e37e533d554d5455ada8ae5aa402d1a13455a435b652d428d45a48be27245bbacbcd7021060435fa2d245b4adea2f0767a628b28b79d6c4ebe836276aa6e555f30b639dbb8ce83b934fcd8aa536d55e8541d146e52798dd2e2c1cf42520c3f8764cbdb9084d94e6e5209536060c296165014ffbf05898412fa763a09e7dc3a55153b28b49a71a7eaa0e85618b61b06a4bef89b7c4a3e249f91cf7e52488ae36714922de3e73f54d84f62aeed3485716f272c5581541ac71487de3f14869cdb36270fc28a602e4ca7be60ace92cc47430177e127361457099b313ac48152bc6ae2a2e60731b98d18f83863627e1e6a396b653cea64f6ea7396258114c87626a4d48ac923ad205ad64fe1c4b70d03ad2b1deb8945623a8fb4a9b37b4921d3ecef7718694fa38391a334337c8162270dd1af6eccf963b1007025f7b0f2c506f78486a32fc01c6fc37b42ccc44609cd58b04dd82b14de33c5b0b8136faaa2f3746694586885193c6bd01fc59b2cf025a286c12a35a0eb0026e19a41ba304de21429b45cb578b457d09bd667c7d7c457df93ca8c80daefa72f7d7c743ea8be7bb2a566e32968c29ea8bb6aa2f1a8a185f1fabf2d7c7a9d2d7c740ea0baabee0d7ac29aa49b35a5a25c44dbac64dbaf4fcf252cda8154d13ba44bd7e64d7690c43a610e7443fe7ceae2ad622f995b1287bd0fc40015141a1b510ce43dd12c3152c227018c0a0b2f1051d148c17ba4043830b4574d9b2052dbc56dc5d6761d3df5cdb8afa420a218e36a797c1e14500c0e1ebe7e04045dfe77923d2084989c9094a8b07c31415172fde3fa43130de5f85c688e2e8bde8354f64a9b03d11cc340c10b45f8024241760f82a600c51cca1a5a5060c8ccc8d0705a0e3260107683500881c0a04e1ba80ce10af10144182b2a44a9c4e9452d11c35e7664421dd9e385245177a6047fabdff17d22544e7684dcbdf9b96d06b21cf137d23d2084989c9094a8b07c39894f77f1aa3623f9403ea1665029502521ca442903ea102a9147445058b4595707343a1d06a512ae4e4502db85c140c5487ead032bc5e740d7487ee90a02c95389d524043536bf542215b435e588170156533e3efcd0c500f017d3e5e48f48d48232425262728ef4f42635abcbf098df97750152a0e522dc0fa844a55a558ad2a152c565542bda937150ab5555b950a35a7e6542d5457755530549daa53cb505ff555d750774850964a9c4e3f68683e2090750cf479ff4fe877e4bca68a37dc907d405e48f48d482324efffd19892f727d1181393d1fede569880ce040ae53848a5fc0995caa558ad9c0a96b35c0937370e056f79cba9e0399ee3eeeeee9e85efec6da29284140019b5ddc324e36ce9016d58eab36c9d677f405e48f4bd3f88c68cde3f4463489d1548a055e2741a534043635d5053639940a12c0e52a927542a29562b2a582cab047b636fec10dbb2adaeab75db386ea6732b36cee6d8acac7459e5ba18cffb6b1ab3df3fa3319ff7df684c4763bcf7df3426141a6d76856d43a0d582cb65c1a0a363cbf0b22fbb06bb632f09caf22a713aa580cea0a159a28a35359957ebae875411c4cdd8b1727e816420e4e12eca46868c8fb63693f1f7371ae3f91b9244688b851e25f03668df0389e71e89161927baf7801707a9d47d42a5ba52ac5654b02eeb2a81ceb8b919725bb7a535be56583b7eb89b6313e3e68cf563783a47d318ed6dd6ad0ce400117bcc5e03af165cd775c1a0a373cb705fe0cde2ee649b6bf53610a78750cee21e20cea6540275a8a573f45b1a935de7e8562b871ea2049d71c2c2fe8169308d6ee921f5e5128197f011e31aed82515f7cfc94b1321b12fb2da095e8718674b258cda3c7a9471e967ee04e4fa551a0ec48690d696bbe08349119369d275906cb5c19cdb70b5a19cd6e176f4c85e60403681b646aad6e003d565a15306fecbc99282f1966325abf168377cc40abc16d8ad784c6cc39037fad64bd18a8f35f8d77e857c3d63fc78c8e7a0748f58b2e8719858fd058d42c26bd43acd0b7c8be8274b318eb93949586b7a5e110503a59ec9f68b0597a1981d1a97736a493e5666dad574ceb6a3b1c621bf811b65a5b85e38d41bdbdf456391ca5f186d455457fad748deec2b4f58345830a72ecd3d6a8f21268f3a78acb4d93a43aa3f75ea25fe79c734e8f6b8f85df1c1aad886c544a592827afa79ba80b4449c2f790d4e46ed961657928465dd545320ac94dfa5098e975eaa8ea722afa2889928c42f26f48b678e8a2f42b8b7ed4f7fe509787528c0bc916f16d4892ea0cd570441263fdd903a594520ad228a668bf02e1082444b1046c05a3fd794418c68a8029da29851ccc278cf6e70ec68983014e406c6a60dc41e7074c74119a5552f71091462bd931b930e2d0473a7e12dab43e061e17a235f44495a026bb5ad1939055139ad084d00fa220d1acca289a99a0265b6694f531595a518842149e408448c67d88102142847e254284081122dff711f9beeffbbeefeb703a9c0ea7c3e9703a9c0ea7c3f9887cdff77ddf27ea703a9c0ea7c3e9703a9c0e87c8f77ddff7853a9c0ea7c3e9703a9c0e87c8f77ddfe775381d4e87d3e1743844beeffb401d4e87d3e1743844beefd3e174381d0e916f77381dcee7e970ba56c994a932b54e9923b4a9425e9a9256b7f7629cb91cd4edc5396b8de1acb12cd3b42dd336aeeb3c9efdb19f8f57fad136782987838ece698fbb1fe272d051545f286fb928dbba168faaa9aafaca126f5e3be5a92ccbb22c5128140a857abdea2b2727a7e6b8745ead8c55655996250a8542a150f5555ff5555f3939395ab76d5028f4daa9653d559a1ad68d4aa52acbb22c4b6fa1502894a3eaaba654755559f32b0a5f55a652a9cab22c4b140a8542a1eaebf5fa843e92c7ba69bd4bd4a941a9cab22ccbd25b28146aa796f554696acdebbe4aa5ea549c6a539565599665cb5bdef2160a85fa5c2325205db35129d518c4d451a95465599665e9add67c92e68c2e1d9675b93e2e4f27bad62a954a5596655996de6a09d98cb04b4420ce58107392e64f718a6fcb72e572930eab56691537de10c9e4ab4863c5437d22da30ac9b96aabc8028fe9348a57eb95c274b5da5aad6e52a6d59dad2cbcd08fb358ceb79e33956e526abc26c685d56e552e1e046eb12020ab9343b9630a2999552fc3455acf5446b757baf2a6f760b9adbb84a535f723c89516eda515f8097a835b805359ec43f46c73e46c73d78f88bc5bde2e5495c6372fb4aedf03dbce3f812cc1f2f2b4f7a0f1937dc9397dc34f3eec3072087279dc6e5afea45c3a76879d2c46be830e3fdb59b74bcff7693ccfb93ea0b0eef2fbae9060e6982d453f511561a1d600f27fc05f3256f618a35bbaa887253d6000849bd7908c94db21192a418548d9014475df37253b6f25209e64bb68459d697eca68a2737653bd897860949bd6f08c94d5a09efa9929a8ea63968d3830c48755c2ebae336f4f5a23427c4d9d0564b75670e5bc5cd78aefbf1008fbc29663c16c95b4dea9539460cd68d97aa8603a4323d80f4c66d288be582039c32aa6ffcec1626ad8e792b4fe5952d5a783c1e8fc7e362b776ce5e6d5500c08daaa512ca0b1414f26178442ec5a93828b815c7a2298a424dcfce4ecd1a39fca368148da251348a4619d101d2d5c8086743552a9047f2d148be518968cb4985614a4a4a4a4a8a57aaa8ac5c4d9498989ca0b4a8deca4b55952a7b68d1c2e3f1783cefa38a157c529b26252627249d8ecfb1e3c5a4e3f316b22beb88190ed07bf5007a3b2a6fe5a53c1468a78a9584a4a4a4a4a4c4a4c7096b05850e904b71aaaa0397424141414141e1529e1d2ee5b2440d87833416c126c7e7007a2b4fe59d728844dff77ddf08f4839403dcaaddf2d28d9784545106dc2b1dad37e9f593621d7952d7844e38c050e9b93c9d957bb79a7babb8990dc5abb66a865e690a5f66501a0e07a9082db650e849adc3939b340316e12524e6cb258719e11e350e3d6cd103484f2d381b5aba80dfaa8af5f3f97c3e20219ece0b8b9d10061f10844b0890bb80ce8cb08553520690c2e990014b320edaf4b055afc2cd6c958a0a6723aa703ff8a8c3afe800d2c9b2f22adccc0dafb9e05263253dd738037e393e805f0ee0d79a2c2ee087aa62b6849b5a3f6b7de59ae89ed474b826aa8e97ea8fe00c904b55b1fe60d3577dae59c385dc1e0f297ae8955be59272219a01ee00805f8e97ea86a255ab672decc96c4734c5983da9e98cf56540cfe5e97857782f6fc725fc54398073b2e0d10b6ec67a61e787c1e53019f7ea9301370ee05e817b0437cb4bf56f807aaadce4795be56d158e16a3a763d3038c91482a3968d3c3e31e422f06373323f45c9e8c92d1272a0979252c3fc7951b4292c728634e9695707233326280a4d7227d0422483e0c2e456e175b457a3a64ada2aa01dc2a92ba481f010a9722f70de834d62f21b7aaaa6124b78a6c1949cf258ebeadf28030d60f792e51e7e3b94811cd58dfa31a2be98954e40784fc9e30d6cf3c17758da4e7aa4346d273ed29c65a4fd547a5c12a8a6aa574c5aa5a8e68341e3cd41d55b05ed8a44d55b717678d65dab675da105e9a3617c84578b8cd3a6d8cbb9c0582707d38d0007480f2de3e6cee06cbe342f4d4719c6757dce73e4c46540b66a9ae7c8cf5ed12d36453290b24b3328b08a7fab29a353cfb514bf5adb0a248912baec82cbbba61469359299b1255577da1b386dbcc9aac5aa49adc9d9ee8899e7c788e3b3dd1133d71960876158469a23e2afd11640822c7d9fc8f48d58444228dd0d0de2399c55114d0d309a629b3a80a46bbb22b2164969becca4bd5ae58337645c2759bc6796760016193f355dd5e9c3596659bb4a50c322aa326cb0ef2c66103d091691e7a63a376e5722d3660605c31c68c0a42e6012de37ef011efcd7681cca8a933810c64ac6f81691ac2965edaa4684161cbd2961b10b6b66509a68996f60463cda88dbd326aace58c673f6720a11c0a896a688b441fdd3e6ec6e7aca18de64b4e8d75a2326ab527909cca282dc3b42e636d14b4f8dc94da60cffabe67be067bfe08228459040a03d3d2729f8a110f61b2c63af0c104a7ca34dd58196f98b048249a6bf63b3f1a30d159c23ee0fad27945506dce3acf1ad97ee1a37bbb97b508dd7befb0bab627dc05daac2f2324fdb989ce920e79a0cff674dca6655367ec714a523242624b9ab14ecdea9c352de79cb51609d99fd64a3c8f81eeb5f7cc2a660e07dd3a907a6af50e74773b7aacb5167339eee8f97befbd99cb8147cf6b78eb408c31c658bf96b70e141d616f8fb52aeaa25e2f168bd2581a17e9ae317feef4e7c7b8d732ed3bed7378bad76317921d18b9d7c2921d7ad45e8f5a487660cc3aed7374a16a4e96e731524e2be9def325daf3183d6107ba108768e4425ce2108d5976abbda3591bdcd2a02d2d366060687515ff5f11355bc53af1c577aa58385f9b31ceb905c6060d92c98a0989a4759e3aebccf217b4b8b555145754f46662c34d5bda2244d3e69eb456776b6f7d3ad6901e8156ceadb51706a68a37304880b93022cc103baf228c20620798c307d45205a2456712366bd02ccb548418f1eb6d87344d73eb83157fbf0f55c476f4703b02c7fdc02a52d5a9a29f660d9a0f7110a658277e49b9cf000761be389029d6afa1a39890479b69e93c91aa60391324baadc0311a6d785d55bc15ff10b378d2a6f951c5ea34ae2aeea8a38754a78a6faca371e21a5c836b489705b8353d453d35593695a770ab0926bce1edfeb6d2356853851c71a178142ddfaa8adf1455742fec91534b4bc9c304602e71a38a6e63589c1a2d897fc07812fb109fc43d4a4fde2c46cb02ea28812208034401677df927af4e8d5b186fdf6fdc24366152e3e4eddb94b7302d415a680460bee02053f4775615f10d7617aef23793c43b6313eeafed1f31404fcb93e3b9f1d4049923dbb66ddbc66d3bdbc67293d6d6ff5b95406f95027a2c8d6176e3362baac95b79c9c1137b2a278bff83a0561541a077f1df491d52a53cd03bf17c7c5378364f91d1dfe3d119fd3d1e8f6bb2f86b936e3928de143929154a0a05f4564d7853a0bc86027aabfff758df2ae553425208148f85027a2b27782b6f8a16e1de54efada6a82f2c94906e149450084fd52868cc80f26fffc39594289e882727284f1fc6c9090a8a8a0ad066b7b039172a283d62805e0bd03b4d167f1c04b35ab85041f91094831286a4d66048ee9d228ed83e814e206ec686362412cedec5a1bdbd2d94692794f0dbbe4fe7d41794f7f74e98081361224c8489b06f85128e7c3324127da3cd7a814e52fde46c1fb5e4e13ed94024da7236e7ad9ab0adb7f256d393aa2f27efefc99935ecbb677bb6677bb6677b56220e87683c09bf9315893e4fcaf48df4a7805b09dc6eb0d77a6f12e9f14dcd28fac3f0ff566eda272ff9eb3024f5064372934e4292b4e5b8363112ea4955d1ffc3275a8076b29c3c7d14704e11e52dcac949b84f230e076904e51461d3d748ba33094bc03982a48f2321e94902e99960f41e1f48ba0fd1b71af76af4f7401234c41bc1e8ff013960bdd5e85b0e69476ecbf12cf163dcacd11f3b6d45f6a985068cc5aa11974a2ded4073944a8c719af6f619d8a2e009701baa560fa62787bb1346fbce8419e3039de16f47bce4491792aa62d6f0de3e09d421f2938f1fa1277d89d1ce1cfbb63562bc4961631f688c4b61ea7093e7b81484885c67f4df72de18f6c1b0cb4bfe2430c4854d62d70612524577dd1d80501d88e95411bb027b811816b5e41f02b12c381cdec8bde7b86b4fba0e76e12258c74bfe25202784bb21b927d410c26f38d6906d9fe458a30bc94f724fc0a18d5d98d14c16a7b11c8b13c2ddd497097acd51a37d8dfba106c10457803c6fdf13d2a8a2a35aaae8ef857bb290807a96404f4b79f4e82246d0d3a72a8ec3b18d1b1440d0d881580e88595145c72e9227ec44bfd78444ba5a87f6d69b9be9e6fefc879bb1197d9e82428c9e033da3ebb889e6472df97fb8994f17b6b671194d14364d7d99a3dfa8fe0175ef71339b5a2e744f410ee446ed3f02331a5715fd339aec4715fd3d6056c3cd7461465345d7429deeb6f1921b85812e52679003d4616cdcf0ebadd1561708810ba3bdd65be32b54432b5bc406006e98d182430e3164b0b8c4a4842e566aec00034354b5a8945ef060fa171d68f090030e2d336e60597111a6b8985c5c5c2e0d11868bcb8b1fb8b8bcf8810d1b20586307138d1890cab88831620c193c9048dbb66ddb7612e3b2430d1894ff11ca68341ab5e0529c8a06004418a33ccaa33ccaa33c1261f0a08df2288ff2288fb2b8e5a448484a4a4a4a4a4aba9d506962b2723531caa33ccaa33ccaa22a55569144dab66ddb466e582697173cbc0d00c490c1038665599665998e71a9b1030c18311412894422d1c75af16012479f47799447799447597c61e36180deca5379271b7b7f3e9fcf076403dcaaddda37db9473ce397b2e313576d03419315ec0b8783cf94589460d11c68bb094b7bce52d8b305c448ee338aed379d178f1e245c8c5c5647a156ee645e8b95e4a29a5141735768001236258466aed5d68e8f0c2f4a28398b7bce52d6f79cbe20b18979c73cedae5e9d01061985e7470791a2e2e2e2f5c5c5eb8b8bc504971113e7d9594100449afc5a51ee5c4d3f15c4f1a7da21651e4b60fc8f784cf1b0f1cea8c0e9e00ca7befa2dfa874ac9bca69a7480600000000d3160000280c0886434291244a734d513d14801160a0506c5c4417c7b21c855120859431081800080000119191991922005ab2cf7c379ecf4a7e9dd8d85b7f71d3bf1adc7c40b933b29bc5404fddef83a4c8da260954650ef01190f609835f61f0442233bf91d6c622ae2614633b8e90d30b4ebf19771ed843ab0ea76d1688c233539113680cd007ad30dce82944373550a351c0af9a59536b2f946f027ee393933c6d3f115863dcdb88b2d070a8d01783fce9242cefc68396268f8252a3b01ddb5243f4a0622eb305cab515e3029f5134db5a1fcfda028b19a033c0178bddc2d94ecae2f8d8ccddc2d996f066a91653f12e3a73c8fcb2a149358c5d210ada96ae3fb7df2effdd9c9f6f4e35fcd0f1c227f4768ddc1639242e361630b9486ec05f2d334b92d2961370e092a9157685a0c34704f99314d52b2606001f621f40e7128a6899706cd11fe0105b1475a5a0c41d96d221cda45c754cecc0996d38806c933443573f6595a48529ba1f3cdbd3a97cc83c30d5a075edf4f95d1d836328a34199ee4c41ea46779385c141d2cf68dc0f3547899fdbce50f349f9479dba26909306d96ee24d11b46dc21ea278eb24bd485f21f8c36ab06fef94c18ecb2c95d5bd3fec65d58f69a36d05e271658c9361160d3593c286ce22d0c3581b746a64e98a736b16bbca20ce462a35e40aaff518b6ec66a01372e7d99c62be0bba6bc361101fe9745a243e8d205c179d9d4f546874ebaedb2e85e25a909195409441d8a63baea0490fba1e608aba60f8bc5b0a905dc0a7b99e53bc8431d78e76dcd8d699ae10d2ca8a5ba2dc025e0a923b345d99ec29e5e47684a31d99437b3a309ba5af858fd4c4bfa76c190548649959c5bec5dd656ca94a01f59053a8d9f873aad24ada203397e2239e88b00f8c657c0328e3ca39ec3479ad830400e5ddb20f978ad68bca0c563b94dc189da562c66fb0ef6d02191817dab3cc4f82598c6fbcb1a61c1303c87b861ded84793caa2479fcfc5f4f3606b705087e19d90f034d1dd5df24b3016d4160b3a816336902c5fe4ee57c221714431ffbd002ca29ec211f8195ae271bc4bac3eb5eb033b8c221dee494f8ace83d0ef9d3db8b7b8c3b0005c21aa432af82511f94abea59b6a83551529fa2382c36ca0e85d7d2c44ab78e4687ee35158e1bacf1480e5d3ff065e3eb8ac261b3c5240f3fe3353a7718453cf52f8189a486cd39a1da33d3c1fab0df92e81cc158572bac2eb1b27611aff8fa3102b3007e2b885cc9e89487437fe443d886deca0cc0f2f9ee289df24f53bc1fe331fc06c5d2fea4d2ed356ed85220cb03da6e10aa7041353df486460220d3283710239890442a2d12ca6b11c1ae478cf5e5bbaae1ab5d3a635594a34675c276d1e36c5b13084eb4e5d2ea54d852a11ddb48a0f88aa4dff284911ddce5119ac4601314ccee66416c63d0947582315623f5ce75dc85510c7b7a9ced7222020a8e9c9c5e8b0638fac31636aee3351031fdcce323669e31006a6e03207e48f38e529a64a5938ef2c5401a7ec5be22df7498207dbf18945cb043e8a5014da2dfcce7f52e4661754f4b4c467f670e573e1158c9d69cba1518a56d225fc711056497b3837aeaabb7378d36967362c37abfae62ca34ca97896558b8c472d495207513b5850349e14805e88f06693ab3b03a0d6e69743b8175016ecd06fa71d79f30f51065d7a47b8d690055fe49bd80c89c4a50df90b0a57daa012748c8751f22e43f63725246309cbbc071d0d9e1899b2e5ec26cf44cfc881803b357f1be2799820f061c5de3bce61a59a127f13de47456dc5f2dce24d67ecc564d4f49f2ef9faa18f3a04966975ed436ed0344f67010cdb0eb8080b9ce9b055ca9fb1dde3f66da3969373f1173535c7fe4a00edc13c4503393e0e4d1a5386fc377670b54d47dc5ca8d71a267fc185c15221ee17e0b20ed782afef81500622133c6487fda142be3f7af7047ea624d9ab75490e8da4e24591de22dcbd198a34d816c2f4d15bbfb2a3210e09ca2189e0e75dd525c523182aa0b2f10e5e3ee6dd853b48cbb055a4b612905fb39ccde8c37d349eab53d453652e930857b8aea0ab2a80128eadb0dcffb815f45559de292c43b355d09cb8d9fbb4b62c1501f72c2f02657eeb662b84b6841e3640b1a5d881954405d3a5c5fc08b93d194b4853ba4ef8f284a4c09f7a5cea3104e59b39303f2aec1a590e15c91d5ed579c7c7fb03d41255ca138ec020de55fb94eb5d7255e81d8c3b0a9dd98f195404bab22466002eb22a7963531ac190376afe1d09bda87320330237777e3b6152d3b00252ccbcfd6d0c4f1644b57aed2d9d902a08d4f24ba92cbd7f8484baef152d4e0e1bc5755232d96dc9bee4ac914dc423364e183ec851d4fede05c4e5899f2d8cf16d4996e29cc4792ffa39016104cf11b5f6f80f347729f089bf3aaa3ea5a67d52e8d9bbeaa2564cdaa125d75a276d5a43cce301a5181fae68251ab50442b1e10a63f4250f4132505f0ea7b3c64143b81ef63bf74e31e4e85ffe8c64fb00a83c01ca44b17e126384c2e9650bd218b1c7191efc4e7e2f9fe00a47d1b49fd2a02fe076ac31f6939d09e424492bf0fbf2e358e43040e8cbd04d10279f3850aaec74c50846ebd864a38acd5df476f91f215955dfb0917906adffedae1f91d5b7ad83dd75bf74012e69c7d1a52d15b666cf71a8e1b1ce193346176642d756ba0ea455463b0dc518d6c4881c2e352d84cb978716901a0453ce2126abc4baff9c408e23b05ccd4153e191dfe6ee533bba376a334e9189c6b657d344631ceacfb33a7009b81eaca70d3a13dcff95e371cf0fa3c9942a42a39e36ccc28d1904d6c37dd6d358cd9747e8010c20335f39ecac34004f95953203c8110c2962b7b81acbcea174949941f418ec62a2085707dc6cad3049052370ff8eaccafc65969462601989f0b442519cdeb2a3a078cb9a6d091f9102df2643856535c9fe4665baf7dac6dac77353a475ca4860617bb896eca20ab3bd8b8c62b431a8c159bfaab0cad699b17fe516da4813151f1505a1954b3c2fc2a2f969c4e0d76547bd7a1af8c3ecadb484ebabab67af9b507e07fc35bcbd4df8a1a6d60f56a9e7d2a039f8035a9cee15746579772f04514cd1314f0d668c857a74677d734bb67d765d16ebbc0ae33fd913a8dc722dcd3b4765a26799032288f4a723da414f7b48a8f00298a59d765c6dae5fc7cd8a608e88433b0260eb9c764354bc852ebfcd5e93880b247ec5f4ea5b51240f6225abf7d83cb7ace1058c4012e57c9872b721cfaeb4327ebf8e434dae39bb57f57d18f15d6b596fe0684df1037cfc4f27ed3206c02f216ae49740bbd406bbf885c11769b09fd8c7441c1c0588f3f8e44b960f5e5ea8bcffb25a181d0543bbd416fa0a5729c7214613a56c282d6859beaf4cffdf1c02e381687d3d365656b2cd9ded97d3fe3beac36934084fca172d03ea212c72c41ca06e14067af2c4c1c09fba62dd476f31af9eb5362e573db583f4f2ad2904a6e5609cdabc9d7968f0b93f0ac63cbffd42b82297a0ed016a95d3a02758d994b70a0075f3ffa7fc91bf0ff9e279944c307115f7db99435077cfb688384c3bde09c6bfe0607c6a9c379ef3e8c6d7f571002ed2c421b26467726f368bbc5af4356e653528d522a9f3a34867e31c98c1316195c7970634bd29d2d3de9817eaea1db1f286a93ce1173bc17b058c5cfa7cb88362718962997c74ed0058f914d922dc85bd8d6f3711fad8f77406cff7e6c98f03d0cfe594321aad9fd42e7e8789883d7b0ebbf70d98dee39c049a259b4977c62dd3c953ad594637ca6b8097f44878f813f39e311b4a67ec3c85079c96c6b7d3683cbd0116aafb6b8f5f01ac5ff6ed9f3c76f07eec6e7fac8f4634313a018f1b95cf67dfef0b46ce8803b8f3312d1842d580411eed8afa0f1759715ced362bb68b84e402decd230bb4adb7dcffed8c234a856da4755df3eb613ecabcc5be48f79be087430fa8c3f39b524ddf5b619b37bcbb1ea55dbdc9f5073db69553c96925fc7f9bf856cce8e86fe2bdc222b027da9519a12067423dfa02971c42824cfbee0513be0bfb67900ad45eb07c795c7b6dd16d00a221b4c28606ca30c2af8d01241520cd694ae9a82b2aad790ec8724d47917c877ce3a265c9ba641e05b744af11ccc5526c7523709487076559ee19cfcfd5583aca419c6b992a58149106fa729ad43f3493541c058b33902dc8fddccfe6bae44af6f88417f9063e4c88f93f58a990416558849a2f917f7d93638d9e814c6a00885aa3100d8ecc654774955e9b7e2bacc38f14678e37d6af278e8273b08fece60273b8f4a3682fa5dfd2a00ba640185dfd6688c07692243ae8222861e0ef8372f61da9719541c1c895225e077f0b6d9421e3989fddfe8554a3baa8ef4a24c8789d5e171a15050da78a4a22665521f4697c75cf7ac123f19b459ecc57c7f5ea67b8d35b7333f1a9c4ef1f5b0db7af728ad5a1d006d9956a807ce5a5afe9936d3ff5b4ffdf238f092c918efdbee96bc290e7f2057dbd42582c15a8326a35f4e1d520583d02338b2bc548e3fc34b8c5dc2c15f4808da988aa0b0192793f27f420c20e6dac3c71a57865338d0c3447774cf4488041c6628c61b15cd80db34748fa3d1986beb66ee024cb941f7884137a12ed15d87b8a494c8cc33cd9cada690249687065161dbfa30ecbd82ab4011be844a3799629f1367882c3346205279bc8becb3221f7eb3460b12e89cb6d0ab40ec3b2eccb8ae4ed9ba5e4c7a178e98b9d3786fa5fe2783a22832db0d08fa3effc36c9a4e8440eccbfee6846cf2842580010b8ba9836dee31570fb939fba3baea65c0b2bf43fb2f8a9117feb413e6a5549eb859870ae8868c32cee22bcef1f80341fa181a7ade954275210156ef8df9713a504a3e4af52627246b381f5526d0c3374e48f1d09fdaf5bf5cc0243efed6367378860fc5bbe8568d4f32d591611d79a57a32d723340ae773c4dfe7e6cf09a8b2f33e54f4f9e67f0043cb64746e34184adca91193f6ec02901394e54913433df558f73f4e10cd5914204d5b16a528925c25c39094d59a2ca61fb74ea2ad06658b6a5bde336a6a03a96894d3c2441f9bfd1f326ac13f3bab1dd49727e273bf9bd1984aefba7711081206b3b8d97b05d659722414ffa704416b0707a3da27b251f44c20d8ee03b9002c15ca0798c0a40e0a0f9203ff835623237c83a2692dbaf39e5263f24b40e834dcd7483d0464443caf25b10140311c110cf2726bc7d5d9002a3e0c20f425e49e52461a3088aa6b70724e91a8c3e4f0772b9e37068bf76d1347641af49aa35d54e29e63817f86ea5cabea96a00f1f2e5500f5585f31ce77561d76bccb243f9e0dc485abc682ba47281845a9645fda022a3f898ad0016e3d5da3d3e277f4bb2d6f9e27f2dc608c00c52c1053eeb37164362d3cb3d5e90d2aa4ce9879624f40e2f53576521d64bd2866dc24a0e4679c4aee5fcc3fca0264ff930500e384f503f23f8bc47b616030c83c4102fdf54864018fe4c88fb567aae6806b65980c00e37470e4c43fb05fdabe9c8e0648f0440b4b21821e0c4bb1b578d2996f55072de2cec02e28782121c4e7e36ae2363d40c2f2601e8d5edb45a70ba80deed3730f842d0cc2998670948ef39d2a9770767043975d3a3b64b1b4cbc2771a6030f5a1f7220236079f04cf83fb07993f37b8101072527f28f3c481973eb1a012c8d611443409b8ef5a93eea12853b0113bb6b867f6309db1666813a4ca7f0b4abe2e817de5bd5ac9c09398d4097025d5f27964e0a800671805bab5a453209f4006e61a1b65146dad804364206b611658730b7c4db1c3a2fb3f0c039c2606ce8d0113aa60809a91b4d795e307540cd467bb8fff99aa03b4476cb1a715759d5dc6d66d332068bdde61a470513e47e19b2b9004721429d9cfbac9ee95981ef3dc30841400661e107a6ebf73e54775f01ad493362b8a6b1d88884097eaa61eb6de674bb3be77efb4526a578ea38537070802b689f9bed28d727a8d0681fa9b77a9ca5b833f7fd63a5586d5f0bbe76bab54a9f065311ac9788d2ad51efa13814a03fe504526bed80ce829b9961a92b2f7383f2edb617f6740f57afbe00c7a800f25dcd10b7852c20d3d869372c1bd0c4a11bf20180006041f107be9c3f051c62c3d003e25ccd367f8532adc3267f6c24865f6006eb8b87d727cfa009712d6d2cf702895ee509f72641cc5081f6ac7f8303c28e12e3dc64769e13ae10c9058b4f8811cc407dea1cff828972e3e0f8eb51e3af06d85dac9c53f42ddd675a85c43fea8730026e08e3b124f6576abc3dbd4d809f501da2a150e8e1aa1c1ead750ddb5b7040e2e57b6fbd29c38aea2c2b16feae2d500f73a773c896374b843201ade8a0d406a23f283bbaeac671e0cd40c17250edbdf349e0217635622896539e4a2a694e595f0d6f2f59182c4680abc53212186487c15f735f7410ea303323caba390a6b8c378d1c5b60861b0d1ef4abf470c1a15a156969c295d7a9b84353f451c0a5bf5e1d0e5a83882b8e060a3e6b7849ab6aef76dbf9e24c0c6acd343261bb2b0abb96e0de5c342538a5395c52ed4d4262397b8931c9e02242e0015eeec4790ffc562d484f58cc32aa8408102c2c773697e6686835cf63714542c526431dd3dbe01e7810f8c5025fcd4e6139df50bdaba4a7014e3b31f29b1836feeb3b2594a2922403d65addcaab2c71edbfd895050b3ca07568327e055da09cde9f0042a6b273374efc6de5da111ab7c663dc8808361ba77e267757a5d4dc79f8966e23ecb3b5c5b77b83fc2a37b2186dcd7e0530dbae9b3c0d3f2271423957fdf69bec1ca86c586dde56dfb9b5b2ac18b6c7c11c6d31021ca5ea9f8228b97053213531c161dba040e6f668d2cb2cecb96e2328cac406a79c4eb9708d43d83017fb4b61b8eda3c5cf83262dc7399c3f63ad34e84ca34490f0e58dad8b420183badf4976f6c583c4a6d559cd53f8acf526299ab79d6b75a245ddaf9797dda69a6bde1eeced9420166555676508bb58e99b6ed3e37a049c0acf4ddccb367063ab38c3d903c8b4c1d667508b26a91d3f44b1dd1a70d32a4c82a4e32d9afcb28a2c96aa4958a16a76851614ba4eeff69041e4d2f6365f043239312eeb0a2551fe197c8c59c8277ba05748438e1a5a09663f23d749426f8cb22f98ec47237bb93d2911088dd24a675bd12205756f79185010306f9f2fdd8e3aed6799d9faaf971654226bf8f3205bbc42f65830439dcd8aa3e34a4082cef81b9a732913344a3d505909b430ed938081d022ac702ea5bfdb2295aaf844a2eea48be68b1c5172b52bc04e6ab222672a2b4c17383835e9874185db8be9448b7432f28378c752151b047cdc34f84ed7a48f5e88438ba2d3d775c7074322d8dc77f29a69cafad30e8006f4326ebf30526096d408d1a3136edfabd26ad34d3dc70772d294181ece3c0b7a1cc34dcf9a480c7d83828de31a1d63c933a2c5e4c8ab66ad6ec3d209c9b39db983d3f08aa82c1d75667850713d92a1040974dfb3fc6d082a8e8bc364a1508a2413644907b351a5c21a7966214fa22fa6f5d0065077e3e84bf600108e146e813dab04561812247d69c2e8a5a1ec0f31e8166b240a5bb5e37087b05984132bfee6f37b186f17c2be446f4a84838bd23149e80a1a8eeea4ca5d2dbb285e7005c9bb46fc28aa3e6ad5967768d329526db19e5cdcfd4ec4036b0f480e1ac6b817ff14af03d347ce7a9911693e6f8b49a3c1099fa2492a6bb8e5113601c7d11c0fda86f19484b886269fe5499c8b59cb26e4b1c104464118cfe5e385422aa7bd99c946146e2e62d9220fbd8d3fef37187e0520000a1222b6d7721f65e31f014aa6fd608af55fd2d0c7c2d22a7027f922655a264233caeb627034c5001e2d264c0c8c6519de22b04b5ddd74b4692f7a800c55b01b6a7e475ad52b508914ad2be036905c176cf40191e9de20e8458cdceac52bedada59005447465cba7c5a089f30196307a5c3a9676ac14a3eea1a1633d6218047dc3cdb743deb3aa166faa458497b6f5fb4969da9551b220d3e89023c57f98188de42a3a077a77bf23b3525200b0ff7341b4844ae3bcfce45a8e42d9d0f7fba2411a4080fe9c473b0755e445e194b08676782ccd6e460038d7da868ebc08336b46f916929d0b7cbb0039f3aa2a4ec099c1b2083cba525dad82ecd8a6d5ad115e92a7172f68c2efec4b7e18b1548a823ca13e93c179c6df240a9ab53ad45652e4edda2b3ed9e83af6d4e1550f665e164e49dba68d1f3c2515a26ab60052858047383aaca4a924adf37d9f34ba6c5313a3b56880e40b6f4c3b3e1336f32c308a536a5b995a12b3516c8c41966086fc46f849d9df887764921bec32f30d337476e2f8200bf560290813ce6505eff5171fc2308d15c4790335fb921e3ae22384b469b3306cc82384e44918513711e8bb3fc8c3e17dd10d131f0c64313fbaca41794a40d301ec08355257e58577bf1fab06544ec26a3b221af5706797acb39e7be23b9d031fb13bc6380737808dd781a11a01051981a99404ce83342f3c61b362d3670ed65e93a9e88890bd10164dce5e24b0c9e591e0130aa154aa2fc0e388a346db7bf8e57732123762696595ccb478706620a4b54f3effa6a3446e19061cbd32693301bb500921f5c8046c31d717226c27169f0558812c2548b002becb3e89ca608d89686139148b6265a7901107ed3afda4294bb9d13377df82bf79d8e839ee441806c7c714e423115a96e2bc1f47216ced0c486c770b5e57d604255bc3e6b00c7897a66ccd925def8bcb11767d436f4493e6740160bf9ab8dd35443baf94f11b3ed532395d91936504a7d8ef6fa949b11878db315fd8ccd124ee81587e44a5c156fb88f24f94f390c38d216adeea1bb48b0f0182595f1687bdb4b42ec9675e3550010c00df6a7eecdbbadc8eb1e83fa9c5b88d242cf693c4acf47ed79b49e53e9f9ea3caf252acffc2b1e084193c1a9110e0db87dbb1100c009fc162386c2df42accb7decd3469718e485f294f05981cf769e5a7018684ef89f5a02df504252253f7e9cc517f746bf9b9e71435c140fd39cc7c9b5f4a490049b9e4adbb4e576f1cc6cc98abedb14f2bb299891e8e3e486154252f08d91b338212c125f774cdd2d970a32b876709a25b55c8b1387759a55fa0e1302a20ae1346960f167101b5727a036e1c9c4f5ee9d9130d069fd739756d21d2b1f59e90068cbb1cc73be4aae1842369a10670bf851042e73c408cb89eca239e2f6b50d84dc2003547448eb25553d75f0805d3727f9f051069d4ab70d57422f10b181499e87f8c5d8e9774b9e7984c519469a27c04f0b3442676eaebccdc3da9c9ccd568d562ab51720ab4b660d259dab1ba0fe550db0256f5ce0b8bbba278e18aea9467390be888cd96293510d9b03c788363f8e8803463499e93700c84222ac6822196670ebf706fe9756a4d30be151cd8e3130ebc805ce21bbba8e2141c58b34b12eea36381a8d4c3833e8571fb3ae8a79ed3fa91beb74777d0df2ecaf5f8c2ae30c3b03bcc3fd6c11d3c32688edb7274eca5bbedc57fe9ff247a0011c95cde8cc80e1ef7017e6667eb41020dea190ede69f5a46ba6d92123e7006643a3b1278a2c7e7263b6688f3dad6b01a2a63708c93bc502d357ece6614ee87479c7b51f7ed39d6649434d196adfd2d02b6fc3f211d6c05b03a7b3d043ffcd513f88328814078ed329405ac426b5be455b5ce4423326e958f5cc4479191f46778e32a94084bf5215c3ed22ab87c52e06826a2054c63115285900078ae6b1a21158a89525c959362dffd3aeba4ff00e639fe2f238c5ffbbd41a50ddfa9a3d21064997faeda451487292154258b0ed576909a198171223c08008e9c456f93201cc4399b1d509c4ab86528728b73d38d291a896a26139899b1381580e48f61b1cd6dfb071efd51087474f8519b3db9b1cfb2e62351132ea4320503cb5de9ba12369a740bdbc007f23863bba79581f1136407806803e740a4c0f51e8052459f4052611443c9422bbe0c6e2b6eb7762ab4801bf04009839009f39d563de12bb78010332cf6f43ec7699a16c0d08dcd140cd94170f38d8455ffdda3f26a6deb8ffc4129c86a2939a3c2ce2cb4272b9b4447c9cb5643890630c7baa1aa00eddcc764a64f59abd7706a4bfb29a786cd94a5315db55f3a8e67216931090f78e8e40c3163f848a88a71d8aa55cca9e210a9ff112a89ab444076d8002a6c8a0a0995e19f282c94677424ddaab65066c0ed4be82ece0ebb7d7794ca53da4a1d12d8319aae73e6bda0a1add0561ed12c4538244e178677235da1820ebd7528173c3e0faa5d0db2c4ee9a214c5e111b8e135c959d6037be30751596170ae5d7171cb788ce9a6ac448ad60d019a2077d91db64997f222a10c13e239c3fb73bc369b8102caeebf71bb8cf6ef27a292f172cd507e097580f79ed3c986dffd1f6cbfec87d351485c3157c84c24aba6bfa68af9b702fccf29a7d4229fb9e276cb11583d8a4dfb9a5466c625fd42cd96a31ee7ba74388b1a86467a53b8c88d345a1d12ca79ee2cf13d96a4c6dccc23823639c40bbfb8b3cb55c8ea770ee3cbb0e98c2145d080502f6b9047099ac2faf490484619ae02badc40ac3d6bfaaac0f8d228a097a628f117c676b120c50928c7ffaef8f3bb214688422b8d8b0421ca77ea87c933ab1908b92a8bf80d2ec7508f891cba67b39d33acfdd6bc7b9960ad76fccc73c00652ab775ee6b3131bc8de502d9126dfec263d4bb95051810167b3e9f0d3dc5fb314432e94986a3058312873b8885d0c78814765f81381c71098edd7290033515917d8c24b2c9f622810567086c800c591838d5f4aa9f06f47c8a6ab325c2990163fa3eee7df92085c8206bac894b74ad50e7bae601ed4c0be70075d8bbd65edb9a745db8fcc86f8613e65a498102ba99cb49fdc4997597f03ad597f52662e185f65a940ce749175d7a8e1a0df501e9a60bc6d91f9ade9c87503cf07112403f9a520d64cd3244f8d413e00fa140f56881b4d8add9164ab25eb014d00e51895aaa3883666842587cfea83a9a1baae10ce763135aa8f50947cfa490812115c7f2215ae862032f8352b82f9d1d36cf99a1001d19d2daa005921415772670f37c891a28508e1232ac8efdda3e5343302941f7af24e501ee28b3721212fb98089193c83d64fb335191751a30d28b4be4c2b0457a734b224cc05b222019a9a1a65ce8322a0f394963ba4fb4b7473bde6a632bb8416bee6ade8ea69d065e4734cb297a655f235138c8a2810cc20a07aedfc7313605ec17af224db22043126d95aadcc88beceb7a29643872f2ca1a79522418d2380642cb83cf5bf96b984410c4f117082b102da2377e1f587f8ce53129834ca15271aa8eae0695642877340ab475385a98958efea5114384ce7a4669c39e54bfcb99358c2b0f300443a6b8a61dd56854d47debfd02c080273da92b9ba68674065200e57b1b5b83e57d6d7877247203434253da8e2c3bc12d1e16c4e95173d7cd3f3462e40ddef12217c04c72d57f3dcc2c20721538732ca237a3ae5ed47e06d830c13505ca571ff30630a099280f614e173da3800ff1bfae1d1d3b68ab06229d968173a64367400232c92732cc4bde49cf322a5ee908dcea24ccb408f62654e59178be9596e96c2e12edf3519ac0598efced277a8491da7c1a826031944904faf688e80bb0d4ee25c519802c12e88997ec1a8497d4dcfca168b9b718f78fbab88495233d762a380b9a9adf11c263344e9abe0d6349e6bb9fa2f414fa61c0d1e0a109a469d6fdf2542be7d830b430e30d30da5f7431f214b747bab59cc56cdb9f7761c31359417c20c0ff5b3726cec2282ca519c83c747c8ba12d4f9b9bf14dbf7933ef947a9aaf2034e4399132ef84054fb362c2e2ba466530108a390b7af83912fd8748d193f36b9f8438a4133bb64c525773a5369513e10f725d154216030e415e663c709ce3533a23e375a387c348804a29ed9cf048c1bf9cae811b70012b0a76279bcbfe7ab74930de2a2f8b202b8e3b8fe6f18fbb35f9410b5c1c894dc6f87dd63914434f89be878cfa62b6d2e6c76e038b07a810cdf07e478800530e93b1cfd35c3b11bfcf7470590a622615c32c05b152c4db646bc80b7782ed138193744c90a44f308b05faab2080271222f1309cd94f34f87079a8098627a341c3b59e65d397b26291d2fe560d627e801f2b0ea51433b7a742dad5a2f42f06e1c98452501032b5de27f4f71896f6287ffc73de363eed7a91bc56639b76e5f6db34db3788e6881e7271f9630881e70a595b2dd58832074d9e8bc3225338a68b5bdc2db4b24d0431748b924e318f98e0e32d33a400e8d092628e0d3ad37d567ae929e6d958dbe2141306d1e38a7f64b20c4ecc6a02d0dcc72bfcd16f739d31eb8c348dc6f2af8930ca29e67c6d83617e0bf33c4eb061f0e65875c3d18f0c62cdfb62088da50f84a92c38fc6099015f4238c52828b7bc0eb7c7f07f2971c286ac699aa7c1642c1089708f68179e5a430293b1414a1ba1ccaa4c55ea2df3e3f281903b5f1a542371eea7fc130ceec6912e4a94e1bc8a14193635c5cb43d7771d83ff841c5eb78e2e8636ab29c204426430434289207a006a8a80c2cd423686f8634b2985db2337f16ebf96dba96dafdef6d1d30a7aefd7f5836b04b22949f9b56fd8dcd7af285427ac199ec013fc326fc4232b6b2ae1082db7ca52ac3347d47e65109a2196ddbf3a14844462e816685d3bf1a3b448aeb49a530c6d685aa0694a590794547a6563f3b811827c3e29a5aedfc67aa75211d6a62833c36fcff452ca56955385a9734096670e394ed1c613edb9dbd8f10a068883bc5d88d4f0d9dbf7cc1065bfae46a720e53a78aebd85540c8c2b45671b2f1969b9e03d0b8c88bfdcc4b8ade21afcafa9d02cbfc45263066d9b3fb22cbf9c4a3f047a04e91a338be8c0493b58f12bffa88e9922ca3d4c100c65d3c9e9a769508b38b7fafbb324ac708470b9586b734014baf6166b3f0f7210a027b510689d7dea1bd733b56847d4212648d4cd5de3a1717cba2909e23c9bbbcf1a915e76f75db32d879e5a1dde597a08d66ff975e4ff0a36f257265267d80d85277a7a9ceeeba30bf8da9caf1fa7d3c080dd6d39796018f150f453a4bec5c983798f2003afa4793d66b93ae83c2a315b89bdb2ca4831b8fc124e5eb2d485d44fa0c4e5bbc706a4315797ada86294b4ea566cb4684156f4840bb09893c40c9d562f98974b1c6c7648c4640b3bd852386075913b651a08699807ab7d07b20b52050a30ac15afae23d2b53572be4cf1411e5f77a4896039c26526a1f8b6e3c4c6570eb03adba01e84334739ab702c716360b821c566e46b86df3e305b1f83e39d7abe10b27dd2603c2470cf57eed6bacf0f251645c248e53f996adae49eee1af652c5832ebd5439562f742b398af760f696b1194b2557d96622d8a13af2c54d01fee4b5c6b9eed59a1d5c2780c04198270d675356ee673ed0d9acf8d750c5e6ae59bcb52c31682290014bc754d8084b39404140f23eec4c015adfe9234d77e6ab775872a10c34d95ecab900a63656050d139eac56de9928248d3219d3bc8fe3a73c878300585bd90a33416d2ff78f8a0c5de4bc33b8cef0318deaa7928b67524ea882ae1ffcf15d711abc1fb786e22ee96b49acc0722ce4865d76e61c7fc94d545955073a3994a202847c4238806de8eb0686330a1b337ef15087c90d92b4981d4ccf19a8e9273228c1e4489058b1c1c7bbacd96e60141d8f31ce67ce7319333b2f67a496f18ccd0f1671975f90bcbda8f1cc31bf9b70b3bbe56a4bb9501ccdd96c2d12ab5f5d9e363abb195e5635a2a500d0c776c80af4ad698bf058519921e78927123088202f205e8d21eafb2505ad6bc81c73f262168271ca4200bd2122415e092c79d33e867b4e610932388b08cce6c53d7ce9911ecb1dc7c29ee77c24002bac541715ff7c90078106c9d46c12a9f088b8c8a891ffcb913464cfa478b1f62cfb90abf35128b0a519adacae4e6ffa345efa8f3fbf54b224ee104aad59d0c2639b67c5f85cbe86f3f50ec1c2b88662829c7b30729bdb9ece7d3064b17723dddab4831a0e47589797ded9c07c7503c3fa3fc1573aee2cbc4ffe667a78c321298cab4e620000610f0241bfa10837fda5674bcf52fea3eab40decaab4f9a74057b077c6f97c387b576dc439afb994105ce14811cead1d02b324f2240da6b0d03282ca10a388f4705cd4401088320229d2d38a44e0e71a1a20a286e832b2c4922dfe6c15bbe219d7454950ece8c9fbae8163a7e0ac5d923663aea1c2b00f0c3b928aac442b42883f939235a00473c193f7ddfb3b70dbabd54e4a798052b42f587d9e099c2890c38d347f09a9376643fdbc8d738cbb7ca7dc87e02bff4f588a42e580bb1e087562e6b2d3851629be2ceb0d6bac9345a3f033ba94c85795d891dd10958302275ac98b822e0e02a13e781bda87793b34a4ce51ff097010835697f94de3cb4c58bdf0aaea4a8e9f44f6513c143704f79d46248a7abc037ee54b3923d715f3b4a226d929a0859bd37c62ab65b411d753a41bd733928d6b52627e9db583e52ea17692b321dfacf3b00eb90efdd6cedd10728b83767f7704bbc475720deb7048b94603e5e43d1eb3f473b28999447cfda14f2ea93f8491c8827c7940367b8507fe98e21fd184f022b583d05f439b5e06e5a8577198a8cb2a18f36b8ec225d368596878284167c5cd8c3ab3da3355f358299aac218bec57e15b65b57a156603acfa1ae38650faf36c4e0891ed9285cab86c9abfda4a00459ead14f25f591e10207e1e506aa12956f917f33f74743bc699d5b8cb04a569248e43dc654924b4b655873fc8994905bc98a2f189efdb9eccb0770590475e85b11eb3714c08ac891d526235c3cd38000864ce481cd94539846a1d1997398483a303cd41d315edc4d65057be93a1d6ae9a4e645db8829dd435ea0c391402df9902d861d635ec45cccdc9bac4a23a25acd0e367425e30f40ca5c814577267a2516cee2d59d72335f5ad99b8fd2088560e530b6592e6805c9eb164fc81f4ed9ac788cdbd8ae7cf24cb0163c4f578dc1a5eb0ca15e4b3a29354f6f606c1efb5e254da29dc8fd0b56fe101f83312784a516ac6416efa7b2d3690b61b7847ad2d22a8adbd9d1abfca93eca2e0bd9c7d9efd9ffd3be072f5409c70533cd36aa215fd90d2034605a67e8cef5b24d83cea0481d8be3c1636648b52bfacdefbfabce6e72db2380d4370e270380daa70ba129c76f57372ed9b46134212c1e74353eee5595369a6571c016905633d6766b7976dabdb2b236e9732488892beaf8f4ba11e6100f4ea60613ced658b2d6951189547f2f93b865da04e6667383a927ca14a30093bc61c8ef3c19bd1071dd7e8cd155e1a06c1c9d5c3f5fbab98e15c228cb2695a1671636b8582b8c16fbe0634195d1b00ac629badbe33fad455e0f2af3c018e951957df7f4dd30a3c98619999e2e69cc5fec320485b09a504000961d817be878d1b82c8f73979c1ee24d8d207a02efd9b84bc09d77a85c288737479b3ef3fdccf80ce0314735d9159082fc4058ed13c5ba275d4931969faddf72d9f53bcec52368b0071033ac95f1ae607afda8a46ef9999eaff35019838ec1a1e2aab91bb4ef4035bc3b3d09f0a56923af0909e47b06e87f15362284959d4edca791abac86d02a3eb08ad71bf321b104cc41254ba21e76a5db6ee595eaa4d039f3388678092f5cafe2a61472daf0841439d426a456cbcc228ada0b38ac0d16ba3947e5748435adcbd006dcd91b922db0c4b48511834776b45882d3a2387b7193987737941b9895d77b376f653523bc44c8c1c73a01fdda2aa80e15e25837b0b8410b89afcf89631efb23ed0893951dc4a5540acd9e5e5be195352d385153d88cb4a515d2f2032f110505e58d4276f4bb5f48c61e693942af3df9c3220641853667e168d0f14989ba404cfa44b5933bf68923e54ffea5aefd494d29c8025d764899ea2308598f2464ea128a4cebb33615ce6dd189ba6c006bea0b3c3e6ffafe8af0128d87de97b15f343efbcbb0bed077477455c3692d85165e92f6ebca520ec570379efd46c4ff908fc583a017d045e46a6937e7feb6daeddcdb18dc46c80414386a9d0e7dac4fd03d928651ac1c2a8d55be96f24686c55e19efd815d84d7137841ff41054a611aa133ac6e1c0fa567b31f13415e7f3c01422643f0d3516323a6d3b4af9830a993edd5c7fe0887ca13bf31e8073ba021f46c34a5b74d7c9ee35ea1d757dd2ce15e9601ad0cb06dd891aef28933fb472ebedfa078544cdf09a6282926b7717338f733a783d2ef6a0938d3d7065fcc5187ec14d5111b28082956daf4516bdea1f03cc6877a2169defed939511721ee74db0992b198b2cec6b462174f9c23bac9b5c34cc1aa50a75377cbf006a30ecab27c8344f86d7c90434b1e14530f3434c95ae02bf3b416306513e4a9cd17dd3285711aed577c89fe3e970d212e2885dac5dcbe80361b7628641bbedd1a3eb2e7866e631e8bf5b9da8070b22156a060d44e0462c594bbfbc60cc91249216a12932ac03517acb7d38905cf0dc827889bb8a5fe5c7ebc8fcb4565d3368021da6ebbba715fc4ab9e629725378e8386289185518a8f85b1e16e2911908c03ca44f90a665ee5f647f567cc82aa74a841bc0f63c70b2c4639fcb59f4ae55108f9810238b66f92d4dca94c6944cfc6ecb0e5b3da485d81f01d4376446b3144ff1c146d4d753aeed617bdd2b7f2d69f53e031738d44c8feb9d2e1cfb5f0820e735709d5b95b2681d84d5aad7c56bf519bae64efafa47a6c08fbe783d7dc41ec7b3e492454007e94766150b82af924ff4b2e08e320c347fe1f7b9296709f1c3c5190840b9e6ef4a0d9353e6321965765faac49319f2b68b2a6a7017cbc73b1bc1cdb15be3ebeb6d59436456353ba8fb213add0e49291c2a710ddc5d3571e3418a0224a42000b8283c34412cba1fa16d4877d86cf05b1111b692d096e5d525a0bc251b898311887a0ed0c9a4a817f4fedecd09f0687337c8420aa85b997946f60ad437e5f20eadebf6ec0d30277b0b41a66656c2c6a7d09456fa8ef5753775dddc2907258db0577bded19f6066cc41104d1b9b95c57d3d0673d815d11ba8e145cb2e63ddb2e2826bec8835ce8ba83acd8ab38c1cf7b78f44e477b65a51d7c9fb51041e79b8789d5860a7caecf3c3743c1c1cf487786fb9393c6fec2d2da05652a49c1cd679eabd0c6c1a834e4c53a113238b4839b789b0163593d066bcd814b5e75d60c09404d2cdd28d186591c1cc20a7f3bfcbe6d86f55abe078fb7bc0829268eadf0785679e91ce72d982619502820a015b7f9030ac9284a005bcfe99eb8c8a8411092d1a512fb57505f11a2c32ab4855e12fb91dda5830f16efbcb4298585a35ad4b968757b9410179ac6e5d0ef72c47a5e3d8ac36a75ec3ee8bd1a8957372e7128f50b81085fc46a752c437d6e3c2008dabf671ff93fc1a1aec20812bdedc245d564d377e07331a994fb5a66e82730eaeacf89d4a0859a1200d00979d37c89c2f9824089162ee3bbcf6891d4002f84e22dc0d576b9daa9c861f8381fa9f390024ebb24147763387b0ff8e6e729bf6ae7d5eae6197901d04e7a1d4522fa9fd5d73d38e9755101b2f08868445acb7adc2548a6a55ac54bd3bd03b81f89ce1b2c61f9c94b6621ce154f74c91543828b0ecff906b84c6e167c367e32700974df781c7c0aca53473305d9e40a5af94b94c289242f77145f6058e762a5df68f2e55d314b28b97df369a063dd3594d38729acabfa19a47193b98c18cfd336cf06d82db514b7010d3f1ec212a33d5e3d0c0a7afa2a96eab94fb95132c6d3cf4f9697f6ef449c969a3efdb709d8407d5e380cd1edea534bdb04698323737f43d9269a1acf67459e1efe250d4c9259ec7f0ffd72fb8943e13be674f39494ee91adb3d8811e1db928fde90307a65f1f296222f4161b18bd87fbf469eb5c8a6c8a77e1372477ee7c0ad688a09f821268b23c3d39c5e95ba73cdb848b9730390f822534af6713f827665743d912d7b7daa32f278c17aa4567eae2b075f0aa34e8f2a04bdff219af338d9379f135c0b9f8a67273642835cdc647f68a11aa28b8358e58a1ab5f648a0f71e1ba85f0baf5827581f5d0e12b45da3ae8d828111752b8fc46862033db589b6220508c12b71540f72a2e06e7862a5c60d3aa4ac7dad4c02bef06f250338fcfe89dfad9f867572a98ccb7e21edb82d85285576c7fdc4cf0fec983c8d1db963b79cbf19abc271b0fa3a10cc3a305603373c877826daa28b3974050d5f3b2724261936f28f8271007ae2bd1baa4b6139c28a80ebb1d58a8573ccbcbb1cf28c3c5a65df1849dbe084f4f19d65c767c5abb64b4f7bfdc23fa6e1d308b1d0562e23a01f5a6b29d63e24441685e79e4e35fdc4708a4747816888ce5a41cf94e69134a7928d4d7ec51c255bd6055cc0685e7a44c819feceff8350f72d873453f16939ebc6631bfd26b3a4e173b44cece54d4773ec0c78da3a1dd40874fd9a48f394e2273101782c011f8ddcb88b4aa9ba01854c9b46cd1ac28c7b0c43042ce428615d618aa87b17500971e48eb96b0138de16b01257931eb405954d08b95571bfa1880abb1c0b2f9fd24e8212fdc105226171c9485b909dd2ef537f6f191ac339082e90cef8a0ecd4a8ff255dfa0ea786965edb56eb2f5e8e6bc3898c75dcbc32c31cecdf7e3b70b31d735f506f6a10f25182af0b331cdbb04d4edb1edcb90db3462c697f96fea25a657a71c0ce7dd4acaaa5fe29de1f741bfef80ce5764a8cd1b24aeb005c5d8f4abbb80c18bb9f7085349d092ca3fc2a32ba3cc6cda5a3f1f43436bf0c2ef63dc2cd0e083ba63f1f9f83d155eaeb6fe8b7e25a0de7d0b2b81f47dbc36f1d086ef189fe3d0656f74c45e073afbd0147c4f0504c4b61e95ae8c0580f0c3905eb6a67290cdbe202fe9464bac992c6cd39052e3a7cb5a970ed90acc0e873724c530326b028791c45c26b46487c4450db8ebef6f4a28a151a9b46393065935c8557c430c49a3473360f31828a80a03e6e31dd052250fd32052e54692c330f3cf5e4c2b9d0a33bf4c7c013085c586c1ae87b8b104eda1509ae1a0dc39516fa63a4f86070ceb82f97de79828bb81b22623025629283e0c49d814159f97c741da56aed1f20c9760d2c5ec5360bf304bc4e8e702897537753072874d575c62a1ad4c644bda5239ff5139f0676c526c8439332705e516b82f8274978552084d1c9b252b420b934f6e8353cacab70e08eb0d6e6c3c737ccfa640d08d80dd6d4d0bfe1c1a50adf68a57c0fe5495dbf60b95d82d549acaeba30aa9a7973bd3eb6bee1659b9d850e57dc4157ca2a91012ed0360760e1c86252e05002a37cf7aa1698a436712cd00a43383fae2212503b23712c7dbfd3a1a8aeb5f0278322319acd0eb70ccc57309eb3a2ddec3f05b551b1f20d9f655b6623a15972f51808493e29647812b195614b48ae785b2b31c696b616fe9816e028e8694403decfb68c0b7ffa71d8840f8ac6a7ecf41dcc3072639b80522c00f4eb51ef6f83711324480af83000437ae438129da338051f1bbf70a8af96b9cfdf0e57927663d6aeca2b3957ec45ee8cfa3ec7eb0563af488db7f21267b13da4aa63f6bb9f6ea4369680ab244fd99d060372a02753e80dfbc9286ed9065c330970906500e0949928f9a0d814d3c263611476b7709aeaacd914d1e4f9444a55997f71adb128c65752650eff3411df9446fcd700e5baf3e35e14f8160c1a9bfd605c40a7e295a1eead338010051d27cab459349de7cd803a5c6209edfecba6c0873450b074f651ad49950932d252eab41e2157c5d831b772bcf91b7b66d217e664b88faf1a959d6794af84f9c315484fa70e40d94594425576295f16db2716a02d9614f137060951b08c4ec2f3e13e346ad40b69018d25655a4de8d30b67f2266fdd24b7cc01d12b2cd938fc3bd8c84cec14c04d04c4de5aaf8203ab33a2ca23297b9ee84bf4f85cae8a08229e112a1ce80f6e4c475687d81f890cd210701180ade8f50a7121762fa2150e58e10fc03829396c51e47b9f0039faaa0a3e31e8711bf7eff8c933ad674922362a54aac2d4db35c226085f6103405f75397d82978a6529360fd4b5f37e1d67001bc1ca69d0946c780fb6e2cdfd3276b4cc71c5a10cb0cf7b740900000259325b2cffe4d73d380a152f6c6f7522ef04ecef08d285aa6eb2315736035c3ea5efad99386c5652af8a0dad419f2342e3f5df364a6e6e79a9232c5ee8daa1133f56c543ee414648e263576c846eea3e31d57fd2b2cfa3a4f8fd6d0838f919777cd97981672988e3b8456c2290fd3a6aaf38e2b74610f210d5efdc631d3b92095af99f1e4ebd243e7e40c811fdbc007da080ce00481d47be0469bba5efd2a0040c88340225996442f43f6b90b2dcdebf3d7ef64ec4a93eb1dce4256244bd366502701aaab33d82c557c374b66d3cb00476d9601b959d6324cb78a56c7c3590a12644f7d1fe72c835c402c328b41dbc7968a98382589807adff3c8e97e008d642d5db03d5a4bca94c4812d25cfdb96eb88fedbbc65a49fbfbb5e721c7be056ab501f1ad6a51ea9d8aff05818a2422b6adebf7d4d81c4e2a290580a51cb715db36c5d8d6fa53e4489aedc0e034c8c76ec2dbe8d061d794b5b33ec2556c10f3b514834625f2ed0173f93cbe3901ca9f28203ecc84349ba5b34ae888f12f4030ce3799bec92045d9da3bc2110e6de75daed2189f4a758a632c8965c83c3ae2ed7cc7ce4d42f87a48b5591f51ea827f93b76bdd7677a3fa122d19c98f19985a8aa305925b24c15c5fe213bbf94c9924e116e3362c001a19db93b295430c6c74ea3501d4d678d5c6243c2c1a4cc08a35fee1b4602cf7985d530f55fdb16b896fd7d67a9e10cbd3e9eb153b1810adfe76d6c717cfdb530faa5cd4c140013be0032a2c0977963f88608bde6a8b79c3766fcdde47973ab859c7cd77fa1ce5dd009be8a66766a05767e79abbbb84b397749e7495b70d0a0dc0b9fbd26d256f7d16c2f472c3d7a6d9b34fad8e460be566d9817a3d3a7098e038f55c7b5d824cda7b0223629aca20d9038067679a85bc7b84180b2f7b249b45df090415a4f7379361940c1076c42889a660caaa7a366930bb96a22dca3dcac1af26c12f374ad17a11c63fbdfd8401e064217b3494900bc1d086439a358c9dff500006ebd5d0374181b6b2d117b8d35e23d89ed6793e3a140d7d3d3ce0e7abb0cf1e85206e96c12397a72658bc82dc463d6ac374b2469ca17758446962da04d5eaff01ef81869606c2c1da6e7ab29217e29a4788c3e84b69767b56ef7fc14647f9b0ccd640d3121a84e81754f6802145cc616b1f63a676d2cb17b6ce69744ae8374dc84b3675f1ce967733a02d6c9dd648a38806d51b7c528bd42a9ed7091984fc124db90615304b2fe86f337090ca0796d128afbf68682cbcce94bdfc9c9028d0a16796488b6b217a07f63878f12c0439047d10bd9e9cc4759ff1cdc8b84d88b547f7998fda2afc08b77e066a2ae72108b78c0ecb19c140cc53099ec1accf3555c4eba31e88b894bc3fb3bbca518c2faf86a36fcfcd4f1b883cf1fbf4c78644abe7b8d014e481fd7e2e2ec9fa4537a74688bbb32534fec0a421d51c24b0f970124b9e1b2de9a6abcd83f19bca5c7cc4f911c3ba17a0860bba7f495cce38e0550df7ef2499dfe10fe5b82f49da3916a299852c9a6fe5d42efc25b23e7c1fe2c78fc7b79d24cd928045511c286b07e546b5766fe29851b33805c6561d5cd89ef695f718f1d7c1e635b4bbb46cfedfe3f72f1e1b95d8788442656ee471d802276a943de14c989758b095081c453b941c714467143ac344f877aac45bd9973be83838f8e86d62e40f7f323ab8b5859f07f9913bfed92a98c82122be9b975c4e05843c297995f8b58392da27414fc8835d9c890014a02fc41043e43c3e54bac8c3cc67e0908b0ac32ab441aaa17097c56252fcc2a77aa3b2f5e940c52404af0fc1eb1b06814f3f2f948c4ca0d5e47ab19b87f0ca7fa2fc4f077f0102b3d9a97e2b64faab67de969eb505965435617efbcd64de223b252932b634e5d97a19d13065d2582cf9724b12781080b49fc9b45c38c6db012e0254093b372cf04f54fe9359272e1f011cb08e2a245c53281372cb3e3452e36e41a9ed8a04abff1ae75119c63f1e44ac0880505795747a76f3b0a4fd2590dae0ea0cd581255fac9c2a0a011a0f1e59c5c8266ce2807077f193967a37fa9200cc1da70652e9e89f30c490847761a0fc7bf1e410e20992e64079923f1603d355aa6b93b8d4d5db1848688c6862db4512d5f84716d269031ab13a5ba1dc0d9549aeaa6424b692c7e18024b59c0b2d46b7c56b57a271960982ad37f4aa3bac389037d74189516653a0372f0b0aeac04f58cdd2dcd42c246cb57e149f06fe4c39b61a855060fe6b4d3b2a0890e8cbf739499430a092a4e4b1a5675c1b1fbc2abccc6c725d681d3b2cbd5696954a49916fce209446a0d66f8a7252b1172b7592db1a9936b9151438e4900a4b83f14095a395948d4d5ec950812ced0ff8a59dcafb5944c83d544f854de0924d517cc199ae70e80c7887261d00a70ed370f3ea4d1ff2fe6b5447d38165a78919d5fd80dcf6f6695ee0294fb9fc22dfdeb3be41a0b532eaa45adc5e9b4a36bc4965d728d8cac51a756f7b9ed8f48fe72aee9d243abe9170a13894a21c35c6d8e6a351b4b1f666328c6d2193202b6e96c8a8dba4bd13f89b1a254bf94a01882fc4ff9a38a8a4ca4b9d68cf5752004e56192000455a8317edd7feb5188bc19c0d64fa646d0ab800a9ef7b0158beb18d1dc49f48af724f8ef3a242ec70024c21ce0ae0091d2539b4154c83f568960274d71cfaa203a99811d7e58da2d654542eca196def200380acfd13a3e30d9c9545fd0dafe33c9eef4fe3ce7bff4d86509edb6bde3f77dec9e7bb8b390baa7ebc1643b9e469e5f96159850668aa8d475014f514f868fd719c75b6406b2fa347b9b7f5e21d189dbaa4bc6a7e08da85ee97b6ad95db24c859a767490b0e24d9f53befe14e7020ef4f4dec4d7da55036398b8c4b064b7bfe95aff2f0d3491db2c91415e1c827708380d7a9950d3b8c9e1f30c3254e336c667837f2813bf99b024e8df22e5e474dd1632386ef14114e3089ca2a105dba5cd1bcd64f7a9745fe216d03e6cf4e4731c028c54437d658d465c0d6a7494c18969659c29f7e473f0fd8972174971ca0dd8e07334bc2339f647dc3390f131852b6d3eafd0db78de6a76ea056e47c68f5c8648d6985d95d07bf43998dfe66e2cc4d2ad6dd98e72e524b4206ba4a2cf476580daeee0bd81118d2acf91e469813c71459f5d22a811107d76b3f02615167143105440f499b550dd593fd5dc18efcc59649e266e39de1e74abcf2ba52ec1d37e2d3cfe85db142f0f30b36152b03e5933623ac9960ff917246ad835d2153b0b43f539fae067afee05f9441b8070efd5e4f34f6b3f4888d1581b0e3bbd0b3f86fae889e384ae342c54caca37d005fe2f6387363474f8a66ccace3f447a9cc07cad851b76579f818ee4716f3c50e09af3a3e3d328686620a37940fba531db8c690de8c5f24daabe9e1058be77dee48d9c44e5f329b77a136aea1cd56778b585a83cbffd094c6121c4a0f3a428faba7d99488dad851ade5e1520821600a98af9209cd7659f113ed67ad4bb825d15491d9c7d0e7f569a3ac9c324b8c6680e9222d4365d6ff8713f3a48296586b49da5271f00573d3fc5ef3bf381b10b81de0e2cb3f333098945d086cca2779f937d042f1a0912a8536a045d35ee66ca6edc99f9194553b7b999677bd19e432b999b7869ea7235a68c7620d9c3cffe18b9c670095953a1d96a8d62017c57e8ee4f7611bfacded914ee2218232cd3bc12b5e8ef228460923c1943d75adffc581bd3f4877893f48db53426a17a7a155a434ab710bbd05e9c3f4be8adccd7ac654e0afeaa9c02f86f3fa1d789b2aa70e0ec44406957e162ad7519eb9469943796afe65bc42b7444dc98a26a2d78266cca0e912cb3196d86488197c5640455e8614c122849765fb2e6aa2bcd722a8f23296bcb059fbf860792e2b1c046c21a354622a4eefd1065068813f435832d819ca35f256e671642a62fd6209581119317cd81fcf5226b23b4ca9d6f329af54e1267563e78f56cb686ba8c56d2c84852350efe5ea3d257cdc153f44c0ecccacd5ab481411d590a3fd0309b6211cd9815a84f369036476142a19e52bb136ad2defad283b1595231fd9eb35d9a6d488f6a2c4617fd77cf81249297d1c480aed5b6f680c9867cd5773144e1c61381d4d02e4c5505f486965e3dc7bdb0388e583f963aa1bb834e93bb683e447ea3cc3a59d905ab7377e1af795ad57e64d768c6804552951f28426a7eb31053496dc8a532b3330edfd1b52c569c1503f694410b944075119f831639ac1795fd063d57f27ed392cc9796bf0364222fcc399ef6178182d7f7bfcb3824841992cc869abc2715d564abd89010986c5018f90f8e3cd7d4a9ade129d728619fe5f8f2635db410be6a91352a27d91d110e3f870141911a0ba5ac3152ab6303ed3c482b5dde59ff45789077f5e145d6238ed53d3d038aeb01bb8a43381b4e7978049dfa60b2a313b369932e51083da755780bbdc4fca48309bf930e3a6d608e5877d281b294991b89de13dcbeac4742846ea424b581a16e7f7eec290a5773f41bf1e0c5a00b13acdbd96b57a16c1a88d827f6ac5503664d214574f89101db18667dd9101c887f361010ace01484f7cf81591f65ae4b55a24a24feaa9e2ec7b22aa6a13bad4b867080fda75ed5252f68e15b27fc8cab1ab4268b64678d5960330a8926f6b31e953e0cee446bedb701a676d790ecf50f462f6184a33da42b64d62bd5bad7ece7269fd3bfecf46ed0a38926171423badb310311b01333d7e5973575fbaf6364f6d11bc5f58f3600abc0c4fa43dd6437ca2f39cc2011156290ec22425b6bd8e08cb1f13025609336aecd3dcc489899f7b635837f114f555e87f82ea132b63e0717b86e2272fa7c896e56f58f370256935b774a620eef20bd3fe781acce708aef41a7adf60eaac830f7c8df1ac863813a0f163dcb74b0cd415f22166512a44f446dcb95f70bffd663418f3fbd7911ae9dd898abe5f0e59b00f4bd2689ebeceea937c20f8368d10b74f6e27ad16d341b09cae13cccb56bea3aed1cd7bdd504c2ad65e8b7d76a3d545d543d6f3f39818fae55bc43d522f19aaeeb5080396c595dea3a05ebba3b3ccfa00c034e3ab15f2af28df30a48adf115e5cd7f6cd6eaf5114c6bb82ab7165f972b30bdbe38d8ceaaccd1e9c0fd75172a15f89ea54ddb25bec71800fb81e427259c3bfd739bfcefca6e760ee467388559b79c533d10c757d026f98d057f74f63c0f68f95f9e8c84006c1a33b75bec96b20ccdbb7b5d34c5e16d77083483783e16c61bb57c0fe8c22d56d5696b196ee01f48746d43c9cfd8d56cf398eedb108148fe1fd1e7594202f6b21ce607255a6cf394be51c46812b067c34016a156342020530f1b9f30590b41d15aca989365054e69667479d427be64176b82ee6408d8db462af992f6982acea82af8ff603669921b930994f8bb4664733d15f15356d9f89225d1a88f324848dfa8f1ef33265737123372828dbdacc6d9c5a41eddf70500b241dea769c211e6a3ce667080c2fcfdbdf1390824feac7f394bf3d25faa801918e76104b78ebfb577500b096c445307de69b07c0891d82801aa5bd2c5a53e938a60b334324f26770576447af0e019acb479dae38178f10e4d8dfd1ddce90d09f5719808b6f7eb141141a42d9902db0d820fb30022cca0e45f7ab9d17927ea282302b502dc5c2ec323d86f551d84c0df80ae605329e6435780466fc0606b339b648501ff9ed74f2b36f194a2e8062e56950576ce7a902c5132bef4c60cc6bf587cb18cb0eb7706b226eceb9b6fbe5cc481c846596a605e610fd9abd4ff883463c513797f96ff2103f60c1bbcae35edf55238ec57cc09d13381bcacfec08cd5450495d0c0afba4e859f0dc6c64f9bc04d16986277060a91ab8957772c868dbd05a1493ee69041af76ce3187699eefd572384b6f1adbac1f69783b6c77e730efba33063b86e6c65e12977b08f63e79d6d8b1a33b9bc6f411bdde1e818ef7340bddd6a02462a0f7d088a3546c65ae5f62501eb466bb2d565dbabe0f21778dc08fe8c3d55812eb1dc08415c00f41072c9669d155ab2d455ade44cc894b376165d8b6202ce1d16cbf5791d3ce1669a2bfa589686c2217a7aa087d125bf8bca1387a8a5a76861d040b74849a1a2748cdef8920c8079a7369baf34004db55ca8b1596305cad76599f0a5b488fcce033c24823befcd59fa07e86cab4da78f5b0714e9f91db3941eda0fd94741ff107aff63844f3df4c8da0e74c765072b5e6dc456723e85399c9882f77f4448d23de7a69cc6430b907cf5e887fada646638215e046b1ba67170419beb4009dd441aee28eb3e5bb751ca705409ff16be9521bc304ac8ef6d9c8d32267f7ee3573dbb42cef2b1774fa522ca87b36990d3ef8bfe11d2bdddddde9ec4e969675bf7acf668edacab984d3b4ff8124e27db6fb860166b377a07d05b00506a23d8596a95c6e3caf1e54c763c2a12d13ba30701b295100ae82de6a507e27564a160d467b1606e3d95857a484d8708cf6c1c07d379d411413dbbd2cb68718e97267939f357e811ce01246db111835a9686d414753ed5fc7761ab80518edb10a68bd310eaf0e88e263cdc3e61104bc64b836bf078c76981004daaa278574679e3d1d64a2339c472a80f13ab3a4f7fa07f1f2518621761d53f27ba1fb3a0aac5702fae529635c5018d53a0772bcf3dfb1c085fc75cccd3443378f0d67fdb7734fd02c74ef64fa3d18ff9c090b14e56380ce3224c207ddab002300441cf1e27331f944e9307e1deb749a83e4ae7b3fcdc75e7e66d7eff7ff5f7e91dddd5b4a29a5c81d280625061906f7de9b4570efcdf644690b030685a1ad7d183fe48bf16becc942c78fef16409b69ce187bfad3a0d620be58839f6775ef8c75cb1865333477c0273d6d917b9f22c046b23a5b4bc202b6d6da6fa9980281b5d6fa668c5f2ddcb925a5945e4a2fa59752f3c5e2acb3ad66a3d938194b37f61c6ae825f5a1a42acd332dba49e314b84bae138d63e7757af72810e50576184ffd16e0e174f2ffb64b26fcbab7dd7f3bc63dc3b3973428ab7fa634e90a0c6f682b0dc390f338f8f7ecc2efed83dd9731bd177b6fdf33495f851c389baea19ed0949ad20a9fc0e5af3ca0b8f7defc7df9528ec5cd19e37b618437bc37637cefcd1963fc46b8d956610469ee67bc828e4567abc55d2983db5d6b6d47a3bbefbdb5d6762507e396dc692dbe187737677a81c0f76a93c3d70a9d7ec526572f0bc0d005e370dacfe54be7ccdfd15aedb59db0ae70b6c6b5b095db2e7f42d5520fb5946df81da3df708f9082efe34bc36b4dd48c71363fdb8cadc5d60a0133d6d6faba7ef664a1d77b79a095ba80521be39e4ea7d3a95fd75c5e6b2dce3bd4f3deaf41a0d788122c81ca3a39dcfccb80bb0c4b3067193a60f96f35ecfac083f32f2a2e5c70d544866f8e0758eb11563ea452aa87819a48bcfd166a32e1a14a2121e5830909528959fe888414854640e347f474381b4dcff01d829fd7d1389d523ea8acbd3d545445ad48d04fc6c1545cb8d8a89c7587ac75d454a571aaa8374926a51327295254a8acb004c00535914e77889e492566f9231252141a018d1fd1d3b1914add50a960562b1c2c568e564b87cbb50306eb118bf990c980cc664168b421b55a11365b3d551a75c562ac85db2d5542bf10b8d8fccb890a0bcb46d3337cbb006bcd411136dbed57a8a97cfb2cd464bab8d992602bc22c7f44428a4223a0f1237a3a9c8da667f80e77c0603d62311f321990d94c088d662be2e64283e20143848b5a49bd1fb09ca8a8684a96dc029b101aad2622799364523a71922245850a353d4b8da6049a901f9190a2d00868fc889e0e67a3e9190eb35ae160b172b45a3a5cae1d30588f586c08998c26a4c6d20496d9cc36a25e075434ff423a4949d1f40cdf2a60ad2da00d2193cd3e053591242a33d90fd91024a42834021a3fa2a7c3d9687a86ef1066b5c2c162e568b574b85c3c6030d910331522a8c4623492763b48014f4e4eb0975c3591e13b4cc11cf8643c60b0d8382222799364523a71424da294186c06e3210a8d80c68fe8e970369a9ee13bb4914add50a960562b1c2c5610ad168c472ce595e272c9425467e1240cc37f119d21e90c4b6705cb9ee1fb04ac950414465b5977de07869b67ba66c3e978c4cff8f64da809f4f64bd43472425db5749740e90868fc889e0e67a3e919be43f0a336280a4dd11b2a1510ab15759d7c608a98018dc1098b82a81602e4ac064ba707869b83a2132481e68bf7fa33a26ae2e556f3c586e889bf7e7929503a27704daee3e172e0ab740b20474d96665bc6a8a7939a98963b5419e011479c2f1b389dceba017bde23b81a574bc112a8a59affeb4ad733a5906ff48fe57ffd6e76251caa899a73a82b5a7357b0d6ea320709683abb02cc9aa80f9bc136ffd275fe65f4fccb8bff52fafc4b4a0bd144a72ccbfeb4bfdedc79cf6e03677ffa99fe60d7f54e8395f62badd2ac7dda69d7bb493914b69eb69b2f3c806126d3522580c376e1969777bffd5d3b77d73d57223d6086582c96ff3ebd9d53afe10f6a11b716c1f980c6c8d07a3083f30112ae97b54a26833ddd91b84fe1c0b7fdfbba5d4219f6e419be778cc6fc2efd485d877b6a6c2ff85dc99d20087afa4bf5bdbfefe5d7faabf5fb5a6c09fcb64bf6b4f79e293277b8e7a8c2627aa0ab01c8d5a8edf64259b4455d347696a88cd250aa8fa3a78ee35e4a29b7ababaacab4bdcd171e429a2d5df1403b9d3cba82b5e41b528d8216343ef030f08764d8bfef81cc11471c0183915f063ad83386fd6bee60cf986c7e20c3c8df5263f0468005e811471c413b9d4e26ea6160b3d385d05f64e07e077bdaaf30c8f56b1038e79c6f1e72907fdce31dd79c63be02d98d1d4841b6d24108a8b00a42064278b430bc602d6553e99345d916999669f64aa1a33e9d5baed61e57e366b3141b6ce05014a1bbc0563fe086ed7d3a04b9d9cd34da59bd5627b421e4341bfc42da87841ba4845c006a085842a48a60ddc0061dad1b52eb6a1d115b67eb8af4ddddba9b47a36fefe49dc8923b33a48814894c1c5444a1af1f32bd1e54faf6503135d0af81b35d46422321102814129124a32fcd12120993122513275c38419102e5eb9fa0a694af7f424d2fa49ca11f79303432eba1d0b7d4174acf468a7e4ae9dd50a1941ecc8a7e8ad2c3c1629df451945e8e96d7f274b83c97b703e6c1bc1e312fe6f99079320fc8cc9b7941681ecd1b52f36a1e119b67f38a70b677f36edf8cd377fa6aa03ed46723f5a5be1baa4ff5c1acbed58783f5b1be1c14a5f5b5bed7fe5cb5445de72634121a1931714819f978a470f6178300fa0810b7cb081a419f0fbdb9fb42de371d711c1191fc89af2e7c3df98ae22be8c70741e3123a08f4f588c54efa27e5e743263be9bb507e4066b393fe89f20b42a39df44d94df90da57fb88d83edb5744dcdfedbb81334ee009ac810251a08d1498026fa8401508b30257200e16c80273b4c016a8c305bac01d301006f6888131d0870c94814028ca0c9c8142c40dd2401aa8e44e0f68048d26ede368e270327ebefec70489381137588b3900fd0380b68bf8113f9ecfd39bbb2fe47dd311c71191c9d7fa2635955e7cf0235e20fdf30189d86c27fd520916016fe0eda45fa20c679c4e277d9332ac81a24fa20c6da4c254784315aa429855b80a71b0425698a315b6421daed015ee8085b0b0472c8c853e64a12c04320b6761105a480b87d4c25a4884a2d8425ba885f016de3e9e6fa9e347fc88a2894349f47c7d8fb96994407b9f620cb04f277d0388b64bc7d3f170381e8ff819412321114932fad22cf9fa24d444fafa4f4d24be761ef474680cbaa7dc3550a8933ea9dc3652a9937e49b96fa8541b66b5da38589bb573b4766beb706dd7de01dbb0dd23b663db876ccb3690d99eed20b44ddb436abbb689d8b66d1711ed7ddb371aa2cd4f274fc99d214fc7d3e99838903a9cafcf31790f24d1e6a8980270d449bf00a3edb2e16c38bd73381d8ff819412321114932fafa23d4f4e55773f32067c384ce294b6e2345ff4b7e43a53ae98f4a0eb35a711c2cfa64c973b4788beb707117df01e330de23c663dc878ccb3890199ff120344ee3436abcc68950141bb7f1d1e69c43c2d970369bbaa9dfcd0c8d1df068674ebc8c91713ae9cbd0744def7dc3e978c4cf081a097d7d919a445f7fa4265274f6d73cd8354de8bd676aa050277d5199b1914a9df44365e6864a75d21f293330abd5491f546670b058395aad8c0e57c695d901cbc0323d62191fb20c108a92c90831778696a1f5b26bbac6a4bdf7aac910213277a61643037d1a486c974c9809390fc3aed9703a1ef1f3f5371d6a028d67f89907c38c137a082a33446cb64c91cc2d733be97fca3ee3445f2c7b0d14aadb48a56ea85430ab150e162b074569d1eff449eceeaa25ea3a496126cc8435539f9b9dc74862f798181d76d28f51da2e1bdca048a9a96bbefe474d9baf1f5213e7eb736aea7cfd4e4d9eafe0ef07c1fd840e7acade2316eb3e64b20e6436eb4168b43ea4563be9f7b213b1755b2f52dafdd66f34b6e674d212bb82f5eb0ebf7e686a7ae894b606153303eaa43f830bdbe5033f3067f0c10fa9a93f68be7c1f14660037cf7c2f353652a9937ea6d4dc50a94e98d54a8383c5ca41515a2dcdcb85ad71b94e801ff8fd57353cee3d5dd81a582dc9003be9cb9062bb785e474de167f3c5f32eed0216b03af413fcb0d4f488c5343e6432201465361392626b6834145eae9e86080a8429b6a616c38755a89df46328451ed504fd17449818f3cc171dec594b3126c26a89be1d41afff22c2441eb544bb524384a2d8280afdbd039be685adb9696e55a7e41761220f315657b81357bca1b13955a16f4ea2ac73c0a56e608811467098e33acc952cbe4fa90facb5d60a5b4677dee750a0739773ce395b8bef03e1e28bad895b6b03f0bdf75e7dafc637e37befd5f7ea9bf1bdf7ea7bf5cd253eefbd57dfabbbf7ac6772b514a3bb57630c83981db363760c35027dbcea2fb5ab257a5a9b31b699d6597c2fbe9c8e55d7f1df00a5595bb336dbb17a6b74fd5b962252882809f9268c437422f0e8481456794929a594524a3918f4645bd4aeeb7d1cff4ba51458d7f56eed0d5dd7fbffffff7f164000e620084208c1c3102a0b4b4a4aa944a75069f5e4554c6d02b8d2a5d8529ad654e0b45ec51d87e27641eebdd787277cf3edeebda80afee5e8775def237d29a594f40394da936dd10d514dd06fc249e953fa9d164e4a3bd90f279b3167ff72de290a603d350f7c40a9fe17009c292f944cfcb5d5fa4067dce59c73ce39e32ee79c73ce196b1d3a674c73ce19eb4eebfc94041d66addd2bd8abad82fcf9045ccef97acf992fd4d3e5bb78b9eb70bb50a5ae64ce95b8ce9f260437f76e97ef6f0ec1ce3737b95a8ad998a1e6c32a68c20fbdecd19c434dd6397f1dcffb97ce9de07ba6796bc93bf196d1fd934ad5d33414a313e5fcf7bc7bb44287859048c8da0aa39ef9f240ad8e90887d7b5afa9c0040fb1ce945949d1477defdf20633a1866f7a87237ac6cf0848147ab092d41f955fb70b8907b9fe2059be107275e5a9ed45e58ce167a0817b1be3edbf6d21e3ed732f1bd449ff85edc25de09e2f9e130fcfa996ae8cfa34a8f09c4e1aa3ec338c32941c57b3f9aa30a01e46039ebee8aa3034e05457308dbad2a162e8a1ae78a9ba727d90415557be14d495bc9a0188bab25975058c418c565dc904515742170dafbaa281d515ce43c6d30d11ea4a9715e069675657384d30c0d3f7d03c42ea8ae7e97b6a0778fa1e223c364f110878fa9e5b5d1979fa1e2dd415d0a9061a754584aa2ba11e12f094c407555d79fa620aeaca3f7d715557464f5f04a2aed0175975a57cfa620cea0a89a72fb618f0f445fa0db8dbc53449a49bbb2fe47dd311c71111c99b2493d2899314292a545658603c39802709f0a4cb93256f9a487029bf8e00e5a60fa01c196194e69fe5895249454a4a00585860b470301a66e0620aa8819339c0066e06811b38da8b04b8da0572e06c1ac00077a3334e355014456da4688ade5051158559d115c5c1a22c9aa3455b54878bbae80e1885d11e311aa33e64320a64466734088dd2e8901aad5122366aa345eea6377aab34eeaea77ab225668969d26e7e354dd2934f326b0f1c8f8a2251c630803e03ca92b2c4344b4c7a73f785bc6f3ae2382222799364523a71922245850a0c4fbe78b2e5c9f3c9922f1f2c2987e82525df52cfb2da48d16f29eb0dd58bb2c2ac60282b0e167d01943547ab5575b8aaabee805558ed11abb1ea43566515c8acce6a105aa5d521b55aab446cb65aa4deeacdce38d993ad81b2286b236553f686caaa2ccc6a6571b0583647cbb6ac0e9775d91d300bb33d6236667dc8accc0299d9990d42b3343ba4666b960845b1599bd582bdd95b89f92d35979425a5497b599a3ae4d27cf24df3d2d821df53cc02e82fe0db2e5f7e391a95e60b3dcba74ffea5a692273f5313e9c9efa889c493ff5193c9931f525389279f5353e9c9efd464e2c9df50d38927bf434d2e3cf922359d3cf92335a178f247a829c5932fa22694279f849a529efca7a6179e7c939a543cf9246a5af1e49b5093ca935fa226164ffe096a5a79f24fa8a9c5939f829a589efc146a02c093af829a02f0e4ab5093e9c95fa126174f3e0b3509e049f305071767f9ff60f949e865796ba050277d17e5b591a26f2aef0d15fd00941766451f00e5c5c1baac9ba3755b5787ebbaee0ed885dd1eb11bbb3e64577681cceeec06a15dda1d52bbb54bc4766db70845b9dd1b9e71c2275c038551d8460aa7f00d15566198155e611c2c9ca3855b58870bbbf00e1886e11e311cc33e645886815094199e6121988669e5e85baa573e59fed727bf924f923f323111a4490117dfc6b55ac62880be02f6762119918c4872347a7a73f785bc6f3ae2382222799364523a71b2f2b5c55796af00f83a7a920747244ae8a3d1b75400949888cd76d2672971117cc3b7937e8b32cf38d15f29730d147d1665b691caa97c4395551966955719072bb3728e566e651daeecca3b6019967bc4722cfb9065590632cbb31c84966979482dd732115bb6e5227be75bbee919277dd235501aa56da4744adf5069958659e995c6c1d22c9d83a2b4744bbff6d62eed1a91df52c311c9a856f2eb93a6a6008b8e49804e40df2e225244864224bdb9fb42de371d711c1191bc493279e1ab8aaf2bbeaa7c65f1957cd183a4e8fee8644b6551ea1eb1d8495fa5d43e64f457941ac86c76d25751ea2034da49ff85520fa9e99a2662d336ad6ffad6cd3875a7ae06aa437536525daabba1ea541dccaa5b7538581dabcbd1ea5a9d0e57e7ea76c03a58d723d6c53a1fb24ed6019975b32e082d20ffb8c73baef9edc2bfa10641c84005b77bf1bec1bdf87631a63f563798c10ae79b33ce9de775b77b058b2b2ddb1f74d679df40e7db16c2bae0beb5d65a6b2dbe97da2d844aac1ab7407bb9048de7c793b180e64ce0937ee7e49c9b13ecc25c6ace7e825f98cbcc0986fc04c37087b90c4f9087b9044f3013e6f23b414dd87927a801392127cc653ec14e984b7c829e3097f70445f03386b9a427181ae1f9750650648ec5c8a9b5ed32ca5abb5bd071a03bdbd90a0295dc120297292929f6e22c0a85f2e711490e85422191e847de07823fda3c93f99146a3d1705e60fe5c725c3f1a7dceac5666e592e3aaa5f347ffd97ede79e7fb23f384552a91992c3b87a2e7502abb1279b483e81734bf2c79329ba33b2a4b9eccd7dcccf21d2fe6d8dbe9ddfb3a9db7b329e6110835e278def08d83df6c3619b324c711c48146e8c8fc40bf4ffefdf27228c827fffee82fb96dd03b4e42929059547267284585e5840d886c1d0cc056990dfacb7d2c856e416b790c9d9dd16cb8a77332bde49eb75d361acebb0704b7cb46c379f76c1e3ad46cb827d33ba7a379faa086f34da7b3a2417fb9dff9167b7128374c06f0d4985f8a4301c4e59aef683eafe375ee736e77feeeb273287a0e27ffdb796e1b409fbbf3170327ffdbe13afaede5e6d46cf676e146f4fb2f6fad681ced866b72eef49e375cc3e1f40dc3e1dfd6c1fd976effd0afb901399cedb2e17dc3351b26ec78e67b199efc2fc7a1e026575db64b7dcde2a20563cf0bab20e718bef86e1cf8ee17745de779ddedda9b33a90b7b07879bf1edf0ed8cc037df7bb9ac6fde2c8e6fef0302ffa0519c64adb5c6fa04857ef1e24507773c588bdb059fcfe783b50b2e88e2e7f3f97c46d08a18568c58fff7de7bef26254e9c1895188d46a392899618236fe48dbc9137f2462b54cc008ebc9137f246dec85b8175490989442291481d1224fe7befbd97e6c81b79236fe48dbc1523a1908824c1fabff7de7b69621d867befbd37180a89442291882481f1dec81b79236fe48dbc152822ac45f1f3f97c3e23c8f33ccff3465ec4e042804ca6c50a0a493200fdc2e3f15868dce2b242050baf7bddeb5ef756a87881f566b3d96c389d9aad8816141414ac359a2fd92ebdf5a204c5db93b728be84847518eebdf7e619af7bddeb5ef7bab7427b9ee7791fd8b242050993ee4df08b172f505ebc4079f10205458a1314272e9c30512a6142825462963f222145a111d0f8113d1dce46d3337c872087d65f32626a70e90c66308312007129ed64a0573080010cf0ed48d0f862ec82c18c3198c36cedbdd65a7b66330741aba593944aa9c52178a18f6da5b7d68c717866d3c2747461c7d6626b9f905b423ae7db05739a5492b5d61aeb1212d6b4cd8ea136ac65b20ef6544a78b016f70a3e9fcf076bd3d468369bcd66c369894174ae9646ac41a0bdf7de9b645496e3681cc7f15560d836289518c7711cc7510025758de38ea12dcd06d44190471ce9601d0a89442291489421491068efbdf7486924141291245883407befbd47360b4223211108ebef0341100441cfe3114551143f2d4ae3388ee3584a81086b8d66b3d96c369caeebbaaeeb842109c9e8cb1326e4b60109d6bd772634f672b0954a9830b589f726d12b4a92ed8249760c3d61cd39e73ca3cb07d810811b7e4ba0065dba60c125015a66c0bae4774cc99aa85f427a5bf296f42524ac577cdf5710044130546161d26285c55e4169efbdf76e95482474d7755de7d1127abb989860cd99ec1c269f126309eb13f935e92d896f9712b3fc1109290a8d80c68fe8e970369a9ee13b04bf10e3188a749ed7d91c5ccac3c5b7de2d9bbf9486518bedec03f8d26ed3a0fbcf5845e3388268a76f1c749b05bb93046bada9572ad0fb876e2fb5d65e7b69475dddd62fd3d73b06fb87ced592f53cdb8d46743a9edae9dde3116948a9b51fee62bb75d02f87eddd30f92dd698e0c78f1f3f7e88a2f843144551144591bff88bbff88bbff88bbff84bfc218aa2288aa287bff88bbff88bbff88bbf7e88a2288a6287bff88bbff88bbff8eb87288aa2c8e12ffee22ffee2af1fa2288a1bfee22ffee2af1fa2a8e12ffee2af1f62e72ffe1233fcc587c83aeb6c047e7c2d9d71adb5f66e166c98941d5c2f9a41a8c44973cc79a58400000000a001e318000043221005a214c461201655031400114e8a6a524040170886811887a11083811ca388410610000c21c62054236702c8eab8e7d77eca5c23fc04fad2b817cb250ff0e5394628fa3ec53bfc7cce781272f393c920e7783caa5a08f86997fff3f1d4699f25ee33d781606e623f9320f68a0b97b5ba829bf0562c682f074e05fc828fd4e110e43822c114047b317d2b432380c08f0443719701b552b9244ddfb039df141577c5633e9fe4e0bddd21a15f172885ff241d19ef44e81bc08b61e8c007308b244e0ef6d411f453aa7311f519d5f94349a17f6a4398f057e3ae5750cae20024efd04f4a1d95ef346721a8ac99f5f9efd0ed5fafcdd6dfd150446c0ebd8178b613189179a1ab8aab402e16d81a6fe89472eedc329c50995e45956cf3e30cd99a0b801faa1d1383ab818135f4862463904a66d3985f9da2e8f61a7a8c8062cf36e7a25078b59ea19f8e149b1da4b07be98e9a942b68e077229e0fa6c1da1e18a5a486427970679026e5967b5c3870861afc98f9d463b31cbf4be0f7ca70b618480884f9091607fc343eccb418babef22ce583ef25a5f958ed9730feda7b80bfc8d71e25467f3fd3795303ba4f1aa9071083e7ad115fb1125528450e2803072677b2df882072d5147023176e19d7f1a45e969512f9282fb4152ac684627843eca65eb0253f0f756927372a07f3b1c061dfe8ff076a6badaff2c552d5210f3d3594f52915cfb232983f9d72dd624544bd05b7692a9a5cf8f4e7f76b5983a46e902025244f919da7a3898e2dc7a9a868b27b06ecca958d5f535b90fd1008d638f5df3a1927e5d3ce8998c6530474554437a65d1bb4583c3989fdb8df2496c7864ff4757c21c2668e000c8d4f0c15e3f68d127acbead37a3a1af8712b81ad6d6e58f0c354b3faa57768a19308191fdba4250282ec1e28c0919c8df8173f0fc792e7f5e2be1c393ebd7947420b8085470834eb059307bd500f1f918d093ec6ebfe619ad81bc5ee706704904ccc27d16ad77883b08335f9d2795bb28335f9d2795bb267c3acf712dfabe66a32634e0216dbf88ba36f10a175c6b6a84f94f1c9fba42c2e5e0dae1714ecaac49f96c11f9e93f8bdfb7635c60089f8a1fb5040674a6e6182c750f4f0c91ed4428a8bf38c2140af064fa764d55e3468aa3a32b543b5fee1cf2e7d7d44881fa442e89f59ab415543d175de5feffde3e6538f2b7758ad1e6af5145f7770d9e5ec650d7a05b1a3d364edf09b80fb3e221906700b01d1f779249c4b3d89c327ba6aeeeed90d288bc30f44b327e888015ee46ec909634b9aac2c8a4b9a0080d03f8d75c60f5f523b87a56be559daa6950dbfc4ea09ff084a8be18506cd990119d575868f5454fa92ae48417142b8810b653c5f8d01a7ce4a5f0fe600d87925bb0a0b41068e38ba662efb9cd4d60b4da4fb37bbf9f89010b84510f007cd46d3c318d43117c38f50a197a7fb999d59a916c4e54600731084c22ffc6e933386c78184af72ba41ac3dd33bf8a3226829d47086e386f559f8295f29048d2842685de1dae77678c2a9f83346197aaf84413f8e0c96052329023f7532e7d65ba030174db329fe3af4f0eb69c396e3336e36ca7b0c2d55188fcfb93b9c8cf4581e8e4bc32f16e367679ad00336515057068dc543cf8d08c4374e31d35a2737e9366f81f81c4f42af328b6fd30b04e2038bfc566ca2ace34355ed4c2ca08af11dae37c116daf9095bab260154d9a2c54708d8521892ad498bdf62719c19692193b267bfcb2060be96fa19be4e02d57b3e817c5ed3421484201375d4ed397c1b2dad42bd98be1a5d9778fa7823fa0932fc9272a8c8aeddc2d60d5139d53d3704cb627faf36e533f549718ff003e88e348b23f1715f84ef08d2271a07fed1c81442b9cb7079a2f50e80e193fdbc253c07cbc73018bebc0db9700b4e403b1af1d9c2573587b83fb0e6201bf4a958e1f31fa7f3bf6e205a74fce37756f8b6a5335461c0b2c20f4784be3f37a37bf3a667c1fe33858689384b7ca2a7b056718936c9bd1b281f4554ee758428fc95e5ea8f1d990ff92aad89e9842fa4d89fb3ee0e799a3437d717ad97c9a2cb87c1ed4eea9e6f48c2e7a6aacf07bf88db181f225ed7a4ad3e6b022a0965f0916390b6d74b61097e47212c69d0658bce67a7713b7d250b43d092d269e15c50c86226d9c63fad5d4ffe13c88e1bdd1bcf8ce1b87d8d641ea6672d2aaa8d67b908a77781812c5965370c1773bf7f53f53fc0926901ef1d186e114b341a93897189366e9a289269166d6dcdc681b2f0f294e130586da445f6e4cc8a419f72964f1b8d81e643c31acf182a8fdd12e6c502a6cec7f7a6d1c863c9fda315633d97caaac797b5cfd9ed55eef3e47f4895dd1adfc98965c3dc2364b41d0d67d18dc7f49060b1394c8f65c0b2e53726e83051cbc4fec3e77d28e136f1d8fe7203f9c0f035cc9f9f791e0676562072fc05622f850785c73810fc42fb974c7120778f046033744a3714dd01ca5b447b9da524eba56d83deeb0392c310273740d0219a61c582d8d097bfe8c1da9ab30dfc424f0da153d5f4074486ad8134da86927040636d01a7835113118965db5a3cc5692a37d4be3eb24d561fc87bbd1b661b728fe89bef3aaa6ca37acb399ffadd190de73786cf96abf436df6ac9380607715e76f23ffff3931fd409ee784f6eb1e0d7a47b886c91e917af0171d9074cc9f2cbaeef22d88628d9239e97bd999fbdccabf984badfdbaa18f48419de0a3241219fb178773d5aba079925520b8c4ee91337a516773c8a6c0799213ef1a2bcdb852db1f8def75deab5e10250dbec56d3de08cf22704c10cf4783fbbdcdffe52fb0ea586afbc635e058518f7505af92ee40668ad608486f6d544a72df902cf10a7baafb34fc1348a01d9676a18ee390ed1b25636ce9f389de2c0db9e61ddd8c9added6081f226f9ceb24b8e32430a3bd614a3d792d3d2435b38a4d04e2cbb0844ee3e182b073243b4e601ab36226732ab840ea3ccae9792346cf7f934a02b5ff144fbb4f948c919b3a4afae97987100d144c4ced06392eccdf64171cd16e48d04822bb9986bda6453f8cd2cd8822c6043364c8056615a5f711d8a1b9a2d56bb4087b421160164add99305be7183b156dd459b6c2a5637efcbe21e7d563384820bb01a8d4b4fe10a15de7575be41f20a0c2d0ba87130d7831a947b21f7a01cda5436d89cd0df417196cf164e1268936396fbd9d96072c5e91595b6f2943012a2b0b373dabcc444a77e070a3989047c16e58f98b258d30bfb4d8c7d1b6276363366208bd73da9b0dce3a2e3babdebc5879b63a959e5889c9163786959ada4c494763d2808e8200808fb685fc8acd29efe69c0c7507b36a86c3c27c33df337d135f7bdc3d6224f80a9034e88db367bbe9483247524371e8690362e60e7553f531824fa4e4bbf76e8ec4f34ab94a0de4103065586713d5462783593bcccf934d7ddc0ca7dee3707a1da627ff51c7792abbd816cd295de020eb29781103b2303b8ae8fc27037ee996eb79baec79140f5e52a4f184e95139502c6270c47352e40c5f73b618af9f83f67886d0bafec68b19f333eb9dda3f876aed29021034c18eb881640c5f736951189dd82eb77d4c812c6e5a23bb12f40fbd453af808409a88e212cab15e6f47903057784f1ad13e3d1b169b763699932777ad7d2ee35cec5b9f66cf997f2c4486ee646f640baf789b1264b5b252acff97d0d2dee905c4b806db82ef120000ed65b447a9d95bf863b562d43bc3f3b16dc1596943335ac631b12c54818ac46ed2e965309dd64ad89d50e77c226c518047a31c9d8d105635c5143e2de5f4fa04ab4b67ecffea480bfd211b2422a808e6b1eb065565fdba1e558274263ecfa320f468e6d19f2d73589455f09913cb5d5e25f93ec436644265f8eeb0a1d076486d8742f8063f56faa3606cbaf2a7b37d3b1e6c8d7ced45f948d115f54754cf0e8508368d28c3c54f84f9b83c2227c74c36455b7f8d3e57ba82cf1a997ae8179d9275cd9fa5b77a31a2b8894a2706bee56ec65017cd0f230b155b5659834ee7c9564073243a4e6a0180a18d16209c8def575d93e549678fa55f92f175e6ef5dd3b8ac692252dffe18d8192487d41db919890a1c333b6c0faf8f069065d90a1e8f234b0663f1922b1685a442639f0362cff82ca16abb577c8a8910f0f2e63216220c2eef590c8d8e7081dfa905175e60357c28b90847c55112fc508da6fc658f9e56602a8c9bd26e605b5b0d5b20219a5c09cfae4e2c8d8185482f25f961e2842f988e2c26a525e75932120050b7e1b3245277aa15facff76b0e14785434a9231637feef1e7e5f5eaeb62e7824358a65cec857c0c5d8b29dd23a32460ae069bf98d51fd3169b149f5182de6f56e67338b85c7a08a86d2e1c6a43d27eb13efdb83c5fe2a286a9287efda4d3e0a92eadd5c572cfd9a4e810bc7cf01cd1257a5f00ab2f4fa9cf336d5828c42bacc296532948b751e60455dbb640cec9026b55fcf67a75c50581ea739cd2da7414cb52c7ab0360692a85806c2036d08e81b43524e064342106968d888b5e8e816fb891543262d40dc3a99e589f5613c841edaebd83c578caff5c1c196a1df8586586e63272f1164325e6b7f909d58a37cb19fbaa39bdb07c92a3a623f72c04affc82c9af40e5143418b4dac672dd7c496d4ca089cae296e8ddb10952098655646dd34df170eb3817480af16044465d852681ec40095211f60dbd6ded25e0f18644c97234afc947401279b06d610f03e725fda30246ec6bfee65e53fdc947c9f402b49b8baf676a9e9de615a98ebf261ca8b284ea8de4bee14b10d5ff59798439256fb17451701e64a86dccd0b6620a443e74c8d0708fc11ca0decdaf3fff9c393923171eb1d08f264f2a38862042818173cbf33a1ce1b909b6b0f186c0420b8590373930c39f1c24a6918ff7ed3c8a78522a381c01ad9b40884913fbe0fe2ce23193679dfc28a7000221928de3750d8f380ad09650afb1d1950fd0288047997e8157a1c7617196006aafc2b7375ed82e94fbf22874e27fac32658c1680142bd8cb3b8873cf144be4fd26f30747e10bdc1cb4fc2e2ca5c20e2c75c81242583866daad66fd53ddb867386c2cf42d9603a4687cb145fc2c54abda263105890c5747066c19e017dec1c43291d3125a09ecf8fecaf6a39468be029b81ca3bd57ebe15a4f7ce8a5dd271f86b69be91cb1074f48aab7e730eaf873e188f560bb2a8dea407491c9daedcf848c3a2a66830f71a3097cba48308a95c02ef3a7dff9fced79187ce28dd525086a6672be3174122dbfa029d7a7772099e22e5c6ea7435a731cc647c9c222c7ceb5504bd5205538f501bace715cc705bd588a1f638064032b1a4063c3910f4300942bc012c808931078ee001db14cca30006033064836f042c360b6124d3521842aa871a014172cc58f3140b281150da3b195e8449ad7708b3e3840bb7619581b867c1821a058cd5480ebb8e001724a17bf0f0cd75588d9d041548b4eb352dcba8b6b0012962e31106ab880158b28f41a661fc8d73f9bd5ec60689763aa5a79ba37c1f8d25d611de78188715f78b2aa7a8070614191256a19bf7780320f9420caf2e83cc0e2da39824424442b066df60884365a0aa65e528564082df59da8740ff281a94d1e11622401c9dba62ef290ee65f15510795d12374a38b8e0519ee7b45985930e9f450bb1edfef7f754d709c87dd3e526cf90a36f349a7a1c6103cfa39d2f7e51850c9be2c551c1f960eb8c6dc8b15a447b3848beb38bdb0ec3d89ff32c914f452830b09d1f8f0b0342bf8eecedbf4c970f83c3b320d3928fbc8c167c25c787db544801367839acc3df69bd94b6edb85bb19889cdb24c054216a5a799e92c40d5e6b308f34e3b26640cf3f3bd1a8cdecb483872fafac781b90d4313c994f0cbb83377ca756d21065c29104cc090d8b999033444667c407023ed8df6742847e1561dc10642b3b2d4e89b2dd2b2595a6003270ad2072357b66dff64edd8516df42b3b224b9604d573574c38a680f0482a0f1c745c11c1b142829a221e90107e6175303cd0aa2fc3f7e83fbf1df13aee17050fc4afd504b299a4804924e42dac3d0a89d0420edcaaa3c8656d17bcf942e009f3f00008113221da023c30807d0a72cdbd3ab647887c072e24e43aa14b5c2b82ce05670aeb3034bf3b20e1e702c4962683a13198b8391984412aa3637a3934d6e86f567404a8958dd01ead7e7375a05432e472391611026b5a7b850111ecf055a574d119202731f7d34f04f78b3db76ebd1ba6d6e2591d09a564c965de353b0b4ac5ce4d492a686134d7bfa8cc606baa653c79c93b33c703444ef6e832a326cc9598a81fcc07df4f4d8647ca0a4ec3576b337b6a7524a69be54fe04f219f3aea2f1a01615927e3cb5365733fa0b07beb6673aebbf5c3e4a929f2309eed4badfdb7cf416e3dab932088ed673d896884069b72cc85aacc855f808d69362d3a559c3b16a26a006eb3df67a9cb54b55ad800aec27fcfee7bce59268225660522c13287e8202d52c14af0bdc6e845d82041990d08206bc7d05791326802c8af8bc5a0cbdfe0ee9b87f7f6a9bd40d13cfc95b42caa0f7a32d705fc65217577b8c0ef9f23656de6310c940fd57f776754e567377ba42b0d3a62f68dc9f19b1fb0cf166b40f881c6f1838725fdbdd452a83bf05903898e2e0683023f50605370e190efced7a394e08314bed277cd6586265a28382ff421177f7cb9a0d65bde079390226166bcfcdd63ecc71d26adfb2079391dfdc7f0072fe4d9e473f99b7c6d3e938fcdc7e5f7f9f9fc4c7e1bd44846fe4893e0258f11e189803057203384d22969b147198b5b08a1cef588a7674569e7744bbeb8720ac2c5cadab0262f1dc04bc05c421750b5d2beab828ac8fd8dc3ebc41137703bc8a073e354a53ef46cb06422dee4b53c7c7d7e044707b2bd20fca7023081ee8a860bde3d8df9b75ac7412ddcd31261cf966c0da2bfb27e95f56c6c3f251505a6dd5bfa2b596e9e802b21d7a391df00815f06f7546d5143e7e65fa7a0202066b1d98d6c6adbb344c0f6305cc84668d0ab858c73bcb8525cff98c0cfa35c2305c41fb821354434feabb01a15baba7b6b0904fe4b435e85c2e53d797410464d5b6f19d7ebfb3dc69dfd2d99263a6d0ac7416c1b3c598737d417b92ca4684d4db51752e856d8b7b2d0bacf546b759576954bcef22008e31592c635ef6dd4211c0f5790115e63238f63405ed28e2bdb68c8bcabf6a89aae3a00cd2111ee2fd61d89807f55b52402fed5da9308fbd1564889b08f527f2502ff6efd9608fadfabbf44085316e8c5442464e67c72a1957a98f53f6122dd62aa1abaa32ea60341143f31e1088cc41493ec4015f86222119ad23ca65aa17a3cc67432b0f01013ee4fa5b86292c118b21c1329a128393155091bc514d3a941147731610998e445d1dbaf98f28e61af2dd918618662b59c00c5452145eded59cb18133faea80a5daa01d09c7187b016e19ee9d70511ddfaaff556fa6821d99cce3cc3104a8b42beed4baa95f49ed7b880a2866ba58b82098379d8b8aba1c41ef58b5c38158e80a3bc9c9ac215e60d09e24e3e1a0bfc29e76860816d39f8055a612b4766d00dbc72c80b55c929a746d829aa72ce0fb4d82b07c7d725f472bca087fc944318666aaa284769c872a572b60cb352574ebd9028c2cb39992ebc88e57cc60f302827552408b21ce2a18e84955329bc8f633907833946978339388b5d39128229809443283c4a533915c359112be75070e279e56008f28228475031afceeeb60947a833a3ecd593bcac9f643624f9d6a7fdb2dfc0a60ade47af30a2bb2e8826018724a757296acfc066469fe8af73e685363a35ad944e301fcf4974820b1bf59f132e066540dc8488309bea9bd40f09227293b3018ca94df0073c04b6899c001e909b900ff9127a93ba2138f23639177031b2099e0048506d223f14e174d537f11790337013bc0144109bc80f78026813b22154e236a9f77345f826078e95e99830c881db26444257126e52218c8dd72627034bde36c11d28106f9bc8065b00b00991bd0f749ea8ee5bee9e5ff38721a6f843fed9615e3e3df69a5e5712909e154e3830783ee896afaf912902a2c33913e3abbda3acd6eee5bdcb395bb8a454af5dad33e1723edc4de602b7a9cb246ec1b8960a3bb6d35b565019d6496014754268a447713ee0606414780398a0a2901ff00058146442f84446513fe48be828ce0660e645812fe01248147202204045413ee495b028ea84a0488fe25cc00fb83db41ca2d8119ad21245ad5051bca2381958f11605ae4049dca39011d8c1300ad2a14a3a8ea226dc11c128720c6522e34e76cd463e5e18110252a7e68429f3981141b7ee76182e33380750dfb8c9d303e3e72fd9594abd6433da4d9c646cf0b95cbf0651ecbdcbf583be096257f3b5fb5aba6956cdd472888a415c4d035218cb525e5d2b69f9c7cb5d9f1a9c419efb07e00f48041c204fc703017700f99057c20ea8138246f280f30137030fc01b4004e100f9011f400e201b4227f2807a2197081e70268032fd00fc0187401e203780012a78f2218f841d5027848fe401e7033e461f8037000bde01f2022e887983f7386094c0be710eac4ceaa5172eb5af5559f5cc83a168ee0a2ada77888db1037f86ad098113307c499da36e2fb5d2adb16ffe926a55bd32c4e6675709c9aaa1d130a38720c166a743a2c7e97994dbf968262e9bd400cffdbd8d06353ce86d6690e34e6fa3416b1e7b9b1284f0b2b7918095f396b10c1242b3f7fb409642bddf0688dcc70dc9d87b60283bbdbd0785d734eb3d309c4eb8de83c2535a7a0f082725a8f7e0f02a6df71e18a612a1f7001af85ab409b57e899c8bf91b5009d4b779fea3d908ebb7248cc101545115f9e4ff9b852b2bfa41cf24ebe8516c00f39bb7ef7e3953274662dcd59f70b2e703be65d1394f171a21ce39a56f583fe0b47ea4ec293971e7545ba3dbb340053fe79a0c6c8c35f729752e98414eb0cd7d129ad270ee2b219a56739f0696699bfb644848dbb9ef02690a9bfb368053dedc77812b45e6be09402935f77de0956273df04504a6feebb304f8bb9577673e28837a38916f2d51a30258f82a5bca9429a68dcd7e0473c5f42a8d2ecc8ffd67ffd319f467435ec315066469ace318b5880518493de70addf7147ba5d22f143675eb024fe497de83e5d790cf90b56d732dcc65753a8d476c312287b2b25cba0977729d90b54de9e9245d0efc594ec071a6fa46419f4f42a25fb8196f752b208babc9e92bd40ef8d2959063d5ea4643fd0f4564a96412fef4ec93e4079414a062b4757e4a851ebaf015b51409d3330b9f863274aef5bf66130e34a9d430d01e38eaeb5be5d43a9d7f4cd597618eedf5d843e7914e6d9304171a008a3c6f93d0c3c50f795cc620c9f8d96a62e813030bf250d5baffa0d94202ad4be3d0dcc69f7ed89904a9b6fef02a114faf63640a5dcb777812b857f7b13e029f1dbfbc013b87230b96f593a6ec3c6c64b7c424702f024f148bcff4e9e2889251d373df9718a2be8d42985cc7342b5d28d78bfefc96f1cf59b025af3a649aa350768786b797590d01c088d82de5255a101b6e6d8e795493e468ba53e015060567a1ff852a8d2db00917295de05fe2958e96d80257637ea43ee85ab042600094ca57781530a55e93ddca6a924aa914f4d766184b95e8ca1deee101bdee749ba224c31cb9e2d07df63d4607c275936ce6b366a0152096034a0fc9ce4ae680c54ac8e566f3cd11fafd6fee10698b8928113c892e4e1bbe825c0025d01b6e481bbe7b25b0266189204ca910a93f00a088c4e0293c7eddefd6d98545a9d918497694e67e62116b1da7f5145404c15446c79a96e4a4449d97b08ec8f9ea4ad395d6d284fb7e203abd3037c9360a651cdd2b15bdcd200367f6790ab47902881043c40e290b52000a08023488067e149e9033c0c1dd70b64b6725f52a64de47b4ef64d7bef16a8df2405de19b9f518ba59c962cc7a642607e04e6facb982f578986d63a1c3ecf5b377c82190a657271f4e0f92b2a7fc8fc9eee4b8a915b7cc4b1da1389ad4806e019d04d51cb8b7796a4920d852e4a9e8f8218b0db51b31f44ffa971fa6df700c5997e2d186af95a8e9fa4d5a78fe3c520f90b23d5c6ca52cd103dfab79a574e993f1b186102889b2dfa1bc5644812ab3bc451d6072b5f1a5e94a3cf09777b38001068e27ac0a7827e2e65a6de857f9bd12fb8745b808680924cff2a3a6908971919764aa658542bb2bc281f3fcde4a3e857bff7e07924c1a27971a3f6a0188318cac703b78cabf0668b5fe28896bd91840580539e3a83e9109ec89a15ad5ae34bdab71d69953e5fded98e2136b28ad967e9102acc0625474588f8cda6f803cd84e00e4d9952cf356f0f4c13d7dfff9b3b884c49a8e87798b7d4fa18d3cf82d2825ba0b3b72c666b314801e6e4ee9fd0069380fa202a60c7f1ba8c2ae0b84d4ee0654a089b356bf13795f2cd182c75621347869b44647ecd1435db87a3a287f51d825fc8656de7d6d72ac01c05309a4fabd682a5f96b7a6c071adf963f88e5dbede009494c7d70b7d9d377c9f447b4dd96df7e7933d0220c04e0c8c525c46c0d291fcb164d509022f790fc2c6682c580bd3c2290f227d32f26ec1e45d4730e670af3fde695d131f0be092996395765d1f35fd54114c4f75c4cb09e02d8d83183c04b13067b8df3c8f9dfee25db56648cbba83862b6f45a6ceae9fcf1660fa054e8777a7474024d4bc61cd09d3e15d6841be0129decf58d93235681db27dfe252eb5049b778f8c56a0e159f0955b93ea83d6f153403888f7a0da2f3e62ed62c66578377fb866c491433c6130061f8577a4b41f9e3051e2c6fbb3f4fa2b1ffaa7b85f669cad7c493b1291c5ab5b2a22f5256dfbe2ef9aa621ece2f6efceeada1ec85da9b23ce11c24449ebf07b032624447c8ca1ad7eef75e277c89905aaeb8f0377ed9efbb039474760a8dde5ae22fbc7e7f4fbaf0fda2a3d5e8478757a30f5dab463fbabc1a3d745b357ad34da11efcb3e1faa09559642fbc4a3782fa1e6659f5fba0ecd5ef40d9aabf0da54275f10a86ab689af9cd5df88b0ead461f9d5e8d3c745835b2e9a650cf7433707d2a91812c17aed295a0be0e33adfa6f282954878e205c2bc9b4345fb70b38adae36e91f2ab918702b9a2d1438f4e888b06ca18f30749f46c6b27224a9943b23d4d75c39f4b9b72dc726a39e7e36cd94c79fe531656597e728d38a559a02db4e16b6061fe29de171680d95c921a1cae2267c22392b479fa9e677f4311bffc4ea9539296ca676f12c4eb379d21851399d78fe963494b41d1d8de311a3bd2bd7eddf96c49143d07706857b6729f5da99d749e7bcde466d01131ae9267db2dce533f0d62aa6bf7be971f0e0099b2d1b3b6717d28ea500efaee1ffe62063e2f6d7c5cc684b56f8d546f261df84418a0b399d0b408f25d7b4dd5b0488e0717f816abc73809b10a3b1092c3f301337bef6ea39aa1156e0c91f4f79ccc8437edfeb0e25d04b3000a54372ce37b69a1a14c95f9411f179f75f15bf02b7f666560970b005460aef3a284f786d660ab60a94498e435955a18dddbfc26a8fad803eb5c90966c24cd9b68815ed6100307506a71d14b5bf7c9c3c7951f47b8d9a84b3360145951cb261706ec68e65e2b2805523152156ddd783e48ccc9f62e2b128d013c26c459e012a77cf3325a42120d74b00e28ac0f17daa95e28f84c1de2daa818259a4ab5a8b30936b5583659041b8fdb0b02664c735496fcc6b0f8ff3d1c54c481334cfc91bb71f7a1b4317cffd001c4182c94a98a691cd4082c1536961b0f3e0de78caa28ab742458dfdd36255ca6e8aeba50423d0bd22d91c5fe59f568113f725472d48a43fda4e677f9a732b1acfa625ff63ac9ec94111a0b50594dd8632da643ec8bf6dd5d32603bb7d505f1706c797a1190ba9a4906a3563c70459a46936950c79b33c9c92d76c379bf6bea103df9a4896fb77315cf2824e36ad805d2596689ffea574c0d7bf7f13ad912fdf50aaa7b52b70bab2195e89d29e8f4d132041232dd9a32c4e8a6a50260821c3f6ed1c972523d9467e8f18576251c00cbeb741a6e5dba4b0e4a63a6ed60ec760aeaf0093131de4459dca876abcf3bf929bd462fe1a29399061c0817f267f5e9396fc43b4c83db3e8a82dd8e84431ebac943895a565d69b0a86f59803cd23bc951c28c72c4e108aed057d843c8758417c9aefb2185963951ca5cbfd8f6f2e567239d6fb36750e35c7c5a37ef0289ba58babed931aebfe92d8f1351ba7d2147d5a0b15b205c29c3d31777c82d1e87a5f0c4427fb1fdadf21b4fa12f3507232fa32173bd5b656a1c2054af7c1d06e4254711a1d33a05daf72a6a3f070b2ee489f661c23ebe657fa2e57b518fcd0b4c9d5c35b25fce84765b5b107740224bbbd328b7dc4c16790e490640fbe15ff475728fba556009aaf2080ff02331faddf80569dd6c9b3511965adcb3a9f8a6d44925f4cdc098989d2d87c41b2345ecc13b47075ce175fe78f1c20420fe56139f2e520a57ca8bf71647309c091590d56475efb82c52e7391e562d75b4e4260d8af651dc0b64ebc9161f9494124da127370234f6993bfb838aa55781fe10595427c2d953f11961db532348b73def2432df01edf4e6df128e413dd5f69ad7f84c0f0bb58bd2bdcf7dd1fc26889d3913ddb605e398a02880a63133c99ee84029c3457462ace96a3b1343b759cf29a12bcb1a636341faf1b63de78444ed09b91c967fd833fb058598522c5dd08f8b23b276a41479dd05d82c5ec183cca98a3859c07e8b0623865b48340979f6468e8eb58bfc0a36b1e1abab954bfd769b9ecf6c2b4431304170985166c4f24c1770315a766fbbbc59100331c5905e8a630a09b12406e40ae4852ebdfc9d4bfab070a92fad2b2a1c744762d81a6e99bd56c6dd261b40dbcafa5e6144e45857344ce0c1ac697cd8cb8dfff78aaf637a70db4341d8ee124c88375e7d9a32ea2d6ab3bd3f502f811f47922001214800abaa15db6b0f3d289ed6fa65f0522203d8d779acc57fc0bd6562cdd5ae8b74517baa54ea30738a3a26cc694a902460f67f6ba674b0edc9d6c622331a1d62dc55c63ec9efa5ce27aae3305cd87269707e85329f482e82a25de87f68856242740ce699aa11232adf7b3ba5513e3fee1725a76a90649a983fe4b97291163b822d29720d0310f3420c605e44a3bc8074c21fdf03d9e22aa1ec62418557eb5498c398562cd013bf167964507cae05b62cb5fc3184e00ebac967da91fee386e18b5fdc7300e7b1ca094838f3066499f9906517fefcaa1942254618618c730fea6e68c724b603a89b004debdfc7ea40e017c5f3ad87f0100530838673116c4ab769738218cc99e2d6af2e89f540e42612c36a1ee26141bb5a1201849160c9dcb5d61654d208cb5e2f5c8933bed6df7720cc650d0825501bb6250ef2efc53cb4311188cf92b0fc6e63ae74863f87669c18b6767549a2bffef3018838956ac09a9fe8a6546fd2d084664729373ecdf1bb5772389a7609cd701038cc9bc7aa8a6c72e7a552dd7375880318e0613ad98137d217656dde88102aaa1a144e02f56474e6336a42ad5579dc78766fc7810ee8c219a416a42b868beb25550a8086950df30cc6d634c87f65ed11a17a6d671b9df4813974f6c65aade7c54d94d35977fcd03bb37e083d2150156a7c18a835eb6a90b61ed395673a3d6e422ffbd9bd28aba81b77ff71bcdadb9349477718d92ad54b2326ecdd79501210de671d93a4acbce617ed785c29bc409af3269ca246440bcd44e75f0a52a66a58c038f944ac3ea120e005e80a4db7f1586b8f705a972fb1cf63685490add3c154ab63d78afa20260cad2ad5614adee566327ece62188269e3e1605985403d41ee7514449db73f2197d5838d901ae2c49b8f8ef678cb2cc1a908741f1b191badc7aff542f224c32c1c0c307b9cb8a03a347f48eea52b6802fafb457d62d99063771a6797c2c0610623ce5b58d739f26a9267087c3d8813a22698d98cfee3aef63a4e8a2390c84db2b3dd7ec0749c154a7dd990f3504ff5da09a247e3e338b166dc02c306b3e2e7d530c2ce235d7574a5db6d2ddb5231f87588a7dea44adc6ffec48eebed5ac1abed1679db1f275fe8dbab7ace2f226ea7f0d673a24b07bc3f08d953075576751f9134640eb1b3a116ae2e6ffe73c4ac19771ba425e8f2684d36d305cacf311a07eaac7cc29f9b857a8b3e5f8ffb70bb61a027d53fd2a74ad92489a9275a54ba0ffcc36abe60ad14cccf491385b7058ab55bf92b2cc1c3cf40c3a855b7c19b7bd2fe15d5280bb5df17ac07e3bef19de25ac6fb71581dc15fc551a87c1b4e50f23a5b0dd7d22dccec62daa7ee0e0ce3db24fc8d9ba44962677e1e42f6365b19f25874dd6d2bc9a6d781cb084058c834dc260826ca4bf8cb44037da73834ac64d4902c643b2506d756fe4215af1f175465091417a18eef8feffb06bd78e5d3b3b76edd8ddaea88f231cf5c2b3ec1ba11f99dc25e89939506cac1293a6432279b04a2826b6ba9d9f954a56c46489d67fe41237ed06f1ce7129f381f4c75521e8c59601a5d029d932ed860b5fbb51279cb454e506513ce0766caadb5ffe0b3baea80e7dfd85d8865432f64315638856756fb250edea50eebec57ad477f9ae096db482baacf21e231868066519c53d4630d00ccace50a1023dce6eb29737816a58b55df307540b89b129f0f345c47cf975895a33598e07e3e337628b546525d2949ac2a61e98e6c1e7d64a30eec5479a4946ad022512311f2a18364f9185b6ab792709f563d78e5d7b76d0ce78733c2ba86a17fe33c044460950aebe173d9098754a24baba395b38f2486ac430b159a36505c3bfa65c4cfd1d900fe63b2fa0e10929d8ffaff990220b3565375416f28dcc8ae55c6fb7a492b11e559943b5ab7923876e539feb17da7f36d7b392aa76e11e136d6c2745cfc26b32d2d06edd30912a963dcb0d2e5806e64ecb7068b57e9b662d35de242de78d56414163e1091edc84aa926f09d0e8fbfd231d9ac07850cdb021f14e12b245cd9b34c44f7b68ff287dde1994750ae71ac0a0232428a72c64603a043b45ed078ba8fa723b6d1c74c172c4aa0125a4ba520477ef0e78a2072322920ea9b25157be7fb733190de2b1292d99c47854c9b4714a1ea255c50b29a4ff0c24af77b2a28fc25d035bd89846e556104e2f683a44cdd716117a33a7af39804067e3f58467533f5233e70718912b05af329768984322775875184ca5b4a811cb82b711ce0545bb0c8f4866d8ccedd3a1afd0797089961fa64b9f9992e66e9259c8d291d49931beff483707a3ccf68f701d2f9b592a3bfdb31a4b8d283b6da152113502b992794b9280f98034644bc50b698816bc4d230a726accda664796c676b8ca1ad7109342faab2c8d58234ecb8897ee4840db943fa43a0a0079fd08743d028b44a7bb508721a488b302d3c221c5c9817c891a0d28b2e6b187ad1c576005d503501def2ad291fb3257687f77b06d4bc27ca124f52dc6154072099e3e711075576bbccd0b9462cdd66e052937c480420b28b1e8757eb889018e743024ab114db0d9d16dede35d58de4851d7fb7d80eb4c9c9873cc96c909d7b8224ce1085858ec6820e0aa70f6cf8231b0ecf2c892fa5f0e3ba1dd08fc528a767b8d1fa241003d5e0e6b3426af20f0b4716b8f099f4bb89116c864d69fd7984cccd69ed427664b15b91a2ee32e86a36fdb1a017b3196f888f4e325ca6edaeb9277f15a3fd4b9a238f2701dfe648df6e46ec847bf2d0633bd24339d432a735a722610b7eb2476f2a75d0f707744055daaf9b4a41a94e6b28e5a6afd886ae7c99ecf2ad52e9fcabb14f8de9fe02d06402b56ea0a96add4756f0a176fd5f2900ee011c7d697bab3aefd1015826cb7614b8cebdd604be5b9403cca6357e8b0254257766b1ddc1e2091b3c47ce652df0da11fb22cca37afd1326ad4c2d083ac406326b1b2764e207ddb5935dd4e8cafd6783f55d557d9781e949fb90d6937a09d01a0fce85f236dd1b229971deb6b0a77331677df2d812e3afc9df402115b7214b72e4a1c1763d27661bdfafa135c7b2d47fbc2f0f32aaa305baf567790234c0076f03eb268c4eb8e9f0ea33a1cc2fc343d8f451824b624d008b624f775cc7d3e85235b92fded0c3805c7dca339df984991bb3487fee221dd98ded98b2bf28938e491808a012d501494f6502b8ee3eccd9915330048eb33d963cb5afcfae0dcd2855d6655c947e215358e5a07488a22f363088df8675ca3b2a7ca02c60b1a8446a3b8985fdb938a433412120f90603c2b373487468a1c6383b884fd253e47a33e6f6660b10567c8d0997b6a696f110c6c29dcfdae2a49e6d94ecca7f80974d64c708461ade8157395bbdcf48ea121a5c5b113f349b465f9f106af9005382b73853c8197c89d30b2666d179295ce4248ecd50cfc96176a06f96248a02f4a77e5723b9756b09127ed1a8163067a8d02ea921fd89e8db9d0210a805f20b4d245dad9c1eb25c89f0e7339555d5bd992de82e82423ff94637a79f1bfeba86c417f950f374d49f6e496e777f1ec5feb3200cb7ed47963c9289ba01179541e2fe1f17559886d0ba02838a8f092882e24c624c689ee077645c63965009bab86c1ab77fa58f39ab8f89baf1f70c10f356bc13af145c6a30ec2a119694549e0a758212a9c610414b409951a8ceb30754645e8c1807a0886c9de19efad8446f862d78ec6720af05197b09cf5b0bbf9524c9a2eba49e72c7a46095968b56d9c93b97c65bda9e64a18ee4f403d1fa44d3b3f4f6eb644db0f550ce5fe99cf2cb5e6c94af846ee081b910f15d69fdb5ece5aae7de204a95d93e8bb8c8b38da8f7c23940143ac508d826544b34db3059402e1525f84d7b06a91b42c21d1c27c5b64b3c3b368d5ecdf6693c861ad6b8aa4e35170022e9c52529e4edcf45ed96c0b925cb642d7b67073f969f8785348a2d74182f9bc64e0aefd27b1920c89cb65e36e64b4b7ec25d7a82ec9dd90aabc94c0d36851155be477cb21536f720570ebc7d7e88d4bfda4e88b58bf323cacbfd5a276353ece961e141ccc780a31be2466726b8f29db636c15c23043a0c3f1d19970718a9e49a0d13f64bc47df29d1295f490f8184a0ec674dc02ddb206a08b86ad287f159cc7f7d0f6e58f61adaa86b408f3d21ba526ec3edb404acf8bb7961c800e7c8d3048379e62edf698a5376f51685cc7f0b0b7cffbd7854e031edff17ea77f7056ece224fa9569a6ef00be282874941e8cda185100768717a3e2673f548528635ec5b9e65fa439b77363d9a1b653b964c5229562d085c3a057dfdb66032b1903c1cd7ed840b391c5d6f50da2834a4d68b5b21830ccb55f482bf5bd2f24f421f55752cab6e2cfbae131369ccc9f3cb1cffb6e8c3545a5f849e0d357507c69832bfc4f93ef1b33bf571dad2b332e3dd6eb662271a50372e1c84cc29f3af427a9536cbcc2632e642334bdc04f9e8ec2c7776db8ee9390ef35057ea4ff728d64fc2498a5a73d1e6bbd1de75cca250a7e69c73e6e263719e251cba5a776f3daca2d67961f2b99fbae2b5b1c84f9de030d40fb818acf7dd1b3190d77de3706498378b184931135223273a90d0436d0b792745b51cc5222113410cab441639023b46b2283817069a2b39509ed291845a8d3e8be734fc780c9396f7f9ddf2fd0ec6bd757ecdf9c109d06489588a79b3a55f4dad8e0c679140793ff5b6e1b2e560df2c5682ae7951b64a18a56418b15ae83893f924c081d0b0baf0592a92646f433c56bf91b5241df632be0b0467a970966d4813eecbac83df1b43b7a9dd4ff3563f56d9b6b7b046042a5999adc4d17906ab9fe6799896e1f194972ab49e2bc7b494c1502411fdbf40a2f5f8b17abf2482757fd14fa257c5c65078d1f3c912b30ff7c89d5380d95b7d444e8bee6282ba16e101ca9cd6eb46612471041a587ba65a405e11a70339e298b4e1103f61e7300de151d8e025d989fa06aa0e531d104e5aac3281f10bbc1e102e6dbcabdba9097a4b0df40ee662ad8b53c7d0c56b82e440d799c6a8d3b2bdd91bfadf4824234deebde5de726f29654a5206470a960a3a0a35a28abd6157ab4661d9ae602ccbc648bbaad1280dbbda09892ec9cd83af9792b29d882884ea0114c2ba4180981b3e2e90534064f9b4dce4ddc2e78956afb7452a6b61bd450a9559afe3ee7761506e0ddcf69b0db7060ec60dd7060e878b9f9ff637fc06807b03b73d00b61b6ec9344d266f69cae48599b7356f8e466956abf34f3cfc75f57dd5cd833d96bc301eebe6e02ecc85b9ac0b735936a2cacd612fcc856914966158b77561aeebdab83058965924e6e6c1da00521c87d36901801b8ab98153406409b9dcb4792cd32d71f3371c6e898311808b0387c3c5639ffd00e47003c0cdcf210097850e53071dbca50e99cb5392a5432ee75c4c8a79adaab930eced8e46d9130ff6c4830b8d622e3ef4625a0cc09e3e171d9387cf4587663dd6a7e5ede03c96c7f25a1ecb6b7937a28ab7c3bbd128f7581ecb63b53c9737233d9617e3ddf058d9cb9cd5ea580b3980d29d5ac0a357de38797bcb1f976bb9ffe36afcc91155ece7946506387d885b8dc2f2a7e5f2140fdfff89f1d4e943f36965017cf8797d72342a7b9a855c3113c03772937c1ebed3b7992e0e9bb434ae05dcdf9c0222cb28260a1c7e5a9f56e97f347a9a75c815934f4634746819841b2bedcb177d204b90dca14736252cdb15966dc66167bbef903bf4bf80f2c846e9c62947ddc16326a6aaaac744162b981db207b983ce0fcb1877083d45c8902c3f14e52cfaecc20a64fbcabc18638c31669eaaaf57565f35abaf1d51765f7dfd6c8f2fb6ccf5e5a97b632607cd8e1a1e37323d741cbc302a98b934d53f19ca75c7535ea34dbdd32e23a518d68534f286d91918dcef2b8f26fb414b1670487770847efbd41ab1230d4281e4f8f44765796af4f16bcb53231f9fe634caf3d15fa28f4f42d3379e830b7d7cbc711f962506b71dbae361fcf9b02aa43a3066e1b7bfd212bffd0dabdc0b2cabd95db08fd778c9328c47a3ff52e9746a8d3eef26b39e1c650fb651410986eee282331d4f81aacb86d22c8665dc47f327cbece8cb765e5d6a99d28ff04984f532c29d431f6bb9175a8c9fb65dae69a4947dda82e47e9a568b066953d30ddbd8e0e0fcf8d1aa69e1bb69a29b18a38cb11a63fc362e4628cbdfa26cc7d9e79399fb3a8f7cd9ce97e96421a00f7d2e3a40d9c9c7a8478f5cca21dda930d56b64363a6c85b6856db4a9410c5383d59b466138349bc97a74dbd01dba4377e88e14dde08fb6590f835e4b0424f78b6e4439a21f221d2d64b6d5259b836b752d4ffbdc16974e896ebc693af41bb9db5f4ea5779aa6b13b7258976db9a933ff10fb973297c2a9dcc4dd78ead6e02bbaf1d09d9a9d4605e99497a3dbc6c66fcdada969b556d36a77015bb7c65f72685b35b62541afd5a51e38a43b9e02658f73e47e0ce3a9d06f1a5e7d36ace2908055f8057ff65b5eecc55f692972b390d97bfcd9c72afc821fdb3ec9b1f24ab760727f316718bf4cc25919dbc79f049c956560f625e865ac6118bca29b5be3820dff96f1adb9c9f8259884b32c8ca79ce5a6164f81548dca5e1a85ad6a348ab642ba93c3921cd21d1aa4b6782aa47a6994f6ed72937cd1e7316e92eff9fce5329fcfc4ac23098165efb1dc81173472d5e72bafe1306ea34b32b228c992a4d2f8b40f57d8b688a3bb4f19dfe3bda9ae2ce38c1329411dbca48cddbfb5c441dcb09b51ecc38a83dc25d927786570c82aaad8efc7381859b6e0cd095965fa03ccc9f2264695155c0c933cbfbac0ea8a2ce4c92a97c030c9d3e424cf5f912718230b7975465e369e665972de0cb72221a9b7722f3cee6506871c0ca70a39550cee85641559f47324abeaca3b59c5bd4857e660228bfe22f4732d8deaab93a3cac7e04a395f6ed92625dd81945bf652ca2d67d9cbea8a2ad8675b26272073bfadae8cdad85a6d1b0777fba4596be57eedb18f05b3d3a9aaeabad224a5b43592f8ba4f5a675de17c27c5369d2e797275e5b65f65e974aaaa543b139896d5a51a767569ecca7dd4d8ac384a29adf17aeb75e5fe5a6f2bb2686bb7d82ab121f9460e6fb62cdbfa7cc64d2eed93694ea71ca64df2593a0ef6bb7c587a1984b1afc49b5689cd985dda1dc92bf7efa046ee0566b3ef76a9d60aa3e2d7b681599661df925659656258652cf6d96ded439aa685629665ba03d75f71ece52701a7c932b8184e13c38e20f76f9e6509e2576461041c8a74741a257be42cc1e82b6d5fb93f13e9e4066f0549b00e6c11250c71e5a63a300b66e67e9c9e8fc7c393f17a783e3c9b938793e2fdc8b93957a767ad944a0cf33a717cde3f0c5a998c13027ed7f97c5e39cfd3b116708857383ebf6dd37daef4ea33b56039ea343bee6ff2bb2d1e7c63ae4bc79453e9d6b82ff685e916a37b8c31c63bb78025885742c07db15f35aa46dbb40d90d75315b8aaf2e8540cfeac8c7dc1e0f0e6bc7232ecf3f57c9bc65d2ce00fbb00f9b17a510a6a2ab839af9bb3aab1699bc6e91faa18953ba8ca5f392f27b2e8f77874caaadc8b6994d436ee63db2759a93ce5f168533f7873aceae658d5b5aa06e25605de1cabca1e18da987e2fa64b2ac0a17de5d857eeaff6d6ab85b8bafe181bb8d349e90e28a544a0940894524a6996fd8d31ab81265377b98bd24afb496ee6a37b1be43452ca94bfa4290832d57d3fbd6dea52f429a594526a8365c69e0fa532947e2ec93d69c532ab715de43a077168f19461931ee39c31c618c1b0df63a625d97fa5a30c69649210130253f68d15374ee94bf9544e2791e6cb279141a3886f736e018ff8a0a9e16ebad438b9eb5cb9df2f0d09c99b508a6194524ac190e44b9ea484cef902bb3d2e0d09185a8026933ca53f7130fd1527f992a02460c86f5b8fdc6be526f16e44b680457e93d17e5cb97ff415b3c97d837935d947977ac463e57e51f21b16bb8d84f4498084e4b32f9418aae4439c4d703005f29df9846cbe1a2a9929a171936804a64b1d6ed8c564a6b9e4c3016a31ae6ddbee8325252625275fc2751f96b06e0dc9273366f24d922f66938f764dc61f7e76465e23316e1af9c41e81f98c8ca856d0e4ee5f41b3c247a34abe7f45cd0a9b90d18725aceb83e6967c329b7c314f2c60ae888f8e9b443e2c618d3e1c81c915040281409f9ddcdeb7f2129957e4c8bdc2957b450b9794dce852b34e74567c91e5cbb2c987e5900d2ef94a58b8c54d61092b9b7c3297987c9ebd0f4336b7e6f6a0913d698d98635d48818c7d4dc19d096b0a32090c499e7e4842f2c53cf285d9e87a233025352e390cd97839fe52c21af1be10d4dd99d00bd98c74465eb9df86f7cecc0baeb8316992083c06c11e5f5f37ff2dfe16579a4a2a4377b21f2914e76453f2f13db2cb8c187b894fd87e38f2d5e72a37b9bc839a0ab0b332abc62ccb304c5a6b310b54ba03ece5f7a99e65bb3dc09bcf696f60d8cb8fee48c2696ccbb25ab8297cebcded0d6b59fe1bf7020737b380e3cb08ae74fd26c73df6eefe6a4b862f27c1dad2251afc8529681a157a5fc8fdd8ccedf1fdde17a24aac363638383f7e3898d12841755fd5a54d5d5be4f79dc1a3fc5bcdd827230b3aa90d3036b580b9185b96a0fd412b633e3ab501b12c9cc6b1acfe61592d96e52d96e512dc74baa404ef1555e2edace7dfc412c7fdf9d91b6d6acbaa81c3fb625d19b9dd39a9b7ac5816b5ed725d4912a87ba5734e87a2ebbaaee3badbc572dbfa4e50249222eed544162e7a4515f9ee2fe2895ed95f34ed470e7beced5f184fc5dbe22992f7bfaabf2f8dbaef7f577f43b29d1094ed64411ae57927bde3f7b72fd67fb3d1861ecb21305c02f4c53c43e67b3ed297b9693ef63ed0a84bf3493e57b5dfcfb7cf61e68f7c3ef297cbf84c97e6d749c1d8a819ea1f5ca2a02da02d804208cd731fd2c81818ced1e8d4a24ba392f7ea2097d2a58a835cbf9297680c02a5a2db750066ac4a85cd12e458914515380fa1610115680ba8308529bca059305de32546197c03ecdf53526c0bf59b9e0b444627cbac756b358d4a3b5d07f6374e8646816d7d5b3ffbea52733638bc396efb5d856b746a85a59dbe6974ca8bc3633dd623398e93d5dafa96b3df6df1b8b65d8ffc2d7439e7f4d85aabbd9be6964e29ebe61dfd70787e7e251b2a87e99294360a5ee9b41918623ab216bbb55eba4dcd6e9ceca427f167a253fac8a1a52c1cde9c9be3d2a92ea6bbed25b7e32f73130a07704be82d1aee7edc6a8bc5313bb732883bf4df974f2abf2e7bdf6db9e870ac867c794e27bda18979cdf44fd7324cb32d9cb1795fdeaac4935356ee68535f97a7a303c4db09d228fbb2339ebadf6f693cd5f27eebf217f971345e8fdc5f6bf566228b2b735fdeaabaea952cb2b6dcd79d99bfd25e8ea7b8effb6a94cbef635d3ae5aa36f5bfbc74cbb4edf279b9fb6686bdc76c1988554c69d8f6a0d89a85318afc703e7697609c619683fba94ad6255925fd1ccca25c020dcd610281613f31acd6a7b5be0cf99e65190606c1d560f9dd2929618b164700c1cb0cb2f56ffdc190ed5c8c599ade5fcc345a4a1b5b8b958281fcc0b1f17c7cd9526a93b781740987f6edd9b2f7b58e161b4853d13b9ed2be7feb6af3fdb4ef9b0e4414cd72bcda679f96b1a7a88dab5ce52a95b3dc57de52d19aaac242fb925555565555d58dd33235b53d9667c82a326c6a767e58dfd5960196f8f4bb86524a7d6cfe9166a6f9d4987f35ab329b0c07ff187d89d6a8646734476fad46f9db94823c90d18faca6b39a9adc5548ff17b4060eb39a9aac4664bbc956c072e5b63c72db576e195974755597ed4662c7e241eee851c41dfa23e8435ca653231fe9c7c4e8e404b9a999f1994e853e4a87e91a07f2de26f2dd1d370191df8db9396eeabe3cdad49c2a378e8e4deeebe3e6f698b1412c4e9772dcd4376fa0bdb9a92e7f8e73968eeeb9cfbb3b436a03ccb5b8afdc577b7363e50dd9be4fe63e1ca3c71f8e91bfdf488dea59462089ca55cf323262d3a67e6efacd080e8d888d558d1191d54a82b6c5a506c3b6cf93b36c6ad3daecfe7547f75eebd4a6fd59b36a51d5b07123c7c671937b8163e4f928e5e8f38d7efbbc2cfa2c8e07da9b99fa589c3681d6c78ad36c8cda4777aecba14f07f63e93e1d19c60388233237243642502236283c3607575a9d60ad698aea9988263352a0ca122f7aa46a32c67e343a818b919c1e99475115989ac445622abea1259b96a4cc9c7bd51b5d8b891e32673dcc790d0c7659ff194b52f6e6bb8b5e1f686db1cce2387550648f5be1ad3251e7d41dbc2290187dceaa6ee685383d5070eb9958b8d4fd6afa93c05f21a3936746eec3c9ee1565de78f612670ab5713700c2cc384dcf55b865071399155b422adfbdc571fbf64302abc258baca8d0388ee3ea739f04bc555bf72717e366ce7e28b2e240fb03ccada20af79cfd9c5b35519365e4ec4bfbb3baeadfac7d383e0ffafce526f9219fcf641f18823edf942549e2c2bd8312ba45b4c717dc401c13f0b68166cf1a74821c3727b59cacaed732ad46f7ca2bbdd2dc4d8ddc94524a9d657b50b63721d982be041c7a5caea8625faef84a67df04a68782998bdc549a2da2842718f6cddfdcbbf7cff3dcbfcb79fe69797ecef971dc9cdf27849b1ecbdaafebacfd42a2aedafa797ebb96e4ed271259fb8d464416e60b85b6ed239584ea56b58fe334ed0bf9709996793c1ffeedb37d9fcfb67d272b3e9b5d695f4888a67dff8554ad7a3c1f08e4f17c600da0cc93795f28e4791f494908f3302cf2f8bbbf8d68da5752a2691f8a0d255a5579bef77c24241ecf77030048aaa782ef7d2626de5732996419fe3e1ffc9dfc07c3ba0f04eaba6f6404f2ceeffd447efb3c0078cf371a797a78cf87430046d4e32d2d9ee9bd6f64c443bdf7e5c062e4a9a7c2278f3f1209a71e7f3aa090329c75ffdd5752d2a57cf7ed704309d66177c5df8f84e40ee0ef57b281c4afd7f0dcf7f9e068f1dc077e9f39457e13f944bfe170bdc5e3c1a1078f07871e60f4e0e901c68b1100028083e7e5e07939b0782c31464c2c72c058078c750002037100d2098a0e5db743d7edb0d2adfc50f237ec706fe9de920f7e7dc8242b6c28714d3ad1ca55303bf1d0c24e12a9867443ca999f1a3eb0b79357a32827e260c82c82c3c58b7ca037117db66122d6b993939313919393931391ef3f39f1d128d0e98426db130f2e342b72e2e14f6a4e6e4e72ac28c404447a9d905e2727272727272727273251e5e4e4e4e4e4e4e4357342739273f23aa939916954e8fb4f5edacbac6d21fb9dba84845cbd749a4523220a3101a91080fbd4f0810628c025596143c987dc95fc0d3bacfc804927283a0071006fc4c4220796189ef6211f871e5eec8075955595a6a1a0340d05750094863a004bc90a1b50308fe7068fe7861f3c3f0041f201e086ea7925cf2b652faf9880a612c5f804e3930260b8003e7c6af893d9750b9fb47675a40501b216b673186779cb41a4d1886fa457a3a8c86fd8a51c8cec621c0e177fbfd0679cc8db6df396db7431e93dd513cd25f96854e844a2c9569bf74fa41ad20d29678a884242de427a917c70a417e9459a21bd48332499a842f241926914477a915e8dc232e93543a221e5905ea41a920ce9b5bdcc9be5a6bf749a75454421a11e543a106934420003e04f0d7f52001f3c13d054ca2b1e920f0037fc0084d637b2fc92159d23cbb70165c70158666ab030d8aeb6ed24b56d27a995d4965af9e1335a71e269da6bdafba0f9904346beef3c1ed0e3010d90790c500010a90690f3ba85cf13ad5e2569a192b5b05e65d556756121931292dbd2287a3beefe866fc7c19098c3e1e2f1c7bd878b21b3e8b7cff570f73f5c0c9943b818123441206f09726fc1bec25ea3519c3df1e04273fc271ede619ce52dbf2222ce6b70dee22daef21657b94b54f11aded2d2282cb7f0e0e22df665b6b376fe9d562f1d7c45441caa072f645242a242000f885403688002682123dffb90372059fe6727884bab7e681894cb12b930d68e52ac1da51420c5a614c00711c9c848b46da46d2311a06e043040c8a48414d2ba854f5ab51a92d9560f1f5a978dc938d02704b4e1df4657c4c190d9e3e23d5ff7231bc91de1f0937031462ec9f35b2c992525deb20473cec5a49ebaaa1a8ca7da68545761b23df1e042c33c271ebeb26aabba307c45baaae2aaaaaaeaaaaaeaaaaaea4b54a9362a96ab6a5561aaabb2ea4ba33cb7dea94b48c8d5cb83af489742691ce813d283ca1632292111c0005644227b64f92323e923cb4f29800f3936782d4e0191c563b969db42ae46d1e672c815728576506d4754996f73cb34ea1372352a0bbd72c8d5282cbb423b4231a197a778f8d08cca87219adca11a0e14f2f9b44a6c5f1b4259540fb513118548ab465113cef3db8a6bc2c19079fbedef0a0e878bdf3eef9f8bf1dde73cff6d7fc11a660d3578cb1a32e75c4cba5998aab1367ba351dec9b2b23df1e042cbb6936d59978dc93cf87a17c6ae38bbb2307665610239362abe5a5a72bf9c4554214897629e2b247a2737180a038e377966df60d7018c84a7eccf098411546d8a997e401861a5c4a9bacf1971f63e742a93012d76c158f891c3e8234f0c0c7f8a21b49472a7c261d491995523a568a9b55277777777f7538b589212bb2d50e8a0a0bff205115f4164decdf2c00958365168c1f6ff99a7b61fd1d819d1a636a24b7e8ff0f0917053fb679ef28e28a26660d4401c51b6b4c81793d6ae9d954c8ece745f497537558a6dea8398d1a0031a0842de7ae070e4dfddedddfd8d1a8db2acc1b0f42136a7bb63b3cef995fa4fef6e336c1145360870384271ead36658e626efaebf82008f4c62cac691889a51e8c10d2264796f4c8d36d0cff98dc0f62f892f43ff6c94615986bfa4f43370d425ec2b790c2c71faf36de030874cc16f94fc921c553a65a45d83a3cf7a8b417b6ab2b4afa28085994d829f061cfee957fa71a7011c9e7297019ce2291df1e59fbed69e26c0324f1cd9cfda1818f63391813a95bd446993c43ef220f873786a1da82001f1ff511a451282e67e9a1bbc5df2813f8727bcd271e6748a3758149b7c2ec6ccf211309f542b8d31c618638c31c6af741a1167de64ecf831c618479f6592e56498e08c2c28066e648f9a3505179c4ec9463e721a2be422c49a6d093e808935f3e7b7b329a1693838580e961395b08a4a585510b02a089490a5f7913b67ad849625d0f215861e39e092123fca61f435aab304e61574b4644c8a971eb4c600b50ffd6bed987de8db29822db40fa3939e52bae443eef7a145a3b06f89310cc318e61347618363fb8dab0263138732d7165d6a30e5149e244b7c6fa941175c46c9a501af74e48408ef87385a582ef8048b0e2592884be0001a5ab204e8db5a3d7377cffef105db9f33b270ee851de29311359034447cec63601fb5bcd2d57238b65a43191fa33848fe91a5459bfa579a740ac222810d0e8706ace56c1105c48501f74fad85266596692f1f6be094116e6f9fbee4889001969086987f9f36f74286f6f70b37d06a9fff129d637c5de93cd0c934629a61384beef398ab957d9d43befc0cec1ced6a94f4cf3e8ba9f919184a100363ab5d5faf1aa65de41055e487c126f073dfc4e7bb8e7b0f8881cf7df454133a8cf0bcf74ee830a27b7f27b89fa421fab3ef4c824d784027baf7c72131bcf7211e83c7034998a7091d4678ef5980e7433e047402bfc7e3019f28c2034fef593989e135861745b8702af90407ca1637d1ef4024dc445f0937751f461dee234bd73df70be89e039dd061047eee9df82c807bcf7b4027f0731c073e215d1d28576ea21f5942d992290796da857cc95a8921340659840b14f3b987c2bf9bcfbd11f339908419e1df8124ec3d1f59f04796cf47c2c022b8ef30f9a34bd446466fb7eeed56a372c44cbf71e8f70e964ca6eda23d93696f5ab31a15ca9d7c8372d8fbec471c1c07760b8d1c4669064a1dec935d0ba62f5f7234a2edea12fd6e75893e0704f74bfa118582325a87cbc2163be5a2c35332d7f9d19734b82186e8a7a00c0c8c3496c8e4cbe7c4617cf9d8d7c7a0f89288082ed139be8c468d1a77a963fc46383e885270d4a56e2c5962bb88df3f8295c4b2164fb18a611996d5959e08685307b1c2592cd19b69b844f6af4036411cd6fdfd0c58fe84c24df61cb2eefed9ddddddddddb2fb08231ae0d3df47d3f5819b9ccd8cbe115d921f449764ed5a679d4d1f20e5a744ad4a4420897944a36405e674259a7b412b1744cc0d567a43dce2593880410e4b18bba6d0356790b5565aa9c4be6661c93e1a4d3e230b67e909040eec573c8581a766899c0f5d923f5a455145ce3acc246bea20de684ea0c113e24d63ef1fe61eb39865d90a104178eae4e3176144a3481fff084fadf8f871c5e762f22b10d0a54f07c9aff8b29494d30966d4305b135d6afa5bc937f2a44ffe68a9a31a81aed7c5e8d99ee47d577adde047de64ee6f1b8d8a32210892fb9bd5281cd32f1f322b56eeef96d76d2af962b195dc082873ae08549eea1118a68880610a189e42604b0f188e3870f5c999d17b608837980ce7d49c566da067644b8844d63850ce5c50ce6cb2511988c3e45b0397e852bf09d84964ef7f4406168185019330e0ec9bed08944ee1eeee5e439c6738933845f0279dc2638cd1bff0db0b590e3ef8dbc7de3d7bcf3ef46fa7ee4f67cf6e30f4a6d69d5a0a822ba72ecd39536ae2cd3c423e0583e8d2a782fda5048b40409726124120a08846c53c65534941c9c24834ea018d8a40a3e8049bfea478446f5ea0c893da3021ea602d529071b06ef56397eacbfaa7f9d9ccd8679fd9cf2c18629f3df6927e9e55d278a59c60e81ffb732354297fca973129c52875f93367cebda06196a33cc519238e0822c5c170a2bee9efc3a31c1c8d30a6e08a4a8a3443ce6e82a0530516b484000138bece0024c7d71970b20e39beceb0236f2b60c83cc2617ce5f9f39f08cf5e8146759ef245e80cf8b37fc4f1c5fdfc95a8621f0a4b30429ee08a9be6cfe9c9ec27238bf82b9eea688a3f4972fc6c62397e055f609e4a4c0024517086ccf1e3cbe595e3cba5479e200eede72711663902f14ba2539165bed0d0f242434bae4083e0099ed8e728ca55ed2c035b44e93afecc2b8d5b7ce092c351ec7fc1d6f7ab3278f93a430e4b3962b93a418e1205ff7159c021a61fbb418b5de6ea084f6d1f6b36f0253e792a036534f5fb086b36f3e4f6ec14638ca3b75f3f8b298acdf7f811d4a5e8f185bb141d6b998d920028bb12a0ec1f67a3420c24e19573f0725046ec529cc1ff4670d9208725dc12822cc3b04517b89e4a3f66caf5946719c6a3d1e7b82ab2903fe77477cff194bff098303b72e798aa6923f7bb0f291e239232c394ec3e67129ee529804424944844c9981a89a95144cd982a8929938f4f7fc454080b488b0671b9c4bc84bc62c84cbc2da7893d405f96635491d94e088c7f96613c1afd975a3c86d2d41ca0afe6ead2efd597dcdd7d6a957c9f9b2e2402a2a26cc7bd1a2fdbc1d98e732f2ef772db628cf2043fad1e2299ed65b6a3e329920f8171c15ef7719fa08f6691488ae49c5224125159f26d3baf2eb90c901fefe334c27a19e1994922911449fc957be1610cc342742b419f674ae3734e30ec82b4b2206df26ca74b8ebdee6d6c70707efc000284ebe14991de2b1763944552de975f8c509ebfb5baa3080b78c3aee89319f47536f9b6926f9bdf1653f2a4928dc7f6c38593dd86e523fbf7c89eed5818bbaad1a92ceb74bae4b755f285d8689387c074c9bd1aafc6b3f16e3c9cdf661ad523dbc976b29dcf76c26c2704e625ea4222202a45a2976846d44344a3057c5b5dba39b0a06d17f4c92cf25abae4a297531a4f792ef586631f9e4a1f7e96ef0ed7775b2d9e8df087df27c7ab18acc22da297a7bcacc170f49a2dd94ef6effcbb209dfae46893bfb70d0e4effe81fb8130151d1a7d525cf766c4ba3b8cf91fd436042582137425a8dea1e0749d422813e2c7741b27bcd715b5df26ea74b49c0d90ee973d1412df742f422d1cb6f137d212afb21ab468140ef52e425e80b512101833e0c51657fe9520cfa328bfc4a7731444f6f804512705616fde460843e99a54848e4fd8b59049431dffb15077d3277212f1485bc38fe1018d02773732f700b26bbcd02f263a7224bf852f684f159e787e68a9e71469b36a5127bfa92fd69a093e76358081bf29ce9d2a6cd9917a5c199b1b12f1fd97ff6e8948df129d3a819d0c6782ac323b7d26386412b9f04a3d25d4a7790e49f7536f0d6d50f85014f9d510dfc92e392e3cf209db2393b8d9aaf399365188f466f63ea27b3cdf12c9b33f366cb7ccecc19d062171d7426c39b877b21f34a4b497f8697690cf654ceb6318de2617130acbb9bd528e5388ec33eccbabb693dbbbb69734e70ce44163d6ad6dd2d7b8d3e9da1590e452c0113557844957669f5689d1a3151c526aaf48da8d2a1ec9161749e2899fe4853b9a9515c0fda0db903f6dd0a7007ca28bdeb6678ee40aaa93c65736ec81eb496dca1b1066aaa8dfbfce9db1c4fd918d75ab2072d87dca13f1cb53a77e113798667cc6d8c96e3c6f48cc99ad5726469b34ccecc1fab1d3534082baa7454e917970f6cc7467f861355faf42db20ce3d1a8677ace7cf71659f48703c8f1536cdca173a7021c5ecdcbbc0494fde6186f73727f00729c02083df286af67ce6822875bc6aaa8a20a20b94b727e009366c8eccfc49c21623e06ae3805eb17979079ce34aa47548971ea34aa3bd2cc0e864e64d9a34bf235d7970306f8c8f6a7175132294bee9235d45d2eecbb14e05018b0acc9a1acb9d1a5feec312b3139a5ffcc947a8dd7e4fe68858c11617f4a9b9e61bff9312173763130eb92df8061eb60b03d6579349265f4a9d3282c8f40a6406deaefc8c9f93f842da2b0fcfe99fb63833e06edaf4c34d63b48309c5f8528394744139372423831047dd64d761a79be37138d651938c333067e9d09a098740e845b962da5003679311e65318824b61722a6466eda7edb7cfb1853db87d10ad906246f41f216a50e5c72fc91e3143980c99be48064f92e93e54ff9d13a5bd658b39f3903c32732064e9ded7669fb483da02972e092c394bcfdb68db60f628bdb8f3c35a349fe05c39b65e046028c7df61d5118385f668d6a54f6db47940d94215bea0cda95ebfcd07fcfcf97375bcc9f771a201086b94b2bc4147653fd11179e8a5c4b65c8f5a373fe9e2f76a94b2737d5c755f2881ffcf9b05ba3ff7cb34b1b86c178eac5720cfbfc54e178b384ccf73ff7ab9462062e194bd172c9f74386e8796554c253225fefa6bd88e8f3affef6f9c855de91b107fd46a9074f9c991ed3c7b49938a21999572894040a86610fc2e4eaabc4def3f51fd028f9358a1b59fee7b75a3ff7f3491e5daa7faaffa351f5c474a97e3702bc3de8e94f55e7c032c75312a6559e0a7dfdaed136405f9fc3fef375156be82b42c2784ade78208c071cd5dfe2cd0c92fd5d725e72a53576727d116c27fb04927d1389da9340f9fc0c2f7fc0f7804874a912813d08948149102872d303d8bfab81e31451d4c8718a285ef216b7ee460e066986ccda3331b19fe1650c646266d0cff03208c4fdf6695c0240e0fd8d23023f063221b30686f23dcf71437c326e081424b87bbf4e7e2145c9f743becf733172006578969019830f105d97388dcabed677e95b6c9f54c6da9184a8120c9fc85356ee63e462e430b001de17caecfdc6f917a9a7fb38850e76e450c6e4181b1e3a2f9946857295ebd750d69037b556ef8bb9fb40f226d7fa4af857d7c0fa48d4faf69b45480c0c33940aca6897d71f155b941ec0710a1c00c9da5bb97d37cd88fdd0633fb432c5dd47322525aa74b6df800834cadf3e01622a8bd17e8cf69790adb5f6b52f872ed9b7a52e7d8acddc7e74bb3917e3b3a6c9dfa6a6bd8cdfcc502c2823ea50136c1125a4289ee3b7d0b4dfb4dfe863588e32403d1a3573d4346d7b4d7242604fbfd4288ad977d1b1490d0ce7161dd0926304bae774f2bdb2878f1cef2783fbeefb0b39298355eeefbaa7dc097b4d66295837723f26c58edc8f4d21854ca66f7f8b0ea0c935021c0743be72759acffbc2c90d216ffce48498e1c72e6130a49d579cfb7078befb46cdec8f52cae1d42d9ff2bc32ce17bffbe7fa94720920d5c7e07d2f7be1791555e4eca9d3d8e434aa5b5e606eb878ccf8b8f93177a84ba33c5f7d1fc265c010d4257f0afa4c97fc4a2e0160b63f65def00b5c5f6824728791dcc17fa53d0896ff44b6bfd23776be977bd19500d7f79904dcce37ef26a09f8261063221f386b9213c22fab11932fbada19439945b8803f28cb12267e08c15997eed0d34837231bc9c81333c99359943b81838cf903a99ca9b290393f18668b40369302a0d9fc840c6aac89683817d39cf183fe40c9cf143a65b47973d3b0a7466a266fa91c5ab5132741542846d8bf8d4a51865e078e2c4a2a31ffb36807da644ae4be40a86499cb20c263ce3b800f631d32668b060df5f4823771118887dfdaa132d55019105f3c7be0dd06879b1562a170d64a085050a1a2c11052583f13f035bf782bbbb3d47e9ee5d0ab688623f6edd7f9865fcff786e76f2e852ac1edca59b4302fc8f696c734a0e060dfc2bde52c4d4b7113c26f8ff7b4fcd979ba609aee08c19c1fd2de644200925a24acc29194d263fa3ede1f161d2af7aa558f1b3fb3323e0253414f2fc88814c40f42fb48f285d3279f9d5f77c31e45718127fe5104023cb155f28b3090651ba84458999fcbc3fd3afaf6556f8aa604cc0fbdf1edc25ee5df4c93c611ad5361ae5ad1c8d62798fea5ed69030d28674dd4c51039a1ca750c10ae738850a5a328e03709402874cf69752e0f01131e923f0a18c88fa2fc439344a61d1243ff4ff792ced20dfb322cb0745b2fccfcb29c9fafe715af985c2e0db7625e71a87001ab956eefef6dbc6e3be6262c27e754ddfd8344ed3b48fedf16f1c0c1e5bcc8ce979c3c39e15df0adc123f1333cb9fe16509860d3221335e428abe7bd0f8e8d7c9fff621d1280c4ea1831ad91fff86734c579e33ce960830f7da77efbd7fccf629f0e74f9a5973337de4f9736e9ecf8c993193c77cc5e8ec0163979e344366f94ccc8c7f8697317e0c86f8e5db982a0cc4773cf5bdc87b66268ca7da65f20fc2e4f9e037571e0cfc5385672b060665e05f42667f19f7979079e6982d4fb52b7669e69ed13c3e63f08c9933313326c6276d493b921033ffcffc60e844de7ec5375bbee9d2a6d9caa20fa5aa7db4a75d7e02865936991b384380eb4b12c96f317a6e97b8d7be5f5105a7519114e3a8e4932f5d9adb48764b22f197db53ee97a722e0a6f91996200994aaeab95dea3eec574e285546882a33a48e7c4984bf7c7f35aa7f4aca0de12f9990f9de2f623cfa2620454639f44d00038161160286f8031ed10024523c157f7ee9fe9cdf627ab6e9c16088f394a037bb9475e97eb34b995a6beda3849346c630520571ce53c7a46f00c1165156561ad57e4b3956f0825949b2dcf440744acab469cad70670982227763affaeac742f786218e55eac7c004fb9c98fe06cee850481e8392749089a67c82a8090dd07b06c495697e6c71c38942d797e285be487f12603c91ca125cf2f957c412693d28768921f71f7021c04c9d307a251197da7b4ce3f7d4a280cb83a12b698c21d980f059df4dd9495f0ec00f650d4c72aedc088058af914ec40c602c513b1a68506287ce038210d3a58a0d0d13f41cc83bbe498e776c9c1fe8867115508d22852bffc8e53b4609505aa0ba8e44c57563d2cd58c480000003315000028100c878462c15030ccc34c9a3b14800c89a84e6c5ea288490ec31032061903883100040040040040931800ecd1cbd4443193247cbd9b1a5cd84ae425b0e470a912733ecb202e0943696f8800d537d3498f83058b6c68e65ae630f40846d5cbd2bd235e87158d140510a44e3adef76302c6e94d254008ac1353ee620a8cd4d05c85a91ea65465221fc00d2521e9b2a109e3ae34501b4a13516285d47cb54496241070beb4aee80ee775b7c1ce03210190f9b55ed07913a87f9c2c1f204e562d5d73856486f2a378f5fc0243e76dcb0bb5abed3e6b97d4cce665721030d248b585041bc9d98bac6bea96dae6a4e964d24145dd1cdc701f5fefbc11657fb62c90366d5d8f0e98ff7c1b54eed6be404410c215e4d4d7ce4086b2bca102167076e1a8011f8d829baf9906237b8debf64d16b3634cea9e6f4d8138f34b47d038a3f064cc0fc1e91087f4a6d53d13d1be117324421f054a13f40549cb1e432932ef7532da2b96e192624280b14860b07e04f0dcd1cb2f0c66c409dc313a535d603a61ee03793fa104fcf9d4834630cdb0edcb6545141783c345b2eb616a7cb9d4f59422825da73e2e186c53362342c6fb5e671a70b621517749104fc95d3e49e8d52058ddbfaa5dab2aa6242f787380a4d70f6dbad68054297ebbc2e3ada8b3a3c65be1f828121a6bbf2f4dc4b41a2587a4065e43e94cf072b74f422f3213804b0e967090de8cf9adf39238c516f61fa671347f101f89638d9e1d489886110a20cecdbe1bb9d1faccdef93a993b3f973b8a1ced6b406e9cb7e3c3314464d33b07a3a0859a8b82972c78f90f7214f82ba2a7056b62f1b96c193685b274aa7d3442d301f95ab3e1e681eb33fb7973e8c69058db58a67959eac8cca152461f11c1ff3768e1f8e359f1486d86eadd62833a2535c2cfe92068a4517c446367ca5a7b28bea146b20a917f2d6251b79bb7210f4889025afaa83c8086b8555809142d15920b612aa87ff0008e824fcb8b6926fdf4c0edce0c3c55cbbf16f634d56c07fd00d367349b505030b93241eb231d44425ed61bd14fd355e1df6f1c7759f0927c3fa5a010129d1dc082d87837f44371036e2e9ea6ec4b407a701298e7a62c2250f422599b5b281c90c6dc7ab953bf1c574c512148843413cd5d693bc068721e42ccf0694607f5cf44631e7e119d73ede6289219e322db3c9b0bb744a4874e8561477791119c718d2c9e84bac5947c7957cc975328666a44250ea192ba3adf4a7c9aeb9718b6e9c7731d635a098b2de9684e39b662daac8d74d98dcc4c141a006b43dfb2d11a60340c0db9d4a98bcbed37d543bce06259bf2dc5979d1dec2ae18b1c48c0a450ac9b4b5d40f9c7355ce9f5e37c00f2c095be47926b2d9ecb534855a960eb5fd8c7885adc4446e61425de60012308225c640df2aeee3cc57f26407695bb818df78b98f92ae6b00c8e85e0654b070edcc9ef58960f06b8b079920a9d9761ae261b4f096043072af00627d6efbdd68e1ae826b50068167f974d60408ddcc5613d6306b619dd0190f13834bd44c283952c42a8cffbe3b6fdb7fe9b69784afdb8d783556d51fb0f018cf8011734cea5c11425a2b55b826d27124aafa5f77c3c42a792e634b23cc7c6fa4693bf10b56ba87724efb2002f990ae35f07752d96213ce3587faa6c0bf9fe456bd7cb8a5a2dae6a9fb921f5d9b3fa3b639f185884f557209cdd0cccde0c2bf91a344bdb241216863c62cacebef583c1a7ff8a89701851c0408fb3fbcbe7d0411554b2af178d8f361cb93d70e6ea3e5c6e432b3c9e22f39694828222dcceb890a828bf1765fd27033d6cc687596b8a0437b242533cb39a0e1e9ff6ba9a48e9dcd64383358734b7dbd1c8275e5f8b2b62a960a411df6bc8a0a32e6f3dcf4810e2190baf008d3918839271e19715167edb4fbf580db8d18d310387ad629d80ae6b24503a4aff5d8a17c1a091c6587637e628f7bac22b0c1432cf1777aff47a88b7fd5dd8b5a11520192f2341da9852531473b25d0abe7adf67a0c87d5e6bf4440c08a3b736f2e325c5019ab5a254862cd645f84abcc74de98b4c514f6aae26be4ceef14cdf0b9de33952d2b87a0dea6b43e419188e224750d047e17d2ecd73a5f59329b8c58db7b9c600b6949ab5b1c7d4f9056a1aaf565def1ff0542c9c514d17637a12d694689d99693315497b5e540293815f048959ca3d05ccd3874c1de54fd473258f815ec9aeab054af175671e36ac51275a90973b7c302510a0277e1ee8b62c183201a9c7e2f6617e78d87a74878e8be594197197131197bc606991428d8ec7350d5fcddcc65aae11877cd9267d14604d7e00a76fd1761cb39cb0efd0eaa359e51feac3581a8b3dec29fb859af680dc14c7582ec1b1bcd2321bcf346ed1840022044295842b9f4efb217534e76647204da577dfeea28bc2fc296506b0e929a889e2cc0f44f45002717a5b6f4441fa6925d7ff10159b464fbd801637bf4580751222e5382a36e225711110a2d1fab928a52d5ed40510293d6de9e686ca5c24c99e5172918a24556b8a1c7c456f2427c07e13201df7277ba69dc7947e8b0ecfa957721668d5975b6855afed1213a7c5fdf1f0289be66f0d19e3dc5a101394acb28f7c377adf176d69b29929deefc0907d9f84ead41f758d4988d5c7a354e7cb5633a25b9de159a61243fe076abb3f8bcea7494acfe673c7189275d1a0ab4866d7f416ebb572810fb67c8e16c9f154c3d65c07929b7651be3a38ca338b31b70433aaf99de287ddc80587106f6a47623a86b6ea3d14c04f59f801495b0473e39b080d067f20bcfd1438539b5eb29041a59ee5c408268d02bc613d2c18164f21c102b50ddc762c6601873d6dc90a1af7dea45cfaadd5d7b390cf9456dc3ba3b908b307a1c7b93e9bc521b94b70495c789da2938119ab048c08ea664f096919c37095f2e833e7d439c70174657bcb2bdd147ac7a2b6fbb4fd06af418f48733741d13db00ab8da4061c1030eb2df9509677750930bb56cdc57477ccf26543b83f13f7aa519140c55ce7a97f34e99f6a192365088e9093c1b27cc65ef20da547e3eccaa40c0effadbbde9f61db91896cab85bb6b0335e104f560c715f61d122b0b941c99a7f8b7b2fd1393203ce91d024f7e5d781395bca9d5b8e07e3161e7808a9a295e441044fc00efcba79bbbde0a05c5f38600b00ee8636552ae187bb816430a64a0cbcf954e409542f46a4ca23a4322f40e131451ff7e33ca239a25d52d58bd25a7c87dcb39e8b765de8767c88f394fd46b819b5bc3fb7c35c9d591ebf246699427f7c07b4f2b7c486b422e0ce11b98d459f4de1669c2527ebb1e70460310e4c7be4a788cd7958be73556082fde7ed84f61a4ed5d2d9fdea4e9e2825d8244d22e1ce72b1b9e9a4ce27f5a47ab39c02b15b3e81881b4decf0a9e7a06ee5f5af7c483ff3f803a9e645dcb823e73c905e0bfbe8ad1fb0af96b6140c97f5959d29b2d0dfee53cc99b24807582d34971ba76e2eb7cb34ea61616ce96a795c15994593dcfcb1c242751bf41dc42f06bac399d11f1032cae84f87ec517d4a9bf16025b9cb530e45650af02491d46ab27a2aa0756e0009fa47502c403d4c13cef28447049acfa3685c6044bbd20055952e898e5e90065e226c5a096e22c6f44460c98a7c38b93d250b5c92ae351564ca7c1fb0cdbbcb890ef88bc3610237359beaf37c4e4bf4701819e8cd02395f842916bb0c4f006df441d68c208dc2da865e92c39a550daa96326c0aee08744f07d0385a6b6a0a1127b7330b73b931e65daafe3ebdffda2f6b2fffb9ef6fdf82a6ffd65e7a22a4f4ade6bd71abc45b85334542af3399b2ec84f67b80eed6376f39014709e407ec64de28e3b4a5858f52a8b3a618523a5f0fd412068d349159060d3d8daa35438d8ae54df4dd243243514d8965c460ca592f0446f020feb2cc59c9684656b8e5fad97ca5cfba640bb9c221e71e6ad6d810c40a145068f306d8911cccea2d1430d0507e5b8fdce857e1e56a40ba42af0a7fa51a03d0906868a997b3666e52f0d8ff49a30e151da65729f381436c7183e134303d722140dc8f4098949076baae1c844f4309b630ab27533403a3a2abc980f76d1f8c76261bc12f11ba40f9b0fec4dd7525bbe9d0c3f12eb7e9dce2667ed976820a3d5e73a3ca997d937fa39d2b8c4ef615b4e1f88da20ee62e6c05fd0f53357204f1efe22164e33304758e9947bf13f62c1267fae1e450f0cbe83ec0bfbbdd424efe051b7631138179d5e92b3e668885e72cab4134e54dc5adc5552736c49b43a2e970514be8a0a1f6f644631a30363c8de763638f6b7c4de2685d37ec054caae50dfbc786c107ade2a6444ad4e14f608c12fe81335e2e70aa75c55c9bfaed39f773693e83d4086b8cd15aa26d7a7032cc9bc945c06f97f9d1498a91afda848f611f8a9f012d52e9cd57081d659935ad56bc91d15ea24bc59ee7ceb5fda50e819936099bf0365c926f8d4d3fda62a329e6bb276ce1f643d42f0560a25c3f8e6582f887a5ba66067ebe75de0d3cd9a099d2a89db8dc4c880eded29f26d407f041feb85834ba8e16ba38a4fefb7e04bb7576729988e7f885eeb0d0e4701622ab567cca503714c9d3a49e4287e3ceca5a3d79d7d106a7e768612d683e6699e59fe06e264bcb1d259afd9ad5b6d801cf35be395ef866bd22642c36adccbe1dc221826dc4c88df6816ef5c1d2d76dca13bbca9fd81ff3715e0e8b90577f0f930c2c3378527adf9dd74c934db935b459fba27eea4c1dabe2ae88207afc61ee4618cfb615455f14d1311a8b49f9c7d1f7c1014d5b98bdd16940c4f9e7f8cfff8ae689b37237a14506e9b92c3497f03f69c032396eaa847316cb82ecaab101a06d710bb246261e1a512052d0e480185829245fad05ebe665ceb790e0b1659993c7d93812e32692b77e3532738946367ba21ab584371dd57b08c63e2573e9233b37897a4d19499cdebb369168dd7f8d35122515bc441f2c7df79f18177010647b5fb14501d5fb943645de285b5986b0f6901c7eb8077e376643758d5d2798a17c424093683b8ca7152f37732fc5588a252ae14b69077d824ae6c499b01881082489b2e8341cd2a1c999a2f079e1c86db46365cd83ae89664028dd3c693036375bbf1b650ebba72f87e56d7bbae9cd952e9be0a5e04373e96d48935311fc10412dab51cd2d7ace4e4aa44b3f8fb2ba6bfb7aeca0b7b6a53293437bb06d6e5908341ad2209075bb08be08a8accaf2a57eec0e3d1bd4968f63de74ea94bebf2ee968366ebb1cd61a25d62fc73052b9aea79134f1e80e5be63badd5caf075cae3df708ae7be9ae06b282e8a388dd1eeeb2ae0ad929ab7a5afde393e4d5f6331d29a8616b500bc5dba30b326560c14b99ec5dab995a205fe49a04edf568fb46f009686dfa4dbb51af7f74401f4b730a93cb57cc84588b1b548bcc100a6612724a28198240a35e193b2233f9a596649eb47433d5193ae70de5fad12a0b8ba9cd9e76e69cd5d3f88a3fa996640a92d0ece37b0ef9973b5e78333998dafb0f4b8c0459c4c6110bb07a11016b8223c618ebf30cf98af37c89b4928bf12bc5a7d9eab1e81153c456bcc2f9c75f78f0ab448fd49e2231a68abcfc80c883827ed3aac1f9433a1dd71297a2f4f4edfcc44a1311436a5e636284e60f727493d4786c9b15a2fada1f4319af1abf7c13040dbea8a460a0b54ed6f4baa4e35be6e49fc494c2345f3f761f5556565932f83f40994aa66e22ede9cf50cfc4fa7d19c93fed5b54ff0fd2d2903d7d41139d9c8d333c1ae78f7898c2c5903ac4f25184ba5105e7effcacca4e808ab00e234ec7453bc742ee9e9ae5c0d91d2ae699ad040db7041e16894505d41c451dc4158b6a26553e7d7ede90ed45ac13d8553d29c24ff341da9385ec30bbc1cef05d76f844355b196d2161a541e8d9569e216f6a20e5e2047c22cb399efc9b896cd0a62b315dd54770c8c5e73ba83660e0cd0ffdde559db4a1c63082f54a64ce6ca9d3e42bea921e31743c502c827319a870055c9215e6ddc882542aaa534d7c424e69260fd1c80458b98f0505aef2687c9077b9c2036942d799d5e27532265332ace461f24e4770fce935c6dab70eea4bdf1d0401edd0725edf34be81f30538ff2e85254953d5ee4a6e7e92ff0a9a1861f82ca016b71e55b61a0f2b2d0fb6ab610a8f10feab825f07b6fe4f531f48b5f19a99565a91df29edb05b9d65f834cf8488a6069d1009db2fb9d0798e1fc8e12c3992b0f787ea82d6e212f4ed36212173c244cb81a5f176eab0371e07948e0ac1d1ab57a9e58745925e719e0b748f1b04ae93623c0db123c70e588870d0ea28378ce6741d54de869b3051462f63a29faba12ea43a8cd93872dc3ad5000adfa94927d3ba82c7f9304237314398afc26e5c2f145bc2e20e74908343c603f7e415935110fcaa84c47e6f499b78e7b53992bf9f22332d756fdbe4b24f8462538e1d90c09dc2a95f227e254d95c9545f921c9f48405d6bae4133e4123c84902791439398df3ebd536129effdcf5b072f69008c8e9a43610f5375adc558cbe06546f3413e870d5438bcd676b10527a00a72f1b232ca350077fe5fc2b63442567efe847988e415cf3b9acb51d7f5eaa5c6a349eaf518766a4a92d78c7b3d9b39ce20bca07100bd6a6a98da0b55dab1e28ad0f6fd9456598adde908c6559fa8363aa70d7fc948c00dc230a6ad46345f69287ea7ad257ff43d3c354dd9fa9ed886820c84fe64316b74911151abe18c46965eadbde705b9d88b1a38ad463db890835ea552ed4ffdd1ec37a407e8fd4ae69826fe029e92db25648beeec194ff31ef835dad32e85cb5e4791e6cd73c085c82d5206affa997e3f49e511c0fac94e290e83b9507b54b0bc8b92d1c366a63ca077c8ae660bc0c95412610fd519919d5f8c7b9dcf9501b281b0a1bc9ffb6d0009730985cbbb111c932514e96c15015ca5d34b8a5b5f614816629025212131a47db2a1040759ea2fb08960047276fe1860665d6630283b050b66bcf2e444511e6dc93b481d3793c23f39c6400138d35acecda2ecd98d5414e2deb79fbb46f69bab44923baaa1dbb22846b68a42eb1da0dad7132bb2109c0fe65ddb39f6c48130f67b2e8ee0ab0fb5895dac3781397fb2301287cfcd43eece1ab5a74b4aa9a846670b106dd88a2ddd16b401a3d57c0d649b163cc4b5f6172ba1f6682653be6f9763ee4ce808a264e6ad64664072bb0483723bef564a95dafb4db83745ff317cfa5714df2a511b37f00d9cdce1a7d362d25cc6d9020474234098ac03a618afa1468871efc11072e12c425f43417825cb102482532abc5818d11d1028edccaa0264fe922cb3bfb6647b41897436ca0941298556def076b77d9f6eda6ff336d7dbe4f4456e3435b286d4e5d25e85e223dbbed40f75619a72d91fed2bed2acada346b394d52eb6035e144c25186481258bab694c5fcfa709c4c18c0866f13710a1bb4e0a11d6d6d6102114f3b789ca2980a57616f4a6ce35b384fc1146e0241557a2095fd2ca69406cdcdeb16fc2243d2aaf6db3c74476cedfea8ebb36816489961782693f53491a588b4c4d647729d3610458ca5226fb69fd1ed5908bc6502893f6714fd029fc66c3b169a2100dea857ec56828bf384b2c1f3bbb031bbcdc6b7547475c94b4ca2cfc853d79877f674d508b0cc0dccbd22c485646588f927ac5063f1f6f3a1fc606b37c315ed53a3132fb59f7e4eeb5c398c2121e0d8d1e0251d362608ed2bb6a1ac4a84a2a106690fdc2920a7bdc29343b143cc98f3d91ede95eabc251b9c49d01067778878d321fd1ceb5bcedea4202de3f6e117f62bca17d8fb2ce41b32a8e40927be60d44e6ee1c27fa578f424508727eb449b956d93a5b5ad4d343ff9a4502c73cc2d3183be949497b50f55bf9f149254d52657a8858999fc4d32c09fe754e2a2b1d8546be6d9458f190752823cddb66a29198f3d0af371b9806063eba7928af073d8230a8f1502b294b087f0ed59476bd800a352fc61333720191a18fc3779912ea736da989074c8f75f88bda27d91977c42729cb186e183bb180fc2bd699e5173d63b475356d87691856337cb6f7598c8fd5f4b7e9ff987135b73f5c7e63c4c74c3dc4d381275742800c3a3894816a115ee02352eded17beec7b11bd4d0c4a6e35202028011a7d56a9d8dd20c02712c92ed411769a1e022f550eec221b3fa23ab509bf75242f1beb239e1aee9184b068b4491bd4dcb498d18e8861ca3a8d117e704a608103709132b67f7a06f44bf404e2f064f49f94b3107e001344546ef0090060f919fffd8cc7206d4c97c1224dd2a2c0d60d3612ec4234ea8cf20807dcd955d3e6b74d0db74c98a04650a8565957dc1c257a8929c4dc0dec417cdc1c8818e875d431a0ced92746ee83818c1054f1492c505b46b9f0ca6ea469c84554a6f24229eb3950d0c8445cd2c4ebacb047d2d3015e6ace289aabb7de6f76968fa55129e6a3fe1bd420bd43b389a8a5e182e579c84074d0ca04e477308aaa7816ddb9da208049fa44d633e57288e9579ee2c46ad0b04119ce10ed007d7265037ea8a34cdeb168b6c7c3bb02f3eb908c48b15cb73b60adbb72292b71572a355e8d856345042816ce4eda4d225eaa9a5f2e1e4102ecb2ae5425e40a17b145d1eed30ab3592093d65840d04871b35291b6369062a4d8f25114f9c6e5d8e0dc64719f2fb3d5f24f52acbf91862bdd716622019c30d29db75011f52884e2e090dae40d6932f7b00ee486f4725f14165917dd4fd30390a6f7018d618947d69ad8643a4f76111a59d3de322faf19dbf3f0f139833c24a98fce7df0152c315c6399b16049a6e91c6011360fe8e76215e07fb94dbf81c941c865f81c8ffd0849b43831b1fc26eba86e26e0961662d212da20a5852369ce047867f111fcf9a28dbe3940b08dc2eb00edad4dd0dd2b16bac53c0c4c16c00942684f72d574d8ac81cb7ebd40d263ef9744cd6c57122dbeeddbdae18894058dfe84fbffd37c600ca75b5d52af001f8ff5fb94be216be97751b1945105ad3f5efd781694bd8232641084294a248c2b0133e46cd4e4229a20b47c0cdbbac12db2f97b5728778dfb6dc8c00d885f8a9712dbde13b7500c3a9268d50d64e0b8494f8062e96efbd591a29f7695e9c0780cb2edfd742709a9b5954e1a1541de890a98f6b2782d210e2656eda8443ea9cdc8afe42f761dba3ba6630cd37c56476b12ab82a5f7bdb8ebfa4acca1fbf1562b0387f646b7f85292737986221516106cf6ee678103479d4cbf7689b7e44453e733b525921a8495acf6caa2d106ccd1840ebe872ba3c216136cdda378641d0c272359b2aa38233396bffb789a46e165b2f40c2dc0d6a5f25b50165435b251c9bed6fd99c58e9c25ab3288fd665f5c417f4ca31b6653274fbc754659e408b762c5aefbda679821942d86e102232abeb20d4c3e55a1b55733ea93a7bebecfe183f6d62ed165dd8ee777fd9d78a2b0ab6cd3acb08be231da1d0dd5288c46599fccfb117d2157b2e80bcd6c72fab1e9721b8a7435880a78b8e58c350a426a2f8204e78e834d695213c7a65bd6f96fd9b2d22d5d83667f31d7d596817e275a9dc363092b3d90109f1e65242b878cb71246a2196d550a4f933d4e921523e8444a1542eb94a0e2f1c8f44dde02ab6ab277706688776b6e038b6a6520a38b7b149ea008a4759f61f6a69739f8eb29f2cc850280d540262d81098bbb8cb994ecb224e4897d9062790a8bb0bbd50f8a42d68a3acecbdf375a1a94c7f2519eb92f7a7d1b22591ba34b0ae50ee195438891d80c36735624f9363fb8be7a0c6254135f4f270e398d61e90de4bab7ce55d6e6af886745ebb478472234e723aab91b49398a24ae5dcf0afb1604506b6d02038e692b6f27500b981da1a1be2da0d8f1d6b71f5edd0f8546e518a0a1db13d894c61cf0507c276ccc42679f410e8210d77a0b7b695ff225d67429a58db3349765b26a0c1f9f38eddf9f712394efc7d21aa746745d23c5c2c05a052fccc22aba35bdafb89880cc937897458c05d113fa24e99e778064233ffe38442cea239bc3bb46ecf681054ef19d4cc348f75b1ef444a1becb2c4cf2dab5442b4ab3dd72059d8e7256bea0edcd77c606c086687d311767aea32556cc967e5a9279e7458be6c89f31975db65772a00cfa2f1fbf33d7b064f42d5c67a00292cc6b9c460f6c363a02b928a4fd76aa695ca8e0c60f8eea61ed9e51617c4b262aa3fd40fbfd22a89a939eb666998cf14815d4d2b0cd8408b9a72a0a534c58c323506776dfe144dd350937579cfdacdb96c02adbffe8dd08fe6d1333de2b72ad6649de3089b0c636e7a6194a9af0888e7a35db51f950d1b7c2b0cddd9a6fa24885d7c0f9973b230187f24a4e801876f6ca9f0bd0c594fc065d44875412d06ea2cf8a1c8cd6d9422f71bd90ec2259ed7ad418c4cbfe475b8a1abf36817e90685ae9e8c5aff9acf9c3b9bd399404bc7c71d77afa10f4e61f91a5124ea4e6e8f19c315418c7f38eac39a549084579cf1154d8c7c9a18f608c8fe105b3e96ff945c6e22a75130e7e930d963eb5810f0cccbc78f9c42c2c615e7a26dd384320f010101c64744f7997714a548199b3c7448cc8a92f80585fa91d9ca5b8c747df12ac953a53a326c52c6de5b1a6c544df6b78fa199d25e6e11ebc73941153a8025ce243801904bb2ad6a2d3fe82d367d64c30f1b31f6f27a8f9d706a261cbf149bf4e93144df942c5ee107026eb8d9e3096b017e7421c9ba07eaffc25809f209adfd33b3de7f1d4e8f363154a590f04970405b69b5fae9adf3a19c945c4984604e16d7fbe725dcb946b5868f3342387c998a02f1bb3770cd97bbe106617f8806702130b90068e2b25272d4fae1ca4e319d164e60477fe6e0635537d6f946f4b79f8eb27d9de933b7e209517e45d4e14196cfd55f85756fa90b3147d27fad68d3b1a54cfe7db5f66c5aafe9def0a84e55f4c892db078ba5f37f1ba42126f3d28ca247bcb5d90e940f7ea32c9403c864259e196ef095bf0c8aa623f5a439be3445927478006b499f0ab9a070405a698ff2bc0200c21898fef6c31b389e9d2847e304b43f0c264e8d1e4013829bf1b2843f21e9f95763f474a31a4ecaf8dcde9ae7366eadda589473153d687d394756b96667d3be52501744e14c42debabe4663c99bcd8205911ba9ad52a0abd384ac2f848e6bbbe2152fc6c1440f303b4bb244c7447efdbc250ab6f7ccceaf85750444ff1198a32c57401d708deed8d555394f9a7282de6407126ac5617c02a2113a1f55225e34fdae347fbb6f11b5c003084339aee51582cf6023bbd0342bd12f5820ef8d1d362879b3ea50216260040e3acb1299012ba285f71d77105d026360a75181aec87de3d03779f2d27485bca1d00dd295f76e1017425bb9b23c3cb2b388997ce68ed00a6152b31c195afa710a091f44988b00388c2aac9c7552f20edce4abe6a8d1a0fc1432a5d02f8fded9fa91ff8772568f0f4f19444bcf9bccd608f296b7c904d57d02d4ad595ee4a621a54f1b216f829b03159dc3e73e009243803117c22e0dfc4c09c108e5b652df0b0bfd1fd33b4cbad7734ddb2dea4357b2ba818b264dc47f33b02367e617e8f89f3e83538c212f4b7fcff12205b813029cb64bed2e52ca9869b7d3ca4eb14aee76252890010312477f54b9d85239a9641f50f686032e8b6544856522c0d39adc22e8e465f5cf45a5a848da5fa2a932a3ab3e747aa9e9b87c7a22c697479dc6ea354d083c2014b09ad4bc3f89e5c6220c21b1bb4b026975f6d339cb2115422a66881e6133b95268bf1784b941081c9889a36905659f3378cabc6a537cdcf976cdee3b34bfaf313b2848478b4e04f438d522b5f98acf76091853eeaa55d04980c0d1e367ee144343251ef845ebd72d79065a6cb36027acecc17dac7ab6886df960a1e3a5fd8b42b7525a4b29039a0cf01defed62398a2f58b647b7684638f11590ed4ae275c942a70d95e5c46d6069ddccf7e1e2b957d50c859581ae06f0600bcc5449ce766c8c6be7696901f2f41303193d67a8e203795fc745fa3a3a9e9371b34edfce25e186d4c75f75d42438c5a72c0dd606f2264c7514717bb7fb3b5dacac49beb081c9d94600b1d3b9a62474bf9e988d86b0e7d969005d9f8c4f1fb79745097b88a290b805bab28a64cf8aad0b5609dbeaedf4496e2d7faee2f869cebe4f7422f4c3caaa0ac064db2e939cbb85b1e53e9b822125d978a932a0847d1d275cf276cf55a6cc2098e8844d445e279a688520ea67335da14c605b1cc5bf8207aa84644237b668b7054e841b6f8cb8bd588b539a055fa5ee5de7dff2246df400be823ebe51dc8ba430633658d5863b6ae22468b951e0640d64810b13dc3f1b128a03b2cc641e8262daeb1e1c221df8ca88686832d76aa1138abea0a8f852bac43c2b65a14dd475ff93c7f499ad31c7d57c0b53b4c30b11ab478f36cafaded4ef35993222fcf5ad647e9a81045c018cde9e89a33aa2002c75b7f0d0fa9a1c7fb1f59892c6c4da07fcc26a3cecc78ee3bdf33d5f49b48108ccf6a7c79251cedcf59a52d68cf646afff8f00098fab3e21206db493827a56df871e4e561da633e6cc805b8d2ab2511488f8d0d1b2b8f2991908d25b1f3218e4ef70bae8e07712b4bea9aba7617fc1c96415651415c2c23db803c915c144e90da5d427848ef80c283187c43adae509d41500b3816708dd865463f49a0171ccb740290da63b4e758d2168640383bb4ecb3aac5688c9f2d443741e13d584c90aa6239f77a4e81234e84feea4294edad59b70cae36c041306208d9014d2fb90cb4880443e0bddd707b47500c611ece5725250bdd061d86b0fe343e80d08a80c0edd458afc6c413f1f1ec0f9ce9eb1dc3c9d11b7ac780196d87b7836cb5d209066652f0b55a5563840eb670ef7dccd674a4c7d27d804f5d6cefe2a1148aafc9a5c31c690e2f97d6587a70227e09047c2349cfbb06d2faa229c73068fa50f47dcb8e0d5e7962d4f26e9a879bfd187187148335f3aca15340d857d0df4bf9b7708c8b39c8b69be1866cfb85c074b7377035d9ee1b1f512ed2da060134a4a31e9341d2a740a66ce4e8ae384a398cbdc8850b09519eb2f87c1a272e25ec8a890d06410e9a876d97cafb3c1b91778641a20a1848550a6ff244840392495a102b4381e98d0766f29905db88043b3a361b7cbb06509dd5c00867ad1c6e763084d4785a4774af16296536c184a433eec7765ba98fab016213c9e427c6100ed79c5703c0e6078a18823d2d767a551d407d5520c3b5187065e17347b02e41dfda89cb23e4086b39a4a68a52b88eca4ad8c95168331b03985609b4041f293070ae37b7f7b29e4aef49e0152881f361f41798223ccd24ce0ec151c8ad982fe6e97c97414c0b0b3aa09159e5cd4e1bf354ff038ca8751cc0bb135fdb5956015b46059414dd804f2e9b8eec98947be86e9e96a0d062983ef53b281d6fcc8ec03c65ac4097f1e8a8b232de9e4a9c26cc259cd924c2d56e0bdb1d9410726b2e5ca8faabc5e57925564eacf940d5bfa18bb7d0054ba18e1e5e9fb0581bb60f5647c1650739279ccf6694a4c3b387f932497d29a02324acce385c0555b83b4e66bb8754acb7b1288f4cc2c7fb3a87ca3541c158f1bff24811a8523339a8c12e3860c39a8270e220e08144baa39f28e3e58691803fe47cef6531554a925488518b409cdf35e432a2f4a9c604d68282f63ed6bed468c264aeaa998fa334c9e523d23dd957dc58b919629c0b021bbd08364de6791ca35911a9104b13491b59080639d2738249bf1a4021537ee97eccd582ab3487e1a275ec345b1cae94a95d0457b79d9709b396696c8ef3f49b36059282a2fd13c18885a95973191188dabec8d27a80d0ceb12f42393e11afa11bc4e29dbeeaa734a85982266ef4aa22a3ca1fe2acb3084f52dc4717058698cc190a45d711271b281297ea1fc4281d8aae56a48c59198e998557774163f5d6aafe146ea221c6d369812046ce8638351443983abd5c1b4ae0188d64898b3df71231ab25054d08f880a2cbd14ecf00181b44c588f66e965e0b020e918c666d908f2a9aee1038f5049bc77cb453227e5cc065dd16c8414fbf415a0988794adfc2b84747ccfb727c5258b543105869dd72021b9e646606b0a838a5c26472608559f469c2773dcca853b580a358159055c0539f8aeebf8c9ad2b09caacc658a0e4f2585ebb08335d0aff3103e58a4d96a637144aad025424e397ea001f0cb3ba3bdcf5a509f7a05e89da2b9eebd66c20ecb9927287322bd5f6303eb02a479fb6db786cce21d99d736ea1eef9604363631287976a53d643afe5c0f6f4f02df740844c1eb8a4dcbd43c02088015384e740ef49d74021f0a34000b58058313daacc8e910886981e3a0ab9a0e01f419499c0e6b51a4704a0f9efe262590c874f0db8527c5ad97c97e54ddc47a617140c736f444622de21064a3f20f88547a6ae05abf223ccf2f776aee078fbcae167c43e274efa13cf8f95353c69b14ad9bd0faacb75eaf14a741c93929b0a30c0735ef575c88f257c11b08b10b201562c1cb1ce0851d50536b055e9a103414cd7e90c8788b05df9b9a838614ae81d9f0b76e0b1ec7a8f5c06ab53c8612badfab0c2145f4ce1e83e995f1a11d732ac89951a58f0a4f2f949d48399d0da58a4a99276557ca669576b38bd46fb56150702aea28e77bc47f3c44c9ea9e97cea81a2f020084fc13b01ff1bd153e07723fbfe7a59bbaf82702a285cd7e14ce99a3c534f41012d2f6b6dcb3b0a4ebe3c2b1cf597097607ed66e9ed2894f83f34b5f73b546d208bed20027ad65259fb3dc192312a0df195f39cb0cb69af0ea0e64d640b169f1907b25e0f3012a45fca156d86b8c9b012679eabf20c54cda2dc0df136e22fd632f9ebec3b156aabcd18a960e501ea18ff89ee1c05bba9e6c442292e2561cc7c14204f510af94b18ca26ac5f60f3ecdd9dfc10fc4cd697ef0aba1f267b951ce80b075c486feb41457e094102e26ba741e628f6f2fa5518bf9ab3279d8f46a6320d66307650b4f5dbd8b369842b718d6be1f2349e4d3f5e12ed4d95dc80380d8c2cf08fb682bd71a6a9b643270fd2f6cb64e24a8e78b021012ef10d5d58e29b4bb88aa8f823d5c2dd31b992e2ce8fa407216be3bdd0a21d010f41016e37fdedee16a2752f4435ef30cf84c4a68f6f57ba929f5c1c9f1d580332e403123de999d2759c0f7c8fb4162cbb08e1ad3e6b7e7760885a0a0474c12586444ee88edab6dbfe2220bebe70d9406834be96516178d3c854600e46ffa1fc99af889a478929853fcebbe911d606fb307c6e38bd67ad4bce576cca4ca7da22d13334b45e22311326f72d5161754bd16d6edde35150ee2aadf310d39bb54b172d9475409f08a3019a7428b9b0d5ea76e8c94cd13cf30337624840d5eca105e4e3f3f424e8a86507139804caa3cc2036a31dcf18c8591832d7c2db57f6ef875ec43bf86fd2a28ffee1ba0dab66b56a502cc6a0ec3a789a2e8415ba9b1c861cf6729cd4869bcdc83eca9433cc2667de3242285cd878931cd9e613bd972aed87aa3f81b3cbb8e713108ebac1e3f88151c8bea25a80eae07645895632d81c82f334e8f7742720592b96e26ace267bae4037d34198c120615fdc8c6da16ba3b66640162535369e5c642e860565d26d3cc9dde73dc3f70c971f14708295fbab630ba7a3a255e39b4ac00b7ae61cb1b938aa272a9ef440f30a6c9a8e154504f709648532d00641ef3b083c9d7cd1e51dff4fc4106b77c58522f96812e3b6e50295e0d22a23bb4caeb6307adca012caab9a131ae2b714c0f78a587cde9791f70db88370f8f89249e7f0ce0a2358195ed2f18b8dbbaed4679b0570c95dbf6c6fd71dbc204d52cd1912ef6516e95ca6f3d3036d546b3ddebe5109acdaefa1f9208393b75f99f182c51583016b78b592c8be4546242d8be9446860ce7065a9f38c532d89a460b0dec545f895b8668bdeab87a650074b90518f787fa28bca88870565fc305fb66fc2266bcfe9a4e7120f77d5fa8857c68a075b3ef4127918eb51fd3fd1f51d051ea193ef1e5979fb2be1e38c8dfd0b1a04a03cc9df50c1e286ad98c5124f4b60a2b7300149098984e25dfa4a91d1e3fb6cf48345b8c9da55cdf7f07be3beba838e6aac3321ff6b5bd268ff3820d6409a75152e6801df661683a3f91b9e1241b25b41e572156f9fc5a5616866c32833d72c5dfbe978e099f090bac3f74c158b16b52395ddf18373230b2f32d7ccf4cb8a9afe444e519a00417089d0867cf6e5bfd7d1caaa9913710d189ce361f71912d2fee8d0977d1f88c3e81b12d8bb09cdcc8622211853d464430771eac0ab555c3d20bdee0b1170a7a11e13cb701c9853aaef1fbb184d14a428106b77aedb7b49d82a1a92062b3f31187a2be745a021e086ce42dcd78e53588eb3137d934adc33ec2ed3b59a215c5cb94f9cbd3667559eb7308d32e84d10bf8a6472f14e95dc2ead9d016af75b726b41eef70f719021b4c45c2e3b7a534a541ab25c8732524679b7f292e917df7b6a12003ca96bc808555aaff05ac4080bea8d3add8b905f517ebcc24a7b8ae7d14cf6b0b5832b13f3b1128f3c4f65dadc4353b3e377636c6fdd803ce421fa35eca7e04f483d67fb18a5998ae3a79fec936bf923e22dccdad4771eb630f1ec17cf1a453dfca1f5408224c426b10d684dd8fb98b9fd3c041e6883ebd52c40565edbc9b21c24a7c274dd171a8add0222425f6f50ce5d08f4c5198a5797bd6852a398056fec44d0c6f46100becd61a073cec6e09ac656c3af26adbb6181cb06c29987966c377a2487430883a88c0faf13f0844f1d3ff87c308ec86fb5a73508b6830a9497eb3777f3249d2fc72f41251a3d1d13c0bbc3e82f378e957f4d267dbbb57ca83a206b56de6aecd625f6f838e9fd35b341507f9f6bc4f88379737b0e0bc0a62649fb3f27e77916f8e561a388ac5150ea1c688c323c643bffcc4cbe49fd4efc3918a5c2bb74329cc1fc1a4f8da55e4f99a3214e9bea63513c743b00e44cc2a501986faa20259cebe2f50507c8d40fdfca619830aea1d5545effcb93afb3681284bba82fa88cc337d6898cf5336a44488e3e2d061b730237904fb6f7003421eff3e2c022293451ec3e745e00ba260317a3ea6bbe13b27439f3234785be6ecb1323f66c58db7569d640ecca2e677eb011550fe59d01248ec089bcddcc2c60e2d8258990796bf876d16c65184ee29d1c77b664e34e09ada1ec49f0512a7c2a4263ef5b8e28b79770b3df73fcd5af455ff73240f76210949d59309bebd6cfeccf7a3f4052622b3718ab05f3a6a60b9f3563ba3e982d01c2b3f2025b3fe5df2a29b304a3fa06125c2f91485daaeea76f7c55cef5d9d8145387d160d2402d61fa693a25bdca30d4ec3ec3b912d991390ff7f643752683cb060479e660346a37dae09693cbe82f201025d94e69dc8f068f3f94d5a21ede020aa1d6d062dd172a1deeacb7258a0e8f9d6b5910e2f3ba8a783e7d25baec60b13dad2af1929cc163aed0239ac08705325914503d5562d9bcec0be1542e8da579bf18f9025c2de4a1691c58ec9962cc2a2e1d57a40d54d5f2d7c4b07e385d35b358e15f449abc4700b95cc64ff04eaf65d7c515f0a19da8675ad341355553427045d993a8a09b19ddb4f84ceca30e91f3785c42bc1f45e2b1f3cef2fd77bee706bbd90b70dcf1089d0d53480b94b0b39eccfb756f78048fae50860f2f256924093d6721a5a9629e9d99650801959db6f0efdd66ae8af07b64a1e56ce7e64686e630bf9b258fd7f00861741a998333b0d63ad75498fb2eabb413d43551cd1863dfe99f3546f75ad618b00f67854a50549547e8569593b1ed38a8c166ff6527266b7c4ad3be77a19cbc3acbe62a849b49dd867bd578ef5cac0ae26e792858fbc8869f892883cefcdf6996fbab1541ab87308981abe2bb594a0ad8f5caff01d561b165bd9810f0ca8d615152d4755bb76c01a80fc57132391fba3ec81269355fa5ac1a78d9dfc9da9f315f16685d953ebcb1a92810d4ef6c781c51d40f6205c7067ca8d6f05e7a4a1e35be70ba0bc2e18d3d27e41825851d89e5f4de10466def6f44dbdcf8b9b9aa19b39ef7979b9b6f925ba0e6e1c19763856668752ca8a16da7bb708af4868589d8bd252f2599aa2f9d09eebd49b20aaf07311461a22df74490e56d14ad337176b8860348d0ac429dc31f6d7515e9c7d030b9467075452200ded4aa674316c286fe0440bd44f5e222815c83f68c33b04d19fd34aa36bec79d5012683e004fb4106f64c2f5ef49837aaf8d05331a3790f810f96d337e9e9260138962ca426e0514beb1911492bd7c0779842c20fc0b11124b3059553b8d5fb8058df20557acda40f8ae8d01a07f003bf1a2994029b6eff4f6c0757522aac44ada6aef2612bbc2e259841169884d85e610e2befd87176a071f98955c63deded4635f3dc58dfa06fb227c9d69753cfdef87a7df3c91038f08dc9e4f53d5cfe7d2fab5ed06ac2c5a3588dde153f1df5d4a61fb45725873a84eb04a1e85a8af82db751bd35247fcb8710ea6240efee5e1002dd89b51ce44d4d58510266991dba845e83bc22104f380c9654f73b88f11c421f41ea455fa48e2f4ee68e416e93aa61bd87c72346026dff446f101b419af683f92a81e2a1d76bda49b68107aa6f085f8bc54af4fa4b552e76c1ba1bd33e21733e71a79e24f196bc404069442ed1db7c37fc90576e149cfb84d9ef5dcbf8220ea2371c45fc4cb055a62e2b5029e79a61deb896a6bfce7f5009dabe1cbf3295d9ccd337265b41e3cc06fd885e7eb93d6a77f842a1ac8a78bdaf1913a69eff17b7576fd747d6cb3b0489b6105a9ddb5001350fbbdf3224d2eacdf07abd573088285a16b565a64f5d34b05d56af17b8f35b84a1b317bf8cc1310253f582709997ffbd5e788ebd3fd1dd7e5a8241e3bf84a7ef8068e4f8342be27bbd7465180d05a04cac6cca22b8420a58f0f7b3cee2d41c00bedbb21bfe3fb3d698e74910632d853f80bc31295f808640f79b80b08fea528f37bcf60951e33df4b4396cc66743a145a6ca51a1ac5bc68664cda9c2b686fc3d61e747e76ce6c986c6422bd3af764610553f34940808cd889ceefb06ac48c2c2ae31df623c1e8978c9de1492164fac313eb145147fa1feca53ef1ff54b6fe708c4f50f8a290b8ffc054ef171bf9315a35c815ab71ed10f8c5ab67f1e2a59df19cbd68bb9b878b75928436986a5853ebb1e2781bdeb8ae9010aaf9c44bb9b1c339972c44896d84ddb3a86e7e74bd4e37ff2f92da4f420420b52b840e24c01d33f48d814e29d7325d3d0c7595068d7b00fa1d050c9f02f6f24ea7c32c81a2f20aac512500b6097c41ae126a16a3d4099675685f7522453d38c4b90e5b02735cd829970b1878192a734e143c19fd0e31567e3e941e4c6385757ee0d9d24e34129e7c838647d565583e8ce9ec218fabe0d280d18530cbb6b577844bd03b1a51edded8fd6668418a300f9ecf3925f6eabdf3797982c46e932ff7010c0c32a948e83b78be839a957a1dfaaa4d3a1de1e0372a6aa042e653023e3659255b417fccd833d9f38cfb00f94708dbf2b4301cc409443d0c5680e9eeecb56e98e98e90bd7e9e0b70e41461aa45c136ecb77f6362e98aaa1b9705dcfdd865c0dc3c7e88cac2b3d811400f9adbf47b77f1fe961994191d85ecc05d631650d750c9c429f471429a706c097115dd2d918ffee2109e264657a08d8152dfc2ef9666eb828cb12d5b1984fdcbdbc706a3f3685b8eed876ad82ac0d775c641ba6007ab14c708c5eba817a4546e5aebbb17fb63b95143493fa807a6291e69a4aae4040fdb81d4bb772203faa55dd5f7a3d308ae54539e2eb5024c4b5c465f100ce895c71196affa8afc69a3b5d390748fdcdda2185f3afbf0f3dcdfaeb753385954061bb3264b90945c3b8ecddeadc71436519d5aa32b40d6ded2fe4e587b7953b8ce11d45c9f878a798b3dac2ca08e1174d98dea6c88ec4cedc9c12de63bedc61b66e7c1ae0f9899cbc968c4137c1bb1898c92baf756d2ebf54f1104c67ee6312305b10f9dbd221f551847d249ab7650d516b367ad0316967930c97dbd6022e892d7d346179843cf52934390647aa15a10755e7b72b2e619099b2526066ba8733860311722dcd9d1b422748931532e2ad0899b9f24c31534146fe8d9770d9c5c629a6cafd7cc9cc2ccfbaf0242f21b21b549b3d21dd37f6d6e5625ad06df1b7475cedbf2c40b03287db76d8287ee91ea14ac773a689079d5ac70728e57c06da97b56c282f735b9534b5745e64b282d4c49005af9d986f185281ce1f659109bc3eee9fdd36a6049bd77d950af1de8a58149956ed54adc89e617fb30f84072876e780697636137b019589eeb882f46073b2f481b76695bf9d627055c0c94a02b7aaa827afb3cded5d3bb06e5f971b40f6af22a97badc0ad419f618508102346c19e9cbf24cd9186b0ed8680da5042371618b893974ada4d5f5d79b6ad0d86749f0e0de6f43a071d3471a4781d7ce932702cc5f79d8b325553da5909871ec333fe8d8ea2df07a815136e45787953dcbd5efd2837cf0c9958c0c54b6a341fa9265c4c6fb1ad6f01b4c0f4191c27bb01662287d4bd77c000012ff1a9515e68eb20764b65cd153e29b847dd8e6c65d206b3889f87025b9a2dfcc943cea991411f0109b9520a145661be5ef244b5bc3bcf973cea47c787dcc7362c064c91d5deab7742cec7f1eaad8715e6e516c2cfcbe8e09dccc5632de2717dc0862540139d47372ff281f844058c19430b3dbc95180d597be0ce060f379ae17a6e5618b5652f148c83c4f35f31366b24d6eee1145f5686e40768e3d3cb0bda6f6403db5c79261b1b1ee6e7b1eac60bdbb2ddeaefef7b6d5af9a39019a8b979aeb281b356c1ea997bd1376a522236573375598ecaddc0ae7031cad75ab92002a096580c22043097fb1c03c19f19280680c6ac77d5581ccd0d6419b26d5cea349826675894287bd4bdd8e8710c3d9fccf8db0ff27bb102aad2b4dc63804d0e137e6b178c160c8b1d3581089ed9562301a104a6b31a9c505579d1077994a5543fe7c73d843034f0815600fc9fd1274522f4910ad07319b89a242a3e6ecd57a03edb7bad5840c44e173c9a63dae39648e1a6915a9f5e8a005b88a7c9acc4601530bbe31e434f68cb3b5d58691587df052033a2370f8fcba8fafc54d44c434a632961a60bea0f569831c711977004b280f2c30fd76e2c8de9990d5a4e76f44170b25cc8dc5f5b9c6b7f1f583f10aba7593a042125dd4242e08c79db310b9f4e803f50fb6f3ca9f18135f9a261ed2d579c383e7e3b48bcd9faedbedc269dd6300b5c14d1a4fd1c3246135843d25cf1077c9fff848402a6aa68b8840c70c1a1623991ccdc3485caf608383a93f2c49f0d66e2f76bddcdb0d4689fcb1188e4e658c13020e8001b0dc78ad08f52125761d9e2fafea3d570d2c9f36d19244e589bc60b82e2bce455e72b04fe5b4b1a4be34ac7508c6b986aa5edd86f6b94fbe3bbb68c38e2083e7312c9f64604702e6900f3c53716fa48b63fea00c0571ece40f38019865b7c1adfd2cac738a99277fc02a0f66be4835a17479d4b7994c55e5b560a06cdff0d8b28838a3371003a6deccc06c4976573a4592daaeaeecaf93410afb09b6c59af076fe3ef08a6872868dc92c15a68036d400959b50f798f6708c7d873047b09824402e38fa8c943711ca990f202b21020c532ce9796a74eb74ab5acad19a0525b1693dd17ab5aff4ba4c4265b5fb3a04c69ff03b9c7d65225cb6573ed55b1cb46ca07975a2589f997f01cc274356998e730c96db8bba055ec1b606296ff0833c2fe6063672b055d9de4eee5d03d7cc9380de35377fa4dcb2e72a13abea591df38bc12e9659e240b05c88f2c38d528b8b9da70930b257c41228423f1b1b2c5540776b756df8aff8f310c0112e54735861f879fb7df79a144774007a7ffeadf861a2f77e0290aa0618f1aac3e48e23207142dd52959603973a0f64236834fae5a728b135514dae22160ad06426dc7cd02f1a1f18412f51b9fa7a490840058fde59904b4b23ec7d5e629282968e4de001e03349cb8dbc445f096030e50ac5a494af63fd479050d0742d0e67a978eb986a5785b833820666fb434febf3e3e0058d77f4410b339183d992ecba57b5c1b4bb501c52ec55fccf90b219b2808c5579acd058d507d0470ba68fb76cdd8edfc8286b313b43c650e0519484d2968744890c144080971eab36db6facd8a739d1ce8cbaf43cf308b5d06937e09209a202e6850a2d543f410e983c3b4422f9857d008d83419b34c252a50c8ef27a2d9792052b0827044f4212cd2d08e058d30767105ba0d65884d5568f7e5f209dccb0aae322b7f29bbe8883825bd3d8badfc020746b0337e36da42ec9b541d614b79427960b003d60fc7df5e00826e9ce17a232a0d3a3553a20eb381e51cc60cb2912f4024985f6334c5ce99683a448da0de1c2190eec59d0bbd9bd95543aa8292648282e71f1946d81d217f4a1f316240d34db6878cb12893511ff9a682a30f82232e0580e1d0fd5306b8a4a05f2afc26ec9e2585dadf7f1de60df19046500ec761abe68bab5fe4aca1bd4edf239cdc83700bc8f02b9b35983146b88b6d70b1f6090b66aaa50cbdbca486f0ab2be08e2ea2ef590272ef80ee3cebdc04fe67a289c65699b1256a46ce99959b91c29ad2603444320b540b16749b366b561315c3ab27e2a23df85846cb69fd52c83b82b7199a9999410b83dbf07904a08fcb83d1eeec6a76d84b217291288b5c5a807b62d0cd008aae18c80f01e3ea16a238dc193144bb052d317e6695cef00457650d01dea09758a62c55b405738ec92556d1765b2006d66c107133e80f336d54e4986f3b1d618b78d9a45c96ce3913c15b6190b9b371f1dc61481d0fb75ab7d6c70c6c49d800ea83eb0a7e2bc145f3714ebe80480f528bc642af5c5238071820198aa6c1a8797ba3d2070e5fd626ed322e75e446878e27d651e454e0f39acdff76030b294639b13a4ad80aa821047808b37bb2a12ce8c199ed06f0edacf1af10aed3984f898f0415c16484c5d26513e0eb6fbf0e2720b045709624f3480c8dcdf457fc0c4c2c2d2d1f830b30fb2615b22cf40436498be0120e42a7e95a26f495813e99a995b5ab0857a03e377d82ff1cbb7cf5a64da9d91798a024216861cc4a5e3d0e3da268305bf1718c2b9123ebc41e2724050efe4436788c6be5048e0f7580db2aac3e976a1d7832043c60f1cc457a3d5be878dc4c66db943d5827fd28a1b85fd894db441c7c7aa018c92a336bf10892d54bed0e73082369b9e4bf1ea69c8d87683d801df8d61bc7329ee4bbe207b90735e77801962ec0803bc389eed60410085c89445e11f1c3e893a1d786d6c704102d6600c6462f8ea43fc4453559b726424098e91eb538847f7e93425c6248ef8f427c48b81fa0ee189a8aeaaf72dfeb60d94fb1d161b3aa07988cc1d68952db12659b5b5dfea77f97909610d451ec038b339cca782a114431a0a4d247b96a6cac5d525a577fe26433f05a6a63fe8b032cef85eb4356351b7b9790d6d52771d90cfb76b599efa600db7be1fa9857ddc6b24ba5e5ea4b4c7e866e4b6de67b69c4f2bef03eca556b63ed12d2be7a51cae33aaa3f70a37f65dd34866dbd02a3a63132124a2a1e4b178c47a2156bee2531bb9132997d1eef5618a09f30990e8f4ec3824b4ff1f213f1db153f5a492a9086e11c6c49f6418841474f984ff543f390fd536d625aba82c08824139e98410ed5ed80a68728e565739408e842088340c80fb4a511a845813f9e51ee12bd6604781d457831d49c43e393bc0abf0209f77f8f225f5f8a45fd76e58b5c242715f1713abb198801149ab629f68becb34f5f4efe43806c6b8f57af2297e615370a6898c6b751d817a4f247b6089a432b177efb9ad0686fb2ca0b8267d44530b5f96a3c9362964651ee95d801e7353b8254093d341e265cc5b61eafe79e1a7b38e3d46d725ffbf9c083bc48058f837ce9f63b5ac3ec7c18dd7608068060e0e2373dc7f3fa0f56d7ea7f9dfec0b65bbedff1ffd89a1e30d76e9a5a21ef1de6cbe21d9161300f726adf17b7be02ca5df6efac3140bf71016ca66d1b3ababf5c67018e3feb9bd2d20a923a1623f0225b27baac162dbf01e487083b87eb8798ea3e9651322d5bdf623133745a6a379fcb03f63df01fb0aab7d8b3d469adfe89c165f0b5aa9dfce6c2d871403fda54e7624f49d3fe7aa3c4035aea3fe29e9a6f0d29946cc19effe5cfed840513ca19a2479f2eeeb90afa40802f2172ea0d682750a73c3dd0785c3086e8857e76259702a8c4e8a62c6c0ec7932efdcf8e67e7471b949317cc2c489c4a22153d57020e9acd309c741fc40ffc88eae2fdbc6a3c6acb30b155910b3643bdef800d09a00a719022cbf1514ead36cf9bc41ee4241d2eccce3612bb1932cc365ab1ad43731f6914f60bfce2b64b286e38eeeea359788d5a53c2fb6fee7e1c7e67c12caf22162c171c839f2856564bbb33ac35302216fd2316cc185a9fb6d9fedcbbfe81e1a5212fd8c06781c67bc140ce1ec4986e3c52928c79d1ba9e470e2b48a3a6dcb8163c4d371fc92c7b00931fb755c200ac390b3785775df0486e5c8c1ebc8db41dd917706986d3d3dc88d533040400828d6975bcffc7df906eb3f374fc138d6ec01a8e0ca77e27d06f6efd76b7da8115dfb74fbc1db1fbe57ba5efef398b9f1941826601027ff49925d32634f5105be082e64ea48d58b15a897a49e07fc3ff8786ea16cb2c3d2dab6f6278197ead6a93af5d31761dd00f76d55cac536adabf5ed4f14891fa0fdc67ef5b4b8b928f9ef77fb5393b79988d293c7d006c11cf0de74031fef3a75a370f4c54f3a4eb730114c94bfdac468e61a0f7d624b9f7aec6a49bfd281e61f79c2d9493a2c7947592dace0f07cd81ba17c41cdcde56db7dd1a8210cf0f197e150b313c0522229c21a5046499c39989f15d7c9b6e783498d2d0d530f97ba7d8c1e9ff5b6c8258a3d95acfa312cf3d2efb8ec16aeedb967ac40a204fa59df7f86e6b395e06572d3bed1fba9aa0beafdd2c221634d18b149d7885f9e08ba67be697ff6d50de60fc6ee3f789ce88d1f7dd7a28c9e74e6abcaf93155b17c2eec866d0022c14d320b68b570d7e527d953fa96a19c3e94e66629f2cbc4022b08232917d55dce5208e56010bdc61515c841217aa972d95895161759802561f9e72eced10e0f53c328f7271808080c0ed5eafa3f77ff10db92673ff1c4e166f0c65496912efe0b5398e95d50ddde06d6ca8b8459911fd21f20c6fb7850d05280c97f7d57c96901471d621af898c969a97368442ca3306e86ff0f3cd56d6c5372da534f16795047f94fdc12f35b278a925dc6f33f6eb99d928fc183a0479f5adc113e6d30c217ad9d5aee0fe9ecf33d59d01de6c27b583e51377a70017344ec48f019270ba9d534ec92430ac1b13f758ee8e7f438bb3edaa19cfc32cc2526ff0608afdc87d7df54b28af5f32b75f0a53fa69a04b84cc8c573e53ed1df854b52c2f66745cfcf47890312ec9bc672822fedb72e431ff06ec6905d1150b1471be9a242da317af3d89de26da25949d198f27efcf9cf454bac5358974992eccd655844a43a438bf53da5c509c39a18f191ce88ec327c2ed4f5e7ab9534d911e261c45544c3541f895d0680d9dd678ea6a8c935c77c26b64839872eafce10f69cdbf132b2cc4e6b4d94e842b61346fd4f61cd4cac76950ac36510aa410361b80c2b9d9856cd20c3acb5f0027f70f0cdaeebfffa0bd76d769e8effe2d13f4633f42d3fefa061144a62e68ad17ef5871da3bb1630a36d919312039450f6769157712f3d153dceb4fa317cab076f8f61b8a0549744919a87d79d743270dbff2627b74502792e4f02e562fc31114e4971a59749c659d7b29c7c9a8a87fd26c6eb11736ce4db9b14c9e2f34a9310bfcaea27b2ab6033fbcba7d32771ba49cedc6bd752b69ba4d6af1a668b04f848a6c53ae392f85a80e5ccd2d6088a3c46653a8d766bd3caef4dc9fde39b404953615190e4684983d936e1c6fa95c18192b36bba593093bb08e24a05e0bba8958446813e5ed45d8750d0f79ca38b3663650ddf85aeac4ba44758214a24982ce279532a08dd029b92d8a86da5f7ba424ac2ed0eaaa29b207f09b14b1b71a35ade31368fa5978b15dac862c55eed9fdefb5ffd46d748277b23721689d4cf90627d57ca1c03dcc763fe63091ea8638a1c40d6d7fb2f93cf95849dc9483e8c7ff99c1b1ed95d5f64f6c71003ec44213de618ff6cae0870906460b9ebe7885d2297ffd4c43c9b2dbe8b4b49abcec812fc2172e3bf29d3a3c89fc0966030968bdd1678a586a12fff9d130a044183c162af5a393d8b4f7dcf4eacab247365e4a35bc8be0f87dd237d43c23a3694b58cc0540a1b5f9865039bdaaf7b52598bb3a97b49dcfb35268ff74e530179244ab1d47517de23505024fdb64cee9110d3d85c1027f2620f2bb250c191726b442c16c5e053457213149910e1021b1575a2ac2b02279acca19c69b3c4fae41929b297937b03473daa57214f14e8416bd4c7ceaa15c15ae92675150155265227ac3c251740e5c6f9d9ea9cac7c9eeb38f1d22a5ab0a0db939544516b6905d11562f310490c760e1c92362d3570a56e87cf6d12bfd55209fee455225af2841b2ee357f2833b5cad86dc2e3ba23ce20062a589094311b352929bcb86811d4fe4b8b492e650ec5552da72aee9a45e4c30c2aef982955c3f4f6b812ba163bef9d5945e2c6b063db1e3c6883f576b1e0a4ae6c18abb0ec5a5af845e8e3e4e0a513b8d6190590a2fd3956e6d53637d9c309133184834926e93b1fa68f5d98389c70ce2d37088cac1f0176711015a5f78889304d409e0a1323b333f2a417ebc6d010696b37a11899afed364cabdf05c68cf8fd869a93b306ce9b1aad3148a4b9d1b276cf30946a78683caa5443f0b37a394c71c8b3c3f8372c2c968df190b4b475a8e046574426ba5db333d2440ba343c51ec5972eb1f13b579355fca1e7333cdfe07ba0e20fcbab89d8dcacf788a684a2a85645401400db906e491b9da20e7a5f29e6a4ffccedf08494c410dea438bfb5ea9fe70c34cd81809d7880872cfa0b23ff7ad6b23a06cd8cf66004ad17fa40ece9c8fe80138961c80ad1594bdd4512254699441f94633be6bf0a08063bc5ba66f9e6e3ecdd204546e2baae199260d0beb2af46e368170f5ef4a92dcd3a8f4096285a4937353b43ee320e077172d0f85d688d82597538aadf524e4ff2f846065fcfd89925f68340acb3fe71049494f8b4ba51eb16b71c31db688060aa83cec18e1348edd629240348d368c00ee9cd1f4d67b4364f918e0aa127da5a49d7904170b7898c8948816dfbb3f9b8482e55b7944045b618f56a68ea417421481f3b169d88a1867a0841cfcc9e68758e688a60da28496510dbd0ec394ca3282e0230d15d1eb1444ab43dcdacf1b4939b23996b66837bc118aa4929761def1f45d1d942a5a617bbae22449b5b88195255f964328f6a1361701e38f4439321e44ac7b916ea24e880509c64c9fa5146156fe99f250821b9e32c7f387cc9a2ccf3f80ca1a461708b3fb5e41de10766c5880fee4597226b48d2788b6118fce380139799a4895230b9cbecf0b48195a4badda40c4ba8495eeb9d251824034d1ebe14a43e424cdeefc6ea86b288bd040aa7a256e4a2f9824f6521df352afca394461c648f199ca27c025166ca99f43b11ced33860ed53ec7dc8e0e0d7c471b54e910def66c5d643b9da2afa85fb5e26a0e3ef6075af731c9002d2e1923221b398f54c5c1384712d54aa66684cf629aa2d5806dff1f1723de61409a08c9fd482be85bf651b884af16c0f656a6ea8f23c74340ed14a46d1bda44f92a1e6bb08050c1aabf64ff099b16c28571a77a173e64eb65ffc4293737a74e4285489a53395e807054ba2431fcfb2145e12811036453485a0d6f4dfe292cee4938f34ad41bf6837c27abfbeef7f89a375a7d7abbf96aaa3b5b16058d9f9a35b50f6ab9f946e684f6363800c5c8656e1d46f01785377257e9148a892bc413bf8247cb3d4ad7daa7d8c214bcd1dad71fe9007ccbb09b51869cf66b17233702410451e82ca0cbe7083e80d1417429396cd46c26137e73cc185633b956c01f3549b07048c069fae15b8898f00b3a3a43910ff3de8db289f6115b4ca3b7a5d659758f241758b0d488454ef37c802a5fec09a8f88c93e30f448e632e84eb4de946973a103148a71564d44e5cbd3faa7ddb83794a9e2be7075e15dff5cd294fd936a0f5da4ada127764a29f192e3ba970cd044cd0953a9e1671459c38dc5e722db9273c7ca1c0a736e104a4cb3add727ab0f645bed6a576180a58fdc8c327aca56407ac1494380e271377edd52eb29befa78dd6315f85ce23315ece5d2e9848054f53f40a68a08e3016c8aeeee85f740414dd8e4aa599d9bb5b735bd99014bdd5df41da70c5237ac2ebcdead43eacb219ec36f92179a3d4d3240a8e89b8fc5518e1240e5394b61a1f314d0892b40ea5063bfbef7a16064c9b9b7d08265c411a4bd8b98908cd8b4e1f429862ca31776e5a9faab3032a200e3a0bcae0a88e7e9ebcb5d45a5e83d335a1964153ec99a106a4f19df3816047d2f08d05b8dd17f1d25079141e62e9098d022ce7ddbc9c61ce91e8c47f68ed4cf0396679c3c2e0d276dab3de09bc2f34ec3f980ba752bcab70c7d401cace834f6680afd4ed44e4bc8cd58435417f7212284acd49b1ddb6b5041eaeac167569ba6255a1d92d82e9af4b3a56349c59c0abb1f2c1b90cacca49e698baa76b2fda101744c829ea49ff5145f8bba7984c4e07b8567f28f88e1be4339fc95a50fd1b74b69920cf7da76f50b51ca1edf9af9a7e15339a247fa88abfec82ff631a3b48b5bb540423752026e84f2a2f36215494d308a30bacd770fb31689533047af3f38f183e7c411404bc701f5d5664ba859320c4e28aa875e7d905a326714293c436407fe2c25d10a8f466c330b667c2dc123f2a0a0271e5304f467ac3ec70cf543d595d52c6bc566e06ae2305542c15b6dff8fc4de99162058ec5684cafdcd26d344679e6de5adac177bde7d7a971dedf63a7c4f8bb85625435650b36052ca599339229e1c2edc19d3aced5194461117020022d94b5b78f37beeffb30c4a89062edb505297ef6713a6a656d04594afe5ec7b773a49973714e8e8e615830b3a9609d5bb45cd1ea25ecf257dc8ea72edaf0ccd04e99116ad69116516854fd75b65b2765d3314076119c4d6be8a74586e70724435991f9e4a347a5289dce35377e36466ec11b3061fa89a1ffab35ba7fd0079229ffd6613185a19616d6587c20e2a25507663a1abc1aa760392d0ac24b783c7fc5c06e0b4c6424a0b30c50aa0df3b90daad94448e8ac3e7bbd9f5bb6d5d80f4f4a126fcddf02d7055934b33e7275b849a0c72f935445747f3cf8346334f6750548ad2964499e3428dee41072b33f2b33f5f74111fef3a8107f3281470d2a76df149e0c407b413cdedb11134de2e6b273a0d54209d8a3629402fabcdd2992fd8d138c9299aa627a007eefd5febc3556a956adb21c83c82c85453f8c0dca9a8879ebfa14ea178cdfc936c053a8f8382b28e32778db1d4cbfadaa4bd30709345c21b4840b657ef76bba8253ee2fc307494e7142f0789bf892db1c76149b31c5f1515b8190498a9aec69260a0a9464ab96c44f3d5c97a09b450a088d8e069ef11128c2cb7b7d41cfba6e0cefcf1f7c245d724292a8716c3075c4e0fd50830acca8b8444ced35a55f1373d2a01b08472498e81c6f70859482f14e3b089a606b6ad8872315fcce7575d66eec8037e67c3f377c686a6339d3a55273005481cc1195f24f0b9106084a816c3b82083417c848800182ef1ddae21ce7812748914400e5d932708dfe935caad72798cde640e5b8a4d5863dd758e29c2e1c95806a78cbf8448151294e0182fb9706216e5a928ef0b4692384f7feaab065c4156d4b2882a75f5d2788a1fbc4ab08221a0afb9a120663c89a0862807a698a4229b8e40bedbd8280026923c1f765aa12ad6006dc5c28e528ab2d612a13b7ba76510c4c0ed3f1a695918045999ad042d07d27c126def236f6987371d682f8aaf53dfc005565187af21bdf425a55c94484dc8341ce85d0af37808e27cf8c63a25662d3f5da46a1630fe9f9a2ba539c8b0fb824d213f3d383afd1b064688d2e9c2d7a5cf9e83a65903582345c33b7c457e5854c1084a33c029cbb2b9efefb41cbf8576639126cbcb4838dfa40954a8ff6d3ab51351611fb39a210f939cc91120a320d148603bd475fe4265fd93e2fb410f8e8f4fe482b6677819314b093d1290fbc3a688ccb39236db0b7e2bf808c67ea2237b98890b56b82440cb3a3a687d8143df02d0a55208784b2f63a6945c2e556d62f41db381f39d90a0bd7518c8090a8a21522621d85f208a56b8f03d4f8aede1491b61aeed56660f2eecd72dba33eded9b91f04a7eeb066802a4f0dd5ccb232c31edd6e88cedd9124f77d445241e7c266839b2ddfcc4887be52bb827a26a3efb63f4f0db726af6ea523f06663e7e70b092b4df7d7b3387aad7b472e93b314732e5db75c05c7f765101892d9959daff059a10efcfbdec1c6db5b2adde3d1ad58e02af30f7007e65efc64cfb8c3581f32e0a14e9acfe9288b749eb8429ee2fd819d40f850b2fe5d7403be3387f5cad301fe401974de08070e0009fc51d91ae07ad8bce4887e31985ca47723a6d05b4947d400ce3e63e48707d05986c83b4c58d61c0d56fd194e05922db9045e53d56fec6915cec4cf7301329a071d36b211778d08e0ede8d38001d2eaf52b20675069cc362af135532fad5c270a69c12f2338a3b981f1d3999ed419dc10150e4ccbb1386f28ad26ebe4e502d8df1758861e65962efcd78216afa11b3df278ea83b900860d76829132ec18fe2abe6fd50b914843ff99a2a473ad8b8fa6d95c67e423e31be6c2c2e12c6bb8381ea5e8df3825038d93bc950b930264070ca62dcb2b329094a3686c3503ecd41f40e9d4e833888b7855dcb000b63e507bb4dbdfad4e8bcb4c6902393a6aa3404ffb0a69a827b67e637e38a59c7efc83596a81a944399011d404d3488907e7211c29207f192fe804587f76146cdd4d10f068a9ab63ddaaaf5b72201e71c06651d2609dd463a0e4432a05acdf2bf721f2c415b44da92db4e1c4751141e4eb42c735ad3f7360cbace42195a12e00f0fae3328ef7e0ad710c322e8679c83b1f1dfb9df944ac5b5d65e0f9df64d4cc0d95fe9299ba398ba11211b2923065775aa58cc683767e375e4e5a3075fa25502b019bae6d9b0a4f5d56549851e86dfe1aac68c5417781055a6f20c3abed8499d93af850896b7511e449a99d9860f66ceb0e05116d6f18c84a48826345d9374b7c71de069f0e2e5f68227313716ad260350eac708b8bb1cd888c9c585685b47fd446b831a5bbf1176d1a15f10f915c763a44da98e543317adf18c7bc752c588a97cbb82d6182c65ab5a37968bd28fa4d387e12b36c1e9d81953526f394138d742f66ced55988cbe1bbef703042e9c80aeb4b6e48aa16ae2a4d2aa0c4655b6709d861bacee581a464b933142fea8db6e87d8dbf56bd9a813ead20aa0ad09c39d7b11e0d9a0d99d1c6b4ce7a3c76176589177e3f9bc3d0c1c63474dfe45136d73a8b2a6267435e85e6d2345e46dfa15c4bdc389803761176e1dae2c49e31ec83611b57b19b3097b130c4c46045f39d014dd1a770b08edab5e4a7be6fa848faa050e73b90582c17b7a6b7b279f46c47ce14d31c5368bd8155c8dbe0081830969997ba492e6d48077e3a89a05943e7618b0065afd1d8a769f2997d204fb642a8fd008ee7c15095b7c18449ad80da8f2565ba6c8bde5848f98af27b8ebfe8cd0ccc430319d2c181c77e0ff331cbcdb3be99d64b7a7548496876e76c18243ac9f5649adc8a2de03d48bfc692bdc259520548f2d09c8ac10ffb43dba8c8e58172178d5f189410cf95b0c2bc1165b98b08fbe176d3f9c176d1ef31e36a1f7fa3eb051f021d7ffd8f068b6da8efbdea859128392f61a4dac07384cb6588c675cc6f8eb52a8811399d4a8c5eb49b35d903655c529664303609c99aefb413e96cd5030a583f20ff3bbd5c6b6eff9c4160d2dd8e3be453bf3e119e75fe369d0bba0618ca6843327624ae3f5bd53511e3f10b1a76cfab7b17793c7e5ec4d5c57946e1cb03846247e85df4e112ac32b5a06700612f0a035efb7e31d652527cd450ee2742e212c9fc06656f9fe5c7714848c34c18b0dc1ee9ffce60153feac902f5b2f8c7a21a45beacf78a09f53c22c3eec691ba50f68c09c21c763796e9456197edd24399156d3303ed1e41dfc99504ef16bd677b954fdbe56fcff562715c683b3486559ac3830b063d59747d8923a754347d1e810c2af5c778eff2c5384ab6e06aba959c8e67767d86553c0f4f5c911441df4cd77918d6a5a7840dbb1b85b8c3e1b5062f4e55122a73b0e1d20997a232bf73201df5c7296072a6157bbee8884fba18ade8792640bceda1028fb35e3d15f9fb552e913f95d324e8bab66abc17eb419ece4ebfd41b27e66eba671ee728fc241b6f1550e15ca6da65146248c53f2e10a53b8adf140641ce631b2d04f3bd6385bc4ba1240bd7dda553487acd989a6f10963f122fecd8728fc23c428ab464596b4c5a9dd2f1eacf75966549d69a7c99a1b781528912684ad880cd80a25f93f7648f36e0a7cd234594829d1c95d45113976ce712b9c9ce34de293b5c0345f5872d7c12cc9e7b2824e6a890ddbc9e28e4a4554a93350edadd89a8f0f9329d0863bb53ce20f390d4edca6f90500e1ca89f3ea8c6f02f2ac0193842a552bd44ee96a5d9adf8c1e23ca08d2bbdd5051d35effbf8d47893267fb0a101dc0de8275d8d3e9e60e25ec863de2d1f4c5e9edc872cd85e4dcc22c9336ebb75a3b60cd656fbec72c38b2583b6dfd1e5ccd1be49abc0c107f06ecf31f8cd6ac9969b4460a8451aad49f44110681306e5137ab6736d4635d4c4996f30adaa6d3de3ae1bbdb4f1b6ab7ba8e83257b92aaa3ab42c48465a70563221a95aaaf9d021c30f1104e4339ec5085eae673e18739a2a3a055ba67ae3a6956de36b39ad989c1adfd5c59595dadc4502bd14950fb456137f61c8089c205ddffbbafc2f43294ec26ccd99c35ee21620726703884376563c0bf1a1162fa8bb0009e3623d526ca179ba839739cf4632ca1f59562709cd7405a0ec2f13e2b8859d8143d9b3097f9caf0dfa8c3c7154dcdaebac35ab6fe1ea9c2070a50152310312021690879b6b65f13c6444c4e134810481cedfc22834dccc6f0ab26e9579d153998b9c2e64e31c6efe52fc527902b33db5ab2a1996f0678e692b25210e5534fbf87e8d3e651ff7d7d27f7f64cabfc80050f3867cc7427f08e0665c5ae39ddec2b0826a18b454e16a5f01e4cbf2fcb0200758c079fb1f111d38a04e9dbf4a77377a61fcf41c724d4f5c0833120e688ecd8b37d58f4ee15697b14c80cfbfbd4a67b9aafe21198929391a8a9e181157f6b20d36e4d3d09cb0c827d2b4d598ae6753ff35ac01b2b2dd6883ea776962e8900b24b3437aaf5451c157c4dbd0829f33f1de7bf58fcc74b51b4af71e8760a8fe8f372a36a3b28eb4ee642a0e5821cbc6261346086ee51053f036ecf1861c86902c09e5b5702d849cf42a32c982fcbebcf0865b420bcfbbec5a17fcaf4ca2a89cc0ecafd843ebf47406a63d36aa96c6e4c2160b82bc9117415d515a9bb55ddc8cf72799a4d742ec5aa32e5efc0f4c1663effff0cf8d289df09f29b38d23fd07d263b71e473708cc72eacc646392d7b249ee9580c57cd5ce007f288982cd9b475e8a363fddf4a33bb747fa93406569474f85ab81c4316884da3cf0a1ecc43d47fcb2489c9a6902c4600c697361b1de5d4f55c83f69622fc39df1f08cfe8a25b741d42dedf0af22995b28cd11dfe90e1ce7ec33a34621aa6f4e88de5585a858898661e9e331566494dd9c56be512d4943d56ba320ae9bbfcb79efc776ab2ed5985503d56a913531859cc015387a5dda952355f8cb4bb252eee9a1e2616c2938ce9089809282cf5f9da24c792a6e9fdc417047d37557e54e1ea4a860cb53f7fdb74eccbc6b2aeb33414445f54a769fa2d19aad28c451034917c989c3d067877cbd26c664715565ed2fbde338a289e5e8b19f270de3948c0fdd9e6b6d6cabb6ab0d3d1e48c92b3c9873770e5aec95e3398e39701509cb3a025390edae4e2f79481e8d38d0db0f5ca2b1025a333c5e73a0ea0796588e8b958b8d96251a85f2926bf950b545c3a6cf6a6e8862c77fcd03e90aed73df2b318ebc5f65689dfa4ea380f9e121e758a3711e56f97e2cf5d8b5eb5a17aef725cc29537333ee1e3ac0559be95e0488d901bcf3280f00c7fd62b57de619e6673e393cb22bff16c2998c88936346131cea861603e2653564da434e261622819043244bf40b285dc277639206887f878221ded97fe9a392b9a21e81c1f2a8f8581d7727e9b90d9eccf784964d1a885f04f463f6baf244597a8da3dabc259acc44e6b709320c6a5a2ebf06f83ea50ef1fde99bc0c2bf25081bc7b983922997990a091b48113865bebb47530b34e2654949e2f5a4a2ed0aae4fd66795bd2a6f4aac55244e39ea4176d64f2d4b26c4566909b1c4c80da3721b4bd0a04820d83d34a0b8a3acd459d14dd4f9ecbee693485cc27c6dba4f553784814941f1eb8714d5528ea02ba011af5c065e459bf41419ba115e8d3ff22a45751c1be6f1773efde48332eb129b0e5d469dadff5420e6047f54bf70e2431158a5419de0765e16fb7edd0a0fe3f7f8120e66ae4ae262836423fae579f7b4ce26a8b1e960ed739c2eab4e5a67fbae941b9304a942b7b81dc1941217f687638638eebcfc8ac8822cb2a8856252625b3fcd50921eaa7185d272f10953e27315e6ba9b871c9b18db5a53f8fcc962222caa444f14963c9dd0181ba377d74d5bbdfc80daae36c58d907d0f9b66508bbd085eb11086027797b2c7e36d2ba27aeda629a1fbcf50f8b1f741ff009273bbab69a5895c70bcc0922680299e0c5746159a5bd8e62c3c63cb7a07ebe07f4ff9a2e368a47f54239c3041405411ede544a2be4cf06786919d0118f86d1cae384e9dab0db54c6a21c1f5d19ac2c82a736fa897cebcfc88354aa697b0589308480f184713ec792c58a46070c4f51b30816d232f7b3b02f63291e855504f6a8e5dfaf77ca2185ee1c47d9afc064815344384bec76cd0e7a50d549ea9771f9f5d2fd7f0af4060e333650e17c33433161457a5133f1809fc3d6c2f828fdba99723fddcb28b189f30c66a72180bdd48bdc5c21b534a368813a487ccd08e765f84a65f63a48c942bb5450508a163b2b5fd33aea39dc964749915a981668a3a15fc11291565ba650c588ed59eb6ad3121815788b1cedd7215c980d41bbcd9dd6f93782194330d90e2a0600a1c161a07647ea67a3d4e417026edcc29f0ab8c2ff8ca8145b40ea28d53e07a45b8cb29408fd06315ae7f335dd4da21f5602cb37d8b4f2c32e75ce4b5010e8825fa7dc7335a48b63d8018873316b42392c3e5491204b889723fe15176079059046845aa173e1169dba51088f553492e7ab47cf3d7051b2d874b5c2063a55b16f1062f34a76ef77f376040ed7e23a736b0c1a775951f56b54cbae0bece8cecbefe02d610c7a31fac53df394e495aa843c8b6c2056a3551dc248cee14a74b8f0ccc0b034e7c30b56a9bb1e84a3c13e65e6af4af4c43bb603ea90918f6783e59640c26de7fb765ce377c9e9933ac4ee9e4f79d82451e88a01ab133b62c3fa371f4c77fcf3ec5b17d1a9fcfe04050dd576f8a7962cf403c4fd1e40744190ea1ead2c8c34a296312eb4f8fe5a8993fca5014ff849b5ea1e07d58bc221c049eaedcb2a6566c94ebc8ff102695ff173ef9f7eaa181e73641b845cfde2441fd796aefef5990886dc8e1a1baf3867891f9cb4bfb929859aecc0bcdf2050f248683989aa5c5d607aaea4ffbfd03a5a607a9090779974d47c016b595937a2e8f5715a83d05b5f79d79f0dfce144e75952506519c14616b52d3712886f5a9429ed81ac7babd78c4b36cfe0d660604c9046ae087bd55301e19251d297a44f127526fcbe4225876009a67b0dc3b6cf44ea23150d0f3aad89c1248ffbfc3452bbd3f8e1a5ab37201e2e8c1c45e85f8140c5018f7a81edfd0267204b1d6da7e6bad9146082184ecbdf7de5bee760bed0b020c9800f80111810a3cdf6559b2cf7acd814524a6f12103082a4e40b9b9352dc7f59e6936ae5b4f16b1eebb12aee0f5471a1dc334cbb2ac1bfb562c4bd3522ba6c7d7409a4f7f19c2d4cd39d0ca7464592bbf5baf134489247094d9033931cbd7176d8c35be1ac189f846939a8e95fbd034aafc556fcecdd7cd81d8de1c8863ecd8b1adbf6789b38c4feb4af2a163d0c7fb3a8bd6a0328c081caf9ebef7f2e9b2feea429a0dfa776fdead6f9a8ecc878e5145dc43eff27453cf129f521abd9b8f4863f3e9c6f7cd3a81dfd3344d62db31ac6623febaecde69276feab6af74efbe16ef3e89c5472d6e4dd46ea1b80e5d0bb316766f28760c663e340d9973fee8ebdf6fdd2ce3bd4784767de818d6edeb72ce9481adcbd247a138ceba84f869c7de73cecc3270b59a8df71bede6771f7fdabdd6b1eb43c790af352a9dd862db3d4c29fdd3704c4c65bd3ebc8c82c23901c4833e348dc62f16c14f935c0dd83b2ba28041db48e0542c8f9304bec989580311cb9b3bd3db7a7a9b8da8a78fd7df8b89586bb4036231bd1148c01d2c2f0e455d37da8b813702a7abe07a71b217532f576f3d5b96c602ee2be0a70961314e57692b6016212cee2ae0a60206c21409fb9c886bd88b53f18d25c2de9b798ba58d87e3e595972c00aab5d6fa8614d2497b36adddf3ad01e7d32a94c07975446cb22cd29f66fdb3d65aeb7673777df55b67ca3ad8eaeced48a4a72e29e953ab414a7571f6cc8da70e0ccf4b3b46ac1971222bc6b8f212fd8abf98cd2a2415710a4805379ef7c22970d5db339c42baf599b7595bb0109dbb36bec05f96d0e9b44537472fdd6aa18bba6fe5aebc8113dd9c8945a45b366ee22516dd1bd2cd8d471771cfdcbdd92eca21bab4635857f40d474dc7c4f1d28ed15368c798b5b39f5d8ab310b6380b0d8b66c17221bda43bad9def1daebb7784b04effe60a88bbcb290c4fadd469d378700ade489c2847ad7d0c61b7382a9548232e8afe70b5f63af638d257b4f71052977a931e2a7d05ea50d341faca57acbc81abf6447a5bafdde8b1cb3e707c5a8ef9be2cdcfb9585fb762b46d165e16a7dfc56b76353f4dededdcdbabdfecd1b2feaf2765abaa874abcbf5f1ce5fa358bb51e935d01a951eef4de9a27b737aceccf5e64c5cba12ae423f9ddac7d08a2b576efad37490be429a1247c4a48ef4ae4d6ad24d105752ea1a0e884927cdcf9b4d7008bcbd5dd32eeab20f2c7ad46a68c79aeb2984d5cdee393bd1ad2e64bdb732ba99b36e46add4a1ebbdd1be695bce9958ab9afdb63d7237eb1c8be6cd2e467db30b1e5ab0605991429d4c2b25d248c485362dc32e0bcf2e95ee68f45cf144fdbd1f46cf1397be82ba999ebaf7624c3753dc27ad905eeade8b21dd2cf1fc7b33a3cfbfd91fdd2c12753913c75b5df681ad731d90f8edade5b0dfbe85fef04dfd76ec6908d0f1813bd747ebd96377b31d627a2b14aa819ae5c1f458977df490bebaadc5165b61da994026be99b7b79a1eb36c0c38fb6723a7034863797b814c5cef4dbf5530057b9002ff66e4cfcece4e133659a2e2e39ee08c7a4f58c314d4e083052358e821c0183021faf65848887e67c7ba0e0776ebea5e1f0b65e78e59ae8b97bf3a2e093c6f7537763b76a38623e2eb5c97351ddbb5ae842becd2beb1d0b110774397cbda29f68dfbf5a7e9e0424a6cc7ae7673e075ebb27e69d915c2bead0e47e3787075fdc115762f7bd83809fcb2123807e6203e847ad6c008ee3fd9b2633c7d8e8669176fe7bd61c1d19ff3e2d4db19983703f3404478de0cf47334a8531ba661cec728b8a9c07d39053f4dc7a437a7e55f8495de7a4a29c5f1ae73ec69f0af423c75683a9a05a7310e18fbf1c2bf8b44e378731ac39b75746847293cde0f3819d0c1f1f23240d6c20ec1e06bced41b906605848faad57a1d5cb1ccda8a59b6da67b13f0cbbc4d865c1ae8331abab1cf770248ec4f15d96187bc66e51cb026eb240619db40e312b07e2a9bafe0cbeccb0803398450d1c88e57120be24d63a59dfb52110336634b62e630ce2cd1b045b7bf3bcd5f528c20d1c8bbd0eb63fe00ade08b882517a1ceb60e0aa266e193622d2dc28a2077e3f3c6c7d6ebdb3b3b3b36db316e186e864c0d56604198eeb56f0650ae6d204a4795dc819224402fd80336f0a6a2032794ec0028b6df358cca056f39e54bab5812b22d270d788f8026f1dab74ca0833762ddbeeec32a0839ff6adbbd9fe304ec59886e1543c0f24e2797f680106bf1d5be08ca8d9a6050ea7b1bcdb0fb8982e950163c1d1974742e2f7775970f4bd79efd3d39be35d0c44cc92e302c156c3a9412f44cbae16e1e6e561578b70b116e1e8dfb6058ee6f74d0bdceb369ca68b007713ff207e3f697002b78efe007e37f70e8e7f1d109923845f9667c17161797142f8fd6d01cbe0fcaae01c2101ac807557c3656bbbd75230fc055e49ce3fcb38372511f609fa4dc10a4a364c033fc03385294c643c28b2393893b3960306072a3f362f0d4d4cd112aeea09684c01083f36d8e39ac5fba1e7e00c01e0bb43c1158b290f57709502ae9f517d1903d8852a31ca6e1863ec8edd504218218cf2b1cfcddf8834b06f96b88180abd8520221251788c828d853c9eb59ca67b5b4f65af9c3fb25adbd9e85bfaeb4f2cfbab4ab89f2513e2e5e21833390524ae3845ccfbe111b081d0c3b24f60e015fe28ed83b6ec0557c32447fc68198016766000157f1c6103be294b02fbbb318638c363ec64cc5958888a17f5e10b27026c7d3e61e17e7a412ca2adf0b805f13f03b7c53c0ef54768c32a69454465218b87a73c66e65a50aaee0f39c9f4da588f2d6cc80abf8da80f3b1954121c01e0dc7595cdf55709ea787f4e22481e9e9cd15cf8bc4fe69578925f14be03b161c586229a5046281ac833150b10ec6e92a55aa548967e249ececec7c00638fbbc1b9c1fe70d6c11989124be89764c7aec94e8879cb3ace652f9014de9ee5ad5b97253729a5bcfd87b5affcbaf51e4cee6bd7de0cf7aae08414f855c189212816d8c2999bf8fad0b72eefc0dba5e852f46c45f25857c1dc31fbab8bd8da77735fd7ba76f92b5bdf7eecc0f2d8ad6e07b62e7981a47096c7b0109014bece1d673e0337d643bfb12e316949c74877de1ebbb4af89b6b32e49d631ebe25c1709095027a150279150a5934ea62f51422d61fa122b9faf895917fac3d8455dfe218333a08343367a07bf17c3dd1cba72ebb09f3abbd295baaf30ed70941e8b344184bc3b54b1213d0443aacd123a36a4fb6eb6c7accbdbceba38e865b614478d23da71a8f8224b38e05872d84b191c8900d2b8de1f150389f8dc091efccd3bf0fbc3f238f33909fc0e73d3f40249615a6badb55e1cfa790f572bb6269e16711a5f6d081d98fc2ece7c6e0ed8cbd7c0f92e5b8bedbd38f422b197aabf5589852a5a990902ec459a66a182e14aa14e0018855f4ecd1d38bb9eadfcc35608e283e8d8c4cb8e033163f5f531c62fa16313ef12f4f55e9cebf6d6bb87ad0ec93c9d9704f14b4819e3a5fc12b1bf448497ad33959870f2dc80cb8fca1191e6c12070a67faa94ef67f6eca09680c66fc76603eef235f43270f5dee98e153016f887f39f0671de333d908891d807d1b1a9b71d076a9e3b44d036570882285145096160831cea60872a36f54be8d8d4bb84757a71dee1df0eab53a26d42f0aad80c49d9d44b82fa25ec6bbd7d960b72d1a0064278010b9420051e9bf725ece5e2cbfb1216155f9e1482f59f2a1f010f676fe3e1e2638cf1f5100c420821fc84105e190d010f677005371e4e4258046c9b0187bdf7a80eb04d05dcc3fa4d8181a028492287482152827e9ac423d10815533c01d4a3043201874c91e2c44ff3f4912aa8c051f27b02cb90791d7c77593ec1efddf25df2c823555011e509263d914864428a294f9c6802f2c09d2aa088e2c3a48b34112a3f1e941b58bfa77a31ef92db6270b30c9917d3752771b8e00757ef491965dcfa116bfa22ac33f406ed87481323aeef25feadde8b11ffbaa79029204df49154729422e7112cab883f42e213268a44c1504a61812c5094d602459b7933ca02c90b24351b16c7abfd58a01770b98380a2f4136f8503375d48606efa7b3466928e41dfc3f69f420167569c72a7a752de0f4db5bfd7fdbdd762ffacb77839007ef1703e54e20bbdb5f8c57b545efca201e7f2d449c72495784f25d23c1bcb6517ee2bba99a487df0c710f2ef45c47837c5a4e7b5cdc8ceaeebd996b39eadacbe25af7e6d5cd07c0cdab9b57dd54ca8ba1555221a91ce1606eea34fa8b8ed465fa04a66fe9a1cb75094c0fa36341b1a8c1fdd48daeea728ec4dc47a73840d116b7a7da2b636ced363370520ab8a2d7eab55570940c987e168133594a81e9e969bd398d6bc8292415a8d3cf2193089c6181f1875d3c653a9d6addd8c09d624c4b52b467062181d13d4c7b228db4790fab4eaa63d895b56623741e58d8b877b959629763a6542a95327537a9169309e62a95ea30a6967bd3f2d44fa6c31c7b6ef10a73d55fdcd4eb738bfbe2f5a9e7eeb2eabec0a00b9349068621310c184775b931ea9b96e382714db3d1e22818efa10718302e03cef470181f69356060afde2c4f5de6b04a7552d5ab4ef9fde0d45bba9b1757029f56c75a2ed3344e6fb933705eb96a756f5afee2e527d557f9e566885fc878795eb92f5afee2af39523fdddc2c2f6e3a0c8ed3ab8ed36beaaab275986719d8f4169b6643f57a3555b6ae2ad36c9c7e63a98e9d4eaa9256c3d4f2e245f7704b4b4b4bcb8bd4ad6f81f94be7e2abcef49ad8227b7198162f5edfe24fd3f1e2a716d587a6515bfee2aa3f2d47cb0b96969b0e530fa35abdc55d746f714cb3a1facdeabeb8a5e9c8b0ea3e340dd5cd26d357b41aa6d3a4b8a57bf8743afd543b895b5ef4d0c138a96b0c03c651ddc330eea26b2cd26ac0b8cdc9c0586b3030306fe99e56a3c564ba2c395237dd46eaa66b922698172a559703f18beb43c780798b2e4b0c833a4c8d1e5c5e135d3a00fc0220c607cec4a42ee10c009eea812bea1306ae9e09f521c2fe741f5cc57416bed4630fc3b2a7d9385d53ea2f75f3e9279c23308b5f9a103c3cf4a701e04a1e2e0f3c74a5f78061843a165d3e02d77a8aa7533dd57a250e40693b0337454a8199ba7702eee5fd205f9cb8d66ac02803e7f216189d9ca246cb75b93455ef7200cee52e77c92dc75a3a49850c9c0bb7f2a9d528c1b84b7dea30dd4d7dea58559dc2a80e03731ba6c35cd5cdf5401ac3bce53ad8e5309dcbad8148622ea768995260e6d23d2ca9482a6acb9d4143b8ffd41f2c81f6445a2b0d02974f6781f9c3d4e7c559602eeda14cea132e55b72039055ce5c62e30af81194c2a95fa1606ae1ee699f64c2970b532a7905e4f555f79fe91d50ea69b4167e048af37f52f3a2431af5d0ccce963249e419146dad0cf292f603090e19c8355dfc4c0a5aea442520103673a96939d52dd8f0cc3fc693560749ac049e054503e29c1f541ece8816b7d3c750fa7aa50f1a0c02b2b3fe9784fe00ad3e1547cbab93106325c6fcec1aafb23c3a49654cce9e623f009d77aea72e4a9c5e5d70db87a31896b4c178250ccb1ce52dd8bc77442969c62eaaaaefe7130589f3ad5531d0c982e75614eb9c2e832cccd91d87aea2f5e1c7bd135575fd4faa293b5bbb15e618ec174cd9d60547fdae9a4ba551d9b594ccc9fa6ba4862ac7a2f4bfdb3b13a964a7b6cc0b9dc39a5e5cea0ab069c09ab4b84be69a72654cc2d2a5ca64456340157f4550cdc94025774ca8aad098784c4d3a7c99b3ed3a774b7237099f6d4eec7688fe9f41f3803e3f4d40938633a3da5a750e0cc4f65cc201f3a860946379bc015650267de7b2efe34d39d3f7045836610a63658dca5351b2daefaa97379ed546fe9b0d64c26d361745907c338d46ac0481d4b5d961b0fa76ee3e1940eaedda94b75b9ded4c3614e9d0e4c9733710f97760cd36b228caebba9bba73d2ffe72573773f8c55d00e066147e7173cec42d473da378784b5789a92e52aba1ba1948c4384d054eb5d0227045df75f41d1212e7e99339cc43cc5b741948c4a957163f3dd5e1549c3a367d220d65025fe869931f4c7de60fcba52b2ee5d98ac0cd1d9e7cba38159b0e246293a4b2f97099f63409c053a7a74ca0010270594e7f3601384d9da62ecbe98d4f7706c1153d7d00ba2905bed0d72a7a522ca92b04c4a9133da5a7f4949ed2190405530a84298d8229a53f983e75aa730a9cc992caa49f744a81e95154e0cc8322852998cac0f431dd54026712b8a25570f47469cf4c82e93722702c327045ffb00cb8a259e6e744ffb8d369cfe9f4444d7107360157fd126924e29ae0d6fa09846259d8e4cd8002d27413efa5695a481f813414782f7d28a078e20928509c70a24913264c94283972a448119c67e066a299c833f01453545145104813c4eb016954efa5febd1998be6650070010026b903de1939e4ec0d59387fd03573e4cdedf6718b8896a29ed13500a84f25e5e6d8983c8034f18dc6d5fbd65bd07db7a1637ac9798a4afde4b1b10d7fbe80f180ce57b3f60309c4dd88099b19ea5bcdeebacc4916381e3bbe4abcffa0183e52315189434cfa6e769b763ce281316d1235e1ff6f02b0cc20c1b115f7ec0604a2517384a556f056fc40e1ea8abff56b087ca9e878fc38777dc1d7035218d1052516202356042507addea1a62db65ceba965e99c5eceb7312d8ded0430baeac671d4ee30a5f2cf962ac6b5db6d8b27065fddd1bfa6e3c43e0a24a952a556cb22e7338a38f08edd86d97d5b018119a11d8b2971a11da4512a2d96e5dece644fc62aba5d71582bea975d52c6be3773893f05e8c34f6f125b2e4c070c0a240186194314208e5a46f4d47bf26d6a0ade988314211a8ace53814ea2b99ac0b25b88a973bd20531480c3b808149646464f8f801444cc2cd880f08473a6592a8e445d9ca10fb228157c525893d51084cb05cf1089cc9908a10182424ee9878620f93d804d2bc37044526a00dfc85592ae04c6c28303cac820a864ae0eac63ebbd87d53540f59c0991c77f06a09596882e19f09439b365071e2230586d6aa9955af8c3bd66b3d7d1807762d9bc29d330c74c19a03eca9f2e4510295402570061ef6401a09057c9997e223c5cf144f8084446122684a121c652b0337e15bf58344387de00c29480a48b31169e28327fc99874c7ef004fa418285097ff08c12e6a8184e1e1903eccdd88fd7b298f2a2e06a8281ebebc8864bc09e6a563170522293d80357d1071240b6781d838c3e2de4635784668bc220cbb2c7a6d8571df637f5f135f04a5b51d8eb31ac83536010949224c6d71a5b5a5726b9d2085cc913913c70c523251291d1c6d83c9c2482a748b1580a38936513585e12913c9807cebccb9d3660a03160c9c4fb01ab415c8e3db1276e97d815b3a845eb35eccd2a6cade57ae078b3fdd461fd46478f7d8b35d65863d5ea55557085717f7876db51504ad46a847e3a565ab9d6adc029a7b39cc5f415a9d38d75ec56dc6eadf698d5cb72bd9e5e9fc72c6b59cb5ad67a70d50363af997e84237bbd5ee3ad791a638c315e17c7b4e839d3a7c91265d6ea32ecaebc81b3ee0f95e8f6de983eef0d8bdb1f2a6cdd1f2a6cba12ae58cee2dc76cb7233ea3695ba19154fa7782c9e5051b396164f5a66dd8cd2e28a7694764d937f323beac2a0ac835332eca5d2af2ef7c097a99e2aaa560c83ab6b270c8e5187f61bd769b772abc565add9e99a542d3a095fe27da573d6bd291d2b5dee4fcbb1d93fcd62d8ed35bbacc293d66b2c706481ebe96a3775a81a235c996ee65adc44cfc117ee87aa07d67ed9edd8b15ae35b79c59e011d5c6fc5dc038715ebe74b9d76d2679795c0988e0fcedcb5fb43b5e2566ed6c158e352e935b1d46d277559a708e63eea720fcc1d06c12953ab213a26ea9a8ba28daab6532dc78c368ce1097883418753a4b5b6aaf07618c4036e933276d65a1baf7d6d23b6db24b69965d56e2238f66897bb9e412141f2a3bfba36d2ed805b51a570514a0184fc60092f1f7d629408458c974ab06c02ae64ad4072670a2e4a214135313e20bc42ee08895dec81f0c7e2da51d9dec065c903b1cbc3231009ef07c8136512ccb22c14916e4bf23401696411f8222f8954c1c17a1804a5d4a3505c5779491beff5d4fec81f20f8005f37a3704fb46eb643de141809d943647dec894c9ac0f2d107ced4153db1099c794b60e24484127b7880738c8265c6b384203841c61ae114389321112c2fdf128270244329e2df14aaf060795804cec0e074c0452953306609a1a79a8f38de8acfce8ec69c33af2e5a6b75e354ab6dcb584436bdaf63d8c72eca184fe593e86211b89291d6392ffcbbb30df43e3d01f041e0e5617fdd2036aea23c1bfb6c57e8f06c58a0bd075e7ca9f53a360db0bf7e5d0f5897bb4196d007b9f567432f0f1668df807acbbe5e16686fddb29705ead83c9bbcda21443e3281ab59447c99b79d8ff8e20be5e1da07aee6e16d4a032ecfc0d3520107df33f07c113f10ca2a54f4ad7e1999c8dd0067d4eb811472260a461676a005948533afa178870f7a31339e0082f2c4899f263e4ce0eabd4749cb68bb6337c173c44811224cc0d59016029fed9d2037092965cc81ab182f17825f61ce3e9a7978fb1df103aee614b89e3182023e7a14c163c7103760770c02ae9e94b106aede4f698092a4a74922fc9e2d0c9c33fc34fca024f9919fb39bde9b7889dbbec3d5bb79a30397bffa577705577d553ced720d7c5fb5ea1f4d05bf73f29c945246095722682ad20629204153e9f7119a6817f8393982138c3a821d8e208688c2cf49932434e191f1bd88842014003f274db4304980e18f9f1324ac0008fc9c20610a8f664748d9a08ef073920432f0f0848eda8b814a484112e48051961266c0023f274a58c2829f132540c18912a464d865691bd4d2308344365211ab9049241329a46511dc71471a913c520904824f4ce9281802f918017b938311dcdc3a5f66c60a2120b6ee3c623304ea24b8878fd672481ba460886d2a22d10a0615048411e07c3b8338681101282b431060f0626afac61070a6767777003aa6635e4c3f7b3f40dc337b3f4429a58c315ad7bd575aace1e66eb75fd94a6646e9ce205d99d15d89ee8df8d23d9186bb216bb77b7bee1350744ff7d89e67a1b5f84520b8829de4c26f22e0f29bd23cadad813322d264ad468c37b33a181ca121765cb9a92b894c5fe9702a7ea40e89159c0ce8e095938e8d3ad431a8ad1cb5d2e560a3ee740b517dbadea44745173de15081475ef2710636e7ec18638c31c61863fc6c2879c41eb208b88a3de04b2cc2878f22a2f4b831c40deb1ae2c68d218628a2870f5a2b84d910f146a4b91e3f23d25c7715e35570a6b91c70f03c4ab041f0ec9b65b4ba1b76a562c0ba0a54a00d9412c847eb20ec6521c95b0b3b560b40964345bb051e95fca102d6ede4c709d8aa1ee264095232151de88055b104d87b91b6c214788528327e0e9995912746d4dfb9277056492c50013babe1f20a73efe7091f0c0f0369a20db4199c03ce2cb07df50330aaaf864842080f20808051da9a19f079860d2086802ff1c60e64a08c1ad92d65c8e068596430f802143ac80b3c6042e5a1d226490293c02470460964027d6013f8d37f5786403e4f4008e5d1c0f7ec50eb63d99fbc1acbb40e9330094c12b3cb76b28ab923a98842051212674985e402ec892814c7bd9ee823caca93f56c436befbd21407132841f274390c2c910a060c2c910aaa8b5566b9d10c1c709118e3c2744788295f07342842d644e8890068cda2c10323a9b5ad8c417366ff080ab2c17b103aeb25fd406c43d5e4cf6aceb112e1e625413a246778dfb7ad82f896946b187628c314a24a17707f1d62db18ee0e28da5970587757a1bd669a435760f8758421d4bbcbdf36c5a087cc9be9d414ee1e0f3ca7ab4341dd6e99fb55d467160efca9a21f67c777108b86a22e4d5e81fcec1f6b3cb5d96a35ede1d3f328bab1667c71269ccae6597d9eb132ecbbe05c9cba36936214b28d474d04b1699717095659f4fb8dc3b59f616c202aeb267597c3f64972bb8cab25f35e0e0b158a3d5a860e01e44766f9a086605ecd1d4bf5a1baea4e566ed6c5f158765e9bdbccf495ffda43f70dd4ce029495bada596d68e4714b2a4e67a7b5357d81a65ad371b02aee0e1931bf2023123d25877b59a11655c85e290c049a0100471c127c30d3ff39c73d696198697032a42b150e68704b55acb82468046784d60132d302182d553fa897d62d67585b41c17ae976663e5d71f9cb1ac87adc3267006bb75d555bdf190db8e617d5dd7d5dd8d7dd97561ef461dbbb27bd3193442d3b88ef5ad4c834d30766306b6b05f399d2f89a54e10ab4aebd8e1939beb4a60abd6573f6ba2d565f8d358ffba5e25a63d67b76e864db0bc9db7aa76d339bb33acbe7cb5eb1bf15a6661a89b03ede765300c47bd75cbfa833e4dc33a76af9537c02638a32eaf6936b05bf7c6faf50c9ba551c5be0275539a8dfa1beca2ea6fc46b175b71b34caaa2a4c0587777b7bd6e439fd04dddb4580eb99b6d0b962b735dd7085e9646b3538b6af634bb6684a6911b5b3278cef90385ed0f94bcf2bbac679776398725fbbcbc0c34c28f1fa815747b9636e86feccd4d351d19a6bf619dbb5926b4516dd698d8955dd775655696c1160dcbb30c6c0181adf783ad3f196884a6d1b8097e9ab42eb175968ec5fab36179ed58b03f5c27d6c93c99412c9d0c31703bee0db8dac0c035ec2e1d8cbdcb92a38fdd461f0b822d5aad0eb6ba1c88ed8546e81832a3b04cd1a129062d0b66ce6b2984b716dec23da5bcb32b1d42a77fc80002d6c4e73e982447c1bdab3869350c573044c1cfe782dfb186d2e2c0264b6c8422b4c009867f2e1836a17f8d648808a24def4002d06b22b8c1077c7e6670021b2ce59026b0c4d9089cc9194f1238536720a654180115d1867218622a702e612222de11b4b313698cb06f0a356293c2f9f44451d2c4134ee0f9f9fa96c202c321701008cf4b6da50e1c14c2826fbc1ffa052f869e1ec7a36918f40f8276c0054cdb069852232f86f690db94f68e65fdc6ea2170c6baf9f8e22cee5db78e5df456d73b702504aea80f6c9dbe1fb647c015bd113cf4bd3384093893e91048eb2f062238a3b84839215c1b6902cfc7c65d05a48142decb3c1378b6115804cf36028fe0d946e6e9bb491bb1af628a29a490d24f3414396d3c2c6367c2a2398491686fec8004a0b7be8d81cbefc98d1d2548a39d05bb0ece3af83abd0a6647010183e9b3aeabe886802ff4320aaed24e22a565444a23592412e2998f64e3f4d24d5de92b1de9e2d4771cd149c7d9c0ca95c0a42321ba392b2b6f4cbaa663a30ea762d15f57f1e85db7ad55d1cd8d49d771482ca43f9c2d8ea457320981fa4ae9a653d245b770a6c3a9b874f3cac5a99874f3e8e2543c3a908847a34e12d155f0e8af331d4e387048acbc74eeefa6d1a8442a955027d21f26a16e71e944221d552a959e463ad15b67b1f5f4db45cf56891ddc37752b1d122f3dc7e2152480e074158c73ca61c1715cfac3a57b7381587cbac52b4f3395baac834b3f7559575ae970589850701581e054acbd98789cecc5c4bf1743fad34a972375768a58ae6b67c9ac10fa931775f35c8704dcc1d7431dcbb5752cf4124fac752c197691b8aeb63a167b85b0b85e297754d1d47609174316d7c7eb8dd3d7ec2eeb5c163deaaa6ed5b180ab68ddb230cbea90b02ccb82b362cd41992a9245d3c729512c8e6df3ad30cc7ab38033b021dcb62b5f0c36b59b3b80adbf15f688dd675d5929d41a966172ef41e1fdefad1e8c2f0a06372f70927beffdac948147c0e294731e410f3f6f53c97d0cccdfc87330c352427a2a7015a1362fbd4dc506c45d164c71c0c11d2a325a0c89441bc89081bdb494bf9792be0167e24552df1f820a118e340ea40e5eadd6b26ab5ae121376edc38416280947fac5ac53035ec22e76356056a353e3d37df3fb7b6f4226f85dc226f83dc226209c61e0fa3d05082421500684e92184f189807bcf8ed5ba2384091fdc00c0f4357beda7d5b844af81272012df9c84385d2579929c90501e9a04cebc1385e230fe7077c362ba42c087b5fad04b2b7fcf5aa17870d1c205e6b5d33a1a0405aa74b30b8c7ae866172c6e46e19715ea00e0e166ebe2de1e5c5a604c55065cea5223447ac09e6632f5d0a2a545c892162eaf97e6d353a7a7c33ca7de72531df5393d75fa4dea9e2e4c774a3d9f4e1df539fdf454d7c34f1df539927bf8f48133aaa9d538dde6ea5bc474d274732456cda079bbc90959524977a1e2a187d45f74f9c56174b9318c1e38a3ba2d9770c6f4965b4813f3969b5b1c5375b3a7453793a89e6792a904aee8553175a809717a3e02df0757a7bbc0e81e7ef1f0bdcb9d46e0ea087c3f95d0cf9ed9dc6d71e5952a976e1ae1a19b4792f44c2a1ca9c8832b1f7a95cb8fe052291898d4c606aedee5313c70e552841a813395c270495122446ca05c6eb51a2e5867a94bb8727906675c8cc0157daacbe0cae596142ef5940b8c3fb872c1f9089c537741d1229026e6a926e00b4a624a841a495d974b7b78609e422189b92eae0b2ad7dfeba2fb817379bdcb6f5c5ccac4e5f4d46706c673bd8dea02d0d1249000f45b0e3898fda49f74145a0a5d8547e372eb7bd97a8a4b3f01ea278a8834aa174586aae53ef882c2a81ed24f7a0c338c14214292b192698159c1e08c92c1440fc142a08b8c8b4ad5d23d1fa6a5bb0fbebc1f99dea922890be6abab7046c14c41e507b50f1b3902575275434e70167833378f467525f76cb18ddbb4db7321263c00026f467e028fa6e5ca17d1f249348ded34e731d8b28db2db2de8183289e8b60f5cc9ec32749d70f945f1e916508074f96e41d378581e65ef33a7ea18f15a77cf02756f3f71711f7c9981840c712fca7bc3fbb17a53606ca1a2b4d62a27a592863148e1052a54010b5028ad3cd82328b6b53467a976af63aca8d65a166b6dea444da8f3d0e5e7062cbf82257532d115165178aca02cb7ac11895212c5a411c9ba82a0b084281441c9921feca0698ce61cd1d435fa31f145ab9495beee758c131d5dd735325da3eb1a8d50a3d1a864913a16a92ebf3560f9930955ca99402ba0dc80ab4e89ba6e0257f274ec6616183bb7cdae022af4ec96cbb2cb85de3edbb497f521e2fac9b6490aa146fd243b772cebfa07aee41c853a543fd9e6bb4f26a6b9344be2e3a0004161ed989685843c20d16d28dc45d234e824ed822e419ba05180e37b48d32049491285bafb3a868924e28e6384ec25ec407a6e11340d1a23b52c52f73a068a02710ccf0ba2e727e539e13d410ad6e331d8502c92a87b1da3747d404ea591be04ae351b8d5159f6f956d95d74f5bd6431b28b3af8623211d749402342747b740c999d7088cb2aea2472c1655ba87b40c79091c6c595fd825d66187be9ea461d0acb0f0daf0c58bed4e5ab9ffc6081e35756bc06dac7f2ed6614de7a68792ff2b9e218b5471a94d615818a21aef4774b820257525ecbdec5a3db40fde487935911b15611a6d15b2874a5026fca19d4b0625996457d053b0a5bc944a6afa0b09b30d44a26e2502b26ce845a296d1ced46b52b89b2144b97532b529d8ce98475cf748bfa7673096f214da4691a764dd3340dd37e4dd334ed218d8a4eb1e73725b7087a093bc0e19d410d38be021a89c3348bd96c7435ede6e3c42a4dc32a7541340dd2f373c27bc29342a99248a415175d2d659a76179d169375f1adb4973af862b4189af63422b490a8e4625457442b2e4a31b41b75b4636cd73adb31b65fddd531b693baac636cb7baad636cb71dd73136d931366ceb4c0f75f94dc93f604e9da953ad685de34cc435865d6352d7d86a4c1b77af72a1ac93c9bad15f973d3f275c317a01472ccc889edf139e14707c105774175c26caae8873d12d0182c2a43f2e1e93f0ba2c381eab54c1dbcddbad8b64888c8d0bfa966701e0eb3fd867d5d642b76d7b1a11db90dbb878e8d6453284b371b185be8d445dd631b4639db9c881c4c595f025c3ba1c7916a8d239ae744c94951e06332c7b31f2792b22bec8d0b7931ecd8fea18f2db43db5f44a459b15d1eb56dc736d1ebb38b6eb96755067470e8f939794bb802203dbbb8b82e2ec71dbab89683fb5fac5205875cbca671852e100e875e047c3f90ac21b8884893ddb78abf3a52075f4cc775b6636838b14a954deb4aafdda3195cd17aed723de0ad056f6779f2dbf386b7674d23f4eda137c37d7ba8eb24bd8317234f7a342ebe5d6edfe6af63b3e32ec9056eca7e126950f1455e8e6427691aedd331e4e57b07ef070971ac5225bbc0f1a147d33d3ebe19d2e3eba3b9df1e7fbbfa5eb693baf856dbf677db472ef07611c4dbfda611b15d74e5c5182afa340dfb62c4f8cc858cf1df3ad931b4873422e2b55e13b50c71ee4ee2496d24c69205f60e6220b577d6d7b74be207a3bc6e96d707d3316c4e278e61e742d0d65ae58df64eb55abba2de58940ff65a0a7533c4da5337c31517a3a3aa5529e5d5f26a79b5bc1acb3f07de5429e57699a6218d50edded8d79a63111f9a06fd75ec598b45b60b6fd6ee8dcd1beaefd1c4fa2ecbc05c87fa5ad57a27d2589994f24d2f436b4dfd7a8e45f0b6693668bda6e9c8b615d28a9cd26cc8df5051a4a90baf146d9b9d146b8db5ebdaeba84ef453b7619d99224b288e62bc165944d28d5a6814a3652b95cfb4ac6fe4b5f773cec45b16a3652bd52eb3182d5b69767d08dd2c036b9725f4edd77dc478142ac65f5fb1f20689355167351bda6f4657bb482412ddec3e340d6dfb93524a29b5cecf89eef6c1aad1586bd7e375c96ddbb62dd24dfbd36c3c2c7326be9e7535d176d87d33c61e126f4739638cbd83822d84604f95ad1123479e3cd10493a6131af1a329fd310343d8468c20c10e6f8f981d1ec6180723224d1bb96ee41918bebcfa3103cfd67088b26ea021f8bd407a8baff38033571be91dcd23c639ed0c0cbb32f1a561503b46a801ceb730f2f4e06c832e7835819b8c8c1940bc1fb8f8392785104208218410c24fda3260bc322fc60a005b1d78eb567006eed03a2e43f9c0aec31c81e9eabae8ec33e0be17881936e0f20ac38be48a97050a88f7c3ec6348a16052fe0ca1023fb8326245073888c2f1dc13ec04450d7c54103201218419dc66068322914cb39e859e655a26ca9c35e5e188545ac1fa2b25d228db5a84659b96451544154415441570b0ba007b2a1aed2fa5dd1df1053e8b6261374884b3cd1663037834d865c0db71df5b65120967190cc359860342a249c0953012b22f0309db026e861d226f75d2aa01814793bd1d4da35f0c79f805bc1f18f066eae11df066e861094bc8e1d9fd1ad24dbea958384b0014843d0acef48dae06aeaa9452fe492aa57c41dc78ef71d6c2f7de0abe0185c27e5628d42af6e047061544cd8dec46cd8d9f1b28140a75a326889f9a206e44ce5a29df7b6f05df8042a198c0196b4d082184177537993e5e09f927a53c066388566d5aeb56143d84750f167a4d0c59a2eee67a5928645d14bac83a965d0fbd0666cfdcb1290fb1db48533a76311266617024ba9e5bb3de51348dfa283a460e6c5e2c82140e1dd453d09622f7949e52ea9e0e2a8546a5d14b1dea95679b4953a4347dbb8d34a76f37e7c8d2738edcb6adb966b2ad949abba80b75f68ea2a3e8283a8a11ac3e5a07699aa6f51498a6b5149aa6f5144dd3a4d432a961f2a2e77298705d48bb39bb39126357d74c2ced283a8aaa85396b4f99b5764f7d07d53a6bec29a18de36ece91a1ede666a265f4e6e4481c6933b98952c277141d4547d151740c38b9701ce375bd5f9662579412a5bcde932f2bf1a6949dc4115530938846e06abef7de3ced2c79b87abdd23eb3cfd0e7eda3d93e2fc785425b56898045aec43508ecebcd3ab6cb4ec0e51928d48c5008b81bf9594f277eaf7746145ec10371a3073c0a36ea50abf7758c1c89f473482cfb35d10e5776b777f6d1a8478f44b28fe8d6dde4f97a2570363ba359469f0371bd38116789459246153c8ba18f46d9281b65a36cf49a38ca460f7537da881b8d42a387b21017baf6d16be0cf3d93def2a6f7b99b47cfde47719928e7966e0e7c26dded7d51c7d9cc8a2ae818d99530cb8161ebe679cb025fe99457046b173008e77320847783a774a3b5eb31a91364a39b07621337f20f37a534d2c7780467f8883b6e7f7ff339c26ddbba52addbb7cfd0b7dbb8a13777466fe92d774a3fb227755ca4219dbe74edddae933a8ec69bb59b332f14b741fb02ac56583998e5c6b63f83e00cfc7c2432e3fcc33811cf67d5ac0457afde469ad1575e5f6fce0eb1db3f527c8937a34a5c7ca9b7144f7a39b38352b49bddebf310a3d75eb00fad0ca5e0c34715348d7ae7a7bc59051d032a317542901e9159c8b2faf2e0e0a0c11b64c9121ea2638ff1f63ce2add56e10ed90e344d7fab565b7ce23bb059fbd2f8febdc0d62fdba47c4171964c9121605608fe781f583604464a47583bcf8020f6f9078836c873748e82fbe709f2f20021b5c9003223b3b41239bf7a8c840b983657c4dcc9e4d8d1d42e0832ce191dd7a06cf23de204b78588f3748f70005b941faba5d03c597eccf263e770fb4fe6ce2bc35efe1af3f9b297b4a4bd154e04c35fdf4140d85c02158c22358d2d9fde2b337203ebb1ec0ee92eb7aa001f0d6f580bd5c7c69d873e9487839f1e47bef9d5a5d7dd6be7e01f71e0b9e7d84eb39390bd597ac5ce87af455523a25a553c628f47cc1487f210afd7ed8f043c9cb43dede2046c4972924f2d45fb737c892aaa3a8640c37d5512c95a219090000029314000028140c878342a158382657a51c7e14800c97a8506c541aa6410ec328a40c32c61843060000000020d82409d0f1bbecbeefbf547da7fa4c80c17768527a1073756fe7ece3b8ecab5a77afa3b783f3c6dad6bee696bcb3358a3799cc2977a76e1ceff0761de5ac6ca7fdc30ca8c30a0fd7e279c04d6e634fca26a550b530af7a33968b9ed52f87626a7cca2ffb72448de923331b6b5f2270e64d9c1f237a8b4077b6c602bfbc57b7830e24adebe163e2acab4d85b5cd16aa6175f9847effbf9f52bd9e1bb4e97579ac42d2845293e6a9aeb9e95d3f34b646d89b70f7e9d1b783364e6f1d692cd46984c85a840013ecf7660dc62347bf7149b88e83f8e137504f821f260d9708daaa3d68cabeb6eab2a360dc27806af6986f4ca24fecef5746f1a36cfe797ae99081a8905a50eaba6fdc4fd7f934340e6e0c67e40a042d84f82a1e491103e98a3110f0ee9cb349ced56fb938fdf9e22b0d845ba026226fa7e6daa84d79aa16e2008fa3ea6d28837ce52c93ed106752c49627269c43fdc2fb513022e2255cda63d9b84d62da9faf9119d47e4ec6b462a11aa70b39470961879ddf73f81176342df7d1347c280c9eddcda2c3d79ac714112fe01a108fcc141b3365dae9c7caf2323f8af5698c073778ee624c9e13424180a4a8e090c08bd21b30acff7c7ac168aa6ccd4a1347e97362031e8c53c545cdd6a0bf7e20645c5c13241e8733e817b8a1fc646eed47ae32f24ac6da6e2ac7cd6b46af030160992d7cf72a05d6736173609b8b849169621a4602e2b2c0c31c1ab65ec8ac63df2c7564378252b5bec5ee5e8594e914a11b40ead9dfe8b70fc3725fbe6f176468d5756aff2a5529ec316766673d4919455180cb848ef21cbce1a3770f02c088deac1bfc9fbb5ec9887e3add9406244032556cc1b5861fa599541e6dc1c8d563e208430b7686e56665f84fa794e1275f61e8638ced2d930c3e43ccf4c2fc367a99b78ab27d26d7640942d65ccf66f2b4dedc31685f67f52c567755a4cda7485d04d0ec0bc77d73f019f7b11cf650dc48cc827607e0b65907fbbdd279c01e533323b6d3530c9882a503f296ea830e4a7b35df3a4441e08de6df7c043ba101c8e8d5edc63f967044109862560d12d79628b70d364a82772716cc683862f9b8bfc39b9b5a0233c0ccc66c31212386d22053fb282d488022d82c3e8cee40c1efd9f151d590eb44dfa1e3c0744f3343b0bc6f2e73d0a5256a14c78a1551b8f20cf6a040048dd3b0fea7c1b3ad341ec930b47f33643a71af24607331960d07915e08cc5f67dc8bbff4b6022ff8a317facc1462dd3b202869b0cc0190776500aeae9b267640d92efab072d2214e0980590a20c1876cb4095d34ff86e1bb9ecc05daea290045af679a1b50f126f3e326cf501061bc3882bfe649a390ca45ef8f21dd0b6fcfbada0974f11920bcc1ebc8c64942b98fed4cea1c362bef85955ca07efdfe684d883b1243bd9d39d18bef318b75c25d5cfec9641c9c16cf27905f0e2fe7c3e34c0494784738314c56237eecbba47570e1b4838c63412d027dd0b300b25a32806c3f2109a98d00893b2f1c0889bc7d294a57d8e282c359b231d7cec95620018e0be7eab01576b70dfaab9a2038c8d0b68ef873496201009b4a991a50735e19584df9bda01e023e3e5adda149fe0e33b21a023b404e6ac244e637b1c3f16d53ce5b4b68778c9ec981f66fd9e13e69fd2ff84fb960706e07e1b16ac7d47f654348746a40164d650091e1b1f6b92e220e1d5c8b59d9c9add51e2872e78005a4b10013a15a533ded729eccaed8fa9c24ffac3540b004504adef0ca9007fed352f30a1efa0f562b72b8fe4f187302dc6cfa2649a963426ab94f4350786407da38fd9adb036984183f65f80d1ba1a115eafd46c0ccab81f13e1c68ae6c3d87f58d791639a727e384220f85b588ed29566fab565de0110d489bcb0c69963b52eada5361a719951e14ede912f49e40df39b8d4d241b227253d4554650e501548241d2e0c822ff6d399e9241b7d8b6c5a6a6e5e6e0299592e23409fc96d7ecb2fc0d750fa03fd0eea0149ca0c3f7d489f1a7e24c6f2cc65730faa06d4942ef15ca41b39c912131c43e08d11553d1acd5eb436abc3693dd2458f2f4464ad1e56b864050b704b2edd720e07fe0893a518e6144a89b27ea9633d812c2b01d23af4b44d11b352da26b1cdeb48ffa9dd32efd0c3aa982431156f989714c10068e2922f860f351d643b003a7297b4e0522ce290e9f9d8879b3838cb64ee28a7b3231b116273859a3d2e11fb67e9dc63e93c95e79205158013d3801a6e286a6f857fda3d978aefc5dc1c4cb4718c2681407dc7b33eecb2750a68f6f6f46df9acc63c68fa181c45bb539601f41286494fd211a0981ea4895b9555c555361cd6b328d0785877a76f42fa718b3d1cb61c28a424282e81df077c39a14965912908b294bba8303e4bb5338e2f1a7d607090f995b7e09404406d778334d31317df84b930c76e6ab25df0175e5d78dd949d4f10dd8ce8678cc045dfbcf36f438226e0d0e90fe360c466111bb21121340f1788253ffe696c7a36ff6461879675f0bacbab47c63b26a767fa8b7216316775062cbdebf7ecd5c48280c83bfb92200867d8209a3e05ebb8c108c4a7bf4b8a37b3e6643a6f729794ebae81782aee6d818d91e8f7f4342a7e90ccc917814b70d2895c09e962c8d653331342f62bb815912ced157ffb04813cdc2f9d9d8985b226b0a65fdfaf2df67d8098a1eba7302153df84b8d64b6f64ac746c9d9a0ddbb946b69d3d78b17920cb925b7d228a431596b2eea61c5cd261499349a8f48a34a487a4e469959d5cf24cdfc85371460f2a5b7e971ac016089a6a184027770c3a6c046cc7527c380bc5d0f00280e4c564845b32eea3a501c82fb545ea384d4d31ee563f7d504d6af89cc5db661860705439e8b26776c02e049312a0e0031f06654d510548c4823c84df28196d1d04456a19b9203a647c44601551481b0e5b0c5febd7bed3b230adfbe20421499889af1fdefa7b657c2ec529884fd3faddd970bcba59bd25820ce0d922a652f562bd6edbae750e8bb2e025d7b4607758bbfda5ecbc9a4f41b63782cc6067600c41899fc286d2e0ec79a0696681cdaa889831cdf662110685d05fb5fc6cb1b20042ce1fa2713e3f0d7b52271c06062820ab46141d52742875792466b0c9791ac6541ea402f24b1fbfde704cc80c384b957e3fb07ee5a646b45679490f0603ea8ef8a7d62a52e7eec708ce66a3ee2869ebe059a47f5d404eb7edf2cb3d7987bb829bd6fb3fae0274ab98e762f39298834def21a7c960c2532021a0c7097d11308706c07ee15ff4fe68f907d5240f1834c4bf0428b800fd2c1a64f6f636d45294cdbb7018ef06b5d9faccb731ec9a9304342ddf138a67d1a4a79b3e37ee98651aea589a482fcbfe7f8ebaff80c4e45c76117da0cc87f5a0010b9e385f06b87019914a3bef73d6e7a5a70d41f0dda4047e900bc24b18d11af9b9edebe81ae3264a52bca2cb625c1d059930d0ac3d76866527c8285c7899b2752897e174e9d23e2f3e9eeb352895c66ed51923222e55621ee54f72a38a7d474603c6b65029cc6458a39c5bb8d13fc75252f077df919e9552094e8682b49172f23d119c56baab35ce569a30111cecc8cb450a54f34957657697156da927f8b4b00f1ffd7d4754cf510d138ac7952ed289a2ef45e85ce18f76c5eabcbc7661d1e57f550b083093810189a1cc148552b20b51c1385da4be237d8c775c3729252dae32f0728280755cf21ff33500076152a5203d43993e4bd57080ddcebcc52a9861c07b362d35c79f4703d826ac7182cb148773b196bc8cda3369194dc944b211d577ca67aebfec55f1fb167c59082ff49b135bf3cf55962b606932199d58477d58e2fe950326b5bd0cf159ca3d1d5aae25f42f4b357831f217d2cdcc5bb490d3232a00086133bb92439edab5a31b37520a894466354dbf7694764214c26cabe832cf56aaf0b46a72cd652dc6010f0a1cf69a0bc2d066e3da45969ac3e67245e6f4ece259e9f1086c19832cebcabe14ceee37406c5b43886ed1c602e430992a2de50540a93dc44561bad4ab064b5c60d4da28c705b684a973a031c3dc453bdafbd71ca0f67ee0a5fe009036bc463bc2fb63c05319262092fe1a79eb22f8fc9a2a7129985dc9b90a6df9457a5966827c599b863dea842144a8320e1291296bafee7f50274c09a371eb1a666592cbf1d721f2186e8fc72f65b741c924f393d1890c6faac85c9319861a0cabbb958244a78575c2b87f3b123c557b688a01c27f246c5143e94a012a2ca716abb239e9d77971e6603b781ba567cfa8540f5c7663b196dff1839db0c7ec8405bb72d1ee4446da0fea9abf4dc2be65cbb2d2445c2e87c7a7f3f48f1e2d614cfca2bef6d19066ddcdd52a3c499d1068503038c9d399edbb3b0c8147ad5b51fcc10cf1bde28226b60233f69c78c21aa8cd071cd51485fdc1c6460b204f18337c86d017602eb33bf64fe72ce59632dd6a525fa3f8da2fc0cf3166d832cd5322e7090b1da27e450790a6fa62a43522afafc24d08a5152a95a95ad0866b68871cabd9a22dbfbd5131f901d811da3b8be213a64b3c6510b0c4dcac8df6a6fcac9acb5a2899f6b323cce93efd11c5cd686ba84e80db7cc2482a4261adcec01a74b94754c3cdbfce3bf7d39720b48b8a1ecd1c21fa06f19bfba01eeabe08d3986cd4f573c06d3e3d235dc1ad6de33fe52d9fe4dccbff0b9f9448fdd8c370a43f311b8b809b34ba214c971c554755400418632905f1729bf3883ffa54a0d4acf22a90ad83cacd2814d03c96ab791d8c06ea2690d2df5e584659b94b788d0759ca8f6383f187f88565cb06439620b74445878faad3d802fab1197903460f13c88cb1728aee1da0fd97131ff7efcbc59fc1d669c00ecd9047fe3b136e3d0e60e08a65f39659b3a72fae274e93e4ae26eef1645146211aee1144fda6f2450a1e417e9c7c473f40a50088944dcaf24327bc94158080079e184889ef8877979bf340b7f8c1f0312377135243c8240463b446af746316210d07926a64c6d971389edf7b5320b4d84604f83f61c1b399fefc2808122a20901b877dbc2c7930ad74e1db4103a101a13fa18b15b021b63f3929470263322130b1610b4cc56886775297e5ea3cba66552438b61061248bb2f946c8ec967bc4901d2da6d3ae38c17c4dc7e66b0e1a89f2921081a363aafef804a8fc37960c54fe0c5eace0972c391efd50ea670eccd50f40640ca7c3d985c8804410bcb761822b081df1cc80ddb610a984ca610a5a932012d622df108cee08349708405c2cf018c22c760a1ec9b7ea018cce63761bb16d270a5885ed84e2e28339adc5359e123f1f25b098fd49b70b610bf837da84c5bf6a6ab4d604bd8c1a09afafa483b199386aacd380d41c06407747ae139ecfd7a4e83c1a74b4004cabf6b05019609b45b5ba87a500611ccec1c578eb896e8f0f0b7015e103208a6e378af77351e36126093667a29cf416fa2d490613908a6268cc4706e8acf067702bc04345c312cc706d6d3709e3944d42507cc2a0913f5c7bb4631fa6710b37676dd3e6e8c02aed92f1090ae25f6e1e5e87a622c5b6c9c55727a4623f713ae017dd670bd32f54b023d1719bee94da97fecf0de03b6584f96069ce964638b8974401842dad89b0c72c7aaef9f33fef98396606c347c3986409839b5a92367feaf0b0161f180facfdb8c7eab2dd3a8938fa3125002275abbd30dd52115be0e2ff1b40ef15d97239fe59e1834254a0ac2ec6f4226b7fe0dba979cee5af071ffcbe09d5d8213ee0727b72795719c4786b31e7c407e2c06e9faa5bc54f6d417cbcdb9b1341b0adbc1a5c69173264bfa9be07db495452711a521a17d22f2395613c4a0e1f99f0699e43460d37f5aa98e194b6ccabd48a3623d14e34804adc2601cd58ac19e73822ce576aaa28dfe0712be1b544d60658477927f32bd95198867dfb2af68bec2a3f9e9ff02ca4800f58dc476d40b49b9ee908e4ca8a88c8f6ea11f5890c2c0285183ba7c7395b763531fd6ead9e68c36621c68de32a10678d1c1ea6bdb1a39819bd6569b1a780906941a983ddb989280096436366fe140a5c9aab2b8c4bd0bf95c73b1a8030e671f778be1cea914867540627ae54cf6e5eb07f6e07c282a33ee6c548e4c2506658d9b564818e1e860d64b23e7e29f1e6c77218cffe08201064f0693250efb9f88e45a39d2c702cb34ece2d1681de133fae82474569d6fc3da542a266d3f30d046265ed3d35fa4902b73380d09effb172c9dd19fc92dd1a86c729ad0a3697b4485a97443939bd153843c3c4fbf70a89981549e3a2ff7c415786f1aef611bbca579946ff244725c2cfbe40dbeb08a041c4e81a80bbe70bbedde3555d56868baef9ccf4ee85aa0b2ed4d4843cc1ad81cc6893c2a6c0ad9d11377094822b470b6343290c63f4e03fbc9b599b19616e8b13c9dbd2e5d2585a62e29db07239e5ea54e0b6c4c42f6494394193d77fe3e9c5bbe4138d86738b10c68ba6793bdc200f08b7d6000706373b3aafd2e54f76454b265c5dcf438ddf7e14ac631c3a3b137a86291a0bab2bac202dba3a8a5881edd07570516f1d35d195310efc4d1c5ea9307732fda6f2376832eb4a2c67470983e58620ffc78836f34eb84905f25c20ac44f1065caa57637e281422bae6af4a9d60ec40fe56af1d1feb40055799526299a7b49efb18b58ef4d098f643e4959fcfb7359e89e74897c5f6ce4007de782015b5253b52a32331080c7d98f98d7c6465e2deb6137465607ef1805d1522eab6b4d2ef53c1504881629293fa38f17dedb66d5dbf58204bc832d5e7d953dae4352060d5d02fd820318d1cc4869d3eb75f3cfbbbecfd3186e0a6581fcbe0f57d7d706c48d493c96ec4143468cb98ceb4c0c55b7697dd2710dabab7c8aa683703ca074c0c30dbab20559331b0e1248ea44d9bb95dc7aec8442086cc47430641dc64f7ba01d0d0c38158655badab7a26d21ea0a1f35a4ac0f1401cf241c3030dda3c3753b6a3db9d076c98d350cdd2bf42e9153d031a3d680fd029b9c257898dd702fbce24b4c70683f78c7729f134340de286207580cfc6d7f0068af9bfd9dbf1b0053e3ae6bac606d4b304c8db078cdd2fcba557d0d298b90bc5a50bff559a14f173f9437bb62a8bc932f1a0b1a50ae7e413617a995b331e467e88087908e963b0612cf5eb573da02a88c39d609174020513a1e5a2a6a1d07ec13b6b4d501f634b88a98813312a244f70a4319bc873d08d9a5e18076725a3896898decb0cc0ba05a2fc60b908eaf569b86c8bd326a9a8ecb432acf1d928b940c669eeb4f892b874aea1494602d735da69f4bdec5c246a68a3151db544d4881ac32ea407dcf562c28b03a6570d2eb8e08aa32ece26a224377a8ba2611e232a0a2f5a443e97a036523e62d775e73c8aacfd07e1a6f4bcdc59534f0ee438ac91c441e2e01f6765256a8000d8bddad81087bd8bb657cd9693acb47128364391ff010292c9d221ff4a6bbb18f9972844e0a2145d2bb01711e2a0b288d710dc6c65e70468f5775c304506748c6e5c21d36effd7f9f029fc04c33a2d856682498e2ea7b1cde9f2e6fea4ee904e2935952e324c0a7bc1a8b54ca9773686f37c05fe054292f728613d1be2544345b728e7418d0305ccbf72109f29f0072a5c026f2c0b28785ccdf5f9b81688af583a339d1a888a8a2ad6fc40f49e687763d6e251b0e8dcf3601274ecd4ca2b36258772958268eb409234dac1c7596c1edf58900ea9122d090109a524baf6033ba2f155f89db965426c2b7bed730fb945263b3534ec7cd927c144b06d862cf31656db344403ec1bcbb407d19be1d36729d188613df0208a10dcd2cbc138253a1865c528737f32024b4c3a2470c032cb9931223f68da29da220723fbd4a7a464fef36dde8c80433a502e072b5f1dbd5d8e18167730a06d3bac686f36cb8c193c4673278e2e56b8f353ba692fefabfd144ff1a64d6b61fd7313f7d80638a7cb4d4480974d40b0b8362db5656a6be5e3510fcbe2a6c32105a1211adf5fb1b02e7b821c2cf3a8f9bf5fe907a43cb1c97a16941cb6192200f09db11b0aeabcbd9978b9db28c2f51c6d4e994da4525ccc987c360b740db1ed75b407b7f61dfd0ea4bf45793cf1858706271edcaf3939ef7079a392d38bbe5d94f9ed29f5cc981b362e06fe9deb6278aac5c6559f39986a1dd6ed8e94daba712904e1f226ca56eb92e1122c28aab12ab54f205dc358c5d883a56712b32e5ab88705cd005d0816c83cf0cf28b47de7e9c7d10360eb0361805985c21e745119c2c77ef53f223d1f8df2df40719586e6b3e54112bbda58260f71086eaebfc9280283fbb8a3c556c4e2b2e81eb97d91360be7adb98a02ade75a4a8af2acaac7b13acb5a8ec3f824f139ddce07aa7dda1431db27a6db446c0ba05f3fe3ada39ecdf38b9adb68e869aec1be51c9a48a6c9b8aad8a3a586b6a1eb7e710ba389c453d8460686ea07d9807a2600d16b00287e9960c0f12da6b5ddd6b09c9f16048e6c7d1c8d538dcdb5800bfaa13d958ce380eabb5fb1d20c708aa54180e8eb81a11c404b0004ba9b638dce32ba8a0881be86626091894a655b3cb50f03264d91be4f89f741e8809cf69f515fe92d7d39773345c839429141f7b1746ff877cb73934222a78bc00a0640f98991111956d9649b516b0aa46f6e953840fbb9d30e523c4ffd6fec1d425ae832e88f1d7627b0fa35888744cc923ebbe7da14d04dbadcc0c455470b5d7021f65005235234a5bf938458967978ddd51011b67e7e3ed2d25f83cf96ef85a55a5a412f8ea9c365d9a31e5ae6c3473359f117d6518a071e4fa28ae509e51d0fa7af74d7b94ffbd8f208ab1d07f236e4affa13d64670b18ca72508d6a9ebd643551ba790401fff3c3a05558af13ef7cca22e7a1a2ba4106e48810fad78b0a2c0c90b898235bb05bf2225ff2fe3657feb5463c4e70cba710e3b4f389b01f645e25e63c54263088bda20df2c5c5c23b98856cb4c85b2f52ab04d2cb11bca240e6ea295f16af914f4bc9e34889a2228aa8d3d0851c2eaaa70e4dc62408de72d5ecb8c6148e1f0e4bf05156890068739d520157f31212c59fdb7e702d99b58fcc21951b74db84dc933316f959a1e3fd7655f08bd18b5e8d6a07fcb658bbb3b80aefa8506d7cf68aff2f7b48752d9bb01a585428246940739026aa950a6ce338803267ab17cd6234a63818a3012ff2ad9c59ce1d6af086ea31822af470740c97b2a0d5dd97fe7a4125d61219f785aad13afae1e522ea06da917983163fe93f5e2c045e2f94f8038c49f93948f7cd801693c1abc68166d2c5bdbe17598b0bec7c632a2414fea8e246537d33dd8056efe8b96453410ef19df6343a440f4fbff23a95a42fbb04a59bb5350aed50b9900834436b003021714f507226345891de9f183d5f31a7d7d877c60c179cbec1e4fa9d0c3cc73bef00d346668e0f3d762c83d3b9f76c0355a922d1bac78012a24bcf5e2b0d38c9f7a22bb765a51b1130fa3998105f6f3c4fcd0403cdf6d0f51ea7ca6539f8336fd49625486d96892fa1c8daacc4ee64a231140a7f0ab194450339ada16c9f528a183c304d028544316c02f9a3501d1f5883baa6acbe8eb6decaabb2f9a642cff373fdd4968e9f5cc12e5b668375414d66c9141e60aa199695ac2a458dcb0d20bef1a020a3af72851ce9fde01765e15f59eaef5716985b7097006ec91ead3fd2099b7743f94e4ff210293331d8d098f2e393bea42d191e731d95c38d5ae2e9975c81ad032c7f80884fb48da58205785e37952cfe2fa2c0f9adef544213843f0462d48547cdc8cfd026ab5e4eb0a7539c30aa00954e5cbfb1ce724074d0fb20ea6d5efa303a7e0c10874337e372ad9e7e7b0617eb2f218c3adffb855ae75195182abe4d519f785dd1dfaadd6a146605e9450e09cc9f876b2fb65469a06a5d8a3c72103c9b4555f6de2ab0ca8e6549582350dd4379e941775bedf54c2f4b9f40aacf0411364ba8e3eb01ea69d84010accf30a04f59ea1573633bd82d20a798f3b5bafb01067bddd1f00da3b9d6e6c0f35a2741201a3ff2de0cbc68f5396ffeaf7d11bcf09610184d8f5573c10023e611d61d98c060bd24cdc99c21eb21f65145b3ce0d16c5acb748f17c32df1901ee7fa5a24d0758f6b05e151f38dedac414ae9684d9e9af33290fd0dbf70e7c3a3aeda4364fea66442fb911d0c7dc0ce9637423c27b7ae6f5268a45190409638c9a7cae34d981b03ad5f60520ac83ea30b327e60cbdeba01804a0304a9825347a1a5adfccd53293e9a505a89b11bde46600f445c4bb1d1c2ad53d0347e1f1a907512dc8d890f83815c303bd092d58e0e9554f6e816d69706d1c6095bbc0e845b0ed213418a5d356a3fa4eaae14f3cf1a3a2b7a43381ae825dc86ae52dbb6dd4be1553d82274b96d4de5a37a21d2b42a0eb6b92b6e6c10bde10690fe763368fa3678fcd59117b32c32d781ef2166e32704faec9c52368adf6abd86e2f569b1642411b1d5001c7afaff606eba4845afb085c988362003ce2374fd6b2c155280f488ebd2b7e23ab752fe1859dd5c2a7c3151898ce7913845203e4ea3ff119869d43fbfb7f9f66b467dbcf292e39000c30f9953b5def58209013d915796b57d69850e15af5fefc94f1ebed8e7de77a9430f206a40f50a42c83a7f39440b7b5eb14295e3488619c7ccf20e41eb894b8eb950e0ce6a99a4dd15aab6cebaf5e677e4fcbf799d9b2137ce3b51d1bb778097c5c4d198ca7c8803924ded082967bff9fa30819569cfa3afa5d5574dbe909e037be7a084a48ce7eb8ca0eb95567a48068fc70e9fb81f81be872287c52d1c35a6de1ee5c8c88114c3ac3af2eac6526da06674ae7d93082512b8abd40f97a5090e8882eca5ec4df539480bca364e56712ed64068e086c46d82fbd71f5db63e9f15e1e56b5719b1c98e85ba2543692e51e982bd72ad07d5b567118974632113e67f269b9abe218e378d52ed903c3fddd50c44e3934a515fb393f06901eea37c19dd6b6796ec4ab827a7042e0a2ada17ac320aa05d896e2d562b2642f46cb39f4aa853b84d3336e042e89072ad6f9c3d55180e65844d0855394327431a27b42f1f1a6471d09344062eae8e8e4bac655c42438a4b03d1c4a10ed92edd1d498271688d434b69fa932a186d204c6b4d62bd119f814c77b6203318bac560f1e2710868e7a19088f2a73431cb0263a02543ede0619ee5269364c9855072339a717c2e5974659d1b4fd99dd61997cacfb30308dfa3a97471d3c92997429737d5655c63cd9d01ce89ad162fcd262e8c37f6f79321854af96baef79e2723a94509b28f9d5c3461c02f59ecb9ba532b27186021bc326781d04a024aadf4367b68edf097d84e36631431be19ce6e3f69545d8cbe163f26d352e8d3d0b2aef44136cb48955e1755dac162315c95d21e13adb26c45e34638a452ea2b0c1098beb793e3c97c3a171f3bc4467ab7d0f0f465b86a75b785cef867a144b62da6610cfd3b7ce2d75e8eb44795d439c3b96d905d9babcb3e51d1cfa52b1108337ae6bd081713c8a847fea4044fafc37f235cd5e9b8cb24e0e9e591f87e3c30c9d76121cc4ec9d740f9c4afa0f8b304aafd2422d14824cda21a35ae765bafc631483dd42a7d3de397d6b1d22266afef22188fdbbe245b34f1e1b86cf0e1ab5acd44e20e14c2f8b60126257942c0f22ec95a89cc1a01141c50fb147beca58f0587e082ffefaf5132fe515fdb730d415d63e1d886d98ad990b9e3c32850d66bb8b47e447a8431bd45dacf2986f3f966f97153f4a8b17040e10eefd1345f9fdeb5b18663f3a02942bfd6488b20d70fe1ef4d179375838db749f65868c4d4a02cb4a6b301945ab6089c78f6529edd5a76ec190e6d19c62397b243aef57195fdcf74a83629e115db05013ef313083150c7365bd748d83815f488845679d5c6bcdffe5ec44b81135cc2265d5acf7151c2cbb0800c722a75fb32bc708275981dbba0060a9b7da5d9bbe4c181e36e42b782885b44526a9d50384b40f86cbd607ca713f309c5ea7643798f0e00e0bbb94b6bdaeecf3b214699e681cad78ed167de00f42ae2ce8604e974e0269699c05d0fb4e1c58e4daf0a84810d6e23ade0f13669f9369c33f13f944cd104497bce539c097137e3e836ccc1c6e999c0ff624d9f68a5844445b922df12b4dc6a85eb1c6cafd7f3d54f13f4ac980121fae056b510f2231d0c583ae3e66575c7fccd85ff1338a31bd6fb0cb5e86cd3f6795a28930299f8e88dc8d28852b9f598e0af7d9d2a1ea99526b22cc927a3450a546e4d1e600cf21ac6743a46288bec00b93e782a4fc5b75906c2710a9447d908ea38fb302a0c3ed7930c7a02c0b84677193dfb34050aa650d57246d83c0597d9f2a72fc43cc9690e332994cb67c2892f441ead41134d0a90b408bea300de58d1a8e1233869b1d499e5dc6b15036cfcdf8190df257bb55d5323aae540c49060c2d199202ce192070df182e3835fb4d72af5f8043114ba1e088f89f544365de63ed9043c1cf3fe1510a51dfb57cc6b0681bcb0ee59d441360df1f81bf3617417e40c1a52d09583e3f441554ecf80a3e63fcae0665dbe605a5adfdc6e5296840068797186b87867fdcda76909337fa3e2d512180b5666bb4d1663a74eb0616913c21e6caf596c7a9dc4643df71f6fb5b214389c64e6b7d937c70f5f7a04e2f1e4e33bd090f63d33cd55cbeaacf7cf03334bca9f18c4b08abeef468cff4e5465e310b52d505025baf0b339d40396e71cb73a0cdbea4fc349f65f47afecffce919a1de3e12cf6123ff97bca545a5a7da43d84e64608d835f346614fc0da58e05e6e72140b1f080ff4582adcc0c473673359c9ef1dfb3de244f86876620378584f28810341fb7f4424676afec1a5d625f4c9cefe8a8353e8ee5301475904e6a90a6b3751aff6d9a61f61305603beb22bdb9d3dee10c95e59d9201de68ba436833aec639c45e5a48c081f18c83b87e851d6438de1335bc6598ad3e1cf3a7125caae59394cae722bc8ece79f778b7c9f6ad9d12fdbd87f450ef6649c259a6642775d20180438b03028c3c3e8421664117e4d1e117af9254a3e560ccc3ce4735d6892fd009ac9becd71037f1b729540ff692d69280426c229d259e33a162d4a2ba95e60f1986e0d82c0831ad6a269af40a8880985fec074187d190f42db2f557fe22e6372b7c8b5e1de14c457f67736ed1cbea2427afa9637222d529c10ea1a317a396782da461c1a812da87db2e64a9882d0b021fdbd0d5aa3772fc6e02e237cb0b5e260e4e999056cb89eaded50fd240cc024afd9de503ff0370e5c4920479684d4be5abc424d56811d77a7b2ddabeea47945687145ccea7b61069913f357628645979615442208ae749e629e56b34f1246aa506dea60c54bd261acc9b94e1f46a51e0a0c76e09b46216a4c37dd0c7482a07ab76b56a3603d835e499b320c7285261acf7c6c908a969fe3b2ea5e88eaff3317c10862a87fbe02b5f659a7d9a268e0310dfecf2da34dcedfc32453b62d087ab1ab6d8d47e39904c519dbef9513c360fe6145e5199310fb2a06d78bd11bc91f8321bc0e0dbd7b12abf3722c087ed57486a8080f0469982638310877d589f99e29c4dfc38188f4d5220d8f4149520e62c1084603891d0e44c87c513e840db30abbeed1174f1a4307a805b8eb2e4a3df161ab26e7fd19af9a4b4d4e8acd6a74508c04af866da08f4f6198ff5724140b3851f2b8c8ebceaec41168292e9a721e55e3e5100da384f4f1f1966c8b8353398028ec32791f542944f33cf278b629ed2b8d9c84766cbdf28b2915834826eb8901b390b46bb9cdcca5021a66f0bdd575017f60382292b0906be62cec997769d4840d30cdbf4fbe5402cbef51d608ee8574588d46d10c1bf69a68c964a6beeba8b6629876ea9b21569ef6860c7829e52960fef2cf1d73b7226ad55b22acbbcaccb5ae7105b83e0c42205c1714fd675cee8baeaf8d8cea8a9074d5577dd1a4e06b2a20eb83cd57096c0cbb02c3fa7a0cc9c1464b72bcd8f4bf1d01776750d1afeeec3426ad7a0301503f7251a20224637704957c32746ba937d8c04a3e7cd8aaeadddff019d8d5113d75196d0a8d8da68120513d9769171638d1012a12747e8ee3d498d733b8bdb13f0647d03db6c34e358a5273c0e45337c7ca0647b010b841ad6a4c3026a3d074a0915c2b64918b9b08d3e5af14087d0cda6a8ec0cdb2f40f62ab5a36a33feaa0e8f787dae4e0d997d790a393bdaca5e07ba282df0bcf898b7ae6b4e458d69abfdfda5c58d622f29c27beba19218a0420fbce2353fc14da45a0828230ab94032ea06d97d41a9b687d9ddb02defd5eae40cb52aeaf565937166ef4fc6c5cd5798a4a7ba8f2ca5b1bb0d400c7dd1feeeaef7adfa7a222e06fa1eb9dafb68358c5057ffdd413b97148881d91ffdacff7f727ab6a2f0287b6f915da4c74657a05654db82c685f9d32399b99488a6d9e4d5db1b5d39c6140698e55e3d6b1c3a685ff7219c7b9f9c7bc193bd15156db1c6ee2f1c3286ca60fb28384bc62429b51f8367b9086b333cdfe9cea51d71e519d5253a4fbf28a8bf5a95cf2c1f2a2e335e88760e37e9bd5f85014953a351d2a000309c5e26bd4e7f570581be66c6963e35bb5fc3d59a0431fa1ee93e850215c604618be082a7896f8609dbe83e9faa06879eefdd7289eed9fbe39025bfc60f451f2578a7638d099ea5426e43fe0ef9d53fca730ae19a21f607a8a7ac19dee9421078b9888cc2b745ba8d924f4637438f1e1f0b30f2b22a4b8d037cdd4bd8911c15ea00e257b39f59dad9c44a1963431de5285fef5c45f9e49888adf8b3522b0481ba88948eb294c611901ae94ebc0559535653b22453e3f4e8251ae8c308f507562832a127fb3e1fc5309b7e7a9a037b8de51d4f950a9487af9ff6fa3dacc9851c50d9479f4ba2b91e7e247ebf23f2893138559f03032ab514052e5a0d9b24ed06aa0b0076468361356ecfbc2893f0e2762af0b921430315e8e53a1d4d83c9dc40756175ef1415ebe470014115c7048f0c8feed936ccb8221e3357f1fdcb0ad5dfac38fc9874a18001d7109600df0601cbc6021e718f4c3a072057aee49b88ab7210dc884d3b9ec4c90cc01c606169dd64437253dda9ca74287c496dadf0c171eaabd13723b16373a49f9363a520ab6468829de3b61114bfd84f1f25fca084a92c251fd5e8cca117106f595b845ee8fef76ad0f863c1d0b3a8aeb73704d57add8c340a2c4fc39c3d678fe59f985c4112045cc1ee73fa5800d588fc71dc90702d9f0ceadf650ad7a313e1fa5c8ebc2f1ff1ac75e74ca2f083e0afaaea808bcf775c4374023f04b6bd535e0de1e6267e519f72859b1f43e2f251204dfed260dcb7e798c04a50cb33fbd81ec6516dc1b989b093362a738b8db2942919f095a0ea6728854e1c9f93dcf98415cec44ce3dd60f176ced488bef847d494f510f349589c8671aba9c7ff2ec390c7726907105af4b4a9f89fa637353b188d1817aaf64f08f7813f4708c943234fff93d063a2df250bad98cc7011ca22a52b3ae129306cf932ec28808e8dc831767b23ce791fe9f45644b44801d03c0c2ba152da0a490e927cbda3e803849d9d6aa40d027df3426a705c57bc2c104bfdb93d6c392651b285f1d6be95ce80aad674ae4406249cc22d9297b759b9dd51c43d01f66ae2876662a43308cc163a6cb81ccd41099876e7de83418c5510ad72b744ab2b56261cae9bb41de8c90198d2146d72afbc65a7de8e3444ac30eb19004563280670f65569d2eb3cc9fe9c447c382ab958828d89a46804455eeabc3aeb21367ac26458a0253650024ceb5cf1410089a7b1b2d7274d024350e3d966b476763828a7fa82d2b1c5960b5a7d22b5e7bf3d28ad3be4265c0918479fb032efda0517b11d09b348fda6dcbbc965113876ef066e8dccf454c78e64c030c095756cedf6d8c38f89893226ecc05ae6e936f0b92dcfa04518e1822dbfcfb03da45e42a084ae78ca459874015cd0b942d1617b552709379ee3cc6fe8bae31b4c0ceaba8601204ef36ae95cea6f88892578d495e754111ad263886fd85e4098f8ffab847acd5d73eafd714ad7cdf246eee89a0c0c344d83a3528e49f58f37a3fb8245bfc8f873c797c1eeeb9fa3312ea47c2981e6acbe83f2b0dc5e5cda460ae13497b0618a82e80d21460cef2a69187c862f6f79d3611480409ac90064fc4ccd6063ba482d1813dd8ebef64e6b4728eff0bf8288896206b4a5e12787a5f501151160631428de8f430956e8c897e47fd560daf48a0bba650d053f3063657f4269bf0cc6aa9a20a5c41f910f2897fb6b47eba0ed71421dd63049994912928084c4c3f6c97ced7bac9f5e2b90046754b4f68b69a1f10541941c90f8f41680ab641c878aefec9832412bc05263b771475a65d444e3b5b63a8afd5749d2e12e2bf14202f789c29f2931e619b47d7326f5729f480969a18efc887edf14c18216de5daf2b35bb4fe5565db8031d05393648466373e8b7f85d230448dcbe4e7d4736b579a9ee1326a885418c07509f096555f38ab0d11ce581db8b78179dbc9153ceb9a2f7b263d186d2ee2cdb8c973b425b19e7688765d63a13dfe501f6d88e61c4f569bd59b99c4ee5dba6bba9c4a92c58dfd9cbafc2d881c8844b25943f2fddfab45400ffbd3f0116054cef0f92955921408eed51b39f4f029e1dc94b66788627818abe3cefc324e468015835b2db52f21894c92f3221fcc6d5ebdf2c5d23d26a8f51801d4d450d8a45080bafa06249c48714db040cf2822d0804152bd3b468e3ad0a350cca599def13a85f8906a3023a3d459777e51151062f9be7cfcf7972a52504e1244eb70c0c148f9d8dc0db80a2a9b7b1c9d74471980bfc7641489f2df1c8f0e58c73d47f83d6e280fe650733abaf3131085fdbfeaaec09eed91387c4d6dd2b59c15dd69c5b0277e8fcaada2eda28870143c8af7839628be6f22b17e826e613a84077d65c3484374a4016b50ef2b53e80b2fdcd26bbecd7309d4d36141d9634e429887fb09a823d231506296f052bae55429ed662ec4b74345512d0cc3401f77fe476022eab441346b95177201d454668e058df0a3c3698b81e84b5d24877da0305f43d274cbab23c3ee1cc6c8034dfcf28710a58b41826a2e8a6200fd63270623169418d4ee80fdea83ce914b318af55b4dea8028542ba642218b403068e99e25845888be3eb678a26780c2a1605c228c4fb42767eeb7b8545e2adf02eaf297df1d90db2bf9ef086a6242f91f6b58c6c69a6e42b2ecf67edd6b102cf8a59b78c2ff1750b96aee6aebd2f25c991d00d2d90688b22fc52880506295fa3e9317a8a58f31a1cd086392810fdfd4df9fae5f589e3c3c2f301783e3e33cce4619ce403dbf12d220e112fc53c8feaf950c138595d341a0c4406c74b8dc64bda293054e9aa03bec69b2700fe168408859e1c5eee0b3c34e0742607a2ffe87a88f6ed903521c25686a086c54e2dc150a2fda7452908298b92bee623b1f4a0f5f8c664958de94b202ae682054112893289b4cdd412867dcb0523dcaf286a197923a27ba108d25703526247f63895b2bd946e0665a26ce55559bd656f8eb1a43323b5fe43a4b5cda8daf7c60ea4cf6a2aa5f8cf0f27f44495acf048f17ebed2d68cb4f926f3098c355af6e20ecc74bf8eb8d2c6fe9c2f22c085f93a5c148510f531a7dcde89ea1928667ac25d0779916e0bfba3470489622c003ef4aa88f8c7bb209bb109ce3df361f7b462f04910b8aff9430f714eae5c970e37e801dd42507b8ffcf59de6b038123e751a034fbb9cdc00b8e35d27099a705ca84ca9f4e8facdec884d626a357a7c4301b73de2528a49e86ab9bdc0a1de7b1fa7ba2ee8c134a96f083c78a02489bc9c41425320e77af8e5b601044de6dc4e9b2d3808dd55361fcca743fca10867ce87514b5f34403dec602b958b6eb8fb7aac6da036f9f675b520d39ab1985ad8d86e6cfdbee5f89ceba9034693a3c4fecf780277ccac69d577d4552cf8826a1e2dd82a47934a3509e5693f025ff647e65704a28813b1e894b0bf8b75db52ebe8c292a80dbd0c14458b579049e18c34e8ff6cac045b9e27f556e3452588a23d96ca2597ba48d697d5d2e090469b3e4d7d782dee4543f20980e9ad7c32fb5edd31c05e3027aa1278c84fad9d1f102455144df92f32c1ff084b2f1e9be4d5ab6029cfe09a2dca29c9c91cf0b59806e4bd5acdb4a4d8c28c0f723fe14e1309255c87d1de901ad6a255d0f36bf25bca7109851c2cd6a65a0ba31612c66be5d1d5c6c7679938efb0097ebba1c38e80902a889d65d05479ea07ff30e5a5c58b6b0abd97c9a19e5a2a26cad3b29b18d53d29f2b19dec711327d93fe34e3f10447e6c73c6134021021fa0e2e4bcec82eb4bd8ec94177a346673ea22f8fd9e5735f9f5cc4253f922ef2dded0ac4fa40935c0eba51ded233819c7510cb7a0f758bb60aafe5e03b065dd3b41d5a743c2e5262920a262484a4dbaa8f27dcc13c0e6a04be1b34f4fa9399e588fcd7a5fe23a557c4f727ed2e0cbd468119c3510da1b3d4030eb4f7955e70fd5b74688680930b0564d5c3912fcb26349cad6787bff1a00d0dfba01336454092d928e0274114b4912453d06fc1d99d366399324248e07a1699aeefc800cf6ebbf28073668dbaab0e530521de1f9057460c891b7f52f92e13075afcb393c4d22f4809381c4965c7fe7e4e572f004cfbfaae0205af1b512fddb6aee980ac1fcde8ad7e2862eacb6f83c262c03f3cd01c02f2b911b73dd058eb2b523a2a8a59e50fe776bd50c6266fe442fc7e245f9ec4936c3766cf1e86cd0079a20552f8becffb8c722e6449a505f41574ec0dd8669f95e9041970fe620383f888887a8ff5d86bdf8874af53b315d421976e1d2e454833bcc22948bc81632866f77189bdc80b24bbd36804097bde429d013dd61d1c7eca628ecc948183fcbf2790a862d28ff709740a5c8b87a7a7f36c3e82626e0a2210b105a236837689447a1e164ac33ca06d4663899ce6bde986bb23ed719bb81b49843ac31a49abbc0bd3103391fd8fef54b0dc72249164a6c7808dec6c3733a088466b1d4d824d943ecfcfa3ac04926397ce947fb8250cea88cf049c586090712a0fcb85851586a1ccf7f02bac106b3e11dfd243d28561e95c35edaaff881b171782f91d3a46416189cd6bee50bdc1d21f0321360384e3d3283377f91ba37fed03521121e48c50e64e1141a5bd3fceb31367480e018573c77fa0982eb2397b5f90db53f3522defc4f5706c790a219ae0ce5303948e6a665ac656fbc2503c914d2e1882228be0c7effa5b16586b4112a4ab2a6bc1183f023ab4e7e183acaf23ffb6c665c942e789fb33a84701dcdaa0ee1d575d4c2b29a8f0fe6ea5a71f3f7162edec7f76d8e758648fc9b45ce2a34dac3e866150cc49453a4e9d3a0817eca612e28ee8e19f9a71fd2732811104a831be720aee5c644e97cde77192f3824462e7a4d0d5718ce978f4505f809c1659cd658f616044178a2e0adfeb2c249680b5c8ad54ad4e2f786222a17e08428af576a9f736a45692c6df477671183dab28000f3cc6d0a14f7cd6adf824ee31ce62ccc9447a199c8e90266cf458c32d7de55de09c9fbb80b0010a7db39b1394b4237a5ce590fe447394598ce48b3393cb415e29e1d0b51c7ea740351992be5e11326929c8916a40980f01f6c651f00d058c65aeaa11726c304f0427069e3a26149330e219c15f8f7191a68284486724f727c7cd53ce7b2421989472cc3279d8b5126848464c923824a02f806f382106359c965c395b0ca78703119be4ce5f8ed4861bd07d4e1bf1daf2bd1700c680d514fa1fe3c5c84e4001a2e51e6fc69c693d599dd9c19e7d5906bebfb1152c189d357ac0b73bdaf63d4959aafb0092ba63681355bdedc78e5a04f3597664d9295cc3d00f711212d0c42779d8082ec3355ae721ca55f29a6d459c1d3f360af350fe99d91c702988041d91a409b926eeca5d53e1fd4cb0aa47f806a2b1b5963acbb2c6c4082f9c34ee5a30ebed7cd531b8ee0f66235e92fefe1f5b3a137d0ee443e0d8f7aea7111dc1675dd17b4675b0f57746759c98ba813a2f19c696a618d71af5955fcaac73e64755bf27de08bb68e60f7d5170efeab9809c7578d41923e5c1bf11180e02da9fdd64445ee1e1960e6ab62e3e232c0d49822dabfd95bae3a002aac1dd685e7ee696f07519fa46c5b9aa676f0d915567e5406273af3807199b0df4380bc2d77a7417bb80af6d975a2fb804bbf1b8b8d15e4100a50cf8e5825e6aea4e2e217cdf9c3b5303a14961467a41e32549707bde7be996ccc40878c0c3e5718149cacfcad2ad806a4a4759ed631c06f07f31c64cb4e8d9d8178df5cc5c13e3b5edd68e68865600a31702b1ee8b4d777b59303a6ea3a5a06d8ade7b2bc9406140304d1fcb49aa656c46e224216abce5ca11bdaa63580b43535f38c07251d17e97a4023ac2f4ea1697fecd1fa0a587f6f941130f554d60ee594c0639577172443d3476de9cd098659cd940a6b527088cfbe0d202fa667363e7aa211200ad88e5b340572dd992d8e464c4f84350949863fea04e5ab04ca3f4ae73475aa8e29c741c37f53a1e372637613305238d10ee777881620215aba47609498698e0fd8812c4e8b924820cc8d8cc98690c82b632f1358aa68919e8f8ef19796c04b40455d09f270bb2e6c73d5cb216c5869a941d480f10af68837f4cb730899e0e9d65ade7ec9138abc1bb875c6d82a9bf12c2012cd4e193146cbe1a0bd5384a0d70c4356108fe56cc358b36a931d0024915ad4c431980f7f6429031caacb34dc9668def3f6658be37b04234892116639e25d3ea9281da808f30a346687f1673d1621c7216131d04a35b96e5375c8e8553d00ecb5d180a61bb3aad09c28d0a2d4382dd93f31697039676b2877889d9020844ec1bf4777508f1591240fbcd654281e965f663b03bb1b3df07de16b9b99c51ac55259cd973f81dec551bbdc57afd9b4a0589b675378a8433bf5bbd0410bdc2c0fcdb93593663b99b2f0cdfbd49d6e77b1d4ee6f44847652c56bb35465b35d1fbc5aad3b2715d38af6f9c6a655a4477a3c010f6d5109ffed2d0fd26578594ef3dd9e4891ac2952c257ae20cb1daceb0e59cfe7b8802832354d9fa2a29d125ae98ab8861e219a05bc503a372e6b5d46a25273b0869dd8da85f184d073d46c059c26d49ff29b7095124b03d6d3f0c1686e3bed071fc5896a992a198163aa6c54487f09d4ab0ac1fc5c44e7503f78d8cea4440c4af28bc09ef65a8670815fbe6764448143963f5ef72effa49001672482f32b7a0241f322607a7e50e55ecc2d7bcb24fe6ac9877169e39d9670591d945e148f6b9f6f8739ce988ba1582ec2664eb8dfd9903c7b244def2a75e96e26836331abea38b3600a505b189b219b0448110a5f5b4c44f2ef41c34e841f8fa8f818627a7664680950c64a9172de467fc870f4ee90bef028cf0f64e7f231685101cc05490a24122071e0b955792eeaef8f493672de56586afeb663f22085a7432bb00d470153eb92a0e4e955ed749463e165c43def28cc264c263e7d53775c4ced1a716b4cab4acc672ca17adefc0fff7a1bbf9ec834e3df7d0842fc06762feb3deb49da3eb60ca452d5515ff83ac469843d728bc1a8529d0d4d95fcaccea215a6999d67ec340580c16075a8a52b74bba134aa0f36a1bd17229a7647f42f48f9a621d385779081545344fabe628721188bfcdf015f786271fd8488af01be3c9e87f9f9e17793b8c7fb62292351ce7a7d97fa271708c352c00045c099095ca6058a81227b6b0f9e510886a5a3d50345bf1446fa6720ca547e184a42d2fdd072898265d2d9878829dee52adf4506db47d379abba57876be0d531345087588ffa8f1ddf96a7d01bb8d1b36f071217b213a0a5eb59f0420bcc3108617ac39acb9e368aacf785a105461ccff973e00f2552cad3bdf59ecddeb26139f6e8649e2726c8295039b2f759328518e64f815151767bd1fbcf7974e5f70dc6c545702e58032310b7505b0168e854bd96b60e3444e0ac9f934b55021e970ccfc0c8505232838920f4389b33b54759b154366c9d8268b9a30229849f1751ccdf0d25996c924fdd512342cd293a3fd3ca9b751927efea7b8ca6dad4af818116a4bab1e25b6cf1f2312293279346ea3e2d92539af2f4183d8a41d6686c9638f6aff948d431b00e424018c1968dc89b8d8091a51bc65ff4cd7c2ef313358c4c5a6c46f5ce066325f1ef2f85a2d2d8406a344365e1b13de785befdf4180e35bae75ec5a967be3424f2084e18a682c18551cd982ba6d9b7570afd25c93613eb8d03131c7b48247dd3ce0a5b10eecde1c153cb2a8881ad6237e3f7e7866eb406732241b3c1f6fc96f23bc93f84c16accefdea67b46f5161632065a3eb2d407b7ef6ec03a016d30166d50f3dab8720460846a3f00d33ab40474075b358b0442703f6318a4f1900a3d7bc621d3da97bd95913322886f156776c967739710afac3c98b44bbd383f2b72861b7846eedd2d514a987bfcf42bfb9cc252172db249b3ea6b3cb8889e648d4bce6e401e0796826930a41d4e4610a617bd143ea597ffd47621c42b68c0025e6e228f6251894ceb16c990349fdc35d16265255cc1f019d12a89393cd641c4a6957c0503c3949e28c16d1fc5d89d35db96c38598f3f838b11b62e899383120def41633eee3c4e4af2580a54190b9c042b822721cd66f6e9d39202f5c4599d52f7826e8165520a2aa3f2262234beff6634dbc68eb0de84563f752423befc243626ee20b78d6d931f1571c1368068efa25741f064226c3293311ca4d958276564eff2587ef42c1dcdde86c48f8eeeebeaa64535b253d4eb27c28468365a5bc32a8b38b3454ba1a47d3ba05a1ed9de66979523ae1e5574a4b9b15b112c61b4c4210991bcd32b98c293f27f2a7229e7ffce0b9bd88e2a1ae313b2230b2fb327abcc95f0632781d6a44537088cdf0cbe9a472e8cf41b3758d9dcbff351f4e0d2c2862fac06502b806c88476bfd0ef3f775858d64a60bc25579012dc266c13b8d97ec1d544a2588abd09c72fd04b7da133b22949705a099b8afa1802dc47cf448e6ed137d7d45bc0eb53cd0e4253e537d30124ae2bc81e7d50e8a13dee076e032f72898fb0bbd1322e5ac99f184a2a285237b175ea7f16dff08a1ffb2183c9d6735ca0c54afc8db371268893d0ae0a9abe4588956fadeec1f05e9e90f98c573c085d72cfe30de12f71531b703e1f6f7cc9888cb97c4593b996f71a7aae6500d7ef580c13001dc2d9720ebe62a0f5ce9b2bcd01c97c7c24fdb4af8167204d89a675070efe1a16cf762482ec8d7f0f46cc9e90234e648fc83bd80b7ad022e689af82f177bc1ae95865f9bd8aa0f723aa5fcb6af5b294d241daf862a4ffb0947c06a45e3366347dfcfcb0808f2ecbee96de741b963021851fa9c31ce3a618fb8874a1093f410714c8356d097083b9ab0ef719508514abce5b64c185131c633e324a1903588c2bb93686c406f8b141a50c70b441109639f652e64218aa9f7459f98f929da81e18f60ae7d356a103e1b137e1bdad59daef49a547112eba447a3d5ae1a03e410ec71b9a8089628bdc94530300f7f3e55bfeb134c4532078bb0d266a5458343f80773e8f4fa70c5b4190a15a434c8cc4f526b9019631d2e1b7fd5b67c0ebfca28221e7e8451a4234ba724e137e52b4048fccd8d3caae9004731ca501b5a459ec0820e65f9bcc983a49eeb47bb053f4059a2c3ab864861e682b50a0954221c8599cebbd3f5f97002eae84a400469d8ead60f4da5911c105ba956ea36000440e2304d64dc682ac9fb7c21935a527bfc528fe633d8e7f4e53f4b5c8bdba048e040e61e466c8e8925491160928fc852a7d7807fb7ac63629eb8eb9b7f82be72fde93ab3f5e81cdf1341db8d9cb1b16354b178fac31278504f7f688a0d6724450d912f2a080977456c144544d540cff866e9cd0e7928116a441f2819e4699b60f3308e5d1381a1564c5efa32029297a9ffd1406ebbf25d19caf168ad8ce3776316adce0d23b3674e90c22d02eaf21297794ed491a28544a9512e208b1a408d0c3e8c6ef07069287fcefe60651f1b7ed728dc6fddcf486b721a59a4057f423fa32a955ddddc3054503f8afd8c7f7335bf662d0f1a8bbf2d9664768b7a0eb2048f01d835320b84f950d9b8aff7cf178ca3447760282a995171eb309b7a31dbe84548034903dbe7a9763b61b055d31ea7a9995387c1ef433bcd5fee16a4a8258a76eabe8b08718542140725b2c402e503bd3a9e7e3c8a55959dc0d8e744f32d756b8c69c95841f029b59e350694b8b62be223948e683e128a382a760c2d09e442a1b0c05848261d9c4f68841e4a935aa4fa1c8166ad85396f10dbaeb5dacd0d70d3e8c7dffa1533144528d58a5a81753244cb628f89160582a85a7a1a32ba365a86520364f74d2f7125e9f378848433ec45cbc24cd2143a6e405e44136819a6c22119ad32e32e436a5b20075642b140cb44af60776cd8fc3194559709eece82c4b7b361a82e8b17a948d396b12c7810826b92462d7347e5d1301b3c05caad24e4e8e30edeb78943249ebed5aa3eabb0a1ba2ec04cc89e9fbd1d7394b1c1232cb760d0cb772123f901f71b0262075f2378852acb446d9155687f9ccb880431a9dd683365e569238f79ea94a543956553599c8d857158bd20424516544485be23a7efbbea8597598b5c658810685e080d18a4cad1a7e5608d88f05ea18318c13fe2ab6f1773f99a8eb16009cd69e1329af56e23ecf74c4ac22a97d6ad84accc8d5b2924a3bc7ff0d2e68618d43089cb1e1b84a7dc1386eabc6240e0ed8552dd2f431ce36dd5a96492730e5137099a809ce8fe0b431e409de3322bc884eadbc4e48240c3942348699d928b1ac4562759cb0dda276084d6d20a117ade67663b0a237dbbb5cf74a682e72ccff3e35784565c665caa59a2d7173d026bbc6a392b30b23552fb611c807a933e0fb18830fb61a27cfb8840a7a019fb58b02b3e8b21101b34560038a207e01ee7b67a412bf6a71fe6019ce9dd16cd80313f352bce3ad83771b3f3c3d0dac2a89999c3d84b2d2c6a646be56dea3410131588237634f77fc985eb0d0c49cd070e61541d90800b7d94bb750b434df09abdda40033187d10fccda3642f5a1ed117f5a18c809a16fb28118a21835925907ea6e725fc89298f8bf6bdd2dfcf039e3af811869f0ffc1fce50ab22354635c577e2952aa2415dbde7136f99a086dd6a8b57f5a68589f0e056adeef00bef1d367d43445db47eb6dcef76ba8408c879b4aa35228a03beaf07759cfb85c6ee83e34d98e2a1c11a3719828e70231ff05149c1cd791daec33c2a5e3b1897615bcb016d0ef2c4942069a25c7d5daf0002c490a22b83e1d01b45c793c4783c693daf523177a1e36cf87dc7ca56a0025811f0cb2b90d4635c80ec6cb8760538bcb11e029490f2b58c5d454edd2b4e9ae06fd3d7ed6f4488ec486c7f244d7861ed85b5a541fe3e09151831ab0eac3d0b99a7db7e487a134d41bf46892602ee729867d7b16025b3b998eb80fd066621236a0dd714bde8f1d3c32d608cd4f79e3a320f2248790d2a3a020de942da418a73c1cc82d2ae969f56790e217654fef077e9ff7400681d0507eb04d337d744ef4315a5097b670c5580f90ed1e3dd03d2df8b158ea50f6fe87f6574ffcc687ae1cf7c8a0efe75575f6ea3b9ea8b88ef8d40acd889068cffc0229dcdd6db8d20a5c1bdea130004d06a0f0a126ee77134f61bf5c8cc5c202306523726335f80d03db3f84ac8f671ecb3f88da6488e7bae1e8f8d1f8a471d47f08f12f3ee4ce9563b53cb948a3eb105caacfb3e0fb9c7ca988b976cac72a473a2e788d242cd480b156796e44de4543538d6981a481842207f62fbcbbd9b472154fc2dd06efd25f056474e4950bf6f1f97b43eb660eaa008765b233897ee757990b3df8a582b257a3071c14e6866f3c0d9e902eb1424bea5e3d28d241c4e54357d37f70a4652f69cae538918c32bdd55922678f45bc3dfd4b0ce83c8a8d7ba39c9ca541873d4c5f3768f993b6d80c4043ede9b38500ed7dd0c79677cd32886146621c9f19e3873358ade985f965f14a99c0e480f482348a1b5b4f411198b92ef92c32095a804e00eba4b970e23d602e12139e870c5205fc10d91b9a12718999a56ebd23ed439ad5672f1badd37ed75c8bb702e5a25f57ca10e9ebf32b0265b36c0fa795da5d083def8e45609bce6f5f1c796de36e39f9b656632ecaeb22b12afe28ac49e6934a3e65f4e0aba78c21d072891b8d7d7a55f1fa2b1bc10ec05df5ac0d4b9cc72d3335993e21a6026e1ea2001cc92c984128a8c937302b2a3daf21e0236a06e158b804d7b56309d1d70a0ba5a1f2f60ad434ef8c4ccd1a9962039dcd7547c5209dfc33ca7230f37a563452e848943c532bb996c7a466ac33870c1bfe09788b7220f51c80175504b1909aa18fc2806f8d44f39dfde6ed26d4ce5a74dce5181e4e2897eedfdec92038dfb2da04940369b1601d571262f0e64dd4b10e052b828ee1005b0bca23ae3e28f36891e560e565eb8497045673a1e40f3939189dc60dca23112697b448d346d90a88f2b69ed085ef41d67dc767b05b86c5519b1b23aed62e6089140bb88854ad07aec993fe89e75f22b0dc7c732b3d8d8ea0036e7730add50a3c6dc572a0094674352a566926dbecd8b158cf32a0fae3cde8d4d63bf956cfdd1a41169f428aec53239a44fb59fbe43289a7b8b42f017861ea167fe89c613694c7b6d1903b21518c0290bd018908661bc9441559d0b19fc47d5fd1c7d4ea0820aee8a285ea33c11eba87cc4d2c3b610091489fe48498cee3a07ada53b86577f3e42fab9a7ce801e4328ec5261883c9ee884d4071186035817c2714ec0ef27ecb7409835ee63fa789b85dc669808d6d7a8c0ed25121912823722b8b26fe4f3fdfaf05a0b11d703fd442f20a18b8a39b1eca6cbc6a82751a157c8df01716a8cc6db01beb002a61ba8cd1e7566a880460283ac3873fa090120afb90f3c1fcc9bfa316ae3c03caf1014a3a9c5a5310a6ad350269e0aeb1a6442ed771039c870178d96a0206d694398f0b1ed2c1aef94545475c1ca317597112e6562962e32323e15016122b4bba6727e138071cc9047a343d0d5fae5520324250cdd85433000a1268643eb155206293b3ff2e6c88e27da5e5053c4bfd42942a664deb862e308a1f2a2e01250b9464c110763f6e4e658fe1e5db6462e7cc9e5bb3c09542870eb8d8fa2fb8dce7b815dcdcb012167124704a4e767fb5fe69632060eaa68b04d375e31fecf8df662ebc37b052c1332888b03b7221da95a0e706e7059c2ed26278ceca2d1210f98553216a2e9e96967c02d055772deb5f28fa05b58cb029562ce5096f7b0a3400801fe7fc9b9e60b772e7e8a5f92f46511aa77bef1b0252602325f66309d1acc998fa50e6ab3d284bb1255d80a4abf58fcbd22a8c977380afcf00a599d99278d377204aed0549b5c46315bc647309417b9962f19b9b92fc43c221e408d6cff3157433fb47cc91f3cd7e16ac3b999c454733aba20dbc98826f57eedf01d24900cdf5b8d8c8560e9473998b56a3cd568d2799d884532858887c24c8e59bd5bf188d1917d25c871b815819bb383ef5b5a7560f5928a2e0912ec012fbbc396f7e5b69dd218e7b342cd9a9b25588b0bdbf2e71f1b1b49eb61ad6b27aff5774b80cf26206a9371ccd311cca490b3f506868154d71f2e6fda91d7f4e63790e865e988420265f4b6defa4c73542b232455d600ab5e93f667d9ff1136a871fff4778a8edc7748f30452dd85f0448a179ebc91f33a3519f60a3f9517c1d0fdd5c87b336e2b5b7cc5e3cd24a17b6da32723b284b9bfd0106b15f52579e8c192d4dee481b61c16d4b4cba5f12be313466d85e60ce5f06216e8b2221298cb67917b6c02224e30a7baa90ecdf53e47575282cb6576ce21af6237aab1007260d9b27d05488070286dc799645726a0515462395d200f1c4d019ee04de24a9d0f82a59df2be8c7502ef03a08c09775b1852c7fa07f271b01de1fa7da79143e1da61a2a563fd5068b41737a005f958d6c1f08e502d7774d42b61dcdb08cdc819e5a1e8ac046914d436b87b36f8ce2369c0ca1bcfc23b58bf42de4f6277a10e6ce610703d7e5d2824bc563d43dd12db63dbec692734804407dfb362ea6cd01ccad63f37581e0528d8cf9fbf4d2d8a5153380782bf172ddbff588206cd429f094ff3f11671c350516d9f363973ac01ac9f3c2b10864d4b9f6c80a08059fbfc0d0ce4c4c4096850f0e8c8d49e019c0b80533e5c219ae2b163362eb8b050d82a841fa1deb5940d0039b95aec46fb521b3a05cda204e54c0705fab1f4ee8d7f4811eccc385e24d2056f77d652992f91e25062b60e670f634026b04d11b77420b1855b1d871c6606d183b4511ecb05a3a5dd471a584f2ac4ef5c2769fc8cbb36941686e3f7fb0103ec3c036be6fd0b3c4606c5142d266b0928495717f2f3cb613f3c7c64107e1b16a277454d75eb6a4a21d443263db409508c483a4a04f663f319e67dfaefcc70bad83e177a1b1638f090c9ac2c5b6e79ab6600eeef1fb9b654aa342af369a5d0d3b936050b0ada026ea05d956d07806abe07ee0ee28cb524199586ac045afd08d31dccf9671e223d8a7be61c846b4245beb34972491a565a1a0813eda8f8c7994155438a9b01ed921aa7bb27f53efab8890fc352f4aac4534c6a125e2858492cb2bc193c9720729b69a5e0292a2d319e1804304eacc20215053010875caf79bda9893c6b71d029229cfd3102dc6f22edabe5db04ce33e04ca065d2305599fa2386abe3f0e096bc6bb898e4657f111634c5348c2b1357f8373b666878a6993bb7a25a5fd0c33106d3e01f6926f87994197a0e371fdce8fe1d173a5e7125d5c4a022357323838984ce329cf520cdea0e113ce773c348b589f649a7693a813517e84de4a294392f2ccd0c94e249531e32073e533cabc03a1a61cc7574859c2d98ae83b585507aeea196085003deb28aef72708e79f0d23cc541141d67ca60f06eea681f46bfe57e997d6c99e23f8d67f450f46e460d0fd0b91e39160e000421d518a6ea49f25d9bb7ecc7da05bf3afe0b4f9885d899ce00ebad95bb93f068039af429804c282fc2b3145c2d50f13c9d18453bc5b6e498ae817bc4b94c75814006ccf4fc5513d9d703d1a8891773926c8cabfdc2e0f83dc46e5a39b3119eda9851ca9c073cdf173d47f968cb215570904a29fd63032f593fea50c42d6d027024962dfb3ccd96a1983312285b5f09284fc475ae462cbac487641087630ebc182070332ca1695d78699705a6aa9ee1276e03f7b97eab52b8ace79e014ff7d3d5684d693851b0c25941ddbb029b2726fa6c5d361f927b52f0dcd25909ddda28b8315ebdb9d2d468c09a5c4e76504624acab3bae31b9249a8a0bc988c85109caeb84d978aae3dd4528144e9cae5ecc11398d4efda2e75277fc1b4a190fe8c2a964fe46e3f8059da74918f23ebc184d3ce6e6588840c6c977ffc6c8ec29a54d642098af09670505cdd71eb92fb5c0b9588d77edf372a98dbd4b29e75d1bae708e7a51c47984e6b741078692914e25be0dffefba1c4437561fe7064a1eb57ad2eb93c3d5a4209b821c5c30bd57b98d6a98debbfa6f2164718b46b84c25145b16e7cec90f193e6d646dc5d65158e5330b6e3251a5d1548307c6d1c03471be8d7f8d9767fe037c4f8fe5929885b7c560ea250ad3bc33c05a7c389ab0f840c8dac5596db2418b022a96a19a529beb2fba8691a0e2065c55983b96bf9585887463e3c970ad674367677de18994d365db3805f16f3dd0e84ea78eb60c1e6eb3bba7f8251f58bdd235a3529c62fc9811a495f45a7ad7ccc3641609ef2df5363a78825ec3bd9ac3faa86e8ab94301c7e49cddafc9a90fc7105cba20ac9aaf9d976d37f4d7063a32ad6a088b9083061d355a219739dbb554b9e67f82ee8b8369c4124fdd7c4dead67db60eb4d8016be9bdd6998eee7972a88d16d8327b6d6be9a48d8eef6026173cf92d76cd037a6eb3300c1eedf2aa1746f4a892bc81933c1ecccd0c6a5c3d21c893b95158130db63a430e1feeafaf9be62c5c51fd61a08799925bd8ce150099c4f9df62ed79da1153d56b4a1eea11a18a3d2356696b5c8d3741dcbe15321bc9b6fe1e9eea945e9b2162eb3c80e05a96439c7aed3da5606c9efa96c8a6568243d4e9469658c6fc31f435cdf975e18d5cdb38f4557048d7eeef87a53a595e84d7d32348744f150c7025a6b027f3e2fbc539ca000e4053aaa132a07a50b1d1c0addcf07edd4b0bb0b058fd6328cf30da707b9aef619ce3303811c34e3da2fb8635ad69c56aaaba96bd33ac913a1afffcb9e8ec0ed6e29cbd9ea1cb6999f2927511221e73f3ef19b2c0f8a4f3af8e1a388da56df4bdd6a1422a2c0c6d7452aafbed56f91059edb56df799155737280b079b863e49ee2206b5f8bf506ab9f7fecf0b7d8cadb3e2785f70156c7f3b9cc1934c796a3664afa9eabd55817b2cd1b6a23d2511539c1fa93c221a80ce583d665607e2fa53c29f78a4d9721e827e402935806634493f87c78f3450981aa534867ff19a94a6075ac35d8db7857b582fc3553273070e74dd5ac0b4bd6be30a200fdbd5b593103a4d7f1411434996bcb87df505f8afb4a89e2ec66e356bea06c1732b3b4dcdad2d5be2b50c231f2c8819bc375bd5f7f3382432453e25141773325f9bedf0f8e93933752244a4e0754178e66edfb40f557f16a2bbdd36c8caadedb9c49790370b3431ab4c56604de29b1d8bc7156763e44ddb6060c09a277e1fa4da2ddc987ca7462c4b50400dd8c3439be1fd11699ddf536d11fadba2ffd89032a862f7b1b21353ae7ac8a0045ce506e632eefea1bc3e62b0090474b5d93674a7c20e836b4db6102771a83e22dae7976cacc3a4b2d44a4e119e2d17499f9d773a1e39a34dd2983916b33685bf8bb08b48f448901600d940819731dd84eadac59a1b0f7d09b30226deee5acbaac11265c9a008a9bf1fab35f603bf513d52984def7055238015ed2baea340f42363c447c78da3a312cbad973a50166dc79b4b923364be59ae7c8fbfa3f78aeaf4920dcd1eba3d9172dbe1de48869e2a3866eeac6b4165d9e842d8f3d90e842997c8005c35c4287eda33c27cc98af062572b5b6e49f34cc42d31643fa79b83c94a3a936979082f3ab44789716663e2091fea9020b37b1cc2e510f23f868502291d11a50d5727d5d404536b352dfeb1a00f5c2042cad80c305a57f80f5a24531431d723cbdc7185c7848b48f23e19c99bdbb29c18d99976df281f8c90f24c848c009cc2cf48ff3791d728f1038629cef19950b6ad8142e66d23fbacc26cd70f5561ebfbc09f7d65c012312729ea4c1de5be23a28a58e9c4fe12ea469a8304769545194f5923920bc1f68327dd6f475c70b612149d6f4fbf8607cdda5fac00efb4cbde43f8d59f72e095eb57e7c37f65fba1a966cb3dd000332065ab9c6206e78105422f159b90a71c6f7ab054ad24a9f75cdc911f3e697de99879823eed9019b1e277ec58af842817b951d5f5184957d84fa72639f32977ecbe37788e32be34857d8ddd48ec41d71c8e6a645a6a31aad0079673109d15d665523ff0e02a6e6d1471fcd45acb600c88b8e473417c6f837d92cbeeb590fa3256e775942a8490fa30d53795946d02c17a705a777614ad28c0ba92da6b85856d68c81a5255bb9244bd82487d01eb3762121d4a40dd382afbd502668faf44fd63e624b73ad4bac3946c418ea7c7ce7d034af0158aed8d7af5fa8474c677f8e08b9469a4723d480b234fda5f72ee139e8a263089b4e52b95101ada2daed7c69245c26658ca886e106bc5cfb1a871b3cc001f933afc0c3053f70c732589736740e2d7c9cc34247e07964549afd68e070a65a436b471eca6b9f0e9b7738e33529d4b3ecb23b026508d461ff0a91c18e4a2ba09476bd2798ea1ed81ff5e6a7c57a10b5c6c6b1baf6e1c3855944de7bd64181b05bc56787db449f2a1056bb8eb7d338265b8c06f4bc10da8183faadf2ebd4e779511213192bd3700d2d8121bb371aade2fd21556b3fb2c569a14b0cf0cdbaa8388474547573c8bef8a9d91dc72e643f924374c1a691c1bac0f3f7c597a129654f30c57dc07bcac45382b3720eb23d86a11e30809e2ff06ef2f2adb264c676f8e9785784ec006e82babfc7a50993a20b4fa4f07117907050e5334644c9f8c6a20783d1b5d42eb6642518429eb7fdebf1c023e6cc19a5437f325050c3103ff7958a883ea1deaf2c803c4d09ddba03b88707cd00de0c3ca71064d310a13b60db2091cb828253ec3b77c770a6b846023b8e465ef39505b550516470a82ff0fbb0de13e971c59e19f19d9c4686b7db8002bc91c1e112f5ca0c5227ac8bd78a120948cc596f20349fad6b3ea0cdeae96006e01fbdb32ae59cc9266a4ac20e66c085dbcb8a930180c1cb00ffb6547c1f37096224987e92bf63abbc3fe88c578bed93357ec0088f022c416da895e6cadbfc0efccd5cf95939ea7321fe5bc1717c640f7d83a32a10ecc21d024c85d8760a289851349fa1a6995945678965e46789108cd5c24e13bae6b172a67881ef363a8eee960b810d39b78e8fcf54605dfdcf955f2427eac3e5af81be9311e1631bfba313506a906000e0e1c1df288b3574bf0e11fb9607fb0fc8c1cd1aad0bfe1b586de8ae7a299effc9c6904f8607b8abda9cfb427a982d3cd9b9e8cf965c9fdb0626c55da3dee77efede13216b6e17fd108c6b1ba0929a852b45e034c4a05026d593ccbf1f4c29e02eb11fdba01aa089cf1de0e9bc477090cdeb33c69739a7f258fa815ee5f68f1ab9356224d88d0a55d4a8512f0d7c016c4345f1205b1488fe74764d0072be92f21c918236f9adde2431169c8170fd30a9a37655e0e0c38a7c943ac831e6d5d97a26c2579f4ed0759124034808f1321da9836317fb61e84dcb00efb654fca18aa6cc439bbf78ae0fea1e8d89342fb46dc4635a1e9a3bc2f488459caaef5eb63d4cdb0a1e4063b40d61f6eb316d3ca424a85a8bf81e425e422467594a1b89999b6da8963f6dda706ffd63258a7091fda196dc88296d8cca0f397077df6e36ce4f8135c0fa911397c419e21ba3730613fba9cfeaa74adc34c4a0eb36eebf92bcf9389699013e83c36d79265418baf966d1b350876d429540ecf629219a45ef2056216a057425a8a2d1896c75c3eb58eee3b977f693bd820c0a5686fe869f1b5440e330462230cc139fb9cb07b126896c6bd541cc2d61e9d8861244f66be48b9ecba3c19009aa9ce630aa176bd9c32f9b2a90185980cef59b7fa7b1153d7aa2fa5bfbb6b5c34cb15fa8942d1f722e9bed59943cc844fce6a7a32d3e9a200e18ed5e11f9db4eff7e03658962442a70bad2e58ae2c0844a47b858e607e7618622ba44801ee9d12d87bfc8a8f5899097ba5f5c035c9637adc47503c74bbf20c3f6df02723448c89f6a4376bb84d1806238ef8da4399906092c255d921cfe0ec3ddedbfc5cfe01eeabd1b3f9c6400d70ad710402dafde35a23d4bdbd80f707115b81cce5c3a127f8c7405717dea340a6f62e8b4be95558948dfcec4842fcd84a5c5931b65175357c0c7d993c3201fae31d577ec70071c7b56eb3278b84dc2ec8087164df978bcccf3e51020b65c748d60620ee4010fd9a72c26552ae55587b01d9a22d05c925d8cf56a94a7a9d6abd3803d80ae8a77c3b47b78093f3e22150031070e197d56d87bf817a9786982c0adaf905b1a1ffecd008f5dcc5dbecacc19ed62138085db254fe08907c36b049f9e0a8443cf5e3013c5eca00be7e2706596bfac21b64179c449917ee66dccf15a97e642024315d38a7ea6df974f077bbf457470bb84393b97f96dd49ad05299fc8a80cd7c9623aed33e381621a8fa402bf863762fd072780d8e02cee9f9956931cfd965948911155d800d1f9bbfbdad5e1553a13d0830628112fc89493c352df456b443e3bb0869e112dab3196e2f51328bec994fff925bbb9840264ee312ca9970d9692e13704a7e722032405760593317c9a9b9cc2331323547365f0dc1cef988e61da245571027a0d782dc81983b5dfd58d21249e0afb9dd1cda55db1b2e3462ad87930d3f3a3f0059566964b6dec14dfb06865bcc28b3271f872398981accc9cf554c4d69c2c4501dc1e4d08c7d3e18c3e5a46cc8d1a0e7907d6c876ed63a7296ce4320aa36baab29bf4183b7548f5bfae191403619a86fac87a40a4fcc2f03f1ebf58e7cd40db7b0bce5e3bf06062b569336bbfa858319de35af47df66219e5c7652d961cddf91dbb34f8bb7fc94f4c6244239ee04a029b13ea38f091ef7c27728214f08e47c263f3ddf930304dedaf5aae518513a5f2e7ecb6410dc42aa860e688a4470e265cfdf4c33041a06d66dcc11026b2d68a4467a5a1c907a4c452642c22ab8a26e173a8d78de5c5c8a63b2243c99c0c951c2fee3ed00290594f057eec755e29475948df9356ea24eadc14b980d506a3e4044fda51ad0b297820d60dd20bd89f5e308f59cd88bcccfe823d0739ad9b94f548a26b235e58630b22d5c74a6b9a2cd2971c560295355dd13625019a75ed31a3dd2bd81c6d8c97d8b13092e21760cd3fe20e86ee3d080a8535eb7bacec1c24cdfd63922aaca276ce08a468721d7a6354409b915835b224725e0249983ebaec28c1bdfdac226756d760a22eaef40cdb294d5a4b0ff8bca0cfb9090968dbe5b64566c7e7862547fef72a15a433122de00f5d65658d7b8709cb55f2fdc07a7578d88f7222e3a6064948272cc97319c0b209955499d2293c472caf3a42204d2e724cc5e2235b4c48de8049ce77db54aa0b6c64aa152c3ab2c7bab9d162d421430fe084f43d38eb350c0c5f462513260cf9d8bc5d335721a9e0d17ab6f3b37e4cac9a783de1a526f1080dcde0fdabd08d063e8798163e51da2e9fe62d18e48fc05254b3ee32624caf2117e85c596a057842684eec254fc80b9bf9370b09521f778bbfcec87deaddd4c4ab41b85633c66027f52070e6a10def8f6dc22bea173ab2f858abba2f6596c941ae1f10b1a537f738a9c6c1b121ebbc81c8afe3945dbc037ecc6b6f55a25670e5bd5ab7625ee775c80627dbf7e0cad1aad8d745ed73113b43376896c70bc562bc63802bd3e0ab8c03a70446e5b025578532269862955680cc7fecfab74997219eb7a0d47f182a0cd14c4fc8059901226d26d4cda0382c57614e4fa09556f587c291dbb5700f41d9494a04f1926df53869c7ce9ba766cbf662a63db8a6bb95524d49f0dbb9eb333ab703f5a775bc9f9f2b850a0e10da1c018e214081333b3c5ec71d33f5b43f5ff6ee0c135711f14dd18cd71278116de4699af790b95e10a1928cdc6a2d49534d0708a50ca50f4e5cabc0d875d47f50d657cf35005be91aea74b06c218688bd7728589c72124d53a0cfa20d435d7b0f56f09563ad3754a7a47fc80f47bb4f740bf8fcc0e60cf4a941d894e4dd3707678a3bcdd808d7e80f6d917c4910d71a3f6a8217873e84ce4c641a268dae73c4297fb7677fa43ce8e3f3d3bc82c334c238064a551557d14dd946b63b7cc183b47912a417b745297dda2252a5b20b6eb0f5b6f2b8e1a1a493e5e424c4053e6265f17b75f623d04a9a5396bc1bb41b171f0b9570e4d09939495e1aa02734afe255c804d8ef9aaa245b458c6d7673f6071b405551507f1c65489dd08f175fa6eb6520879562af48d5b6f61ffb68f0dde478dc5aea35337fe40b5353e8ab1f11e6ed16e7a58a205aa0c17889d03c4134906a683d363ba6dc9b76946426c8e7a0baee871f3ea0812536924375ecd9a30691fd06c0cd7cf53dfbe3da72438781c9c53c62d4de9f69fbf4447b645ff6f126c0b01393ec9950c058c505571feda97ed6962f5bb63b2633d2bdfa6ca19f62f3c57f270bcb9d5c231144979f9bc1c4eea4fd9d617060dca61a0bf6a5a3d5622d9ce73e18f07cc00bf74233c377e29ffca1e6fa888ebf9fa93d292c7be2620155727cb4ff17cceaa73dd175b1dd6ed690e09db9473ff42aced7eb63fb7a56dbf78665190fef4c0e3138a808771367256a143dc3a0db04d6e3d5d88bb2ae79496f29a5957dd85fd7fc77198238307c7964a0e5c4c0368e23e200e9a3a9079ac3a4262550593dc58fb3b37ea3fc581947d23d678072db4efced8ed28cf3703d80911bd39e0e2d85ca9a6216d0244e6a096beffd78033f6f7ae8365a33e4a2f0943d2b9c60ed4ef8ae96b073cfa97c9d6fb6fcb2815f7d2ac13ee28127dbf74452905917f0d4884827cd8eca475d9e61b1dd000f7c033b5ed1e58c7ddecdbf906e6ec8482d143f392757b861bdb126f50551e373e918100ac057f79c194bf1ba221186d352a793521fa44537c1b8decd063b3180e9182df9d3f76706cca1b4dfa7a35871bf2361cb9905f8053b797957d23dd158cc2d230311c621579fb7458ad77d37ce595903e0e097964676c8da2bb6af34532d47432907e905f143c2f5a1e7f834c35e1c98de892e28d6337e35963ba2ca0d1cd38017b334c9bc6275240f9b81958abebae63fefb3a0bf62c836819250ed23685cd732a5b1882f87f841a7b456a72a37abff07d00254bec0c20c057563414a3b10ba7551b3abfcdfcbef14c24bc60e469bd502bd2dfd50c677e35393e7980486c09d3f28749647d2b21351daf40f62252bde767730a9b7f85962fdbd9ca89322d4fc51e90304b7c14c88a8a94fdbe4f87ac0c8a425ced885a01e91a025970bad80ceb5774d47ca9ee24b40fad98c8145675f99929d61e071f6850dbe06802e272259653d02430fabe0858d5faa603ff6f339769d2b5e3d984131147ac04e49aa278dc5fed2de9307beef7159a30799e8ba4b60d64ae68a9783162b7200d53f8605811939988e101b8fbf0b834d2c1e5b0cbb0c14acb25828a6f7cce86766cc782566d6df013dd742ed097aeb0e8e53f2554aba8796a4f6b49cd8bb8a0c9d2f9ee87dd6c358525ed49530e6fe869a8895b4b29c57d2dbe3e8a59e11c0a94e6cb26fafd0490592ae8695db810968fe4fcca57ecd0f302d220a954193a24ac180ad0814c222e9eab7efa28f0031752f22b0075615475154229644ed75c43d4bfed0cf7d83f2164c4f74d9c009ff98489260185867387e32d067bcc4c2b2e43f7e617e313ac9efc6841106c742ebb6987c9e774da060676a421c468421829ba578dc907caf0ef951bbc908598493da05ad559a78905dfe7da1df764d4b7d917b754f89338b8ea1fdc60aaf5bf38eb971adfba68cb7a6a13f2f27a2b9b87263623ba3abaf6fecd0309bc26f6d80b9438ce16c331a826f7295d94bb89e1e61a4fab4d1477261a376cacac3011dc3491dc9a18eea55159e9c4716362b8a9c6d46a3cd1f271afba1b1b66cac2ef6598f7016b41bed6802178e3effd322167bea3490708f287eca2f01d21d4443026283b1fb6e2405672402b3e78132a30324bfc561c9cd5f071274c0cab1d845ab51ce89c009440656207a636d0d006f69d2c8bc1b2d6502dde1a5c95baeece466bcbbf070a1a6d1d7854474ffe044dccc5e60539b31b12a03adfce619aff3ffaa080d843f49fba3a9ab92a9d938d54abf6f900c5d4e936b0198ff716165e7fb7a07375e9c0e3d618f57f3c84be418b2bfa25524acd7ac981d9bcfc9e71405cbb80cfc8c51c3e9e2e073e625169870783436da669f2b7da9ecdaa79eca0df5b9de2f17ddc7188f7345962cbd9422f9d6dc2d70efff9eb0e4adf437290b83c0902adf1cae2ee7b4a35d8c86c0000309d58c5ed7969815de23d96705a4dda60245995520555d45780ebb09aaea8fefb9547cabfc03f52001711079c7101ad6661aa1bb966489c7747604d7434726bf66840602b81c2388f051aa4a1b5051b1e7f2f414f3048f2b5836932963ed2e6198408f8f5b667fa34f42ca7ccfb21b2ef37fdbd21ebdd23cfb1f303ece6044afb87d65c300cd29a0e9321ce2c68df86b5f045ea5cfb7d374ef8b827236627de08ce4e9826af5e0745f0127a8355d0743c32b20fd84334f657451008f2168b4cdf1fd02439efded80517a0370af234ac8d99dfba092de94d76b7bdf796494a195f0c990c970dd6d2fa07a72298fe7a4d6d1fae6bb55eafd33e307785956ac3c14969f7b2fa7ea0579346a3290076c4fc704f3441ccebd56e04390b67918f6a378eaa9b302408d18463e137bfe5a3fa2687a6a909c7221f854032d183c23999f9510830ca60c9e158f85108187cb1010a77f3a3103e12cafcc0b1f010be302860e16e8e840bca15676146ccb47b1edc0baeb34031702fb81b986ecbd6ba308001587a3ee6a52eded69c6ca1387cbce5b6a4e1e32d6b2ded668b308a83c75b240f6ac18c83c75bd885c12fe90ee11a8515e5efc525b555d25fff96ee90904b94e48a0a4286bffe19b944f58aa9461121d5b8eb20b6bd3b74fb4dc3b943b6cd5fafb8c76e70dfc655ee737970876ad691de76d06d6f4d7473db636143831b6592d9bdc6e0cf07220b142cc2ac5d794df4410f8c877bf782eba212cdd26834b7387c9cc76ba9001fd4fe2d69f0e4d4faf8f064f2961cc872704f474727750fceff729ea09d5e4bdbe7d57d8e7f68aae37374d0d17350d26968cd8dfa65b99d6a2b964cdccb98776f5784c14c2bafc77f728fa7c83deeb9876cba25be525f5cff6b9bea8b1d276d4fa8cac0be837addd9e97a6f56075da77d39cbb3fa31059e5ea76fa9beb8dddcb3fe0813f414f39a855fef2c159e7612b3d618e8b6beb80ef64c162c927807c55cb6776f3b4e0a2989a2699e675ba5078f30b337351198e5df529571af60a6cae5530074af695f761a4236d7acef388dc642f5c58e1bb54d059ab63ec52d0ad014009f6234054046538c0500bfe33134ad59bf53661df6c30eeeed4ab1a17aa1a62aa37fc7face0e95d25bdf49bdf58a01179a16bdcbefd3b5d65aeb2d10c56fee2d0b8e258facdb6cd45785eefe4677bc96a4938e411004c1ef235b7cdfd7e2c1ee35d1b53cac7f686931bae38d8e3b3c767648dff190e949ebda4149ef3e6f68831580ddf35a2f5305680b3408bda1b5837874bcb1bd4eb5eca4739dbe24fce51acecdb25f7964dca3798a7b27ad47c37e059e9a2e704e5deed3c2714e4bb7bdc8b9de201ecff506e9b4c838df720f8b5eabc777725c97f638a7394e167ef314bee31e84ded05a59e8e8b8cc316fc7efd2eff84f8a9c5ea6dff15af76a7e6fd3efe4143b2cb772afa6e32deff1c971fecee9ad5c731bba73ba2cf78067de01bd46f35a4e31e83d34efc9e9d5e9641c34dff19d8f96718060be2ae0dee3ab828581c71c34fd947e1c31af4d11de40d1e30059b8d1c525cdfd6bba4336bbf89a5c22a19b3b8d46cbfa9a3448e13c39bdf9991d95790ab4e5ddd4373569f745a62ede7a0ab49beecdfd3c9bbaa401bacdd83ae9a3a57dfa3535f9eb3a68ea8f796d700fccf7aa6031a81990d99ab8f7638de7d4a19129d2e3682f47306767d62393d57a7866e78e4e0e0d243ba748f55397b72c59cd59cbbf32839793f502f33a3999a5ebf8596620f3ceb2b90e6a738bdad7d9719f1ebf250374fcb4a563ec3c3a6e73721ca3698dc7b5e480e6a08f4e73d2bfc68d1b376e5ca3e5d14927c1d14d4b3a383ad82048f11f40fa115b6cafcdb51af5c79cf304685b246e3407379ad39e9373dc9838e3d87132e3e071ec398a1ee71c45bf637938286b8e73ead373fa4ce73c7530d6d1015b07747ceaf84c07839dd3998e2dcf7474648e1dcf72f73aab7bfda6b346973589a6359ef4b626cf8d66f19753248c5a5134cdf374c7084022fdd3f17a4ffbf3937d4c9e9c9ea74ecec9e9ad85848a1eb73ae390f928cb2307df32b4f47174909653a42f7a120b09b97071bb013df61c6b3d2707e7e4d81c8bb15b67616d0e6681739c059a92deca5144432f0e9083d2471f4797e1681f718db78ebbc1fe3ce6208a63d47ddaf22fa7398a7ee6ad1ed11076df72134d6b7ccbbb97e5244cc72d6de9b6e40068aac7912f1d971be47ce92ff4468193ebbdb9b76b4b1a37cae7a367d465d1774f144db3a977a388e6e97ecba910ef5e7d94a77bbbdd4d3e1fb02766da4db8c98dd24ffdc45fefa82aa3fec5b68a3c10f36c1698d3d3e28a63e1a2d724415e713717c52054a8a8832e3824ebc33c6bdb6dd41c451fd636c8b51a9f0017b3308e72c27f39fd728f791837e67d572a6e067ce87ba3aed457f292e47589b74ae9ae5bda8c753053d3c4c1c441fae772d28deebdba43a387b7cd1dfaac2bdc85bb304de8b2b687b4f98eb9567777adee98dd1d02adebee6055487761d707cb213569a7cd816e3898d6a49d3607bad580d48cfce7a9696536aec16fbf576d7edfab1a100be3236b4b8f7b78f78619f07d07fa1372550392e33e3de939eed3835e03626160b48639ed69f338248100af4823ccc36dbea5cf087ed3b8d79fd2f7f7e1db7bd3f82a35d1ebeabe0a318df95eaa667b1bc16833612c756f0dc25dbab79bfbed85e7d94c0c301fe74b756f9df54bf7d6ee92c14caf14efdb5da49402608ffd5a5d9cfb3c4db3b6bd49486fbf5477c892d934ddc8e602af442142b4e2aedf3a8797898f34539290d51b15713fd9ae8b5d4da3b3786ff696a3e8ad056ebc75712b70eb05c80a148b39085d810b4fcf770b3cbd7d089e76f4349a5b80be405da015b4406bd7785a4e633efbe00329a6954a2befd2c8e141e8495a2b31a7b72f5bbdc09629de1bb64d5f66bd6d6a51343fb8394098218aa6999be599c7b844d64ae80e993eb3343397cbd19c56738d03fcd7af23bd07d6aa8968f7667073bd44a299cd9c2f5dcfbb31b028260cbc30d0db3d20c3fb6009fa45eb973cad92c6e8a6b750d36bf72706b5f01bcdcf3b447392e6f689794b0d687e5ba0a228b670245c7973ad0141dec26f04798ba07cf38d206fe12d5a1e94917034375192767776aa697aedcfec5c4f8b2037737a4d150e03fd62590caeaeb56a22d3a85d1f05328f994de4407ecb0c7adc6fee664f819a79e6a5699617cb2c4d7f95d767288e1c0fe1cdfa332b7d765f3f19c7cc735e5ebad1bd42580c7efcbac9c24daf2503729c454eefcffc937adb9b4ebb44d6ca344d33ff903137d1d47ca4a3eba5ec9ae93706c78f87f0d774fc9279cc2f96c5c0f4d847f5a9acfc71d3eb1d5a61ba2ce6b297f849bdcc75dc9ff9bdf7fa4d775c76efbd33fff1fbbd69fbd26997c86cf30eb1f0f256e0a58b4de4c2cb9c962ebb3f8ebe7e3c7df9f5f4e6d7ad55d7bc5633354defd1c9999edeb28eef4b0e72ae9739b5e92bffdc5ccbf198cbfc839b6b226bc5e3fa7c4cbf39bd6e4b06987e635efac52a5faf97cb62ae4245e937e3b8fe63be19f3eb328fa1396e4c99efa466be99de22c85daf1e273f305de63ca6699a398dddcaeb3db29c2febc9d9f73968fdd96c36bb28fe9c9f7c67582cd01e7781067905680b5f81feb80a15a5d94442464019750ab24da8893e686a226ba59353d13b059a9bbe51979125cdcf4acb2469531e2f77767676767666bee3294f96d1bca6e3324fdd655eeb6ce8e533c77528e63317eb90e93377d5a1ebb3ef71d01cf599a79e757cef9ec26dc9019aaf101686cc3dcfd05427ebf89ee629727a792fcb351dfff1d23f6822236bc5e3d367d77ae6a5ffa4352f7d4796757ccfe3692debf8dec7659e5edeefd43c08ad1d961af0380e9f93c78d6ade35b7e51ed4ecf1b2e6edaad572da937972fa811ddf715999c10e0dad3f43bfd7015f07ad4fa3d16834fc3a3307bd5e30ebc1dbe641117785b01858fbf7eaf2aa684a3d69cbd273bcfca4688e844dd3740dea9b39bdbcdc4569686a9fe6269a5e2f6731a7d59fe52b049a5ede976ed437977495ee8dc7bd35cc73dd6a91463db672bda0f9184d6d79bd575c1755c8a1f025fa8de7117d2a1498de789e8ae3e14173b8f8970ff8f383561c0ce63b28d9ae1fb4e248180983eda0d761687b89a62e5ef632ef92c6e9b27ca2a9b801178f4374988f8be7c9a975985b17bf01173fbeea85993013e6302d66c5fd785a7b20e820499274f207db766abee3e779faf8f8b806f57d1ce979d0d49f27c56ff31aeac3e3ae1adae3b5b43b5e4391be2707c0c2d8711e348df13b6ed4277a7d07fd412bcee8007728e6a03b2da7a6f8323186bed0d4c5c3f2cb8dba523de8247ae3ad8b6e45f0bc2d3264c5e4932f439d946e7e95a11577d1f149d2ba6e49c3e526cc4bd22f3aba89a6f961d92c7d44757c9fe6c87fddccf5de5ab8b601f61c457f3349ba1ce92f9a7af0d78ca1e3cb6b794987a1487f511ddfbfbc44d3184f8a4ea2ae6fb98b6fe52f75f19f5b30e3f23618ec4d4d40214c5567936621807373f4460fb0cc1b3b580daad80c99500c17d0bdb9eecddef8978b1c2ebeed8b684d912b1943edf3c864f67b62f549db0cadaf63d61ca36be6d0721895cbb26c99608a588a98291619911d430828c745349dd12a69698e1a65ab9cf6c9460969210d6401c562c50a15403354d41b14faacee7480df1e3a7d539d5114233dbfee66186112d25a5164a56c991569d7766ff7ce8062c2b698a9f96e56730759ab8cfad9efab6210d3da565baf588f99206bc9018e0f0573ce13a6233d46af7f68c56e8100c510ef6de5bf6eadb5d65a17f2366a8c1d0acac862db5d78aca938c7450d0f60486c6d257255323cc0bde10f0cbd064ec51767a2e839280dad2d43491235c262da1f316e51cc395c2e7a671b4d24f376d8f55779512b7acc4dc739cde298660df21fc06f4fba93d071e2e09ca41be0c0c689f320e47065f7ce26d944363a083be9394db893d16359a883709c38b8ae16ea437f611b7ae90a3f27ef288a1ea2691eb35b18a11b75988a3947fed03fecbaa112797381cdb440fa799a668efc3028f37acda22521155d246aba1d4f0ebcf56a318079eac15b0bbcbd80e9a906fc73f203cb0c9a86cb49176c446f7d318e61fa02b1bcad75e7bfcfc34a64fad7f2ef761d22fdb37eaded7ab36ea2a3b5a05b0c6a1ba4ad5c2d8c6a61882e660be28c2ba8245ffb1bfcac60425476340433160505450e5fa1a0d8414141c3975faba6e4deba5933081a1dc108d27388ee535a8caf7e8568337477cbbeaf8dbcc0d6e8a30ce9a887575bb2eeaa35c1417a7d5b4d737499e9b251e646b79cb9bcf434e6ae31fcbc652e77b9c6d43593d9d2357a0d480d480dc85f990d49b0d65ad18a5e5baa316197b748d14954ccf853d7aba74d29922819e6b4850387dde6f95d28a4a3da52ad495833f28535203520333435918e6033efe1d5966a4d7266e66c9633f39c1266bedcf494e6b0f26b7918e6c01c06cb698e32d6d3e63f87853a59c7fd9c9c7e00299de598cb62393561a5d780d480e4990db79015c8da1a53ebba52fb22afb6d4427a11231db55a5e5b6ad59a8c4ef6f06a4b3523ad56abc6f4a0a735a6ef56ab05a2a2d8f216187a936598533b3e9939ed69537a7aa59ed030c5b09e36afd29573dca7f492b925825e036231f8bcc1f3ebfce542273e1c88c3a1a33f848b74ef07481c3afa6fae75dee076678c642d0664cd20e8c7512bc061b486e0afdbd6e0d2e8b64d4608ac7b2544bd579fd427b5d3812b14ee4128c6954075d1a49a51436bd9d9e8de44a37b3b4059a3ac6e8d33c6f59b8b38a1ce255ac3a87402ea0034148426b2917379f29933b0574fa3fd3812ee8c808fffe42327ed3e59f4ceb67cd4e3b58c84eb9c0abd288aada928a81769b9b3d1cdc9711d1d1d9a93349a6b509fe6482ff2a0274ab33a91be511ddfc7f81c51741ada3037d1d4dff42eddc69d6559f658b63251d061a8f8124bf1eb2ae4e2ded09476de11ca1550957181aa8c5b45a02ae37af59bebc7c13d6d77c8659ea7d7b801642baa54b71826edaac914c98c4cb550d40a49179db4e2485628711cc5eb448a35ee90d101ee500260b7de7befbd628c1c363a002197c443021e88ad507449e0868d2672655174d1c10d1bb6c72bfa205dd45beb75f012b9aecefc707f18a3b5de3a77e0e8711a825a671af75b348b0e4073cdf8ef04b24a43d6af78480ecc8f9eb700f38b76806bbdb7a16a9a0e28d050f77e5f3b8b18e9231249eb7221b145fa987a0e2117f6fe5c449d245b39b550dff217859e8a9cbed5f2b2d5f21215b23a12fc2824de4ad4a8473447bf288a1b10fa30a7363e87900e6ce22b2eb00b31e6592910d107a5e81f9062bb2d632ea2b6e9de6432ebf4ed3034057a180f51cfcb6d3d3caf9cc2fc74b21add6ae614ef9a88c75fce83f2f86edf11f2ed39d648c3d01af531d47e69f354fcf1d41c4777f447678cf9799bd0bc3619ba4a0dcadd0b0673f2b593f3ca32fb2e97289ee7d9de41ed12b26f3af9b9dce8daa63b74fa75dbe48aa7df21989f5ecfd33e5dd1cce757b6bac751c84b1fd10dd41dd9af31a72ec7650631992cc532597b7dbb8bed320c9693e47e3c049bdbabaf564092de660dc5fedad20115f79349f07a336df966f39fb0acd9707740c579be29725107d5dcc779bc87c76d0e011eb7e59743a0c77ff2cb6b69661b493cde03433fa7a30f5ab351f39a032aae968f9ce06c36b7385b3e72522377d0c4e5f11ef7b2ee7e7471460d6a278b6aa331ae5c37b773673d9095c8d4027585ab297ba13aeeccadcb6432592ca73826732b73d16757968ca13a3b0d07353f767a6d221faff90d1faff9f8e42398e9a1cd2bee84c08fdb32099cdc50e13627c1cf09019bfff84f26810a5baeb81758be9c6c12bb488ff92d33085fd6facc73d09977561f314f2ffd147f07e7eed00983e55407fed34bd762f5b976d086736f25da5950ccd36fa941c3f19ecd68c81c965f7ea2f63babe17859666b56a82f77b7849d0e43676ed4d665278a23478ebafb198e990e6ad1d249990c96cb9e1c37669a0349e7656e4b1d9fa13a39457ad94ce642f716d3f1d92ca778e64657679653a49f39083ba17b8b9d5e95a5337355bc92c6cc616e5158761f47c2c1643eee44e647b59c562959be61f39ad7f2910ce6e34d5473eb640d0987661b493e3f2e8a356e45a755fa20044a35ab83b3e856a5eaae66559e55b24d4d76c92ed926cbb33b2bc5dbd9a727fb245a29bbab48b81a8a84f314d9e8565c0dad3899c3dcca6630b7b097cbb4382936a2690ed1c12861a8c7504af45ec75f3b1aa0d3bc44692ede2118cc739ac898bbeddcf19a8eaff08af3a9edd8bca6936b0da8b90a87808fafc824b0b98fabc8247072c3e63e4e821fafdd1ea602f50e82b90f6a7610cc6d680d3dcf186f7358f495734497a1691df33018d2d73286cefcb37986d6603eabc15c85af701b5a83b9cd7fdc07adc1dcc72bf01a5a83651a357f9153db40e63aae812ceb64a47fa13a68faf21d97a1e9cb615eff856aa0e33197a1f671c49cc775328e97eb38586ef0721defe9416d9cdff11eb4c2728a4f8f9d5ecb0c78fe85cafe95e3f5651d4375dcd7a9bfa393c3f4aad57c7c7e7e56aca8262c0613c3324e71561361ec5050512f5e545041133153ec14e51255289bc31cdf02d81ce6a20a87b9eb164085c3bc55660023adeb8557e00ea8b8a41d3f6ef31d2b5c85dbb2d6801fb7f98d15aec265a88df3e475c96c24d56c24ed78916bbea382ece346f7c7e8d60eaaa1b58354a0b5836c68eda0199a1ebdad305c32208c65f1de60466d691ecb69bdfa98fbcb459894786f2a6c686de63598af70249c8fab406bb36c23e9c751afc16c7ea3e63687c1f20d1f5f918f50f7c9e64f2dab207dd0232737b20a152a801ccd4716c8b353f0e3a8a736eb7d2cf01715b805ee474e6eb8701fafd5fcc76fd4fce7c76b0ecb3760389a8f508791ef533e7272e385d7f2d17de116e417f9e836d52ac84758a94985afc83657e1376c303faac06d0ecb375638503eba591d847d85d7bc962bc847d755b88a7ce4e4860af7c9472a72d6bdbcec3ef94a5170a582945a34052db57892f2f1f4f26e77c7c22bae66d436b4e25ae01b8b7c6471b6dc4a1d849d09b779da4aee295c4526c1911307545c0a7712a4f08a4b7ba9e2704068c55180565cf6f19a8d24f71d1697c28d2e8af60efdc9475d739b2d1f39b9617bb2651f3f7272a3e63ef948eab1d7fcc8c90d1fafe5a3f6c9d83deda6da693f79c5d9724bf964b383625e71b5dcbb06545c92a7b04848ff42d3bafb97d0bdbd5c86a639ea2ee6b1182aba19e67af4af9acf8f9daa7ac2d6556b5e0e13a6cd6b8e8443c2a5cd43c291d7f58322e16c2812ce07b5b89aada87c23de9bcd5fcb5fe8588adfb985d62fe720eddc0010212b508f3ea269bdfad13ff09e74f4e008d33a06eead6b8c6388e6287ad1c718f7d64e0303f7d6ce74b357ef01062e91d96ed1daab9dabd12e9b807beb710c431ba36582d9608a676a6d7631f41b95e8a6a3caa827306b54cd7a980b66cb3d15cd5bbf722aba6e6f737afee8647f1d30409c38713e45b29df6aca5eb12559c959884b4373fcd6a9ef53641f629769058bb5a2396c93ed9275bc5beb15116cadaabb7e0879d6c943b443e79cb0c92d4d3bc790b2d12426bb84a3053db14a21d7490b5d141d636dd6c8584d92a759075ebc33a08d7a9ea3db839f082456e6de1cf8a3d44ee5e5c8bdfe8d7255074add5fd60b0fbb023a60825b5cb50b79c5cbb91e33aae938f6c91372b4ce18e72728e87d0507ee880cbc94ec6ba4bc5a8af8059b16049fa98c39cb43033669d60a609bb4e660c669f94ac938d12babadc80f4b06480508e0e4f51e83ca80e9a8392631836618e6da33a5b282b5574ca722ab6ddd5dd1176ebed38601ef314e6ae7bc3e506b058aef7d6c11daa7100f398c76a34af3ff30a83954e43cd5a5d5e4d180c563a8ed9343098e5d9280b65a5ec958563a9ac555b5b7d81a9eeed96deb09c24c7bbbf28a826cac957fcccef2b3380c5dc7a2c5ba9285c7f7c7ca249380745a23a2ce86315736a62ec2e388fdd66db427d16cae20f0a0aacd837709c2d08e6da693bfdb30e746fe01113ca4a27275da8296276162a2737d0fd9066776704d246b53245d4a275e6d6b681615adbdda3f55a8e60c980ab825b14f378eb1674924471efde481f473c8ea483e867ab69bd067146262518dd0aeb541427a8ec70c48d9913987028752d1d18431900cc38634410619676c0818ae10618be10c6842e0628403d30ac3a1169e9881f5c88c1aa09ca149107dda3d8b9115ba218054b1d5b535f94807345c98d922786805912c728ab143e64f16118b66628512a02258d0f51aae01a0a909605035435e54130aa8acc9128306f40a134476228a3c40836ec7085dc8065cc230f1d7bb8e8cb133051d896cec990320cc3d0daa0a7aaa82f25b442dd13970e24979e0ac887ddea3ac40a4c3da520785f7608e2d4636c85515e9ef81e79f52a97cb9530eaba6f7431e1082a412879f202ae5d7cb7df3a0d92ef0ec330ec8671a6cc835141a4745da458102214f618baae0563072443a8c96a62062e17c8cfd2d4991d66628872c48f2e3c76e88823af7b87c1b8e3ae90c2878ec370ac611593449ba71aa0a0e1d1e464698d9170cc634fd7d285a1940a3988999966d4957a2cc322f67a996e130d3d3ebd4e37ca638c6579bd253db0638c6d14a826262cc378c45eadce2e4d3d0c8f521843e572391f18231901bfb08845ec4018e3332e9c137318bb49e5b1d3eed0ebb1933399eed540df2eba9b6a890ddf8e5bcb1237df6e4a796792e5db6f227cbb50932bdf5e34c2b793a86f1a76bc158f27d25eb4e145516ceabda824eabda1c65d48fbd0f6e1eec3304cb2f46112346e91e83e36808fc5ee771f11e2c771ec6f519451013a80020000abb67903c7260d69994184cb83143c5884112d310891448c1626374db4c85044102d33ac01a2a5c89a225a8c98d1728408531d23e6c49c16223c5e904f6415d3ea61489823cf74f10ed1de74d3cd9be69ba669ba68567e1000940b505567c5260e4a5c506034ae360a1a9c402b407830059a4061042a5438605181e10909200ef394951642ab8444c586199ccc64b971d304077b989b521e763e0ce6b726ba56b95cce051c2cc3481b013e0572013329c8a96d00f0697d53e124f1d85923543ca2c8003942954216950a5294764350ad6002204fa8746e8c50b19045d5030c550b499a2cac6d3ec0a0410305113e1479e18575dd62b8648930aea9094c0c498430028e99eb02131fb14c2e81f07abdc4d7cb6bbf5e6a5ee4ebf572a05b0bbd8afed5e325be5e7ebebcbe5c7ca569e25f4ebb43b27fb910401e67c1446010441e24c08341a07930008fb188f8bee0bb55303d91325f780782150b1440a26862cd98312ae0401f5342303355dab796203b7cf71572a942d9246086788982470f8a16d828892d710bd6529058994812c4ca8b0c3e6ad881037ba829f2612c8a327c6f01024c2e975bea56876006227a28728227ce2cc1f565e1bbc36fb17b1c732a36894c46c2d0c51c8a356cd38e402e6c099fc69851a3a8ea98340f56acdaa6fcb4bea9707c2c8f073fb53eac106b04cda7b649974f6d9407bda6b6ca838ef5a063d045f3f49b10110f7a91510d1b6b9a78d03bf000c983fe01084e0f7a087cd02177958352125bd62cc174b56b62d3c4c98407eb961fc240e11074530356696e51b3c38a0ede48092382112a9c000bae74f3a59b6cbe74da1d0abf74a05b69cbd2a754205e5d354b31acf8b5430b40a6f84842a4a74383460ca39c7c6423eb72b9a9e45d2e97dfdae5e775b95c29cd96e3616a061ea68a2c99322282ef3c595388d489d806275a8d924ba4ae5bb43cbce802dcc0a4c54c2e4dc9f00468673149922449923c242449923a92f45b1309e572391270a40b5537648c3c49afa48b77a8004fba39e549a7dda1f249279f78498f1d630ca6c0f4a42eea0a965b1059ae08912484d410270ce1c5821e0e04b7487d4a03e2080cb09abeddc442e27c25bc2b3320c75d1391ba70052647406b650ce105081b8e987ce9f144544e89382b5029a1f543093ff8f08449ec6e2d512e3e05ba0a32741586cd0b6cce743792159c04c942028a129c70ad821323402866fdd445b391f91448cd95323e2cf930048b0f496059a325a9bb46b1b444428e07d31153709dc2f71420dfb3efeede92dad06069519226890795cea4f1b144240831457830894292502097336aa0d00c11c34ac4d4550d55a06021cc0f38b0043e348989617866498b2e97cb9d107677b7142fdfaeef0e1bd354540c3e8df1e98c076b54193129ca28f16497c4837e1332e3e3412f3203e641373ac382d41427b01087eff3bb1b0441107cd2d4dd2008826083658afcce631c562b554a92f8b1864a85a88bc20d45845ebe77627773008621baa8b192030c54703de3fbc909df1d7afbdb17f3698628e9345b013e75a1e54a961d0f42d9010b0f71b08cd161042c3d70c14246895c7ad2464c2f0704a9b09278a28b0d3714c1448d13c58d881381542800163154e4d2d353511b27580842c4122348ee09664852472e913ad207b9e423ef0e5537b5a510e3d21031c334c4499b20b8024c3159620c33b944eac4b758c412c6871c52472ee97cfc6795cbe576e03e8bf5c19028b9207e1893c3c245f1a9cd5252c4a737e93faf9f8df2f45f9d2aa244841c971a902c51fad44a593dc1e1536b157e6ac7f06c13cfc92659a5ffdcea9aa895c491202860e5c8ec60c2a77689cda796e9bfd41a19b3be31ff79f580f669e52561e1d3da7b7d5adffc57a53ac87611466830c1890d6dbce0be123e2dfaaf864f6b14054a300109658e4801b202eedbf19f9b4ffce7b43be4facfc72a2adba7400f36a1f06096a6284a46505275c3a0c57d529784886fa1df6a01d1b35bb26e507d30e7a4f4a4835a92620017a61b543f15addefac84b12c38ba298822e8a62288ad69154f9300c3df7a0dd3591c8b44362420bb1e90e894cf7662f542ef728e8a2917b6bba4360b6bd5cee53308b4d22d3378d524d443e8d5247b8c4e85987fd00f5e4f49684ba432e98a2ae89465e6a75dff5ccd3992d66a8b014e125498a932347c4116cc8e104659fbabe8d54f92ef37da405d322fd40e244142f1c6165071d705ba8c090632d113c80152c810a46762f4c9982040e2461ca0913326b41b0888fef1e2c532e9743c16c3f37a0814c1349a000040a13e07a8433277c7b0cfcf4d47d55d4319fdac27c0a34804f5dc498c1c3a735ea417f223f3c38c524062b234c4c3ce842358b0c343ce8463388f0a0d798614cb59a82726524a18844b1a097cbe54ce806bdbb91762893431246500d497203ae45f8a6c2c2b7c7f8ba5d5c3ea5c5f8d4f62990974f5dbc013e8df1a05713fef6a08be69307b30869e26f4bb20c61e2c1a2261c2ab079a2f2a2c68d959bab023106fb8be9658649c394d129c8131b7ec2e244067008e3ff1e04720496f0034582284245841c9ee470a00f31944f4d243285a4ee0e5523b77ead32be2c40887c7fb40793d03215850c516e308303c59c39d382adb14c5fd60adc5272309bbeadb0ae2da94b61c2104fd63c81224212364e0d5524c678ecdd9bae89c82750f7f60bc516f6ef8b29323551c559279f5a39159dc49c8a4f6fc39c8a506f45a9b7f94709b987eb834cfd21f080c4153169b0ca90a14d3df1783d98d31c236fecb52731add7df3db6e031eedda1ce55ea41d06d5419f6412f6a221274710142f458e345091ea0608303a378d0bd89905cd8d1c30834242ce182151c08c5832e74876a941a380f7a8c2f8fbdd209b37e3af2de7ac83353f2c9eaabb535cb12919731f29a48c4591f7b40b927635cf00b1012dce1f7823b4c4bf4898fe37a8b1d543f7bc59b59205d96bc635b8ceb8bda2d7c3f5bc50f06ab3240f0f5aa32beb02cab0c2c768b24ab8c3b8e639561c9560b879f628c31e812d35a6b0d3f118b77a8acb7ea9f7faec73d5ed2d65aabd75ac930a418ab2faab5d8ac2f2a52db8b2573ec2058a5d1ad0f9a0b6710701635ab0b05017fd8c8bd61a6b089e9b183108226e2817aca29a576a90795390f1af31375f90e4a963e43cdb216e6a01537432baef504054207e17029d4dd1ba86b5783ed2598b8919462a6a7456dce03638da23af1b8bec05e41005d2ef324d263fee55a986dd0c618b5cf678e84c3ee35643efa0d99c77c968f488ff991cb658e844b2bd408aa608aa0cec2eb270b2788f03df0fad812b841d8491b8519fe4e021683abf4b801a3cbfcc6e8b27ca3e5b17c745f5eba9c1cbde53634046d9550186a476ce2b20542edc990be4b1a21ef750f68d08f2d0ceb1a8c5f91acb531901f0529065f8571dd556d16c6f5da8e43f4f676d08d6e08ba15734e60b677fd06c1af1ffe2aa82c2a05f506a3da2c065e615cbf447f53c75eff033f1cdd8ec3152f9c1dbb8bb6c5232b5025417037c0e207ba1fec2ae3fb50fb64971cd8386f3368615c27bbc1bf5903fca1f6c12ae3f3bbc1dbbea01bdd0ae6da06f841c70f7ae82e06e0b6e0477e38b0f797eb87b306f5bf1390150863de5b0b3a095a6b2d986b077dd86dad221913bb686556bfe255ba8a42a18ad5a909d2bccbc3cb96e6b5dbb38930cec60d0fbd6fd8b8b70eee050d423143ab1af782f68b1a8d31d36a6505e3c14c2b9451bb8f5ffd7492244992248deecde9cdc398a2b7fc960ec0389787e8b8f4a15ff492e5f57a6f0330aeccb583b08797f7ad9687edd7c516d0252abd4463dca016c530660d23d1cab47ef5b783a2ea8babe5afab39bf6054fc5e6885845d5be2bedd258dfefa8b59a4b67608b21db7605aef7bcb0ed8381ad8ef9206f60ed8389d9dc48dd3106a34628f35887de75a718c766fb5717d71c99064b5d9da0ff01daa7d5e1f7b6d37bf66e981e6adfbbd9958c87a03fbe75f3e123bc83ace4716855c113ddc5108ae343827ed21806376e09c5c47c2d5ae1d74ed04403134ed79ba8c1916352a32bab7b4087b5b2b56b4c88b52181519cd289a6174edbd37b715ba17b48b45451d68a2643c3c5788e8f2050b942c3c90a69cf91184125f7430010c6398c019c72b0cb0c4f4a0039a6fde971db214f962c5872f5058be5cf1619bb050a9d2438a1054295c1ed0fc70bd969858cc8b2a287ca99246071a4e59fda1c79319d42879e1cd8f2bc68c8b66cb41865d0e27f8d1cdd3479e23d8e86026121e1e1a0e39e0c03b6d238f151486605171a9014998ca849aa6afadfd82430b3f8a361e7189ae8927acc419418430679cbc78b07e14bbbbbfdc7035ca50337ea1b2e4c7518d131b984a10f5430b3c706df51d258aefee2f4fba1fbf88369e51464ad16969a104383b281d3124aa06214b94de98c101cc1a29535649db0d25bca02a22c9971ba0804e574144e1840b3dd09ca1aa6a4185568fc76b13e774da51e4a4c3b79f5e83eedb6f36ac20641bc7b14a2693c9465b1328229c28a97212050d649e34a1310489d590a91b7455ee171a7ef4182fd62cf18149946f266c2a0e342a2c6549b3c6c7182aa735311c002b9ea101cc4822648826129aa428d9a18448959231554b5280ba6fceb049014a1169865c2f4d4af09ac25d75a4caf71624235421e1a2828c08265c69a2ca0e4b9b1b84c064239abeeaab9ee1e9bb8522487c5715815365248dad1b098715aa94f8a14d162233e0ba8b0d455c956a0c96978d95d475a0e70410203e74544c801bdd1ca1f4f8711c477b06860b314d301033040f57bea978e831317dc5b2c492126e96b82173c2149b253f3e365b950a425ee6536d482340a17282241e5ad41cc1b59f2d029926944c7063429115a47c2861e663b325f1c2c7d64668a8d69c5084ca1914705dd97c2311e7089b37574b28edc0e52a29c787c75695c20b3f8ebc4f09c9c8d509bc3768ae5890e23d35f578bc36338ca072f5a5cd0f59c359ea59954085093625e07e603246472673e105cb172352781235937d29c2a9c6ebed7ab6eefef2dd2f7eeca898287175876479ac4a2031454b102a197c04c18d5b7e1cc7abdd2ecd3836997675ef5a89082998a894343102d5923357a31d79295c6d81c104362650a2062d51b0b8ae76b297132653568fb92ac3ca7a8bd744b5d58ba26a61dda128ad2ab735c67a2bcd25e2c9b5922e516de5eed06da28a6b6244c86df9b82d1e52502fd57b3001d85d59f18c6e8e51987e1c479e00b82802856f275345acf92923a608d59083f1f0b42da7e492adba4103c4c7c36302312ff00bbce26cb62a1e4253445491d9c6017051d244cf871334644539c1c1d9da9ee2a511c24ff869f4d36fa70b9d6797232b9ce70995cbe5789ce77982ac261252d8154152047766f9d3cddc9fe29fe7e9dd43a7e81eccb0a8626a1a2625263032189121cb0c42bacca044972e4594f8ee6224cb558fe49a1fc7f11c4f190d503edf5ed46adccc7ab0112942d485c8992e313c919d342019cf24624c5192d91b2cfc08d3e6852053ae3c49f34394d93a0fd9ed3899c253c1905d1210313528616131a304460021523c0c09c2c44a9137538498c24496a92b6b4e6026880b4192309f8020134352ee0cd50a6c48806213c3133f8ee389038f1c1e1e74e435c6b251d6dd4b492fa429b2648a9515354b244f0662842952e192d3e287125640aed0b0f4b24009313fb2f4589b7cc9b1127e743c7659bafa9e1dcf711cc7711ca1c0f97194c9c62c1b4f33b99e71226e2c7479e1c6e31b06218a4e59ebba1b0729a4ae65392597bab880e547710cd30971769042260822b89e1dbe47ea0d97efe9e9f15b137d4eb95c8e09aea7a7a7b60566c878e9da3ddd3c34d96dd536c9fae81eba6d14951d93c662b585d397475f21466e9328b7ca8dfaee3b060b2b46104b52411481454a889ed41053df6e14c3b7d7b0c12be2db3bf020e9db3f28f3ed208480881f72364815e184ce882d4b4c4604d12465849b6fa93652504b52564750edae66f8ee2161b3921021978413a5de0e5d6f6a49891998ee50955222ab69092ba7271edf7ea1a496aa949bdef7ddb9a0de05f5693771e0b2f238da4abd755714cebaa27a0e506ddd2d63081e90f072e6051778d0e18c0944994c66e3e1d982b583078b888c4716e584d9e9e488a2238fa74b09925e26938d3c63d5c95ebc2c273a354f4cacaaacc16ad9cee6e996c9684018712920a24eacd444df8795de8649218f07c1ac07d3303726cdd519389f82e09b07593868046c023e21f12908058220d3f7e6cb7ad0c11ca874e6ea535007fa7810ec0179fa457d520ffa67f5edce90f9f4bbfab01efc9ed2ef6302bf26333d3efd9cbef4537a90024f31560f67edae7cfae5bea4deae77953dc5519ea0a4ae3ec5560fe23157b8e9ca09f5142761a5071debf01299239f62266cc4aab3c01eb3bbe2b501fb0d540781601be9a607bd9dc07e7afab4a1a29c3a286ca6b173add443099fb6ae7d30f14010f46b7577636af8f45e61e99ec0eb0304c56c016960986bdb2b009824100682bd1e98da28160aac7202be40f0eacae6a05b5d0fdc01412b2b4feb180f9a884788921aa7a5363424c181543980392008058250608f8320e8c50a783611e844f3e2e341d049dd0a152b568cbc15ce22abc84c22d38a6c772a76b9dc5b139be7797a3df2a7e3b3cacc127f9e19c143de4ecc0301019d18749c3862cef53cb4e771f33c8e79aaca74799e1dd3793ec1ead92a32539e020a2838afaea0f89cbd8aa71066acaca41e45bd8ae7799e2194f5aa1e5e78773fcff30c9d9cc6407d0ac729529ce7399619c18ca3d7333f8ea398383ff240e6c731476e35085ce0433e948f72502dd56085bbb256a12eecc14c13a03b069816bebbc1507d5bc9f05d65e5c477981bbec5a050940b7361ae2a87ff71fcf393ad2976057b604f467b99ed655e4d78994c56f525cacbaa78b88aab2bf7f1f1b17a1fb7a6d93f5898acac6c5ddee6d84635e46d5e4d28eb555e64f85aadd6a093adeaf2e67b7aac29bea0fbefe993559dd253105248a42c7913e6e6d0e4db638c63f70882533eca544d195135c544e53969203043021b118404e143105ce3e0c3189a8e27a7e4923dcf3318c4d8e2c5670b8f0b962a2e5054499519c7be5159f9210b0d555f9cc035956f1b80f8def91e47fb93468d8b2c61d034a98aea52a50549d51612ce2651be79be1be3aac60c908b1935ca0a14d40c555071765557b0aab0ec5095c5c701aec031e2c70f254fe23c4501c21cc771b452650514245ee3d862873502a8b2d2e30cc1082e3884a192c410256ec041067174d9888ebd712cd3a66a07a5b142ad89428a8b0f2b60c2403145ca0a2f59f799537269c88f3d0211e6888fa92050988025c5c912b25174e4993c4cebb74a07157e84fd38da514a99ef3e65b947db43ade6c05441550e5e1ef493e9c1aa2a39d85defed188bc562b1582cc6054b48ec15e3c578b198df62b1d89858198b8dbb582cf603938f911f03820d0623ed87295c8028417f4e6431e570dd8dda5c5c49916143840b1b2b5c7e2881d0903244b2764849d8b061218e973071c0dc2816b04981890e2e1c895282b2a605622e574554f4ce8aa2388a3da92b228fc813c55314b7c01177c4511c459928bad569a1124751143da029218ea2283a90288a454499288aa2e8e6082f8a4eea6231dbc7bcb6f0b1588c8bd4c7a48878cc75446a841c2e168b8911b36821f3a3e371dc32c38f5bdefc388ee338eea29ef8f33cb344497999ccad298e7887a5070c2c57b2a890258b10600f2c115aca77962b547c5400628926718d97303f88f0500589121bcc0829632388258a50287c8b60cc56289400a28d1b1c7e18e9a106336ec29878852b6e0725c258c16242417debb248690114412c4be4803689ad74c5a9094d2f0e09d7e90150709060e2b24389114fa490a08f243882a0288a1694c5c42a28c401824793206b76a0010daf25035b48d2bad6edececec4c2d95b043dbe99d9d1d3f778af8e282921e2b1461026ec745186cf89d9d9d1d9f82c10a171b8017c691273a914b4d74e404021609295d86fc28e7b9a11cc285a28aee82ec763743852814aa88a2289271f5940b52dfdd2f94f0fd421a6f318634e40917c8c0b064821d134eceb401475e772ce683891745110a09b01eb3ec6c369b794532c3b8d96c46ea66b3d916292efc6cc634b37d77143432ea95d83b442922290a95903146347989e8d81b79a2a81bc14a15658553261ab1e9f94001ca87216598ac792194c54651dc02c5ccf72825da28ad56abd52db7ba16132c2db1e541ab25c594446b6c01b55aad1eadd9d972b1e5e6976f39ed0ec5bee5a48e047211a3c90a1725254829e161c910a925434831b961e4f1ba6d402e901cf946c24bc2e43bc911df4d360881ad07c111268aa20f2f8a2e2a79d14da9234f2f2229c1edb5454c179ddd8db41f6d3f7aadfa711cb3409de0472345dcb280854a104c50236f5ce2b33d439b6fa922ba5eac8e158d0b4828d560040f2f48dc2560d8d00004992188607152c233c59628c6724a2ec9b0b7821f7ae048cd7045cc2297174c08024b871b8e88694243858cb5a46460face8561d8612fc8545886bc9017865061c8250522e12cdc85bbd026856e75e18f1bc25768431bd6f6a0f2968008636118faad856a5af4a1d75d1886a22e0c433745f8d06977489782cc8b8ec5204b5e1445da8b62d10f2ddf5c8010c1da2dbdf998e358acb16aeaa2bd60860b0c3a70597a4106902e4da35413894c5c5e48e1c771ac526c842c612532e9b8b84075c12d92e4a60b5498eb26a718de344581c285a724352811863a9dad852578d0c2c5471251bc714305cb0f4c23b84182e6081886621551b401f580a20526df7efaadea5a674828a385c79627351c5921bc2e16c2ecb8f45012eac2d40c173557d63c71a50446d23c8d55888bceccb7e3e6c2820c3a3a6e8a799dd9ebe8e8e8e86c89a1a945ed61890e53138d3ba69c9c13a03e2727c76f3939394e7bf1a94da9c78c29a5aa135a70249c9833ee4091869e962050acde00614391202f70088b62004c08a265ca84abab02128f21608ae4a0f8f1e36a862e29d0200bc3302497ac0b263053252411b6459a4107207232247182b393218a10acab6d6238e572b912b47436b8f0dd8d7177ebcb9616336a54a51a3325820e5c924648616a043245a64820a285a92436533b9aecae5213913a4ba3b949a3d1fc46d3d1681e554484074110a491ba56011e74bf5d7d71856118f6540b3eb5c900049919a87cbb39030fdf2d9d1330ae300c43511401c084a68c0c36841d5610049b841996c57403502856a82601abe6a8c42b978c935a2a543302000000023315003028100c86c4a2f1803c8f43c1db0314800f7ca0547e529da75196e328a59031c61843444040404044643604008d2a419fb05249fa47d528e7bbc939ff038de09d35109b2d0aec5fb6e7803dcb0319cb592bc378c2b184d6f63f9987bd038d0a44d9d294c52533a28111f41f2881ae6f5904640bcb64873a35cd7fbf7288aeba2d0fac602651c41e869d771649cd47fb8c4ce8fc78ad6e9f4766a9810e4e91719f15834b4f770af55acdd6b24a2093a689274ed036bf3eb47f1869556845bc02eaada42cfadb6ce99d6da05b2685318b89bed41ae3b8f4c076f03a7c1e80574ddbcd950f0e1f9f51b39e7c800e2be893511edf8623a1e9beae06a58cbeec465e9d4014601c8828e234de2cb052170651568a42bc9c81916e054873e40bb99728f85032376502e8185fb94fe988d83ec8291c179c24a4d1963dfdf8dd302ef7fd51a4b230d7ec0aa6afea32807389aa141b77be9f85b95f265c743458ecf47fe90255c013147f51997c93083edc2c2444580f1ad5b758a78dbaa44c9519681678ca37d2fda8d07efe02d7c321b98f13a258d83c3fa6c4fff0f9d4ac8895e2df67938592b9497ea410948d484b3a153361180c8925438321d17d6eafcb2ef55ba716936548a996707e7cea6d36a9290e38b320849eb59a105097f4b2cf3b530b4a3d2cf830fd0492869dca710fb1b11ca48c4a7dde85d45f4d2888b3dc476a66ad71fd31667bad379c0635d0b557d7b89769021a18e7bb7ec02ccba7408656805d08f477dcae53ed6f2ad01120303768c57c2e87e3f01448d221663a4532ac2b5f29eb0389ab8429ac969e4ab6948847af2e2f2d350f82f87edc44463bfa1174a84afd9bd881dcaff5614c1260e043965038e0aeadcf19494d1a4471d62cf21e2c0caf2a7f0e20b854bc4418920c1f13bc70e6a5355de61604cd9c62cb5bf606929088bd92e9806c82a1dff478341d37c6970194a0ddd9dece070fb4da6b76524ba3974a3fc3c2ce8da50845c0a7ccb0d1524f1a2c87f6e144019f69a25b3e08935d099eedcd2b8b62f698664b751b38b91dae599ac7844d1194177ea696ede887ff6f9dd82884dacc9cbd48706f7a2159a3f9880b5200092fd3947bec058a77c8ce079c42b6d88018c7400146213a036d8e45ba2b49bf3da5769a6ccab9b232cb8c6f71ce78e59bbdec948a1b038e14cecfe017ec4d1e038c6f06fcb301638f270b9e72c976af5c6658f72d096259cda16fe0b5a602cbca3742d771a0551a9228c42d8559e980b520122970dea605f80ba5bb1c39b9cc3e8b41fbe50cc830d96bc489decf5f76ec62077de3447ccf85ba92167ea4436d72320be7769062b275fae6c4eb69ee1efaca83b58e5dfee425866b204f05983035002cfc9454ee8cd13ffb4d75a3b0ba21ce7c9c7ccae2d173bfc03653aa11d568a470b52b6e31f5d9500d87186ad2e8cb3428d4feced9da9d38b85c09d54b29fa42d70a86ec797660ebc92a55094a412a84d8f0e74d242edf09231b6adadaee3516adb8ad957ecc0518a1cdd0cf88d40fec1480db6325fb8dda35ae76cc212434b1896b695924a2eccb5969c326b3c2508d7e2f152f82bd05dcedb66c30bb39cc43ab253c8a3b6e6110d631aeaab2782bb3793324871b07efba1392d36df1b2a5df76cb570fbcc6831bf00098e7061e9155932b2b5ecf2fe3fbca68c4add83687cda75276141c789a3f4a51262b691f50efe40401188caeeb04a3222b456d1899956a2b4d2980bb982d4a4ba4eb5f50cae2cea61a522694e13e1237c57e45c76cc77e89301a7f60df45b7cd88804b7f2e5e8f08a8e60f8f4a2bad4300ff24109fb8eaa2af254868f159f8e318029fecc3ce1c559e30740d460a56625a91cb628f9cee34a0983fee0144a2852a70001d1cde14428ca8ad20b7f6a56f697e90c1e8d1b862475c9d443eab5b53741242c230a1a7f8aa0911edb1bd4ee010d874718390f168893e0487d10d31e21cd955392abe9789b5618491c0f2371d35c606010eede757314cca0d01be6218392823b81b3600d0c01796830c4a189e59f43369300d4976e98145d1b0a7420aa6859ae5470e6c8028710494fb531a2de99175a735aa0bd781efb4ec81bfdb24363d319aa63844669cc206b2e3f3e37d927059816a020f73a06238206957b085330ba32a7194dfbea1489ef77e29fd1869a5642a974311dea88e65f43ff8918b4694f0cce32d6be8443f0d684c91bc9a4d129ea9e367ac2527477414c2d73f0969424a5f9a275b355cec764a5b8aa92cbd8ecc04339bf9c63a6251d9995b65e1e9e30fa003cbcbe91b6e83f29661c4f279b0fb2e5d4a82e134a39591847550ae056595a89049e5e12c79a8808b95ebd99519a7c6f628a2d508d0d0d634903482fdff610adf0445218c52196dac74bff3236415f9304b1586d0bfa8085cec5e4a4ccf513695b8067b91a0ce953688d0cd6b61782ee985d6ab0bf5ef2ae862fb187c9feb905b6536217c7dc878e97fa675cdd94f83fecb18a8f257c377dd63864df729beca281ff197568c728687264cc41804fd670cebbd5b74b2e7044b195631b714cb9225b5aed06c404480e29d7b6b4855067d2d8e901d312377d6fa57336cafa06f46dfd27849657ac86e36183841f401634dc3d8000cd7392778c4c8a6410a186039ff1f98e6f429bbac40579c5dfc81b639a04660fe1ca0c537b04471b40fc6d61ab66f753b130a009f9a01f585001db4b29a792efb6c2cf2160ca17e71c0aafe03f90e788767384e7287e6aa0b67f571bb8b809a62cb02a67cf4f04a039503f7ffb26acd5a11a62283b184b37b220f86ab6e71f07a0722482823ce905200d57cc0f4abd6bf6ebbb04346f1a6ab852a9638c0d71eba1ba4c7fdcd3fbe0a91b99ae9d221293aeb549438e4bd8d5561d4e0507d4abfa14bbce96ec4b40c299f27eb81a1c9459907ddd6035a4599e5ae26357af187ebbccf685079cb7a93f952e378e6cb76984809a76464b47fb47767c32beb1589db0b07cdb59f62087ccf079758b5bdae7c42bc14ef58fc71891b2ef7ea36c6d4e8711e990c4434e18a6bc30b799f926b10f9c03931e0c0ba83e0c4a91dbd8fcb1ad60e3aedeb878cd3d406cf3822db62df36c68166b0742a469d684fde159c376a2fa1c6bd6f5f18140eece7c32407b02d5cb01160725b793a099b13060b44a304e3d899eab52c2a835e4660f3047fd0b1bbe12f943c7f8b2aaa158f07b4b54ff2f2f42e2f1bd19a34156650385a8322e5ef303222845b6bf27f2c08ec32c3321fe9fe2d00a60aa9557a849023166ab404252cb7ee400e78e61bfed8218f1273869049100db2ab2f27efbf1422f48b0ead28d3f5289c86368863868417e223bdb142163701967219932a7fcc049bc8e9ccaf832092a4f2f27eb61a70a26dadd6ab403427d74712dad672aea362ebd3f3689570495857da692743e05573557743bdc34ac433852242ee4ba1500b7443dd3cc8ec226f16e46b263dc7f1d312dda017a35033914e7f9037cded0f217cbd7da9ec4df47d539c124784845e4ffff402e046c3bab3e1151e80dcc602f68b767b10fae6af7ac382d783362368091f896ffc70269fe98c358494e003132b754b42ae95cd5a352fe44aed998333719ba033197ddc1d38cde5f1c9b1deb1eaeb411b09b73dacb63850c3cc88f42edb62c8aa0d98133ddf6e4a5baba89b98574328d30c1291dc2e8bdb73912e04b6b8ce7aaf4a5f8557096b532f0d4ca31da9faacde3e7a8d0ec4297ac5cad6396fbb6967ee0b9722b54ab5eba9b1a3d59674ef1fa007f28bb573399b1548ef20728aab10093ac1f0ae3a79dcbeb68254a860bc62a137b1b94b62e11a59a94f7575420281b69c91ac9b7ff17d128a5189f309bc79679746d1ce691951c243f6f7ecad092b969cf6f9c25eb7ea5d6148daaaa4beefa4cf047074105aa7f90ca03bad752794706e57d8ce11ea530ab50ba190f5f7efd1aed2cca862981d29cf76e4ce5c08a6da10555760821b75a2b273b96c3163c4b3ff0f59e916abcef1ff04974b922b56f5ca9fcc0985d802306e0778ac68a3c3377851723418d34022d972616855869252e73d9d96df15ea8cfc30839d4912a80be133654621c8af17705c56f622768316071284aa688ab30b28faaf74c2fdd0a3cccdd83c36abc7057423865ece627a0e72309b4aa226be2ce3e9593b396fa4abde40e96a7dbe5bec1d07190218061cb663540de219bce78872788a8f8ce69fb9770d0abaa5b036e25fc12999988136ebc90639084da83f559aaa7883a8ecab2a0f9802ccf806be46e42133a8e149c3171052d700c2ded438f89fb72b76210618220b2fe57e361ed08f6ff2958f0543c266a74b219c1dbdd71397aaeff5c7577ca90492510c775ff353470a33a876e5b6262ff27013db6971059aa6503a7d4927deea0fe1b056ab91de2d0b0edc1caf4b0d9463125edb7dd01a4c967015a6f9b9938e5301a6c630a8de4acd82be248ce4140b5076eefc1cec17e3c8b921c9a8f08f9e4b7192d9b58d2ae869323ed6d1d8a9849d6fe62771954cbd077012da806615836887663682d935c91ebb08817e707c976db016b85fced574d3a486809f003bdcb40ba8f8e07817d565de7cdf7519697b8128fd20175f64e903e8426997dd505735ca499400fb736748deb1e3d90d6258cc736dc36b7c8fbbcfed72a75ce9d4483d3dd9f7a1f5c995da9de5e1aea7a7707941c3bd99c188512b6344e999338aa1a990912009c66521260c4d144dda4a70a0c465904b18cf785bb7974a10747b598d3f040d5fc5e68cc6846087f378b007a15996f9121aba0e6250248c2244bd6493cddca718d789e607eadee18d1d6219ead79454057e1c748dcd3851c4086b1d19dff2d3d8b770a8aa72148a076e6d396d476844bf94e22c130d62b2e40ae7479c3e00ffe60b92a91b19b649f8c401fa553cfb47b259ff2b480b0d6c7e3582d3a80724b470be0228f20b341b4fe6b5e18ae10267467f86ae49a8b16f5a86d39695166eec50bd514ac9c298128d5cd82392a689ce2231066e9be0c8905be3b299330663423726e71073a357d412622b808ebe1118241366571b888363ce111ff3806fe362d84fe7149f618dcd9d1ae5c15d37bba3fa38185cfd6cf4cd92189516e80c7556f43db26349f6e0e6787f724618f22b095be9f1ffc42f12642303d2ece4de1142e93aa9d309e1e00e06899a3d95c0c70316378a927d1e55639c30a0e9432ca93637fa64f543228b584ff8abfc43bc0c36b09d581d2d5c04c2dc8d148e7e85f1a4556b8e532f2a056fabfc9efda9a1907789bf1c20588285875f02b2bf6e920fea428d26ffdc2f993a6367096445728632dd543c70dfa029e35a0fd81a02aab56a0825a23f1ff00367484194b714589990a70a641d00629e7b6d2aebe8e20f75f4bdfeb3bea9c2bb0b24b9240734939aba9254e341951c6c0e2d38848b4a4341be53eeb591b9dbe8d4aa36a321ebe52e9a44b2c9bfc044d806f80377bbd6837d6b4b55f2cc66298081cdc0f27f530283e6787944d3c34ba51812f8494b8611329d39ee26a83f8c9d7b0a86718490a6e8387de1a9dba94a00303ead71d89f6f4e5677091d65f75a9034ff350f92a48cf6dbf64e51338a2fd7a931496e92527e728bd7d61d2ab9183dc8dc9a2c66b38e69c1e1a4ebd5362a62ce57bb4fc9e43509e20606920edddabf65283ea5a59f7ae7839b80a3f3d5ce9a327484010a76887ad509d8b08159ec663a046663d34079b15fb237653a5a5ba695409eebfad9e499d799706d3139041aacdbf4fefb6c32f7740a9ca49a1c0fce343904fabdf79bfbd80bf634b21560ed7156d2f2b3799e81b41723c864fd4bba77418c53b1c3291889be14ed9fc17b334edc1b34c5f1c700d9853e0d9faeda713628b33f9e39a8ea8f1381a0239fe4249aa392acfa867131002fa9f9ff59b166d53a5820f049667471311c4d0e161e55f98f0c2c211103c55cc73f3a1f4fcc135bd01a220230f362c060b1aab4ca72863de5969540d4bd3fb1447ed5bf64f0095c83a842bda08aafefe5c23890a69c35943e125f1f18f554ca558a87cd0c8c8fb4ec959eaf959f87c0802a5cd005a780b6425f8ae83234e496d51c6962480a7bb36708ffd5c03aadd352478888e49308b002a938a7f9f6bf92b2fa0ca211dfd3b9d8d4fb72e073c4ae9955fbc46144f58daf4a1acb8a0b8e69578439c5fc1d177407298760d2ccf01bb9bf54c1c32342939a54b39f96f737e189c5040605dc02af7778fc3cb75ff0cf21fb0a0ffdc0ec54a0c1d9e8745bb84002ed1d912337e50d29a7e5fbe08c8d78359c594d21c9bb235325950c9f9000d371938f8266973265d823f72184548494f88b0f572c5b970633544de545598bd1e90141627ee40d17fad3ecd7898681b40feb0c63215ad3e37b15b34d1f0f33fb2eaf193788288f0f90c23d78acb016c205c6392a63f953c6bc009d0620812535cd2fc6615acb917f3071caf9278481f82e1a1055d8ce2ab2b649433080a6d346b8a5d349b768ddd441963f6bf3191e1fd0504087c100d8f6ec0508d1ce6e67ef8ab894efe58655586c0b6d48f9e83b254d368b59de865dae3e45524d24c0bd896c388f4a93949338e6a4c81d5abf9227e6ef5968329c0efbdb92f837cf0f9b3d942dfa093879ad1a64a3ae2115e454e017a42a78e89876f14c80061fc4b512307d0b722a45759033b80990fc30799e95c9c222037265d02e8a396739a61c5486a7bad5fe76f4add95ba13edf9230d86bf8b32ae24c2a6466967f32164bcf31878dca8f962e300232d8defb6ef98314af3a95e293f27081b001d55a660cdefbdca9e7d8443bad410a8b0250f8c02b703a88c91e45bb09b11cc49f1926cddf1004891753a005ef6c34659b792a3e60ce7f233a1185343f7d621d01b988dbe098ba3590f3bf9da51686e5d495ee63fa19849cf262127941d54a4443713c03c8c93c13e92033c3e261c9acee09eba3159114da193918710f4180e7eed11e2c6aa1f01d358be7a61322a454af703ce6e9e3b3525f909272164fda693ea073a7104abdf1096b5f45cfd78e1b2259dfb36f79f9ecb396ecd3cff6ee39c4e0355c08f990e1bb972e9ca51d9bf76ed7feebc0a655cf419f577cc8ace23a3e3e1fa25fbf573a8ebbec697759c93b68e1bb7c46057183205c3e47ce8c062028d98d348c1ef6547ce56894ef14f484f66e1d591377942aa4b3f36447dd1eacf2e33f22238a6e812756ae4c490cb6740fb9d222ab43a6e54682d47e0c48498246a504dd1ddd63f43acd0e7eaa15de30a962b4473dc682073f0031f05b20766d3a33647589108699c4c51214bbf10dbda5ff3750f767965a5f1200fde8bb7456a7732374d0be4ddc8506d2059af49d0a0b76b50cfc013c871e6cfeda21a2a2aa383e1862f69365c126b41e7c4961be6c473106b1e1bf6aafc82a23a949d0228cd38f5d3d3c12143d8020d85a45a00f37e74649cd602d7e6f6eeea642669e8b30838b35ca58d76673c56a7633169e0e7504679c062920023ed01b5082e4cb46b59be4d875cd58f5f224dedd25ffbeef857f040ab2c8dda35780b88989bfb7b3cf24ca6dcb9e1fe22b20852a914551ff8b6d5a0a61d50897b280162b9fecc990bad20aa1e3b502815a94903a5af00d94da23512bd41c93ae2c4b7afd4a7d3e54b7f78a0359eee269c446a18d6a65349821a9936e1dce1733f11d80c535ef4f2f99b6cbc0bb76ac4027d75e321b3d41bd2000eac1587674a560d7a71a27e4d44aa2fab99a7ccebd6784a4d24a82f34f2bbc04949de76c5e1b2cd2538829da361d4d447f72b542a7a968bca83118fd45200798767aad2c070f7697248ca7b164f7f96df397646f3c1910b541e48ec178f9338138e9ad43d4643735e31973b733621d0daac3e572aa6e2292b35355e7270095c8d1992286c9c0b41be5b1161e4af405b05da0d433c81c2785a13933a60c480f918677a20a4a8a24147c9f0be6357a6755fd1a74231ed129fd44b0521e2af5a51edf01a363c0c84d868e8a898407e19cd73a592c3842aa62716c447152347a70ac796bd64c2f2b4e6aac86a0e86cfa59f0148e69311d633fb19de167055be2d4d9cb1d54334458409903728d68cd52d7428383014fc663b5828a7065063647a41a7146001afa50a5947b1ae991ae9ad1e02a82c3c61871dc70d621d6dbbc59b740dbf62941dcccfdf2551a240e805002f5c1586d33a863b678720b13dd87615b943f413f2ef829208afc0fa9e71cf87c9abf2a7a27110d5cf6a85f387ad0ff3c505cd4cb8e17dff8cbc88352b423713332e72886329cd471775ec30ab90b75029ea46a71f56e7003c6dce22224b7cbf10cb331a20ea0690eb180060b7e586878006c4380d75294aa11e439f214d1f71ccde88330d631513fede4338b339e89c8fef376a4baf2c79598eb7f427e4d12e5ff0ef5c362f5d3391c4d4be6877b43eb2bd213088df6c56b0ba616bbc343f28fcf24ba880216b9536146b0594581f4ce904bbc2895e68d2b30234202dca70240454675fb2ce082f920b93f6e7863ea5498b1adbc8b0126cb61dafbc455c4d75903fd2b0f131dc40c0d9402f51f6fe9e964306224f9b30fe978ceed4ad894ebcd626aed40691a382ce81bc8f3d11ea9bc722bc411b8e641c8327398976a86bd66b821b16de80d855bc9305897f455b27c9cb95706870ac0bddc4dbd7525e8b18245ba62cba26a8e579b9c1f1ced0983e74d65a135bc65575fa62799e215fa00ab79055ddbc6ff96f977abc3032f4b9a94e63a2995856a8179075357a87644736057eee286b272621e4113ba310377c101df848372a23c318e31278702498ae859f508bf726d31ec912b3c95b767e0cce6aa0a50f564835bc4bfb8d85a00166265166dab05aa15ba4c731fa91e333fc1de633062bfdb6d5743681829891c8d67f284c0cd76962197a251e1692cb5b8ba7d11c5553f3133ae776974e290466b9786ec56252951d7a44235edcc6dbd2200341b308a4b33c6aa1015bda7bc338f0234b0251a3be59fa85c753256de698369ce69f3598677e55d2ef16b706fb648aab7563ee4766ba5d1d867d01f671863e7d0635cbd399190577dfa372a7dd6d93f190a27fda082be9c7448372733bc39ffc0513f7e1b5895960593407ae638f2d0cc65435a23c8b20044c5a012ddff37b5f96c5092dc933325ecded9e60c19383da5787b5c25375f4316372ca856c652d0b6e498b1cd8a50df4337192764bf0f923d11f51e2d99aa6cef7c14545b686095530e1e5a83e3a6df1e6c33fc318a0410a544e120eecc3751d84fc06f8494a0ff67411247304b45c2c1141df60442eac5ce30dc81fe08dd805ce1d2e39e85b909d1f58f306600a0e60aa827113a7993c720f844c663880f74530f4f64086913fb3da5b03ec135c84be10153a353e4f8085282502511219413ba373a5f1d51cf7ae74f6c1600ea8a21ee8fb1265dd6475da0b625a8b0136f579c2e89438bd216b790331da2fadff2bb6169715eaa0150262cbe88cf0b13fba38485fa1ef3e3d5bc729a48014a2421925e61bf27329420e69ea696cf9ccf46e74bf1de51011a101321d444c6d1eb02c3529ff7d7a71b68ef7d8e8a7d7c016477f310798ce5ebba4e4d3c8ab74a720114489e7a6ed0b119ca1f3ab03673aa7ba8f723c7bb7313e06657e7fce50c720d51c2604f3059772a9cab97beb17a69840b5940c52856e79fd1f07b2d8efcfad0315cb2ff3612db8b1723a23ad1202c19c7e10c0b5d30e59a57f4a6b1983e1e1b05186d39abb7fb202a4378aa6f22b4dd03d195b6d7b1af3f9dd6dd1e84ee96a7aaef8ebb852683eb0fa9bb51a492e79637e7b793c35b8ed3ef9a66b682c577e13a00de8e158046ba89611403a8af6fb25422038bd4027f074002d36785b33f0f02ea8b3d2202ac61b7095e630c2b79aa9c5a1b5b1d25e710d55e2d68bc8e46fd981c359f99ebbdd53e9cdefdae0dcb98860ec93998706f5f7f31792b064978695abf4bf9286356c029acfef7f7b17a3beba00f31e0fec5495a3738d1005915cb6557fb6ce4886a80179bcff66730fba1fae6cdf0641ce4ff25909357fbe2ca5d0b2d299d132ed48a060d13432d125567886d489a29256adac3d0bc68c41bb13cc883c2208b4c04e32035e810b919119aaf0c62e4722d4753ad98dd7bb665d95e41be23a44b86b0509b44c8f95f0944d31202d4320f13baf040a291e8b9a9b823450b7b2e2cb9afc654b1fc952e628c87ca62e1bed951ff5ba69253a3dc94285fbbffaa572b2cbb3e263eec0456c684649486f1b4935281e5900c398bc1253965bede06c5e43123862eab2fd6bae359d4ae6b46050373194b1f9464c039503e05868957851a407aa9c8d008a40c3f4106001b0d859020b55fccdecfa7a57ce3a370a505d7f3cb66eaf23009d9efa577309f31e0ab4d9f1f46924b43dd6bfc7f998454ff84ef176a74b3744dc6ac84a328fb201fd3826b79a76735320594b05a8f447469e57c68472f897d116d678b096eb8e8e7bcac8ee75b6df3837b91134969ce6383a21fe9d0e303415ab8cff7ac2c8838029c12acdc27dd3899879e08f388f7c7cb8e129d7ff3509a2de031e291c0961dad4746b35e047be90a80eb8a65bb12b2435c24fcba5a9fa5658b8f5b7f629c590c611128b21619a8adf209818895fbaf051cc007afc3afd7dd49412c3453620e298e8586c6b8f0a4ff77e1faca61509eb08fa40879ddb1687a02d5a9adcfecdcd48eb1d50ddffad6c4a835717b2c86702649cd47705020104ab4455fc983038fb83919c8e6bd4377b33cadc81f13accda32fc3272e0e614e85253ca0e63c2ddc3ae8ddd26f5d1ae7113bdafad80837cef7163e754de46567780cdbb3056e7b73e5de71af99889fc6e0b905528d03f70b854cf5beec24de42068108ed1646a0a766ebf8cd8a4ebb895c20ec206f4786d630672ba76fa03f067d81e93a998c5ac8e92dc351d258ddc227d93cc09d86bc3d14b4e8e40838bac121c14e5bc45f0f5bfc754d03a7257ac103e199c7fee0a02005545b2fd587ef45b996100ed56aa43ec2cbb9fc21feaffed7942b7df0321d93d9c0f687445c4aa04285c0c04a56991912098a153a2faa1a7d1faff65254f3b7aa0017089e5ee5c90e8e9f9e87ba099ce34f05e8d9f2635065775881e33b4bbd94a9837ac828543ac071614129d0600d81c2b34e24cbe9379be8912b60ad2439354e5c1a93752b904719e197afc8c87bc0117778634daa189ac2f1934a40e1ea09277cf4c024a708e705bb3a6616a5b382c130d94dd05bb43fc1a376230bde16e78e5c9ff3ef0eacaf8ed98543ddde5a24ae22506a89fdebaed16bc152afa674131132c1c9cdb25a1050547afb2557358b441aad547e4ac7f0904763fafa5fa862741a59e88d3718c729e2782353beb261bc6f63f21e8167a0a271c70777efed9ae86f779a87482571fa857fe7cfd27440ab3fe3d2ca07df1d4f43e4e5dcabe29352fe48a5da51099b971d1f5786c32d52331e4ead889d49d0b27ec98410acb2a1019fe5c24cda60c661f31f44983900833468bea146bd36fcbc350e2e8072eeb9bcdfd039fc1542883cba508f5d8217264c21dd8b4146abd31dba19d353b06bdaed1ea04bdc89d06b03ace26abbd1e64164af16c0af3896bf938d95c26cb5c4c5d65bd4f80858311e8b7f0e85753443a1d1668d6ba432490451ae2041991060c2092c04fc066c4f10800210052eca0042c119b10f7a2eda62121260a8b7b08ef578cec77336508d7d25c82c1e9eb601c182e00091b2b1874087bbb7f6c9a36febe9470e25e3e47e90d49ce893426bb191d1213651e7713190002271cc43beddd55788ef7f5fe787ca854b89f9a50e05689cf78638e1703c3d8a43dedb541cb872f766b32059cf93a87e4b59b81f7e9b7a700553dc5ff06e1b6738368e1d89f5093ed15e7b051a9755d155501d5ee3aa1173ae0ba9683de037e4bef3f9394d14f95ddb88ee9af5d7b122dd6aa7783e53f494e95e248c6764b3a3129c489641ff57a4953c65d2a0258717d3f1dfd6ee69cbed0e98faf8f8d5dd71534c75409d60641001c8409e7eb8bdb5aba7e9a048bb3c1e18aee073f030130af4e58d4f09f4e0242c00f6a314a7f311f46e7c5c7c4199cea25187940225717e6d29cb4bfa54ef013abc1709f5f9b0e588898bd38989dd5c68d32525d32cb5ef155dc17f9275edb0e202087a7f07217c22974780f9ec77a05930f90e1f7a0c551fcf2d50aab6a6a15dafb682da0bd94d812083c4edb0fb705cc2fac987602a0d66c60f68b4157a569408fab045d1ca8f55ad9fca0a3d71cf33b4041eeb37f246f5232b6d2df4721853c7bd06c857c4f187f1875a6fab488ea7deccd1c2b3087465dfd184e9cc46881c811ed6de50964d78f933549286859a993c1da5f59f2936042ac7239ca66b16dc7aed0b76cb37e60d60a41a1c6dccf6c4bd0c4eb06be639492c071def3f37c13e813aee4b680ac65a48c7cb38ea94e60ea9984e0d5690e201505b838f7704431fd2011e7181560e2cec3f54b619daab67e5dcbb76c3339cbaac1390c33aedd19fc1b458455485707ff8165caf071f238948a0c3144217a5d1b2d062f3cf217c58306745a95cb3543debf2d1731f7c3729c911254a03c884e91eba963b7b60de038478c77b679a291e1d4d093484da1a8337d10a033e66cbcaaea55b469b80d7e0c8e620386b468e3a3c1c1b28aeef67a3a7fe9b4ffd21260e33454fc9d8a0657312214ad11f5a02dd80b8dd9ddfd3af8fdb9ece79a46d8d952b971085d2c7999959f51e71eb1b630ff2d165bdaedcb2482a65c6bf3e21d2d8b3072a414cbe87018acc390244e0382e7dd9d90f35c4b3f832371a2b58b5db578c7f180e17213fc19988ea9374c81a881a664d6d571b29150a8ffb36f08e39ea547c6494ae2b60b0e4c091dd13c72e59d857e56d307202598a93746c4293dcd140fa81eb1c59b1ea28afd109b11d5863087796bc52595f921cfc34cf26416f716cd7d10f16ea68893b2ec73108f1a396add198e8473d2c4451f4366f1cd988b5769aa26472a5dbb4d0ff40e59a66a97240a1def4deddb50fe6473adf0fd9b885ced9dd96e300f66831778f37f63e10858e355e1db15f5e27b2bd9abb07f04554937439ab7d62e73f13177f8dcfb748f0ade4728990232c31721977ef854ba6d8098d8ab8ec749094d87d5721ed4acc67d4ec48a7cec76da1a7c1494cd476c0d91a812c591579fab7b9ad2b3b342d0adb0a8fc8e973e2221b8ce162ad0e8edf633639bd672735fb7edc4bfe1c6ae2cf2e310f48139f9c1ac95f9d3bb810880322b5ec19fca5a2331b308fe8bfc0150caee5eba12e696443c6fda4ca4c31e57f0ba128a4cd761980a36a006e8d3247872cb1020a14f63d8270cf41f42655205713ba0f56fc9fbdd8fc6865525c07e59229832f83dff01ae77a65e64c055110839a420fe4a51c46f1dbcd5ff4f1cf881d552f2d4a6bc31f58b33378220ac43c1f3aa40a4ffaaf3c589f7638a094de27cafb446634acb83d1d2124d7dd222b52cffdf182633bf81344fc0b73fbd18ac4bcb6fae60902e4bd06c2f3955c4aeb206f30072277c900af88b4698520a65a278ccf20ad76cde70371730d5a8a9b58cc9d376681ddf464556ba684241321048f1b1e1fd4bad7d1fefc9984f7fa24fc6305fc0df68b89873f547f59bea42b7eab5a5a46a2bf1a73e84c2dfc8c69424a572dfd72e2cb17b2357150eced0be79615d735a5438598a96e8b09cc058b56f2bde972094369ab4580cb14a391181e259eff120f8428d0bd9e21b314d3ec31c2f9df6a4dce96b8c228b3bd9dfb968d8deb097d01b3dd311f198bda3e5453daf9e7d2c1901f3fb428da20057bcb28c6311b1d979c6db63df7872845a5f41e3dcde624aaed68da10bd466757a2d1aa642f5ccbd0abd726fd63cb96d59e86403caf9dfd900e617d6d138c3b1f264f83fc80686a42c5cf91be05a687667c35439f531c05f7aca31ebd0305e201de77fd913e73594b16b8872ffba1da5177f0cd16459cf3077e47de7003645ca66b7ffca1902dbd9549ceb1c96d6dcee2ece85131d1bcce1567e1f4862d6e6013770b71a036f1f4af7c7470301864fbb7a9f7816253b5ce7c86e89772fe955f599b28e89d961d391b0c2338fa016a6eca6d3314723e45deb5cba0d978d70c27ae32968425cab605d673ed34eededb00f035bee862e12cd224157b630235cb89b3842ec7414b3fc9c2b6e5f298f7b1d20ffb57e80aceae61717f968196d126f7192b5ba502850f3f0778cc36ac5d54391db0e8161b46c4bf0e386a5f876b8f48e82dd1536ba035a52575dcbd1b3d92c61924291e2b25f007ed520bc2387f0516cad64cc0ad826671d3ad48ddd63f7bcb5b58a8945509a10c700af2312e682a696da5a4c92484973d6e7c68209ca7f7c007464b3cdd4aa481e7f4460e30b2cbdb03e9cdce1f3c76ac3d865ddefb85aac4281a247387e51802422e05c048a3dc1576a9c613f2689b67a254023285b2a6e9cd2f91eccf2f40cf19cac9e22fa97f3fbbd75aa5348f8f192160fda0c0c2acd79b5a0649259b5a0083bf613cdd1f54a40c980d739a4834473ba4240d45e29a000f18b563f6440a35a7c2b23301978a8a98ef59d16027c0dc30b1d9d8d3b0ad35f9b79b42062b7238cc061b9c9dbd2f9b710efe50ce3ad1197bf35c11a3bd820dfb46e06a7dd28cc3392604cfddb0865ca630d43f57de7ec69afe7217c7cb7b99154c3954f8abb2a4555acbf48494e1ee5ec2768e1cf9e4860a874a1a205b78f6dfed6e88adbae668e277d8690c44a6764f299aa0fa97496d48db6db7bc2b0133f754609db5292412469a5df7a59be15981d3ea81fd3ae9e5af918c32698b6f7bd626b24b35719574aa04df33bbb3a57a2b5b104eb5a633da09f4976a85f3ac1e9ac351a086c206fa23c73dcefc8fda924d0bd7bb33d7586cc8e0120fced03e4b3478e66cd28df8794a4de91e5be95e07897103ed11ae566080d8e146093f677d01a73db78abc4635c703e5ea6f98f0088c653dc4ac69c0b4102303572e409477561b16832222dba5a50871c1fc751229c9145d8ec064ba8e5570495ad4a85d4ea521051b676a231b6d74c5a804a32b075e6745689e9507e8570234bdf77a651571de3d33b40d655b3e7059796a9f24ce05fd85e720cb30fa327413f8ad1bbd2bb735803f30fa9590b7a897c18a27967ad17b17a0a4966968cff41c3e3337bc7201442bd70acd482e4e330b4bb838e95190e12e372ee5a3b17850a6b53e770a6ee360d7346e93227200779b9c3cf3fc3cf8c3dd26111062506936a4ca84282d901c1931489fd648a07c52807b2372c7d944559ddb04011a0903e336b9cc39f9387b9e38a53d786a36947104e09d3b48e868e62002ba2b1c66f64667320cde124f0c0cb8d185ff2192d8e1a6db26cb7c8018d32d445c779b56fc4d2fa211180a6a4612665871936f714294f00d3dc043da3907bfca6f8a17ef14b615e506d7cce441e2fc2e0bb507cdf9d562de30b26d463e9811703bc3e74b48b3ba1b3ca9d6b629fab64acfc85d486aadcf982d81be3bd35edce8d3ffee6566765470609343177c59cc2cf69aa6636ce3f119ab6b926c60701516f2524a00b6202b13cae3428427d4deba7e1d0102bd133749a640fbdc2caa6f2bcad21ced58e162d7ed51fc37e0cedab1ed8ca72d58428ec69bc80ce6e3938990dca37fd1454478648a30abd37e1e6e124456c34d9c378c32108e803cafb481cb9ba10f250cbbcfbb946def4b0ea958f0899757d2305049318d985bc648c4220ee38dc5a0c7a37923c8541af0db0182c6936fe8d9c6bd24c6fc72b1a75e162e6cad395fbfe63e31581153dedc484a566bb40f3f2a5f88614232a6bdc42c9dcb18c1dab55204f1d48c2b025d1368794b2aa1a836ea6e75149283d5e3d0bb1aee37140449d3eb3efa99332a47e11787fd5ed26c6390be9127f379e7886a1ebf1b69006dd75c3d9be56e582565d532ff06520c01a0631b3e00214cee7232951f8188b596a4ae159a67635a7e1689d34efd110aa724b4a2fb33007c0bf054da90d48641df7ff581abf7ff7121cae0dd3f7dc20ee5bbbb06cbd3989c2300046f03c91ab8c6e481febdac838763c2c228d0cdb8ae68a2a7634dd1371524af2f35d0ae755b433d72089263db567b9ff2a512a7e509e2ad2d3aed84b1364ca2c01ab16e2324425f5e0809117b5603f1d06a7e848944bbdef27dd74922efa0999d2d62c9faa0eb1fb23ec532c04c7bd80c32ffeef8123401dc14b083c542041addbcee8d8726c2b1356d7a8d4af13a42971fc33616a8d1dd75a33f642f9329010881808c34e7c5c1f408d042a2971858cb5cc02a8ec082c36d3387e6cc3a102490585830a9c2b56972b06c4ee1da0dba138ba9238f416801cc4313447013b6bc89624478f1601f091fc6f40ab608816f2a956a475246985ceee8b9abf49640f61797c97ede1bf37ec2124d0bed9ba24b190575f06363e387563a409e52c8af5ce9bb64e0a3d6e3fb57ce9f067e8b6656fc6b41831887513a891df33723ed35c4a7d1309d1cd261f0255a625d8cbf70232b02ef6eb72bcdf2ad594380478c9454213afd7da65703677deb9f75586c5729a4730c8f8d68b8ab831cbd4ef84e06692204f19cae64745f108ebb6de81c292db9c21490148a5292db968f2298af529671b861cd9b1635a7534aef783281801201ac134a235f2aea37908d7fb85fba83e08c4cf931da807967be128cfaf158e8216d393bd0ff0a10920a2b362f3f89bb9b0ab86d3245f75ecc7129527c431bbf612588fbdcd1427bbf228e150b9974660b731ab2ec0bc575d05a593b26fbd1b63bd64b03b82a4d54a98a76139a4d16e91383d8dccc05ff23b3923bd9e242a6d3994cceb56585c2aa6098cf8e101c7c5392e4f2a7049edbc73cbd322fed98b329e82e161a70e4430c24e2483d71c1e947132e953fe34de61ab8d558acfe96ee144589cce103f26757489bcc9203db8a21e9f402e1cd426a90cdd8a511a43112190c72e5319f1306f52980b6a1b263d41e664e25e954ea74b5919336a2e108a9c33c8d7bf1f30a3296c1de3fea8aac8a516b6005a874b61cf3738b81e3a9bd8e724401074c2c057167b0794d6a5a93b541732d24ca2a66c8d98792da8bca793000cdb6455d6974dd91d812e50ff4a7baeda2243d99b7358919c39cf074fcbe8477aaa12aa6d620a1aab88829ddef6c662c98f9cdb30c43a78878716687fb0ce3cf51cafc2bdcb617ae6e18e7b356445a049eac0b7007ec815cbf112126d8891625345e448cb68f267bf4ce57712270f6508884d387412ff290263033af384da2157086ba8a3b575e8597fad41de2fc421d2634e4d4dce2387e70d8bc42e09f66eb0123116d1a7eb6c0e777825f3ce8929090bf4ea2f400c0aabaf29679d5a33b28a7b8769957b215718ac40e31aac0474c83bd40559d8e923402547243f488847f963cf15035e7deb94f93e05e267afa5ed1a3a36c8f33b246c1bb10a19a19167cf3315b6458da90a7788dcd543b8b53b7d5c6e4953782761a3f54067a686c7c480777ff4f2727ccd7de7b83400debd5c489247c057ab80f56912ea496c15ad4712a1ae9e74c5e180a4a18a63c537de6160cd37d3abdb7f7be77fe2f84de67ba596eb768d8eb061c48841a9d21ab48cc1cefd9b2308d1c7c9eaa2cb59625967ae73a4a0d1745799064ced85cc212fada32690b515b5890c2c49ddb286a348a86bdfc0eef9e5a8f4e2d3a5772e8376658dca0eaef7e57d12cbc04654004b6cdc0ef38db33241d7f68aa41e9e653e5bd913361a60b6f4b558e66a9ba124090bfa775c912370fa27d0cd76052bc71037d2e7dbabaca058433c5dcb361a4a28d65cfd0d01d9b9d6668117ca4023091eadcc7099d279080fbe6b792c3acc50f2838eb2a099394baa4c51e4de5cba4f4dde1f82062acd6c8fb9bcde70acaa907214e8780a283026a55dd3dad6cf5105b93ab3c18ae732b6f2c83037d3e92622cec2b87ad02354dbe1cfe0266138c15f0d1072908c9b84207bb1373a5ae14b4879209e207e6eb340de830ac57ec039bc5e18a34dee2b992be868b14c9036b465f0f0f4a71c3b0c1db224c62dffee774e76a014bebc99413880ac0f92d8f2bffb1a35a013719899298a49c6532ad7054eb2bc5c877dc1b80b5433dc0c78254a603939f65c7f83ee613786db9612e7ecf217f38000d5399b75cfa5b9c740bcf6441ae739559a599a2c6fd0301781a2cdf2cc33914831fed8c5998826dbb256c016a4ce1385b9492d221eb4055f2639998ff28233160c71ff3b3d92572b25402dbe71078b3fb435dc13409551c29004ce61e64144c9714a877140554a6f49762e802f08166a16e7b06297a4027c5beaea19d6e6a953d47362bb6d5149ec10630e18ac08411607b922d385dfca98ab8c1c4ebf048387f0f4a8c6055fcb280caee60b163c30c5724f0c8c8d2e7d524e9ca5e86ab52f84c8588b4ce08a8f422c2bd432c23a92f1af13e47ac8b1813d1abe68707031132ce692d47ceee34f539b0dc172248139a03c23b1aad1022892d0af6bda0c007c7284a141fbea9d5ee0c03298ce922c27f6c66b21b449310b831e55711c2b4771a2bc40dab627f4629f0736985b1f644c522a33d7d912856552638692505e92690acd93494070cb24c376bf21bbd627cd92948fbf6a0bc1804afd9a9c0e488ce1f8892257b81a19112940721d1bd0a154da0d711415cd4a9e41c3915d923ffc81c4b98d6ba30e8eb8f79ca05d079bb9cf74bf3886bfcf6c4650eff5c4360eb2fbd6b39672e3cf43c7cc591399f96588846039adbd707c9e074b36b0316264d323dab1406d5deb9d1f60956027e058103c23686ed08f8d635c4a21dd367e5b9ae07a661a669b67e9965c2eb86c3eb5a72344cec2e23ee8e8d3e3f8b7590fee1277016a49c8a7a3610d0d76310218d488a6ba4bfe102ec44e8c4daba2fbb689975712d6bfa2941e1c263d1054b9273c2615aee7f48711398a0091c040784393a9a0b293249a2c7a067de52ee4ce4b245b90a5548d1c7286d3c2d60187018aff6284ca55df8f5be0d374a5eae418a1e55987a165ba67bb7b030c5ef4e812b424cee14a664dd2948fb3042c2702add6ccc4532e60429521855777e755443893b2b4c1c6b43d9f4011c5e0546ab02051768026515f25440a036b1cf54cc439f046f104d8a0ce0f4a43b456a5fbd6722299b491151a14c8aeb9249317fa457eda77aafeee6ce35919e4c6e015b951d57f0c478f2174f7137de502d5cf32c0ded526fd12a0b62e0fbc9a63852f7245c5262e2be77eab4638bb3dfc2934c9d62f47f95b7480a03a5cb17726385f80a21ce0d7ab082b68868285f806d4c3a0d6b65b0e7b945b4fdaae2a60616f4eac185e1b485513ca128db90de80fa4c905f8b0734b0dadcdaa85880f9b7060efd16071f4f2bf5a1fdddb53b5856c7a3f9634ba66f90b2d8e78b42c49e68a16ae517263272d1fbf95174fee17aa2b348047b1447999161ad27b2e211ca984c84f544f72f4848f745e802953a10c0782ec375f4b17aa26b2507fee9d0a3e8749bea89a2d808d2730f6ac8d00e85272e2afd4e4f4c985964ee77adc714df77211424d45e6a48c50cbc712799a6b5e1200a81fc1510eac604c76fe26ca7ab55c68151b044b593603a1eb324f08d2f7e6724a9fd19ef86b9416c01b18b99103461a5e6de62c4b0ea1059de6c0041a7fe869042dd9b3ecd978b99f2c3fbd3d4273a52467d628423452a31312f4ecb898c914c217d225381c2ef4ab99e436edf204a8abf3d2967661d7d223a82c434b5192a15d3d933bebf8c8e53809d05b8d18489725c9b4f1cd118381575c127f7bf97ec30115ff0c95718feb8307e05f411de2c31376389dcfdc9273a788f95c13a1b29f26187d4a0bcb74d8a443e91bf6534b5698672bc7c6508a9d219f05a6acd99225df2dcec777b0791d406bef12a5abb175eb10121e9ee4d7f6c577933e190e27e7d59f8708268e0e7313a27b28bdba3ca4ea07146a33ce438da4a0dd66969acb7886dfc0c584247a23bc47e6ed97f842e4d1029823ce104b0a1189b5b087f4f29ab86c939e4521337e8698d33b426c7c04018842c512254efca98050cdcf277f0122abb5b85e92dc7b677c492c2fde2cefb408f10050b86e0a04e62c025921d6b60e35db47ccf86c4a01d1eec388724eefcbbfd30c6c4a054623f7ce8c47f5a9372db8caf85c31fce4d2d9a7f490a414f9b9aa6f627ccd71ca0562be4cd5583043af67745f909e02299d313bdb983b633e2a62b3ace06e1d864ee0094f50cda44f2401edb3c59462aba85bfd70e4f965e91d0232d2d9542f75eb443f743772bc577b2b95feb7ceb550066d8b0aa0a8844d12b206d5ad170d75e98fb5ccfcc891fca44cbdfdd0ba2749728c909a080c61f6723092a6d156ddf6194121bc10b20947f037a565db8b012ead46f8ef5bdff2055d933ac1a45124b163949262aef898c200439698ae3436da9bf1abcbe7b17069085c9669334c23d2b42cc2d8d53f0cf92592e45837a9fbc66b30f782da0be583c5075c2863a24a8b5b1c6ccbc1c41d775273360e7337942399e16b9fe2f7b5431ec117b011b9ec5860593dbb77aad96b3e4114bb7e0874abd9195514721ea5cc98ae03c0162b052846e179143318da58e28ea6dbde025facd1c71266fa14be66fd4ce040f1877e8b6c64da997ff29bb64ccf3a9d949ec3229321a3b92711578503b000b3a5a05127315f0cc4bc72a0b14631fef78e7888ce474d0f81f369ccebdf8298dbf748d17ba0de2d1fb504bab344084e43cbc6c5491a88bf447fbd446cca7a3c9038aaf8e4456b2af032818c6b4d96094b6ef72d57461b377a522ba18b069642c3b170a1c904ff10e61a6272cb15ce44d2585eb55965d01d961553b8cf29ca0ab8e53e829d6c3fac147ccc3f184b113e56f5bc2e9cc7af2fcdcc6b568fc307a02a93e4358d8b92f804e7827a39beabe4019818bc6007f2fc7bb0aa4039c9e0b0eeb2378c786d6d19abefe40aa0885c51b65cf2037d269c3fe9a1afc8f1743ed455fcc7ff1e2511a2d27768e9ef15eaf474d5bf62c87ada14561067e5bcdcb64f20b4690675ae11fe89da93ac2b3fa2383fa20b2390b232f985018378b6206c010b27a951a432c18d36a3ce64d7bacd6adce218a368024f44aea34f75812a10ee7c8909a83e53421f2857791dd17d8d337fc330f68bef8535f72d9e52cc3327fd46200010f56a9833bd61c7cdc004385690ec3f25f78e6b0077c44590b68292a505caa0ecc2dc555b0564b33c58fa878110cce5d742cec874292470efef3cc2137c0f394e370303c6f572c6832118ed21cccbb690e74c087ab4452d1cb0b384cc374b04ccd017157e9a11c902d680e1d53d0f23610aab0961903ce2f8eee3523806536d6277d7e5ab1487408fa7474085ce19cb753bc973d1390100aa333d4395399fd18b9000862c8b4fede3da9f8a5650c29bedd228ff803ea5c38a55282cb2a6b81f5f0fd6745e66b3d06f8e7c07ed9b8522e160774e820d0817ac04a86041d68444107def101b7830e640c9f1b154207e51820cd0a1d2e18173a184afcab4b7185cdced4cdea9632598158684be3dc848578949f0f7dc2730fe0c41e80dd869b58e43ccc6b43ac3078a84cf9948877a393d75a6f85252c73e16bc9465ab4639d7a9dfaa571babf1c887fe8513243b37798e8bca8121133eab0e012c7edddbbe9c2d4061e69b2c4778e60144912cefcca7c96e93fd20aadd943ca5b21593836bb243d6e8ced03a4d71b49dcecc3d70f7a25a268d5a4abde3c921d5c5fa7403d8b3f1ec47f2ad4ff444692a67338523bfdcd4109994c40ceb8388bf4c1aef5361c7c25ce4c71ad731e511d48dad05745247103f4a4e497b63e868e9e967365a16710a4a61464e9f280839c5a68d98eaf0d6128e3fdf3101460748e6a945048ff45090fd858c0eebc517d5a4c419ae6bca094f6e439a08fa475c1cb598dd56ed8c5bf8597fc3d46abb52c81400a2603fb36e0ef28c273fce9b6601ba87d46f32eb00d1e62ec99d534b792b53261c53e81c40ced0137aae35dd1290e9e2a3109110263807d674a6da68d543abcf7750217c67bb692ee3cee9051a5bb47d08512ecf9812ac77e271bab2e0e90be964e2e1b279f8e5547e5dd68a1fbca05f045cf96215ea15b38ffc6d1bab578f8e2eecc6ad047768be6ab2b02a86163e1d5c7ab3c9d1a70ef759f4a58a155ae15a2e0f336a81c7628ad063b9adca358a707ba35f6195269e703d9514e51fa993738c49e96d0a473f7bb05e81cae3310e0f88fc4ab14ee5633ad1acc89dafa989e21ac1213a73944fdbbcd3a7d7d5c3d28b96c3424ef5a16d2d13538cc22477c05b63613a15d96964865277d7758e9b09b99a8fdd5606d8ec63a44c663276940f0bc09caad2246c3c0e9c3555976a28d9c8fd1dcfa28dd33e35e161f08daaaf1205b85d082e0e90b215cea2c17b3df0a64b19205564184d48b04c35dbf8c7a62cd1dadee8ebb51c513ea0f4275443e9a43fcc9078fd25e1e6cb2602852465c255ba954a31aebadd8a44c0c52f34eaf8d5eb00cad746ca44101696d277455136cf0efffe750fe4d30393fa73cde08012aa1683047f101a1c7069668a2351dba1eb9692633ace75961c002e463f2b6418387f504125502ff7c3508179ef917c8b2d0829aeba93229ed4af3a4492f5bf011c466e08a058731a94545c7e2acf52a033f32d939cd751eaef3fe73ee19dc1e14b1ff1cba591ce187b4e61e72abbd8bed1872b0dcf3c40457c874b1830c3672609cc39bfecfe93015338cf6cb95b852b2428c968972ac1e1b43d8ffb0edee7cdfa2a2850db4434db26523a6f3134dfb853afcf939076a8544fccb45cb41614144d31a72b4e80f3ce5bb3e45f6e017b674ae6adf9fb98edd5268c965b467050aae725f6580ad38c19a6b731b9ab32386d5b4a75db0c4da32c9452a0cd77f662db10754c5675b78a1bfe38c4eb33f8236041c5c7f79145a7553dfdef480fac574577f406a914ea52ce7668341c5085dd6d8b62f17bc0185acfea2945a17a949a321b02dbc30ed328227f06495d73f64062aa094c7e4e85cb7618260f8f2b0cb8e37e67e0946c349f1c5fb7653e061f74e07a91d21221e3e59c0afd8b9b61b6dd3e1169158f08039f50a480ab72e8ea9591f40454d7bce33436f073219c0b0fa8a36eb869bb43f6e3d27d018c4b6967620f120593d3b2d465658a17827d917fb10178a074bf971979a6d5f27919839b837f60716e14f2ec48ac046adca6f52e839c351241fc662cd200c8f490a5e8c28ad805068c41a5ae8f00cdc508caf4aecc39816699905e420c8fa1eb2e47cfdddabd18afba8294d0094a151a5277cbc030a5c28a8d0e33dd1c88210935f277020f0e9b5a89ba91f82bc7c3c23a404b0aa442181f26a7cd34131495cfb70ba044f190bf621852382aee4980513ffb905c60e179775e91bacc54616ca559db89045b250cc42c274ed5820d184c542185825856de4038a76a0a9f410d93ce76b4f91a4e03e26d7dd70b7ff9d5590e53e1f0b9346efd7cf4ad870bf07c80a35e943c57e297e79422c28dd428c36347f00725686d8da53836c016364f97513a67ba88272c03f66984e6ee88958b644c84628703d5bb9425a26509360d20f0e2c6828552ef65eb8d1d21be45d89f88810ca857b4646ca29ec1d7cc56d304a8769b5da4a17e262c5cd4dbaa2479f34fcd04702a3feb23b3e9588babe3e13f487bfa871a358dc9b7532062f2d6f65d22116f30fe2e76b3f66799061581584876358aa5fc5f8645851ceb0df1f0d09ebf8bfc06a88bf0d0f901bea302d411e87542415d739e4d521196497156287ce0e1b370fc15ff5222d5d5233b31bdbc339b93ba5061f06e987801d88911c6bc88d3d24c74a19a339673275cc6245e690e9ef6385a605d83b89e8b4b953501069d515de9f83e93c8f17b1519088e162107db1cefbc100679541018a59e9c310489adaee8ed6167c868b4f7e657398c82af9904e2554e149d9489b7942ccbd602d1a90a97ec7f425621ce957405d6daff2e39d9befb3d6a47bc3b25d6591e9683000adc753ae876c7f423b4a98e97d96dbed83220b7fe440ee9fb036e60c45ae28aad83995c2bb745a184c8b0bd9ef84fee6603c62ead4d438c3c42e91d07395958a2a9712e01fbbc81060128bdcc20b56468617f0ff86895a56df58263e1b5fd5993a0dc5139b92c304ae5e0e2287f8a51b4a424f8f8b5c025136a01f076ad8c68d7ee638ba3f52782650a70c2e3fe507311c390493b76c944d5238d5e7e9ec1e805c7c4e6d0f8cf4c3d815f9b496f105400b46bd1b12616ad7f794700f51af6ea77db57cce3db7b6abfce2b7fb7dc51b23b7f05d876c6b49e66e7825b8babd55d65fa5c036707d2883c518c7b18ef523789f30da66dc397701464b665440e300b6146d4ff61d00b826e0147a04a3c8270f022b7aa9dbb4996b821e48cdcea8fe0fdda3655abb83032c0a7f620740d1060fc0ed5b44b0b951f8c348c010af041b62bf33a21abc180ebae61bf5587a66a0978d2f11d59910892ae92032368fe91aefc1cdba6030150b7bfbb0f1b651e92b431f0480020da2996ebd01a849e55e11169cbb3c131dfb67970281000d88fbc1b63d0e3795888368e28559227ef93a804513c7705484f6a81e716b38e3aa662858bd4e3b6ab033a9bf99c3ddfae91e86660b0b5c375674b632114ae19c317bd0380c0913a54878bd4c0bb44dda6378656d4a850185940f659aa24bfc09baa37c082bbf0aed1f723776e2873d3e892ff18790920d62c06ba32256755f4882f072dd453b93c2a9475992d5ecdbea827511c6305cb54c2c49f2fe7ce26a007e9a7a97768d390cf1412528788fb05c5c770c9af1428376686197f3cc4c31e923ef886389b58914bb95b6dd26b55d2f5afa299e98636dd9e2530ae8e75a5da5ccbb2d906642bad2ca014d9f4cc5392a6136df30e5597079e4260f8398b5201273ba625dd77d0cde321dc8e9237024e25cf5eb99878b2b1bbc7e96918bccbb985b5be76d87b3d62b985093aabca3770d22d3a778a1a4f482d321954e885fc676c7e20fd9106a75ca545ba681080be312ba05243d026f8985a7251d81a62107f7e2658ce716726f316dbb7a909babf3355270d9d90ba3788c81727402512144c9659d6b92ae8c6b0b191892aabb1aa203843da227cc494a0386d8e49732d82dc8faeaff4d5d88dd6045db9148381c3c2422a17fd59f6c2a097e9afd246e289ee4dcc94b8a20369d6705cd098baa12d362584045bae79a89b364d6d6a599b5a54e117512b27358d582fe86585d98085f0fdd053d8c59f58c5da06e12a957e896b5d9e465b193a784e9a813bafebc72a19deff00d8daae6d888cbe647cd7356755e9399e99a238f5108a95df51a0b3cfcc4b22744339932cbfbb2c67f3792e8d3621eb929dc65ea2defdc4f866b2e7180616eb7868a62772019d7588583569e9e1a76e04d577a5928047814a0124dbd1203b056ecea94c6e0fe1157e6770d47c7d27af0c59f1ea7c263764de4e9c3beb3efb60da852f1aa8d6eebfe601d2204c2d60d488bec87974492a6f1f8b790ffc48294026bfb2604e6562e7619c9aad2d4b06c9e10774452e08e38521cc951df07958691d89a435ae32b80548cd00946ab8e8049fedb7d2e03c5f5cad0367fe6b6734c8544d500f7bae60f176b14613a27411ec586c98c831fbb8fe6332212d72ad278d08cef5c63629cc46847dd86842756298b7d8a3fa38ba941eb807e4a44f88724741acbf267adf432309e2fab637ddec33d7a08ea9e4e56a1f2eb7e15b51e537d477bbb52a615952a0f092a7673b51fa976fe41c36ab5a62b69c23a4b544e4bb82da31464437e88175b24a7b111347031070d9f0cbc844772490f9bb684c95612033a8aa9f8db44894e60173622468c5263ddc7138505f90672a6419ec993fcb379a966033077d232ae51c1ae9937afb986c44005bba8c52198c538645d8442fe7052fef5e21e78ca3439934f3c0c559fdc01a9ec7b347c0104a39a59e716d030d2bb97998860f4c7f60f27e44fc8d7c37a3d57ff713743bbce1baff13bc040c666817016660b6cefa44866b327b20bcb80c0a10e80c065affbc6037bc08e5ac8110b783e4270cbc26e284178d0f843f76fdaf447d5a685c9da67161234630204238698e4fd458a2638927c6388e1d06c758eeb6d60076ba5e5f09e03fc3764e8bd08ae250e8f2f9792ecead89ec52cde77b269412faa37e45e42d07fcc5b816fd4581b2152a8ff7684ec73e6e6d7016821c751de20126ceb926e4da756ea37b5ad9ef75f4c3d6e595bba82ad296427d3a4ffb2e6130f1da410ff8582eb119b0f89c910b4007f7624ddc512c597fb25240269ddc342ae99ef5bc6e2c173c051a35a81a3974fa52d77475cab0a775317585520d5b1e64682ea5bfc81024248a28bbd08dc6cf37d1c46a64c68d98ee872fbd057c605f123e1ef86cbe3a93a88cffdbe4c3c40d73d4d291f2bc64cc64226b702bdf356ad1de7c0bdc0ee72782e43d9d66b8d0c0d4ece0bbf056ab8fd31da01c1c93b25f9899f3e2565fd09a2c94d89b3f87be3d500fb9f6bd4f561c846c162ea9b4106ea741627bda4fc6f61f722e45d076867fabcd2480341a45704cc35b011e08b795726c524b618a5686d7a4e1deb20e90125dc45ecc0c6f70d62ba60408c975b7d01c82a8c5c590f86e12b76d49ccca43b89b2834b1ca9ae4d5367145ef79ca9db6ea4bdaa640df4e607ba0d2c02f63e4c4aa878c95964e3e626d31368e1bcfbce73fe8d039f59193dde53b540e7b3113a2e78bf0ceb9d172a8a65d33f83af01a0b09b53883fbb5651027ada5e5eba5d36127c8fe2a0661281e84c5f41f073e62bb78903f7ec16afdf8b6374d50b85b34d29732cca7033f9569688ec352da852dff431f966973e700be703bf58b7b81d01d0fbfd0a1b7334df3a7bbef97d7508d84aa7cb4ca9cdb422a363a02ed3a683d72a1e94526dcef9cca4168e914f818540e9e360b1933d095f4730092c490d127e5a41190d94dd93c26a06f3ade086bf49d9addf81913e4a6729b0b4c109b08a16f82967b567c98ec797ab779ce14c47f0584a5f6ce7c51a1d41d645dfbf782786bbb6b8127f3b1ef1a1c271ae8189e5f74bbc869a6b7df41eaf2dc7145ac05d7fe738227bc7c2d71ab65e263c4c533acc37704ee32659703a22b7049f65a02fca7b2d0eac8ab05317c2e6551172687f92db84ab884e333b0e22dfb112af7bf6663e7fa755cec5c455abb45071266f388141f32579a3bf1650055f3e26077baa8fb994ff04f09911d440812365f54715974af31d591017d572798c8f1f93aa98952e07dfb4e5fb35b7b6dfa56a9d41ea4354b75e66b44d3c231a3a2b2f3969a7f2ef265d95b35a2056aa04871de62e887e8d220714ebdd511276ddb6a76a10cc0ec8cafc5274925c04ab9ddc6ee7e575df774e739a6c75757c7b96fe4c2493b06ab8b9b86817cb8dcb737a7a3cce7e3f5e018093b28df1d57a407620a372da8a17a54f774e35b64f2473360bb5c43f987fbcb2bf2a0df106cf12dcc7122f932ce63b38b9c9e4f79f85655a54c03bd81050ec060998c74da04f29145768aee671b4dba5c416029f36ffeca604ef1f3f395f93eb3e96b1fe9936d2f160c14dee646504b3c5518c2b3e3041ea18000fcd62a8efa2bdd576cc35d374b76a3ecb0478a1538a2e76c0f13d146344cc86004bd9ca47e68c230ba040365cc7692683234114faece31578444b249bdb32ee7247c075e421acacae167bf4882193fbae5f3445ce331c8bc81839f573b91cf5c0259ea58a0c29e5fe68c509b21ab89658ace860750f68ac7ca77939b0439212e6bfb7ee5799a19babcce12d3c682d041ea0c0713350ddb246b820633196d757c4705858052062efe1d552163700ae5dc4550582e2e21baa83be4484a941cf91758688caacc175844822c4e40976c41db44958d003129abc223aa79cbf21c305fc395e513b64a07dc56a5f413e1a29d5a04ca159f45b2b071dcc1123a3041960bfeead35d93631ba5ef1e70f15766155b621af67cb29702162049dc8e962ceb5c610ee10cb29d1730c3300fb1c70c2b6edfcbc2c3e4d6e67355bd74aa19caf393ec0b91ec3d7ff0e0d5632db1cbc2a589ca6455385a7a13db61cd3c6cb594f27714cdca3c406df55bf1e4d9f0acb07ddb6019ee96c27003670c9ee04895014dc52d905310f6975d78ebb1b1dbbbe677ac0c1c6cd9e064a10554e031ee56127f730e561ec137de0cad3debda32153292c060cf8fba768d2c4cbd9d5f98d5f18e3e16fe8f7649f4ea22b520500f7ab2aef70a5cb661800b481e2d602f4e46c135843809162cd0b58bffa072cf7ebf68df64972802e376cd65c30899ea24d7a94e1ac3ef463f030d94916fb42f243822cc9c7ed23df571d4b3bff1924c6f8c53386e68b628f53aad438e91634e7fa4bf41ef469db0e176297e6b35afbf32d7b0418803bf6d159c0cdb31af885dfa048c9c15a2fb7b9b9a0dd3a4657cf18074542b0c45fb21d3ef80e8c6e8434c153ba183a9e21466fc09bd0256866ae38e8e55199f3fda3eecdabb4cf70582233da112ee47369bd368ba152b42516e8d9d9cae6c8c8bd5c040dfee381e20f955bd774ab0e21f69cf863fe11b893b19476b053c01cfef682054300fbd87e60f75fd63578cfd7b91e8953d4158f6d8d8e7f0e52e485b3f39b3f6eb41e28353a4d041c23134c735e28c6a2546e260621ee714a1e4a9497434baedb3b2c189a270e2a99ec9925bc3b3cb0bf62cf826b63ff8b50f95c4aecb504d9dd2a15e9aab455ab2b27963d543c61bff6c712616a0c6b2c690b66411c795d79a94a6fc715cd64bcdf60403ed41ff4efb07a29eb4dcec7eb38f0c6038a9ac6fc234ed4ecb6e3c0a6eb8cdc5b146e0b99f87d9c7e461c32e03ec9b1b65b0845d3a386f26e0c97313dc23546236a631a35140ae17ec509bfc1ccf4618009737155b001f7b8fed528fd2c164012ca84efd1560507940ed62a8f03ccc195d0fed8dfdf26e5c31a4fd6669beca553ca1c828632417513e9323b7eb7f7e60e7011c1040ed408ee7b891771995b60a4e0dee1d347cb35c445cc97ab1d86b6f38498a1113d3229970e68ddac75112d89afc57d59cde4952a5151c76a2cd2e3e7c2dc1b17cd6499013ed7333417dce4a05f97456d9a8dc4777957dbd3e1421d115c59009af300f0d84fa02eed20b428be40ce3e8995aaf1f9dbd43af303776659bc0e9d0e83c1f90deddf840d4a667ac500b45e1d9f0127829f1021717f434ef16e699e93c22c23067ef2ff70a7ba22cd6cabb4db4b4cb5e2430cebbfce5d75e3ee8a2a8e4db687e1d1159fc4d5cc8de972e4c264044872a8fada9e94ac21a92c3e6de55a0959f6936ecb89574aabb90e373c4daeb387809e86b7dc035edf886466a9678934810f0865f31511a26f43bf4eb8c7655a6845eca41354831bc7f2e1014972122d70a26cef0f78163e1ec77b1f680dc47f9a86c4f2c213f3020e16003ff19ce46625c7d836d2cdbebac295d6434fae585895c81265534f593b9b510ec7b00ac383356edf963217c2e487fb2dadbef31b6aa3e1ac81e31dbbd3043585296c8e73fc20f16424bb08c742407e35be25841910ecbde3a0b47c934571547551a30f3df3a203c6a8ce7344a046ebaaa5c0b8b9c288057dc729743e697f2c21866e30b75308b620a4292b1f75871b81e57dde7c63f3d02e60bc6706d625246d09472b9670744c02e5b177ce8e268b6b09c51d34bedf610aa2b9fe032650b83e70112803e699d4157c70d9e3eef507ab564d2d6bdce08140faedbc6fab9e55d7499ecd8b9a8eab6ce17c27dec9cd0ada4f82052673dd1340fb56db3152357c498b7ea2b70dc6ea3f7163d3b18fb84ef45113d71b40b1fcd1bdd0fe44ee90b787170f1397ade8f1de2aaa96cf962566c331760282b989d72d1729fe46c492b4f054384a469019b2b09a343f87fd32f9036570b573aae9784114932d0568514a84ff7fa831fa26a533a11d53d42c8b05fd31e26db5409a924c6268fedc22ee05919b3a80edbc17a406e29ae6d92304549489171d94f259e9d7c5a0a4cdde84a2f9acb9ba812d720799eb059145774e1f2b20769bc246296d5fd8739c7299794397aa29783529cb957e94709491e17a4d1b2d87b6fc4d974ee094db271b4a5c2f23f15968e8a72d0200db7a7753f32094fb6e460bd0e632f4c663e84feda164caaa34292bd0500058beec7e4960009c7328c0fb00457ef9a01d18de093162704aa1dc3a1465c849895d3938c5813b7464693dca8b567358bea8eb057bbba52dc81d544138b699e83e18ef4249c789c6a944390892353f9b1ed7fb6db2fd87494a1c424c6001529e18ef0f054a6deb08bb0885a65b545b533a39fd9ba92bbc9f84b5208d9e362994fd148799457489b38a9bf41f4c80e5836fcc961e98bd12680dd06bd393694a3dccc8df73f8c0bee144f2876cefb145b104eb4ef41e6751431bb4f4512a81f240d1ae1023177c48539bbca1e0e5b85d45693dad8e240a14cd8e3b0e1e48b62b784b20f47fc7b02e99ccd494b086a63da8221e993381710f4ec648203603a1b57b1846191ace578741353dc4248d7676d1d79d04c8026cb21cd6829cf6164912d66ab6f1a31d11f6da5073ca1e538d696bbe1b921233ad4cc5345604b092c9a7ce5fe32ff2bdc697418bedd40e9e7629d206a04dd326b44a7bdbedc38f098c563da324830cf51e9b0ebfae8bf7c21038e5e1f484e16f3601194370384172c27621e73d4c594f78db1ff91b650586f9d57c8933b352e1b0eb2ee29a34ee787ac28126b840893d11cc9d9922081367b58d86a48f679119376bd6deea392403e36b0460fcd795513383ffa84f7bc02372872c50ba4a381b72d19a7b384b3d414189c4f103bf24542fc9d5096ea4bd47ced58a88da3d0d2be03d52b03b23d713f762428db877fa944d125672749e9a6b1474c0d114bccf3f95305eb553b9b0abbbe67aac67c542076eed59b0c6a10be32a234c7afbd32a1e577ff993f321be8b3a5043c88e9af048ce37a3a7944dc72fa8451cc6671c483770f6c42cdeb9440b1bad73cce26354f800c430126fd7d52166f1317b9410e52c43c2a1adbd75ecaa215564d2f36c0a27f2106e66f983458a30e2da8e162352d387afec2ed5dabf409ff8e584b9a710359a08c64d3fcae175333ce89cb02b762faf4300629357b41d091a901e6834c4cf0e2915d146cef19f7b2aab879cc2094fdf4578a2fc609eb2bd58a8067f457a2fd821356f0fd0690b1d64ace7d27b91e20247c8226862492c51be089ace71ff006c6179338886e4d032e98c3034edbf18ecd8f76dd27205e05953e594f777173bd702bb3ffe2362583d5999df41b9df4b95e829a10f690b5364f3cd5ff857c9e698772cb5716383bf3214a5bdeb01703a5f4cbc259d7c53aea31aa6ae301ef4e6f2bbdaa2a34c13352aaa7d9fbc77d0a552752de42170c784ae1a6e3b0148edf39c2de0a958cb1f77109c08190304271801ce827939b02e197bccf95f508da5c87cfbcd33fabedbc2b5dbf57796e79ddc28ee2ad8294c753cfab6598c474363d4d11c96e4b77c25686c7cf8bcfbc8a9486fe5414b81053ba5fc254aa299351519451e84fd94b15aad7a2b55975987a41cab1b7229b6c9539f765fd50ba7c1dff90929f78c79516ce8d650b2dff6f3f7de58f59729a9826bc5aab5bb6a289566cda0e4b82db0afc69d6b183021da439395f40fd0d6264960dfb2c80bff931b1c26c30658ef7af2251e6035ba24df2b2c0787e6837a9e3f3d27a24c5eecb923704f30ffe5d0c0d21d2fb61ea93f0ec49de193ca040c841576a6dea9cbccb0d803a56a9699cc4836e09196d2c7b21c17a67780d782e1da8ddcaefea528c633caa1fda10c8bcb3102977d3c942e3165197817d3e1920bafa9335b9fad5733544df63f40e6bd27a0daf48697129ddeef0015b2dc376985eb519acdb3e35736ae7b2873ca952c2eb75632f33fd8f58c76a22b08a852e9794cc0c65a15d2ddb52a1027a6c8b8044717d63fec247cc4ca025fd22ced3ad20004d025ddb6ec441780ecd4c3711c18bb06bf5877e6880beb8fe2c3ab22f83518000364e392f63345bb016468517e23ee91cafb0ba57c6f0ddcce070dbcf5974df8e07d355c2303ea2c0b513ee7b6a31b9276c0fa6a6faa595615a748843370d366804bcd200d3634a78f7c82d02f153a16b3dd13cc86fb72a5820297ecc11131f2b87a14ec4226779ff93c6a1e74e4de24f1f1c60923dec94e12da78f6f71e5d950cd69a755d5622bdf6a606dd3b71a24b12948d4086a67f2787525e84f43371377db5bba5206c3250937218b13322d2cb5cb382f1480c6ac23933360aed1e58c0c5df3809ec9c2c58feb3699c3e55e140afb35149c9fab83252293af36d8d48361de97c6c47347cb22dd0b904e0dbd5ebb9147bdab951b45e54ee89fef6de7200a8cbb64603f2a154dcd4ceee0ddbb55ad7565ebab76aa1c210eafa83db5bd901d795b926f151129ab79d8d45e7e153929583de96b93624a7f449b3cad22d9b8950b817a572385c938a738728e6a6c2e955383def4dd6251f86c01da987efd9e76ac8b643aba7a0dcf06fafd5d011015e2556d3d0846eac70b4cd13a94c2e00295fd9f9e12fad099db049651c72c140b17fce8f9dfb5cecca3394c67fda2a8e1beea632fc069d78ada660ea00803641c04c83f9a33c1bba0abdcb4154c93630217d3958c60d25cee16c8365522c3419df87c804e7e15a38b5cd13cfc1e22565cdb59054f8ea9086dfe7684395f0a0617d8e21dbfaf217e82fc489aac0a2b282ac716084bdbeabfce717f911c5dd8f9462e13462599159c206a8ed6607d35b971bee8c210c9c472d103eeb8ef579cdc83dcda99cca3d4b4d81ce573b05891124737f5f3705ee19c4864dcd8273343d5e0530364a332b80f568f0787715b272bb5b5528aa65a1382984ee4c405292b0487bf8f4af1ce9b6c4b0be352a842d6d1e8d7100e23351caee31733c052d5aa58fbf824058b4e8a5382640c6e5d3e2222ecf95ee0499d81b457aee0b6414d7f465fd064614a02aa0050d7259e0f117e0ce675ba45f457444061f6df8c30796d8cdfd754de80f4c7819bb791a0ec2f802b6958e5ec1936baa821a9d7381793454c6191d1efe4ec6fb49d5be98ff52c86c484b7d4661c644621f6b6ac8bcf57834b10d12303b7f322838b7218d8e0be9e1473e500b0ae69b2e908be89b1d1f12aa3cf4e207084e1320b3a94d85441ac6e4ddf9416e12ed9f90f26914c7ebfc5c43404855108e1fe40eda4a3f7f63f0493d2485466800c8b2331b522d42c4d1879e522042b244059d4a80802e95a9cee548d7ce995023d5abb12c3fcbddfdc9ccefa0a52d8d4026ed83d26ba5ec94764a090e17c860309cd892f661359cd7371b1547c7983ea1e1f0329e17b0cb2077a474daf9f4739fc483551465be61c6b90519c0d300d6cad9d1a629041975094855f3a4911cd57e3c427e61c92c5d49c261e819a489fc82671659c7d6a96f603c083aaf9fccd1433f22922221aecf32bde9ae4e92c0fee2577c3cced5c084d42b877d69f99eef61f88adac56d25fb36b6a02d995cb7219efc0095009ce702f61ec58581ed2c739d23cfd0766f2f951048722b6c64a90d1cb28a531e319996a9e755bb5c3595c8511c7727be16e5c9d1a1dd30d799eb43ee5c3b5636a0314a2bc05d510207b4a05bd2b7d3c22df7db9679a99f19ab6d000652753dfa580b972e56070f14ea2d3cf982f03a2a4082a9881521c555d418926b42f1f01b2c8c58b0b87585cb874403d765664ac10ff2edf780d514018eedc4003a897820662f20086abfeb7ac610d880885f0c4a2e596e2a14f7fd704ce9c2df4a579659a2a40cfe6ade541a2003c9fb0069173d7b5a9878a07dac26c959bf9a719a825f898c5a7ed506109b7e9ae77f121ecd3116a4ef68b4dc1686180f662eb1928228d3220bd3f030445c46062c3ecd40a7c048c315e9f1a441f799d55aac60e832426f7a79f7737b15e44727e63dfb0948bee3ebcea524703f4364659935745ebe5ed452a2af1d0447f3386ea8218d8d1f90690b8a0f96a3277251bdcc3c6917ae1d394bbe6170d798c3bba6dd5311ca6ffa8a27eef089e8f8816b82b4e432fc98e139ead75ea82d982ac8c93b8a9b4035851d33d947217755199900aecf95dff1d231ecf53531ba6f9801421cb780be4bcb0fde5ddf9b1169bd17e6150c15756c1041f808a141427b3068ef40a09bfb478b6c55bc4195f44c3551bd683c6667e62f18bb10c5c58ce1248c20bc521c47dd04a205b3b2fba05b332bcb0745b3de727be226a7b65b26ac1354b85f4fe53cda4253d7eaa0c95ac4805fe252258638afb50ee87ec9e38807ba152e7780c2c0589e2dfe8cbacea645ed74118b3a985701ec8a60bcbe492191aed52eb6508c4b9a9844f54a3b21f788f4e74b51215dbe0b4b82328d536dc57a3bbc0977ab086637c17ba134fde87013b934d791561271c07793f70ff695335b2cc2eece938cf7b55a0d48bb02456c84b6280c04add3ed257a498c9aef831976b4833344fc36f078dfcf4751ae9891120c053229f7a406d89c43d74ae3c52c78307471957b5fd3711317a00a3e458fad795ea56262e921fea0eaa0d8d7b59ecd716fbf6c5d511d1fb7277ffe56a5e124f466bed67efd26bab596ec91ccee57edd713ba0c8b88ca9b90764cd798e18582e7ba5c77759aa1fde6035091fe1089123442029928fad6428b7f9aa0ba00606aa379e3d75a58f71b03fb54a9eb1dbd30f376816b9290e5ed7651b8184bda11ae2a0ec8867b20af1a7ec2398d52cc986ddad1caeb84cd9c355e1cfc56d90c981d74814582c88dcdd000abaf925c870ca26ee5e83fcfab967ae5193f03a260fb5f44c737f64344f8d1a026cff0aa9b2151388b936223dfd43031c5d759756a6048817de9d37bad77b131135b6c93c599b2a7411d1da370dac2a1bb2007add537d92e596551efd325e05c3eded6e0483b45ec76136d65266aee65d16b1e49e195b647e0ac43cee81ef44bc87b86722d8e89b5454020b1b772c429ea3d6a241395cbc074de16e9f1153fdc3e03fb95fb2e2b9c61883cfc317c9037a2a41b8ed9a14fc1ea86cf9091ebd7ee39356414c13dfb684346b11926077153e40e2ccdfc9f3777c02d6e53797cf2c21707818625b44b5af49f79c1a6b49939708b4e0807cd950f54b4574157a8b19a25ec8d1f28635a1c9805fa33d55896a5a9df1fb78cb099cfa1bf9c3e6404dfbe5bce2f65a72798307c7cbb5f356eaf027834567d4d9444435ac16bd35e427d67d2a195543645b32be1ff9796569248e5293122c92756020267ae6e247d6999b050cdc28da2a04b2c1d1e8288e889f2a796872b1d62efade1fc70667615eb451eb76c2435c1d61f47f22c888a5bbaf99987a7dc113a9424f334130faff8bfc3bcb538733ccccbdb447a994929fa1cff63ed94d8dd8911e9934c90d8040211a89cb9cd2ffcaba60b1de8939b4feedabace43c3f7c370d95f2dfa253317b0e4e950035cf228d6866447d829ab75a08733e2207110c2f551ca380c69b4694666784b52b2bad10985f86192c8aafd40365d9abc01de398569be4f74ca4fbe066aeb5c0f68c83502c7a387a8efeb1c973f35f2f05aa20ba88144f0da9f6b421aa9563028e27b613dc9f23bb730c8d1505fc8712fc5950e625451ecc99b247ef001a48eb6a6e68bf54fbead39d815164efc55ae2863c6f1ba6312b9743e46118d33fe1fe0c1a1918326d35102e3c1a50c54e4e851f94dc0d34330caa6ee379922b5d66eb0731adc8563e064d05a852ee6961a6d54f9aaec0a04c2d5833a5e72b719b2ba8be874ac766836e208e4a627e43b60ecfa77d0fe13f9acbbd87342c1a51f246c97731bc4640136d294b6d7a0b03555f640fc55d7142cfed9c61f6b11010e1c8ae5350d46e5151e50888fe49501ad5480d0e3bf6cbc4c576dd69c006ae702ce55f9135479f0197ccf2f550abb56e94fbc276673186f10e6a26178e6e23ba7b3e009474e0286d155ebbbdfff8c961624a39053069446aeb27a4389a21ad9b7057e1a09ee33d91841c7d2313d3e70b1251f67161b813f0f8027a56dc657fdc750ee5e0229f0e0f81b9236a00a94f7b6d96da6b8859c3d0c326531ccc6111e200afce23d8cafca82ff47d64d5cc81a236be3db33748d09b67f07d4a870a2e3da9dd6b68acc158739607ed56648f35092b1747e2428b387e931fdfcb2df0a7294b3649fe064a82bcd4774a18a5509ac723b36235993c2a531c61df48c4e54ecd60c9e952cfbfeb5f4ad4777077b5a5edcab0fd9917fe17f117b747ad81f6035237ce99aeb88291a2bca4fa2bed3fdee30dad68b9d136659ec3a65935892160dd5491fe8d8625ba6f6cc44d20747178db9013e9bfff6d77e3817d5a3031df5f96d014bff1e706b40821d432c9b7918b430d5b7ad88978ac902f9b93e61e52f87384f7b17126f67f3c8a9d2e0ec70ae92f128e36473329cf32ff68ec7e4aed7a05116c11357a5260010103e789d7f98c2ad1997374beb965eb416d1024b04d5cc5e39cb83938e690addcc211b11d1e7b536c270c38954b6a9ca67ca90a1253979c49c52580573033fb78f200307464cde3a2aae0501e87ca5af4287ed4f4dff407402cd1e2827be09841e3d38694040d6310c0db0e9fcd2010072e1fcb752dee786e1c0c77b07dac5c958d0b73d2f0568e96a4f54c81fe0d536dec5bd6d18eb13438bf556e64ba04080753b35386e427d7605a11a9a69754cb34bf3daf93b1c54492d38610dff4fbead6aa6c54d133defdc5258e93a2a2b637cdc10738b13676e0a9081e204b7a9facff693afef2dde1ea9608434c9014cbfe8ab538af1d80bce6439ec64520daf18f1b8691e96f700659f10252c4f7e98fed7eec7edc618fc6084406b520352560f9b170f2a35b32ce0acaeee62d1ed8ec6bb947bd2ef426805fe384bffd6dedf98002b52aedfaab7b21e7a49ea0c1c5a030af71eaa56309020a50ebc5e8f902a89afeec6dae38f2a9ad1fc29b179ec7dbae44b49e9ebebd7bcb7027e6703a854e7c12a293c00a0c274719e2c0b4b66bbc34bcb0fef46dd8af7cb0f3ad2226341f33ce529e36e7b4bb9a5dc3ba80a9d0a3f0a3e38dfdcfbee983e285329d3a45e4256765e55366cd80d7df7e5a028aa0e468da792d0db7d42df7d2968459238516f4bb4b7fb92df7dcca6ef4ccde7bbcfe97bcaf01dc9407aecfbf1251ff3ee338ae6f9701e73779969d2b02fba22685150f2ec0dfaee328388785346ad79a178bbeb410aac8e8aab0846dbdb5de8037d77a36a38dfdd391af6ed6e1d9e72adf0948be53a51bdebbaee52b477e7228b7c77938fdfee161df5d28e70ef8df59a8f7bcec7e9da8e1710b7389dadb3175962c804db97d7f18eeeedbde4fb7cef190d9540d948f2e40542c8db7b4a3ddf7b4dbdad1fdf7b3d2c5c83876bdabc15de5b38dcdb3b8c8462f7e7c672a7a8c59393e77b4b0330206a373d3b7cb0dede22bfb7ca17dca4c07a7adbe151bebdddf9de329bed99b37d06698f82b448edcfe3a2deceb52df2718a27c5c3a2d942e8b8f4ea7c67c978b646f84099402af276b699f39d751a973c8bcc6911d9e07a3b0b8dced5b1776c9e0dd6ca068bc53a513de69d553e76e218957716e931bb14bd7b8cdc81dfce1659ed34abe763def7d8d9e3ed7c8c04c18e081e736a6551e5db77f26fbe6fa3ddb46f7cdf1b4b0a4f2a0f4ecf3dd6cec75c2b659a17ea088a9b9c2fb522af8d0288a6e29a3ec294e8bc5d43d57cd7ca2591150f939c8f226fd7cbc7c7ef9ad975539f1de9a323a4d73f8f938f55257dec7a99698c3e265e3c5dd4bd68be4dbeaf4c670d33264d29a49e9e27debe429fc9f7353a57c7fcbede3d5ef31ed7ac566a0d565f9d56280cdf57254636e5372c103b9a7678fcf0bc3dcffd92eff96e45268baaf08a84829c16e4f9388fe5e667a70bf232d37498d134c31111d41696e3cdc36f3d584334e690d1b767256f0034a5985b0d28a81e2f4ef23d374151b9c019eb0278a98d57798aef3800eda0b3655543c80d8eb7262f1e465281bce121c45ad8d8db31d4dd77ac0c8092d88c143540a8707b3b5e3e92ef98d93c5381f11301f8080118ffe0e463a30df8585c6291d68405d50a0fafdd779589a3737524d4bc99620aa3161f0b26c7a81c77209de9a5302a47c222beabc9233266a468aa9333fb7aef70dd08324d079ca530bca4902fb7172fc69c03e61cd890697ef9035e3978c021214568bdd8c8e3ba1ea6d910651233e88b8b3cce713c3c3c6e4bd6725e4cf798cb983d8b66f6633e340e87a99d9226b92ce8d45093b9271e9c481c0ed9ccdec585a80e87445e7965218a7cc4bade2111ab0a2e2e2e2ec9e493a886e4897c25f276adf944fe63730aba1051881c3122d4821996e31dcaddadb8b800e069f744226fd56efcd20500fdfc86594f18ef328c52ddf0ac78c263f281e356fc38918879e091401c127f5153292e4577cec565c78d2712b378b0f8b9b80c873c381c3eb55c17171797759d593771e589c227f2b4889895e6e289593b7cb80bd1e892f2216f87fc17ec10a5b614d241424a2aeb1dc2fd70382472ce7d444e240e8dc6ee331a0e8bc526ef52e15d5c88c5a1cb70381c0e8743a8b91f0e8b7ce892cc72aa3d91484c268b391b33cfcb1cc6644426e6688e66979c9774e509d9cd6e4ecf4690f3724e5f72cecb2e3367256133c4cfdc9734a27d91afc562b1580c5b02f4bce59c87e571bd8b8b8b8b7e171725d1051099614a7e7e38c430f7edd0855a10ca802ab7e19063bd38205df20ac8e9b88b41a40bc6d910b59422e76178279e48240e3951790574e1bea1cb7098b9f18e8e00c39cb3873523292e61772cbe589608040281402010188409a8028c02a3c021070281d135a00a100804028140ee4bba44e39e48cc754f24464fdedea25a9fc5de7c7e983760608c1e14628f1fb6c328252740607611730bf1c3e11008948133e444ee1b4687c3dcb5e4817c0502b9f11b7217e01001425ef09c482382c5f3662150a6e6441763f7190d87623f7c3c1008a4725d57c571b99a9cfbae2abd4bc1bd735dd76d73535cd70572d775c5d0dc13d775ddb0b4775d3e5cd7363a7cf9e130870121414ccc44ce396ce8817c0502f32ab57481c32156c7ab1a1c50649024a271387499269c786260622971274788890f09232594389a964465385422124fc4bebe9844effea05cbceb0ea340e04a17509798179298d79caabc4b210e81625c423234338d1b8d368542a150ec4a4828140a8542a130cc4ec50b8542e1f35dd7757f159391e2730e961d7f15029320c05e88150549a17cdd371e44bea4dbf715e18b06e70767e98f344f6c4a499718d592490c46db672e23e3b358951b0db11843c49435428859c91d9799c675b27018162ec3c222f6a3c4026471595858789085a72cbc65e1bf1fcfc2c2c2c27d8810c0bd30a4c7f1a427c867be8af97cf8ad5e3c6f1f8ec737e7cc722622c54670285c8133d763860b35bc166e3cd0f40a9b188fd2bb623d381c083c5b8bfa864231a4170b0b95814fb69c73ce40e011eedd360f852e907bd1993177604d4d01e141f71b6661ce4060d991d92ab93f50e45c138eeca8f6e3dd29e7bbae5078b22234424566e48eacae8becc8ce9025dd4af3a1e612c0755fe86ec8e87414a17a97078b008101025b34224f1b734fbfe1919ca732650ea8ced99b7d203111d7d6e524d7f6a1edc7aacdc39c85c21159d9c5ce0460053239af7789e8fc922c237a307d706ece5b69e9e90253210790789424cfa24c24dfdc836dd9028140e05028246123864492b1125f39e76c45a4028beb0ac748082d5d55755a6236e7f4749e783390271e210b30670fc690dade4df24972638f2cc71123446cf198418da0efbaaebbb220a08311342083ece0d922e3c9eb6122eb8192f95c0160081d0b156a22b2a2d89e741480c0bcee00791799fc01d766b86ece6ef3783c02b96a3c804020d05db5f04543082470119f3fc86e9c7090384064383990729ac872f24490e9c4f990ed884581c034671e5d5447ae72b67a60adb1c59da8d99cf880ccc62ce5d1224528f4add5807897ac860be894e3b3f0b331af2e8bf05933140a57842f1a9a1479921dcb765cb9f058e2f61c63a2d5244915429f5a585858588642219a12bbb4b13cb3b125295872be01123c29186735b694bc59edf30b249f5b3e03dde108494294404467f064bd2e7ebe4bd42662474e8932e7168f77a169efba43a02b745d169615e18b8624cccf49902851b1a33be74c35a5a29ec81dd93146c44cb883074e9995038e696e879a07170804027d4642e14a5cd698dc323d731281419de0831b636b1187054316958592b3f065c8cdd810b031381040a19ba6140a49104183d9587ae6a6c3c65bd3db8f2852344910e767be2102997390fa9ce7dc192774aa8624e394bceed073cc5d1bbe68f881f60422e5961c737b820aa12ad0e530ee8ea2775da1ebba6c502fc4119807e801056b5bd14636d636c4470a1f716a3e63b3c1c1626964a7884f5a5a9970ede11442746ebb0100e194d6c48728a9e5acc2b2907564949c43308a3ada395a3b1a22a20be844e76a58fb1e02096345413e448d7d483206e26c2cc4d49891d0b2a5a5a585bf609af56de11af04cfa2d2db9a50598d354cd080c490e0e244ad0d78ead85abaaef1e039abdbd347d9a3a842a0b4c0f1c29c26d961496d3635cd64e0d9b264c783aa047694e322e3232b8b22ece42c6e6cceb5893775bd7755dd79d5a7bd71d218b11211bebca39e77c0623e99721eceedd33b1311725ce924844930c2834e85cd0058d870820769031e7c082c080842d5dd7755dd7e53cd30869f0203ad275c333e27573ec68e2baae1a5b9a8534ae2d3cae1e5d34bc923e9379d97dfe21fb02c2547b4ad9ba21800dd89dc3332c39085ce52d57cbc4336378a6c727f496029fe1bd62cbbe7c3e40718231f813a62d3ca5d8393c0b5f8b2bca037efae55bb84699c00d72b0c8917c16a30a64bea5c58752545f6506c5672caa7fd22a89c055def20dd8372cca705ffa2300df807d0628a1c760c3aa79b7c055b001ef5e0918784f9dbad8e3b9b81653786e79059e795088674e78e61cbfe019159e398c063cb3c22ff0cc434847181673b2824f7980e1caef0314539c524cc9c91fce13ab0e53f806acb24f8a2986618b184658dcfc4231c53013d2a6e6167c2f06507b21f0b5d855a4b7c031147b08dc02d7280f7831aa11487f1b37ca04700036b404f521187dea89018ae9bfb81823508022091866730bc50d18667302141d8061b651040cb3f9063c4c5f8462b1d86298cd678abf1cb339a729f2220c08c5605100450e1866f396a20630cce601287220fd000046190c037ded16350ca0d871b19f147bf083627f393ef6008677c05d38ecd6611fceabdc75669a10a4f8893abb5a3ba3cbd162eea0d861be03ae76c037e40e8a307c173bccebaefe0ac3d3dfd6c6a518e3071b329c3d4a6f606f6b41225b5e1c131947b636b7b218beaa27119b0cb42632262065762e09cda824456aac29d5fcd04ad149b1ac736a6ae648f2f13c271d5cd82c7b72b84280506b6ba6b4edefb77218ee5b8bc5b584f5077204d9921335728f77faf0bff4b75723cf391bbb0a60be678431b64a477e19faad9135f6df6b630f3aa5f8932553641ee0f082a8dedd7efa6d32439bcc90012e439d8fef19ee1ee30cd1c73c8352a659815b8f3621165064736cdf33342df5f0f0a3c9cf10b6b76758fb9e8113393da7c4849adede9e41ed7b066633c359066786e78a0c472b901e67f8c9907c9cc1e87186e3e30cc8c7dcb8cc340ef04926f9980a11847c7e377e600ac6126c6bf90cf276238fef46e763381b35746e1839f9bcddb8e3bb313a67ac632bf1dd7867cc3b61b43a81f5d8e864847abcfc6e543e362a3d6e7acc8bd04c932aa95a7a13c2cb0a8abe69df8b3e829ad008b3c119d1e3ed45e7f7e21d8b113a502527cade6ed4f1dd88341a8d48238a69239e5f2c3619f0c5e5e322f3312f1e334d8721201a504b44c018527bd1be17453006e486d3da1913156f2fe6f85edce002840abb224fa9acb717cfbe179ba08a5445657117f15dc4395cdd02bef3bbc7fcf9e331e74a9986014825ae7614291d73707ce74d5cf97382729acbd34a82bd9ddff8ced7987ce7fc0c881f0171a4c7fc872715f09d1b3de6c7c71cf998bb2c334d3a24a8c791b2babc1c375e1bdf5d988fa580d67294a5f9a87bbb4bf3bb8b9d0d4e0b244d5e9428f27617b3ef2ed1b93abcef2e772e795bc7c56aebb8603d76718122e1bb8bf2b18bd26397a6c79c08cd346a51d2ec43195534f9967d274655d0b3e44892b4ac26dbdb8964df893c643ad8a0cea06a33deee32f6dd059974295a9bfbee62e482d48498d684f8248e11cf66be139d8f89cbc744e6634e3c669a0e4c2cecc05810f130d95eb1ef44a2d10a9c3a4b56e0b1e504793b31ec3bb1098a48455412b1eef0eef2e0ea1e0fef1e0fa18f87d14c1382b6201d304c283d6cbd60df87474238958cbcf94813f2f621f3fbf0879c1998cddddcd588b70fbfbe0f99cde119daf7a173f8a41b1ed10d91863fc3a210be0f8d1e0f8f8f8748a6333a27ac5bfbfa2ebc13e609115a091162099d845406f82e543e16363de62dd04c338211646031bc6e8244bdd9eb7b4bd4c49c8dda520992166f6fe9fadee20b5155a644c853e8e8ed42aeef426452582434126a1f2dda474b4b4b01beb7ec96ddc27ccc5b8e99a6838ca82639796c524db177eb7bcb10b1a4881178595a496f6f49bed6f716a325bb2111256ec099787b4bd6f79626a816aa16650bd613ef9907574780ef18eea05068f431c7a09469d22548b0263bc8648cb8e5770c4d4a66f36cc6770cce8ee1a9736038d239302061f8c15024f31d83d1638c01f998b32c334d0717373d6e3f8e8a3089786b7c6761b23859a2732c7552df59ee58f2ca58acca58b01eb338b14081f09d45f918b304a1996618fd0962e2a0f980d1f81e9c4154b584ac4d8b05d1db8333be0735605d29cbac66d4c4bd9d05eb3b0b92a5b3b020e9af609afe0a3e8363c1b3017c0f3a1f4305978fa198c8a051b0092a48155406b1a22ee0455dc8bb0077a1ee83ef17ee9417a0cae8637e4129d3a466d039312a1735c690deabef179aba5cc0108b5156f3867cfb0519df2f309b6747df2f381f5f78eaa30bfae8c2850b1abe5fd04a17fa05e4636e61996966922864f4a87261d3e3b5fa6e81a9ccebf125c754d2e2f9760bcaef16d676d43872a405908ca9b75b88f1dd4274ce42dddacf770b7716f2748d052b5d6301cb8293052a0fbe5b506aa405a5c7c8a6c7bc0234d3a43fdcce5eccb06a8ac2557daf10bdb3804c5a285aabf96ec1c802d21aa442da1aa4c2b3c2d85907df2b38d70acbb5c231d3b0645101f102f382d379617caf80acd0a1e9450c1a582fa246a26faf40f5bd42131455ddf70acac715b0daf0daf2e0ea1ef3be72e74be2e763de577e3429993fbeaf34697e6f5f395bc1568e56b015a4959f9522e2f715a3e6cab1af2c334d070f58456e6e7ca178629afa4e41024456d11f1b7569746fa720f59d8212aba6114c6b4e9ce3db29447da7109dab4bfb4ee1ee3185bc280a5651af720a4e14a086df2928951494562585a6c71c08cd341d5c0c3952b4d401255283fa0e8c5ee0090b860d680fba9ab703e75e7c07ded1f891bcf2a9d104c6db29b8f84e01992c7a4cc1e83105a4f50898b61e019f1878078e019b2cdf814e25e05209083c669a0e485d4550489afcd4643d7d070ae004891e349a2cb135df0e74fa0e4c7f283102d2f4a20756f4edc016df814d5040aa0e5402b1d69a09786bcd84bcc713e0a08ec723d1db27cc05bf4fb85b9113a0d1c77c8252a6a9c00e9c8d2d0f453a5c99c5f7094439cab458dcb00bea79fb8415df2778ade9b455a94d69a578fb84a6ef1398cdb39fe07c3ce11964c25110a4c7137e265cf83e616ec2314f58661a1b4c11317a361133ea51f1fd77c243e4b3836b8dc9c3db7f4cdf7fce10844171389109a145dffe4bf1fd179dfbd57da9e1f8febbfbe5d9f859d9c0fa9fd30fcac2f79fd2f95372363de62ad04c83831632ece49e868821dfa5ef2ad1299f2e154e449435d6deae82e2bb4a8711573e596e742b46f4bcfd77e2fb0f992cf243b25249b35279aa8ca99c3dee2acea5ca72a9a272cc34a91a742807d10c29134e13df556ad0e20658dd8b265f706f5751faaed2e1848eb91c38e4b65834dfae52e2bb4a131495d37715e5ab6065132978d9444a5e0a5c4a5d4fb96b8236451ff314a54c93e2e94cc1357d9d581b22f13da5290672612d90b469a1b5787b0a54d2f714a510245f443f82e00989bd3d05e97b0ab39972a6b6f43dc599f2cc3c294729488f537e52922bdf538c1e2773ca3199827ccc519699a60314132039e489a3185323bea3ccc0075588e39b8d1eb3b7a388f88eb2f40604c303951713d3db518ebea34451d4467c4741c9a343b1a27b957714acc7bca338a1403d8af20e45e9049a696850a24d0b04d8119edc6bf4fd245a02a4d88aad1d301e3cde7e3217e2fb4958dc92480a1d3d516c6f47393e88ef28c8244a51473142414a3b494b7bf27e3276d27cccfb493f593e3e39669a0e5239615e3ad46c76c0de0fdf4f901830e2b23ae68c65d578fb49f28bbe9f18053181234a220891d0d9db4f88be9f34419d50117d3f519e6065e165e5f54ee9071e2ebb9f78324c2f45cb62cdf70b86515bb046e366441a92af17ab88aa5fd795c30c8950f5366acd4fdc705e46a5843ff8f2f269d954deeb4fb786c4bef31ede613e5f9bd593acf9ca5bbd66cd355e8d58cd27e9fa39f83212804ee054827673cce901e141cd4ead090abd86d5e399400388dad00f1d939fa3b513ebd71a13885e534dc83fa15f6a3cbefdf44b0dc7d142b44892da73b98666a401a5233ad67c106152be6a8857f98f7b506f0065b44f757b9b4d7af659deb2acd62ccbb23c88f62ccbeefda259b68942ea599665d9bdf7562af22a5a52a34e4912104c4830bfbd87867ef3b55d31f668e523bff7d62f9cbf68fd82614e70c44428e8edee06d9bbd70fbf59e69056110cefbc0d6ab108ebc9f097a19b47f9942964f79dcbcc30b20644b4a44867c954d185281130e8ca72bce456a2689a8449d5d386d0119d8e75c8573765e553e554d3b40a51b149b29409f366acb7154774a379abafd89d9d124d1f232cb3c453d68f9fcf7c8507db204c26705729622c5f6609129ff229b384d60e206e3f6030a5ac90ac4923754025e27ca890a05883560fad5a15a26d670910985a91a015e8429692a61fb139386701963c964c9f1d122ad61fa0242b13135f1e4ab03b9bdda919de934f559a0e4fd1bb7d80a27e035dd5e042df615072b6f0e9970fda9f7cfa059403a5325961774d0dec5e2497b2a23644786b0128a1aee40b21cae89b7b5a3ecd9a6af1289f9a69e1e4a51b9a53ad880cad30ba95c78d6aca262e4a03c98f6ab4beaa3136a6df7b17b0e9baf10f103b0989e799834ac6db8d8b153b5e8d4c4af18331426bad6bf6debb262947cb50f8940bc94708ee53ddf6478792dbd6a87b9a6feed35b6fadf51e8261f6ca8f653bd1edd68c257a0deae26f85fdad04d99e5f571e5cb9705d8dc15ff0c7e3c7958413fce195944fb990b8929adf7fbd3a5fc67defade28dd3746d55d4349bad7946445b3798666aafbae3c1459a892069d01d211c6faaf31948b53400a537348b4790f8ade2f7de5ab33ac705558b5c73be731720da56cb8587cf695408d7959035658d875786c2a75a4f4a3ee553ada73821354d79bb0605a97b02828248518a37e35839a5a839af790529e73152da63fe4b7a114c9d1c34cc68fa42f1136245da8bd79bc71863ad5398113e0618a1b66223014aa41de1d942b1f4b0c27852c0ee33a50b8453aa2b0416882ea3225d475c26ba442cd12f7454489f1fb446f890b7758d535cb34d2d0e49d39b6b7254b50d615bb14543c87bf4d15b57230cffbd6463cf46189e7ee7ea008abacc3e14ed94e86427a7a34ba8c855931e28baabe8c4639c723d4614e6c42907dd81a7ede833a3b9a35484099442ce5838a46683c8055639b6893a81310842534279432ef45333c9ed4c4488166779c98f83900d01a2822824e0fb49d2e671f2cbea490107f93c0e020b660e7c070f988828091628729e90967bb0abd0aa1c60d86a52f657dd63cc5b0f2f7e2a87b46bcba6090453d2922a253de47e6c8fdf0bd64fc1fa75ae818e8f31508b9f76427b9d631f3bad1f651073d04048c0d4a935c6d847ea315f31c618c6c7089065d92f56012c4b02db017b865c7a1619c6a3c4a3a387c4b35c46841e1ecff20d11e0c0aa6cce3963142438328308902435754472922c8c3176002e7699c7eaaa39070cc3811468230736e4cdd366de60f6d3663f0e9fe620665996d5a16a756e3ccbeeb07876e74c46c3389554d01a3b31ce19ce517a9c73f7186b8cc372924e2974e484907a311e8c263dacaa18a37970933473830367050ec61863a54d1ab701facc579ba52e9b2555775931c630cb0163fcc33c88974c2e68e4bca91d795e7cf7580de7317ec1586b0b653c4220e12cb7e4b42ecdc363a296840757123a2e25354470e519e15a62c6828b8910ae265a495d4765570dd131e55048c010ee983cc60bc36bd58d158cd775c546964309635145a84a4071f520f9cc720c03b3927eb072f7a4fe3a84d8612337c42944ceceee6942ff320d07ddfcd53dd6148aac48d2624bad8b2a1f395291a0b0c1c55060f0cccaedc01e8ff018c94d500ac7ef6757c3340283c8cfa88f583131879c73f62a22b177ce5ad7e13d6e75cef905118afe9d7890a678cc576c44c9e3bab2e0aaa9ca2aa4ce1c8fdb15737071a45539874cc3f9cb9a36b98ab8789c42454022d52184458b1020526ccdd56d91e5acd578da021a6224480e0db41d276e9438532bc2b36ab4dd885bd670be992ec394128e286e6b7964ee0beea7c60fa6a0b02822511e2e10df8ed65e6973aff5ceceaa72ae3b39aff97c0eaa7cea95763564f34302a3f256e53f957399154155e53f555d7f96449adf83afaa2a91e5abaaca41f8b91afee45915bffee6e908aae6ee8a613457b916629875e5bf205f398c9107399e49833946e5bf9efcbad2a8c71718a75ffa0464468c331e2fb682de2ca7a23c40c5faed4ff1ccfe1463a4576574f286096be9cec810571c09c34fcd9ec0defdd4eca9c69b663b4821e74038dfc49665ef86fb9db4a5d34cd252efd084e2bc82d4301dbd79086bfcb499a4f4299f36451cc1417c78e5a9de322ddfc674c6e56d9a396bf4e5117eedcab7b16573cd773616f74bf6e59cd722cfbb986e21865953be8d6ce6164841ce6e3f9df30829573fbb6d2a9f26fba9a4699aa61b724cca459081c93129e739f829c629c76a369266c0d7499049b97e09050eb6137362405e219ff2106032067c3bd52bd5104eaf466bbc1a142e2123bb0605e9c4e70f5ef8944be8f9bf4fb984c65637a49f9ff06973c4d2a7bc6b10e1d395667d53aea23c00f3140bb9586d7c48f8805a3d24f5fa350f8278cd855aafebe62acbd9bd8756fcde3cb8b910d3a4cbcd5f304dfaee17bff4d5b4f3219bef3027dc3ef3151e4c37e00d18c7a85c6df13bf9744bc8ee7d9f6e090df9b1503ed500ef53aa20a83c75f3b11116f7aaf84e3ed510fc14e5c5039f524d40abd42ae1cd7371ef628a71b17770f9ce44bf10b4469100fbbd0e5aaf7acd7975ddbccaa920e49caa20e0554e0561f335739f2feb9cf78ad9edeecc7711e3220758ad35dbd31a63adb1cec163ae6edf2e6ab54705417396efa25641e080daa382b039ab26817c6b60fa3429cd8f2daa50a166d141ad53ed9e5028aa19c4cff9c4302a576a45789fb26d7fbf2077aacf5785c6deb6bf6090730aad92af55f2f958a3ea83ea9d5058bfc54a3f2852c233bac86809cfac5ce5be263c0385675ab2d187f3aed177c4302ac745375a74e1e6b05b5774ef72f2f729c51ee7c063be754efedaccf532c76811786f69f81aa499a1319ee098cd4530ce18531cd3852f076861782e0ed7626f9dfa4ff580e3a20a60de03aea23c60e8010cef000586abdc97234d80cb4c4150b97a41898b8ec807d2ce866f0ccfc47095fb9a78c603ae72df593ac2fa2a1f16d70fd3a13705baccce4515c89c6de0f2a5bfbd3367ae2a58659ec837e0bd1239e61f709927725d24f2094599778b03e03ddd7a977f9a8056290541e52e77f990bbfc04cf1480bf70176e00ee72219e31f2173c83c255b8cb35e0991f6fe12e77b9087866739793b0211d2100dce5be5d543fd364e06a06be01078b3e0eab0a649e05329fb2016b96fe1214ee134c33437300be793b03e4b985522ef1cc8551a021dfda2e734cda96f871a32d807a3d4639266d953f2d8f125792dd444e44544458c133a1bd124c2281788080d0d1080474a0744d20b083fc8140b2e9080901226711134010e859123fd582a1c4a5c698d3555a798ee578983a9212f28299d5e46649799083426e9d35c7b2ca22ad151d5b57825a4be78fd20fa0ad23180dbaa404b48cc06ad40c4960abc9f269568e1b3d249b88ecf7de7b8f51a0e8ec99d95f708f15b1fd047f2bbfdf4a7045cbcb6c23f5d82995ad75afd7eb1941d24696b411a71ecbf6f4da5ecb85859a5a272bf253af24cb67f9de48f698e45916676bddb66db3ecdb96b72b6ddbb66d1b75c231291516d7180b81e819dbb22cabf7d65a6fad5996658b762f456badb5d6c7258e49994d27b42de1186d794fcbb46ddbb66dcbb22cdbb66ddbb6add65ab35e645fbba8dd6dafd9c3a7b5d65a43e19854b964369d500830896a9c93f6ab26d9f668addb964b1f8fc7a367eb45f7f32cf3c3b89657374f75305e76fd7ad6448f8d91b508439b4c8b72e273bd8888b0bad76b75986ece87b65d0922730bd583d5ac8f11abf557ce0d50f78cf59cf5d2313338b8a81c8e55d1eae5730248a5f7de5a6badb5de7b6badb5d67aefad57bdf15cddd3c1b5e551b674ed9ae3cc3169fbe6aeedb15d7bb8d8bd37dbefbd75a239266df7de7befad7d94f60b6765ac3f5b87de81e298b4849d68fb4b51b7dbb6ddec4ffb85d3644b40ce7df9d038f93acef56c1666055610ab6d902c2be6b36d946821744df319c7b32a693d0485242a018739e243093773501e4ab089ca684941b5d0bbe7726ddfaab5d63eaea267b9ab5996658374cbeaaab0d77c6d57825a6b2e1945af751517ced65a6bad35cbb245ba75ae9865a99a9ee53b68eb67bb7b3fb68211aee5f259deb2415b6b1fbc291b34244848ba92f0c849be8adabd8fc7e350d50fdd4b7eca85e50cfa556d5febeaf0e91ededbb77d5bc92dfe04f5c8dc565d5b07801ddbb617c4f5b544710093d936b76668aeaea5a0bdf7ceaf87a58b23fa7bfd05577eaf1df0a564593a9fbcb6775c2ff272bc903548077441a1787c1ce0a5cc2273c18af94e5c96154b915d637afc148c05f2f82dd48732144d1f944b3f64f6e109a6ed4af0d3acb39d1ff7e14c875394e7e68c40e09520ddd245bbb66f11231b5e467befb9658e49db37c7c9a55aad15a502f6366e5bddf295a05c74cbcd6db9bb4de4d8e29e1d1b5ad4f6f68671f55bf87befbdf71c8e4987dcb5c71f3298e446304a38866dc231e9f7f672efbd4d64c1d0416143e19854d92e71cc0bc7c4313bd3682d1c33b522353932ae2b95b064afd7b66dcfc8f6c6d4e24e0c0db96e21815a444498c8aa317642a2b75d1fdcb3cff276a57db6c74f7abbc7fbaf17a5cc3ebd777aad6e9d96f8363b3537754775a4eab15476acafdded6eb5160ca04d74d3dbc893bd128462a98450c9218b7c7a6da1903b924cb26c58d8585bb5a89c9a4a0da8c4857525c8fc74ebc5127347f7b6ae6a7b6d4e5996ad60e497423fdd72aa7b966b76f3ac3bba472305af04a99a3926656180d0cd14286ec6b6bab6513f704c0ad7d6e1985e1e8e49bf0152381c466b6c375560ed643ddd7059968d3ab2544b340c9b9d07c25c3fcdfaa1e4c211998d72e27383b4fad993eddb3ee355d34d6f24ad26767cecf489b2a6edda5e21d9addb1b6e5e0936f5d826abe3e7c7b232be9eed61ce3abdc05c3571a54aaba64e6b8bc5cc31e9b3bad7dbbad713b3c15323824423c19632b182a46021016283cff22d194d3dceb22c8b75ecf50890039524694c6d69e865b39ee53f9c67591e147a9665b796a1c4518a2f5a40cdef5ce604ff5cf094abd7ceac3c84d20aef692b2596750a5a5782567739266daf883234c7a46d88b2a4bd12ac5a5631ab9abf5fa649430c11b1f7562695463b6894f37b052a8612c7a49aa60130943926557f2b2b9f66318f3459f8f8fee33d11a91890d4560db6a1151e965838d89cc9bcb634a51a0b58515595f3142b968c4f757bed93c6bf5de32fb8b282615829fce39380382d2627567c40aba201d7ca09b1245476eab46eb4cd857b6badb56e6e107aeb10afb5d65ad7b15ab3ec0b87214b322a62c48eec666d9d4175b2d42ccbb23ae5f1a5fc8123f7e229b662fdf0d16b465181f0f117e0a759584c593f6abe739913263b1ebe1b29178b28cec7ceecc4879511c0a76176c7b7f069d811215223dc143c40be9a131f9da263dd9812d755912bb309d024a3bc230665927d5cececf89ab0f5e810139a43b2caa06ac57a6011f578567c2bcf5e04c4a04ba81dca0e214cc7b768d0b30788d5bfbc07ce40784901d9389bddb17363775819984fc57694befd546cc7086965e5c96e241e1da6aed1692aa193725452e2e4d3309de41d0b35a42b1b2cb6baf256e58bb7a5aa29151f9c62e067ca91a58b191e94349555a55e5f72742c9648e8da0a03dfd0ecaef19baff0b09a9541123a24081f175e4c2bd59408942915bf4fc9a4a26ae999da9bc0a272ac5535481af7b583e904578d092137a684ecb91250d7c7eab5d69a0aebb536da6430828c7c6452777fe15332aa132c4e0daae8b09a9e5c8cc9ad521848531d73512486ace050248952bbe261779c03c1740775c3a4c5d131ead119c239833ad3697a711382dfc4f8c221f143e1d3b01b9c7588554acdb66bb9498ff0e8fd4042dddee47a4cf108315de40851c85982417505866c1675b578c2f9a21086b303491dca91a1129603367444fecaa7613829daa19d1259aaf80a71b524a92e1da21387a293a46747e857b3836adc582336aba9bc281a928e1c3a6740322aa6d10be252e8a089c801246c75aa91e186d57081d87029c0a6c2ea7698a4cf19492bd91220409bdd3146c810724e2d1a51efc6c359cb76903c2b3899b9461494117e5aa6a374d534eb549353d36289d466f374d34227d996e9181505e0d3b21c218fe1d3b29ce6338558340b2f481a8d3016ec26e22694fc68afa5e30a1b8e8932169d134a41154f4b451896ea7e28cc505a00c067c98585ba181533bc4834fd2cb9a5f8e8133c3e26de566e664c61e061f15121e683420430e917ade07362c910c5f3058553869ba6a196144d2c372a7c58d861c74c5c51d8c9020053f3e50625855bb0c922aaa3028f85bd3ad1c2a211f461c97cd8252e630a9c17a6a20b279415c65230b170a34503c86b7db3f78daf834fc74c08fd844fc74c1c65ca267cda7bafb5aab9ca37e0d5d8c241e5135e7d18a47240472ab464b0fd1cadf02164a9c4d5d18fb7ac9ce550531b130bd6f65485e153b0b69f4ff914ac0713cda66dc52d59d2234ec69a0a146d8be506de6024c9405aa3d1e3dd4cc9213b4907d47e1a961c51c66ea70a3f5a0f09bd6e79fdb37908912487769a923970f0fc1841ef522cbb42b03aa8ed468433a6352e2131a04beb5290940e8ac1b3f7de3f2a9f8605a190810c102394443169cdad283ea4a050e20f423c8448926141cf0d35fa41b26142413a691850ddbb9f862599bca517d02c902256b37bb705f9bd8b725b96d348dd76a4d7c604e943a7e80421a8965e426a9018594f30dbe856ad25444528c87e6f61e9f8f1728b32d9967efd94d9164794ae4958b43b239a3e3c116d352101b79a281b823c4922f5616b25e1e251ca65494ee4de07665f4841902248b4d0f069199eddff3e2dc37353cbf3b0441b7203132b8164730307475c1409b62bd62b4748a84dd7746d572411125c4a6838cd2993c0ba901b2f08ce8c6dbf6d0c0c69eba9098d15098d550bc2573e7af411c8046f7968684b2b488c78f788aa136d59158b9f64a8e46a5a0d6b5821728668008200c3170000200c080964619c85611ad3f314800d47a8526e543e9d85a3711cc6611404310c843010200410c28c310c31757506a0b8a56579c5b91dc30aa06742f1662003a53098405ccd49fff308811b5308fbdcb729441dc33fa9dbdb2a6d61b0e92461b27e7335e4c02f56d379c6dcea70305085df9663c733324de3566e69666eb138d3b1eb2de61040ce9801e6a2b833be59c8b7126f74c1da4746b84a74645800ecf6fddd6501d9e1b67e074385a97edac05b55ff50d68df87633a62ea67f681ee0b7fc74e4a8d03b63a518ae1354fa710e53e796c004c802ec1c91979c7f64b5111e8064b0c478c34c3b6e489f61d53866fa64c7f464d0562b9f31e508afae46a80bf42ad680db6d6e2157ffcbc1e6ac9c385843cd0281bb81e4be12ec028665ad27fa4d52261e17a68ec394f79ddf9f489f5dded288c536f4d732f42cacb6bb5e6ee802d3443befc785b16a8cfa4501c0031e60be6f461d9598a9b312c62450535bad71ddcc5f98b5f4543109143feb4dc412c5f5f419e61fffd9826d8694b86a2fe7afbd0336d6647aa3514809fc546e2d7f966ca4626af00e01417f2f52377b5169c616cb885769d8a2a9d489e31695a6cfa8a38d993648eab9e800d87667fe970b7c96b56398c4101d1ca6a97d0bd815887425212e327059bc158030f2944846e87a35869128fe172e5e2e49813ba1f5ef0d6f4a7cd5f4b42666c0337683dfe5ff5c44c01e0995ba3228a52973c6cbcc346014b4342f091396e4d2928e47d9fba8f969e9981e648a4389c6e40f904453eec4e52a8a4950a40302557374a8203a718a252a856ea2b64a0aa940c8025025a874224a715be05d1561c878eddc6adadf61e8773fc8e795700493b774323d2754b8a4ec2b961e5cbebc4d1b6076d0c4525edc2440d377dc41a81710e63dda828433d659740a381f446323c124cd58a42f74a92521079ef215bf9aa8b63da3bcac1a6ef031d004b7066a37790652148d789c82a034d825ea2dcb8dd7cc8578116c1905e3c820ea2e58696bbb6269d844eee54ea20b8ab2103f71d3a9611176f5c946796b1f54b4322c5f3a3cc5a8d463f7b82264dd72488d799fc3f0337e038cb037052ed3e188c62095b8ab3d6490d417c6ea1b52448dcb899a5aa184645e9a745d728f5d89921df9073e09acdecaf7ae633f0005e874b3389c5a14f7d193e01e5895ddf1f0ff3cbbc0b2ac7d2a96fb93f521e2785d707f0d580c4b3d4f01d0edbd3cf87522c9baf3c6713821bead60b4517994ae0e624c36d3ef7afc788f11a3e8503303ee045f60edca73319ac4cbb544dc772304d1bb2dd1862c7b91dd164e519cd2bc07aefb03711f9574d5a9e7895940cf0b92707921fbd5a561988fbd2b09f66b75a338201d90ce851d94d2ec5936adf2fde63a6fc4a0329db22ec7e62bc1e90dae1dd4f69a0e509ed8ea1227d461c6d206b097f8c745dab37de26a63b3f51d5a88741266a1e2a0b9d6d58041fea312bb14edaf716229a07ea82b64cb4c6f2b76291c1a9a0300acd7c8d82dfe0edb61c0521bf23c0ba00381ab042e099e8528ecca6002c8017a44a9f0557ffb1a8557aac28bfb63f005b24398c6af82170d1f77e6275bacf171cef866c31b8e7abe11c48cdaf9f28bf845ac5d8bbd423530a95455394a2a200b67b5d242cd756ff2a9e36fccc03b489445a5accb8c529f3aed280bbda10704382b270f50dfc4e4b4124ffd482d5b4cf82f35743e30c547dfa1d13e2a6d173acf99f850fa4217697a11604fc810badf8e27c1b1154e57b3766737825a111cc89f030bb40a673a2db1dae0890b5763dd24bba8ed30f55b21a94ae01db4b50e8ebb22476e17454a22bdb9742895cd1367e7d9e13e691637c4cca427565112203aa243fd316bc60038e39926158e09301969ee8f77f041fdf1243cded6e4e4aadb8883b666a211afe5c01ba71bc189ccd9e6744ec257df0bd6b20444d78dfcc666498578ed04854f17a18c6dd5d1602061a5233b88248cb51df537b01f18294fc41a55ad112b1382e56c24e6fb19f2d7099a9b224454c1878dc26011dbbf0522952c53e71b7d7895cc8414357940c2935c6690ac645b1d9e02104717a47fc708c9ee9280d065bf739190f12f448f845f0b2e42fb2c2e7e0b78de168812f4071f677dce83be30db67c8260fa763e70b65db469f01c014713cd26b618afcb233a6dac196c85333391e57c74a6cfcc327033833a93b83667166fc66c51aadcd4f1600ab7bed5109bfa18b24a17b5d03b921595950b371ffd9f7e5ea74eb03ecbc454864d4531c5c730e5f2e7ee6abde925ad6a53edc5a647ad6d645db7944f017533752862a6b998ce42165d6f6556e5aa77a77d4102cce115131ba53e9117be64b0fa54224c137f6057a2b7cd9fdab077e9dca774c08c81e67b6cf70f9598a443dc2134c5ec3518a838aceb4fe911ed92048975f199718a6a181f0506c2aa19d3f6242cc5de5675db4103e9c8f110748b6342d3f1e6cb8d588f8988820854488a7275380a3f405504585f4a360d5d90143d3b6a4838b3ad9a31cd5eef6d049785498c08520154dac96c07dbd73118640edc6e311937198a082169d91663ed1774032cae47dd59a84cbc52a3efdb012be463828741688d76e931f889c73fa29133ac5f7cc69a55e7771639ee7ce2922eeb1b0422562232706b2c3081a09630c4b1ff2e7bd48f34f056c28110efd6130b708c74c5ba92a19858c2b220776d23ccb0b36c907f4a9bf41300a1c3ce52164a16808bb00dae867c29db8f07460eb861d27bf50777d9744395ae551be36883e57c67018e10cf571ec24a821eee33159c56643fffeacda163e2445ff5c92ac143793231009a48c4dd8e70cd67fd117932688992d3c1e481d13be724b005830ae60febb512f812ef05d0f86083f8003790191809c54f7c8472b2fe1eda62cb2833a469dc35be2208222aa4e50a1b5a29cceb6e31e22da84ddc1b46a63d445510933f45d8360a324c2a78738178c276b4fa9855658241e497eb1031ec1bf04b379f47a2698a1d123d15e3c8072b791abc60e197fed83d2ec53029c22e98a8242d149f4e72204f59ab935d810105be08f77238188108564a6e3db5b6f5872b5a0e2a0acfd8389706db14af195292a8d1e2cb9c7a166d4a3df823832b02181c38a4735e5a83b03ac5edaa58e69bbdfa47fb5e98e5f228af2100829d6185b37526e1b180ca2ae4c52b0bef4b0b1e541ce0d47998f879d337d060936eb8a73c8b1e8b63c123fcb9b76d0ba6009d22ba5e42b7286cfe27012c145162b0d22ac455886c53502e3980e6ad4d6f6c76a8dec8920f669c6600150edbb3a1c0d99d82d8f759b3090a41932999e8de5e6dd7eb2f6e05df163ed3f9e3e4c4ac94aeb3cba5e91685410b3b6a338e33b0aa5375e00ee2ea044bcc41430aaf754c2878fa42e95b0753e25b671de1fb6216a6495d3ba58a698107249595f88061994eb71436204db2254fccb91e63b2210fda9e9b777e123cdfa99cf690ffb348883409caa882ef76d915698c908062da95ae7c5f40d1863b628ae63135ff688a53e835a34150938f1957ea3b462e94cd315bd990c21df6a551e71ea1be0374fadb0a53963fd49098cc84b67b8c4a58756d32cbe9ed9ccf6cc862939f664ac2cdd6adbe0d7e73fd1188eb414c5df36fbbe6ab8d7ce09bcbca5c4cfa037e9232e77fc249e044def275c7618db9cf3728d035d8f424b270774e4addc0d919d7283a0e400eb68e4ada3b08f67c272f19889b27094b46bfc51329191be3a437f0e603b1cd321138477a76afb02c44913eeabe871ebcf5259d1fdff8a5eb12869af8582bcf66b697f1acd9f81a790543bb486088a2776f4859be496cc8e210368bf048fc2fee4e381b6491ed59c5e61ed9ffb673deaf73cb7ec16598afe1fb1b8c47f5a634be150b4404fb79786c4b29783b0211ff215136c0e19bd2c1bbe3865be9f660d9dbbd29f3ae12db7549df21c2e7e2ddf29abf202b3121cb9668c669f2a3b722d0db3917f6d532dad8279e393a19adc8ee963926f59474af1a678e6211dd694205a3343b077f5548718c3e7605ee94f5dbd959965ab339a9505f1e7ff5043b431272e69d6857fa2c71c1bbe3fce654c1dca3ff8144e779168f3cc82a33421a588c44dbdc7cb786623526495fab11a73e22403df345750f590ca6d922635675f5077fe220872cfd82bb183f3f7f6b340458a1cd68c928218063272a1ff2f1ad9ff7c8018b78ea7072cc48d982ca937e2c89a1e19687d20aa51b85b5741ff807211ea178440ada7eebe29afa6dbf06403a176e4f0551fb15ac21cb0ba7f9648e1aae88f2a82561121d34460440ff021ea43a9488b15197d605d4ee1de6e686cdb79e4afb18fa197f87e68189295854f70503535e9ebd7e47aef2134c0ad233b090436109e9aebe410c90a5ae2ea9280b224be5d8b95174209f17c7b25ec2c027c5843bd3c7c70cf8a2a9ed93f1312a8f5db83932790172ccd85f6d4fd66677de1fdfc6416f8c86d65de524a6b9ccc4fab124a962ee732c841a17694314d9beced1899a2ebedc78b85546e889afa3ddd1bfe3630fa2d30c5453634d267d2b892e17de923aeda1268b88dd85503bcedee9f2e290c3a5f852ad921bb6a2cea4c6fe37ec304b0bcbe317469d9ba37d4e41eb01d5a1993afd181f0da93071eddf9a7e3972683b041066e24fdd87e2d82846902decf4ca31b50913fd320a6ea00b49a6a518cd088566f78613a83149b1371b050521b7b759b37b5061542a74e32b9b7ee8d4d89b5d071ee09a62d433eab060a6bd6ed90baac9f5752e6ffac33a63a35e2fb182081f7de7fec650ff46a87a44d0b7ca16c387183786906b1fc5a3274611ff657f5128244f3a182a9451eeb7ac0d41a5f7ea78c4507793e3206bd1d272fcacc4df8282480df86d175e7e2901db563d9384fdeea3606c1e37babfcfc362f0aec102d4335ba2e03ce3d6b2e9149b8f3d4f1a637230a7666dc361ea7514e3f97be1e5569f6e6402f31665f12599e44cd3742b252bcf90da8cb3430feca24b123730628e58961e1e484710b761c886ee009cef42e720c5eb7dc13848e7cb596c4d8d512122e64156e5315ce391fc8f4a8fa9ec945c64795be6541e202acc33090649301f56bc309ac6a308eb398dacc05a72d726e40e68d1798c01f8fc9522c6543c3856da5c756531b0529537d4db9fab6228a3970272eccc2e303f4e2cbf413869495c2473eddc1062eca53988fe90609efd6da02fdd066288cc651ce6aeefb0147ac54acb232836394921d61513accff475c1004a4195ac2809983748544c219dd16ef236f7fb7242ce826a3fcf6d4fdf27508b54b35be094822a04358575d756c89c9a1a1348d79eb62c06b9a1a7f1d945484886896d73f43abd8a49863ff7027ee978da26180b4717c6568f4f694b0c25d78ff5ba8f0e1a37b5f23d92b31c9146b93329a31e1b8ca167db2c9739bc0ab8f9f22ef02d1c71fa320f23285db19b8a28639fea495798c4f8664781205d8fb047d980c97a64cd6dd4e234bb67ed749dc51255dd6dde150e9b1017a3b9032dca1b82f68294c8e05365675cff01c52a2b606da549c3c7e3a46e603318ca81371353c775d93a3f62d296600784eb9a2cdbde386a7ca8fa16e1543c0f5611a239a22119c6e7d52c2062b8ebde05ef4eb21da16b2617cc57d0f60d00c701c6d0c67ad30c7009472357e07af415788d9184009fe2fae34edc52a3b44451b25f7f7d9cc8abd66326ad06ed4103c5dfdffd82edde53df77f0cac247dd3a0ebc33046a3f4194b95a3cc279674b13b2e72067868041834021c347ce2eec3d5f0c937b0a01f22a081a56abe2428e0ae579d997dd627ac047cc68400d46745921685fa36cbaff648ecc3887fb84acd21fbf8a25d7bc682afa9284adfeef7becfc8c7927ddc33794c3cb23b3e6a1d2ac593655c559ebcf4010533abaf148f4a0e0b9934b125e90cc75f96cc3024388c1581edaa5f72eba22925acd35a608e6ba64eb06490d1d08922c4775ac693700881ccdf744816773f14c50d6421f0f57e52bb9c67b5202936398baf3aea464a61091e09ad4be2d8d4f1388c7f39587c4a12c691c9eda09eeb897c4976c1abc138c517b5cb41f5c8912cc8b7b8ea2a3b9e3ed9eb56e49714c9fa01f03a7042e9d1ea06e9610212f5a056d82dd4061a46155bcdefac53d844f368499b4d0fb7a211a836b1e431c03c0dfac1c626b1c03bfeb2cb9c47a67772898d9b53da54b3c6ef5c851d0fde2c778c8830dc6cb94782aa90e72366be27092b1feed17427f746e561182609dedf4923f5e6722b90525f27482e187170bd95c3b83d9c71289859f5eb8a9cc84b53d907d1429a305fae014d268499a81147d62c594147671fece731226c6306fc9f64905d30973d7d9ea6b089dfd7329ca7d6d582be9f8560bf30482a99ba5ec2b698a6055833116e4207c16df42abaf3d251d4fdd76f11d9a356eb0575ba5576fe98ff626f94e5830c434a9935218eadad8b7d1a04e36501c2ef4b943298d57e0279b8354c366a0631a28ff0fb068c8fcf2f2066f689085f8019dca5acbabec08f1cc2ba123be2a4d914f4ef4cf604f455ea079aa63b9972df62b1188d3101aa1c38fee7c766813cde550ed80500dc11ac229b68c2a3e2be6e66b11e54b658d53c0dadba7bafec78b6ba7705c9afefbcdddc15d261aa211796e18c0a5056c1562f6773661d07ccc6fc0db7ef16b7e42f42322aa6b2d624ed8829f362d688c892016535d786c24577edadaa257c753842c0070c4ef60deaf8a01f225446bd53f8cb93e019ace9b1c03a42f3b229d941d558b7a08c09038a2157e39fd80bdd849449fa62301e14dc11f2f521f1ea06a3b51abf79457b04120a897a9e7ee40b5037e074489545992418a074e8894145d774213bf3919fd5a5b32623e961d4e73e5f854014764b5220c8318cca1fc9f5ee2e4c57c208c0e160bb8b86cceee4a0e48ee178a83b18d17e5bc9bea0df74d3b058db0e200a4edf67e273589a0ee4301b039947b6ef51bb24bc4fbb36ea3157426d741908480b2a3da837a59b35ef265244546f3bcc49ead6663952736a889537ec35876bc3c1913fde210aa145460f382caeeb974a152f986025df0f0e3516bb6436a422fc8b8f0fc85d51bc47689953c104a86285db5887c85fdf1e2f635875880256deaf5a7980a48bc75928cecec1779a21674d2102a1f2e89cd6c132fc42bb99f1a26f46f2b1e5c34033be1e3e33308a22351d9e6a8b297631b2541f4be5f7f9486ceb8294883e6cb93726acd234b7b483e5b10cb13d7ff91a1d4bb7695bf3f16cb313cd281b188d20da616b71870b63b4a572b09cbb85d6852b526a2422d3b35f2ffe04b3493ca1c72fe297d5d6e95ab063758fcde579922378de0b76149bada5c4029e532f04b5650585a99d8c0ccbc9a94cd92cc342c5039ee3c72f24cabe9c9504b0e7610f931e5e05d289f26f9471677f819a2e9cb64a93de1ddd24eabfc65b2720e8aea7910c2ce85f066a4959905592d502dea21319c15907cadb69f05e29ea53e1aa6ff15e262de3c8b901055dd1687cb870ca247607d22b5e01a8802ebf45b85acfe9e0c38a28304dd1666350faf027dde8e3212b3646f2014c563a08a8691c233d1220ea931c84fd085b5f5a89cc38c3a91e93bd9c89c7b5bcd4de085f084e55a4a28e4383279f9896db5d43a285318593125533df84b8095eee5d3c75a7305a6528c896a794b8ae1cf1aa5be66690dc36c14989b741caeb083f854acc907ce00a229e612512041aed6d23ef2911047e69ae77ebc9d999f5761dbdbbaf2e0ee83acf072734d231b35c0cf1c3d7d338f82c7d912560dbb4e37cebd5e06d301a92281a5cd2a4be29be6582f07f21431dea6b491f0c3b7238b0f0377b2a4cde317e07cdb7f031c86945b4becf74c08195a744d778223384dd68d8ad048acc448efcbb46e7a9ccd19efe35d5a322dde061515b3f50611ca7a24ca08541a9441e89fea1862bb40ad382f14f0d94cf22308dd21614d363812fc9411a8e5c6589f556b79b42dbe59a120b9bbafef60c710a14807897d18fe3085d71b4caae3a0e1c1464c9cea0a711b1b0afce48a66208e89205814b86ac96350c214f8a19212e4abbe53e6403094e5c481996989b3c58a43bbc113b62daebbd10e2e4f84b9921a541497f5bedfe1829a7151a14d817fa3fb30b6e170db987542c4329420670072bd3db9886c3661c5c1b0251c518a260dedf406662fa9a54850a622e2b29d775480cd239dad8b4cc98709b31b2b3b78e9d6a4fb15621ba0fc0345a1233953707c77a94e34f575193842ca29e7efe60cb399078c1142cd614824c5a95d8aa1b070647674fe9865446236241a4828a146a4cc02783ab8ad4827f6915c07262dc881bd0526ce2793650ec7130015d06895bcd0b72b2838691c1917881faf1f0be50fc1910a367b43f34af587c4abefd1f0af220785a7ae3c83b1339337560b74659193ed3038afd9f73e978f2a69b34b01078149f85381dc8d496e69c003fd76fa528febbbec8d105e0522d5d9731445079f483dc822acc34beddb7817e76cdb9aa463332a9ed30c1ce3ac70965e1aaab785adfac472d862d1718b4e6f94cb6cea7db8551b2db8181f3f2a30ba39cb9733b14dab2e64439ced60981059bb660e6fb9f4b78fd848549aefaf436263b70eacfc573a8f5ae4b08af55c0aa3abb62d697d1f19026f04a4c41c0c2b9e9b9ee9960a6c5be0ba8bedaa723a36418e3fea360b64bef5031d48bfd0a03097d723d8d325b44bdb1e2102c220713a2c0563a969a0ad499a1307450065eaa6061e06589fd86aaa1163da5ea7b03a05736c1ed4479be3458012c5c9a846f79a05a745218f51420f533032b804a0c1b5c2b5a66bb3e775d8b51c05807df014eb6016b2d26630a36ea9f1f971cd718e8b458e5648a275aa546c05812fed246aae7f0cef461cdeac3fc8c602b8862c6ddd1abdd53f7ec07b5093ca1b0ffda2fcf824e491c6c96aaa4608b203f87ec304dc900b302d2ea9255c9d00ce6820dc195ff05fa4436810b6b1a8a6822ba0eef02b8afd03cc38408d2df9d075b4b7625c6bfed46651a194c545ee52b328a2fa50d37ddfdbae2d71cecdcac454399fc2d5bf79cfc4343699a10a925920eea04d0a79f762593d665998b0208a0f7269b391db8005e0803e5ca2cd5abc3ab013dbab2c07da6aec87807e23eb860c23f4888e31be3aa56c1539c72a2551a7161420dfa4813afafcef1a2a536169443a7087c119191e9aeef0cf3b03787a02a654bd85696695023c18e6bd2d2b953c448b57c3b745a0b3a82cb31cc90ec0d5503ca366ac1de9d5f60fe2a2ad00a4e454f6a364c0bd9dc13e0648ab504fff23fc74dcdc9dad4bee14ee1146641fe517f6f16588c02b8c55e6217a39018d49407050bae04e2b03f8071e398e2873903d22e74344f3d2ef79990b9f3b98842a7e08deeca9b2e32e13252f0d909ba57040d4906a8d172556faf692aedb897cb1bad148f07b869aa4439a7a5bce7c23a01e3dc9b67814b206903d85e63d3ab79e10e057012ee4ff04b2b8d4d0a558e211bc343c053dde9334226ec603c039f54b79188a2a5d2188d230ae9f416e0110c0bde739deae171d92360edd9dcf9c5b79d6f9c4e9b458b3b6a361c29aa8f6aed3c4ba3be52bb811cd30efb9d1108d3819dd1e9d2465c0a51229e7804fdecc7a4ef9ba22738bb1e07e624c440e677ad3dde87fbb3777f55ba4b0fdf26694bcdca00a52da89d521d3f867891cec979fc50b6981a267d76e7e56095f6fe3df3b4e8e05c1f271bb33dde6c0e6e98c42e5ff6768397b661e9701865868eb3cc9ef56bfa80691af7a3e45e484c0e6a85ca7f0472848c09fddb198f3be5df08c62a288874d36f2270e065c11f60517ac93bbdd2b8aa79ffa3c113b576d67f70daff43a66ad71221760d957eb7095d22ee1e012f939d0569ac40476ea1edc35f6a55f0682737f003d2656ecd1a6a3f0f9448fa05a038a3d3821c5666ed68be6484fdf9663cb1fba0af1ec8563c8b780edfe77312f5dd44b3e9c98f322892c2e6ae409519216bf7014f610c62598473b712f8cac88d8260e8dfa1a0327a3a8b05191c02209e53eecf45c148da4b94be092de2ee344f182407c09a05417e9b6b021ded9087b3d2e0c2fe272e1386ab261a8f6e81f7c412b448929c3e1feb843594ff1281585c1e68ab5bd5dc475f9896da748bd22100eb5f64d3a776f1ebf0e75abda79e3ff31442d9c862defbfa4e93f9c587692a7651743fc19d6cdfda0d83dcd51f06ed929261be2b886a56d9a6a66a698be145c5807a870ff83024fc6e4afc889b09a79b7c58dec436a9f5e7d57a0fff687e150494520d8ffb9c5e39e02544ef5b03f1e616dad609081dc73c8f2720aa624288a1bf87166c732cae223485c3d6bf40cd47294f093186c46654929f37c911aeea08a510b2ce2a3722e5a2d2580b11d68a749d02f941dd835665c35df2cdd0ba64f3f7f3d2fd592c08973b710d988174bde27c03e2e450beb7172c14c1732f497e2a990c2a5a8c00ceb8fae4fae9c78b2658e0154735e4d88f37de5a63ec38282c77e010de1ebbdd8ae5b7c867578bf8c205c1e639e5af83358647062fd272cfd229d9bcf6ce41f79c90c6e14cc604b12d852dac75b7507e892ed44a62e71c284ebf698d62474c708595d90a128d24351c0de03bea000d3630a345fec5114821f0b21c8632e8f96f5ac98005cd7a1fe8a1c4f8f9d31d324060e0b8570e66e18bd4785ed4691cd0a814e760c2fd28d71a66ef9b9102a689244763319a88e8c84fbd76b70f1a01e902cfe2072109d0d06f1f55208b070a91a77ed744ab09684b1fbe0c937782f763fffca5d5dbcff5a87c118481200a5a2bba26de121c7c7e6ab71465991b1f200fd32be0381ea1d8dc662c3032aec569ad1db5049c2ca0e05de0e972c3f149f56ab2825db015ff644ca93090f263c613e60c5e1ceeb7086751b6182e271f2046f1a052bb0001aff27365ceb6735a3d00decf9eae82741425e72bcfad456560d17d616d4693d41da3bb911678b1df099e3c4af1f6915c0fe9da10c7f54a8de5c34eb949885bac5901d8a3dd1146d465abb524d076a8347752d4757ccee1f7b10545107728a9fbc2777a4c2eae251a139ef4d3189b64374e904f5d96545841581502b4883eb0df0a698be53ba10524fb00bfeeb1851707cf260abdaf6d20fa805fbd7c0b36549a29bc00be6a8a1a2b62fb36090a16218921d623f290c345feae467cd4853351242233857e7d692cb67b8f5c45b4d66205c2ea26b5568af893bfdc51ba5e6ebc24adb55d189001f21d5137049a54c48b635cd4a1e2b73d90d045773572c07aad22f2442730e493daa3507e96266d0173f6326bd3cfa167b83b6c409c8e3371e6e9cc424ba47d9a8cab88e4a4dc6381a134953ee3d23c29a3eae397b37ddd5b649ecb267388b30dc1741647e8cfb2bc9e497ed1cbbb0bb4d13cf2591baf51ca8b772bd763c58ab7efed5363b91d77bccba5141128f8c796956ef9afaa21579406f4c7d8bfe087f50884ec9437ae599a816bf162155f3081c7244aa89b90e59d940f8939637ba6f2b2ba2af7396ae9c78bff80a47ee507bf2e9adb32ca675dd04255edaca58caef1b226b5053fd38ad48b3e5559c49969600787e62389f3263d27d132bde42aecd4913b0d913545febd86038ec8a8a0d41d290fdc2abd847ef5142e8789652eef4e78762ad46daaf0d5c4889137b676cf5826f9f1a3a723b39b20d1d6ca4bc14dc4f7fd3ec6e2075fdaf7a30d974b2a484285cf5fc4a4baf42a612550b079389a6b292ca51f2459378f100b80c8d7b8227b73ef0c57c0a295d68798c9e1a3ada38172ce85f6448132053418cfa0d52edb64e96c2752de9a3906199230ad8f5f9c968239f7817734096c804d12f82ed723bd3d8a506b76fbd1c7eb987bc888bb37f9e310896ae1a733013d30144135432c6383ff2dab29073ce33305d001fa45c10e70b260cb664408d000e7f1862c55012b9ff278f9a0b2e1729b7893c64308c2ead004a7bd57adf0ddc382030bb0c1d380262cb9d5c612b990e9b6e0e54e2b50a9405b2dc475fd407630804800da655e4fa3d26d25c7605b5427be5138c83d3deed82e055e8d09447e42bc3c6b8b5d19fa5c13d5c390b5a345d724df8a242d557bcfc6af213b9b02f688fb64794db7bc73b93bd5e1c27a4a48bf9081818c65506825a2c1c6bac08cae3cd80b47d861acdb9b1af4c66d07dd5cbaf59e366d232c7358b8a0a4d15c202d16d194c0e2a9f2859f69ab324fb12d8b2678e1a0bfc0667a6b32d952eef8776943a129b9688b9e22673a3d6efa4193b6eb6165a3adce95fd0b3681b2b98f4d4d5738a841ee9b770f0551d30974c46b3c541d626c50cc4519d06923b90631adea0f83866e75645bfc6623a4852120b53e37a03108713b85b38e30a79c8c9008322dea0560cd6e1ddd5fbb848d480b090a102f7a3fbb7ec3c31c586a37c35a868f6da1aa42f7fa660d8187a88690c9de5c5964d384c907efbefcfa7c287d9066690d01d2fb8f97fc47e838b34ca699f1b3ce896216e9a915692e844451e80a5246857ffab6486e1208cd9b2dcf353007b255d432c025ffb37724af57e35c9faee433356ac862c2cf384391db0c918af51b1d1832b3b24a1bff8e324b0207404216381b564c56cbad725249902b4a90a6c2915f168240b13e030805dc464d1bec444a69c78de52b5934bd69dd16706c5b36ceb5b8b6d9e42272d8e52449c019314355efb746d56025ce3cd5b135e9d640274ffc56f55622ad7d3c5f1d29d34933e2790179a3933add4369b3a6da1a77f92cb69c79f2d20ad4cb11360abcc6661d70394ef8ceccb1bd806872c58ea371afe10d91387a2887f091aae341e42600f97b83569b9401bfc2fb13d687fdfa65b7e17b1e5c1d441fbadf7ea257230aa092f7678d8afd200882e139cafc0faff902ccb5d8deac5281913d08c2670d296dce8a18e720caadf9b6ea30ce812e4eba37c4ea384f0839d2ae66f50985133be1c1e6fd42cf0cb71523dba2043172d8779e065b5e3bdf54db81102ccf48b03f6ce5646e44ac1680162a68eb4f113e4ca945680d9e8090946cbc73226a82dd9494fecba6a7dda4f3b7bf30e817947bc40ef538e67034dec01fda4042ba8f230626c27d8701188359fdb5d2b9f3a6ffb313860f5803b9198e391ba16ade9c81bfe47e1f7467bc4e4da5794dea4946717350d4e98b79cec0eb1b9cc89b79e8d9003f453b9468d17a43224c896d0149304af7b8921fa193d10be14de59aa6dc7000e93b6309e93603e482f9ea80ecbcd724dab5a550e3366659dba14f3c4006aff091762adf0cf14e9185c52dc499324f002f29fef0edc88543a17a27d75fe106785b92ac7626a043c1f6c3a0ad2a05d0261f9559abd7c96759d400c53579f5781cbc9424fa8a520f355adfbb55763919d40a3914c7a27c13e9792b26970afea91c4278b840194763f065949f6f1e39bc0c34881090734be6ca364e738d6c2577e6c29f3ec7e4bc9ac679239a139dce7aa2d13fcae928bf9e4101f1cdb5605d258b8800845693712940bf04c5f516705718633ec9dc64eeeaa0e253e63aa1eb0aefcd72c8a1a502d7be2f44778903202cbfa80d420455243777a381e44d10858672fa6e69925200b846b20d228e8c8ef4ed4f14b5f42bcb94857b267eadb03cea28381e650e144c844d085bd16b6dbfcd7451308935c4112b43766b909497c2f989dd1a01c57320611adb99626941ec0eebf2f8bb7efd515c0aa7cd68dbf02a774603bca744c3afd4c5e5563b93ee136aff66400d38c9c412e89d3daef2a303cda37a104737fe9ade28730351145c36a57d24c33043d3fa8e3b2222a890f7b086a73989e7c85990825e6828830336e4f5844a3d82a8f964e4a789f0210a832d2f2a38d7812c1b8f4606ab89a9e98803444f54ae806560c495660ed0a899edf5f63ea6ce68d5d93c59cbac264d053e2258306f993d83b048ad5544a3a50cc711ee17cc37db9b19658df7bb6e2dadda43f63bc48f4fa4f4f40dc46acf59516743a24c273179b3a98d60f542f13b23789b70dc8dd2940a4429b558b520aeb8a47736d80a29497d69698397624e255863f6704f7830a9676e6d95f643c1b81ad4cd3fbd4c27a0a703880472fac0acaa09033d11449c05d3f99313176b1cb00998fd37eff62d612159eb9dbae0b3abdf00c3943eb378219749ea8add24f71d51c9f904bd18b16acaae30fcd7312574382fae77aba19b61d53fe97460d32d62c345f3893ecb99980619ba60473ae525b056cbd7c519bbc6858db6f1859c147d41f5bdee29ecfcfae8351d1c22890beb6aa06d5896417090e970fd5a762f690b03948d3b195172f0cb7bcef311708b5c52f481af84ba74e5690be9c6577dd4b41fe0739f3941461e0401d10cfac0112a7452cd85f2b1637657a4900c218530ff27a7adadf868b9ce5dbdb18d8041f06a0f1036524b96ab78dfe5a718323e0e288778cf72664bb17da34e808cb58e91ea4cc2b6d242e3b2722e0c9d58906fee5d98a96800732571722dadc7a682dd40538f9efe2cfb812566581a21162e9b67eeb68964163de2c086818a4e51a59299cbb137bbb7017ad5393b965f2e260555f554d649ccd775e72f5ba83aed24ac3b92222e5ab8695088fd7ce52367d69f38215864297b0713f51834d517c0424cb6ab4343c559ed264fa31ca3f78e8a1e9e3e2a24ef444cb48e6dc397d70f45a3174f814b34b87e2fa17b7473bcffd4b4cbdb15bd377dd0d75de73f96ff4af1e898c640ff91d4da95f86d437503b03aef1c9719af42ce51ac7e55f4460de4f56afaec9d941572d43a162de3d6ca96fbfc8fa265b78abcf682e4edac4a97769f670057eb271bbaa1fdfa268f9e421d28ba9487105558c247c100a2085c552b87fb9790315767f1638d048047320e5711a2fc0fb6100b0ceb268a9c498c33d8fa5e6dbe000db2182b0cccb5fa574289adfe725495aa26e5c7d08bb886226ad1b46bf6a1e88a94a56bc5a7f1952e214bbf052798e07b06df0f743581733c664dd5a6f93e01aa01b7a92f8ea050584749324af4c265d2b5caed6cc2add5d5e4b18c4e11907e94ba831b19fdec4cb38dec56985c1cb655a0a9859e6fddd338b3670e0530228b526530b7e9a2b5fbd8f83826c8c7a40e7d31f74dcbd6db635bfa4c242a8af464ef8d76298aaf8812673d26e15e29405ccad095fece506e3f233940fc6287e50f44f2a7a8b440cc59c8a9ee00af95758378769f063f71d12237dadb69f270e0301ad2f987a97fc9da18c3f6e41d5726c597ff2904a8a3b1ae50f5be85edbe0f352205617774e90a54b171e2eeafc60daa00bc51e878f7c73583ff3536831b0d3432ea92c6fcab6a85984f1cccb25a459c1739631a9f81e367a5459712474e166053ca7b739af4cf9601293ae6b291f6b9ce75760f7f9d3acb52bfe3fb9d054363247b3adc22faa67cf94b53f353bdfec8d7491aa47f0e0ce4838bda3fbf303cf0c2d54a8e0d7a552a59e05b691fdb0a242c9bb93e14cb7c4703ddbda1a27c14489d4fea697c178cbf17a45b4769076fd7989770ecc2589a6eb6e3bb106a2c4c51ee815d7c444d9de55bb7fb6dabca73dde8588273490997fd03e5ca98cbe8953e5d57f5801019a5b8540344cbd07571a33b4a55878aa3ca884272e182091cabb0c8639f297b0a54d64308bf4bacfe5e522bdbd9dfbe63cb6bf967dface98bf64255bb88c2d7ad65b6390bf23c85d47a59755980ab721cd3914b0f0f4336888c9d3efa149f723be7bf4db750c2aa7a07f0c3d42c9ef4fe2ac7827743bfbde7dc590a40a0d7ee42246aa104d8851755c2d2a3afb5fde20d1063be050ef195dd04141dbc2223d64bfdbb04a1ae72137ab7f58ca2c54291fc849817ce3db6fccd6f818671683ba90fde2ea040e321f4af983c4f66d0b83379d5b442d05931db8b1608963b1d65ebac354b786e99cc77c45c58c1b348ea014938104970b56645e0e48fcf2a876d9bdcab62012ec825717206a838886eca8ce4c55c1aeb862631f47277bd7f70ba21765907974cafaeaf7814cd433b0b2c29287a101546852d3ab950e70720e36988855f4e1b15b078086c859b1de2cdf16664a397ca0b46724b81e22734ac2474dea1bbad035611d3f2171e95349e250c5616c4ab4088b2f194462e6e4bc66155225cac3bbd84fd61aa2f36c222df3afee03e91a83f4410d0676f3d00d0093774210fa8ff60bc5d8445d058fbad359ad2b76bb67ca60a52e4e0a5e49bfff3b3e1f989b32dda1aa747712a752f640f150fd75e83b0f345ab8f330e414fb6d5dbdfd166aec81e86bbf1b512af1e95f90dbe2955f73bd3b528c3aa41df4b31e61c282b68e4461969cc505f27b2455626e71d64af1dff8a4fcb3f9c512c7c4ceefa5561fec9946f7dc0677738b06946af88377422bfc6b3552e06a1cddd18e71f35f29af6ab3196e898f82eb4f9c03dc8143375a0495a96009ae6a979f8922c6332fbb3289641f559e66d9c52904181dddd484fccf97ffa3c82c9e34fa31764dca936659f6d09ed027bf26880e4fb0637cd3bcae387aa7a6f688048ba8ffb3e8ca32846ddbc1616f32df31c16afc6592b567e8fe9536b9d9d57a8f4cca1dea30c2953e821f353fc78e6b1e3e3bfeb410f9e2360f5525e86ce5aac16901f27a502ec8d081ba1b0a7fea7726ad3f75de99428f8ddf87d8cc0533f3f04293ae4e663c3d33a6a80f3845cfaa531f9aa51d579d7fc429232dc327a465c77efd751b352ecdc0b14fc63bfba4766b5a9e2fa353c5dbd993719f470938dafcf2f40138fc770ee7872527dd1ff45cff8c8db3bfa08d4b9a0fc819830170b0a0024ce9b69220adffb27d52b4eb11edd548fd7765554fbfa8bc2b967422ae0d0a975d3a4bf88b036a3fac2d0b8517fc3b1538071df0c8ba7603e535097fd6935a6985076ebcfb4b536b2361ff5e960901ca83cda8e886a047249601d8a8ababddf069e02586105cd1f5425ef260698b3b1e5711faa9746fd02764e60cf66781f6cbcd038ee634d10bc8b9b841c907c763d4951aa3e5b2033c41e4d2b7c32c668d2a710d4442e4678eb4cd5b41f21c10cbe0f24600dc103fb223fc3e9a8cadebeb36891ebdff04e375c09064dfa20d28ab2dfa7a0c0ae2706464c4398581c43c7a9884282c5ca7fc7996f576a321b7496365bf2521f5fa8fe500e5077132964018c2c9d8f4fb00c4245f9e6ab922f8733ceb7d07cada64c2dba6f46e046588684b4aa474170d73367f5b8b9f93484bee0e8a313ed7a485e1d7d81cd077419ba884f2e2daa0b1de5da3491cee96f21e33fc3c41ae886aa36e45c059a4d9b5eaba6910288bd68ba3cb74ac92f81dce66c05b7ff2e1c4394fd1016b786336d9378a4db2e994abb9e5969c90dc945e87de87cdbd65d18e20e07fd45bbc06b70e6932198adb3c2e1f77f7da74860c313634bbb7536f455bfab083282c96738370a7563ec36d4cde85ca4042b0ae5e985dfb32b59350c40f34b7beea2e65203c8139b6c9584ceb035834097efd090095dfcfedf1f204ef77bf29a06ea519a41300084ae1e639b1e2b77bdbc6b2080f43ab4bcc7fa48c00b301debb4e0973eaab2f9254f1781ef41588ca42e461f62c8c0c273f31800abbd8735673dcfe80915763771f0964c8b807d2ffb00d79bb2f23ffee1dd8af00abebfc7d0252347e70a036dbbfd1349cd568262df6a7dbf4d99d8198b4f93719f22c4f800d7725550862e3b4a9d5ba13132bbf4a938b4e0103e0af0ad50f18cdcd4439c63e58b97648529d820f461c24f131fb1faefb1d0129f8c6bb87317e3129875b5911ddf8b918e33879369408bde894e475f8899f4ed05f2145d74520a78ff1d783be16851791c59e127a499f030a329d9da261b3e1d6df5cd049c39f4585222e04b6c1766f9f24fe0d088b4dde31c464408b549259b25f6c99b48ced48ff5d088e512ac02b98b08cd9d22506c0b6b58e7a0a2efad39d1a20ae1a6be72b583250a490486720c6ead8f62d20c37069654e321bad04618c256a12cc5853eb9cdb725cc79804556cb5f3d6966dca631988c3f15f98e46e6ab43c9d45ea9738c3d2af0731ef66f7ad43d59e8aa999c824f830028d2e6d7f878c259d38c3f8d72a77d85dafa89367457991b6795231d9fddb84090a1ff0e043ad3ea0c198b047ca960353cb040a309a8e4bbf0aa8d471c421ca0f9b76c6a81c09176cc11568a593b83e259e4e170e325d00bbd80cce297cc0d90b46976a4d2ceb86032a3facfca5ddce50aa5d4366c362ad05eb3b30fb0e185ea5148d5972d10ccb268e36380462b5cec49d0c09d74a06d5280812541b83f4a402cab2517e9a54ffe2bf9a402a3d9b2ce3c63af8192d4139bfc1a44f94f0e8cdca925ce52715cc6c389dc8a7f27e15a19476a1f23d7ac716dfde0fbd46ceee08736893f416ab8f102fd44a8054870a31d7e92b3309ffe573b3d43de02e5aecd40e841ba4888c4d0937b895e92895bc42b704e80c9e7d14c45ec6f3cb1007b38b8c0d41250fe4ef2caf334d303c9143a01cc3d432171545db2cfd52355b5325b030f2d9b7fe812ca4b97f186e20c346419ced00256d55931817b093f8e0c19858e36bbb0bef4c6ca841d196edd39b21386bc556d317b9fc813354161c5d2aee9a9642805355c4fb45180c4a436264952830c45ecd0012404403952d3d06d1c71162b7986c263a63fb0ca1cab41c747a2df7c8ad5804e781c0b0a2b16a40e2468b8f4456a8d7c2424cd5dbf3006401024e2887492faaa4d93b29c4ac0c856090264d55a4595887f11144b8c160ee84fec82adba88a58c84d267024a46a685cb233fa9fce1f1ba78e9fc97f017a5684a142297928e348d0cfb9ca3ca5ef40a9357ab9b085f9255dfd607ffac727210323931d09d687a93a2b9d6686d214a7638667b92c3e2fba99fde3625a68c4df07298a8eb2761e05144785a516e5925c34de09d2882b68c5b9555c403b9326032e4038de08a2d4c11a6adc86204a03eb46d9e5cd2a4cfc1bc1c7377c1874dbbc90f70c5d1ff4b00a830cd37e1e9f04f0a2b18ebe76b8da5b8841b0e0ee19a6ec2f7f8511b83b58d8f18f2c17cda7ab6c7b3d2061c292c9dae2ddd8c928fef4ae621a6b063d3991abf085c96f808d7e2f3ffacb698b5a191a934a386caf9804369bf9bb2ca2af828db0f12db4289e5d15b892af9bce3ab0b79119db669f46f886ce6db39182f8cdd95372cf774b2db7860e1ed701be14a15538f02e9b4428061a601a0b74a9702e96c03b9dea01580b11ea915c1ed3fa7095cdc8c58f7785a3ed0de9665467b44932b4ba1718283f1a87a21d01b09f2b5abdaa9517f3f9177e7281f55dc58b0b44df9147b5b03a80aabad5f652d94055535a8695b5d5d85c487e4b6f3f26bf57c1c1f3be52fcdb81182058d3de00642bcd16fa14174cf4d9c2705410159d3f5570b7f89fe665458cb3609530028fa3b50cfa89a164c18451c7c7fa27bfa2e698c001737d0b0ff3b6406dd6fcbc1f60bc176ef05a68e667ba253ae3ee4156761adbac9e045f013810e905bcaa4465100bcaa93cd699074903f0b36dd1c98543d603591884bca412ebaf88fcd2266e28733a63ef23ad063f46bc60f6dfa163a407c4c838be0a6e1ad1a699473d8929e14045653570c1808a9d8e751d872784498869db50307bd8fb4780821992c2f7216d7c24d54852ee6328da3892fa03b06cbf6dcf4f9ab73c76af0c5c2f9e8cb896e4048125daa3c80262cd50a4a543bd5a89d0b0a4213959404a9ae11ab28cc1be3233e1e651528ef9091011bcf6ee6a4d53ecb88645c5593999c4e6a1ecf590accb4fcf0198e082fc5686e6f4d3ebdf04dcbb2b66082c85ec2c1f027687967db6fe21242caed95dea4fa83d765b7909d4a9af5d6e5d4aba933da4e2173a12206c80cec837131f20ca9fb111cf9050b8c63c43f5b11918c38dfa933b564f41c99eeefac6e21609b890a5e7b6559c9cfc1b0012a314e0843f227334904d21f8931a8868b4946393e2cc2be76b58546f6eefc0831aca30b4b375b930b02b20d2bfaf5f614bfb54862c1bf54e460293fbaf1b8a78f2f5c9594382fa804035b6931a0a1f1012391985f0f5849d3ec278b32f92e1013ceec51e00fc82c3b7a8e662887fe2019d488440a7e61fa6ad31782fda32831892127e4a20cec9ea70ff88083a3a13c75533a68812c8a837fe13ce269eb126055adf78dbb989514549e6fa1a1cc8531f3b7cf8ea7573c9cfb04165f77fa96a5b4b80ca0ced4e961e5ee37949d1b2f89bb8e78ee94e2ee46ba2bbfa8c717978546def0d6078f6a09ce87e8ec1cd63304289556f7bab2069dcfb4f387a235db61d0c297512280b02cfdef7aeacb1230b44c6d3fa1e4cdb65d3c1ce00e8a22e18e2a89e89652a7fe1245c38252605e2090319530cd8709bd32a5c068b8e1eae3f364c477357f982ea6e8c17fd9467d379aa9187cf3e584764c742b99ab0e926522d9f20cb4fba31ab262ddb620c9157680e9c0ded10e0cecf8236fb0dc0ae6bf32aa18360aeeb6da3684e12388f0c02297f1174b0f6f0935184130bf475760dd7c115b487071ea4565e80f44347815965f983ed667504168f18c0c225692a7cfbf332efa8216ea3b1e63a88fb9f0d99ecf67846fb518dedab8b2ee2a17969b3aad1c650be0c03e67c929eb57783aa973a8bff891de4fe6326fc25084a11d347dffd6d3291536844febdc62f35893ac32324a68f3c98c69bf339287ac37cfd24ca300c32ec676e3338350d22e72b41da7a7edb7e81c79984ed717a14a693aea3897f8c88336aaf3542bceeabad293a0c73c6bb58debea34a0717aa501582e79fe5c413c8e8bde9816a8106f98d080f224ef56e64fb331b2398af4a58a2ad00c9d050146901c8f756f30485a28bdef39f1a7ae43190e36fed5251d07c88513ec35aecfe37631d4d6beac3f0bc0a2d6d81a0c50724e968e535d7098b59ab9e43b7b112796fdbae0db38ad2269fe55b3fdf2ed2de9564047eaa735b1c9b425f15201376cae880fac4e34084086dda70c3b017432c6cc11ccb78a2b0399dd0a9de7eea97dd2d0984eeec221d9a0e38a4d939bde8ad03fff900d8006c095191cbcac61407b2caed83972e560b9c50b40c2fce67ddf25ba294f6335d5fdc4801d27e9bc5a7be200156f8167a4a1fe683ff36cde3614fd31c0b4281410f92ab8cb70eacc8a0906e1df3e67c31caf480108824d2a8f4b79d8efef680638c7a0bae18ef9ada55e829bd8fff5d60be90328eae949b4bba70a57c2cfe6a359ba805fc3a06e7abcc60494d7840fa5e327d294e7fdce131a9d1b90841bf529cc7f1881112806f79d4d0769953b174907d653720bfcdfa800403a02053a4e87b454ee5206089e8f44799a284000558ad6d5e4c630f61b69891a8d8be6bdc0e1b1477d9a04d60468061853604c7d8797f51ea6857588a6a2d4f75c219b0bf03d6308f6c9d4cd47ac6b48e089376662c76475a8cb9db502f4ec8291d1fa599919a5d5783ed0eb8cf4753c41f6915d225d1ed0e54935e98958e03bb7ccc456fd214b3668fda45e760f46fd416e097144b8e1824796333b47fa97d0dad4799896d81f48bb68ea7657d3b05fc33cc340a6412f2190520e0d9f33b79147d095167c0df71971d8479381aa045232db29f12674ed377b05d7eaeafb3a27212032f5a4d0eb275581270992823dd5274cf71a33a71719af9903761ad55e8b5d245ca7698171cec5ea8784adb16165e8e8e03bc0262803b7b1787754a2e1dece078d62e4df8ba2218bcc6ba0b30c0dc9722c6fc5eb48d27a359f1d569eecec8e465cf69125cef8cb99f78a36c7804fbc2a6a70d9f9af72dc8d199ed98556efbb465ac0e2577cd5db665354b211e8655563d347d3324a9cda6321b8cdb23aac29f44ef6c3ee418e431f8a3e5b4d2473a82da0d6eea4ef347dfc8e8344d7ea7296c506529c6f789447a579936e4925fb4d5a0b1d766aa7f6f06a1dc98f960c52e30ec9eb3fadecf1e6a9d7247f0dd0f2a54d32fdbaf23546f6440c0fbd5e3b2c0dbcbe76090c6929ed1d0a3b581634f41d4714e50761c143429eb83d2c1c78fd252ba253e1c48a500a7365f8868f9a75b9f10b9c1fe60e6a3c3e15e75478f882fd156a78d3bfd092d8230799c1c1f8b1718c2f802b0fd670caa38a41297bd427b828e2ad8f2221f5d4eaa759a2c471a0ff106d79a7be7f3b24af1e072e2033086e982054bcbf5e614accab5ad8b1e45e75493b4685b7152dd207df8bffc81a2778c5597207aa3996b4e5d8f0f0d49be38f03fb751cd9e56b8c5499b438f6ffda69aaa534e6a5fdcbc9b29ef6184accf040b7ccc190e366ab5f357d87eae5034f6babc07d6288560ae51548d819469ba7d06f754af269ddbd12a647ed9229f90f0fa0adfc65290a88fb64764e14a6e4b8023a101d12f42a620d16e18822ef2809dbff0947a3109c970a85590f86d9da08e48a9b4216214e662b1b22d7947548756a75075d73c27d4a5ec4e52fae88d0c8f9fa5252b97d81d3f68a1576558343d28bd19aff254e279d30f6fd3776047576c19253ea94d8815885f8a04c8c9f326ac3c572eea204939e23bed8e5f91f9de1ead5c987c344b470d798b5413a74a5f8132648cfdcefd0161c81c13739693a9f180a3b505afaeeafc6e2870387acc6b6c224289538fad1b9d066cdf4519fe607c8e37d3de3515230c3cbc7a9af6afcf8d5a953dc70de114d96eb1fae7174dff6c3e7363ca84f607ee385232ce31ea82e5ed7772cd024d509206408d84400b57f4c01c2f026988023f0020383514911cb7c9ed617637da1c8b04de382355b99324cdaa093433e55451a5f9ae07a11d4b63e453371ede433c70d264a9359d9eb7f25608efcd62849f1c8fb0fa793c0c52e65b1c066999b0e0a0f28c92fda504e5687400060198576d87072c041b1a07e88bedcf95f6c3aacbce8fb4ead7de7c0b913f38bb1bc8200742521cee1a881b77c269ebdb8d8e47f7740e108fe0e2d2660627d62961ca1853fe6b678112ecde80fa51eb419819a625c1bd4a08940433f763b1c7907f4a02e77980880fa36e2b2ef62dcf9c78a2367a3e3005bc9fa8ddc277a97b895bd73562f939c0172f2e6d1a8a48bc7d1bed6883841106e8986bd702df3f0aa70de7a9828a71de8f181dcb29c9804d88e9faf606cd6b056e1bd7f64a071a364d55f22502f170ca8216bcf34e3f1339308de2e62ca6424bee2978bf5a5147f691d925cdccc01ca63414a5e90862ea9030a1164e586738fac980d6171b759d8df425babd74cd20ff6114f820d18524df203f943b841dacf63e99aa01991080000e0b50a60a418896094277929bbbe6abd5aaff2e36183a3a3f1924d64bc34ee956aa46d9952ca4afe0eab04740459043166b2701f55b4dd5c068e66a6a17c2358cae74129254cd10126c3f8627d65886a5d80b0927406281d332e489361068ee88926011e154a647d4d1642b158c9cc310df8f2076330a45e977047826e8dc112c2a0888f94f16ad57c3fd47d9d281289dd4e333f8ba9922ebfa892483eba620ce01107221900053944dd2841d8e9ef7f232d4dc4a2c84825ac54d7a9af8017305ccc48612308a8843ac1c448279e764e4accfcf6ffeba8ffe9f9de187e78e43b05bd76dc24b6a73a8e1a32baa3a8219de153127bbcc0070226a2729292a04e30954222251757a68723e396f4f262ffeaaeb119a43ddac0878baa078b1246cd5f40dc4747a84e3273bc37e9864399f1392e035912cec40d257f96faee03096bb8adee283a68902946cd285df83609eb23fb98ecde18d00321d553b347a781dbffb3bbd5f1c6ecc02521bf7ce006abea2933eeff7df8dd9da7f8a291c60a788e156c506b008e2310593f3d28ac9c527a56f8e8643836ade3b25c5f603ec21999fe6007a3913a6c7777b7899c099dd90e2fa6bb7d7015f8e8663ab326352f1b91dc06d6c8a97e235ad1f44c4e605449a054d1a84e81e0177476ce4ef47c85288153b917947c124b4254b8a523171bb8a52519aae1d2f0c6c66fe98aa5ea5530f50356f812599b3121062ea3fd563eab9f551b7bf384bdbb5aad962323a6c089920855f248845e9bec7b57f14d003dc2a1a3fe1bc9b90a1264e448abc9b6c3c486d5412374867c00a411c4c461ea84430f0f3907847e6c477439dbd4920b9004170ed4ff77f77f5b94fa6fc3cdadf2034238bca04a6a2d955a82a4d86c36cf26b2ca09b313656282e198389ae7515233dbef8381842b206e9fd5e4dddddd8f7e42aaa7ddbe9eb0fd7f6d2634a3cc5e86d48b4652bd8e99157a414656caeea264690556a180addc1ea8ceb314554929a8f0d10c21d553d802667c7d5e94f49fcc4e94587cd148e305e2f1de4f69e9dbf799fd6632218dbd178df45d30febaaf73b079681b5cc24727803e3d64641454180903a1eaa90f91093195136d2abe68a4f142d3b1b6e274179c76fc2b6d4df4c2aacc6651f145238d178a8eb515a7bb60b44372e960b6f0378f84bf275a63aa49d5a86a3a6a56b5ac5ad705b6968082c35a7885c997afc2973bba7ea24740dbceb393eadc29051566b1aa9ec21640f6473d3379b4c5d311087a91b1dbe2a2d1e0ca829749aa7b063877ea9f4bf64523733a3c177cf4bc68dd2ab7fe1c280cc3d2414c69c9ead78992e854f2488a44c7ecf31b6bb5da4c516fcbe44b42a25f3e7944e4bf83ad09fb45276ce5d1915575d8105b0e23d9767698bf9f428ad422c3cc6158621d287f6538d38970689943d3ad7f46496c56b3e3c075f2cfcccfbcfe15fab389ce4e54a706a391b73f4875bee931457f5aab5deeb97f3de77773da19e778ba7c10bdbf22986d8e7c53e39b956f709cde9bb2f7d94e3d87539dcb14c3cd2fbd431880a5baa18e78415cf92bc4b1fbb943f827291f034edbdd6cacbfbf891df00cf689ee1e028721848ee6b20ca47a7ab22d02e6e2d05a55546208c5a06ccd3d8853a0fc1f8c46fed58c044e34462a866a7655f430a1fcb5c81856e3ec4a0b77ca1c616024bc10695258e36e4599597936330f3ea38b9a935bcf18753399191aab684a648c5839320902ee2b3beb4bcdabc86219e75e9ea80eb1b6ae80f0ad32218435ac88f5c30897951038056afec635a7cebef7e2e07074383b1c1e4ecfbcf75e5ed9bb95ae4cbabb1bcde1bd6864cff76bffde7bfbffbf41b4b7ab5444c63077ddffb7772fc198f04bd7e331bb3b7777dffc05a2696dfe9bee8b43fcf7eeeeee1c6377f74e0ad37f90ea7f1a457e4ed8824edc5a687ce061920462c7f3f75b8ad531f3e676cd4c1201539ee88e6feb04367477770ae9b7ff1bcd7f0dbbe307374cec8d23c02a0b9ffe6729a9ff455d5ceaff37f9e9ff7f8aeea8ffffafdb885a9934c206e23f2944f12f0929e2d67c4510b9e54606370ec2113f38944c7417a2d1f939dd6808b15b358038e676e074ae2a7c89ec9a2c7c30df1b436aa9d8dfff9b4ed8f95974a9dd1786c442a776e3babb4bb833337b777707bbdfc389bf48f4857a2af352886fd2a95cc202b3bb33b3bfb7d89997e4fe6a2aa77e646667266ad181ca4da61334534f654e5566467f637649feff3140e99ebd484f4293a8a828e1b3dddd690514299bf7bb51d8d4eefbbfbae3e860189eda1330af1315ae2d6a481e460f030c1f0a181d30083138ad303ca851e14b646cc68ea6d44e4b97b528be68a471a5c5b1b6e2568274b136737704d5dbd36e81b3a3ad6e95134dc104e4dfab09b73f5bebdf8c6463f2e589b6ad4df5949958e6f891785060ed1215e7bebd1b29c5edbeed891eb553ee1b7f77cbf3b37be8079678fb7a5e34124808c82445b5e2d301e4b99629a8cc35d293da69d9dd42c2178d1c128bc615a1636d6568fded5ccf3d60ab90e2845766f8ee6f302b65ec64523726b095e1eaee2eeb566a3d79c518de7befc98e8cbd9708ca93902b328eb876b8236ba38a272b5247279e36d6136622baef58b126e9ce31a644586b91c1f0b1b1285d4e8c69dc00e63a194d747828a2efe647249a3ed1d8042b50bbe1ed89c70366a569d741e8db69e1569e8a3032bd12d5328fb05971f245f59c2bd8bced41f5bf13a87cf0e7a87afa386697a42e882e8a2e8c2e8e2f6a2fd617b8cf71f7d58065bef5452371ba0cbeddbdf7c2f89be803ff1890ee452377cf9bf5505ffa53c900d45670d24b19d5cb182e5b0bcbf10395b079a2247eeeee39ef262242b968770761f0d4def5138c662eea98428a41b3bb492a8742a82b9cbaf9ee5c4a2165bfcd50e60fb5354259b61d8721dd8819409a2572a36a2fdf0798e3ef1ede4a44f6078c6f4d04c484cb0f06e9fed66cacd56a3744444750ba3cd1609bf3a9c225d59d459f4adcdbe36e300eeeb25417f17c5f4123211e046098f0c0e90211643ec878fa2955e07c110919971ff4a0f518aa97c220259a8b7e4a822aac547fcf65d069cd030c55e81259cc1cdaa4dceeaea1abb13367435bcacf1e3d511bbeebf7de2cf5ced47bd3f35ef4de3bb5de7befbdf7a7def4bcf7babb7b50d8c2eef330e913cd50e37733e1621351439de589d2d0dd7e29b00c533e1bc093e01388db8fc98916d9e6abc1c99364a0e2b5bbb36c7370862e96615884b169050ac05b970d0ad7dc6942cc621c7dd61329dd0a1793a7e3ad24866fc8834cc6d02916c59b9231a58c3345f606ce32178deeeeeed2ed5eebaf0e642f08694c66bab73976257bcce46a0f50c5f3a283a81240864a62cb2584f90ab2a2144da5edc6d8e491e07eefbd38888fa3f8388c8fe378ad742831f7deeb3d8e31cd2bfa614e36b8a7ff2f187ac07bf85e34f2d70a87c4e2861ec67740d352cfd090ae2338161c87eaffb3f9eb351ae09f55ed5e3492d7f36da8fa75df123d1a0e6ec320ae58dec09a3959b5d4185d20e4c48987efe593e1366cdc86eab211723db321cd66ecc879bfbb8db058bfd9d2f7fa48693ed11f8c463aa5e06af6b2fcac1e89879d2816f1d9b57eaa93b0e0ceef386eada5d35a3cadd593c21640ba13caa7bee1b832bbbbcbccf0bf53909f8913615f3432a7c3d3b3810890931690cc76ffbebbfbcc8428ddad1613c447e2264ccab12b02d918956e80f856546d08a2735a611cb6e47a37361b7cec3e98d9f0a32684b3c1b88b0162c355cfc967ccd900a4b6c1ca5804bcf5358d7a548e05ad6a2aa766f3fafddd3865af56ab691074a23a950c0ad9e9ee0620d6166661ad56fbc06849e5b4bc24e4aba892c1ae2e95b9c8f6e4c2ccccccffeeee4ffe5824ae2a22b8a75b49655b4f5adb0dff33337bf8fe766f318a3a5b0c989ebfbf25068a870e2a7c892c6672a1dcff97c199229823ccfa75a22c9199f986d3ddfd53b3be242b3242666666ee6e66ee6ebe2d572a337737b3dc1d23ecee6eb6d77d65b0d6ee2a969fbfbd9519b2284b9429596ff89891bdfc6e747d88e1666ee61ae2ae7420fecafa5bdda5e57d685c500d73180a69605a1062da200e2c0f3138dbcc4bed03eea5f85422e576dd34313cf9efeeaecaa99f9affffffffeeeeffff39eeffffdc7308bf6414f226b62478f946377a84fefdedeedecf2ef3df276a3404523ded76777766eeef9acb4650403e42a8ff2d3f94f4ccfcff1f5a9cbbffffff9f99bddd878db3881833331b8dd08d63fe77777ffefe66e7f729717318a7545d2f1a6963733a14d8e049f9efaf90b5a75fc348418d636dc5e92898dadd7777f76eee7f7777efee77f76f6f12181fa3fbb77c1d3a95d3eef6f6ffccffcf423e98e367a31d40aafbf77f065a273a00fe68c194533e7e663e8a721dcc196048852e91c5cc1164f78be6e55b65de870569f946747d97eff05290a5bb43bfebc345bdf712f930a9f7de7b99f90ec1602f3b3390a6d87d6666c6627a0ab0a4b278ce0f2d9d2be2e0470b105c70302c6b8c60fa2071fb76b3e94d637dfb76d6ae64f91a01f995b0bb07e1c168e4fdbe2df0c313e36cacb9fbc4f489fe68c1960fc48774a23e8e3062aed61a450a8cbc1e2f145c0d9582b10e7fcd2eef18ecff63455a56aaa7e60ef0fb5b88bf4ef4e8833513279008612a31baec7c07a12a6fd1902e77f79d120e384c9394d9bcdd8f61966fa1cbe7456072455c423699c04257114623dfbb8caafba708d28b69b976411f17a55c1833e70c738839c518bff0bfd4ec75c37bd1c89e6fe5e6d7fd2f7dffeab8f7de7befc5c1c1c1c1c1b97d8980582535b9178dd4e1b92b353d699b63d4d5f8ebb2f972ff125f9adfdb5b1138770fcf43a100e59b38be68646dbd16f8e052222d018a782c911a28ad7ca49adb88047940e5c5d1e53823800118d58e296802181a1e6fa8048008a7e5220105604f8b03150000d5b4600c60821643ad2111487042b755f340bae2b8f5c34004e5bbf8b968672f5b4c0a40c0e2e82f5b3916784068ddea5271a0e571f134d0000aae170c04f5dc856bea8105521cb98e0ba0295a0f0c28f062d7d2e58103090011bb8213caffc0d73505c179a247bb2ead538290af45062565e68e06a5ae0541aa99081a0a92ef5624c8c0ecd72b52758013a0f166e49662c242c7ee524acaf7fd34203bd19f18234d68ccc8c80e08cc9eafe581fb53bbed1c7815be9b900b1da1ce266a7924c0edd0e848d7ac5cc16b61512ef9e5f7b48458e0353b51a4e34d8503169c686fcdc01a540416a8284edd1a7d80ed376341922e012a0974117eec5ab9f76b08d38b464a69184265260dd1a100bf0bb13a9008e979d1482021209394062154c22235494074a89caa5460f3f673adeabb0a85f448fba291c2a18623c4bbd5252b67293a3bd1ae5fff91629974c44aa6ddb7ae547f58aaa1082fbd5e74fed7ec448de03418d15db6f9dbf99268e02276b3cc36276d11dfddbb88eeee371e523829de9899351c5b7713314716301a88f08a6e3ea18c06ad9accd6ee452379ac61ab8716fd04bf8b9f4b644859485d3636a7c312e4b944b2ffffffff61f927c73f3afcc3c33f3dfc03c43f42fccca20ca74a6cc81a38664480f291c333648177d0e0f0c310289a62b119f3d2ca404e14b11c3162725a4a2238f1740c8b323968d4d8f08e14d9bd6019398a2973d870f31dcabe4d241c920e6987c453a221f32ff7deebeeeed28f42c7bd3e36fefff281522f1a49a5c32a8b05d8c57264bb1878e82f42e14382b73d2d502bd4025ba6568a99d9856d07aa75b75207c592cbdd9d6bb673a0f0892aade0513dfd6fc93d33904b025fce8278827a828082848280414c292ddfdfedd2df7c6127aa14d5a37afa4f5487337efe3f1abafb33908edafe4a7b28a8b818be6824b16864717164795123bfdbf4eeb4bb67f05e34b2f7bed90f6d53961942150928ace0c2ed80f939028455823083072bcd18e1a6b90888572a15f55477690610df9bc879ffdf6834bbbbd9eeeed52ac6f7961fe4e8ceba3c1365b7bbbbaf88f7aa789b9933b8e5701dca5c7b54c9b307d179d1481e96203df7b27ffff207dddddd81e89c07e3f2d7c5e5f259b076ffeeee2ecf7e9bcbace38b46d6569c8e5984ec38bdccf27fc3947c08554eff87cccc2b334bb3e42cb78a1757f87dfd30f68d10d4eeee66e6eeeeee66e6eee66631eafe79c8b682656676e9ef571272a259ee9ebbfb8f9fbbbb4b77f765598a3c044ce9904980e70e246642f9542b4d1707e7f0b60657028f1f8ff6fffc1972ba8046ed6586d04257a9ad54b4dd264067b3ef490161475483426328c3c36c3d21f634ad26275ac3f721849792aae2871f35b2295c0b1bb3b183d1c89f9131ab7c55bf9c0e7ba788cc53b91f87ef45237fdfce84280b8e61aac2c25976f4943c340bd570eac62164b184d0951301a79c75a339804c330c702c3c8c342c441e0f0d8b0e618d0a9625c73102952cf26541207c331665e4dd5bed96706bb845dc2a6e19b78e5cb5189babdf28a896085175ae99dc06df5c55b2aea17711dd039808a804abb62ac9040c00931a041400501cc99124c55212001400081ece4894b874ac4c2a0e84813030288861200aa2280861100042198661298c6b561e6d96bd9ee748c8549338ab6123041e4b0c0b43a68672b0fdbc3b25462fa9fbb07b16db3e9ee8d6572f814fc48c0fb8f3ec8bb2d0aec668ae2c2204daeb1d1c715f6d25004dce2999fb47ccd35c4e1e9e3ced1c3f3fb747876424004dca5126f7c798d760ae3d9e3f6d397f78f57406b7e797c22780863ba87fc99a9ea4f414e14714915ef291520c69b903c04ab8592c2d14daef4196437ab5e7342758db77a413dbe14cc65ebc3e0c91668284d732759339cadaeababa5091bd4bc53da2510aab3177c807b5148ee41d1422901d8c854d5609853a6f08623259066790ec1157bf9088d8b0f18fac705b704e0a9d443fc9809752ccfae57cc01840bc54185b0efaf843625308849783265c88ab61fcdcc05d6d1e8885f63b5077b3015a1e6bd58f04b1c732b38affed6335c11fe1e3a82466659e6d3c11eb5bc598420be8b9a34a64227fc2eb8c9bada38cad523f23560dec903aac2a160f63882feb68effa749b3ff5782b896d94d4f365dd3de0be4606700fd142613f36b83f60ea839231e44ebce3c70c88b28eb77ef6212f9750c1e77457fe5c18664a35c66a9265acc8039dd4603024d5454f44c27334e361ef00e043b990520e94aba8cc36549fa118e2a203135cac72dffe760f32c4e36f1b9c5144c034e3a501140e23209ff50024ac88f7b85351262c0b09237b86730e9688ab7ca4d39bc8f9637c85a5819e18efadc70f97598e89366ff2adb0ec0cd5fcf0f70634791ce48e515fe7825cd01326ba5bb45d87df718a2015fd32f517e28d505e250635f102c5cac0701113500e24c43fdaa0f0c102c5bf03e5ac6b56eee93dfcf60dd7a396bc2514a4c3415fb073b899769f6d6e0a240664919a2f29b38cb8078c5964eef4fcb2f5c928253faac4c888768958c11d83aa271efc63fb105ed2a11bd719ccbddd61ac98c1598555240071dbe9008e291dd3e0984f9384308602790f86e6930b2a21f79e6de9521794ad9ce7576ba232a366a3a1d8b0d89883cb2d01813aad741d1c56268a4160bd096e0d41b21a21133abe7724eda0015e1968c583f0a15c25ba538f3b06bfa1829d36ab6864f54c7c9c1b8a74e500b47d5d30ee4bade1e695dac456ee510e048eb3ff868bbc5fd40984810bc181387b1380ac3caf95b6aa54d19753405ca0b08f05458b84407f9d110bf390ccaed39f49dde4bd3b3183a78cf019850fac856ec8f0ba7a704c19e4112763e66f57739390283b147be2ab94c66125e4436c317a50c20ecb86b4e40ce907685ab147f8731495c60055536559b23590f3b6381f653995b67e002a474c0a1d3f51856388f7e91e109f701c742f9fa1f1f22aeb361a8c7dcc7eae1f1ea13e5184ae5ce1c483123836a8cda1592e0076c05d7fe1f7ab3d2be8f328c43852090a96f8f44d4ec733fa43a4cca19e1ccc1f97e82919ce71aa4fdfdfa46ff728aa3558199d3d8b2d020adeef4dc839f992f8cf4de0c6896f93c1c097c8f356c72070df08ae13aab7a804a1925c1624999a6ae16f18df5423dac89190187ba98dba3ff52f027d0c83ce0e18cad525f88bd2fe2a910ca7b77d92793f12446cb2fa8bc6cfba9e79dc3c3ca6f4485a1f3e03352bb3630d28e1f17ad5c10aaaf6f3c2974d235a61682e6eccc73ed3c8e0c2fc7a36f85d2988bc2f92ff92eb1535e999acc92ebb857a0b2c177c7871f0fd7569c7e6c6ebc06fa096654bda99284140f5cc7230eeb25b24990cab3ba47e9988bcda6e0d2932e1155ea05a2d82a11ac5e4b00dc08cb3e0afc00358989b34a6679f57206b4bb072e60ff139ec90052708448c25005650c52fde4cbfd0534b2a780bee153623af53a6d680c50d492226a37fb01f2276ca7382b2c1d8dfe6965e50644a960977bac90a7f922444ba3a53e537048c97b08b939ab776a9cca6ec10414434fe82992d7afd8f7b5b1864022f26e7428d9f761476f5f29d38dc494536d252c958419994d6a93837f7b97ea97510bc7d525116d23988d6e302b8cebeedf06828c7dafbc4d92347441fff95a0c5fb364b4a7ca1ffeeb7f859647a2a84d7120126350eb78070278ccc1e0e9f1948dafbdf33e3ae517ff3f3a4efc38c9a076200455062504519c97c54ae4fec3e1f98d7639bbc29bc1724c54f51cb17892dc2d2d33ac31511d88aed6c408695173d6693eec1231510c080051b088e1238d3b62bea808c67427e1600b6d4ea37a0b2e9c18734a09e990f13cbf8a475bb2fa52ba3ea81727ed1ff8f56c46045b14fb6cd95f991fbb14c16c57056286f020f1b0ccb99d1875453debfcd2a6232d80ecb8d93ed97b0d435e1f22ceb4dffa0d8e58982fbed1a76a96b68ab9e68f1187d005a0e3ab727c7f841ca4acd1a6ef8392d1107518e5c2c5d243fa1778dd631264ad1aa3ad95b3717b3ebc1881a211d1f62927a3d2b3631f9beee90d6db4e485b582223fea4005d2a5028f7ee7a432052b914d7c84463c1cc1ec1f7b433c176dfc5b133b4a59809c067e9bda71031e1b314c671a687f325446efabc36248905a0ca82b91e423c157ca4547a9acacdd1e1dc04e788ab6033d50ddb09b0eec300f755ed15b0582ebc29038572f592f7a228f0ebd5daabd2aa31137565f45ce26577fb112d7242b1b9821e5fd8ecb2b027cff59ea0e57c19ee45cc6be16c0e2dce981840814a69a0681f19a794875a1a6a6c672a0308dbc63e014a61e569ea9ceeaff9e8c5d16d32bbb4e6a3b0f751125a1e46397e4bab39533acfe24c3ef48210a9fecf16366b2db6453c6058b937b9887cd24c9a1cf55cf93c033b399ffb336286f05d512425ffb96139c42f020a1b52f5fd14f5a17b2aed995080dc5ad0d869e913af6b417def57c6136cd910fd103094d34b5ecfeb5a00c3c6ca156539eaa91a5c9ef8c5d1cb39bb18338d1cc97e1ac06153d645b2f43798550fd2917c95be085d2e8e71cbc21afe94fa0b86c63e53163b23ce5ac973b8920c8f9ee19291df42f0fd3559a41953d0ff92f74b83436b304a7ba99ed699c6ee0018249d7b349f43e3a59b17f7ce7a71bb5993228f329a89dde034d846ed2f7010847df42c83c40c4dadfcf84e2c4e526fc10ba58746c67d913805fe49906e3669458568b06522d0c2e2f58c72eeafd156dce6a375809e3c8104c84e8f9256f3ed3c7c442702d81ad7ee265afc013671e66df4092ec5d2ccef5327780fb4ea19a5c64e38ddc685832f5ecffeb9fd0a0c66e6a64137effda8c951efcc40c5fd1321c780b17eb15c3c21dc39ff912e94b2329fb94141df679b6ef1a2dac98912f300e00d546226a7889d9e916cf6378eedd8ccc3d393901dc820a2baedae91bb68b8c2afe0f106102f481aca0b03bda04d6bdd411d67b595bc55ae093ee31027b6b90a4051ef1078b31cc52f19b4a91a99bc0d4c4c3a702f2f38dfc0f9b0c6751fcbaf94e1f15e3a872ded1e58603eab28e8b473700257bbe04cf130df20fa470e6c60f71cdb52ed7e9e5a07b5d10b0b27f80d1abb2a5f359b5c343cd401acf21458203461dd6956d8572652db62868e7c4b54b13e4493bff8564680f73896ced8dc75f043316e8f59b2c64d98d874b9cd87973a9ad75a81ab0928c764e637ec0ada93320bdab013240a89a20a7db78ff3e62e976c3717f3cb2cefc0530ef667871f481114dfa0398146bc1b195f74b0878fd4b820d72710823cbc0867497fc2d607cad11ea45518f85be419fc5988991f68283a1f42f900ddc086d638d7758201fa7a79eba50198f2276dcc912c15d507cedc075a791b19005ed70adceca5db9557b91205133532688316f3c6be63c60dd7c8b6f8150b6d257728e516b009e854d5e8bc93e3b7916493b8715e12a8965b6fb91745f34f52bda226fda49cfa782f9c679f051f3bb08696ec598814cb3d89653a0234640c9ba292fe677a240551cf8bf05e323006e2aff2550fa582e89638fccb62e7744f4b55be34ab9e40ded59563d40fc4688f1f0b6219fc2fb5ed86aaf2528055342929d25a997a1c097edd26b8671493870d1ca24501e881d822222d5e817ca75f9f964990e32a6e4e9145b008af7bf84600b33d12650305e4078ac3a90c84089290000f7c80bc621d370183045a4dfa589bbaefb914aef0fc1bc97b4aba5c68fc27945d01e04b39c8afb1081724f5ab1e02f0ea34e46066655b7a375ae6d4b020a95ba7a0e06184afbc1da5e95fd063d6e37403e0090dc9a8a1133c0b0a4d4e58aa386d04cc9c0cdbcd58d0040e78926853c04b5ef885202cdaac330d9a5357ce77e69b0966de57987fb88d2d318ee3a3a989945a2587736d74266b4406dcf2cf9c897f6a2f9af682258dfd902f5797035a54a74eb13694a90e32512fa96e11de12993c40d6baaa92941aedfee5468394e042a6ca46c0ed0557792181e2c5473ed86e2251d8393374951e875edf729dffa5f99428e41e32f992b1690d87df21ea900a2f1b25c9994c586998a54190cce089b4af77b09be76345008e618b408f6126779e012f7127c699d905b63f2767786af870f766e40ef13e21318353c48e95d89c2d3bc258a4ce421c80a650068f46e185afa442af1004077e4fa581a0bbb0cab429608050d736d042b889cd0230ebbe687acd96c3674054a69dd89b42cda3897cd66ca7975128121209dcea37ce16faf15ea3820d814854d36e2d7198e7ebc28eba6166d01cea69cf77d272759e88c600212e692615e25ab7b91ab388171b68848f1a40e04b89d5dbb4fb0a29e58d80b1d33f377729551c305a474077a4aab36b9cb7426d81b652e2839452b17783e1149a3a05d57762fbc489628791f668bff345519ea249d9dc9fb6e4aab0d2f17e92872c2bf9265589dc9bb92e9d832930192a829f918e590154d1574c6d2ae8d3404a2c563b88769dcc192d0368f5169046a9d95c2c36441194b60d397417f9a6d95717da30d12c948d6f229257dad30f979ce9de9b63be0337687d6847ca2966a2a18904203e480b1f8070c0ed22008892b6526659d5e1144e9de76ebf5cc3ad2b57b1ab14a0934616dc5e6c89499ca19ba129e0adaea6e60b5c6d80fd6f44ef1bbe700bf3c1d525946a9a9d583eff872b94e138fe30b975ae89e227a433ae95163a5e24d659107e526f1daf87801c58eca3d3283be40842937ac38622cde351668ebc6cb6dd0057a1feee79b6069a9ec88f8e64b63465689638c3c35688e15fdb231b3a611e5ede7ec619d9ab5750bc47c2385e36442c1d0024896ffdd2b6d4fe306f7e7c866cfe833b56d4e55d0d5f2aeeeed33bafde832dd3aa110d93333c7d1fbfe345caf8b29b9a760924070db3cc3dcb82f76b5c036df0fcaf49845bbba864f0d11c6f910c7711c59ea9992390e04709cecf27e557d36deabc1cd388c15988a5bebed4792d798d5806af7f012868ce1f6420b92b2960df2c95a03e49ca84a876adec0cf88b828e6cb920d64b2294c0eb8d9493f5772be36a0dd1cf578a222ceb66b081ba38037ad86725ad58243e49a9b10665862093116517be96803b46a6c075cdae56e064f575b54c4b3fcfbad1c67d98a38233731a989b3a197f8c6e0132ea44f322066bf0988d329b01a8089e3c863a13c2a342d4bf97d0563b048209aae46b02c90c978537e8e27659f6a72644bc9c69d061db5cd2913013e436a57c32ba3a2d14e6e4fa18a2b8ce2ec3ed6e824c219779372888a0347f7251b22ebbc3579e0796f166d1474f0143265bd068ff671123f81e6523581afe8d6672c260302a1ecbdc1de051393dd4dd42b5af20bf93e4dafa2d928beb612dee18f0d112d33b0beb22e67fd05b24b5fe12ef0bc28f545915ef44a53c95571e64889be493bce45e00282aa6049f0a3b8ca6dc2fa7c25ddeff4e2e013075af2b132592f511edb5904a849cdf92d4acaba423148c03f4921e7dc7ca4f98c4e83d3447ca760b82e20520d059804770380d335c0a255fc7e2fdea2ea09e6b3c022b73c1d37927d65fbf12392e184ac5ef5537534554ef90f27511808d78fa25ab4b86e598132b132cdeb9268a7a425cf8c30a30b98259bfb0caad8c22d34f9328c35208b94c5e1c5817e40b146558af2b943282c0d55a5a98236115eb84a75bb2f53bb42bcd879c7961027bf8f934a78427fc997c254bc886bfeb1cdac203da101c261451479456cefaacecbc68109a51f793aeb39f03000d5c4648f5a8ab966a212a46f3c111c32b901ba9491eeac0152bb4360bba23de3185109336eac0641d0904fd7c3d712e2df168e059861f119b4d6c70f2de1a8fe2e2239fec35725570a780530531d9387aebe4fb5db22ebab942c37ba0f597a5074151290896834e8ecf752f7db326c8e8550b0fd7ce08773a9e1d2b465343d5f4d31af846ded22024d99c94bfb8b85bd22a2d01f5f09c5dc7d05f36220cdc461b2ae2ef63c0c3006b50238fed8a56b64aabc4ed2c60c0450f963554f65b95972287815ff80caa2916f3a907f7669367a609a2adf1d280dc975a9c9338f5bf740eff0e66fa0c51eca85ebcc788f144b7104fd72ec2871638e79b0365ec6e6d4d07c1233394d96949f6cf85a283cb5b7492daae96b022c43ef57680ff5ccb55440d8332ecda67c4270bc1259456645be62426037ff335a6134880f72a5ae30afff6ac82704758e1d136492e85d0c6adb47663e427321ca4f8946223e763e87f1645d3f8353d0c5f90ee001ed8dbc4f8d90eec2125890e38528e272386d52d4da20ea1d789b0e839f8ab7077b55ecf520ceebe5d9a8cb33d2a85a212b7abfa57b4891947e7d561b9b0ba58846c4cfb26f292f89d2a8d719ac8f85dedf94d68aac494d695ed0befccd31337efb1cefc4278f0416ee1d3f385bde29d6cdad5063c0c96a7d6989d25aa136f5cf43e61a68e51f7fff75b3ba47269bc4794999650395bf228d0768a845d881f3ab984f10a523232c81088e54eeec1252d54ae9d088aae7840e1a94adb9a23117c39ef32dbf9704e377a9fd4ba4b4574bf809f53d9ab16006ffd281d29edc26600716fcc8e36c26b55452f1d0903c7b24385dcb033a24293e1c3e7a1692445f2dbd6306134348025557be9f07efacc1d2e92b39368577c5fb2c11d04628b387442b84a1a59b43f242916119444023cf8edb4a503c7012e2b71865e51851008c8072c6924ac02a5998cad1a3c50b93f1968b77cf58b21a9322e5ada11b8ff6e9940e242b33303d07ad4a4b54bce9912595079199f208662d38d8e02567e213493a2ef91671649d8fb6c98c95df176a024cd21318326695df498ed02706e9a22069533bf2e8cb2f0c0ea539ea739230213e41da884e0ae36c669ce1c88f0cf23e47bf048b3031ad303163b8abbd7545e59de7f196e4a6013ccd24c4ed90d0192d14f83df267904f25c4ecde215f67ea3777442fdcbcef1b5591487849fe269ea9e5f4a22fa83b848b8195092f8d87aa03fafd4ceaa4d1e45f5818f3fa53a12f7a453962a9d62782b2ed313bb4cc40a7fa7f3ef6eca5ac5af572a2c7d34963d76b4bb096227c26926800f0802915ac31aec3785b8053aad575539e3b2fbb8261b53ac93dc179c05079ecce18f337d8dc95b0956f6402c411a2becee321ed58c240a4937bf7dd3c3561ea962b03fed36dd683390df4226cb2c964274f9ef920149f00b082124942be6d4fe854cdf68135f531af5837ee43dfff4c09d05986d3a50b46b57cf1e6faffc8a9888ec69b6219928648a67215a8cb2bdb6b43a01a401c4617eb37524dadde82cc45cfbc7b09816248e96ade13f24873cbb688a0fec2637439d377ae914df222354c0bbb4fa4cd40077e6494efc7564c81e44d28ce9a1ee169fbd1e37c90765d0b0031ddbac1c0d790a668b2385e6ed04197bafe8c02850778e11ba1c1745d173856a14040017fe8de6940983404f392f67f6870dd121bc8dd3687a33734229155df55612ab1ef2c3d86fe9497190c749e5f45ea36cdc7460927b419764d3711ab71cebe12c6299dd9f351725f99e5bfb6054a39b6e529d5938e340d42243be29ff30a017d001ac2ec55f9eafc565d0f9fd552de8859604c7cb4c5938f2a9e18bc61f5baf6467c21cd3fb3637ef4bcb15272b542bc82f619cf9d43fac97bdb6029150e92f213b496848a2f95a1e615e5557c879a120a1db8012a01ba965a45adb4c6adccae44757089647f0f32c07b4be95e25046446678630841c2625f908afa915d64bb6d735c1232068572a8e99848e423fd591646d6dbe308c84bba4b90bc4e4d13732bf78d6bf75e0594018f501614dd060fe3a11a818868b136fb12aa536e686d791f537cccdf18f1812d1657802a8d8d8ea5dec63e6350e63a4f9b27171974c349ec9ce93201bc161118dc195f2d48c6987c7b96942e4d1fd7504c5884eaf76916fd993ec0a2c8bf12d2fe140e835ff74a181abdaffd4c8de70b411ddc02b085b42c6ae79ed749715325a912efd7f59c46dc70d601556601e47104a51971e4ab978605fba441148ed27c56516d1c695a1f1b4502450072e5d56e0ee44addcb952256efb0581a99b823e7a43f789d2a5526ba468215808635625ebb578b55cd5d74d6f6c9ef4c9ac794a2a6f6d80f03f106d3ddc6de4c1983db3e432c73da8510c8cced69600d728a4899268a0d0ca934e08e8d425b597234d6bc460eb4687c90a4478c0bc071a6e6a0ffb6a331a0e0859bb409c4a1e36b2370461c0718ee523bef34fa41342c739da1e1cc7f1e26cb0b3632af5495505e49aeb35cc57bbb79876a231da20992b7db26eb81426ab85d6045580693430ffc7138e8e42577a04c788cff3af913146d908046f85c223f558f65f4823d5c9702870c8534aa6355f4c5c62421ea6866ee23bba778550098e0e3a0410a7f9e1fa251866194968201c44970daef4d292f0fb84685644f2968df598b962574345e357b79e5332b29c11cf4c94add4314a1d929b61c98b8277025cc675017e6b4a075b655c1ccb21a07d46417b36343627421f446514dc34821f0663d0d035971c07a43a21a14310ee32e17a54f552c427d62b4809e0354a99541a9f589c17945551280c056450744cb3c9c3c157ff021c3ca40a15cbde4bd28c23fc9eb15a5e81cd153a5116d453c2be20cb4f2b007202069a2ac84a9ba7a535586d8c8d118d2ea21ced335c9497a5d0caf52d44a3081b349a415eb087649eb32432c7a840362ec3ec9182b626a0a9db793d579473149c3b350ed858e2fe9606a99a1947c5259f4fd86f5b8ac1daac52bc22265cfb1fb4f80e6dd0cb7c930f0aeb91dcf72af7521403539990426e94a22206eff98d19058272c63284c2a81505e5f9fdf4b67cbeb951131d801d12304069d23fb694f28f8f6b9aa39f7a5ffda417385d59c3afe08de4dbf051055a707b5e2c3a0f6819fabc667ef27403cea4aedcc4a45dfc96aba089a8c3458007e31d9a27785f21f3efd81390ba3792d69e6b3e034fd044f486ccf8676792d15a6f523e467e7a1cb5bc0702377420d6b45ca7ef9cdfb3ff2cc22dbf7d3e50bd100936d8c3531eadd33d79aec65c31bfbdcfe8c2cae728602498d0ba76cc3d3f14bed376705ef5db72826422aaec27e8fec30c068c7368556415714b6997bc77c9cb57ca538095c54b125071dfc8becf55605ad9d950869dd7860f9e24b4d110edb01a1da4e806a2d0ba92f0dbf28881ce19bb3f1fb90046eab3e4e07dc7a5275976a3d73a501fea90d4c506e03b0e51d1ec1fc054e19703abfc45ad07d741dcd6d50c0d99559bfe77d1f84292831b816dcd7544a271cce7dfa0cfb516bf1c861e0b776e06b42865c0b711a3574d2c88b9538326d88794e016034115579d56817e4f0f9f948375eb110e09b4d092d0034538d4f36685f00e959c542537996f9a6e22092320bc563b3ff71eb45397d5ad7f87fbcad984f48c23b998dca160f2281a243fbd4a61dd183f4dfb609e409b0e44f8d7c9c8d9f6f538fdf5970f65f1251894313766176f358aff711fd13ffe8722ab18b77f92c24417fa66379e998859843d57a76c84684d516a687489f4584f127e60465914d91edadf6f7fea67cdc5365920fb08dad82866b06e7484970cd9d138b0b32a284f30691d82ca053a431cf04c56a62fce87bbc6bd6a3f258e45b7d8df392c8ce9238d5c53b78351b2077b63bfba008139e5480b129ad6d5463527318b4123f84755b0fcd24f3206540d2a7ad7b84056a085b0c15738f367dea5f185c1f1f7e7d5ca74f92a53ffbd4ad227f1089a14f6304866182b9fc3820698110efc753afd3f50e28cd2b2ba05957e1455b265a47e7d719b0a28019e16690c755de2c68e8bd13d6649e6b0d9fa7fae9c0075611ae02eec80e747247d7f8fe92d98c909a36bf6ca15513ae4223f3b15d0bae4005a149f24a44e8c4961b032ec2866e72ccccb8a36462e7ceb7c9b401a32de6adf7ca547498e149c608295e0faac9494e4c583ff6a83869695454aefa7961545dc93c76e4c338b7ff64366ec19dbe2920d799d7013543017c72ae3e56c021c366a345ad68387e405e8c832c76e349d0aec22a3ba8d4117b05a7461ae8a25c90674651a1819496d95d42df66e3fd91a5bf3c0c0da046084a7bdc536f98936f8d33f235671a258858f5e77ab06355060b4a389c6a071ebdd2bde433ccb0e3ef41bc5d7390794e302beb32321220845e9e7a4ce25a456a108d276104c3c4af4b2a9e6a5cc862d4d3ac3b28acba299e9e534174fcae843b309b7955f7334b9efbca166a187c75167c6eace240dc8844bf5545681623ecb5d119923dfbe84b31806ca555175c9f048c4848a7340f7fd3c367d8e4be8e052751a2de47f7a7899ffc8fd050b646f334dfd9f1b3aec9fec79246f6f72c8dcce73364725fcfd07ea137ef97a9239e62929cc1132b17467c29d411d3240027f83c3015efe65cedaf5f673a2c1d3c604b8dfe10b81c1c5b88a6e85c50f2c849d11bfa665fdb28f123cd075e9c0136b6742cc7f9edb2454ed45d4ad819e6316d3c9f60fca866e7c297eb2073cb6c9bfd4de1cd0624bc005d400973c393ef0d3b52b89c149493c10e13c21a64a39040207dbfa8c0f0d8c24d82fdc1eb8b8df2f25dace0f3d29bf98a22b088484002efe6823abeb131d8d852deae7a2249cef998440701e676f292431530f998c4356d5e9eea6ec8f550e8bba381bb81468affc0e90d856f03b9b3bf41ef1fb52d7fefc555ff5092a54fee64105c46290b5d2a373882af3443ecba13992217b3ad5ccce40413d53b7b74c7c19d3495bbf77c3865a26bc873f9c3724392929212ad1b1e454b0ac5d19291140541508051489f03a12e8ef99afc37851af8afe6813e6f306827c3e89535340f66d1f5e5a287e326a59e43db3fdd37d153b04f11fe214a4a9f72f1794a8b0b996c4f364db29c35298f06a28951ad9a88b56376187b800adc110d80985668c75431bf66923ab88efef26b76d851652a3d95e413107f68bd26ca00b680b75e60a9a5fa02130313c8894764a0f9a4884d2e6839145dd00ee3ad41aa33c9b66ecbaa597514bb0f0f075545464ad8851277f5ea9ac44b1262470d906a332119e1aece4cb474ab9401f30e6f3473b3c5bf53fb09afb995f51c9a709e37241d790c28fcc4ce34aa7f07d5eac640e172f42fca6f3c30c82739684e468d8c08aace9592181af1b4efbc4ecee478fa98b0428443a007b58f6910ef19f6694ce9536285747610c63d66be854290b747be62abc460ca1d087789112c3d68c9b8a29ccc0e5e392c6c44f6f90a7b00063605a0363b6dc7b94cfbb07639787a6440b8ec4aa2f21d9a760747152e56b6029498561472d07775a6a16260a77c34c0a21cda7dcc5c4ad0d5c57dd8c0d67dbe61ccc92a92c808fffb5bd7c7471656a67bc617b003a2c0a69a1261cd9242ac523dd76281b24498db309aff75e923d889062c784b2aca71917dae49419cf38e8b5a80f22a57109d61fa44b472577a9e24f46ecae31a949655780c5877d5aa5dd6254cb9c66386780a2b5b3755fc882dce771c8a45e8d102159359bec47997dbee142b38bbbfa5cc5ae9d003bb71ffcc4fab10b7880a14b54a9e3c3d85953075ca02ed3152f2e155063ded05fc1517c79556c4b58ea4c08a0e0b2f760253396d34675dd36bab61915185a7cfdcd03d61a5bd85ba870200a5a8ac410ecc692da6ee9b80f57d05dd062951dea41457e507de90d420f07792875ebba22096cbeecdf694eae5756ffb2a4c0e7d1252711c12d2eb29c192b0524f76cd4aacd9f74195bbb04d2696fcfe5a5349060a23d0efd963ebb1c4069f1a4c0b928fe6de909015f47321e5f1db5030a0bf99d2c9a14c001be4dd1c4a1252bf7ddc72d8830d6084cec0944be5914e02e316d708b0d409027034c2f7e9a5cd3059ca4348140919b25ffcb5217c5fc085ae3a6e216af411201d7a556301314a4792e1b70788fc1788d91eac8d62cf45d5696e6ce4e12d54e08507ce6ed0c295a1a6535751fedbb34f0ae78317705b620e19a1aa3294f3cc6ad417b132b8504f4d40e088d200416eb4d35c19d9636b19fbd2a2f4b9bf5e9315c5abf102d277299cf99772a83f34c4c3d8c19c4781312bf1619bc6d485d61b2ead861edc0e0872a5c08cc4ffae8997e52a165700cdbdfe09eceaeca778b82b4ef8e3418f9085ef1680047227e6da13735fbe4a930420520da0097d0081878391475fd19ec1ac468ec3f3c7b4aa5612d8154338f6b41db30a4b7ce29063f0e86d2e829289c1f127119e9c24759d049e16cf2ff94e79dd5e5c68e931b86d6a06e5ed0045708f0d945b513c5118bf59ba6b8f0277a518b9f29829627bf0be306f84f22a512d047cef10eb6754c41b3c2b7ba360b7e5bfadc51a084eb85614f1bae6dcc759a1686dd1813a1118421c433c07f38be6886cc6dd4908896e55b41278ebd1786f7c9ee43689073b643741c61a24f00a67157547be5bcc0a70168f400463b9ca87dfd9232696420eea646f1ba922b5b94600e362bbaab452115b8a49c24e9c6468295114420a6ac4475056096cace36452d016d1b8701b2fc2fd866d785254203d152ac849198782897ead175cb454f0f9aafe4f917c975027f147ccd4807bcc4ef61299c4207f3674ac3fa61f9f8f872c71c764fae74ef3c090f73112644dd4b0a1a4805eced76576de17567ccf27d3b2a2042156c8148abc62f277bc3b49b78351426787d5cc28942f08381aac847dd1a168ccca2ef10606bd94fcdc87d019fc895d56dd38a3dc7460d7c98e1f6b5098be921785e31fc560ccb5ff98544b6f62dbdf153a116987de6ec0a01facdc2ed6a62d52eadd148a34aad7dc518bbe4d4747df90d76f5d9cd8bedf50af98d4a3837f68539230fb1f1eeec07969daf1c8720ca9da620af2183d881c9a4f2de04f19691bf07bb3882e9e0702e4a61319a209a3bb74fc9df515ffbff43238929533425160dd1b2a3f048e6302104275e8d0e34c2c467b90bcc4b5622c721a61580ed89083057180b270c1846bbc5c8596c6a7fda1e2fe2c6266b0902c60a54e47c08cceb6cf24a91897c0ff394617e0761608c1c0f99995aa79f8b22476815cd1a034702103d611fe01771c72aed0a89144017dbc8762b398a8412429a45b8539e5ffd7551d3536720f67aab65d7a03bbce4b9758111a816956552192d67efa800c91dfd4a3bdda1ae709ad1cf19d8973d6ad2c786877920211c51537465a94dffd464f921d6bca5733f9b0ce98c01c0476bde7a8b0a73bb1cf7a170f03c066a5d7f57a46fb4ae4e97fb3b1c8e4efd2940b6e9a829718f07f5d87f6f0125741bf4c68d6cba13a253400d64ab539cc0f458b71443de5d4d7b99898e33e3bad2c2af2a613813c152473e83b0eb7727e1c577a1ba77be1fc0a0dc8c5d075ac76249158aad8f07202c2eb4cc427cb5abb19c6725b1a16dbd1466b86a3e135938b0440e103ad4de0e12b13e481372e7c069a694393a3cec34fe4d4c79e0327ee29dc7f09bd6e03559a3a499d322eafe5c25a7f947c571dcd6f9e7b8656eedb19c7e4be3edbcceccbb3199bffcecc46f68b4f305f3ccc013a4e75485c708cdc990e9ea5f7c8934aace667e94f34fe44586fcdf2c21feb9107da1ceb6d34fe4463962b862700fc6537fc68dcd19104ed830d6b532c37b86b33bd2c67432395d1177e6dd69b47ca3540f6abfa6a3be9d4e49484c8245304fa3b8c042704690437269349bcddec006f34435dd3084c0d16cbec734526830bcb431723a3a525ef44150a05286381928118ab5d6b0d963f4b0803ceff29508c65186f6f288bc7cbeb3eca546f80729d055d72380dddbabf816e68dc20578d40cb3e574cccfc1bb3403c176ff6672d4a64200e8b0df1e0797e1f43978d35fed2657be6f7073be76bc863414fb0a640ef77eb2ce3ab6abeb2ce843239375a4caf3260d9a002814357eaccc7550646d9422a078915206e0a7208df3f09b88316873080ce1ac593eb343a433ab41e4f761431584d6fdcc09c582d17d0b240406b499681c4605845123ee79c34ba6cec92d9dc39493a613f3c5833965cf76ed7de5851b4f70b4d978ddd7142a7d4eac9056bf6a12c077c1d0df77d6293b8437412a1c429919af34e4ab82d46978d5d329b3b272dce25cce7dcf38f1033fc52fe5c36d6253983a373a2ece925cde37f77f77fe632d00809edd874d9d81de7c911fa9f955160fe51446bc710e5b2b1552718ae7ef7d8df7f7e48b9bbfb5070caea82dcbb7246eb39220e2eb4b8f6c3c126c27d9c269ca80c327fe11ce6cbc63e9003cf4542b3be6cec6ef7de5f5581cf7087990e38ffb8f678485904fcc7bbf7a19baabbbbe7484f72887239dfed22d4ccfc469a068af18ea652a466b9a34586990d73470a644264a6ac5894109655ab1ba4ecc6ea0982b3aac6c4ee6fa84aad7ec8c80c9533559ee40df548b9a127bdee48da4c8b351a76629838a30d3446290f1e4826d545c96cf608f132b3b4b52c104f83842c2c9b111c834973585bac6b82ec5a4a0515e2748455cc26a0960a55541521201d1610f0284b3a5d36169a2b24a7342c4d527d341afb252dfb547161297119480cf693556382bb132d99304f419311d58a8703c3c356738f43d1034b2d57523e19334bd77abd434c5744ef9409ce3475d9586ad57ac2342595a2422294722cc24cf81e8a016d71addb774282fd796704638cb1528fcbc63e4f94a4ee59a88222676f87539a30f5fffeffc1dde3ae115af74f5c187528f5768f518218638c4f88a676147d746645d0dd1d4363586f3485c56e824d0f1183747757311e1ac66670664a1764ec7440559c5239a1b1140123033d81e1e4a9e80254c82a87f064c615057852dd810a365d8744f0009e384149004f9a86403d2196a78ea92b14559f391914471c44d4b8d222ab8cd4908a710c0d750854bc8fb42c7255386a4a3db8d1eeee6e1455c1a86a26758172ac409d3ea0658184215eea630d1581767777bb7b7777b7bbf7b11d8f10c92d3666f8b2b1476f6701c30cc94a1c14cb4a37c69842ed1da9259882d38282e73eb150f68eb3a11a2c4f9119648c854f978d95f60642225a0f6a382183cbace7e38801d1e9d272c1d0b86263a425972b285e245c68ae102d2318992b55192c20e2824412a25519ac609ad332721c3a8922c51d0f90b362152a0c71993a728180c4fd8c801aca8c5596a816902494250b187b61fe96300c561c97ecd2731abfd81b92e271c443a78f9a740c435fd5b05ba63ae27da9bebcbceec32c396cd800391daad9a085c9e247b561830c5406b4ec1387a346a1d7202e08b06d025a16c827955422037158ac97c12ba0c53492597fb86aea620dd3f5cf02ee442e1b6b95f4564d331ac6bfce2f7349683aaa2f1bfbf9a631c6185725b96c6c5354d5adeaeabfbf31fef09e5d24b4e8944b8b6bfff8ffffe5dd5923609ebbbbdb6a78b332feff88e2e90123c2434d9249df1b6de71e2eedeeddddedeeddbbec9fc39a632ac7950ae73a2fa3a725e79c73f08131ef6ef7577fbfb78a929d90fcbbdfe5c472ce39e7680f0e3cfccb369e31341b43de4968bcdecbc67e50983bf7fdde4e1723a1b15c5f36f6a9445e2b1556663b877a1709ad2755a9c65abd6aceb95b839c73ce39b7b7e7576e5ca1b783001cb5e11018a1b3ac18c3142da0cef84024a93a7f155c31872328d6194945911b1675c60de16c07eb875b19de7e348fbe0a28d05f0595a5cf91f596359cb9d02be133a600de7c505db8dcaea638b8e8319f881574d5280d2b618594ebce5821378d41e29a248eb71ed768930b6205dc9557cbe008969b444d030a350a1a489f2e1b2bbd49897ac52bb7d8e88b99f66bddffbfffffeeeeff9fb7b78cc844d143734806e74a3d168a618c8d705c3656a7e779339212e1cf4f33fae083301952c9cb40620eb3ca6258613e2658047f8fa414f3ee6eea536e77efa891d5d0dddfdbddbbfdbd3d3ae2eeee0ee39a63e066eefdfdefeefdfdbe83e51793f1656331c6bfefcf4b3bb725a7bb43f861cc546d31fe79239d9079ebfe2d69f9ffeb2852138292f3a6048d323d05ffff874728d1a3e04f002db8e1cef077a356932cd71ae688a32a947843ea3d9188b723e70eaa24cb4062b8619d32e1738639c69c650e13963f7ff6f777dffdbff7378691e09784d62472d9d8a46f9add9a51b40b50f1082ac193f35cb951ccde8b03654cce39bfeb0ca0fffe0766518d84964375ed723a30f0c074790b01e0e1ea3a6a56e168d387d085a285187777eb7a18035d471dfe3ac40ef092d052ac2f1b5b137cdd422ca737cf763988a8065135eba0436c81c02185b71cf3d93b712c7119082c064d09c90df28fe286a2737e2871e62d9ea91bcff5d683fbbfbbff81cac4dcdd44d2656367706e2674a4bc73e77777f7ee76f7fefe7777ff5d0831d883e716100ea807343402f93d10f427e53dcc9edd7bb267bceb1cf55942b801398166b438eac41956596e3ec610368837a7f527cb27cb4062b09f73f6fdc827528a248261a5dee7cf7ddbf3d4028cef37b96c6c5415c6c19c73c6fd4eef8fc4217bc821d2b8fb96e2759438cc55b1ab01cc8ccbc6e2e8dc607aeeeedb3106fa655d9ca3179e2dae3d118edd0ee6caa4cbc6cedc94388f31c6bbef0ccc4168fd71e8b2b1c625b3793bee747777b7bb7777f7ba77b8fdfdfbd78efd1d487477f7e806a8bbbb079d7af8b16b00194a1c24961ff65d8b79f6ecb0d74f831a855affce3b03488b855d0abbfe6887216c36c33fa20ebb1a8512981053595a8631c636379bd98c159026942f76ab998af276b0c096c07ce350153ecd1437c4345341a033a786cd840e6f875ef2f71af60217b861836ac80ba114d1b8173f6f17011e7bbf00897100c1a1a6b5502b894df1643709c26615b9dca022a3ce5330b4166a4c0a988092e6c78e1b4e462b372b07d7be6a24355a4910918e56a46583889afc86022fa893175124963cf80037b480224eeb0e0e7462966cdc1faee3748765d439145d5145ebc5a88a8ba4865609b288d11bc36355d4c5cab58a3c337cd55aa8f9b83e5a0b1240692db0ce7c7b3c33b0bc8e3d6828f039cd58518184f3a30308ac5358554ea824d5f3e8a21d69d9e7d1f982117bbd5899abc58a688b5bb605938de28a9ff4b7d2d29648f0b4b111be9e015a1648f8d4c276743003eaa1592554a9a2b940431a395b899f110768694156864f2d84a90286edece5fe0522f6b4232dfb8343039461357afd311fab66db35580fd9fe940201bc4fd6d5043c580a3a7a5e51bc98f4b56d90e6958fea223ba886a95a2aef10008c31c6294d978ddd719aa440a78ffcfc54bcc01bc78ccbc6e2e8f4b4389e397741c4a6e8f3842282afd4656389929aa2daacaa9e16b3bcbfbb55caf46914fd7b60ec73b56c71ed9f8a63ac4428a1f3810f1237572a76e8687ebf130d09ee736307e7efdf55487f27a290fb3e57d7b66bff2420e474a45839d6b16990fefe48f7719adedc0afc9363f1e2eeee552954e402684a5e0612c31996a3b2cc7c32a54c22980ec40521365536574c1df38779f8820f634872ce39679aa4cbc6d2cc3c0dce8c468756fb408c999f0e1e7e38f1d82ba35ee635760c1cf224c88cd723eed83b0e59809e3f8705de18638c61962e1bcb348169fe93e856b0b4d049166be96979b6484f9005e38794b0d7d331c9542036b86477f73c42d78f1d0ba9b286dd18f3cdd2e48639f3ec421f099fff07830bc618035dc8419bbf282d1215938a4dc5a8770b08e5ece85081ec002ac7529b73eeeedcccdd8d1d03952339e79c95384a1d658ff2a994e6dcdf9f73ce397777ce2dfc55e01bac1ba6365c6770b83b7835cbde48a723a18e9c3a92eac86ae79c65bbecd9bbbbb367efeeeece3977679c73955f9b9fcbc6ba244d6c6652328d8794c68ebb86ec757f5975d958eb94c9f2fa4f2266ea8687c6afc804e3987670f678b98345239e5d1aa02e1b3ba5564d34586bb9e9ef9f31c6c0ec387b703de79c7372c6656371dc24a9e37ec1863587858982c924dfa936671edeffe79c81169c2f53d597163bbe2910b07f82d08c31a6a932a1b932a9d17d0b0ca0135761b248c5faf8b9f971c9800e11a459aa18a708c6ee0f5fb4de30071a81cbd9124be6f5acbfdb39d201c4f75986294137f931872a7d1f087d315e13de34a7f89aa2e8b948682bc6978d5de1737777ef2599f49aa82e7c3e689bf8a6332652c23237cc951f04062d141dca0fc5a505d33246af67334435c11fa430474ab8fce79c6b9f3fb703b1483140b1e6cfd60e2c68b17fefdf76cd86e58faa2c31c62ad79da7d470fefefd634c333b81bd89f15478533132b5dc5c55f802baa8b9012dfb4cb1a94195bc0c24d6b01c04ff6bd3350a8631c617fa3deb621b3f1b2e3692effdf2ee3cae7ae87afc661863ccfbfcd9fd7116cc7d0fbe5bfb5b9b01db7b93c10f767818a83a7ca65226979d6aafcb751e19b5b0b759aa871796162f4c29ba0d4eaa2feff47db1d061b5202deb3cca6a1ed7d0d57119815ab5eeeb2194fa60e098d4976c23b4acd427238684a81a385c8f0f7c520d21e0b0822afac1a95743e6620d362938605ae229f59247428694337a89955dd314b7f3e06be52e496427a50c80081b3f161934528c4cbc635ae7fd5a17e2bdccec905e433c26a834a19a6256fc60c150a0d6a0308780923a24ef8bf5e150e306164d1307662367f8d9ebdddd45ac9475f88451e6831b2ba878264cba33b49da544141e204f5dca53dbade3c08da72a97173e3950b04729203ea5044ba34881a0b8a7a0c028e14ae14f28286a6051e2e8830f35508ebbda6c16a5a2aadddcf2ce20d9f2dbb7af907831af857b17da410b2fc392881e39648cb706e31f6eec3f9f215926620d97e8be9273cb0a09a75c405d0165ed9054a56ef1e14690eae64a02ad1b1fd002b46c8b0fd136a4655b7ce841de60bfdc97080eecddddb925f00765c9a283a91b43d2b2e9593991424308e452535f70084b32229835509c9f7e691d8fb3672fcee1c61e5b4a0103c66b98c3c3aaa9a2f782864b530bce8a0c1937267c74cb09923a5cc5e060a1424717957e3d386a8460bc309b785ff7356cb91d78316115c206cf74f8236ae0c84705c5e3e10c5a56050810cd63ad612d7c6938264162e9e9ca6557dc6b22fbbb08eceede24cf7b1a1bfce0ee38b7ec8a604dd345238224bc355a8d460b11a134a121c6684964f212065b33fcece5c13f103aec80951e2a1e3d271b131dfc09f97930cce9df889bf5f2ed681df05783c10b1965ccca8f0e3380adc352667c51309f10f3d664727adef494294cfcd781531a54c344882095f68d448dd4ccd81a8bef95558e29e4c64af74f0457309c556b3189da2c4e19346ba8e8ee8be59685668dc86a71e18254acd16135b30263242a3a821d3a324a443a7464e8de0f1cfc23844d2f02f447cc138aa5a37dcd5a168ae5d45ed0b2502c694bcbf838c6ea620474149464e2bc1620318a15e849798f4aa5d512eaf500595808d1d03161e4413501055308458553510b2b93970be6d5e3b22ba2f735349b0535f610edc5fdb8f9720bb47b6fdf7b69b4141e7066dfb2293ccc74348506a64eb999a44cd213b377243f62a85ac78da330561143d4c25a56458c50ab559b49ad50c6c861f3f2b36995c6c422073732253e588b4c5c27630a83b19491c297435af62943840984214a14c960123d3b97c1971d7a0903cf9d875fb9e45bf6b9946b18141d6692ea25994616471e16c62066fae9c0d4ac796e5d02f8f755b7f7acbbbb2fa6e560c158aaed7657aad176df2cd2b24f25686b6156c33d09b871a16a425934c3e8de5485c8c8d184d8cd103a3f80e8940f79a7a73ae33fbc54fcb9ff94905a59cb3eab3e2bd7cd7a516da0c463b0bfb967d72d98bb07f5f8f0bdf75e5d108f5588cf85cd0df2d07491960de2796a21b46c100f1587605f3866fdecc5eeeebc8b1bbb882248422225cddfeb0323112782444b20148d0223c7c2ebe691006a04d35516501964e23577a980410caa40bada28b9b116acf34bf9bd377f63004710c7e13a7dea29a9696fcaafdb93f172cd08407279ef4fddf70395fea854cc9e29a7045402031a04100080180782244a21a40d1480091aac608cb468c4402a91c38130481c0a85612888e2208001100a851888a568544bd901a02488193c59eae0a364c550879bba395cd4aec602301449f33155a46658ea772edcc54f866cabbd79c24ce3c9807d021451dfc5a3319178db55c5563cb9586221a40e7eefe23fff4a3c4aff932e38258b011c9ad1b8e1338327eb558a2a648016fc8e22d41f31113d3928a9c505a967c9226375543532869921dc78b6613768834e3282fb920fc2b41eeb95eaa417c6ca52bdcc85a18fd69b1cd0a02bb8d4d39cfab6af23900f664254f80dab5b40614ee1158f45ef05f90a6fa24ffd4927ea5b15751f8a1772f0bc8f90b0ce946ea213235b18993999289ecda0915b586092521efed77bee689d15b57e3bc4c85891b51859b69a25feb9f2c70d2eff327894b9710fee2685f37ef487940394a8d95cb064e96c861f92a418f44096ee8eb61fa41886c8cba8a6265c9281115219ab533ca523311d567aeb40321bb66fd8362e25cc1234b0107595a5c3f40112273b873dd7f0be3df5c66d1fb9c523758712b29cdb4c5196a0b364a447080aa3b1f17c08df03b5caff0b06a1dc470b19550851aac5058b267877b9806c706087ae2010517c16dbe116d8e9bca2c042680a32b07137777cd94075db05caf79751c1be828271c92895bcee991adc6df6f5d424197a0bb56ae1b0a4345668484ca4b7ceb6239d83f4169add088b3abbe3347687399d919a0e218cbe16e0541f0187042e68f6929b5b5d1632a63fdd40989c80f83c11a985875ceeb5351c755d268c8429eee9fc2d20793ab27a4738cfafb7acfae0c523e70cfdc51547938ed7871f4d5cf51dba793b4d1101443ea1e0adc957076bbc5d515f6dee6cea6465ef764d6eff68febf611d7e2e878a4070d379bca12ffc2ea442a13d01596c4fd2fa941c2a0af07d93fb018764b65ac8e7480c2ee2f9acffc185b41a2279dc594e1d071cfa506353c245fcb6d6c42dc4a472321166410485b3633d1a64ae9087ace8b80beffcf7264e3cafa20f9fe6b307f4b1ee3ea233616fcc383ca8918829ad7349bd3cb1fc7daab6e968d1cd550482ec67e2c3ca015521da2163983cc848061673bda764fc48f29c75773b09d3e27684e3946905adc6a2cf5216904ce341f5840ffd52f3c26507946d626a13d6865b4a02589238c379df2a43489971e64f517e98e7c78f417ab20a54a2db7a0e73720429173ff3c1a6ec1d437db27ce20062aea25d77b02cd467fea6787d5178d61d36f77914342b4e1fde01cb6dbb3193a7bd7d407c3856f3d2291d507d25a337b664289cf7b0544ab1e72a2c4c4f1eb621f37dc42834e6c73ab8e0f61c888363f15a9644d27c0c7002e86c0e05ae95a83374502b4a116a823b009508d83c42294b57b34cc14b2a963516b5967e59ea189069717f86fa346e86e55d32e933237f447fcf02db7ce0fa4f305cd31d40bf3f424628270b85483d384dc3a22f917c058936f389940e77cc0173a79425d928bcc87077cc6d59d0d50729d7006471d394423b8731b876e6290a9578c88dc9a2cb32367c48cd561fa21fc38c2b961cfdf3aa3b9901f2dc8f2ba551e566193d042b8f7b3dd5d2cbe149ef0c69f3b6398ac345ef25cb0bbb6a255d875e06f21f70702c3426730b89ab240e35c48f772e443883c9a316b5720b2ab052ffc02b783288cdae9a01bf420517b639fbfe8343ec8c335481504196670d3798377860677e97058c8091ef17a1cb76dffbe92cd1ffeeb9a9c916160804fb7efd5a833bda61d99fd8ee90b907562a4f70b6c82f0906165959679fc530e763d0eba0a1b26914981de6edfb96d116e86a88d9212b65c562e76a9050192e920680e0c715923dcfe5170a27edd580af0fc4f8157b082cd1ea90ff89034d030d2d8c45d8786d5dbef2d3930c8ff9b10a539666626f8ce288bc47f9af4a5ffa2b0e154a0817d4ed7e62799e610f0bb239da8da7df8ce9fe96f5d07cadbe5734d63f01fcc4e33ec92b2e2e5805a093aafa8572a3f20eea7e744c7fe80297cc238a479a25f0ffe2f5d2648bb62b53103fdd5373544c6c5f0268c1f748512032859f403a16908903429e903d518128ee0169b2c007265e9db990e658066d3cb129861f9e073bb945defeed3d90d4658cd798cbb38d9b75a1e07c924a0024df4d70c11b02749e7823d841bf6429e40f55ee42e5842bb810cf48171f2f5d0bba01b162dd9efbb231be140e352cd7ac4510150f4b73e70809b40f5697194b953c2f449a9ad134146199707794e589ae15f8c0f8d4cb8dff4541bb0dcb07b2c0809f1ab7350bc291153a61b0238948960dac93b33843c634a1ef5f42fa918c55f1427e3a97b19836d0050a4a66096f33254a66c326f4865b4b82bad8136264791a1563f9433424a89b04666432c083342eac93e7c7a19430cad7e6eaca4d0315e2d85dbcd9b985fac4b190d2a999de067b4f4fe7c4f4903afb113d30ecd6d63a834f131439399fa719fc26e4ca49c26d5800accc31df3ce52b6e22755254041ddab8e014cfe3bb54a2044505fac0157d85f620a95a4ebc0d2ee6e63610b98d0b0a7b74e92adcee30bd83d63fb371fe51cf50f4c34456ac07eea4f59f6ae3475068dcccb067c723f870e72cf7e92f4087fb33e85aab9982fd1ab35fa057029ac2a08a1227ad18cc3e300001090e9dc64dff8ada0f96ca11ccfbcc81f8e56696ee47fa7912482ada6d3daeb678daf164f527e46ac49c67270dd132f1478cf487824f4b450b03134767c3349dabd2fdc566667a8096d6fd2b5c41d94a0348f98eca92833098212407c6b2c411166649e08f48be3e810d76889e387cf24e12b5eb5eaed6129ff187c989da64863fc8b9791e945b63b0448835ee5abc8fbbd89c5f68912fa92f3331f8754dffb69e4747e3b58f3bb33a254e4c5c36fc75156ec1fbb710242205ef22e35e9cdd8fcb3b765d171932e67e44b571a60bc4449a1ea5bd0fbd70028a420402acde1c13df8419df7e9b188527caa31f44d105b002a42274903c1b8f662b9e823355d0b733a77059e8dbb9e1eb3638768e70d6ac7d73ca9101f5e5cf99cbf0ed796707abdb2e67f5c77c73034a6402be70f6f69bef70293baf5090257eb5a88d35885c7138efae895595ce1fb96721ee3a57c4675423bc2b3a5b7f1eea6bf1849e1bb3668bbe2c92e22fbc552edd0d66a13fc52f72eda37b787019809aca9e8a23dbbfbe13a0a782d0abfb7b9c1786428b6896451541c4a639287fd3487e0465ee6bfa01b30846cf1832727b43df3b0b2b738a78135d3bbfe96be2acaa9a3326d09e1760ef6f01087c3569dd018c1010b6e18c974299af5f21e5fce85594f30be8979e90a02f43589dff708f5049c9fd78832c40ba227a657920f3400ca45b90b6000013893f75e4c2bfd5dc728ec5fb2c83cb1ce3dc1bc3c79e2a6bec1fcca81b980a72449cf23481604472cb0e00476dde9b5a65afd20541a0b04b1fb881559b875e14a186fbaa0b95c0d22f36a35b38f363998317d60be17f02d922f60bee64a0a530ca1a88206ab4db583d50a5a3474eea5a6ecc67a587bd23e19cf193d17aa565b0cd4807a32b3cec72780c0af080f2a5ffc95e1b72100d24015169b095908432a7179b8babea34806e14da12cb3cd343e29c073730be03b51aaeb8eba25312344b1442834bcb2ed1383583314e1b18c643311d188376316da872b16445acf6462c3966b67bf1d9974a418068527936faccdb1e2fd7240ec3d63908cf87de0244937909cdb0bfafd2b396b124ccc0060eb98b830f3e66317ff54be11f2627034760c1ff1513078102746140981cc41bd9c447e4dad244afea35cf4cdda0548037a4ded30372ef85e4447548d805041eb8836e0b38f97758e2ca02055a430117927aab6f154031f5f82f9dd9215a92c49163339e007161dd49d65adcb7742db9e26db90000707fca198988ea3b82581febb4dfc70e90b819707e9c10e6cfbd6b642c46c0216a070e2040d76e062626ff804f96c1bf72520af1268555c71ff5044805f6d571c76cb266b083ba2f17a43244968daa38f68b3100555ef028fe7b0b450c7807ef343c1647ffc9184466318ff9f9de021129ca389da2ffd376a32307deba11132b3588982fcfa236bff0466d7c325d7d972ac00d4fd1d59699bbaf2710c39f2d8f4648938be89e730aeb144eb2680d385d24b240b542e15959c07ce470e8840c766e540af56548fbce3ea021413970732986d42f157875e3b1e995ded52c978449f3bd78a6e73ba84e04f98605c3e99018dcfd8c062c69eb56535fc4b7737ded493b8888040d9b13842a6bf1c94007a272f855fc9de1b2de2507ce7ad0262a24b992af49c115592c5427064d2db017329353e26a70ef974bffa01c22b1dbabe75f3c264f7608314b6ebabf82b728a548d333432fd52adce49c951ba9a2f89698e8a73be01e059ff672e97ac4f49f1e94aeb974c3249a3314368d2546c483152e22386cf81a91e6c763383d166970f90c02b66cfc8d4258428f378dd489353682119c992b306c005128ad6843f15e0415a1c7cc793c9e7d828a4b429786d6004dfb5f6bb038753cde9242fb8be352dcba83c585c92dee212e6771790eb543a80321d0efa00995364eb97fe6fa4ca2007687d678f5d407e58fc119bb7917d6de91838130cb671d0213805396844c3fba6ef3fd6aaa935607004f060606b64b0b5799d773a28eb4582322eafab1cadac1c2c61da09b392b91ab70d52e0e0a48f304a3767ed066c8846b3379953908dbf90c47272c8c66ca8a88c2d6b54997595f48c8ac72620b1f890857bfaa893cc835708740309a06294960426fe05494b734027dd19cdb0f75d06a46e537da1d18afb5829e0f7100a3d42ca380fee26b2854bf69b38f29484c1790d2dfa8b4ab5be926467ae57b0a7608001f5269002e00ff4d96d80b075f570150925a3e28d07fd8c547ed925cad3db1051e1a255878d80ec15b8dd74045f24f985fe49ec5f27b9aee8e37f02d3e5065324143f58139cfbc6aa85a6148806d56e09ea5dc57f0752dd89c514196138ff1f5230cba8afa5e7f3baa5734c6d2c313b4a1ac0f06fdf3ffb1c8ddc8de97f8ddc8f437242cd44aca3b7b448a6bc1e807297f6aa394f2e806e2e12341b07a4b5b86714894319caecb4ea253e6687be4d1bcf030de32eee10e81b2c2e1ebfdc7d29b91ebbbc1710b209a8ac8a035cb71671db9bb4726f93767275d4dbb8825604ca3013796b66a4a333b06efd5429a7b6480c9fe6a25dc46f5d82f98c2644520045f66ffc9a03bbdc002fd9d873b9c552f3b1ef42998ac6abaa0c0b70a642249ad26b030022871a390a99f5c31428995fe35af2db974b3f77cc6617d91bfd8ec95852de6a94622e39665bdf49b2ccdd5fd466a0c450e916a8748ea1952539d2f4620f827fdb7b5c0bcf4c2fa37560ec2893931e31629b82c762df496106bfd2c9887055440a87a78f1d1d0fc69dfdf6533a2ec540dd209eebf2ae41e80cd9b041d295a5d460301ea21d6166ff466e31e9921046a60513b5548ef3ebd119f8ff2e64a69f4c1c0e5a09b62a8770825f0c019d502afcdefd831890c99154ef6918d85652cdbc8cbbdfce6b6acc648a8f2ceed32b039c793b3c7b2cee604be39d14ff5a913dc2514f2d59155dc090f909522077f3d3f1a456d85ab6942d9ef4c5339e5f893a9fabdd53693e902578c0e8ffab7e431da59882b83a5098e811176cb11920ba1e8918af304f26aa8bf082e39123302615ed5742b4e14602fef0ec5c742aa12edab1e8385652c6139e65dfb7297b838141d8a2e8c37e6cdd039686a4330250834473c9c85f002c6d5fe12585aeca8810d5ae544e1d7a65df6115e7810be20fd029436260a015e91cd6a2983be95c298d00d780d0b7a8f2f430e297c71aa5e33e0e2d17c5177a5c0c0ccdd6a94aeb5d75841493eba3471c703ec8aa9f86e00722b2f16d1300a58384b3d869ab52aaaef58a9cb23aa0d7ec88bc44d8f26dc8391bfcadb121d10d118d0d15091d22281a3c4192538ae956823843c844cc84ef42ef067a9f1c5d59e614860111d7cb485da988e081e4a6146e93b9806edd1ab5d83a56ab19b4603c5f59715255fe12b673dc1d427c14817d996286d17e24bf1b9e794b7043012ccfd35b2108a8928b878e0675d06f8b73b2eec70d3d0cbdd30b77271cbfa211d0323fe30f3b912e82c1b972207d6bfe0a906c6974e4d9602fc1a99bd1136d9e8f2c17fd6be0235917f5ef8b0aa2f03397b3304ef49eabed271fdd2dd84114c55a8ca26075f476668f9490f11fc8f227b2372976f9aa1056ccf3d3c70b3680b4f99e3672492f2475ba8f256564f32b8710751c130ea1635387ceb5d397084d07f58391aae830da56c62c5054394774e189f067192d643925b6061d163eecf9edc842b72c158ffa3a5948c3812e97a650da8a36851bf606b72ea7c926e9107886a456f420d73b52c93ea16d78dbfa92f50a8a064d48c45b832577fcb20d4a4681096066408a01aabd266358a4e0826dbfe9e7c9f01ede5ced19aa6f42fd07a18f9bc70f842f90ee00cae9e6857299a79179f049868908248259b33603e475b4af7cc1dd935920c81bb3250ce31e4ac391907cae03d93ae4ba39ed49e57cd96b2615c5fea0d969ee9d4a44a876e0f72178d80063f358b02088288e6044878916368b061be60e9ae10e5b057dcd00bf390c83d207eed3de4ebef12a5af8eee6f5e1d24c86b9f5dd820c6a67ca310056ccf3906872c279e40ee81de904ab0168a38ec9776e9a0e51271a5e63e896f7c78cd743cb80b4210f9f6a21f538d22733e9b588be2567de050a63af0ee6f5a556fdfb08134b16069bb4fb7c973cba8cd2c3a34e7f7327ac162cdc4c4f0aef1b2c6af88ba8667b02ef844aa18df021157c3a32f3c7a123ea7ec7f5eabe7aaaf6590fdae578b9a38bbb2bcca6084076904524c62cf110f9edff2fe2847ca9511b4e12e210ac3c11d91fbe615eee97b3f47879200d08bcb6f7992ab4a67dc86386b2953d6028fcfc13b7706e78c8ea937563a0537ccb9ad173ce5b70dbabb7e9c52a972445bd8f3ba96894fbaad9c5da83517d781c08c664f307793a1c8077addc0445e685b64ce7f28d43bcc16a1a00b168dd1f4e3c55edb2fac1106f64ba0ddde379eadaffa9d9cd314176dfb8feab26687fa2bf7b7bedb66c251db99be343ea5822651fdbfcbd2c96d1acab3cd4ccb40c32bf9e884ccc8359a9b0a7fbc1965f2321f04493c3355d5032915bcedb0610cc521d1172fd6d8a246c58d880afa013b67bf99e887a614447358944236a8387f0e8e6861c447085e6d272ae39a7433b8fa3a5a6de35e816f95d2e5470bcc255a598c9fc57c4bf097a00c11b689c4037cffdadaaa68a8a6281b4aa5ea093b9cdeb288b1ab0bdebfe015dceae492a8d3d2da1dc42f81be70ec47265e124129ba4a8ef6caaa101d1bd92da11943f2b5914bde7bd4d3569635885e4ff0834962745d83a80fe2b8b57cdd800c7007e4c48846f61fbf4a718f42eb3250aab2507a6c530ab3478bcbd3a9f9c6b079e577efa5aaba970ea81f74744fd6e1edfa0247ba618ed4022084b43f76b9257beee3f10a8c240688917ca9e3f739d09b3b8fc0d5310d020b45d08a2db02c150601dd3444fd6798ebf6c00c1537c27fb8b685cf780b5680c7f2c0b37b02ef48a9d754c1f5c9754a9f8f7840dbd1ca7fd913f10071e11b2aef0496d3e2b6ea7039e64a080cd6ce7efed54905862778ecc1fbe18aa4977b935bb0a557e0744557d8458a9612b17ba5b673895cdc22d4051d6aa2ac82a4f5a4a5ceef5e11b308d33d26471eeb81961f69d3841b1b2c96e04d11e3211992590aab4c41c47a394bf9c31a9bffdf232737c2cce49131a9fb3d9a0c1eae67d2e7429a63c54baff24151e8877c31bae1cd06710c859b05a4ef7ef3df48e7f1a26f75b391e69c512347f76bbce81471195492e0c869469d606c989e56358bb5cba31842f4f0c581d7d9543f182ff209e77af2df8bc0f72ae8a9932d3a5c985f0706a50d192997dc5a92a199bb5c70de75f5539bfc28daa45e3a8a9c0a0e2b69bea0747fe7d03166ece038e0ebd65bdef15f96d1a28659509a71344b0c2accc2a4e2199d48969e7216a737b23a4437fdf23119533a270e98d50c809511d8720cdc33277a548ba77dae193bc67fdb145fc086b906b78e705f356c325aa768e65d176f2fd6680637d633004b7cac5c333b7ab2a57d068e7d666c7eec65ba783481a3399f0284826ab79b8ff2e7226f9de2fee12f351594e034525023b0fdd111a5281726d53cb759d325c65796b8b3227995b9fe486e760589c35bd696256add7ab6e1c3dc6d707f3d2bb6dab9752e9fa185e33945de250607ed723fd84fdcf4c31cbfacf6a75a61e5fbc755108a3264b58e76d2474ff6657e8646607623c3b8b0235c5313a93d339e6448be4a07845cf3f275b4cd812ce47b213e26fc7b5ad0ab42268307f48aee0c7703ef5220b5dff1c56a8306f39589031db1ec91eaa552cfc499485213344c40f698b7080c52b55c4b7669af1d47dab6e3f11e16cbaa6101cefd463b0cccd6df4fb10a5765c3a3050f2954611253ca67e1f146a1105f3d0cb456fdfa61099641d7cb95228e83240c4e588ab367f584799a9403d4684f971ba1075258f649b84ee7cf2d4c436ea2e93b5bfe9371ce2305b36a63b6f1cfdaf7ea3dba04a570040aa589a8fc9402813b4fac3e3506801ea0ae398a88cd269e00f91cbc88ec9c3153e6355e2af1b2778bd508a9ff0c47b25e068796f63ac95a2406f2d0b1711d8de7841345d983b24b155a2ecc969458b1ba61cbfa57ad1bd11b31b693a3c0c09d27776b14354aba0d76415b4e8cd97ae7bdc57cf7ae87bac141139a47c205cb516c527f3181daeeb12b4c1010a2247f2776a6c243877fd2a30215034fb1beeefab1b0962f379baf6379c9ce62e9492a869d03625848abd556e1d8313ed4134aa1e417e016bb1c1207d1f3039bc52c65be18a3983a8309e2999d1c961a7116a797066aca88f2185e76a01238d37632394934e3a89b7702b7897545cb96be0c22d1bd02908e549fc91030b1d0bb9651c0be30d8b10193bececd0e7dd5ed5f0069b1d8dacd7f3dbd45b10c407edf84394b9a4f6eee1381f4e6340ef0901cdd167f26dfd41447147e41cd086bcf92067f904a7fb3caf210106e16a99e7e8d231ed68178752f280bc58e8bd1f55818608fb58b0a5b0c75cf08a66f28635d8cd4408a75d2440414a941b6c143f2a29f8988a8af3c393eb5be515b2a66848119a035a2503c5a58627db7e3ed590f44b3ab4dc77d5377d40616c7d43049cd7df2fc29d7584a78946b8709837e2691c0f7b8babed4cd010b533d43c1e03d1967b03c4c4bfba8ad75d76eff82aa4e4541a75e80bd3362ed06e021c911153dcb72b371ff920cba50a37197e96e7b4c3ef1262d1301a2948311c5d2311e658a61ef5e4efbf965a2114a943a08d68bdbc08a07f3e3923e8fb24ed1345b2c0d61340047b534d5e94bdb4d49072fdfe4e78b34b1a08f1849fc75abcf300eabc55fe64c2ee86d462dc39ae266a250f2bca18a959af8ed0b3c615fd4e6925ace769db7e7694ff44def9ec3259ab2ee29ddf358c240fb71e9d30cc7bd12c8b085490eb42cba7b51fc7e72d30aa43c45e1a2a44b89d214245d49ccef987327260661b4e8d6a23ed47486713011a410ea033071e6da95416037c66bf3eefbf4389f8e98ab44b2a2dbca0916e84c948a05dd4a021bf0808481dfe53cf584245ddfaa718b11a8a28449d1c8d4cf1b60136ae799903d620f2362d6aa69371ebb5c7624cbf4d4a0b146bf5180e6499a728740734694f50287eb8963c4862d043bb126c9f4c873269ecc365ec408cb81c725762adc305167517850e3e4c0e29b050d62e9ba6978ce209e052a4d7ca7a07b144f8db953a2e16ff9ee368feb712ee47010f14fdb17e71d298cd1ec7d82c522d071a6ecf3db446012fe6eb101197471983aea2900d2544427c63163624894225d44dc350edc1176592e42b66330c4e3f8d1f0488583b574019f8de07eb7402c9f91cecd9103a066a09453ec76575d177425df6087babb0ce31125a486412d32a5aec57a7ad03b3ecd50987e47463da110764bf91904d7135d5eed89ef9db09bebc8d8882136bad9153118176c29cadfeb3f1ecf06954bee8e64a71b67f1da3c3fa7b84548e489306998af3882c27a54d915049cb11d558927cda58f849a3d624f2cbb96db48703910622db02086ac0a7ca1ae8f9d9247389d1eaa7e72a4503811b349aafd32beddeae058518f8ca56b9e10a199c32225d1f5a675dc62b502dca3a8873da6def848ba07e9bb4aba0b69fb1639e627fda5fef02af0f1e58eb151c0ba5f116020073f81af5605d76aef780e8be4f63801e1201200cf39399f59dd19bd8fee92a591f051cf83ee55767d44d945b15a927c74ad965b8b2c3b33880e7a8bf2f9de42ab2bbca1c4551cf74cdac4cb52362ab568138f8d35bf56c0cec29dca2164568dfac28d598ce6f9c70226881d8aac026457ef2c38c7626e9eb37944a19c512aa76222e1068e2f82dcc660132401df57213a380691e1088c248112d7a1acf9c31cdb7f9f552322b522696da439e78926c1dee589895eae254ae7e1075a9a78d3354079e03e6a711d0ac460518d7021e9c0afcd84b424e08f039c537275f8c43e7e42055c617f0825bbbcab6c05e880b7f3ec8362efc94307a8cd975b7cb765bcc6ba44725ddbb133aae83436b9a9621cf0cdb247a335c0d52cc6414dfc5de1236fddb83cf8eb3783ab676dcd543bf18cbb26d822239cea2b73269145e28ad5005cd6726cfcfaf9ffc8d0d5bd50510db544397e57da80ef0b079d895a9c87b895cee23cf07286e22db5237230b9aa9501ac331f4a8c31a3f30223c74721a10a4d5bc86ec3eda211fb3c8b3450e9a043d8a85c98fa411dbb5560ce82e09e1a176121e5639cd7a6c728aeadd1a06a801672fc74acb1e87f92f1beaaf80b0f6a380be2f9addfe41fd182878e6911520dc186cc9ef44006bd080b7797728e8fc9570ff5efb127299bed3a67eec87893c1e565efabfb1b1decd4e93e29ca103748f52e1c86b1019c184eb051564a299d84e9985d61dd2944db6ea85353a813050c8a095e6619db6df393da86088c53ae787fff472514b61451078be9c09d9fb6b8bae8d631ef2006f445ad42823b4c765aa30ed875af56e248f0221abfa2822c54c00f2e09160a31e5e343c67cb1b2b4e0153b05459428f155427d849a257e61b335e823670d3cbd26437cc08c817a639105d67b825046ee8225bfb4457a3c7235af40a08a173619f577543f207542a3945ce0500647a87a668efc7d962f48a2d8b947e53d63f7a4fb705a18689f9f85a1814392f8e699037717c9f01cbdaca6ef8c91231dbcc0d755761260970f2c7b300664b03c7ac0633ac6d8e360e6a942dd8e41cf5b2087b7125f324b413ff9ce11e5322d01de163df3914c6f7071ff5b33c89e588fbb1070e5e41a78cc0bf23b10ba47e1fb9725270993d165714bee91a46646736953d28f73532457220bfa5d82b4a9eb7618fb9bb730e6c235268bd012f6027723c05f7eca6496eaf8c16d11e43fb13e15e43fb13e11f43fb15e82b2e8ff4e64fe022c277bfe698f275d759566482daf5123d0fe83f863b151f2499dd4217a5ff7d86c06a1de6c1bd3764769c0227305249b9b944adae49dde4d98b51156e09ea5ee4bf0ae84be5be42be03f3c8f09dc455e2cfde2e6e033ad30879594175b0e8e114949f8a1058287e65a9c2c44b43f027c2db82f05fc2c18a749720466cf6ea14a7c364500d470750a0fb6cfd0fd7b63e901435da9f311b0bd15c4bbd576d57efc1f3dc92fbbe24e21157465fd2ccce8f6699345772ecb440efef653809bc90df4e312b5c4b6b403c1e0c2bca93806a12bc0c90f14b1721b34bc5ad27de992b8f0c8d841223a429e3d1af63fd1af365f4755fc978e644f462a1f8df42743d6afd919af734eda8c52c9bb0490239c0d12deb6b8fffcef2e7bd70a679d22f38506b6428c840bfdac3c20c2117fcb95c7b832ef1640e098373fddbe6e53dd2ce48b69981df98faf4f801f2c9988ef091d7f3767b6993cdca233cf797a6c5cd5f77e0c75693e121a5bf3cdff19603b1b2e653c73404f782df47b5f08ab4724387ed7986c660df332e29b397c1d5b716f220264f71eba37b2798ec52a7495f2a66780795e9d0957f1919eff1f646022c375bcf59a28a3a045b8f0027298f1ad034cb463220488599e5232fc5051045faaa563d65d229ca56cf0350d9908ef9d1c781196a18c5c9f64402f017b0a272f6c9819fa0b73f0904342a889a91c14f566f01407f7e13e92a5697fef7ae7caf0e90deec38f86c98e02876f5e3bda33abc80def48401cfd47efa22774ebfdc23d33a2e96615cdf4a47a3ac5d368661acf6c444b13013326577b27f18ca35a6faae6800613ab1988559f8a981a994bfeafabcc2c2900b0b68c2f8a0812411ec7162b1fdb035c2a4a47b22e1c73626fe1a22409e00f4757ba276895ae773fbcbbd6653d0850daa9993a0e2a58d21478b70b665df63c3507f494e680bde3b5b389ccb6934d32829770324eddb50e26ebaea9079bb4003f4f24c400e9cb4b891211d602217b90543c7cad092abb5c155bbc517b69851470659132796a594784df3afdaa929d93b5cd341ac05a4a8e828d6f49f6864ce4a6deaa31db1f723c2e1e26566358365771c592709ac60578ee4f9b6de4fa6e7ce50d654c4da1f52a2d03215bcbefa25afdd0b10f82a42c9a4ba0b3648beac08c6aba90a0bd7464bf6f181f7864abc1c482ded69dd60cdce6aa7512ce20b38b47ff80d83118adca01ffd6d4cf973ad69158e1cea55f089ca0c1338ddb61375b7ab4a6f25a2816864ff6c109403de5c812fd11eab9276ae8cf0787fb1b52542f837e2a5f4c15cb0b3200925d0c60483d93e6416b29e0fd3e11d0f22997a08a64352621e735571b39532740be42f7207bae0b36e568598a829edda05c91880d3a6fb036c06f5c6c6a45dc91ae31612524a655274485b93b92c2282f98754b81a733953fe4ea192499d33304089686d4b3d88cd8d6c0d6dda8a27ceb7b35286de3fe069d7e04f01aa2b704d94f6d767200b28b4eec6cace835f01b929a0ad693011be584665564610107849f1ecefb759db1f38e6fd3d92c60a33f387c77ba674e03fb4f550da20c835fcf80ccd928d55f7cd5a34f717b64e0cc5da8ecbe48ec6bb274e4ccccf7519519b76b05cdde24df0cf5ea3126f432741b5cd96306156197ccaeab146d9f38471b1b0706d2d89c17234d3c50fea34318391fb2cb430e6f983a24bdabc1061ebd1c2e6d79454d1e562926ad052185c5d95891d38c9de71dfe92da7f67accf9db4ac2123e090fa8cef3330620be2bfc910cba94b9d4aa5f74abcf7ebf6efd1280d11cb911fbae0a35ced1fcdf84fd0d874565e02ff8fdae6c833083b33d4388c670e4f20b40da61f79448eaca9186c172a80c67df0fe566eb68462dcb654bc3352b5083a45018069d3e914adee9513d0788b9f7cc28037b1106f80e717f226e5d7183ae84012d079745e3abb28069a75e98eae538e2b1ca8babf127a1a7c74c568edb8066cb43846848451fa7bcb66f22dc0f390407f42a3d9d36248832c58b3234e001e83353f4ab609d89eb0dbf510203915b0492e71d31b1ff0df200f3f7042c2d099a5c865547349eeccb77f0f086143d6e81e480b168c8c85181542d15fa2a030bee18d8dc20041d2096507370c491606dfde85e1928b45573edddc78ca74f96bef25874d82177a2be8f1dd6ddf993dd5857b281fd172b2cf7739ef8c9e7a3e3376ee010d599a29c116ae80d033987ae2c1855b0cb6b52f1975525f80ca3324b8d5952ba191f804590b7879c7b32e268e26d8857b11ce593cbd241ccdb00de9a2299eeefb8e3b5f8c9efec23e948f92a77bff76bc8c6ba8685a7ca9c4f2458a859c19f9f1b71299b92bf3fd648ec20adc85daf9518eaf7f05a859e1147593eaae4a0eb470fd25256e4a4e9e5678e767ab11699ac7a8c953b98e2443f0d57c62400b042c1183c88e269f73d4d1b86959045044f06cc38869d2667d587fe00649a7c8af31a87d3f12ed5a445701daebc0315460d0e5a403fb13db7feef67e27721e84072c957c44e93f43b84c74edeefecfcfdd035572f1be63d75dcfa7d9daea839728a9077748fc432f175eefe0a3feb055a89885d148746a3b7a31617bac752352cadc66493f03d402b302149c5a6f677502ac644ccdd9af45461246e86d25f855f2252a0d250218775647522070616703eef7c0c9a20990b7140756d4a1c1f9f82540c544c99bd707048c4c66e408805a125440f0289408dd99039c4b744e6c0b22294956dad30538421286967440d19c5a09df7996906bd2b6722139126b3da6ca4f5c125b003c702d80a7ce111b5ae60fe74d8cede4b481335f69dc68d69acf1ad346b4d675b2bf6373728b327fd6ad5db12d752dcfa8c98c54fb4a79cd8579bf45be87386b0f0932ad87b6fde598a0ed9991683b6abfb4449220960086d2bba086a72fa0690cb5011e7ac30a2e8c808207213e185162b5540c48504069a64691adb3152eaf4546b4908dc86044d955968e28c38c98f1509387027928ca435b78a8073c74041eba020f8d81c7f3a0771d28fbea0249ffca04360c76138e4a1da097a60653f480d85d608fb300c05f58834b38677a666a5b61aadb5169229213c00f1ca0919b0f526f3600482501a5fca03051f1fcb8744e9a8a7e7c4c4445534a894efbb061630dd136bd9138c3a467a2f4cccc95befe3ffa9a34ee60801da7f0d269203634a0245247b6a114295af4245320e5bcb6acd48b5a7d2c2bd59563acfad02b83b5839ca14d9b8b201e68b8d49d4aab312cadb5b2d30baeb5bed6da0bc4a0c9f811973624874b35426d1145a02296d86450d44c47a02d3b43726e3a8e984d1d51ac1412a82c875f4dcba4d3106896ef2f181429a3a74c6f33330301d3d20b8668063dd7ae6b69add5f7ff27d75a796b35c6a5b58a0851765a268d53e92f2d93c63a12bf9e714e480a1e24245c3a591b45030d5a10ab264694ac41d9ed283231b7031113224f2a483ebdcbe0f150a0cf5cf3d59f2607f1b7f7da8bc3908e89475c9c0f0f3beb948288b3ef612ec892a491cd5a158a3b9ca9369ba6afb51aaa35b22170dbd4524f78e6bbb7f5b59acd4048d49e0a26a698b87ea4082b2eef0f222d93532ab6f833d969d91fefc467be71f776d7673291fb7db3f4e881e886f8c9f2bf99c80c302d6d0c313272a9641285c34554d66355b6c4269cc41c921e3a9a6874d8136bbd5e03f90c7bbcd2c703d4d9102da5b31c4a287ca66c6ec0c9f0d19ab1dba42b1f2409e2afa6659209b973d7e257b28c0076ed39ea9832c12555662684129614ccdce7eeeea2e5b0a022769959677f068b772995999985bd4d022e85f90cea8cadf074fa292c1449fa42a2a03ac6d82b1ebb9e999499ff3def19f861966fe6616f579b96311d1d02ea8e5a58e590ac1ab2ea1a028a1834238b97263b2ebb31d28532a60bc5b33f33a3e7b3083d964c0ccdc260642c8c27bae152515114cfe34ab061d5f0c97a11259313c564b691084ccb641456cb89af4d213e1eeb3348d6e39b457ac033585f97ca7adfddddfdbfbbbbfb7f7777f7ffd6ba64d6ab35b5d6faff7fadb5d67cbf84d6abc15ab3a4d63beb5728c55013b2420713980ba59e1a291d645014654946bda53412c440eed00d1bb953b61386b5cd4e43e1abd38d8d53cf8e13128d13557a929649a7a6baf396c9b1a7e115dd8b15345c76abd26522ea70f2e9096aab57d372c2e3030dd36e0e818a604193000b30b7bb85fcfd70f90494c00bf7273b0906a91599c8032ae2e9377e20d0f35a7d1000187464c788b2a027a27437dadd4ddcddefabec5e28517286c6d4826aa9e866f90e657777777777f7ffeeeefedfddddddff3bdcfbb801033883ff1f36c0ffffff87fdddfd7d6c7477773f35f1a7ebbcbb552bbbbbbbbbbbbbbbff7777f7ffeeeeeefedf9d3dd2e7e9ffff2b02390120e62eada8c697111c8b28ac9d0729fd5080a25684c5a1c9414229fb3b4fec0af22524b2612b75000dfd3032a89876b30894052553f1a13ee1d153b824e4e5c9b172f36cf6ed5710d0e64d14e17ff414f240990c3c833fb48ee0880a3294e5f25d91fe2efd79477a61cf69c5129f9a2da1a10a133fa7a69bf30c9dcbff3f3cf13c3829dddddd5decee661277295b83fff9a8f933f3ffff6766644f92b4872703d14d44fedc1080f895d2c45f50cc09307a087cb10d8514736ca696aa2ca1a5be9f7c5b648c28e36b9492f5203738782fa2d757629d3e6cc6dacc0e7ad4c0b1d90139d8316c32a76437d031ec497bf36970e6a0516a2b72c16dcc50f548b1e03c2665b2e0b45e018da4300c0d2b29a7e50ca817153854d474773333d350d99d342f30252d71501de11e806b96ef3214981f30545ea80a8f87029f522499d0524f78be3655acd45a4dada2520f275a45a5252b3ee019ec49c2610292626dbf6e984bc922af0e40362fc74ac6f4e801e7cab5b2114403b58a3458abe803c4024fa51a3bac3579c26de5ccf2ffc31a931ec83be9814b2584c020f0444fa6f4a4a880171c737335433b23c51f1ddccccc463e3d4833ae64be8a2ebbc9746b733337377373738d9bed3b14eed669ee66e0ee19e40e1be06d23a53eb5ce75aa567addddcdddddddfdffef7d42e19dc19f99f93a3e45a88e8552a152325e1979bd1c776a906a2dfde39df850b84d0d62d0e83a8ac93a9123071012e52728dd5d666e9122c3fcfffcb32564fe7fe6edeefeff9be53b146666e69ff7cdcccc1ce4ffffcf1f6099999939e7ddccccdcddfdffff99fbffffeeffddffffbfbfc2bd653e77efee2e33efee2e339f8fb23cdefdffe5eeeeffdfe195410265a59b96489fa1106926998a0f35ffeeeee65db979f6feffff9ff9ffffeefeffff3ff3092f4a222b68fc940929e5e08563c50c447548322a5e666e74f555ce612311d8b2383f44632fd68e841c39ad0d1515c021572dbab87cce4a781d8fc7e3f1783c1e8fc7e3f1783c1e8fc7238c9126555f464476201d59924b4796b450d3c76be0a237d7ec14fb0a442bcdd45a10a9b5191742db65c20e9c092217ce8bab1aa909650f31264f71774088866870fd6c6d119560622c62020a6dab88d6eeeeda803c6b31764435963363460a426e5971572e96d498e1e3be5ee6fe7ebf40fe8ab0dfbff01df73be92cfeb9d9a173b11a2d87bb97c8ccccddccbf22d1a9b741bc77068d2c008fe822ac04121b31482a2c23512aabe5811e4c5fdcefa49b5746cac694915c98dfefaec56e15df2eb3b09f6365cd93bf5bee6ef7eeeeeeee3233b7c9bbbbbbdbbbcbcc1c7443868a7a70634d4c8c1d71f1c1dbb7ed60cdb0c9980e43639789c35d9f8f9c21b6a1e5661a1f0069b92566a3450b536d483338a6236a70413b1564e66a14d1a8c0e174a4290808f286085dda91371e0f05b6e9883da9f150938702777c52607afb0886d769d925a4ce2d2c09092db2e2d0d410b7b6cdb1c1414c5a92034e790e631a46b688fba1850494844d2c6b69d0ecc670b3d80da1b96bbc55cb71f473e485c5848c07d423db19d3a15362a3a2adc98dc78b134b76c09c70111392ddb727a6d8938ffffdde2cbf68d6987c72ca6e82d2e892e72e2175ddd384e207e9aca96ed1bc6cba727489adb0db9a312818665b66c661933dab2ac4b0737737a76dd8a8af53d2b2060e999117796f4162d103755514d396665665e555c40dc9a209112332bde00924621b1e20199f2f2db7788ae90820dad5c23fde89795f0c663e8337338432bc2cf83e16463f2a5ee8ee728cf4a46eb89ab7cde6be31a62d53c743d372eb6627edb4dcbab131d3ce5e5e4bf3ef20aa880aee0b09e9a5ecc6d6770f3c6bcc58520c373bb0b91e5ef0ec810d5425f900abfa01c40b4691a3a13dd26c0923a13bdaddc05882b644ce6472306b4b47a02d333b24c94ec55e1f46009053223b1399dedde5e12a2c9c25fbed901ea720e5d95b29a7c1b167e92956603a92925f4e275c2adaf2414557a03bf604a5beb43cf6e4985f249a2cb1d54e6ce6ccffb022e2d3b2da81ec69de25fa9664b8f936b5faac54a42869a965c5f41c26ce39eaed3d7249e9f8b692a49d96c7adb7313b1870988214e150dca8e156859474ac237a1103215954426c880e403c849c28be09f9c45d2d112312244879661992ccd486c068ab7b5a200f4200840078b2f4525accb49cd11467c69935eb3f3ebdede37d1debada4e50da2cd58188f8702e94c64d10441317dd5fc581fbc0b7accc8113621b2e029e7aa9060c52891010216b6dd3bd2ccfc64947c8008484baf9935b197b4008c86de8ca2dec2ee6c302d0f4600bc400971330c404860f4d0c14b086c7bbc70f95e7298f89096c73b256bbcbbcbc3efdeddcde11a9a961b3a0d99380de55abc863cd20f69e935a46114835c52c88d262572403c20700166140753e62506d6dc7be9e21c34601f62e014c18172e2231ab33c37434dfda062e0ec8e231c5cf0001bda2011229c0145139097a814cd9f9606067302d319040000601887612487b25a7a031400071eb2908cc03ca03c1c1308825038340cc6400cc5700cc2300884210cc7522445b194030080e55eeed57ed76e34c2a18c52aeccbf9f4bcb4587594c4d829fc2d06051a7eb51cb4d051ec4439b942a909a53f4b4a53f40d918e32bf9f168c9cd7bcff284a355760d0c16301147c5e541cb50a160e4fd199279276f9065047116769790faddb0400bcb439506ee77a956a5f03e74c465f519138c9a8d71568c43b5b88c89b96157a5f2ce1b831730e83a5205926f40d4d12234d1562687ac8e0f6d26a70e5b5a223a94e3f3934bd8a4a08e0949e691a8580a9cc86f4e4d14533cabd0e7a7689b2618c1786612fd4c495a475596c12ba2136dd2274ee8164015d75f35c8b1ef3e934a8544a00a87a22eea802836a6a7397d6be705641143b74b942fefeba92b170f95784539b5465534683802173fb70559580acde08fa8225bc5860766b4862f6071617126232d0909cc15e27596a88623213dcd30f7ac36c06f9bdb4c215094fb6883cebcb068f316228933b210ffa06755852c62d9e89ae9ac07fa5c95c51b69b61a4f96f39f04a3ee765d81edb65c66bd605e884058bcdb4e28f4e5859efd28edfa8879f6efdff4ce35baf35e129bdcac16a0f1720afc7d501339d1d29ebaa632d94ead4976450d82ba3660106c7c557a84fb4fd594d1346ebc84a3d2003341dd23939e0a569c4fa843414fa35048da1c948405401f917f8498a4f656fd844321159223a3a811bc324af3b85fac564573d8bbdcead85869eb57419bb46e64c76b228f0f3f1ec3f7bfc92d5338553c359df466c0fcf63c617449d0c20c8a2e82fbc53de06e9797377ea43a97db4c60e3abf60e75fd9861899ca164e3c2eb7e17a710a598f8977ba7367148d21e2145cd0b5d6af6560fce2ccaa930c6eaaebbb0a4322a6e1de063db263a0243b7d79ea91c2b8efe14e7ea6b1cff6b99c964a512613f5302e9461f83153098c42a4c08c40bfc0bc00545e189c488c5ab2ee46f691e375fdd84763d64c62d68a99f36e00657d456a5ecf6ad83b496b4d95a91c63792549b1dee3835db143ef6e11c51df1e408fef8bfd828f35bc793e0d865442e01a01255a988f12ee2872a98e12af67bfeda90262013c9a843b1031086bfaaab850ae8bdd4836707042b5e2f8e450b2850cf489465b87024442738f26e87f2df71c7560c38f7dc9068d3b96bfa3bccfd2aca408aec81a5730a6cf37c5f8acb4537b89385c98e64078a4756866138a62102c933225a31607a8ed7b654f784182b15e0a814965414737cdc69348b55b63b1645443708b63b52323ef92f92e301cfa92bf985fbada1b02c93f44d04a90b7acd4be5a3074cebcfea7f8a82780c8150a5e2a60bbca6520700672725f6832275e610d9533fd382d5b056a57a8bad453130e0c3d8f23ac00b90df53f04c01d05aea65f6dc0195c21aa3c36bdd7087d60b5432122ef4fbaaa7252e4ecd09014c79298cb25507820991517d90a379fedc9cfc315f02677675b3348853d522df3f34873804e78cc4c5a14fea763de3f8c3c2a4794a4a42bc4ab31e21cd7938d30abe5dd31836ef8d5cae2747a985cbadc69a9bf13c66133441fb22a51fc0018202944109bd94ecf16742b1c52162d4995c28b94bfe42b0ca5354ac94e9cc8a143a22df0a27563bdfc881542782b2cda42c7e823c8994b7aa6280fbbbe551b4500c05ce0048f3197d6090ce59f60f9b3b17afe7fd2f790020887264f4d0ce5592ef1b646c022cff472dcbb9f1cd2e6471e49f6bf1eb3212eb0cb8f46d6ad96300f18537efdbb5546e0179fa89c7f096dc5084406bd57ed127c537edee8b01df8afce02bc30cc6a18ce2087eadedee971f7cdf9fce2d26a8775babd6be1fd02ea19996d909495c88850db3eced49efda8208bf1fd1098bdc07ca5dfd08517461501b39ceb988181d41a7628358294630c75bc49d4ae249153f5eec7e163accbbca3f3f0532b19167962570086789ef8df60195a8b4921dbbda94e3060282104c021ca9152c90a8716113d547d879b982a2c96002bf8993c0fab5100b161c37fa1e035f8a12438e3f12bb62d631be4afb6df1764c37c558f79ca3afb9be60e7f5d808f84ba7164f72b492dc28586bf4a4647db6a005854d9eb7beb5eaa7b5db4492a770860d8fc87c5d6ab3e43bfb6c8f7a32d4bac04c4cb5edbd2219b090d6807786762bd00ab8193cdd06435fd3be0741a00053f66a0cdc59ae10baeb5f635ee42dbc583b9b7f4bed9f8e336385aa39d56fa74e943bc9e21a1c38561a66bd6d741db1f51b1f7c4aa197a818dcf3ec2fcacc5a9a42f906d0a8d949f78773b0ece78d32d4e49dd32b710b722e72046efb1adb01a19dfeb898c24f19f63751adfc0a21196f9498bb2b2da1f920ce5f36fc4adb47d9f82720d776b434281179a4bbde388a9b78aecfef1b069194a0caf9b259fca38f1ee533c99514f253dc5b9a46edf3c675b7685ee1242b71f4154291d9869597c1cda3d723737400c60b3ac10dea5cd93c7b12fe6796105e28f09c3090a6fb0c445650c921598db21f9abd9a3f73c4b8623f382c83507d12c94e0529a9e54512d92c42084e08947c4e79eb667c207c71ab35f45050a4183f06cd1132672d3f9e919653a2b9cc550de14e2ded076347ca52e96c8bd89cc1bd5f6c5af850a86d2d5b5bd2b9e9c61485ee728e539ae866740a0535991d94c26d5fa41a665032a718e2679628060506cbef136640fb5f622d651059bb589e9c06fcaf0ac3301a504c16efccf403f31cef1b871f062f3b525b0047917128e8244be9dc6d361ac76f15fe4be001f5863feb683efad8027569341dff8c4ec95b5eec4624f8a178c1c27e5ae77ac249739d118353287cf1133e79cb5e0c599e5752e6bcef76e013ebeff2d874cdc1b49399c69a9ff76169f061f187cd260391c79ba5c57292e95884593919ca310388255c9d9343fa8ea3ab1e06cb55a4358012a7dc94ea81b5062cb4fee027b4c9b319732af1f2e10a50b6a62f38ec67c95aa0758ce963a4bb79265a8a6ca60444e3f4ff500f4611c96c85bc8014d4599baf84819a5706615d679939408a671ae3739e3320c1816d4c4e4cbd4d51ec53684d155dd09ed921ba2d5e69a18bd9c26c80bf7b66d44c854ff7a2d6558e53d2ce76eea2235a362af226b03b90600fd95b581b32641c25a5f97e839530a3ba856a6583a5f147478f78e7817745b2fc0297a64d522c8e0ced9120290e60654e37b55cb0aade4d90da59238a95e7e4f44ac6a316b34ff9062b190a203a77c77a4c588cfad401f59829550a0d4729c30ff89781be8afec5980401ed9881e7f3d6e1b2f3e2568550264bc1e6e83092950eae2b8070b060ff37d78841300f6ad7952fca904cc423ae31288503ded78a44c27c4a70702c260cb72dd374f8b5992cf37814f9e4c9a95ec68e595f1f4ec45e4efc43cd82563194570c24ed410b588edef70c2a4c033f106c272ca6a139ac97d5b71e9acfb2ded4acd03e5dc291141164ec5c655cc05c91fa2499ad6e9750fc0358b5e36525250855965444ad118b76ce3f0f14ab1fb86269b6b9762ad323a736893dc3c54b2f261a5cbf29cb9704f7976be7616908fe0fadc6347c94faabe35fe52551ca07eaa853d3c3f20620ffd57433363de6307d3727071e866318fe220c44ee2617e056fc19f3b16493697c7c910e835ebd80124ee59e947ee0192b05feaa2e5064e88cf6d4915dd1102cde70bf4246d2482dc711f12ec7185b74c797b1211f1676de8cf767bc07ad48405fb97a143fc2825f91722954c42fc8e637c248df3b0c508db573a998d921262e2f0739a1a63c31fb9c729a2e09d082e13c9353706a0f2511a86c5b94199d6e66069b1bde4bc742234ee9e99a3e591b3d1a9c62eda58c922a5f2482219e74ff28084ad479d1cb29e99fead1a3b8534b125b66600bf34959a4cc27b127e2d94316831c0f65d7c1f0ad75498fda204d558347eae22fba3e370c64a2c7666c6798be1b13bd40c2d6320ef9bd558ae24d3d38f0ae68aa0011714a3f3b8d9bd6854653097f2ca144f5f03790e2e0c8e31452842310c133001a61a1bff682a1f9750adf236fca696a44004a71caf85b526c59e71f3c757f47f13d43e8cd0036ea39ee9c6077be6b58ea58312e466684730a480881892b2ddc996ea9a5853773c2340d22f815333bfdd78d9b6db061e988f0d93e3a87784630f2d6d615bef0ca5492d4161a3371eebfadfb32a46d3a80f84692ac0d9cabf406a4a6dc878c7ad1704b5ff8422585081f07b072a7ea211261f367c582ac07dfca6629eae1a71c280df431b095ae9d2ce8d9f58dd39b0b3543c506f61eaa093568bd3e10450b789a1b1ffe603a6a0e812c316bbd545bb40fb7faa65010f2a42818a7930cf3496e1447b5115145b99dffd6de4ad09980ddedfc5db567a3a4dc10cfc6152698788efd93f3dae143ea6edf98898a3bb589108ed9ee89f507898b6e7112187eec22232a43dd1075550eab64f117384eef30173d43d63cd5050eab6cf116344f769df34d602b112857bd9f63f025febfee5054d774715f4a8edf38839aafb6cd75ab57b19e15e75ff01226d4a43916a2d4046a30c02d5413aa6b23bd192af1dec13a0fafcb9204e2701c865c75e47fe37ffbab513c2328c8b5bd7d2dc3c870021f87d53137e5547618b4e182e2dc16726b1c459c9c59005f56b0795d4ebe01523b32a20a033001ec9b7b0e3f60152ed21d7cd6b3e0aa436b26c94f09341806bae214c333711ac5f767ac74ed87052710d17764fff5a8dfd2f5379f6a27e31c7eb2d3ac62f4fc554459fb72874ab4e47369438f160b59d718b70134f2b6e335e0dfd5d7616e28bbac50fd6a153b00aabe2448f3029f7ace10c67d0db1eb634107d4d9dd7d285928d5971921fce2c124a16a653d3372c40c148326ec8e8607e2330fd0472aa9fb901aa2d62c819fe990c556cc1eb39b7b327d67bf4ca79291299e830892eeb8ca9195bbbf9ff9e1c72c048af9d7bf1231d84ed3d5e980c9b54fabad1128af98fab90b36f4030d93d88d930ef6e40b561ab352e72d0554c2b8136287bd6f8f7ca2c2cd17b8fee1079a3d203c506106ae76229f55540b464ed7be7fadfc28cd1f99e7849134ffd6e16b1da7188400a106a5a82b2f07c732e0dda47422464e92165da46af0274b1ae33b5b0ec6a911c84cdf72042b1322c8b3e75ca68917b71bd074dd4d4c826d890fa189f8eab98f89e8c690f39c48815adf871276931af9ca047413ba80deed3085277bb0670a260bb889d5038147cca5cc4748f8689dcbeeaa2916676d019458135f61d964260b678a2c49b4d5d3b33998f7205353e7831e3b730d1f4d51babb4524b503cddf339bb0b2a6404d199d732b746fb7237eabb232d08a00b191870411d39d26c0ee080df8493ba9548c8ab28330f2a5504caf128bce374cfe7582ab402fe1080bb73b897b1b9e743c96bd819b473dcef957ecf870161825d945684e1c1ecec6290e3f2c38e897b4b11e89e8f645470f8468362359e8f56119068d44d2aa8bbf676c281618f26aea83568a4344556ab8c317bd125fdcf60aa93a866db65c4d4cb26edf07c6afd60b4c477562fcd82f0aa79392c30a5df24db8e1aba0f32f670cbb0c45052a4156372583eda5d592051036d1b7ba85f5d3a0c5f4f3d94f49f508f6414150c008fa3bda39711bcd94eca673e58e9b54b035a2d446125ba8172e852e2145b84b43a781be61de47aca2bcdcd6b18e7d348aef66ee710e8b26813bf4a52112129070256caf0566e259e1e165b08a24443846f118035d2eba63876e39ed3bc0394cba919065565b5420c9d31417382aae82d1d89d9577aaf3fc6f886d7309782c46d21bfb5cb7a554cb4b0ebb2ccb905579873910a2a6cb7407ac68109532f28233c5451cce524ed25e6c4c47e0bb70a80527f2381c07975008a2360dca7fb37d36b4fcfa0bd7ec1f47b29971395de78f39d46a20c9e14a643b4c79b1a37fe12937b939042ba830bf92f2ef13f3c5cf094f00e6685451742e0df45536c530210288f1e84b0c07880ab021033470efb29c1cce3f0f3bd2e68cb800103476e752ce6a872e74c2421170a21d90e6c577cf079b6c099a0e82e820a4ae1f95fece07872c505e404a5c2fb2f4e830672dfe33c475f3bd2501764b41ba7b9ff7dac98e6084658a5f742850e2a3fe644534cab31de0ec2f84032d615ce920a6105a665da0b470d534f3d266793c979b61065c14a089e8dff750c1f1f8312133e047c6fee39b08dd54c9a059d5a207bfd32945f2043a28024ad98b02e83025cc90ed2b47da6807bdee51db83eec9e08b96419c1625e0541d01fc95bd5a381eb18a315a5285e6e4556805e71f3f80056eb8eec88e22c38e34c14ec3f6b4a29e698791bbc19334c61a35d9c7351e219020db984a50ffabf34c97c6978b8276fb8bd8222e58f1d8602640c0dc691ffeb079d7014aa51113ccd068cdc09e3a8e282e3934eabb6d8d9d01ce366b4ac521d901c6d3bbcd8f41a89cd4050acf58c5410b6f1b979996679cd28e8174a0c98f513b7e98c0dce02177e23cdc6c6fe9c0b3742f397ca13a22c6b28122837a108b136ed4a430fcd7fa14d3406c4120a348da9ffca290a91681ed09319c46cae8c522c1540c4cedd2c793c6c7fac90b83eb341649cc87621ce169fa14cece08e0cdf81758b75b0552562eb6972f7057d3ba8ba056285a53ce9d5db918d89470a4e56f0d1cb422711370be8ecf1f7bcc11800fd5382a8011fd1cb600d4973e83df218d6e1748946428d2579425341ef1623a84604a3d037dba57e21636ef24eb21a6681e20e0c1c5160336b2b6e2819ff145860594e5a603e65fce00d64dafc62e35fd512376c9a5c112195388a8d589eb9986da38f8ace45e13bb03ed21b08b53b470a16d1b4e6c4031e115bfff15e14a36a8b7c821cbac6280466db8225e678d6967761b512d50c32a1ee5e92650f035a47ed4fa78d738cf027457a342b914441252eacf69bc090d8d6871691b88347abd3ad68a4df106a21c3afdebccf81b8d68ca563c6fcf306678a6852da6e4e434113651f0c988e698c63bf0fefbdd113f42b570dfe47aaef1cbdc73385e0241eafd368a452e159c6b2a737b650a73fd75b459d849a5a2ba26539ee45678624d2a8cb025417f5cea31613ceb7d79408988af3c2291d8743f9b8f007a82a5ad09d63e8b7d4969df49ee759ec97f8c860894484ce2aa380a7f7f2ac9f83721552ef4d10d70d22bef77f7445ecdbc3497d8cc26001b666f8d45dd3fab2d6f426f59cbb4e2fc2d4e33ac323adcbb6a85c199798dc31bd80939f603e9fee3b60b37f61cdd2afc73830f3451da898826b0767776d4652c0c9a0ba88e6c56923be159e8556173c29c45e75b40f087f8e57f1a24b74f340d8232b1906517420d0359bd45e9f0c1e943b5fc6e95f4be5005033a977d10cbd45768b4410f821d591f124e1513c0fb1468bd03323ba4078d95c6830f6b5a95a85f00e820db51d3429773b8d977d8eba00315a83d8b14f1072bea9ac019667ccd9236f14dfaed53fba5ade4917d9074bdf44f2b92d0a9bb03612ea05104a09c2046189aa77864e62ab604317c296d1ea47e1ef228502a73777f5f11422359d53d102b43f77c3461d8f58a796dd6abb893ad846e16c2f01d39455b0b5651ab08ef700d975f117dc33104c4087a7885c34e4f16a44bfea2c63f49ca0c9917b6fffddd7c8e9623edf20c0f45eaa9572ad36bc4133bcb273c8eea58ff46f37060a6f0dd8304e615942e937707fee3abce59a32b90273a8ac0777e7bde758d65fd0c3242ead0f25d2fb3a264c32a890ce97b0f88199233215ba215192829814b31988d420868d1cfa400b6bbcc15640b9ba8c54ce30e3cfedb64d0b8d990896320f0a7c18a2aad4c226527fc718f5ab0469f0c5ea8e92c0c4c24237161940088826d97c5b41250cca92c47dd7a73584252a0e3eb5cc5205d016f462515e000495998e3fac47fe93ff68537fc1952e11e94992cbcb3302bceb70162bd92adcd9a380bcb98faa2fc0595429caee8ae013e30c816c8457b2a8c0847a80635a89d71f480cfffffe53953144db18593c16e68d1e1a7aa1c0fefa95e353e11c25a35f895f905f7f18d1fcbd44dd9435cb8f74f8831ca78bc00bba1f1fa704523ea2aebc5345fc41bcc112f1ef4d312ae21e3d11a53a02a127a9e1c3fa9f0476011b84a85bedf31cc874a43abd07e2eb7fa8cb4c31ea278b7efe61431d66e1713e1e3df3d304d4598456d38b84651000316a026601a8fbaabe6b4a307953cfeec7bbbf003ff8d385d3d1b4fe94b0d1ffc1390530db9e2e3c1dbffb5b32720c48ea324d80030d9fb8c2a7fbb1fff71c5217eca4400d83e1f254071a1d5b02489d2ff3cc1c232e5497733daee189ba89e49a1a9230a80e61a751fccddb31e0990875c00cba3dde7e5a9d193ff9286bea2ee2153362fcac2e717a2c832e7518bbc78944bf55c76e13e07eca0d16f8e72c755092ba1cef495527861bbe24485dc18a6e7bc2e9f18f02d549729e046f091d7fea4f9d97672982e8bdab0b119c1d9d4fdd46641d11b65d5d7755acfa950e14c09f3d756563668d2159578799d768ffd33902869ba72e3c87959171eaea8c94c910dea9b396a26f5f703d96233a75a99ca6e01d00e2a2c0a9b309535fa8811ffacfdc4f609edcd48513e932e4cb5b1d6950d7fd645f1360139bba4f9945fb93d4f124aaa9f33313a2188e6d7520801851d2d4edc4a8116198d57565c006c8981f817f9aa90352d4aa293191dd90aa4eb5f639209218eb5a7a600160e25fc07fa7ea04f3f3acb77f012255acebbabf4f0007e3147856517526a0af5abc5f799d18a3adff89630fe0a16cdd67b1edfe8583fb05600c47c0f056ebc2f3b2f243791e1a6062df01da756aebde69d9bcaf2643ae9304df18e23e3c0406c434ec3a9527f85fb3f3fbee55705115c0a30892cec8488950ea61032982eb3c555ad7b1e87218192dac0a5fb7350d4647af81b4116dafdb3d0f3b702d172da9d705f4ae5228ae3bad752dc1cb63b50d7b34066715cdcc9819880912d3bd44d7ac90e826ca48a957915d0ee36d37fe92b8db66ae2fc75d28fd5b87c582a9dbfb6b0c5d5dec874f6174fb05ba1484972409258aac0cdd64b2daec17ffb4a0414f416dcc8374219d745a50b948330d4f849aff27f646e87bb093ed777e55666ac453536a422748d4223ab59e66664236cdd9445e5a8909a0b4b9270ed2c4c5192dadb7906f4d9ba57da1f930914b86671c45dbeeec29a844a84ebc5a62bcb509705809c05fff9bcb91c9db1e3b9acea1b921741beac963c61876b3cbe97a1106dc50c6558b54a388f49302e6a0ecbad0111156271d22ddb045af5f9d1f0aecc7ec754ed4d56eece9ffd867d5448ed8603a16d740b12241a3faa46dd0c6ea71468e54935f3007e3a4ef7faa79ad73bb16d6582886e184c66417f164adf380967f1925b550e1bad6d7f657832ba594bb946a5f688ce9226906bb88876b990f68ddeb33dcdbdda142dcb2d7f9a347e45090414eed78fb61ce74f59ce1250612197c06a453b4f5a0e58ed299dc037cd8cde0b18530d0cd3a3264220ac3c4778572c91eaf01a3355719cf9fd8c38b4a238e98f24f2d29cda06fe8fda362e1a552d144cda0227ff6d608136c2872730b18f1e3faf8982f687b3c4000af1ec37cc7b0a243c3e29bbd418f1863964a613ecfa207854c94e4dc6d17b29e227836f9489d1b02bf0de5e7322eda42c76e4dc83201bf8937a4eb1b3f560c2e910c31a393fbf53bed8a0109f14ac8b2807ed49aee6e4382231b001fd06bf262120b18aa5c24d39a8d6df7636b14f284b3ee10fe2c36046ef4326e56481d694644140d520ae68d188c7b088385c18dd98f0360964c18cbb8c4f43f63378f6f96654f401607e880b62df7957601a7b0e8722300991274cb022a328de12134eeaa69ab09f93a7eb5d9f33848870a5a37b470d7c7a0f3af81c04830250bd643b225881f0e9f5566286625323df0503202c98e11765abf65d947bc49accef25a18dc97d77ccd89f00c684cf227a4066cac39ab1645d3b0b9b328e2e57b5615d0c0910f7b2086be8c6fcf1f6d3959efc750e96003ab07f946a760b3c679aeaf9eee4e6385d459441423f44bcd1bd49ece9de79916c87ab14a58f7a9964b8db833bb60a47e159f57e6e708a7e4ceacef162905b20fb3551688d4614744940102415624880fd937867764ea36054b4abbf9e520b2047a120551f5210134763ce63eacf7d1193bd6a1523650d9fa10ef02829ec8ea8c0e75e94c2ce9f6584c32f9d45e3209d91f3d89d267bfd3be115b808fb19404ab9f69f77070d825a51427a9bdb22550523f5a1561315a991042e0e7c100e1c821096f4b9322088c69580ffd9477766f3e09c921315a6002980390ba7fe2e8f9acad3aee6b762fd8ce6a7f5cb6d3bd32fb168db7f749b96732c908b13575317d55c48c4c61dd90b05f67d62806c944e3a66c5d1b34f61a65238c87383db579842e6e5e5c0039c358ccab1f52be8197a81b2c442b8ca9d96842059c7a82cd07f0dffc72706aee5019c2a81df672b217cd0390df5c687d03f2861db9ee5da56d0dd1f8921d20191e0a935d022c76c0728a748e0d550e967b87dd10856afcf41d7432b4f96e263e9e3fbaac6734b7a3e23522d4ee35c1e2211a12caa1e57ac0d14849812e52fca749032c435726840c9ad88e9e743377141d3a11f68965ff50793d529c7ba48dbcefac102e23ab1cd11da07e6ebdfeed4c0ecd1dc1426b7e08b23993703b6a40840c52369403714dd044159de1418bb7a70d39c7018da11451d05430920ab2667df1c14f38173853116442f9c268ed990d2618faf87bfa426807453942fa33018f525d021c2f3d739491ca1be9c8a5f5fbcc96eca4e771e701718484057e2185101058301c59493a094592f06bb695bf9aef9ec2e4b8200157cab79cda72d5aa5fc7ad6d09f8cc0328505cd75e0c1800002600185439dffe0a9ed0c30b2563ca21bfc261e7feaf7b69d8fb53473737bb5b238410b209d964cbbd03f40f8f0f4910d9a66d4013abb83d672d86e44455f18c21614da8a0dbd56e778e935e0e0835fba3babccdda4a86965bae69f407467db3d9cd177e80ec086db6e7074068b35d83186579fcc0d98679489c1d7a3d991119e75aec03784068436f24c85b338cccb8d9906cc9886445244d3f80473624239a29f4d9896a94665b44c25c66698f2ccb2eb3fbb39d6269daaeb21090788543628dde87c4f4669309a73628fd7330c5f49c0d9d9e216956c6844ca6b8040450d4a24c89d40172091d5922b322f564126a569e46b81bc39e97f310713dbd3d1e3da6f330bb948d58c32c1448614add0bdab09ca75952dc6c01bc9262b953a9bf4ef5e19d4e60ac111937990ef31926d361665c0d60ad19e7a4f47a8cc83817bd1ca7c3bcbd1e18989f60ae911937c85b326e36a4693a1b32dd87c42693a9c7a98948d9086d6098183ababaf656ce5d9dc9fa30c13cc21730bf7ecc9573b3336530d9cab354ea2bfd9385d006e697d763fa8b35b2c271facb653c09903cfde5fa90d8888cab01ac2583cbbc1e97472f47fdcbcd326c1297478f0754121212c22e2e87f971b9e9ed7298afa4a1ba1ce2fa94d7536fac2e872d170b71b51143cfe53e2e37db809847864ff721f1e9a673a7d3638436ddf1c6e9f63845f822fbf503fbe8a9d4ac3cb305b0e77361d3294a53ad9787c4271893769eceae11192cedeed05febc8b8d891d55f6ccb5dacea272b6fb2a8c358fa14b67d1acd25cdd22eb604869abb084b79a7a474d17679bab3f906a7dcee3cb2bec5be5c655d2eede9286b3ab530e7912abaedc22a6cc41852b32cb519d4c986de5e8f4db9f46637a7a5a77da1e66c281ba2cf19114cd6b03ea295f4e7e1ceb2a17e3664c5a475201346fd8c4815a0e0ce8a70674b7067da8621e9ee2259b483f5300fb4d1ba50352e5495632badddac5ce369ac09d3331976c633a2e65036eb3427158502a2c6612b7a40d0f80ca00e6addbed1b49bb767edf56c589066352a055baad8653375cf6ed6c1aeb2cb78508bd3b450e7bc5dd45fdf6475e8d0dd46a2bf3eb6d4ff4f6f232961eedb6da838cca3b7ddd44b5d55d83a3c92a65f5d5cb68d47b5da6edfc2c1d814cf1427d95b15a8a7d0b250514f71030af514294759886564a0a6615740e430840ecfe101b0b0c5793a9cec85371b7136d4d90b6bf4a66fd6f4201c116fa8ec281cdae99623de52debd9f35c4dd7657384cdfbe417cb2db35faecd9d016eaf6218db70ba3ced32929df30af2705023718758e9342315883f941155424b5548d3a2286a812d63e4411d6be35c92948b8d332bba3c35bca373b0fbdedf2c870ee6efe01a3ee8e1b4c532c86747598c584fac38260492d77b9f906bb9cd3c1f21c0bd2dbb66ddba67aea9cca6241521613523d6342b8819ca7575df67e46a4592fefad5297d773997d39b76dcfb26c6846caf325e3a719cf37349e3ffcfc003cab5acf55003b5c9bdf61bb00b6b7b607603bde4e63c67619dbb9148b8210c29a1d06752f68b39da753ec8583307d9627debe793d5d35752f9bbdfa73b9667ab9f6722e762fe7699e5e59e8e9e049f2e2f2a0560e5fb96a076b375f070b5bd5e68a73369477dce8c072e793153bb52b54ed7962481e0eed47bbabeddae521e22fcb86f227752a6a7bcaf6acc2346bf7318fb22936674580346bbe8f05c162dd522b3478420df0fc9c53071d2ee33274f07c0260614b071d30150b811bfc835ddbbaeedd0da5b5aa547fd1d7459a156acc869a857a3f1b9211352b657b8dc19bcef64cfbdb9e62b79b1d3b8facf6644db6c3391b9a4e76dc0051e3330e3d2072b88cf3740d4bad6a86a5716ebb32ec5de990f1199f717fc878500e78d36ca6c70e3d9f1bac9da773b0dc8fed0a4810c30a5a44b034594109ba1b8c1d3b0d0b5b3278cc192923323e95a48e8c4be1d605e974a48211ce2455f29cb4d0e61b0c638c9107431e2fde954f7c761bf15ed7f6d3e9f1119ebebd8f1dcaa959dadf7f80f2e6089cec335cc2f0347e621abd77f3ba5ff9a65ad834f0dc9477e5234f6f43de547f0dbd1ecfc6f6edf2ed5db5bf8ae1f6c379bdff0c7ec2fc9bfe2095010763b25604cb7330c5a3d7637a8a4f0bbd2a535958547a540ad0ad19951028303c50eb50221d4d9b54274ea8986453bb3aba6cf6c4421d9e7369edc249442a15d11211a5548b3043581e624a844007548b59c0123b2269ad2ad5ff7d37372e36752cc5dbde5f32d7accaa74d7966594e89a44e10424417224caa324d6a9906e8d6cc6d9ec6da50a34e13d1a46b48b3b64bef2f92e29b8bc8a782020a96d7892658d626e495f50824827022c492b8547f95a19ab3dba31e331c1430e94296a1503087ad831dc1de356bf58cc53d166fb1f906b79ca376059f28cd1954750875bee35063f34cf19c2eac0ca4c96e6383b3d7c4c0d971b0d95b140167a75102cefe3da10a96d2acfd25a3366b0fc22e5f5d9b38bb74c15cb21697d56a755b5658d85f0b76a4e52d57d1f2986ef90d6f390baba5b896bacac6582ef5148f5914514481059cf190e2fddb0b2b1142eac4242225492a55ad49518888669545fd497944ca42e00667f727c5fb5189d4e9274b4aa22891df6c5bdb446ca3641f45913a7d44d2c82ba9922a5292511425318a3cd7f63ac7cd9bb36b10b8c1f907fc933d7b8ae71f303d4fe71b2d4596e9dd71835f9ea26d8a734d56d00a484caa70a4096933f3829839f480f8aefab53f2ebfb771b942ecc05904828ec0d9a7139c65bea3a1dcdb5070bc4ccc5c628c1dade672ef7235e94fe6ba74c4aad97dd6e6b273b9e7609de7549d792c7e2d54b13faaab9c53d91f7a956b30cb90b0ca2510a45dee65e589faa3ba7696cce55cbb642a4be9ca473bbd0ded946259dec1721eb4ab5c65e37577b0501c3fd9a767234681af950fbd761b34bb0f0c3b8fa4d346ac9aff2ccde542933cfacc6bb19712459e060287c3161035a7b9df835a3c72261ed36cb6104f0e5351c19f852dae3bfa59d88af6c22d1662a8b21776b1179e7376d7357bd16bf3d78c7741793d2e5573d1543415177be1399f59ed945e18f274844554425055ce22731e9983f0743947573429462dcb28173bc88409117c5da32b8082e33f4bf3195b83611a7625cd49c52006040eafb935af811e102d4e73339bdb09bd79c7945e8e8be3baceeba19af68b52ada134c142fd6900f66388b1f7a549b525a65bde36b7bce96dc9e1e5886fed548b2d31f2c8ccf629517f78c6c216fdb41402f5a76d2f87cbb54b2f878ba654e75d721fa8b18b4bf658574242424213a871f6cec311a388228a287ab5c2713d7b0631176321be704b8ccf752c461abf3ab78af417fe815b8e5dacc5023576c1ced371b5bae7f5ac789857f6a6173bc42a9be96d5a0404f55ee699120151f31677089bd79c8585d8e5c2f45449bafca24949d916aa4b7479d657cb9e3d5e3af527bbcca5d77341af6736124308b9a6957916842fbb630821f8be6dd62e732e7a0798390e879e8eefae74d87cb7b9446c45e8000a49ad242a0f6ad5ace85b1cb6386e0821784259e99881ad9907b53ebbd2f19de634f707cdbf07b5381afba3cb401334a8a145048b1172d0a4053b46f61c048d8d4464902408422d1e39adf6cce6768265befbfb1abb0262e6dfbf3bc4f7992b8d248d3c6c510b04cd5bdc21664e73e591a491958b1d4b855ecf0f9448d2485ac4082c7fad3c0b122c9f5284e5558ec0f2299450248cb0fc774491b0bcca072a1dc2f2990e71c268698942390204c9902044cdcab208136996f7ee923b2a48b3362143a94a57f4f2d0b8b194c1f2da90d64959a24e8ab0cc9a109670c90794e028de920f5401674d087d42a16079aa4d5881f4111b609ad4ac36e0ec4623ea90a166654e322095e32c3d178f5021932650e0eb0814ac0472e7a06723df602168a6df73a57956b5380e1307dbc2d2d8cfced84fef11c0da69c49acdd0087b871ca722a4ce9b238f9c41d1f369cc55159826fd695adcb1a1e6d4b24ccbb22cbb791e751e394dde8df76977dc60ae36119e4ee18cd36ca6b15b5e198436d977a49a487fb23b6aa2c4878839d8f533ee7dfb88bbbae8e188f886a7b037dca0e229ee6fccafe23cfdb2f244bd3e5db8d85d36fbb4f45c77d3d2179ad18c6634a3f397cdde7666e7a277e3baa9183d1bfdfee5627375c15a05a372c1e2ccfe62f3d543ccfb306bcfeeca132adc332538fb8a230de1084ef189c3e5da2fcdba1c7a38689665d9a71d4050f380793ed8af96cbfcb2da75573ed759dcc675af07614e46af4775e8ad0ee54b1fb32bcbc276d73395b9b962ad45755dde0def46c4318f366b77b92b4f54edeeb851b9f472c43cbb3f31effbb3e2d92fbbe3066777c70d8eb9577ff774c5bdb787837bf6e8f9acb8b0bf0bf3ece6dfc31c7a39527cf2b48a1433cb523c7a3e64ed53c5cd43649e8ff421bb76e9cd3007924012df0093e254a95929e4fc75984b932c55fa40cd9e6912964dfa93cf2e55ea8fc5e6883d9f0d6bcfec0f3982548454ede6283d9fec7d1e396d4e3dd32cd6380754883484ebb006cf6735df1713733c61700683a7ea66958b55a570d6320f3bcbaacac2fe5c6e0a4f17ef1846ef9d47b23cb2e0e0de879e0fcb3b1ec354b781dd18958bf696b7e7a3bde55f6998fd54b6a6e56acfdf8bf6a369b6ff030f0458d970b939edf5b8fcc6cb5be257979e4ffcead173b9b979b9b9e2abec4e0efdc9d58dcf3b2dd9e511ceb2cfc6d1662c16622d7a376010ce5a6e23bb3b3c0847af272300c4abbf3c7a365c7c5c8e3d7ad9a1a73a4f7ff22b9ba11175d1e2cd44a8ec8dfee45b6c0f4d6ac68e647854214df63a2fe635c4cd42c452fe017ba749922a65cd6137d847c4dc310f478b27d0e0092b98fb5c6ad68c223121a9f35d1e0b2275682e8f0d499d1697c788e45f56d2505b0843dcc2ca274d234f63a552d3c87f5626350d52d3c86b55904b5247069134f252caa312c8222c2f91344b46d1b650573fe8e82f06f2129ad9cd2a9c69b787f68921914b125e0d3bd29f2cea181309153b228dcc7c5a208ae7391944ea4832a421c805882e0e049141a40e6c49222c97a08dc48e2891b1c891ecd891ec320bb2d39af9b43d2eedbae885d40496d81179514d221511d1249a8421694a24919a95f22330247c9038c51a09a26acd3cb3401567d811226a85f8c9d32944d676796a053843bb3cbd02d499b9bc864833400905dac84f2bd9005fc89fec257401b982d84b487ff29cbd86a2d0324d9bad44088856d0084290091586b0bc86b09c454c940004e78b084b23253ce0032984e52504cb6b99e74393a4ce4d0f522084071e582289a5edcaa5fe646e22dbd1498c51d3b4db80587b109e36532156d650994c410973dd512b25c66eec407cd142b21092081a14d33eced04f9cf0000efa0914acd0440a2e2af08005a9a415a08006e0095d2882280db3460a890b4b5a0e9712b8c08416402146eac806302802135c08410b240092d8821ae68b2b085a3881579352b2852118c1dd90832d108101124e295237308311cd05891325417851a566e004c811b445065ad8420b264b0a064b104172ad14d1820d54406156a08510b440055a2a05632892a9a44e900526b080a2866421072da02929116481042da82068831294f380158a8021db822c51029a924560e18812348166f0ca0016586082ec4ac90b604188053c40bdb041090a34b001bdd6a0d4831618c9240c91a6dff5e6a8042ec17473cc018647ddcd9106d068bb39be0037bd39a6e006bb398ee0ba3976801ea94acdaa2a24a8b0bf04b44e7cd23410ab010792c8420b418982e13374023e7738c7a5e904ae0710c57d2e12a9997eb0478681285ef120313cc41eb4898de185d0060c151a00b63270d26410574bbb3f8868d16e1be18bf8f678687c3929b14b20dcd14bbba383f9a04d3c4faba8a0e60bc314d4eb9a5d5b1f14f3c8a26883109657050575f6072fb10b9358470c5a530ec27d13040ed61e08312c66dd58362db431c2201876bc132c3ac1e2af6b09c3302fcb302ccbb066f5b838da3ab148c46c0f8ae7313b852214265c20d42fb88b40819b031c3c8cc95108370786e028146584f6eaa04dc00ade010461f82190c0c3561278a1c7e33c2a96020dc2d8b41908cf8c3ed24bcefeb43b3adcb1ca0b3e81064fa801de71ba0017551dee944b55c119462012111840234ed2c61b1777d91ea00dfcb4311e5a1e19967fb1409d66c0f96f168f887df4c49b7d48cc2346c1f2ce89f1c870bc193ebb94c00010ac82814cc8c00856f517a5945262d7258f18458f0fd2f6006dfa18119c3150cd87011196d787c4170c82e0bc23bf036740a00a997841140c99780114ccd3830f92a766788431f1822670bf874e0066dfacbc833b43236961589009a224dcdfa1592ab81fb3d3cfa173705f450437ee9c5ae190c78edd9febf202c9a005b8df21e1febc784036b495f8a29dd7235bc6ab2fd9f15a79a2cfcd18f125e12364c9776cafe79a978d3048463905ca453b650e2ac2587f97d1cdce77f34f054d50a83d1522cdab21523be1608c4a5b8e0100091897322e7b909a35a389a466ed5cbe9b344b87cba788f1a49d6816cea590a491349e29a692a65db48dc4a15bc0ce3b3ccf37f8f96b0980fbb81c38c97515779de79d36eb86cb0098605f26d5ea747251d598432628d4f97ed29f85ac9b8330ebd16648840c898073767896c1c3330c1bcf34379eadcf00703c6b181e429d1e9e23bc39e731de838d90261e8785906600f686c5f13668703c0f3070fc0e3270d4398f64599c18e762d85875cec52e86f539290d01033a76eae0e0e0389143526716491af99bbbb899beb8cdcdd5c56bee44923452eacc251c6ea62d6eae34320701dcac5a79ebe6e39b3f9e9b6fb0cccd3bd790d4c18a8aa40e867421491d6c89c5cdaa9915452b7e8bee6dd16fa62a028084e575b0296c363487a44e5624240f73b36a7573bd2e37ab5437d71a7708e77033c534aefc0cbbf244dd39dcf9e5f51084770ebd9e9d1b710c1b31b45c8f05b2c335f0d60e3749fccbca1332ce5d5e8f8c29a397c88077c6b83908c7788ecd15e7ec3c5facdc61d65937e71c00df39eb3b87969b5ecf0ee6f51084776c843aace8f190739cf3c81816c6732cc4120700300e3d1c3b8f0303068c3b49508be6e5fccdcdf4c5cd75de451192d4894ee66d6ea6f33537d7791c6e56c9cf25a9138d986f71339da7b9b9cef995f9d4bcca3c2a02a1f32c6eaef332b708cbf9989b552b6eaef3f7ca292fe70d319d15499d6b3e859c8791f32ba972b9b9ce1bdf62e17924ecafd8fc2fdfa0e652eea51e173ed95ce3d9cee628c4891682e5a9a514ebded15070b41292227053dc2a0d6c42b86f70bb9846549a43afc7c80c15afc915c39cfa608c0ecf3b187ed34055c1c09ce32a8c3d9d4e8f4559a6edb8ce23ab6d0cf3d3899a382e665734692f475997d327cc49751597f64726076199bfb85c0c8a0c0b4bb43a776ee52bbbf2161b3156d4ac9537f755ea373c5f38450aeeb4bdb3f257073d1c2d2df2dd5d6defeef2edaad7bf6cd74775975fd7e9244f273a8410996fdb59569df45eced1aeb3b2dbbaceca43cfa7fe9443fb2abb3eda95269329cb3217978ce362a6cdb96535dda9dd8e793d2fcfbc1e52cf9e7937224ebd6a9767714eeb4eb665eb4eb6a5daacbde5ae3c51591c7a3952dfee4fead9fd61f9d6a5ae64b98ab78743e62c17da6f297ec3bdfa4b716fb9d5ea1cd66d2beee621b8ace35676b572ed791a83d29fd713df6257875e8ec6abf33456d4acd5fdf6cd9e6bb158d1919667ec0892fe5ae6578e0dc3bc25cc5faeb4f52f4308c1f5f1e5aaf3c817db1846be2ee17ce19a63ce6d331d7adb662acab22cb3a620bc99b486d25ffdb4f5f234e6f9605df472f820f34bc33032bfbaa36e8e3925e5dc766fde9e727a1e89b210a75cb739b5794743e9ac8f886130cc8d1e0e995fd77d1ac6fec45f9ba546946edab6694533cbe6cce6cca80a7b3dc6eb63c445dadb3627a593d2e9c2410854c804a908b36098c40eb6803b1b654a4aca6dd0a76829360781b37ae8695acd6caec128978b2dd9d337d355716a551c83d25f6f385ed846c5b123584716d32849089639dc7c442c73e8e19846491ec032bf3c9f152c737f4eafe74ef6c7a4dd6dcbb62ddbb6ed877b36dd7e53f1ae3bbd3b9d5250289374912e2814cc5129b7bb8a9f6cc4f0642356614ab14a38a75c5e0f0a077d761bf4d983f00fbc7587de36811a775701f1454a4a8a7d39b57dba10830263b1a5feece9c716517336d4c2326d0aed28ec2fceed66d5a27e529e3a4f6fef6ca63968cabc10c8f1c9c15b6c0c4a55bdbcb32f37d98833a2faee3a7df57c61d931754d3b4cf7cdc7f4cdcba13d4b397df6943b6fb239e52d975e0fa7a32ebd1b119f4eefca1375c361bae6c3fc7657a86f2bd453be425d1f21b0769ae594af1c7a376e98b6d3e9fd391d757f60ae0149acfdfac491baf6e8f9c0b85cbb19deab3f795daacd44783e9bd5b64e957d9bddbdfaab370fc1d16ef37a543775dacd2e9e37bb1c6e2fddbb6744db2fd35dce996c46e462b32193e93c3daf22823936d551360bd1a30292a4bb06de92f1d3b953f74dbb29dd6b7fda532cead4d65f1d43fba96b517dfaa86e0e029278c391c299fc0f90c4f230d72ec3e6eb2d8db3d4e7fcd6dddcb8fb8b86538e421db68e8c9fb2f696a75c86854d9372337dcbf52e023c442caf8f88b37740126fd9fdd970a47c3688ebb9d8659aa5cf6c8af5a19bbdbacc4e942a9f9ee2289b89c0f3c2dcdcf2534b0ec2d3aa5277b1174e61b30370cb576c1602b75c2d538c82813afad021bcdddc03fea179f6d485400ece3d609a215d059f542238659ee641395487036fc1a6a1799683536eee01d3bb2307b3ecc8c12cc780e452a5319952ec4d57b1a5a46cd6a6a4d02ee51d3d9d4ea75a6b8d1d0a85727181f9b41b909ad21dc66a42f5f46edbf0b66d5c67b99bacf658b5ad6e56c54dd65a88bb9b6cf7f67844ac82367d5352ad37614bd811ec880a85422135abbb73765d976559966da72d086f16e2cebe6c406abdf9c56a42fdb50604674d888604f75dc9c3968c6b48cd8246b8bbaf268e4879be200deaf95ab2843334ba8aa8a8c184549bd086a459d0e866eee02deb239aa62f6d1765a06ecf8a6c5b1c5a820420c89e0d65db370c54edaeb243ac3d674346312fa26937abaaf66c48db6ea617a89b503dd25fcf22d30c15ce2210ab84a07e6ff19c0d459ecfe2e4fcb3b085bd300edba66ddacd33c8d3dbfd67717e63eddbe3d173c37988d8cea3b9c4a8859d38d869447f37875e4fce799a4bb91922e1142ea6a46829299741c23f299749a5e0ce43c4a947cf86cc53bec242ccb21991fe32a26c08d210dc90099210ac135b0de79166e1dc1c31ceb71dbcdd60d4a693e2feed02c0ce22383c30ba9b6b0d0e2d9eb321ede61d9de31c007716c1b1f308ce8de8af8f930d3d5173ccbb68e84ff50edeb9c13b1fde39dea9d9b1d961b183198136fdc8062120179250c42c28713e91db9d4abd06a32528e9f98414daae614830ae01c190641a96940005d2b5b421d96caabfb9926d2862c24452a66d46daa85931de510cb8df48f49266359ed827c6fff67a7844dcc3e7677dc531a166fdfd082bcb8b95f310310b0f36abfe7297cef668f9e9d4f68079772e9b402b88e9ccb88c6673ced39be6ccb299418fa2b2a36efa7697e76c88871078beb33c84c0f45cb66519ca9451fb93f540a1eaebfd319de2d3797a830192b8be870f1e310acc63035af9e0797fae0f8ab78bb5c3eddba622cbb62d536173108fcc880de222fd7546c4078f0c67258036fd2b239a29f3db0f6379cc39b7b9d91edb56ebc9ae7c8ee78fe7f521316db93c321f126f376bb7ded5f1767d48dc3d7aabdbc387627a9f95bf5896bb4880deb9e4f885c592facb865860b034d1df0db73741a1724f3d6348d7928f9ed4536ce649f959d8340e37bfc5cd1fcdcd37dfcd3b389592f21496f697f2db4ea6d89bafb011e3588859ec581ddbe39ada9c598ca2a48424dc5911dc1912dc9f9996626f8eb35dc6e61d37931e81fb791add87c43714691600de9f461c01c03900d85835a0dee20e88843b2ee8000500b017be96302331312ccfd2cda1bff81b7bd35f7c8ee5b432d49c0d75db67ae695ad75d2343fd6940d77de6d7deb8341bca8a1cc190f4119009234eb04eb73a330277141acee801c423c3da234eb97902126b37a3aedd1e7a3e681894250ca959dab7cf9cb0251f12dff01bee0e401277f6da1b9db53c5ea8d9ade92fa6d81cb176b76d2707989b1cd557937a4c55c17435ebb26cba38c5dd79faa2dbc623e9373b73e8b9b03c64145164d95ecfccb9191beb36135d4420895d3c7a38a08b0b772e6e46940da163a839fdf56ffaebd7151388d08a15315f11f3cd5e506262b4a965da14d262620ea5bf9e4252671699c98470df6f87f087e52bcfd97f9e4ef12c9bcf343b6fa669dab54c9bd97c8a9969dabcf6ecaa6c4e2da33de68124eef9995ff98f768a57b4b3ac7c7e429c692b547bcb3994ca848452a950a72a130a49a909ba4ad9954a854a8806d582de0bdad09ca7695adc6c018c7ad35c14ea624054d0a3283d4aa53a0a85ba0aa5a2f41913a254754c4865524129bd3d5026d3312115e7664733938a6757717310ca446f5157a15057ad52abab5437a7be4aa59ebae92775fa367d250d35854a41bc4aa550a8d37328541381b3f70dd4ed81ba328a4261421945a954978734d1db9850b3e63522236b91b9b5373c657f954d719365b90abb729a5dbb96691afeb3cfd36bb388d4c1b78b68dcef66d58c3b7373bd2ceeaab57791a63dd356d7c05b49e861d52c84a89b4d5f5d9efe6e986eda41c5b537d7eea99b55dab379859aa111cf0d2349d33f517c8af15cf149854f4a1400307670ca0d4e4979d34ea13825a5c533c52e87ed8221bdbccc682c9e5518e6b06160605252ca23a8cb74b55c43a8b98d984652a78134cdf68e4e20cd7621783b6b1a6d8f6144046fcf31c24ee0ed38bd1d00db6174048221491d066cbfb97967fb8b9b6f98e0ed2e6efe96e0ed3677fbbc4888e0ed3537ab866c6f21b49de6660a056fff6eae50e0ed3337ab7a0748b36d6f82b7b350b1b4dda68eac8ea8ae0c7b419a6d33c9d8d56fb0f6b7a9a7b02a15e79131b98db824cc8b8bcd74083d8242c1fd93cdda10dc313642594157cc152b0ee10a4a8d32204308d9de5d0469fa9472df80d4ed3c92bb366b77bbd13ea77560abc550ed66fb5a18aa8a5bac092e6249740b3de60c4b43c66358d8cac1a6dc55ac3dd45ff790a1a513a53a6ab4010d4bad1af7471220a2187680849dff10dac9c1c2160d3bc3e65c8615cab950d29c381d8b830425cdfc5582aa52850a3d1d57526b0544ce77be7387506952574dd4ea9c9dc31646827a4c84e93cf6cbf68e6d6c483d52346fc64932cac1ae8e852d9685ad1816b654a850395829902414c7a859ab792d923d6a0f8aac2f7b745dd8bcbcdcb41609fbfccfb448cd9213c708c7e85a247b6499d8237a3b29b51689369249a8bfb65e943eeaaf8fb825ba249bbe29a55891a4e9d3ec45691652b32c936665db44b3320705771f516e895ba214a3745eda36ea258d44b14be9bc1c142c546b6d12cd8444ed71e1a8e3651c265e142f4a4e617a4d40a8384c708c70961c356b1e621ca46679efe3348193d4acf93e4e13e9791e768c61983dc24d2fe53d28faeb2594729727af919c576c8faecb1e5df6e8b24752072707878967330e12ee7b6d12c231ea2f0675bb5c146ec9e483da49dc12ee3e6a486f8f88ff66a562305624754e4b409a3e13a814ea090bb8df47570552716e927c3ac23f1dc11910e90733c031b24c4e4cfaeb7b3a3a21758c3e006e928cd3859a4f47b84f4727a46641240a953280334e123d8e113dc231c2fd9f89cdcbeb482cf172508a33792dc117b4f6480655850ab508a9a09b6e234f662dc2c11262b869ff758cebd8917add5cf4a2e7b89cc2d8b58b5ef3f247deabbfab36a919d61dae1bcd8a2dbb1bb48766ed306fc6deda2f1e4af38577a4b09c732ee1ba779e9b0cfbc57dfe6f16c457d6dd245bd6ee8dfeae6797a7bf0b5fbf016b7665bf382883b2de8ee0604c6ea395bd3f5e442109a1d6efeaf7c78adb07b5825a2b1d7fcc63ee8f98ff412d78952954212a38a0595008084bb2880cae212220a1e4428a1029d290bf0212249a66b464c4680906a0d002af6803643842144ca06d1a0043123f6803954b4542c0960421431beaa594441444b89692e0010ad280e4040908d2920600a1a520682146d14452e2034f3c6ca8083228bdc00a47482134f4824b49890d24418997a22290500623ba34859400c2860b49892262209b25838009153104a9882539e08860540409491c21992a464b98454b2e00450cbc0e051d8b92d21221320819f2401894104264850b703b4b5891251a409a4a045101146f76800b53c80322c0b99138a94547c88214b8388221b9a4044a11138c9070e29694b044168a10448345589a4620300925b1e407452f9509332852a20bb42b6284842308dd20ca14ca304d475072842420b936a1121441c8089625278cc1a80849051a4a89891a10e10736c85e909c80c40855a80209baa225268ca028892154c10354135a02108a2c8109d95594c4902492e04119502c909c1005a3245050a21d7ca109186c8c94b0a4480f9ee024cb848a70d4212551842f4c61535a6a020c8a9af08326506c4929891daca11b52c214b2142339f4842670484f00c3d1b642a908134918810c3c40a9909692c8415191110f6c4067512b29c1064578e00523d949480a35b101ce08074858a0794a454360b22d0de10a29e08880c4108bca88084358d2464766e08696e040135d44cd8a188ee73223258018d12eae88b12b2cacd7a3d7a3fd5129d298415dc11c8e51b034d41597895251dd57bec2ae10c59bba2ad775b914c596edc4131c4f2f4a631422aa5d44f16a2f47c5118a4d407f410cd51c97ae52f91cf7793a2ead80e264c58d48484a4238e0cde22659615bc08005a1568c85ad7b65ae0ea595224a60e0e82a52020366e89494c80091116aaab68e2229e0bed1089186b5f0084ac040e8aa407e07441a6d80a11324a96054524a29e51aeaca47087714ae6ab5d20b533a81d055a986149588a2108eacd563fad3344dd334cd071b9fac88f981b56b97b1312bec7bc0dacdd7596c741295fa8bdf8450a393144aa5d2af08e9b4dbf049432730a5b5b2388938b25c96cbc2f29b666967794eb3aeb344161b6bb35820290f1bde158e0bdf957c505412456a480ce9db42fd35c51cf4a0e84f0a35c32670242252e44844128ba212dcf2ad695a3422530d314124a92111744004c7ef88b1491348fd699a16a3342b4628a4516d22ed3aea1d52a84f82344b3ebe89b45a738482835ecacacbcb2373a45eabc455931675e84996cb6b083e62798ac5271333936249a9dcb6f2d7504bd9973cb2adbc8a3d6d298b7ab5a8cb5f4628d4afa366793da81beb150573b143793e1c8e516284a259d7a5a4b3c995249b68a488eb6582fbd750b3faf59751a40171bdd7517ff93ac259c553aff9f47af375c443c49dcb596aad37cff71d207558dc1845e6d2985b61e2eb5532f6ab985252ac506fb98c453dc64269512b4fc5eba5a8fc0695c3dcace23eacd2f2fa17955db9ea2c76e589ea72b30a55ea2cf3eeb8c12a291b3ffd0babdc1f94ca76813a9f2e5063d4104cffc2225477dcecb8c1a84f4c57ee0fea2a4fbd3d1c2a29ec02356e491d757fbae975846bbd5eadc452f71aea2ff5cbf3e170bd5712f145ea2bd608cd39ecdf8b78f1163567f1225c7ce6d0c3e1312fe297b9b5b1b5c2de489a1ddc2fee1d20755cdc7aa1a4894a353874b7dd5b66c6b6b0312cec572d3d8dbd390f1d8c2d4d46ec799ac6ae785b7ae805d12dfb1c95aa6d518bfdeaaea124220d7a84390e7af51cad2a94ca0ebe64cb962d6fd0f94baea80ea54e53aa6ab9b99e586e875279b7ac79c78e66e7797a6b0bb116a334ab717ca545443b39ec54cf47a23a8dc889d8443c3b1849d94352a23c1f69ed2d6c7170870a91562024bf722ee20804c9dffcf2ebd2f3a1e5f2f06a56eeaefa751dd09fbc11d0acf6b672b2e048a5faae50efabac50afa794d6aa52fddf976ff07557a8cb83caaf735a557911315505a5a156dc1c04a69a4a555941ebbd4bd4fbf6b94cb31184ebb51d79572a9787a0beb6e25ed2682a55ad92a66b113177c5c5da5136d7ee2addb52bcfa5b454eaae3c51b5fbd35de5feb05cfb8e9d7cdd1d3bb8633936afbddccbe55eaa0b24f1ca2ff9969515c9619dd755669d494adc0ef07a4eefac8c40b3643cd1eb5c77755dfd8908d26bf6f494cd3770eab2677ec3e27ba36e0ec2a86b97b60fa59441b8ad7c9c99b98eef32322c646e593c46e5b7d7b1e231bf5df198bb933acaa6d8472b6fbea1a7954555c9a8fe5de53356aeb0b06fded9a155a6e86badd7ae72a5cd3bf8469496d30d8f51a4ce9f62e5d2c292529de5aedcfcddf2c8b61975efd2e61d3b2ad687f6fae8e198af552655794dd3b4f374ca83705f9336dff85f44cc575c7a4a3a625448f241ab02d8ff3a62bee2f652288b88b92b6e10e6e9aabdbeb1b419f5a49a838670c68eba3b76707ddeb183538e3d07e1fad3fc454412c6eed97c03637780d4b95a5502c9939c3f7938629618410cf03ce6f9acc428118afe20e6347b9d5a21296ffe01cb9b178059bc4f6f8ec0a324552dc6969285cc75b55ca16af97e5c9a392aee2738b3115f9e4fe3f9182542f1cb60f6316771ecd5ebc1a4bd815fc7dc030b7b99effae126c6d615aa05587b7bc5a58ae58d50bc9e79b5b81497a4ce1f1f91a4ce6f105d073d06f4171f89e25164d2acc72327228a4438dedce0967a6f921ca3d80ba4affbeb4523c417515e5a03c417f1f23946898f5040c1f12dd4ac171cdf47aea106d22cb8a404409e1811c1b98b00312d9500295e2d2351138468568e46c0f1316a6788f2923e743442a4a112851a3b4844e200147cc5285256a108f7cd141b20d28838b6918a8e4cae109f33e7ec397bce9e73629776474ae54885f81483ca73239ed67ab884e34a07f7eeddfdd1dd958eeedebdfbc37b17d4e2aea3fed8ee4ac776eedcfdc17d7b50cbf4a056fd8af0d81b92c6a346aa0ceabc3bf7a63b5b254dfc6655625073c5f10836e2aa49e63f7b899b7646959fbf32487ff13ff37694fee21b4a7ff1425ca83d2e2954732ff55247691684493cf0a80cad182f91342bc3f1dcb5c38fd691463d48a21b50093e815070fc85b5246a56ee2792083db53632bcbace44118830f40c009734f0d67654068c19d90e650aed4f0a9149fa72488b72a8bff8796d11c7c821355f7f510e6d8f97439a35af04b2dd5e82a29f342bcb17cdd95985651169c495458ed488eb9cb3680a1cd00111b0e4d93e3f6b77815c497e901d79e276e7e5b81ddc4edc91c2fdeb5cdb9d9b8e5165a84e6833e5e765af9b1d89a4758d4227bc791e8b31eb9beb4579faea0f62f3d79c178bfd048e833546c8a356d584b263946abc9dc94b4a2973b8c9c124d69730a8f27d755fb2cfb5b501710ff8ae3f781e401390b86f8ee7915d3e24968d8364ecc1c1984803c6be8430ed2e6de33aaf976a8c72c89c9f1c0283af1cba724891ab9bc8a200cb22d795773af7e365375117e9c7df2e42a4af3442168945b2dbe3c2b208b62b4f54b8a4c7c5c4898c2658360103934af5aa9f825584820c11c119112ea1882160b88422907c9a8caf29252caf6a560adc43eb4024c0250049ba59ca3b454090e00c97ccd8da89488d97478c62eb322b31573b58e7abd713a110a2f282fa61f8dddc70946eb56a2a95ec9b3fac525b1e61478da4257fe0042aaa14a9f1445287d25a554dc4718d2592ac0355165d9971a062575533d00492e4ba1da4873a865c52afe7eea2508c32821a3d1cf3f198e733ef8a762da5943166ba046d64c51171af78c0b6d950a309e40d64744eb3e491288fc4be3517cebd248f74c5591e914770c5f1aa56dca159352ef5b7d241efea07faa056504b5e45952082e5b9d85c1190e00b6779a459b28360997ba983340b26a184132cbb25df4c5a66610615c31832d164c8b5d4447d61a401f1457f79405c2d5abb940e42964a95472a13b9a43fc9442e914792894ad2c82b3b965dd9a43f9984cd48266079ceebc16eac33b8362bdf5c1edec7ea5dd8dd8f533db95289349247124926350b2e218284a54a5d42e488aa421bd2f041515d3c42854920c10837ce1527b14411caf321a66a003f298fec1469c17a83797979a43ba789244d4db49752bd9e61ba715061e3a062bf1e8954eceed09fe4216a22ad03d39236cbc0f226182c8fc8aaa2f2087ebcbd2475ba1bb92b692a96ff277fb383842658becad8570505b5553a1869f40530c4e08417940de3d26c1998c3c09a02ea3a23791e362096b701713c0368e78005f487f5d05fe7ebfa5cc0756577010e808fcf50e93fd101cd8a313a6001fd31a059f2f159bce4bd3fdc9d1bfd2dc0013b828830c6223543250734ab9bdcb8fe294521256020764485bfeeaaa6fa5349792325c5400d200dc43a803459a839c6f8d1401a0f2c91c4920c182a718aa1c6547f2be0d73490f5fe1a490bfed3ec8da4e9cf409d4b1da823c6f7d09f8efee1b3500ab8afa2b35f730b3d484112239421085358a295e5b398bedf8de9af77348bd6563ff2c81bb2ff83d45940b75a0c6816c59da3aaf1aee621ce401348926c36a1e69b1bb9d32c6812c2f00d676c42f3fa4c1b313ba8b9e286e92f52a31cdce08a3430210cffc1198de13958a711951518d10e3d1f2341ded2eeea3a6cc55c8ff8bae7b9b92eb8249734247041f4d741f461006920ce144b10a800d2402cadfd0f7c6c2226350b5e7823c439222125a152d7e761cc227718bbc86257522aa8947a32791db76934c354f3ba2e25fc44114eba00c589272a8d29f5808fa742185a8831210c2d50c43622864b12d05fb704b1808ed1cf9ec8ca50819a95a310035ae706083c0069824840838004902646a1781daaf28881a8a39232628791c2d8994eafa7b21f99e03e8a46a1f8a2af923a1103019af6eece7cf369dab677b3ebe879a4e63db335f3c5cdaa9b9befc3f3e6be867d4693dd79938557d3cc9dfee6761a313d8a1abd5aec60dc058ce9f9c0b85cdeb123e561d86b07dfc0197d67736e6e6a6abe2f260606531856b3545a473b530ea5877d73dd3aabdd9cddc5bbee66ea82bbee591ff1fe5ce7b8733ff2dcb9c3b010735c7b3e1786cdf3484e76303ae806a658cb2ceba8bc93726771e5e858a98d8cde799ae2eee2f45e3577719eaeb93908068cf3481856e62c5cbc85cd37b08b5f9da6699df43026f544b125a61d3b2617d68bd29fcc85e7dd88202e3a022bc2946048740c6c49c7e83aef7434e964c375290101a90526a16641780f5b391c8ffd119950f4842af0f09c08952214c18516cf8b9eee5ef782bbc9f40c0975e735f2095e26badd7c5b42cd016271a0e8af86c5419234dd1d074a7f3db71e54fa49b5670cb337d722596bed91b55ecf45adc59468363072ce5de908cbed666a79a4675f5c5a1b9b63796e90b77aeeac2f6e10a34b0ba3a2148b43573001f470a8601a8114a63c3b58e88d010651308192d68cf89b3015549c2549d3874794d2cb61bfa4ce0e94b0c34e50895073159c60a0c63c028025703cafa5b21b83e9650da6bfe877722c0f3178de1c689377acca669c253693c58e28a2c794e8e0f91890461fc117fd9ce71a3c636a3cc3609ecfe7f0d8d391ddb1379f3bb8c38a926ad79d82328bb9b1c11dcace466cb2b99170caa724fa1ce4cd1c83bdf95cd335cdbc77efb559dbbde7c0199847a312deb136c7de489a79eee2ae1c2c066317429bec667a7a5d5e7a3dd78f2049099222e48913474c8e20a941aa90272727569e9833a614f59772647250eee41c2b923ad98533aee7ec7dd447decddedd7b1f3513cef37abc2ecbba1adf79103576ee8f243a769ef31f39f7c7776537d77559e3d25b79a25e9ce9f268f45605d879ce83d8b941d4b83dd995333caf3404c3256038e2c33009577002634558c05976c113670be099596c5c180a3c6d46e1f93c049ebfbc1c18ce44e079318775d4e3215b81b92c6a6dca15c0f397b598a31162f3925966c22e1bd3ac7a953a3b74eed89d1c0b25cd8a1a2a6c256927ea3c9434f40728310c831c39aa4f82a4c0d66969a808a92ea96e76703e1d1115516294a454a3081115519262847be718129851c6a466ac28e344c18e68248cb0a366c529e03ec604ce881926310cde3927a5f974342bac1886611806f1310cbb2951f0b563612b25cacec531da8ae002c30e71909a352f04523802570e8cf00c2201fd2945b9708cfac351521942ed304c82921138e3186147f477e5c008d38b15514a6770b0d239a9f7a4668b126af52f9410a61e176a2694868a12da8a50e9b3c319a716498f613f1d61f684448f1dfb6c1676611866b149b1894d7aede9e884159d9a0956945d08a4b0d0154070e56008989e9066ccb0d03b1d15d980d216d8758c9b1877611c87357761dcd2a9892973db3b27631ba98f646cb48c01620b5341ad711dbe2ac08cd73810335e83c66bccb840d4b80e77081a370292a65fe36e43a819e724af6d77defc1920b66a7cf68c6f3ea83f2290f319fd69b1a226d4eb192b6211aaf906ce3b35ece908bbcdcd1f8c9b7f73b34a9a387a2991d81156a9bffec12c762dd2b54daa919dafe86b3ca895f31af7071131041a308250abc673ee8ffe42114288d25a81052618b56ae4fc0711b30991a4568d9ba43b11700d6d586ae59ce3388a9d62785a1eb2ee97ed3c9b5dd022d4ebd36ad77571cc0235f6ae9d3b973da16e38e318654fa8196ea2628f5e8654b12c08153b0e9ae5ca06f6ebfa88f8ba8b0761ef97f5389b2f4c2f975deb9ebd8de4dc8cfee03a79ee999dd9cd41d8ebf0b95bb17bf6bab8999db31de7dd1f7a19ebe5989708dcd9fca3c35446e6666a37cdc0b866615cc2305d7bcdf6ef85cd5f68376154c646e33e8fe51f5862a7ef8e5d9fecd8bd4f1cd9b16737ffc0f4d8fd8167f6dbf3588eec97f25e327bcc766efb9498e5247738cf5da0c6723b777f6c3e0fd48d6b7ed93c46c6a6e6e6c5bf7bdd682693a6699a49fbcdcca576a3dd68d7b499d39b8b63d41fce9194d8678ecd60331236e75913f7cd7a1d7d771ee9d9dc61eedbadfd65d7357b7375fd65f7f0bc674df7de5dda5f36bb67f76e77af99c7cc1c9bb93977bfbf56fcc6e6213076383367b27387cdca1208fa016abc65d63431ecd406777363eedeb39c5fd9734cde7698edfa88789e939e0f3d86e50e9bd3fec0d739eb9361de4c771cee61dacd31ef6e0c866766648e83cd4038e630360b8163bec2668a637e6dfe8163244c698283838383838383838383844d9a5927d00687497ff4d83562f2a2d4c9b9a7a379dab649b3e6692e99ffc04011cbbcf37048994fcf6705cb3cc6366193fa3abd3deacf221de118d9263a46938ec123652cc45eb64d60db844db24acd9a50e0be75c2cd6cbab02bec17c6be6357d8612be7d7bd9094488059b46835933e1dd1224a98458b63208080cde94640b504211d60ebaa4990288b9b71925a9880f4d7a62037487f5da8d98b22c3c2d6b43d2eeb04ee7b38462f6cbe70cd4694bd09c41444ce35e0be69089c0171d339e7e723bd943e0af9c0881ac9b9cea5586a33c54121be80525694fec23b58c1c44e39c73223ea04f2c22254b37a5daf261b7cb4e6e45cda9ffaab5e62af35ce6a21a657bd17ce99f774244fd40a2d0b5b02b03f7e1001af70032042ad9c13917393c84c233b9f975066447dca8e05920116e758bccad816879e8d16971140cbc2568bcbd4d74cd3911a9b29ae3907eb87619f8906d95dccfce2667ae63d99b2506f9e4f472f2c421548e299fb63faccefb3995f365ed766ca939329e56c25300189a98812721025caa088129e0891d89c6ac07d53927a3ae23a7b046d8ee00cecbdddac5279179e8e244d0592649e8e1a4a0c896387219f4f9df7939366a5fa5b759787c6dde9e8c4e484747a725a3a4539415181b48e3c35d17972236a56f68cb88b1d6124e75891d4c9b90da309cfc85bd22ce945a94185fddd3c7b51ae6c7381243629610744f0cc27134590e0999b1ebd1ca61c3326939526d39433c72c90c433f784747261330cefa989fefa9434834a73b928975beacf74a4def0c81a9b02c35699a79cbb64ced33b36032cec8fcc5b1c7a385a7032163b97a98ccd11cb3c7a385e64fa1488638b167f6173bc0482645a5c2341dedab99649d3b4cc857752aedd805093285d8202e79312eed351fcbc394719100ec3b0d94e8a9a3054d4a4b1d94727a3259a91118d4752c71e9db085f668a849514bc5498d57d142859e0d8979c42802606112445802510b03c10a386316312216c1e6ab90da97389f8e28a54697d2299760c212dc8da404892598d0330d4a7c884752072b62e2024cb0eca366ade291880432718123b08e6cb5d6b6093c833a315c620751c02f18325185a2a5a2238a70e318f9d0d8460a8c15411b2cd41378393a09be3c1cd1043e4418bb317633119806c0422e4ce1094a5ad8c2d6657fe2b128d0a64f9f718caed9c739c25982a2756015e012484f708c8e719ee0c68182fbd9454f47cdca5e94a466e58d48a959d91e3169961605e75313a72678a2016718ec448d47381e2151eac385bd287006bd1109dac426e81836a2666177252f8ef8950ffdca4890b7726e24e7127125b592cc150e8a83707c100ec23ed8cfbc2b1c73c5cd869769e5138dac74ec3c0291f39d3bc42a2645251d3957522b67484dc24e9f63559ad4557c12e393392766b443a78d51a0f0c65057d721c684fa0322d4483788c2e92f2141e69c27a3cea197c36916fd9c5307734e1cf1f42e8104117cf550e1124110c27009249694c070092490608c352fbb5fbbc2711f84ef21be4fb12bfa204c573e29af4f71424d89b98c778c8c1f44f209974329a534e6d3cad00140cc9d45f4b09ccf5ff6073bc4deceb99d39e710b4993b174a9a1c7bb556d81cf10aaef3e9281a6072d15b5180d9ca81793e1d6145737a40c4963d92343131314957ea2f6c601cc2a7a250576292589e6d01aed64909a9ae7c62ee1e1f84b5a566f5b527cd8a30cf3c20626b497f47fd3516852a715fde9366411c116f575beacf09ed09089ee03881b384430638637b1fc708ceb801cee84871cbffe2e663d46f73b30ac6cd55bb99fea8c3a8c325499a7e4b0cbbd29ef318cfc1aeb4db038819311e80e39d6b84c67578ce771ed4dab92b206a70495207c7e8e6666ae2b0e579673d2568d3dfac870568d3c73152bd0f230d085fe48a55aa67aa72398be4589ed3b039c7d64bf270f40cd02d1ad733b29ef5903850338e9111eeb3904e474838734b5dd775a7fd7587deb6ddee9da639c1da51435d0705ee8ef27a3a3904c48caf74c408c0c5399234fd180f6aad74ec9cc669dc1f3adc9dbbfa61a5a35b3befd6cefd41442b67c543c4ef173861a8d545968e5a41adcb899ab9a58d885b6a96cdfb1c946645e1a0e884b8ce5a2468d33f1d592ec7460b5b41584670861215e619c74853026d7a274ad9b2983d9239b65b1609cee8542f2ff405c7a857bf346146563aba95f36ee5dc1f44b4762e5624695639cfb9abee3072c8a7a3ee5c17bd9e9a47afe705e620022a5c6208112c7369a16e394d94b4cec6c6fa10eb3a0b69b08db6a4bfd698f4d7b0be78e6f5d43cf37a5e9ceb6cc4278bb38489c541ea8f06db5c1c23a16ab47af19abf78df83a259302e0e9317b606e318419bbe8a15aae6e4866b46b30249d25d1c239ca3265415cf38461a942738f711843f769ec3835a3ccdedd81f37473a60d4dab9d88083282d4c08b4e9efd81f11032a60419116115a935692ee5c6727ec284dda9d49d0a6061023bcd91c25ec5d1c2353173d1b117a06b85a39e7e9f91c1bf3e8e590f9753d8f07f9733d621e49edcc650e7605448d0064e00b2868fdc8e144cc808104ad24df835a39487a8ede3ccf9d47422fc7955d520c3b865d1786cd64df476362612ffcd988b79b77f6e69e8d18e7a85937efeddd5f68776103e336db3cf6796aafef1306c53ead1058420fc7757a57dce9e78a7b762cbb5908f916e726473b6aafcfec92bb3ed93cfd35efd92c3fa33dc368a6f5e6b49e86ddbb9226bb3f3024768124d6eed5df8b5f303ef3f6707c3e302eecefc5357ddeece25efdd998e8b6cd49bbd36b9e6ea69a7bdd75b389de98baceab39c54ebd9bce7916e7c864718c3cafe6dfaf43ecd4d60851b3730dbc95737ae7cd52dca5b5d9b1b063cce7d8241db49937cf60f7a7e657cdbd707c96368bcbce5d70c6056d644dcdf3cc056da68bcf601f7d71ce66364700678770860667007537374700cb79183787306e1642bbb9f9079637679fb966a3ddfc19172f6a6aae8f8831171648627af943bf5f94da3c761208c2f4d8bc1018c32e2d8f1805777598a5393b0ee76c260267209c679e5d2089af0b6720896d3e536321c66c6e0ec2d7ad798dfd6eca3bf0cc5bd82c049e398e11ced1e6f5d09ca3a1f9341e4260a0c6dfb5effb8cc531c259827d3747fcbde18c79f91dc7e8bb0d9c25e7e9396fe4919f8d187b82311ca366cdbc8fb364e6179c213ff3cceb99b9b11e4bbb053c0ff10cc4444f0c3063ae2758e631875e8fcc8db12b7a8a29ce12197645efe9e8c4a469fa940915e728e540cc788c4b0f881a5fe9c8e139cfb93fe012921005265a39acb0105f1b84ad3d56943533e016410a1ca395cdda8bcd1acef6288533b7e46501a70cb8cf723ac2520438dba325d806acc2a8542b5516b222874ccd8c040900005314002030140c88c482e180448d830c86fd14000c97b45a72521887498c29448c0104002000000000000066061c0083c570db48533c2fdf00ec7de0d25b0efd3d91a7387e42db778e79e444b9ca762097e90542c14b6976ea63d176a5a12b2e60bf53233887c29da33f33102fd2d6430ab3e97627c69a35188dfbd256033b0249783dec0bb89368e295e04a37e5fdcc7204ff1ff5cdd1d454bc7ea0482b6aca94b9433d80031a36b1ac6ff1e7a2aabce5d2ede769656f1362abf2128bab768288f4d1cd046ee39721d4e7d5575f18364e967eb83dbc76c8922dd0d1c95fcc60679ce3809365c20aa9d903acb3dc5dca130031c4fed639f6c44be9653bfedf9e122df4ddff0081ca893b1e8e925af35219172a16885bf89b79a534b17a6084796f9329a287e3881422d64f00565753d5b33268d1137717576accf7e6f8d4105f36e4ffa0e76c90657d16139e8bdfac209fab24d3da8bc00cb652c4d630126bc5413de76baa288f65ad19d933cf4b7848adc778f239fd1f871b475686fa97e09a1a0f65bb66cdba6468827ca2e5f7086bb4cb49b04c4384fddefe0a6160643074647ab28a892c4166916f9965db159c15c3e8ccc5aab401e9716ba49940290809f808e0e2c5bfe70560bf8ef95c09e05fb34c4954bb214e6889596b53c6d50fd98093a74dd0a75aa1dc0e955d69b8caa98b4e5cfeac84d2305c9821f068ea29ff6286f36f87252bf0e8b80a673c43c0b691694154d4c00ec6dc1089409bee1d30a2d2ceca6536ee2ae1cb6d0c694834b6e8097a07b31074588739525de6d0d0bdec1fe4e966f4a348356c8f169980ccd31b335587f64333d6f40ef87d9d394a1f5b2d7eed1a8df1c74b5da7b1b595beb0417a60d44b2ba21a1b91601ca86416e7e3cdcb5dea6170272482219dace965bcd889e9e440f9614accc2cfd4ea6003ebc4aa5ece03bf420a1dffe31f26aa77347fe9474fb71c42dddbce93e72f90e7d9aff1a1a4fe131998cf6b09eaa12e3f5e8a3549fa3c2c8e52e1e627d8b8ccccb5ccea7edbcc595116994a263429c5cd74d75d057f9b12febadadbcfe769deee087e3c42f8c746215d6198b2017139dbe79cdc9f7f4d50f4d6e732c3de07958af63bcad4fa91bc148dd04c9b862ef298e3b5a74a89efe59740d2ecc447e5566b46657736bfa59e53b47286ea2f9fbb1b11613a3c60d19a0b6e6b3de950403d3d663b5affbe34554ade09935f23dafafe9ac716365aa4862d1447ebeb2718f9a07095035fb2131ff63be9db776fb21c5251022d4de545066ea2d4936795f9a5964307b289821f8ced771d94d3d78799a99fa8dbb5b4d2015ff426b95f1ac973851cca7f0eef9f0ef7e751e01955bc8e28148bd44a81ad9a394f7c82fef8e8d65d9e076064dfad24996aebed5232664e96e3e4ce68d0c884d6acb4b80d82528d145ec970ed163a60c756bfab08b47bf7316503364fbfcf423d38a80e82de66de44a732c5b3c695019f33bffb0e4c523343b8ef63f8b21d5838fc130b124df7d3f43bf8f635c94ffd40c7354e092fde4ac50be795bea0d74dcf65f646c95f19668144ec33533a465d4726c266b09cae57a01d6ebfd0c1c01ef9d823686e6b40c9a8eef431145dec4ae9d6f76130e48013655073749892b84a22a89838ab8c0ccfb7dc27633ba352f624e01d7ede549dda21f37b6ef9196ea5b5024a55dd3cba10e48e549a20f3cfc96db28683105a051c0530ffb3deeb4392e4788c9fb5bd1519d8c4aba9139aabc9fbf786c094f1f08118446fd29e2830b5718d36516f55050dfe2ac1818a571e7b91b74da601a4963efbb9b6838a68fb1a1d1c92b6e9ec45ad53fec902cbf64221f0e734f56c6c8fee70cf05877c5a0130feaf49ef413229213106e12977928488c49821ec23d20173bcfce7337cd312bca1a41ba5b89ee4365c4591417052605bc1c9d3ec64b342c383dbf47bef39e0827274d7a0c5304db06355980b83b2560c0094979103940728dc70406d7a6f0b9a5605fdc7139944f5a0a2b4c7c58aaa1fca4cb8a47c485d90076586f16f380d9318f2701f0ec8033446a6d76233dde5e6568bf1bb278d7873718615d33774d3277ea3e90f3dcd9a7a245c3073ccecae3c6775f4fad2dff6bfb66e7eae193213d74b37c9bd7eedd98485a97a059fceba1890c3262310a763d7b89d2b3f0c121a1c0bfc55142a4cb0abd650973d42aaf8041f7f25906e8c6ca7373209de309f2353de6be6547b625aa11c47df99bbc0c308392a4ce743bfa607d653b99f7e7f5280f8d0054e1df9c9153a57144dba5e77745033e9e3a38b551423bc9717e5bd2e57cd0d28d21a37106ea5d012281e91042bcc5a85749baa74b64969fa74182244f8b57a563cb67317cc2e3557a728bd37b5f2032bfb574b1c4e6ade95266a8f6583341715ef680cd703c024ac0a06041fa6ea9941a536e681213513e4b464b1e6690be54297767fcad599bc6a1c2729c3eb6ba852861a2b7a421c405698f33c32b2c5152a527286424a3f2bc059406e4acde67e8fa21580d60d8072ade5c036980e0353559f5eea4ac0659650106e9b6579e8e1297e5205e69527751dfaaa114357f64f2242fa7049c7e80f7065af8f7646a3392d6f06d4081cee580093a7648c6fdcb833e50b3286e65c4cfac28338d1816327453506034d0deedd773858b8c6e94d1712ef5b0adbc8fea7112919bcb6f996df95825173497dbbf637a4be655e99f8b2faff0bc45c2fe1c57052a078b4e005bff5b77f2aa0f4609f1e0c8247ca1913e2712c75020b322c8e3e2005c34e63971b0973e8d0f5ea66bbe6d004d2f8743cc89387f02f935efbe6c20183589540a99c0e9b82d9514cebebf05c0c45a308415948e4a92bf1a91e45ac90cac6de4b81bd6bfaa41fc5401cce50242efc012de022fa808369e9c82f0b8e990952a4db407586ac1ae5412a8cd84806906ce892b974ecff32e61625cf3909155d2d970629222b741f1c044c16e24036107d94ababa0c32c50d7825372a591666369a10ee5c25aa0b3ae00b8f164a6dc8597e92f616906a54e74f081bf4b1ed9dfcab917bc64895925d884e08f80a306207fbcbadfedc275c1f0980fae8df5e1315c178acf66b6bab06f62afa968e3cf60697230274982076fafbe975b52d28f34b7a51f60a049ce020d5a13944d2ac1c1082aa8da923ae6b8493efefacb3fbdea68b2418af86d387f1d7dd1c61fade095d3ea860d9d2e8a2d6e5715653931144bda192d6daa577047b7744f1c6ec16609f5d265c61386aac3e85dce3ac549c9b9d101ceeea7c2c4656831abff2db7b145e4f97ab4b82b687fea686f14ed0a3b4c73f91446c398b68fa41cf086690707c1430068b0bc3d32e4ed89f5a616544603ece480eeccc27505a22db696b77dcbd27cf91a5ff36b0c564932c6f68b0bcdc7dea2455ef397ee888c10cb609a99a0247fd004498b9bccb0929a841d172711b7fcdba2818788186caa4e51072d6512a11ec84da793488f34a50a0a8b249c412db451c10cd8cadef6c02d74eef24bb4dce9c803ea06a225f8d9766390f992212cfdc0e9bc187a8c44af651caeecc9b1968f51a9dac7e69e401532bfcd75d758349441e05560222a01d8722928d94f766bf41e289ea3ba2d4f2768c78d81f116fe8defe39a42854be9178935b79f59358e7d704e438b1e1c5ed296a66b3b197d40d277c62766684fd85e2b36c76ca4741d4521b40ed292273223798a8b492b64cad78456045fad96a96dfb27e6315b440ce468c9e54caca181a60a1cc10da2eebb50db123688916e61e4bacc09bdcbf127bb10d906414b480b8dd7909d99d18166cf7349311359545b8689d42143a329f79d6c574898b6fd69a1a3c900e4e2546f9c5fcabb83b0c74315506e1e2a0a0b14abae91dae112913173e87b2b1b585e12bd0044ab6323ca887d05d3c07327108d9e7ee8dbb820020f2c0551c2468ab4ead45c9ec5c90af32443c63b358ef6cd01dd7216c3f03e5ceb98df42c523b6492b8addd20cfd3b1a42b14f1d8c472e28d55673953705ad8a52c2136d93b00e6651d525968119c9db1dd022a5866b9a02ee7cee24d90e99704df77b52e5e48207ac73935a499d796735105feb636b30b5e63b2b031af9131db96426ed62b13f9a76f0dfc38d9d18837a8ad480468a5af95a6fb270b27d781b77ec0b4287938894f25091833b860da3f8dc90eb986b96a1da0c8218d5a1836c32b4f51d116154b2645735c7b50cfd95e0fd648a0164a8f32e10fe4414399675133505aae97ad9944a433fa4c7457124edc85be20d45cddca4e0405a8cf48824a66af8d549d44345f317bfd184c128006e82bcc6e0eba19ae970d1b2940b8aeaa13721d0005e44f362bfae5b3d54d6848e86e9570da847ef9de6187b287eebdf26a58ddc32a6a84fda9beda15d3a93afb854dcd8418759173d14921148cf17e11a2b0caa80532479adf08782b04e0cd4eaa81feaa96c5d155511d767ee9580902c83811abbf22af4299e76f06400d4053576f4a476ce3eb7b44c894f3cf2e700e51cd8e4df4f13223fb133ff205d42804a480a1f363083f9e560ee57be5b99020af65730646601fe9acf19d001bddf68f7d36001acdd45da7c5dc89cd9d2340672ec3618838a7f2b87d9c2a0c004bfcf5af4f2f6406be7a2ccb77cf4092e783206bda793d15568e690aef3c61720e56e3766fe6439f0c9ccff7368eda3e9d84cd6da0ef48605feffa3d77f24e25a0d52279c3384498e9e359613d2e8b8c0c4a0f726a435cfaec4084848335b0bc0514189e4ef0383e2980410cf878c2672b203892cc775e36f227db4928232af94f5688ac011b55c678c849ed07be0e90d119f4d56d36c90c57e35aee2d69d463330ec919d31e12d8b6a41fd74d7c5120deedb21e1c37da17b774f57a184fd270ed3afe0ac7e681725226332ca0ef03ae8dd51a8725957239de545f00b1be4d538ed2af028cfa16a2203d990cb6a45a95e026d03f549c904e9e6fd75989d4bdaf2cad678e4b628dc025641253db589ff7ccb6f13404df3ebbf6c8c75b79be687b5123b2952acc711131de8df2e9aef8a7de83f546f456d3131dc68ea845187a0e6aca25ff9abefb634b44ae91c2a8bad25aaf5bcea2c7c0f8e5f37cd03a6cd78324e14fbfce90822df65543083c92dfaca38966737ce05653caf3b3727c15a7ee32f90fe0e321430b894733bf2bf2acdd89372fe61ebf298afaf76cbe2c3744adc684012a1348a179cd08ce1f8f2a13ef5a7b2661811cb538e521aea6825e5c9f879daab7c38c9d19c05787721cd4dde23c4a8f38460461b43616c114072021e28be301bc0ed702d69cd5c5d956d21fd4a3c8dc164eb4f06e1d9408722a45c209dfca24e64cf1d53e09cac582840a199272764d4fee1b8636e1fa7458e4f823c4f72f4da44a94131ab6c23edc3cde6aec491925147bc5a2cacead6c3bad02522df2e71f77d5a6bd88257287c0ffc7ac7869ad98c1bfeb41d2019bb69257807abbe319b7455abb52acd12c93096ba188e7960c4cd13257f0b1f84f229cdf54a801cd7e8135aa9e84d56d3e3b8c15d84780bd2341847e1bb3f01aa313d8f834d04483144b627e0105116c77e60083e3d979ae064b61e280022fa0155a1f7f0210e988d482c8424c8fd57302e698853905dfeffceb6b510307fafdb11860539c467f36cb537929917baa383b1ba56292b3bd8770ea3f63098059e4f082ef69e3e65057dab13e50207008d678e00c9425b7f63db75aa66e2ca1468cedb05009a2537e6e3151244fb10afcf49fa5e4a232f27bb0a79cbbbd37db4c93436fe7e0516c1d2446b3e6a491a9aa10e8a4dd624423b80ca1f7ba1e7cc2c45f9160bb5aaf20aa49355f751044e98b20b24b111f5c2090c359a5cdf448609e56369fef19115599e6198f3441110c144b170b0c6e9ebd0115612d91e1502a1531c2498dd88dabd7cafad7da6e0297c521a2b7be0cc2bb11cecc726052742d9fa8f653365e15a7ecc7bd7be5e9c1dd0d72c96b3f2dbf21f165b83587a4e81d4cb9d5547e701bc9d4a463495b5095c48c192cd5cc94a0016acc22a5689e444c7e2298ed7f530560f412c44e36e0237c9193fcf4d19daeb6a9ce7f640b4a894b1882d6a09cc40d5cba6f79e695a453a8654012a09200f80f46a24bf5da2af5401041a293155cf1eee3fd1f0a3397fad7685b59e2f5b0d88232a7bd3c20c7a46e597d935880631a0dfb720cc39ee4bd050207a3ef67ffdce5e70a9c501b12085b3640808ddb55fdd499857446271540b0d9f4a809a0ffce41b9d520a9999d118682b7684dbb20c5d73ad8c544315bf9cc6a71e45a51c6e2939dc4a208690109c30a33e9edcfdbde025d5f351a7df2253f35ec1354dc00a1c8d4743ca99d5c6c23c9e1a1c11c7c874e8e8cf8cb6a81ccb44b0208e5d23ab2b82a381cf6d1fb577ef4b15252273bfacb874abbd30714c38cd830d25598faf144c7ce924c7c376a88fc3b75c536ab7810a310468ed2c25c91ebb4d6c66deb89f6b04e7bb5f02e76fc4ef87d8f801580d79fb65aa1214de54e55c6478aba79b432637135f8619f967226152f729c638e3643a5bfc2ced7e9824fc8cf14788ad4fd58658219f9db7b7802982b8ab2fa7247cc938fa973f5e3d03a2722774db19a7559a8d642f2a9a5a0ef46df4ee3d500632f73fd0c68cbabea23bde916457d417721ca3a1b58032abcaacee351bdc21d37c8e674a82aaf4341f592c9a8de196b032131f1531538d73857e896d7a69b5d078fc701b55012e6f455701f6ae8165e2de34c812a02dc5e5c732e6b4ef388042828837ac41322b85326dcd96d19bf372ce4769e43407cb0e5913824889e790b383a12af0937e24163a71ed0751880205ed00b04c364c14e202eae0e627dc1fccb87394460938f76d9d702d6c600a8de00912df5aca41696470d3cb03a7646aca004114d310239fa501a7fc08f5748a186669a919e2fc1269cc868975a2f407ff8b7195f0a0e99382492f0c2a8ff482429dd2e51670a0a5fdc3068f0d6467e6810ae05c248c4fc20b5bb30009dc1cf186f10761078b9e077793bf76e6ba12083880bfce59009f6aeb0669f5b03bf342ac6488f6cb08831af7381d52eab21bf948a2ccaa94abc8137cb74b3504210e184ea76176c2f8456ff1d3ccc21904bb05c3f7a9a8c1aa3ab6b1a36458200e4f813c44fd7e2c7ab58aff05aae74699db3335c0d2cdf44b9b1999eee8d2f82476433700aa72a136320837897e13ab0f7e82d999cf3cdc8c05f44e64dbf7a1f424e10f5a09a49122211d81e2efed4a90d7c0bbe1fd2030b4471349d359ed8509b30f1b6111c01ab43291eedc550412c69fc159d83c970f0d378250845f8049516c6f8a56e88580a473f0cbd9bf8d7b94ce9cfa440a74a305ebf51dc97e61ccb8535eb5a0ac307e51e348873e9fef8e4113d117b4336b7efea0c18c87f8d52057e18237b5a84a0d80e05001e0ba5b006b216a7d6e0671453d45dc7a61da43a89a1c59c1902f60e754726895d2a4b8cff9f2910d7e32f48f909e6267f8d8ef97d792e44bdd8a457cf9f3d2b5e857604b438ec9123271f9038f1d304a90b584ff1d0f2269ad2eadb84a8d7e967c3ac1df38c1160118cbced585289183146bf589b6240c176ce09fe38a00d972c14cf5d368b52368b4a6f2cf662855c29203dd616bc59bd78b8165c07e3a9518ab452f70c74ceb7f42b9d9a950427c6274c29b7efee38935da99eccf797a1824bd39db949a04bd6c188a4a248cdcf0272994f1dc1f4d7f8beaf7b97e1fd9ef63fb051ee23a4a00ed917bc826c5d9b1636581a8ac4ad79e213f3098be0a7b2710c971b74071535b126f4185e4bed7e0acb8b6834a6bab666a730c38161909b939408f6b454abdc97546b5a56326a8d4f0d71be2603cd2a1b0e330334f000f004895802843ee4b6f85a565ba7ac97be5aa5bed2dd3fff8d8e9563ff4b6574f97d114cf59134dbe2392552e36626f333a108d14bc283f92f0fa56f548b48c9813253a98663b6cc877d1bff8d2d091f5e1bb83b199946ff13c31b605c4332813b152f5c6aab7838622e752e797d82e0b904f3f143933bad655d5e08b84c7fb894867c99109bd46a72eb50aa75373a21c055f6a4097a9a8a271fbcf62cefa6c301c17581bb2d6e54e6a6256ff62f2fcb6c45ef117731dc1ac3ca93fa75bc37420d2fe2f92b27dd34cef10f8c47bab651144e02e7ac437e2759611b163aced7a0a03313972defc6769a55c363b718caf4fc0a630961367ca6508886bd9a0076d80fd7b61be00d884b32a134582ecb2e45e39afeee2ddb7db97995681aff3c88ea6904d3b0b37d350c65b7268fad67f707bb43933ee62886fe7f3bbf2e817565d5e3a405d03e6282b05cdde3ed6f000a28b5c8ee761333fcb99d12de243d68340fcae453328f050d218634268b84790cca6fc8cd008631c4ebe7d5fb9d30ffba985ffc3981582e56ae25c023eba9af80d3e3b1af62a1bd6d382150ec90de887867fba0b66a7b06c762dad01aa559f61872a7966fe12b3c30247bb5ea577fb106efe1b8ad17f6fa7210d4f71dac86228c4e4ab017f4d3c74c449d382551db37d04344d4ab3380fcdb8b4d10766057fa0e080308d23ef2fc6adc4b478f5fc74fc463b985d21a3163768cc5f4b81e378823478c4428795e4f4e022fadd19e727db178dfa9b6ca94af2201c2c034523f4dd91d9207e71a057b772247ed0a3bce178cb04a98ac00abbbbd400e92842252862da5843e53c99fdb986767549613e2f456974ec8869738c5da5bf35bb3b8805cc75a581300dd0d8a546fa529525f8fe3faf40c3a9febcd318150dc3ab5b1fd036a17d9e95cb5f8369f5625f5b856c1ec015f924631b2a88349a1b5d3719e676611a9d719be559bc1d8986939cb56e580865116196e8543cac0676f8d487b706e887895bc1013a7b12d40ff5ac618241c36bcc09c46bcafb2f1d3a0b87353ba3ba78e09500a8e249e73dabfd34956ef14a959ee2acbd399516bf335544e90f871699e224996ad9c468a6d27fde8951a3687c56dea7cc89ef549a1fb00fbf2fc44c1379f9f09a7c60d7ee15507b76942f4860f3ef8a9ce72f60aad11d42b9d49b6cac1590c41cd1257cc6d08cedaa8cb30fb784a7a8d2df0d18b98f319b921d4be8d4fef8ca59f854a7b8f6f62d531a75e0efa03bc9a561603da3348ae7ebaded91cff61246cf8e97e6d157391a6a5d3c652c6eeee285b9461a2a28311db85dd2d3ee4355a78a701b4adaffac83b47e5528e949fc57779372ac1c865848cac3bb65d4e6135511e0c3c9f6d51647281de8bafb296aea2c17c8cb649f5031e15083631dce260ae2340deaf01b6d1073345f934e3f1d84a3e82ad0a683e1f25d4ff3012d026763af4152c07ce0dea7d8ce482fac4c44cace76bf0b1f434a3c18b8db67eff9af1ab4c3d11ba12e2e7deb59b2e09b2ba7583ca52d7343517cdacbeaac022a4f17cca3a725b9277cb8b84d2265d2b1aaeb0ca54c89eadbe4939ac1b450063df4cea68ac3a018c2586f160dbcc6e9b0329d69d3742ba22ab254349faed7a93403d0f4c3b1a641b340eb4a7a5b1ac35ec80714ead14be4e65bd154d713338cc7c113e3fe99f03237dee257c6402c50f896632d68af82fe2860cfd06368c294a71cef1dd802c2f605158f8eb8fb3e2ae99f22bc9a52321fe71b52f5b39eb4345f9466e4a68a6245a6711ff89e8bdbea3392b9cc177b815f2a40b9605ccc5d30d0a3a2e30a29a34f370595185f70d8628c3f5c44416d488d0981c53289bc55b4bb5f45fea5f28d6b1b27b38405905740cba73540aa52172915017551d8559e72ae5169d4c22ac335c84e32c1342db8a98ad8dc0651b92ffd2d08ccf4451e11a6a7feb82b55df3f17d004f97b33f1a604195288d3b0fc2f02073a2652d89c85705ebaa05c061174cc7f90ab400190bfd0959e945227d5c0d090cd6ce3a1723b07a0a432b8e592d31ca7075a3983c8b70e15f03f221cddbacebf74cde15d09a5323bcec237a6d3fb78ae883f1fef2ace22c643af081370d64aba081ab6baf67188ed852b5fb524c0055f342be2508a39ac088b6472a3d0e276b158ee0a5d2f883bfea65db160c87c2d37842945af40fb8d7cf3fb17c1510bbb60d91f7afa18f6111f8659554f9cb601059525dc2bbf7f065fba6218188e0a09f88e52fba5cffcffa49f81ad414853b1b948c93557bc4feb2351b816c445a4882537b28685d408eeebce6fd8afa4bed0188ca4754f36c39730348c7afb4452c9e83dd468d991f8fdc6e87155e520b795b571d5ba5e73eab587bf9e40fe71ef20e1552e632b28b9551adb86c562f02288a855adfc58e84820277ead78cf6a83c21f6dc913093c2ce929ce2a7a100b511ee542757ae995e549f0cec053adc9ebd4a58b8f06f51a0a995b2f14310448dfca0642c1122ad27afae1cb8498f784cdc11eae9cd9c412622866e4d4ac8d838e776f8fc675cfc139a110ff2c19139b0b552d13c915f6555fbb7b2176b5687f9ca12afbfd552b39317117e46a9df987c656b5a1db565e5cb488d740584337d55e7b03e6bc799ceb3cc88cc9db1fccee54dbad5d066ebcff6ec694d0d77a784306fcf4f6fdb9ca0b81c37ca1021ec7efc73f1f283c750481670a59ec1e43ea3cee51f4fc3e373ee0f9bfd136178b36f25a02fc4c72ad595fa3c75878d61484ecadb5b3e644cb0ccab17b7537eb2ac7d687e401909c05dd079dc66711300e856e9f2cc52214d8fd9da48f4b841458414917d5f63d964fe8011719073f90b0ed0122febdd92ddf69b2e4bbe81093c60ab33cbde71350bf8eb92c2c35a5221a9e44781a5e19e4821a7ef61afb8703631a9ac2e0cfa394aa95cd7986c76834215906a9bc3effbff13a370bacdbb1f82299da500245993cc53e8e80ce139efc3774f5a6849a579b16b9f0730092cb05bfa62273e04f39991feb8b0f3e30e8187db3ec831afb620e9babba79b4221f1dc1c4a07fa969f1b393c0eae23d8729e37d2e6d14d5b84f1dcbb9edcf7c00cce52e7166807553e6afa00c99cfec88d2c86d7ccc0b67d2c852dbdc9ba10ccd48ec622a944db2acd9a95b50008b255680befd530f789d2afb55e3bcc8145a54c94b24b3532892a1200ddf6efd465d44c436d1b8a4f8ab35f41da4929abe8a901aca9bd3a3c74f5ae280dcf466c18f3e549f014f2f3558fb41fe5455a540ceabfc6099a72d6ce2f8a7aa7f0c15b5682f0bbb1c35697a12c9d93326b68c1676673d6c5c7fad896996d0575c1d8692465f4a4dc40ee2bc481209c20498188fc9a720156975aa78cb678b6dcd670cbe0b283c5ab3568a01b802f9454051df70dfa790d321d613aad04de5ca36c68a4c8be04c7d21c3af8abbaab59e5d55831f92537b8c087ddc7369296807b4e726434bc75a528739cd678b62576ed34489937bec05543cb5060a571dd6118e54d7c3faedbe17039981b4cd4a92f7a29730f8cd9d8c870f39c132cc5e7689eae9a847fbcbfc3f4633aa9e861806d9ae5e7d85c4e3483d0e0ca4074f23e0c81ecaa2fa47679bffd10ffe3fa2a5beccf84bbb6b053ceb778a5d8a4f5433ca117147019a0879cb8bed65fd84c8618c284841a08f2dfc2bc57d4bc3358486711c73db9b320ca53e404214bfc04a4b47ca5def92a9075c8d0f4d47242221138f4ccfd9cd33be1af86d587228a19a806d627b20f1fcc81cea53376271ef57bd49ed1f17869e8a40a2402dbdce7762b28369957831bc4e506d0145543a5d9add74815f6b43cac4fc88583a13a4577f93e7469fa913d4cbee46d5736452221953432f46117d9e6260c0b1463024df9b5547bed5b71b0c54dd7ccea17e830f4245d21c15e4540ea3ace3f271dc4e377fe029da7815ccc56a845dac553131195c3084524b33d022b08bc5901dc3ba1b191dab28b837b39717b703950f9685309ec6265682f8d4b189170ad096e071906287c686ab10391d273616fa6d4a3944347fe21c5b838be933b610531ad68e86013a11b611148bc6718c04cc66a870081d82fb58576c121824fe0feb46f8e6e08d4d0514a61befe6e871635ecb4d44bc0f6f874f1993a8abe388eb6eaa37bf5eb33b2c6067bebbf1f877caf8c233c602d5cdd76e80dfa7ff232d7ddb6ffee015f9b4b21b35cdd1def4df95f0d241739ccfd54fbcf5f47eddb73a2edc8ba21735f3d464c750692e6d375e8002fe0bedf26799ab5211ee6fe4e69ec095830c7509ed8ff585c208235b2816cf62f59b87ce77ccab03a3bc15f09501a84f811e371d71f5bcaaed8c2a73ec7af30594e1e19dc582ca1cf7a636e7516127ae99abbbc10a1e917c25e3c051f57d9cdd4dd2cfa7470144a539b4dd1a6299df9b2562ea511f1031650f29a813d2c566184ded6827ae98abdd5037f1566567589a637f93a8f1fc51c05167feed4dadcccf93081005d01125a05ed4d4346fe96b0688e8fc5f9328001fee8499078600d5bc00af6fa4bb1283512dd289040875b096f2dd47bac5984955459f7e4fb4e23ace76db6e2a1eba12527d324be486e994d68ad399930a0e17e3279e189e5718bc4c731f9639f346a89db1a24b9724cfe145ff61099d82e52d6d83b5b0203d1bf97169b5b3b59c74585819cbe842fadf49ed537befe03c1b93f529a8ad7462f8b806d6abc620cb5caefc5340ede7e605023462f83f4980314fa6d2d760473401e4c51d532ebebc0278d2a6a0d57ccbf2f847bd5fedcc90a79b82d66958404e93075459d1f9b1bbca45cb3869825041eec055f2c70500d35a2c9ff83b2fbd7b8d2d9494eadb64f54bf3c933761327be4541d44d5638d7ce0f4e0c5ac750ea5d4cde4c7e99c730ac2a76d34ac5fcd074fd20a76c2f9d2b9ae65d58d981e7f6c5b84a40b090006fe7b93c876b08b6e1768a6f47aa1428d8678c11af1a2e1c69a19d5105938f16cde82235002e9fc0e5d46eb90091b482d2651cf4aeb5a8cda7e5b984e03d151da73d9ac98ccfea721e6a3ca8a4265c37f428c72e2bdd44a8a7ae7bb80c67672c3115e5178edb1115e026db2b3a0952acfb388b75dbd86933ca7a066a527aec111bb860d6269a5de1e25b90fd3739097779ee243d7b7271fa6d7fbca8c741abba9223fa12af4677bfdd673e81c43dabd6f9b352a0b68c08e263047c67ae41c9a41c65262b1d1c4b073dd1393ef942c6fe95739f6b65a63afac29fc98bebfc8ab897b2254aa5dfac2eb5678206922c26c8c8a55962b8bb1609fbb02795719a1ec4b070f3a77450d85e4a7f1d15aa6865162864f38cb672d14c1f990926d1b42d1b2a057d146a263300ecf89c4f7360e73930a40a01c761b4d8ef88d37b1bb19b070557f3c95e5958272cc022280039f564b95e04936b6adea5534278397a96ecb098b00f8ea4ebd5be7bbe2252309928af027b2f6ad02c4eda6a247dc63f9b91a2d9f0252f36d9bc3a9e4ef0f26b403ec6acaa56eb962c199d4e3e5b7276c5cfee09bb4f2a7ca72cd981d0fc0905e0cc21310e8ce305e45d4ca45861dba86386d88688e157d59dd9dcec88083c7454cbab2c5657124a99c686354d40d34ba54e39aeae8983985039b75a018f7021aa84a10afbbf72370009bab683c0dbf2f27ec93e4a462e5a46125843f16d70da29707de331c126b660f0a9cbeb82c3e89b2984c460ca7588ec24f18b506fc84839bc50ec7edee98335676ccc0c2285888a10066367158f49c33bf12f367270d6286b459801bc15fa472a67f4c34a91120dbd18c5b01af011c4b81ffc2536b2ab6d488f65c45cded48893af40f38b1103cbac25e733c7450e785c238a35f3588ed846450b87a0bc85024f9e97cf4ef4a3b497d9000518486cf3f58e6d1e19aeadd652114ee4f6caf7338d8f930d1e0b71d115a167d16f4dd6156d441646bae659c5411f50c8a1bbc0152ce78c49fe2e6286a1189d35d2c2022370b2272cbdddff01883298b13cbfa598880c5c7e505b71fcdc562e88efd2430cc0fb282a32b8617e8d71b60c04cc2d72d684db49a4fdfe28257d244e660091d642ff3b64a06b1cea4c80ac3c579aa1d3856f12409dc0619b6d5b6c1e62da98a1d77119d9cf55fe257bcd52068389e9b90d286f025108cdf55afc56ed6f22ac4f4aa4bc3081d8e8fc9ec1539626190fd30bab90859d5c89d2968137b5ecb2da6f57ffd865068556a3b6ded9bd921f7a4b4e4e221ff7c198da95bd1f3323c3de76095ffb5ec5cbd0b6bab32d5abea6b4760ad149f2bef7801d8270738242f8564c8cab802d5f1efcc0deaa7d6be4e6b3885072813cb6420002c23118ca2d72364031d42204a710933b24b1510edb196220fa8bd9b64bca83e052da9d51acf5e82649f22b8d2156c2443497531903c6c6126e72261de5bcbc622fbb0f02a365541fb85049856dbaec1923958d58f929c636a1a9d75cf2be1202dca96dda24efb9161f16094f154ebc91981cff8f89c384668a74681117df6bb40aa6cf942b05196c9de1c90559887e3cb78177dc0089cea89c4c2f123a7c043836bae3312e631c5e67731d4b912d4a6dc6ea15bfa9eb57adf15d2cff16970c236e1733c010364313167530874ee09039b1e5be0427977f2afd4457fcb365912d34e7db205560bf02b1c9f0043c55ee4b5174a232946e9b4510f3126c42f4774258d71a4418fe955eced07c136d3db29842aad425672f9969d8348206763009e344ffe6549ee0036d79cc2cb1aac66657c7fa2b6abb17b0fc6f151fac99c579d12603fa836914ac0a40bda215e59ed1edbcec84a5b5e9777ccd0f5b9d8872bf3701897224297a6447fc536875d634457009af8d7acc3116e6adc9b5015b30ab06addf0aaa462ca9027f6af5091b923e2d80b70399da46da9abced53d6f10fff83bc1f5f6609bad3b1b469bfbe46b7a53b9e21fe9e7ef98f94282329a2a2182566ee57daf98425bd62fa46db6e4ca9488f110d003882992afdbb18b8706a0feeee63531a83ef5cde1003923b41ffff91ef619527195a1d61410bda02d81d1ca8833bf326855a0fd767e68436bac887f59e45893e2f74de0ddd4d4db6a9d2d9bc1f250b65b1ec47abbf59b9a6647cbebfc095cc833d53982ea1debab41ff7aaaab60ec5f80bdf681ce19f02813607eb65a85d1654b97449cce0004dbef5abdb81d726237303a5ba488d99a97b970deec4da3022a3236f4f6a9f32c1ca85b7f44e464631a209c1f6f91cc92bee41d0ee2f353a948a3ae57600ce9b4dc1326e7ee13c764de1e0ba7bfba2f5958f61bd4a426f0b19876073b372925c8a1e6fe21bcab955820572021976fce8c73b9c1a45731d3873b54d103554ea6de20df9933edf640a7100c38fb378ee6bf8a966d2617cd1c4b0e420ad43d58229cb2a36f69620cadb02a6e0648371e6618d31fbe6a6a77590ed052842a270f206b49f8f420f4b0bdffc9e88f6b530d58658789a750f1c0717b98c3bb8c6fbcb654b29e28129b9b1706529631843569d0362aaf91e14740334ab565838d92ca2998030c82c1b596321bd088aeb57cb28d0bf024e1a0080041d072d39e537837824d92f25e4b586b8c46d5b0fddd0137ec4a116cf3fe3c378c7c535d2e54de9850225450f582ebcd3b9d2d77feb1185e803a69fdb15e02e200fd08334c313d1e71a9d424445eccd9158050f2bc7a5b855ba1f452176f4ff8a0022c9b04ed6ae0605560d78e907771c704724802b9e7292c70a50caf3806a8d46a33dba1c9127eac8f9392fa872ae239a869171d5b0ad147de80d991050e3fb265e73d18f6f4c781007ace02d9d50917845dad368e30e838b918306fa9e95346d8c36e2a5254a7a17a7b67a73aafbdb264b49db3f1d7aacf5e38ac29fd4f4a6b5d54c20a3d644a8ddf491e4449a6a4ca8c22f3faa38b5196b44fa13c408e521e360b681e0b2f553667d3fc8a76aa283b4c3df227b789118b97d9f9844719da12d9ba67c4184a939162b9637501ad97fd95be31d9266911851e616149dfdf1588ae3cbf9a6de90efba93d841ca8c8e97f4f0993ad3aaca6308d7940da19c980ee63575d37b11226224ad194743ea3abb3567610869e0535469475a867b2c234e5687cd919dd48a46e9ae914b4767ec493a1836c1a200e0379a32eab958dba9efc8711410d14ab3d0f7d66063200be3831bba3070c08018f362272f31c1e6a353a1098f1194e565ef767d33a01420f676a6be0d73f19e6ff280f0aef7873d9e246fe63975e02f2e5f73e148f9fa6f3f2a1ac829a1c442c8c3d6fffbb028ad9447c78c8d7bacb27c1d8a755b0197eb9111483683872c54dff45041844c29e9108f2f532c955b83a96cb984cba0cd26c348b5fe8d4b84c7f38a0bfe2f42bafe82ab381fdc593ce418ff42ce754f2152cf887e6413e2bfcb1c460b9a972818bbfd1e3299f4e44ae292a258c85fe4c171075008bba5e5912193f66402c5450c5e68c32f4cefed40906110286c51ca729788c8d321cd9d5c6bdf6d5aa36899ad30cac6895db69bd666778f85bd5ebddcce6e994f3cc97ecd2a4415b1a945c7f8e825a80e855dc060e4704af04319d34f67a4ccf15e5dcacfd14a9dac19dc137ef813073b2f9bd27db1f6a83e457568fd7750c2d527cf800fe74548fa09e6189647315ee6c22449fed6e0c4b14f8c531fddf671247a8d2173691c69ce83ec0d3da31d8ddbfcdb48ee9c242ab93be5be3692f40fb086f7d1f8dfe9fb29eccf1a1b013a5778797aee6b576418113cc7059b48ce10059d40e6bae838b50f840bee2437f27966afd847f81c4702c3874291b0eed8588fb7e58b2b5119780d04fc40765a2e8213a4fc3f3a7281af0882ecc06b11815a96c299cb6db0aecab2948a74abf7a06e959010ab9e5f3fee79731a2050fd70601109ab8d98133b1f38b9844b11caba4029353bd3d3e1133e3064224b313310e82860fdb5d350587bdcafadd4645abbe1971aeb125fb0c35162286460241dccecd7c3d9501fccc75d28331d66804a9374e788fc4dd85515c30c718ec9f0470c29566a93a562f4b0733d494b5be19d5035fa427b0b2c678b9bb4006a282e9f0290975e9421fe02300b5de621beb56e06a1935718ddeed11b991c30b7318d3568412c6920a4a5bc4e1124d9cb0fd93d06cf2e31e49a3ba2966f441b2f5de7c336936de323e7c1a4f4802bc669440a5611216a6b4d6600e2a810aa72258a788a1c2e1d5d0f6fed950d65026bfc423cbdfa131bddad0eb7127a2065345bdff933f26dd9d6969205aeb8ddf7189b35fd0fff9f671675fd4d11367ff8881b29b1e9548920850e4758e26dec78b95150ea7037e55d1da52864f044ee9f581ca981c3ce51cc117ace5f31a0c177d8d4b99c17b4a100dbf322864c2701f1f9ff391b100b410237f512eebb16c6244f1259b3184cfdaca1cb9cdea66e85dc821b95a75c741b47d93904d08e002a491ef9cb4d0dfb36e071a5054e166a632f357bbd5f43c006fd1f10a7c22cc42e5899170ae30d86da2ee7daaf2e2ded721ae82d4245018c387e13ee43a4fc9b78e2e29d38fad5845cb92af3a413d41b269ca5c44032d49b71ada2a36aa00e2e5288a1dce8600665fd65d5d18951092715f68bb0921a84f0e1c220df3124adbae132782b13c521cb4e5fa404266bf0c2935e3d2dc834feeb287c6943b7c58c86519ff1cc8a87772d5052cf550dad499f1cc22614fe7149c368dc0e8b67fe5a5d08b80cb9190d90c6a01f24b16b68c6ad9129b69a475d576cc43dbd37545a2da508da4e6d79d69343d02183a39cf219575bab1fa81cdc52e966f40de5b17acd9b2a36e04e4aa1a6ac2710a82b37b8736d9e9d356e2e5d35172ce95e61b24ecb84472a34fde14203e9f83463b2ff71854163f46f6c8fb0c07566a2ace5e60bb82d62481c64d0360dc919dce73d68877b8dded9946d5f03af95d31d1472bf52100664a1a747b7a4cc6b0890af6e496496e4738d2f3048481b64821fdd7fba69ff4e8416ba75a741f71d1fa5e7797239149490bb940381fb61a95ea49c0608c6f8be053ca058e274b8495840b09c3008c974d07f98ec17ab82ecb7b1a200f058bb5bdb2df9e622d04a0fefbeb0f95eff2ad0aa1af599c208ec6b6177d5679222083c205757bc459b48d9286b02e47d226780b0f7c9afe0e3373c27e5edc4896213732ecba5da4c9a4b594287b044416157c13f1bcd95a252ba21138c09dedc7bb565b9786b091d2c48a422427a5a84809569fd2b1d489791491c70e9ef31974ea0d24dfdda974a6d06da2cdcb9a86d8bac9fea98e00b766aed0d0e93f513335458129bc97f03ef641be2fa3f8ffc5ad10a44de86ced95aeca5cdb2f0bc96bf77ff4f00cb226db3d6ba1a7fd77ebfa3bc5111dd7c76937477f0d4c246564e84fa7576b144f3b8d34897b4067fb2a8f170c3fb47761b8372e0439fdf14c956891b2be0c3c738621103dcba7c31e223b48b60ef00da3a0896f973ae3ca1760b6d2398f9b3b81f965ac78f6f3002391ee239a7d4d50a7facce4e74774caad9e5687f6d5305cc9900a35820b9aafd23d702b45d04dc7a055f3a9a6dee680cbe9c3f3a6610dc91fd531e075f059f3bcc681f267418e0fac9322d82e09a858a6f7e455c9bc1a20f038b1e5ae2d0ed8baf0f333dd7dc8f5dc31c33d3fdf31299806d060fd2a8b92bc71f123d5e6082d5c454245fe07e727167307e72bb763b7ae8e1293bb423f7ec31247d364d638828132e21feb190750203e6e23b6d0fe1d4d5d74cafd8b80ae1c68b4c8400a8d488303d31164b1f64be8ba6ba759dcc8083ba55aac72db5796ddd8be659abb97443926d77a6d3e522854d415cc0aa05c9676dd172eb14d4942907517598f567e55614883c405f05c0b3c18608ad360caa55cd3e4b6c1628cf2691d7ab11299c7355a317071cf155cb35e81c2c4f8018dafca1a0114701d50f2df61c6524a3314bf540d9f01791eada725537b6a14742b1279e9a5c04f381fc51f219530d72813ca649fc8f94f5c60d0bdd561c4c5d456ac3b7dc41e800c1c8c2b8899c2cb2cc5f3c9ac1780ec44c9402b1645b6bdf3306bb1529808b6f20dc9ac1767392d637fe16200b2ee9522009fa0f1c40a914c4f9512b4b2b70aaa588ad142c4cb409ddf63cf46148db3e0ba81b4478eeaf265e2f068dea6cb141a65124668fd3860f358911e66093efd5ed200ad9a01313ba2a71ea3554972759a34ab0b60a9fdd7c369994855139abd1c87cd91d65968132ee319122f0270a5839b7023fce4a7d5eb3b65b7cde27bab1159d1ddcc6cb8401b767a6a85aeedb8d16601fb4d00d6bc53988515281d0091cbc416b8be511d8e7dd5cde04ed19b54f4e3cbf77c311b1eafd8c2a5ca6bcc760ae944e229b7d16979bbbf496d3d922fba451f52c61554573e8371069f5451bbac43941a9ad6cdb2e4d6719a34399c8f4c5fb9408a8a8baa968872bc59fc6a231ef59ce6c8c39d75c33b34dd1fca305d73895335b7a7865c8cbac26f3a06444c6a497a54fe0d9db1741d4045702bf41b1f80378b9e854bc36ff66a55ceb083983d0ad4b101e11e1f92634325441a4aa5ddef8356db5cb3a8f59669fe4adf1c18d16985b8c8a30fcce5da2d58ab1a3be32d96ecf6669cc35cfde5a8356b47b56b984d0d2d5d342f8292bb569e7a86ad169facab290d4d46e046a6e34677e8ab90d9e41d517d87dfb87bdaa814c44c9eee1e00e5938540430d614c1ed5cd8b0aef1cb41ac07270f847241663bf7078782be53b1e82bd95476ee89429cbd48fee64ba382f1fc4e3997c00b14a9e3962cb86b692d0a0fc790379747d762f241bcf5d61423a05184b116844a8c877f0f1f2162e19e49712ee4ef4815623672acc1acb32ecc2fe4114181da6018eca881f348926278cecd22feab01f5dd768435dc864d92021d99d855f45dc7768af45bb1859f14fafb000291b2fe26cb6d89fc087c9eb2884ec055eef52d60ada4ac6f7058159d4cb291a1ac91ebbca26ebe6aebf772df6585183a5bf19adc3987b917119219a57162cb15f0e1440ebe13faedd9597268942a6a10b120246b8c20a3f107516c1c098a38edd3911a89fa3c82d6eca001c41b2a1056e7149e40c9ea1863398b180d66f200ca42dc119134f26b7ce8b20fd32fbb908d35bc534b27fbae539278b6b2d24d4f9f6ea829636d40df2d108108c2c0134a47048832e066827612a64cb033b6a2c3b6191be45c432397465701ff51a250b6a0e1669770229940094dd0e41b21d64c30398fbda901b7957cf2c640058d4d705ee42f4652c55a3a8ae8b5b657d7796d13654a5d290b1c6c221a34b0836ce956b806bf2f6d11d2739e789398595814dc376ca1fcab1b22aeb31390a43d3a23a25ec08621de57869a1940cd67ae691e60bb7edab9d3051e29192736b80f061cc53c54710fd5ae176350ef5160d019836cdf7583ebfcfbe3e10ab8ef0cc7be95669de846f75750e042de87b9b266db25cf6d0ed326e9c139c1b6a1cfa6aabd7e82cd3cb2646d072ed5c990289f3a470ba710fa1d5a36cc191c9e9e7f93b087f595ef99dba7c108b456b7b846ff1ab3c8b65a01745fcc04a5fdd514ec0369279191e6162cd9b00361beb2a055800ca219ccde8a35f93771c180a280c9fd047230a28fb19fdc1bb632a4884b2843b3f28cdc9243206e814e086fd14d4c6f75ecb8278b84e54595b0179ff4de3293e7dab1f4db7511f51ae39653de51a52c8645275f37c1e022044f9a157d1128e7591a28926c796b153bfc99fcb3b5adf099adfcfe2e69367e23e8923066ba30233cf8b39d01747f5e269ba681c587e7af370320f3cd2a9171b28a5c5d00da9b802ae0cd70c481e1d4031f62d51f5704a8f7e9e187cdb10337b1f9ed0c783e4e30b082c8acc8237dc79ccfc4b920aeb516f4e3c9005629f2e5b2c78ef7ea69c02807b31cedb014cb66757c1ed5be05e41327b99e7c980fc38dc1abcb9cc7084e2e8e134ff1b7bb177c3005330643fe03317334866a8be2b4b109498ba0ce08430bff738c8197f2bd3ad997f0887f9234962453ed2870d451acf68f64e1545ab387024068c46dac7ce541f9a153a9671a5f34b0aa762dcf908f62ff9f9095eecf4c5da8040caebda2f21c5bbf10e4f7862b718f1bb9e5d3b966965a7443180941f355c8356abdb0122775d90ddf93d24995085c326206e4692c970baab02228f11f71ce9f54a71975cff1b43338ee4bff4a09762d57ad0339c8ce4eac376eab009cef93d4f1782cf66af1d04862967521c67ebca4af14ea26929779f353ad5c1c886f9a45efb44191da0defb46b5b2ae694755f206a5d149c91310bf54355b7563cbefffaf6680133e4e6b52474e7c84459245f2fd1d68631ccf26d4b9a74e236c27704a3f664724831c8ab51e7833722743ca3e41f71f7caf638a814e4c4290b49869110fb7aa399a68f315c915e9ace50de7f1dc42ec08a2df50ef95b2f5e0b7d64f4a3634036622027662f62096504a4853fdcdf2e39c122b0f5245555f6e9de3882e18445342e3406dbce4e5b21f34f680372efa0d80e5c4f5ac8c20f3b35c03c235856ec24f3458cd8fc8b32a9c9fb415c13588f8e478d46650c9a54444aa1a38f46a51a0ce1b4f8ae6453a2f60a10b51f44ca095a285017a9bf9c8ba0f755761732a920c7bc2f0fc6a36b3bbc7a4e1ae0f665de598b208d659e18408b1b038ea6563f84cdf4ea62b800c4e1b45eb972b176fff92d91d8bcb997626f78f8d678680e0bb7826de493f66381d0e9ddbc77366068963f951c836790194d00d42f24876205f2c570b31d3268d12afd9304ff426e7dccf82468ad7d0eeace08a8d3ac240fd870a52fde4a2a522a4b7057c83cf6702a4977a66fa0a422abfadd08a64e207279be0a1aadb9fcf0b7c2b71d3f61bd5b276a1d3ac3c85f18eb7a74ace1a3e1d6e751f93b4252b70fc27994be34f11a46dc6cf9481563507c036c2c4f004bff831747ae2c8638a65e30ba1fc112b4e469a7c20482393a2a3d7deeaffbd04116cdb53fc99bca34ade9a8a2bc75c43b9f992a1308818b2963ae5ec31c3c94090428c723ffeacf1a867e5817f8f362d8f5cbaf268f6ed7643b4ac8d3bcdf4c41471e5ddfff248484cd2e30923ceb63500e2dd038850546cdd145a48c0904b9abb6127a19b577a30b931ab595a78fc77f809dcf17bb66235709376a29d151babcda03f7430b573622f3c755eb47cd46fc9e56f014768463062dc661cc62cd6f612bc9406822273a1fdedb9a8e366c65158b00fa059aeba3041a2a3570ff7db7991fd07bf8b7ee2ac1a39e0feae4c9ae025a307af77fdb302dc864fc747a7d4ddccdd955aa953150580d7fd744b02ddca06d2a125a8d525dee917a49b6c48ee7931e34c20459fe1d438be2157fc1ad742ae30f45202bf5281b1612f76a0ed6955139b1a0674207f6340885a8b0b21e30a5532685a80b76f2d13f91870c61c147a578eee568c1ed160fcc3021480f1e7a71d1c0af4d42043e1130788e69b84b2659ba44171c15d96550e15db6f9e825172a786a049214a9be1c9c84025f1e7a7cc402df0411bdf65375ad74e4ef0cf969de9a91573bc6bde8428623a722424f68f40eba7e92617569ea07df1eb31c3516bc3d9bd5d4f8f91382ea25a700b248531ccc633b87af4f3e3adeb797bd6422f736b1f6bb81a3a859e077542b76333717f56284dcd6d6ba0b4f754a86dc642011e106f9f2cee74dc0b6bb3cef9a15f02b430b000fdec4f97049bd6250590ccaf38f1f4ba1985cf9a41e689eed2b677a64b4a3317ecf3e9173f7ec9a03ad18e53cb90159fa202b40221406f8cf5d9c0436eac4fc00bef8c23acc3da83132f03f62a1ecc3f0d44ed3079bdc941927226580747028a5a8bd2f188117f47bfa152a8767d008f9e29e134f9bd0d21ffda785b03131d8cb250c3bb99ced33633c6be03ae486ae7dbecf4168da8742f4207a4f35dd24359c89ce70c54177ec6ae559edba0cf5d347600ab46b0f69e182ee2d4491d22fa42c4001c84db66b62da5ed829967cc34720be1ca1ab35c2b596144089826541527483433cef4fc4c2aa8e9a9c717df8b004e2b3c6bbb3c877655bc25e3bd13fe1c7891f34721950bc16a9f9b68a6828d05be92bdfc342c6e46468f024f70e83bf6a743f80e2001c0aa1519910ab81187923061803c3b875420857f61d4b30a89926ee5d42075ef62b06015869dadbe94f5492edc60273b75d6f4da016ae92dd454040310e40e1177555f3c036c7994b58499a36ab874d0a3c1604798f8516e47fe507fb8ce268f0c9d39e8a452a1e1b6b997275b23459ec7de8c7a66ef5de6889ee11186b3a2b36260adfac6e67e8f75ddb0e4bbdc41a5d709fc62e3c8436d734e91b48ada46d0206f4ad6c141951a2bea6096aa26fde11b88ed342209244c90e7f5d4e2c23b6a4d5c403a8004a74878d4e593941baaefd069481cbc0ba4b2a854109654d137254be3c5495aa09e9fdcd59199a108fe3f15dcc0105d47b4090427211728b5c86f99ccbca8d53560fe7c0f30c981f9cbb35318d4c83f62d0a1c2882cfae6fde001a259f6d94d3ba593e0570488df67d21a776880db8eafaccb3fa9aed919ae1326c40118f6aac367327489d27032e5cdc1951c64914619993d8edcca9a1cd28ee4f9c2bc52f993383e8cc189f82b78b4e30376c98899e02b0245aefdac4aa23d23934e73e82843994586e7989f734c5593d5e21bfca39605384ac540691e569788b3783bfbd1802a6adac480fc537216537c2c08d0b120d384d77df784f8cf05ec38d788c1f96c7a2440b8d79c9787a555bad90b06f95bd61346d5702ea0a930abeeb17bf4ea7475f9d15408d91d552a3ef727f5b0cabda1b082290d872879e135edd8d1a896e54b17b5677c0db121f2b25ef914c305b0f68ee308c489c3d0ac2d1029405834e79cbc7f796f9f7398f4a5f7223e73a3766b9e411dc6b3c7880611b9081efa20351097651a4c47dc1a13be177953d4960bf9a7f25bceb250ad9b3969b817de7ed191dac352cd568cd092bdd39e90dfbd126dfba81ee1c82b569530dc99a53328baf39c7fa2a79cd498759065e18f82bc38353c7bd9d045562619d972b85edbd3b127470fd2ea706e2382ae184a3e8b1df93d3ec909daf0885578f6a3a09547ec3e6bcc2723c521bd6da5a513b27352bee1e6c7e00776f423108568ebbdcc880c1cf0e2d461a1e94001463509de61c2301809f1af368dd212cf2824cc07c7e4e014de8fcfa90f89ed009ce3daa88848ecaf345acabe3e507413f47f527fa3d2f61d58c71c5b1bc62e40fa0c3fed16ce3742f33110e71bd4df2dda858c93287d3046bf3aa1b89258ef422c85e4754bbc1905faafd9a3144f94b0a10f6990bd01f04a5aafa95d45bda12eea851cbe61449972dbeeba51534ccea00b8950aa0df6975c008044c02d1d2969599fe19239cc8fda6566646121bb9f002f5f43f595a1484612640c2aec687d8f2941558dc011493b3a7becaa3117426ed029898f94bbe8d600e7934024ba81ef43dc9700d18c119f393d03a4cad064e3eb361a4b8230dbcf07aba1b278317d4cce6be9e21dfbcde913a6f9c063f43f75efa5907fba28bf3d30a4a183e38ec2f94e20e87b19e68c6dd35e7b4e9c92d02957e100118c183df50bf29bc9fa0f2a36f1752d31b8cfd8c1bcdf2a12c21ceb330edaacf649da0466354535019b5a2394472fc52474076a55844a0488e04675b0e712cee29a20e311587fe2b4a2e026a0a8901be3f7c036ff2a99270d13feb63056c851105b92285c8da43684bab36f9f8e98d359949dfdadd37815cc1bcd1643edcc19b29c20b511235dd5e6fb352016d130f465ef238c026a2118700638490e4ee00d5d2cc9d77a13f7bbe67826b6056f540fb397266e12b92eddc992ae35e94c331a31c036f018455797ca47c557d22600ad4931f185a4c45b9af601cd3faca0c4782ba9083fa96cad5a223feb851699ff1cda80d38aab0dd8e553427432550e8db2bd5d464f34fc565494447948a082d887b5d1c3f067d17a5d42b6a132d4e65f214870c53b3ba3248fb4ff166254a1a292559aa7f7e0a3b10d936e409dc4adf44a9b9af83210edd882d627f7a2ac2e1821d41a0d23decc4e92aeb37a16ccf224c7255bed2e10879361127333a3c5fcb4a29560d91bce8230330603c68ac46f9e7ac4db1e2499cf44859bd0b02e2eab64f2d1a4b5e1c17eb0a8a212c45b869e53f5f196d6aeb66466c5cf899a2a9fd23e10f83bb2ec166b241003aadc8ce7b6d7cabe0eab82a794000e94cca9e74702f34c944f24c4cf048e38d179267f8882c29cbed78ee29886f60096be2d92d669e4cfac3b85e69fb020737117347d18da6827eaec499c0bedd6be983b1b0631df62a6ecc8efcc4fd8264cc125926af5dfc89e9a0a47f1a30f770a46d72b6652b5b44025d21ebe014a096d2f63dd2b5d2e489b14febe448123e4fd56827a4b84699f0ab1691dd836870b4c4320edb6f1c11df488e979e77390973108b077b830c05f974f35472ebbde2ff5f555aaef88f02ea8f644345f54cf13d149c0b2d014cb558a150427b6e8353946bf6b6dd37e5bb485814003f9e38555ec627bab24ce4a02d318d8085f717db5303038a046b0e23c05693a05e0089121ff2565b22b7a29744d7f81f7ee4eb1dffe32135d3eae0ebafecacc1271d489b4e15a47c60b67afdaee9c23bfed32cb5c1df727a79a231bbd1956abb731ca32c191e94ee0f5db7f4dde931aaeab90289d99b0e82d4c9aee6e73ce0aa4cb3a852c8ee667571c1699603345dbe69096c4f27292c55871435a61f9b951363574660bb82e0e288653dca023ee6a9025b4fb47cce2c394655e9072f1c8fc9435f3dc318c663515fec3343964061d35d41bd7ae5f1cdb6a4270323081b12fa83ac4f7e1cca7145697405663cbd87bf71497d2aa85bde1327c6ff473902123e5290c83eb9bc8e47cce4a44612a7009cd075acdd9dcf4b7b1ac2ec764a13c6aec80c7b16cc6a8fd7f09c145ed6217985c5a99e765e7e0bb7843f3a07b1d10c73689aa72ecd5fe6852669f96c2a7eceaf8cc517ceb29b65eb61c96d397c3a8b9e052d7ced2cd5d42a34f6134f402664bc9c0285ba4703bcc45a4671d15a795a0ffe27676c05f6c977d5c728dad01b0e070f3fdf76935656b7100e6564825b8fd8bef764bbfd61c9ad50e49b02c061cfec0114c8f396a735a2de22c8c56f77008e211ea591861938c1c5937b2f6aed4b32f6a0848f5656937de934b3d92f229ea778d3cb7ec7a689003d2c61d2ffb78212531b458336a8f8e135921dc482dd407113061f01d80f8ebb7015b22df4d5118d2e3c0faca594f6796b3a5559e0ee4489e29a8b2a993e064573e11b5ed9d1d1beab653a95eed4294142f19caefad897f7d194a0a27c59dc57f23eda8954f2cff0b4c77deb2b20f854fde7e82a1e95780a0c5886e2d65c2a4e391ec94da87ba0460192ca32408290243b1d230a98c9c50386afc3857a8d2eb6540f8e5a51e281d17369eadbb18bfffa3d7d19284bc8227e8e135d289d7d3b8ef5c5faeea45e778cd82d8870499b0f3c00a71383de30b983a5e57efe26353ab8026cba8a90814682da1be18300ed8508cd2054099572727096fdabae17d132f65bed2128184b7104e37c5b8d567d5de944df6f8b08fad92113e989bb4da729b5d94e89c5996e5434037672764e961bb2254ccf4c433e0ea06a22f58b931252d8364b621362e5e5e595b033f97976f9f22c7e6c38da0b00e0ae8a18ea404196260fe2610deda4dbd1d094951fabf821b83e924a62598ae30c2614dc9170282c133147f30f66c06c80225c3a26151bcd9c2b887c6472093466286dd871a4dce8280464405c804898a69aa2509cb4e6084ed3b1c0aff9d16b203cfd181b5e1ec5c79293e15c811f2b39a56e28e77db539fc992777f123ac7c72e810b7f69f57389157c8982a34228d8ee657c9ba310d049fad466b4bc8a1b94d849f1bdce6f4b0504dbb92405c4e5cd443bbf49a6eaa494c08879a94315f76de14ac23a00a70aae286183aa6c8903e956a3f1fa941099bfb165f8f4acc800e1c8811020d2cb305b8b4862ad65ad7b6c6d01281e72f4f884c8534d67f4f9701517097651a8080f6a11a5c3e1119632c2d372058c6e330a072e14a8ae3533f3dc116ff88fd639adebac57ea0abfa0a9ea2d7bd424c7e0f2ee5b59abc6024c4918b5c45cb36269f145920e420672f08a4d9bac4afd6f8c5547994888dd4736e2669bd3870373e03397e6376e68aa7c9a7dc8e5f8a2fe7b1ffa9e98c4b6ff60285f241ec07b08d9ac2a68b00354b4bc744348402a5d7894842f44814d8a79c72ba2372f5fb3abbb12c984ce98102778f6f46464798495256f4a356d8b367d10366af1709727684015bf352fb2084494d7d4386183311f1cfd65526c0806314b4f99f4402d7c573ffc54340c6c9fb3b30d33d3964bfd932ea830e7910d270d381015afa67d1bb9cd2c7e0f068053c469c60d52fc88400097a819721bede2d318e70a7fe43b8a3634ed762d12aaedeac1366cba6aa136dc19ddfda0c27c46a423ea9584a562f0dda0d9d6848855220d289906e4238b115d58a4322646c9f406b738ec7c53cd37dbdabb9f21b5725b1505cf6a3729cebc8dc0f8cbf6d90d52c0f7083874e0f2ef5f5c762f92acfcf9829376c8e5bcfaee414244ec886d6193fa5cd8ae69da22878135633284b6d1168ad93a14a34853788fba08f1c40230f0b1886ee30d06a6bd4bacc72a855ae7318f7a90fa009e73864d6ac18239aefd51b502f88cbb5a098f1e8bbc61c38195c1ac92d968b43a5f1ace2ea31912abc62dc5dc22954a97449fad4f7002a417e06e76fdef83c0892b8022d8e8924b3f4b048d8ea2e051b5b7168691b0d2319cf5cc22555e96549ef076fa5bc81c069a10ffb0b14a3ef413e79bb11deb1b63cb2a3a0eed01d1ebf15172adfea6e9cc18e9e8f6d56d788e3a999806aa51b07288f8aa69c7dde32cb2c39b1ac8d45c6126629be49cd59645ef3eaa2b0b0b03d3a9eb33030d7b30fd43c778193f33d6c99832f5bc7deba39238fb841a997be6032a251ef8b6b340b6a48b8f661915475f2e011a9734c18e0b57b25ea66beed0459799266162e4bd601235d7d18bb6ac935d07ae705adf8b5acb72ddcaccb4684df48beaa91ec849236869a8d92e9188da7f421fcb4cc9e5fa8a2cc5c4398a3449964669a38c5ab1af575832d906759c654dc0a7695ba68527053d8a72aaf8cc4f6b2822e0f9c556c05176264e7a0a0736585513bea95895209557c63012b2d8ff3f90508c402a8f4cc8b3f16ba41b15c2ffa3163c2fb2b64ef5bda2b981cda34b8f258efa9589d5e96ea197a6eb96c3e71c7446cdd7497107345ceff8cb5059808caf15554c2c0b781fff63fdecc881169cd723771e992a28d3b0df8f21205a77758a59368e3b63384d4de4546e4ce180fe0ea18cb2d6a4cf2bf0b96bfce23a5c9359bd480f3284dfd76c5a038b648a7794693d6650bb2d3a00519338d889b640ff57482e00ef39345931b79f9a75a78b182d2962d32763be95688c477b70697612afab9f75ddc1f13b0d8d34a3f9ffa62d9888ee18ec39772d4f9464acce162db935d5822b01a9066a74b7b08140ae920952df6216ff920483151700f693439265f5e95f26237f5ef0ce562a7c6f0d368bece099b64b6db6c04584379ab9292506c9f1529888d4ea3f5914b37cb06217ffa68aca29a1dba7adce2a639587e852d4fdd49bd4b915a2101994fef3c62ca864edbe5f2a9434337dc8ffea6e7a079a0eaa2ec692122083cb6d8e812eea4ba53250de27461494218a99c3f980cf7ec1ddc190dccd36bd9a8ad7835aed26c84fedc388d3bd2afdcb19048e6d2709269b5da5d3e98eda4347f0f20de189cd13a1bc45b328e14a97ad7ecda0a2820134d2ef10756f5f2516e51a2541c5f3303397281e5bb202bca381d6647083e0a277e9edd0b5d53a7907095d2228366e812c2d06d9a85ca851918c7ed5815da938441caee01438e50e2f592680857490c3005479437d526185accfbec2403cfda80d036de7231d971df6f3561c57046a3f731da26fab7d46afd0737e973493c2c2bbb3a62f61d9183893310dd1370ed31ad8daea12de649ed3250424f3d3ba680893ae80cad30014a2ea7c4724bd315cd70d0fd687b9a2f4b448bc589485ab0433bc8b007dacc80db30414572213e558e136d9d1dac7935dd1cc657c03aa887f8b661634ae1a98e1306c0d63cce69e20e59efc3a7909d229e4c6b8fd598254dcc01ab8e2045bce25074fa8f01991fa2db29b16360844b9d6994b2206b51b7836f98c7f27dd4def263df38a4372a10a4c323b02656634ae5f206e15dedf5475f2424bdf92ebfddbebc71b3779ebf78a346ff6ff42b32bede589e852b4c1802f60d7d9345c38c6cb6c477468d10d5206a450fd2346ac3e26787330829ebd8c1c9c1a3e464a9c48c799b62816e39d424ddbea3bf71a5a6a483d79c90a1cbd1a5e01182b41cd520832167414dac9e49b8c3cb7125aef176caec54f5a3b0129409f0bdbae7a3d617974316dd3982bc2a185e40a1ff5b37bc20780a41d45f0e29d9c287f335f272584f751acd8a7686c9abe0d0142c13101a6c435085d982658be5d4093f59ca918d41938a0c5d8aa9bafe096a0f0e31b093dec141f5756be25b3f6df2f4abab96e04bc3c022a45dcc35e7fa0083816fb58dbb60fdfdc771880e27a93f16aeefdddfeecb9949042e00da37bb90c1c1f7f7a530e602433d4587d2c913e2cb966fc1e06e76cd7ae07ec1fda33da3f3c9200f7f3b5b82634941aa6ad0476994ef52d53e49ca8c23552ab7174e86ea354163a057701ce5ad0cdce6c2cb39963ef7efb5020339f4e841555e31af01b935b8294d8a56ecf683c3c6044b9d1f0b2bdd9c14f09f85dc2b161d7e6877d960008be040b2cd91546fa6755dcd632b76e400730c7f4b4fca6d3098508f1c52f8b2639fdae330ee03f86dd0e9f2636128c1aea2e2bbb13b3280c381c80911743a47fa99f0c40c95c22eeb7cd6e226581bbc8121be0d4521d290779030c599207a9878e5459fc672dbd431a8e21b347574128481a89be3e4e61324dd720e4084f218bb5e9b6aa41574d22a8c55986e6e54e319a65e5186833975ac6c6e15500d75a1fa6585f1b3ae5f8ae51444c83492afe097670ccdaa6d27635dedd610e5a5ad617b28bbd2e84b33053c3eda211d66af7129874882fc1990e1238d77b401f90f466d0aa7e2599c3269553381cb2f1ac6cb3c421970c18c1171a10d15971c3ed7387f511d9c3d546e465d50cf05a91cf6e9b9a770ca07d41dd94b6517e51b8a85a2930e34dec3dee9d06b6144d7973a91ac9d38d17f9c1deac23396049109cbda639c9dd3480632a9251280351aa9c1bbdb8adb5ff3f9308b3efc8946bc5b9d267ff4b65940fac469974668e87d774d277303e7c3e5de5db95789713c0a799a518f5702d5cda684987ff1c3ef6e889e578fde868656dfe7dcf4341c8a7ccad05f97341429d1d0aadeb5a62e4d11ecb1b4931bb03520751879849e088c3dff80eed367966779706d33fced7aef8cad4ec1218f644015b8aed4a5beb5cd958ecb0b48427cafc0cd1fa9b3ffc66114ed947c2c2cabc8ed40bce53bc9ffc5f5c4fb6fb46e726a8c22980b7dc9f6555ad2c9a8bdbcec3231ed72cba1a851b4a440af45989ae0ef856e1a42bafa0b1ba694eb012f59a1b4758946dd314c81c7ee1c8179d22dab7195643e2ee652cd129b222cc33c1f167a699d62a97296874b5269ae57acbd84d4b3a6178dfcd240fc4ddfb7fe79c61e5ee952fa884baefac887aae13fb6cdedaa1e25899c0f44fe2eb7e89adbcd5950cca9d1987baf79c9bfb821f6f5c67150097581a2517dcf3bc6fe67b69a5bd846c99b473f34829ea4b7a01358eff304e1c200f349da5f720efec51d426bbf01ba434bad35488d7b0753cd4537c2c227427495fb37f2d4c15fe41a1580d822c5d17566bacdba438c09c3a14356cf528be78372fe6db765ccb6d666a958e3d14833c0d1e6c20516147e6c8f892903446b9438bced51bafd517bc3a7f980c2ce9361d14a833cb3a6197d0ce21bdf225745d088dcde5966d32112a5fc0a8e9f0420bc9b66d1dd8c29cb470a4f925cc257a9f728360fe61a69be0f907c0181a80afd592afc1da0e824bbdc9f062a9e9614f11d11fba164f70b32ad44847266b2c20c00dada72daa67584e66233277c96a28b46e9ab9c36e35c344e4ccbde35a74d849cb7583d7671e82958f5a5aef27d0d0b2d751df5158db1d0b908d06a7934d301a4db846d8eb49c9b0017718d9aeab20bd0b3f3134685b677ad00c5658f3839dc173f8227de51f21d7baab873f9038bede52117dc354e7af2baf165d01b2f1d9898a7b48ac913129e19022a012e10ebbcacf972a876b373e209daff536ffc8e1aae8d529f25faedef672d5f17acc2d7fa839703771ad95f32871fd81b5992025fb6c2a8cc716b8fd39a9d8dfc3b24820bdd4808c4e396ef6d7381c546c6ac29c14fd5a0f589848b6c84c9439123f779e82a923a6aed612a9a07ce082c0473d5c8b328718485a2445523ce1ea0f3eb364124f63a6a7b7342922518ed7b59f67fae4bf82796ccc5e78e30e3975428a2766a525bcda64e45f060d004a146625d10b3c7a694a3471ef409327b2b21e345c667e690e9357107aaab3221aa5c0c348761587d21b32acf9ecbd8f0a33e6ca9e2da9556c92a0eff459f0e3538913c5fc6a9860ec6ec67afd1a914add64ec3439e8634a7119e0401328b660ea26c6269b55f5a6ab625656e2e18435decfebf7480645bb82b1b0208eb5399c3d6b101440fe2f8883f1825401b9cf1ad960e0951c9746a28a3627ca3bc4222da2e2868f06f3aadbe090580017c14023816ff9149950aa543ce6819dd44eef921950017d8fa64ba46df1eb1779184d2a1b49681e8710a5d4115b26770ddc3be938a27853ed6c8375252b38451584dc8b919c375b785283d530f0cea3b812f335b811822be6656bb0477f9ef1bb302b0e68f7af700d8202d1313d9acdc2582e16408e0b70b67ae898521999ec08b80d36792e00316678be567f75551c679bdec086c5778be032715f8e6fbb5e34ca9bb60783993cd0016fc07d1b759a64483ad9efaf52fecc2fde5e542ad95b9159e9c480cedf2768aa748a67ae8ed988e58fe549f2714db324eb5c83b395c7678c7270870dcd68fe2e937b9edec18649d3974bf2b0c162833899ad346c64a8bac7248731a5819fd2f88c5b6bdd6654ef76e5ccc93320afb7a781cd4e4ad0a841b6f4b2d55030a648791dd4fc2d15bf2dc94cfa75a06f24c29f7d49e26e99ff832d038f0ad007e41f331c687e8a8ab38061d262c76862f07877efab5bb9c5b3164b314ae3e5689c8cfa899505cab5059132d752909c25c7eec9c8558a47fc825e72d3d3c6d161a0a9e28e04fc4f669ad6b1b5d198b87aeb24a9320350de8fa5001e9a4e7038253b529a8cc58719870b07671dc68af40a9aaa31fbf54a57051e853f13aae6673f13ea100f417475b6f3a6e311f4b68ba3271f5427899710d22186b22a44ae306d9fca01c8c76a94f99bb704321c9b0eb2816b3419700468cfd3f6f8070c4c7357b41e0cc370975b908da8c9417f47240efa766718719aa5d0ab13667b641e9d1b6e6c76a2257871ee734ed9b1c4f22c24818abc89045d9185191a90abd2f3aaf358fbe49b632909e691f2474ca2f1499444454e53836c1b46e2e30991bd898f9211717105aad2863708eb9adfc83a60bac58c6c004ee90d9a838197509ffc23ec7916f44a335d6c8ed21c382fb19e8690ca0d37c5bed07ccf5ab6d0a0baa1116b1ff7203882434beec9a7e81014b834dff30656c13004af098816efd355a6be809116029f09d357aac044be4e61a4a6480730e9b6c6c66c6f50dbedb8281482bbd78758f1adc056ac77983165bf99e4924324100c927f1cd7b73ff78b324f841b849788b26e4a94665433c41240508cc2f0325a6051da5e7df164e095333f25bf274b44360e9f3513c038d8448741494823d653e18ed837cd8911ecdad8d4ed7f21afbdaeb579011d47662c2936adc57f7beef1142362258f2668ef9c73b9d3ab6f708a83b7d35908aa2901aa5e2af600e35811ea62d54167d0aab23afdf305cd016c495068f01e5b65720ed5a4906a3f5ff0e416c95b7d07890008a445fb9584ed52c8ee3452b335830a09a5bcaa9b775fd4412be6179769166c4a4fb41d6189f5d3a8730d58bc4c408656e01339a522f203ebe134f02254d20851165ac233cf6fe65530b8f25c36ae8df7e7ed9e19db72ef50f631d134315d2a44692817fb0c88a169a025f892f45219338922003d845f3a20afa69e2fd5cf3471de80134f2008ab252e9d5b8fae2403cd0e46bcf2c2b0f49fa7ca1b58af5e91d6a941416df4c5ba9ab1a305fd1710758ad542e7d16ec5af8f2209ca4251d598ddbda393673732beb0a4c162bbcfd9c1468777d2d23ea2a692bcccc2b8ed4053e21019466682e0399b8ef8549628f03a109c491070eebea3e547120f5d59b215c36861b68f510f97da31a6574cc5d307dd61c7c38ca7c19596d4eaf9001460b0d39115629c987df50750640af502f7fd43fec3f236d725c49a1c431d706c41afa213fe55f4b3e7b96e0098490f58169d2585c3a27bb4640702f525a7c61dc49a4c20fc26c96158cc00d083cc558252e46a4f25112b51a21b14d4191e7a511d289cd8a324c5738bb25ca460cc5c223f6ae9b47e61d36636ea8d1bf5f57afb51785fe4364bf6724148267867aebfc06f7492423fd130b7a71f43b6f5d9436d39884f28e79a255979121fbecb38f28b50e62f5b278c2b1b299e4f7f984caf8dd998ae927c16763d96921dd8d34333e779c55a37c154a69b286ebf2debffd70820b681d1138d03a366d15693c7d57f3911624564401385fc4ca8e1d42e12a9a46609f3476d697c542a0813d179cd78e7afd2c87b21b7b731042e376ae925d6cdc6adc614d03c07af28b776e502a7d1759c1ef5a97076b0ce5a8984a94e84bb17059d1daa9b09e2d5070415928d0292f5cf918838283fe25a12b1b01732f7b6e2944f8a2620a0300d93aef46d0db3f4d4cb324854db8a74e9b631fe3bfc01128a0b1e79f25e0dbe2b0baf935f949dba69d2b106ab6153e9174b28d853b10e0f4b24f0dafc60d6f5523acc19e0b76ec875203e4ef92c22e2ca65c4bfc83670c9c424baf90b78bf57f333085b940eadf3f9341c245826e731fa051402f2248474736a676b39da651d6adcd67d15403cbfdeecacc52be2eb2e83813a8ec0bef16fa0a3c3fcc82199125cf92a60b594e2f7900ce5c1eec8d8f6b536333ca02dc637375c1ca05150b22842d1e824395e3ae8d21c5ce38f08029b870c7b1ee6b4559bacf6e44ee5cee3e054b94a74aa2e7eb657c3e880993fad671009f3dc93be02e5224cdc6a9be03dfa0eaefc65cd584510176534a41eef189f7fb88b4ae4a92c6fba84f244cf64e7850ed037e8868054ffcf24142ed7d5af04383de8c7aaa239f1b5faf8bfa636914d68210d2f2bf27e78a846317533bf6436231eb762871ecb711b35f0bcb755df1455f8590d76326b59569dc92df1bcee32a8db30668f137ed87d487674fa15e55141396221fab8213351e4445792ea89c5bec968526c796516de0db25a7335eef81a3c5e6c80df4e55a00707b6bfd9ef1b86aea0d37d3fe4ec1f464bf845121b8140f8602d67c1061c7b84e326822740f98427c4fe4086bf7617663708a952e36b5599dce8a3724f5fa364d11ae5ba75926a2190aa548919a0ba1170d0bf42cda6382857bc23ca816fbf59f6712b5a3a53f8037b5fddb8f1c968f04969edb921f749f469222fc27158fefadc8622bb4d1f7e89ba55f637d88ccc46a70f6907cb8ec14bef14a10d234edb0905c3aa18a113228481a8aa6adf6327546950269af91bf7cc791a32e55855e0908ab608f5a85037f8af0f949930c10d8cf461562ab39b9b532aa0cbe664ebafda0b52b0a1b12cc5c0574233296112cb6fb52354ec1ad079af67d72f9714aaf4529fd77328b7fc850c8c28bc88d15866d70c76c92ff6cfe95bfb2a0425e23f5f98ce1f8928e4293f183d72af0cdf75b6b679656cffff1b1780571970cf2c672bca9b9398b66dbfa394e73f209ff0aeee89d06d7b622c250e675a352dc835ccfae3c5a4dfdb37493f8c35fe83ddc889aa44df4ff8d4917e559720876d874cee92146443c3aa341ec0e632f159476d110608de7b05e854aa498ac8487078ed246bd35eb8206ade9585ad45e198365a0c9bb6ed36a237f721d82ddfabf133ec330ec97976ee58e3e96c9fdb2d04cce48a9f1947ae1488186ffc0488d8f004a623754d796595f5a9b1e4d6dbac93875bdff5b5b409ff1e921ab1b0c96097013e1fd450eb3d8d91b7aa0051ef781e3081d9d51ae609a37b42e3b21007db82d4bcad5203fa3e878843c82f9a5329e6117eb13bf557349f424fdc8a63bbbb5bbe96ddac301b7e8a2c1fa34076110d6a8ae461b417265d6ea1b96145103bd5c0235142789f4f2a8d78e92d3f974483168c20e6f67c0fb834b181af5cf0431386b7a8b0ee6b34bcca896c2a466f3cfdfbca6f1a6a26f20a97d557e425a02a65e25e49c2d543ca11ef9d6f731e5fa4705360ce2206d84949505c8046a712e0e46ccd8cf858d438da048263252ab0a207058ab7ae8da4c768751cf277f0acd695ee9388fc9721f6caef004e263d083a566941d88ebc04e8f85a5276269ebefb937668d6723f125488353daeee0fe3532cf413c4d57c5b26a36b24254ecad73f06547bbaf43fa3d398491adb67c8402ebe2826a91e0b242b2f019c645f9bec6a85a16ce8fa767136391fcef05a6c721eec7430f0903d64644503db94550dd27bf0d0f09bedf2b407dfc217be83ef6b35bb6516887e1494e6008b9f7e52883d9b6dc982873eddca1d4379dee0134ce74bb15b9663a2c1406f959cf9a4b988996c22730ff13e2df09a888dac91580850fe54ce566689a56bcbe4e1d60223834c0d13e309791c2209426fafc7be0b40bcbde0476cef32231fe8c63479beeb86ca3e2db3a3aa604109f52d417ff8ffb45b0472595e1e10f07d06a33d51c819728ae85b93ac4a945c264ff34d5fde3e8b23a4c8716495b96958fd36c7cac0a5d19ddbb381a1f75390e14091546d4b9a8082640da63fdb03bf81859aba00183e214a75d4f38d1632a0817fa1f9aba501e8d750ffa625577e32607f4cf7d617b6dd0859db48e42313bdab28c65913378a8bbd1c5bfbbcf0a0c1e219ad417915ba1b2b0093ec33267330596905b038fa8cd3e947e5b68c49e3a2441bdcd34ad4e66323b5aee171ef8421f439297fbaf298c1fdd9f214b24931e4d0dfabb8829ac35420908f394a0684ff9b3b6a8a2cd7c061258802231897d3d94e15e383e410491fd4054269355b19177212b69269225eafd3e684afa5c5056d9466a2a9c8148cb15c4ac8f0f6d94bd3a244b870a2980525a1e29aa57a316fe5179e0639c04ba0f88b6cb19dcf486287d14699cb7a14b2e37b51e19887eb21a50cc2dc852d833e717414b3d147d8167f29cd2ff13c7015b8e1d0ec25efa665b90fd6f5040e1bffb5f4d4607e592327f9fc1a45be4e55a1f0e53c91277ae0c81395c275b609df096991478f0c94a953762965b51d45e9815396906d95a04b59f419a9ebdd9762cf87faf21ce2f7fd5a7d29cf86327d56d818efaf8cb04b522084afbf3cc4d99beb330bf31e6c0cc1de80789f266d3591a151ebd261899cf6b1ab8a5157cbc30e53bd18987d37123323522f905b366665dfad6f7dcff21a218caa5cf34cda11336df13770415ef62d482304799842fab828795df8b77765f2ee9a54556c6d11f513adcfa909c532e36343c65373370bf24e98c9517eb9386b7a2b218f577f838289e8387e7524e9f1421bb5c6502c00e8cc9dff1dbde2177a2cdb401d66f838b91d43220c6327ab520822e9114dcac8a54bee9d05aaf7b61554b6f0d78d5557c008bc774ae4eac335e40d39f527bbb5d208565f54df2124840c129e3113aa305688eae88ff0db2d28a524d972c4dd4ceefed4c30b25d5110e0548acbe5fe8518d98aaaafa86a9d1e75490cbb8f6e504ffec1695ce94b3c0e2e03fbeccbd425e9aafa68efe1114465598628037ccd2350ec62fe61988f799270b56f4e7fcfad76d245632c45c10decbf8748f82297d620fbed0ebc4b6dcfee03de98e358e81e8f2625175eae4d8cc632efe38636686a9e37af4bc2266916b93269f71fd92d83882520a2c539bd27949bcd64a3a7015f65a248cc096a3642bec9a2e2acc99923927afeb3bc43c41eb0c86c0557c128b9f3a96739752794909ef704f6340482f9576a608b064515d7bf5d64ffed0dd4f8d1daa7b07dc409732c37c4c91b9b00eaf34478d9be517554f7e839a9c7b826a4ea0654e8a9ae74c5dbf5b841a19b86497e1578cd5170cca786f234a4abb2d2a01e3157a2dda0f28ae86e4800c8940d758b95f7b008612013e0e2adef545648fcb6f78b7790ffd997d2871a53d9c3f9fda2d7a7c4021a4939a3253e704fe3e4289cb52f6596f7e19e33dda3748a36c2e9515b4bf832cc89f869b50946ded7de740166899aeee8c5190fbd2b1bb1d563cae5f75f07993486a21c37eeb5c84035b7a2b1376078c4ecd0646da11ecc89a3ca3ed68d1473c1a87e96460d24de99d2ca5fd34eff9942aa3cf6957acf7f957a0699fd942c09c228a29732d603b8f9689ba9422c79d5b38c3c550a096a89662c0b3e64d751c4e2c7adcff14399630b925a8c7b5b2d28e2617180413cea681f8f3ea4a9d76fd27e6058550693e69595f3f7793cf4087f39d5cb9111ddf18364afb1d36a5b46a81033d33dbb4f9ba52f7a709d95cd9402b571935cd3a90ce21f00bd7ea69855655ef056ff87b9ed810e7c9eb333d84797165027c07eec2110a6ceb7ed438d0a90064480c018682130ffdbc2fcf294e36e5ba5fd2dbf6e15451d2e21b98f40187ae5eb282342285feeb2fc9e424df396a373f79dd86708229ba26b9202572568121f362ee93f1189dfa966676ce4fe3d59e426526f5f59f3bb6849bb7d8a2c3f889818913df7d837d0b8626fea7a9e82a9f0b775619e3a336fa80100749798d4c5b43d7cca57ce69fce122e8e4320e213cd685f230756e10c760432d6f66c5e4a9e3fd45df94ea3a1ae719ee9f3bb6f24d265bb628f019763b4194b1d32b56215b776673adeddcd3c87e56b3d7e6e2b78b34e2f6dd363c65b38552605707fb13f396b6cf7a71979ce135fd79482865174d483947472d7505ce795f591d9946f8a881cfef13d8c57cc3ee7cf933e800bb152bac032435dcf5e458d14c5bbeaa447300a8961492add885cf4ef502b2a6c5ce3fd999405e59b5ce5039b9ee6eb3e3adf6b7c27f7a6077b33a34b64112ce7c5f6e292d8f56c7c77f1804cf26c26632b4f87a8c72bfd44bfae670eaf78493ccf360e5943056c51251aba27ce3eb36cb69274cd5a221e7f11781811566332e5b3af37a270be26b3534ef3450402e5d8c1df30d91962b46e147440c2932154211adc41783ffb6b5f3a90446c41a6da27b3c5204efb9e3cea5f9be61e56d18ac1036c346bcdc8808c7ee7329e9725128e16323cebf5c81cfb550cac4a0a893b852e1240bedbf9e960805674876272b1359d40fc1a875d786bb85ccf9c047684cb58e294409a4465bc75cf5188de3caaa02c11fb2ce840e2b3d214deca8e062c9309bc8e67943bbd418ba82871013caeab038f42b525560aad655548349e2d083c8815e1b2810c8f38eca029b666e199e997fe84a93d7f17289365d935eee553224ee7e736ebeb7c68783e09138006981082f0973f74fe21d360e70ae0361fc972ac27f802c7c7cae703efb433b0e8b383a967ac2f16fbf7af15599dc8e4a8ec0a39da8dd906d792546ea97a2c6ab5cd8b02844e6493e854b0a7db298062ccd716dca65bf87dc2112386c0dd4b5f6de2db8e4a6d0ab955c591b2bbef09807a53b2e1292af1dc6ade701dc46683b9fdb00a02ef05c0d66a811df60cf95a942a11ba48b6d73e6a53b1aa11b4864cbdc654cbea6a4a18cfd3766778ee6c64a864eb61ca434aa65010012a113a1ec436c187bc94d89daef2f6a0ac48fe47b968c220b2247b93d973adb3c2459e34c8adb45cf4f7ed230d18e5cfd6c41f551f31349329e5d24944f22a08a596362678636a42549772ff12e7ae38efce47c68dd8e9147d36aeca8a6268c609c56732158cad41d38224c4d3614bab519558a34f98b1e8bd6b983b7292f2c24272353d013bd61a6a68d1ffd1317372d6fd01732bef0e1765fb3ea430a280b57cc2152e30b8e228ef599199cd4951060cbeba3bda699ef5687a927cba88fcefd9a121f96928156545ca01db57518ae1d718f27a7b551415dbdc7acf3991df1506dc17b66c1adf14ec86349f82e55447bd76a150a776377dd03fac8a47080d8d2147493bfa7866a36556ba705ea12fe022ca5393e0b458d4a33dbbd2b41bda179138ab8d830d47036bcd522e6d02cdc99ab5bf98fef2ec04847da1356f18d398933d4e20f4d57d7183ca3e82e8504a9c3b72f7c41cc1c0c35055c532189e5a49d2fa90226494587c6589eb74860c5297f3998ee61cd0ca6bc16299e02dfbfe3e8d2ad9b8ef3286d81ab3a9e8ea37bddb57f2f6c08c4dc4bc7df54e1809ea84bc7d135ee0b00dbd80a002e938e5f146c80db7e3cc0d1d54826ebdad0211d67a38852c67f959e66b5ffe43a16d073533dee52b43222dd00ceae07a034d1fe5bc436e072433dfea298a48cf9f4e2f7ebbf2d6c0462ee2a90df0a7c809b1e4fe6366fc8fbd0dcbe9716d8f0664abe5535e8ad21b7035b76f21ed0f8ea4826ad5a1ea7382630707593fc122cfb1e57ac80ccef7a5a695500cc392e407127a09c023c3280e8b51297605469b5d68b2ec9f297452167dc13eb4956faffc4710103c7c8f2370bf1a45b851b6082df0134a18a9b90e579e4d0a4ae1ab78809ee01f42712402d6c0bc45c3f96df051b66402b560026783dedac54d0ed58de4631e51aaf590198e0a434bf15f9ef724c20e67e63f92578f63d7e6a3d59d7860663391bc59432b6d70a608291a569552f5a8ae5ef164096b1a7d62b2b6de84c2c6751489f2ebddc2213cc05c098e83f42b009009c2296bf283439635b5720138c206dadd4a307b1dca568a58c6d5bc14cf0ba34c36af95f744cc0e57858fe46b1a419dbba029a60c4ca3eb5ef342cd7c8b34e95d33459ab4707d4720b18f71eff747ab5aa067dd37257857ad2a5cd2d35c17fa8ef17c0123699eba4e535ac2523502db30845f42f0cfd1e935f8a0f10bd421439a1e185011427c7e52c0a5712c60337c0fb39857a2303add8a4ae59e22b0117e106037a8e8ccbdd09579ef19fa4a7d66ad08dbedc067ed980fa447ab4aa06fdf67277459465fc93e9a915e21b510ca4b505ce1185ca0f57301e19a7319d69317a04cb2a31e846ea9bc8c206e345f336237db365b20315c65ddc34c00d72a9bf7ff010000a405181d76805d715768757ae416a4c3206fd3ba05ad82315fe47bbbb5f7c422404eddd6defbda59452cae00fc20fb70f2daa8f2daa8f056725b6fa562cab8f65355380c7d2abe50275a1cf3c019e7b64c159617daa95d89eff542c249cf039a5e7141fe23f62d135e04fe89a95b7cc152d490781ef4a178ff2aeb5c22a69518e1e256c1b69dc6ac91e50d7923eb46bb16a0ceec17adc46dc3261b93ed69e5fc9a93178c3e04a4ed7923f558ff295752daabb56cb63892c9fef5a2e12e9e0eb04ac94e7bb58493f8750879f3e694a5d4f8da101a518bea491982997d247af552a1d85f8d173a558f9e8bd5656ae82c5f4d183a140f1d247094b91e2e2471953a1919829155ff9287b4c1a8999329de5a3f469f9898f307ffef8423f878fb2a5836e39e916573dcd1c728bce2d39b7b0eaa925d6b26a81d553ec848f7a829dc8a9a7d7099c7a729d50d5532bb7fce4969ddcf242c1a7c2adeca3fcd963e9f5d3a27ab1b4ececf9161549fc7c0b0ea9f4d24f3dcd9cd0f30182489f6fd121912e8a9fa22ef9d09074a982ba14e3425d8281ef684abaf49a6781d5985097bc120bec856c8163e9357efedba93134468c52383ca4f2e73f558da111bff2f90fa7c6d090cef2f92fa7c6d0806ff9fce7a3c6d094fecf7f3a358626fc89bfe195aa59b908c372d28b968334383ca4f45f7ad63440f8a46a4e3cfc285d28c0b2f523b647f9237f9e459c13596cc9a22a5cc9a14f3dcd8b592ce530832f60be578d115bf534efe3d3d3138b8d12b60a7d5a2f966b458319fc902de62575b1f140c80e7ae0831f00a9810d6e10040841182284211001073c3950420734ab9f3ef0c882f3daf32c3eb2d2595ac413f90777bcd40d122f52fa39b8a048a1223c29a782a6930e2b3b1c4627853343d28adf2001a65e7e83044eb1f80d125b0a002f7d9e05a7c670a0de20019382d11809530a1f215bccdf20f114be912de6b18aba989f6791f109648b790064dc43b6982f656c02d962fe256314c816f32b324e816c311f66ac02d9627e878c3b205bcceb90b107648bf953c61f902de64d198340b6980733e6215bccabc87805b2c57c8a8c59205bcca3c83809d962de25e316c816f33964ec02d9625e67fc02d9623e672c02d962fe198740b6983f91f108648bf9968c49205bccb3645c02d9629e94a56ca1b5005dcc52b6e03e8b60d9d2b65cc2061ed8a308a4c70d83af2a8a559bdbb20917dce036b4948c618f9b48e7e712f0962d255bd8e3369580ed962d254bd8e3b6a2b19e7a9a31227bbefb543566a4c40ff6fc2d42ce9e2326f67ca6aa3132f5e564231ee0f1539132a8e3819d69fa8199fef420e9fa70ce872968c0b3b5abb67b14c5462b1f78dc56db6a4e1da67d6f3f825aa49729fa6d53fda984602aecd60aea27636e0d08e93407cd66dcdbcc86a4bf1b7a9a97a92ddb4f454d9b5b82bfc7d14ad5a23a2bd8e3c8355ad11b84a2aeb6adce44d3404897a193f4497a387f31498f56a31de0d12a877eaa2e34033c6ea3d5885563be0de34f451aad3e8e6224d2499a86f4d518152dce80342a07b5fc547b9e5a7186a4b249a964714685a6e2dc2625412251866c820843441c604ac411bef492ae213dbc4cc9ef9039ae166bc06c7a181b309b529d237bd6620d7af505e8ce512f9b20c2905d6176cdb209212cd934530066cb8759c441baca55744de9a4cb1498451c35e0552e53f26340658933e0c3879a06d4d587ca68c580d24a9c51397850d3a868921eb5eae904781cad724ee86c998311a24d0a9d1ea841275de8dcb907182fa8495ec2c8bfb0175b0c0373c9635f2db3aac76d633a5da4ce215b6ce8e46d912bb446f9ba428fbd836e0b807b07b8ebeb48cfde41b705c0bd03ef791b3a8de8887019339f6ddfdd2cb7c5375425536344f98f468d11a5a76978a49ef1fe691a937b34de3b2dcacb14779b9485c0f77bc38232ae590b20f0697d434a2a025c448d91bf2161a07cb797408d019d4abca5953e2ff06ee37da6d3debdcf884270f72e4e3dc3dd1367403739e82637e9bc2c5326e2fc8eb9c5ec33dbb7385fc3535fd37d7b0d8fa667f0bdd76ce2d462a667ba6f5a4c553de31dbf066b71ea1bd464cf807ab221181667f7ed38ba6fba86a726f4ee38bc6fdf74cd77ef32358f6f930a65ac69260ecdccb149752659fc72e8fb6ef299ef269f373131d10ca827fbcf7e37eac92ac158becccf909b08917c99e70efa285f9d8989fc7496c1ed58ca6d673e967242e888f054db5eba6c9a2254d40537afcd2e13f0287f8a68d115e8965563f08641fb739a679cab5aabd52c2bf5b871206c2d6bd3a027fa719b98068db13831dd374d84baec5112f9d444b0d555fe50594fa37c71a0230287ac27530e0ebb637d686b93fa3e3f1cb29ebccbef86c997b7faddfb6c52def790debe99d03d4de33da4653dd91debe35a9c99ea2e3f2166ca449bea49cad493fc97c5194e725dd7c99c93c7bbbaac2edb3c5ad868daea49dee2d498ba6d1883381586039b2bd85c6dd89e7a9cbfda664b96cbda20ec11dca3655996b52cb962c45b669a8d464d94a0b2c1b59378fa80a29af9440bcb8a18964015520acae8448443269fd781b84dcbaead74ca177a20554aaae5a41504f3f50217906acbfb8ac15dad389b5a6f7b4998a4924a538d99dc250c56637e10d4a38dc1401063d59e3fdd5f75dbe89cb447b5afde547935699dd76eb84e3dde9c4d3795b6645351140f6ad2b65e9c26f0a8fd6c2a8a9a734eee33c571f3a13d396d63f534f7bcf6434d734fbda92cec9e008fda8ff6a32da1315b8abe5a588d019d4e1f95ca7586147dc5993edcd3d70fe8d8588df1dec1b800d6c1a6bfabe9c3bc8e4ae787099b88ba89a87bac38f709f285fee6fb9a2c28ab9e76205f3b5887e5636b63706123c81b84eb06f942afb141b2a05f428231f080ddc4e48ef5c831dc7aab2d51d17e54d445d540c4191aee351bf0ce691107d79dd33ca2a4a6eef5bbe1812e4329ce9c3fda8f06ab27cad2349606db34588dd1d8204ff41ad83ca06d5883693ff2856e3b9b8ef683e51e379d7ad274547b3e67cfeb4c9c3de96f18248c8d0619e3c953cff4e1540c12550689aa2ff5a0b8219b3e5e636a4a5e4e1fe6962e7bd2f9da409aa6b6d5963918716d344af242275de0b1ca1d9c635a9a04961fe5583f2fd6b02ad5dd53a5daf355b6f69c1b359d00d377b7094c3f4e1cba8dd4877b9a83881d760351893395691cef24d6086dfbd0b67ab4d940309069594ff6929a2895c0f502a6bf4dc0f4558b42d054366f76dd35d312e8d9b4ba50cb44884b02e658f544e54abe5425e4891e864b42fd01abe6d4d3b7473b78722c499f8940c481190724300c8354bbba7e322e10d9f472e47cb609f79103032a8bc94900ef2317864d2fe700709ef23e726400123ace1e3d9d66e8a28c8353a1675c9028494d3d49c0d2083d8eecbbc70a8b653d1445ab8ba2a4117a14d9f4b508cd90d0235992cdb1ea6acff750d45873a677bf9be490942fa9937f8a33260f3da469a44dea0bdd78ff3a1cd0ca070b63d259abc9109563e17a0291784a4e1ec62a824d3f5d8043f73ed69cfa81e9a27a20e7f45505d2874c09c9826695053226db813cd1c3c0ecb0430e3988e21e6bcea6a3d10c3c72ac2dd67fef11c2f342ff740dca43280f855e33bae75da66eca5a80ff6f6f5b36710407bbab55d66a02047f38680a5f86cac801ae1fb715d75363f0258cedf4dc0fa40fd929cae9b920c8981430b67f609563fd80f394e8239704ee8700a28f9c1136a529bc04105e7bee916351d4183ab25d143566b18d84a22e1c36fd123ff8b1e9b92134667245363d0d1da1a8717b6dfcd00cf0b84d0cdeb499fcfba76bbe9be80d07e92637d135262769594f338f9a6ad3ccc78e592c8b559c5c6372ef5faea19f10df43975f024cfe657126f4efa17fba25ce7837b97713bdb1ea695bd513f534fdc921fdbde40bfdf62200ecf5dab00e1ead4877dd5df5b65786534ff4dbb665785b2580a64e74b6c3b1bcbd79f74e6bed435c1164cc46250c7bcaa9a8e0844d7d3826e69c0f7d31a60562f22c03c1d9522617651c30f53d25df20614a7dc7015326b7e7dacf6df50ce7f6d4989377f79c1ef1c9e9b79e1a7302d223185a6d3d7bc379a65032d7ca1cab0d586ef1c6cd77938bf6dce215ef3dcdc9bd5f3d133a3ed634a2876e9392316ee89bd0459af3e942d9cb219b148dac27716a5108efa1cf3ca46978a69e095da45f1c0dccb5692a748363a53625d8be7a40bed07f377955fdd413c7aa7b561cf9426f921cef5a0f1e39d6edb93e2fe096d098ed05ba616d1bc620c8b138d6cc786490aac6806ee8899e6b81786c7a0c66b1c74c590c268bc5b89f5716cb623ed98f0a278763551d9ce5e0bc00e36c5a045512bbb4650b0e393b74f9ddf02e435fb8e6e45e9b63d1c9b1b6c4347cb097af5b3e8b4d1facaeaec9620b12c6d45509f285d294cd74dbcff081ad1ee5cb059863b53817f7e2b8d810231ce0fa91fe703f90db76cbedf040b75987c7bda88972aecc15e18c7030ee08357131f9c2833956f5c926389bfeb339dbb643a94e4d8247f9daa384cdcb0df9c1f5f35c8b6305c194e23dca160d06d418efb4e2d194c56a4cdd701613a2a63c5d7bea89fe0678e4aa8b63ddb04128b6650e46743620bac316a8dd94564a693da62328e90704907b1040563d01641a019c486b4896b1b21585031e796859eddd7988c103114ff3d0e2de80c76cc5838b07229a8716b704d78c7303b6558563037e566b6632042cb70f35d1eec847849aa8e7ddc4f328ccbb9feeda7368fff98ba6692050ee7e3a9f4e49e7935529f7fd6254dbf9743f9efe5c9dee6230b9837dadd68a0ce483d6ec2d3aad661dac050b908fcc3ee3b84b9c65d94b91d70e63262a424d944600cf56b5ba3a3d6e9b1e313e42ab079a1e6460f8f0c9819c28b4523440fc8516675ed0fc106372e3a34ac5d008e03405e0119d07df263580bfd80c4080d45d04e001d034fb2eb43883ba8bbbd0342e8efa004662c0d4f33c14cfbbf53c6f7cb1bd6d35f6b0afcbbe2bd985d279fb5e16a06dcb26aaefc74ae1fbb1d175b7d9f6361be403e4435fac61bb5b1bfa96524a69fd646cfaa0cf2f639143ae50911c0ac15e7476b5d0303ad3a1cc950da1a68c9511a1267a6190c41072522fb24c659784f16dfaf11ee65585832bbc5e7033c807352d0189257bf2f0924b4022c9a6291e8ccc2d5019dfd696c0ddb3dc30799c1b26945d43c2c643118efbb6dc6519565fa664aa6e1e5a557f26936b2123d7dee2f3de79383227e6a1677a5d111b752b60dbaecbe3024c2ebbebf41034db868a00e9e12157ce2df2cd9ed953efa3b5396cc6a228db7dd6da8cb5ca8464abab096179d9bb2c5b65acec7a455664ab17a7f7d6016c07c0e72763fb08d22f3003c82d32ca8a9ad5d6f1628b776f1ae4839aa84bc78b6da2a2b139181390f775937ad65e6d3beb6dd5bba4a6eff7f79b91fd722860ac35b11664adb5dea77d9aa6699ff67500a8280e8077b7c5bbb7f0216d97bd9ccb2f2f2a5c56b0f88a4b195affbd666dbbcd36df672fb6cdf699d5b4cd665a77005c6a97d969dbcee266f559cd6eb6655bb6655bb665db3bed3677353c6d7a66d2238d2c57ef99a73b9d75d761d3b69a03744de760f1ed5db63a5ea8388b03808596d4a4e21ee69b1e5d568cb3e33ceeab613777eec5865ef4ded06bfb8c5091d0ab0668d7dbdca2c5bbcdb4b75314f7cd24a6871b134282acbe18a5aa534334528308a12ec61a64d79fd498f88306a9ab1b875d5f876c5b49fcb87925afc6b460031e5bdcbac6284a0c3f771376493c981dc0006a92b0927e89373182c7fb12318c6322e1eb5750e0bb288ea69df252cea163c546b98e157b74f9c940992d8a0a750e948f5edf7527efb64d1473a0fc84f40ad8ecf0a2500cc110d4628dd2c1cf281d148521e961269144b174f21419a39f94f40825cfddc1c834148031a2bc02361bfc68f7c94f6c780f0fe61cdec3775e168197df8c1ae2459f215ea425359d68508f1e788c7230a300c1790ac687d061ef083fb7fc6cdc1d6af19edc27233d5b2979b2a809068ccf94772b7abac65215094ecb0738109d9c8c738fa615359e966ed5b3f8a2645b7c89086d8b2f7d5cd99ef8d23d2aba58cae3bc8e938f5e5142b79ffd542e3f1b178db23c39cd35b4ad926d844e3eb30ed14347216531f494a3bcf68ceeddde03aff20eccb5a7c66aac22b11a4f4bb7ea597c51329088b174efe2688b5eca3a4447b92591e8ef4743ca541489f310456cd167b6213a159d9477d02dd21448f9b7484f20e5b72922f8c27ef9c54841798dd51e1325e0f028ab2cecd70cf6dc21f80bdbf51b8db932ba308f367b0c0fbe2b82c6b6276137ab790467a4426a6934628343683b05447917e63a3202063fca317aca738c1ee6514eb998eb8ffa94995dba97c7152d8afa16b188a98e153bfc648579b62c15702843cffb897791042f3f91a2fc248f1b1eaf63c5dea93a5dc063d5116d7817ef7d022cbf377affbc8a849eaaa76bacc64c5cd8e381f1517c9cac98e7799e98bfc34f9148cba05bf49b849a481d30010c3f22509c5f8c59847e31a64b4f22624b3cc1ebee5c11c53b9c2f8a7c7570adf775223a782d0778bcaf6d13817a1c4d3bc512789cacbf65be280a7ca194c08d088a474f7e45bf2f91de5c7a6b51d37e55d1e306c449baea3c656b996d0342c3d00f3dcc727bf74584dd29f23889ecfa1d777bde517ca2c8138b2844d14391e7d621df1e374767075f1f20c05ec0e13d5114a78e0f62a2862feb0a211d9f145249b9e81dc618e578048a728731c62310d4a2cbd4514a1e4998443a89744cba8834225d9449a4cb6f6437891452f10e4446d42deae2da0f7c81ba73a85c7495cf874efa28053f25632c125df44e76d4f3320afe285b6ac27a94a5288fdb5651b94a27bf19e14bd9f33c319f3ccc929a54543eca20be0c1565958fb2ca51f2102a971f96d173083dd5cb502ba3a2272b08ac18107aeaf1f6bc60e8d0dca1a60a0251d223cd2ef9483c4211ddfb0dcfe8271fbda3689811d111207a0e4f5f98be2fd1357261f68b8172514479b2f26ccd935c63d4d4a3013c5e3cbaa6c2a68f93e523fa6489b088c33735097551955017f5273ab0b828bf1cc4834e94e95ed57107dde049efc03c577307ac413680533cc5bd8f533559783459c71fe9115f45aba8e8ba5375b23898f0e09c8da2c65eb71d7e6a143de21d8657d127fabee44bfd480412827700028249900f0cd788beaf0ba32eea4142c05e9d4500f100d3ed7dd4c2de77c20200af2fafaf49286ac5ebab0f45edf0faaa84a274787dfd91304eae4267b2a857f1fbc9a0fb442443afcef4616b4d1695eef18a466791ef0b00f91a79c917b622df1df2d5215f24add3ebe923dd93c8538e4f5446bf49286adc5454b0cffdb9a9adfa1b53199db4286abc391b91137d7be48b0df07875f6d5a1a8140d04c651287a0e99ac583d555c9350531d5df43bd27547944144b0f7b1ea64b5d299657233f1b4985d8898a7fb32e5b126d9f52af258daa59c228b5347eef9a3cea913f350e8117c795aee3a87501310f91aa1a7da4d17177d5fd454453d5b7ab2a849eb0096cf214b4b4d28c707411102a21ebfc557101cb17850d798986b8f28e28b771f147fa989b05bf4156be7db2b954a7af48e2f238a7af47ee2f38b81b14824fa4baf4830016876e8a1c08fdeb1aeb1cecbb5c77b45424d5514c57a4eaa4e8d55e9793be83e99aed80d8cec71be26cbfb3859e2276b0e31b2eb676bf64c2534a65b4d224a14d93547892f6c9c3dce24bb4e23a227e3e4bf0c0ddf51ef59ee1379ee1c7eb628eaaf304451d4272e93a53c0191a53cc1c8ddf5729e43a8e9449eac24f81f424df5bf277e24decba11eedf69e51275e3f87d46d13c18f7ee2f68b71a2930fb3a747bbc3f0621e69b61866d1711e4551c6146be0978e5fbae85d075ecce0c330bce8de452f0443f1e37d89b9744f64334e1b82f7b498c74f4bb7ea49717b1fc12d6adbfbb8b245f13215cc4314b14ba27b08280da1edd2ad27f24abf766b2f4d3ba2c5288a7bbd8644eba128edf55a12cd4753a2fd6c2a02689e01689e19f3bcdb735f9e77946cb72f8f6e924567c9e17116df32436ef0277986dca59596aced68aa6c0935d5b3e4ec27674aa8298b6547708d79b5fec69ab4018f5567fab4842cb163de6bac564fc9263dfba931e2eb676cc2c6f972b54ec6fbd2543f3649c746fa44837aacae5d435dd2638505d9dec71adb55d4338811397b4479285e0cc3d2ef8ba28c50942cc2440f8ca248bb3e53653cee9125c476bd3fbb6637bbded8ae37c9ae0f4ba2949848a644c04c8f641aa34832eda939d454ff439e3ed477d483f1ba42c97795af106aaa3074d5d1265fe89e1ea7cf2e89337622ce97288ab17aaaa28a288a3abc0c73298f777557fb0ab92c9335e0f0f49b517f50537da8eb4e1eabce01e4c1588d992befa4d6f69ee2dade515edbfb08b6bd9f5cd618ef22efd86eefa08a9e41a8c93339a93e258fd567ac3f566571700ee551c7f4d9de4d5e75b654955b2b6f44a8a9eacd659206dce5fbba46a8a99ecb17768fe41bbb37df9e9b8408f86e5924892b6caf183ad3d0842e6785cb4db5561a41147133f3a2ce173fd07aefe7d4b1b26fddaecd2f64ece661eff3de23f87e7cf18347b383a0261ac40d6aca348d1be01166d3173fc8d8b9b25d9828c10f6d57760f14a6c67c9f97a39d20abb55613ce3e62946c93756e109898a2aefd62dc9ad5d7cd345db255e3d04997dac57c979ee77915c8a781ad7fa0a7fa1fa8a91e4686d3dba6a961c60f346a8dd7ed947e364ed4d04e6ba67ba026494ddfeb27678e137282b456503f3f9ab4ab690680c9644956ed0264db92d00335d19ba829bbb485553ca601e8a40ed0707ad018d22a0254be944cd5a693c79d37286a942d996cd3cf501a14f4f92f7b990157f3c1f75e9e4eb7adfd078ad2e8e9edef17a3de29d6d0de044cfb076aa21b35d1172f4c3506a4c16dbb803a5bd0d13e776690da1232896cba43b36bc7ad079aeaa627444d697aeeb8018f73ee9848f9526b6aea7c31e6d4d14e3f7fb8d8d4ca3cd5b9d46ea09331988928c46027746e04c6954d29bdaf59c7ca0808781cadacca3f6b46c91e3d9148548f7ed0a240c257d2b51fb8fefee396513d6e77b41ab1a88b791010ae476ac370b46a819a52faf100423a2569512cc60e4ab0aa53de7c38d4c57c280d7814c57c9002b9ad90d16a7e3664c85f51cf95264ac70cec3aafbcd644ca176ab32b10d210d0cd2b057bfc7cf07081b59d8940c200e5ceaeb5f2ad95a4422995716dcdb459b5cf2fc75ada7201926dda46ab4ddb3610b4232199deaafe72a8e9c351024f0963d6d3d7206c36d544dcadc3b4bf9c19f2e3a742c36acb161a78ecf9efe6cbf97aec798524ae2b20d9f32349256b484bb3368667a2010cbaf6217bd4da2322170c4ff1a695be9eee55b2ace7eceba669a5225e10b2ed35d92815f1c20eb6b5d9cd323b71666fd7a2a8f1ae369179f92cdb28ea7efee34151dad783a2388a027d5e9444d4b33b69fa3c4ecb9df9703af3a1a6e94d6e9ef40e345a8140a31545d1116b141b25a131a4d5680845c92670900448352a327ae9bc5aa0b3c7116ccf9c267010648f23247b8e384d45514bf67c4704744351b6468d2c0430d82321f4342f43472c3c663ed94a53fdb8ed3a16b1e9650d2534990f45f9903e9f29a1284ad2db36640678455114f51c5ae9abbe5984e492b2786f935279477316c5acbef9060dcf0c690203b8696d0a6c1d03b8696d201bd07a522a27e98dead14a02903e522dea11c5ec967b14c5443d1425b59e944ca9b49e948a16c194094613c60737d8f512df7bbf9c6f86a6686c52bfb7ae5434156f90481771a8b4eea5393d76d5b5f6605395db903ef3934e4fd2343c2a9ae605cd0b1b91ea5278f036a9f1c556c9222565916a51885fe53848a46b53cdac30c03fe922a51a87ca415dc333131e7c4de92ac7015ebca86bc2d1d400fd1c661a2a6e7ae8624096b01bbf980099ba88430927e4e088243b2a55cae5f38b71e3e608d25b7e0449d7f08842800f3f033e044ff5ccca4b9a4602f5344f3c250d58a6c49815822851838e4a950a7b3e7a319fb84a065fca2b27651eaa43f9c372922e82866786f413e0554ef54ce92b9a66e5a5934010c7c78aa699383ede32f240178ee0042de8a854f287c311400a80d0821288600a3a68f0d1a29292a9952c532d59a64e6499e2995139e924d2c3cf901eeeec79928b74164d33f574d5138bf471ee90f40e8beeb8644a8404922d9021a64a8d7467cf9b3265d5d3dc30c0298ee229b4486ff3f910a9be71f3e5b0b04c8938668af49922f1cc843ca2102a073fa3725045ffa8bca469266cfec894cac709abe1991967cf9e35a016679eafa2451cfaf95ad3f08837549e009952d1b29e70643f2810430b5ae052a952140787a6546e84ea598b33a483271dd4a2d8fc49510396295a878080074d680212952a25532a7a039f0f8f148010841c952a451225358da39fd7aea7197a011ea96bcf93a89601a6396dd8b7fe6292ce41f38ca3954a675f3d8e5c7b7ea5491d29db1c5849b43bd79e97584e717bde734b4c29a5ab1eac8052fa4ea2b074518107458d37c8a84551ff6e288a5bb2e747424644f6c4a2184599bcd63a72d55a71cdb8f1e0beb27236e7114b8f84cc9d996c5ed7b53621d43445d90d0f47b276c402c16d1bada869c4aaf52321d434b5d74cbfda512fcba3d588355a81284a8a62d4d4435d6c2c920a68b5a6c2cadb4a0d98be7e24240321bde66f42e8364fca2224f434ebdc2c8a927b8a623ec023961ef5005f2d52183d424d94c25a3c58c2b6614c440264caae80a8ccdd8d5635e63b22f48560cf1ea13d8a62ad1ab3ad8ae0b35a7bba48392fd828af3d9f6db9840d54b0475bb69434b1e5962f1d28e1b65cc206397b14c5c21434e0aa6a8154530578fc543bdf2b4c61c31ebfd5a76aedc9fac69088faa9aa0f3c863ea1cfbda1cf0d7d6ee8e3dad5564af5583f754062f830565a89c1564ab07a9a47805f3902a497a92342ddb5ea69ea1a5077ae7afa545deb55730489f410c575cd11a552a86b48e17378f82cd61c218a2fdde5a596ff3a47b09c03e08f6069d135a278151753fc84ae3962e51c0065ea8895d3e0f0904aa16b58c0a7388842d7ace8233840fa112b47f195b7bc65e7889bcef29943451c90a8ea4e271d7a67c92d2f530e7d54e4133829f2899c133e5c7256725eb3e493957ab61fc1a24b47b09c03245dc3811987d4112cba04ab799a000f3177d7922ff3b3071e3f55fdf8a9567b6481b16680b3c7959c96578d6951792daf1655cbab45d5f20a96c2e6cb48f56125135e48b25328284ab6b5d5ae763601989de91cdc47280fdf8df208331af11e8dfe1a533f1abd933703799908b0849142c298356687db968fe056c15b65dc544aef76c82b40205085d5188a899e1ef620bab2169c49b63d9784a2329c19bc1075975f0d8b4d3f89d9535cd61831d3a2102aaec371d4a7d035295eaf83aee19949f1aac5aca65e8516b3cbd4cb65ca5e5eeb7011cbaa78777b00641af564ff925ba08316b154744f916bceea49db4153f04950938d91657986fc9ee5116667ff409f5f0c90be990e980d24c5b58b1fe89c12f1d332e8fe402aee0847fa01e18078807a7048ec39fb0fa4d51c9ccaa3f6b0b713fc5859a21c32553dd9a3a82c17fde911ff26138cabfe50937d5d5193cda1bdeae81ae41ac9b41a1b62a77d8525b1af2e7bed66d8fe0a912f96c8b5779a0692e2f71de9cb325d8754568d49a139580c0e49f691fb4151d94e901fd4642dce34d0b3ebaaa36bab0ea1265b593fa80b1b84baa82b8aca3ab0edab0f8aba49e854211286dc1cac9eeccd5a289bfb66df474dd3ae3d46519ac96da7e5a0475033e1621ccc66e7609c0948e360958bd9ccd2a9832b4e6b936ecf21a1a894db8ad3925a94ad8ab0455de8449fc8c80f5da686ecc33cc2ecf074c5aa312a6e4f77ec0f55d518152bbe0308b6e809ab312b348bd641cb7a5ad129b4ac27518fa07dcdafa7f02a72c83dccdc4f5e8079c41bdb226c7b52b64f69d1533665943c72dca791f9d2787875e155ab767b5ad3454d56023a382448ec914bd2e3a2a8ecbbc9ed67ebe45664b78909e89abd7385339e2c6ab29f288f3ba87693909e4196d0c1cd124a24b1abab8849fe1efacd1fe857a61ec0fbbe932abf18273a4716fa3e6151540efcce88cdee4fdf1cfae6b837317927ca817f6d7ccf9ee3dec4e4ddcd18836e6223fb775096a28dd0b387b448014deff0d9190804d200e0d3051f2c6b41dafc89f5f874621134d4648f645b2ec9b647ec7165aea61013ee0817a326fb2fdb9b642e09ae2c2d5395dd368c4130cbae1eb5f9d37d9c3f1ae6de53644b26bca0b35bb664a227c8e6eebdf3b22cb789959f0dd9dadd915013d773642ea92c0ea665989d65ba6d1873b0b9c4e20dc4074ddf9c6973b6b5bbcb620a4b5023d464298cd222d46465e88809f816a14628acd218456537db9e2291307a2cbef774638d985559f5649f69bf1c8c9ab815e66029b4a869955587d8d71645a56cfbda5395d0181d629508454926900cd916b6adb535c9b65ac6c1286aa4ae6d6fa5e58e5014b75dd9585fac2cc5a7e529dac87eb3a9922ff629f256068c43c5451c9f32f02181147c5229b43843136ac52189572ac5e9a9a631f11881ce2b9542d31891e246d03824e1c1195229348f8eed599d41a8c95ec596c589c3839a5c99c6ca6e8a2033879a7a5093bdadac1c57a6b3357bd6adac6d3f7dd418fa3aa322062da852f432544596a91459a6403a9a06d1a3932e333774103464350035c9abe5d59b96a12659b7ac59fb83d6038cc96565cb0c0465d563fd014eec1c3beeaed656cfd6dccdcd4eaa4d8f895a6f78e4bd59f6ec36abf51b35659a08bbafde71b7a52c55165a64c86c96ddcc64d7ca18807a319b74d108e2064569a45513384802498ff4914bb2fbe2874d074103663b7d0f1b11e495264a2d9df532e6b6db52d37dcd40b2cf4cc384602d0a5e015d3ebe90779332b63d040d9d76ceedce6aeb12b28c3ecb3abc5d794c142551dc47f9cb6c92f22e7207dd52aea0a87b3abfe22e524a1ddeae58fa24b14750ca6997d44a6badb5d6f95aa78e15f43be69e9aea917e4a6106317a7adcc40f217ba3a7540647366d42064536a528b29b610a1b6a27258c212a60b357e40bb5e08a15f972f97b3b8253ca2b672642e6c8ae73d86fbbeab16a89226247dd52be6afacd1862769956e50671db350d6e1ca773d4af54909aae5de79821b73c485728eaeaed1455f58c296fb5dd368c76844d056c46bbb97394d32010cd82ed725c59006c7fedadd6056caf5d6d3efb8cf99bbd6af6365f5254d5e2bddd97d3e2d5d2d213bdfcbd150693a244994d437399e8086e904af9ec5193bdda93a93125596f4f2d76fd94b6523a633b7bea51c2a8d5e3f64d8f65a88c5d243a19012c91208524f6b88d4da820b6ebb7ba3f5f8418ac626a2ae340c6010df8d809d5d73c817a20f24db47ab6242206217bdc368a92af1520d9f4debc945a652f71cc38a4a656592de29829fb99b29a86270132b501892435af9248521f8eef8644b2a50b1d831152a0dab2084d10d92bb634020a8ceceeb5694cd02477e406ab3764ccdd603826371810ef9ed6586e19ba1dd9605b8cba98cf76f0b8c1a8166dd84360ef0071dbe5d66eebb63296fb8627fb760496ab1ebdd13ed31b2cb61da11a26a9a9767904bd3201731b6c3b1284cddcb6f376b5deeb25d279793b424ff3177b566f30ad0c38d3d7353f0a82e96907e23e1a7277ba72d7e1d9aa378f9ae6b7fb013c4ad74e8dd9a8204ff35ad8f360d866a01b65d19d0d265fe6dd60f7456f0bd38b3f6da279c60d36abee3a55a7ba09b2e73b1c8a0aedf96e45514368ccfc11eb78509434c20992b8bc946a1a81046ad863b7d343aa521a416eac182004023f00421086ac0187a2466be48e60d4924c1d8a1a37207b7e7e0312044571475c49a412d70d8f1e1bd0c01ee70fd00bb4c136d7b6b3e7b52414e5734790c5b29edbba3af57473f6bc35425130bb06096334048b929a6c52de27dd993ff5345b41903028ad554b241ba49bcf06038284716f550113363dd5e25d4e29fd818461f3042417f610350e4bb60e89644f80ee600536a68f4ab5332d9a564824fb6689649b2ec4569877f1c50f2fb69e69ab1e379f0d563758576d3a1ab6e0b2ae903b84a2e61574804fbee55053dd785053dd70bced6653795ef892a874939444a2125d82b51285a59d1f3548fd2cbd7e3144afa530c97ccd5611f15d48ba9c9841b0c6837df80f2291b76d33f05c58ac7177f8bb43bd424df5d5081e6bccabf7454d305012585293080758345ad00e067df80f27815e16c1381035563af680c83072772283ee91be3ef22506f844c300832178524ae92aa01aa09486c45e28bac327a55b8a0253ae110fe59d87e2cd281d0c6588f7c28c335639cacc406068d1bb4cc1b80a6c0ec9328879b7c7f352b478ef28d97b6731012e13beca3cd406a0a67a192aa8549d202bd829f745423929015192b9e6057cb29f427a0704102170f45109c420d6628df0f833c2e31168b34ba11010760371a2274bca94ad6fe6ab083ba5b5491a050b9e17c3929a502e7a4a96c904c80410f35cedd0ecd145cfe339094f3e8661f871b2c297c6a384e1c1569eac3964b24adf1703d413976e529aa59e935c632c1429a5eac0784954737a6c118c10368a1e37cf830196d424a6dc95385721cff36a0f581f821f4ba55c7bbc975eba58b7ad54d263f8d2bbb0247a25312ce989c57fa2e881e34664d715c52e71bec493cb3ce5127b9ed7d93879e9e1bd5ce2dc1066049cdcab7172ef25e8240e4ba5871aa5541fa27cc498eee0d231024acf811f62108b3805633d8e72ed899544e136091ffa82b0d961ed29e9ba53632aa4bbaa1403f1faad2571492c8997b8f4c92a9540954cc4a3414df215b0d9415053bdcb25a353344b1441bd02231373f9c500921262038fc71b29018f35363df99984c66cad7aaa3c280a8543512e6e28aa07d55c425101786d3191ecfa71f6501d80b8a9fb3c52a4569a84f663df1a645751ecf0dc1e0803d3c93c148df3285e3b14b9f61c058aabb80cad3d148542454ccc9e572aa9781e18864368db1b8dd8f85814553a317ba58bd92bc16c51145fbac47a2ca2076a12c3779d4d0f580b2f4387f062a86c3a3a88a164d26b8fe779a25c63734e9496cbfa5d569377f49decaa474241d1a4cb54520ada423f3a5915f4c5a09355635af4b87d267a0453e418e23b928bdc3dec51b65f8c910c1b36db03f3e88539c5667b01982cf045593c4a1ebf49b79f8cd0491ac5657409c3b014965464b95164b95ff2448102c55f54bca040e1b282e2e5e5e5c5e52f295e565e4a9147bb53dccb638aebf0f9c948f11dbaa94b0f731da2ee500c4bf70e337d38792900d387135d1235ed3ccff3bc7b5f0c4fa68ad9fb89e71df4c5f04ae26148e249efc4876100268b924a1ee7582a75db8b51cade7559227597748bfe3077497ba592ee819abcd1c71ef6183af852e9e3e825ad7d32e60ec793a7a09cf4d253720a1af089de41f7899ddf8c1ca2db7da27384f4c9d43be8384ad1a3bddb7b00a60f283ac7e827364e7400260bf0e4239d4324d201982c3cb0f4004c16f8a52ce296cb8f043e25cf7d92c187796e511eaddc9e97bbea9172d8510fcc2727e5f05e0e457974947c429a31bae861ca4f328a78516e794aa61bcb2d8e2de77ad85d273fefa5d1455116c18bb0882fe6d24f72288a1a8b2250bc48c417e5910814b1cee1fde53254bc086b4b4da26e0973cd1ee591668f2d2fb57c07dd9ea84205e524fac5f84247c9a18379eed91a29b077a07cdcb6c94d8ee21f02504e7ae95d2983f772f87251fc44b927ba78308f34998df09e164bf73e124bfae4a22ed16c1104809743cf0bc597f0c1974491ae810fbe84df72fb059172d1ed47632c1dd4e15594b2082c6551ca285ea4bdab4839a873a45ca473cc8b3b688ab6d464f250b79c7e365e6a987857b9a847a92d35514d4200ca3d2336cabbf9d5102f7a28282fdd0b51482857e1be18df4114d17b29d4a30a8aa7518e82a2bd1d75b6266bb2e690d2bfafa29c68ef388ff03bea8db2e829dade2d1ee7f0279984b1c69ef5b0f85146f9e8446fd484310244fa047f6f11758eefa54f97c6d101f0f0c54979a4d9365ebccbcf1389444f798e1d74a71ce5e17126892f2f95ee89f448c310c6c3f0f830b24c4db90052f405e6162f12750eefa5cfcfc6cb6dbc8fa557c0667b62c60fb328d7c0fa9ef5c45cfa89dcdfe8a79f9444143db67c546a29cdfd7d2f57c9769ff2b863b75c00792c62b7fc451ebddd7200e49166b7783368b6e8bddcfb64d06cf1b5c5177d01ba45dd9253d080459d4387b3b80ef7ceed70108bdc224b8a2cf70e7907dd2cde88092c5f2a954a2cddf40a0082374001aa77573566b2268b05786e4c4b2c30b86da58fe00675ccc17ba02f0658d25e2ee5d1bb0ee1656a4c16cf228fa1de41378b0e17b33c014acfa2e799f8c0bb239778ef32b4a4451b3287e9f272779a0d30ab06587afae5d132ec71be50597391b51e59f3a105206b2df26cbd80c832a543b6bb9b404c1d6c507f561a90c9320553ba4c9e43e82908583a0886b5d65a6b9d60588201dd40f4aace5d95e60cf057a73c1ed8d503532e205ec1f9fb62b8bc73c9137b35be6272f7ca4d3e1b275c5652ba2201758d8d9280c7c972e91c39c30a6f855663d87ed30816cd15deb187eb17e35f91e73665ed666eed064b3a59b33589cc229348a6cab257ec86884b5b62d2c22291e9aad388b54c6001095d915093583178538dbd78b187541635d51ca5871f4baf41a8a94649d71d21578abc92584d373436a4085118b22ba9247ab83e1b225f2a78319734101817df71a06b64b236f15e0d15446b3d289f9ce6d1089d4d5fd365e7fc9d38f33d9b0f88e338d36598a53ccd6dc3f81b7139a36c81f228632a9d3cced61e379f1cd432518219ec7af9511b968912fcd8f53a69c0f57ef528b92aa93346637b6a22e6a9a69a1b25cbefb2e48bdc09b2f9c81725daaf2684a2a4245dde2e61cddd1d87f751c2ce0e730cd1bb307320bc783dea80d9392e5037100c84979bd2e450cf5c6b549b3ea4755a1dbba3ed589d9b737d683e2bd696385b3e1c5f703f74b824b81ccdf518a1017728a05c698be250d5fc993a7367ae26eb759809669c3ebbbeca6fcad7b65f0cedcaad5d932be744d94df439b70d6310a7479ad2518f937c936cf9fa88f255725d2eb9376bf5edf131de1cba51cde4f33bee46f997456a27cae567a969a29ce66d7bdacd40427dc3334767b061b63bd485ca47abb32d79ddc0381eb12db91e3d9b8fc91158b4a1a2f2cf44674e5aa7ea0661189901d38fdace5723db39eae9e5eea867adad36c5ab2767da2ae57780bae9a5b3ab59eee39b2cf685215b7e73f3ecb6223fe79caf296c7b733ef0d2c9b9cb557e73c63a5e97cab51d95cb1d953cd26d5f6f115b1cac7ca17947dd7ca86953f2068cb203dba1c1b48b603b877691484ba2870abb5cbfd32e2d17750d8aebd3880f750dcf0c8aebd7a4b8cb6d522dbaa6e5a1986b78665a1ebee6c4c57735c027b4585bb42844d52c2ca198533ccc28ce924d2b79f24c978b47a145215c2e5ea47ac6e5a238a31f5e3ffc68e27e50d34da8af4b67977c63e483eba70e181f231f5ce7e7e6735d557239140552f924913d3ffa61cfe9e27394abe4116694c7f7d8f22779e47650de6520e14579d48142ab95af58197ad45a61527ebc475e00c1b98d2ecc9b4ca1a0e8cda704986a1260cfbbfc6bd6575de46a90c67d727596343aadc4734e1d256230e79cfaba405b32a1440caae086ea95b2bd78d600771bb4bf39b58d7bedf25d47efa80c78be4ead05b931564c34a133c72d5b6ae24e3f1926074b9723778ecbe04d54f458c4563927128978140155fa7a42f5c9c77be9ef7d9dfa5e7bb769956a75d3bc2a4f5c3fdfe832a752fc4351a2cba941a2255b3e54c9f48b61f252ce6172f0be4300fd39933cc4b6a9dd299532b8bd1d8a02ad8edda921d0f96177a8c9075f5b692b6de75e6b2b8aa2282fbcb69a9c4ac68152eacac73799aa4767cf0f01f3f5f553898c01ae6c519ae59e3e2c10f878c17559348298c1b43914babccd9ae79a27a4ede4e1663d1d627e06dd5357e983c4c6286a7e86a69a2ad6cfca67a7e7eac45a2d97ebf5aab0d87b4c3ef305c62058e3ea6c7b191a93a4aa472374f68f50544add71778a4d39ce293968b192b4583f77b5483efa68635bbeb3d35a3a7f2497b3a5a5f3ba56dd0ef31d424fb2de564cc78c6d4af36db14664c0f4e3650d89e9d493bce8dbe7a7edc817798b023cda8fdf7384c0be97d5baf4d5b6083589b49d6fcb1ad2dab219b361ebcc8ced1bd424adebb5e54803095127da1ea1263b37ce73e7706fa849da9f2daf8ece127bbc3b3747e239275df1e0c89e2a7ce27ff72cceeb1f6193127f228bf3f947d8a4c25bdc726da7c688f32cdaaac6ac7c265cd117594e931fea95dba428a5f6f53333809ae4593204ea494a98687558b578963320fcca65e8093c5b344fcb379f9f96acada80bf999b71eb89ecba9315a8bf32738558d0953b6fcf62361c85dcff296e358f9095d137ee52d2baf11cfa269786658beb2b2a28d58f964d114a827f9d4c8f998af8b7aaeea491e47a5923e2a904e0e8b292ca1d259d13cf6adb94a432b7c96a9256e00db28f6bd29c53263b367c66cc4cf84173f2f8ae2697257bd95cb9498c5a94521c2ff38c4afe89a958bbfaea9c90f2b20fe00f394866726fc1f6aba925fc922e8e16d52398b202d3660e5e167f2c5832e6a1a1e909e5979a86954e18d104f7344d0a94d2a6b11a4899859797e02646a664d3357f435cfeaff48732e535487aa728835e62fda28b241a74a42cd23dad872505dc333233ebf46dcfe9587bfae11b5a85ddcf4cccaccffac454d0bb1f2f0e2d538565a9cc621fe6ff15090de51f79d1f0250ecfb1b86a13682e5a2a6af7aeada60839e54cb4f3c8f531442940f3f236a1a9e51bca88d60b9f8154d63f524ffa7b4015317a36ca20a3e7bbee52758723d91a94fae81b5e48767f9b328447896f02ce28cf895943484173fd60c4455a5f082203e5246e0dc54cbe58743a62109624042956ab90c15ab8f7a92358725af64716a202b590b726665d593bc986bab9ee4c3dc926bc28b37687866562ede26258a5fd17527672d98f2a331e07a518bf5556175c704af79f5a4f524c3cb6fc6286bac22b1f25f19f038770df575d5592b452264f25821514269a553ac3d3509355d23bb674f1f1d8ae20eb297e610fe8687ceff6c3e9b12bdfd4c3d02033e5122bff9f86000259441b2907bc45f9027a9842cc893dc27fb455dc87f62c0e3755d3aa96b6a22ecbe7dc9505c616939f10235bacae96950d4777c22b7b0e4952c66594f36e5baae2c424db2d3e34d287a34c1c09052c29b93727202ee93954a4110a7a4a87cf8dbf6ce28e593a17d6ac972aba3234f539ef49df1eda228d0e56d111a836ba8926a4a059936e83206a0415127073d088a1afdbaea491ef4fbc500b15c6ee2497ac4297a045bb01e4dffd5238c1e5f6cfd02e6846ed137a79e6a0c8bb6b0156d61a296f574ade44e32e7834b829ab64ddb6169adcde56c3ff06d5d16359920812f0e35c99ab70dca721341c0fe90018ff647e7b5c2c66dc378c2b6bcde80c8d0508b73cb33db245cd4246d916eab3a9b7ee6790a18896dcd0ca42c6c790d6c3684a756d8e0e5c20ef5a6846a433690f05aa7b5016fefecac45dc6e1e4601c7953d45b7798822b629ca329fd73ebe992d1d22ec4e628e35849a565a1bf0dc5beeed22202a23f22a082a15cf04e6bd1bc1338179faedb3e17d6ad1c6dc14988077aa75d43d1fc3ab47c4d04395929f0d4d0b424f13006def8bb169158d0d57b97485c00d3fb85ebb1e5d4e44d7f513277adce4caf7c5a0f47894477b7c5d72f3995f8ca975b8ecaa82926d286352b643d690a2856cf9ef9fb641a889b4daf4db69d6215f7ba67c6e4fd9de5921a43c372883cc6c85509344595921b6455172c54a29a9cbce312f3afde852002cfa45175d86ea70d937c0a2eb6438f243a849e6985ab4b7dac6bda4a60bcc5d45af59645bd4242d4b498b73cd99557ea80b790d0d583b03e678c0604728ca6ec9815108dc204f12346efbe4a79ee44f9ee15cd736e211bce985cc4f8d31003dcd1a33af627ff64d73ea6dd476c68cc796a193be51877c01092f43ad8e650db1ad2daf9901a3e8d106d9f2ebe69676de97a5311ba57ad4e1b2efebba82f8505a2fe94f50648dd93eca37879a24bd3d4eb2288f9c6a6f3f767e312ce762638565062ed8794d57251370d9b70735551f9794bf39b7072500cee7a7982a03de343260e90a811b668c6c6971bbe476285f96fc976f8b9a2ecbbe4480c72d0d32e6bae4e6236194240cbae56d62c996bf4b90db0f14b63c48090c3af7fa5397d49f4d0935f950939cd7755ff3f54551556f9b4f3dd9dfd775e5ebaad47e31aaabded7d4da4adbd1b92e8a2a22c7db63cb4baba369a879c69b93439510021cec3aadcadeccc0aa66d52387b3f94c1f243e7687a2407a9caf6975a849de4409067db43a5bbaa849de22d424ed0f6a92bf2e9f2c5ffbba6a8cb6534ff22e6d675b1d8afa213fb94faced5093d4825093949be356a32478d476b6bcc6d28400c1792a7c104a80508bf332155e5edbd1561445b5383ff7d4d715e65b849ee4b525f8ba38d5b42e8b83f34c0678dc7ce8e6137e5ef1decd6753c263cb733a5c101a239b88c96f4b9670b3e5e578e071125942127be47c6cc9fdd8f2d7d6eba2a8d1267165121425da9c6d7bd89c2d399514f5cd6ce50067cbcd47867aea2df4d984742a01083039012c9768a267cb366cb944138eecd68c7cd534a2dceaa9079e30737c418feb6982f5342d2c855b5ba8395b9e12b1bfb1d76e1664afbdf6da179c762fb8dd73d74a0a5e10c444aa75596b691e25b6f55a7befd563f6f92ecbd4953320768e0c4bfb62e2c816554d9c1a4375ea491e1c5fc06017b8b3cc4e4d5b37bfa8a62feada364dce9ca98bba688b1299f2ddb79c52c26851223466a62408ead4181a12a8277910c45807ec111d5b2cd23c5853028838bc1a31fb4cd1cc14be7799923eeebd533ecbdbbdd74e1c397567b201cc036767f6d8f2554ff223dea1cb50fa9297e07e751e90277949822d7f55b0e584c196d4475655265f785055b6e26c497de4d51cfef86dadd5a28cf3bfa9c3b4299e943b9ddc2917d254093dc96d87363d12827d4cfb5f696fbc9e64d6038f13c78789be9968d09938526f5b7e42d45477aaa49bdba434db2fc6b5a61a338fd0933c922d9398b6a4f233a79ee4b53c7d50933c8d1a338748a0c6cc24e849de0848e5896c79216010f9634ba963dbcf3ca27c09a8a94ed3d796f7f46584a29e65d338f744d9b5a6e457e5a90f35c9df0f4c9c7a92d4a7aaa6c453ce9ac3916ed2f9ae8ed92b0c4aef6d33ab33eaadb6d4d259f546f19df509d6da256ccbe6d825a4cdb12eeb82bdd85e64b1de5eee6ba2a6cd39e79c73ce39b5ecf62059c84ab54b06b2cd95a9d24982750326fb004c8d9112f7d02d97b0c1cd06a989562974b2c6504a35cf3723e80482c6c4e407e01cf656da6c296f70b6d476ee5ac6d952da651e8dd8f237cf50556a3b979178911a2f60f7bd5863eaecab337d434b49186376b10668677a88d0be1ac87639850d73993a5553b5b72c330d9eaf27d5a556894eba74323292932029e9ad97bb468a6cb96d7a3461d38ba9c76f03d09820687000dfadcabbed4b2f0320405138b3078d31c98940ebde013f575a6a93cdeb031adb861dd4cee9eaa44b9d47e615ec17a3ca6dabd8e4211bdbf85d6eef72bfbbb42f29b58645fa66fa28a1da7e03ebec9aadb5566bb38a6bad586f5957b1ec34ad75467ad4c53c1247798d1ebdc9eba7474141ba3be74cd599929fb6294d43275d4690ceb6df6a8c8a4bf94ec660fac5684d1559a6f47863775d28b47376c9937dbe94225004bb945a5f4afdaeb27035a261acb9d0f9420f06699b977920454bb9c49aa6d19d2dc127b664820b57d8f2bb71833316601dbec3470eb6e560d047eaf291b942a1d0bd770b85344d3b28cf901bf4fac5d05a1206ebde5b41ba12f9ce80c7f953e7cf0ff793030703b99f680e5663aab69f1e376d527deca043d679ac5b94f358b580b30e98dd89d9e96d525db604eb2d99f8c2ceee322f457e3dd9abc82627601ddb6711640c0793277bbb6d16aa152ccac5856d1fe2bc1875614f95c03b280733b985b134c535180ea5c857db4c939aa639184873bf998b25a10386baec964cac9684f21472b7cdb2773bf45ce5ed0473d57d0aa1266bf7b551b7c9e77780bac51ad9f1b11e3b3d5936dbe4d70b2bd4964c74a107a4dd7779b6b238b8bec06307afd4a844ccf3c6b11e764ccd8c0002000401b313003030180e8704c3018950a02773a20f14000d9bae4c7c5619a7418e296408310608000000000000000220aecc446c11f72e42a69695de1dbaa8f37d455f59a94f37416d09afc4630738cd1e7df0cec0ff4851b6033cb61e26ccfc10c7d41a159167d568d348b65047faabadab854efd24730467a684982f0a01a45624f8bc9c74c9654908e9cccec6604ae82026f4df68d545df4b10be9e754185f0b19e5c900f8bdc720912092e7270e12cea46481aee687738819e808c0c4ecbb879ad9256d64525acc2caee58ef43230d539248de4dea6fd460246f8b3f8ac3840de2a05ee1896aa20c48805e239317941ef305efb59ee5339073104c0c5aec7396c0a971776ccf9341cf83858e060c73cc3e6ce06e13e4981344241d6cbd22e3e0b9b2602ff677eb05507c7cd4f271f5d4717c99a294545e1803c25fd34f68520163d41406dc37fc02c6b8c29a7aa5fb630f51bf2a476b146be8840d3fb77020d93cbd09bd3248ca60a31dadae5f2bd768b1b2b86516ae015932d6f3e053f64013d65ad60980d610468035a22e5d30318822d02037108e064a50b85b15b2bae78c060280d4f7d22c4dc591185be8f9cdd4dc1a7aa0e1b0de6fc2200baa451776897a36e38cb4a1fef576e937c9f093d874f1131ae8281c47cf7a345a68b87004801e6be14a2fb201d4c34556048bf5f7c35454950e98a1f5ee05fbd523122ae384a1172c07e26d6701cd7fecb71b6bb22826d3f5ddf918ad1a75617b57de911360a0aee5b80e0169310c23863c4b2275c72826031272663ea6310c0cb2033536c1caafec0b9b21447262c8c1125816739854517dca3dda319643cd89144ba6dbbaa3ccf86ff7e25455c1a67a7556c6d796729dadf1c9bb51af7fc431ba7145ed276ac07d172cc3868e23618db920b99d23ecce0bba779da9f1d34071e9a4a8e10e5cc6008df6ba657cf84b26f0abf41c8ae1666d041c57f51944fa533c48dfcc344a3612d1c9c65b5d50d6ac0b66ac6c1cdc00fe1462c5f603063b9022446d8249ede33db6a90c024121d3c7d93d5e6901668bb816fd1b5f37d3170d2520101eebc2d85adb0b7f860db12badad69adfc9fb62ff997560f96c24c2af1ecfcd16aa04d16ae0646c6cc619e4a023c6340094ffd947691d03218712362d38a9d0902dcf12f68e7d46d05b461b59f930ee28b713b0ff14c4075d0b845c9610ce4e83331a850f9f968825ea1074fbb6a81489a028fc28d02324251b49526d8aede5e04be11b929499f19ced2b28b1523e9f79768a65ded0c3fb41a1482973fdbb1b5eeaad61ac64a5ac8e0520b59426e56da52bb9a91188ba6638e37ffa7a7a9f434253b0861906af25d131ee4871cd080d95825743552863f2a6735a6c51754baa7954ac8794002225ccec2c8f1a9388dea0cbba35c63639622f1aabbb754955d581028c680be0759e02230bc2dadfb9187f9b4271d366ec4cc3bbce21103f61efdde450c9fa2a019f402475047e2b9bdafeed322f2d8c9d3c8833f0fd853803141dd72c6ce3d40683eca62b0e9c4eaa1ad7c9a941de2c328f756c868c8efedade712fdd8ee8fb6200648802dde07665d53c81541a274fd06135a1ab66c2307e0ab63a99823da56266fdd680ebfcef2a5f955d93b411d99edd4d94187c1a32409f3662c2a34495af9a9f262556c923ac8bf62540aa444c91ce376ead571e010de1905592b5c458b13ebe70706aa143acde0828095eec4c5aa1ea10c43f7e9461792eb8728c66a92419150289387804e04d2f4aa51e015aff360e9847f673352fa9237a18f1bf8c8f3d8ad890c2de50f2d0c835b850d22d60935f4d54d916f50ee585a3ada83a00f5d4e8def596e09153eeed5b4386db0d19eaac88dbf13da7c01da5693d751c8958923865ce280beaebba05f0b0f5e43d85f1f250fcf902db9d1debaa7c01ed96721a50cffd23929d1ed436f12cd8394b17048ea3065d473e92964c3a61bd65bd571dbcb9efba5bc94726f8e8c90bb1285cf40f0b45488b39d689c4e8bf9a0cd917bb58c2f78e7f7ccc28ea0d1730b889a344b48eee85daf64ba755efe8bc3deb64d0bb5b3c3a213c47e5ad489e9e957f67363fbfd5c25c56dffff7b73e34a52400dadd57507c39e99889b20149c950081bbccaeb5f22f169cc0302e017dd1356ed14dbe877d5945b8410c9b196e48e0b8f1902c1ebd3710d72fb8ab0777fcd4ec96e19f63acc82b896124b054387a3d1a08763bce8095f03e8ca7b9c22569ebb35be23809bd5f3f1b41367f088ab30321fb291926f0438290d6c41e1643df01b26d68fcc9e0d989fef4ede5a6574588b0ae10591449335dcc20367cc8cf4d92525ac81c5105606824a47944b2dc8c40bfa323baa48ceffc6e10acc0f0059d7b197c1f19dcf7384c97896167431c849be0b029cba0ca4c08df3ddcd81202a8f90e1d925af4f9714054f258a483589d3d7e4c54a7491dbdc61e80fd8f2e285efd55683e1da2ef3ac971194be34c0ed84f0f5009ffd8dd957379ce0df9084854c5c0e2d0be3310d8a5833dcc6e6cc61bb0f078d558ad01193016908e26485e8f5f3248acea4a000a57adf4b623cbe5dfd12a85f959848ee912a85fe0ca2deeed108b54c7fb0ae624ac98bb53ad9b656822e22a9740795cfa27790a2e7293641949453b2d55ec48a25906b9ce8f7579a7d1f6017e2b20f657462f66c1eb9601822223f5bcacd6e3bbc033b400af4217f6d9775684a90c2fb09307d4d1bb77dfc11f4fe816a5ebb605faa5a1047be79dde185a62a589ac195e4a7966b3cbaf93f93127c3cb66784b2dda890348d54fc32bdeaad9963226b2e4ea7f3868e4cd6800138f376b038279342d48e5dba0e3d383cef2263a20cbc5bb009c8d7f6c62e912e0105e3630e2165d877d5a4da6f879acd4fd78b2a0e2fef396050fe95586ee27702c60e6b1804704f56062e4990308f277ecc55ed2595eebe1028ae312ed3d4a0929fa85b22701c67a8ac473ae97566e4d2b3aff402ab5f81a85a1fedd261b64a783c6301b18277a6e412d7bb25165b3277a18c6c18b23907e0d4049501ba0e255c8452def1fd4c17e4bc94bb8ea0b6b090702651c2403fdbaa1caffc9159d25849436d55f01fc29f6b600d0f45ed27b5a0d02224b5990cb5e901d2103d43f5f73c96ba4d36a4fc2dfd1a0895b3353511b4e15875d554f9f229a1c8a7218e9fc899898cc16d9b88c2ec58a9c729e52d4ac44a0ac03f352e34a6b2b99a8623297d19a4ea3dd74e1c6342662d744fcd889205736262f2949caeaa3bb22e81ef082d01290e170f995f555bf0190056dc2e474986a2a9ce8213ac674854fe033cfc005bb24693a9daf58537e09f937b42acb8dea8e28f9006e99f24a80c20aef91a5710ea7ae4195886f8ad7a2c8178159fde03ff8cefa1f21744f49fa52439f6a6d43c1d92873c039214e20ef4c25462923e5aaf3aadf9bff31d94822409916d726e809524e93e31314b64e00a6bd45c29568efc411014235727c1f4978d18c84fa3db236948d65a291c18148c22c90d0986af8659253ad2c110e28a1de9a130b60904253cdbcc0daf6a44c8ffd3d6bf5b6acd51fdbccc2dd97c7ff69ac3f116a266584c02cc9063a6f824c126285bc6de904897436ec93a4330e1fe6c4ecb6716c59cbc601ed94493f161388b45577704a3773cbc0c46beac6d4b3562f7fddbfc1f620eb3706833c69193d7ba032efd9be6cdfa58117c131877c03f28c951e161ad38b2a944b2aa29500ab7c636a993222d51844b52a6e0809d04fa66ae6af54ea144f32073237d218528735de2ee0f862ebd4fb7bbe8be1c263022fd17b3a285b42e09e94a6838388150448733e6c0d2798225a3c530e376511bc487e612c11a870939e11e673a344ad90d3ab85142bb768916548800b4f10c026d92182f29be3935b732979b5fac211b3061b9682b7261b65bfd7a453a61974c4b46188e787ac860ed5f8c5db822bc8ab57e6b457020c6c2bcf70f41d3598ccd985d7902021a246291e37ceda983deeb6b1edd9e310fb5e3c26b03673392f465de678fb4800a8ad61f813e3353aa94c38002b674bed747032e97975f19b4f8e44444f4c244d4794cc3e6581d136a4f22c3a5151209e76d62c9e14309ae75375694b1733232a17412666d72aea1f988547dcff3cd37817828849ac3039dd2095056fc5cfdc2d8303622ed963f878cbae253554f38d568f1f18e9106841f0ae7d2e368227183dcad6abb7a692010c160637e514699cd8c174232f3281619fb7c8b09bab33ff69f5ed0310003cb1dfa149d0ff99183718979f0d89f4491d7b994c9b1e63bc06f373f671b2c514f612f5cedd5b3711d58be1fedee14cf7d93cab50d851a8c55ac7c162c02c4d761b8bf792dee5486fdc1727c56c9dbbe02e191119d3cab50fb5e3a858840d5084e0b47d00fd66b7770a207450a1cbc1aebfec3bd1b7d9a494fcbb30f32c0c105adc826ac83da3abad2f94f30639266bd609964a6681d036cbc5503d517e711b7d62e0ca99f1ad536c98d3d882cd14f5b3e102164ce5693765274de48e0d908fc0e81581896c44c502966445701879e0c72f264882a9e752f5fd4edf69ec6115e329bc51d018fe05437574fb9afcba8f29453aa9d0b619b1acd38c3403d9f0291fef8d6f3cf3a06e0ed8811144e025ece22beeb5e1153d2409e613b383bce9f3fb8bfa0d628ab88853024d735b3c4500f4461f74475e518b7b1c1883741751ebf49e20b86bba3fb96664513e56ae1577208848e87ca246d115262101a5191eb57ee002778572455a190dfd1df5c2862bf4e6f0bb157a13d5102211c94a17816582e1c673b0f7335eefa2c468c42386005a872cf2f1084a33c406175f51d0d10432aaed0be4d57858d7996ff0a06749f051d1cefe7400ca711b17133bbaaabf4897526dd70ac0b40dbf372f5e6cc27492dde50cef86054c2316b04cad8b8c6d6bdda0784ec951a8b3309f6d3d7882987893b1bf5984ec2dea4c924085573382b508a7a101682ab1b0b64fad912996da0633d0dd74982297c5d3f08fa9912979d2d9c090a35d5ed2c24802fb2c8fe4c9bc261ae2ce615376e70d7c4290b4ce0378f278562eb59ac97df9b3eccf0f970003edd756f69125228b249e310a58bf3dc88a1762e0c531ba093639e10506de16e4f1b0dbd596973076d191572388b32977fe255d8e87cd9bf1be060663b61bb3b94f54df885fd0867a44b65c3c580988b7204e34327a23c3b6f7eea0fa0fdb3ef170e0dc701000d5f4e8ab113e83df5925c3091d4441a6e7a99163f10d809569b8e6be0a0e9e3d55d3914efbc094f8dafc1538699209f7a9690e10886b788728fae3c9baec310de2ee8ed4e8db231c5c197f1fa91f1fc617efe07a6c666f6e52058bab2baf273623e26280fd922717887c57874c831210a857a00fd7928a066e1cf2a200d1274fef2c2f5c3260ff126afb20e054b5b3bca998469c652058a356c16b37e71af3f7fcfe101d32fbb9f8fb0d1737cf44901a16a7aa21221028fe8ef662f1d6de6bdb749b594db5a615d690b40f0d8f1a1528e4289761ac7683986b1eb8856c3739e5a9f0f4f3183ed1e4b1e8c64e2a9d96b3fe7160578271c20dee7a047ab65188672bfe3ddedee6e430538190b9a743b224d134b2cacbfdc54282daa67666636bc8d63cd77f03b8a75609bded52a478b5155d7dc4e2fae98c18a86fa008feeb818d006993fc112034ca26c4bed4466b22219330bfd50229845034314e14dc470776f73a111470d9156f611ab7db2645ea8b3285c4906690a958f80a1d16cc353d14ab51612a3ac8c439aed7ebe6801a6e3cd575ff7c725e7e64c128fb134f555c002558d8dc253b809c5d692150be4689a0e694cb82c0157e54aadd764a285c79ad101a271f0f5b28a52b437777f25501584855828d729f1c63854cf835df071859ecd487bd32dfcf61b91fffbc609d7148f567cccf20827e58b77c3ac0b4945662991973122f1e8ea92222569c90e9e6a791dc1ac5142f30b6d74aeccd495c5bd17f8c60d480d4df81634d70590b78a7ed116120d24a04d26790641f391033e561231c2d8fcd2b24c88077a29524c5534d4096f54bd8444316d0cfc374384ed6086e84e703235fac97858f0b0c404792c4fd86fcdf0ace4b330d382c165ab2f4b41215970d93d609014480ad1afb13e7f4f5f73a7f98ed1563b31842422518c7d186deba05cdb34bcd8d7c7a45c9347bf298408dffb5b7f19ffee1131d8116ce15948f2f26dae60eb1ed74191f7b154ea1df18d14f7168479cf7787b4d9e4d9ed45a3b91e6a29bc1cb8bc552f3487f65cb086875e32626d01cb962d4c386ce15c360c424cbb5105a229bf38d70ec74d920fe327ea49e37c7b17e17705c0344bda056a5305b4d7c21fca9dc6bb52c6830ef21e408c104985fb44898980b2d0f4e8fc428aa938342213da94d3f7dd4c5d4394e762185ac661995a6320ded626314a811f8d019efe08404f2ca183bf4498a8892bad95d0c9c111ba2964833550bd8afc2e72fa538f213c07e11435493f5ab274f9c19ee4872cdf56dfb2a1f84a5473f5a474e949a946408e7a0bae80a12530c7a3d2ad8e69e97313a04b5475e09c34bcc150fe7ded40ab9e2eb6fd1bd229e51359e1b9eda506ab55e5571697beb8d8e99146403a5bb35adcc286f97be5b04a87b39f18f8fcb72df90cb00770247b4b7dd6ce5c4dd8c6a13263fb61a7165f014bdb36ed55ed0b4470e9413431f88d35192245fb79a61b3234d19c10d7750dd584eb994fa9c0cbd2d4faa80725a2308a8cbb8494e1539c729e73e993f05e7391020c28f7b63f60b6dd625b7a0d19c92be4528b5a40dc47b210eaeae29a1bcf8e4fd42560d288e96fbb60a0b6832d0e6794fc4ef22dfce6200ba2bab848a8f8002891cc65bb5ef84001e2a1356345a164b87d753321992cd7efbccbe2224aa50b850f1e79b81e37dc798f70068050a82955f5fd16c082e06872a43bf54e02f8cfc731ae3749255caf9d42d4c87faa099d6fd93f5aaa54e2ed88019b9e7ae90b49629ecd5458dea58210ff6d25dc7844374c80978f46ddf79a0280ebffd925859527eb21ce6e43c06298202a34ca27e6673d3af0b09337563b9f18bf323cba35a087ad74436d99e0b79df3e5b524f7d352b91ead8d002461521d959e8d39dce6190eba88eb426de9bf5ef6f0e9080ac37ddfe2ea76e54a66fcd33ed1929e6f412388c3f67e2ed3159657a9dc9efb6748a43a9a8d841a9ee470ada82c58d45c9e1571f986b06a91848a8801e1e10c544217791d07e462936fcb000eb782669c64917599ba5fa444da2d9ed33d7cf939c54c51baa45ba0490acdbbdd25a01c2080b17aceba970ea6df5ef1065534abe7f96aae95d4d96a70ab18838956daf1c8ea921ec9db7716b1a1edbb97294ce8e50d750b132c536819a08abe55954b4298170b6701efa69d611e0692936be3e69e9afd8f22308fe5d629d389abf2503ba107fe09b68084cc97e089c4402fe6e7eb9f9ad05c935630fe4e316fbd5ca5433700b271318a4a5ea075b6e3f63792fd6d6f9cdb63bb1b7d99782e09175c34034f720481bb2767e29f5e6859a5835971e2ebee1da0c44173261ae9e624ceb8938295743777d0eff4dcc34838de7048e2c49c07df43f39dd52d125d81283aa810b6b006c66ba21ee5e194b899d9f0a83179b297163eb4d9bb513dc3d4fb30e8407b8d49e8e99168f0d5b2f2c4411db699246f5137b21dccd602f6f1dfa9870eb8db05ce72ab89617fb69ab5b731643401cf62dbfc3082015b4231b0c45c5d3d16dbea9ad6845e5cd163407b52fa337dfb08003319d713058e665694f73ef6d371aa01c842a04612acf7b66bae8cd34a23bc1c1d07a980aafd0c5ab85260ef30a0c5e8f0313aa4f7ed9f00ada6ce32ea5d62a78ca9f7d281b204f87cb4746e04b543ebf30023e5deaa6c126edca6878b536cc9ebebb6d165966d99cde4df1cfada29051a7c0990da87fdbce6a3ea830e088b75041368a783f5288160686daf8cfc909c539ec5ed259c2bbce77e5de211613e4599400e47c45458be31207e368a317b4d3fe36c646b5123c372a1057745d2c9d591b2c05ac7d553d0549541af3af2b0962e3a2fbb525b015c96fe3e57c269e19f15e44bb09b8a00d066b0909e4991a23d4a21c4aa64df5561247331bd0731c4322b56af3ad46122201223c03fae389e5f50ea0c7e044a927d29e8bab9306d4672855aadd76ee99509ed7d41649ba445cea0aee9775087c7627eb34532545b670cadc40f5acd7345a53b92b52416361b5fe687b5e6b439dd84669bc797f4ee3e0a8193590d508c8ae6a9b737320515e565bb8f6e55a81e8d7a9e9bb248c03826bde688d2c058cbb96719fec73d0aee1981fcb603a2c328115be5ece910862dc9a55216189878e4b4d9183070c010d860824bc51af0363a1c1b76be60fd7870b8db11d08d163a03fb85c79613c4177b87d07256160382daf069b32cef50a85b5e23e644d4dd3fd980ab8476127d777f271133e4f039188e1437c903b53f2efdf39158a6ccbbfd29a8db108a8af915b1e76af6aa4709a39d7270ae86b0b7f3d511c4d2ed08782ccdc1e9f2e4729ecba47fb0e5992eb69bd7a356be100a6e50e94256622affac8feaeadbf4c74aa8747e48077369c706d6fa2009ed707a65ef478540b6e2d4efdfc2857dfb28895894d23c3bd5cedfe7555cfbeed80e3d3fcd7b8d06cdcc3bb67c1d7de73e2db007ed64e23a72f87735b177c8392a5404d47c4c5452c05c4aa419db3da1798c6d6bc328969b2b1b46a336da78c633efdd4c474f18267d9e1fd25bc3a895012c4a06106d99c3a0697eabccd20292a70440b84f32a07677852269333e460bc9a567442d408310b457d2ede60d495164608f52258916c3dde6bad87e847b263520538233f20ab607e1958d9e2dc445ce206fb5d23203382aeb5427e7456fd1f7cf14d34e04d64e90cb82a9870ca7180ffb698971c7c55b44cb4a96762a1e49422615b64bf72abe52512dd6905928dbc0f0a8a9b894ef9446ab386dda7b8e563a5e2905f7948c42a0b447de6355528915243fddb9df218d187d39d4fe2a57ad9b7dd04dd16641297cf5eb0a30f3fe72d860526136ce29f3760a40409bf5172e40b028be0f67779224042e15162807a33de8935dbd1785130ee74409f531e34163a35433a6973395ed96f3c6104ff387c83b712eadeb51cf370d6f85322052e73d3e87f9ba8b045523ccc90b77e3d69116aacb1cfd3082666c4f72d12b2189f54bc93150fa35cbeaa82b6af16014e13c4267dbac42201fd4cc4d187b4f33dc0ea4910489743798662d15f0547f1d3bbe3cb17009323bfe6647c9323654e0c6961e85a215f534e8eccf0847f26c1f50a541dbd762e7ae343c0044ca376802e1065d1583565f3f49a77ce0a18361e9b56928d77a54b7e7c0a016e3bc132a979cd83e05bc6aceebb093bdf239a928beacaf459a89f8bf5844120d85e4916e61f29f6d6df66adf3677d63c451bca265739cc881bef8da0ffc21b98c8d62c49c23f3d575ba5b1ec134fe11b56495b09234ea4e1ae03e28eb8040ecd69b1d157b6f2b1dc987f31bbdf43eda0b7888a0426fb376510d802ec0ddb6b813313c841269d1e0239af42983c3ccdb7711cd8d49096c8df1a83f90ac739372a5e05cceb5025ad7dcaed07e1667f61277fae72cfcf55659c7639ccd4059df5e4c204ce921148c7edf168fb120a28abf176f01fbfaa919e871dc4862325e14091190b5b13a09110c01f970aef32ede340eb64ae096c60e7a1f3c4a2c5933bf7f223bd6ccda9f456b3e5791e1806519d2878ad4c3ba0b96a0775673b1779d631cc3f911ed999fb52bc4bf3120fac8306c3a0a21fecd41a2f58a1ebea0b36083902baf18d648203e001e4f3a521abb011adc8efd836f0608ed2d66a7e552ffc2253c70d86a87cb9714b655877ae17bd8d7b3a44cd005dc7845488f27fdb9027841fbff4a3e93d5c6b7527a5cea3479d2be16fad293ea5109011a59a6993ac68686744804c669abf0b38f67b0c4842454c9da4aabd8306589b504bb88b81fa4b0515de6030c7af916e1fd78c6735f01ee93ff42ef82fb86c343f0c36b6a26ede3be47c2ca5654aa763ddffdfbfba9fd73f09f613ff30602e9be88dca06dba2dc9470f051e5bf13c44ba08b0ef23984de96ad094f6db17a17415126222049d00410e14c00bfd3b4683829f5babdc34219853d59d4353dfbeae0f75a733860ecc6be4cfeb6d9597024e98dde5380e781a90d45f1def55ee84c404d313468a4bc7250ad5636a41bf3147b825341aaf199f6e1ee56843bd48c46cbe7eb29e87c443ffb50abc7829c3a2c825bdd0ece7ed7ae1144a89bc5077a24456f3d316e972f8b1604a201064f5c999095a4366be957cff40116713cbf86c1638ec6927d3e28fd84cd6c7197e2fe8f66b7c878a04cf264a353bc88e748ce2e820fb88dafc2801c381f38815fcc6e6869184523a68e4920b7655bf0571f632b5a5cd42554c972a94a1bb7ef6bad20517582ac4683c76067366755df58c3d8be6644217cb755466269f697a5a8f51113676f9758fdb2e90abb0976be622849e417a28ca874ae994eacf23251bc95d54949ee36fac803610e84355b88114cccbeafad70a5b988858dae2f073476c7da12691897292903358c30ec1912625c254be474e22e627bbb617903496c29b53a2f81f5f04abedb6a8766ed6c001ce83a2d8e767885538cbb7c8144c781ecd92b260928bf709e7a0c553a7ed2d46a2d4a92e75086027721b742d3a8b2670045ba18dfcdabd259f0d52f0cb1e340ba02117ff3599a8f5a737bca6f089e5469c449c6b38f09478bd0e1d9f15aa8e27a42fe57a61775a25613644c87a74914fd864369b908d9c43bc2313d61a054f2d28de08b222135a4a015aeadd80d86bd0a8a555ed4d07be267be08d840b37cc25d50fa5b9973f0f5f854873fb52ed0d84a4b5880ae029706776301239332e4c9ec2e008839cde4af7fef68caa8cecd385495ccc1ddde9a9933ea0b40323dc2bff93f9d87e4a58f4ba9338948382c1f961e5ce2a2409c368d478549e8163a165c991697d4b30881623184b502e66b684d002afd2041dcc6a7812f7a6100ecce78dbb06fb6c9d687d03acb2cf3732f745f4a1583608d425874a8d3a3b87683f39be7fd2bb6f80323cfb44e4b14cf266710e172b77d904e33228d63c03d5ba0dcc639dba60b7a143aae6ab5d0e90ee739eb850de00ce8d9d8ba00136b3c838f9dc576699c446f2f58a600e8594c04f950b0ac99c8e10369c1f1a24136f686fc5aae92101552dd0faf181c61cb70811d042ed30c5fe42f6582bf9d0a07608e2c4375bfaf5e5e7e87775ddfcbd14321d2a5dfa19028e63ad226ef98443946b6ab8b73e7e3e3f604b7bc5000f3140b5e113398bfbcb61d2315d8c850093c9d08c7394734461d3edc5cdb6bd4109cae291a6e2bbc84c10ad601ffada41e33f6c325386d7a519ee5104c9e29e698eee2c2c38722571ba71eaa481c00fe34ca6586743e14d44dd619cbe467eba0caf4f47ff6302d1d853653ab72f69661b8089de0199e47a15c70efda61caed86a94ce2e16806642cc4ac69e6506b00197f2688950024df66236451f5e12809e06e72e35b08324828a2722be5e7690c2268b91da1a107c8be5b7ee34a723a7aa8e450b7889655e05ff172c23a53a061c4694e9a51d2d4d4b08c0118f6e37eb4f15409f3010730cec48bef487c720b5cb8dfc5c996332dc8e512cb043951e011975a489feee6927b766d02cf64b78277386baa85dc644bb0edfb52fcf6e916f79f1d7720caf4c7736b1f1581b83c849885cefb58c5591b9b33f5950183fc4c1774086bec3c888c5eba414fdec4423ebefc610fa17382b0390cbfb97f568fc5925a2ca43e4d9fe1a70c4793079dc6490d24dd792696efbbae59c2f0b8035c695f3285876dfd64d5ede44d68e01236ff8a09d954015a3e795d4ea3c4bd653ee6d025c02aefd21d15b2a54bc8949d8e96e7b0188243c84dabb51fc95cc6e0f1ad4c132a7004eb0e711f8699353542a0d232823c6202ccc1a63222cd140b79f0e66aaa48c62e28b2d787074c69c26ca5e64dde04296923399d48092de159ae2f6428b375fdeee33abf2ed1bb2efd26e6394297bfa8db4475adf70808980c4929c3f649f4563a176367f869f931f2fbb74030e418c066f0e067dd08988588e5ad36c0fb4cc29dafc3e0bf9b5b2edd3266c890b532c0f1725db5cc439e0f0471d012c80730bc95f87f52d90ff8dc23f5d9706e79a257d549bbb562b71475ba7cc3f7368903bf3b8b46577a9350d85e2402fa8c4d324653aa04b07b17e9a0b3264ccdfed7a0887f24006ebc03239e0c6977f744ca5f44910fd8379985c0e0fbf8a05cd02491696c4a35057cbd821ee5f079b5675b74e0452fa0508cf2a4613dee1de694c8b1cb3379eea76960d093831f3d369ed2f247da55cc3a1df2492312cbbc8080df9897ca08d6091286e52eff843452918e69903980fd3bc3d7fea2344fa65d07ab73d65122b32fcd7ae06a551ee4c43975824b4eab645e944ad0478d498f6683bfee5bed51737bbe87c18e82d954eed3050b4191b4660cd64c420d36c0419fba6b76d3a5c9825cbfb94a2276e4996040d6a459ea1499b0be5c8c4ddc2f927ef281655030e985fbb79d1374eda44b3552febf68a32f7c138ab122df6f33249e02c0693d0cf5fac5f1f1367b96078011c6b3101fcf158263d63e6cf138c0db347e7ccd8f9039800b1ba0172a8f3748068c91e600da680c03a574ef78ad5f27f1be8908a340d74477a4068186ac2cde84e5cbe1b6a99b547c5fe335077012622a8378391b8209f51271f526e497f28e38914e83d63090e3a766a7c64795a37720ed1a591ed2ebf068e4edbf27249d577837795cb4b0cc63b424598b5512402e97f8a6070b34e80a03b824fca1c9945e628bdd10ec72f10a44fc09a633485582b8e1f1462e374858dd1ac84521064124c9ed12cfc827eb84ee4cdf78fdb2846967ab4f371baa4babd91349a0117e65e51d96f97d118e77fc57c3ff6adf22fe63e5dcf30c727626511d57ee3d521fa615a6b874c058821885cc8ac05f73d129cfb3697e772bcdc100260d0a6b637dda7ec1c0064fb2d7683ac70418a13651bc5a1430125aa97f58737cb35e98e4a49451f2b753619f26fad534c8cd53944a6d2370aaa2d3029af9691a8478d850e1028532c740af15995873a57dfed88ba9d516dfd63f2e6bcbed7adddfa4b754692f068451c84e307cb4d5e47247f423f1c5bee931a67eae134b93121ce4fdde6dbbe090f5ec6d129b7ef50771a3fbdd641265e700935501237d4181ae23d0f729c160d945bf1e70a9d59d1f73040925af1adc5cbedff84676a70c7920c5c9af8912bb3d53f7296627f50cedbd8c7ef4082dbec02125cb400c84c5cd4bdc008061db77edef459c18d42a1b3c144be99fa3827f02957f42141b1a6f56bd477b462be2d3980766db2d9222df41343a250f2b70adb353a4d603de7a94095f623e9d6f6708db13287536ff723d0a9020306a4cb76b5a114bb7d8993d33191434b06c173c2d683d28b418a176876b2b6a11b79a6490a5c02ecfd27e9c8ebb294b74ef828ef15072d512a778c894c55baa2bd05a36a4ab04b4ae56c028b5bbfbc24fe12eebf896266933d9afdc7dfc88d2dc57e8468f9ac637ff53cc49261285a6cb11d058ac34a7b23b4f32bc3b8745809fd5bd6d80779840475b9dc91da0757b1c85bf3eb37d64a093b20ac7397c0f11211849499019f412554e780af1183efe89ae18022445f732ebec2ec1d2d546b1bfb991747ea6f24295329650e028764583b4a1fb7ca1514dcefd92139b972669f6815768e6d67bb68f74fa7b6d15d840d0e1b837eddd840f24594b3ca8142f919dcf948d36adf44648324c664339d76e9e0f1561e365cf70846aed7cd3cd5c2f431dc4628c66b59c2084ed0b18b209d1a545e119fadf8ed5b4ab7a3b829ae04c0b1192a041227022204c66390041da03aca4695f2c10c5f3ac0ccc0880528fe41a440a8fae51c87179a14d8ad449b0840ac327246fda3f2d97626ff057824d803a3fe7820a0f3b85389533a74ea6d8049340fce49ab4d094f58e2c61da76fa5e3fd925f2d47bdbb92cc0ac5f246cc569f4b127ab5c33f3240a4e76d0c39eac8d9b3e067fc67532d7c8c4e1c9d2e8a66c31b4552590ba73108a7ad88e28eb5f6d0149cf84f6880bd9fc4a89daf1214b2587edaeee6f0951ff32fb6ae02dbe0379d7db55045ac9139d985ee9eae3d0c6442e9a02938ccb38807dfe86d24ac74006a7968cf56588d5de49d8e1de762030519ace58a5983e0359130c7c7189ce44d3cb7ed1da1267b014df756ff10a4370e80c224f9eb924888f1a1a12eb52284c8140b5c8430469701c15de8587c20249c738db5f2d17671e3cf2dcb85b1a29e130ac43576b914f439f6da14f4b5632cc3deebde267587803cf192b60b6cf7616c35f6a5e2acbe81384b854455eba12697499870d095c16ea6772a87bda240f8d0c4383d965dc3b478d9c653d0c3b602036471c70e4d221db6cb28841382bd76c7ef67153b90c25b89503af46a8bed8926b7286d3fde0602d385989af99526315acc906548967186b6c5b303fc411e9c28c852f2416fc7206068c5664393ec14b5f7b356c8450cf31b61eede36a25cee3925322f55b3a1ba32d3d015ca072a4d65a283c483dba567ba908b6995f28f603071273875848100dbcebb1e8c5db00fba73029956659d61b5f429b3d7dbaa0c1a84876cc7116c931a713be82b8e4a46e2677b09ac1efc0d5f91806a31f4ac9ca00bd3184028e6650b402151ea8428e5cb5502fd7467668ba1c81f4ee76bafda1be46968ffea56bf6aaaed6d17590d85ccc39d1cd94da09b52654521eed4a29753cc83b69a00e973ab37605814ed01d156dbd0e180a51a4a5758d1ab5ddecb379a406f1a2ceaca8476391e63503ee88dc6d00cfa33d2cdc293655324778e60f192e3128328ff694985bf59411a5a3a0998771e47356e00087dcce3260c375e997d29926488dbb818ebac717e65efc442185967a2c83224328a5680e872f46035877b31214f6ed1e065f4dc53f58bb346be97df9c9774d0deb39c59fb0f15dbac60515f37e6c16d03f4cc8d6cad067974877f4beda0521b47610aaf526ba9ad6c7b4ece18a20711e066b7d8808b7f5836e8d3b93c60bf9a6a7b6b5edb06ff35920eb7df48075295f79c2461e9fb0869f68b3d5470c400ea6f39d8ae97165ac8487bd354373d84bc79bfbf6c653d6094274a79eb121e0ae1ec508e7bfd150b45fe969b50418ee9d1582d1e183bf7f9c67d964af13962713371423a50703d896c564f6c67230df472c67275fd18f46a4b860ae78ce84edb9d4c64f0914c8ee0274cd328c7f3d8463ebde2cc7621924846fdb0b80a1d6f987c7a5524ba9115ff4fcf86937ee2a9fe14a50a17afca1af72ce502d2f7230ae8de5bcb617d97ce34f8424efb4c6d496c338081925de4d403fd6a554aef9b1439b0c283d4957724d604f360eb3b6a165a4013b93f936203c3d8f2cb5274d4da201237d7872f64652c88dcab73a7c7cacf5f27394be12b4275abe347bf9c4eacb344b3b32046626c750a7918a3e4f6ae2475a72bfaf578152e6df7a0f12882a659979812df99191a079110281f750b09f41f2b519dead459a60a6921d6fe05b4783e28592306185787eddee18461036456cea845243d37ca2189037c7c58e49dc921f2b69043ba1afc5fc1fab05c954cbd0d0443a84181542336deba6ec88c31cb6ca1a1242103371b5bd1114016f1eb78200c0c2549cc2afee74c47f49562affcad9d65960a815f3d78ea0d5a59be3351e9ed214113f7dadd65d4909825e0689b81f00d4d9332bac67c06f51255652212547628acf5e2e4135510572cd4ed46add3a08e9433e7b9294d49366ece2734c46c25a464a846783378098be1ec274a295e248b384d0ac598f531cbe79c4f9bb6e036b4d43022aadcf8f58353b3b1854cae2c797e2ba9c6e0103a760e5500b42b17d74e2ac67002820042e170144a8901ace05c74c936e707fbb1265a4e9b18334a5927789d43d38f6b404d5845d26c912c9188623687f5ff5791ebe2d2e1b74314f7fc43124235f269dd0d8b3c365180223a95fa59599ae4d2db4258f4fbf5e158275dc2312d7c923843e8805d2ebb2bb71f4511af0fe219e89522065faf23cab87ea768625816a4c73e028c199cbd48954b0aa2fb02c3c30ca51c6dcbab1704d838f288f2f2e58a89052f31bb150f6d0d982435b3e7c7563232943ae2fedbe84180f88ea69c82034b39770049929f5d549aa45d8ecea32ae4c20c5ed4421d0d2f614c37db39f96040d59d33a61da3452c54828b3b940c03e70c7643783418ca4ffb0f12948885cb2d22edb914e1c55552cf646d61230b1cf40a32f3040ed75317b4f59519002e5696303fa54678a08ee0c2f5ec17de556dbe596cae553a6843d0efffef977d30149371b9e57840a079dbe11876a192fa9acc66e9bb8e38324de3d2b98bde40cdf2a64282b9794885433e21fe3d785fbb626f4ccb3a3c17c4d0492e69646e66f05ebf6fe9e47b9e412ac84bc99e49fb54e8f8451d1066c5aa9fcb11fb9aec98128bcf46043c524247d321a2debbb0766e84878b74dc862c87b6a5ff6d2f6b55ccb413ebc4c63134007b8c18dc60092627fbcf176f4d650cf2c46f43d8d1843c76c05b2c00911a56328edb43364efaa07dc40c1b5ca19bdfc8f6945110bd3f293072a82553d10c86a2d217a4a21f6d5c2cee415d6d2216409a4c96a043319214e87a8dee2814116a7168a8ce252590fe12090f5677ee657b52a6fd3514e25d9e5ef9a1ce8ec003fbec541d8cfdc55f91e814fe470207500291884786113e3dc3a3cd694f609616b432325f4c96e2cad44baca9dbc0b83a8db2d34e541f7a06d623cce1896732fa7bd6c3b32adb225a09a64358a30f7cdbf5eb82dc69847b70281de96794bac203e31536981902717f0be8063892d8457e98915c143984dc47a52d270a9b397170fa38e566eb4d317f8a345c8e07eaf551f4a8f8053b761a29e4d519937a53910c2c41b645bf2766f1e401c5cdff536cfae338eff5559e023e79b264f224386a03d5e744698d0e1413f67802ab3f3713bb8c90d4226618569104511c29406e769414e3f028c9f755b83635dd62a57f5c844050106b5934fbdd30109c1a3ad9da20dc726c383c54c0d8eaf1452c2b1b97de95a064b439039170606533fa19f954e1c588284432980cca2e1acd9e5a4cb82d889aceab5de6b703f6b0b32a9666ee26ec6d3d810c293cf1a28f3fee384c7fecaded3115090d3e0f9c391371fbe5455398885eb7701016f18c86d990cdd8909a63c4a30054f239259739ccb326e9968a2a84650081c664f2c9201c669aa6824eb36409d484f539a2678118f7432c9efeede42182876b6ece9be3572ac01621356b5475016d2d7ca98288da47747f0e92ca7b2148921a91a0574f0b40d278b1821b2cf40af1fe465203561162bc43a48624e248a3ee6d95fedb442896a80ee4b9aa8254594d624d536ea2571d250736a274948e8a7900a850a9107c64168f3b4086d028d2d84b60d15c0a134a49f0488f07329462003eeb55d11109cc0faf0717da6a9f1aaf5408959fba35ba735b5b4d3c00c0751361e915be08b83dcba2c36468224f83b61100d9a67598682444d05dab38f1f4ff1d472758867e4f24529d44bd2b3055adabbedf601f01f7a1a8f35d2a14fa8dc42f47633212d1fe48e8f5e5e6562f06060876d048217c299689ddbf0c0a8e8193a68b7cdb1dcc152ffd00c2bec04880cdeda95411b8148332d527b54933817669c41e8d5c43ae98402cb217f24c4129f524f31535f5f354c327014260bb4f8ec2b02c9d9768f4aed8c1eb399f38321f2648729b107753bc7126e443e5073aad0bfaed3b0c03ea3310884767a490e3070fd0197b57a8e5e2c916422d5a0addfc315e002de777dc00dd8d0e62198881a86ce561500f79d9d2bf4bbfac5c36362d8ffa897c76dc1d7d7c9b7580dc590547e427823acb377f52fb3747603bee816205bd884e00fb481347a8699fcee8124a550531afd2e4a3a6b0fc749793abbc990b8e456551499a2c80368e3bd3413b752f7f63043a3b59c81acf3d6fe721b210903d79b73a833108cfcbb709ecdeb16b96ae812e46e4eb56259c7e07b007dbb31b403c9ebd98cc14d1bbdfb3808637a850cebaa254e7c507d1bf3201589115b3e8aa54e8cf6206f747474fa416e5190334f4422e0f6a25e405aeba503eddf8760bae5a36713a20efd7235274d46f6401d0a0f6d6166f42010a38cf68c1930591bc0f0cab5c48c94ae3405c8f12545b9858c1b1083138953a6a5aef3e47e104ae498c9a41172a253ba8c79822975e95ba641ea4255aaf84bc0c5922107847d8331ffb1056296814ca86ec8a463f923c60484a6e288e305f6e2d83201ea33726a897f2e0424b6267b3df72029707e67ebd9e02d8a87c45e0337bf7f69aca10eda083380c1240ba4675eace5f6eac111a0eb185723a6e6996ce80ebfac0dbd523d1551ae420fefa9180f95bc79e6f2e2c3ed28bde8d6dfc2adca8064584bd090a768621f578bf419a0f911212678bad7f823e980cf649e5213d0c6e3ad41b47a273b53e475e225799f36a982fb955ae3dabab523ec29089071f1d2f97ab5daaf4a6accbc119fc6cc4729cd366098adacc6053d80e81619be988d1ee5c24e5e0c2ea41e436cb3ffe7e41b3ab5c2d6826a73fcfd97dd9f27dd3f8721782d9991fa4aa78e4d0ae47a4248d1d5c786da8ec6e05ece24919a2a12b53ad48b1166419aaf3042baefddcb34d1e6e8acf32946251acd1ae83aeb6013c26d2b41d42b7b0435f3d34f34462644cd92653da1c46889f781d564207ee6a45765a2c58ef72cf7f52b9f65cb96bc719ccf187782d9c363d9d8662bb4ab22be0b62e9c9cfb2bdb5a5271021225920ae607ae52192499c1628f190c38802d4be2ea431257ea8259ade50d6f2be105893f582dab74003a43dcc117ddd59daaf4145927ec6bea09f48afb4d16831731cba5b597b5453ac9dfdc434e53eadbad05e1d8665c26f98cead62913373bc809e72ce917383d491eb3371484267f2a18f474a57acbc453b4d44229f12e251628ce896022876f80197c0885d7a9ab82b2702aa46123f34e86c4da53a37c4ec27231643aec844197bfbabe5a2614deafcb2f272ec7817624ce47060516ebb952115b2e88abab2fdf7d73023a8e51d92673deb2f3e6fd6a9f702181bbba5238ed725ad4f5e0ded22cc7167c1cb1417d6844f707202b2e7d2b0ce1ecdf8d9d3fd992b7b045e8642c1183e990073eb50d8c4e6d4d9bb10293994e8460eb7402f0e6148b2c436be58c2f30c94a398ee8aa18ab26377396cd475e20ffdd2b03f81bd7326a0166ff63b8f12552fd88e29be3175088d640ef094c7e911bff20a0c6254e082cd8c1fa518043746e6a27f865c91939002c9a95d7097b26f688c46200c2fbfc547659f9877078356cf1ef9bcd039494da559e30bd0d29d423782ebc03ee7422a889620ecd6d4b729db94d3b04e61463a4c77a863cdabb01e084b8b10364373b548a8abd6fe85a00f6d64d400b8d51554f36dfd5ad7fccddcbe14a990abef2dfb471f335b8cd5f1e65a872e11889793ba00ded04cc427af353483825545fc6289c19a2284f18e70991ff58c00b74e8586c4d0ccc3de2eb14cfd565e0c90b628f7c4dc710008ba2cf076a70eafa45d16605d6c03ee686f3033ac529cf5c2d44c1e4a526602d0541be8111266a384f0009f0d1066305acae1aaae62102079ad4369c4a6565622653a26b4ba5850990f94ac9e7ea234897342d207227f2b16309564f538a69270bbbe67efcf8bd79876de34761c13376f382cb3cfa7423d47c5c29e07d6735325855bdd34eb71baae5063fb57757aeaa20921ea089132668be3dfefb55fd8039f6292438aea2a718d94351f7a5a83df19eeccb0c2cedd0bb73b75f045a8a3789073e3c74253cd4647f467318d16c708fa5d70a424fcdecb32ded4d8b74d70e2f21f85d8895831c209fddd34fedb542bf6e6d0b65b672803f0acb541a66ea7b3713a3104e68216921220a05909ac1d4ac299e21e32cb8e55da984427af3a8b22a0412e4958f2e72dc44eb62949f80273a73a102e1354eca3a4646d6b18aa9735aa33a135dbae809eadf01b5fc58fb93c62fd5396625586b0fd10006ef0b6dfd7a6cc3857cb91c498ca16b32c44bcba8f99662c6b491da747614480f84d69fd076f864772069145a03c7557cb49f66af6bc4dc3b02bcf064a09258fd388bedbf0f848d8e28bd40dc85a651434f76bd1a03cf956726677d1e3b476e8f31ac8ac8b0ba5bfce39727aa0ef2c544f29f65efdaf1f9fde277b94cbde399df31184683dbbbea5709a09fb3f89a5ad4106a2f18613b524c59f8c4921354884b938019ce050fbdc3d492779c04c0725b5d4a42d58f98d020bf16f225898c02b11ee6510880908cce6e360bb76bd5869930aa6ff7c293c1542844182eaed16bd27eeaa20cc0f777a1e57df1bddb60925d2ba6025268c89bbd2dade904066b19d5ffc7e64440ee143a2a7e1483546f5281d6ce7721c840aa0e8d0298b539948f487781811cf4086d3092355f207b3a03db028348e22fdd6cd449e0e610c11c248a0dd29d0dae8a0fe052ebf9968faeb4f116db37981a5ce2f1d0cd3e3b4adec463c1a7cd455b1c57341f131f6e3e97ea8408c82d1ddc0ad5b365599dd7a817551eed0bcb1df7e0e3be70670a197682a399b0c8dae316010799e5803b8906c9f554919bacc808b954a75be4efe06056d1efad57baae459c921d3bf89d0e87c49c71f4ee444d1cc38aa9e3681a4e23d3d737d5db213cd260dec7ea9a29b938ac5dd0d15a0e78d736098512f793e6de47025aaba60f31bc75d249c6052ce8838843b111622e04c7962111e0c1059bca4a65e1b5144526d318ae20e8aa2f05c8c156329dd5a5a2d1948e10ffd131274856c0f2380fd0de7a546905ba7a73659795c6bc8afa218029831897e3160c6ce6c32f116131e206401ba880dc0dfce4e3deeb3c34622e533f7765ed7cfb664afbaad1a269d7f450f0d3b38f2f95c41cc79b67c8852baa51235b1c7114dd53e939d4616245c681147da64a84b5ad1572e9a15bd0414c74fd5c8f1c5f75893212468cdef5e5dc4a790e5fea73e4aa7f2364cb74aea4f3f42b26aa0e3a266dca1d355008ec5aeac2149ef52026b110b2386ee46e98461f281dca659c0aa0481f84da11a5b6623dcd25f4fc607631f3dee5d087d56123a710cd6121afd110eb90f118b0144cdd32e2414de728e92b6ca1bf98a6b5bf61f467b0d306687e6d4dbec4f4c486ba6f89265b5a00f13c63a874125819c80fd2c320dc88952e96a9817f68d541f30d712302424eadcc6ee2753327084f1d850bb550180c7c583bbda2085e970c4db3c120ee56858f915fab2d435409f1e482d240e18f71fcf3c9162e5457860544134313828fc74c820b4cfe35efa5cc0eb6f3cd1311d780931abbe42af9b2f2a7991645c85c57840b3d1b80ae1f90c9d1a084c9657370aa6d648c8d5b4abb4fd0abaa27ea9862c79e8771dd2c863c48d128bf1448ed3bdc44ad3a61c658348a82caf0223cc847acc3ba07ec48396a8b796e3a73167df6fc865a36df8f46d9ee3f019a049603f3ef5288af11168ba94524e33f1f06a8ab0641babcf8178d32a6f4e016737b1dcbec772ae0ccc60ce3aa2b582a08b994af9e5dcd9cab2bed615141f651d9a03007a80c8dfec22ecb380f565e664e2578fceeee6e95c86b134efb2e1ae4120f560f12a6e54d1882045ce0601a8d3257474ed58a18bc8aa351b60e3fc68859703b29ab440962233efa5de4006dd815a04c4197c9fce769f94c39ac889e35443da384d8ee8e49d3749128ddafa18469ac4caa31187e18bbda59a4ad7830309ea5b6d8cf28082107cc0ae5d1c7551e9b1f91f930399f23c2efa579894e68c50be604cd5fc4350ef311145c6394892a6c1c63c2697ef45084d24c638c72a60265ffd47b297c0d49a754c62883b5845f5188f0ef1ab8638c72253162d0b00907974619a3a058ecfc8ae9ce715ca583b01659fd8d798ff7f9cc9b3c7bb2206d8ff1b9a9c5544288d78ae51da958c66b0a4732993a54e95c781127b3f009a0fe9723ac07d1061489cca58f7d31b16d8fe173d4b00218c1c5b8a4dc3546412c70572a7acc12443d614145cb0ba51596342b8ef60f99ec7162ac52dda572722a7789a5a8e078758aff5e3704c93d9a1a17ef8c85666b1fe4c3c10825444205889387b790364cdb084f82bde6d1abbac10cf804c1614d8fb49d48ddf308c1d80b33b66c6fa0b3151ff73da9d24b614d4f0456c86c59319cdc20051547f110d6a88315dd6aa4f5fd6b4f0ec04a14a4aae8703f5c474aafeced128bf64ff3e42a89a04fa463a1d71dba4e2930a81885a5666e3b1d9befb509e49854fdd55b994e08c315285006e08016e89af075f418e8ecdd794d841408991f607f8172be128ff9c75ef902d960a6d1f95280142784f9ec8d48821240d506f08c8cca9dec391bcdb65129053e968f2e50b33698b74c312f7498701690e5172cc0334b7b22634a60da6bcbe7c6221da1e63843410c9a7e4a8242b9e05990c058d03c3d2572968a004fe31ee245c1c12bcdc02f4432709f1a4a82211d7068b2f8f4200454244ac0715dc7004b72a2bd7552848d862f46b5f96c834f72e4ceb180683a371f108c6077bc047509fb6c7edf70da4b8b17a294a49f931c324aa2d6e4e0e0cd4f13c4aebad13a9c49ecd64d6677f3aea60dfaf93abf61daaa71e1e51efc69f91b2219bb13f6d67bfca73990c7964f96a41a2560e1da9adfec992bd63753e4dc76ec0d591e8a9fd7ffa8bf589eab3e30b9023f8de719e9798d7b871f6528e6ecd749c8249c300a229c641d4638239cdad16af235f806b098c6bfa89e8d64df4b8a47cb9096aa0b814f74bfa5301e293d2390be06e5437ba67be8854901de692130ff251a9831444c230f1cb0bac13c18e6cb1055ef5df41b95de9867ae82e5996efeed9714e499b7747c572bcef1b30a59bc7b809bf61ffe44777374cda941fc6c6b958cc777257df031e3357fdba17f215e47212751a60fe8bf362cb7e582df711fd07ee6d0038ed3d98379dddbaf42d2696bed7e99ff6f89949677c13b1a778a8f5aafe7ccefbf40ae702f608b04907ea3138e0bde5855182213406bc095a53e232e800b8a88b5ffc5d6f9de86c775a5031c440bdd5838700083e5a80495068040a06fcf371f964b2f4a8c3ae69204e7e5f5f5f245704dd354926b56c7750e04d70c01f4f6907e067b0f5e26fc1873aa9ccf2da645aa8a74e70aa79ab84fd73208b1948994c71ea1f937ff53202d12d20a89a3d5ab756c458de043d2c71c15511e8e5bb04faca323308c527a63ac4e7749cbca8752668ea3456a4f382fcfe4db236157092b975c940298eafca81d32c46f68921a7c5891a65d6274d3f8536cee6b84785b9f9add18357cc2dbf7a975161eb6d2e9d3066bb9b528a988444a5c195874a75b1853fe87149e934ad491214387da26c270017734e001a785a60967a151e789fb5633d4d5850546d9c869d9e60fba6dbff20102bee5fa17c245077368d20708a261fcaf3ab559b2ca98e50db367b31f897ff88fe20310d10df76d1100b938d281e7b1634a08e31bfd83b4fbaf4f21b32f001d80039805d26b50cbe5c5043b3f55adf5fdc480169aa96104fc1634a60cf37ef713633f476b2dc124aee7a332517f061bf731990c570dc2c64346d1afe6267e698d6c46c08e43e9787fcf4ab376885c04d709190c72489ae929c1194b18ea030876cd614e322406d83d200024cc6278a279a5ad97f7f4b0a84f58d19b060df8a235e21a8e5fca5551ee88fe1cccad5706bbff7169ea899cc047d96d903eca079242e0f5f8516fa0439325300bc2b6a3b4ce95f2e2b3cd8997580b42b6745c95394828fd1383e8ed63f6337b9273c746e5474c0bee1576566e0e4664e14a9fe8a62f4720ccd868088c9c8faf008b0940195bb43d1d520e44e083904f75a34d926a2ac0074bcea23d9a3c65c1e04a17a9480cb688efbe484b4a4c16072ab2973a98caf19a0c9ce79b55c4a06a2f1c1ac6417805000307e7c282c013ceb8e8284fc081c4f17dc379f26e894cb07e7996c4f14058e04e3bbc9c9db812612bd9ba4c5839d57defd3f71a53ee9be8ea1cf33448894d522992518aa501f2c4fba290626f43161d938a4c5e09be5c4f9962b188c90e4b8104ce415d149d31057ce7f1c1eb4c1750181ce004d01a4af0a030bc825146850787df12d9bdad32e103669fc7f4d16c0b6a2cbc4bbd6d8eefbd10d9f05eac490962fa181970d768451a756f3831d6dba3e924c692c2d5b1c42a431bb57f3a81d9a441a7cc82d22c149c7231910cf46a673d00ff2f98a7a0a7ad88541f58c3c0ea75509f805e7369d05fa6f2c92bdaa6ccc3d17ce810be03da2db65238199dd035623bb6c42ae2074e1b4b6012e426f94353c7aacb7e20b1bd7f7f90b56af9725ffd967c807010a4e39d09a25bfcfad91d84e7562ba12c7149b2cfd85d5e5fca336dde7aa1d526bc6b43a3c48c3f2b070e230760112d1c95371e970b6503323620ee13a31e30d2585fb031eda261ddc5008858d546ea9e132c675e6a62e4c6e3b68bc147f0cd4166423200b9df84bdcb99826f244f164c07270728eb9608c35fc5870316723b66f762548c0a8d0aa31156e755c48383c3625f03292ee53f9a5c9a2e48d2c2165175d2970f06608704985509816103d4d51ac5900a1e50590bb9863450c75bf64bf5d0f737a8382141f75b9c9c0adf65443c31141f5cbc5390b35dcfa0d3022b0a5c7cb0d8267552d2787a752acd42fd092be8d719836a1c8f617e3cc3fef93f8537e28e331ab5fa012c0e74b11d37e3270071f74cae3b7982935a54ac1eb907b7346cbf65dc425dacf43217a0362a392d6d532df28ecef478dc2f226082f6ab8857e457cb221e0919c4b34c16e12e4029ea425a09a3ac9761291c6a7666d27e576e618a85da298519baf6a235890f3073a765e6d0ef72cea4d8f08958a787b7299656d082bfbf139b002e2a5d07ce30a52e2687585589b145be2d7004f7d68b00bef5f87b29056c570f65cadabf2f227f06240280ae8764a372149a3e7172462dfeeee328d470e507bae0e8ea4ac27153d18f7141d6b62eb2ea1aefb29cbe5cdddfb08c5ddf1d6a2cb6f2f0849da32b5679fb0a59a4875180cfc7c5ea9f874b0485c2cda025db00f119803e34d14513233ec3d8ff1baf1ebb72a95aeaea652abc4b3fa0b9c33233e67ce9572f3dcdae3af91a01f21405aaa890f5b0340d7ae74938dbff46210c847cdb41749de060e0f4b87e21bbf36b17e0f6bce8df1878763a39476a14a235d9d75a7b28cf8b123de092ed2b178fb87ab86a179167c60ec3ee21dd1daa43a93aeb8887da402c54b011946bf3115a036e53868fa773b3460a6f04730fe603141f8a18e606a8a6b0708be88a2e566e0fa2540ac2d8f90e22699daf484d18c17f7246d9947f1e1af951f28d158e4da6a73f48628aa8a1023a68cae72c92c06c06786d6bec16426ff8c40760da94c1fbebf511b523aeeacc371d6f2c23b5f44991bd3a7c4b24c968744b7ff93fbd937eb64b65b936d054e0e64cf0fff99fd541f8bfc8d571b8b4b13db4e41df3917f5f5376165c582bcc1c3149fed7df2e491ec64e1ce1411a08625d9ed042ff16a14ee2505ecf9b2118f5134cffa88c1f6614eeeb9507468c0bad8546e9c40266b5554471bbc39f5dd3591760dcd8a2c6c568e48b72907d1e92d7009c966704a1b76471f88b60e80fc52dbe75b813531e5d81c7a6cbb435a63a36f2b89359bee2782de66883b1df3a1f46c82199df82a1ec026684be9958b709c3615a1ea0b2e67bba192a4a04e7c0b8bc38be1cf63906b6ebe0c1865e22258df10b376feea12624c30066791051c1ed700d9acf2982bf8c3ef38f8405cd7f703a7e985b5cb4fd634408b978e68c8043e8395581172ed965e8eca6b344f6546dd3c7eaeee5fe73df4762b1865d079920a588578b38e39120a780ccaa173f54b5cfcfcbcdc5ea3128125d9b55dce118cf348784e7ec599a65a6a6c2561d027b387339ead08ca57312a08f59f45e77fabf02d4c8aa85abd46f599c5730f47549bd4d5fb1e0c4af8e7ea054bffefce72f5258166d9458aaa4da45aa3e49e158c4cfc39f878f5330bfe057c239de7ec9bb6562cc688dd5f8fd22c8568c5daf31df3ca87dd7d7578be0200c08e6d437a11467d94db376a17b278f245b5aeed589b117b5b4a788151f73665c4065406b84d7331b316751c844512874cec6caf01b70e92070c10060466e54fd1d5ebb4d5b3d1b8b61beb20d6080f0d6e04fcb42559bccee407caa46c0b6f66c071b0d30bd7d29a89f4db706323b4bd1c72ce52c38b072e1a69e6e00f32f1bd2594c8672f7af9cccf276ab6e735bd845d31a8b2d4328825aa7f65ea1c6b7f93c720a5ae631a86f669f31effd06101beaeb250b704499c3ae0983744839235b42a178ebf15cafc2f6f0ca6424da85a573d02a9e0695c4226f361fea8b3bf228470d427ef46aa2043ed34024276795e414d65766ce0c8d84dd277dddf78cc914907f3e7183d13155f0ca38649257d11c1275b9e5a1209723708643284d5daf3e9e9742949deb6d97f00eac1fad8dd9031294801e1811bb8a45cbf4118b4d8a9564b514eb3b3b84ef12e4a0ebf59ccecd0d4974b625028b2978807d0c3d9d14569655e9ed9b46e2478a3941d2163c9d3fe9ff5740951b28980debdecbab5904c78948ba1a7f7953c51203d34ca6cb01641979aa6bb9419c9ca758263e1bc4bd913e46889ee7a2b1c222b6d38f181e552ad6ddbb2a83c71ac6c949cd490b11c2a1e5c0de8abc2b6bbc35b45e40b7e26a93d02c700a514b73a0528685bf0097ceeecd8d0da6cfe748c4ee99ea52bbbb70e65210e77e472f8671fd15680cc663184f0040011172826ce607dc1ade825dc87f32cba567edc76b01a82e38a2853f3d0f5d602eb6fbcf1d531c4a299c8207ca5de17257927908c605217329a0a9ce8db410d1f8e42cfcc65c7473a5499f82a9435323a557e384633032521405c3438ac33c397723c05825d1a38805d463c66c5c18506ebd5e97635627aa1cd242dfd26b8a65b0e15ccaae25349eeea86c86e079f65734d1103936fbeb5b70476dd74058bcc32c2640d46f90819d0245edb0f4157c3d8582fe36802015106cbba1d3cd6678c1e86802e167ab170512303a8981ca848abcff68d0c001ece7ac66c462a44bf6a9d8eec69ee0d640097ae51ee48d28a0737059864d8f0556a34cf2943b521d30c4429f0ae714a0040d10ca749a9a3182b19d1b2f845b0b85ac4a7330e886c5eea16a3acd014fb608d9cc59742bce47f4d58d2e02dd726308c13ec42c14bc0a93aad59db1684786e9848273adaeea9d66b58ae165c6cf28078a52b1fa4e832d06fc9e581d1502bbb673b067387df5a05c06e346bc37cb00896ae4b605782e81ca64970e514c8c927e0bea3787b6097e2ef6f0d06e236b0bec1e57dbb06e6d642549c52fc9e156b1cda56f1156b20e5302bf2b51d5707b38a2b8396f6748af9c4e8c5556cf22c94ffb9f6a703cab989c6ce1dfb08370d5da9c12fa5ecc830f918ceea7574c7019cbb735e911197be8255e20c373657a536d8fa4039bd22399b9aed7deca42f80ae0a8bfa46ae023ac79e82375f6bf37e395e5105f258a5472c4ab0b04efb87d33626ca81b8e89b321c401a7e07e166c30cab844768b000c999a09a1ad643194bd126d286428a88ce538f1e1f7c60ca7a1dcd2ac74a93891eb4ebc5c63ada3949b02b2a437e5c4302c035abc1041c1b9f5857ba2d89abd2158c982faaa32a530dc7b4d3f43389113ee99f2c0a18b009d5d47b681d2cb1f6bf57cb94b0c37a0f99d4be98dd02e776dbad76dc5fbb3f54d8de895e08bdfe61c9cbeea24d09563381eeaa31bb8c3a8e4c76da687567f1f021f86a60cb46829985d81ed1dfb9e9fa45eef1363a033f32e606b9a7dc183b4ce8b34e383520c89fb643c70b95d5865c19cd3d818862e9f5874316c9076a8089cb102348f9903865a0d305c9820bcc074e7dc93ea503d8ddcf8c73fbb0f8bd1bd90ea810a42c835010f585b3d7c26bf8016e3acf6bd8337fcd1fd7d1b6ea1f8b84dfc714b04b97d8db31e0e2125d270dabc9127bdca56ee4c173a18b774e450680a7540c0998312d1c49103dd12058c6ffe4c45c0d5e6bb8cf78e940494d7b13886e50b2f683cb26175c9b656d52a890d0de6bef105ef0f337956185c06befd0948a8a0d9742212b86c75473153bc721c94d3f3d8edef94c49d90b47271a16acdfed8fc5432c1a01f99d23c8a5c48c019c58d17ce2c14584161cc8550b889dc54ca4adf9cd83f4471e0d684872b6e374d0d076c684a990746975e4f9ba7244ff2fce02f5a3b84b21ea10b7aa64758da04feabf8be25224443e5b6252528a32eea78f2a2d6bfc2a00822fb5a44284c835dbf736f291017c38f5bfe53208f1e24f0ac24b99333af40c93f4550953d5a2e9ba79f2b15fbe956d950484bc5bc2bda63319602f80c209febafb5605d540dc197819d53feb20f64b93fdc200a96254617e489f82ad182c58e02f0cb4970ff3b3b5227509ae9f96a837aa4875dd9908e73e3f94c34bbec01d72c68e4a3e3d0e05a27ce163a01d7ebd54bf2cabb28b289d8acbdfe372cd6f7179c0150256c5d34033291eaa09595735b7532d28970f6a029e49ccb638312026a2167206c7c89b363e6f55306659290c380f03bb7a98c797b5c59459d4a7adc99104e6f618b270aa2f26cc0278813ffdc9090ef458e5e9ff97f6479fc4d3c947e3da4e681deb98d1ea61028c19fe8fa7b37c0d4870c1f689ffaacf5f22d16889d45645a1cf23ce9e162080de0d1102bc34eb3f36f65588fcdb96bc18bb21b3cbec0f11ca8ef998570543f9b1d4484a2dc26e04d79a1325aa4127cb9cf5304f81591930bf6b0704e75795cf1b93e25d79f779b0f072247cc3b30f1c8fcf0dfa2442e49bc6306b6866a3541ae569f99b273c9260e0faae79695e09955ec855e1103aa81797fb91b93d23e3a7b637832fa3827eaabf9f381e0060dfff87955726e113e30a277b69dc1e7ff9fa9fd9edb1dc9373f2e3584dfdc11b562f6494cef3492f72255fd36ef38b7ed1861bf8ab430c356247359bd4d1756e443c25f70e1bf3eaf9efae79a35ec71e7a3b4d78be09ab7d18b7b53c06fd411e8b22592b60ff21d96c7c1492048c90ad8b310be76601324d6d3c31d0019e9871e04961cccf509d6a2c6d537cb6d2c1c951376d86cacec35ef194ac32972be76a20a5e2b544bbecf188d9eaa5a33a79a723b63fe97d3e8562a53757ab7383ab21f683072924e23d46e55a5a6b6f089c45529e2b1a7a31a3e4f1202acfcae3f9397f3a5fccd8f3e98423a0a104b3e8bf03fd5c2526fd67b71cf89f7914098e45352b0cf86f92f5cff7c708ce0bda215d711168246068e6a7b6a64dd1890f75ace8388d3f143a854739a53a605ccee0266ce7cd9f6a66cca91878712f2628fb75af2f15127cbcf6ede9c676ca79d848a3eccc32990cb36331fec3d0173db971641e921cf2de5172ddeaa6572b4765c7bee33478af5eac2d0538ab3a3e88e54f623e42bfa937fbb986cee1d18dd0a371a8789c37557835cce582a2c2ce2ed7ccaa1df8f5c4c20bf753fc53f80d16331a658f0b348b34c35364a6075c129616941379efe29cecaed34355f7e3bed63e96edf4c9a9bf27171e3597f4888d42e2e6da1d807cbba74c5dc43f22110fd99ad491a3b69fcdde731d5f5e7467b7bff2d1264122ae201b28dc77eff84332210d381b12c01c03d98cb783ddc78b5f9601d1cf4c561baf29ceeae6dcd605679f2dc5500206b728f2568499c053f5381a12c94808ae9a9c3fedcd7f08cd089876f034cf2fb74f68009d4e06cb9839f21e63648bad13e96f408439ed382bb4ec48383f1852b96443070525a49efcf5a79015dc48a86c3e5493197a54c1b3f2260557bc2665747937bc2f086dafc0ad83aba67ef4f6f50d03f08b24381ee4a9983a64695fdece80260e32fa1203e2d38a6342dd36c163e3912a74c2cdd85dee02ef5325cd27a1743afbc019f7b67f2a7b79b231e07d2286728d26b815ebac1f967d6a5c98545d7b8b46d001d0035846284c6fdf44f80397b11d8dca1d0fb0c4844fd630583a2883a50d0d2a08b495f76e6c09111b43d72424a814f0e0411eb48b6350a34b6e1eac6046fb99d91f20eedd0bbd29d63964c1cf18d2c31a2a60b8e746001df6ac221ac7009136ce53738a5b1e114d7e8e2b0434cd1f44a666bfc36a78546471cb66a84b3922aca0bfb448532f73a63b46cc54aca21ae857a0dcc0c77ac15111e7f8ea6662e643972812cdd10a4534aa986714ee20336d2264204ecbf8051b51490e783c40c6982c5ad5cb6e2f7d8c5cc4edd6d431e705a27e622441b3b7fadecd38e08257f16c5929c5b759744ed570401b971458fb3bf41129f644f9c6ee568813c6ad2c7f1715bcf9609725e9320255fb92ec635c2db150d068a376f077602a154fc3fa29315cb13ade3617895e825ddf3416472719e561e538781f27f5ab96c337c593a082b51ef87cb3ba0dd1d46c5683c16d62213a2508817c43d24261e08e443872e32981847a9cdb83344062b99954673067858784ab5aff3ce0ef41157d8089701ecf19f74f8038d7e31f9c24331245f71e02b4286451fc0bbfa2c523d51eaba4a1637c8c72fc13734bb8366466c9e4eaaf934a8eb35c60abbd43c4d2ecd215269a0cbfde882c5c07ceda499b8250e3c478c4845a31d39ce75738c445643ac253b22d0cf3b241a0695224718bf9100903d30046cd06bd02068f00f1868675386004d1c092a1f855540ccb28e63b098b01fc18c401b53da86f881eb917c0c15a58a8b686b2a894eb6439be2e2ba519855961a502fc40c2853ed53941a1ff95fb9d97cbd098ca6b0990663a4c640909d233e881517578d6c9036f66775416e753b5d6d752e2e03a36b97b6eb07a989f04af6c9318bd15e29ca2505f6161a130ec68a5c926d3eb3bafda7a6168879d6bb14b19ec36096dbba9d5022af5f562db26b451dc0c92e7228a6207c52657852c62890f3ba96e85bc70242a1b6a6e31ef9c6ce05165651016ff9cc0273f3db98d02c7135fd3c2c98e9c6ffbf6d30c7c65fdeb61aa9516c13b779834306094e9802c42867370a8d4d78891fb4e00a4c36e2ed1af9cf18bd2ad3d73403e2c3cd88a39e1cd7e3de177dea5e6fdb0b044b05894a4ef2620344adefb400d1d924d1949e0f5f96b5578a34e4c0722be0236743cb5dc31ac0c4b87b58b03babfe4f6e275a512adb6d1b4c31f04b04920374591ee6b28ca5227315787de88741ae3c285f807edcf81e99a23a8b9d846290ec29710cb4e81cdc7b588bb292c0dcc06da4b0d6064e91c7cf021977e8766a644e8bc577989ae436db6db51ad240d4dc9a5000cf8915628960aa4a7f1f4fdc8bc4dd1c075a65f245c1e1765d44a422769123fa64657c336ad45fb40734457643c9e0e32f71cc279b0d20562a4e923bc19d75fd7f6de0989ea3c2126057ed24efdee78c829af94bf808bd69eff2b671792728b56cfc1bae90c7010ae3e8c6f8cf82d7f31896063dc70f5b6dfc3f6d008577c6e4496cb937b21b99af4267e67fd20326518a8685631cf1adaedc117f60bdda8ef0376db22e60e809a88d4234907995b8daf87750ae50bc77109255a3c886260a7fd33193b568fa93948dad2f9a382a114bc06addb7c641c2db05beb0583481c50a3f06f7a22ff96ac2976389a4c7c54ca666d3b40c7c0482e12ebdd0a0fff4ca5705a9bb4eef3f952959e52711f479292cc69a6e24326743af985ae5ef4ee4e14dc33a1a1fe589a72636cf5c0434bba61a58f5a26be5d421b50f8dda017aedd3ecfcf92ff5296508ace583adfdc9f21a987875e1072a330719345bdcceee3c570750c2b4c4d6b009367084909e6f823afb9e562bebe4a5e3e04f265053f62ad43616c72c41d12a7e64e8106015856431225e6e98611428d178c7695f15d327abcfe1593af81a12b700d921746f6cd5af91d6e11f96a84b073f4e3f2783b6fe30bf963ba52d60f5fb4c68a4d5322f2139a1e56a9ca5ce2ae4534a0ddcb8203d9cbb0def557185fe46e15314513688b145b999ea9c10048fd3b0f89c392e6de3b87177f77fac078ae882c7da52c2bf2c7611daaef143e3c78be720e944a419bc3ebb306ff9c09380b3b5984df73494d38f3fb5e82d46ddd49363154ce84d1844f005d6bc77115a45bd0960d3adf5bc4316c631b4d687e4158c0bb62c69a32f3b3774900b4ce241845a8cbec61b8afe3f3e7ef5e83bea7190d75bf3522fa5117dbd77c785ff21406bb364188eb8fb6731218b984253998422657936bee0ad3d4a74db25030dbdd41bf5228e71498b54a029c07258f9e221f9ed00d8ebfa3dedbfe1785f0cc950ce681dead3c8549fc1019bee5829f0e125deecf1607fa86c12a6c63549a374c4de58cc992accdd98ae306375562dad1e0957b534633f973c06052e57d0ae4f84a91cab5dbf9d6ebcb57bff1344d328dad1a0f362d2cd64c6761716fee45c85f438651d6f2752f395ca92514ae6a81599f649cb500d747dd29d8ec77648e0e0d65f9aac8c551f591cc602383609af30c303ca1e4369cb28f39360981f00be200a540575967d280865a16275c677e55de8cd1b2a46040d119dd1e06ae28e45e51906ee8dd541174ef3a89fc64dbef4cdb9674e33140c4c08e038466e631c51678685dc1890c25df7026da84484af8c716f880fc09cdbfd84e337d38ca538b4a5be1a1075ee5a7ddd61f2d9f994bf9d3771dc82244e3d6d5fc59ee999a182dbbc181c7c03af6af726d97ce09b418d047a5e927cbb14bc83bb39d9aedad5bdea025c833512d1f8d653bd2a4d148006d5a023b9c1c2040331db9e0cd7a14092236a36d5baadc45a9b309e63bd4172ac031d659e919b361f514d4ee4c70f801ca35230ac02b974d493db96f8df49f8160d2264bfccc7e2e3634cfa1f4f82deab7be4835359dbf4fcb404da61ed7964de28ad58db07cd84bbc8eed8eca638118ec2e8fc7bc2fd576491b905012fd5dc35c07000db8a992a12c2319d261aead43e1e8f5b67edc3ae612afda73466ea9c3c64e05de27b11e6f3a2dabc7b71d592a63cee3b67e42430085d01f2b6d974491197db49b09826c9316bd9a4e435574d3853a0954b070a036a9ce5f43791295c65cb44b0ad352aadb91505751ca85b697434f19d05160c21c3a437a40985d504ba21e9919fd50a7c8979b2d75c011d4496438c507856924bca1012b40ea3888542dcfa83713986a88605ca3d73074febb42a9b51418c26de1b02e6da8998a0e37bb8366aaffd07d118ca01dbfb010ab40259797e825aaaee5cb55f1a3bd4c5c0231220046c8c22b01a0095c06ba4c9855f553444f4391682974c39f1949b5b4931dfdb90df7bac01573816e25a33572c41cc8c0f850a005c8b95d65add3d7c290a76adf7f0df8e1a67b0353ca2a190f237ab417906a01554dd331a5270e9337e0e2797f73d3be0c5bc439ce9728d9ef1c071fd3d39adb80081e033082a8bc9d62740ccd8361f06997c5ceab4e206d8033d97f40d50cd8ca633935d7a725ba8f486281e92315e4bbf863d1d92443cea46a8dd92c96821ea2e451cfc0341054735032d325087721fcb1628d53eb5759b97e1e493bce0a491403c1b259fb94a17cf510d3cfa9952efa3be95f190368811776f5d789e61924047f8e9f6e512c0eda660b3cbd10c05e2f17744218a8dd56a080ca2238e604673c0da4e9c26312fc8d213a7ceabd31015543d61ca10b0951c44871b3936393c24e9ef499d6f094f722fd234009ef2c2ad4f4d84dca2d4ea5d08b0d781c273abf47ab7a9396dd99da0d20261a0610bb0490815cbb2fd681ca2441470d0c9c1289d4e734aca73d86f102251b5995007da6eb5d54d6f450aac4ef043194d8a8fd3615826be3a230fa3a7d296752d252d50b52faab1c601332aee4ef32703bbe16b43306f8445a57da5ec665ddef1c804b0ae740d06d847260adebc556081b2658c9006d971d7e35538c5ff99d56deb3f49cb76db5f0755c3dc3f50d1b9e6bfb2d416c68f87f53ae7db1a37d1cdd82fc6076f9862f661f584b2000182737e2f3ae3af8f8d4321ad916e575d07354ac13694a29436b68dce974e0423c2987e00d156e33b7694cda6268f548b9055d0e9c946e78eed16a4dc31217af1e553f53728864e5b5a0bc233a316841c9177bcdada1de9325e0db040877a829fcad95460acd238b8b20b94803200647666aef451b4dcfbc02a407ef83a75f0620af31f264c8dbfb8de50c1a43391055ef94fb2ba0b2f1df9c73fe724dcfca0e555303c0f1b691dd25cae82c33e7cfdce248268491de749a36d7427396252f2926be5087047ccdc8c125c2e0c3c19ee9bdc2b7a2d7aa142ebf0fb4d3e10338c1c888889c62443c3c8010819685852342c8bea17537a769c368760563844922149c8606f4a380ce83558c828831129b624f0e3f0c8463f75b98391afba3a38115a77fb69ad43971f19f0290489fbb83490a0aa363035adaac1bfd553b5fed46759dbfb40a0650594ea1b95f8256e5254ec1578704472af21640293a81138e5e9a23bfc009cc1cc96c5248d181c82c275a068507f64f3fa06087de9fea1e5d7ef20dbb99ca524b8ef9ecad08fcbf3e744770a097a364ca3bef645858eab17a734e125c8d76d669c9c9a57636a35942ea84e999ea936eb55626f5a4dc1df44f50d68a7deb523782b4ea42f2477f514c90c6a9fb084c856f2441c74f0fb40c6052c0984c7f33c56d31dd621e10d38bc18245aa65adcd0649631c2317c65cfb9d5392f9b2fa20665d78d37b858bc8eb7e505fed93679432a0fa1ada02d651fd567ecf902dcd61386cb0c7f708e7be48544ed3e258718f9370caab00ab8f6685063d4b843433c7851270592cfb50fafb6f56ee1562702408337c325bac5665af4185e7019e58685e236dee2169b41d612a65f179a40e8bc84acf084879f3a11521628ce37b99b1f9ab8b2a31791df5683ac522c6c151397a9a91af780419cc025b10338392d40cf628f00e9ef73d3194309e24668e5b7d336b136fe33ba9063a95d99a2965fa062ec58f913f4905281e164b823e21f39e1b12e128cb058a0dda54745bd9d3aecd054398babe493e1dd63fb6fc4e5b4fc510e4b691b81b84a12305877446d7961d1c77c5e5df9010656988fc4613bcbdf32b528e565e5690699a610b74910b80ae731f07948927766e3cef9e99a305a539665455cc7a374e33f08e9500c0c1ae241e4acd678b10cc097a52e776e2469ad990f4b4f3c2aa9e768200dea4e66428494d84c83f4153606c9e7b6e12145356a089659817086416f0c2b837a77521e3705a1eeb871384011ed25a4ed70659b0ed1419ddd15a125f1393f0c53012bac5f3968c33ab3b6fdb15ef099c986849e488b3859d370635fc881ec8b3d1e0f0b30f4f6dd525f5c3a11bc8cdb6f9c227bb7f16f07a833213c05db653fd19782c3ffd744d42f4bd0c82a3371083704c6d7c226f1facdbc42cd3ad9a203f47b4d752b42f17ff7994d6abfa49385ea558b6c77b31e912cc4cf52b7ff00c22aef1215262747c4ddcb73eef6b0429a44e3564a119992a6870048998b1d822b2a487662ab48d074a1e09618b907263c1a91a04d1c6f60ce079c4d56ea27812829145bf7f5aa509c84bb4f95844162e2594c4eb75c1e2734c6cf4cf440af89c157a33cb630cc7abafaebc48beec1a7c4fa1cd84683b407224d97e1ed7aa30823e31853da694eaca511715fffe84a72aeea2164b8b9e829dcc26d6bdce6bad7556beab464bd98e323770f658c224312bfc41e92e8af197192fdf04cd1d5a0de3de0e9ac90230b7234bde694e0be09c9e5919d8127643bdce61062c62af62f5a9b7747016cb501a7f5a15ff28f825e30789ef1515e65758957a190dcbb94a5a610993a14b2d0ea974413d9fc3d7ef07d483e4f46c456ffddfbfd51c0036fc4b3ad3f943bcabd464235e09715f9e1f8ef6b5abc55bd27ef14ba5eabdfaf7a0edd74138e3650487234b21c0fdfaf273684158542bb472af40be954fc802abc22d834b9ab85aee25111e5197a15702e3d96ab064f30370b889b738fbb3f818fcb1cfba4ebfe3f50be07d85bbfd2ee585bbab4d1a626b8fb84c693375442869a589a1b8c3b02ed0d01c12f62934cd9cb5390e85cb8391f5461862b63b79d425f73e98fa726d40c5d7c84fd466fe5dccc43ff3c4f9ffcab7081c46e7d52a29455bf4696c94a1219c55de2b08e022c44af645aa335ddc93680b98461e68fd3760bfaebc34695ca647c006ca14bbe210dd323ef5917f5206bb2f8a8888e62e4bf48e506642713f031caabaf377332db3df2984f1e5fd106127f03d3f43ab249775acf886846fa8861500e054e61375d027a5b380431de95c5e785e3210ac9fb37aff9d28510674ac4287f2161f7c8a2480836585195d28472e4c79e4f3291a0dab8126821bafe8343f8f459e6a76f14ce9fc986c3b5e25066b44b87b4924dce2b9bd9e1e143811e73fdd8dd7baa660d9df21bffef99f87cf41ce6f9d2babcf73cbed814f0a0b0c33f9c028e6e4d2b941ef27906d2f6c09179a65fe606a16dc1600c71d4b93df0bfad2382b05f250b30a01f1183f072700e01a6a741e0923ef2dac72ad4532040aa422a45b9e9bed112a3f78ead7a1636a299d34478949b8f6ae914e786787152556ff0eda9e25e628bed27169a9a3b97024f64a22e43994e5838822755280681383c80aa123802613830a106a4c2f4a3d653f363838d7fdf483ee3d16af2650a3301d30e695b673651035a6892805b72abfeb99faf1fa1d0655eadf4757bf09c55bb565de6ce0daaffae616bfd747920a85d624bf0fb40f2aa5c1292d02f827b8517983971b86f997b4c9bcc91ca071e5146a862021c3c6e802ac84baf3ce3f651434e9caf813356c3693ed0136949a71d0fdb0628829df41771856fdf117f4386b1503f0a73b47c6c8e5015e6690ae1161c1706ccb66703c1dfa3bb77f53a2ac412bd0eb38ae593d8e0b32b00d22d3b729877de30210efe83ee248aec687157ff20aeef399604571be2e67d43be37c99956b61f0ed1f1b4bdeb01ee1528e934f6cabc8b32360cbdbd2eff62979c7169c5888bc17b2f53eeac31704c73b59c0c44ffced0b07d49f9d961528be17a28fdc9a41ecbf45a8b204f20f6a3ccdb9dc813c654aebe71dc20bfa753babc227b97e09da872af3488323756ce49077f1937da0f8120d38f8bf72ae5a972c99adbf3dcf01628384df81fa3168007f66b591109a0e43c0f0716ea7710d7a58a8ece54c90973fa4bb24c042d4e3217a5b69c77cc4da991518b8e1e2288be7475da4a1f5309a247a8a3229bed0794d609e89969e31c102c4cd0406080fbb1eda38838f9529fc7c151d34f66386793dac4040c32b24c8f0b1bdb0a5514f7636b65f12235855d839cb7437a14631579aa2dcd822b0f238322ecd4188d9dbe0205544669606ea9b93b105a3f5ad272f3edba152303c9c76458a9e9039a47e83ecd164c5a6b05f8671679bad3b430a4524900e8df34ab834cf2010258b42b6ac50c116dec158fb9aa7e1ce32c7e01a416501711d1bcb78a0fb8c9948cc09b16248ace9b2a1a2ab3723b59fd11cac1a69a8d804a41edc5316404bec1b5bc5104d32407c11419c87af1535bf6c768c00d10e26a1049d89370461249a0fd2a644bbecc12f144ef231ca603743e229cc6df0c12ba4b6c3ecf8e29f40444fa9fc2f2aad852334102f4bd1e38347e9936eff939944fe583c30380e3999ca8d7b08e7449da5c9502748cbf9c4f0fbbbb9205bc549a1d1225f0111e3b7513995c3830356b7e4b51c7c15c4bf5aa538cc8dcd59789880f1319e456d2d4e0e24f87f48dc0589022a1f944a2b4a256c1730283759e1cd9303542c02122e2713783389daec6e4894c59c76fbc6a6cda4fbfb0a80687365387ae60efd333b72b52c151a055961c69cef0c0a013b4b6a8ff5973447d8684cb3fd92ead7bda51ec34d5adf1319f7a5b15c111e9de7f7a60406cb430b3dd5878d91e6273497c7cb493a558dc8325c4e9b9c0c5f59886594434beb9114dbd0e7c75409c718eb677fb52dd386f4a6ba237a5679ad0aef9d4be44639e289b11255c5774cef6a46fb74f6c2c6b0385939d3696c914fbcc46b6836057ce55d268b0ff02032fdd40dde6f1e39b18bcf1e9593bbae93be1982fca491024a21c109b772e2730dd6ee281fe4a83ee7e79cc7cb9d553b182f91ec1f8046440f5852332e76ced52cd898a0ac1fc26a5b6e6dd10b69712321ec44ce613e3ec2c4d815ca076e92bd1210b1905abe6ddd86648ee56a25c1766d983bc14d31ac218ef4a3fcbf85295aa37d39410490bf97c1ea478cd3b63aa4d7766360fe16ee6b2fb0ca8bad2df73498dba6189508d827a7d0c5e8a55c06fc37bf36c5a2e2a49221e2a428bf9dd1deb56febec69358bcf7a46c3f6e2b947f94321ab1a8af443d03a7d4f1aa3dae62ecb4f0b05dd3c5ec8adcb415e867b97b27647266622a52b628ccb30ed64b5ee7991349750e076f38be32458d96f699dcfc45fb33fc09364ec7befe47e231c290e060a56df1ea27e359b314e70fa4bc6dca1dd4a8b05015bf9647044e9d02b3a58fbe543136a881cbd00b2e67d255c7693705cdfed352d6ac6bf0a04518ce47085b822057385c326940555781d382394b928f9ba45e73072c54e85ff9d168d2beb62b25b9364ddd69d49f6d2b9b7ca9b3a44e08ad3e142229d06b95b303dad91039796d4078d672335133d8595c9843404b5af1a84c9652ebb77a69f5dfc66682d27899b8d1491a3714533f500e93679fa9cfec261439f8b7a9fefe3fff817ff77ba27098192683e5c8cbda8fe927b5cd0d52f0bb432d7e555a24abd999070cde9e49c7889b5c6ec1cdf95baadcbf9cbacc9f5aaa5d2ed942ac9fe126d16a62b6455c4feffcf508b22903d8c2410d84f1586a7a5301a7cdbe5273571901806ecfc20e8eb2a60a8503fc05a350b79e24718d9d13915ae4de887f2a48e2764941ab142f8f55118583a2dc42fb6303649d114cf1e6569a9738151022a7227a31cccef298ec81c8b52106f91cbba510690c1275e15c9c9c8731e8f8d9689ac7c054117ed38d976267316912025c3aae1b85c5883be69f583cd27d01de610a5129001e50d5278aa3a103e8c4e9068ba6e38afc8d4ad423ee08378e8bffde6c013ed47be3b8e7c8020087682e344f8e4312a662adfc6b09776e9532ae3876c5d4a1008513033fce118060dab9ba3e34966aa5ffb4ad6f411e06caf40ff4545b72f221fa613863add1ea13e06a64060467da39380d34bfd0c6715371694463b5ded964c5074485cd92f4e228b257aa4c4c91306c413953fcc5d7c7fd5a3aa354e4327863557745a95c9359b41b31191dffa68d37032d8d31013df4cc2e29e07f4ef47e77e510cfcda0be087c22613461b0d5123b9d29842c1045454fb633bd5616d522a2d17e1eb0e5a6d45b48180463cde8e9c306942a8db4cbfee7bed9bea7e82ad8c214e1ee4a4179b094276e2abc14ed24111b46ecc140bab0fac5a9000ddd7673318068389278e2ed1580fa158d808265050817f8d668d0fc2d5d55da9beb460d5cd99805b889906d06b15611077ea9cf812cc97a0ccb1030789dd8c8213195e37bce639e280ea3b95de108bc06fd650ea42da1bf3da8a9bc32d2ae5f14d76fde0ab18d6ee608cbfe3774c94460cb31813d97f2da5848e98f75c5c7842cf68d20185e2a7b4fa8e536bec76319d52bd4ce44395067be1447efc4b04b0d07beab720d96e20e13030ed1b1c48b059b3442a5687260ce8fe83fe598f076e64c1f20547ef7dd091df2508ab6d66b8c0225ee409537720d7079408951d5dc5222672e18b8107df6430c1c8127e2f4a6d79841a73a618b4da9b1735c8d424247ed78da3699d97e6d641d4550b3d3057a2d622f4deefee848766d7b9ed758e31ed2c150744a0ad6fe89788e20986c1e3f973ac682fde48717886eb8eeaab87b6f5b76905fc67daeebbb693a9bee1f2d3df2c9c7753362094ce2ac1caab03be0c330a05b49780cd1128d17e0f4d09930c319ed189f233a3e621dc16fe7ab647f3b31dda881266f3ca1d3872a1251ca8c0f3a2512828c98ccfce862fa7514d4f85693cdf07ec4e04a93aae3c79b1a970ed961c6e465d29617eb738fb670eff670db1f1f697403343e552b6cfba9bf15303b3f887d961ceb5c5247854ee3562c33cc413a61bfc00cb7f3f0dba368afa00532a9c1dc5c0645cf73a6d70605e7ce7eeed552ee1d8a27083659026f1b36d888ff9a731b8767f59899c8502d9d4e464e8a9041038c4cacd9bd81871d65455a99c071bb3047f1aabddeeb3b43dbf7ceaa4b25f0030cfd6ae2c3c1b4a5f42de46f62dc8e47ede76405d69046e480b6ca4a2582372ad7f31e1f3e8fbae73c5a967f54179b914026e2c1e2bfaa9820aff7915df3165eac436c00f858780f9bdfc076c701fae11200f9aabc6af1605fdfb57a96608490885ae019e20ca1ed098d4438c1299caf8eed7b6e8a39092f4a002ff2da6ee0a76adc167b69174ed6cc8a47523bc0fc833a5dd290614d2cdcdde2885021eeffa266df7c929f728afa91fb66223bf1e2ca7f3d933819b6bae1a81177c2d4861df239eaade5fa3beed178f832cbede14bb003085a427ed46c7d59856a0f8bcbef9eff2c5a42244995bde26dc8391c450c05e6419d00deda958640783b26c29a2808b50668c032b89a6245b0e43b36e3417e8e8cd048da9988ecdc719f6e66cd4296cd4e2532894361f0b15acb5ec098a8a0626e0455bd5f84a3b11bc9c2d39d20a86256945213a46f076da940c44917ffbe660d534455c66d2f81ce3f74ee743abfe804746fb280313b9c63b80bb748984e15f47e7f957766cd08f1cffab142be6ecb1c97afa279672e13a61f67051063fa5dd9c9ea3ab1706625038e41c65ce8b1d8c88b08facf64aa3c019baed58f0c68b1d5258f2e27742387fbdba9da835d010d328865cf6461bd5be57d1e12da287fc7c1927bce626312e1808bcf1d8bafee7f6b04d9f1e0d39cb3f773c0adfe9d786402a0c32e3c3ace5417f59652408ca068e4b6258b3a9aee2e27f448ee4844492c8e1a0f013d08cafac9ededc4d1841cb38eb592d42b37897c470115fd37f4f908f6386ba0b1977a99c875502f82ff8d73ffbf8b32895c5c5725a3e88abc3912c5a73091279b9a9911777e2c6c3f76b65c35ec27b6a61d0f6ef72514963954c1c43b01ff4cf782d628a118f414664f2964d8b1dc006d5a8e5373b17e2bfe062179bda45535bc274908e9fd630b114e530bc0b6598870fe2b40c9481112932152061b8095dba792b644dea768c483704dab297ad74e2016c0748bafc8f8433b09f5df481e80193ef11274b8bec6979826edd1864de8065f07eba08d7797ac37b2628e38f1c3e6c54ad6f5930bb28a8ebec06fd90e1f441e62e6210568719f08149d0d9d3cb3b89f0fa75992081278b5a2d1570f1138597e49e4d17cd550513e0e862a3a17a0890c3a83237c075052a4d400aa3b0fee8b25e0211c4c60008cdfb3ea2da86881c74e47836a4ea211a6fbb1fe7d2d318f0060c8bb299845be563eb522a9362712290accedef3d4e21d7f0c77d5861bdbc76b02928432ed8824280acb0f6f8efdfec02dc8352ad57deca799d52a874849d4ca68f0bef1d570d32884936363bef8dc95848da58b94c424be55298142f724b6572446e35911b043dbc73d26e702b55035e20a603093ebbc8b4dae60b9126a59581f4082f3aae850af70531c1d0777b8074ff4bf4c1ed8c430308cca382379e455031b06429ec55ccbb4412fd753a6674fe75e705a3e30995484e541ed263ea2fe83b0fa0ec170789c6bb7427a3cbcc3b40e4632b407968c17edf2f50b6bff184d166e974452fcdbc8662c5197e6a2a29a5e226324eac08319d6b3f666d5b429b8ef4ef0a0824b0c1a8af649ab9a975c20dac750730fd028c390e412ba234d18627070d70cdfa0e22daaaf8fc0bf2c9b2662a9cae21ef76a5a470d50a6221c443577858507549f69d660051d331fd6a765624e29be9afa2e0967040e775b42fae2bd665c35aa9a676c73b27e8944127a91bba0383cabb2089342158b22bab6661d4549d85fd9d8f71e67beff1a5d93786a915431167b15290c36a31154281840f0aabeb14eb00c32e62d643379123776501b1cbbc257c0809eedbd02faa453456e4d8a54832e51c0abe0d16d9b957e1884aeaf14337f3145120ee23074acb8888a155c26f55aaa06bc1a72b2297b30245ef6e1088d8d9ee552eee5f85c4fd226607e68c3ac3eca69e19f3a75adbf4bef69b01faa724e9e414b6d3edc8cbd3b841a53d9dd0835d266f3c4fa6411d8a125bac1358b3175df695d482b14a289fb0fe6412ed9fe5285e72cbaedc41347f32abdc25885c7903485d53b92001519ab051e1e0bf4105223067421e497aa16a5dd354c14a0301d21e94b9993d28b0019b4ddaba507706bed693a805c925effd31578a74d55a3bbdb3631a64961cee5c3aa9d5aab06048494ac936d9ed4928bf30402625df38f3d0058a5ef3b0ea52a18d0ad16dd86024cd43d0219397543a40a578d8c35a52e97f3be943ed42a51c7985226de170543e142c628f3cd54a4aa148b8f0d4d2fc53233845a75d136995c11504ba9e5d61481e4cdd22f7e6ad65ebf61e1ec43bd14abb678892e7447ccd506e98a933ad645c5c7f673d58a07c46015617f3a79e1d9c28051e7a04ed0d53201e554d3aa939a1e93b9d4991e80cdbdf607d6c94e90c9579728725823b12b99693e1a1485df583b7a6eda4359d32bca157ff36f8ebc3a2e618cf766933ff632fa6c72a5fdfd64ab6114208d984ecbde5de01000ec30d8b0d2cf1cb91bd316a7b7fa23696bb611cf454fbc4e1cd50cd7c7957db944d24b6d3cc84716c9876464f5a59b97643cd64d24c1889954fdc63e51bee81721f93475bc114e5a4f797e3f4892b0632735f05530c64e652974a5d9afde508b577d67d36c0a794342f65628a5552381ce2f0e8d46703fce8aa3ce591a6a8a43c8c432a77f4f8ddf0019e27824336c07773e27726130ed3e57723c3218e0987145395d3bb3dbb25956bca7656329c653d39c3a18f39710ff01ab8c52fc7a94fd7b4f7a494e52fcf6ee863f26cdd394edd5dba166a9f3dc39b211c14cf9b4096bbdc74c328268e9d229d45fb4e0e7d4c9e5c3a4966f0e47243120465d25f6e78339449291d0ac8cc38ea09a6f8413e5d4e9e2c02994f2798c207f9f4f9e150c9a716d807255dfb1b3f52478421988f13ec4b630089a4d697c2c5dbc5ec648c006773ffe2b64859293149b9a4dc758acaa91a40d3bb9972bddc514fbba3bc524a4979c115e17cb81eae47b3117832592d6e40dac1d9dc375503186a2ef0e7f39901186a2e30060e8144bd72223daee7f3d1e9541030878279cbb18a3314f9b2b3dc9833966b3b962862b2602eed0f12068331207008c68a4a7a00b5cbac855f13a68aa9b34b7f366c66272081b82d1ebf1ddc0fff01dfc81c1431218301188231a227a52253ab572cef83b148a35d824c7a758a31b43bcadd764920c8a453e0d0caa91ac0142f77d3330d8d72d792ced875f4f1e4f0f3d16252329a460a886bd7a30128042bf1018465bad3e287cbcfe4cf872b03a8b1c058a4c92eaf5101e45c51466adac1d464fd70edd527ab019c3b8ae89411940de0bc44651d5503187e3eda0e166f816fbaf911d139bba192c156d50138b99e8a839d16773ea1ad4b7576784c952c02c318344441276826caf29a37af0c62b25ea050a75a4f2fdfe8545b5cf00beac52d114d95f7c5c06e1bf782202d2e38889b235b2e1e3f276ccc1d4b4c968bcbeb01ec1cc62016b799cd79f34625369bfbf845e06781513b58bcc55bb0388e0da804c4cf31d2208caa016c6103d8f212d32989922c2c47b1b0647f018540a115978feb59f97cb7724121107641257d500908a280305048862c58878c17d42d42080c02616012af03612f2e0f26e955e7ef1fd77317ae6768b25abc3f47a36cc4324219491f30d6e296623b28a4b3e0106c526aa7613904638d4b3a3114cb97a4579285e5133ad22b9957605fec63f235f990c87fafc96a1b79168d67870aa143e467cd01187e3e0c88362dba44d4a91658fb09b56b453aa565583bd2a9d6c0a25ec9378a0e1339248fd212220f126953fe3bd22ba921893260934e49aa61295a7cbe2381126402c63e1f247dad883ce2d1cf465fe587cc2a457c88742a4b6558eb01873a2599744a2bd234e491a6d1354c32867ce9da4faf321864790d49c766b5b8e92659038cc518f2f2a7c96a81794c151833cdcf86e6f5fc8e34a1ad3cd4b4ee017b486ba2571a96200e599ebd63b94dccb3649ffc7e56ee37e493e90ed78372f092c25c9eeb490102a7c47ec054e5cacc22d48a6851a03416968e64f9d10d4b487a6059c2bc4892e5f1cd89afd88c3dd21e6dee8d53c5e1588bb30189a64a9ed60094b97e48be9f2cdfc5680c6482b28332046cd25394e5104a2b4b149d2c518464799a693dbd0a635091e9b9b82018c302a8b962567345da23196566cc356bdaedac11691927a5230d47cd953522bda29aabc5e5b5ef48a77c26ab05a6d2cafb644987744a9eeefc896ec9a39ba5d5e1bc74055ed02d73362b23756a53afe2c1ceaa622893e7dbe2549499af69d503323d7761228df9ed3ed298303f6e32959ad4b44ccb24dde9e267e38956ab65821c65acdff52ade74b259de4e2ce515382af41b6237bd0a234cea6880476b47c8101f4d2cd1a363c704b61b9d8be8545fb3df624c8667c1d464499b21fa09309deca631a101d376a537599e8f189b9a067a9deabe1491a887e81939c234cbce9a04d088c3177b8bb09a05274e40cac6940c3500128540522919bd2ae5fa2534302326282e99a99fb42551d602293f7985292689ef9e2ec284592ccb18695e64f922224d96e58de8d50b0d029e56549491cf6896d524c0450ea18a13f064f98a43d149d321b27c0951436c59ca19d9f64baf50a009d4416ba4862746459a2cd606524c4e96a53de029888754284702047102a8306a870a88ab7094984404acb5d219571f7c3250486139562a39a226e4f818ca259928c6f8821c724a32b724c7ff4829bb0086f1c5c1f8d0512a619462192493fc20e950b7f4ae93f10d449cbc6817c0ee146b5c49345591bebcdc3ef6cb53de3e3fc70581e0e9f4a72451288988281dd5e95c01827779c805fddd648d9eb470278e8543e1362e3ac92bb4a7a55970787a6ac3616a8e9ed02117485f310949a7e2eb511ed64a82559250af2a8eb5e270fb7cb75d921009465242824d52a5940423095112e987f493e383847a159280326949af4ca420d5e34940525af0d2964abce98634ab2e0968e55c10174aa290eae42883264bf58304f57809d4ab928c4d960a7f2d2e491117447f7a255f8f92f50a59551f24bdaab88374ea150fa4f34b6c4d566c9000afa7af2001700e6df5fc54dca3c2f4058732bf3cbe2bcae366a5bdbcbd5d94cd93285b9516f7a011898a23a618154546c1a13ceaff5a9d8a7d9cdc34096df2f2949b569e7257a84f4be937e5a67979fbe5949e25e572fbcd268f82aa18877d3d785a6d27b74b799bbedacf8bda300efb398f2a7d2b9ddeb07ed6f7bfcd05500ca4f3c43d4adf700f96530ca4730937cb512f2c2d2aa738bcf82a8f1f122997a61b469153de51999272a981dc29f5f4d294721597cfef08dc385439909953545252525c804c9f9e222e2faf8f2edbed4549b9b5db53502ced83d764adb5a58396daa36014c53d5c5e5d4a374439f7bea61b42915fa88bb4dfb6eda5f768137d799560b7ea7dd58dad327deb432e7d54c22290999a2ec53de4ebcbab7c95b23e0472eb1bdee0b038fe6088f2ee2046c9ece2d2dd10c81319f5ef72f4b3f1773f7df97193e9b32fc77c79b977bf9caf15c19f4c7b68110a1465a2fc6e7c399d8a319d4a95c2d4cb9599dadc33a8bc44e5a012734d82a02e5522d4a918d4a99884631265e29f80212723c7774138265c93a25ec9fa782ea85734492be184e2b958afb8201c51af9cb47a95d3abda395d6bed913ffd3283925cb1949448ea10491da2502ee9957d97072a34f939c2be6510375ac10d43826c54c7b1b12d307e66c80cad716a41a9103b4c727c8c8f913e8674498e8fb6a58e1d3f5292603da345051f886cb649a41f929220dc47c82cbf1c3337c10e015c6207204a9e00c7b141498c8ac0100fe23b684e007c63449ee612ef18e2413c087c33c4716c42f993e90024c06b9cf6c4539f4833733c454264c91fda13695e9cb0004ee104791b87cf5a103c9d9e92217138f3218932f1aa9b207e1385a4421ab86063e43e751c1b0b07507eaac7d326bd7a7904008a1580c7d79c5eb93cc6b4b0641e5f87f4eaf4f8ea9a2c188faf3db548b3623caefc4c960c95c757a066096000427549b384787c65d2ab94c7198faf44d549b3683cbe1665adc95a3d3ed3613d3e8bcf78266be6a3271fd11edaf3e20798173ffcf0426af2b4f303cc8bf82fe7897bef5ffc050e2f46e1e8f0e57d9c8c3a4e76394e6e390ecb71f2ca71b2ca71b2e938b9749c9c729c8c729c0c1e276fc789311edfd39e7bb1061e0f71bd1a97a3b904b8f2c7050e6d8bd80de95487ba5d4f77a47b9d6e9784e576421d1395db1175459e8e27c4737945b6ebfd78409d8a9fb91eeb7aabebd1b81e9156c5cfb89e10d70bd2aaf8015c4f00b79371bba1a98a8f713b18b7834d55bccced805a151f73bb00dcae48abe201703bd5ed84b42a7ef484347a723a79387c377ac28d9e64943e6aa340bd0abf565f53a78ac4539f5eb90451d88c999533f2d943901c4f99344b468b1ee955a4a2e867b35fab57e1e8c9e849af50b2d5a9f8e57c3a5f90f86f479a219ff6f48fcf13b087c63ca11c9fba37232a943c01661385b70731d81841d19e588ee782428a841c7f044e9658eed82660487b72bc6c42a489602875622c3840340e1e649e7d79b1e448c5112a8e3841e548c51272344db3f608154be841e7719f8d97ce1df24966eefb41b9cfc60f79456e79678352b184984b8e542c0128d25a250f8b029f48c322c793820082a4834d6ffa0c4dee106443d2a20087f0021bd28d64a3510e6d3d61bacae033c29fa919ddded199c8dd66ede964adfd8cbd35d6bee602a9d95a6b2f6b36d2c3edde47379cc935339d92dbc319d2ade9e2c6e1b0bb8767ba7b87e81ece74233c44a7a4fdcee39bdd62b88de32c2d022be2ec1613e9c6639bdebbcb77de9cf746a31bda77efac4c8e01408e1f8ef8ca9c2ad7afbb281c281c92e6ce14043fd3abed321687dc5dce74aaa669c8833887b6e2908c196bbba586dc6149e2b0fc613adb75dc2c824f152da0ee8eb335d6cb5c90c30864adb5d6da6619b18f39b2db3bed79f8902e594a890417905e452aae7892a5cca15428a1288772274bce6e3224681aa2571b50920c3eb16ddbd07684c5281cda509e97a8d3cb139b7d04b7f3382908208767409b4291308ecd369367b2f451ed7dde6ea4e20a2145843379dbae8f999c6547c82330d1b24afa01288fc0248771a8091e4000e71557e4300ef98c1a0585294c91827c6a2a8e1879d91ca93812840b34831c5071e40728a8c2d5e4cbb1599c37814e0579b5286b41137d8d11cd9aaf975e45a09d302653109491e94ca636d3e2501e4273386c446bb54c90b5d774a8ddf6d09e9d6ab758250fa076cd666a5e86a9dc913b42725a93c5e19b4ed179798a999077092f80fd1141e9bb48638fa4e05ed31cbe89c2a60ba0d4c1b2d5299a71019497ae2c6727c74bf142a853912e4129dd01e48e7295af3c7b06031630d2b03c723de774f5f8fcd45a6badb50651295dd0701eac41b08f5b05418d836624a023506ead5138075443931cc6255950ab09c5239dce350d6b9c963e1d21aeda6a9a76edd6468b430d67b869e368b2b7588a0f6cbba621888a5e95ce56ab87c84b831beaf4d22968d89cf3870135399223d010ac0c3902bd41499eafc9ca31f262ba8b77af5e1e5d3cce58052038e4cc0973918a9944724a2e61227b93e618a1db6b10d03683f0042212657abe5e41d40a019c974b3a4523cdf606fa4144d38bbad179c333a24c5f86b501a8f302a4e616efe71899321ee3fd983b799ac60e1c40eddd8bcffbe23f8ce33ce638363e473ad5a8f9ed99931d311ef3799388f198e7b4748478ccbd91794ba7a5d3d2c9e9a2f9337d3ad5b235775a3a4442dc7e6281307d52efd2fb1309100fed0f9732d7488677c8380c7c3380cb78ccbd99f1184b6e7ce508aade4570b6660e6c27531f11f6cfefc68bb3f8d4e14e9299bb27d2b9e350e52df314f5293f24b893bed76ff4db9d25eef37bbddf304afb760fa53dfb974ad18ad230cacbae44e661ea75db9dde9780f1982f21c4655e65a452ff446518e5e124603c26062b210496c1f5dba7f751f7acfb47e755965a8bafea4e718fee990f19b9c3735452c14026dd36d241521845e6b66f93a39f95a3dfa0d03c8ea320374fdcc116f071e5137cc7dda97367eb0520f7969cef2be7892b7303df4d1bf2bb4133fb02e7c48781cfc454cd6757bb7751309e6d208c1ba7caf3ec94f12d118361e02564b08c958f56fead68b19e96fe7da79ea7236f8f2c60a7b9c4fcc4d2610dafe01d96d369a652793e06009f7774ef8a80e628fdfb36ba75fd7d0fc186aaf74e1f73650ee30aa1430999c7bcde24624eaf12426018599cd90da3c85fcc65aec47619ac048c70f4ef71aa26eaa30fafacdc52004607c00d756416d5e69cb3547a7f47c4572ee10eea57a7faa9db41dc4ed229207068ef7f8069259d9a31d7913f9ec673f32163e20eead4edd77dada2612dd434607900384e15068af99df8163febd6eb85710cbd09e8d47c71c30843798c1b6d6484f79ada905bb080e5cff33cefdbb69d623c0473cc630871e354c95c18b3664e20937e6fdaaf87f60b4ff5fb2ecabdfb72173794b905fe11af60714394cbcfc60b9620909a4dda7b7e72d8b629f4da805e414d637edb7cb020147bc190ce71411d364af17c75aa278fd777f11ed6f3d46f93e79b73ce17eeaa90b9b3d51b279d3b93876eb87be60e6c0ee9554837dc600c36825304530a40794d0058fb1ef3bf3b3344a77a66ce39e7a4a89a8cca214d73c2a8109a9305875bcd0dd2555ed3a4cf4b7a77576aba2e0473f7c982f14ec6640960000f677207a381ed54a18ee354b9b49c60c81cc72626e630be1d068ccbe01b210ee33732bf9d002e6a3b8de3d80ce0a2368c4a62009ff11d03f88c6f9f816f8c6c7887004e03df087101fc46e60368a12ddcbe6df49c10ac53adc4861017b59d87cc0e213e8389a9ea3bc18068f38301d126c619106d643e03dfdc1431557d21f090100fe390108f36311e462119610c9a2c8c71868590b913bc925e6d2dd49553a1f4cba1126d0470a34dcc8d36306eb469d86ca176b9e099199d9a5846cd644159b9614d0692e594cbb8a879948e98a318106d622e6d601ca584b481716903033f6113e3a226d621f3181b1c9b98c378189f84db473e222ca75ce64a9d36a51ce80d40403902b98128cf57af6215467a72b3e42ebda66bf236b2a274a588f97681643925e6d90e7426cab5b9939f0d952df7bb3e5203061487246050afc0e9c445c4b5c5d0a2f96691e7e499aaa2f92e6a221b6e57a7baa769f46b0edb05db5e7d9d90596e214685129af414e9794d1a8cde9f3c5306b14613c918fdad9f63e4ab208c096b5a4118cdd334fa300e0601e73b8773a761e057e77fbb77e591f6e9d484c1c0f3d531783b2908e0865f29a2188cda11731887816fe810bad00628d8dcc4dc44519bd8c146061bf11e85890e3cb089398ecd8cb946e26b0b6fb6ed060a28a288e295274e2bcfcf6f3f0e70c5154ff2f6391a7dfba1e50dff70e1c5dc68133fef44b0c815cf9d2833842777d08b48bb7a9b447ab515f9219235a60c628c3e0da24c3f6c3ae48e40af17a5740a514ae74ea441a1f2142224620126244f9e5efd790ee9159daf398b9a25af00ebcf1c2679c91cca3d9dd06df65bd9d533c8e11c9265106c0ae1904a6cc05eafd764d2ac9e45b9a793dcf6930bb1c66cc9184a7ac5bd3f85e692ed3dbd90fb45eecfa08985098b3435d2c0664bd6e8968cd12e10872069b62651a7bc3b9fdc19742750a75e51a627ac53493ad55349774bd69853c418fdd984496e2a4499dec9f846cd14cf22120dc070be724f57c76290c3539e3bb3a40610005d821a741126ec6240414872f69a5669d34cf601685da08bdcbf12c8b0051b9021054375b0c92efb765a6d0cc5a168f94989966fdc524fdfd13f9dde7687cbdb655379b4717151c150c89bee225b342b58b83c435de5618d69f5b2c0f5f582ed0a5671b9d2a6bea6b52038a34d878558cad96bb6f2131a7256c590332eb87c9a9d459dcae6934e65b4d5343223dfb52130b44f5ea9673b5956872a51c60feb939ca9aecb5377e5415c950371ff1f2e8bc3dc97bfb82e8e6f8bab82b831da74d567b2329d9d9cfdc3b5c7e2eaaa2e2e4a6371515a8b167fb92f2f9a4de603d0469d22ca645dd6f58d36f9c767adb5f6f677fb122dbf5f42fe77c349dcb75c8cb23ffd973fcb09a32ccb517d254efd13eedfa8b45c89becb5df04d04ce00fb69d934be416194261f6d5a5c5c5aa28dcb156048615faeaf28933dfb01ca7bcc9fbdb6e11f2e5779ceca7f8b511ed6711ff38777fce03a4250cb06f5ecb4090aa3ea51c7b131c2e110c8ac4d96cc569e55f91d2e9737462adeb17214bef9577ea312569e7caa2d1acbd93b950b85911df2a843d17295ff42218ffae9de18d921dff8a62f558eaa3f1d75d48ed3513fa17e737a0b4655bc435ee57496aba0ec23c0f29647c0a4a95c95bbdc1346d5b3bce52d5fb9503446599c04cb5b8eaa28edd1e684da81d23003a24d4e8e8be7b0788eca4fcf69f19c97e7a05e83845e6e1d6a71eb93930a0ba29cddc56db960a1525fdaa7232747e52ecf417de5a71b6d3ae935cbe5d5515fa85b576e15ca5c590fc078eda29250b9e94aa8dc84a18062e58da160f94a12a6ab5c0996af7cdb01594c789302acef22a811a957a869984e520148854cb7f6348decdaadae1f8060f69a65af43d45a0a5258af50f53879cb6eff651596e19cb963840959abafcc8473245116b2c5a1fd361f80e06b7aab99190cc048f343ceb80c5e68b24c9a6d229b6e9c2a5277fbb3d1d91cdfed89f86eedc8d380d43cc273063206c7247328e76e4a29c360a7b26f3800536055b34c7a5535948629914e654f654fb9b153b2b6727694ecd4273b684f60755557252261536503107cd5c0fbd2a9ec5910eac603309cc9dcfb8253c5a57ad5e3bb77ce078ffc5d0b65feeda1ddfb3c1d39f59de21eb3c6e1e9a4fbb437cbe59530bd31147dd365bb6c3700e35469dea527af84ec4beb791895847c7fc71bdf18f15a5a4d4a89a130b2a32f0f05cb5dcec272178cf26e32bd6f7a7b3b2e8b6c7c732323fb75c01ea78a89a97a8d8c6e62aa248e4439ab35cd9db2f6e6300e3c9de8c861b9e9df355d9465b9288b5149f44d5742cacb436143793a95d1d1a5423a95459b6883d24c57e2f49f9430fdf4138682e5261c6daae672519a76ba7189f6e087d2613a03a28de94afce03ac215aeb03161288cec60b9e950f45d7ebac55074df05a3b44b7996cbb3609486779cee82dac1d2b9dc3ecb9537ddd38df3b2e09b1bb93355d9e5e5cbc70ea79b1ecad71decd0825db28c05d71f0973ddc18441980ed37462bad567aab2d3b805a29cfa7a8139b3090f540631b8d22094c3eac4e74948830cf52a9c4e889ec42c99742a7b76aa24867449ce28939c6532a03015643b39a445397b1684fa8ac1b42a54b52908a9af154acebe1c9366ddb3539e5e6dcf4ccf4ecfde75ddddde75f5df6b9adb2cfea1e5ed55ab2f58af6246c413b9e2f089acd2d9927e38b43cf2ec7bc45cbf6bed47375d69d375155fd2b6d3a36068ca9aa691b4db6bdceb0f2d7fd77e6879f46eeb1e3f8deb3a1ce6d87ad86f3fdd1b230c883639523e99aab33c94432e37fda4335559767ad83a397be672d3b5cf860e1e9e9ea9ca7e0754fd18106d5cb0a97fa62abb0beea0a9ca587efa0fcb4f18a5838585e52769733a5dda9c5aa887a62a7bd01d847266bacbc31eca99e92d57c284512db495b32be182519ae93b5c6ec23746b4df98ee720def6869994fa62acb31dd05c7a9ca61790b9e4e3a95752c17c59992309de53b4c67397716969ff00d8be938369d1cd525d96814ab434e6af651c771df70b52c9ca6e16d7bc7233c65cdd38e889de2fedded9e8fd3fce954b6c5fccad927cf546557b97d27bdb2a1adc9ea679f4f264b3e3b0dd2abfaec2ed9a912ab02900a5158a7329b0230ec27397b3f99ac8983a8caee83d61072962121670fe78eadd6d657f60a94bd06d5ecb5a8592d3ed96b928cc272f6b02ec959569de40c96b3db0aa34a264f94c9b42cbb96ddbe008c3019eed1c5727c11c50acea815a0879894312fc4ce6082aeb19fd782936af6337109d2c11c5b958d706c556c958cf51293254f274e764ea7743a88cf64496bc158cb57eead3f5241286192270e60287972ff89f8243eb116042f23ef00d4aca6699a66256e174b2bff9d9cf3dddd4dfabc3e260fe6d144d3903702662775a1b4413fe76d26bd3f1c710d39c33de68d78c8c11a5af223c2257f1c1ac038744325cf1f2df6e533295afc3f4b968244f6bee1e4c97a6e867267dafb9a3e2f0bd5361c76a774d64d62399d744281a5a75caef4947a94f7cabff765695efbcc4e9f6dbaf6794d67095fdf93957fec4ebe74aa5afca2dd07f85e69f76a2f9daa58c3c7a74ed5d3bb2d95eb5331da8a4fad7549aedfac567fea43ae6cc8f5a62aa39cf1b3710490e6e8fdd4ab1088ccfd4cdbbe1cd9a9e62a7245de3e948dd9d3344dcb527946b3355533ec01810a4079f2986f27f9997b25ea214514116663a4de7451607a694ecc69dabc190e2dc7658f5f4d9b6e7661603a15633a15dfa91cf31c1594e417394eb18420597e48649f33c69893431abb27b7ab5332ce21cfc768051af2fc12510c31aa4a3746d30c40224f723b7e7333b95851607027000b3b9d8a59c3739e6b026e9487ee5021f4871ea1473a25e7c431d67002887dca144c32ca51fee580a273bf732203723bee7e6f21eeb556eeb5eae8641f12377331598b744ac6c871b1a9026f0bc1c0d729231d551d1af3bc872e3cef156b973a56441a2dd27097f5a18bdc9dbada7523d2e84ed29d44245cef1481cd3f661f5a397b3c77659ed30a2764764266c9a1dc9eb0616f25f23d50700b29e91447659c23ed280dcb5a48e286754a0ab5122bc07ed8b056825ba853329b62004a2a640d6a0619431e49964980c8145210c91cf759051492e4cc8bbdd23ed3abf95a6bd53acd240350fb8c069a356fda0151376ad61e3f2426d686e8d58f1027dfa844b6553c5a259fe11d9d9a9872a61880b4f34c31003bcf87f5f5fa2e5f836a92ba852e76b247214ed66e0fd281c89cddbb3de633f0dd774390beb2eea3afeca4d7348c2ab954a85340244c83e86b9ebb777b7c9fefbaefd623b4cf4b7124cf6b5acc229033d39d28f3a24094ee4c6b4150480ee94e8cba624ce84e1775a430dd84a79056c97bd604be9c1e338512d88ba75721ad628a20594a99fd64f91aa4a30906e07cccaecaa40e55a0964f9610f550922c4f590086d567e44570f4e1f8214f269d92b356a04ed5a12c3fe57be2882b934ec9fa8a32d2f402b0477620327392c668d5c9f294a7573de6b92191660791c67b77effe20e51865c279efda0d3bece15a8f98e762f5f970cc73f5880864ce70fde994bc290818d22ce59119eb54933c89b27c38adc872e2c9a402354bbe1ee6f462ca617d855eccda9e5e2b6958afe673f6d864c9971c4ac52e74928f4924570669957c4c0ae62f275328755cbd22126992f42a3a89349d65c67122a039fb0f52ce245196191681cc93bba81c32739799c3f2bb31b10c8281c8ac5d124927912666a9dd70cb0193354ca54e5319691dc956a7a8d5e1381f32277397710417ae7e680f65cd35b900f4dee3478f21e64cf5aa615c54f2005e9169db4ec9984e750fdb15733591ee913566c818f2f21de779dabf6b44a7b877b02082c89aa66952e7f65ea4e92ee78e952715107338fc56c509bc5bc8dc5956544c7367244f2ab7555e7de9a2a074d312997bfc70fca02373b8f498e70d8e4da954fa67a3761826ca70a18f08333de68902d36f706c4cafd5643a77336cbaf3862568e599954a3409595ebb4ed45cca68afe2e53cbd8f9528a5592fe8224c689da09dcac25408933329613a95619afa4fa71abf44a4893ba24cf69aee5476130d644eafe6b34b1d09c4244c4c968c09f48a3e3b04620d23648cecd9978834f6d9e924434846cc88308a21cb3f09ca86b248862c1f462a7246a350ce220bec8ffeb8c96197ebafb8e20a27b91611737d4d4fb9e32401dab55b448cb1634d1131ce088b42c7e508740621e4d3cb121ba5e83200d21c5f2e206500ac39be5cc024cb08c410a21c9e5e4e2807230d0d3a4906e905503e7a1c96178c36aa26f844a66d072925c7711cc7711cc7711cc7715ce74d561ebc96f42a9c3e73ce39e79c13d6d99f5ecd8984eecc9ea99aaf4d9b2fa0f99aaf9964bee8ce12266b8b2aeb05d120cbf91269a24a1dc02a6b11f2d6748ac674adb55e565b6db5d5d65a65cd6abf9e643ba9932ec2746c007b7b4dc7a637d70d4fd75455226068737dbd9755ad67c2e692668144b3c8ab7e1299afa964fa4c245af681b989dcfdcc674e018b4251e7d2e4239138ae725c14b9a328570ebfc7af93d9ebbe7b38ca18dce9fdcedd10c52373875d863a453f2450399031e83def925e050f8e902ecad529cad18b7285383f340ed34e915ed32dfba3f89d2261147d0893e563be31338c05c038c51772b2949f0d201f6ea253fdddfbbc4884c4f71edebbd7f413bdf2705bef381c9df46e749fe8549f749b001289be3701e489ae5d276d2218899ae8551fc84daf321eb3c1d2fb2fdf67bfefff3ed01b8d0edece82a81cdd4927a23b09938e93bf1bd2fc916ef87d8482933f203d7acd0465f7a1bc21883ecffb5e04cc53353a76b0621f5e3145725f86d77d4f00b9e946e9fe3dece8e8dceb176528e9b17b89342d65e79152a4cfbb309dea730f9f3b34fd8614a372e925f78dce2f51463e66941e59d145988aaa95ce39e79c73ce2961aed197655f977db50a1e6b2d912b731fa1b8c00ca59482f2bd7bd795c02f9baed993e741d2cfa8ebbaae3bfd6c74f3d3ced388a6586bb76dd3d9623c3b56d41ed2fdbb81b2811b694b7997b26ddf2edd641753b694142ee52574820575b1eb3a6bb9889da0b9c3406ab63c5bbb74b68fb376db4eda3ee2388ee3389bf2cdd6d4c9f2a4d1e4c9f2df572acded43b1f6db56d3e14bf6f1924960d7dd67b7d2c9ddd30d5f38ce949d4ed6da6df492c18fec566bba57deb76fb75eaf56be1d349d7a957dc3e1877dbc64d2473c9daa1f5db923852c014947c152b49c845b3e924c5a5549232c633cdb567a029857ba73b19a9dbaaee3b28c949252eabaacebb8120af8ccddcedd9c73a65099e316b9d8c5d89f8d95f9796ecea7c8dca5b0c84e929ebb6fdbb3eda3ed1f8802921e7b92ed3322fbafbdf9d9f0ac7db793ed39ee86e95adb612e254596b2ec74b2362b7dcbb68dc75abb51261104609c024c498e58c8710a309ddc4dcfdaa0222bd410a9d8c9dc3f4e0ae9ba67377cce6243a4ed1f886b8ab599dcb1e752486076dfddf0e6957dc858bf82b2fc082694e5bf7ec9da122e955e3f1ba5d699d37e319750ddbb48f6580d32b7994050675be9767c7e7c7c226e79bd1c9a2ca248c3bd6e5165df72655421b97dd649d02302da09ca3aaed53915a344193b826c738c32b6a5054bd854d57a1994a4579fad26b86133b5000c254cc27c5490adad2f130b401fa22064fbd109c0087ec787c3610bc975072785b2f6d95b6c77b92df706f7efd9966d1b0a4ab623031e578d363cae1e191b6a1af52ecf9400a246a8ee3167f611e4386efbe89e5e2a0f6775b8ed19c771165b6b3717bc82f29577e133297e38245dc24897f450c248580a75aa9e05a7e0293f94a36c9cb560131b87c1ed2e3866b76f9f8dcd2a99d36209eb54156a1ad54ad1f2eeb67442ba96db415a555fa3cd76a57d87e591707bb79df4b0ebba77b71da883c3efd9bbef4a9e1db963ff65de4ead72c727d73aa457a5d796cbebe568c70c45f208c4dc53de1f11dd37540eeea6733765378eae775d6e4e7c05e57a29d4ab54ae9730a9a457f691e89185faf618594d4c55b5163b91ca40be8cda8e63c2a84c66f7305f82162c6e62b29a0551552f835c8f83960f727d13351245a2d6893255c67424d1169e640c856f244b279918e9ec86c3548cac9698b52d374e3954ad3d9d3a2c63d9cdb0e72395ed3d19934356cabab1c0b1c972f9bb24a40d2a2563aa2a0d525bc7e12435204279044d5f39a1a0984e28a594d2cabb159414148ee3b867f3854273044da7956e255bf95656565638ee5fc6bde31ef3cab53982274c3b653ad7b54e07a9effafe69a0fa1652bb27d75adf719b8c53d042915c2f99f42a5a514b67216ddb47dbbfed1969258504a2a4a0802457b6239f6cfff564fbccbe24b92e93d53eebec39fb124b09d34e956e4d2a2653e9a5dbee051b69b98cf50ac5d5b7dcde691af5db6d1d6b04b0e5dc9db943046186670bdba5b37514cc913b93d58251dda5cd8db441fda85bc4ade9d46b43e95802266351a65e07ac8f39661d70bbccdd5ba783f48a7b7deff4ca9e49a7eab72b8764ac533548c6c276e9641d78ee76b7752a69f46d37787a6539944de9a8eb725b381c32914befbc7acd0e20f750eee41ae2c4eaa9c6a06c6f67eed2dc3a53ee7c38933b5248fd64491bafde7b7f36bcd699ac479504e7967928266c784c556d9d987c71670173a84eaecd53898ab8726d9dda822d8e3e64ac9a5a9a000930e18445edf46aefda7bc73a1669e467c3f5922d572cf65896d73aa55de28c3a21b38c459919345f3246696b34ab74c2a08b3061d6ca210daa3d9315897cda669f30c2e20b0411967b68ff667a1e755180fa8ba6a11e33ea73a2b42b7168b34ca25ed3284a714cc68d532b0043a9e38db2ec53ca19e2f8e41edd7bb4fccb24a5efbaecf42e8241463300b5d38c47e688b3233d9a344e596b4dd32c71466516f4bd2132c9f114663403905ef2c89bfde0ec4896695e04e9672393d6d29b4825ed3aca76a24c26a45326158034875992dcdb43a9b323cf3da4df7010d029c5990bce809224c9807ae572baa2df5e5db01334a7a080a48e7adca51f11591d52c0a40d75d8011bea1085315891b95bbabccff52322d3820cdc80867c23730116a64094e9e3a780ac0e2960c2864c718ca93056718557b6e7914f2cb4ead420a8f78ac9b4f2d0aedce4f2d072dffeca2a0f67a779f223e27bd8e1964b1a14658c80194fb64383c0301bb2790e71b887a24b13d18ebab1b599191932344dcb32ed2df5b2bc3b9dae77163a89a8d0523887a64ef86bd7fbe8d20c5b2c9534cd39dd3b1108080b47b2d4913a320f720e56e4d69168c83da381723775268b07c5a1d5b00e8f39bbf9791e1d9e7826b4343190c04022131300006845b34910185f9502a209cc1090f4e285c377f8e2d70bd562c4c27597bb286ac1a2c5c56b89b9b4701fc79d5e3a14c7b9702ddcf76259e1545cae7f9c6be5c452b4a2f2a9a4d82eb62425f6c5ba98c9a4955e29dbb775af52964d97cbe54a012bcad6ea5a596bb650e410902ec9e612172ebcd1ed86805e9d0a9aaaface49ab6af702ab37444848ae3e5d51ae261d8061e722d2acf0f54e504aa459b4458bd023407832f74e77106bd0210078487b90bdd321914675efb4d52ceae2f190ea74e021dde18097ca43ac41916ce0e1dc43f67e8fbe34f07032c9c0c3d904030fa713a15eb9f842ac41975ce0e10c43f6f04fb3688c8987f365818733a8020f27ec48af2e12620d5a4481875309d97bb9f729a459b53581877388041e4e2211f03ebdcf17c41a7508041ece1864af0551b3aa6b8987fde4010f674b898753a749af5858116b54240e78d86fc8de2949b3ea6bc7c356d24b18e0b15421d6a84b9278d857008a342e3dcdaa311d0fdba77f16e0bd89b40f628d5a74c4c30642f64cf7de39cdca5a463cec202d44015e890fb1463604c743794551a45989352b7315f1500e49a21b9e8a18628d0c898d87920cd94bb997bd12e0c924361eca12628d6c497e289b903d9e666531e9ca9eec3180a7ddbb9441ac911515e0a1a441f6fade81344b6bc5229943e379ff40aca10d9131ea09f030ca217bf71169b67bd7d12c6de661148ab1158d87510bd93b8e58434312d32ced3563883c00ef46f48a74ef45441a7aefa95e8d04f03088ecfd8758435b02e3adc5622e630dad48c6a8f70e1369ba7ba7bdfaee7998cb01485f99ba26ab7bf1c0a1ed40e5800b89ac31631b40926bd769807619a01d06285d226b74dd05288d4d566799c0a1b54005ea6991acd10da1002d6a4d16179b404b02ad08b486c81a5c110470d8dc6b09d7035c4ab890c81adc120720992c8edb51b906548e01b52e9135382e895a6393c5591d38b4482c0017c91adc1145b96e31235a395a0a680d9135b6221c435c93b5bd8a7011e1bae142226b6c4b6c20794dd6e64a000e2d025e36af25b2c686242fc9b5061f208b19202b9235b62105c88a5a93656343b46ab4685a43640d5b448021aec9b2af1917cbb572219135ec121a4872b5ae192f215e0378e57a6d89ac619148012cc9f55a6cb26c6baaea6568b196168381c353bd8c1d2263b4e890130c0ec10060da0200a643723d8a8a94ea662c08dc01f1037ec1bcc08f5cb83a242e578724d793f077bb5637a46bbde5a21b92eb472f1e2a56147b89a16245b9fe6bd1b1782d79bdbc50af7aefc4b1702e0e09e73a712e16cec5b96c2d5c8b1bc2b54e5c8b856b7143723d67b2a558512c162bcaf5db8aa6f25af2f07402f16b49aeb72919cab621f1765c1b925cafe500ac399c44db36e474da5a28db10adf150ae437d3bdb58512c1643c14560875fc86ddb7a89e6bd969024a5485caedeb4ae5bf35ab49565b90b2910925778a78e94752e795924aff94292eb3b52d3f93a25ec76b62e3be404baec905c6f552a906d6945b2061793314ead56d68ab204da6ee7e4c9e462b246378718a3be7a3ba72ed274758832958be57a13ee887000d256ee6c897a553b4f27458ed4cf2b7f9034cb03af97404d5d53559ffa4f2710745957f5de7544dded9c744f5c93d515b5aa3e0898d3b9ba6cc241bdf6fa2e47e7652d087eb89e4e9f9d793a81a0054ff79142e7361e78d7dd1953d9fb6a319501b1d90920608cacebf8906bce6e3f229e7bba64dd3b15a54d55004ae181db4bec04ed603cd9ddb389660743674b983ae2b8d3cc1dc99b07eab52b8164904c1284e7c99f1f7b9a1d1125ca354f3c733a553f820138dfd17369a0e50988d0c52eb2407ac9c190e45845138ee4aebdd3929792d754ad2c1d6af4366489648cf9193391866eafc9b29648d6d8785eafedc563892c8f0a9803eb848826c926130e694fa6393965c672501b6242302419049d7c30390cc58446231c362cf75ce1f5e353247b1e0e5b270be1816828c624731c0ee52bcb21598b5df18468c8da9f30c0825e5986c3a824cbc8323a8c81d97290e7c3cee4813cdbcc36d2d8c9da8678644b2dd38ed2173be449b34c29a539a44033c78f62fada4164cd34e0210d02031e5223493ca44bd0f19022c99df2fecc43643181c4436a82053ca42c38e2219581110f294f2e7d21b2a44e8e87b30c0a7838d780e3e18443110fa713259106444264491f221e4e27dc7838a7b0f1706221010f27cc27d2a0bc3f5f10595208010f670d6c1ece1dcc20d43c9c45727f068934232b22ab5b0778d87330c0c3cec334c1100fa7ce50a4215521b2baa7b740f3b0bf4080875d86997e03b50f22ab613d8446423b61c6c37e459a8f0f91d54f8478d829e81708e061d740465f164931c4180f251a60c45c0a459a2ef5502a915bc8b20a017828a390fb720971c2847208403c943e9038c87d2983c89a445335238d7d5fee449aedc5431944a62086910fb9a31d72ff03914579a66abebc2317721f4764d1d754151169b4a3ba00b969e496c96d7af8b065e587c8a2309126bef2cc64d9066006cc2431a36326cf171238b40bc02178448c1981431773e3c98143ab001c8238369e3c5f040e5d644b44040eed0d1c82367c70e822db2004e0d0dae010ccd806e5f91a2994a7751d0087d60038040bd09a1f02872ee6bb67b2344b83439000787e06872ea60663e1d0ae7008d280e5f919387431b51e2170680780435000b827cfcbe827596b4dd5bc8d81430b86a08c4b6be5f9181cbac899d09c449395f94cd5bc0d000e2da80a0ab241e0d0823f4c229849c43359990e7d4d568dbdc0a18b13c6e109bc3804e7cf635be01064415f2f3874314f8726abfe4cd5d074713afde4f913b5756727ac3b79de84431739dc8682f809a443e890d2f6daceb0096db02d683e994f4ab7730ab8f16c4dd87cb69ecd35954c2528445b0c369dadf5c467faa0dccee0c806d936d89815b2b01964062159979582fdb13eb6a7877a88743b8f3ced89bd81ddb13ab6d5400df469304d0eda9016d384dad599ebb9c2ebc7a7a828ca48ada5f540e3d176341d21a128d356080f4443b12347369f2a825e3f7247ee6cb7b3bd9dbb2cd3c9a4c85c194fb6d3c4479491b12b9e100dc5a022a24ce7ec76eee84f186041af1026c34419b90d4599b9591155f353e7089c097af290e7e790e7bc89a759dbd010407186e5bda464f48a9a6400ca376d2a6f3f2428b6928242c0beccf26e4313c6b5b627720a31051951469ec6c03b0981b018cee4b84d81653d701b7ad1c9f3214c8edc4e9e35b6978c311fd2c8f133228d1c9aaac98a29797a6bc4d401e2f68a795e214bfab073b8bd3cf9290027d75e359591258d01281f6e43193dcd549e8325219920a2b5fc64f1f8cec5f17431cfb9c03c5ad3e49396bc95f2f2a7975eb17c45e5a655e9292820e9f2350928c2081dbdcaeae5979840b37e790d84b43f24e49cb36688175aac35592fb074616c5b405540a1483ee558051484e48e7adb75717bb7ffded32bc56f76ef76ffbe93eee8e0251de5824f49b9e996ae724d5f59f9e9b2bca5e5a8ebf2bea8bfdc3e8b9b49d764c9978bc5c393f6ab9d7e37b4ece2f2f56b972c70787ac121a8b9b8cca61b80f2e5611761f1b08d64ed5405e07c8b772f3f9a6871fa21c1e2f39385f79283c5e75f5e2e99743769ed54e4a29da09947b75ab078b9d6db6ecd2cae8df9972b9968475dd9a453da5dae24ea94f6962b9d744afbe9ca279dd2ce726551a7b4af6857b99d735ba753da4bb783a4dcdee9947694db423aa51dbccdd329eda4db433aa57d74dbd544bae77691f6e994f67afb48a7b4d3db3f9dd2fedb485aa5ddde06ea9496a7c90660263f836296662b6fdbcaed355cb7e11e4370388c41db7b154a19b26f67727228edfb1189ad5b7677926e25dd4350c87982130928c9f66da7908249a779a3196891a65b72efa16eb2246f9ac532d6a91af4e7d4b4a96953db3a4fc6dc41b277bb6cc3a80d26d5a9962c51b2ecac671202be8b11c5ebd4f650c664ac737a65af5da221b2a2a6691a8d9d6aa9d35fe367282f9db2dabdcbd850a4e1ae5d5a1169ba6bf7ae1116478a72923959b6b81f4de46f387e48d8f786e9ed4520b3c5b6bfe5eed6708f096be917217411a68bb18b4474d6fee12eec72939ce1e4c67128e2705e826026f788279df4d1c399839d2a9d7b7f3b9066995eaf23d264af293f6479145025cbd2a5917af7522eca056f08e60e3b21c322b2fc6826cb7bf8f47917ec14f84ef5806184ddf4ca08930b948f8f12f7aaca9831f4438c457da8a2e3cb72b39d65c42730803187e00c40ee2d6f7c7789908f3770329dd2be6d75a25afceebe5926a353d99df3b311dfcd24398bd969f6dde89cbd93b2b377cb396796d933da329b59c494a853d93fad05c1eed6be1b9d35f0545f514c55fc2cc9e1ad8e1951b23549fdc92027d3aac58a7672c0d07931335a4a9273860a55d9a319a319809da243c4d76e1cf1926cce4499f808ce8860a4741427936ae307a9f6adaf38d9fb8632ecba079459cacf1bce1ef33de5b593b609a69535a4490a307a36d274a6aff5352d0299fb79e8a204765a99fb9c6208aecc7d0a01940f53f1296dc61851726cc941c0ecf2a6208061ea76aab45b10b433dad7d36f97116964fe2189ba8702c8a95e754764984bf5aabba65d46a48959bb5c58391c390ec7d8d34b6100a355297411a6ebd9f1d2188031b7045d3f4972ace20728c772edc2ce32ca48db84273956d104a2dcf5943d47d93bea855c962959ba641969a2cc1655f528b99ed6370e63908d32f5261880f57106cc67ea77f4aa5feb335c5bce18f40096039063153df8415e85403a041202893deafb34120144e6a6b44a1c0da4410aa473d32c270ebb33d9b0cef62a6c29b36b9aec482feb3ccd2eb3da38348aeeee42d765b581244046eeee586c02461afa78abe5e84c311865a49442d3c048338162a4f972d43a2a6526b54b7cead465d6b42c6503ac2da8046c55b6a1a4650ad108000000007314000028140c084462e1783c20cac22e0f14000e92a850705899c6499282ce20628c210200000000000000401200c0a31805ac89a0c81657c6f7831e698974d07a403197b0e72b04c98cf98e583c7cb616cfa3388828bd58ed60c1e940f1c62393937c36d8901dd9d00cace315b2582013c3b78e3e1a1b5ebdf5d5fef209f90a818c57231543d10b17fc40256af6be8d61617661899615399b2a8b814425cf688c0417267695899bcba00fd1f9289bda230ee837a66208968d3b2c4e0132787b683f823bf1d57cea21e582a4d9576355c33404c607d81664408b3459a025c60a8b4983aeac3b1305cdc490c793b176a391bb1edf51675f57fa975f3c3382212827d4075b5807879431ffa21a4276b6ac412dd09cc2661e4e06d2855a032f83036a8610aa8a18458408a7c4e7f10dad849cf6b5b9b01284ea7fb4d0ed51b02f9adfec20d473f267ef71744bb5ffd0c6d2e2f77ba90980228669a5c7a3fd5c3522f0b4138796f34646958232aaa2359982a387823483184903c9a8847b6640c1582cbeb1913cee3c1cfdaaa40ec4660cab24bebdeb121e328c74630299c44553434cd43e8c992554e57b2ab980b351e9ff33567937b3230f8aba8aa98d2ac9ff721da664b861cd062c6d04f6f0279a4fc7ebf253c6cedafd125718991294a2a6117b81dd6892edb5bea3600ff3f210e347335a8d622f8a43e269f8f0b4e7e28b1a0b0f776cc4fa99bf652af638574e7029862b9dfeec24b4af0799af603458f5025a95767b722958fbd85b6cb3bcfc23dc5f7acf32e5c90d375c26eafccaf11c3f39fc8e3d837e67aa70514797e3358a9de1b6c8f93fc2e694ddb7075c4ace78d4acc97f42dd2c33aaaa9fb737d18878464b89d7763d66d7d81c6dfbbc8603ca7ac489f0d68cda704ca310149b097e2f118791e38210e812cf558de0b0f92aa078c13f58fedde7a41615ded80c1feb61324381f41b887ffbcc08c2808b70f1f9a3054501556c9d8a8df88723dc87a27011a95f65334926f5f01d70361cf8e1814007df143c1d95d5ed233c142d48f464e0ef6238e81622894543d982bb8750edfd161f6cdcab2e0f850efccc60772e34faf3a89c3f2bf3f85a7bb89ea2e20fd0108553d79942f18444260090064f6d20021affe911dbc16043181830a2b21a0883d20768034bd9a03c786344880f1ecaaa6acaf8c8a89328b46d10ab70e440f79474f22c0836a8cfaa6ca0b53f98ccb020ff8c22799fd6373d600199a8bd476ac422beaa1b75c203bcafa0630d28f1793bb5c078fe3b0c66ec52482db95e6a645802a03b21a4e0c9416d45c05c80509464cb7437969093a98809feead05a0ce0472552cab571706bf2c49b5b8a07180c76f66dc28adb0fa4e0201f1cf0686f8f202c4bc83344a57143fa252e50066b13fccd947751cb84c7141752559ad82365690e8eee01b681afb3ea07ec07d7528a0c6cb8f93b9202e0d44f9626a6d3418987f73a99c67e70c231321ca87f1e10c93cf89ba4839c718cd08d3d11315bb49cdc01d39bb125f317b562848755199ad718977eadb27242f2cd2fe55c98b340c7a10f6f850ca4227f859b1c5f23c5286e13f841774d24f403be778e4e5c77977b2790e9e5ea81800338f48f5bc8a1910b0f46fd671528866979dd808c4321f2ae7db10c74351f3890658bb53fbdd64f09a2c15fcd57734942ee168429072311fdbeaf679b303d42d3a7cbc678b7a435dc1d5dc043a9361dc08260931f7658bf68f036caf8ed390a50ce5c81c8bedbe41bc19685b8987cba5f2c09697d6ee8cffe08df06fb73bbfb6ef912a63f2bbb5062c5bb263ffb881c1031d71734b77f262895799388a10934d8b9b171dca2c953c448a3b7194b3ed2a25fce03b919a8c38b0bffbcd212423bc9bd3ae874f261ae6d3ce55bd98d73469dc9242dfee9fdb1233ee40d1c56485b787a6b8405db120bbf651670a31a90fa6f485ab3efc6dc513ecc792b22cc7172e6f40d9aded82d56303db3854a5825f08376bc845dfc49ee1ebb617c5aad297413dad8edae769ef5953d9361e68295efe58c24ec59dfd838fd7310f643b3c1107d004cab831e0efc2de64201a14aeb589469d4cae1531d80501028bc55ea42a7c09b787fa6a5b6e1330c7cefed5ba5cc3532d1fcbe1003e2572e3900db72dbb5cbce36e2598a7ed4e7a62c5ad008ef975507cbb972bfe6e5a772d499744761f25479580ad9610fac13bac116e437fdcb997cf1288f9a2a7a23bbfb97f8bfe4bcd533f13605e72c96b67f59ffd775b2fb1035f38603acf11efbd5655c350e3076d3bdb3bf4fa34aad273ae62d122e38ae0f848fae7cd0be126735ea4fcb5916258a75f094edd97e6815117438e251143d64a736dbb952f4c22322a99a9cf9e548556e60c7255f3da89d104000ca369b1347b44cfa19e6f83fec7a7c67ad2dc8cbacf9b64999893e35589b1a9481823f553fc3f1c4572ae75427c7b85f9d6bcd138bc1f1043520f96251a15180fa3644684ce7e35ed9dcb28674386dbd2e043425e221de60cad1f8e8ed00d6490e5b8a083c79d3e40ee802a85fbb61cab7d43f82cf43bd47048f5b121ea2512e2a2ee1e33f3082e6d7e527064ad9269461136795cfbb4f9e8b6351182dfd4a34ed634cc5705d3ae534446f2bb936516d98b2119b55fd7471df9d1d4f1c870e8287142eca79128a471131c04a6a538bc03c09e9fa3a0c1aa64546585ad9a5fd10d08ae6841789fde13dd04cbac3e8be2503b51defde3620fdc46792505a72fbbe54453d9f04cd7cd0d151c8e11d6091c84b8a3660e167ed941f63d02b783544d534f3f8ae2e41b13ed0f569aea8ee1ece3960e9f464dceb4cd65e330bd5f3271b0b0f7ade6f42d1f6140cc9eec9fbc1deaa0943135c3453b30041d94f20c7385c308140c6fbe53e8caac49bd6e9a4b86d9e95a2e89e0e0a038b1d0c92e519ba7e40308292c34eb15ab6b692b11500f4df9dd41881fe060201be79b45a76445505dcd2ba2371d6fb8f884119e49b460f3d8a8397a45db503cccdc17cff1d74a09f369946bea3fdcaa8ef77e91da8303619867273f5309d1b8b46b1081c9dd9e251b94b5d022bb2e92a5cbe4d5c151193776d28b83887583b5b49e10016adea4e6d9fd58e70a5e6d884916d7990826bd37efe56ab9ab43552b6a1d58a064199a5b55c458a5e730fe15d56ab9e3fc55a557c6b0d4af0490c9e6b795308bbc56b599695590ff2d122ebfdc3feac687dc2610f488d466811bdea87fe2f68cd3f2171412fc88cbcc5897ed61527c4dc1f011e38bff57f3dab3b0e06daf84159abd15992debf9d179763f287f8d011edc07537ab3a27c4ea33a10c1c7ff7bf9ac5f50e34d09a99b5189763f34f3805ce3ffd2f66fda2231bd01a8fcb627ae55707052d0128f6be888609c10119992a9793b5e9c563f34d7c2cc4c260be8b852cfe82de7eaa37d66ecb02cc577915d63f863a3f920526346b5e58ee6712c8e220fbe467ca103562d6b67b2d3db6c4a1f81a9424fa52520bbe4a6b5f18934fa63a6569d876c91d2e42826a50cf887afbb2998c3adb51b1ca8d62966a88abd4c72f2d8a2f00c94d5e2f7c36fbb6b05da1326a7e00b8d8d22f122b0159abe61d7235633a6d9ff4add03c79e2d92a710d6ab67374e8d3a9514e7e8a62f3d7693feb2f10e46929737bf9f17419d9faf4f4dc04d29f200a70be6ee439d8270296d8d428f3063d048d6d2b99198796658efd7d9aa481017abd2b06ca42e2d782614260600a77f202d349f10ce00c7cee24c7963c021368797c94c93dc56c8e17882c2488d9f23f2572f8a5b639bd1c84488a8e84ee627dc00decf3741b7e0edb9a488985c59e58e6cf35d2cedc052165ea815d3235dbe36d8a3f632350da6844ea499e3a0bc92e14022f51b0d353067e99e881a254f633345024cbf80bad6081a2de925c88f8a7ef381c927c159763c53b42d40631eac36977a38ee0c9c30cb61d39b90a9ea5420b8d6b75a7f19c2f4a75c865f47c151bbf8f670168b849e14730538ffda268fd4c940c35caf461effae7d2465bf4fce7f47aab08327cf4b6c9f170000452176365fa72e0fad34cc1c0532842907e3082f014dd53d6d2ce947c47bf02a48969e32a8621557bfcbd05f2c2fb5b246fcb09cc1256d1aa523f51e81bd92e1992cf0ebcd5444b3fc19d872439fde6a2e19dea798948aaed2f6f3bc4f5764b4dde9328107293fceaf17706456e1a07b109c3e3dbce76635cd0e57d8567e8eebe4744636806ccec816374e0590eee86f5422a80148ed675145910f29258b0839e486832fdefe9df7253437d0d40f776663fc0484a818e1bd8a8f98572a1e7f231d62c204b6437960b761439dec36ab0dcb0d979e6f016c5a5582524dc35e7815781593add043a95d7f86df8ea73f3ff0a6bc2da7a578807699ffaadf432b36d625a7f6e60b4228be2197049fab6946b9e654ba2b026396e336a5cca1a504d1bb99ea942f664769340b6cf84865c346bb19685c174ba1f96bd4516d8f4d25a4e68ed992d908f5e2ac6d01716f0c43e74ebf41dc5f7df1aff4bcdff70efe5527ae1ac82d20dac1f2749d42e73031fb4ad99deb8e550f692fb5f33af5bb172048786a797d81130a85e536a70b35369e523150817b3d4a8f2512e843ba6a05c7d4ae182ef724927173c9761f5f8a403eaff99bf33531ad18d4400db5e88b12f82e1342dfe94e1eb27b058db34e28cb1826b604de7e0bb3d440f2e66bf0803d3547ff6bec72e12635fc463d3470644b8b0720abda2b4c165bb07d8ebe08c8333b358fd205aa102ff8eb07cc39b52ff41ecfd23e0d1bc454a0e81ab8a43b325b3929693bdec099d7635f9b8cebc2475650038737b531f72c7718d4860ec678d1068f702854688706a20ce096d246c9a29ada40e79972cc3aa3b64f362f655cc611515447dada0adc45c39299b9bf4014e0d3a98663bfceb3c53880275dac3d38ee5a3d1239369bf16382ae724a2e2ba92d2eccf47c83bb8eeaddb5ac962a224dac580ab088ae80fec288aa03258c2c7de1f0af6c02cdebb9fe7b9267deeeb99f896d006ae4c532a1da8bb20fc9c1388dbfa2fe37bd6a80c45a7a001fb5ca7e5ae908a076a0ea884263e915dbcd514e0e83ca66aea43cff1f8f65711c162e03052837a09347e379f89b25be86fff4636769b2264e9fe58289f1a07b1d8d50065dd7973dbed46b52bb7c3cf1b9c7c186b21ab17913e770dbca8267bc253c7d19e055e8fc6099c33ac3a6744c7fae823e5c2f6f00360c1a10f344db782b4f4242d19dab903a893e0ccb8db4ff8fb4c6410d81a4f41dcf28ddf6eafb2154bbb48a751ba72687e6c7246d7a847515e19b9703c25ac31ad8a605ab85008a105e216212d6288c1ca4bb68abda26e6dc231c0ebf09df7871bd042054929ab5dc9feda1db215b7520a23c63a0e47c89cb3f527b37f6afd8a0169d35da834f34b29e28ebbf393b1507853f347eaed177d50b60cbf9b31c5da9b315515d3b2d9c7b74b92fd46a62fc96cf52fbd979c04a1450a86eeb9166776734f748bd60ab5b47829b82f32230e62b6cb5d14bca68ee09eabd91e3f0d33d1b88cc8643587c1333b1f3dffcc908c30eeb307bc2f00f14728dfd77b6edf7bd19078b6684309cb5eff7c0ab7463515c8ed6f6b7142e34d71dce0585bbf95e74b4f24cdddc87227c50c2a132fc01621c857cb276f145a17183caa63535d178786886c14783ba8109ceb596f0c3a35b0bde54e1b2496647a1a4052010c1ab7e01b628ae38dc55f40b894d81735c806bb30c40d76469ab84c6ccc0bfcd24c79abebfb553f7479da252258c60514dbcc88d136ca29a430a81ec3d2661c1ce83ca40a6da5e2b778ba6400876c6e695d1d282be6dc83a93b29ce7e0475ab1e23607c15b8b7d90763036c0cf0f2014a6ff2c6896a23eb5a97b281f711d80d723b49fe842ef231674345a0706ca9261fa2046744964a2a2d3ecc7037659845e24e317307fb3e884860c7c9090c36a9f3a3be6663fac19ac53b5ef3056055f89e0cb07dc51b5cc21b7adf2ca4d8e682a3f80deebbd54d800fbfb6a7cce04cfc20e47436a0beef643b8fb739e30256b581356d28546eadaad421ac5f89d394c6e053f88a88a11bbc8a7be0ed9432cf0175005cb0585f15f24dfc2f390a55a830627b8f05afbb62e061e91bf64da57b55465f06da13ad57f009645b1af883095e2606a0b3a6f6c9425687fbe07ae518caa537ba11587e548c9de8c7338f00819e17a1b4359ed1e6ac1bcdc0e86aeb586e8ff930ab10b3541180ee9b51bed38a579bc385a6b69800221b52019f75d31c3b487cb003742d147def03b15ff2e0a323b86633f21773d860c8dd9e190ff0ff649ead47a94a51b3a3363c5c3824e7599f618b4faa7ef94256b16fe0a0e0b57cf205a9601522b32135c248bde6f5106efb1adaff31525fae65808864da6b612b21c12d21a00396ad4fcd22c75aab82b8c52b37fc3fd951a3d1003607eb6a86abba1ea0be086b68d82618937a54ce69d88cec22cd953f90b829e4eb37cbc3f942f120b55239358f9356f207d1284c546c5de9e2ce4ef406019933710e627f62d31c5ae736915aaed8545efaac16bc73d01f5d403f7c51b0d9896c4e39b7d1ea90d9384b036183d00202243ed79d728e11fbd574a7090f933e3bf6f5081bd82f3fcf63be09eb25882c7e1d710a3736c10a7cf5511518ab144f3dd898f830fd5d07bcc4bba9d6c5af20a27a4a39a46d64f3a81c9b5a29c455a65e12ffb0c1e8d4d20132d937b41a57842dd37537dcc4ad7500ab8dd10246689ee3f882d43a57941b658be3e6f621a462750a0a848de0e02fa1f4ad7b7b49c2b56ce07b532702512b09a25fe2de941ab3fce4bbad82b8cf771fddc0e92304f05da7796d69211e60b16afafa98ea60fe757038affe9f244a9cf3d12680298ebe4a4cb17f872db77c7c6d16629e87436b709b3d8a7cb41a42b9dc6fd32d621ce27ac5ef181e6d18af67bd643f8329e7828cb91d035bb221dc29abb4e797ff0c457c13cf8700ae6596b637985becccd3b1f854a50bd62452fca2455c7228487a8ccb5c41ddb80c22bc0add3ea51750806baa15418215c79ce25ab94738bf8153bd78f2aeea8643068f089f98264fef608f64939fe58afb721ee40487c00c5bececc4cb55f3fb1ce1b945e9c9e12f2a97d56f0a40eec270b2261c7a492f3fe8f17173408c6bafbe5de16cb585f8f1f1c3a000ffb72bed1173d1cbba44ffe2ae45650db70d47da3ff4b0e4f4601663e82621e218c0f99ab45cae69349c8bbf914cbb4af0ff41f80475c5c7a1be74439b7ee203a9eb51e2c6d3241b8b437722f05a8ca678576d45aebb341b3b7dc9456f145f2c09a628a8a741d36451c7de8a902c9b1ef552b77089b6abb84337906dac1b9dd2d64e80b21991c7e650a0122f95a73a41ef6cac8b0e763cdf0ebbb66ef9ecf6238319863e80c7cac391824992794876afe346cbad539c64db49627f54f513d5369c50c95ee3190184040830d9914383627416d7910589ece41a834003c669a5da03392ba724e4d6141862ec602ead55e1bcc9af1ca274c001178e3b665291d9021d394a10ee1f952a7e99195151767521dc3669d188bb8929dfad13459f43f8dcb56c389a3753a8548050d2e0b452446828adf87706cc99ac734f5225098abf5141b99deef3acce230d45e912e3ad354fb775cb964ecd17228d5f680529cfd85afa91cb3abedf2d3e2bf24f86198591152a3ec97ab16dfc4723e8f62d74e2db85022cd0133e80d6acfecd4f092edf2e023fac1008f03e1d431bffc895c3f0953b388c9536e0e712c3a802c5b78cb5f1b9212e7b3d6ce33335e52ba9d26e434d963592f2e624dc79a807a647ae1596b68d66cd7991087c33d85de7d090bb8ba00b068c01c26e97f0e507986f9b6d7c4a582ee3a503887b4b812b95a60c201b5128129ab670a53f60375383a9b433513146124cf4746f61bb890c78c0c04703c7434df3af8e6becc1878ac84fa42323ece8026f3f0222fd786f65811a917cd0aeeaf4082ab130660e68bb2c563b5fb1a374027f7e938128d73665003298b8b59a2741c99131768b4bc7fc55903d2b7c9b9a5c832cad159c4b340257c1f6862d2bdc8a9ae6a2d4b47e6c59cc09c2b5b0212925a6920806429a847b877a9c48b0092ff249d462a48bad3fdf9e894ddd86dd8b0fb68f144f0a6f696934af1e832f16e21b1dcff6fea4bb264466b9ca596e9bc2052dbb54f562aa0073f2554327ae17c20e6d1697a007eaa8de860dffb7297715edc1b772ace50b9eb35400d3c9dd0ff1cf4548bccd65b7957d2c2fc143ff67a98be8dc18b2192a8fb34ce8b6cafbe2b94a456da2c9ab0947b07ac496a14148e8525c514c9258c17365217a77dfc170e6469496ecceef492cce1300f579266f809124d940708c5365f526dcda13d485e03a26e5ae8893269eb40f31a73e2f05b6cacb3169b0c9add62462d417e4f525e99f485bc1a453093e1c33a5289dd403d3a61b2462b90bec1a520bf7d62087de1a5985846ef390df6779537d9c15a5cd2d3e7b7bf1bb71095d369168e91b7e428527e068fb46049471d963f22c8a90306ad07b328ad4f153f88f690d49408fe2049a68c3089516b6675cab1af9b5dc1a353980a968416c86904b7e0bd568d83a25df5392393346c4e50d8d60870dd28f4fcde274935c3d90d1a7574a04d3a97b5110dbdb7071c82c28fb3d6205c1935cdcdb48df1ae9d671155d30de308b78dcffa403921177ee03a2e43813bf4547454157751c92bd2a09c8372c45e5d04f150a54d39b52eafe461dbd4fcb9317fe48d5f8b22807f47c7b031c9fe7969ee961536fa33acf1774148d9d2013c1a566036cb05827b6ee2646c797957dfb09d22b7c6f8aaa1c318955541f6c822726ea8ca9fc0ebcc645d0c4429485b66cbfb4389417448911847b29953b5886ec262cd34f77bf391c357dcaa7b452121fe0aae29f4603b0f9c3411ca701719e3013a3da03494bbd6c969ec4d2169d24d305e34cedb3a0d486587fd8a24148308dbb323b0121ba5129e208f310c79da361a8fd1ed64fb6358a43c164fb8883dc098033576422ae64e9fa9cf47367b991921fec6939cdfcd969424f9d39ccc023f08c835a381a6f5483dbc0e1e211fbcbec6e64fe36e95e7ac248ff40b5835f1f60066f78331677dbe4499baaf4b5cb50dc7cf2bb4e74f45c0f97dd05ede65616245683e39657eb7569c488ff0ae971d61b422c3743100d9734df37ca8507f341b034b94fc65ef8c49b7bf021a7c45d1398276932ec36160424c00989f34eb68b03eefea94df9b091c192a2218d204b995f06bf350614690f1fa45bf7a38a97684375f73352ac9bc5513e7ac8052c750aeda63df11c2719f163421ffbcf63a0b05a97690e48edc2d8212cbfc4202174247bc920c1c08ebd774a0bcc7d6b5e72c657e286b5f6c6a6bae8286a18d299bfa2cff864dc9b4dfe8aee718e4853fcf23172bd176b3d4d4ac4035dfdcf9e5a9220fc09819afd03ae5b46678d08a969ef1f2d068364471e3f3cd2f109ecb4636f1732910ed726e02930d946dcc5ff7eb8284345442c2805c954cc2a284a59c871215e917f62228a80706519cea66c5dcb4a753956c7fe380c21607994322155ad7e8e0aea8eae42bd434f4877980be11afe97d71382a932327c4e26ea139421f848a24fd8fb47b58d6a78727a4822c099793d8375b521d78d51d2ca90b7214ff9a73fb8c9e8f003570219e8b635081d98ea3b81589d917587eb7f82232a3d7fd6d9ec72eb1e667668699b173aaf27f1c30aa282e0d1ed1fe8b58b1a519e4256b7c8a1a3636c7f6c207c3090e8116ffd142914fb5136c57bce9fd3c0a2947905dd42369d18476fd2778153733f9e366df68604ab24ff194161ec3a4a5b859b98017ad1b87a26de5c4b007aa343477633aa97c7e1d96fd56af8f0e2fb00ceb7e860d2a35d9b9b4b05477ba0a413ef1ce5145f035289faf22f41a188003ad145e8303b6e4fcace398883a3b086f4fac6a2b80fcf421166474f09de21889f9667d0d5b7f669a90203eb5c7f930be3389e20ed5db9657e6f79597948f0893f65c335233f9085f76b7434321b1cebd1829409cdbd7f45f92a7c35ba70ceb0116674e4d8c813b23d18ad0e2cdec55efc1db8fb480d0501650d790734b6006e118054a8039c5bcfdbc4db818e78300bc8fc9e82b2c95a2880eb986a0b768e4e448d5147a227e4fce5827f1452039bb422ae83ec23b19ade95066bce97865ee9bc70bd9078146963ba848eb0bd04ff9caa046e969d72c156aecf6598efe3cc6ce636244cbf43edad7fc443013d354cd6c2a15b02d1813ad3bdf353442b100e2aaf5ed944784ffba4c0b63521adbb2576817e71bd3ab37ae64a182652dd6c9a301b0c44b85a1b6f017d53d04ea888d2abdbb75c5879f62616e5a14dab37ec46620f731202476226cc1bc2615d9d200078c54866d5965e4597b6566cedd2c10ca9458623b9146c8d82a7160700d37cc6630b95ce2e10aecae6588261af28a184d38401af250440a2beea7e78f5218da9074515239521178e1193c14363c58cab866555f378251888ca1d16caf4484b35c59d591ea95f9dd04e1c95a28634a841837da976b4f395d8ee89587e431dae69f2b911c8ec94b5b54bdd9ff2facd54f0dde933d7543f15ea28e3ddeeef14092795c7fc77bfe4018c83b615ded72a76df3b53afa6201c19c7c0bfcf7782511067df5e3c6480ba9eb9e109908b5cf34023fa984162a1327f7bc1e2e2ce71d4e7056714ec2d8e9ea027148b7518ee8e896062e2348419990054831f542d62c570483568064a6eeacd274f7073df19e07036ed1e9ab9da6e03aae57af73face23e5be2f964870e9bb6d780a0b62e8899b34cfdab1182d392fa7707796291dbcf1fdee2a5a01d53792537a025fc3cd29b54aec6a448ee36aae58bcb570913148b69eed74020b3fae0131a0ebcaf42ecf9197743c4e8206baa9ce3bf07afd991d40a974e8dc46fad77f74c345cf3d4147c63375b5867af4e1fba769c232e4e6b552572e26c7292c00301e192208da306ec8b0a1e1be02dece616bf90315176ab9395e7af6da6e5a32a1e3cd07e80d0c9f129d2507d200f2824a0444e91a2ec12ad8f2ed4f63261cf00fa25b7b65c357edececd361b2a7bc17cb16a78b86030bb4b2ecd8b6c909681ee1fad102acc9f30ad7e675a49b2d5bc15bd638b10521452d9d3c7276c02338a07c3eaa1b5d688428a5f0e445ee9a9571035857dc83ef04e6849073619649bc1b50f30ae62bb305e0e3f0a6f10a42a7ca765ca4155b6c185a809d81f729f105b1870e3f6af978b838d2b37ddbdbd4adcab6a95220659fac7768a71820a6d8bc21a0fe0986b71c79da3ab45358fa8576a445d7519d4312557d681e2b4c93881b67cf057ed9e45fda6d362d601408c057aed28eb4bea327d66cecf2f304190aa9c93128b88a83063185ab8d0ff13adc33f58385abb6945b8b60b4856d690a637e5f16d25125bff665f3e9f8e1b386741508c7bf7c07d8904d61e0a4deb31a3cc4481c0346c2f1d4ad70aa232b4f6dea1d22c7a71710b5581a9d9108517343ffba730b9cc3b15c809f0aca00f0aad309356277ad0bb4e805f076d5bfdde8014099017e5f310bf80e74356b17fdd180581a480f60018de6221d9d5711954e17eb920baaa9759a963e5a739ce311222f31cba48292c4049369e78d33ce253cddb461620b3ffd5ac6a913307e01e50024e4f5b68bada1cf20f7400fa8b1484bf9a1d3dada6f70c9b3b272d062ded0bc069532eedd8cead15a56baf33e59a2737a4021445e269ecc2d1ec90d22c7bf92db60f729a56e1f243eaa10562879d1d9d3ecc5624d21d4bfaab40a63bacdf06a5e733cfa93770558663d8b17038f7b70f08653cd3808af8b540c0e44906dae3eb219c07ca49608f32eff5b47ebb9ef039aea7c36710a434cca2e58116b3ba28f69fcb90103601c1465da0a8d2e54f2623c7aa5e082c0df03cdd6b63b0adfd26407063dae29698cb43f4a1da980fc659e961fcb3064a7925388b17edd223dfc922c734868eb266806c451a6e530358f348cf26ce0ec7afce196dd135430cb83f247b4867f1d19227a761c8aeb5c724c3e7bb8b0d46f12a85efd2631def9e827217b0ff2f1668f7b745c1ebf6fa240146878a3960e3d919d9939c3c93ce1746931756849011d0b30df77fc2d4805b52d2ed1b64ac864322009449a3fdeeabc15fe8f7a33a1d98a951bc22d1451424bbba35332627c9b6d168a7566f5c9c6bd2a9e6ce6dff97898844e8cdeab1fa102718e93297bb577315baa61961ce54170c760d1024d47d73da09888d5dd0cc2e57c1bf38c2d6ebbed6652b5248e96e9b41bd6dcbc03687a836315a2d0d26151332198c128fc9e4d52d562f45917e2911cd42f78ea4a0773cf21037fa2209fbca91398684ba962df6309f45548262e4b79433b26d7a2e328863567406b2ae05e67ca6d819b173aad5d84bfb616f8407026e33ffbc773f0134a0d161e2fe486fa23eca056c179806432a445580e7d19b59f9d0f2a2bc4908bcc844ff87ef6508fa14996fe9cd09492fd96bb0ee17cdf1754b32eb6f7fe2d269e07dadd9413ba18908d9d38fa3018875eace552e37323a9f821f7ad45e267504334d073addc182d404f7b2e9f0f6ec430bbed3e1200de4a036001e47e12033cb611b6545fb86ae3f685aee54fa1878aa9c05929c078169b5dd28f20edc8710e94561545c27b131dade02ffea9f9d648fc7fd1bf26a4fa874bffa4bc95de064dda9373a3ff3c51ee1fe26326e5013d6efd0b8e0bf6db004334ce8ec81c99c9b2772d31c5fe3113beaec8071f04aa77f565b965f6b1f9cf3c589d61b3020604b6abbb2fbc299d7a8091040a745000870d296aac9a0d81243db7f4012eec0aa4ba811baac73e3a1b527736788f666e7292d31c1ba6004f888cf5c151348045e9585787adb41c03ccca0b2f9791f58aa4f83302bf6f6962d28bb27f1519d15e3401370935305c266fd32cb723e5c2f7b0ead9877d311f44322b7d6998be36040682886d354f650c84da43eee69d5bbef103f7e90fc33708c33c3414916a13f7c17519c6dc856e592e669a70194eb2180a65980de4032ada0abe8fd5f62ef934355f8b82be235b7ea73749ca6e1139dd01e73912fed116520d25c02dba3e3b981942e9e55d4e468bbb5405ffe51e363d45f0ae1f10ad8e322d54b54d36960e51f84f08f8f54fe5ae50163d5300a0f367f10c7bbe877136dccd1a971d48ac6d0935e366fde84c4beaf8388a3bb715da4f2d031a6c7915cbea889e92509a307bd1ff6043271594eeb13881cdd6ac90f8b87940f87e49eaf9a1159396b885510f912a9c1247bf4bf7d76d8c23e5d2afdb60879b308966c2ffd07e4646942bf31ed4a55bcac4ddb90129d2c0822f36763cae259f4b26f3b7b7730532ef7ffc63b1b433d92691feb27cd1d5f2120f0398bddd5aee64ef69241f09cdc1433a2fa8f13be9300ce05aa13e3611a3799472f1802a44f6e8cb63118f180b78778d51b083d4487f5b6ae6d1d0345b3105ae9c45414becf3e6973159f038fa1c50687415e158319298d704ab0b2bfdd1609917fd1b10dece7fa404a3432df38fa73f656d450ac10b0dfa008d89a1326652975c6f604b25bc25f36c4c0b24d1400fce85980220e3f46fd514416da593232becf8feb7aecfef6b47872354d6b078d8f0b7cfded9a82d52a7120c0090a91c992c136a8d94781e5a2a0be1f56c47c109a78b5aa843aafb7fd0f3da2e4969c4406d7aba43a8e953084e489bc425890d966ac871a912048d6f1cf3c5eedc8feccb9ae076f22d6880aa925f93b922f4ea7b7a9e95da38768b694f6fcdfa621548f9937d3fc111b3bcad57c854f80c8e3a2eb5b5936fc00c8b2f5ab68449a8308332a6736b851015de7c8716205ba717e6712d4a68092e5f56220bbb7b0b2c0e63db7966dbca4f525ca11d68791aa038cd2cbc10673f202684b06c55086313817dd666b4e5a8b8bf83f6bcd437c188aeb51caf1b038ec20b33c4037965d54704ac99b8c0a02edb888b7f2c06fb97eae617b7322e648b79370a4ec1681cbc52841b306696eb721ba5ca85763946faa6943e0903a873e98c51b4959ca0b8385bcf0c8ee3175f087da53d90eafec6bd884f0a0fb48cece3cf1c01ceb3d3d95fa19d3d068fa764da8d0b22362ade7991ef73bca8d1803e5f097424db7a37bb2be77562f89f881406cc5e9079627a0935ce9c7da11ed5ad28c8815f6a776ab2fef3a13464185043b1a1760b6824d3fd0584148d12514873bbfc9900173335f2a44f2fcd0911240eebf6623010450234a6727b424881c96bda80b0f319682f6435f6868fe77871d2122dd7ea37d805ee3cadc9d7c385d2e66dc053bf55d82095d0e43804e7d89aaa80185ab07e597a258083e30502d24630e8fcdf1c2e398268e27006306afaafd2615711dcb248787839617da8978d8e8f3b306884f8575f28a942805e14fbb7b1dd2e130ab0e41e8303c936806ad57017e1e0e71d260864df72304292021c2a08696b39ba5750421c71bd71665711ab84175470e2e8b2d2294aade54bd8254303dcf0edab3438fa768fe29461e3426d4332e306bdb043cd658876b384e91b833bfa709e3bad7161f42418b0218741e344906d7eeb57f9bc02777a9c70d0dd48adc6e803804633b844d8ed57b111e7d2a139c7ca5a93295dd52615a21c8b91a35b51c090854f5ea4ef704110ed92d46092de1fd9ab4c982467cc1747a65cd9a86893b56dc94ee5726120bbb7789f44699e6f5c162ec70563f954576eeac8722ccd0646e3175223b32bea0729fa86c95cd683803edd5753e8acafe8c1b89d967df88d26aa38c250cf73b98b7ce8a264555b7962d6b870e368fcfd0c7847636a72b1fedabcc390bba5508a450ce5b4cb13678350a7d74a39d91a6c0572c6074ef29b34162ae626052de5bbed0ce0febfa217380462451fae789aadbab47304cc43ea8e084324735529e83ac1312cb824f6562413269510d1d907eaefe81dc08c54aaf81621b05f372f1aa0b5c5c2e667244959b1987713182b9cc1d272e09c228ac8314ddd2fadaf9d044a3bde0fe421b1d18f2616b575e0d9cbabb7e24ba67125098aa045bd38d867bdb4848403f1602d54a7e3ff3e9a6688dfb354e917ca535dd2eefd6b57ed257141409f1aab264f0a103a11a1d84bd2ced04b6124e2314fc64227b0cb6928324e8785eb307f20ea53c12a162e33ab15fc756b6fb1a27a14717fb1910d5bbe08e9f5f516b51a681e1972e78d7aaf8b920cf5073ff868ca5339ab5c03a129e801404ce5191532df49ad9358c1b77b33a4d484b4a21638d3c287caa89470f97e4d60f3d7992251d5625b438cd82f1c2c8585acf795be8c874a1482d8493f8ea4fd15384859365df2c00537587e5565af014a6176c9d1407e39583b0275eb5dc38946280a63c5968a32770d3346abe31acbdfc41b1906cd42e5823c83a770e7699ce722c12edd9d1a960703ecbf38110d709068d47bae5510ed2818568efde7347a1504be989834df87cdb0e57c1a7e64e1055f183ab68aa016d365e07f1b3932315f45ae0dc1985b729e837df238468f39637c94e684b1427f02bddd6848286726c41b5e2ec1691c542afb6298cd651bdc6ca1fd7c8714740434202cc4b613b735f3398048f01a03a35ee9aecc72adf22b3630e1d10d15cff4212330913a828c4185378b8e6f1141b4ce5ed011dc30ab7ccd9dc3a7ce948ff994a85e56500f58134589994db964e35f3bb995e3cabf197fd5e79a1a5220c69b5d657202b0150c69140bd79dca1ef919ec807e9e65dde7c9740fed919e897363711c118f0736fee0790efb737090eb946be7f589027fab61f452f9b2e544f95574579786567d090e02c2d14ac66465e307187f41ddfdd1cd31f84de0587efc92e1ef09f8a31f7cd4f985c2075881bc72f6aa88ca2d8030cc43229b473b46018ca8f50027dd3830bc156ec88160ca9a3cd1263dc3e4bfa1722690487f21b31fbdb85cc49cc48c4d95a6e776581edd7ed4f7f829a5e245140f8afdef526a065ecf7b65f4da35572551d09ce680f651ff981f3af39ef87957e78048adfa4763c7aab3120fc683efe764046b59e2907c8d377dff1570f99256683516429da8d02b8637cdc6e4351ea6d5c54b7b398e5ff9535e4fb1bb1227ff7963a0e607c9a3155425cb2757a36a3fcb81f0a0776cb946994b4b98e93c39d5a8eb82d889932e54a631b1071c442f1318a4d63ac1a6c99324859be43473c147375dfa3b840bab861e3856e222cd6aa91be3a03a39a787b90003aece8d03d57a36f69b2ce01313c8bd0d9d9408a1af9e615802ca1b6fe1e002e7a69d07c1174dfbd7f07234822c2b5a8ea2bd853a5a412bff70a0090f9d3585ebb78b08dcd3486044c74662a5d64555a3e2bb45a79209a8071d7660166854c1fa017baac0bfb45d8404dfe16ebda9d210b9398b0b1cc9729b3f6cc7d78266d5137772284a174921407ec55eb428e5c9d148b135baa08538d9dbae1bbc5f51b153c39508433d2710f1ad5e8bc43acc6d9391a14b723ed832485d5e909c1516201b4861426b5d43e4a0175a579aef9666c9ff97123821c538af5c85b80b2deb377582c472492fd1bf712624fce8be1a179389a9ed6e97dc26cd6d66d69cd526651bca4460e713ab402874c329caf692fc64c06346841269678790354194e1523de8bcb12baf1d9aa80b7e2031a1d139c8ca7cde314e881988c95ee4ed65e2c0ea7468d12cee04065179d0ad4211df0620a5f72e4503b1ac1f9559eb1774697acd637149f263717d5ee3caa25561b250384d8d776ece50ac7021ce409eb3e1ea304cc84acfeb1a67b8b2169a7886371ef5ce223e58b115e1b62684fa9cce003b9ecd2f4d0c291b3b5131da33f2e2f9f2b1d535c491fcf65c2ea7f0915de78042367ab167e2a440ae6653b6ffd2a81b48c348dddc07e25842b41be0ddcd5d09aff8c008f62f1bcea570a8731abfccf15919633684b84025b4a61fa8ab00054422fc2ea458413ec0771c518744543f5eda6761d31828bf28fb29d47f31b127bd9418cdf335be484134f7e58a9114a5a777815eb10fcc1de026ec866420bc0c0cd441db09c6e26171548196cee470b04001b7de0f51011131e1c94d9782a36f8916c28d86b04f10f85ada54b6a423da395179e507f45de00bf5b7cc68c61d1a4e4c7e813a52686a4512a8e02e39b6c456a228761a8367e05c63ca4a0d9619ed860b4f8e536496fa51e84b3917b3dc08b7d1a4d9ed02abe4e44bffca8fb2fa33f96b5f293ca860cf79a92d039cea1cafa9a9760c715536add8ba0780a5f3e34887dfc3a3fbe487a2646dd4c2f9a7c2b4fdeb8ecdf1f240d50aa44ad755658efbdf90554691d345b95428e63458772c03c688dd4fa9ade99e9dc3e1ea2cc6d9a7d18a1490e1afef82534d475614501de16c61bcb880e374343ba53549f6ba77ec18f28eba3aa3b609c8b209a1ed8ef48e7129f7b084138b06d90f190b0689025bf24af3b179f401912e44c4e36010e2d6997bc9486e92e56f6081bd599189569d067c182298a473cb5b8073d858ddc2bebcf5cb83f857c0e7be39f0579037e1c087b312201fe603f8010dd06c004c0d322eed4202eb04b1807c2cca0c5298ea7f6165838cee178ff53b80fb5f8f89348f8bc4e29b42f3077b6a06950f14a08a35da40ceb6fc0712f1505a5d71c1ed3911506404c48882802b9654eddaf5457da45d9e2edcd5de777c5b006ef6d91811630b0a83e770470e5f5c5a5fe25eb5f56e6f006f9d4441fdaa319fa548c7e09663ea42c0a894fa9e7310f8089dd2cda10d5b7b65cd1b6fc2267337118f5539e5eef9ca3cb475b19f0fe41cb3c6c7d38d9919883b6030b357af685a593a8c07f05c29ba60b0bb8a247e6f9673585b71692769dfd7e057c44a90c55ec0a73b9dfc035eab8fae10d8b6befe7e83bf2f005162bfc19b7878f287732b5dc311f69eff9d8531effa6675a794f4241163242e4415d6f04cd2a5f2e0fcc76491b699873a976d8713dc646111a9365f256d077b9581a732d2be0c1bcff8684b4e2aed4f5d10e14156e593505ee1293ba142971e113d45e62000f9893f3715f6703a4ce8bc3739105cf98af77cece3a5dd2ab14f5c6a168f4b513e353e7c0e4cd38f9a5f97401ceef8619ed57cc22c6cd3e24ea6f01de16a31b34e71f039ec3a6b14d172349932415cf01bb1400c84b79170f8332d5536367cdca28029908f57349b6b3bcb8ef74d9201ce913d3127bf203f9a4460d26b2253d9a995ca95838f29382865aa585bb7fae4335f34ccd6054ffd84b4eb57a10ebdf2f197e36eaf6cec2ba08708dee647a1b4daab4afc218b9ee95033f7acdd7e120bd0a6710aba4716c98a9ef756857535b0d3bab799604e63eac4db494c16a6ef6913c2ffdd9c650222981ea9607685e15d611aac4a8cb56828e6f69ebfa35d817935b51a632f1bde8eafc122596f4a6f437d81616cbbb5305aca8a2e77f88a840375e4a1e36c10ced799792945657e5a14195db6c38fd8dc524d0c9f96baa274bfc5232c1d43de1dd1f51ab8a04e2b13804fd14504e157c761fcf42fbeeca3f0c08705a1ea099aae82f4f950d20c79e247a5574e97c9af1b53492f723d526d63562ffebc7af3cb277d59b3b9a4745936240db8610441b5183cafcb22afc1c21451e99778233ba43231651943dd71a6ac3ea93a9b354439349b6ec4cea6a7b372802cd5683258d6b3c85d6300e52310e66d3fe4f39151dd0ce66b896a197b229fb9531beefdd679a99fa75709d4c7618374e8f722a510d0d884cb5e1a6b28eead16f60fd62c3160d223820a5bc6fc11b8b42a3425dfd33a708e77b1b20bc30963833fdb4de25e234114bf7cf5add1dc1a64d679afa9bad04d88880da12a648ded4dd755794d7e794509acb697ee1f3ba7e43e09aec3a038284b96eef88bf25b47ca1e992c32946bb8a389b9d65da23a4156f2184a41cbc26a68bf9a56e80231381e4641c119b74e3eeb4b89bfeb358b8f6c3ac6e2356d4528e66df553cc1ea22e3ad4b892546e8d27bbf2571b4b0742a24a791b5115d7a627568a1fd360cb25856b903d1858f924efe9c9cdb830a960593b006377502098ab98e611ae0971dcc2240237ac19f7d89f845d581a9c94bfb63447c63483c91b4a407e20e44fc916daed423e7bcd646de11f11f8e2f900f501e84ab4698d57ba6d62ed3448b88d6ccfaf768e47611ba64616c31d753b6810e9c64d5c3e32f46b3e40b26c5d9b3524f05a4ba38b0a7b1bc972be5d8726d7b400c0f59bf922b5881fd0b3bc48b828f3d27f63009ac7a7e97e80e02aad8f452fe69d6130cdfc1ad06bdd4de9d177fc09d2ede249b37dc0d77366e17b98dc994de8d856cac7972557079472d48f7cdb606d76998d720833f894844053bc5247fec4915733b5afd585942410560e9e851f680a3e617a0f63a438efb605bb4863aabc57af3357c3112b381fea4da435cd303e56fc9b0f9862f77ad905087d13a47b8f8bad6c1202773cd37818841ece5a4a512b077b8eb2dbe67511b545ddfffc79fdb7a14e989f7c2e5806f69f43024b345e34ee977b41c259438fcd152606c89bdcd29bfe2bc4c3fb9524350d7f4f83262fce592ca0780b2951d9af96c17b9395a9117c0eba08ac45d5e367e0424e72a0fd00f9faaa892fbf5e40a5ef09e2a953e37e1135c0be4eca14897540bfc29ac84fb9716f0a93672f915e0ece08f495490ac2e7820438d76f68e0a21993899e1c78cfe306d8bf968a702deb33d4a2d612d251fa2bdcabf4999191610d5eba9c06fb74f7ba58ddc05415bc617fd2df9e0fb6031e5b2ea31edae1c02d81fc0be5ab1de8de397851ce3a7b3fc49fc78a77e7bfe51390e6d1063c81f08d7d6056f2755e8f3e125f11648711ae666d34e29f59338a9068d5bd03729527db91603744d060a48c8419c0df6c06cc52ea529d48aef50565454ac1a22a0a18d9f1ecdf08647560b3fd3bad8d3f73e09c1243f79f8782bfa232401da7a9d56854f2ab7799e9772ad05a2f7d2aa84350ffef6a6818d72239b28b094e1ada85f115f7884f1dcbad3c43eebf404dea8a791c0068838e6f576264afd59370cee833cef70beee09100fe9ae1066f1bcc39e6c97bc9e0c2f4c495a74d631f80647bda3b105e043ce51b46255a73306b34c6810df276faf5e2764f4442b9538c8ae12cd0fdfc080d32d039f8abb121106d05363dd1930854dc87bafc0d9a26fcf6a8e055b125e1e080cfcff282b50bf6368212d1d2d404dbe3853683bac9458650dc08288c7ad1a5616cc9b59d9ec2719d707175959d7421afd90c6103b0414f378329da2c22b3abaf865638824cb1bdf8810676ea80a09717483ac37daa735d2e4da41e9b5813cd51feb8a2f5852eb9b64a78e8376ff4c1d1ecb196631f7cbda868c781f88c57950dae48a838c11a19237be0d4f6761b78d147540b45d08b37900ff1aa4c1b5b838c7b7abbcd221efebd417492b9c98d17d8e56c61c3a4d2d1916f11b2c55a0643069b41acfe081eab25b82803e8894b0b9f73b4b42c7e32206d7e753f4859d0432eb498508789719bc85e0dc449ce7eba94bb12aee181b801957bf82014034ba5fa47da92460b10cd71a2d5c8010587cff65610beb40892abfeed27cbf95a40cc18501c7002950adaf172feb922c3f947e8f05714f4f4faa3166c49b0b0f736aa502bc054bececf2fbef7e83dfeeb02c8d79746db7ba592c65cb9ed1e866558a45202b48a01235852377181d9fed4a98167a7e3776176d00f40792fb2b389e0c0f883506b27929940b7d1ec687f08e6fb06255cabcfb1278cdeb808ffba6554072bf28516b4e353e3a5217fe50be48f87e1347ad2fc48c6f0e52986ecbe83c7254541445731b7f02f3c1973018f5fb43c94629c050a2674b2e2c185947fc255e8ccb31bfdf76ac01bf059349985fb052916a1bf6a616c84ab11027bee95b153eaebf69f9c37ced31588cffa1e0805ae4bd792b8eb6b4f24b5dc8cd0b0fb973a002a0e828034fcb0e9860050e7a6a0a343b245413ff6ea6ef542c115089bc92a9d5c5c469845e4ca40a624d54bba971b3b5ea93110e33ce9c536511e300eceb025368dca164c1dfe5fc004a878eddf38ea65a06c1aa55ed0443d959e6befc3ddb0592a349be06d84352bf5f3db4d830f21244ce0ff2f824eb1879a9b7132d8930e8f6d65c1829d49acd5e152122b982ab4cf355f7414a47e0a8f4f23dbdc860c51e238bd74013bca1f36d081b7f45c111fb61e185c35cdf9968ea4ad09669987da46e1514b5b3724d5d85f21cee2150724e0508ace21592ecf12a1c381ec8f437a3ce0e10d1291ecaecc2dff778c02beb12c3ad80f179ee59a114f858ced51678dca8a2b5170da16c065d10f426f82afd5aacc8574df45b05b281aa5546b2e02c2f39c93b07c926dd8a39eba1ca9ea02b6b812e44c59376289eac8aa8ad55597627bd2e2e203207e6ed9229b84d0e632a0481d1699da8baba90e91b2137e55b56b6df47dfba66fe15d9ca5b9fca102b0cddaad2a47ffe057a55a1cbc87f5bb7aa9860ce1c4fe899397699ce9f729db4716bb72a167548adca20be3b1a2a105b35b65b0ac3f1cb5780b205a1d1adba62b6dcc0405ec7a9d99bf8589bb8ea648bac743ea245acb195825c020b9b78243d09af1515ce737ec9f43b1f290aac5e82710b38d55e2a81153748a5e664e890372916a6bc750168df2b8a2deb540aa34d6e2c456abe8f866c6faa25a2eef751746b4f000e5240f399f3a8ca25d79d6c6274d2c123a8f68090599a20d97c93ee9b148201cf3acdd78d64a7a4ae3bfa4bccbee71971193daa901521683d5b6610918d1169d2e2690f4e8f648a40e3a06a8135867927ef9bcfeb8c6202022ac1961deb75ad2fd3602822dc7191e95493ad9e2177805d20b31f34f94c084dd02cb57c9ea5e699db84feef674852a787f7f8800bff96c57b24e2a0d68a1a09b55c823d0c0e47379cb3b8e50b02a6d261164dad23ef640dc767f20e61de0c106d577ae1daca91839f375018b254b4836c426497e5779a70478b4fe00a128da2f05303fc9c1bc04ae46934ab3328ce81936d3e677014c6ebd586cf564a3b52923f905c45a8149f83935dbe2c24d0da9dc1e0c51c7c85fb88901cf092c87a0676bdb10ac7bb691f400a92630a8ec9e90243c2d8db5a96bec6a7e7b7e7b8b878914356d99ce3244f20a948bcef695a984a6421aa080c3c425bbd9c9f9834577644d19037873ab9e0d639387c9066d573d01e53005bf60cd0dc404840c3019b2c36f5fc131434c8ae94698c0526df44b1c117e1d2c64fef62a52f1d9d7c44ec4ab0f71d7ee85c0ee6394099f84701043c1dc523844aca41b900f853599066647a87135879ec989a1b61b8c31ac2e2a6c6b649e8e06f5ee7cb43d3777b8930898abd11d01ab90dfe78feb0591454d120441e3dc1232161a10a8fc764c2a141d2d0c8537241f79da666cd7436a1ee6210344616bd043302d2e2d0828a04baeb04ef16ca8c030556eaa9e29c383c0c1a0c6494005f4228b4c362cec650dabb69a801d839bc2d4953bcdad244818421ce6ae71265215c91dbdc36ba9e15f7da7a76281fa52a518041c1112ca89746bb8b84b97df1f58313abd09b64c999237c561f5c8a2edbb3fcfb96b9c0d2c921bd15e5f97ab97ece65ddc464d5ddd3e9587a4527fefcfe4e9e8bbefeabc4a4498a0ae06b1367fccee240327417b41020c53c30fc9735eea546ba5379c1e9e95842603c828c378580626ce0280dcdf58fdedf8875d389b36d107edf6b09509ad1f602b58df6bc10c601c38b1c6e3d91366b6859f3395258893f5d05ae2eb83c9acc2f6cd6db2b5add9a812efdbf4df6ef21d449c2cc93712f8a914f71d9682482073e68a63e96f4120c043bd5731a783717ab398386d9d8290d95dcb44953001632a19c964066ed38a57018f6760e24b53f24ffcf668d00a4b851f26cf0df97fff9470072ac91524293cd9369ea81034cfc4907574fc07062c4e59d8d9834a29400a18f1ca749bddc8c4ad6ed67ce3492e4336ba6b497b179d2774afc8c1fe89549555286ddb8c927769776894deba36f53799194a4f556fbf8a4e1ed34675487d44bbb821b63eca451537ae8767e580dd652c4a6e62c75233194b6b20eacf24e62e0c6ad9012ad549c05d7ffab0c4d205ace961a0ffc069e4500ec4a61effb8e2e84cb45ff136fd85eeb7c550829c349bfbefd61f8f0005a6864855762ce1c44cbadea44abfdd371b523b81f910ac6c50cdeae57f0030aacc8f607f12e5ab902b830f1696832c47bd6b63f6deca337022592a535beec112317c7040157e700c40b3080702e014c73098dabfd36d256eb7f17e33ac3343e246057911dcad6d0e90388019459a5c84eca47596b825cddfa7bf58c6dcd5362fc49c9ea47617a930510ae1e372b1508bb40476c1ec2c909f633ea31b8a8ab902533af1be8806ea2804cad55a6244ec5fa132f7ed62b46e5c0443a4b30d28282de6f6c4a1d02fd4896f201f8889228d3baeac68a5abab98873da6a1e35017e0d1cb587bf99b91e7d6331f7e45afb65e4b8009b3c3eed4e9cf98d14bdc5d7cf46165ae2a54606f2b494ec5812bcdbc22b6d4cd492514b023da5164a8eec237cffc1a8a8def4a5630b3e90023549518c05d9b29f3cf099327289b696e3295490dae3fc2a2c6c9071fbd7726c1f5dec3ed820baaf2b51689040a8e2366a4df931521af0fcdac475bf3ce9e8276c31c640756c17cde383c32eb05203b6f2db7c462c15f19170672e99958ef996f291c572c9db2ba313f27ba4cf42be9a14f7f1e4c48f9812170b5a940fe0112c7c1ef7d4042f61938708f0ddd4402969578a0a5778ae435906375e95571982608a5a7503d430f53c247e51743cb06fd98db2bc2ac88338c318be613c9c7f39a9a3122cbc8ceccc0146344a02c2daf0628ad79a2057a6a2585511b4e54f00ac6c083de2bdbacc6b816c552573f8853e1c52525d94d1bfe64e4ddef167e9987b1c17b994a9470885ec7c6b9462b8a3a49c9c9fd1eabf664be48287302dc510c9a89884adae42c4b632b1fc4f29439f38966a0430a762786086222d013d4e486a75a3eba93170026ae1330bfbf83362330cf683a438ad6e85a256645f8537eda54e4b3abe753b59001b65780dba4965cecebbb0ac4e391b2eff83905c6419119b8dbd4d126fcc5fdb7a508f9aa9d9cbddc68ae47118278c7838593ae8b3cd259e8c52abafb3cb4ec604a5135e5cf22a5b2117bcc8aad25ad5743469a5b60afe721bac9fffbe21a60bbc5c759c6cfdb4abc9364f711f29fa3efc7b8442130c70628888e76e98081a6204b4ae2444953ce28bd8558336fdd700a309ed61609c215c5633b51d3b5f79d61c2355fd58b9ca1f263e8ad704028540c59771ff054090a4299d58da044dd72d108fa2ec4763d5af4c88db41cead81e0439454c4e03d798f0c5887758cfff4d64948ab65232fa233e1c800429547df9210fd7ec751da8354a0efb9fa0d071428bb3b038f831afbec75761c332ab0690d2fcadbd6680f64e0625abb68890fff9d196f4b46c918af8f343e8389b66bb843b992c326285ac46b1933c0b846ec45d76f6cf33bd8e2271e4672caa89abac52244aaad5ffb0c1f5b353c3b58ed6a5fe2acd5fcc8e6f37c55719778b655510a851e2a27eda9dec8d73cd088d665bfbf125494da7ed3933ac4a5a8081f42a2b44d207621d739f0e4362e2ef8e0ea1135bd21a1e8c4c3081ef41d931be7d39a4d5cbd2a5d4b7ff2b755eb1c0571c7922f12d6cdcacbb181f02082578b1d3e7ad04e5ae6f46899077ff96379edb64dff26f1461f75069f3d0fb7c2b037cd334f106814ede5c6b68974406433255aa903094a73625e410ac2307fc8f8d8ff522a5e1b17a3bf69ff5875d4bd5713519f47d7b8a6c85227aef68b4e802b9d706fc5e742744de617e5cb08c2b4495afcd77c89a15bc001d39ef541567e6d795e79f990ec31aab56e195cddd97597c075a2b4dd5b79e81c95bc86e42e69fc47e1c11a33603664da1606e9e751af00558e7cfb65b89ebe2fdfa2907f257dc08e3bd545199a1ae7667d1c86151b5f498395328a71f478b30bfdc1cdb5a442f873158636a0ebe3403f0b6f10728d4199107f0acec2b0b3bd142a89a14269a43461482ae26b644523e77425b3cd8e885cc3ba9daeac1218f18bdd1a28cf2957abdcaaa981666681ac29cf7ea65c60880403def85ca4c15e2075db405cc0b93495ed6548f4f14da58b178acf45af15f1c634304d18d62923c03121c1adf96237c02c2306e634d6dded803480551348fbc51e25f09cd9747fa368cbbc0a2ad470cf96cab8971a19999b7b140b0133ddb0b8f237b1688c0b1edc61d33c848d0487027e48172f181ae1585f1e965e22b012210125c406ab6de1c24b95a496d5119042028188800076fb24c09d515b130486b75f76c56ee4d0e2df7739aaf64efb111f6fc779aa5791edaf065542855e86196c25e624f0aeebab5f595b871965d3ee0f9f801dccaefc27d9d3abd88e30e085a0be774937bce0da1ca72d74fbb1961dbbae4c52a5f166c48b5f2809c1db3a96ccc82127e3462e50f370c02cab2fff1b099c6fca6e03121c6fb2192281aa8348423350b45602ba0dddd0b689f0a15f3dd0ba972cf6250e0b5e0a4649b2b4b09894b04143e0de5ed988862eda1816f12874448b9c84d828789dc9ca40a4dfff56e876787eb4f3cb46d65a2cc70e168cbbed8995e7f6ffeccdf43ea19251d46fb29ce8f4044696c9f5523c85e47ec0cfee8b2d8b0b17feb42eae29a4f6bc907b1ab107386181278674b5820cb1029498ddf688e1d858d70f81f8d8c9098b690c0aba00f6ae28f13c39a5300d50a6c6afcf4c2e0660bbdad0d8f50491c36445fea7783f0b9f3b1add189625f4b28bbc1b250558b53b3fdd172d2762b63faef03536f188d265cf275d20a18b02eb6a51b941624266856b6d5ecdc864a139f2cfa0231b87e8fad3649bdee929ba5a29e77bc60724388147179be5adf1aae82005085a3531d65986199d1f188a15f5c147e21f15f4bd500ac0ea0bae828c4560f4a0fa37e15e00ea6d215302dcc944b9ab6fa96a907e91a9d43d1c33eeb902d5c516eb4f507f3e57059306443b6099ab511769937b2121e20809120209e492029faabc6d939b8811aeeea35c3a781d71c9dcf2928db96bdf3158dca5e238b22b563867c171fd8818ecc9ba6440df640b193e05f842ca78fe50885db72b2312f826c02a05e204fc4b59cf8283f2284165b9bb6aa5421fa6aff30b262c87ec82c335d99493e973b3e2405b16557932541fabede5ef6546f4fb983e7bbc73d7522b747022897c0540dc9ab5185361974a74d2b9b6706a200b2103d647aa41dc03605627eafa5a324f4f90966e1d689d6355b992a3e906f90afca2a3272135d1e13b4939a35aab3064e1ee3ebedc693a7f681a4f79074448076f9f5537ab099d86621923b60e04219c4eee0ca1a9f1affe92ac0eb9103bc877cc6c2e7431371e81e67adbd10af8ca2f8dbfa42a0e6c26e219726896fb2f2b0defd54f0925ac7760ffd2f2a8946927b4aaa29e583cd0a1bbd41a736db1207d31dc83ce5401a3fa8af457b0ecc460e898fa4838e411407b89c54c945ae792fa7e07309a9b7dfb9890079e8e5da68bd3d2b95ea2658a9fd254a3d21f164bdcaf250e87fa318952c51d2afaa5186cff140375c0ed972df2a7dc8a6fd8cb4984628c6794d8be1326d6fba2521042a07e4cc437f3034c30e0a4f824a883c72188450618cf237036525f2645fd03f811fe4551c33d87f149d77fd445890e5247e4eba3d019013749788b3f45ce50d2e623e76cce6efc3f04fac8363f68a8ac5f8214b804c87ddf43832705f8ca708034a881b4423649e081038bf025d97f6668aabf7d6b00cde78099bb7f2092905d6c4376d281d61cc34a8e001e7c3bd0c7231220ff321380ae1d9fb1cb8cefb77bf086c0a73de96d25eb15973b45732af9e3342589ea66ec725ba906d0b023448a90e3bb6afc9fb104f33fc5ee3b8f78aa397892ce0aa6abc7e23c176824d4eed877e57ed7d861fe2af8735178f3ddbe7f29063afa3436da02c1592864f86e9e4f8a35111fd2e430c77805a004d6e89e523c6e440e6bc7b748bd93da3bdde79a8177c0d09b3810efcfa4bbaff452ea377ad6cddc1a3b219c29124fd551d15d4b5870aec22b20a2c09ff7f4a69571ce69228a913220020e63ef1301de0db88a95863a5a11bc1178da2c5181e23e2bd1714bab1f6801cea12f42ea3802a6cdecdf19f5b1bccf07bbc0e339ff757773dd4428fcc3974d17962cae9b0e4bf7915cdd0a59b9fefccf8fe12e38afc19c47e2ff8e5d36a5b7b50b7d18f220e0a9e59757853ffd991d7e98bd69412483fe6c3f691260bc0b64e73764b2b33a668b7d0759044f48bb6c56e275bc8d50ceffd20a2eab167f51003e460740545c3c3ed594747725eb784206ec9502e277425bafb4e34a4a4d842b6cb193a0e1e7aafcfefa13caef53c85620d5c95277c1f01bc94502b22d1817320aa47cb92e0eecfd167907df1b0070164a74c06dcc4841cec6b9fbbf52f47f658ffbb75bb907eb13a2c957d38a1556ceb3f99e8c6dc7817f6d7409e2d76442c0bf1fbff8c6227b3af0a53f200c571e743d28f61a67a1a1f7bc40c35e7ad5073c9f9da7ed43e89a3af4b5ee10cf28300836d3d6a6cd1add524f213e023466e1fedc0d747d8e45337809c5b5050193bc97e1b7aa7e8a188f44d7ce1fa3391a1c6e1b527fd99b135415791ea9da282372e6cc40324615bb15da72f42e66746aead53c80d99f76ecaff9a67778a48f4ead153a63d8f5c73c12d562958d11c24bb00e57ea6a86bcf821a44a72038d983dc533af6b815107d5fb81dec7874557f62d289b39a518b67622488d6148f225f25710871fe13c294880d171da5e14cb2555c7620bd3e1a3ec4ee00df6bc6b7c6025205793293b734d2c5062c058ae8ef9c981d8036081b20e0860255f779d980241c361fa30f788257ad95165bfdb5c8ec04fb311c70d685c119c05fe05a3d2f617689051bf0aceaacbad4c1b0927d2c0f9f81534c7dd9aba1b638709b997dc20d179343e8a6093d78d4b64b153d66e132979ef9d47ea37fc3fabff316ccecd240dee0317e9eacc57a64e00718cd8767a676f6fd4ac5de4966ea32b0e7d34cde2e65a493fcb01e6eafc8227b0a5af80eadeef1364411d242d0c0487bf13b1fb754f61b8fa2b64ce6acb27769f9cc728320e27031143a91ece33c6f5aec7e5d544b771f02b9d4adff108fbbed6aa77818e5dfa6fc14b1241d7b6ab119f02ba6b7dfdeaad6104779b0857bb18f07d1cf28a564ad1a7b5890c26aa44ca488c29ced413233bbd7ff487020075496d5f916afc5b156af3856b3f1295eaaab52157498cd1702770920d4058a8dfabd6b0d0055ecf9072e810218b66ce78ed6e547711d5c22fc578a7b94f09024e964a282bf0854dda85642c4fe5468bab6333d55c9d5d26c3db12b923ecab2037c1cc41cbc83560da83ff8d772683274ea70d9c682b3e024627ba2dd55f4883b9be813a703ca4141b650d8f8debecd497a5367f202f0db8335947c76c6fb4470ef45af7294ad144e4526ccd14e6f40f7cf5b99c10c7b8e81c0886f5791f57bf1fda1ea29d268e0f7234371bd86912503e770812dec59aa31e0fd0f1e82e26eb5445b8f3ba58be7281f918ae6b1c79f2d48aa99ed291419013afe1812b93784e02dfaad4f7d90aadddb4e8999874008be7ca6bf48bb62442d5bea120662bcab25634ae64b5653584d515768ea406369b648131a9b51edc3062606e2253a3e1b6334cbd426861d085ea6dc10c60b6f8638b048cf5a8d1e4cb16d3ec4bb152ed0a365cf66013a1472384682442e36c5c159952aa5a0e478de19c494c35de44471c68580b37369cc284687e99a448942f01b40dd9fadb199b2628418fbbf46148c9ab2fe8629ac29654655aab41077854289f5e6c894eacbced8108ade95726a25be63f9592cc1da4eaa10d759048b88fb9eb926563f3823a615c5cd4f7f4b922f57b4977f6ee3d2fd848da831f6a2eec0325f6b6e88839037d61b14ae3899deee3d85b2ab2adaec132e444113a92560020d4f2afd413d46b8801a5161b4bfba1524893d46a1970b98828cba56a6b6b1770bab3d8ca640c3a5ff483bf5248eeca730daa1c2229baec952694e47588b87f3dc68e4f211aa926f187a48385e95c0980203b324c14278eb0208a870493f7a8d917ca2fa5006fd0467402c2396260e51d2548272deddc3d44e7dc586e6f64e9979c062e01c518be431862408cfe29503feaa4a98c001c35dc95ee67e9b03b5086d48dd54e680810f631cbdda049fcc61334637433b77ea3ee2315748c41a46ab84d1a029fd2370e0bf38aa491dc6e72fa50d2845d48a766fed7bab408b54791b5ab11ff494a48b838eaebdb7c21277850eed67ee68c8b43bbc26a2f67a17723e00a79e274736cfb0735ef71befd53b71d6c6f2bc68687f6b4991e228e23d24bc8fc9904823a4958cc650e83bc6d75fdabcd5403a41ca6c0a1219edba51c89dd2170ac248123e0e71fe0875cbce2e4cc23d66c7c1d862aa65a6d43cbbf1756bb2816f2b30b8563069e049e99cef5997e89f2e0a0f568a933cba5884fdfd0379032e553304f81fe24456be0a0c3231c6c1d1554c7c9024247bee905e86946d66a691a217ad5d8360dc3911f29c650e0e4bcd81be25dbb3051ce95b4dd9b32395cd697ce5c2c60d820d8eec6a42dfc48e10d4b3b34dcf5aee43ac9f6b31bdc3c00e31ba3e5e1d8c3ab9ea92e47b77d5bc405049c27cf4a3480284d627c91240ff2a738c76cd75c670567110077774a38b8696d14da3ad39f103e379c9a4b126f9736ece10fa3a1e8d4d01be4d25e05c76632ec9398e3768507fb437416948a64af71b607121b0019fa4077625da115e9438f17b0ec967b92d124835e96d26440425d181d1e3b119f781faca263b0ae0371b4737eb74c5df91e80ce31a52d1f05e1c824593b830efd3c610aeb9bfb70e024d98de383bf45aa970ac7335ae28f8c7f7c688c62a105afb3c8b7f557d16920bbe9f14435000998f20ee7f7e052de1fcb61d1e3661248dfcaccd3ba2742fc7f8ce04f5f50bde7a10867dd3c7ef6f42dd3bbdaf018405246ce026154459e32247e92a0f8cc925d57f687de86d0abfef6adae6f78b0cf27183d623b0a08b8328c4bf5293e384c10db0170b0e10251f46490ffc83d1b403552a9a1e82fa3f3170712b2e5a348e51f81647828b56b04e6217996720ad00a1fcb8f95f692330feebf558836746bf3cccfd994a81ac960765020b2e5c47e6b4a67add746fb101f665279d5ece0f360b49bbc59adeab6d66e9db81dacb6f88465c598c5bf1bd8493142646b528d08ee1af84a11e0474ae8420261634f6185120360db24ed566fe58be3d7539e836e96b91dd3a1ebb2924093e7447b7393191a6e3405745f32fdfacb52c82c83876a52780cff230fcfec40df385dd9a807b97d787afddf68319045354054462f1967da29fcad35b688c37d10bff58b03862ed8b216295a40e750d19112996601846b91b1a5cb0ada6779d563bbeda5a65af0381088771d10615c069d033908a56e8e1f1740d134183c6a116cbb49fffd17b199085d11cf16dc67b03d324f9283a38b2f8a275aa46c756ee7d328e7f7d94c0864eb37ac20ab22261aacfeea4e771da7ddd6bcae96d46274789ee0e0803128cd366cf8c6d2214b7a077397e76429f9e03dfa6e5e501f2b83d38d0df8b607e2f0228502d054de954f64b70da4d049bab4b709ed0fd311d07f641a301c8249ee0c0b0bed8998949d781d6ba7f07f794e6f2661a70c8c0f98799542209e6dc63c4defbafcdd90823a83c312ef1dff1fcaef0da8f156a4721454694cdb9643f1d9079c798f13210618cefa20478220b56948c5caecd9a98dc5887b8cf9025d59d978a58010cca8e26f8037b6cd16696813dbed85bc073f6b7ad8ff970c1027de9c5650f4b1c288b560a8eb3eba58aef7d0f8ea5e64d5c7e59b823fcb99fc7f9202c5be796445c161bea34a138be677184467843d467debfa97cef01f2d2da125acfc4648666bf4ccad78adfda5db6f5171dc968a707fb0fb98fb3dea002a18e07cea47a371f7477ab9f8edffbb951fd6c44d85d430c0b67a35d48b14bf26522aec0514c7fbc41538fb611b1c17a1ca96e724258fe1a3c129930332dec90e264caea9c2cd521343ebf44b295e863773e89cf257bdd3eed0d1a6f325c35e458203f8193c8ad2ed8a881a95f453322e6747a04bd8dddb286796f3f107ef50af3aec46995445469a0e39e900f9a8aeff8c0b114ad7283984514409c24dfc804fd13ef690844196a9913a2929092f49a59a5289ae5bd41ba9f9189f876a041b180bcba2407721bc8ab6f202b2bb6da33254d5f36cdb9cb235cce4b96f7efca50b0ddaf301a5aef73bcfcdce83f667c724191b025db2fe1b6fb52db8fe0ed6ec693c34075903e357f34893fceb47c060d373d50e77d32b3138b9f2b68bfe0baa2b485cef07c4f73f630333e10effb90d8e70c18e59e4d857541de53c6b275aa14627b36b128d155564d79d48f54260b10e1294a69afe2043d008b32ef01f33bff182262d5d3a96261020b839f746b0a7dcfa08a3e838289fcbc941808a97d6a7f645a7ee9d70f3a11c6976cdb1087ca155690f9bd07c5ef166258100af72eb1ca65b42467dc3661a07fba7c393ab52f22b1f08d8a128d1cfc30c3a110501909fc468c632827cb84a756c8a0d9996921749038d017501829b32d8cf2700aaa05b85fd3cd094ccdd95d13b8fe33b60b6e527d92ed4e16e3ed4fad6abce2dc36c5b8e80a64106873bb8d1ca5b105a655f70de410d61d5e04fec2d4a002399e28c7678f70514f87b3e6744053f19795c1ac713eba69a4f7236d1216ec25c64272eff42beea73968ae412dce7a31681b27bbefa3a7c109db00c2709b3e8424317191c79948dcf5757faf1d23906c957d614d64984169edaf7fd50486d2fe534febc7d9af4a63e0432baf8848c89d258c707da69c795387d69573989492a08301b254bdd84c7bee69c8c15026747c40cdd81aa7c4b536162fb03cab5f4f10b85490e2e270f3604c4637d6bf178ce7f3ad2d3356c09d797749c04857b4299ef27bb1a5a84e6bdbd4d0314420f258067dba99ff34aa3d5982032ba80c1f747672716516436b7d635c0e916a04a54f97531b0f36f445e5115df4f389fc6c9da68bb0d05410df4c314bca1bf98f24b8dd19e32f0f84f2def84df1dd785402013d1f7ddfcf525775cd932dd49442ed13ce8543e34791578db9ae1c61f8415b0b10afd61d202ca00b4774ec2af579f6d31f19e40df81caebbe4dd1d1785daa3cdc792db068f592a88ccf6a20e6bcce96b1a29d2c8c10c1940d260bb4de48c689e65cee873008684e74210b40f3b2f1f88403594e7fed8f6e4b63e74baf918e25272ac7b2bd9f264e314818feb1b6441d3ad4446394e4e8dccddd53ac430aec801a93b74d00579f14e45f3050eecea7f98a5eb443cf3cf6229f0fa5314ba227211222547d0b7de21a4b34017139312b2571114ab563dd755fda900c1e1a26baaa0476eb81fad522e12871bebdbfef1574b3b7ec46e8dadc2b6ecf48291a407436253eeb8759c83202d126e766dcc3769fa1853c37bb74984d5952ce03eba7ac8cd031fc10c744e92a8c14b2a9c4198301ede24f6efeae76723db977b2d1881b0a26f872320af08aee50b89250bee29cb76e8152e94a2108b2d15bc54c16f05ddb2bc34fc8b0c1bad69e909d9487a4f7883cb9e93f9bd42d800dab8ba58a1dbd2bd680d0278023c2fa5d18fdadc4c4071ec89de531919da65418788f97d7c5ca1e6b98efa92d4ad4be5b05a0f11fa28e3935f474d3ca16b051830502acfcf4593a2181e7d6f5b30d3c5cc7f25c40c4d15f161caf9e5a51813eb457787e7c6c91582d68af569bc7cce261f78f6af2954b9e9d4bd6886916b000ae39bd6e933ec8ed04541c13fa7521d49859895ab6d6c2677257edac061449f2c41b79a71de81b0e3ff2936d3f62daf843c5e645a11189c3298ba2df6b7e664d1c40ebf8e547ecc666509be5c62e9d3fb3d3647ed814fd8371d84b24992c1cebb6fec8b6bf2b90e0dd59340a47b7fdbb837f7fdab04059d9f6b9e67e48aa4362ad3675f6de7ef2803a731ed112a595ebe2f71b5a44c7af2e3743b6fd9c2beedbd28260b1eded1977800eba5da4b9602bb2237da54236100fe667a1e7028dbff952fb46b3b5d3c8ac888cb908b27ec815e016ad9d43e181f9d15469264ab62ceceac69e24ef43bbb2c51d5d81e4277e42678a7c51474a544bb23b3b6f0d9274c471ea685d9b5b8fd0d787d4e422b0fa7ecfb1ce62fa5a8416314af078b190ac4c5cb390845a4801a0d4bacc64136e6e21838cc62cde5c489e402ceb39585e80170c33b39f834628019e597b77c0d38b6cb8ece06ee12854deb339fe4d5fd97281085cb31a11594cf390054ba822a0270c787ed49922ff6f65d0bf3d01c28d1558227c2d6802abfc10c936b69cb9c78d4dce4ff17693979a151e681445c83457ed0381092c324d6fb7a5cd0c8f0b2095bd42a3442c04c54e0f7b984c10955cf2a12f3614d91336121056ad5386caa985a1d27c0f46e2cc50c9d42df6e3fde052a60b9a303b7bca9ee3edb44349c09e7b446f6995acd3b15be0ab1c4b8fdf25d67f15f9a0ff40ff1dbc570b5ca641492c27ec1b07b02c4beed284b01854b432f66965f20a3b28c0d422e74420bcaf4fca19047ab6b3a328d0b7c417f8635834425e4a89bf3c40001f53b73e9bcc228f9a01348f1da67e0d9324c0ac3bca73f6a6439c96900395c55356bd1a9ed9e3493a4897f4361313981bd881e91e92e4dfb05798fe37baf4b7fe360fddb6f186c5aafeb000b821ffb2e8399678c610916d3817194c2a4350e78567e23fb8fbec1e61f615d3a60c710eac8665ec0d09651c84ac4b283982be0fa7d7758525081dc87c08c8766ec5c41aeb4d583a5d25b8130414d76ad69a9a5a1b8fd6a7be833fec140be0b61350c844bbdf1cb81bf39e1896f60083bc69e0a4084e0437178c241f671fc6243e7caa76d4dfff9865e1f86ff2917a2fd0e0952cce9472f73764bf0b821bd52ed626888c029786e0405b92834e338b622422c03327ecfc5a73410748d371f9e468ca2351b8e11368b1fc298b4e00c18518b0fa4338fc69454a7109f0228fd69b4fc1eeeb10841a7448dcb27db9d5c7681df4c691ccecc271e24b7adfabd5aaf72c78f0e20903af1761649e358f1ca3695d0722d8df6d3f931ed19256d781e8e53e0444d52561a73e6bb93a8b7345b93b55a4ad21bf5bfac861e7787087c17229e7a27e324aa15ef4363c49927b32042601541311c2a5bb06c5bb6e05d0adcba5be46eee595a9767d3b6cbdc22d7426a600f4c967440387df73b5778c3d7e2471c31b17499c4e79803ea97bf9b7623384c93e89396130a57b05d9d985548228ae55e37ef2ccee2a465bdaadb7e503af3c052299c7e653cfd19f0b48325cc96e9117579f951f17544a75ae6bb449dc6c8062700422429e2b981214932d13a457fddb7943d931c991dc9e9ab7890cf67fc8af6bc56fb0ce70a922fb9f11c5e3edaae898147bdd619a843715b39b24526efa2213700bceebd77e7b8a497207ab70a4c33c20b7a907486504011014fb1abdb990534fec9953556e39b62917956fd451f20377148e50a9a0acf98c5cd50226401a2238f89c557c04bf7e802469f59150b5b8ae5ebf39af2e476d31719650a30c4f7b7404c7a87ea490ba6b562a9c80b846e4abf039448d5f37b769ea185f11fe32da115297a1757506f005c610cc80286c217b11870d47338d89f7a300f5b3ec0a315e1c9d9033aea7da0c35bf66ce4be73c2e09e29016c1152ecf0df7f7713f9f4d0bacdd955bd930b0c5f87a1b76b57d2444fcbae9d7d31b3710b917a891e74f76620b22d08bf14f50a7364d2750c7790751edf9c946a8e3383bb1d043180a0004dded276d5383037fae872f02655b30e9a8e3f4447a19b19f570a655975e1137499d256abe34c659650ac2b132632086e002932a6346f630fb94cbaa465abb24f10bf53c7119770f252ff9bdbe4746bbdd21e5f650db0dfb1262c901625e7725abe529eb4c26469cdd6df35583dd0570cdf16ceda62e5c2f47c1cd9c18ce626c446e9fc879ec2ea9d8c526a7b690800038d0b4da725039b2fa47b562be7c0c070c3c4f1f781dc2e08c25d066857c28406a4d0df38b902245ac5fde5dbee1eae8773ea0b1cdd394cadd57110b3f95fcc45b41069f37d4794a6a5bdd6a58538f71ef9fed2e407b517c264a5fecd95447fe9831da7c67abad9716071d1e76e00c87966fb0a0db64bc5649f9d169f1690b3d609149a8ef826dc78885ac637d198a301bdc5e6cc9c5620839b68264a8aa6ecd522f1ba1eefec750b394ac6702b1afbad2b99119c19c7a40aadc35223ee54b9008cec463c22073a932a6e3a14a00a2922c7102f061445e0fae9a7068a278330313730e1cf981a2442181139534c9849b5041ba95c24943a096035b745e4c0a5994d19f9e327336b89afc9f2078747e434f564b884830c9ef35359eb9e002272e639e73c6a8b3db1c710714be6c158a670e68cb76a24edd677d9e3845af357e78a2ae1d0a78d239a52dca983fa3c4f1991936af1bd69219561ae51ea4b2279021f39fb8747c52b0f3d0667f8eff1b78c094759f6d97e504bbf6fd14659224ea6b5801b4f363442a57f965ee2441f609638f1bfcf8f0b75170807a1d51f177498757d03f450e7ec4574698f280dbdf0ddb50eb72a758ea28339617c34551b47d4783be8b2abfc954a250c586a9c04beb76c715bfbda5add425f5a5f90e17a2a0a45460233388b6d6b88b500e58c18d65e911d76ca83e04bd9f7c4e2a58234bb27369506263796a456ed02841bf8e880f3b7121347f6b5101be92b5cde47cc3cff48249c9f8ca0f2b34589a8ac4156dba39a9db99842bb62e74bbe409eb41bc16fc41ce835cc5ed90bbdc58bbbc816357013eb2d8decad77c107042fdba23853c59a709ec609a368f5d33a3490566c248c30cc898588e09a39ce68b4792ccb401fef48c99782357e6594975c6bc5bf2dfa900dbdaad8e7e3a7213f2ff64be5e701fe17a30d6e3efcab41c6e7e2e605ebe6b185dd2b1a77b0dc9cf1f2d40a43570a8c874eec78d0f4709412a119ccbb1d6cb2057e3a6616fcc5454299735245dd820392daf334c802d4a1905eafd763fdb40eb3a5c7f4953456cba60770ceffe2678f566a4861c1104a26289c68e3b9cd8be804291278f080463ce497570b1c13044aa4010a9a34a342d85a061d204d9c3f707f435fa3efb91f6bf31ed3a17b80036bd7dec9f3d5946c927c8c89e05d0751daec04adc7c5d79cec4cd587187c17572cacabf48a44b015900cf911e09e7b36bc833f888ed6b9df8ea27626912260586dfcb7ede2e08d3f465b83b1d7bad6aa9aaccef31f09651f2466a4438f61e7c4805a5434554f817be07bb228de41b5e4f51ca5a5baf4f187c4a69811a7e663b01ce1d30c046f82c960bc9a8fc1459ef44007d70bf20ffb9da319eb8fd3c029de5f664280181c2c6d9ec1532efb511640039cf30fdff081695386dc74fa9df0f6c25b658be56a6f0aa4531716c84e86026d98ae4ac3ce178776d5e9c5a58a77d6a815c0bf62c51ff388f9624b6ddff5f78d6f22ab46ccf499c35e2f9d9ed6fd83e71035e7219ab842553873e13c9cfda307140b6d339d0f3f4a97a71d45c874101d7896c2c354044cbbe69a067a544d430085494ec33657196848b956a1fc039b6c63e291b1ce468562b757e4648fe58fa5b78e210a4f8b47c8c5e507240cdc5b59951f8c4a2b3daa59f62dfc200361b323b89bae5323e1134de04d2ef6ddd364067bb5e14648c8bd8f92397a730d871c62f7a5ef7ae0c0e11ddd177cb2d83de0ebb614b246b3d5fab73b104d9cfad16c2336af6677c5b38c88b7bec1c0c63a84deb8c59540d4e7afcd686013e886c0046f9da71d5c78c10fd5eba5e98e41f4bdd46f4aeca2e16e80247e4e58596345063effec7d67cd396b1ff69a4a131fdfe3c12cd9205e2b553f17658304079d89bc4e5e82190c5ec366bc21a65301b55f585fa1b62edac776cb5aa0e68e2c1074b79ed841cb177d8b29ffd13a9c2f8554d6256ebc8606b4cad65c82102dd57f2672a0e7395e4b23cd02c0008cbd964e64d22f1f600c311b03e67d73237b465902591e8049f2158787bf66309938eaadbd85f9721eff4514eaf8e20d3d631789bf5ebdb7349e2fbf433fa9e3b24ef1f5ba5792ed09a1dfe313f479fdb52d4ba7eb9425e328c62181094737f23adf2b135d08026fc59e092ee23d7f33235b0dcf9cbac8c71d0b695e034644f791537ff17ee39f1b469fa3dfff9b3ea1cdb5da3c83c541055a1409cc430cc804ac8fb4ddfa96073aa0c250df49b9de6701e743ab8ab46637a4c22a8e270de80ab7dee7926a6419145f876fb9ea4362fa837ffba0f9a4ae25369db2962dfc3052f9af77977527003cc1278cf064a1a42bb906b073494a8733082b2498a3bf0f751b555510d7af1c0dc25b7dc20be2fbb80fbaba99a32e20773c3443443878639c8e6035b8f5a9e32da24515bc1d7719362e4644adac929089a77a92313d64f360c08efe5e2d3f74ea775991ae0f5ddb41baba9c3bbafbe5585c638e33b9d4667fb760ebd03ee5d66e5dc3dc6f71c0fdf4eab4d7af30eb65f193c1f841ffb988848812598bcebeaa075f666691cd7cd9b2d2632dc2fab1bba5393d6c5ad66b3bc172b3e28e6137a4ee64a0370d60c556b14d6811ad8d84649725498a4ea26433dda7c82acdf175c912a3f52b3c41706bcea56d0e6118d7b064b3a4930cef04b41b7a08a88393be1d2b3c0566c315e6e74fee513c4b170dfb829303eaf6b6135b410217cdc5fddbf47cd2256869897249059f2eb831469979141f5a35b4034884a059f5c34b51e6367a84e30e9e3e149dc97683527159e220f5b590a4b34ac2f3581675f3e65fa4faff0981884d76a8b548a7baabef6c68ad9f9677e882df1cc2230f6606621caf251d0f95997c9d3e6bb9e30fbc01e91b506a0ebbde4874feaeef8c09a165c38b566be91393b7276a74c8af81d3df46be102c6a70fe4e24b977b7f26edfe5b2e0f61c91d901e0e3d948eb9d41a2d87e725284b54b581b83bd0b49769038eee778a7a6b6d6aba2214c9408fffbcd4c735c38db6e04ebff6023dc33efb1583ac73fbc1c8c3c86a57005860c569376ecab814907b3c250d46a51f7087247e60d70c11e6ec05e52a528693f8af43e9980751e677cf05201b66251fe04b37cd614d0e26024e7d6c0522cce5bb5dd22f0cafab9d1a575dd56f75b017019f6db99238156d335abc255279bda32056de828d4c210186319b9688351668e58e44f30c14ac8dfb9cea885f581ecbc2fdeef80bc93f064b4d480369bc06c2c8b47f65116cbf5ae115ca13133e2607ca2b4dc6be7ac3d34f4c64b4cf2807e606a8b61ee3da8ad7670af21dc89d9a1dec559beebac16b65ca226895e9e03caf69c690e67ae0ff7dadb9dacce4eadb6299bbaa6ea88104238a095b410b21d2b50906dc24c5dd249837d92e5c44c81bf24d32de9049632cb13e8833595913122a00281674c7e7fd0e558f62b8117d01028b10d46a5c4690c652ac013a2627ec64af80c34f111ddcb2722b719e8da4534685d63a8c4a1fa1766112153ea41eee2184e9ccda595afa758f57c903434a57f6e799e624a40af5d8fcd312a6c167795431a139887ac6e0123b824ba90125aab9c8672404fceca5b6885b0bc22693c518c2c4049b211ac451f83cdbdb2f7dc1b50b20d1d43e63253946ece22212fcbd9dcf9a6f6c9c48e720fb3796069e32f7fc51a7309b76c20bed4c00d65fef9835f62b47309ed8ea4712a2008b64eefc0c4ab8eae106e07ebe6573c771404cea166c07bab2494aeb54c747aa6952ae8cc89c3dfb6484d605414045ce6f00faab57dcc4365c9d7152468085f7304c207fae39d8087662373c6e19b4ea414b2c88969ec1399a9e3e1d26f759473077d2046b803f74f35c575bf79190e68d70341ee8db4af6e3225f0f4320eee66a8082290a5022e3e30936c404d07f860f84ccfcd8e0fea90a3061666cdc50fe331b95d2a8fc7f39dadd49c42fc2317317d7bc5c0c3637096cf303626ec4ccc774f3174a80ddf45584468062702e45f05ae9a04110e56205e55498b01f93899c34d1a0868d904cc3db6c01d9452c3355bc775b103c65b22edfb88a33090d735c22070616152d286759ed566597b54fbf2bf25c1f6b9f90ab3db4a69d9185b6bad2d364244124244c8d2caee1ddf0df90d0e0e5d8ff77aa3fed6dfdfbca3ae36a85c75a7995b56c1a6357cdcaf4d97b98efbe4a6f69879cadbd65c4995f44b2255d225dd4aba24d2b76b4678c9ab76d8c5e5f250ed7d9bd353f1bea964ef6ac7fde27915eebebb766d6ad79148bb74d3b72de5692154ab9c876ad51cddab42a14ea81ead9277bdf7cdcb01159afbc67938e5e6e84eaa51733825957a11418880f045e5f61e5321bd4b5d25556f4eb59c5cddbcd0f766a8bd6221519b50dd1edd4c897c514fd5ef6924873755766f4eed17abbcc3f32acca25532ec5e6f4e25917ef1e91d4e39cdac97263d5e1bd43714e9f0a6f2cd0b142699b28b8b5c914e9ae7921e358ddc28093e944f17c972291df9ee312757f266684958557f4f3a0a56d55c84cdcda3db08b1fa3bcabbcc7d8455f7f037078957142175cd45481de4081ffddd7fb888d87df35e3d0ce14b953ebafbc5f3dad8ce1de1a379acde6e06c2a2b7c3735895e3d3db3fbd1571e9f90c6f6e5f0dd0f01bde3113b2cc94889284cd47cb38a4e5d4a7fad32527be214de52ac2ab0bc290a6af8ff5b13eca7fa59f6f7fda46869552f0b5a4cf6c396245aa8aef0c3e45520b90060e3416e08c5c22c230914d200d7b3a7de8e55344b7a073b07b136f2b2b421a50d3d77b135febac195617b99ad8452513d8425fe4444e11655431bde1db9197415946f16db348a4419a5ecab9845c5129f3f4812f94c76aeffb93f2bbfcbe791117115f8f619eb8558c5d22a1f5d7754d514f7f26f548b556cfc312099d53cc219a9a8f7acba12d873415a2448034e63d84b7deed42dfcb21c9ea4e2f2993adc3320a2c9dc81525659457bca3de47e8cb8bbf68a4c41bcaa53f45c4eda37bdfa38ff0084913417076a30bcba029e99565905c492424327cdf65137245ff7d592291419c99488830f4f172e3a01519114d298f6ca187f507de53eef4d4088dc14e779eb8233fef61264a8fa53b91cc3b91cc27e80fa64ac89629e4b3336594dfeae36fbd94afb55ed6e913659451faf84c9f1f1f222524df9636b66452caf3fb666afeab202692b56590a6f4886c42b2aa1259eac14791d02728158234606b4e315be8271546e6134d0f33f5d1f49b8a60484e2109259c53cc29e49c42ce29ce22cf20a5a0b2895cd14d9fd0f4f209b9a2f407bed09d799ee8133487a6d03bf2f1f4d347b28848d64c629600d2c0ce1dc3f28ed9969743919ebec4836f4b214d4f7f4a24b7a0a9ccb2095542d2b3a4587ca54d7ff459a4dc9289b41c6d4206c91af18e4292b5399d84c625381a912b208d3e6b025f6814522e11672416200c3db5e24815949e522dc017fa2d71a0e9375a826fd31f4da91292b527fd8134500069c8efcc79e5c8c77819e7ccd1088eb2ca28a304922b6a8564b9c8953c65222f2d39b9a2524a68b1d4f1461f5a04d5fbd3f4d29f5c5129e99c75ce7a61b562b35e1c1d7239c106594a72553fb9aadf601dfdb5cec3ebb2f8c6757a9d9ee60bb740183e60985e9b192ff515af0da4554cfa8bc6681a2357d4c2296db4f054c3bc8fd033532aac5cd5572888a044ef544ab2ea59dc5a48b10afb4ad3dadf4ece5a0c32b9c2360f59f607c550110da148c2132b5995485f43288682f436b98937285934d26d9314460d6f5e6879698ec15ee0b071bd5e173d16e931bc2f164dafcd8dd4f14228d0a3a1be37d7af5f9d487f618e66c8a26b9c4b6c709e1e89ebf01785bfe0239cad492fbfc5bc8940a27e1e898b5259f3375be4918010894d84be22853534c64f27e27be211545ed937d59b8d4ccb348ab7a599b4647390cece1699b5120d3e79a8afbc9d2dd44f4fb93c842e3bfec6149c5272062d0fe957f2de751ef5e837fa0602996ccf700f920cd39b52a9543a1229a55fdf52b8970eef0ed269640993320e84c1bdf40dc2166a04577aca9150f9e95b0f30768fdef470069db187e84d6f737cdae64d440a12285ac22947a2945348a5230121bdbd19699b92218441ed55e2cd91c36afb21292f9d4472c2bef48d628b5de48acb972bee349292525e2aa56411a46a9030bd944271371d09d49180f27414bc0fa069f60e81402629d4c9542a61dae2c9d18ba95c4179eb390c29b61fe5e877d4331f617b469224846d83b3252184b1e11434fcdc41679e9792661c08a364832ffefa9db82e7fc10aaffc29e52712f3487cb2055e42f899bfd9128f04942db9471e31e58443de71d75ff4d69a4b4b7c51c3cd62acb2688b617da129d4706243407aa4e1127c50446f5ec5f4dff316cb6f1242169b79387369894f9ef66071f260db208410c29e1823116ae1052dde96e2bd922c52427a38310ab7520b3eba23c2cca764be98d2918fcad5841f8c72f7e8ebca3e54d8e4a30d646159dd20f10af8026f48edd998e2f0d11b174e2b34394b4a005a7293e51261e8e39c134f6c832d7146dea465a4b16f7cde99e39c94d2d33973200429f4a7e5e7fc20842f2e90ab1d3363662a456380705a7a5a7e4a22facdf2a0e9f7d4ab0843275c61ab38436b7da52b4d69cc793b27c5506fee72cec9e959e4ca930a28bf0fb6209456cbeb7abd94d797fca96298d928255e467986cf5e879a3e88fc36c245c3ecab1c045ea19940f9bede75ddf5ee34f31a7512c2520d3e083318afeccad98eecbad5a31ca45ec6ebdb7ac09aefdbedb6c16f6678dfbcedbc36a597768cf207461fd25333fa865d1bd983c42bb273bff6cdfb322f3fcb41e437131a187dc7288f8e444fcd2823417aa9cb41e4b3d3facbe52011ef177a5eaee6217cb1ab29e8f98a99189d84928ba4d48cb20846474288d9324779c76c9948748906df1462b6ec8fd9fa660b9cd99377071bf60d076ca520fc0424ab1ebe01325c3411cb66a17749480d6d27849c6cc500016724d556dcbcd03c724531f70d629d66cf79d25eabda2ba554d6cb29b4bc265fa4b3cfac8992ec327b870325f4d4e105954372480e39994dd02233685231a7706161e164aebcbc573f97b35ce59064655bcebeb1ec4029d77d9ffbbc289c4c24dfb388ae48df294b25d2e65286b2c5cb5b36d1986cd9b26ce1b2d5342154770fe2e9eef29aa67dd39cbc48422219993dcbb22ccbb24cd3e1ea645a9665776bdfbaeedb7f6fb4ecf9ea64efb86bc7386e627a0e5f1a8eb674a4088a8734e6640a2de3a185ab782e318dc896d46ccd223f13480e106612993e134b2be0cb132c9560497485c69654d164684e3de7d476b660e76e1fe1cc0c8a30d82d8b76f9adc3506f329215f70f7088086e1f34c771f7b822c88446daff2059f77646dbfb60adb5f6329046777beef8ea58ce5aeb8d8e799e54e26521518ff2be974333287e526bf7a494524a29651248a49632fb30842f4550a279d0108a2200e98d072e62b9c95c925efeeac84943f0c93b9143f4857b89586a0ddbc44fcd7ecb732e88a6648212a412c9ba9d74929adf26008e4a9694432c9042629f588655a1b10cfbf4029c8110663bf61905a4d1bd15918041639f188631599252f225d9f309107c5b3bd7e2de68f2da77b47b973038f86512ef384511146f49e406cc19c20c838b78c6c8181953e79c73ce39e7acb5d639e79c73ce39ebafceac73cead5efbae2bf7a66a45b476ee9b0c2ee269bf2fb5ba0b17488488a091b4b83af412c913422b37079d524a29e50c8a4ea213f83291b038284b52ba7031d3da53ab596badd4ec356bb95b6bb92c245a6d5b2b5be4574e62b6184934f6184fc815569ac11783d32250fcc114f3185104cfa731005fb0078130586ab686c82139b42115292951f74672724812c9216e4a29e5d03d76ee746fee89f044df6bdf647016d789a79636cba89c73ce55cc57a963ad192465208d4fce94ab23e70f33c8ebbea9de33a8cbd6cbfba6ae8ecc3039c4444663a721f8b86fe864c8e6cd3dcb327352bec6af52ff52f6cb59967d9342ae62be4afd4bd9791998dd74756636e7fe0143161c40e24f7c2216452be41199049226f3093572946b535f4a5727fbdce6bd3bb99959489c11335b3368b6605ffda954504c504906df8e4786e2331c240679285727bbfce888647997a39b239b534a29a59c5e50505077afbb375d1612f5568a0111f0058334208b56ee0729a59452c820f16de824e6d9047cc13ef10c52c19054026c45d8a21dbb1c8234b8637f4aca1ec19d4d085f345590a8bb0ba15a7b104f6bf9f676733a377737dab99d0d3a99c08f0a48d626e3699e0c1193222732e44a6a4568a2ed8dbdf6796d68d2c33c515bcb11d1e1193f70908a6cc337688c47aeb01361a30fa6bdb839b2cbd71b040be1acfdbea12d87b6b419a6a5187c33686241377678a2e66eef0d9977b4f3449d9dcbb4c8179708922c2d474c7296081acb727c8288d992215be47fb04abe25a9268f02c324f6b148b15c7eafb06f3238edb2426ccc6c4925b2053b86c53419924263d8198a76e4ad5c0d69ecdabd915948d4367f70d2d98212b260bb051c849721f3c30fc9ea9e2afa98fc7ca9af764c6bfed84b4e7a55cc66dac6ddcefb4628a492e9844aa5a8c038820f2a01095268f98d05c7e2debcd02b2b5c0906df74e2e4ae6ecbcd9787df7986bbc365f9bdf8beb812b83afc1ab911b82d7e2f04ee8ffb80bbf29be40e71ff7b1d701b7019705dfc46711770557eaf02ae10370137e5975a71117059fcde035c1f3788abfa35727bdcd3efe571775c9d6bfa4d7275dcd4efcdb93837c745fd46710d70517eefcdc5716fdcedf7b2e2dab8a5df6b730b70097049bf466ecdadbf575f9a5be33ede247700f7fbbd40dc1feecc1dfd467169dcc77b7db832b7756fb5e2b2aefdbd33ae8cdbc38d718ddc0be3c65c987bef15c04d7203705deecbbd00f89efa3ede9bfd72bf580249226004023f1e30b41919c2010d608013cd8a052840880420e0003e823892a4078fa11d433a434674e4e0e470925961801b1c37b2286cd81480004792d4689a1a43460600c40f334eac15347c9069b166c8e8c1480c23306260d7b9a7a42e5133c7e8db761a59310c3b1ddbdb31d0a3b1cdfb85bb1bd165f8cd62fbbe747be5cc333577d2b4d13faa4b7857407327e16d84e65e81668bd6d0d72392056924cae5a3afbc7fe89ded9eeeb06db763b9d65fd8466ee89325e8243559f89cb21cb9b0c35aaf7a8d7dffa0bd2717e68e6157be781b225914c3de0a3eec17ae40d67e5f05c2b6bd2e1e8943ca26fc50171f424f7984b630ce64dab61048d6d9c5699f575ce1825e871f899e851129224a15f87e7042501c3acb3e618fa5bf48b7a52071f2485d9297a5c402e5cac452ba36cb9cc007c16b5eb87081b5172c70a954a29408155ca226161627e66d96656f719a09afcefc875d5c2fec7481a16e513ae9178e497446da26b96ce5a8891e558eebda5539ec7bb611dec9be513eba865539b26b871ade9cec5ade417996c56dfb76c880d25570245a60070d95a8008956a284119debd9e7cc3a250def74df40e83d8b89a0df515b796f503e33952b1779d2dbef9b0528bc3a2623b48bb798c7df6c6cd6a68b67b8058dc4d6deda4cdade0243ed62bbc91a2ba56ceed7b16b73e5f84d7c958a0ec758879f74501db338cb37d5f950b2569e2faf0ebe2afbc425d30abe3dddbaf875ab3517f9cadaf513de2e7058bcc567c9e638dd881ced36ab5a1cab5adcc5b316f906ca958bbbb02e8eba583cfb299bd6f0659967960eaf0e8b5f7987c55be49d95673c73669ea959642a57bfb67292692543b97a4e7996cf92a9ea29b72a9c65186b13e7cd018d9f72c25a0ad621a7607c2b5958da9f9ef2ed842d3c5dceab0041ed16abb468117981cfe21b0b5cbaae5b172ef0a15cb9c02d7eb1c8323903679593b4394d9abd2efc9cbff2ec2ff0f74fd24c9ff316e3ebf0eb72e1e22d5a1ccad68bb3388bbcad6e917776d25dfc05be4eba0ef919de4468161963a8af4dd3e784aacf63a047db6b2e9ee1eb1a76816fae9cd9b75061f1d45be07d44b69237e92c32cfd4934745e53453059b527803d1a4a3f03642934e18ea2dbb36a52b4863376d4644cb33f595e54f6b99d632fbcdd1898340cadd62d23338068d3dc8b521d1a3600b5022e8bfbce3bdcbaa9b2eab726c6aa192141cd1176ea1e1c7fde69d6daa79a4debe772cb89456b25fe5a8962c9d9d276afa9ad108a3619e586f3147e337338fd45bb640d6d8b56778cb1ff965dfdd105c12ade705f649cd027d42673f22053abb350190ace7af345c406b39cec008b3af330d0319e9ebd6668de53d84069279a29e9f0e12a60339c61867e61557c418635c428c31cec4ec2921c618392e5ba0eb6c2a954280ca5be4cf9679c51531c638138bc418a3972d303a10289290649499a0735e71859cd20725494388588d3dec58bebf196ed3f092fb39325b2c4b58323d7204c2171696ca245b8cd24a40699b0428747c46043b55d7dd6744d912151d9f3d912cd8ea216b82444b31858e19153ac6221ddf5d9b0149566ca233a1d9b24442abd56a05a9104405204a02249ad6233b13121a2201908eb3265e3e215999b68fbbf405bd65121d91d0237215230df2c2b7e9915813e92a46c65d2991a1ed635cb425b244b1746b4fa33d8434eeada552c822da845e01d288a7558890c6bde9db85c95e452abe9b36f9335b4a3f91fe51de52fecc963c6224ce90b26c22c2c48f5eca3f3ae62d63e947488fb5896c89af43bbd6a1e891721151ef4aadf0ed4a056d228fcc162da2559047e815e04b7c4adb4c99949cf05d1a42310229f4ae43168964a9bcc71296482ad16c4d2a660b1592d53d8e48a55726e4c7572528a94390c67dfc8cc7cffb43e59dfaf2be3e3d9e1e99ad8c882e8933a79c094598f8e798f79f774a87bc3f4c8f7c19c297ef748944f2953eeac45226944946345bf54728ced42479df94b7cce52f6f499960cb02db2762129de55dab40c155895cc54a345b92c499aa0408135fa7d0f1a7bc53a6bcbfa10a695426c017a96ba9094475e8a25362478ae2b329c096159a1951b604d2503d2601aee277d664b62c14604b1220eb64974816130fa5ebb6b54386e82def217abbabfb7b8eebba173823b28f9dfd480a6d4fb22fddd66ba3bbb5bf6c86a811d642a4def01ea2a3e599fa0662410758c8815691315a15a455acfe504f41bd5e1b4f95f2930f97d3ed12d98a5d4e6d176d5f52f2c5bb68d33dccc40ebf78bbe8fb0c8964994cd65a6b4fcf9a90ab28245731090aca9012b98a59500e3ed37716a433219a69c2515feca233a1d9ca808224ebf4f8ac099911c92d23925c46941141d9ca88664b44a2b7c899808cc855a45ac376db6091ed3613bedb96b32336674b644425267c4b481613a914132f4edde43a6cbb6bbab7eb6e773a8751aea954ba79478582a13e6d78f768ab5558685ef612ce4ec251674c4a3a8c9ebfa9c6d8dbe17ecfbdfbc6611687c0bdffec37b8651cbc3728b7d93ebb3af79ce91bd59dc9f42d43b9e26edffd3265ba6d47411dbb38a39f8e5dbcb96fb93b8b6f96ebb0fdb6e574b75975babde917ab4edf54a77c8372fa76d3b9672819ca9529ef21dade6edbf4151c518f48d9b486ef667b16875767f42def8c7eca3b9f09f3c851a672a5c3bbbc51f7d3e1e267ec5db3a56fd796de71d6d37e52e9e68ecb5bb399567ac644b24a39fed6e66bdf483863921191965400e50782a65ffc97f01ea24b9fd7e6df206b747b6d6cd776996e94e3f0a63ad6eb4eafce6934fa5137e59d1fe519e534b30469a4e997e3b88fbec323f5a8c399d4a6ab8e82f2fb8d5a6d8466b9ed5abaecdc1c4e6ff129246a538651da9477ee512e6f0ed5518ed223aff7293cd928c7408fbe376d1673dff00dc7dddec9e50de34c18c574a87fba8b9be6bdb17915513f651ea9510e518f2694fc1fabbe7934ea2df03642a3be82f7108d7a46345bb4263e632224b2c0b4891622b54ade413de5db66f1bd5388d43bd686fdcd1bc544b29a10cd56b64452a1c8c659dce98de33a1cfadedabd0222432b473507258bcbbb2725e5f1da40f8526d0a46f148bd6d4fc1a85b8c7a0a674de42afe05ce8a664bfcb643ce96c896f8796d50392362e29bad1740b3c5921599ad17396b226f8e22de3e992d969c11d99cd92738f876169f09654924abb2e211c99a2b9718c92adda6f40eb7b3b53a0064563bbcc02c18056f198df28b2dde4e261c3fd3563abca613ca3553e95ae928510300c76be3bbf2b7fec3dbfb6cb5566fdb7738cbb77df1fde9aecb3be0179805db6ff396c76ad66a97ab588798ec5aa4631db218ae4a2a515d5299d426f19e12dfae439a0ed2861036c8623f22d70f08c0a0a19e33c5e2387c40288a3cd93292e88e091265d053c612b78a313a15533913e61de8649260832c1b144924d13e64e1a37a732c3a6a1af9a1680b071d318a8ef7267ebfd0144291041b74c4979e90081d4a0248432d6f8427f1881c9a499c5022f2238a110efa0855c098d6e7c1534c47007c449ce0f2f4391d6a0859506feeb7c82c22599ca6e559c467fae8786dee37f8cd223ef0658ad9a2858fa4833905055291178086437178426f91f3a9424fb9619196d587c84585644128f834d192d6c8998496d307057a4f23f3de534a29c5f69709146622f50d7e455e83ba3c0164912e1f49002b30811f44cc168420cec826228c0a602b4e1a032d0f64840321b583cf0630d8f3053e2f7b25259571465a1161a4e9a3bc5f6cd6b2a5d1446de2c594f7cb6af5a73e599bd0f2346fa9af9d7ef40dc3507798420b5794832d4dc49908617c88810c20971f7a16d5675ebbf240cb2b41cbdb2d835176284328b80a4996aa7b11f1cbaa8e5624a9cbd727363baa48ea1335491d922ca8e5bcc39792f2292c85e40c2456f8b68c4435f252c8cb0d5822840fed32ef5884fa8e515c14432da5953c9c3dc540388bc252098e16cba12b8924867a9737104e120d2991d706b3f2da58990362410758d041f6f98cd33b4b2c13a97c55215be4458514beec67aaea8b88aa3a2513a8cbf9734f3f7a5551f19e455870480e3e5aa2f28b8f523d819985ef7e4f9f473d7d66eba2e2b2f71bc5987e0215e0be69aec0fc9efa660a57dc215c511d6488be375f4f2e2ae44a9ee53be59aa1de17155a3ee24944aee8f7cdb3c896a78f56d9d34944b626121f1f1f18d4c84f1f0859373e46e00aea8d5ac157821b1f24600bd4f452a5b7082577e427725653d99a3e25b98a715e9bf949d6855c7affd013db5fd7e69e62a9e965e2f48b4931f8ecf60aef4dcd04648bdc7e58e1e4874a7a79211a801f335b29a80ce1852d9fdd2617bf6b679e7e9bdc766ecb2a1c506fbf01f596a70fcfa5b9bce7b3cf6cfa589bb9acb225f9216c90654b247a7ea6aee20ce7232f02e06c91f18a455f0118a4d0aa9bab47a7aeeb692fe822919860523d67b4335b48f3a648d836f811215710720048cfcb29349c2d19889c023ea136315eca29e594724a39a594404a3a5ef6cc28a37051f82263540295401a90069c332745c3212a86f4dde101faeb77680d4dac07b41a1ffacb8756534fb18f5653775c9f079e8a35f393acfa019f5118be80833910f1f1a9a119ce1628573046cad9821f5782e7da883062b6e66966bde85cc5bc87e81d5d0de669b6bdf2fe66f491348870c21963117848da6c08b62f65b16b801e3845b09578f0c91fb2d82eb7cb0d075facf2aab5aeeca669d9e91653370c1d37f95ae5b76f718bdbb66517b9c2a1d404df59ea25063ae79c179d949e524a3f29a5945ee6313e84b8e82cc10637c8cd39e7b7dd738596781fd101e9a3e521c680d43cf1da54cfabaed79d9a5557be81320b0982452f949a2835c1b22d1555c8965d42b6c8532ba81544882491848e7b22a15468223ca1e112348442880abd75497c13c9d625f1c96f53ca4b29b32dede08b97f49cbe7c66cb124cc74ce52aca33994cd8204b4907dfe6b45cc1195f0e9c68a8af0e7c98e8fb3aa4a1861a89ee5e95a0831f7d5fa52c057d3b86f4186bbf2f95fa678cae32747da1eb8aae265dafaef5d47279d32ca83cb5462885229a07290009a58e44610acdc37978148452477e3e1f225de351288a4290aef11a5110e2e275ef9d97daa72c176be000d478d4356abc5e1b51d7f8a6d50a6964b4a873a7d3e974daecb5d766dbe4b5b9f0da6c5b05da306aa9766d78e7e1155b16538ea87978d43cf0c0c35fbce65706076cc927d83d38a4377ae1bd41e334528b390c18170c1887d7ca158cd3c818f398ff7c3e45808a4051032027fc7c3e5368a8a11364d1766d7cd76ec2daad64655128028522283c09d2df4d5098427fbfa200240522cb653dbc87bffca528a7401a99ba36d735672237a48703d0056f97a7bc7c0607b11175eb332f872f97e9bb477f366f976d542fa4bf5f4e28e6c337143c7dc0b348aee82cd21305859dae4d7479ca69bc2f2761958ded30271d85f39cd3c86d8b3c0e71727272ce019de3d8a89e83553b7cc77b6a70b06a87ec03e739dfe1397988133b641f39dff1213ac7794f4dbc39b856af9e7e6154dedcca0b0e62d3fa4cb641e3a65fbcbffde91ecee120519b2e7b5099fedd04e18b8d1ace724eb9e9260cb50f986a150e12754dde34dea2b468da1c79dbcf00797f00c838f24d964f48d726e5156fdc351bbcbd0a25fafbd5e40925f4774bb4842c229202e33893c964c2acdd7430ce75e09ca370d459d434b03d87a36ee1a869d06cd1cf274fa5acc5c93a178208ed5dc73778eb8e0b0389d11ef68ad1fcc232af40a61f4a3abc427becbb470b9d56a97fa994d3abf3fdcaaa1cf65fd15ca5e4bd2096f25d07f7d4580c354a07eea98182149e8c38947b3d00f8c68d1b47b9d749372eaa56cff3bc3b04c3306bba87adf5ac67af8d7753bc5ca3e6be6fdb0eef7728595b8fbd365bbebf7864ce752152ef603ffd74ecde8b3a05abae0cabaeebb7b809abaeb33c004761d5f516d73fe15df3cdaa2be7e0e1351e80b3a86e78788df3f01adf48dc3f22160a5020a2e3fdbe1dc39f776d6a00be7ddbb93a357eddd738bc39f7357250af71fa16b91eed7dd7c6d6b33cc631bcafa7fc3bc5c801f8b672a5c838bc178b4bc659c89091b7eae63b0fff720e1efee22ff20e8a87ab72a86eee6bfc66558e1aa8d738d4354e2353ac45d90812af40616b3f6cc3b66ceb4dbff24f3fcdb4b3c65198879b78b88779a4aef113de4374006adcb036bf6edc788dd136c7f0a76f7c7fdae6c6b31bb7926573edea6057642b573687d7c68d6ca37988b109400b5c8fd4c07509283e18df1588e3240bc6631ef30d42a8dd78bf5ca2c2172f86c5dc4a568f8ef9bc56ae62609cbbdfe1453de6644ab1435f64a99460ab64cfc2bb47b3762a8b750cc3be611803516318e6e57ddd7e572095ad476f9766b2a815d221ff90611ce2d214beeb8fc9ae7f570bd65ccf64681b8770861641187a1baf4b485625823460cb59dee9eb9154cef7a743e7259dec4d6fdbbc967dddbbeefdde428b81607d738c08e39d6656a1edc3b1fb30c4fa01156320c2fb63e8ebd1d8852df6bea1e00bf6f73c405fef2e20587f394684e941db88224069005b9e425e9e49e4caa698ae9f90685cdeb600d7f2fe06f06cb53a104060a8058077d430d77c56ab1360f502ac60b200bef2010800434d003c006c03ef0a854f06e643adbcc56712d982351485af0bd7160cbbaeab431da5538fc218eaf5da6019f5da615dc56c5a7ed206bf170114d13fe953684eb7b08d832d78c7cbdebb524ebea217df1793175891b4df974afdab554c8c0c2daa71c6e61db79b43d35dd6ee8d19c7aea34eab0d3a5d9babd35b36b1415d42b468db366bed86772e6459bb6d9d65e5568d33f6ddf6dbca5beafb996c837467bbdb6bafeca9f40ce9543607b67dc2c33bf647e8eb7aa77106fbb64de8ad72f3ce769d2db565a978d7f3b6415ae53c526f76c3bcbcb3dd6e914b39d9ae9263bbf56836fa67a2715d4297d0257473cddb6d56ddeb7af7ae53f13e03df7ba3f5ee5c0befe8dd3884360ea14dfce930196c66bb37b0ef5cad6b5787fb21fed0c41f1920f24c6ea98af4b65d556f9bde7e6dbeb0ca59d8837a8bdc8c2b0fd51cc370ccb8c18e23efcc78cdcd717c47ddf21a67542c93acf24de5e423e3d7bd5f7947c6e6a9dabbe95b8c5a868c9b80664bf3f9c1f48f5e0688197a9d83ac2ea726dfe41df58c5f78f3543de338b2aae6de55ecd08dbc537a071b797f7a079bbcaddee110b6ae1d9ee56d3f532d0001f200327615d337013c9eaa4d1fc0ebbd61face9577bcae0ea74dbf84685c42353201f2be88b4ca7dc83d0c0da1e4a1a9ca33ef016876c89477e6794f5d1b6f9b515383a19e2143c60c2ce3189621e3f0ea5c35b28964c599a8516fc151af503ca0028042c968548c46ad504f660be534aaa451bf88600b756825eb1ef5d3b541e5f8d920cd67b66491cedbd2e49dd23468b6789ccae46d81c8fb9bc93bd5cafb2c1a5481aa917aa42e21579447a652c794f775e4ef932dd7a6c2c9ede3e2bd01f39419df6660aa83e4aa09990fe147630d9908e10c67d03e1c886f92bb70a503cba2d9429f8371f036b916bc7b74cb3714c60e3fd465936c83e40aa5f9c097cbc955a4af8bc9d5fd0ae2dbe27c7f393a744ebfe1108fef558fc3564cbe1e04b643b385bec78ac777c8e860085b00701da91c1c0c670b00000080c7d0e9328c30578d30d8bb8cf960b95a2157f41568f7d00fb9c1f0ce721714646a94e9a91e736d5759f26dcd4753ab727aaaf9401ad0c6fb9228f4ae40100a4b9a68fa6aa406d126bcc36b611c5e1bd669e48d3c0b6bda8391e30fc6328fd42d1a03a8719abca9a6b92e8fc31a2fe73b8e009df3c81cd0719defc81c70c2878eeb9c0338cf39ac99f916b9082459ad1610adfff0ad8523d00f38feb4ae048cb3b05f38cf39026610a0e3de0e0d839581c801e23ee46358870341438369bc85a1ae31731adf22d79a398d1c00be927c2d2058879137d53052d7bee9e45ce73e72ae83f39cec23e73ad7c943743c27f7d45cf1da98e2805d10286b2bb778cbdcf3acd03e1c7bbe877538bc39b0fbd0c3a7ba91307e1fa375166e0181691472f5c3e9a3122bd7e6876b93535f3bd7a36e7df330f6be69118dc29ba1f10dc318a314034e24cbf33030b5cd41a2f63275d2cab46888e66b285f42527c50ef4be81a92ac22ea64c3c107b80eece3db85552a7b04e07cc711a0e33c2ef565a3f22e4410cfb9103daee303a6fa0058853d88e7dc075679994710cf0922abb0e3f4b8ce553e7a5ce73db2caeed8a1f2a1e33caee33cae738047a020bee3111fdf314807498e9096f901b00f530f0c67cb8f1c1948854cbecf8e457a98724c52e36015f60babae0b81739d0b91f31dd7815557e681739dabb0ec03e73a2a1f39dff19cef78cc6c057119192db3e1508f6f489435990ca7cc83c031b3457b0fed3c34191999fcd9a25d26c3d922731e9ab6726d6472fc54a643273a0e2d01d27f0c0ceb61adc3d98a992da69b64b4e92cd36140226dbaf56091361d7b0562e51e60e42fa54d8f91eb95b59bae7dabd78636b143532492e579df8175b00e0c67500f3e8fd2783d0cb5854194dec5b5d1eabd213f035f3adfdf0e0c3b8665d379e01d5807ebc09b495bc217b5bdb0f72bef181b311a33a570be57da74384dff6ce5dc7417d7c65481660bce1e662bc673300e9e81a13661ab7768ccc31bb3d7e6ed22b37dd8dc1b92e517d6e11bbcdeb15f5308c8c5dbbbcaaf6b8349151ba45d0505efa951be5d9c0cac691bde546fefbc1b50633abadf2eefeb2a37d1cc2b4877b8476fd82ea14d98a76a2dd708a31273158c3a0a867115863a25e515a8abb587bced17c37e45c7f2cc5ede297af964de6279a752ab55ca774c8a7c0203efa963720a3e1d060b00ab5c9848b2ba4ceff55dd70aa802d5eea76f1db6276c4b52f8ba2b912b5a81e8bddf0c3fef5baea66338e51ede3c9756f98b4abeae5f7eb244dd09c7af3b5d3c556312cb40b29f6e62b4f70c5b20467bc772d0932354004d117f9c40ec4c620e31fbed477ba7913f74770c5f5787792e7d612f87f7b2408cf6f2dea1ad766d5e707671c0ebd9cdb1812baeb882892c2a3d0079db52296f202e9af495af0eafce4f2241ddb253940200e311fd0e2ff08643f42c78fbd02bd721e36df5cae1c5798548ce71ee4363d775ad1cc3405cf473b013d87130085ee304900ae800cad5b57d9fcaa6b26da7999fbe9b8dd46fbe569ec21b888b7eb6808b76917756dee22bdf5ae0ed5bc552dea2c553e2cf6ca1dfecf77da92dfe6cf79af0c11a9c57a06a44454545e52adf7080c868ef9a4ca6f7680cefffd057e7f5e82bc78830f79708b9a23c3818d6d821c94a9dde2a912cd469de3f4adea9942aefeffbbe7c3a0ac76b93ca78bbe82da7a4e0959f305da2e95530d0f6a1afb770d1d757ae1678257372157d22915844d336782d8687804e86a099d82d9ea6c3db8038737fd55a6fded761fd8f8b66d694dd735d9fd7e6c2b0e916ab4ccfde0093e93f242bbbe9f4da987e323b4484d1578c1e22ce6c8b61d756af2a2815f30c728aa8b12c856e40fe215797ddf7ddb1d3b1bca193b8bd7fde3795a36e7a2a6fd3317c9f92778ceebefdc3a6357c5ede2947e5eff1ded8f14e752aefa4e4fb2d7fdf367f79d34b5f1f22cea8e4eee621224c67daf28ee7e521228ccd434418ec15ab8ee1acfb0eef8def84af4ee517ee304e85e1373af721e20cd4d92374a2f136426f5735c08efd687bc5dfb55d1672e9ebdc218a11b9a2f7272de517a7fcc351d723929572aa72d53745dd9fba63ef5ebf751865740c7bcafebaae0ef62eef20560b61a131d0a3bd771507d45efef5ea1d47e5db278677772fd7a37ca35cc5d777eccaaaedd73bef180ee8bdbbbdd7d14c92a7f2f14c957b7947e55bde491de3995de6995aa5e6cd8d8ea54cc750a86cba4ef7c2d8756f774ff726ed5f97b7e95ef7c3f752eda66f1fae4770052ac1f7dd8836fa76685fb166848de6a9fc3a861d5e1c7bdfe1d3f5eb2a987a1972f65ade46b662dd53dfe1993a751cbc51e7ec47b57bca2fbcbf4d84be98771c4c04ce5554f236823b769c1bfce8e1b561c2d26b456f938657c35f9086d4d0878b9e36b057202e3bf3b1239a9646ce39e79c4a48297da4d46a87773676fa232ecc94afeb5e135633cd74afe95ed3ed139d89bb26ed9de99d761ea9bb2093ebbe6d37dda87972f471debd2747f293dd3ded9cac275922a1447af3c640cf95254992287224bf2edb9cb78c969fdf70ad559a62668438a3adb5d6ba6d10b62311a42042131a001a322102119289fb3e42f152a79276df712652963a95b453493b994a9c66b5534a85458be7b7ac9efa2cc6695ac677d16285854a2525853a994a24144ff346d8b486efcb1751776fec9e9d8d4efaecfa7cfd52586e4bf852a9d469ca3ef1c5c8c2fe9d7eb689d4a6fac2b8fb9bfabed4973acd4cdd8ff04e977a2a354a7d74834cfd8d74ba6ff41d69224afe52347474947b8fd6944308210a9ea00996f24ee95279c778883a4152de2b4d51f28ed1749465b45a230c96738d30d91c36c832673d8fb4f92467e7b30c4f332c6a981d6a7b1a39834c9d59bd63fee2613ccc603ccc4e33b3798a23de53671b7c06699cc96c13101e3b06836c5006b5f8fb7b150dfffea42cefb8a54a5837b1142c66148f94bc2e5391a6bc63b4fc286f19d3e87202af228d21b998686c7452de3148e75f87934ca814d58a8baff00bcc8275c019e3cc537f3c6feb22b7c85b66256f999898554a4ee57d543ee59d2a6594cfeb6ede5bae7227d65a23ccc47a2e2f104a92c543f53c1ca258d8ae01ac7c2b87f4da27d6be82a96c91dc0952b98261cd87a5de24f7612656e4b715bc5d79051329809c215538a4e932ce8c6ecafba3b93605902b49a3854ff50de5551fe1479892878282526221358b3c04cd54b957ca29511740c619219f2e629ee75ffcbe4798ed8a2b4625e8c4f4d23d2caf8d771289f41b509332e9db7bf48884b7107af499708f9ea58ff076d125955cda596f4fa17ccb50ae5227cffb4c26d36fc011ded7a34fbc7fe859d2a4d12dcae19dde493c974619e12d437b537ea599cdf9ec1ca65ade2e7a3e6618abf8c229b98a5225331b441fddefb72baf4b5e1b7becc22ed9c108378bc11a7821f71b5073efd111efffd0d01487aac10ddb6bb847430bafcd3c42f66872ba01e80945565a5ed9f57cb99a737eb89e932b19e310aae39c136bc11215a6a67d8bd86ef741e215dd2fbc87e82bc6c09739ef75dcb49275ec662b57f3119b59d6e2a5b68f97acec584ed56be62f5bb992a735b106ea9e2eda2e6c1bfc60cc1047e57e5db2b46b8ff4a3f5878cef1fea943553eee6d03496634418faeddec8ea698c387344b2b088e979eddad01fd3daec28f8fbc4dd375f698e188645bcc3c18b613196b07b7a1a59378acecd5bca52de3c92ab1887cd49bb49bb49bb492b07f4dcb309bdbbf3c89dfb23f4c47276d71e1367e8b53c978815d3891167beb1cfbce711dd9dd3f2cc9bcb3c5263f97e5e43b98cbf5186b616963e67c43274cd2aeedabbff982d9acd7a37f453877ed6d78c99d6f061efb46fe69df97b4f43e59f4c79be3bd59be8a9bb37ea77b051fd8f2ddb4ce74d5eaef3a32e63a2b77869aec6c85d1a192b2561edf5a319ce3a3fbba1d72c3beb751886611877ccc68833734e2018bbd6699aa6691d102c4357ecab3587cb31224c07046bfa2eabecb54f0887e010f6b935205873df40b0f67ebf6568ed237cf8d2fdc3d8bdc17dc7cbaf5787d3dc7f4cd941271b3a018235f61b23ce707963403bccacc5acac787fb79205694008e1275b62c499794453798a2ce630ff43b2e81573cca5efc382f6a36d79f764ae94852f059fc0d215be1dec9766c490e89384f67d5e4af969d97e19c6d3cc1a9344a138f46b48b2b2a85d71a884057bedaa1146aba5265f762854bac217f54e69169255cfb272912cfaf9986a9bd0f5ac0f321142145128d544cfb360553d6fc490099f44987a1a19616291049aad2864c46c999f3248cf2993774f7c14cadbc6d475116d0cf46c9eaabfbc63bc115ade3159b64f6a84b9329d9d13aed31a796a15b61b503fd1f099864a38c21934cf079570842834a7a1128e4005bded55c2118aa0537215658c634869085f66168654f129ed4d892322992d384e24900809490a69cff055918a569cc82a09794edad2c722c522573f6879cdeba254a5850f11105928c545e744c2412221a0134d347455e115c5db03ab89d8a4238e1f2d57a913a5f48c59f8bacfb7e8a8a34f2ce2059f194797dde57fd0bc636edeabb85d3bf83250e39d46c6a222a14fc8da22a194aca9d8721d2ec9559431b5a67e5d6984af9a18638c31461ab18f30ad89972113234ade3cd554fa4698c67f7e25d3ef4fd8f48de83bce76973bbc5dd671cfb863385b50b0b559abf5f3f1f1d11886dd1c9e4d8435f3daecf8be556e84654d8c315afb7da9d4c4bb47ab7c5c3523264679c811355ff62e1f8bc85bed93f2496da92ff53d55f42953dad6c0db03abf1722c9a2d6af876f499971f2663916445119dc8225209d9ba100a249ad032567199449c3e38244b05692432c5fce663d194b6e74ad2744223754dcc5335128963d024d2541e8eb0b7b03c91c828e5c44796c819a32092acfdcd2894cc2575057acf2631c618e344325b46dc1b978e4fc0177a8b864fce20c98a54c895d06c59fb7da9d41f8562744acf8c03bed01bd8423fa1d074d6586b148a495434a51fa2508c2009bd63134d23bde444e22359fbd3742219225999a69188a662d0f5064244320ac9538963b65293ea147ca166f8e2bfd27432e5f6036a858fe51d7ef3f095c4e26ae4c8b5a1386456d89c1a083e224e78703b7cac42b2547404b1a3c7e15e61a6570cc4e5c4048f5bcc04ce500c8e8e17790d8fd3e87a1d58e55dc7731e0456d91d78c771ee63c7716e8f13c47de421380fe243727860150f1dcfb9cacb3e743c47e583c771cee338ef8155de7dbca74607abbcace2a1f31ef7a1f31ef7de230f71c2cb3e7adc471ea2f2fef5f81095978bf0e1e307780f5843c4fe0079c89003fc00d947eea9d1794f8d090e1f4e8635399966ea6058d303c31a1db8a78607eea9c1f03e4fd5293d7a078635416058a383618d877b7ae47ac473c167cad5885ca57005f2803e1eb9a22742aeae211c7c25b997c7824b680ddf8e3f5109c96924daea16ce214eae46640b3dd0f5ee2e7902931034b9842451deb17ea7d67b5965738e58e4e3834111822276895c61fa66abc40af107c80543b40a1ff61cd7b12c24eaedbd5e8791ca6e77bf8ee19d2bf3505dcf43f575dda39a36912db884be2e41443f21a4292d03ad419adeabd80fd12597686a9b687a0949962ac7b5537f1dea7ad50dbc08c0794e1ec281333c61424d4e0e1e8202861de86005354376bce2ed0496738e5d9563c36e733d6caf839dc07ef10dd5dee7b5518f7d9b1c86eb76ec58deb99b8ec3bb009cebe421f1033f5818aa1972845441088e50a3f39c6ff7f0b6e5e021232e84600a40353bf211980e886a74b213db75e0221502709ef39c3c04c812201f30a9c1a935f2da6c44ba0241b9825c7d775dd77575340a5c332dc2f035147f3a7c0959e1bb2eeeab2e1896eb111b57920af4e9ae02515db1055cf4ce952d915d528d54e16322591b5ad144b2e8ca599cae2ca1459285e96d396f63f9757de5fb97972de0a27756be7de5db865329df700a6a03ca97d0e964c2c9d13175e01c9cefbb9edc2a87fa756da43cd57558d4796ceda8f5c2d8b240b2c66ead375475d0227a1a05ad998920a88ebc9a2d54c775be57aa1d3bde03d6ecc80898575c51134496992df426367c3cdee338cff996c1b98e2320e73a73aa5c1d1db80756ede071550f58c3230f71c287ce753cd6e8d0f158a323eb6421aea90d14e739f497d09544b2bc5b9ea86f5a9c20044ab48701c9da3b7673b438410898a0bd6f9bdd8772c72155bd0e2442b188aa5ec77b6a86e06455ad35fbc8b98e3c24e74370265631d36d9781c4688f932ddbe9766ebba6c254aeb66de51cd6f0129a1e85b70f0dc4057fc32bbf87b70fd465ba54ae7b6d97c4300cc37e3a0c7bafd8d6ef9432534c797fa7ac72b712930ffbe543ef957778f7c022ed6286b54aee08e51405bf6c981e36e930eef29872d353ee7b4039964375d353b0ea9b76ca2aeca75715f6ee261515151515d36bde3ef4e92a79fbd02adf72ac969272c2b4949414142a85fba14ddc4fc69df055f909e34ed8f49405b858fb7df7661596537efafd968371dff7a1509faa721f0aa57ddaf7a14eaad3cc147c5dc5d97a6bc21bfb85fd7ec6378d4bc12a2e05ab4c2a202e330eaf0ee957de21bde69d1e7e7d6319888b2665dac3572e6f8edff4906132cfd4d863fcca1b46a63139065642c12e8c2bc54089711ef892770f8d748971997ec5b04431b01d7239bc36ac92119c1246c288e1aeb91547cf6d202ef3da30fdfaf6ca87de2907e2a2b5d3793ae59c4e23336b555454542a7ccadb97af73f8d3b0d417deb048a74051444863bfb63c2bd06ce1bc7e2d0f06464e79c93db8e894a7a4fcba0bc079ceb79c8cbaf77e5f290595511fde3d38df69a48acaf62f46ce19dd8c320985a312a6918beeea615eb1b0b0d0174e95f4f57ddbb06f5bae5fb93d0ededd572ade3e74770fcb518e9f44fa6834da2467c2a48f30d43ba693305c62f25ddf2efa32e16d7a357567bde21dd2a586b7c4e4db3d417aafbccb1b888b1e7de523521e7d847f14aa33bc39cdc2fb082bf4caedd06cd11a3823c70f888b1612f58d68173ff2155f178618667f5d5ebc9ee71da1b1ba5db5befb85ebbfeb1d8611a6dec4a8f7e611ac47635d87b7398411d13fcccd0f7320f0be0ec4b70b47dd63e317000c183002d0c2f3aae705895768120c18306262627a3e1b1b9b169f31230087d7a6c66fb0e818316aad958507191bfc3815866118865dd7efbd97b7d5de756df8b46da7d3f6297e3e1f2714659cbd36a6578c32598dab18d563fab6dd1b55fb763313aa6ad96bfd85b2d394edb511245e813abca6cda2b09df6b29ef2e6347641cfc3dc557846c1e57919aeb4a8540c16e5a91c750ccd88000000002314000030100c88c482c17834a0cab2e83c14800f9ab0546e4a1b87394c29649021801803000000000000803008084f2e39f42ec6c460f42ba93832a4c5a6403cfeb99a2e674eb19d60bd6dfc5b4d7ffb9d64070bcc69a79c4a48ed2e752e8b11c72a09d1ca41a01c336b799c0a402d84d41a6ce7dd49ba02f09691c99f53f07d9ef98c54f543b44214353ae82c8f57f5aac17a52c4358059db33006edc63a023a27c3907eb5b8aea99a8ac1ef3417d212ebdf7bd44518b555d351c0c725742e2b3e40b0d1dc28d7990e789c04f4023e090b117310985de1a83152680cf4afb4292af70e6f0255032f615866f4e16b4a1088126e504dd6d4aaabb91fff333c0025671af11bbf245d62b3aa622c6c38d363abe849dc70cc6de2874857748fd0261950b3fbcd614f4942d0d4058f5a95616046ca05751065a996b0c15d4c180792d6d6215efa3e14f4fb4cd476372355cdfe03f36c37af6acd27787965de752682b107e6595db3adfa9b95c9d2ddb6068b943f5a58d318bdd62f0d1f2feb365214c1f2d3aceb349b52da4d95be83759e506e6837d7e5d513914e77b7be31f45a1b0091d7582d2bd95af62c825ce47e412b83c4f6f8a5c227a353d7e932506473803bf038fb545a513e362c253cf5d2db18ed923797fe7cc19dac5cec0576a43a95be37023953a438ff5cb002d1a2cc9acfaa4d5bf5af4714f3ff7d0d5bd1f8d7af001545d97b16a96d81b51a0062b75f7afd2f2e61ec84b0969b775ac2ece6110111083923eceb7c4d513c5879a2e0169204ccdee154149b03075d2ecabb1dfcbf065dd069139c18e099a006142c3112b2acfdcae2843541e142d3420cc43d0a0b19f5088a7e8cd6700426182a84cddd1821c99239a6617474bdb6abe0fe1c5472bb8be85e549aa6e0301897ce601d2831352a678b74ac37dcbf524aed21f2f1030293352c71df9a9105c51697e9e839128a0c3163a77dede26d834793f5885767fef98ccef23b2864155aaea57dc2d7a802b11d81c9357005a6853f0eb7b94e53433480eed0b0ebdc4b75ea77f5fd44be8d8435987bf245192705655043f6a237f45545c896b3ea1239c93f2d98658facdf28ff8a496ab516f7a899d7b8b6678623d8a818d2004f1fc527d9d52c082a869a33d826cb7e4aacbdaad57b702522353248254628b00c64a28396277d574a30b11443e54177649e2cc04b0ea7c4026347103189ae527c2f5245ab7751627fd2280a8b9999216587a0c816abaf429b91e5b51af3854cae85e61d707b0c02fca4b44cd33af1a206cb540213fd865eede3f507fc1dc1597cc3ce1d091f44c4412d4888d4d285a83c89fdb9de48f7d38536b8d52fbf0c1fbd11fbf8a078363b9a53d9b9c5b434eac4bb95aa1b8a90c319807fb705369beae3bee9f0137627282a3642d3a58a305e5589bf7557acb8e7eda462a81c03e8851a3320cdb0314491e642a7c0d5cfc427b249a300a7b32bf83a425538095c03b915c3ffee2c6abbf642e7c93eb6bff2eecda3cfabfb8238bc97cbf5089226ce2b06d424aba546db59392ba0d64ad9dc660d9492ed26953cb17652455f5f13f23ab64df5f6a6c824dcaf4b4f6dfeff43cc8a86c53f717a87d18fd3c342916f5e6a608d42f6755efb572477504ded99d48f1ae0121d666b95442efbdad1362db2faa7a3169bcf80348b11f28653abb22064a02a61fc3205d0bb9c154e2241ad48475226e233b4b5910d391ddd1b5d9f5ceeb0b2a64765082d9821bd46310024731ba881995d91b230bc50f453602413ac94d54c542b72993ba503e578c831543fbdb8890da4c8933b802430fcc076ea6868d0f1c6f66d8c2b10cbb9697c0dca681cd85164b8d16728003e8551962d035185ff8c5c2928dcd8861797065d7698dd12ebc9a9342fc9f68bac9992853f8ca023a49e5b68953e826035c06b99f60f1cd43ed43a9ed83adea834bbbb37cdb73313e12c670d82daf08f2193c7d5ccf3718afb158a5fb96e7b8cf8830617bf61e73b07c71611b8d693c73c0f5cc16510e1be412e54dba2573eccd334d044a0325cb0cd4884a73ed043d5df7dd0f613fde7563ee80ef26097dc3013ad1abd5aa4c6b634d803ea750be3048d82c1780defc6c7364d0bfa53ff3cfb4490a0a70b0a8f961348800007b3c097ddd419e04a9c36bb505544d71db9fac378079a85be5ca0cd3b347e034ee7da4845373e1c2c2291e7a00f11ae723e0380fbf764718c74823ebc1ab1703b0108a23eab46b0c4fd50e9c1111962b0bb63e5dc2814b4dac30b6cd9d3c41098374f07bf9eb70a3f6d2483c6946f1e97003f4ac1ea61f22b4f91fe4055ae92ae933b6da0cd3ae9557207f98d66908aa8fedb933c0e25b2120187e7e791d013bc1c7b147edc67d20a5770b4c42f7f78acb1ee5f50ec316785fb77e09e2a6a55b383e7454e6b6e005c2d95a2472918afdb66f618e07a4f5bebc46e6e988d63235076cee03cc7379788f257a9b8ac094775ee8eef13ddb7b903438b34d892ff024c66272a4bca48e335945ed5cda9ba6ae1222adde1bfdf4caac4a217583c30dabce123f7ee88269cd3259a7e970021d185461cc90953f61c8098e42015b49c63210c1fd72b0cfd98c3234e7541cca62abe5f905c39e7a2a93a936e44ad55423b445e3654017438c8eb96148ef54851c59825e77eddd6ec8d37422579bb97a5ba4b798c5ef25b267d0b8b13c9c9f840af02199a29bdedc3469a15254b0482f72387e63191694abe202d3c0ccbd495be142c66491b062a6f0e96227c882d6d72dcb8ba8488e6b25124d3280c2e4733b1f16d10b31ec1270b425e6f79764228a19da588bc8d7426c7a834879dae80e7e0a0a600764482ea4d33a78562dde0f9e224a1d6a943541f5cc0813bf775d3f5a62f949f11cb962e7b040351c65f7be84372af9a23e8e3bb2b74657cc78e01d42b91c18d3b19c4584dd029763226221ca432551781f2f9ffad913f604a29995cc6963cc77f51b9f1f12c8c269c65fdd83890989c66b3e6946396f30b63b1bbfbfa091aa2dd949249bd0a18c89c1598cca0d8600e3c849d2ccbfd3204e081062b54c687d995f416ec947b1023b29df13f8b2f3f4ca2927ac6dc6c40dab8b45063e82709a3366046723d83f9157b3e5feb99aece2542d98a7423b4b0af8bc01565041118ade982607191e1f3e936acfed50153b132213925a31cc09561b73c29f13cd4a971d63c80b27ce1c1cd961f48f252f41a45ff111d9a5c2c3c2b48e89cdb34e23186cc9a566eed7dd666369cd514b6fbf704ba3e1bf7f7e32c85020dc7fc4cb226c77181982aae490a6a8c0de820e865092553be5da08c57030b78ba8776a515457584dfc0a13c659e6bca442657218c625351e321e5f10f281602b4741665a3834f38e7d178a82aba0df2bdb8b6f36a89459145b0cde563b97d8371e398869795ce09064dc460aee9e0d5242048d9616cadcdc2a912e16e2439632681493299258993e2e7110f19c61779bdc6ac1037367f1890d4fb27fa7d3c0b29bf4e50efb8d02d57e4090208ae368cc1add89c0d2f996cae80c2edc91a0a555bc239308b074e83e3e6db39fa1704885a1b1ccf0c703d61b046fadb98ced9d582179aa7d33718601b6dbbcbc7036f58383e80d7f13c55a33133fa48d926e6e0222b4b9a09f59b93b8765c478838ddb08be81c7c107281f3f98e05aad7ab8a6db15bef2aecc3a2d446b1ae03160853b8b51938f83fee8281e1af6313cd438a8ba329f61ad00db427566aa7d6d3af61f89f57ec0933d6d5932f70bb13e96603bcdb3fed936418d5e5d6d3e6948fd627f1c3259c86736ddb4cb671b26e0776115d966c36ad0934b19a46b01eb7f6bb2047ad0e873d2d527509f099280705a10f23d780ec74c43cc8025b4a5819a314a07c652101cf84e84b0b0499b009552c7591807f2d41950930e0c6fe24c2eaaa83e70f7042d77162b41c116e4d93672695141f3ddd708cb40adb08bdf04d6ce2b78fb6d52697d283e49280103a828ca59d79678045d2301f34aaca3dd98e8fa86e42679cb21524d9038b286b1d9f13486d3e917ffa699b36ad3b9400d2c61991a39ac8a68c2558070deea3c40e948997bcdb13b4ff71e129d3e20ed422a14747f6472e2916782329138e7610436cd32934b4d4391f8819a4811c485a5f44446260fe8a19a4aadacd938e800b5d987086c760281a3c286c0c1054d3850c0e5c307210ed862fd03f68fb3f5b72aacc858a340d813af3715c88de11519a565772511f24f32f04eb6b5eba2366eb8503555ac0647420963c754380b7b0b29187fc8971a90484a973b58948eea6c96be320f31b20801a74476c4be1a1dbb90d30f0e502c264efe247fed1697490f7a720a671134b3cc22ff0a62e6bdc85e669951aa3291dc1c09054076d2a2aa357619b70424bd4ff1174f2d03362f92867de0ff15710c498c6a98a0f70500450f891a1385e472926c642fcbe5774face143c77dae8be56c04e109ae0a112094108d8081f3ff7ad2c9eb3075378a1c16e2d178c62d9f6515855dbaa720283a4f520e4ed71d051970932ee08c3311254de9630d8ae3979ea9be583a689bd130e03707314351a3ef4ff1416c85e2bb019bf246964a8963bb7d36225c6f641d22012c02078f6eb10ad9100fa18280f5b1ac71d1d31b97571730d9eba0f9153179887f47d9616f2848f1a26191a638389b3410b7e7cc60c1afae61189ccce6162341342031bd65d9c204be9e7d6c0f9f8f22b6b0b04c02a09b7360950c8fb56ff06972d8a2d656c2024f35bd31955bc84bab4d72765fd875ca2249988ae9a9acd4d9a2113216f2100d3545df6e16c5b1e94b63535a27ecce48ba665476c8d9ccc34867677c21844341fe733501001c7a4593f3d27858ee02dc6ca97984fae63339d992694f311bc25c220989513637120d751fa065133745f739da396e76defc255e787e481c0d7f1603ad8bfcdbfaebd0f72993e13a2b5cbc74034ca904d796f82f21831cec04ee15023e1a76600095223f42fb2cec093423c8d7660d7689bfe53b467e494afa3f7f601d9caa4d89f589e36ba332cb01644c13f1337e7d24982da152e578e1e088b945b9a26c52d077416fb24f4edd3b87a4266468d2c8bba085a639f8f594ca6cfc2bda780a3f844f9e78083b8491c64014ba6f438e5c9c9051bbb1871a99ea0e5ab887baddd889c28b9dc6caf708aef13aa745a05e49844021630d98e06df202275111e40c6d931d45ec4f9586408c46c35070c32312da02e7239b2ead66a9d11c8f421ab3a1b319fadca36f247ed19fb054d3af5470135a186f0581796a329d729e972610064237c24048dba0d7b33dd110548953ed1f46560f4edb288384e59d5e74409155fabcc70e7b6a0c1343aa09d408fbdf403a370dbbb4fd17e49f5fcd69c70a2fbbd073b3fbb30980ea88e4320a398ce6c21317d393d2f5414569de9877f702b8889ecaf13a3aa0c385cd41e922b97fdaad121d30b30906dc779da04533937f2fbcdffd48f011c2bd682963e3be54c3b1d89a362d5afbabd417fde8bfcf2cf54c7e430f7b639a4cd4161b9022090c91e38243cec2a3ff5f21fda3c9fe7d8c157283f45fa60f40931f10a5d0d9a59922e2a3de9cc209bc3c20e2c5e88bddb0072a23dfa3cddb1eb6d47f867e3673735d62a4810fe9b8454f9ae1407206516c7a369069e773857af87b6bc46233f6b9a5b44bd683bd95ca9db16f8e6f0d9d232e98e4cae291b8b11e9539366bed9a6258cfa19bce8190efe7d0e10d74900417bbc2b042866cfa3f3a966de0cb8db8dedcc41a5b155d5b2cc61a82fbb361920c8b167f00cebc40ab0f1ceca51d0b11f229ddc1dcc95a670bacd4a506024e42a92f5d257cca575f9529af175b8318770d1b89dd0b28a6996eeb71cc626e753db16c9f214303d360e2838f5be5508d03aa6a3be7ef0ec0a5986015c2e914e7cf42f70157d9c42108853f0841e1b6bd41b39cb9ea04c1a45bf35b997193aa73d9da56a15c95c5642e756a2c084a3f5a66f7ef1a62f9848b65fa13594b12de942b5cd99b889d48f2f9aa23b19e529e4a3292ca4ac93d01b385265209558b776a1b8fbe2c4a31d8b8883fdb46fccbc1a873877e2ec2364dc68a20f7901284918c29dc8f88db0752b5578a9b9855136e0dbfb3bb2b1a43478058b16180d54fbefbb890fce95d929d6538ac0854bc0ae65227f1326adeaa74dd3c35b44f60a7819e811c773f07f719bdeba5784e4cfad6d4272810f43b9a6ce31e27a3780bf4a493f5ce7a60fd7ac0917edbb8914619eadcd4dc288cbda1307a07d0a6715f2ad0c2c6a7a1f042cc1cea7ce6257a11c812d4f9fe32c401cf928683fa56bdabbeb15289967d940affdb12eb8ee681025577c8cc230e2ee472ddbcfe2215292fffd5c4a3243fd4733deb2ca6a9e7c60eb49474d12db7f79bbeb1f52e917a70f3c0ca3212ad194fb7669dc47a2d92a787f27a3997e0497232402ba3a04b725a2ba03029519f902a83443c0a5668161d87ce20b0f06a498b94cc8f746a44fc1802221d2f384d5a8afebf22e7939b53f358f97a83c03b1c669e0bf622f9122cca933ac9a361e98d34df2cfa7dd41170dd299ed48b6c22b1b720129401bfd04f498870e73a1d79d0f53f4d2103da924e11c52d943253bc4bc6104757702d291cc6a4fcbbfc31a9cc2db1fd4f9d53d54b48ab02f658a63ae92827788d685e33901465aa1f56f614114a841c14ed3633d7c2f19182d35695e04a214a07ad8e22dc5ee409af01349a64f6f9d36d687d8766e745a1dcb29462df0505cc48e44c455460826c725ffb2413d60424427b2ba452901f0381286982e0210090f1fc6f32a13bcae58e9f6b91e667fc317862432c0f6e70301b64601d8a4ed56516e9573b2739e7e43eda553485d7181838f950cbcf8552387fbbbc984387f24d789a1a7d18cdd30e194f7df3cd661bcf4be467c12fb3f31911f95280ea33e7b24d5fe7791e78a264065d181c51026ee7375a6f7368742f231bab035ab4b77863c81770ae50a866d8dc9cb97fa561c9316f4eb6e9f7c7387b1e50fb030677fe977ec33fcc73f674bf2a0d6daab60da4310c2eecce55929e4a713ee3a06e90c5dac4cefdbc98bcb551389df41649511e98835f3e5688948e582a66d83532d60bfa8c72fbcbdc15e03e14b99839516f13e57ae8e0c241ce909c0b734fadfa447975bdf6bc5220ebe1ef750140bf902c60bb4620b8e55848820aeb84168eaa4c81ac3ef1a2c44484d8a0df52be23d9c2d1236a5856dae66d28a5b6973421547938be2ca4ca4e69886d742e7e221ad1062cfd2a05cf7f16444276870ee4f3b2e0a805668b2bdadaa20c7a5d74dae0e43249c1a6ed12c1060486b9cc03556c5fe7baf94d2059539786d86a882b2866430ac36b882aaf173e3ec188f2276345c534f95df3a62b488d2984457c44b6ecf71f9b76aab05407b34f4000204c28b29016fd001b3dc0214d50bc77726196b04814a5697f86ebc2998fe831e5a7725b0799b3252d6fee762da1e000d01f06228e4feb6e6bd6c275285349f90293695aa03d490cace750f0a6171c24e7bfead43fff2fefa789b5f2621757f171102d58d873466ef8a4068dbddd54cb60648dfdd70dc234fda39eb51ecc0211100cc1c9dff541d8de22053e0132da3608cae335860a42b3751f38123bf91402332887b1ac3e4e1063051cb73ce32f150844bea4ab0db921df3f6b37e2c3d9f81602e4f3835f8143429bc65ed2987331e40388bc597cdfecea7333fd5ef6f7855f65c81ace28d6708a8ba49b84830a6d4a46a6634806714b6427693c4328c3b3ea1575c24c107ddda2d382c2492f6d79eef3213d64774f0927bd230f9f76329bb732055b6b425da21ca6ec275314826fa85639c9e65876d52e8ed760546e22d003c2f52ff5c9b84df5833dd348dbf418380bc624d64630b641e5bc682652e8a143f90b064c415661d7c722078c1ebb796d3896a9b6472c4e80d4914a2d72b6ac174c81bda169dc4cc04447f4d55b674a3cf7894fb4ca42e8f84cca17cc9c4684369276461fca43d7fe4e7007664bd098e8d049dfdb1a3398eb39d50dba298bdb100b125507ea96f577cd5aefb26e9fa85c390642e0d5a99bf0a6cb12086be6a7fce2c1d790cff94cc161070699097f5dfce3b1c109b963e7dcf41847766b5a274463429532fbb7f45e8f12ea31a42384a1dab8c1cbcdfff5df6d1572a22b50fd07386c7c38c10ea44c20063950ef0131adb73301625e5ad8dfec68fb6b41e3c8660cf800a12acecd4b00cd822e051603f0f8d844b4333911cee6f1392a9ec39c062e1e361bf16b69aef02d72fcd3afc31daa99420517d237d7cb7692e93705aae55e1964b59016cb0d6d7855bc8915fe2ba907d3b3814d5f99807ec3dc61448d73c02b3a8c2049e0b41502fee17d964e4819578944e8384e4ece2f4af6f15c408e2ec41d0845497c6978659d5ace2d9a2a31f5da6a3b058b3eb545f0eab358afcfd616bb71478b902a3331191697bdc54ef3444036e701151adbb3e31c8ec38ffa0df7b1a67caedeca7f2eed0eeb676e402ce87eb158a31a041928ae934dfd1cf28fd00acf2dd1497f6cf7d2a36de10d43a86a32a69810bab6602ff217451d2a0f16141a63c8ac4b4758d9ce60fd31f8b3408b509db0ff7f800a64ae93b055e3102e4615b981a878684db46472cfa823bb6fd9a19ebdda648752998948b1b8a146dc4cab6020ee0f5a2333d7a7fe0300fbbce18ac3a8403a4b9946c226222b94b2b352f26f3ca9ded30b08f4c57dbe648c99dc6dc85f0112fe06254df622f0fae70a95022a140502fc3f8be683c15deb31e04607dbe43f88ca4838fe3dec30d087d852f66938e8f7e8fc1104da8374c8aebec10a3d6318eb8563f450da6520ed373a5aa6def2ff1f28969593c191fecef8783adf42e49b43623a4c966ab06866c710ec0cb4bf004a3d0c15765e0e99645f3c9cf02a497ebba6ebc7a54894d16d596ee57d181dae01858d1dad732e2258d51c1f98d9dfea79b90b381146da4001d1d542a8ee29c04a5c10d1462af261bcb81e5421f45537b4688f9bc0cf0b17f031ab5b6c73cbc36a22ec86616d545cb91b1b0d6e14239a720344af2c5e2441346554ad8bb3bc6db09064b8b612004a060ce306ef6f7c1cb57570825b0561ae1a83fdef7c963edf7d279f9b202823ccb4584177cc8230350ad49b58543295e1800f2ffd00685ce583467d4715ae44ba8d17931e4eea7ed0f1fd0ae5f565a5bb1c391aaf5f2aef6d4cc1f271b7e9b40feb72abb10c70cec9d350b1152221ff293db9de4d9efd6e11166d87b83921c5c39d342d247f68f4e53922c19d6d8a9c95632c07498f1069532222a68d45242663df43310ea114e4e5b483c52eac9b7748f6fa2f733fc8de81da6d6936dcf4716332721b1fbd2f86429500ab163b7d02954d06d926bba893f1ffac0665693581adb1b72096540abfcc83e7ba811148335ce1a2ab66a6c81a59c8c12671e2479c8e44c1e24e3dd23705e13ea7ba2f97aa0336f047ef6b65c4ee2300d196dcc0a549f83726f88cbbef07c69cd7774894262dc83f6ee0afca806740020072c2b87f76baeb1508eab48c91770101ce60e1b5d8e41a713b007f6c88bac12eaa987ead8dc2f5d6c3b714926a4cacc1764367b0a72bc703f0e6943e759457c2d91f4965f2210f6abf0191e51f209e90960c64260b3203b1f15114069d4255b8bc482ff0d7786099ceb931667090fd00c5cb0df2c7eef71b38c93172509b4e2e27f46dd32668d6e0e9e39fcf131e6d3d6909ee7e3b7fe6832780cf6c9104c489b93ac94a0a5af40c2c4e0f74f5d48cedf07b2a85f8ba3902737e037ec84916e5d5698848cd9bbf851c3b1fa3a97a1abf6519216294fb5862f823241eac0d6a388f22d12b046b0fa7fe93f831ffa331028f1071f7017990eb728dcb7ae931914fdcf9a2e22a07619f9c5bba47688cfbb0c1018a92f783ee6bb746ba2ac0c795c25a9179beae7e9f72403dacafe28c7558cfaa80acf7d9b660c5f937a8595764d28a75df3b91041907283bb5c86c958d8558d17291a01bc3eb68a73196f601f31f12a1ad5cf59d9b01e411406a35d63569485328ffab38500ad31d2525f7ebf8870b267d0dfa3c19ce2fb4f0b9b614a06b2a14cad96f69f4828b15f31532fba957926bdcd26cad6a85b26608f9cbf61c808c4f01a06f64e5f85028bc87c3b32f0ee9ae0d72c6cc68fd09b961db0a9172794ca11a91f6e7ebb4f3e39822cb0dda6f34e8ee0a23eda189eefe342a55a1023e3bfc22b07899ae912d312e12345663cd6f0338d6202700d2ad598ae1498ccaa312363a6d98a024470a2ff1c27d099b90e326aefd9f22cbe7afb255d88e148570434e48334dd484c5c6ba7fa3bd7bc45406aa5314d74ca9eae638f767d74e28ccec86faafb0934c979e5ea7066d59cdec0500e58bc9ea5d6c35a6f5698f856f70bec1aacf26f67784fb104dcc32d21615c8c270d8a8787d8b887ad727dd307ab3d7b0a39bc0394e67af15c254e0d9b42974f93f0459ba8141a0efb4cce1fc56b5af30f60c5c05acdcecf0d8d37d4c75c26bce9e5f6fa9a3d4248e860495254ea11168d0bba5fa015fd1b1d80a2a652c7306aa1b74e1900bae787c2e9333a75703d4fc7228d36ef1b617e754e27ab2cd814c6d5812358dbd45d83e5066c4047041f5f8c3fd3e99d155f3ba56cbed76c0638e23d85b7522fb8cce58516d018db81ed026bac85d2432ef540e78ba010dbf6c2c6e7b11d70f0bf95301b6559b771e376ed961828aad08c8727ff929d2e838e681f1b9cd857e89619c71ae75e128a1742fca95940cd518b216bef28b3598a0b471462b9f48cb8ef6aa116a708d024435a249eb5cb041a4092710329950a8a6d6097bbc41dfa21aebe646735f93ec5c222df6e6e258993806876a8fbbfbaed460593e5ec208023bb78d140e991d3d6af1fa01a3a72c6dda100052d6f0ea8379b8204ba3d3a8fd8fdf367141285684c426b8aaaf134785aef095815853e39e2ba5ae6da616eb107ff75b24cd5f9e00c49020978d259192dfd6f6419f157c24d1c64a2225263220eea11c988d64d40707cdf627b7bf9e82e6222e686319172738b811e67ebd4ef873803d160e1eb4507657d7f75c4eabee8ac55059abc0904accba9929772ed895c54d9dbc19b090e8e84c257eb50718d5170f3cb5b21e54fc6ea61c06368351ef1dd61acd6b0599aac34f0ea7871af35d6a7cb8b3f8d73e624863a21729d73958eee9a7719bb1ae62ddc961bc8cf63befcf81c3502e9e21abd8aad5ba068335b60d2e30c418c4cc6eab4ab32e408e1063f166ae44948d554503a00c3f71460cf960fc20dd506e482b07ad752d430bf52b5b0a05791de476483c5a945d41a4eec18ae73812bfa14885f706b21407f17c6b2f4040a470665137206e25a369835c00fe5a274521fc4b47668ca08edcbc3b83b6cf8860b0f2c0e6f7922b9aa4d536da68c85274402fd0b1ad1a5b897907e9c63832b63fb6efd5f9e993dacf08a83e30e71238562faf0dc3c089fd71b5c4d5c918df948d726ec9ba2c4a585b15f83bd1ef01c7899e801a6405e9fe60e3a1877c7d31948fdb1d30eafc397731c186f8d26b75077bb066e0874cf7be181b59e0732febfa16c37d7de969a2dfb038398954ae57ea033c460369d988a3195d99b4c00ad3dbba4a9244477aceb8f3ad1813febdc2e1fae1679ef433fc6740943604d18c6a1b3a3e327f39784e23245794165d72a80ddea8802c15a9a5c12a09003ed3fed4aed0affdcd5d6f08e0ad38335847d7eb9922445c74ac0c930f3e08060a991d27270d4292a2093989711347e821e9707e8cd7f93de911d27e3c1c06591b38c479c146a75df6da69409b63255f1ba210901af6df57401dfa2f33e71bd5654c1e9b0afbf80c7acfa8060e581b95c95636f6cc3a39a0762659d2f82c6571af2c106f876c27d75da91a5ff2e6726a8f19ab97b9d5ba75cf20e9ca095ec191661538f32c45bb96f0ab966346fd6872357f37e5119aff044d70f8224b8af4912c340dd65f34ba65a4e545037973fdb1701c7de194bdaed00e1c0a811bbabdedd844d0acee99183b9856d7c9ff8d6aab57bf4a6b89615727409a38668f766d04d71e1c9c44f8ab919fc3f9d24f2b89c85e73e57392d8f445a65582597104aab7a677ff52ffbebfa68f940b8d5f10604d2b6e436ff3f66cd01eed8e4fd335dea414d263b06077b9c5d5dd9fe2a632ecd1d4defa4b0ab22c8cd34760302e3eb79dcdc9592d2cd9fa750325e54fb161f3dfaa1d31086c7774df1e7ca262d213aa183d392e370e8293956254b1b18091f00d3abb9220baa57dd4a1a32012e7de149fb2e02db098f602e2bd11219ef6cc12404e2c29ae3974e56bb9b3dc34cf505eee2d976daad95d9e9be5cea42ecdb3649d6d01f9cfe927a427f33e5e6a5308e3bfb56479b7233cc98c842a43668417f4903fcef21054a4b53156c3f89b9d70d2c0f5f4a09e5c93c016df5efc5a94c8d867a35f5f18ff1fa582fe0bdbfd49c4aa96b0225182b8fe6fefce93b8a3047b94a38cfa519504002b6614840060fe0780a79811982c9c07e97f22a2380987ba20e5a5603381735498e085c7f2e0197c8bff68230c943588194dcf19377293e7ccde27187d299c4625313253a0f59f9d4ed77d2bc867346156a40e07788f3ce14a65c53989da2f00773d4df662386a726e94b671509600bd869bbaa0e2c748febc5736e80210fddcb8185812c4c77f3b450e413d5b827976046d057c70865e5ccf3d904442b877d568eccad895e30a4cbe9c018593b8d372b4f38d5cc86db418b51eac3da92d18d7c868820c5e429f8060ba09fdefb13a7c6d338df03708f16347100c36da891082bd1b90741601751304fd6234ff5881e817c59b4ff0cceb28b26a53527f282c212f4d585c80ef276dad9b7fb184c52fb8196845444049441b2f11b6917518c7cf7a601c44a77fbd87cf9867b2dda5dee63022bffb70e27cdf1f02b6e53eeba43baf99bfee2202f4cdc827182d6c51d3d10e3a95487d11bbd7d240918f4787190638b574cff8ad2d88c95c92ab03653c102d53c3912cb3389356ebfaf142ed2f32d309b7d849790ac7b462d6487555c62afe8043f191545973aa574a91a7f44166b6913c876a5c2c0cc796b8b872bf28b6d136e52019e7a23266b88067799aae00bbd79c97718dfd62e80203428049ab91f595d4ab61ccbf0165b6f0b9c09dc7755179a41b22c65f78c01a2b3e54d32a5a302e434c60d2b928f826b9baa2a94949886984f3d680d72420370b1bc72ff8e24e67237798a7d92b55701a15e7c58a51039de0813df359cd9641d881b7423f116dfea16eb0a0e3d5bb0c1d1d9450b653cbc028a5f2fa26500920de11fae42d541f28cefdc8507a75716fea8b6a40cdf311a54987f62a20c66f42a32c77dee1089807a1c712c05ee394c68e813ddd20cb5d5745de5cdcf686e7ff5cecc241110df4eae5046e6626fadc3bb380e9140271e76bc72dfe192c0182ca08ce806692c133690bcc9837d1398ec4b54fa0ad137df106b7637c5bf30558c383427f50dd8daff5a1e6b3542c855b3914ca3254e7c935c97adc0dc06efcfa13cbd1c4b7ddfce3e882dea166226657bea121317e011c8a6cbbf5ce95c0a7a264da7b8cd354050c64f83e302b09d90292595d9c369f88ceced0061db2f13032008aa759446e070425b418a796b9d1f0041ecea85083f218a540cd21d81a0bed40a70b7b396aeb9aa9a7d10d5b0bfc7c2be3c288b422743aa77a767972db7e4b445082fa3b937e3c21dfd060a66bc12ea0a2ec0c59bdd8acabbad2d2fea8161a31ff2db88048df2d2f74ad254cd8a94563c307ae86104950fdd6a2432e60fcdc89fd3aa684d4b7006609264364d434bf8151d53d1c0e4045654ebab7ec28694f34138053efbee33a0cd272ae984a81b19182f6946413c0bc9044e047e4f8882fa9b959147ca7fe366152437db3623d1454f330a2f0cbfc8ef248b1f332ff1aefc9e7596fd707972b52331cf9fcc87ecd0bd24e71f525218e828c0d1b5bdbb146079dc213ef17ebf2d681360784107328160dd5aff2682a9c99e9c39aa93cf611de3e26f1d58707172305e76332d88c90625ecd515ef4cd50f56c0684741e50247b20780b9a5c5ccf2f5bff5f0d9891d29860cca494551bf9d2de0e33b3f66f3baeb753e6ac79c887adef9a8f9f5df0120a940280f295e6d0f282faea9ce97a0ef36bf74fc0e3af65955608cda61cb4ff8ed729cb59b63703869a163dd5b30758b7a43b1f1caf25a57127a8ce75aeeed38046b3a7f08f68bf44ece26b00b5eef9a2ebe870aabd6eb797622f92bb3128c7c22333b7931601af7b9bb5e1cb122bd079d56d49e2b8e6ee510d3d14dd9c90e2ec64e2f66e70f7beef7414ea9089230a3a58eb2d8893bf980783390d4a9b623819597b31bc5e1969946afe4d4861ae87f69e5fe28979afe2edb789ab3557fda3a2f1f5454d45296ad10c6cc88f20ec6bf1307823184fb2bb2d4eea5a020bc0f52b5212f8dd85aef65e3d23a55932a730f182e120115ee8620008cf9169d8d05337f02434ec5a5a02e2c5f99a215575eb844480d45c05f90b7831282105a94f0b8dbfa3d521f816db973e382203154a724ccb6c29caa1af0765bdd4db4f4c4f6b6fa9d7b31d47807a9dc3f408433d08ff94ad9ed853850489e72707f292cc9b290400725267b36094053aed975e16d60e5ca0373e7ceb279a061520d8a20c4dd2f49e10e93ef659b1e455df534d6cac9a75651571c43fff98c1030af1466543bfb84f1d0e82d858359b8a7dc4a26f0a8f040562e18edb2765dc5c3a582cf1acbc22ec83b1f6291fab7d637c86243da932f8ca1f4a0d247f2c28d1cd45e439de2a49884d8dc12644076e071d6141d7f2189d18f3c75876c2bb169354127aafd427ee0d4524f3622bd41e04ab4b120c89b34341d7e03b55f58543fdaa6be28ca31270dcf034d09bf10192b80dfd8e3b893801d9ca99cad8694a75914d3d1f86f620f92862068b03342530be0b8b5f5cdc28889c85c506b1a78196ee8ad99958824b725327ee1e9005257a4c1e9e5b7409673c4e47532473eeab60827ce015291768dbabe007b2564675940af0a8fe1a96f5c3a02235fae2e4ba1c37c2177e875a1b56986ef0285100355f2c114a94fa811d5c7f1e739c1450ddbf11b8557e1312201fcc54acfbe9894f03ae133b92929e3844099ed0f0bef9b539407ae7bcf3a0d5bdc752e525d7dc1d1a9a1d8ff30613ac37f8f5ffcd044ca031679aa88915998b8b38e1ccf23926dca22f54e2edbb341872396d2fa981899066af0def508c8e370e73fac93400aed4b8711da274bb2c3245e03000e3f12ee61eeffcae2f90ab1b87b6d6dce0b2f8d567c8d3b6457443426dd421c83ea3aa2fd99305e9c8073dee72182108b58fc41da16fc1cd8002cfc8fa4aeaf91079673109ea7f02d442be6a5aa044945020889b356ad11b749455e28ea3cb11fd466981f1e544257e87588f6b7d6f15b54132b10ee788c4bf55624c9d94862c87ec39e0915130667b5b68dda5dc99ac202a9d3f9ea72553e7913e99516f0b6585a65bd13ef8cfd62929905aec7c3632907fe1ee9f75f6a6c8cb69403f8ce89fc42fa2408d7422687a2846554456a50cfc8195b51e3f4b798ceafe327c9d39321ed000816faa10cd0850d357404301e3151155aaeadb2c0b6a73df9a6c7c891c73319bb3e38c906d4322b088173406b62720bd4115e4d2cd718f9c88990178979812a42129c7a9243cfef63042675a299f35dfcfc787a8f3daaa9d1f4efab26783a50e8a8a41de92accfac48b23532a5e42757e761971b9f85576536d0e987672be95171448d77017c769bbfe6e4d682bddf6d44c0b8bcaa9a5d6d0cf6365a89e1c52a876c9c197c05da0d2a0795878bf759a7c6e329da9480c9a858bbf4998c018dbc84acb26a6fd0c7bb36812bf7b3a0ab42f03e538ba08038385076d593c2b5add817a57bdda28b1578116a97d04b37c61dd46a7386dc98a1a72905c7dcd52e3871f540424a4b87de0a3a0ae0beb7b2a4e5184d8ce183e612b433dceccc5dc595a872de279685b7f4ae9e776f33439906c49930f5921b551547fda4875808e74929144f53ff18f6194d16f6c2fe49d4b6dd4554fbcccb8156e729d97e588ca5409cc4f76b14814af1ac2e55e818203a13e614fab1b60dda7edc5e4c109d950cc221229f61117ef826f16a26f4c43207c9208164748412c468cee3416ace9578e286c3b55c2db8a13b2d12d64c0fb4a5b5711dcc321e7f4941918c3a92d274f74574973702e2f94f9de68da4229e6e60d69e6854e666ef74c2cb1153da73135192bea1d44f62bb1664e748c129eec6a41f9ab389988b1711cd63c193c7910dcd8df995e40f6a470ff161f41954f80e8132d083024d29981fd375cf2f61dec4d659381f6fd49823580725f561dcff6b437fcdb6ef0795cb16ebbca30a7489cbdf413b025b8e663e686aeb1f549fb170f85b9ef686f494fda9d813323f2e8cac8376954cd43c91fe4fd94dc13b68c3153ad823cf9eb184c838e2e180e77d1d3122d1d3e5c6466398c3e005c3c4ec4f0598138a29210d4e24fa11b0b1fbcf2814af74d14ade0949484a63febffa120bc9b259627551472e1b53aaa37e12076755fe06b5be742a74e030d8db1aee68da507faf9f10201a6cc61bdcbce1125fec873893073dffbccdfcc4ce44f33b00ce14d31463785d3c8984e873bc129e98ce3d207b426cb0de5d52bdd850a296310723f34fa75c01513652b35a0af2185381b283e32931de8113c2afd39df367bc24cbaaa5b3fd3c84e8ff0ea3cc297fec26071b630f0744bfed88d86b97efbdc444d7051acd0eea1d3a386848fdbc3b03d18998a50528af028591a9371c3655fc555ba4ed5e2ed91a5c4be262537cc98f9ba3c38eafed114b4550fb0c8d4465d9216c494f568082d4f4c4d205ccb10c38ea1ad16008907269496effcb1e61defdb5a9de89b27a0848327ae234d2529f023607c7d6a4e603822b006416743cb47b90282f9301c72d9015e7f7ba55598589792f3023cc14bb57e230631c4df705194a79d5396e1f9914242b6d8186adf828e372e3645767656237665345811263f8f38f109514c6f62f20d90d6a47ee92fade4e6618b4f94a8a44c48422728c1689913b060b9589568475197dc6de8dcdab050677cbdede9b9caf230e8fd4b76c05a4732a76f98b88435d3d662c2b2ab2a1722ddba2ffbde54f6ccf997dc24c539160122bdf0ff1a934cd2c2d65d995853cb2d8aeefce0a6b397a327d0b41452c23e4ac3c7d3bbfbc0c4d23347a93ac3feb95b4687423b3425f58fe19cf51604cec295fc5c466505debcf391dff132ce2c70e006c2ffa23d8991ed65a17961de28b110dc68eecda0b9af1948c49af933d93405eec8f6e1e369d149257f7c2b45237f5c05cc3d8d0200c52f7132f1219d280201773dc710dc33829f5a9038b30ab46b76a628c815975aa0ea61a0404cfd9c757720ca0a80591694a1dba3c7cb30b3c0eef83c1a148e1e212dce2918f03a8775f7d77ad7d841e54dacf2dbdba346ae11c09f3f841d153191c22ce406c53ce4c4300e240b43fd1c3ff99dc0bd9e82e66ecdf01cbe43276f4d886660346c53a5e3b8d2fadd890b9e4b26e19fdf63c300c61e5db0ec44beb52dd65f7331012bc75bdbb1ea62edd5d437cc0bdb77fbb32f703ba0031731c1e3bc178ecb256eaef19fa549740d3dde980e597039bf1074606c038b1ee2ef4b5a4bdfd5c569cbc8c3b574a5b3f7c251db1012fae0a4e9532a448affd165c5096f6b3f1847d95f3f95db3905cb1b4031f5a061c89d0544f0e73f11e433a31bf6fa926ed17589f349ccae0fce23914aaf5a61e78e627ee357eaad528c808e981578b9fcd1e58c2e67ec78637bb90d453b2e6f05204cb136779b083585036e2a6212850646f83cb4ae21d1087cdb514caa6d614cc69837b04eda8baa9d052ab40b26970e8275ddd5b14ea514aa2433f579dd835d599be04320a3b0df0ff02a97263dde106f48f9bf0264e29896ce2b7b8ba6d908cfeb87aee3f73811dcb94d262f8595cf24d278bafca2de15d71dc37ddc7aa8031dddda49d7fa7ac4128d0ae3cbba3ce7220af2e56005297ba02424ebb71eafd829aae178bde9005e1cbb91b262f70f03cb15e8f220b7d2dac053230034e01b841a1ae25c090aa4ac78c937c4d4c18454c8531553ac0f3e7b9620c29b92ad954009ece3f9bbcc90af3feacd2e9ba88c4193e4fc82c0bd0ca6a95b239630e9eac7ee2a8783eb546840301f30147017925b1adeb434f105a51f06f438f0c5a0a247785aa69711bfad994ab37448a94ef3411610c6e81fbb5da997ad4e263437b18406bdf6638bc9f685f2306f0c4744b2601ba2b39b0835d058e814e0325f62f27e87e9de2de8583dfa78c0a4faaa825e2a1037489f0ff44463a33799f481f348f881f12c058bae5cd60e49233d30739c8d99e0a6ceae19ca7efaa80fe6f199338aa5916a5566d5a46a5394ec03b81dcf9ae0f80ad9fbcc6fbea441c936965b13d1e56e0ea0ca85268b18703d201619cbeb0ff4dea97d70a4fff2164c4048e7d914bf9ba9a82e064343778328c7e40206cfe3c4e0340cfced70de883df649cf39161a8765d404ba5c10ad85b74410555b4933a15aa86e16f923da64a1b36a54c644824756065f7e5f95a52405f79886576fb4d4094c27297b401d38452da480827048caf0f11b10715975b4eed19c90397b0be45dbd168644d2995aa323352122cdc754925a4a5267b6b5be35275c753824caa0d0322a916b20c4ab6cf08b07293fef5d0116ad579cab46aeec24636ff7aa7afd6de4f0f000928063340b8c2b7160c81a7acc34a43d826c47de36a372fa722da81f008641bc329884a48e9b25d5ea45a8f127d402127bd2499c37332805d3dc09163521a114341fce7b5d2644aab4f499487728cc47b4cae8641f676aee322b877409e23f874fa796fbdd52ddf425db819f8f707dbff47cf8dbf208fdd78d26ed8b198386d7e995fc47e278dee154e1b3f6aa14ed5a6f60d476e40719b0c30c3cc70a343b1cadab614f001d39d73017948b0fecb486440544e67ea6bbb4c0b707e4b3d8218936260a9c2439908fbd3fa21699127e40711125819c610712a61afe4bcc2ca17b672625088719ec845945cbaa9e9e6023fa5b29b63f018fdd2111a691e853f4780de232d1f88e47838d132c7626738468501b671a4f981a95435c96d58b7d51a606e7824b5f19da11a691019def1247b82481822f7eb42c0cbd091393855a9cef8c5476612b5ceafa7ac1262558519c5a34628ef1acf8930c998595272afa9c97baad28a056b651c4dd51201dba47f8e4f1f27caa8999171c4bbd58cb8ea443523f5e087b5411a8d5750e18747551a55fa63361b27d28c94bccc0ef53052a80c8587c185c0d0a81be0cafa8eb10f8db972391795e07045c1b5d604166849f820780d3bbc55df98efb039830e377825f74950657032469ac46e8d91d90e02f24bc161336c6e00c29f430c7e54fd68ad470757af4d663d3e2caa050484e0581c2eb62fd113e21f94cd066780376d234f8c64768ef7e677c05bd69a0015c81f4d22ba064c47f1a68119eb495118469c95e1d0a11b547473ce85fa2bc776b719896a1accc801127d161e9d65ee48b7681109f46e92c7f659c65157a2b781b15ae2421f01b1ea70f00319ec1870a5846cdea78d8f14f6ce4495d4b2f06a187cc3a030ef8b1f5da952c419002195e53874756e300c14607ca637af54e6044958fa5b6f7ebceb7c6ad021cac124c326587e3e41bbaa297869a97b0e4868680ace45921408110822958f7db6a6a150280ffa530734385f00e25115a154ff0fd2b81dfc2ac99e89708cc4a6153e3098ed03b52ba23290f6f3f5d27bca8956dfa47d293d646a98651e7ec5f859986e19bb7986b79361f7855a9ef756264baca275ebc9a833d974dbdd065ba0d9c3a0f59e04840f5320910b0a68d19a3308aae0d83e71d5b90ceada0968b6ef1f333afa3b479fc502db6942acd8b06e3ae8a25231f82a15147558304a5d38c02d31f4d14338fbbb27d64f26c678f0008eee8c6d4c3ebf02b40f4a5e3f0d6210ab50839ad86515db10fa7c82a21244a63f2f51bf2e8a30fb5decbb3270e034c62a46d93d0a347ed079770c41df0a30c49914ded5b5d192ac8cc8309cfdc2550e08112d8e05dde5fbc2667978359d46d26fcc57d7c93d8b261ae5bff778e2358ce4f6b88d7242d78dbedcc6ed14e0b8d2c41bee52bba4f42b2b77ec4d6e2cb7be0dadb79294c8320fdb87d4e7b485dd6a7ea12cfd9f935547d9747fd6199d2a41f74a516e20121e76377b06d2867309860207aac94a5507e662a90cb7380d299703eba34cea5d54a8d310f0b71b2ec6a87ed0c22c4629340a0f746bf3e119e633557fea12285217d1f67525ee85a83a95f92f97b54467f5bb267477f34f6ad2a5b7c830ccd090869559db221c969138ac608df10c0e873d50d0d844a630249b6b26648da96b5ec679638861fa5a7fc4c5057f2104e8c6f918f66185870e835d5f1242c434bc1b8054c2a31e25a0bc06c7b651a2fd237e94c729d58343fe81ca28a439a2880a2a5941cebc0e1361974268ef066d30c910224b8f33f69a21bbf4b143d74dacfa6bc9cafbb2196567e818f84c34c8940fd02d884c54dea49e8170bf23d14c0cf1606c743469a287e61c43a5da66a7581e5fe17653807a504b4c8e9d24b3e1a0d0f2b46476e4ab6a792897c1d0759cb9cea49b854b8f02e3b9e9ea49e022da3e5c965f959c360183b22720f674f582461e18dff65d053118607d9478b7b4a93087c1ac55b1c9c67b8ea9c46edfe62130bb4e5049fd3060267c6591120f80231d0433466143be023e320f9df3859bdcbf139ca64dbb96837ef211817a6cd84eca462c4ad3e3910c2ccb06e08ebc852f54fc8489da39f7943d80db34b2440a6b46abef54e54b5b0ba9bcbb4e79bc39c3f716ddc0acf0f95af9e0f0a42532f055d77fef6e43b7b117558eb78d1fda081f15118bbd61c1fe0f2134d9c82c306a1e0dc919410e9d7a6cc4d0101e50b5a5ec4bf9fdbd4412a1cd9158bb876608d815427bb3f7ec974c8942b5b34ded60afa14711073b2be53aec6b9ed3353a9b94b524b764d9b54c7d0c87d03f37c3daa35277a845c7ab21437219eb4b48c275b3535207d3221e9120d1a889cc4546d67144e9c0e20da2aa774cea0ba8289a7d1214f62f755722821849b5501dc6f19547b5665530495a3cdd4a770c7a7a9cc2f0a3105449fe1cea73607909ee7da48aeca1a6fd38679ce2bede58a04d1084adcea1e58a117593d422af8a73b4bc57e112fc67345106de01959eabc59ac6542b74f271fa5da5857f566dec8bfe47d6b82137ad7e849ef657dcafbf1f1f8ad683b20dbf6168b2d215457e7bb5627fe9c1ac7221e553325145406f45af65b5777aa9dcddc3aee2439305be924c833e5ec573b671ab6709a606933778659523ec1cf12f2cb292c051e2a610fd92cdb461705c9255a953c4a5a88a22ae383915db4ca8bba9a5c90802fd1cd51d0613960744a66b0073b43f1053262ba6ff2ed013471f88e61ca93db46120f994560a230c855342cfdb27145176e9d6007502a3b6b55626e044dce595fcc3ac238f8183923df1e2fb7e2526d5e4d5ced4406e5bf6dcec0f46c040e58fa5a1672d00ea3c98da9df83fab4bd105ada39ef03450df529c37d995ccabba5ea216544a8f56fcddd2513ac7aec21217cc2f15318e8d464c7aa5b5157ece9742ccf4006cd8ce1a5bd39b22b4bfd331feb1818f8ff83a5b8b5017ffcc8bf90be48667846601318960f130621d731aa3353453829a7cf79fbb44a441e2c639017b443203ed10e5ba954d877b22283e3fda4085d01e0720b3b743ffe18c8680e7d84feb5b6dbacf41beeafce1aeef058aa2181d7cb4c2cfec10d9dab8513842b327f76caf755e39b52ba94c42edc8fe904b0d1e56c808883701bc16cb4b91b7d8d8360c82fd6135e909048239ab5254f1b0defc6048d6cc734e3f6f2ccb7004105fc59979cac27a0090e06ba96cb892e64937d69858a6b5e4d75e9a9d20e094d21301b22559b5a74698e69b734594ee98a2f460914ad0e9acd560a4a63f780c68d6e2b9f3d2f8b10e3ed8f7a025c5040bb274f205e1e5d78a999723a1b5edb96540562e88cf19a9bf942d747f55141381310ebb54c514bca6c94e9a03588d0077a180215240e4b892350a0661acd06a002c49692599204560eb9bc20c25d3c06c3be8a8cb00f1ff1da000ba4555ba92da8efe8fc8a5f889932f843b2e1e34d786ae9615e026507b764a97e129ae35eb43eb4c9fc9cacb8a6db1ba7d54a53921edac3a18c433cc1f144098ab719b20816314ae038a383a0d7a710289f50ce04a921c01d20b6a1b162c387a48c44ddfbc39adecd57a4150afcb82f587a501e0dd9bf10ed1f2f6876599d276eb829c0c1d42c5a5c1aa99a39ca3af4689c0ab6406d8dcfcc7d9f66b52f42706790ff0d615609b757b0a50c4c483f390e50422717113b34d8056424db106777e0188efa2559ce7103b1771077fa0a968e676b8b7be88121dcd672b3925399696f10c0e7c3dd84186ac4316a560f3c970f257b8b4031d81a181c3dbcc45a4f148d0cab2499a4e779ef83ca0a028055aa4c922c5844f807b861b0a781284b12511ec70d7ac9c1b3ef6f0fc3086fef33b7d71a2f67527552c1ebfe5a2e1bc9928c0ad929b0ca85ad8faa4e128714639be44ddef81993ba21e40a1f93e236f840221b58d909bdc74681e08d86832cfa0ec5fd1278868e13b399ec61745918ca39ed33cee880b52bb13a15b1c8373a36c3a60501593bc2ae17cafad2756e184aff5c84e621f3393a835872bb0b846158b9e949729bcba99d1d9ac513287b2f14b66ae66aaa015a07a1a310639f267d420e416b8c652a613208432b0d0fb6c8ec0ae826c87c5db2f085b8994d1fe8c62fb099aeb4c8b4b3104f1bf899cf0fe1fb01fcdcdece6713fce1fc9367bcf851eab7b826fc70df84f5154ef07b423cb38cf715046d21a801ee6be4de65e28091ffc3f75661117eeee0996504a8d7ae7d45f10bbfa7b82f2cd01fa80da3d4529d8891b46ddf74643d85d1250c8ce55a5c5cc306b2b9e60f009105a4fae06e61a8d58edf6c7af0bf00908083931a285dd0ebd894fb0c4d6e21374faa5f109fcd9d009b0cbe313e8bdf1d17d5a1558800b0336f904971d1990b25fda8f8dab53cf973241202ab31d59dbc0a8765d3f14ed97c93c05251873c3697f647e81aa797f9aeb30dc530103308969ff6af9ca8741610d95e6f1d53e3e6af65bd48c5839a077eda6aa3b879d0e5ce609c58201ead5b50f8decc75b49060e47788ded2b459c5fd6ec90ee6a14c4141ab700cd4d1886c177295401fa1b0c68299455472b5bcf4ac3c96a890d0476f8fd6e24f0d06610eb59132dc89ae3626d51020a89fd9948885be6f0e46a446d8fef0a97063e8234b26d597a97b85563086264dbbaab20609a1ea6bb55bc2ffb56574130b77c9df28ada1624b20a7ced04571c8130e5e6880edfc32cbf5f3bd513af4c8f642f4a1d92656ff554e02933db279190dbbd038ff8b4b89d0b08549cddf0617486f183aed9e45da045d5009869293764a1790146e6ba32d559727fe577b7d72b912c717f232e09aa0e57a88ac870b028669ece524825f214b7f2da252ab0059de8c39c719d7135c7c9e1d7a07631657667f2cb17497f950e05d24240c3ba8b4c2afc6aa5d6fe5d5ef1c32fc59baa2c10cd5ff29bd14e3ac997cdc91b80d60c840a318390361091256cb61fc3ba2e36d867537a5d34d8e7203e0d3e5cd5cc46f388b5f40a61d5c6247acf5730d52abf2e8c7e56cb080e8e6a80c705cffc4a60e477f66869c994e4d06041cd3f12c3202580189f6feb74c59369d76ae362d7a49b136f5886e86e1c89c14e1f377a96bf8f94652404c86b7f5add9f802ee8a8fb16548696eabdce73af5d45fd15babe8c7b43358c86892298457c2a773ef909ab367d40c5218703f4c0a20a28897b75ed45e81825565432037cdd97842752c414c43cecf6194d8c1822598464b003ff61d0b0f9ce790233e43927d0fe07b6fc88a724294499438e94ccf485a29e2cf369d2351b1eb96d1e5f21e3977ca8615138a4fb166a033332579c154d90935d6011445c654fd12eaf438072bf16571dccc718bb4e051b0bc0e0b4c5557493ce4cbf7bf4bc08e649e04ea690180c95499c9801a4801951ab1623a2fce688ba733476b4adc7c89c3cb2b97bc4de4b738fb1dc8e9a18375507ae2cb9384c27cffe7463b7b7da40802ef1876fcbf803f792e17c5a5e4db7ee618a07687a8ec59da6fc95a77fca34b82f9e98b463b182ef8ee995abccd7a0b606c6e3a1b411c8a36e36094900b80994ace5994173bcfdcba0d850c727cb8feeed6656783fce44f0aacbefc554205d230b088f0141f105c0378377094b9901890145991644c87dfc173fbb2e6d1846a588946ce858f269c0bc2ff80f325f20146775c5cbcf35a118cceda66fcbd64d4bebddbcecb1699baf8193dad85bf6a907c6f21d6fbbaccf4e084e4e089ddc2111610f0f6a2909cebc00b3b2704dc2a0750f0c475a02e6d11a5e0930e677912a21217d4f2732f769c0a0835946a5cae1b20e1692d5078571e62061759863201db4287216195311ae53d9c05313c139a21101a60c610c27e49e4d007cdf973ff9260bd79c192e8ae45a707001b8afdcf8e8d429054a932efb8a86eb8443dde67c88315d590f117508d5d5ce474afd7fff1c670f9075214ed77123e6f7bcfacee485193606c0008bc589f334d4d5fa11031a29393ace58ac5ebc161812113bba3eae4070182b25743739a5c8fb35dc3ce8036d44337305aca60fe6cd0af3394cfca26d71a5036dada0eff9edf6f0506e5f5c5c4faa48667821c739654fd0a06aba065389f2342d47582d15cf599512a77065e0e2d56efa8cbae35e62c1631462d5c4752599033d122030f392994dfb62be9d46c1a110b6ca0ed4b40e81aeea52d5ad501ea6aecaaeffb6c25514582f4ae09f3e382583b0e48c25795d051d19d958bc7a974f85548ba94ec1222e8b8c4873382f66c6918edd0df40a3a6d3c3231b1e89c18f57f8ef9f438819dffe1b4064e6169a7f058e9368f0bed68ea08b2b1b30708ad9dbf83196a7122ac23534212ff88fa1e032ae95f23324d9b5bbee008eea227b9379ecac81fbae4d2ca555a77e6b41d2ebd110140021bea76a50b33aad52db981395ae8b7e72ebb128e4a3c12a5970175bbe93c98eabbddc70d3d6969dace3964f880b64fffbfccd6bc2c6a6348305b8c82ef615f294e6efc376edcdb3a62ff9bf85c92e2abab6213619361ef7d4dc5b62028722fa718b5d23ec8ad5c0b83b11239e8801d103ab705e56e6523e9cd6c5257cad896ef2dc80a8614ac4390e1e7dd83208f54ca66889c9495e10adbef286adab62763d1bd19e087db4c29b87d3c02dbbfa8238e2f5b1a56918aeca9ae79d9a48dc0f65299fb27f04f0980a115156bb75505b6a3e2122108c0414ea0f05d27039116c45b5bf249b6b8691a2eee992e99f950a57c801b68bb1bcac434a0fbfd18fe894506bbf7752164c80b0a7a5394ba794c06d3526eed6229ef43854333fb4206fab72329882f3c0905b1250d6045ae73f822629ff758c92057e4a0c6fa291f3bcdd2e85d22819f18f0d19f10f4e2a0c4d04be06f33a95fe698b8ca45c34a7d33873a7627b3f7a5a2106c24f1a9e28c0857df9f1d88427b5e10f1615b329c8a6289d6e13454caf9e3ed5c1e6985e9f21e7d2e05d0a1176a379185fd758db86666876ad8258b0468ae2811295a14ed2aa1d9786941cf10d56f8cac8effe03ba265633ee392f2cb7735580c08a25df974f1dc6d1a5e9018416946295de0c78921908db1f9a3471eb0ee583a25d7b3fddc7dd01c4db165bf816e0c0ded238818230a585de803fb21aa3d19b4ddd6dca56bc6394d1675ed6a390509125a8ed65fba9f44dae8e64aa7c86673539979a925f8a4294d0f82bacad6810b8967a440a13da98966453ef840b5748f9d41412e89a746133f3cd2f3754c1dd2c8fa48476400a1ac9fcc099b528ef583c9c6c5988c0332139420353225f925ce3d506fcc9f1d7c760c78d37d58eee5425c8662859de56421104576531946411d91299b984fc5d1641d9beaa9d06d7351d25a0384776fa683c070a787cd200ff6fa213b2c4309597e7d29f98d17860e766fb58cf0a662d77717ed1c5b82e2f9f31d5e48288032991360357c7059a486bdaeec410ce32c6bc44c62ceda731fbd90fcd52e9ea856306b630d5bb08454a4eccc69a5ac0d63319c0f2c74d973a2b7f2e03bac38c0e80232175890f1a0823159b0030b2cb1623089f26f325a2ce74b1d570e54ff5122d997bdb0bf57520e3c627e482863179fe04e870120ec14b7ae5813ea63bd0da93cc4c12af52c4bb8e99d30d23bb948f1d122179c5bc565b1005b3eafeab3778d421bf99f59d8733f97af3ec55dd6be14de03de1932d198a94d72a8777d617a28be06952563e1544dfb346b508e9f6523b3c2a3236fb12cbc07e8ba04f04c1af02bf21216e9e236f38f41efd7e2dcbf9e98732042143447ff2da4c7376fa3cee8944fd6da5bcb928efa0a6fa5e43471c414015c913944d1b69778f081b099fcf0780672b68e50eb4fd2ff339b7b5378e88ef34d533280b05de8c9d455d2f69a8472e0da2c46a1efea52e381a998c4a72de823e50583087f12f379daf94e8287bdaf811f407d5d55d56a1ed454245904db4ad9478ba7e667d74df19a79fa55506f568468f4a51039cdbe063f3900239ab1222737507b1031ef83a893a2d4b5b0d2e4a4cc94b661b60a574b07ea1be2c67b7babae0b26a9cb6ee363d86e0943ac8b4d5b660644304d121af754c133bb8ac2ce8cf070465db90070fb57c5e4f7e52f1d73c298da1fd4ccb003b2cc142433339df1cc11cd7f478e271e8c2de4c5bcc698528d4afc732bf133dcd4305ed88a0e107fd03fe18ee25dfce8a6097c2e8a98ebf4830ce4005d19ea8b46abf05cc30d091841077406d9dad08d79f1aad30e9816bf438894ea5428f165abe46dfa1a3930689525e3a2fc87fdc0f3acb69ccd3f66b911c9cc87d90b8abc9f604689c9e8634c846a810a58c9681bc402ef85154dfe9ef013176181a2f1249ac6e257fac3ded555afa27f0a2754e321289da5aabb63e889213f0837c3ae90130f416f7ea4e205f42d3821eded5fa358631278286d3079045f6d40e422f51f8da12b2976e362325d52a2765567289d95c303f5c233c227eb659087d0498b4d252bd0e284bda0e739843e6a776a7217653e78dbab1e472b0495ffa619795d57645cab608c3ef128f6751988b61c230bb3153833d7bb5e62fea1866296a6b9cc28047be3994687757d8af82920afdfbfb45ebe32986375c050b5e3bf06978261e4a84ab5f961942d2ab059dc34989373b3d7cae7c5f86754791290a9f048741e7f0f8df443ffd3ce10e40c096ae21570527f823450fbf36490a02c13dcadffc5a94b353dd5ec8be1cebc30c452c2b30e4af5334e030a756415e1a612bc15657055df2b25358b53887dcf1ac2d01a3489ce72206a4d5f81134ef28ffe761664786c6305170a0d89a5ec0ba173c5ed90f8856d8ada794759de3000160a12aa219cf7ee630ba0ba15b055d4d92b6d16f81a6e66375d22c5a468143e109783229df09184217c204e0cab43583042ff70aed21ffa1cb83533b0cb983d0b48213901763f551412f0349f02be88626dd160fb56b2ac021d674c24a817fc13211391b8bcc45257558369b9ccc0bad436a462cd7304c4f164b027740b54b0cc7583cdedd28b701de695c92983feef2c592ce01d9334a49f800010174e67aedb681f37bb8acd618bee3e8b6d9f1ca05a887f3ce16fb20fdf1c105b3a7d40d87804ca51265cd002ab542d9f15902d971211fbc68c98f5e81acea52fcf817aa07518c9849ac881428907bb21b7698a613ef5671c72452ad7b239c58d966be032d93b111555bd8e36b0ca8bf4b381a375e45d1447226caf000dcf64d09e339cc67b13c8e94335ed688157edb9c8001cc266390ec447f0496bcace5644f510450f905d08488ef409e3844e452e3353a062229ba93a9e5b0e4a334ec1996e8ae58c937484fced486c9915ca1227050dec6481a2e127f59e3a6fa79c02b2963cf7473686d966eb538fa803b6bf5a93ce4e7775cad824f64c310ace31438d57c341fe804551dc95d916cca599e5ef2d0877c14df4ad0712f271c942492e4dfe00eba1987b6a9c1e02697435bc7ef1f3694b074cf1c9c7dca79a40816895b42190b0169568963b28fb6568c5a40b7791c24bf7c78d3dc846ea7e9778108e03965839d34182db9c5df0a58e37656ad3a2bb8d5d562a253a589a8931df8cff9acf6471371803eb2d6a0b53207351e5f2f08230ad7ea82bff7b20b17d3b9412e631b4282e762594612101604ab0e025912a3a0da136844690a2a8fc0b1a1e2b7a84d980b03717968788cb8c1f84f3300e860f312408f47f5461c5a12b468093c216e0b6443d5dc228254b7541c393a625d9f78d064a9b643e96e9f7dabebb770343064707744e2a1ff4174c7200c43729d9b6244b1af7317cfc07d93f203c21cd4f5eb3a3434d5ced1498b150f20003e06e510a67e3b748848b8860243db33c684f7aa4dd208434b0689ba1506b9dbd997cc691c22d13cdab2bb4185eb4ceee7362498d1cd10feb6c3ab725ded89ff8d9da3524736058791d697da64a5130d8b9e14a1d846d034acabe843bac722490ed57b89a35c33f710c5a59b9cb7c1986d6bd8cecb0a063127b2647142683762baa717f305a3ca40c8a3d86ea69229ecbe9a2ffd762a3a5a7c959038eb4cdf347598cb4c2ebcaa5967e6c5c8261d14192540053d84638c5cb80f30edf87aa6b5cc1377e822b8f0b06f2b8634bb58ddacb8fe0bdf3182ecdf461ae8ec362fd60e3a3e5ba510496f00b5a0056d2a8f5738605258d321e90f0c598c2e5550cd8398495b8ebd277f8e42dd6a9129546cf946aa3b52019271edda0d8024d7d5b7b8779185c9a4560a30bef089d62659704de5eb27513a25a777fe1bb02d47e1a4adc1df5e900c098a6484745eb976bd396c6721fe37128caf8a7df46ffda0e1132fbd90f5c6711e78cc8590cfa6b587309351e775cb9c0de6f05fa9eff8bf8a5f668d594cb3f5b0f187ebb1d4cec5354932080433df9e3d81db827ad55b8f4db5205223e10d477c735141d02df0448b274c7231b1443d5d820b28852b291d70945be42febf8b71cb0106296c6121308dea4d8531005b0bd164943d27c884bb0e8b8d66fa2d20bc3e4dfa8045091b74d6422cd7daaca6c30a71993f58a7927242d1d201fb5c9bde3984f1e8a6468706240d60663f176a54996225e05ef83c355704e9d03b8a5ec1f895e0929a52423975d1d2e76f1efe27e1f9ae972cc1bdda34479b9812dcf9e0fbcb32f7c1dc613a4e584c09587bf42eafc23267f55ce180adba0c65c1200a49519b05ea458484f833540b9b3358494d51c2c68fe6652532c5a1815df76a2843e249e40d35817d4a7776df5d159a56849071c60e9bf93203ba727c73ab62c6913f9fc4d5e082e46a2381b918680f00c780baf3896f3a9e26abc4a593313ec9ba029201ce98dc8916bb20335a52ab9be274033cdde06f2f00496caa049b0e6fb03d818cd7ba522d8a02e9e62d35e5ee3afd5e68577caafd5d19c16ac9802379c3d63bef483024f2795ae9b206858fdcc3a497a3bf6a671154f06674be80dc4c5bda80aaca4f5543e64d2bcd329d5d32a5198a0184070c181bd7976b72399add249d8f29edcd821320018b59519979a112a30db7c8c11fb3ef629d23e8ecf6c6f14711740ff4330448e644cca9597453d2390ad44851de89b6588aa4bf78abba9a2389e1979723b445f03ba289e04b6ec955c0e5c84d109f459dfd419a9a7277ac0efca15cff6f0fdfe1db12e69ce2c4d392cd51c180ee68aae159c1cbc60a0a70fcee823e384f8812ec0acb10eb3e1e4f8e58b95287334581e44846d579de05feed448a75239c2dadef6acfa828a2a12998b62cb0540f45cbb718cccdfda450b10204c235c43b33658f5b552fd170003c0882a9f426f860b1b89f98284e177bbdb17e7c19186375edd9264a226070a424c928278bf7dec2c387f7f1ebdf1caae589d757c396d906c3901bf274c8a1f280d98b1a0113e62ac4955fe0e55651ea388e154a64e1197d2d4220674d39416f9327e1a1cf32da7c7171d6a4a109e3f15a8c755f62c8d3a12f44c8dd0f1e9c570f4928641e2446581f937a286446d75e80465257ed1fb3fe5eebf75aec2b4c5aa8c462717bb5c84e6c2cd33900bd63243b9bef1fee1152caad92a08abe4d6090d839074f99a117ef7769cfe9f3dd853fe6095d21e8a910d823cd96178aa2192deb97ce02f4c75aef52fc253747e9b30c39d225b9aefdb7b2206b88555a27ed9f0d46560d62f91b42cca4c1467de607f2ce169d3fedbb2c7499aff565894a486331ac2270dd0eddc921f9981b0856901a1861c0d59c5792295fb483f1861ccd7b8d076b83e198f46c65e88d0ca963fcc06a13d46a079b853229ca08963022db2820bb365c2bbb45dd03d024455a6222ccac0d7c8758a1d506fb596ae882a8f19e40d419239e7c85b48afe7aafd8eb4972a19b990d6d7eed44cbb167144d12497b7a60a477a7d7c6bd7c7fe1ad59da31a59ca601e5d46eaa7fd0b9a3227da2a79330f110e3ea0b8e8874838f3e97050d3f049e7cd4980e4443ece9544cc342c424b1b26788b70aa3244efca51f093ab0f439f78166e7c6d32b1fb7fb84c3491bc47cc478e72fa90e9114fa64fbcbb342787170ed5c38e3f7e9446a9413bc3d496318938fc062a7b818e049a30225404b819d398181859d3e0f8198996be93d5298e2fbaa4d83313d5e6f11b1fa777dc9862801ee679ddfea5116079d2035e11162d37f3686a4aaefdbf029cf15610794721c89631bc8631abc6e4a2760f1b9b4e40baa0d002456553b762fb3524bdc102e3f18a98e9bdd84f1990620b2b5e1b2e79b0e63e1a800923b62a4170804a7e081edf0dbc463b1ca4e7557d5fee041217585d093ab2e0418731de792bd62991c576376d1b822294f777d9b254d800beda275a749dd07813aa9b659ded8123a5ea58e34b1957ba032db69cf39802ee940e8ba0fb3ffd1be7a095b418094e641394ea6d624f1bc6abff93ec97353db1284064dd9cabf08cf9a5d1755340971024947ff9aef8184f5bdcef1289b9143db413e84a4a06f427c58eafe1aa64fb374f01c3a65fa79742236005a0bed95af6fb29c41f46e3a4cd86cfd450ef961393a8a7e9cbedf99d9c10b121660bd2219655be8e50f0927322eeb16fd3d0e618a4bbc737872604df26ffbd10c84763f55e0f1596357ad65cf9407520d17f6d1111e3640f69d783a009ff8e9ef2209b1ac883784a5f17c3a02af18cc2cc23170a7e2931305419c3459edcd042670a24910449749701f2179e2bb3cae4ce997c33524cd4fc939d606e47719e98ac30681371cfa1fd45e0213e5760568fedacbc902b63c9cde44c60768c13cbd4110deaac32bbf45af895099f1bc5d382cb6e723926f9d483565e4533bc90b593505788b7000242f69ea3b13433cfc32387a519a10868a743f4f31147e2d3b35b70611ce80baa99120c9fc43613fb4516d848440a5a1af06d5278fa495ab9acc07978b82dcfbb00e976b498c3337dcdc74ed159b8c47a5122f91107884fcaf7eb69fbcb86f0a601d854f70bd781911b2541cf2372020a5eadea3423b1103cc613611deec95a9c7ee70ef1066241da760335b3c4779aee3fd9f977673fe7b622466fc480cdcc88c3e13f69691d0bd28248623ade0168c278cd8b958bf4748a03d2250d60ac8ec0f435c1ddf44b3390b2def82b8b8455f0d6679663f21a0127245f2fe2930aa78591d40a5f61cae8adcc9ea65942da80ec793438920f8b530f55a716154079a5c0b1a0909a912d6f0f9e1b8c3d895d40acfb987ba94541dc88b8df8d3e2b9942ec22ff6956f6ada68657a800efc01bcaaaa0397ec2d8690b8c179323481889ee7a6a76d10a084b594d5212b652d589a9a12ab4380d3e01c530b754e299b1b5e387c591d0866a5513d14da51e57ba4f2840a664258e5e6d0672632fd5b29c11842dbd0b313b5943efd03852ccf6e456c20e07a802934417911eb6a7a6d11c810292494fa61507885f3dd3a606faa6caf5e47b7ff019572668e6a50ccad43dc193070c35b2b1aac389cdae00c9cb0064bc7f040e66201a109581337c257fb88f62425928c0ea714a14e011329b1dac1e9d38b9624f81572a200d082de9726f30bcff69ec0fc3bb3928308d52920cf75b44e32e94ac8b05567c84518f18c20a383e96bd7501fad537ed6c10d1b4091a07445eba1870779f2270105962c95832678aff091f0dad1a919bd313d5a45315c9fb1c6fae9f6b8e7cbd13e16983e40106a7c78af97d0c427045930ebcfc27350a89b07889cd91c171702744d9420f3f4a277f62d3656af49889c4a064bfa5539f993a8ca5aba0b03d1ed7233b199e84f243d48fba3ccc91d3f0d314e555b63d90f1054946a58cdbd84205c61d2ca14594102001cb191d6bc6b13f102a2a382968d68be18efd36ef5b92067cd14401068ab1b0c844b7800b3a83d40201ca18a4ca280b3a2ac074a10930691883631c2429cad12aa9398c2401002a151878d06b81df1b1bc542c2973c77312e56b76e497a616c2162c24dcf025082985c74bc7918a09e298f08125085cb3e1a9564e233adca06c09c2df558a44dc78368bf180413f26ca363cbf0ce6e9311189ff11ca3e52d20e87239702988490ca1869da630c8a411d51b4dfd6239a2f31cc897864c948eb2f866c477299351e5bbcb2432fb5d2223353a9aacad54c692da8d18ce05a1d2b58f262bcb76b8f9b8180081ac2c3d4a379c1bba9a1fe844e70b0aee2cccf0ed78264e9a9b8b6af7dfd7c6508087d7e97032c46e4f55d26e1b28da522fbfbe5fbd7e79b21366c8945200fc1703758ebf475ce502c2b84d6dd49042bb723e84c23ce21e8ee38de580a95e1ebdbd282163da684278240915f91bdb87d9bcb4ebb1f4ab1156c5c0f20cd075969d75932729da397773353501f9cb7aa43d36e8ba63fa0951bebe2fed9982bb3ef28f5a7001a2194ff55b948c8e0d8a5774bf61bd0ad3ee97dab7c731e4d4a14c213107c6a9304886d9d62e9b9860908c2bbf50eb92f3181e41e16b0c9be9c49669995a0001dc3f89240424ca48094f195384c209a538d41fe7be763ca0feff9628069ac25caa64f8f9f35a6ef95cf1d9959b1ca3d220a3b6ad292e6858713293be538954378e0b87b734b0b14100da8d272080fa2fcda363bb415f12f8407a0b2a121979500d3cad2cdde07cd2480ca00313287a1d37cc51f84d7cd87c2020dc6da5f86986a49ea03227971bb69b092aeb044a7dfb4578815b0b442a1150f13d8e8eeb6d36930307ce26a77c9da1ccd75af7dc358e21e6706eaae2145f2755808600d24d4ecb50ff2068d377ddd25902e69a458a7b18766ae249d3d7fc039a958123bfb9df6c125ed64b7723f1d57ed1a168ad056b7742a6e79a7db1917d22ee5857051537093e459a3cdef8a05816b1f3ce08ede60f31b920e8224516d7e55ad1e3136380d422d427548bf0e452fc51a1b92a0fc255bf77a64d3a0d2247b36bbb6bbae4cfb7bfb9de8da7012dc271e9b480ba4dfb1e28f8941ac4023f81f6924421132377aac42de0cea3bed7f060e0434831cc158d84ff87b4fc686b4c07fc267db63b732bb5fed015426a52842b112cc60ad85f210ad15dc86e98f96da0e5e7729cb69c55f42e264ebd36ba1a825f19e3c42c98f9e30558ea450832cbe86835330150867115102eec4ebd3132679cf0e1888a5e726c074c8f51c3b8681d315ec7929c0acdb2680a367093ea714eb9916f08489c7a41f7b617a5208c69ffee10522e2978e8a61857571a7b230e3498b3f87ec970991144f0691c6072c2136b49fec367ea3e3f34e9c182fc86136c1983352b816eae3c559bd13983b93f2b51918b84370ed4f812e6172561c3fe73622d36400b7c84de6d32a07c022cba08a65141b59146c2ecac4c194ea02b009aeb68e44f8001c96d119ed10bea150232bba3098e9937b5d2dc4718b9a21660c7de3e49133421a89ffbce0975952af05095f2e0b27e8be8b07d38e5f619ed7936549c5c19ef80c7b48d19b39d1cb1a92133aab32bf12895fd9589543b88aeffb9b69777b16f3ef134cf872c90013d3577b228f7d6efb30fad4c75731509a58c9b44998d9e222d968b3e9cc8c8a0b3468f6cc3c53c925aecae9d01f71ff8936e8345e2ab33012e4137dd16365e2aabeba2b22864d98e034746a9e891fc55565e8258bbada9e08fe7cfd10744f7859860af5fb18824eb81b1462971739e54ec457dac0200e2b6d322ac9590a03c64777f5afbe3c47e593d24672453d95df4f5d25e725e0359213622a0472c28e4803fa41defe8d64dbb919617919eca77e23399c12c6b3a24e491862f57124e286a1d64c462f861c49c7b7d189c8932488bd69ce8bed7557ce77828fdd40dcd76f4557f74ab9d8c12534d3e84f39781dc3421b942d290484e8f8628d0bc581fa36023cead9c3db3c2ec7195ec7a1ca6d9650371df00a648b8a51431616106e180a0e0c53b7f22ed09c809cddc822d2e168f2b5e8096d0d0eb3a9c9f68fc29db61bc0a720c2f85933438f3ce807198d5a384ad9f27153c3bf1089df608154e3fb8d6c326ad48a50c3134b929e702fd417db7bd0fb359a1b447279a2b350b695bd53c21298b0fa6d615ec57e0f58d32d1ace9de4a41184f06f739de2f0452910d9c927fe5b161b44b28b3efc0f5a01860e22d962895d0736700590555cc3efe988afb6540926480271a92101e1c5cdd8824d5f90278e0a12c366130d4a1b865edffbb0a4d8196151cceb349b4b98afc1d4761cd08a49f8c699391bc6aa3b1b20b98e9f3e9bb40a56babfb5e099c492ec2f9d0cb2e39910e97990ed3a622248dd312298ea64260f7860bb792531c7a9833e758e352c8d5034fe54c0d8a5e4cb15524e202c482f09e89a5af4e8326114cfc5178841dba6350d30f8220658a834476308fe14f095d0d1ef8434ff157c3f0e562629577ffc95417694ef0a98ad3be1c44c068516f9834305eaab860ce6b8462a8e279c1a80305ddf6e2045140993c238bf7e2a1294089b4896a1622ab3d76feb7876735ef736206bcfa9dc17c58810c673006fe9fc7beeb7c79f14a6e71d9564428064f3f73662c4c45312cf77689be32c3f1f36d45a9298ab3b2732fe775f09d4b5c494b76b022c2c57fb3c42a4cc747fce5538ba91ae75e17f27de846459369b3e6b96352d3900407b1106d021d0a258c968f2b5da73c5f10673e50554b428fc7e6a035d7fde56aaef7a4fb592a39488fafa7ff18e4dc4b7f4c64bdf89dc1ec0c5136d8d2ee6f3003a904e3c6691779fd006e87fafa8bb03c580d86b654bd874f55df8c39fb69cde75adb629eae756a78ab2b230089d0eec7b5668df313a7e3220d27127e1f6f9a72e0557ffb9e8f12d9bf7606afc55e3aa6683030b176baf69208444c38025895a3624c3216d52a4b2096eb79984b0d99ab2b2c00fbe30f78d1866c61d9e40436a2b31c8f811e65765b0f6cb1c9d055f31c2647a83e03d128887409a7d461ea28919b3fe61336fb24cc38504019e173766beb4006fdbeee3e5d5c4206c51b0d7a945c20a84b6e7e55901b86c8b9be5b527e1f408c986c775afbd98fa292419db2aa55fe22beb8466783214c738cfca84c7cb6c1e092d349b5e02e86bd095918db4bb1901d9060785464727649320144792eadf12309dd70ba0a1e2380e05ec171314435df8152d44f9f87484a77b6321696734328bdd5d6d245e4045ac6f15f9ae35396cf6061516f823ae8e2f4da008af9123a239b2b1e359439b22bb05ac165349e2c87ff778e4bf9f93fcda8701832861c04291da084c457be4fe7d2f501b2ed190623648b75af612f7b227fdb5f5fe3adb4e5c1ab718a5b01741a61fc604c1e632f24cac537a1d47583a06f1617c9b928997db457ac541ecc1e7a1f680e14aaa034867606b5793598d1d102075361bdad940760715b138f06fd2968b48a3d7d6da57439b02a72cd0df5a10ae4f54f4642adf0e4910264064451d467ec45fc70810ee48ac1d752e3b892d47dd72705b9d633b1c7e0b19eebc0dd2196487cc8b78ead4f639848c9da16eb7e2635f2d6d323cdb874171b29b29ba9109a62e35b902eb522c5fa52ae31f708fde42727348417492cb2df50ec781e8a19b64e69147b82226b6694e3c15b2de3580e85e41125fea4ada1333355fcb31ba7128bb45861cb1da76c5494c62b5cfc48dd9c5f8646265eb59269c3babb1162be18aae899fd3480177c6ebfaca87a3f5dcd281ce1f0230b945c70e39dcba3dc9e760e087738e5ae368b8a3be304cb4ee911b19878df4fc7a18675981378aed86d5cf58dc2879b109ac4669bc801e99ce25d4db5b95333e441f50bce2f91929cf9e696b2791283e98f91949fcf30120a72966d40d7eb542ffe98eec50dba190739367ab1e853f45088f64fe1a4c91075276d78ca8d8fcff7b3e7b1cdc7e0483aca841e67b5b761f8672078a6dffbf43bc5e7898599f6af4dc3108fa7fbbf70eb424a31b4252bb4688a10b2b2a86676ca49f02c016d14740b7238530ac82b00ed5a89182abc2843a46431be95c95939c71bf0127a31f2f286a5364ecf7b7a543e724f38008e65870b47ea535b2d3951229fe06431d2649c95fc42b1b80a1b86482f9d59ad604d85cddd1492f3b2e1fd4dedcfb98d548f7fd5815f131af960a48bbcef886a7043f64aa99c24c757d72c87147547539caae87eac4199199bbae427f91c72fa833cb96b8c15207feaa6876cf3e460df1e993c87aa6ee9f96def678a3b5f0f328c5370b9203ed62fa0bf6c3c500ce4d084155cd4e0036cbe8f723678df7fd895445e7b1f3e2c4708498a48afbd9f17fb38db2436a32a0c169e1803599a465a221ef3e37a1765196f71b22bb814483d44f90828e80494ccc09cb4ef046d805a35a1b9fb121ea1d0ff3966101d248d0fad65732d0a32a61fdb888c19e46a0d7913543b472eeb783b272de9280fd198a00065cd499459f82237b88eb6b10fcb10cc97ff29ba2716369be209d47f8339cb5222c9caf0c2eef2546f3037af28779e03ffbba18162b4f2cd74e151e508d9109a752e5aabb4e36bcef02b226fcec3db93b0cc5f3d632fbdff2e108a46f55a2a3a036541b06191749875e349044c2517a5c02ee7a26f42c1b9d4ae501d70d4b200ba0db96834213503680d8d0a093a6cbd01a0cb72cd6b4b951eedaf5c02ef61a09609fa130be985ba9d8834e6335b39f1b45e48c3f24e43de06c307392722cdc229e8888e2cc837549f237f97802f25c13a7d4c14f76ee1e46a84405cb1b854455a4a4dcd4b8fb0002f21db7a54ae0ff8be9886008b4e4954490c7db6cbd059525bdcb14c70ffdffe3dccfe3c9357e8852272c977703cb3bca11b70b536ae72959d66ce1fc6fcc22963b4bdf8b0c60b0dc0310ab23824083582929810d173436d50b443a4a4ce91d180ae85a38561dbe7a1d2a9833c99e4d5815273d6f30d3b57a5730f129e4060c17d9f52160c5fdc7ec3a81aa53834e58a1b4ea6fe8b2a439ff3a81f0bdce252b385ad0a5197339e0a6bc8f1c1de97ee9968585eb47d30a908802d8cc66d854f01534a0ad6746b83adf86983a4a320c02797c6ac15e7affe0e2edbe8a47f402b55910af4cfc5b7234e1363315d1e1b2a18bea8a9e6b176416330642c6e0e4e3bc6421b105063256b49eaa44a99ae47ddf0f135357f8f392ff97faa4a4432d7c4958ca4de8e58339127c90832ff5c1847cfb4c5058b3207e584e348be229f6b4273c44b4e8ea510551fdca462b5e1be5de6792b13bfc1850751b6577d73f049fbc8290c63123c88dcc93007271d398e8b6205d223f1105a252cd66c9d7269f206dd48972f7109480b72032cf2ddb5824d08f7375cb8686303f5c8856447408a1b810fdb7cfcc480b0f9f0fa57cb450d83890caeaac3066ef29d051bf67c1fab873e6acdd09fa03c00a83ecc0909c444530072aa87181654da803032e98b6c8181f987e466367851dd29046b22318815f23556f0c7afa762644a63a46d6cd9bea0aeffd0b981d47bba0ef269e02e2242657b559510719284c5be2e2f38e8ecf178a7c24c24fb93a9ce4bfafebf859bc20e15dc562d002df5c05d3b914d7ef0eab33ee5f55ae7cca5314650170b5c0de7ff1ef08af58e09170f85cace820abe8863e5cf7db4e3ee592954608fd69f07f7ea9882c2c4bbba213f036c5a56aaee35bb2e9ad8d57fd6a8a7dcaaef8dee6d3d2b1ebc20176b7f3ba648693edb0b92e9fd6e711fbebcfb6972e8990d106caf045ac85c518927cb01c91e04cb0bae5649511cb9a3b49965a5b3e43250dcce11dcf37979d37e2fa09f021993a0beddd489ce1d4062077b5f490e12b3cfb08ed3d4a1bb832438507fb974091b74cbc5ea1fb52cf3dcdac49876506f9a1c9cb1dc099d20010d3db1217435b5a334c23d3dbe0f73b5c736f23c1774564dc471b5b0b7421f88665957e8235b4e0e4f2ce5a9859d8fe9f5c0d676312a9fc4a192883d36eb1b3c09a4d1feeeb30254ccf1b2c43c5c3202a1ff57d8ce69fb96266d5b11a0a63c25a89e48f42f2ef20bed9d69b887527cbee41ea1a4f47e3802feb4fc0cafe4e2296924767b336f9a3d38a53fafde071d7a40f72cf22a9bff28b2a71742a691458bcefcfe4e9431b3f08576a7ca365c37b088f02443cf9331ede84cad05d85f3351a4292c36865c3ea3921633b18556856fbadc910195bc2eeca9e189c7336e6a5af3d5b3f16fc14fff4cb7d11cf199909b37e02606187b49103bd356a3bd66e3b9e7082ebd2ac35743717717bd8a1e276f4551077cd5a63d70565c48c6681af7d2d682eb83f120265534e5a3d01e68436520f16cfecef1ebbd4463b93611b2614b8ea43f52ab56e93eb547041c98ee915314824f9aedfc76b7ac5e55155da255f101f565ff1508e489ce7637b702b10950313e0f379d92f2256d5702167eb0a838933bece09248901148d17b18e11309e9051ca694ec079d1ca2d0fe756f47b0ec01130172488678f18fbbf3c3bbc1109e699c76d908ef845797fa63837bdaa06f4cffeb0ff2da5cdd8fd66835ee0416c40e7c5e161a8b0feaa1631f703207c07da1b33bb80005ab3c5f1861d88f54dca40fa762a046f47c32e43ed995c9d2f728cfa1ef9df89d8e3cc17b21e5422b5cc89dddea5d8a40e66977bd57e1ee5c111228120129b60e2a811c95a13735be69968f42cb72821f2d9fccb27f624af7897eed9409d88c7c792f19557e39d255d5a2c53d00c13e4bebe946e2de2c7f6ac888926e44810bc19c494870d488329fa3fe5dd40d64908abf19d9602787d03329648ba2b14a1a4ea2c9ce1d6c235a1d950ce92590f1679442e0e400d98859791b6d977a99c3fbc4b030f0713b26879ce3b775eb80d06c53d444c608d1d40584ae5b798686a065c56abdae04040ca5f32cf90cfcaef6284254f0cfb4d0cf2a372c89ab8fdc2e59466e26ed797f38701e3d84c4b80585d701a5e7de18d88396eeaf73f5ac6eb1dcd8f8198561b13e2ca12d44ff7ebc342db53ac5eff2cf101c38ead7b20e321aa53f0a146cb5f65693a064a60a025b3f27484fe39f1633a8444e63305621710d1a6f7e4a688553881f692a7a8bffd79c8b5d97b35f8a3b43fbce24501fd54da29e308a71b0c008bab1093f93c5789c3a6762d1621e8b934da41adc49f5de053842edbab78ddfa57b43021a816a6e6b0fa38bf3c77d11a0d9cae4d85c553b12f1cc4724518e7a5153361d626ce1cc1a606d5dce864227615b7c588b01be416e5ea5ee3b088acb175a8801000ac034d1a86aa7b7138417e76acf1e244e6307ce71cb025d49340d55ce33ebcf0a25d5816b24fed161cf8e1b615e23e70e3e875798e744bf04712f402865b73c22a005e73f3ddaa0a3474c59d8b4751fc46268daee80c432e56615a2cbb0e60fdd2032204c201951503a70d8aefad65125ab3c42f1a91d04e84d5c90567448a2b54bb72169c3513daddaeaca1c512b1fe7827d4375fd54107b46a6a120709afe887fa151ddc4629ff6f3002f0b60726c490e73c4a0b62a77a3da3ed674eb8a42e3cb51614f38de87404fca00f3e68a7b629adfe0171e38fb140b1f248ce47686a525fa775d339f1fb2a5609de41e37dc998bdbb95376f07de47e71f136e84b4fd9322bff2483c00544ab29dcb0e498ee876d137804c03d7d8b6ac787326965535807ca13ecb2e504ae9cdeffd28ff7aec1404389e74dedf9df30bcb87e28f7285e55a97b0e8fa3cc3070d7874657a6b3768324d41e954bc02cf14b4c92eb9a221dabdec4ae2c487db53cf70f64c809b574d244bf099b15abd2e263ce6bdc14c80fe709b99c4edb8b83198aeafb88983cef6816f725df0c6d3ce6de86b50555d33241a8860b5b7984cf2063340be1d91292014af0b62f2474a8bf4652f2a87841939db80c3c7fc2ced19f502cd179cc8fc1483aefd0dd53e31b42984fe7f2eda85f3e76f5d494cd58d8900844a2f97a6c2f98cf45bd634fc6b15d2a00a4061a85af4b93134b8f304c5ad58595f0013a238d546c870580a518f7b20a8b15853de58f28e7e8f602195fe7aa3953744d6be58d167acdb0875d99d46081e91d0ad4a0f92ff2426b640c08333112801043b4266900ff5a3d862a98c8cbc2b37ee4131ec19462d78723913b2e8dbd819551ff2c91e75db54febd7116ddd0852e74470f3aa31f9dd081bee8435ff4a30bbaa3077dd0850e74a13f3ad0d9d13383befc395f61642d9664d6efc0f2911bfbcda83f51adbac364c1c144d6d5c73e5cbec2af06a977d2eb2947f2103e07d8fe39900241b3f12708d808a223728bdb07ccc6f1632c73e214563930ef58464892e4018b17c78b645e451d9e7b22953677e05e90b4a093236d8ba7c30b89ba026ca0405155ecc2ef4a064acbf613651993d52c64f80fd7b24cad9f68e66e2eaef522433a78bc0c7cad759717034ede307565ac10a5fd09fe23d05b51cae55f0c5c787eb35df081086b5f4c39a3e43d85baa7ed009329bdca879cc7245b43f2f74c72bcdcb8cd1f81e8762ce306e017236d71e5a51b90d479a732697fb1748fc0c9824add33984846352f995609a919dcfa03ef3bd37f0314e3189e21bd3482aa085a8884fe131bc50c2bb623dd83621e481f62578c621ac044b5fcd7a98f6241b1726189aa2d342c72144bf42ddc43761d100a858978885e08d061fa626c2876a29f854a1e8c3d507dc52a11c550b1d2021f863b98be1b2b8a91a4e55b443d4ba4eabbb1a218495abe8526da45babe8e15c54e54b350ad85a107abbfd824a018ee6051cd386af15afa18eb88ba05a05aa1aad44f4c4abb4d02743d052e4d84780d54202215a70338a23f54f5dbaceab779d76fc99aebb75914eb2215a6dfe69d3d0073532846c93a73c4050180af3a859ca51ff99128f27c18f869fd66c7bc7656212d25f86f3fdba8890809697befbdf7965bca2453b90d3a0d320d56a5528d527fba27ef5dd4f3c8a44cf6cc7e7c7c82241050464141017164edfbbc5548c3a57858218c95ccc20162b5ab7244a54705894a1217a5cacf6cc987fddcf8acd4f404cd5480526e583a2935ac201610eb871563f5b078583b2c1fd68c25cb7e6f77cb7187345cd6aaaf8ea86a525633554dcad332d8515553060ba280a0fe74f17b29d92c4da147e671981516b4285f7e69365d128f2a49b22ccdb264e1b06093b5227257a5bb5af1ac8cc8a628fea75273f4194a0684335baa1f958f2ae5aa662ad854dda8642a9da98acd968a47b5b3f2836725e6a254f15981f50bfbf25592b8eb2e5989b1602b31166c25c682adc458b095186b842f906657b39a7ee12f7f75c45d2a49bc251f09922449942859b24455c38255ace22384e92a26107559b11cd974b160b22c7fc58a42dc28043e180a894297f9c58e647bc85f2402c1eb52fffb48f503dfc5c8c2c9522b85339288dc29ad0067c934c113ed4e15d59a87c0309f6ebfc03f85333efdf3930aa62a98e254aaa9aae2ebf429bb4446419928abcf0359ace99c05ef0f9f572a39ea9a7ab0644a893cbf5931538b1f68b291a76df1fb144a4843bf254c2b4ea109e5d334c5dc7db7ba972f33f2f76d3a853436d7ee74faea4731c641a840140a754ddf0572fa2e858283e8d6c94bf004f5b956531b18caf546d6bc16ab07eaa742e15ec6bb8f1b8d40f0b6e4d5edd78defeb7fa8bbfad345752a1cd3ad8ed543672773df2f31b15b5d4c5b3189ccb1b4d8452073df62f7a73befd762f7abee515de7d295ba52a993a6ce7492eddc472281e065613279e526ea96baf5addac5f7dc9d2d7e6fba5bb7be9f57d4e2f7b5db65a2bee9d3a5572a81e0f5217ff7869f421a0a8486f2937982baa93f9dfc0ef1757a2d153240be4eb881a8a9cf3b41a5c2993953aae92613f85d7a3a9d4ea7ef4e140af55d17a2fdc9c909f85da9799ff2662a057e3d64d3b511e2fd8e7f9db416b557e5c8f5db85f6aa9026ec1cd955aa8ac2fd74ee7402c1dbcaa6bb125bc97151fb0f75512b3fdc74650c0747ea9c844064cee97a48c3c997ac4985409a0892b01088bcf9beb9efd6f7a82bead6f7a77bd2adeffdae74cbf7daad37151ab17d3fb27066b7be8ffbfe54aa7adccbf84a8ee7e816ebab5461e79a2b0d9d2c984c0cca9d4144ead248a267890944097047ffa0a02eea4ff794e2543959fe4a4c5b8509982f16ac0cb6668559a7abea96b6125bc94951e126ca82279f7aed02399d4e4ea99393512a15d23c09d44ed7f4557592a20a69be541d25740ea504ae4c20cb04b24e60ca094c0951a04a5873addf0a17f2debd931310bc3ce49269c424cbffbedb2c947026e4df87d2e2e505054566538d5cb110c5d54a457b563813fa6f92be0ec8fdafbb9dbb163bdc347ff8b2c219eddf484609e2a9229608ca10d698c223cb47fdc8f24f41529464f92a4bb2fc1516932cff536cb2fc1322b9c8912c9f8524cb5f25c9f2596117523c9502c1bbc2334d94700684ad429ace66d6777259a9eb23cbff54421861f65a56c21c82339ea24227759053815745365d53cd34dd9878b8e9048575593ab32547d64ef61b3770a4727dcdc4c35d9e8dc378a41e281848f114e7524c36eeaaddaa261e59a24615e754b48bc3e610d04a2c88b37cd02fc03fb17625662292e5b38664f95fca3d754bf42a37a55d884e9acde1cd220ad8ff2ea8125a50a43d0ac89e9c985ece204b951cfea8c2a9dd0abf5ed92d61f82854f8970219d442a20e7f259c017f2566bf960a4b2101f0bfdbd243dc4f1073756b9796faa69ae9ea2e8e0a66bac9d2aba7398cf7f26f28c333b781a0768b7b978b4d174cb76a8a142952743054ce749db074b2148a0003c63480fc041d48c8da370b0b8bb7a25b3505a342858a8f85335d2714c7ad086548170d4cb7acf821c31cc0e6ee57acc031d54c97aa2665326266d752542755287a5f68fe444101c1cb72fbd5032ba4e1589ef73d30e0a3345c8aca0abc296ee0e0f20d1c29eb2b92deab81a8f09bb45b50df97a25b35e543ae26218c40955056b9a690c0fc6c290329525490253cc2734773cc6e610965d0cc4d275468743a277b0bcdff260bbc389bae8de96d7670af27b6264d9abc8480dd7fdf67baa3ffff90867e48f319bcdfddffeeddc1b15ed042b8908fc304842f131029c2d7bdfd5ac30b469595bf16e8d644791144be73de39b98b5b742f4442a1a157f44ab90ae80774abfecab5c001ba55d50083d4ede115049642117a60c00abce201d8bd6e915028dda2a61b7aa5dc05746b860ab9be8aa732bd5a0832d440858bfa1ea71240ae6f4ac1e958c2bc5d98d262fdd04b91c23f250504efcd2a21da0b11e1e072f828d706e56d7688af27e4cb4b08f8dcbd8183fbee9d09c17ba5fd11148e20ba056811873434871e8fec4c0862fc2ac04cd3b468841672fd941e43ae2f8176511fecc2aef352a4f00067a3fa1de24bc80d1c4ec83509592b40bbecf8f086cf12d2780e3d4b28a3e6ae093a94f0ea96564bb75ce4fa56c4ba026817f55158c29910543d4b48c58ade3c647d85a6a25a59ad7880cbdc7b1707973d97fa42a490c00d69de9b2bb05e2e85bbfe323e7d85057e4873c194f0082cfb3443dd77ff207855b290fa26d37ff7c6f73770d8fcb1a8489142aa58c1529d253cf161050f2a3c1573ba0aee7572522f2bc6826ec937d9ecb02c1b0831869925832c9f07ed653c8772d8dd12fa15e0fddaa53e77c3912aa595ebab6817f57d5840f89ff8fd75c0f3bc1573fa0a8d075abdec81f056cebf7b41f0a678efb7eb777771feee04728a20f27711904f6eca63615121db43dc63aca54841595858a60a152ac0ee3a8d16a23eebcee8393deb57afba36372f2fd577155ca05c9b276693262f21ddefb02f157e75ab92a10632edb2baacbb62c50a965f91c58b4c0b513f75ed4b8871858bfa271e78e85839bc7e27e54053ea5b888ac5af5543fe295280e05d99ae8d90ee4dffa950a142ae58b10248ca77e0ab6e0af8f190d2f110d23c0ffdea68aba5f55031f5616311d258ec1708ca9f5c14949696ee0239f94cf78913ac75eb0717e7585840f0a264eefae3e032f7df773d7f1264b9a05be4b358d02ef279086184d971bb87bc30a36ebfbeabe5e984477dc4dc85f8dd993fda430fe1e7c37449b5aea1cffb54f4eddcd67f453883eaee6ef715207855fe9fa38a784bbe88e23180bb50402fbec4e4aaba283775afe9a2ee096b17c57351323258ed47942ccb2225550d0bc68289a0aa46556371885140f3a5a906ec70c5221450962bb195d86c853321bc2273517ee809dba69a0ae2d176a69a2c694c3aae14c91225431541f1b00867b89494fadc6a621616c3140e2ee3d6f75f0fd2fbc3de8a15e0773b9b2eab87b7e4f310ce709805db115178e819fa52fef1c00308de935c3f31a4a179be288a20785199bbac1ed78685e32ee4b360add05a6f17d5eb562569a0f5add07f7aab0582f7944d5755a3ba5171f7c63cb9363bb817ea53d7e626e685fa1ddccbf4dfa77d7d16e1119ebfaf39f92cc2996e25b6f2433e8b76d15830160e8b14159d2ad7da52bd9690866655cd0c6f7ea040b48c5871a12f5803a20611448d10210de55a7c17c8c99bee0df7323deadaec887999f00df73ac1b85bf55535d3c582fd68553559ba088d10657f166cbab46ed553ae61ae7fba28eff47e819c54727d558dcac65da797b9fea8e291e59f6eed96458dd5e5751cb8558d82d36587a1f9dceca10710bca6acbafd429dae09f537ff52a92e46f5100402bc5b5bac8f7251ba55ffe47aa45cdf8790c6fae043e83fdd071f40f09632776f708f8353a5fcf7df7772b175912f2f0e041037c2d08bba073f885086cc591092af02baa5fe0c1644a12042b00b22082a84105a8b161b887283507dcabdb12fd58b5c4f2eeec1454863b3e7e11101de7d2e5cb0eeaba5003e0e2e7f58f8c1776fe7fdf730218dcda07761429a87e15cae0e4cf590eb0781802e26a4b13100e85cb617e29e63015e52feee0def3fee76e1a9b64bfd533710a38a5cffb68bfa43f51f421a5a43e02dd677096968f627569a3469d2a4c9cb66c7bf4e7fb2e201b8b516eb9b6e373a75ebe4a6b48b0ac47873fd97908602e1bd7b2d2c40efaa68b1fec96d35003a8a5cdf71bbd47726e85882e96addaa3f6fd8627dd41d75abfee9aafa764bfd1f1cffc0c2a505fcaeb74b7d3c4ee025a4f9dcfde772ba2cd865e1b07c00c182cd96fc7959383e608499051bc30b382fab070b67b6e49f2ecb7477fc8b057317f28308617866dda05be49b7c6cffc812824e0742760d71ef1deee7aeec96fa3f8433f33f975f51497161ad505c54291797131717948bcbc914729925d2c88a42f0f33a171717176e73a91a7571e9e2d21708f93fd5d1346b22c8574e8a1bc772a718c14847c97d88135eaa562b9d8fc4a49a012675970df7fdcd5d21dac7384c0d6dc3a73a584dd3fa45a36130002ece89814c166b82eda093a0e13038fbcb1bd9021f2aa001d6541042908da6c323a7ec0a83ecdfa6306c2ab01ee3ce390d9c848bfe4dacfcb17b84e01c67bd5fec17118807cbf21de6dad6591dee4365b02cdce585de5bc4b491b18b803c5c0c61878518c4367fd8bba0b73c44064b7fe41cc6390c0673d1351d9cd3327ccd32823a42b0a32bc9e3cc0143466cfffc11046159c6a4368b65f9206cba3424444018923cd6d9127701714c6a6c66b01e383eb28cfdf8916f5079b51f0d4826711fac21d17ab274971708c76107aa3eea8f2c6b904aa416c9f2511a483e676d2af53f7dce9c97dc3e738a58ef2674435c7425594e6d1662829db8dbc15d280adb3f763aa00e0f2363f0f1436e233e6dc89fa859da65ca9a4bc796a69cf3978ecac9426b95f2e78b2e9ac18e9fbd568ecb95eb8ee5fd6d539d25cc5d202a7fefca05bd35576ecc6c9d9c2ee7e268f4f38ea63c1abd0c619cfce83ff9f7febca3ef50c6c798ecf547d7fb7965269db4842249e9841ab5d76ab55184f6f42bd55345d13bda30719fcf70d193188daecaf423d6db94ee88d19b9e7efd79b55a3f65747232f10a75c22b1426a24ba53bdac836f20cfda77d7303e7d54a5f9d5b11f15a7dd41db9f7baee2b0effab3244804480ccdd4829b6610a718d94af364c14db30e52ee5bdef2b2bf555d34c9f1a994c234d1b553ad24ca34f8d465aa5784c8d54a34fd93b23f51d1ee123d2cfd14ddd19a3d4b5df210c245cf41f914aa412e95177b491513fdba7cd31b3e5af6992a29ebba68f992e95f7ef93538cf62af764078b4753d6f0e891be4443c2a5d18629cb78fd0f75475346e1d1e6f99aa6cdd99dbcca6d6f9de01185ba364cb93e77471b99fbd37bfdbe547ad3979e546f0d6a63d23cd2af2f33455c1e93c8a3f71cb6613265d37ba38e5c22ddcea54bfa7e44b3e88e06c8de87ee68237b3f2389f0bf303cc310645085fc99b207a48c3ec310644085fc9df2f732eedd19f7bbf4b730461238dcb5328389fd7eec1912ffd1aeb27edb9559869ce130defb23315d2bef7dcfb28cafdc0078cb1bc7c4646ece57b93dab0c4eb33e2c671982e8fb66b11152ffdbb61fee3ff94ee064fa9e57c48bc37cc5a28b2f5d433e8bee12e1a2f79cbc2f2eba8de82e5ce491efb5c43768de700cec27e33df2d83c3e72e3d1867b009e88120a2406ff7b10affa4f765e394e765ee0fb4b620fcb7038a6f318c3cd960b929044c81ab4bed680983b8a23d8e42304c91dc54e923c76ee28768c9089e817f26507e70750a00111b0b0e4b5e5afb57a9ef7313a7baf233791e576b2838d620708f973b093f24a28a40bfdbea3e42133ebd53090efe99d2c62a68b7bf5f738a653cd0333c68ca2b824fbb320a2881631b0634ccc7415e12dff2376b0a328b2b0269fee0e3537414df464ff1c363642e8eff8d7f63e6d64eda594b24a59a5ac524aa9355123052b04ab839494b21404dbe194c3e7ee2eddcbdf04bde37e9cef73e29176cddf06562d7f1cb8752037f3e7815d08c3bf0ff44218fef903c12f84e1ffc236a7634a0d05363bfec53272b21ecdc75df87fa6207b43662fd8519359fac818619e2fe39a4f778fc348243e8d578d6184f2c40ed42dfe5ee2819d2eed3594d1811c6889d6a321d1947c374b1c487b19d78080b41e200d57d96cc541ebe164d3e918be51be56afa530d2a6b437a59c7b87c9c9fed49a58c0ec3477c3dcf08cc3b394d13dc40d993519dda449bfc0611da64eea220dec689140217dbabb6937eda6dddd4eeba5a1848ba39cf91cf1f1025050eae727a684f3d792ee97524a2a259592cae6e6057fd891cb72f09a3b7ccd326ab3ece02f315da2ef6f62bac2ef9735f266ba42b69b05384e79235dfc3b665732e8cb97b886dfdcc468650ecf1e173d2fb0903c668fdff0c8fe335b2e87701be9e2dfe11987679209799c3dfe6e238770f9a30de9f00d996d38ab8412db3b9020efb252e103441fe211ac18205fe1cb57886fc097e86fe8cb26f4e0952f1922415f22bce309d12b7c7fb5c374b281f0c2a73a42dc5c4f3803ab05d1745cf43cb196d32d74b09c9693dd5f1d16a1a3bb49de7ebea64487330fbec14eac693a3ce7669f6c4a09fa9c747b19b761a21dad0f2e81c35de037786d78cb9f8633ddb784126ec37fb6bb848b5e82c2da70d1bf0de4248eedeeae122ece1788a96cb6e2f0cd9e19cae05e0987e9dedf86c36cefbf8427bb77ffc99b1214e8e4addbf08a86fbed390df88f8bd2e7ce9ee933934c24601d669515e1820f2ef4e0420f176622f96a161e0ee3e13da6e98e74c6271d9bc8d299047d7f0ff2dfda481f2872e3f1e5a60891256241251dbb866ef1d7d2d02e5e5ac2a825d1c28ec3f4137a6079f4a09e79d37734e5fa5b409247eda79fb08523590b7226dd33e18cfb9453e2c9c496650752328e942c25eea6f43967f7b5076b2344e25a6f90d851fba9914a1c469bee54e6b71f10b7c46134256f3fefba52d7424c6c6fbfff3c29a5fcefa3947e610c29afe72d3cd9c1ca2d46b7d82218c6707967f6c2931decf4b4308c315bfaa4211963e2ee96c6d5c6652dc0c9de751e4c5cf4e7bed6388ce44a49b02d2b04cb7d2908f66bab555a33e7eca506fc278f4ee0e41afdf31b8ffe93fba7f6d32dfe251ed8d1831a68fa4cd7f71334f66bdf4079f4201bfee37e2345fb358ced27740196fdc66146edc779388cdfc897d49c0929b72b7f9cc0c9fd93b7efaecc9fe7c92bb30c675a47c6c91a964136fc2753ec35fe7e335d4e02d809b23f0bb2fb8de378cc8334a01f13c5ca590a6eb2bfe4e1412e7ff1903db2ff674a821de54d761779f4921c74e3412eba3331c1c18e36c85d5fd34f035b612a239fcd8e7fcda71fe3c25f5406eb5c8dbd49c13e3b8eb79ac74ff69789e1e193fd03c08327fbcb6b0cf2a48195ee35b61b07158d462311067282d12807d69f3e87fad1e8842a919eca0f51a7120904411a72512a9be490a85f8844a150bf0885c2b05f842108f60b10ec96eebf7ec1bdf83ecfeb179ed775fda2ebfa45bfe85abadffa45f8dd6bfd827bfab55f88be83f9befbef6b0f51dba57bfaa25bbb857e78b71e82b60ba5ddd23d77b56ee95e147a1cf6802a872f2595210d9799d09e031fe771dec8933f92ef6126420ce404a31fbdf61f69f4f64d70f2a4ffec893d29d1d1458d468f4295e48f24c99edc7ed9d1cd31fad3a3465808874f1cd0512ff85e0d88e97bb474ed6cc927dd94e779de68e479d6eac0ae64704f9fb32127b9a08e7257dc56c64a9656c3634aa4fde22f6817b60845b27cbf32cf3b7f646985220cc9f26fe0e87ebe07b86f0f67b8f008f9fe9c111537135be698d832e8a2c49c8747480c86347293b65be46b986a3cf8e8f71d39dcbdfcfebb60b778f809ef73e87879ffb97fbff7d5f3de043a5e1e3601f81fdebe5feb0bc4fb0df4f009bc9f1eeed95a226bde7f5ffb7bb86d2ab7e7d982af9dfb76eee98335b6e7aac6cd39a7cce4e4d4705337d8f9cd31b17118739809edc74d3edd5e667297cbb2622012ebd0e454c24b5687c7eff0c366e50f7d3f889f003f878e17f89f87331cf7e11a38686662fbd103bf3e05c137818e17884d20fad0c34c6ccf3d90d06f2fba51bd42f804e04f109b7260e7d313a45e26003f0ca50984503b5bf253a9db392d01f8940eb1fde87dcb009fbe0c653891bdf75e9629dee6c521f3fcaf3bd4ffdfa789d355dfa3a0c324a3e4b6828e18f2e760fdcf7facdf2facf635a4e1e073f5c5e922e11e61dc3384c794ffb83283848b462895457846fb6838091a213c722f309506ebb8bb85befc906a0f6edd8fe083da83df20d85de76fed3df63c3c72263658c9390c9d94d2cf1d053bcf549bf32b15637c9ada0b882ce40c8719c5b167a23f8b1824685cc04d6db06d62839d630bce61c69f47d0af317db4890db6f37ca9b57051ca3c310b17dd65bbb57086dae9d2dda77c9f2ecaf77086fb1c790d567e00fa453b37a34d6ab0f3bb979f3663bc6dd3344da39452efaeea735a3843e9b65d99bbfbc2d18f693a5fb264c9025f6a5d694f5f9355d32e8bf89f4abd388cbc315db0f2c79776d194063b5f764b7e3752b1b8d8b2cebda0ef6b3b2e916b685fef13f537f7faf2657cbb3968c523d7b2abf6b559fea5858cf1274834580abafff7cd29594824f2943315b7bc9edfcedcb4c1c26d8093661a7e1fe3301de3a2775f5ca4dfdd162ed267216993fcfee17d22fc500d262450c62133901084a1f0ddc330d45193b5f02765913539c4c54a4759236b289634c3e47f9f26e594d747a63d24a5dd2d12a3a0655c10bb040e87994f3311323426fd5134404da65f84bbfa55440a3d681fc9f465bae80bd3984c7f944324cc0ecd13f2b10387e671241e8485213892c97d4ec1fade53b0f2bda56920375db25bda77f7813c697f93ba9c21cb859e7134e0198630839e75bf0073ffd749ce65a55e3591286c189713ec17b25be837f577d91d86ba5b289dd2754c39977ccd327efdfe91c4b25bb411e4a9e1e62e375b9bebd05c3ee19b65c4373ab97ecd99b1fac361b6afd8b1b475a7c6b2d7c8dbf9a364b03264c156c00de17688b8cbf472f24c17caa3d030a1998b3edc15ea992d9e108ec38c4259081929f24452434241c6d00fd10d6cba463cb3259bae9b82e5e57b4c1ca6e6b37198d2f37018d28b3baf93cab1b13cfa70464c82d02f84c00da15f88525ea5cb999c8ffcaee627cba0d58fddcd1d8177257ffe6ef87b62bfbe0d0c65a1614a536831347398128f877aa6ab540af594423da5504f29d4530af5886eb2fc11cf74a138ceda54ea1f251bf16489024ac952453c65e403412e3cc28e3691487473063baa6e14d0af9b223c4666ab23ab1e56cd2a6805b4fa59f9a88254311590ea47e5a3ea51e1a8602a1ed58e2a473553c9543aaa9a141a4a02fcc582fd286d210c940c4e811b8d4c1d25914e1ecd21d25209059e5c217ea212a402a4f2a3f243254725888ace1017e58e8a8f4a8fca8c47c6ea61c158331ed94e0ece4aac46eee065baaa1ad58d8baa9a4f07df94ed5e53486052ed746f0351df14ce7867f23870e59392a1502a160cf40bc464828928194a26d399ad942c35e3386b53a9d46c25f6a566d3b542d29364a6e427cbd512a02c574c82542c577533f2ae5b7c9e72f60f707d72224aa5520154ce7490e78766764cbdc8503c36cfcbcb27373588a9940a78b23f8b656361b9e834bcd6df9cbae845e8c8a91e9f7cc9b66db3619244641117b74b5fde91b361e23e20b2277c7cb6a427c5f2238e245563fde206dd3cc0a3a8a6613466b54ab711158d621a500c467b60b407484a225b8d4d0d36270c060fda75df5339fda2fde251ca4d4cb0a3074d89056b8ac27ed24664a18225414418ac5770246bcfb28222419e8e39f29767def0c8812c6fc83c3a6cba345876cfd16429598e865d053b353ab3d54b0b15e404a1411efdc5882bb44bcb99fd42be6604f7c9aee974a194b59ce9f2a06ef9e7c83c48a6e54c57bd41b7fc2b0fb27f8e6684ec3f4318a92c718d3dc172b9adb002a03c6beeebe21c2378bd29cf1eeef21c6dfac8fe9304edd246dff304df2ffa7da6f56815e391ec7da6f5ccd498d2708dd623ca63ad11e551ebd9face1a9bae49826ef9ffc8fed3475d414dc5c1f1e130da120dc8457fba83d9133f8038700679ac41dc0776acb17ef186eeba3c52a07e1e3b7a1050ed7fd15fb0090a3f5dd7357b5c3c6b522d5ab060e1412ca9046cafc71e345b4cb02b198f1b694df5478d4d17bde152e093691e6b6c96e35648c12cfb1187e9721d12e34114284786290adb618c54f69c6e9159ee4319618c54a637327b04f75262ca440ccff2696896b4a65bfc35a9031d2b944009ad9131801624738af2038b42166ade4693a9c04519ccdc67d3f52f694dbf9098886eb17198223639b760b797d983a6cb67b35b632e6ef86b4eace6340cf22861806b4eecaff4117bddd088fe08b89844cfb66ddbb625f1ff83fd4bbb35e6c88dbdc7452cc472dffb83d5ee055c6c1f39da7eac28a491ae50300ccf281b25b97f9d1d7175143398e641b20485b451201a14a34b281387a93846fca031fb33d3e3475cf420330756e34133e7658dcd39678e9c1e1a41a084690956f563ff6c9802a5da99b838eafa385cf4dff012a62558d18f0d94ba41334775c779247bcef4e92052923e83a2f9c361bef759c4e790ec35e62d0ff296ff088fff299b82475b59398d476e8547ce8e76b6f91117fd49dee3b3dbd5d752a451fd50fbedda4da452a544a46d54c1117c1cda2af528a8af392a9fba2a289ffa91cb277fb2f223cd2929a947e990957a2943f4dad74b236f2ff18af476db36bc2261223adbb76fead14bfb5f39a023dbaf9f7bebcd62d9db8fee681f54fd48f55bfdfe926813a9ea8bf0290eb6621c5a49f51baea162fda6558c43cbaa6fd683dbc96f786c17537e05531753562914945477ea3f0d9437f5b2a6b6ef717422a77e956ab97a1c33a7e4ca732ae530281cb8c6a47dd476512a496a18df57725c4b6d54bb51bedb835a85adad98841bb4286cb7ad2b60ed6f2bb9575454525258acd50a0545a54aa54e4e50a8d3c9642a9548a4d1c85a9128140a4310fc3ecfeb727759aa5458f4a93b72a91fb7dc2922d5a3a4f4af9eb54aa1e0544b0a8b5af40dbe7c118843cbdbe849db5bfbb6b76ddbfee4ed734047eed7b6ee71f427fbe08f30982f2a8c65f04db7c66a4ee9bf52e9d2e4b099a09171501961f8a10be4bfade8df9f09d0cf2743f0471ab962e7b67ef0d69c1a9b83ed1f2ebaa5f95cc1f770069c18872663a549932679935a630f681ef0ccc46cc2246f5fb38889b1fe64af3159a69288345283b466936148d97fe6cc21ee6a26f8340f1872b27fac47f619fb6451086192c71964de64ffade94d47a3d5ffa8c888d9a449def08ded6716bd6c17d16b1ea8223062ca1645bf853432a64f3943dacbbce1ee161106f25fc1d06df0718b1d3dc7732a117274133c76acb1d157349ac4d2c6fd88fd3c7a90cf8ef4101fb2be77e58d8b3c6ea4d6404972fd0f0c652c21f18a66fbb004797b1d7dbb458959d8ef93e1f6f27a40ae189092021df488d5bcfe81dc17808d2cdffb7804ffffdf26001b59ee1f3d08460036320ca4460036b2d7081e0be917b2bdbfbc425a6630a461554105355926017243130dd09e2cf17f870ca03daf67c0fffd8b9d80fdfd7ec9384c93b17b654e6cde68f8b10f56c6e98dc37098fe774b0faae18cbc35766b8edca9b1ecd5831ad73aa66aac47bbe3a27710d7b804b35fe7cb2d9c915656539e5f431942c8c0c819f29cd8751c66480552711b69186284c70f19cc322bb71570d690ed37cb68aac9fee5d88cde7e1c2764bebd3bfe6585d0efeebeaf0d306f55f62395f5cbb8cc455a44d6981671f14ad86cd95099bba03ceec2df1464472ae391f8e3fe934172e39ff329e59998f2b828bac41d98b7efa8ccdb71980dc7b2c4e1c1944726294fc552a75bfc3f9737ab19d67feb992e1da3bb924f92f2473887108991183d09e758c9ffd1e7207de915d0af540e3b5bfe24fc3a5eff325bfe3a5e12df40a2f4a757409f708e121e6deac717edd5afd2cf982dbfa1807e118173907ef43a5e24d25b5c637afb242c4403af15c5ab07907ef4489c1ef5f4513887108a9120fd08e7902fd29f645ed1f4d76fbc922f816a6ab2cb6a6a6698f06a86e9574858d3cbd70c13d02f8be96cb69ccaec6cba56fdf67ba66bd5789580d1c86227ac7dd4c93b81ead7e8fb756928717d2eeaca64a727fd28cb3194d9d8d847bdcde84f7ed59f7a1dafd22d95bebf94c2394e300dca81c23d5b321daf6f74eda5b2557f89da1f3d12f647df3f1a7d09e7684c7946f2456fe816ff53e826fb93704fd10f16f9947adb36ab596a67db362913a84cba508b856eb133e9622514340d0d538ab90853ca418bfea2a7dd3645415ca5391079088718c41fee3057f1369b787c6903ebc54441f6060d63ebd062ce74596c67b3e5a22051902848146467a2a099cdb1339b636736c7ce6c4ef69736a85bdcce4ab118d5aa28e54dd568cb1bfad32d1d070404445b52f951f951f951f9d5d46c3f4dfded4c0ed198caa4c542bf909832a15b30fd5182ad3f8a7c62d6fb520d6c85a25f74bff0ec3239048909fda2b34b2c02ea168eb3404025d2b6f96c491ce6c761a41287019a2ebb998884b20ea459d2988858f9e0977eac6650d94dae315bca29c55c0c65b1308824e3b494cc5d96570cb03ffa117662f4f6fb65ef04831d6121fd6369f6790c9bb839a88c0423c14830128c0423c148301f1f1f1f1f1f1f1d1d1d1d1d8dca361dca4367b4a7fb85cca31a4eda4ecda7f3c7966635d97f0bea17b33a340c4d438bb1e9b298caec7c396eb312c791ac2dc56c2cbb86a9103b86b259cf74e978f9977c4a3fd3d5b2927f29a85fc8d067b694580f8f2198c8c767baec77326d9b6db3c6a3dd30de8066cb9fca5c2c4279466fa7b403db99ae648db49135b314954919c6a68bc666cb7fb4b12f365df677686cbac2d86c1ac3b1eca16c6e3cc8fe1dca76a8cc9339ccb8cdb2bf7b3bde4e4ef6f788380c2d428f7845b2ffa7f5d0229487caeccb78ce74d9f7df72361eb46f41c8be1d21fb1645289332bbcdece576666b9bcd9db933dbb99fedc8d6b3cdb89dd9f2cf129766fe93476f679b7db138d8b1e4ed649f72273796444c3521974103934f64232464e9db32fdde1fe298be32312db1ff283fc6458fc1776c4aa5a45452dba311ee7993fb47b3092a93482ae78fae8d71d145b288c388b0fc7e94899912cbe01829354091c040c92fc354ffb4a0ac821c826e41ba788f8b2e8df40b49857ef17de965bc0261fd079a4c52ae4c26697a2f8c81fafe9652bee95d7ee72e9c9198cabcff3e2b128944b746ed139168beb55364bfa61e0a3984e867dbaf8d47979144f36ddfd1e6a63a72cca6a31340a21f41964d7a497ff4a311879344df4fbb5dca1fe908d7b02f7af954f4770444c28de5154dbcaa3f7afadf27f148d32f8fe897a2979959744f71b074f4a81b8631522f710df9a20753a31165547d618cfe1a33f55ecf89a2ead4ccc8566badb55584ede853eeaa33d074a5a46097f9cb6a65c5f32b148e471be0279a35fae5cf9114c9a6084b28300e8957f6474fdf65d3494fc13c45ef8d3846bf8531e6d7101d2113817435f1c8819116ce8cfab6adb9fbb3bd324b287a1cc6f4fe14898f4966d3835766c9c34d260f674cf2b92c9f2671f147fe7cd6d31fea23a94ff6a73ef4a773143b4bb215c4b083735b410c3c59cafa4514cdbaf2558a010fed31d119c6904d32963c746499fbe9b5a3ab234b1c335bd38bbc59b75f52364d97b6bc9e41193260f52948ac3e875483ce8bf5329e72ab0bba9391f0c8b146dfa11123aa853376ce3947244a12359145dc8bae16c212c7c550012196a00cc8eab73b368a4b05542d47eaac704a1ce25286228b1967cf54c023fbcb223101302287647f53125ed6f81077d1224698649429bb53e662122c95d981ca98f82c428164748956a3721f6860a2269656f956c1220bef3a530eec604dd121a16062665a51ffb5d6fa1a0a8f32570d85eb9d5326919975d431a7764d4f2f098f32934c5f4d9d4df54d585aef912ba5df04f39c50c821c6d766be3c2f906f744fbea412335d2ba2c390deffd3eed482e89209e44ae40d96495c9ca8d26b230a6b583ba17cca77bb567e547d0acf18693fc3f10882277cfa95dbdd3a8d3866cc1c6d8023151c339fdefb947b8a8345c136c03c3a798b479a1abdd2a75e86316ad0a779846b9ce01198e9a7fc6803cca84fc128a89ad47f0a8f92c77c0905ea47a3d2e951b806a5f35422bd762b683a79ed6ac0946bcc3ff96f82f7fe9f6ee9c32a77e54fb7a480fbff339c09da7fed30e3f6ddcff928dd5607bb7de7ca71a18c7e2ed3db3234cc04c59c0c746d0d92daaf7ecaab8bfb6d4e969f5eb5392938b9245f77a28195f1d1daa0ec6f7a695184d51cc75d1b60000c006aa719d8f1f3490676fc673981fd1624b126966e9cb2d644e9a7511d9533814decc871a0e6b24632962e2b5f9cf0b5ab0544ec8becf185df2ca38c693633dc85bf8d90edc3ee635a501612cfd8f1af242ef7128fbd043bf64c26e1303e725f6ade2466f46cb2927018dae11949f46c62245cacddb3246268bcfcc8fe2d6620d1490220f2e47833d8edc76709808b2d58d030dbda487e79e1c963cfdc63f97390660d94b0121aac7f8ad52fba7bce9e7486d39052d61c21cf9838c60471c6b4c087c822007607d6bf93f820e93942391745c98207f685fe28ce588f540b7a647fd6cbe481022b89c0f592ec4f613d7e50589654c29a0a57c071985096920e3e3e1ca6a9a0869ca0203a594aea3348be945dc8f2db6df77051e26429613268b6a4e74c2ed8520fac7c1994e5bb944e847629e154c8d29d90a52b21cbf720eeb2b12fdf87f48bf97208dd926f53598678fc101ec52c393cbee41858b7e473964ad7be1f45ca32e451c286d0d3a544ffac8c292b616be832641fe5176416b24f413621bb4c024dcb327d2538bcf58ff673db457f87da7f9a8a566e00c52304b21c29306121f7447196fd59cc66bdbc7cf6948bd4099daccdbc880d9fbdb80bff2ec88ee24ba5220bd9cdc1529f3f60c1cedc5660c7542abf8c079f8d10d2eff8d7aa6d7da9bdecae2465b70c755dcbcc2df738821c32ddcea637f5975ede2eb52c856a28f4b576ad1f0a8574e450e94bd724b5d7c299faa4cb5977118abe84479b4ba41ffb39cb3de8a2cb07bb41a73074fa10de4d9af49bfeeb6bb906b17598c626cb955e66cad2b50ec3b9e89fbc96b3ed22e98e2fb94b2552a9442aed701d6732e1be434a4530754d94ba92a97bd3e542af71ff2de3ab97712228c92fb9674420526aa067014ef667e140160b2f84d1b68483663953ba5ce936fdea95a5378da3dce9f02843fd8531bc0fc92145903ba170462e61fffb485dd775a45b43d4275d577a1249f5a58ef4a29322c821ba2fa1482f4a893e8547cfa49d5c92a5efbaef700d52d7954a60a948776b74a5921c62229247d383251438fa31345911e9258f300ecf22f9631893250d0c92befbdbd724a2118a4adf2adc959698ae2fbd1c52eabad483a6f7ae288c517a8943e1116d4249615558024b25149ac154e9277f241289442275a42119445dd3cb4ccfa3315d2c167e97ddb27f6cdc7682e04b4ce31aa51f4d970c171a41922fc27d2d1e456f7af0c3b208e0f8924d6d9f23e1516e1c89047e386a1bce984aa252a9542a89465fbfd61777cde81ada99315d2fdf4e06a98cee4d1fa37b1336d10ce67ed14896ae8e2c6511a40b08bea8effc243863ba5eb85c430fdefa32d3f5e2e110909ddfe117eed2df3cb0decedaea659cae9ee5c6f351d3c2010ca802d196c86d4777e1efe5c04aede7f79438c5f296bf8703cbe1f66e60e777bf78162c0c4953d3dc7a60fde56d62c7bf4a32cb29bf891c72e381a534302fc147fa4949d786c3215d1b21da93de891fb92209dd48a8399c9823c9daf77d5ff87da14bd90d23654ff8637d10a786573e17fbf0fd51ba1fc30771e8a37e7844fd1a21e662b862f95e85e762b53e87e3a2c75c74ce87f6f3350f67bc973e781c8916dad1340e870be22edf670ee347bcc783b223c99e2989f56a114ed346f930bace396e74bd24de8f92d0729fb92ab277e46239ea1da989c75d219fe55028fcd07b8fc3801f0a3df580f24f9756442ca2f150ada3398c31a59c9992c17a40de1217ddfb51e3e17cb8e879f559db40e67050ea4f4e02217d77470ee3f0bc6120abfafd223dcdd5c645519c1c0ee783e788bba68cfbf143b27338d99f8b713b9c0c84f1f84fed59eaed9ce362fd20990cb64e1cd2e57c78cb7162310e0787c32631d8d172383eb858e779a10cd9a44993267545e301cf26179df424fc3203a0f18c9ad6336a3e1a8f1692594779412cf3641e1dd7e1f122db1196b103daf12fee3521d87eee6eb38dc7c78e1b0f15831d371ec96d3c9b11497ba68b7b7f7ac46162d3c5e1cd88ffa8ddfca8d5fc48832810fdf1018fe47c4874bc243b9d92eccf6d4b32931998fd880c1b6f3c3b3a2e869a607bd46279d362ae7329129f243f4a688f916db6f1b8b8f1dc903fbb03aa5e8bccd79efec4cd7176369d9208f3e64683c94f81c1d2d309ac7fe7233337d2ce23bd88cc45996ad8fcc1d72e9bca22ac26fb832956cb56f4a9285fb2c4f96c6cb38cb426c3d872bb6c879a10ecd83c7367ee380ced2adcc0643f4bdcd55da8e92adca0c7c7046ac8e3f40122810db236e71098e941799c416ea6cb811a3b5092194db8287a8d12592361526a2f6b34ad087789be9fc3230b9e0d8fa63c364f48f4ce7d6ff3cb8efc10c785d682d83ddcfe5253c3b333777cb2ff245263d3e306cda3ac9944bce5bf3377e64ecddcd979811d9b6772e0114414d1b8a6eae0dc1b258ec45981f4313b2293fce879edacdb8647fa2d712896311f3c385cddc65bfea132d851e2c4da87cc3339eb6977491974cb3f083e78c083b33695fa59f6c663e3748b3cd238fd1f8de9e2386b53a9c79138547b1832cfed61c8feed4e263536f4868a2ece20790125684889734524561c598c9c3ce22d7f245c12a96466f282c871cdd139e6e82c9f72d2f3f9da65e59c6597978612655082c60564fce32cc7ad2096fd411a17586272e923e3d963f29837e07420da83eed2bea52cc272170f0b0bed0b96fed7fdae0b78cb5f09cf122634bcd0f3b69823cb29ff6e63f8386fc72327b5af55ceaf58fb468a69b7f457399ff0c9f86619bf587619d7666b1756868ccf7124cf2f07d5f123cb977177fc6beb7117eef38d33c8d6e3303edb7a669ed77dd7bdbc6398a53793db111747d0f32ad7bd878f6c47343174273fda94e779def7e07cd8ae7bfad9f3b4309c5eb659d7755ff1dd8e743f6e330f9f9eb07294b9eb7e9bb9b8f5c4d88eac683c779d1319b43183e4973eaccc26a5b43183ac9c8c78191ff2a57ee2b1459e2a52b6b06796cf75f7b27d642311616a6306c992c340643cd086b127333792c175cbe9537f32423ecd237cf2dfe1cc5df1dac5efc99f3cdca5e9f4d0993e749438b7c43a933cb371551d1d3fa283c479b84be37a581fa91f1f24fb1022b2ce6672265f1a7157e58e6469654a26716ddc104b045624f58387df489b1b2637f26db84bbb49c2a5120eb3fa598ac7fb6149a58ca72cb917efb497afb5cb93cd16ed17a797ff693ad3e539393a393acec333e399fdfce8fce86c336bffc5514cccbcb999ddcc6e26c7d9c9c303e381f1c0e80dcd99736e3a9cb5decf7f2a65edce0fc7592b633d0e4f0640ee222ef0c93746c25024f3f0f43f4a1bc94ae5b5171520bf1e86cc05a081f1a2d7ee8a889f799101be73a6eb83ed709cb53b1edd798e4bfd984a79a7eb15e1992e4d478687003c03f8992e4d00fef3f3c2c6fc8f30a36d36636ea6abce5afc981ab93ca6ac4bce0f3f722cfefde7cf746d37d3b5e98ca9d18e29d5e7a81ec6ad01e3633c1157c6cc8b0e40c4af0e8061783ec0d3fca6c47f64559e2e9b0af35142f6e76a381b77d95423606092fd391eeefa60481ca68df8f8c807a021828b71c7f0b987719740f9143f736b2c81f22a9ee54577ec9efb10163895d77efc60d9dfd4851f69eab1f447efe6e46f6e4eb49b8ec9f50a70bdd7f5f2f5785caf878e95d1b14f001dfb03c033930b00cf3c0078e643e017d8a65cd861f02826cf77a101a126ea5be8a05e089d2074480f04ae2f78b42eb31f3050e95b2a100b0cb4cd609bcef401c37a80b560221e5321bce99cdac58f873722069c1c446e2361389265a8e12ec8c56e898bae0585a2b0d445ef4534e3ef30c6cc222ce32f2ff8df5df9d11d5feeb892f264e2d83c79277b4ff6a0b1dbe97a3c9c1b34f37057a8b82b192c2f59f0183eca774e715732c29f3f710d895733fc943bd27ff03f104c030e7a9420b9242efa0c92f17b28a3d380831e2299621b2c32c6b8c58b8b534ab97257dad395f6fd32e286f33c252eba7d19ce683c5c742045bc8c878e58efe72794859d9e19609b6d47b624463c1e8739e1f165c5224b1559a6e4d30b94a7a747fd77ba1ecff5645bb0a71f3d59f6222efa3653c1294057660de839ce5a9306c4e2a2e37c0eae2ecbc514adc21072728721771584b09365f858b09f8f6c412e6e3337d8717ee947efe7e7c3b8a9979723228ba8ec25cf569e374f559e3fcaf3bb766d327e3ed72f4e3f5fde1679ac519f8e2d0a60e977dd774f774257b0f447ba438950d9581f0cbb255329f3e47bbae4732daa8c4bbd254f18ec16f9e0d693fd47f7e48edbcf06949d0ed9dfb31193ffbb9eec7adfc91de59f7812c718bdb782317aefbdef2ce5e5f0c822cbefe814fdbc32f3e476deec77349f46eed62015f19d4777b4d1a26a308bb51b4fe6f1741fba2bfa74555faee8f7ab08703be2a26f7382e0d6e3e2dd66b3d1e32e1019ffc9784ac45d32de9feec8a074876a40de1376f391739b759dfc22aeb6c45b401ad0cf998c97df99c1bf83831db719f54860b7cba25e91d239a3541a710de02d7fedca6c3e45e089c7ed679bc9c05f8cc61df08417c791f17969d145348f7d73da00b3a751fa32a9942f1a7e71d15bc4b400bffe27e5bfb470d16595feb38ef43fefc5711c26464a307bf8591ca6c32bfa2bed651e5950af3ab0ef3232ade6a864ac35a6558d328668040000002314000028140e08c5a2e17044a088b22e0f14000c90ac52785a9987491063ca206388010230000000020060900400b90412e0108b8e11c960ba5f2f0c874024f095e8032eca8e507d485b48759db07c717da97f461ad6d82506da0824b7efc964be8ecfd156507ba57792b711633a04423c098e16d1ec9ee7948b0998341d8f4ade49796d0fac692b116246299eb15490a712694da20cfa73f4da8ef1430bcdc2def8d0a7b7b056a1012bdc4bb6f380037c41c80d40cbe381f894536cd463ac21b3c565490520811588e6eb8d50b15ec60f6cc38cea34f2863ad7741e36bd205984ee5046ccb285cf8935239e12102e71fbefceca26c1ce5e9536ac6073c13c82687d123379def991b8ec0c571a5db639969eaed500b360fb9b45ac69b054ad78a408c6f37ac7ae868d12888e41073f1640892e53fe81400fb9f43f6b15d70d636d0dc4fab709b94b84bb8bb80e2890bf805910f991e27acc8b3346a7ed759a427c25c7755e0bac84f5f99940ded96fb53cd2ecaa61e0a504444842787efe3e809dabc13ef724600e845e75d9faa6dcd9a89054fe0538d4dc0dff7cccb0bdafe5b296e69890be682793551aa27aa2dca91b5a7fd0ccb71385493c1982964c7bc68253f265b14d7634f3c0551d68b81db87ca8d6d6de6c115916d3e5f6cc0a0d80aca6a9ca1041aa54443391eaa59039bc6653837c8eeda39ebf58505d44df857fe5147e71fcfa748ae51cc7416dc2ead02e4d5bb12778e5abf407d31ac4bac2a97bcb472f6fc516df310c788d435c0da4221755d18ded1850426202fa80f2e936af4606eb1f177b3fabdae4473f22c01507701ffd99993a9b92f7c02295a4ca4def30075a124cfc5bd1eae2aa03f849a25ac177c832a84d5aca0cb0e3b78107fdc3d5f1a056d0633790382d92f8285e546b4b546b9c15fb262fc19697b04f5b874bc5505afdad96cf1e63e56b50aea21d66766d1bae0f86cc563b2588292c1f5c85f9ac7bfd67cf0ba257c18b785f36de26f61eb033f5b7e143d40d991864bffd7cfc9fdb58bd8bc4528088d910d67b61a8dcfa0f5f494bf14a2dd280580a020c864eab21796a6a2cf7fe573f1b33f344d6a7dec03e9e3311556ef0bf0a108839f8eb0b60d21c74929e38c56b5b1fddfeb43cdf0b297b6cb1fc539ec5d3614eb3d130c05da2b068a40eef60e399c78778a709a575850e3122b71bce430e09d9fbe7117021fb5bb0187c050892c26bccc5de3f489a0c88c0023362acc12b74b0d1613612366554648fcd34889348b653536cbfe4a9951635aaccbaaa1d90f7d4729823178763f3ddc36b52e94bb4a8ada885d643cdc943dbe1398434dc69d2749a2fa35aafac80a0c5b5e50d33be84efe34d1df84bd21ec09371d8ec0a748465cefb08876d872198f0131721ee2c2398338cd09f10207076684d5b5e17d8146ca5cb86232b6677fc63add09ff7e31b3c23cc695965d653a120c32ca6cffc003c34a14621ecfeb1eeb84f2496ac68b644f9b0c349bcaf66852a24246c3d10576c196fc574983fdfe21c26c4ba4a02e4844f298d822788abcb6fc275809a52e292f0033ab795e0167fcbc70a1a64109f8aa5b707c8e0f07335cf77582c76ec49672f19702baddc10f1690bd92941e57584955cd4d7c0bcc7401649ab455a7388a69a7d041a621e90cef092dfd0acb0c06e0773e1ed23d27993f82b5d3d7405cf448f5b47f795146312234878e83ab731da12f1ae4b59028cfaeb2179549c3441b719704199ae39d7a216c9176b983f2dcc4e1f614e938477656e9c40437e4606ec46815107c66340e6c58a2e6f8e342112df8a6c1a94ad00db20ac2c05688202b6134184e8fcbf22638935ba52bd0895eb7a672c613da8f246002784a7a082dbfaa33bb4f6416ca7e9bcf64ed23495a16d82ae34490d4baf10a02306003db347878703aa8960b23aa0faf2a3deb6559839fed278b0c41d9a854c0780e5d26125b4c2a425a4eff2c92839f0d274efca1e78d74fb3e9f94073e33c299e3aad3dd6b56c35d4900b8b72b7b88353c2c3e7fa9227a2ba024e327598571d3803dad4ee98e0fdb2d2f944df34910a96078791d49630d3d9e9977bacf60ef93c9592c3f34bc143cb47f210e24c3493b780d93333847674d7ad40596d1df4b38679e87859bbf7a003c1c604997cdb1f61b39700da6defeb62899f3434601013ac72bf6986a7c2886eddfd6193941e4693b9215e72ceae3bace84ff97b209de65e60b209b19b9299decc2a954412aab28c51492cf3e822a2725689a673ce2b0edc131b2885f2ab400b94a2b745707d5283458cdee07a934c9431ff69f6bbb5d5d74258f3b12a49902d13e309cb65ab92d4e46412249f95e312d884e601e014c135204b3572557330ec45fdb852832a98a790990fa9f21c421a1c41fb8599459c8c6d08da7bf26883cf6c1189bcffc4628335708632d67abe0dc680488a59e49f54a32930b92d1a71de36211f11d284c9c0693e9960b128c7ea6da51c920fba09057df202cf5e61d5ab75b69c35a862e9a47085ab680974980ca8b85d701b5e88e05dee27bb1de0bda1a5dcabeed1fd80113b2c9a879f4aacc776bfd7c14a7f363763d6d025078b14eaa882a6c05a0eba1782c10887499051fbff463910c895da22e64edff4c61e911a935214becbd996ad8094458dfe00fda27a63efb3fccf9eec3a5544e566f05991087a6826698d9c1d9247cd9d8c10d0d923f75b8140bf2cae20c53105f4b6390a4bf2fcf59220778154a90f487374dd999f00928cec6dd94f51e2bbcdf8722e9fea8b2ae164690d02ce4f2869d48560f5b38a3b335ae23eb2f9fdd7ef355068a83e4316d4d41bb667b3363f64e0ead0bad4cc7d4785a359ed82d295b2e34342ea8cb2e19e0d6bff0173692747ebb6c2911a8c53cded3f5f42bf96803738e3ff3eadfd37b5e4f43661083643dce75037db7f5f5397edd9caf8b149f4724e2483ce959ec838f9283d9902b27a54736d986c5264d027177cce2ea8568f2d809e3950f99f0c541bc22273a0f3ed8c6b8a06f4b2245edc0d8a074bb6ffea168ab6215ecd35558faed55bf6d9262477cf9d1e6fc0d666b7cb84ce0a73830624f8008dfc36140494b7746b7ac667350087677a6514824c22c6da1778f1be00516d53c39e2387b88a850d7ccb2de66702a84ee59dab2d6f530335cc0527607ec171aa931543d4a7e703aafc1f288bfd804793b49c8e5299c1df67f6b487eab6985cd9dd7a4766cfae6008c4d23a629b9c3c2c1ec0f304140402dddb20b63a642b6dafee71f121080044093ec5626f358bc0a8843c0bcc5f2c218510392423ea0c399360d608f07c8e7bb466bec6c3c74e4220ac06e4ea9c3fdc8279b54a801302490f1c027122d9ec66905252c4b4263ed440043fd14920dd3ea211a8177f65fc7633dbd8998c042ec2e2ec6ac0d42bb1d993cb664d32e2516592a460bf0444c2da72644720ac9a2c4ab114882548dedce39c4a41aca1f187e011886258335adb958f1f122acda56f9764bb7adc5e094860339461f935fc73b4969b32b4c0c3f5ce68c29089dc22231b8a3d02014b1cd629819c0dc7989388b146e92a8171aca63b60cf1c2c92fab3225059cb2fe3a2dc2c8155a4d60d076a2914080f487a38bbb90426e5fcf3ea60532418ef08f62a2d4a3e8377f1ceb165bcfb12b44801ffab4ad3e56c0bb98e2c1f973bd9f6332d7cd79a75f5a884aade659905f37fd22b6f229f4743e5424664779749322cafcccc3b25cd66b9c70bdafc52ee471ae13a3c2856fbcf3a426eaf5fa2962a17804d945782cc461927b8781739ef756f742355aa45e3240db0e255c2c3e4b3b910b64ad88b658357765203cc53fc5ba1f947a5b0771fbcfb8b1e7e5467d8f3c0133b9c2f62f315e7fbc75f3193c158986eaf230b32f835a72e1805a08bd4438eff38087b1cbdb90880e9b32d63a6686c7c41c367c27c4362be863866d28bab58afef85aad4437e55ee12b37879aeb57ce0af99109ce867fae7315d873c860c37d9ce53429c2813b1eef14bd456742a1feffdc4f1a09d1c7795082e4560f22cf495daacf315f1fe596df55074c05e7a4dc8a9ff00db05d2e0f7f7997ce3a631209c592d0269030f47d2d0b4d839a0cc37cc98ceadc283c0c1d6c53e6176a4b9d3220637e6f5793b85e5e05c99047dff65093d2e86b07a0e0156ddb4efaa99c6ee89dfc5dc603a93eef3531544821285530e996a937a1e2159bf3007e6ac59394ce3a0bd1aa239c869ea83fa0ac31e62e06c380a0bf5753bd1fd2f87a678189582397d00633c931e7e73275d2bc87783e15213c57bc20c172a94207b31cebded84f7ac9851fc6add19dbe2465db3676ca400319b0f96de925a5bb6bd17db51ce5370dd00852c7399f150091a317c56bf4d47506369054d003c93be68708fbc1491f2832b34d2475dacd607167f4cd86fd88b9fc4a275e73a9f7b0a6726707d4cace8debfe7a8d0d5270d167ef81046cb41424fa673a05b061346b9e9d28352df8f9a4780b36d40c7c66f08ad035425d2799ac68fced46817c6e394fb11918e0559cdf5761e27b14eb6609b650ed0668a9a0e1b51bbdb613dd0e8c4f7af512d2c6df66b0e66ac4cbc223ce1f5240efa7acfc1092e948ae31721a63600f8ea77e40e343452786913ee0e581ed122a2479810f27a681a4f12876bca1e3f9ee8c5753feb5651d2a35324cd560aa04ae26d90172283cb85e61b6488a56a1af7623c0671ae30e616f64affc64629290f52dae92d659d8df1eb98e7e3391451d14c8b1d0e84fcd9396091a429203c61c5cd182bb4f82cb8825288b3288a92836202168c6ec90004237a5fbf470d7380b1f885461472fd15addd083374eb322ca130ac7d6090fc7cbdf2cf75bb1827f8ea4ccd1f1b407943b44e908e5ea0c5ae1d13d07cca2b6cfb80d4dcc7fcc931e4371c474b2467acecdb767e300a660b531080645a61637a5d025893e8b22f780a7e931fa089e2f2614f6be5f9269b1365cb312d2753d505ba5a7abe730089e4742fbe08867363a8a3621c8133025170158372bcd3297ee0fbb928cece8468f3115f45a8a2ef651bfe8e89c3c94d5eb370d4e6d355f0dc9a0ac662d3b04821075209e04f5be8e77c9aae0cb2ae7e4768415a13ba3d45508db6c215db01a2df4a887020e63972c5a36b927545ef11c9a0cdd82a5bd768252e6ce9caff05d1f7f823e245774c3bd878dfad36f0c787c99fc2978e216ff6ad30e053b5cea2caaa34ef72a7ba7c39dc6b125b2cc86fb945959a0169b526a1c99f8c6a2410614d3b90a0f95b110ca949487d4984cd8217b45d5328e829b95548a0313a407041578d78c052a8dbff4137634b2ac8518bc107e2874b346dfd14b359c843d75792df58058f42be172c9685be31428011cd65bccdfbfe84fbfa9ce042f806d1398354e08191e3769b76110ceae478772a23917b5b03afa067a1022a2b24b5c8ee586986bb7c50b98b946a31852f6b57d604639c050eb24655cdb0e1037e5520954a23037a4e65a0a1d6477eefe894aef18a37c9e6c70ce99620582d5c27eaf60f361fa58982987a3d98fc05c56e279f2b5e5483203629e832d480ae1ba94e4361d38a481205311cc96e4c3e3041eb6317a47c9ae38c11c08a4c070c956a6b36e9281fe05752aebf1300e45701dc8b33077c0233222bacf3baea9f28c92144ca2ed313ff8a5cab80cab2beac1e33318a02ca54a8ad69dd1954d9cbba03f9667d87fb4f6419c6818bd5c1197668941b78bd37a92a677fbbb730e7007cf711cd27dd5d410eba8b8c29109816be971296a3fa322c9bf248ac28c84acd8ebc199c27a96aebfe656ae7d68857d78ad8ae818e71c41937e2744d78add983f97462e7d0907226811872270a4eebd0af99bd239b29a96cc6b866a0d13221026fcf79674311bf87c290c6c030abb7fbdb0847e3a638e76c71c1adc4192b6f7bdaead97c8220f7050fe7e5a017f5171383bd3581c7a3a3cc9693c45ee52cc9792a41817e056ac8340c63a85fb04928a166f472fe62ce15cd72aaa29d0415fbaf04fa3ff7fb1a62ff82498f1e6c7e7cdc7eba4b20f85e70fea36044b5e9cb100eb4a6d8ab6d656cc8efa79f45a4c585f38a0690520c62cc9b996fe18e1349945e1e96d8265a912c460cb77e0bddf9d49a2e02b77d9263275e355fe379d946f34c23180ae5dfaa96c83ae9c9c10582e2251e59eb9613f247c96bad3999d61e25300f2d3e749a08f1991eabf2f34f4e967627fc878ece8bb4213f08104ae8d2e48dcebdb5acdd7f4d95c6e4d549384c419a106460626fa2afcc3e0e07bfa3f7ca969b665095fe55bb00c3644c1b9bce1a3277698ce445eefffa1d27ed7d2a6872c25b790547a47d00bbdc2db3f53af2f977950f344788cdaa105f8b4ece7f4a05f06388de73b8b7bc2d8ceec72a5b9eec753355549049465cb6f6e11594652b8e1be34fd6c447a4038c4f36982e142a52ed8be0a9210ca7a7a7e7e28606a70e281d3829194c230d9a164c80362da63f7839e3811be0e413788ba87b79243f4d7e0e7f0a7c4076d7f1814c8f4e2984d153b8a153904638d6129430d698a4f2c9eec1686716dae5e17f863c1a6a151fcb824bcacff42116b29376c5f20311805c0be9719e3f38e5cac90a5f0616f494ae20a80a2e51c3d23761ada80d1c0f805d92504b2e3c00ee3bd3cfef870ec0468b879bbe3cec77895bd6838a8c4c87a79a00e72e8f42e8ed65405c364ac39f8645ad7b5d1013625e24fdb33a6206e528d68d9e1e91d67cbd18aeb1cfa464652cf9b75a8f6e4ca8e221dddd4c6a9b0f0f387408016bf42b3e1a135540bab7d588dda45665aa7846057a8c90b6f1a2518f7fb32e6ab98c937dc3d28d6935ab1e4989dfc91cd72f78983f5f66ae8471a83344a3ecb2a37c8a5327bec4095d29cabb4b1f4414b9305d735ade01c4b41505f45ee6e0618b19cf1a4fbbf639a590a0f53886f426858a98352720a6ba22dcbd881054e59055c47bbe00b9bc68c09274fd551e12a4b933bd8568ccc0cde018f22e039ec587abbc04833451275c4d2761024a859cc17a6c2d27d9857b3d79224eebdb82decfadfa7fe1cd551398555bd5fedc783273b140f7556609d6646ac44cba6b88a4730b3d796677c62800f284fa196250fb29eb5cb1d1c289fb44e160ad2178f72e25fa3a9ed9db31a90c057937ad7ddbc3f3d95249680e2bc65bd2cf5152715479274195342eaa0aee61381a12ab9e0365c31f740f32d9b0b1da1d5a40c5cf72fc4483bc589c6f6c9ccb9d2a002638622026b6f8ee31f8a8327db954695fd3b4a478ab464aeb3a62399d5c717676907204dbf1a7c09cd7d2bfbb449ed1e494d249ec8ed06f11f8e9de618277923aa8568ca5a59470650685c44468130e96baec497c0690f651a7ee6aef9f8feef5c3fbeddd0628123fcbbd933c2f81b2c7b1fc2a7ff1e51757c361dc7b2c35d42ae1262b437578a8f0030eb704ced68a77c2728dea1d00c7ed95f1d5b798e3e6d96cc22a21fcc09ad3311c9dd8ed647ad83d58601020c58f5b187c7adb17ca3ec946399f2a107cefacf906e27a1586d0e1b24f608ce371f64f370105cda3bd2a022ec3d77edb96b782c8cb9a92fdfffc5ca8224f6225666e621d6cd5314f4213712b181bdaa2a416ff580d18818a7fe01e26827426b7d628b68a10f09e85aec5d58723e2cec1f9cd0c4f3eec6501efdfbc35f3ba814414c0a7f24bfeaf6bf817c93b8d5e69e7c541d5306e1f5ed049190c39bb9a7368ad957b69c2e3db87a8ef8d49d9bb58f88c75a06b35d75d5304e8daaeb40c24f69ce87a76924dd34ea20225233cc0b44bec4ee7b376b928dab9387e4ca41d545fedaa52798d11c3291ba16b773f41836ea34d6ba02db6d9815a9b751d444f560c4e85879cb63e3b6e9228ce0c6e11669a407f98315bd8f36720fd7ec2dde2064d4e4da49bf1938c43fb170812ac1bde6e815f511a12a322a5dbde0cf4b87143a11c35cc662e8559e82174dd09394e25a7424296e66b752f76a7b63a9aa5bcf28433a1ad097bd5a42d8be00084897eba972a27f787f5c26a4f596d3a58de23d6ac9b74bb068fa0aeaec160d346d0a9749a61758f742bd21c609c825c053706befd2a775e8cc4d9eb4b2f6a7be4763835c20f8c5ec097e891d7f90f9c931dfad5a398c40d033a01201847841936f75d7cb141f87e3c74f049c5a21e5fd940e4ea181824a6062659a0884651d2892869f27620234729f1f6e5fe944094d440e112bd84f830cc4604e1c40ad5aef2c0e71f4d36a038e0e70334a62d45bcdc62b73153b5df44c857deacb302a7cec44617967c5d7654afb31eaf3c01c57497fe0729e3ede1fc09b65b2e125e3c79d15f97aae5761fa995f898b503eb70f13dd1cf40e9b6d6cc5d5cdc1bbd490cee23990d73e06c440f6a360152938302af804d03f0d7fa8328d6fec13fde4670af2fb76bc2ce04e583b8c48f5e07a83790d8aa81b63e18c8c199a36b2ff82e8d6c38bc225b9dd046469492a8ac86efafe43463dd2e8cc1495d9507e531b2a724b66e926a087e25028b755c2734db28e6cc646800d7b910e69d3d5b6ae91e0d5455b8abc789231af12f1c7f6c731bc4d5889ffb1cfa9929c9d14768ec444ba3f54f14276312980f610bf619b0b948c63dcc8c028be82b747630a315fa53ee29385645010458e5d6be3bab55df06942c58616542b8b9c12a9d6dc47f6a1da71fae8e5ce9a0797e38c8dc1158dff8e19b877086c351b7fb73e7f0f90fdd10b4f6f984a5ad93f53e733304e4ae1b72b820a71ea5767b211429b8c221c925dabb42fb1bc5412bfb20fb1ed50fb13d2b97878f5d2c7ce199e444a53730017d3c7221101a10d3d01df019342a77f4b2602cb66921a3eb265e0b369cf8c788a4bd66c0102d3334ec00c9df3b711bca9ebbba3c2c5dae207c80bc7c89527f45552f84eb7235c50ed7016db58c49702aee93b13555866db967ea2e58d5af521958ce6a69bc967d377136b472ca8a2ce0a653ec3e3d291cbd4ba239a4190360521899aaabc8c05a65ecaa8661108340de890db6402ef737be946c0e473cb265b4ce6a74598404870b255dd511903012e4192bc8e5755da7e9dd333b20884c3520ced186b37af0743dc415296f0a5e77149b894561c17d0d5f88d3e9e8dabb724af4780e890ee515b5daba1d641ce69dda88e650c01e64d73913e676d8278e59675d16fdab857fd2f9b7873546178b6007092ce58f829c4d6e8ab1bdd0fc9cff60c3b06e364c189b8e554109e3debb13fd9ff0a8b0ef70fcdbeeaf7a84349da9a020eb37c092fa181372a97d6ddb99785a3e9151da8cc4767ccd44d87eec94bf33b070a91772451b05881d3d44ca24882dbfe2a16d84819295fffa746f6d70f0e94aaef81c821d681a1ece3a37ba2871eefe3b27286c9ee4166bdb413915ba31ead3fc3ed4bd247c244a92b5cd54c9000106834952826c94cb6c46b265ee5d2d72be1098dfadc9405bdec7737c7656114e4409a550c6fe8f52d953281cfc79a919147d898cc8bb0c7a87ea27295e8b0ce4d6bec69788aaa9e6ae5fff0f96a9070925a64875a6981213626e9a21c81ed4ba055392d0d886d75c61ca5641744aba94dd380b6ca7c1b4f5347982f3105fc8073e35c5ec23acd99159c2ed0c0acb8f03d30fa0ba0557b6257bbe3e4e067d3b6f53f05c631fc8087b8c2017db1b208565fcf2f6e7e845b04a3e928096496d79c906d4b67e91ea2e8d1f55dff1df63a19df2eb7ca22078e4513a24c4b6ebefe5ae5828b30a81168a2b2d496762aabac00252e5c9fb0cd502d3f06f2a09d99509664d45caddadf18629f2da8f2d7642800b6ab98d61735aef071689c0a92aace7a69e1d4ef82ab15bf00ede7bc09d039f16d7bc2b48323b47b54b08ef37c5e1252c0aef25938927acc2da3d3be78e853b377a966b8d7ffeb983b79a6146b2e43d6900643b96f5ddb020e29145097953571e9abf0043de26960ba261dc6bffbf6201bbd0c782f538537dd8fd040c6e1541a6f524670705267b644341fac36cddebe44d352e13f4d5978daa05ac258fdc3808bd08512bf7cbcc5df8a2c2ed4a106ae18b3bfa7c4e3bc934785eb8dad7b0cda951a679e1490c74849c05d1452a4e025a54c4ca781e4aaa743cf4680812449d51688dcc0207880ab4fa3ea0962990dad7c9fb1d6f0a0c8d50b602f68b90e3f6660186534da1839375a6b29bbb25825851ae5aa13f141d19c56cbbb7c96ca27840ea02d93a8144d5cb6dc25d076f1cf7a24654c309cb1e32eda46457a6c47be828a36259e32ef7aa5f34c1ba32c981220bdf863a6d89542f1155ca413a00de388b5d904f3b4f1b5b4e1a284d957ea57d4264a3b3edb8f49bb7b201613c0e5ce483b48e028f1e76716083880332fca880ce1a23112e63ddd96ad16808036a684f73e0358adcd2acd5c549a2f479a30beea0418789b293a53080c28ac6cd57d09fd854296acfd022f49e781bba7bfbcb846bc2620266e0f2c713b8a2ee19409cc43bcd852c3ec99760e8413d37b119f18a313b8dbabf5b8ad1eb20f9cdc4ad7f2a5c76ec9c5ec44ecff341d148eeaeb7b814a95fed055b98ad6055dfb0fd8acc2c7b92a5387031d13ad5f332e7005e4dfb193b9fd8d9eeb75ae890d755a5e7392c0ee9de0ba66af93226ef83db7bc75b899f38c9fa88c9f10ea184146ba02c57c5ee278fed6f040d994d352c8854d2e218fb382dff82cfeb85b7d6ed9353e085ec1ac1c81acb93526449a6c7af9a0061a646dcc3d4ec7e36bf0fa07f7d2d002498b832aa5039a82d5599ba56c11827e44624f89868a9ffecb51d6ca50328afec191195c2396a0dd148841f933dfbcc513bb2abd0722611000073def4cdea8c9468eaabd257a6f01f05fa503854cb973bf409d90a8c88084c651477a81555036a20da56772df222aa956f9866309871140b86df422aee302b76c48ac4674ca5b22e2a1c00fcb77325863e2d95927dab066934303a8727ed78a5426280d2b8d5a16fc37dd86fe18debfcb3d6fb823652784072c26852af38d23e268756bd53224e42b65dd47f9f82b277b284aa55cd0291151ef207f38e459c39cd98e1014f0a4db75578735fdc39a8d8d92a810340076eae913a0e3caac668dc3e26bc1998e16b537ac5d57d11f175efa302c6eab0506c84f79f60de06fda7f8219c4481fd035ee74ac905512be63957923985c37b17d4cd7baf8398e9397207080f570e3e48c70b2cc1c1cb59310772f46ac39d0aa7649c923f1b8b3e0091c30a26fd7a664914818970fa021042cdff42952600c38900dcd1777560fcb5f47c3b7b9db38febbfcfd674f6957d5bd67b22c85e0f9bd40f73e3a56f806341da140a2dd318fadd5e7bf15db025ca8254a0a45f3327a47ffcb38d454cdbd8b75e96f70053a0d210c173819af09e4226cdc6f71b74a4c0110a9c2731c20103094c6913363fa421aadacd77548fa74ac53a5eb10ec2cea86c85c001269216f4411bb648e032cda49c4a98f8675aabe74a6e01b46c3290e2993aad7302e782860563b2c8fff99806480a76f9fc39557f5b54a5ca9be0d043b5c6481ed22d0436ca727a4dc93af039c8e18cd432bfc026f335f99d95c1e0669d1f4d0613762d4fb047ee6a13cabd12711a0c81ece91cc264ffcc7946a14b14298c1d20c62008d8e73517ed6512d69aaf00d08731715e0504d035e38847f252f4df15bd30e3d99463869f5d83480c016deafdf86d3461e8d6be83dfe23381a2fc2210515c330d65bcea6bee5217aeedf5834d4bad513d99abfb740ff3f323e37577c52f8df344c3dab93c2a5794a02d40265cf8b9d7fd05a0a87667a393b493a2fe3c6e1123470af14731eb702c29b7d4f09282a3526ec203990342645f5f6e72066b93257090fd2943d49030bbf5eaa7dd2675191a4829e8412bd0288fa6ad9aea6925ded51ed2395a560e770cf787fa930c0e53dae05aa96da36d7600b2cbc5d0fdc3ea74faa7fb707f9c9ed1fa8bc9c482689805b71d09cb1bdb4ea72f561453df62b42545c24dd68e20f0196af150bbd650716faaab958ac8e9dc89a6f3e35ae8aeab77cfb8895aca92749ae6c450f2fa20b75c56c233fa90b6d5f9c720c42e8c2ba195efa1d3292b24992132a4b26637131d07ee8d7c9a95c5ecb97306303a94c16bfc1a5872c68874ec65cde9c3c9f34e4488d83c3deb5c984b52aff9ae03838546c85c198be2571058bf3988c0065df7e038677d0cd1177e7e8cceb4ec14fe80e4be610f99f771657cc316ab3b27eec38984257d5164a7b6297f86253712b2ee74f6aa73df1c162d61a6edd030a2e725f4e8d8a86854b681d98403b5ea2348b20b7b8e5f90ab729e88582ddab00a7c655b7979b43b3d1b671159d010928815bd951342fc34f8f295e09b9c9b0c23e866a1fa5650ba252a097299c3b82e8f2ed90225aa9ab55ab80c634e4b0b56ffbafa358c684c8abea6193f6a817d0297006f8791d884ad719d8f6d366a94a2a472a8c4f026bd627c9714fdeab456885b9e334b4de4d4978a8fd11b9465011367510a5441ce665f749dc1ae0950372773c45774a867cc62717c865834ff756a0ad2b287f3636d19505aef4109489e086a5740900f6674a5246178f3b82765c63a9fbdcd6ff858ee7e74a1c2b51c69ed01a3dac4e552b57674b0b5e0d0d673716936cbea1f92056952f77c0d1e72b6f6e9755ce59864387f9d3cee3ea669555932c18a692f3eb93e96d9d8d67e1e1d7c47c115112185aa98bf33f3713bc03423d1e267d125111cdf4fb907c430e2c142347a2306f0ec8f7164bd4ecabb3265ea70f9dd9d0e9f491cb6a98a59b587b6cabd7a490e0d7e3595f054524c066e8d4435ffe8cf628e915b965ffdbfd84a3f83c36837e772951df2df2c405519351095bcb63af8c5df62ba239dc0cf43cd27bb558ea5b65ffff68eba16d862fc38dfe75137f86087e16610e0a5eac133aeade969e5fa606389bee84e9131b075423397b68c7c5062635316ca4a787ee0dafab3bc5641b0871264c083fff03e09d2959175d9ee19c699585ccf8662f62e7940b1290e8eb1f7023c7ed2244de3ad2619d5d0ee14e45e01c44d7edf537d14454c2992dac39153face7a4f0e7924d8928210cc92e424abb13022256bcc4fde94e0a8015698e18c3eabe0e8db128006df3141bb699cc9b88147dc38dd139dd7e04ce9f713f38a0b61b853001b773dbcc81b7b47869e2aa0bac26dc939a544502ce57842979b708b96b1ab199c83328c7d0ac5a42063b58a3e6403a80c9301d7b256a549f385652d87746ccd635ed19d5b427f64c91360701680e7606fe615fb2b7db0e22d8dff42f70ce5982f16feba6c79c682f2bbd9498e32207bc57368227a05d1483ad6668c7a5237bdf6223bd5f300d0aeff4e71ad188f924a1b493554f025ab0c33b4fd7f9716190706c90279a86a8d838b401008d0ff6f451aafff7255b809439780c10f2a0dccdba74d0c166d16ee881e3cbaa1cbe52486288cab881e6ad33ed095024d783559ea409c10b5cf4e7238994ba8fc4a75b54e0daa7538bfe032b0e7027abb7818446c6b9f7d939c8b1d5eef4998280d5c484654a0a79a37430c71a9e38db0e355324a95957e5e2cde7378322bd821ad55b044754378a9e2e575bf6ad645e6df5f3a671db2a784e2637531f4fdd3686ee45f0528d67a942bb6418e6e19257e1b06fdf9a93b44eae8478a41c1c4d6955442ce7b46833daffe17491c0e97b1a6c02c95ced6b3fa044da1ff9915f756cb9b82b9d15567097b2f39b5a2ef2403d9b0eb347a48cf87ee147b43d728fd57e24fe586fc0bb3fa93ce769544e37b0b597f821905247db3f906ddb1f8f8912e6ae568efc7186783aee8ac61459f4239f330e00d127a032f416d3a9ed7694519febba845230d40dc1509d4ad35c080ce91d7646c26a4901e5abc198690ef97a887c8f4678eea0694e6b7aa52767d802222b051f147bd103dce5633494b059fbe12b65ea9522b6784ef0b94e848c13a22d11928200f3d21bf9192e1ebcec6d972642e104c41ea1cdd1c71d203c823064b9ccc6d187a897b2217831421985e51987b093ec904ee5b9dc5d15e1eb640d6ba97e42ac6a14a2781cbae803181135d5859de0cf7c301cff6efbae5b7882cff4884097099a2e70ec4b6414cde21476f7ace99f6f8597e1bbbd3fe996d49e76f27b36ee63944861e4c4036ff9956f2acb4b3e2288c411ecd6478474cf10db9b32df4551cc51da8c918e08c2227502056e0e5640702ad7ba2b593cba7a525215c5de386479ce47269c3b48a1036415ffd73c9acf0b58f30de1328f21106714000f1049b94db1b6f59c6c89058276bffdf77501f55ca3391a2d3c61c0572931e2be6a677361acac193e2be266384068dc7bfac405a277634d4722c0cf8749dccea39da9f308fa54140d6dc61e54feecf2a473269161baee83be30d48cf88598868a3961f6b04a1257f77099c85ee7866713d5783a0882f32d01b83271d86469ec46360ccd49c0198b1f8f07991440c377faac24c0ec4e94e097a2090439579780c97efd4be5cebb512f02da4c426a67e962f5ee78801703e7471da842d75d2e731fcece152635283a2efa101f233e520f29b463a049d10868d94b92134132d5aca04b065b00637ab70c494005444c6d3d5877f0ada12fce4334719c3f56b789b41390b7f4f5b40929dccaea76bda905244220fe9736e9c944a425d50e1459474516d85035d8a0cfa13298524cc2a5db71d86de15a2e900e7222a472d715123b1873ec7d2320407493218024829590d2bfb6c42424efa0d201ae44f3f929d02ff2c9b74d323036cd0ac781f1dbb945bcb36f4514e00b98fcef3a7c40a0ee4d97cd0328e85b901496247197428f9381db0e32c64a947a8b35e8b020d551eb8ea0350fd3c8cc1e742015ecec2a6e56e0f2baa4f81efcef6bad9148614ef64699f7784e409e88726e402dde1bc9a9ca40a5e0b7119e275b72852534e08499c99a22b92140c391e6f8c60100c47e04a11fa251bed9e29bb77be1f0dc975050e40b58f9bf96666f56901739af53c0c7ea3ae0eb11207a05aaf79ce8590b2e3f53c84bb769f187e1e4281be1cec2210925aa99e0287aeb37da2e65882e9166f5c9a60dd14cbc9612d9ae277137e37e757133e36c76fc37c34cc47237c35e153737e34e77f33be34cb5fb3fc37c07f137c69c45733be37e087db9ca9a06c6a620ec296cbcdc7a88363edced059ce7cc3bd7570002ac021be018cd0416207650a0bb25113240e40b5ae085cbfe78b17e80e42b535cc219df2381caa0f293054b8f7fc0d88ea41f9947c11030be773c183a5846ff5355ffb538a88fc1be86129803375eb8355ed83879aa8949bb504edbb63fe510c405de9bc46dae717aa18bd57bbc1e9a9ead08820cfe1648d3d13453ef73406e34c646996da3660687aeb5d04f351c59410e2df788030da64d398869ab4dde575658f58da4508a6a8e7719bc7d7074ef259a50ecb439f3080d7e5c24da9b6087ede4329fe2c6153b7f3d535273a36951b4497446cd76b5d5c3a405a8ad1c2472bc59ab366b6250515f6d402cd45e113473400e3295e4846a2e73db59230a40d216de9ae63e23bf51c2d7a39afa7653374a9975b858f5a12a94765136e30672f92d9f73d0554462239549c8289470b0dba6e5506b9fd4bf8ae600a101957b625a59a5bc13810a6380e89598e97fc94ccc4e3cc3ec34aa88354025dd09585f8f53849d4e2cac064baabea527adf43b6ef3d904a0a4f655bd2532f0593d36899943a956fa56942da4c2d440c3e6c7df6fb64144e869e8af715013ba22c079a9c1b79378a084dec49e01b512d71f7fd7dfd5f9cce51f434d6689be429bb78a5c0b438274791781699d22f4cb3a3a8a979381a26b5539a1c1028948b11b85891bf489942f45d2f3b0e2f274a93a3e28378dedf53ef4b2af871b69c630693bd80164c6d529bb5ee12d5e20381c4102ff49860b98418e8bd931ce1c153b89c190b12cabe906c3784ecc30c8381f803f13da876af0406f95fed15b1aacefd3efcd6ff2028a9fb865e5de295cc58d8422a0a4a400c10d9c9920e96777b108c129caabdb563fe834a94b91e762d85f5b00cb97ce91bbf2e8e093958b351ac25d1844bfa9f7ae00ed0eae3d85c81d093467bb19ef20748d7e2d82b1b85e82ecaf42cba1ffe38172960b2db0cce65b2fb868a9e332f6ecfeb16e620b8114235e9c7b8349f4302ca71fdc45fa209d0b2e4c8192e456f0aa69e86b3c6e9b8d19a95f28a4be605867fc821b0aa8bd1034b68708de8594000528483d4ef2e94482a6f363281c80bff9c64e1b0693d4782ee0f420445a82d03fdf4957a3c7b34a61e5b9f96c9011ec242b7478b448b93bc8daf3e4b2af395a3f3aad0af32f1ad5d83fccb59d44c952ebfdc671f37bc2c7ceae2f04766266c77732024fb87df1a165ed27960b52a465963f49f9e3dee1aa9a68ef5a46ca07c14a84f0d6b3c1aa13e565e31a7801f7b26f94b563c42c328a819e228c895117d21123bb2242833d6134c9646a6c23593638e206b290edc0f722c52c0c3a0f9e2adba9e586120b1489a8c0830f6db94585a20b1aaae43307496dc58ce49d8ec00e1acc7df9589daf2387060c7249a6d0d3bebbdc65152e7dde7a1168b01b6f1783a8b6e03fe7c5b0af1f207e91e320231ec1c6cf339c176e5b83790f8d3c52cd61197c793a30a10dcc10c63ceff0396de82d0b6b95bc13800cb42742efe483ca0af413c330cdeb890b8c4cf14e0ebbd73a87cf0f81e6d7beeccb1ce035f30c864b3743ffd390742074e4dbed1bec72104301cee2eed0b5fa58c206e2e6fc3f158e5a2376c60acafcdab06a826bb081a409e0fa3f2df142e1c78135c7ec85293676144b1261663287ed73c03831f6d05c7ac99d4e9dc28dcf4f8319a8711fb010815ee3dd46e45aa42cb063829e5bb4a9be5a84d4aeaff4db2ff159bd1ae3447d287c752996a2425bf1a599f1bee03f04cb34e9baf180ea8c3333a4bdfce7e4bd28a4541b71ad3c4eb35b7766f814690713883389f1d546570f3bcfe9e981fe62098ab6e6424191f6e94d226811b489d10f5ed965bedee16db77563dddd419f50c7ebd84894c9a1d1483fd29c5c596e60d44ece37a06f67d02389e018289f53310363a8beb8735f33d16bb52712027f26eb1b0714539491fe8d1c42a8d245a57853120e4e1bd8b414f22821719042835e96f6ba1787e4958572ef56056b0b59a6c7d7564119a69d35d71bb50233e71abe652f5ffab0d609004a97274a6caad4545864695cc1019964f490a9692b6888289b864499a6a9a372714ac1a6afe7851ecff14e722e34403be8bc405391e112c9a0a1aacf820dd05ae520c5e51a8291aa29634f00f86b594323591105fd30e5ab2c3146dd44b32ce02ccac9f673680b56d77128241bd8fd79f386e6b331c80b1fed6efab8e9c586f32a9432df7e9c19f2be87f8c54105b492ec6d9b3e39289703bbc46588fff7d6b02ac7ede90c467df2b0af0cee7a62fcd1b6f5063cd00ffaef67e8e9c89a81e2387ec8b17c4105fb4bcff94169e5e713718a0f453b1454fdc656918e82be77139019f48f003b356b06dbf8692667b7552760fa5b437cca37ba0b3c4a63d920229ef2b6c5f2926084ed784db53a1c9a296d396f0806f34d2719db78fc5b386048fad4a1d658358f1ca84df67be40ad09255a31f5618d3663928e20feb5cdcfb811f1e20a699884f0722d4a69808eef203e7f9f94ab2260123fe4a8f2f3498c0dfe3dde3937aa9b2dbb3970e768c28ea707852b7ab5bf781a97daabf1320ebd97e0334e5a2f806fcf9bdb923da1cfbd8e0bf40051a34a7678d18dc7c3ab3c77e381519f4ce7d71a957d7b86225bc890979a88ae009e9e39808467f712f9c68ccef252a26addc4eb379c825136a188c8a5481570f5def3ea8b3f1c2290163fe62b1dacb2733226c13ae5e14ac8e76649068e473cc465dd6a3389f1a60f1cd81326a6b9c0461fa84d3e000eddf84b7e2909963a0f98fcedcaa5f7536f8d42623817c4a098bdafb1c7459f609e1c5793e133e09b1bdf6763cbec7385e0bd549a6e8ee88cccc4045bf65021368882bd2946782e44096636128c444ac8b7596505e8a1d206ffa7f03fe63d4d058d074d88fe6b2cf85738b51885c2359c3b2138471dc52ce3cec0f5d982a40d6524ad46c2fca04113285c575859c58f9bf14d971dab705bc687c3f1cda8ccd54085994dbeb56785c74e19ae97e860da79a8e2bd9dccfa84e76bc37034bc04d1a221f32b17097f30a432b5857d8945020f4a95b83616a7191126074e1ccc149b644155aeb16ca18559dc5625cd27211e0a6c1ea02d514b672d274d4ac2c03bc6640c118eae89cdd0f8ae03098e061db720c2092aac4b8c8f6dadcf5316b5953c2afb86aa9627747aa859b0418dfa4503affef4e0e7e320d6c8e61130c49f2529d4cbc0729a75d6b88d199ccbb4e44e06f4f1a0ef8612fc512bcec0b7ab0b8d145e695931705ee17390e834858926bb6e87a579d3b9d43721e5c609ddfbb09eae71b5f556fa9bd3b1bdb9ad6ee44d368504e8d235ba81ed24f72bef7ba706307f3f4cc176b264c38926d8db70823cfd3e168e410c9d4d45c9fb6750d1f488a675ad4172151bef6efcc87e9fbd5d1419d48d1ad69b4027d178d539add3549193bf39da2cf524f67620ee3906386d1271fca34cd79a3961878db160c3a79a0d534accc4018097f3ed653ba5b02807512f82cdb0075c4c3cdc5c8b2aedf3adc5ab238056ab33aca2ee37c6129a033e6f81a0b9617be63ff3f8042d587e8ae8adc08b63cc6b040cb07c692f9981311af0bb7d1969b1ab4ccf8d2d3df8b7580b844e00dc1c08bbf7274d9e66dc1296a6ba65503aaebd057a0f0391205c0300e9342a1553b5f5b2d0019266f03c63eb4b15393ceda3324acee860c2e43e73ab09c1071acbd9997fa0e45424881b60e0deb02d4db5da6e28d05a7c30ea0043f2f6531a016de92a880f2e35a0b01797c8ab21892f80219db184461ad1189d24826133ac5ee809618b04dd3fe6ef6bd8b5e87cf2824297ca8c215d2e865f7661a84d2dd6a991fe7d17245a57a6d8c358c80fd1f7d6df821e641b47b3e6110ed0d8937c0c41b012c3ecb4127f2d7cce85efba2dc3968589888926ddd4dbd72c550d733a61bedeb2567ff6b603c7f4d531c94ff92df315dec0feefd30aa0a1d2a709fd35fca7a4f129634ff30211f15d2a11666e07bbff755188f11ba2812fde47494522d81cce559f8c7c86ff93e79f5447358a373336ed132f0bae95ac26d2915e75c93df13013840d1ec28e500eebf7691ec70a4350feff80e8e2432358491e2bbc110699b7292402b73d08e8d05b6ca83488e344d45f16d25ebe1ead0854fe24bc2a65929dd4615efe2a4e9d4f42cde47e5250ab2c773e6e06e0ca9f445d309950be5e79dcde9380f736825dd0a907bc59d03cb0cc61d636ba8e092ab43e695c23480a9fbea6aa81cae4ad4a32f8356e31870c4a50b2e3481c92d3b386a50ed8c7dcc4cbe32af3fc08084e62b926537dfaecb03e5ef771dea20e5e277ef3fce533358ea02c38bc0b28dfd938f8e3e385d65eb6211ccc61a663c5d68e63f5a68a07409bf293116f886c3a4f53a404f01d92d2d52385c8e63aebaab18811ca81071b5fbda951a260e31a05b395cd7d2b0bb4a9e5600858a965629e277a36ba6c8e3d064f651d6316a1d052ac6d8e61fea0e63dfdb4a98bbfcb7438a58ed32981df9c1fce3bfbf167b69c5d100b445cc27020450224d1ebd14471f780f67dea81dd280b3374e2cf8f85d8240548b23403dca16f652a40c8219b4b37c7a13548c58c8f36968be70a4053bc52adae823a701e5d23191c46cd7470034624100c615d83acf9ae10be624daf2560083815204146de1b420856c0e73f3d43a71f523abf5a90e492be8de1d4d54a6b3c8b3734effcfa3bdd63cdee36eb19998a0dcc1383ee0dc33b6c62cfaa8ddc90aefda04cb52b4def417dac5520e1f139d5fb02b8884f0d3756388721524dc50a2c6b40aa0be9d1439d4684aa96d038d62e308ad4ce12bd626c1c4f07f90be1adb07e02314a329c6195d6b4e518588808b81f3a2eaa0982982a0fd0325b2984819016f98a0430a0fd3ec9ba3fa8adf7f98cf8494d3602792bfec862b409cbe538c3e14b0c817c66466d4a407c9b12f3c76195ea224a0d8953608ad4e9319702a20ebfd7f6343d549c401ebcc542e6d40e4565561120edca2aa2e9de568a5d4eedee0f1d177aef162d401775494242028b0e6a580c8494b8857cd3dbb55e2ed2b3693c58e5942bc5e259b1405555a8c1da1593e08535fb94154ec54b22221f298e15a41992db34efa4e2af0e8b869210db962683438e58f7884f4d6d4dda9c620d75047d700c546e152eaf4a688927cc1a4337b2d2a930d4b40f268665a170c0d8f10ef857426cbaae11387b09f9147a358b16dec91539ca2cc3597b15be30e7466cbaa5ee8940ff89e6c1c4b760e1f5d0e98b7a19b21bf2ce792dc5cd9652094fa3676ecbfcfe495f9c53f1766e13faf200411de454d1f485929c8a52a21c3e96bcaeeeb095cd9c725fbe7d10b7819f9e4b33901904a5a26b838e3cd6b3bd675608e5beedceeb0a4298752f71c423bf262ce1f8743af81e71d3da1a53c0d678efd4be3f9503ec4dc7d1ea3151b688f8869c5dec771844414255d9955b7802c6dfe9086462c16f81229c8077aae47babef8af5bb13027f7a00007a40812ac81d97c030db2e94d4788b062ca3a736caed643e3b09faea0d52863f597165016e60c758fe95db2ed0c9ae14f1cca70569ddfce2d26f696f5cbf1460a6d97389da751c5a3f98f1d006216626c3820592d0bedc99b93085d0aa10ae416a4ce9e0066b48985e984da9418bcf75f2a5873159c0169484894798008f7b5b3962161599696db983588b42caf301e0d3d4bba18c9dea0d4ef6fe3b76f6e3537bbc8a8b1a0c7b2654b87b3a6ae84723c360e861705d2c45cd76dacb34c0ea72b20909dd63796a43a38a291f5dddf4de8c72f413952d9d4271ec41a2ecfce75736dc35f06ebb8969eb06c49ff4a03434f1892391a93db76dfd1e05c6e29834dc7dd8dc1ac6e3b0c09ba054942cd7c393f4a693b133acd380b5a8105ea7259e14cb0b937d021514042d7d26c24a65a25df2237307c44fd78095d3f5185d4c4b7a9de45c38f9daeb16663da694f70a2e20b4768d950e7bd1c0aac0f27ec3a53bbd32ff65fd65af2a75b80a843433080d8db65c1614e7516d95d7e5c770c68ee3a5780815bc8fe72af920ab82e717d78c1d42079e4ae1580bf59e232a87b9566fa9122cd7d789a00e2b12d722c0847ff690d043226c097c0cd5f519b1b66fb42a71465225a888891f844fbfc40dcc2f28036f7c8f15565682237fd7a91ff6b2a3ab524032d8933d07dfe6813ea8d6145a50f643f46f38c9ffa6f4e9f4be42e1d19ac3ca0bdda8c2f3f50637cda498b5f709a402cf4875abf1ba586bf395bbf87d3476f67c56774f61a07ae32d7923c9270070bc204cfa1acb65fe16c1bf3eb224794315e5729cf0f94927d5604b62198e504a6d851833917d4a764efafbb1f0bfd4650cf50520b166de5449271e57e89a920abb3f86eec8e907e4f66b38cc9a0a5022d6edeca8b295918e69bfe5b91aab21bac54ee47772a007c7e0f39a2984f9b4f91308807444ba6af4bf4ea69e46b8386e3292bd1299a2763e957a2c2ba6c60f51671eea58ed28771abb7692e6d0929185b5f6262ecdfcc0f7fcb8add321ee4f58571c2d0c44bdd51bcfaf28d5ae1ec8ca7f3ee5f3595e269f8792f4effa601ace34d7f121ae7aaff3c7573ecf10ba7431301be1fee1d3de48c6389d1b124e284effa9191e37ec80093fa0e0e2e31f804205366275525d452c1dd15a893e06a62feb5547648147d0986b0702a980e3add15b53d653883f4643b11f128fa9b732408cdd4c26b31f6c12f697fa741b3d8c557473d67cc4ead31d951ce2babf4d306079c30354879f44200fc1a9ac4bd95995dfece65bfa5f845e20f110891ba57bc9dc33743fb3418c1c503f5429e951a70899029a1d19771847421ead029c7b10afe15cbe5b535c455ff2c31ca2b4508975987cbcd223c243c35defa7ffb377b86f0db905b25d0924544f6f3d63d3fe76299cd2cfca3b1a06c744700209b6f48536cc268fb508eb829ea12bfa481080c02bd78cea469d22b6f7234a9d7e6707678250d37a95770db3767144708be7ae76fb66077cca1352379199b45473b1f9f26a210831557902dc1d619b307edc1e48752488dae3d303eb510a13cea9b37ba9761bed6098f5b38ad29270c8be9818a34247e261ae782cdf613d70cd60757a37f87f5c5681ad345d8ecdd203653dc68be342ee0197f9dc948ea0dc7aecf6cdd9a3ce29a54d2809d0dbf8c6727bd2512673db8ceb135b722a7843496803c38d311b672828a17e7b01a1bdbf046507c90f033c4949e0ebb0b90a516a5698d3aee7b63397e8376e8783d5a7206a950181828d8838d5c0de6a11fb2720b3d2613ff72ca41041bedf1692f9981ed3148d741f3e70d8b9f65c0c3694f6bedf00e3268b7c5fd610a457b143c86171ab580d405065388505d1b7d9936fa3bb5f48996f3ad495f74fb40583f45c8523ac3cd3a1f6a6f382e0535bb88b84d4f61e87839f2da5a5eb34209682fb53e4bb1314f66cb8a408182fbfc2f6a0eed3e8473d13032d9329992ffb6fb4b44b1531c93fc932e438489bb91188fb3f3055fdeb6eb4f61dea194ce9e0d94754859a64bb82b8ad28737611b3bd5e75e7a7d072bcc14b63787dbbee2ae0f65f41516cd4cac8444d29451c65e05e0e5eb75c69fbdd6bf09091ab9d01a994f18f5e865794c5fc886108be5e7f91a45ed9371bc099984467a64a9cb3ab688601a73a3e2a242ac9e76f9f122ceace922facbaa1d71d424560c126cc88de8e8b106c53b5d431a6dc73e810bf722fc2178e8c4990c8bd53d27e48e28dac3caf48d212eb3659b8cf166352d8c5a06b299029c6968ff716f8ee221589f2b1cfb35de749fbbca2cec55838c48d84c0b9f33a21109af5881a2c1f69103a0a84e5439c50fd5c3d6095029cd8cb718c1f06568dc47b776bf3688310296cf5d2426986479b9347d43e3fa8a6c3dba9ebde48fa14fc3562ba1930d35be3a217dad155b7c203ed014cc41678217e35e11e6f243c28a05c7554647040b3e01aaee6597de46a709f1b56b0f9cf1f4b87f396d9e3679c00fcff3f29b16801d508d2d15609601685ca772f162ba7db95447921dd3c09fa4e1b88e3c64f522078780e5716e4fd6c86ea34b1471585e9c8ecae86f671cabface4464eefcfb784278c3d8f37a802cd3635e0ef10c572b965022cbea666c5370bce26346467af307a84f037237eb32ea87f6e1e2d091271e498b5e39f53a4ac33f71757bcf149fd411ecd2375e4400bcef0a3995279d8443aa9c69de0ee8dbe4914c52bcb8df96725adf6a64604b05b5970981457caa0c609d03af4c4e0d629393e7de5c688891f9099d0e2340b011c1d3c1ea8d3b67c0f6542c3a3ec382fd914cdabc292747e5db62189b8d07e720c2946d3b652aaaad2cdd1c0c6fcab7f17ded41343bfb3ca0acde13e0d213324e3da6daa96bf165f4d3b1aa3f16ba9499192c30dc8ebc6e61b4045b44901d3fbebd3b4fab2e83d7201069692fa54e65e28db064af05169da080d0dc0dbde3580f6d585742b4314f0230c7a0b859f4c891b04b7ab90d12f1c6382fb594957674efb2fb5d3cfb6594ed2ca7ea9929b8a214076cf3e3dda1432d524e1fc112eecb8e3eb014fc080aae18283283260fecb444de87f62357aa025c3a23b9df921bf1c7c0013387e57c1757f3f79d8ad34413f3d774f878b83371458b642172a57281052d06f0aee29a8762edcc4191ec066b869ae56d4cb03493c2d01b8fa761fbab551344226bb078b6ebbd419584592d9bb66798bb10f34078b67cf82bccd6f48da21b8c278066aa7e40f81ac6f6438d366a2643fa9cc0b79587738eb4099489ac858b23ca1fdce5d479b6e88f8c1af49d717cdd8eb3db67842a6120db222898e19ef5c7778d0d943e4c46d42f84101a76bb4395f5cd1b1a2cb2e5fb628e5eb1cb5610a1656fcffd721428644a3188750c1238a10d803b2beaa1a58ffeff92c19b873ed17602187bb7dc25b8026638d24df98bdf4ef441711ad8ced66ce9594d81fc5e2b917d36eec24a3b7852d605fee835e73895b94d406176b567a2a6df6fb53aa31c320ad5e3449a57170d75476eea0bdd1561830c640a5c29324a5b45656ee6229091d45e1928e02397f9011e433f004f67e3705d9fbe33f0421da1e529e91ca86fea8df9fddf4d499ace6c4ab11e5b28146bc3642c6854e114dd36c27fedea4cc469e9a875189c379e0c4cdc03c0385f05b6f36e761d210588bf3660dec40d18e362f982ddc7fa6f4768ff446f1c30d0f7a2c1b07e16f797e107a5a59bd595ba9d413be531df4e407f03afa8aac1940ac232b5c5a15d1b64f22fce7f7b2aa14ada49b364bc4ec0bf70d3842a5e99b0817b8715ab4fa0798fba19d0c321c3e44bdbd4f8a2e1f2cfe0a020d734773b6ca10d645ab9bfadce908ad30e8040cba9e7718ecf36bef4749ccc7ab75959c0fcf905f4cc006c47549fe67eaabc3cd458a7deb48265b1577f6e65f6cba8c56830690bde5c4624ec23baae8a412a0dfe8a46025eec18aa4a35c6bf55a479cb619e11b2960d40f1887277036e4fab000495fb5e6299f695bcb551f31001dcf93916ba01b0b39778da1a4a1fa1ebb1abc5fb1a798c3a6b245dd552d347246bf421ee4a4158394220120d1635d4e8dc3d04d0d54d48fdf57a331585ff15c73c835ca56cc4f062dfc4fb6b0669ec8453cfaece876c43b9bf70d29ecd4b312ff81fe5f3d191b481399f03c9491c9d59aa45768d9dced68dcac6543fa07f47a516f10be562a4dbfbe614c37162e356c36879c88278119108ae2b70601365a69745f80d3fdce0288edabc89d64e4d99ce50b61ead763ea079f5d251f87f72910ed46ab28280a58f1fa050421f2c9af9fa6cad5d571817fd3fdd717a881c17a1acca2c3871abade95d659f3f14cac5c971f1437cd8f31434b8ee7e93bb86e4715987b20c66ec865523372733925e61c58e10362e19df5f9eebb19de968715edacf8f0e3e36a71d386e5ee6785586129a26d80b74446d34444748e1d9718183ed38d1ec8bfc7a26c7d412b90785dc98ea9ee0ef98e7f8e8ac06fee6fe380572fa36816f5cc52e0131d8128b5d231fba6d0a0035c1144585b80779f33928cb026cf111961d40321e493856c41622e9e4587db9932c1e4a233822e84771daa87fda793f4ca5730a281cf6b84077c85af5ac492f19b5f8ec4c26713cffc492d06e8621bd16bad8149420fb6ec6e5072a1ec8d150b3b944060891d1987e92686dc0f54343da29a6c09a6e5357336006ac0d114b02b6bc2f1ba5e6d76080648829341acd1d8740f039387228d9a0c1d89564af837e8810d6c74d0052802345146acafa2906724f1c66b3dce5442b1593852e4e890b1e833999570f4d05a00de5e1a2a225ef65e729ec2e2ec3c49c558db4186940061060eb2d518def6a2bc6098f567919de02a7b2af092c40e7c2e14a50637915e66488effaa0d5c6c26a7976326744b59efad53222302dc4cd664e95346fddcafcc38b29b6a82a419b1c8475ab2a4d5ea724c7eaaed4704d01a140c9fa20d7d75c928066c9aa4ca03e986657e1b31157c5780fe411ca3aa45d9b5f25d638455c23c6b1768bb4915d2a6e2c20c3fecd0796354d3d20c633598d43a033060189c39b31f817170f09eebd95ae8b49ba77e1c11af206b7ffe6064d96bfe37f16945ec0a8a2e91f3db1b7c8d79d20e3aedb06d597b9b0c9a9d561ae2d47060fcea8247053b63da29467724632210aeb79e9517ad9d7915aaf2101666824e2546a7460564b2d66718b513c472e6b28b31a18dd583a248a9f30e39b9c13ccedc420db53d908325295ca72947d46e550c885a62e192e0f481653f7496d02c56d96880f07e4f05304c441f0d1ae9bf08e8c9037cb89504c8f63a2cce69f240144cbf12255e264f1f19c4cc74fc0e6948bc060c8abd386b74112bcbc8df94256122d01676fdf892d37f093e0dffd2f23d72b84b46500b3f48b9c28d4dd264e4efae08e308c82d9ac8d085595c98d4eb9ef1f69b0a8aeb3a356807c449e4656a8e35bdd52544873c2eef116efd26ee12e0e247b6e5ffdc87b53e765f893040b135e58a46d4c7ee5e2fb77d39392c2d915219706e361c3c16a2d389824db8c63ef4123314b2100647bb6114d3c38f57c11495ffef876f77ae44dd6b5547b1a63061fe0759227e74810f78140f775bf81730ada94bf6a0cff5bd5221b3634e968ba23841149367827417fdf1ed11ede9301c13c81aa8f15959e98c4b1dc904c9668a1e081b838eac34683c3258bb638abd93ebd61a4dbbc2636620f158f14eda72a1472f4ac9e0de8c6ebd4042354ca0885364431380dc027b0bf360cf9f3b3977c507cc7d2655ab647d7fbed2565d534b9ccd6a0ef40c63095a95b022782b2e3d1a9d34fd9fa250a2696cf1617df9e0fc3b13de3f0cfc692072042ac4a7cb13441b6d592bca2502aa0401ac97ff1afd3faf7cd65866b8a9d92970889dfc990fc19f155c45a5ed9a3c0a9b5c844dce636fe0c45bd1334ddeb21d107de6ab5c1d7239b6857ae13669e17199cb145ed7d2a1828b21f412690a7fdbc49a6bb4505b3b5ede08a19e3e90b2f623812fdece122139d9d2f08774bc36d8320d8852face937bdc678ca418753b2d97764ef1820a87b3a2a9104879178238f450fe49905da13d984bfd8a1ae711833ecd1b7e62d98eea9792d7653e3e15de10f34a921d9106a94d87371ae5f3365678a3439a8bd765f836f5019287c09b295135740f24518a8f0c72773b5dc1e0c65e26c335642ea1b5d2affdfb8149a3e8d43706e4a64bf8985d5cab92c9cc4834d76b22a3dd9234f660ac1c3a1e881737a567059b1b8c35006c785f16d85744b899e006d9585720f499503c37374639eadba425fd6d92745a6ebc72fd534a9083f896c2d9731685d267b8aef869b664f215901d22a8bcb8ed25e662d6e4132cc5373f9185493b040f9e5739af5918465cfd599a7c2ad06d5739c619140ed36346a7a78c3b707fcd5c1c6e7d8e9608248379b0eddc4480cd901a9cc18bee3abe217d552293a1e6b0849079001469e97fbe6aac5dd53f18a0abe6a341539e488c751a0dacde87f00faa5ca45ab20cdee70bdea4dde69ed943517ec6b3b55ce37fdf7e15483d27440287ae0587769bba36001e6aa801fb53fdc3cecd121b57986b825216ad23ce5d183d8659c8cce37d5c362f10dd7c0a4d1317bf5a5be946f2205c00703d02e630bff1dcf28ae26e98f70a87cd07f2a47830ee26f587a9c9acfdd031a742a218e350f170fe4122b42da6eb8652a4b7123c5553f2c561c2282a768fe23257d39bc7c7189181efd9cd6869d86fce4856907559c51dc9f8c9d8649d9176e0d19595c82b9f8330898aa59f61523888630e69bae505bcc4f1a575b355c420e2c4294f29edee4d92a69f60f625bb8790f4cebc24c421934d1263c3a23b03ea24af17213a0692323ab92ecbfa86dd87e4e41192f87084ca132bc09a8e50f6a9bd29ae837acfaea2b8f668a1b5ef9ad1d8ded232a12644da7864d644407af06981c5de7f3b35fddfcf17561c7a21d4807596c0b7bde44235af5798a6e633f3d2188e91109d1588377d3d99e600ca9a699028183a1f37d0393ea4743453f2aa9ec5478860eadbb619108ff9eab5766e55a46677e0eadbd398eecc0948b0ff27def8b0d23105942593a3c5a4f718b72f865099f3b574f8fc83ea8122e8c8cd9e76bd632456415d63791e0e217647f6ad440859adc15f033dacc9000aee9ff7426331e40c9ebfbaecdd62a0e70f280a95e22a9a9bedfe663fd361eb0b8921b13dbd6b725cedeacb27e2c5b42b0f3357898c0c29269aba0215065a89c6d7332b1d2c03320d53caf24a7ca58c22ddf7c4eadd7e324c87933410cb87bd8fa98eb3a7bd597236f9435d6897e703e23ba771d57949d2802ad09bd4c1eaad604dc8c08a1957bf8bcd8fc82e4f2612dee593dd810ae3bd5d139b23185c22465a8d7d37e23e9fb9a1ca20180f754f96bc8c6ef9b9adb0de62102b81c9f3cbce15f1d87666e91002509a97cae6640215d5b7c244f6e6c1d050517938cc349d6189983e9f5a75e443a35a3646f91b1524a63a1318981f054f6c4f593f142bac42828295d2e7ce3bd2317a737c21e47af1e9009052ce59d27664451b06c97e805f3056963404b4b15b8b0e36c42cf9c6ddd5faf95e729056829e719c480a021242a5bc96bdd1f423186fa49094e0fe6b570f7dc8999ad507e3e92f689b83905893fd251ab8e6df3b1868ef0cc614bc93c0bc703ee364d6d1837c64d07528fab6f87f39b0d9ecbae39042ce51395f00a9085e6793986b0c1b65b749e90157e895c93a9109b0c281d6ee246d5884ab7f7bb329c1c7d29546d3f5b4f67af32699fbe49cfad4047426d1e652c29efa711beb4623b5cfbadd25dd4edb39659ae1344a91b74dd4659c8093aef407a2fc805351f63379f9fb5240ca07cccc40f369d1780924284c8e599b405e5062797e34cb215c7621f9d80b0c80e85fab14f8a657c94b05f78ae5de7bd3f3d2e5f54e570ae14092f8eed77d18d35fe3952c9340bb5508ce393a90cf8b371a2ed12e3144fb22a4c4719027b38116ab1a83fde448169ad0d4e79da54299cc15d4eebe9e2a222c480fab5260479e8338f097882d4b0277ec114b7b0101ea512642b6e14c272fb344d29b41e15e5f8b86a1c19c4c8108781cf88153d6e0687db2c84a878c613303a23bb73ae1e20de64913c70895340908c62f3907cfc56364ac862042f28cce28329831f643e79bb28f0b1272329da25258e292904d73fc6c2015fbba6691423638d65ddc37b1860cff50506c539053febdf0296f79340b028853147ea58833b848d8754de7081b0ab37d341b4de22fbe27c08a096688445368e774fd67403d57c7f780a670a8baad63c2e57733cdaa11476ff64812c63deed4b3d15d4c276ab04bd5b93705d8e9ecf52be08579c24cece5a517445a24a2bbc9fecf43c9a1e6b8f17dc9fe4a5e45f2b9e15df6f24e187f745d892f4cd035729f5e05e888e0b1c2f0c2da85dc21c49e5a23b4a8f1eed5a29e9af559da137ace232b8cbe7e5baeaafcfd0992b5d079d9178dbd6a46612ea14dfce751053cfa2761a007062806e8837f5dfa37bf749c794763f42bbea7d26e08ddb140e9bf689011ec5ad5964579a5710a6bf5ae00c3ed4f88f9a4df2f41cc7145ee58bf22055fadffdb42a7f7b0aac68517e1dcda0e074a8a2d9cde7cf3fdbea3da2f8011ec722bfba02a79242d234ff26a537ca48a40d444cbb6b36e8e563541d539356f5140fe79f710d9ca057c43adc447d7924de6b756feb51cb109226f84bb130c71bde1e71f858d4aab963d0c0470722dec3cf82320fb4916cf59bb2a6f254c26e972da0281b8b742c64aeb2847fcee759af43f1f0f94f100ced5406bd2e33856850878f616daab246d660a07d4d2023853d203878d0d00fe9cd94f214023c89e33a191a004567e8ebb9ec759e7e0e1d219a89a248c91b25c901bf8daf90885eb115230a3e9ce9ea0447dad57509c34dc5d28a1790322bbfd79ee69682efce06a663ad6a2bd4980508f67dad917ab80f7c760cb0e30deaeb9daf1b45a34a3c3ffc1f10a44eb958a650beb0184667dd8a5b94eba2dd9e195f5231effe94475d39e54895cb5fdaf66edb64a9ad9b0109b42d5d5d0e6bfbb9576efa9fe07a752fd7c672fad6ee3f5438f29a89148b1ef982cc18684ea6f0e902571723354930856c6db7894a01da69a464bb6cabaa5fca9d01700752d5246356c3faab7ad5b2c82e00dcd28cf4c5d33f327666c011e40daaba4eb6e5c324b65642b7c50e5c91e44a5fd5c0487a7f858cc246bc8492a0354a7477f2f1fb371a063452d67015216ad8f60694208c2c80d39f4b68b5f6c2a4b6541846cf3a4cfa470d33c6195f9094363f58358d576478d29ee77f039559f116d123cda0d664ca4170d90fa659d2c07a88df264a6d449bf10234346090a3bcc2598f5f10facba7f9bb29b54f17083c8b1e5d922809b95ffccc3db6f30571b37ee0394a2195b64a6fec6188d5f649f8cd7c0719059e109c1f1002b735a518fcea429e4a5ce7040bad9f1d99f09be75bc50979e63be65181ca08a7072a59a014e254e900463b14d0e7f9f2a18c617d4652680d2db11361501327b5ddabfdbd7912fbe331ad6f98bdd8906c640604cd380e87e46e00ceb40cf818f89498ca0455564954d637b711882f47ca64a4a799d57f9e03207271be9563d3a8a7d5b85262354f370626aec957d498c9b886a3a360f4b5a95bfcf483f4a77fe64a07cf9d26313186974565bdfd01db03b526ea4e03d19b8129b82a48147bdaab408e09ec1d17226f2721a0371bc2075ea454834366fa6a3ae03aeb1763ac93ecdfa712da9bcf8d902623cfc4346457f12c74000c148a7b87c00b02e70730bd10c7f3254732080197ddf9191e938881ee269f6236fa64f7704208e4500ea6a88016293875936e953cf36acb917debbeaa80b54a72b6dd6d2326a15a08f1d868f3d6317fa03091e70c4f024a79449a116b6c4097242f0b63edb2449dc4270f021cf3b6254d40f99a9804b224ed54a127058f4bd1be2710df6a132d4f9214197631e8a1267930e3cfb1f3b20d186c15151d10be34af8046d1b0552343e22527c79d9be7d87a8c55b03728fc91a2efaaf011a39215e02e6df2c45a097529f6359b0cd691b2037991af78fd6039742fbfab471c8a8c1b2e06c892e2ada59a5bb2dacd9b37f10773639a36f67ac83d5048ef19e361a52c66cf428785875df0b56d74bb442dc6c92c5fc7230e18263121579c4ed9bd7274d7fd87ada01fad0c71c84a71876c15ce7bf9ed7641f62db388af17765c4b2fc833357e6b0c34da95bde1065dd7551a08b539efd8f5bfa127df4f23bccdaa40ec179cf3a0ade1f0290d508d2bbc8e96be92faed1c00f9e53d021f05134f5981c9acbdf556af59f7afe8fdabfe4c142f32726df16cdfc1bd700bcfc76f5f385ef2f7eb1953891f71b5a373341bc2863592f895d0634c8c50f340aaf60cb5749d187b0e0ae56c08da335005804532907e784876007d729c33d39f486e6fa877ae1d60aa214f46de4300052e21335080772eebeead66eea0e6a124007c779164c5e96599fc998f0d4917dc2b6c7c7dd202ce9d6673fba4215f92263b6acab56af5cfe6b90143ac7db5531b52adaeed6d6e540a305df2b225d76806cdf3e5b710388dd371c7eae88a0578c1817fce3e501a5bbe6f414099cf05f1ac9f2420912ff1f5a2cf16a87b8e01b33af381a4e51230c77c8f7bc1794baf14ed8bc787e33548ffa93941fcf07339ed687bc2f2ec9ac3963f7f8ee565b3219ebeff70d846c66c684bd2b7c7611c6e2d17184ce631faa8ba11da79166e9a5c20f7b9ab3296b094bfe5b49b7aeb95757d9c6e7120416f011e5930706c88b3e1ed60942907820f87ac2204239830014f01be1f78989056c5480405bfbc9e05b16efabd903206737af867f7029b74aa700c64e75af946719658fa7401e7a678ea464ac91810e0ddb9db9b84eb770eeb07f0c7a3e0488030a841f17f09d610223c18664c73dc85a59a1e050200e2cc9257d58756e511777aa8af3b6216bea1dfeb8b8b56107658faf0dba1ae6a92d47d5fb79642b35b5a5e56caf4df521a4337270f828400b40d09e941fea5c28683d5300b1a3ffe70290f7320320b0011d30014067549e9926a92a9aa814f91f6a6407f5162c0ef8a90c6f9b50c2d7ebe15e94396408e5011e62da1f2e2501432b4b450621ec0a5ba887c228f5a5ada453c485217192e54f7a57149320aafd4fb4732746df157c974474329d30e6eff885b32cd7a2e54fe11bf0e1cee7a323a19cab87364a14aff71b3308ff19ff06ec5fe0733be9d3a93c232b3e8dcedfaf1422bd2ee07fc74773e86bca9b7084afc92363796a5c8e6610b74521cb71a95abe1da38bdbdc41babef3cd7ec335070ddd5901bd5ebc35153eecafb13d02ed1ef31e6f11ff267dc4a8e9b6d46c52c0a4200a4cb64b250dfc1a3c7bb150c2eee8bb9df54137c82c8c2f6c986b8bac00e5bcf45d815ed8f9e9c6a4dca849240d67dca2ea11e847d01829e58647e13dceea878e76bf8504811a0e038305a1d977067adfb330b60727e3d8781a4b982ec17d333def447f1b2fd1bca2c4838ef139334bbb3f8a9196b7c201ba2b640857db3fe52169e2fa7a2c746ea7c72b89b204b63f947b7a00309679949fd7997023fe67ad5db71e26a22311ff4325135db269198563439382c25848541bf8162b3d20ee66bb70d84b2bbb9656da4a8b384ceba5aa5991855bba060b2fb604e23fa9f1258a5eb49f96bdc064180b9b3beb630a5853f96fd4387422d1e1d3d54621d590c480a0795b7c8a54075fb804205bbdf8f60d18bb7a98e0e4f941b8bafc0b723fd1e682b08aedbf2cb66b33eed33aca9b5668aa5241e52748780e786bfedf1a44853ad873e0552ea8a51c4c0a5fde4bc16596da2af1d84a132c703c107f701f91353687cea0de6b591b821e2d27d940cea7bf2c23939dce6316f102a07cd4c6de0991d5d5ac931a5951897d0801f133397abc26ca6c3a935262b14a770ff59f045f6133d02112270e80bc234bf087e8084c71df3d430209e95672ed2c1925f390440530c1dbe0322eab8e91664ab9bf794c1b29b4c7af75663b850236a4ad829b4a75d8055a7fbdbd5d7ddc28d06b86038b29fe2ce5c7a6146bc1e4cc9416ddefb2818dd0b776fab352d8c401c2dd9b55d4a7bed10a7ba65eb3feb29290b8e1851bd99ada43496f38dad5e355d85b961488e24b42af148e8a44c65f3d249ce4022336d0c039bfc416301e8e786a7e96dcb9a253fdaf14e3d2ff8b34434b5bf223f4242c835e7c0d06c4556628cd955b9cf58389cd1b1d3265c08d5183264d98ff8a8e30e0b5b12c7a09b6a85f249a9d462e7857403eb9c574317d3158bec10416197ab6155d79c77b0ea0500fe3fb69d5b50b4bba60a8aa7afd6226a6c60c3cfb4dcb01bc37b0936c70654d45c1d93517d033d8801429cf5e932ddb64c5dbf87bd5edeef00e8b951fe63f5efd5a058ec4cf1865569a9779ab6d7660f78e6ed8253f7308a49ef02473250db5adcd3ac4c8ff15b27bda4a961be76dd56ae251d535fa62507a0f09af50389961a2b9cfc62c9f1701d5441c7e611bd8e0f383a70a5f30b31edd40cd495d06972b2dfec84cb3d61197dc4b8d7df2cd5f7b4e6ebf104c9264f8ec18e9922f94cb594353e3fa730e8d1bc4a783108eb3f13672947139aef939003a2c550c9e05d5a0f9a2261d2c5c9d00b7ed7b32326d80621ff448c5ac4c701a09ae31014df51f430761e43398635821580268786b3440329d8279db68b633a4c99367be7319f546cb07f60ebc3351dc985959060beb5894823a41fb5209f397ec3d1caa701ea4c6939dcd21c286dd068af593c845083d0dae030ffd46788349066e8b86c666c12cd4401d4bf40b7e57413622897ba76a14d6cb03fabbaadd0a7d3585e043aef8dfcfd75761d0faababa5af5817321d3c2d70e1f619fb35cf405af6d84975019b8cc115a604f2c5b2bc613dcad17e751b725d1b24be7312cd47ab942b067f67f4dc388a1dba6e357a882ce5f9780a855a42033b8a222bcd7f3e03b169e1658cf85c69d34a0af74b979c1ffb169e8cdfd041a1743efcd69c71978055f3bfd92ec6dbf63dd8a1b5be7b6c4934bacfaeda0f00d782feed03830206a830e69dc2f49f747fb565fcd9997fbc1df662f186af748a6f04138994b8f97ffc110a29eba2713240957a16d678fd7499789981978df088f302ab7c82a69393c195b892f1097b2f008e80577f4d8350c5ea58ccd319d42655d84c2649e360a2449df7be6d0413368fc5659c99917d159e86be6c74632ed556d5278244a42f195327e042692d511ab18af5981210110bc05991ecafab6a6595bfc744cc207e240301226f5b3e4910629a6ae0a64e6a5dac2e31df45c8241f6111a092902942bc51a47794ea272f31be0f03921f0f36a1759ff2419c70ff43ceb7ed3aaa036a045465c05d3490bd2a9aec82e0cb3a3593bc0160bb90e6b376b41cfb14bd62682860cef486d4250da07620a70ed6878176f8d8b0723b9826d8d06f0a81bd7207504cb17c8af5232f8f55fb4d93fce7ca850f561d2853ab11288b6a2bf1e7d2003fdd8cef6f328164a02661a134d67b9318c5b953941c7f98d1452765f57c62180e876db7c9b2d373a3db57e494cb682a7d10703e54f82348fc8cacb3d0448efd322a89320417d20b1d559a34f5a769641ad6dd0bdcec432befd4a28fce9c965dff153bd54f335579300654bbbf584333931e453aebc60faa6788b92ee9f88e8b40eca9c545d5f7b0a71205879c5ca55dcdcaede22e422342830282477ed32230328995925bf770c6dda8ba68b7976c856f05e0305c967160bb1b1c7de2e671fceaedd5e2d6a8b6dd5eb3007e1df6eebb5dd04c093e85e93b48382e94af807b0618025de9e0bd2500448b29b08c32a4357a98974db405fcaf4be21608aec4c0bfe0867e40370133862d11d02fdffc0376808932c7562cc140060aa3ad141e40b0683af60076af95ede374550bcf1514719ff9e4da221b5dfccf34c9b00845aa8776d283a32e080a26f6016b7b9e6497aef62a61ec3d123afb453f1b85e63edc121a4c3a731b7445fc535432b06816e7b149e472621f12dc0f8cfc22ef6e3244733329eed0b605d5598a4da4ba81d359f9ecc97c97559adef371188bc6bd83884990e2cf008eceec03f71e47945cde0789454a77f2852e67fd72c0dbf2a734218d5937ad5cb7156d52c3588b367db93fb665a04ba3466fb1da0837a80b961e93098aad12e73a498921d2c5be2026597ef016017e8751958f95acf6fd596c0cdc90fc05a4f7fa570994d3e4abbd85f48bb778726190af7f37f941b0ba6b3eb0d54b56040af200a322b75c99b9dffb3be4245f7b5858d60cbca327b34c47f863954e5a36bd7d0c4de5fa4935963247fe564fad936dfe902b43bea8c181e607c238078654f938fa4a6d0b5427190533f282e8ae68f06d916c6f625c20479993cd3fee010b621c67c77be9238da5d75d14793ecd9e3e4d5045d3b798c69f10c27288a9e07fb53ac040aa8765a9ae9ee1edc7699e13e0bbf69577bd3d7457da5c4941b89f2e12e8f0e07690856638fb9aff46d743e1856747e22d04dc90676ddf714501e42ac040750265dec45fe51f07318e520edf1187a889076ed1b7ea2031fa9c45168869b4296d525bc995007e98251b54eee37831dcfc61ef329fa6ee54f6924a083d3bfd4a860ba0ff0d00a6c3f50bbc2cb645f0b4294eaff0e2ca993a08951d2b859af3f51abba2bc381be89ddb01536d198336854164b3e207c3a0301f2407b1721a65c96ae35f4666c130c61f1d4ff457e64b10305c56240161fddd62535a132962d3aeb811c61b83eaf9bd402e8337f82d4d4ad1fea4d13995de8a7ada5ac806aaf1321ee221a195b8a398cab735cde6b9dd83780413576282f9b43f5f692ef0034275ea27948f0ac82b4d88b47e06a769377b2ded8ed371734176837e830dad1741a7c36f31668e2d060594c668dc14070bd9f7a5030e85b82d03f03bde5e3d147e4a502fb446cfd301a0cd47a23863317b05ace3fce689dbf89879e072e19165b480d8be5333cd28517c1c31c1237a8fb352767548536b041f8688efb149c53f90781e0a37d0027115913cd5773fdc85d2d0599c73f405a24857e3988f1a8b9b685f25bf0ddfc177b68f5cbd43f417df2b94327eefd00b00013a7c39f63c92d89470c856d4b132869a4e2a376557aeacfa727d1e5125de1ef4eda216949c3e99efc7aed34f9a3ce9d0e8270af942c790e495ae3770b0b7c5e5822b7066f3d62bd6cf07a9f4859767c4d4918e58d0e4a4cceb0c83ebd68c1e75cde443e909678be80c0c632cb615c841565fab3c9718fcb8ee011ca3bffbfe95dc618fa9de2a79cb9467afc72868c37f83fb05dcd08832374ef568237787874a44030ded429cd3738014568f2f5feb5d209e7e37f4fbf7faf623535aa056ff4c3b19330b134521f48e6443028983dc7308f485f6a93f6d61c928c91a38801e09f90e6e322c99da7f95e5dd89e51c531d1c1d4352c0e4d246653da6e41d9d35db18bb8dae4af1c8ae932c95bfd43617b6fbbff6ee166d73fd1762ee5de2657954017fb8fca4239b66d0dfc3ab9b9251edc5e4a882fe0b986eed0d68651b190a4eb6ad190e43588256b5c40b12f6a12e13a0b42c4358153212656b5c0c0ccb8707477f04c68f1d5310f9b0447d1989ce529c9dfd7b60894bd7d90b7d22fe36565a1473bf15d6d1cf36c7c4c9b0e5d0cf145bc82fab074836ff6aae18bf2994004b85a535de710d4d86fd058f515a5131ba411337e1ada24db92cc3060f16262963fc3f348572948259537078a7084f13ffdb6569bb09d6fd4f2276d74930659ccecdd9fe2c61d1df5c919864c260c87b7b8dd0aff96f78490ae3d98d7cb19609c0e5326bbc41080d7873ff9c2b107f8185ead8df1e39add5b5576bdf7236e894d1d69be27b9ea7f9d2954fdec9829cf3acea1d06822c2572fa1f113483aa6dc14001b36183980d42965ca757bf93474b426152f06787cc81899beab1a1db0ca58e4685b7697e5df76cd5720aff19c6d0ed6a4a0231b807e21166baef6dc60382a050228b24a5f970d1ba512d2a37acece6cb0070011f3b16a4b0764af1bb82959aa6c573081d958d837a7d9a1dd960374b3cb6b56e79e43d2c73e9341ad4374754210c9e0f8670ba9c4fd585099d4fdcb0a365da572c7fe24211c5d4978509f774a9210552b1fdd307e95fe037e2c12784453660f4323a0e2b620a60e76bac30273458523d4a0b4390f9c60619b9cfe4719e82c21fac2ec9e3d13ec108c2aaf8a247d29dd1e1843579fff26bdc7d0fa323566758e6f014a430c988c217b693ddc18a404822f454c20b35f825dabd37f6c14f4e533a22110da4f3c0f383282b5b867d74d282c005a00f830e46dd453e05a1de8ad2c1b304ce3ba636f932596bd69e8c8322de02de687506540bb435eea8aac9bba603304e098ee6d2ef75c9253e68c0e0a1f4ba41ae0516929a0ccefe78398e458036a8c11cd5bbc707022942295fdfcf0c5a8f0fe2ab2918cd7142e4714aa9480b92c3adb938c8fcb440717857a8c3bd48561c155c196c7620f9c34e2733796f58df4de8f8653d1e888f893d4286d9823205bd73ba8f1bd0020d6c0b1257867d030f10dd6a481178587f38d7793c93c1c668e6253d5f3a896c2c83ed05db7836160794157bb5531d49d877d061f02d833ca6ecba7b7f42b30766f7d8ae9225c0ffdcf462d113e0f3deac5bc299a98936ac8132cd45976198da591be74806ef8ffba434cd0ea8bb2468a0a7812767c2d44967ae47af11c4b88be64306d9fe62ad78bd456fa4cf994a0abcd9ee4bc0695e0845e1928054b9c5aaa6c0d9cef5d32fbede77d30d593cb3b2fbff06723d969ca7bc886c67f92c51edf2e561ced864f9358880c188660bc0b4ddb5a1a7a09db766de51853813cc260d5c719f75785b2bcd8cd4e63e153da13d6c0de1d66c5c8578166568dd8fdb6a3881c2f698c846a5cf8a5502ada3bc82f67c902d584b1911b4262c44accdceb652e4923d3f8ff4f651ce1efd0b51359c980bc4e77d73568c180b3011e8481b06ac7d04eb5f4543066b5d4ea25e3cde792692c1ec6d3986634b845d94a468377eed553222cc6d347e9316b72b891ff78aa4fe42aab069a8b21787ca6630b9f6ecc913867f29a71cbdcde3820d59e6668072d873a60bb3904ca8d123bc4f1e420e4c69e0ec29343f1577c1e91e6685b2cdf8cd2c2dd4147ffc9e1548da9481156fd54b6f12df814fd7069b8100e014e85870d718a3f5e153b8eb3729b43f88c57fa11294737b20e026be04806b318aac47fccd67ca60c8373f23d009405ce149efe7ee9e9c42d381dcf5e3efe572848afc09b5fdc93a2b5da68d63635a49742db4f2ecc31fb4bc12b8c5ce17ac2ad42fdf44bbe317c0cba4262ad3976b5c3c2bc5685aa8964a163d0bd0e5765c5f62006c1168d2606eb7dc8586bc85d26e6119fa0463c3015ae8dd1f4f8bb31cfd77807951a2cc5ed1b21c038743a1bd99bb4a8ee664b52e0b1c677e27f4fbebeb0ec59e9c9ee8c22868a9ca07ae29d1f86e150bd4caa24c0b244ae81cb0a22272b0428ac276f4c946db0843d0eeb6b049875af810455c849dfe69020a1a400257269075754c148b4ed0e5f1c44258f40754660a0989d4d984fbaee97ed72d0f910998fcfc12bfdfb491e1536edd695d62e84365fcc1c57e144cbe2dae38353af7f23b74264f10cf76f5be083d92a23c849e76bb894a50eb71dab94caf4a063fcc7ed4ebbf2250821c5c7c618607399313df3281f71a3c3bf6ec9dc0aa70c6776cde7b3064c21be1822f9cd901f18b3bca3f23e192cc1e1378803660e73989f79f297f09c7fbb52f500f5acbc90f7a03f227ca9d1bdd0faf03807fd4e6334bd89c6f34853f58f8c77fc53f667db63a045f005da8068b94a1f327991fbb205dca4632870e5fd4161fa00d1871a229fd4eb18051b2c9fe70cbc4c7a35a76bede30132f089b5bf9d8906a9df71b0bca217709f396a2843b091b4c031540c8de4ea0be9b710338339d7c136a4bb13d3a77763b3d97b0ed87740726ae505fda6c95ad0347ee133a476e7d77556dafbd5f812610ea4cdae2275be1f79c9192f4884819774f734d961d96ffc436f30221eda5562f578be15e89f7ffe97dcddb3686b72d40d7bc6dca39e347ac3757f2179158d60b3246b21e111b207af2633ef43ae9a05012731c4f0dae1f54a412372a2f2366f66bc35a95e1527507942f1625e809078cc8adf434c49419270d54fe78cca381e98c9c627f2e54e2ed9d9df78347122f3e70e4e3d5ebc1c35387c7cb054fc4a7f4f4a70ae970f7dc9957bd0d3d38d9e48a8471786b6e41bd6c1937758dc39b7940fb81f74d0b4914f47ce8fe72c793f0cd53ee960965bd281a1859de5c3167c85357cb0e1c735f53702f9d8cf0d93953712966777c640bf5c43ac3252b8b0fa2255e70422d1dcdfa5041a7a61a77ba32314c7e03b51d21defbf1df6597c54db0d355b9bcf91de98fb8749dc40536a79dbc214a710c256d5e8f864ff5a90f5c2bf6b8e518dde644f8d610c1e31a70a82c5fcfb3e95f458171c0d8cf7d6e8573dc7f6cc9ccf56a35467eea8e8c22538662c6ed113b20267199edacb39b17f3b35107734552e1095c8a7e8ce8096909625035008659126a1d2e72f8e277b6cc945289a8e0fb06545b1d6edbb4ed2ffcb1e62f5bd078bbbf5aec8e02b5fb5b9e5a9693873f902c4c42064a41045723597eedf36573c775a19643e0be90f0ab8eec320ac355b011b3865309eac61770c7a4252d540596cd9033d202794091c2741cce7ae52e3cbf25716e3ab4fc851f052b029fb68b8b3d1b11bf36b668ad6bacddfaad22f8a18242767cd43066b1398d6cbae37141a992507ce5d816125a49c9024584a4f7f4be901e72a80eaa6f5f3d914c14a96261c9cbfd950d322559557b303fd271a47695d6ce49513d71f0895b00888cf25bf01d5ec41fa6160509028e29b8b964232f19dfac6f4d1ff6d7a8882d34d53c3244b246642578173725c53320a748a1fe3e7d4781ee961c6b770a3696b2436902ee547edc44b84a0bd5b76aedb679bb05fda251b47d19ca885fc64a8dc0a995c03a14efe215da8790b46b22ab5742dc3c358d0ce17b6aea198a47f4e1afe5740db8f9c5a4c20fc0a738b019f0e999f5ef2516aae0dac123f3b73bdbdad08d6e2aba6883ec0dcc3c74ab20e1de1c9306310259760c7a9c904fd279b1e3c1b5162ee4c63da5be4247b3efcfc628083a42d17483650a2e45b5674ae8683ec37e90b80b30be4cd354b05371cf11f45d3732e9a47cd493603a8aa05897d05245740c51c8d68d4d784536db58df9ceff35b55f2dc3be3b1ee03f889bc4085c3493a3c6a744ce0a11d6d4758584823147a800bcdcbd0b9db23f5c81252c48b2bf24d1dd3808f9c9568bcfd29526505e894e1224b04a885c6bb52710845a385a6805d24e52b40482feb94003a9b6107fec08d34352ed8f5fb0cc59d42848110e95d6ff0d535ba6af4e7ca1f4c4fc26b042c71e43798d49064401dc95b2ac6c34acd223c6d59f93e41422073045bc3bd1b2c6cd71d0ef7d1cc68c520142d1344fa280c68ffe0e757d7d87f3d6c681a9861132398e39fa70fe1d561a411383bd3f42361dade374aee38083255b871a5eab2de43696389272b62fc63bd4668b00208346c4ed035cabeeecc73961112a827f622588df693352506ac775c715078752c98372319a4964cd56e9ce7d641046ee5781034b2ae3dad907cdbf4f8e7eb2e2bdcf18345a73ffe15821e04030758f4043988de7ef8a28a3c334bba2c01d951bf290306e4a0a291b0d9527838122284f2448f9d53d35aa352351df1086c968b270c20ac135866a49460ab9ee104ea763aba7bceb90170619fce48d7850169f6263a7a1a3eb7f903d22f2d52d872a05232e23752cbcb9a81d8d43d362153150615cb23d4c64d908f55fbad065bb5815f6bbb722a9fbfaaec4822e4f2797c4461ab7fea0ccb79c86f16c9351072bcaa6b62ee6eb015ddca94be0e6095565e6d0fa52e2eefa9638b39784eb47d72e4098a5996ef0b478c0245822f7a8793b32bc441b9038d386d72527953e1484ba6b1bd9a78bc59b4c7043ebd842410581050c86c7308bf14ce062783a75fe463e7f3a1aff5b1b1d366503f2f15756330d6e52caa66d7d994236cb760bb5e34f85bb06fdad7b97664471e7c1b32ba7602bcca62f0f84f8a8358efb901f1e5459899d9eede524a9902b60f0f10b510190c5d19162382d54a14c3f06bbd86be3163f2fb56f68bbfd70fe41bb5ce99f502f27df9be80e007e27ddf6579b872d19ff503c9df5ff263425ed172b55821e930f875fcfd488cc3ff8cdf5f26fbe8f76fbd90e063121c7138681958986b74c838ffd0cad8059744622a6d031117beb48f9823884044921503d1816427f647cc8f18fd56e0dc2437d9b2850b2eb4d0020b2c7ec820f588a9b293df40b5b4eb7b5f30ce61f802929fcc18c784c4da3f52c4affc5f10cfcbfa05c47bec7d8e99426442fa775f40348e099981b8482f67cf2f20ac1a30840f3e9270a55f40564377fcbc179090f4ee18730411866442b6c057fe2f88e77d5a7f2f202051f8e0832f24e1088e61f822e264921e61b2bea41ec551045f403ed2fbd64bf81abaa3fe0f76bb20c31710fdad405fb9905a8fee6150062d6fb1569e76d7eeda5dbb6bf7b146cefa5b9fcb0e3ca4e476f142e4424d7c707deb7d60d580c1f5ad47e21a3dd720618da3e79a070204243508a406f849dfe7c7396bad3dcff3beeffb3e10044110a4a2c250182a4b96a9a9fb749fbcaaea35c67c60f57ac1457edf62f9c5597b1f18bae0989060cedf8363fed6cb25c1a1f03e1843e617f6470cf9fd8f18327f0c19437e1986a9bec7b0fcc17e80a492dbc5ed0274f29bfb1806923a6826207645f1552981038c71ce5e6ea21f0f0185134cb051834609323364c4dcef8a56ce7e837f07f618305e882f2e2f578bb50ac1cfd319134074693d82fbf2154c87473cb9f788262b0f172084fb58871ef05a23f8ae9032e0125768ad3d6f091c802018864a6cc15a82079f077a4db4ee125aee0b0360cfd98b20850899083db79ac413205d2f269e2065b477011f412c4226b020712e2a26aa4826a8485c4805135c608c7356820b2a2690e0799ef77d542e20c2305cada40ef0926225934e25850a971230da0589298f74aa2936e082e5923ee59465cae9077e83fd067f86714162d2a9983001d98a4e25250a92742a2954623cc8c9172e1c239d4a0a0e4819777171717979a142a28aca014dc8fcf7a5033704dec5dec5dec5dec5deb501c6d88adc84471712638c31a6ca4d536e48b181447e929b609f7befe8387c654a1885280579a9e8b9b1d87fa6ca79ca4a8831c65863a89cf35314a828a92a21c618632f4bce3937398518638cbfa99cf3949510638cf17dca3eb36c25c41863ac612f64d12c37c96811b3608c3166f38c0b5a7e038761461ca6c218df185255a6ac64c118631859b44c619c5f4c59a1c25295c57d2ac2186bb128fb14e527298cb1f742e6a62c9cb23c6999618c31a6c23d2ea4ff84a128cac8b440578e42ba671f6f852e4cf50a572e358642323f4b529920452be340bc646ef25b64b8c05a602c70d80ac7cd5ec819c618639c2f0602c3c1782f2097f401e4920e82a10ec38c6f18ae5c6a0cb1c8fb981cf1155c6385155860a18516e4f52da45f779db10d5554949454952a53e4c5cd48dc2c86c45458aab2c8a2e56ab95a9a9a9c9c9e9e326e064362281c255565ca0a99ff66b96fe55ab954173783c5206f162dd8093f45890275a16ed48d9292aa328341dea9a25c73ad5061a9ca82cc228b2c59b468c1cd48dc0c7469d80b52264a8abc58b0505159b13295ef2c7415e559f691d19225e7ab612279ef0d43176fac31447a236e25f58873d3cc083cac5f244ceb629886650c8e1ee9618c31be8e41976fd4ae169931bef8c25eee3be92f863030e4fd1014438d7326f5eae503873660f428be84fe22d6decb875ebd7e5cf29dc977c12d5aee234641c982c50a2deefdeb421ecc855a1776a1fc260af6b283e8b9a6e63e8938c782c42e491059abc789dfe364bcc7bd7e5c0c7659b07035de500c4119f17b196f84a2caf2a308bfc1fe8388573e88f771988a784727f4e32e948f184ee9d173cd14d1150a574f5cba107117cbc5123ac6e053cbab8a91126f961fdc2a2d445c38153e4d3d8551a6649e9eb03c095d3690087588e5568553535359ea69eae909bbfeaa82d00a43dcb4c24dd9e773ca3e501e966712c2565ef8de2379cffbd5387a51de54e841c1c0516614d25a88b8581534f27b994a8a3725a605f77815b14bd57475162f550de941e1180bca95b1a7a5d5840aceee3fb9c6fff356d63a36fb44f7f9de1bc59711bc4ef6202c82e29212a598aa1272217e55302015e54253505f945355a902051544c8f78356e83e587c11738dbf8679aeb9378f218eddf71b6fe5ec7e93c1df8171163223651ff0f3e32c46d0abb2926bbccffa3de67d5a3c2cbc2cbcaacf4a1ebd959447155279575a524fc20f4a1312ff37e5033f02229478b3941c95a1fc06e3fc5f1508c2a86af887cf44080bf8fa9180afdf5f8f3850f11189fe709cfa70f8aa905f541e3f28bfb9c1ef422ef48d5f94ef29e3be28a1efe98b926b3cc88530be234e57f99e7e325486827d4e389685b453aea122e26624fe30f61680bb5032554508c842e23743970d2dae9411f21a81126fd485f22e5454d485ba51b8278f39e728d89572a1aee3aca3ae53138e894ff79fb2d844e342bfb9e8ca6c21ef0dc55c25f515a1c592225d4d6ed5cd02f3e06f42253febef65c1602279f588f3cf595465e1af1fbff7b8aa2c2e16557abc595c2c7c0461b855d5adc23d178b2c6e8dd51892ab47b69a0c5fc43de1bd373b3d45c94d20087a5e1659b45481e0bb708fcbb34285650a8c92aa02f579debb708f37e2dafb3dce85634e216eca22eef9beef5db8e71b71ad26bd51cf40f450bf8622e27254d414565598050b89ff461516970b1b1b4eb0c68b05aea9721b59ea95031c969282c48faf24006cfa0f7c9c088e325252606bf5a1df7307411caec2d56a35e2401004ef531886a167f91d9805e29c8ac458708cea0af6115fc1eeac115361a928a828ae454aca48f6c14fb9268b32593c515d91fc5c0b8d2c5a5c59bc5796202481031a90384c95850b2dde1023f8000e3f6524441ca6ba596097bc9ea9107198eafef792818950abf5a0cb45f0e5233bd11abfcf2f76f126067cf8a9887c5d28199930fc2ed48d926f940bd5ba515a9705135f63cb8609b0a26f3db2a561ad8f058aae96bff4882b72bd84fcabc5d25e18829e98a3e415eb93115f80ef02f3311026133363c6bbbcfe6bbd724b8686e18a48fd77ac218acffacfe572d5105fafd7cf7ac1c82e567eb1fef53b70d67a8c3982f8af1df905d3ef82e158bf0adff57afdfafc2f5e304fbf60dee785afc7a4f05d63928cd72c58eb917a6c3d32e6f34ac6eb1157c20c977f015d5cc09c4150bfc0fc17fc1730dfd7887b01ef0b087eff3816037283557eaf6130ef72c1849e78a364fd39e79cf3f72f588cbbbbb844196f949c617ef58d4930cf8271b5f4fb4bb358afc5d7cbfb9c4f38c104136cd8a85183068d124a9091993143868c98181898183160c078f142145f5e5c5c5e2f97abd562b156640e475c087a19cc327e86e73223ffcbcb78015d46f0432fe711f7f270ae5fbdc4ef1b93f4b358fa59396bad75ccb3340cc7caff65ad5f30ae8ff12fd6ea5dac985fc1fc8ebc03c3c05a1f63f530601f6bbd78d1d22fb80001317feb31a961b03c5e295a0f73a3d042e2fec10788f771ffb570ff084082c47f230a12536c5c2fe3f2d7f5a38c788428922ef177e49b5f5c2e2f2eaf71d4bd52f7b26498902ffd361e27e66b03c6725d1851dfa16f6a6a225bde6dbd977dae508bc67883066bfc182278ad311410c8fb513a47d13a8b085c5e941ba5751e71572a4ace519e54a072412aaf0931c34c6d2171066fce396b2adc73ab90f845e2f79a7c629ab4156015ad85cef20402d2d53402199038af89062f58059402d457700c6b2abfa9926b2e58455355c91e26414f8bb7e573029d485d25fb8055c02a19a6a9700c8bae02a7f4156d455355817538bdd0ea3dcf3e325ac02af9ab927dc25153f5505dd158bcd784e8c4eab515b867054a816bb01496d254246e42c4c5ee085601ab8477d45542271287a5a4e042c4e92a55a400a9584738411526e082741f90fe0113f840ca485989454521c0698a8c0d9b2858a014112743e2d6efc033ec7afcb1fc5aa6b24f691185459415553c3d6959927dee752ddfeb47262f16bfb172a1fc062688a72c0e9089ca3e25602fcab54c95aa28d21b71772a6ab57a11592fac7005035fe79c736bbc53a26462d77bfd2f580c2b44976bc4e10ac15ce83b80188eb8990c6b94795585b815811b389107f3dc871142bc8f93b922831373788d6b1cbb187bd6593f38bac6f8bf517bfa338685577c980e734dceee2288750e5a9e8afe01146821dd0ae91f384113f2427141e2bf52ee14d7141823e533f1cbe5351621fc33ec90d9227281a1b4f0aad08a53768a415da91b75a56e950b250575a15cae2b055fa828a05c429cdf45adf5e31fac73cef94eb19278624586c5b042ac114e2de03260062a234fa648fc48ac5092c91ade6332cb84da06c7f0df1c0b5f66b1994d8c35dae058f81f0c1766d80c7c31f632c65caf6d468d4508776be47ffd156a5dd82c16b3c1dd71168b913f32e9399173cb48f6a9f11afc392e84a52ae6373856748dc462a47e1147d80bd8e79a97150b06bece210882a0cb8804d7842109c23c4614577f7e0f56e437f85f3023b019821071b19fab63d7b3acb0cb0f2df71173d5bd3ede2816ec4a45b1c62b3545ea3a21e32f6cb4c135786cb5eead7719af04a2cc4fb92dffde496fb55aad56a00c2c47816bf0e316eb65c07a90f133dc65bc931707264232648c32de617ac485f765c880c17021d91a8508c1b12038865b30381071b190f59e752c16cb3e37ea561123085ee50547dda82c157b1245e2b7899a2205985feebdf77b041162035603460356024c06360326e3be7c2b8a0bf1e5a7e01dd847dcc75c370a468c7cc1c2585ee49c59fac680f1e205cc2be6258a2f7c7419258c3263153dca185f5e6097c45372cb73abf53d70cfeb5b1f04f7b8bef5423cfbc4dec353642cc6880b673c8c1127caa0f1e288fbd8cc847156638cd11831968bab8c9e6bf0cb888585ff0a8ee15bc5a5ba8263f8de7cb394946729324f5d2b3953e198cb0f627e85df22c242af2d445c8ea20527566161700465bc13326c6035fc2fe9630cdce2aefffee75571bf51fe370acb18bdc69ff41c7b186c420f221027730cd51058489c3d3b14eeb9a453714414e992f1d4d4d4b4839340082acf490a3c95a78e8882c4612b52475091387c4567f79c5e90b3072566295150d9094361a16f6a6a7212c29f9d720d7e9daf80efbd63cf29dc8171d41db1141f441c8e028591c03aa064309417e5491312bf0d28295138f13d86ca3edf6329a85c4304aef19c70a2d388a372cdab0914e965bc5240cb7dc4ff394015319b1cb7a98613fa5d48c3324cfc895da89813eeff005190f86fece861e37d770c02db1182bf03b36057cbc80481f508c71ede8e2038e653f9bf85c75593688cbc63a87f470f9f3c2504f738154f505604a9ca2204f54f8ecf09d6d803d7eca83235db99b11eff0e0b86c4890cc08284014d708028f86f34d1c2780cddddcdd67bf671f9f4ca0706d7e0f7d5e31e275b9e4bcbb45c2f19117c9c08f39e6bc4892d2f671146c61bc1978f55f8020a4a1e4986e050480648f08e808d103ea121801f809db8349c936757d6bac92ce4978102b6716b803472095746cfb832563160c0c8a27e71b9882f1aae125a36582f5660f881f8fb3c2fc7dc9d863bcbdd695c0c9f6cd4a86cd373d5e16c53b59de9ce04f70b86489f8b619018d2dc3d05174357cdc7feb779b2e9f9ecf9edf93898d6722d916c5f9e0fc2409cf180bbbbb80856e15ef447e9b99196be26d6428e4fcfa36d0422e1ee2d17c102b817fd4d7df6fc96c9c806994c268021ff82ccdc3d1ceea9e0ee28b808da38bbcad275b76da9c3595b165cfc74f05d49cf96dde623d9da32f7ad9a3ebb55f36b62dbb6ee5456fc2cf041b999eeb67c5674f16b32d33dbaf811f9723c527b946ef46feaffaaded6b2657f1fa5e5eaee2ab83b92bb8b5d652b922db77338db76a2acaf7838c17d45002f0a77df2c5adef66e6ddd3d873dee99c73defdc1bb803e5bc8e5fd79d6d0520a01f201fa01e201ea01d201d201a500ed00c08e8e7e7c7e7a7e787e767e747e787f693f333fb01f2f9f1f1f1e9f1e1f1d9f1d1f1a1f9e4f8cc7c807a7e7a7c7a7a7a787a767a747a683d393db31e209e1f1e1f9e1e1e1e9e1d1e1d1e1a4f0ecf8c0768e767c767a76787676767476787b693b333db01d2f9d1f1d1e9d1e1d1d9d1d1d1a1e9e4e8cc7480683f341f5a0f8d87b643d3a1d16839b4190d28e727c727a7278727672747278796939333cb019afdcc7c663d339ed9ce4c67469be5cc6633a399fb76f71a2e6a267695e576294e9bbbed55b5d9c0b289b162397c0e4f8067d9b008f09f75dc33cd3de7b8bbf63cdab0855eb9bbcbc58c041eb87b092e66157c5051d107b16c8a8a3ea8bd6df49f5554d3221d9deb7f7bdb68ace883cc8d9ee58d2d5b68c13dcf3cbb98a94c791b1554f8b67c7327d9ceb4d4e526ee41b974f7773193feecd9ee8cfed97323b51fc49ae94e35fa9bfaed4e6d774356755d7d2ca9ebaa0ab93b7631db7097c94017f11698125aff1c393e27f6bebabb1117b102dc9d5d6546279a23a3c9726ed8dd3219e1e8d07e6c1bc8c80402a2f5d86c3be726a7da64463ba4f63c625a5bf63cda2b8e7ab496361cb4b4a928cecaee70da55352add338e7b96b9e71b77bfe19e85e03907ee4ee4e20c16f76ce39905f7bc827bae71cf31f7ac827b4e2174c5b888dddb13d5b15fd49645305cbc57dcd152ca0c17ef13778771f136790beb66d3d3dd5fee1e012e127695996a0ec7b69544281f527077192e5e31dde8e7f86df426ba5391d8af79f68cfd926da6e76f2535b7d79aae5c62dd7de58e4d779771d1b36057599bbbf915ee7e3d8fbeaaebba3f2ddfdce9ba6bf7faa97ab6659beedc4675b9f3dbb35cdb3f4acfb62d73ab7afbd2dd3d77fcb9bb0d177d09bbca6c5ba9b654ae38b695c5b1a9285ae230ade56a74a2ee99c63ddf70cf33aeddf3e842131654a002405633a6a6d45c60043818b98203486e28d8d1810bf51183e1e0872ac652283342142d88a0414859fd8c350dc8a18a518210b2ac637bdc7001e7e40313e10ac4196469f9545313e959ac6a40ab158384240fbf7ce071f4f142cb31acd542c3263cec801f8f4a7020f5985401adb5f6fede9b743fe30000261a0725fcded8e6c7c1cb1e0e006082033f277949dea80407723526858fbdd763f6f0dfa47054427e302538905ae79c75d65aeb9cffbe5e7821f1e3bfefff80963bfefcb8f0578f614a5a3e94f57f4af8bff7344c890c9984c796648d57492657e1a80407121c9374d6a31227f187176fa015d3050e38e8803fbf0ef7f5e3400509f8dfe3d0c4e9853c24abf75e87f059ef38fcf042de88830edfb346a717cabf1a750847a7171a75f8462fbfbf0edf4d5b314910c2b01fee0fba89d30fa113766ae2a4472a4a5cf8818a12177c8acc3adc2b838c18c385a86f78395aefe10b267485f0876313fefb2ee472fd0a64e96761dc44bfeb2f2c87d55fbc7a09b9604c56b01f5c10cacf823571ba42f97f704148ffeb916457abf5afd7b35aef7485584d5cab5513d7bffec27260fd5d8d395041c2fafb39b41ebbc45ce37d0b56e307f85f12383ac184ff1b9d60caef024e0c5f30176ac19ab43e843579ddd7d894fffe1d9be4a0437ed6d8949ff5acb189d30bbd3ebf0220be6039e890bf3536e5c7ff42921fc39cae10eb5730a72bb4fa16acc90f2e08b1de09c35ef9e5a3060cfa5f1f80dc64250313a1d798031524adbf9f03eb6139b4fe86301762c156b01fa8287121468ba8c49d60c2ef0493fef75e3560d08f1f4936823f34a2df5f46f2efc09ff1878156cc16117f2be79c5fbcd7f7f27acd38cd103183c48bcbc5e57a797179bdfc0b0b7c79f12e2ff9f52fff427c71f92f6327271a4e4e334e669ccc389971e282412498e0f0ba2f3f43c4cb0c122f2fe0cc93973bf3044314679c6688789941e2e5c5cbcbeb61bc3c8cfb4284f1305eab87f1e2c3ec03f32f461c0cfd30628cb856c3b038396927d1898693d38c931927334e9e5e30388327d235f334e33443c48cd30c113348cc38cd1031f364e669e609834e4ee0e35a17270ff5b746fd195645b65cff02e6b9c635e25a4f434693cb8866a7b135beb0c65683334e669ccc38797ae1908857ce397ba0e7798f5ddfca85b1eb699eb08bf5b0a4d690cbe5e27a1725f9c5855d5c2eaccffbfcc28f73fdcb859f060a0d141a283450a43e29d72b4fbf5ee0bf5ea08625e1be0f5f87eff5d2ab7fbdd044a1817271bcd0faa55f5e60bcd03c519261dc97df8169c868125f5ebc9e8614ee41f171a07679f99717612f230d141a28345068a0e497fb05a1d582e1348e260a885d617e3cd23cd13cc10e62ac71e27df03e889fe689e6098e460ac62b8c699e689e5c1c980609d09f06a68942130587dfe3d08c57ad118766d638e29880200d141a283450be218052525154916a19d1f28188cb564027d0c90ae8640574b2d203d00924027cfa4024700f14ee69815160143885e689060acdd3162d6093962d60d3b5a20a6cc23db8db32826545150d948bc31ab7b0a2c54a155457b05851d5032b56aaa0ba82c58a2a1a283448804e5aac8051b458a902cb16d00924c20ae8440385e609cd53b64203458a949292b2420305946a49d1f21bb82fcafd7c47999528b688707d2b8f610c10be2ab9267f28ca64a8982c62d2eabdd6af3e29bea98f0adcf37d55e01e2adcd3c282c58a9035e3b41a679cdcf19bf2457d525f9427857bc0fb4911d19a717271627e2082ef5f544c16f186392a4f8962c6c9cc93af4ace9fa1b2942cf54df9aa7c52e4afca8c93d5e86925b98b2e582e9e71abf1bb232efc60334e2e0eecab6261171053404df10484d655029277f467726fd04bab4a6c2231a8c56f7e10c129dcf3fa1f32c897638131cd93e31e9a283896dfe63718a482c4ff82815338464346d37dfda281e272c170344f48fd1a699ea490f85d384b91389d45d340b9e3eb35e2aea68192c95712f85e8c1622ce6d202515455805f7bcde16d244797df8b9b49c88fa5dfa5f30568b09e982d13c215bac9106cac509bd51b75e17bc427bae7741b558ae67bd87c2098f83557d5ab26cc9828b2a2db07c9f955c93fffbff462ff4bc0f9d0c5f3be9fdcc137ef9f05ca1f72f1f7acc4face43014451999ff188d95679fecd4fa3c9d9f64a7d6f81a5de3979dbceca4c7ecd47afde7bdcb7bd7e77225b5be97f133afef5fda2543c66b9c17f3defbab888c3166e689d47f2fd9f2bef7b4e7799ee7799ed77aef75d6630832c1410752ffe781b81c48fddfcf2041e2c06f71928cd781d49ecbf3c00f7f86889927af9701036a3de2669e48f05b9c7dee6b9c0ec7a417ae4a6badb5d65a3f2863e6799ee7c53c1ef279b0b146ebc3077f1565868b482386f77ac4e99f71fa19222e0efdaec7b51837f34486fabf31e97b19ffa2c33761c48536469c48a38497f91ef464420fd4210c0b10ef935c63e8fd2a8ad61fc3b3fe17a28bfe19ab28fa7bd0fb3e0467a6c8d6cbfbc8d6a7c9960cf03508f35e1e06d6faef84c730143e060c06cc65156535e3f43de53cc3fd7c4fd96715457c8d3851e6ff7bfa9ef2f781af0f1c93bc777df80ac724cf75fd35e4eaf0fb5776aa017eebf54faec91f86a22823f31f5b4521f38a2a7cdd6a1c0c0bd91a638220a2d98974fdbfe411d76a181652bfc29fec83af64b1a58a0b2cdff738b7f27d7e1ad9890c5f3f6e4545e69f71d262fd8cd30a969dbc8ff43c12fcc6192717473ff6669c5c1c97f41e8625fbdcf71e56457a3f33f3446af7cf35f08da82d3045789e360283026c69c00116e0c48a124eb284f8004f95c413124cd02043fc80568b092a5454a810428b0b2a3ec847602a2cf5e10752f141087ab70a2c536c1165082e60028acc994a9511afbf0f06f77c9e079373ce403871440f228c0be954116842e2c48740abc7835fcef7cb22cc0be95454aa9cb41ce372903e0bbd0b9047a84441458a0a940c5596fa1a909f2a64c1942ca65c61c5bbdc4bb8d70157a67471efc5988a1059065db4404f0554455011a2890172a8571f0b6e38aef2f77d40646fca15a11353142182a4534dd1e215d18ac18063fd852cbff79eaeaf88cd7e76043132431557aca082115de1ecde8bf16c063a36fbd911c448155730148ce80ab5d6a7f63c13c98a4ffdcc6e107d6a082a12f7e659844483d08513616482dcb0d9c13d144f5960c419088261280323da604a0686c562b55a323037c0cd5eafd7cbc545260738af9271d86d12a9a07822efbfc370bd78f1a2e6058cd77d7f182f1f7abc1183e289c479d58d1a0f722a277850048302ca3f8b8c2bad982be27d97e7ec1188800bc81647804a0623c1cb2115abeff33ccff3beeffbbeeffbbeeffb3cfd7ddfe79cbfef23bf2f7f5efea0b2f63410d9d35a7fdfd744674f1fe0fbbeeffb3e4febeffb78d05909d7f77ddff785df979b70c2e2f27ddff77d32dff77ddff77ddff77d9ecedfd7fabeeffbbecff3beeffbbeefd3397b3ae7effb800822f67ddff7e1f77de3941b9fa7c527acc8908166adbc9cb3bee1e50f00e17d577830399ec002d4dac6044e4f6cc9302f4230e5c98735029258819329500e804015d8940e0021d50402300882ca25081aee793ac340a07516ef0b720ff417ba5825e4269e9e78c1bd17e72bb4d6def784162016a10b0441305c357962cbbd2d974f4162ca1352a6e5e27abd5e2f1717110230005b310899a06295f36a9409730c2882025b74e0082112c0802acd84142870000a0548e9c00930f0240913601ffcf04c70116a316402092c500c3594f680707da216815493cf3b808bf644980f860322c083a79570e999142a72135a0a16970c23e39242c009988842401529e2141bf098e801042208293868e5300176c0114e4c1c808029b8688244085060855046420a15108820400734595d180714f183030e3023071f6b05f6e870092d305c7fa1015e6418195133c144281691b5109989274011260ba107262ee0032b249d8a09295e30987961ce39e7fc792318c213af789ee77dce3908a19c3399df8bfd1238c01eea9c73fe3c307f39e7fc61165f8f19267f5f865a820757ff7f08bbf1914eb5840f7ef8bcba9faef2bccff330e989387665f4e344d26d909ea785bc7f0fba2dcff374952468e1648b141b4421e47de8794b28417a1ef8799ee7f520e4799eb77a413ad5124f2410244efcafa9a5bff57231c6a3ceaf357e20f9a995f37d01d13588b4b66103064614817c397bded5407466520306d6af1e49f8e0b3563e3021bf1790d5bd014b36911f5aceeed5b6654b9b92faeb3eda6d7ab6b68d33dab1ad6edb6c25bb57d5564b75e8d0edd415880e73488739d4836927d598d6ada4dad8d3d4610e997bb3b59c6aa6e5aa63db4e333d6ba57a4b877424c961db496c3b89b97343ec6e5b92a93d75d4a447e791246f13cb61db4958b6dd478ed2132d95d455a7236dfbc8517a26d94aa1f6b49da86e898ff385132d93b43b1d7bf66857d58834cb8d44aa40da74b37b3572ae2dbb89cc7dea76365b91bdaa3cd87daeed5e736789f230cbbd22b5e55a1ad1e9ca5a9bee5c7a74b26ca9d395b5556d4b14556d414134a5a020762b9ded993b575d50507a9648b6722d75b55635cb2454d5d9b6a9f2f0bb84787485865d65301767a0dcfd5bc8f11f5474949ee959e6f65af42d5bea7edbd252c94c4b9b0e1d3fbb1cb69d042dc2743b492676dde7ed6c5522dbdc47f63e2adb2347ecba93b867177e70a4c46eb6dce8261aadb8cbcccd964b8fa2a5ad878be312202e8eb112e9cb4fcfdc6ecfdfe8517ab24fbafb8d8bb02cee2e63774634176152eeaea6266c08778fc145588fbbcb50742fb1e5db1ca567cbaee7ed6feabf8c094577b7b799a7f9ec36ffa63e4b9a3bb7dba1dc6e8758a4f69461a3ba9ccac3dcad6eb7aebb4d87906c6d2994939324679603f4e3d3c3b3a39364569bd56849da749fb6946499ca2594dca9bab4896cdbaafeb0adea0f73e7549b8e9d9e9d7a4b87cad5c7563a5b1bb9aae7aaaba9ebbe2155d35acb9668a963976c331d4a4bdd111438e0ee445c4441e7eeb296dd47473bf65ba4a333f75bc7d496bf6ea3dc2efd8dd4da6ca436b73b5a4ba4f6f72f6d224796369156458fecdc8964ef9494ba22667abee0ee315c4401e6ee435c3ce1ca094d321b6a685594b531d333490035c8d88dc49628fbbb2d6d27aadb99e66e4f56d56db34db7d27ef64442f2b25645d9afb19db7d3b675ec8d999e4931332dbfa8b6d9a2add395485f64a66752d1a75be93cbaa96fee7655757b7df5d3f2d9f3f7ba91906c5bba6fb7224ce85e776d99dbab1173a3e8f902125bb647cc6da6aa10aaaa46cc54354a634887b6add41d413adaa9a98f562572949e4ceadab2bb87b9936c2a2a946e5d919a4e57060501e5f0f0d056362868a7279aaab5dc596b378a96ba75b7edb984641f95b9a1751fa5e70fdd9111f42c733e5af52432da32a0e5d116c254a23af6ec61a2fbfcc1d49e6dbacd21f6a8447fb4a7500f0f6def1509498974a487879654da6cfb851e1e5a897484a6b35412e5e82c9544339da5920888b65412fdd0964a221fda5249d4435b2a8978684b25d10e6da924d2a12d954434da524934a32d954440394b25d14fce5249e493b35412f5e42c95443c394b25d14ece5249a493b35412d172964aa29c9ca5920868a924fa592a897c964aa29ea5928867a924da592a8974964a22da524994b35412cd964a221f1b51ec2a33d3dd2ed935dbd6b138b6ad84f37333dae1d1294b13a867f6a393f3d3b363f331caa1e5d88c6e65ce4c67a6039403a473cbf9c1b1b5ec6ec5116d2c71d96a03003273b3bb52d7a67b5d773c5af614c2d46eb6e6ee332edad02e33f789ea74e5a77b1b3d5b227dbbd9672a7f691331776ec76e22769fedb9aa48ed8e5cda44da74a7f258779a9e321ca5ea2a4369a63b95684915a2aa48f6aada8e98bb65776b9bc6c0b6fb682d91987b3dd9dd83292d87a82a127737c25922f1488b24d94a23142d7fb87b0b366a54a267a944a631b42a12ab2bd323a97ab2ec9933da1d41551527814db26da4bd1ad1c1d49ee86974b2e5fee19e81926caa1093088a963c52f56c77a87a64af6a7b4445f2835d77ab26d9ab3a4425b26e25543d1214b4eef41c32abcd6a39496cec3964ef1feb3e95ca1da455891c95423b571e49875a958899eed41fad4a649b2a11dd666f72aa5900b10423eedfaa90b25b35d913a97d24db89b4f43648cccdee9cb2bb6b77977981cc94bfda3e7b54a2b737f7515a22d974eaef5d7ab6a96a7bb57d739f6bfb3b9506c7c1916a037077242ecac8b8d36433598e920fa12244488e145dbf51975d65db485d5b7626a3dda427baee9c2bb7e09e73b8671c2ecea86a0a6f53d30e4dac26f7a626c74d9e9b3c88261f62087796afdcddc95d88265f3535edd03444937b539310dec483fb3d4acfb53d121454d3b1adadd4e5541e4141b66daa36f5960e6db35c8f743110b56c29e46ccf74e886132dd3f3870f2654a72375b06c89da6aebd62d29734936153542cb566d6b4bca9c8e1ca97ab6ba224bca9ced64d3736d97ecda664ba3751b9141074d679763dd469694b9a0a0286276b4b6bdaeaaed5b35655ba4a3732ffdce9d6dba5bff76beb95bdbd62dd9cf9ebf91903c8ea2daaad64cf4dc1915991b893dd3f3f6eb36d17327c4ae32b63d73279adb2dcbe4ee5bf8cd417baf3f6cec990b0a62d39da4b641412cbb6bcbf6c8b6a5255a0aed7dabb14ca58e6955dbd24ccb2168b96e5d11b4ccad2a11962d511e48b6b6d4b1670f96a934e2ee35b80843babb4c2653a1dda84d5beef5e85b95c8cbd847cb12ddd9d0d2f648edb9f447e9b9a4a2b7759be9eef75afe962108dd4a1bad956c5aae6d10bbca90d8120907c7a76776bb99349c1c5a39f3d1b1ed983a3a3b3fb3ed73b3db726d59a31d8bc3b63b35c9b6916c38ed7984c496484141edaaea743bb6b673e57a8b51006f5715897d556d91d812e98336bb6ea5bdbe79a2a5523ac46e1a5422eede023655cfd6b6511facaa23e29e81d66d9e4aea6aa46ccb1e9e950e50030855765c270119a08319c5411700190207947efcf6a0b21200850a1c1c02d410016435dc8332840f14b70ff8fd26d233010f709cc30105009862ee41c953e8a4c0e35e0020d0a30743debd065c61081674b82755418218b69881df29983c4de06be260094f8440892d455caf3cf0a4e60125077fb0f2548311baf00f8656d982952edcc112b752cce09807416432ac00c81d091068b261c70e1c57a105d15b4c70d0070434d12484010efa6000486cc055e4ce02076c31422609ff6aa80000172829c73b72498020d7857f2c1122d8c1b4e419053da67213916723469456b8e206ff8e7892c2047e40837bdf73821a58a00b0781426083caa101f772b044d19daaf11b15c311936ec0f31012c4a06109139e7fd2a3132df70d27dbee54a652c875c13d4b53918339d0b5eb16ae8350d7f45e5cd05fae27e3badc90a67d3c3fd12780380c3d9deff51958e6d82f0cda85eb200ecf5fbeebf75ecfdbc12decf7de8c83dc0b5e7c6ffe6ec0175f10cb20baf7bba0e3fb9265fc7d31d65f8db17ebafa5eccba42c077e5ded538ef7b71f85e1cc6806be08b3f8d2f0ff0bd1fbe30dc19f7661c4ee165d0e5cab8f75e0c8463c27c93b8f87ef85e9c6b176bd66a07bbae8ef07a37720b17c458e76416c6b7e6a5e71240e7b47e6423d8b563075c9d63dac337bb87805b83ebd84551f4eb575f7cb7b8215ee15eec619cefd5b93837bc2e8c31fe785c1530d6f8ceb2ac554298c27dc1a08113703d5cc2d5375fc746f0b3ae767c7efe45b788ecb029aeef0801cef7bb1abcaf9ba3601c06e5fb932fc6fab16b15bbdebde04ce7a030bb98f585f8de7bc17b832ec631c8df5d619d95ee8877f7e69bbb6ae11b8217efc027e013b009d9b3df97fb617c5f5acc1a978031bedfd5b7bbba715b1ebede75f1b9f7de5b030f81ad15be46a10bc417861bde9bf1d537c8350103611bb88541ecdd7cf1c537e89a805b18d4377bf95e9f9b6fecaeaeebde8be39e805919bca1bef8dea07b3f1918e66a7c3d7d8170eb667cc2cd19638df505c2f8d2c0acbbbaa1c6f7dea06b026681f9ea50df7b7dfecaac10e6c82c7837dfd5d53277b50a6a09a0c60977465f8c3f0cee2bc6cc5a41eec517df7b6f1c749d0780c9cd42c316fe34289105150d302cb490a1ac410462a041952381c1c08f2891827da4448113292145124430b5080c4ae0b2182977760851e2842004296dcc809490c1012a5d9ef0a1c1eb860f8c757b687091d053d405037a3e092e2b3ac209374551d8a6aa09d5e6672bb00065e303148ade85c2cf80e150316cf022af009edd3dfbe8707719449719d85556b6a559fb9ab0684ad004aec09576097bc05536c1856407226318fb58e18f76bd5cedfa6a7a29bff20b8da58705347d2e185c699b97093f116862257199dac66507bc53c38b41df2fc7079a5a10d2e3450f58b3b4901a2234e1808715a876b85ed00b1476ec80358d7ca3bb301d1e0b2c68fa3e148c34897911f22103d90188a6125632b8605c3037fc88d1852c6b084d39da1590220388e02abfbc241d04113b84dae533e1bee8ec908325562bb4a049a825012eb8e5ed780102e917b600a47888e1c5583f58297c35e81540201e30a004101e2060840c71d6e465132204154daddded881e5eb4979bc446c60196d0b3030b04fa58a14bf61902924d60fd1842130b1c7a1d0983d4f0f183b50ae23a62e6c040d30c6dd3c3fa8262bc3e56cbc73880269a586190138c8668f2b2e8dd0f868fe5e1f856d021d4daad5408837c2cb084578fd50d4d643503c6460a3464ac10b2f002510a3bb04219a8f3d2f1193202ba3448c30bca3d2b9756e177802b90a571bc17f4cf8eebd5c8304fc66c15da32900f1c32214bc6ca67071e445a3b614cdfd0373e0834ade0a27b782c7827ac6e681b2f39d9041e9a643837dff28dce1e01c6011c80036a0a4504a8a6a4a08080142198e4b0844dba6d5bd1006a08c00c496238624408008204fde8c452a099791d021074e1032d72e0820e9a914609209409aa70a209187cb81064428cabf551214506a8443921850925a0928821a6028eec88052039d2c5162e8c02e0832d3a50535f18c088f3a603070b8c2ac093cfea05581e101504d43303a6c50a411b352e60811ab659840800867ef860809320808051c5b30128220001263224f1e99181d129a00a42121d2df4acc04f023f6460024b4039c0100468000318604411223a70a8e0ba47c846c05a7496df0267a1738069e0555d186017e016ac58e0ba8253805180a5c012c850e0248dbb372e0aa1099e8d570978068eb9302f627830f08b2b6a17dcf25878158618043dac6fbef7f3d74bae9139d0a48b68d242be15fe8242d8416ca2c9f35c600a30d8412b91a367b8a43cf109d1a485ac64b06cc8f4d0b4a24107209fd06a3f57f823fcf95819870ccb2b415358a509a6861d563e390920b866d0e475d1e4b968b4a0c9d58e1c685ac9b860108787e33d718a699590001e34114d2fb01758be798113cabce882078f85f007cc915f728e504a531e9283f3b1be294db9f5d1d036ad9c7cb54bdbb07e782c80347c343ed68773c1b86056322b19200d19093c7c34b2140f9e95261a9cce7d8dc6041de47af95ee89b6f320f6dc435e3c3a00c600d908817e372bf56f6b42be78c3398c3bc62d9d0198c0184f16284f502fcc09b41bda371f40d4bc8357658a1e03dd1e4326587179fae11f6e041cf8087b1f6de451272f0022c29a01a8195ddd191023cf91072a1051f35f5c116382a882f212880001421d2c509aea8000523665112b063013370010a44d0810b40e1048e2c0528bbd6087615c20fb258c1822b20a800131d0650430066284204c80f144e9821430a0d308122023ae45033c1869aa2e032031928c935759104220ca10601cc90f1c205220881073a70010b48c0082741d40640830c45880ca1e0042130c106a20489010c502002107480034d4819c2871e7e90c5052ce80007a4984093a66d0ef978f1ca72032c66300210682003513ca000456cb336801a0420c3900f1c41352f5e2838c1089238a2004db63900000cfdf08123c8e5a5fd0658a0e00424088106321085041e6000274d6c00c0500b38827c76726a60bcd0dec50db090010946100210682003127880010ae0a4882635a8d950830b38b22d4710f2c28bcb15369e8818620619664b143104d3122aab2e721270276a54f41b490f32eeb2a3f45cd51b0f552e33d39d7afb6d64fb6d4bf7ba6f3c98abd58a257bf65cad56ac1a1cf686c5616daa79939e650e473d6532d6a69a311b5801f058ad562c1972b61974e840d192870e96e9c8b3e523c99163892aa443474d2c47ce36838e9c6d061d2dbb4d1d49722c51859a60d044848c6dcf57db672acf8dd4aa6d124b320182090c2213211db2b88c1dc26386a2bf91ed6df4ecb9a6bb5c4e4551b55de243cc6107391891c30d39dcc06104220e1dc0011571f8717799fa2bec9ccaae8023554fb56542995668d57405f644773796dd36db8e7df2837c20294244b6cd3297aa675ab6b97223b5ac7a7e7a16d596943995888c0945cb557d26f488cd156da4a59494d998db062dcb7777185c24800d0468e10615dc40821bda1b6c306171976db644b2ad3bdd101e33d8dcac37b26d34e4996c48ed4e62cff5db721b3d539943cff2a69eb5a25fd51bd2d14ed5edde46868429072619d3094baa7099c9aeea8d095d52db2ffa1bd9101e333c535afed15e9fdd3dd3ba8f52157d352dd19ded6cd752f725d112244b702c7159aae2ce9eaa4a54730ee131c3466a63b7721f599a295da18402a55429865d10dc3d898bbb24c45d90bb03c0c5364b3b85bbcfe0629bd4ce6081c036c0656a9b9e4137b2bd6fe60eb5a5e71974232ba2e99843459f96bfee741fddd4273fa888692d4fdb79dbe9362afa1b195389ee35963343d1afeadba8ed17d5d4c86431236fd3a67b2d8dc4683314fd36b29d3aa6f651f494e165ed921d54d4b2db2cfa9ba3f434d372a95ccd9baa2b6d433ea8a8e86f647ba7cf969feea4b245d1d286dd21b545b9dd9eb5bd6f45ad6d2b7d116ba62a53a9fbbd7fa465f937353d3af7ba9554f6d1d2a6a2486ae63673b6256c0dddad996e76652263327a9beedbb4dca9fa6c7a966daaf240d19247bb5377ee6c37bb6e335575ec5e515535aab1a78e9a9fdddbfcec624cb56dc454e6da92c92c371111a675ef60c8d996d4cc74b34a5aa084cae6835a769b2f511d82fb07adea4dc694967f3bdf661f952dfbac0aedf9ec696e33ddec97df96eb2ea2e9ec6c5ea6b6bf934e74e96537f5737be9d9b465d5dcb3e5dbb0eb4edd6bd9e6d4f596a228f932165d4ba55f52d3a4df42766fee55b5b12ad2d2b31ba97d9ba29daa448afe36f4b2213c66f816dd95b7dde36535285a9e7f3b3fe75b76876377b137b74e57aeed7a96ba9bba776899e465eb59eabea6a8e8cd6d13fb9bdac3437bda4e2a51a3f399f60b2f6375e5da7ebb5996dde7517aaa47a92a635af74ec97fcbeeb644376a54a631fc30d3163d7fa4316cd4e86cd7add483a9d5e57cac2a922d2d37115b0a09314b2195c8911f0ce0c7ddad40b26f3859b5fd6d74c3c9eef5d9f34f2456c43df9b6dc26d34eca3ec0a1e0eb5169b4d79b5a6b5375bdd5d2b3d6ee98d81aaaaaba9b9c9ad6d25dad65cb5b6ddddb44d5b54d559bd2899635ddde49285ad6d674675ed1ee6ae99954b6ac103db01bb5a5bb5abbd901dcdcd98d9ae5465f6d9f6dcfdb6dc7beb9dbdb89c45e19dcbd74710034eca899ce0068ec4699d2f2d99d5b4b76a79e4a7b35d26ed6dcb9325d777b2b6b66b98ddab5dc482d7ba237ecd18f2ce7c6b69550b4ccb1aab9635573c7d6d8d2dced66916c3b55297796ac8ada98cc9deef651993bf7aa4b7747279b5333511589dd2b525bdbb91a5bde97d205f7b5ac9966b9d9b5dca86dada1db9696b6bdcdb366a2fbbcd5dacd1e993b5c8da935dab135d32c8d52a31d5b6bcf9d12761b9546b529eeaea6ef03123570bf3eae90a35ae8becb1979ee1ebafbaa969ea859ee1e3b77223153925d65361e598e4ce7e626675b728393b32dc16171828272b62537365089361861839317153dabf445457f93167959cd0a2bc49e4dd533f768993ebbd712b56df3df882a3e805a400d905ab566ee96dd4a6c6d1fad3bb795ceb6543ad76dd6d81245cb1a5bd6906c6d697403739ba7d2116698e29e8fb8fbcd23135ab6a5f9e72399e9ca96cd9d6dbbd97db4ee74b9b3446d7bafb775df6adbb6aab77dc3deebad665395ce9d925d33378a962d5bdbad9ad6c4d28dca6ee866bf851c6f9e39ef4208774543086878820629ec2ab3b1670ec7dd97b848c30d76ef58f6c441b2ed96a93dd752878313c4eada16e95bdde330f7ba8f8eceb55d77e859de7e2b9d6cba6fdbfc9286f08374b9b2952105eeb2dc6e87726a9b9648466a35d32c99ce25eaaadbeb4eb7db74e7cc6d4b776a9a9635a625eaaabbc99d3849ac7073b3bbbdaae9d150ad86a2e78ddd47a5aea62b3752addd2c5b6b772a527b2eb5abdab24bcedb5e7535143d936a48edb9544b5acbdc5edd1d0517804841c85d07777a3913770f808b3134f97529827b0318e04800b93b12443810ee4004d18474771f7c5875b42ff7d385fd2d5ba28f83f634b6f4647ff62dc03edd288fbb17790c1850e1ee32eef705172dbcb8fb101c8a1a77a732324048012cb8fbd30aee6e84bb11f724ee82d3307291086aa3464667ba4393cd6e8ccc9b7daeed8ffbedc18efbdde2c2e04a21e47e3730c50c2fcadd8fb8688eeeee99c8350c7410ee3ee4220c526c29139b6d767bae4b66b957a31e34a55a50105bd3b130a000838bbb7fd0db7cd0ce9d6dedb6d7d86ecbd6b693b0a78e644f5d7994a2badc992bd39a6d2bd574ec92cac381b8a360f3182ed8e23dd68dd4162962aa696d9f6b5bd3b1ba13895db7516e0f89415d770098845422fbec61a23b5586dc2e77a6e7902515dd423cdacdb2a47b86c148aa9e3c62206acfdc2964dd4ca51095880d3e023074a4d6c3478f223c88f8a811152122f251f32124861e4586d4662087ac3b28a8644d9b8f233e7a7868ea12929d54a24242888ca844d85c24dd492a12f74c8474cf4386e83852511e1bdd996aee79b06b6ec7a6aa8d6d75bbdd96ed914d9492ebce665353b2c73e4d76975bba99bb2df76afb6d44ee3e3dbfdd48d27d83bade7eafe58f76b36c69ee74a9d4b14c69997b5545b26ea6127db424d5363d5fb74b525534dda5e7ed5b35e5912ea969521a43cd928a1abdad7cd9916cc79eddfbf63ba7b2cf54ea5e6dbf4c87f6ba6b77b7f4fcd2e891daf534fab244caa92dbbb3c93e2d3f4577ec5ecb37378a6ea31295b19ba9cc3dfb3872cf9e8f8465f76a9ae51fa5677a74b268b953b291d83288fa662924c43dbfe062102ce5ba79787878787878767676767676767676767474747474747474747468341a8d46a3d168b49c9c9c9c9c9c9c9c9c9c196d469bd166b4196d469bd166b4196d4603020202020202020202faf9f9f9f9f9f9f9f9f9f1f1f1f1f1f1f1f1f1f1e9e9e9e9e9e9e9e9e9e9e1e1e1e1e1e1e1e1e1e1d9d9d9d9d9d9d9d9d9d9d1d1d1d1d1d1d1d1d1d1a1d168341a8d46a3d1727272727272727266b3d96c369bcd66b31c202020202020202020a09f9f9f9f9f9f9f9f9f1f1f1f1f1f1f1f1f1f1f9f9e9e9e9e9e9e9e9e9e1e1e1e1e1e1e1e1e1e1e9e9d9d9d9d9d9d9d9d9d1d1d1d1d1d1d1d1d1d1d1d1a8d46a3d168341a2d2727272727272727679603f4e3d3c3b3a343cb198296edaae67243ee6ee37ee4a20b1328d78d630eedf43c4a7da8eba994fa40cb7d84c75e8dd8ce75a7fb28b7db21f70c0400d7907b0ee29e81987b2d774ad85a6ec7eea4b2656b68993bd33377949e2fdbcfb4aab99d7bf7fcc33dfb70cf3d50e0ee492eead0a82e77fa154ca8b97768a974a3dc3de7620b4c4635962d75b6f2b6ee363d6f5e606e258fa34dcbf4cc9dab8d3dcdcfedd2cdea3ec7964bac1a846dd973898fb22d7bb4e95e37523ae49e7964a1a3f43455dbeeb189d0b22d7f943a332dd7a31a537babe958db891aed8ce8584db33c5b743724876d273187d6bd8ddc6eea8e69034f8f0d3a3a8fe367278092356ddb1cda3a26244cfb05b5d531adb6a0a0bdee7820d9549d8f6d540afd204a62a664aba23a5dc9b62a7ac4dc4be65e5251b4acd9e9d9bdcd4ecf2e66fb4194243d4bd408d35ade5475d5d56eab925abbad4a4bb6990ee976ac1914b48d4aa31abb63d3cda6aaada6635b761f31ad65ee5c8db0ec4e1fc9a6eaf6db5a1565db25bb4d551eedae483af48328c9362a857c089142ed4ed7ee8afc204a7253d5d5c80fa224351ddb9313c3ba8db047e989d4d6d6ad03e2c2dd69c2185352eefe43cb89c1dc4bce1f6112ee8e7311c8dd83826a3a1608e7eeaaae66ee25e7edcac0dd092094c41f1adaf4dc1d9d46b6b3dd39a4f65c4b1cb6080ff74ca2ebeac3a6a228c9b2e790a199d5997ca06eee4e838b3e3b8ed4963a1ca69626cb91d16ed45b7ade6cb4b4b17947787ecbee889e6dd39d3bdaec23b5a5ee51940c0a5ab7b9aa4141b6add49e46332356886b1b302f8a4784bb1771b14788117a66de44530d424fc1dd05e0220f0d5ee3a1c27dc92c55cf998c96239bddb05bc7d4de3019fdf6f43c3ad7223b3e107776b013c56da8410035a0e5aeb5953975bdade0e20e8e9d189da91d2eea34b917bdb97f23b51b352a8bd41acbee9e0945cb5d5ae67edd6d89fe36fab4b4c9d072679e4aa7999e9fb6fbc8dc19e924d19171771b6ab0791b01d420db468fa2e7d29b69f96b4e3de2ee26b848db814893721b6a7873afe74ec95edfc6dc48b672afcf964b665a22fd0b176946d08a6ca8e16dccf30550836ce7545bbb536930bfa9aff4bba1274e7274e0b2213c66f8f359dba9b4ee23e9d2ba958a985be9dcb64dc40e299196f888c1f4c1a631fc58629e35dd4e5d8ff6aad6da253bd591c3b693b49bbdddd4da5e551bd3daa63e5618d075d663e6ee2edbadaaf447e979b357dd466a9f2d97705880d35464aab6a2976d53b5fd8f2446be343a571b6bb4637ffd7523b5e746e2ee395cc4f97177675ff7bbddd9f692fd6afbe55aea9ec47157d3a59d3e29caa69cdd914d66b991643e8accb3e865e55a1af972b74dd586db4464bb96ed919b120ca4b95b958859ee20e8cedc48b62366b983ecb63475316c53e561a6e70be999542bd752b796aad1ed56245d527b1ca5e7466d4cb67d3b85946b69c4d461aefb0c0a6279987bddb7db4ea84df7a93b6d7bd581c49641cc7223d56c4a72b536dda9b6da119bd3e5d620fb8693add5d66da69bdd4765cddcb9b565f74ec926e2916e5d115d6e0db25b35b789d0d2a60ad19543f65e9108b1db8869a66752aba26c6de7cef6a6aaab11363dcb2352fd61a6e70b47e989c496e81124b644aaedb6344f332d6d2c8e8b2ce858608105195ff7d15aa2ff4bccd35ccb25dd6e85a9dc6ecf1f2eae50b4a4ccfd466ad325753dfaad5422edddde29795d6ef7c2b7ac10ba7bec8fce5baada9ec9a83d73ebd67d5a22b5ab9a6bc1c59a2aeece9ee92ec68a3547d42c71771d376dba5bf65cb23f55d32fd3cd3e7bd68c624d18cbed72e79232a71eed54c7c55814fb86937d281edc3dc7c598516c87c7fe99dad356ea4adba33b35775b9eed79a4ee74db96eca5f2dfc810a220bf91cc74b3eedee362ccdd67cf9e4cad2eb76118d2430517882a60e099d0547df6ac29c999dfc2b3fba864d99dab996bb9942ea966cddc2cbb6deaaa53d77dc3dfd45f55f6543acd2fd76d6eb5fd5697db6d5bfa565a37bb89cccd965b88b9cdd4079359ee1525dba604a8744cd665494b32a5cccc008800000000131500303818128a0563d180a2a8794e7b14800a80a056765098cad328c861185286014208000119800118c1689220002072c1d0e33eb1d0677bedb788f8373713b053324a0ed3ab4447586e4731077979fd12ae9c2eac9e4b77e16f0a9d3426dc7e7f2f84848c5d76b636cccff346fef7d34d228be4c17244584b8718bb04ef7ef9be2acb2160adb89a962511a10e84d5174532dc470a0ba9c2a6a81111924a6e7d066c18b5b364a140582949417483b08b974579487b97483c26f0837dd1f44b23dea0f6473fdee9d975fbc57e091af675c25377a1563179d2c1583cdf31d1dffb21d4903ca327a82b70ac63f4fcd7f3831ac7cf15aa1a4ee4c38ce7ced460a4458abce361c68878c27fe0d5b15c4e5c31be89680d9afe272e0866257c62d3320627011a7763c7954cc4d00c9b89bab3777359101754fb1c92c0a5cbed20255e99fa9575af5ef409a14ba8e4e6ca8aa089a1e1de4f7341d9333419452b13095bced7221ef08904d93e9ac683ddfa37bf8260c660829824e28c9c0dc97cbf617cf24858c2e44c6c77cb366ad230ffce86eb4ff7f1740cbf5d30f68b63155a605f4bce37d184d1befe5ad937cd009f1f354c6bc9d292c40f44753bfa869a9740d34705ed405724bdae98f6eb0a4336955e90c11991bf935a4e399841cb2e5589e01e8f39c5c919ed2a87f708ab184c64fc72a2ce1cb507e008ae1627fd86ac2f3f42c79f7deb8f8e7e784c0359d15a4c799a549d3b6649e2083cfe070be66bfce07d5a96998e25cb19a152dad06d369a8d0d05be042fb3ae33a36aff58aa163456a7c2ef7893f92599ab3a8120392af27c2e7c4d58883669323838e9d87a73153ccae460be868ae83e0601075d20b7b1477d120e1acf95402f12e7c557e5ebbac9182d7411c391a2cc8cfa878e7040fd787d1da5275e6c62540a2e7aca51cd815029151b6af6af5dcd7adfd8552f9af1537b3e01e9fedeed170d5efcd44ce6432464e55133738a5684f5f1015472130976d69176aa12f0f5d980a4fbf2261ad2ecb8f98992fd71b3977664b373205527df1f266cf63f100342b91fecfa19aa35e3de4450b6f95cc10f8a976e9c100f9ac244d176a0b03ae8c0eedc6add27ead2446cbe605fe7cc7668e214fa1b86c44da23492cb629c8e52f160303295c9aa0a7325d006cb4eb26eb2b8e8fc7cc96efe9b7db24920ba3f6cd16027557164914dbc38e07b8201d192e33c97a718639fdccb23c63afd8edb275500c040c1b8b05e3a8a5207a3f2864e2bd0105e8f31582ae10b4454ad2167d2f7c9e54da6a2b9734d6ee681805744145a354838860ccad43e4233a7ad78d178107c9b32b925192ef0c67c987413393ded4feba073b165ad85433c2297e8323ac276500d0f28d3e74f3157190656b7a0d4028a422ac91c2033cd43f76e3281fe7242ff92c29d7d820c92fc8da8cffbcb0bc4873115f24739dc48e9af2ae18c84085e2c90063822656c4e06b5e6d6c881cef227e4dea74f467611ad0e1d8118b4b6bc585ad5878f19cb30396419d01970567d8f6dffa70fdcf390b153b2ae16ec3394a223a07d427483d1621616bdac302a689f85b38363bdc0024d7fd5d0814ebacb672dbea6613ea6e25b70c6ac7faf0143f3f7fbf4edb53343e857b10fb2e4362bc8affef1b32ff8fd69a461c8b870fdf3bd3dc226208cb904348fa1381f64c36daa8cc45ab2eeedd89601ed96bb7dcf8104fd1a12fedf894b4801822756a0c93b2373d1ddfd7334da1274718226a6c651d3953955412319068757dad8e2aa41cc9d099b695451571af328f7ebbdf05e74e815a608a87fb4312c0f3f38a1006c281330f39a06fd4ca5648572a7aa43335e00d342229abdce33e96e99ea10bc250088c08e0e042f6a46c8c8b728e420d2d41db4737161193f468f2162175ed91d51091b5ac888808bbe949921f0ceae3af562def4193a912216c66d1f06f8007ab75bf30062996462b11d07d1b471f2fe6e411ec3991532a1a4d1ac84ceaed35abf2e07d1637ce5e8c35fd2678e0825f0d6563429fb8547895e885b414c1712ba36b6dd3604493f11239c08a55bd5113a840d9eef8ad0e6e03cdff711efd2296d59bdffeb5c230035432aba120d6af1efb10bfe5abb6d05da81edf36784bad023359c0ddc14d16e332868c6686af128bdc6b2b5f0efb2fee7095e55e9874c2ac605ec458989c3958c2f2cf75c90ce804c7a417911897bb52566fd0379ade1da04d12ef60614740f41a8828085035722b320c4ce70a56756ae09257d66af8f6e38ed3947d54ee2cfe05445c48fb69a338d18db434fe7a44503279d61899ecb3abf30f4ba297299b135b369f9123e6abcb768e643eb1688651c405ab2b83e6b56f5a4f7b58f041d2bae4fde66c04b2ae23a39a550028d14f54e3c5ecfcf10fefaf7c8ec253eafc80f8793cb62add6c707aa218e308aaf03f587bc0b8eac769830192672d28ecbe87fc29dca06f63a7de9577c6b5d46a9555154bc6c2c5dbf8659558488c2244896acc144957ea5ae60345e981eb383834767737c38123bf215e68a05ad9ff47b94c5b78a64599f02fba9ff24f66fa55a735f43c69173589b6f0045a66385558c2b3ca476efca41f0a038810a7c1578e98ea5aa7915a924b6aa21fb1e60ad9e749b82f9d8e0376c2b7e7d516f37cd7f174f187281e0ec35c6839e457ca2cdb01e5514d88fc0cc34699fa3dc657f4cccb449e4b15b6182e4f16a9afea448e0f22b4da72fcad1a45ece74890dade5ca00defaa7390a3d9113b0f852be1787eed8cb3c2467040a404ff957faa0479cb19097c7ad52f34369249b3566174fd787bb753691fd907a0f0916cdc437ff22700ff7b8c4318ad723e6cb3957e467e3068b71992ca8c4aa322522a9539fced910a771b04c38e2af5632edafe3cc24337c1e95babc4d5d0caf8dc4df0c19fa2823bce771264235703a457c02a4ba11d45b6f716552e65f24abcefb6f30a1bc20c89c3c3d4971718baab3f2fcc6b1036ea51cf3cf5ca123f62cc4f60cad7e685c94be030b33dc8df64c60a397a20d2c6ed60b0a3718fc14e801b16a87a612e0e87cba5fa6062face19fbae456273096171d792ec2affe4a53e17fd137c026f8efdf5b44ef40fb66a6761480f1e39239e66a5f042ccb2be24bacfb19d78e44be74ab6df1ef2c92a0852d44a3d905aa430a6b4ddaccc68e2d5de171a0791a59991f99f94fe9340b65e0d3733d62f2da74b4afb8bbf8f57fe271623fd0beb18508ebb02d7710322e4392994d40282cd78d3d2eb5926a6a14c00d354fc30a7132a326e8beb99cf1ee0f84fa1b9d07423ddb14c0cc671cb01ada3ef355363fae67b89f38ce1a5ce9f0e62a36dd3e83846dccdb6baa482fd895cbbcc95b8d285a8d008471173bbaa238904c9fb0a59c07f366e657cff4e166d30f1fdc594d12b6128c67a2c59cc72c0db758d71e0386f871443fab5da6cd1645c7f8d3bc47f197bba08c9386f78c7ec28d6dc9786688fd8da36a724852a79a947526290105ca2ecab263d95440285d6c391d240d9b477161e615025b23388f94458cf7fdf2765d03b8421d2b5976fa016f855d543f4e169fc1f18146cafcfe9857f027eada84d2b29377a79649fa1083dcd877399caffbe55bae833516ff9468d275639277affc4354e81c69e492903942ca1d7e8974f9942ceaa203b108eeb9c95ce2fe11418967344b6661f66125ea7d47eb44b469ef9205ca4cb1cf84c6b860745a6ef507cf1fe7bb4e89f51d78c01dbe491489db07b691d46e6c47d0fa49f636764e0f2d0affe6e8228adf515b881267e38e57708d30bf86c1f4e220f7137c3b6df1e975a7bb9806457420031616b18216b134eef9178a20bc9cbafcfd7bfa89c40a0c8aac3e0f6f314af1abc28227bd364e29c908fb89c2ea06262382ee887dc5ec3cc5b6dac5763fc025640665e780e5c3f05c87d56c17ca29ac55e9a39e1bab57cfa739b5d6517f462c01fc28f710c8045b01878fc8100ebfb875c024da765407c4a2e580ed0f1419c61cd21a46101f52fb21ad194a198bbf5681c7f8b3871673c90b31e76c10214ae2b37445cc72899d02ffa517066e22de526d686ae979150afa69b4291b7a8c5e45271db3156a45e19fc749507d44f1918dd7473c335c368dca444028b03f776b608c660dc00712235a1375067430065d3ab0f71a2645cceb471849faf3f0e255510ec58a16111a3bffebb9feedb51aef38857bf72b253e15dc87c2e5a122fca81c90264a135c68bc8bdcb7dbebc3dbb123ee1b6023331e7438808e362a7a2d9ed0424244188b6446128bc951a6eb0f434f53fea32b83b2c45b07104e3860e5e1855f4901a2b770360bd95c4e393dae4b2faa7d46a0067ca494f6026d44e4a9436e515601d761d0a98f8892be4a2a3252c06953cf4a00f7573e472e6ea1b6ed8945ec43051b1e1f3268e494b125113d386675e4d319bba9386584a2efbaa61503055edb8e966f38e26b35aabac0f0bf5dd088a2f328b305feedf7d12441a67ecbaee6cb3d80ab8a92a8c638badc149cb062b176ddf28a81c29a6d43ab271cd1b51a539d70ec5a6f186902314bbba6f50d406bd52653ef30be516a4c3942e8766d833aa6bb54d9d21c6ec1dbe8d08628db2a6c40aecdb3e67e356d53b3aa28d8bfda839920622bb0ffced491c9973441577778062b1aa8f19ad2c2733fde01adbad01522b7c3eb47448a8c9ea11dbeb7431698d2855cef39353cf1520de8d8097f4d0c484c46ac430c7ed838ec6d58328c5c583ad0ab9a488b177e2e781b81d12731bc3d14b308b34e312b112b6e8ac51c4eaeab2fd8150e87d0aee3d9601c3d2924f84db4033117784e27ef931793f70dc55e58736079c19dd284372f5d547caa66b61e5aec2eec19496393a9afab07a1a59e46670fabc40f0ffef633809e33b9fc36df85e43d44765b03ca7d6e60b71f058c2f3be58cafbc9a6a128cab6ed07bd46f8a22439504b504c095eb388c014a89cbb6f395921b3d009d014ac7329c69419755c6bee5db9c1ae2880e961bd7d28556c586103468c585a6003dbf77868d8580a017286c723ee7f726da1b1ae73c0b7e1f656841e1ef9c2c7c17e5ad36340e0885aa5ee622229b37ffdc3050d8dae77e8a0bda98667e8f496e0b3455920bde8d1cce46d737c3bea6e12938561ef2dffc38ce47fda7531e8a56a4d796c769b184ee608e6e69325d9e4954bd9867556ea080e3159d94c98870e6db2fc61822aef9c5d936cc4402f70fbc72709083e82ca307f2426578041396c1ce7512e9f712eb3bc8c9db4ddb81cf6f70faa91a8a28e4cbe73f3aa56fc96ce80760eb36cdd7b42b2e481a3c69192a81330ba589dc75cd2315ee36181b12ce942e9ff8ffa927d232c450e234dd7e5718e34f5ea62efa6439bdcd330dd6336fbd814cbb41b5724d1bfca8cd590ab8128ee384f18fd12a311565b899d9cbe36333e385c07b34ac5f4a8cd975225b6b8278739c81c4591664dab552f98af0a58439dce17e18079cc0b42d92e5bf0e89302c43c4c0d1a9fd1ffd625b55603dac7555552974ca05a5507dc1fe756001b92984cbddb4a8895d3c9727c070b2937ab83d34c5f938beb77380a51b5536f53de911343943aeef67e30678d148f9eaf8ca8b8f8f3f6f04f2323bd7986245fc836a52a6ea46b2330d90b951cb44d4bfa238f352201797907a49fb06548462a7c83f62ab7a6cd7e67587d33fb821f89450a6d432f47dd5eb0526638ad19de926e40d8b0dacad46856e1d625e4e32f7357c601354cf97416663e589a317002a83e1df5cc421167239a6f970f11e0620afe1d3e2cbb077705fbc071c9478d07baca9f4159f8588209699053eec9b04908e1592619567028883a8df1dffa60cc33d681e09b808f9a515224968784f4c7ad9b8e7c66a10ec2f9bd529fb3c0eaff92feaeba5c12592018b2173fa268369dd112480ed41e02dfb51a305d899030784e6868b83184079f66774238f4a8be1bbbee3d63fee43e347800c1d7ebee14ba738635216e118076b4b52263ed8527fd09f810c405a3da4b805a084dc2c81185a2cc7624d32914641d9ac1a015a9b3b143fce8d1057c0c06cd3c47894b04bf230f942eb7fd0924da4a07fa8c43176f5bbb77ada1e8b91abb485bf8c0b319e02c475016a0bc755a030a9e0b12bf95b578615afe996ef63ad6375c08715b42a29e327f3d299b97f5d92702308a009d20d92c79cd303cb050e097ac5e688cb12e62262394c4fd43780f11eea0c3442c3b11edec06913c4bca2ac823696f1cde0a9dbfb131b98e9dd07519613ef86a45a66cab09483c5cf860f3e0b35fbc028143858e46b19d3c5e2f3f38bea63dc2b5c5904426aed29bfbebb77667322bdd0f5b0bf0f7ab926d204acb2d2346f44ed418213eb43647a4b3fb8348edb7382bb10580c084a29cd136405b50e9c7635a4c385ab17ff810e0d84e5f4ab260a17257e9e86f2d1629ad1eee686c29498bae170faf138afcef5b62b984b1f14083d081c793c8280282f1cf5de227f6127715f560f3dcf1c42554e250d094af381b103e687c290ac0b5acf339d420798ab10cc7daaf2b79f47244fef0692c582c70cbb5865585e178f0a64e19f74332176f62cc7de67343c925f2203ea653e758c1f821c2cc6c188b315279f8b1c038642d4db27830d2bfd13d4fbbccfea9e7d1912e436e03646110aaf8ee1c1cfa60bb9eaf736f9964bca56cae20283e4a02846d77f8af492ae7322f1e1a1c591bc7005b735dbcb0199f9e511d9be98004cd55b870f5d8f2a6297609a40ef068f8827e086848d96801f1200b1257841fcff79148c616c40c6a990a30d440d0af660839d6d47067f08f2fc70e8bb8e2730fbe3a6353eb26a4d586349146286903329b5485e512cb61c3cc3f8ca34258ccc100cc94bbacbf0ed32fe201e48bfd5808ff02706bf85f538a04d1e1aafe21da01d758f41d44eee59c6d6f881c4c654ba7ca3e5a1b492a334fd985cb446b5a9b57511eb2edd481ba3d670d45105f5a262fd1de8cc21c65e16193283375eef837cdddc454bc7692d578d7b337b952276f31977fb8304ffa0a96ef5e5d3b84f46c7eff93567fd1b63212498a3e47e33603b84c39162bb8be6d0aa49744e1a3258abf32b1bff0ffd78058d86d822fb40a17b085d3a6575fc7ed2f471ab854f3f910235fff4209d424a75312b6edb3149732cac359780bc861fb14db5f1c25614ba332a707456eceea312c9e28ec94a7bbf7457a9d1d24ef306a76d202e8cb324ae362678d11d9f1afb2a1f30f23779f01ad8ae079c07c5f572e0b53cfb89d751c7f4ee8f893c7b13d51ddfa68c7923c5e2cb02973f58ae27c1facf6dc088dc4bc3f8b38d509a01db85483a53431f071792b3ace43daccbf998b5460c8f873eac467cd6262fa47bcd1cbc91c750707507b93d5d7b30701a49b13bc20c5a18dd02d3403928f1d82cea6119c24157ca62ea988f20d4911fd1321adb27a6224823dc774003f871be3e376695ea36bc77956fb16d09fb1b27d206f747fdffad6d782c2be997b349e4db60acb4f2c7b805f8d0788484f85022e938c5b593c571a79abf880c7a107b7560c7dddf13f4deb9a1ba31a81ce8ff4ef5f4960cd9c9772bc7628c1f2b7ce210c8fed5f40f2bd07ead5cfd84612feb86687d07037b7d94149c8ee3c86d25ee812a7a2dbd37efb8c57b6a325fe5f98520a1cdd704b406809293019801b7f27455a42f42e1a6fd6e81893f59fa1f5434c8ed875f9107386431f477f6238d07f67b83f2384ddd7bc92ca98f8377eeefb77291045402eff39503acafe42981b162e91bf347f0e7daff90878bb466c830ef1d1edfcc2e2178316f048685d5a01d100e1d86690c0a3e720c3a405df79cd760bfff16debe05c4dedf16d0a8961a0c83e13dbf948c2b79d7510c4ef769298bfa139f7d30a9f7e71b5bf929d73fcfd95541a7a1a4f6c2bb4cf027225f1b9c8312f8ed29b579f74f14cd578932b4a6f6fe589183e208d277785d73a998ad406607fcd6858d105a5743e0b76c1a3086e8bf73f5faa3e61718c30f97d1e281fe0f820b59e465fd71e944a517061f060a0b60afd14de731cb63a678dcf458a7ff1e9ad7d067f3a79bf8d0f9b5f73989983b002817d8f7ff6f7e19d4e6672333c873b6ec7a376cb2a4b75fb7bfb5a8444e2e9ffeb52e418a6985495960b24bba65de74c05b10355587d243eb393057430d39abc485c788a2e20c94ed3b66918d90f2215932c4d2a32ab75f72e09ed4bf9911bbabee690ccabc86575c567e17c60cbe3134670980e14f32af7fac523f03027fac7d2020700d3d5d5a7c144e57bb4e246ec9ca71d0a05011302206c7605b307bc81412709fa04e3f49008399bbdf178a818f64efdf4e13a431b9e49d8d9e6bc874d4ae5f354568fd4f3f8be84243bd4d415d5968ec4b611562aac43d69b01dac621e4289d9164e89ef931b0f937a65a82be64cc95b5374f707dee0cf9af6124070f9648d8abb0de84666d132d1d55402a6569b19ca2596c8810053436eb3ea5c2400b3fdca00b28335420fa8d8b0c6e306160d7a040815952807e92a0ee68d30e685c967838b60a8974767b04fb9f21daff53ad965780fc4906cfe6ea85c1450130f12f585f72f3a280456c1d5ad407f0c1462b42fffd8afec08a1ef49bfdfac298b6375e5d31c9baed3f1a68dc1ab8c34cb41fa43888cbe3adc3581d05cba3e17ac0da8ceb9217e7b46f41982e2d7ca7f92b2f0a021f3dfc69818f90535ee99e6273bb7a9866ee80063d58ac8f215b614e8ae7ff04d7e0b7ed29b6eee30ee95c9290e35bbf4fe09f0ee4db0c08afccd61cdd244b3eca2647b4e9826c5035dc3def25e5d6f09dcdfa7937d546daa1eb295b58082ff28273bd965a4f654a27838d339347a66273e60e094a39ca3c53d6a2d06f7ef3a81e07d7c29c84aa22206ffe3d5dc1a6586d3f02ef98a0e1f810e3a442aae959dc79e209e46f977e033e181288122ad2146fa28e01b1003d5476e720ba0b10492bd98afbe2f389e26744c8bf1406f9175bcb9920d7e68f00bb5391973cb5586440c7d4587893a656b690b6417bf24af60cd7602d05006d32a3bd6d0983b8328bc0101c572f6688023a90bef20004b87a7aec8577a2bd645ffc5849c6c0de6c50e6e142b2ac5959ea90d8420377f0015acc5e952af98ac0803e5bc905d94923fd2030356b1f9981edf63efff97845c8549ba15611208b90d2fcb355dd98f9cbc86560420a571272f85a8a6bb7c8e2a20b7844abe704da0fd5ac75137f2404cf930a949638db641542f7f6f1849ae5e980a4583acec5c9b4bbe5005904be20fa10c0e9957ca549c59a0654494ffdb642581221f20089795fc16e7bd381b377b045a5a6a7a17d571895d2864c757cfccc7c87f92f1dea640712010ef95ed21ff5f77f9257c923d8264c4cec2fa932cfe45f17c12c8f97e4c7dfe2b929560b737a975f79ec46788ca1e0f347245ba7b1585c5f37b6185a671f712af9f94482efa2453deba11db6216d1637559b82a4a11a30efaf0e0e167d3086a1d2aa82db948448ffd11d7004334c5ca68feca9a8c892524ce443d10525eadf514bdfa73e74b4aac2158fe7ebaa3ab09dee74deef51f8398c349bc09a59c98372cdf678723ea155322657dcac7f176eaef8bef40267081b8d2277a31cae65bb12271650f6e635e1b96057f2995d0b8c095f0bb4a8913aa3ef6eb4156d94d7275ef7c5eb8803eb8cfab1abbdaaa620e30a9f5d2157e0c2905ccd9505f5e16115eca1b4878b42c52ba49e5a8a95ec2245895540abc5daae74078011348c080d3010a0a8849a4a5cb0c2826843cb267627475d5fda4d181f04adb751ac78a4a77a5674aa3555a2c51fd50bfc1c09d69e0573a0c3166db60055469a98876050249a5fdcb14b356797d7b1db1effc8027a58de75b53600c526a257ab3a64471bbaa37562be93c39c43737738a015dab87ab63dde0ba0220a53dcf19e912805610454a7b79d1c9fec62012359e71d74bb45dd0d5880b8ea4372d74c2ae816515104ed9d596b05b572bcaa9ab3595ae96140ec37a34886b615be1ca0cb57f677b8928dc7c2091d79dc1accdc4071c8ffce66140a81e9c11f6ab8ef59d2ed73638892a6e857132300c7fed9dca68244cb5a173070b92e147e13271512f14ae172835d0714f8078389f92f74bfee994d058780d576574c8844b8a7724d072cff9d7bb36265c7f739eeb52f5ee8ce0bab3d7724870f1a82fe19e907af7f8ae754bb468fb4a9ac6815075073080a3ed7d90064bb9b36fba274c499f87ca529a8645d144dc1e07d2225cf8d18e5c5fc0d6914bf772e4861b476ec16598e43d27d676cad8e1c8c52eb46b855a1015011f32ba36724fd08780718230fffa0e77d2d71a628bc9dc26b10e658c17925ce4dac5f101a3b1ae4b81d384e10ff727d4737cdf02e57af6b19d056c4babf746cb3d695215976922575e1cca918e9601c9f0dfe5321552e9e3a4eed120c0989ac42c14f4b5d409e548e4aa3b2b26e6f261c1ecc856d959b3870411c2e064482e3eef5df7465f541651c3831d909dc97717e45df5f20b6b2086a4c05495b099fa48afeceae22e75756b8d7475a5b530f0ee3764e477606d2c95ad5104e7876439b2bbf0b02da95f938756aeffa1b2e2b42ae337d9c2153c0033722d7e5327014763b090833aeae9f876219422baae752cfa5cfb560f1ede2966d9796b8bb1de20138f9ff561d67e5ca73bc3e7f1c031d4594938f73953e3d0381d759fc51fb987ecdc8bc9fb3a28dda8e8b8ae338e5cad8523141766845afb62f40ea2f4a016aabe85c0e0433be11a2a948b502d756927963ff09425207574b90a0bce4cf8a433e8a4a0883106da313005c128c58695470836a5910a21199636b48b9ce830098321ed79eb8fe23c58344cbc3845b5338368b9c837c8cb619920d1d382da8dfb0e918d629f29282282a9384d9f0f6788171e1cf757cb156d6a29ab2dd1aa25c0284ed76d6c6ae57a3f5296fa98752d662526c21635324e4a372a2901ced1dd65915e4e2dd6dc40cf7a901d696c2a0645c3049439ca1f51cc4d44718890570c0b3b063bc158d2bdcd5b2299baf431add74c88505e9edb8a6c3f43f1337e28441beaf06ecc20133d639f5f12a178631f2e462bd78ab2691c23fe1ae1142725b91341f13612500e03066bd50d4f418e4899729d6e6aeaa3700b615f95fb8c302a319233f93f31ee72195b17eb00b436c302f71525fd89d998f203cf9a498d8a7fff54694717ef792b297e5a3ada7d6251c364c60b33fecc46227448953cd0b504a258a02a6998c85e01d0710b0cbe8a09e5f3f440591450e1a60477b19f908511e709c563c6a9bca5b5018304b0c78b1110e669917cc7b36b0d7709a361cf3886b8d17b533b670e6ee8e5ecb3c0c8f4292facaacc1641e52375edc5b484534a8969055530d0c9d7ddc24db74f77de5ca35bcbf20694b53054ae40a47749daa82ee8ca3d4f99e8e48d8591e71c8959f10a65c5501b16460fd70efe89b523cbc92960709dc682b8386c907ba3e0e666517cf620e64123e96623e45018e80bef58be7a04951552155a01536941d5769fec205eeb3e1e26cd502dc899afe8c07e82ce116d6a413193dfa8a7060a7b21b98bc250279c4c26c05cf853100d84a469eeac468fbc32a85ab69a291aa3acd6ac56c0af50551f1d25b77b8989b114d5d36d6380c45655c3e15fee90b29926f33e9aaf4797d4d6f99f439a053f78001ead5f7149f6ef0bc548f308e619d051d98cff1d8acb0c3e5d9030b1bf3e7189e8de61b51c4312fc73a30c403a537f6473fdd3d59fe5000fef5d59fcf291c7767ecae8996620b723e461aeeb0d28e0d7fcaac6d933efe3d51fb63be9f7a49518696218ed2975d77a579b44b1a5fe5db8247079d6d0017be90ceb11d31b253ec99a432d048050ca06d8e214df978238038862ae3343fb735852c99fc0a33bc7de8c89e42546474e0427efe9b729f8a5b424306fd6e82b31236583725277bcad07ba066cbd6c0d2eb2b6b77e3c0e402c46c09065270262aa134b09983e411465e33d835be9707cb4514ada95de46e659f337e96d7b7629007e84dad636fd3d3df369ac35a4f6bf6cc2194d805156506cecd441864021a37a22c2d05196d9e7b6ab221c32e537d5587b80ed86100022e70b33026791458e193f8ac87bf1523370e7f7f313197993c4f0fc48bc5d38b138f9fb45728bc177f8773b47d56503ccc6c2b823c84e186abe93b96c2041bcb2d34057fcfe43a4749697ad0f231d207e7165d83a76ad1295bae378260bba8d4b35a9e222146188a7d150e4c528c86839ed0a02a44c7c0f064cdbb473b8fcb4f5f20b01be0af8924c5398f98b3c9897f3df82d8e1ed27cf02af3d95b360bb0f840b20c8b1bbc0fe1ae73f1a79224f381a381f3c4cad9901ceaa53e66fb695bbd54653dc9cbd5c35b6b0d130def156d27237981af13c49b5ef630af52bff8d213685b28204fab12b1b6f4540ca6112127967fe1ea8d9b998d18f96b8a430a3d06534e1549c14ccb748b83ed28b9d9c946794efdb740271b7c433d955e0f5c32822740cbc4b058bbe0554d2f20dee8ffea16fa5f2d499a17894604e9c5d1bfe91c3ec161d3df47a2e3364b244c2cbdb15333e532b65f6f0521dad35bb82b6badbb56776e95fe238a4430fb7804d0a91ac3a01c7d6a5c3d2baf9aaf152cb098fb0ca22c0d4181f61d65e4a8df9c0ca11d0e69f077abd814e642f7084828da075b8ceb2fc7296070db1e5d87b236124ee36c2999b6f4dd12d2bffb4949fd2f86ffb34e21905a3eecfce9f0135b3894a3318966f66e6e11231207ec926e06493188dd781ad7a0c892eaadf475f94c2a12612056079042e510aef837c8a44dc716cb61d04b5e9b4fb93c626affc49db4e598c8868adc8777c154c3bcd2b5dd19ee10bb6671a75493e03b0b671612208fa22910df2da668b96dcbcf6d2cf6d661edccb4e5b137e94eb2a71820e8efce66704d4f127bf6b2b0217851a7c65730c05d3b2131711bb25704304f192825d781810b36b7e2e7c46e9c8fa391f90ab84a2d56841c8425da8245c40a079e9b6b5e6475a3883e6b33de6cf1a4771eb1a87a8d200a47f44edc09c05fd277169724efd073410ea7fa1860963597dd2452e25edf34238f0068297c5e7321ae38f05ed5fe7254bc32322855bc77451a7b332f169611be231557ebd4597d7711c7b0405f4e5aed17059c3985014a66c5d66c3d7f1fe93df9059a8d4da5e0fe353917d720eff799a66914d2e923ed229470bb29b1bd4adafad8f675bccaf77909138a056e09b79a9caa616a933bb85b6bd0f8b688fd7ec590fa9118ad34395d421145c16cb0af7555d189e9f7b3c9a488d69d2366f409ac9012a93b75ca673cb7628ceb0af702d56b82af20873b42d0d800ea19b7143f08d73be6ad451e4e062800857768b677e7184d16874703b0ef347084ebc1718bbd9d674d4c8add72adb6c1fba57e489a86a865ed21c2b4c85a7c2b7b7bb9ed80d81151c86d9544a346c7ba5146d3caccd86db1a998cb395eaecef6d6687c2ff74ec2a8138c35db88d948526a9523a4495b8e2a10f27513f4da656c664068b2b7bdf68a95c6ca0205fb20ecd8353508b8cf5f6eb3a0f6c4837955ada8ae0bff9a47e7a5433dfdd6390a64937be995b74e1858c1f9184e59afebce8bcf466f3ca35f41ee9bef7f7b94733bf4dda588cd7eec91805a27ec94883a1de12061ac2dbdb06ff184bcea307c744771b29a1a928a93cfa02613570d77ada6afaa5a0ab09a36631eb64aadcd598cb9f0b6f9c3fa97ad66b44afeb15cb050677905d0f615397893b3580c34e323af7f4e166faed30d6f97c4d104e0a04ba51daf7b77628e9bffcd09a3c18f46545ee429a204427b4c0a8a3764d08db87d263c78b712e81155024052ce243eb05056343119c9eeed3e8b97f9c27cb94ffa5b02c37a5eee53ad6e2536e202f36b86db67df5539584debaa6908582badf558b937b6020c360ab9dca627d8ca802086a05bc2e896f990a95087e23a73612d43516a2ccbbba016c40726807a4f3032d58936f04104d14478275857e041c982982603a6c388e4c0f069ed9f979cc6374b6798f516cea460cea4ab932c6d6b44df0658a4470147e0eff02319e9fb0ff1010630b87e5080fb045c9b624d2341288c57f85fafaa42faece4c44faefa5304439b9bd181810bdd16a7a094c69c885a4ecf5a68fe17ac90ca09f1391aa4097c729c594a9e4ea4f2ac543387180b128fe7dbf4ba9150a4c330d558ead238f2b3c747eb29cf52199b4261e5d22ee5f38e38beb3f101c66dc842fb5eb5d5a4329e4b665a0a4a59b7601493b0f179aeb03e0b65e4f9a4463c33bb02f16c94d0125a946496bd1d09e8913c98429c98bb0527e5075a0a0519508036ae76797be20f4e279e60b6bd8a3af13e0dbff309d201c8e3cf513c9ea938928acb8d3d7b38f23cfc16e4ca3059347d2e72af8dce367bbfd9319e82010fb371c622276622a465dec24845e5a46d6085d0472b79ccb3d458f9e87b2969c6b0d1f0697efd450da0ef36586870d61487690fbc865640084873fd1107d578274a5082cff7d6a827e4139f0ae0230985c0d28f8fc603de387c2a365443862376db8c5846b1c17627fd3758d562901617263f8428c462bcd5194456d687f345ff7e9ebe76860e2d241bb781d6b06e178b8710b0a8f41c1e83ab40fcda37cfd878ad03c0d4ad5e88f997cba183fb8f9b10052de0eda0abb60d320fe406179830f1ebe8fdb245216c60a8e62d1250267e122aebf2d3ed9d33414fe975f855b847da3e315d04a150c9a54fe44a2b8a0ec04dca353e795991fb27f1897b5c2fe551fb7702e074d267935e808e706a1c41d9f5accf2903e8afde1afbaac19a0002ed203f9d3b56fccace32c34aa2f629fb2c095827fdc2b8ab84d77a950c50bc0976478d8fd95d4f1180163f3265d57ac7b2275b252b9718f6aace8432210af51238773a050ee24b35684a18a1f503fd25cc42360621004fd7e7f96185a029d4b066ab3772467b9e8bf27ccbb6294cf56aab4b9fac89898f5c496fd517e7e69996e9e023c908f9c2d1543309eaf72943a6368048a0f6a116cd783ad9cac1d705ea7cd5a0b45e3aa1dab8fa9dea4958253871ffb4ef7c5897bebeb73ed82ff61d0f63e8ac01db90f08fc8f6106e48578ce5b6357f3a11a2cc12abe57b930d449aa400d727594015cf64ac8f910b0a5f1e1097da162e80c751255301d645ad8645c1b97a2fa8aa69a26b0241ea429fade3d0ee96dc623a93f8dcbe6f074d7ddefb376ff22bf6185bf371a046b6b157bc5adbed35d656230f694f93947e3ef987468425a537f662cbb9d73f9e5d1c8798a452976681fbeb78a791485ca35c5ca7eed9d13d404be7777e9215bd692e05d12eb910cecf20eddb6f852381af9d6c8b998e5eb98f408c66da5a3153da97acb25e36a9ced115abf705921f7b05d6ea4977804b2e6389133277cf775cf342dab25244c0dd917efd82a1c81b4e3d7fc80165cdd34b20dd79ac65f199a404052c69324b3896095d7226844c66c92f83783a483ef5ad02e64a8ab199074d823b3c53237a9b06d60d862f5b74cb5ff6d1b5cd2ca40ff8b331c2bf6d751080bed45f39cbe5771edb82b42a5dd7e13556a65b683fcba9c8e1e18fa84b8445c57cb6bc6077d02ccca8aca76749d05ff2d36f585b99c8844791eb32006a886a99a839a4c4563e508012e959fc00a3a3450bfeb049c9de34276c426c28aae4ae2cf4161c39dd58c50611ee3172b83aeafe0bbb0fb8058695516c21fb301c4fa693f5fd681f4cf848a8998bd8f5e5d748f9e31a41ed11476c38174dbed958bedc6645f0674742a7610fb6e89c5a8eb88af8161f5d221d3c78a7a00c94db6e6623e3fbbe78b06ff29986a7fd513a9d98d932e3a7dfa0aaee7f46429d9381ba91792e77f0f8fd7848dc43fa268c1fb58b05b256484bab83290f0b55bc1c15d8dc877d1ce9719abcf47d0a445d87eb70fac1d395dcc1af2274631dc2b4702de95c44b32473eb7de3888d2c0b255ef972172ce1cb26fa5b815fa650b1425476bea6adf53784d48502407256a3abf2a6db2433cb0ba07abe8c6572371afaf2441ff44fe611fe5215307c1200767bd3695a1f100667171d021c375c707815f6ea16f617d362de62ab6d2c8e76d01c8e73f11fa4a347e0c5e3e668baaf147ea285f3e4b80eabe848bb1f52b91458cafe5ca1128866fc8079b292c4596c7f68e754ca05297784ac55c847da95a19538befa55187312e584a60b44987deef1c8a24b6a4f53d85c73b4596da8a5b8c0c607cf070a4e80e1a8218e9b9763f00c9c87cb7ee8d81c2f382ad1b0f3a8e71d15a1a2a4ad72b496985e5426f8e9d127c3fd97c4bd65749b9e42826e389653ee56da9dd42849358ff2caf4cc4dc51e082d6e7d5c12f2d561200a39878f97b9da9689a1d381d9adac99a598dab63ffa3cc32f30c2f0ecb266db4132b1bb5d96043c2a8068d3084a1c8342751a29d03a7ada7a883f5b8a09ef5eb84609550d1fe3d5679e46f0b876fb23a0cf01122f64e826b0bf1f60910e4e0875f739af6743b34f55cfe8b62823c1cc185c31faffbdc645602887f2b8b380056534d083432e34444ae039caa8fa04f80e9e66927229127cbcd23d235b280a4d840206ba03f00285efdaf40068159e9dc351c35f60fe40560c55be1e7721cc0b597cbb136eab09a90bee0c21c5dbf96de70b09d96004e1be28b38a4e9c2ee6b1c56a412fe671dd1762ffc90b2f0cc4a531ec65795df08f9fb773edfa46422b9a11897a8b6055fa667407ab6e36d5cd0d81007114f7a03272cd3b3831027fc5db1074c84af1c3979683d456c5df838fe7f8845d73ffe3e4416958b7abe9ba0fb1d113ffd53c7957dc5c65c90e12146fbc583e69621063ca374f75d20deaced8da003fac78d040e1f2720d81bdef38b8b167bac213f1b036335117f9ae01b0b0abff7497563e0e5ec5803d4e89ef9d5b0aad97ff6206c3593d3e9cf7952cc2762c0cbf9f0cd142611c87818d5da2405e6014bbb6a7d497d9eee503b8da4d0e77fc0e6a5158d100ace37a0fd5d0c7c2c235e5fb7ccff330962548c5570fb4409ef18a8f4e0975006aa21c45db90d85d5dff3e15f82175f51c7749c2760b23e4fd042a2f9855b54c0fe44ad3298c100ee8a94c0fa0660360c858165223e7a0907030be0245986c11f63c0c203028073e4b7a03806ca37b2f8f3ee3ba37fbc0e249f8ec1f28505208d7e5345bb3c931a2ab95f279a5da9aa5064a7a65a4d0640485d02b1000c6c6fb3159ba46487c581dbca585d1a66f7a5ae54928d23c57fccf2de2a2a332c5c8fe62abe28a9298cb09eed28bb1ebf2348f4014117ae2badb5b86b895b0a57035ecc00378b978ffb2eb261e5a884654c9e1594301b0d22afcc28c10ac234f67336491aadfacb8c83f557e122ab852864692f77eb48e43f09fa8e82aadf8407c74e45df9d51592ed89466be5ac16e9f13b7041c43d3ce46e5e790ee658a6f2521cfa7daa4b48a3ec1a1dff3f27e198bbf6b2757cec03e3482a2664b7738a31702f0ba703a6c5204c05d941681df6f9dc13926fb5f98b407c5261741e5895d4f2471b6beb4162c295e0f2add274caf813448904730ecc6bdc49947503c38de96818b27405cbcecd1f0af6d583ad720c29d0ab2653fc5d8540c214e976d8bf8713901639391f0780f96f0bc64f4acd18ad0a0dc81839adde55b26c311537cbfd1b286fc6d67d7552b12d4d444cdcb4de23c7538857201fa77c5ffe83d7647d5d99d9af259be89dfe2069534f3ad7dcd59f82ef71040dfb77e998908207fda3627b28a37eb061afaad94e8f091e457140f784b8c5c6fbc318d58949b022196290c11cacaa5369c10544391b4a7682310ab17e9349b282194a02eb1af44920c137466bef8c97ad597dd31c1e0e258f5be7ead0fb4ed4b6362f157ebcd52b018e64178aa5fae12005c3b0bfeccc106f2fc60d5395a363183d3e14d89538be2498ac865c4329bf1100eeab0b81d3e1d6ded0dd24bfc40ade2d46bb3a65508348ad3b38a617ee04298209c32cc1de6945caf1c2f0403c75bd4d111d1dabfa76081fd78bbdc94300bc58b94cf18baa64b4ccc5d1396271ae62488e15b905b309085cc10125d578014c03684a718a8ef755e5a79dfdd18064b303251a9de11e355636db91357153a4059b7e6a943e1bda6ae10f6ab0138e65c54304bc387e11fe7cc3e9c337ce2cef48deb1b65479f9efae1f6c7abe23d905381f51ff8a1f2b9288a43e0e6cd09891b2501912e85b27fd6cc105439d01bf75dcee7ad8ef0797b5cd5a270d32015e88cdb27ead9f580a9874da00cc82bbecf58d35d3e50136fcb3dda8daac75cb4f82334a64eb595108e1b1782e883b21a9d821a8f94c44ada6aecf034a43add4833db67fbdab09f4092026c5b89493aa90ec0fe3ecfb8ec742befeb667d02b7cf87325c24d581bbe418fb0350d39e91aefb835454ac861ab4bdd8bc29158d45d0c9e58fa1e15cd9630a178c1a0b836ce47ff8d7e02cec99f14d3be860ac35278eab13065a527a4af968fe360ba2d2cfac25fc6a6966de37efdbbd897f3b503e61de8f04fce2295c4b320286e0a530002504d108b11794539dd012084cba4df1af9c0adf3b51afb218836b1534f54a955595674bb3d8689ac95fa0f6f919e85efe03bd77be1a6095b46d763570420967c2bdc0d649b10c53a34fe0f6f91be83ebe03bddfef00f6f117c8be7e3ad00caf3c0cd7ef58f601e9b1980eac8a7785b1601c02f7ec60777956900f501e06886ab42768c86d0079523ba48803f4c4dcb6b53db0e34074758d7809ea988f8a844c94a86f2ec2b3a58aca1918529670964396abc578f78b2a5f0d2352ab27514940b0a6a909deeaea062cf21fe5d54744d54a884a5d5550875414c0e21d36ac7d9a7edef383f5ec0fb98d8878d5ab2b5ca852b75de1ab3c56d0d7c4352e89100cefcbc23bb94598fb7efbf53b6cac3a66b0004171e37a9e4be239d87fc63b60c0ffd2b83d6ae2ba9fb6988f2dc9505468e455181436aa3efc1af3b4ad7cc94bf995503f9f3c238627870ea062904cfde762c6e2bfd9783ee229208575bc1040a9b649630581f5602dfb6e0be7538a263642e5bde492b521bbafbf495d234654b63b1abff8a026d37ded4a7c2af211e20a65a13bb7755799c6586b63c24b35143fca5c65e0464645cc5a723ae0be9b73157fcb5f01ffd11589de198f9680fdb563e2b4346bc8fcf333b986224cdc2de895d6ccf4a49f53caeaeba1d9e3628a5f8a18eecd1228b21bcb1aadfaba2d990bb1cdaed855cd994b413995b35bc5590502b3dfbe771f16c5242139d4acb61a54ff259253d378088807fa442edff29034c5487f4039ba40d4576d911a2ecb52fe587e05391958398599b9bcaa9005b50a30c89763b59a822ae306bad5c4ff62b121d9f3ce946a5d67eb652b03c070525ac25813a044cf5764f2280bc6a3b00a60faeb7a84d50d1647c38df803d8315e0107180be100389d80cb5811c236fb92cebce6246e6c01c4c1802ddbae56db55cb39500c3ef996e492b7a61eca1a9668620735c9c249e1093d740325708538a19221e03e9ff10d671f1be5e819e25ded08b9767778fe1947c71dc8abd6ba4bfb34d9ea0a5ce1e8c9039946aedbbbfffb66ec1583b98583ed9c08b6cd44f51bb4f06ba1b71e38242708730e1b86562a880bb7e11b60b3fa11f5227d23bd39fa5eafa833acb8249bc9d75ab1a8fa456154aa7c60d332dd1d7470c647d34cbf28111823895423be1e8285f84732c18758f4a7c3d7aa920ba0aa0bb2944a43f001988a326c3b7776d16c34943b1d5db9320c7c853072191882c895d0a9d26495545109eae39b4cecd8acb30c37041344312db4bd77275dcd8a9612c7b1afad48dabb6b9ea3a44a3e4a317e36b3ba39c0ae726199edcd4b26c7e04211e311181d874e93b3cbeb9564b8aadf6752a3b11c454b51cf3f485c3a7b5bea058cc93e61e5e0e03c8525dfde1957fe02d1049c1e828c4502f763e20218a52e7448c5b47f800ad4d2ba8382960e854e463bed18c1215771ed4d87908e7f2a02e0fc1fc1e3c70343d2295e3b5f237814a5013102a5c955b022aa36e79b2df8835c9bd9e07194f4eb9beeedd218810440b0eb7a2be8d6d741716404df6a9fbad02fb56f6463ddcff5c224e19754a0da80a7b6f77e9b261c88fa1546d0366fede329b0057e753a584992a6ee7621fc5bef569221cb2bc35ccd28de05bb0c07c82a67214149573e0820a810f818e5264f8ce4cd18770afe2480983349005b050b64057325dd0bb902b47c82f3576ca76822170b05b2aecb6386294aef99b0f7f655d6b7124cbf61018d6c843e437942c00c5d8df9e7d642e036593ec019b59a00f4aa605ddaec049c16e282e7dfc300eedede64192c593b2c8c709dd242df1a02ceaa2c0f73787f11155ccace9907faa4f67fbe7cf62098571381c5d71104b82ab2fb2690ac46810b04a142eb2f8b375aca67cc3b881572c1df77aeb9b120689f19af18b3964a8b59de19493d6d001fc0846e88011c964e47dc4f0ba4f98267317514c09dc077a315b121ee78b8a945da60d28dc29bce7bf82236fb917d0be47c14e11202b8458d03a571f18cbc385ddc1f24f92e807ae083f0de5dbe8be60c6a23e2711ba2b9b072eb03b7606142c774de6cee778cea0acc1371719839f62e4e5203c33a4c8fed9943466036fa23250c6eaca76aec392e8902e1f4122e4fad38be5e312194c304d96704a3a6c0dbc6203e2aca064343f3867d3ccad17dd6f818ef7ff8d4aa06d9b31adb181fc3bcd827158f22ed1402e69b055be593979957e81d38dc1fc86848d5a251ce41d165cac65be5a3eb373c29ded7c4dc2faf9529d03549a5a7b4da9f879116557b905bc3958acf54314ced1f0ceecd12a2b3d429632bb1b9bdfed73c931af6e17e1b6fa6aec27e4d89d5aa776f13f7f40139dad1d575a084be3d846c64015f40f7609ce4196c3767967b0626229b0dfe9b39b751d3ba1836926dcc2ee130fa474264ae725e557550718fbfe74f95854dd632e37854587e44e0bb323e8a537b07f4ae8bf565d50ad8439b5653ce16af7e514711f0a98bdade443d83d2b0fe0b854349b4ef208399a8fcb9a165f95c62f2be9b1dfe5b4d14150ed42dd4ea83667e9c12d65d83235d9e8b967e4bf187e7762e25e19dceca0bfb469a9d199641faf416ea25b44a3b07e5b78d84a308ae94a4f84e830ae49ce5e66f38049e99c425730cbcb7ff7a4f9408d169bb15ca647055ef6c3ed0d095022b3d26adea69f3c279fbada9099a7b9186180c93d9463dbc718300029c01eb245a85dc12cd70652b618f39e34c1c98c13ba8c5efcdcdceff44ba807be498ddbdd4465d89fb6028dfc2b7bf07c3b268d5afbe02a99d87663d527912e7135b9722368d2b1d9cd2087a1bd8a44e90cd948a764e890cd28c74b26fdf0e9b1744ab96a5f11409d1e232061e2597b8d35cbf9e08e0f5f005f065579f73d03eed1a1bf20a04689b843028fc30dffffe7abd0468ce30050dc85a7545f37e743e89ab9f7746e187f32d844a154d9186d2bc9843ffba3964630fbe09bcaa95f100bb7dc06ed010d4e5d62d3a20b7e9276a7d4019318270a6103e3ba6f657f08d5fe03f432367662e6af0090e50024a84a7ebe853e93ff1016ec4d9b8461411b5c4a2478a174c489373ed64e4cd112bd5a8e0c2e810b72ff123f02da3b35cbc730ec2648cb77c5343c4173f4a41b1e58d4aedc241beda4b3d67975d801f2d1bfe72fe2ea5e8917ae753c8758d2e2632138eb9ac1bd7f926ccdf501b5f85a3b3f2b451c3bb380ce8e5d5d7c3fe9f52803bb743e5c6fa723cef8695690d3e32fa9f7d5830047c9deed70cb694e6a0272dff7257c7a059e2bad4431017203325746bca44282701c16e1fb4800ee8dd7567c05eecda768a610aee975a3ada11ae59ce4b2d6102887c788d1b2ebff0d63c2088153c6e3ccf79a6dbc571c579df2ac780b7d695782ec3dbe87978f5992e05499e70e897eeff58ad29ee28d053aaf36cff3882c7ec10c1e1dfdcf965a8472262285c797fcce7036813363c0ac1d3dbf343f79f6eb19090a1d9a8d1881895bba0d716e05c84575426441087954f425bb09e99acf103f75b20fafedc1e3f703bea3a19739ae0622e817538e7eabee6f5b938238c2669f5800c0bf1b6782667759ca4ae149cca87f34163af6fde63f0863b14d7c984e66b44f0d9f4420a1e6c5a283477b773875e0b451457953e85c382636177f67d8c5964fe05138b73ec8a2b0a3bf9dcacce2aeef304d311bf36978c9ead991dcaa595b02895661fe32b8a18a387a3dbf8db3db0767665f9fe921ea177f5d3e94d2f978184cbc08bc0462ffb92b14ed69f664e33c3941747960ee2c09de1da77e8b24658632b70550207b677001eca539085762eae9bce95bbeeb30c8f20c0f9cf213b03e7570da9841f700a8a9bb7ff019c13bb607c0d02f281b366b3e41d7e1020ce850947908d8d76a466eeefe8c08e9d383de9591c0f12de26e83dfe218d6f963c63a40195ceda009b71d768fe56e74ea76f633de54b8fe99014860f8c7e6b4f8ca0810a93a8be4a4f6fb7512085ec8509ce638ac6f89e428734f6dc83416c6564962b955a319d7b2dc8ff6da1971f7209ac97e62d303b59635d4f9571c8ad3103ad58133b6ee88e96e54c3fed585117506aca878d1046137772a39d2741e32d7761b3089839b340504f121bc4755c326975ac341729ad57dbce87ed29dab63617ce3d9db222e514622dc05da9e5c6a7b1d254a7155883ee8394187c3bea6447c0811c0852b7d8e54c089fd955f09fbf055dd90777d51e2f71833f24275e41f6c07177399930d1385468c1bb4b4a23072bb9597a832b16fbbd4741338ab30fca7e217d7d2d1df340c317199d4218d4dc8bc8acbaf3f17e2735005052157ea46ec4d18e8f696819b5ed4b0fe63cfcf34728b4f56b79632a24716a488c046fe7a218c0acf60354cd336454fa186e5dbed6b07791fdc45ac38e347feed6b02de78b4529f2ac05b9bc76de7e7556cf37ee7ef010ebfa800e8d37867f03010de34c648149211a0e9c9c5b23a2003f79f913e81c2e269fbb8c15a3844bd990c0b829aa73f97419f53342a118a9bf5155e02504c06a23bb7798954c42d9b8bb6fc139b50eeddba308a3a52f2cb1057ff5a68b9f84425f0e66c004cef141800c979e346e18b0076b7c04c3a916d83c0e1bf63d6ed281ed40f91fd58139d58e81113ab43a30a0bffbf73d8dfa6c10ec68771675619017866c852bde52aa1f3d63ede8a215115ed87a710d1c8054960b7d423a586457ef45bdcad5bc13eed51d7a67c03ddd46619052bfb0ba509693ccf3f059734f71d2a69ac0fd47c3b53d3e32c8c826e376f30a67cbc5624b9bd18af15a942bfb7348e13c8cfdc3785b273fa6c0e13243fe813e38225f0d5e39a537a6a29948801aa425f870ebb8236192078ed1394b8016f6bb3df58c2c025223d4dac4276237e91c0952be174d1f9347b38add05b65e7bc7ba4b692b65f52b94aa40b7604617d3d72699a4cd37cf55a080a3afc265d501db4ed3bf93890b3a0b3bc9574165786c3a4c47c35a615cbc74143a1c5c6412e43691668d254d70052f9751a745f38865b92302eacbfa81f55f6f5cde01ac4475487e101c26b022aeab8d7e900733d0392ae58781f26118fb858eb1dfbc4e16830ce4a6e717f0d932afbed719ed8538605c0e01dc7c606c43a8c08a6c2c32bb0f77f9853aa4df54d76560dfd4d0d819c783a89a566aa622cb3f0b17ae5c35a2d2b42b424b647106be81300466c2e7c7d56e000aea89df670410fb75d8e7bc2319d408a0b31898e1b7415441e93269116caddcc0b6b50385e166e5054c456c7fc93e0d28480f321128e5bb6afcdc02e70365fd88ef6dba080760151de7d202b642650c1e13567b2cf0ce2c3c5937dca827476d698a9c3ee2b20c3e707f51734848ab9eaf1ea1f5cd388140f12baaf6e30b166931cd92133f2f520ebbacf888c361774af534c0c64b3073b714c8ea08dd78394a1bffe540cf70b89554d1f004f3d2780ad8d437552dcb8cc063e67e350c6165faeed9d70a647ac2d90b7fe622b0582182ef61d12f9f9af2739b1ab55e28fa90f51c352a4a3f9e84bce73d75c95238d53a4920ff7ba7f2521b5476b21043c586f01735d0d2e9194be644e04831cb2352a79f853f9e7932e9a4ab9345e6a842606547aa3075f82783810eba055c5b2d9936845abb29068ce88aee0bfcc024b246b3029965f4cf2275cf6b2f221161b8a1cd26b5ac20c9e1b416dc874088bc001c69a6486bc138f1f56436b2d94a7d7f4fdc0276250889ded8131227475410b0201df13389ac9e83a5e2740513786446513e54b5b85b01027a444c804d3f03bd6335aac8230986690beb08355c05f29e207ba12bb07a66d06155eb6ef6dec480fdf6bc5d3917226982d322bd79279349d02d21bc211c871e68eb0476b33829596cd4054e158645995faa82917403c3596e4ad09c5d06f5af1c42cd3ad20033efe3f0d3e1429248f37207c7285cb501a11125910cc1757c202497453183f3753153b5c7c33cd759443735bcb9dd28411ddb8f64417c0de8bf6884c1693ffbd03e4223e23c665f984c145382d0aa71a0c575f216bd1568b3a2c4f99e0e36f0417f9664a0df942e056210d24231350bd2a153fba493900ec121ad3b7cf6268bd5b8411384e0d35ab6ccf0ee1de3231f217befab3120c83366e68165167d51bb5f6a15eeee755c7d2f032cc5975f8be5d6d5927c3cd0feaf3b7b3baa4b56805613a26f5ac97fd49d8dd61bb6f2a78154c760855a9ce0ce29df596c495636fda138864d6de222b4df59606ee5d250889f1df0d228ba8b5a35e3bfc55a75c4d60ba548ae704737704e63619ce7f632222b5f22e4380a1597ddf33b5311f184214bc10c7c7dfa006d939ace7be8721a20c05b1aa64912213604ce9e1ce10260ec9b6bf7ac09e3e46c140a60279750ead42eaf2b117813d58c0e9bb4049cbbbc46fbe7174a38c3843466599fe71b3577a459ea0c9bcd918e3cf150b252134989748329169fce4f7b5f6484c2dadc3a9b88399d536e3a4d6f294fcba71585da7824e37d2a123b915d2732dce59a5cfbba7cbe704ecb32e89144f212adb0127df0feb4d47e7acd9476eef269ba2203a42795b9485144779d745ae7c36160d6cc30d28268962ac5f2c97c0d3286e1484e3c57b8d7fa2a0e12c52076c6be7d1b68b8641c89a69cc389702142795b765304ae4f7ae11fd5f084f4a4c75728cd253c9f7ea29806bc8e7cbf137ea806a71143eb003653e6a36a5801c898638152a36f7880cf293da1e5fc681e00a4a6fa5d116776df924b27ecb3b225fdbee31298b74b35172b0f4be0affff63d96a944826163af0847ded9082b6da17b5a742b5f32c6972e6e2508e334183b831d413b04a2be1f2a8e3dd5b0a35a2ba34784919815096e3fb640dff56e86d44fd6aa2de2c0abda3ef8a3a83f1486437db1580ab7fac216a6425f6ed10214e46325ec6a8553ff9005f4dcaad4d27d852f8ec7d0e2f81be649e48394fbb01ed0dc07b7950e916fa77e4bb43ffee4c2a148e1e356daa44f4e3a7ca9fa08118e954af5033d81da214e558efff955e07316d4a9afbb81d1cbf700e1f81ac3dcf0e0d457a56ba5ae38f55b553bf101a11f9bd0d091a060559da03436748d570fe2be008ed723f247d36a61164cd3fb3deaabcf303629e9afc9833ed4fd6ae62624c2bca3e242a2c0f000e0bd47b9694b22d65a91b3177224654571326ec6c73d8fb0846ab3f89cfa33dbaf7635dad51e3619843f497b9f613d9ab3ff6fb4abb5eb3fdb8bebd40f14b13997da36aa3987a69ebc182d54bfa9febd12bc90906d0129b27b576ad487be65baef220c8712d802dcd08dde6785333220a8321f333bf490f798ea0f76cfd9a854ce75eba300441261703dcb6814bd5b0556776f41031439d2b4a6b603fa45ac7a4367908eea11675f24eda55174e8dba9bede51427e94d29dd8db0030c3589ee511fe1b45f022185c042e1579fd1c1ce8014124de475a16bc79ed2174602af87535734283635a9cd5c891768e6be55c0b4e9a71d292434d9c6bcd51730eb470a485434d3969cfb166ce35e1441b275a3956e59feac3a920a814dbd59a315eb20a3aaf36e4cf18b4b3a4c9b098cda9fe84de9074f905d972b28e98eab7c83a83b25950ba9a63f4ef688e10774fe2a35063f35b853afdcc49076128a2a6fadaae23a831fcc38a5c4f19e0520491cf4add3ad507c5926f402be29c72f0e495b6f2c2289dea4f18cac37626953aa079330794e215d5d70c029aa88adcc98048792e0dbe9cea37c5e797f9b14f9b1333b352275a0a71c8f535a3412a089741ca85cca11c3770ded095834e5006a3338836cc7959713ad4f4e028001921870aeb729bdfa311d5bba375b80146248c146adcf4222271f333f873bec2d46a5d14c37bd48a5339adcb242fec7094b6781afb1491a2e9c2754cd135fb50fb154ea940a1caf76e7298c6803ab2b08715a263fbe5346c6b1ce4d3583d329c54becadf618b8a58c07b4d83971a29e4ef9cd204404c87460274028989811fc98915d672d329c207cdd51b26d1d40644a3e0fa9de717f901a5f92097d1c1f794cf81f6a2946d0d186ff916471508d379a781bb5900abe1dcc33e70cbb26adb5917a7364d4cb61df49e317d11b4df5e3799f89bc62810ddb24429e6b5368eef8fb405f0d8054a773bd032223785a3b603c13fb99da84a2c880bff33e664f5165ab0c719448fb8cf9d005a603dbb31cdc1ebbee9c6119e2ecd87919e2c094138c89798dda52342fa21c5a4d2a41c919b795bd6da89f042396d4c3229cdd103ea7750bb56bbdf0275e0c1e4ff8158d1d6598bc91333d39ca144869eac5f9423227cfc3a93e1e76da00373e5a83fba7345ad44d9a73850df1981c3c12a03c65727ef7bdecacbce5e79c694ca4e9cdf51587c693dbcafad0a90bda3297dd8dd32a379df3498d1fe99c4a1a49a66068d9f348c2d536d7274ef6bb54474767070dc1c3c33b15c8d33779a67640c53307c98d63ef3684f8bc0dac33806085a452632316f9abeb6e9d7664cda2689298add5a851f34552f5413732fe0b33cd51fdc8b3bbf3405f200e2bba4c98fb90de86f949730346be21cdf65311f20fb442b3b11be9549d7b1492bc64a5f19aa58f09f2c081e6d6ab93e0901dbca51ab16925b90dfcc86e8fd8da7b2f03e45f2933f09b6570246938c5641274895f34e40187da5779fbb7dfe723c32d7505a49e286dfb19a1283aa9ebf71bd709dfe11615f8b85e77b760dcc4d4e35856087c21d2a9f53d7feb2a8b3ff19a42d5c02ae6cfd2121f7f3c09b5f19035cad2dced7248dbd88039f327ec98abd12e1062a0ef9a0e663a4f7b5f82b05f2eb17fa9040530e58620e60c1c14f742d6e4baf7739b468015a93dac015dc91f3a1d75dce0b2f79991d89ddcf885c5fbc404a46f17903581fb3f5422bc7b970189c5fe2a554cacb247698283991b63e3bf051e45fe207f408835c13448c3721454a280a7af58723ad1ec3976e9d4400365c1efac2954be2b6564c75932a0e7092b92c9553b2d0cb8c99b6fb4e2693e8dbcdd11e9f386d5eb8373ef832ce4c21f92ed532b351e81fe92d73759143a8f2d5839858ed1cf7fbd7720d3e3cb487a07e8bad1226ad6f7a713a36796f711aeae4e5d48cf57445161c79df2ae48cd1efbf0d12b4ac6831466739950ceb321202a303bf7f0a7534aa59282f746daace0b9f648188b14c960f7983d46bf0955d8fe029c071129bab729840b5da54277ecac8a8812d8d70e43b3de220af7b2a314817d54faa4de526fda4fd7af665c5f650fa889260c4f40986c91b43db78abe2e5bd410b5368fa268c3da7cf14747a4db5598eb7f7148d71ba7729d738763f5ee29784fb6efdea0040b79ad9d68b5454d2ba3d0798edf910ba1522713a436de5e861f5223439d20524ff7974317db06b9db8e6c03b829d81bccddb8d36f228e235152462eca9de6445073386bede07a354cbafd12ee0df34f55b01b9eb1921a3f4c6f4859a2510367a26083f225ac0f68221cdb68b16787b81960aec75397a92155a622fd4a299c9e9c212a9d05591b0ae16fd950aeefaa8b6af4827d0a4eeb5c437cb4c18346dd23b38e1bbc6a15839f0e39cced3cf822b1aa1d254f03927cf72728f69b910d5cc097c0b50aba6753f4dac4cba88e0a83500af5635082d4b52c180dc08a06ba44a7a039f6092b163ce8c508345232d4231a499a2597189f6dffb2ab9a91431d59254da2a91be88546a230b21147c1be44a790c11bf54e2d8312efac413810803ff6b8a2e95023db68aec1278389c10b2e110e07fa45ea8825cfbffcdd6002fb32f752a0f6a41ad1e477fad80071697aaa52d6a8eda6d2d488ef600d55cb8c508e5b0634dfb1b27fa6b8243619a5d9c81a14f34720c373a58e9adfea137b45b170ff96fbf5001d72bdcb3ebb721655accb66b2056409b9c09cf2aa59a5acb8614b67da26d2e1e298011a4cd6076a9af4dbe6b7ba5579afa1b2255f3dc6af28827d0f73b5fa9a7927a05d28ab0c5147c5682c60aaad1830a92db9ab0952087d55d1eda2ab493e9a10df00f25b9aeb65f03e715457c26a9a9d67d6bd9526ba4dcb50f7497819e0e11eca0314425f3b95d52d10e348d46e43046c7c04d8c6645623f76a07a428fc61a50e89b9ea10ff07bc97dfd2b67dad677d11d6ba3b245c3c4855abc2ec447844eefebfd470968989511a97b475bdc0afccabf35804cf731c7a4907a97ac00e194317869ffdd4b82c5b1f5776ea42a0480ee893cd5baf13a620049d4d3f3e8c7c1d9aa5bf64256776b9a49bcdf9f255f33c7bc22ce0bc0cc3a2168b40a5d7eaabff1cc95f2e12fa97120c49588e4a9c9b8537774c58744fe90d96f9d4fd78513325dc1eb795c3deb3a65b4ea6900dfc0fe1bebfb907d19ea98aff8c00c33a7bb3d2a27f09b9cbb4a348ba8e11699d700a439a55303b91758b08a5e2590cd91dfbd444eb6a8cd379f63d16d3a222f4d6911cdb62ad37b443cb07221617427c9207423cb37c83133ae2b8c276f5231b66811846a8f9689c8bc85c85c23cc17a45cb20a2d867d5438a5f42ebf101f84ee88085d80f85d0b120fcfd14cdd11906e6315e5aefb4fba840844fa08e5e6b3048f5a09b6ba98c5132181bed4fe236122fac23329a34597063624fe6943664ec7169c9515bb23ec5df18b80d6444060ba42dd397afd380b17a3fe339f40c9bea70f11eef995b413c53c375547aa8346c2f0c439cbd57118c9a0110403a9dab02d0d0ab293fd54c92bb1baddb3f5a44b80c108b2869baa2d61d0f72dd714a768f65ddca4aaaa5742042cbfee7c10058f3da399fbb712259bdeed9334cf648ff167dd595555daff269eb3caa146f88e2004e768e52ec812d85bad34da24df3e2f4dce67eaedf89632d5635d754de5b5c27add835e2de38dae7f677317e803dd221490280972c6fd38d719493df7526ddb4383854709bba1b15a85204b83b3a79061d655326e7039dc1375987e597f09d8a95b707c4643b627af1ff2fd7d3c718c7591371646910608c7169e5de161ab0cd236de8800536baa9bb52bf2e0c1108db55ab9a2ef6766332cf44ac4909fa6d2e0a6d0b22351616b3d23d7414fc56375d1939d1616fc248a649c277f386bbd7f9e6f905cbe3a4b8a029018911865e327df785c77b5b6941ddd03c8b3ac09252ea7a34c9f3fed6e79780e283ffb00f47b4ce76df4eb1458667a9ad2c304d2317ff81bcb13bdbb03adb3dce36e5f94744528df9507e283be8c071a2a6d7ab32f7ce52e0c76127e3f34aed07119596d63f8fbab85a29df4ce8292aadbd63dbf744b1262a70a13b6fc4dfc4f2b5c2d892db05b232a2f4811a88342e823e9268756e0f24aef08f497345b7a817f741412d3111ffac37ce13929af3884609e5ca9b544b13ad7a01021174419bb75bc25b8b1f363829732d57c43454a1d24ac335642504c1ed3b40623ca99c808e67bb40dce1d0bf1cb8cef84143fbf8b0eb1724501e2cd950e24e2d4cdc670d1ebf01cd43528d0d82bef5c4a67cd0961bde84635c14c34b7fe1e87abbbca4f8ebb5faff1eff00a3ccbfa2af85d58db03ea2c1d3999355bfa8c53fcf26710c7ff339f3598b0042752223e4abe14470e7df481ce634e97915c6850c042615f8e80f107afe5589300b296794351e3ff2db8c760fa5dc71acf7cf1e8e359d7589cabbd74e9cf54953cafe01a1e49b949e1168fe581850bd6746b0d23c94b464742446444e6ca3657b117a3bfb43700ab8b6737583076d9d9c66f64aa84b3a03116723bad5d93fa0ee47032dddba7b5139b0d96ea98b622dfacb2089de56c6b4532f55ab07a892f0f8c9bbcb9ad1d0b62f47bb3f98b871d95fd22c3c1064892bb76a13084038e73828994aca6d80d35a74c2910b3d1b3e2ce1e090b58946b3a8a98162b0a35936bf46c6e591b98af5a8a38abee3250ea8ba52536a313ed6249617a1b90b6df01032eb97a8039f380a666286643537fdd44217b0e35ab76519c23b386b3c49a584cea67f64480e304b0e7bb3fafb5ee8b3781525cc367ad11fb3630d4a31a354b0a28c19e7bdbb7879383677150fa3ca6e48222691531e4beafd44ceeb252a06392be113a717d9c036ccf37f0dcdaf38bfef5b51c0e72422b9131d27bcfbe1665959f147163a523352d0d0c3198b3882024c1b2b83d66d072fdd8349e35a0986d0a393a5b2cc352ce9a51154ab06052c377f051ce032d7c6e02e1870eb8057f31efecbddbcb212df967944cf7d0325c09adf1f9cc251502667cb41fa28a5e6067b1ac572a65c15f0a281863b10068cfca1c82bec72bc21c401cad16ad68885a5f7846e4259d80ca4c4e13beddb3200b28d7b9d105538a0a052fa0f035360388e55900f036a83d3fd1ddc3dd3fd1e7e3d353555c2984da9ecad020458a13ef1ea9f5e2ed025df9e3ce84c28382d7b40ba674cd6cbd25bd5dc75e0ba57e90dede72bcc600434fe2261e1e1964f1ba80fe9ca3881be4d6a82bbd5d3e7bab0924cf88b0393031cbc2a4ee1b19417a867cd8b0c4db34631a7007f52e80659490e98d0acb356b92238c21b03871c834ec60e0c645f66744c40443eb59d5edb2e9f95f1ae43e8872f4a2fce77fe990122db24420943bd866c5afe54442352ce7c43df60f803b7cd676857faad6d4feb5dfa16b9d0463cbe4df9f7c2f78b1199606f1bee061061636d01773ee01a0f1d0b71a11967efdd5201c5ad250e6e5cf248dab9e2aac00d07c561388107f2adda1296062411ce59db8bd3fa11cb26d743e181603a63850b67d890d61391bf52e72dc63be3820cc9edb89a33c890323b5244ebe49631661995c2f23c646fb70516ee6197336138c0a0f44ec41de29a552376291abb8166c34654bf7e30dd89fe803314ace78a5d66c96ad0d76d3a62e8b40223ee09ace50a00d609387678837fc3f02a241cd1ae39061e8da0d8264ed0e974fbc7b19f424e476bc62c957402eea68ef20004fd77892fef5364afc6beaa085a79ca36f8226cf7c561932e780a4611035b86c238d5faaa423c1972b378ca4aa86f942a602e48cd15ab8470102b21aee45defaa53a47f49ac9755841eb1ec8d21146a9051aae59976d8d346fd8c2b32fac7244721ad37155e777b27fd220f640f2c593c0c95da8754334c1c729e6e12a5a13848905fabc6bbe4f1078499b0ed4fdf667dff7b7b3c15a1752233c6971f8eb276c1892e77ba5b69bdd5209b7947bcbb2db4eb25b4a60f01781cdf4ad1f363ffeff3f6e20af9201689556b53d0174e3e05529bbe81611c95f0b8d0b4b0cdbe6d848c3aed9ac926c56a9bdf751564002ad70038441aa7005420847b5a60a584029abe0048cf3bbd1fc1bd6973c5315601b5ed8fb4fb4a1c15390361a464c546d6decdaa418f54c54b0f2985221055448827336cc10840d2b10c228e5b52e72730c26c6b08182ef9ffcb4d8b6d1d47d1b96ef9fb07cff8409f651d8080261ecfcb5c64452dc633c4abd9429a8600a3653d8014218ffb35f0fc3be5fa53cecb5cdd9da9b6f2b52a4489188b7cdafb071c50a841294e44aa6dcafeeca69ae18918dae0481db469fac41078431b36f5a238b35905803015248a3255e613f3b7b560a306a88418d38d4b8a2860fd498811a4aa8c1431a77c088e9dffcddcfa151825c3e35124bd2a208fa1c8aabbc2e4b511d969f9620d3a746f695a44512551d932d69caac749112646a23edf2a9912d8aacaf261b231c603245da997a2d9a65cfa61cfbdf749c5fbedfd9dbb590ecdcb53146380063216d84034ca69eff93487e271d7f65732ac59e7d6ad865e657ef769df1cfcd7ebafb5f714d33833dd50de88e5d2dd5e45f2d37ae9dd1067dfaf1e6311d65679fde3dc9ee98b1dd6c6d9cab944db03aa31214baaed3476af86f66352c7f96590ed3ea1af64fef6f74c3445953d10da3dd88c9bb865de6ba4e9f6e779a8e19d3ad25cb89897c6edb68c6fdd5569a5951f66c5b55675b5bb6a5e33f41b1a8d2f628d60653565fee73478b37ef50c78e52f697eafca6066122b873eed3b8237e9b3ba751d9dcd9eb360775a59b677beaf842cab6cdcb3a7fed7ace4bd87726923de1f95f82e1ac4bb5a56d73971f03b0816a9ce3b62539941085231441093950820b94b0851244a0840b28a1029d6dd0109fbefa488386e8d0107d75b6434374fd745f21dc383f2d76416803196615668c4109314a08813e4e07844192f085ff4cc20a42e8cdbf5d695f5465672e8cd1cee6c7aed93c76adbbf1ec13677f833dfb8bcd2aaadadaca7e61b8eb3a3d566d15554b3112228079d3deaebfd7726355a5f8c67904184cea5d85f239f676cec22bcc6ea839fdc6f9d7358ce2ee771df7b97af8c62280615b6c564945c890b33706b3ecb68dae76b5ebfa69abe775dc9c379681866fc337e65c172ee388326c28a30608fb487b37ed45162ba8a371a6609487427d587d547e8c513f2d86cacffa8afa6cebb4d87cec550ff52bdba1b29c0e755db37ad9634c67a6f32df71c6a4eff95edb6cd519fbd14a5957e671fdb2de3ed6bc75d0d55bfb3acaf93a658aeeb849a9b0d421308e1142a1d57d6e61110e48071d28dcecd1ed1f3352c5316c6a172df4e0f4fa1d2af9dbeda173cb2d3337dff64d2e99980e00504020620842ddbb26d8eb1beb29c986435566391410532a880910c22640c198309307ebf627d0549d657f9e939c6933188180388880409921092246d446e9b63b2a5b428823efd995e56b7bcf4d79a16453cfdeffc168911042bc490428c278288e1448c0440089fc0203f40e3075140088f30e921f1be2882927c6a5ac4c2a48744940985e9297ed80b6d9b63325b7b23bd71aeaf656f841d65a737bf7a283b3d6ca787e3f7abb6d3c3d24ecfd4c1961086191042380aa305210c4326e59920843330880fee885e47d7e6ee25b7be745d27d4f72b1696eb3a3161d2b22d3e98400fccd08318f4c006c298ffebfaaed5ea5bf717ffd6c56a254ab6cdd5f6b5d86613840770700121848141783085073ef06007309200061541c088813062da1ae6619084f2f2d3f9dbaa9dd5b78db2b46c537d73ebddf6f7ab8cdecfb15afe6b698e6b9fc2943bf2a1aa6f1d7eda721afc34b32da7e9e7684b047db9e3befbdb126b5127919f9698ecfbf939bfdee1f9d853acbf9e8a663487de8cd18ce946314ccba845e5f773fc65ae307a531663d77aba64ec5be8399a61043df6cfb8d296b26deeccb3dfa7439f32759cdbd3ef27a6b1daaefe1bd6983aa68d33bd4e5956a623eebcfe4ab7aea32b5c69f6d3d411846fcab6cdfd75f6e6ba59db79b6b52b5d617e73bf948eb2243b89a824fbdbfe67754c43f29fa856823ae6264a6722d5cef95bca2bf5ad6beccdcdeb6cd79fba36bbdf75465b3e674d12947dbeebd776dc9f3a7ebeb25ea5498a92a89172caac4422f3e3bf5f6d3fab43351da5ccc949096606752ac1d0388131a14a35a4930b949b93a954e382ba81792941919915659c31dd7afa3f2b7faab3cc8a7efacdedfd2be7faa574bcf9a6d4b17e63daea8833ab9abfb16c5d892ab598c85bc33cdcf8b1edaed75dc7f773e663ab61cefaade3bcf57d6d4cc70e64fbf1f6fdddcff94f63cafdf5c61dba9ff32cab75086f16b3d9deae31aa757e55952a31a2e94ceac8ddcf8dd1ed4b795b56295555baa53857f5b559aa4f35a53e99a0d07c995e0f7b530fe95824d7df68ae5e23694cbf2d7b6c7d5756cdf74f6a78e0f284564fcbfeb33ffb54135104134a5ac31c3f467f44f1c3053f60c0d18cf5b6398be5dbdf1f25a02db78daee4b3fa08d50f2b62feccb186fd622c228af03aa37dc4575b9f23a2082f66ec3531bdb15147acaab45e9792425de1051b94d96e2609f3a921047181155c60041784715d9ffa94a75c30054651a54768ab2afd94a7fc7a87da36af1655dd6e93652f26da1ca3d7664cb51a500021ec60902eae2e04c0823b201489448f5deb5028d1b3c0062cf8a27b072558411d8d33644a8d08c809a00b0cc20517f0f339344f2e4e10829aa53f2dfa7ccbde9872e1811016000659011a206cef6a7b56df3a13a9ac0fab31f6a6f3ec7562ef2f61ef2f61ef2fc1b29ac996ecfd25fe098a7f5a97e9afb59c26c776a89673f3ba4c8eb569394d877214e74d4befdb9caa6b278c7fe6f3ed270a85499f6ffff2512084656839f74f50d37c185c491d77655a4e836fc49e7fb651feda643936104230a4000b2918e38b23d785aba538052180b0afe92d2808824152d00442d8d9fb57fdfd2a053b400841ef7dbffad4503dfbcbf49779d5f5695d585f821048122f361002910224caea3a773fbb948ebb32100281d27157267b3538db0d739cc5be5f7d37d76f5b33a61b0aab3c25e2b0d67d1487b5f07d7aafa74e603a01cc09427d61a8505f99cebfbff253a5b609d4a4a8cdda2e7bf6e9f939547efc9bbd2851c69e1df14180238268e1828aba9f298ab337d3828a596dca67b5a9f91eeaff3fefb6fc18fb5fac52ecf751b6a6fc7eddbc9c4a51f91de5f751acaf1af67b3ffb89c2f7bb596deaaf86fdef0aa32b8ca1b68d6a18aa520ef56d5de7f727cbfdeb5255da61bc51cfff62ed45e1ec751a76994ec32ea3dd9ffe328fd9bcea7aebf4656ab2f797a8b6b4c21efbce8429fefa4ea08c2027e77a1812254a96b0fc66925a3f2bc6cf5dd7287b5694dd9c4a45d9cd89b989a2619789b989722fccaa06e626ca13160e4ba2e6ba8a7080129949120115174101423085107cc1fa6a73085221d8217e1b762d8b2d644106cc2c4c05b260228b1b70a8845e4836b7f7746d04022380a08371dbdc4160040b29605105c6ecd99ed776c869a61dba9ff3f5732c9e6061e403696c9bdb8afa9567f94dffc0141f487d60070f8421411d9a2499e35a572ff3e61172dbdc45b657cf031af00013b87975d4813474208e5076d6a8035f900e34b9a28e2b42a1bc7918d39eff3996ab3e812b96087245112bda084da1121ba3d9399b3daf9fc2f4b5931556642b16b0040e5080039f2ad2c0a1d2f36dee6f4b79cadeae31ad9f53efe75855d3749cdf75f6ce6f4b518c6dd7af65ecd9fbaaea1364734fffdb9f6febfa56d1458441aac838541a87a65089986f9d2948150ba802081536a022090871a854db799fb23914ba1cccfc8d7acce9847fe5a7c7df7cfa4d7f7c53a1e4faa651900da8f1a570c001871cbea7f46b271c70c021875c3f0766035e5cbc812a1b401241b76b3d0da2812b10426cb3e8af06841044031a8430b3fd39ab6d6dec39169aaf9d34e003f4dc3b5329ae402805179572f7f34f4c448a0d66522089e20a8429cc3bdc99ed15e65b3bee5cbb6fd3b1d206a92acd9ebd76b6cdf123fd74ff8d020b08a994323048144de2fcfcb7bb9f6ba04f4df6be5a94d10e55c7a2c43942fbaa4bbf8faf95b245d1ef6fb63fb7e950c1541830458e2961c038ddefbfadfdb24419960802184b78d15942054b704bc82c318031945029f102e756d3ac2f7587fa0225f9d4f47cff326d55526795d4a208b29ffeb69cb7cf220689fee6d349028c2460d049a20449e424844869434a14a4e8408a155220e017a62f6c4b2d8aaab6395b2cfa7d8c1feb219ea539a08fcdfda910a65a1ee53775d696ba1a54bdbfc29e13b47afd5587e9f839aee14c696fbcaa9e86b59442c8fefbd9bf645a3d1b42d236f7a73ace62a12fd5d9b596f87e61eedbe0e8f7232b77de4d394a7e5b95b45296dd4c527ed779fd525eaba259955aee7ea244cdd2327e24754c4519658764eb27cefeda5c3284511bd3f1abb4d4f1daef6cf82282649196d3c84fb79c9345ae8d919f3e92afe7c71e9288243e2007d3bcba9695bfe2595f3b6155a553764631aeffc1dbd6ee3892f5f5baeeabbc3a8d9c82d50f77a5d853d43b0df3b86659ad7a873be2ea1deee8d7ef87244e1f815255faa829b2afe8f745f7dacc03711e762936af7dcc25c6746eb93e165595deb734489064a4f86522f5732e8cdf37b53d42316856afb2acecb9fda7234db5bc6f33ff5a391f47e28bfdc2c8296d735fdf2847f1e6d25feeb87f52a68d491deb6af3526d73afbc3b4a1cbf30a116b55f9829d2ef832eecf75bca9c6c605e504adcd49c4c24191971249653eec7f9fd6d3eabcfcd6adab5996213cb6a21bf9ffdfe571d475ed794769a43e7731c6dedabfe6d19fb4cc7fbdcb5d975c9aed4ed5f4bd3b1732e573a1bf489a00ffe7e755d926e1dd71beb457ffb0b655befa521d0cbef57282c732e7decb7923a4ec791724affb458e796d5df735e3b74697e8c29b54d742c0bfa94d7eaaccff74f5a4a479b552aa441f33fb67648222161b7973a67535888909ebff2fc35e3cfb7af67b3daac4f6fae711df6efbf443eeca3b4372692491de7af30baea6f4b51ecda2ccec7b6e3aac53a57ef6847bcf94f9a6d29dbd2a56e83ab6d21d9528c3df9cd6a3c27688532ebc8946d0957ef4c19ab246fc1d35bb68d6a2e25ec929f26dbd20f21646c3c803e804aa5dd0f10a23b8c2c8a78a353440a30ed0e7d17f145bcb0bec21f3b386a7e67167f8b121640086be7dcb33a0e90e938a0001d22d240441888700387b0ed6af7ec10f1012224cbd6aed786e8ccfd6ca3c8ae174c1492a9041303f302846af1fa779d8f968821fa7d93df7f7c41086d809d251ea802211400ec2cb99d254980bad2aeb487e86c09922535a82abd944c811d06ee2461480247922a244923491190e8cd6df7651a6abfdf1d46164620f42147274912aa2ce2cff1df305755cad2219c2bb5367e61fc3e8b96bb7ff9642e8a05436161b2aa9ee6024555e90ab35bf5fcbe6afe8ca9f370eb67a528ccd2729ac904fb28b8c4723366c202fa30c13e0a0bf65134ec9ba9426161e9101312cb5e0fdbae05e3b2f26c9ad7597f13b578217529ca52271af1abe843ec88cc803072b431914c3f87fe1351688e100e4253848e847230d20323282339748a5c81570857da5bc6fe52507bf5e73e9848bf90fa53a6224e8a1001a5a1032a024805a0253aa006743e6380103a819dcf0d3e39d74cbdb448e2ef9fe4d697648764561392a99716c50f9e14f5fdeabab0ec6abb9f9db1c5467db97016fb548e127fbf9220fcf97e658adfaf8cb4942b97a86ae5cdafd2b0eb8ffbbb5e698a76bffa9c88bf5f6122ff184b79dc54fb6b3129cac896be7f32f1f74f6ca9f483881a100ee10484aa1a45dfcdf8b1eadd9f813c84402684f0062018107f7a33844024844050100261024220381002a1023b4270d111420440a6400864891b201025208450081b18419fef08f119928517d2a8fe13b633a4ca91f9294c3b439ac0cdb1bf5ebd3324081412074bc80e2084b071eb670d620c9d20d20842069d203cd009c2884e1048da0d08eb3f616f4ca5a26aabc7743a000c38e307d861400f3a0ce018108105c421fa9b65df987e67013f28200b1d059001218cb2f5b37a031105204800040716003b406c40c8741290470258908056029c248007048401210485fac2a26e0b65feb5b8433667b42f89696745578b2248f4f783cad6dee0eba5385ab7d73a0800f2431d3fbc0121f401767e6042e70718747ed8e207283a3f40c087377ce840c7070d82f048ca91e97fd349fa6a7969d1d79a241e37ff6f8c6c9c2907f337bba2f5bf31b1f5d7cecfb6946de931944acab694eb57e7eedb14600aed1c800b68715bdc39c0770e20048411343f876e9d1ee8e8f4e045047d0edd3e9d1e322d8f58583aa4618710f6003b0678810172c70041740ac0844e015a9d0204d121c019ac0e011850033b1e3460ccd6defe525d6b226bdb34158d7836eb2b6a66fc29699bf5155bab61f5532a956fcdb2f3b3df46820449929eafba56b4f573def699634d45b5f7d0e3564d57758f6c5e4aa31b271fecc08e070a849005763c07e874d8e86801e16bb9ef679b83bda771b37292f27d56e37c6d56a448bf96e90ba9f3e31e75ecccb690fc5808083fc52867abc57eab5ee9c7bb59767c5565b122a843f9d3575b93b5271d96e8027e7aa968aaad7decb9cde7d01916262547cd921308a11a1d1ed0e8f000060f5e407c63e6f8c6239887221d1e0600615fb3d255872e8b99a074768002425c59b63ee9ecf0e9e810078c93ce8e0e5cccb7aa9e1d1d6a3a3a38e9abe5dca749ddbd8312747298817bd471054288d9d96f0397d0c181459e64675ec779385b7bc3f29bcd3b37c8746ef874020005c4376ad8b5ea756ee0a1b37702409a1bd5307ca30f1cd8b1e106c64c398ae5b76d6e3b1c70c0218759bd558ebdfeecaaebd9af5798e7ec38e080430e364b1c70c02107d6570df3fadb57ba55d287b9ea67f0fc0b852ad5904c37305150304e46373527130a755d17b61bbe9155807ea30384097d3d761722b003240310da6c9ff3339d3d65d7f5f84655a5473aef2787b53ce3c737a26e65d9b9598be5bfa89f36435d547e9c1fafacdd50aa4aad6d39f758f58c6dc77987512de7b267515f0a653114cb6a18652b2a3fd6f2a42cd46b9896edfd271c855176f3a6e550d9cd417dbeb59c43759c8742b59cabf49fa0185b5487e2bc8a6a3987ea3894aad22d6794aad26c73f2e38cbf142a3f36838b195accf0314343d47dd491bee61fc1ded65daf43659003c26b511cd6aa14c561adebe2b05619bc32d8a036efebaf45fdf53a3dda8010423d62a0470763a6acaf233d6c2084500f24300f3240184773ced19c7f3d9bf979e057fd4673e8750cbf4b1e482034e57103844d0637209c2e58447c6d2643134ca452326cb93ef6b7adcda16d1b83142065b9ae5311493c0dbbccb6b90b1e36c0830a3c88c043883b9a70c777c7943b6eb0030c3b4c60c71276ec002bc5a110a68fbd8cbd263cfbf55f229efda0740449ce31171ab57ecb3e67f3cfb1a7cfd5af7b2a0dffcddabbb2bc338941422c060284c14a1830100624eaa0a33d5abfa903a70e1bc0408533c000059c3563de7a13fee4fadc57a3944f48302cc08c2f7c0161fcfec2106a78c10b38bfdad919ed2fb56d5e60001d52a0e30b1867cab1bc15ca1c5e98630673f81c09e8c214ba30822eccc881871c60401833dbd9e6daa7ba5a6ef3bfb65eec2d527666fdabcd8ea5bdff4447355c2da598c5d81b8b1cc7b1070ee2c0e2f8810b56c0820b2d5c50c01690b00531b6a06da1c95faf9332a6d26e3d76d9a246226d3a62efdc53d114e798ca16459baffceb75d27ae3f85b8a565ae957475da4c8a84891be9c9448a59b919478bdae711038ca80430a383e3890bc71e58d2f3ea589e2856de23bab3f90941f5cad83e68726def81801674d8d55b489bf7d049266690d7b5d67ec49c08822a4865d467648465011493e3d5fb66f56f3fad745cfd16cd3729acc823e1fdb482b5922572eafcd98c7d4f7b4534797b2339b71a5ded6b59225734eeffbdd637f89f3fb9504b57c32fb4f502c1bd3f639bd6bceb5dfaf3efdb5ac73db6ba1bfded8b5c7d9967e4b798572dfc6966685926d6fb2a520a4e401210a853af275dbb4dc6757fdf6f3bb2fa3be96bddd77dfa9daec5fbe96bd369b16a04f63d47d2dcb167d9ba8da0e89b09669f5409314fa7c326ba489901d71d7efec8f6c89f531d69eeecf5b839f5e5b49b6a4aaf64ab93697c10508af65922bb5dd6b2c9651cb692a75ee0bdd179078a10e2f78010bb8c25e90712f7c46746c810e2e4674747044c7076f5b1ecd5fd99c94677a92df34470bc639e41c3e40f8559f034aa00b56baa0c50ba90b2dd88524bad024a60b0d4b72d4014d72a001210ee4a0428e26d7669d1c2d0784348e3520cb27e5e1d64f969487b9f09db8b0840b0220630b4d6c41081c6380c30cb88970a4cd2a698a6c518e160e221d383c6f3001020e48b2e43ffb6c0b5a008216c4d0c2155aa8a2052359780300b093052b64a18a2ccc98a4431274d349faba9152fe6711f4e9fcb2aa17419ffcaa08fae00bbbc866cffb539f5da28cf67f76fd7a63810a2c248105901b6270c30b6e30c18d10b831851b53dc08728531aea04504c9ef57a8ebca6a3e2609b269796951c476d422d1dc6c4b1b9b4f0d88f5f5d39848cac3290fcb4e5d95caaf8024e29487add0012b48c00a0da10388288288f8809ced3127b1df2a5c518526aa805305256d60a18d26b451a58d96363e108aca7bd4a1421a308ea800c3c619d858a3c3460dd8a86cd8c008bab9ae939c73c4868f29d831053360cac331e23947535872250b57a2700506576aae84e0b7612f47d0b59f9487fbb36f8d2bd6a86b7c670dd21a3b74a4f086143e200509c2147f9b576fdc95729fc63c18422b5912917491be6923bd448911d188be56d7390dabdf72f342ca8fffb3948b1a55d4906a7cd2c0421a68a4618334ac4883958690285c89201116fad44851cb9b9b36d2449268239d447e93cd585f43f94d5118120520501003149a00051c40010a0a78c21e4ff8e209a727d40023ee2e5fd7496235ca979ad5a59468b4a0d1675c39a305677467c833ae339238610a4e5081136c226e236d9252896c5114fdb4984826219ad73569127d4457de4851b70425d146dad446fae653237d54afb76d98c8f5df5c9cf011e388948721847440087d00110261ab2a0d4555fc0e65b6b92fe7bf9dd71c21f56bb9d4f18594c22da789d1d29befbf909a08f79966ccb39487e3fd0ea3d85b1c481050ca5a2dcd96eb8d62dedfb679ab68eae2d0d351c79af2706322ade75c48cac3426a158da04a16fa49cd976da5f97e97f24cd996e67f4ce95b61349beae7502729efe5da18d804ecd9aff65e186f022c3bf3d95fa6b54e7e4b79b5d8ff63a0b030b15925d9ac52960e813a346a398d045a8ef1ff0d0b0e1225aa9c2ddda8733f593a04f2ec2f1df2ec2f9fd4b33cfbcbe6aadfb6a731d7f565cede0ca36ca662040214c14af7e59815a10521b4d92b4213082311ea801184ff8920042274d86e9dbd50672f45041bf844b82182fada6c086e8c86b0c5c759a6ecdddfe4c7762663ef653ecbce0a33840f84b18c3c2084f0481961c0cdcbe8ca6802a1b5b98c20b0c5ca152b5ad0d1ffcd585fafeb64a59b20042208a183f1f3ed7e8ecd2d8aee2d182100094211827081202c01021d4030034699adbdb231958f555bfad4bf7f6fd72049929f381d084ac878830c1d9041850c1cc6d8c118568c31658c276294418c1688f1e40778fc000c088774c78c2fc544ee63cf25d0a0f76efe74b7cd0dfa84b06bbd6d8e7affcdda18b1fc1dc22aff52d7bbbf9d67bf90df540824dfa3b22b0e65d732eab794a372fd1f54f9c109c6534dcdcd632928618431840fbe50021f34f1010f3d20420fba1e30d1039b1ed4c0832bf0600a1eb4f0a00730a0000608c0a00261e4bee5a56ded4a6b5a62efcf59b245d5db3cc7727f93b1f7725d2759ed75d59aa6b945dd12551d43fdf570f775d3adba915a14ff4d7dbfb337b4394633bdf5a545f15a294344ee8d913bd063074bd801193ba010c23864e3b216e395ab0f010108c4d7f2b6c929fd5a26b59ca6b69c267234e3efeca53adb52fdce2ae1bcd471d650ca641b6f57b687afabaadd5ce2c7219c65f6a7df6f69299568296557a09b85c5b3bf74888509138e6aa6ce6990e8eea640f76fb4e32c66ab9412a687f4b519675abd9b2fd3493d27e80ccce7d06dd4fd3ff17fc15f751a36641110420b3b35e041fcccb197aaa17ecc9bf6e64a3b35206285d9198cabc53e8361caa1fe331df8b8e28b53fb90e28b6e1b1f5dd0208e01d0e08b98e28106db8f00d020f4e2230d9d1958c9a1339002c23833bef1657005c2c6d83b196419f4fc9596e77b91b6175f8010461c2a53a8741d7981c5c88b2614f32248b63506563c064ac420088430ba74fc6a27c6aec1600e252fa8e3053a78c1085ec0f2822050891217885a60470bb668019416b87431862ea8d0c510ba68a20b04b0a00d163c81054fb040082ecee0a2a5e455f79348230dfa6447c524975402422989493e498c68645f327bd3ccea98aa52d57d4e0912487492f934a3d372d50bcd667dcd9866cf71ec8859ff7e8e6d8c2d2bf7abeed3ac80082b986205a6155c2ad8820ac288726e71852d40b045ee6c31dae20321ce94254b52200114a0010558e8a0a08b0e0aac40410d0a7438c1134ef00368ea5087f00ab3338d4d7d61223a440496f33551942d8a52294d94b2499d6d09b79c268f58766684b39aecd5609c78bf53d5ebb25925a9a2744c200008210bb6b9ae1393966dc18e7d142d9468013fd851d775f2124c29011312c441022c481001120419c118239022ca7725498ad8502c45f5b3395767ad30cf9867bf6babd5449efd3a23c5bf91fbaa9ddee3aee78b600a22d880089284008e1060216593faa77376f30e49f95af6ea1d3a755cd5c82c9690451459c8bcbd9bd5581c67b383408b0e0870409043070b32b0782c2080450d9d0fc0115d5c3e357d3df696eb6afc986aa74f477b6d7f5a5eb97ac6d9d6dc519c7a132ae2f9af9d5ce016aa09404f79986e347bd4bbf9d53b93dff70017209c69cfea9fae351ec0f1c00dd01e21a247e4c79d0e849171a7031de84003ae4003462d5fcbba420b78850661a4a32b62ae80307699fafd3ab2c28c52472bb4b0e20807dae0801730fecabfd0b7a53cdb523bcdc970a884a650e9c801cf3b55ff7522a7fc269bf94fe6df5fcdeb18a62f73ab993fa9dbf885a9a208557c153d506105c278c41b13f96a9b82aea5820ad85474f1850a24540489a629dcb83d0516531801617cce62d21430f6061ef3b4d3065af13d27e806642084f1b4811ba2ac9446b2eca6813720f79c3569600b0dc840a8812e495147bc5248e10584518a567517298e88228e885595aee67f75d2310a2c60bcd6595e145a144e60ccf5319cfded6c58585858942c6141a138afa25ace618009066ca8e2832a574008e33b963ad95a85882a4120ec78819c0b10b1401a1d0b8c6181292c10810adcd1a9401a1580027bb3b1777e152af3502890fcffbc7bf969cb3ae1ef9697bfd3d2482965ccb471f43a4fc32728c000850d3a506050b46da9967efa44a221cd5c17ce9867c740a50f118965772850020a681420c013569e00e3092a104659ed571d24a7cc6a531f39a54289b3da9467bf4a9b42e9bc9e73f475f179e773f2390006765a75b4acd0caa2d39289965eaf8fe1de36baead73236814c9f9a8e38b24ac9aeb1eccd30feebd9afb2ce0061047d5839ac13ab3b3973e4800161cc3413a9eed21716c52fd52d9a0981663e3537b1730ec87b825705c66bbd7febec798aaca493856027601636dd3dae175789ce8d7207d0b9409cf8c2891c271a8dae0a8410639a1d77b6556365b4372febb6d79aeb6c2bbedf35ae7456db5229ab5b4e23a38bbe5aaaddb78dbbe59cec5117b96e8ddd8a5cf9b9acab6b59e2b7d86db6d73b21208ca1e936898ed5a1b2513550451c173810704cb81eb6325adb91ad86284378ebec776d73c4db4dcc32a7df11afae65b5cd9f2a22bbc8636d3556cb67b52914aa524e7691d8188af86d9f69a59d55a7d3041c4d58d9a8bcae934b6c972620054387ca804ea10ae86867685168a78e0644a58242f58110c67f538492c96df390ac9e77468aa0cf284ee8399a2de81f7fb8cfb19cecd0d758419febfab0eb3a79f5f6ce5c00b3f6fe529b63a62cf46b7c0cfef440401871b5d7cb6cce9efd707ddcf8573431653556e3515fd26a538a690436068c051d0c0703a293a2424a0a18abedbcbf8936e5cfb594d83f5294d7451ff3b2cdf1296ed27654b23965d92d26b9fe3a2733f6a64c654aed91c7aac51afff57adbeae8b8155c8d8e7b01e1ffe7367d5ded4d5c01f20d08238ebcae6c7b939c628a12b79ca64566b6f31a93505c40890035512e1d141326c6c0c41c4c8cd161020a2698c8610676708280e3e10ca1e246fcfb5a633b316589bef3d772dca63b823e39f47af606a92afd34a8f4a9e96b8a409f2e89f0677a03a99b1719cffe726d3659587e5a17d657ccc232494c3aeeca6c9eabcd6f62c901c402ead08709f65152f33bbf98c9b3cffbddf4d7726c37492e1a762d5b7bfdfe9561f232311624293cd3a14c5bf0cb30c99d0b4bb639a82f532539d7e5327f85790b8bdfbfc015177880e7020d61ec38ebafaec4eeb9800f0be00042183f8f0534086b4f0bc84058813846151881aad28d6aac1ec5cc9f153002427882e20b505881304628a88050d840080584d143011cf8cb74a514a04094a2eaf5a4000e4fbc31253e6182279e7c787c5b78be0ca334c9ccf6e3382be5bec7de4b8b09addc5280a7550096115899d51e16f4e4c820674a0ec9bbc3e34101c288895c8aedd6dfac8ef1463debd0e54295ba8a6e9febd78cd4b64a9b1d67dbe3af76fe6f9366ef96b6d5db2c4e790849f7ffa4132204faf8e7f0af3c0f20c32fd5980dac842bd44e7320f4110513382943620cd7e02619dbbf5d87e6431f4900d259082b3d42cbaa4d08378ceb56b954ee0c128d4408bf1367c0b46d4661bfbf5dfff6c2e6f96d9b17936d4906fa2088095210b2b09c98b49c663ecb3f414d202838fb9bac6197c1b37a31d8afdbe06a9de6da1899afe5a7759192d574ceea9c06c374dc9571b93f2b14cffe82f15f552569d865f00ab33857fc26dcf93d6535ad9f5f0b7e28d7c6e0981b9cd5e09467f2fc347853794bc6746654bd33e1e92f739a00e79d09ff13d4f4f9f63738d7e734ec325b93ce9edd808010aecc60c72a0d08615f7dadbe8010420803003dab11ac30d097d5581dc237decf9d4f477d986765431375b8c64255c7cc30c20f9af0e2d3326db11bbe3fabc56068119060e2354ee5a0324d512ca09d711ac54449956ea1f9f77e96d91566b72322cd8d1f7b6854d4ef6ca62da1494023a2af506e45694b52d5c6fdce33a9683037aaddc01620410c080388050620a0824940480442c8048470053dd915cfa9fc6a9d1e006840f6f9b41510e650ea890482f8d1329b9395931f0e7fc81ff247911f45d290863da08f3da2ca4bb5556dde1266a66524e33282b929411902047c94e1c34a103e82e0a30421a4d083690161954d0521ca93aa03faa802fac0c0152c20188c6d57511dfee180eb07128f5f8150846d57dd0be8712a2084de45ec32de907a641ed24a7fea37acb2beca28a264d92a659236223bd1e63f59f9b114dc264d4565ac3dcd9f73aba182c5f73b2095e565221042181c18a4893920842c32a48e6a98fb4cfa6eae30f846144e13084b78a46449a5560295d2bc69d217ea3774bb0e736334ecdb7d1b254ba0e015f69a8b4b0bfefec924fdc5f8fb272c5bc29d67af93d64f8c9fb6be94dd28f567b66de492319df96ca3643936d96e269a13f60b83bf7f92319da9b6a5521adc417999a44afaada3f7644f50f0671b05c360fc14cfffd2676e9abf6d361af6cde42f731fffb52e36aba411c65172eb4b187ffdec33a41bfc1b56a164bb992669b396c626639f21e54f79a6c7aed9a83e735ca1e0ef676e7d09bb4cc75d19bcd9d697b44ca5e4d697aa776db0dbe0cd5a9b98fbf373eb4bf7e9d67d0c6769aeebc4b2d57342e364e5a4410867a0e70484890ba6354c53784c37377b786ee28010c6fc18757f03fdcaf375d117d999fd7404e1cd6b8deccc4a50924f8d945f2aa575f309375520c49e138f59989c715304fcb668a96767fbf546917ab3588fad121db1d7799122cefa9608749c679615f6d30a7bb69110dadc00ff6bacd0ea98a7468371d657b1befeed15f6eca99181107a6a42dbb6b94bc90b08211455ec953ae81d2dc94058a25183f3d20afb8985a6456343e3998903461ce93d9a090342c87dd53343c5336384cf2060deb78995889c7e514bfff5ea1191d32ca25e92b3c29e3b56dba1ced86d2ac99686402055b08110b25c17cb735ea2cf79697e974d16961393df3aefc404fb284eacd8ea7142459493f449274baa1d7dcd73d634ad75b26da3983a20843e404f4c124a2c58d78db0f724c50c00460f181ac054816102e6e37941a343125f7bc11c8179222f097af2a99111a6fe868a9f964f60da483ff9d4c82fd3796da634b3fdd8471d594e4c2649b23091223bb3eed9487eeab36c7d4962fced8ef1635f3bd4769b93b2462bdb9848a63d2ff0438e28676081430a4f1399269f260dfbd37d354e5f538e88ea6f289cbd114a8625870eb174c808cf51ad67e99011deca5fcaa4a8fbdfe1af30a5eada5f8b79581a092f4018553453a5f2d4df603a838409208c3d42a2004cc0e0619205266230994c90486f514633dbf3bea493d498c8a5f11c4103cf11283882e439e287e74283e79ac1758ad5cae949895ff51ec5af367baa66f9dbf2e656cec7744a9ff2b919d9d9a5b4e7bf9bed2cd6433a89921092deb6247d6d2399b42b4e8cb1434b3aa4a44349a6c8368208253109475b4890285172bdd99288221a0924ba559eca5e07faa0308da04f7ed5756195b7881a77754c6295a74458de972b294149da48cbb9084215699cd5944f238144e3246923bd9a82317af373f655ed99e32c56ad4b0fe9f86d9695ab0de12f66be37bb5295a7ee7f97337ba144947b8cba7e3f53da1567eaa9eb98c8a45d47f8d2abf2d4243d6e9ce96fd4b3545595a7549eea15e6ab4ab72e4d5b475009330b30b7befeb598e9ba4e2895a772b48d7a56798b27499024004052062475208923d42a4ff57c9c299d0210701002d92004b28210481348a480103ea63358e52d7d84ca533f6dc987173c47c48051e5a99ef4a7adf8081310c28dfa4f5bb7be205387a27cf25f1b0dbb26f3d9e6fcb5d9410c037a2209a22752a12b530cc11804422804f488e8807d85faf352d78573fd6a3bcebaa82ac550fc7ae7118900c2be82681149d1974734f2880a10fb6209c21362425f4178523ca114f4e523156ae2091981282356609c46aa18f9cc226ec499225520fc52d7669e222f104697e901a1017360405c803408fad4cfe753057e8f3f4d469f1b60cb392256e0fc948748eb39224d6003f268280df002c2afa9b33c0dd06066710322f02b7b538d69c676f30c21832194f00c1112e20d2154e01162f6a7e6a7489e217a0cc9c1902943880cd161084264e01122218411a7388b09f10481461022f004618320e2e92d74173d1341a04fdca867b6a5870168f03020060ca0c2801e3c0b608267015844cf7edd5f4a3aab43f8afdd2cd6d7b709b1d91710c4a300333c0ae002ba4701ed01820b40b400880d4218332b12d593cd6f7812e0034f0236e0494013091002c22844881021d86ea79a9a1bbb9d6a6a6e4608a0c283001a04f0e0f9018d1faaf0fcd0797e08c1e861d83d0cff95f2595f4bf5d0c807cfe383108f0f3e1c800807e00ee0e2e9210c3d1001423801e8e9e1f640c46380274008fb536d73b7673f29b70d9559d4902ed252b69196326ea953913eb591c6bc49fdd77aeabdd0b7d1183f677dd96eed218b378f498c68aeab8824de5f5a4412af31e538bf2a7b3b49738ce9684bb8e534f9665bf2ed5fe66b9867a36c1bcda6af65af0f23184e86677d7a636e3c03d020f40ca0c97b0600048cf5531e010840005ab4f108c04756208458953d3c78f9bfcea9130f3a78766803c22851b24b2399539b606848a786b9a9a1e9524dbfc0cccc8c5c1aa6c54492d9c1023bb078744883470733e2ffb5d9eb6fb233d27c8f0e4ae8508327073060c4b3ba46bdfb9cfbaa4fb75be7f5a77240c283431c1e1c9600614855e964b59755b4c5dad328db52b6a50c2b90aa02216451b224e3bf8f2db61c8b118f45e7bc0af39cdf545769a55b96d94b55a9aa5208a112e801801610001a008c80230f007680b17a2a17d6973c366801599f796cd060c4a0bf96fbf457dd63830f48404f0d688c6ad0a20699546722b581d40121acf100310346251e205438cb08f400b1f1000902a37b7eb8113dbbe707169e1f4640678d589874a0c7c7111e88870722c103a7f04023d2f0c6575b6a97253e35f15e9193d0d0041a2e34e8b0071d7b3c618f2af6f0f66039831c6708c11968ce000033bc618630b0b7d9b408d7df44ad2596d836776923bd441b69930c85aea598d6749449647f1ba69bf79be750cf8978330da15e422195a12b438b1e67d043067aacf428220f39f200230f99470e1d32ec41061b900123c31063400376112319dd1a67daa1284126904965b74f8dfc748894519ffa3689435426695167d633ea7858c1230378483c5ef01872c71d77b4e08ed31d41dce1831d70d881043b3a3ba0d861030ec470013114811dda367799d2d7f5399633d51c2135404a2cb62914c2d8bb6b419fce985ec702b20ea864f326074e0d19a2810000000053100000284060301a904945134aa97d14000063c4ac58c54214a871cc21848c21320000002000000020007b8bd361dc76cd6ccbe7d1b16bf35b1cda9cab1b5e8e9574a58e1051089a7a5945a1d63bc72fc30b82889d5c5dce25730a234fe9597cd14cae5cde8d4109dbcd620f06c0e6272639741c1f2a132e3f675f5ab83b6008245de06719e7d6c6560e17e919dbda5a6faf7a6fe94ebb96568f495b17416b34f7706cb5c29bd413b4a5138b235843f57c875716ac208bf256f560757d49426c403a7f9f72d1cd288aee23441c92f8511e70a593056c8ea88c89fef15bf86ffe7328cfc6b42d6a1a798b8c200aff3c3e0349646a92ae46168c8a72853c727d442927bbe99e615e059372488a169d18afb3c82cb16de8b7acd3dee974ea3dfd5c39ac0bb523fedc89392f5e50fb16de11c1ce9e8b0c70149997adee5a2ac402246b7009825f4797f8dfac03a8bd7d596286c5106b914924a2dccd5a0d3b7fdc9f294d5b1c2341b9136da41ec0b80e541ad600d66b0d23931051d04b9a859acfa1215d674c9cb9497a548651467fcd56b901daffb45dddfb3dc64406d496c9439e258dfa4d564505584fcc66bde35841a9f3a471efbe29c309a098ed7421f3d6d5eedba79ce993a59a8566592e2bd51255df33e75b1da9bd7bc109ee243db9f40a3031e14aa1a463ff5ba1882e238fe99611e613d1e7a647733dd89203f28ab438cc54d84e5c8810abdfe67bbc4c1aeae76879f5261c1999d882421e71b9edc66341e307f22772ed004c171284096ab1378c7502b5ba04503740f253bdfe2c5d8848170a45983a279cad0c683745ed9e9ff65bcd4f1d327800ee452f3a2b7e80df3a29a7e6ccc3048a492d3dbcf8bfee0457c685bc09e836f203a526d9dedce024a2ea09d285d52dbec3b9831a18148e61389eecca8f187b5afb751b78e1dfbd9af1c5cb10dff5d02265b64296114bd2b58e6c8a8afe4d5ac229cdef9ebcf1ce85fd424cba5625c2d108a1e329b31ff5cec8671470c0d8e000592c5092ac00f968e8169b5a62e9c2881ce01af9638ba553a850af3b872ad51c04e32d02f2a4150c71f490b5562ccf757ab61144a8fd07e6ffe3f805b31e0379fe989c82e640ca475df93ee633fe6eedc7a86af4a47cf81e75e049abe4255793051ba87fff96740177e572021e68d475a041826b05744096e4b1670e7ebc1464070865f5cf46b37a3c7c5777107d6b0df4e20dde40e6d703255110e0e08e6c3b8547c6e186c536667d5ea8d586a70061bd7074a8893dc3923e315bc64a4b6fd9c4de41da6351bc2403a42f0662da3a281db0964af4abdfef850559a3a55dcb91abcee0517a2360acccbbf3075b2a98bd600b36c24a874c2d2175478ae8314fbc122e3b550e1ec03d9053c525f44bfd0bfa7ecf768135c8b3157f48b8f548898fffbd9d5da8ffcc08ab3b31f945d7236f9eb9e4a70db4d3f63993453a47fe38755e4995114a81b61c2945980a6c5cb0d58726300521602044cfa48b027f00f16f24fa183c1056f07fc1ec0b0bde47f4f253307b5c9a8538ee7bcc561a1ef6dc9ac3a04c706089b7a1819d7f6eb917ed0b6ae5d1fa08097bf0e3eea1121ec5eb0d9f5337287d249a3f1863c71e5f467c70a4e62ec4716644d282295645283817094c519a19785eb951e22937027039d46e7022abc13a4ad1897265d397331d1631759f3d389770a05dc363ddcfd4ced8e88556cfa3f786b8b7d7275f458f78072f7f1f5fef17c1583edcbaa0950d40f6e4f2f7f77f893347e971da47e6163abe901b8816ab59df1429d3039051f83c2ee6c35e0fab6736b0f1f5f99445de9077016c18c35302e3cf1d6289407951fee8e6f9cc96e8dbd4f78e8936188c36b4b3d22c310363f9c5985d740d8413d72d467590b2ed8b324df32e96edeef7152c9e0b1ee6e43f01163ad94784661830ade76f8cf904756a75a0f908e86052a4d2b597c1f681a81b88c0dc132bb9ccea3d2b958044509d321c2ab3eddb2168283748398b03f7baf9c98aaa50a5dde4d645288cea7579faff3544ff9b85282bbd0a3e13d6411c3debe90baf9c4d2f19f1fce11c8c4b3418fb98662dd4f8d0ca3ea334fd49a9ab11ff937e08aca936379843850a5dc608e809543873e2892cd702fd69eb634c56c4f6cee8103c439aa02f525f499c7550c397c51cdf50d88ab5cf93082bebe934633162446f57b33a84e826f7630d109b090685005e432f9a75ac444d42a33bcc1ba49f0c57e5ba8e82cbadfae5018904b8321a89fcbf994e185885e1327d3d344b93da4af6ee249ef06363e9cc12da1e1d153123341381b02d2125ed9de181be18d1d38df1a990e89a7508821d53d5ad8923f863ce644c7037bb29a4e247996ec4628affd0151348c1a3aee851545444836e6a0515e7c518806e106a6edf3b0e4b34ce20d2a73fb64bd94bfaf15ce2a5a51ce238693d198e90edf10cec71f00cdfb7cbb64fdff91c47eefca716e38a85e985c1f715b843c41a8e249e1d4dedf51505e38dc1c922b115b6db853c567b3db9567e586371863c63fe347a3e0f3eb4561848b031ae15aebd78a6b67f772d994bcc83a369f0b7e16843402bde88f5d10a6dacceb599c30fe5c23722492db37fff4bd3988b3fbd3046d5f753485d5f791ea36a44a96bac395e084d8326996daa7737c7739c2805fe693186042990da5b309c0fbabbf501ba00ce0768fdc09ab6bc9df32ce0f79f80916b229421c9c573c3f5f92782e72c718fa50598900ea97816f6e2579b42bda39c9c4858b98a83fb235b1a2b3dd20b2bf05ed1c80e5d447630b1b5ff0de3b23721faacd662d6cbc86cc6594e37c2bae096eef47dbb0f71b9a7b8a6f9ba824f79c67b6e584ffba742ff81cb2f1fcf0610e045b5a3b0bbdadbcda9ca95eacf8d7e44fd4ade42a987f61ef5c235c9f1f4aab2eec62a69548782054e8206dfeeba8c8e8d83df63d7282d53688887552215d2c19f08ba47efb310bd8086e31f6355727d6fd91cb1d0b9b17aa0d056ee1074a8de1e709c6e3dd8bbeecd26fe45d127e6b2f367e56982eecc4ddb75344ea37d1182beec38d668e6a851bb1a41cf1a1519ff0ef0282007fc37d8838664347f5cba9fbedf08ea007733a290d17de4881ebf1e6203600147eca31e573c8aad024c286fa9d316f459b14300fbee4adc71476f77fa5ffaef08060119e09fc37467e352eb42050240bee1a0f31473ebc9d8e2ac4a45144fbda2f6a2b2629fd141ffd197a1efd4a27f536bddfb672be98dd7186903babb9b1e2960088246230c1bdd626b2ae15aa44748661a295b3066b7a10b36ed727ddf5f11c09f97f5e9a0ab1c4cd196477e1150c29a3ab140e0376edfbd31a2363ab33151ffd3c8705c8b25b6dea63f313a7ba13a19ea62823e36b6b2c5303dd1f12500afca82434b933ab3a401fc337facc6a0f6aaa89974848c778ca05b19f5fc28bde2939c4813869ab690d1b6dc00b427a40648bcae99d29f7b374926106c6d5ff6e9abcb886e94eb65f5dd0ad01f801db0172121349ca64e96056a5054478b89abc567fa3b140786f3e60fb2beb1ef990cf789f956d965d2dd1ff9d405a7d4b8f13b8d24184e73f45d5ae80c38715edc7b269bab8eb7bd7c776a193a120a83a0168447f9f00f189d936d366273098468847a50d00f51ca6294c4f8987a249b5346bd0d3b3798b779930a4fc2d5209bef89494774a1c502ebc2f6f09849cf5f4f5b3aa15bdb2bc95e44a2a80fab40729d05ab076e4602c6d92dab88a633c8756b0f446b9f94b77e23deef1bd3a7af23f56ade356139fe2035a15994b8661877f0a334ab53f4271422c00c94703f6e9901e398514ae0948d3e78dc7f6d2f98927fdd7c961ebaecd152714aa17f9249718862e371f01ea443d92a43bc6cf38a52d3836b2bbef6a6758571f2b39a189b8deb7c7b521c6a188c804720d9e6f14ecab35c595652283fa1254ab03e86bd8d6b97e4c5dc7282981fce8e569fb2c170af0a1b21f098e63054a0cbf4e1ffd01d926cc7e6a14b6a8084bdc469ec9d49e4a28b7defa3ddf54a896452ad561194b50e95d046cb27c361484b2b496d7d157e13108144c75f1cf96835d1998007886a88c0ba1230d0889f92048652d387f2385313eeaaf490d071f576b4d21587f16910e2ecaa9039cd284902ee500afa6873f10910b3ddbfa9eb9c0652ddf4eff5737c083953ae93d5b56bd0c0415e0c9a960ea5c340e33fb9f932eb7b81920acb86e0662ec8504f433feb1e4a1e8b03410c6223522609c5850e574b3bb47a6ea859c4c4b1d6854e5b35203367ed8f8e000f9db012962c9ae5470c07c45c9ef7d3bed4bc968b4722135a03fbf5ea0bc518dad50f732cd3a4cb9305e5e3417a523c48812bdad1645b2a5751b05fe2301ebd973d5778455640e2b81b11667b8d7fc7663cab0451dcb3617a8008aa3ec657246daa0bc2eb05216aea209db1cab62b5c8a8db1ac339d93f682ec5b1ce4526a00e92119f938ab2e86342fc5aa43bd85dc19037a70b91a45af1ab7832d4c9d3e253436274086fde762dcc15388b08759b9dc120d03aef3a392e2bdf011a9a34182ab659d4417ef3b14ddb70d8a0601040c02952a884ee313f266f4c4e331013efbaa933cf7d17c353eda92bb06baca75e4a2c91fb038db1ef8cc638c60c50ccd484e3cbcc0f8eaf63cf06bbdbdd7a486d64282b85e923b0e9ee4e7ba5f8e904c27b1118407016da255496bcad7e0fc09e77919f3907224b47e75c63a45dc217e5af9e7cfc922a2f3886394857a901b3bccc8b9a0896778115bcdd7a6336481192328a3d49b68029f54898c248bc4a245dbf44b4146263e04a5d474d19b1ba90a3bc9a5f8a0f20e608fe648d7e0cd2f9f1451b02659ce3a7f3e6770e64b7c824670b17eb8901ab85aca3d42672f1063aa05d28300481674c76d0b78bebab24d26000f075db31a978603dc068e984a335863687ecce3e9bafeb9ef2674c915153727797a7b9443e121144aaa50b3f0c8d0f038ee5431422cf3394308b8fce957ad345169df42c3a14064042ec5bd2ba4f27b5609f558d932531495f473389ba6cc96d92095e2b893a3ff4e55a40e43b27a87c51fe152716b3a2200e5b4c108973d2bb78541cbf23368cc1e42d7181b34730b8bce7bb2131593830eeda42607ea3952db200a36bf739bd45f95449b53f6d8179a5382c7ce9b943d7a07878abebef465f47b44698d6d535e984a101f49f7312cd8dc66b6bd7cbb51577f03f64cc40ae7be853eac41e64e3fe078db9cfaeadcdd01c603abe35cb88c722064c72b1a3dae646e90a6e396078dc8a0ffae94dca233e78fd695fd15c2d595fa3aec24c8764e62c58737b52fc24f6d240955932acf778c77d519d297fa180531c835792e98502c1c9859e85165d10915fe5d9e795a2b1681b9dcf4e3c10965e92298f8448bb282192ca08db2fcafe767c88597197f9db973b2374fd517ce70cf53a279435b5c8db76dbda37f61d8f117729e046573fa5d5d026963d7fe04a34da1753d0167858ed4f4e83b24b4e4cd8bb605f4233d7ba26270739409e0c73a8264092ee375e6e0c37475b7c0a268c0c6485ca549a1db334fcb1db9bbbdf5418fc851a823a205f7058667c6a8eea01334be9e0d7ebb88be29d156eb7d4653cd37e869f2e3a24bf4d4ad9879932b129b89c929f4def29aa4ea2a7a6f03677abb0ed372bbe3bb496eb9d3bf669a078aa172a474f9f20e644823324a7fb8dfffa91fed32215ef4b46b88ce630071464ca59a7e424f30f22688b43e3b0d863e44ce9b0a8e3584adb6b7f8ad3d3ba34585d9ca1925ee302efa3ca3d6111a06f40bdc4ea0397bd42a5718658b8484e369f9b5d9c02fb8d7bc23aec7d681d1eace497f8615e2ca65bfb5fce16a7aaa3f84c21037f2480b570d75ff609d5d86b20eae790d0435c2234114c07c0d1647943d8975d8ef8ba888cff7be4a0a09ca863acc506ce055636e382f36f669e4b688a1718109b64037073c2c4b9e28085cff5fdba2d88a5fee99413bfc8d46a800e20078a36a3f2a047af1c129b99dc4f8b09b501ea30e02aa2498bd56277f2f5a3b1719de5c7040422a6242cf90c30ae10f4adb3d399bbaf8ed924ea23bebef7a06c3bd24ded500d70447d84ab7c812b45c05937b90685df20bf43eea6763850b4404a9b794b7ce823e80ce18c628c0f9a9a3b98d07bb6000c48f2e52945a8daf6566fb9408b6af244c56f7e520ea56ac30cfb51a7ad01d61e34ccfcc63233ef972c4d6ce6c526b4d368f30dcd4c8ab57be9bcb279b0890f6995b5207414cf070b7abd733217ba7ff5faef7402e1c60fd4930240912f3dfaf09fed1e6f45960be0f7d79d79b6a45acab13836151f4f656f20dbe6c6977bd4ae2e73bffcbdd46c9282fdea01d01d6c064d0e5f36bffa214efe68a98752fefe576cd5c3a25231f1f05790920d37516f5518d52d0c790ee58b8e2a2b15d3e1ad813df3b7353a3f2a1c66229b2855a364541e89103e4274b9d3de0e8ee016b5f1c9f7a1b9d2f9929383a2806de7ad09a7f9335b28fa3556c6d6b5dbb3dd5270a662335426be3fd16de4cc39da1beee9361607ad3c631bd6eae0aaec4bd67400be126b8ed0c217e0c56206269da3d81ad1128cac4c45f9aafe90a85a574f858e9b127b39cc082700b31b6c69f1a3a8388256ce635fe53d5b264d980b373b280b25c226042d19e3e3e286e6103f64eefddd833ea1c47f7861d17989c9b1bbdfcd87e9d66023bc857702d47161b71ea7385368a2ea39350ff9ac7181656c5c1f48812975468777fe0c309af25e4f16917530645bc13892b358d1306419e9195f4a8b2c61d48e94fec4446fc9241796a8107e65a7c0c1a5e015a88a89e7c7921438a070529a016fad13bacbde0c390be627ec135576e10be12df42d08c39d6615c84f61afe5d06aadce97a0519a71ebe4ee689771c64e205d3e11b52b4386ead84e2c1106c535e22babad215bdfe0199f60f36f6048044f76b2c62b921283090df8b0c6dde3f4fc88997be7739696a63a4eddccba0b0659655a955e48cebbdc6aa75d48c58ddd71a0f9f48367739855b8f35b60155a8e85888ed3b5f6a8fc1153af9ebcdf63e50524d90616b2d2a064a7848d706b1531170e1d5e433221eec1a017c8c109a376a5866ff1a0d7d752dc43f0b3b1a4a5785dd951e2ff389815dd20b2897fb42d123ba4a69fb6db85f66412146e6d53615aaf47a12a8523d1b6fa50189a690f2ea3e16ca8ea23129287b9c88ab5c2bb6112588933c80b62a2359cadcc3e97d4348e8453b9c73ee53f33d302214de9b08e5c4506ee9894b80e12586a6e5138700f95cb3b9984e6cf4c67795c5f4bd314613d324b71890b2ea7c9a3ccb08124bda0236f914eb89719049ed8cda86805bfaa1309fefb05c590325d1d032836847d0f0531c7a88b52cdbf848b20375be59a6db3e21ad5a3066eb416611d79128126ea443d6f09665a7093a4829f93a1b4817410774d9f367f42c0e41a35ea1ffb1eb34de39499de788f3c9e051bc3b106471aa22eaad1c0d916e61c820f88d9279474d7153010e316e824ccfba614f7b4e75e19a8cf3d8cf705ab39f26939f741c885dce31e28cbf40ba41eb50ca73e9a1bf113a65a394193b855222a5a5701eed274f408ddf6a3c0a16a0b4f45a07c6dcb8469ca08216264eea49ec8543c31724b99f2601545e524dae83348ebcc617956943d4ce37c9d5c44bc74486e8a0936818a5fb0c9d3f73333cfbe3658fcd49aa6d1ef1d0dd0b7e02195cf72358bf40528002b3378cfdb536e55dbaa7594cfb58e959e8f654c1bd60a2e27be84b294a0027ce90a1c47872d26c8275ec21640c936e7757416f950bd0140b03b68a77b8871c38488a4188afe56896360181387ad34bba11d8478589333a5aba6594f1094be37fe68201123a02d892334511a870af8be2dec7414c0612577fb4b788c127ea8caa886e47d51ae6756ac60de90c27ec9770d5da3cdaf22d6123569f1651ec134730ad75a3e0bb431aae006c23656c0fd8aa35c3633856f4008efd01a79099d5a1ae46bd7e8aab7d50c7ccaad44fa9b1d602f24c10bf7bf04e2350688ece44744ec8bae5fc1991fbcbdd6019bdcc58dc073bf45efbdbacef6767c65f17fd571934e759cf4a57cf6c27c546b0dab7e1ad20afb93d55b517cc1d8430dc0bf24872d7c32caca055690e35ccaad7a1d7cc446f52a9750280e7f9c84fe9a16c4ceffd1acead16edaf0dd012bb79a794d13f626d9dd8076efa4cf3d80767473a2c39d7349bfe045c2093270a0545d08b7c111bfb18d9ae6be1247ff3a6d0cd1b12677ff5ce87674ebc1756f5a372bdbbfcb518f7c2e537ee38f6ed8d118da76e240d0e97545340c5ee17a3a61bdbcaf5c1327fbc99b23d8aca70b5299531c075b931e877055d89b936f5987ba5c1d543fbcb647dca4271cb8e532b4799c46dcd7338088f14e5e0812a4ad0c456880038e4cb9b6ac0c987b67e48bae0e3ac4f835871a3deee4816f450887d4a0cf19656e155395d7ae94697ca933d0e80ee66383986d12d9c20a9244f3e5f10798d4818da4633e5c36be1b9b87eeefeb832555fbcc01ce5cf9ef06ca132faf8134637e5a9f61c260338137f0f0ecdf3941ff867908b013a7484270e864b3e5e1203df83a7b96471cfd7e1dc41ab170181e064b8830b89ee111774bfb952ccfa4072dc0af64dc5c0b8110793a46d3acc5d21e41b0c9a8fee55e1e282dcc9c12446a4577d78d73370769d926813b8520ef172bb923b11814306567512089d7d0f617021a6de60738b1e61b45c70e35ac1da6c381b8c8efd78f5ad4690c5ba7396d3d0962c9a4031f451d2df8ce92eadeab1005584e12d1cb49ec18cfb16f114fc23b5d52d1d89eee7e69d19d33e369d2ba8980282372c1833d13ac562d80228f124f32ce58410216a01c868b2ce2d4959c24693cd81b42233381fe3de417357438c43391059e3d0c86b63787fddd14dfb0175e42e9f39ccecd7aca7d252dd22c3382135775b3b9e39a35829fb8d25c7369e33b0eac144e67493bcad08b424fa83210807ca720d619e18cce8e50d9c0a7e8e5b97cab0ccd1d4e2d249209802906f609f1bd5f65e7493da6d678dbd4fa47730e57cf73ed37b221546b26012fa901482520e8468837b9881380632f2ce076923b8596f215aad570c53f6a37d06394aff61f7a1891b01441125fb2f0c8783bf6468dd7b2d9feb5b62c7f63983f2ea675a19d8344b9cdc3caa884bf53fa2badb113340021107cec358def6f0a1b2be839883b0299bf57d20f9a7c735d3dfd81f923e8ac9747d6118e172af37c796ecc073eb4cbefabf4ab3169c1e2f8e80596d043708d3d70bc1291a76f1bcc550eb770823279e1608821b9c4cc590e07b61ecfaebe903a54c54b5895eac03bdc45f6009026a67f544a5291f596d1b12edd1dfc709ecfde3a18dfd03f8b7f9616fe57b27fe7f8a9667a6dc7d0bec8372946c8ff334708ab058a59de7e5c00e7c5f57ebb586dd0289d0fb3c18df80357fee1e831897ce0b9e99e0f9d961ea92f79dd9c3a0c1a773d3358b4ca2471b31afb8a0d387deb3b05ffd567f949ad0cccfe6d138b9d6ee0bf62beea2446558d42344ae45f81ac7fde1471bfead45a715b64b2c0e7ac70c2503f909b177a197e871da658939a11d9c8e790c93a9d82115ce024944f03327a9c3d2bd339201c22f45c25ab1f888239ae3e8a9854c9d388ce1efc6ea57e6252ba3fb477077838f37719e4ecd83b176f0f907ce983042fc0b98bcd33c4ad456db8a608a02752097497878b647457e708837cb946cbc2330902bed1108e101e8ae2f469be44d6163a793f68049ee4851f1a3938222db14a8e0ac321bedc2841208b18f64999807b8167bf2022b48103afa35a4de864f83c27f6702e61afab933ac14a6b61ba765c421f92fa97c7f11825b9726020c1b82dbaf8404b0ee03c1cde3c8f54751de9bb6bd5a0dfe424d7859bf300fd64c71b76ea3715483682768af5af9d4e54062f445af5489f17e3eb904012899005497408eed817e025dc845d75801cb14add20d6c8681f6f92d5d70e8b13effc23e44a472510fad99633aaf3aa13bf3fecb03265f3579af8c8f4c5f15a8808400f8c9f89ca5ef5aa9d32bcea8aa61565fdff144941d4a5d48b9d40f5f3044ca7afdf6d1742b18fe398268c6ccee60f0e5b0ac74ca0b9edd81a96bc580b39056a9c277144cecd84ca1237c44c6ce2ce08487dc363c75c6580207b7d2a34fc0e0ad78e1007c0a40b22748f01de879a46baebdd01702335fb3dadddb3903985859bd552c408bf21a726591520998024e13c0f05355fde987b31239c6d4f9eb01bbaa9f6dd09b417c10191653bc1dbcefb6a12bfc6afdc0f36c219d364d1aa4b9e4a32eb3164529e633c6d94ac3d2bf4b1067970076182cac95997027bca32a956f2ff121622262e951603724da2a7901bd41bec5c481ea89a624381cae4c1578d24549011397b5ddef8e847387dc2f74f83aeaa3a206335a3aba2fa3d1d1146809656f758532238dddf1bc251e9531f8b352dc4b2ca180e2ff2a6b9126a505ecfd68cba3373c2fd0422b7c64b0f41c244697ca39a338e9f3e7d9d039265830d11e8d790cd8b169b61d65ed0f0b7ca4698c70567ca7d64103a60792a7e96bedc148b1668bd7110f577fbe29a170365a552c0d1a57922a1315dd5760f84a209b94efccf839c1cba7c9c61a1691d53a8053f952fef445827e25a94cc0eb15230c0403a910341a7aae0eab03b6c3edae88b6171146b6540f4443b2e68a4b581b3af2e381b60ea1cbaa827e5feff11b386370850613837431c771e21d9de70cd8ed608d3e306ef98133a81105c08ffd98decd36e789030bbf134de5b15d1fe22edb6a67ea0f8521c2b3a33047fc638b8ea64918fc5a0ce70d879c868c01c084a2c7f8ce121e8ce6e6d1b2798a792c9412ebc10943fd92405f66a1251aa17712e50613832ae3dce727447106896199afea5770c3571d02836dbf20252760054b014f2b45fd3486d35af0e27bb754950c135d8e5c603f5eba5fd9013d945eb354742b17222efd78f4e055cd09858b3103e652f978f8a18c5803eb11afa2d1804bebbaf8862bd6949c234fb46643c0e2353806c4143a282ea4696a8a71fda01f715d1917ed88f121ad0687e1add482dc3352ea03a9f383e181c87760a3009a0e45f5a5c7a25f5d9dbdb7b8c8fc8a0e4e1775df7187235f55f69dfbdcf040e0b2d979aaa4816251e5b1becbd3dc9dd84f04e528d9d10e1cef9e1b7a340047fcc1e1e32b4afd8b639082d4ac2cf3de3fac390076ea0153c711fe719ba6701cf5bf078817c68b61a01ed8329e1377c9dca21a5840b4c86a46fc00d1a42e4335f694aede3e18bef7b138f8a982963d82ad989876934e6f9ecab725580c1067881aedc37b3010ed9dc5568af89558e36ea32537537d9910fadf345d35a662a1382d8144ccf600bb5fd69a30880beaa5d1deda305fbf20edc85d123d2185ec844bb51b95394dd6498ede2c65f779e7738708ca4b5f618a426268ef5bc2fa6a18bc9a5214e8f883871bef6034dd5e538b636d8428e048a6c6f77a634ba1761f94856d5b967048351d79a0b1eaeb99245ebf0198ad2f09ea62f668440e1cbc153f5d8421142ca6f89668aea083382d3ef64061573080567344871add6ebddfa4475308d0cecf3f52384754bc2fc572deb0210393092c446eef146eb52a084cd08885bbf6bf006c858983280ac04a943be7c11ee6bf3ce1b84fae605f584a3d29fa0bdc0f64b57c59a013132ea9e9189328930cd51949a70ecad1ed3ea5b2b44f1b13247de3842dfdcd6237ea115266abd308e603662915e04cc30758853f34e431d3be6dd681f29865ba0ae0ff0efea412c5e603bb6d33c6462d3347f71b306788d1143a9dcd15ee318620dfa00635e1cddefc186a0548d9712b517d1d9e1617c192b6fc0421947e0965f0f2b0ab53b5e759433a174c5606ddc58b684dc21e76f4694183423a75c4835ca847c43fa1c6fd8edb19b6dafbe0dad764a70021ac34fc8f8aed0662304e75e1962485eef21d5bf8d00a994a604025c6b5624ff08e0f2e3ba78fee2b88e1205434f3565a12ca4681ad35808a5923937383c566126d224d129bc694a493f0fe9f7a67d67df1c57587de13e14ec72f411d8191a060c8f8a2cf7c6dac2e3f8a834014ab9afa11730000f6b8b79190894e3113fc041b449cd7c6f8264d89c437a5f558754c377b8c2fc8466be1b7a7b2f95b9291ccba54205882dc5bb29ac13319784fb70b0d2b7a978f3c09bc43571b04b344575abbad826ab259c42abf1b3032d274f621261611cc29fe64068ebcaf66c2b9f0f6327442be062fd9a06a68b11377013c6573b3bdbd15b4b7c916a09dcee2623146ecd3cf56f6c9be0fbf0296edb802872e147c68a9f90a25470eeac242d8b430fb8c7facee944456085f1c6bad2b680c350ea2f33aa293c2d286955d4a45a1d993df40df8ec95778e0507d29d493bcd462c2f9a0fb02cf52b36e62c477745890ca439ee2ba9091870e42b016b2e39fcbaeb481a7e424547e4594b4a48aebadd7ef4b7c395d4fd92047e1adec19b45b997776adcb43ddd46361605a72b58b643e4e067588fb81074976ef6a9bb7d55b69bec2e23730d6d1701a8720a0bd9605c2e91479f4c343dab70cad2a7ba86ddaa21a2671c049ca406364fe9501fefcfc5a3b2a6dc198be5ce3c381d7fffd603bf40203fceaf37e02aeb398f50f98ef81767a9137dfc73abf8067a7a7919ded2fecfd37851e564dba47eca0dfb3b56babaeeff822d34cc8d914cda02f9a133242b67b44f5599a83240d9d69726fc249e80408a23043000079c26097146c9460b3c4e0f41ba2212a1d128b3e23d71054e2292c018f29a1b161c8c22b33b19d6129de31b7b823b9bc8481dcaf0cef33facfda5a9e4a07ae1a46b735d2fc38e1b3578544b104ad8423901f4941f060735acd55375d74b98ec1e4cc42b2029ddf0df2b91f1172e0ca12c00fa3dc734363fb0e6c8fe88b03030b10470a3237c25ac7d09c496e6ce63aa42f27deacc1b629ee4ccf775bd03258df9168298ad8ea37ec6160f6bf085a4b543fc7b61ee8b1a3e0d4cc92f02564f5c8cbcf7516c20ccd282d346611f5e7e1d4bc1cfda1c6852f14e368453244a22303c5e967221a6aea0845b16a0a0e8af6120b331babe2cce04605329a0ca3daad2315404c613f40b7d9b8437eb978eeb392a08e756b21683518d451c62876f00c2d233213e37b2e3ebdd2b66d8242b01a65fa6f3ee0e35edd2ed95a4284dd57ef85c984bc20a34c244e7af7454c5b174614b744305d2b30c0b18f2cc985efa9aefb7cd0f9e73ed6aa9e7ccf8839912101162e1d05898124cc427713872f91ee18831a99a339d83a07d3b48df831136bf83d4e10d8ec3abc820103b2b34c55a08c8e671309a83b10b73bfd9e280c27c46a7dfeec19bd8ebc47e46416376fca6607983fc24df9d29714dab76e9a368849269f17f67d85bc02f0ffeb8659f24f1561cff4f3970d5d4c4432535f8f42f135d5bf6a63d4ff4a3fee7d04bc2b71f66c4ea37bd8175336d8fc8127920be04efcee35307d587e2395cbc366edbe6578b4eb04332b7854fbeadfabf8dd592d652ea8e641eafdbf2e54fd9cad6aba110f5f7e8ae7100c571bed8d2d5b5a083e006e8736e0572076836687ea41afc5c5ebc4811d1c659d37bef461bc1506b5d2a51324147d2a6d95e942209c4dcd701b1471d3028f1a59df5007c12dd70469bd1271ce2842392b7608985c3b03d1ac474cfc7a3316f36904c84ffb0d596fc1cf96cc4e48f9f11740a76fcd8c8d6fc258fc1b5322edf7ce4a8a5623a6ef30c18081dd75b506b1b7596e091046051642fd6845d843a124a92812ed68a36c75ad6191d96531b41688ce374160f732554ddf92aec3a421570616c5bdc8087402b13563e1607209dfb420c68d07aa7e02f1f7fe01085d700da68e78d0c727122474de4d0c52459635d6b1e064e70ba083d52b072d20daa291e0878762680c58b7873e29ea727e5aefbf4e8409acc907b1fc07319e761e22c1d0069787855ab21dfb5f218b40312c39a3ded6724d20d7a8c1f43a48e14b2201e10241c9429b05a37a935071210ba262995647283d85b7e3092f768de172f2b2d3c34269c08f9bdd29ba55253a5f609a1b64c99a15f03d163fd3c498cbf766f51b3c9a525ea481cf8884295f2aecec5477b824f13280f5c857251cd39cbe594b26c827db33a1e298e5b1bcad428fe4feaca65d6c6ac4f6cc71a49fb40f99fb6af269e4ffe71c1e36b31bdebb3b42067c43222e645a075cd84c79cc3ed3a1a680567a03b7405c9da875867e34d23128c9a4b0e0889e21a97ad54571eef3e582f65869a326f49761100501cbb8da1ea46413fe294955c4094a7337e2af11cd0b0102a713ade7ff0d872f730f48e128637add3e25fbed3ad53b0afc2de4f9686e65ea5aae6a9731c6a821845b107c9fb0395594c7bbf9ca29f772e0103ce9db0b0069af3c05a67c71b9adacec04128a0e8c5c7be16d9a3d92cc2dff2431d7920e04032261b174af801203999ce47b1bab40f134b6b230324c85840c2016c2abc1f60457a55a2d1163cab8ef83e4858c7798256c4e5cfffa7803067c23b667cffe1f581d2a2f43f5410fdb1bdb20fc8309795ed9a5b632d07ef72b71ba0274b084b613a30f047258bd88d0ded68ce5e161d121f4d2097b100b5945574a2055e1e4d340c515498ec709467f9040c1307ac456eb812b54fb5e48b0a5023473a170c2c350976c10b6e48374f6f497db0b84fba0772be6b0eafbceb31dfdcc7d1eeab645198b61568fa32cc91f67330c2453a8655aa31b4732ff3f946e5d791df188fc637cb28ef965674df12bf89dcddc31401df972d9dd063ed5ed07f051fdfb217d6824cc22b31507310095be45f83f9368a879e48649281103a5820f69df5885b8a0ac36115b35cd54fef1d8d9781d9f7d57588344ea30efec9cadba9b4ee7b26e3a08c015afeb348e2e6986e33658463ab29bb5e59d7da35c7b6507cedd34b6fbb862e0d957a59350a6c03aebc37cbd4e57581d5be41e656fbb70e27c3d143b9f9c2dc5620fb4a07c81fe5188654161e951c668f6677674bb2f6cf726d99d3525453d5deb6a749fcfa763361f8c452607dcea082b2010b52c39f8f3883310c67451a8b6195d3458bb2009511d44346d3b763a4a4a26ff2e939a9d2afeae558fd8fa316b7b976a50081612ffa0abf73cf2a722fe3fd14ec9ec1fc7909ca9707e6ed63762f27bc39d47d09d2ba6d531718a7186d919d9d00aea0209a4dfb841108d99e72872dd4140adf7d6526f8456c71675b97361e77a41a1826b8589dd82244202366eba878f7990e5be857ca72801a083246540fc67e2350e52bd3ad50b4491d0bbba0009ab6f433a4cc4140db1cf5b94861df756d6d3714be1e2cd547c0d307ccc117c909607757f0fdd5eaaf3653c2c7c8a3fd829ec29e863d8533e0fd4e8aec302ede0d2db4f72e0820ffef0109c0b23ee56242af6cedcebd1fc0324bd4c1d92cec73bf997d9d653e645b305ccf7015ecc97f71f5fd2db9769f19e995cce15c706713efefe3ccead777491b711e75d2dca1511737a3ce4f3b7bd93d13bb0474c52172f18da6e0c71b71447b166b8f91b2283227c1d5b75e25421f06d5db5e88669fa467f2a24527d6729951229d8b8ff08d09dbf04fbae7be2625c87126765fbb7fd08297fee0850d0900019462d2c7d76d8eef29b18cdf7987ef800e77613c999277cff18bbb62e0cbfd09073ec2813ff53ae68e503beed459140bc5dfcb2587ad4dc5610260ea7aa60bbd3fc7a886f4830cac270a3ceb7442d49bca3503582ea65cc0b0af85c4726881e34a8fa2400c8c6d13b6a19bc2b89ff81376386e0ae403ee4fd8f37c40a1f887bb356ba4ea8761fceb6d48b0fe5333045994350134e0364f6dc18111c8e6f7de470a71a11f63ed5598076340b5fb6bf22004090071f4cda10d85acff758274c61ce716ce43bbdb5ccf668b0d22fbe5171e3ce58557f8985cc0d3c5ec00926e6e48ad79c8bbc500f732fbee80c3e8dde0eaf1456ddfdf9d7a77b0160ff45c7847608d084c672cf288733aeee227fa510dced1e40ec663589c8175a88b729fc3f2413f2aabadcd700465bf6d28f9b8d55b82f04d03b5451451ada5711ad61df5a6891c8d888be1fdaf77055ffce769a782318889fa22e30356d09cdf3edc77dcb27664bfad0d4040d20e7c060ba774fb9415f6c4a300f8992200ee14f9be2bcbd5d529a40189a6e4a17c369f84127dfba5f2b3b190ea9a51f9b2543564e44581c8ffacfab820284a96b6a02ed31ea2a2f8596dbb400537440abd454486ff37cfc8878da3a31e56b973c8a55d0c6993a86ded5e408edd2c50c60e2a9ea3c5acae989e4f90af7eb3c4e7a3361ce159c1d2b39b762ae58a94c19acd361b9e71553656525564979de4dbf19ce3148b27e19665ebd547f37c81072ea224de7c69837299ca02d7c3ad19868d6bc2177c3733d2cc4eaaba73fe8c21cf41db61ac68e32eb36c325c7b858af4d38e1e4bf8985489235370c2e47247ed68233a1814487cebddb5eae3c186f461e24981ba2bc9ab61e92702d1a10fbc5a42f21cfb90afa807bafff3a603b96d07ff684be1af90d2c7e25c3b52f8fcbcf58e2cce70f6f5e39672400368316a56b14915f22aba1eed82eb50dd68c2c286772d62161c346c08bffc2886ab08c6e24e203ec89d8d6880ac31805e233fa5a94ebdc15d3686065f6bdec2a3fc881c8cedc0ee4f340639e6907a88c2a29ee656772d9b7194beb30f6a2972d794a5272c053e71ffc17f637cdf08e22d38170c9edd6e0feaea564c7b49e4a30ad1e0437586ab56356e1245a26100afd5eb87cbd31cdc1136a4789148f4331f01673a0ff6d4254cedf14bd427c1cfa0875ddc22982c5543d09dcf2d6ed7ae801ec5ddd07e0afb03598d2b7197e5d1ef603956aba72f4761524e4191c195681e04cb4d6f575f1f6ce43e39f3055df2974fb2a4fe702ac1965be22f82d27aa8e4168607debd509569408a830539e268d2a742ee90b3a908645cdb359a6567f0596922a0ae2735a5e00a2e50c8ab29a7ded0923a743a14a08d36fed8d3b40cbaee14e94752933885253a421b01491fb41fca0eacd9cf6f2c2d5629b05c923e6784fddd901531777107965e690d3dcb1b0fd974546f3aa7953d7a1e21387726bf587f71d394a18cf2be5447b4a2bd8501e88a1e8e026e3dba48bd86c87623e0abf65a3d083e0c35a13e999f2b1b333784c391424f853213c4bb1865f321807dc2c5e8b93d2be7c48b4c72712de95a8151157024702562057a56871aac7b80d30dfd2d82eeb3a9462f4155674416960abd4c32c109817f4895386420c622d151b1b309da7c95c5137577f20a0b9f22abb6f9fdce403d5237f3d0c06ac1a740a5557dd0dd458acdc812d7ac82a8a0b1eca4904c798e98dfde23751ee1ea03ea426073f450b9bfed80ba03e61f6a18e57ec2b85253ff40325f93dfd6bdf155b2620e8365da663fd65d6b536b595accb9bd53174eb6d96d667abcb323cef8a14d79bf237b40d9636d049211fefdc7a19e1e7756387deb92cb9c63ac52170c28335461163ecf5e1e7fc002974f72ef95cb150e1274e54911ed432351f7b9942854cbc0cf517acd8ddd764310148b50f12eac9deb8b87297453e766ac8332cb5d65372208d3fa69772609ccf9b931184d5430c97baadec34c84f10b10624c33f29e57a5d7a745b1437e4a37c66b2858d58094ab7a52d3fbb50e06b293808b05cf00671c6b4deadf40241e71f33159533786525ca9bcafc3e20e393b23ab6361006eb93b400896daee91a95b353e6e7586bd37f07e796235a38468e3c3ea7b05f6d32ddcc7bdd54245146928d1ab65e57796f0cb29a8fea885b879d88b8c2184b897537018e7af9b72b3521e3729c3d6a8f4fa8d566d5dda48fae1223377972239d72623e0f40ab349a7f41e6924c4c280f363c821b943336fd28e1af8cfd632b9bda4d15f543762dd63dc2b407a09b86cc6c5d5704c6cba97529194fa0f30851af950e81436c6fb0b20ab7d2e800035e0136cbe1bd79a484fe4931fd9da43351ac76dec379e56d2ae20e33e3a589c1370afa269c427095cc49ad41f7cd5188e369c7d2f44405e02b78f66003474cdba42b8b76a4be89c593af9207ef77a292a9e68486d2a1547240101a4d5c8e2907f2f48fe35f4430b54c87af0e932634a3c65dd141cf84fb40273451311c8a2a73a4ccb38d2f809b43e0cd432117d2341e4403ecb72a6552dda88da3020c194083b7bfef6124e2ed702f27f49e13963901f952b967f27268b4779cfb09f45f2a5f619fef1d1799c219bda6859188397d26ded8b3c1f341a9565c75a923d83ccaf7008900273ed0dfb86a824b9e6d702e9eef6fb506050957983786e46ab2eb7f8fb1e52c2b959a5e6f95dedb47f74b4d0b7c2cffe53e17804fddf7c687da17571b4e978cb148ff0f10ff5bad994008ad96083f083884f71c96ed3fac1ad5595654aae0cb9b1ade7198e6362f3c552ddcc7047c2e5159708e0a5d445ef2ae36b4972c65d00d8e9c979c5165650fb6f1f008ef9b29e821a6e36c1bc55e6b8581940d03a5192329dbf3cae395c6b57090898b7ea6be845d4c7e76f01b907ecc2012ecdc255c6433076739885c3f61b6c922312d2a23140a8270c910052ad3257df46d1e1af567a5c59762ff9e42b01d68172e1e3289c2344c5bb5c70c2ef2751660e98aeef453d2728e680847532796fa6d84d2d7b177a9d032bee0ad77658358822bfbdfc3cd0eb23ccbaeb9e71c1dc320e20068a7d6bb88625d19cecf3e04c0033c4d81f94b5bfda267ed08c9d15e2c077843a7a8f0fef44e612473cba6aa4ef588a703e3562ed9f0a2c0c18a8e9fec94a0d7af28327a7910ac575dcddeb97d2e1acf6a30f3331e8766c7bdf4401b4f85a1eb1df226edbf90f8105d36eb233e3bf43e5fc1979038be1a1e5213557196ed50b1be697af83975631503abfbc8e25b53688538b55c4ced62835845c4299d2ca7aef3dab6a74ebc47bc94689093413263023aeae96c0dcb09441dde980af52591a0545bc747c37c49a330e3b22be81ee5f4180e707649faa8ed512367a13a3334d5f9d38a187bcb8bd3bd20d3a9f5a46656bdfcd9dc702ce029d142b349098b13889ba6e503acd89c493ac8b8c56a6a93c509bf70069cf26fa158dd7ac96a5cd854b2424b47b1126bd02994c0f896c01e13756ff2a87524d8ca5aa885e9a039dc2903f6ff401bd659fddc12ccdb6879a14c71eb29847a0090ef75b126e7705945faab169b41cee95d3036524a28f0e4da5aa333c90cd57c3a65d0482e564d6f863a371459c6fab38ce9bce9575e1bc08d587fed6f8ddbb1168024c1a9f25b3a70e1213fc290bfeb614ecf5ce8c745ec4feda28787ce500ef372cf8d5ff401783959840a24f11b699fc9f91067046d2600aff9df64ab1f0a4a85f71df8e79c45321ca4925a68f1049a9f8d46c9ffa479a3178b77f1d29ba92438bb208f164fb2072971235f2598e0ccee0aa35892286c0881c796b713528b2fd6950fc838333186f41f9d91256d56a37efe2edeaf0867b334b74acb2fafc77e29dca2d8bc34547980898c1780f8d620031019543e1c052df0811c420f370c1dc8925f6fd407d98277103fb4a43e9a78ced8bb7e978cf197718f8f2d3a7387026abf2a91428101d6bd8b8fb94da8e72c313ca15a20a9beefa5db3dd544c338dc06faed63188d5323f00f64b997c63877a263aec33d4cd0dd9a90181aa3665b87e221d3f3a6819b80c3d403a42f4954b93e88bf28cf1c3bb500181379d2a9473a3e8be05438d84823bcca804f56909dd004de1814aee1f00cd2c86ed4858581820a9072c318753f77d6f3ace2b8c98119934d1778882302ba0e757385f0a5e66a6c5ab98a5bf3994813aaec226d8fabdac471bd62425ce3308bdbd44c42faebc343079cef81b71eefc1f1cb34c30ba1188e703726483faa9bcd3341b44b1622cb5c009bad8b4904907bbb81b0f9cb640bb2e2416546c80b933b7aaf9ec67191fb1a62d2daca20a4b4c75b29b1409966b06f60f61db6beecca39a2749d6e71cda6022dff208c1d3b302adc60c2f2c87723fff0f99fa09382f7ffd00f1c40bda9c082874f5a327c3c987e6cc1d5ba7e5793f27a87f394ab58e298a0607b3841c80c0d21a188b93baeeec19ccddff911672cd06d9fd1c1061b962a96d9aedd03c39f31d68543302d613b3b7f25fb43c53ffe17509698cf3155651d7642edcf7299a42b1558f4a644f03bfd91dd30a894e16a3ae15bb554a5222e12abd0b0cd21a5c104a1d3f5bce6d8692fe78755d79c583c99409f2891cf1ce563f250603e2bc6c337ac58b0ff287aa8dc6135b0647f236bddd23d9d81947022ce107d52ac29680559e68b960cf55617c08d52a2cb539ace00692021519f20f0064132a218b9a10f0127083012e44ac549fc89563244de5cc0d4ce2aa55048d99735ce565b595980717ff836cb42311f4dc72401105ed651b2958d81fd0c8835d59a27fe18930f089daad5443a8f46af7103862707f868dafcec24e1a03787ee013e0381e95c2a732c6559df8dd87ec99c9f50882dde41004e6514bba91d5fa62a370557b6ca2f6ff0dbbe76b4665577a8e73c4e79da80916f6de35a8cfd1401e3d017248d26497cadcff1218ca6c17abb24908da8f0e14d9f116a0aef233016bcf8a30e0a78804840a85ed2eb6264ee40c81038c7079d60bc1c5b0eb11e324bd8e959b79b0856afd92099269ecf1eff28f8ec45e833cea3f9b760439396547b1f3ab0f43b47e86556ad89dc3e4e7145b1c37b661ced368c0a4b0feeba21f4de75e64e3a4f011246e79a7ddbe967f18285af4c5b00a5615b6c635bc71350c078b041d1f9b0e179b1d0e1dd8df1fe6633515cc7b140075d1aa7ae97ce9e4d323b40bd54b89c3058a56c1c6277c5228869ac70f3549ea2524ec23120391f8928087315c23dd77d0c084bd9cc3368db140bb4605dcab51074f82f5c57208c044028e4aec25df1eec13797643133f4ab66cb345f301aa35e58227d9f8919fa3e005f7b87311c7e591455f2486db377b75803b54c406a4bc1deb7cd28192707f27a5d867c031753ab48cf1a933361aa9e1ce0827fa79b8e91f4e661a29405b1c3a438959ec38454fb254cc10dbefb5bfe3aff5eff1918d69ee99bdab7d8d6881b06a1a4ff1f07f2ef5893c86175bfd2e034b7333d2ee24d1232bd6c88d88b8c30f96b2644ef3500412aa5d79c27cc3e50d18e34270bbe279c4dc679f2b0936a8fc6c2abf792fbd694cb8ef4fb4e4cdf2eb78f96289315c0026c19e02892ba7214e608f47330cde6b724f545e8413bf1ebd306531914705f40a47d93d5bf75d8fc908fd029eb6ce2a0fafbc9b34c9ca392fa21b42e3d2cfed1fb387def7f34e8e824e0767e64e23cc4235a05c6e07af5c380020e22772468b7fa078393e9b8f81378189a2a0d633c9ab50bce3a0c7fff6ac3158e131e57d1d88d0b4e4cc28df21a70ecb2107c01c6284bb0cc36e864a27de1c9e5e100e16fcd796c55a4144dde0951f21b0bf0145e6d7fad02d02b1a408aec7a4e6e972f9e98ad9ead8acf5b1f8b7299a3645bf04f4c94dcefa3064d854eda051b0cdfe7273ce96297f7362b7cc15bac3444243626b853248903b7e8b0846b0b4ea09342074dcf21d2b360aa3e038e5c540c5987119a51cb2059a789c904d976b22b3bcfe578257601b5aa0375b2f4a5a82cb165815abac8c797dbc64ce101ffebe01ee8f63ca3f2cda5c7f67a3f01910713d0e0232eaed3d850e78618dbf9ff70fcf8510db843efce1de60d8d96d0e82d017eaf6068dff532c17043e8c8321c3cbd4d7ffc34162ca6dce6225d5749e5ee3cc46b18cce60e15a35bfac3d2d4ad59c3384be079e3475ed5e8cf6a8af9a1ace84961dae25d3ba05bda790ce3b4d296e4e0a59ca34a0c2b18d2f5f63630e150542c6fc0cfd299235072636d300f0c76090786331f1244f6caa4d940c30bfe2a76e8b289dd010f44b7730782f39ff984163729c3a62a0f6019001a01f04c519774f9de04015f499bd0c4c2d577476f3a35d4504e4c3e74c0b696a498b984c437227e827eeb767c15f5349e5b9efd4b466ebb8e5793847831bb781f2ff89c409a7ac9bec20d5c637eefb080d7c648600b8545b77f41b0baf39baaae2e9c8a80cbc6be2867b0e680d0a23afcd6fc01739c4a32997b3704a9aa8b7871fbe9e9500f5aab885479952fc8c30336382dc3065b782e84599ffad86dc16246d3ec41977af6de641d80121953f95fba9dc48cf286fb39c949c80006c400523e2a50db8c9d1842cbdc000a2c4f8049ed90824b9798f91884d863c39f044f1fb7c53569ffdf867830cb877e34e2f3a1539cfc9bfef3993a5132123db8e0c1f8f31d38eec51df0c4db0f898f7d59edae448e4742074e4b6a082bf210e1e3f8b9fd8606b8154216a71bfc8652f6683bb98f8d3650cbc77c7b41c1a3b6148b1e123dcfdc4e56159100aa4c51ecafc38672f959692eeb9c9f411740789ef602c45cf4e42a2c40d13738e8423140bd71d9e17894b9d234e1ef26648981814d2a3dd1a04658ae9b6815c9edb162eb46312ac393763531562e51d91412d18d6ba0365e32b1c3dcde9d7cb0395c26419ccba0a2f4034911af8985a2259afd515f217e7bee11acf2bfa9374721e0674b33401ec656f3db221aff5d7a4bed5a3ccdd9aa45a3c8a9101aba5075edcb9bc7914e2d9ee1923532a4bf97cd3aaabbd178b509849ef26f664281f502a8c2eb0720122064b9a750349ee9832b05961e51407e4fb07dca518e74a96fe2cece442cf7d607ff096b374e4ae6120e0775017bbffc404c992b1819930a774ef56ee944da21f7f061ce16d85d499a2b945e0789004a728dd12a110ddf0692b1910c37f3b83d33b91a0efe5982f2b9fdaaa878c7aeb470ee66fd2bf860160531b8d2fc4e000c627b6cf3a3dbad11afcaaa2efab14b8da51d0e425be94d73ef93828cdd8b9d4facc40e7d60c85f3dd99a3e3ee891b191e6c1455b67edf77e774146064e81564201032099f6163bc10e25768c007eb93132d85c383e2a2032ca1e70a5e656fb35ff9ef8975440832ea4f3fde999d4792845a7457ca58267a4b46a11d7a6331483c0889a8b0f9245889647aaf4eacf4a4af5494aabe7545dd0731e6c3100eea0df54b53b93c996fa564f9bfdc3121cde532d9e68ae52cd700ab7b307ba0e1fde0829d48e437448658da39f7eee8be610215a709554dc119d7b3998b2a72afa5d2bb62ecb7b038051e0ff997392bc5c47214ad88af354cf7e03eccfa4f8a95e022a433f5eb54909ae17598d6157bfc57b2c621d19e9b4b0cbebaebb039c92985f511419c9affc843d566800c7b7563fb00ccf43546465b309cbaab8651e5b012efa5eb7541f59ceef3e167efb1b4e76d64442ce5fbf6725d0e11a16732582fe1bf09c7513718baae79610e4a2009c1001053594b7740c463485d02b90319468fa7bb1c83a6caf39fb8a1d534fd09dac4931e2534a9a0ac522bf004a4e21fd60b68bc053a7bee8e43f57ae108e5ee67fe17960d736be50dccb528eccf1ee1effca102662784651dfffa7f5e8206109ae35bedb5344cead437ec251cd8be478574e720ec9fbcf7a8493c4dc756c4b5cd4311e1cf73148c722672d5f51209e3a35150a63dad1c60d0fa29923f7da459e1cdeb6e22fa152bee0b1ba4788a9208eb2d59316f82b540b6bc1c35afb96101dc6f61cb0ca3761833d96a62d5d02b3943008ce7653c3dc49cef2b0ed85f1520229964ce3ef6e189e1194a9c2f25b8c275c8f2757578311ee19ec13f3f16be3e8fc1bd96b6cbd56eb195ff5e5a1cf537f20358be539d4507e709e80e4a9ff5696304a29551e2cbb6405a026a5a239488d5de6126f0aa17740a9687269df2a75fbb254da3759ac38154cd3d865699e38c855ff69525e05b24650dcae68227325b9b1eb162667127a2f703d225a70041957473d5cfa006a17288975a7f33d107fe2d03c4404379ef89d43fbd6552e6bef8310f3360a46744191b9a0a3bf1e3d0ba707e9ab9984b6dc9322d29de00bd21f30d42362e4ac8e2e5714d17286de0ebd7edf9f445ca516262a66a2ea80e33a278493915ffa8050fffc4d12a92ba48aec147f37e5699d57fe3eb69465451e01aede5286cbaddf9f7be73bdd50ee15e60bc147d873e5bd6efcc1a9c472f20d065fdfb910e029936016c083c129322b79ef10e28c82f0a5d3e9550405b5639957a477a1653dcc00c256806865102ae66778eb927018d216543c5e5f1f846a8fecad716e32a46aaf9ef5a914da9808563ad9e4c5d60318cb31786b2d7a821459102f239152ed3213b94306ab41bd5bf01f6621259ae90f71f5897aef6805802bfbabf939b2d2a290fe0a8f21ddd4d4eb8ce85d678871d702103e3675c4154bc18d1accaf7686979667afd6b5a5ff681359ce9478bc182e2901573533c274a502ac15929e93d0b5a836e5793b6868ba9319a89289d79b0576e074a7e3fc4330bd09b21708d4075ff58371f09ac4aeaae13570c4b30ed0b5184fa05426c11244b0ba238bf30d022fa93f891c14cd122f16c5a122cd96f2db67ad672877e62e069cf3f23d6a5f3a3aa2ed50719a711f849634fd0aa3304c52df3f7b4f0b61e3faef4dd38b298bbb77d333103f6a3319f5f78d3a840985ec24258231823acfd35ca13c97427a6978f74c8ddbb878dc1ede32229377026c9e86f069be06359aa8d41b357be7131c3c54661b4a0b074f593e5aafcf5eddb1f39906d7d56597d2ffbb5c5ad22b8d211353b291174bc266f271f31ce15d43c29b3521a2ff7b0b69998605eae78e6c3e9ff02f8153dec87e104c86d63233325e3842488f4b7df907f1b13444bf9a1154058e0364da6d98ef9dcfbd927d622b9355fdaa8939b2bcc07e47a4554f59ab7733d510a85aee9059bfbb49cc79535ca5aabf2a2c938e3a5b9062606d24bb53b459a30ee3f187eba82b7f3c2baecbffe6aff16afc78cdd7f28c3ffd3e785b4e0afb4856456f34f05bfa86e3d655acccc397d3bd7f9f44ae7c777c34b29feaf68bc543195bc48866e261b9232a04f252e18617a439c3eeab724ef95303a95b0f289b17882c6dad20f5b4e35789dfb6f9e6f26f380f13bb6ae3762b31352a1c95fcee6b6bce9b9d6bd8a30a1d9c1192fc000db9021f14e036c23a33037876bd180b38636d3a60fde0692b6bb3edc9f0068c42d49458b71a91bd51a0508568647e3b7e65b5ff512444afcb403074b9ce5dc2d48f5f6fe21fc6567c385f164782e8bb7be64dcb894e9d3b32ad1706e3a754cafe9b75d50bdccf3b8608bafee3be9fb9e23091b830de9e11cda8dd6f0421846c14f8c461f0a1d425e6e74bd44d5d1e1ae96f00920938b75acc0f62a510ce2c1b74ecadf9019174040d69b1ccbdda58f2564cef4b3d2e49c9422966c4897a6197b96ca7a20ea4d56e38ffa1d0b225ba2042f406a83d9029098f1967c6e34891968ff6ace63332a8a24d48bdad5870bd98a9b39f9b31ff73293b80ced1b1a19d03862abb01999da099dc496b03e3945f21693e9d5413ca694ef8f285cc2d1b7ffa6d0e9a5024ee32c9aff8fbeec6deec9721b5666dce0fd9aaec5167cc88e62a7743a33f67809abf61e96be57751e8e5a9c16cd3c90cbf2f36bc12edd89c6fbd2ab69abc75fa94870e14f26aa79b1b184f6d4849f26eb052dc48137e782ed7ea2183738e99893a2d1ec63fb2bf7811878b13b8a3a658518cf7ef768dee4c7e6a0c45a0a8e8b39227487e1d5cc2c3d8c462e09f5bb40396fc388304fc3971a735b90475547d19af75526b25d51caea531045783313a643fb4de410de09ef8935a318121bc89081369c465f34425183cd47a92042fc8097bda4d6c0463ef1b2b83cb83a0ca29021e828a72b74719152a41cab8b721143e08595bda21e1c67116c34dfbb4427dba3b281680ba610cc2ed488a3a02bc1364bc1481bd93262d09135b46bd4760beeffff62a6d2cb1f0bc60fe49b1171aeab2932186848bb9b211b9fcc382291761c1b2e025c58f04843fd33fb60bd7c76e559f80fcadf2dad1538fb95910f8c3afe148b8f125aa661ffc6a309ea98d17293214d4052ebd2a70e85c8b64a91ef47bc93796c9125ec024fe07dcf696b8c68b2756dc4c9f20f9deeecdacca69fae40020f3f0e0254c90f1905f4c3be87ec5dca99929cad55b24a25101fad8ed45c4b5da428e195cb490c6a3adb4ef838be7eb87b43007f2e7df52e50f10cf461bede3adb97188994ef36b2ae9eb93f0d6ee179b33d560f1950e1b2aa1b851695f9dea3a0d0ed7a4a74c25f55098975aae91134a946c4e62ef9aed1b57bfc35a36e1794e3a1cb4d4d577c41bf38c1f07fbd6453f5516a2e408a549ce56957c149ae85fa328074771bb0ef2bfdec0e34bd89f1e64da8c33fc91d3294f9c64645ba2f1544fcafd9e4f1cc22700c2598ddaff01b47f3acffb2711a1a6242a2c9e97f0ba1e3f57f4fc423a6ec96323d8e4988a0ef68757f5d1dce2161402c9e08a0572c01d4a4756e3613926b379eae308dd12d261319200739b3e0ac27e6ded8793384789fc2d3d07c0130e053c53d663b426b400b850b1b9838d850e8a672d89dadf345f2f00c981401a704868ee674aa79f9e9578c1b866e7c82cc2543e07e0be1a427815cd202b1fa5443630e04b7a77a30026f19f06efb482444e750de89aadbce7a3d2fe62d45bdb033c53fde62e05ecfb1c808d6d9e32cea3be9c322a1c00abf28a14f2b2a4023cedf289a710a0990e2c99be65f7fb2f5c200d2e4a2e22b894d1054739e98881c1fd40e52de2760e15a04369208620e8d185c3f135a4b78473dcf358a3b0b4e36f9fe4ef71a5b5f1446a222b480cb4ff1eaa92e93982f1abffd36db8dedd4a75de96595f7dfc62773c5edf07e5c1410b1ed6564b07d8b6672adf9862d6c792e5d38038139fb5688dc4ed2fd57b761ec3a93aba3d40ec63d709a17b3bf4a387b54072cc2c5bec9da1ef7174deb23f44f11427db1180dc0fd5cf4bd2bc5056b856453b033fb0830992fb7e81ac5dca71fe53e3377c32ef4179741b0700b8c24c2bc8bd396db787b34eedfbea235f2b606e0a30a5b41f917f4fbb9501ef4ce1a08defffddd2d3e5e7459208d21166251ddb8d15a138d75c51d3cc341d63a11ae6b360eb71b862425722a41888767e0ccccab486f802a49b84c81e0c8ba7ccad599c91418a218494db5c500b7d8c07b98464ae4fb7e1809d4593ddd257c64d7fa98392f80703c57e9a12c78ef1b1046980622c9534cb4dc23650c540cd47a9dc0c39ab76f0745217166e72cc193491a4ca91c04e023b9606ba19450bf7fc046e97ccae04888004e53550fcb393e8c8f8e5c7f5fedec7db62f077b3d1dc9ff1b70f5008eb36bccbdc75619a5eed52e5b412023457d7578abaa8ee56b4e4469ab94a0d289108ae281a79c80b60dc62ea7af8fc617c7dd4009ce442604f2e1bc94f1012046752b2c8b58417864104b32d54350f545211ccd4d083362228df1e0abc0eef380c7ee013377a2c3c0c6f09cbd50be8ca0bbf38aa1622f5448c6f8a7e281fb820fb224635205f92ce0220fa76b8a1deaf62b60d148a67ca158f8f02d82b40a29e47cc1b9566b9b95ec2e84ab0e70d8e3c9f8285f821a51297c2400e97ad3bcef062c66a93415ef497815b40f0d3a686a41304de6c979acddda78ba097e10cb212bcc72f4bccf65fda252bb25a053f0a1c684e16853fd86e3518e0f66285f6fee53cfb1f09e7666078c51a7e5d5f19e0dfd5ce71b66d14fece534f94ca5ea0deba10d810357ca7b77874f6ea00fa410e93e4ad570dee2800a1e220dafac6fec0f52b8e1bce6e11349e3474d13a070a46a1e232b64ee9c2c1de32411a697a5742c005af9cc213dca111fce6d3a261b2ca2cd4994643521f61690a67000e617a8ab4cfc9f7260a6b374e517c72fef31050bd768cb42374429ee65e6c5996bb4049a0dbe1c8cfc8d0c8ead8c54183492358790d16c0e226f52383ddb795315830ff1228ea35aa571747b38710813e7a19f49c7ab16397221b6f0084643dca485a6debcabd85417a47f7e287a42dab0917d28c73a821a5fd0593b094acfc8e566addd5704a233a3325daa9d4cc12e86a4a8f094a37655d370720dee42383208805033d2ca24fb16d946d286e0388b571e0d0979f3110d6530e0c8ced40cd13d606dd567ae72301fdf67b970b1e01f05bc0458186095ae860577678d1611b94bcf1b0f55315e1a9e5d4e8d92244306a150d8732239abe77e0ecc7bac4442a45fe0d5e91535b9f8d5881ba50b668d7010c7eac6a7c82a50c12fa10d0f211209c2065376fad4566c6a1e614ff932b9fa832a8feea21398d4a9e698dd967a0c05dc66a4dca02ee4f8f443c0078bf052090c0e81dcc887655f1da6c8ce98176b01c951b0a6d7aadd88c7461163be07ce7f081d3ae774ab149e5dd53724d46b3b9d18e4f209771dbc17d3f39754f178426fe6db83c052e6b916c81b3ff31f7f6b64027fe99fe4cc04ac24d12cb4a59f4d88703146eb9cb87d67bd732ee4e69902ea57077e6528ad681c0e7755fb850c3cea39a8d353f125c27700fe40b9592b458865651e57c1f162a647b698e5ce43c41fcb0e952d3bbe28b13304fddf64b700c0e50b52442a5476b32cab18367dbd80148e7c3872a7820d5632d00e4493c46c8410a9a10a9fbc43c3cb96b676fde65067b558e9f7d1b281a3c0980d652768e1fc4643739a80458059ab1f2b7ac8597a5dc4d89cf73ddf93b39a778abd3466cc7472d50183be8395a9da40ecb596471475dde71035873c002494121752f66cca4745e22ffd3a336b6401275a9449c21f97e136393d81bcb465980ed6999ddf75b4adf012d2b21215fb1319b17a1fcf132ae82cb3d3cf527880584921cfc5447228c7b9f412b6a582088fb5352cbccde224146524f782b73a7a52d4d80c88b4709d9e4019711c26964b6a5a2c4d5720718eb78b31a9eb4f62c0350938de9ba551fbfcca776dbb0227e3936b08fa8e5d505beddf844a184f2d2f2b7c19591b7de5bdb68743621f06986cf5885a83e1ae9064f0cba49f87c187f8ca3360e56466cd15e99aa2dbe8388262da73f4c644f1ca5712a831f848fa879d620f32f18ef0257a211849422220e99560bb1d2a4f4918e50fbf6a7de4740151d12e80b31bf72f8b096aece0b26762ae0397d9b31cd9af850decbd92a91f693ce406953d5079cb78f7cfe26d654501a5b9838ab4ea159a37586512ec9a67d4af933dc73a4b37cfa6ce269e482bb771d65da20f65a58364fdef8eb9cdd11c09efc1b06710a29c073d91310cf2cd83298663645e7b75a94ae2a4c28e0e1caba83271d96bc1c83d5ea03939b0400fb851dab3be76c9638c7c1b689b0955956db8fb5f820ca45d3b46662548571f11ddb1035f9db6c0ca4fbf940fdcd1f05c2ded2b66ac65f080c787ea24062721a03c669011a838f00187c551d5533692879d13291e8a15150b6b80d10bcf77a7859e28e20bbe0f90a60b74b0407a77768d10fde4e2299b77eb0c19f28534722b8951e48bdfbccf66213bae2937ab1fe0e58bab57daf00a9c4d56314ef2de891e4a8f2ac6dade9f723b164042d2900fd3ca7a1f28dbc021f76cbcaf477aad00daf1cdb4b9ec53c70a87d7ca57c5dc18fa68340431462cba23f55d340a2408b6d344df98fc0e6b9f85d84fe3e50065fe654c236ca01e3b9c84bd818c0c1dfa12594cc6e316cc5c8c4fac2d0bd924cf47f8373161f0a0df028c7e065c7065b821204385ec6d6ad13cb6339bbf3ee47241c512a0c6c23a972e29c15884d992136580c6c74ff6f51006b0989e31a29c85e8fd97bc1e73e81b115e0a455feafe3138cd800c525826238696a9890b90295da49c5ea83085f70ae1155ea27e283a5600ecd4c526abdbed8c6319b3431448625016ab189b58d87af120493eabdbab1497aadf51b64ab5816715fa51a878a2001afb689164799d62ed2beb072962b80e9662b192cd1de7da043d803a8e4170d94bbb115607934f16fdf29dd0a69930e114624c262e50d03042c1cf4f0ac0250a485dfb86785dd782ed72b0db02e20f4bfef2bfc30451f4787a62635078b66db83bb24e41d313b712686a83c737dd00de747fca63b874b2dfa91218c4fd13d13203cf84977a838c3f4a4e82ede4f4bd441e919872f72669a751910fb7e948d47e14ef7de695980978d04a425739785e366b659b007f9d839d112e4165eef70cc18736f9de28be9c9b4018bc41ff3d51b540ba8212c956bfd83195d0c524c65d03a26dad579b72e6836cbe0979b890f4f4d34740c4b388a0d23645ffaebf3402148572ad501c27da5803935b927e4007e178dc2dfbfddadb3eb269da80345fadacae6ec7ea40a90e654c74cf7da64f3841653995a588436385aa39de1f8bca5797c3de7c55a72f0a56b32e03f2a52742ef88214d3e283c1269807442ed02d6f32bd389824462914b88fa6a7a50d867bd30b9da052b90f68264a6cfb712278504c42400ee5bb96221b0d5755f86635ed12147d7af579e2b961fa73c0fd204c167b0c17f553bb91e4e6080fa2bcd4e52ed44b0084b92a22721123d2cb3da86c7c22e4c731b50499c618ff88b027c6b4b456168b62316a8cf7d78984b2aee751500aa4467f64a4ced5d0c0d788fabf682dd89c29206a3a86672884567be8d288c1c0a242c5af877108c8f6c89b06745c07941f3d95149d3b940cc6b1ba8cf364803d4599d7bd2efd491ebc189a0c3817a1526378da8e5dceba79cf8c0bf876372ea77bfe2670d89c3323a61a5e9087bbbc7e34d7214d1749e306938d37b8ed31d1e5ff9dc4506198a35f76e3c3254c97d516a85ea1bd20e32d98cae122f9ed5b5e79bcfce56ff73161f39dd56c56fd4c3953a58005b1d82fed8ff21dcbc12fba8f19d85b1e0bd1ef45fa2923c3e9ca87dad51066c1336bd9b306dfd9b3596c465c78972a90050880d53abc0bf64fbc31ec2a619602abba5b755b4a8ba1e031cd620d1e14a7630d8912936a00f1c660ada0d697c57bc6d7578adc8f94ec4725ddbb98045b76d6cc796ca17db0e4fee8e79f2536cc025610f5148c35b29f922e0242b8cf1dfcbf55414dc1cbbda2710915f77c9d1f9361fc020f4c9fabd531a75f66c884de006de0173461e15e1c4129d42c19b899f8e2a5a4ccb834bffd95b20ad38be0a4f39bb604e016082390d8eedee7a30779fd30d55666fdc65bfe7ee954a3ad4d004202d90c6dd5520b1b1b8a3775183ed23e58641df32f5ff8b08e00e26bd856a0b663b77776ac14265d15e565322f6a2217873e4f6db2742dbbc6c531230e0d14a04630d8d532c813ba688fa83490295da54167d16400165c5ec457e270bf7056890bbcaac1e825f282412a0794ac519d6df5b3b0bcc019b30b77a0128ad64fe17d535289b92d22c432982bdaf5a0b5541f61b26f2899d28f7c94e5ac1e10e246e6357356862611a5bec95453409cdc03a5d771a05b8c1bd8ae060334e284db0486a4d00919c6d5e088a4f7e15837e651031842023c65fec66573ba5cf4ca941fca0f83a1deb284e2444cdcced21f220c190a56b06a3c19fd3300e746b9cb18030ace5323553c99d21e510f2ac82f2f5672220ebe817b36a6d22700d92872f98cc62591e42b26ad698430e19301502893ecdfd1c5d2937762bf005e13d267de93c49608f81f7b581010333a72a887e6de5bf679f3c0ed00c04f3dcfb9bf98968fefe4b7ce8040ededa60e7116d3dcfe13501a2546917a6683fb56157b49e651d40e309a4946982245c85310875fb481ea18bd4709da3c89632b3d99f25b27e0998b4760995fd1ab3f0c555f08ddada1532dd0d550da25eb16e9c7901da844ff9d028c70d0eba40d4b3dd86a698e2905dacff8f6b95a4e875324ea0358fc1bb56e009a30f4b5df38e304e048ac0ea10ffd97fdc5db59d1ec25e62db1ed07986fd6ee3d9246f2a489a0aa8e5b808de206c49092ac034a10e7e7111f9aec36e801ecf8fd388c41e70591d7e7c8ce3db24ef1e7715a6fe0d66b2c854cf63bd16f06d522182d059050125db37e0e242573f556c0fab18b2e1581806989b87da0246b4b60da17e91971b2a5544ae06bc774422b810e20cde85824cf92ee6be67f8850e8bcedb89f64a0899588b75085d2e2ff2d39e7881f32e2518ab9a984f2face1f502c63509719a51a32ea70781b36075df3e96e626693ef754318b2a21f0c80e3f7dbb14911ba9b7cbbe391542417457c56d9388bc6a6469795f570a8c130a1176df8d41e3d345f0f4ef1b886ee230a2a9b3ae7c04e8c198d4717e1389fd5ceb606d4d795ba2a539ffd6a3555504670479e497aeacf90814151ad258c658309e954b958f555d04a740b3f59e3009f9fba1ea97c36503ab08223ccebd8a2fb73f7f2a30668c74b84b8810a9a301b3124dee6c91d1cad9a6cc5281b764b10ee51ff93601e9c1d55482b5f8bc0ff4a037d24c64be2a9550a119bc13a23dc1dcb1136f5d0599aef755db81608cb7ee747f8c1689745967209eecd870827865edb5292f9010884e004ba784d51f5fb9c79fb29231e7807a5b89165329e7498ddad9f18a494def28ffefd0f949fa5974b157bcf0b88517619b813c753610433a349303bd845cb5f75b1d3184b2d9c3abaed14e9073773e28e756f523bdd8d8a879b255f82fa978ae4f89e3aff1e3eeabeafded079be4fd06709b0c974a06ad502ef4e41626d070fca4e1c94967ebba805f567c48fc87546698b5c6bbcc1f0eb34e881bb324e9a51bce2852252fcfe149866889618e89c418c5dabdddfa5f33626fcbc94f547a6e92fe395911ed2f82dde18ef8f799b44d03588d018abc675a1eaafaa3b8cfa2a84adde6e1de6f4e641b578678075bcf8d2ce4484b5b1d9e8398ecdd223bc8f81d143dfc8344fee1d98a85ea7cb4994e98cccd7f72c9c9715f69c1419c7e166856efb87185749ba59502cf8d37932ba073fbe0a4949dce38b5b5adf3de45e8dc7b5c69607adf8b442f01579377e24a951375585e95e2414087bb394fabf4d3b5fc4e633dcfc3f6107ef89b7774e9ece03e3efc1076ca727bf44a840b31c7c83401c47a9cb7b8cd61438cd3d86779b1e91a4c33122c78a9d97402ec693ca2edada262040bf198183e8b9391ff7fe0f7eeb73ea33eb2a79d8785a0cb4f2740b817f6ef2992e27819c18fb40bb07134ad0d14bdc41187c6469516086116d45541ba9881d083c2ead5b229a3c7bc4cf30488fb633c977ec090689865e237b60e99211c3da4b9e9084b06096ba2e178bb67a004d7a297b69d0f6e961b1cc0f982a7a16b690dc3f338ac231f1427a9657d7d5ad624f506e0db30985f0e2e210e6bd016418cddcaf0044fd94acb033ae81695a223d7a0d725ce5580e8a4e3ae3be2ba2cb5be4bd1f22445a2e15837fdbbbc3e48a911b785c61f53e866baa8034bb3d8cfa7a84a7e709203607e9e480775e5e39a7fbe1678326749620d805c600dbed063647e4cb5211bb94b369af661cd8e207c6c22b6287c91f7305d3994ae96dacf13bdb356c7cb547aa07d23a555d465ebdabc8d783848973fb78f623a321828a665fd29da51249cb6e718f1bca053715e1923501e7b9fe5a6ca39ed91241ae50ce8a5333c5a714680fcb3771b27c7aa35258a43b3a6d0c966cc6b56a198e57490c717b73f487bfe9cbfed566a84b4b30f928d21bf9b5c8ffdc1624ff7bff26a0cfccd89a15bed7dd55600d3bc300f5b0d99622457313d41fdddc455f1e166d6f8e8feba9cbfea0df65eb51a1738ca578a4bb2357f8930f506ff40fd595ced6df494ee7af6c0350fa5b7f960fc8a4bb09e8ed8c1d683a14fde9c7525f9af9460030372f5c3a17f52c848216040a5845e39131d71d7738ce496ff41f4ad3dc3b86dfddd82a4fcfb45c7fdc899b9e221dab3becd5d274f81f85791967b590505043ca9c100c8445fb77ca839be962e5eec82009ef2b882f8795f22b57152a474e8b7cf96d30cc86911b1676b99544f73d684b0cfe05d69ba7e2f2c0cf0da7053d7d3ae712cd0ecc94f84559e201ffc5d72b21a32ec1c3010dce59de29542e11769fee699990f80c7978af2e2f1a434a24d6733e1b5e7b8c6102dc7937d0baa8f227f1eba95be7be60d29c0e8c72942d9e395519b96ff52cba4f4d13dd7cc96330ec4575a4a5d80cb7aa7b5173c166ea0276b63802ae2e62b25c8de82a1f923f2a34ac00be319bbfb3a76b6eabc5bfc82c537de7b1541498127d5bfbebb055a4653f5994aa9ea89dced12fd6614b92f5f0b4531b1b0e60dedefdb24197e9aeb895421fc4550245b466e779cb8d7daf6907c22d33a4a278e899aeffd58185bdbd2354df2226631cdb3b67fef147f2b0f4e6557195c67052ed0142c9a4ba4ea7ee1dcc6d59a4f098939daac0d0da3410a4d29eaa96043605f709a00463470f7f7979e1080c0b4fb03b699070f8213212949f969adfb99ccfc531b5ee37380caf60a9a666486d52107e426e42bd473c8de6c278ad48da489e2ddcbd41837d695123eee9b24d4e8ef64ad21d550d98a854f011f25eacaa7858faa3150a295cca0e4d128c824a676a5939c1e5c07a5b782f934f1c32d74a985b28cc4d606f6cbf216f583ff25c384de2c9eea67c5cf07d23b05d54db806025fae3d9f7743f0e9dc479d702c045293de43b135072896732331279ba4bcaff40b50d09f71b8125e9308a306ceb57c240d4fcabddfec84a95ff8a40cda5c5f9bb929a69f0f19ea33225abed702a13a5a014cacb9de49e1a89fa9128e927f9300eb88ea225c3524284a25f4db686f8fd170f32fd0f28e1e3f78131b17527f0cefc3cc0a29063790172febc57fc6b34e79140b79fb6087379bb7f965c9e373efabc32cc41e845de8f423cb292d879bf20eac587f7d401e4a76a6aad6fcbe8c86dd94a39fe029de977b99ec593dbc4c6e74e22771fa37ca34fb2a34eb65cf2a9b5344357bd89cc9e7f62817beeaacc6fbc20d42db7fd3d0cb37af01bc8586009e64c6cfa877c4f1ec2835b46cb9e52fe37ee46f2896ae362072db0d50dfbaf422da0558c3478948614346f47186b516d878f6521deb0746bbdc47f95aaf6dd4ede3e56f45ea2445d5a390ccf2e8d01540fedc96baac16e69bdec8beceb95f98abb06c752f3407f6421c3e05c4cf383911125ebd66721df8f86e366435b25db2b4db8d809f8af0b37295f9232c3424abc43ee041de1972ef09e042b1e5d73b072f47860946ebab1c3f8284dd9b354459f751444527240d5890f6de10943f883af1684f733ac86e815dd9ef3f1172be7ab6fbe88efc746eb860c59cc9a856b107c29ad4fb74fe46149d7a999888ac16c8c81316712c56ea2111f7215400a74183d0e55e63e748d3894b44508e9cdd990656bc8b6425a78dcc171ff5e64da942334afa8e60eb9ce9066e80f3dabf23cdbbf690531c6bef68a21af3457c267c8ce9e720184a429737a750e9c53ce9a16058b876f711dc8b5a6b94fba76ac283777335e1c86c752ce08c69abee70f1b996da57fade9b7ce2708721a0e19f43f0f1041811be066b0cf33b65665e079796cf00704f0b7458f33c80241d346913c179408d9291ef33d3a4ca4bf27a1809c4b5d588f1b0a7c52aefc998230fdcbf7c2072d0342d9c9fddf16b0d2460df737eeda90b8bae5ae045923b999b1918101860040b72667c9df2a76f059e3f4ab6b78a33652e49bb9977515e62aea88f5a967f1b1ce916f64436eafe32677da2354537a9532bdf38ce9415ea8aafa88545055702a251f215071b310f4f473364ea17fa14b103c3f18869f824c96be2758a7e3911033cb428f0c119ed6eb5a4938bd1279069dcf6779e4e171d33c5ca77061b790636725ce961a61d813a97ee01b24755de9660dee068ad7faa46d90a57ecf4ddface53ffc95c34f471b13cc6542f28948f6d1a28225b99f0f73b646f93260a7bd671dc07dd8ac62286287fe26471aac76bab683a85e9c45ea16781584b66ca544dfbd949398d1085cc6da900c933c4e161a906ec34593bfb137e75ef24ea88505c50097bf810089c04c585922b834f8a119f69794b2d79bd808b8eaf2beaa1721c935235832d0ce8e530750ecdc29e403811f59239bcc0df7fa2ca48b5702849a3b6c3f89823f39859f3b3b3cf23a4bd10a462883eb17129eed002ea4d20b99bcdb754106318dc5c6100f2f14f43cf558cf1d0660863596bef6c12ff822af41f34e8240f45c544de5089a6e9010a7dd7f94515f04ad92a29ddb16921f8c1f433881b65f0afe4f933a0e87a88038a146a43ee8d357a8967753abe0a25783b7883e408b2d25ff0eac6b9ef7970b99c5f58dc3470d53d796ca2b0b7c193c89c3c4a4816243b8c73530dbf7b93476ccb5b5c63a90566313288399b48a73673c75cc06aa835f3b99ff6cc18fa200331e74fa0cddac315feff1c5794fefb7f8ba8cf56156a31e2ca7ec74bba1abbdb8230bbcb496bbb9971b84ca0641c5621feb4704848224ab6b91c343acc8b3e780b7e8a1b3c30596f3909136b0c76d7fed7b4853b3fa8eeb8b4bbd3c0a01d4083ae8da20266004d3069485a04397cc157f7764c05fe012abf8dbed8ae406eae6b75bbd8b5e9dbab0d387c1b3812ba4fbce7b51218415072d82842d1abe53c64013c2bf4ef813403bc0767c9be3954ab864734280bd01299fff86d1cd9faab296d693445713d8fca7e98fe56cda1c49ec1924adc765ad41f0ee386ea1456112b56f1f322b447a31517adacf08ae25748973741cf5e8fd82592fc1e741b3d74e3f5c9ce1b705ef3d4c5c22f4a3d9a33345c298845d6cadc1fb1f5aa08dbe4c77a85bf9cbe09d26116a240c61675503211a7ddd6b2ad263fb01354eee1ec4134794f5ad801da04ffebcf46ce9599dabbb18f78ea26f4fbb33798eeebe0e73f05ccac82280e96b2aed0327d95755ef12ef305c9aefbebb37004e78cf5c0c8179ab63a8d869df363514e6924f303e28d594675b97533ed582eee0bda669fa727022cb3899cdc6985d77153bf40b113146d8ffca9167d99da2278a4eb4c57cb0ace5603bae378c6aa9e9fc95f8011506b51468f88e299e19bbe70aeeea7c4105de4418252f7987eb03643e14dee3627dbfec1e209d13dcd705127c4f4bcbcafa273219555d90d4dab9f59d35faaba90a74c7d410fcf5884922a5b77e1d4439742c9241739c27c08a87f7c663beac85999555eff39d178b7581e2b322a0404cc8f994fe69356f12b84d17a669fd2322fb4dfcd7912b0f30765dd46f47be135e47ed1f3ad4e44544076e4b4907f9aa513452412ffabc88dd9bee148bfea02386f7a49e0b0732bbd9e32c46f32d2e25c8c573b0802b7910e31104f720e03ca20834528fa67c4c3843e3ce1db5cf853fb7653965ddc22f00f929393e6bffef94976cb7de9a73f95bf64670b9bacd727f89b2ab08d95f98c69a621418ddd607881cf7d36d1ac6fd36d27b09981449359c6e75ce356abae15a4fdb798f6cf399ef2cbcf4ab19fa7994d66556aef7d2ff7da32e7213793d796cdc1500002e62a0fe7a90ca3694f112525b2ce268a83d0f2d0c68f9bd18b22507494fdc673e1f9eca0ac1a24153bed19344ba491391262b824824f2f86631961059e55e6078fd1e9f185a99ea017d0c12745c6eed275256dad56c7762fe66de3c7aad9e0a54038227d6fd51d088f61c070c9bbb17ae6639b1e45f9869ee267a3ef62c25c060bcfdd1e843f05c3038cff758c43ff3461e0ecaeb6ab6da545d0d7a5887055a24345d8552b194677ec446c9b214ae22a567cf230d9926a8969be825b2a148d2fc0ff8a4015c246fac5d033de3978bc56f05d710107d827b03ecc186646af8322318c26c1bd0ab054c81ff630ca426180a3b0aade4b2ee6e66168c68bce17a6771cde381ee66a9507b6f871ca9021cd69a6f51ad7efceeca201351a8faccd99463e449f704fb8f2a1bfb2a0456806ae9d7d7534e5dcc71973828848cd01e6f40323f3657cd634146d4be90fe81a6d0a1fa65a0c4f45133cc6563bbddd85a8aa652c92ed54c6d9f86b83e218a71cde10d78f16f77faae8902df94a8ccb30c1527facbf219c1ecc06ac7f2f1bea4dcf7f99125e771eb953ea2186689140cf29378984589cef9dbc4e4b1c2492cff1d600b5b81e396949132402ae67a6344e4381713e0678798c6144d9238235ab58931c881ecd7b11af18b6e793f4baf3f8f9efbb4c11f9bfa068b1d2055f8e02da399247262990621cf93fa700c7199700278bc223bd8a26694a784054d4b547f4c4da5392a444e1d176790a68252e123c0c21e47c67dd165a47838c8dc2a4e547521ad73c792c348e48e8238e1a033ced3bbb4aa290b508e1b64007559548acea75593dc79138618e0691fa013b221815b3b2b7d0cd34293380b6c73ccfee6aeee85ecc655bf5a2d3a61c20546ec03b79ca26a3455cf813763b2c569c5e2b874632d5addf7a59d1e8efd2583c3818dabe89c09879b57e019ca133ab6824a8ddc10481ab8dc682a071572c623ca004df8e7f9b98a1f77b7afc0220afc7a0b8e8c022ba46ae3f4519201b38350a6132fbcf4c5e036c89cf2ee7f6383ac6766e4faee9bf90a4a92b8983c2c4bef61745f1c8ec1de93584355a051020cd19009fa7b1f64e80b5fdfab26d4e95cff880d0670b9bc640706a0f97b839ca883a7ade66ee912000b9201c00d534c584057c52fe0a0edcc548e5cf1110e7ab1f46593249632f9498711c1aca31eae7e4daa7c3ac30362760ab88e902adc63c42f32f56a1e92dff4470b4b0ebede65e5df9740b0f4451d83b2b47b6046d6c1fadfed930fcb89eba5587ebbf89fadc90c26ff5abf0cdd58d41a791d780a3561c1b1a27e09dc1d21ca81f827a6034945de617542f462f48392f7b68a679f9b878d2c8a5f0b8ff14bc8aa5e78c501ffe8b35ddfb3a3ad7be7478f101b6821f454e7cca8e55a9a99507ddc047ed53cc3f0beafb81383090993f527e210683c27560a7b9b4b02b0d6a4efc315cfedef41d38eff6732b4c084fb9ca56fab5e247c432d74822ccc37304580bc91d52fd9a2a5851c6ae3a438d708dc8a6c3ea4bddb4aeb68e8ff841df6ae88e218a225dff370ebc78effc4d154b03b17d63903aec802e16f586eccb11dabe6a6439d30d2b1c1bf5208e3cb21d1e8e2f93563feb2601e023846057689c943f0f95bb9461e1a2d3c121e9bb7e37c5f008223e24fdfa4664ec789467bb308e5a19d42f9e914ef314815044dda949e514eb0b06daca6cba98de74fc178f6a4057eecf1e91479fe7ba347be7f61710a67daf65d8f2cae72a366748d7a481a92c4d1943d1b3e1e7e30a926cef27048a1d040a7008b12de0fe732a86f86b7da09920bad401aa22cae29171f094552813133899a4a39eb640618be402d9a311da67bcc7b17c8e79bd1321ed601eff443bd853f4c5da6c4a15b95c002068f15a094604f12e3754d347cf037bfd217996860e7ac9aaa28fc41bd8c38cf5f6940bc10a23998e4e8f07e4f7323938474d2897056958a089a39f77cfd476f31c083cb1299eb07ed750c268e6ccaa1a6208abd4c824169c80472880054a56c26996d678dc3976a910810eaffd84e7ec45c30395520e828e7841d910728fba7445d7cb393394bfff14033b45e35ecf23d19d102643d92da38a51ccc6480ef74be1f40bd2e501d4ee302cea992275860ad796b5ea82a832888a17629a9588a8c9a390de08ccc2c16eb842bcca11ed9be5c72630954e06e0138260ba618817704122f2a820cb143378e40a053c0373d0c107195efb6912b025835c95ce105474debf726f8dc15caf26f45ee2816a01957bd7946ec0617b174b036f2849ccd6fe8205298546c9e6e0036d2483b0d7384bdcd9487fd0791331808201bf1bdb339b2cb0c47b4223f3d66c5f2d5e14ea8ebe5a3c0c7b1a94231e703fc55fdc200a2dfeaa4ba6468fe72ceff8e386e7d68a0d94859447fe59888c546323de66818ea2f7d00b2dec4f89ded0566126b9a83d2773340f1461bf42213ac5c15075dbce33ae2b3726b52ea546a68e0f891441a180b134b133ce336daca82cce030b83e00c2ca1ab88e31902a902358f0af355d5a1aacd0fd52490fe76c9f7e33a792751045011c38d3162534b9d2ff8b09d4229571b52391ae09db6b9b16e91a2a70e8b48dd28c0a4053a0dd01f801fbddae8fce1745020db834cee0df5081cc905402496d138a196742a45991e651cb964c68671048d9f58ad286984f6a2004f49075756a0fd60d382bc21e07a50bbb99c04432a8887a4fd0216a4babb46da2fee8e2f504ab1c69ce6c3f4608b949acf5673797e8984089cb44170dcdabffdfdc0ce86014b6ab0c915c55ebbe6010d2b18fa4aeedae7d2882cb7a63d5514ff0dd3c07a8f8c21a34b4af7b9fea3e8a9312ccc5cc32638dc240762e8c935d2d3936e4b2f2e5d9e6172ad0d48aade1a4f8fcf1755d945b00a16f4af81bff1309f8154fcd5e220728932ac460748df51ddec609175ef09a32ef663b2dbeda5f588fbec8f4d0628f93a0bf26f8155c42c520ce4d37235203f040cc13ee7df07dbaf94bb58dd2343935121e449f37e2b1af90540d7a3608a8c7633611525ca4e459546e2f4499990a8fbb2bd24de0ecf5ee8c4963c678af4c4b580a272dad0e52214adcad0cb5312a41e06dc5ab9a48931a55154eff2658488353154d1118281022952b8274592bd195ef8bc6ce2e06827b7fd931d0563aaf95c1e253c551d9015a8f1605629deddcb8d381d84f179104cd1c43ef2e93db90162a7cf48d6daa97de787ffc699d35ae60affb3372f3159157b8de1f54d47fa911c347ab38bed6d814bab89382cd37b71b2a9041d359ba8dbd602a0f03f08f16a4cc664fd57a20404a5b98dcc7951ea7e3784b46117b02c000535940044c91c129554b55b89dad52050fcd2b7572220ec14b457ac1cf6ad99e1975cbb3f3885219d25a0ce026fe8bb8ea6b391499a9709b3237c09c30d85365dda81494016d3bf9be8516eca55d2e762f73ebb999a48a9520f9217cefe4059f67d40443be41d0e3f3cac2b249c4e40757b9d48207e513d646dc52e780ffc4634e71741f55dbe6fae799862fd9ce7c460b1974aa9c3598af5cad479cc2fad72ca3fdc4e5758c4158848f9e5516da06fbd9833b3486896a061435c290b2908dd989cc4b075a614ce320b3788699ad3436c45cc18926c64a26e73ff698560e8dda1ba6c52a29f37d7a8fa778c7af1551b14a38ab9a55ef79008207ba371d07d56ec2606f9592e07ab131c82ea0b7d154d7281d9112541e9fb900312b0988ded1f74dd069a15dea2d354be74692f22324656a8e67b0b65372a8c09a6f84c2e9ed4bf5f8de12aeb40a4f0cc8031ea77b976e04bdbb09a204b382124487a16a1565384b889be639c4e6528dddda75e19ef43856287c8c89fc62443b038ae8fe55c387a38d4ab1195a2a0a055dffb832aadb381b24c8113d8aa1f43d71bd75b2bc02273def4955bda3c4162e7257b3bbe1f791aca2c601db5d4b63bb2cbc930d6911e81eba8e86a4ecc4de8083fa95d7626085b32cb41021dd6f7dd35fddb2302ce908e48996c78d82daf8d54edd3c781f6a2c59f3f8743c71a14bc50696556392355bf46a09265bf7e8e9e74657260362761ca3b7007c5e1bff42fba4d13cb6e9d3fa16ac82bc1853e683df313f30228f27f6c8509a15b4f4539ae92349b69b41380ec709bffdeeab026930c0f841af390945ed828a16855eb448016a9ac61849d48699bad8ce214505adf0dae0296a9f6f103ecc7603b041de509a49ee5d5ae1ac6f686db310db710af231613124171972c08635ed59ed6c00a08db74ab626fbaf74016be384cf8066871770bb67d236e6f1daefbe4094aec246fd5adfecb579f380e7c8eb8f889c3333cb8e65d914fa4c4aee33d9e9120b336a97096fad21b18ed8452d86d6a68f2684c3b3e6faa899feb712376e34092ec2176c823535b5abc1bc21d98f2b19cce1d0302c3278f04d08cf1c991ad1f7e698945a3ea654c830ab7e90c9f8291c59ceed15023b8c1e318d49701cc545c2929fe9262d0b88a8d080792f5b24097a7414ccc0bae33c601f8d2208ba375bab133c03ff0723ccc2be8e03ab96fc9490f9f4a8bcc7b07e54e6018c2c9ba35fd9f786d22a58d6b14f94f2f5bf843e90d481b7dc917f25a4a6b5a869615f7f4895d1aaaf67345ac8296949fd4075081f1cf9d9e08e589fc937a0ca71de606160d43b0bb7bc65552563466fa829b9b66f7ee28adc662330ceb114b05946c02fb17a076f6fec0df6e73752a3f3046007b3036bcb7fb53f3dfa4a7aa2634dc1f33566f6260e892f3df4262d89d31c1451951c25f87a46f844d5780e15472f79587574ffd3d163f4a0e6985ccb5f6f967179b427d2cf1a6aafb22bd6f3a3aecc167d5c4bcf49df533b456d96630f38d23488acec39d229ba478eff39d51014933c09f8f1c876514bdca0b7970ea79b3d6811d0284b6fffda0e3db3404a9b9c864575dfc140813924a68d3e1b77c321f7024438209f0f54f878218d644a8ec953f98b839f2daf05590eb8b3a447df7a1cceba1b36c431a59a331b3842829f8f207b3f20993ffb1be8d0f9c89543097c3054f0c71dbcd1f6101ed7cf4d0408bcd550f523eaebd986ab8c652568493ec1fa6b6411f91d16d360c35474b868c02fb30f622c72859945289d7e248e6c6adee8d5f55a516b32e7f8c7348580ecdd85661438e6ef93489e338e00f84a52f61411f49422fb8492ee60b85f3126521fe317e32457e2ae6f77947d77e6815b1d54987b91d2789cbb73e6149e7f0daeaf0356e00822121991a9c188d91df3027c5f5b7e02afe87dea9b042b2fc93438332ffe39f70a05d656b51046491ac604ff3f36df88453f811f1372e89c0b9b968f15acbb2884dd830f4d0ccaa879eb429ae024cfbae15d7f9c3c57b9bbbbf50ca8f98b06a014f7b31102c8ddb1a933754544516e849c0f6953e4a57fb89cbc2bff6bd102a145a7b60b4b0ac742e08820031ecb88e13495878e54c3677ad5d77a65e424df0e2dd986087ac466dc0b72e0975e748623f47a341458e0235d1e5ccc93c26902aef3c316e72d018bc408c2ac1c79a6d5bd6e384cc79028b6f8972b121808ac8610637c19ac749c82166741b4299b02bf547b39ade2ed1f43ab19227e1025b551e0a8060d137c2dbc0ef64829015c5728f9a4d26fe154153a4e9e69fb777005c5aecc81c8177ca34f9c27d5847541814834ae41158a4504508cc35ee675ed93c6691cc64d3e84c667cd54df0f860c6cebba8cac392da3f93549528b29cc1dc4e69d6b930b9be5d43e918798587d67ec6df13f9c22856e0de0b24bbd6ea6df80edb86e8c090939391226de63b1d0e58d41b004389d9fa7546f4915b7aa683a9b4811d7dcbf43afe218721f3d74f53e3e7478ed057e16fb89e9955a0a77d99679b91842ed6a9df131cb5912b32863a0e234a780ffd5238163c28fbe1098bc5234ef4d4cdccad6b6e6b6c1ce8886008f20c4a716deaaa726e67e2c266f999ec91da51a21a52325f70fb89f90b66b9d8bfd2c8f63c069136ac0445230aa25a7ea48167411fe91bd1b4158f77022b4ba7c87bbddc20f457ac6fc02ff80154b462fff1af4374ba3a80f58b4a73b883b0f8564644eb04eb29865728432ba052756d15c74a2ca92e791e2276ad40c9005d63ebd626ddc96afa50ec920349354faa1e4ee4fb9e73f88a1c25db9c91447e68b55681dd9126e956f03aea728af73d5ff4861fe5980b940a16f1400ea8209c55cfb193b768183c2f3a9a5cde179d10299d9e46b8c9ea09a093fc802f99eb18f46f2bfbaefe89ac7ecf0fe472c5bb4d2044312409b8358e947b0750e5c4a0e43fc21312d81ad98537ad83569e8058f3785631ca37c7ccfe00eb8dafbb6f8a58460cbd14728ab218cd9049e27923e90ebe57d00b0e70482aab2567dae62a90d0322c46bdb57a9edef5828eb717b15aed50d7ee3804f5c59d8fb7a4abf4e167fafa73bbfe95164491faa8562e64350dd5798cf3299d525c59f25bc450f1529cd5aea3b530f40cf161c7382231d31e671a6ecf4744b932d905d6bc7d070d4cdacc67be560c9cca08ac7247b176a84a168e78ec8f74e2ccc0902df47b31e01e3981762c2830fa18b1b46c4b6ae1e8cdb3fb95ce709c1b2ed8822b93b3a3000ea5f6474f7d4dc616f450ed8cbcef1a07f1678cb731bc4de649ed40060b8d08159f8f2ddb807052b1820c3fbc672a7b1c52c677ec4b18fc9df71cdda080f46221878a9ea229a388cd9a6bb9685aa40733a28dff78bba631b1dc34bfc04546a5fb983b770dd5182cb4dc2008ab164ff8e93f0747e073ffd2ca779dc3fd3f03e22c0d84db60e4739510f0f754734dcc082557918ff7a84765dc2e8832443fb3ca27bf1dee2d4e4b7dc65ebd1f211209267daaeb87ce684291464960ba0d38873930ce96fcde59ee33c7c4ea64718aabbc327c2aab279737e237b4064a30b50afaf41bf16bae1506b1c3c5785239908c7f13a16f58e2fde5c5c7ae32baec53288f8fcc780a62845496bae851c2acf3110f0dd97ad53b6be06b97a1ea8e56c2184039094f04ad410e3996e60959fb6b2e273507212c1eb0efffcfdd5ae6719761fc397fb78b19f9bd2870eb3fd5ee61e04ac03c664a3bf55ff77a0f181e3fa764c9df89e350067294530a1669643dfb683127006e4f4a4d69ee133a8f45365ceea12b725b52470e3d801cba5eeb0eac421d7c942f69447a006740386fc9a649c6001e949f96cbd0fa70b1c34dd2a756a641ba1a32d260bb739fb2140b80174c0a4c0f0b504db6cc535b811b1adbd10b68f35c0552340e2fd454030923801bb74cb5ea4ab98d8040faca99e248debc3cc25c8fd4a8f9abf129500dd1809df374150363e6547f8e8ca0719333dff8b5783df9a3f073e6e217978899d7b2cacbf2b01d882085205d4f00aa443305d6b39b4e98f9707187d23efb6eab1eca8b14c7e01111013fd4b793b1e3317b53f0a8f3ab340a8ab97beb814142df6c8b86cc9a7c492538059b91b255308181e6aec17adc3a222eba2aeeaf853a622a07a918cfbf3a8d6bed5e353db6e6b7db9f18582e0853604cd794ff3a49af1709eae9d1ef4a78f64a43873cff5a2d43035b25b2fc59801bb0d44c096c4e79ffd76186f132227cdad4069b785977b82451cc668228e1caf47fe2d7b2303ef15cee10eac023591b34ba4303f4354141523aa003f786251f79a0bcf3ce579ef23d4840ab62999158b1bd71377a2326eaed3a761583424de2d72d1014a385fba05ea36ec7cba8d8e7e0ebc8c89c90d77d4ff98c5a5b0256f210be1d054499001d4eff9d918cad01a3bcd8a302ad13a2f0a0c2d0b23ea9a04a27cd58c135bc31c671c28c69e768b96198e86d6a62eb78eae5047e074afd9830246d741dcd36d20c01c35188ac9d984f9406ab367ff30b5fba96c702e465e899012a7373e2e808ac6fe5cd355135054202ba6f384574841e179a3b8c4cce371208a2e0ca71c2221eebffac00817be957e2bb7978be21434ff7810934876b810185c35fc4bb310c12208cff6f5b7a87a81cfdcf1ab27210e6426667ae81a9f812bd570de19bfa640afe26c1f10398b798b41ff166520c9281e1873eb1d0057add22cbd3a22a9e149817e40494f7e50301bceb8eb9b172b306e8243243ffc21c54175318587f01c7fa96a53513c23205d55f6dfdd457ff2022bb860d617d3043a90e466fe37f6a3607c69dc4216d3f8f29490ca0668c8b0b6b0aef600ae58ab9e6f8658ec5bc15c9ace7dd55898c0ea245b5208a7b910c1ebf52e22ea9cc576cb5fd43464f7e860bafee60573f3d122f156db4b73075dac886eb39421e066725d9d6b6332945f1cefbede7754c8d71122a24e9052b6e673536dfedb62ca2c4ae9d71e2a4bc10d411d41a2c49a48a0052aec6b9d6fcd83ed934da5a037c9bb97f94e7874629d314981783c8d7aff03f8027edaac27c62f93548be35c1f9f0580fe4436b189e5992e25df1744bd3cabb7a7b13a804dac1fcfe2a9d1344097a1bcd00c74022f800c9d66daae43a262912aec0b5c40658a96f588a2b40fa6388203cbe50da9e7a20a26805a73da9182655175a48dae7fede3379ea29ce85ca4f955d3287fe1eee67bcc9ab29600020fce64d5c190d7cac9d692358d2a98240e90c03e02584546d8445fd919b4b2ec5fdd7acd0437ca00576fb699b01f371f73fc9f744475b3a69ec19fee83416f5c0074bd1667505b6d60f6aca0dc36f54df56c0c78bfdf795e078c240db8909b822e74bd0f1668ee6119bacd68a923b2e610e1b8dac4eb8d60a0c1f1e3ade43f4f7ca2036d430c8a3e18efd4196aeaf7b1eca33be78e61351b60723acfefb9b8f436cd2b2e5550c8a8c1f36efbd64f686ce7fb456c2157abca11535ac41e1270fe9ed2eeb8462e4116f0d307fd071e901d6d3d86b7e613b6688296e5d5b8b7c72ece2aa942190585cdea5bb4b34fef2d27e99722fe214895c4e62e4c1754f3986d5cbaa1ae5769e57fa054b3a2524b698acd023c4fd181c11665e2c15647cfd3bd72f570747c2f551a82178c4369daf6077c9005ae6b041e0f5210202c6975fd9ff9c699731af6b4dd05d169f21594c7fa58d7ebd8b9261da3fd2d5a20fd7e16085b6898f043ac212242480c8f8120f280c3e8354d02d59f6c77c9ca75b962f9ac933783b42e6a1fe8a39f02ff0e930feb0f2f96fc723b2b05bb9ad5543247e4769773d92757ef33bb984e0e36c4945d4942b09c047b89f20bce43a950e65c360f6921be599e84490885d9d70b86614cb04c94b95665ad648ebfad7a447b63d8e6b2d7850ac1a4b2c0604368766511826558c76058e62a1b95b7cbb2ae537fb9969a9672ad20f1d9120c733766b13cb9fd152285153d4130252e7775cc9f9440713e83c132180a7b759b09c66a229945659e7289ad34622bdbadfcca9e8d04e39f7397f20b46f4e2601a2c1371b4fc8271352d8335714331cca53a6cf33786e1292dd3af9e0971596fca317ff2c236c1b9c6b91a4cc35eb11bbbb4de76b547e958f7def238f7f8557b35dbb253424f320cf398aa913207734b4f929ee4977be2ceccc1447052d4d216c51aff435484a2ec1951135826ca1c77df9e632f186c68888a5094ec6a925d51fc9d09c1f24b06e5b22d1200a8c018fc3f12315847e1fb8b7abd60f48b7abdd89926da92a03941c8ff433dfb07d8b838fe8b4ad2ce642ccace342727bf60aecc737067faef0100c7e4e198c344693cbc1141b11195f9cf5b8862dfb94441ff79fe9f82df5c5fb8deb8d07c76e5d792cc05ddb2b9b26cae209b06761ede3460938f3408e1ff9d6c1a0440031effcfe9232e92179e8361f7e4609d61feaa998393988e8e9c548eaa3c89c5b1abd937969a826397c3ef924c871c5e07101f107cbcf83490011838db113cff47b638c28351ce2f783b42c29128455988487ec5b06edd2340f9c565cb800219d85942844b0643fcc3319ba24b886474bfa0586992c194ff87527bdb840826da9cc34447f0864199ff18d6b30d0327ffffe4b29be72d488efffc0a3af3ff4482605bd094966d4636234e6c463c4eca35c2646f4676d07a5a048ddb9132771699ca391729ff73ce31dc671b113b4f44cc3f17d366509acf72ac8974598ecee56758a667f036044dcd1dc2b40d29b70bec7033aeaaf1055f7ebb80c93f7701eb3998c75457bff166019b7fd999cb67dd02d83f07af1dde2cf8afe0cc1353de2af88d023514ccae2c31e5292da380c94641ce446f9f40ce731dfc3641ec3f4fb0e39f73d95785f596b63b952755aec0fa1682e6675c08d3266487fbc4c65b10395b90333988bb05f1c1c1790382c606a40ca755960604c90624824d02371ca7699ada37fce539bd49f072a7b42c56f9ba72f1dbb5e632f5e571cc61d80bfe60f6488535cc6a17aca5b8920a8c3714fc3ff7c2c231dca3706cadad39c91c6c09c7c1722cd5b7cb4af59763d9f6d53057ec1ee16e27aaa544ebda8ff477c6c63a8a4d623aca30db637446fb01647b408aed01da739ba770dbea94e52efbe4f29cc4c15ce79a7edabcef57abfc0a2c6b3d3bcadc75ca997d7514ccd260a32121588657b7b36fccbe525996f9130c3624c46131876130f7c2cab84cbf4f5c96656330aced3d8565ed6a196f62794bdb5d96e119bbf510371e75b85aeae27c8da9ac0bc6c13356d55a0a3693d1d2b837656ec6c61d6e591e5332a441569291640d32e72bea76165e92676c8cc6bc553234636321b5d52aba24e66d9224ac2b86692f0c06cb5c9a5d43333616ca3051ad256ab5ec8d93b26e694f3336d671da738f5bedb22b8c85c1f2cbf65e64c6c62f1b5524730d63db59ccb634d95196f33d5aecd0e59f60590c1bbd5e3b86d119ac83e9b94d078bebdefae079e263c4ff73f09b4f8c8b57de6eedeade6e3e9b0feb8ffcb6b2f3dcdbb7951ad8b66a815b41d9473d66f7b9d9265176db1e6d5e6ba5f8d683e6ff9f54b9b2f5c4fedf69ebe938bef5b0fe3924bfa9e86caa2fff30b8a9f8f678feb7dffecbf6e5ff73303b079e9f32479977c5bc3647ecbf3587cbca61e7291f918329735bcbd1b99d75c9b1e3b90bd871ba809b0b7cf96f5d80a3815dc66546710c1147fccf35b99ded322ecbadeed96dc1914687e30cc7ee138e220bdce1ad86b305c0fceb96057654c04d05c4c03018fc7298e672a2df7e54012a6f4ce08d1afe39fdc4ea994c53e00a0ab440813114e026c08009ac99c00126e034012237d470038c931b41ff5ccac2dd89c371767130f8c87669ebdbb312d876394c099a792c5e3b919218a611bd9e74bb227159246bccdfecca34987b7b1b5cb471c4ff73b426188c4375a61ae7a0b75ac3868a6c97b6aa496ab3222912211894aa5fa7b7c37937714f37e9d54f7a77daeed9b65ad6d4bbd34c23bd3c6a6969b34d9ec05dc94977aa6dfdd2ba8c5359df2baa203b80f1ff2f779fd826be39ccea77a6d5d976795ff9cbf4f228aed4d9293d5f36efe2650dd85c943f806525b02626a629b928b33035ce48b1a91a51feb96c81654e8d2272feb9cda65a025e2420f433dabbf58e59a608e0f9e7767b948f2220e6356ca665ad085469a5e106b75995958a9b36db04de3c8d16fed388a5c1e4d3f85f5b68dc794e098d38ffdd4563867fcee98c2fce50e10cf38c206e73180cc6d317025d2030e48e167754b8a3e40e1133b230a30833b898f1e3016c1e90e6011e3c97f2584ca4792c86b169ee312c130dadb594cf645d753949224a6930d1e66fe6e9669b646e88474dd1663a6e693216aef576c6b7104be501445a0f583dc76637ee6dd3cb99e0d8a5f5b8b74df0dab391bc24c39264182c733de6fa1bf337c3ba0cb3b3a6dc947997792c868fcc74863b8f4d8788521a2c94a5f6667591ed16819fd8d8eded8c16b3aece147725dad20d2c1b46f847c928f32e972d3032aa90a1b2b3e69f838fc02c07d35c3696da525ca965c74e93ffe7fa5be7893a3cd4b95247c7186dfeb925597b9439a7d618696b8c1d2debf2d90c16d33a0a53b9bb801a9e83334c5b935e0eafeb12574b73caea37d62dcb6697ef1951bcf2166691c4bc8624bf7a7d799450868762986db55086531a9c61198fd956d3866a42b0bb147725fd6a26587314a458340809030d174608339a1b860e63c7ff73ec1127f9884e13463235cbebc5695df4ac174df5264fefd1ab99e824f9ff0ebe05c61760a8f9e7601c8c7be1ef8c5341ca92c1f80246f7859dff42cd17b22f827841e79f83c1a2b83a3fe17cbafcbf7e35d38ce66ade22c5eee69b7b11fb7f2f84e6b8f9e7601aeb6ad99c32ad3953cf712fec1ca6ff9fd37173feb99d9461b60b395d4cfd3f526e73922e4a2edef87f8e0b3aff5cac9d8ba87792e22eba0501b6d8d29233013942c891c929a2c51a2d2dd6fc73b055adb94739090acb441c0bcb445b8b2559c4c171b4d895c59bffe7b2685b590cc1428ce772dbc2e28807dfc222088b9e2bdc709b7350ae5059d18515353849ca5dd77944290db6624815555401421541546441451415638b8ae75c435d2a4ae68a1491bd3c267a727beb6a35777836d3b257bb665a96e1d895673dbb1ad67b9599966a6ac509e36800870170ba68c1a1c1615b7078b410f00302b020e07392b4761e73ca468c706b87397f9204366284739294e46d923923a995249bbb529d4bca3cae35793953ac9df4b8467b738f61439c4b28739b1fe99b966e3573332d05c75d6973a499966a8abbebb6c08a82a9afee7fcf0f132f8596a2cc7d95e2ffa3a862f32860ff1f45f9ff51b038d83d82e2ceb7a050f3ff6fcf50ccb858bc39146ef0bcdd8a9b1adc840f78a2cc3f0783d55a585e63d59327ccffcf7a26e3f1cb99b894836358c3ff2a2faa23ad2660ff4d2c696248ac73ce5c6f636e6877f66533ccbb13fd6aa6b82bf5b669890a3ca5a9e8a0baf2baec134f51239dea25644b006929a18512689ef33825be2811b241009b33ffdc90cbc2dba5b5ad16cab557c72eaded516ca69e4deef1da93c0f3ff32adf234092c92987a98b75d2711e52809212490404245e2c7115e1c6180239cd6ccb1868835283c1753632d4be2f4cbf78665a2cd87d8a32797dd9b3fc5b4a5cd6aa6bda6c51901c788a91ed75cddf63e3382e98d088bb8c3c12fdfaaac37b179cea9882c2e4f958ae88aa025895522e60c09e523228c2002e6f69a96b588107a4eaabb6af07081b97cca94a6a2260edb3fe0b3aee60435ddff739d8bcb1e0d6187538f865887c020cd1aad346838ce656960ffffe4b6d2b084e0308d4988324230796e28cd6fcf43fa1482f579ca29083b71103cfc7fac695df8d671ef52dc05e24a0b88243f2ce08714fe9fcb990b0cb6c5b5d7ce3db9bd85e5edf6263e84e003119a2fd0b080e68526081a060e1045eb004c1c603dc0d0017edcb47a80a1d583971e860cd0ae4999f3c2beb12b7669fd35c463b111ceb5a154166af398e5ebdb57cd6530773bccaa7152de47509801960c9041cb003a5a3c84c103112d1e82e0c1038e0baced7d06c36d876d21ca2edb3fe0e1811dccd82188e7322c1365182c23597b866d7687293b741c171877edd0a343103aa4f0cfe93025070bb472c093030e397cd9bced7dc6cfc071868a33b5334867583884818398dfdc65fb075c602e9f2dbd5eb02d1949d6206758de7177331298c73814b941ce0d25dc3064c39c7fae087fd9d9142f0273a8580c47bdf9d5fc1d7ad9fe419525a1b6f719edc806156c306b20a30602b46a28e2b1d8e53118e7b0d4cb615a9ab9acc34834c468e05a34ec68cdf0c40cf00cde0c0d9891c30c1066cc9871f248b8db8978ccc1290daeb52ec7779765974582948dd45c2eabe397ab99eb2e0c56268a326e192632e49161ceff733d8ee2314beb02b3bced6f9295958d9338d7f5f629eeca2e2b3280318811030ead187a2b8634860760e8714ee3edf214ed310ad56169cc65d9694989cf3af7b9e2de39efe5b2fa89c73a86c150a40055b40af0a600b5028c0550bdb0c50b22bcd0e5850b5ca0a2e582132ee4f0cfc1500df2abc495c4e3ae948d705c601909c7e5f5826dc930128ecb346d9d9239a28c84dbbcd6dfbe76a20c836524f05136c2b5bd77273876590e83ced439a6d29a32e7bd3c1afc76a9ec423baff3d2b5bb6030f8c8ce30fbf6998c85b97cd661b9b3b17e897a4cb493369b8fbc7c6ff6d56bee70dbeaa833a5c1712cbbf4939b63aa3e3397b9b8af30977555cb68aaaae157aab7300beb34f3adb6bd736def45b84c3f41c145f2ea6a7b9fb5b459efb3fe41ef4e70939a7b1477d7d5bd0914cc5689bbd2bbf4722895e520ee4a2e9f2dc55d29ee4aae46e2513a4adc9560de9db87cca94a6023ba9b530cc5b261d63dade99d056c7bdedaf9632da49ac91915391159791535176e9f7e5edd3538f8d5e148679dbabb4bd33f158c72f77dd2458bbbd49cf05ab2effbf6355c415733dd3b21e55cc8d096d98e066a66531bcf297097e390b731686794c9b35c16f4f8add8e740ef13fd3b230599e6b8511facfafdc6a95e5718f32eae17a6d23a5ec8a52e4ce5acdab6cdddb9a667abd5ebe354f8d8caa388952c4631d0f34b1c69b20567cbc8f2c52ba184b70ef8004722c41946701cf63025c9080186081dfc1c646460a32f4fc8e1e1928808b13297c03e51d0a5af8c18d67200435a8bc90421aaf634e6b8a3906605f47912e12012361de670d0505300304c2fb986a92c8e1c813bfb222090a10c08dfe552c02311e2000e7572cee811eb600c0f7b889474800ac7ecf9417775464a0df5392e094c6f3f12a398c6842069b1b5e55059c780c0fc657d550040e23de88f0aab7288e238217af9a52869644c802af4212e782215608bdcac7d317ab1720ff792ec040470831fcd399c1871fa480e13f0a1892e0a95df94f7345028658b2f36f43031b8f05af7f155851527c2ef81f41891d46dc20c27f972fc650f9a4f95f9daca2d83cf0bf658cb4278f19ff554ee860ce0458fea5188905ed00e6bf89992f3e1942f8573267162361e05f7ce2fc189080ff2e0a7b0515e3bf06e8141278e5f8cf60020d40e2c3eadfc8c351c3c8e27f48973763e420f35fc106b0a25701fe85c092dc81c3827f09ac70e2a7071eff405ebac03218f2dfe2514ef068f1cf32e10705c84081ff1f745248801068fc3f7065a80338b37f07e0f8b1444e06ff3da45892a138e29f07104356d0e087ff1d4384d0c50144fc3780856bc60a29fe1be8f18053e18c7f063850a3070d827f1d681e0023859e7f1d405ed831a3c9bf4f0b3080f1e2ccbf8f1038a40d57fcaf86786087043dfcaf965c651e90c37f4f051c10c00a44ff3d4004b1c1b0e6bf6745c2a948f0df734489360328f3af5243078e849e7f551346033832e25fc58205941ad0c0bfea89a9e8c9ccbfaa491c3071b0f95711a1000b22d2bfca2784222268e2ffcf50054181fc3f17a39b2a08f0ff6dc028f3c4e9ff7de00188157cfebf0c973d0180ff1763c64f9cf4ffbdc0d1c61453ffef820004061effaf6ed083041ffc7f07426486e0e0ff9982f8a0c3c2ff4361a3f602fbff4c7498f32602ffff62b9d042ecffc3212c76bafc3fa70028d426fe1f4990ce0a15ff8f819c1a42f8f2ff44def8a08b2dff7f0198281f8cff4fc1073c7a94f0ff41ce8c61b2c2ff4b30e4851913ffbfd581e383d0ffff2420cc9d2cfe9fc523013498f1ff3f6232a03c9d0a2dfedf81332e885dda10a2e6ff79a4135070e7ff77c81830821cffdf800b5f2480c4ff3380455b8ef97f062a8089f1e4ff758860c54702342814fcbf8f4b819b26ffbfb240166d56ffbf7ae155c391ff5f8d5c5201febfa70c198840f3ff3d327cb9c1c98106fc8f9ee7799ed77966498e62087edee8c17da654d4d7b7a848372962ea4e2f1eeb570dcab02e826b9c0376d3b4fb046bfdea99db65ac7e9f202843cd07bdffdf53060effff6594f957199126fd07daf400e4ff7b3a985501c20ba039d8f8ff1e343af8c0b4311187fc7fd5062e6c596a618c0d6dfe5f85021a43865e1d4540fcbf2a8a15095d4899e325f6ff3d271801c28101185461c5ffafdc8840008a08620a3311f87f55162db85013a48e1704f87f951a1f649c2818e28ca4ff5f2d9119e920438f6b88ffef99726ee000148ea04081ff5f45c0821c09c850a6cd0c30bca19af39283c9ffab1ae00601428843060690ffef4303ac0133312b3ea8f3ff4452dbe531ccb1ccf1ffafa50cd6bf947e4157aabf690cd6b18d8c34966449469e0c0fd027977dad5853e6553e0e78f1efa58b0d62d8997a4e855da55a0c3e20b8bccd4b8cf24cab3ad5d1aacafb9eb0ecbe5e0d7801f22106865501c6a0c339a519a300ff1c96cce5588ff18e11cb63441943e87f8cffff0588d1e3ea55131cccdda40b56adf729d3860f1b350e851259cde163c5e7f421572ffcaf5cd8d1c094fef2bd6a21083176fc3fdfddd5525c0907055ce1b26d5640cc79a03a52f55ce0026a545fa8ce90e2b730e27ccdd52aa76be9ff8a85ffd50a01e81900d4765fafcd5da925be552cff2b15fe572930a153c3ff094a2efb72eaee2efbc64657b28b83a29996a19cbf716ac4ff77f90d0c17d08f332894e65249c0e8f1c503b8cd339f7515ce2a8f425fafff150a6f059931624e5899b00af36cdc01f32f815ff2ff6a783195fad0610520032f8afe5fbf52e89c373ebff24cbf52b9c73d720c4000b53959fa66c06b63eb828bff67e0b72eaef8d145ece197eba2a88b245d1ce942e8dd1eb32951d62abff25b3cc1859867673ac98f018365edb4851d1ee5110d99638e39b6205aed88d9f47f55c297bd75956d0ba66d8ba52da6bc517615c56c93ff150953a795ff2f32841c37f0cbb52d57475889f0bf0a6105c253e021d0c0192decec60c0a6454692675a4577db675aa575e11b55795412d8ed2c0c4017a4d040ff7f2d0f3484ceffcacbffaa362392b944eb1bf5ffadff1ea52cce7c170e975c47b45dfd4ecd91fac9b3dae07b2668a9d6782bde0a31560fac78fce320002ca2c46f87ff575132dae6e9ff0ac8021e5c71c24ca64e69595e52945d56d6b304e4401cfdc649bea8ff9843a96c3cc51ec5bce9e5bca9893be12d925112876198f5d0292d7b3beb5ad93c8ae529df6e47e356c760ce57955fa9d19a44993a5faf2e6ab3a891d190500c77191a6bd4a868aa3779bd369feae9ebf5f678568b51597f9f6c8ee4f2d9129214579ac9de28bc4ae7451915c9d42cafd717b539baf9ab8ec079e3e197a3759cc875445e6a5254c039e3b23356ca0d1c279795358180388640400afce5a0debe72436e578572baa7b8028d3653a830053b45d09b39ded07911f177f6460c7759d99b28aa56555ebca9e0797ed3f897c209297490a24c8f5dda1b6717fcff4468bf457146db6a35840e47114281c7edb0e66f86620d142140512ec999dbaace1b143fdcdcd1e1c44c1c6e52e0dc38b909a2eb3c81c513aa51ce2f06586f27febca4283f41c489363670ed35ab1330eec9659d60e204abf67a00fead89141e7e39b8fc5f15e1a94bc68d385f8dda6c6913e5391aabe198aa74d486c5449b7762425ca28d250cb02d31f5b2de5f18a7bdf112e5a6c41d4e89175ef68912f9f1fc3fb9fdc582b4c4c6cd3fc7860d1ba1ff24def8ffe76fd75c2a0936282c09314964f924caff24766041028ddb5bda8ac4d4ff2331f4b0cb9e46dc0bdbf41a1919192d15154df526a8947e519ed6b4ec080bd650b1a6cbb6266f46c861049ae78660a1dce3acba6cad568bd996adb9ba164f71976d551d2b428e22c028024c11dc56c40544c021e225c2c8a6268f9a38ff5cef4a993673d5b454ae25e132564b75276e4848abb0abb92c2341820449aeb56be66e77d5a49b1ad706af7d88344378b00d51f4cf7181f578f3d72b4d9a3458d2200991c626049b4d08023c07a5ead4e57a8f5c288aa26bd3cb99a634150e362484eed72b856598e56daae1774a53e160d5f5c635a2973365fef275e5efeb259461975d93b2ce1c1ac334199a69bd46eb35a722170ceb9d4e39c13a3623aac241bd7da65b2ebac43c6bc21579791cf3b44886b596c9d8bc7627f9df8734801128300d6bbec6fac8111d1f7195e8fccee098ca12b979aa4b39d1604e9983b38ccb782c3ec2a56296d60506bbec141782b98e322705c3328f359c6bed4cc6c23a16c3605ae7729732b75325fa75b9c0605bb8c0605b7a9c33c7d31406cb32cddf189ed1f2cb6570779f34bb734bb4e6150c3638ad68584560a6ccaf08500610f7b2ef8cef5afbea134a732c6d4b7ba29990b0c4541a95de9df47bb6ad46925297a6b88f6b64e454d43992118cc5edac94aef2bf327aff57e6567abd86dc26a9d0b9ae4b6e13337176977d0f521baf3283a770dcdd9e2e09a7bd682991942bed43b1aa855cedea9e398caba5ecce4872ce2f78ed44fced6a7ca4d6b24899eb67d7897949eec48c24c3768fdd2e63757b9439a8cecbb17ec1b1bbbbcecbaeda14c77e0033bd9d83ff9f85df5a38f31bc05ce652dd1acca307d276f50b7ebd740b4edf43c216ea01c2c21b1672f8ff9eaf30652716985808b24218ffd905cbdcd10a4c5a6a5b41053a2f5bfbcb6e2715c40c096d2ac066194905380539b614cafc7330580ab114ba2828e041a14cccce60be51285398cc9de7b4dbc9a8f9273345260b19d610a7c6dc2534868e7eb51a0e86c7c4fe39780c136e0ceb39570c9e7f3171ae742631629e1313454cfee74e10e37f3bc18813c29cc045f7eee22f7f8f5c2cebe25ed826b83de2ae957769bb5634d3468ac1daedec93cbc22c15cda3bc1d090e6335c7e3208033c0b0feb70144601bc0020690c3c32e8beeb723f1b7ab2faa638dc2020852c21daef7782b81cdff97d0c297c0b495f0ffdb1734be00c175d768edfd857156f4b8fe1f66a9eca4b6b3da27880f91cd59978dc13aca083f8c307b18170fdc1e8f008ef030d766b778007b455093b77890391196448020842bb6105458792c6ec2e52a316d697319eb1442900e82dbf3ab414003c22ce6700621ca731b083bbc4cf16e2dcd31cc72b1f808cb5d3676b5975a0a93e26b1c13d5dacd63da8c47b12ddc6bae8e5dceaaee914ccf9a784c9bb14d4d71c089e0ffa3acc052fdf2adfbab696bd42c6ef34462989d9279cc299efaff587a94f52c2efa192d0682d78eb4c169fcafb09bff8f6d701998e93fc75638087fe5bc5fb697e9fb1ba4d531dce5ce3fad0b9ad74c5d62ffd2ba845d2498b9f9e766536b7f728569c6446758c7660f6c590c6f5d8a0e770b36774ead75f9de34b8bb71ccd375655d205cd7edde1a16ee088d49360059922f5a115a24505c408db0413df900cf0771fe9fe36bdb57564ac3509ab74f1a8ef9d37e6bf0eb762ddf5d7533b7f7d10753cf7dd0fd731b8b053b15b36fff40cba2381b53d7b847b9e21eb5d90ceb181d6e75e48d942d16c43f1c63b9c0b670816dc92e2eb038c6d6b4944ee2fbe9d5309b399d5f56cf6879edfae5300c0f09b99c4b1d654ebbb2b7e716eae532383d9d969468ae232f0c6ba2fe947586c51a85e525464e92f4ab77e6a2a2589d5daead6136bf2ccc94b9cd66570cd6312e30d81624a2ad612749d96d5b5de30283b7646e2973b099a602cb3d3ed23cb7ed918e9be27ec54913df1d094925010fae478d609a56638dee97ef7729669ba0f09346394cd348b146638d1a192915c15c56a548e557f4ab993ae0fe39ae65635acbc634384b0dcf61a8de9d56409add7cd8d8b0b8f9f75102cbd6718405032c41fe67b2373693bdb12b621c415faf2357d47057e2ff7d85022b78fe615c602d6565cd1658b6728295250fe3b259d485d6d22d30ae16bf7a16c5f2a325a7169e839d9c60cf3995cf6d4e5b131daecb30dba4e6fff9d624e69b84fe9fab22a7ca99fe56896d55843800dce91b005ad800a0a5fcc6f446dadb27a632cfb9d9cdb59429f6ff4c44f04eda2cba2d21d99624d894bed89456508ad2e1542973342a12a032c346e50b15a129727a7fca6e97c932ccb25560b0f628c36059c396a690b04de9608a4fd6ac4be320888d83077ee3c088142c36296da4f04dca902d290e37048be3eec2fde5db5593a424f1d8a2d889826e515c1b943336286ea432dcaa4edcca417982b26d4fb47802e609b73d3172cae999e34419866e0e732f8f69dda8e8e5aeab611d2128829eb8b91823bdd223a59c1fe975212f75676e51fd56afc7dfa724e924b75a7a20686a8f0c43d0dc31d23312e52cf59a961e5fbdf2e3e638ee580c26bd11ca997ae6aaae25b83d33f4f6ca63a4c7dddeaa689beab8cbfa3bf3bed793b3d4624a82e50e79b779a776ebda5173ca796ed00c45ae869e18ae3bed4ceee424534f1545be9aa156491d926312d2c955518b9ff9959de6660906394109fa40dadbd77626633f7126634119cd05d32667bac1d0f3c472143b728fa41a233d14f43c6ff4541e052e1d9d7c04cb708bbb13451ea6eb17233d3196ad60064cce4edd24f7b84876a51ec755b5b2c149921ee9a52959ea8e5cc750c7d4cec36274927c835c8fa606432d6eb18c91de1bc3a819e4042588e362d9ca618969b2a02755823a51490b6a65c9e9a9e21e3b0ffcd63d8664ca63a4178369b3d19b52747ae59a7aa9d67c2c7929865d8cf4a4fafbe47d4a4eb31449d22bf7988e9f26c732467ae87eb9f791414e50828e8290829c829ca604a9fc8a94ae6276f092f5bec33c4995f444924cb536c59d721e23bdf82d9994e706554fed3c4eee10ec766ac648aff448f20cc5f54bd5906f70dde9d6658cf462d98a3eb92c94c9dfae864a5ad06e3c49d54bcd7225cd8f2c4b723563a487929ecaa35029fd92a29216b414cf95f43e551dc52f0d3b5dee2f467a2f77c313fc3eb22c3db2135775fdf61a233d188df993e8053941817550f7d182aa38e1381eeb98d3414e5382d0d054d282aac480b2ded1a71745777ce804dedbf18dc630ed45d11f49323713227a8bb834f0501eab00490c665d76151a42e357c7478460a1234f2c4c24032f0803a1a06c648222dfe69c7d63226b4c4363977d671664cfc8906f26eb2a8a7a50a3f8cd544e5e70c482a10a8e50e09ac0e3501708f98c04812b002224019208bc234043db76351ab654989515f99980f52404821f1eda5b210f6c8e810f140307bcde0ee9318a5fe68164c7050d7c4518a04087109ff2f3d08f43e936cdab7044a7ba548c3eb9ec14b7a0c7436517a83cf4edb146e3295ec14b5042046d8e507199767d226883860f075e4e9d378efe5940d2782021f10e075e4e1d3c47afc367d5c3f4ff4c472c296e3c8b03a0677160e5ff81fc2bc9008899e47a5612d2b392607856929c6725a9f12c29429e256583674909c0b3a4d09e25a5866749f1e20104fc4020e67f2060e1ff25d8f103821e3b7ee084f03f705cf81f3843fc0f9c24e034f13f70b2f81f380af81f3877fe074e1bff13c7e77fe2b4fe270e91ff89a3c1ffc411ff27ce0671a0f8f8d1a3470b8234be05c11bdf62adbec5f2f12dd604df6261f02d16f72d56f92dd6936fb1b27c8bb57e8bd5bfc5aa7d8b35e65bac1876b4a428b5a4f0ff778007ab4ed0b3ea2479569dd7b3ea3c79569da567d5d1c2aaf3c18eadf5a386ec7fd408e17fd460e17fd4b0815527fd1f35d0fc8f1a4cfc8f1a72fe478d32fe470d36fe078fcfffe0d91cf80104020a6828b3d1d0c346c39adf68a8e2371ac8f88d063cbfd5b0faad0620bfd540f45b0d45bfd560e5b71a660ef0f021a435667f6b4c976f8d09e15b6376f8d69820be35068a6f8df9e25b58827ceb0a956f8d31e35b6324f02d32ab6f9181e05b642af81619a16f9131bf4546cab7c86cf91619f65b6404f02d322e7c8b0c0fdf2283046b4704ad968f1d6dfe8784f33f2418ff43def91fb202ff53f2f89fb2f53f65fe9f52e87f4aa3ff299bfea7d4ff53c2ff53aaf03f250eff5302f13f259bff29dffc4f39e77f4a07fc4fc9c6ff9473fc8fe9e37f4c21ad9690a838bf4525e0b72833be95678a548b35c14601d006248415410660987e0303f51b18107e035380dfc01ce037304ffc0666ce6f60daf82dcc8fdfc20cf92d0cd16f6198fc160600cfa221ceb36800630bd3fe168684dfc2a4f05b98207e0be3e6b7a80afc1686ce6f61daf8cd049fdf4c88e0371390fc660295df4c807f581038e000501021792cf8569e24dfcac3e45b79a67c2b8f07dfcae37e2b8f08dfca33e65b79cc7ceb0dab9587876fe559e25b79a6f8561e2e1e28822adfcaf3806fe5a1c0b7d660e05b6b5cf0ad35cc6fad51e5ff1de0b1a5e1e07fd25cf99f34b2ff4913f53f69c4fc4f1a1a7ee86841ad7916d414cf82eae25950633c0beaceb3a0dc7856dbf3ac96f5ac368267b544cf6a3778560be5596d95ff17d26222856f3161806f31e1c4b79890f32d26eab4a1a047ab8cff5619ac6f9551c1b7cac8e05b6590df2a23cab7cae82002085a6f585ef4f040406fbee5c59a6fb5a180f52d22123cb06969f39b162c7ed3b280dfb4b0f1db161dbf6db1e0b72d46bf6db1f22d26d6d8b640fdb6a5d6c381077cfc4841e75b5294f12d29d0f8961413f8561bd5b79858e35b6ffe5b6d7e7ceb0deb5934a0f1ad3715b4de087deb8df9ff4022d848a8e23712c8f88d840afcf6e5c76f5f8a3c0b4d9a21449e820bbe8221191819a224e83725dd6f4a967e53c2fea684cc6f4a7cf84dc99bdf94d8f94d891cbf150df9ad48c96f45587e2b8afaadc885df8ad8fc56f4c56f4515f86d09d06f4bc06f6d4237fc2624c56f425efc262481df8654ffff83c73fd0e5ccb7baa4f9561725bed5258a6f7591f33f2691fff7b1c3078ff85b3c2cf8168f2fdfe221e65b3c60f8168f1c223003e67fcc98f91f3344fc8f9925fec78c160cfcff0318b4f91f0ca6f81f0cacf81f0ce800bd8f67a1ddb7d0f25be8946fa159be85ee6fa15dbe8596f0ff3c80dcf91f2079fe07481cff1344f53f417848f0419e8506ccb3d09479169a34cf428380fff7b14d60c599675911c4b3ac60e2595664f12c2bd078d6153a9e35c583674da13d6b4a1053b0781607703c6b4a91674d29fa7f21442298e07b763c03efd3d393e77f85c35be0ed6cbc64b0962a825f2e4996f3ffda3cee4f35d50c283ba12dfc72f00515d0329f263e453e651222392c11d4d3634a9456a53ba4b8abc38a08ae072ed712a32579686ab342f1caa7bcaabc4bf1caa7e49cb3eb0108796ab3287fda1c95b12145143a8c00b3c468e5ad8e012c29ca1a6497b728badbbe0a22862b0ccc81b7fac2548cb8a0800910053efef3eb85c2095e265a5bcef1a7cdbd004dc0d4815312d211d311522eca539bede954342021433cfc7249665a966485844acdffea887fa4cf7bbdbaa8ef8af77a7551671014bebbe25de1ae95cd8d865c1f48132a5aadf9faeb5a99e9d789bf3ccaffca8813e02278ccbaecca9dfcaf88d82d8b45cdbad4b647bb65b1fcaf8680ff57695cdafabf126227c51c8683e0327a65f8bf9212227df9bf0262f43eb0a6dff728ed6d13d86539709fd826d78a6b65b72ded8913dd04e6fcc993cb2af1998cb7a98e72f6ee6454a4f22b3275aa6d694a5e962f0b9825cc226619b39059ca2c3187e1a3b63dfa5ffd10ab47ff2b1f6058b7aa4b7be276251ef357757b49e3d27de148e3f2815256683e7087e3ea00350ef5bfeaa1fb6a9c831ae7a085526bdda5ff9501e257cffe573cb02fad658a5fcd54dbbd0957d97e05a6121fc9bacbb7acbb4cae8e39f1b753f940da4eaaedde24665d2b537cbb4967ab55d68da9dca985d9273ea5d5acca6e9a1423a30f2cfa402bb1aba415eda49a7bf4bfda41cb344ce3e0a8496929c90949c98a1434cb1195eea22d2056ece197f3563afcff8e550effedd1abc6f8ffa007fa41c5ff8701b3dad5aa123eebbd853fc84a99286f2e6bb954d66bcb61980fda1935fdafcebc0f12d090a2ff150e1be4f131c4ddaee4f44d003d7004fc72b166fa7f1ef16c065b818dc5b35a0cbfaa966525b0292d0bca4579684acb829274116a59aee624b90b4c75e767fd772d853dec00130784be6db50ae4808fff875b56c77ca39caf6ffcf7d5b5f3ff6f7ad43894030fd4a3858739db238429eeeeffef11e5d11eddff03f5f031636330108f39ffcfa3cdff66799c79201e5ffe6198b7288f9687d33f100f27af4cc6c3f5ff31874b90a3041d403be2f87ffece50788d9a01eda0f3bfc3cd3f8aba7dc799afa553ff30bad12eb20db483a9af3b4a186807eb1f455b5c94777eb76c4c45dfbea2411ea88138285003685ec77a033500e6ff811a88fd37c00407d1d340f72850034071003160e7e11f0fc4409c7f2006d47c102a0031d002100353ffaf4307100359801820ca3ddebac91bc58a13f88985fba635f15437c9aea2b7b7a96e5b8df47af5d86cbff27abd5e28ccb7cbf7666333b8b3fdca1b9bc968a8c7d5241445df9a51ac579f230730e0ff656a1624b86fdaabadcc644ef4ab995e1d6b82f5ab9962583fe99bd6f4d6acc04b333606a7bac90d37fcaf6cf85fd5b0a2613583cfcaccaa8c0cffbf694d6e57528d00434cc90c55bc6a041b4a255fd2c454232880cd0b882fb28a84213ae616436854249c50a6acc01131150971c4292be0428cea8b0a4ca4511136aa129604196151d0510900081d91043a6c54032032159eb9001e1518b60ce8e64aa90a03079eaf8e135975c29deccdb1c30e159923355ece51542a1cb1d36df03151b580c48e2401c0e2460503044cdc080fc451cdb07e21b241664775668d28ae3611285568e2b0a381183fe4a88aa0c384048ea616544ee47903c904b22c2a2caa7033644a7d51d591e38e509633775413b082e6885411767a7e9a8892410c6fe8f4805adc60704402d8f47800c32c68ce1bb11e1690a031d2c68f283d589830235b66b212d2019a22df57aea29e9043040045b015049ae8e4d913313eb4069443586052a3a388939b0bd268a1a3c30d32de022cf8ab4498724005383768188a7d1632b861a10c35e8bc12317ce186001fe4ef81cd0b62a079de7818a6d8da88096cde0414b63471a384cd4f2de006310e6005ecdb171af005134c74afc7c03145eb911f0b0ea88f28aec8f24a4824a08219c8a8e19f2091640dc242ce6f10e68a178084c8e04d16982a5880e2cc834855aa08618179ee810bc26891d71f0a000b02c8a37b1e83a104e08122e2e489a436c0c21c8abc051738620b0720f9f213e4093a030e96ea83806a80e1208b037c044ef888754e98e03731465e98420297ff41a10a2e5eb832c6432045be618694cd971f420c10c38aa233ef838d07e0e626cf17076453f29a17c9f7406ac0973b4034f13c4a25aadc50460e5f7644498287f087d89706ba5410c6842b1d3c0343b40ee8a1cd0acf80ca75920445d2ebe099c8963a1030f1a18304902e3c08f03e5a5c602108125e60b282c0d11c27107537ab0144e930eb60882f2b211f1d8830f2869b1e2fc6e8014902325f7a52681d31ebf2e3a62709ce6b01071638d3f3c394c184286e56d1518209092400a753a1f9018a12657eeca844104188347088c1a4bab2068a184419b20a5cc019c6b6068f0aa885198860402dfc1baf0a1cc481c597afd35151e319f07c1c12e20c8cf850e6d758a08101fa05429f03166cbc0202624f002d4bb4f06114e505f042b8c48f20e43c6d0a9c29244431e5595401351fb038f301f081a90140acf9f256789861c12859f353b60748d898fd3b3953646bdba4f04b7ae8d1c5d00bee937acc08b210c6f7dc08e91080183cef2282694e913757bc500616bc61a44c051ff443b4c19727c47c5ea7ae08032583b78002100837b6257e020c7ef031c30c190f448420303898457c0442b22822099923df6a0387319aa028e27f1a780265c20a490fc194083c2726f07c3d5f4efdf1724d4bb30c45b3f43e3dc7a9f2b25bbf8fefad3b31e5ab1ce7c8cd95dca9499a6307aaa07781335dc9558f5e588adf56d5748ce3f4cc143437b84b350437f8a9709cab38aabc0cb9da893ae45b5be0d461a9cb1534c36f154b500d2b706e35fc400daae0077abb1cc7374e7535bbd0d36339aee026bd8e02a7fe52aeb7487ea1ba8a1dc8277072b34bc99087a316c530154337ce0e0c47afd364e799a9a741af8d335db9586e3254bfad3db504d938b758a69d5677ba7a20a97ee11aa75992a5397a213896a0d7a55f9e534cc775ecbe558b9fa89a2489e7fcb6177661a7796a7623686e35ceb2544151dde1989a24b97eaa04ce71f4384fcd75734d7a5efa45e05cbb744c4b5224c72e04bd0e4ce3dc5cf438e895a6ea9963f86d34cef2d320487a62babf3554bdf18c73dde2589aaaa7c935fcc49143e014bdb1144b32ecc410f4bab4bb7392630a7ea2ba75077aa3ba7a669c9da88a6b3aa66408a66328960f38f756c3304d3f515475cacbd501a7a7aae6476aae7ee6278a9e6ec06986eae7ad9ff6bed1dcfb03197076ddba9a65f799ddbabfb10ccb3841f14bcb72eff14b474d8e1cf7aac838551e8aba4cc1928b63f9819ecace19aae0ea952a58ea921c45b2ce09769ff985a46996ba344df0e3388e1be3d463c9cd114c4b71ed4aaf14c5700167287e65e77d21187a214f55cf634225c6997660688ae14aee749b643a721c692ae0544591f3b4fc3ad0dbe23892a8b7469580b3234bae3d95876bfaa52ab93b53490b2aa50ae3ecc8ce54534e926257aaea5ad239bbf0db20b99666d785a548862318a7f652ce415d9add36c1f403bf38c90ee4e5aa4b310cb79996a4672a6941a7545e9ca4e8892a0886e136d7704cc7392729aea6a78ae0a8822b187621c7715ce7a19e8a8daa8bb33447ad49be76a9089aebaac648eff5c0f249c5c519aee31e3748769fb7aea2198e02506d71aa1fa97aa53772f35353555c398e443d582c4125e7144d535c43525cbdd2fcca508c61b60dc716545a9ce54a8a9cf34f977ca76218c2ec148ee394b4a0aa2a8b13e4dbe42417c99d9aa64ec318e9991e5395a020a62941232c7a3cf5b0383b13d4fc4b478f9769f871fee4f2b6d53155bce204751792ea1ec5b4f340d30b63a4270b3d2bce55d4e2b86a52f37234bb503b755ee7bd54559c6457827a7baab9aae1265532467a549c9c9ba2c74d755d77b8390996e5e73599e3a8a4052d5571ce52ef907fdadcaab9c130e428aaa405e55470ce549ba2c853dd95e6baea51b7ab8880331c77b8f5eaade20af2ae1c63a4f7d45b708ad32c75a89a692a9a7afdb85663a4f7d4a73c3df529b3aec4714fbd7d73aa6459aa2b598629e87ddda763a4d775a3b78a505a5539d4a8a4050d5249717215fcd650ecf86a96a119a64d30c77d519cddc843edf1353437f734e98d261467e97961d895dd1aaa1c4796a8f79151b9393bbeaae4da7da298aabb044112f56aaa27ce71ef0ffcc2b5fc3aad472f74e2f44aae6a91932a599a244f3fb189f333bf4e05cd71dca6d9819d18233d982d3db86563da12559b73e49b876668aeab3986a52e398e89b30c45ef0b438feb321c47b37441b5c4498e9ff7891de98de4aa492d8622944a89d3f3f60a969fa7f5a87ea149eea06273ee502549b25cf5aa8625ffd212f5c62f89b35341bdc3350cbd525cc77185398e1349252d684c85c429aa1d573b30f434d8999b774a2948c2ed4cc68a479ce5ea955c1445ad4dae8265b84312f54650ad39f5c7f93aea4e0c79487ae336e204c1ae2b39b8c735243d30dd459ce9c7c7cf53572d8e9f478e24c7711cd779a8a7c2ac2c1c472154449cdb23bf9577a3a7765b6f73731cc77d51a839833b14546a4e5024f7a8d39014c3b403c7214eb05bf927ae2ba9351fbb729730a8d29c21a94b4d82a1d9f1505df708eb16c98c4125c4d995ea3a8a7c4d55f3fb3cb053057176e22e3d90e45c8fa2b776692cd64c612cd6b3b0167f9d07c4298e5fba9265287662faa9e31a23bdbeba704d33711cc7f5d5e5b8beba6c897a2a15543f9ca9c777aab52ec96e343768869e91ca87737b9af36e0cbf6f5d4551ebcf2bd19c290fc5b25cc3ad7a2b397adeacbf4e386ed6dffd6a1a9456735f540738d76e543d5304c9b21bb7b8bf1e4e910445bd86dbf3f6aac1903f819d4567b0a8a4051d5219e01cc355fdcc541cc3f10bbdef7be2e12c4b75fdc274d43ce5698aaa2eeb7dad063dd249b5c3b9965ae56308aeddf78deaee9a984a5a502f2a1d4e112479a7479e761fe97d1fa9cae15cd75593242fd790ec460eea18e999494148414eb2fe3e51f9ac89e39cca30aa3367ba41ee7175e41df7d26d823a16063941097a790cd65162adba1d291ca7ba9453592a6941a354389c60398a7b5d452ff5d274836a8cf450ef2b41ef86d31ccdb224539077e0a8ee6fcc228a4a5a502d2a1bce9414bd30fdcc94af1df88d1dca712adf2bafc2719c8a865d0aaa1a4e124c3bcdf9476eb314c7d40b394ee5513d7693386e7326eef35850d1707666b8762b4ff54e479e7e25c7954a5ad02eaa194e525543b2244d354d3f75d4638cf4ba703456c5202728415d4e2e639d90388ee34a252d284d65e6f4ba3d8621e7a6f799e9fea274bba24f6cdbf2f1ab127a3d8ef91bc3ec6ba2aa32a706cdf02bb9de5adc5eb98e31d263d1cec6fa45e3b70bfc79414e5048d50a2a19ce1454bf7035f7264b30edb81923bd9626035b1a158ee3388e0b471ac7711cc7959e921654c5852a865373518362987ae6288a9d59c6480fea93ea33318b0a86b3ecb6f65470edc2512dcb75ec71e98967188e3470dc2eb9455580d35c45bd7669977a5f3776a41923bda99ea250aa6e5393b7714a8347252da890ea85331541921c75377aa44ed36ec748afbb5a4565fd5dbbaf697c75ab557884e2adde3ceaa5a9a3a7a405a5a272e1f4bc2ff5765a8ea55982a5d8715ccb712a029cdea7923c5c4b7024cd6f2d3d550b2768ee90fc3ab32b411024575054d2825651b1707e7aedf6f899614a8620587e6c130f542b9c1e09aaa0298a7c5cc9bd966238aa543855b14c55707f6ae8ad22ff788cf4a4b80bbebce98d9b3c8f7c63183455299ca956d5101445ad7ee62a82a6276a150a27d889a50a6a91e4624892a627435dde925e6dd655d1db222dc82928156941e6c75564ceb5fbd26e3453520c4b6e92a08ea9c69c7c24b5987a2208925e0a8e6a901394a0a99df4e4ea2a1cc79fe059f748252de8568939f9a7c36e4c41728fe1387aa9a83ae11c4bbe8aeab843934cd33d9aa6ca84730c3d2ef22f0dd550732f05bd378655614e11fc74b9aa63ca5350d4bc8c9128cc7e9ea90273929fe9892b5753cf53d50d8231d21b37ca653c36d3ef93e87d1edf5d655d1a29453580b32b47b00bd73534c5305d4d35860570aadf17922a0f41cf5cc751247b4f43252d68145509e7f895ea0a96e5de6a19966bf8f176468bc54ff5e554cbb4533d350dc1310c41f023e1fcb6a78e5f578adfe8992a49c6480f44d1275acaf7f88d7076a429eeb223cd35d42609f218e9f5d865d170a4a11c7ef52cf46434170c45383b557be35a9abc24c3d2f374f9796008a7196a521c43f20b37f7beb58b919e18f3b204e104bbaffcc4d2f3cc511c4bd3ec947839bbcf4c57ee8da05ed53d8a62ed34b7fe42afdbabd76972dce3d499ae611986a4278265fa919d2875aeddd87966a7929f4ebb15d451e7e785a1b847554c55f2d3bac3423bf5363f3ef290fc3acfec7819233db1c9f3ca58b68245f129963a4c3bd15c53b15c3f713cda9a89e3e09797a39216f4093e4b9d6aafeb46bd5535d461f89ee2c83f927f9fca43122c43afcba9bb2d7aeb287e5e1982a5e7c5480f1467272f456fd45e9992a268a6e46a76fddce69a723daeaab77e221986a0e79edeba43ef4bd54efc3e53f434382a69413d909deb679aa65a7e29297e205886ef7b72a39216b483b6fbb8b30bd5dd6d729be2a776df46a1ce2f15bd0deab1e4a13a6a75e45e58d80ac7719c8ce68e4a5ad0f48333243d1504f53a8ea6f789a61691d8d3dcaa3896ebee46ce49d1333f26b113fcc8949ba11a7663aad5ad4d51490b9ae5e9fc549324f7b782e43782655786e17a7ee3978ae5ca43efd321397a4fb4943bf9f8b98e22a941d11341505553b28b919ea9649f24b89a6ab9865daa7ea0d67a0672ea2972927bea363b50ab7c2c57f24ccfd25c4b92e461d8ed5087a3cac326fa5c413315434ea660276acdc918e9c52f6a42819de9da91bc33bd917f6bd9913c467a2e6fd1f1134527e8299aa2e665a876654aee12ec62a4f73d09c0199ae46a7a23b94573145395c748afd5efd3d6b3cf7b79fcc48c656bc9e5dcab1a86aa6796e657965ec763a4178e343496ada407e7aad3508b5a05cbd12bb719c6480f2ebd2d2737bb51dc1f5f49b233c7ce8c91de66513eabc535f788e36aae761a41252de8a9e52449d21c475deece24c3ae4c63a417e40425a8a405394d097a799ce434250889eb2ac7c11cf7f298455d169df5777f9df7c633d5980eb6cb4ab934f427cb299a6b19929ea8969b8bdd1ac6488fab6e37b9ea2eb94fc6129e75f085e5f4c84edc5f4a92dad3a9f979dd95f3233538ea920c4d905449cdc1cfcaf969ad8e1f0777ea795f4996eae7794e67a8bbbd72d5533b5205455234cba6f3dbdc0b456fec52528b7a0c63a4b7fbabcaa93d102441b2db6339a62bb8ee0e8033fc407315bf9da6dff7a91de9754c67f785ab9aae2518aa7be4aa18233df05b3a4bb2d49a54d72f2d3fd50cbdcff3944e4e766aca434febd44b4d738c919ee8a27276e0bad572d4e2389a9e477ea0377e534e15245755fd54d52b4332f5748cf466fddd9dc9c1b98623d79d19ac55a8445417d31e75c818110000a891000004931000202824180cc72342a15c365bea011400025da054ac6a4699086292630a19448c0100000000000080000c07f06e0cdcdc18e8b931a0e7c6c0cd8d819e1b037a6e0cdcdc18e8b931a0e7c6c0cd8d819e1b037a6e0cdcdc18e8b931a0e7c6c0cd8d819e1b037a6e0cdcdc18e8b931a0e7c6c0cd8d819e1b037a6e0cdcdc18f4dc1801f5dc183de58dd662339fd506c8403df6068188821e5d65afb26d0588cded1a01b50a4078e6d6e4100bf017a1f476075950bc1c4c37045aec63223781dfa9dc5324e0049ffa0bdb3d2a35bff707bfef9bf0cbc105614a6a5f0117af112723df5a9f3c69ed2d31f4a75a28b853058f375f0f950f2c5e09a9ed8f58f1e1f9196017e1dae22ad5b9f1a1b7c82f8ca8dcc09324d89de88c7b1dc12f07de4685c451387e21bc10911fab3db1d5afec444d70e5be299c20b46aae9e567a5b2dc064f9153fc4c07330772b92d1ab71a3b5698b246cf04bc8d553623375153af4de29fc8e09545dae923a50fe5bdfed655ed6855dc19ab6da588b93069bfc0791a14bf9f5e7292d8cac2539e383ea6a93f90eef10b83145887137c57d3550549125af07d2fceca19b2417725c2beda3b04ed2f2e2d57af715bf221084958dc84af8d714cd408fac5e4a70b2548113ae3b67f1992f7f0c1d4e038f26afdec3bd0d1493f0daaf7cfb1c06a13a58c1ab29d69897ae013ecc780153b148ec93dd91afd8522abc6c9eb6bc9e02c069d8ad282eb7ccb4938348d43b28fc051c14fe588a1e145e03a88ac61d8056c58e6ed083ce40ad93a99be4aecaa5a32bb53705852b673933d6c1eadabdf7e21e47e68f6e89214c6408166f1495c72f91e470851550586eb6f990a4954f1bd7aa6cc020c9e70c520709a41423701d715f8386a82dd2f120ff08e9019efe6402064006c1cd557d95d9e4bd6fbfdde158923c62140f49e001006e240a89fd25ebec00c18dbb848ea4c55d16f498cf1b689de026c741d649a37872597d84bbc0d20e2d49a1bd90ebf570d2758610c9845f0649ee8ba9321f7b47d2b51c066f09857ea7cf771ba923f2bbb22e69ca66f96c3e994e4447dc0b0decfe72aca8b0bd9ebc532a25d39bd8dbe36d9c1de0b8ed69f2110a5ca4099accd6d91d6a205ce859776c0e275ae98815df70b74f56dc8a740a08d5b050a580e370ca20a9379f4c2a900ba16e403610da123ed0a120491730b5747d7ad31d88e94c4547f3f5b24fc21f5525c07fd933b620b4d9c4d9aed4674fc0dd92f09da0abf393de4d3479f98bf069e94e8918094d63cce0180e2b4a3be2b8ad90de1c8cf9ff891eeeb974244f47947d2c0a2a35dc5bd3607e8b800f79c576b7ec79574a919aaf1a130ad666d1d76ad4ce5136681d389bb1feb4f7810f162086abfab298d7cd851ee136bf4c69084b3936bc1b6a186048dd30b0f2e73624c65c367a386f8876f750d4369283b18017d07579435679e185b54b2812d9ec8dd508731fdb6950a8016c789b2245f652fb3cbc84ed790dcf08ad65440020a7ace68411d3b27d1b90f1865599004a9ad28ba9bb72b154d4b1071d6de3d07dafe3b46b97b6ab5f560c011a806e0c361ae144203cecd3073e998efcab2e68eb41591451416c32edf7e2e4158658123c86fc45c41045d306ca0547e1d909663c8734b0f1df1b59ebe0cb102b49ade94fb99ac2c163dd5f5a352218907bd54c870d9ca5724e91de49319a998630b9b4385f65418ce07cf1f61790017de61ab934c7ba540c4aae9f1bd78773e248e7c9d0527dc0e662cc9dfc6aac12a8718607d65d60b50dc5f5692cf22a105192513acff280c602757fc98d6c21a051c43f28ef83d5f7fd3a7e802a818b9abc17499ae0a4ed2ec66bd0edfc4e90a55f7bb66293a285f48010a7ec1cd1ddcab7309e6658be157dea6b8894c06e3f4712003985186c25f8459e7ad83108a87a2981fe4aef060c478309f93e3899cefc69468f531d87b8dd9952d16b4408d84906c8735a74e0053842176fe5ddb3683442550a096b9696ed0804c57ae293611e4b5afbee550851080adcc4a3b791c4d4774ae18fa7689cc7a68485282fc06b53c43a8b96f4026c451c909cc6e335d52be2c1a4d6a11cd0e427b44debf9d7e499e4fa5f11eaa1577efc93ba037cf617865b83588904dc300bb5617951bec3be1b017f36223ca15f5c76b42a404f21692c7e2bc5e583bf18539ec322fadae842b0fc64e0dca7aecbf138fbee984111aee2b4120cfc2371205672f2228e95425fac26fa3f8599a3115ff88614a190e308c89115077fcc6d9eab84a0d4ad05d065b46d4d860434dda36b00f155518c54f7685466721c29413be3fd6151776e53772f91597cca6dd56af78505b5a7514fd61b318d549be668ac1567a9cc0d60a0bbebd1b7989b8e493c7bec3cbd95561a642a10a1864f674eba19ace7dddf08f4410da9fbf0ae4325fd1735a404c2aff11bc2cbbdcf728cf98936f3df7f1b1c5237c3c8109e4f753b55f4a5161ea946c246078c2414d9c377c1514cc37072a250b807dbf36e9d6f578247329301e527ac88eebdbdff74d84c602187e24f354d0fe29d64c273b489437d79ed70408ead43330beaed186dbf036081393883f5d4513184cda73e4cf40a59a04dc95c2756403d52f82477877060a2434cb0730b3f04dc514abf466f1843b955fa1b94e0da0dbb2dda7bb602d25d2d90ef14dd12a82e14da7c781a540f7bef22b240bc5a4c38c4068e1e48a688647d3968a8ff3622be4dc3294a06fd0aa03653be0498b4037bfda1d48b0cc9baec884352a055c6fd56232a35006b1c73a510f59f14c75053957d13bd5c95b68abab6099270530bbf4a034d2401756b61d09ae1a5eece19f8b330150df0fa36aa166bd4da818306b6580349e3312267b6dff707508c1a430c22215e32fd2059811700f934a0bb6947aec9207479159136ef092b19a6c01a943f581d32dc6b8e770f035fc1a62ea9f79c84a84a50689168b7c66b73cd517bd9ddb68e8e407ea61f9762327878b9fd91ab218e04f0aa0e9e7972cadb79b2e1524d89137799c7b708410d44dccb3e782379181af0df3bf09890d117753e94f988c52b1aa33dd97185182b1dbcf645d03b0050a71feab29eacd9d09a79144d1c742e8aad439520b5b047a0a71a9392c9e30bd93250932f1bfae65802d20426a92ea999a0de19856c2e83bc4bb52dcd8757e35eafcd7e418916fdb97a5413886cb57f2648036e15ef979163a9ee9de61bb35e20f00343b3161c64d6af5879ea3ed076ed8e07601c938a95d7bb21d470eabad37a841bd92494a9e03adfaad5f75903af8567a977ea17241bf2180e197dd4c9b3203e5c98ed4e66b675cfd70c5289215f43e1f71d107804f87e0732d0c4476c591d9dc758bfac86db6ac867e59386d43697cdaf4983549657b6c5a14fbd3136c5a68741b8983d75ea0aec757ee90c88c8fbcb6e6a883f2b510944633a051f005851042d1c06083c2499bf97e3e1240d4ee6d98533ab9879c8bd04effe4d9e33b2b40c96a7967b9448d3499b8fd46ba2a194bd56de307f41646034a0e166a9e5d0d5a2d66ee93574ffbb34fc9183a53f79e58f02bfbc0056233d49d824fbe256a05037de109fd0fb5363499da148e3c231c522c0c14b6ca084e1065415f49557b788827fbb0c60f26398f0e03b4de4d36d1be47a3883c40ca88a3b814fde9d2cf38e71c20653aa40e43984d7cd08d0d2b70aabfb1fc0fcbdb53559c2f7e555e70470c94acd5ec27223f3d497dd044eacc334b22b4a066ce8c0fd7faf63e8185d5842e468a61fba326978868eff9efb44107ee32f1a484ae1c75791592d38320a1edfe727f8667ff89fbd1b8304b7d0e8817481435eef1060299b192661339f41bf07286b939335c79e556456dd80fd07db93dee5f2d2d0fcd1ffea2aff8d9e53dceb4fac16ea0ec23c8e461566fe154129b09f6157c956bc3c56f3a515cf956bc9d19cefaeee69bd0cae23d769893ca2f62f60337dd6d5433f2afcf76cfef3d7f91057dae20078c87946cc73decac82e2eb9cb25f13bf6f46ec2e220a91ec8e110ec3f037b4b947a52079f3a03b7b0fa677efa557c2139fcbf87f0eb30385308e7ff534f76918891dedf1a07593090f9e9c4e8da6ef813637c01f80191a3cd20b86fdcf94d128b8519fe700b30539bc882da7dc3dd5745c6cfc3f37b599e7c2ee47ad65bcd95e9205f9266768ff2a06c2b1c2cd562fc9fad0a243d65801bc634ceff0b6e1e663dc3af0dea7e391e607ae4fddba3dc3fb7d5c37ee741047a15d6f7e768a437c4f04cc10bcb77a5bdd3f704fd1b948c9ae4098c8fbabaf32593ffe71f7c35c32e2840ae7a105a5dc49e03624d9edc58aa1bf2b7912af6b4f9df197af5b85740632cfbee58c3fe769e0382f50f8c938fdfadb01fb89f35176e54dab4b20f093b8efefef9b547e97e5e630d7fafd9f99b60e78b27bf3a547349403018ef4eb8e8dfec5b1a52e3b7ea7fdeefaf9e2e8e1fcded32766d5942c2c46c335a8a500efecd5ee5274c1567d8cb4c65b2a16d0f47031bf546ce2c194063b81cc7919c6149dfdbdebfe46a3f4fd489125c5dc069303e8614df0c5fda3b1c859e33e53857fe4ff09bfb9a57e9ba626689c7f1368bf4fc57b15bb67375f261643b41c6d040563ae5fdc59ba629f3f77ede1dfd8ea405002f1000e386b400c0072b6068a479f9f04699fe58582dc066c3f04b688806a3e4c87704fc7695319ab2696810c745d9ea80edc0f0fe3c7068af3431168582460f3d81667b3c1ec19d1f75924ed0f13e671fe4edb4d444475d373aee7a3903f6da35a46a79a74c1105ea19a7efbeae9b673bb22f9cfef85937bb075004d736c92e3c67b12e38ce1a75546a043b8799b77ffa5df289b9dc511351b4a1839f8b27e947a1197149388479b16393f6b0e0dc08518f04f28548082d0421db7f92c9f76430795f4f841ba8e567bf9920eceec3dec144e862a408e507dbfcf88e619da5b4fe6f8ff75f9c214901dfcee7391f85793cffc9e50d4cd1b3c4a37fa2039dd9557f666d34f787fc13d937e697c461ba9f30375c5cf34b5f1bb6b30cc61fab2e9ffdc3d19b0b47a41a9dcb144e577a48bf096eddf5d7c6a609bb4c710482e8a08f5c7e26f3e1e3c3a6584f5ef8380c4e3236d777b117c08f1ff13fefbf49b4e60b8a240433ff17fc7aec621f30159feccdb9d59fddd1990c911af264b4f25bf393562dce77966cb633da87b892d4391e95423b03fc81c01e02e96d547b75eb77d50dd2da1734229f1ace596288c93eba520e539a21be2114899b12a554bd865b5b70614addf4bd9bd1ec577460238bc45fd8b7f78f258f42db67a8d3b9f6997a02389e01d92aad7a749d6be9e7a84165f283638f03f17cef0f38eda9abf2e64afe2648a6f994962b89d71d5772d541fd5139eb011c06b736e1c8e264856be4a60dbbe52b59cc46836c1ca7b7d09a9ab63065805900c8575ae4070fd984e517ae32bb0d905387b2d19deb10600f35301af188fc09225c77f52d66c9406cf32f8626cdff82f37006a7c530e8e056cecd2708b8dcd6bd0ddc9cb946fb30f5ed72fd74e10ab835ddd2a5cd7530e124d22ecad9f1567887c6ee53f8800860010e1b527766bc40e85dcc8aca0e9c84d70fba9862330b062c22bb6a8548616db2d9ea9d163021a37f77df4531f499fd2f35ba7a75cee25998ae911df222c47c871baaa5f8e718315aa2002874921d188159987f5c0594bc30c042271659437ac55388cb68ce201ee53ba48afba812f98787cb499498773a2574fc560f30ba29ae61730879f287ec80320497f4540219e833444b4450a34a447b0703b10083facd87e64b91a37fc381fad499f3626f726c9c3b99bc84d3f19294019f27c69b2482f3a714ff617202c2c71392d86e902168346410064de80f331e0dfea0db360fdf6dbd8b41c6464ce41cd2cbc608926fd00b7b1e6d418a8a3c7c0232bf1de389b280d0c151151cfba833c15ee1392e12d4aca0fb50e563e66d925f29c03625c04e0b4349ebffd27aa04c634e57303efc7dccf6c232a38bed3ffbf59a5b375f373ff4aa37068f18e95b6fc15f91b096d12ffde3473ebc9658cc8fd247244e305d674c33ecb8757e454501121d916f615e7db042a3e7518a01247e415e7e8718934668f86e7a0d7e6052c250060429bf81d83ff9b81e441699a7a62a683573ddc5aebc0a33c16c68de630a7b9dec42cc7dd9c8bdbea9c8bd6d14cac9adad398017e3081cf52a1b7c87f6d449b8911147f5493008fd4ab654ffa7f64328704b79a04253e9e885c215242b57dd03db9ef34ff6c3b6b2d3a3f660101d37702a5e171c17dbbcd57a763d7260c96f45e2ff161a8e8892115ae7f6ebfa67a8ebe4617ac16d299fb15bdf4e84f57ce8e1ed6fd6e25ff73f1e941019adaf7cbdf105ffab852d1d40379bd17be9295fb5dfc771c3194db4b8cc450b5ca55a74aabd2192e582b26fb1f386c6aa25a67fcf4a45a436dd5b91828bbea94d7b9bea7dde912a734f5cf8b2d4733f793a664d2fcccdbbaafb7d061549af7ab85c3ca30da4fdac8ec781fe2bed4769e70b05fd0741f019fe580313dc7d72e2fe62609950a419c77575e98f6906c640ed06ef574a5a35b85491545e7e9ef859e9b87f466453bd8d6674de017d7edae07281b29cd9baa416ed4ace4f1abf444231f21af1ef1f7247f3ef0b9ddfb018f4d1c7ea9e5c93786b52cecf076449b2b3b8e1052e23384ed3c56e2eee941071b25b91dfadf9a7cb7786f25cb4f31db55bcccfd4079b33f34857f56a7ef6439a1884531679efa36c0ef946f707ab83be5e24d9338ebe62d676a69796989b0259476c5ddfbf665c6f925f802cc0087976c401e3af9dea33d3f1d60cf8d078d0e3eaf76d30849d457ff569cabff5a13d0ad90d4cb59f3cc25c88e11d6ec831e465e282a08a61067dc05216a47d760c63f01002dabb15b5dfd4178800b0d2ca75cf43df9dc6352b77631caf4d1feb504eee734b26eced642802837f4a84bfddb444989974b0c550a05feccb8ed9b88d33b3f9593b6006931262b28f04cc37d9adf45d4166dfa97fa61e2be36c3b448d1a83ed6311df4f2b5b04dc2a54882370e9779333116da4445a4cc4f713945be2e23a9373ead793261e8db0e536b2462f2474a847cc77c491788bb6eb31745c20f410d5779d902d666e8d034858d4eaa7cfa4620ecdef282ceeeb338e14226e2d8f6c4142c0bd1ab9fab780b5e46a06d1e2f49c0c51b0f756c0aa52b28988a365874bc5fb672b6632c27e5b2215f04d618824debe5219b202d66ce49088f9f21432d0350216d2f1e2fb9364857c2718981170971bcca478d509601a228e26bd96b660fb0d7453c22a02176d11945b631aefaf42537bfc57cd6914566da4a4bfcc62fb218a8249276b9f3476013ca85260f71e3e4177977b7781fb00deca9f934257df14c6562ea87067d90cd52d5bbc19c41d3d378a019005ae5091b723f1990ef3f0c60f515896cb18e31be6ae4b24caf354a70f14e0f5b95e04edbcd38b4137195853253b7c1358350c8808f6656ae0c0555249648df5f0a603e7b17bb0c698d9c1ed7a87d838acdbe54f5cc8b84075e7fcc6d649645fc465d947262d5b65c1762a92f655607ac5b56c371bbe54fec637c2cf998f35a22cb179812d83d06f2ca5819c7601bc26872d809007d2938e2d0ba56e3948d28b188c93d1dfc3e596f8f32616f993ecb0743a13fa6b1317a1e2a7d89953dee2c4589a2cc87be1d4c26c016b16e3e3451e9ce567475caf736a0cad91af2e60c7a53a81f9968098e97015a6269c34f853b51055ac19c11f8c146670ceb3a1c1c177e627a7d4abac7efac7147c7b73937c966c71cb5a2b3a26d2410853d5a5e76f9d76a0b41b106b059878d161973065cea83a7294a6d60973f9f187575fdd339419e947c6b0e28b3ad71feaab9c210afa5e353710074a4b3c09592a9d77639bd059ff56e71d00d800824631d3c701861a279af3ae8592cb35454dba88ee76aa727c6d38fdfca1195d4a766a85f7e91b967b1711e5c1022bb6ba8ddbba1958b13cf1e7b038e167b00e5a8d442696cc0424228184a7cfc0ea21ee538800b4a25951aa14eb19e523d6d33f5462cf89aa668ea20b4f7ffefc242abb479b082ee2a81d1ecf183d3f5cf0f99b9035bd24317a791342635a4e0a77ad73f5fbee4d91c8b4e18a2f0172668851ec28d11cdd26e59e62147e05823c74b319ff96169017803562ea9cfa5b77e519a4229f814f680457a24cf1e79a63ae9ed19f9c37bf16a16859778fbb887c3a919a997fd76ebb5dadfab098750becea62f67fc251c85277299369ec13ac85f386a814e42fd86de3703746830bff86736c5c5f822d3b4b9dbd66ad0327f2e1a2ca179b8799c091a5b97c451d8be16f209fe6175b64ad7f7158385a6abf92689d27833663d6e80df1373175de7fcbd76c7c1138bedc78b418d8bbb0e44a217e038be117f8a0e613128a779cf81dcc6a92d6f5f68efffe0fceb267eca081cd4c79ae725b4965aa850b32b3d7ae15dfe492e1572a5dfbe1378e4a9e178ca5deb659ebcf4f7d664b99af1275b4cd8bc2fb39c0cdfcaf293c06f1bfde54958e840db99cbb7fe8be26c9024cd0f9e61a2ab819af8fc9b083393100ccfdf734389eda29ffc263a2dc0f6ed8fa26bb827e48e3fe0721eb133ff9d277850c17f31a8994b46f192e277b8af518d29e98064f9b306f9e2c04ac6837d433dbcf22c1352840b5d98f573a3250264c83e605bae6e77eec93bffc1dd3d72e32dd8dfdec8e6d6445a91fe16bb04543b160ab3e7d6b84d4e768a75f8b6bf2c71b9b0ff6a28144792ad4847bdaa0b21169e13fe07eb2d2250d90782c29ec257b254b6093f37a73cfef8df0288eb1e17dceaa9e3f2e5cb247dc13c43b88ae007ee9420747e5903cd595b3b947055a00b84f2cfebb5827726f18dd72ef48a8876089df2b90c34abcb94810be5a12acb4482a9bd8a48d347b5867889cb2d248916a84c8c7968b068739ee64e6716c176b9c7893134d0a2bf441f051c18a40065514e8f49efcd5672a34bbc5a6a34b55465e7127a6e6d187e22a986c332dc9f4dee4daf990cd3709914f4223fed3e5479b2d929e7f7cb6113f0cc7c70a6a1e751cbddb03a389338dfb45dbc2ed904eb10f9cbd2bb8a37cfa790e80a27f518b4ba8525a01f95637c9d2abf471d4d65a771af0b7b97c5c66ff8519a4d48ae472a85f5ef6d6242cbf91132108f01ce64a33373084ab3352a3780931877aaa651ea9556a949a4a2d9248c22df98d5960a48abfbc0033facc0f027a123701a8e9814b615d6c0bce8d9a43fe725a7dad48b18b034406139eabc749dc95863fa033870f96ca53419dd985eaa74e95a2d40e9e32d02b5c1cd840661d533f10c775cf730cfc6a3c922c3b0da934d4d927e49b726c7fde7d9266411ad2c1a4ad55e1818814b829c687b9c137b7afc7b56bebf04379d277d295e9c464999dbd01aa710c86037fbada87766ff0793a70fb34bcf91e3f9ad8147c156edfa8170fa03912d6a789b707bf824a85ab77955c361e845fc14df900a1a225013681b6bcb1a45117766d9a98e89c033b021ccf72ee96e27a18f87a424731974dc963982156632493dafb0d56f7aa06349a67b64fdf01773bf11fbe156a887dc360a94c5dc329d31d8f42276c8960887d63e8602d7ab6ad7d33f63a97933a3fcf767bab96e3679a1b0ea46dec1cf520ebf93ab9feef776efc7244d0fc3a8f49fc93fb13c465e1e0e03d76c410f3976c64d0cb7556b896f34a5237707fca76c6fd0f82199b138f065db5f9bd54ac743ab3d96f3b3328ce28403c70bb68ab5e9e17b1b36e08d93e8818b4ce665c970ec8b606b37d7404ee8f70315290688c4effe3089a473ef6f21e67f6b49b78eb8fe875ecf92ecb314c08d0f2e1edb83b99269af7175314e81f182dbf43d8773cb932ed091e74dce5d26f72c2cdc9d44783ef403b063e96ddca5cc55f872e490c44d54bc1eefca318728d8f57db0bf6b6d6c95cce7fd1ec563d7bb20a8df6828ce4bbce8c8dd0061a91ea9ee9dc4652c3dd12a1cd24a15e586dcd8b234864f2ba8487573138c4b579d2111f1f6a9904fc0e1f3b6e63923af6cce084d97f6cfef7dab5227102a50542ba7ebef614991a3a7a052d7c3d013263fbb9220d8a5dd0a976ece3c24afea63c0934e3a02262aeba6342401a7f6375e8e895a9859c038a8e688f3dc498d77a926ea0e251ed777806b37c2adcbf93e0a5b9082e120fa7308c7f4de5d35532f48adfd10d7f192881a4ae061e00818e8d4c89b6e2cb69e55b5166a964c4d8efd1a24f206fb2df021df8789ddf6ec7d34dfc1de23117457053eb8a9d8aafd2c0bebdbd8d5c3ba3dda4df86ac4038dcaa353b48c5ef052ad103d662be75f474af44a027d34e09375e218f68c7ada0bfa16aeaa67f02e65d84ea37b2d8e5788677fa54faf3a5be7645e2e1d20be61cd679d3702957dfa212954472d33a0f087f6ecf3633967f0169a70de9841ee98c4d28740cd3db9aa2313a05a967b1e3c6854c59470b28363f27a7a190ba5cdecb24f36a33bc51996ca09b4ba29ac89c57850b8f743585f5a2080f62cf99e0b4a767f2a7792159994186623462161cdc910d28d0d94154d39cbda5d4b49f19203dd29ff62e2f8b3bab68c1966bc05b7c3b7e492acd8cacecb953294a72fc6919fb038ab48f8a54f920a0a5ce1e276bd234c2aebfc4448f634419b9c0e0c52dca0c4a9793fc1ba4a39b393c302891772a8b0aa4ab2ea1fa3798c644dbeb69de745265c5c594c9ffc6bb07a0554f4341c4b7952d88e35d6d4648ab5b8992462d13867556593e353359ceaeef2667c4a5fb8c3fe15a3af077a4a005c580f84d474d2fc4c2100daf4db30d2e7e900e5a0f7dbffbe2dfbcae1863e9d0d959a9259bfcecb3d6f7a5fcc37366802237bf3f193eb17536df8f20e8a2f197f2678fc44e2a443909faf7e162d6954255b6efcf3295bf79ce6248db81f34911a019866535f8f8e2bc60f377ebb26fb8dc2772e270a6ca5a9df23d195deea8e7d17dd26cd14a24b802ede73fbba5f01fc2e5652e64ac4ea646396d24a058264f94e0783f6da341e9efa2fc6148d445798844cd7739187b5729d5d27a421664ed60917cd8e404a7eaa16e48c0f5ad6aa920e4439e92bdc813bd76725460fa32bc8c45de78eb19d2c8dc67eaa9817a1ef4311be20b0fba2ac28e6fddbbcaf60835f2eb74dfe37237fa9e61ffa9e3210c1826543c017f59053de390a73c069b4462ebb408413f892bf9052984abb0c7ee37f32bcb8d31f20d6f18dda1754c61f4a126c3d21b232e5aa7122fe084c7850ae0e2c8b2ceafb46bd2e55d4c4e43b65f48dd2aa5311afecce5dc6bfa7ce938b88fb0a912ce16dc5d69eabde59f9a845ce4b5e4fce4ffc525ec6de82b3161e80fd0f9c23e95a941456e2c118f2c5b42771c97b0c8bc17923e6bbb14a3ef401f00cc850dcec62881b96c0cfa8fdb7f04ae9cac3434b7399a7fa7204fd3ca52adf18549b5d209c01fe09d70717b301c3af27811af75c46402823712472c2ec6379e9cdae538ad38207454121cf6344db0946e33a917e8634ee907cd59612e51fb2b89ce03fa7be6d8da76f4324cbaa1f459c5533d06cc9ccc1c127d8605e18d179e12cf99e2bb694075f1a0664c990965d372da4baa3a0676fd8732370c41d97915d95e2c26d31736d3fba01bc32813334dc44e548251e4cc7d94ddd169358a659697a9e421880f2982f833637a9b3641ccfc78aafe693a4bc6df7e69680ff3ec61ebe859904156d45a27c61a744c638c5444f907d6346734c5ab977a84437b47d5367ac715264d81f7dc326a41cd934bf1002c8742520858d1e21a24f8de813ac8bcc8062f02fd51094375a30d3361a83b3da779f6bb049dfd967829d85bd943cc47ff55c5da614465fdb35bfb733577138ac1e278a3cbbe7133e34e6691ac553fba996a9efe4edc32393902d34904b5b364f6b852cd6e0e8121a8a29675fed5ddc82609d4a9fa9bfe99799068ef115c69a5aa4c4ba50eb5211a00494342b837221c470588f33c43fcb4312ea364c3ce5922cd649c727ff166147b7e8844a69ac7641957fd24552f790104fcd1daa8a96c55b548f8981364c703c25f64534b07d36b47f87ef054ea178fc7b5db46ddc908c68d318794a4cdc1fa07da960482eb040cb07cbf75935c15e8feb6864e74f00e9325f4e989fe263527d233f24150fdb1dea06833fb04ad4314e51cf43b3da41b674537ecc071ac9f51effbce9c088ee843626952b654381a882f0f9810bcbf7e9b3b9b0152fe9bfcdf3f3e8ce1022021ab511f2ebcfd9383f70f942f21e46fdde1fa8396a1c4e195882db93164091d4dab35100c3032aa6c1993556559ab30f582b365039b0b2c95e154a20e64d04187421c3b47f59c388a35a74a797594fee4e0f84b0296b86e846f5d36242adc76eac1d0909c97544e9247dd6af1b90504442af2aa3a5370c32555ca90ce202f64a7b78662a2e514a393df34cee1c2bdcb4956aed73b4cdf6a3829f0b019fbc6ae4c0e55e7c25f86fa059f08925d242187b49a2d39c33c42eb5484e299794b45656e699d632d33467f2b1bae9f223eb1fb7b5f8997bde29f97060dabdb13178b4aff1122b8e264056f8db0248bf1bcae89b37194ebad9db9b2597d202ede4c1e8a1d770d02ef81b78d48d2f9b1cddf2578c71d3790440c5e5c73d35a3c360ec96b7686c6308060552b3775ec9f6ef03b911bb5eca080b469b0875cc5c010bff1545a0737f7093bf17ef2376e15ee66e0e1b4f1c1735e9b84fb0199e35567f770300b22d2f03868a7d1bbb6d98d10bee4345732f20d5fdbe45b80137c9b0db3bf881fe834e44127d796872814b6ed30baf5034c944c42853e6ca04a3efbd933a7b9eded96509b1a4ffdc3425a4bf7d03f479a468d8a0012827451051a19e819cec71e2777bf78099369dcae1b8ca2b054a0defaecd8793b03d06ac07c0097a929c4cf1b5e8aeb9ac3e8623cee2a921d9ae8798c4b0b79ad14c8a94727b325681fbabea218dc5440aa1dd6357558405485694b7649a3a060a667635ab3dbd759f6016f56fe04a58c468740b97b4400b0f952b14c46352fcf1ac89e9daaad607922b6dc1513499c3f5ced954ff690dc62b4698de255d8e63d68339e78a6f6127116d73d6ab810c220738103c6830b22c50be5bb12323959658996bb7730426fe89b873c5e04c80aebe6e5b5db8430f62e420ff0286cd7df403eb9bd1c4c4180a129d9284958cceabc1b510c4f448da4405e9690f94983ef05f99cead435e5c3b5ce86b8169f667b0ae1f5a9acf19a75550207e9afee1d6aaa5216935b5af186e45ff093c2e89bf678c57822039dfc4305ee1476309b794c986061d6958f7855fb3c1ef6cf0403e2c517bcede849e6d622b3dfb880be83ddcddf198d66e170d85e12ff7bcceef14b37e8780b33d2341bc249a3a78cc49fa79bfeefc3240bf0b43b6277318b61e28f9f4092d7ee7869f8af88200587203736c3768d0e8db15e5df8550aa40e76b816e4cef24ef45310f493aacde29cb2e030f3ab72b527a91915edc8e8e40f322a2c2b932c134ce19a4c354acc81f3713ff586f13de0a7d1aae7f7a3abb8114c81cdac24aff94112ccfb2b04f52a4b9b78fbd8c8f154003cdba12351ee36c5cafa9bd1ed2b96096e48a991ed794c47f3582a036018b0b377e8a62ba5c90da8ef4bb2aec9e578d9258ffc5e55fec6c42b152ac96c2450292bcf23bb17726a4c3339a13977fc9092636a4c0321a10ac85074b678044d55b8f9e771bd4db4ee695c9fe6e5806fe2eddebcea2873f4993a8751cd880878539cd4dc05f640adc578c3c28452567dece41c16ff6dd95c4a906abd7bec962fa16a238aeb256e82388a7ee0a33aa86b5161cdbec8b01deeac5e079d1e5bc3b0c95af5a1a766da2415e4948227f1c30b65aed4af5139bb70c7aa1662ee0c663d1114236094d25c55505dadf7b6e751f32c3aca35c145f3f4248b3726c7651a1c2cee5a37ca449c6a6c6eb24b283ca8dfab415d29026dcc4d6ea42676bcf2c51b360625f4af31cf6ed7079f34c0665f5761dc13518dcf28c999d9f94af3fa7bed2332835b25af7202cd586f734c2fa0dc9031baed2f6066d122a30499f3b31ea30110923f8f4163af6bcc4e5e3233430e288a09643745c60b9d71bb1caf0bfab6f4bb0532ce715dd472584f5efd6bfa82f5f775887cd2789ea5824babc3b4dacd69bc53cb560c25c66b46cfd4bf5507883f0159d260a1073d92a720b44ad018ec331beef42d2df6a291fdcd70e58aee64245ebe76d2208645940fad48a9dd0735428e12eb95b4166493a66e368ce2a1f8112cc38b32fd8a1ac1491dce24470819196ee4f6acba227dbb74508272e5bb04e4d4acadd2265cea665c8f6e370d00a10ce53da1744b3d9e3ba8fc91ef4a37825172042995f0ed1c96da0455ddb644520aa57f7c30207b1e8120a376f24e25c4e8639a3f4cfc6ecd429053fa1447efa5f5953f427cee0522da4908c91afa29901e2357f3aab6024ef246f6242629514bf124860c09aef68c98b1326fbd946e4ebca006a478c3e2dd036d68f95ed61e222bc7a70ff5c149cec792feb68037555ac73ca9eabc96f17c1a09cf92bebd59e78200e667ad1bab4c14fd14c331ab77630e5488afa584836416317825159bd1f7c98c01abe75b2004bca1ec8627ccfb61e019f8ffe4f86588a49b1a7341451907fe50d00281613460cda75c9f17d859dd35ca1b7eb0a141226e40f1bc0f2765215fed417ec657ec8da0f6b4714ef9dcc1048263519e800b3a4ec929b1c48012006e1311621c5155cd014e1253b17f1de516281ba97479481912390d6140187a378d009fe65330bc25ff5a5a0f657458296d959ec826267fe9696fe39a526eee654be500161989db0e695dfb45ab6acff87b9cf22cd67e9231619e6f30821f98e46181d1048e6ea0b71684117ff3f2a21ae780bb8b980c7335a1ba6225291922f854cbe87808573b097d584292f897feb2f4275be36db7d44aef6382e984606dc17ac9c31148cda804d28ddbbb7991941b22d0a39569e1d2c90c56e11d70beec2bc53d626d09806337d43c877707970444b42f536450d0aa45defa6881a51782a10cc33d4e6acd4f2025f99ac944d98adcf8b078a624789e1e979022d7fbea8e4b8a51f7625cc15b92a5310572766d758b5dd025c8f6f93fc144f35aab09cd44ba4ee6c90fe1648a0e1d64861f50ee1dedbea03190f1e0762273c22159d3557dde5098628812e757a9680a7aed2b1f79a4ed9d2db747e9617712251b88652a5ec55f3f658dc8397559addafb1425309f314883d91b5fde7f7235f5d748959662d527abf10d9590fe0f8205ffcf6f92b88552cf2540838033a73833c0839a58f588a01c69b7161b2aea7f083a63b8d5cd8a0ae422b145e69627f45adb37d448ca7e082abc401c5c6315f9ff9b3ba60e2b5b0420ff15443f939f5b1b13b787c074087680415cb9a00306e6f7804c3a4fd91c4e5973f760937ce670f1d0c8c219cd45c9586644b4281806b9f92fc9efc54199236042c2f2c15a87e320d2439390476971c0ab912b0e76788a1cfd29cc269fe478ed0ba6a07d5f7086827712e71db4350746b6d03368e604afcd16bad17c6696b44b44a276204e44f21e3e03b8d2bd5a7645940d3338c7801d823132b2cc8370caca2a259d715d5c881647c65ad80af3563b08c688a8e674ded1aa1accbbe5589ecfbb080bc1bd0d076d9937f1072cc9f79a6f047c6d5eff82b851fac52124e58afd8c3e2b474bdc21f8e8a1a8da6a34837102d8000df0e057c71e32cd0507285954ea1fc82bdbc1e445cb59cf6dc9c6705f8f99263fed8393ee4572c70119ec47182477b71b45257f992d23fda4580ed8e0ba45ce698f21826466a90d3f4d4e84f8a782cb76fe78a9b67d8afd729e33faaf8a65560d0cc2083b55d13568e10c06f0b92165ccc2119b3a71b3590ea90b62baa7f167e7c27f3d15f6116e31d7714a7e0885014650e2066889c04fed2af1a648e95221e30e22269afdc7204ac10a22bb212013024072ff5bf01d14a2a367b90d5bc465dd3b63b443452d8163d0604054d3b3a9a51d69cd8b780394227e0ef0d112b7f44df01c79dda615e8c025c9ee50f217db5b711a21e39d69243e026f3feb754e9df4fd7002cf081fa3217b1a9304fcf3f0fa4eed59e52d7f82df91d85f6fc9806c9be3a37fb6ed14163e60d0fec07fb9664fc031b470fcbd453c8cac34e1de4da33b9fab3e7a8b09876e7838d8d3e59b158d1914665bd27a4ac6a4dd57b2750a30875fc395e1a88c2bb1fe642260434d1a289e8e000f676442c1c881937d22baeae16355f5c9d462e886091b9b1a8ae4400ccea22830559a9d0397d5708fbd7a2faa1d57d133ee66ad16bb6af99fa1c7c9aa3d5f663556d261ff6d9e23a3ac63ae25985ac7113250462a3047ec2d1b42ad9b9a7493cc9c37eb67a5a7e53e05c8fa4baf89460c5ffe391c78ec74ee6a94147c05067255b36f97dd086c6efbe7e64c88bd0272a5eaf8d8b040ac2d342cc8af4701b6215893caf89ea2c568b3d851e57aa6fdf39427c753be63d87cccdd0b54795b764df33482bedb31437fb58e81709f8d4ab46c4df5f5cb89c447e37e1209205e66a0dbb39d46c25a437528cc98d5ef940e202204305f8b72eea00097e4efa4d1c5818557637592fdef5a8dfcc62bae910a8e39a571ebae54b83251f8c129719bf0de5e93e2ae2576193c10885e7d97d2779df46ce623a790a0e52a62eda36124f4d03ab52649f4bb43944f0ee4e6eb1938f129e7a47aa07987645356b5c02394139a3979defa211f93e504ba899dbf03e51f394c2b83e0d1c8cfd961b9a14733de1073430fed963d0b1c915f171a09d060f0705a6ea08a2010ed242806c7c4a0d965f859d4fd51280b326c12e89db9ee934ac35fca9b0832d55ea5fdbc14c9c9563a9f38680c88aec557d193d1c6612b741e6128eb47b5a62ff975dfe1ae9107aee1972c8651b3ac01442838d4d781f8e67eed2b130f1a53730d2ac18b2499fbb770b3e26faf18c3b20dbc9c14a261c264de6e35845395f14ec1c9864c7c54bfc6660e7ef88d6b00a638abf65e8d042bbba71f30c102f00ec4a475ee2a2f04480e30514acf7835d091aad9f36ee1154cb2ee48f8446a1ab9b2b893f8ec8043a415a2ed2c7f88b6a6046f4c522cb009effe2a6355ef3340b18be299f3502f7f8cd7540fdcaaa90f5b8d46704a2af62bae08096b8af99bf739bdcd54d6c462edf6a45109a92e7f9a704401eec6ed4b14588c4b036014d9d7d4961cbad1bd1017c06e47a7d8725934f457fb1a1dda8ffb3000a1dbe363dc389867804f04c1aac4493ee7273f2422ab8c8e4cdbae8c2f42d1af6d2f9a4ad40c8bd8f163ee8c904921d80de94a50a5e6cb4bbe733a069295a75961642c7d3ab684444ba73c8e3315680e2cbd0f48e4637583b1fd91427a370f1fa3dc38d37ba37843c0de89951a55ea2f7960eef99ccfea1d68bbb0cd9f6d9fc8553fb87c16c00bfaee2643f2a4fe237c978167e74d7032f6f1c2af45bcd25fe83684d6e5a141693c0e940a713938f256e14f3088e1e1a69ef7986fad0a98abbd272c59f0fe3986fe8de1b9e5c4917af7b5a9da0f856f9919246105d9be6a73de456bf8260000c0f82f2f8f7c691c1cd255ad190a799b59a4a9f7e9db277fdd48cf13040279d81142116dcc0fae82086ac2a9376891fc36104abe86db94f9f5db779e88ce92c1d9d699572b8c1d0be772b93a3c9ae25ef7076a382078654fdf3e12864590c3716e10903797cd070a145ac28ffa26dd31beb6982af9638479ca9e0c94f344fbb00737e394e2a091504e1bcce8bd20b73c5170b95e419d25e745484ea90b23a2208c18b56a63ada40b6d2881aea5e860e2efec54183ac77d370245b590f690c2d60c9349914382376da6ac500983ae41aa2ab11c13a72b02c7791077b14ff82fa7d9f047961a72a0770df29ad914d2db6010df8914272f49f6288c9a1fa17279c873a70c9f13d5a6a9b3a45d892e73b855a3ce038e43c12a03567aca144515b97590f0641a1c9c7b135dc0c4e9faed114e7cb0cabee72340d9d721208ce50ae7197e552008e8b0057270f4506b192cf624cb5d84ecce2c34723a16215456e10d6c40c47c782f0cd880f64ff8b8fe102335da166dbcece83d86668087782e24840308232f0b058525c1e84529f82911d2ce0886e56d2ea9aee814e4eea0b68af9d81e61f938c2849f8d66429c56be35a8f554c9c7d449e468857ed42ec21015a070f4cd993139e8394ef310386ac0d532c23177e770d53a2082d1d9d3d6821a69ab5c8dd97ddb041dff0891a790b7213160ca5de8199be3480ab608a07fb3e568fc619214681b7744e6fb564a0fd0b03a0ca3ba4af7b105ca350f9b123bde56a4c2fa3993f6f5c2bfdb2f31ce567a70883c1dcf3fcc234f779def2b6a47da386b73fe06bb38a278a81aef1c617b8f74bef6540078da07b8391830348ac4b65fa3a7a01c09c7b17bd5359c65bdb84f93e6cd7ac393ab47732f3eb8f5c1889693433d44c910cf8e5f2948144dea1a40b4395401c78c05869391e5d87e3736d75b881430a79846fa0b818748b7cb428ce426a232992a3f15c026774da051c85c196492e22bc35a3dab2f1188bf75b6911bf3ec5a2d80416b49bcfaf4463923daf94e5605a79d3190f8eecf25afa6887dcf8c33cf802ffc9b0cedf713e3541c4743775edb354660cc3524d72c535d4dcea6ea4a48a15b62d3d00b3576a1e24de271efb3472d21a1b24554519801d9543b234bbfef4c3ff475fd1bb8993c4915d2290f31ef615a65d7a935515a3f7e789b34d8fbf21ad660941669b7592ee627320dc6df88e13ba755928b5b57680b11656fbc58fd034e62898825c290849c597bf34642dd763b6d644cf03945588c3d3df85709f173b21d71d9259153940c90d73eafb427b1075007552be64a1d19829166808c2393ecb35bb7d6112c29099785e61decfb1e5d278ea524ed0dd5547a3bf5be33bbbe06be0aff3d346f3d7f1991089fc1c418077bba0d67fb70615960e7df53bce4f405e6442fe0ddc4579247b6aa2a83cbf0a1a7c43b463b1fac2bb08aed8ae27e9ddb3be384222fd11141ab7a24434a3fc81aeee45de67242145e8d2148da169dea9ed0f66581ee09193eb4b26d909a4ea61da3e08ef1265de3383c8b261d7314ea4bf506c2a3f84a877ec5088a9e4ee5897f8cd116290aac15559ef68b80672043d3e29386e4eda766f7ddfecf83e99ed08f5042b09c5d5f1d3609dfa05d4f3266c30bc9a2865aac8abb75dce88cf35db44d5ca6316476ceaa2e28a3d2bc04f8ffb649cb28cc0da79c95a7d600725e1d7556d137026017aaaec03303129ca3889b2b7bf7f73bf90c98f6de165f67c39d69063fa907a8e6fd17211ac06baff37d7c476606b0176491abedb1d839553658a18fdcf271912cb8da06bf29d8ba4390dda63efa15a2b260e38872a03188cd30cc264c525a50ae098852f7653e7a891c03d003067c37e698c2d4ab60d212d072878e0ec8a005160f64fa8fe244f379f49f979bc4cefc2cb93be17dfcb2cb78fd7f44788b82031900bbacacf90c1a2747be54e4d3280954532b2676539971ebcea0d71f472d94dc78f82772b0541d1347e09beffb043b5cf9a5df75a439bc59597131c0abf3db57e136f30d2bcec9d4a241cf660f271168acffbab3a552f3eb2a572885e2a846ebb98b20eb4d1fd8a476319d8f74fd2fd53d94cd64c264975d81b9180e6adb5e25a6113bbb8107999e5619b72fded7d32c87a1875aadda285d7db386161d0ff16cd8d239428ef1965553f629672ac544f840987fda29f4b881ec00c08a3c4f449a9d0b34a75ab322b42ad77809241f7146906491b777b7078f190db037e7dcf7ad4049010457d7e95e03c3c92957022ac241262a7e50bde752c2e659c45e9be7c724477bd1db801e6033dbec3ca27f8cf27655a167b2d560e3d8de3856480501c224a3a5fa74e6d59e2a64a09c59bbf5249d0fabfd410d7b049b299b4b89c682d19b3bf6dc7f5f63f5e9db42a7acd7155806c3c2d925ced9d13866aff92903f410067f66db6b096df12751ca29b49af6794cb636a7f669ae1cdbcede07aa923517fcaf96f77de89089ebf8806cf0665a40db09b95d164157c9b3dd821efb68496629001847da55970b1bdc5027cab15eb16bf6e436a25181502ea98c96ae1a6a4a1effabba69f81c33e3341430cf80987489025fccb9a9ce7a6e505491a56b6f68c320326edf02718a6c91a408ac8b740810f2d8722325867efa9c191bcd79be121fb629810459c60dcc6a6b0508687d9cb52908560e3bf6854d35fcfddcb517258b2533eff66e82963c186358d42dcc396da85fcc2c2df4ce87d2be25911b770dd70c1c0220e89303e8858b57d576430f952b62a9565d10964f0e7dade6579e6028d5a40f72fa401a94bcac4481d49c549c0990ea78f5a91830b08521877e218271bbeaf6be21dffae60d0f46a915d6a1135b20b99507011da4d7faa4bdc7e4f48426055c1616497b2bc94315a5aacd82f1457c12bac2d2f33b8128d9ee552b160733031ad3774a56c429995e0dd2670c76aa9d2d627901e996635dc7c5e4f98a1e191313e137f969678d6075f8e49da9c29b2d28a1f4741094765a33eae84c420c28b85caf0466c06dcb12e69506bac0cb7b81f36d7792772a0b91067cda8fc5e37f4aa9e3ca24ca9b245aeaead78462a6d23fac586572de2512aded48ed0e083664d12d905d299a8f3b77e6b7865055167850b2990e2c8ab62f56d0001852d25ee9f008064762ae698047c40d64f93f9c22a1caeea61c5b925de75a28acacce6d0b325aa54c5a2bce42b77507b6030fc2e3969077b22d22f0fe7f7225296e6823f0a912a4ca57c8e5cc656aa330bfb6ecf86363b61036e5fb72a21dc0f4929e688a1bf69d47c14e46b2351f6ab4f7213c4a6ad1e7fe9cf74b8a3126317bcfb10337f3c12563571f26dd59d8860cde96fdab2da05af6fb8d028d86f1eeaa5e99f729ab2d8494a492c954808fb221f2bc61a456e2d94332c0558129ecee5f4745052bdda32d1effc0f5a59e5a03ac99423f55e20f741a3ef0b1a32e4b910ec4e4fa72c72274c0e51dd020c31833232fa2b175ef704fafb2d283a7112296724c73b5b13fd104aede1f8c6cbaa526b03474198d86a536039b71645bc8601ba46a6c309738b5995b831fa1a9b90c90fbf315d1549f0022c77df97a06f978b4cd981d50e5fb4c3b7d36a0a6a52265fa19f0555ad2e00a29b33635398b193afba14ca58554b5f0a56a31b51eaa521aca9664935b8393040128cbdf95561d8cd2a2c1db120085995d43c5acca57a80d296adff98945c86fdf055429dbda7adde597251cab1c6f2c9272c90795f9517c4b8afb5f2edea0581d7f20c65ce5dc53c6c78a1a1dc334dc40397ea543e4de06307ef419f31b7b14259b35f7b91feea183818e86a849f6f9270f1ce6b07c8046a97ecbdbd550faa602a06f4e3f8afefbebfb98de4a00568ba2237e7dd8157f7c486dd7cdad7b2373acc854efc99be957a97458003a4ba7733b16905e0b7f84361125fe3ee350a815c8633811915ac287e9f277fe33ca539222754a00928048e40727e03fd0a9c4e6848c6bb6adcb9756e64a745390c04c150c09df710e1bab88c5fbc53599c800836ebfdcf06944e9898fde275b449746cc8152d8ad8a1957f5c1d2a9487546e6e7f8737a28577e842e37431962a6f6567f6a143a082072b14497fe1cec9b21d0b09404f0b16833cf2c8088c1d3aa34cb5f3931b6070aa1fe07f94fdc680c3f5724425b9ae4927946697dac061ac1ef86183a6b774d0ea652fe4eca09d34e43476953d1d6e1b8827c58273745161b3c729b60c179143a15bdb112e9b35ad73922f8c01286d01c38b8c175739854a56a6c91f58df71fafd2371dab591fa1f2475bd14a8fd4f06d1e61269d2b21193e1097980088cfdd0d5f2ec79eed8647cab9e03094bf9760c8e424ac9fb8b90ce354d176fad26490b2f783847f75001d7acafd71be639d8eb97ea15aa99297739d1a6e74ce949763774962f97c964a48d4126ae80d4df7614499474c3d0014b1dd8cddac56cfba5726b67e8ebe0106817670ab5bfae5333e8d8f2e53a4b37ce54dc6616d98b98f7333e0182cf199e94d88d04d5295862b3b8247e371dd782a458bb938257ae56903960dc65a003719e3e1004fcf794b618970d4450ca22bda34708d43512f216ad72eab5e88dfa4daaf38a49b306be653795c9ca50aa88e337fc380a61dff201e92184ebe913f742fce1396ef00cf27a63abc9271916add07ce908b4b19e11f1ce13deb569db5b386b83b30f6a5c15e7e2c79901d46a245f5e8ff7462306cdb0e12797b4667daf213a02677b11db957a90c02f468037e0d0e27bdeb290a8475b7c80082edaa666a2a7ab1566f9758adfdf2e8f646464ff59cb679f2a6be03ba6b701b008079ad77763f744840e363086eb3deb64fc94d80b94ac2ef850c07fcbaf6d3a951c85b9881478110516043019d181c31dd0bfeca4c03162ae1e02e9bfc7a83e427ee47eae4c3f7dc9d1d1204a5f0e7c83bba0d497d13a428df58eec731d1faca7d04e5451eca40cd762e89e8d549e15b619313c165fd3126b7e1d216db3a34e33b94dcbeb5abe02cb4113a0a4eae0f69f692b84d52f2a302facb439186b2c8636fd36cc0a5e2b828364ef709b15d4c3d10143f67149da370b926c5ea2e4843291e662dd20aa6a336bd9184deca2d91026eb04863f1062dcdb159f0e0db3a731aeb06206ab41c61219af457163acf6fffef26f9dd93e4d6a0060b9f7977dac73326ac79ee61854ce209628948bfb8ee734496818337c36c7b4aa9dfac18da02da00ec039e62b776cea7159ec6a032c07acf20f973db5238c44d4ecf376d019730ee0d6c251cc2f1a3aaf27f1f2cfeb3ef52b2173f979a9777555891d27a1c94019b344b78782cbeccd6bbc94a533f03b252e7da7cf2e19d249150a749dcb38edfdcf4a5c13c028b6d5651b04399b8e289f81f0e750d37ac0da30455c29aff140a44a05a4d3a8fd1c84b6e5acd4c70701d2a77a5e04dcdb2c6f9b668a8324b267e5066d10e0d26ecef1039a9d996e857eb1f5c0ea46120c7de318105bf5d07066f1ac48d3c9e0fd55923f75b88321bf4ed063cb9936c02b5172d82fe40c4ba063b40cff90e103eb0a8a8e303fc16dda01c9ac60176d3fc988481b21b2a9a76a90366be817d72a54570611545232671db3458051483a398c6bce693876734df6c6a06262d19ac9cc6d884447d26ab6bd947fe174618946e80e12989a4e6b8484c16b0bb441e483e7f94de81bdcd668a7cc0e8cf313ca3a967804cfe322043fbd2b2894ded2099e6345ed2f2e9a1cbff949a5437c4508750210be110417d8999f88730731f7a25587a8676fc85ee53085c027e932100c57f15ee350e4e0148055d8eaaeb8d9e930106408d042211e930515ff15d2bbcf2784ef44c208d4c8e2bc13f839e0bc13b00b1f952dd90b348091f2d6d51a031a203a6f4b2dd35e7ea072c22c793fd209f225252a6221b19d81be90515014f23360ec66cde33a1510c2df4680eafd53e0a7921def943f34c36bc11a8c3ac946953404b4f83d9c85314e2c1996640384d92bc7d42d049bf3ef7ee7798d6b1c1fe8c45f6967a24c88aab50def87c1e861c2925c04b41bb40ef2f85c94ae947ee8cb49e7456e030bcb0733bada4f97e82876ae46cc7e7c91f45d209416969bc630c2f2a96c546655b5d735ef843f1bba843936e4420685af330c1e3ba923ca5528441968aea9598da25eef481b259ec43bf8892da3d65c5862ea9a514994b78f842e8119fd310f76c250ac2d602f80fff390ceaac4cdedab705ec99d71dd5312e21ced505bec7484dfc9423f700af23c40b4a84d2a2945a56ebecc055b5ae09bdfe0398a04b0758acc15ff41820a72d9d56d10153595584f87b019b9a2905e1d5f81e71ebfe0651177b9232d367862a8f62b5cda25a36f00c25d32c0fd4bb96104e7e68fd7810b2b3a56d96ab194b515ac544e8cfbb68eb3a74be0b50ac02ff87b792e879d81858701f3fc73b0e909a82bb8978d0d21d78823b5d895cef6994db5f4355b0f90464fca7623f3ba27de1350027ff0cae3bb1d4aafe1f55fb64c3e4039e12b0493aefb234242bbac0e2cf3bb2aff5c5a2f6afb5b11e874c826c697ff837c8a72951f7c9852605c347eeb8c33104fc3637421712b4fb661f2df675ddd67dbe714f85878f671788197207cff6534f44bc49e1fea3458c88f5d82cb8611d4dd53b215ae8221146e7daa7f0b8522d95b06c97a9fe7da0204e9c0b5038ca91bda3b9902df61bf8822439e2b64ce3f466436de947ecdac88ba7c8602d3f0231813e81a5bf9f023442dc2774dcecc0e1bce8fd596a0309a156a23cbd32b00b0eb084e591bf207718c14b807256b64ec876f91298de64e48f63109f8ad9121208d1dda82efb1b18e9569a11fd4fb48c97347ad7eea0ecb629bf33a8d0f70fecfc0fdb0e300b0962dbfcfbe44b7e4592108e784e3de6d75ce25cd2072fb89d595c6d2c4764c977c14c1e82821771ec8a7c888de22d9d7af8dae478e803dbd1f1c35a13b0df351fa9ee052728ef186cae94051d20c0329bf621cf961cabee62dc19411a8af5bbae0751f0cf90fc642c216741c236b47baa381f021cb1dece3c2aed43cc3f72d2696b30c6c24427c4bedb429d37c11fb72b87831cb068c4720cd5d73d2360e240fcb5a5dcf28706285dfae8952b0a0c5cf6e426b52e5e3d0bd7f372e2343a2fd578eb05c71c005c0594b4729154ee967f091cf2e0adfa9d46463ddc90d0828cea8aeb7500f72771fd67195dd9102006a26b32e7696408f152e124d14ca74cc17d2f001b80d4f4d4ce443eb33c6595bae5f64959a30352fa1d7bea57ee60ac7828f7e5c814bdd315f55fd82a645e672e34f3d6d67bade8a221a75e53711aec7239d3c1d039eab67ab8d7e8f1d7cdc5da027f71d17e6610eebbf29f37b8c08f9e69f7608aeb95131d8d8b51eaeb58f5a9815f8cbc09695ad134e0be04bb4b2abaf6054e374e4514c8a512cd652886052832099800a36b2c05071fabc32db151fda0d54c1615337aebcc9aef11e6324137c5d238624d9639050140900d996cc925620f2a7c29e0ec7455a029dee9229c714ad20faac1f802e05e79099dc8d170a10e99b5281121402ed01d87644df19f9d9850d273927393cc4a6e0d8cae542d6d02b039e1be3054244c097b427174e01dee89f2e1774aa57de1dcbb2f2f16eb1dc7e45c3f4e24a8a1e97eb1844810461c33814d5f50b15248ef4f69e4503e7837efd9f4ba7d2262424f20988b98d621666fff3f2d5c6ad6ba9995d076d14c20a4dc07924e373d2fe704e5d72086d5acd98913aa1e5c1f06dc626af1c048740300c88d14e7b149d9619fae55fe79445b9fffcdcce3ace5681e5c1b6cdce740e325e07b8b64a73341dc6e1bfdbde2339aceac1d7705551746dd7d57ac1ee4a2096facab3e0128682adae08f61b96715439526b820a138260f50899f22b572e1abe6ec84d2bf14605078c104b10148656eceb5cd6558431efbe4cfbcba37b9982a14d124313c335ca67c091581bd14952f8c6e3c673cb23c2f18b71ab9ba269335f1517b02cd4a4fa93c2639c65cee4718568a600d56cabc66114cb0b387db2041a43fd43dfc147b1f61bbe2f30d7fbfbd1f91507fea860f79496842830b5b18c98bc8cdf76ebcc58c8a9cf401f49e004797b532293fc79e1219fc007839aceb5fdba6dbf1e4ac8112a18e59dfcf23631a4c001b51fafad532221b66424c17ca1587a642a3da942d5d32e15b46218c9ad048776f6aa91528d8085a144d73f34564f23a2d76ffe2b96d5a546e16b0767bf12999fd4ba537e88b85cb44833d62b5be3c3344663c6e8f825cf91ab9093339d7bddddb1570431fc60563afbd97a3202f6394a758128326a552844c582e4a20cc213015b3a65c20dd535ea9024aa100697ff31bcc5d91a5ab2ab3832508018fe1e674399691a7f1bfc9e8ee3bc294c9bfc547ce39de82f51f0f3c4833990f613fcb21af6a2347355fafceb8b3a11ac0ab520c87a1ec7bbde7fd59786f53c5fc3b5744c3ab5d6274191482678edd6bb697d23fabd3efedd71545f0b4fb63bdc02c5bb52e6333e3c293fd868f98114621fe1df4299a516db5c819b517e4d3be6ccb93120577889d89e7aedbc79b6515362a78e51fc975ef2d0a42776cabf89f5d52d39fbac3ea97a7d90ac87b9b8562db6b25fb2d87154eadc93d124d71cccd8839b2ffdc4fcdcf8456f5442cf05c8ea479aed96b738ec2ffc7a82f879eda8eeb059114ce55beed58e9bb5f6af70aee23c33ffa3bb3339cad4060000fb327addef31b6eca0a69f488c13f94cf2d408ef67b5a85a9f229ee105b8dced9fa0a1d06980952ecf39305016e7e0771b52d5de806aa8e0091ca25f6baa5e75eb90729d1c96b3d17edf45e1d3b03fe60486516c9f672ee87bd3e04e4e54ea870d7647a8e344f5d56fdd6989a5bf86515f1d5899d8edc296e8b0f051b2097d9fc19a983b65e9ed7def681b53131c4d4b6925df3401482877decfe0633c31f4f7f48529885f11a51734c47a8533c8e12e718442c6f4f082bab26777251a25b5a8fc89ae2a6787312287229e15620ac92579b54848235e9625077509442226e93adfab3375a94af2525dc2383dd59dd0233f8eb3f51c2339aaf4846353cbf09f811aa2430c428ad60f29bd404b36bf4d6f1839910a62dba366337de65ba94c793ace8ae304b2bca2baa1c4bbe3881098acc9fb9a984e2d26439b5020c196285ddec4935d2149e3520adc46ee89d8242c7bc5b3738e34e1041b972e41d2432f8bf0d3d49b3c6365641c746ff5235d1a00521e686adb6e626257924c79770a4451a01e7a3250a3d7bc002b100f8411d5bc5196aacf58da00ce07002bf1e6069af42d10c66d33100d9fcf7f40a7784231f60978874ea8fe8f51adc91c062831f8137e5b292a608df59c1db670f7fc4a986d6d17f0b8cf8e2b72ea76a2d28d830c633e908106c03fd4645946f0d39739f57404a37b349279cde9bec0d9dee5955faee15f5601a49c31ed09a37e242cb3d813b959fcb7896e83fc6ab627632177b34eb247472f3a645646936b13be52d295ae15eba326677fe4c84c1d503f733e7946e35e5fe4980a328431f73b810ed044cb30bd5dc339bad82dcbbd460e194578e7c170372a64cc973397c72e1b4526d3dedf0f7ebcde550fcfb93894181f6e98bb9220a0e9775013bf174dc9b76e9c3576dc39722d2f9ca9e39bb933b4a4a95d784031371609c9e292fc6c699ab9dc23ae7f8852726700e2a9236de5c3a4ce02effdb254de0f34782fe8b8d31bee5e692a66e3bc176b7d69e0c855a2972b18260aa0bb9497b65f51eebe40cad115f33f3fae8393975613e8343bebd7420bdbe5d509e1262876cc355f300de6054f0148b483d1585bf821a2ae150a0208ba7debbb0a3bbcc608a65501628a9731a731c42571efda3ed3e5a581df7bfb57ff191dca5931194e067a30ef2875a962f87376fd4cdc316ecd2547eda9e90afd70c9f26e130fb1beac1cf8272b5743acf2f730ff9a045312969744b6ba610c805f5cc29feda41fa52c6185bfedc8002fd640d74e00a72050d70971da0816d78ef1a50d8c8394895d149f82a5979623133413494324a825992c9fa59c1137dbb57447277eaa5aae1832e8b156d9084f44f9c8d9fd71651844eddac4c4fc0a4fb60ac94cd9f7ab1a8e792752022fa855c0e575427157e91fb94752e671ba6574dbe96e7c08f7924b0635b797fff40a9d32ecf34146021a80d0a12df6053263767d8ec6ce7fd003ba16040ec69ec8cd47b43b6f9b4e0ef8649c3c64484b1a83b3709d0b41238e6e7b9991d2f10857de0c7e6b15b6aeabe15e7b0850d26943c5a5be356bc73533fa36a8b58f84f85c29843f2308db20a93a8534d79c2d956404692c23d49f2e22da0550258335278d56ee42499349556dd6496bd2f34a960f798058d674800582eba799791b9e8ff1323fd099a02333e8b29f4affb984d184c6cd04cb813d47f8985cda4a960513375d004a1b929945a24e6acd0bb23686510de6b4f612ba814af2b4550d687b018e17531befa9f09efbb136204bd843aeb084fcda338ca54d89b19c10d62d403db14ec779b10f2d3521035889c479495195fb17afe33147789fc88e5e6a3a0603bf97c47caf3952e49d3d22d5495f743899003ad4eca39fbc2c2b48e7b520de5bf174144646d52dc5115a4187ff3445d657d538b446394db5dc55ff290b236fe48a51409b39718c2fbcd94ca46cd06029393d05d0d805bfc23925b81b870079b2e8cb4cbde89bc41de04cfeb795b5541564ca78600d9fe2763ea10f60b30091a794d8426e517d8d4f3a2fa6f65cf86d97dcb4e995a0b7bba312665435e9b50e575e9c2f2bf2f59aea0975a334386783e8312a99066d7fdd16a6291523b4133063ed103677b209cbacb7832ad6fd41a3eacf54e2d46978881618b9f68ff715290405103fee0ffe4e021dfa6200fced79e3506c922edd559c74d04d6446a25b3838b7fcd12a1c41e34d1fd30231835e4bf28df866783777091a9395801f1eff099ad2dc81c91b5142914bc028dc7a5700c5ecdc641bb86597c051286550406f7fe8b3c293b1f964e0df60fb84365679da7e8c3cb1777d4c2028d1b4ce9f1381aabeeb506b2da2698b003bacebcca92d64bf8d453f05f69a4c07c0141ec7bbf39f9bd0d5b25dba90c319e507286b5ce6233bef9c9a4e34e3ee3e46cac1105634b29db11e2e6f61a1655d32bfd5285316f57650682a717f41859469ccdeba5a4f3f094559f434d725cc65f1f3bfd49a4b92a6787253e2a2063346ef75600c54438f3a994621a34d37b37acdd1c02c150378403016627ce00a1d4534cbe40a54225245e55a8bdc893f01591706aea4b08b95847e6a52d37a926dd3e7bcc285789d175bd525943727980e0ae07103d9730d391640d30da5dbee3055eb50a2dd940f0dfe3fb25011266ded085be04f90642953e2d0fdd28f315f9df1bb42c156be0b1ce47ac1cb6b77679991082cd680df1e96133d6e2f6f037378855172a91b690c21f0d18c2175b9d2593dd9f35469c44f02cd0ed4b04963c902296a225148734a4442325c978d3ce1df4ee451485166055b834b2a45b59812b5c95afcee70561fcc4a297c69ec090f45a80067e5def64d765c0d3bc57cb1a713cb76fce87d576d91534eee00414af7d2853bc0b947621e164681c7822d0ab66d45e31c72fa964a3f9ac51cc8a15ca3506a0b24b7f70be6c83eb83a0f11b154e226e6766cec279949ae37f50afcba0277b119c6bc9513087d653c725a50ed2034b2c9b05e4038fad11e65e9d52c208362c42b58a4c69d534b968a49f604a22754e7d9e3e3c161cacb6fc48ad0664abe67d64c24104aebf874a03546e52132f6fc14991adf06800b7c615b163e5b9f68164c519d2dd884cf5fbd775f0a32d795a4d96dc626a7bf2a36e98ec7e8dd935306857e4fb7a526e229b050d59bc021a442234a819c46ed18ef859567aa9ca674a3fa2feec20b56ea7f04803b920d71b6b88e41a6e538368ce51258c17379fe2267e557d36b33c9d422fb38684c2e9a00b787c66f8aa3459947c3cb9d19808fda87f08e305a3ba3f3902b11be6dc39d0ee45ef16d51c0d2758ccd57ae71d6ed155ae9e754b7fb27ccfaa2c5fb28be1963f65ef021a794160db85c34b6ff4182d43d242d1a3fbf8255e761147165ffafe5d7ae370307483050eb56061aa7c0e0820092f256319b80019d30d27b663ced2529c67209c8b355b1f65996e476b6f77a81ac5763f54b96cc3428a7cc9e7810a52df1e4e54df58ba722e3065ebacc59e734fb8903a8c0c9ae6baf4c9ca44692c9f6940c51d44699d8dce590bd127ab28ef3b33bd8dd4f34bcd651d0f30aee4bd16a77e2c59493eb5b069efe9ce6e82e294fddaf33b16ab7535bd7aafbf6ddf6298b6127f971d71e40def51226f6c93370323c091d0ae95eb0406e69c72639d8d531da0bd573bc24b857beb1c6a59df0194d201b3fa758e22006d5470d092d0e4a68b2729a124fd161aec73987afbcc87516128a819f9ec7549826936f028c750bc773e2ea84d7d07344ef57a0c160f2f0d776759adb545e8ab3c68a7b1259b845542a989f8c181b42929f0ff174aeef50142ea517fb3d55f28308df0b4b76ffacae4b2a8a9bcf280bae4bfaead138a1d6f7c512bf1114ab603fd419f2c57cca30f4872c9b4b5434146fc17e76e890ad921b9820da9b1965a5716215c2e7c87353dc41f93b6fb46180a54d3f624773716bffcfb2febbc414619c7ed892a9a70ff9f785174dc0f119f305c4c48ee06f2ef65af0a910e021d49eb87eb2220389774aa5506b00541fe24203a8cbada5d196d22c4185d30b64c298f90d88a80cc048640b00fbb1066561da8025ebfd39ef2faf829fd541ee0707c0ea7169790cf9415773d940586cc825ccb1398b0b070ac9a283ffd37d5deeae15989f996a8628957e6e60299f561edf9381259abae50cbd63724303e6b966d50065b55470d6d72987de67f43cbfa024ae516993a431669cbe7c587f49e219daf1b8fefafd71c581ed577a7e2650747895d30a1351ff9202ebf337b3f912ecf5054af81267700cb8a7733337bff580a1aa5c11ef3cc99586b207c0d94a8d4c28b6ac67bce9e813fcd1fc995156daacf0965af8d093857f6f691f85c2fe7481a98c1ca9a723e9b0a0d308fdd70a94550ca78b08dacf45934e4af7cca906113d67a531d1ad8e28af4861596393c878b844e01e9334c7484cbd46ec6ee1c036477c2d232a1bfacb27eaf93d484f94aab884fa91c754a05a8fbfd542d74286faf092e7e64b9f696c736cb899c6d1a19918554005fceddcef30b5c2beb9f500130cbb258190b3b55bb83ccac88048e05c612637c4377cc68f9570c271603b298e257234836d57f2458d41d9491cec445c9ca8c354ab3596a4d85841cae8349156fe9614c876aacd980b023293067c929142664e293d6c657a8e1f6b6d54318d9fedb7f455aac374b243b1ff64b515183d5457a8c8ff676516305a91f162202bffab49232122e1b20c752407d95a71e69048c0d2dbcbdbb868ef2b64488e84ca0c5488eab1294be800e8209bdbde6eac747291add9618c012f60c08891b4b6ec2174b1eff0191095029a2420b66459676601ed4608a1acb6d24a23edb6f32da9ffd4303289ac3763302e359a2ce91e2086796348ac165f7b88636d8db88382afb686067bcb9b13e78f055b09e54a4f5364ac355c82d1f9304dc050ee702961fca3f7741a76b1bd6b559bec218aa2afe0de5ae3ed28eec6b12c28c257be1f3cccacfd3b1a39b0cd36c0b124384dd9fd60cdfb2348a89328dcad20f0a7d0999cf707855b46b48b24ec9578094b2f44bb1a8866a7d957e770d0883ef4633dd1d51765ddfd1149513535526d51dc156d21562fdcdf2ded99e9bee9036861fe74484e67ed2f27f03953fcfaf984b86cc426f8cdc4d4930efffa04443f8a69a721cef867aaf67b9e5742fb1f779cbaff8f4775f0d13933aec2fbb378bbeda4c548cafe460595732a93384f75ff4eb9428bfcbde2ba9eaf6eab817147351547ed0488d1c135959228a4594bba3d98d1383c1da08df927574a3cc21aa8281f105f36414254ae5669852fabd30f04036f8c6a72e10125270aa88159f0834d3d29c79b0717e3d4c5575846e94dc06f1a37bed8df5eb696b0ba96a4a83d0b59fa9d389a96fd52584aa0e4128b0958d599aebbd537f14a47fed9bac2abd9795e4275508df127f2dc39955d2f2471b7003eb324ebe636e1d90cd634679610443457f7b3028d188aab444ec6201b24918ea7bca108239c182a90d5703e0c04e07cda3a5fe1afac2f1e001910d35b6709647862cc192f16a4657605a786aedcd5c2235c00b27394d8dc18454ce9e580a793ae0da6775347fec50d013c82fe7b07af8d0b02d9fb58ca75a2525f868a9c5d63b14b434ac8f10bdca7710d58d6da121559113d89af1c5ab6482916e8831908d1a2bd8096db062cf80f997ac379a0cedfe08c36b21c804f5e5f1753fca5d51743713922f85e353aeaea183c7b350c59d98e7931af1fae4e729ccd5e1f9f48660e7b1e024cb2b324b192abec771d11a3f135e8ce82c8bdc55b8e120ceb71aa2ca87b320578b8c566b414fd698304106da2cf6098ec445d6ac05aac1f8f85d5a280f206d508cb37d6de6ad2caa848b504e61bbb058ac4c2d1a4ce3d65502ea15e863833a0a8259d8731006b2b378b48ddda0afc00bd9517fbced9e65919485db200cb94f66c8e1c1bcac5103492680ec4435d428cefaf4c075022e4a643f7f9bb8c3eca65165c57baaf1b7896e5ce28a310a55f051c574a40da4dd469d0b269b2323f9287e49f6410afc425762b4600fb574946b551fcabc28d155f07f387e67289ba5d574a4e637b5bdad909bf6c02cdc8b2cc3638323af9dbc1d31e366abbb1bf2176ab1372f1e35d71ddb27c06d1b50e3946db684b6016f1ce565a9aacc0fbc288ec5e748ea73582b205756fb3c0c8613806ee17788dc0dc9ed664e545a3490a7042ef8af171c3940009fff2df357a8c11c76d8d130cd1ea7222334b169c4da4a40b3494aa18db646d9608a610e9c908c02b2d41f836776d6661345764448250ee468b66a8093b8a8460af7500fd914f2b59018b79e932bfbc662d28d161125ab3819d211e5910bca750f35d31c9aebcfbd7b5c53c51f4ef9cfc2c95f9595316b660283825f16edf99571222523ec8493d22318d508596985651cc4281a7e1dfb96110f5e12efa103045bf20fe44cf65ba46cdbf44400a3932d165b7207401a17c5f3fee232ea2d96a5a070bf5b20288818ef1b7f8905ffea52569e88e012c1a89c2736387c155f35c6445288cd9afe8d77f05ae62fb3a57a91e53d200588596d6ff90e61e7b544aa75c919d9c7d6cc676f90854b319758ad85732ea3311c31eb868b97d66c4e51fbf271eb008a4ce852eb8ce3aaf3bc930875157563afac9e89072a157fb1a26f1ca03b9018a08f5f3241042d66c07fe2fef711fe6c4a67f77d53f3c7a0ffc2ce77266a80fe7eaed1ddb2a4169fad8734bbfa2fc84ef2c6fbdf9a12651a58b21afe4505278536b2eab03b0b387b0625864fb8b63194bd71f68fdf9701e686d556722659708c48b9fea79a4dc7617ada128b50f0200b82c66220bd582043633bf88c9e42259a3faf8e9ede2df4ed5d6de1e5b3ce9aad9bc95008ed421cd8f29f1fcc11b30c4e1f8d6ea7222cd354466a1e9f1a4dc2dd0ea680d4ed767e7a73af1036c5d754afa67686547f8434930a8e4f09c253157b04cfa69d655bb070c30faf9ebc056d84b2878873e889706f89adca1f28e398c7829420851bab4177c2708ba32f7f65b876f640db3c8301ca81e778a4e6fcd1ecfa3a16e352e2453ebc1521771104178521e5e47506a050dc89ca00c9ef80cc2197cecc35be0bdfc0e69e472d31e7d26208c080a28cee5c18e4023e4f015d8c0cecdd2135811e3b233977f4667d95ae5e367fc79d63729156b86fcafe485394a7902fca1e12bcdd7e706bb28340c48d3fe0d712fdb8af7fb0b11570703e7677e961ddad12ad0198d82467c913674e282a9de93879511c00803162224b0138d295fab39aaa2334f62f732cc7e97ee7c589cf51084a39e8dde37a22ac154248cbb4a44e94cc033e4900388c7ddf407a577449c7eb58e7ec135a384cfa5dacfb02dda67cd4b5510ebd19b4ca7d9697f48c55ffed02d0102a8a09f75abb3d6e4e387b008c8057e861eed2d6e4a2296365f58a3a3b9db2a501034d0bf09f1488a5297b8120d03de12d9e19d6c7103012bd6a189b943532b199a21818567103896f12aa55b13aeed8545027e1bbba92ada3cb0f40c739db06610ed6ebc12721619fe23203f1ce47ddb7b4d5ff24ea33e8c0739ff55506143d0461fe69b7cdb3cfab9026b119a638f3ad2fe42305705828616d33a18bf382626e20a582bb382daeefaf512ca5a4c873ca83660d13d6ac26937ec7fe256f4477e7b19fb8d5683331813fe4fe81486b4fca579628b93d86ce843f564df71c201793dcffb3e68b5c68d3050cdf064126c4d9dac2a440bdef27a13296bcd2d63aa7771029e6159ec65c15f1de46fb7638b22f56ee1775c5074f5f1c1063feaf32f1d301c964048f7e128d50716d32ee2801c12fb34c9f922dcb9ff96c229b24173444241cbfdcd1240cdb6285e8248f5f0f43a3af51f5ff5efcb1f539f92448b338d0ff9e509d66c70fa71e6ce335aeff345def46a8a58b401672b8b926c62701c49f47385873a1717f276a9cefa110720afa19eee62e5f04df34c6231799f108e570d96159ada522ef866bc2dc890036d5111468c74403c483988e2e992a9f636a2fe05d99573af24e2df074830d7b017dd021bfc1afa24f1f20aa071073b06311a0bcf9319bb2741f24dd65835d76751ce0b796e741f3fcc01a90408f88e2e642140755bc100290d0fbba9c9fdbe2a883ab02c2dcc151f1eb0509ca244988899c7a61da561be4f64e9a8d6bf7d96b569a89083cb0da3fa5f40a67330cc48db4574b677a17b1c05e1e2931d820fba2a1be6853d3364b77d918fa66bb978dbf4d6591f80234536d454aa2f4fd0166de50ae45520873960f166a575ac6ba307c050fa7ba716eb6c6476b3a960d768a051c56299896079328b0aa43bbab181c08c31b3cd14e32035ef26f0e01e24010ea4af70a3ce4f4f88d1741837ec7c4de3a3f780dfe5a0c8b125e4006a9bf08c7a060958759b5b8e9ff17e643b2f40c41b7ad926c3863e8408386837c2547c63ddbd584f25095f64701982fd4cae194c35eca4d4b1f41ea0fea9de2304a4c2727796be70457c6de19312b0c320684403835f322871bda369ffcafd2d76cfc6c949d1b18b0244b7b62767589724afd7ce5c96cacc0afc5436b652d78b560ff485293f76b0889b1dae03da4fb60b42782a1d3c349f751468b85fa3b311debe4c52cc28dc68bae73f2b6c1704f3b1bf06f52d5d68a7e3d947f2b7627d99335963db30bed7346273bc31d279892232430182aa214d031a00982b9139268e547f9a963b88dda5dfeb20f555221c6626c6229c907617a1dff262fb76395cccac9f7034693eefe43335fdde4821a68e7a25f4d1a3decf420df11de1a587af938c4f7f790cbbeacaa79418b8f5fbee55422db193410b9adc465312bd9474c128c614d688e6bdd4e235e809c8d5198cc7da3dfea98417471511f0091db1a7c97918badcaee9c6a59640b0856d9ca6215e33b35181e7764e743f4cd43030f32c10c327b2773b29dbc18f4293b65b61f28cfc21d995c3286b69cb8534c4a2528d740eb995873f89f5f717e7e4464f42201366b43ea34be0bc986ee6a36b597a6edb77c699d1ab0d4780e2ded15f5cb28fb411addc6a5e062c4f8511388548c3b9029dc32797b16e550a29cfa8c2a0ae60a5580c6082d0a77f8412027a0e3a7383f3fdbbd2ac2e06ac642e78013b5c6de4d9b1e4e71165642083f93cb531e038ad7dfcacb181c2e578c554429abbdd2723f54f4df8d140abc8faaaf1ac4559b114d3902053bb73f9d9b2c250c2b7ecf4b192171a3ae03a5dc2b2175d56c203bc51536291e455bca51398285fb0322297334e4f926b3f127bbca18c008a56aa090b66185079325e43f2e2d011e89efdf414e1a7456f190cbf93231c82fdf5a6ba11250ce88e3c5c95d0c196ce6a5d1013e33f084038392f225ec24c118ebb972dd50ae3855cc19f3d7954279d489992bc10e5b7f7097858a209c63e156816d4bade56ec159e629066970fa9a2972bfa9be8836f31249758034dfc4096f73dd6cd3427bd3566e4947b89a2ff3296336c107925c03fc4be64d865de164d1ccfb63b874873098636e492951a1602fc9f602502b953bcbe44b42ac5aa2dd5baa765411688558cb3b52ecdf4e51fc04d3418c621c363108eb21bc01263a0f984e9be3f0b113f29b50c293575b192adcd3881afe88703798210fde73b66647b2f43101fa31a727deca497e4dbf50f39a6fd2ecd68300570250b8396395e3a7ac67a3bf0b1d8787d5e09949be39f2fb3cf0600b39bbc712973b762f2a52f7646ec87514733d29b220b54b58a0378a51404b5fbaa94f7f968b8bd7a708d2d6643039e692d9723d06838c02ef46f1f957927a29abe11188128ab7e8d6a7948d4873845afda7b2c6deafee98de0f7a01c81e6294ab0d92ac68949403520428875da7d1c3a694e206947ccfda5f09ee12c17f83d41e1d41b1cd88e81485c59d3d9b1965d1fd5ff82e3a0941d97e11acb19bfec3ac7ba0d4ce69590399059ddb07eafe9053dee643aea306569e0c0666a2d63b00fcfe7c1921db6cb22e1e9b161686c4a74ac668a5adc038cdd9821b15d18d87b4c5e24a111f48f6bb569b35cbb945613ea6d4e4a4496270c99ff5553dfaa5a486122e35300b3303f435388d1898546b0772a0e56dafa5c789382531cff3b7a3b1d913fd1ed965b31a4bb77b80edb241db6df89fc7027f9e377a552e43dbef9dc9cf41731bf5e088f7af3a5cbbfffc3c6ecd646a07f65bd1aa428bd541b96072e46605bab8c3e38c5f5415933ee15f956ec86533f031f799beb8fc838e3e6f3ca0604a2649a9b6f3289d1576570da142793485398e9b1d9b07a61462292d573b6cd51f26df13ceebbc321245d0414530d5a493b2cbf95da46af6f48ca6ee1ce54924f38f122e9bfc28549d5a7ec5b674affca1cbd5b3c3040da6a7b5d35e45eb4438c4a345d943e72e13b9325798f169801b2469ef4cdab68e4a74d768fd471ea611c3ad4c683d1f4418d2dbd5a4008c49cee8aad5434bc6a3262a2c8c9943423c2f3a09d5ef902e51b12c3c6246d5f25bbf5bb6c5e7e191551871d0d43276d7f4b575897b12c0aea487d880754f94dcc54a053b57672fccb715a272a7f6165a462357336b8fec8fc9496d80060a6006e33f065813b0983150c406fdbd86360dedbefcf74cee08b3691dcf3357f0d2e8823a45460bcedda5a25347751f1b349cb43648dd5e840237daaffcfd6a3aa30647831ea08f9d34bdb98f5447ba6e5e4955b2c812a647bd42b2f9ed60ec6be38de0b6c6e92be99d58e5eabf9b1ade3b25868ba7473eab87b84fcd55c9ef623df16aa6e71d32836ffd0af06b76b65b063c9b579b5196ac5e6d873047f08c872dc57e67f70e397bcf73ddc2647c5973e2a5e9dd01c093ab5fcae63e3ac09803fb84c998345b9b01d7fe00b675721f4d950153f30c8402b58f1833294444448e924d77be50f7d7323af518fa1992f149c196e6e5928c50abd2da31edebda62c9e1e9cfa3dc9840edba601fc44fa7746223094e5237aa3376869c55ede5d5c6004293057f2884b426e5f19dd75199635ed47de7472d5767fef8fe0a437825d11d9d4c3dbe82279d498c363858347e2da424414c7a73034613e33c40dcfb0d0f2c87ff9c4a6238b527f039ae523e6e5b8b561b962185c07067415176867eceab3b7789c6fa104dff9ce40d704180f8929eaa6ade72e3c0f06cef621e0ab53319f3859f19d1893e129883f1fd9d34b2e8ca56fd8a4423ee73082d2e2b443649d581e5f6f700f3537ab904983fbb726235367468df6bba8c98437ed21586857d54c30db83ecfea3e627cd3f592004e16abb37d82fd9b89e3266f7c547720948472057553a85057a0151077dbe46507e780f2622649aa5cf2c57689fc21858897afe7969fc38a65e61422d5153dfb104b43747157223581508f022f574984f5437e24bd13e6f41a014ea7dd5c690205de5734c4ff0929da322186dd381a37df085c3cdfa16f49be74019067749806480d01adcbd71d298939d81821e0db53b439a3a1eb9a6de39acc60800d0bd90c42b9227d609d82812accee6619bf6d12cd5f709f9e02e4b50207deb2dbdab5559acfdb1cd224f6d29c3cb49a0009e10eb63fb43e2427622140e194f48934802b1aac20a0a4fcced2eafac274cd012f52f9ddd8a9773b182f06b611991b1753bb8524c4d0ff8e7e63b1fc464f967155c0634110bd1fbcdeec4930037253a159500bb8bb525f550479a5feb0ddb19f90fe45a228a72b9245320194810a344cd550f323d4dabb22b6ae4e3125df7001dea37fdd5979d6217e6d85279c72536c2b042b8d7b3b07e6d16fc715c3b9edbd87b91b213fef14d6cf43c0a62132874060ec975452aa17cd341b476e187f2db2c84709f47573bf14887fa64f0e1d910663e489d35c41f55eaaa69f94afdd494aaa723c42b7e153a1b725e55cb7d3874a776a218aff5fca1369082c91c5a3ca7fd77d654db21674b6183f6dd8cb71aa990406a0a5ddeeb6dbb5a00daf84cfc9c8fca7837a31f87a180a188164fbf5084c46f2ffa4579cf1edc85d2c8659e96f262e7d910b5a1bcd56b4d283eee887c26eca43a86e456649f2ff4a226908fad1c3329df01c2e1e820e876a45e770847484657d53f8e2d6bf3225fc46a514700b0e1d0050bf660eafdef16d46c2490b8e2c010a79a97de566f90937398269d8fbd66d07a883f6310f2ce265e87eec30250e3f6d96555cf944f6c4c8334b87a5e699cac533aba8ba66acdb999d28a0cd273d4cc1f182f7dbb3d7974854e76b198a3039156e182f8b1d2a62d7c20fbc718a2ded19ce943bffea28a8c5056c7953409f61ce7c7d963d06f10848ee47f2ff59904bc8110df3803bd12f34880df77c4a87e92c7ad65fc02ac2a0416e609ed23364e4c5298253dc169ffe6ae1a10c48147f8a46d2581e1d1394ee6de853084f1f8b87af1fee3610cc134d3a53ba3f38f878845cac884105a6c4bab7637b3134c5193aa613104e264603e73f4c40e802684f1dbfc2ad1bd03d477a22e0318877e6110273fdfd1b1cc8429c209c493c790a3b0d37e7114cc8242d71c043a69f5b64d5ef02484b28dfb13fe69504475b4d76b71771ece22e0d06b58eced7bc2e3d4130139606a51dadf18aa11ad197c42104df7b5f4cc91163cbd46ff8ef806c1a805ef164a2ff554660b74363eec91aba424ec1f7691a7800d786310f41f5c1ec002c6c82ec901525223362fc9393079e180783b11b1294dde4de25356575c625f84016541a469c9c0a8b6c1a4c0b1a18b7d07065eb665ba6a78c4a5c9fd58255cdb470661063852a717a7bdf69b13f6adf9efa367c235bf7d19afb2791797a40671f110bf72e97325746f080d37dd183dc787cfc80b7b51946e0c8338ec32eb3eaa8c02ae572056d8a69fc69f91cc33e4e925324b8efed422efe914488f1194716be27469b36fda5a89626e1b670f4a07aebf70609ae8205a104603288d8f4df91d2d9b7fdfa7e8d98c8881a39e62bd26f494a5f5855223cef55288f4235d6c6880fb2da93e59d0a53dd1ef755c1633580dd40ad1e0a69e9dffb959e67f30e54c7bee5753aaf0d71cdd51c89bd5a0517c5d567f8627922e813286f1216e9387df2da063431f01f4a16ff9ea9423e53158b2334004be1ec5ed58e2898044e093f832b07500c3c9d109ef6fd3dfa1fe44ee4771f7227fd425646ee71467e600006e65dfbf724cb7dbf7f88c06f4bb9985284daba6edd943f9b421f701cda0764178949a664e7dc9532e72b189a288bbaacfcb226b0d2e853fd9cb9c62356e6fc04d19e00cabc8d1bc0a48ad0c8da288f02bf6412c301da4f092eb130b917dc1912b2423036c28c7c00aa5ae180f783d499f89fd9d61e058d599b2c67af6c8f1d7b795efb00cb5583fe1e0d29870d21feea30df9e38f2623c3e2b443241f314a421a2107f7d677e331dd03300ca1775b91b0e2664b7578453f4415ed09b3d6efa020445bd899b7d28fc429614e0dc949b84cce2a24023ef5fd8b6a12bbd5b2c044ebb8062b141eda250f1160f118ac7554f52f00ed94a4b80020d1549880e4af9fc9ee3483fb0f1ed360ec7c4d97255cae8d821d62ae574350e1346e2bd03d2e302064e41559d43a6985cd8db827ec317d95da05dd7ae20cc1453b575646c0bc438b51a2e842fbde78b5fc66c9b1790ed2f8f7fb1e4c582b6a843ce215061b25414fa3ddcb8583faec7dee1f1593a8b253d2368dc1c713fe0211a6dcded078fd8ed698e63a8360d0887f57eb85172d41f7639227e978e3be4ec3357ee2b99db5484431c8b9521c8e624b80c53a12a0e6622407441aea67de66ecd3fec9512b969db4bd79c7f3c984d1fb03fc84b380d11e6e6c835288a2a97c3b78638abe91412319fd40cf7a07e331f8e4c112df3038a3d02344951f43162472bd7b308db7127830adfba858545d3d22fb56306a385954f18b8afd01ddb927ee02a1d8312d5ed9310a88ae458008ee42409ef22eb0fdfa0d6b7b87d4a51b1e00b81fc43664cfa9fbe6d0843a767f19f2c989ec69ae8b346ea53efb503e46c0f63bce39841e3f51def6ab6d8df3c1cb4bc563c64df8408aba7f9498cc2317e29ac6e35501fbe5ff4be314e00956d9a261e6b5bb79daba585cc61046e9292f025447bd26e39a128e2a86a268da1d14d08dceee041d595e748b2d037e706cd0d19337eece3f494a38937957288e790a97ddab8979e0d6d70300b7a219938dcb3e4097b2b46471405633644f814daeb387e962341b454dfe1a0ecae597f4beec9eef6b0f03821f0e650acff8aa7a4a5d6cae13d37fac91e90af9821647426f8f2712f09502baa36d9c7471d0ed3efe2d39ee69b38f0c02dd7f0422770960237fa4b8924cc953b851222f0ab44331411e30350ed26f5153bf18a00a690b9686616da88bb25614000aae007eea1e4a0c7be401a8fde344ff0515312a615afd3c0a6978c85f81556763d2454ad5a70619eeacb9e953ec0bf315c9c5422731f7a89eeaea1679f96399dbf4346dffa674f2aea71d208fb25ac1ac0da752057f21d2a249461874803db3cbe2ce3f583ff0dcbce45191602cacc6cd9aff496bd3ac9d6b13c3d1ea49d8fc113fb20a4037033e7c16afd36aeabccd5798dfdaa801aa4b7c1c77b3139a4af8abb165d0e36bcf9a3a9b25b81b81ea5fc121d0a1000d574dc74ef4c18018b0fa1e361a67d143f0ae36eb3011d9e1172212b1df018b14aaaa499897d59d89ca378244c524693d13e4b48689ac5321741a3025e6de6f0adfc240472213b563631a040e8a1543d9514d868e5928178180b52a604ccdc90b43af0fb04701b3cf5108d97bc5a37e83e42b15863d326708116c7ae17b0955ee888a81bd54d43a7911847e46338b31259b209fcf3f0f001483bb9ef82842eac6500e01e103a6816f0c33e16bad2d0d68fbbf03db03bb4b5087f8208881078067dbd22a3d66c3e0c7659f3e1e429db35ed9d0e57e36192bd1f4ac0e683f65b8253250821767aa812dab137e79dc029d16f438ec4789bede374c33a5a931ffe7909c0bf509e2306a07bb3bb93557129e47cfec27a76944b1080b03319c5c369fb062474fc103c01b46365cc73acc5199bcfa569141020ecba27bcf078f9142627465b5451c4d6f2eee852e017a07ea88776b828cf8f6d3829e85634c76965b54ecd42999631007a288cf26cdeb72d13b1324b327ff9eb12e5b8f518b14e8aedbbdff53d0aa1c56ebd432d0cafa157a1a11ead41000f09af8b2cb76203c220c6069546bff5e2eee2f07e712a1fd821b1751cfcf0db1c9add09f267e82ced24176b5d3dff7d59facddcc14058f51d31ccf55750c2614db6a4a793d168fa697058ffe45d04bbcfaff08d97dc5ffc60bfd03d4f7a42e73dc80f7e935f50c6de4bfebb03ebd3dc3aa1127f0b2d886d3f1b6373d52d602ef1613633c7a700713da0205fb583fdae2a5768c1fefbeda3b802e8f6e39b83a36a354bd5a5ec32d62bbbb60dcb3e5f3c8de9266a4a878edc757dcb9bec0434895148ec15a0284e1f74f57463bf9d2e07d5391fe71bfe3c310a132c00657cb5b26508f73fb449db95d053614e7f344c2f403611b55d1436b96dff6700346f91e53b504602fe86fb5d1f6a451a1b18e3a49b1145a75a486c54cb20bd40557b441359ae7658d44707217ae345ad315019bf127ef5c990f1e24e54f0bcbc612f6252d28989e69a58567bf4da17da36065f8fc548a07dcfc62afc91d1ec322afd9f2205c239fca0b824e15e35b4e945eaa3b8ab914b01acdf3b85d49e947dfcfa5948a8ef68ef915c71afc47e493e6208a6d5678bd4b98d151a7a217483ca345f68978e4ec59ae46fa214b69d28e7b88df767c13b370a543e03de35c59f0d3b50b26639c33f3f3f3f3f3f3f3f8b0c1a69779ba8ea1d6492529a63a1d652b0e444454a29259992ecfb3d1c86c32800000000000000486fdae4d60dc00d910d9c0da6d28ae22ca35279ae957613630ac549c68ddb4a7b4388c9a0389ec90d966b634ca2853e717e995d336db9c514734f9c958ed6165b6f9496db4e9c4be487ebcc7a47ea39719e17d12ac97113e7b7e42ac2a5edf8be34718ca626b377a7f26ead12e1231307b53915e4649d69a1738005443071bc5f69fab56b9ae47489635049aab88f7491fdd90d1c34d4ca99250e7bdebb71d6548a1b1b19418aa4e4c44bb612e7cfac9a6db47cbd424e89b30ccb9b4df9d9efeda7054fe2145c8fed6529fcc797c4f1d6ddeb652b51e1df4724ce528c2c95fd97757b85c431557c85d35f99650e3f1e71cc23c3b54cbe5964e81f8e389eeba9d1147ba352a1083e1a71121935dd65a941e7abdde48c8cb8c9d3f860c4296c109b31cb884b4b74f8ab7493836ef2b8fdb188f376ea997b8b3975e8d65ba01571f49bdbd89d99b2797ef29188533269fba1a48c415efd40c45156a4678fd29432a50e71980fa14d73d7ffae5ab296c34642130a8c8ce4b09142f0618893947d328790ad10079d7e5a89e65062ec23c449c695a96242dec6a054b29683386a3b2fd15a8605f02188e369d677da5ba48ad1017c04e220bcf43bcbcc94143aa9f12426384872b80db3345dc007208eaa7d557295467e25d1896bebb0b1ece30f270d5ab7c953c924767ef8e11c2763e62fa1850875f3a30f87d79932ffcba0821209898e131c25247ae7830f874d1edeb37229ee6e76f9808f3d1c65285d25d5990cd97ca1c1871e8ea574af2bf19459c574f3701cb5202b8d8c4add3736709838000fa70baf6c84ecd3c2467687a3cc2d1331ad78c9c576386a2eb5d7299ec962ae0e477f4ff59953f5a68d4f729ce8071d4ee945cdabbf38ca7beb399c85c6a8a5cefeccbc7a399c4fe59397e5483595117ff01187b3f8d14bd92da62464a38123034a62363ee07096bab9e4c6adb8417323236f38d68dce13257654d6a2ccc1871bcea316b34625f7e569b7e1b4525fd6362adea152369cf5aa5c214e368a5cf5c808afe1fca1c5fe847071e7b11ace19f55c4ce9a47adcf89186d36b21ee55cb090da7136ef65972dbd5c5da828f331c464c6867ca170bf29ae1143fc3aa0ea122b12cc3795c2abdad57fa46edf7051f6438e63b391aa4be20b3e9484c3fc670de2446f86b4b99c2eb8723236238eb52420861de978456330f3ec270fe142fa352d6440b5183e1182ac88bb949cbee9e6c071f8e3cff96d93a754c6238f8f0c251a7d47add426e2ce71f5d3846119b41835072c369a2f0c185637888ce58ab5ebd8c1be1630bc71755fa55b61b118ded143eb47054165f982b99d4d5fe17a8c247160eafafbd428efe05173fb070bc3731ebf2afe9526b6484ed0a4755a64fcf86be571674b28f1c6d133eac70fcd4a81a65995ee55dc99a8e8c8c8c2c132e54f05185b369ced5da2379931c24ce76f2c8d10715ce9743694cbd0b2f2ca564ed5140a345b6b8a2067214d0e02c3a4082828f299c845a17dbf6af72b3850123840f299c5fbf9a0851f929534c1f5138a8162f2e8ce7abfb91d907144e41d869ace66cd6a9bec0c808c9c8880c3e9e70f60c298550ba45cb5cd050d880e6b3d64103f11989b12c3e9c70709d992146678c5473013e9a701452a9f294da2ae8d12a59aba13a6ed0c080086830609709c7a8516a9a50d51c2d95ac91d0588bc420e00007d83871138c8c7481f6932f92721f4b385b90535b1533371a0dcf816658f850c2492b5f1f0dbd3248d568c38f249cb5e57f93e7da769a2627e1a851630133464640f08184e309dd97af9476e9ba3e8e70ca3245b55abfe635a595e8c0c10034adf1243031c171a3249d1433c249ca2dd996eadde2a56a1f4538e54ea1b4b58bafcb9a0827f14e75d72a548b88f3068e1a33464616b01f4338d95efc57514b212a9f1c20324304021f42385710b9a62632b714ab92351b26381c6082438b91111b2638568e2eb6e835d191034bf01184a37cf12d4c456dbf302190c507108e296c72d91a549026d51f9cec2bcc67e692f1c456b286d60573033e7c70f24d2a66963ea1cf74253a74f8470f0e3f5ee146ffca9c173372e38307c724eb53a7166ab5cadac70e4e272ba7e9580dfaecf2a183a356d1cca45694f3d509fe86d1e15ad0a891e302263a4e4ef09183a378d92fafa47eae4a67043e70703e2d35a51b93bb2ec30fe08f1b9c33e813ba2ec8cbb762c95a8d1d36488c691e06cc013e6c709221e7c2ef6b39af5d5a868f1a9c85524178f897f4ccfb8e051f3438bba94e2d9f796a9536878d1d396cecc02e7ccce020d5f968daa89549e864708c6aaf1a758fd67ded02c8f01183538c5a2dc91e5d9ddd5cf0018363e65dcecc2ab64a1757c3c70b0ee63fa384d62993d6edc848311233c3870b4e51087d933b6d335aaa150721c586f98b1f9a64e85871d6ddcbda969477bbd6c8c848aee2a42bb7cfcffee50adac88889191c3c5471d01ac77dfc94ef6aa9549c54bc7c27f2a25676512b78a0e234af41ccab2f71e9dd539c556e75c98418474672d830291919294662396c989418317898e2182eabdf5bf1ba1a530c834729ce4afdf74ba51d19a532060f529c737ddc674bf8b759cc0e8f519c57c8d07bddfdad519f7888e22c5a6c287d716e7eef91911c6e6364646484091ea1388e70652f427e6ff8c9d4c10314c7d4d034dea3d96cd4ad078f4f1cb3f2aa1e13ede2427bf23a76983100eee0e18993ddad18d942e9e66595acbdc95ab93ed9cba2032422f0e8c4d9b42f5a902f4faad67b70e2b816b49590aacfa20324363c3671d226b5d4ad5478cb6f7c0d6c121d386a9c144d9c6673268d529909954e232324866df0c8c4515e57aaf495b5d5a83d30716c69ab7774fd2f9aa5646d8688e6616064e42e71d224c455fc8b522629434b1c372b9f6f1daa52f7a612c7dc2a63ea75c8e897e21d25ce232ecff337780aa59ec451bc6b8e1325334573499cbf335e889696481c5dae09ada4f9948a5a481c732ea6b8b94dc93c65064466884840640b2c44fa1167bd27fb5a837c2583ce116795b2d2bc2c692d6452230e6bf2651011ad42f7cb88e36b6ac6c6e8eaadf619223344182032436401da85c7220ef3f6fae7abd2450a29e2bcfb97d64d6ef45a59c75fa095e09188b310fbabe9941e7dae1723b1e3e21a11c7d27495c5a40cb569b941430251f038c44983b0cfef74bdb995ce10e714133e3f9baaf92fc429a98dd35ae5942a32a693e04188b3891219539a1766413c88a3d26c316b5ffb52fa228863a87f13d24f3445d63668788d198138e810ad34ebd911ba290a88b309e1ab16fb45bff880e0f187a3ca51ea57c336c5a052d0091623237e38c5df3a65b2a45c763505b80fc7177a79f5cac52c93b9040f3e9c853af5a554500beab692b56c80c71ece2e37efc56ddc6839ceb0f0d0c349440677adfa5d55c594ace538610acc109980c816588834004f358b0e905ce19187b354ef1552677bfbd26cbae08187d30a1953bfa5f8dad81f1745f0b8c359e54ca73198e6ca9e7638c6ba7d75a6a5e88cb2c53a1ccc6218537a2d89acb5b9e04187c3681594523f25630aaf1c399c249df51cce6bb2ba4c4dca9cefd62ee0218773483fed9be4a566018f381c5fbbbc93e9f75a93a499eb80071c0e1634584c3b912e1b384cd6c8c8c848a2715c8c8cd8c061e2003400acc1e30d279127a6b4efc578cfb41bceb5528a0ebbcdbe9a2c775c5c5b1b4e4abd165a5a4bbb94943a050f369c553f454bd10e1f1b91e0b186a37768144d42f66bb5580a1e6a386a7d2d54a8de703eba2c78a4e120b45b6d4ae17d65382d153cd0709252d7c9135d4ac8659de07186838d8ca676b35b42ae4ef00f307913e0c0223dcc701e294d76554f6d3ed1c8487b94e1589a67b51a55152db67c528c8f07194e5a7984a8d5ed6ed368de03464696c44e720cc7fbcd2593eed5eb712a39f1078c8c98237888e13c2295cad6662b56361e6138e556b1d1be62dec6fd4d8cc81657ecc871030223233a92e7b00186b3a90bdadbdb72e97f6f787ce12493df8b4a29cf5fc578e1a8d2ca5c73feed76e1a8c2455789685e11174e52b56455d0ab1e2264239da06ce1b0ba5d1ff3a62f97580b6711d31ac7dbe492c8230b671557c85b2de49992bd5cf98107160e3a63d95c7d1e196912638f2b9cec928cff72947eb13a0e7858e1a0d72e57be70d934c68c8c181768c6c5d94827c0277854e1a451acfac9e55955321d27afc3b1b0914e70a5061e543897d49862a97f0a47d9ddba9d17af5b9399c3430a67f1d22b7c7a77466ee01185a3e9ca791a36a282ea2bf080c2419ed4a4a4ba0da555ec09c74d992a68dcbf51a7d673c261d375c85b9076bee1269cdef5f8084f29dddc167830e1bc2775a51da195c698474646468ae1128ea6ad4e9dd08a5a6a4ad6f050c241aed824e4a66c49ce35048f249c2f9e5d9ebd152ab46934f040c2e17b947c8653fe997d8f231c83c997c77c785dd2cdc0c3084721f3974bfb33c9c9453806255c9f6c1032966b646464a4498c8de04184c3c66c6f72af459c527a0ce1ac236ef62eea59a95b256b4238298beacca28a73d10cc26946d78512b59af35ec91a108eaf222ee6fbaa28732c59333f3887f657ab657e13a72e4e7c70501964ba70964e5bdc3c7a70ac64e9d22adda143288d79e0c183632b797341abf154b2ae82c70eceea7b33afac9871b57c64042f081e3a3828bddd8e77a1ed19c7c023076721d2e5cf6b478a7dc1030767cb355266564c97345b1778dce0e073e799412a99becf9191919191912631b3dd82870d8e512ca89213a73366298f1a1c357bb36c2d620ac18306672d675f2e2f6e52d36e161d2031f198c1e984568ff5df7031db39020f191ca4145a4529c24c4851637092265ad4de669d49bf60708a9d7af5d578af96f60567957167ab6c54dcc55b0476dc5ab2960d0009c5515e8a7899b12a0a53758080e260415526a15976ddcc9f389ae9692d1efa36acd00544b6c04284c4e800e289c3c831ada29b7886c80374e0e042413a71f8de921b52f496089f1307336d22425c94edb7403671fa12a12943a811fd501367f58ab1fe2b5ea9d02c13c7d5bbe94f55a671b1152e0e13e7be8de24fabfcd161c200e412671b17958250cf2c711ca53e227f59a877a9b15289930ab2b5ab8a31e39b9503104a1c532e3d5ad3fbfb559bc459fd69aaaccc9c14b78d7402e4018824ce6e17573366d03e234b0389c4298ace0c1fabbe0008244e261654da7d5e542bf388c32b53339f3fb24ac32c44b6c042841d719255a75f77367f397f80c816588834e22064835ed532b5f7af09208c384b35a5b4e2da9d56497c0059c42997c9dc657f15f68446468a9198220eb2d20bad391ba5d03a650048224e964d8abd4d32bae9f50108220e62beb3a458cc8c273ac45994ded1a1fb355d16b90031c4d182a5a8ed7f2cc4b9a4c8bc29d9d9ad7e11e2bce154d23aa38abbba66610019c4515352998408215d98088300228873c8a0e48e9c4d25be0fc4298f8a914d2225b20516226624460510409c37bb2c213b4ea89632c81f8e1ba6620e6959a81d7764c40a207e384bbde23bbb469bbaacdc01481f0e7a4b5d065d69940cea0c919337518ac48e0e207c38a8a834538c3fa231eb1e8ee12c5dd6d47a5f5ffc02881e4efbabb5b74a2aa52f3a00c9c3418cc96897d5574b298bcc1021b13380e0e16842d488b6f19597bdf45c90b43900e40e672dc32aa12b6ce99031103b9ceda5d2a8f52cab2c94ea70d49b65caa95fa2543f3a1c2b09315adcb6b5e5d71c8e42ef6b8be55aa7db5b391c4e6e4e8a8a632afb1c8773868c7173b3466b6dc2e164e22c8fe55279c3e1b4ac1af53eddebbbe12c2ccb98dd6b8314efda70d4ac42a7566a478ca6d9705673416396a7afe12c651cd5e24fa7d8fa6a386a212aad8d287ba56e90341cd5fdbb4fdc29d9d8a0e194b55b3435df274bb567382b1ffd62b54b77bcdc0c279d37aa5c5690d1d52bc3b1d58b9715236c566b19198e7b2a6c2b95a37b39b4319cd74b4de95aa5184e5e714c9dd0a1d3e51c2061388b96aa76f74e9612558180e114cc3fee577926a5b79235b32f1c65a51242a605d5b371f3c2d9b6eefe4bebcaf47151118074e128b552dd97d4ea7c651917ce62372af9e39d4ab585636614af559c0aeedee234d19103440b670b7aaa5aebabfe552c0b678b5fd1c6b5d460162d6603102c1ce4ef5c746dfe2eae29594b1b2057380821c369f19a5e63e68c158ea256aad2af339bcba892b51d0148150e37a3550ac2a50c7a23b2c515334cde08014285a3d677cd3f62d4c91122ef0099c229d8b6885a53aff95b256b3d0310291cd4f6dbd949b99a651b6903250089c2d173e75ccb9b93d54aa3010285c3ed5e5019e3e5bc7427c0c18091117cc2b14306ed714ae6667195acb5b90088138e96b4bd49d39937abffaf4090261cbfc2e55d29b50c4da7925d131d39708030e1e05f4276974aaf7d1d346cd0a8b1360191191a40547390251c36a8a64d329892614b10259cd5cb9fd05ee1e4ad94290940927034ad3d646facc82c433d241cf3cbcda45ee12c3a405203e408e7da3bdfacabe25ba5650b20463876a6c5f44d3289515e11cef1aa72c61c217d538a0887bbd7921d5179cc55400019c231ebbd176e42a6559ea81a4fa32c01440807cd22c46555da0b190df4134082709cdfbc342f4bb56cfd1e010408a734a65e5dd494c9461368a07f70d632c857e6a1f3659408203e38a8b4e74a69de8b393d1c80f4e0a48492e94696c957222c5953912dae60e4c15148b1bab9adf9c282386a24a306901d1c5d2d89771d953361e6c0819706101d9cfe3474f4a93a55ee2a59bba126b2c515069283b3670b17152d9dd4a074c5efa8e169824387f70f407070ca7d17a4d03acb61b11a357cc681dce058eacf649d4cd25f363879aed7ddf88b9629ca5c16406a704ea195fc4d4c88db8e040f0b203438df8b8ef396a5498bb3646da5003283b3dcb0c24567a69cc3350a2032386a141a5d85fa4bd648d24c20021a27500089c1b9be45436552eb96d39235341210189c765fe93ed1a25ae85fb2964a0079c131ea6b907193795f0875a41f01880b8ea12e65cd2c650ab78e1b6fa30d5b7152af3278a8ca9547ba256b2c8417ac38c76aa5bda72ccc8a77478e551cb47e2839154756d2a4923533c20b551c939e8ada37538ab293a76192f022154715bd1667a46e309d1de1052a4ebf3ab40a265e53f051c95a8b6c71451727c061a738abba709a33ac9790b128bc30c529cbeebb6f19a2d5d4256b6c02bb17a538a8103751d9ff19e42f594327bc20c5c12bdb26176f625bea5734b8c061926314c7d71a467737e3fd9b4ad64471d0d8bfa9636bb5b84bc9da4ae14528cedacd47bceeed32914bd60c28ce272acc09e53243eee813e79c7799a392a7981796aca91a38484ed08e134f1c54d6ee2bf6d6f7b5179d38ba9d3c257ac35fd8f005270e9a1ae7929a8d42be24e082460d27d933c16ae1c526ce7a5329732523d3f15768e2e096de56a49a5c71b11799388a564a9678e6cbdf990d1a2527235c14d381179838887d5fdcb8294d4ac70e1bac63c7046e38205f5ce2182a9ef1c4598c7b8de468b8c9162f2c710a6632d25465d6dd786e25ce3bc26566d01b2253e298c4b856aa274fde93930514d4c08b499c44ca0b725587d09ad64d131d392471d25841dc376e5896d9c08b489cbdfebfc5cb4dfbbdcb162f207132a16edb43ebaba0f68dc18b479c940a77d962505f738b238e7e62c5b355cc145cd78893bdd6bcaf77fabb9011a7f09fadecb4a669cc8b38efbae6dd77a5b2f92ae2642a084bd94e9ec5361371b0a8b9498414ea5a581071106fa367a4d6e24b6f0e713e39bb972de768d1d61067b1ffae85e94b7a96421c85d4b5e3693e66d923c4e9ed6597a86fb2afe8204e5295bbf8e5d2eda50be2982b432b19b78425a17b1188b3f0d39621a2fad792256b225b5c91263a72e0075e00e2e45a46359da3f446245d98e860912dae486eb223a505cc781d3832303272e36d7461b2056266d10192176678f18793d2e2673d345ad8ba5ff8213161724d6889e0068d2e54311c3a6e40202f87dbc034f3c08b3e9cbed5ea66ad57eb907dc99a88da1d222268778890f09d99e1051fce4a45aad9cf4a7731273872648184177b38495351f90521562ea6f57016629492af3df3fd621e8e5d2ab6b65027263ae3e1943563946a52d70ba1bac3319cd2d25230ad34ee6f8773a8205eca98ebe35bd6e12875c98fc94c7119351d8e7fe175c892df349dcde1a43226f14a9f94a52a2a87f3faa908b5e6d2f2bce2708a4146a871714da582c3d9b41293f19fc245d3371cbe65de76c7344f696e38577ef537fa62fe51c2369c539f977e75aa364565c3c177ef47b4bc05bdfa176b38a9da5ff9da95668c72359c6eb5aedcd2e5a56ca1349cd4beb4cca4e4c62c1d0de79642f9ab9997e1277586e2a90b5ac5d327331cb48ed90d7a4ce8bbb70c6753aaf14aa78b79e864389d1425f7b561d36c680c07dd1bbf6f34f66bdd6238c968f25bf46caba8a4309cb40eada12d08d7f31e188e71944a5bc2436ac9e50b87b1e4693157ce3c42e6858368dabaaa4cdab5d874e198a5d2a17ad45c387c8a7355e12debbcebc5160eba29095daeb48c7db716ce19a3bf3a7551d3eb66e12863542adedc29255412164e6f4ab45d561bbaa77285c369fd5fedf2b4e6ad58e19cf9fde4dd65730a71154ea6b474eefacb12fba8707afd9922e357a6705e79e96d37966e588d148e1acff54663a67abb44e1a885dafda89a57af94a0700c2bc5c96f2543357ec249ae56ad2ca7d0bc41ef84b3ec9e57954c5e8ad56ac2593fd67248997a94ec4c38cd5e545dfa42a5ab7909ca59cf2c75ea5e28e120f5cc684d4a4af9adf42209c719a9b1ba7cd3ca13098e1bc6483859b45cb943a85157f18b239ca4dc469732e82e59d919bc30c2f964b41ced5b4d2313b809898e17c1e6785184832a11d5fa4769557909bc20c2598a9022b7cb7e2d254f6e08e7cd2f659419fae42e7d4662239da098035e08e1a8df4657fe95abf7f492351d191919397b118483a8502ec3aa0bcd0cd5383159c059bad1c58929c00b209c7cdfb466ca1543cffe3aba60c00f4e2a86a77ebbdbe825dc020b911b0eb8315283173e3876ab547631afcb9d50c99a22ef181911992122a20516220eb0808801e2450f4ebef29576a5f68468ab648d44dd70921a4e72f88207c7165949281726edb552b276e3c50e0ea755b98c337531885db2566c042f74707839db78bfed2dcb339f01939e8b4e2f7270fc7839974a46ab245e273838cc687fc98beba0615270bcb8c141cd564f530895173a347961835310954a8f500d72b4b6642d4dc78b1a1cf4e364e61772d1bc82812db478418393cbb42a7cfecb55212a59538f23d1a871812c464646468cd9d74088c60d45eac50c8ea6b2ec933226f4487dc95a17263accd6388b0e9028e0850c4eb2b5d21b725ce64c750b5ec4e024def45c7dfc620afb75e1050c4e2ae6e8951745c6bccb105ebce07822a5cc66d39eaa362f5c70de146365c8d2d2b4b73e5a71d025c325135551a8884c8063c6c8c8072b8ea6f5b89d874a2532ccc02a8eca2c5e302d2ea69a96c36de8a0c1002df6344c7490e43859559cccbec644d92a1537968a635c6cfd6ecd16574a517174ed2d5c8ea898b8a4531c4fdbbbc65bf949939be2acd28749294265c3c560f0518a8390a7976c5e6fa3bd4871cc32766df6ec5ff59a3729f818c529be32294d8aed03ebceac7ce27c9e2a7b458d3166358678e21853b294350857a142ab1327dd57f2826e3cb97772e27041a950f99d59c4766f6e1307d33ab33215674d1c4668d8e7c8b915421b9289c39f94a62bc6099d5e8760e2a0ff74566aefd2a3f192bd71b2a3017c127289538aa64ce6e916b398b1c4b1b74fbb4df96a469d0aa9c449556b16d1a62a4d8828719027446733aeb8d4de248ea55cf448953b7a592f59c3718285c80c110b88cc10b14388248ea9ff2d78764e629138bf12bf97cf94d02e2201c9f2af21017f2c6688e8d83181911193278189db7885238b91f3d84308244e1e426f252dd6b2c6a0192287218f3848218345bd2a4c78a9242424a8b103edd50871c4594bd486d62ffeb63bee444823cea995a8b818eb9235921b9ef6a810c2889394b625c3a2ec116d2ee2e49944ebb0cda4cbf28a38884d29948dfe91af9b3426e2bc395c6b92a584cc39dc0427243770ac9be0023728603344cad7c8b1630b112db01081410822ce193fb30a756d51c47788838ef4d85c2e574ca70c713a95772de59132e9242638f2be105288c3068b3a5e6b7941290a218438ff68166f7b2e75a66d4d2442067116d5b04bbe67b65e173572e4f034448408c2dc7ee2a1859781388dce7b59a54e8b5142803896bc284aca54ab666316f910f287d30a6159a9146d2debbd646d2b10e287a3124a462d94da241b63256b3976980442fa70f85b7123546ab596d664bb44081f0e1a3b74877c393fad55b2767b38a5d97321eaaf4469a51a7ec342f47092ffd4ca345f42f27096257d33c3545b9c1522f91aea8697942084e0e1a0b45ca94569d78ef119ef70969f712964b62f192b7638b6bb86d71feae4885686903a9ce5445e326f5126d415996124b689103a1ca552e9472c6f56af59256b24678190391cc5bd94ca45b6d20c6ec99a5a0842e47094a7275fbc9a7769f542e27054c9a55d3497dea64b8f0881c3d176e3755d342a25c341d2340879c3d952ca9e999596c13b3ef1af41624efcb1683bd181a3c6497ae820c40d87d54ca595b2da8693becac24fa5fffacdd970f4d7625b17d54eb6d78390359cb586d73f255399b65c0d07996bd35e85330d071d215d9979860c1ea3e12c7bd24fea1acb67e68efb40c819cedb32656df10ce6ea62d1d081e34641339cd47d59549ad466d1c2bc0c8494e1944475888fb995da5a162164385bd4bb6146681325fc92b59d113286b394917339840615cf17c359944bfff2bb2c9ab22810128673cb8db5375ddab775e34f8c0242c070cc3a46c79254a7bbf12f9c7783caddd643bc70ee33e56d2ed3c28855170e266b8572370d9ad12c5913c10d1a3844a063070e12923c288470e15cda253eb598d6b168c9da89c942c8168e39cdffe3e555b3540ba7986f834b251764da30240b676d7771c5c555e1158285b3a8243ea3f83687dbc02b1c6ffb846aa5c27bcaac0122334646ac9c22c40a47bded97da6e6c634955e1a82bfa0b75e5ba761c3a6ed0c0eb0d8450e12037725de81895aa8e934fd442c8148e9db945bba55731c82785d3a8add889cc3aea158583bf8a523a436d9645a170b64dd7ba33c4296fe1137495f51396755b0411e28453f2795fd5912275cbeed4e6b0a1b009a7945398779f990b9731e1a0b53435daa85172549670d65a968ad494da2f259c547e2df3ee8d6aa94ec2e1546a8c1ffab45221210409e7cceaa4be985fe3496d02214738a5f09ae5bb2dab34f7e838c1a145890e1a1a584188118ef52ff4a699c9769d9c7c12d9e28a1c36306082c346da80c816588890e0068d0bd8481bf04248114e41ffc8a95656536a24c25909952aeb663a54be256b4338e9e689d332bbbbfce46fe02029662142387e880b1a32ebd23952438890209c4da9f44cdf1569415cb24662a7230801c2d94baaa82c25d9d9a1f2837376ce4b93d12d63b83e389c5ed73e7adba5acbe07c718a5b4913edbbf16e7c1518651314b36e53f25bff1bc84901d1ca512174587ca86e8e024737ffc63cc94769a835392d320aef5fd6d5a7070cadababd4e996a1d87dce014c4998cdeee27326685d8e09456dad7969d34933da406873d17275e8c90d3cd97aca1114268703aa94786ea9bce4cbb64cdce09213338fb88d0ef8bd9d565f007213238881fad8405cfdb4df1189ccf54251523e6f2c8540e738410189c4e53bd90392ac7d60808212f386a1b952564cad8ac37592584b8e0705ac6bc7e9584ccaed48ac3ae87b6cda9e36a3363ac38e7265d65a2faba9e1983b18aa3987ca155c835b53235bcc4b42a8e49e691af7e5a4c777da938afbb2c8b6232541c55906ae1ed55908d2228c038c5f96474535a9e50512da8644d6198e2f0f2b44cb97a840b1f6994a4529cf47f873ccbbb6d560106298e9a5f6c76a53acab4ae646d7b1447d3216bfab5d457723953cf9cc3ec0a304471b6132d95649bbf69354c7424922e1049c909044646729c14f3028c509cee62d6cc3a4b2dc000c5c9d4598c214259b01d7de2182e67c918da42ca5711813340d51307e139f2d58f8b4fb5eac45165d43a4c8a74512953b23a4e6860f100189c384acfd5dbeb3a36655ee1c8627513c724a5ba8e11b7c1dedc32c0d0c4c94c48e9a2d13477974ad644e08835130717aa72f7b7acacae49160e9243912daed0428f0003132779295dd989dad522279e01c625ce19a26f34060b1a646f8963fbdb9e3e5fa9f9f49538a81b196265e44b570b254e2ec366fb39cd0d769ac459ad94f26f833ed9b692c4313e7c54872c120757f11a55da6d93bf0789f34929edb477f3570a3b00c623ce5a65995fb3acec0b9e230e2ea59d54e9195fa8440046238e956575af6cd435df4c0006238e9ab2c96ecfab0da52201188b382ad932adbe29a1c5b553c4c953c3776e18a5f5c824e294dea2965265d95d498838a9a6a8cd6deb639570a81d27d600188738fd6565ca37dde7fd35c461b5285fedabb47b894ad65200a31067a5ed659676784a5796ac99ec38b9718e1067cbf282f865d13d99de17600ce214f356caad2333d4554a7687c88c2e5e0222338c73b80d842188830c35539a174b568c06e2ac32cfa7a956d92eaa00e2286a1b4569ef542e5a7f38e694325bafd2fbbda20e1c378ae580e18793d4959a7e639f7a1789090e12932c80d1877309a559bc720ad35a676230f8701453190bb7b9a4ee660f6755edf5917ad745ba4ad6489070d4b801430f679727ddc5ea561b338e25809187c3bd50318d50a7a5c257b2e624e94ff066f0701642a64c41d4a2f49396aced1dceeab5d22485280b2f5f256b6c5cc0b0c339947e66296d45f838d48e00461d0eba4ace8d14591342aa16804187c386c8553acbdf525499c331099151748f18d12e391c3428996cc54bf358751c8e597bb78e0b5e9f7a82c359e5d7a7fa4a899cedf60230de7016e5a2b2dee6cd7ae40ac070c3716653ead25b95175a1b4e2eb5c6d05633f59a66c3515b0c6ff2f51b186b38bfd76997b2cb529dab64cd0c0b186a386a5d17e4c7341c3e5f6d5d37dbca520d276908c040c3f9e3b4562745362d6e4ad6d42800e30c0751d357591753d62a53b296796098e1a829c98aabf76a51e7321ce35d84a7fcaa49d9824186b3b7dc1445aa6869433686d3a6d797de2869fa6cbe1c3e01cbe136488ae98021868329a9745d568aa3162f59d304c008c3f17e35ae5653bda2c444010c301cb3e87e1d42c91217d3575f386b10b65165ef28df95178eb66ab43cdb91d992a41b34ba7014ed4be2e5eabd3a25178ee32a97d0e71583dafc160e42636ec9eadb97fb69e1b84a6c7ca95574c6a2005e16ceb1976d2dca5d149b8485e3e7c9fcaebdbbc2f9f26c5676316846715be1946f9518a132d9ce7d22336a00a30a0737cf78b1d2cab75adda080c80c9119223344344f00830a8731155b8552eac2d39fc251359ed0e4965e885531be63802185738b0a8da17165a65aa2700cd7ee2663ee56919b5750386b766b29d39c6ed0401b309e703493fd35c25d488b294e3869ba24649578a93cf34d38c91262f9d4cad2520a4bd6d84401830907a5ce4ddc7de68de62fe1a053ffc7b57c19f3f8010c259ccce4d6c56e867c750e6024e1bc52e6ae2cae9f42993b7220e19c2a6bfb56b277ba31256b8a08308e7038e12ab85223cf5cddeb020c231c37636dcaae58792f2b5913d9e20a91af817c64a48b741e37805184631426e39490ba277f4384f3067799365a4b25ec270189dbb02b96c36d20098c211c6326534d4aa83cbfaa104e265416113f9a722303c008c2314ca3d2757b75db5fc99a2a0e184038e5db922f32b6ea19f5c60f8e4a2b6d35919ab35679f748070c1f1c8598bbd0d2b5acabac640dcdc0e8c139732651233e851ca9d771e3b9f8db018307476fcdd4aba549194723018c1d1cc3b6dbe76b16f26576307470ccaa19e4ca1c2ae2e62cc0c8c151060d754176d8b7ecee06064646140e0e9ea1c6bcb34d08192f59912dae301837388f45d5b08f7fa9350ec3060735b91a555e1042a9950e13d7c207306a706c99e5334871f2e5b230687010be192e6eccdf00c60c8ea3f49ee98dde92ab6924c090c139e36ca78aaeb2f9a50801460c4eaeaaad56e78f7e3b3101060c8e5a9d99d2d1d5c90d1c39ee5600e305e73d393df25a3568a9305c708adf5a2c6f990539d9ac15873d0d4a57ea747ba166c5c9e6c4b6926fcada5e990490551c47068bb992928ba7d98915332380a8e264b3f9a554257bf1cfaca4e2ecba5248d528dfff3f33541cf34add526be98bde52a5809ce2b02393ad9b6e4c7112ca92586d964d4937cd4a71d076496ecbc47586bc14521cc57d669957bc6d8844070d068c8c808ce218e6fb4c65efa6d5cb0d1a3644710c2a46a131993a23234508c00b8ed1538d058dc946a8648d1a8ea702e082930adeb2be59ea502d14fc9bac95d18a636854ba37fbba5dac30fbfbe88b1aaf92351b9ee3c4988c551c44c95031ab2c4ac92ca9e25c7a9ba474db1229c3a9380bd96851c5f9517116cafffc5bebfd76a7380b0b326a51ab5610a70c531c2b8cfec5944166d8a0926d131d39b005324a71d2a1857ab13a834c9b458a531452cc586cb5a775aafe4dd6c041c62854abd92e88ae4a14a7b5f75631f6e5fdd722334430600c17324271f6b1a8299a12bd732a256b4506284eb2bbb4caa2f78229954f9c35c8a87e4ae44ae17bc91a971ec8f0c44928799a2efae552979ac816578c8c74146474e2e4ba4c8b96c6d017d20bd8e9f8930fc8e0c441535c252bbed6c5936de2dcfa5c3405a9abeab29a38bea5d37a542b2144856564e2d81f1b54d236bd28c9aa4206264e7937294ddf9db1d446808c4b1cf5ccaaaa518b4145a2322c71fa9095b17bafc5aa8cc70e6454e2a06317938c272abe2e199438dec5bf5133333115953189e367981c55179b6729322471baa0eda43699644e4b46244e3af5f8c8ba4ba52c96903886d575ad446f5e9231263bd29bac0e131c278600321e711423f429215755b276e345d025f8135437dcc464d1011201c870c449dbbd4d4ea48ede5ab20790d188732a7d16a3106a2f761dae485ec78e66850c469c72a8dac66d94a2a4b8646d11472583e659941be46dba646dcb296428e2f8f2d295d428bc772d89386a0d6e5aab672e4d0b11e733a58410e9dffb9f1ee274329bc8b041bca2e60d715627848d94367a955017e2243a2fbecaae9ef59d10e7d0e3f6db3a566b560ee29c69a65b5a7cd158518238a97b98a61c99401ce3ab16173fc4c92c7b409c466b99744fee7f38b66ce8b26476c1b5d60f473955f65a57aa2caffb70ca9ab96aebfee915e3c3394df4c97d9df7708c153e3346174ae569f470d62aa7c94c4a638fa8f370d0d2ac621825ab4f5b783857d4ba4b335a8dc9ec1d8ea5558c0d93bfcd9bb3c331c668f7fd3f6a934ca9c3b17be55c7896f8ac243a9c848aaa4caa986bb72d73382ad957ad4b6991265e7238cde81857c95e5bca511c8ecad59492c24bb8760b0e276523547968b7d593bde1e829d3c6a8cf9bd29b1b8ef2a4d43d32097511526d38a5dcb91a1f3a1b8eaeedd42de9d0be415dc349a834954c25e529eba4867368b2b02f53eabad5d270ccda67b684ed6838f65dcc95f16cbcbb3bc3f9b655a832f55dca77339c367fbf28657e190ecab6656cc5d8f86522c369a576e6dc7c4a671ec770cafb326a6da33593bc6238be2cdfca964de6ed330c670fb129f9690786e3a6ee29794a2b69f18ed1c020e30b275b25c7355b96ff32ee85e3b8964a16d3955616ecc259b316f1ad855063ba7483064917263a920b27d3425bcc0b2a5e507f0b672d2cc977bfcf8e4970e8d0c2b1bda212a94783942bc38088165888504046164eb26342aa342b5afc8405b58245b1f03ad90dc8b8c2d1367d2991532954771caa950532ac700ca92f5305216b455ace7c414615ce7e4975bcc6576b494c859338adf2bfdb6b71ad3285e43d636b559b962c8d131c5accb8c0c848b3236448e12cb469354afcbbd42a8884e449e036ca79bc4046144ec156e6d1d0aa349a060a07139ef723bceb73ed271cd794ca53eaabcb56e784a3ccca4695c91457b54d38ab0c25b4149333e1ace2bbdcaa66c958c249f8aa7aa91c95ac91983341ca50c2517fb6ee768e899949388d7e0bcda85eca4b61241cd334da662d2e7925ed114e1fffad66646b94ec328c70d218654ca685d2711f925184837633172f377e8aaa093288701462a7516b663e4d2e194338afdccb7608f1b1a809e11c42c5edda4d41f7a9c4202308472553acc77cdc8657423b4e16022b90018463287bd5d71895b83b4e48509b07327e70567a47d3888bc9ff1d327c700cb244f59bcbe026543d38b610ff9529c8f4905d060f0eb2f14f65e12aba9e21206307c7302f5cb467ede9245d98e8303a38e9f0d7c2a24b0fbd62351ac8c8c1d94b67de12a95db7744d70a4376d18908183a3ec68fddac754b5698344c78bc02e07326e709227475f8714136b1704c01b64d8e0fcabdb57aa17bd0b5adb16326a700a6ba3ab2df4d45d6d00193438ea19ad72659b8d22e53338bf72a1bbedb7325a4a0687cd8df332c6576576cb88c149658389762de375731930385c38594ac6dc1f22b1d3808c171ca4b9785c96e9b46997463ac1eb0364b8e06c7f6266636bea953d03315a7138156d4bc520e22dcdac384a17cac6729ac8115ac5795dc8e42d8326862acee51a4d6c522285bf261567a153f582941f991b44c549bd52d432975fd6b123c70d1a24786b788a63bc5cd6a2a2fc5adbf476c430c5b994ac8fad45194faf4ad648f0b014a7d571111eb672be39521c3646c9f7908f62f73fd3a9eba4ff8be4536a0e6288e2ac72eba2637241683146284e974783529aa563768f018ad3c66dab78153625994bd6160e12d62bc4f8c449fbe4b2cabdb267769388189e386bcb2e994b7797598a97e44015a313c734aeb58d0a7e16472a06270e7f23c4a7c557aa725b7b428c4d1c75d475f6d2989864ad2486268e9d67da26cb36ae4ec610231367a1cc546749ef33f76360e2a4c5958bacc8ffd66f5ee2e8974da69aee91524a2d71d6c24bbeac932969ad57abc441293f5749eb8bfffa942c884189936b4b4164d05959373589737cec86c78bef8aa9244e425a1271ed2a65993f12c7d0386dc1c59cfc6b20718a725db9eb13a6bb37d991e36ac478c4f96f6df5bd8cea7f318e388a1252b4b9503aabf28d3848d5ba96657af9272b469cddb4f7890b974ade6511c7d03e71214edecc666328e2ac1b2253888fd8d65d220e22ae21777a839a8ddfa0b10a228ee1cf43e7a5eb1047d12ce398c67e792689792186218ea935493552598893cad52e845ef2d62a4688a31242ebeb0ed7204e428cda55966588715710c7283359cca8c34e5d6cbb881188a3f85359ab94a32dc645f03568e4b091d0c68c2e6adca08016357c47094e0c409c845b50226ab50cd3963f9cb5b73485b7a0a594f1c329ead9501be9f2c474256b6612a30f475929c6b8c648e1dd95ace59be0d07101b493e6c3c984fcd68cf896295424c7458c3d1c36d8bb6cb00d3dcad6c3b1c5ed988c6a54a594f27217230fc7ac954c5e4a574cfa253c1cb56b0c15c376f46b37c61d0ea6e5e848ad5b15d21876386eaaabb16829d88f4c1d0ea2c4afe8aa2ca221a6c3b16f659259359bfe4a31e67092b53c22feaf6516bd1c0eb3b9b4b26d93d95a250ec710f7a12264869b89e170ee5ba933f89ce789ef0dc7172e736d14b359a8e686a31eb1712385dfe52ddb70d8ef4a26a4d95d301d1b4ec1548fee8d2163ec7c0da7dced962cee98e8d752c3416baa703a7d35aeadd270daccf2c35dea6ca555349c33fc99cb18d45d70cb19cea229b976fbae10b998e1f042bc12aef45986539659b47669b6af324a86e3055b5331acf7c6f2c770923105b37479b44645bf10430c0751b92f7b54a810b16384e17442c6c88b91e6af5f0c301c650aad33666bb1bbf22f1c454e9ebdd9789b7e79e1a84698187ddfd1273331ba706e55ca77fb85864811174e234f4494d429f4c63b31b670bed7d08c419c96a7612d9c7cf6478bfb8a7ab5ee0831b2708a31f88fad7e953b2a921b385ad1e08206161738450c2c9c856a3e2122ffa22cf50aa7a864d03632a551f6999235922781db3019c4b0c239b496ccf82fb4908d4dd044708346c91626af05472046150ea3a2ccb172a46dda4a8563e9aa18a23a975caa5338cbeee58a5964907771291c4e68cfd02ad9cdbc49478c281c7356b6cdffb3b44250380a955105ef574a28139f70121a4e5dfd2be6195bc79f300d6238e15c7a83ad9787bdfa9319162448386a1c0e6234e1207ece6412b2310b9518c460c2496808f1d5a5b5a957d4d758c241cb1bd9725b5f1c9570542a745f6375d4649484b3b0e873b3496a21be21e19cee1fae9438dd97a54ad6da621ce1a4d1c26b93d7ad46c44638060d19cb335b7e0b16e13c52e96acbc6ceca1a118eadd4695ad10d23b51d6308c7b43e422be962d39694108eaab2d219b27de4fe9680184138666e38d5ba6a37ca100847555a9f9c5aa5d48ffb83630c42aad72663ea1c150d03317c7038cd659b45c62caf4609317a700a72b7c56cf688508f072799d350d9d5e79ace76700cbbbee55278896e11083174703aa9c4d4c4ea5535e218393896cae9d1f6a1d2963a6e300562e0e0f823d75be8cfdadc2e1b62dce098a962c34a8db192d63638aa97796ab7cece556a7096aabbb27235c5a0c1b1d5fc8957d2d497ba62cce020974f83886b1c882183c3dfca6bd2af54c349271023060731c2f385bff4387b4bd68a5920060c0e9e5b3642ebacde341a09c478c14989d5da9436aa9494a9643170830267683d82182e38bc2a19939e298c68012d202082cfc2060d2db010398f2d84b4e268a3f2bb06a567a2323a8610569cb496d4ae94ecad281784ace274aff2539cb829a1d5aa388b33bdfd99732bc20b49c579d5a530abdefbb41b388a1626d0c202356aec70c0168a02372830b2f8918610549c65b25796b4a8c9d62f8690531cc7b5f7edf6ef86cda638a909572bb4ff9e414829ce753bee3d22e39bae90e2a89f1557b605a147a58ce2b4f1eed4de5ed8607a511c35b3ddb4b01f65e20fc549a4ca2ab4a74afdd2028aa3c8ccf351c135093b9177a8947166b350200a05c2300c8300000aefbb01431208002834228f472432a9685ed503140005524a3a5c3a2e1e241e8b85638240180c0543c1402810c53010c6201445a124cc2211ea0059c2b1754d0187951702723024e0fa40861563fea28337778bb76b8d017077056db2699122953d77055528f9ff9247a5732e95c4666a7b84ed802cd09be6d2b2a40c7d74b24c03dc5dd1283378fb50e6794ba96fa1edac8c6885c3062bc49a7a36c8b3370a07ee3f07b1c5de2e68787f035430926a97efd20072a18245922535423b9668dcc0ceaafca8462eb6667818a0694d85e6972eeea9c2020dd85555bc99fd45fe4202f9eb370630e190a218c4ea92c73d47968400407536b788358a59968d6f7484c352cc4960a885673f425b419530e1eea4dd5be27b53a62055ef02e5df23b7ae9be0e09be6c22aa090fc8239b1558087e67ecc1c88f6537c39fcc5c0c9788a0ac56b944fb94559653c50452bad4372db98064310a7fd8c1307c7bab8ab315e218f7a13ded5b7936c4182b55b5ead3f1823b1de37cd09f96269e96d44381e916924deaafc1eeb2129d7e51aaae23761a519a977bb204973a57b99f2038a76edff00c9499a0124c093615e81f5b9dbe0bfafda6664332f41e75705ef146edad98a61da1b28e91d78216ddd34b881de280ceb382a8f209ac7ba9a58db1edd46195aa7542cf8740ee7b2f48175689bd1f4034e1e5657323d20b1a093a002065d5d2659d77d2b31db2c7300a8bd40337279c7ed1e60890a09adbc506f0b5daf10fa0a7d25243d42d48387de7ea5859e9e42df2342dbe6587e3d7b0ba5bf10b742a29743ade2563d22052974bd85d257885b21e912621f215f085d8f507a0b712f249d85d84fc87742d72794bd2eb4ed362058fd85d04b880b21a9234225d0aa83532085acb7d0f5351499af4e5eea29e49e857c27747d42d90f42396f90fb80fe19ca45e7e1b53a3f3bd174c4848906a5f3e2726852dbec0cdb5e321a3d232d8931d23a470e886c3c2ca100c6a42eed93a88a72bc39703e1c977f398feebba79d090c522257c3c3656e82676930adb93034f3bc481fb50bef8bc6f36d7330843616db7d2e64e0e71194702e088d1b58e6622e2052c34e766b770b4dac9afdcd5c22cd9a5cbedf17cf9a5a056c9ea0c86b7e1f824148cf662258e82e0ea990488d5f418ea17863ee37a5244966bbba5dae4cf56c8a2eb7359f00339142a520769f75650eaf136afa2ee418205b736d9e2a049c3a0e5aef1a44d7ba5f58901090b2adb3671deabc7d201d723808d3765b2eded1c1ce3b905e87f3a518f0fd984736eb49d047423f1290188fbd1acf38ff1644fd2e668eca1a9196deb74d693d020c9350bcc4eed451f2711e64d1b4fc9aa3d0ad42e6df0e84133715c0985ebd5d633f56b89b9d7b8b5f1c05feb794fe41dc83fb70a9888fad5ae21111fbc4f750f9b112c407deed5aa90dbcba4f84befcd73c4543797694ff439652d9df3ec1c69307916f2307111a2de0428d86110194ce0f052af03b3e129440448d06399114d181f011723b370071ab758368f42519d115472a48b807e50adda54045fff898e142d560cba9dfd91fe55bb4b3aeac797eecca7084922c016b6089d63f6aaa28b64340ed2a5dc46e57cfd83c6d8fcce94d9c61fb5c22805ad1de22aacf14c67ab4812f4f7f4cce79b7ec04c2fe6872359159aeed529745cc1b67180c8a50fb9ae8c816ea9b7b16abd90781903e61dfbfe018fa84ee34f0ef08c541689624e50dc0b07ab38fbb51d030bae9ac8a37b2344421f3eb59262c703325e6b6a3227a75eaed32770240067f09461c4c1538f1470fcf20888e7e3d1ffa47030e210c100f1ac83f5cb6f1060af9b125bc0bd5423d4b5812a175ba15ea1ff9c4e2a738c75b1ea02fb57c41e5b3584b7d12014f8a9ce45620ff2f69baac0f6e9078881bb254c27119029c5b8706623717ebf9a4d09deafece13bad2540851180c4616ade4f6f2c1cebffd9aaa1f0e39589460bd8d4f03aee55f6e5cd100c73f1b557ef531dfbac615993a315e940361c444991c771888a8132500e2ef1f0146de4ed6e1f520c73d9cd34d18e6b3c521cec1ef592511ba999e4bb14a5547b0133148769d66a7c0d759e74bd1f4bcf1d60d79965baa47cd3fe7a614dcbfd05d961d1f510bfa8d066c2fdad923ab2c1f09685975bcc341520bf507364d80f5531f79c1ba49df20dc42d8c43d890ff5217a90a40b3510a5900043b2bb9584c113e99f02d260202792f34455519a0968d83ab19aca6f34baa85c8ac500e504533859b78b962b6b0d31f1969a7f888fbb939544f304c70ae0bf96ffcf7aed3040e8671ae5ef9c892414ec4d616e4f5118bba5d376fd899d519d4aada89e71693d071ad7f7293ea20121de5b36fe8bee1ab2b1df059890d42a8d8bcaf56a9a6d738fdad9eecf56cf797d4cc660ee97ba610816878f2a89c2eba6e3beeec0db83ab32d3b2ece0d50ed763037751251f31626bba78deb7c03ad9fe060b124de70340e900dd280d48eae4dcde35c518492977482bf3f3d0339fdd5bd9ad0c851e86266a17d82c8b85b1285625069778fe4809f2ece5bdb6c3c7625695975059edf440416d1d2b8fe8b12663110181e11a82f136e5090e68759af70fc718b92d8f7460a86e54ee7cbcd775512e85be02af1c8de3201b85230973bd0a54f21bed67588e2282e92d046251ace1d252fbda8288a66aa27244397f5770102bd1ca56243ac68dc066eaf41709c0365e4d01ee83cbc9a51283d8a61bea35813a2cb9a2468800cb4a0995408438ab694ad6467a3488da0a3bd1efa0a0857a5752cc65f54d1e3610f660285fa6b2b54d86f03125b6a1c9575e7d849a64a95c59b63d8935c9b29f741b72be1d0564255dd311226126cb6288d65e2547d5579e413991a6b2b4d7711e074d5552441d15b6c1a0efafdc87de87852efea4ae247bd00b41ce96a6ba39e20b608a2342cf77f36fa4eb10a0f89ccb22568ceb85da1f494465dd766604a1127b9aea3c52f2132e92a16b324cd8eb4f4158d29a3e0e91357246fccd4aabf219ab8e8cd357d70494712b366080ce118f27464fa65aa6c1315f46ea37a3f75f0fbe7343f1c0bd314dc3007615d2b6bbd1c4a380011cff25688a2f2bb37c60d59c917444cf753154aa537b7f937a633000ab89b8ce75cb90af195fc52de7e9f49836da3ffe276d0aa2bc867ea4d265756955eb1a020456a072e76cf47c068407dae186ea754043f3e4f988e0f10fd4ca742541b6dceb2699d65e88b7d1631f02fbb9acbd90c3d7b59751e15b545c2f18544016986d7410808b244f20f4dede3876a8de40436c0ff5ad28720b4f98998e97367ad22a069d029bdd61438406f1244d2c5f4a53308b784ee907ab9b92fb37cdc4592f1668d77b026141842f1e538870d1d28a38dafee1d1dca330f9c5cd9700f107c888eb91a0aa9f2311a40b00cd87461d2ff7ae2551e785863d88ee62dc6e083455450a874de1fcb821e7aceee96a909c62f87e5a5fcafb238929499709f42f94ec0f5d72992d23970e5abfcd066759700cd489aa5cb4ee117423466320a23a2bb1bdc69d5089f2abe7012b3fb28e5e182b302c60c152121e8a675d8e08e3c66c823299bb494a86d1f6eeb906424baf53f4f85d4545654b61df46d80091e24352fc3dacc20d80908beb35403b788c8a80fcfc87b658038163524ed2cd436a761d0ba41db75ae5af22afb2139cc65f3542094c6dd92653f8f2cdd9210a1d10aa6f925cb4e538212680930c1c9c6c238260ee4b164a8848a552a6e2b88c05026b4c071dcf22e1acfd93f62d1e84602841f29bab92df67dc32c8c7f9cc7de9cc4ed099b3b5ca4c5665039678339aadb949379a07a6f8e6b246ed4220c8feee2849951475fefb90386546f1738e013ee63d2832614009ef46618d1255845bdde0ea7cfa0e2960c5743558dc1a2ca36ffe99a0b398164c3122b1e21e37fa0045ae270eeb86a1202c12b856da02693e26c0a67e0c8dce43335f466e0374caa7f4502cda566205cefbc5d4e29102a9cb71240426d15b598a5516e243b0044a444cca3e93f869d01a0d1f452aa49e874e03121344bfbc31ab10f913ed654c1795a84407eb1a0c27f805d78340c86838c3d58d18acb731489f62391659441b3d53324f77ec00b764ce1552d446042a8d605d97ae949271f2b040d56ac2b4018a4a902e700f3312c7cb71e1f49a673947664e589acd49b98689232e0887be4a616b2f63c98580c803682f865b9a7bd80c8b4a824a7b2ceaed50ddb359202eb1f79cd29687165759e883aa97611a77b2044c921a1959f4168248d7048c8ef5c6c418f3263e6491d3557728de3c91425c233837f0cdf5aa539675c3fd470183efc4f1d76c1c309cc69f1e7f011298f2a7722a5240b5c53571a5ec7d076b9ec93d91fd66fb8051542633b2816d566ba9758b829cd70b02095144ec22d823a9699674561b682847aac2a22fc290fa6e5ab8f906a92403b13350d1845ebdc8d0b975d51cdd18c09af1d5f3539771f87833a90e7ab00144ed8a6c79524301ac5c40479ad5993edb6921828faef3ae47a8a7654b8197c4dad7e278af445c8a22bd60ea884f411caf2bee7675c02d5231f7e7deb8063eb8a7230ea2aaffc52ba5aab349a860d06dbf4b6830ff5a314131ea5ae14bcf717ad7dc4295d82d8a0b3b05378c5a4c33fb7c472a55766a38b45d434175cda0a083cb009e9f95ef16e0f6c7381f1d91bf09a1b6eb1b41dba9aae1aa9d6f166e662b820e5eb62578b61a32c1d49efea40125879eaa696bfdba7c1991f9c0fdb993f1b086e32f47a473e604c141f6d2b1371dccf9015405d836ae0d0c8f44fa400a0d1f3b5cb3d8239d9c551cc251bbb5cc32513aa7caa04f9cb0fb82b938ff3598e07af4906801efd4afab400068f90dd203d7f45aa9e57d582d108d11630250f0869927b863f975684f0750182d0e0bec7e356a16ee1bcbfe1c89d2e78310129581610b167c721610e2e1fda4a9af701bc8839a5f262fd15a45d4138bbc08a819e5355db73d40672ddcd26a8974c0d98d07e2d160bf57a2618103ca0556848ef365504b59354028cc958b732b6371a11f2aacfc3bd43f16cdcd5b6e38c1900416348f6ac63b3c48b736582bcebadf2a18c8f45943d615a662a6b97e84a54cdc86cd66e32ae2e743d9bf4dc4fd29bda30073403bf4862481db4c4dc45bad319051bc566903523e0a613344994141916f8a2f67b0f684139a1ae09be8103d52ab72f6c4daf3c94be9b1756f6368f9992ce9444070f750b91ab1d30801590d94d6389e51e1de074f84400942f80f325c5d46c3f44cd8c8596383090693038a9e3e83fca941ef94b3678c33186cd04f36cafe991d6b7e5cdbfe82c1cf33e549843a8ffb9375ca5dd04b2e53a949aa4ab5342526b3361f6346410df3f455882f1823d901585fd8e6981704a94a7cc126db9f21217f5b7895cc18530a8e1ae15dd1a2c187b39c2ef8f225f40ca081fce4dfed7d51a9cb011e8d563930475fd1d1622389052458f262f1957065c2d57a3612f9cbbc903b548d76e2a24c02eb513738d63dea963e7e7f72ce58901f1a735256849095c1448b7611b260cb49d4399a9b0148d7c95e284de225c1f8df05f09c570ca40a8e65744e7bb89742e8ca05f7f3236e5664d25700c69110e32e430dfc3edd94562e641c5fab656265d3a28257f9f1ae54dc0a8eded0fc049b5eb37fe7fc8d5f6e2d76ee4befb7a2506508647eff8f05bc17218896c690ea4f38a0e1119c231cc44378f2938e1cd9f5bd1f5620511db6d4638324ef8402d42b8a950d87e2380eaca01e8501815a6b1fcaa44b02a8dee04000d61748643e51bbfb6ea9adc9b94e893e679e780c008ce6221b95bf7121e678bf834719b44f02f2cb53da59545af0020710d1a1a6c8b7acac01436adcca28267331a76467280336fa6172680f7286e09dc10f735013068911c5076c6cab3ebc829350d1eeca279714697fb8d6c859445569a5fb07093691f0dc607cedcd6a83165c30902651a91ff98b60d0be8e3ebec96c0c11bad214fee5dcceea266f89ce74fe32d1d2d66c23b78d823f19c61f8cefd6189a41df7d873b63beb16ff21ecdb9c609565e0eae34083ffb9613e6f96cebbb6b4570589021d717c3eb656037fd7dd18580d6630da0952ae17978b3d84a8fd352725ba20e5749cace861fc0857731ebbae5e6f00ce6ea92c4f27b2e999b4f57d93feac58a7935c596ea3be63638485f6ffcd8c5d4c28786ec10030ab882a5b499afa4237def9cc3641b7e7ee556efc4f1d8c19c68ae4a766099fa7e5d59613ee66168d6f022cb028ad3401789deb061400cb83e888d2c0b67f80e326fe60bbacfb03ae92b406198b248347ddc51039eb68a9e3e79d31365295a3107a4828d0c48611e378a8a15f4e008cf104de50ec793c4921c0cb38eb08e3fc80f3c3a08a1b21f3d55c050e79893a90c950154ab2e47777fba46b98561f71f70b9e6781f63c311d8e5a2b06ff0c0a6a6b72e3019719733e81c92788ca04d42d2ba945104fed06655af38aba0965641468f91899e4a48f2c7f203c028e2ccd6edb240b0ae6a901ded9a2f9a115b5bf63c9c38eeb6f7c013500577b7140323ad2c57c293661eaadbe66fe967aae34048a1c5cd56bb39cd71effaab7877da7365876caac4ac9178d7b5dacd332cdf9f658ee4149e8c43421b701d7305850052ba61655862c1c771bdb029573ed274b4d7e5159a20660bcebef001695da51ec7e1d672a134a04e905a2c05d3ec53c724ed99712f8226089a9e7008f14d9e11971ea589bc45da358d03c1b03e9509c1ba0ccebc38f9a27d7d873ad31cd2a232ecb4a4f63a1c4784856f25f2756ca320f6d722c9ac8d134a7f9a54e04d209c181fca68af2aa1b1fee0d299c4ba8e75893f06966e2d6f0c4345aea75bb4246230a2ea9833a55039cb6898eff44836f40e3e8fa2d3b8610fab8a2b2051c9f770c54ea5cf804b6873e5665020d29f24d24e89875ba32f3b78518156011d30d38f042b52125b74392bc02259bbd95660d41fefd485722a782074053b2b5b68c4cb2df42af615abc21398dcd2e2537416c2eeddf43f455c9d9b4cb51059997889b9a19489405cb713e7e92d1b354b27f11a74686da88edf086d3215369a76288194733510189dfae17156c4bd4c284e61d41ce65693fa68e49c8a3b0e0a977aeacce2c0a528ca05c4f42183f3403b01a3e90bb08478b7a2535fd67c65c55236fe56e0ac06db6683c3d7c36b6c7ac369c133e80454394bfc051c2555beb622d9861bc26bb72632f31c3f6534f89a06146df9f47ea765f9765317602954971ef547f3407d06b21e8e0df7ed629289554f693893dbe2446513f7beeafc5037296296ef22d62cdfe0b5d61b022ac8161e8cde0f583b25ddff5a02122ffb3ee6522b97e16bf21f178e826909a293cc6bdf36cc5599a958aa84284a56c87e0511b937612e43fa9313d48c712d70b2f2bf6d68567969f3ba92298e987308b789ed961f3bd3e684b9190a9a9655027b263da8cbf2e8c3ea3530e5f02c9d46dd8d5ba85c3c10b7ecce8e9c3de55e975452d1a09c4daf0536ee59c8b32bc6d74d4c66309ca53b22e62febaa183e2681cbb1cc0f1d93d02f13509b6962561500c9f5160ee29deb35f99382283db19eab0b88ba31465e912a5f7347b3e400b01e06379e924271dbe899112d34baa95831344cf56686f28cf382de674feb0b92ee60e804e76efc6da48638c118922a58f554e5911d769ba740d8038b78f597e092ff6dafa15e1d63144c0d4e9c76a1a4335a133dc28d4376df9550b9b611854c80605028a46ef518c596b7db271288343223c505b39a7f5bce187af78d037991a416dba16df27ccb39fd7d9002639c885e7ab3e83003693f88da01a406eeb1465c95e33e3e2e1096f461769aef79ddccc3ce63dbedfdf4cda90eaf68d9c9cdc598a8214d2a7b34610a30630216242a5472642e7fcf2ae04c8a60034d35ae6df4b44dcc77f557dd394c546f4b190e0005adc1e1222084c3916e76302325304f87d9f907d51e9b3b34d5492285a3205e6ba443a5ec24cc1200ed7fb3fd25ca3f89dee7ed1cf0287af746137e630bfa20f11c4713399eb3509008edad8da24e179a009543634c70893aba970d9c54e26a7a9193c73a68ac0256bf5bfce11418937b7647f7004a7073c81e6cc4e118b139c6b295b80c9133d42a3709129ba8ae6bd119e849126e4d35cd6649a0184065681950a2eec40b1377348f29511dfc066fb6608b507be22018695d95aaf6f67eb9e32aa40976cc8fc04ef8cea7a0701a7b14a2a24bc60a6d234cda00b612a1418fd18d87b989ea21acfd0172e7763e59b89c5a2d10b103d33f8d25f988bdc0cdc63d2cc95677d6999ea629c869c8490c1c2ee51946599c54c02c192342b006e38174b073c04d924de635943f62547af4fc7c9d860143a825d8ea041b252fec3e64c204ad2796f7427ffb46b7939eab68b85ea298d455b4a215460553c2f05b4b376b1f8a4f900f11059a7b60f912a04789a92fc902f3f791bca560ae937981b3ec43cd1b39795d8f280258b4c37639726e94431c729fad66bfcc2eab1e57084544347bb30e24687b56c540fe188cf449294e81c9f9a24802cc8360549fb0061162503730cc11faf3138469e4e5aa28f9b495b641f969219311d1160351b45cb2a53e0759b61d9c928e803d231da3427ee63ee34eed4c09c82916a2588ddfdc40b63d7bdb08527a654468f8e103b6ccb192b393484476933221c7add686dfa02204594bcdb4729f993059521d168ed925f9039bb4ac9e3ba9ac250a7cbf9593fd75978fe2c4e7eb6dec4352866916f0b61620763b8b9d05c0168b6e5ca292e5b7ae76eee2154b4893069ef868fe18447f7d9b8ff0b6cb82ad19d3b6d689d52ba2e3145e5e069ad67e5bb8c9dec4e03589dcb8de27ff5cfb6025d60d87fed365fbe244f726e90066872f6120366eadc8098c9c1596754cfa0f0bc5780a330594c9ff0f7e686a04ab712a30c9ce4454fa9f950df51a3d2aec402cc2eb297400efa4d0a641fd2ce092bdafe972f00b9a681dc9010063140eff89d74d2bb392fdd166cd9b924afdb071cc6d0abba673697a59c7240bea5e45b18af99f2a8ee32f337cf7584400b05a5fd309be5c4f49dc1d15b2d63efbce7cff78e0b62140e94a1624e7b59165b23296020006ed11c1638235ee11947f8f7ebe13316a5a7133217ee2d0498a655d7eef2b6d4be57a2e6c3ac04898be8aa8342896e85c1dc5c22ec7b26557a3e922eaaeeccbd2fa2f7c854ccd24fabc1a0d6e5c6e6dd8a32c313324cf01a67143ab540f3b85790c8399f66d446c9054c205f67328b0ade0c04e898e2898a9e29a155887b32d02d377e420e222ce845998cba737753293beac579c2da60b70105db8b7200ee8167493cf256f2f453479113fda9ea46b9ab85466097105d392228773091f18670fc9ced914a68e965d8f417370af4b6d9f2e7b93f6d46d9d5269dd952719a6aa49d63196312569ed25650c3fdb5c67448bdec828f6adff74d86f75dc5815371f97521bd194a00dd6a8ff9e70301bbd323045aa563c1610f2504cf062b10d0088d49c28252c2c96b0f9ab0a4a6a70187040737ed14b0000b031773b3c7a629445354a1d00be8729c51fcfa3b9ac92061b178e3db154ca8571d32286a7c72160d385ccea5e2778c6841d59683483c3fb81828ba4d8917191b9acac45e14509d813e3351a5aba1f42c36381a5089785ea760af5f42ad2ac378d97dedfb6c9cd1fb75ccfeeb89bde53f4edaf3aadb8e4299f12937b0c34b8aadcc51ec2203e3db924a7f683c95c98079b94c609c6b8c610c0a0c85cfadef4f36c2b7f13afaa067a1f47a079e62da92035e3620be8014dffae2b389a863390daf7e931154109486ab95f41a094fa62362ad3924ea283cff3140b2452b2d3783e0cb7cbff48d5dc3ab00c75dc0d0e1c65b3a38a38584fb8c81ecdaeaccff2d001c61074fa7870c42e263d2d6ab06a5d3ee217982334f719089adaa2956f6ba95c310b0de110ebd6b0225c012bc623cfbdc10b70df88c27c853fe6ba758917f9884fa83c0e67d5d7ef44416d6a0056189dd5da81e93ff98005dd34699712034d1a17c7ea576f94929d0f04e6211a09ce91a280aa058b84e088df70ee02f6c36aa95482571847f1be88bd84acde370cfd66cbc1f7bb2e7178f6fdd0df0849f5779397ebe760f7dfc4d6e6249d9e2a6fbaa4566ca2c38acb5ba738f86c0e979c396b5f83b9b9709872ebd6c434792043965b2540a3fcb9516a2d635fd8d16aa63e08dec81bf0746255df40f0c69d239e884d27180145a68ed2947a3df14fd164e3cdee45ef09a1c260bd1605ca8e528e62ef1e33dfb66d4dceb8fa047db176595f2d9088a4b46229904d148b602098286c18ba4f610efd3492c58d5d1124f4ef607702ab2a9ca0d6a1a9766ecdd4d459d3164b594398314ea339d18624f45c11c334ced8f53fb16c2b1ab2c635360ac007e44518fa573f1076d3010d443fb59aba0620283b53a0d2bdf924958d75ca942dcd4463ba7fb1bb8c30476c8b6156c6eb1e770e09f756de71ac00c48db45348d707e80d6340fb7779939b8f9e20b19efdcaf47b0c5c7da57e92c831f8552f44505962fad10e03283a33d14a4ac6df52dfd860723b54269d98f7f90688040cde6106fc9577c8f5c96a8ea83ce5e75518ad4a0188ab2d3540b311754f5e916ff1c41b892330335510477f7bc4b439e769e7a60dec706147abd8eee6135a9f8655fab73bcab30cb762699968ad4256558d8fb83736bc3f8b0e0ab4b18093311d57611a1d4d664548651201452359d01101841bd2f2261667b772e8a1cb4ed071cee8f06765da4423f198015f453545fa2322d851f1a8f3ba077afb321e0793f668f611d9d7cd67960421cdc66562284fd465ecad1f9446f19368f207b8f1555c7c2f3bfe50e7cbd3a65904404904cbe9ccfc5a3255e4a8a5bc211bdd2e3b50a8b788feb4154921c6f506a640a4bf75b06625586b0b6751a3938ed9f19e0cadd8e27417ded88b9a5ba199975f8ffac565b2a31f49c77df202ab022a23a45c3de56596790c1a29c746185ddb8e45005fecb0b04eb24b0c6be132993622bf0ad310f273c08f5de699dff3e46a1bf767692a0734231d0679a962bff4c836480ad12159d36116b56862765e5b7580776d8eabd941bca5b8dc02a49ffee8de13f8ef689f250ed13b13d1f93f8d3a112b0407d9c90c4a8c74bebc4925151c3a6404b644ceacf82e62f70fe64c4b8be5a6da3f679a984a4d44c97e377ab43be7e899658e362b041ce6748a3ba24ea6c6d2f17242e467465887e23e3ac6ae01af8952089d365e73cb1046e8ec52401946714f1498bdd2912301076b43d1df27b394fe0a744008daf599aa4e112209a4363c69f48d90d9cb44d4ece46fa8971286b681da423f4d504f1326d9238653799bbd8d728e40154921d9c566537b664ced87cf8e43e22f75f13e820d92f9c95b01bad570fbf702c110c14079928ab1569d83f0ab692b723707dcc0c9e4098cb67510e1c80fe734f302b4cd456aac6e1f77aabc0fdefaae097fde930755fa514665e8ab314397058b5c2d17df42742baac76f16724d4a858831753e2e514ff6576eff8f88455447531d37fe88b5d6ed74a3bba48578986e166b0dd60aec3518aab1eb63aac45889b9127bddb2acd208568559700d3615089585c6c8868eaf1a7dff087d6cc18ef39cc73bdb1c03240b233b9e7730cb79d2d1a4c349c773cea79ccc38308fe78f612c1453e3fcc0db948ee73572aa5c5e793c7378e7f1c2ed013fbd53c2e1e46654efd69ed63d59fed116b435efb65e6c3db07a879a486650e97437cf078e5e9ada5e4252d646343feb928b2b61fee1d585e22ed99b84eb7bcc302429e774f477b5544a1ddab555537287847070d1b2d636918a04df40125d8ae0d35ba2720cebefc3c6fcc6560f5cef95ee5809b91cedcd931becc6b0892230bdd967999e418b8b26b58c7c521a8c691cb36e91407f429c30b5a74061ea5c967108bbb5dd627a6865f0d867f50b691f9683b568fcb30f2a78e7fee418b9c741f2195af828f863ec8d43c12c3fd3c2b85bbaa5acdd17dded971645cf52685a8220108aa609068e18ba536adcd69587a18de45ee1620b23690c39b6a27dfc5c09f143d9946f0ff2c9cc56a47dc8fe246d77e56ca1232725d1a500ac8a4e52d91f08e24d1227bf6bde1fb55515f755241a822787a2fc7a6b37f0fa14d78ab0c2b29252ee5627edd208559c1db8c9fac244a82dd0fdd8c92fd1177f1ed3ba3c451c3d600861b93b93b08d5dc3684c52a8a1c6cbe5887a2f594e975baf5e9020c991b162a3cd03a695437c3630e34a6905597bcc56c5ef1e421b92c2c6c6dd27ef3cc47d6d07017d0593c52483e23152967073979238d18d27468dca847d3173af53a36509354b70481cbd1d02558dba001065ea848b3f6452415dcbe3ff1239faed3df8ca1f36265a336834fc4530ad0cda9087f7bb4edb3d3d4167bb764d86e7a4e316fa091c81fa142b2598148a4db338c7d533b9505e65ca75a248a5951449393740a69441a02271ff9f7e9414095c94b0a0f3a1bc2aafc9487f22589ec3f117bba4a9a302d55357c04ae3b09110affb95286d2560e043309fab2207abc1a78725bc78000472a2d789880c42a339e3445a79a5c91a96c39e8cdd4cdda791a864c9a382c6f42f20b1d74b4307debfc528b85d2357ec0e39016ac74e062c2c9a6e857e8e2d6674302696672a702fb51e9b3dd50da4dab2d55425ae1bf508030ee82d34a49777a50ef893fe4913f3828159d03c4fcd0ccff2c4466c793bce0cbdb23fa558edf98ed72424aed274c4bef36a3b0e42f924a2a9154e8f21400b812de1c90a3a646607030aa081ee9d0bda4bb323405351a5a4a70aa1c024d71804ea7e477b0490882f6b0a77404a14b9318a58fbbe3c760ab937d0d01f92cf4bdd0451c4d161efaf234834c221497b17e2ae3878a068b176d30712b5c064459a5251092e8dda731908ee867a2387bc615f32fe987d226bb1cd4135be0941cb7707e201644ab557963e84458b7670ccd069fbc896787a227c803a13f15a8bb77a9bdb3e1fd8b3be8458a25dd6d451216db47857db901a3248d3d48c03db757e18d1d6061e6a0da4dd4bbd3a1538d5dee1770bc0a9f5887325c189e17d682abd6ca3bacfc5cb44a0c6b867817c2c2ab60fdf43ee3062c066eb8edc4827c7439d974aa4044593936d5be4cdb66cdadfb9742c03c18324e5e0c00c97eae081dc4c2781194818f7e8bc4dec2673c567eedaec757ee4ca36229e86e1442662175b601d5e601e9ee0bf8b1b43289105ece99cad64178238469ec042216cd215930ca4a30c0b0cdaf0c74734b6af89692884f29a528c3c407195054d042771c1603ecb5d521dc2808df3ec21d3b5f6d4d50d6a43836a762761587421a5f3df5adf540d9618bde82bfe94a2e8e1911eefd827de00774ee47fa140ef203a5fa0d4a6b2794b466a151e4b8962b9f026aaac2466dabb3ae4442911005466fcb065bfbc73176edac2032401f91ada14b52fe8af1821c4a6765aa4ffa795a16b1591ce00ac9e4cbdedaeedaefe1f56b4748e08bde418bde895196dd5a282cae240a31fdcae215fd4ba1a12d19a1065e9633178da434965d9f569463089eaa645b843f568306e5f18cc207d06399ff14936d09b19f2c8d20cb6dfa66a42d4a1e15adb44106202c37e586f1e200998e280f784f6200513846b749cf50930487d50ef6803caf10ad89200293c9e768369a2f558d63fdf0e1b4fb692b43c91b22075b6b81070cd779015446d65b73b576454a1b8ecbb55403ada7be1278b143269cabcb034451ceb012a843c9f8404c3d3ae3cc27ba00510b9c44d094d5d2f45610609a3e0cce505e6e2c66f56fdc523140eb21067b6291c7dd03748cac166d041d44c8a68b380107e143f73d1bc73d5bb96ef1243c6db73708dd280707f6505779682580b1f57f39a54ae3c0c87916e3f890c40d48563e9bf4a33394bc80a04f900519a9991cf43be4088b4d64d6ff89d6e8e61cf136dc076e138c42377704ab0c8188aeb17591059687dc9a04fae111a3c7eae28658e4f5474b5b0ff3ae0a6820a6e5cf32bc319c2e518e0d1413d5556ce3d44b96c34522138ba8e2666b9f6e76ddf755aba659db88fac79e72816fa5a06999af4dc513b479204d573c2023b6d63bf32bc623a296403a55cfa63c8514b91a79adae144cf92d16cee266401cad6ac2f95d293f6a1ee3d16b4fcfaf42d8d140326cc112afb4657f9a02a3e424dcb80766a84d9a60e109dbf56efeef5e4be3971385b117c99bd0fb88089039de08dbc5bb57f07f402b6f63da316dce9646df70ed1c1000b3b9c5e400ce11d5818945e9d96f3a0d56c55dde1d33cef81e49c4c9861e517881cf708c867110ed1de89aa106813690ab98e6246e1a11f51330c010c015359a803d7678730a989e3c46024277f52243146a2ab0902b2edcc6d0f409dfb5b26c348eb211c2fdc463c4e023e9429e4d78ceb5c8a783b7804398e277155ce4e72a8d7d68ed10985ac3c9ef098340f3a33c99276fdf334ac5b3c7fcaf56159d1d683dc0959a7f63a1324260912f73dd5b728a42e8cc803db0bd53ffccb8197a61efa8779d39c39597bfed90911e3aadc44a74b45c5cd710ce30466f810ebb66cdba423225c9cad896b373cdc68d8c04e2121fec79263a04edc8b2a8a330350660127bb53254d798e7e065e0f211d32067ad16a2660ce98e2c8da71d9937768c87ede2171f512d3680f929b1d0ec503cf21019f157b61811178cc5cc161491973a9dde72285d96b71f10729c0c47dca597d240a893e1b0e89d137214ad789dba6b5c9e97503a1132e5d4180a71543c6ac5ddf9077bb4450865b150c7917917714de952da43d3a24ff66936b62e839160eaf97134898f3228fef47984abb40057c19e7e59a76e77eb93a04c89361aaa9f038209f1c93f507edb8bd53c3c58ac9d90e515610ae510cebdcd2aeabaaeebce078758d9b59918b99552491026ddad6df7bc3242b41faed5f68913bd3e4a0e800e8c9946e0a08ff62252de7ae469554ff553cbcf45222637ac43fde54b2b22e991f3e7989d77900d832d2d74efc89227cf850324a9ac7f71f5f61a6346bffeea54af58453a1248614d9dcad61199a8c10f82e4fb91ac3ce7068ec3ab443747eeb18515781a2266b9efbcc8409543744c1cbd7dbdb6012b8b4ac94dd8f7666040fc2a095095b39afe212f9b8d9c2e25db834388171e8f53a45aac31a5aa48ee949e64e708abff84b49e119a27505ad9acba324b4d7166094c73ebb987d6a043b9434cdc3b2d9f15e84961c628d71128ef4e73fce046ead8e43f1448ca3a74407b853e5f21cb37409e2778077159215e7429f92484d247625b63365f1f809a074c47a8d61b7cebd22c4f1165d703c01241c3d2eca5a59abf9fd6ca957ecf10de0354dfd7a09b998a789140d2bf030dea70542496d7afa72c8c8ced399f946823fc9ace5cc26aa2e6bf4678aef4c0418ea050ef1a60c534e9f2210f449d7e71339e7b87353d681033f2175a45873dab6d04771b6cde3c4790a28afc6c850322da89006520f786a7b4ad07afc3651467f683f1a4fe4ce601b64fb47e776113fef21d1c76b07e4bd8879076cf7565e33e62b29f835d01349708777462240051708b62ceeeda0b6d19f162d8106c765e698382451764899db32e59ff391337046993870ce175ac5c0079837408339e78cf74e02974cb024f9c750dc2f2a1b569c4fa8cd3682b1f18c7f9b0682a0054979c759843612f50ee37c0d2138eb2df30bb0176e8396b82192ebd12a25e95cd0f3350022b377e728fe564411d78bf0fe61cb37709acf1c7e2a2dd222f45d9e5012e4cdb13161471959f14efc3010943ade2c94b9704e01a9726b76c5a420ac56bc78fa115c26514ba50d11c9642efdbf42992895c0c3f518dda01a633a79c0dd8b75d143b7561f3509402cda1f5c6ccfe8b61406155b42dc8bca68c43838dcc80b8a4815b6d121aa03cb5fcbc6513e282525e05e9642cf4bb96087186270d348fbdfcd87920c31a518923513202b9e13642c661a10c06ef535be801d7ac5b48629690af47da1d219f8839a337800b8a811c2a431a9f3ba107d1b0cc20d2440fb4387b8812e34a384f350112b7b6e8ecf7cd64c200ff45ca04b8231d932de4d60e14fba0dcbc9d26c88241587b30e094f4acd85125415ce88b6b30470cdb5187fc9fe110b00ab90363410c703042fd61ea74b89b950c2f0630b7901a266f810d19136811a10c2d3afa02004ece390cfa4ebef7602051db2a3224f11d2ae105c33985a1a723ecd39d1d122b782110cb526541effdf9f0628ee4c47a1405d5f22c869215060b389d0a0b97aa5b85bfc383c989da594a5b607dfc3530591a47f050d960da16f50d7a0baf6004c9d7e53e1b50656f352779c90bc7306f10b7c450de12ad9e352ba2468a99c8653ef7ba33558dd84f26998d3bcb549c81e64e118851bde5da7de0642225f3e2a90e1934a8674c313677a4e9c08fe67e238573e36e892595b2303a50dcb85748c1fb8f7c621b5c4403fb00812c4e00024122a578422f88351a35a59d1d12fc416278629bfe81d04eeb4285e1fc91ea6ba5b36a6433f98a1d1a8ed45c270d0dd2b1652f81105e359b4b01c74949deb6ccea7f9b8060d40b58307659577a88587a8c4a4830af1cd7555968289798be224737882e635b42320f470c2b6f0ea152c4586ee0a554844ae07c6c8b3aac2ec16335aef884ec43b7c30ebc8fa16f856b8218b3a3d546feb9b53ffe1a00d1974315e95119b2bc78fb859e112dbfd8440f582bfb78127949dec0316e01f2962b03581d5da2db788be77d67af6d580ab6112050274524750511ad26aac30c00fdbced66961f5a8ce0ed6083fc91cbd6646c9ef378d6ef2878c28c1e031ecddc33fe6a11e3b4c74feea5e49d79af9281b8da31eb918348b2c1e2513b1d40063192ad21cca5155b22bbfae944ccd0eab77514f6beecf189dab1912ce75c74a7aace20451e16d0d960b8c017c477686a4bdf6190f648e9411e440d68b9581c01e802199059cbf7381f05f5f80b21267e469c4000a3fa898e376075ecd418516e224bd373688a841d8673b5043e904f9402cba04db0273c4d03c65a1446af310f357b31a4b163b4015f02121a83bd72c5518e5c467595b4facf30f708acf28a2c1d8a57a1819ef0560f688f9ac5b038dd0401e0c77600027c7ff6649e68e6a8a818e7a3ca872988c2a09bb6f90cbef87036890d495fe903bb5b687bb257a97d914d909fbce870a87f7c1382f690a918878da881c6585bccbbe70cf9d5a61efd4062dd070f122e4b39f147bc20646f8d9139d42ebc85a0e3f7be231a0b481268c95667db6db6e7fbad2796bddf5fae89560764bbf628a385fc3350d630e21e72d4807ddcd5cf82ba9025f015ad91815abee98017988c35a87aa3cc7d1064e0bdea14a7a8ab2878b4705328c164e49528983154af54578dee2a5aa02a2f20e873d1a316547311fb8b9e36e6380da421201270d7b63233e63168b1f4e912368986bf3b4d248760e3a2f4294caab396d941e6523c53451a0547c0710d51705311640395ccf1014c35dabd907ccdcc568efd7a9257a8287d112b325764b78cf4819c4bb02ce6644380b3760b46439330f0f0f0f0f0f0f0f9f86b69684768c494829494929bc71f2a4d549ca24534a917086fad2d399894f678e37b2f72640d8a3123d0bde0a660b699bd8e2e9b81ed49a34b19c6a894f31498da83313961ef38fb9a48289ad729308e16275e75cb9c466972ce8b873f253582cb16fb8d431c9609643d25462ffb4297f6171ae724589ad7ed35334cb57428a26b1a45422940e3a55ee4792d864d56263fa98e37d1889ed74d4249bfd2efd1b48ecb531c58c272232fb7ec416752de709d93962ebdd3c4a94a50d772a24cc68c49aa49c8c53ba6e2ccf3988198c58647eae3093d52d623f4b612cf2af883dcd3e8e45fb9161534e22b6545164e4989b934cd1c1610622f68dff392b079dbc82c81d623f1bf1b135491f271e891986d8742ad39bc367825d901d661462398923d222de4aac131d6610623b99a954d8a6e4a482a6103306b1a6c719a14c65ba13233ccc10c41a44087f95c4339752dda845cc08c49a1973dc8b9144cc00c4f2abe9c3a6f3f0fb4fb730e30f7bfadad5868dd411726398e1873d5a460e99c94642dc982ccce8c3aa1a63834c0ee1c36212a32535419c8a21ddc31ac2a91c2dd36ec8c5f4b0954f0addf5299294d3173d461879d8f25dd221860c13f2f97858adcf7f736386a453cae5b8c3962325d7450c67233176586e3cea7c07e91dffaac396620ed2c4a5db9e91db1466d061eb7c956c26e989b4d01cb64d71e24e1233c272580ecbc4dd10731c4baa94521cb694e1376c7e357226e1b027d1a14ec76496538314c130e30d5b18d5a9731efdcceea071c35622f4574ef94b44e837ca1566b461edb9ef20f327448f0da330830ddb5fc841378c79efa9b20a33d6b0460f32b797479d68d4d151c20c35ec21738ccb29d58292be3161461ab6b831ccfdca550a9a5569c145039230030d7b48b2cc526c90922a509871864d7a30bdb38b6798611d93a6a7312abf4ea70c5b10292a8886c67c149161cff7319e3ba6b014b7312c328d927ac1a2d8045b0c9be70d762533270dafc3b04a88b2279744c6cc7f061836d31731df6874c61756bde4992b6996ff7533bcb0ef57c5b81f9dbb33265d584fceacaafac49c9b726189769ff3626e660c32ae82137c71ce1696d9f5a072889241f73682197610f61fbac4865d30230bdb85206ef2a63d193352c10c2c2c379bc2b2bc33e30adbaaa64909b22b88ee339861857dc3896f4daea4440ecda8c2ea213b49cc2733a8b05810eb1df943d88538630a7bd049d3d446e3a74a91c21a373ae988de8ebe5b09664461eba0912f67cad8de700614560d21b93686f189e916833d47ca7ac58c276c1637e52fb9d1466f339cd085fc2509cc68c212ae930c3253ee82fd4c586d3ca6258bf989d599b1843d24cd48f6eb93aa333394b056ac4c29a7494a8c851898918425e6de19ed0c1f763a3390b0ef85783bbf493c86fc8c232cb69d3a835f301d924ac2c03ecc30c23236416e4e3c46eb33c08c22ac916f4e99ace89f57ce20c276298730c9a1f4c758c586b0999049f24eb890d54121ec21729ed1b9dd29d21484fdd4f27fee6d9dea5ad08ceb3a7ae8344a253fd87cb73be5d149fee5f1193ed8b494c410f4e50a37d1193d58d44264d7c7a0d192577582193c58c395e9a6cbe4c12f8467ec608f692756e798ff9d8931c604803043077ba6c4b83b519fb34e3372b0a8f5139654828e41a73370b0ffee6d59960e759b32e3069bd5a40b23f37c88967d21c68d2b67c0175c140dccb0c19e4e481bdb14e567322db89040172748809d2666d460311d214e3e914ca41acda0c11ecd746d05cd993183255f78ec6e4ed341e567c860b5892b2947a462b1e4b9d378e23f05168b068dd4e1634948ba5eb1df68a9343b2128df1019ae58bdb4445f6e7c5d0e0ac608038d118669c59631e5cd93eb39263258b19a92e525838e19f7934556b10691d2cca5ca9ff35eaad84ba5202d480a1f7295da0b07c3738061050119a9d8ecc4a71c74a96c9029384c9dab95818ac52766dedcd050191a0e53324eb1e4947b17efc67cbcc232c5263e9892b9314846299615511d2ba6489b2b88c35495de02649062b92d193b4d52dfe4350e53a7c5165a8891c3712431b4e04202366c7442c62816e5c1764cf4c4ffef2c80010b48400b1b36be10c3860d2db62025004b90218a35766dee0aeb2937a95d308e2d6cd890118acdcc82e80abb5c524b4086910990018a7d4fa80f3a849e1c3de6135b6fdd8e48a752e77002323cb1e6f0414d86746964cce9c4266295dcf1e873164e6ca67aa1525ee94ca334199bd864698c31a98e39efa5738b28c8d0c47e99448ff77ec5a0772636139343b0d4274cc71d139b4fd4a0a17e72a2ce39481105c8b8c41eabe16336227dc469897dfc535686f995d83cca9fdc3b9f128bed7d8a9019a48ffa6c129b6c90bdf7913ac690134386241635651b72684c29a2b4482c4189d195676726ffa24f0564406291b8597baa6ae456890537da0bf7c2334002198fd8f6365f1a7dab5d13e488bdd377a4892994d8d988f5f72ea2de7fa5248318b1852aa58497c6d5dc240e53a70539b8e0800c443f8e7c8a3948116b8d7512d1fb969188752d3d8611614465e82422160b7ea7c6eef484203dc4164ec42b53dd95254b016418625f311544fc8d5ee9a32e0ab17ddaec0b9e42ba283a2196fc39c649facfe9aa6202e3041983d83a66083168996e78f145177982586f43084b9d44fc86d9146404628f9df39d2242887ca4bd18e3cb016249fa43c4c927b272e4c617fd87d537a6b4a756d26f48fb6193b3ebbb789e3389bd1021a30fab9e0e1dd45f0c1f36e967a3964e9ea8a8a21064ec61f3b4f8757e1b94989c2f4e0e17a30b94a1874576967e0a6a34a51c92873defc9b01d849f8e298387357ee78b264277d29bbec3222a848f74d2824ca5db61150f1b4f6caeeab029ffa431a9478ec8850e4b2c7d19d34fc6fbd064cc61c93192aed3c585cf1519725837ce6b536754627d02c761c503197158748c673192855d12221cb6e039846a56ee6f50be61b9d82968fc326595661ca6febfb86182d485098e79820c37ec21c4bbcb5ba6846aaa0d7bc9328d30f9e427d361c326b3a77b273276cee1352c12ab2b2d2fdea26e947a42861ab6ae2064da10ea4166988635e9942376762671f28386c5476348c1623cc31ae2692349ae8ea69919f6f849e54f1d2b6558f7424f67e55c9c9e6590610d1f930cc152f26f59648c61fde021c994224bc5ca0432c4b06a2ea563c9943fa8d2e130e524682781175d14fb424618162da16a37a872e4cb00c33a22eb63d8be9cc4276017238c526ade5f78812ee30beb7eae4d91b217d630112d4cffdcca46bab06a2ad17c21890a5691c1853d2f6c59caa7c49645656c61394f13398c06e9894186163655ba31f1440795fccfc21ea964656fc754a36270983ad5041958d84ce51232945edf0ded0afbe7dff8392dc5938dadb0cc850b2125c52040461596edf899f390345df8a9b076588d48e1f4760ac914f6bf1c836cfc26254a29ac1176e4c5acded3210947188cc3e008831d80464614d69474a7f25f67de91d68d8a840c28ac7d16a631c7fecbe413d69e10fd4bc60a513d2cc3098b929a6b25f5fc84336534618fa325a4c50d49265e0a6530614fa673c28dc891f3632f90b1844d88143fc279ac842d4efe2bca8a4a16443292b08d252182a95efb13170e5337c2e8e24a093290b028dd99629cf839edb3232c16f16a77beb44644481961ad90496aa9cffeb83108328ab0d6ade49c9325adccb5e0420239beb891859041847deece6e54ccc918c2496363eda073992e883121eb08640861937df269a79e94e4916541461036bd191776bc7e267d6400613de5c13a833219939c0809193fd86397895ab55e860f962df54999643bbfa33390d1832599c78dcc9f49531875638c713278b068c8d315222fef951a87a91d2c41a830154696856082c139529d0ef6e87b9fe4453489eba92bc8c8c11a9fdb293f3e0609521c660b82619081832dac3ac3a6cc7752d3326eb0e6aa46d948e944650caf03326cb05ab470f3317244d95d460d16b512adca4b37a77b1ca664d06053fab263cee6a95109c80e2aba21a163129b4eda19925635a3d81d92582c87acfdab139b41b348ac51d3a2576f26bd939a1c628031803074406211428ea7450c1fb1fae890bb7a442f743862f31cf2fa9cc6d0a59b46ec2934a67acef551793162fdaf0cc12e921e33e922568fb896c32fc92439d4800e45ac9636e28e1c91628fdf918825a8cd49e9c73a10b17a8f90399792e629840fb165c48a39a40695399f82e830c4f6b14f6abc9361a617623193721394d021c49afc3f77ee2064291d0d62cddb2cbfad186447a443109be9a5bc1b63cdc63b55848e406cb9d3c5a0933e1ff554910e40ac4949b4f06477fd61f9dfbc4937f7c3962448afeed0f4612d791ea2ce433af8b029194c84f4993eeaf38e3d2c319a8ed1f3792c994c7e02d4c5094ec0efc503b63899430c304e007de8d0c396749aa4f8273f86781e30068e0c34a0230fdbde7548721fc6c3ba666ae9a1a4a8d8dc1d16db98e779c42fc396aec30e7b8ea4140ddb90bc2475d82b87f03bb143d2103c5274d8a2a899919afc8e3994e3dc247931a929f0811b2be890c3a2c94e69a59c2fcd5d70983a395c8c2ed074c4614d17b944f2143be0b0a8183f3e8208bea6c338e878c39266920771e1accc83aac30d45522f8d51421d6d58e36dc5d0b3932995b2830d6b0a132ccf2798dad1d6b05a8a3d4a97657ec84e0d8be80a372176bc310d77a461cf13ce2bc3774aaa931d68d84e772b2c8ca7d89e3aceb0e6f41c416ef053d1d46186ed524d099fcb373a253bcab0c8a0b22c66f4a55c1a3332ac2725284f7391a3c8d7318645bdab6a276654b9b0430ceb4f922972d29f21a452471816aded24d6c432f87fc0b066e79851e225794a933abeb0a7ce39e8b4d36852a25ed8f2635647cfdc543bbbb06f104187e7edfefed5c185cd367a4a521f369cba746c61ab1e893aa2e244a6528716b61039d797fb738e39a4ea071d595884f2d1d89dfa4bcac60c0b8bccd432c979f5745d5557d874dc184ea5d520238c08b1c296c14fb4bf5443dadd51854df6a8fec6fc94294c85e5440ae271c353cc8e984d61d13b41858e254390ebaaa4b0572e2547fada1185ede637e78fc5d41dd31d50d843fc7314657eb665773c619b899352fc24c7ea73276c994e79dfc6d7c6dc69c29257457df5fc376d900e3a98b0ffd9ea6d3a8b99d2bd844d6a6f48332553c2eabd555272f45029544958337477e45841275da10e246c1df17f2e858c627e9e31741c61af502674061531d8594ee830c2f61bc5948ca2762e633a8ab098a51ce1634ec146773a88b0498d6a517d74ac06b1d031844dc33c8c92414e79c8e910c22a277dd466eb08c21a6af25ab8f41cb973206c1d625ef8a49d54e2d5f1834dcd746af04d2ac4ee7db0fc85ca21c467c2e950470ff6a4317f33e6244baeee40e140070fb6f3cc612b4c48e16aebd8c1a6e224614aee5ade7475e860aba8a5eaf966d2865c470e96d3514fa693e9a40e75e060cb902b78dcd51ff558c70df63915f12f76d7850e1bec3986f3534b9a1a2c29a9fca9d08eea61d260cd7cb1f3430c219ae419ac3e399a465dd114b9ea90c19a6bd408cdf1702ac5c46211e246a5104ade47bc60b16a0a2794cefa15fbdd061d23e86767deb86249f7932bbdf2a49aac154b92674ac898462d828a156bf78886bc4967f1ab556ca6744c215e0eaad17a552c275fcac44cc2595652b1c9053576bae73ac50b2ad69c1aec6c3b69f4bb4fb19cb20a79ff7926884b8b2dc240c314ab44b99c1ef627e6ca4ab195aebceeee0a122e8914fba4a44caee7203d849c516c1729a71a3da34e664e146bcd8d18f529198a75835ed3f5a036396e40b1aca78c9d53124b72a64feca92f5308edd4135b4cd1f3f15476625161db39a9d4b5133b4e2c29997d301bfd265097f2a7493cd4c4a24229a1d298cc29accbc43a61be3c4efe609d3326d65debf51c169224fb5c628b2b6921490a9ae9842cb1f62953bf296414a97325d64ea53164472691e48912ab954e7596e9692a6693d8b436a5c4943937d20b3424b15945fabbf964bfd64762ab24f1eb3a9c4e2c21486c42e5ca7d72a6151f7ec4baa66c47c8a036e2c51cb1a793a11d5359d013631ab1a92b4b99af57445c7fc64083118b45d0214559dd14ff13038d456cb727dbb129c40a4b3b818622d61c6405f9f5981f8b9244ac49725fddaaad898511b12853963acee898f8f42136cd9844d824a3d5f668882559fcfcf59b3ea5670ab17fb0fdb4b80c4ae59410cb6eeeca29b91bc4f2b937d6c15492d1c4825873cc39c63cd733d61788352721aef2e68b1f252fc6388058849218cbd47c4b93f02481c61ff6d053f53915ab7c2f43a0e187ed6395f669a42a21d47dd824a7efe5140f9d1aef1bed051f2b0dd0e0c3963d9744998dac6c6a0f5bf25026176288b541450fcbdf75e4d52c7da77434f2b0e6f495442f2506041a78588486be92d162fccf1fc4008d3bac71b131c6bef89c62fe0734ecb0c68f267dbe913a6c3ae80d516dee2f47c90834e8b09d8869a49c5215792d34e6b09fba911cb6683a6a88a3b6386c157e36e79ca2561e5445030e8b9e05a1ea39a5da8bbda11c1d36d39d85b861edb320218dca6cd8c0424162c15181461bf6cabc9e4f48af14d161c3365e297ef0b2353fcd1a963b9df741fbaf44d56ac074c40f13662ab334eca3f6fa840cbb0a0d8ba9ad5a5c4adf3a2121675852ec2b11acb2332326051a665853f73b2ceea5efe8218d322cca2c8f12a594a9e7cf12689061d93036a3efa2a8f2a4d918b611a2c33e27257fa65789612fbdf45839d6099d431dd008c326eb6214d3318361db8c516212a9a4c810f38545cac5d0b398f2c236aa741495ffe4564cbab0765f928da9364a9e690d34b8b008e95bdf194ac8ec7eb6b0879b90423fd552a404030b7080165c48a00b34b4c029fd31e44932fc011a98754edf298609b1b0587ec7f2ad0c16685c614f19f3a5bb4976896c854546972815fe830a32e80934aab09ef4a4d6417f77aea8b0a797e9473fe914169fefcad79124a7ccace00834a4b0685d4c5e2a7f46ef7414d6114a7cec83c6f0a37334a0b0e4b9fdbcf12e2d37e9096bba78611655e346761a4e587c838e8f921a626f900b349ab05a52428d9f8ddabf0c0d26aca12ec66eacedc86059c23ebb5d63f55b317fa3a184cd5269e5dfe4d1eed1d148c26697b183eee8febc160d242c9f4f96dc86f8a12c7f84d544720e41a9cf08fb55dc78d24188ac458bb0f707a5c42ce7c4ac8f086b4c523a6dd2cdd5978251811b64a031844d7675c43644ddd010216c1b4189345fabc9a2188445d6567895560e6a624f2ca00184453decb73efbc1963b444f13f5f9bc4b4ac307abce79e71cc6e64b5357a0d1837dac62fca84b39e4a4a6c183350969226789f057eba381c60eb63a15d2f4b352bd4396031a3a5836844f69326ea6da701d68e460bf2083682ea1e380060e16a1c3041d3786ca704a6407346eb0a9a8b6a674c79e1176070a0d1b2ca2cfcf2f524ca6d144a3069b261de35f69e725fd68b0a71d8de61f52feff0e8d19ec612c4f5cd2e937689e860cb6916a2ae4539e1a4b27167b12e92b5ec82779b787c5bab596ec6c931216e3afd8b2bb93501ff2635041aed824aee78ea9b2566c31c42f49be70a6528a15ebad5fa860b2d7639e57b1f99f047132e727455115cba69ac888315732dda4628bbc69b26ef3e94518157b055d55f2298a6e949ca26849e88924226f8a2dc920f7d22fc3485c4bb1cdc97449c354fe3a448ab5cf67e2499b09b12ca3d83e9ed6c4b820832953149b5e5e8fb0d22bd339a1d8ce2286a0439e55081728f6dc9b6133e8142972f2894daeae5a8a69cfc3339e5883ac8d362a94cee7b8134bb0f01563f098275fe2c462612fa59f94c30c99a7aab6a83c08393b314f12b1c396c94724e9b3304ad61f7558e4df8cd4899e63e7ed830e8b50132947591895823e874579f77e90352a72e47cc861b14bf952667f1cb66817621c951d5350972db4d80066e0030e4bd2cb1162380fe962f3864504bd9beecf2a3da7b861d127ba93da1472d238dbb0e8cf4e15b371b52163c36622962f96540c2f2e061f6bd87b54278f0839bd197483d4d11c7ca861df60a1273b48514283e386bba08b30f4230d8b5f907361fe43cc49aac03160c3860a3c870d1b1f685845e81a1d6aba33ec394c8acf913b8558ce8719d664f982eafd501b63b20ccb4a52157d9ff45e4c21c312836efab4f80b7272c6b02821fd378e4a971b4131eca94a755271f76666fb08c36275ba477fe6f5b9dc0718f68c9172251db72facea21cea8a0e4c8a0ec0f2f6c297fc4d04182e820d6471796159314bf7e41470ae330d5821c62dc5d55171f5c58c2e459dfeb0bd3cc7d6c619978ea6bd732c8ccf0430bcb7c981e3d7173c9bd6ea4c0c3307518f091852df67d052537a58d8501c618627818763eb0b078fec47ca9a32bac1f45eb2e8ea820356e85cd3b5a529ab273fa109b3f7c5461cf7c3256f473c673a31418577df8a0c23239afa96d3c4fe2291f5358467e3cbd15e56ff32f85452d8a5618fd34963a1f51584c663d2d3dc40d5d41611bd5ab20848a26693d5d6c61a3dd860dcf81390621d6898f276c2a5488fef9cc32fda58132870f272c2adce84942c5df24bdf6308e55e1a3096b87999cf6c43b9458366c1434c30713b6389e837d34af49b92af3b1846d92c9cd31c7ded4f91bed26e01be68c12d648aaec73836a8b8f24ac797f4da96069c20712960b095b2a752e4c853e8eb0c6ec0dbf1d5156938dc3d431c2a293bcd05def10429a1f45c0c449cc697cec0f22ec17d55459e4b1281a34068e2d3e86b05606cd21e5105623ff21845533c348105ffb13d48f20aca6bf42f6c7d2d83c03614971f323c7853e7eb06f9686959ccf870fd6a0e952666b539e14ffe8c116a7a3787c88a4ab431eac1543d6c46041fa79b6833d76529dc277489744ad834d7e4608417f10eb8b79e023074bd4300d9284d80a8ba33132b0850f1cac97ac4784641e2e36fd428c1b2ce8e2eb7254a058d0c59f0e3e6eb0a4f459a3eae929f2f5618335af67aa98c2a2dfcff91f35d8635395c520723516e21f3458eb4b247fec4b7dcc6099bb1c5359f2870c3655f5be941f95a53eb1583ec4c98a2443eab859083c60b1dd4c52519b9f29e4f48a354cfe54b5fe5cb18758a1c467689a76a4156b677c52396f28e1c18a3d4e5ecca472928979f158c516ea4946ce1355ec97636c2cc96ceaf152b167aed113440c79229d623ca08ae0818a553ba3e9684df22e21094eb177e57cce58710f536ca69396075316533a95526c95641cf3199d145b2521c26c8ce19d3bed058bd105baf62201250e1ea35863d239e82c39896711c5b7fa9f7498a48462516172e45308cfa149506c7f93ca62cfaec6913fb1fdf508cba372e88a9b27f6cb1873e6d38690f374629bf1b4fa499a9c58838cd1412fcf69f2cb26f60d35a13751275d8835b1a58fe55c524432f15826d69ceef204114ac56c6f840726f6efcc39d37e8e1d1be7d80408c1e3126bc6d49c3ba54b25a325d6abf097734789a1216231780116285689d5b26f2d3f4a89add3430c2f194e523a897dc44356940926ba2289c5438e49fe8624c5b78ec49242c98af87fa22a2248ac97e29d61b12249ea1eb16c097d417f720ed991020305635c063c1cb1cda7283b27923487492396f017d22a64384cb5c18311eb6e4a92d237c5f77f16b1c851d91daf8a98f6332e4e116b445366e274c7ec9a045d7c214617284705c4e802d9b0114618607c71c955709988759448bba2fb547e87e03025461788011e8858d4a38ce81d25428f43ece199d53bb331c4a6e96a2e87d9927179181e85d8d4e68cb849cca76ff80b31ccb6e041887d3dc814c929c51db33d06b1286115394f45dd05b15c6ac58fb835216c924720969c44f4aa444b21cd881e80d8666e74aa4f1d4922f3f8c35a5532793baaada450c1c30f5be7657fafc790e12c0adc288f3eac114fa8b057a5e1ffc487256549484246bd876d44480a1fa379e861b90852938e8ee5614baf78a3fbf4ccc7050feba9d0ac9467d7540cefb05e0c515b29c7d8619994fb34ed4832b3701dd6b9da1dcfd9e8f0a8578c7eba4473d8f364901fc3fceec4f9081e725844753293999b52b28c471cb6102d9398d3c81f2546bce00187455cca896d52ba6fbe31c0b8f1458b310603c248526ff078c31eee22d9e49829d2836ed8c484b8d017c75285f3468e2f8819188c821381471b3611f10a29b54c57887b51011b78b0a14f616d3bb686c5af3a82be8979e467356c9be1b282be11c99d4ac3be392d9d882182d49fd1111e685892eecc8f3539c651413bc32244f84817c39d4eff0d13b0e740581e66d83a7de785246553a90818ec380ef128c37276c13a27cda7e4917c801e19b6edfe5c9f92d03039620a041e63d8aacb4b94ce4821d6460c8b9a28f16e33a888983dc2b006f1ed9c66cd8310790f302cf9c782a85241b646361e5fd8e322a798cb90b1b37b614b274ce78c12eac236aab98227b5eb495304787061d13411db31aa6a97dac21e829074fd3b6a618de3d14b6d2c3db2b04fdc1c114166acfa1e0b5b6c458acf14339e030cf4c28b0798ad80735c61937944ba0cb25250ad3d07729143021e56d844909884d055c1d3e52dc82186172b86179c78037614f0a8c272aaa268a98addbf99f2000f2a6cdd2547ca083132fcc4270003056ec80b3ca6b0c6a7adf8fc20b95224035a6c7194021fb8d1000f29ec4972daf8954a5eb42d061e51583667949854fb43372bf080c2baf67912d347835dcc3d61f9a49e8289122a6a16b92b783861f9bcb1343369564848bb172ba8804713160dd9b369e267a327f517142095000f26ecd142c58c3722664fc78b2fc4b8f2fe8202783c96b02833cb8fa572ab613c017b614c051e4a58d4dfa74c6b2ae59cc249d862f831cd50b2e3f56a020f246c328ed2b9668448d398c711d6b8cd51fbd726073b7124f630c21ee26a979eb2d190e438f028c2bab79bca247ede4f490f22acdb39367f8498523f6bf762055fdc68fee20439018f212c796c6d2f66a85df96f8031c60d137cf1c509ce05b4d8420b0968c18504b4500f21ec3986568e0ea6a25709bd6080954710b62e29b7a23a75bb845b787f41013d800710f6543983b2ab051e011c61b003b6305900e083c70f963b931def92f2b2f21d60baf0f0c1169b26e5bca792aff42e72708104f0e8c17e5925939a87384c950a78f0608f3176cae0b1f2e67226b085160c88800216d0821c5fa0bed1821c5fa0c051403c76b0e94bbbda93e0a71383c53881870ed6f43ebd91d3dce0391ca6cabbc8c10509bc20e69183ad44af4a56c6f4786a0f1cac77fa3be194acb394c70dd695df916322b44a7282e06183d563f6838f4abb14771b36b0e05183adfc64bcaa2bd664aa68b0df9d89087f1b223fe80b8f19ac1f9ab1364fc3844edef090c19a36cf567eec5ccf50163a62b1ff892ab9ba554a47ba03164b124a5a08a39d4f4ef38a3da8f510af4be811a2eb70c5a6494ec8af205362a45ab17708e1cbbf3aef6ad5c18a7d430eb131315f55473b56b1c9bd34db3b31099f10556c16db13e42f3a52b1c6a8f9a9775a13a284c314aa0c3a50b15cee9c9d31446752ed148bb8bf90f12a367cce6084718373f8f1e2016819e830c5a6e4564f8ef841985c3a4ab1a59fbc41d676530c4aa4d8d2b447c69d378a757da4081d358b629f0de3513fe842b1faa5d2cc48fa2295a603147baebd5cfb9bbbd2eff8c49637a8dc8e39425056777862ffad8c20ff3304035a6ca105b980161690801637b23a3ab1e49b7435a36cc26c87134b0c5d9642d81032296d13db88b852a9b3a4c0171d9ad87cff83aaa43245899d892d7b67af94d494f7570726d612214343e9124adec0755c62fb1dbd0c7542d879da6189453693ca243a17c615775422bd22d76e3e3d4a2c5e72aec612393c0cc7806f218b35ac2272ce3319bf8aa81a16cd2933218a2a3d653142166958d4622791a45cfe599f051a361dd673d3aadeccef67d8449ef823739849a54b66d8948929a5e1639277a40c9bd818fc4aa659d1380b32ac5b753d7b21cd620c08ad90527f748ca1411662d8a4d99646536aeec2cf39c460c16ab185165b68b1c56ac0868d32641186bd930c91a0ff9e411660d8c483d8510dca62d43819b2f8c226a29e5e114b4a0479e2c2bcb065ec99d8a550aa2eecf1b722c67cde040a1eb2e0c2f641c627bd39d6644c4f0e596c618d29474991fc62a35c58c08518a985d5d25528934fa573de4e01228b2c2c5ea77f4f4f67c3860d1b366c9485410a0b5bce92173fa4ff246e471f6471853d85eed251827d3a5db2c2a7cfe4c40e8dfd208b2a2c6bf1bb49650a23c37779c8820aab09db349f3e3585cd64eceefdf01b959f1eb290c21e2dc74d41e83a2b932f0a6c97c83469dd4161539324fa5264f0982e7dc222f1448a3b134292dc19276c96672c5cc42064f5a5097b7c85143ced87d1b399b099c89d2b6366fa2a6d96b055faa5cc3826e465aa8475430a494de9ebf10ccd904512965823f1e4c752ec922361d518cf37dc071183dadc19b238c21e37d24b67bf6a44e48cb06de7f8df1f4d6248b808ab6adcc67779eaf8900511b61d15f9b6532ed529ad4364318445c3e532cb9e98236e6688c84208cb88fc54d12359f048d1218b20ec6145c9e4a3c2a85316202c17352fc706b90e59fc60cdb51039d20849bd11c3862c7cb057f2744a776d8599480fb60f22f47550a53664c18345cd9e4e31f39dc58f19638c1dec19828890124fdcc96f0d59e86093e15d61530c9e56619f1ab2c8c1a621a8549ec4c6fdbd300b1c2c3a24ef8f1bb2b8c126eaa4861c528831d1f2862c6cb0c94d0a42af8cef988e09441635d893e8a04f2dc40f139120b2a0c12a69834839c76076bd991db298c15a22c40f7a33e75689ef90850cb6cbb5388d8b55ffc9bb438d582c1e52ae9c4e8770a8018b25a7e7a0ea42f39a0aca3fd478c51e26839a3a0db1c971e38a6523499b357d3f6621add8b482e8450b61c55e42894aa7babac248310a3556b1fcde762c1d22e5c4d3d450c5d61b31e5cfc27a4cf1542c22878a54faf3c5129e1aa8d8343ee9745932a6bc2a3aa1c629360ff797523a994fd76e8aad3c8d8e5339abf4924ab195be3051b1f9feadc81c6a9062fdc9bb9ff6e2ee6f6e145b5a0d3ae634493ad410c57e315163ca617f990ac526e3a5eefa86a69e12d32b66a34f6cbe7d4a24155b7a62afd0f44e4a09b1934f9d58934ab24acf3a4e2c226e08624b721435f126168bd61dcfeb378787686289e93717f6d2995852d548fe933326d668374a7d50f183ec9758634e1bec63c5126b4e3631289d444872f74aecb73e3198bc09979ea2c45a9b2cd42f8904f1d424b691d1bfe27e2389f573be5461b4cac75422b1cf995712f310236506893d3588aa19213e62f90e1172d928096241476c722d2c08edee523f36620d226e8a2274a9a95d48a8c188ad83b2ad51191654e4456c41e55bf948a2e7c22f8ad84312db93fc2288dd512256dff519f593d3659211b166b0bd949a7a6a42ce21d6ce8a342251e26cc81962bfd320e469489df8692ea146213609973478be1c72d34888cd83cc0b13c4f9e6940c628922eff4d2c938538d202c1f33bbbc6320d61c1a4e662b9e8058a4e7288969d6d2e9fd87ad72ad478e26315d55d00a35fcb079929d309b9923d4a64c1f96a8bd252668860f9bfedc99a895bba2296960a8b187354de44a772ae7dbab8e0935f4b04dfc3271f124840d913cac12f4d624e5a92484060f5bb290174fe6d031428d3becf927de099d8b965267874528a1f6c9ec4462c8e3116ad461ed18820ee191446f643aac31a7921473f9d253288350630e9bfabc9642c8a0219c06841a72d872b44c218c4ebf21f429841a71284732493b6b2915c061afb31c725fe49860fd106abc61dbba5db1ad4c7ba774c3aa499f082106dd2973528d3614a24dfcb4e43d1b568d1e3d54fad6b0c7a4b359df398cf62d891a6ad8becc5279980b9ef47ca32251230d9b8c5fb7c9d48e0e1e3130a8818665928d9aacec1c21849c614de321ed8a08951b1d33ec153e346763484a9fe90051a30cfbe6ccb2cc5be54153ce0d6a906119913449fb20ad72aac7b097678c104e98be2093a050430c5b9a1c6593e85162221c867de73c65b23521c462c0b0f7edfa7e4a106552fec2a22ec763d261aec48f5ed856c2251d3bdd8545fc8afa4f377261d12792cc3984ed60f716d6bab0a63a46dfdd2059430d2d6cc93c92521352d80e7916f6ad243eb7c24ffc0cc2c2b21b7ba7e22b323ebbc2b63945a8f2ba1c9e92f850c30a9bf4c8273e8afcdf115661bddc9b3c99d05f0b2b15f6583a68ee2f7561d64f61493236d86fa4191d472cd490c2fabf5f7952da7d762e0a4b5afd18d4e6bca2a90da2061496243c460e1d7a84e44ae7f8223906fa50e3097bd878ba25a665eab50c6a3861917a4a5e4e0f993f930e51a309eb269916737163c2de29c5cd95542813494fb25063098b4c2f4d32958d4c2ada841a4ad833794e519bba365e9684f5fbfa7c626c2c21222e6a206149fd9592dc06f938fa27d438c216453d9cd227442ae9610006b2a0a08611d6cce927a918940e72fd4a428d222c316c5a7d58f5d3ffb161438c30ba3881126a1061897947788a1b2353feb4d8a26e14276a0c61ddcd2185ade9be2445425866c7e458a4184ae55210f60db93f226ac4f0cfa901844d4d4e4a8ff88d10c25640188cc302357e509e902347400d1f2c29c4e278253d6af11eac49e79b1857177f53d2615cdda836d4e0c1f2f3355ebaf2d3a46407fb85a4a5a582c83bc2d6c1227c438f521fcec19684e839992163e89cc3c1669b61622e832e914319a8428d1bac1364c9a02624cfa6181bec67e95155c35ec8936bd460f5ab0f2534458e77e11a34d8827a58e8ae4c6a6a69c10cd6f014f4e55eea061dd3620b1b3564b0c513d54c263f48112762e9101ecd63a560b1053191c12f495eb1c5abd0bc983e84d17f187bf870c55629f426b94e39a4575ab1972821425221a2c2ef366ca430ba4081b162d3bf39ef2ca4a08207ad6213722f94c61c455d90ab621d9df7820e293ac7335a6cf1848f542c31946d8c7bd997461f7ca06213a5c32e83aa761221a758c64fe7a6d069536cf1a4a5d14d669b4a5c8a6d34ac99fcd1f28829a45846cae53462f489d57114eb8868236b3d298a4d367398a4847986da5a7021012d4c28169d1453355d5a9994b33af0018a35b6529a34b94f2cda21cd57124be162e589b57fd4f99ea79ce3973ab167fd766c558e357a62840f4e6c299e923a2f2f0de9fbd8c476b2a277a7b13e34b1e9122a4c746a89c9632616ddbd88e391748ab37f6062ff0cd1640af1e45599173e2eb19ca5f5f0e4a9217d2a03366c241b3e2cb17e18259b41dd89a751259609963436eb4ec939a5f04189cdbbab3e630c8d29c94c622dcf1f1dbdeb4312eb9738dd12a11b532c7d44623f8d30d1726c5012479058eb52d049a9effce9fb23d65d5915a9f1673b7c8c7e3862495967226fd5d3838f46ac21c531dd68a9625f7d30625369fcd646f95699e763117b8990bf548e75c102a7c18722f68b13ff945a6746ca246253caf7b2647af6450d11abc70a2908eb4bd55239875837c6342e44f56188ed4a8795a8b729e9eda3105b1031938809899ef38510db9ccf450e9b1d527d83587344d114367f513e61b01837488e0f41ac224c850b22afac882c109ba834422fffe803106bf9dc04b152cbfa1987a92fda860d1b366cd8a8c01e3efeb0c84941f4b62b461a151ca6d48b0f3fac317af3068f76ba3743c17df4c11fd129477712f2612b2bcda069d92374f8630f9b5ebd3add8bb1ca3e2eceaa8c1e36dd9cfd29fe6e2798384cdd4067818f3c2ca2534a35a1e9c405f9071eb6d8189a0a8ef3a87432c59240180c8482a1200a02000e701f03130800182c200e88c3d1883c56b80f148004472e28503a34182a1c181c1c9083e25030100c86826140481c060702e17018c9b12cd89a1dfa03d8b7de4e1ab5832ed3f223ddcf82620e6f78b84f117cafaaed1bd58c766e06c81ee0028e4364cf40c6512d04a13c054200b2146a1844462a17dd380162a31ef20ed196ef9f4e1d06d17d68186daa7368d4e8876e46ec3db7e62763ec24981bf654045b8c2af1675523edf40fc086b634fa8b8a3ab15372e4fcbf415f4ae760644be4578dbe3b2cc3678144909506c060f9940bd5d07a91a17ea0b06745b4af52f404d024f3f94ce2b81671faae40ad87d06327ce9696f1d0d3cc9f03e69b64309405515f20eeca1c6bd6a9b1b5ed10082e425de2e95e73c6b5165ae92d56b5be3e4e3463f137b11057fb37ba3cb32e916d3d9685d1a3a6362521e3f3a50910a792400bcc38946eec14e4ecce6d72669a20a26bd0b5c05079cf19b754dc8fb841d3cb05622bf50c209a385c83a7a39018e2f77d84e8baebf8c3a71caa694a87f5fe574d47665bcbccb715404798be74fd63dd54d062a1a31bce1827e18791e72d128ad8d1cc3a648044aba1d0e06fbda2bcf335f74b961c1b6e10cb201878adf6703f67700cfc34e694e406174105901025dda1b4c20d00b2ee90245c3143ab3d25abcf5a02deb0614b71cb3c571c942e943cbf52d415e9924eed0b2d9e128a00b79054b8e49783b7cf40a00b40687ccacfde90e5e7208298205a80b68a4e4022ba24a4614e7e86d93fcabd8f0ad423d7003214e0cb82215c6e2eeefd54947f400ad7e807ff3c01bb0b5e67ab9a0d07720d7a040c44062271fc3defd57eb662201ccb49a2f69d530f04b35be43e5d46f08210e21c0cbc114b45a3433c561bfd419c78b982126f4b91111ce47dcbfad3374312b9768f0140f3262a271136dc52f5efcebb7ae1d110b912e745acb784f3fea08e626ccd9603eda692ce829a742d6e3024abd9ad3d33896bf44378c5b25b7e9bf28927049314651a2d7bfa0d17be1f79f7184006d71c560b036e1bb9f222c2277368083384ef3d1a14dff8d1d525f7cc72189588dca42607cf66880bbef35bf90e4b98956adce46e5b1efc36ce4dc91ea31bc649cc8d7d238d82dfb80f07efc08c4832d0a6aec487b3d2368198f067306fc5dc7fde91c7e780ea37e11921d0b03ee28fe500fcbf0a8243ea623a9cf47930a5a77ae3e0ac57e1000ca14991e2732859547b5724c237c6ab125d0acdfc6e2ab69113fd27b37d7ec1067f6e6eb17c49e629013b26c1a9c47d8666b53afaefb868f3a5e160525ee7199121dea0522549363798a611084b954d242c84a9611a384bd990135d13098e6de7c12b00489383950d4bf28242d46060fd1a92acd5075e62754d7954e4a8929a8aa29a3708dedb14d5f5eb327e16a9d83cd1091949b4ba1c804583507171be8df1faed1d76b19f3277692391a3c6c850b8efb64702bd79034d4591225153195d91003bddff36e3262049ea3c95aec2cb63120a5bffd114ac71fe7c7192442b40d77142e8b489c8152f7bf1efa7dcd7e94d998e2ca6a5aa00d631acbe54310a4aea794674d352884937bc0a7c007f99ceeda46a4d619ef44ad7f602700544fa4f211e1c9c706ccbe56f3f6b06bf6efd02c336164b748c9b14eecfa66e4186bc48aa2ab0d3121a9922c0bde3da8679828125eaadc9154b51bb9849b3e98b7de437e7b8d669acd50d66c12fe1522c879e6af52f07f25019444068af17dfcf60f9be355e7ea812f673e3a683ced90e1d2e5f0d6d14c8eada1226a539e80d240aafe0ebd1703a21bad35fc450d392dab2dfe7e56638185fb4f6b56d8f795fd887ed65cad983eb9bcfdcbc6b75a4b55bccbc7b5f756ec3b2c200f7a5a9dd45124c6fbd4fd7148236f50cfe37e4191f84f6b8995dfd19ca49c61aff88490ad618e02aceddb14330880fb9dc34964a2ea912a673e36972e70fcdf15235a2fe2950f289425d8302ce47e1b0f58a2418eefb8e4272aa58c54559abc71ac6d612a768c69f5b733dce85666ff8261fd2f575523c5a43aa4049ab80bbbd48fc6c54e9fa99c5b231c5184af7ab2ea81d925c6a8d560fb31de1ef5bd0fbd22f9923965a90656e8308166acc3ea8e35b74f3d22be58dbc2b239310e96095222c32dec1bc33019c751c03cb37a1499edf8ade7fe58f7da36015df76f214062330d58cdf8092e73d27f78ef00991b04da002488cefb5fa4290a8f1cd10059894f74c79c6105fb08a8c56a05dcdcaadc4ba308c6d8d680640c5aee2bd8ae98fe1241fceddab2a51dca18cc81b9555e9bc28722336e3cecda6505bfc6f4e73015745caf1b084a3241495a6c02a8c6953e1ca030aed7817f93475ecc8235b133f774b009198cd979d022e69dd5c3049098c1cf44ea5931ac8e46ee27b0aa9a7f4729627266f73a49fc92c4088d5946a9837ca4e0d1d97674a5f151a7b69f6dd495f42f2224b101db959aaee7c030c785b767e22cc4d3ce61973f63bf8e6d67e6fd4aaf08f556db0190247c3b3e94bdc8ac6411f80083b4332da434a9a842177c054801998f210ff5b4c303ed9d16f68e1bb079803aaa08ef3a5720f86d9ccea0dc4d1e21b412487cc46254e59fa116c427eeb8d2b914f04c617b43452b541131ec3f5fee5896a25a256febe2f48e21f2c3d05f20e23e7fd97d020d6caa11f9b21bd83a8949af0c6f80edc02fa8f8fa033f85406356c787fe5ecc1d521fe3a688c042ba5bc41cecb56063876446c8d32180b048f2b4435ab16847973848c9ab2d921ba2702b91988819e067987d1eb07d8d8d6dc8d3f9dad00727577b0b58e79101eb1652567c3f63d5379c2985a2f8de0fe8414bf7145d7595645fd8fd84f6a76b95227d21eb6a318f7e769b41537f4dadd1d7229fb043880d2fd031edc0cabf1db5e8719d24129657e94f112c8278aa0bf47d49571aa4c829cfa0280a9e12d050b97c986a1488cd13cb8fc9e01f0502d42c9d7da1998c5582af7046efea741309195d545aca85c2eec4a87eaf3742e11e3983db20f5a3aa3aaf9fb49b59ac3b1312f5dd173f42e80af30522709be95011d46dddd59e3bb34dfa56ea2ba506d0c14c7ec948ba8569083d0a343b0b7f9147c28ff0cf738c60022d67288dae33ee09edcdd882eb996b06ccf1c12b6eb49d75e80c15d8ba80dad9aeef17ed067608df38ec6dc402b47c236cad1fa604e1e518d207cfaeb65bbdf7f44e371a7821bd1abd7e9ce10e6cddceca109704583af955bfd48062ded86ec484305918d5a9bbebd5d4dd1c5300644830c4b8657fc496eb79063cc569867dbbe4289282c663885b8418c30f661084b17193271d346cb68c5aa078203e4f5603ce462b06064d2a19db71a6462288609f08d0605b699f15733bf621283eb0d08b00ba332f216cb0da15d0dc6637d5a1e17f9229107da5a51aeefda786f35fb9f1233cc6e6cf9e2cd5830f93a44e8846367d3a384f506927abf743a7b5745e2c6757ed388e4cbe2ddf4f6479ff5441435ab1efa84b11697d43f9197e192e1a401f7b44276fa6d87aab808d73fddb99b70740d812029a8400311689614d7a48fecbcc24d1c62dec2e750c039b52094272872bbbffc4c9e3e3bea7334ae21858daa5cba5aec74f0adb07d3a073b794902d2de82e1571f892b1f5a95c660be7b8797eefd6d0bc64ea897289eb2fe42e1c74ace547aa9c200467b546fc042e8a7d0b519330f3c918807a3e983a6d3bf17d8896140d213f8cf65dcfafb07223679409369eb70001199912e2d1fe3fca29bcdbb483dd0dc8f1affb2877b0172e56d47b182b2d7f3a3552e8230230e6aecbe4167478b2a0bb46efb84329476cadc849d035fda65ba21ba0ae00bafdff0e66448e23b11cd149bfe941d93fef2799705eb0bcecad915fd094afbc8a52f64e63043fbee3078162080147ff8dca4fd2f7797665e9b2091212df0e85028bbcccc65d2dda6dc3b808d450bb7eaa8c45557422c3f2a06c014afb8c11bbc52d409e929660def14e5a426286a4081331a98314d02e8478b8c3c1dbb0bbf1f2485d6c7ccd13504aeb15809c7eefd5cf05f4bb2be5600fbddca067bfadb079644ffa7047bc7c98940a835985ca91a71b9d98610328021b72f3094b4e2424756d0a75bf0915703e641c746ba63f44baef31d2be67275945badfbc1d4f481b27ea59e4ee05d638d53bd5f241a18dcbc45aea9d0fe77232f2b4c7efc9cbf2a9e442442510f6f34d0b29101c0b1a8b4c69b3a57f381839ca7567aa7e1013e27d3d233148690e35c92809a4ef6de1d7d7ebad67c45dc8b840ab50d8db336a4432eb2e55053541917a2c4bb0e01aca7965e2bc262803e267a0859ff62d70a050c0a118cb074b24401b4d584faf996107093d0f0cd7aea009d296ca3baec15dae7b0065b134daf8116760d458f82c04e12fc898f61f70a4aca529c4b529add475ea58a336dcf24c3ea1c04bfe9967ea2924a5af249119b11644d9edf40b31c04a53413aba5529cbdbddb79a5482a38840aeaaaa7b185686985b17dedaefd46196ce2de416619393d90a8ea5203b0994793c4f1587f71d0a2b6abc65cd94e9ae3c5bf9627c365d4fa51f00020c2d01642133fc4141f732135ec2aca597b45e625ffa7712122da2a7c93cb489abf862d6958d14d1551bc228b9b04d1a7f216a8bd75a055f99c1ef27ba0bd0e3d2cba510151a918ed15e50cb766cfecfcb33c8672716248b7d6ce8ebde1e22f62e2ea49403ecb869aeb73c3da3bf8d278706ee8a690b0479b0d98f2fecd6ff1a4a4b292e66debe6dac2839a179df3e10156f45aad7f8ea4a63a01c8fadd13c15a107ea41e2ffa1c3c1cbc59d5d672aaffc403a173a31b44d91d43d3986e04388e92564b480fa8a4f8404a6e328964954d96019b21e13147e431346fcbdbd552f262be31dbc946cb1b85d07535c2dd8e84ec8882c8b4a871b018cbdc01626c3f346ed0ffca8414288555ac56a8e6b9cf2190bf7a09344194296d776b82176717b705d78b5fddaa1f9a3bf2185505d0a5e8adae5a78fec05b66a819d0483bf1e4487447ff2949fa799279410dd7cb5960ee25438aba8c3e2a50d9103057bd15304c6ce91027f15e8721ee1d6c76c027df0517f8a2b1a0e7f0d8a9fe990be1823573f212be33a17550034b9eca42094cf4e285558314eaeed82a2c23e93f164d11e316b94f5a13d00ae08aa9808270bafca5592077b06d0c6e375288d40a06659a43cca52c58e26cd9d3aa3cc7e39807cf6aaa799ad7fb13626ea2014209d9b8306d678835e20857cd2fb535b08d1a53747acfd420c218e45516a6729ee10bdf09a6621e44d5405b9a163cf4ea22210e7ddd4d2c13a9e093733b0dbb934482232a92b48d198e237a570c4af15a902c0d59f6dba4d862339fee452442cdd6f0cb2b1700822cef8a921c717ba6002f4939dfdb9218e8490ebf08be875bdf51157ca972c5989d0a6f22c69cca0b6178467edeb4ec9b4b5b885617adf42e918b1f81b9a15a26eeb5644d5881bfe804428e3c80891f6e884882a974c3073a66e70e3d2be37d289c97687b9a0274aa41fb2e60725d565211bd7d3b1bb877bf410d64f2a5db0f3ccad1c5842070f74e83aaa3fcd62910cdf3d71b5dcac9bf2088ed8a288463404f52f15106827c0f0e3e0a8b1fa16593ea3fbb8663abeee5600dae5bbb90797c1f4f077d1f3f0132224adce2694ec74fdbe1ed881926583af5da6c1d2ee8546d8812b502a07ca277f49d6979baa35d74d5b8b9a134e3cad233f4610b68d1d88767751431b8b396f49bb21632a662692a73ef95799d75dde0d5e6ef2611a3a4801987158134d6658ef5eb7e9d1f4801ba7aedce324a143470e2890c8b569ae5b522441869a0078d8d2d3c84c0c02da4285ef96e8f2b6bf60fe1e05194a1e372cc95937aea7874f125a5d0b993dead8ef46fc0b7b16323f962d0fe64238510b5a1354a9967295505809faa8ab6184b4390d73a7f4d720be9e7006670087287be780c32f2f6cc01ab5b19c12b2f984bc9b8cf9cb97f25a459d37514093b020f917361842670f6b90c38415e758ae3f0d3a8f9e5794d9e9c3eb38a9b61f7b5d19400f818011f7f57b5ed6051442ad5cd358ffcc7842b51ca01448044077a4caa9a53f3903b8547108f1e0a24dd3f69848edbe9cb2c1ee78aa5b4e55cd5582c704b3ae90f8b97fb80f9bc42f5673f80a0c36659ba71903a4b23926a9c23a43239847b76ed15947d1b6e354a0db53339c1d26e758caf9cb07dcc81dd677c84b0830bb2f0c201c18eb99fd776d1ecdec747de76d69ae7d1a080ce88ddedefc22db41dc260ccd47f0c1f9aa69641b6116f7d1b3ed140ad56ff9384906081f78ae296fe542a0d7b581e05cd24f46da273900a68117eb3bde1cf4e210e6a5d1c20b59a25ed20b58bb6a550c1e452dac55121f59c3c60fd164442834d716bfa8dcedad64089d67189f322ea8750df1802918e7a54c0dedeb4d0a9f0a0c60638f5f5da299dd9a4c090f7560a40957426812333efe8863f24323a3afbde2f1814596f439c495130d6999e77b34dc8d096f1ab3a99e79e551eebe2fbbcbc190f6e2657ae2e587e473a5b14844fba18ecc8b206423e7239129b04807679c5a87db817cb37bf283dcadf5a638a30395ad7aabfa82aaee305b077c96edb377215833cb534b5b0778f83d8f43a161c1c86ff92105339549c900eefa41bd10a9981396987e3424f676ac28ecef5b87997d610e17f7756516184526aa9014ecd7b68ebbab5d6dfaee182e403e88696008e696c15de42754d4ad0f0d2186fa7718b98faab2bbd4bc1baabaa3d8f51a4e7179d4213b44a13d9a8e607c150166f8c0f1065697180e298db4d6d8a28ddacb3808822d31b2c81a06bc60ee8e8406ef24197b10f1027f0ebf2efef087c875f739d78ac3c2c894504a80cfb23530a94d6df6e46857d33f6109c71586ec4a90d1a83b5ee510f5c7854105bbda21e796cffd80c9ec5f92af0e20eaaa5e8e7e0daac2ec9e9361c7acfa722a62a771ebda691d241363296b1c5f0282e4a3882ca63b5e1be789e5edcb54bb114624662a1a516870dfd83f42c9af86849d4436b3a9b0e7e81ee28207cff36a61f4fedaf3f7d6d775e310924020daaaab3f88d659e41679d5e6471f4dd029dbe4f9b245f74f85b6c8ee8d2e389ae8e16ef33d73b1bbe8dc54cf522ec86554af3d336233b02660f3f89e9c85444a0910a8fe741a428dbd62bb7da7cfda08e78096503fc8fa1d6854769bc25742a6344f7cbb5327d8e688883579d343830e11774a9337088f9525fd9c9d3d3825fe1c1e6f321e14e278ad907ceb70d34bdaca27073d2f24e25fa2ab26c44a936edd48ce42c2d0e14f895d0ba81a18746c69b9d6c2f8290a6ce06a01d9d98d1affa6ecb8f08da492cbc5a5ddd0d419070093b93f4000eb115851a13442a0155aee3753e5c865f4c48002a6f65caf8ed18c924a2607fffb132b7536303602567a4723250abf9f71c3f5fe8c85bae498e29c36fb45396509e91df8954697b538679b096760d8e2aeb23509326c44a85ae802ad16358376ac1840f97d8aa0cd8d684e5475ad885add9371f90418b72eb461f9487e9b51c0c47ed844ce77491842b387a6c17148c18135cb42408af109c16641f0c13cae123f86f4aad9576a39a30ae0b00111d62aae67dfbca0cd3dff243ac00ce39514f9b5b80d4e5f17fd79aab906c850048236ecd81f62247cc324e8833ba68426fd9b2b0d8eb9f66414551d2377bd53d1afe677c5c92b86f05e019673eac169953fb24610e5b62912c06285dc54d0d835f51c9b91138b27cd79e886c090d11740e124b339e5d8e5b12163e5a04d0ff719382c199ce45949216a0c48ffdc068825b122371bf6b7bb2b7ec4da780c61c388abbe567e4c713127a10f92bc0e19464708fa1454916a4de5a73c8496f39d3724ef6064ff1303f0683506b846674423534f201e8e94627885ce8824cf4471cca7d3405404d56c0cd74d10326dcb0b5f9050857de89f1fecb3a6e6ecad9c2d06edef7c13ddc52a09e52790d280c61b876515f3f6d34fd5de7cce6f3f6858a49d62f94356281d0ee8f7b6d49ce3b0fb72eed5e7379afcbfd319182aafd5af441576a9d1adf49ea6986103441c2394dfd41a9a74330f7a9f82496f5ede0b3824db0a296d508310147cf3bef78b37320dbec9febf76d347de89c171c2df5dce496b0989c56c1fa10e366e7043e0ef15c41ae982ff4a70c4397a336b0e85ed52b3a22d00768939c749d3454d1a2253793a1b21cb2e91c09c9a205cf6b0b6508fdfd7d80fab184e12eef867fc3c9ddf8a422943815dd7012c96e63d51ad30bcd77e66203f1a88d998197cace8049a0f2d4cd6805af3411febaa12925c0a4e452c349e6191954e4c6943cad401251aacc04961b8d157e83806a0cec5da409623f72e2ae431c31145f13fc6a75eff421f8d93b5b6a5880ca1cb8a883a003bbec4f24eed1a70a6ce3bb8219e86a63ef42f2b02e1833c27b23481e905aa154dfd38500229ec343f0bef1e1becbdb558175ef0f9533d1562ec5de95271a884688b8f91ed512ca2d004e07df43dfb1a6701cbf04659da36b6231fa51dbe6a11e10e29b06ea2758c6fcb7068e5820f1023dadc3ea4cf8f232894e70d3301c46b9ff6876970ff7c416e5b35f04a90b33f5b893c77eeca01e00d35370a991107bbd9d71581f2f7fb96fb7eb94e141e3f580e1259eb14c6636867675b7cfb6e8702d58be291c2d0c9ee58c4ecfa62ffc04a758c48b683260c86610a6ea07360515846d3c9ba29bdb6bbaea053eff19de01e73cfd43e26327995033f4c145c6879aa438e2590810e4d6bac13d1a951aac64d653a7e0540838362e7baeec158aba9b94a2ca2edc206895a0e4e501c1f363799218a48d9101636f36648439b623a894070c837ebba534ba37695704319f30e2d24ef2ee4ae0c5c088932295c54472415af2d51420214ed8e7459ef371f0297648ec8273b8ddb1d543bc383d95371b27010c37bd6dda206641b6b9bac974b808e1bd79db588f3d61425f4b290a9c46e036080c77b93752d71a75d2d6f844cc69bdf6070c967853275918cd3c3b867dd9d1119e35265c583e29222a4b64afad3e5817d6e69bd91c1fe8ff849ff67b160f25b524677ae0b2ff09d03f008e7978c82774eeb8232842bbb1cdbdd6ec6cb9bc944ec312443e5c77986424fd29ad63033634c54f8febecba1ab3810a0ca0e1f0b85e3d14ffba80110ea139f1dc8c3f407ca4f0ffd6641dcb57d1572f55876e55f58d9449435e421bbc85f4d1c03da9f2ec119f9053f7a4b349a0794d054fbdce30e09c39f94859a204d1842300015cde1900b9d5ec76001eae5e5011b72ba5ed5efee80cb3db3f256e890744b82685dc188306881d001cda263a8b5f468dc6315a365d62eefbe6b8be0f008be2f24a8619927323e126d46776827c63540ba8024b6f89ffbed559d8a019e3c2985c85c621745c42b9e10832b38a0ba6b98878ce7f7d6b18e43277607f7c964241c45f5372913d2999bcaad6c2d7982da7b7ef0febbd4cfe0105e5cf6fcd9abc16696d6da28a1d866f012564d0103ed3623468932cf2dc2d30bb094369e365c745ea6ab3292c001b9243e3e37ae34487cd21a8d5e48a1ef1217229bc929d36e9c7d2dbac3cdec9c60fcc626c485e14717f133da2988746a10a1a92f2204229eaf589a4c58ca0c490fa08c7a6cc9e789ae14947fb23d01dd75772ad163f98134e86f3a11c1b120d1535de30e72749ca53508bb8498f29bbe0ade8e9dd36c84cf95f3930cbb888d6d82df306192a1542d1234d79262bbc8d3228ded2835b48e1830d63638f214ca4a3fc81498014b9d78959e46d2835e2ee6bdf352beda5d22215e13e5903e502372d829bed4f152cf44171c18b2c74c5412f23bcb2af014a803586bc46e89f3e03e4a8db11c3cc2e16dc2c664bba9dcd504903431a5bef419656b6af1c7251b2ab0cc0b66a1f350a35c785d72d8063f097d0334b9c8d2275be29ab5fad17add83b430a184840f6ff3d6a106b7d179a15645b993ad660de1acaeaf767aaa843cf76da234656483309b77f550d82c068867338e46118e01770f79deeb6f88d7b58ab616d481cbc9325452835cea6b07c4e7eee249777627c9df3c683fd64925947ea9523d44246cb563d143c7425b742b93223cac481eb0a06b734616181674cd93007954135d293279ad3f4f027b923c11c482746f876e96f42b321beb68bb45d1f191a4c623094512c7430fb2dd8ab7120ff67c350190fa3a27824de690341b9918e11f366e350b2e7464adc70ebd7c858aeb54308c1cbb673c3b8fd9cecf46c554ae5126deec0f18a62870c9ac413414a13846820d2cca697e3fef88aad281ecad61de6c2ade03affb9c53aa4f25cd063c00bc928cc90f47b56dd7f6452e68ada91c85592e05408ae1713400f15a0a188270c88f03252a33f87b14828843f4a1bd95102850aae7f56258a35a9193b901e183094b999e3a03764d441f96b73b4ddcee467864ea8f0b13c10bcd10c1a924d70ff35dd0d53e5d18562c451180c70a823faa8e784318b586712bf5abbc65e2bd25261ea9e184ce52d04d9c8f9e31cacf62435bb2d993b5a8002a5981c4579312f5cba280b7cb6daecca1aa12049ee45dde2f6351386fe1236b709f41e09f91ca1663cf4a78ef62f9759aefcdef0f5dd98d3e79427c309c41ef6e103d03282dfdf7063649c972472c3464bf9f58c6f30b33b180414be71db43fceb8c6a6caebfdb60893270783a00a13f5a1da566fb997ce93cea946c7a159b9190846c2b241642b9b687d03524566b53bcf2513ce3ede749975ba7e846a86a95299231cd94f84dae6795290c0cd41536c92f61bb9b011cd901d8f3632d4a7e715fc82e6c4b85201e6c3c8eae3258208a0e2996f7a578bf0ad079e5aa96cbe4f7cb1220c43e2db40af835ee3940be1392b346daeaeb6cbb2a181073c8544c8672cf0673a40ab1a1eb0355a693b95668aff25e55df3bbd3af1437dd58f936e358a5ac5e481110925348517ce37b7ffc10a6505afea31dd1b73ae8796d11c75317a5dd2c650131ed1b309d8006fada6bd99da07124adf0ff1f25d2dfe08f7c3f997997f62fc24bccf1a94fea13767854186ce487498d1818ece02129d0820449118c9e1682020b2c4d07d40697175aa5885145a875de6a739434140a866cdd7f9f9c2e9aed5827f919aa33124c67118c3b1289de3508c446124c791242762281dc9ea84341bd2e34a26580de4b23f8d64ec72a353317fe03a3b538dd8848f794415e706ec6dcbee10fa4f1fede1f014e16653811ba48aa6c4de020a53cb1ce99c889e48e8d400c0cfd7bccb14766f752227814ca80409014742bd1185ca4e0d362f0af8538d47ee557f0271b368d53951d933ecf734eaadde3aff07aa9b41246a742d99a1a5397b0df67345a48c454d06e02faa96e684b9b8d540b2dcbd82c7fe10a0cdd5b7002efb566a4280cbe2a72289599acbca26427314110d460ff4ea74b37bace349ae0c5336844a0302485b6b2eaaf97f5091981338155a663c20f3acec0bb4979d3d4ae601db91a3878447c286c023b4d9c42fb7ba87855d506939c54b55c874cd00b9976a23c69801b3194e8011aedf9f33e17d6f88d15f114e8121506aa8a729c65b25f11d88e6a5ffbc384957fdd6eb1aa87c85ddef359edc5e74897c06d44fc31bc643ac9536d805119aadfcafdea23ab5d5dd83e8bec3d91363d8cd69be7e1d86970039adc2fedf3ad823de39aeacad115e17233875490a5e56077a83a6a393f5d9868274b41403ed008b837c86d1e46abb07f606a64e777008c5136b222aa7900d3e1842677faa3401a6ed816c6fa89dd49703a2810df2dae7636e07e3a465102875cb50131a26e406e44480bb14ed1293c0ee1399396429d1b7316d06bc0c83720a15251955a77ac03819b234406ed85086ac49094619ebaf493d0cf60a171600c4bd79bd2492e68305126c140b62aaff928bf6bca733a991ebfd64a38ab797f1b0e843931fd5a7c4ece32ae6a1be2046a4453e25743427a61a67e3eb42edc733c043023c680a6f8744f8d3b5d69c4b017acfff2085632a07b6881052c8d75e24bcfb33641add8eac48439a9e2e52ecc47001060b8fb87aa5ce9d441e1e0f06f34502f58de24a63f13ea02b89db3378f1da598fb74041738e76d44c149745b40df0a3096cb7957ec6858440bd590ebc77cb5000cb573a084b4c5664c2edf5b51c31412360cf5675ab05e121f6815114e1c1c4946650b3b8cc51f73fbf5c0844c9286a86eb82d0038fa17699d9162f88133041ccd1eadea3376025bfe5f693104b26000a64ff4b4df5b1e8249c2c8af5a12e4114cc9509dc12860514e8838341a900a70144e8f70457ec864442445f1067800d6f0e8929079c508e499bf105f30ece01b014534eb28ed218ceda749aae185d7cc00bcd1326a3892c9f0d83a2de601e2ea48ec3e5a0d424ed5d45cb7e11df6743567d00eb87fb8bbb78f3a2836a9b0cfaf980e31c7aa157ca90ff32a87f4254e068510b8145cab2be6e2f9d5875352e9b473222eefbf5eb7d5528c8b4c0bf0d1a6896fa0ed881bed325c8cc22abd1d2cfee7806c801788cd258ec7c0f113925db23689110ad09430fd19756816f82e25cb539ea53f575f94497e9225b2aa40bea8d3e509b8c0bc4c77aab546f4bc238a98d2ff66c0273e0e30d85be450845c0caa4010adf5a99cdd4a89ad191c0aaa5b684b40d562ba06a7b56ff5b5993f920335d253cef18aaafad5740f3b2fd967140a610e0ed0f80b75987e8b14087a67986c27a26992fa4c068e4a96d1567a6f7f4a256186ad0025ad194de166b26453b63d9b8ce47abe76a95fbf073d2754241ee3bfb06f56ff113d25fd30a141c1c4052f8819663a7a54c6e1838ee1b0d46152d3c8b430669d5017b53a6c8e3e856dcf016cc3170195d516f0bc573e193ac536143e885c03c5ffae19ce24e5f163a70ef8ed21228e04a0cdc55f67114396642c17792c9300fcc3eccab9c7d0d4d50fc71a5c399660d83b0e375d7a427e150a78aaa7ff36325d3b6842b1b7f71ef536b99897f750cb1dceff6a85ecf56c49cfcf5e754ddd172127d929c6a5c7be396eefc72818fa3f90e8c61e64f2c95c4cb6f5d9763891718a97b69a43a593d0dac00e455891c4cdb4b65c88a71a1e8610b760c9fd3ba40740d6a675fb6c4d0d8bc364344dd5539a57588701d72f275abcb5d3a693cf41ede449d16d33e047127849790ef97b2077af0343c60bb6cd73ff5619c490ad6409fdee9e6921329752ec48a23e6d59333e716ae3ca43d413ad11253038837547dac1a1f1beb9e6367e8704353de160d878c7ab9fcd6034df0952e6b35bee8b48f1df37e4cd515e13c6ab9bc7f3ee07aa4dc01bc8f50cdf1e395fe3cf199b541f783e4111c59f4d25ef98135b5d925539f4eaef8d0d2da66d6eeed9ed61ba8d244ae23809f251f5bd7ba38e1ae83e131b9755fead2a54e943a8b9f1a91d0f6a9cc1bb4fa2733b182f3608b3e93df004d11b606cf8e9918f70a072888dec0fbf0f1b144b2294adb54ad30747d910a8c0832b0fad20759570c19b0ee86330a7a9df51f3168a184d8f50f4a84e5db6cab71b6da4684b99058b65b0699095a61d7875173583631171fcf26a9c2c62a0250093389f958b3a64bfcaebb5948ad7d2be123c9623513a3c34c38fdb1f4611a2d99125db963034eb469502c658f9ee4ab2e0e8404368e9223d5fc8e50440b89f00abca9b2018309931251fff6d09cc11d8ed2af327787851081c7e2eab5f0062c23caf9e1b6be983d9e3926bbf514d08fdf6781ec75813a17f3f01f441c55f671c64ef133e657ee763ef714bb0769dc2994f999e00016c524950dfb5775bb2ecf46586711a996008bde30403691726758ea918ee482337774ea4571d5fa22596579e09d7ce3357f0345204f2f99ad27497063ca0e25a08030f039b93ac4807007fb96b5b245a881a3cc553408b1fe812a639fd10ca61daa4f8faeed08dc3ed566b9e6330651d1541d5ab7402ccd70df26b61157819c1a53ee44571a5edd13265055002ccdca0cd9158fa5427d345f7f30069b44d7402313e14309565808f549870dbd54c908b08c00130204e6f21c83bd75400a100a712ce9c396d2832abee2847b5e8139cef2f4b970eab7e8f51e8af4ed4e86d7e1422935a9b7d33330f95880106bcd5bfac2df1504949e4a5bf739281ed5df3a12ad8854a9f89b940ff5265af8f5e3e2cc33ab14f1eb5cf2a4db62bbd472091a13095b710b7610f183aa1690ce6a8b43c1fbdf336dcf7d60423643222c9cf2b975b64a52a79c38b208adc6e20aa7d61087ef8da803995960b1c467da7b4808fcb90f81281b8f5dae95760430a41dd569830cede17f98b49497bec8413251489f5de3ef5fcd549cf92c5cc3320b7bd9e6dff77d0f0c7101e38cd70ea0921000dbb363e60aaa0d72085689e1e8da8c97f4612497d81ce443e3c567fac2337bea71b5648468a38a448b0a12c7485c8006949b315d9226c86b25e2a8ba0309ca956cd40358256120de980b0210bb75893ced32d0f32c62ffcb8c17e681eaff3bc3e6b5854c0709798670752744ef8c2809f261ba84ff485bc16162eb0587bc6d05080606b966da3a241610ffb62299b0bef3a81135e2a5eb657b90c00a2e91911fdc29d4caa889c5f3e5e6ce32c610466c261c3baf7c5e8fd546cd19e8d15dd2dbda62179d4261e10864ae8b02989bef7a0a7ead4ab828f38fd08111733ee65ef3279ed9855c58aa8b61594cad0af94447157a6a4112b5de731d23e05a1e2fbf26d9b1300dad40c228d9ec07bf12819994fd5a51316e7fde601531e5b70d1e31c698a8e4df9abf3224e53f9ce2ee38a3d6748ceba20227b81076f0059ac76c0375cecaa1f83b521adcb4d18b2073470a5135bb97c3b1fb8a268c367d4e922e9aef5c2c477ea586b6e24d731239df0ded35076f3cb95345faab3108826bcdfae29fdf4d8556282205013c70a7f250d0cfe5718749ef31414d64e34cc79860e393f2cd6e3cac8c49279722bf326f2fc277c0bb849756690b4cad794f38de2cf8c5d33bba2f5d0659cbeda27412ea18763302dd4f8989c4b71574555cecee1a3f66751346f76ef7a1a75b2589a60cf5b517e467c4b3d45c76cf15e23c607f3fc7df3a3fa014c2124522ceb8c16722e3eb688da9cb1517676e9c53c06efa505d0a627c2d2e85ec22d6a0f91080697311e703e7c619fcb9e200621480944ae8a0730787f466967aa28b1365ecb9a3c03b28f135ef25701c4c0a1da601aa877a6b3740b024e93c0c3c0c3c0c8ca5a141cec1fe6f6dd7366bfdd3da9729c94de846c33e597cc0be0ba44c322599927aa2e1588490bafb8f520163068f0685066c36ed91e982d4da5ebd083685cc827a8e7f9a4fcb8735c143119ce7a0ca954a97fa319d085e6412ada5f46688603b0ba153e7860ae1da21382dd793696f7b8ace31042b42ab932afae20b762178e5f7c95ccce297784808dec557f52d6632fadb1e83605f7e894e5a10ae3fad04c108bdbf0f1d758e4ba540709afc95301da51cadb380e0743e2d0ba263d21f7873f559f2f4593c07ffce0fac4eb62f978b8e27a5df07564be9e3628e59723107f181cd92e82c9e6a6b0fbcced299da83997a6055949d69dd2e962619b33c302e4557eb24b33577140fac7abfeb94497307c6b5923169079d84e88a6807deb4a4ff7b54dba59abb3a303a6bcb59be97f6af836674e073f67b6edffb6e0e9cd0a274254d8897ba1833393032e82dd7154ada66cb09e2c07b7e6f394a7dad45978503bb1dd3091d5f0721b559f224246d4bf078031fdea35c8929b5ea3a8a82871b58ed20cd5f14cd9a6642c1a30dacd09e41a67b7a2dbfce830d6c72e9ffb27a8e59b6740d7ceda86c35adf15003bf3a641ed3a72378a481bfcdd7ae4f8ed0c066d45a8a6799e935aa6760b54bd1c9f3867c7b511e66e0c5341eb4eceeb64d1e13d4b851a304356ed420418d1b35b8c68d1a23a8710339c1a30c9c66f2dfb311325c3a799081df3cad3ed7d78baffa1903a7294785704195695127067eddcba426973d37b9ecf008039bed657dae3cf4ebd6f20043dfba32cb183cbec0cb2faacf6075dbec548fc7bccff7e3483cbcc09bd09cf464e64819d52ef099f5a5c6a4e602aba226b36951538672d902ab5e7aa86f66d1d3755ae063965aa7460fff14a12c70a7958bfa5adcd51d7458e0ff475d2eada2d6a3de8c785c8131dd343a54e63777931578316739670fb949dff73bf0a80227eef25f5baad21a945450a5cedc0fc2630a7c90bd5a9b46576a432d05dee5334f265cb495ebb2824714381535b99a4d78749d81026beaa3e7bb287a02ef5a2b91394327f931f470022fe598a6e9d06a02e3ba73368d3229adf59272f060029fdfbc47a52e9d944edac16309dcad96b4241a6d2570eaee93dc60eaa3f62470b2345bfc747c7d274402ef4194ba3da13c97e9c1e07104f693f889e7679739c9089cf6dedee0415604eed6b7d4dbe8a4f4ea78108115db8d49c63acdff218f21b07274276da5ad193c84c067a616932b335ffcdd23087cd9ea973f85d41932f90bde35dbc5cca739bfa57cc1deb86b659a4ea690692f58175c958e1a6d9be5172fd870adfa596859a3d21f1abb605f6b29d5452dcb5fed6c0c3474c1e8a750eefd9f7ca34c2e783fb5dea292a71768e08255d1672ff7b5d6acee5bb0a2adc2d33b5c6f0e6310081ab660844e6d2bde657b2eaf056fe24954b74bd382fba422ec5693d78b5966c1c6cf23a372a1df44ba64c10b52b46b7fb98b0567fa3c08ad1b4da3fbb0603574b6183cfb8bfa8ec62bb893b73ac9243ab6aeea0af674dae7d5d6b582f13d752de30bde7a7556b02fbd6e32a183ab60ef7fb5bace5fa52e4b8c10922bd050056babdd1b4c7b96775f2a3821846ed6510b35be2754b0ca6e93d42634c6a0fb29f8a0ab4fa6971644a8d514acb99c5dc6d65295c64e29d8cdd15427132d52eca24ca5b5ac3c350ade4c869a54d5a664508b82d34aa82f0d1186823badf77bff9244968e103c50702f3fc82c7fcc5a7acdbe40e313bcbc97a58c59eba0367c4fb01f4cea9c658c63afd5096ecc933af931e504db929d8cdebf11686c828d52e9dfe7167eba514df05a94a1417fd0a919686482ddce61be59994799413430c1bfd84bfdaafe25f8ded3bfa6737cfdacb4049b32bf73145a1e53ae54093e6b46ed39e74bcf4a4e83129c88b6cf5abef1523692fc8d1a356ed4a811860ace26684c82551e4c6a93f2b6bc4449b0f9b29c3e756d9e1e57247871a3d2ddf288904ae96940823317bdb1a3524a49613f824f42f4e8d42fe87d49ca119c48fddd82a94db263db08d65d4c197506193d74ca084678eaa03169fd90596b11bc24659750956b72578e061a8a60b3ec4fa1994957d42511ac8e5abd8bf66822ba47042f4babe573e921a4282d876075769949a47eb161a30c340cc16fd2eafd46b3a42e7921d8d5f6dac9e5cd4a7a8a10bcde8afea0529b4b2acb028d41b02957ab2d995b7ff28e8620da5395bfa22f4a2310acd216a5fcf58690bf7181062058cdb42eaa92e71368fc812f93fada1ec4e5afd10facdab7642a5bab0f8c16a19e6559aae140830f6c54939d4c5b43630f7c14fa3a8beb5e0fbcdc59e56812b942a9fa65043889c4edda6074bb2ca9111f7b0209bedde38f60359f6951c6a83a82df6ea5939dcb8fd161d820c2a4119c8e6b1adc7bfcbf648c6095fcdcf185103ee61bc8defa09f61a3159041fb73de4e8b3278a606b53b39833db3bc812c1672d998308f65d7b30ff183b04fb72ad0765fff25f0c0dc1479d65ba59bb2c3dba4c0ac147953ad7472d5b974c09c16e7896938efd72ce31d96032085e6eefd46f51c46d4b111c387af9f811c3892058995c8ba7f55b98e807079340b023ebde576bbc0d49222038dd99b65e543aed881c644f0c304094c80e7e1d2dc8213242021b366cfc72c6e40f7cdc3c4afc055bcfdaeac40fac4e2d2e5d940c5a34df07cedc43ba2798f0810d526e166d59291983c498ec81ef551f84fae91ca95690bd9de881cfbeaf05bfdfd1d9c33c703ac891b71937133cb051747441346ad439cd3bf05298be9dd093e93a67073eb8a7f5ac267496b5b00ebcc64da9e2d9a5dfe4a2037ba2a3caacfbfe5797933930a63dcde5efbb0d1a434404e4e37b80c34310d73091032fadd67fd50d310ebc094f1521bab52cebe4040eeccb4197668a09f55a82ec9188ec30f706f675a6ca687f324bbed1335c1337f0f1b44c5afa7d16b53d903d369336302e2a74b67a68c20646b59c1eeac4c7a5daf54cd6c026ddcce35a5c72579fde440dbc764977a54dcc3caa9334f04ac95b937bbe3acb1834f071b52c75ba72333333338d31c618638c4144444444bcbbbbbbbb84f6681a442cb8c1c701cc3039039bceb4bdb3ae207b3a9898816d29d56b75eb1041366c908c21220272854919d8a0931ef5effce965f2e868c10d9092101a90e0c001468d1b356450e3468d1b356a84a1821a69a7659890819746bd3ae1e11efbb55c3086c91818cd92b70c2eb7207b490c0a2d6dead391422165349e080c86817549a58e59f6f69ba44110a6c8040c9c67d94f7bbc55ad76fac1e40bbc744987e6723b11dde40c5efb671f139ebc3b3c20a33f48428c173825b5e8796b4dddeb9c1a4cbac0af56e9b5a14aca7e1dc8de3e61c205568d6a1dd583ebb8dd4eb6c06de7a87ea5d6f42deb1f2421e71eef975e265a6083ddbb3edde739482d903de4c1240b9c7b546d429729d9416420432e4cb0c0e8bfbc9ab4685c7005d6d46ed02e2991084a7290a00766ec606205dbb5c1e9cb7a325f2c93b1bb904915d897e53b7f21d5fdc81715f8a0e571496a8d695ff627536065dfae1c2dc8d85f02612205beef05a5a414ad1c932870e7da6bbbdf6290f942e1cff2883ef5d206b29327703a9a7bbd94a63b08ef036b845182484c9cc0b7202a62fabef7eabdb34913b8f1d5ece44299a998c0c9ac84d42ab5a034bf67b20456c6ac53edcb1c4a6b3e5102637fb661a7fd92e69a043ea6cbef52449f2081716d7f2feaee363c3e85c91138255a3c86deae28cf991881d79b2add650f25b45b8ac0c9fc5ab6e841c7f6f4d9b02186c999fff42acf980c8133fd7279522f3a52938e0d1321f0595bc69652b34910182d5d6e8d2335bb77f217ece9b8b9e052ad9b1e4dc1c3178c94fea26b64d6d2e8ab176c6649e7b9ee24b4438978b1a8422a933a6bbbe0546c3b3bd79e965e3e832d78e882975d163454c618cf5f162e78e482cfb22c4498d6ff4163b860938ed13749995d7f44b76093d2964cbb105762320f5b701e532b1d5d512d580fa6b47ec1cd5b1e292d38a55d148ffaefc8291c3c66c148e182c9d7535e525d5930a252fb65da190bde5ede5c26440d0bdec517b295795c2d9ef578059bdc4d898fc9cdaee3366c203278b8822ffdd0a184496dafc548d6e0d10aeed5b6d842bdf652afc781a36fb0821755beab6ec2d3ebb1c68dcfd16eeee356c1ebffe9cd36526fc84c157c5cd7adf165ed1b3c52c1a9c86c49958b3c50c16aa54cb720e4e7fca59ec1e314bcbe92db2fe836e52d6d0a46c3c550d1fe21cdc52b78948217b3a47429a5936b297a52b077a305bd32677bcf47c189127a555be95555ba2818b5aef275881b0a4ebba8a53af79350d53d40c1876e35137234e772bdc72758e5826679fdee5f96ab333c3cc1e7544237d783f6d55027381747bbf2a41a3c38c18709e15ade5dd58ca74df02e9adde9f8aaf65a4e138c0be9eb5a6f4c512795095657a4cc2373c4041f73f29cd675e8502e8bc725d86cfa34efa3d012e912838725d894e21f3ef2f30be12a844725382d4beb9973924186bd28c10b2de8dc9659c24c6b26c1ea58eefdd9f28ba622367848821765762961528ba1da9300e111095e8899c7e459db482593070f48f07294a336ddb7fcfd168f47f0b216a55cbf4ca3254b8ee064cbb72e6e2eeea9bd11ac5add7174bfa4fe448a11019a9242094e7bb756a65d4bcdba5326c17bb6696da6a64617a34882174595bad6b85a9699a6448253e21ea596f962c68ff161c6f25132224272392890e063a875cd6d7d827183f2085ed4f542c8ac93c1a47a784071041bc35fbe8c5fdf52de60206d049bfedf827c7b298ce07f4bd75667a12e0975117cf8788c5129f3c38a4051047b2ea76e6696ed4c579444f0e1a27598b0d35a9e1f192888607552a5f52ba5a31afd329ac49c0c2887e0b5284c67b6f4b1d3d72a84a417bc32500cc1eaf22c69e9791b5af735212bc82b04a7bd64d6199a2965bf108211b5a12579ab2fdaf99441b0c234a6d225b5a8055f47488e3d8a20f8f85226a9434b1fb494c89e0d2881e056ba98aaaa3d9abb183479a00082d11d638bd07bd7aab523943ff0addbb649c73f46443e743c48c987ebe83d1d5f52d238d632c50fac149ac743d5bdde92885f1ff8606af4f637b31cba44e1039b2264aa519a25bdba6187805550f6c0467ff95e769df4c0bfdcab833ccdc903ff2d7bbd1ad751f0c0e8f8a96454eda2b217bb036b4ad3c593add5d907f58062075e7c2164eba8db07943af0fa5b1242b554ad7ed33402850ebc2c66b64b37a5ae5c9ca4ed48c0a0cc81556fd51c7574ed2052108a1cf8e4b2a9562f437160e47b16eb25a5797d6f382cb3b44247dce5219437b0ad4f8756fea7512ab981152573cc2d691793ea46bc1150dac06b678dba53a7ceb93f0a1b78af9751bce5982bda650d6ce9ec542a7247740caa8151a1f92dba657a9a4d49031bf5c6153ab6d95d4a207b2428071434b03a9af6ee2c4de67aeafd6650cec09a99744943a5f6244c01c50c6cb253b24cb7283c937728a094811d9d2f3f0b3a4e2103e75996f599e99c59961fbb948b32065ef6fa582b6db394a2a18881332f979592ef821ee9801206ce47b832d5d3da29cdd1232360900006350c18f8af115a47a5dfe239c8b481f2055e4ba22fd3b5b9a0251b87c8c7c89ec10651a9565c8ba716e46250bcc06bb5dbf9eb75fc6ea52e309a6aec7f735cdcec53b8c087de8f31b38c2145b638650b6c5257571f8568a8d304142db059f8e76986b09794ce88c887210b2859e034ea17ed9a84780e963c0916d87ce1bdda5566f72e857c5c0b285760a3676975bacd699fa59004142bf0622b8f5a7a410a644f4d1538517fca5e5b14752b02d92be944054649adf739eadb4d81d1b7ea413f8f10424991025bdfa5f2dbd46c34b48b02250af60addfbac851ae109285060b5b4593cb7c84c2d681db4509ec0e9ef97d64179eea9938e8ff5038a13f851fa2f4afd1b9e0af25213f8a454cbf1c5d7b8ed4064448cfc11a89fc16172018509ac165ad476d5d019aa18284b60b52be15916bdb3a8a388a204c6f47850d1f7d9ef154349284960ff83fe9e16ae5a0a2d9b810af2ac404102bb3284b7ba2c87c71cfc9091304430820f1909c34609e508bc74c9a51abd2e8a11d8a0be466b3b393a093d81520446b536f5c13c2691a5a2108197f53dad56ea4596684360345d9669cda295970b4508dceb6939966fb6ac1b440902a34e746851dffe05e79df56fd2e9f105a3fb21a5babd0be1a9492fd8d5f9c6cc5d7badfaf082975c1495d135898ba2dc05a343ae52a2a3165aebf64b42ae04f838163b4c74c1c99576bfa325176c8bdc9c5a143ad578ae84092e781daeaa3935dc5b68b7e05bd67a2bef779db3541e18e6d882d1519a594f4bca9654b5e0c6c4cc344953d9424b0b76a3507ab37e592f4a6d210d26b3e0a534d5244297a8ab399105e732c678c27553d6235ff261c64849ba264c62c1aa4ed3ac940a8deab988a33481057f2f6a55a793b0751df40af64b6b52aae51597fbba820dfdcd62b48d6a344b6a05a7ba476dde98a675d8ace0741a9746db7a5e0f22c918222226383759059b51b4563a479d2f98af0adea56a1db42cc91c9d75a9e06549b3afbfac33e9184405f72ee88f78e7942e9726a7604d6db51c4d48d3d22a53b0af7da2a57297be31540a3ecacde6e99d1a52572405ab39736d105a79c998e570146cd25243453c55efbe719888820f9eab33788cada3cb99848297634e42f76d6a020a366b851acfa3d154e63fc1dfc7dcd351f749bdda5f6ac608892778417a976b0e424fda0b644546f246269d60c463fe877b1e64ef8e137c4ce582e620934df0528856ae4c8b2f9e2c35c16aa8f3ceeb9b9ef43bc9041f558d4bba5bc304b7594c2eeb89d29df98f921723ef126cb82c68693b3c43cbdec412bc642663cc51aa27caaf04bb42933e2dc5a4cbdaa391921d664c28c1eeae96729d3374454488c9247839864afd3d99fe5c74228965e12fe871781e481602bb10201a5ac04c421db08019384a40c408d11102b3718e8dd340010260c612020500a084840c181020002f469321868ec6810001908cec48800c90041690481410804600808464b14100017449bb8d0204a04bda45466c1c000003684002467e0cd525241f1f0b0040003c0e7000060481db28e349e939b7964ff60b7e4c73d2ffcc90be3a125fb039e94ba165619e4f2bc7e7d853e9052fb9589ea5fe565bd201d93b393e875678b12387da85f940404517254f920b1352820384a47161424a46404870dcc28494b8480e5b98909232429c8c8f8f04546ac18ddc2ce8f3f45d5aae4016e1918197e3473eca08f18f74253a420c898e90121c21642c1f232fa8d0c28c1d2ac7e7304065169cb9ee933964d0d4ba910527ee92300d264f9bf7b1e04385afba733d3593c282d7f1d416d2f5ea4be72b7859d0a131cafa6c1dd58a2b58597283e76b78ea58575ac18baf49e9ffe023537f56b02f348b3ad3996dce2e9555f02eebf1d1823ce1bf634515bcc9539ee468b1d3940ab2f763741823253b665049c5b9e2f23eff682ba860830a699e5c561b26e5955330f247f7e590254727bf620a5666082155a777a95fda089552b05ebac5179e259955489182973bebd62153340a4ea396337b8bcb9e3b290a763777e97d9d0905a75bc763dea4e54ab780823b77c9d36956111a654ee513ac67e9b520848746d5724ff01e2e9672ad5eceaeb540a1d209b6f644449a94b95fb604a1c209c64cb37569e7a7cbe0263899b1cc43e7975cae4c139c501b556b8aaa348d66827559ccb229399ade3f98e0954a7f2d6b59eeaa746cd86042e5127cce9643a5e97741aa0909154bb05916dac5744abaf44e57820deaea840ed32a94e073ceabf942b56f96db24b83b955da2cc44e93e25c19dc8324d59ee5d2478cfdab35b7bc8d0a3ae408277795c54f255ead0a87e04bffa1edfee350ba15adaa85c0b1bc1ea8eeaa7fa2dc63a19c1ba871cd962165f898916c1da0a39e267fac5a43b44848a22d82c656c59d6fc3a42a82482539bf3a56e7516a182085e8d769ee6da37dda21d821bf97a4f86ce5e5a2e8d513104df2d5df60a2d08994658290427f44bbeb59b05d95b1f3a44747c9084a81182d7b295f4cc91ca63fed820d890496631e8dacd9bd51541f0ba993f450bead2ef5709049be517995a3c9f7fff80e044665de22db48b3a4bff81cfd26ac92e2d479a8efb81edec39b33f378e2a474a76984a1f78cdb7cf9167fb7135153ef037eaf6f2aeceb9345bd903af37ab967589c6cc41153df09a42a3a697a9d36a94834a1e58b95ad499b5a863fa91b90a1ef82e2db9966450ae251754a2436464ed1df824e47eaf5257b59784e0d84162976e54ecc08feb9cdb72492db49dee2a756094d026a3bffc5b850e213bc0c040650e569183c8d211820347dff040250e8cd4ba74e82445a3ce0e0e1ca8bc811f55a6a275fcbbdd8d1bd84dcffa4237fb7b8e2a6df808d961810a1b940e11164ca0b2860a54d44062c68f71814a1a42768071810a1ab472861a15337854cac08b4ab5cbe02257ab1645863144a022868f901d60fcd222a854c2c0810a1850e50b0fa89c41f221213b2850f1c2042a5de05b7ae878a3fd515ce402779f455d23a5cee5326bc3868de4c8b185ca16d8a87543b9ebc7d2f9a9686152c9c2121119d951a96021c70a1650b942c9937c84ec00c38cf52f020654acc0804a1540481a0403152a64a032850e54a440f225226548a01205283cc109220b0295269094e8f8329e0920a82c81f3ac43d4e8a7d451893e74ac8f1c24bd838f2f31460415254ca09204246ca072040d548cc0814a1158d35e3bed4f2f6749ac1081a42b4320f9a04045082424222670402508213bc018f9314644687001ca2f5ee02f86181dc60728bee80537ba33c6d63ab49619c50b3e4c4c6b1419ae36ab243b48f028bb20b100451711a0e4828fa1346da8973466ed3a44420441c1c5870428b7a041b1052fd62773352ea9d5eee20748c98ef75a5428b4e0957a5d4ae8dd385e32ca2cf8915a08ff161526b3a478a0c8c283120b055060c1c613d1a20e975d66765fc1fa9bee0e2d8b7144d2c8048930a0b88217193349adf46bfe742b385d9f844bb671b5547e2c8e82c20aded3fe899249b5ecbb55303aa7d6399deafa4d2d8a2af896847ecb31c9d8a14b05fb512b7d1bca4b3caf207b878c16d8b0f1212361a80029a860e3bdeb985b56b7ede223238f4705ca29d85f1d339977dad77289620a368956fb213ce8381a968211f3d66292ad430ace35a3da92a2ed9936441905a39bafe37e4b36e29d28384da71e84cb494a2838d3b2e778263e3aaed48181020a3e9bdcd2d1fad7f551ca2778e53affa9542ff96b952718ada576f6cfbf0c3d4a27f89719a3c95132669a6a8240e1049fda51e724f50764af44b58e3f83b209464bb535f50e82ec196219784e13bcb45a2ee81c53beac33e9cc40c9042b5bef2bff954a950e0e918f1d64189e818209b64f5fcb2bfdb4fc31e612ac064d99cd6ea35882dbe4d93e964cdfd25c944af0666a3c8316e175889da82431c64259200e8742511cc52008864f3700e311082028241e8d46c3d1803c2629af0f1480044d362440503424261e1e1616868251281c0e0402a13028100442611405611ccb9428a87334fe26e884134784d46d4dc3f1feb0af96ccfd6a2c23cddae5911856dd167a93b43c7de6ab0575be61ecff437a7243458ae61d5359b62f5dd7fb3195fea62ba0c079e056ec9183084861f53b6f77b5090324bd6783477a12f0fff41f07649573628623bce8b37bc592585df99771aaa1286202e5203c121566a971be99a39e1e7911170f95fdef1db4297fd3600a0f7c11043843ccbebbfdba074094cd335a156aec97b3d57e37a08d7e6426bd877525b03c0a33559c461ab7a75bef018858c5e6f0be2e2b55e9bd48981510c6fa3aa48deeac16205365c682facb3713756cb92cecdfa8c9ca1c084f6315d209deb54cdb07cda7f21d617a7c39be94548632d848cdae66c4d69ce52714f7d197160afa5df54bfaed46d6723d6b01125e0059da2abf385f9c55eaed9f9a9dc4a2b7050a1da36a5bb3023d99156f913b7bf941a700f69593a8a0aae2907cd4a10f42ca7a7d2aa9c6084565239425db84a3a50782c96b2340fd82c5b196d1cbfd660fba9fe1d0b9aca03354cdb0cf3caecb2c145bd9f95a3f968320defc56d2fcb500d1ef7cbc799716172ebdac88ddc808bd6a46807338fa6b2124d5a3f1c462e27a57a80c0a0fce64492084f1b94a602fb1d423656978e3696dec40642f6b28200803dcfa2c728896b82c69b5c4f0350a818b2eab4a6dd451f9964f597b296a43fff6883c286b323342e4af2bc43f3bab171111891863c4c4c47cb5e66a83a353d0e171f301a6cd30ba13e15e01eae626aab9d42022e34e0ecbf114222eb8ca86f785dd11d8b1631a26076e6af113487312269b94d05a587678ca342cc1359ea4b86c4d2909d95279127b44b5455b981b3aad69215bcf6fc11d3b55d28fc5782aa7d5dee757867443c2ab953cfd9d0776e6812bf750fccb4a06130e72dd106751d7653eda40dea7a554ffb09e59062683e5a27dfffc2d5bbcc746c2978bc3a8828899355be9e81e87ade22e931d63f17b0511c1049bb3348e2d164839f4c633f5b21c3ea0b0020b6503389cb58f96051d69df5928183941cb3a360493d5eb78faedc0b51a9a4a90475ca603a57f98e5067fc463e52b81a6514b5762684df205cc2964596b336de6023f9b9d264f581e2b84b360a5d5a3740616458b17596e413a6278837b3b377a1db2a28b660fc705af46eb160e59ce3ae9c576db3b3d82b1ab08e00d4428419e0259adf16e1106c80a914440f8964b0e5cb0f46335332476243968fb589168184e3e160d22d00a9e1d8c0c9f9cc8fdb291db657ec50263d0847e0b3bbc80acf789d50de2292b94871baa5d4e5e581305259df460d5579f50b0669f022af2551f9235cb33e3c4b4d97e1a2b32001af1414a7f5822acc1cbc4e8771beb95b263cb4a9023bf1f38454047aa9f02ae8a456a815a528d84a3ff40e4d1e6d6290d4b81b3909df7c1a5bfed9860130e8e907454b301771fe14aaa8beae766aab4d6d957dfc01f4abdae96eed3c29705485738b20506059a09ce590acf2716da8a8ccdac9617293d21d5c7a4f5d26950ecdffdaf1fa74e23a13d80e36774249c6846cfaa2cefe311a59abeb1fe3f6eca2147dc85942d51e9bea722d2159adf4f2a40691ff9b419eea726a609d582a854a6ed532e3abc98695a21a568262f9da04946361c53abd5c5f994fb0a510d7fff7f3ef1bde8475edd55f2f3ca466378963b04198ae88c989c4bf68ecd7fa4eeaa87ac81e413642c22665a09e3075e8602898d74683d0851c9199cb5e54ca04f442306d6da940dbd1cf097e84ab8720d3afa371b935d3b68171ab0f555f51073430374f9da6fa9c81fac8fbfddcc7194472ea7680feb1a8f3075564b2459e11250727240afbc31da20597036436ca894a747b75f23f1a540ddd99d42fbb62aa724c9108115d4084222f09ac1ce89732c0de97d7b3883fec06519b5b74902cd8d94306f0ac70fe91737b534f513ea7238c7c886a7d886524d9ed7480dcba262b01d4f7ed794db896d9490e4390bfd90dea8e6b9bc13db5335a26aae1efdfbcd4822767fde9bf6f92594c9a3f8be6f2d54cf3c19cff0b4c37732a975405a3c55eb8060fb77096322f599dfe0dd24c1e6f9e46d07280b465d1c2ba41c5eb55d780f91604a56b43b6ec5b9580716def7a45f51ea080cf3e5ead2e2035080d728440b374eb80b1517e084669db2860265565f6f7210a0963182f1232915599611726ce03a52c3039ea71bf12a95e1d80c9346f2a46c06ccd2948ce494daae8c89dbfec3200aa6cccfe57a810b3ea17dce9279320998c208ad7c3cce103d83060009d15d49060ad751aece725eb22007519f8e5710ea8a0f3664e34a18dfbf790513e14e2fdef8e39a58f09966c4f190f8d470d578bd49d84c0ffdce63d93e88ca3b8c389d078979397b41b6e26289c4db99d1d1027739992757441118f4d5480d9fd214a4eaf8d9f551adf84f36648380200bad7452f10dcec0825f709669bde9fe7632f6215af24540a699840e20f547d4e2cd270d95ce61cb8abf249367cade322b58b3d010e7dff9e58633baa9d108f02c7450fcb19b43a14636aaf4377604032bf473cbf4a874dbbb8d395a405d277b7050ec1931dab42696f7834b8fa9fee0a5ee3e58555b8e740adb549302cbb146ad86de75fa55c692fc27f2f3aa0d19349af9d9a6337418b97d489ee8ca12c40ad4287d904ce90ba95135954427838ab78028cd5db6fd1aa1053ae511822fa1c47f14023fbaf9ad089631a6dcd81e80474a7739c1a30364fdc119485f825f8ee83d552f68d4cde98417ddf466d0a053baff70e50e16fec597d46ce1b040140f6d902b9f49adba158078515c063b857832223da6b6bed0949b399c467cf82b7090d1683bed4e23810cff852cb02faaa489594706f20ec1dd282c609197e0d942aa011c363888544fb273a843a0912c328208a1755da8fc60081f075ee509df553308aa28fe0c52621f11a701912ad66dfd830ad5a1221b0652a7b6fd18a9a12cf53f0a09cae4315187cdca32f1494d34148ac650a513d675916d69519f0fa751196bfd663f256654ce549c0ce92f3fd417df642a8de467d5d46539a5ddd4ec4d340dc0c8984d869f9967a14be0157f6311160ae7dc54360bdb880af3e7de381c3482610a2c3023815868d5432a5317062c56a4ea580c3943d62130cc90b25da688edbfae014aec27a19ec1cd3b53ac8f11eec607fa67c0a052f2ced27f89a9df5c20d5b219348795ea5cb7279907181489b8def9a461ed7cb616cb2dedce0c0dc4a13d7b8a151495cb9d308bf90c5ecab260d1cea0a5a12cec3d4954be0900a99f0857f20c25d606a5456f4938d6ca6f1b7994680013ed144de9f0d8d774a643271daa89f9d1cb4f4a2a72bc26b8d84f7ef0fec10f5738f45fa90b9782703a801708a68f8a45c38c13c653529b3d7598ef54802d9cc7a9ac62cbdc7874b74c8f59d538a2a18088898d98313ef665bc37eb8917288282769a1dca4245b5c7565e095b9b3158854f8b87cdb0564ccb8532723cb298be285f265b183fa28cca5c551fecff3e3a5bf01872c8190186e9bbc74ea91095a9f8fea6e9400373f87b1c1ffd7ddf46c529abb741236737402c32306e32823b1ddca1d2d4972ebc4180b5e2a205f10a93cd93075a9b626f569040c85d6f22d892bce49585d2f30ff22f3fc3b98144ccefd1ed336445183b670b032580235b9ebadad5396cbaf84dde2cc328355e5e4660859d250d9fa26189e0e8737d3ecdc62117051204ad9c77044fe4751ecb1487a7f0633727c3eae7f1d092ba55ccdf3e535a43093f6648f1737f244fcd048e28fbe5cb4b28aac63e0f89b28186a9031b0a159b0ebac96e30354a9f2765e2923c68597acf27003750ed187b42629e3498eb9ad4878186d481f5a8008bef437daf6b9990b9a7a6296d7085783ba6d5006094d0e29b60dc927a20a02d286f2480e23910136510110a72f7a00f2c8653d34fa12dd22813079688467102428d9d6bfeb1fa95d450fff78f411bf079d0d2fadc9e24069a1f9bfa41641c714053327ad911953b05f1f0251f84fadaedb66ea4e071bbbad80f84c76060aad67384f99399286d46ce685cb74f545d80a246c0908dbc04626fab936936aada0f0773bf15f50d8add22bec4879cbc3f1b36390b115564e0b0aa89bf9e494de39224d134b64d55c8332d113cfa7c8cfe50c7ebdeba86daf332c2e7579d1bcde315046ae178bc0cf2728604b2bc3da8bd737d635a52aeb6cc6d3f81ce52bfa5ba8c0477645fa093bb4c6985a0d41b77bdcb1c24871d9539cf52de6ab49d35671d0ccaf76aeb1e6dd5c672f6809e7dbdfeb5a68cae27b734c1aee68e36bcf3191c69ae02f0cd30056857de95affdd11b0870e5fab5924110e356e8346f691288a6260f068d4ad7bc4a4415912c15e00b2fb128f054a6d4e76569bbf93aa7c79428d7dd8f267d21484d6a3e7688f812c2cc9e745f74b9c42c8428a5b8a76dcbf17b134cc3459cc88a6570dac2c7a54c66286679bf21594534e725e9c23f9c823e936dddba53701a5c39844c3b99446fb0d4e7d3c5a14c2807d75a853938ca06cd7d32b006e2e0ad1ac746e7ac1edf04f5e8337a128001c26872c36674acb12849328ae4d286ea26edcbea77e6d7c88405b39d518e05c4c76aa701dd0dfa7c402df864e4adaa8cf6a7c29f3778db0dbb41ed53b6d57b922239a9dcd70834b8a2a6cd65171808666530a1ec78ac0fca211f73e2dfa503740268ecc06d5a5d3ac076a1726c2aab09f63e1ed3370d4b17ff42df2895568249a9ceffb325bed1d7220fe55da8d53c2d0fc65b68fcb074abbe8de06a5e2f517fca48b15498b9326e79ac8e729970b315ece9adeb34e62ea1475fed599d63c3f6efdf41c3bcf47a0a26f9eceb0028f31f1af40830260216aa9204d2aaeeec52300c71c9b54742073fef68f3fdcd1ea5a1f186c36a3d178ea7b8d444dd7518c8decfa24165f4b2aec2a9db4659e31c6bf29cc51d711712c56fdfdb8945e11df89b13d55172295354900b4281bc390a1d0a7feeb996b39186e6a811fabfcbd5529ed36c049bc84677ecea0f3851f833349207d1304fd2a33c04c8406a66ad89fe13b9ea093f07b29ad638a27ccbfa8d676501797bb99e4d7f7248bb2bbd3b0182976f0b4d1205b8a6fd93b52aab9e44bdd0a95558e1f69e96c22af5d95490948e630d6a96fec92dd6eee12da19858e74830b639c47737c495246167f2addd861a98673252a0c78e872305335d396ad0a3b17f0108767fc11d6722e9602454daf4d2d42febadce6381bf2691ae58b250e2a5a180d5afcfcd069e941e734b0264d21157f435be9fd0f40efd9012e6955b6af438226fe482a9b51db2f5e05d1acefd1afd13ec76a858f583e208b6d23ef22185ad9d8d28325d89ed7b2779dc840179961d36957164744560306c2d74d1d69d9cda32416448ece450f17b61a76d45d0f2e6297e3857bb238dab85adf2d6277cc7d64374425b83887689129a961004825696fab9b26b46ef393b345b78e00b45d41dd533ed755e19c4132a5104cae7d9e7fce6d6aba8a288e85a33cb0acf15e4aa9e976a1e50a578e24ad320a54c18eb98b7a6208c3013325173f0bcc6cd7bb91580aad0f351f6dfa9e1511ac2d533ac553cfbfeb698648f61fda9af04a2202436a389ab9263de8d241742b37c4fbba542734df5c5ca36c2f541538ec5571d5404b89298b203f64b8210495eb967bf3550f257ca92d14d2d7b9a4df89e67208ad64e59309371ab661ef438b1c1221fa5cabc3fc990f7ede002f9ac21478ae67c1cc78ad64b0ab77f5adc23e921ac712aa23eddd99a5f2de806864c12482d56a805a8361de0297ed9e09cea062c9838082bdcf3b1a8303f2b82d4b6842ded04ae8eb3888e6f8858d06150c08889c1262ebadab41eb4e6fd7479202cb8675dd4055116049ea46f80608a1ed3a1036f8ffddff03d93d795716914d2a28f3216e2e0aab216125182869071f4bd03a16a0462c3a65e8fe4c95bbb062158da8de8642b667f4e9207d599ce46cb07271da212da47f96949a37884e02d8eef1ee6b729d03f768efecac6fc61d74cd79535aa7f1dc520f5edf8172227f2556a1f92591449f692e3c0922c27ced88702135cb3297b0648d8070f31ce63ef54f8bc4d981aba3539f110d875770c60844f1e9720e31aa2be3284e67deef2548feb6e9cf0d407371b8953e84829967deba44833bc0fb7c26451996538854699486ad28032225e5071cb7657ef5e7b037a05466532141808c1d538e72a8aa6d673a333f7a371b1a7cc3c61a1200c686a3a43e1bcc350d4e2002e4e04ed5d2bb9493036b8d1b7aa9e0ed251e4079516b07421cf3b53cfd29111341c233d2f0fb13555cf050b6aa872c0e93c4078e82ac17cf45c61173916b41f14a9ce3b38d5c687def8475c61ef921b14e20495fb021d7cd7ee19736aec561ec610ab340da2459d39549d3d2811606fe01768e990b51a4c36cf968d814f86f3204ef523b96dfb5040110fd665445863b866418031f183da07f53fc062460db7ac9fc6e4e15dfaf6d8fc99e6f3f52eec38dca008f9351f32281188cbbe19c679bb5d40cd5976bbf26007598f1b931384f3cdc98a98e8861ac30d5c770367df1ea920af2aeab69b327d3fd1f19c6cc6ace10ce6d264074bbc4cc2c339965d9125b4fc5a9698961ce0f507ce2ec2ecf1f1c01e3cf84520775469152235ff14af365674527cda0d3eed0e52aaab0113bc1f1a3c0c59f362dd254b789c20380c880d58e1f2b11b6a4573ec2777d4b7306607eddd5f96e01f57523c6b4584a6daf652e77c7076edeead2476cf2d4f339569ae2ceab26f6fb9a01d1bb8c572302ebbc60924b9d2b26363f0abe0e9b8b67c2b09e9c8aebb6b454d47583e40b5ba8bbcc8a8b8f77bae35a191bad8917f3baae46221be72ba087ad73c8da7af089a24b94eb5d92927724cae67493b33bdc35cf6044b67651afe9c8daf6e0a511a95789640398e056223731ec324e548a38a684c465fec3588f66ebce7d46047d469850210c984add79619b4039499d7ea5275fc32952a864a19cb39f37265ea66d8ca6ebc6c0c5badab4de84a2d41f8bd643370e2fd47a231ede2306e197dcfd441b3c6ec8425d5532ebd191786f520d638a1486953c4be280a1a256798ee489e43dd47d58be8be7bcd571ce84dab11b533da28284a138bcc07d3ad4d9f77a00bcf9632bdc5dc22cf9d48c42dbac1866b4e1e683ff113f56b8615d7c3009ef58bf8cbcdcf433802e60a645818d4af455d331a3b06e2034a599a760ac68d8896d00ba2084e6fa89a01107b225b5ba910aeb99b3204253e4ea105432a22eb42905021a21ddebf365a1fecf91838a52620174ccda4fdc7744090331bf5d35c22add5997ad374bc644124c079e579f3e6e9bdbf747308e8d470af214d2dfa4399595bac966f9202700e0ad6805b0fa9bfa07b89ea00f0e1b810ee697ad0374f4dc122b942f48c698cf9b7bc83a2e77c93209eeda7093a0daeefc940b630065967960545206958fea78106231b61fb3a10bb28dd1490afefcbcce58bcc756e5e5b30977fffbdad5401d1ac7965ac5e22c1a44fc50ba0314703a8b2c71de9da37bfe4d01a4a3f0a58dd95cabcd4a5b52fe4e886d34362df54785936e1b9f0039b6557fd1bf11db1ef52a01c17c9fb825dd05538c762e235a573d19c4ee5285f2a1e52f82299fc0a680ab6b3f601b0cdedb1115ff78dc9ca2869b88d19dba6eb779820cd222bab19c486c7d4b8b00ea3b3579511408061d7792b7eacf1fdce3ee2a19b129f3f3ac5008b704768d0c29d2e5c9316ff386fbfc9ea5469c825d9f2f33491ad8371a43ffa6ebc1a451855d5ba58db1f542b05c87f251eb8d186889a0048854138b8ef47895ff56284d164118ff32ff544494280af8f0137b2c3de50baad353becf2d59f6f1a1ba457b1d229ebee98940dc222e321d91dd0308bac62f101c6f1d7489c0c8b98e092881ff3bd4d0d85a19f415c343bf228a6ebd4cc891a24300684c92f1d3ffb27689f4a47a7e0f77c3cd6f066085ee677823b0e8e50f83744d2bb16464ed6d01255e437021c4ba6f8a5c45144f83d48e2ab6222ce2fd49d2fe29f2bc6b7ee3b2742528c55ded6223d697f28f4dfd09acb3e6e54259b16bd42879f838e82c363514540fab20dc61cc5d1222fb58617cf75553d73e6911e38dd11d6ffc3c2430a476270910781ea39993b3e8910a4560054033c19c57db63e8a814b0ee7e42d4022480bf326c76c66eac6064dec45b1f429446da5a201f0383f58f30d519c471526e51ff828b43e0c7d9804166d081d927288996881ebead4825b3e91451ae1b08e3bc6cce741818759272be0719d2a194ccdbe5530780def7d8cd46b031fa0ba68be3a30e28278e94c26025576b92ae98030a3109dc7d65e80374566d03d1069c4006263042dd6a795204a497fc33fcf08447b4d80f024cca13740a7067c1e1b3fa993f041d9e8b0b9463e1d100073e232095013629853b1f6975616c6796573b58e8f4b2f6ec2a91e4f2a0d655f133633716193346ca004abcdd14e4a4c9f8baa508824156180c05ee49d0a50787d51d7abb71e48063152630d07b4ec48298a664da4a757131371aa31c6b3037c56e5a15392daabd346e5e7f393ae0fb9410a9dbbba5f30b3e972ccbbfb35806425e8d0201ac8dd7e2618aeb3a88c79c97df4bd0426cec9a60be55de847dbee59694ae5053c73acece131af5ff197dddf0c8ab9b37c8ea59886c184dec2908a1013551119f6c813a0b2ebe59319caf50db90ea10d7b525c0ce60b9cc318251e4ae2ef94a2ee436404d329e38b54bd715ab1fd60a81bf7758b1e0e6c5a2aa0fddf5b2b2b45344828a3a012e568ecd23466d8389759e502fa5c5e1ca74e06ddb413b86feb135a8e9cca3f03b8a19b1d0bbb03b37708380f04b67590b01f599f46bea2aacaee5bda77a067e91dda088d951b93f25fde401ae9ca9147b8b31f315c9f43ad3e0935b1befca26d82381546ec8407891497a700e420520a65df5e401641caccc62648cc199d0a0f0248114521c3a6095719c1ff450420b3a386457143202dbce10db513c2e2a6289cec134c74013af3db847856a1813186c3629a77488ba98224c557f03d45d20fb51d0013779a03945f95a5233795ccdc4fe50309235985271c0791075fe26329a70e5741f395887474b588172613ed657ebb9aeb215e131b03", "0x3a65787472696e7369635f696e646578": "0x00000000", - "0x3a6772616e6470615f617574686f726974696573": "0x0110df2bd047eb78e899e076aedbb604e8cb63d994dc35429a0e86e76323c2b6cf9c0100000000000000db2c1700c11f8a0bfe9f1f935bb39a5b28074df06a51bee561b1987b1f88cdab01000000000000008a21c7e8324c550a97b58523cbdf57801f306725be3ee176203677105513ceb40100000000000000074136bcb202b26df56e0deecd4807b5177c987aefe11aa23204505711f3b4c40100000000000000", + "0x3a6772616e6470615f617574686f726974696573": "0x0118df2bd047eb78e899e076aedbb604e8cb63d994dc35429a0e86e76323c2b6cf9c0100000000000000db2c1700c11f8a0bfe9f1f935bb39a5b28074df06a51bee561b1987b1f88cdab01000000000000008a21c7e8324c550a97b58523cbdf57801f306725be3ee176203677105513ceb40100000000000000074136bcb202b26df56e0deecd4807b5177c987aefe11aa23204505711f3b4c40100000000000000bc47f757d48f2e7f0ba8287f034f54740663824f46348bf14c5178e2de36e218010000000000000010a7934cbb2f69964fa0a00c1dcc0cb4f089f10228ec32f8e0951e09bb16a7910100000000000000", "0x3d9cad2baf702e20b136f4c8900cd8024e7b9012096b41c4eb3aaf947f6ea429": "0x0000", "0x3db7a24cfdc9de785974746c14a99df94e7b9012096b41c4eb3aaf947f6ea429": "0x0300", "0x3f1467a096bcd71a5b6a0c8155e208104e7b9012096b41c4eb3aaf947f6ea429": "0x0000", "0x3fba98689ebed1138735e0e7a5a790ab4e7b9012096b41c4eb3aaf947f6ea429": "0x0000", "0x3fba98689ebed1138735e0e7a5a790abee99a84ccbfb4b82e714617e5e06f6f7": "0xd0070000", "0x42b50b77ef717947e7043bb52127d6654e7b9012096b41c4eb3aaf947f6ea429": "0x0000", - "0x4da2c41eaffa8e1a791c5d65beeefd1f028685274e698e781f7f2766cba0cc8300000000": "0x1003000000010000000000000002000000abc3f086f5ac20eaab792c75933b2e196307835a61a955be82aa63bc0ff9617a0600000010ac1799757a742c3c22be09c8ba6ea5d7e29981068897aa23c762fc8dd1ef876708edee5045683123d8550008f194b4f63875a9865620a578e93127dd9608826086ffd146349c1fe66b6d1b5142a5acaf70b4656f39fc0a6ec96e712c5b67de4d28b039ebf418c3986f0080f8a50eba030b4d5c46ad8acfb1ff5b82343f34fb5c000000000000000000000000000000000000000100000000000000", + "0x4da2c41eaffa8e1a791c5d65beeefd1f028685274e698e781f7f2766cba0cc8300000000": "0x18010000000500000004000000020000000000000003000000abc3f086f5ac20eaab792c75933b2e196307835a61a955be82aa63bc0ff9617a060000001808edee5045683123d8550008f194b4f63875a9865620a578e93127dd960882600e5617d995099aee88d0232aa38e171ba71f33cb62deb4a9cf98fc3d40c09956d0baff734570d38b450f4a316e9fc95b8b6eb79c80b2108f365efe66e042da2528b039ebf418c3986f0080f8a50eba030b4d5c46ad8acfb1ff5b82343f34fb5c86ffd146349c1fe66b6d1b5142a5acaf70b4656f39fc0a6ec96e712c5b67de4dac1799757a742c3c22be09c8ba6ea5d7e29981068897aa23c762fc8dd1ef8767000000000000000000000000000000000000000100000000000000", "0x4da2c41eaffa8e1a791c5d65beeefd1f4e7b9012096b41c4eb3aaf947f6ea429": "0x0100", + "0x4da2c41eaffa8e1a791c5d65beeefd1f5762b52ec4f696c1235b20491a567f8500000000": "0x00", "0x4da2c41eaffa8e1a791c5d65beeefd1fff4a51b74593c3708682038efe5323b5": "0x00000000", + "0x50e709b04947c0cd2f04727ef76e88f64e7b9012096b41c4eb3aaf947f6ea429": "0x0000", "0x5c0d1176a568c1f92944340dbfed9e9c4e7b9012096b41c4eb3aaf947f6ea429": "0x0000", "0x5c0d1176a568c1f92944340dbfed9e9c530ebca703c85910e7164cb7d1c9e47b": "0x340ca3b6bf3f0989bba6befb5a9bc14a1d2819b7d7ffaef6eb01e09cce86bb65", "0x5f27b51b5ec208ee9cb25b55d8728243308ce9615de0775a82f8a94dc3d285a1": "0x01", "0x5f27b51b5ec208ee9cb25b55d87282434e7b9012096b41c4eb3aaf947f6ea429": "0x0000", "0x5f3e4907f716ac89b6347d15ececedca0b6a45321efae92aea15e0740ec7afe7": "0x00000000", - "0x5f3e4907f716ac89b6347d15ececedca138e71612491192d68deab7e6f563fe1": "0x04000000", + "0x5f3e4907f716ac89b6347d15ececedca138e71612491192d68deab7e6f563fe1": "0x06000000", "0x5f3e4907f716ac89b6347d15ececedca28dccb559b95c40168a1b2696581b5a7": "0x00000000000000000000000000000000", "0x5f3e4907f716ac89b6347d15ececedca308ce9615de0775a82f8a94dc3d285a1": "0x06", + "0x5f3e4907f716ac89b6347d15ececedca3ed14b45ed20d054f05e37e2542cfe703711bec3bb428f9db247ca85cd0817d4fb377158368b95d1e8554f5044f4771ae9e3367bccef6b6c": "0xb247ca85cd0817d4fb377158368b95d1e8554f5044f4771ae9e3367bccef6b6c", "0x5f3e4907f716ac89b6347d15ececedca3ed14b45ed20d054f05e37e2542cfe7057ad0b620233e4bd585c825c0239aa16cdc3b33458538c8a8d2e06871a2058db0462f65b051ff239": "0x585c825c0239aa16cdc3b33458538c8a8d2e06871a2058db0462f65b051ff239", "0x5f3e4907f716ac89b6347d15ececedca3ed14b45ed20d054f05e37e2542cfe707327ffec9f4e3aae38032e6d4cbdcf2e9f7ee64772070898b5e8e5668f3187616c7186c40e468279": "0x38032e6d4cbdcf2e9f7ee64772070898b5e8e5668f3187616c7186c40e468279", + "0x5f3e4907f716ac89b6347d15ececedca3ed14b45ed20d054f05e37e2542cfe7087c202a4bbeeb0be644afcbcf866368d0320cb7646afa3ccaec2b4d3697a021bda2346a0b6381867": "0x644afcbcf866368d0320cb7646afa3ccaec2b4d3697a021bda2346a0b6381867", "0x5f3e4907f716ac89b6347d15ececedca3ed14b45ed20d054f05e37e2542cfe70ef2c791691f7e8884458980cd4641148120e85c2a060fbb489c3085ca1673eb204c953483824e929": "0x4458980cd4641148120e85c2a060fbb489c3085ca1673eb204c953483824e929", "0x5f3e4907f716ac89b6347d15ececedca3ed14b45ed20d054f05e37e2542cfe70f6e048504d0c2d7d340ca3b6bf3f0989bba6befb5a9bc14a1d2819b7d7ffaef6eb01e09cce86bb65": "0x340ca3b6bf3f0989bba6befb5a9bc14a1d2819b7d7ffaef6eb01e09cce86bb65", "0x5f3e4907f716ac89b6347d15ececedca422adb579f1dbf4f3886c5cfa3bb8cc47e38d6399f9eb96f2ed6c58d84b87e984458980cd4641148120e85c2a060fbb489c3085ca1673eb204c953483824e929": "0x4458980cd4641148120e85c2a060fbb489c3085ca1673eb204c953483824e9290b00407a10f35a0b00407a10f35a0000", "0x5f3e4907f716ac89b6347d15ececedca422adb579f1dbf4f3886c5cfa3bb8cc48bd7fbe93f8307691b98dcd4b513ab79340ca3b6bf3f0989bba6befb5a9bc14a1d2819b7d7ffaef6eb01e09cce86bb65": "0x340ca3b6bf3f0989bba6befb5a9bc14a1d2819b7d7ffaef6eb01e09cce86bb650b00407a10f35a0b00407a10f35a0000", + "0x5f3e4907f716ac89b6347d15ececedca422adb579f1dbf4f3886c5cfa3bb8cc4a544eae9b853417ce1c1d3549473d2b2b247ca85cd0817d4fb377158368b95d1e8554f5044f4771ae9e3367bccef6b6c": "0xb247ca85cd0817d4fb377158368b95d1e8554f5044f4771ae9e3367bccef6b6c0b00407a10f35a0b00407a10f35a0000", "0x5f3e4907f716ac89b6347d15ececedca422adb579f1dbf4f3886c5cfa3bb8cc4b032edfca52ad56c48503c9d57186bb738032e6d4cbdcf2e9f7ee64772070898b5e8e5668f3187616c7186c40e468279": "0x38032e6d4cbdcf2e9f7ee64772070898b5e8e5668f3187616c7186c40e4682790b00407a10f35a0b00407a10f35a0000", + "0x5f3e4907f716ac89b6347d15ececedca422adb579f1dbf4f3886c5cfa3bb8cc4b91004fa51c28d27178dd5d3970b5fea644afcbcf866368d0320cb7646afa3ccaec2b4d3697a021bda2346a0b6381867": "0x644afcbcf866368d0320cb7646afa3ccaec2b4d3697a021bda2346a0b63818670b00407a10f35a0b00407a10f35a0000", "0x5f3e4907f716ac89b6347d15ececedca422adb579f1dbf4f3886c5cfa3bb8cc4e07c5822a04c0653b0d53c94462639eb585c825c0239aa16cdc3b33458538c8a8d2e06871a2058db0462f65b051ff239": "0x585c825c0239aa16cdc3b33458538c8a8d2e06871a2058db0462f65b051ff2390b00407a10f35a0b00407a10f35a0000", + "0x5f3e4907f716ac89b6347d15ececedca42982b9d6c7acc99faa9094c912372c2b4def25cfda6ef3a000000003711bec3bb428f9db247ca85cd0817d4fb377158368b95d1e8554f5044f4771ae9e3367bccef6b6c": "0x0b00407a10f35a0b00407a10f35a00", "0x5f3e4907f716ac89b6347d15ececedca42982b9d6c7acc99faa9094c912372c2b4def25cfda6ef3a0000000057ad0b620233e4bd585c825c0239aa16cdc3b33458538c8a8d2e06871a2058db0462f65b051ff239": "0x0b00407a10f35a0b00407a10f35a00", "0x5f3e4907f716ac89b6347d15ececedca42982b9d6c7acc99faa9094c912372c2b4def25cfda6ef3a000000007327ffec9f4e3aae38032e6d4cbdcf2e9f7ee64772070898b5e8e5668f3187616c7186c40e468279": "0x0b00407a10f35a0b00407a10f35a00", + "0x5f3e4907f716ac89b6347d15ececedca42982b9d6c7acc99faa9094c912372c2b4def25cfda6ef3a0000000087c202a4bbeeb0be644afcbcf866368d0320cb7646afa3ccaec2b4d3697a021bda2346a0b6381867": "0x0b00407a10f35a0b00407a10f35a00", "0x5f3e4907f716ac89b6347d15ececedca42982b9d6c7acc99faa9094c912372c2b4def25cfda6ef3a00000000ef2c791691f7e8884458980cd4641148120e85c2a060fbb489c3085ca1673eb204c953483824e929": "0x0b00407a10f35a0b00407a10f35a00", "0x5f3e4907f716ac89b6347d15ececedca42982b9d6c7acc99faa9094c912372c2b4def25cfda6ef3a00000000f6e048504d0c2d7d340ca3b6bf3f0989bba6befb5a9bc14a1d2819b7d7ffaef6eb01e09cce86bb65": "0x0b00407a10f35a0b00407a10f35a00", "0x5f3e4907f716ac89b6347d15ececedca487df464e44a534ba6b0cbb32407b587": "0x0000000000", "0x5f3e4907f716ac89b6347d15ececedca4e7b9012096b41c4eb3aaf947f6ea429": "0x0000", "0x5f3e4907f716ac89b6347d15ececedca5579297f4dfb9609e7e4c2ebab9ce40a": "0x08be5ddb1579b72e84524fc29e78609e3caf42e85aa118ebfe0b0ad404b5bdd25ffe65717dad0447d715f660a0a58411de509b42e6efb8375f562f58a554d5860e", "0x5f3e4907f716ac89b6347d15ececedca666fdcbb473985b3ac933d13f4acff8d": "0x00000000000000000000000000000000", + "0x5f3e4907f716ac89b6347d15ececedca682db92dde20a10d96d00ff0e9e221c0b4def25cfda6ef3a000000003711bec3bb428f9db247ca85cd0817d4fb377158368b95d1e8554f5044f4771ae9e3367bccef6b6c": "0x0000", "0x5f3e4907f716ac89b6347d15ececedca682db92dde20a10d96d00ff0e9e221c0b4def25cfda6ef3a0000000057ad0b620233e4bd585c825c0239aa16cdc3b33458538c8a8d2e06871a2058db0462f65b051ff239": "0x0000", "0x5f3e4907f716ac89b6347d15ececedca682db92dde20a10d96d00ff0e9e221c0b4def25cfda6ef3a000000007327ffec9f4e3aae38032e6d4cbdcf2e9f7ee64772070898b5e8e5668f3187616c7186c40e468279": "0x0000", + "0x5f3e4907f716ac89b6347d15ececedca682db92dde20a10d96d00ff0e9e221c0b4def25cfda6ef3a0000000087c202a4bbeeb0be644afcbcf866368d0320cb7646afa3ccaec2b4d3697a021bda2346a0b6381867": "0x0000", "0x5f3e4907f716ac89b6347d15ececedca682db92dde20a10d96d00ff0e9e221c0b4def25cfda6ef3a00000000ef2c791691f7e8884458980cd4641148120e85c2a060fbb489c3085ca1673eb204c953483824e929": "0x0000", "0x5f3e4907f716ac89b6347d15ececedca682db92dde20a10d96d00ff0e9e221c0b4def25cfda6ef3a00000000f6e048504d0c2d7d340ca3b6bf3f0989bba6befb5a9bc14a1d2819b7d7ffaef6eb01e09cce86bb65": "0x0000", - "0x5f3e4907f716ac89b6347d15ececedca6ddc7809c6da9bb6093ee22e0fda4ba8": "0x04000000", + "0x5f3e4907f716ac89b6347d15ececedca6ddc7809c6da9bb6093ee22e0fda4ba8": "0x06000000", + "0x5f3e4907f716ac89b6347d15ececedca88dcde934c658227ee1dfafcd6e169033711bec3bb428f9db247ca85cd0817d4fb377158368b95d1e8554f5044f4771ae9e3367bccef6b6c": "0x0000", "0x5f3e4907f716ac89b6347d15ececedca88dcde934c658227ee1dfafcd6e1690357ad0b620233e4bd585c825c0239aa16cdc3b33458538c8a8d2e06871a2058db0462f65b051ff239": "0x0000", "0x5f3e4907f716ac89b6347d15ececedca88dcde934c658227ee1dfafcd6e169037327ffec9f4e3aae38032e6d4cbdcf2e9f7ee64772070898b5e8e5668f3187616c7186c40e468279": "0x0000", + "0x5f3e4907f716ac89b6347d15ececedca88dcde934c658227ee1dfafcd6e1690387c202a4bbeeb0be644afcbcf866368d0320cb7646afa3ccaec2b4d3697a021bda2346a0b6381867": "0x0000", "0x5f3e4907f716ac89b6347d15ececedca88dcde934c658227ee1dfafcd6e16903ef2c791691f7e8884458980cd4641148120e85c2a060fbb489c3085ca1673eb204c953483824e929": "0x0000", "0x5f3e4907f716ac89b6347d15ececedca88dcde934c658227ee1dfafcd6e16903f6e048504d0c2d7d340ca3b6bf3f0989bba6befb5a9bc14a1d2819b7d7ffaef6eb01e09cce86bb65": "0x0000", + "0x5f3e4907f716ac89b6347d15ececedca8bde0a0ea8864605e3b68ed9cb2da01bb4def25cfda6ef3a000000003711bec3bb428f9db247ca85cd0817d4fb377158368b95d1e8554f5044f4771ae9e3367bccef6b6c": "0x0b00407a10f35a0b00407a10f35a00", "0x5f3e4907f716ac89b6347d15ececedca8bde0a0ea8864605e3b68ed9cb2da01bb4def25cfda6ef3a0000000057ad0b620233e4bd585c825c0239aa16cdc3b33458538c8a8d2e06871a2058db0462f65b051ff239": "0x0b00407a10f35a0b00407a10f35a00", "0x5f3e4907f716ac89b6347d15ececedca8bde0a0ea8864605e3b68ed9cb2da01bb4def25cfda6ef3a000000007327ffec9f4e3aae38032e6d4cbdcf2e9f7ee64772070898b5e8e5668f3187616c7186c40e468279": "0x0b00407a10f35a0b00407a10f35a00", + "0x5f3e4907f716ac89b6347d15ececedca8bde0a0ea8864605e3b68ed9cb2da01bb4def25cfda6ef3a0000000087c202a4bbeeb0be644afcbcf866368d0320cb7646afa3ccaec2b4d3697a021bda2346a0b6381867": "0x0b00407a10f35a0b00407a10f35a00", "0x5f3e4907f716ac89b6347d15ececedca8bde0a0ea8864605e3b68ed9cb2da01bb4def25cfda6ef3a00000000ef2c791691f7e8884458980cd4641148120e85c2a060fbb489c3085ca1673eb204c953483824e929": "0x0b00407a10f35a0b00407a10f35a00", "0x5f3e4907f716ac89b6347d15ececedca8bde0a0ea8864605e3b68ed9cb2da01bb4def25cfda6ef3a00000000f6e048504d0c2d7d340ca3b6bf3f0989bba6befb5a9bc14a1d2819b7d7ffaef6eb01e09cce86bb65": "0x0b00407a10f35a0b00407a10f35a00", + "0x5f3e4907f716ac89b6347d15ececedca9220e172bed316605f73f1ff7b4ade983711bec3bb428f9db247ca85cd0817d4fb377158368b95d1e8554f5044f4771ae9e3367bccef6b6c": "0x00", "0x5f3e4907f716ac89b6347d15ececedca9220e172bed316605f73f1ff7b4ade9857ad0b620233e4bd585c825c0239aa16cdc3b33458538c8a8d2e06871a2058db0462f65b051ff239": "0x00", "0x5f3e4907f716ac89b6347d15ececedca9220e172bed316605f73f1ff7b4ade987327ffec9f4e3aae38032e6d4cbdcf2e9f7ee64772070898b5e8e5668f3187616c7186c40e468279": "0x00", + "0x5f3e4907f716ac89b6347d15ececedca9220e172bed316605f73f1ff7b4ade9887c202a4bbeeb0be644afcbcf866368d0320cb7646afa3ccaec2b4d3697a021bda2346a0b6381867": "0x00", "0x5f3e4907f716ac89b6347d15ececedca9220e172bed316605f73f1ff7b4ade98ef2c791691f7e8884458980cd4641148120e85c2a060fbb489c3085ca1673eb204c953483824e929": "0x00", "0x5f3e4907f716ac89b6347d15ececedca9220e172bed316605f73f1ff7b4ade98f6e048504d0c2d7d340ca3b6bf3f0989bba6befb5a9bc14a1d2819b7d7ffaef6eb01e09cce86bb65": "0x00", - "0x5f3e4907f716ac89b6347d15ececedcaa141c4fe67c2d11f4a10c6aca7a79a04b4def25cfda6ef3a00000000": "0x0000e941cc6b01000000000000000000", - "0x5f3e4907f716ac89b6347d15ececedcaac0a2cbf8e355f5ea6cb2de8727bfb0c": "0x54000000", + "0x5f3e4907f716ac89b6347d15ececedcaa141c4fe67c2d11f4a10c6aca7a79a04b4def25cfda6ef3a00000000": "0x0080dd62b22102000000000000000000", "0x5f3e4907f716ac89b6347d15ececedcaad811cd65a470ddc5f1d628ff0550982b4def25cfda6ef3a00000000": "0x00000000", "0x5f3e4907f716ac89b6347d15ececedcab49a2738eeb30896aacb8b3fb46471bd": "0x01000000", "0x5f3e4907f716ac89b6347d15ececedcac0d39ff577af2cc6b67ac3641fa9c4e7": "0x01000000", @@ -130,7 +143,22 @@ "0x6a0da05ca59913bc38a8630590f2627c4e7b9012096b41c4eb3aaf947f6ea429": "0x0000", "0x6ac983d82528bf1595ab26438ae5b2cf4e7b9012096b41c4eb3aaf947f6ea429": "0x0000", "0x6cf4040bbce30824850f1a4823d8c65f4e7b9012096b41c4eb3aaf947f6ea429": "0x0000", - "0x7474449cca95dc5d0c00e71735a6d17d4e7b9012096b41c4eb3aaf947f6ea429": "0x0000", + "0x7474449cca95dc5d0c00e71735a6d17d4e7b9012096b41c4eb3aaf947f6ea429": "0x0100", + "0x74dd702da46f77d7acf77f5a48d4af7d4e7b9012096b41c4eb3aaf947f6ea429": "0x0000", + "0x74dd702da46f77d7acf77f5a48d4af7d62556a85fcb7c61b2c6c750924846b153711bec3bb428f9db247ca85cd0817d4fb377158368b95d1e8554f5044f4771ae9e3367bccef6b6c": "0xb247ca85cd0817d4fb377158368b95d1e8554f5044f4771ae9e3367bccef6b6c01644afcbcf866368d0320cb7646afa3ccaec2b4d3697a021bda2346a0b638186700e7f10262de5b000000407a10f35a0000", + "0x74dd702da46f77d7acf77f5a48d4af7d62556a85fcb7c61b2c6c750924846b1557ad0b620233e4bd585c825c0239aa16cdc3b33458538c8a8d2e06871a2058db0462f65b051ff239": "0x585c825c0239aa16cdc3b33458538c8a8d2e06871a2058db0462f65b051ff239014458980cd4641148120e85c2a060fbb489c3085ca1673eb204c953483824e92901644afcbcf866368d0320cb7646afa3ccaec2b4d3697a021bda2346a0b6381867e7f10262de5b000000407a10f35a0000", + "0x74dd702da46f77d7acf77f5a48d4af7d62556a85fcb7c61b2c6c750924846b157327ffec9f4e3aae38032e6d4cbdcf2e9f7ee64772070898b5e8e5668f3187616c7186c40e468279": "0x38032e6d4cbdcf2e9f7ee64772070898b5e8e5668f3187616c7186c40e46827901340ca3b6bf3f0989bba6befb5a9bc14a1d2819b7d7ffaef6eb01e09cce86bb65014458980cd4641148120e85c2a060fbb489c3085ca1673eb204c953483824e929e7f10262de5b000000407a10f35a0000", + "0x74dd702da46f77d7acf77f5a48d4af7d62556a85fcb7c61b2c6c750924846b1587c202a4bbeeb0be644afcbcf866368d0320cb7646afa3ccaec2b4d3697a021bda2346a0b6381867": "0x644afcbcf866368d0320cb7646afa3ccaec2b4d3697a021bda2346a0b638186701585c825c0239aa16cdc3b33458538c8a8d2e06871a2058db0462f65b051ff23901b247ca85cd0817d4fb377158368b95d1e8554f5044f4771ae9e3367bccef6b6ce7f10262de5b000000407a10f35a0000", + "0x74dd702da46f77d7acf77f5a48d4af7d62556a85fcb7c61b2c6c750924846b15ef2c791691f7e8884458980cd4641148120e85c2a060fbb489c3085ca1673eb204c953483824e929": "0x4458980cd4641148120e85c2a060fbb489c3085ca1673eb204c953483824e9290138032e6d4cbdcf2e9f7ee64772070898b5e8e5668f3187616c7186c40e46827901585c825c0239aa16cdc3b33458538c8a8d2e06871a2058db0462f65b051ff239e7f10262de5b000000407a10f35a0000", + "0x74dd702da46f77d7acf77f5a48d4af7d62556a85fcb7c61b2c6c750924846b15f6e048504d0c2d7d340ca3b6bf3f0989bba6befb5a9bc14a1d2819b7d7ffaef6eb01e09cce86bb65": "0x340ca3b6bf3f0989bba6befb5a9bc14a1d2819b7d7ffaef6eb01e09cce86bb65000138032e6d4cbdcf2e9f7ee64772070898b5e8e5668f3187616c7186c40e468279e7f10262de5b000000407a10f35a0000", + "0x74dd702da46f77d7acf77f5a48d4af7d7a6dc62e324093ba1331bf49fdb2f24a": "0x06000000", + "0x74dd702da46f77d7acf77f5a48d4af7de5c03730c8f59f00941607850b6633d8dec683721ac60452e7f10262de5b0000": "0x01340ca3b6bf3f0989bba6befb5a9bc14a1d2819b7d7ffaef6eb01e09cce86bb6501b247ca85cd0817d4fb377158368b95d1e8554f5044f4771ae9e3367bccef6b6c", + "0x7a6d38deaa01cb6e76ee69889f1696272be9a4e88368a2188d2b9100a9f3cd43": "0x00000000000000000000000000000000", + "0x7a6d38deaa01cb6e76ee69889f16962730256ea2c545a3e5e3744665ffb2ed28": "0x00020000", + "0x7a6d38deaa01cb6e76ee69889f1696273f0d64e1907361c689834a9c1cb0fbe0": "0x20000000", + "0x7a6d38deaa01cb6e76ee69889f16962749d67997de33812a1cc37310f765b82e": "0x00000000000000000000000000000000", + "0x7a6d38deaa01cb6e76ee69889f1696274e7b9012096b41c4eb3aaf947f6ea429": "0x0300", + "0x7a6d38deaa01cb6e76ee69889f169627ba93302f3b868c50785e6ade45c6a1d8": "0x10000000", "0x94eadf0156a8ad5156507773d0471e4a16973e1142f5bd30d9464076794007db": "0x00", "0x94eadf0156a8ad5156507773d0471e4a1e8de4295679f32032acb318db364135": "0x00", "0x94eadf0156a8ad5156507773d0471e4a4e7b9012096b41c4eb3aaf947f6ea429": "0x0000", @@ -138,30 +166,39 @@ "0x94eadf0156a8ad5156507773d0471e4a9ce0310edffce7a01a96c2039f92dd10": "0x01000000", "0x94eadf0156a8ad5156507773d0471e4ab8ebad86f546c7e0b135a4212aace339": "0x00", "0xa2ce73642c549ae79c14f0a671cf45f94e7b9012096b41c4eb3aaf947f6ea429": "0x0000", - "0xb341e3a63e58a188839b242d17f8c9f82586833f834350b4d435d5fd269ecc8b": "0x1003000000010000000000000002000000", + "0xb341e3a63e58a188839b242d17f8c9f82586833f834350b4d435d5fd269ecc8b": "0x18010000000500000004000000020000000000000003000000", "0xb341e3a63e58a188839b242d17f8c9f84e7b9012096b41c4eb3aaf947f6ea429": "0x0000", - "0xb341e3a63e58a188839b242d17f8c9f87a50c904b368210021127f9238883a6e": "0x10ac1799757a742c3c22be09c8ba6ea5d7e29981068897aa23c762fc8dd1ef876708edee5045683123d8550008f194b4f63875a9865620a578e93127dd9608826086ffd146349c1fe66b6d1b5142a5acaf70b4656f39fc0a6ec96e712c5b67de4d28b039ebf418c3986f0080f8a50eba030b4d5c46ad8acfb1ff5b82343f34fb5c", + "0xb341e3a63e58a188839b242d17f8c9f87a50c904b368210021127f9238883a6e": "0x1808edee5045683123d8550008f194b4f63875a9865620a578e93127dd960882600e5617d995099aee88d0232aa38e171ba71f33cb62deb4a9cf98fc3d40c09956d0baff734570d38b450f4a316e9fc95b8b6eb79c80b2108f365efe66e042da2528b039ebf418c3986f0080f8a50eba030b4d5c46ad8acfb1ff5b82343f34fb5c86ffd146349c1fe66b6d1b5142a5acaf70b4656f39fc0a6ec96e712c5b67de4dac1799757a742c3c22be09c8ba6ea5d7e29981068897aa23c762fc8dd1ef8767", "0xb341e3a63e58a188839b242d17f8c9f8b5cab3380174032968897a4c3ce57c0a": "0x00000000", "0xc2261276cc9d1f8598ea4b6a74b15c2f218f26c73add634897550b4003b26bc67e38d6399f9eb96f2ed6c58d84b87e984458980cd4641148120e85c2a060fbb489c3085ca1673eb204c953483824e929": "0x047374616b696e672000407a10f35a0000000000000000000002", "0xc2261276cc9d1f8598ea4b6a74b15c2f218f26c73add634897550b4003b26bc68bd7fbe93f8307691b98dcd4b513ab79340ca3b6bf3f0989bba6befb5a9bc14a1d2819b7d7ffaef6eb01e09cce86bb65": "0x047374616b696e672000407a10f35a0000000000000000000002", + "0xc2261276cc9d1f8598ea4b6a74b15c2f218f26c73add634897550b4003b26bc6a544eae9b853417ce1c1d3549473d2b2b247ca85cd0817d4fb377158368b95d1e8554f5044f4771ae9e3367bccef6b6c": "0x047374616b696e672000407a10f35a0000000000000000000002", "0xc2261276cc9d1f8598ea4b6a74b15c2f218f26c73add634897550b4003b26bc6b032edfca52ad56c48503c9d57186bb738032e6d4cbdcf2e9f7ee64772070898b5e8e5668f3187616c7186c40e468279": "0x047374616b696e672000407a10f35a0000000000000000000002", + "0xc2261276cc9d1f8598ea4b6a74b15c2f218f26c73add634897550b4003b26bc6b91004fa51c28d27178dd5d3970b5fea644afcbcf866368d0320cb7646afa3ccaec2b4d3697a021bda2346a0b6381867": "0x047374616b696e672000407a10f35a0000000000000000000002", "0xc2261276cc9d1f8598ea4b6a74b15c2f218f26c73add634897550b4003b26bc6e07c5822a04c0653b0d53c94462639eb585c825c0239aa16cdc3b33458538c8a8d2e06871a2058db0462f65b051ff239": "0x047374616b696e672000407a10f35a0000000000000000000002", "0xc2261276cc9d1f8598ea4b6a74b15c2f308ce9615de0775a82f8a94dc3d285a1": "0x01", "0xc2261276cc9d1f8598ea4b6a74b15c2f4e7b9012096b41c4eb3aaf947f6ea429": "0x0000", - "0xc2261276cc9d1f8598ea4b6a74b15c2f57c875e4cff74148e4628f264b974c80": "0x0000909dceda82370000000000000000", + "0xc2261276cc9d1f8598ea4b6a74b15c2f57c875e4cff74148e4628f264b974c80": "0x000058ec354844530000000000000000", "0xca32a41f4b3ed515863dc0a38697f84e4e7b9012096b41c4eb3aaf947f6ea429": "0x0000", - "0xcd710b30bd2eab0352ddcc26417aa1940b76934f4cc08dee01012d059e1b83ee": "0x00", "0xcd710b30bd2eab0352ddcc26417aa1944e7b9012096b41c4eb3aaf947f6ea429": "0x0000", "0xcd710b30bd2eab0352ddcc26417aa1949f4993f016e2d2f8e5f43be7bb259486": "0x00", + "0xcec5070d609dd3497f72bde07fc96ba04c014e6bf8b8c2c011e7290b85696bb33711bec3bb428f9db247ca85cd0817d4fb377158368b95d1e8554f5044f4771ae9e3367bccef6b6c": "0x10a7934cbb2f69964fa0a00c1dcc0cb4f089f10228ec32f8e0951e09bb16a7910e5617d995099aee88d0232aa38e171ba71f33cb62deb4a9cf98fc3d40c099560e5617d995099aee88d0232aa38e171ba71f33cb62deb4a9cf98fc3d40c099560e5617d995099aee88d0232aa38e171ba71f33cb62deb4a9cf98fc3d40c099560e5617d995099aee88d0232aa38e171ba71f33cb62deb4a9cf98fc3d40c099560e5617d995099aee88d0232aa38e171ba71f33cb62deb4a9cf98fc3d40c09956", "0xcec5070d609dd3497f72bde07fc96ba04c014e6bf8b8c2c011e7290b85696bb357ad0b620233e4bd585c825c0239aa16cdc3b33458538c8a8d2e06871a2058db0462f65b051ff239": "0x074136bcb202b26df56e0deecd4807b5177c987aefe11aa23204505711f3b4c4ac1799757a742c3c22be09c8ba6ea5d7e29981068897aa23c762fc8dd1ef8767ac1799757a742c3c22be09c8ba6ea5d7e29981068897aa23c762fc8dd1ef8767ac1799757a742c3c22be09c8ba6ea5d7e29981068897aa23c762fc8dd1ef8767ac1799757a742c3c22be09c8ba6ea5d7e29981068897aa23c762fc8dd1ef8767ac1799757a742c3c22be09c8ba6ea5d7e29981068897aa23c762fc8dd1ef8767", "0xcec5070d609dd3497f72bde07fc96ba04c014e6bf8b8c2c011e7290b85696bb37327ffec9f4e3aae38032e6d4cbdcf2e9f7ee64772070898b5e8e5668f3187616c7186c40e468279": "0xdb2c1700c11f8a0bfe9f1f935bb39a5b28074df06a51bee561b1987b1f88cdab08edee5045683123d8550008f194b4f63875a9865620a578e93127dd9608826008edee5045683123d8550008f194b4f63875a9865620a578e93127dd9608826008edee5045683123d8550008f194b4f63875a9865620a578e93127dd9608826008edee5045683123d8550008f194b4f63875a9865620a578e93127dd9608826008edee5045683123d8550008f194b4f63875a9865620a578e93127dd96088260", + "0xcec5070d609dd3497f72bde07fc96ba04c014e6bf8b8c2c011e7290b85696bb387c202a4bbeeb0be644afcbcf866368d0320cb7646afa3ccaec2b4d3697a021bda2346a0b6381867": "0xbc47f757d48f2e7f0ba8287f034f54740663824f46348bf14c5178e2de36e218d0baff734570d38b450f4a316e9fc95b8b6eb79c80b2108f365efe66e042da25d0baff734570d38b450f4a316e9fc95b8b6eb79c80b2108f365efe66e042da25d0baff734570d38b450f4a316e9fc95b8b6eb79c80b2108f365efe66e042da25d0baff734570d38b450f4a316e9fc95b8b6eb79c80b2108f365efe66e042da25d0baff734570d38b450f4a316e9fc95b8b6eb79c80b2108f365efe66e042da25", "0xcec5070d609dd3497f72bde07fc96ba04c014e6bf8b8c2c011e7290b85696bb3ef2c791691f7e8884458980cd4641148120e85c2a060fbb489c3085ca1673eb204c953483824e929": "0x8a21c7e8324c550a97b58523cbdf57801f306725be3ee176203677105513ceb428b039ebf418c3986f0080f8a50eba030b4d5c46ad8acfb1ff5b82343f34fb5c28b039ebf418c3986f0080f8a50eba030b4d5c46ad8acfb1ff5b82343f34fb5c28b039ebf418c3986f0080f8a50eba030b4d5c46ad8acfb1ff5b82343f34fb5c28b039ebf418c3986f0080f8a50eba030b4d5c46ad8acfb1ff5b82343f34fb5c28b039ebf418c3986f0080f8a50eba030b4d5c46ad8acfb1ff5b82343f34fb5c", "0xcec5070d609dd3497f72bde07fc96ba04c014e6bf8b8c2c011e7290b85696bb3f6e048504d0c2d7d340ca3b6bf3f0989bba6befb5a9bc14a1d2819b7d7ffaef6eb01e09cce86bb65": "0xdf2bd047eb78e899e076aedbb604e8cb63d994dc35429a0e86e76323c2b6cf9c86ffd146349c1fe66b6d1b5142a5acaf70b4656f39fc0a6ec96e712c5b67de4d86ffd146349c1fe66b6d1b5142a5acaf70b4656f39fc0a6ec96e712c5b67de4d86ffd146349c1fe66b6d1b5142a5acaf70b4656f39fc0a6ec96e712c5b67de4d86ffd146349c1fe66b6d1b5142a5acaf70b4656f39fc0a6ec96e712c5b67de4d86ffd146349c1fe66b6d1b5142a5acaf70b4656f39fc0a6ec96e712c5b67de4d", "0xcec5070d609dd3497f72bde07fc96ba04e7b9012096b41c4eb3aaf947f6ea429": "0x0000", + "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa195019d506531696dfc9696d6f6e800e5617d995099aee88d0232aa38e171ba71f33cb62deb4a9cf98fc3d40c09956": "0xb247ca85cd0817d4fb377158368b95d1e8554f5044f4771ae9e3367bccef6b6c", "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa19501d35b22ad514f3ad6173676e8086ffd146349c1fe66b6d1b5142a5acaf70b4656f39fc0a6ec96e712c5b67de4d": "0x340ca3b6bf3f0989bba6befb5a9bc14a1d2819b7d7ffaef6eb01e09cce86bb65", "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa19501efa486e151f089f696d6f6e8028b039ebf418c3986f0080f8a50eba030b4d5c46ad8acfb1ff5b82343f34fb5c": "0x4458980cd4641148120e85c2a060fbb489c3085ca1673eb204c953483824e929", + "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa195022fff2d54ef927fc7061726180d0baff734570d38b450f4a316e9fc95b8b6eb79c80b2108f365efe66e042da25": "0x644afcbcf866368d0320cb7646afa3ccaec2b4d3697a021bda2346a0b6381867", "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa195026655ddb9869df6f706172618086ffd146349c1fe66b6d1b5142a5acaf70b4656f39fc0a6ec96e712c5b67de4d": "0x340ca3b6bf3f0989bba6befb5a9bc14a1d2819b7d7ffaef6eb01e09cce86bb65", + "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa195038c8db12906c26536175646980d0baff734570d38b450f4a316e9fc95b8b6eb79c80b2108f365efe66e042da25": "0x644afcbcf866368d0320cb7646afa3ccaec2b4d3697a021bda2346a0b6381867", + "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa19503cabe0a9e17a437f6261626580d0baff734570d38b450f4a316e9fc95b8b6eb79c80b2108f365efe66e042da25": "0x644afcbcf866368d0320cb7646afa3ccaec2b4d3697a021bda2346a0b6381867", "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa19503e84bf2dcdb4a3a56173676e8028b039ebf418c3986f0080f8a50eba030b4d5c46ad8acfb1ff5b82343f34fb5c": "0x4458980cd4641148120e85c2a060fbb489c3085ca1673eb204c953483824e929", + "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa195041969381579136de6173676e800e5617d995099aee88d0232aa38e171ba71f33cb62deb4a9cf98fc3d40c09956": "0xb247ca85cd0817d4fb377158368b95d1e8554f5044f4771ae9e3367bccef6b6c", + "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa195047599cffaff08cd26772616e80bc47f757d48f2e7f0ba8287f034f54740663824f46348bf14c5178e2de36e218": "0x644afcbcf866368d0320cb7646afa3ccaec2b4d3697a021bda2346a0b6381867", "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa19504a27f33c1daffcca6175646980ac1799757a742c3c22be09c8ba6ea5d7e29981068897aa23c762fc8dd1ef8767": "0x585c825c0239aa16cdc3b33458538c8a8d2e06871a2058db0462f65b051ff239", "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa19504d5d725e6ac481b17061726180ac1799757a742c3c22be09c8ba6ea5d7e29981068897aa23c762fc8dd1ef8767": "0x585c825c0239aa16cdc3b33458538c8a8d2e06871a2058db0462f65b051ff239", "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa19504ed57d6bbeb5f7f9617564698008edee5045683123d8550008f194b4f63875a9865620a578e93127dd96088260": "0x38032e6d4cbdcf2e9f7ee64772070898b5e8e5668f3187616c7186c40e468279", @@ -169,32 +206,38 @@ "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa1950600834691303ffa4706172618008edee5045683123d8550008f194b4f63875a9865620a578e93127dd96088260": "0x38032e6d4cbdcf2e9f7ee64772070898b5e8e5668f3187616c7186c40e468279", "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa19506073e4504e4f56546772616e808a21c7e8324c550a97b58523cbdf57801f306725be3ee176203677105513ceb4": "0x4458980cd4641148120e85c2a060fbb489c3085ca1673eb204c953483824e929", "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa195063c5c83875ca309f6772616e80074136bcb202b26df56e0deecd4807b5177c987aefe11aa23204505711f3b4c4": "0x585c825c0239aa16cdc3b33458538c8a8d2e06871a2058db0462f65b051ff239", + "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa195078d797b7c723f84f6772616e8010a7934cbb2f69964fa0a00c1dcc0cb4f089f10228ec32f8e0951e09bb16a791": "0xb247ca85cd0817d4fb377158368b95d1e8554f5044f4771ae9e3367bccef6b6c", + "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa195079046411aaa13e32696d6f6e80d0baff734570d38b450f4a316e9fc95b8b6eb79c80b2108f365efe66e042da25": "0x644afcbcf866368d0320cb7646afa3ccaec2b4d3697a021bda2346a0b6381867", "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa1950842c0b81aada8fba626162658028b039ebf418c3986f0080f8a50eba030b4d5c46ad8acfb1ff5b82343f34fb5c": "0x4458980cd4641148120e85c2a060fbb489c3085ca1673eb204c953483824e929", "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa195085db53863cb26275696d6f6e8008edee5045683123d8550008f194b4f63875a9865620a578e93127dd96088260": "0x38032e6d4cbdcf2e9f7ee64772070898b5e8e5668f3187616c7186c40e468279", + "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa1950868db063b4b403a26173676e80d0baff734570d38b450f4a316e9fc95b8b6eb79c80b2108f365efe66e042da25": "0x644afcbcf866368d0320cb7646afa3ccaec2b4d3697a021bda2346a0b6381867", "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa19509b1fdd3745061f0a617564698028b039ebf418c3986f0080f8a50eba030b4d5c46ad8acfb1ff5b82343f34fb5c": "0x4458980cd4641148120e85c2a060fbb489c3085ca1673eb204c953483824e929", "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa19509d91a7b041ee76146173676e8008edee5045683123d8550008f194b4f63875a9865620a578e93127dd96088260": "0x38032e6d4cbdcf2e9f7ee64772070898b5e8e5668f3187616c7186c40e468279", "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa19509e94127b3fb1736e626162658008edee5045683123d8550008f194b4f63875a9865620a578e93127dd96088260": "0x38032e6d4cbdcf2e9f7ee64772070898b5e8e5668f3187616c7186c40e468279", + "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa1950a7a057c6b2bd1d1170617261800e5617d995099aee88d0232aa38e171ba71f33cb62deb4a9cf98fc3d40c09956": "0xb247ca85cd0817d4fb377158368b95d1e8554f5044f4771ae9e3367bccef6b6c", "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa1950af84234b5cb9b333706172618028b039ebf418c3986f0080f8a50eba030b4d5c46ad8acfb1ff5b82343f34fb5c": "0x4458980cd4641148120e85c2a060fbb489c3085ca1673eb204c953483824e929", "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa1950af935b93f6bf20fa696d6f6e80ac1799757a742c3c22be09c8ba6ea5d7e29981068897aa23c762fc8dd1ef8767": "0x585c825c0239aa16cdc3b33458538c8a8d2e06871a2058db0462f65b051ff239", "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa1950c76794199dabd66e6173676e80ac1799757a742c3c22be09c8ba6ea5d7e29981068897aa23c762fc8dd1ef8767": "0x585c825c0239aa16cdc3b33458538c8a8d2e06871a2058db0462f65b051ff239", + "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa1950e48a238a2a1d6d3961756469800e5617d995099aee88d0232aa38e171ba71f33cb62deb4a9cf98fc3d40c09956": "0xb247ca85cd0817d4fb377158368b95d1e8554f5044f4771ae9e3367bccef6b6c", "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa1950e5000589bb95e76f617564698086ffd146349c1fe66b6d1b5142a5acaf70b4656f39fc0a6ec96e712c5b67de4d": "0x340ca3b6bf3f0989bba6befb5a9bc14a1d2819b7d7ffaef6eb01e09cce86bb65", "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa1950e5086564f209bcae6772616e80df2bd047eb78e899e076aedbb604e8cb63d994dc35429a0e86e76323c2b6cf9c": "0x340ca3b6bf3f0989bba6befb5a9bc14a1d2819b7d7ffaef6eb01e09cce86bb65", "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa1950ef26c4941194249a626162658086ffd146349c1fe66b6d1b5142a5acaf70b4656f39fc0a6ec96e712c5b67de4d": "0x340ca3b6bf3f0989bba6befb5a9bc14a1d2819b7d7ffaef6eb01e09cce86bb65", "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa1950ef55a0db0e2b39d0696d6f6e8086ffd146349c1fe66b6d1b5142a5acaf70b4656f39fc0a6ec96e712c5b67de4d": "0x340ca3b6bf3f0989bba6befb5a9bc14a1d2819b7d7ffaef6eb01e09cce86bb65", + "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa1950f3a824aa49e92c6062616265800e5617d995099aee88d0232aa38e171ba71f33cb62deb4a9cf98fc3d40c09956": "0xb247ca85cd0817d4fb377158368b95d1e8554f5044f4771ae9e3367bccef6b6c", "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa1950fe42329378747e986772616e80db2c1700c11f8a0bfe9f1f935bb39a5b28074df06a51bee561b1987b1f88cdab": "0x38032e6d4cbdcf2e9f7ee64772070898b5e8e5668f3187616c7186c40e468279", - "0xcec5070d609dd3497f72bde07fc96ba088dcde934c658227ee1dfafcd6e16903": "0x10340ca3b6bf3f0989bba6befb5a9bc14a1d2819b7d7ffaef6eb01e09cce86bb6538032e6d4cbdcf2e9f7ee64772070898b5e8e5668f3187616c7186c40e4682794458980cd4641148120e85c2a060fbb489c3085ca1673eb204c953483824e929585c825c0239aa16cdc3b33458538c8a8d2e06871a2058db0462f65b051ff239", - "0xcec5070d609dd3497f72bde07fc96ba0e0cdd062e6eaf24295ad4ccfc41d4609": "0x10340ca3b6bf3f0989bba6befb5a9bc14a1d2819b7d7ffaef6eb01e09cce86bb65df2bd047eb78e899e076aedbb604e8cb63d994dc35429a0e86e76323c2b6cf9c86ffd146349c1fe66b6d1b5142a5acaf70b4656f39fc0a6ec96e712c5b67de4d86ffd146349c1fe66b6d1b5142a5acaf70b4656f39fc0a6ec96e712c5b67de4d86ffd146349c1fe66b6d1b5142a5acaf70b4656f39fc0a6ec96e712c5b67de4d86ffd146349c1fe66b6d1b5142a5acaf70b4656f39fc0a6ec96e712c5b67de4d86ffd146349c1fe66b6d1b5142a5acaf70b4656f39fc0a6ec96e712c5b67de4d38032e6d4cbdcf2e9f7ee64772070898b5e8e5668f3187616c7186c40e468279db2c1700c11f8a0bfe9f1f935bb39a5b28074df06a51bee561b1987b1f88cdab08edee5045683123d8550008f194b4f63875a9865620a578e93127dd9608826008edee5045683123d8550008f194b4f63875a9865620a578e93127dd9608826008edee5045683123d8550008f194b4f63875a9865620a578e93127dd9608826008edee5045683123d8550008f194b4f63875a9865620a578e93127dd9608826008edee5045683123d8550008f194b4f63875a9865620a578e93127dd960882604458980cd4641148120e85c2a060fbb489c3085ca1673eb204c953483824e9298a21c7e8324c550a97b58523cbdf57801f306725be3ee176203677105513ceb428b039ebf418c3986f0080f8a50eba030b4d5c46ad8acfb1ff5b82343f34fb5c28b039ebf418c3986f0080f8a50eba030b4d5c46ad8acfb1ff5b82343f34fb5c28b039ebf418c3986f0080f8a50eba030b4d5c46ad8acfb1ff5b82343f34fb5c28b039ebf418c3986f0080f8a50eba030b4d5c46ad8acfb1ff5b82343f34fb5c28b039ebf418c3986f0080f8a50eba030b4d5c46ad8acfb1ff5b82343f34fb5c585c825c0239aa16cdc3b33458538c8a8d2e06871a2058db0462f65b051ff239074136bcb202b26df56e0deecd4807b5177c987aefe11aa23204505711f3b4c4ac1799757a742c3c22be09c8ba6ea5d7e29981068897aa23c762fc8dd1ef8767ac1799757a742c3c22be09c8ba6ea5d7e29981068897aa23c762fc8dd1ef8767ac1799757a742c3c22be09c8ba6ea5d7e29981068897aa23c762fc8dd1ef8767ac1799757a742c3c22be09c8ba6ea5d7e29981068897aa23c762fc8dd1ef8767ac1799757a742c3c22be09c8ba6ea5d7e29981068897aa23c762fc8dd1ef8767", + "0xcec5070d609dd3497f72bde07fc96ba088dcde934c658227ee1dfafcd6e16903": "0x18340ca3b6bf3f0989bba6befb5a9bc14a1d2819b7d7ffaef6eb01e09cce86bb6538032e6d4cbdcf2e9f7ee64772070898b5e8e5668f3187616c7186c40e4682794458980cd4641148120e85c2a060fbb489c3085ca1673eb204c953483824e929585c825c0239aa16cdc3b33458538c8a8d2e06871a2058db0462f65b051ff239644afcbcf866368d0320cb7646afa3ccaec2b4d3697a021bda2346a0b6381867b247ca85cd0817d4fb377158368b95d1e8554f5044f4771ae9e3367bccef6b6c", + "0xcec5070d609dd3497f72bde07fc96ba0e0cdd062e6eaf24295ad4ccfc41d4609": "0x18340ca3b6bf3f0989bba6befb5a9bc14a1d2819b7d7ffaef6eb01e09cce86bb65df2bd047eb78e899e076aedbb604e8cb63d994dc35429a0e86e76323c2b6cf9c86ffd146349c1fe66b6d1b5142a5acaf70b4656f39fc0a6ec96e712c5b67de4d86ffd146349c1fe66b6d1b5142a5acaf70b4656f39fc0a6ec96e712c5b67de4d86ffd146349c1fe66b6d1b5142a5acaf70b4656f39fc0a6ec96e712c5b67de4d86ffd146349c1fe66b6d1b5142a5acaf70b4656f39fc0a6ec96e712c5b67de4d86ffd146349c1fe66b6d1b5142a5acaf70b4656f39fc0a6ec96e712c5b67de4d38032e6d4cbdcf2e9f7ee64772070898b5e8e5668f3187616c7186c40e468279db2c1700c11f8a0bfe9f1f935bb39a5b28074df06a51bee561b1987b1f88cdab08edee5045683123d8550008f194b4f63875a9865620a578e93127dd9608826008edee5045683123d8550008f194b4f63875a9865620a578e93127dd9608826008edee5045683123d8550008f194b4f63875a9865620a578e93127dd9608826008edee5045683123d8550008f194b4f63875a9865620a578e93127dd9608826008edee5045683123d8550008f194b4f63875a9865620a578e93127dd960882604458980cd4641148120e85c2a060fbb489c3085ca1673eb204c953483824e9298a21c7e8324c550a97b58523cbdf57801f306725be3ee176203677105513ceb428b039ebf418c3986f0080f8a50eba030b4d5c46ad8acfb1ff5b82343f34fb5c28b039ebf418c3986f0080f8a50eba030b4d5c46ad8acfb1ff5b82343f34fb5c28b039ebf418c3986f0080f8a50eba030b4d5c46ad8acfb1ff5b82343f34fb5c28b039ebf418c3986f0080f8a50eba030b4d5c46ad8acfb1ff5b82343f34fb5c28b039ebf418c3986f0080f8a50eba030b4d5c46ad8acfb1ff5b82343f34fb5c585c825c0239aa16cdc3b33458538c8a8d2e06871a2058db0462f65b051ff239074136bcb202b26df56e0deecd4807b5177c987aefe11aa23204505711f3b4c4ac1799757a742c3c22be09c8ba6ea5d7e29981068897aa23c762fc8dd1ef8767ac1799757a742c3c22be09c8ba6ea5d7e29981068897aa23c762fc8dd1ef8767ac1799757a742c3c22be09c8ba6ea5d7e29981068897aa23c762fc8dd1ef8767ac1799757a742c3c22be09c8ba6ea5d7e29981068897aa23c762fc8dd1ef8767ac1799757a742c3c22be09c8ba6ea5d7e29981068897aa23c762fc8dd1ef8767644afcbcf866368d0320cb7646afa3ccaec2b4d3697a021bda2346a0b6381867bc47f757d48f2e7f0ba8287f034f54740663824f46348bf14c5178e2de36e218d0baff734570d38b450f4a316e9fc95b8b6eb79c80b2108f365efe66e042da25d0baff734570d38b450f4a316e9fc95b8b6eb79c80b2108f365efe66e042da25d0baff734570d38b450f4a316e9fc95b8b6eb79c80b2108f365efe66e042da25d0baff734570d38b450f4a316e9fc95b8b6eb79c80b2108f365efe66e042da25d0baff734570d38b450f4a316e9fc95b8b6eb79c80b2108f365efe66e042da25b247ca85cd0817d4fb377158368b95d1e8554f5044f4771ae9e3367bccef6b6c10a7934cbb2f69964fa0a00c1dcc0cb4f089f10228ec32f8e0951e09bb16a7910e5617d995099aee88d0232aa38e171ba71f33cb62deb4a9cf98fc3d40c099560e5617d995099aee88d0232aa38e171ba71f33cb62deb4a9cf98fc3d40c099560e5617d995099aee88d0232aa38e171ba71f33cb62deb4a9cf98fc3d40c099560e5617d995099aee88d0232aa38e171ba71f33cb62deb4a9cf98fc3d40c099560e5617d995099aee88d0232aa38e171ba71f33cb62deb4a9cf98fc3d40c09956", "0xd57bce545fb382c34570e5dfbf338f5e4e7b9012096b41c4eb3aaf947f6ea429": "0x0000", "0xd5c41b52a371aa36c9254ce34324f2a54e7b9012096b41c4eb3aaf947f6ea429": "0x0000", "0xd5e1a2fa16732ce6906189438c0a82c64e7b9012096b41c4eb3aaf947f6ea429": "0x0000", "0xd8bbe27baf3aa64bb483afabc240f68e4e7b9012096b41c4eb3aaf947f6ea429": "0x0000", - "0xd8f314b7f4e6b095f0f8ee4656a448254e7b9012096b41c4eb3aaf947f6ea429": "0x0000", - "0xdf66cf37cde77d2a63889732a23c685e4e7b9012096b41c4eb3aaf947f6ea429": "0x0000", - "0xede8e4fdc3c8b556f0ce2f77fc2575e34e7b9012096b41c4eb3aaf947f6ea429": "0x0000", + "0xd8f314b7f4e6b095f0f8ee4656a448254e7b9012096b41c4eb3aaf947f6ea429": "0x0100", + "0xede8e4fdc3c8b556f0ce2f77fc2575e34e7b9012096b41c4eb3aaf947f6ea429": "0x0100", "0xf0c365c3cf59d671eb72da0e7a4113c44e7b9012096b41c4eb3aaf947f6ea429": "0x0000", - "0xf5207f03cfdce586301014700e2c25934e7b9012096b41c4eb3aaf947f6ea429": "0x0000" + "0xf5207f03cfdce586301014700e2c25934e7b9012096b41c4eb3aaf947f6ea429": "0x0000", + "0xf5a4963e4efb097983d7a693b0c1ee454e7b9012096b41c4eb3aaf947f6ea429": "0x0100" }, "childrenDefault": {} } } -} +} \ No newline at end of file diff --git a/dev-specs/kilt-parachain/peregrine-relay2.json b/dev-specs/kilt-parachain/peregrine-relay2.json deleted file mode 100644 index 3b9f3b33e..000000000 --- a/dev-specs/kilt-parachain/peregrine-relay2.json +++ /dev/null @@ -1,206 +0,0 @@ -{ - "name": "Peregrine Relay", - "id": "westend_peregrine5_relay", - "chainType": "Live", - "bootNodes": [], - "telemetryEndpoints": [ - [ - "/dns/telemetry-backend.kilt.io/tcp/8080/x-parity-wss/%2Fsubmit", - 0 - ] - ], - "protocolId": "Rkilt5", - "properties": null, - "forkBlocks": null, - "badBlocks": null, - "lightSyncState": null, - "codeSubstitutes": {}, - "genesis": { - "raw": { - "top": { - "0x06de3d8a54d27e44a9d5ce189618f22d4e7b9012096b41c4eb3aaf947f6ea429": "0x0200", - "0x06de3d8a54d27e44a9d5ce189618f22db4b49d95320d9021994c850f25b8e385": "0x0000300000800000080000000000100000c8000005000000050000000200000002000000000050000000100000e8764817000000040000000400000000000000000000000000000000000000000000000000000000000000000000000800000000200000040000000400000000001000b0040000000000000000000014000000040000000400000000000000010100000000060000006400000002000000c8000000020000001900000000000000020000000200000000c817a804000000000200000005000000", - "0x1405f2411d0af5a7ff397e7c9dc68d194e7b9012096b41c4eb3aaf947f6ea429": "0x0000", - "0x1405f2411d0af5a7ff397e7c9dc68d196323ae84c43568be0d1394d5d0d522c4": "0x02000000", - "0x1809d78346727a0ef58c0fa03bafa3234e7b9012096b41c4eb3aaf947f6ea429": "0x0000", - "0x196e027349017067f9eb56e2c4d9ded54e7b9012096b41c4eb3aaf947f6ea429": "0x0000", - "0x1a736d37504c2e3fb73dad160c55b2914e7b9012096b41c4eb3aaf947f6ea429": "0x0000", - "0x1cb6f36e027abb2091cfb5110ab5087f4e7b9012096b41c4eb3aaf947f6ea429": "0x0000", - "0x1cb6f36e027abb2091cfb5110ab5087f5e0621c4869aa60c02be9adcc98a0d1d": "0x1086ffd146349c1fe66b6d1b5142a5acaf70b4656f39fc0a6ec96e712c5b67de4d010000000000000008edee5045683123d8550008f194b4f63875a9865620a578e93127dd96088260010000000000000028b039ebf418c3986f0080f8a50eba030b4d5c46ad8acfb1ff5b82343f34fb5c0100000000000000ac1799757a742c3c22be09c8ba6ea5d7e29981068897aa23c762fc8dd1ef87670100000000000000", - "0x1cb6f36e027abb2091cfb5110ab5087f66e8f035c8adbe7f1547b43c51e6f8a4": "0x00000000", - "0x1cb6f36e027abb2091cfb5110ab5087faacf00b9b41fda7a9268821c2a2b3e4c": "0x1086ffd146349c1fe66b6d1b5142a5acaf70b4656f39fc0a6ec96e712c5b67de4d010000000000000008edee5045683123d8550008f194b4f63875a9865620a578e93127dd96088260010000000000000028b039ebf418c3986f0080f8a50eba030b4d5c46ad8acfb1ff5b82343f34fb5c0100000000000000ac1799757a742c3c22be09c8ba6ea5d7e29981068897aa23c762fc8dd1ef87670100000000000000", - "0x1cb6f36e027abb2091cfb5110ab5087fdc6b171b77304263c292cc3ea5ed31ef": "0x0100000000000000040000000000000002", - "0x2099d7f109d6e535fb000bba623fd4404c014e6bf8b8c2c011e7290b85696bb3": "0x1086ffd146349c1fe66b6d1b5142a5acaf70b4656f39fc0a6ec96e712c5b67de4d08edee5045683123d8550008f194b4f63875a9865620a578e93127dd9608826028b039ebf418c3986f0080f8a50eba030b4d5c46ad8acfb1ff5b82343f34fb5cac1799757a742c3c22be09c8ba6ea5d7e29981068897aa23c762fc8dd1ef8767", - "0x2099d7f109d6e535fb000bba623fd4404e7b9012096b41c4eb3aaf947f6ea429": "0x0000", - "0x2099d7f109d6e535fb000bba623fd4409f99a2ce711f3a31b2fc05604c93f179": "0x1086ffd146349c1fe66b6d1b5142a5acaf70b4656f39fc0a6ec96e712c5b67de4d08edee5045683123d8550008f194b4f63875a9865620a578e93127dd9608826028b039ebf418c3986f0080f8a50eba030b4d5c46ad8acfb1ff5b82343f34fb5cac1799757a742c3c22be09c8ba6ea5d7e29981068897aa23c762fc8dd1ef8767", - "0x26aa394eea5630e07c48ae0c9558cef734abf5cb34d6244378cddbf18e849d96": "0x00000000000000000000000000000000e018d6f90e000000", - "0x26aa394eea5630e07c48ae0c9558cef74e7b9012096b41c4eb3aaf947f6ea429": "0x0000", - "0x26aa394eea5630e07c48ae0c9558cef75684a022a34dd8bfa2baaf44f172b710": "0x01", - "0x26aa394eea5630e07c48ae0c9558cef78a42f33323cb5ced3b44dd825fda9fcc": "0x4545454545454545454545454545454545454545454545454545454545454545", - "0x26aa394eea5630e07c48ae0c9558cef7a44704b568d21667356a5a050c118746b4def25cfda6ef3a00000000": "0x4545454545454545454545454545454545454545454545454545454545454545", - "0x26aa394eea5630e07c48ae0c9558cef7a7fd6c28836b9a28522dc924110cf439": "0x01", - "0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da97e38d6399f9eb96f2ed6c58d84b87e984458980cd4641148120e85c2a060fbb489c3085ca1673eb204c953483824e929": "0x00000000030000000100000000000000000064a7b3b6e00d00000000000000000000000000000000000000000000000000407a10f35a0000000000000000000000407a10f35a00000000000000000000", - "0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da98bd7fbe93f8307691b98dcd4b513ab79340ca3b6bf3f0989bba6befb5a9bc14a1d2819b7d7ffaef6eb01e09cce86bb65": "0x00000000030000000100000000000000000064a7b3b6e00d00000000000000000000000000000000000000000000000000407a10f35a0000000000000000000000407a10f35a00000000000000000000", - "0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da9b032edfca52ad56c48503c9d57186bb738032e6d4cbdcf2e9f7ee64772070898b5e8e5668f3187616c7186c40e468279": "0x00000000030000000100000000000000000064a7b3b6e00d00000000000000000000000000000000000000000000000000407a10f35a0000000000000000000000407a10f35a00000000000000000000", - "0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da9e07c5822a04c0653b0d53c94462639eb585c825c0239aa16cdc3b33458538c8a8d2e06871a2058db0462f65b051ff239": "0x00000000030000000100000000000000000064a7b3b6e00d00000000000000000000000000000000000000000000000000407a10f35a0000000000000000000000407a10f35a00000000000000000000", - "0x26aa394eea5630e07c48ae0c9558cef7f9cce9c888469bb1a0dceaa129672ef8": "0xd9901c77657374656e64", - "0x2762c81376aaa894b6f64c67e58cc6504e7b9012096b41c4eb3aaf947f6ea429": "0x0000", - "0x2aeddc77fe58c98d50bd37f1b90840f94e7b9012096b41c4eb3aaf947f6ea429": "0x0000", - "0x2b06af9719ac64d755623cda8ddd9b944e7b9012096b41c4eb3aaf947f6ea429": "0x0000", - "0x2b06af9719ac64d755623cda8ddd9b949f99a2ce711f3a31b2fc05604c93f179": "0x1086ffd146349c1fe66b6d1b5142a5acaf70b4656f39fc0a6ec96e712c5b67de4d08edee5045683123d8550008f194b4f63875a9865620a578e93127dd9608826028b039ebf418c3986f0080f8a50eba030b4d5c46ad8acfb1ff5b82343f34fb5cac1799757a742c3c22be09c8ba6ea5d7e29981068897aa23c762fc8dd1ef8767", - "0x2f85f1e1378cb2d7b83adbaf0b5869c24e7b9012096b41c4eb3aaf947f6ea429": "0x0100", - "0x2f85f1e1378cb2d7b83adbaf0b5869c298ef7dc060436e4ed803af07632b89b65153cb1f00942ff401000000": "0x7c04520099b2382d231ffdc58c79042ceef969838b279334d0daecaf984a5a2d04000000", - "0x2f85f1e1378cb2d7b83adbaf0b5869c298ef7dc060436e4ed803af07632b89b6b4def25cfda6ef3a00000000": "0x7c04520099b2382d231ffdc58c79042ceef969838b279334d0daecaf984a5a2d04000000", - "0x2f85f1e1378cb2d7b83adbaf0b5869c2ff3ae12770bea2e48d9bde7385e7a25f": "0x0000000002000000", - "0x31a3a2ce3603138b8b352e8f192ca55a4e7b9012096b41c4eb3aaf947f6ea429": "0x0000", - "0x3a636f6465": "0x52bc537646db8e0528b52ffd0058b45a04eea5454712511030ee381dfbedc1bcdf5d099af4158664893ff595529157ffa37409199c30b5a0f5034f1976d0b29cbcd00dc35fc4c2c67bf903858d2a771ca438e70a3824f602a598867ed24b486893bdf79632a594028313d210631112c642ec3f2cc4cfdeb190d660b0e2d9553cd4b221cf3f06797665217576c9421b44e553d79f31e8db3f0df7bf5d21911c5bd1675d7f54ea97bc2b242b2a91aea1fef7e92ac9268efe9b77bcd26d498e89a3527fca612cf4797b1016e23ecef3c4d1f3947b9c0a7c759085386f7fb190e7ed1f17ee7f1ec754beab24fb92632a715479cab9505f152af57bfe2debb68e72a1fe17eaa7bc503936c25ebdeb212d2e5306522532067915c7cda7b77fadaa2fc371ff2804f52e549aafae2b242a2ac7be8f55badac40d351cbb57ef956eeb932bd5968a633f1c6be75c39b6ee1c6bd715124eec2d94e2b87fb4515151513fce7e730dc15039c6be2b249ba81c1b5f53ec38c6200be9ebb7cb50df5948bdbdeb2149a3d16834597b4c8df4b72b0bad8f3fdfae3f2d46097ad56096daa9c3b7ae3fa33ffb862180351a9c1fe5b377eb5da73da40c3482bf3e822fd9779d7cfafa3382cffe79bbfa053d7e80eba3ea7977c3fe954a8d202d9cb7a2d2516d285f25e78fb8b7e25aa974589246fb5535b23eb62bc7c6fd76f5afc38e63ea0600dbd5759544724cbdc5ee63d586fcaada5bd9566a0469697f14c2afb3ef8a0490f6eb2a16d267d79592a5fd863f2c4601d98d6eee6e97cede0e63a1f5f66f432b423e69f6db0eb290724cbdfd5bd586faba5a27622296a115219f347b167d9674cfde3d8b3e4bd8a5b34b51697f45e5d8285f5d574ad6591cd9d7899888f5a7c528feaac18c77bff8f43b161ad9dbd52fe8f103645f1fdb9563ea5f871dc7d48f80ecedeaba22813d4a8b1dc7d49563a37c159563ea443cdb6dc0a72cb43e76afae2cc4aefe6da8cfe1feb72a0ef737dc972cb4aefeb18a437dc942eceadfae90b07f1c32b8feb18ac37d5dad7fac52b0fd821e3f40e9edecbc42c22283eb1d2ac7da3fa9e2709f57ebba92a2e4583b11eb0a49c7b17622266222266222fe562559685dfd63d5ae1ea0bfae2b24ec444cc4444cc4b3ddad7dfa33fab37fda01f8e907a0ae90a8ef4a04166834da0bafa2726cec9efd6395b250fb285f5d5948728c5d5d57ca31762236028ee0b34b6f6787b1d03afbb7a115219f34fbf5170badb3832ca41c5367ff56b5a1beaed6899888656845c827cdbe459f25ddb777dfa2cf9276e9ed5254da5f513936ca57d79592f516c7fd75222662fd61318abf6a30ebdd2f3e551db04942d168349a0c8cd6e66cf9269543a3d16832306a068930afaf3f9f1601757e3a04eafc5408d4f96901409d9f8200eafc540470ec9ebd63216d83c61fcfae6221ad61697a769085d4d95f2cb4ce0e5323fbecfac362147fd560b69b804f3d00b5f6420e3f76afdeb1909ef1b2e5d5553cb43275180b691b34fe78756521fd31c8abeb8f8a51fc5583d96e08dfbab2d0a8bea2724c5d7db6cbf3698d06f5caf5b4d93ab8d021d523474f1c3d6cf480d1b3468f1a3d23e831a3878c9e327abee8d9a2874dcf9a1e2e7ab4e819d333450f991e287ac4f444d1f344cf123d707a4ed0f3a6470a89469e91665871b0e06069c152c37a83274bea8f14203b70ecc421f39080483fe41e3d6d241e12053290d5133c58789e9073a49c2002f03cb17ee04091ec43deb1f306cb079e269e2b3a2760d9c0aa8145036b06f007d0071e27c02ee00d3c61c01d789ae06102d44167081d289d20748078fdb0f9d15f1a4cbfd06fda8cfea2bde82efa4c9be9303a4da3e9269a89a6f11e1c048fd362b157ac150b6687907a6c17eb0482159492908e4e182101083840921e377ad0e8c9a2274d0f9ae582e70c0f1a9e316c047f592fba0a9e2916061e185e512f405e7fac9b971faf392f3e5c78e9b161bcb478a97965f14af342f33af332f3aabdcabcb0785df1b2e255c58b8a1799d798d7142f295e51bcc4bca0783df172e215e6d5c48b891798d7122f255e49bc44f0faf2f2f242e275c4cb8857112f225e43bca05e42bc827801f1eaf29a61692f1d5e39ec172f325e62bcc27871a183c76b8b179b2562e7043b26d819c10e1adcc64e9b1d3076dcecb0d959b3a3c58e9a5e62278b9d343b6776acd8a9a245c043b01d3b6376a2d89962a7891d303b4bec24b123821d2f3b48ec14b143047bb103b523c44e103b4034183d5dece0b093c3ce0c3b35ec68d9916127869d2d3d6a766cd8b961e76927cb4ed3ce1557d40e0d3b587642b003836b4e8f183d61f4a4d1e345cf19ae3d5c7ab8f070a1c025c715484f1bae3b5c277001e2fac395821da71dda8e0e3b2ff4183b3bb8fc70f5b1c365a7074eb3d365e707de6267881d23388a9d2376beec30b1136647899d27769cd811b303c50e0f3b52ec5cb143c50e999d323b58b4113b66766a3b6876b6d8f962c78b9d2e5c7cec70e132c16ab1e3c34e183b62b8ec68315c7574cdf586cb0d571b2e382e365c74b848e08ae39a83cb709de12ac33506a7c12360325c5eb8e470a97165e14ae342c32fac1ad7152e2b5c71b8a4704121c9b89a7031b145b892583f5c22707d7111e11ac205b581b88470c1e1eae2e2e2e2c1b5834b07570e2e2d2e2c2ea70dc245eb335a51ad142c12ae355c6ab8d2708dc08586eb8dcb0c17192e315c61b8c060375c6e5c6d980ed717ae2e5c5cb8b670b171ade12b5c5ab8ceb8ccb86a4c73957161e1aaa2f17051e122b360b8c6b8a67045e112e37ac2e5842b8c0b8c6b0997122e2f2e245c47ec192e235c45b8827001e1faa18170f9e0eaa163e01a5c2170e1e0ba819d5c5b5c36300dae1a5c347016d70cacc525832b06d7932b8babc975c50583eb85cea115480b90d61f2d3f5a7db4e6b4f868edd1d2a395470b8f160a5a77b4e4b44ed03241cb8e561dad12b4e86891a015a735474b8e561c2d385a6fb4dc68b5d182d362a3b5464b8d561aad11b4d0689dd17ad332a355468b0c2e416b8c9618ad305a60701c2d37ad36ad2f5a5eb4ba6871d1daa2c5a6b5a6a5454b4d2b8b569a169ad699969956ad55a68545eb8a9615ad2a5a54b4c8b4c6b4a66849d18aa225a60545eb899613ad30ad265a4cb4c0b4966829d14aa22582d69796971612bca57544cb8856112d225a43ec182da89610dcd40a82616801d1ead2faa1e543ab871697160fad1d5a3ab4726885a08543eb86d696960dad1a5a34b46660215a32b4626869693db5b2b4b0b49c5a4d2d185a2fb468601418087f010202fec16c80296026580dd00fb00f700ec3c159b01a900f700f500f7e03c4034401780728073c01cf019a00b403ac032c01480748824d028c03ce01ca01c601c201be01bad156806d8070560c900d700d500d7004201ae019e01bd00cb00c900c700cce0114030c0304037403b601bf00bd00bb00b900b700d9805a806ac02c5a0e980644039e01cd8035100bb6a1b52c1bf00ad00ab00a908aee0124038e01a700a5681dc0287a8d15c132b1506c142b05f804e8446f0136d15d40264018585758b4fe4147083e436787151eab30292c5255a48648fd90dac10bc44b814c81e443fee1f9e1f5c127d009c37ae3bdc16fb6694b81b786f785b7c3dab06dba2a368bada1af68315d075bc1554c2566124cc5148114437ad132481ea40e928bec41fa207f905d24103208298484924348226411d208b983cc418640e2206f905ba40db20649839c41ca2063905ae493cc22b14827d924af4818e40b92d6511d4803d27f740ada8feea3e7341fbd47ebd179ec1fcda5db6838cd46a3d141345463d15c3c71d2453411eda591e8237a8816a279e81d3a048d43dbd05b381096e32a01d7c16698045c6339380e2bc149301c5e839760323c064bc16270180c06bbe136ac058fe129b80be6828f6036bc86d1f01916c365180b06c32260245c7930110cc521e832da4db769321807be816760193806c6c257fa868d5a403605dbc7ce593e768fd563f3583c16057bc7cad913ac09d68ead634bb0742c0936ceceb1726c1c0bc7beb16e6c1b0b67d9d835568d4d6347b06874125bc692b15776cc4eb14eac987d62c36c13bbc42ab146ec11fb657dd0c006a444b1400528d0513c124eccb7afab2386c76d94d4a40345559a18a55054f46d3f9962545494d23592d281264a535638a148c9891112942753a0141559d023024d7a82d4c403464850aa7c92142a544a980245052a0f107bbe689214284d948c9e1419199dc0410f124ae58429508a5a40325ae1a8084a95579a62a4420b4d4af09e23d4c8c9142a538a9a389942e5014a5356a0e2c4c963d063c4132a4e8c9e08e92942935a308a92d482d11209843d44244159400b1ff60c51801ea89f1e219405a329ae1e20b48ba6e0844a15239f9e1f14690514a09c30858a93222855dea8034d643c3d3e548192421292d1140f50296ac1280a073d3de813a3292840499ab282132a56a0ac706454a48444a58a1152911e2efa044a91925112d20a4e2ce8e141938ca0284141a29282d20a4d8a50288252e59b547932a50952920c7a76d0a027070b7a70f0e9b94191545081d5b34593928ca460d053c34e0f0d7a02152a48555470004fcf0caa6494548444054a956fe1042323594f8f0c9a64a4b4429524284f8a948c5068a2941483a690d42405b1478b1a215529324282b2c291115251d20956aa68d0f3a44a538c5438c14a95584f164d3252a262a5a8680a95203d58b4850e146dd0e39424c568ca9426293829aaa202520a454fa6ac40a50353a00ce969529a42c549d1910a4fae2895132ee881419394a6185931ea7941519802e5c914a32a45464a4d9e407932a58993213c516af4848a130c780251242a2724192501a2494a2b54515a810a0078fe506185a4a4261bf0a4409b2835795234850a9427464a495092908caa70c0d387261921517152d482121429503ad0440a9426569a38cf1c4daab2021524148a32e0e1439390a828255119a109529312603c7ba807a0547924a32848542a4042c8a3871a19ad60b402044c786284020a4d4c10004f1e9a14c589510a4eeed024a529464846294c81e23c72a64039c187c704ea044ad21428484a2c1815b520a54a95264548464fa440594116c5091529b2203c76a80a454d949a3c69a264e480164f093e00454a13284a50a640e1e189a3519c5091d2812223a5159c18b160e4e2994391a828406500961307c78d0c63bcce3eadd168bfb3b660e3a2e0a2d82acb490e9403d50870c0410454557599db6d0cb6991703188c255f00630e066318330c368570dadedc650870afa7cc1cf378dc2e7bebb12784856c20849be3bc06e2d942d8e39dcc93e79493e7b2e7b1b7795336cff62ec7dc3caadde56ecef6b6846daf7998842092c7e307ececed8d5777b91dd0dc5e731beb2fd6008f5bf638e598f3b89ecbcde6b8c1f6bcf5b865cc5c4f8ef33c66d6124f19c01bec7a4ab80f3cf69a3dce8b31c7bbcc1c7b9e3799677b316ee6bc0a9a793b36c22ec7ccb5045b1e37c75eb3b879e3cd63eee66d6f7aec79cd5e12e6f59a85f0f4ba854cae7998b9f69ae3ba27d75c6f33b7de6429027b48b83d1773069ed71878bdb1b76d1b6f1b06deb66ddec6deba76f9db18735e8c3dde65af97b5cbbf805d5eb102405e8f3daf39e6e96db376975bc6cddec61c1111f3b2324f666ef0751231f37a1cf3da63cfdb36662f04cf6b66cff33c0e3dcf9b9c00162f2f377bcc08f0daf3383ec230168b2b60de7863de3cf63caff90000588f01c09cd73c8401d04c848d301b80b959bd311719622165ae0bc00c0237b7d7cc1f78c009991c7b1d30e7adc7414c001e80c77d1ee7711eb7e771dd1eb7c75b33b7c744bc588c88c7b1de386e9b87b0c702e0f9bab93de6d8b6b1e7ad37e7648f390e0010b3c7cbccb0e6cde3dd6de6cd8099b9e971dbddbdbbddbbbccdbdbd1b069cc7bbb3b97b9715eb6e0e00e0b5e7f1ec727b1e37f3ee06eced6e73cef69899bb7b3d6666af9b9979799aebde393d8ebde66dedeeeeeee6eeee5d9e3d399e6581a0c7ec31f37abcf1ee2eb7acebfba381a8baabbba16fdb2ec735a773973d6f779799775788a79c0106413cd9bdecf1b2ee7aca310ff36c5b4f9b1e30fa822a2a34514a3252018a92cb168ca214398122a5032b5489192515a940e5c994264822f8048a9426568a92a068609442103085242853a09c10e349c18952930e70e04a8af9a0002529bc4029a9280a12150f28194df9e9621f0b464fa64071798105ea01152a48454f8c908c9e2051318282a4b43a41698522a5295090aa60a0caa0030d60ea8151529211521515a838294232b242c58911525193a4274e8c8a3a882254000faa38311aaa80830f4887830e8ca21429b16034e58914282938295292b24293138c9e0ce9510f5a38010a9291150d929492a0b060144405284a5356402a7292044505f19b6254a54a9320519c34e9801429549002c0a3021527311ea4264a491ca8a65081a2e4a449d29426484a454a5054e8c00a4940af27539a14192135a9a2021510769e343142bac085021529163c31daa0a5d404c9688a110a4506e8a00005f00029a9888a529516909c6c006a07528cac18492962a1890a45284c8182020a54a408112a8007ce92d2c40915294553a03449c1c90927500940063aea010b504e3042aa22ae909a184971e2a342e153324a2a3242a1091215a5240b52453ce8a0c803a3284da474c037153248812054c402150f2815a130054a0a494d52285262c108032b538cbab583a22954a024211959293232423aa108898a52132754a4486952a4c48251102b538c9a47b905242a2a18a9b0599962d4412c2c58673a9b31d3ac63a2b36d365ba68f4932619a3131cd989889a95b315126a6d98c6936eb597b4cb319c78469958929c544bd6e32d1d9c6c4349b6d4c74c6c4c42499e44c32d1c94499661c139ded8cc54467b339e398e8c6a4cc84499998989ac96c674cb366a2ca64b64c4c4c33c98469674c4ccd44999866cd64b64cca449966ccc44c9469993031313193d9322d13655aa6193351c964369bcd669309d32e136526b39dcd66cd4402b38855d55521a98906ea86b6793d2fe751f9e6f22530267caef22537cf29ff6acf9ea7580ecb3da830cc232e6dfe12b9252e31282e754d475c5aa8250ed3894b72cb8ed850bb656e2e71098c09a0b77c69098c099b77bef404824c6773f3ec4b604c58f9ec6e894b9d8362abc4a5fec425596b20f694b8c4723c714942b1c40ec36e548c2bfaa8c94e5c6ac2a292e9884b604ce85cfa9284f3ec4f20c8a4b8d489124e03b14bdfc425e9a681d8a7b824c33410fb4aec86b3f991051f5f44c1c50b6e96cb1b47cc6186178e89b510e3040e60fcf1834c8a524e03b18f124e98adad1b90b64e7b02c1acea4b79131698acf326cfb1802b841a59f148a37e0aa144d8d955e10c423b60ffc2098476c09e0a6717ed80bd0be70fda013b174e1fb483cd4785b3a5a3689bd8f4148407ed807d071d3ac7e2b299c38fcc13af7454946cf371a1a0b6cca6a798ac094b11d9b4413b60af21269b34c0649d387de4305c5454206798b1c50f50526c7a0241d6d4399622b299453b60c7a292cd207d6c396b8232d07843883568c834cc3317060f6590c9e2851d329571e2152e2a2aaa139bb004c92696986c3a6907ec4d585c369bb403e67c94729e7dd27a88135581d637186c8aaa932645d5497b16a243d689f8a738630eb22508f61c63a1a635cf1e647c3da7a09e7a15bd1f55bbc37c6d134609f4cdef6fbff02d8e4b9352d4709cbdbaaa917675ee706568201e62f9d8bdfa08befaf87af511f61ac4533efebcfa187b651f41783df2aa1e548485da67bf859da7c2d97361527fe7acb0e9d30b80d239c9cff92755acb089e558563b685f99648558c04c5fd93755ba9a2a2ed467852a4b45f159a2f28f5f86cc3911ab74544b543a2ace3dff52e1b8b9cfcaf5532e439f952882e7294f899fc7f3af6680e3f9a37c9e1247a9fac2cdbd705f8efb9bf74a8495a75c574a56a22a9171e5ed29f168a352de24f0afc428e3e7d2f775b5643f258efc51a427cd7e5bb2af1247e99b98d2f77afe003b1f39ef25fcd27fec441fe99b4be7441fe93e525c327d13954c519548bb14578934d3ce3ede84d00ed87d86257c59ed1f4be40e3be75503666538dcce89d8f3ee63ce3f4f8d9f4749b9e739fbc72a95b3cabf8f03759c592cf62e1cbb4e3c62e9cccde3d59edea67237a9b37276a2febe4eb579e7d2bf2e54407e5520ab582c460afaa365d10bcb3f4e81b7aa0b558f0f92aa1acbbf4e975b762ca92b5b67e544dc859ac677b8bf0ac7d973129de9d2735d2559f73c6f350251d75dd73911ef4a49a713aafc5b950eab745aa5a313aa9cc37e96ca3f6e350554b9ae5400554ec42aff74721ae8a89c437e9d30e8bf2f1ce5a79c552beffe94ab569e72a52de5aa1069e5ba5a52b4626f15fb9762517548cac77565ddd62682e24b11c631762266da998a533e7c1200e56b4dcb9c5fff581200e76b4dcb1faa1a70fe6978260a401ec6b1a6e2611c3bdaa8f79408e7ca31cea52839c6754a84f30bac5801a5b773cfb9a746f439ce3b35c2b9fe70707c1c4ba2cff24f4315f3308e69a851bc2a11153b8eb1ba574a84e544aca14a89b0fc822aa08eaf5ce59f570139af026eed63f72c96abd4c83acb576a449fe51bb2d498b18458fa2625d3f7f6c64bf1a8a3a23a4f7ae2944e1c3b97327342ce6f62e7638be3d24b5fefbc43f9850ddf895ee6c7f4e3168edb140434d57e63e17b8a7eb1e5371f3ff072134bf8820501cc3823b5d43ec86b4d0b11ffb16a0bbbc8385acf1a4e5c21014dfa7aa16140c3113940216d00d5c41a9a521585e3bdd00860c6199a150434d558f8c06fee05068543c689348543a6e2923ad394208638e3853f6834d914694d34da7a8b63956f67ffa40cdb79a52b0ab4da58038940ae4445c97484d737cf9869796e653edef2ed1c2e01a36ccec18f9bb83370ecd9bf9dc1488d2005bd17f599cae1ebaaa2149bb01091497fda91adb7ef0c2cf4faf60b7afa004729bf3370ac3d288e129aa4af13710be0b8337cfba8717cfb923ad8403399ead1650a21a60803874693495fd98634a9440d45c040c415b2262c4464eb4f3b326dc2c2b2e94f0990adcbf02901b2253026ac2f95d040edebe6dba52f813161ba1497881aa87d8a4b604c90bee2923750bb1483b481c6ee47add5d64775a37b6461e3c50e349268238c9e14802a9be9d0c515410461e6cd1378c854a63e0699e0349a6c6760210e760b13cfb625544b194edfe5ba39bdbd9bcecdb9c9709130c7a6f76afabed6b254f1308ecdaf552b7d9b725f32bbd12ea5ab776aa4b73b6fcf7bf3debcdddbbcdb366f877577fbdca6904ec4ec9befe63ed2f7f97d2499cd27b7edcb5072ac5322fad32cc70920df0920afb4b871262784fb2a35b26a50c542ba7b68eda74b35b2b9fa54235b0802c76696263e8863d375d5637702c8be3e76de43299f1eeba1cfa7076121c9b1cea7175123ae443a9ffe852003759e0a3b06eabceb211803753e1dc6429ecf0a7efa08feac65d9f223083fbd82adf37ead6559620bbdf3f657334784e0bbce7d38efe7f7e1c4a38d7aceb596c589d72fd298f3308e75be85eb89cab18e0ba7125122ea44bc85fbfa33c5285a7bd5808967935b8c0d7192a87c3a8749fbecbc1a41df13a3cc70e49fbe21d22a91e94add1f69d47fce2b11549ef294eb6a04fd4f5c01f64ab09f4ed4aad00b8f3a2aaa04f0d30b802af7fcfbe6a7ab2429f7381c3d6f57b9ae9478ae52ed2ac9e79c6ff8b917aabc574b3aef7c455522eb44ac0a47165789ac7bfe8523a7c2a38d7a75cf4af7471d08edd5b97054dad9b60ce7a3027213af351ce23c43bdd6b6acf9d86bcd86394a94aec8f9716605f7e30a3768f1ea4b056c295e6b3c28f15b7bade950820fc06b4d071e769524e5059c3f62f2ea49527282f823269d1f95dc580326c48f4a5f84f8dcf851490637043082287e4c3a238a571a4da35efdd5f985ef689f7f98e1fdfd79faa7ab243cfd5325a0d68690f313cdaf7f53b52b07b44b71ac7559625dce5efa863e4b269a67ef304abb3aaf908c49b367d10a4f87471a15154582fff4298e33195ae109238290e789e63754e217f2cc4b38cab84936ea8f364a86f35bf449b2dea2d2f7cab1516b3f2cf14afc531cd9adecb7cfbefd3bf4e7507f43a5efd56773dbe96324dae0eab6a473f0ed5f6f61d3952a9b5f612dcd649bf30a89aa78c47a2b4afc2b7ad97c7e328ddfc226ad4d3d82b614fc163639a7dab05f4305e4b7f00a131ba2a2a2a2649b7fb379a5ce4de768a3decb93cb3665b9528773229ebeeb44fdf57f48a6803a43fdda04ff4914fc3767a879fc37555bd8a46ec024716f851f05a47d75b942a2022882a631772577311d15837e437e15418e71f02dc238dc9f2dd3ce644b2cbe9621803ee17876154ca75c6d005cd7979bf4290ae0aa7f6a02a8b51ad2bc005edb8c6086fff402e0f4a601ce0825588086352d9b1d63219f296d08e33f312629d8f034651d57c7cf212c34b6af4b8f7d1bfa289134f90d2a6116a7770d623a950558680499b0d008236221e90d60217ee9412ca4b51a7278e920f09094c9a0972ce71aa1f9a3c2f1d23f567188a4a4fa4942152476a5ed35dcff61a1a38dfa75e99f547188a4aeb4fdf45d2d29faf5191e09e1155587f0b612a15b356056a6bdee7622fe3a1cdb3b10fcf425175c60da987eba327bfbac01ec5136716c571fa7abab13f1b652d2a2cf12f6f61647179e5d7f8ae33e091daefbc761b3abaf3312f6765e2d59ef25eb1c6486b3468310d3a53f4c3af89aaebf531c17909faefecd30101da2aeab281da23e437e5dd174883a11cfb05f98eba9f974041b0aa8eaa4059fa6004a29d965bb74fd9103f81405905d3f168b51c2d65d89a0aeceeb6a447f92b0393b1746d9500037d767df06a8e64a84905d574b366755239b64a56453dfc471351c55aa74357ebefa8551384f39af44e03cc579ca75e500ce530ef03c258edda73edfd5110b4d30bc40fba3d103290024ea93d4cd971c6278f5a4d97fe2985ae28929ff5a35574952bf6ddb9c534ad9ddccbcfb7325c23ee7dd4d15af445071dc574ff95c89907a5522a3fa2ce15c5d55a950df0b47169e735da918a57325dd8f9baf1335fb166a4bf55acbf2e5a5129961a73df3764a1f613f3da8c8f419f4d3a783c042f3a7192f6e7e7a101e62d93cf273ce39a7ebcf64e2f976e5ae84f2a907e0fa080bc242f3d9955df20f6b0740f64eb5c1a74d40f64f878fefb5d654c76b90a53dab03c0a5bdfac743add2700918a55d7f5c1abfd6e2e8e3f7d77745c2bef02a8e4b5b49d7d08a7c75192e61bd7a87aa4646e93e4a522fc523d6abab191ff4a346fdd8ce4ed4add27057477e047e8b44bcb45ec602dc00b8ae12401a5d640003dabeaada75b8ae3ffce4930028c14fb7a5e298e4d8ab04161addcdf6a38ef1d2a56fd27f933e82ffa907e0f451dffce64536a1b11b818546300516dafc080bcddfdc02727e730df09094b5bed134bfb9b290fcf1f56391dfa413318c85b4862587df3c080bf16f0eb210fbe62f166adf7c73150bad6fae3f9b1845e5701d230c1644f2d0cadac11f5f9fe46bff582c25d367fbec509fdb3a6fce3bdfbab78efb666865bf432bfb5de793734e7f869d186573cfdb019b7b4ec49d73be75debee9aaeb8e96beb9705ca2d1682ffce7ba42225ba5abaedb36276a5e21e9386edb38de66cf5d78d4cffeb56a63562d81df73ce39e79c5c78c4454545fdf19c7fac92e1513f278efb9d78f48963abbcc351895fc753fee90a89cab770dcdc0af85224ed851f3b3fe2fe7821eaad74dfb90ca37c2ebdc371e5296f717a178ee33876f2a86b82e18547b2b23de756b84f9a3d27766a86637bca5b54e2d7118ff68fff56a112ffe7aaf0a8ff137d946ceda5cb1512e9a9b09da8b770ecfc73195ae197fe31af0ee1fc4bf91772e278b4f4d2534ec4cd89e3ecb9d51512cebf6fe937efb00b9b3b27ea2d3c5aea70bd23a17f6c3fea9fae2b24d389b83bea97ce2b25f2a518653a3baf96c89fce2b25538cb2dee2d1d28f0d3e7be1c7923eedebed1cfa7cddf9b7ab11885e75c8c8f97a1772aa5d89c0ce7917b2b712768e7322eeaeeb5c574aaa3061c0ec5b541dd23911eb4a84e99d7f1f178e9d4769e7fceb42a4239543a3bd92eb8f36ea3b473a0ae15b89b42329a99448bbd2f647213c2b91f6aec22430f9ce89b801b3ef44d521cd2b11a6b7d839517fadea50b5a5e28f555db8ce6de20c47f6f55e25d9559215615f8a1dc7408ea9cf54cb1a230317199e22008118e2c43086497800b8aeaedea7da52b1a47f32d4df15fbb7ab705f67bb267ceb1f6bfb5cfddb9592f671b6a9702542cadb53a17eb7aadda1fec7abdcea6a645f43c94241afbe29d97cfddb70735d2559df8878437d0d614182706c2582c7daff748544b705722ce59e77e3ecd7899a88bbd00b65f86da195fd71adeca752be85faf26bde6e9da37e1f11fa3df7445722eafb5b9812a374eef986fa7275d4fde6ba7240e79ef8b1545baa31c8ab4f970ee398faae1a00b6b373aebee1beae3a8e69178e9d7bfe7dba4a89e3ec53bee1b8bfee85230366655e75c8bae744bde17fabd2554a3cea6ff77a557c24b990c86f6138ee4fff56d585e3f4752ef459f1687f13d3d0682f80d715929d6dbb85f149192e01a348e7e0c7d73668fcf1a91a198366dfaa3625a9dfbe6dfa28c591e975e5007de337d1cb7422fe3e5d6daee1f42da40001cc3013255397e1b8f472e45ccaaccb773e32fde6aa075025c0a8b52c68bcd27e274e5138fea8a3a29e13bd2ca933cd9c90239b226d5cfa4d1ca58fdeb713b50c39f86f553354d71506f48b2d321972f0cdb4336e1e23c6424e63b848205cd090010304141832557dca9f6a4301c238b60e726c9d7b35834498df6f29c0d17fbd080b8daa20161a8bfcfafa1116ea5f7716523350e4f0eb3f3cb4b2fd11045fd79f15a368adcaf7a96ad61728c79ac23471f100641fbbeff66eefee38dfdddd52aea4b9b20403c0f57de502a8ebea530f40adc120c75928c642639c6b18cfe93ce71ca75c17be38b657b60004067632d52b1aa72f7ebea2c1f2e547d0391a3c9e6fdb361e9e6d76ea861962200186103aa42183670b3704151db634c1c71145a839f3faa28413de9c4a08f133a5840e3da0f9820479fc08fb5d5f975b23011cbf437e7dc980ec9af2867cbbeaa5f4f2f2374f793208c736f6524a07613229fa26c21c56046c8ab0edeeee5d21e127707be56791c1eebb6c3ba8f1c28ba7c40cab1a38c0a1898d2cc480e2052e7692b8238940366ed349e28d24c6986fa426d78145748d0ac92189a4bd127cdb86c66fddec66b7ce712f701cc7a5d112c7730ee3b6c9248609cc8491061c66942193ae976988f8651006bea6d122669b33b40e0598e1cc146900f2a4c64b2b092b6a499479bdd692f8f2df2b9a1efa3062e3a1199927880873c61c3cf058423676dd01506a16292598828d3fa26810820d6b8c2f54ae5e6b5facf8ee958d09ea0025f3c0cd29e6e4385f9fdce42414acd7da172340325fd01e40e5f4b11e9232753dd27d04751f41a0e4b46bd22ee418820d2d73de00248b4e973be6a461ce0830d1a58b27ee18011430c8e6eaa7176d7e4ecea57fdce6cbed7ae75b287f7cfd3606f9ede737d71e92a511c419504080a9e307d9e61d0ba97e2bc19adfc290f39b384a09fae905d45fd9aa54bda209730628db486ece2f21f83927ffe45c8a2017c25e2fce8918ec217dfa29836cceb989d2bf2decb66dcef905869f586473ce6daef4905bbac010c4959ed7345ad2bc7cad79b9238e162d5e38411621af6960d0e1bf573637e8b0faf2f286cd0f46ec1d1f6b6855496049ed2580fac7fbc1169faee4d8ae99ebfa2f165a39431f2f4f2ee35c895f0917151505c8b7e885db449f253d45a57d29fe86ea3b79f9208198d75a9c35efc16b2d4e087eddec182cd4be6d1b43fd54ef3ece6538762f9f40e558e7fd24484fa81341196ee10b0f50faa7aa0ed7cca5f73c716cdf564936f105f6d0d6e6d638369d5100ca99c6bb70dd10b554fdf4adb1d0e6d3370d0f81d3a532e83f1dc642e21de0a8727eaa9b1f55ce4f67c242fad365a8ff8485a44f4f610ff002a8b53837bcf4e90c35692ba78faa57f671c86b6d3cf21a0381873a99faa74c406d9366866fbdb64163849a39649e64d25fd339714e5fef21d055432a53305ed268345a934cbe14452850c11e92b295e2d87d8760f862a0f51502d4e0b5e685895fbdd6bc0cf123f8936967dbddc30736b8ae3aa4402b7614f858fad379173281dbf48fd99be7e7e04c75b81a4b79f77257242849895e3acfeb440e6c0233bd734eddac0acd405523ba89605864d0a77d7fbe64ea19378fe0d39f51ddbcf6ba4f8b22f0b7f3ab1759000f75705e2ca4352f39b819835ed338416df0b231b6aa3965f1e31158f37ec742dbb7caace386c77cea1aae150f3bda2819ca70d5e238f300a83523f2f851c5528da8117d76b9779ce0617bc5a746a0d6f8687aaded91c70fe0b5b6479affba1e5a999caee18b81d87985648a1d061c415dd6d1ef442febece5c965bb4a7c2ce7975b2f8ef96cae35266678e93e9b2802ffe6d363435848d36081e3d52df08487ba46a3d15e90a983c0429ae6e969d434e08f41baa649d2b6fca86e869a5472d23c85f951d3d8580932ace198fe0c4b90a1c6317d199620431a8ee9b3ffb0d0f725c8e08663aa31f9fae298086e0fe00447f0d5552cb4f3ea2a875b46c1c76093d69a388cd69020e255cbe2920de4575c2e2011eb8f8a51c007a8b78aadc2b7acbb061cc1edf6170bb5b383b2fbf5ee57f459b22e7d5d8a4aab8be6d30fc04f3b00cf7899336686335eb67cac4f4a29a594524a2937f188fb294691deed49b39fbe8963c771db36a794fd9b8ffd9b8fac847b4fc54d8fb84f8951369fd39366226c4836ef3ad5014c9190ea529da7c22812897e7385c413195c97ab06cc7e7dbf5e29e97cc5b18b22bdbb2e8cb2f9f44faa76255d579b74a74f7f36077004ffd541be5d41e95d0fa9024971c12630eb585c0686c9a73f9d77bfb9c7a94e4d692ac511b5178e1bfb16be3836fa37a8da1bc0ddfc821e3fc66d53df48508fb2891dc776c77d55f5e5c42dec19ca70546fb9403e29d42e59646f51ae1492cdcbbecc3eb27f1c1e5957e6596fc7f0f9b7cbdc2de59c2a0d37954ac31f8edbd534b04f75d3c04f15a50ff24338b6b90ca5fc3c08bff9764406663bf2edde10296590eb08fb2a8e528ebcfa0c37dd38b689eadb6911191855556a08c7bca0f78abce79f82dfae1c70855f7d3b6a95786939afbc3cb9ac2532fdc8c0a87392cd5f1c9b73fcf9e99f829d129d4ec41dc7a6cb50694e293f5f93305fbd43888a8a42a2a227c591c94bd770f457ff14548e8d4bafdd1a8eb097dee8eff92759cad5a9e33928d50325c73cd795121668345ad38f2cd068b42bafd4afee899a42b21b08bfdbde30c739e794de26bd87fc3afffc4a253206fdfade00aa7f1fe85de8112991ce65386a9aef8e146189e3cfb37cc5a53eed00fcf4037025020bed3aaaeffbbeef53a9bc5de52d2aad92f66effc4eefebeefebee4fca14275bcafe3ed9df27657f9f9452748eb1601c63b5c752718c253b8eb1a49452caee6e29e5d7cdf258ed2c0781150ee158e7b11f8e757ec36a1096a7424eaa542a95ea73cfe5f749293f29e5f74929bfef1341e058ca53473ef57d5ff717e3584a7a524ae975c3389692524a29656a0cf229ffbed97bde25d9e67fad62f99f5475ff375592ffdb5453b5ad44f8427d5522d2fbebeeeeee6eafbbbbdbebeeeef6bceeee6ecff3c49413b18a6329df51f5a9944bd749a25f4489b4f77ddff77d29276a56384a39f2eda9540872acf38e8554abd2133b568ee9789db31335188e5234cdb77741ba705dc73be7421d1086708c739d702cf29c7fbcdadd2ddb13c7a5f7fc93527e9f94df27a594f2f3428ebd6c1db99aaaede3529de77529eedb547325759ac5e0b654aab3527d29afe3583a182811cee736553fcff9dec07d9c4a574958bef20e592ad5d7524a297985e4fb58b57d5ffbf24bdf3e1fa594f253a2b56f3108c7fac5b1768f158e3fdf3aa22b91f6c50154e99ef43ce99ef4289ee779d247cff33ccff33ccff3bc948f9ee77929293d2fe5a3e7795e4a4acf4bf9e8799e9792b257e128e5e7a5b76f2b24d2a518ebd059a8bb39d5e200aacbee766e39376eb5d309a24438ff52ddfd79b7e76377b7e779dd9e8fdddd9ee779ee799eeaa5afca76cff33ccff33ccff33ccff33ccff33ccff33ccff33ccff33ccff33c29e5b74b980c3d4ff9b7f9d71d0bc97e29249b3b2a8a0fc05190f6352aea5baa7c94522af187f0ed7d2151a7c251a9bfddf342c931ceb9514a915f21694ee7b770ec7e57acea4fa6a6b7a93ad93e7d94b25db647917b03a83e82ec33ec38b6dd7feb3665f32aa733b2f09d7c29d43e4ab13b02cad757ef508756a6afceb4331623d9c07a6d43c79be595aa12f16e1ad5185d5f0b78a57eb451485a7c714c89b05f6005d49a1170fccb0235a2ebec3035b27aad1931c6c338a6da66c079766dd739a3ba79551d174a63b5671f17caa58f3a675437521c632d8eb15f38338479868a01d4f139eef9a86e3cd7f131f623af6189a3cef9b1e3c82d124e0f2dadbaa01219aa81181030b8b4a0c0517e7976557908723e19e6f94b1c50641e33e73f916b9366c4961f778ebaf9a5a97cbfb47c74978fb01d1fc1976b03cda76766df3920cd85a53d3d3d6dd9b2a58180d8d9990b9706026217162ace8fbca6e33560cbe9a1a53632d0d97b0e0f4f0fada7c7d9e5530f55e04b30678fb13b3b4c64077bc8a9a3a2a264573e7762ef7aa80e1928aeef97ef13f74b03b1f738d38e0c74d0b9253af154d06a79cb73cf253af1c02a105d70b9dce53ca23610cb59ae3db4233a55e05754eee474e573a7a5a70f643c0e135dd8d9f11daf40d497e8f4f22baa95abccc9e9cae72a73ea115d004517542a57f94b9cbe0a370bc8892bdf09174eb871c270df84eb264c9afd13b8cecdf914c76e7a8b23b85f74c431f663c771f655d8719408fbca008e4b1be7d3d2c42033840f71dc51c41a2c75f011831d51b2ee2fc6c80104ad8f2a369fdc471e48d0b2d04420d306ea9c533a9caebc21438d2b64da4029f77c3ef590eadbb206102bb8b8817a73821e62389fe802c7417302191301f523af792ea2c6de717a686965410dc49e12c7ce13c7ae1347901347701347184c1cbdc5d19fe33c7bd0f3fad8716698570d98bc5933f1cc93ad3f3839e008f31f639b05449aeeb97aa7e3cd712ebab0f2251738954bd71e52892e74ebda434eaacd021eed736b644e2a5f7afa40c6125d48e9882ea8be6dce36a78756a2d36a256e731aa85d253aa954a236d0e7bb66f494e8944a895b5b718475a253e7573677ea446d20e93b669bc3894e9c5fd94417ae6c940c8c749539712c8e1c2d0b88e439fbc6006a8d0839fc65cd17ad1121e7bdcdcd7ef9d2434b579a6947b675eedd06837520f8e37e01c48dcc05ed10e4c8be6401a5b338ee91641fb935fb04ee13387250db9c91837ab35ff8476e0db7a687f64b03b5771d08c2603f726bfcfd691c14b7868352387edcdc6c7336371efcb8d1b62f1b6d86996f6698d78f12ce7c9270523fca2d72cc28b7cc1fbbd6719a4bd7584e73592387a1686bbe30d49c2fe3ce095a9a8ffa2668ecbe370670b580fbece37ef9e6e46c7bd61b4bcea73f636ff925507b48a6ba469b2e55fd75e252d36a4c63894b9d73bed4d2973a57894b2c87c35409bad2a0e74b3afd81a95ef952abc0deb2b46e9674b794b0c4505f8b377189c9ca7165694dd534afc634b0a60af2e4706124286715c6738ea5c2015d659f8f0cb5729575aed34750c7470559a2eb889d9b954a847d22c85b3c11ec44981ba61d192776b24d549914b581b8b7bc6ac0c49a2da7bcf8f4675c39439d73ae0ef6d0e6eab01e9aaeee3d245d7d4bf90cafb40cb97089c7bb70a90267da91712e395fda1ccbca365fda22a7f4a5ceb16c37bdd99ee2d98193722c2b4bf9128fb8d4846525aba0bde92904198f63595905e2d28611b1ac8ce7252ead81da77da5d229695a5c4a5a0066a6f89551aa8dd13979834503b286259d96c67894b5b6ba0761d11cbca3a71096ca0f695b8500dd4ceb5ab442c2bdbc44fdc2d0d34ddc82dbf8113caf3716bd2cde60ac7833897f39df271e1a444a61dd9f49a2732edc8a4d33adf305cb8856003adcf10d640eb32f4065a39af1a30bd66cb9c9bcf023dd2f44400193b1629a4773c904dc7b232be408f3c491f3df2a40aa2479e5e18e891a72019b4b8c4f9d3072a3dd2f44444261dcb269b2f3df2c4f1e89127568f1e79aaa0023df22404a6479e3890b1b8b4f9d3079b1e69bac2c99e8264ec585a26c5951e79621d3df29462e9912717a8479e2e68e9912751d6aeeed2234f0190b5b834fde9034e8f3c4dd991a795a7479e78527ae40903993cf2b4814c8a4bed4f1fac1e79ea588f3c81ad479e60528f3cf96457573dc2e29274a61d19c7f1b671226cce4d045b5c7afa40d67ea5c5ae81d69f3e902ded748bda40eb4c3bb2a70f642c7a03adab336d2bd77c2c25b2ce5223eacbf3e9cf386bcffea991fd276fcbb38fad216da0717279f6d182575f1d9a9a055c27e2f66f71c3a3f5cd028a00f5ecaa44c6f6fd598515576051860acfaf481a1462a290628a31649868228c134f80d1239cf4a52b2ac6157d20a1479aaeb0644f4132ceb178d1234ff28b1e795289408f3cbd92d0234f4194d0234f3f32e9ec73093df2344426c5a52710649c5f9943e891a78e083df20416a1479e6046e891273f428f3cc5649cb34f283dc2894b53cc1282cc13979668b4a52c21c83a71294b08b24d5c9a2d71264b961064525c6ac1898a2727b61013255bca12828c139798e6e88206972f6f4220bbc2356151c9361f5ff95298677f7ac9ba6d6e416a53f638cc977aa6efac1b0cbcc5a0d4c039cf97c09820ba06be14baa872dc4329c41d8e052ec433700b7c89c65b38efc737e0b9c097e6f257cde54b4f2f19e72c85c35015788af6ec5b9e3710973cff114bd0405c2212c5a52aa17417975688b8e416884b9d81c8307129a867fa8eb8b46e680dc48e8108829beb884bda40ec41c4adad8f886588acf3a0ce47adc9e92e80b9052df77adccdb38e835dd3f125a8675f71981defb640ed160bc425cf61e26ee1119796f61297d8252e611922e39c252ead1c260c25691588bd256af470aaa99963b76d5303e7b7ed074aba5e6b6abe908c836f53ae17333cb78920ec054a326e48498e9b1d51822690c8438f2bdad4645c19b53490005faad79a9a333f822e7f5053850d5ac8a003103cc0d121045c9091c4979a9a25d240427293b5636053830c7bc071461736d418830d186dd42c319b88d4ab1759b4e1c17bf5220b385ae334c5a1312f97999637c090a10d3065d8f12413e347e7ac088146171e005143cb020834b22d0c366dfc78bd7a91464e0fb31fd7b9697aac7d649abd1039ba62dadd315fa746da8874a523ee7bf3d9eb4a844e8cd22ea37ec63b814f79a809ccc88ec5653e22744a47dc4b9ffdecc7d7ababc471a619e0e0b5a6c6a90d98d779656386183c00800d00b091001d3678ad654105d8ab9ea654c551aaeaf9050679960aa4aa1bae5cc155f9d87d3e82efa57c84bde7de275b57aaae123f31252e6ff00aaeba176ef0aa439b8f183ce723cffbb8faf6a94373a81347d81477ae7c2ac8ec70e67b8327e2d9649233eef965ddf3755d09fb5e71f45f715cb113fde7ab77a084c15e8ef3d7a5f290ba114735d23e61f00287342f5dbd27e20ee5ac5b5e42c76e55a86370220837affec95dd9eba39431b0ddf33aae19ec7c84713e829b8f1d4b67b9de8923ec7b7b7bbd7d32abec96ab29fba8aacaaaca3eaaaab2aaaaaaaa3a0722c1ee6e31053681910c02333317c4b175961c73e294b245e755667618c7a68a63e62e1c95a47ca938b673f39173e5c223cc899263dc52542fbd390cc82eb7e59c4039750b3fe4e026078307e26481434d1345d0d880f19b836a80885abd76210716b0abe0d7334044b95ed984218309c670c9b2b54993c16b2d8b2edfbdb211638ee5580fdff419ea0bf9d90ce26c5b0cb6cf3539d2fcec832cc46ebe7d1f16c71fcf1e2436e4d9374812f1290c96029b940ba05c80b17b09d4e4687af97aa68b1f4da9324dfca1c41c4b98796a73a68818b82023875fbd7a71a68d2c6e40d2690182893451a0a0061be8b842b67dc1461b336ae026c7c10096f1468a3665ccf9d56b9b365c7853a6d674da4929db886143831d0d1ca76c2811c7873b840843c51b19e7c5736db8786e8270c0f9d183ba89846c2e417cf8d0739b9b7b6fbc7cbd64f53126e5d6d920e5cf1160b2e02307da0f6c64b20b364e81bc9c5c173ccc29a5aca589e2250f3229e5943fae573361d43ccf6b2d0dd48f1ee483ead0d0e6ed1f129fcef5399f61d353279beeb90c9f3a99740d47261398269bee85588ac8a415f99cfb2859a86f7164f2e9c412a4eb9b00caa6cf5eb7a5fd0c3564015cd7066aa065299d3853a3d1ce84799f00a866cc40fdd88d32cd96cecdab2a4b29a594524ad962379de9121b62a656fb11561bf3ec4162433eb9cd3c06691d612f8ea96f3b5936af94dbe0aae4987a77abaa6ad7bed3c7ee66c9b18d81e8954f099beba73cb1094b11d9e64f9d2ce5bca544cfb7b0ebaabc7497fec1cfd5129de3a5e8c567fa92d6642d6cde42e75248363b053a2a4a77d7a7fb48b184cea718019575a23650d740dadd4a44a5aa906aecf5da69187731c3e5d983c45eb795094c9375fee90a89cf508974159f3a59e7bcbb9c974edc600dc4c24b9fce4551e297a295fef69de7564b38f816bdb4b0b91492cd1d15b58db4af5151b24d89dfcbe6baa24008b24d84359076b7e45416c05aafa3b70aa4be62d7519a7f00d765778ff2f7e7b5e3b6e905490bba746f9bee8b4f9719c6dd724812dde4b635efb6796d3e3937aef33aadcdd9307118ea4d6f9173e33a4e6b7336ccc661287e23e7c66d5a9bb361e230d4dca6d6e66c9838724aadcdd930b2b536879d391cb5c63e6cd7b190a7c3bbcd61cfbaedf8f8f4676c38cfce2ae963730f22c831f628bdfbaacc850b172e5c3ae4c2850b172e5cb880ed5cd7e94897aaa9da549c0a2a0e879953db27e6016cafd3911e0195750dc460b883becad8df3c371c0e8d0d30dc00430d8d9ca14e364a1509b1f7224162438e7853a63a249eebe7384fec4250257deca6a8e2d87a2a8b6eeb219811cc719ed8c186706c398ee3b8a058ec488e1f3ef890c316327cc89a0b58bbb7c78af8f62141ca4000b1fd862628b56dd743143f5d7a291184bd5eea751b0e50cc112587107c9cf982668b1e8ad8a48649750a7692b3810067fc4143224b993bd82ca13b7431376eecb818140d36418c51c61076b851630d0f44fc941b1c5b364ecc4386e93b44dd207ddb26387f3ae8736a27c3ac0a2d371c81070f609eb868f1d341333be8f05372de068c36b4f826fa9c73ceb971dbf6f22b4e9e7a35c3831cbf7a451306898e754490aa4b7d4b3ce77276aeeaba0e0d9caf9ba9ad86d9981ebe9411c70d3143985183c60e18cedca144e7a96a44a42408035f3034352face940439f91030817061d06be6067a0c01ef23227708e6dcc7f6266e2749d976103f440335066be4c1a148e3fba28f1658b2a8230220b36376c411306896d0b63fee3fec342ddf6c35de1388ee362ee3110e63f7a78506ab5449b33f280a14c195a2e78e5a28c17ca64f1d87468b8325760d9ca4c81659671028b2ca304962e7304162c6570a021f546992c32601188162cf678c2a28e18b8d71a16715c7159f05a3b01edb957345fd0cc037cda4315a8c1851f4aec714504686463f7ba35f580841f81ec6047192cae40b386993751a92c0750238a2cb270e30d1be2906d63a0f98246e7358b3db858f149d79f4f864748d4b7a3a254092fbdc315c75522ed331c6748542cf317fc4c0865e3678763fb4a8a51da17c0315e669d71f6447980cc7434fdba3a0366a1ea10e9addee1385d954c6f5712a6382efd7a8b3eedf2db8958aac6548ca2baae6eda0a6ecab0c3860c336cb8c9cd4d87df745ed380c1060b2b5c1b47c311113c1501451a6b88b14236cd4c31861cd7114f2e2c7ec0438b0b8b1b6a583cc15ed56c81e157af6cbaa8038463b3628f9477c51c0f0b1a38836bcd1d73d4d850071a369a8e4f1bb440eaf3826834da952ab470db27a644e59815691848bbe87eb3620c06da3665a1ae86a422e22882cc0b553441937156c089f39ce713e458d7812c34bdf375ae49006af860451a23a07163260b3c3c1cece862822d6cde08040736701031031562f87006cc18aff3ba8518396c62a0e24c162ab068aae0958d1a6cd8707a522e7028c1104e6c6c40c288106a7800c1050716866802ce192498230b0912a083f79a86063b9e0ee04511e06b0d8f386c38c30612d4e448a38b1cb20d01bf99e10206005e6b5470f9edb586c71f5cb88d8a1b6854cce0a4b5406af03e9c40327a34751b19145c9164ec70e28d8c1c59e636573f82de9960e3388ecc1900a8b991064b1c1edc60734492010364325c48061804f1b9c00258053d3caf1d570b64e9ac545fcae3b6299b3bb01d504f76c75db800065a1689d444edf0f2554d5415dc4646cd373778163dd13916fbd99f96729b5778f2272836c5a6c101a634c343159fe8e21332048b0481b0cd49858739b650a34c153c903980e43630d3bd8362fec36d3d240d3546f0021f4d8c9183919e5f8404799120104e68c38a1d5e28c19b28220c50440642fc98e2046688294384174582c06006849b2e36bcd9d2650c38867a08f2439918b86c59028d23ca08e5e013e445824040e208a71de66031c71b6614808c0d1720400c39c6dc01070a3cce804026060bc4b8238c36678a908104517c40c609e64131ffc15203a209383420eef0800cad82202f1204c20656fc91054e1b529081a28314f40439a38a366270ea234c0a82f6e04172470db424e6b891c30a02dcf10a01073ae2d0310619121431803a76948e2a8aa0239034556c6183c81cae5aadcb1d56dcb0849c2986b8d132618b2c76908943044dec200035c00c4c6006883caad8c10d1d0178c30af2224120e0f083194e2178238d53194062e8689c2d7f8c21031d7b046226f6c5aa491564e0f0028a3996d881033653e54131ff79820722da78a229892fe60020cdfc2800868d145042f48145970d6a290f8af90f187d9029c20d386cac31c68f151e6b4c57803e9e7e40e28d2c4294d1400ca75a382de1650d2daca8a10d31cc36c50d1ed0f802071173ac112e317500428c1a96803a228931fe45ea98213305941730ce1823c4880ef222412030e00c1b6df48882883398c8c0a1d88362fe33f4450a269a98a30d26de60e03d1434825a1bd3e539c8a5588463ec63d083202ac716c0b1e51eb88c31428f333540c938c833338fd022d1084122113333333b118b4ac4a29b9d71bd248b39e79c73ce39b739a72746992ec729fdebd6752542bf8a473d9d88798564ba9c2ea7776112fd8d7f133b25a2d29b5bbcf9b6d835ace685670ef7009ae68567ffa6aaa70fb0bd7dfad63e4afcdbfd5b5c1f02b915921519dcff74d301c90c398d4683413676b28c09b868e3431c596cd185cfaf83aa5fdfddd201182e3d88e1c265046a5cc015e83c5d21e99c144fcf71dc799e277661e6e4d2dc50c67353d0a2f04389a4f0bc2e7cad68984d910715660cc1841b794461c1730ed66a52782165308c69207d29cd9c71f3f3f5cc0b6b381ab8346244b15dd9b62955eeeeee2eaf8a7b4d2346145f05d49a9839cfbebdb281228ef6bc7ee1e5ccc3e29062e23c3594172850e3294d0c5cb0889193e5e7d50b148879d6ab17799cb1357d5ea0208e9a9838ddab172850234d0c5cc4c899466c9d6ac324dabb5add34667a886277b9ad4885992ab92ba55c25991d9ad9618c1dbad836b3031c2a333be4b16abd9ad9212a954aa5becf4c0f636caf6678d8c2526dd8068c3640333cec00aa582c160b04fb30c2cc0f57bc2ea5a329127cdb065c57bd9eba8bfc2266a3a8cd39b74d4c145c3c6ce7b516851951d0d1e9f828e9be9dbfc5b18597307c4ce08ab06f9d65f875aed79a138178b02da9f0cb27848d4ab56190d7da13711ec6b139e7dcb61cc0264fd5755de779565460844af57ddfa75241214783d71a145d804edb50c86b4d0c544b058220d86a897963c16b4d4c994fc723f3796093fc220b2eafafaf5a1921b03831074bf75a431347b2af6470fd5b5d2db84ddfbcb77dc942abea905daed679357b85a41b417f578a366d8ab8e2441e4d4edc7185f5aac68b2ccfbdaaf1020e6e6b33fbe7b6711bb739318219b88fe39c982306344fd430e736d780b1c37baf6b4cf0f423e859be36aa11a45e6b4ecce1bda279a2868735af4a9d756a37ebad4a640d57c5a73fdd5d03f9f5dbc2c051eea7cf298ebbc5ab4fff6121d84fefb6fc74150b7118a81f41ee7ece1f553ffaef9a3dc0befab25123bbeccce22671fd6ee1fac9bc6ddba64a6437dfc471db360de2a46834207bcd8935dfe307b86e3e68001dece12620411d284812c7279b684289b41b495a309898ae5374a346a41bf5e2a5384a29ae1b2552035def660f10861ad1ef5df3e3bea9025c6387889ac04181f4db7585889af04163fae3cab152bcfee8fa71df7cfbbe6121a22666d0987efba6b107206a628b12401f4a35c5a71300dbc7aec6c4979792259ff0b5af9730bf6bbea17ed7ac19506b4e8cf9336fb8fcc83d3b1106b6b4ff35df4b568b16e50ac9d14f87dbf4483c11ef9a3d80be7a15a0fa7a512349dbf4eb4589a81b4942a289daef1a5e3960b578e9bb12619178291e6d941a4992ae4a448b5f366a64dc6f71d7281175365ba8917635d2e2917cfaf4877df8c53bc479fb90220b60a1fda18e819481d4c79f3168c8f3f1084cd73cb373a13210fb36e54f33f54cf292f129bfcacf7b0803571fa14a0f71e9a120aebeb51eda94ab13f590e7ea29f450005c7db7f490bbfa8ee9210d58ae5ea487745c9d490f65e0eafbd4432a57df303db4c1cbd5837a68c7d52dd0432e575f5a0f71e00aba050e73f5127a4888abb3d0433daebe503d24fa05e2d8fd05ce6110208f39007c8618884e3e8e816fa1063fae8187ce852e3a6d007020efc200884e3c3d00fe851b884e1b84fee3ab3003f6e99db7420e440e7cf398f384a2e8a481e81b7805a110d129003cdeb905a19393100fa23526687f81bf86c83210e218382b7412226a1180cc69e542dcc7533ea2161d997b10d1c902673906a2161e9913e73e0e0be22f4ff94ee814e4e518b80e06aee32f514bcb9c2a70967ba11306a2162232a79663a0e32997a1938ea8050132a7cf85a4442d41644e29f7f120a29697cc29884b77854e3c9da8c5029953e73ecea2964ee614c4d93b00a2969539bd1c03e711b56c32271d17e253d4e29239f138cb7b422720518b8fcc2988cf98a8e547e604739673e0aad08903514b4ae6e4da442d2c9993ca853800442d45644e9bfb38183a5d719ac93610b57020730ae2eda1a80548e6d4e32ccf43177d43a71f510bcb9c40c7c0af38cd641a885a12207362b910d1c97bf98ebbbce5a06b59991017452d433227cf7d44271fd7b2b2d043a720a293969505712129f7dcd733089d761c03d12988050ef30abcc7795ccbca7c44272727279613f5052153ed2d08b581d46161ac81d42b084b6820f59e90850652e70917aa81d45f61d740ea3b615003a9bb420b34907a2b5c5a03a983e17e69207556083690ba4e58a481d457219306525785fbd440ea5fb8611a483d15c21a48dd0b891a48bd0b536820752edc2d0da4be853ba681d467e80da42ec3111a48bdc32a0da4cee17269a05a03a93381b365b2a03b117cedb3847ddd39f629a8ae9b1c3bd78fe056016e7a3d50a9fda1841f3da0e08b9c0ad014a10ac12241fb830c1d927861871e333fe0515b624bcf6b4d093fbcc9714ad4f11cc771d2f33838cfcd20e338ce93fe793e82ef711c179f31a86449182a5445cc39e790219999d1348004431600403024168ec6f33c8fd3f00314800f7ca2545246970983590ea3288e8220c618620c21c000608c41ca10d1d90074ad862a51a5b3e84153ebee89a20be21484ebaec9ec0a1f0f6141510354a3b0af8f6022e0bb6d9a8ceea6b8e540b6f7359896b2bc18d90a14851925ffb9c4ed14ff3df00475bd4f74e8ca16c3c6b79e3ba710071ec3851780b818dd555f2fdf9d951889787dc2b32cf44ab8a906cf3629c608ae3fcd9c5ee4c59cce0434be263968a13f66442a504201bbfaf7e2614a9e243a4fdc67052b072b75ea137dd3e6f81c4e832849802c77eef7e89152e2f1ecb51ecebd63f1911905561c0705880a30fac23d72412c1d7770ee1302bdfb5720637f956ccacd2832017c1871bd1e301921c663f392280854df028bd300209c03fe2f3a2927f217263459888f9271182eba2eae654e387c86d510a255da88ef5af02b1e9885428dcce3ae6ad9abdf49b8d06f9ada92cbd24d4234e9575407f56a5c93e13c871be7f58f470aad442472305a836687c3b42da40c0769cba51dd36c2f993e069aad7f67458617659a32ab81da37ae3ebd081604e6c0a71e490fcccfe9354e47a17a44be850d70b3ad5ba632de29ee089d3826fa4ffb991e80fbb9e5f9e01ad66fc541b973e02b66627aefd4721cec5d555f73a099ffc1af20dbb69b2eb5fce460edb517672085c579896b3645e723298282eed8c22118662589f287e4de1b712c636741d59b9d132025b53d1170591489a2815f1df5002f4a68022b47ff253d244177f94ab1cbf4ca2f632e03090e67cf38cda7683a16454261324faad6e1d223ccedf2479df4ea42d87a12cadfe2841a4cc42539496c6a652b5395a86803e08644cb5572b54258773864ff84e3b356a197cfcb35834be0f77feca522bbd2ea2c5a3353041caa4668e29c498f7478a1164d7747a581dc0293551cf196351d65837b5fdbceb6d71af18076876a4b79c82dea814844b96028b883f14bce12ff7479b457d23a25592dc4b8fd7597de2ba3e2d8aae2579234ec29ac0b60cd57e3b51651438120ac13b04541f778c16141b7d6669f3f547958c5da23ce9ad08d2ae0deb7c2c0f6a086b011da0927290a42b90a8ba618037ef96902644ba6cc282c45120dc94acc90af8c40c745793020be3020db5cb06d0a0cded7d6f6196da806d0b076a8290931aff49497257aace890978a67455ac6cb96e6b5c17a999782d443fa77fc99a5ea8ae1b5d79fb62e113404a36f186d9f3f0bc5aedf604685a065e8ec7e04df67d8ad69f5d6e49206b44a1a652d318980044f71510de732c627e8cdd158f8afae58f84e1468a8324bdeaabe552cf5c9a5331551f7479f41400f8421eb0cda39c599dfb9be3778c7bff520ac00964ee735e86cfbaa9e920e114037a7f48cd3afc04299f00da046ddd395301e0e60b182fbe291e1f30fb10c8c256d60e8f80012f1cb8c2902d0b02fb95e73f5bd5a88d376969692a34dbe70f26acd8394d618647137f28132c31cdceb8983bb13ed9a8cf8bdf499596911bd2391bb6b5512cecb004b5d0e35f4f657037afc2717f3f820683040ca855b102594871867e6a7742dc54f4482c28c198a226e9a2b18df7180ab2b96a01d9b8778faeefababa820c3ce77c466cb6a65758c533ac36b6fc5027d7f8f12896d2e9678e506f7efe9d967268536445bf9da5a730680f1f3d6cdc63d6b1b7a6c25d82d9984e0bcfc1864fc339a827413994475385fa49508efca8a3e4b3eff5d4f100101d8103bda10c669ed46164cfee87913d0aef05825d981249ad6958e0785677ea5b20d4c61322b671e12fcfb7a88a9b6f67b8848276bf8deb9385640b68e2b4219eeae787029b2f95f72a1794812e0c8e4974f9d5623717281f720666593c236d77fd44758a5265a340ce060fc0d17dead2aaddaefc582af8f6dce5a060851a2ec64fdd045dbd019c81055c74e1bd525b8949e91891255d1da8cf803eee32d88ed3f7c6612fac97920ce6d6b77ae70222834687488b8bcd170966bfe2a09d84bb47b7658cb289069f587b37863a4b45c91bba91ac0e7f9bd04b1921da981b3a3f5e024cff7041c261d86d106c8ec79ba446e51843cb1bbe543548d7b09896e90124be738897806fecb24ac925c78fa4561d1d641f2ef03923727035d5d91965fd568c3fc783c153ec5b33cd8c8ccc488cbf4d86cc8f705b0527dd770e35b9514121f20fbf9a1b382e587af4e2ca069941f1faeb12114f19d4f73ec7ce6f40a8add028a33bc8a088496fb90fc6dc4251a5313c1e41f8366ff71da3e95644542b9b3573157377f51564d1410a4aa3b5325bdd226e5f82cebbaf64307744fdb254f9ea7710b4f8768c41a3bea699441857c7b52ba7079033ec3e13944c9eec02de80f1b348e7c49c36b1ae6f3411c5a801701799988d9eb256c43d373e2e8c523fb3be80bbfe9b33e20a5d71fa48caae6df7f683b0b859ea22417d7811e2cb51d9c4c6fa9b6a391cb787faf5b08bf93838e570dc84f4158c26d9b1bbc897ce91055b83c0cb36ee6c955e142cc46b7f191783ea5783a4892ff2241c12cc15d6210913dced0c8900e71ee16e7f612fcca5e903243ab44df39c4b67c0a5017d66948673c7ced9c3cb4bbaee9cab8fc55347380d54a4d9d20604d0ad9d5b34e27554379716498a2a91908f2d5687cb12794b0b770d27df63468f9c11b222a0ad6b70044c7535a486dfa83ea6bab6f60de5f8632324503bdc7d7b39aa7d38169e747592ef289513e19c32aae9a4906fe62e1e1b61b1a0fc655712bbf4a70c22ecec9ae99d68d60906ea048707bf82030b393c3d2f9fac0c750778630b73afd4b80a599efcba5816d178df8871b354e03efd4033c8c35f91c7265450a415045b298048ce97c20ea7f05595585b2d9630282a0811926f054030724ab03cbcbc1fe22612db9bd055763f1b6f563be1ca2b0b69e41973bc77d689d3c80048023ca8fdcd153f1fb553d74ec6ebe8913b7d3178748ee8a80553d742d911fa18a105c11efda648997a6e6caa68b9d001d6b8557307a5a67036769281d3dc63db145588b03ba4edba58d25ca95de55b760e897dbaf785cc713279215b2e5d06d97f234233af91189abc5e18f41266249daabf1ae223b5e715265092a2752b04831d2d1aa5476115edb496d8dbc5aa706886c7f558c18e42fcbd13f2cbb8a02475e84cc44235d8f505cb11c67187206aa67cc4a6630d8119204d0548314aa12edb9cc86b1c9c728b3a6353aebf5e652885b4db611033dfae54b09779fe9bfe475f93adb6b13700b3ec6f8ad4630a0cb0903676bc28f36bc9533009c2e0381716629cc926164e7cb5889021b230b60ed95a091d79b4ac28612e03b668df7a94ee94495878b201d1bc387a434326d8da87c43b4f0da1a17e273cdbe55a590b9ccdb10a0b64e381a467fb8c935c637413db0a24cd06c123dc228bd37d6daabd53c16faca74c8239427176e06007ef307c88c898d93a6428c8ca52b4ceba1b8c6c8da37c47cdcdefd96a975011bfdecbe50ec60a3bf87deba66e9f06c1605b10aa91b1db9396f235155cb1481a0021681c4d374c8c269c4bb9a2a92487d5eb83ce94347d822ea6b3d068f2021b761b2b8ef1db52c8ad1f8578aca5b0546b51f462531f919b2da178a1b2976e2ffb6abf903841e4a142904bb00533418ff16d131a91b084933f1d47e21f41a442d6baed6126b6a14feee2b7c24c1d8c6fe6224ca1d472e97c23680138a7ee6e8848adf3fc6246c5dfcb667a063cde3817102a091810845f3e0ca537e4090e5a88a3f930ba6443324b6e317f007410c4949eddbfbfc6b5532fbeba8b1dfaa7026cc0e2caf425e632084973fcf8b56621a807c0a574c36ea84979954aab675048e4c880313584fa65dc374539193092a1512daf70b0b770d954bef8fed1059d40af8ace73f8f54ce160fbab692f29913981948ed13c86381dcdad460da48ba3eac79374d08e65d6bc1699786160225682c80d3b207afae9566dbaba37ad416d6548d8963a56a1e89bdd2201c9d155b7078b6d80f427b495e473ad7145ac7684fe601d4719a407ec48241c1786f01ea8572f81f5480f62dae3a2e720fdd5b73dbe62e4ac514bf2d566125f9d58dc45e4003c9cd5fe4eaace934cc5c22d78e402ce7a867851b1fdb7c31b740a254d57c54b874462feb1cf557fd8d94e026dcdc73dd35a857f0c30fc600ff5984a4bd68852aae037488287783f597846d7c1b658c9cc2a5f95522e5678fbf15b25c4069a5dfd6a3dc0093d2202174c76d0d69430bd02b5182b8df45e49998c18612c1e8670b0778c1cf4c061111913a12d1c56aca86323d8bd8abdbe42efee847e26614b9b6cd6cc81f2db5704ac74b8469bc39f6e83cbec3031ffc925bfbe3785cd8f3ec1c3489479fe6ab95945f8af5df796a581e44c70e4d728b782d0e665610009365d84f52791e32bfe087992251586c4a45ff048c6ee11147374f5b9888b6a206e47f00f53dc471301b92b1e9179056c31a8a63f8f150accc4b3bc3c8c485410357568986935bd4af8667562a900a6698dd6eca4100a8fa5bcd95b971aa23a6947f13624796252a795ca616dec417416fa5a2bd479e6a752a4835f80fd37c47aa9b6c4d300dbe7688d9125edd4c49e5647fb4ab2088df8ee9c1c9a698e8efd0f1ab82171d5acbba7d98f58d3fe121b00a522a9f3894170447ed2db5f92152bd267541b824d96ccefaf9493b4278d7b577721020c2c55fc0d1f96b1f8d95ed58c961e972db3efb01cbc10317c728643796ae86664962e6fd692028af12eb2aa8a2a4f469d394193c2394f7866cdc7eae87ee95fc440ad3168ba249fb2226510d58e6be36c1914229bb5d6b720ab733a27c54cd95f445d1a220ce7d9bb645111fa916f9e41e41d59dd63b2cb4785fe229131b98dba501713a52e95b7399dd8f6ab3583ae315990769089686f7fd664212ac8c9a8800c5044a42771602f16a54123331fc1efeaac3c2104699d96b1d9b3a68c822253adcd222122b647d79ed6bb9176498ca3789d710b97fedfa16e8c792378f7e6f781671feeacd7cf9ea3fd4e81a59ce009d9c5cb04dd04e585af62a515f2bcb7ff66a38d1653bda4b76e1cd6db8cba9c7a9974c83ae8964c708c955c702bfbed009f4ba03e2677cdee9055e33fffc1dccf1c2d0e93088339a8642ffd6967777373bb1fd52cedbb5ec5c0dc6bc9869c3d6dc9d6341bd4e10cefbe6532b30854111b39820f673474bd8da4fa2b095f3a1cf45e98399342f40d428abca2648d8c42238b15bb39e2af9a73c79d7b4f6fe9a730101404c07ed3fa64dbdcd09fd68ebb913d0a1c1455b508d76b8b3863c72167748a2186e48e71d7bf0b912abd73ba9451959c15e6ff44d9599253c171552406dbb69f4a5cdbc5b812045dad74c62ae90b6cc657b9404f4660d51c918ea0f8319288820ad2f6895ee340d2d3ec07ea9dabecc92cf03163c42cc8cfb4ad7b0b7efbf23d9680cce3351cde58b10d1d085e49f6e5c575dab4a029772058ae993f1c074bbdda902b3844b31b39b605d2cf664dfb04f08561cd049de50dcec738c19cf39f8818cf03b42f9620fcd8cf10c10ff211884b2832ea9fa26d19b6ea261a26599065ebc18b2454bd61778b096870bede23cd14335c4cc406f0a2a8f75063ab036919f1c626a047d82e044ec8b90d9a618c429108c9eb4ee4e14394280766a5d215147a46a819b143435337131c1446384327fc80888bda2086b5efd2edb0c1f1934a0d8812d302909deada18e8083b64822a9ac0a7c85b0ecae444a7fe4e71c490b788552268b6d1d3b7a4a74521e33b0db4ad77253734617f0d50e8ad3724c54ddbabfe8d48b0b1820e1261b4d5be52de1a4325f54dcd8b5e58d6e61c2025e0a66542efab0e60778d321407f419278c3e55431c4c08e0361cc8b45e8e395ab7392c4c1501c241e91d2aa1b4b0d84baaa0dc5accdba9882ddb8f4c9557cb1078f0440ed40a6026dd54422ae096988553eda48544ccb82ecc8b880a5911250aff1eb73c62400c86285fb88daa5b9c4ec2825c21982a0621b2fd4b1fcc899ced80e79200dce83e4255f92f237c4376614cb2f523e57d660361d219d0a29cd35722f5e906f515829e690d03a32ddaf95faf16a68e8e2c469b1e2229c4c83b0e5ad0503b0d9ddbc78fff6fc6ff97beccb7fc32fdd29bf9957fc65bfe327fe99bf9ca3fd35b7a997ee9cd7c253fe32d7d19bff4667aa59fe12dbd8c2f2537b18652f6bb6bfc9df28a3f2fc5b1f70543d346881aa702e0340bce2a83e2929f002f7dd1d120368abc13d461eb78c3d11c2325ace69890068e8c8f63f864a07a4c5a0f35fd56448c7fe5872d8ece3413935d0010fe8ade4918a28b673ebbc0304381341edcff9675dff8b8c0ec48280f3ee4d2316f0af4b02e09942130775f61fbd99ce32f579c7ba5100ece59c5f4d7c7555138ff78259307c23562a7b95949f8e5b5ff65fc53f6a90f4569490d7231b25ac4f860e5dd1bf1fb126a5c37e1b52dad756ee467ac5a6db20f7a26ca5c3b73ae359e7c4cd19b58cef1ebbbde74837986dba35293cc175a3081fddace74d63488c3dc21543e138309986b6f8ead86f67f0b72e92b3e5ffaa89a8e1bf8e9926a9d1bf2fd2ad5ba37e42f4bd672de307ec3f5895ae70dc0f7bb8f544ba19961f571ae853552f64cbc499c2b57de8526249f15ed8e35b7afb1db712b8faeca35893fb4d1b51e4b4cacac9694bacd7a57c0356e56b76632ff89999875cde63ad678f09d45dd5898fbcaefaf42e53771c49653acd5edb8b17cbffcabb5ee4df9f8d2b59d3798df997e518d7b135edbd46ad23e686f027b85c974a541fe6b186cf85b6b3cfcf537c35723ffbf052348019cdef4069b1c6da0f6dd5854107daf5ca92f48b4cdae4061f7f4ccc29aa05d221a4dffca4509f43dd5eeaf30b50f554b06551d081d5abcdc0e9b3a1c21928ae6c9f9279cf8d07b0209e9c0f3804dfb35edcbb68cead7651c4cb4e529a36fefdcccb387af0816c6811595aab43c959fc372a7238834ce99af9bb97cd66a0e870731f17f0e01fd2214e00f9107b099686fd135c347da5c326cc5d29dd6465a164fb3e10da7f289bc77995fcb4c907a1bfde053409a69349f2746e599e90a739de04d339b2c2d034593b2fff0890682dd418bcc8766ff38aad95ba2bb67ec26c28d321b6dcadf8cb505ba55e660c8173500be438fdca80beab947bf1fbc86f3e90158ee7d61ea4418e286867d2de1c595ba92a548e5ba963d7ee1ae965ec4847fc858a797a382d060d938675ae9990af10d0d51a492b7ce81a4c24e3d375f73e6cbc162ab833c7356842a2284f0e4a6adcc73fb122795a44dee5fb126d0d23e18ded4a6409e67f279b7daf97798ab2e18c014bf4ab1d4aeb2196ef54ce56fda80a56fa8b9268a6799caf107b51d311cfdcbed32ee43a3e202d619861ed0a54954b6e653d29666cbda409f9d6ee695eaaac1803edd3e74a5871525ebfe55f9446c4764c04d31cde0b9e6726316e98e6c6210100441a22f10f874a7da9c60943795845ba015b4ba8f2ce4576669814d0cdc8f4a236d8deca78041fc2f59bf113a095ec93c8b7a8d8906f6701737a306d14ff7bf73155a372afa8148ab18d590a051d98db54e868e530d14c8c17c19b387f01b14f1bbdbb036e71231c5556e986f3ff8ceffd090633982003f2793a3a532a180744ac07df9873221e1e6e6d65b9d28f55c8837b4f15ff8c261bb5b608ba1e033b8019c6b17eb1bf3512eea9e0f68cce73ad28c4e3d5588a5c42ba333267443a02cdcf66594ba5d780ee27f7cb2157c5e02a486464360e8a83c0bb8583ae9be15d55e92077e224017838e234210e200d2c540b330d98e008d10f5809be9ce063a8d05e8bff8ee1490104a7ccf013c964c7a72dbb1b826f0d9d7d23a23504ca7b0977eef977769e5fd2f6a9e2e9552ce13aef44c798a211259b99070a11951fdd673420ada5b1088bef12137360c258a6ed36fd03c81befaf7ab2335a2843a8cb80bf8566148ecf7abf0013d1a2b68d434c9fa71f98bc7c8c39e86a22768217491bc30d2a82ce63d806baeb50253994b322b1ba4ddd22c1c3fd2ee8eb7c2575380129f902c0289a7f2ca2d2cd04d52eac56d73b8ba95b0b536b504e7080b61645e0cd28ca1cf8b9f772326ff3c8338b1b4b9e20f4b7671f50f22938f5081dc71212b6c2ad24e128674e3ee8f1fe46160fa3eccdff4f6135ef59170ead4d63a2c7f6014b18d3a25635c6330c41c9a012b3a047d4cb7cab29bf25fc8c99367f30cc702f298db9653c226ff3e1ecc526ed1109dbff06245f908dbb77b2a5201be94df2f3ffc1095b1feca8025f3697d2445827c8df4252a1ce368d6aef909f4902935d83045e69bcd7ec661592e06dde0bfaab086a3644812aad32b317b3226deb202af5a2a52e0423f1216b649c3a5a839cb060a5cd49e2e0593140ca721443597f9f85fd99de2489ba48abf78ee000171d13c05be5a2d5712ad4ec12593a1ca671cc07abafead0177df20bb1e3655945dcbc46754b18367d4855da935dca462638dd32f68d62af32b09cf188dd8da2ffdcfa07c166c299d83b9fa8bfe2a6df67e91aeaa5055d4331ce120a425c3af167b5eab1c932d78090685364c128809f5f7c531808c58ae9e5f14047d75eac8c3c4f40cf40796e46d5f07081796bc3ae80ba4fbcdb1627271caadd9f2ca2d141898fbe3f021baad03420fd0a101744ab71e07c6496c5c00128240035e0b53e9ba1eeede19754b9cd232533d9b03ae026881c6c6ef0afa8f01e73c33568b647626cbf211e8a7fdc9fb626cc1d29cc04547b05e6d41f4f81b7705e7e618cbe03259e25fd3ba81b3adad8a44cf8100d7f4ab11c54cd6a225a07159498c33ad6cac78fddcda3db181300b77128c77f1beee8d14e48be05ad3a020b3203a5350002d0b0c8a8bc7ff996432ac5e2505f4c6b039af460e3c74caa3df2258e794fb58b60c5879684fe393d6a6c96a91dc55133709b7f80a315c116042f8d38db5e925f7859fc62bab86b8b20e68616a756cce6c4123b89c05e287db9c7e5cb513d06a6658c656ec6797a038e8ada336548f5739148253230807b0fe2d3cdcf99447adcb6ffd655dbe294f8e83bb8087124d5b31042b3d6ba1dc2f36e29d4bcbbec185f9676dc9bb456992ce3e9e7a9f2c6895ee9aa09bfa1e184c179c7babcf1b21289c13f9c07f29328ab3a84c60f7cef68f9c34a7d10e68a8310ad413fadadca40eb1b57d52066fdb508f03d250bc1cdd39eae747fb3bb08e427d635ec570937e8347eefdf3b34cd5c756d1d839b1b2420b2c331a7f104d6fc1b130f02752d6377f485de62c7eed453ea6467816334afff894489ca51bf35a54eecb89f59b1ba50f5d2995fb1f20e2c60df27fa3580f28accb0ead4ec6e21be475f532dc54226ece2b6be32a9e1f61fc00fcea34a5805c45d97f903920cb313376799a947a168eeca3d66c53e9b65e52abea78b935fcf9a7f7f929b869e2d1bfade8b1a07f6460e60856ea9ed409c1564496d0e99f71c6315ae0171bba324736f49c896210ee5f489a115eb60398f3f81a00c343b4fe55deff0a2e6f29333c9186142e9cd99064760298bf558f338390a090d2a5c21fa2e6c4d4c82b33333f549380250f72c83e6c42c86dd51c8d1a17081e8c8320663cf94a25ec3f756daa65883faba7d675ae1ff8a002ba143a2574d5b0423825beb6741807e256f1cc136c6a66d2fffc280e2824b22bc1f01f8464a9c638645e612187f10a9ffc89206091954b046238966ca7a55821905296027bdfe11445a0f20e0b90a98b412b971c127256ba07a51ac0fd39fb4cb74e3956b5b3c8dea432cd5c8b2261af1ec8783bc9f9db8edd4d6edcd8b3c47a673a0612c44bf3252eee139b9c77b918af3cd8227d1fd811a7cc025585f9d35f25bf3a520e884ab7a056dcb4d37d692d563d8a99f3aedab4298c9bddd20415b5988829637d455ad7c9d72569a5a8e841494b39832e7d6c805aca3b88e987966121ffe2ed04d3e09d4ea4c90cb356696a8f3da205347d19a2285ca0238808dce83d86de9e80985b186f91cc9b67f9df22ebade48c602602431b06d803c508a9030b44888751bdddf5218c620f2ea8522af499605a379860809f3b4d05538ea4635f1dba4da376b44b2dc5481ecf4c562fe261126848a5fcfd41a0b356f743171a3bff8958c5bc1b6c787971e7f80cc7ab423566c38435768adcaef3dd8838702f46262853589afb361179210ef9a2d815720cb460617f2ab40c870ccd8a64a778a27efcd484294ac4d0d377386721c963881881e9f40c802a8c081f3c4d50205b2359b13f00d5d09aa587319ac556652a3697c4cd21e96becec089b515a1b81ba06c8601f6be7379b53d46a1a74f072df6dd592299e7cd4326b5fc205d08c16a3f30126ac1f668d0de3837d18861a0ec90ab5e7a4cf3a41fa313d90c94366329c447aec036ff70e57ee4b4ac9e7a5c26956f5fe1132d6cdec46868b72b02f8e5f478e230a6d95a5d6df9b667bb05549b13ac18e79a2fa9fe205c3da8d2bec692030a0e9f703dd545979149530500a10999e4a5f2a4651758a5a95482695241884d6ff0bf1a85b9ab017d244225f71e349cb066cd5739bc01aab165d7d8475684a91b639b2a9152f2dd23bad88c4d75191f49d15364d9967138b20d277ae02bcc6537f99b02afd38129b78d2f215bbae33bcae3651a69a01eb7b51fcbeb7ec4b408abd081e3427a0f5def2c6499b92635f8393fa8ec4b2097a3a567efaf473f897194e175c1395336d3c116ae389e10e1b20b081ef1d101a8bc8dd0e98c797d31933d863b2ce0d545b3717e54b7902a2364cb0eeccf54d96363f172d259a1d54fc387b6381bb7d2cd71e95a0c8eb1cbb989d71adcff7baf29d49ce81c745602a1de6476252594a2009f4069a0d1123bbb947e5db4e429c82b63d159bb1ab826c371313a9330ab7dfa37e4e0b941aa817fcdbeb17b57dd5456cfb9781603656c68441552d9702f49c690edf30cb783a11370a8ae0a1ec62d884624e3047f8b37f89b4112a98c38b9be83661656abbb37760e4cc242f5f6534ee76fe5219d907c05e860390b004c466e808a7ea0b9fd3d8c7aa6e5d22ae91196374b8eac843984eb54997b9ac60e44d109be77dd4d2b58d1cb1fc4351c0ebf8ee778ca36327306f36000e6ac631f8755cf26f6540517d5f26e6eb8c6c3805b837004de26089ca3ef3dcfe8e644812495e78cc2a6b231ef6e7bd6685929742240ea6034c6b82cccb6223b6689c76ac24ad9781ac197d12c60d4a65b5fc37a8ae6f8bc8b7191f2a4d2bc5391d94cbfe58e8f52d19f8e66ea56babdcf36a1da58996e5d339c5e26d5a8034198d886ac27fffcb9483521d1172b1c969c96559070e8d691c1ee9104c98d26a171a0b5f51c56901aaa9c9841df1f16ac5525a6e9cb3f782e5cc564ec3fd24eae0f40cb633a2cc8a27ca1d00ba08de4a1cd1b9422e984d9e700f66841ccd172202325074d03d99e5c9bc8f153858c43d1ab741ba869b1ce843685fe6299441b4be6aeb5baaa9b7b203509458f8a412f93038203aebafbe64dcd8bf7561a7e6ea92712ac4bec6c370f0e70bee9041654006c5e44af4a449ae464b400b1dfc4beaa7e009758f20c045fb74d871acd145a2a8556cecc16b05dae8f45c8b76e4870f20c6c0fd55fc37668de42e3acfd193aa4ae2488c907087a4cc44302cc4835ba2a3e55b6023c3c671495a482e180b6beb6e765b98a3589e7ed323594f3f9a1b58b06a036552f19ea4b68fdb6db492a8eb78e7ce6cadd61c0227aa783995a82725aba8d2b42db1fdc625fa9977213117be68e42ee13bf1a8ee6209c5e85c45ff5f336e92584da93be47ce335c0e0e451e75b0584f7019f33ccc29d576bbae25e5688226034fc1f9dda67f1744c606258c26f86cc5f0e9eebe4e25183e54801668d004973a1fe995fa0e2b7441479c6f11619b3c6ea87cbe634c5992c0714347fdd4ebae4301201b1bd04a7c74a01f39a6fb3ec088490ccf3b00e92a392c581e000bd00846b90bf4403f8258d1f672440126c8bfcb74a0bf1bde78b8744b129cf99674f1a5fe26718c485a8ed10c4ea84287f3b9b46d8bf8c4c1e7cbf83aa789083e84678692c631969076e8156193b859a165404efa090f041ae68635b3a944999c5c0866b031ee29e4d9bfd6b3b08a19e5f7857fb23a03334eeff93d7370885b05d73b1cdd535154c460c6ffecc66aaa7ba3a3f37ea36e5ff23abfea095246e4743542790cc1ef22f3fed7e4b89aaf6ef72d49fc96ba53eaa214308cc5c7e537a06fe8facec24e52ee24df686645acccdf795245502a41a40584dc3cd4cfcf45e54e820efc774972f330012a8100d0d48d1318abd083e2edad9768873dc017a53d3d5b2c7c5a2af3b15ba22d97297024a63e4b1a186e2437f891b32d8e25d4ac8451ed34400e3fe768f701b96a647136924354c345c05f74b01d7d55764ad0b60e7badd62522c27eb0679e8d38d41101998cfb9cea3a123faa1d4c537267fb430a703ee50b93c3967678056f6a0e94b531ea53eddc54c18b2930c7ea954336bbe187fee06770fc0804ecf5949a92595e1b12e39f93716498e3acfab5e93bc2ac1be5e24cb54673e13a6550bbdcffa56260a17a53bc0ce9d19ab1142a13537ca0684636c08d96d2cd8a9e2521d14e7aabe63e734729eba6920aa57820c4db657be6734ed0c822348bc094b1320274e473c331575b2a2c1c8151141b9aa7363aee5d98d8b1c63237f127992ff426e57fed2ed19a54f439f2462d00dcaf01381bbb8a69639861c55ee1474e446ca2375f817e5693169eb110d0493158806d9e4b7f71ae3a1d17894e515b48af9293c832b2dbebb1b961d5aa6a3c101b6ab1ad2a3d1473e237268b37f11dff068aa9018b44b1bc64fd807b627dd9d83c8a83674cf8918929bc785be23a025cf66122d6b2fd0e303816bad1f73791003abc306a8c67c076a4eedac2715627d125b1cd6424dc9d12638983b8ec5f9a64e43a15603a6ca676fbe646e13f48addaaba8ae9508c3e73043d0942fe28d4cbecf7b9c1ede3806fae64e42234bd136b623f1ce8e054644cfb284cfda7886e2e0031dbaeeffb7b3a9147b0dc54a08ef635295f0fc703fb5dce565224ba4be5721f21f2825332a45346423032e45cb6a8ec109d799b56903c02c5cf2569da9d5b9a9f329cd878cb9022c129d6d95a16eab0cb94e9188f2a48fbf5bb5a3c25fd9361945bffc9bd469c9a138c106be2866b19b0817ccce793c517e886cff7263ff92a973fec062fba39113655ec017ae89d9c1169696f6a0dd719b0ce9d7cef359bc45bbadaa661c0017b28a83346684ac8a45dd9b10c9d12869bf24489227042af64d08aba8116dd5f83f00adaa89c0b7163c17c184822bba7669499a46ef161af2a10256d0f29922e4e76c0765526dc84e157dd48f4427320ee9b269eb0163a45308b826b62d8eeaa619f34261a341c8e83e666398c7a9536cddca49d79a00170194b9b15f726898775ad2310742f64172ab3a35cbe66b8aa02a32384a190fe90d013e939515eef346b12a028ea48c611d6e895aea15417e59f8da028d9072ec4dc81db9b44942679526dd64f6e95818151a3e9bd988a906436867ad914ba610d598d75b49a7a04ca8872732c19e065a8fe5f54d6e3d13e808955cc247ada7eb33a90b2114dd0cf588d4b3d96497ee13e2d26c55978cf98684254b8180dec1958a9b7f047d46e03209ecc9153cab2998d2722b9c3fc21674a94b6a5faab726589cc7852724637514824acfc3a88411318bf596feb98d06b415866f26fa782373f7b35585c500ad6a237bcdf6877e23190012f2c510432d8c18d3aa5e0cc61c9dd489fc2ea468ee7e7da3b0780bc038d3cda31ae2f5a1174a4ec650f1eafe4027f82d112569411b44a199c7473282184956da7a06ddb4eecbff33d51fb5c5be3174adf23ca32d15f320aec75e4e929627ffeec0995b54907817c48e04de0946bc58e2d89ed778560e3de85360b81949b8e25c6ccd38098e9a7905b237f7469435c889528311939f5c6a304ec4b6b985754834991b757b497974ce5548f4de8cae0c33fc414304d95c9522cf2bce33e4cc9b9e29f0187607e1e0272096cb9dc4ba62af020f47a5fd99309096a7b2b2ab7377b020c99bc7585141c318e6db4f9cdc7dd4c440a673acb6d7f3c40c7bb38ee7c3b2ff8b4c89d06396b953b4d39ab21770de5a4516e35e45aab5c69caa906396b2837cd929399560a597681949a8514dbf7ad5fc8f293364acfd0321a63db5a74ac6f2f28c2c753387013ff1d52679bd55d4c58da6fcc39027d33ed02fcbcdce1ecf28fda761472be2e0f085073f6797037913cdfa7d0de5f05291e81f1c6853dee2cd04ce13c245a4479d5f0e47f70ce452cf11892f3c56dd2c91e18d43b0a6ed8dc02069a0c31dcd892d663bc88c55f251afff7a5f6c0c05bf452db5807e1c91d3073f82c5d72490138b7e1b308cdff3d58db161d10a8a226f251187c088cddb276aa8b4e1253501ee77e9e01832a1a808a4bb9b51060a410c97d262398c3cd73388086a1816ce52b810b0208c22dda5f587e5da91a31f6c47988d324fe7dda51f517b365aaadc0d371567a6a4e117178361d2cad793731002cf0f70594b840ec182629706c0ab40e10677e5e5a63510096f754c0516ee6ba9efb5360c8e3d4539ef3fce3ccb8207c31105e95ad5ec96956580dad3455a3532010bcaef88dbcc38fd2ae953e774916a89df535045ae44e873996c7f2a4d48ac0c54de520d1f6af9c48225dbb3944b8bb4201ffa6d74955d727db14900edd7416dca0dfbf110590511ecbd803fe8ab725749094d14b0ac84818e9d6ac8b13d85c9376259cb0899e5997d78caa5fc235fa720aaacac63d4201512e7aadf95ffc67e85523e3264d961b69b06e5493991bd4ac5a1e500bda4bb2164e77b6f6426503680f534cf3f43de0ef8ceb2c1d68788957202fb77d4b7ca153deeb3d6364b8baa50a9eb979bea7e5ec4769d75c296f92598571e6d97c6a6649b488dd446246df02da3339ce677a373736ec4de24b30fa0644ed0ac948e5e5696ff4b830fc6b575ff0be5e905feb6cfdbf4024b03ad86e8619a490fa50ff61fa0721b58695ea7babb63031eb2204f353c2c0d0d9fe21b8f27ec11e097600804b4d2731f321a8216df02bf7096d5c61a95a5e73a2dd5fc7d0e6e2c7b67423f2ff3adaf20ab175b296e2c66e72fd7b7fd2cd80429dc472aeb741f14c0bb8a929e8d820d74a67eb896de1a6a02c99585600903229287843bbd8b5ee10622ac1188af8825fc01b4a2f5e66fc4a9b94aadafda74e7c07d437f1a9fe19f087257b5fe4a09362b39b61273a78efd5412aa9d0cca86f3fed5e6dfb98526d5537765befeb286e5ffb21e96d204e8fa0424c1276ecb4e09d14bc7f1b1816d7359e3234958aac73430849335ee8a6ff7282d0565b3170975136774ec044cb394a7efb70e488d0655a02c40304ab3512c767980dce972a40ce49cb62bc6b1af6ddee1c5ecf99423467f97ff7107837538d3135c00136d642549d78215d5bcd7ec59598caa0ca34c5a09619fb5317b98bf0ca9c9e2608f4e3c8b7dab5bb6a1e5d80ed447502feb11be33e8a0270e0bc190eeb0a3cd45cee29b101d8b9405f695e46dc5652938979ee951a45f33d5b33ab314b767b31d2aee8edb35a15e1fc6950aa135083036628e6241d406ec7a0852e84a5599cf5a67877bd43dd2fa8621185570402f125ce55b7cfa4e185c381e460db019a715d0a6b2cd9d24d4e3298213abbd70052e22327b2ee4dfabe0ad1fe69d36d3a044dea2368264da942368fb31fdccbe0b592cebab02e71cc42cf752990833e7ac48599d78fc3ab28561a30832a0c832f4152698f1ba4c99412761890432818dbc3662fe27256ae958e402994334e0932a4c343178a85e369de4c8585431eb6675004e9ae43bd52f34ab3bb4a05478e8c87ce888778f91c287c21077414609b9c474bcfa39625d8316aae4491ac577b66d6dca3087e3be3be0e086eec9e1af1ecf162b7416ebf9a57e90c3650ed2ca6b6d793adf498a192e748ab3a32521f71946b7f0cf66b0685211b8ba79865f64b258613ad85b84cde731cd7377c20362b122e4f889434a03b9a370377aae237d98907158ff64f13b0559ccfd745dc899c75a9869077afc98789b4783b7fe34972628a95efe56f33d377804c0f2cef3d842a4b2efaddfc01b7ebcbdb34a9d0cd6b6c0a51d53a68a12f1a212d3bad3d03c9af6faf40092b699fd5344752a9a4f3d59e955237e37189e5f8b304359be76786046b449953906d7c8b8cd239f3d3ae2476947cc63552cc69b7ff5a9c23ecf86985d23e3307419660a4d408889c7590d3842104e1ec4aeb15993c8af4aaef314959d14de6560a09076b8dd6b0bfaa725c20e987596b724d3049d4d787c00bd6def3237bff53e9ce61126c843f757ffa8cc4531bd4572708ffc7a8b1b2f9f7484655302b10bd2643fb82e7eb7aee29522732110ba34f1414b3045de9cea230fe045c68dad698d685dfa09a08f3b47f66ba77a36377c16f2f25321ee1002ad989c2dadd8bf477bfae3cd43ef109e4bfc306976e9201d501ee11b382dc17e2e94ed755d9ce10a525f9182c335e32447119c54b4bf0866f9abfc62b17970ce4559f011159a82875174140fe621b1c0680b6b456f4b49b07ba7c12b12e57404bb051317ae9f828e8e63a8893990d92f99a89b4fbd29550934832d1685dc8e173763ad882acfa46bece99b918e1d348f06ba39785a02c6d054d79a1b828ff2673431ab504022ca3b2312465624953dbf442ead420254adda9883cd15b06259c51de88102888408c283afd720251218e2b881f07966dc3dc716263a08d5b7e69812be7f4b05472ab08998bf4072610e20843544940c194f5864cc29301dba206af0e81bc14eee9ffd6d77d74356e2564984a86ceeb2cdd960073250ba72e6225e86031e690a530efa9e88d3762aa29987527aa1336ad660b966d6bcd209932c25a32a26043244430deb56c33f6d74b689e71b442ca8450b9c38bd8cbdc44cec06e87c4d4c0f94640b899a641917df4a743b3acce42256b07c94986467de800c7effb08f3f4870247ba380aeccbb8748022ed0a9da20a56a3078f0bd5d415c995151cc40bc8a3ec599e7be0c3a75776992d9438c2c82a66f391c487051280cafc8b46f9671ce999e491b82c09a84c83ec9313ec4849bab9dcc899ea2b28ab8ff6e66dc5c9218fdb16f389527d78ab81f791fbc9f713df4d68b4cc787a9d383b144fcb41010cabb6243fad5ca41aa7a92a48d38f78b714575b2fd2cd6c0463f1c357219456dda7db8c3d477cf24dfa6c0a86bfe8538644f02aba3589f50998d50ff0733dc1c6a535efe558915030d9ea18fbe31130b6ae5bb258d2ef40e376080c94fe3e16dafa05ef44506e7a388f2d43923ac618f00775985d7159e1f140965566ed4cbf7906cbc1c83af8a0b430f8058e7759a21776a4d1448c7a0e2b502368d34bbac183a6ba5a56a320cca3c61c72f22483bd929bb531ce3f5485ee0cb9b7ffb10f009d74cb5193bac9eb88d6ce0338316919d15516ad6ca5a95886c96f282841b288dc43ce61ea63d81eb886af61256a1a634107ce53f300384cef200a79d053c2f0982ae8669b61a2c0461b04a004fce80f72360bb13396ca3f1288ca22f4466f6b0c7021f41a26e904995cf59bfe1aef76a531ab1a02ac3e99809cfbd69740366114edddd53332b38841a0eaaeaf06aa50ec11f8cf287f02fbe77bd181f317e99524b4b430eb8817314825f905271fb94121c7063a49620a37aa38d24ac06b57afc8059b462dbdf03d765e3ef1745049fcac02b86649dc850e4b2f0f5511e8d37e4be518df643b5b0f4b3a1938e5da62b2db8f30cd1a418d1c0a5e2bc587f00daa9d76a626592f0d9212e21fe6d5e2d566a5616b2e1077870ecaeb3b7c6265a9c3a67de46bdd0fc456e21c3c001eb901167c0ca4f79b649055c496cac0b18c2f9f0628a14b2c64a1a7c1e87aa3058fca8b05ef3ce2e6da6ca4be4726a010a2061d81f73a8a034036cdaf5bc84750bb110b54f1b764c8660468e8eca8d5850190ea078578abd3a0dc19654efa8456bc0a952bb758843ab22fd132880f83f522394f64321b6af08fe8546dddef727457d6035c2c186295bb49c8c04822dc7c036e400e92bdd5c2327b297b4fbd4c67ade891524367798adb958210d40ac5a571bfd5e6ba341f528e56dbbdef014dac31de2d66809166ef2753b42c64f416a9ca87ed7e7641166228fd687af2bf0d555666b183db01549db37f342cb964632b5c73233ac58b38ba73cb368e9da72de2db71ea712ccca67dcc71ba8fb8b6106666b480fe7be58e67c008ca519298f92145070dc93d76ac71d30b19e604018af1ccdccf28b7e5370a7d97b26284d129160c8a48062a7e93e0d54a4fb4694f677188f3266668bfdba78edfde4de0aca419e4c748c7a716930aaf9512728363ea00f171371d8b99c3731d369f5a736f002f63c45d38ba96fa525c1aaa2e1c4a3863ca4602528de97409130caf6ab86f5527e8eb65050bd794e2018f79fb3063618556be296b1341263b3bb5f5acc332737ce0237b0867b0ac8381aec566d91267d85624bb4695e5372db665b5644a630539fbc6f345ecf990eff2c20cceb984a9010b28a5149324dc48979cf301fe102bd333b9c39014dae57d21f07c887656f4c7dad9071f18650aaa25dcd5ee1b2e056c85fdefa96b5f4bc5ec1d5246845da88efd03b0f653dc9d017b85a1dff9ba5d3c48e1b3b05091c1c39b93dc670ecef2b379696b8939a8051502b76e2df44470fb9dd94ef37babdee49752a74a982108d80f5b69d12be9c9866501e720654818a81db326396d6e41125214d071527cc6bc77b320d64d0ebc95b91d8323ebe5fe8ad24dc030382f97240bc4f5a00f110b7e033e0f5be1f76d7d64e13fa41c54a033b1055d7b32f0d81dcb9931b5699bb3b69de194f93d6b44d4a7e16d3c8ca329cb062e131eb2d101b2863fdd19f7373d99df3327bea6d01365a00171a90d4645720c3fba3234ee1c0a6beb889296f278bcb02f30d9c53aedb876b2dadad524c1928e0b50a7c74e6d27860fe1f5a6b8495f386af2578c69162cdc65f7eb403db2cfeefc7c2179e626bae1ef4ce97ef6a37063c74e3eaa850316f1013acf70aee3b65efb30b4711880ab98f816c7f1631ebae690f07b8e8562000630dade18ec1d2b42aa3bec24db3c3ac4a2d8ac438482825b088e95dce0a83722b07edab4878060c6fd2a10d6dc3a3ef6dff5f1ca4a0f745d0bfc705fc41dc43914e5cd83eb13c3f8eb9ea00e4069694741a0f76cfc76348b40586b615b12320b46d855c8e37f7f3f395e7c5dac7391c995ab9b940153a41c03cbcf5f001a2467433215089c632b458c734583a830e9985c66980638253a6ec238ce66d45ab597df8ed485150f28950447110a68653f5760c8c8cae6d7a5320ab0b2e1b174b7179955a8ab320fb4ac51d708415e4b7419c24c74ff2e3ca0fd524c9788a9179039db923b1f3ebb1c158080b3ef558c42ed77657d5aba412db9ce3902549bfc5740a478c3380a88beeb46f4b1e943d4862055280bca49d0d74161222130f8a546a0d16c3d5550a5ae1dfaf7e0cd75285aa6b6044f3e9491f644f72287499d432390e1f5fdbbc8fae3781eb344db4fd3c1f1f03594a6493eac56bee174e4305573c924712b2baa2b4a1492652d57d084348ec945ec788873221b85d230dbadfeb5f1745b5a5034b1d4d4f0b749c83e27092dd1e68596a3359ad11a2556044a65fb5b7fe2391f91b77a79f7a055c72f4007c1c41e9332f0a2a7d48c4541710432875a917a490875b34782501445d41dfbb016d8d848c9a5c3ac9d26a9b63ba59d21b8c546201c294dd3933507e24161b5af5d78f7e91d97e918df0754471a46ec43acc107845294b0d2893538afa3c2fbc084c7b52960add8fba3753642108d5d5b5713d9f277e04743adc0f5db28fe55848f237956f3db6dcff0a54382a61f1ec90afc848552f44d04eaefa0cf875918ed63ff24c423b9ef7125bd1f6cdbe761c0c4032b760b4c089262147e93e97100833de1b8d2e85ffb69c22adf08b20f898b029e311d7a54c15e08501e637539cfce58bbb42656a021616a200c762bf8fca1887709bae1ff0875cd9d0f3cc82e98ff7b94596109e43174ae65c64761e622740cd88759bae1be164046d58e84dbe4f35361438cc3c5532d2c282bc82332a33cb801475922e40af7ab236e7c2bb96cf7c1dc9d4f01cd1d811bb489499d88037580a66ae735584932f719e89051101e45ee3530010d66e94bab5df889c44658cb282165b19e20f85612f8b1fbe3425e62228f9df61c103396d3c30ab484558542b90e929d69ae735a6e02a6a27d9156a12bfff0315cecf35d6ff8d0b824d3c8931ca2b8d76cb2591809fc237317eec3b6f5f079f6a20a95b06e3387308d4664607ff42502cc3589bbc8983ba78863e69524bb3301b39d188ff41316d0b8523a47618e8d467f644d19fdd6cb1f75fb3f3b5f60bc7ec9dc3c5f53b756409452faf3b9b2f25ad38def6e324465d8448798a93bbc9cb1dcdf1a6a35494db311cfb72568241aa0703343aeef245876ce6cde788a80628171c47bc08bc993352445f6676073e96eece140cf818aadc80adc7c962002372e2cc596a4720ef96c594933e2e1d0aa2ffc20134f2ea091f5b52ccc161fdde682f0184fd132367ad8aa6cf3c966440d52fd12220c7772fbff58b3a0a1a2cca1f2352d389ad7dd9d17008ada28c68714746e5edb806971436880f6524e5e165a86cc012f313dc10424db65ee70474f54ad6e11082c9560a9e02ec8d092a43613d4d4943e594c2a4698dc97727ec2860b57e9515f4be6a8eb0df527bc39cb084145df87f134b989b1da7b359c563c94ffdda488fb812c65cad5adbcc3dfc7fbe085c157651d345d8635fb8375f97dc3152b296bf46cf5b0c88dbe3879b8d8aac536c51c29c3286e9068cf5b1d76e643b605f69642d1990478f74e69dc0f166e32a9d0ad9018e0c132bfb2f301bee18460a8db246758619578745cb13471142192ac8219d1e83341378d115a7a0237b0574b5649d26e7325c9a3d5c069d19829a495c447f9373301b12c4e3a76f07c827d72f82a7d2285b8879b12ada0fa67fa0580d4bc3fb624e5ec06d2d2de5cf7e2ee29dfb8451bf39f6a4e3efd7e3516796d031117510c464140781e061187b2df0f99e2e3e8bf7adf4b32ad5fc36020e55a10f6ffde000421525a98eb8d113e0083031d8d1f46c59cc14d9399533bda4d6f2fc8fdb65b91f04ec59b8cf83ca9212883f8a36db0c5f358597d900f8b948fb52b2d541ed0ff1fcee7027d18b62aa7c5d6fa780b478a0f5b1adba77aafc802b9215cafd875431b59586d865f24dd049659316a0f1492f0f84e5af99c2f4434c0607ffa26a353fcbf39b8c068905af398de05bb527a5313c9fc861cffed444e70b4316a52d835d17099e0d83158e2b0ab3eb2af5cc2bf8d88a0a7d3f43d059164d6573342a50fda604c8620e9b2e500cfddd18e8f831670cb6c28d9ae183aea842c0b9b2ca2e33991e2f0c930b0ce71ffd668a4a0b85472970119deaed6712880a69a46ff85c8731edf55136680a57bfce103234e0f418a418cbd9a0351132a679a87ba795c3e153b7ad9cc6948de63710734e99a8cdc91f79a94fc1787d449652e574aa127b3b84d69f0a30de17ac392330895b8d85dad7f9c41aeecf5f074c46db19a317930a7e570844e2ac1596c05fbc7841a80e269b8af20b4432db031810978fbfa819ecad34ff5e81648bcac23e2da52bfe0a5b77f3c303407eb8045220774d8f28c3578f67bc6078c6b53782f2ccf8376604513deaf45b863fee2236e12447666c893557b4e3fc56b2c5c1d84c6466d2ac0528b1f737e2d092ba5c6966c694ae646a6a3114033f3340f43bccdaf790c1ba57cbe87e7774690c90109e0cd0669ea7a6f83f18e3ff9779edde8f7f78f943e9710e9b2d457a75c24ca4cba6117de0cfb27ae157c13dcaaa0f8cbc290c164c541057c114e5a22a4d8b006a811b03b635b75ee3c46e3e03e848ff6732f3a293290e4e1b5ec2dd98cd3912c7e2c093c3371103d4ac9baec7d8374657d111a9a0e51e79747ef901ff3efd5ec130371609ae0a35020e96424faae218bf9d3517e21012e1d10af46b33d2f7448527767bdc11628fba6382df7152998e74eddc535b35a96581b64498dc157f09372734099ee5fcf2120c2351ef12acab8fdbaf95b683330777a56208e38c93d53129077cb3e101e3314ba9f30486bf2467225b51e6c2126c7426ee5db3f59f3a7424e4d83e9cee47b308c7064896de40724dd01728811a19e64737a85f86091329e386c6d3f1c5680f1833949b1d9b4ca0dea2d31405d1f391248446351ef0a7490e70ba60667b07e330973e9bf317aa67414a7235e175f775aea2eedc8fe9ed611425230938adb120da40b72d5e10c0a74f1203448394d0564ba158ac8ae80e2afd53e7328e9f16128e3baa6ec4fe511a212795cdb67eb525399c543a52aa1a68d9fe11706703bdf3086e1f9c200ffee99387b4d0dfaaab673650f3756a6bce5373d3f6a3e6d6a9657803617d803109f63b78c674892bb825260618407ad690f38e90899a77cebe68492ca8afffad0ba6d08e21ead5d5986167100b8cbede6aa61b286c3cd81672afa363edcf3895e374a8b21203e8766941be2d080ad3424338efa2a6f63e6586d79c540afb6099a4c01d9d61e4aded30bfa1f728e619586da876e4f3a3db995551c850f0c6bdcd3ee6bdcc0070a352b99fd9449b42c894e36b1f29b1f3778c587a4a048d452a68c56e0312ff6ca66634de05daf560945e39f3fb026563102ac714cbb5a105650a72fd6df713be816c3fff2d77f37b9511fdf6307495efb41c10ef0efbeb1235d8c4388b585c222732691d323046ec734fc754d4a168d77b7d9dc66147bc6a294b7848f4e40db07431af44365d1dfd453d9f6e4df4ab59e92c14448fb76d2f015b4dc56fb1b2438c0cd2f5f3a10eb73428de2a0dee6740de78b071910a36801153d9c722232ce72d94985487a3c05e7d659b19353fa7a1778a08942f8c173d89266deb896fe1144e74b5f4d5d8001055e93f388bc9938ce9ccb65779a7da85841d9cdc6561b5b0f92ae59840a5065a8f155e22421e5367cadf7e1a8ae220b3a2dd0d8e1ee42661c79d91fbd08cc65e3018aeb82a912922802d05010735c9ab98210df13ec01962f27d8e8b533c81c5c1787be692bc7ec2da8ca0ffac7a7f68304ecc863f7e27066a0ec4c5be6aa323453719ce2c5bec0f11e095e2adb8902abfed819aa461e0888dec91c239d07b1dd5decaf50eb6eada27d1c0ad26ae42f70d5106cff020c28aa7aa4f97107b82ef51d189f48f9c14743170e87114df5171d011ec7060c050561afac632687e643bb729ba68dcbf15e384566cb012f416a04e13efe675b7e786bb1d6dd2b76a4547f99c5a2e73a42279e7703d41feb500d31ffe04190f27e84d25d4e11f99cbe5d80bc4ce261f34abe6b7cec63a713190a878fa8015e2caa94d501418fbbfe08c68b2328f25d1aeb77d47e73fde95d54d631cfe117125dcff27dd2e5f4c8368e5b8a48e2fba61697b152493ad38097f8c97a013f251c71cf84b85c8eac9f1df888cc786d82916fb9f370e4ff94d89246fde785a824bd503aa0393d5bc4a6004b720e04fd9f10e91ed1178bc1a7e2815ff53f938650c2ca149d02bab0ca8a5a308e424a8b01b417f05fedf44a7a36fed22716cc35f1ec764330a394d09eccce349e815b57fe700c0d4d03710bcf0b1cd2138a68e8b3cbbddc88f6dbbceea53bc3b96e9fe97b7fdb6b741a7f6bff819ea04644362291ddddbd03ef08d8072008aabc5dd6f61dbca1def9e57ea87e73d2bdce53aa2dc5b1726ae352a9d435ee07b73de3b82dd5c5f4b59a869fb6d65aabe9a4f2854ce006f6467285b5efe0a77b70ce7930ce4e8e407cd9abf3bbe9a8bea57e7fef0657801dd83f31d7c68a4d77bf6fde4f8cb657925a9593b8a77eb787a0ba4fe50d6f25a9b9dfec4a5dbbbdb74a516fdf4f8cd6f2ca4da724f5f6ad24b5eaf6dd73b018bd95220e7e52c89e723fb627a9f286930bb2e96dcb5bebbaabb8a38ec34f5f4cab4ee1a739bc3fa0b9874073c7dc1f07846a6eea1490ab53df66f67b0a4422f97b0f57801d407dbf714737c70e3ed11772f615ef0d6e163ed15b296aeef6da54a9b20b02f33877c03c4e7e524875267df1cef6d4db39bca1e6aec2fbde72387539cca437fcc2e8ab24752ac315e00636bfbdd12c71dc8c40a6690446bb8028171e83111513638698184b6262dc1059c82cfce570f69f4894559e4864e55d2064b7c7f9b64fedfcbd1d3acfb00edec13b7b8efcce6ee577b69ffa0c6fe7b1bf3b8f5910f99dbcedb3472e08fd556d913baae7a1b787bf8ed4ae835df5dc9fee6e14719e83b77d7c875d20d0e39c1e27bbea5d2070d7ce5dbb963d5e75a3a8c2dc86936eee5238493ecb9b496f7a9b79ac9463eecb40371f3f717e22910b84ecf7d9ef217c382a8803e39c97f3f3f15eded75a75dd40bdf39512816ff49cf93d0d68de13e7452c4f31907871fcabdbc5f390fb113f7f197196e1f9fb3820d9b95f1e1c339c7ac44f3fe979170879d7af3e8f7a1ee371de0efa88379478c76f875c90f91d5fa3f47c18505a7bfc51cf33dc3de29cff44a2eef63e7241e665de55d33728123da3f813895287a7aa53ecea39cfe3ea197681a07d75edabeceac91f30e99dbb40e0b9ea3c575df5c7094102614cdee3b1e3ed75fe237bade7c13b5907e7e02479ed1ddef5120727a93acefec6bcb55ce72df7c1cc95fb803b8a790e4d2df3cb7b7b6fc7566908a711c8d4c92c0c84b29e7edef503c239b392d4d0f5434a9a95a4967042d8e64e8a25fe50d27c3d90c701e43ee014f07640a3f8da64114f148a774232baa7e9adfc8049fbe8e1c1ce248c52257f65eee01b92401ec5b815ffc05173900691081eb62adce2096f8720a2bdad59725fd08e59c704934573c3d97991a60d20a53eff60352fd1bc94d923ddd3fa79a4eef5a9bcc4651895ca4b33b347e23e4fe95347d239fdb5d2f37b2d43a8fa2e2fe57479a96679c9e6a5d4675e6ada00d2fc3d3725e7dc55193ea9ae93972ab4a29397547989cb3209362fd9ab9e93e194eef338794995ca4b5c16d28474732a1b75261c1e9143f089148a8a3d690d41598147bac32738252aebb2dc82b2b97bca2f168fe80764448709c60cc933adab35672fbe2ce6a9b5d65ae9ec7800a0df953722e82e6518cae8849a191a339e6cce69575046cad6aa040630c294e144940e558c0066d5989973ce59e991ec415cc2f4a0adde1fca3221329a4aa245139daad5ecf2b4c8c434324e1a99278d4c9828f474ead65a6b6df6fa9b554ab34a338a83e2cb5a5b6b853a72e4c892316d74fdacf4b5562f6a88426f87ec878e88161351e8798125a34b344d6b816e61220d4d354da394524a354da354f362353b9e16173b70f183666d159ad5346d8c17ad69da79344dcba09880c2f27ad08322913d5da2699aa669d65a0b6fb5312a50459ed6165eb61093c2066e9041862db6c0620a0f69ba301943446b8b24da164ec650e1b460420b2c2a586b635a6cb9d2468c1f1b5698810a15140421c492276344ddc065b2600133a8b8c20835458011038c8ea1a9983528ada28a2334adb64e1530a00213329cf054041048d0404d010599314eca3ca55598a568adb5664866ad5478e69c734e15a69835f4eedef4a8f8e14909a2a0682109362db0b4d65aab1834ba5a6a690c3e7481610d141152667002ab67bc5cc1a35f4c4cec8a29e28b98235944dd9af2c26ef7e69941954975e92a4f2b0b2759c0a061c1c9281653322caa64d6da4abf20b15d51c589a6699af6c326b39941559a7d89c2a3459e56982a5f96e8c02933035346d64aad60a3d381a9b2c45a6bb550714606fa5d494386a1146b0da594522bcc685a7158285a628c2e6c40011465d860068d0990a8b63239a209236230b3c31a284d888146055dc2c0d14f8b1b305dac000343b5e24a0cd48a13c030ada0018a5421ae00b7b4d16285aee3c9fa6d39238c1549f4ee4eed19ddacf655ba86a6b5d6977e312f5e82e0c225c7cb146b332724bcd00295281dd230a185054e60487941a14dadb5d65abba0e99450a9a0eae6668cda5db152862a0536455471821916da5c29b3022c55a031bb50a1758102ebb7858d922e4074d9932a29e8c079e962c3922e51e6a4730a219e5c411377d04f56b43d261b2b365dfdd6805ed22cef2efefba52592ae7923e9ba35d0f4bae28da487683034c4edae143f3041028b962ab89881d24a51134180e6c0f5fb5b6921228996a614b45c89d23cfa69e1f20487853160b080e9525f08b303142dbef49083993461f09065054db44cc9d16f8a121041290b5cfac5c6c0610b262559307183103740f162041812d02e38b96204164cbc00c31711d082c8a18c2fa66093851632718c043a3462383550ba335c5a6398c0861469bc584a29a55aa468da45c16fc27062044da838c385175c92c0a2e5048be3c204a2ba40634d14161cdc74c145962829449a5093020d6f86c882058c729145892c4e4f828c00cd0f53ac697223064a0b0f4d5ed0a8a438b3c5a594660142d3161437584cd1841628884106305b644912cb52c3d52fe6d4a6a31d0f599cd5294d465f1093058c100f72d242ef0f65548748d481a993e0e3f736b339242fc223630c302d480993a6891860528c368a11ef6b98e64d1254a2384191910406b5607202c41a34c4aca470a60d0c8e79662cb14489298220838213c0a0180da1512ce33e597454c55312334c49c3052c8b6e56fbe812941aa0cc9b2b72381284163460140b27294e3a584ab3747942d36aab4a0420c84203106f6a48c19937b07a45cca9c91457b8787347bf58146774f389894bbf58143d4451e64966a310b3d569a7c09973cea039e79caf28a060f2fbe8178bc205bd3f54ed0e552c0d4c4c006103942f4f7ae04189303dc4bae840a5b08979514412565c40e3029858142e74fac5a238c14d0a5d3ce07c3ce0df23007cbc0bf73c1ef03630cfe301ef83771e0ff8165e3d1ef02ccc7a3ce057b8f578c0f7609fc7039e07678f07fc0eb68f07bc0ed61e0ff81c9c7a3ce03b7c1f0f781cbc3d1ef02a6ce3f180e7b0ebf180dff0cfe3017ff1058f077c0adf783ce0358ce3f180cfb0eaf180b7987b3ce02bc6793ce029ee1e0ff889731e0f7889751e0f68adb898a05c0991492965bc943ea48c3ee2a78ed905423c7d9433423328ded794fb9e7253a9b6ecdbefe48e3629b91f2a958adbf0d437d37066698da733cea91fd531466e83718cb8fd3c0e32fdcee50b2f54846142b7f7b7fdbde369452215071907f02fe8a5c1d0eeb172d3bdfed2a3d4672a2bc9a9270e73336cabd6a886d8876e14e3d06bbf973bd2343c750ae729ee070ece1f7794e1a92996386aed661bc538cf308439e369e91fddf37d2ddf5d7e4f2df3cebadca5e8edb8a3548e9dc491f438dc0fda83dfdbc12377700a4fad83b3e7e0e0d0a9733047a53bd7e168385e70304f2b8dce8b9697d95fcc32e48e54af5a90a9559fdc0fd58f541ca67a7241609edc8fed44e0f341f1d4164f9de53da4e53ccc328dd2ec469288d5d936a269adb778c35a3ff13c033790a758724755a2811bc84ffca007e8ef8c8a2ff98a8de48caf4ce2c87d10e123915449eee9ded7bde2eb69006f1fe123ac73ce19a46bf6de566b86709e0802247704f393f210c239e7845089fee8d77a3bdeb7f9de3402996aa468685d47e9adb541a9bfdfcbdf4df3b4783fe7362bd2f9deb4c5f9e6e9ae835bd18c2efe3e07775208a73ef2e8ed6f7b0eee5e1abeaa2a6fca65dac517b44796ea7a5885a6533f8e6a6048d39c347356c579856c23dbc4988e577b6a8b6eba14f741a6dfdb51575c4bf5eda5ef6bcd7b0966af475fb8332defad7b36ef96fe967790de99e6f2d640dfbc7d6c2f5f95bd4ac5713b1cf73db3cd1b6e79a249713f56bfe0ad0bfef379e6e76fa2995191e827bb166b8f0291a8dfacefac8bf00946dd788d62f3965de72012ac5f88848ef5dbf637cf6c37921bde338d8a93525b57b7d7c946bf4b71df6e14271ad841cf6ff7ad94f78ce2f28e3af59a77dc0faae3fe1ec771db0797f7901e3d3ddf437a0ce9d193b9536da6a1b7c69ada559f67b4c905b9e7be67944a95f78cd2da95a2b6ac1b45160ea8ee8a2c363e256baccd6a6f6d39c99e75218ba5c12e472795279aed792bc59eabaec128591499fc37729ee99cde956f9c9577b77d9e811ddc6f59e5527db5ba8afb71bfe5a4edac7357059fe09f37ab7b4ed6c9bf91daae71a96b53bb72eada0fee49a9acf3cb3dc12ed79ce5279a9f346ebb8e66b923558e1d9da2afa5ba67c355f76c53f7b0b479c606deb90f56bd85717cb559ab47822c824f9189148ae7be597a3fa8d4b673f8248bb28ccb9b458276aee6dde91d996cf966263a72372077232771bf719b686007f60f7690c10de2f7d3a2efdba2effdf3a2eff70ba3efbf8734ebbb87f6a13dd0f761d1f97b1cf87cbf2cdb901e5af53da4c71ed2430f69fb9cb47de797cb1b42203bdf66081a7798379c5c76ddb8ea369324c82216abeb1ed44433a4c790de437a0c69d56dacdc4c78fb3db5ea3bd849df67dc0fed4970e7960bb269ed59161825fe41e9fb8de30a7d5f15fafec5f4fdee7ce89bf7901e51743c8e890676a0e5ad529d7247aa8d567d033fbd6d1b87b7ed3776be6dad48f47e26032251f77b219128fb3d52244ab96cfc9e8448d4f3fb89e60d45a2d6ef7b4422d6ef7d44a2d5ef3d884439bf374a4024aabf57c0e340e7f7401e073ebf5f00eca00270831935a3b43d8450f51ff2aacca439bc670f7dbf6ddc8677b4a937cca46f0fbd93271ab881bd20b77e7ee15601d841851bc49fecc20a88af781b5b747c0f7ed2c15667389ad1ed4eefc8848e7f3ab8ea0e4f9d61dba334759661ed26e8ed45224ec51da9b291ec9ec24f6b6fc34af3d20e44a5a9f1d4576e3a58eaacc3d14a7cc5a21785ee378fde718a0e8ebabbf572aa7b5b2ad510ac4975a328446fbf780fe97b7f705c165faa6f78c8d0cdaacc49bb9dfbb55b877bfeb87ba3a8a381207d7312771b4f610d04e9a41eb871d8c62fde41fa727907e97b1b7fb108e700f3aabff97d7dff74340e72df39b7835f7ce9e4dde9dbe5147ef1a5651cfca290cd9b47df4ffca2902aef1f7db9f7bce71ceeb90dbc87045dbbe9e0a7531886815ee2ab4db7e394f84324ea99b24324ca7a1e1fad44a25769a693b3b723de076b6f477c0fce3095790ebff8e2b138639282a632ff6636d28235c15b71772eef96e67ef1ee54dff3dedf5f8ba1d67034638a2c9a8f8f5522917d3cf70b37cba9b843ee68cb7e71ce2b7eba4be17d9f1d72473939764a33046fdebc6181be79484be7e0a92bcd5874c443f115cfc2f12b1f19f640e664388baffa7846775febd9e8ebc7454c153d868c1ed28fcb1822f4a6551c972d62faa51f972da2e8fb8474576fbf3c9bc4b7bfa9addbde3d7bb208e730e3404869ce723f769ebdd3a7e99348447f7fb9a37b535fe1ed16a7ce1da57e2f97f7d4dcb5abf0eeb4e56e5596bb55dd48aa340e6fa9557f1c10a97be6bda63a0c9a657b8268bf49f63aad9eb7f2864f8268b927efa86d0fb7b96f4ee354aaed713fa4de37abcee1dd69a625231ed0dcb68b70b086249d1bd1176fa9b9731c10a9ed9637538afbbd91bc3875a578b465225227598e0bb2a3d639f7d4b7f6fb9de97df3864f74ea54956fde342b456db352d45c8ac75ee7f73b15897aec5320d8eba4a0d6e139a7a3ca1cded9a57de37ef306c2fd06e1b6ab0e99c00eee036f5dcc4aaaf7f98107c2bb04adfde4116cde26686dc3af9886b458f8e956fdea176e3e9debd0c65b1d8e1ef125333835bd15677ac2ac3435fde47e509ae98765851bf4fba5db8cd241c7e0f7f711897e3e7faf8e07611dffc150db58b1e9b6095a49ea240c1ef49de90c9e418e0b7d4ffdfa8b44f8af472e48d03148d27e5f2fdc8000bdfebc5e7241ee3557eb236ccf3e42eaf6da5990955d3fd9d5ca59464ad5c37c0dc303e1cd62408eb7fe8c227cbe0bc2e37301034a07d5ed7120b45a67e15d8266fdda4dc3adecd20efff3ecd20ef4cb62b9b4ec12617b7624a42785e04dd0f7407997a0ef7f32ab9e8537eb17e4f8c55b7b2bafdc745a1ed2725d7241721ce6a41c6fe5247c78161ed2da5a1ed2d239f28caf0c9e717ef19581761c8779bff87a5d28cff87ae5e3f8e382041d836380b7111da46940a40efaa5db0f0e3a067495137221ec7bed30cff8c220ef22b76e3f41216879d6bc715c49ea201d7933e9a0e3083a0eca1bea9f9fe3f8fdc13ee26b1e071e8aaff9b8a6fb99f33ff739eb174e2e48ea07c2bb040df4c91dfdf7c9220c0ee12ffce06630b7bee527f347b0cf6f61a05f8c73b4f231c02fbef2df0839f2ee74fe964768e59de9fcaffea4d0cd21405d73d22507e499752309f442d0743dd6fe38ed46f13e0974ac6badbc9974eb17ef96bedb837250deddf6640602ca408707c2435a5afbea82b770072090a86b4ed2cef2398bc504b586f1efdc2a66fdc64dc39b750e3069aefad6efb661091abe8591b0083663a45486dc07da816e24f5f36f1c086f239af5678f94659b9f1442daf28e80deabe73ca4a587b434feea47386f26cdbafe6f248f7d8e631be9d52fc0bb04bdfad07dfce0a733eec8956367c3461ed2d21d80dae79303c2a3eb7d5a186a0d5f0cf16e69c8ba7688f783d250eafbfd9cde938f30ef7e0f691f1abeb4f6fd625a4bbff5cabe33adad589808bc5ffdc24ce45d8d3b5ae5d8e564fa71393df852689e077752687e074fcb05c9c954b25bce480bd67d6546f760ddaa8c267a9cabbe2f24094e2ed284649fbd888bbbfc7617f7edf2aa5cc46617f7e8e2b24b04f9ed48f1a9a71e6f82aecf3a9708d9b737dd2f65bf19c93e9597ac962b569ab3c7c8648291495e02c880a4041b8838f245175e8e908155364f7ce13486940e0a334cf092d45a9188a181416bfac5d0c45cdb9960d3b565214994c46b571273917824265846a2ab32ba07e3a29abe28b1c493234760d9ebe9ccf1d991e2b3ac7e5ea552a932a5e7324e5dc3561e1e491ececb6f19e93e9597e06ffc3c52fc8cda32d23ca49fb7b7f6f148767b1ea2907ecebc441f635e32d2ba5329478c31030f4f8e1c81e9c0de8b1ad2813dd8537302364aec60c3099c0803f66091de48ca0b37a8e107b3531e5e7ea969a909291e667a98e5a4b7f9490a4d8956e01f4c7ec32708058d5426382d15f7056d288be29ff6fdea8e9f148a78a90929a5693b1969bbb4df56657449e27b567f3c849f47829ff3f03b1989759997e459594886f63d5fe59ebc642485ec61b6d789f63cd93ec3da73f0f68b5379a9c9254276ed48d9b5bcd4b4f3259d67dfc948394fa4907dcee1615e6a4232410a6939e62578440ad96bf9097c5c6a428a877929f598499042f64bf7c719d2d6aafe60d042fb6029fc60197eb01cfc609d3d0e5e6a42ca60598656a490bd7db00d3fd815926465465733fb55195d2eb2d4e48007a3af7fb02c17a17fb00dad68fb147eb0d89928eda35f4c0c287d5f7c5145851ef61cf060f5108030fa077b413627c1d86582d32249f25e94aedf36939e4c4b3a46a217a49e667f976e9c96fab566a0743de580d4bf2dcfbde2e01cbc9774ce297e782f313139accb4b4bdd8d34e1fc4502e4d4d3e7e0ed146b7f38f588ef3bfc608f3bc2c92fbe54f3199753782fe96daf1475adcff03b9ad6c6aa4d47e1ab35bb40809a7e664ece580817e7be4844639434caa8e9a54c929f1a72407ee5928e9f59295218a1c8a629a17c73cb76fdf4a08baf97510ad1c553797904a99c9bea78e94557a9ece24bc6c718f3d63d29e482398b2f996456fc82a414f7050969f21489e09fbe10532df5951bc4519741847e313288d03df48bb15943dfbac177bb188b44cf09113cd14f0b698225123d279cb0d12a214d9c22910b1e6a98853471d22fe8c12f6230a1f78c895184184ddd96d92407aa5f2c8715b409dd8bd150838e392c89e570048dfb82b6b5a2e3dfefbc71033f5d25b3d221016361f4cb11379c82e31b46f9377c82bf21932a47f2f72b03f4fda282de736018a5f7b342c7070bcabb0594df532d2385e2339c77d63defae8523ef56bd5163b2881eaa15a67b72d231ebb67da2638d7203438d0313811aa6d01dd128fb44163d589429b64a991b51748ab4429d649112243857b2646407b6a2657c6619a8e90315e64a7abe34c3d02759a4a4e7487072111c7f30253d97b9c82a53a79e4c9f9c747c8d228b962e788cf51c07ab759c0e77af51f47c9a52653ec9a28af3eeb2e7ddea70e47d3d9f6a4cc7f954a3d028f8606f95d1f3c8ac32abf8acaccc23514830a167c49e4c279f28ab599f48a118254a5ba9656451fc41055a7c310216b4c0e26b942c9231b849834a0f395c8145b8a4c9156fce78f305166f8fc8221e5148e9e2cd122cb078cb4416c123da406142c60b47e43ca2e3651859b404a16411fd94abc74b2b3e8f9748d42c99d458cd4568964fa813cd45669651e2e5d3cc456496537c7291559655a450944c208e1b386a94b723be46d1f13770dcb8711c98080e78e33b96c181a1bef1248b70aacfe5a435b3c78192453d9bf6d4dd3855cf574eb2a893385d8e0ecfce7fc2c822161308eb59b15a4fb2a483b99e644906b3719fc7c7982cba2023914b86603fb93e1ef005366801c398159a885901852cda601175451861b40063c5972d563ce145892e41aca04a15383cc9c045051150a1429229d0d8a2460a166881ca02c6898a28a0500113500c81a587274870258a134c5a8831599202359a608302334c74b1c4154a3c251105124d1c5184113f14a10311231822051784488149106fac9401440b4e40a6298b1f56e043961e622638a2ca09a89480871a4a006587252be8b0e4841cce20c11853c0c061cc0d5e6c90a2862b342431022b52a844b96186186450e22406254860700325cd0b655cd8e2c99716a660018b08967022441313ac304585199824612185244a96a4a1644d1231907081421878021715bc41c11a44a8e1431a39a021c50d92276d90a470c61a669051c61932bc6083c59a2ad438a5494194116334a1d9a105349c79c10c0a2a8881c211169851064d185f8021e68b2e1a1929bc78a28b25b81802ca872d74d082863150c49cd0248b13906081c6156bc29801e3c5972cace8e2458a2e4fac60892a8678f2818b0e54d03005942d4da470e208122d686459e364260a2f549005145db048f1c413579670a2f3d1bd19228bf980001d0e408301a078f0a649076f9070804601d6f83053e405511604e8d2438a013c218025780c31e4c3063a0480861d503458a30900d64092011a426b5e66747881411639ba044901f4445e020f711f70e87083860ba0fca8d1c4a506121b68f8ac69996179b1caa2a70b8f143b4fe82c913344e7038e0e2a1a38285b939b06922c9586464686c68651a1e8157305b29322766f753c3ed0c062dfbd1ed4a3f33144c5c73f144383092643f04359946ddcdc2c1265ef95d18903e5378410d23733844c13561c86e8acb54d94ae5260b5d64cadd5e8abb566d69e99b4e369d1e985365b74c6da5c91aab54e3a297521e646055de97c509b26744abf581b22f4fe1087e5be631074394e9a7eb133c49c2104916e56fb729c344a53a069b5956ba14cec0c21b210d1429621c0684ebf29d8e050057ccd54e68d624e97a449e6b7e4b02c12404a08e57e00357ccd6c562bc45d97a469d2d71f5067f905d52892c2f792994acd38ddd3d228064d1c2e94d2d11d148ee8173b21cc00f48b9db083be389c51ecec237db47967fbe75aa8e506ad3db2f5f53772403a5dad7c96d5a9edafc53b019c768b2bde5501422240420926687b7b59cfd075be5a6dadae593f4e496a7aa9e6a5648b8ed780ead8e918bb0d8903989000d302126a6208834c13d89b395b7c650474fb35ef43091b1d63fc83281cc1ac848c9e2f265bb80fe8a27e5cb080b92a22f08dc60fbef7de7befbd4904df83f04108618ef03b83ef410889c8376968784413916fdec0b7234e20da66f85e340473b3b803316fa05e29d31b50eae406f48f2e450e88d49cfcec40d435042923942afbc77d20b5cd44a4ae2fa6e03e1eb128496d9af3f670aeda74f3efc1e8003ac8d50399798b4174f03b9b1266b9523e6e3e5be994914d0d324601e10f4b1d9b2d7a6f3ab26942c3e718639433c6460c9b332fc2276314e3850f84f1a48225a0cc30e50427208974d2182584107232c618eb1a2564c2d0f15c5a00c017322724f1010b282cc0ea912b3136284499900b0c5e70bea89c8419c3a5a98a2c8e80bdd1bb8b11b0fac5d690b1c6081d18847441454a0b66a88187286b38a57961cd15eb64c8166b688122051a2859d4708a22b3c6883525d03afa39a9991245044e5c8069862f8ad882e4052a567049638d12cce4add12245862ec6b4400c1a6ad450334637e94be15ea25003861a30faeac7650b9ab767dc80d2f96636d538114bf3654d1a6a78a0418d0a36a451c3498e7eb13467d268995b0bcf3478450bb1724e4298620d122c9c60f9f2821b1468997452ba828ec2458734aaa861c5176dd2a4198247bf2b5e183193184ad109331e36999a5a466390410523bec8c10c1042dc70c61a9a4551c539ad36c3942638c0e084c588272733c4549ac605fbc45a0e892fd80c91a68d1959c06c192b3c280d13bd3f94d91c7ad6585a6badb55a6a59fac5a2c4c42eb04de143962b24d053bf2c579e2845401725a2b2c4c6b8329340c1c3131782f81265ca11645cd992e5ca134e0c4e6a84884511113582a815c0883d0ef68b1979a080f8fa9e0a884442e26bbb74d291878b00d5eff075a00437885b2ebd1d1c8cedd83936d66f03e97729143f97de8e78213f7abf3322208b8a28c10e3ef036888fdff29e3a9ff1c2e074181d82bc5f191e58d24dc974cab5293eb40f9bf750cdfbf5d3ddc11783461cac386c3ece0c917989b997d6162c1eb434e882660f9e58642485e2e9238410c2380e6809643392452540159e507cecc55cc8a474246899e041bc92d0f17b083a0199bc1df19285ae0459c4911089f60e0d1f8f8148b41fa0658efdca5c50a6a70c7d42f013c3f782d79b0399de21d0f2f27746f8a46a3349ee83d9830a285c814f726663e61f7e3a6bfdad72eed5f27e5043617cbc27ad6b01794e1a083ed38ce4c54a73750835d0d23f79484bfbfc58bd1eb5582d9cb1b0065a1ae6fbb8dffb17d4811f84f18130d43e2211fefcff0c5ecfa0febe5e8340bfaf417ede7ad5582ca00ce427b732eb19efd6575f408eff34a09e95576eba7aedae9c7709416076fd1c9ee5fa79eb17e83bd315e8bb73fd64202fbe5a6f6556c5bb75cabacf79e5a6bbf0ae3f2e488eb372528effe4a4d7ef90fa6bafaf5e39107c7e4f3920affce2eb79e3f8cd208309ed76b36de38e741c0803e1a0fb88444179ea00020202d2a143c77f7e746c39039283e40fc557d05bf8e717e7b8df70a783829ee14c0a0505fd7141727ef115a4e3abbff8d2a1e347878e9f9f9f9f9f1f9ae3f782d621aebfb885815478ede7fe08c99143878e1b491d17e0cd84845e9d02e1a7efe45c38d3918b4d1d80dae7fe07ef12f4cf81f0861a6863b1ded27933695ad682b03e145fad6bf8e71503ddfbdc28b6beb59ee15510567ef1d5cabb040defbd4fff609f231f9f5fc81d31a17d361e9c5d07eb6c9bb5a96fb9489390eca9ec362f31c18ce2fb41fb1cb22076b94490cf0e81f8d45d20c06bd7eefde5c145b6abae838b34216d57bd8855e5a59ef37c69e73a4f6197f6d41f2cc32e2d5ff50783807d968be0e426a49e6f57e5223bb710d89eca457abedd28c24c0aad2ef1ea156f26203e6f32a5f57b75f212136ca949bbceb3f3e0ec1a46e279969798603c8f040cf4c3d2c48ac6e2a406ed73e812c17efb08f299e61a21f5ec483d3d3723a560a9272489ce796e14371336817e439708f6d947904fdd2866b228bb762d47ee595e6aaa5fda79cd48d95379a9e759ce56975c109f43ec1282f3a791baab2c7ef22d5c354d3bba79b7f4d5f60d95c0a8f4e9596a4335cc31888806120020083316002030140c09c682619ac589b20f14800b8598485850164602a1308a81208a62180401381e0000004000418820c50cd2014c67c25d6962ab2cfcd67de6a6f1b9cb055cf7c94dc3e32e0b735d07373d9fbb28c0751ddc743eeeb280eb7ab84dc77fbb54c8751fb9697ceeb200d77d70d3f0b8cbc25cd7c94de7e12e0ab9ee07378d9fbb2cf8d67d6c9bc6e72e0a73dd27372d8fbb2cc8759fdcb43ceeb290eb7272d378b88b42aefbc14de767bb2ce4d67572d3f2b8cb025cd7c94dcfe32e0bb92e07379d9fbb28e0ba9fdc341eeea280eb3e71d379de2e0bb3751ddcb43ceeb200d77570d3f9b88b02aeebc14de7e52e0ab9ae07379dcf5d28e4ba0e6cd3f9da2e0b725d07378d9fbb2ce4ba1edc745eeeb290eb7a70d3f9dc8542aeebc04de373970bdaba1d6cd3f2b88b42aedbc94de3e52e0ab96eadb8c58e475285cb8d9ee19e3e5cdd123754c63dfde176896e43e1df9e7ab91c0537349e7beae17297dc5018eea987cb2d714363dcd31e2eb7c80d85734f7bb8dc12dbd0b8b7a75e2e47c10d85e19e7ac9b89f850ee6fe2835dc6521aeebe0a6e5719705b9ae939b96c75d16725dceb7e9796f170ab9ee13378dcf5d16e2ba4e6e1a3e775180eb3ab9e9f9dc4521d7ede0a6f17217855cd7839bce2bebd200c13cd55a0cb82f4f6e9d9f5b21e4be1bb8b43eb7b280fb4ab3ac9fde72023081aca57aeb64009e55d8a2b010bc7a4b91f3c75942f0e029052eae1deea60b37ab88fb20c556ac9b6d4a10ee7d2e57d38b9b5584fb98e28a7171534673ef73b89a6fdc2c22eec31457ec959b12cabd9bc3d57c639b55eced439a2bc6c54d09c1bdcbe56a7e73b388b98f525c31576e4a28f76e0e57f3959b45cc7d4ce18abdb82941d8decb7dabe9cdcd2aca7d4873c55eb82923dc3b395ccd776e1631f731852be6e6a61ce1dee5e66abeb85988b80fe932b19fd343b8cd6123b809b95c8d2f6e1631ee639a2be6ce4d19e5de4d4e6c5f63e16289914e4eaed63fb47120a437c871b97fed445cd74e24cb303389d4c9f8341030ffc67a5873aed1ad7a6106655c4859172b4919ef291ee3a2eb811541442fc8cc4553dc812ffa15270b4a18c60e3fc312619be5c5a2d485c9bae46457f2f513e1ed0504358571640d6bbcc101c1e17d6ff0b610de48c12e688a56e3ed61478d91caf1a33d725d9f90f6c3b33bcf7dfa07bf87244db3e5b97d90c69b371eeb68937b81129da3f14a1c2214069bcfe90a9aea2b9a261cafbead9290260b08b8af800e59df161fa13d03a0ac30bc8dfe444e91a7eb46573c207d2989a190e77f3d925967b251a586ac6387fc4176ba59d5751c3cf4f3261603108593043fa0f465cf1552913ae2c37f3b52300d3c3c28b9d4337c7a19fd33c68cb783aa050052971403ee056407fc18106f97cba27a3d08b0947da052727e91a7cb04eaad98f04526d5adce5fa80c62170538c1542f46923e31127fce3c9c4a0f98e5e32b83c5deb168d9e7c4865b8043097b6a3347a79c85a04d1a4e9ae6e3db45d224c0de62265d9309b21890a99ad7ae6440487034a61f746e97fcec02ab5168737a9b5a07a5640a816702382a959a96099948c5f48967a7f1284c3762becfe9bad4209a5ed1d0e345090a2f53c7811c392f56878fe55b256e5dd1b93567e6d8e0f8e21ea76509a0ca88f23c08e341e3cdbbc47f3fa5f42e5431401bb40ab57bf2e9a5f875f81b2d69f48f9fd1d520c4bb1437fb78e7f05ce7265d94c1f869b30834ac8ec64a82e9a6c21d47c89ac046c629afb3dc0dc3fe930b0c4e33a28146502a8b4eef1eebc11254dd2229ff80ceafad376e85f35d38be07821c5681f1baca3cc245d3a145ba998d7723c2a103151a28be2b376546263ed003768cdef0d10ac3c3493ffc3e4f5fcbb7ab1813d2a86e5d545c3409cf740172abaf9992b4ed3ce32feeeac465999e949bea3fc38767e0489fb33fcce2786df7b957980d6e6f6444a3577dd870c89b7d5b2e9c368fd473d294288c41a5d9c71efc1872a9f89b2b02fc0c787df3574f200f2b570b1501bfd4e6b5561debaa03f0f89aeaf1c2793eb6603ccdf927c2f03177b04435b2483ca37d61c3d266bd136e428d4b420280133d9d2354d533cc4c909d469d004459c2a127918dcefca2e2300ff78a61bda80a83ccfda7e7e0981fd9eaf402bee852405ff4c99e8a659c14a846822c35c47ff13243813edeeca16b5d8071f2d2917c60839af4572741167652249855ba1cf4b478e6e8037df4b5ba078f2595f11f1df393766821feb409fa675f00e410025d9045e02128e2f940940910a142067d6084fc555c39d8841bb8e4db115cdaa0f9c4234a56f82c3b0e184cccdd05a13ab8cfc52dfd9d22eb0f65da577f4d89f9c61964c64c129245d745c852a05e59012e234928c955a5f8ea640f605dd04caa998f22e063b7baff122c6fa9b0ceb38ebed312c84313de423b74de74605d9ca0a4e045dbed350d7e9d0f7b462bee415d8a7b134e3da7619761be05b239651c086964b9c71ef8f2012e43e869065a2b2775d15d83f12223c8eaee28ca5102e550422834bf0d395105cd3b70e12e38cdcf497ee0858b2aacafcaa6868bea1c26aada4a4f29465cbb10884c4cceb577fd1efd03482fa2eba9288b405c422a5310845243c745c497d928610a07dcf19e0a511d68e15e2b1ab5f766a470cf0ec82ca624080e4f54cc607e4aa80cbabba0d1b68f9c93ab0d45e6404010a9dea60e8930ca2edc8410a547eb1da6651c203711cc2ecae0e23322951dd62104b20aff9afbc03dc899a3dd0c3a85e1cc3162adfa23785245e48e9dafdeafb39b9ecf54131867936dc1a7bc70dcc37d97a2ce6065b1e1b9541f3b066d37c76a2d1af118445fc9b70ba11ba7264283ad112b60d14518aa9b39a0f69d5739c436402199c94ec1ace6953bc2a88a949a73e14604c340cd113d0f5fd635dce38a9ad20dbfc9fc19054d33cb5d4555102a193f259cc6d77258052ebfbf22f343c2af500de8ed479e17c91c639f32faa14078e1254cee87d9f86edc550f0e03ed974284c92ffb672410241980bd5ceba494e9445eef13d65f943c79d9d8ae4031823b19fa872c54e3f3a4c97364891595f53b11d983ae824157b020138a82e98ab95ddb38705e75a16e954d9d9531565bfad1830ec8bc2a7f3d57f60f07656d22bcf81561cf8d21099cedfd8633e797c3f8f54959a2174769ea352460d528af7521c78adb1a617b61800754360b22405a894ded60c307e9380acffdbcddda91c5dc2b158c4f201b249ecc4474d1a7e617d813f1868000a57440ab8827e35aff61074ad3e34f5912a0c6e7ad117ac0fb15e2c93ea42444c877d5b2385b8a6b76dfd0868427302a7deb58386c12a2fee335df0c04fdaba298f70c7644dd62bf92d8cfb65251a6b2c2dc71d8ce6dcf8e6a52d666554a0cd1aa8cc7b3dbd713217e62418813e610ccf94af9c1d7803ed0486b7ea59fb294b0f9ec3d887c9bc42fcbae43ae355cd24aae2bfc8fcd3c91c7941fc521b361719fad4493c26071b4ff81bff45e5cdd22ceedddfcff7977e282656ac65a23c5b1c07ac523963d84780f4402421bd30af8d622f59fe2f4b479d6614ef2fa9dbf79e0be8eea001eccb1734d908af3c0aed81840b60296c7287408f7adad6bb43ed9a88caec1a472ec9bc951cb775788250d4ed57a09cf5c0059083f89a1b1eebf4af8c914722b387744d1810484f97d83c705ac8ba535cc69b7462a1db6d2c51590beb706411ce8710987872a85b93a069c914fe6d408cfcedfc529223e267faee59b5a3e59649e52914fbde1035a79524680af8583d8ec893b10cb1ff0c0308193e3472041af132a3ecca3222942497e0bdf74e70d265a0e231a00c795a98be248ad2bde287634b1d2213f786e1a1cb187cbef6531fac73b85fbeca442977f0d36c5a92ce15bd5474bebc8986e1429cd1d1fc3709eaceaec20a635a5e8005aa541cf0c6329397185bdf735ef8fbe1f7e86d82e3044ef80f66100415254fa722af6241720233e86de69e0ab6b64ee774d601aee46b1c16805cbfba5b2b0eea30ccf3c6147345f4827c139cf054ecc3bcf6309c8b019dafda4fd5d7a1bda056785e809a9155712060783e016678211fb82e9ca5487caed00d04ea90f67fc9145c2bcd26473c778a30baac3bac082b16316018fb4b68f01550d586ae96142f2f5d6ca357579d314a233d345934bffa8a6fe08fcd16de4226dc6172c3b7ed5a520091de98c629c760b6f6329336147e171e8471894193e4f3530a849950a9b1bf4b684e13901c6d161f239848e6d2a7a387222f010fcc8f29668b5ddc357deab0c6ee0cdcbf7814287eaa934ee58a8434e8996c87021c2355f1b5b5f693250cd0272f19a8ce424b412a8e2f25a46b3ea0621ac1d961cd2829bf605d072305e8178959c8a58b7ce5000bdabb79b0c60f15235f5985543d9ae5f3cdf201fb7de5490b22e33afff588533e3caaf9de8a0b3fb81c05e84341c9a70f27426828d1f217d30377e0ea86e6dc6124a894355e9dbcca2c660703669881785d63a3284cd5e6969219ab56a51c18eeceae0e7adc3c0e0a82cf3f36f180194cacbdae2109c31a063690ca6f2986d83d9d44b9b2daf2f896fc4ac5c4b7e9911656ddfedda094330f9bd83292888b495b450727bb4f819abcc97ddd4ce23ee1a1e9b8941c077dbf099ab886912e12d98d4f4926a0442a8c7b0499415dd5b109212e41a2bff9c31a57aecffb13915ccbdd0d223b26f6d8e2dd71dd9035031325844e5eeba6ce383d0b1ba41324af512b797a6708f07b77d33885a25a8b810d8fe246f4d04a3d70566ce4b2048cb34c5a468233da2f90719919501b92b02d4ddee7a1fe8d6d3a12384ef8ce3bf7de6eb15f805bae6af8d057bb661fe656e61a58db0dd76d157348de45356f8ab49fdb7e0114481395f988d9b48bc2064179e3f468563c3a68e8b5031f0cb1b19b02c6797c5905c1e7d9e2a12002788838cc1a47c524bb18bf7fd062be7500d0135138e0858fdf539b66e70c887afca7fd72a3c925b7d11e0d18e7842eded46bc2c2e04a946a95b960e83af8f126a50e29ed2d87417992f0bfc7095349d848388069474c856be2040b947234957c62d65eacb8521664b3b756d9e99b496285054ad406932491c4ae33629d679e82c6a7cc8cd9cae9d85e19e6137591ffab4743e978890797aa712d408cd10b9b53febfc77a539f1771d91299040b83311155cf8b3bd6fa86927391378ba019f4c5f7dd688c3f0db3fa28a925b713bfdb6455bd6697a00e520318cdc5b44902344154b3cbc0f0644d000a44e24627ec6663a432f25c243e1e55904b9af4062a4485a5759200d2c2dd25c1b375d10d0f9c1797facf5f6b0bc078d096a13d94913e97ceefd63c99764df1059968c2ec924a4511c194bcf254c75c90dcaf8bd760e5c94863a4feec2be857c623d3688e24f917c07cfdba24a33cca2d47ceb443ff7adbca6d7b4c24801f04836d1066251276fe6337e8e2d69b3509d698034a50b2f1c6d53d7176e2bed09227f004fccd8afa9fccfcd27dafd62c2b6879f7d6af97837059108e07a10cf51475faf3843b05aee974d7c80dff53272353a24158238e9f28c50a2a9977e25019a474c56b62845eb36b4cc33d2f80dbd528829ff452a606c54294d6a970c3a98e747f04b9f447d084481384c99a0b47d8940b68834f48018126177976135e3221d01493e86d712533f51dbb492ce9f975488389aeab94f6fecb7f04928f22a8b6c4000a250d3bc8372676cc1b16a44ba187f77b9111aa771eb3dcec21206569ff131e9f59c91511f17e353aae8dc4444b9994ce2b0799271c5bfa37f939b3580e5fe1a769036274d990001f88f37ff5304bd82c1884fd536dff2807c30ae2765486638386d1a3c604039f6e9319f61da1ba55d0e8fe1759a2867be78048f8b114c7af37a0a67523129f145db88d3fdd90662028d5f1f36cf9de484f58412864bd50a258234bde6105ca12b3e0ab08407494f7818bf3c0085a6fdc36682c86a5c4fe3ae7f2bc7203203122e527e6dd0267a96945ba439c1551e23fec1feb0dea2eeff7562dd869d8ce905f082c36e6cdbf4e207789b6680d73f6d386a689c23d45794317476fe3837cc53b553eac078aa444be4729f55084c0a483a4c61f8fdcf95cddce9010f46541e37acb1ebdd8a6b934c2317b507030581adf1ae3b9f27021cae697c420faa316ddc0e0a2b112f9647b9de3c4697f4af034c92284b7a4af4ff2bdf6586112fafdbb22d42b0060b3f8dba0dee3a661f8a6e82e9dc16a267582e58d06ad1e9826fa8139a26ca35b42cebb5a3ea62e4b432e1ebca3dc44e666170f50e5ed2e2aa9ed473fb075458e2a9f17fd629c93ec02299f1199717b34af221bea06be67e7a3ecc0208470b0d03665002a1bdf28eeda87d8fdc0c962536c7fb6d561b1ee9c846348303fa38d3e082963ccb60900ecd5ac6210d5f143cc5d2b060c495e88c1c059b99a1535751bc218114a7d20ab4ca520751336981bf08438d7da74091dc03e99dbad73d2d3233795c781ded3e802d3eee03d64977f34246f89e7bf47694da191f863945217129facb90e76d108fa7302581b5abd73d5357541d8f0f875fd8ce28dbd3fe89a95601d71ae701870ea4d8c9774e3230f66f7a16dc471830e9fa408500931dd05d5b3ec08a769e614f42bbaf01b5c10e4688cb8601812656d87f200c626d1d50b0a67628e1a5eb2e650e51a2ee0da2ac7b072d34183f6c0ff1daaabf8575ae463c76df7304234a0f48ffa5e624613a163e61ce4d3abfccc69691bc889630abd17ac1de6d0e42bb975dad844da2380d8588a776814d757d74a10420123b94bd93cbe101435b6e105d664ea1963608e01885198a2a33bb6f95146c39a78fd8db2c70f48bde3b44b70567f071ed072c715e19758110d81116fe097b5217c24ebccc8d0a66303049722dec1f529cdb21fa5a3e554cfc49ad4289260281377e4b0e1a125bb7ffb80b306d5e228ba948cce0a0373162d098b2d84a94a6efd6217a84a33a4a66c73ecc108f2635aeebd5bd5d0961b2c1e48c1ae9b507ccd5c15d02295ec7ec31490509ef37e6598de8823b50a80d53e0314d7161f19024376a64f06302f76947b48228860518d644b13833ae01460689b1fa48c7ba3dda419092927f021eaee9b920e1e6c5f0ae4b9a5e3f962fee18c19780eadfcf5dd1b1ed35505219d0de55d285a7b2c7ae049e8e49eb919db3ff0d5b3aeb1b722bd73866277979030c7423a5dae9659e6f637107003efd74002e7bc6bfa7773aa78713fbd66c4b51815aafaa6389685481840db265554ef50c4d4e6bb96d231f9d02d51b10fdb9c43c87fff74c87c78ca2dfdc8156d25c22336845d31537edd77999a51ae7d73ee0d2df841701d452227bd90cacfa553a443c02c6ed3b75222a2d4ba02c92fa1204c0bcac496a731de7ac484ae368f5d2d01c0d6cbba368d38de888e73650d99b837be2c96cc0797111aafb8da20782b40a8a9d9441eca8064d45ae1278c1b54081488158b9e399e6d93fd528d2fa6d86832652e9998ead9ef4dbf6e353ef9365272e847dd4a9a024faffbdd68ed150033bd8ec9af854b1a9b389d65259616ee99604760cde05e4fc3b24104245a1fd40c62bdb184ecd7c88c26f21008b73e2e33f1d60eeed97c21126119e24a2875a52958dd8245159c6bbb1390781e7172a8235cfc0c13c0742032cbbd76016f51ab3404756068142c9e75bf4b02353af8f4786470e368b393e974bd6ae5a4801e88512f292099492791fc9819492ef8d641d84c9c990a5b77b49840ddffb09d7ca6c40fa4449fd5ab599b663b99236514f9bfdc744d47c6b2c6118d235cca20d6fe726946fcd4d8272467c31488fefea6411b865d199acf984ee378b2fe99aebc0084b3f71b9558c805a775a4dd77ca66312b5a85a4e040331c685651750ffc1014aa6e80b01f114d32a022001fe3dfc118bb5a5a56e82fdfc01f22fd9e3df23fbeac6c6cafd1e39f83f08dcb2e4ed26415a3c8e7e484defd05c2d2ed45017466bd68046ebf9c80e6e6f5a208e2708b6700f47846f4090ae45496f52e4810bc3f78cff3b38aa80da50282b66bc774656152418289d4469cddc6c7d305046c4bb72ccda35996fcf51361716bf8991abbc93a15a1cb37621062b42ccea461a8f4b11a436e7d14166875a3b17a1e1c935dffbe8698644ad1a451f4d442792072331254b22e591d3f0e7d1a79200a56014364177a4a20c5695c62839c2839a4366111fb2c9c54d7562aa60ef72cb0c511f380fede62a5735ca89dba4bbd6d37557a9a878e92cc37230cd10974090325b127e644d4cc1c31632e849be8a1282d3cd6af7618fd55006697cc421b8f2debece02a2f31c5d1ed4d8786d5376207b78754d0cfdba32d4146c7f0bddf24251202db1322ac3bfd312e6923c32be0e5aaa14c3cc80dbea5f900547f2f2e24321c67f9892c135f53b43632cfd860164fb4ec26dfac721631dce0021444ac73c070c123de4d2577edc2f34483bb5d781d0ded54c0e07473d6293230dfa0be781370adaeebb01b5881e0c6068b4c0c024ca60600fad0cc10d4844f0104a0506f0e5b2539ea4a16fde4aaf8a695995c2dc10b04fe512c8a8e09b9743fb87c3753d80c28ca4490e9c0a9e213fbd01bd9dd520eca1c8b376fc4fa884eece41df6178498b271a14a5e3ba2f91fc8a2feac0fe3ea1656da43d47602f4b8d84bd534c53ae858eb2fdd48ee2f1eaa8e5e8ac73942f9c024a7825d37bab823fac2dbfef57136b2297bab3a5f18a5e3a1377d80e95c9e637517c5351ae4fb2cb8b2d1a91f71847bec61fc17d54edeb0ecf4a99b4640f32ed1536c7f2e652629166aafabec0d46263b3e4780ef3c26574eb5b81255c7329f677866149dbd80941fa9b58bf0f46dbbb769849fc1b5eff4446e3de112b71ae2ff0352b07ee259b72383c9abf6ed96111c9907bd329ffb9844e0c84f916a6384306d6a2e83e2e0a56fba8ba5dd0f947ad5f0e0f9131edaa75d272d0afb80fbcc6acf775017bf0d6c8420c9668470b61d1748540f476a6022b3a383d6ca5ce5f1495e084f09d72803bfbc1e67b4198cead0450db1f9280c254164a83303a4d31e31dad10f0eb63ab171301dc87c9c81fd1eb03d8ceb89492ca5bbc464fce57bc482fb9a3c6c76a100a6f91450e27eb817bdc2f7b01fc336816ce17a1ebb691cd1966ee9287b607bdd5933577e5868bb910a107f207c6c477d982545946efafa34966b45984c48149ba2d0c5acd7724b3b5f2d0c9bfea878450f89b917b8538fb0d5228591be15637c0cf570268201899a997063f3603de3cec1f978b052742cbbd3cd020b3e9565d59f26a60ca8278bf6a86c7b1094d655a19295ce2bb85d249fbfe373f3cf103332314a250777bffc50b179b4484e54f901afb760b47e4cd6818044d873846c7c62ee0d929c0bf119de290f8cd1692d90249717df229e3d95fc889b7da3188df58f38315e5afb086bdd45d2d1e87c729b0a1a4f3a8b9b9853a0ef124725af1048ae130c014b49fdb77ef7805d12cbd6dcf17636bac3862a6d65b99ae283a003cbe38ad6e79530c4702064df69e920036adde060da8228790658ae4fffd62b328eed20cfc437683981a778da27a9a08516d8a068a805616aa74a744c5bfc87c0948c6e9b6f9eea0a589433c351ded4311e18a689a212365032295751767001fce99d662def90d28e45905c1252015738653e0c2d0dc52c8b382e9ffe2bb567a4f5b5186edf492da25393a16ace661a96200b36ec89e70d604743562ea439e1799494989f1052cda674c51409c8487579d9d9067ff70954137bd63c374975003341686544066843c6f62c60e2ea7070e79b6a987f815f20c9a2de006477f8f2e46028995693d8a407c735636f64be9415e27a209e25d7fe91663fca788ecef4c7b4c76861b359dc217fdb6432cff66511f1a750014c8a8897d511b5628b11b7fab6ad33737b45f9dbfc296a55c1fa60951d5d83c665d697df97d4dbf28f6737c7f8234da3539c86bd28e1e482d124106232a8f72de4ce812330cdbe8337c23fbadfdfd6ddc27e22ab5fed3c3d8b3e9d3658109b61aa0ba1704f5ac0a8b4c4e887c682cb1dc131859af3dd686097edd2b58e328ffc613c864dd3b0160e6d230f0ee17ba2f87cfb5d64f7f71e34ab1c638ce8aaf982c34e914b35c589be5be92e0719755db2e07a98df7426995969132a41d40e8d73f76ff641f13ed36698f90dbde245ce3ae1231d5bd0fb3df5eb6133a78bb77e00032ddc108de5729d34f79d2220b1bbec0b73ba290f3d1b50358f870847ba012f8f6ca21ceb278a26c00cfd3754c381b32b5baa7ced407e38724c0b0cfc9fe4505fd318393838e44f34864f89c9870f9d97449ccd1c102ba43dcf26e6e2059e86bd8888db09b1d6044e0382d71dbcd5c2d46a2b7605c90ad1a4c987f168da28465dc737ae830558f3007644b0927fbd994552902f60c66f862c625a4c8b3d1426b016f52e695854d9d6de11208194c3e3558f291432cdd27dfee9db32f9235d8ea9960a71aaff1101abad4a5d181c6f80899ac304a2d75847bfbdcbe4e2087f447ba68cd746af8fc23fc54f336309de5548dd2eed29ea0a6583647d8c2face752818f1fe3d6c4ba815f8102ad02e486d21952e4b7a442bc37b9bdf2ee38bd54b4ed6373fa207331218dd71f3a5cf9003d84ad0dda4c710429f200c1791d7249b083688104ad963ad6f1585bc933002e4bcab8024dd181f322bddb184c0b0eb3f0812e2c8384db84493a4c45ae412d0e4a52297f053197391a5fe28089643a51900299b250305f6eb85de93679830f37d6f5c78ad8e989f8813994e2a90c37cf435ccc8c15c5d7699a1214bb8c9472bfb122b0a0bfa6785622b9c73493a7da7ca53a0fa980bb6e70a70ba7ab52780998a8a6bbf32541e6e58e64b010d1d354c1553587011815454c9f2de70022d07e72ce8ac0a5ad54a3117f058d580ab9a37378ccccf8cf3e6d78c4293985e68e7eaf2272fb8687f22ff096cfb53f4a4f853276417eed86702c4e180ecf8533bf41dd0784f0e0e1311c536b4c93e115e9cd8e352f507fcf7d7c5edfdbe24c3fc0eac57d48696fd46b0e8ec6c75db3ba2805f15508d389b2abf6dad3ada0441b255260f5b831d98c9c2cf8a5692c035940777f8342ede9fea68960fb8a6069a16da1ff2e774ebb7eb68b18592a220f1135e770683cf105499baa43b54fd01587e0d51c22d78e6ed532cca0f641805f9aea814209fd7ba2c9d9c39079651e75f1c27fbce89eeb515938333295df5e371711a10d83afbd43fc1639c15c201ee1947404481deac536e22282c6bf8126678a09782872e605a13f30028b9c4565b5260f1ee290bf2af16714d47f8e07c2c8d01689c57edce7671521a8b29388d10c9756d76e65cc4e1c9981ab79b2dee18dfd11a09d37ae1225d84b7f4bd5f956ee700bf299e8a7b137808953d4e90ae5479a86835238b8f9850edab615ebdde82a401f5d0970f5b2a274528fe269f965cc217a8648ffd765d0a22e8cb57f1b2052db369c1b6d14055a2775fa33be8ee701ba2484e6a3d21cde77784e974e9ba7a6b098a8a9073515a94cf17d2445277ae24277fa5a47bdaddad5b7ab56287c85ef6fffc206cbe8da23c636c405770d0446977a13c7ca0801e00fe9f696a99c8fc41440e5ea19977cf9fa0e22b2050e8bf18c4c9a6eb9f01347b3da607009b94fc2481c10158fd15cef2daeb22ac5b49b553d5eb7f00eed175568cebe2361340e542d55b80896ee6181e541b60b093f15ab1f159745c44fa058b311abb2552ccefa91dbaa07e80c61f0c36a0c668bbf3b16e77cba068fe2d0fc5c2e27106c329582b0c280558a8d57a138f33b1d30f11aba47ec4cf33b1677397d4fdae2c68734b8c624517b5a245c73c669b19e110162bd3343b2b7949f479698ba1a75daff25e2a0283001a8c62857360d73b3a7040d90c1f5f0fa05e1db9692d9c317ff56f1e9f576bbb31717c0b5fb76e09e6eb329e659654d437648f702419e48d9e007c920774886ed26b90e66134f88fd7a28b14d86df1afe47734f214c8a92800e9ca1ce925f0d89803213710c35d0f5036d3aa16ca808caef8fecb5aff5020d791185e09048e1b36e0eac5991cc261b9462a2a21981ad16f756f31f8ad74f7212a6b72affb477be32a09324f2ca0074dcb38d9495d1f796bad92e2520863c361e0c00196800b29fdb2196d380b5cca37eeeaf7aac40848f52b761d64df2e9ce5b1ba00a155c2d46887e137bc3f19510b88e994a27e4b340bc95add87f669048c7841dd7b9dace52682068d46efa4458b56273af95ca42fd0a4042d4b9f8736d60c3e258c3bdef77b5abc89692f1b628717ba1f1c00b3b1733767186ed3659492137cb7f901adf2a5086faa8983545e8feedf141329ea5d4083fe785086eb7d69644da2d2dd430927ebf10d325d69df350af2d3d287e1e56a6c0e7b05f9f7325e0b86b62ac4daa2f3d855c602518312278710c20168b45f2a4096069cfb62aeee511054830d3453dac914e69ea05953dba32352a90f0040b8e3047f7382db30ed8f22e2e68b1784ccbeebf367048e76752a7552146be111f0fc611ffa2b561ed33fd9069686f5616a30aa0a2fa88f6e2da9d789dfaeae8153bfa311d7b7cf71861b3e3968cbd32c1aa653dd36d834bc77a8aaa3a9fb5b1da82c6fde4c3d97ae523f2c4c9844024b421a42c8dd601624e0efd9cf0d84c808ece60536af5c6e09ee8507161fe10e9e9347bf083193a6c6a3ad7355bf48bd2f329ce877744e48add8050175d968df0af92200fa547d2596ba3525ac3c610ca67562f02c20f367fdcabe4e7d50984361b1a5d39d50f6f3daa4ca6f3c2536c333dee80770198cceed89a4f17f4a579a0dc222fd11b25b2172a89684487df759c344c11ec667300e000cdb899008a10f2708709c7fc60961519cc0000d276cca9a1a696ec4890be35f85caaf528f871f01529f62a9474beee63978b1a5a860e76bf72b3b1a61f86b784637ab7eee91a9b1b07653bef755c904f1af95ed7647b625a41a5fadee29a2211af3bacafcda278156ad6fd2bceb2abba36ccae5c83f78a1a7eef8b9e28964eca11b1d106bb012a40fe3b48e0de1c83fc54000a59300333b3ea3f743cb613d4c039df6e3cab4990e9f9765fbaa41f8b8c63abf8e5d242c7ea4f79392779bd798b522b380877a0d8f0cd23957a0fc9982d93a221abf38b80ea464f122e42f789d6de58e70d139b12bfb466a642f625b9b75904368583fe4b87588c72b61a155de4d185b41b1d4825c377598bba62805914994e5ebfb55a02d477e150b7a939457f2d00578fbb2571139a09bd44242e8880895033e83307ea22b87a377d03050c51d7f59d65aee8a1a854f914097cc83e779d3d43260c977e4ddb7206eefd7a204231fee7f89fb546e8ff5ea39df5244b63451d528a750c7ecb96b98023c93f673a4905406827ed9fd480f7a0ce9dd02c427f282730025d21f41615483521fb5a390f3c1741618bb1683b6ed3f256a76d951431803bef537704a597632b7dddad8a13180ec7501997b6310d734b6aa0467b504336765ddbf0a429e7780733452b59fe8a40e170cfcc0cc01c0f00158a21b38add176447e91432b89a555d8e2edbda7d7c720b9a5232d9f62cfca75676a7c4c66a082889d986328a262e11211ca216719e41d6246894bcab455dbd5d4b8c43e5fe9bb1cd741358411a0808ddcd9e48d0261e8db27045f7307d0902569680919320639825ee2860e2103ad2a73a2a11fb31268c0d719a82886125ee57192fe6b622331974851fbd00c343d66520bb52797832e63421b055197efd06cb42227a1983af57121bdd587432759f0e10a1309875b0dbbf4a388d57b2e2337f88d8619ef670d06a7e69824c834da1b7132905cc4197ca413e8cc90a0664782e51516b582d7e976c1c945826031aa2f5f2448eedbad5cdabff09ecb22fd002fe4d857868c2801b9e3bf83d76d6f6b025d67c60c302b13682de1eac1cb5c267ce8f573b75c2e9bb5d8a6431088527eb2235db0214ad81544777b75807ae325ec4cdc8425c0a55a10e5c30421d301e6bb1e46c20ac712f60d3bb2608079a70bf2adda8b779ccb64fbc555ec2a12dc61ee4ada8503fb9c0a3f07f20db24c8ef781e528d2b6b274cccbf02407006c1ed7d575877f79898ddcac7ffd640d3689f4501d4553702ebfae1b016335cc31f90837306abf947e0cf53cf0f1086cd43e78b7a8e550d16a6fcf001cd6714f8a360841b45f703339803161fb558a3e75cf616aa052b68db571e6301297f9424a2760fca552272e3d37f10e9ff74dad69c1e2da8317ef95de6345eea12dc3fd2cec7c9f0c2864dc6be23e446fbe833becc3c10d3fb950f870f2e5f184589c18200e3277f802aab5204b828c55f8416c415459be44674d31091ee722bea2010ef24f9fa7bd4b9bef3d73c76701d413fce3c323c0c28d5e365cb7055dcbc26f39ccb5debfed53f2ed4718c31ee617d079675b450691724d88e02c27178ef51bcea19923e561936a381ca9bc0f3d84b9187c582a2a8f1cfd4c3beab00b68a4857758c8d0b9958244b76bf131b7387080509f9557afc943af7ce4650ee229fd72018a034749152b0e0d8d4364884f92793fb5e4a9878cf287315a0b5fa31217584134ca54d9d33e98641d6b8abb890c1d9666416fe67312438d665082f41a05c002584e0692150190a9f081100148c288ea48812831ecbacb9f8d0dc9e275cbfd44e4e88cb899cf7f363e870caa9d29d367c4ccff45d9d00b77259b876dee10e0df2016405b002e1a5965e73d26540008bf0680850adea7824cc3119804a372a460d86c32201a8604f32cd30984d46e63684bb80427712835627b3c236884afcc99d76e22e6169c1cd4d58a1e723693bcec162f1e50b7a159eed4256dad1f5c03838ea67439a305414fefab9aa5bf18f252055b01ad7ddb9d52cdbff6772f763b0ab7404ba9ecdf4f7f5c6680dc457a7ea44216378567930c25fa373e498c645225074214b73e4a86373609393bfff82aeed764d43faaf35f4da4b3c91178aa00abcdeef2c09c79d70b7757e0301fc255b9da88c027c5b322e62555a8a9552689324223f997688a426fc8a38553551e42e9c917210e2d50e5105535ee8d5c77e67103a37808768d6999e259451f00ee8aa018ad34b7fd0ff43dec2c8f47dc4da647edf35cfb8cc8292752c70886611640210c850e11dafabc3df3c6da3fa26b8688bdf29514ad2f6a7aea7e935a69caad1f817a98738600ee967bc7331d8349ff1d3800247b010dd896076e041cb1b8068096410383829463829a583abf00e057113f6da690fb93912b075d0dd39277842d056cef6aaee4b2167781b5193c919b63ff678dda4376fec9ce5b7a25c1abc7f1cf97d595108c712a092573d1205cb9a4c33fe775b2823f75b44960c92eb625f821af75bbdd459750a2dfaa57a4943f93fcc1052dbefc834c34544f2dd94ade51affc8b3f1c060945cfd4df80ed90972642964772c631503f304676c9071250840ebdb34bc5b47fa42abf48094998442a4f465c55a1ed7b79318beab4d7190ede8b54d4c01a8636721d1a54fc786c0d2722bf273da40a0e347efa2a2c9199f60e1d24538964eb6cbf07822a5f23fb63b667283361dd1df64e63641eb1f4c92fcfdc1d36d75480ff62c725d27bf82b0ac02160ea724b76e3b98fed41bf26ff641fd4924ca3828c0c27e03509c2b38b69f82206e7e77f6bef8f3adf922b849315fe74b5e552dc7b7f508bae3d754a838c93089a7d7eb46e4a9fc37d548aeda88cc484b30ce10219323af79914b45e82399a78c37a2858358c40699cfc2724c8140b552b48ec9a3a5fe04ec91abf27d694db14a9020fbc45c6dbcf541935ffa168909e431272d41e539d21eb3c34d0035749008189ba83f1c81dce78e89a3872e4bc851eca6a65f5fd225154dc28c1f9e9ea005b007224a1d9a93feb677ff5ca1191bc6bbc3fcc7de64313059260a5330068ece142f1af998adf394141cee75804f2f1a0e3a3b229ba68aa6b3be07f5a8aae6afe7c1a499a81d358245a282eb6b35f588e5a95125e2801c98145af781e97bae1fea1e7e1673fd18080bb4c9cde6bf0e24720cdcb0f0b81fb220c152d97dbe57185b297ae5f9e048704e31ffe9423020be7d52aba59c5aac0c616af721d725ab572f1b0eaab5bc9c7369cb17b2fc35bf69ef958c8d8151635c5bb886599389a3e0dbb4bf03b6e33d8e08b9c73244269a23a5e4ad72641afb3025813353689dfc139504b9725872c8e4f01edc70b123d41e7b47c262e07969e2e41b7b29d2608dcebd66842ebe9449dcb4cae3f830bf3b5bec834337d9bba2b156ea706ac3f1ece83e2616ce3d0883b8d0f9e701ab163caeb46c9404a740fbce463b87afcef83e363b5367c5984bfde17223d6089d6b2a5401c3d52b27750bef5b68e7a4402585964fecb30a1c7cf9c7eb59d0276f9c961372f3736eeaeb0a020c8094352c1b02de36ae2d11ecd0033c427c1aa2c6d34a13d8a927210d9f41f62dd34b8a82549ce5389c31ef13055330b8c0a92e14a7baeceea84da7e5e823716d333b6db44b6131b79c899c8e2e3bb3cdfee93a4ed69314646cc258af6d485b0585e1f8c716800ae74e4c15059527c9f1ab6c24ab60ce4fb66bc32ccfd0ba75cae5ae52e4eef390ab39b72f3a5ce59b428b0cfe9cd6470cae61d03e705ab1e7936201b6c8fbe5f0ef4bff9da4da18f8ebc67305c46bc6decf4d9d3379e07f187f1d2fa7f5168e033db8e05e2ced4ac0af22ead6ad683a6af3c468edac564849a8e2f6096271f7a3163621502deb9f2a3070345ad0e0a5f1ee243ea7e8b62f0e0d8e5c0364583e19a9d47b5860b85f2172caa9ff77509e35319fa428c0cb2f42ae82d5dd03ead0b60e07a2e7eafe73bd6e7577e88e9ef918fd745c52054a75b5eb3fe11d7eff30e2bab3ee2fa6ecd1c464353756b899a97405046f46eafd91a395fc6c7147dedea84f97779f467f4f835bfecdb4dbddfdb3a4d509167ba1d1699120b12767f19ae30b50add4c665c802bd995a7a0585b656e1f665b29ffb0062b2d67e321da87e499233c7865aad11cfb66edaee4906a3e4a9e8bf22554418660cbd4e1915a088c08eff00f0e9923739e036a9526ae43fe40c3c20e77335ed9ea1ad712d728ea2b224a3a7ff9658c51db0829a32147c248447aa965b63fe90b6062fcc66838137730243ce9ecf5f13169675eb4e8efe1c880f8e17b0ea1c2de7445ee7e409d34f2fa6cfcce1c8e179223e54a5343f496ca3228ac233273b7ed03ec5ad5a15f3abbba679eb5bdfdff8444e999c8e8d986027461e73667945feceac65b30058861076be81fba8650850c79d2b3e361276078f018792929e21786ae24368e1b1fbcd77103a74071480b48282e335323865354b80d4cacb9b424116acaba7492cc424810444c0ce52fa899cb1ba3469e59c6ef13f5e3b0a155c695308654e1b0618972a7b538c5cc03ef00985a5d20bdcc369a9dfbcc5ff0595c1a600fd8dd134520d706349b03da41ffac5a20ccc29a0eebd550bce91e4a11269729de69f821cb2c4e6a041b6dfacaf2081752d7e7538740c6c0493685f9826117ddf02d8003d3e90604f2f2b09d7f3e437fc0b33b4bd5feae1bdb46b128aa781f5f5adbbbadc9bda59449ca710a430bec0a3aefe50cbe56ab699d1a3ae284c1ec8c98a63f23a66bc4764cdfef83e94fdcf767e81a793f40d3a03143744ce3bd4c446306ec8d621af67ad5d75ffaaf1930d8ebf59a91f3121de7bc9769392f9c6c04d338437a3ec6f4e6a5e9dfbcf4ebd37783fa627dafb8bfbff922f4cb52bff236d236dfe56d73233ab6792fcb6c6e6cb2d14bd780a0e3bff4b108957eafda19c1fae2971e84bfba50c50f4e2220c6587b9d78334cbbb0eba394524a29a594528f7a81e54ffd89adbff45bff7d947e577f4fc3bfa0f6f206f50575eb7eebeffdd67d9a5b9a02a0f6c4bd4487ad9bc1b06a6a046a50ccbb0655fa79bfbfeffbfd7da2f419eb13ebdfbc97504d8d4856feef6389fb35eb57b0580c865f2fbc41bd6251caf21ea6ef177126fbea3b89c8f9b3ab66fd47f312aa57ddaf5622507dc5cd447b6257abd56ad785e6882dd2f4906a525e6930821b23aa08034a8c6b082bc08461021759060c27306014b1fa01a78517229818038c3143a8e0050a7a683d91a54955172268c207284710a102d496ae7b7c02982f540083260cfd6909068d99ebc2d3555a3580c272b86a4b2a9814c66d1935db43bac9edd313ebe56c62891b69aa56bb625293c7c10d6deb572d72b069f974fba2a7b47cc2818ba6c92153cfaf537a7e909e2f5b0fbe0720f8ae77891a683de8021f631a053eb5e814a5a2383ddf45a55a22e542796a395b939cd29bde96aaf40c8d84a0c400ae6fbd07ad97a101740cd07afc58d4b9dffaa4518e3a1ee0af7939ca5089073522173d9fde3e70bd8e07383dff286994d2f39146197ea073450f9ef4fc56949e2f47f06578802397586ff4265227ca33bf8873d17b56dd7254a94acf07c107e912adeda9f44485707a4acab39d8b9e1f8a1ee5295121af893a0608bff52d5103e08755732ce2603ed26280b9c50f20a88d24847f8454a7d0521b6b3559660c451228992ca4d446107c1d0380a148803982aff30128ea14608e92f2ac5ec703f041518e729c9b36e9496d74892ae94979e6bc896a7a626a9c3f7354488ef3bdc6aa5a89db6d7a86208c1238d5c62b6e6fba3971f1c4ed4f9db81d37840a086e4fb571bb949e3ed54ac209102cd5c6ed547a92a085dab8bd6a7b4ed328cf7c2beeafe2865171634d6fb54bfa9c25050ecb7c366992676e9ac67ac26647cb1103eb583189ff6fafff4ed50309b2040145841755e37671f657572d9b411d15514aa045d5453c890f09cff79d14802353d7f0080b039d43094da37712ed4247df064c2dc2fc1bbd0a3bb07a8a1b032e25015869297d0250a3e5d7790eaec0ebb5b608da0b413004c13004bf0e0c2d0882395aad96d79a6ec52783e09bf6deb3e909d5a4a4e75ba82a547a474ba82a51ba7beb9af40a4c5f7a92257335fffbef0be764b132feef67c6ff61edca1bfcfbe0b39e857f49d5aedf6168f3564a1ffcae2ca58feb3f9b5cf3ac1cfe675bcfaa799b1a9cf7d42e71cfbfcf0a0330df6b853ba98a1e6bb2e6f7db3eebbb9003fbf3bfbc6d4e7b1eb4bdb7a0f499f4fe3eeb6be4a0c1497e7bcffa8f95592192f9b5c095f7f28fb0bc9f610096cc9e2fc915f869c881fd2e89fdee6988c47e675df34641a5ebd3fa54fe7ff3ebe7921e34914c25d3c51e3a27d527a5e7fbcf10a5a51ca26456e9ed1cf8cfdce341f47be614a59cd9bb9f5f847ade5327f1b739a6584511a6a66292f9fe2ef6f84c7e15d40c5cf4102da164a8a27b7a4298d63bdbfdfc5d4323d656dbbdcdf4abac47faec100319dabf26b9212887d897aefa1df8d7fa32f4395df8a46ccb296dffbb176318ec9f4679ac4845394484d5afd068ff9da46917ed4fad48b1d244fb532c52b4bf5746fb5331dadff3deffdeefa068d8a2a596fac3a1ff5703ae8c7cde46d2f359cffa568d4dc8414d7211c867b686f4c8cdfef3c3a9dafbd55ee9ed7dcbfb95e8bd8bded35cdf3390cf421021a697c096542da54ff79bfefc565e7d77f3aecffa164ec801fd2912f9ccbe2be4a0be7f4ec8017d178bf88c526ab3afbee6ee69f6bf59a667d8410eeddfe5106a4ed841d5a03e15954c4df3a02a2a99babe7da0bd82a2e1256bfb5b36a1ed4b69571568bb0a9a6f1f7757861df8dff73e1c30cc2c2a4b1a34c9637faf6a96bac60cb00b35f020524806f9dbaf39678cc90a3748429243bb98a4fb5003fffb3744d2fd7d1a2a99224ced89bb8a303990536114d7f7dd1a769d48a7c053cb23fedde7d9d67c419fc9d55ffb9e65566e0b6a297a50748d9647d84086fe5cb2fea4d376a2fc2ed3b75426e91432c99bd4874f7a9092590627a9efbfeb4f0efcab18f4d1af10c0128c1664680955854b0f2da1ac60d1a007f9df2d86d0af25982daae82a4e0f60fbdd7bff51b07e161c80d45d9881d4f62bf63ad981b53f7f6eab65bacaaca823420492b49ee29e6f3f89ad6f33921cbabe4c4b9963e1b25140980d54e9a084145c18315390b5b3afaeebbaaeb315022464e10415a530beb862a2309bf5e097cc43aaa5df280cb5f35cd290048c83b6de4d9517bcea24e986115a98028a1234f800c3932a294055d9401af04c4d093653686badb57604daaa00c317183a00830efe9fe710bca67fe4cf1f4127cd89e3f310926ada7e9211fafb24683bdae55df5fc5d44db4f923e96fe05da9fd29ddfd9c1a0b65aad1bfafba46b77ed79238da0fd6568c4ff9bf28bf853aa435fea2452878a1a5ca05dd441728176510709bd40bb98467fd5dddd2f096accdf9ed725f1befaccd65aabcd4a5c7a4a9f79ab8f40661299940c960f7a901ce29a7a3a4868fd25537776eeaa3b51ca2865fa9e0ee05a81ca4b0c66a0482cba886902ca0a1815be4c2527a890e9baaeeb3a59a94451e900b61507f54213185b48d1fbca27319a84c9c2055f69113e6f89a96889098a8d965053ae60cfca2b5abce0820a1e4c393186131a982881c9c994e759d084e7799ee7799dc556d882d0fb69d7bb9202eb4b16e44eb839298da04a09a377c20d6178d3f33ccff33a5be5792d2da198a4c46862822b9992d09f96504c425859c1c3380185d3139796504c59f4c6bf5426052f35e07002175350e0044a0b4a50546070c2d2128ac9ca94325e6ac0818b2928009d405169018a0a0c557c5054ac8471020a282a4e13f81baa9661ba5ca981ca972348088107a4b865314d40404dda42660cdc145a1451c50cb3c90b24bc7042a7e5115784b0e1931ee49f671d7f09c502192da158b041d3ace3e28f0ed2588a173348d05f9db2d2d6943eb029faa320d5626a8b9a124f57a0eaaff6a0c10fe8af0369b609a33f0fa4f92585ee4217696669cfdf0af44c5992d50ab56709e5c2173ac9a70f0182f873ecbdb42fad88048e5ae6bbce07f6c107c5a3faf693461d03801f4a59cce5cfe410d6cbc7ac7c44ea99f499499f79f3a53cfe32d91793c9662ca6278cb5577f7f82db08d4f769145efded20c9c51b539ee9b843f2a459eb081b7cb27bdb755fb5573daffb5ac5196e90a46995322804d755dbefba7b359110a676d733d440a6f1402987545be9ae7a8a61bdc1b7b47093eb42fc4ff811bb10ff9da46b6080f72c67466f9976d8dcf7633e7c53cbfa7457ab0c4483821246532d3fd04408bd69daeb92b0692ea5d4eb28b5508848019e6d29430732aca060ca185096c480e224978230be00c3cc1754a081e24c135e4475614415105c68d9028b16309861218b149e9c20851a1661506d7145155690a9220465404005d4145ca4e061ca06137820ec83c0fe39b1e79949af978245b9a6bb2cb0d563f6458f5fda5fd60304f69f31ebe9c183477abd60515e759705b6b08d0fcf17fdcb9f36f403f687010df9f4f4e021bd5e101765dc5d16d8c236af9c1f1e5ff430a398f6272ada82fd691429faf1e1d3d3437abd207e756051bedd65812d6cf3ca81d5f8d1e38b3eb6c46aff0c3ca81cc0fe3536f0e007edc7874f8ff47a41fc8279605176759705b6b0cd2b075623b613a4e78bfe3ff0195d80cfa8ce01161004c80fda8f0f1fe9f582f8058bcd9fa2ec759705b6b0cd2b075623b6f3a2109f2f7ad94cfb3740023e60ffd8032420042808901fb41f1fd2eb05f10b16fba2dcea2e0b6c619b570eac466ce745990e211f5ff4b31eed6fb4a407ec6f038425424142808200f941fb915e2f885fb0d8cb586051eebacb025bd8e69503ab11db7951a663c6a3829f2ffa1e9af6675273c2fe3b2fc32347b50a86848284000501f28326bd5e10bf60b197cd3eb02887dd65812d6cf3ca81d588edbc28d331e3d1e38308ed8b9e06d4040a0fd8ff86121422432a18120a12021404c80fe9f582f8058bbd6cd6337f8ab2ed2e0b6c619b570eac466ce745998e198f1e1f342016fcf8a2071a5ab2ed80fd5f8acd022222432a18120a1202140488f47a41fc82c55e36eba185605106bbcb025bd8e69503ab11db7951a663c6a3c7070d08902e0ac200c817fd1051152c5ab07f6ec282c1051610111952c190509010a020d2eb05f10b167bd9ac8706d4028b72ed2e0b6c619b570eac466ce745998e198f1e1f342040414340bf87e8205ff4444bba9b5316ec2f6671d24530b8c0022222432a18120a120224bd5e10bf60b197cd7a6840432eb0287f417e77407edff137ebc76f50ff6ed17ee322bf6d7e7ebf30f89de3e337ec82df357c7ec72cf8bdd3f3fb897e8b3d7ecb88fcd6c1e3f76cc86f1e3cbf7b2af8ed63f69b36f41bc88edf4042bf8374fc1e0afa3d24c76f225df4721211f2fb025df4d28300f0455f2711a02ffa229388ec8bc46d34b7f8acea80fd717011e7103ea35fc4013076da5fb3b47f9196f6c7c046fb5f90a3fd2da8a1fd8976b43f1151fb0fd1a1fd2be0a1fd877c687f2120da3f2848fb0b19a2fd81b29c3ffe41b2cf1f7f203ff29d3ffeb40cce1fff9f8ce78fbf8ffc9a3ffe3e19367ffc7b726cfef8f7c83f7ffc7964d9fcf1e7c9b3f9e33fcb3df3c77f47a6cd1f7f1d1968fef8e7c843f3c75f9689e6cf0bac39603aef8af58161cb856d6a5a38f29e5b347d3167fa9ff75cd2f46fe43d9b68fa3bf46de42dcd68fab1ac936b641a199667e41c9cbcc12555fbdf649b5c9371deaebc25194dbf95b744a3e987794f287b629943687ae9c368193480491deb88e94adc434f1227e5895b52c9aa4edcb3a664c53d6d4d559c5c9ec6f9c30b4a9d524a2992f9f597cc343f9f5224fef697cc344eb3f8a6754fded5cabb5e473dd3efba48ec6824484324ddfcc935d7f943bbf9e35f5f52ea3ea5c4fe39f83e0b9178babee7a7629d92b6e8bb27dd697f70b1beff6aadd5feaad6efdbacba62d5b752fca4bc95953f57fd3a897c5fc1a9430d589af5ac5da9a6ff4929eecaca1beba423245695bf62f57839c97d242dc34984f59e285b85f773974bdc7f3f9c4442efefff773fd64b712361bd7cd6cbefeb2422ff13ab94353ce27a2926917f9fe512bbf9539ff5adc223ac4ff2817f592cd04a9cfe3ccff33c0fc927caf7729d3ff65bb97e98c12f42a7bdbf595a8af759529493c89e3a096b2e99dafbc46efe485167f5f5673789c8b7f7edcbb77fc323df27b9e29e5ed8c124f2c9f7eacbee6365a9a564b1582c99ab5e5d79bb49646af9f29ba1fdcff3bcef3f514783fadf1fa9ff89495a82ac7c593949cb25535fb19b3fb613ad12eaade9aafaa44c16d9f5ed9076a121cae34b7ce63f74c33a9d28013ac32344cfc467fe4b6494f60ca8d0bd511b0f054d22ae67de4ba6f6c067fedea64fab98a48bf8063ef37721dfa0de80a9b8646a23f4fd5f340f9aef32ffdaa5da80a791ec32b70c41b4a4bb39110d1155c1320434b464a301358142eba131e999f518a199c9660da092bd91ec03325d6c89cdc06733a6eb77b0d7ad6fab514cd3b799c867b38b04604c968040830d19bd982c9119bd7a40c04c604bea2f01f791068d40263660397f96504dfd7df4d817a7d576de5db13e30a40e904e48c1018b28a4a408f1c488aeeeb0c2094b3858e100154714c1c2279d0789a67362092b4060c3074cc03d1181e6001ba8e2842ba8c8604517439cf9401516b7285068c1033b0881467a79b2c554114d8019338407b29c1044145e4081410c161d40e363881abc1021c60f4340c145680c172a3170706109324124a029aa0acd133050a1051067b0944004525ca982861d46f821490a1913c4504214319810660b185b7eb07971c3192a9ae0009a3430d850021763b0e0850f683048c104259cb89286cb097af8a817722c38818216249ccecc1da4099e28514bc1135e24b1c4e461ee80661241420e3d60a97252466d9c3b4491532c5143ad061da056e8428b2c4116535d4031154509546461c00d4fc64c19d3c505277438009630a2c8f0a489115958c921a987a912a84c31822fc058010725603061658c15c670a184db016455931fd05c7142144f6e58a1032658e106a5081452b00101494b6374c8210a2c3e28a5a921060608284faa20220828b01ce0892bac68028532641022cb9511465033d3240a336058118387199ea44061440d4d9306179ab028c10c5e447d414313026abea0c2e908315348a13003ae1a211702179ca0428b0c421e05c87cd14418514e78ca220631943c2cb22082032d5c81822b55c418a1284a0c6056c8e28989146018e33bc1920f64709812b50595333858a082c51264c664b1c414334b74b1458c2c4c9c600c2a6c5578649a3cb1c44314439c6181a9045ebea8c2b9c0b4c59817a404f004050a2f6451c288282e38410229199ce8e2ca18598c90f2c546941e9e4a20c68a0e47b490c46a4b0f264c09a20a102860e1695635c3943442e05063228a0738000346951846f4a014c4d216cf5681e58723d26c59e2072646bb016d77d0d613eac6fdd29d05bedc30c5861448e86285dc0d474b30b9166ac67cdfb76b90dbe9d64e6b45397f6a50a54ec47d7ee75e977807f2494f51ce1ff9457c57ed49755613a46d85338731398cd120888fb85cae1b1b2b3830e58baea979e58cc9614c0e1a0767068d97a106d20b0b58bc6818acc6cb10898e8e8e4e6c67a80b2a94d0366cdcc841a67cb142ff8b331f485045a177ece0e9e131268731ba470f1eb41d3dc4d045fffcf800c9bcb080450709f243e865a8811845a98b0e7a191a0902f23244d2a43b32e495dc4893268d1ef2323432645af032d46067034e3ea0895e8646885e3ec927d79cb28bbea082dfb24b17a22d9fe6774317e49d3484b6e02bc8db821ffa69c10fe5b9c58249644136925d34d1107a3e11510bc8924ed307224227446413e98f4896ced30d75403a3de4bb3c6fb856abe921408638e9393414fef8fb83485730f49b88086868e807055241de455ae887f2167a203f44c7420f24cf2a423f8284b211910ec2020404fabccfd0d0909010204d8564e93c5d061a08e83b1fd131d077792e01f90401ca46433a888d46fb780069fa3c8034901fbf8180689ac77799fa00c97b034dfb1f79d3dee767688487e898f63e7936a1f1f8a1652320fd33a1f4f4b078fee6e7a1691f1ebf69347d3f1fbf653d9afeeed13cef43a6a94fde1ee89ee791770f8fe8b8e7bbcca487a7474f36a2e91eb3369badc41e4d5fecd13c787ef7f4c86633f1bd4c79e4fd819e3d4fdeb3ef44d1f1ecbb6c341377ccb2518fde8146cf97c9ee8d99a67f63a6c5d90cc7ef2a2413caf1fb25a4e3774c26bbc19323cb328eec89791f40e77c43749cdfcb0dc8373e67a3997eaa7f2ff637c764fac60782af572cf61fbb91f702f4ce4e4c74bcf35efe60276663271bc9b40d32b15857e32ffd1a22581dfb8fc56a7c117a1b5043741c9567e6a03cbc879c3dd5a7521ed096f0def1002d0978bef79876043ceddb1a9eff7a4f2a6dc5e9e353d2d9e3f65498e7837ad5aba04f68a4eb7ec0ea96fe96527adb08e62334d2d99f4af3ff7e807e055fedfe1f10d0afe0f7d7150c83ad5a3b495b6bedcb1e3c78663b74e490e11065fe1b52eed888e9ccc8a9ee491d9d3544f149d9be55daa7c4f73f69adb5458686ec7721015663f794524a9bcdbaaeeb1e26a360197890b5629229f1aafb55377f25c567cec4c91b83a7d15df299db7ce634278d1f78793371ba410c7ea7f393d89765f4c4526b53061b30994d3e88f29b07edda9465053a55f156f1997f9daf53ebbddd2c68b4ff952ae3422bdcdde241f28832cc68bf4d5db4476977a732d2e87d71424d2a2e052ce87dc968bf5cb47fb5f33679d0be5534160f5a819efcbe6e86e0cc53db26ff1a62a69eefe4e41e4e7f3920cd3a1f507a3f0c76e1fccf06ec420deaade241fb2e69bf4b1e24c579d0eee1e4901a3ddf13e31e1917c2f33d2a0f723d5f0add9be4995fe3d341cacfba9ab40c09506b68c4d615b516b437502ade9bb551f7da6befdcf7de9bb5f7766fd67ad6b3ef7d171af12c0dd015ceffbcb000abb173f2993fe52da39ef0fc0fa7ad137857a7286d7f57274d7fac4de0fa1587ab1d2d95d236576cffab4d617075aa4e60bcd088d5a1aea3a3a353a7d461dd2ac7d1c2a7f381e84fc5b9811392a88dd4ff0889fe115295c20aa9918a5ae423d512e0b88c2e6af1f9c1929eff09d99737acb77b9d7bbdcf60fe06f399cc261f6c2a3d27197a5eafcb1ea4d025683e690f52c0f906ce3333f882f7909ef3873cc87b7c3667b5367fcff47c8c5dbcb8899c92619e74d1fbd225f9998a081694c68fd27c344b581af3343a097a7f3d4292233843355e17e27f84445310446ed452bf8a3a48e6ebe727e99b4fd2369fa46b3e49e34fd2ae4fd29fa4c14f627d925e7d92be9fa4bd4f3a429248482135da47b235dc48bfd680374dd7faaf9bfa36954ad7c7b9beab95eb87b9fe97ebb372fd5594ae7fc5e8fade94aedf6533ba825ea56d69eab216ca5797c0f3e50c000eeb5abb607a3505264e5731c97c1b2a08b0c5c249104db5713a1a9b96940a4d4d4f11947869d2e4f466a2a99047354e7b86cb199c9e627746495f2af4230b0994c67b348db822c76544a244dc463ce7163f800087144d743de09ac62ade23249741052832041d68e1bb42c6d258c55bbd607f122667f31738a044d4f8755e6b276531b543d4f8ad9040e3246aac22eb02229c944624176ed4b2bab51a69ef67a6df0e33989a45c3014c3dffb3d7e8a5578f6f14de174d141ab45c70c294a8f173a9c407aec82cb0a079aa944c16525e3f2238e2d521cde052bdebc40d50dcc60f04251512bf240f68f3376844d3de91a64fac2a7ed8821b8fea8344d20cd20c2a4d94669522b492d1c15cd214f0401bd134ebe7979158509460901a410d4071343a1f1cd931724db5f1c8fed1f75deef211fda20b186a23524e1724d0d954b50599dad865af02c7436d94a111bbbd8c91a3196b9623c80aab9af412daf232503248c92478a09a5d9c600ca7f1a34fcef0501b913c2a981493056a69fcac0b3860911a4d0062e92e3909933bba3374c1426a44daa1345e2b3ba8e03422cd13387565280184949f30450ca9ae4a132bb9f1033f161876478829e2367eae00b84321830db691ee300615390c5625f0beba66e9843352a34dd418305b9646a4150c52dddbefc42389040a54d4c6316234a11a91ba0fe480f4fca4243880c38d4748379ac6ee912e1adc58df8a3a06b0ff21e1819b0a4d3a0600ff6b410a13b9f1c83e524702a7b1fe271ec92762a022371e5911c9851b3ba40e8b5412133e3c8d55d4f9c01e59f1a8938ac28d481ed5a885d29a04965d30cc06945428043b98802aeaa68a195ed3042c52e082335f5841cb534e540b5f9ac63158a830a58498289c2408aca8d0e4e58c0b5c9a482286a91b22606a38da0be7cb01251502b304beec1fd5efbe1798b0e12f28508d76461652d4c62e23cde0324a1732a9acad9d54f354e63676d96669021e9ad4c60f878b272eaa640e1736bd84ce801223a60a46a685251a530986226c354026c4701ab5d4a86222a06208dc68c38b9330542312cb88a951ba90a027504be30d97132072b3e9840b13b9f19b406c819360cc08919bb62466701a77b0e034036efc6c15362f52e3d72d91ab1a3f4f2a07aaf1bb4ec410354a324f909193279072856dd411051744508d473abe400194dce4e10c4e92204a152ee3d7722161c2144ee34763aa80c409566e35ec18549e409d7a02156c539a6a1740d90137d64f1a67be5db08d95046936e2fd27a50f0874f5342fa91d0e24488d47f591dc491151a396fb49e3978fb497695f459d0feadbb7e291fca4b1085532a71ca9274719b244ec33bf48e06d3471fad2f7f9536396c085035cc623246ac6364a178264b385d2285d88ce97259278923f5608f3347e315052211d3f33020db5914245510495b421bfa4a0f6345222b6a050353a0d2f4c811b8f6a94a6b8541768a01aab98050f545347f3092f58d4c6232467a20c18d6972925ac674d21c7426e945c74418215a9f1bb60cd47acda1039d84624cf851570b09a7f74c004dbf8b1c09a8f2c991e5ea01a8f90ea2309ad20355651ba90dd53f3d10f311da88d4812cc52cd3f849081cbf88560cd3f88b07119bf1658f30f273096c6cf05d63c8588c2cc6dfc3058b37c8a8222357e3560cd54ca1134d8c6cf06acf9882ac18219aaf108e9fba2ea69ac8f3493d06269ace20d58337d922687dcf8bdc09a2d125451b8f1c3016bae3da4d9c06dfc72c09a69985b94d3f8dd3ba346cb57886205377e3b37404985a8f47d5052a1239b9e1f668b273dc5253483574c501b5dcbffc449e4c89d843883436d446289c0366ad1d14096d1f36519fd2382236ae387834a24170e8916658ba9518b0e92f9de7be286512f6e90aa19e927a765c962cae319c9a37ad5ee8f906a5fbfd6894856c494670bbcaf900deab99a72d5d262044f4f23fda60c8798ffc68e8d988eac410326e58c1c9cd78d4d0dded192d2673e124df21a248ca965a5531e34b15371575a237d26453ae53339c33c91a2e78ce1fb9c89898989898989898989898989898989898989898989898989898989e995c1d41357236c2746cbf7a4b47c0fa7e55723eebdf76b79095569d432e75795b4ffccbb2a31f1e03baaa2e7cba3263d8f9a8e6c7ae64da98caa929eef97fa2cc1f7b9e69cd5dd6f45d251811853335a7ea5551da5a265a6acb5b5ebba5bc15cec1ff6c2f7de0bce5a93cd661f83d1971078c36625026ff05e108761f8c2efc237363735f8c6757373734303a4f27d6ec3f23f999ba893cc9b2e497913d574cab90defab6518dfe79258dee9fe454bc769e9ee4fc30ca69ed25b1be9522a6968c4c12427a7d48d8ef8ad75366af1efc02a04f6ff5cd508ec0fabdf4773a316f95f6844021d29d15c113447f3999c52d2e4937c3024c06a9494478a95081c0a8137d618a4efa22292871bb5f8bb4223cec4497b38ed5f87c06ee4e1f47c7f098137a5d2f2ab1018afaed7595c29c6187b9de779d6f3aae7791e756f7a9ee779379cde14a07012268522a2f8a08393304a4d298401019412565a7ea0871c40b0ca34558cd70b068bc530b018d8d9aca7874603021a1af23288bc0ca21bdd0d2fa30b437611e3fb249e5b64172e379fc939b354216a5a1a9a526613a0a9c484468651cfa8a5aa01b3514b990f645219f84c7e218ad11c48f61ab5cc603e93554af7e91e954fcae84bdc20e8d757f45f51be79e941b2cff1751229fa1ce25e72fd0cf6a7f5ca8ab29c3fd267bb28db743b747cd15f2350fb832f2ed81f07bf76e8c8d26b51667597c5b3e38b3e4eda9f6c72cccfe64649494949494929cc313f1b571800c7dd78b996db688e8a41733447733447735dd7755dd7292929292929dd7befbdf78688c51db146b4116f446badb5d6d65a6bad1584393582d98496d30b5407b4fcd9831402a1d6e9e48af272203cb939fe86b83116a98d4877c43983f61fcadd1676ddd8b90973cccfe63d3cb2d2e113e5f1bf176318ec7fe746bcb1119570bc9c97f3725ececb1571cff33ccff356abd56ab55a2929292929dd88b7dbed76bb0d018980ce8473b25c30a7f0ef799b344c9951f67c72011975f34ed5e9620c83fdcf66b41bdd89a2fd5be2c653b4bf4bdc301ab4ff0d11c4e1b1b8a70872b2e07b3186c17e36bbd9117ff3d48834e78a72797145b9a25c51ae2857d4bdf7de7b592c168bc562dd10b1b823d68836e28d68b3d96c36db14119008ccc91286475c5194c7ff73cc2f6cddbcebab931c82f3feb50729b4da21ee9a9a97b869d0d021eebcab538eb879f4ae4e4e3839c47dc54fbca1d812af4bbc37c47df18e5823da8837a2cd66b3d96ca3fccf02d099b0f7e37ff3e4df59c4f1bb464876f3f2dd468564223882e4f1c7b1ba620dce34c40d8a7b66236e5742aff48d08d6728ac0fb3ad528a594d2a7a7a7a7a7a727252525252525c77d44a0127da239cf15559dc0da75625d27d675625d27d675625d2709d656606d05d656606d05d65660ed56a75b9d6e75bad5e9baa23ccf15e5b9a23c5794e78af25c519e2b4afb7b5de7755ee7755ee7755eceda9ccdd99ccdd99ccd3dd5fa549fea537daaffa495eec51806a3cf5a5d2fac99f565b83304466979f346e05d9df69dd729a900f7466685485cef0bac9050bd3170432455ef0c742112abf751f75f077a21924e6f0dd81089a73792be91eb7fb7bbad9ddfc952dbc89b2ec5f276299dbcbda946de938a46ded30996b7cccdd8d509ac69ff5776aa1dd0fe3679d72eb47f4dde16876da5d0feaebcbb29dabf9577d784f60ff3f69e6c0f4a4fbdaf135dba5e67e558a5258e241f485d1245b2493bd696f1c492d49dc254b0aa590d47ab9a51fd144c0ae36843331aec69941c425ffe97c303b6f9d2a53de4497953e74d938ade2c559d53753a591bcdc9a7ce713ee6f060f3a64a739c79df91ce0fcd7c52b6e99376ba446db489de9cb83cdd6eb7dbed7603815635a3fa29dcd090a44b43d3939aa2aacad11a55badd6eb7dbed06021e1a1a1a1a92ba0d79e74d7e73272e4f51389bcd66b3d96cb7dbed76bbdd409055b24a56c92a6fbac92a6aa9aa725e73255f729bcd66b3d96cb63975bbdd6eb7db8dcae6d389cb53144e6a4ed96c369bcd669b53736a4ecda93935a7e6d474cac9614ee56e0d2bc196de366b92ef389bcd66b3d96c391b15f2915635a3fa299814ce718e739ce31ce738f974a910bd18c360ffb3d9a64af27372c0fb2a5dfad4838c4fcaf66b69558537b80482525ca83a8fbffb13762af449f9f927c3239fe8d785ebf7e17f61ce31027fff7a1666bd4b94ac6f891ba6f7b3febe83726a56de740accf8f560ad9be674adabafa263dce4aaa23c1b5cdae0d206978636b8249fc025ed12d39fab9fab23a5694473baab14a0b9ce69ae9b622d02dfa96b58001f57a28baa0a6f0c2e8550f5c636ed8fb1689b07d547a377c51200508750f5be367da4a46da65eae5634a239fd5af228ab89bb445be24ed22d25eded5a0b45efeb632ce62ed6fba5f4ae4b798ef83f96eb43107c1fba1fabd3217ef05dff79f83b8cc56c435799212ae4b55635cb4cd587a9a8c6a1d4ae5d65f47c900a29f49c9af5612aaf157ef6a6963c2894e241d856ab781098330606dff5f841104fed92ba36b1a2efed4b577376d641cfab7aca83bb5298b6675e8ef278d5b315e64fe3c894c7ff6b7ec6fbcf6c1e27c726e7fc2b777a46ceb7bee671fef34223355d4e4d8e6867d488f1a8a810d52b579d93c9d0291c1ba957a636594a9f1935a2f4d90cd7386242409b78e5a96764a973706cc41b6e449cc711a5f47965a959faa9d0cdfbdf64295fe95ba3424db4bc1ee3bcbf47860785a064a6d1396ff3fe1e0ac2f7f7c49044c297436adebbef9571be26777a0c8cf3e1e7e0e0e0e4e0c46ab2ad4bdf7f0ed664297fecafc95463297d6c7244e9b35a2375ceebe667d7d4e4a96db2d438f906a51f6fbecb382b41aae99778c38d881f8bf27af46a2f57f35fdd307b61eeb44daf1ee7daca558acfbc1ceb3f2fa7fdf3705db2e08773ebc35c758d9c3170ebc377fd1786465ca2e3d6832d57ebde0bb642d1fbfba1116a597569d3f4ae4bfa7ae20ddd7b77a9789790a6b5710218276ab22d711e90f3789956c3af61f5b7b6565a69a5951abdb4edaa8746ae08b87efd2989741f28147eb579880604b6bf694780a4cbfe69751aa3210c468b9cc7ffcb218800d3dd2b41aae9ef6b68047cd5104f39a31449d52baac3dc240317e25f0208e183b9c8c82716f1997f4d836f0fb8ab9d5cb5242b572de97bef0fe441dd4b9f6107462fdd75a28e0694022f5dc5dae333ff70e633ff19ee734f8ce9ab1266119f977ab6b39ded6688923ed59357ba9f51ec5b2b785a1ae885f94ce2f9afc9c276063cbfc35919f0fcee4a2a28382f948da1825ed7f558afd295db18be545901f58077759f60338ae753520c2c0c78feadf4baecbb0b3af7a6d37a2cf0c00b6290824e34849bb2ce8261474485ac3afb5590ba2b080bbc1e74eff5ba0e0868bbdfd65a293b9a5fc1f2e94b06b6892e7f5e18825dcb564c6bdc66dedc9f10a48265f8606eb9190dbe53f90c84d2f659150cfde0c9346a56f3765dd7e948e9638b5016540bf4323e039d8ccfc0b753f0fced5834f8d686e7831fe66de468b47dd082198bdfec61ddedbcdf5dd7752ccf32612b71ba7b9f568fab07e6c16333bbd9f1d2819323473603074ca4916bfc0d973b366cecc46ee87c8d4c4384e19821cbc981a3e3b5e36666c353c303f770f5b47c7c843e7e40f0e7a3b17eac80dc201e5027c40655213a54c124d253c387870bc4a0d77cb9d140fac8efc143fab0cc68f9fed5d8dcbc5638f2e2bc42231d0ee885c704ef727c6567c056d4a78e7c9dd0069ef326494fe9239f460d685f805d17f0a4374443f2fd45938227c8d2f2ddaa30a3d249ef0c24b4fcd58c0bf36c0b787ea7e3c6406ac377662cb06c143c9f95e31446e382b14a5d569c584c87dab011f39d1dffd1df4668c4ce1bf66bcc86ddb9f4651f832de1693780e7af80e7bfed5e3bf54615959653f4258ee613c7cd8d07bddc89d6e2a834870ad7a70d28b39dddd646d2f6ad68f3600643510425b68fc3c59f22c09f8c0585c73659dd1d3ddeacb33c2af561492bbf13affda608b0277ad775dd97593d6e53c0f3a78f1f574d06ed931b8228501c2e50e64944be3fc153ce1ff95804878668b4ee75f7a4bb9f493aa5ae7bb97bba0ec7bbcc8e609de0f93a2a4b06e6009de65295c4d1f0cd4143fb7f3a4098f6ff7680b3e7e1b159b097c56054119fc9b95a654967f0cc7278705e3d6e7a6c40bf8297b886d568ffcf07887b56ae1f0dd01e0c867167bb4eca24d2cbb4d048d70ac1201f90ff27045c69ff2f08bc4243e09005c89a54101ae986e028950848892c002f00ed0918d783010d588deedb01262dc92a6b24ab74f73a42239ddd81af9dad2a0fe521254dc0f34dd834db04dbeed659a17aa8140c99888a1e65c8660402000004a316002028140e0906a46114244124fc14000e6ba64e5a5a2c0d0865590c04510e328618028c01c40040408464865406fe0609dfef8a59b9edadb6cfef0c354c2589107a6b4ffb36175fceaf932c4aef5b8e212e5445e690f2942c0559337e289cd981f48dd9cd86118d907d958fc778b57e4973b58fa26e95e2a4b4aabfa601681759ff556b7fc0a15b10fcda9841c486140d78a60831d50f893b68964cc4a84ad41c55446e31295af58d81f815807f81f981e1f70007730f5c6cd6c06d1e6ad496456d035b8456be8b564d7dd136ca30f23d19a32e9c01245f3fc7fae1e8bce087da25c6dde1191e3a47841fea7dae4cf10353e7dae2fc006d6e23c98f7b9993e6f8816d5ef72d9215e7984a25ce63854b817db969e99a233c72cf918bc9310bb23191e18b8db162385f47917c60963080ddb4bd7628fc3546c71217a74bcd4e96caec8b23dfd0a602f07e4d62eb1186cc23461c45d1ee3fcdc21e2bacc291b2b66809c078900ee476b94a13f35141857394da8a783a5245b3c7565061c32ec401c0d2784d52441521e2b82c1232eb76c364bb50bbc416e96a104391187974290ff13631e6f02319413155516a5dfc4c8da613cfd338d17aa3144e278d3250bca1a00d6a942f9380d46b59171a33493d4e8e514ab9a5440de4721f27cc4f8a4f39f181214429c923dbf51614b54c763993fbb7d708d576385313614e9937e49fd0ff9f7042b6fa3c133e9a978945cae910cc8ea096c09586f48665c6038f948a94a2a6c1041d0d6e1c92f2764c1271af527891d2a09780163e56e0129ce1205201743a38cc94b678e2b13551c73161a29ea83f2a10b93283850577b7e445f03174f24f40be02e794cb692cdc0669ce3e78fbfa39b2096ed7e828b1b80b4f0703e46e5d1d6834778d36434f31854bebe63a6e488ad1d9a7183b578b71d9b218f01d8a01afcd0e58f47d0a9019434078eaa270dfc91c73203ee9a3840ba28e3f2038f451845b75ef7268daa390b47e06b14839a160ae8aa7e02f725ac87df2a2fa964ada296b5219435fa55ba2fc11631900cf5cdc295b67ac9837b17215893fcb1bfa6d0fe858b33646885cd6597c1117e836d42edc5622481c08168e6c9746707e248347d33b607c83046446c87757b7369edc463cf58382266d5493f4db46ddf18e5ca88609973084f6221bdbc4e75abfebc733c16d6930f1c5aafc95f9af37f0452d6c3dd7d5cbce2d2d66b82682bea75a9aea6f4731e464a09c003a55ef630fd0c7ef0b0b48a3297ae6006ee9a1f04316a56afa164b145025edd84d35daa43afe63dde24897f292ea101665033fca9f309326645439aa882a22b7681256bd6d60fe02f24fe0f3cb04fb1f6e90a93e590c34907e858c42e48556c80843deed42c613f2ae143288206fc942860179c814f29adcf91393f366b870de4773bd0a59467838d4c58597e25d3f543cede34477351e0de9eda444b67e869d15bbb9888cd4e2bdaf5a5fc9abe5628bb54288d75a685c3678d72a8979e6a83a8206753ee1e008603861ac422ed6364d9e528388ae66f727aed64a70e8a1fd8c3c83338cb3651ab5d17d7e05d98f9f495dd8d2eca78dfa738210a4dcce5f749ffcc324a68c2453e340ba3c85957e8d7704459e5fea44aacf05fa3b449d05b37312a2dc83a324d1d81efc376363804fabcd2ef6df3b5c3301314f95345393e4a92b5f4ecf5547edac776a2eadd9921ed137e54b39f26d3f7172adbb3577b55bbb1ce7f7c27173372eb4d6cf8dc9e9b3dead9fab8edacf99d50340894cfdc430e4e9182ab47aeb3d8d64fe5d0f10305ed73b65b66bd578895d5b3b826828a60d51bd501776d7f07eecacfdc35c29ab00662d470979e916d1dcdeadb5859be9f44afb4d03e21c2de45431f84513bf006a6a4317e1eb435408d7df3eba4940700a224bd3520021934ed7030e4c7b5881597734464ecd1547cdac736a2c63dc1e7860eec145ecda4e1911efa5078ce1241fa4af1e3087915e3078c52346780950716f1c4dd40d87547a179ee9bb379dfeb233ea1b6909383971f1f09d98042fadfca9b27ff0721b054a4cba555c962899c2938a63007ad27a08f0980e61264b377a47b80f41db16a9dcb4eec2c74fdc8791214b5433b8f62586818e99476dfee374ce8253a739fe184d03f2622075a0412ac212799445078a926bb7b0a0fd430d236c0a7aa993575927f7be482abd66ff9e8d48ff4fbf2256e5d79bc8e9fd33c43103b84e40a20bf964000a90aebee822340fb3dc56ffcef388170557a5765a1b3787263d2cff0119a0af455f079a4adb8d001edce7a340117bc6e066b36c9d93fd279741af346f2cd4075edba7c87eb3fb62ef1d8d4956d3c8d046add64b4a66ef8fa44623d394a508dfc84b18ea38ff5f0d2494397efe93c6f35d18da59cc79fe007ddfff3c52ba464b7ae71cae4d6502f06fe126a2f6bd3a5d0104257c75038cbf33ab3e53d542e0647cb3d3a1330db3db41b95d89ff82ef964180db83a35d7609a916704093f9531a31ffd247d2e0a003641d28599076b409171f021a85718977040c8716b9e5fc1d525d9cc083dd4b3578be8cb929ece0c1b2c3d469b62b313095147f6ba54cfa808b28a1a55d1c3dba3b8ca0e13276aea9839ade6bcb8928738d753d3072fc7bddf2038aaf87c7fc62a78fb92bea951923bc5a60d416dba8868030c87e698d69fd548fa52dd2fbff9f951d0fc400441cc4d94847cc20fa2f20a2b1cc364b69dfee9bc88567fbe2a7cebde5cda871a41891ca6b76c91f224ed1526a09891dcec57e6ac6a4adcd767d5b06927a7d2a5f957932878079d7324c35957aec2baba8cfc118082425a2614617881860ac247356bb9a10e0a5b9ce86a00798e5830e2b26c12a8f010a2afbba5b4bd8d7118682ecc7fa5f14c7f482de14d8df444be101783f86f98bbd21945a8da6423b93c162405b6ad9a8898b4c9b992987541bef2333213bb568de2c22f366f6c926d0deeabca0b68d27d716ea76357de1274898a49f64180716ee916f04592f820a86fc78f4781e7f7101cb001a1c484485a053b87bb2d9a06573700b1e28eb87c421847d17710ed0697ed1ffbd3d3e9088530eefd545105f360ff05aab1a76e744ea261fc4a3680c68d0cf4c191942c1c1311b0735f5395e5644e060708c8e8346fabc9dbc87c3c208da5ad5eecc682eab001d0b422f9645780c18349d3bc01e9177bd61471f3bb7443a3107b5878dde6d842f8b966cc2f24541ae508e51912e20cb68498c4914a104b97fbd8d5fd43726db959c75c0613d6aa45759d5ee4c30b9e8d5e5712b1e36b6344f7de33daf9ced55ec5aef2700fc0ab868b0bfdeafb411dd0a9e2aa65a73c369576dffc4044714bc513f103cec64d4d7e859ef66782995f769d274ec63b3d4dfae21b746bdff400c0bf76590b9ce5cb233d2a5bac3b4b679e5deae66af794fdf0f48aa61c62b55880b0c63cc469f7b5824c13cb6be7e1a43883c720e06724297131c50b617ba9c80ae4e906a1ef0131755bbf3e1be5983ef04f0848187214da5781c537a47928059b0fe8eb7254f5bd5d83d0779483e2d84e17a93f8db195f90aee5e0b29e79f22fd2d325dc2dd7ec55f926f8d6e61178748291c126c53bb8567b91176e0e6bcecefb94571e8f86e6c31b4fed0047afa83cc30c41ba4c724e409243a7921c60f65bfe8776afa8a03f6f3cbfe6a0a30ba9ba6a4755b3e6b046344eee0140d900d348195e6f939a965e0264e9f5e8a54b5367daf5572e61bb5aecec1b35221c7c81c763aa25c6c8163b1e6412681f4efa2569e0f04e6e1022620d50df8cf52ce155124858d4a464fba1da78f3d5c9c58e4ebbdd5f704e0180c05aac5f445e00236ec3feb1ab3a6c3178b87521de60c557e869f3095ce8c8318698f6a84d1b100e3cd2f64f9269e327d1e0f8ded2f7396fe0559e9193e01eea8c0cb90c28d88850494b8bba2adc5196c980dc5cc1636227249cff2b15a8e96c74b01a439df1944047f12985841bd656c9684929c75c590edbae5518b7a44c87afbfe4fc742962aedcf21a7398f9a533981acab2167ab60a3e39211fc829c9f9abe3600a1383c38ab899656898c33c1c311d55390bdc0945e3943e9bfc2ab302b413de31d2201f4adb2a7c20046eabb2c31dde12810864a4d0472b8b6dfb1e35dd7d52835a0fdf7d240016b7dece6eac68962dcfcd7101ccc8c9f5473602e696a626bec8b49d9ae3fdb922d3489a654e4ce9cf6644fb6eb4797b3f72fde64f78735dfbb1e748a4bc20e00435c7ebf1ae89b230254e28565a7e70ad1bda65656ddc1dae56b6012745394a3d7f5ba8e7ec6eafef82d21ce789af7b844703596dba846b7d6299562621fdf3dd5a79d91e666e50b20607628ac38012207d8b3c673a1de9d63f351a99b80caf7ce40a9102e74bfd77d4a29611b0c0745a39692986479048f3244d6e60e3902dc84cfa983f6c558f80a03904b4e63de12bc86ea01c76a96da08845d2a13b0c623e5140ecb43320233d6fd11c1ac1e49307d759e119566e045bbe8ed20b47fa2530a67cfecf408b30f8504f0d8763e96d909069620fe89bf21660071215b26588ea23461d19c8d61e124e9e797f1defbd273719c1dc9e64d2298458177cba9e546cdb0179ba3db40dc2df488c08e96378d368c8a18eb830522acd1617272b498186c86057cab039084ea7f0d648ac0568d4520ce7b6c25d6791c7944f85a4b915f7331bd18a654b2827305e6d5ce48e068f5c4bc8543b2093d40ccc73795bb18bd7c10d55cfcba2f456a65ade488476700931e6f3002105527a169f102b8aaeab4bba677fe1422c1f8c25c9c6b8ce0997e63edcae3fe7d270036c93759c67d36f27e7aa53a62e6fd4f9c97fa698a223202938df25f1c4b2a9facdd0ab6e91d68f8c8bf3da4c6ccf3e1d0ed8c1395974e8276e07c5f05a38fdf680d4900234f931e59c28f31610f8104723e8b224523b1363d856166153b0a5d6270bafd2a48554aa95cd41e9e5c2fd0227dfcf9f6b67da0a98ec07cfc76f9ec41ba4b542582336eee9af80b720b1f0290c0587218df0c6f2623a551f2185a3f1039c4c6e07a392b664bdc19c435f306e4a27de0ad9dcbfc44041a59f963fc63bbce2a9fa6c3864c734327c3e1b01f3d41c5a2cbeda39c840bf4d592782c9e88857d651bddf3217d498683eeb7fdac9ebb490957021c05674a50fb9d5300a6f56f74ae2251a6d5600f4113abce0fe44751f8c8d17c7f1683f1b4d348d5bff19ef99e2640ea6fda85fb46dc12690b54b4a2e2276d6051872f2559220789187f994b13244d07952f2272ccd34ac2c48f895afed79449020682ca85f01a394123fe35237bb51f93c1b674daac8432b71d00f77bce1336403180aa468893650d7705dc339099e692a73528f623667ce0691a62f84286c3568c5ad029d8196c98caac7725449e0061ea750473fe9ed5f3f762254452d7316557ebab0485a00cf4bc627d63192bb4a963a6b5edbc42e84e4b861de4f5bb1d4a81c4a660d5886231332df52041a63aa0f5824abfdb059af59f96cfa44f7d65e4f268c05da1f87eb121b4449af0df80c3f0c16fbce7217f940b988c49e7a1f75596e29675ae6a21506cc4b3a903251b4e28685b1deb6a8ad86483b30d4ca118b5b64a91e81a2b35a8251a7e5ec8f1ae6c94fde5a81bfb805153ef037c1cc7f3f2105a50f12f35405b9e44b73c1565afb4301972963b64993c7d1f053047486b84e7724e6a6bd241e064883ab2ebcb69292b37c628151dff69e9e24ff5dfc32e0a8dc9033864b86b2a71af2fde01a015d4c799752505c04700cfb4fe9be115ec3e98b5d1bde9fa9e7d1b5446e4a4f460dd5664497f3012b97b6f9d2aea5a834d736f24e4b84baab7f9faae653e902242a3fea4b111a448331ceed0191974aa3b1dd4251acabd1a9cc9ab3a7d8ab184496257a00c90576e55b9cf019a0592155fb7896201961393539850c8837058d3861e871e6e24e2e872946a36d3b0e6aa9d9f430a98aaf3a709849dac3b94ac1043065dd4b02136d0049bfe221a1949929a58c7e211d82d27175b71b3aad1a7f8ecab8252fb24a8d8e7cfa6fa90ab6f322318cdd2c536b1f0b148fae46b095aa6dac59e9825b13408147aae06503231559951db436c313af66014559b87f60af4d304d103ebacffca889ac9f03b0ae0efe128cbc0c5325fd1ff335e6aec67d3f878a3cc85df5692dee182ca1c06d592d670c8535d45454f48d54272e48272937a1b83dfb798f5bc83c2f983698ac449614d90a6c3d6960e54aa2036fc2d30bae4324b3be6ad195322b9451d45144b0be42f99a4617defbed0e2e51ba3312368b268fe4c057f75f095146b79dd0ece49bf6b5b6401348b82fbf64e09f404d09f65fc4189c6f7f37ef52f4d9235375c609be9e9e72f45d6b8118891989dd40295ed00dc3e2a1b825ce1bb1cee2099056c97409e96eafa1d08ab6ca1070354b3bf26ba8b6dddd3e0c05d9f95dd9a124c18f3ed9e5aa5acaec38e3372342e605adfaf18218d0842506e860e1b6eb94e3d8ace8002e32edf4b0b4187a969f3b0de22821322f01b6f8e54e8148d142af71d285e3207ef65754f6f651545452ed5b55725aec3f873ab29e82252a599108fcc16cb2ae54f612ec509e3fe097ba63821ed49f60a488ce71abb9ee0a66d4a2b01a4169f9115b8d2ca44880da2e0733751611cdf63b4dc524ec344877293d650de7ce402c3100ebc8f5a21a5e8b460edcb8326dfab8995f35ee604d076b4ea439931328dc9a25a334e3151260428c4a2a253b01defa4cde5cd672d7fe22a8be514110ef89c591749265980f7bfe2705487ec026ec71cbb680fef2c1c2f9e1768c1596ae6a8ef2f630a1698af818b3f4f036e9c9c4abe5a21e63e315e06742d2dbc04fc041781144e2b3e6b13d1a986bfefd8aa41274c775bc51ab216f53ec92ac699eb0cea501a51996b1701bcbbd4ff46f77ee40f106e8154a2abef7fe1ff91822901b83511605c57531653e47ce0d047831802f481c48b63af6852eae3a8bbe727918d1c57ea010ec2703ea09780a9377439129076e3de943fb308a62a2a0707aec037f54b6d367d114bfc04afa89ff0cf8b3ecf7576139113614e0af8d79988de7080ab7b08860c7beafb455faae20d150727025c035a617e33c07fa15bcf11f043be8516a52e1ad42d27760861e5547cf5b0ae37280f0359a8be2744f899542452f9796257be45f8a4b1ce05c1e09803f6799c84dfec00e78f74460b9a90892090bf694bac55dc8858445a6e56e85702e2c8340608984f28f3083b195be04d29c097eb355d06d137c2a5eb2efcf961752dbb0f5068b326264e93842eec0227ca08f198924a569d7d9cdcd0420df43e512f38c99b01316593255dbc5c396fc2413312d92b0d20eec60b6e41e59a8ba1d7ba32a5b8af3b77abae4b564f9545bb7330686320d907b77fd68310aede20c069d8ea08738609592b7d226068c9264addac500abb064595cfbcee91ff89acc6953620b250d68a1eaad12cee7c6ad53a73387559bb061959351d94e2c8ce4c92cdb0bfb60302e013d73ff3a12f45a10f5c47e246ca9308ab40e22ac2e9e33a0bc3e8a895de3f75eb7ad24fba0691d3805e7e5acd4fc3eef13b7ba10c79bb4f401a777ed2c2eff8df69cc87c3f41678755f9f5981202054b2090b14fd0833ae0d746478bc5af513ceb6af26b104d7c5a97c790b5160068b285d0c69cdc9e3a8e01eb9931b6f6149d33984e949eb6a831d845a173ab891a0615913869d67585fcb58841a55f4c7e4459af4982e507e1ae4fbaefd6ada86647b11858f32f3ca8bf01e3811595e82ac1f88cf45f8921c91d634173ada0e2c759c97bab56487e217587ac849c3180df230728fc8d19fbe4a9af3f1cf58e5179674815afc5de8f20aeb2ec0edac7fba4b977c2ad3820a285a8819180a2fd4e162e0b19a3db891c59e5fea8856081df6d6a38a6d9af1052c2e9fdae4e03c29d4aac986737c1c0183a121457cdc4965264baa13c9ac90f091a92047b224dbcc0e7968442a4bbace80a412d67ae56173ae4227e5990eb6eb784ae65f1923e61e4e7260278644030c0bab5632ae40932edb3186c2744cc271ffb9288b902ddb761360ad21d8fc4597411514489c8cd9804c7e952b882099b820b717d87f2c37af527fb8efcb300a2af7ea1fe75a78dde8f52456a877649a4020b1b28c13498648a179f9f2703293c3ded428a5bc80bf7c351289549829c2596699b1a193c00da86788da81c22e8f3889f028e868da3118aabc92b2c9f211d30795fcda47e538084ec4a9d0d69d0b98fb3edff4d6e4411797698651211a09122d3f41b8eec012491c428dac980d928565314731935b023042f9dedd31548774fe8d52b3d9e516ba92cc4178c4ff68b244314b0a7331ea8572ea1995b97b119c67321ebce0417537047b8a70c21a772bd44360693e0c7327a70544a3452c6899e8fd971e2551994a8165ad2c12eab301f3ae714bcaec56ca1cd01ea9e4aa55f33f036ea40c6a499b56440c407e3f6757203a743ef7028243e07d6ff76faed403023a8778b1e30148049ac943d46a6e58a44b33c71a0be1501e3601d88813178a90c5544048eae7b27ac5f19d10c9ab5b5331bd74c9847d85337f93ce020d2084d28979596d83f07c4f45ad5fa46267f95c1421a0cd8c4e3022e1fe531c44f95256c7dc04a18a8212ba2e2b5b4052a62b6b934888b4c40df62e4199814ebe8bd0fcb59486d9c1515853d9a56440874453fad9cd60bc922f169873ccf566ba274fb2fdfb3107704da241e60e6f74aacc7a5b9d232c69f906e93fb9bb0f5c7ceefc01075b3685d02842fe93fad83652f3869ac3e17f7032244c6b05c6f564e3b9357033fa67d2b012df0c6656160a1d8d243c6b2e7b36a7b6429503044ec2c45ec8e28f834e38d0c4c6f718f2eea453b892ce240d16cd67e065e3ca97a6ac04893095dbf0172184600a92b1f09c2e3b39d67f1cc3edfec42eb0da6c708784cd3b3095ad9aa3584016313024ea0df62120caac61631229ee2dd97960f75752b25099aa478275cfbb3d304d9654ceb3e7b8b217ef0e3ef4d950d32f130cb063d346f2f1b958b216a3f7c87a11c79eed774dd11edff9499e08d8d73872dc02914f3fa3f9b83859ca3293df0498792a84dfce0c1434cda887e5f0ccf8c12a7f5c500f3af6449a894061c7ba1916110a426a4ea02685303e5033711bc8c24f27816968edc90623af7cf7f3bf6d1e1b17322ffe6f7eb0452bc1c9334ab2789953934718cc2d178894349d942a83a27c01c7953a77f6fa4becc9907b8e5d6fb9393d0eb8bc634f17cea80180fc9ec930c9423652554cf212c863be21835ac9d67537967089d4e6a8fad0f7e6c9ea37aeb0f8d4e6ebe9ae38014d2c65706dbd27d5f087b2899be7c4e4e403120ae19a573edb9ac023a323ac55344964222c70ff18ac598c6caedc72dcf54d832085427162379002664a63f2da0d29f1b99e956faf87e3887303e65c75bfb0cf2cbfb99a5289b012f66c34ee64f500ef14dc3047a7cf3809244eb0628dd133eada103c58f451d4788da09e648b13cb822486c494d87a18723b17ecc8b21c126f61dd639e33bf0123e60646f0bab95b9e4bbd93d288a41b8f4435e94697b66d7294d72be7d4ffd2f4f7c368d33e43825e97c038a57b1ebffe14155148f9f38dcbd1c49891c432d3263efd36b8a0bc5e1716a00d7c4b8a83923c704c708a8e662708ae2b99c2819f80ef55f6270a669883bc586c33d1f04d9ec7ae09c337ab8514472315a54dcde787fcfbd4c01fcf354c47ddca6866e47f811469a04b15f7f10ecfaecac11b4cf287b9f7f46f0efe5c330a2fbc7c42c23545184667a80265dabf0f8cdfdfa9e62c3803a1eaf308ff52bcdc55b41b45ec50ac2bf2a8f30f2658e355f60d844ceb74e36abc2907293c7021d68cc9eccff4f8ac49ad44283621b79f7b48e5cc7c7fcfe5c62dda7482e65e413b3457234deeb86430ccbc49cf4b6cb3f973994c24350540b0a124b8da7c770a56ac1ec3b75fa52b02755c84636c881803a43bf1dc72d2230655de6e0d0f7e454f8483838034328eb6da8e0b262ea644271aefe0e25e17183abfa113f61eb0bc6f28331b8dec3889395dda1eabc6dd491fcffc7d19314f98cca0e6724476cb96b7b1561fd53a52c141e268d8ce0d73797399e5739c1e9338db6ec41b510656c1d48a23b0cd91b951cdfde6629be1948e70308a6a721a344b7280f07081cf5a1fe0cdb43df49e21bba2457bc72766b39b37492e8b82c0035bf135064b7a259fd085b5e75d7a9ccef533cbaa8b3943f636e300df8454accc9084037d1e31f6922f8f68151a262dd48ed2dd5b40e4ce748cc8166e4131dbfb8a6480e1533bf41b8d69e959f3393c3571bcaee99c4c9ae2da222392e3bf4038968c2f63443dc4256f76356108179b50d81e83e1820bc989092530a6c2f0003bc9b6ee14078fd3a5d827c5a0881dde948b11e51db8df74418d62d5eb0cc573ef6db2a42aa880501f8587d64a00f047f16e1d1a8b2c875cb6b505eaa520f4f5a3b41cbd5c1176f3222513b8106d9a593307b9ce42c4de62c082a55cbabab8cedbd6c4146b2c2c64f3a4c614bf796a2de6ebdbf9ade594f5d3e5bbdd4ec7e2b93b38a581fe51cee0619224945b411f0adf8f8545d1fbc6b2fccd3baae625c1de80bcbe774f7a2ea621730c8a7ff2be41c848ed5b25f7655fe724c9e75cd8b2f37207ee267f746d4c3dab36b14d3c36c848cad1f87a88bf9cd4180426684db569dde6bc912879a21f895f95a72e6160b8da71836d3362ac3d24d8574af68ef34dd62e28db5d3c61ba55881f1b00bdbc0d952aa82642aac0fdc601ba1bf117ac2e4032777958fc5377e74eeffbd5333a5d2c33b23a2f48974f1eb47c8e8fe399ee88865bb6dd256f919c3b954969fd5d625c8d0cebf61a0911bc235422eb72f1424bc01006aa6c24d07022533f4a5ba7511537f3ad022b42c6de0f2858b31ee14b7882e46e962b7a298e78a438d851b3e142e5bcb824c3693dd3b73c60cb8b1715b3f008a42f3d59b23393c30cb667a6c928fdb4d6fdd0210e90e1f77aa7adc180b1e1a5c946adc6dba16336d280360a4e481d348ebeebe9eaa7756759d20a8f78f82e8a921b497eaad8acb886ae18a02752258fc895b6cbb35e4cf8660112921f58593f5ccf2e38eddb5968409413e1d4fc0d6071617c4b244e081c5851f64c6c84d38a123cf5715109a0f9ca39384d3f231c48ee74bb1c71644212fba4b2226478b999329eb8d3205585cce5c20186eee6f2dac981421dd14b2fb1c724b2efab15292fcb79f1907ede1706f0d32b571b0814ea7155d9059d9a9147e479ebe5a2af24f184882707aa394f0faa5cd194843c39ddf7b12f597e8419af44d73c65375e50febf016ea21aa3421d919e520b0448113cadaff819f43a543a10d33aa790b7b0efee2a33986be4e68cfd77efcea6297b72188a1b26d7650ec75a06a1c148ad57150341d09ddd0cda99d987a63cff5ecbeb1349972ac49539b3d29ba20c2263ed771d97aa878eb1f64435952c39befd4e0e9bf0ac5b3c9c20bbd6dc9fd04e618514a1500e2b79b0a9b968c92dc138f0ca7d3c7af3f6faf44bed1462824ca85ba52dcc89b895ff170572957fdc270da4a6374204ac43ecc9e0b3318aed9f293c3a2939c2711cf2b64f2c1f7d10093b0aab245c4b2f433245bebadc88c538092e5f3d187c473f26dbd889a41a64131a207e4aaf0cec6156039592bc33df974d9eccc69bd68429186a301cbcadf231915276981cfdf10bbd363c23f05d2fd396b6169211f9276f334ba498d878a8a1a815a9e53b544686ce649cb01dde63180e9ded28a0010e977ac72dbbceff10d5e55bea10695f4d300da5cb49fa9b6eb760ebd9640d591e17901ae9ad381da753134871bda9eefc498e5a499bb47af571537f477b817d773a8f0a22c83c01aabcef79eb740805530097733080b1f9184a3c5c78985e63f4a74541369c58b20826dcd0cea1d5538384729f4d32b6a8faa46ec08534e93d1e315a01537b156401ccd440323ae2893518d403f71d716d9807d79aa34d2210dbe51400dd9d0d2a948bea5d744d78eaf41e02bbdc8af666fcbafc9e49adde4f8771f57d33c5df43474fa167bd140b1cdb14179a8388021ca048f9b948ae91d765e92b4d27c6780b7b74f1d11a85df9b7602db60f03c8d788af4b2e0828631eb72e3a6266a62f2d530b7724c3f621dbfa488661820d315440561bacace3aa71eaae9c996e48e083c8243b009ebc71d78b27bc8ebb95a88e852071dc700f68fc4a49293071f7ba578140a07e8aa8d267a156f037f9bc9be7429a845ba2532eed72d6f4b2435d2e7aff6dadada4059fe990a4d2ef2edd73d9d10d43363911c2ede25aa41431d49cb27a87f5e70ec4e05e53bd26dd5ccf9c28bdd2080f2e75c599e553633c11302699739477ccb3c4ab9549afe8712740f82cbb7407642b91368b426dca2425e67c7f2098ceaf252040cb913e7d6eca88468e83fa92e8aa78907f06c458bb9cca0a7f5ee7e833d6328b642ab68776ff24eb44f8300921ddb741b76e9bf318009d6df27d96736237b6f0ef53837f7990aea6d128d85b9a5193072f4da283567d3df408debc8444fca1269962c4d71a58f52d57bbad32a93120c4f534da1f55a3723b7a3efd500c081553054d601f17eb4f9238c13d9d934c4f4adc51cb2e1bbec3ac67b5a2f0bbc371a2252971c33be19d5d8c35c80c8177921345160116128296ac039038c22b732dd69d6304aa1fed8abe537112fb4bf2715d36c7a7bdc5a837a76275c3a1fe42a03040d0127167fca9a69c578658d9b9fdcd3d6fab0ee0ded18aad2009444e3197a64d2c36ef7828dc3fd02e58ced15029c60d1e392963b35731e362c0961e7868a2dbcc07fd15a882693ef4b89c05f4c1c782e3221a361f9006ba81a12c9efb9d3449bc42a84d1c0add520c49e0f55881104830c283cef1a384df291f96b7f58971250fe101aee4cb903979fbb0fe16627c28fbd0c5ed3fd4c3a734c56346e82a509dba105d2d2b925470492e2cfbd21ddbf337293502e83d2b065148ca68f4a8b6f76128589981edea1cca9811f5b45a04706cbcc0ef8fd9bd6846d901c42088e4edfba22131d83fa1b41715bdb5b0e0243bb1bdea937dee2806c7a752f9e4210f319a2714fbd6d6d320c2ca6cfe7968bc6baae0d81ba7222ee5ca67c7c8d4fa8a784d953cf9e7b451a70e48a9279249f5c384181248dc43f735a19a242c343c02a46698713d2749920d190566f4b77684448e7fcc257a5385673cf05c8e0e9ba70b771015450056586005d2ac13b13ffc4043f7961effae2e9502431aba9598754961c94a6898642a487404851d135aae534aac633b82c6b02415ea71ef03acfe7fa552ac58f4a56b4cec06ed8001bb6fc21901e255c43dbeff11246b8f43c99ea00b63fb19e89b46c58569d9c220ef1bba0e98a0c0603c72ecc8f74342f6ac166c30c0fa74253ffc20b3280effe68ef2350d9de06dbb5d8ec8f8f0e8dadd1c0ba42fc74d2b1249760c24db6c52094d6ac7bbf9f54228fb89aee65c27dd9d78651c67f16fae9018245cfd4ae198943ef9bf264bc88fc1db543d5cab5a292731e201b7f03a5af39cc37e670317601bdf233153df077aa766f5671e878431de570298ddc5d8a4916a900df3cdb42d89f6f8a05f663780a6f57837736c03b878eeb31c86d124d9879475c141774eadd46ac26b39d6486898eadd52c28e3a570baf2eefe2a888882139f6f2cf82516418b33be286c6249cafeaa4fa19c2e11d759e74c3a7f5e788735a2c81b2b4e0525354d2f61f596fba29c951fb89faff0ee0b770596936097a228c69fd70d0fc56279607862869f1ecc055728d4d1b10d3b696ad3de8b03085023c0dd4a32033316c140ebff59ed5880ae0c03dc2ec5ba301180cd0dfcaad2ddc76bb575c5cecd1a474670e182035f8ee911983e4119bf2676c64d95f29c6e1681fd2d25030d0c2ab6cb8606e4c9c2db4f2b91e9aabca7dd46e8410d98343b73a39ff9b9f2a8a719ab15487fe569d723e4f9e1579f3795346bce2d2933bd40a6b8f615c1fe7dc08b9ff3d8d37d14f0cc14da4bd2f0dee4fc2184b6093edab79dc1af896c7e8efa90830b6056e4baafd9800d6f4a18c34c81615dd82de9fcb6e6b15f353a2df0680ebf06bc8239179ec372ff5e4e41b7236ea40c0fba492ee819acde43d8504bbc5af5d09ee3cae658e14c51d3fe064140356b433a98c47840737c5df0fb14eaaf00d0ea8adef124edc5a3e0d6e58c2ba97b2afc080fff36b70bd9ee529b1d254d08220397fa4f0dafb5808bac1e8d19ed2d6909f675637b518278ad225f01fea4ec49986409d4b1547c5303b7815898d0382f74e694390c9326799285b6ee8f90bf66acd9b27e515e9247b78f46c87264ddd858684684fd63762f68bc9b1414349ce70bdde8753bdead64e08a9a51b39ed8c6672efb1ae56f3438f75959a1f7bacb62fa6efd547d0f29532507f0a565c7a282715922a51b9957b25f59bf8d0ab615aad3aa40c8dba95e3dc0c5bc9cc433fcac4bd8c32b15eab64b5d71a1afd4d9056263f7a5522ee459489f45aa544bd5699482f3a4a8bff9361812eb2d40baa460cd8cc51db087ad3d0b611a3ca0139bcbe302e57e081ae54a8440a78802a2109e081f5f1af2c7f046f5377cdaf7795c9f23d1fdd4f8cb03e44106f7b6dcdbaa188e5bd119a0f5f985f050edbfe4b66d4fe4834c091af18c1b7455c11d565f8998d0649d02270fb1b50f2cad66a2c2ff8aa729c0ca78308e9fd6faaa8b7cfbdeec74a22d461dc95fd646e50a84d1aabc1408595e75a2abcf811b0c87a4beed8a69fe877dc6926f7189453d6259422f8ea0df7889853604010f74b1423936bbf12e14b9c748f69b551b29abe7f2ccacb50163308bd364475209df8847a327563d5a5d6c2aa2d524ce7d3387399c00a894855c4215e6cfa006a46a8204632e3d4d9d37a48698fea0393fb2dec208217818204b928a5c51e9fa2d562ada8203c66feafa0a7ed920863e10544069a5a2029d370050192661ae481a337684d5f5a1a5b10bddd1bf94a6f383d98439da39598613bcf285acb32529154561545a967312802256b70d133d1cffae60aba18981519e405a1a7ada04028e8fc313103c5ca783001d4eaf925a6c6cf0f6cb539bfa7ab6dfb99444dcaaf4ab56cfde3fcb9ebdc049faa45250f2cf689abd5db1bd498badfeb7c61b4c8448df5c7ba8cf6c1e8851e3f8a1dadf3319951968fc04647787c35baf2d1b451018fb58c26fcc84c0bb76d9bffa62ff1314fe2d92d19f9d6fb9a1c48a2a2f93e119ff2e2609e09aa4cd102823c4efb26e4355a2390c5d356819c9a96656450b40321bf4abb886c785af95c9ad171dd45abefb4559bb3d257d659256e5923998bfa2a96c71e49e3e38447b36e03f97d7afbc1f72db60dbc0bdfaef73dad6dbe77a06f4fbfbfbcbdedddc86da9f70a6f67c50828e62fdb3e66e9563143e91a69977750b900576ac0ecc8bd9136eb8fbf3b76f80309e0b730bc807d0bb105e4b1004a00b6854f05d8b2d04200750b0c054cb5b04840700b790260b7802fe02b75c9fcb3022efc8f066d22923330c19f4c01dc1bd7b8be939bb86adb7c2f9250dee2887ea82d6887cb137f77d8ea44e30ee24ff0ef987d62cf8e5027b277407a026bc78b13b6ef687882ea0e462786efd83b11fb8efc1350816ee6b73db1e87d302917f18c8109fe640afca46f1d73d972d35e462eca9ed2e1e82e841013f6606630590726249374302033c106f382892d601a30a10a862193e160f699c402269f09283058997c06630b939660a8409701a27ff600749918ac5609df6907d731eb5cbf5a7fdec5f12c4b98c21bd170a1b729db65e0990d7142154a8b035021e4387f0ad93a4e632162e2f0159a1d675fa1d071b20b411e07abd0cb38b6156a18874a2186718617da8f134ba197baa2695b71ced8c8a00492e30635a67e7c80fbf67d3948403f897dd8f3d136d53ff61f04dcfc3a74d8f99173874e1d3e3fececd0b9c3678e9d1d74faf8dca153c7cedda7d18d0d025356f4e0055acf26e12db271c052e9ca97fee858b04e4bd08ec507cb7d5cbaa334fb65fe602a49a927644ada57dc10efdbdaa3c2c151b93ac5b9de333820e0ed610ad24b74309d7f29c9847addb0fdff46faa1cc2df062889fb87ee636925fe7a33ef1e3484ee6e8efab7400f5a4d66c03bc8d6a8882bdae023e4682ef6b9ec12c141fa4b6735be8312f8a9728d80f74dfa2f26930bfcff6e1f3ef94303e2c13b4b8b6ddf935d09c0f510f4bf3a29a5bc493c398b98afef8e3ce66fa5c987edd33e60d5a59dbd00a46d2e0bc29598108949b48cdc0389c64c0f879535a549d85fc2a1fb1ba0597a0358b5189e391d33d990e3d21ebaed67d0753ede0600ab72e9a6a79e260fb7e5e80e875e7d458071d66806e4067d9110cc2850f6684c74d4e488ce74391208e577c20a18ce332b107a59956e389edc8afe8e1d882bb777121e43724d6411c7b29dff809e515330271a83c4048e2e6132875ccc187e6906b385e421aae0069fb2132f9c55291325f5ddd0dbf5a55e3e01dedce6d6dcc38491f0f365216a46cfbc5c4e65a631d035a094e14d2d6d918c937b86ba1599ec6961c46c40731d21f2b9e3108335bd4db76751a3437d24c51601ebda7185d159289a476bc03da98294a730fe8444bf3274d3169b36d2f028a857714647acc92e6b9dccdc41266e8341e83a61aa2e5d910e1fc817cc2026dcf4826cdd9a3352e6f0e405a07825f1cf1c0924f50c6e4864e45987eeb2e7c1e66ec93c30ee7456d3fe972451b912be7f33f967297e9dd46ceefbab9742711cb80fb2a545b933c8eb06438378231a226575178139fb1f96ad3e450829ee516b8c0263c3a6efd216e0a0e5ad300aa48a3812d582862bbc270d07eb058d1123b0850a5e4b105ed022261e19c89d35e2483c878e2e7055f31d026c4dc335ac2022fb77b8347bdd3cec30555febd16b7bb26e4a9567f0bfb4d92ada536385a444e63aee3b87b590c65b68aff1469896588d8667e545b8deac66db3fae4801bcbcc3937d39a9c981c7fc9aacd8d0f14c24ce07e82b70fe7776e64f95f357eacbcbc3c78f54514dba30b07bc68ee750cc9abde02263ffd193e6dec477bed4fc249a30df748f45f71581e913c13fee81213ecb5ef9537a3a8cf6dc7641b70edc388f1b810902039fa4c05cec2609ec6a7028d589c58efafdd62b978fbe3582e194b25109cde6e421a3e81c33a1101e470124b82b9345a75443cf515f9ad2164c6ef4f08e516948bbe396d9de762d62df5ac54d4df38628b01079721e1ff5d26b2efdb187392bb52a245c4dfaa8bfea56023f044af732d556e4078244b55c3a35dfadd6ec927aa968a030bb2168ea2e33e6d1336b8964068b7c66adb823574351205e8adaf655bad0fe0c9eaa9d278111a533b2665b3957b492f2812bf8e7fe71befb52203546a79d5e8041a983e77633e3d862d7f1a6cf43e8d7a6e27b86d21f578d8a7009f522eb9587de0036ec9f1cc9a708278f4708be2cc891a2f2f33a1ea0a2c53c1fc0a471d5de3dfda7e436a0a876619e57991dc725823f093b729042b2ee79d51bf2716394c3f599d823df613b6c29e17eda27bd17c7e1f20252fa1bcdf502fe12637639be5fc0a9e4d5c465f92b6f95d5972573f44aff632b587178c6f6184f1f1b6ba99a9d91a7113ba96b750e4b29b7e0e2dc22c051f1629b86c303064410457991e35c7b93824d3ee00a75a098b46b5f2baeb6b3d4dbc60c31a97ac35257b5dd097c97bbf4171607ae35f9cd8fb74fcca1a7d0bf32411596200e5d4dd43a7ae6f9a6a99ac0f9d3ac6f9e0e36b13e3485a43c7b7ca19190ed598b4bb8e0ff6f53c77d59abe1f91b992f857566830800290353006db7b600ed7db09e564e4effce604a94e06eb5b3d7da8649869c5589b64eea0a802cb845463fe02071d482a09e77cfac54b9d09e7a276d08f26b28beb5e47e89146e74c7de00740847c45310981df3747b465c86d4d21f493a2c0c23107eee4070d57e51f5d48f50b15ec880f7f34ac4125c2a706837bc9be9fd0b2fc203a100d8806a203d04068207a100d4403a1071f9dcf3f41152f27a76dae9f9151bc1610c8c66c0a1756e4d17fa2039eb7456f03bb4891e82db757fc70578e7d7e6532cde8ffbf8549827e0b4d7d8403c0cdbde6feeb1d3dea343cfd4d21b0d6f291021328a62529b0113bf3f592c74aab7aafe117f4d6303e526002c55a5ae036fc5e6f23cea702a4022bdbb844a0062e5ac40e3ce2f74653949e20ca17d8386e5b45f91c3d1572ab8528b47e5569c701d253ced1ffb03e3e87681918f34e35c78044ae0fc39eb6e0bc2407411b81c807a1ba5206e9f6bd63401bb1e58150b6e63ccaeb745f59f61453a06f23b639a6942ba5200fbf15bda82408dff8a81588c80c31c203d9acde6d2098cb008e0bd23b53b2f6e585ddd7bee1a2e5055ee3291dab1a8212c128d05998b107005fcd2194552e9ebe3d3079621cb1e2aa553c0cdb6eb16ed6fad9fac1c41ec25713c52e170d7f19d4cd2d5cf86a0ed06d68c433e1fa1c51921ffabc2f093ba3d62fb9f51c60813231b044958388b1e555e5af2e9d2d0a2a5b96e75fb18e91a4d0cb70015b66f2070c8b6b62c034fdae8597784ba51b9c88810758f239f299ac5c04eef2477d3125c582ade5595d192f6180ab354cfa1e9d25e58332a237cc58b5925c23de99107aa394786dc4ed0836815b559bbf834675fd4237471b51c676d693870846de2a2df924b3136e7aa16141041500b5cef9dea5f889eeb1e0b6c9868fdab8ff4e91a3724d68b92063ffd7845730643baea8eb0116da7d98c4e2378692d59a93dceec1ff632e344f93567715c84eb0d26aee10d2151650a49fed61a5d5dc21a42bbc0501166c4fef2223b5f23ffe822b61478d5d26da1a139059c96930119441b64e3d8acb31981d561c8aa7b23143dde4a301f0b2c1e7a23728a7a32186b0e7f0673a2d314a9919e5669959660b995f1254ef0f7ed6a5681987de7a6e3bb79cdb52ba0379e26c950721db12c46a7d25182ab4109a9dc567caa21102783d3cc3fd37ebfa495eb42aba2bd3a1e317022f286d824fdea95c903e415c8904c6458d7f1f0a9c8d1d9331d7188391289a878f0d76cd319b8995ac96064ca8a46d98d96d0294a7cba7ed1586988bdc3c289222872f144ad409cff51d9035b7a4a3eab033b777eab531cc7e4c46a092050bf847d99c0606e9d3f8b7e9b2ee11a1c67859aac8b6baa8351f46adea74156a2ec0555274cf5ed56201ecd5efc0749424659c9b79d7f365907a137fea63743d4ef0443f2c4ff0c0ff652e1d38613b4e22fecb5940d67e8957928bfdd69070d32cb6f11f114bab3d3c3f3cf2540f0a3ea0e915d651b2411369d0903fcc35f5003a6c17c1742d9de99ed8335e337947dc39fd6c765d621a88028b76a27d02ccf15fd1a60d3c3fce4f7a911c716b7f2920a7d4bd80bde8989eb0da9c02c3d07f59aef5b246de23db5fdd09cc85abbeb34ef5a08b326400803faaed365241815580db7307f7776daf2699eb33836e908ccd538378b6b5f6c47cd34c7f4eac871cd02dd659c1ef991d0515a09f41252579db83c507c0778a7729aee67d3ca43abc62588114bfaab31e064536c5edf1a6aa3fbbeb04ed2c816607ea94fe6d3844314630b0e73519cfacefe90c40500cf40f8dcf12e056fd4e7cf8bf9c7ecc5da7ab63e79b49259f849ca6201c94bb791b6df942b11a7a76791623f025b581395d0d4162de174cca66a5488eaee79b66470f14db5e766c5a0a194171d3e033bf0fb820695ac5fb84a00903311cd2448822b855e44701366a9419182bac17c49cc05e407e260b1c21ba9efb288829be4e06722ce4c1c67625660b5580177ab8be9b387c63a3c43faa0e58b8e5dba920c61b862eeaabd215f9eb59abb1c9299dd9613c9c424f446b428b72814275962273e1aa2a4a84de89dda8cf7b4f9ab09575c294dabfbec374dd658268b715ecc9ec6ba5247afd6c65ff1835383c9b6558ded5621f78177fd679822a336ff3c4f078cf45e3f464ac37ff554d40f59e46d8777c06f2834850e96c5d3110a0265ba7c2d7d1cc915062dc392d4f90d59600ab940ce9416a7ec61d0880bc645a91eef1c7591a003dfde2f590e43326257ea93b59187faa4289842b7877b5f8a1c145c7f433850932c915ac1c830275e7b7d8263458a562e1de4dd15f1051f723c7975c481f7f94d7f29dfa5de5693365f69d95c0124c1ecc5ade06d58bc55c1cb2b09142dd39f0aa0ad71d0a45f2a0c2fd3a6f39039e702c7ff219f685f766f7a85c50292327149c784667a7a103bec66606dd05e6917a00b4ce08ef3c7a101088c83c0cf106c87b1323fc41289171661f1f2d89ff3a05fb07af343d9cb29caccface733acbee44fafe5a97456cb8291071af2135f5ca5a9419d7964866e2ad3b4cae214f5701c57d0b6e43df09582a3c868bbcc8aef857be33a88b953a434d443713ffb3968c60a3da561d36e088a7dd2e9e73079af1a28a1e98fd9a6a4079f091d7a1e5871095dda739f96205a98cfa43e7bbeb9080eb3798a3d112c150d45c88604f207e9f855448a2038359e452c817875bd8b688fca6f1b226a740efc58ca3a81195f089aa0f5b47662a94d262b2014222a1511f4e7e8b5f90798d075214c9ae214e5d0a3a17d36a34421d048e253116b3c440dcdc610c9191f7b8825f8c8c8d03fdc380b710c267ac4213b000b712a5a887bb0b9cc8e4aae425634a7e18ed43d2174000a4885e849275e0b11bb8789d8c0179e057f907336118975acf4e4dae45f6fd0b5d22e8cd3726a9774bb83f8a111f9cfa325622e7d790c344153a3fcfc95c7df3e50c4fcde60c2b046246a35c236c89ffab28fddd9ed43279db46ce174475034a41ef2322f5ad2b21aea4fe2ce7ec4f4d38394b2a779e1c84ec6a88dbb6ab0a67a4ef40e087d0bc6b9f4b437c0d6453cfad3fd79fac5c96d630b219719c77c59f26a301e6018b3ab99b60b96bf771dd94b0abc2b344ff7cf823b535bcdd51cdc1318274fef5ec7e7724a2ae0f3bfa91cae9ccfb9b3e08e4a099d0e056730fb2aa04a4e5f9945c5e6ed62518bc30466ae3ba5721e26774ad57afe87449a85eee3cd1c69257f25b4babbcc4ab6804f3ef6b3fb891c2c4a84d478f675d574a7186d8c6420b5e31edcee8b05fe4da0cc0d7e9ae66b1f6ad9fed012cc4f6d02f31bdf73a6459161603cdd404820c6696cc473e6d62a2c407b3c66192532e43c266025bb2086eaeb5d21a5d9d42c02dd73f263f83751c5107908ab14879f70b10fe0180e313da547ca68b44bf124df4b9ebf65d9a000a991e12a627cfe4d104c665cc3e1c79de2d701933274574f754fb018e9dea7108e36749d1422f0846f0a2d031c334d032854ffd26d2c8b93c11d31ac4ff61415926c1d55e9fc291fe48d87535ac9059aa00444d3d00ff30b06472d0270302148c1ba51f8273af5b28dfe8f04116af8d18b90e4738d2f2302e02640a1e53e1552f35e50322344c812685e69a9ab2cf97005ee51debd281f38dddb6aa93d6845f18aaa2f106b26b92e33257c8011a27a0a3848bdaa975a42a02a53e89959561818ca2c49bbf9573ca9b76b5d5d8d44be68e64621eed1ef1014d83fae5a28fca0e021753c2f742c6bc0bc66dd2b2691494159b8850d3b18fee5a6a4e8814a2c20571c576b4e2b688b7a158c7fceac2a96205ce8fcb1f106608bdbbbbf0879edd6e33fcb583d57ce88a9de3464e88d0714d0bccf0227c1f97d03375745bac29f293c242315a3294df34b9c66ea14a66000d9a86a5c0115e806337043c10b7a364a036ac218911c38d4768930bed32e28bc0296c1d50137fdd7ee760120f645ee27976fe6a02bf7231eb7f9ddc3f7227b3e275f41955c33dae6e297c92a9180807a97d323d82540ac3e67a0cc7d1d83547dd397bbfa34fd37daa14da08273970c9e22a1e970525bd3f0ee8acc0cd4a5bed821c2cddaddc03a38f1a5d0292a1f974376c5064c03475540c3f7c14312f6cd3f41f19ffaa133fc530a979c9e70fe78830b31d9470b14ca72ae404d22e488edfbc503543edf98e93aca24491bd87867f3dfd607521256787ea64a0d0a295f56237542c44d7ab5d5756249739ce033a379da48281167ffcdf497f75ac298dc49804434834bf127228d484e88d65137113476a094f033b89ab403b6cbbc3b9ed1937f0933571afc2892ca2fb109478bd282c1b10afa0851993361568ad14fb6f09e9d4c01efc30cd38bd3660c43064ad61b0ca5784a0b3ab4646fbbd2fe0b2681c153cf805617ee97a303c59c95a59469408c7eb00959b556fae64c2d6ad2e7f6fabb4f83ce08f9d41c5ff43dcc4935b01f1b6ded84a4d0884879679fdf29447bdb88453c327d7339b869b9623affaa202b1ea0bcada5c0fa64b3035c645e0defc8b43e65a81caffcdd5cb7e61638857ea8a8cd42ce591bf9a0ca54304a3a386ce93321685dbb72d1d5f0fa3e73873284305446a3951ae281c027bffd16f54ff10a2e2eeab79004a3b0c9ee4037d008a7fc05b5d088b62d86275fe9dd0fbd3afafd07f4164ed5ddf508a50a834c2925a6a9cd14660f51489e3b375105b9ee7ee10a19d092cdffc07d3deec000031313b72a9eb95135a52cbd61d4082bd13cb064572278aaec1477a614c320b97b36e801488b5d594f473a49ce2a80025a3a81cf883da095150816797c3e5f5586fd810e6998b16d4c9475ef7ec31f82b20d7c403d6c4c3d6f67914c4cae9753c5b49465a192b74568c54ac890d331145ca5f2d01e332dc522828d7296fe30085ac8594e983c7e63412e725e6c77469c81c212917e1f0d01f41676850dd7786aa884230023f58581fe9ce4902e18e710fc8c2184e8faf638e6c4dd193d6871d18708f591b034ff29761fae7b13cf43c82f24a61790fd4572927606d9643a186ac2a78b11e247befdde793e74def31fd3f9146c4e6960fc67cc8f67edb763c23307faf5ec44436b6cc791009725ec9b542c0d73698db6c18507dada745bab79e6f41225c7d6a45511dfb32f2a485f1c0d8a5f38c49afff5e5c04a955a1976f1140db807661174b125da94fd70239dae14fbe973cbaae9550650c1c72d1b3e5f71548d5fdc7fe6f4e5aff8f695cc69baa816544fdb7f2f01d481f1f79d721f06e4e0de9202d99a8b82d1a51ee90aa1fb13e7d735f7046e3ff716df813226762e91eef90e1b7ac57d1d32a4907eab889c293d9327f5177b7ec001af661648554d808bfd30d3235a2291482fe81ca8be20c0319a2a35b877427f25f9dd93819bbb3477bb52dcf81a4d1cffec67824f1a0b9306fc4f76191de5c48da83a7277e5016366448105395367abf46a8ba9599adb994ba3a00b40f5163bc1a3d83dd167a278d354971398024a93db0ff0b3a635b59cd0803a2c0821607300659aa9e3b438bd2f3413a6372574478347456036cc37c5eea84cf735a0dbc861edd0506685554b376d5030634fd14c0ebcf8f6e45107f975b9a9d13e1f56cb02f2333c3f3506fa226582beaadedf5950b23552f68daceb8a059a5e2deb3d9238aac379ea3b8b1fa9a4797aa989b14173699bf1c8766dc9d09051e5d48f2a3ab6c9985de3874304f9f89ad2bfda49fdde8952a36d6efd654d35e0a4b03d3c6ea7c2bc4566060f5a96df49f34fcaefce1897cf8a1704377decd5b38cee75ea331361c4b1f1265b3de8b58ac189d6622946f263a553ccb0607d0b31e8b07226f72689f8ce4f503f32e00e502f84e2c30f85cbb662264253721c0e31950c1d8997fad4de787eb907a377802a1c36cec9e4f823a805b6d2822231ab77f4d61674c0c5e4c8b38e2692f5a4930eac968656dd767d8d4ad3789d95ae0ea3ca5a808a16abb880db506b0014241d8441d552fb4859323e13758ac0274931f3d7cc4e3798e94832359f63a96f028e6f64330df6bf448f45625829e905c759004de805acd4b8e4f322b9e6e09f02effb89321d89767ffc461124718c863da2dd4159694a8045f0c7d0feb31427dab096d6fe71b15d4ca37f93ea5185c6a95a20b70d0eccd34cfc950157aab2d1ff428bf7d71f9926a109e3f326dd6d2769f443a1bf4b737a1bec45d6a8f816effd172e5cc1dbaeeda4091396d6f2a9a0cfd7b7f102111be5efa64370e60a5ae9704f83ac963edd182715690eae6b919e0331c75d6347e386da9a10e180832ef47fbf2b58c0ea5e9c28e8702b44980b64b2a3ef9937d4a10618633638cec560ebd51d8d05230bb20956459ae8c7ace440c1448e893b1c57ece6475d040dfc73044d798e827ed5729ab2874d7c4a1f49a882de24218137283915ab06f901cc4ad8686b743538b14a88a632928320bf5c373b70840a2b88878d051ad9aa0e25faa5e61f900c42582cbaf3a85c87ca31951a570d9dd2c86c32478111e8f9df214ced501f73feb505c393620e739a383808a539cc465e955f26c4f8fe2f80e090a672b19760197712f2de1f39b0f406d480b39fd9fb4ed1c5c37a83df979f6f81faec1ce6298a0724a8fe4fcf817891b8cb662f5fe47fb05748a424ff8bca01557e5c95bff55654abf16fc87dc94e514781dc49303f5c4ca9269bac7d62b95e035c4ce481e15e95572f41413b2f10f1a6c7b2060c3d0c800f32e583c652ba66a9f3d39255c8e7fd1c0088f4e257d3bd3ff22477bd2bb7d19041d21517fd51c6b396f9a632d2e8c31e7335183ce04c3919b44f00c4d39011a556bd2f4a7cfd9db0f6897bd74cfed7d7729b1340eb46294cf531f24cb65dc328b6e9173a60348e10459232c5bcf21a0e36d2df7c27f6e4ba428a314d5907e611679b88f7e0ecbc504da79a3fbc581588535fd3e91ea55f0bcf295c9bba835d3b865f0432f20513fe5fb16a949c7509690137f445d41803fda5432f50849987e6f307bab0dd1fd3c364221206a366a77595f15819b1561fddcbff2355992bf510426e1e2d7805cd1cd8903811f664e75d81f194a328338e2d949bd3bad73d2a9ba593148df94fb4c076127e33950e1262dee79159ab183937f44aaa43d0ef279083c1c350812aa65e94d58b53517f271496428ec88a0a26e07737e5fe04518e9fe3d9532a53c0d53fabc3b593eaed56803b793605e43ef0ad29ec420bb9e936361da4644762a1aedb0799584a0ae5a8275ae427c7b3ce877443cafc4008e307491412a9d5de872942b528d4f52dc1b06c918782f463fdd1941036a16ee8abab451532cde3c39726be0528a95e08c4261df019cc1aa5939e720a0487823c81c42053ecd7b3d0a8f70166b74e40ccccbe16298d68712dc62c7cf51ee0e4b0b2b9e62f9f533b4c4189a5b59077fea0aeba9ce23040351203c40a0183c589797ef7fcb72d0cc462a30e57cc6aed11e7f1d4ca59f4fcaa79a36c29111e9ad9d6e2ce8b804d7cef05d7b53836039fee060cb4f29b6a910043631858c4b2b9f2a24ae6ad7f1efb5d2287c54b1e69e9ec00c866b341c0e6df455ccccd643a0eb3836e2486d53b0c0017515d6bed3bb75f4919ea4593fe8210f3284bb6f8536c6ef10f140e0965439f98ff21c74fcb966d4279497dc2f48dddc75cedc120400e72a9e84e28ee1daf7ae2e167088838e5cee75b0c02890e3c48fff7e6e1cd8395607743eb29dfb912ba305d2d07fecf4e36303a2111f4fee5a161ba0cde563efe9fc0061d52f4db1c730eff047d24ee57e3ddb909fe717317776ca0b9d1dfe58e2548b7d1dbd576ac20b9d1dbe18e3d08377abbb96305e146df2e77aca0b9d1dfc11d2b2837fa76b96307cd8dde2e776c41b9d1dbf9766c41b18dde2e776c41b9d1bfcb1d3b086ef476b9630dc28dde6eeed841b9d1b7cb1d2b686ef4776a3f3108ac4802aa8a854e5a409851691b7d9ab951aad03054403dd8b46e9c1c8e02d6dea6b88559d6b00390d272b2c9118701d8137cb9bd3c0b9043fb0eb0eff87f57fbd3778b9a4f8d89cf8ce8f01b8265c87e6faaabfce5ebbf9b849a8858afeceeeede019e04ab0402059ee76dd93fffee356e625149cefdef97e7dbe5f7fecfb4da567ebbd556abdf2e9e7bc1b6de100e5dd207c2c8974e206df9846c4b21bfb2334df2be39e79c73ce39e7fc24c6ed205a35368da4b997db4a9046d22c25f3330244c407e3f94a3e96effb3e2be2966952e41befb0e9e2980c62071c8dc3fe6ff86fce31ced95a6badb518633c37288816d59c41419488add65a6bad2d2a6badb5d6d25a6bad94524a29855a46c2aee9419a33bd3981a0c11482de68482f9ff620cec85e3e7dcd29c7b7cd6d1cc75d9b6fe89adff4317fcc9d2dc3806049e09ee12cbbaed5ae18e20c4ebfe47fb35f473c72fac72529a97ef8273883f4f00d50827125c7451059965d3b78e003395ce0681c668a7252fe2b2bf044734a2bb8a469fb71a53da53874e19c5a6badb54e4a29a59456120de9e17f00cec81e7e0e18437bd37771c7ca3f2c7d176da0110884f10cdc716e12f3a1716556dbca86a7b86dafd5b66bcf36e32ada109d325678b30d5d3467dbb093363502c2c8cf36ed418c91af6dfa036992bf325d5cf00da74ba649da4bd3ff676ec27827c21d4e193cdbd7effdf2bf5d3e6759b95495cdcb76f19769ebe0c1e6e4e25db2a49569c3d3b56de7b45ea16a6f179fb9788c07f309553aa58d30dfd04503c26c2f9aa4955cacf0caa60a01a4c15e7e258238837bf9d58d8ca15d5a2a1217259fd4e2caa6c469928b6985534a29a554ce39e79c33cb3afc017760be83445cfebf833f2fa5c7251863fc79ef179fb31d7b6523b7ed710eeeb4caf6edb95636db2adb35fb17eff2e233556537dfd065e11c48a3bd7c6c04a46179f9b8077146fcfc92ffcdfffeee5d947099ca66baf413cc7eb15f766967bee1e945e3f477a10ebbcaa4231e39edbf29fd731ddc62bb2dd53683680e3442059c4287d0091dca883f56d29c9f16cd3b1189776ff2f3c3de2e9fdfa5866ace9c89e3c5140fe55bbd85619c26995c5678a9b2a9bc50aeac52e93396652e2c315b9b0684d9de45e9da3f2b5b6faacabfe149dbf8c2aa159dd9eab79212d8f9862753a73996d65bc96622324949d94caadf28a3ea515448d5af6caeb2b2f2f9ff4d1b9e4a2b282a2adce67889b7b82d30c618637cefbdf75e6badb5d6d65a6bad95e39ca585c5f4627a715f6c8aa2288aa230c618637cefbdf75e6badb5d6ced45a6b65b16a48fca5dafb05e76cdb7758676f78cad9054cb5c26790a9f8cab6b8e2fb65e5051a8101e3de7befbdd65a6bad3580349d3a84d9fe656fefb2bd69fbd2f6700699aab4e169cf40038c6aef97127ff99597cf34944a9f6fb84107ac931e9eb8c4b9f7de7bafb5d65a6b61c55d6b91e89f8230db733b1463b6d7bb92a6ed5df6f62f7bfbd2de3ed750655a0d55d636ee1946a5eddbf30d15dff054daf0b46dff0d4f7956daae3dc7c833b3f3ad833b52da3ab02347ca607372f96c2b6dcbce37ff4c53fd76796dc7beb70b8fbebd8c3dfaf633a8d0a503d6b3df1b9e7ec393b6612f6d789a9ee7799e475114455114c618638cefbdf7de8bb5e5dd9b2cb77348d3f67a7f20c66c4fda1e8030dbbbe0f4ed4d3bfaf62b367d7bbeb7c7313333333333a3edd8b71dbb8cea93381208e9830c4118b640059431332b500ed6d19f88e77d4c44e6cf9c73ce39672c3e3333f3fafa02fabb98962df3dcd6ff7b9e6ed08459966559f65d4ccb8e796e67ff5b9e309e295fc378b4d75e7b4d6bd9333cb7b5ff1d4f95cdf672fb12b8c10d6e5b4cdfbe8ba1ae166f03a73a10463eb7b767d9a10e635f0fc2c8af615b1ab6ccae3f10467eccae3d208cfc1936350261e46f788261f9ccb2597c8e15cb56f92c2b963dfa3c2b969df299562c1be573ad58b6e8b3ad58b6c98598ba5ab0d48478340ca204239ddb822eecd91784a5690ebba0bcf7de7b6f505050505050d0f77ddff77d315b97c6c2b26d1ac6695286b1f06c5dd8b6719a94cdedf3f163e7fbbe5c5935dae75859568df65946223db4b6276d5f50ce483b761d36d024ff1bc23462e260d260baa0c39f40e0b98308fed14022231f64b2e1817be81c91ce7f2639e79c73ceeffbbeeffb3ccff33ccfbbb28d74615ba65d18a74953dbeebdf74a4dd3a20de3346946d35a24fa2ddb5cfb3ce9c224b98ddb360e46496546d23ccff33c8fb463973ed2473a413e410ab9b01ca5240992519338ecb2b44ea6752cad73691d4ceb705a47ebe829ba7c2b638f1ef7de1bb74c068bd9bab0cfc78f9deffbbeeff33427a9c951d31c76e19073ce39e78cdff77ddf86b375612c1aa74999b6cd39e79c73ce29aab4d71e5ad2c783d4cb34cd613822b55862d6ac98ad0be353c6feedf0f9f8b1f37ddf4a0a4ec5c1c1c1c1c1610245511445d90f87b3a834cd613d26952baba485a485490945511445519ee7799e5705117fe80fd8bdf7de7b298aa2288ab22e8c31c618df7befbd1763ad45a25a6badb5524a29a574ce39e79cd6c7c7c7c767c3399ee7799ee7511445511475296dc6aad9deaad93e474bd31e5a59b6618fdd6407b3093086d68126d9e9239290f94c3a9f23ea31bd1982306c818a2974f8b2097825111eb887ce11e9fc67e2993e73ce39e7fcbeeffbbecfba304ee35d4c974f37ebc238adfd60ae69d9ba368cd3a40cc79c73ce39e79cd9fbe60ce56ab571b7da70b5711987ae1908231f003401f87cfcd8f9beeffb3ecff3a10427f03ccff3bc92aa3ac9194973f14706fd683f3f3f3f3ff20769bd498645e33449469698ad0bdb384dca34925eb92f75c66197157fa2f6f3f3f3f3f32331d65a24fadf48315b9be7799ee77958a6f1bdf120bef77679ce4b369ec6f6dfacf0a0a020954afad01692162692da4b5515c618638c4d257ba950756141de0e1c84c4999209d95a6badb518638c310e657aefbdf75e6badb5d6d65a6badd5f33ccff3aae7799ee709e1de7befbd8f31c618637befbdf7ce39e734a94e2aab66b36ab6879696e2d3041f439046481c74f892065046ec01ade4f1836db427da1134836830a375791acda1393447d362b6aeeddebbc5fecdf813a710a38852647a9241c6d04c727e925f577665d945c3545af97cfc983b32865ef93ed357fabe6f25a754a320be8bc3a48f3401fdf8609c265dbc934724c65a8b44ff1bc6e94d2369aeb49172101c267da2f489d97a12f739d2e547bc69d1671a0663b62e8cd3a44ce334cb2ebdbf9adea4f65255f57d9ee7799ee7597ba9507561f7de7bef9ddff77ddff7799ee7791e35adb5d65a3be79c737edff77ddfc752d1effbbecf5a6badb5b5d65a6b9d73ce39edbdf7de7beb1da9689ac32e890325ce853dc73b11f79a4f128fdff77ddff76d17c6714ff3bc509a7460040debc74ae77c4ae9d398735221e8115a22414bdc838c3032266f86b1d60a2bcd2adad6ca56bab211bb6523f6100d4d19a1954277f45a3662c71863ab46722a52705edd0ed67240076c878f396cd5401a9f0d7d77c0563407ba93e9308620957911828246a1a3c0a618e2a14b9e7305a78c13db88bdaa112f2ae8aed4e1433aa516ebd5f5705d560d89615a673cf42872163338b5ce324db36ac46d23a921ab921b1d253b25ba08b19baa9d2e259c82ae4e4e22b4ae8e871f2874879f784277b8434a224df0354dbe66d548ac590ed8364c42424222d22524968dd84968494989ae215f8779c484e44f2c1bb0cb9313ab467291a8424129a164a0044b3b25e545879f4775341a8de86834e5681447a3d1089e50931b1d26464e45c837b16a24a752383911895050204c49198db48dd855aa0e2b8aa5001d22518582021fc5aa81a248b786457415a144b16cc49e9252a554d5e846c748742a42fe084adadd1071151624cb46ec9c6523f68f8fafae87ce841351688288ee482813baabf0b52b23d1e86464321a8d46a31292d168b48d4623195b5c10c2c05f59c1124bd0215a7e651da0a543a8e1c3288506427df845e470dff21c39430bbfddf7f1be80fdcb73e01d7288a042b4fc58dd90c5a1a7f806300f9db2ac6e8c30bbba0fd4bfbb7e86314a3927a5b55a7baf55534d1f0813fa1196266cd5542fa19882c7295fd5dd36dc002172ca5875b7c419c209769cb27e02d02967d5ddf0870950e073ca5a75b78c42109c53deaabba51784ec386592ea6e49c5107c4eb9a4ba3b4ac1881a1839e51c0a959848175c11031ea79cabcac48a4f00010841a72cc23014917c410b8ae09d72ce3294140b2ee10649f438e55175776c8289216c4e59a5ba7b0a01c8c829b3a8ee964f08b1e39449d5dd3d9c723e915120010a744e482871044c200284c28d76c6a02367f42c58ecccf1d0a9ed4198ee12e9a11fede0a31c6a8ed128f423284d50094370e1872a43cfd4abb60eb167ea758a772008ead487b85543f11bd4ebd084d7bae92cc908552ecc4b7ea4d0e3644340b260e444b7844227e7044b33ce9319680ae29e267ed025a4991d0681c20f5ec81956a4ddc54e0ac233448741785680850e832ca14787160e4ff214095807bac378309eaf9b7cc9573653c63fcd992edcb33c84323406bec317f84e5be03b5105be7b0a7c67ead604fe7a9006c6cbb73e90a6064843030edfc53ce03b53bf20f0ddf72b02df89fa95c377ba5f12787825e0bb18057c675ac077cf80ef440df84e77cc01dfe18e615f7f208d0c4d8c01be8ba9f9ced4f501befbae6b7c27eadac677ba6b043c84326606f05d0c01be33d1f8eefb77a2d377ba6705f80ef7ec219481e3a9114833c3cb873436fccc773100f8ced4359aefbe6b33be13752d00dfe9ae09e021d4647c1713e33bd30ddf7dcb77a20dc2ed291230d65a24facf313d3fced13618d03617d03616d03615d03614b09980d6c112e01dd639f04e8b22c03bd1438077ff001c7817e300dee106f04e338077a205f0ee1590801904701b350e50c30dc0bb988e03178077589f78a7459d77a2a7c1bb2700ef4c03e05d4cefa0112c00dee100f019bc070d0700c6bb981f19bc8b31c5e09de96fe0dd8b5a78276ac15976cb4b1c8ec3e170381c0e87c3e1be8be176f5bfef49fa4cebadb7de7aebadef627acbbe1f8469d9309edbd6ffb6a7e95d97777997777997777d17d35b760dcfedeb7fd7d3fc30ecc33eecc33eecc3be8be92d9b86e736f6bfe969064df97aeaa9a79e7a069f748106a243e943873f791723a53fa50761701422080a9973568c272df50e3fc5143fc5f4ce979372fc5415728e568d08a594524a082184904629d2184a29a59452762865ac92db22104624a00672499ae0c738e75b6e23df2a97daef28a5145b7c6bad6f6b9593d3266422333e323ca6ef7544399a524aa314334564849892e8f4774401d036d417bdd65aeb0d748422d19cb3d68f763ea4f23b4a690f948728291be44ce79c73ca88c569840c4b2215d30b1b8c70a0f9b34580fdc9f19411e2371e3ee5ca3d7ca22f37962622320fd198a15db7dd1d8e6e217c8ae36be1c3e81072224696be072a8d41a7ac3442fb1d849003b1bf7d0a21841d9023c871a86f3904e0a9f2091060d6233209c946e39c1242c84d58eb914a3484f6e1032752d6720f9fa897f0f386b5527c421c638cb6fed6a1a580965e39111e88b5d64ae78c957e576bad74d65a2b9d5052fa4486343246d85f8778247e57df7ea613d7b73562699a64c83146284d35628c71a4d3561a819894529ac4e596d209f12341775acf4e2263c02e528193430803f1be241d6a3aef57223f4038588a2945638cbcd3562602416fbdf65ededd7bef8db6520d5de0cf8734e44d4286344029e3a6fe08fe545f3eb4d2ca879d522a6554c11244822c91c41595104cfca031462989f810f928a5b5fe08e2057b13640850ef280e0d83ec14e97208119e0e864cc9a004279cf80115e5eccc1fa09082205080411028e8c08334f0f8c81887f018f28218a394437486e440ab4810259ce05e1184c8187490a39cb407094c618c7b8e90524a8ac24c3c11caa1508f4f0f2a039f15586b6de5e303c6185b96108a892106c902a631ec0a1f60e0d9e18414414a0cd199d697075740322dcb3411b44dd368126c7c10d4a3440d36926ddbe9e9f1a1478928ba54a205242524247487da8894d05162525262a427880a68911bdc9304184c4e4c4c7aa4d0e3fcc1519c54dbb66d2727455680ad256210202829282855c43d483ca1f94819a5a4501d021183157a90e0c1486534aa3a0422062b2adde18f9c2fe01f467849c859420f122c5061a11237fca1852afa9c2643f45964881e24a6e8b2070914b020b160e184109f1d74e749c240e248a426a4c81dfa00830cc0208456c155cf551aead047900f648aecf82002d4e3571b87863d4b08813bec4942888e27145d244d2c58b060f16f62038ee3b8bd4b3aece9d9b1f7a636e74eecf400e94186a31414d1894909c9a6c26710b2430e0f086fd0901088152026638c564829ada0945a61ad11bbc30890912b3a7c18d42110ee4215300883208d558c514a19a58c3a464a29090880284e16648c5246a8e904ca813381a688f408f74621f31fe4ac22922629350e9d035208a5244296579c8a88515ed1e9cf08248bf40821f4712a42fed02be84e0ed123efe80d79c506028a5ad082166090331da2e3c3a8aba8a28a296090b3156894523eaeb55a6befbd568db422e28b31ae3639c318a3fc3927a5b4d64a65652dc5010110c5c90215d119246755054d71c846ca7ca323c935ca1a658df206499752e646070e3240f8864c97f2a9d0373aa4e4927737209f9306a1c32d327f9181aa906287e7e3314414820c363b14c9c1861999d82bc803794c25c8c3a71132d4d165088c3ea722a4e42127fa74f9d1677320c39f78dee8f121c451ca39eba61cde80467a7c2881c819ea1c3637373a20899474d249278d73df209954e423740634c51256d01deeb40abac39dd29774ee309f1641cf1b575e019b46a8740f194bc9d808000000001000431800000604611848d23c91a34e7b14000c3f5e5858563828171023d24092ec380c821c31c420600c3080108666668803a6e21e678e0fc95ae70c93afa76f0e874f117bb4b214e02774eb9bfac519c728443ca7b14c15fe945f81d477abf2cf5628c0c94fb760ce5bd073f5c0b8cd89f3089302897b61f78a23d4a31b5db7b8f25217a71c0cf9a70e2af860d050c4e83629d6321069e8391570a9450ca1e727cb1bcdb5d3b4214efca6d5c8b94961fabe1ff345a37a97c6e6f91c243054d51d754aa9e07251ca8e1a31930207ac8c901fde044641eb71328a90421fd3e80bdfaab4978ccccebf837c40a8269581f846b42e99c3a7d2cd5847f2f94e2f8ee06563cfa98667ba5a199f92c573daffb7a8379e63e970a84dca5f83e5d547a4d8a827af82bdc766f144f9e69575634d3ad7885001f38b9837fc2c0565f28b6192437007c261378a10ace598b9fa55d90b937aabbc70b3c917f464bedcf85e471cd1134154a86888e147678be933a8e10881eeb15478e57951e8dd7ffcbd7890def29869dd9fd7575472f7a73dd93558bd3d3360babca6462f1601b3f00590b20707e6048f722e97cb8d63530a2f47a26b587736ea30890ca9062585faf14abb7c61d4715da59d37c1f72305e5accbca661e566e58661e948264da959ed6fde46bd4fe1174ef826fa57661f9a79091ff91b9401697675455f0ec3f156af63cf8eba451340d7fca4e8c8cb36d3d4fc16e581e399783953f7bae9573f8d404792a935e83f94baeeff24048eae1297f1449ee6013fb758fdde5e09fe6bd64982959dc464bafc6ee5d23eb749602714b04fec0c724842a7be213a007025f020ec547979360ed6a4f3e719556d20a5d4d71b9fb265d8946d97ac763b73979e47f26541943ea308cab9d6954e0be7f908d91975dd4a8210a26bad37eecfc7a0ed8b7236563b0444ed06ff6616dd0856819a54092811b9d86240356416a2b02be29c4d07bdf42a69649f4e1a6c748af11c7c0fc4d0c1563d84ceed96160824b91ace25bcf6ef3a25f7d276aca9122166ecfa42957ca449a151725671c6eda8446b769b358195ae7cb55384dd28b588fdf143aa1cc8a492fd33173cc0f1e3c6bcd86eb5ca1de0e680eeaab23aebc489c1e06512f326d9ed183cdf0182279b1eb35e71d39dbd3af1e2a36c79c2e0a87dba7f0aa0f043ac04c14c085c6f6a3e034f3a5d90f680da0510f8fb58679a044272011d4bb651a68e3cc2e141956f0df8ef18ed836d464e0a1c419e1e7990a003254cab81178ee408358acf5bd8945d8a102a245041e8d30229bd735d74131c3737668082cfa84449712a495c71459b93bcbf08a91d85e1131cb8d24ea054bf25a243e8151068b8a2bc7035c3293b6e59babc36c2fbdebf00709aa961691325f8661d4ccb4752ba0e6e49cb9c7148fbee9fca6b4b8ca6e0c3c315927b855d6594eb0658ab68a1a621ab2b4c896e3b2f0fd808f27d2a51d2d6951bf14e9744f2aee2e760867a36495b4184d952acbc6f9a0fcb72e5e65023d19d5d3acb3dd9c24f615957bd7b1a91d4e8f1268b344c604102a56a369ba45f03a642c2d73091b40a23e542446d7a5947a3170f9cca03e2b852fc7729b0745462405d4fe4b5de3db977ad23465da55c7b4018d44b710b0c67590029cbd5f4fb513fb666cf3f3f476da02baf849d1ede8d77d745ff03d124d93a4453be7d7851b70c7c25137e2e577ce239568b756c0f94c4494b654d4f0712fdde6e5326fa1802ab5760da1138bed9659e13a2be22964e416ed88f2265699a5e885dc1642ec9b21b034b5380d2a80a9a9a60deb314952c76db52ad1860fbf8a610a9de5d450b2c890883149499119cff20853a2b958885241f19c2b97ed9c30414859171c3688953bc3baaba008ab57db882734ae215ee3dbc1ff519a411e31993081fa8b7847f67b66779a0d475a2fd1a19b37c4b9c17a303c1516352b09e34b468cc9341785584ace37ed60fbd32ea3a2d7021f1028f224f78f646a86d6a99a82a9a40c4cb3c7c2ebeb828ba19c66abf48a027c4b6ca571ff6d3d93c014217f0f81f5418d2a587269c88c880b2ea43ed7eeb8225790807f19dd43c362f6b7849930403ce2f295a33e041db61fca936b33480153874a7a39d8745aa4ea944f88228ebbbf021b27fee16cb5bd965d86a439bc56dc00c53a244d8748d274deb16c599084a97285f3d4b3add16bdb41802a6f09b6f74320c1f66abdea44dd584ba30b9c94a782d75c658391c7c3ff8add545d0893d928e058ad5d61f9cbb5216662b392658c88fa2c581f0424591ba0f3a9768188f99fcd21de41ebee505c0e10625b08fd07cf3e2ee2af526f7daa25f18a02fdcc42b0d1a05f20bf4a5db0ae1901dd83040ffef417f4605cc58222e713d45272b2ce55570db76b4b5501bfdd0456525182453de03ed91bf4b15eb471be78fbc2b12f2ecde23614db4e64e2c1683c83c12a534f11de155af35eb2c9762fa803bd49493c6063f993a7e712b62449e79d57e03bf0e13c4240ca1c9f8a09db757034cdfb33b79e266c6922cc7f38623f0a5c44139005cb4c76b059233a989d3a269a4ca98ab2916a65eaebf20cdda0d2171643c916315a9c55c43d07d2975dcb3752c9d48720866d689073deff2f19e4f96f23fc4c68b2d6e351f4bc41ce543077efb1fa11c15291ba981e136c553e1412bdba34c84a5346bab462a4a244e9a621b74bb083b2287c7b0ca9fe8f0aa9069e3ccd37c1c6bc3bc3bbd504d1b448c989815692baa9a3bb8425595b40067540bf2d022136e61657691dc3ade86a2d40a21cb0e32d18a9f5c672ed0401860c41228644313496ff2c9dcc912975283da7cbee026467f99f5b29b387e848990f8fc8bfbec45dd9b96bd93dbead32a047a1ea95083ade7d01c76fc0edebdfb93b18d953aa48992f38e88f5c6dea706d3b77dddab935e702feef285ed398fcac9c2c5fce3d6412e796ae81788c75ed53caa868216c7778be520a5fa917372c3199661c3769282902e9deeb8a7587efab8b1f0908a89d21bbe3029e122d9b935833d7db94fbd18d29b06d93bb70186a28b01a78179638b6e15b09d69de371b1cd82e54d8cbde193eb67802fe09d8a0c1156cdfe3366e0046707f0f72bb103ed7c1ea9f709c69ec5368e22dd19765713c85546c81727e5e4309ddfc5979a2797afb0fd784fae6258211850f1f99de37751788dd0cf21bfd5dc56eb0c2b16f924d473fc6a9c0e71224f119c7985e1154e5e6a099012d4f25c296d1abb212adc160083cae0e471ae493a59ed21e9080e3963beeb24ae7ee7b2f42e833612e823a1989fcebff22d72c75d8743ed4625816830f4bc4626dc08102851a8c4a9a3dcd1faee8b31f8971213055d4d64e9b0c44943e1f0c31b57c21111bde223597a29be5284ef1104b88134649bc2e48bcf88e8c5cd581c9c66db01f3673b2f5321e289f8c8ac7ed8a15c2b97901536684400cc3c6556a66495755256b61ec936b0f6d378c0c1350cf3b08aac60e62658c156d95cced247dddebfce5ec2a45a7d4c24c5fa574c40478f2a397a9a051c15eb9a9347548f0cdd881ce112d4afda413723639116f585863948ec8df8cbf070f0d7df6883b39fbc9cb129017df080a6bb68c002102649ff46440e215f6337d2394423e6937df23b4da952e4cf6413cde9407456a251090e44a292c286a05106bd5654c8dbff81f03efa8ac43c8768ed72dfdffe1bcadea30c8440e97f5d6468673ef7da6b9759f70658c87ca6c5373ebf48c00da9d6a2b8e48822c92deebd0a8495aef27dc5b4bf10a2baaf736fd059c8cc1c8831b560c9bf917ed0a480bcba85c8d3db313c7cd800fa1c46265d3fbb589387bdd1cd43b83c3d74a9cc128408b67a21a0d810c7e54c858d8a6c8d8a99a2de6692d31cea347c69ba70c09d93856001ca768b174c70b147b6775446d321c3dc5e7a154f3d53cda0b317448ff54c4aba18b137d0c1a691ed1b7664f9041ffc1e1378ee73826179781034cd193bec91d90bc8796c168cb3c960aa2f10cba468b0ef35113b234420e5f1678c819dc890bc0808e0e3602addd2b9ffbb0090beb44778ef1f5c9df55bf78e1e438fbfdbd8135dcf73570d917866cec5c8afeca69cbea8c7f23b7cc28701e76cf4b1290e67a6894ca6b6c0678af055297ea9a9242072a0bc9871ea1c8b697be69a5e67b4e5237052fd088431d88552c411d31acc954ef047c5301b941d3b8e369bc62e48b8b1c82eb275b9ab5bfcd46991ed55d048ad0ddf91221225412b943085aef4f0024c3883070cd100b90122365a6191e0652f5d3a6c7c73392cb7e3d1c33ba3e01e702225caec725be7e6f0fd7795ea59b92848751768016ee7259551c6f46a6cb251d85f1fb382cca4e508b5c43c35277d6d249eaa33c31b1c37109d43c15983f53d01203b0a4e8032f7535cdc41a11a346cf6830f5c00b23bf8c84217f073d77ba25a0cb4b3fff51f4252290b9a0e5d73571523d5ea5151c3c170d1cfc2c428ee4200cc88c8ecdd5b0e077af42a845874b1a5080642192a2af72f7520e2aebc77777f1730729ec47f369a2e1b39aa82f1740d375017b62c63e13d22f9a889334efe0f212bc75b64e5b71073767c463f427c6410cd84836db5622efabdf2667dbeb9c8efc514ec90602ce8367b8b9d92ca304d22bd2d6ea58a939478f9c350471e0a17baf3144bdd88e39eae471196c07adc6b97f3756c88a6946a8355111d6714e3fafd55e0aa9f84e7e5a9b266a4e9547189f224a1611c1ea5e980e8c8e4b2ddf03b8a47e5485d03ef655a43e25cb33c40f38d623634cfdb32132a527981dfb11947e12367f6b58ab268c8988d3c26d85ab31a6dc5fd7f585bc11180e36feb8a327086634e62ce83e099252af2670b34e68e14a6e3d82debf53b2e052eacc8a432e11a76f2ea1deb9bba46834150a36bf21304672e2142050419d18c9dfabb318a5be821a7a787a4dc39347b85d707c0d561b0258948da02f2bbc4cd1c83452d46513b26a714a68d148846bde41f63e99a30cfec6c10e58d6ad96c6595a50d0f4bd63a2f6ab6602f376173c2709305be6ed1b0ee25142df1684fb900840b9927d558a27af9308a7a21c2b6c43214b12f9e6c635670055eecedb830df38528f7bb84afc0655b2902b427e69a8d92ff55bb99cd12b5e79d37bd828d788d631a0d7a6f050155bbcbda4ab2908af2c99b1b28af5050d808fade9f308387e48025919fbdda59c20c1305c96ad81f5f10d31514467f7c3e75bc18ca02d6d91019a7cbe7067719af997fb4b404e07d953f51807e4f230892121f979b08b9576c5de5bc065dba08d685de98a92fb5c1dbd8f6522ff8f12c2cbb39078e334f3afa5cda918a544e1b7bf0eaeb70cea1db673cb451a43b204fe9d9960b30c44c4395dc62d1ae3e4b0bf4d41c6a86b78965c092940101f723df4e04b262e125398c14d5152c9cd47817d9ce09cf028e97ff3b864d46fb8f4b36d9a15e1e7c3a8b18207bb71a75c5daf4ebe8c9d5a3fd477d00c5530ca1c5e82c3ec84294eff2e0ea8fc3a2bca9444c2fdad92c3e4c72007c5729c69cf447c957a13c63853407611f320327d9c8bb364ec2e561c8232ea410bc404eefdf1c30828c55e0f8cd3b0c647c70a817e74272cfe158437a381455982d31f877d009998e8a58ce4db3a01c420f78c194681c4d20f216908dda12877c5901d839a203cfdc8b264b00da7614c57869bf313cf62688b0a2d6620cf824c6fef16d3dce5cf1a685710da837fcb7814ed791fb6c367eac8c805f78727cd9e66bdf6040ab62744d30bfdfefe13375c43d8eb5bdb8cbbe483a7c7d122b742d6658127a1882012729fa2709f617d28578fe81dac34baafb162415b7f1f3fa2347d5feca55270b16b0c40f32f14f8550ed376590764402e428ac515520027775a727ebc3d4224773a4a8ca6d683aec032ff54399b52f793058361f5e8259b15923e41a736364bc439a938b25fa46000141e744147db4c52979b255dc0c85f56a2e665ce06e613f445ab4dbb347976faccb391730a79d4b832b91c7209698b8459e43f1349f5c663a92c2fdaa0cce316b9eda424859f08ff1b18f4433911ba340f1a5ba0c497b30f93214d6804346b51bad0a1710d82a47695a21631932506629c1b8df9bf19a88fb1964969201e4194e6eca40f332e299b8186fdbd4282331ae5f24209a75f4896c54c666c11b93e4b43b6e112c8fb1db5f87e6a9cd1375222e2188a003c0a228a15b191ec8d0b62225dcbc4ac2265e19685987132195d6b97767bf71929793d92c8e2252fabbf064171e47d12e74acb66678366a2f36b697e57dc255293c1f03807e1dbeab9a2e8b76858af4cdf175ba228e97ec733180d66627ad0c584e846028a4f66e9242339eef31a35cbac1873569243745029c41b6f4f44c7bb49d17dfb998e32ed595a300f36c4881598be09388f724f642f176835de43dcd1c9ba36ff43daaa18642c826ed638ff33f92c3c355b28a868c13cead3fc1de185c3f9dddd7eca0ebd1a2bb9566512f1e340505c9635e8473b961e84ec529d9f6fe68297d7f5a33094e49f2260ada406150ca547fc4304a494ea208210f0ca3f44e06eb10415d40c7b799669e496cebc924f9db36693fa76b1f0bd509bafed4dd71e9cbc417c8654238e2ef472d674b7390320e17cfa2e05396e5fb762ef2e1248fa6171e2f855ea1813000466d3ee8290522cceb02357783634ce9d2f6f4e00109c4ddf25415a76f70ac3820f2b5fbee4c9b7d311cab5272024ae5d688a54e9981230a31a57173446ae744c09204b855b573474a45e03934a11ac8df9d299f01afa08d513c761d4780dde48b568d32d5c8f4bb3f8fa3bec945d9df9d03939fa7c7253a08e5cad8ef5836d78d1c8cb954437990915ccd8e2c59fa9d7eb6789d925ef9b0437a125cef0a773e55ebc821277f5af337263fa708ef9cbbc39887456ff657b2c28b105199437834034d232cb76e2ff5b5c6be63a6282acda280f8c87500ffba235e6662a10d32df8a1658e8a4c6fb4b67220b21e52cadb5238c8a74df4fa2ff16bd70b4144ba73f2bd0cf019bb95c112e535a4a45256185fe12480bfe556be8cd9639a7408d294ff5a1caa34511bf4e68a4647eef21e66deeb7242b0447e0168215f045b74c6bad1674fb44d9c846f7273c906921a9ebcd0e7a83667192af6cd4e3abcc466a0f7af984e5c86d1b308b4e5c08ac7eab58f77cc91a9a3656cbc12638e9f5eaeb66bb76cdaba83162b4467dc9d5dbe03b7ad9be9fc9c754a939b5c9b40faf47e75ff6d5e5184dc63f06d4171a05cdba3bc9eaeae44c35d0f42f3cd1a740548369583158040c0c04fa80b3bb0f112e1e1e4d9be64e536f6584b10ca75296333e5d88bab3184da454240f95b6a84cbbea7224a094331d6c7732f672ee2dcbbcea24e9d3b576e841f2ed20181baf1c6feafc6bcde4c08c8ffbd4387f1ae85bc787e2b938d2ac67c605b11625848a030cd00a131cd00a132cd0026afe1c49a72d392adb8f642023dfc9d04a7d2e142ef66d470b6237646ced2b423ec664713627654cedc479a1ad54e520a243986459850592f2f289cff831d7b5be0714c41ce0ed0e944bbe756972d0bcf2b1bb8461e8257503bae1ead0104cac4555dd9e3e66eafd16903426bc8930b744aff17bb54cf59ec298166b09db9c011c34990f8ef6ed8770701d7ec3e63636d8416eef351d59e6c37e09febd50958609bd0e135c0ff113dc08534395a46a7ad7cc42d6a7b413ada08847ab248dacca8a7a0c30c6a6fa233a838842523bb9960695f4a812570024632967544a18946160469723e981233fe88dea81b3f91e7a2ac94df2558b4ff0bd183c79f2b2368ed43077a5ca1fbf7f918c453d1417a8ed2d68025bfcd90f43d0148bd2d7df9152aa1086f6f72514c0a66f9084eed6e2d6433384334b811246c1bb403d9c3c4b789ccf5699f14ca2c3367fef7648ad2f06321ea0c3934ef9a43ad3941a9177ddf06d411c13ec1e1f95d5514b814ee4718a4b71da99efc0b46a1b18cc5f705d41360205030eff559a310d1574799d5428f5b782fc5cfc97664f2c7fd7e01d08a11f85974b28091b75308215365ab99065e53564c8f964b4482db6cfc85dabaaed7218e6b1d3b277788d215f4d3418a4536b558fac97a1aec9209eb4c6452030237d25d1dff7e3852c402aca1226594a205a4c34b92781a51195286c6ce27c8a9fbfa34c15222b3b660d1367a6b8d9088bedd8e8e3483ac22eda48ccc3b8d0b8d42f34a77922220b9454928931ed0261db0a06b3a51a464e778393676322999e25d5f8d7771f03e2dfdbbd4a7516942e322d5739643a1a46e61496530af698eb313d1a47a08ec58043230d02235db2a83c088f1821752a574be2a3151eadab87e98b7c28beb8b362a6f2554e00132b0ba60fcb9c6dd0cdd5c87028429dcef88c95b3491fe9e8feda1b68aec1c36b193669aa9760f6c4e5e704747304a3dffa7ca8b9adbcf3161708a45cc5f667e6d86c92472a0b9fe23791940c660501d20f65021af89ed6b8b6ba1c849947cab955c83c2b8b3a623e0cf8871d725ffe1f3f2703d08da007e3e2109415b7ce63c3f1fcf90d2dcc072826ccd8130e7bcb4ace44029b18093585c7ee8cfb1580822268a723143e1333bfffe6559605ecc5d4f64b0b87bd836f41f2f9c01054305d81ae617e457463ffe668aa27222c8517cb93420628a3c0b8ac32623f72da13d4807caf61a993dff814585e16fb0783e56d24eee0dcffd80a2918e1d9360bd35cee5e579ff40ff070f2921fab73f5405defff4c67ec0dcd86a5cd7eb78418968e9dca3a7739faeee9db47a9799e42ba168121316ed6fc26fdd13aef643a1374a0ad34d2b9c522db52325251ba3827a5f110af2220db918b661504e7d4a0939ae7e7186cac4c9eb04a78ab505449c8d05f9e567206b30067061bd00dcba69382da406fefa410605a84641bee6ceffdad30c9d584a0fca71ae72c804783f5178665c85aa5e5a709b3b6d5b85c34c2c5fa7ec260fac94c027408623223b28a43e599b93c51a684383fb0c81ca660c1195ad170e4f547bc7a6d042510b7eff0e28ac8d1d30e19efdfb7351b09770f58102d0259dddd519405061966ccd00513e05a1bb44d9d6ae7f1cf16b5bfbd27ae609e069e161ab3cc609f3a6ff1ee31a34f645886dfff348a242a685af7564b3850dc63d13e1e65e05a3edd1d91ca648c84acee14e2e98c43d1cd0d4c70077a4056e5dd73d4d6030090bf3724e693afe833c109908dfde8e734b17ef17fa06785fbd8c21f5b5f57fe49c1ad0f667dd788f75ea49c6213dd32cc06db604d53d3d7e6b30219e62ebd01cb9f6b6ab84d7c39191a27c1ae8928fb24704445b988b0f3c6b7e5462568ba333e1b888378b3dda8201c4e6495ca8459ed3b6974100868186bff77c35891b3ee93df836cd9e36901c25d8fbf1edc58fbcbc29a3ad8e10df98c993312ca9adbd24dd323c12ee7c91b79910b9bea3b1d99e153bdf639825ed36879775c0ba0748507af22b04e5983e1fa95da59c5f547ed4e3485547307cc2e18e8a8695c608526f96dd09357348a84279d2ab670f086a1f51b97bf8127e0f794de1e318091a5c9750e5893c1699f7da9d03bfac112599d1832f682343aa7e49c9fdf2153cecd3f0630903296e15b9cd7f8c2e4742f45cbdc2e761b1dee223040bc6aa20f75d5ecac2d9703b225bbd8e99d7cfa6bab6c9685986556fbe056a9184a661851a8c747692c2a67d04869c791207beb2351fe0530dacb6856c24f8ad4d950fc8566481b7bafdaf7217aca917412bce80134a84e4c7ad8535c15352a79f6127f84a3f04b13400e2468b0b420091080f1ac9a3031f9e2fdabe6381cd8d354dda71027bddb5ce03ada4164650919cd5b2787f196f2b82948660da3145db74ba8a57adf3e43dc4e4425cb29951f3eec385108e29e4c0fdf1399860e175f42492fd6141e55303fbbd17007618707e65d599939d10df422978fcb3e7a96a5744fb22d467460c4638abda908b96a6646c34e92a9e8285cde2fcdaf2b018d7cd1ee10bf9ecba58d6ef63a6e231e6bcecf5ff4f3c6715b448b332ba053afb22bc25c3cd1912de6ec42bdd426f95a1356db9ee2d909051ea51402d21319e08d479b3273131420d13360cc2d2420c0c0d7bbfd06ee32b3f1509073b0a2468fb1a3f3a83640c4b45d0e7d03f53511bbfcd1231e46ff769076bc58cc308a94d95985f54be3c5d9ab779cb07c6f8a914320316f56fb4a3b6d623a9dd9d3db6a247a6668c847f527c8f48b71b7f3c8ec8cdd8923ba54b6a1be4d706ce769d4e5081d7f421e681eeeb6cec3a23399b4fde271b75e92eb08ebbf8cc7799eb58c76647b5a89e7fb40b680d8dcfb10885e5260b43b6b00cfda6115bb4a3931327b1815f5d445a7feed91c5501ce2f4e2ce6aaff81bef7158f0f39c9993e650d653c5a64d87d8fe63c7fe15a2f2f64eef1028f5016f5bce8a2ddd1c552ee9de585dc2757ebf687fab6bfbc16651c77bc4c5799bc3fe29db76ccacc91d0fa6d20894bd19c62f43407d7bc9ab3f424a4d2cca60381c1dcfc9831125ae3f6a41fae9d91db5da55925fa14000c01ca13b3c9e827fe0f528f217f0ea929e8189a878ea898e8887a8f8eaf0fe9b82b188661d92f145ccea0a3b16178df530cef3732d331543b45efb33a584f21ceb7b5614959ddb7f724f41e7ad8aa7dfbe7ff3f28103301e525120ab6d0dca113bfddc148b714804232863f7faed76b97f4c530a2e10f87f2498588308c50fdad12300082c5ea680956a91097a8ba44a11dd7f3bce97c173117dad3435e74b12d2cf1578c197a34ec3545af38bbe86f0fdd7200e224612780b24408612b76bfb6fb86654cf258e3671f506b53b0d0c67270dba7794f5a57e7762034fd087c8351d950b59cff8910cd4e15042982e764a8ae1f0813208c800044b67c0ed7e37ff303a3e57bf2f200edad5cf6ef8139ea37be6ccb364303d06d1cab65a88cf5f07d8636b4108d93f184e64ff9771c7b597ecc1bd56f6eca3a455888c46daba72ece80453ac2df1da42a2aaf683b744cacfe67ebcf505dc784d55c3554884d61fbb437f320c870f714bed96f1f2914616e7f2cb5edd7f81f7e4cef2cbdeb1a304e675a67f94c5c29fa901e38d156d5d64493529c5d25b7325f7146d113f4da8ea18533e26c7eaa9e8e1cb094f874f025deb1f6fb9b548bc550a3a133fa71f13b07c2b0d26011c93f51af86a349f6f2c4a4a8b26d9bb86d91ec4611f9a266db8dcb84142664f38a0723f5384cae06b0c8d3cb1b762186ca1be9874dc7b9beeb125d518abb42d77e6cd3594bfb1374385a6b636a584e2fb9f69ce33b9feedee355f2a2d33d65a97d0497bbbab78caa4b5246fe62a5ede59da4eec8e380a32f963ef6058652412453bdde3c4b1ba690f25d33d2a60282454b084b0ccd9508ae15d241aa1500dff5d54c4fdfc1f17c9760e53b239d29968bb5f87643bc53ccf54a1cd7fbb9d783942937124d2acdd0103083f65c03dab55a9fedc2f50cc1d7823e3638f79ac2b90f7038f949d2ac4255e830d656cea9cd58fbc52dfefdab8ec4fb2a3f9423b7021861dc20c4507cfca3036df8e51a076e2c3f2afad8d74401e72d1151804d1d5269846fa00340da64fe9f62f2ef94abfaa6b664e79aa4eac46f68cda04155843cc22b44c14ecc8c6e0f619d6f3b9b3aec1d082e93d60716cb49149d0e83bc00f748c1ca296c100c51cf06c11c7b521646c1c7e1d0cc8166ffb689d0994cc088197b6bdb5d7002e77c00f7d85e80dfea2cc6ab8e16c099b709c05d69febfa3075beedc9c701d27881ff63ec216949095840a5b6a757ecf0b3b60b95272649c0caf831de74ee5390bec5f954c5a25edc14ace4cb1d308b9d357ec94a7daa4163bc5cb9dfa62a7eb70870f1e6e9689f07a985b48e580c5d8e912146f84a23c3f76c35958620b69829b6ae603399993579f02ec5ab5456ec9bd32eb8ca3550f8f337b49e0770897f2bbc7e33bf34ba6d95828e7ee26b87cbb743cb84bc787bbcc38e57a25566d907fa642f66024b4c8295ae9b4ca4841d4500a1d02d41ccda50393db20bf88f879058cf96503cd076f6b9e150823c8912bbef521b751f3b02d257cb9f26b4e1521cc40b1af80cccdad70bce3444010522a6e33ac3135c7852b8de727dadf71b2ad05609eaf1bcc433e576b3118a4fc00f95c9d7af601dda8cd713026cb17e7217df6be3440425ed9c74565471cfe8bc9a0260ce3899797c8c32988de48944be36400e2eb621fb7ffebf1fb191eb75fd771fbd31c5f6d411b5763e7fa271abca2716fd284cfbc3bab45681dae41e9da1465cf5c6c2bb2a9c34de8e32977b533e4ca1252a074756ceeaf4cf3484070ddf084552a4fe7fed82ca63cad5a71466d1065060e92121d6efbfe191ab63ca2c4eae714210f31c02bd5a5af18a906a9af5b7e6cac6b23658578df30f30e886288428c49e2b8317d325c6e318020242592d0a074670f26dd657e0b526619cc28e10b14472dd40a77f4aec6a373f1219d811fe9cd7d496fcb9ff46e54727646a7b710c8e03806774cb6be193b8b96791ecb666286b0911a6555dd07f5bded787c4449669854d651867e366b4f235d4fa91108c8d6671a6a4c8e67ee16de1da194538c21679baa3c2605bca3cd4c95c995cd9de1b9ebe65ad97f4c4786c531a89ce74f5cfc8a7b7e9d57d97c3a4f65cf39af5ab9729e7acf388f7a4cb52411c7703e94d572154ec0adb0b6c731e38a18f8589190036aaef1788bf3e0de5fecc61e8435ce52c82e539a3e48a5bb54ab14287c7d90d979c959cabf6a74e8c1a0d714b7616ca2bfbd55cf43302bc2f267c65a8c3a0c231d702b897a2131fb3b071f0e7f38986f136494701a2dc856019e53d251fa80628635e4d2916929f93fe281bc448ab0fd108e216632508158d5670114adb15db1cf8c5c5212c9c0c4ea67eecfb9df2725cffcb5ec157984e11b1b2af56e0e9fcfa154eb70eae23af0965e070d14d8e1fa2d7664972b23194295f41e4463d6f641d5626ac11009cfbea682ad1707ec175b355ed95196b9c7f1ecfd895675cf61d7a38ee1d5113b594fed6c5db9c375e5ced7151bd291f9ad57cf6109c71dbea9cfecd836a28ae35e2799a242200e40154b66bce995d60f94a6f2ea98ae1b3e1de83eed868ded9e998768dd622476c93dc19c845be3669328e3403f221ebad946e9fc5b5b2aab663e90c7a72965ad4e33250ca47b8a7fe9d3881a42c74391c3e7c6cf38ad156770dedb2efd58c31b7509665a90e0a36a23f8e92f8273a543f0811543e8a66278a0ad793910e1ffbebaecdccbed75599d54aad5400ccdbdfcf5cc646c085f7a59731fc497ff4c84f27289baa82881806124b4c7ca867e29ec40bebee6f0556b2d5f9bbef41554b5af4bdbf875ba342770c4c379b07c88f0968b1fbceb1f0f6540ae63d9f00e2719bcd27d18c85af0590f7be73c56cb1c3d1a122f5eb05e5969915e2f86363aadc6bcf3f39725167b6e9cc1b08f8c733c19f2b07df983c8ab40e9c159a6a6cfd53bb8d82ec06d613986b3c815cf8db3c61d682cab4d16b62c5b667ef019bd43aa3c94540fb5d1f2ac6cc5118d3018c19442fde2c753198a53bec3ea60de2bc1d3a5b4e04d469ce051d984e0ad2a6de031af29f07c4324d7f5918af01608c9b4bf2e34a152656d05d017e36e71782176be72f78594cf1ed4b63a4e2d8daa8c4df62c8b9aec9efd6ac867f2f07266c499f4f0385975abca05e8800a7820bf8f4c05045e6192ad6084e2a5dff19eb15e6a1fd4ca138b309a419522d9d3a96b52557e4dd89cb7cb83951f7f19e5813810631659244dc8e8323acef380119753d24436961f692aa436be630555b1486b9f4a49368426ece908266aeae5e158575794d8a18d544e4db516de641f417008c8c993ebe6d7302d73a0a87fe862488e1326361d2e2dab0dcdff71abfa831203f09b33d024ce9133f7f9f27c0afb0bb1abf90e59cd7e22b0337321a357ea6ec2b57279dc378cede152c20a77ae4689259e6bf130970323adeabf50e59faff837120fae3f4fe0741e68f42a3cceb5ad08c25d7e8ca27219318414ee49dffbbcc14b00a49b4b4687922c2ff4a683003d7dcebac7ab1301944c40c7477a0a9eaa71153c56936a395c33eb173df5370d21d81afeb4f29d100105b9f769fbf11e956c602a5e884f303fe7dc2f413031994e5389f82b76cd6bf295721e409839906d78d404169383f873ba62f21a885b4fa3ff041bc0c9bc10b755ebab7d361cd709d8a82b2590b741ec1c9c75966f5e4b27ae83c8c4e09952913c8391240b8899c49245b71ce3a38f644c8cee004ccb78c01096f6ba7abc246f80a50708673db02f76f491d601ae028cb85be587e4d4e0ee2524bec511aec99e0d0009118c965a2b344bf7646cebcf7b76c4302a062b66bf4a8eb5b74a1c97ae4a8cb7a54a1c3239951c462f95e8710f5e91cb22f7ae87f9cfb0fd93cf27641340ccc9edb726e431fb7b871e0f7f1c4c8615648470b7ba040f0a86bc482a4af3b64ff39eb0f947e295d11a229804c326f3ec8e39304c8d94b3e3bad0cff16b628d5cecfecdefc7ab9ffcd6dec81e2b71432f95c3cdcbdc9902dfdcd049cf8adf7250b8a0ee14ec672db055770132f15c1b75fbd60d8121c489114b590cc87c809b9686302e6deb0adea8e1b3f0406aebe5798883f7fbbe3ab98f8ffe5797cf046f215b308a1d4d10efd4133fa48eaaac364b90009b790d5f77a6c3b1610291c7b6d98a19436c532ec0237374167698ae2c3d764cffdcc0b4f1ca829062ff0263694125a16dcb7f00282273f70a62fb644324178568568efc0828978c4b95717dc7a0554ed3a6ecbf15a9b330e770ec1a42f2210cf72dba6a171bdda64d8bd141309a45702124365df7fce8f9e8f01e19892d1a7fa52b8f4171365b6b8a9bdb1815f50024c7a529dbab980b498da4a88456ccda333d0a3758b16cca56b732aa10363c2a771dfa022157da4abc09505dc48cb1f9d1faaf4bda84b7fd38720b42ad4675a34d7cb545d55db0a1eec26e31191d8cb70d77744b8c86d06bcf3439c52fdbb6a1bb842ad7afd7de7014982d0e3e8007ebacafe9592a421cdf80e5a80059d7c6bd2a73015f9e57359ba853348760f5518b4db2e367a2122d462e218ab6b78ce158144365a40a76d5424548d6f5c616f0e500dac8fd6133aa6744d8247ae14384a727b3f8f56c73fcbdf7a1e19a10a5e2c35cb1c3980d3914f14293e442b7f5e043702063a60277511c554ed06cb85a14c08b45c28f0e1f07d2f9ff8b74be7d928eabcfa4e3f7a7747cda626a427c53c5b125c49daa8a4c176530de6db769998ad9c01e1b7bc88ceb835bdf1fe4520281aa03bb02aa6e109f6550ccb996202aff918c40e4ed30210322017108a741611cfa034f86f0c40f4b50850197c8285341d8c3d5cde9e27f48867010266db9af4fcaaa6f0e09217bc444858074ff6330b7bf12426767fefec0173a0f8918c29cc87bacb68068c5c89cbeabbb9818906c5862a5b2416cd8325b22ddd17804201bcad4cfa7d9f15a8b20f03e51b478f2c32ac887c3775b71563cc8ec735726640b20f2b4491e6fd0f2b2929df07444a9932276fd8708741944a6fb1f92753ca8dc43ab66ef560bb77c9a77c2384aec1ea229a31dcdd05aba255ade3f6f0da5df4ce081d371318575b0f2c4d6184b0c04c3c272230734966860512e06e4c5aaeec689da36ac334be6816c43e0bf310fcdd990b5e84085e78cbb4e16f43235a948a4941421a462a5a414510a50fd27b63730bdd1d130c2baf8a8599f75d669c0e8eb3b47fb1b928aeddd03f4ef29654b7ee65741554bd45426bd9c74da266aa97924dc570b58e8f359e42da77db40cbe5023cff7b1356752dc0a1ee455a4fd2908391b91f0551429728b0605fb2f541e23c37969e9919796797860587d07763177d7ded12e6fd39ce0edd395c5e0abb6d9553df1bdbe8d2aae6792abbb177ba3ea7970ef5018556b6b2ff4a8aa3d19fd5d5ceb37c5e15d0389a6e420cdbac394f25450fa567f6386009a529648328b496252905a0475d7f1899bc592f94d0fe7503ef08c471c5625d40048fd81b780a4c812c3efe79f24c21e21caf5ca341f1bde085016e85af4909a7398235c221afc06927b0b319ce50c18014f62b3659cda844cd4104e7d06bfe0a0dd99ed8f06e1e8c679c43e91b29485ddb1d928e8e979f909e2814ebb4a2aae002114d59ae2abf95ac9f9c8c1cbb05796fd7a8fbd79b89ad704cc77d08983d149e909a0e43a5628d13d7c097f2fa12b86acfc2b92115edb9a70db9e8657e98e09e71e94ccc7b5fb560ef1978948b5540a180031f0de508ce5ed7295a2263189d7571c903ca3852881b4baec46e719db6bcf78330eacb925c0b93278eb6a7fe3ef9bfdb8395148f6e0a61e131bb1415947daa9ac5789f7a2b43e00fe3eec193bd2de2a629678177dff84f31155405a77a45169658d4382f25749260f765da4110598ffce0ab4d0b7c6c67e9671decb81d9527dcd44b746d2140f7a6fdb952c744c4a52be0399369e6ed3f4d1b3864f294b07cc4ebaaf9b7ac2ac8b6512606e6850e26bf3bb27d10b27b24a37a7c6426715f825a364bc310be2f2ac7c24c35b99f007a7446e1d2feec8cdc1caad54e7a126bb561bd25da18bf042e44ffce066c225ec1ae36ee6703ab7ba6e0e6876da9aa5f5890fd6c694290bef5a26f956386e77a0fe3b26d7046b983de1b461d7149126833e9809840455eb16fb4140100d13d7288209e772330915e3edbf4f35fc2dd4b4113f8827a6199b29d5567b74e804824f9518f682f9fb6bd7e1a4ede352ad382344320748703091aa39e9f02029e55219ab30b182a98920e264a6503aeb772b93d985b96deb44b60d4374f7848465521db9e2dd4a32065341a454a2d6334034adbcf965610d06f62aab59757cb0e815d24b7b215ab61ac1d01ca60b749440f021936bc8814159bf92f4221b55bd16b641399be48a985d3b4e4c6a06c05e8923c65ad22d510d2b60c4a9811a805beac8cfb9a36568832d673903edb5853dfd6d7c3b3c7592e0853e3bfff85b4ecef5c86bf1d05bab23ff2e37efc1f4ffbc59b9231336cd0cfd5e5ece4be93255152ac014309735961be6685f2f954bd58dd70e71e9fe6171a5b42a4a08762219986a2e07b093123424d5128500efbb9564f7c5353e25209d78a927d957800e154e3e8a8529c904d214fdf58fc838cc35788f1a21893f091d783de94ddc616b1e75b2127e2b6467b2db7e5df7ebb097e024a25cd8367e3c4084f9f1d2ff6fef73cb73052f48a4738d33bdb1913fdc7884cb951c2d3f4de9a66bfef2cd0d2b27391166b25d668f5ac30c4b171b869a6db056598c90ec8bd64953ec98383486bf41653c09d19d6adf196c6f5f7162155859a36170306cbdd98bb58120f25621a4829edda7f059c57e0665d1015a991eadda69c241caec19d6703537b1660883463148939ae6106f0890077ede2dd3fed8cad692b9cdbaf7a28a4edc34b8ee2ac7f73edd808301e925913b9e66f7d2808ab2d1a7a4175b532d2735f2fb2e84869ed23d48eeaf85dab018cfd9f33e7edba37ccad1e8f0b59da5a8c3ee33cc360d70adaaa3aa57b6dc79237ff03d09bd89920779af1869173df81edc0a612b2418c4d4880e26613b7926316b8e0d8c1688c0409e25ad104f7423e01ed3620d80e5cdfa7ed6a9fdf02998da4c455415961e7e0165fbe91e2e2f7d3d8628983ec3922b0fc6f7e14a32f341f67b5816205bbd0ac52e3e320214582f738131f3181833bf8131f31d1837ef81918f7ec9a8e0161f2d56b300c5d860fe842c96271d58a4bfed005ff0d5e7afbfc7b3b7e174ada249117393a483b2edaa1299e28497efcfd7fe3a2b443bbaffd899e7525a841096d9d6e51d85cef98a09d201185eef3248ebd010d4197e1b9ee55f8e637a3aacc84a84a40c5a42213b0d11191335a09457acab9e3bab996ccf2b2e1b5cbb1c0f4f81c278a67e63f9a0905f82892a2f60deabc1b14fd17a12f8304f3258a98cd52deb932e79ab418f500eb5805321c45a9698bb206bdcafb74eba3c2cf65149909a2ca0b8eba651e62d61ecfa9c87f37a9ee1248e369ce451879338f2709247171c916d0b8b59d1d7cac606ae67ca38e480b32724f6a8df094a29fb89e4e15da5a574ec01eb86153e037ea685acdcd3ea05b07365f5777d8ac1dd031abb84f7c38956d0d995a892da5e3079f9ac3c82def88c51628beb22db8905d976eace1a8adf580a2d1f8ef9da58c6e88a4f3e549545c76b886ddf7d6585334a9ad0f395a1ce72ef4bebcdf9ef17b7e80dce5f48a8b20066f1e60695b2e823f1ec103612d9986fabf80920875855f17c469e566667c646f3c2b77270e2f0cebf2062f609cf2578de456ba826a58015e715216f693d63a0e6b65afafd8a407784114b10e59d83006d117372845aefed22ac33265042a070f61ef9007362a3374af3fb6383c8f876fce92a48505030006a61733c2d42c5b02e948a9412a574d261c1e074c416d65b7a8b5231dca9162e55d06655afe0629f68491f110630c8c07963fd4cae14178100a720fd01f4af619130a0c3b8d89f2c23b3a0be024e66f9cbabdeb956350f50ed7dffd578cef0f7654ad5f9020eecac69a74b3aee3a0d831a458b6a0f2e5291ac9669d4d46843396c294e01f111b556d68e0f3264982c973209885aba481640d28ad11c894fd92d6af43f757401e33dfd877e9a71a3d562a34948b204f47d4759ef308159c12b97d497b0b5f60b3a43522bbbbe1102cf47840f79574116496af7d767f63fde8a9e909078b2c59f86e246cd3c3b3c8b07c50feb32916fdeb362c90e24ee22f1e58f1b1cb7953c3444763f7eb4c190d2905eb4e4ae19b1c9141dd0d010402fc60aebcaadd4cf7ee3e24d4b4664864bb28e32f48bf425829261a10c4e5196c328958394ee2ce5a240f59098c1086855f82d1c41841a4354b126518bc477f1f1f4d0f9f2d9fa6fe44c447edef2b1f7143afcc6f38450afbff261546a1b2389903c03e576859e609441ae03908f1944d63b148a89fa6f7d6c392745bc54839de4a4911ad56183389e1c8381765286fd8a5589e32ccb4d9f53cbe15aea76b2595b435a83c7b5f6d3d60e7baccaff47893d99d16eb49104174bd83b302c5147ecc329168b738d69bcda1240ac0ddc4c029a811d4f6050d05d4d0705889a63f2f12b31b166c9c50fdc68e3093dec1931617f64e5da8dbd8690bf4eb83de57cb9e1eb271c72ed83efd174df6c000c60000318c0a065d80baa75f4c2b0706ccf8c32ac7ff65addd5b3dfc56f11bb77b72db794324999026f048c043a05dccd27295db62ba5947705b9c249be94b2cb77bcf7dee97293f36e770b653edd1a04bf7c59ad2ee0b9fdbddbbdf76e60577954243c7ffbca03cf3ff926334dc82ae4ce96fc13fd37c509dcd8ddcd8307e702edaad5b4eb724ee996c8a59456597d4bc58e360f073b6e7a5da594525a5b2260a4c550e00969ea752df431d600c775d721ada7ed52b98256bb7ca9fd91524aa967fa01fd0f68adb6d240bdd65a6bad4d354aa98dfeae8eaf36b72bb99304e8d721583ea54336fa6bad33d0f05a6b95524a79a22f3a6a0642b07c3981a03a4377137774747474747474747474747474747474747474747474747474747474e4b45aed6e77bb4eabd5ae76659368c969b59ad56c755a6db5d248ca68a5955623bffd9a55a3e9d5a8bbafbc54fa86f9ea970a329c52cef0b3bbf41b2abd075783f877b3ca2063c0f2bdbbbb1dd31d430dc4d63d6cadc396e40100c6d8b66dabdbb66ddbd63eb5b9dd13b779e3ed3f8923eebfe2f56c6cf2be6c29b50f68bea294e56d13bbb9f20db7ddb4ed6efd9b386edbb6ddc6ed0ec8e14240fb5bb309a794524a29af0852fb55ebea95526a37076d4aa9668bf0d9dddd3d7be4fe3a59c8fd74b690fbe71c014bee2cb995b0324506941c262ba5dc2f934039a428f7c3d02c7777d983056f21b71c014b1625723f03e6148007dee3364ee373ced97d27a8955c952a4c07f8265596b27f8f3f0deb24082359a3512f3fd639278a437d2dc2f75dfef4351c431c301ff31d8eaaef264258c989c99842e3676bcc51c06c7df6ef99ad9a9da929bbbb7b4ef61a8e3b70bcf7392e0e1d3f5aaeff2397c83fdae79819c067ef3b7b62083f72895c451d376b7ff37df76c58f7de865a28e307842b80b9720fe6ca75fc68f947464fce5cd554cdc1e1f2f851218eef519f0a75784e7d4cf81381ec3d57c319a924cb15e4f66a2893e4db9e954aa8f0270219f55ff8a3e5d47b6108df7bcfdd1047fd1c9e4388f9faed192026d7f14667189568c51f2d7b5fff0b7378ae8f0a43c0620ecff75dc41f2da3fedeff7c451d9e513feec83501b355c599017caeffdefb1f60b6ba899518647f04ccd6006ef6fe14be84a30ef7421cdaa35e86387eb45cc5517bfb3f11c821a0c41c9eed4b6eab9c18f435b8efbec18fdf064689e38e8cbae128efd71b8ef54f2eee738ed213534fc3ebcf04f2fdde912f2afcf17c3f159e982b9f2140fdfbf7eb0feeb91f3cba0ffa1a2ddf7d83fad189415fa3fbee1befbdc7f1d37df3535f46dff8ff3c6047ae2258c50f25fe68117b26cb137f74e23759fe37fc9066b2fc4fa1075b2880c9f2b773f5df5d53579ca92f95f2cc0717499647b2fdce551c6f74d6e1d9fe88d2c41f2ddf5cffe62aeaf02c1fd5337aece0e6cc960ecfcd4401ab752770ddddddc9537bd42b9059a9b47f3a85ddfd73bb7f12397fe93f277696b342d9d7dd5daed0fdc0f2e95cb5bbbb4fdf3ec075b7e4f4fe39831c0217832d8f70b2bd65129cbca1659f28c897df52ce1fbbdc80796777776f299f72ce39e79c7307cea7bbf7db76a77787cb49c202bcbbbfe2281c672bf5e96ad7c499bea3aaa45edde90faac2bc0146886c33a0603de3be3f0f393a3a3a3b3cecf0250d4911fa9e047d4b3e241955c467c36724ebecececf0ec40858014491f944ce2f8834b3092adc8b809c93ea2643264df8264ed633b3c3c3c3db1262078e82990a364d2a71be7847f6b59fe882a22fbd31046579de0e4e4e478fd3a20088220083a012b4e579be4e8e8e878fd3b4d4eb316266f918d2d4dd95f079d9d9d9d1d1e1d98247d484098642752ca3b3c463c3c3c9e8d2119894ec11b102614a868baf090b392b621d9bedb9cae2ed1d9d9e159a2d3d51c947678787a72d886ccd68887f0d04e5771e0e9e9e9e97aba1838f07415d61323468c1ac3b321454e8ad801e00664336ac17abaaa2446abe55212a3ab2b68b95c325690c425a39321c3ebefe0343bcd4eb3d3ec343bcd4eb324a7591310057297abebff90be24e9037f98eba06bbc01992bff0e3c1064de8a7a23aab1fae26674d2077ec1d2b371809a93b35afd8320c655a44055098f380634cb637d6d4066cb7efd712bcaa7597d71323af953761509e63ae8a40fdceefa7cbac62d65fb782d4af13362ca8e635b1e1fb7bb5410d51831983fd7905e4582c7faca2eb83dc901fc21cdd6789a657f1fc1981cc234e669365bf6fdc30e7ce55e616dd5400f5cd38cf595fdb9c6b5ceeb4d672a8227b8ca914cb81ec136df8047b96442da6899fae6aaaeaae84c73357148b1ebcb797072d29873ce39c71d385c4a9a9dca1d149c53ceff096592ac49a5dc5ec521a57c1743a07f5f87bbcf7f9ae9118efa9c72055963b0b2529fb4564aa9cf15ed61ecee0663babbafeb6a54f5bdb8a430aac5ebb8d376355ba94fd9a2827b57fb2a308afabd9aec553f753aab7777b7a6b150ab6c4a27134eb633cd14cc39677780733a671296ef73ce39e7a47dc344c673ce2984d217649880903789a02f91b3ae9443ce6ad9e4ee9ad5ba79588de9faac94885bda54480d587e7b5b2294c228d0ac4dbd06d9228b61481602d93754c859eeee3468060db7bbbb733e2b754aa9bbbfbb5777a74e2975e9eed6fd2b0d58bedbe80731a5945277afee6ea9bbbbbbe6eeeed7138106652f22bb9dc97ffafbec4139109c3c5604cbaf1ba56eedad9ab555ab5ebbbbeb6eeeb475a72257b395fadc2e0f3654156c5f77bbbb3b7577775a49b0f5fb5e280fecc3a7f4eeeeee2d0341826c6050b51a48840811a16e90061a6868ca719b02d09c9e9cceb99ffd1c27eac83453304baafd0c75dc3c9f6aaf7d7b52fcd1b20d1d33998a21fccdf3a5fc1c3a6e969a870fd891e74ff147d0d7b89fe347cb3f825635eecfa7e28f2bd2c972fa6d299552297332c441a9a68921d4bf5987531ad366b6a8a8c37f06d99f66b66a8e55af493879737b36a48400d7e1e76ae87bc83dc775386bee9ca669dddedeaeb98f0e9031579a268ecdb57d67f94ad3443be70ecd69126bbfcaa6b96afab75d9a8bd8dad3dbedad951d479dd2af1d9eb6af4ffd6b8d01aed399eebd773aad9a7845b1fb4ed069425151931e5a702d9667788c524a29e3e028a59415a6bea0ba5fe521a59454a88824c13b05788ef7de5bc3168ecea4c1b2bca714d7cd5e596ee3bdf75621b50694941ea640b016b0ba8035a42c6b0d78fe69bcf7deca838733dd5b5d083f6e4b523f6e31d4a740dd6f452d6a6a6a5645f60435abd58a75024c844d8094b462b1582e4c50345b9af732b42e224abc3715ced5d679b3ce9600458a1429549400c85b2041416ddbca7166fb23850a152abcfeff41532450f12109ec08ae463f0c834a08431ab965ad3d39ec66248e40a33084a228ae80a1c754eaf1c0a687c6e604cdf7c21557d0bca0d17a69ca8a000c01128c496cb646f0bec02ac5493f699787a9d425f9e5fd4f4acc964b00ba1f6f963ea977a2293026942af9a47efc78a83d035595a6cbc3ef82fd5ea84de2685eca457d91e1014db62050e2fbb2f8bcfcf801815d7efcaac8ff3ed0828f255d6f689f97f7af48ba2ae996cb3bfd11ac4fb207402b4a55a43c59924489cbe3970e24bd7a46eafda5cf7deded90e5c006660bbfd500ee19296bef122429d44be8626359c8b11960a28481a4ba4207ce78374ef9343bcd52d457559242088fa7194a4643d32bae55018ff56553f07bebabbea40fcc7d9863c182c50bb62ae0f134b329380502bac005b0f798f5c03e9ae52f5089414eec2c0a2b6858a070020d8b16275013925e2d6aac093608f631f9622d6a5eaf5ed9a06d7bcd16aac808d633f0e316a6aba6be849ad56ac5b225580bbc3e253964ae5cdc86b8b01698190d99ad4b81e8086d6dea43ade82c09342c58b0686149d02e4d674798f265f9b07c56bea52f0663d1a2450befc6ec9a11b08056260c061b690bd97f325d99e5b11483b5a8a9a959f11082c16030180c465b982c7f186e111e4293826c05bea5597654539211cb56e0be8f1b4c86926d45b22945198d77e394f150bda1e290fdeb0ed9bffa90fdf1d0ab6f804259e3c3a799bb70ac4f4b744bbe3f8e82c23259fe5cd89335a2b26497224af65c8df7c129a36422601cbbdec762e2c906cdf2e744b89e09d9b915b23f4ad633a68dd3ac6ffc2d9052b6e2f8d14bd3d5257280032592b8810d4098bf4e3350fadcd992f4a93a344ecfc035c0477c446477f2438e2d415204f5e32745490d3540f50cfc1f94ec9f9125ed737ffc5450b7fb12677de1aaa1587495062d6a6a6a563468d1d519d4ac562bd60cb2ac582c968b2c48b84eef1bcb850b2873e5efc2bb215f2061b4c9a0e8858d0c62c0e4aa441f1426dfd237e553b2b129ea1bff9b18c45c75539a1b2c33f14e8f877c7b94acc9e6e6e60646d311529e7c463e24373060c0c0396249117d134408aa88d9ba308081838393030323748cc092a3a3a3b38385065dd1d9d9d9e1b9528426dbe1e1e151e2e96ea555de8038a0957a8ad05e20448c17703c5d95e12838f619f994f4c48811c3eb6fc982f2585f4aaee4b1be3a88cbfb712372c5e50fd128ad3b7920d7a2ab44b8807e0bacd4977caf327e499ad5704d578758b190582c56d22bbb8b21682cc85d345a987cf66a429219310159228a0d65ff16ea5a66342859b6e2aaab422025b15cb870f1420820454c2e5ebc78f1c286890a0dfa60dfeb858d8d8d4d673457375480a84572a3ac8596d5d5205cbc78f1c2ebb70902881736363778080fe1213c8487f0101078a822e5b1be28906cc4148873d1d52978294b99d9dcdcdc54f9379e0d295220300c29a7d9ec871b183060e0fce0030c1c1c9c1c1f847a065dc2c9c9c9d1598aa202faa67c4a7c563e2c5f969ca313cbfe3a50b2bf0e93de8982d4c464babcdfb06428dd8fdb14eec7cd4a96e18f96dffec4828f496767678705432859ac7beefd514deeaaeef27a98520482cc3cde8d9937207dd3d303931eb40292e57f92b934b5ccb2cbd528a280b23f91bbea7bef40a72cdfc584908bd2d59235ae4090bd6f688b0cee247f935060e0e0e0e44079f2a212c58992234870727272749eccd6888219395112288c71ea0818e0542ae50283a2f6c0df88948b8bcb8b11b2beb4586cf87040a50a11578e3082441238954ab9603152b239d99e6c5136291b95adca76e54acac5c5e5e54a112e2f2f1e08327f45cca9bde0e5fb3ed50b649f4aa58291114184e602241a4c4c4c0c685d009338fe24344ba98d141192030939c0eec9bb71ca14e85d1e5fc155b23f8e8291c035c049e025523c5225a45448ad80a9647ffca4710cf3a0fa961fef49d5029ec00dc8a340b40430c96b01ee2c5fe6b7a32234cb7f33e1762b64a71d909191a140f505f6982b50c8858ee4f17b813d402389e3ffa44122906886bec135ea8f2a11aa1071e58817ad0600a83f7e4bcc6064412170c85ddc6cb95861f2b920a39a9e7c4db28332323226ac502224a424ec42b3203b0153d86c30e28296ad3f98c29561d06583d9e09e97d08b2dd92a29171797972a43c08640f2b46ba9102fdff7a984b0da5b2621979797978f6976a9501f70cf39e7b815651595203e954a051304102a181898182054f5555ff6694c98ea550fec19534646c67d0aa67904a560f934264a667f88c140991f5e6ea9267d78f9be4f657d7891e9fa5d956a65925dacaf256cff6ba9e89527d32e105471428ae05c390ccc0b964b18259babaff36e9c32086adea7de65eb914aa546a94e542a14878a82e7079405d8be7c30777808140289e64a064a298e1f2c3bd25c814820517698f4017b481c7f22a84471d223076db62e88447b8029647f6a5337c7abb6874fa552c1f460a1a860606062a03c4982898989019f804296871810046578d8e15bfaae7c48802280d2a252256f4973e546267600b201018560d207249238ee42814439649812d2b6c449058566eb7ab1962663c2840782cc453331246f69afbc19b93c01126d59c264d070a008f0cac63a51c1c0c0c4385175b6c90b262626066c32338289b13ae0181919191d700c889bb23f96e19809132698e076d65899b27f5d5a02cae45091cccccce480c1d9c2c1c4cccccc091c9a4cacc8f6ad585f627d51a0faaa47b27f8bfd297e9887ec346dd32eeffbc3f6c13189e3dfcfc1f088633d03ca6ccdec3886a7a0408102c7a40f05923873622893e5ef8553f00e8de38f9fd00a64ffe97d70ca52c43125dd5ccd6c5770c1b94af23a8102058a144980141969d66a12c3ac724e5b0782600c0882a79955c2f5bd47525fa23d02cac8c89838626f50bda0f201a442a1553cbe2470ecbbf2212163c2c4cfdcb0349e32a081e396c48604e5401eebab5649fdb8119129071cd5a368b27c256b2bc38d4a61882ca949890994a0ec2fd3d99789999999132f0fe0208d7d3476a15df5479fa05b292246664e9c406164466d388102058a1436a800458a142a5490849442858a4f424a1551f11f16a129f8943e0c459b829915e9bda7ef5639a7adfbe7be6b7322057256686bc023c802520562218f5496c7fa32d1592278a6b328388102058a1428a00188f6b15f0edee74be2c381ca022852a448a18286d8a643fb58184857cbfbfbf84823240da40d7f04617005c2660bff90fac9bea66f96e57b7db06fe963ca3fc45dd597664b63b2f21bcc6337c443b8054c146218e6ca5f8618c85c0951f1ef81207328e46a337c1886e20cf748291445515c71e446499f125f10d9ff9ba2f2a1ca800a055590ea844fca47e543e24be2abf25d518d20ae58b182c62806dbb04c57cbfbd624fb6f4ca48f4421fb89074ae6ac242400827ee641504e0defc7ed0674dcaa64dfaef4939692bd1fb72c39fc51df863fb897e10f2f0cba35bc6f09bd8eb9abe5fd513077a93ec80a1a1a1a1641e6cb40c382058b1632e0a118ee7f52522c5ab468511343cfb80197c0a8744d3ad5285423030000080013160000200c0a060583f190aac999e60314000b5d724c585c429587238140184a611005210c83201083200003410c4429a444aa070022ed46e0c321dc27614684be53b016a902097d6b549d387e3b448ac9b400e25c895f33c3bb0408209637a365de33ac53bcff5744dfe64db6a807b4d25239810ecfa4923d17ab7d511b45837cc8ca1a935f7691046649a21fbe7c6dd0ca96b1f83249909164ca0a45a40af585ed6d08c438ccfb65b215fe254caf6fba99e351dba38bc0a67414db5cc396380b9bdd86345b6ba276caa5a586a92d9a5396b1db83526fc3e1cdd7d8bf0ee14ad3d299565b718b244c1765fd6f54b0412017218a520a8188ff5ec7294a2f55cef7652bc09f85ecf4202e8c6f43b058c7d66d2e37637171b51ef36e043f3cc2bfc901bcb563d68c5c52352cfc055e5e85c1a802512cefe4bae3e0af36253be11a7501867f4dce4a745f7efe5663343dbf436eba260f1882c883a929ec818cff6cc554175477f68e153920f52aa7182de3b4418e0382571d29535c7ade26cdab8bf430f099eae517f71597e793ea827a204dc83d0b6455938c2e7e2132dd80390f48fbd82f4ddff38e817ef5947245bce663a9b19d2705eb33e842530ddb621f4816e34a5e56a6a07f4ec13f0ae9c2d286d30577c3bdd8bfe154048580e26638110e6773f0624444f73f31effd518a09464159db2f157acf79815e30b6f558e8fe02d6498ed5c4c3d6703843f06486bde8492d2bab03f29d94423259094ac04dc38278dfca6061e3095cbcb1e03de1b21c56ea819f2cb0f5f12aebcd1d263af294168d01e962f8e254753c3a008246e3011a89ae3238db21d159c98f42a0ef1fe82857a30140309e4280e6cb0ea488df697f4a18190eec0cad411bf63b57d13b1aec60e8ecb0fc8de976eb1dafd9e22e56272ac579950906e84ee86a60ee7fa3ff1b73bf54fc0daeb031111b291c8b094685789228d4064211b6b41f266dee2209904e60b84427381fd7d3f0f074343d0fa11b87b9391b29e5a655bbdd891537fcb005ab75472aaf06a036f812d04cb33209e971ae89b6ebd2c50c2509dbed00bfb3106254099d18e8e716fc0dee111ec35c1cba442a5b8b1b2c74f724c9235e5121f2e78e6ca2ac9fed1ef287a3c3b00da779bcc378868414b939e95a9d11eb5535db18a7c7a569c45667d32ad4f7c1db811b838523c9720455f70cd242b5a211ac863166a4cb3c17faaf435c611b417d817df6e56ab80d721d0342789a72372cbe27120f9ac87805c3831f267f8af1bced9503ad4f8b0ba76a9f0e5cc4e4af8ab1e7f9885cb4c04d165d552d8de698746decdea610203f824b572646589229ce9d3f81087a21b0ca02dd6725bfeb25c1eea543a209ef4cec35c3e9ee40c3e586f1d9238827ac52c89451fc7d03d9507261dd61d2fb037284df8caae02837d463c9de7bff2cebd6e6ffca67401d1c808b8ffd527f78d10368c55ca68b008b5ab2856c2042e4859904bb5e711f6abf8e48bde48e9f45a71ccf5843e7e9114a2c07acd4cce82aca8ef125c6dbdd05108a57e62c411e5ba045719ee8d9c861478d070ba35f9ad1156321f7d876a90ce6bb8f42161211e659d1a467bcb05463f23aa3d070863fcf6bba4af02e140c5601f5cf78c9a46698f81aa5e8f3a5c6c0d84d764640543c26f3ef05616eb7ca05449f1fbdaa30152210d36eee29bea8df20786b15422ed70d580d6aed7ee08ba6e1919781fed2e3ce53f23fcdbd892e6d828103aa046194b39c40422837dc45faaf7f303dec36ed57afcb4783435f035217e0876e6b48b726466afe66a8aea9ba0748356d198e9aae140b62b8be7164ad30cd156d63cd6849a703bc6ff7b690911717bcbecfd568e6875ffb3240a97128c926d0e28e2be5be2f6e2093cdefc9862913cad3d5860778f63d83d3009ffaac144f688ba38481c51268e15e02cf2886d78f418b13ac63670b63a85821ffb78acbef07fff2a823b75f32db72156dc1dfd4c005e7bcd0335fd002c62b7ce9dbde6ad9a0a8680ab0bddf7cad03bed54806c6f24f06127533ec22b2526de5b5d53383c405d44cb8c2174587dacdb90d6fe1c3baf2d330a13ab9cc1170087f2935161bcc069f1a34dce243406761fafffee5536038b5f5b701cf6c9939e89bd65645600cedc74b27b2f3833f1ce86bc6b7a6f2e81d43acbf945a172fa2adbb3496167d86d6dedb41e79b332a5f23866fd6415c981bdf21b7072d8cac5a9095fbe1719228c0bc26ad922e2784eb790be3d06efb6d61dbd8b27351a257588f94a5fa807ec5b8667c18bf0d7162cfdadd6f9ea4cd05eda3eed310a93f6e4fc40830ebdc705893bb6f9d83e7f310c72d6869479e5d7b5f076a2c04a5f9a5a92eba330d30651e928ac6f323dabdad00cd0a37615c20fe9bdb8f4e06eb0cce3244b2bb266fd6a1780ce517ddbcefe34111affe1cdcb6382a910a5c68da7b4b77eb754f6a5a638f84c4ca1bf073596f838ea251647389750ede40c00f074c11d14e7f14d3861b325ed55b7290b79f1f223fa770c9e6f997b2576681ea1079d964e4a9e2fb1c21a5302011e4af9909f8254a341b489accfae185df55f33590f04e22957c85dfa762c9e663b1db1cf08f482ff9f97ae63e6c37b859ab5ba78ea436a4c5b6f40722f7400b4579fbdefcdc47b0bbb7c9c5a047c4de1f64823cdbcfc6ac3319233a34accfe312a8b7b1e78cb8190eafee5330ae31586a4e2a6d86187d99abaca8b174e682fbeee559d79ba59df428c6e4e92134a0db458bda56dbd19ab063bb37a24c20711daf8646c969d1f7f9888e75cfe35d653e921fe590037c7539181026df52bbbfa1fa6ac49e9497c83ba532258b655ee8254cab44c20049cbe0075221d4c47fbf75241094dbd0ab8328a16706b0993ab2b257316fb8b64e150894af140b60aa622800ca729a5e9bf2b0e6b55439d5c1f809dbbd2035b08f020e66278438df068d6185977b5ef0c1a7b30cce25da0179a44660be287cddf2afe33bffba2525926955eee48daff5dcecee9054b31b3312323f8b883ef35a832c318aef744a906bcc38a58d583334ac9153c3098c42c41808a9c7a461b3f44c887a2bb1afaf36995f374606bc2722c8613e70d538dce2098c6d156816df0d9bbce9fd1379e34bb7e87b7c160b094ab7dfca60a7120e82bff16240c735efc71f07ed236732022ac3c635bbeb11c3e12aa058149365e47044e107b2c8996e32c846f6399c9a2beb176f43a0780a08c88266cbae219d62599a24ebfdd3bbce40549a492be6cacd1f968b613adbc5d0c1fc7e849b20285cbce7383e733491c627ad68e71b4c16ed24731ea6706daa57835558ee6eb8a93caedd7a1d8506e321b5a8161455e4187722b296d9fb4c1a5bebecaec5a3e75ecb9361ab3845293355f1002ac8a86c1d63c2206c0accac0879721ae1bc6353d2a3b55d39f46b17ed1e1234d4d4cf1781c14825b7c312d33fd7a1ff7ac4951f614e039d9199c745ecbc4851b0997f3bcbfd1244e888b4fd1b2d65062310579821319d5219196740e6301ff458e99939d206897293311f1f56c825f370226de8b547a4598587d20a04b350a662d2029f8fbe88d3d6ccb1d0a9d9ed1a6e1b247ee1d9c2caf82899ce34428787027123c695ea75cb17172bbbc02f3eef0dc90fab202f29edb4a68e2a450087df9c9acd66daf259d6c8bb531db466c87215061bb4309a0202e990f51819dff3b0eedabf6285ca1b8489715021524130ea3e7e40a6194cc9f83e21c219a303e838f1fcd8fe1a3707c4232f6e1116de9cd53beccbd1f2408523a72ae09143f2fb685a6328ad1e9ef1eab3d88064225d10d280351d710ff7f00fa5c6227080b9f598002e379012fdb8dbf281efa61d85534c79cf090053a13dee4ee03d95b3377596317f02d7ba9002027b5888a96ba99c07f5140060a2aaf358e12b79eb224eabd87e764e5477eb6f245b694f9a1d4385795f408396431a99a36d44f4668cdc80fe2486c5ca74709813b2443125494e0b4c87696e496480736c28be6650cc5d003e7a952a6d48ae1c17b2a0f54ee91a482dfb60f7755b92fed39607f1fb35e6dfdc71f92850a428cc11a4028b5e1fb3095f0a0900508db6c970a8fb5729c483ea68e77307c6104f07f968c4a8cd388c60cc67e77432f2983f41ad76ad5bc93d13f680315ef2d728c019acce45b98f16f2a08d2652e7662212364335e4eae5649ee8dc1da85905b66dfae4946c635bc329a61a597ddaf0bc721a75fb54c593f4528102bddc033b21e404bc1bc01f1ec16fc92eef62983a5369e8a98922fe8d325cf51bec8fe78936dda8356c868ee0d5bf34d82a2c2126111868d01ff6b72310efb0751f9fd642962bd6c606ae9b6df02a6c66470dbbdf4536a949abe55264c68312a4f5b2379c39628f5346bc4e5f3451c34426fb64bbca95ce33c974de428f07f2f01839ca252cd622909e9b7d4d2144399cb9209c659a3478fa519d3386076449eb69368cc2099bf72706cf0e2384c1a740e909ae94b27cf071c4d6d4357486848137175d344b5bd6e5a341b0d82998b0ac32260f2adf24ce4a61c0b194464831ab02a9e1eb34a41a09e2a2abbcb936789f8f38b76e8d3b8134dc7b71663627c8a1fe3dc28cab1e1564315903647fe27d8b430e609d8cc1332816fdb30246c643b4c677117ec6b5683e406feec4dfdb53295864eb8e48842e16ab6f5606c2a931a9f42e2944d1423f9f72404208535fabd9f674ca925a31dea3e6cb2272bd4b5a0007e46288be94fc768ec4eedf2196c8e322f613dcc426243170a55601420794a1b9baa27249af4555ee12cdeaf4ec8ccb1ff7d8d9e1a54076ca9308a6803df863d2b13b8f15ece58d9a30214b63fde78ba23b7245a7fefed9634af93676a23da76f797edd5ef2f0a2b0a7847a61e64d9ae83c5b1490332793799fb3f8b8c12430053af08fd2272332a3fc081e6ad86a1d8861f0d919fbb16668647d0c22b5fae80840184e5bfd5d122263389c4323f4fcdfd7ea3bb668548ed24c0fc2e2298d4e16b7db1903ce983312333f83c0f4fe3a2a1800a9bc2e66a0694a8f170e085597bb77846f675cbae0ce68d1570765699516c228a7e1f1b438223d3ce2ec6ceb0a032c483df4bf1f9193f121771d83c9f4b8d6cd48f344c0d4141d71f87644caf4c9e68098a8b05e08814b8e7fad011c89410502175de446f675f5f5452893778c33043f0ec21e330c00b93140ca83b8aced8778bc97725ecd6530004e9145dee41cbbda5dd555164fdc8309ae3e16c394b75532ddbab0f956e808da02882e4d00697670128416db2d0b729a9ce4e68ff2d009efd31f3dccee78e31822c3fe9342392d8da44953a41fd708697179a44a071a4b9bd17a0ef777419c5b235d985fef7a00ac001e9fc0c9cd1fd4566f4844e5a7c7385df50bbc312cbf2fe907d9128384b6f4cedc9874bd3e8145d2f36f26a2adef86d3cb93b529e637a34c2cb3d20333983f173b318a0492345d71818f31943c8fbf6909478ad7289ac811533e9c9e533d996615ee3a80406c5cfde1fa1af7d3adcaa0999e0c320edaaf485a009824965ef966482eac76bad6dea946dbdc4623c7173d72de0f761f05d03a9b601f21211968479e4b7dfac6faab1fd9c3adeacc1b8ea61e1079c149284078eaef6c3233db6b8028b23914efe58fba840aa1b631b511d5a329ce44470a7e35140f0fdc8b976a5f7764bb878b512fa4f741a80d91bddb25614c197a7e863959a1c0418f13a8921ad0b8ac46871ed826ffb1a48a713f76928868903ad86d9cbd0405469c99cbfe26a00a2406752e8284700ab66f71ab1eb95f1582ad405fd115bea74918124413ab1f83f502448b83daf7e8056677d524ffda990e795013169488e9ed470abda592f793934ebebcd8ccbe87bbb0489db8de415c03673c660edc4be4fa617eb60ad4357e1c03964164d51fa144342d72246d98ced4e0a1290c586c8a13d64c521f9a6ed7f3f5527be96c4e5e408a17325fe0f6c8c6f1459fab8731d27559783c6bccba69b3e883269dd689a73329d32662a13c7ba2d00b51f2979aa63d1fd8f147f2003e666f155650f7e0c1be7b32e2eef1876ffa1ca6d8c69bdb9d2592dc4c41ce1be55332415bca1122c7f87b2a322ec781b695e08ef47574ccb12dc14d9f5057f14d4d8ca3394c90a5e881a01cfba5e8f805b4fd19be35e0a25280018516ea86572f67c1bfb1a1f00285be2b1948e57226ec86bd69730a05ffc530b391eda02cdbee691e46ac4390ca95e7a8b7163bb3d127010c01f6d9b70987786d0d531f45bb68701be010d71fcda7df56696dab35912c2710b0ae89a5f7db9a89cd0fd7bd1a39b3955f1b61484bf74d310e73f739389fb208c3b8abad116c15476ede084656dfdd4227465964220896c4b7687d30f67698c95e2977071a6a29ad342475dcfc39dbf40cdede44ef60a2de5913611bad1e2fd5ba0a33fb0be255da72e7252d526e16ae6a9323d28c6449820c032ab75b1e94c59ff0b64b121c59d2cd2c9e552c27dabb4b343616c8c80fd4260d1c01268c0d49183353b008ef2cda5da3dcc8add3588034c8194ff888b5490c4bf8541c795e202e7a25bf7943981b7d22e713771b99ec1f88e6cd920375885f04dacd5f6bf0a4392424aaf333770eacbff909ed37f588f985e569e749dcb30394569f12da78e3e8947eae8a9f92603543da2cf007870cf081d4090e1c3a28d2f8e6d82db3808141a84318c9ed60f197f863825f5bee0cf72f05743ddc18c4bb664a68a62071e053ec1d79272d3d6c7f166c6ea84a03e8e3cb524da64d9e4d4dc902da3d5c681348c92ee4da7dc48e4e5e22d06d4ba71bfc3d9c9d8886cbfa718e9919c863a829d0000d370e099cf2fe805bb972087410ee2be48f4ac2f889940742536d0674da56066893346c12491055e9c6f2393980653aff5326a3032316e4eb444ff7583f8eb8436cd592661fde0c2b3be72f90601ee7dcf14f22daaa2121b70400cf34ed1177d61c0aa4dce3fd7970020eb77fcb61e24b8c7099184e73e83ea22763361f1023550408c8f774e624329b9021e544a2671844cef8d266b7a2bd2622294ed5116711554d3e388497facffc83fcdd8a3f4849129db1e7959cd5c633c33216c07edc794800256f2a00f9fc91bfae417dd7cb5c5327bbfe713b35f7d9921e4161198b059b666884019d0ed887bf839f4fac6b2926a1bc613bdaea84c98efe37bc35cbb03167d60c70730bac98ed4e27c63029a5c9e403e7a9baf27a0d4bc7f11b6c8cebde0c0dcc211a6899214c0c0efdb1d0cebe99dffb5af6e68170f3bc9528fa1a7f6352253817bffab9394cf8f4e8aea56ab145b3cbce99fcef2d88a1e916f71d8c2a8232658c750e2141014cdb20f33b9cb3bedd39983cefa679d99d7cdc5e29acaca5457fbf88d26e9ba1d0f47d4def47f234d529a55e9bb5a769f2f72996f6b74c9d51aa5c0d1bea67a662f0f915c1223afcd7c9a476e78b663b0e39c2f1dc6c0591986aafdffb39df964f7333dab9145f2903575ee32b63cfa83b88b612229675e12b65f73b13111757b3c23d783be4ec9426542569db76997d4f20c996971ae741757c6f7d88bb45660e3b53b438940a77d6cae0851c7eab809c7819b48d10604289361e00fb89f7c2d388e4db1d861c6943ebc2718ca44a74e7d4ee6cbc0e028d6c953904c75ba35b644dd5613325fb6b37ae572c49dc3555453cafa5d554aac660a249b9b09459f8b93ad506d601b0e2c5954c032ae2138d05c42afe63975ee1bc7e12f3200ea3f906a7de368eae7f728d09510a634d28734c801302604519d792d4c3e4f3eaf6594086999bdebb1b40a525946666d6517231af5e6d5bef7447f2c93698e7f44d7e41bee61c81374b4afa5a4f2463f37aa19c8fb7747231452a6d5ef7b14ef0d0599fda292e04134549d6045b52f9affaaa2206ea5c632041a900d66446e73dcca2c104eb0bbaf76470efa7122058e8c31f4ad4555f70e7f6b161811d30954138af2a15519b00b8caa0108856e427748c44613415c05a47b1a37bd57bc13bf26508432a9ba479484707e28b0bc5e3d3fec2c2016f61983246dfb80dc1db2d754a99a77484f1f8d147b85ffd88406715d9ea41ff8ae8e4a2f7f160d20742c9971f99e510cf410968bc619b5a1f947d0ce307b8e85d10e323157095dc0fdecd3d2a35e05aa700eab28884c28d0871a4977874cb06a923a46eb908213e3f6d141d327f54e1684164d3728ebe70740f48183b37c7838baf818cea6b6bd12b842dd1166aa8ed00d1d895740c191abe0ab5691a5199640445027ddab187464b45f6cdb5bbbbba462287acc7d776ca209f2b964b6c4bd4fd8b2891084aaf49aac396a1403810336edb1caa1cfb58f30d54f444127c2aaca9684ec23af507c2a7d7699e2d8c2b92f4f172e759abdd9eef3dd424d088d5ae31461d3ab98445191d22271f74cb9eb8883d731705f6ae12b01082ea5eb23ba6768ad582bffaf20481bb152482c207202420f518195fc6f97f3b7cf0d2611c8fa1b56029286c9efde162cc03e6704ca9876223e4766c6a5c465d3e05f9df1775f55eb40ee9e4de742b3cffe163879023146f7ff7c09241665d471e7ab2e6ac47196c24d3dcd268a629bfaf8da3c52fb78b90d75ff8c063ae907a0f364a74fbd6b44aabde9ebd0828c46f0af8877fdca74bdd8dd7205876a29c35784f2078614e72e303c5293c56a30d1f2026f18f23957b7bf8c959b8dee5c12fe977bbc3cda6ae99b836f4b671bd30370dd6278128da40243ff9e1396ff24257f9a7206632f5e5b4000ce5ab24135c6e3a4f15fd415593fc444bfb2ffc9dd579fc6c49e2befead050d9cba2b33d6e23ce7f7d83a9b029776f2b73fd57cbea49c3cdf1dce7879c943903e3f3fe23cb6fbc6bd43306966c96ece05779e311e0f336688149156c7516c62d78f6aa3e28a3339d263d97bae7f280129940ec9799c82ab4f60edb6a70327f02a77042df4c66d3400fa6dd984d0ec81b253abe9cdc1445961da07e4c21aa56196a465843141816156abfeb58f167d13cb78c5aad90173a38652ebd14e282e22921aee9d73fd4b31b8a83f5126c4a0662b0677cafa948069215c5ae507dea7d4a77e21584b5f6150f6cdedb1809ae87a50c89c60aa7953a74be8e6a676d10eb4437f23c64654d251b02b686783c8e74bc47e4eac00a9f948ba19aaa13fa1a95c038212663c789e4c22a7b4d1769b968453515e5fd93f7ae34535ee3456ffb00e9729536016570c8f47871357bef545ad6a8392fa1a8d9856a50c52200a12416735210f2ec21a4d21d80b136a0cea910582929c0164751edbe63113b33ea8f06567d751227144e0c721f2a72e7901dbf1a4985b686bc00299172d17e922d077485cbc38c23f51514770924b22997c7b719a128f94c021a6b36e0ef318cf757c0b1dae95945fb1fe73e65093e2a3e329928d118823ac9fee728df6204530769dd1bed58a616001340f5225b244d8595cf073cb9ed1d13548223ad17f79bc3d83017129a77a87c2d20589ee9b7e40043ef71ee54841840e18e9fb6d874176030e9554b380f771dcffe385fdd4ed6a9adbbb5069c1cef732171b55a1256eced69389083b4239868779062afe2dc0033467c541009d065fa7d70367e72723700c4096f9842437b38c862c1c79199161661058e80260ab8269049f6b4a6ba5c8e8e2b6353d96e931335b8d437197b7be9c293b2cdd553162118203011a586717748185c4399cb972daecfb8eaed4d9c236ff885897858d5607a131b3d8e4423877994a764e734139fe2276bd9c692cc2b7b5053de540c23aaf5136c6332713362d202c95249e4543abc99d3dd62282dd4e01dd0cbea93e5f4edec1afe552b08b22d7ff8d58fde9c52f886fb749db12e9bb26c15ff478ac887c764cca345c9d780d5a2a8f0eb3a1a2c6d9f6fe2328a2ce7a386edbc7e59ecd8cc875f36da78f057b08a881a5bf475e4e545a0ca5cfd78ffe55e1cadc38955476f2fd61cc64884a80ef61eaac8620dd68f4dfe6ace1932454db008035d9963870095f1a4e41bf71b5a34350044c3cc453215d5ba58c28bf4d8e188202a045e93757013ca4f4eafc63aa41441cdcbffcd2af93ba12567cf3948cfe4b679e1527b761184e321d0e5a513104fdf2ad4d58e11f74435dd03d1a821eca4f0c54ea63b73ea12f20c39607588250934462f7f51059a21a074f097c9d6214e3ca90e7b39ba5220205431e927c4d00c225eba3e6d310a967bac0f7052a484d75c0fd752ce67e6b05ef32bd01f307bf957cf7024d851d38ebb78dcf6881f17c44361b7110209bd802498d6c928a10585c30f2db2f7f44f4c5bbdf1836564990e1c66b20a98610cafb9f5cdc65808b344c6718bf1d71c24d742331fd225bdcc30303af45f11c0e5f0a4cec46b352bea11517a4d9b0aef2a03f393556d08ed0a91b46a5f9553053b63b9cee135ba9db72300a5b96b53ed56ca92f408408c1c0b6f8fec214199f0fd03781510314ca96c05e887e14c9645e19f0e380f0ab88f89170fc68417ec4ca8f00e6f5995f84f9914d930593a6c9e2cd0a1610cbd82cd8ed81acc8cebca01e19fc450fad99ea811d0d7bd0904156851c4e34663a67b3adb53a31e6c08de8e5fbdb322334fe6c86876b5ca45e505f9313f43fd2addf4a1bb1a0bf038b44575a064a76e4bedf1326ffddc585b4c1472ded7ab19d41aabb6158515037de8c455fcab9fe28309643ff0f6ad4bd2804071d37647ceebffe3cb415b4e7ca22a742932c161f4ae83f702dbe656797fc294fd6101afc904b9e056c93456aafe853c27c4169715d31a679c949ce246e4f402ccc7abcc6ba674c3a8fe8a1d094aab262d5a8582ea6f807adc0c5da4ade661e4cb61ac817ec72291ff598566c83c5e12b4795892da0344e1f67fcf13e46e94263122c087034c328fb0294ac1ec2f92b066671bbee18275f0844d5a29296a12b461265d0ef79270dd39072c3d0fd778ea1e4603f949062b24032d2d479d81e51de4f0490224d380fef3d5cdf41755b4278aa1d76e94a79270231bc19b8cf93cf6f0eff27d2441b5d090b0a3c2f0138d4a0eb9e40576e182f6b1a747d07a5f9d2a974dce5d957d4a7d8a24183c7399473b64c163de90b43d871454253e0b7924ff6b0e30d13d312da3b54f53bbcb1af4e85a08b5e73c53a1e2c07fa0ce29bdc101d1a987d6608d7c571c199067f235a062e102097afc8e55c1765a182edd7a34137c2187631dd4aabb1a72d0109de8cb57c4e59ebcfb8220125cf4561937816eb5d441afc0c650bb736c8ca5800e39396a1c267bbd4f6a5b54eebae2aa71288c08288ce72c850a82c7a1513db07b97488559a90c6d427d4dac4f4b18c96006471fa2586e6a8a5b8d093243a1444f313540ee07a073a8589746424493f172c28683274b843b6d7d7593de60aa5bce2a0cd4678c2994de94ca571ed75fffac936ed91b09004fb4574e47b620642def464ba82a56541d18d3ba5f9e730d11f2f9331861c92d0ca79d21f5f23b9740fe83bc70875124a3f4bbadefcecc03adfe00729ac77cbee96aa73e16cd95751e680366011ebef26ab79dcc16a1ebba9c78469b4999aa91b6bfb7f2473b17c7f25a2e149f24e538f023cfafd710aea7ca10985408a367a5384dae7d3a5a5fc60c870e20983ba0470c932e704a86445a1ba8b4ceac5fc6f2499002392573f22f6bf983f43e49e1360d2ee6f54e0015178bb9093f73342e0062164ffa9e9d38403d1a566cf2c6ee51fdd5a3cbbb2ee9db7f7d0229231c2c9290bfa33e98cfb2289e3172039ee540948be078634655bf99c0f241681a226105ac57c528d0732e383e29b81c32c1848b9a1b8afe29972ddfc70b3cce4c7e18f4374cbdc0b0b28567094926be12a36333595e9f0a2dc27080ba9926b028043ad4f305c72bb0fa0136cc4dcb4b7ed4385546c61db250517ffb5860372a87c07a23512809ce8cca9c506882f55a2217e52bb5f63746b616875520b60209f8e240574eb48accf59b9743600ea96d7d6c2644f600ef0599e794748d015953bdc6b76e222aeabca8e4f1e11755a09d36c1b6fb8ddf86ddce7bb284e48a9264612ba6230a5d7b00fbec79c990a6dc0f23ca89e66c7eeaac183611f948bc2311c05c7704cc7d1211d92633a0a87e4900e92433a84637294c301e0c48918b0077a23cd654ec9a903115bc921f21ebd7fe0ec1ca064d628ee73680b7e18586d69c90ceb830a4e0bdb726075fb607618ff6a58a8e248e7486978fa0ad8937b250974d5fec8d62549c1c7b3350537fc4a089fd8984fa1c3144ae3c8f349b6ecaf8a12258380de42710ddcdf9a634acbe0111ba018e09e95328a009b713973e08d9f83731f3f2ad71e09a747a98847a0ebb86efa6f39656a39152147913d6aa7cff53018c3019da081cc52aaf8317498b27e39650591175e1b58f2c04f03290ec12bf0f48f4cbe8f02346b523538d0398495e0c0adf8922a734d0498a8ee9cc5ddb9d2c2b37b218759635bccd2c88caa02d8f1dba63968c39efa641e6c8070d3b9ac9e34986d3050d14a10774e460d2c48dfe9d23ba86bc4ba33da1066a97c36378a1ab3d89241a42de991f0ffd3e749e39bb2eeb0792b656c1a462f20c7abfaad924cb1b7ec9d74e507979f74dbc8c197479ed1edaa236f9976c5567d3bd69656bcaebbb5696f43dc20a53cb7960becb98676c5c2180d477da0077075000eb010894adcc60cb7ff24ca10d68783c0288c0380eed6a6aa2145c7bc34ada1474b8bbbe8dde46e2fe9983434c22da740f1584de1c43f55b06ff157b16a18aeafb6b7a3479d67ab74a108b11db2aa1c2641c974a995611bb6a92f4bfe6a33648c94e4a29334c2be011c947c99beec2256679789da379a4288caec78ebeb3495997b21dfae29b126a58a0d8191ab72d47d530073dc8e73533ec47c7bf6b3f4672940b973a6e23b027d612c5845208a7d2ca6ece770b6a698862677c24f478c55cbadd0485e977832f462654b9106eb873423e5755808c20dc8341331f0d5d042b401068f57f51c9917e129cb2ba00052a94a3a679cf0c81c03367d782c2653ef422487a7a923a9594c7bbb83f889007ac329ac6fff01c98dfe4237417fc44305a0e128ba95ca91c686459033a8ee46e88f78b858b94faf69237563b122bef7da0fa0176041c04daf143a2da7edaec61b438ef2e8f495aad470aa9731b952a09082cff3b4d2019fc9f6ab2dbe10f1f0ab4dab14a1f489843710558da17cc48bdc99040dc59416aa696dc93c314725ec94b2148f2b8b3178cdac104c7762c7dc6367f9417a1c541aa7db3a921dc02dff80a96b166178ec82e9e03623c817507ea64cc3902bafbc512c181d3ae5a2c50375c585bc3d81eb74ec7eab22d6dfbc012a77435981336c2ba0c19a460d3b96268dc5e4e29e572b114936d444a2cae511e9f3304387ffe0aac881a209fb82d5ca91c201ebbdf7972c76450da5846aa822b28d5e0aa40159170dc239bb2e0f434f0443306d8b16f1207a1d9f224a819a66b48cb1aa23a6e0270f98f46d1a1f1d4bf97b578a348cda9ed6534663853dd02b58608675627b2496ac50c5c42e1573f8981730576b2fe1f2c44410a6126160bed20bb7721d69078244483b8a3d971a2190bb6864e9ac09fac4099b4babafa7af0403ee4cbfafc1baeb3d20b95b78cbe0131342dcc90fb7e6b5861dcb9b0d215bfea125f85bcf7d7e286e5d029b1f2a3aeeeee04a4e427eeb0f64881bcf891f51e7192cf588eea3535aff418e3d405cbcff007446518a748f54b191d6f1b9a05839757aef53e4c6a0c514244f54bf9da28964e947de23b94df642c78adaffea6ab36b2235642301c33dbd8fa3225ad27bba3cdd4d825804ff6890e39836b70eef8813acce6d3a66e8733734c0e31df3403aa734f64d2975142a04b49e5099933aab8605ea571bd0acf24e1fac84939af9692579d7339d47cd73c3bbabfc10da4ba4f102522d22012ca0f3041d614534a0749b8992edb861464c74953ef4202605245d209122b7b9178640533bf17f4c62d8771ab3d9552b1f6529a98c3dd4bb707f92c4959f99cfb6511d62210355ccb506ba97b3569f5df11b21a28badbd209ae9a72e6a1742bd82895df97e84dc8781cff28bda969ebbc138fbb79473307c878a04a0fccae4c7c1903ed841fc96ac18310332f066c5ce4489f24931192e7223ff6078231066a64f42dc7a23cc359043b3029f73858885091bd3dfb40f386d30a69e5604064fd998dc6fad825478e7042bd57d631659e310a39081e6f1c6943e2d019113499ddb14787e5cb81d2f5d0d927f5fab05f06b07f19b7a73db1ce566b2e15f6fbcb03bb4f0a079634808e110289575685e28a1e18f0c73a3c863befa39b14c46c5bb7722d5206f462763a4b5e738c4b0fa1d1342e8891e3770c05c46b60d5b540f25dfeedc0c338f16e6a8c4b213fdb113705adfdc26055f63b87c0f16b895859688304c165908efa9c85a7839cb2ab530dacf4aa15221c6505390f0e2c79565162de7189efa9d7b1a9aa427988401a6520bf3a6c21b567d32d580ce4b47d04cf664876c74d0c9b365f197d774288f819d9e98442102302ddabbb0280a63cce8171f1dcbee8199cbc264a39e56aec7abb6b55867b586538bbae6d8cff6bccae10b257031b7b8ec306f4050c9785c8f5b55124d8f777893608ec90c756dc377de7a7a6f5c4be62411ce6bf40ac7cb4fe9f32494c9a278781bda15364325a64a76584dfcc413b8b3e4bd75d25620cd44f783fc8a617fea310e0154344fe3b7ea64a3cf5c17eb75a1f68fdef9b2f7894a4f7b417d6cd5abc8d11035d510bb67cedb885d0cc46907aff19bd695a37637b66a289232d101edd37e8e469f1d811054d12f181e16ab877709bd62000ed139336184ccf26bc5b8c4a84366db9c4c66c2f8a55b808ef7d9e4895bf965ef19547d8b2563071ee342b513625e322f4411ad34850053bdfb4e11f247be60465b26570a9e94120dfaac0cd81f66ab488bb0470884440b47c0dc343170d0c0cf1f3bfac9e7d5b30211fd1b82428d20b3cd9fb37cfdacc966937e92cd77c47a001bdb48b9ec23deba00528950563528a207ed29954953ae3b9e365701d31ead22b74fe5532c8123b06300aacde63a2bfb77cfd3e447a86a5baf2338e8d8c07473b636b1d15c3945b2f3e0203269934304da3a516ebc98462acda18afec3611240cff8639b45176e47d6aa6c150ad03d6dafa5e513ea187e7a9b5dca07931ecd7bb1c82e3a99135aa2193da8f9e1b6805180e28ff80c82d5669f90e671ac51556d005de8fbe38f88da14d5c52514f18b316c117c1a4fdf10e2f5990bb03a9e96f9ebf17ef2ccdb5daafa2c6c83bdb57865340d0d0510ee68091aaa71c0b0dc193572fb130a4b40f348b99d504128629cebef5cb6ab7dd914398643702a5236f26eb3368144a26ecf5fd7339dca433334df735283abbc7eee8414ef3f03a791be8fee9e1daad1f6189a45d7a892ed09ba95862eff335d2d0c7aa42b28a1017da93f01a599d84f6ac6ea0851d2a34b02502af44ca7bcfa2f1101d567581e537f221e89a88e037c33316b3e5adda44adab48f3ed1edbb6c6099098378207b3d736734b4980491207aff4acf58ab14bedd334eb826a9ec5ae983fb0b57b41c91abd4ac16e3634cce4ffa6edcbb667531cd9b8b91b2b997cc9d5c395f69f75531cad31c9542df239d9fb99d42ba2c22e8260de02095ef1f5785050c912729483b06444de13046cf45443288ebb7e91087ca52eeb0ef0133b7e384c8375c354d3f832be71016d362f5e73db4400047bbc6b5bb81924b51d5e7aaf1e65f02e7c131f83b78f6792cd29a90188e67ef2d962f4cf58c7bb1612c110b07620f8bec823201190030c90be498f174bd7737a5db3209c4f009fb1eb089fa28988e6e5ef3d6b77a2995d149a9471c83af33bb2e8bc15eeefd34069950b6a9bce27475327f152070c3718b779f3231146aa9e39ce6fb12f159d172617d1a26102c1c79f652c2f346337e9dac755efef0a135f7467248d0a48fab4391578c4a1256c53703f650f0786794d95d9cf68493cb57eb3119005f2a0d18ff77a7d18df2922ee5cd99853cb08828fbe4933f43b179b69e6b9c04503b69fbe2c1f73832d2ae16603f23e18965ce98faf28e4e58690727b6faa197519aeb55c84673535415d385abf13a6b63ca2568ca84bb83fa98f0d620752a0387318141a5af6bb9958094b4f49a2fcf9d0f65c03dc10b1f07c383b2f24f6777512c42536493d1d45fa8e8516c109a0417bd7ae885d91db47f4391bd94d5d21d707602eecd9a33fca123f7acb86bb4adbceec0febc2c8e38d6ced3126efd5d546313c7e30000bc16100765b01d6fe51c3dff1d5126a68b5d5798ad36c957c31f6fcb3981a6da47a5cfeea9bf752b32d2faf670f4e5c90c7bac860598d9a0bd2988f99a77b2c6f8d6e9f6a89398448fe1cf6f856a7a82949dbe4bb9eb6770ab2b1362ab5f02cc30fe01a6ff26da3a574a008222b4f78839a8eb898a9dca36f14cf2a3a71f80ac75773a4dad6a9dd6388b65fc62be0827f324b8e8b0c0b17987346be980d6496b9c27d240f36207c295f3aa385c45017c1219f9359f48b66f1c3aedec6db2fa1b9277f81928232826c0b5d3a806994613d73fdf9d64fe4746eabb04aab4b0c831e266afd5378ba3bcf564e8208e9590045e0c9c10f8d6f937b86496c6594b1943012c7640c413e33c4258c50d3da951d1852a81e181df60f9e2b7fd2d865b50b96d1aca8533f24bbe825d3169c5ddec3d8d078ab7bb2acf888dc540e4083c78e7d1c404de5b26ee049a400235a23bb758cd047fc0582be6d2fe581df453c7acfe850e7feeae35a74f6460dc375f5afb6146d63e85837f983e6f8aeee649cc4e0ad184a21b06f78320a95a2cdefa4421aaa935e18e51067c593902465be414cfbe918010b02ed5efa86c0ccb6d386e44cfa4d9504724897420df92fc9bbeda431bce46335faa113416806a071551f01bfd9f267b7beb2ea57fb2d55bf3f51d1af139f7e5984285e96eade08eee99cae0615b323a70212dc5de64aec3d33b3dd516c0904f2db0a612bc44b859096653d9a4526c26f64122939683d213b6bbaec61d859c4706821f484f140f1fd681e470aca5bd46cf9846ad9ad9d1a921d391da5ca44472007f7322d425d3113e812aa65c70a50be78e61fb737d88397c051349562513c877ee8ee3d551871202816113e7e5b14daf6daf8e8207982b4df781fb227125fd6a696d05ed1cb58360062d675a461b69a4f72cfebec43fc88178b4c0935376e6b8652926f199587534917982098c82ac215547cb9f364cd6e639f8fe98cb64d6324da4234f97b3d9a357d3fabdcb22a540f4d99c7aca4fbc1fb4a7df7939ead8c21631e9aea2be3ddfbae66af4e0a113bdeeaea94f470a376b4e94f52a66737e4449377b20d103bb86c030fce4cf9a55b4aa37937c244904c1536ec4e6ef526fd04d4eceb3da88269aaeb0c3c19b7efbb4ab83a0678c931877a209889f646f98a00d2bb443f71f68198fa7388ecf1c088cd4cf873799df92238033db06bc3be0070e121142d8529ff42e7e5709f479f4449d8da26c90982898bbd4278d27fbd861a016056117ba3aa40194b0d4e4a1a761910b7cd5c6b6b7a960bea51a48166d8d4c027d5ab8aa4b3e6796f2b9cd7d26b4f9cc69efb8561ad34ffb08a3d5ce7010f759f3b314d9a5b79bca696e7115abc2fd28d49a54275f30e844fda8e6207b3c74b8d92c21ec3688f93d8f8a62d969a3d6630a4c707f4a60732c44293dd42c6e38f64bbb26dec3e36c21cd818d4e63bf3dc3888ad563e583673fcf06575100583ac2fa00a23e505d536806909dbaaa234367b51700da4f941ff370ff3e45e0a9ee64a67da7cd1febfdd3ee52e76ef19bb51d6e230a5a26561172c3246ecc282938525a9d4df69826903ba82831f6b83d41f91bd5c0a9d53f4b3ddaf7413029b14a870fb3cbba6770ad4a64d67a2a9e927ef03ee85d0532e97279d788e55965ff41b468370ac3970cdea474c29cfeef94e58b8c6b2c3dabc9dc626705ea88b716a1b1006fa89d8dfb76d15c09eb1b65928b96023ca83e38c37f33bc98271cb13f5024339ff72e8f69a556e51e0f6f7650d73af611b4889569bb74093e14447da25de06f828ed597cb3c418cb1e6eff87a6074f8f00df25dd717ed8c95543fec8d518d25ff451c863f590d1100439e960dc8efa8f4c88190308f47ad6178f79799aee4b0f6e8fda8f7d2f55be2528b9a75aea7496d25ab4d0c09ecbdfdebf51c9662a361a22b6a64526558f09768529a71bda5b39f6807c9a1a6c3e0d09b487faf0b82c41c1e6af5707af0b33a2094524b1f4b1de63ba6356a0adb78d6aab51fac698a8d6500f7c48a11719d9c4c6c19f2922faa8b52e1ce366698417cf810fcff0c99723269964a1bdf2e9e1acfdbe95e54681e0ab158c3036093d6be362c7d051a7cd6a4b3e4b1ff5f66526d8bfd6d56dcb888a5d66934012246e5d36cc2bb14d2e607a86abbdb4f3b1175d2f203bf49d2075315cbc07eb3090a43e04480a4bb97610a08b97bd4220a57bd8b5ab267fca46acca5263f83659e5341a0b8f569520ffa35244c50695583177761b37b00a6863ac2db7e5cb28413b7c5ba50566f1cb1f4a1c70d2b53af1fd38ce45a6aba16cc6d665b914e4f2bc4361a159c7bdf5c21a38a6641623de870396d18e5b0e6bb814bc91c2d04bf2753f3140964155632070fea2ea4705053578506b5ae82e1dcf0292e120b6a77b2cdf93a08a0a03e74ab876fe1a12148c93de25cb49cdbdf4b2abdafce4d8aa091d6abb95cde95ddeb14ec225fa39fff98556cdbeee76d89066ed44d6557adea64062f95d557041f96a8c909405066d23fa2e3764478db3e1486106f52bdbc9b1912071f082a3f25eb575d68c311f83f4804832d2d350adc24a0019ccfcf6ce923516a362a6f499c70ec67631f41b297b9e6ea293583078e95b45c6d82ab13e451e3f0f724ad93b272e096ca9731414649dfc449c10a5b6a996917d2f3e42762fcde563947234d8cb229d59356771b5841995e5c8b6b70b759ee7495a1ca640b3f446517e7f336de8bb6827fc4f9114e47a24821a8ca4ccbed2eb4375efc7d62357bceed99dd75810f88fe43b970b6ec45bd159dc42aa7f805572e3fc352edb06549a56094c9e280030b209bb47926872bb2dff503badd104b498b0395ac9f5f22fa30c704007a253fafbd6948da619fd75d291fa89b2ba38318f5c4b54e2c2084f9269dcb222734cdc29a4078d8823c75e936deafe080e2389ecefea13c2fa150f4af02070505a6dfdb1762ab4a973a8e344504ea709bad5830d8d9a8036d9bd569379af63a08a654953b9ad4d0652a6df6ed2ec6abac8a1a15596dac90eddda719467c3d79f7878d9f317e4604e813f77a42c172b86090e5f42a3fcbf9a1bccc3cef90b65fb164efbdb7dc5b4a99920ca10adc0ac10aeefff50d042840c2c418b93932f0011f1ae0c0265f9bc482d7dfe6561f8773bcef7c0f8efb8ecbf69c212e1b76d9d1790b4852e77b74f0101a9b1e1c3c84fbce77b0cbf6f68b908678df79cef3e83ce7b7e7601a9b0df3e0bcc534df739e06fcce1721499224792f495e833ff8a04367cfff9083e577d897a0cbe6852edb732f499ebc972589cb0e9de7be47e739ce0f71d9de7bee3bdf83f31d1e62b1cb865d76f09efb1e9d7dcedf1a5ce4843f3eb0b33e64625cbc4e6e0c3522616c116d5a2e24cb5adbd9ede7c83e7d4286fca5a0ab0d5395e3023c55c10c0390a24951bf49efc9e1be333d8205929a3a24a4125254376ada62e4919ab4da7d9d93d3fd87ab1577fcec9e672ca4466ea8c8e8891ec9944817d16ab582bb7991f1a301a0b0a1f2afa19879ec20542eea20e4cc347d0582986648e7bb213643c0d78ad80bf2a47df07b78de837848f79df7300dcd10f0b50ec7bba118f35e3f0ff0b5e7d17169bc03f8daf7e87ce771be08e6e13d07d30ce1bc8c3ac46688f75f2db26d1bc7713594c121536bad55a5ba37f639dfc3fb8b87dcf79e8387d8f0b878888ce7bc8769688678ffbd0d0f19cf798b67bc24b99bee733d9bf65a4fe82374d3e5f0e8a799ddb04b7d1ede7fcf83e352f10edef73d382f63059ff7bcfff831beda193fbaea837b662d4bc5e3bd9dce8397d4b3396ad3bcd7134a12077c2ff46672c6534c64d412467410d9657cfdc445ff2815f7ab6136dcb6c41dad97e6c8c64b197e74538d1ffde4f2a3a3403f7aaae547578d7e43e3475f85dfdb0865bc4ba87d8db07b2fc6d3f83cc8f32d21cb4b1087cb104a928d50925c4249aa114a524b2849a0509268c458b915936d49dc89dbc5e16eb56ae82cdbeebdefa1bdc543ec6bda0f9901a48730369331b860b6596a6104146ad8575cf4ff66608e0ea36712e674c73629e1834bfddfe17d833e702ef52d204933be8700523ab8620c246b0149f2704dcde76b58bee63ee76b627c8de76b3a0fbe0f1690a49a9aefb5af91f1dd73d8a5e21d33701192c52eed3d8fef3d4c63d34fa3fdf78d79c8a0e95ec6172135151743977eef25e90b5d485de8d2dfbd2469a14b7b60e81c138b2afb0d8945923a9204eee8d90cb9cb0e01a474d02a913e4ce37df75b12b7651d73d17f53c11ddbd447340ba4a9916825ba098e4aea93c3f56cd671d4888ba79b2c6720f229d29a4b185cbd552073a4612b63342ac661e4ca99124820789c5382481248d17caf3189c769050c5487e7eddd9b72fae46c8fc36bd839a68bc71193b11c5223aea65b70278eeb38faea1b141bc000af27c851cc2b8a9c71c9ca820c15bc6480be21c48a0170a0e9c29ec23d24a46fb414b279d0859bbe99f3657223a4a84d0d9b234942c2c8a94ffe7d436f8db7726b8e5cfa39d71cb93476d9a1fbef7b78cfe121dc7b3cb8f7383fc4fb0ebbf4c7bed75edeedfb35ededde7e87120c3724eec73e5cd32e19509135fcea704d97a090ed0bb41d71b9ef7e8c9931f671f88e39ea9375f52bb416bb090923d9456e849740b3ee530988d70efe52b23f8cff8b3b7555844d9213902329739080a44276f9844f11d7c71cc909849c99ef8f02297a1777cc912491e41cc939ea5a348314dd88dbf99bc31c891cfb37cc6186fc3b21103380180552741f33e4cf8956d430e8ca16fdf1d249a5043a8de2799f4729fe7cbc3e7dfac606a27c28083e6f0350c81d7aee6133e27afffd08ca20aee636cd918cf65f8747eb99c32d6365368c81fc3081e6680132e40f721919ceab16b8d4f7750cfc7a0b1f082c1672c72c2747fd825816e4e86354e48c94f1213a0ccd85ec271d9dc434474d850cf977eb05b9cb5aaf9c885bf3d8ab8d88db79ec9595330eeae8b225e2d2bc15719990a2be71d19ef392e4a261971dbeef7c0ff0397808e7c1e73cf8433affbd24f93b8a075244f23fba89fbd14f5d97393c824016bb7c898fe4741735948635c9aecd743b7f0fbe2be6436c8e7e78777b30ecd80cb9edb0a3788024dfb8c89990a29f4076c3b18a5b853b15eb549e7165d40119f29f62abb0c2007f4818ff586c5291a17e2b765ec9fdb4864b75de79e17d6193be9733dc6853dfd0f0d7137f6dfa42496a15c8d1953346e48c946d83ec31e81664ffbec1a369f07709256fc04521ee211e7dc3074983bf4b18ff512ea188fbda2767bcf76f2aa408888b1ed3a6390263b228482ff11e3622eecc6d0aed36c495a4f17ea124c5d8cec3bd0a22454b80b8a8a9903173d41d1e415c8ca9e66ef807f6e1e296823b112043fe0b6092fd29ce3196d5f9862a393932934e5a1073d20218115679fc2cab20c24d4c0d3bb84852e90032d2dc84b8dd7d63032434ad9fde9a6b9233ad691a7dfb4d4d57fb184d7bb7d7f6f7984f436345b22fc11d168366c85ddc82b89fc78f89a94194ace1d099c6ada1259bf163faa4e40b59c3a3cc575cd32724648a47fbde9a66e5446a9123900c390d40f6c6d243eebf952ef51a176ddafdab109796a8c945529c252749a490c71850b3b0c8e00e9a6307fd5967a89f8e7376f222ee130b0ae3809fd781acef3b1999cf9399a30fdfaeeb5aa9d693570b8a36863bd29426863bcac8f8e635059e7c196b93ec1cdd0e088cb9d8ce0e86711e24be5cbeace4600bbebc500bc31d692cfbfb532a74e6a259698c5a7153b694256798c811e7fd7b2947de778d29930f8fd449f60e8f748becb48bec32f669946b358eab956a4f35ebce7ac52695d9955ada346d05b634e76cdd1ce48c6c233a8830b27f95ec9ab7d81f3dd2ebbaf95c2843fe9ca7e5652b3665d9962c189aa67db6915c99e7d7ef257cdaa7ddcfc7b06da44df34610bd35b3c36a7900cd794528499aa6615931a825143bd9df412050c9ada02e4f924831a12c3f945648d1bf458aa8153750968b162045ff4e1ebf93bd9fa32c43fea3985dda95aaa3cb8d71d42aeecca364e190339d3b0ecfa1567175902d1fe4cecfb872b72c91f0c51599bb6fb9a740e7aeb327ef07be272fcb4ba97dd6639fae3c78a4c99e09ccecb158baf8794f821628d2c44d1060b8c008364a8802497a28c67bc20f8e118e347bb2dd4225dedb90872fd3261ea2c92c7f4325ce125296f7d4b34fc11c16d3265be8608efbb4e522ce7bde639fe53d1bd2968bacd5b5df448a1e0f279432e4c174e5a2cd0d42c016c9178753968b589ab8a8c582fd5a8b79f8b287c5835d74b86fdfe2117cf9626b4721797bff4e48a568315d8138d86cdf7da0c99b921ace13f1240eb6b13f3b83e0f71a98e3f3f951e2e11a0fdbd8af600eee3dba72d168bf0b627f7bef305d8571edcbcc71d8affd896d60ba04e4a2ff4857d97f459744e1a2ab5cf467e2ceb83536754a1625d25c05c140537992686e59bbcf709cb29e3109d32f83965ca426b7a1df435ae362d3938b684cced0dcb7a64bfe359d2a954a25928db4028928594a9f319a6a2b78f2457a5c2849dddd73d3b4c663919e3e7dfa74d7dc7aff48801cca0e0ab3b7783297bd27ccc5d8946d5e8bf0e4cb17174dafbd5087cc2d61e69ce2f46f69394f4bd84e650879c459fe48801ccadd6da7172e4a3c6172ca28ca8a235e5932c1024a3e42964cb030e5eb22909598165c28e5898578360108ccfe630c50d2f0650966d9c9f2e99430426ea6618e1af62c7570ed9d89bb7d7dc741e8cf4a6b6dea733a6d6cf157239e7c19414e657663e866b5bbe2d5e4f91d2a2e6adccd5c9c60bd48ea4d72512ececad12268c9f3684da546f2fc8b8496be579e51b4306650408d6eef852e7041b30286569b7c51a5c9c7ca34ba596d0baba5b0870e425e41419fda08cf6397bed02549921cdc301047b83446612e6e58dc51b6e8fcd678d030901eae88512932e43f85560903069330feac9e44dacab84187e54d530d79cecd9ae6489c21958b70b838a1902207889d295a9313275650241a221e1414697b229f159c48d49ae44c077ae23a919d891cec124e6e4bc66c1862c363fbfa43b4b73f64fbfa3b6852eed83540d4ec79e21cd92550d634c41d6233c4bef643ea4bb9d34ee162684f33e42f4e0720b14c8cf213d95ffcf20872d9c1bef63dea6f40aa35c5c61aa3526ee3d126a93127923fcff338d39b9e878308a9b9fbfeb15b48cdfd9cffc220fde07b9ebd2ef4dcdd1dc4fbce6391fc11c9df7bfd75de731d38ba7477971a07877728b3b3f2385592544349ea618e343c471ba6f11ad4808105ab04c41c59524df697f58935525bd75e614d2d2948be7095489244b1cd94a245c554a9acc9bfc3aa457c726c60535edf450fc04b0d2efa18e346b8608cb5428917c848443e1c9c4836f581c8994ecaa495eca62224e0a2ff067cfc701bfc8bf0ba3206440a89940ca44b41c8588996c31c69f865bae7bf8b3e9bdce9fe138b2e5a713ddbd4e6441555506a35aa25a1284a514c629b6b4e5132548414f53b9d41f6d7dc7f5eb13265419832d9dd1d73b1c4e4ceb7d3ca94b9e8282fcd223e6b1416cbca6aadda66e794cd29934d592a256577b7acba66a87f23c29d2f9b065aa39a7257d36c998ceb82275f4690037e5ec7013f10a8bb4ddb10ee77bf75f5777f13f753b5cdf69c5553cfd91cbdc5bf610d7b2050f72f8af367cc54c46cd7ec25dc6e3c619233d1aa6dd6248ad3544dd4645ddb10eef8c9ac2bcfff6473644f33345132539e2c5435e30bd7c192e782ef93017d0dc8fea0ef86cca7758b520ae1fa773b947a12cce101e76645460d87d3effd377acfc132617883f7a3cc07df6024fb5b232eeae778ef713cccc2f9fcc87919d89638a1357138f6739f251cef7bfdc9086dc94593e771b8e71dfcb1df964cdbf78fb65481ed8334b6261745ffd196f2664d2e929bec0bb7992c7b0abe988244c229c760790e1ebfcc792f1c3fcf7b4fba47068d19cf4346f871d18506c6c1330d195bf6f7f1830727f9d39821a3460961b48cffbced97116e6d3f61671c9373df837d982c78ecbce6e97ced5cfa3c7c99725c381807cf9cf75ee60620427c34e3e6012e92553851da6450244b8b2650e451c2382c274e799454b273bc4de622174927425cc9feb6c645b20bd97fb32241086c53f2c63df81a9803acadb52e0394900504bc1752b32c42f697913336fbdf2067a4e8a257e07bfabde709e1767b3866c9f56ea0716b6c3c2c83c36df0df8270e777d8c5e6cfc51c9a45843c4a97cc912cc3d96d76a5944f1e912ed2d14f155e695aa15336676e833f10ee7c906c0661c85676441379b4994e2a2eda942415c3464549051b4c0139468afe93cecd764cdfb01b120ff9cf9032d104273b4549189a5777bc32d74d3dbd4c8c8bb4239a76d25031d947eaca3272867bff513b4171d18990b71fb51302b4cbe1ede58ad96e5cec8f9746ee77b13846c2dc1f3c8f31db0e6eccbb5c1aa65b54eaba94ba309d42636236d8e4aed87e70471b9230de4c7ee8eef016db647d3b1cf06b92cc291753daa422a5f48887fcb5be4197a02cd0b2d7cf411d271f5ccff43447f5fde9931e556c000ff9fb0d35501fdc997fa03eb895037374b7c6a6b3f652d50c8139ba0b6dcaeb5e8624b7c646066c532ebaca6dd8625b6ca3e22200bcff2673910cefef79f700d021c30320fcc47819c2cf2c2f030042cfcb0080d0e565004028e36500800c395a40fe79218df979e10c8f7e5e48411d60c4a00a35be0b3f5750070e38d8c011d0c018c28b2ae4c648b042c50bbb50661c930b8164172da595b27f4b38565865d5146cdc986c4e6c416852b2c6e4084b5ce1e2512b8111832a48e9e0b1c2907052858c83c7caeac0104213a68078aca9aefbf0f8f9331446542185ecefd994db944d658f49982d668fa0ae45d9938b5b0fee298f1496caa3556d545c9ce26eb22de6e2c6833b52552cfbb40283c0cdde733beae3702d893893b89a4a4b8996aae44c48c23c214704e890089af1c804a872883bb85a6a8eec8f166b4ec890ffc659cd7353622afb532a7606115a644e1a4af0e4cbc89292c2d4ee3ea530995637269f73d21b9349079e184b89c5c4726241b1d4b0186139c2c284e7e58179649e599e94d2aa03f0066c812e17717e3ef80261e093dcfd084201a3e4094a0153a00a6481e1773b9c6ed342aed23007335a6bad5a0e6caaa6699b4dfdb628b46ddb6c14148acd5af91c14321c588ee33a1c80538051d45455d51bfb6d4fc4b8ee931744e2e2fcae7de8c01c8dbd276620123049b65c37bbeffb66476fabb63ed5056320150a5a69f50d700a88052cf27c09c6945cfb237723a7f5b81d70dc4ddfb8dc4de859759f074ec8c2054e1822060669bed7e974e4ed1b9c149286f91c0f58f27cee46c9ed771a6b79a040f1514579a8b8c78b3cdf1325cfaf28cefbb61bcc3e1004419073830f6cb0d3e934c8e1dc7b371b5ccf0dc638df96a473eff52491335b0daec7e361a9c195dc0d18f348afa1dc8d8b62703979cbdc4d45b9e8a2c61b0d62a024ccfc0f0d6e56ac538ccfe723c3893b82317ae2549e9b3c57797e8c4fea7ec018572b92d41dc158ec539fc898c11d2b2a250349923cff73411a345e688048f206b27c913cbc802817c1146a06b7a264b3194d6d32b82318f3b83c50c013c7e26e2488c6c488e23f08545b9b0c2e7703a25cd40f2299017e9e18037e5eabd5c2b6d5e26eba9bb8da66bba6316db31d1ebff128e691bbe9708cab95563b47dc0d88bb113b3c8acfddeca81d6e31b8d7c5db98060809a8468d1a4840600cdc0237457dc2ddb470374d5c30d6a245ab3547dc8d16f549ad50a8d4566d3591cad3e5a2d41cd116ee468666a5dc0f2815b792e753283456235651ad58adad39f2b86668beccce2e186b81b1964c8d3a03ae56147d5a5173545b75065a502851f27cfac4e5e27c79a1e4f9363caf3cdf06a8c3b3c7d30267604c52ea9230f3371854542c166b3c7a6679fe38bfd28a9a2330655517bc4181ab3c1f956b0b8c658f15cf6c8eeec882ca93e594e7c862ca93a52403c6264dcd5187bfe13965a6cc94c9a63cca649989c7229925d5bdb5102fa8b06d13b98d86cf2d8028457fe975b7d32738d8277964ceb9cd2372a6ebdf98b8236569989e582d9955f6a4ecaf374a9f704720653908f82cdb66ed276b5a7b5a7b5a37cb7768ef1c3dd98e5cea4d842b99289922c7eaca4523658d26c9ab8a4563ad02df66d30a86dff73166ccc0443e319af6dd9eedb6ddb6db76778cd7421e3e358406406139aaaa04e41e67727fd8327a72b71c51d60c797b5e4851f4e479d97bca9aa30aba32306d524d731403e396dbe0af61caca2cf96d47ae967fa079a4acecb6358dc63a77af795e7f8c77f03e1417ddd431cd9124591058551bead65775d517dcb1488ef1637565c72ef6650573c488c245a7b1980c5c552efa8ddbe0b13b5655bda92adb82aa929253551f3c5acf8b2e8af1fe068811823958c0c6e0839ef0e64e55a9b417fd7db8488e5e2699d8001523e7cd0ff2283f2637e0228f320ac96ab4e522978bc6aaba4193769247fa247b2b8f144af6aa7291740245142e6a1564afdfe094328a7291d7f6a98bb4b778e44136a127171d05c5ed1fa9f632dbdc98a25cf477c11de9e9b32db82fd335d98aad5196cd28bedd8edc99c77bb723d7f378b30f980597c335cd4a45215b3c4ad6866b3a35cb9a0e5d9e389c8a0c96e50cadc980d23623aef6f647500d904b0040b500746e257f753a1dcecf70a3fae81bb53b610d013352b8fd309de79aa3693d57d734f87fe1e7a27be194cdc9e1248cbf8c6d5a4885ca5ceceea4b29c81a3a08ac5216192a23f67fa3825b2ff03eca7695a3fe18464a297e855b3be367d0fba66c4911c31c264a7a9819823ee5d8937fbc207f888c34f4c3120685c44bf0717757dfb405c64df9f0717f5db2dec6c6873edb012ee2bd776fcf9f4a94cca3979ce0e20fb73d688e6b9ddb8077f7cd30c5489f0554f534f514f91a04618f1466aba62faf2484d1b187ee1f53a0ea4512adb341a454bb975fbee1d2067b0901fe038e48c7daf8922a178bc9772c479f03bff73e4c132d4c123958252e1e191325149187f55bd7603b96847b5a0379aa6e5b0695a64ff972dfc3eb215810be4a043055aeed6be84f1bff129834d06bbdd5de57b9beaca7ca02eb6702299c8c8988cc2d5fa655e50832cb0e802c95f823b6abcffdeed7b7d07738cbc977d8387fc3d34ca26d935992b352c03852b63ad92ee3d8b3bfc3de18ea2f8da73bf851c56627f8a241bed069b65a2dcfe5146a6510dd6ddb53a8bac2147de94dae9926a55a3549ce004ab9a32d9943541a5529dbae8e2f552c56e6e6e6e6e6e6e9870471abb51c5623195cbd4f2eed3e9743a9d4e4bb8236d9d4cad56cbe49a4f2849898554e93f27356d4ab8236595585ea247ae8bceec6c369bddccee7e0e06a8be6191007171b1a862e2d1ae8000dac1e570901d8f33c6d120fb6f502e8a43cde6c8ae58b3d66c96fded6b8e6cca5a0ec5a1542e4b8535679d49a68d62894d4d9b4ac2d5ec8ad55acd985552a94dcd695373445756091172121a45f6a74852b2994ac2ed1f6d6a45a7150ff9cf2baa9a1b23ab15aba73685950541d37a65b52642f6ef2356ebef2787e338eec809f581bfb9eed8ab86e2a2cefbf76a8efc9ba5bde57e050a43d6dd526414dd853c35923ee2da66ba3277af3dd5426b5fdbfed63ae79c38c8d89d6b18646e93727e8641eecd27ef27bd9aa195cc4dfb241a252c1ff111288923c9de2d10e390c142a6d21fdbcff4c8c33f66c85fceb8c85296355c45f6efaee928d9ffc70ab69a2bad5f1286e23675a957a5dc4b38f1c469d52b596f1f15ce651dc5599f816dc251b7bd2b677c76e4e57cddb6ad3bbfb95ce553b868887d8efb21dd7bbffde851a0ba5317a62d9c3001511173293ce6bf19117a6f436e87f73d666080858a086320716fc30e83d0f77c17ca5a711021150c525f66cfbfae6110cf77a6a1cc1e4578a7206d5abfec7df15f3279ec1776958bfe1ddc2edc2d1763a22823ced69319572a9039f29e73d6921e79d84da6cef60ab8cb927b64718d3cf6abb1af3a0217c841870a485875c2bd74ea6847e2a2d37094a7c4ecdd850cf94b899952a55f8e7214e7a245b4e96141e5381c1d27afc8fe1d47bf37235ccd08f7e6d1b27ec8994d8e720aacff965e78f2c67e4818568b4563da0372c0d1d2f1001ab7c6c6621c393cc581c603abd2a0d0812a08d9a7b5d409dda20b29b42561248bb6ea69f3ed0a9ef7799fd749a427bba795b23ba5721bfc3717d7791f9b23e946b89a1b21473d4586fc3bd6269349ce749df427a43be14b80ee793aab532eba6cff7d11927f9736ec9281ce6fdff1fec3341e06828b90362ce5b6d5d7403c826448866c97362d6ed581843b762cd5493c04ea26aa2563a750b106791508206ee38a5fb121083665522e1a414a6c206f4849431239b3bdb7a73a15456e92244990867bd6e11f3e1aa482dc9fed8f32f669c464a08e555bb56aad3b9803a8c3b3f5a1c7e0ad553b47ed443fd154741b9130a98e6145a7535bebd4f6bab54ea763adb534dd648b2adc903a60a7f33444442fdf028a64c379220b30bd481d6cd379e77271e50cd923eefd8ea6d5aa7537a4b1e1b16d4f7331cdf6dfd370ef695abdef52b55a6707d374fede592b08be5639fe3507fc3c4d6bad56cd6e1da75192362333e546033419ed08adc9c9a9af55ae43c53d4d5693308de4a254c58b444364469517897b2236072a928df77a713561c82a537e48a9af57975e9d04e522cfb35a573deffbbdf7be3b1cd06a1d3c5b20e8da0779dcb4dab7bdb799aeccaf26d919ead1fad7483ab00bfbe4fdd8a7fa7ac1eacb7b813878d39b7452ec0281faf475d40fcff99df733f4bceddbb6adbe5eb0db78047928cdf4ea289eb85a9aa9b56901984dbee2d99aacc9f240901f59f840086033303213275b74c17ab16c0ded0c550973e73d4d227eb530e79cd3e49291887052286974ce4a336dd01ccda7d44507fa4de93715ba1541d3346b35ad8827261291ee07b33a69d7add65a6badb5d65a6badb556259a46c3dab969b576ce4be9c6054fbe481fd117af98d234c014539188744698aeb3b61f84d83c294cb39a6645ab2146e645659af67a01d13429f3a1692f4b6573443175b9643986c2b4df4299a706248c3f06240d1bf090ff76020dfb9030dda42fea9a5b940e8ce3b69e2c3871aa395920450590e2c945a2555d49857af3e35a4b94a048344468a86e48dc13f96031924dab54509cc430a122460aaa52b95456baf7dee611b44393b8c7e140c61214e1421b86961b2deb5a26055862a97005c03a01594db39ab5af63be56412fd569bb8224857ac5a0e61232e4cf84134f647fab9a27ab826dce55b9947aee6731c683afb59d7b3920d0bf287e3494b635471c6f81169024cf08571b109223eb4486fc456911f0cafe1e0010f812a01083198986c88c305824fa44382c5a249b4e6b5ddb92339d15d6149614561738b698ad164bd647b2db968419e2b64070cba368725167f15673909f3ee79cae35fe3449baddf777efa00efddc7bdb16b7d3215dec401d62641d3a4853eff3bcd731dfc3d245f0c363ff09ba48eebab6c4d1ba266ed1dcb8351decb0a94b34ac516737148984b14b587526593bd0afb8477d394316bb6cbfc345873c81f98d7f58714709cb538ac9c409eba675d3cafe13df92bd5560297138b33520451f9cae3547a019720548d13fc63b5cd7027577d871c20e34a528a08bd275d1c906d04df999c78ec3d1348d4ab9a3b442d34480b1831689f39ebc1fe769887c4c5a24e936d010a14e66241bf089c800a1a5b56ed792339dab9bd2eaa4745d641fbb2db27f371bbd52f6e7fc8f271cee5a9dcb6da03f43215548ed8434363c6a7d9a4ec534f5bda7d9befbe79a2b72cafd34992bdd66f17c623c0d8d0d8fce73300de73bd865c64b124de75d66a064f4bb7cf00e5d648583c5071e7fe47e978b39eefbfbef394ce208a919c4d2452ff431cad79c48365918647388920a721147ec298fd508dd2d715136475f1664c89f0bb3fc85213b58638b4892c7ae353f2a12a67539dcb1ba95cc2a7751bad60cb924d1b02bc5dd6b3bc29d2d830119f2077d4818ffaed5b5b2b394dc27c76152bb4e6b2035e46f0a527409844e418a1c2029cc4538bc63ada669608e2e94a429640a939d94fd040b8a9891baf7e4f5bc940da0505ca4e9ba0edb684f43a47b22325552a40edb78dd4074cf89298cc636575855f5c66de050d70c79e7fd95fdb5aec344649339e73702d9244f1ca4fffe154a94b2aca249923cd655f6a721cb2b9270e5fb9e0441f0e9cbed8c0f8647cfcf08e50cc5f8c8d042fa72d1a5c5d51ecacb2964ed3724dc51c6729be4cc97c30cb1bc94dda169edbd1426038ff683c70b82e50f8f01c8138f611e65acbe276cd70bfcfa9ef7236b9f8671f826a4eae0de87063498832b693f84f3dd0fe9bcfd51b6ac384722a812331b7d1848e78774cff921f63b3f39d9a5bf47e7ed37e7bbe7c1f9ee35cca3f3f6bff7e46d232efac9459384c141cbb5f465717bc0405cdc9edc7e2d0441139c9264337f0479e1a28734a53ed201efb394fd5d60d0373af7d7a0e2a2ef1b7f8d588c50660ecce161bf2ea9cce292b2cff29fcf877b8fc32e3a7ccfbd8eefb92f926938d2d1579c0cb048e6c1575906768141d3c0f2341c6b50c92c8f637ec218d867ab3cd6d695ecef56ac0beed862f2bcf6f7eb777ef458cba9491f83a565955b58b60557e6b1c5e49a2da739aa7374e7c8138365866b8eacbd1704c2335ce20cd7cf50838edcb1c5d46242b5a85c4439998b2d465c44ff943d8624b7a4a85371d165f2d8ad2cab5be2a28bce82eb565a4cb1fad55a5bb039da315d73049a755efb22a451cab6efdedfaee08e1eeb16564b2baca1865d409a8a5d40ecb2437dedc1d7308d0d8879e0169a8a8b906a8bc92e71adc90809e3167c7ac51dbb558be9745b4cddaa9bb9a865df626a3171b8c5445b94b8b6db7a96bbf067c865a842172449b2196bc8dcd7b049dc16538b919693c5638c29032e3db4df7ec3343cfc200a4fa4481a26d51d5a52d95b4c495c8a5b4c2d465a4c2da699638cdc31a663e27202dba26b31b5989ec82c3237082861bf4be99cd66a5afd190ad1f254c1f5ec117714737d7f10c8192a495160329b4bb434c604c8689aa869d6c8d5bc2ad17597d6d0d246bfb772547fbe279b565a870e9e565c9cb9a8b1f7568eb4f7f0d878cef2386573e6220972d711764e2d092eb42128146768be168678c6b6223e6b0c58596631bbf1226591b8328bd929671186919cc5ac9465165e904dc9ad9a231f2f558723675870e84c7fec1d647fdb9f6a5369aaaaa2b1a2b497c81f56513a53b006bf6f5547e122590515a5ecdf2f2f7c2465ac52a91404496631bb9233fd9aca82411ec53cb6aa448511f2d851c0cf878bc64ef223898b36e0222e639147e9855da9541467d01c5d0bba2f5a3cbe0642c9e411e4c388eb796c5577df64fa1d858bae32ddb1553abaeca3883b3f0b2f1091e594566595ac18f67907c51261656689e058e0e771f6726e87b8f3b7a7b229935406dae6f7bc329bb39e7cba77ceb9b532e7f4e9eed3dd0e71e5e452d35a2ee59b1672a72ba7a6a1d61a5a7237712c90880e07ec7040d0ebbcaeaa6aee4865dfcf97b5ec0b69c86a56d3b0fd0ce78c1a697a529de889b2288bb2aeb83867cf39553334556255a968555159cd1db9913be5aae2527334afd09a94a5a7399a547cfea969d0e69cb968849a5cac95bbd9e85705e8c518ce043fafe33eaf53cdd137bd6ea6c0a5b2ae399a31eba2e194b2013605b7df4ad7802b35791285c5b242d0d71c512332d47fe485e495e40583c1a2903056d02a8cd29715a2909bd4274b58dddd9425c46d180b3647f408125812581430168bc57a4df17add70a52d0c1b840d02664b6318830cf54aa552a9542a25863bd2570af57abd50b29bd98a96688996688996c27057abd5cd952bb0930b8542a150281418ee485da893cbe53ac16027170a8542a150a82fdc91ba502797cb758251aa518dd230eef653ab946a958671fbe78a1e9130ab154b6b812e0b7e5ec7819f475bb4453b8eb6bcc5b166689b5dee43abb635456da88a3bcebee891255c7a444acb9a219fb46a1b4b149f634dcec4cd6eff08aa58aa9565dd16c805aab2bfdbdcadd6097469fe35013bb91c8542a150289417ee485da893cbe53ac16a6aedc29db158ac0b77c6b8289eb671e18e201b9d6b74d32412d004683c413fb72a57cb737ed782aceb89d733dd2fd3373c091017128bdeb8703b748100be217bfd814073246b6c87fb7cbc8171e58fa06dfae60a3b7b9c706bb9d8fddb1317f9777744ee972d225a54888d1a919b0671bf7f6ae10a2d9ab09f53e44ce75d62e882eb0bde4b3cce59f7e30c23f7cb16cdd7fc22833fabe49ef9be0c65f6d9729967cb5df305abefade9a2af3cd23c4e58bef7de7b391c0e47ca28f2cddefc3a1c0e87c3b91cf960f8855d28250c17ca2df48e25d7d85c59ce50e4b6f502a595ce2904e4a2db709084f1f7b62ab7e61104aa72691e41313489161758c85461e58e31b99768bd62b90df4eb1ced70b97a40c950b2adca9d7904814afa1b3551af46a1845c207a00e38e313ec890ffc43d48187f59cc8c9131d80e61657356daab1a725f408a3be66a878bfe02b957d60b57d8ac2df20c4fda098c4617b78aab439a391a2243fe238d3c44f6a7dd3fe86820f4aa6f7032888b6e2cbaabe83eefdb9e9bf447ee3fccea2563af38dc2cdc4ba6c8fe3d858bb666f9701bfcbb70871624896688944318c95f4cd8bc7387b5f77213d3ccdc80c544a944d2beb14b7d997f9855aecb99cf9e9c5eb9e83c64d707deb1056b41a050c9b43c76f8d0c2a94f5d9fb83ed14f410f16d3f7a8122f9582c0a617e54cfd1da44b145b2adeb1658186218d13866e175767e3ec07d5372c87ea6ed05ada37b628dc77b6f969e283da388ee3382ecab845a1de93f9e327891439eab83c0ad941ae43a5cb1dd71cdd2164c8ff0e31765c43b8b29b8aa8af0f128efbcef378a82f2b5cce8320e7b747cdd1863bb3d95565e7fa2561386cb9ba7291c3b549b6ef75e10775bae3a794fdedf669930be546e58e9d59f670608ead0a9ef71cd43169c8b656b2711f1467e5e474768238d8a731e3a1befc3de1e7f3f97c2aa0c4f4a4cedfefd4b8e29d998bbc0f120ff9cc4563e7490dd565e2c2e02271117753d9bf33bb2517490f7f501cdc91e14eccc50f7b515e2e92de2bf46272668a77058f8a8b382f86855bb1e7f25a2e76ee3e2852f741cdd145cd2fb8705a7154c7711c683d7f5034661fd5072567b4f7ff30f18141dfe0deff83c4459f54f7de7bb8d342cf17d524180d989ce13e9bd5a66c8e3ea829e3ecf6417d501f9436632eae2e522b6876c3e1706a8c67f158728c5a6ba59585e5eb94453ad6763ad8ba685f829d182c9c6aadb557b8a307e3be93b9da929cf16c6ab56c895392336d4b56881e79b019849ce99fc120af20c362b299cc45da538781b6c3b9eff1dcfb170c3ddb12276c92b5b6642da703c26030dbe1809f95ce3e67f19c6d574a371f05ab1440a6699fd69b7d59f58dad7ddb362fb48dca26659b8284f19722473366122667dc736f53f28c9927f51284fcb292a2bfb5d6da97096fb029d7332c3bc825611cf6b27a592267ba49f67f59f2b27a61b90dfe5becaeb2ff14d9dfdab839dd1f7ac64cc22c7111e7dd46ab6583357aaffed16bcdd18c58cc6b8df387596d749e119b231b301bb058f6af5748d06b25da6f56b8e0d77f283ed2deff393660b5898bc2da9aa17e4e589bb8d8d5951b8f366a937c7f7c0942764f4aaf5620477d916cec83162bd161f1585fd93ef71e0d42f72b775797e4c6abdc5e9bfcf6f595391d70ab4207877a2361ba577d0f73b17b251f88434779cfbffa835750474b188bc77ee5ee5f12a6cbe13579b97151875d20c0f9f9325f3cf2f0aedfe2b97828efaa0007ff7c1bb297251ef2f7a80ca5ec6f4366a38a8d2ffa46f7fe36acb8c8be8d0dbfaca870416ce365c3e5e2e6c5a53fda70657f8f7b597d9babe4c9fcb29aa319b3f985a6c1df86f3ca8c99a34e336661783309e359de6ddb3699dbd0f3cb0ae57969e597172a5e80d037ecfbbf2c71d1f62facecdd771cf71c9eb21a7a9e314bbdac66ccb2bf589233d6ce987faa2735472f2b4fea65e549b16ce1e765e531777c5979ea2d80acb6a03a296f82316552f4f7a4e79f27fac187aef1be73897852e7677fdff77d1e2cfb77362f5e5b14176bad75ca248c6f2f17a77047cfb5bd7dee651eb77ee5b9c9e48ce76db6392d6d3239d3b2ed8b1e79ae2d76044c08eff585fc4587fce7175e42c0b2d32362b3ca94c93a327ba124c9dbddddf33d39652ef75c3239d3bdffac32bfe81b565cf43df89cce2006f18c6d32576ed238652b19a6ada8844c9646552f199a110000000ab314000028100c8704a3f1784090f5b4fb14000d83a64e76541b49a42047514c21631020060800008080800020690259d8d391cba6954a0ef86b79f12b0319e95cce7dfb3b747cea669b8c80cc6cbcaf5fa5c9d07dc20d587be538c785a520734f3120b3638f6820692f7b2ebe1f6205038193836ba5b584808b975c0b8497e8af267ec8d5ee4481734e747f186a10298591cdacbdb8bf16108958c021ef5efd3b94bceda36f64244100688fcecb410891e645f7386cdfe7cf2315162360f7e0b7aadaf4812b1ab7394264666a93048fc8198cd7f0c42d5a439957a42aa306215461bd65ad2e1d760f0b0cde665275c5062a41cd6c90482223ac703b05d99c10e683f96df8bd4b7b22625a2896d672e1873949008a2acdd1b088b76c4393a80f4ddc1fa4c96284fbd174109a3d28246c26a89ea47e065afe7703a35529205470a07237095ba2a63898b662287c348f5b4fb75d3ec4e56c1b36bc06309a5cb386f09621d4fd5363cfe827bcea52aabc8149d02c410a5044318744a46e2fd4594c41d42aa48ad08253bc1eaa881077106182de01b85d282cd147f2c61f9c07b529130a3f946d81a20ce95d80f6c9f97011f13f1ea9660ef825598850d1981526dba00e824c2e0f78c845e495837f081907fc440edb5591fdf0529ebe9a93f6ecf2cfae1186611d650f8cd49c46d91c72ba4990265999fa27497d95c88d26d9153948db0dd06b305aaba86f76608e9ba4af7ae73e76189e4f123a84e9d4bf34915934c27cd125937c0d463ef0424a91b285df9f7d78826da4318951417e16f7b767bae9259ef6fc104421331c6333ef47e6ae2564f40d17be363205b3ae586b30f56ccc5aef9bf0556c2d363ed2d10b395bd01fa2ab03456790d63fbbff903c0122f2e2d4b4d7f352574409a0c91294be156dd9a9b1cb4cf4de399edb4c40e9d697443e3921202b179134c23d92eecbd35d4734190a5f0d8b555799c0489fba1e10c3c0732e5864009142a41b11ffcafad59801cf531b4b79255a6922b99d86fb51508f1453d601b43ff552e3d7f16e0f944094d3a997afc39880fd182adf0047506dd2c4c562a1b9ca46294a2a8667d2741c38c822cd9f0b37780e4a9920e82c6e92034fe71a5f7d2828048fa883892f60d86f0379a517f4d8b1c1dd064aa5c325ba58baf1449364b66326e9ea958a6d3a7367d444af191d1aacd077cc614f544459a3537008d70dd37734cf1458bfc94c0fdb46290029cfa69408c17873ef17423f8d24b424ef8e4e3e1e610bdc549c1f8c858715b398b5cf0e9e1cd736274c4933bf16a227c191f5a12e4a17f14066e91420b7a5f091e63f640a9f81194022e0b1e6d012bb82b07bd67f84b96e3c07ee2e90bd80f0e5c677381ea8f26afec76ffd4db6349eedb00c286562db1241dbf05d3ce77f7d6dfa0eb9d4be4392a309847808b71f483936fadc006eb1b51a7870aabe01935998e788ca8b6aebb5e4d2ebe76435ef2239725491fa3b62611e4dea28243abcd49b1ee804bde49826e1e0594367cc19cb7554a46502e26950be384019732e2668f0f21e10ac954cb48872e686cee63fe7d5b233352e6e40b5bb1b2c2c8e563a297c7d575521ae6db69d6ca74bb5d84bca6189355d3e5db7155aac4c81e95447050db6224a32609a53e35ab4d826be40a533117fc9492205fc51954819e688f249194b67d80c38af7b904aa1facba737c01b981b051bfe13377c5a83e0661a7d33d1db033bea2774bdf7e342620ea6daaa0a75845d77f023d0f6d3bb8db52f86d513473142497418006677c07eb0e8ab2662a2db52a70fd08cadca3d456a4464c4da11b228b0bad32eaea0c7008743547688f922a33f769edf0d4440ef5c1a58bb4f94f24bf6f2877f2083f08945ed403f56cd226a390b1e29683b1ed34ccc6082fd6cddb3594cbbf8451711c3525ce456298b4b18d93a68100d4f3b71842e62a2ce5d1fd62707b779365fa652d88a87c182fdc99a4ff5517e9da1d530aa2111902eb03182c233914889e11548d593d2cd6c4f60e9f4241bed9aac1a511cb0995f22718dc4b6f72134a86a35c42f514d6494281bb066d60d781f0ada9a5ad1a9ca820ba08c0044f0df42c317e12e035c749ac77fde9d6b8540e7150da2a8681e2f2f1811cc66866204d8e9804d9a6981a88e85b2234fb5d5d60ffbc8eecc8ee23f11ab912d9055b9cdbbddfdcd1cbfe9ff395b1692a4708410f57f68c907a9201382b20f69e58aef8e09752ae383996508bd07706e27bc44dcb0fe358b34aaeef36946c8560833ecd4417a3e52560f4cd00f510325805259c66399ce65bbabb4d23021ed880b352237c4504c8ed9657238c69d4b83b016b7e20e45f7de65f1c552a19cc0d2655531453c4aace89c9ee3255c044f40b664d2e62a8abb0a139233d0af59163be9961c190888ba3cdb2496c330f73530df5ce50d868de0833fb6c4c46288a84dea92b66bd81da3dbb3d8016c32923a114bf70ceed49fb6985828ba5c5b6a0624447c88c66863630564aca306268b5174c354ef4c1ade52bf4c43bc6b7e7ba46f4386e2b0449b682318992c722e844a4071930734a6212a4c2703d572031c7d8acba921343c9572cd93f5c85a26757fadc9889ee0a73bb3a331b30a842285ea52fa906ea8915abc279b9fb8a85e0693433d91e1bea23db5c6048724dbff02a1de9c4c35b02ce84281c6bc02dae0be2279606d92f92146239012840b9b0c6462cbd7947d306f2f4c39f438bb46e66048c0218310aed92bcd8f880c46bd0033484ee95a49f952e32812ce02e152bebed78758797924f5a54e61ca0c07f2098e1c17730e467d22b69152e70d3fa10b0577cb1d0694e380b0992909885ff738a90041cd7dc101394e9ccda146f5a94272c501421c710b8ed88fca11443dd468114447ecc57b869b7ef48475071b6558dd09f6c22325affaf054ab61b3185cb78489e511fdb30be4aeba106c837da3d5cc356932c40879cfd11f52e86851799f227f369e99062d064dee43d117b177388e4486031fea8bf83d6eeb0d0df3cd7e472c57d511588cf3be08e4e19132005a3aba28ed2053b06f876ff6c05154223418c0992ec02a919f1ab2fb24a2d2b5208724728c6b911dbf65fb1d07fb014a9158ab0562e25eba67c446334171243a60da4bd18d9bb297ef95a99fb6483ff6d4278d34a4935e2a2f808992cbb84c6c3f8dc01054911785e6710fcde90a4c116d3eeaed1e50bb605f88f6ab7c5836f7ba907f4a36ba40f0c310446735dac74df42638a9842c748fdbb020539ad249d13594917238c684f4a711481355624d61cf9b5891413ae9a5730a1810b919cf84f6c32695d6506b3e2d16898413948c757f648a743f62f2d3bf73ec4aef0489fb151b73919d7f23511fc37d8ff2dfbe6e682a23a6832e454c9fea63a7b1235bcbaf8eb74c0e26e350a23528050dc7a1ac580ef6e334b3b812f511e9becdb5bf68a97f18e704f44b03a4f1fcd401d099fca96cc2c1151f9fc68ac8a3ac048103fe91dabccff4f0f17bf74b86556e221f3a6413b073a6589b1ef2eeb9c1a6af36fb8b38935ad3e3b05bfd9db1bdc125df4019a863d45be61f6e02b03769d482878066e010257afe673e5a9a6a2e5c4019a3ae5c79760b57d1edb3c7e425daf8111bd062559cb28f711f5bc0704a7dd1915bb7156a210bab7df620b4b28403bcfd2e9342827b61fedc48255e8618e5bb0f5b469bbdae9af402e58f8d7637d1657b0ae4e0e100d3d0ff2e1546e2dc0980879b909692c21f3b3a9bc074737be1e27ab893b8cc7341af6e5516e5b243110b316909591ab47b35557ee36fcde16ea4561e2990d6c9f002ff1286280edf05b176ee0194a31a6bbf79cff7a6ca0b93e2db7b2136477f9786a76f09ce2914cf2b75ee416aaf10d2564979697f1482942261251bdab46fc8baece9482305cf5846ccc11813d23f2bc4cbd3db269c4d10d4c19fdeee9c9d8f2b9d78a7607bf7f8c1463ef1f60e14a7595213c51b6ca35a042c46efd61e69b89d49f109c8ff6cd564d03ebd1496e41022feba99c5eb84e66dae0cbe2d109e2be54923b60b114c61425dc30d3a3f412920b1b9bd96f25d5438c8f4b3a42d4220244375e92c118fa7edf25f23261f633c2ee3b4112f2d42d41d8318e7be43c25c359e7d742c02917fd827d1e25c561369cd525927d5e086f6bd8018f2c7d56adbb8b22a03a215a31713139a224c330b13d410549bb9429136a13a49651548392c40855cdf341fbd997ab6d38c4a4cd3d0bf0fad7598f4b52431fa7b97c512a0d102a3a4c028d74a69c2eae5f1b515512fb4129ef7aabd1e00fda53798806395213df737888b16a5d97ab0bd5fa901d67f71dbcbfd0dd4021e26d18a85ed6a087a4355089ec94dae9c77db7bf121bd2049835e801bdb664263cf047fc1a5f9f1f9d9de3a5ed877bfa615ea4e8821e8c62c1bc1e6306550a95d02e952edfb725f00c7d79f7aeef469c1ee0e7566dc8eabcafef0c5f9415105ae1e19d5168d1b838a37d869ef4635d2670fb607b15f3a761a1f00deb17357463e661701f02ed821ca0c1b1cb91602fcbaf6556b30a3d211ad483c819d9e52eb84610bcb8512c11e0042350180894d5ef58b45717511d1533eda27deb38593e1eff20a70cc57271261ec0da3620d93ec5fc3add64375794ff772fc39560d58f704be77ead3fe4dcdb1b4ccf1771830f232241b1748ac2c68b0022e68bb136c79506838452c81cccacbea9ad5fe0c23392abf0e9ab0a00d21ddf7f8050f12c013322d16366b9ed383fc7a40574697e7293d79d04875a80986955a2a4d3886b691a5385c5bf37a23fdb6274f8858c7a62c9a86c71d9b38462d29645d09b4f9f8df8b87b76e8b4107d4d919b3486b8dde47b0524582cfbaf2baf3c792a465292862602cf3b9af2b7f74f9f1b1d305bf1f131487bc4a2273a29e1a7c78bf8e80b745859987e65a0d5323713191fb1ec7634f1f2e15c00f45e2a360753e6ec14d7d2e4fb4f7b693a3b8244959a618f77c43230476d8fc47860b2efb9fd44fe60792a5cabb65fd9ae21632d14c65ccedb86396344131da22a85efaa1b6edc246728fc6eafc48e19766827b46f3ef39d543616ee80d02b87e2cb106d148afebbdafe3ed4982f300db38d52b1db859b3704946bf22af4400303dfb1794456846f7fbd8ea8adba7286f83e171b2a8d2cb6868b84716dfacf68ea1acb7ff78ea2293fff7f3e425774a1569c56d101e0db2756ed3e9c67e73ea96f4474ca581b88de1c243bdbc43235ee12b1c70dba8065c991763f73f9c69ae8d7e798612d2ad9ab1aea2a04f7890ea25718547bc47dc2db1666e429e1558e6053266f80fef467fa004718d222294cbd69a9843958a185a2e64639c768ae6a70c76412ce58c8b7b41c95090d4f561c030620ecdb5fcc0a37543217f3335c27e0f9dc417920f6cd0dd070c3387a75ff0160e936d5e8203e632eeb6e1f53f5a56de8427dac73a38a206ee742391bad68355b30a8c60d8c801ffd11ea7a0ef9031e6f1ea5450a6a847e91fa5e83a8fe9e79bc3f988e12848c5a5851bccd9c5ce309bbe5a066f7aea0057bc8aad6f61890bf8feae2cc42b7c7985f925c3c83384ae2fd0a1c18d0c16a7094f7e8ea53a41d736677ec44520f42e40d0bd155b559aecce325d0d82c3c683bc47dd2083fce33fa9fa2a6e7768a24c76e6a5de28b38b98807955975d1c1099a89c16d983f84c2a2ed17926759481d7b8484260d05a397858c4713101df6702a1d395cf131a3a7e76e9f5165a7394fbcf480cb104de4b94bdf2b1277bc100711d225e4154054b20d2a3f11f392058c921b4447f98d0835450bc8f59aa46aa4516c11ca83de0f6546264d99a6ede8901c8abe2b222fe1814cb29bc835c110743eb06723feb27ae553c2e7700b0abe2b1b1c1e021a7ad3e4e3544f3b5f445975400965b21b11304ae89082087e308bdf7a736b3d507f41d42cac67689eb21c23bee1a5933b2f51b1feaca5c2e662c6e2f69d1912c573a99142f3240b37b609c61afa29c3a3a931e11638ae24975250214022f7530439ccec7f939d0b3459b0a43e4e288ffbe05b46bdfa0fcc9d5fe24da66e0a8094a1a4d98e25700413ca99e47d64808929550506d570d5020e2610effd7ee6d17224879676c5c1a3140fdb6e4730e5b66a30cc27b905b03352885e1fef933b7d64c1a9f246793e6dbd4f8bd301961859f234b8b3779f2056844fea35948a930da2939560a2234450a0158458546603d4a1c178ec4cf742b0577e786c5c60c3167f32fa9b782250c9d6d4d8067cca07824020e351687abf9e7b7c49a8bb64e2cac4e3c8da562e669c5295c27b8b0ddd2481dbe39ed05ef3f4bbbb8c343fb2411a9e825af2b9a443df7a141bfdd89ec2331399e79dc7881be34b8008281022e0dd1079766541e13d4ba7018fdad39b33ece642d4e9c3044c9fb361a6dcdcc752ef1e4f7a40c9e025937628baa0758e5446e229516a3122b887ab6755c4194035bedb379dac92cfce484d5ffea70e88bb594f1c57a8ca15fc05b47c9cafd4c7544cbf812cfa91d0c17d19e2ac3446fad4bf240c7635a8467b48beaa116b2ab6b219a17894131050c711483ad18e1c6f66e788408244a1424acf753f144ad78459781ac1a869043815eb46b561ae8b4eb56099262747b631ad47fc32b4dcee139d95f214a521aacffe19d965f1d258820251a2d2f316add84823187477e913875f96721c9c64530aa45ee57a69113dc5fe1832d18fb36252a1ad2d2dce2d37170d2af1feb54b72fb8f8420d4ff59fb6888d537aa9a1a2a38a2187eda92dd0b9743002db10a0488cf239896d2705ef24b0f5a7d4e447b246e2f2c120b9fee40d8704f5fa16f2e05a398b24e3acee03244f0b784687dadd3d1ce4114017d85df879a29cff96242a6f2440b3f26f2e2b59be087c4be64da14ab4cac382e99f659b67cb36dcce5de8e1312b7232a62f35c2695dff130a4cb74d28e1cd96ff1a235f095738d03f5bd20fac236da75c1f0b2f9f20ad56be8ad8feb822d7c996bc258b44b10febc4740838427c152c846057833f0230911ed2e4bab272d958075366d73191cd11a4df76dbd4054f04de83942c0bc41f0d8240489862ca864e21c90b6e7266912cfff17880328465932308fe9e30e30abc81beb966ff1de1a35125e7893041a95b0c161c91a102d57b41a46eb38862de2dbcb766868401b414745ca38ac22c0c1f458309a8662c58b649593f14a5e9864aa7bd307a63caf5a9aa0c8f54f06deb164811d52cfc281ac83ffaba061a5c0abc14a388210124430a4fc0d4e65a93fe4c792f7c425c9e3d7f54147da5a72d378d67001e90a3f8edd5976a61ba0e470f32e4b5987721405d1487e482945569a5babf87f0270bbdf00128a4774ba0f493c307ea50532bb573ee08d864a71c328590c1e7c971834aac167990ef72a237991661170e7e0b08f36f643872fdc1905f4f7080b203a9f2a09af0494eb16decdf5c78d19678514843bace3c4a4dce922984e719417f504b4da9984a939e9692bb925bbf6712898d07e38072666e5d60e373b33a95167398e62f4d4a754d03f1f662587ba0f5b9e4817a9d7b9b0310ebe42618cf8a51168a73aa73e0ce4329d022cc42ee0944ba5504bf63a744ce464e5e10b036272d1a2afd559374909f4f42fd934fa6d7d7f4b85de1b5976151705557e2486552e1998a1b187f9307a1c8d09face833c26be29ff361fffa0a9647f56a1661d44a7150e9f01331bdc5e3ecc1cbe53514076704a6582b46250e119e97053f10641f5c2d78c5f7242b5cddc4065f1e2984b2ad95ef04047a181ca2c9b0f68327de91bcbe2cd24b2ce6926f42fd24903615334c5c4d59b59c0747a2773cedcc07981a38cb3cec17cf12e4373891365d750d39b83e5d7d4358bfeed4c925add811f1a7cbd01c7344db3112b054931fc5aa02e1463f5c7fbaa9ef625922996963c4f7341f757ab85f9415fa895901ba1e16a6a56c2f8f423b3ab44e1575e70638396e73ce1b4083f3a203749488784bb375914f80326d63aa0d2b6a70bd412862b1221a912ee53590394bc1bf886098fef7ff917cacb894393aa64b84609aeec4b02f1da9708134451e2b7063b4c5c3e1fae4889ee244767e2b2df006c90d355f738e57bd09901e0e546fecbf526b7aae274816b84a1687d68448ca68b614f4ee2937719afb8f0e2a38c1b1f4024398fcc817307557eade3dd1ae5782a3a2b30fe2c612e7b053d6b6970cd1bd73ff5f39b2555d716ea5cced2307115403a9188b72047e3bbbc14f851cb12413d7246c26a419c16b4820132ab60736dfc654e28b56bcdcbfd7caa2c2d5c89c66edbff515ec5feb40f55049cf0ab8298a23cb0f61cc8278413f8b445a4fdf13834fe7b32189fcaa7b7267d6cdc696d30fda546503eb2d4379fb26196c732517bd0cf6e18458b5605fda40ac83bb60e43e28868aad21ba239b9a4105751773ff5f82e5b2ea5a9394c0d7208451dcd316576d3761aacb25a77a3292b6c80c9c7e9ebaf7b4c689652941d4c075bf504431ff0c5d96c6b1bc4a2d3dc851995e926bcffc1d75908dc6c2c0173f813061836f13e7f74f282c889f77c70fa49d2d54f73f72316e82e146b3f764a93082cb3f714e09761e94ec98147424d761d4748898d05c9d17525576583e2417931604a4916b2194874cfe8540579be6c55b22a557162e8c87678abf4562b9dca1ef62e40122076c9427b477d6f1e566dfa5fd561f569cdce810c01dc7b90931f1302d407645308285f6ec6912cc20d0a02c76360ea31cab52ad039f0d608c1dc9fadf1bbdfa23bc98e0ce7eae0ad5d2c44bb3454b422d470def9db337c8a25eb51f13972afa04f68a2c200d3a5dd3fa551465916a8eaa42f2863d0c77d2822ddbc35109d2dcfa720f6eea9e3055782ec6650ab4176ebeeea556b2749589979625533b8192449463910c3b65a049f2e19a0c717635c101114f3a3ddada9c28558af3224f0c80dd09cc2c33307d88f70017ed682efdaeac0408e17058d50f1d850362eaa84d1ccebe27cd4042a329950af2503a70e3dde42d5161236245af45ec16b3252ab159ad2ed3e6d81c120237e6b41b33a839e9e7f48fb45bfe292980b37905717696c69d52b0cce74bad163b8ec86f06114dcda0c931addd6d10362819b1a8e9c307c8d34fe2a6bb6d27fe35743f92ba3e29208a8edd012b095700c574c1300e53ea91b256ca4718779b437f0271c47ab56f0ff3732a7bceb70f9f5321ceb3c157c217ca10ea1a13ca1345e488b35e4628cac7c34493a2f0aa7a3c6a8c27220069b0188ff3a0a38bb95dcd58cee588b73190c13ccb51f12fb437a6b28611046cd5348d77a275ea4cb646180430faa7462f551ded174772c7f9e521fe3e86c5545825d3b0c14885f48fd6dd393904ff2e062bc1c527dbaddfabc3eb146da81be6f09002ba5234c20be13ddd7401a843271340afbe234c384ec2029c57677b728846abaee3d7390794b7c0022a67bfa2f4ce6af412fc4eff18d8f18f90d7eb11c7fe1731ddb4fdd6047f785214d248565cf8c036e29192b3c390213d8c42a066d072269e6c7c6e754f91e64218f2b2828da0730ffaeb94a2ddf8bfb5d7adce83df7083f235b16dff1f27e57765ac4dd24f3470bffdf1cf93d026115b8d796fbb645b864363ad7b097a87de5c35ee55ef64ee9e4bd9869c451ba213f9539020645620297a61038efe1d7666c0463eb174b4a2f2609a94d4d6dcaae8d2a5a50b43dbb6a42daebb304ccc28ac69310768301081035269854d7f1405177894dfa1b496fa85af9022c454320415c72a7906726e40ae2284af8429f5c7d4837747359ec07904d79aaf2be480f2e608866d95beeb98450f5aaad73a27939074cc9c3ebfbf07e6f4a711e0372119d169c938273ea3896002408c732039d205883add0c1b387d843febc82f2210aca946e18346b9ea784104a939cd7c9b39edf9cddcc683e3f734cb0bbf7826a0724d6de748e116e2108d9260488b525187976c3ee693b4066e132bacd39e16ddbc796abb271301ae5daeab81671e27951aa10f5884bcd1f2d28d20151719ebefa092e9992ce5da87a006408015f2de0dc24b63ff4a2d8f35c508b342be775b7846698247fadb2884c69acbc0d04a33445a8876b4dca1881058913ad57afb387d40666da170440ea3f19fd5a6de1bf1ebba59b2bc8632308343c518ce75c289dbf21f080bd1bf9437d9afa3c721d78a77c9ac85c91263a1f2897b9d84e840df0ae222988b61bdf81dba074d705b33246a27c434e9a2924e9fecfc4906ed904c0002ae39886c935515858c22a3ac3689761b7d57b95d17db34226e125f7e7310f853fb0868baf7410eb41fa9ace438e95119fc5b6c87680bd609641dcf09c2b0a4861f21ca09dc15cf5f881cf6cabcc505e23ec379fdf4e0e2cc689cd5cbc27fd00f5c13bd54e9f16113eea5069f5296a8f09949d5ed75eca95f1a694927ad541e012322176399c07ebcee3084d5bca34259af280e59906b38d04e83dbc779a8e1454c2fd9e9482b8d693e022222576398c0fe50ca40d01b46247c7331e3e4ec4be609164dbdfc6f40ea7d08735f2b12da49aa03a3767fda18c416633fccb5729815bb1713c50b966d82a13932720e37b1fd2776554664b59efaaa0ac87e3c107593cb9cd01e3b6aeff69b4b1c6a400b36c191d01b68595b04e5b7fb8ca3099d4753138d962ee0997c66311d39b9ff01f7f024860203c028a538387af2fe40d97551de849f7fea8b2d0503b7f378afb684763d5172f192545244fee3bd39b04d2626bf620779da93de2b62d5b59ed8c44e8f77446027b9be8814eb6c407255e411d29d1f60ca087912139e4e92928c82d43ec13b1d842d3c812b2f30238e7c9d655a881c78ed189d7e98e6df40813a176e5228867b3f2e47adbbcef18f41b12849af97853ba2618c40bfce4dbc215028e325a647bafb6d622530b118e49774f994fc53ed77da65b01aaeb565653f23e011e29ba17d0f33814864e08c362ed4a670461c60fa4399758aac48195bb1bd0053d59421481b6b66aa58e39d1d1ae18d751bec30749cba0aad07e308b291c9f3cf1a46d19f8b6a4989bd11ffc91486e0572915422d64d25df02a19c90bfa04ebdb877ab0b8c1eba34484760f7c54753ba54cca28ee71fe6c1e92bac7d0838b53c88a451eb62f76d137dd60c9587950312644c6245b4b057012f92894c607e4854f83759045962e6de4812f0426cde6d2f6d14461c4abeeaa8cf2b74a6dcab1d89bd826f35b80bc8359f2ce61a4ec3349d3ce9284e871bdccf7751eba88e39378ffada7c5bb01c4c2e27ac05333f0596de8842490298432047acb630bff0d4d6915950a034e987c2bf30faa63ea289a2f8f668e65fe25a48094a560ed8f790b9b4a21fbfa0560914c902d863be64e1bb96a239b2def560c7c8cfd026f59172532a8301df3cda50ab4bdfb65ec758887f9e2b02d24977e7fb4028a36449c22facb6e3e3f64f9d1b00108f36fdd35e63bd8019a06c48c9d0da72f8837561a3af4e0f60f1854f9e8145c1ca441d02c26702a026d38606ab031f584ccf90c92b189bba25b858a77ba4ab4f2350c970b1cc2cf216433d19c2d2865ce02b2a63e2f7b6d400f238ca5b5c8c24a327ec06049902e002b1844feeec260785558be5175c884f5166b48cc820a7762b4be3290717bd63a6c49d1b028e60541e2867ee2021770c7bb26aa1b96e1f474cb4ada70dc68bce191b2d82e18e7c37557563d308e42864f927f966b4b18a93e9184c72956b6f04d4060444bd6aeae7f7699e0ad21b3967dfa959856cc05d454f5e4f88a2e99c5105aec8d92bdaad361bde1caa05ade8b213a5f9e8cea2ae74090079a770072833b1b3c9532b376304c020ae76302394cf54e2f40b6aa5317182580ef463e83e12242013d810032a0e650ffa908c1b6eaccffba3a36feff71dbc2ca0ec3b9cd7432f57a7d3464954eea8ebb0f9310cecbd182cb0f240bcf4ee43ff660ffe0aace57c99da3c7c662613486ebed76b085aa59a2ef94e3f6a6e85f096806920f993986085b3c0ad440800a937b83fc405d6831c800d099c79d2f20ed7e87922425a80c22074312348cd91568e16b1298e28e48b7f11f3d2e229e0d734f5a8b1b919535f081022607cb79d247026c31f9dc6e2eabbc57215ab68beb87adf2e1221bd42f9b1a1208453250d63f961cc44ca58001082d931d9531ee9b9a2a8c5d8c0252363eac00678a03a061788471d133c1e4754829fe1894023cd09f93d6e1d80690fe9e0c79a3c1c852ed9f60c12d183cfe8047103d08ee8a9508d23b0214e778f7618dc13953ab0ae91ebdd42000f4879b50d4648a54f155619165937644627119afa7ca03c4aa490b90cbe0b5fd48ea6979391bb2e4639f684d8b4f3f50be200b17d9d94c4d034ca910880220918248f180690b36cc719267295b546d457fed278b60549d3e24ead884db5c7127d2b23cfdcc5016e1bd4275eef297b1ca63fa56d10bf3bd0475c0d8ec7c567ed172d212030f2e95efa42d40d7a6d7d4c03cb1be1c1d5a68013e8c67e6ac5c23c44670603543cb011479881a769013aaf171803ae4d1df0cca39f3e036e8ea71c2f6765013ea3a44c1ffa0469f8f8576ac7c2803d4416fc355372a4fb6f9479590b6fe21c31af325d5c87eb6b813a26d9fb0c5b9204ea9394d265718c11e374c601831252070916345673d9ad6c681882e616554a55bc31c61265d83be022647104872f5384ed10757386e9c4ae724aa29c0fa5ada4514570e396a030301ea593abad121e978b89738fcd004c82f3813a0e0fd81351b3aa48038406953e48a30d7b984c1d8723d7fddb8b217382c983c7faba08e6a2c176d9fa82e2ddaf5c3f17e3d01391905518452c2275e7fccd63f091e73e52ac8a06fe769fa631f0c43e8bf5de8837aee4bd3dacd9eaf43f65419af8322b6204cb579a94c8154be394415d3a62645d1ab6813fd477b6458f315d57ea213cff334bd08990babe9c57af3d2f4afa5bfb97827dbc47e80d121437cb099421bcb3cb104eba50d1bde54010bbb27a8624305e239a66c79f7ccc53e288d8ddda33e1be8115c9f01b694c10a83259d0f406182f8dca48d4ca37be3a4d1291afa015452500c0750e961151bc789b188fdc50e93175b0733a945a6b97ab694912e9ac6e7c899ad6fb2d8a0e1ef45b245e1da3c2c22bd6d989060430b9c8d80ad350c2a0ccdfc0e180031c40355a3cd3749a6a603c7901f5a3210cbaeb76900e225c323ad7a1ef846bcfb0480dd8e100af43bb848f1431da74765614f5510c4640a85269ea24f519315130d88514df91dab7586c8c1ba4f25a3ce9c54266ce7fc7e293f2e78783417a04d0ce0fa221635f1f58d7c8e7a721fd9b3017d9b792d9d2d3ee6ff6ea6fa44750ed73b57f730e3e40b65a48e0a60c52da84128562c840c1d7ac139a4a465a4c0311799dce28e79e1c0d4ae8db2d86953cdfadd9463929a563eea995b7fd77b0a5609f701dc6ed447fb28c245d29ceaa54acdc75fecbaead8ae81c235ffd680f15e12501d2f80e80496518fd56cc0127a848788605a2baa7a327ddbf992964f4e14d5482c7c11b5ee5c3c565ba0f7cc54815e55726df44e11f8f4e08b182a4f2346180d3a5c1a93144761b71bfd5851bc8ce51d6ec060212a40d594b002b45aa675d1a97204fc949b5a876ee3ddc4acd70a8140ead3aece4b6f190f2dd89f90d4a67c443318e5581cd854cff0781308d6098a2949d55e92991bc9d5acae5f9210e92a70515f053fae6bdac7f6f884d1e7c1f25456a7bcf0192084aca4f580698cc69e932a4baa97194c5bb0a66f38e1c52e91c964a40f6b7f083baca89ce652b5ce21df7f1bb134bc40a28c84d219602748fd80528c2866fd50fe020253a4b1830facc339c948743ff1658e7fc8485af1ef634d6cec2099217163ee0b89e1c219f697c47848fc5d80e2378a5862be89c52285848d248c48df49f4d3d4fc2d484566df11e9b257b2706fd530c94af4c2d2c8bf1fd93a5ac2863f3e161250f43acc598d5aa9aabafe25f725cfc9b9775996d15573b367f90f447143acb115790136b80f0c1e28ef6a0762dbc80d569f4be8f042de0740023f7d44580fafbfb16d6ba6fddd38ce689178f7aecd182581fed0b3a6408192acb84602a4a7a68fccbb509b6991a0a7c943711c79174f9af2501bda11d424be1ca7f6502d6874b736b176e2de658becb54525e2dcf097335610d2f8a4d6f1163cf95ba32b0f42cd50c0201e0aa265cc5e2d29889ec52d6fd995defca08923de507775db885dc0458665990d28f4772888156ea6e810d3aebfc2e083deb0ec80c7c3142d1b41e5c5f5dc5606cc173d31b817ab1c4e2cd29360d196745988cff693093f040b30559d8fc6764d36911ad926cd7da125f82d4f5e426da6edf5c8404089eb833760746c83e18e14c2dd1b57bc473f776650e776e8c7c26486fef282ad8111aa92b6f4937fb29ab8abe928b6a0aaa2e4ea04051c23f5017278e582e691ab0235bd856897af16990fd9c75bcde32652ff54decc3d77eb3271fc975139b78af625d5b72e4b91cfc39cbddcd4fc078fc201c5e1b7f7321dd0602825a678072bed08a8fd7f8d38790ba665c9a842ce7ec2f1914457f0fed21a085ada0250bb1017e84fd57e2692b76a68587f5ce3fa96862191919a102f1a368f75a0384a4fda810f2a2a7432544ef95d644cf03d5c0389312be88b46280647f9e6e533574212bc77c643759976abc60538adbfd2bb57f13d8afbaf747f4b38574fae53620cfe5b080a9008c7c0309e2e87332869951c1a3091a348aa10bee24042517eb504ae0354847e5fcfb2491c965556eb7f7c527fd4b0319d6b9834943185c6340487f5a8489238f7f62bc6206ad6495e3eb5f5de2a9993051b4c8d776fcd7fe8492e6597c4352c858da6fc3dd40af428f8c7dc5f558a7d65504eef7f7e01f3ff8b4b606cf04c3b98f450e62a455f1a485e11eb1d35efbc88b4795407e70fa0cdbb604523194af5a9d8245ee61154a643554a5f8aed24b41f01c4d2c24015c11705b5c4c16dcd2391aa3bec500e90ce23ac235585f5cb472dc7f7a22809cac984f62bb91022e33415a728ece049c3d4e3d54399a0b5aa94dc4dc99240455533f2de666a604d9e6ce3d8556adffcb19780c55ea1c316e7f7d6b55dd9fdcb71059f5310c812196fad9037d5bca662678ab14cdbe4a9a3e93457e111931b357b66f12352b51f55cd8d0a5c73af3faee21bb61ff9301d055500e5bc4aec9ba41701fb5b9c86cf248b9f7ada50f31d16a427bd56e59e7dedf3a792fd065e300228ff70e141caa0aaf50efc99048b927fffbff488e6dc39c15568391b3029c891e28069127212384c8c51067db7a09c143568bb4f4c37a2fcdd75e4bd4260a4ef8483e19375eb09e0c64a39815b3ef0a8de4dd7a8e053b5224d174a03c10d59bae4db57a0ce6b5a657c4ab6abd4856de7a6a4469bc3a52e5ab73c011a48dac1cc212af378148b5ea1637bd48214eaf9678f4ce441eaa6ef313a912c1acffaa1604a5da7fc7ae99d8b429a64c996152dd5e387debda87f33d5dccb90668477339977498e1067cf31a4805a73769d48f5e636f0a917d0c415b5b119015a7756b47bc1fd7add901eedee0acb2f7a70110427a54b9d68316504c257cd92901253c732bb63c74faf82130e49023d7bb69bddd8add442aed7f0820e3545f55b43f20d58c7719ce1a38e69cd60d7620bc57fdacdb52f0f91a14dab4489769cbfc99583ed310b399ec837560d2bbd0965770ad6bf2c41b1b348785a43bff38f9a4d04ce64fc8d27053a5865b4b9c0380865025230cf513cda2db7ed19f608a58864b2ff2be9dd953f0f70b002082f38333f9ffe5b47af42bb3af4d1fae09cc8acc43349ed78f7233bcf2e1c13051fd1303532a9b2e4ce5bf4ceb359ec3aa67287acf85b69f3e5882543d0077a87b45f8ec08b6194480aaf597a0c2f1755e73359f29f2e4474d7d434f1840655c4b4121d6ba6d1e550eda870ed01db8e857e9325d004ee01bdeb1b10ec961522f9a278569f21baaeb1f7de2c3f490516fc45b30f082720a734c83b7482c492343ec753a85723e4aece20365655f631e5f55d66dbb271535062ed92834e14e9cf071ca63bc41d4ac822c82423c03639b499542b1ef6b60370d7ff7ae006ce4028e3770c4592f433d2db67ce5675be41c71dc7c2425bb65f1a96b0e9ae1a53c42841ec1e4750b0a7d55112fe4a18af205cced8201f13c78aeefcbe7f62f33abb17849c173d16ad688554af8d52167c88c7e8de2ea4100ad4e42e131b242663cb062470ba7286c2d61ae0a8a0da223a497c4430bc66af89d15907e3ea7f7ade2806432ad88b3a7293a861c0a2e7a2c4e368f3a6fc1120b6e7ec705aea45b5de682c2806116c88cad895a6337ef84a662c10978d60f596d5127697949a6da2557c4b5cca674f0b3f22bc8a5c4b1bfc8195fd336b641dd8b4e7dbb905ae7b0c7b59c3c6fded35fdd8fbaa0bc167abebb96356c099f8cd2a76192c71c3b1d75efa38fef61276d616aec7525e6791130a0e482d0091b81d9bd97ee3285ea4befd6d2660531106caafa84545669737ecda813d9e34356f7733bfd9971c1202fe7289d188e23278558484ffe823cc3abb1a9167f64c5cb406df3f50178c94f4cc37a7c9a1d0a8c446e5485b7965a791a10c07d4cac1bfb78a20ad0d7017d9b23ada18be9874a728e72efa783e90ca3dd8d503dd918f3fac99c87c9b03430e1034f26962bbf54580435e5730b774f150c0f562f0aaa05bc2351694ff54893090a64ada6ddca19d12ccfc3afbef0acad1199d0c8c6d71e561fa61182958e3d781fe903ac9425cc349084be5e25d580eae14cff4ab499ed70e8020ff506468ca9e8a1778c1a098f64462d83946b03d4c9d27e8831ddd2e9919effe12d0858caf66004bfab86f49158fdd43f76524598b4481cb83130db028398c630e33753de32ba61a38f52f35b4f5ad7a69e2ba0e19d601de0ccbe34755dbb6911274157557e295a4c4c1f1aa98acd254b42898fcac08568d6536884a7d9078adba94ff5c50f2f2fac77330fd1613f72727a1d24b3564086c85a3aa0b0abe6ad372868e94b86168cc22e145dc5fa19457f06558339b2b303a08f22bfd58011baf29e11c4ed115234a277393854d4bd5ebe4bdcfaedb1a6d3c7c76f10da64b6d53502002c3b76d9f2559af703249f103d84bd101b52222108ca5f61cc0c367a83be7d41ccb5343ad8d8f0bb8dfd567ae6c5d03aa9797845723d4a8ae92c68d3ee10f4eb9c5dd3be77288f98f4c51814437890d34ba5e34d400dcfc82fde630d7e2aa41347788ea81e92db96931745358f60cf96b5902337d9c102ec591d6bfc3d6ef7293704f370658325420d9695dd4eacf3ee4fb13549472ba48f8537f0ac72abd07c0a57ac389ea7caf9453e47aa577237d5a234c7c968e8e44c191477f27dae56d9ce426b872783b6b554512dc52602a8dd59c2c65ff5b0a9011d9cb47acae544cbd79af58aa150fe9fe499cc242e4a632d13bcf1c7fa6833f613b2bce506ca04880bbbd48ee2d49d1efe7f62f6880666a8665c0f339ebe84248a88b4135b9f945ad218bd95dad8d91830151b5dbdb0351d170225ceec4b90866c1499c35181e22cd6e7e6e7e4c2aedb74448b5a4ea2433e6fa04ec90cf04713ef784055bc1c0d45098e7376c56af35bef95cd684368b06cc2792be8a408ec971e5fc8a58e91833d6dc7c1a85c8dc105a959decf9832690700fe5fa4740fb8046e0ad60b0616b28e3044399c5900ab0fa8d3b2d218bd74ee4b6fec4ccb373220380a558a561afc3eb0305f9700a1b0e046942a8f2050744ee41721b5addaf0910e0e9b4b8b8098c0ad8642d95c9f060fef4b07af9a08948efb4cbfc1d68f87dcf450ca16f509a7b43bb97792f59a3624a8120c0c6865076b7a7803d314891f26b73eadcc353d51bfc1c5ea5d126f093157c33135f88b099cd2055b2ab006238618f8f33ecb774d4d55a6ccee412a30805eb5c72e6eceb278720347e19b67a8c1473b65043af7aba50383fda1e9f39640202052e6ecd973c9432a96fc2b8d6830636d282277a46fd7f624ab9c12f370ba0144649ba97456a870ea6820a641afa6bbd754dfd27cd08e8b1269a4b5d6226957dcf3667b04f1931c30ef894da538d4ff70d43693ac30538055f2b6400c64c020223d740f1a9832fe23d31243981334507f7f2cc0c500f2ef473fb756154c20edebece88346cf7d20783d24e2aff3d9b0ab9919a4d5654b5c42ba2d533d327aa68775bfc8325b8bb7d0dcaf181e1e0c127c1ac3229ab289641838ce0d8a684d7eaa9ddd4975006612017e7dae2116a52a9a44deb47ce7d41de6614f99bb9ac57e11f3b5f2e701a8f96e3ef257d539826928e5ac51bd7ff20130458738dc41e022165d3f09d6571bf365ff562d54b633ef24ab9c2310aa0a10780473a5f14057ba3593ec576f3a30fd13fbd5fe020bc184221484b1f7f0650942f4b84eca1d278ddc09ab1db256c08b88914175aab605bb8271e8515ddda9372c2de1885bb66baac280fd356ccf92022a0aa3826bc6f30eafdeff08086bb5a139fae562c5a6d0953834779ddac1c40f5a8c3c741fdd07a323124d9a048c883a1c5e63c6e2fb253bf80cad020da3ad53624b3826df91d7c1e166d868ecbc8c0b7cbaf41f4ab87ee26d0c1a845a521f1c890bb7876c06a7652db75b4b6404d8112baea68b46b36008ccac2d82e9ba212ed6576973db0c7fe87ad824ef9bc34a6822acfdaaec654e93c4b8e4102fdc8208194bc64308827a408c3d268c7aa7f3daaaab312bfaaa458c04726819e39c97f03352472c029c2c6541f38ecd391e56104087bfc3a6dfb542545c1dd3b3d97c0cbea8e97628579c607fb15f110b40dc8850f1ac3ce6441863ad0608f1ed55fdd7029955a84074072a3f79b00dc3ff48c317b31cb01dfaea8e7b24a38d4819d234644cbcaf42981d11f818b96653022aa1476dbb2a76a356c6b0b3d3bdd6cc01acd05e36e4ea270c717351060310bcafb5e4427e5d23065e8c1993987d332a47efc28526897317ce80ccd1e6b12795dd84afbf0712fbc451e591ea4bba4b9bd75d3d7f05243e29a9190f8bd8cb45dbf36bd660b18a888285afccced5a499009785c4fb3bd6b960277bd8ff7ea566af97ea95b6fa9c2744a59a5c8977f2a9fe989d3463e8a2b0a44828d4eaff1ccab654e19ce753aece228a58e07eef4ed1d2b37e6299b95f1ddc8db9d4abc8d374469d0eca2a75ec4c1848d7a152be900cc257b01b28202342baa064983bd1f9720e4045994eaf50234f3be7db0664ca5ce1269794b1f7bc1bbe5cb2695ce30ffbdc1d8a709a10855c9bb51de2f25026b540d2827870e3ae1500548036041670d598a3c61189b38008746cdcd9a5a6c776cd87d946e8e69049372ef331019cc943ff9d6b448de8b958356d13c1145b0e49c3a164b1faf20193e9d54858c22f2c934144c1f5fc0384c629c1de4b849f0a70fba901a82b703c0d73a0a3e2480cfd364240ae3be375f2895cc412b7db0fc7e4419b0546934b5e6b42f750582fc200c0637095a1e1f1ea664e67d4da9692a1e026427dcc1e2f525bc9b650bc9a0ae503a1fd92e4df5cd26dded76e0f36540adb096f9c708ef386033f33ffe365fa14294b401a891743b8825305d15ec027354e02c264dbc748887be718a423c0166312eb131d9104ce518a3bf16c1208381fb4f42f53839912fbaf9ed14d19c42ef25ff8946f257c76f468d9286443f05e21c91159913c82959e198ac71024d920f40655e96c39a6e1cfab841491408f2156a0b92160e9880a416132c2f383fee3f62dc903e766e4690a0e4241d8e5699d79cc3146453d23aca350c591559a589cd906d9ce2b4b41c7dd61bc6a16a69b9eca127d38ab62de4f542a5dfd09695a7e9340020c5d1168ad17c7838f04a2330fffc9528ac4db07c514de48a818d5ba4a8b4d9f0417af238f2967b906410e98dc0fc877864d61b12f3385d58b5495182504a2664a287aa2a9de4434be672bee184e87b3ad4f4f8fee349ab89c978f644c7f2cf037811310a83e3e7e9f3ab369271bf1a8dddb11be05e72baf2e7f7ee033f1ab31533bdb3a38e8255c4d3dd7de22d408dd180a388a341a0742c357497a6794a3a548b269baff06219c5b8cc501e103289a6c0eb20d17ae557b6859c886009b2ac143544db713cbfd40efb1d90423c1b63d1a8ad846639bd4d9598b802606eab3a52a75fbbe55d307e2cec3d2895e7b49bfdffaf3f869a1cc135e8fac4b09f0c598609d2f9dabe05d0a42e6613c65fea90c12bcbd3b55648669494f94f497a04f85f348acea298c3537ca025c8f7c93947dea8a5cb107b6eeac44f39e3a0c5b803aed5e332cf16e85d426b970a97b85955ab0de99ebba999c8638a072e7fd86c2f57a69cc839eb898c06a88593e87a0e815390e0b912641890d5837d31aa765dc3a1ac34bc8f25e02349aa7d5419a7a7a645c8fc0b0d31195b8e0cbfccec63cd27508b46d68a6fc21caa1ee9d8874685a0e746f07cc10497d0a5d59fdfe83979b041d025822d3e60b478dfa448dc2198396dca7abafda60c8f42cce98b6a2ca560f28a1acf62eefd6603da80110b189edef8527eb3e6848552883cd9c5af6824bafb6666445124f56bd1a29b8fc0046078763feb5ffe6eaecf23f416896f8c578bb58038a9a7f14928aa90a2ac69c43f21341484296f255fadcd442b439dd6abdb5a85c51eb037bed001515739ab03c6dd1a4f26eacc879aabdb535c54d84fd7b33c90767e93796a85a6029c2eb7c1b31f3c49deb375cc3172899e596c00be5b7d3dce03e3d797891e54d17dd1a6c6d09f10505ea84656905a21c1d9b18ee20375eed80d272d821c3acd573c8759735bc5b933e35a05dc4a762ba04522c999455af07f0a4e4a3656604fa3b38e0a95de33d08cde2d2ea50623ba79c2ae0b5ac6d764d0086f3ca742d3a2df21622d91fc779474467b2c61f8929b1b73b117810ee13a93de057777706784116299a2935a299f3f93d1eeaae4a696cf91e0526d54e8fc174ec0c338369561f81ab075508d6418c9c2e85e6095c1ba12c53534b0da149183f192eb7af0655707264a9707ea597d044a5592facef83f52be36537482d9979ad8806c5f675aab983fc342295c40a9ffe95f773427643114aa6e52ba27aa6452750aa47ac9db9128355c2037ab6477db29b5211099f41c967dd4d08590b81a8b55d3c35eda6ac8427d7187edf4863901aad564e5b3755e6b6bd20538ca7c6c209fdb75c04d9a786978e47902922c23d6ad3f35e1b630a3f117b203dcd25edca4436a02f14bb46a146467cbae7add2822caf37386bbef286f7f5da2818850be17df7d8e27efa301da52dbc85b6425045a2e36dad3805e8e3e95b76a0857de4840d70c8a5392cfcfa926ce387b64a506b3075ea3d6a943292f37b92eee21b68518570ee6c1013a26c7ca0981d42364f229a88dfde09c619e4d48451931b25d4500c80403730d41d11fc0f3ef5d2d506543623956586b11c229899d160d77790b210e6fdc66183e13a9f4b2a681207a85ab610f15a86e21f8a2bcb2e86889134b2d00800028f02e3ea6b50b3b508cc83b602b8e8e2e478b84efe42c0f2d65282c7206fedd0cb2090eea605192a21eae186eb596197f9fbd644b8bf7d43df5991c71e9e18819a08bca9ce7605a65b9159cbe4fa381043f58f0cee930c2a0675f346858277a948d35632d96b45f2c6244bf2ca2b3eba3a4ed52c751239c2ffa3894ecfb4a082539fea9702562d32a267dd6db75b581c25951703eef64b4bf3e6060ab7c867af68e4ce91b940839c818134d982a026f7be6a6d36b6e4a6d7303fde6267caed04e088ba0383710742de7a68a5663621b71399b6c71aa74b75092d1a5c3e81ae823a9692e827d2b5117178e181d0045df2674105d3513a499594f68891eef31edf3382f2a0dd3bafa18401c55a94887369af31c0fba25a790e608942395e865db2d07abd2aa93735a5cc269f538800e2a55f7d1e65942a3d2139e8f2c50f9a49898fb10c6167b199894fe1a651252ee66596bac343cd2c3b04dc1f2b4a24c794a4bb09c0393e9e9a23c9bcb71e7b27cc1820103494a1ee7782a55f75f4479582ffaf91988c52488c08d19d0720e539956380510ee6fe2ff112de8f05b7c58f7b616e7f1bb311ef37c484ccf83a53d22acbc9e48eb37ed81cb0c818a9d2a4171dfbf90d4f4d12bca0c65155c889b8b4dc25609563cb71fdcd3a871a3e4431327da0024f532b27a07725f02ba8f1b0fee6844b9fcbb141a18b3d2ac9411c18ca53642d8f0c72c579fb72af03c800c7b05d3c0ed59f181a67ae8567a9e06926262eada3c7e210488bdee2a724b24bc04f16122a8f1127267d1201a8d586bc6617ab88c9c99871683c4f47274feab7c7524ded2b660c72ab6c3eab6a3b7c3a2c5f43a7604488acde1f8c543338b43d3b4e395152ed3440f9abc906f582e1b9bb4633848f031d3cbf9e6436ee492c9d813e18925f4ecac20163074fb563cd08b64a807cc8da649c61cdc9e151f501fbed37ac0bc7f190b9ced0cf25628f578729087b09640e933a357aa5d87954cc70173f3e19d68d08b68f050ee3a598bf9adc519b5200e13715f860894ca8755bd19a6c6fa5f111ba07bdc78e88dec31ab9ae2de5f2c621845752070d03fbe0376cc07ea500df121e8a4767476be8d42ba2d2f8e27e257d201905fb6921a1b1c0cd6c119a1c1fc881f31ddd9951eea6f17f1c6805f992b77b455c05c7be8d84c99dea76cef566da676399783e0e887b84d7e33ad05371c4c0f785f0c8efb40361311c54b21c84a90d6cbc0a9dda1993c185bb0c86c15f95d6509111a7bf480226543e8f10d01e4241543595a4616502b53dea140ff8b0974a3bd6b4f2425ae337498bd5d8dae1631629d6373e7bfaa511b714c39df6942b42ba9d2a9986daa9faaaab22144c46a7fcd59f1efa47a75cb5c30fab0871dae1bd7db13b5f8179d5a3b7914deb8113cf1813b2c690a7c3cd6eb9f5d5f5c96ea33e3c5a711852e2828791ab39185f117f1aebb2955693925af7c538997326ac3e2e11b96ebb5a30dc8ad9e5f9bea7cd7825a5c63c3bf3e2d5fd6f003cc75d152fd69e0d7511ce16c56949948500e5e5d08301417c21294d60f7177ec9359b2c5223bcf7a3cd4415cc19e92548b12caf6b2acf905e1b3fec3b93dbf91d605370ea607701e7bfdc04ff3065a97570ecc2095b92796653dde4d8268ec0bcb2b2fdf6b73b9df668ea3b2b034565f59f44f0b2a04ce113aafdb07be213d9daa71f59dae809975cfd6a436154962113a8f9b87dcc0ee52de3615b7853302e255ed0f1f97a132e64deebaa456a4a3882731f4f3e417dba6c61b10fd8fe9b824dc7ae3f6f10575c9f0d3914f7f9cd4767350baf3fa6ae48c01de2f4d1355da96767e93ea9b4c8e94d17be156fcc776b52fa8877627590844902fb6e82702abc7dac71114864767500533222706e0f23d2f3140b1004a037868ed117067577c383d1220dc2163776fffc48afd521b9b374df9f6a8cfadaf58cf242946b3b4e1b99712b47f11d13d76131fbf375a3c08f172e71151b168ece29db8936d4f1a9912bd2be1c689e814cb9fb69b9c24e4c4103d58b762b18f6df7bb6bd5c2a9ff45a623cebe3ffd4a4e24f7bfde6d4e9229e99b988b06428c5debb0952fadabe1e173bf363f47a4605ca9945de80d2edbffcb04169ea3c5981d64021ec50b9576483fb28abd31168ed7812a26dc137516a848f39bc3be835d800499d8e5ec8519ef188608fc1fd521504528d376cd00bbaec90931edb45f3776761f1ef91eb0997b60503529dd5ba5375d2efcb36177b2da5a4d738d850cf7953b8e32fe9913e94a18983404a775fb061c219ea7ebbce32972482662ed8218b28c715a47503fdd32b88d53e060c1903a722036b2c3cdc1d29619def614a08cb61f4791b3a1f54120790188fb3a8979f69c7938e95a4df94e4ea437be8c98086471202b4a3aa3f8e43b1e179bc5028ce4c3e7e413c2295b240b35f6899d36e22e68113a78180fcceed56323570fa36c866cb7fe2608ac91e51441c9ede446656bb20c25695e95696194c87affecfc0ccf14e8433514c121f676e423af8bbdf340544151fb024fd96c981a69418a7b36592f64ad1a1e54729835f7c3f178d051f6c7595ae9572f1044198afac4bee2fb61cb22266e2a141315041083c5fe5861e30c7bec6bab727519f94cf2546d420c64803de78e5ed14d616ecbdaa901779f856208e71cf55634c54b30b8391649f0c838230abb497e36397c286ca57c90d3427c9f54395dd04fd2ef4ff36aa295762eda164f86c84caf62fb470467eab0d280de06b7108850192a0168a8ebce79664aa4c41e42ba38115090f3fe86674ad66675c016cdf0c2c6b5e97aa1af0469ac02da5d577c76969c140e7ad08e9f037ac6adba002e8b4d7f6b3dc03d8c32c2116d796d003f502237348e4f3e33196562d554b26988641fc8089b78874c0a1bd454a34551e3c54da3bbb2d3be82e866812953e9d558cfd3a913f5bcac9d95745812ebc2088e6f06af4b09cb407a6e176edc673bd213a5dbbb40f31086f378da864c77d8a29c0051be5a4417573c3d46a7cd3c05032ee188a495d4f0d71c59f7b2764b7e14c528cd038dfb1cab24f441906474238380673d3805c1894cd7ba21483b5a26727e7a9d2e5d0df4801f12106c3f1961636e0a4f29886229a6e4ab905e94fd779c78c6026b2ee3e2c69e6822380800073e581f2f62baa2f84ae9265000235e5dc2a9739f6360d5aa5bf93c104b149da8e320163760149e9f30104781425f600c10e790efe14ba64c2d2acdd3d7cc55af8583e80440875b722300134846dcc28f1c932014c52dc4bb5d2c09266eb4e4d2b2031c8e03ffd838049765d0d7e601e43ccb155ce7dd136faa65e01606f57f798202dc16e088a6fcd670249a062f0d4bb0f2bdb62892b35232127d442e897ee091b9cca9c935c419e46390766b95aac0bc1c1de886a566cf986f75b786680434cfd099e74c59f9e578c945d1666eaf7131660db1547e546d84c28591929359fcebdfad6f35712e8efe783495c22b1a5401060093add7bffafb09fe39b863fefaee8fa6843316d85c1456317cb0522b65ef54404f4bdd0e52bd74c2f3e49a8c61b896d002eec5040302aa0c1bd5804a8a1d6e2316e3d161846f96c3dab964254fa4e8a55bdce8020e4c9d4ea8079ee128860ba6a1a7fb1f6cc17129eecf98be71a3026f235b0f17d61251797171763b5e8efb08d0eac4d8481d92f5bf1c5aa6a7593bb05988308b964c77a23861e82232dc082eb48693208921393216a764add6377b1439e2e414680c883b5d3112341cd8e004424ca25b2aea59a092aba9b3aecb7c2bd243163fbabd34a796d310f7849e82528f0692afafccc90ba4ddccd05853307b03acea7fd21f6e5505a3c104d4e7259abc0fed5c64c4b1421f3db16b6c78a58126930fd87c59d28b5ac83da7d1b3bcf6f8a04ff05ad11db98e75bd3956b8274e07e38a322465790a225ceeb96d2934287b7ad3a0250c34f9775649cb5783bcfc87e590564d2b803a581f2589955c4ae6f055ada30aa71d30192875831da8ea880b38496f03bffc1d15a6b14232fe8b499f9d090781dedd6c16227e21e871a5f1c9f1e50e282d63f001a791606fc547e160599493a39da0d6043539a82b57b3794d2b24c99c44d4ea5f250af194f3ed486d8fcfc6ab615d6a2ca11505372fe4dd8dc8b7bc1b0cfd6cd1dc63b2d10381101f37ed8d8a411d68a002348101a245054155a5f8254fe9d3ec902aff2ae9557e8381f95cff95614b48902894ff25349a816de2b3675ef2e22e068858c21ff20730b1221392964d3045e4001efc14392c63be4d0a21418707a2b0789221a9a47737fde8954ae21b86feeac1bba2dbd8525d6846cdf77e81a084be388024778a063c6b37d754ab46b2939a5b353a287a743fc87947133517939a915d187fabe3b4b982e90dc247e00ae1178a57694d26a58f92d06f74f581d03bbf782902a7ccf2d16c0bc091e88ff31c3de3aa3ec23412a4e0175aa6bc5c60c5f893bf238ac35a7f425e4e36f288d07c24d6041c355d5adbd24dd2989c14a1ec4c5991d2c5509c7bec54f8fed25bcada7101d07e29c5ec84eea4a097e155c584c706266b42d023dcae6afcd970e5e2b1142fddebdc0e9f7626bb94eafdce826db1a27176e7f24816b4c7920a79ec367ec2862fe6665b4488b98dfa5b083bfefcf7d3b79d8b74d56df3e3b51abda82d09602b5bfaf90b6e29b03b99f5d498e9f689be44d9704b7d288c7ec81f4549aeb27fc0cadedf49bd55c5a115a1c19922d077998124768e75ea2604a73f3f6160891568bb3d6946a70a0debf45b993a47a1ee090bf65b47a4ae3fdaf00d7d0c589ed9ab3bc2db63f5da872c401c068ce360a822b2620f1dd429e3b97c9e30304189a250fac20e7ab3cf2e71e0bfcfa41fe8524d3aff4f3a71bd5a25a2d2150e34d8fff16d8ce74a3cc79fbac605771c50700581448a7a1cd6b39e750394982d5c8ac049bebf370b9602b156ec0a5ebc7dd67924332426d487d68b3bb63d1c8491a4d5d447139954d73904b5d316876718214aa3481e8322f527679f278212be656a06188b4bd5718a70d2c258a4eeb6d0651ba9db9112a53ecbab40083c9356aaf383e743649af6568d994e31d6bd08806477948671dc204d638edd88bd88918020ca8fc7109e5334efe1034286ee221996f288664ce213639641b532e46a09e02e9da8783b4d5bf4a330b521261c5486c00a94a55acb18abbf62f9d1d0c0e164d862ec3ae22cd2dd4df93ed3ef7d88c4f1218070531b8eb375b652411045f2f301cec23cf03af24fd7c6998db298a1b7fc421416f7c0621c9c974aff0968f4ecfd813158863fab37b0bf0d45d842bb824e37ab41c4c77013a00ddf597b0eb4332b0642bc7fd5145648da060d4bee589202d9a804c2062d95616d2f72055de43e740fa830e8c39bad38cd0f34aed51143c651e8f380b1a3d847d8c612351a2303a84883dc28fa140b55c8e8f87e32a0b840383769dd0d7742cc7c00a61f5146526acd5757eae5df568c73e4aad235e2e2ee59ce7ecde37269208e7ec8f0bd8a4b54130ae97b8a0f97672f0aeff8d8508b68c22309751f1a84531e41125c722acc4503262d1e2434f0e283354b702232d44144a7e12ca5717495dcbab9c83079b3d02bf06b7ffa99d735c7086f28ccfa90e83ebd5d35cec38bbe41bca1407b41a0df9b9e01716e2adbc43f4b506e8e0f5437f9fbc050eb4ea84386f9d44a9ce05f1656f07990630c0e14d63ffa4927afe99f15fdda65871d8017077bc99f19e050d7b5e9c1813ec84200089f407d74e299dd81d459a0271ca742bf603efded4189c105de1e145cfb1084a11814f5c0f9bdf8b2230f5d24b130d1cf814dc3c258d64a708a6c15d4aac35dc4704bda9f0a3595fb1b0e21f29f8174154ded23c57ee5f8a0ff466d1bdc10ef4ea589f3099308351b8789a2d49324e57f8f4d9c7750b8c36bae82171ae92851d703a6c1ac1939241a7889123d0e17d6b00d6450d3d7761926d695011723bcf2c711f2a5a429b9219c026417ac6da8a5f52ff428776dcf60d90e63d870cf41796057cce96ad829e5e15d69f9c31be61b7e25f4490ad9220f80f284b3f43f6cf5b70172287f0a3a04b122bbea899b76a5b8725e609375cf55c1abef62a2d6bf6f14bb148be70db026449a6db4db860e893b0c3e5998adadb9cecc9e46cfb808b99f407489f6abc3bb47c8320b60efba62cc7fbc7d7c4d68110d19f60a55ed1286e33396b7a2d41d8e0f42a6d802b0dd9c78f4efa0cc7a2e61c7253641d67a6330deba524884436f803d7629bce3d5df89f75f427af5fb9f2a78cde36f16544b80f0f56c49413cf1b0189dc309e725e98ac8123b2671b7a640b3ac3e3a00267f04581a8f546e44cbe3f368d21c3a925aa8d16f7174a356980ab5e00b8bdeeaac4060b032656db30d2cf0d8264cf2df440cc612e77100d710c0b0e86dda3c9d1f06910bdb9a6a0b62ff974604d0d8dfe972ef557727f434b269d3755f43856d4581ee143264707a5fc99a520f6de4158692f13304bafc2f5c54be9748c9082d974fcb00a89c906d9b1dd485c8c28303faecba6fb3cf102d0bb3bc0b2c98ecac52e63cd51fe0f97c0b32b7d1813188724781491db3fb0f4ee5eaaa83400ef3d11011212e6ccffe819bd0821c23f56b9543d29f8e4d6a4639d7b22683803758559eaa218ea5430c08ebbf07ac0b99fb2bde90a50ece48939ee818e1aac1ee1c8705dfb90cd8c448f9ea0afe7fe305508310f9df5bc1632c010465528e7316a9e71cacbe3b42c07db367b0cf508ed5b204feb3da0d9b53a5b8a47a4dcaf6a7513634e0ee2fa1df0c279e39201b6c502441ea292719f382c928a401546db4e33ca8c566adbf14e65fd6e0fd025a1360885a3226b51cb86362b5c0c7243bc1027d81597656ed6d6d2ce2f257be50542f8e00d778ca9f9346bf5e883ca854aeb0079bc5b34e8a1c8e7ae896193e360962dc68530f40533a5f90fb45b47e52e8e7f108fceb8d697230de1e5f1345f228f1848a1291529eaf5f93ee4e4165718cad33c844d7b178b2176f7ffd116f67ea069124f38453d8616ed78a325b926aee5b09ed00868962c9c315ebd0cff8b9a1403c245c02fcca1f60488e29bddcfc94d5489f672037ddff205ae67bafb06bd6d5857f6a3f312d4a632e527e7d0bb3cd6a22b4decb085f2bc766afb1fd6912d83673b152186b8b96a84995def6cdaead74bc7f43ab60fb2ae6b45e58b48f9f3e4fbe278b9614cb92174721c2aea60e7426a1a01af96faf75f5452c329f10c37bd47a50a26a01b7e109126b6255fd1335fcaf59c5204d5b8fbe20deacbb0d732428179b3ba00b35e110fc79bcd336861c020dfcc6a50359983d19c45c324d3481a7a13893a009c06236f4e8935a64de3b419f6d0b6ad25503970e3c80f690b50ef864a99b0e3c679aaef41e120c0fbeac1110f3516f5ce09568602c71cb8cf10a63222b1817df47737b3713c400f39c86813d3df75b38f7af3b500382446305c10c8ea5ff22b3e24dd93372c6c116d4fb5e2835ca729ae05ac3bd0ea4655f2e3f8fccd7e7a07894575c589199313c4e84674c1bed33d4b20d8bee469bcf2221ed510f3364f7e62377508c9cd3d8bdf20da36a1ced92e1bd7713e848d816c62f8a2959131df20cb661a0215b30aac99645bafab4886b9a70b1b427762d3f6d968c128b05791cdd914adeade7a131845bb6fd6ce8c3ab6a5a77fc6c6db8a4f0254995ee92e112118cb8ff6ec8251e4e2540b91d983b79f44a4f3d1c74a33bed203d7736f626cdce1367ae49ab23db550c8e966c23bd07101c711865b50dc9a759b1cf8301e42fa78a7c5cae1c871d2f6c91939f6f758d2bc16c3b43446e9fb4bdc10d65e473c6e138ee411b4fd28acfcef5dbbac0c0ccb80946147f4fe68c271351a1bf6a9d99dc5c15fdf84b4c563fc89dde63c3029fa6ea1a3976aa677397cfc0eabc078a426ab8704e11bfb9a1ceb92d973494147810686a4f8356c278dfccd28f66f83200279a282ab3fda005c80837ba2c07a0315c580b784dc5a8779f5ad371c291b825f16e3de492b225ec04a74f56fe7e88943e4e5efe3cbfd9521ae308de7a50cbcd7d62309cc12d2a3827f08c30946e6a21171ec44f1f0cd74e905289afe76b25a14aa98276d896e0286e44b6b4ef4b9870848c65c4d14cbb5f99ac0b8eaaeacb56df161a927e425c9b88c59372a2d959dcc525a88c6821b5d4c4e8badf01504ee4a23a5364ea30e8c215713fef3f5d32bbdca22ad3c860ce1e98e9752f56549c5088a3d5cbb4ecbe7431d8c8fb3b8262f93d8a1c0d23491241e35a619c5f55235f35e0d50bdc434cc7b8c4ce8845bf1ea15fa40d5b16027d64733456dc312e6bd5d6ede07022543d44c9a034a6673959aea4b492c77c27df204bbdd9f346ca9b7ca5673571185b5db20a70896be2c8506894fecc99befec769fb7da40be709264d1d4e6118eba3f9a2bc4b0977b2cfbc333fb7f8052db074544d249574e7884554b93224402b9b845de5232e71eeb09f3cbb84cf944eb7a217e0ff74e20588eeafa518e16366b055acc89aa2cd87ae4667389586ded1135dd43b1ec7f45e840050dbc6e78b60961601498c70632bb9e37471d3808f4555b8be2ec56563249a649290de3d6164f5acd94b49ecae32bd24f5fb62b0a876cb3e064bd127fa98a22b90621245cd2b98e511c1219603adb822ac481eece91b2bed7ebdda9912143b081aa9c70c339da61d74800af954b00236425c61afe9ebfe9f445bf833bc3e566c4105785a7743f291ece2e57b2d198067046b462e454d81034c8e81a55195c1b308048ebe98cfcc1db3e1ed29694740ebe5a3019e301ec09052a7634f968144407b9aa1c7288fef0cbe7003bd82ce5b45c9ec3540470ea6683e227867c74746f5391cf029d23594d11b8fa5e3c61887efe6bc2939466a8ce43c02a288ecc72c22c27f28f6dffcc0eb1549e64567650480b2278f34e8ea6b48b24fdd6c54d19ab2343aaeab04d48e234dccfc8e36380a77c7ea515dd11646641290d5c0f8d6e1db94871f4cda1edd388ae83bc284cf02059b0063184b71883febb7389c8687136022706d437c7aeeacc78d8b24ddfab2285255c4e7e9762830e7f12090e1ce44c845c5912664b3679a8883167639bf7f9d657ceb00829f8a6fa321a52c611dc1c6c85056455baf7e1e2bd8c0fe84e678564412e06ced05a60a8cd7af03abab005689c6a762fe59412b89c4e93ab70fdfeb200d20d7b47062a006da025795fe393361ede2437b830c0c1a4e41531a00df6568c545fa200231f3f5a0e1625a44deba761fbcda41af65ced320b39266c6415a8635103abb261393efca4ea9153d2dc6b1888e4b33a35088ac8fc94ef85314e22e0a9ea811dbc70b2053957025abc5a4fdd7f8b868a3783802e272b20a923b8e1f65ce1f315f8e1d40210f0677a1a67216bb7f1bde8f723a497ba102790ec011c4ba3dfc348d586309e015c5c6d2d4600d15aa304bf449feaa77a30b7098c453de9f370486fc0de9a97d434c8d2e6a488b961c8533b2b536b0e237946a4e9df3bdcb50c6039901d8169f91b9fe5720beb7c237e2a67bfd1e35ab17437742b107273349e628116af581ce7c7a22cf651ad8a3cb35073705fbf55f669af7abacb0e413022a04fdd328c53bc0ff0dc188e0d1d5303c06e378a7ae23af1f69215686e7caa867591fdbdee353a889777588c8755ee5596ed71c39c95abead4a681074c47a56ad70d0ea74ab902f98a68cbe2169f27bdb25d4d0301d962cdd52aff25a5824530cea468df052a51d92ececb2e3a9ded58042aa474eb673e6c86eb16b862835dc580879cb609a73d3e06bcdcc139acd79f21e4603c2950b56565fc879109c06f4ee4aa0e0ea116c52c4b9a0efca9a0f7bb2a543eb7db16cff2b9604ea8b765b2facfab68e6c40bd8510e8a6bc354c9199c7804c79a68a4d6eb5a815818c232af72648b640aa6fa9ccb3c05c8d322a8edb47c4ce9b13b221cd20d1f51b300770f99a6cc66cc2aee2cc0159c819f4425e67a70c51183d2af89b2f0c3126609cc83bb48b727a4b6be1931414ba71d7c1ee2e362bda231bd7e71f1f9a1fa6ee523ac8416451a3366603870c32afcf309b8309bb13f3754367382ff169c20e45f38e19717670cea89f0a2d4b1d0c5503d4b1d31b1ebd5c50842ad8f3aaa3936f91c9b8d3cee5560d4ac9c6438807ec3d8cec3785c798701a21ec6602902a2d1d531c1d50def9c78df1eb0509f951075bce20bf38ab82aca38b67692668f35af369431ac292ef2ba72bbdb56cea195e226b411aec74a86964fcd0ca3b8c34649c5d27fce701db20250c50fdc47ad30f589cd04982bfbd8780edd8f0a97cbf0e057f71ecbe4ded46b3409231612cafdf0febe331f275513a8472be9acb4cc1d531136be4732c5e0fe7f6defab506ab1793402af19f229f3244f15eb01e2d659a801720f0a8e9c798a22be22012054d90ea45ff10ffe476a0ba522c40c21cedec7a75b185ee8f1e8183da922bdd2dccd8241398352bf576f95c14982a4ea260302d998788dc5f533e46efdbde67102e239b05e2a8644629dc9d8f58d6beebd01c2fc23f3227de218cafbe41da8ae84fac40876f4a08abb8682023170c4c379bc5b9885022580135d75e1ca644b8e28e327041e6739a108fd80cba0ce539f76ae6482bb06f459014e1bfb75db62b70fc0438f01528d1a6e49f0a5c7b8c6671d5d0c85e86369bd30c259bd74d5b9d66d7fbb1f1547e9b74ee18686030cef6f153f53bab48f48b917acdad1f90de46d31f401aa85e5893c1044cddfd2bcbea36635989560a078e935d9578d0269a02d973269118f211b7c71820ab688d519a5937c91a2f1d67dd614619821c94b0a4e8cea09b430a2b313eb9caec2b248855945566a64c70e782dd4ef76b9b1757ec761b04772d57266be1f3ba5c7c6d36c2bdf44228ca92aae10221006146a0c081ca008649ce2720b5bbda0c51d01323efcb3533699bc25c1921d79d0fc2261c8fe63649478478ad756ceea284ba688284085f0842c38b473a5bb3a0f794bb22a3d5ea2f3d75cda26a4e93cc8296b4dcdf29fccda5103e710928a7da68a548eb2578ef48b09a25d1dce908946cb6c598dde8d94cd7c8a1e709e60430c0ab2008ea2ae4e721a605bd04513b86daff4c04831f23c1974f0b866e651d3b7a994347e96cae16c7ce37668890062ae3b458e126a8637000d5940e49275c3b031158cf7dbaf2af6c1c3fbbe3acc64b21d1ba73774a9fe573b9e815070c3ddf132397c18c2d124ec9c267ba4805833424ada86612c26d886bb1363739211c421a1a0cb0dbbf0fb111715fdbbb6edcb268ab01b99dbda3402e240ecdee3ce588ce82e46e4835b0c88de896dd6b6a3636c192401698aada6059e6569686ea6808ba0af7b837ce6da0c8db04d1645ff160d4720c864cc27ae1a96428c499e23393795d8d1efefc469f5440f7e071d541b680f337495aa7ea3d87ff49789cc2cb84842f3a489c5dece4811d2eda6c1f7ba00987bcc07878601f6233350448479df45952a7345b42c8fa9c523f37d08279d53a45d93da9afc45afc21e95c364549fce7e978d8aa8c6d7566d288e575def156270d5bf9c75b5c7547bd1a0e5136f00f24cb6cfaca80847a657f5df919c0f1d38f7ed678e1674f793c18e08590a7a2c28ec9cd853b53c0f435e4c2af5091ac9aabda099af9be0855794b89396291ce74110ea3ecd5236eb720b85392a6c33f5b22c830838a067fdac0221abf2c6d162a0d12f62f6596d229b956ee7874edc72fcf23797aa70ac0e1956ab22498b1494c22b55d279115c06d1d216a876bb30e91070c158d7f7fe8465503877521ea3e1b2118636f71de1812216fdd5480f90cacb8040aeef7c752107058a30eb09f3b0ee38571e15c38370d5f0cdc2f3d82713e68458b6b58b0da41b5c305178e80f96291668d0644e016ef1ca699f9bb75165497ea6bf8611cb988e3061a1235fb42c8de7b4bb9f796324919530c510c020d4f7f863f744fdf656eb2bf3d55cd1df4b76c297dfb36c43db58d07431fdbd32c843ecc7f3614fa1c0a85dedb6ee8e5a5bfcf45eaeffbbeefb50b4c285397a7a13688f66d84ff11bdc762e73de2fd1b22e9bf09da70a15dd7751486869e7630df77a1a74ecc1d2e92e63d64db2e6fb390ed454fbf73117df733f4e1cba1dc8999147afb2ef45dde8aa235f076a1e2f2dba968d193c421de11b1cb73a18fee857cf6b7f00750774f9d983b3afa56f42e73a12b4de9b66da290878b8bcb8742a14e27da362dcad4899983cb772eef22befcf7491af270f9cf7f707a04ca5cc46da33d218f4f66520ff3ed53b113f7a6bf856c3415a50e65ea848b08ca60ec254fd1fe38d6822d1927e39040ffbd8dfebe4f822e62e8450c4999e2a38762a1988fa2df5687441ffacf73b9e9658a9be66f38f4e4b95cd2beb4e1ddbe2362dafd8be854bace73a8246c852cb016aa42d46808b82524a3e2a6999bb68d674be91070cb835742948db969db681bf33124c54d2fef1f9ae2a6ed615c60603e6fab5dbef3305e0edfa6c62587727cf4bf6f5303e3723f88f737176942cadb6a9827e520dedfbfb988976d6a6072080cd1e54331efe9b6ebe66afbb9fd40456f9a5de87ff4ed53d5cc81866e4ecc1ce6bf3c0d7d11434ec61dc2d1fe7b0ce51d92a27d875edaa768ff8fae68472dcc470b0b39d1fe6e434edc44bf0848fc615df4246b5e391a478a8b9e42145803410ad61eac090173301fb76beb857559974bc638f82e8c63e01af3e4b968a9367738ca7b398143255c7acef9dfbc6202af84a91b67f9adb6a9214fa010409cad06e2d46838ed1718ac8135501c71327a22d1f75ed690e8bd0f447d2f1bf1befef5bebe917bdf23513a9a340fc8f1b484d262026851e0d7df9c6b8279c6c93a100767c6a4c043a58327b4bb742b2c21f5ffa8e8636a8e565fd2d211e0739c1519f389223dc3903401efc30fe27d38c5507f1ed11381d0927f3ef3409a1e109f4ceab02793ba97351e214ce091c9ac38039189aa612da1545105589b2bd2cc2cb03605feb4474b3396a84108e4e623eed73fc27bf0a7f8a29de029a585c3ef903a529727ceb441c01bacd92f70f7d273d1932cc317499830031a452003adc61f8b60ada3d2fe9e09865bf7db736df63d97134f56c54f2f2a39c60f90845e5e140f07e6c53c2a5e8eed42af5014376d611319e352b4bfd502879ec24cea3e7c59d3c9f5c307a27e988d18b95fdfb352fc04d66809e6a6f99df7ec852bdf04c12b7e9235dd36f395a74035640c1070f79c141fbbcc634a2714419173d14fe4d2d07e053fa7aa7929abc2ab114bfb7b2d9495b9e8c9fb6296fcc3200397318ac215381758fb02accd18c7711c58f31458036b608de6a6cd8a9b528e9ab1399bb4104dcb1bbecd66cec0bf1f88f0d1acbdb6befcea12a91a32e68a572f648c57b05a27785b309cdc74d555a5f8c982e125fa2b1cf4ae2eba5ae1cfb73ccb871e3fe8697579ecebd2936d112f4dbce28589b0b0ba7cf401def7c2e8c9435d18ec6986792e6d57f4f4e5cc92fff67b5457f4511ccaa55bcf5a79280f95d2bbd6ea2c077fafd107fb629faccabe5975798155f4e479214bfe42b02a95e77269ffeaaaae8ff651f9a8bc2a78b1795fbe17eb74e68e1ac5152b149f7582779d373533da25d89b828ca92ba9030a79f2a6e0c5eaea07787b31ef8a9f2a0e9e17c3dc7f5e4ce47228e7a21c8b96b89717933a42fa33c2cb1b07bdbdd8480d9787c61937c7bed4a7d23458c7713f9fe3b85c61dcdb6c5343738b5b219131fea51aab49fce44d3955257609a6efcdbcd896472e2038f4623ec0f5e996511b8a96b855cbba300ecb722c94a6271b8559f2bf82ed02168319ac1a5051e060312ff0ae2e173dd926d829b86c165cf60c978579310b1bbd9817f362aa8dce3e2a2d6fd86cbc7acab877f559171e67b464636fbf0778dfd54aea08dd31b4df275708fa7aa17ddf255668bfaf0b7b1dbab8386ed2c1c7d565dd163dd96c5f352bcaa1accd23b126cb1d54a419c7cc614a814318c7dc51b758226398b42a1337dd243ede9693bb6a82a7964cf0ae323d7bc068cb05d6c1c7173d79f8bec62ee6c9cb97454bfef57701b6ae759f0c3b0aa3cb9296ba2f02a03787aab9007a7328d7bbb67e90444f7d536eda57755517899b367be51e59d1d21658071fe7b54b70a8776d712077e79cb3aee46b46c638585b52c77cce080ec56d1c6a09fee8cda13ad02e697146c8d3854296fc5e6ed5c25f93b4242b552b93a577d7ba2b0e55655690315a601dbad6c4495ceeeab2b2c0bbe66c5f3fc896833c2dddd56d91a1f76835e7a42d5103bdade692b04d687f28b4732814be2b5655e2a6a7a7adfe0cc3aa6f2c6bbc9e90a30ba0e5eb092afd79364a4323c56a43f97673839c9933736c8ed431e9696bd11fc964b4b4b258e03d57960763c813f7a225ffcee58420bd90738915dc8b9ee61832ef29e3bc90b71c83cbdb007acf15c75282bb172dedee9500bdbb971d75b51c7aea6217853b5af74ad19263819598a66e08f30c33ecb962390d566b5c1519525f6882dedc8b9bbfb957a786f67723b47f4d42fb73604d464f5b2af53f6aa15a301b4cb4069635bdbbb9e25e30ed0f983453a4fa9b6260f9728215eddad2dcb46d4e8e9bf665a25f6eda1775516e926628b186f6bf376eba53ec93cbc4f5b656b4db2817c5694e5fd40fefba17f7e2626eda538e9145cbb47151b85714bda7920d267550edf2e50426dc34802bf096b5202c1598545fd6e0a9f1d79515479925c6ca51607bfa2857c26fb0dd68ff6d4e164dcd556b6405de72454b2f19e356e015d7043b05cc65a1f69a2bee1544ac13918148a5720dda3f889be6884acbc2301811913155604b0526cd27cdbc659690b599aad5e84c96e6d36c753a05fb5925a4481d54869664cd6c6d1367e6cc1577458bd22daf2895322bdb55a1a7eddc32415774ab3f576e9a494eb306345946cac94439a1ab991365ab48b6a42199374bd07b1e59b5a66b453311348815d42930697b1b5d9f44df26b66dec7345b919ccb23ee725254bcefd0b0e1440f3cccb122f297146c64071e4c6cb991e1852bfa45e401f68a4bf15de3e9b14b6e1f9927a51bdbc92e0995f52f4675e528ed2fb4525faedb584928461130b7a2ba7484a16c5482a98dfb4c05bf4a2989bc230ef298a622298082692f292a2a2d86bd083e0cc1b94453111cc47977a8b602231b40a5929b07d4951ff97979bc2cf68f43f8e32327b668b171b050ebfb71fceccc8c88ce3ff688471fdb228f65524c54681f7f6a27118719356dac55d5b42fb25b5b1b8492c37c5b628333791e62b3452852f329cd94281b787b35f5edaeffb7b2f37cd3c646a1ef3fdbd989b48d3f3a2e0d8244ab4bf87e3bd6809e50ad79115de9be8438251bd2def00bb6809458b2e348c7e496dbfed963d6f6b6716b5057e49a94aee5445552f29efbb57c91c8bb2e226ff8fa266b54ce0abf78c1946a0a219a0a5194650a2bf0fb44ce0a9f7cc8cd4e12048f49a650257bd67f0e652a06502774150a2651940a0e92dd2b28c20dc68118c9e5e54f72547bb08f692ca01aebf45b09c6df6727cac5be0fdf27a99336f232fbd5f52a09967da45a2976e12fd26b1401a8d9b46d6623c1afd57bf79bf1c71b1794f1cf6e0e9ea097dbc3ce8bd36fdca27f5947a3e89e5a6ef67878aa705d2589274a884fefe470c3d8b0c242514f2183d8b4c74448af69ab10eeb8736ac1fd250fba9e2a6a4ff7458e77fec7fb2f45189b62124fd50df3e8d93a2983b3e3f6f90fe4626e5edb5d65a6badb5e6cf67923ef5fffb5cc0696d8acc7a9fb49a95c444088e9f819ee2a6babe28fc417558c55025b1f40efd10d7f587f9759358a490fdbc492c1df2217c1c4fe338e4136b311e8dfec7514646cf19d38d9fb08ce3861f22858fe3e787fe9ba41ec2c7116af99919199971fc6f6911c15a48386cae36e499499fbf1f121dd93feacf1feacf8799b9e9be7dd26aee986ff39d3600bf492c7df5cb83421ff36d16621fc77f74dd335be686df63fefde2efd1c3bcf410cc93427f6ba806208758421f15d7d00a0039b4ca9143ab1b72689573682586569f6d0855fb37c443941d9360fa0bb78f287518861f86557f7084f27cd26ae6f0791a7a431cbd0d31fc17516a92e8f22d2c49aadea3272f30331f3fa1d5e849123d12c13cad27da7fb6ccd0cfda926be84951b4fce7616e1662bfe5e7e73d67cb5b982a9fd79fa10f777e686652e8c3ffb0c83c2d2b2c54fce491258921811d797d6e72aee0b058f1b874fdcf87a2680d3c84e3e8fb7b08c711edcf6f982a5af442660e1f0c7f00f5b5a2b77c4233332323338eff9e96c77174fd4f4bfbbbc054a9ff795214f54391e8bf9087c86e9c0e89525b6bab0eb5bcd7fc8a9b66a5d9a4090f7830c514f58927ea91237a638c41120b03800972093cd007f8286dbeeffbbeda92311e4087499106954e694796440905f838a3838f323f8e7c740e5bd7f6f56373d697f4d1c3ed0878d7977cd1d7cbe52697d13ec38decdfaf2d5a62d1d27c142d4d5aa2d666520f1240d7f6d59f3bb60c0343bf1bfebbf1d1b97aa4a2649e4aa935e63bf8df34e1ec3b164dd41ff73dcf46096c3e496255612cbd2d8e06c34d33a752f9aa142f7985855a186c812d90899b64daef941b0b02b6cffdbe2c50899b6cfe503e761fea4b717fef97f22accfb50dfcd87e2fe43dda43cfba1be1497ef8de50057bd3f94d5124a1967541817faf86f25d2bbaeaaebba6e0fb4cb8ac186e1435518ce070419e36f03e5a2775dd1ff3c2c81a9e7f3b06501e70c8d464cc6f8c3527343e2a66d43bb0dd0356dbc7694e091d956cbd6a2774de5582fe8d3ec2263fc91d0dbba9c481daedda555236b68de624f4b1bce16049619d2d0fe558a8cf1ef522d5957848e454fdb19dad170a9b1c93659abe5e2d2750144dd7b3befd22ebb277255bc748615ed3e77705f98393400ebcdcd3690d6e86c64bb2af0fe681fcd4d566adfacd3e9743a945225e669cba1a5d4dce1a898bd62e66caf39a7c4dcf65bce02768801c0cee1e96c96aba79536e5c9b493692aaccf71f6f78bb62cda5e6d7fca13f896f34429af2865e57e8af63b717ef5e91fc7cdb899d4e11e569bda70c233687f6b06541434143437b3a92d678aeae336862cf94349f9afdc4a2a4569d48a532b20aaa31d273e69008c59960bdbb2ad26783eac2196bcad149c372783a23d6f2e66c7c842d0fed20b5a275ef90efef4c647c72abcc22abcc22bacc248b0eae255ddb00aaf5228bcc22a9476acc248dca6523665539d6da520057307e703ce0b19e384038373c9188fcc237313e907a54e9c73b9c932c101c3a95d625bf42ec120bd391767414e3655a8907a649e99efe0487cf44dff7ef8fbbe47e6a36746ff727fc17b25f8f73f50f4cc3c320f158f8c5e13f71a73cfc279649e19e758e5a37ba8e4007b661e19566d9bf250e9d8562bd59235f36d1778dbd6abc3a991d113f792c95e32cec579214f9e2c78649ccb23e35c5cf6c8640d00583d78a16a5e324d7fea6d5336856ae1d0b6a4f634cdb6c5046f6e364518bb9b71359b4b834b833c8289ee09bd6ddb06a325d9480ad80c5a12b4d3c45075544c559745172a6eb63d3773d3d4dcd30745d0b25850d05cab669aab65625bd6c5bd5ae10fdc937008cf399dda960d1f473e3e31b238a8548e254da0bef7418290e8671297bf66ecbe3e105d26dd9a49407ca4ef32897b59d33d11382008be6dd16cb19da199b9f74e18b5ad7b81046171a86db5289d993b8343e3c5a9f1ea8c787133d4063b49e754dc06e336d8c6c4379a6fb4bd1da1555135d9b6655b95c976c44ff548ade24f9e80018613274a9424498204c99e287a855ab1a2f7444d228860969637d8705d8e2d64daff0003d0f2b33c7d5287e9a2a56ebae8699b85f036a3272e35d362e07d3f50efcf75ad88378d6b8659f290b86ab8f7de1b4bcd9a8cf16aadc5f15c2e023e8e2f926fd8d40fe2fd8de77291fa37be08f775a434dd325c1a77cb204d7309f325059e2f3771285f823471350061ae06d2c4612147949b38968ffe9c18f8e5a719785a909553069e4fe39bde1f4b891ee1588c0958a6e46fa3e06d4997743310bb5bf4ea5ecbd52bbb4ba079c08d122e143c7988c0ab558317be3709f853c5483ddcdf7ecbdb46df4cda249020b01b5a42d1e2c6ff23e57e609f98efe0b953ee77ef0fe3f9ddfd07e6e32776bf7b21dd27f6fa1b7d2b59faeebf4ffcc43eb08f9487691742dfffc03e523e5d76bc6d9fd7375f998f374606de1f920bd2120a196940e2a6fda9b4ca4d3266bff8523e4e6b311e8d3e26fafe97413ba2a76ed9d8f63191a10ff3482dc5d56a5f92efb3311fbf9b4b73d3cca4fb416ce05bc55ab484b20408584869514b33ae40457f15b42192e68b2f6b4822e9c307c2c6db00f3b4f146727e597357f9658d5f517c20c0cfe08be024bd8ddf13e504effb2a429f608328503533702cbc6aa6951fe0fdadb857c77dab6f454fd7e2ff699180b78ddd785fff067c0ee444524d156bb5b9c81711811047a859b5dc84e326917b6d2267e54be2a66ee3aaf8e8dfea5b6d1ced5b491da1ef09ec937d5e7c4b609f15db0bf6c53e1937f3914bd1d38dd929c898588c9e2c15be10b3b1d8153d3f3137ed0fec23c54ddbc96b66197a7fa6d8183d598c6b9ef681a89934bf3ef7381ec773dcd70782fb5adf48f85c265d311b01c5af99743310f0eb9e307d6953348148c4a57d2b5a8ab5d8f8eb6a11b78d6ef94f62d05f1c37f95f307c66baf211f434e4117a19f2b02b19e36fc3cfff9fef546e7659fe9e7caf6f257e3688616c8a8c3a71c58d9f0536fafed4b708aa595e863c30a648f49eff3dc1dbaebebf58ea90dfc7f236e481ffbbd7f5e77b1a8ac5d07f22e859c44d75e8b99034014ebcf366d204fe6f78206cf81cd908f836fc0dd9863792ff5fd66ceff91c2f6bae27932610fe0d0f84f839b291fae2df908d3409525f7c23dc872fce2caac2fca210fafedb908978fc58c4cfc2f234e4c1f2dfdcb64ceaa1fbed7d74bf6d1f8fe783ffe2a7a12c62285f1c10285f307c9c4a583efa11f0be345983e3c6fe5ab7454b3747d2d28bb85fd350f7c2ae1537cdafddd7cd8d2275d8318186879736452ff5b6b19848b42a1f613efa07858cf9a298a52dbed57763968aad42edccce40a0ff2ecd4d9ed411d5add19395b2fbee7dbbfdf4e4217e7f13a7aceb6e9eaefc39f9703ed7b7fa5876a5edb6e9e8b6f91801b7bc9c56dce4a32d02e6be3efe91779db867a0eff76dff41b942122da15ce1c802b484628528fa5b7d5f4bfbb3b0fc8bb86df4cb7b3c9ef781df73c55d3de2becf0213b2d157943a04c3f2347494474fe3a37ca7d4999ba4dd9f8ee5fe77bffb299b39cc2de471f3747d5a9839ccffdef334d4234a8df5fec0bc94f6b7b1296eda9c95cec640795b2a3666ab68ff6f8ab3efe7ccc7ed69fc13b70d57657355ba1b73d3feecfbfac0dc446279a9f17bcdb762d1fb5bb56863e88ec87b59234bc5ad8134fb8547b35d585a16967eab6ff525f95e9f944f49ec73f2b13e9c2fe78bf2b56253dcb4cd7cec9a687fce52314f35db2bcc92ffef18bdb9daa756b3b5da6a96bedf38f4b6ab59ba76354b9d5d81feb3f2ac446b60f905bd4d26bdb92bccd3e7f92eefcecd5bf4e58d6307406f1b9ba0bc0ba0f7b74280de36b689df93cf257e9cde9feb8a5e687f2ee5032c3e262c377d4be4e8ff1961a5bf21e8fdb9b4ffa5ddbfb46b85c5c44fa57be5ae8edc9a6aa50475e75d2571d336f3c704e963a7c564b65af793292eb4276f1b3ef77a7532c7716a98a7307fbf0300e6c73112e9cdd5567a73b5efd2be4bfb5653ec18d8ca623e4e588b9e2e1ab2e47fd5701981e3259143fb5697f6adb4ff07577c939bec6ff5ad646eda1346c54d7b5a9956dc04fb7836e1042be0c4b66ddc36aa4ad424648c6f15494d2dc11ebd6b6ad6c6514dd15355e244fbdb1c5c37599d22635cd734c818ece356eb6b8746a12d8c100d440358ab60f792e619851985b9635b63530314b72bdccd561303b754b016266179ff70c5f213bbac0b7be1d7bf608db32caba22514ca86813758036bf404e25810e71fac491da15049d81a412163612c8c855de80a71c29cf0c5c17cecd8fc41b1824b42b1822a3ce2815184f9c36b6e8a8ffafb24181289db468b3e2d43119d4e42df36440b3387d06baea35df8416ef7453c7fb3a441ee87d771d52e796a613a0189a2cc49c931ed40dcf7b211234078dfc946c2ec65ce45432de98944bb97f7bd0f72df7b4a7390ce87b908fece17f16cdf7fdea6867eb948932f0709ff938b801f7e91fadedbd4d8c7a205e3e68e10ba7b2f8799887f7930f45c9e0b04c3239abebc3c080472179797978f8e367d97d81450f6f2f2f2f24ec54df35fde652fd489b963ea97b7218f1707b7ae13034b23b4527aeaede1b86983352fc74dd6b5b9498ea105ece435de13ed4cd0db82357a6a424fb266a5d2a117fee0b40cc117913e48dc1e948d444f55966ea742f3dfb0074f7739f461e3410fc6dcb481535ea47e7997addcf4f2f443210f1a7a1731f460c823d4e55dbf6f7b9775ff6d4f4337974edc546f7fe3fb2a7d97ed5db2f43189feefc6f62e4fc51b2fd21b797bd7755d767179dab974ffdfe70169de2c7ddbd96d44eb8e2a1102f333d054dc5477df097f50fd7da87bbaeaec47e31d98ef42bf5d9ee64d573af41b0e51670593f210d7a22ce47b98a7ef924338def3f4e9637afa3ccd7bc826dd74e37b98bde510cc7f3760b6dc8934935cde7ee8bba779ffe89e0645746b58c31ad4a06b76c1d41f8c3884fe70fd6521f4b7a7610f9edfb61e9fcfa7bed4f2f3f9cf4693404fea803249be077a17eb7fa8b889f8a83f6af6f7441fa0af2fc51fa0fc89dbe38f28f5cb667997c73d6c34e9f3a41ffef27d38e86df4e7f33e6a963e82f22642e3bcc367c943a8defe93431ef413a77e11a5de3c3f12ab0e5f246e223aac2dd9718b58f50ccdec82a93d4fc31f2dda03fa22faf379fa11ed577117d11e2deefbe8743ae29e1af435ef9f51800d191d46230ea1cf814736401cb2f4f30179df69964fde36fa03a29f2f02e74dbd0fdfe369c185d931a54fe30ebe873e40b06aefbffc5a74ffdd2a439b452eb0fc39435e9acfe1bae58b04ae02cbb702fb9cf3ef1658fec63fb7cdc610964859bfd6735c4b2f2b25758c548ec44a2b25a39481769a2ea5a3ae90b8af4f9f48d71df1d1ad55f9e85d37440743e2a3a77c74375d49f911373912edaaa9b79f945bc26cf1540e1f7d14ff738c338f2f5793e620a1b7b3d038e2aef21d3c35458fffe83b2c71303a3a470b8fef5afc14c31e5bae64e0eda92a39170a4dcfffea10b0f4b8e69cd3e344cbe9bd8b1e2a59601c3ddfe3e201de1e9967f6f9748fcc331ba7678f47c6c4d3f271be0c7685de23edc981692f37f1e4b889bef7dccb2ee6de4da943c07ba4e77ceb2c29c0a0b9ec32c3dc14fbdd49d17376385afe1ef1e868b51dadb3c2c44f34a7bbe291e939a755e96995e86937f7c8dcb4bb99878a76fd5190f35925d539daf3c493e3e3fc39bfab32fa1650e82d331a857c9c16e536d5d1bca37968d641eeb23018250d2a7aeaed2f19258d291ef3299abe5f2518888ff423e0237d1e7ebeba80e7bb6f5e2b18780e314529c5472a05def2f572936bfa1ec54df524f384c9269507d161be037d2cb0cfa48e33a4e9fd454f232d996ef02ad6bee40fc9838ca12a4d7f5e717fd7ffbe073d5156d2d73d81c1ecaf6b059e1ec547cac29f96207859d8d3dfc7c37a81b91c4ddaf497433ed2c714077b5f3fc74d927ba2e97fa2d455f497e8301fe9df2af0b6a1e9cb7ca43fc54729a79c725281e74b5aa57494c03cd9ecaf1baaf81972a4ff7a75564681c3229d5f9a4a9fc918eec99d02732f1fe9d7cce5f87893e0f91cacda38f55c74dbb6cde79c737e7513fd4967b48add31b5d325df48cbd739461cb4db6e47a5a151179a3b5e4832662405b6a32ab4cec750ff9b7ea3c03ee9dbd4f02075b8e80af38f808f3cf808c477a022105aaa3cd052fdef2f1498fef6a16b9f74af576badb5d65a6bbd9e15812cf1c4471a37ed7f406de229a07af5456a60efa5deb62d3bf63c2f8359013ed63a335367dcc47d7d05b8a97e27e2e0e3e8dbe7d14f11af74b8cc51b3108bea6887c55cadbcd1e86699b99aab9f2b1e408410b92778aeaab89a2bae0b399b6abad31656cb77f05722869be6d37ac44724d5899b563067ae2922e8fd349aa2342f409ab3d13c9f4fc59395f2516a9a876c9ad2edc8dcb8d85a9f97375fb8706a362eb623df479c35770795e5ed8bde7f82e1a6163775a6933d5f656881a6f764ed4d8a7637ededa55750f5de62b20c2d1cd1fe53c974a2617a6f4e368ed3e0b66dbf852fff112dfe2c0bf8dd2770d8f9fba1f7cb04f62aa20f6dad1f46efe261b5bce7f7d662d19b9650925084281bcc4d2d2d2d9e6d5b03e7795ef89e966f91dbf6da5edcefc9fa31fa8b04835f5f862ff98751169202aa493d703f7fbae48b047f52ea58c16c01d533efedbddfa6b8c9cba4f9dfc7a488c41630acfd4f628bbfef5159c0ef3175c5f988b3e599567bffddcfbb7a4f1ceae93d715650c490223aedf9d902aa3d796f5f44a7c1afdf7be80398a792c9048bd389761cede34bd7cd15e69d8011fe7ecea7acbdadf4c67253187efdeebfb0eaf0c3df92846118861914bf4fdc58dbca47dfdba665e8830d7acb406f49582ccba2e0c672d3a6596eaadaa318038928e8fadb2a899b2e9e4ea617f335c6cd01eef49e383ad4549c913113674bf9c8e54da5838ff56796b12e1cd67502ef2da5b925e03d5993c5aa4864697e12ab043319397930a44ccaa2b8bba764b4636ac3894fe6d8361ce8a43279f4b109bcad9556aabe008140e2ac9152070bc6b945b2b47c0eba131576e100ef5155c73ae2c07203d04fd077bdef318be0117e0f98cb049e447cf4ee2b6d436d291ab7042b2cb9d26abe83ff3d52699a858545a5640d16161609839284225099b9c9e3c1eff9fc1d96c72cf8fd833f99c483d49ff721f52763fc9db7d134ce227a7e7a3c9e5c67b22530178260687fef89f6b71d4c4bd1b19a95c032a38f498c2a159d398b7f597c04183f1ca48e2aa375e8e60c7980388c32dd4d61efefeff1abd729697c888f6c80bddfa359336bf85cb86def83fee6fd267a5a7c6fc34fdffb8f441c7c442f12d8666cef1198cba41f55d66df538e38a8d3dd023bd945372efa5dddf1b4cb2d68e6ce760b0d68a6e0db03ff733e6a66d8acbdcb4043c6b6e832ea7eb3af0d200e3ed0855685672ce4003116f23227588b47f116a03db1a7d2245ae6879925324137460058976bd276ac5baa203bd276b33c21756f49e4c261d6202379951439fc8dc4173285dc25c2332897b49c4ffda7f2265ff12a9f96618bb06b7128f7c07ff9a8b4c14113560fa5bd66c505787864fe6d8944605a7014fbdadb657b0d4feb809a536d31145814173793fcd4982ae76568742ddb86edace5a6b379c0d67c3a182379d698ec5b138162b7ba914c742cdcc50fab138ef92d0ff9c6e9cbd1fd8f1b07c422d2e2318d20d1c2fde90230002280d0087981c640e80801d4c3309d8a180ad32a001bae6013c7cf000811e7c900090095420081017c0400636c0010f080182108c8004263881902152a082225630a4052f20120319189941770639d20ac2df448139b2442b67b9ce4a4581a0cda1c1bcb9b9c11d0d257588b48432854b875a9ab1c4157a57944bc6d060a2c16bdd2a1a8e38e2881a6c6b70b66e760d249040e2e6aae1817503d5b0810d6c2063f294314784b50ec6b5542a8504cb193ea1d019924822091bb49841341a994109259448bda40163a36e36d25862892592b86105c7d7edad1c39724409b10c3947dd7294810926985802006408c058b7910c37b8c10d8e94d018000e75c3010d1ce000074cc4d00a205337199a4aa5ba8101c670001d741843134d3481831dc4607afa5d8d9e3826336270c209272c8ec52a503ed87213fde984134e74b2aaaaa81c701dada375b48ed6d13a1a973b9a0d03de36a7a35594cde9664de8d8b180ba2da00a1224489c60400374dd34189e78e2891cd4388047dd787c01733ad0810e32921e67f8f8f1e38c1dec60074f4060d6830f3ecc56ab950e24e0851f2630012f400105143ba040172a60010b74218a28a25801c1850b60a06e18e082145248014506a86880031ca092244992283ab0050f7ce0035b98628a29a40081164230821168810a2aa84842822c94e00427c84215555431c5960941010a642c168b8a14604105451481052bacb0a256b1822bb0a0052db8c215575c51592eb0c20b6000032b6081051656c4a0a3692a838ee69d153775a09129785b97a64a9428b12e4abfd5b24cdcd4d92b6650051b238ca8020f78c0032c6840851a1c710415b2c8220b25484cc106492431052db4d082074ac49660828958abd5cae20652c041134d4861c992255a3811851c3cf14414b6d8628b960ea0b00328a08002175c70b1240a29524c318514264c986c41c513aab0c28a273469d2848b2b9c80050f78e0842ebae88249164dd062c99226f4a0073d90730b14176045e5805c47a3a78aeace506dd059e9ae68fad6899b66ee683ed226610f4f77341943dfc2b00b9458fe744d57381fb4561e01832d376d4b650ce89a5f40037398db3ca7b4c7ac5a6bad35e431a7835b8eede293393689b581c0009a55d1069acd1d357b22b156f1d219fe5eedc2dc5173fdc2ccc1bfce6633a9c365adb5d21e6f5b17ceaf33db03dc8292d919a6856ada9f2686a6859210322324855018a32f7017d386b2f054544ca1dd76188f3effa059284ae877e8890679e807212eb487b0d01e92423bd80ae5407bc8891d5262866830416b80661d080ded0fa6bc193d81a31106a5b4e716f580ad0ed802bdd9cb9b89538366f47461301837355ed1d3b576443d954aa59afac28270c5b8b224dc5917977603edaf835ba3c24365916242c678aa3456daa6c1631de1b56aadd5ca36d5ccab80285afabeeffbbeeffb3e6f34c278aaacc57834fa075b54f09842fb832fd0ac876b300df484ad702dc1f12207af40b3958b9ec03266c9df6ebc47f6f78f3b4697314f988a59f207ffcbbbf3bd97b7c8fb0bbe2cf82a80dee02b045f2d28edcf6141fbd330645a0ced5fa3c14233981446668492e0a9e82944c52c5131bf1875a15d15ca42fbabecee88f4c6ab099ae1d01baf3e0013845720bccaa129ec0c34cbdb11f0cb4df341504d36039d01fac2dc51df1f54c54d1c88f6a37b9bad8c82662ea9a38266da6378bb015ff40402812fbdd160e6e0cf89db0d68b6a1361668b6ad40b3cd08baa16e17619051c3d0bea12e13f224eb86921baa4eb1eb144f1cd950bea14033d0cc4d3a8c79aa5dccd2fc2fbe08230cbd7125838c32cad01beb0d4e214f9509192e1ffdaf15f0f6bbbae6c47129d58593e354a64510c40c1d82ca5c39d5555db0eac291373735e5a3c326dd6c2a1521e1cbe1281a688de368cd72740d16e44296456f3bfd0c9f59aa06add56a52c78daa4456286a133a8937a2b6640e908f7bef81e8fecb46ec77efe5ee8ddce75ed64ca1350be4e6be7d7ba380f7d39acf60783ef7f633c0bdcda49a81ee493503f1a6e8d1b4a2a82bf4a1888f3f1001246766527da9e75f2978cbf3c6c7492ba5b5590d96e473e2a37f389fcb47fafb73c14699afbab784e7136da0fc8f9356cbf784747643775d35a2a368e8aefbee6f15f07e1dc44d6ead7f1e7861d8a3e57fde46cf90a5ee2548cbff2a18e483b854c03db6ef3ec826de29601af6f01bc39df73c69236de007b90fe6224db62f528380efcdff9ece644cf7dd1129e03d53bafb27b3fb8943bfebba31f49e1a0c7b504d3ddd83229d75df11a58fb7fb6bc31e54d3d98502b62f698996ba236029f8cb22a8610f1bf0b1b35df7f8c3ff60f8d3407cec9e34d2367cec7e54b361de15a5bb97d83e9dd1939416df2f6f4bc3fc40d0d052f7def7322068bf48fd19ddbdcd41ee7bb908fd9b6568a953a9547afbabfbcd75ef577ceca6dc27602af3b17b9b69ccc7aefbdb04ecbf698c04a4bed441e8c79a9b17464e4503915a2f0c77f33a482f0c637d61785e180c8317e6a397d128bca1ddde27d8bef7d70978cb3b3527ba8217353843d6c8e83bca69d4be6460b16fcbe8f0c77daf8585be5a9a71240837e451849472c31eb82206a087dc1e367d2d0c88d431533f017982a209edcfb5648c5b273e5a9c6c5d3e8281ed6f7bbd2660fb5bd67aa0ef3da7f748938820f570fffb2f4b7d33075e18dedecb24dcfd7d0f7f743d744fbf7b02e3992272b300ab515a6785abe53805bfc8e992c03cd0128bc5dae6ac544965bdde2309c50b5d475e8f54958f280a9881b78499e8fbd7236e9ab309ac1a394773a445c1d1239a3958ad5ba5d4eb56e76502aedcc782a027f0f32ef879d7765ccdc7ea956a41558520e4e83f839058d0fe11f81c387c9420a40e1b928a9c6dfedd1070b5e1382e046396e3e64d45c5be4cfa4cb005c1cd07c5103601276b6d416f799b9934f2d16d8ce6e4b69f0103fe19170b0d9acb5bd28240f5406f79db8f59d5462dcec671b96ed582b6bb5f0f2e09d8daaf22064ed63a05bc439a9b82a9a704d7d40daa4e017353f0d4ee7acb604a693b3387dc5433ad8110ac735b0dd99862b76937420969b4d258e130a09b9c6fb456ba39373b70837d3e3c4d6178d301fbf07878f4a636d60ff0713e0ff4edbbdb1ef4eddba7b101b6ff960aa12e7e5febfb904fdf0553d7efde46dbb7f7e7d3dc53ad99cf839b249767b62c730426fd70b7d15be6e7a8279e740998823307b3eb6c1b2a6eda5d091266292705a51ef5a8c5949b82a18c38c8bc02acd466f533b8b86d93737252c0f3da1f36fa9c953a3c9a79a8f709a62fc32b7a9d9e2110494b738641f08c0069e6f092ffcdc14078b86260fa750c2ae9a4a150970476f991c8c31f1e8992965c44d9dba6f87708195db78c0e7dc5a12297d1cfbc85d073fefd91585d44a2f7553024562761adae1726fd90d9d5559df898d3d2f2f371de704bae2f1fe93f993a244a98c6f45453b6253453d7094e4bded6de2bef3f3d7d56cb9a493d543dbf4e8a71f47c3a2785e999e717aad9ea4f8633876e12f0aea9d591da0abdad21b1a27ca45bd7d9bf79cfe8fbdff7db03f16520428fdf23036feffdc661ad1f6df9afa5e57d48dd924557f0b7bccdc63af4556c11f77c5c414fe3363a2412019a5fcc1c32bde2234d590be61495937680f09a2fd3388d7be2e57e3eb77dada99a7ac44bf46f0e1e6131b03fc555e6719e2f949086242f9590862fb454421a98e85db5a499457b7a013f3fca679f7b6e9419071fb9940da6fe24b69ce5b8bf48c0323e729f73f8a689f7bd0cbb3c7224cd711c27398ee3421cc771ff5d1cdce160ef09962fc33b84299fc6ef8c8ce1be45ec7c4814bdedbce827fdce0341bf938d18a10f84bf281be96459131265cd3d027e1671cf68969f80ac6179f069dcee518ba527d1dbd1be489ca125ee5bc4902869097f4794b4e4b1390c8d807de0e023c7598b67e823fc2e7c1a1732c48cbe3fc4cc0f5bc6f39c8c9bc2ecc1367a7b1e7f3e1459fe23fe0867b4b54f43c3fa3bfc8b8798d19e07fff388323e720f8aa38fdcdf3130fef0f7a8b92c24fcee8584dfbd169d0f451cfcd479ee473781cf7d4754809738ab477ab235dccb706fc13c7373f097df47eebd3cf291fb2b06e6ba2ce46612f6917ba953302a03a5433e725674dd3d817f631e3a6e86b3f59bb93a2234541381acf28110888470bda5ec03f2040359bb3523d2b7f984f6c9c40d23e53f594fa4929184179e40a16af60c2d5233a9070f4c8f6666b408ce2bd6d0a326ccb8bc70e9893116654d11a48e2153f77803485345a1418ef33d1dd0b3efa20c1af234801ce74f39d2337737b8664a0303d39fd9d571ea0496bcf6da1ce21301d74b04983b044c1fe60a01574bc31eded15f11730dddd66376afffdd447f07ff29cef858bf8e53c0ec689c34738f8e0a5c7f6a19f6f8fa7b668615068fb5d7527af18759e4a934e2d171f07c98396710ecdf5f224df3e67134fa1f6b35267389b5188f46bfc76db684084208ee83f05188f9dc6fcf65b796932722b4d4894204b101199b1fc40684e8b88e081fdd043efa38ca6c59d341e439e754115135a1b7ad02d65376fa528169a7e52863ee17983ef5a254d5f761ee62a9e9f65ccd1e53b2347fae58341fe9151fe9cc472bb54a5b9ee77d959b5cfd3a9f831c10f0d4747bce0b020cb30164c97f27e05a9156e9445ae3b64abd2a4129a53527d87fb4445bd8911bbdadf61d743a5da78b808c8c0c486f192d630079fa714773a2e60d0f1c8bfe1cec92c0dddb2b5cb886730d9b169dff01d622fcefeb88371d2e6f1b16fa2cdc87cf0da1dae3e9e421bce49d309ba00b307f99bb9908ca77a811a1257f4efce8b91a820813f84867f3e97322d632ec31bf0ae1a64abf87ed6df0e0dc6f9acb394c5065a6386eaa887038c8da6643af47868c965e6bad73be96f22ec1dde7e744f721546b91c34bf2397c53658d8bf5e5cbd1943387cc4264b4bcc1a6fa44e9aac5e603bcad3e6d7fb3bd27f488db165a9deb7f7fbdc0e05f170ec10d042717382402d14f1fa3d1cf90c7a8932d0edd147679d16f2bbacc9087287c96cebb3ccbefaa595cbef333ecd1799777d9a2ff4422112ebf252d8a19aa6849052da39841a5a39801a5bda73f7a97ceb3fc4714d27996ff3a22e847f89ff711fe079477e7f32216d1e53f62ee68e1f9217ef2bc08a444d8966c825016a20adcfded01a627cffbe75940effedc5feebbd08709fe70bd65a03bff492baded747268e3b16869c9863c3a9d3cca980e914c04061fccd5cb4ffdc515d4ad83f61fe2447481b71d51ea5a8205bd9fd2e9367706d3866e20193e996322a194524a29cdf2454f3f614ac8c1820a55237fe25cb152858a4f9132672671326fe611257e02735028141235f227133fbda05028140d6ae407f193ac9140dce45abe8c6befb627759dabdc84c4733c8a277126ee721c7fd271dbacd1162dcd77591c9c337a3d4c4eaaa409de74a6725315bf71d4dc3336afb8e96739389831d81257cc18a575d34299728220cd9709de78865fc51dd2b8cdf720221a9477f8437cfc78c2976f3f9a3bd2f3a494767bcfd338fd40efe303fac2af74a39d4d44eff08750ed99e10fd79e969fa139d7109208c03c6a7d1bec53fb2c218f9727bd15493f7213e9e7b3bc7d9a378e1fd9b0f1df789ab78d1ffd0c7fb0cf22e43f3f3a4ffdab0f1b0dfafa1f715bfd013de987e7d51ff241ef43da7cea77c40dfaf021805f4aa0e6cfb73cfd2a7edf26a2bd4c929f7791241f4492b9878d26c927fdd8bef33eb68e94efa393e526027ad11ad8f3b7bc0c7fc05fb310fc320bb1e1eb0fa1bae62154e3fcb1e1c3af610f9e1f36641c305ff3be91ab8d3c846a9687790f7fb02cffb1d4a7ff51b1ceb087ed4f3fff7d6027e4f1f2d6b2e46d44db87115d5b1f6aae9fbc617e08d5d64712cc48c43e8e44186d9fc647346f1818119701db1ef6e53f09047b7efb6f7e4fc597c7e226a2f183c41af278b969f27916d0f43aefe3f31dd0f3de87bf97edd4d259be3ee9c7e7e5fbf864e9a3ccfef57db0bc7cf895ea2f0b79f9f0c74bde40a2fc6488bfd6df301fbafedeb5fccebb584fa0e7440f9477fdf03f9fbcfdc3a7a12ec2bcdc446896ef8801a91ea8a4cbd56759cf3a4523000000009314000028100c0784a2d17044a288a3fa14800c86aa4c74569b0a93204641ca20638041040000000032300200070e88946d4d98780c688a7ec36c24654bf118dc2acb6442b2513e344e0eea6c3298c6fe045ba79cf1a48601a664931a9760651b67edd03824ede5ae6a7c65a1d1d62806de4186501d6aae7942245c6a14d669d01da9c49fb04a729ef5a7c58da1b50b14dc2a4c58c00d461822eab5f5addfb777f41610933bbfdbc9357724b0ddea1f668c6e92f97de82ce23573ed6559085e1118bd8207deae1510fdd476d990e6c176a9e813a147761d46a302d010419e409bb85c0a218c35b255f35b154a06990a21078bb412a19de29d125d40868cf315795dc1e37fa0b00e0759104c8b06f61cc435569b4d2c059cfde85f37801252af36358b684c75a555dc0979188891022b9957916ea9969f2408ddcd5143476586b738f503dad1779bdc3173025f3ac65ca5de99eeb6a84e3f3f6880a6e627d96693ac9bc8730ec9b0ee399b28ccb6248675c29a721f979e6ba434a1821750c8808610d5ee3341afb03e90cb126eae16309fa51d73bc8161f87f4e98cba0d803e165b54627530b431b746684d3e4c564488f7cce8a11f763e19098b16f41438c7dae6e1f815ad4de938a2fc061a419250e2699a5e5317f304d503cff351a4380cc5f857c4c94c1066690f32700241e6d486fe489fa6a606f36665b62e6ad887caafce047693bbe8d0fef17daa7d28def12d77b6ec5bf3e17646109c6ac6516b2d1c49fcee5b724b8ac369956c841ebd5fe6d098ecd2c7841efa393a06e76ad598e8f4a40babf35cdea90c2fe32aa2ba57923de938d5f324b8891cfac179926b668f270b70f8274f1ef0d986785ba75b450fd8bef8e00afd3b6be9c70324cc685caccfd5ab00d635f231da25932492dc86c6f069f680458b011d6ac0ad1dc4556f5d96b72cb7fb5583afc6af60e255988d5ecb805638b7a0db153e8cd8b6fdec1f8be36775bb861ae26ca23040d372d83c5619ad34911334ba891af395f4556509299f3c8bed20eff4174806099e3e9893a23ac598252b4cd7f04af72810c1e44209109a3b2c1662ce8e5e9ad6f580ca500d41f6b62254c6ce650613b26f0171cc1797629d6be08b3066345df6862913349e291eae53ff10e200c5a3526d2c388a2af6c44ca16b8166eba8490470efe76f7aae45da1173b7b3f9ab57adbbafc96c97968eafe6dcb198ddff17efae70147652fe36674c1972135f4719fe9244e6803b9c8374645bf9b34d7c5641fdb243953936830cdb9a07ebc5ab464cbd5118ea05c78fcd22cdfa2dff91686674db2c28792dc39ab03741bc0738d3377656a722416c8d8a5e7d92e2ee79be62f7e34dcb33d2319be25a0ffb3104980c88bbd5e64f136c92a7269844d57c42b2933fa031bb4cd2933b1de1c0c9db337cba46845a1459b37ffc3ac3397d835149571feaba6422ec2d0f805d8f93e8a71a6ea819ac8039fec82aca196d196ec6a4019cdad9745489aa2652fcf5fc17daf19b7079396bec98ec43a8be306e7d7691f62e06137214d265161cb3aeac757fd5317e7d3e04ccd8422fd1476388ad2824c93e4364d4defaa4dd1061abbe2cf6dafd3cfd7bfd4b4278fd5100cb3600bd44a2af9bffa7117176bb28ba8eb58da66c2a8c181bbac405606d5c4d152de604aaa8aa6b7dd8417318ba6f712c9f35150ff0bc97f75011c353f38ea5e91e8ca4ecbd3365df5974b001a9482daaef16516c2d42702ecf478bff469813789b461ba69becf458591850d4dd6951c7d1bcda0d73a8da445680afdaad6104ab4ff9c7019c8db226119417f9fb8affe6d6008307a1f36b21f73d44ea5c3b693040984e378fc4243f0ced01f7933f46c6a34dd5a7d15dbad90695ca177962810f140983be8366512e28af46ac6a940389e90f850f3c5cd1f6155fb10ed45939cb234ec9abbe8fe35f333016c44a729c482be962aa0fc15dc3170fbf32a02ba450b2707b67ff522c2f4546def293a110005f5e6beaee3a5debe049291d062936352e782519c7a3d5866d49a277b63ed5cb6d9ab8296295eb39da8b14d13e26317f9239658a1134eee03f7405542e1bee9d93434f2bd34d58216193e570ca8bc16032857031091e3eaeb5ede71b80d492494df8d55cbb044ed004df4f6a3bc20372638a2bb63140da509120dd5774a38b44ccbafc9b38e7bdc21f7c091741d1eb229e222a48b8dac2952772a8102b60aa5212d84fc8562bc05ae70fd29adff8475e86bc1c2d8498405d4210c917b246681ab29c05f0f23a3fdc5c291a486ee1ad91c000df7a1d00f508433dae843701a4d940b99483a338cb5cd72e1a5241955923e5b5db401947cc76572fe91444f866de87c23e382a59af2d140ab0798524f3b8d5e28622ea4b1570d14539906bad082b58baf4d556d5fbebd17f7604b914602c81915604efc5fe623dbe9e506425011114dcafb4910785fb04943d022c92e37840d42a09d4f08f29acf54dfe3e9155a7c8938c2b2ad3957fc381fe5c1b520c4e67bd68305870ccc6244991745115cccc07f5be5783af33666dd06fd109099662b9220902961b7da17a2cd88c75f14d65b98e2168c2ab9eb4584076f2090a345535c4ff19fa1283928e3c6763c494f914ff73eeaf45e53e72815985ca3d84b46566ccea9a4d6f6de28cb037dad5043a1dde52a9e108ff338488dbe4a467589d0b9519394897a33f2fa9331f09ca1a8fcd4bb19c8684cbcd4784566d07c498fb6b2d08addb293628508fb357fbf1ad2ce63517b0898b60830802943b5e7158983e05a0de800d9a1413283007f4c9458d4ad57a1f454e8dd449205c3022c1a61a7e2044f133cdab1cd6c3f5d40f9fdc48e50672b8bcaa10e22fbf45d379c9f417e75e27be031d833b4aa3f782ee099e450a5d0ac38a83d1118b78c1279760103d5ffeb201216032572fea459633af02e688586a28b04523dd0da1df44fc9b1ba99981ae2f39eafde73eccb03b3acc3c1b500b462caf2b99d17d228348dc83fbf034044ed91c7c90e6b010facc4fdd7a867f3dd7ca62bba9b901a2ca1b121474aa4a931c3140f09f9accb2955a2710d3268148ecc1b08c33bc52a223bb4b94b989a7a4622dd21668c10292396e97342fe804b696ae425339d04f5709e95e2530656b261c1fe3f941f5835848ce4a31832483a07bd49e98ef4a7f14389b54d10ccdc8b5df3f94a17c260f1ac45b25bcff7e8a02cc583a80bcaabf48ac04e5c792949a2b80bc5d817198a5a2a32f1a981eea2284363695b0b3214a0eebf7a93a6675f1f651b8a92676ecf5c2089450ada0ce6c75bc547b892a60e9e3136fed1b9ee95ffe5bdb40fb36f44f628507a00be729f38c1c892bb507523c1e604191ed051df0e7f4be2751e2fd00eab902fb23e8c3c3a438eb8f9be696c5993ebce6624e5b08a6e89e371a8d108c6db54ef6cfeb715ef080c184aae1a7cd2614d0a4467f8a0dc0f4be238799c46f975417f597080c3d429e0923b67635f22d3041e4530b658deddc42c7c7291563c85ab7f1e4bd1571e55c7a84e928453c2d10db8b31f54b6b370bbcdf51dedb8efdfc52cd5aba4f1faa5b9b2d53a9f5728ed04145175bdaa4e0ec6cc591c92463c9f0d9e076868d020b66123fa6048af64d5016a36687a42668853ca5b7780ebd705de5a5d08975742586c48e657af20683d0d0f2125633f1ca7713fea91f1411f8909158f22ad8d4beb0c8ac28913aa9900b2a2518e19ade01e016b1a49cfb9fb18916f73e9d46060b01485cf4a6f928d04c993a5e8e6817fdf2ce81e258e768dac3aab856596ef077135819d84c3751cd385e7dcbdab4bcabc9d5675dfc6d903b60a9a782f34546a85438b9ddded74d830f3fc2555a50b69e9b4ab53f30f2f79762f076cb6742da136b877a66a93609f6a6a513b87ca90b6b29cb4925d7495fc830cadb6060d1a914958e22cc1c6a279aaadd95850a2510f409f94a1ff892e09cd0881adff9be91a9c8988ec0819c4bd6ff81ecf6b9b5892ac9519690a545cd7819fd6ecddc869533a0ede31c2bc6763aa29e899bfab3aef70050dc1e6c2b05fb204042e5f7d5313a6102ae33e370a8921d32e7359da5c80135e8ebacddc1da15071afe0d9c64c8ae88eb1581712d8cea9717a70a94252c3cff5c3429fd1177025d62df3b15cfd4e2530980c9b892e046689bab8ccaf759ac53863c11eeefd0d6b523c8b1db1840ac8e7fab2e1243e4b53c8aff70518a8e7ee62bb5a71fd2018d19448ece91c0d48e1792c0a4e19de30ba2b447002219c4cf2be0bd1c1b07c784f3e630a18c63634d526d6d368cc79eddbbecf3c666f0da5c64ff1e0f02200fa03beea76b8bd8e59c6ad75dd3820cd2b258dc207721533cf835a6077849d68a88daae14b1d2978020988a795d52ae780d63b7bf069a9db55a6b0ed7a2dccd9cb21c4433304f187dfefb78df823f7ca92f8d04e38f92798519afa1885fd3f2871d4954bc2669c94c7a2b815b2b71c70c34aad5e0eda70781fcc4674bd2578d80c0013745daf3408fbf6c0315386a8e829b8869adf9ac0e0eb5600ad0000d116e5cb45f33335ea35d349a89534dcc73fdbc9b90e1420c89a57a51ffc0168c3573f73891c0c8f80e315fe10242e0920c0cdd69f6d9989f68eafd4deb56152726bec799e018506edac69d963c082d01e39c92acf0034974f28199b1d9c314e3d3b747de967369f24b8790296575d84510d1aa7b7e831bd9d394b1694b27ab74537d3976ac6a5c8f8aa44606dbb4f81aef8b780118c3a1c85cea1e816c858e961525c6e8c51eb886f392ba790ce49064ad120789f60af337aeae8647b40b7eba0183eb473d3eddd4e6049ad518e1e011a98a5a56fc3f46dcff44450ab1d58baf6597a78ccbe7e1e5a3bb44a378aecf46f3f9025efdbe3886afaf4e11291e99690486b64c4aedd4f7a6fc9e48a67b89859d2b474db1a225f84e7ba7a05a5225f36e214afeb63eaccf720acf4c7b773176bf7af7fd2993da8e47039f73e42ddcd0aa4dc8fef4824443d05959439c3da59d846ef775f5037c81887da5b43f0b16206b19b27d5a89855059a4e520a6930b0359a704cf97942ee927bfc0c8c847c73034937042d11b22e8e62e9a1fbb3b01661297d6a9cb910d1e24317d277b099607dba4be84a5c25bf52280a304f6a5917ba6888f217a22a044eab1376118a88931bdbf99f87ddca126cf933633f44a2b02364d85328ff8b4e4e656104a5b014b029e71c1f444556a12428787159e4a55cad850cdc041ae612f1e969a188c10241df36b4a2f049c47765c83ff6c5f6eed6e6fefebf674aafd23351adc569f3588622f0c6cbbe548d8d23dfc06468886b2787507269ad50eb58af3bbbe5472274aeff41b7f7f9e44a14226545db037fbc660eac22b46aaed25f9fd6adb9f6be8aac4b0d11421cb5d29d818554584dd01bc644e987051115043b7ba8f63a8c7e1c4cb3db85c2f379f42d29c9f62c8d7a410f434dea17dcc43b8ce9433efb5774a216d66c01adf5d718235cabe0b37e4d7ac9ba146fd2ce5b1829c49d35a266f533801462e0ce32fcd5c51abe891b0aeb8c5844dd30fb0f29e52c96aa39d3706a74aac9eda0eab5af15a4301b27a2f62b36d32b19f394046fa88823bbf308abb97503c7863f5131646e43ac54df643fb46902081885d1e7b639df3309a98ac120b0f15546d696db1e53abc14aa4bc4ad3baea2b251c9794eb2b8788e4c00c82b410cc7e8e27916b385ea7bb6b6c3b6b3e422dcda2395ea281d076a3f5425c8111f25890621023e05931a138d62b09048d1cb3ffdf543a01f5d9f8dd14f0268583b5caad73e2ff771443407f2c9601623979fbad2733136ed18554850c8998fa56e7e5582c37cc1165e845c6381d97f56bcfe92948d7de8aa68ea909c3159f41735e6af6638f9f8f9dbb65cbf6d1aab95d8b7df591505fa122b5918388ca1d27602fc8aa3a0ce34ad0950b95e4a3b2f811e45cd7fa174f138800d574c376055378023ae50f5fecd0cb4a7a8c5a33cc61179f7280442a3189dbce26dc98c3297a49958e93c94927a2449f38f884926f265aefe3f1445e756f86e8f86bcdfa2f80327641e454c2cfd0200ff1eca9d25e6ecfc9536c8b572f5d5787bc4a6b58ec5398cf6c74ffd59414f300d525fbe82e47547a0514a96b84118f49316b4aec1acc1008367dc2f712280c065388de2bb88ed5e46ca9f4bbe86cfc693706814a5464ab9c1e0c366fa9b8aab49b7a00f717f176dba75f66ff1c56fe43f617180aa33f4eeb60153b2a4c5f5f72bf6b06304b0da05e3e390f0b189f782d5c09151ceb7afa51a8b89714e7f8bba731369c6b4e33838cc84a04dbef5b12f281874ec3cc2a53649e8e5151d71db7f63e4e9e0713c1400b8039c4a7ea2a589e22cd903be502e200d732b43eec9de71071e44e50ab1796e9500ce567c4f316ce20b07d520a01e7c82fe020ad7ff5179f3e8d2bd77ca3226226505d94995f400361f4d043cf741f7dbc04e5d1a28f95db1a3f7ea6241ad09535a0440443d1cda442048ea2eba18370cfb91d74c3db484e2b4bfc112c64a5b4e8e618d3dd2b278841283da428e49e644a3b55014f3d40a2fc195a0efc6bc4de21716dfb5fa92b2ecb15ff7e66b38bd712e3a6c8b21e07b280ae6ca5441bcf0fae7767a760ae85c46c6e5105f7f7f261a8aefb48adf3e98e7f643acd39c607b6b81d50a75cd71869a20aa5112a54fce28ac1728e4bd9ee2f666513d54a402496e302969b50948567607cf7a358dc4b56bd66fdfd949a6b7d13a19d672f5a3d03b13ee10cd1c81df0357fd1bdc0e6a9c487e8ee2806be563ea7da62a657c7d0ecf0d99c9ffc6f7bb0e3f21716c9a6e217b46c20d1f1b992aa386b97f21213ceafbf622bd5e9cebf7e71b89707edb39a08b1247ca95da8af0e1f528b8f9b04566ef5e927d666c06ac1638429c977b15eecb696cc02e431b4cdf6c85ad8d68552eb60fcbf4e0235eb14e40b72ea1d96288b0549599a18a0f3f45c54a0e6a2408df0afcede872401f03280d8d1668020f32e2aa115ceac5ee347d22eeb578478298701f91148eb4ff4ed40b3e60f359b7172b18997cc233f4823f1773a738332bbb021e0648bf39ad8ee4067326c15cdbdd6484ff60426795c2678354b6a5d5275a5b66630601bd2744f5e186979e987993cc1f27d1c3883df44946397a90b2012d31a7134c114425464530f56d6e1e3443636e1019a589bc9707b34ed1d8594d72ca7fcbf0a3bcf535aa70127a2a24555095b27f2164d83bc484f448e2e9da8e954c198b145efc9da553fd92668522912b22fe4d405b617ef5b7f86154c81656d0e05f3554b51df5ecba10f9d33a851e222e8dbf263cd17a5c885fec9672fb8541b4a01c11a620d8d836fbd01085718d828d8c0d132a15aaabb18af5dff30d52f556b8da09d49213bf4c5a652b04f1c606f20c705868a8b047852ae5d33a16a3dc6a081b347e03503010009226907553f72e0a7db1cba827a6efb66f358a79d5953187b48b33fad49652f9b21b5f8d23672a91000cb448805c0b1187a9648bb87702e3e9f302146928d2d9be12fbfc3043373563c78849b0bad000aaeafd2f7415500fdd363f08058f21021852cb65f5b74c027182e770e4982c0c9d250175409acc02e44c6e4f0e587921f3c4d413f34b6a7ae6504d0d5ddf114182fa2afb13ec5989a48fa0d754594aa0cc587b09d44df4f2414a501cbca1f37e288362e335eb490c30c1962ae05b5c2492d9270e13fb9c2cbef94ef03519b2fa8caf937c8aac403af4572b01d00478be4e8960a3d766125001cbf45b26b186d5f2bcaadddc5b5197952a50c33a52aabbc424424c112ffe6f324aad025edca85936d48cd69d1367a9ea78b5b8e3090d83254a4a5694cbb932a17efc9ea356106e666009c3347302322c5cfdc161e1ac1c276f7c7e0de17e68aa32b15feafd62e1cc4ab4e3efc5b56b482a6aacc1ab2972f2bef0fdacda55d8a5a1751d9090909a9ec60bc67e9741600a6b38ca8efd3e514ef0484df1be12cb1a8a61704692b4e3c774ec2e7e0a79840df36ab60c058c6952902a5656ee7a4015a85dac697a0dcb7ec76179499379ed7a59f65bf68a9dfe72225c6bbb21e59c01faf71c09aaf04ecfc665cebaec149092b2968d4dfd60133a009ea4e1a807f8cf17e0a4b4a856276ebfeb0df0d898936ae7062470ba019c19c25bb7c531fcb9772772d33cfec74c4c5f0f4ebb28a0502fe628617403e32a84dbe910f470a78e9dec6c0cc4862ff246e980133f97549dce47e572f099bf1963092c2c7147a8fb8a1b7b4a6c8320197f7199ea4d102e0825f1a2ab40e7ae03b5f150efeb3d7a2e508f8cf9142f3961842a63b0a2c5c7fcf4ba046a30f393ad4c3ecaa9549dac6167c6434d1ce8dc544f7bdbd22ea7a518f5471de6856f46a38820044079c4c7215bc96f9260404d681cb87b8516152361cd7dc4ddfdb38aff1e77dc812ac1ee007ab202144a7d672fefc0f3a2ef3f46340b8154476a20a59a928e3ef7c3cd005b441d36713fd3f52b64813539478cad585a00bdf638d83a5e3ca88528c1cb7806d45381c9b385ebed413b8dfe2641e51aa1718fdfcc19b52062a1fa9acc867e06d4100a5deaf415fd64e5133a02c8e63b1a2c26fd7aa9b52d47282b7d603204f8dc59f560d9d9a9ee06e5ef80d57c4ceb79dbd1a86246a83f8f445157251e58a058081bb741132d65e6d66aa500d964b127c9687dc56bf77c5e324b3fb099ef0596b61bd7daad9be54ca91b775bc9b098a64128efa8f794da086fd7df102bba050f5a6035bc63d86ef66afffc6544b95ce7e12a3e2b4d2ac80cd77f573bef308c967a32e35bbb6ec7f6d83bc171b34f39efed49994d05b35f82a73a227d1833047dd0c9d3ef5dc815b5ecbe8c69342480bc53145998c07c7e5635c19e1edacd023d7ecdba691f308ae29751935576129956d2bdfaee7ed811a5a9453b8e36bc66405b98cc751b37467b452f367a9f2ff7342e830c39fa5a3d9974c3d2d7b91e228e144a8e7f44e65dc3bf7da1a7d87f47fe676698f17748a1cfbcfca7d00961d8df2a79023aa3efeb71252ccaae7d6e560d263dccd3c4fdfcc7a156780093ebf888c52d842072fdd67853c0c270ac1474715a577c8752b518df8c8ddd54221cf8f83b88dbb264480421c6804724c1ac40f493718467518e54c1e4564ffd2861fcc663a3cb6d9b22a54ff74121982fcea0b945ad8b786eca53f6fb288f40b32f7b9da13343858f59f1530c496406aa3b6e2bef559a54b3fe1486b0ea8fc67ad4badaddd3863df1e746adf4ea244610dd5253fd531eb3d7f38dd6b98ab49cdc3cd818ee11294a1bf70d2251c8fb5a3f7e9f0eedf4cf41e6eb81b963d2d62295efe6c86e68569aee666dae87a7b7b5c512a3fe7ea32f4c179f23d741bf25740640617c044ef3a3843059c04815ead8dd9344d3f16e7f2107c307c6e19873251d6c2728c354c47edb9938b01a97f4620160e8c0b77ddd11eafc251128d6b72f968dcd894c6c679f0b810a5ea7965a31db712958991c9223fe5eb348d9b168219920ccff38cc5d727d0d04bcb231ad3216f6d9c1da255f758cc03dc862271a2c40909e658f622f6e2ed24ca09d3af37b790c88aca4a8d8d63a73419316aa6ac50a42a588214bcf029b1182b807a1268e75e67677b8e2e03bfc28d24b631e353e9e6399f4237cefc34aa85b35d76560ef0eaa0a18e60da4e26d6ac720767ca9086b33cd56f338aadfe7bbefb36183384baa3a961ffda1c60ff9c46c5223515dcc64bdd2b7e98ebe97b685447442ef4abd36eab6b8ba06947ddf1c6aa79dde8e1c7311b2599d6af2a769d2368be390e524b6d7cef4b90ec4c34182bd8b2fa6c35c01b9263b36b7f3441956302a75e87e742d942210f8e16260d26122dcbb7ac8d5ec8614459598fe86594f88ec61b12f410776da573fbea8060076f2dfde4efa948d3d193e013560856a4435b43b65819bd254bd4193a108a682a05392c2e2de86629b4827ee8e9621d8a0a6eb0861590626cd51dd62ede4b68ad68b8a8827b51ec6d1f66141b1a94902bc4abdd2c61de99a4efd9824285b615e0f1a64ed038d02f51cecff1668151d391a0cb1e8422ea25ad01febd2159e669132205e577408306ad07877ebd7327ba4b72446bd8a37f608b2d87ccf6ca52b8080e1d8233bdcaef4dcbd3d645b6260f677dfe997e05ba1880752acc241f0891068648fb58b101b24ee654abad8b9310089b7bab97d0a07130b58e623a3608ca52643f4989be76ed132e83a4472569dfaf2863bd3460c6be7ba56e9c88430e1ad08645ed9d81167f17c137acb34427a55d8a5b2606a90f1e3e6e44ae8057311e9e272617e0d864222afdef27ef203a1b5a477675786e3363bf231f982c75595427a2c0af574ad09394dbcf39705a84d9231d3300af61cdec24c6dbc79f4c538b77ffe36e06ef83fbab9dc2fa0bd4f5d179d5afa05d2fa8b273160858c27cc65e3fc091c6b99ada2b3b37e84b943ac95a936df6a9ade1eed2735a30688e2d90afd707f1cfd85f0b6022d2041e340d0f75a9a1392fddf514e5141b73667440455ed093d45061a0853810fceec6545e34a7da930b130b776d7e19f3d446e50d28795bab078acfd9a25e1c3554b312b8b6266e7da82a5366a8b81fc4d5886bfb593b71211e0d730b98ac46455b2d08f4fd798c3a0d1d76f6bd4d6eba2ec44b2a00aa5219ccde49cd2420f6a48b99467827ed428bb589995b7dd002161181d0dee35adc84facf18b0225adbdd822cf4c24d2a5124ec18aa20a54bb12450d2b61e33798e675085f2acc191605c36f86cb95a09aab0eb414c83c00020d5d91da457a357a81fd7f703d71b38da8b6b4015986b086bb620d1f4fcbe5439704d21295903d16978060e630bee0bef76447e9b60ed37bf12d9c1785a15c588a4220762933d4a7f88805326e8df8905cba6823b07d4d463a39107fe1b10289f1365ff48c6148456ca1813d545d899a45d332ace2811ae857c834e2f6a62f68fc3d239a83e68477c145c44072edcb3a0e3148444b5fa5a2c4f0f4b40b2ccf7bcf162429e4be5f15ce458b1e851847672755b3bb9e54999fc034b3895d2b46d6bb2f242a8e984fd3fbb11649221bc9ef2841d1ba9e1065b712bc82896b0ad8aa09c2e9890042c24b996557e1bbf17085ada6b713c0cc7195490763cabdb7cd89d52ccfa420dd24810d5a04d0c018c7614284065c0aa2a7250872ab365305275722208ae125ccbde39cedd7a2eedd521495864816486263bdc248df4d6995dabe233a8fb93aa2c87085a01f9e178067fe92405ea9794f098a852da901b12928ec282faa23da51a534648cc4542469332470e03a595791176f10032f5bb7947172f137fea684bb16ce70962d298deada9319378fc82acd9fcfe271ced2c0add903b2c55c5a5b07345cc4e2f265809d07b9e648c0fe66cdac1218887d132fb5d7817ecbf021e1859c437c223dd6e779f9435b967ef24dc9688dd94a43e714f104823c795aeb8afa0cb39cb4d162afebf6a72d44399b9910b06f3ad39215b1c7ca2e350b410abc21be53bd4c482621bd41875bdc9350eefac2967379433c8e1880f78eeaa4d949c90ffef67f32ce1de01f78656e96a5185e3bbea9e5887a847f58c84eddfffaa90abcdc2605b90b76ee8897462c48cf896a3be969c430ccc6f04b199df4204151ecbc27285ac9b05149b14685115bbe5e97bc3c4b0c288242c3f16f44581c47a4c467eef1566d5c5e581ad20fa77fa320788a20517c0da972b05447146ad87785b1f8a74ceb4b14f1e31a9140fc24c8784ee757a34965209561741194740606599db1d038a2067c92556a5eae9bc5069435531add4fa376a222fdd2fbacf0b28081fdde7a18b566a45bd7381b14851ac9f7179a9f803ea95a80f3d60dfba1b57ed188a78c229cc82376a0c548c90e2d2d610f8be2d72b850bd9d655d49d7eb433ee8bc6622558739404970b98928286a501a7403373d662dbaa3ba8c5a49fea4eda161e9a7a14dbab8f4a9362c74ef1e3e0660879e4067e5afa65d99054d328e30603ff82384eb19104923943d6eed6248841ff4145afc52f50c696b51678d24663da9d04782063fee7ed259c234dc409a20ea6e4bb9a21d9e6d45ba301a491204420d5ed60b2afdcec2b643101fc98a3d34048cce5aef88de66294c697db60ff97423996efa621ba4c8081aec381d9da1ef66dae4f9d85a964c26eb6a337b889b9b2fbcd9324fd6d0a6108e2f83dd2d2484387041c964db62ad291a6b25c9064a341fb81481e304e58633d1320373fae3eb18d69044c3df67435ca600b326e7cb97a5ad898724d0eefc0e44190edc435c378cdf3589cf3d603902f02a76d76e2ec376af97edd6f2a4718d8f7ec713d1e1bcf83c2e7b0e620938f9458f1982c46cd529509c5ca474c4c994641b4b9c9a8e469eb1b5a849ba26613825917b0c28a4c1d5d4591b6caa72eb4f6106dd08f40e208880c8d95a2c50212b51682eca460a8d0fa1443a7670f0fbca327a8a1df091292164342346d2ba2f10ec8f26aeced88f38f612ec2891c71a7bb5382caba286626d55da58d6d01ea3c8993b79f7a0304208b183221a4c4140fddcfa085cc2e4f9730e2fd5c80a98e88478cb34779e7a4d866d87815807e6a7d42e088598ba8fbab39013e11cd5aa93b2cdacd6353c3a536a876f416512c706a78a856d38c91aa7d6b098982227497380086a5340ecdd8ff6284b77f79bf624ca33ec5435463debf0759face98364fe49c806c0969d9a3a3b7f3a4c66ac1cfed0295436b4f49dc09525bc6118e2786756e474a22f6ffa1e076651db7ea1c25163f61e3cff4081d79d0e3f17126578ac0072efeae2d6891dbde52f5227fd45b02c8c0264b401884a36e00923cc3bd24b31e22f79896ac375aed39a037f97ea9b038a694e62fe452baff5988015704623723f2398d22040b5ca557582d81b6dc444106ca31807d9e11ce9459962bc4c644de0eb0755cb97d7bc8e372cf6069617b5b934e33b47d47449a57a5e8bf61ab16c647a98b9b26c1607acbbe636ec28a4b0eb681c4271ea2ee75e395400001a047db0409819886973f69373c4833e473411ad70cd63df85331efb4715996e1e005dcdff30e391f580a9533d3f7798c9e50b7ae447d6844a5e475c58f156d105f25369bc529c5b1f3a903c0e011f15c7de67a38364742f998a4b51c26b286fe8d10d78d7c0d55344cb98f343416b9f029864f58cc8dcf84cd15919a4a3100db63d5f8e8c5cca8cd1acc35fce2a64209a136b955d6161fd8fde3d5595927c79ae76ed2a9cf0dd756d3a977901a235ac623e6cfa584e2ed16c7a89ccd5d8b009a66c24dc4094476e461a4af37ac8f93bbc8284b9cf43ebd5cf8c16444d794fe92d72f064f413f14d6c122803b84a050821f43bd56926f6f22cc3800c3d2f923329db65afd3d900c172c0a75b6008e67c356ea1d5ea968d6a218761f460e5ad847ce4e3affaaab072b8fe8dfbfa2d9e16312293b15c7cc0ffbab1ac3417f68b9f94ba8f529f98a8c6986791c48fda4e3ebe720866f2afc459b01b070bcfe880e5d86c4c08e241e161f8d0f011cf21f6e408bbde2de336d69ffe5d4c19248ba3ebd2d52ccaeb257ae5be2747433b8ba3a1efa05010b0f01a531e5c099506d2be75d43cdd516430f61744dc25ba14036e63c5fe46e391fe46b97c85a3c8fe57922c09daa72cde670686dda422b88d9e0c32b48f22c2fd4a530ab8249bbfedf012304e634827b070f73443212a1452893181c3fb89a1930b23b9f5216eeb417434b490ca900449d65b88c52478695689495dc368b54b685b553c9bc3fb1c7cd77a769d0d5e9ca296094fbfa8cdddb998889715e3fbf9f6d373f57b5e7fec809c30446b68b4339d481360c0b00b44d8a34feb89ec6791c928487a44bfab3cebbe9e3f40ca1f6b2a8f773bea33b78fd764bd0fffec091e98137a559531e7bc74cbe356553d55764775dcad46b0a760a24eec58abeb8b47b57f49b867f78dfb353aba9c45b8a1b45a30881a1be00aa0958dd09d4e663683a8a48014cb1fd901c9c4d346e6bebe73e9d7480d1d4d893c4924635a0e07c71a94c4b4185bfae86a0983441a0e35dfaa82959fd27f4d955c5636e47a842595cb8019a9b8a1a24d85f27a89c3fe882f9813952a286e8c66ac4a9d55d0635120602725533ea6b4d5d25201d67b8bbab6e708c6eed63c49e1adc519e23b8cdb9f1e59d53f3c3ca97669bbafacbfba297a8942bea1a2888acf27a84c141ac29b282d60c5d5e70a3e989a250a2dcbdbe52095c4bbd46c5d24b4a448c767fea931b28cc173de01b64b1ec9de8ca3bdc26e377bae41de1cd599369e8e835d7e284e1a323b2c54a9f6b35fe3f7fd58cdea58a7299464669b546fff76b3af419d268933e739832ac4746d8ddaa069c36b55942e238ef448b708d4141201a0c19797ff1f6919bd135173951ed89030594b9aaf37bbb9a8e6fedab064dc50c2ab0f202e3c3d59cee1c56f9c1ce3a16c40bb0286e36346522450f09091e3578e4e8329833c21dabc7ace4c90e6d10264a9681aee8252bcf21778f2457bb0fe3622e1b532deb2c590fd21e3a4f75462e6802b6ffd518e1f5208b1289f1e49f49567529266ef07c3f2923c1312cbca3c64657b26c07ea839df75ca3e1923de43064d1dea2c630409ff8bfab5c4fe8e86414351552d7a104974959ce1e8f851d35f7aa7ed3a08c4967fa29a9fa08b41f9036e6141d39948a650456769470896de0e9954af7da2745387531fe2357709920037ebf2f0c9d6e01bfeab2e950e9f5e17c18ad6d74b41e285a694349040bc803b2869e678f2d2a9c18656520031b9a1fa644b9a96e231fbd8ba606fa6ee4a2cf44a342568d17df0c295fc3a4959c1733a36ad49d31aa6126dc7acb726a68a5a7a0d856b6963f9bb0932050b0a0777489f8f4f8465d962eba382739f845d9bfd5b51852482017a6d11b5c217838dba5cce9e5c6928b8873689560c246f80c1a5622edada9f25fb3409500a32179a7d75b34b43decea20fe998675739d9639d9c025680fcf86045e45a102f3983b2c78958256b80a0639b58ed3dcaa4a8a70516c4892261848ee1be62924d810c4748ec76ddd3760ea0a9e62f1cd11a81f4dee3af81833f1e97d12644e787d6b905412422e94c24f5e6ea4ba07f8dcf80da4f0b7cc351040cb7d2a474dbeb350a9e46355471961c60a0be4efa9ca0a6854bc2b1bfb392ec4841ba5620d930013b9f6c3e28163ed91965e493dddcac5443f3619f51b337fa5daa387902c6f4e2ea36bdce0369483a74432eac9940c400e565dd1fc53add1a442a35c37354db11eac39d5b77ca4c25720c092188bd940b734da834de5f919c4acb58ea94e74fe6ee91a896df12c66edb2c6a1ad5d99c2d7fcb4d4ff953de3940c0403690c3e9b6162599df0e1909d42604ae9c5ec9e68b48c6b1504112c96bea619612f476ef4c10baa1a49d158e34c7cc2a079170b98da1d7fe83cb82bf30316f9e4d5bf2cda4c30d683369424513296d3e946dfdc13e64b0ffd7fe65d30e5e72de0b9c6a6fe4243289c450d661c47d01989ed48f9e3262a70fb1c1f73821b182d5d8d3299538fa591bb25ad1fbb274cc64146ca531c15a972628c49b95e0fd9fc4e93a377dec368a2f162245bb6c41d8ea521772a79ffe602196912f87e92533244f0f5e2cce51affc46a9ed4076a6f74f0bb6f8ad0687f4ec0b7661f93cdc638b732de7e111668fe6b4655bf31d4958fdbc465f52a436b299f870db6ff315e6cf392dcdab512ef6db595e30dc40acb741222e4dea493b8341604b9610b50ca588bda85746d7ca0d1c9ea1fc308e9ff9b8ef91a89cf5431e73d7c2ccb72556c1f5f0b1fa25349433aba1d4d686f28428ac998761dd52c10b163e7fd774d4514a9405e69dba0519841ed47a088d524e44d05fdf73110964e57a92222cfb822df15574bb48d29c8582e349ca89a92a50fc0d16f0922a8b0c5570bcd4012514dd16835baa4c1563962624c5e0f42e564a58342edf165b0cd539df3616e5e02ee7af9b78b957e6b5e5e0b987e2fa5d62c6c2dd0c7428baa63b2a6188c1dc1ae918fac61d29618a8dba99e8103ac30d566a8c81b919f4807d6b742acb287267a057f6ed8d660693d1187567a221740d37aca43106e666d021e84c37a6fd6b68c486ae9f3632c546ee065a0c9df11e2b3162216e265a147dd30d9532c460ee8d340cf465509661047537e810f4a91571e5eb31ead6a023e898ee6849530c726fa063e819efb1522326e266a247d199ee50892126e6de781ae656f4a50e721e981ae086831bb8fc8df502bc1aeb63d3bbf72cb26f56b9daf398260d5600c239c2c8a014be84d6ede9db79dee45c8e9dcb25d7c1ffdcd68c4cc9c7d952a052d9c102fa348b0e2d95cd2ca2d7ed50414cd1bf61708ae2b1a21abaf20059b788265bc133af1ed9d3bc8a3f21f7afb557b4a47935678fac99ebdb9756cff95334118dab7a1939b404bbb0de4a53aa84cd1f56d2074f7a1b9e6ab34c0244eae399b02cbafdbc47a04c9bcd7c58912a96ae0ffd5209b77659d3f4549dc24ca2013bd004ccb4dd8cdad106398aad8c7cd4b5f90d96b591cccab5093b0a2b3dd3dbdb8b5a3257ce56e05058f9991eaf1eea936990483abd51cb4437cf7a0bc86ad34c0743c2d5a3b724dc7ad253d0bc36651610d29e5ec452c9eda73d8524da5ea6422171f24e2e93dc3cf52628b3cd320d0649974f6e4970eb598fc1726d92d9804877bc504bc5dd224d00edd493efb2c9a55f39cd9820c5976e77a0455d32963ee8e115f23f0a2c9ec898d1cfb974cce2158a497feaf91092ecba20a86f465670b29940ae9bc57e39188aaefdeee3b933e06879966a4e1fc1d0c84c049344a1d165497388dcc58c4bed0048502ec14321288b222989224e0e1baeb0c767c03a3587d659587099cc7eb19965df4bb1892038caf3caea66540d9c99ac0b1f9ff63cdc0479d7ca47aa85c99dad8b0fcf7a11f639d4966ce60184fc32579a4f4bb37821024a3c2fa5a06ecad7d754ee638a3241a685ef3932224f3d449235ec5915abcae9b0f4c1931e43276d2fa3f06c868ea5154ff4f2fca3b64c85b3397690567aa2c7fb87ba6514aeedc191b4e289de9e3fd4966960917c79729644b79ef70896d3a6996aa71d7024ae78aea7bb0775cda87d4d8883b8e273bd9d3ea83573edb4020ec5959feb71f5a0be19b5a709722cae78ae97d30fb566aa9d669883b8d2733dee1ed435a376b5038ec4ae10826300b508495bdbf669e621aa72ee1f33ac8f8ffc47e1a81e878720da63934b977634b78188a5984faf038cb816bc43a815eca5a6d628b26c2a17338a4d2dd0f8b5f9a31a782b27fcd1919a93bf2d44574bdf6f7ddabe6f2f0577f09220aa42e204411aa7adc0612260a8d4a29b67bda2906cc4c8b15020bc14d1ad67bd50926e04e4b21070542ad1cdb35e52933422e4586810568ae8e6b35e53483502725b08182aa5e8f6b35ea8481a31722c14082db5e8e659af28a41b01b92c04142f4574eb592fd4248d083916121c954a74f3acd714528d809c161a849522bafdac172a924688dc1602864a2dba79d62b0ac9468c1c0b05c24b11efd68fbcbb0f2f44158d1d337c31c8f00593a0dd06c553874861478b239963c5d48b4810765f835da17db518085887106e73a2fdbdeaa17e31c1ebbef1cb8a93caade82430e33b69ecc27a60942b133db8c2fe42d5de3f034d3e5d523246043ef94bbf7fed412b331bf8b3e67a20bff1b749f0522672f4f2249248dfb167b6e31e5d72670890257dfca3bfce4d0cc19474ba04a5191c647383abab5f35286d1868ae9cc0d39f501d02ad0de3c54d9384ca24c7ed930013109882923315a8ea25a8dc5d2f30b5ffa7ec7a50b7b6376f4cd98d4da1570c888712d7784d16b7040d1a1b265b74dd29899a5cde400d611e88ecaccba8a3c68b660d9e83388a83bc7a3a0b77800c38d05c4451a5ff9bad65a642b4bddfbf9600538638e5d22204dd0819f434d73c7e4debe46b4bd54635a577237c4581f2b77d87bca4da0ed4654832f6ba2c14ae2235ad4bdc8241b0072b25d01395b5a7dd3b68d8e769c5f2554a616a0bdc440ff3798a8744345bd9d38e4dc2a439e38718504b3e370ce53e92d0c530804370d08a99cde7c531b8e4ec488b8a6436098a06a8fad7c3071dfa5218eebdfbf0a156be72fbc4714f0447d3f173d0f8b2c69986ce0030164137016a490dbf435ca752ed2240436bf2aa5b47bc278fa45733f985c543aa95be25edca3fce4df2f6836f15c3cf11f9b4d21181d8d0ad633ce280d803b3f0f0f988b8dcd25680c0948222bf041871c2d7135fd67ae180b8d7eb9198c235a564885c4028697b4d2385d2dc11a3d931c5c87c4e28c51ef59fa47bab1d72a148af163945c2f982fef5f9359c93e751ec2ab7770a5b55b41335be765ab30f98afc90cf9789c101413e2872d8bae958eee8682b661db51d3f7723b4bb188206f970bcce742e67ddca405723042b77619b716a08c208d52c634cbd7b9d9060f70244f3b20317726b70b6ffd989ada9a5587bdf7e0f277d1713eedc2309adcc0c1fe2d0197f747f7d9be61e0bacb88de83bd4cedb2ef4a038d2b16daefaa00aea03039822fd0e44a8b50526bd7d1764abc8ab7a1b041dbb063fe7c31c026f1e8a89a88519d361a6b56fe6ca6dfacbb3d19c31416a5d144648d9badab0166408894eb2bd2eb40e3a39faa6e820c3ad4f5c46c2d2c085a1e9e586f88dd40ff4d984ca09cba8f4ea15646b78df699f28aa19c39102edbe5dad12c6d684dc022a6fcf3e1f219d21007c97e315fd1db56660344db3d1c744c54c9959a5bdebbc6f999bbe42e67d8f12e030e15fd0919bc5568818d7a56eb222bd4946d115435c8ea417c466c801b7ec3835bc212af4476c808b31cb99ce1f9c02c8d98b57012d8932fcad2d78999105c076e3b52660291511f832a4ce670d70b69d7c6615cb01a721a82060af2b6361019185b2fcee16308689be461c4e09ba1003f6ac1eb00098c570084c0bd10b0918f720ea4aab25be7ffaba122c8b450d6182a8e021297458b1482577104dd2ac1ab530473c77c7b9dc43721ca9eea3bc78f5e919cfcf747c00ef281affc8624e7ea653124b073207e3f3cc5daa8e15607ae3aff67da86f068591fe898216c6081d395dfdcc599c1db21e24074516907fba178a5fadbac7100d4457b0fd670d868e24cf8dedd8d96cf3585aecf0af62d66958767713a402df3708fc03b100a3dc6b2a7346c70784a35923689942478f8a333f04f8da738538a3f104401e20fd470b50c9a60f9e21c9860ec1034bf745db41accd1d466f60fef85589ae5c9895d0b6a1628a6b100a27c5a77904650c60dd53b2dbd107ae07e08985b4aaadd0a8605186f28c50d8a31588a38851c23a03ba8116768231268a332080730acad8b9416b88376ce37b010091fb162bbdeae8feab2d17dfa7a2227a958cff63a8d89b337608eb9ea6fdb561037bf908ba353c910d2a0cbd36c18b685306421c230ed0843e0b3b10d19d08342d554899ee5b9bc6cc9b8c4c56634402ececa94c9c4835346aa108413a5e56f80af4b283d07ddb9bf1f33770aec453a5dea16425a1d236e0dc0f78a5661151ed56d04c75dcd89341b8146f80da9f140e18611f189c964646dcf93a5928ae70600dc3266ae37e0b57de5c84ff371cdc9cdf81a212c00d46365377edd1456fcd0398e051ae61ae384ce5a715304f426a794845167582aeba68703fb09f8fae99339485ff3a139e660bb88379e6ab2afcaa0dfa178e8becd36dcee66faddd57ac3c3e7346e29ccc2a481fb3385f8bc4edd54ac40d108232b18d5c7e40057562af1e59bbed3b6d8ffab7094d099c20fa9f578fcdb8c4ba1ad74a0ec6aa3503aac6c4feb93700f130e197d08e04cb04c3b40c5aa323e21a71dce8dabce88371337502b6fd3faee085798889de13627681de743f549e6e54f06b084fddfa179af9d09cf9b26387e595b05ed2003455f5ca07046d67cce6e3a7ea99a2f5cb90933a18b7777e3ffd3d13025e686bff25b42b269655e68ca55d058a30a369cfa2ff3513545b0820da53face8a47ee2ea0c5c8f62e043e7a29944bbecf57e02b42c556059ffc4fcf411d183aaa5d6e1c18883ad30af6b602645e1532027675fbb75de79b11e45ecc3160a8dc5132cfec5d1543d071701ce74dcc491cf42b61855d2a9202f566c91c458646be6a86b7dce2973692d5391c666de2f8bd5208d1a542eceb6624d9f83f399082bdcf6bf73146989284b19d6c7dbadef56d0e649975fe6136401c54097f99a10d05272c9281286951891c978c0f26d5ac277176ba2444b3d0b786d506d798f3c454b583f92780da700d9cfd577ec187c19a77763cb87f6a093a011a056b35774aa02a4f0f2c310d70dd3a5b20f4d7bfec480b4ec51ff08962cc01f8efb680189b7e970d1d3e140daa813f648cd96552d43510236ddff1895877fd658931d91eac111dd4c0791062ae1ef5011d082fdf20c05b344073a0d65de17a4094206ba9a6df73cc3a789be8d03218553146e54015620edeef58a2977f95fbe9960466c469a8451c6fe9a8f43decb2f95d836a37ba18e93ff95c7e0d72896a19bafe17e4ccfd5d6b746d8b6eb48b42f465e537af43ae037fb5a4124d472ca7f59c2b881209ac6249774232fd8e642c00faf25b799a5712604375095b0386ccea532ec6494d856a4cca0636460969b04ca26c7a130c934556c8ea49d5f43c65f3e34b0825486e080126df724bf496fd333bab0b30f07b9317ee58ffe6af587a3bc6dcbb3f98c7dd82d736b6641051674455175f1f07564fe2f0bb1aa8895e294ab4a5f16b36607853ddd93475bc87d01caefdcb0aa67d12169815b6f811606fbc759ae8aa6a726bc11206679f19c32c54ef2d37672def373960283de0d5674b4ac5a872d29bf67ef82952629805746e42eafceec578825ad2dd09ae964204a25d78170e503d937880919166d5d1258c529b61eb4723c15d6135a02f10b6746ff81d7671365573c8c90d574196de5bb40301a8474228519c150814d683f62d1b7d2c9811df028aca9e02a30728a338a0928b3693bb89bebf6aae6ee2cf45c4369711d5bd10689f163c984dab47ff25039827db7f57f4f2a5eec3f819d3be749a7434a8866ca45e3705227aae43c8128eab59b91c6c544e1066701643b14463c0c29ea93c87f58a5567e6e103c92d568080f846018cfba0534948092e0539e710157bd8082045552319964188969aa3788f1a33048ac987fd69c9e1f471e46da96bfe76c45ac0ff43a8eb67ece7808a7f426579d624d53018b58734682f8d600051d16fd96b875683e8a9cd3f8fef34d1c47cc60f2941752ccb4e156ae3e014893c108021ec450674ba0611f65c258fa990ada15df0ca98745f8616a659eeca0ef34a3ec2c6abcc01fd67ccaa8110f1ad032e372eca1e8133e9428a27a82ad9ccdc8a5fc1394c65128cd0d3fd2d59b415fa3198f34414dd4f6cadf762aac6a800fc58adf06beff3c98682cbfdff688787b7fdf9860912d412798bd09b5167d56fe48368656d152bd520ec33e47310134dd0600ba0a94a6c6c80d0952c63235b3ab71437a05cef974df4f4c7f4c35e3de1b1412a3dead3d19450abe934639ae9e5b3c0dfb771874733332859317e703c3dac57322daa297960750bf8fcc80d7ee1e984ebc10b5b67242cc2d5e50f7d64f354a690288aaf76206d5c851241987cb8eea22fb36c96242c9278c57562557f3d5cc9faf4a3eebb339b9f6b6ad63b49f360bf51c16d11ed4533810f2348e5afa3a63afc316c8e0d8fa68aa17ae523c58336425782a8b5efc760342185daf771a06f2912d046d6f45a76c344948507f0c5bdc95bad07dd29b411503b1bdfe77e11783b6d71b6816b13ffbe339951d835605e3223c7bff2ed1827daa59d4c0d8081803529362a47d32c944d9322f2e85b9ac4e93172642cc18c8abcdb635ca9aca2eeca69b9991d92757f5321face8d5e4452819a4cf4818b17d62aa389149f54968487d3c2c3ed3b95dead79b2fcfd032bea979403036df561c2b8fb9b827d2f59754de2e16dfed514a2523c95312f4b1d0feb2006c4895157238fe0f9cf684f67f69fc87e8e70b1de949ecaae631ce538a91d051fa10aa52da75c15dc581fc700785a59128ca782fee0df756bd2bccd6cf25d7ceeb769662e4943a3fdc2e83aeda1f16f5138fb8d8cde76604509fe3609da08f9d3456b2b61f8a75b54e2ff604c2c4f02815f51391eba78f1166ce26516327c002aded3a30046bd6bcf94d30f67e83108f34dd2c6ad2d5a633e0f2863b67cb81c01e8ce5f02b71fc107a214412c51b45bae902d9204b4745a8c2372da7d31e253462f4d83af45132663a6c1754baf751e07043ab1ad771bbf854b304a7afa47052808903a7e06014c888f88588304467c7ddeadd91d85ee2262e79f9fa787f9e3831e98fa4ba42893abc2c86dede43fa3ac80f98fa8efd877de5267d6757fd027dfa37572195b3374c3fec558478c1aad8e90c683c71cba7c19afc199c1c32b807c6ebcc78b42d07aa6d3b5d08efbdb1a32b581ff8bf30933cdf184203801a74327e5edde36c6c7d8f0e81192bf45db6d323c22f80d222de7e7c1091512eef485ccfaddf16158f5ac8c71895eb5771c40a296cb41e6dcf8f422f9766851a1d261c322fcc67c1571bf4d2de705eda672e4bd61c44dbd8a4b543e5f3fbd5f5641b918cf27a5afd2583f2f51465e55c648bad6fee5dca4a20a5b2247b8eac785f1374faef51c50f2290dd17ffd8ac9370a828c26668e8feca6c44c53c5d5c4b79fa1f7dc61249b615a5ddf77cbf0e82c652a60ea570758015913ac6254045d5901dbce435a456c130f858ae0ea39a032b7d2bc471dd27a7cd83436ec55d82c923d3818964c0bb2e0957454ba131d0246304f7664a0ecbe6bc2695e24478e3aaac047bb361ef4fbfb0032b9df8192ef3f1f4030d630dfbb98c5524ea6798c9528b7f77442c212d0e63350e417a998a868976600a769bffbcee450e41cafbe47d1621ec1deb36e24aab6131730e08750e2c0e64883ee062f05ff5d7ef263b10d008fa43b8afa816477500bc88f0acf9f6030c42eff73750017871959ecbf31f48d848737963a8f2b1601f358d05cb027750c6e7e8113afd5eebb7c8ff872c20f89ac524a486836b113b03a85bc12a6ced4def781bd3b8074dea68553584fad0fb31aa27526d52ab4a96bfee1f15d8362a410b07063df265f3845fdd428780a0c724f94ba4ea10741fe4cafdbbbe634529610f116ee2c71cab3987706fc7c00131eb57ae2a2cc1f660cefab09ea64b819c883af70c565775242cb6121401e1dce93b8ae604bf8e5cc063de759914764d66cbd9e7285cddbfbf842891b873c7d4ccf26df9509606834ef64d104cbb5bcf36fbd2fa17ae529d4eb228950a440c1a7b65d5ed9b7b9eeb9434f15539fd2d0fa31cf3b45b9af855eb466b2f23a979ae4b1264a56f171bac481636a2bad28c54431151818d9d5c2249428234dda4ceb4d8e10cca80f6ad1461e743ee7552e367d0a0269b47087cfc5d41672227b6f693a7f6eb273b1613bdc1392c4030aceaf830e53b7cf5f938398e04f55482e02b510c679dfe65d1b8a90e56606d3375428789f1a5318f624246eea52da878e8f0657ec34dcbb16eefa217f32ef00b8a64b1951d824a1f120d6da7f2ba539f4ab3e17a783f04ed3ceb480c94095433c88ecedf5f0759bee31f558d1682b6ce58d6070423aafe90d855194d509bae3f42def80008e3a6757feffeb329fc5c359347b74c915cebc581807a052e5be2813286a5caa7d61f1b0ec46a72b64a45aec602a8f84d6772e6365482157b9764176e72b0bc3f90c442485c9c8e2e82ee54b3a0a7c5771d4f5260d7952505330386b31685551343bee4c1447d28c2a1fc8019e9d523081d6d7c3c3651b3cb781516f88dc7852c7118608781ac5061ecaf759b76f2bc7c506bc561f39d42fdbcb7b02ef9eb9c5617f13b8fbe7ac21eedd6ecf86dc37b92a0832054a005505d1009e38a4f4be3a0b6a337d1ec42768424decdaab68c09f3eb286d5c309455b55bd6042555f77d5a8908ac736fd11cfed79ac15b64be1e05d87abe0925bf67ba21e2e4c5c9d1d4d2eb3661d12b29a7ce131c27f69ae560a8148b3f12fa1f7b6f9ba16fed77fea0c3081387ae2f093489965f656844425ca5f411bee69d1e126190701aa5e12e6858a4108ba44b4d835bb413f742914fdb69c1b9100a32cfc44e6f8bc8f1ad6e3db92013118a297af29b73187230363022b2a3e16e1154d1122ee26654c9e21737215a645626c8a67738a3298ba3401e4674af1bbfedfa6bfb90b70f6456cf1fb205c81796f6a14da95674fff7ddc50a3f52c8fcff11b7e1a4c7bf105c888a0c098a41104b045cef17110106404f86aa693e09c5d943f1fe0c69ab2588030d363c6a44e5ed55ad9c78e11fe1e1ad327c0bc980186f660535fb6037ec022f38b06a870b07ac2aa16f005a0f09be2c9cb895bed69fc586fe1067c1128222692f5a11f36c1fb1ba66bcf72cf6f7d96fbd56c0d914899590187fd359566562563515b971757cc87b97a26294502b132ca5250f21d20b73376c27d507736f252c5ab751c391628bd70e3d95d213fb5290983b04dcb1ed54537c1c4c80c0a39cbd7da0256139af838046d1bc67180c2afa5b4f1931969d86f13da124e470b662e32e541fab34b9bd1cd16e8cd398045ceef6ec78079bb487250046203170d680068bb76dcc65298fb32a7ab08310e7d9089cfc3a5877104b77f15f5bba13ced01d58b99d3d690edf002d42d58ed0565c80172681cf1870a87ea0cc96471c65d263d5c11ed74df265359bc548a960659f3b3fdb90c61cf863e4b3ea0557e53178f737b706d41f7962199e053c76f3a09cdc059d53b93e5b2462a423119b08c009e87aa08a7ec5c9d270da7e58240313013731f7a217f48ed984bca173126748746deaf05763a64343ca00d71d2a37bc6d780338154aeb0a15a8142ecb001fc81eb1a67915902ee57fae38b3254fbda8c55ae50e1562d2445a8c1b1cbb423d3acddf554179f947dfee5d1d992ba0004ef0530f8472ce7a078ebd2d785a126620a84afe3e6c50c93129d0b7a5dfd2190c7febf75eb87d958f309ea693a047ccea3dded2e4e958e9d1fc21e7e150000b88cb6283f60527ab31e8c2f1a699ebce0157b90195dea19627006e31bc29a5a91f9dc8e13764fab74bb3113e790803a07e5541f8dadd0464cf458ef113e3ed4fdf957cc3f5bd2bae0139b0fa7c7bf5ee45009268b310f5c8e96e7d9538c13d981227641d9b07b76721901a4886431f43a9d87899c3e611d2ec7e5c4900b59b5c474a06850f0b3d053c41c135d814b133957c3b5012b74aae695ea2e5ebabe2264b3b0de1fdf571bf1ddf14acfa30e6a12cfb1f18f83ba54372775fe42fce7550e666e50d114975440f1264ee1bd00a76d7416e882bcd0d89eb9588097c03a9e4683f6b37a9fd0c3f89a367ec1d975245eeed02d19446da508e6a0c69c59bd96c563930c8b46f8c060b6592d9190afb89d4946723fbb7bfc2899f3ffa54568e58f89f760fb4b9b0511cc22e8089639bc0e4afd99ff24a658f2d7788a37d1cae3f5304cb5a898d4e10d04d3c3ce9380847206f753681a2d6ef237aff7d41fc411d47a4528f2c503bc62e8f62079a429c464e637a96e582fa3fcfc83948e26f56080c8d30e6afe7ec78dba561abae7ee28e1c78899d2332bf4aab598ec8fa3b50fd7c7ba1f2c2b463a11f3c346fc125948545eea35ef199e49e46a8b9ef9cdfdb94826b1858f550121a0dd1cbcea76ec288b2a0be0ba96a292588c69633a7c469ec3df8fe515d624038a14bf8ba6bcb4ee5b7971f28d9768c8414e40375a7f3bf1a254f0eaedace24e5bd338fd46e8b8c7b5aafa8b7e00cab3cbc771ff0b352bc48bb944bdc8f4c45a8e37f7a1407133821f0c1d35fa063eb236aac2f72897e967adf783e991eb49cca4e99258c6b1854057008f7049e0ab0068725850d7fe1902a2b5a24859ee4f25413bf175fa52ffcaa4a9d9915ef9bfbd2fc3abd5c1dd3a00690eb52a86a14e2fc23aaa1c5daae335c6c1774cf13c5c543526d29968cbd092f967a7265636f2b463235a46c19045bb14b6508460ba69b178e87f32818e137ac33a1fa2f8610b059f7d23f8ec64882012d40fa4d41e998b33a98b1bf453fbc140ce163466988c610ca4cf471d3b9418c3d1efe6e22486f98b82e15b64122cc673c34f3cdba8dd7c112b9a7c0b8a0f77e935180983f51b4f2fca412065e5302dc9315112303ebfcd22b329c3c19cc64d1d55122739eab2a0eabf71679ee770790328bcba4aee40154030bb039680b99083e6f33f19637c696a71a34fd86813786aa92f2da94ae8db1c4fefb667927ceb29b35d53c30a0777971cd290c966c8c678282f43f35f5828a58c85e2e11cefbcfd9f959df21a92a13b6d740675f7b342f5a5c07503161740a549ec685dce2f3173f87c276d7bb36b564a203fde7245484409134518a63c05bb72b281d5d0e9c5f6f63e148ab37bc727e39e0662d4c6b8d44a79b8d153cde8f8b357b08830601ba5700e2b38bcc5d827ef0b466cc672d6067895457b53509584de83a99e6fdbee3dc74b7409b8f4853d9119d6ae88c8379b295ae6ec69f55a67cbc7ce772a6f4a8c4d5adb67c9e59528b4872a1507bb96023b7568a6b6c89d0c35d3edb58b3f0b313a6a94986de321f9f5c3d14b100244430c8419f8eb1e2622789580a7406874e7a2e45586f43cf3e371722772448679a72a3417f4a76ad58a8bc69d4a6e92065b85294ccdd8a8d67f10d7ec08d11abc3283035af9a41e25a4f7f2325ae63d2b1acbdd26c10ea203948944369322d873011e0344f411c425156ea4c50164e213613da0c341b2167021e98be41a19bd1f19272ed5013e5f025f22595d99e288463c81481cc09ad00450dc272029a529d7b25a9fca9177a41f98959a63ebe8cd40cb15bdbcf6fc1e268aa23d1b8920542551bfdd8c6d7832fe3d879583e8e065a72f179fc0f0e6f31d495c968807d803eb21f5110943f2bfaeb14dc4a3f13a1156791f0ec59aea2ed77f17f9f9604e74e7b2cf0c37e5d9bab75bdacd3f0cb06675d3a20a7ba5151f1d7cc6b81f1c01ba5360198d7848c170a174701ca6fbca9a6694dfedef025e7874eeacc510e87d5749fb8414628ccbbf723ca004ed3496f1aaafc0e48bc438edcd433b76bcd686d5160d80b5cb9d49133969e9a69f25624f8e2004c78724710c3c57c6d766da8728dde2514567e562ff834d75056312dc9bb3f8b029e4caa2cb02a6945b732b138a77856270e31f00e96fc7cdd444dd33f197dfbffafc8acc456674e1f168a330b7d9ac4dc784a0ea445ebeecab46cd3e8c4395a129d8b694387b2bd8cdb026c66efa981f6284076c4feb432cf0fff0f50c793b038290db48de4e2324c5e697ac8de53ccb8f4cac67d9d07927f75bfa5c3e12a69b437bed4f0677d980e286145933a94356bd03a1c8aa0654dec9812439bcfc0230ee364c409089400c3ea2c459f5b8c04f64bbbc5cec7f653c4bc7587784ff10d3580f20490dd3add51ec3ea889221ffdcb4dc4e064148a87de08649c1bf7c9775b6a2661035a8f13651f12029c14cfc207b39c981d68da71f0d64d5d051304f6422111d240503691627e4a40d2fcc0801e244929eae8aff5d39cf1e177ac1d515895fc1c137247fc461da5941bd73c0f0bb1f944f0235345a1bb2cc0fba5447538196003863f0a5233c0c2d334a33a6a2aaa73f4769392aa305e5a378d0ddf7ccd60d602a0ea200e41ad8e1a4f3ec68ee411786675145c2bef549a5ad615907dda7b637495b2b624985432213ed8bf7022bef2f7abc6d1fb9951e887dc915c6cba70e0e3e0e278b6a00f7a6b6ebc194affdac46bdde5733c2d495b26c0c8da58ab2eb8fe81ec0d34719451f15ae39e5b761cdba66c394a4ed7da548d6ec948468374c277c4c23b1c38423942af6737a4682a31b52dec882978298c3e48d203361ac27c5848c511d8218bffbc02121d17591f93c152b0e0bd70e8bdaf16a3b111e960c949e44408ee109eff3cb44842d818049c876c1eca411ca5a9bf968c1ef73f738a8898aea50bf4920c69d0138b4f3f0e6a35066595ca58cbb0290561bb0300682f855bc005566b6a374b66e719a8aedeb9cdbc74c392f7f4278d799cfb962cb0889779f38c433b452235f265badbac9a62f6a435d06a5da3cfc3e3ac2fe9a737f8e422fa909b7d1bbe61a59441630b5036549dc5191574cdeb65ab60ab199fd2c40f199440ebfa5ff60d8bc1970e0d208a282e14c94562e57ed40cdcf78bf8cb104a3232ee373e938bf96a5903d101f4de32dd576b5630137d5b8bf49b5b7608a36e71b15795e0bcd6e0e0e560fafa97a17cd7e86806ce3ca0fb07bc31a325441ad6fe31d3091ae264666ce988251e8789c5b297db3456007e7aeae5df46b41a96d36289239e03ce04abbc1adb435fc704661f3cb563a1b244596026f3772c9fd1076058ff430a9d11dccf439498ed4d100adf84a27c7e55f073f76a057891d242639721c2b85771a7a74dff9d691d88c2d257d038c6e223a17146584c7ba4dcb9906c81118bb23eea47cd746ec9f1a4610ec8c2d332be6bb7b48311383653b4c33918a91254dea399ada011a1be0352504b347370439ab2a88e5a903eeb8b280e502a39b8bfc117e9628a40c96175e6cfb868bc03ffa28a58d7bc5368491b2b0c996e99befa49d507e9e0467c8bf57705b2a36a7dd8ca8a444ddadf8f86a1f9431aeec64b46df421edad5e0449958ffce6da47127d48f751716898bbd3db776c5ba36bcf7782957dfb99e16a889ebcd14707038e62906876fd4991c05dd87049a59510a869abe1448879d15d43b7b3d56e5e226751620275141d926a672417b17f1136683c078a48d962fa9dceb022f183fb7ac4941204368c5edac0185d09d20b00b3d0b37fc60539dbbff87abe79d6bff6360aee889cb8441fee76346469bd8da01274a6466382aaa89516e43469bdbe1961cb2ce51958241ad62c4b7af2d1f51d269bfceac2938ef822a86e24411d4a80c03d951b42325a03cc89978ab4ccc985d7cd1efcd6b8b8a3edf49f6abf9634e8a22cd1b1a1b67f1ac2084e41c12764fee20ec9d43c353741cbeccd4fe228d9a0cac2b42c11a4abe05f4911dc881a461c402b80e2c4134cb8afeeddb6eed7fd0b02f97871c627105c8523350a1153bba781f738255ffbe506916da4de64939b64c74d08558e1034f0eb84a4d7f24a92de4aa883d705540f9c8d13e2a037859f8ea1610ba4a178734cb014a0cb347b89d89c03960ce5ac4b004a379701094efeff22108d62bc1e335f9aff4efeb4c79255501b1b37d788d591703a8a581443e92a5f3d2a96cf152d3c818579f4893bf48fdaf6a083f9b6b87467478283cf4835706e15a594eece3832912244ba7e41eda06da3617453d2a5b68b062d78c8267c26f9cafd16bd2beeeb801d52b1a6ed44df6fab1159a58b224f5cf8977ec3d6b923c2e5829c66252a9f536f8f5aef88292d4f6110471a827ec4c17494126fb5452f856ec1ca07148c0aaf30474c29f609b640c6388da4f1e298783106ca6584e48d075d47b82f06dc1e95f552500e44907efe3a911ac7bbaee2577210b98f1851d996930553ada98125abd1d9b5c901321a8d18bc73806873e6d34c7d6f82697ca03c5106d5063842905ba538ae90c615f9aaba7e7ce759a354f7a594165b3eb5f94a3c61b4a54a7255a2276de6144b88880b01893097aac7cefa1be538c902848e47674c9ac65a2ea833cb6e16aec400237ad55e4e496ded5b14888d2ce91e8641cf40edf1a94b5719959ab876a3809acdc6bfa84a57825fe2cf8d5b72a407a919ce00c4ffaf81224e850f4bdcc3130438cba06c9206662b4a1e7d00e5e89844d08a4d9d207d293d0719750e471840d54f369ec6b94162943a18fae8781fdb7cf760ebeef485acfb153c71d778a528cfed18ce48ca10524b953238a056142d3d1876083e157a479407db6c097858972ccc8770b2b038bbcc138467e4c0445220fdcc848696bc3ea806d9c05527c3496e2a2e296342f5267674f75ea4e20c20f357ed061210d405768d3826901867a0ee80b63c1ddc707c1fe66824520e03ff3f2d82846477e2a307de91b418522303829a520ab0c845e28ffa8fcae24589e5346cee9659f809dc3f0f8366182f2746e1c623ad3a4166ea718b1f87aecac8edc825bdaa1efe02da3273fe404a3d4c3b7c07616748201268d531e5d0ec8d5b9672aa122863f877e5e34596896a6520222d04ac8f5e40b0afd490d1a5eaf881e472be991343720b2cc20e3cf94cb6d70089fa7b7cef4e7a0fe0d1ddd7ce45a649da76bc2bb0af39298ac02396e0c94a7753b2227eb5443835a87546835027185d89e506c21d54069ea178a4e1eac75f6646aab96a265312416f456d0700f2b4c77ef87e02d644187b3542c3e34820fd139c38c20f1d8f48679099f46c5f588385aee93c110b3417b84f411326733e164319c6ff47df08bb25739ff119a6351245c491eefe213107de3235992526bfb0c63dad9c61f69c3c9d2390875eb3b21e4578c078bcc502f3d98daeafecf024ebacdf6e52f32f6523e4d6193424dd0f654fc53d883d8c33808fb39386d9c1b089013d0ef3d0c8d05eb7bfb69a4d8ce4105bed1a69eb21ccd08e68921e8471feb5eb30bec520d8fc595cc68bfe7071b1637123c0b8fc3edebb8f897af6b79421c91a5c72d43ff7206dd51ceef0b1e013e1d2e64364ecb083c3dfc53a1346bbf8186f97dae18b5069a438d301c65f1c44c86f237774a21ae9bc8d7c24a1eaf0b5aa5cba517c43f959dea51030718b115e417ba739900304f29f5f00b9791e7ed60e4d8939156b73b39d9fdfa990c48550966c4fce8cdffe1c637212f71c5237e01eb457b4bfaa19366bfa6d5c7c16c75c55c3a2b8a9e070cda77b215ec93dca4bb696e197c1dc19c6d7de144c6460de70550035ed33f4493973aaa9ea8eef873047e14f1a5c5042469d9649775b558de57aef8556e7915a53e2ae545956e21090bc0e5e5a311dfe27277d3584e6c8729444026e9da86c6c8e72d8f140e5e2b2911cc3b2ab2eae5a8362ae029ddf88f1901695eab6136443c4271e395a641c3b213746591252ff60d19ebb5e6a7870ea8335653a45fdeaa4f8c3d77a01661e22819d7862767d40975849694d7648f1850d07736e434ac41a2a5af168b4c7cf1537c4b1ce58981cd135315bd40d5577aac33ce745c51a0423842299de6542054266fbb7654c3835ce14e8f8ca107d0d2976cecea567ada1647bb8b8d8ec04442f21fd36c10790fd3b61b7c4a6f4a80065a92d984cb31b0441e93861ee0d1fed21640f506e14e52745587bbbe99ad6a88e90b63a10341e60736884eed25e063f6d63bcc6a9c7ee3f325ebdf8abae09acf13abd7e8ee606e6b81aeb247304c0ffb11f3bc557c57e8684b94dfde6bdbe1efe6c1e09f769e22c3ea52b83251a67b5090359826ba392ce4c6aac9f649e873c982e8f187d0ec3708788ed861ff4eede0b67fa5eb89f5b3c530664554f8865ad226f140deafb3f64be9fa35794e1106130870481275c3e120f8888879cd1cfbac3398b7af70be262e086b4d125d99f0296c7d4da16c14e64809ae112161c0db7cb9c595819bd83ed881753cb804d4553da61d3322577faa601c675b5285dae854ce560a8fc1f48fa1006c442bd97fee85cb2353a6c9e6150c8b33601e5167a15e1039a29c228dd59bf9f59ef21a70e95e8467af6f29daaec597897ad1d0bf1e2cd34c74f347a0c5f52c623ae149e876053f393df35c1b8a0473c783309b7e593568a286619adea0b96f18b59b2f9db0a52ae81833ada50ba702bffb92a64453c22cad49b74cbca06f274314c4e8bf3565428a1409a5f759d1bc31e5c61d5fb9087a8a0efd95a9f5c500e80f3d853a92b86829043a43a7dced5c54f7b5314050f32d164c3051b463bd96d8c21119cf2a67d4266cd16948412bb28c55697d8c3893453a82a1594932426120a2233e3890bbd141d947815ec229b87046da80ca1104e92eed4e7e3e48c7ff511ea45ade9300a6906a7124607090abf1621b1ce85bd7cc7f71f5133f305cabcdc4e46542f2029b9e1a4b7ed28274d92d04564b200a0da0cf980ff28ab90d25f84e4d307aa09a750d483bd2a978517de80cd0018b26b6c7a0527ab7910d5057ed13b43560c7b195e4c6d7b1f2c42e9296f63ffd9e8ea22260fd6d9aea18372d465226b3c5c9e921deb93cef4081fc641b00b3e221ea59d7b9486261ba968ec1decec22e386b0ba9fa5c030a44bbd62e1d81172f10455356710110bd0555c7d62d1048a75ad4e0c0acf89c3ef897cda90155536310218de76370230cfce319361239fa147e0c4ace8600a885d6eec4d02e7007b8ca2b4acab6990d3f9c963343e5c3a4f192a478931cc0d323df554c48fb7e17e34f3c0ef4b103bc763f0fd05ea87a4b96713f98df1406b4058e10b9451fb716f54a91baf5f0a32a80bc4692b63699e3554830add99b48e04d3f680d4c151801dc9ec224338b6269f0887ab76f355c7f0b144c528c3f2de134fbd0f2dee70ee680e8920a40badd775e9231c68cd13cfef0c38a42e5ce3231885228924b4e4175ece27468742d9f4ff576ad64baaeb3bd36f30b1789fdbcda5479ab0ffe66ee372d6f32abd098011612965745fe14117c57998e49c614227562cc03e06aa68ee7a787826e0dfca58d3119fbe488d81758ae7c8c35c5db2e3f869f080e0ef04ff0433054adac26f7cc5d12eac61542046d8c41e52ee79eac778cf0cb9f298d90c9d8a49d5c7c08072c175e4c0cf0afa7849938e339c4f8fcb8f4387b81324378c1c3617cec3291f505d7138c0df6eaea6e8c2621daf7a9825877265e937e1dc4ef8fc7dc8d83bab9cd848aff8fdde5488fd045cebab4a72f0f9aa806812244cc6e0127866fcae525c5b0ae9c54e20b4e23c6abe2f74270bd2d690fbae2800edc07a8d6dbc2e14957740f87b04679ba2669c45a4b590244cf8b4663735389f07aee9e2f620dafee4894c397f7263506030c066da3db57c11e49e8525f1efd8197ed1af223d6a0a0ddd0d71f533f42591d6175d0cdf93818347f1f59db76669e18ffc91f6d6e870e6d6eb2c6c01e05868643354cf2f8dea299a582f88ba70d448aeda66fad9fbcbfdff590730d30d6e052dff57e9575de3c5f3b0aaf049a21605ab798e9fec18eda487c52c08ca4e5ecb617f16b6664b66f05d1fc01820e5081662d4b1e98f5789a9e11b60106a968aef4beac1c7175a11f05feef24109fd66176f675d589b8a7d64dd7093e7feac733e70818c79010acf1ff13789e1dc505e72620569c26906b40eeedc986dba5a37f3d24f39927da5ed21021207076da12d8baa28971f87c5b29f0928fbc0860ba2d2643adaf35678365e8564d1f136945060762bb384f977b79faea3a423469ff59223e802e9d06e267dfeee29b4540ec8e2f8813746e4fd71bbec47d3a30169383c540204ce1856b76193472a1f6cc091cadd7c01f4029df6c985f3bd46b73df64df2a2f3e6ffaa56bd3baf87355780fad9b9b7ab3b127f9bf737471d3a25d3c2c73afa9d6afca5cd777ca2c6b4fb41e4d00e8b584caf7fb08148b12e42a7c7d82ae291c500159ee4c95486b1d706d15e71d3acb81b3605439652a82e5f6ef71b69cf9315cabe2cb3f192c96ebbfccdf4bcb9563bfdad57215a7f6896da0cae5325caa92e99a2ddd08cd45456747e503504b78748a5069b67c90aa99cdd99e9f495531546892de8877c0aa245da85e42799b6e2627098d4afb4ac47fc3ab0621c63350e72eea9e401f89b201dff28e08facab4a6cb94a003a5494149d4afb0a9aa00c4cafdf8f2b5edaa85d3482ee65ce83924fc8d1ae2fb569e63818e933ce6873fcd693cf4e7eceafa0095f5567bc951cf1faa6b4adc7210de346e928fccd894262dd0d7247cc4258d6ccfc00ad464ccdabec836b93ad6c527decfabff9328cbdb738a688881c035e1594184524f0515e115b149ea11fd9dde881b94ea2b1cf071888f11f642e1d2f38a686a9e80dd43b57d2e23121e2484daeab185f7c1416b9f25c63ef68a320d9479ecacebda2da7163b81342682c35a81e1e0d8f4f94ed0f6c456271959497ada53ea6cac8d1054e3efab3a492172c6a8bb1c141daa7f38d9a8bdaebfa9af144b56e08a1159d01c2b16c551e9b4e86a591e8109b37dc96db696703245d85a954d513206c7525106d0664a1aa13775ff6134c164d7c5a4962d5c827588a2cf69492091788e7f6ebcc70893feb0c402037a1a81e348d42275bfa7438d4cd329834c4aa483ae66066cfd7878ada4b4449cd7408571cfad902a903cbf122958c9e3cf36312631695cf662557757c591d391d726d30630ccb63f67c0eb573873030c963089127e2794853446becbce63530f0ab9dde3fccc021a63021291e3e46647453be7935c0840b20641d874e848a33ed3193aaf00b096b8805aed6226d52f53cc4a0e00588a31d97b30023934f45f95d1799b363a5c6b6dd29543758a4ac3d05c7eb7f9ab58933f19e211b013e0335cf204e653120c4dea63b3c0448c5f06986d9ec68c983f705bd97f26f59e2add532668bd1e6b5ac76ea00bfc86e3149f7229ee27582f56afaa3f2d84c05d6feaca7a76cd87c08e326764a7948ddb9c5ac5ca6cadb956ced26aec2c87327d554de698d9512d36207ce2036dc66d341336c00c6733efaddc44693baa4a3cd206a9464add69da03438951ad320d0959262fac47fa1166e33b79a180bb6ab4089102d5e3f48dffd0f872a389a6054dac02fe737d4caab8ab17d0729f986c88b9fec599d704b36143924af8bba1f7fd22d8dfbfc0918d587ff5247a73abd25d838312681c9ef2eef3952650356616200151c7656b15455e064556980120f9a15db253492ea2269c55773ab6fbaf6d4f82255fd0debc76e0683ebe271c15208085c0705071409daef73965b258c8b2203f7d95db68f656d7671afbf6929353951e6988ca9e7237e031acaa109ae8142ed355a2506b8887086dfc787304aecc12cc10498489b516081645dc31e663c6397af6fdc7c8f8e19d4f443adcf6c908983a50e44c64d59c3f453d96430cfb82360d564063413d66a655c38034c680fe08668f4638af7f39be0adcac31b041fce5be0c0c7091e716d201fef5cc4261309b99af034a8e2a5e446bf7ccc959f28410667f9ac499f1798f219dfca714dab01d6b9fbfff38a5e649493c28fbed5c663e02cd1b043970db97f67c5ff392f996accb07778295fe4897e58efbb8c6379ef11adf8de27d09ecb22fef1b901ee396d2be35673d8c6ae0f9a7c5e1cb9c670855b6bf60cd827bbcc752368283d72373166f71c5d663cee052f3076b35b35bccb6b9fa3b35e76b807ee146c361c12aa06a16f60cf2c7c59c95e36b317c0b756896c9e2ec6aba04e1cd6e16981cc76708bb2fb523633274c0e2ae510188ff96cd2c5869ea0859edcaadc90b5ad2662f2addc3104f420984e17b538242f65d25437fa8601069badf64e607554228222f5df709729e1510cc14f39a7c88bfbadfa124d831cf02af3d260f959291903a7b7fabf83fa38838ae4d1cc68d06f547bbdac34560b2994c22d07d5a8c78a03b6c2e9a37f132c3e2e9a6332a93f9cfc1d4350dadeca8a993465836cfe9c6c70d658d226b31180c611ef02bc9e2156cbcde506636c150e49d649a28554000e3e623e3eb52aaef300d28f40a3ae423cfe4f32e5a0f44fe98a3db30bcfed9424356c922fc837dc58bb4b98a7ce1778a331173ed213367c029abf7c613d67d0c405cf0623e6a9581d944a6c1691a8c33b38f302116c249da4448983cd9c4cbcd11df4d70e43b7e3a96d4accffedc64b5bcfb095f3d3b64fae4c8f8523edc251bfbc39828bda91ec21d640102d269dcc77ae451df97bca50494d0db7d83ae3be9165a98d0d3d55e6eb54aff021d378c0330aa11d801099ae17030e3af98cb32cac49a81ccc48eafbcfa6add6711a635e54d04539e1cdded7e93fe3b7a53f39265af28f734f42e436abdf55f081099781282e83e90046cf06adfcd6c84ad56ba46159c05553dcfce978bded54a6d4be8e7a1a996384696d124004a5b9093d997fb9f10865001d9dbe8eb470772188e313265e7f5df1341d80b87630b42034a65f69d1e579204e64baf5a9d4948784a5feb6f04d889e82d023eb3c83cc55400550b853880218bcc6a11b52d23833aab55cb02440305caefd7c157301e19a7039d6931fa516c8bc836e3888ea09e812ca81dd2c5a8c9ec10ec2c75e8fa8550dff9a41ef4beb689bbbbe3e6b4351ae7f57d07ee5e20d99f0e9682cc3561ad542ef1956c847df15f5a6fb2f7965b4a99529201110cd90b380c7372325c3c77dea4bdf94e65f814f0c50f7c31379771840900ff19e08eb05fed574b0454752e58fcbf4d0eaff2d69a0060655a5853dd2c0b16f569ded6189941f9165f93f2ff2cbeda991c9e3eb5342ab606e55b7c0eff43453db57dadbf4dce3404a574db7aeefc0d0b3127c33404f6dbcf60bf591a23f669521e7b6b67b457b13428af7d9d9da97e8bf74fe94cd59a8688ff5fc3bfc57f47fa169dcaa3fc8a8ee54dddcaabe84aef22d3591b9bd2dbb0bc0de953dea6e56d56de46e5513ea6bf83aa1628292aa4159696124b07552b1d54f9ab5af7e1f9fdf214f6f3dbe529faf3dbc753dacfede7339759191b9bd1d3c7de46b4bd964d07f2d37c6cebe6fc5037e7fc51077d6afee3a7c93e733e5682da33beff8c3e507eb08fc9593783f6b6310279bec0179e65724287deecc151548e7263ba466f2920a9414f1240361edb63946188b17dc350e0a9f9f17744be19c9ca399ac5416ba51d0efee871ae7c4fc50161f48d31c6f843650a89646324055ba2e2d8e12915efc363c34ff1f906e5e9bb74d997bad1ab845ed499244a67922d9d49422ea6516c788a75a12ab2d898140bf3853640af7cbf70c3c131fae6461b9e32a5fc0d4f9952b0af913d666bea8f566ab0cfac6925e57ba4a4585a47cff2b0921e874752caaf7454eb6efce93162b11faf561ec7ca475ab395979d8e280303f0457cc8e1802f22ff092a1f6122fdcb889eb923521e89949747cccfde86fee853ac896465306b4a79ec7fa8aa35a5d899f958f6f353ec0ca5193dfd1f2a1c3afa1471c017910ad5afca8f3a94fa5a4ec5be7ebcadf233d9ab581a23294fe39f7d8a9d193d8aa5e91f3dc4bec67cccd61899e9a75fe33fb1af41bfda9a7e6a4d269975266989802a91b5b1e1de667b9becb1b709bd8df636f467dc119fc69bc83b38fc146fd8682f3e5682caf1212763e3df4f65e847cf51107e8130fae167589675d737a35873dd9a5bd4f605bee0ef7e78f97bc48edb6d237cf735b8c0b087ed410c9b8dc2ac845076f029c6ecfdcb0c1f5e5e5c87dbaf83fb8a05dda5b81f45417beceeeeeeeeeeee76efd8cea8bf0d81a427b14117f2a1a783bf8d223ae5ad1d905ca7d8fc46b5aeec203cd17b9dd49eb3ada87e08e4fe01242841c775b3c3ceddec10c6d8c39e650ca193266425ec6a8fd9a779607e153fbbb40ba1a04410b3f8995944b28fe98d222183da0898da32abbd231dd3a136d4e72132b8d88550184190215c05e327fe101b2a371f328b8ff0c70cfd67f7e9d041ba92f6300c647e182c87c52d9bfb710fb39ac52fead35a686bfb852ad43eebd7b875361b109074904837fb6dc3322cc3326cfbeeb44e07e96a5148725d2e44820c702e0d954669a85b7b5402a658079ee24779a3106a0be2730d20d5c10f6e6ce2c677213e641b39d9de9f46d8df471aaaa4d28ade1eeb8ee8715deb8ec04c35888cbeb7f6b63c1a081f39a9f3e18d175efa9bff8ab33eb8951123fa43efc38811fdd9374723f46d4d346edb0f08787718e14bc4106475430f391aa1cfac0ebffe5ce7dd17d1298e7e7cbf6d45290f391929a48deb18489fe2d38e6fda1b1283400863ce6d34d42f06b9f1234ebcf1d119aac63a37707445b417edf75d83ca3bfdaaf8de35a8117badfb96a8ad7dfc221a957d24c23912f1c61b4f8dcc507d4896d98f877421ed0d8142ed2fe9f81067350a7e2dd9d40d3fe9c874783747bf7fe6dfefefed3bedc51771a1464006438e8540e83ad80bc217c8a4bdd89fbdd6e5686ba29f5913b5333abcabfdf6f2b3d7ecd7bf01befe5ae77754069f46f592958faf4287d25abfd2257dff973de9676679c8bb0261ed0ca779883f22431d8da17e310ed189413a05441ca6004f1088385c019ee0fda290fec87d7ca8651ac604a3b4d652e9dff3be970fa66d4c7bd8b710197d4c3bce4e17b931fea849bdd15efc92fd5cc88dbf6d998ced37ee58877be788dcbc8ab33ebcacd3baef870ced79a7f4df5fb6db4e375252fd873c85279c467d366ef6a567786aebcc05f1970b82f6c7e7219193b1e9f02e53138d36c2bb99f52036d45ea4b707b5e5e37b906640cc5a3a533f9bdab20e0fe953fc91186ac48937edc51f85a14226c4610aee822a5b180c6a7bec7d68943ff6331ae5317e8a8f3df62f9e4279cc7e3faef6dd7d2f99b7d38ef1ccbfbbed37d93ddb1261f9c9d2d1958e6f4651aa0be921247de46490b8907b2fef65165bd5be6d492a16c217bc023ec5ef186392f6e2a37491c74ff16b1777e28fe273ac1bdf57c029c769fb790c46958559c42fd48f6fa8473f959e5427444c33cfd955f451996ac8e79eb335a6da5efcf8f2a16a7ea0eee4dc782114948022d4396d4e462d52e7fc1c8708ee3d878878e3a7f85cf6dd09b9f1b9ce73fc143fa473333be4c62ce3887095e394a0f66f9f753a48f1b5ce07c7711cc7898e33c383b4d74f6967d671da8b39cd43fcaf145faeeae7381edf73fcc68134ea630a83b08ea50d1502dd8fc6e71bd69140377eec9bdbf17fe0a91f88c6fead157df80fe6eca5892d7a10068c48c41ba3c7e8317a8c51ba8cf1bd5bd15e7c3742fdb0d78d8fbd1a1561dc738f1fab8d11b681ae1bd7c5801c486b832e5ff8024e8c3216894782ecc49d1d3fb140663831e2782aeeb0800737489ff8b32e02c1892b0c8b71ce39b169e3eac993a0a088135f7ab4696feeece060404d9a88410c4b84210c589882e540ed4d61869f6885fa39d0fdd199020c60e00ccbf8b12edae460dc048833ca18c6cffeecfc193f65b77125197bc6989301e1c72254a803c6681da8497587187ff6858a7dc79f2c1b5b8217d89d30c31b14141414149479a17e9145593ad105a3cd25372974f0c1dba6b0b9a0d7eff19c734e1d570c7c016168d335b1cdd52825ab10904e1d40675bd22808051378b626138807f7db825a6ec8c2fd42365864ba6ad43732518e8202a141eedd5edb8fcb3201370f35377f8b353ef6587cc11a63aca41a63a43146cc833066ec41647935d6edb5f8d19adcbbd28ad2f6c23657ac9ba5abcd65a241dfa93565f03117cdba77b1b95e94b60e665d18166d7c452c6247c49f18957104072161644d1f9a6133d2cff8c6ce87a6ab1536234657f0665d1683cabff56b53d2b2b97c9a07b6b1487bdee6ba2c1784e1518030a4c031f851f3a38e87463910c6dc5c3e4496a7365754f9c07773bd6e8c89451ad56a45971300e96087850fedfda094497b1d63f61993aaa23fcd03b33b84219350729d9da084db4438b2a3653c60fbc2852aeff7c285da19172adfefa5f3c1081542d18424b72112d884a380503421484685bbf300bef40561f8f3c5a9d72d5fc6014ccdf093fc67266804e45dd15ea954baf009193401c8eef014a5b5e78340778ba18c0b7592ae8bec3227e3db7b1c9820db42e5c7ae0e4f07def15e5c849915ffe31d66d9cd7069e189db2e1ff882c70b2a5a910e747ae042e5df9cc5edaf40a4388d3205c12fe50f492b803d3684aae2ca9ce601470b2aaebc1380a9f8fd104eb191da2bc2e52e840290d6cdb650a59daf1f5856a0450bd58f20c0e5219f2f7334e49538e08b7e98d5edb6f98fe2f8e8e860f361f3426513bb0a09977dc041b1ffff71cdf637aca49492de4dc6956a035b288f97c39ebb951b840d2422fde973b426fe78fb8aa0fe65dd3803e5da709af71902aa83e128c3eda7980f9249397010ce11a2c34ab007201ba019aabf84b5477b4f706010a8d9871931ed4d1a7fbd359b44d7913b32ae889da2a487a651d9d31b208d4291bf62d55f79956761574f8b470b891e7aaa85a5b3d1cde0550a9054b53b25ceb20ee76496a6871898f668908f96dcfcc0e69231eb94fb9564cc9142daeb98a3d33c28514fae5323110196c1f2a472ce4e4ecc89394131e7e502827313c46ce879e5e46c2ee9850daa9a809cd1f8805ae081cd4a459fc6478b18b6b052d1f791d9a4214845ad1151e47142357b2a8b27bb42fdbc0deed0c40ae669f8ac6faf892db296c41eda459ef84444128f00bdfee813a39079e8017594b993bbc5108ca7309b6534f3b63ada6addda04383875b4ed34eadb7e946ca19f264b5e1bf514f7bcae3bb9a2b87a6ee21357cecd3f39b61ffdb76db67d4c28d1348a493a527ba691fda1ef28fa78caa65ff0083d4f502cafc8a45336a12330a10c9781b0906024c9ed8fad4da751219ec2ed6fe63a08be70a2d55e54516d8c441b11bc8af64fa39674dda45129df3fdda4bdb85566a0ae7fd80061c0ed79fb1414577b2836f2b4cfc62da82ed5a67f807a49f3c0a4796836c017312ee257a95d3e4b1ab5b9934675503301bab179622f0242edc711c43baf1dad65ca0b5633d00705c288f26bb68ffff92a678aeb385b705ff9c9bf467bf95f076d1fbf86f6f263baceb4e7dfdd2f9e6486b6df6c3fd151b8fc73fd7dae97e13a54613bf5e35513a9fd5a4ac7aacd43e968f809474092a3f2c16160a98cf4f6da7ff0d53d4eb39fcde327ff907df1d4f6a211bff6eefca2b4560e491441d0091722a10214ee06ab68db46d303771a51bad3e610fdaccff67bf1523a5a1b85fd44d93ee56b688f626b505efb14ed6b527ec35244f5379148b475a6a97d0df928b666aba9d1a6aded89fc24e28e4bb7da0fc7d551ba98e847a26e467bee33dc63cec5e9d3b26dad939f75307ef2e7ce8731dbc3d3f2ca533f14a8ae3c3f39bfe65db5e74eb4e7adf6fcd9364f7bee2f02827b009efc95a8eedcd3a3ad2e04808f9922831e4fd886996f7acc9e0a61c49d16c4e85b101be8b6f9c004c9ce869fe2c671bf693f54cf41cce2231d9462550472e3aa51f3b76deb78d563081588f8eca621fa65c8d2f889396bc271bfed75942e773d3a53dfaf6f4805d46fb6a06ddb4cdbb7697be74c43883ef49ba833cd87aa9269daea37b1833cce8fdece139da13651e9734f26673bc85744a8d4e2d85e7ba8326dd6249369f233f9352e62a266cdc990b1716bfab6263ae38fd919e622f077c6f8acf6807e7060603cc53d80a7f84fb898055fc4205610eb4200b0265a4108df95700fc4d8b25dc444ed0b7daaa97f2e9541154951b9ff28e43167100e58521969128a21db3fedc5f82223d48fde282aa685da82eb9ff8eef2635ac653d4d2f4c7d04fa6696b0ad1b7365c7b998690737e4d6619b333fc14ad0cd6f54f03f9f85c1d9df64441a8fd6a9ff6627c11106afbf414f045fcf82798ea30f0297e740fdcf81f6cb5e1c6ff1670639fe1c6ff10d03ff04564a63380a7f838a83d8031fefc683aec191422262abd22266a6c08a3454cd41451124454783fdde0d8e1a9f8f37b78ca7f63163771f8454a6abf8946bf7c6973d06f6bc2e0fcd98303c288779afafdb58f9f7dd45162ce3927f5d3144da176222954ac2b752bda9b2f62421545a1ce6ffb51e72972551c42a8df47ff6e0642fd608b4648c531181ea07fbe03200afbf9404014ffec499a828889ea10620cb189cdf9a226d4f973ce39e79c3fa98e3bb589b0fb20120cc3e6fcec853dd46cf67c3ae7c69975cafc9452cc42497d09e9825236dfd2fb0e3c1d2a7df160be1d7c8081b1dcdfbf4309e78926dcef69095a87a670544ac94b6e823013ce61271cb40222394748a360ca331744e80ad1a76d46ca778af50191a88c08d11efbf0fdc05e86df72ca869ff823400218c6a7fc57524991bebf8330b81e7ee257e9523ae8a74df40c637010d6fef36d7632337450e77fb04788f6d886a738a70707e118ac840fc08fe2537d4635a4d92097799468cfa5db3c90955cf6f1133fa5b5fae4747cd9872112be1f45b8f24ba55ab7df22e41671b64385ec672d70e5432ffb98be407341fccdb2fe181f6464d822085f3467fcfdb83d43089946c17b378c9341e7b43a20928b9968b41110c995d687e83bbcb4f7d1efa78dd21c1351628d61139b1dec0e424fc68ec31346563c492891537a94734a6c071b7ce8c2e7845d5f66666666669e3232b45006336c8e40ed860dbaf83097a74cf0fba1ca04ad6908f7b6359835496b92ec55f825b7b4769e9fe06b9d648c04f53d8c4bec98146a4f8530fa5b00024e97e109ba85fd310dfdf4f2106cb451cc52bef4cbee7eafbbab9fa4b4b1eba18ebc2114c2fd219433dc461f3a5a6a63e213871c03f2f411a23b3b812d514b45e098d8c3e7ee8340dba4df9c0c24b6b96dda07584f366d423979073f8d82290e810b49a360129270e236b792108227dc8f371c22d8dc8f9bf0e46d8620c780dedca299d9ef8bd0d11efc912fbb92096ab473c281691068290ecd31d2f06d788a555ce4ce9e6a03c280900dd00c9019fa9882880f1fda1f37f24b66152c6ca8b0e75e1b7e624bdbe36f8b95a0c267aae32198714e3965f41ec2241362f0c4ff024f10a642da615d087afcb3a3d083d083ad1ba33d62c78df54a7bc48ed03d82865e79a53d82e6c6786354437bbd2fedd5298d6924516802dbf5044de74e1cccc05be04b3474f9c0174f917e3e8ca7527e3e0e4f65cf39ff2ad59f3fbf97ef45d594b25075777b8eebd4aa339d75ea57af2769517261695981b2ada87896cef45b67c25646285ce7d241d58aad45f7c410d34cd3346b6aedb30c76b41b3b41754ec611a6ae0512f2e529232cac8acfdec6f42a2fada9b332dac33b8db4f8f91ce42992caffdc29e9cf6454e5371a151f03cd593ba7491dab52bafe6920161fd3241994ef76eff61c972dba85ed7e350ff3bbc796a801689637cb3b0800ef3a4e3f005dcabbe8561e00a69a83cb3fcbdbaea58516800eaa5c34cbbd799ad53c9d6d574f378b63f44db3ba595af3d4a0bff50655b4d4a58e9c0c16cf5dc7f6eeee163239c8aff2ebaf3c95d6d4c26e2b56cc1077cdea237d9aefedc49dcd822fa850599864b64db32669579ebeb43329f26e1dd29e45276f7347d0e0cbe28980aa15df9c8c16df9ccc8ad73a93dc3a93d47e86bef652da99947f4b43fa94a7598155aee8fae7086c0f334195cdade554fa29df978549467b22a04ab3a616a6162d9e46c567dfc2cea8d0985ee57fa85874f13a671a62c50a164f137fc5b350d93e65c5ab74fedad7c4df54be86f629b6c65fb329ef97d499ea4a67aa9608a8cac1dad8b8a83c54ad7cd699b0159d093375264c45b7d53e8275444015ca6f292aa4159696924b07fda4b2b111519e6675b3eec492d0aeb3d67c7377f77661967bba87d3b8a62d7630332ccb6846b1d9c1eabe82d78d5a765b5e9624d63ffb6b541fbf58bc137b505ca5683914cb3b3ba5d24e8c31469f297f83b5253e0b692f724e7b51a785775ae4109f7bd8b5e23ff689fc73e7b7e8b227fd8a8e53d18dde25bec7bf611cdee1558fa08b32ea4c92e3441fda38c43772321807f0457c1a6aecb1afd19e3ef62adbd3afa1624d28dffedbcfa03c69dbbe86f62a5f637b92a5a180165c3c2bd5f62ab6c6484633ad49d2f91af61b546d9836b1d116eae7ddb8035f44de917184a9e5e16579d982a58c94accadb644f7a146b6ab132d8c3cb62e3cff014b526946a6bb6efdf3ebee729232b56a67efc174fa13c0a8a9dc99e5a1a52664d9246e56bb4c77efe505913cad3efefafd1dedf84624d43f8635fa35aed67e6aaadc52e51c7afa9713e51cb76fc149993d1b457e9c03bccf2134fabe7c56bcfa3db8f9e294e207cf853f3fd35d97bc90505557bd9425d6cc953a2922d855a4a11472c6d5a8b8b4b8b8a1539b0982a8a689443a7fd8a6e7b53177a968e7b946ee56b47fa51a7f2a2ce8545454b63d886d560b1c7fc52942dcf1da47e8abf75b1479c251bb516fbd12ba3e44265cbcb96975fd2de86fbed5bacc9a5c59a5ab09fd11ea309bdf62d7666e3b6ad33b5689da9c57e8be87fa85c5afe833f2e2ea5c7a1233ee7b0e8f08837b2901b5d4a2df12bd02879a3919617599aecb16fb133f4374b339fd6cc1a2333d39a5a5eabc9acfffc1afddacfef88802a96df66c7bdd6851eebb2a7ddf62bdde8499de855ea434e86c5dad8a07cf63675d22d0b71a2514581aada4155666323a3458a4dcc04f54bde11c5c88c3717aa3e8ad91aecfda9f5afa11fbf515061c4018c33984bf4e0ceeb82ce98ff4aecfacf9bff1fadde7f7f2240cc0b01ecf772b29fe7d9ef6b00ec9c0f80696db599d5a6f7aa97b4379758eb3eafcc85cfca4fffb0a8907248c134968efe4ab73da96bf12a1d8b4fe9b8cfa10bbdd68d1eeb440f39938de9fe69a0fe692017b65fed8382baf54fff34d03f4a2dd57ae7730ece9ddfeae169b17876583a77ce9c3be733d79f19a9967e8bb7d99ec567d664ad0ccaff7c7679ca48f6f3d954ffff07bbaca9625fab9dd9fe2d0d8bdf9ea6c5e7dd9e5bff7bb92cbaeef1d3fcad6b1f3fcd6fd1d1f91feca1decb8febfcfcf49f0a5d7c4cd339e79c1f75aa13ed4d00240180f59ef6e68be055eeb201786c893adf7fde813cd5fdf4892c017cbcd11140c7e2bb2e872f75ff2d9dcab3742b7ea5333da953f1b47379c809c07d3c357f3ef4f93ed35f7706c07acb5ae7e1b913a883ee7c8d0a156bdac5c7be86bfe68fd598d8ca688fa97e30e60e53a2fe36ddc753a6fecd5f9e32b5350d8161747bba3db5a6ae69f1983535547547bb9795e58645f7b4173f07a87378f4ef68d413780242bb2ab3960fffd1590280700b1e698f59cc037b08121b15e0e71b4e0150112278729919c865e6efc7901d248ce4c28b99a036e456bb036dd00513092069f5608f03f260959da877da79595ed71490182127892476d0e8cd3e5e31c68861139b584f2f48fda04ba65133dcc65413547e28d070bf7fdd804b5869c58c1917df0e0f739d7f1ad5a47591e0db252f43fdf8c52f66e2211a7906b41da6e4be2a420a2e141b74015336a2d374109f5692a40708835ce8e0f681a07321008c10a3cc16a5b8fd3ad40aa72003bdfecd3f08ecb58c66fe9995b131e3d6869d6115346599fda12fdfc8d3280861b08df045ffb42f9e132feeefb5f7e2c5f48b9fba7be93c1d3c4f8717c9c9f0e9bdc8c8d35eecd90188aea494b3a3a1a0fa41d70d29a79591f0453f7465443220370441af3f72d08c1c875b81b61123b67133d39ab2f833a6cc12193d54893c8a98a8fd02f3f2c28308986608d123938324422311f7d148c0fdac8e1d90c9cd5e7b1d5a06831b1ddaf382bc1ac48183b80911137525a4fdc741a150eff491b6f9b9fdbdbaad73bb086fda8fab4910d00b3773b19434ea5b5996f564ac2cb311815ab084121e805c26e2a92221548ee50910073de42737f045c693d98ce593f1130e5a350f7ca44fec840f23f1e1242da46ffcd4bc734bac234eb09024c9c98e643c192b0828633141717600010101b1ca93d108db2a844171b00a655ca334110fa2f360342991fa533bff89ab981375220bbee0dfbab8d31e0bb93ca407978b5cfe197f701425a15f2ba106c3ed5f0975e105bdfed00621dc5252e89328e54fbf5efde3fed23289cd24c6fef1ef57fff4ab9988bceb9f253421b75f13d2a8f8d3ab46c16eaa32faea25e5fc0a4bb7d2b9e8b72d8620e7f6bb91491ef2ae3ae66cdf4cdb3e9a6d978808f5e39c47a9366764bfd20d52e93e57e2f6a7744442d6c6083373280461f0f61b6f1de7b42704c22ceb50b7bb0e17974617acc3f968643f0df4a0b96ebf8c736850e90b79fe44dc6f33848560ad1ddfd1c734d6f2fad78eafa8fbb8fbf5ebebae0077e60819a95ced21f70e51d96b8f41144df52b880fd0af69fdf254089e24c7e891fd7a0c57cae7ecd71272a18eafbbd3ce08175a4f9166217c21637bdde7427e3a5c7050bf72da6b2541cf2de057ce4b87e5092ddb21c6537094e9b001950c017fb6fb419fe8a4bd97cbb4e476ac02f4fa2310fde20b159b104dd0eb8fa1d0df242365fc0d66736a45c4ed4692f8448422b6a215a214583ad15e6b9ff6d2a575d247ba34e9d3286dcbd17234ed21dc3ae9235d5927954897966d32cb642bd4499ef682c846f5481fb944f6b8e5e62c06f5ce126c767073726490a7680d32c998d8c4f6a3a531923d8d89a535716667301a133ffda18a99e1a776f5b4620f7cd1dfe3e4e58ff6d107b6da956dcd41e58f71130d2c87b335d1b0394c303ebc8f75215adf061b0a0aaf90e006e54502888a013d98bfa39b20143ec243134940031704a9505252b848e7a3a578a98c9868e460962908ed19dead432bd94ea3be4c060cd4a82fd3c974b221ec246319401896b7005ff04b06fe50e514e8e51e63d42e57fa12c35e7232b0bf4902965446320e822f7e62b093db6c06e8f51fe0b6076eff0f2bcc46a81c45b51f4cbf208cd81e6036b0195e60b68dfb98a62f5a2d292949724bdcdf70a208df98567e267ecacfc8141595a7d99ef4f1513a89f29ca5e11ee569b64fa919bdfc9afaf149cf28b666f4f2554c2b7688f8296f23becaa33c4d7d92b5211fc5d28c5e2565f45e3ba8f24eeb3e1cf79bafa37435a0ee7573dba6bd0672fbb10ea78f14790db9dd0c8471f8a6c52de0d7cbd987f643a624c1e148494a19659494326abd8cbeb63c35b2dde2e169358f9f7a097cb557a58434f2697cc470820f5a2af93e2a0e087654d21ac1bee2a066df6fb1aef81c52525a3c8dfc1416ff43d510bec8d2aae235d9ea94e79ebb161d0b11ad2aacd6299ced197559371a3d8df44a5fe70cd17ff153c3c8ef92dbaf4237bdcb7f7fbb7ea8fbe4133974285f517cc9cb5db014ab4dafe24deb9a38cbe4534b4369e4673f54aa19327ef2912d225895f2d9264359277fd4511821cc6409047389a4586ef9a97bba9d9a3d7d1a159ff2a32f3db534d9cb0ffdc7ad2b5baf1b1daffcd42f5b1046bc4d6eaf3eb90559051905ff914fdc1e5923fc2617bbe35589d495277dca8f5cfe8340354666b2975f93bd8badc9b2ccfae055668df0ab41670df23f66fdd0b781dcd08ec6c80cfd88d4603200018a95ca0707f9a9454f54d9235bedd51b54698dccf7931a58d650a18a7e363b222b2346cc6f99cf1f391a2d3fe7f39d46b43ce468b43cd797ccc95079d14e6579887148d39eeb9a93c19966c01b1f0878a3fd76b8f143519b9d68c37edcad4b001f408b4d5abac8127f7e3c2565921f20910d34e678d35ec48937986dd92f3e86136fb09f11f3781371b85528e8e606a751110877c3dd5ceec686b369947faf96e084fb491f670151e92413d992ae9f4befa85af9a241b5410dd9be133a633c79fa642d8da7d53ca1cb5b3c01ab3af39e6764619441e609e1b6fde181b491486401374fab8d60b3031fd5e87eed73fb372c24da41e5bbfde74b6e3fc601b13d6c0feb7260d114843ff640f863d86b737bf6254c1ab5d91cd86bdf3e2efdf88bd7ce1c3cfa623f1f10b270eb72cc1f260d0d6e7ee86f8ef9bea4fb018b34607bd8c79fdde74b98dc8e3f3757869e70ab50507bd253d27a0fe0a9ff09e60622221bc74fb2a70ea9fed6448373987a47c9ed22ed5df78fe91d0cc35a52dc295b7fa4bd66b574f5b4ad1650030101c9966c7138ed210314219148a510a905c901152a610927ee889929a55d08d3de1dfaa88cf07b28b33e1866775cc6ae86adb0a5277db5a9fcda7f25cce3f0611c673f9acbeddcccbb2f5e4781909341492415e873bf1c955fa5a3fc289d0e3aa0cf7d00dbaf5ad89efdb0dfa44807f489c0f69f7cae89dcbc2a64a34d9fe8dd341b571504f54bb106754ad16dd85e96d92f3266b5a8d560832e66145da1e6e02d429b8387bc1f131179489823bec7979263f7fd101d842738a3a80a95a5b717309ecaac85ca317a8cde3d7ce1b21de57edf32e6f5f6bf81830cf583b96ec3bdfd6add17aff614ebdbdd113eb08ff1650f1326660ca67837d0f7a3b9d1f2e8eb4393caffc12c00be802918ec8e84ebee899a40791e619565b2010d70dbd4fddd497bedfd0ed45e10d0130772278d628b44bc5e62d70d5e409b521a5f2e7743e66e86d6fb8f5e5de9dcaf045f984023015787ff0ec8e475f81b01995cb6fe0229fd49bdfdf99bb2feaecca1fe7e35b9b3b68cb656eea02d86094d284c420c463f4a75c418816eb4d7374920912e1fd192fa49d76dd9d33cb4dabbd1284e491d99130447deb04de9497522755a52a7f5e3a796f2c75345f4a93d1583ca0182236f9e949cd4263f94d6aa73c34a1fe98222d74b96b1078a29c41eb64d80282840947f73f00ab77feb8e2eaf8a4ffd5d851d08c5ed98d82402c58f66f8d99ccc567cc244e598c4bdd55ec788e446a17e303030303032681e993c9355624536c053bf075e8925b818045ff4c3cc562c43b794dddd1d854befd679271242653bbdeeeeeeeeee6e6d153f0021dc444c549676b5e753494ffd221a65ea87386c786abe54888450e777a83d7f1113b01bb7afeb37ed2d21fb0fbbb9fea10b9fb19c0e13d29e631f9683e5c0170c9f3708a1caa51dc6e394964a1463d1a0f67f18ebfa6347daf31c4aa5ce901f301b397c69f7973b24f87ed027c84ffe14c38e74aaae562b1b956f814e017d0210aeaa8c800cf9a4bd5b0117ece2b6112e2e6673b09d2b1b1b2225d44f06dde99a401af5613932483e69d4b469d49703616871bafca7cbddfd42ffe98303bec024922ab1ff640e8d7a3b09f58b2d960bbfb920b237d54baa2d18dc5cfad867dd8a92ebc4e152fb4120c76c8cf1d59ec718995c67ccfd4544a8d37e31e8fac35745174682fa8f834b2e733021980e96d39eff2783aee75cd90278f29f410b073db839582bae20417b511dec40afdf7732ea3c602bd35eff4c9f4e1f5c22c323ff887b535a6407c2884a767c9e38c27567e276cb7b10622698865da6bed39eb3bc8875567b4576583f2d24fcdaf971b197bf69dd12434b5a9113afcbf7f39daf5bcef37a31f11d2fe24edc4ed2124151690caa494579287da910f154968900f6a687d745cb7dd2854fc4400c98e7f1c8d649e27edef29d96ef45dc454d54b61fb776381af17768ef424ec64b7b41f585d935838bbd73d6c46f620b03c3c3dc2b19f0e0627667a77d87ded68e0b69af5da7bd0e1fdfdc7e534cb10aaa7ac88dee377cf3c116c569b9c179beb93f40412bdac2422b14da425b68a6148a5bbbfb488aea2329aadf911423292a1627c3d2d6014e6d2818c1119e61ae3906f6372e7dee6ccc49a93f74cdb4d73ca4d7edfbbb06355ecac39ba53142c34b2081092fe8ac549b152d410a50e08ca49801b3d73a4b3bcac99059967132a20781d1f4588daa90b536047eac367105218430d2e6a17f144585cc34d8a002ea7cc166007344b44ac615dfba6ac935634a29a594dddd52e076718c5e75186e7cc8cd851badc023292a7b5190424fc1052bb86c6e78d551d48fc618638cf15df30555d634043fb435f0f9315b6364063e6b5fc33fad294215364b5af79987cd17ec3bc6f0cb17f84e63d84afb02ad5b7e1863e44203640364dfb8b254aa70f29015da2fc6340a36e802fed063b55a79e0a29c498d8a1b687133f0e34a33bc78f045cff40d08bb8fe56fb0c3d11e6cb63d7ec7df22da6b5b82f6638be3c60d99f6e0ab58b92bf142f4609b190f420821c4a6d4a19b77e350099e20022e5cc085de6d41a8de7f376ebf974ad2f6bf8b79e1bb210858d3c69e75e8931ba95fa9f4edb8fd5eb2b4362a7624c1eb893834d1afcb1fb7501b894ff3c0fe9204f56b57fb3484107b09a496fcd43ecd3e6cdb47c96cd792cbdf4b4ab06b57fbc4ae5bddd33cf0634ca8902d4b1b6ab76ebf3afa1936e862c690adebeb3d9e24dab812f7279aebf816c55037adb14c4452615979a8c2a5e5b3508b159df23c1d1ab53dfc9746690f5f080843f4f065661a953dfc1d10067df83c1a457af83d1aa5f2f0390884517af89cd32896872b0f5b1eaa78e8f23087872b1e3e33699449a6a03c6c1bc0544c1bb92cfeeb232e02009f91b485f0693ad563874e314e0f174296007e003e62818463b013d8094bb8fefcd329d7d101d209c2028cd14b58fcc75ab8b07b04603f7ac3534d03603feac27ef5321330462341721d3eebd09d0b9f55006374eb63165cf83d3cd53a00b0f6abf70818a39de003f843345cf8363ad5f4d5f01f0063b410c6f1dcff2bc0857f8231f8490bebf4067eaf3ae53dbec294c3430e887957985c678969050bfb35e7e0aeb3c29aaceb7cb4de26992cb46cbd87b9d1abf255f142c2e4fa6b09d7bf5b58563abf697d89a4d2d23a2cedc44aebe83871fd23c53a4fd2deeafd5bc8e72fb91fe615d9ce935057729f700c7f023a135f72fd9b005ff83f99b72dbb46abeb0fdba67b35ea1a53e9ba492e3ad5af1e5afed381e5bf1dbe15a494dfbcf800fea5fffcf2c746899eaab44ad79b10bafd46f3940afbd576b17e731dfb12d316fbd1ca62bf4ab2df4731540e8879bd07bef0f721f366d675465a40826f91ebadd3437aa7556c571db0e7c62060eef630777311e1b68737ebceb6fe7adbf6a0759208775138eb43fae4ef3a5936a43de6e46f3b1ee29e3bdf711d2bd41ec27553aaa26af310d7b9aa55db0c711dab6ae73d7e729a3dbc2218f7510efe7ae185f7636b0aa2deedebdd344ce43d1c07a369cf9ff7681608e83d1006f49ee6c1736c1f2fbcdfe630db676c736caf6dd61444bcdac7abd91e320be33d8d82edaeebaed328f9fe3ea4513b3ce45d5dec7975314b4759a81f172902d34369e3500f8130bad4a446f5e3b464d2a640e709374d30e10345a2745708806e74898075238a7b94f13d467f97535aac2fec1b5fd26973f8c7386251731e8a9bd46686518a6553935b0c39d7221e857c24e22aa6842de6c6a75df6cc4f612afb8d6290528d1f63e69f50c2f62084d03b1e137254c2d9305b381be61a5a1b9552f6a0e11d3e62e3136495a35364daa800dc56b66e4fb4f19818921e419acfd6b1aa87b3c69a5683e3a0125904c0d30280b8b2834d2380807a3387ac124266f29817fb49373075283ded263238b4484585e3b4df866891b2e8378b7de1883ff422a8720825edb49f9d29dbe2f57ae333f3552c8dcacfdf544c3554bee55b54e4116a16492a2bcfc2b2b2f22b2a239511e992547852505c03802fe8c738edec26f4f3d2900ffee1b36549778ca2bacb1bfb06c2c8ae8cd8c3788ac6af6f46f783e9ba1716dc13ce10ada27e8a51bbf208f5eb1bf9d328f9f1e79c534af9dd910792674a8a484429b539e473943647a9026a8760c5be9b9321a5941fe3b2c3a8bbe89d9321a294be4c59f9f92bffd5eb2c7f029e9ce3b24fe9686abef05aa9525c2bbf6269567e1201b715538d95154a491ac5565a9e85a5a5e55b482b744457e88862145b198d46244c85d4c2b2f2fe9aa6699a86698fdd3cb9d84f4e0636e3959a26b920a84ad7775be978e4e3a9ece66623757df9b6b0ac6437a311a9835725a2d09eb4e5ecf1440a3f2a946e2465488a6894924a4a25951b8b1270e4baf16314d5ffe5e574bab0eb6efcc9f25334cdccce5463fef69b6df1c856f5888487524ae96b9c8a387ee218bddab13a2937460cc3304a29f58853eac1b9b1278656edc5be1ca37fe3aeebcb219bd04da3d8462c6636746343ab1a5a856c3ad5abd56a850255ec013cc1fb030e0ee009a6dc25e0297e0be80c7070e36336e2e0dcf874a707c27802c280227e4c12e38a155addf81427c618a3c79e1823edf17a3c66928e5cb10b3c379487281b6673d0c730ac390c32b5318a4aa585dd880bf5a317fe367b6a3f4a47531374041e150a75d3cc7cd2932c0d698b2158431fe3e43e72323876dd28eae76d04bb9ec63453faf9253b9ff4d9f50f2d81cd80d27f21272eff859aa8f82fc4e44a9e4a4b55c5975c9cf525cbf213a933d5207de94bd65b7ef22759d7f1933bcf268fe0adfa857c9c35fa2c45255b79ffd0cb53a4f78f5c102cdfc2c2f22c295ddf900bc2c844ef3ef005dd78a58bed65379e923c3c372a2a7c00fe952e92248fd72b12491e76dd8f5d486a7d764118d93b14eec73f0ce06616c21798fd7cb02efd189f1c8042115e2a8904fb8fbaaffa605dec63d70d857e6e1fd39cd5c1aebb7de86e3209b5f2489e9feb4f3b7ff94018f1fd43558030e4fb87acc031e8fb8796340afbb9459faa036170a1d2c7dce732953c9e0af9501e19f209f9c090cf75782349f3c13f9cae64a1070d4a7ad0b0860b7bd0c044bb2a1bb342cc2e4ca651dfcb8c108d9aa1d913ebcbfc9cc343783033b3909e58df68d4075d32535cfe9946cdcb5f44a3e40d023e61893bc342dcb8f36d7086e1f0eece860c14ea4c7b8c837f866f8ccd98323336badbf2902c3720efb44284788610303dc0bc348a7f8746fdb76c6083fb795d99b575f60398f61cc322f6f161fce69fff75b73bed2c6634461bd379ed390cec41d23fa321121f1ad52fe3330ef3a518974881faea0966d09156d82044b9a3a2dc344d4aa0391a8d46ddac66427cfe01e42692c04db89a9d814b6edfcc1fbd0a86392612b9bbbbbbcf178d46f3b1ce434f849b73341a652a3f47dc877e0b4d9f73cef7d187e6a8e3d1a990cac7df66683445c5364d935225d4b1903ec55789dddddddd85511fc17ef4ccc3acf698c5c3a507a457044518863d8ff6a275f71e8dc2acffe837ef7aec682f8adc46ec477607d6f5e081612fb23cb850e9b1aec757dad1a321d02d754442cfd5fde576db863d8d55d157a0516de90e1e72a6ab0014aabf8d0ae01895bc0a533bfc64b797f7d168f4dd8d115075f90fbe38e4f231edf231ad32036db4174540a19013971fa97cbf5b938afd81af89f494fe8f4bb2a61aa1d79e0895677f6c34ea66754b4b4b4bcb7ffe2dcee2eddd40dddd373d24a783740a883874019ee015430bb9ab55d7a0f68da7b48fcf39fda18f184472454e6efc9048c412b1442c114bc412b1442c51a97e4ccff0d40e76f90f3219fd077f54d80f2aa1d705a38d33f937974ecab6de09d15e1cb9fce77defa5a62fa38e795844eae8487bb16f3c55e10cd42773dd45e5a1932c8533765cef71e9d739373e368a2e1f9f79b6f954c7cb7561176ba2d146bc5cb742448ef66046a34a1f5f88ea5daaac23ac2ef4a017c214edba9f470f6a7bec682f7e0f9502b18a529108e68a3ea651fca2f7a151a317fd8c468d3c3fc517bde85f3c95f2a2ffe1ddf7e2d4dd471bc6c9601a7a1a0a7d4cb30c11a52d0f618b8c160eb5c0bb39f7001146c33f1b75575a312a69ffa2ce853fcd0f9516f2eed11455deb6b08aba8b38b6473f15aa64b4fe1033c78598ebe73819a4eff82aed84d48dc050b5ef9b3e72e3abd8cf7de0c7acca486ee42437b66525dc0fed0487e549df70df50cf5310e0537cd1cbae9374cd83d2f54efcdaadf810e054877e643f1622fbb1d028b8ad0aa8f4ecb585512c999a19000000001314000028140c874362b1704428d965b90714800c8ea852844e1aa84990524a1964903122002000000208900402b18e02421f96847589e042b22137ac9d07206f14d54946b7f3fccbbb4ebb9df6ff2e9f1c4bffb40de843129e382ece0813e842ce6f2445dab20e08b4cd40973da286b9814747f543fff52b3630e0cb12fa58bbd7e1fb31ea409274f033f90934c3a77f569087bb378aa07081121a926fd1b192e471c063a6efd1b23a848d4c4a86ff957de412f90209a99776ab279ea16a06c692130f409f91a379abdca2b25b75109882988247b15d1a1cba995196404764e2fd8b909e37e32c4a7030f4eb93ef621381ef4ef06a031e0e9d07592173c19c14d0a96a5e75fb6ae1763f382e0ce6b16ca38d65d6c82920b9b6b7794ab9381272ef4196683b292be5994ff2650b2eda6f6f026725c7e7ff3e90bde9d14cae424989f144ce66e57f2a1fd241294fa644a4499f7c5dea27051b94cf1b2ff95ed52e668caed090a530a350c1982935fba2ab278e62f0206a357c56122135d53ed57c4fd03b8c36320014f026287f51b1cb7a2eac6b430c43a5e4f65bdb44e148cdf8cbc3d3da57359789d86fb5bc3289d1058dd0b8124c8f62d2c3f2b452cb093eecc391cdc796cd0ef525d6439faf0d76ab92f874168b7bd68d2842197770b6c47e12d6205a40b81002f1cb6801e588b400f08c6e4ceaad20402fd9a131f079f693e92416873ccb44f8c7509d11bf48b252650e77c8c531281eca9f6da3fe300b63b1f583f08d23d7888ab1a4e9d29519a3cf798086bd012b139443aced12e89b474e5ac47423a05d35358699470ce6367cf2d4ce2c5934640bc9f27ff95698291272fe38a131481fc6ef35c95fd27a7ee7e084f69081c03c821058a6db39a5509ef8a2c2a545e5c7598536a51c41e20ff03101ee356af90cdb38bf08042f14f3634dba2c2e2ae2e3bacb1eb58db1b22eb991a42e3f73c9f616c88dbc570b63db5b9605d284418856f3532b379022980d3bb31ce4bdc667ba2775810579bce8433e8d01822c1c5224dccc318ded78a3390883df29b31f5cf6ef23c418f8f5c70107d1ef51a120c5c8b1feffea0e481f29ff830558d535e1dee7808af9fd87f6e00993a611450e93adcc43d1553ec00981d7e4adcc7436a87f317b0f8d1528e8e1d065979f6f64d89a07a0d6dde13ef52937684bcb7e184f4b8287055bc6da87f317bdfaaf7d651ba97e8843ac88bb3378ba8caa4e05b16708c90d8dd96cc1a5018e20a4435f5098d052ff4d070457ee2d2ba7ee7cac73743f57c30c7308f7cdbccceab257573599b48aeefc8f05d75a857a5d3c7e7938f42bbcfce6b4119056da9df179740551b9831ab8697557e4691795fd4c140fe21ff296afb11e31e3689787b7bea33c0460ed79d6658d1a35e895f77aec32de8fa02de1d725106129d4e661a5c8f8d4efad439bcfa311c64daec4599c8c54d4a742bb21b422630112a805f80b2d8675484cacedfad9ca001c0a849e8c2861bec44fe48d1510996c5702741fe913490ebd77f39764459375d94f0decb6a2211f97969203edb2b2c343751d25534a28707db802affe5f8a00f74a0c3df53d4b3f2dd16e03960dcc011f8ec7dc61ed72870f43685d25247065d45a96676be8a113d8e2986fcd6845328595aca9a603fea013278b085aac501002fb64d4dc48b9f774ac2c38c62a645d136d9d52dcc0f78c43933bd43b38b6dacb78c646af4127a0772643938bc9052d286c5a39e4d131d78cdd15fc87728948e4c8dcbeae0e87bde8a74421ba4c876311020d91d7acc3d93d1b6b1c53b1b860317c105b0d6de6780047d1bf2f991cc91f012b09920058946228d259268b7243a646bd51baa25bef743090893c3872500caa155c1720292d892d0e1df85013dde870814a2cdb092649921b279100a9c2b9f2aa06fa032f879ef6d05db3ea8ae62503b0344ba2eb319bda717ec8812a484460b4793a7b64535f699b58d28c92d23a1887a82086446324d8b76ec9f70d83709782559e22daedac83075944ca9f3f1cb64a6028ec645f9ce29938b8c54f7292bba402bd84a62518e30377c94e4725163782f83baec57cc9d4a1d4b08f6205f8554d1de73cfb70ca18ec2e9d11c2628d2c69fa7454313a899fd139cb4a174a81d5107ca66b4870089a38b0051581e53cee5b59d355c9a58bb51602cb8313ef23fb9b1ffc1e8049f7e6007010db0e6de03f7a29882e10d3724f72ac407367498f72dff70f16f09023b7cf5301901ac184f81cd6980d6865ea1a13aa76081013c23afff08fb1aeb3885091d4ea703a17707a80465f048fd2ca578a2933f519c0475b527abb945ed4587a6896da38339fe49ddf7441289a0d39a60fa459951785ce29d24648cd23313e444d8281403727cfc847ce4e5a4170d690b7412cd86cda740b1720e32784b84bc2ab8321fecdf5b4539a89ada679424ea4645e0ef5ff2594860d922116d76321f4f45c7e44e6b15a2d0606c75089adc6b3811ea96c5404d8c86e940736af70c060a833acd9d92258dddc6e9fb821468e66bf08de8c56859fb74cdc327ccd449b9ec127c382c0f99da2d26497e015a24d1281b1b8f867190ee902ab298fe75de0e47a26b43b23306de63036eeba1d0df23a3dd0f5a39fc1d519c60a39688cf7412d161ec3a0915103384728d54af6e2a61000587197a6bf78369620cf63be5d9099f4deab6bbc651866d91ee1d32da2741814146cb9aa4203d7df8bf9a1617ce1ad93a41c952f16263b7c25b9068897322d2dfefd9eff8aa5b44772e52425c40ce01492134de2ed2fdc3a3207cd309aad2c0698542e26c160bd5755f2ba009f43e1f7049fca4dde8aa71edb69de98d6f5eca15a9583c8206dcc77ab4cbeb240cd4e87a80c1dacb75b2a53c2f3241789bb4fc558d94fd07b4eaecc52886be42627a9910884616a117135a478a11d3dbb1bb610952df7c7449d47323e98f604905c84d8052244bf02867f0c6cc2f98f6dc3017efd05cbbf1a08739195063ed83219fbfa7db62600058023e3045a101662aa2785f342f9752a65472f09ad2f0f8e12a1db23295258130f585c8df380032f28bec4b9603ac451e46d53587d2bee5a0651b04a953247b7572b46ac2ff0052ba562ad261ed1a8393d9e46c4f24a7d4d4c83af5fdfa94dc0a73e01e25245463bbefdde55ade3ae18fc5a8c526600fdf9a8dd98bb54698fba80a33e0d2c181cc1f2be4b130daf5a007bc8a095ea8216a2d9a3a102995f8af40739fa818db9c22b183c7d70496702130ac6fa7b1474adf0310f5b48ea6c300cb754bc491b29b2d627ce19f57c27a020324d4a0a8804f586c3e0a8c4f152b30cdde150969d84573f71ce7aef61b08d43825330b21c20597c7976604c7beeabc72b0e1405c32bc7391aa9de6ff00612e07800a4d2cd9e6f2829fc0c0ce2ee4504b883c1fb6afd9e04cc629b488576899d8ee30bf14782f840c89460f84a0d10a88fc84c565465021f92561a87cb61d45f97b277eec2ddd35aa4306ad13ca06e7a14df582668f044ec3230c5c17eb2039b8d178df4db836d20bbc841ca0dc0d99ec87eb320c0fda34307fb3f6566b507f3982f0f0bb4f07b8a101231abd8679b5b0073bf4007fe9a0ad9d8e61330a423f7396d32068894e37166cd8410d34b894d4746fd162ffb49ab158dc1540e0c819067e21ac045d0d1eab264978e6e5bdf1ac52a27a30b221f88844dcd5a20931ec96dd99a969f30610c043a865b8429328b70a1191dbae93af142135ae3dc1aadba9886d2f09eaa6ee0ee48ec565ad977405db81ebbf523c26c10b8a028c1f269d962c68078ce5617a1ecad00070bf7166c863e00abd1e88ff73f7152b2fcd8d56b05db7051b8850c80a65ef494af76db5769b02cfe4736f0d6c03249dd5ee528061b230246feb190b3f6d42b8a858a402a2d9734af24cbfca6836b07de8afce8e3431a818a0b9aa71f8d83246094a3d7cbe5df1e037272e19f537b34ae00dac7a2f1867d1225398f7535aa765b5354a7a52728b4e2c5cbedfa988bee5f84fe8a8ac6f56ec69424bf304b4b341de9c97b121ee16479028730323c854738599e86232c194fc110869ca7e1084b9ea7b09830408df5ecac5143e500419ccb257f9cff01f93f7dac8789ae682a49672fc84677fa9443e9ad067ecdc5a05c820456b8d742e2644812eb2f0b0cb59dbe81009e606ffe1e868a44b2003d5bf066c08344bb1b8439b426e12a2047c427e7d837c6f50566e8475845fa969bd579027cbb9037ccd0a1da8eb45131f052a6d3bb08124da5d64887b77f5507301ed07e0f6b44ed0f93a69b486131b3dda3fbe5c986d9fe5a556f1185d19eeeb24c6c971368667a71df6568f4dcde69a7ae6ef1cae640b0de00d9d5c69d8c4a8b590aaaa2783f569d04783c0ff863adeb6715868791ec884bcd1a56140446933033d820acae8927fbe76593ef444c88bad063f622d5fde755c17ed3459d92adec02d0b3d213befde9fbdc2e1b407f3b6d75331aa68ad88cd73c1167e76185cdf519510636beb52212479c7e624afa5f6baebb7dc771bcc083483742dad5d7a6c3ea7d66786325f1c9797989cbf19b86db7af38b70782a2c76e2df759439c7f2f73d22f63c1dedfdcd7b8b44f6065287c7be232d1070e51efab7b75fdc4bc30aedde60c9951729bb9f7f2a1e613c76c2ceac13bc6cf76ea1deee1dcf770edf5d5bae67e5f1635a0a9b89314c63ed1f52a85d2657107c21221e81e460a07f7e60f5b7aa4a8d02b1b0208f5972270c9c0a6fd3940a8b67d4ac9ee19a3730fbde7489a88617d8ff480fd946ef218a1334586b7898eb759eaf8284c80b6f000f2363245475011192077cdf2541433c88c1821fab9924424ba2b819fdd1c340718406ad761fa11fa4a5f774fc85ecada12d92ed3e98b485b119e818fe0c440d8403b3cddf36751e1753069a275cbd36d3b60d97ec9b0c04c14cf68136d972389b754e487315f2efeea14909d22d2eabb6cfb8b3c0dd7b26b16bb69482b64f226716551e1b58f68f7c2ca70c35f3da3270239008266125b1b6205b90e3cabf76f648992af7c3e753a142680b9dddb34e88c10531068e76a01f7a780ffd44372ff939ac26bdd0ca6761967cd262e4e0550b881d3f316da59d4919ace990ffed8745a66d9204b7f9eed8e0433845ee8867de09b5150b897769b60e428af8ed8777a51a8406bc8748dabd5e384af0ade8a71e8c1e538ecc4a8e7320999bef63750a35c6efc54e52b6b39fa9a5df73a7913c14d3d6ca67a42285af4f0fc93f95a1e70cb44a8483e90eaa174689eab369e27780ec995321652ddaa40fa09eabeb356f99a2a01ae86bc03b25782550fb56f51cb6cf49f092165e9830e2b1220df83b762d53d19e02bb10e621d9e613ead4b4bedde28bca574ab77e2f2935276d5ab4ef25d6589244d212d52113c159673e4d78a63dad4a56a859a02c0fe6bb7548c7992863a307de495a0c813a9c48610f49fa2713ac91c5eb9390ea55799c588ced4a0167a7a4859554386a11c4fe342728209efbd969a0f7f8f9f89a2ba48a915a38272d4f18d7f2523bf96f42b7bcd4ab353220169c7a1313d32fdd36eaa3ba59624fe846dbc66e4b8af69ace337deda455de342b8a423e61bf9c0dfdb274d268379bca70874380647a917288eded0c2182e00c6ce55296e52f7984a40b248a02cca5e400468fc4e12730f1024fbdc87da1e4f0dc0c8258e00304662b6e2052a0a82e5332f0a2853d58de7781c2de00d5c91b0d60ac8a64ad95f8ed36a0a60a8479902195c91b5d148f5b3c052c1ddd211ba4c2463b88f86488af832df782651179cf34cbbdecd5abbc2a6e13a1c996b0653d2d644e777445cb9f8b50cb720c39d704642cdf458838fa604b4de9f43717291a508454f8e32b17735c0e34c687e363883559607989e5af1d3d1e03bf46d4aa8f5f20bca17e72304a61234515a3be82f17a3a38f4d57d2409892cca4479704d496eeca33ad552930d8131b2939641172dfb2b10632ba624dd68e249b7a83a9597fca7a55ae7d6ca4312c73efdc8997199a1793f06d882e6cc8b20328c2d15656fa4eb20032ed8f53a093e80c05810383630bf543a50e49a9413a1d7325afb9fe1ac5977fca7e51fb360498de0f75706e35816e5aa02d80bd24cb6e94855948e40405eb564808a89de619cf072172a9a141b64954c9c37c39ecc9826e6ce71c77613596dc005c3d21995fe5b5f21d8e2ff3f4104ff235adf11e7ac959938231d6067c3f5265b40f507f6ffecf2a80d9a09c632f8efc9108fb8d01d257cfcb519365f148c9d2ae620b5490c40c39b0003e2d944946c38990cfd60c7e27d3fc714d45711e1195b0b30d8d6e6893e93c0e4d816fb65c2164eae57fb20f2ffc38d6128c4b117099b8e978fd4fab7072777814e24f20b16a55d68ea8b058ca2cd80bbc4ac6820d38262ef75987f71c79c0b33d5489140441b116a61045772316a518f3fe4309fe8196288c899d2e0dce011914daf813f3c3554119f0c991cca1e1af15289ef559b9cfcd95fe30c6f062e7145b57226516580556697ce93c6362091b35b0d257ea994e81ca1dd534ebb3a63725862e01d155419ac70d1140d3cea529f6c59d288d036af236e276cb0bd72a152c3cf2504068c02a1ca00bd1419166a92f8e5d4111138129d5b91a0c218cf3cbc6cbac268430e1dede93abda08d5e8b918cc9a1b836a2daddb9bf87f0166517663f1592de5564ad724de16937336b858a6c40a78c433357d148ce875ddaf9ee55bb762ff9cad06546b7982dbe07082d4193334e084a975e42bb807f208aa1f1e0a80fa078f2cc531fb4f36634b31e5a811b0578227c725fc13b1b815513963da37621655d40c2274f0c57d1272ae3fb34af79436f7e49ccabc48d343db24947ab5389c37893a762c4e8b50b8531ef0929be033d414b09412d70333162235f2365d51c4ab9ded5cae4836bbb274fd3774de98d8c0d82c5c07ee2397a5247bfc13c17edad457a6205c8690eff6c1a457ddaf30f786a1831d4640cda96f9f2549f9ac8a70c07fdb268d1ca0b88a0e59b76a683e125a7c91d370bac4c307b847ec6f952c7d5f861f6c5efbf824d3fa59a2609fd19ac3dcd220c67ec3acce763d88d4c2e3efcadbf393cc7e2315c1d6cd04e5c85850cb96fae9a2f4879b55f263b3a6bf727471816790b6ecdf98c3dadf6cb63d6967c7a13740ba5d19afe20032deed696ce7be166aae9975acf8aa3928e5cdd84b8ef573ce21c656dd0f4bd85bebdd769a0e98683d3f20e5b795a047bf5577a03549a06cb0b4d371f95c1f84d83b4c50e108be3a3ab85470b543d0f3311eca9ec6009d405b6e00e6e1906382e8a20c9130646bb9dfdac4b6cda0871a413acdee7de13f88de21304ba9e8c456028e05479048b13f1b41e5fc927228c9ff5e4146fd0819d88b3522c55ecc253db11bba4c76251133a2405644d64a9b2486ef615a39b27720ea098ff518356ef431bb3eb7636f540ba848e8cabadd1c414e389b476b277218eb01fe6679b0e9a29c863eb6d8d5f4d9b5aec34da79efd078b9f90aa46b2bd9b7b04eabf4552365ec41d2cacb9bb765c33d1fe1ffafd1a33469bc8e67508453c6e04000c554d9f34209a338608a5cd2c7af15ce93fa98ff6f7ccb1b8af80eec02898caee8c44a0924010618fd6fb290ecaf6b1e8d6615e3f7e84d0003329f10f5d25d69c934cc0ad2c7d0a605c92acf67656ba4effe8f3bf55a3120e21f4e4fb3f1c98fc069525fede25e75cb4f8924bbcc47c612c28abd6b9b98b419c563c13b860198f63826e6f18ee0f4e46605a6b784851dc7b6329c51787ebe165c19c9b19be8a6d9ae811b86e030d896bcf1cfe84479955d81d2495496459282ae9311a43541ee107702eccea481b9b3b348c007825a5082705527b9d49fa06f9e66c1a04b6a274afeef8bcb04ef70387c82a0c26e3c3de484439d46504174c0c4cd9747be10c409a9784b7aafeb35ea2f918ad020af8efeb7a1dccbae0ecf4215901b4a9dd7dcc3aec0fb8e5f11622053c03370d21ad34a9e9713d654ce26fc82326aa62f7448280bda1451b183ea4f0edeedb1e354653a5ab376ba0de89662b7e19e09eaf61840142a550f5d474a17fead5c2edba3b2c2e041ec4c8e1db1024648f945c929db87a867af203ff1f842302ff68ff72246055a211b8bebca306a9965247609dd57b77fd8ee8f0a543e6288b098a4d43fae0ce923f30107652378504320b40877713915de0404b456be40225323951fcff5d5e4649550014770b43dec586073e58500de3534fdf42bcf8da70127f91075bfabd1f8e8af5bfaaea6356f73ec851efef9301a09e48720cf4763a084d99fb0642ce6769ff8281c75536122481697952aa7a404c1c57e267e23ca44a5360c27c3c2fa10b3ba8865f05a2357e1629a69fa8722563d4f5445c9c1a654a5ed218041a62ecd55695f90fdc413cd6c058d5269309140507a2c289a1e344cea15bf7905e588032090a456c96aabd4e08aaa253baf4c6a0800c3d8ed0b17de51af24fff40c885e54b975485b47cb09d043b211720bb1a2a5107f9c4e2b6658062f31812cc6b4a474bbdea0af5ca967b81c1a4c9350d977119b8966b34d8aad199699fa067443c79b811b0d626983a1e3883b3ab980cf74777c8250ff30105197ba629bc2ccaff1e9b33e00e3af1d02c35dbf3a1c1748b639162b12e69830afa5b8b7f893153e8f569c8c7fa6df160781232b9cfa9e02b29ed2572daa95c24aae1be61857f079628702689a20a5a42fbc2b23ac398aa26af449ce009b5c45115d7108b4b06b6beeb1e6f6945b7c5fefb6ece57940d992fd287b3d85a3155f2b6e1d163d9b022d93f3f72c1d0981c0042815b16e58e69e206fbf9721d20ae39e8fee440669db956ea07e1c6d231168349850d45c16bde201004d7116890b4aabe18542da444791d60d52d02204a4d14e95f151811258690d262454c8913fcdca028d9bc4ae4a1650b0bd0cbab1fd7bfcb60ec242911fadb8ea83c6c8a754f8a5a23f6cbad29056e62eb811e158f950e054fef6d392cc815d492e8ec42b49ea80f89aa55d40a7983e0227ae998b69c5200d3c2ac54187caf135db3316637f1955d1620f1c5919dd050b419e8d120ef2c4171b5cff35334aa840c1205040631c282c4e802f464656fc5a45a3d320d92bae30340a502e4dcbf6be5a19acdcc28e871f7a20276268775f8ca16ef3a72f2e5465d6dbc3a583705f1881385dfb0f44a00adbd6850a2153a16fd7b552da29ad84564a8b2f083c56f14732c6cb219113664ff6355965c413d5f3787506424fc8e99ac892740e6f00ec351f9e5a4af976cd87009905cec4c1b9f04a1ac27ef675d5a3e186d5261ba6c4ac7bb6fd4a505eea885bf6072176a0e0ca973c509a04d2a2ccc75595e2ca1dc229aa6c074ceda68cb360fc6f48816958b308607f773b7521fb96cc3b45124c573424f6ba802800569c62c89da6a8a8f07613053eb3cbdc915825571f38054252d90a49ead179c024c51c1e32c53585e56d4039b4f81223bc6ffa9521b7a7949ede99eb806b8ae9c60f425e530c47f4395beea562cea681083d73e6a419d2404fafa96fd65a549bf24e908dad94cb89c1fbaaabda7491af3658a692df25d5a43fe91c326a4a0802bf15e3063145a6e4a768ff72b6a3a598e4e30e02057a0c163688a314093532f31e9f9f00d09e1b6026380eb274a0a5c7a5c0032b0086c812cc03c0f476bff35727fa32154f8c2e58231bdb40c8e0b8a6de30b565d0b6780f6d5b393f4a613ff7484ef59773cdaf6042a2947d62d071c92d5b8cba9cbc5220db42555a554142f193028618750ce514dbe49b203ce617aa6e5e8b8360501160f5524aece29d13b9afdf0c12a9193dc080a227d763df80c475d05843aa9bcf305f56ed2a2374476bb505744fd5bd33fe9b6656b7d6f3b9c93285a9b73b43fde503cc370cb9e069912648c62467775d84821138fb54f3494c9f3a15c8d80fb95e231c4f20b48f31bcbe3d00d80b839d9a89b26e8c14f47fc6e7d543258ae5d52b1d10317c3eb32ab7f533c0c6e2b354d1452c90bd2dccaa5a2a97f7ebd25088712c6fc599daf696370614cc2e347f9f6f501286d81912ec70c515fa90b74f4aef011071c97c44a90ae30285a1dfc0016a6e38ac3f3e053997c7cd6ba32a572743cf441d97c8a940745bb24d8225369095dc95660333fe29fe389867602f741c339762a2ed4aaf644e70c98b693ca8c6651feb116b5d30e4521bae1bf6187a695e49b52f2b3f29166df1bbc19ed57cc53bb7721c56f1fd8e79aee15dd3ac3ad3f6c18d533c99483019e1207f550c8e9c4fa48a0cf468043d019267bbe7edb29429f0e692b39d2d277526986a0451e3e7c5e4db5bee375e55c7a90152bb98f1ed2bd9ddf80e5f3aa239ac9d70393dbbec9f7039454439f512a7b70f70e34c15ec4c51d715a03f22a2092937b0774ee2af13d07ab865b1a309ec8663081806bb831fb4a3a9f00176d6d028bae9419e6fce9158e76fd8355ed323706d4920d44a7b2cd7c45bd0cd91a7b5733c5cb5604933d1c836745e08ac6d76ce0b3def524d747280180057f07748c8263643f8c9eafd9f59866024959f11748b3d7b7bfa50003005357601e5ee6f28fb87ddbcfa7580d4e17bad611e5d93193857234ab901ab6d00972e495f597d0c92bf95b6d2562afd7c2798b90d9c9ac3250f9cda4d858230065d5fce7bd43bba7e11f68e73d4de0e9334bbe4e75effc88049e638c2e3b3c9f9f746d557b7362678558a1d2642d93cfc42a6099545e596df10c3d9fd20a6f67b934ebd34a13b6c301c01c03ca9c945cafd85efc7df21913f0586046e38064cc0046b1f57e133657ae02fb010f087e4ed7ac1946bae3d390a7714670f7b14e62c94e73b0ed25847a6ad0f6e20fa227e0f596205b74bc270b394ccfed1a15c8b466c92e0b5b4224a995ed37cb88e3a6e5c29d8844182e3e6dee6f691182b6c9e78fba7ea93dcac0ba1393b6e4084b95975026cb0cb0d95830d152a856d1fccd977b9fb84869dcfbfc82abe1e511bcfe6d38baca6aaf4bf756e46d4e247070925019540c148ccc95c406ceb685f90d21babd498aece9eced217c38efe2080d46e8d5f1fb848e959f1a34c825a2805ea4e43206632004b15112e83f756749506559193305fd0f4ab50b0ead7604268f4f1e285e51360e20e6719013137725ab2f3900a4b32e5a7d51f7bed9801d1fb35c2b3b80ea32ae6d1adc40d59a3831824042eefa4a19a1cabd452a6ded866c10136a2de434bbc4dfbb8b538f91a9fa314d792fcf1809ac621db12ff730e89f8a08ebc120cb77e1e91f50f815bf73f19ac8e6b87b3692cfe6c3c34f6ee5617a8f4bde6fa8855a66a1eb879543bcb2b2a9422a12e813be36d414e5a00400203f00272fac0989dd2ac92758a3235873f99ad5ee595443a198693231badf7936c69dae7e0f3bdf3d9e75d817b10eb96eabd208c7c1659d5b5a7c7455684074b87146a9155b361e02bd40ea33b8396baff5a0b59cf12b92224e6f842b26a9048c1deb1024e344ef537ce7b4cd99377a7d2753ffb018ac72ace834a090fa1e5e9beaa6ff4291d3a1d231e2a76e7c83a1875d247aa748af2b60efed61199b85e575656e33a5e84e92e370eb2c668f799c354964061fced5dee7f3d545a096d5060ecb99297bf602bbdc8719c0ba99963a570ffab3b2dcd6e2ba662dcbcd272af48d83c0bf9c140e66509fa0cf97927326a58402298093f5cc10a553913ab8176bc009d530116aba80d740ea53fe23b5a29029d2de3e473b8f5099f72dd051e9bb8edb0828f1d4f163b30889fb726f6111036c7d1cdf052e1524831fdcc39719ce749d7e6cf34577919735e7323f416e9c71f075a44fbea70082e459ed11375b1ca01d727f7f9f630cf6e4fcf8c14333ae649b17f9e982df67cb5457748a46bae74678817c9627379cf858ab97eb85ad3919917e663938d4b591b0704afa19141991eb8c5ab6b0673113b05e9ef509c64a9a97af906331461629054ad39d039a974da6c396dee23b2ce8c6b6e77c7462afdd625bad14da18f8879e7582062101f6124cca824368cbefcdeba67be740c991b75bba03df0b3225eadda83ef81ad316624afd24745e55a64890ace4dda8c5a1175c42248a2c199b13db079da18a4d544f15e59c86aa2d31455b3081f3c3261240bc3133654961ba0184294bc8ce1e43864cc064bd0c53a761d69c3430e3fa5a4e1e4b16bea0a20a5a86009c0fea19501c99f713c42fefd69766a5d32f96c9750c6762f48346e450ddfd0f15fa32b78023e986cba72822f6c31637dafaa7330096a6f63b275982d2a18a3c2cd054932e7b7c9328b771d5f827a2c41a29c78525434bb6d518ff89e291c39028d5fa963cba24dbcd8ab323e310c32675ca6b8f656cb9c2c79ae8073ccb6ba95bb6d638577158530e7a5e99d64e2d2846899bb6a12d25e8bafd44108a8334666ea64d57f3d20a971b3dcb63e2e1e8cd94d77bb2e74b56b51997b2045684a33885da7899d305437ef5b66e28b133b55e00669f05d58a5abb31271c03d95bcc1d24419c6a6d0ffff84e57dbd2d7c9b27ca28b69c324689a3540ef9d9ebf436edff4d70237a638592f2203652d405a4549184f698284acf87f6702600314f460e67f00302d39c59920ef876454e5a20674dffd983e5f077f80d58182029c53c825bca7c1e925db8aa709fd73eeef09e209b6ffdbafe15bea731b95798ec2d2ba3d8f70abf076b680b5c2aa9074767dda7cde6b45e10cd051226210e91a9f947414c1bac68e64146172aae9f70df2119330b6cd0ad792784a0eef3f06c29432fb0f22c0362a9f826cc42d24d2d34c4429202801498d9d388db7c4aad141a2c98c06fcfedde75d78507e35b8445039cddc427a441b6b9b171cc4e51e3a90bd2d2f31db951e25c121aa69406c540cab1d6b9255154da07bf48b6af9fc5b00abaef102c45dcf28454404ce6e35c951f27c8bf7ef8c874ab72f3c2c851d3013327a7d40fc1e01b5e4257b7a679e49a085bfb544198c09b7c2f727980fd14237eb8d543a7f7a8c503b8f3046b96409373ac971839802f8aefc66fa42a4f464fdcf3706553398604843dcfae072eedb1b738f3ae6b396040ae3904253206150d0da1b359dea0b86bd54f42ef9bafa16cc07f96d931d5b11401d1311a130bd7a2a29e819672170ecb2ca490c24fa8c1b19f4a62f0a3ada1a6e920850722102e49953936792fb374c4d5ff63c8c55e865bf80981f433a6f6b9b1a35135dc88369bdd61af0e68151860c276962d21e5a2d569433c539649764e3479098b57e97b44ec1194e51c3ca37742f04b246f2416fd632a8493d68f24eb07c7d62214829f38286e7356a30b177f71ff3ca3c615cc907ff1d7396727522e60bff9c7fcf03208e3ccf6c545226ee6eb061adcda629d1930d7cf2787c1b2bd44cab8525131a79da93a80c9545300a0ae120c8373d09ee1563ba55876ae6e6fd0a0a82e6a02e4dff4ed0cbca8af6e9ca06e37bc65d8c84659b8a1fbb516018454827957835026382622248f08d0a4835356405ae46e3cc0203b95f2d714b5d764fe83cf0f4f5f1c05b6a8abb9f79b045616330d0eb066c5185dbc9a8f56a64cb0833829a02ea87daf2591c554ff5ee7b728010415b37b371096211d5299813b4ea911fcf0b33243739de05ca62c4e9c09118c7352f610c508048960c1a4bb7568e57453a276c6a148050792ce188055cc793cdae26329d897b77a2f4041e36c75d27781420c22295580a71a2f472acb73b6be757ad6a6f7ff408dddc6d8c2c9c41451ab9648ed8304be702b323f4815ab51fc968f021fe2b945e71f30990463f14e949252142af08ac52d1adb1fef2ba2f03a1f6a866fc527e78d89c3347d2146e24235a1053324cdc4424cd4e00d8d604a2660f5f7bbd0371daf65cad281b61b56af6112d93bc4b883f08dbf6126093b7e689e9f7cb9f4ab2009bacf941f1755e781948f3654226a200f7977bd94a1b1cff953ceaf2b837c77b1a071bfd01e2c9a6e856097a4b4b35f05bb313c07f4264338d3f6c6cab7dc11698131c96c270e7258dbbaa51166e6971c2c640f5f2f4869a1e496c84f126d11703de071eb6013f18bb093358d338b1270dfd3ea021c1b0d5e73e615a1626ed44fec8116daa42ebf412bbeae68b887cd4d9a4d990483649f1f1b3e4dc9ee94676deb8e9db49603abc85a34cad9e91cbc3900344cab88ed8473680d13ddaeab03c5c40b0958cb062040883bad717b0809f7d6bc12a4c0d2eb6158eca303e40d5cfbeee0b45e91496bfbec53a43524f3ee2302c21b7a01f5a755e92a7617d135ffa58b2fd6bfb461d8d31e6906769852ebd3cae954bbf47614c2d203dccccd134982c0e28d2bd00a47c4b8cdcf58adfbe9a39cafc125aa1a3205fd3eb0619b153a17f46b498993bb368b53bee505c14a5b0125a74332015c4a10ad3c698488ce9560d3d72ce970849ae9caf2be925222b4a3c320f977f84edd4104158c3596fc2257375b2fea15d48d39171e38b5c7c4d22a5350098a3f082f9ff692e172d14406f1009a7f471b0f1088f315084389f1f4ef63baca20b61924c64acb04ef2f56f988b16caad5df551915f5adf8a277c6ddf1cb576ba8366d721b67371c1a2ad21494d7b3f284fab48db4317039c20529859fb67f7c621ba2b2505b841590a109eebd3470dfdd14d8f0473ff6486e0f7f1fbceff790644e26f1d03a71be4ca27c775e07a192af060e8b060d53821cf23a31ac3dfe0994c71ad9e4351c9f950ca49d0b4d432fe65fe2a4229f6ec101945adbe316f765773fd400c31f4a9539a7697e38242320a1377d219e0562791134b75c2c8043ff1f0f87f85787b65870bbcdb01126e8702931ca94d1ca9fd9c9a23cd391c47901104e643d819437bb89abeb6b590e3651913afbec6e3c238700f9ecd542550748e60b9095c899985f3f48f9a01725227dce6931a5c38f1132f2eb70881822ac2ef1b5f589c27e8bddbee48adc4f171339d6fd2e022660238fd813d639276962e39bce6c0c18851d00533e04bc6c8361d82c07f45338eb794d8bc5f7594299b5b8ef16f5c41de6661257a76693be39295fe0072b9b2b89115f685437cf700c8030af6f95c8b334c7904817a99f0f2208c8bdaaaea2427d5ddfc42acb316a42e13b6c232f0cc9f4873476e9ad3498a1c12246b32818b57e31d273b9213b0c56b527364294a998da4910a56c648494429c920328dc14462aaaf56c8b0ebd86efcd4884e0ff93cfa2d6b2379de6e4a23d8dcc02e71d9f93c965ba83c0b001a5b45d7aa41c92bc8417ec4759a8f9ffe64816dd82193d1d635f62011dea1c2d6f77cdc2cf6131768c9decbc7fe49e4db969755d084b6908fbe621ecf3311d3edc0a647adfc83ed8ea59f0df431b54675b167788766890557e6316f1ad267ee624c7d90339c98332c5a4f931c2ff0e120b0b505d24e9982da521e764a1c90b1163481bce59114b4c104faadb55b5f092321478b70fb2f6e2d6ae6348f1726b21e63ea897715c180d5bb903cdb0e3357544ceea0f35d0a1ba61b97c0b213ac3cd6a80c6e8e2a5294d74599949f8b973ceae1a4a1ab78d29c8a40042a1ad55add09063f5cf9475a479592ca49d5de0b7dfac10784ed7271495a10ce93cc233f78a084aa8f012fe90421586fb0a66c1d4cf915abc3380d2dabbccb1bb349f46291988ab8d0244c59dc78012fe2c23ae7f541bdce2a99b7fbb950cc8f293da2d0021f6b01de4f45a7927ecec67d8401288ee77f600a273c7919eb87752155297d011b7d8ad19386ffeb07f234a504efee11f6786dabd289b0bc159267a0088237a433c6a6033e0a9096e80c241718c818e0004cc9a3c8a81b7fa89077e0b6f520939ef8da8ea4a01defc703fa4ccb710dedf9a4467d2d2b076f003f275d6b7cf067dac78536776b20e21732e2bc48698ca50fc4a936afb5f0c0c7a8504090f9732e25594b85ace643a2ea55ed3cbfa7e6f1c5e287837131987ec7211970e86bb10be838518aae4704a65136f17b334c7c04fbf80ec88c54434efaeb130d48f2e6dcc64a8f543170f199d01326d06e1815fe69a43d9ecd6c1126e4f16ff44f1c5cb8effeaa24150073d0f88e43602043ccac718ce39e66efaac8542d6a9bb4d907919e6ddf7515cff141582e253c6f3d75ce86446b30010a82930311a977fdea99cb952730bc4db05b657aae48259f5094fc0c55f907a8c1d165b912cb3b0a863f424d9d6fa866ea1e30c6567eb43921c6cfa31cd1cc494cf50339823316820ae23849988a2752c2c65d4abe687caacb7cb62aefde4547d854b67203d004d0b830428f25cbbd4951778e040240abb1051761d4eff417df0e6b2f3dd00ae0af374696bb4dbb952d579b01a626c0b9fd0a9653e210c7caf0c174c6bad0ac6aab3a3e6ef9910530d431f0faa29a2471470eeccdf41e37ee03f0e5861bb6a432d7d409feb706291264d2d238cbeb80b4124787b29be4a6505aa0565b5a6cc766570f0541e671f825dbe9cc2f31c20338932c560538f1b1737946e2c43a2022e201bc421e4d94b14defbb40eb89e31ea074035a3fab47029ad7e12fd8e9e3c35e31b30a72076619a7a60c218dd0cbd6758a5e73c7f8294eb12e86a4cde44fdf45ee8273f882095da50d0f67cdc055ea94ea855ad9120bdfc000663fa89d063d5350c2c5a70b3962e5db77097b40111c49b1905106d199826f0d1fe77e27824971d42761ee6050f85c95f2e9635b60c61b90ab91a3e4f94c8cac5a4206add0421aeac177902abd200c69bf3e456e0e44102bc09f94b50a81e9b095bf262f433f9adb960737f0c56bf7e1544c126b17909188b0eaa1b39dea35081fa94b90b17190667dcac09ad020394c5d5b508239718e368ecf29d8938050c9ec06d4f450e3016160146de756994bfbb07203ad7f1648078e2dd4e26aa5a0b6a92e123761adf16ea13541da9386eeed1768f38a1152392a321ede85c7432da4cdf6a837639a7aa1fe03929733a4955b7b28bf76e84d29a7ce7b7033bd45edca188619a1b7903aa5f53c841b6abbd5b114c85400039ff3c2c6043d246c3307b5247f575bbc769e5782154ba7774c6070d41f20c74e8710cfa44f01f16411026e9934e12ec234260c0dff3308debe1778dc0a96aa56112f741b51629e6034dad48937310b8e9357ed6948633184324c0e2472ac3975acf94604128d02a683b70cdd50adebde22a2c1bb16730490f392a588a4df1f1ecf040f481461af1ca6c36e7d91082f2c9004460076c2c3c3144fb1cc4e37a4fc6763bd4b4ee17435de987da4670caa370641b2bc40d6e4ca4ffb5472f84c1ccd3501c74e30dc8dda2ccf979e841ddfe457c574454bdefb3a1addaa969524609d967097201ba5319edd446e0410f9802336b4ddbdafe34ddf6e5711c070982b86ea7e1458917eb1ca0ed71301a2d617c8f8b4001cec94efc5b394403046641fdf7ea66360cc096d4b87888f86056fa73284d0f10840f00c03659f08275383b2faa487aca76ef07313bfe39a51c6d2451491c61a8db213350da2695035cdaa75043d242eca447a3671f835120d9c51b6c8f2cce430e4908c72157dd7e10eef642df901d58cf46cc06b88e103836826722488f786b050391e5ed002276f9c51be263564afb63c182fcfd1028deebce9e9a5c14ba8bff8aa7dcda5a2fddd796dfa782b161abaf62fd3873b413afe732c7036951a8e0d67403364fea79dcee929014c6d85cd97b48c477e70e56a14b566313ba6592e9ecaaf5c7243a4d9c5a0df8c1a612fc7df02d391617c7296fe45a3e0b25ff018af412e13d8fbe463dd0fbed1070488fa89d9ea9a6a8d98d30ef85fd5f295305f33d34e3df13fc4a64b93daf012b4011350d8722064efa77db6ff8bcd744f660d17515961e4466911e84f39e7c0f39d19b486a93885820a40b7bffea96b4483b1c1d0a9ecc1abc8fcaa8ca35f059414ef7bc609cdadc9517b18db17d55feef653ea1eeb46df557c01e9c4af52427b79119822bfedfa5d35cba5ba34ccab5a2f03ea8772ccdb05a3c1161866d2fc7ba393f2ff07352e5cee2eedeb9ab6d6edf1977f646dcdfd66a42f0c0e4e41e3cb9f6f2fd09a2ae2f88e33ed183a579d2072c86d013a7b8bc40e8935b8c9eb90a1abd6c80d01296f1e304bf4ced175d8aeb80e2ac90c06e31e4b13b3f9665e5c992a81806d4f05e65e901a2bfb95a12e15f1c75b9feb3ae9946a4e3f5dfa1281a74e1636e928ae332943248f8981631dda0b8f4fc3db798a524b2dae437d5ee12da857cc6a64b00cdb7f8cf194fd739971b9e21ea0a81e41d7a8820a91de7805b61056d8f15bcfb5d99b1ee9212df03bb2f9cd162a18f3697e3dc9e7ce69a5cbc1396c965e96f637ee6440c1e18c3ded884b4dcd1618d26b48f85a4cd5ff74ab3e09c6eee8eb1b6d75535620dae4264e0dd94451549e46454b4a6f61d46dd3dc1640379c7f08b18e241b8f8a2aeb5e1c8a2ae1ee86e553224c41e6f15856b46404a4322cc1e1f597e0a1a36cb251bc389a55b17520d531476ba68079ed41652ec04a7f5b1254f8bd19b22ea6534117d8b447eb3d317d7c13ac993a6415e0f8b09892d350da90f7a19ce0ff912435352af55c44958a309a02ed039874829685656bf81ff37e0de88d799c194377c3dd836b88cdc31040aadcd7799a6877d903b588bc6b4b145ab1f98fa3e61c4fb2684f07d84a024842447ac80a613dd83d235afc819dab216896c1a6d95dcbda54831c8993c1083109402181b9838a677a0b9b1b1e4e0176fec0a98419a565c11f7f3ac7ee154ab88653289659d4012b9e39e54c8371e01b68de0425f37633704e0c3a350176d60f7eab3a737f7f877c4c2ca9401689935e66b42ab639c00adfa4822f98830df00a8b9826967647c7e3f179d74048cef37516d3541c003d2fd39d35df4454858552602684d4408a103318ebf07925352ea93c256e0b42087f3127464a0ebc38d7c3b4b1c76e1de49bbed3d0d7454e3a92ad9dbbb60d348874dc2677c198a1f30a414816712abeb58bdd5a074f47b1c5a12363f801858502c456183aa45c9cde4549f6f37dc8af76c304c95f390f4e84302d619b509f49bc74889e6e021c046b217c28fdccafbc46f3ed1a71f9ede985c67f90b1c02946eeea94a11db692503e4f5828297b79e513f3ef9e33b261ff499b1b025946ce191b743a453060cc8d9349d6c31068383ce3c6b006062547b6ab2de97b6ebd4db598105c021ef66f9aee5dce548b6696326f3fae52ba45cc652efa21dbc9f698500834254124c92e7dfc41335f9a0e4acc46b9371bd100094ac3cab45648020bb9ea0bf0c93c46e656539384650bb2bfe0dc871af4aaa0bd6d3d7ddbca266deb3a3a9aa9a1bd96294774df573f187265379a7d14e98468628bb454eca119a940d0d05c40f3acc82b1895467139a79ce82a273a815c64e5544908371f0dc174be2d3d4a6cb632c3974bcfdf7f95d1929129db31a37e05061c0634603c9fcf3aacc9337346800d6a4a69ae16772cc34f103453e4d38c59fc453f56fa77600f05c507a6b085762aa5bc6b639cd652f7837140762d7bb31e0571f987077f7d57b217b0d1ee0b86269c4d209c14ada3392d30ef9dd8a83bc199dde58104b37385faed8f489495e9ee15923568ffda7b2f68598340111c646c5f295224f896b9396aedab0066eeb0c2baa7854a835f8fa60ad212928a898acae43d66ac76eff04dfaaa58d9dfd8255f0ee69309ad5ca82477fe71c4df558fd885a3b803fc95be4e3bc38e17d91b4e746ed1614a7dad3eabf91dde7e3fd94ee083c894e7e193da0a39247bdf185edabde6205badf8fcbeb4c126016847a0d65f07214628227e468164de350ec1131299a88120784c34830159c289298d87d31b2c96924fae15a8712c693b5bf16c375d52f86ecdd8b859e4a53f4694260199cca8d76f1318f805fb1ab768e2e364bd8bb40afcf0d4b759b84bc1c724ed363004fd41595699de52e655f642cb6e92ef67ea9ffbda2a00a0c27cac072ba29d89cbc5c494ce2b5b57a70c7a6714582d17917058534d5399d50f8b0af2ea33cc9bfb577e4107c5575e2211b5b45df49689de447e03e2fec833678de023366a06ce8e750e44630a8d3df39f402b3d2403a8da494f5f259a636f21489505a4e37fe66c8e100b941543c36eb189e22e0007c0b887334b0a4c7a2f45bb9f836591201c8c2fb0bc93866ece5a2ba6ef682c1d7662ec32abddb83eeb7d2cccb88d22fbf68601c43da7e6237c74146078ce833e0b89152fe3225409fd8e71942e373509d0387ff6816e827c4ad271264d3a4d96689eb51c24877f926702114e053f456073941ba82061053c1f5340f76ebde8e5880d9f4b034c2b2072010303a4e940e3eaf362e39206d60e52c2587f92d6ac5c5c7881534446b0ff7a74b7e288f395b829e7e8ac574b71c53b1fe969c07f95377f003c1eed0fadb48e8255cd0d27074a6b4901a430f0d87da65ce4a94253b9065d18ac50f03e0268e253eb5b26c6ba5fd236cf56519a22c4d780003a98b966ba162d99237c87a58cf49f59027aad123c67c4614ec9c9314a8cc7dba966e04c309f2393ebc94b3760bb1e883afa542a28f7b3134ab97743ed5c2422aeaeff3c45125cee8690bfc2c1ca267501ec0b2061c3346d6e6a949c0651804802922d6c1c23c8221f5716f3110806a486bf40c949cb1613d19ae5f5da9fc22801af17ec77a03d6953c18bc4db381cee14baa28c928d210ec0b0af6cadc3e744d0e4db3775e97f0d40dbe23f42ebb26f68db5a7e64b3c5eeca786930a03c3f1491e97f2a6b5245aee10a8ab10adb5328511ff48c891d25bb69d518ed2684abe984b909dbfa7e7c6a202ea8451e2f42dfab6b2c1b0f05f07b36892c543ae3600d96002ca1fca56b5d5a6c0a8b691baa3eea8ca7b11f307c845eb396127792d580e402058087f78a3ce2a3680204ac592e3d1647a132aa327269120bea4f3a87150484f03034ccbbc46ce0e5e2284177190aa18227c4151b19439a83f320769a8cad7f7f1c4a71d13eb7ac4fca196fe1d0694cc370f91cfa4db8829a4f88bb6308424c770360a02b48d1dacfcef0cf28766a6136e65f86090b9bd65770afa1354a439a2e3290294aa45f3cba9cb0dda3c66d4c9cb8ffebbf39c414a105ce0e771bf2a273e4df4f8bc1c946441f927406d0d069ec22fe3faaf20e417dd5e58a3d085809b04afc982341c44af58dbca025918c1cd25320d8388295b666b37aa988e89c5114b0e08b8e8116611775261e1ab76d332fe14ad534e11ac5ed5839a51202b1ae9abdf4662a080d4b4a71a78abd9a3801f37c13fa8cc389ee69702f4e55d40d0d84d661994bd6c14390668b3e8d044bae7799f4cfb7b7adcdc8c120c22f664e6556cd60cf832eca888f1cc0ea18518c141112bedf90fee4e6c86bec34ed61aadc6ea08b783bf15983edd4727eafbf896b5a9ce3c1a8410da8c591afe4d6e19ba25cacc665dc77f89d2a749ae079815d9d13cd33e16a8a0576fe83dc4070f6353b39c7326551908f7231ae66e16e92e87606e03f2b4daebc0c27a7024ba5d056abb544990b6804834ffa11b00e92337fea6093f278f8d40630dca779f4a249f14b04ef6a454043f567c150fb28c35c39f342a9dacb80ec2988c7ee5fcc2ac831d61936deaf14886608aa5aee9fe7d16d000339167cd465e41c48ee967178d6f8d29bddd32e07d438251018bceccf2f026083022ebd5ae7dd57417779c6299943aa0c0fa62bd85290bb60586385f38585ac2ba4a290b78455233d09c552205d990d97ab9a6dcc7bbdc4508b49b8dd2942dd9b427d9c512476e05a4fa9378357c9a8b1a2bbb768286f63bbace46128e669e23108bc1392ce88c1d2be104c3ad59b6dbb5e36d92f00a030b20e47cdc74b10c774f25c4bcc6a49570b4e1c504c2c43c77c616cfb428b1d43d0953890ad0567225ea60460e3fcb070769a8ab1a898d8e06b0145e9444dacafc683d98ec5c7c9dcf7090fad274ca8c3d489ea746f03500c965a0f0ee33687ac76becf0ba59ac22680f40357632f87e1638dd34c50163987716c16f5fa265f1a11c21cf58468c4afb1b44d98bace53338e52fb08673332b4e584f92f075508ae56b3a845c0732b328b32807b48dc9ea27dd69015d107fb8c3809ac431ec8e42c554a316c3aa3f23f35050a6742041ceae3d91df9b3dd30cded2dafda21a5f722cc2b4db205152b3e96c971c598358b2d0a33c24bd79946e1e17687bbd94038226693681c09c4bbd9058b59d92ad0ac2cf1799b1c8dc7b7fba626bbab34534c7ed9d4237c58859277a2590d029a339320a3fbad1c7078d7bd5c70d9d9fceb05fc01d85a6b13c50c740d994abc46833815cb3136b0670e298207cb5b9455a8da53a635f395d8edae75a775f6a923fbf8832c02c22d0431cc722ae679fe2c0163233de143be3696ca76a4a9bcde17581fa277a88a6aba9383f8ccd41074c25fddb7fb9f7a9f55bce1be4128049ad19e3d22357f9991862f27f361dbf4f4f5246152f336152d63e4427ec6670448faece80d8c6ad3908c3287fe8ce41a891dd03ea187e1c1476ea95383118e8d66a5d16320ad95fe153c9c5885a0c528003d8fdc89840e6c9b3f96e34c0689bdc1e8fc4196d6dd74ff43199184c0a4e72d735eaae277fcf5934f50b8c6417d45d70ec70785e76da0b32f8ae1bf719a2c9ad7bbd642fd469fbf27a591dbd7cfdeb11e6ce8b0bbc7d7a0791dd2cf8894d8227deaf1f5937568de0c092b1ee30494ef758da3c87e2e10ba37f2fc58fc4b10ab7af2783322ac32685614128a63e3142735a20ef8c17284fe6ee465176c7495fedb60c2f64929321dce62ad5c79f69bd44202a8a11055376f951c12d26885928d5ad2b527e24dfcd595ac155753ef1cb0a059b0ddc8ecd696812e0f6d90334dd58ecb59f69958217aa5956052668fa77ec4f56ebcf46ab075f11dd892b152f968daed3eef83a5fd176d0ee83d9acb7e4a9593c0ec143e37c703ae78b34512d577a90f82978506e737d341051f4257ab7b05c3b2ccb671ba1846a9b283a98dd1c68db33077078ea4444cba8176e21c818fc837292cdb691342c490679fa1d0cc81621b2eb4d417cd76d7b2ee9790a5a31f27d0404ca765ba4037e2e7046485f4610ed325438216049f6ddae3bd7612f74796189bc6618883ddcb6c6845cbc642d9164352252465a8bda951b3be5e130dd8e9ec309d20609743baba808a170157c23bd265f02ebfee00fd69d54872129cc64b4325aa2fd50d6358cd534fb59844cec2b7eae5724cde97f841dee065c18d1afef407fb26efc6f3ebb5b05631ff29317aa00f9d56eca0b1bb0f13f01ff14b6c3096b516bb089d60c7a5e46f68261bbf5dd8f062f08a1219f4a7ff41e052532ea66f2b63037fe784d238a831305c833989e6e7c5e6219ef44a335ef6f12aaad15934488343afbfbcabcf86433beb140c94b95b13a6182da17624416e7dec6ef6b19aef1bf40c3b2b35aee20b588688bf292e19f72ee9856ccb9074a831c93c4d5d2250880b7bf885a3d09ba050be98fe714c2c8a366a86b78dc85a3a9dda3b43c33425b1ae8635d1e6005404ae14faf52499a7b8845474db4fd52c2c5bb62ef53a76255dace00d93183d275eb5c0bbee5565f4f6cb84099234bdc7234cf2298acf089ca5fe0c9059d5ff24102cdc20dee7bc5ba6bf0a0c54367c744a5eb8254b5344498c18229d0092c445257a00ec519f486d24bfe7170a4de8e139915d378c97396375c9a9ca0e888846de9c1c1e30f6cdcccacb1ef788a1032070e0fbdf7bba1c941b3fecd72a305229b8abe1a2a9b1c82794d83f3032c360963763da22b00903788c32eded37d2a9d5b1f9b235ea42145f4acaa5712d998e1578be64a848f1f28da2ffb42dd22389520e4d701ebb0070ec37745d1e6c0d039f582a0c8125dfbb1004aa7ccb82112dd4c468a3f53f230554e2829595a64a27be64cbe2480a0a2c8d7d212985acb6b0f3ff7f4ec894552f2fff6b4d6c035186bf369620a47ab5714b378e12d934d1d33779e4d7a9061e3fbd76d638e3b9c0c01b894b267ba8a3a4c26634d6d4481a795086c4e572691b6d6f61225d763090e3afbec93bb654e714d2e86c887ff2d7823f6e20256fda3dc9d4ceebb1822c950d086cf450b7625698218aa25b158616485edb1da862add798fa46c7f357d60c8e7039b87610359e882aba3cc0f4107ee1e3c02f032d0a78521266aba591ea738230be16f6e89028ebb89223c37fdc1bdc23389e6af99db0895012b2f1a6619b817d861fcf5150a47b3770d52b17285ccee212bb0a2d98455012d9a98259ed93e98f19e5aca9d6877c2576cf206cc91791a39dc5301a227d7b62ff9ac9e8e938bf9bc2ef2ea4e518b7b188d2e77a43b8660579cc049cf0c86b792615ca289998aeedb304ddfebf040d2a9b3828896488205806b75a7f4eb90d3728398096b64f3f499b8334a50676d3e08f116b95b8b9c957c931b1c2bd051a6443adc61474377063f83439cadb1ce23e9a8b73ea84aa5c594192079fb6ca127a75e513fd209c699865bc8f6c266fae3c51a1b8e535c6830eb062ccd6054060695195231e23c1015cec202caed50a4581e38ce6a3fe90e5fe878977b2f624493c1a9e59ddc8e1a4681d642b5c048d397fe7f823d69febf902a6b60e7f4a1c614ffc5a128553c1a713cc50e7eccfceca4e8b7434574f1e0995527b02d2abdf1cb4ec1f3c9f63e579379403dd02ef1a0974fffa4e70c2a422b6c71e48c78089979005205dba57135b523fda18df731a41ed6e19ff1ece00fae160cb73266a8766a23f56180702ba348b3df2eca6c5758f832c80633393514c8a7faf0ff4eb6b552955d3615c86976c026c5b0e5ef43c107bf148ed3377f1b0e3733256292bf85a7961625b2df74173e3ba54c9c5765601e1ad5cf54d3826e8772a9a0280a5de37ba288f3300fe0cb40fb5a5060e10dd0527665efebf8199573f96375a6022a2b8175861b70c090292b5a019bb0cfd0aad2b99c105c4bfe177079e9d850406ea403fe692c1839e5d286240032f76abf106415a93828dc00709b4218f0b49f2df258a483ca1c56830fbd3f2353626109168c776ab3f309dded0d12f0bbecef9bdd66d0f30d93b695d3667c9ad9774bba884cdaf532b2ffe23ea0a658775a5ece3d1f1e5055f40a0638ec9e7c40e0afcd809eb250e8fffb804e69f70b10b18b5c3ae82451d20e06122db41b2293c876a80f95ceef1cb270c0c0ed2906098bf86c4519eb8c8a87a49720cbd479618802b97bd49242dfd63fa61d0bc874447ad129c87dca68025c6885ccacf09b519b7744687640e2d19408110bd39a394d5b54dd888ac233e70d20bad8ca4f2989bded2083dc4684fb42a72ec9fa917f15d5e40aa9269a7348fc6368f1fd842c9fff57e5e8c55e9e100dfe3c5a856c32828b0c6d699e94394a786fb6c2ee76890fc7f99e72d162e0b3d1a4a108c8a8d6aee9c1b341093036a5bf442a4aa8d8287d0b54817f0120c60d4270400684e62db722c437d184786303e59795a21ffd777f598995f2caab1e4046a8477710ec9ecb19552441abf8a84bec6b7f9b821c627e1828496a5d932985ae93abdae2386c0cad30fed9d4cdc166b78ff755348de3bd1650056c8090af8818486de180075fced494f534caf837a3386defbd343d7d95f637571e61d34077050bef3af7beabc24363fd2d728339e4f3f522df22d16461cad2e79b2559f06fe4059593290805c1c4d243dc4d208f8d8d633490963d32e6e4e8224f5b4c7d5751f04f8464bea57d47fc76f88b0a8e8c9bc4583fed286b2ad36c61c3d52f6ef3800d83bb2ca3e0e57a97828da95b70c593f8d47a2ed8096cb69ad9ba37d2b060af62cfb91a1f50750c15e9fc5dd622d772e558d135950ba43f76d2e22a851b3d3c3f20f624f62c2b1208b6c9c46080aee9e6a0f7e0ffee3a8908ff956e805aa40fd0dbcb50ef609ab768d3bd5b10812d55dac36d5a9e6ed59aaa4cf17b6cb6684e5db27c80669b25b3045d40ec7c6ca6ba52142a67eb0a6a5be57122d4b4324b324650a839c22e345f8e8ed6d995883112ee04388ebe0ebb259cc5c72e0e58adbb0624928569288aa1b3c4fe23cc3dcc571cbb9b61514b5d3697604a364f7ca2a02b2be7fd1cea21f5cbf321959da5c8b3b23292334df04ee97fa67287ffed65516c5434584b4c1676942235ab519af35b540ae9e6efbace091c9ee05ad52376517474df50911cc3705513f4c48828944940d257911d0b5380361668a87fbcef9a3328575c989633d7339c4cfac846311252fec5973042cac360990ba89f751aafacabad1cb477feb3fd853bee86951e22c56423339e3bce79f9cb2b8896fce60af1a8818aabc2da43980ea55c387d7d85b1ce4f768ca27b96672a517a01e5ab1dfed10a1908a5d5e80259ed2312d78e8390886f34d304ed4b8e1fc003ee8320faf71cbb084a24033beea2f8e5b9345d31689054ddcfa23fccd636e9ea22bd22b6176c0ff835b21f8395421e18b402b1e93131e87edcb56d9ef2db17ccbc29838f90365842e03242a5aa5ce96002d84abfed90ff5a465035784e77c13a401a76e97957f192822c4eaa4289040ac81e2db43ab1eda1f7ccd7e74d5051559353e744fb3ac433c5f366426f38340a0d6bf93923d8786bf465472fbda02d3b55ba0c09b0a1de8801ec1760cc2eb68a9561cb225d47dac84f0c8d94b2551aca4890fc67e206cba8958c0f04b23d78590f269b0aacf2ea838440b02a3a46c6851dfa941a715d1ac40eb4cc39b2fc961ae76b1eca376e85ecc0cd3ad0c576884b3e5ad9017fbcc354e940591baa9319c3b303a859440140f6ad546c8744ed0e433e0f34110f82b880f4e8b9d39f0a0d9274a8ae6c374857a81a1dc57d4ffcc26cfef435065608d28ada81a391988ee6d8ae3d126250a97a4e2c01c97895f5657fb96decb14687b481680eee75217924af614d5ef308904cd4596412b694a3d875109f774a1500013b680cf35806dce2a7071f4e7f19a1bdc5f8e2cf11e82d6dfda1998e4e3b029e33128011e52fb6f689f3c1a1d9ff5ee50ade82c97363a91d372a542829cec91e12523bdc951486662f5538a503d43b34d8be5177aec911e88bc3990790bc1cd9db1bf2e31da53b7a846c171b08bf80fae55f628881aa640076634657d6bea4afa28e87ab932e49e8f0472ce9ca671b1b8c23b8715a6fc802705fae456f8cfef60319375b333ebf29e9f417e2524b6a5f171ca333375f6059cb7b0f2cb101223f3bee09fa6226401d3e12b0c7dd82c16241e4e9faec08338861cebc376f37fcc83b11a771adec604751120eae6186da00471d8bae741fc8cb18cd43921bdcca2f44829a6146c4d255982e2113a3964291e0015d08de28e1a111645ca0f8bb4a129278bc50f52d52daa8baa67d296067d2f6de51772418a9432e0b7892970ca2583620079591bfd91a713778432a375a338c7182cb2f85e6a98e6fbae964e24d0261c9f602f24f658f7993af6913e01ff0cf8c2312d8af44f3b391965e4362989a6e8c06fc283428f5376f1208dab857729ce9456daeb88881ae57667cb6887f1e13e54d52955b7034505753e8ad892e4146a94ca288810e1fce067bc933782474b61876a1883239feafcd2f759d011ff49c6723adcb473c4a4e63571366e856902fcb867d9c256a21b6acfcad98190d9d3bea102c2fa8155881ff69a5e2bd59b40240945e3170061214c5054eb92ccc794f09b865e4ee33f7af74d622147b8e26e67eeb149e3838b21b73a12b526ab731bdd0f955407c4dfe0b5e0d8a5068c5f208c518b98ec1c6e4f0687b5b7a1e68afd1ae44bbfd17db83f6a7586d3db2537e47db88f1fe42a540dcba17b2329ef2a69c004f62c1cc1bad54240ba3c78ac507e491c011db31850544601d1fd58b4beaec920d65ef0ba48ce2609e2b674216a91483267c0f41135949466f16587a3f23a63206841f91db601a625cb32bce87f1f5c9bd6a96eed8e03c6fef8a88e3b5909d7bedea1acc5f280e2e84985214b15738314695da8cd92c26efef72ba844f06010b55f527a91d2270af968121a4988c042165e55777917e141064ab08890c7f9b4602436f11464a7a5f7d214c511ee73ab9af9eb117080231721acf2180824223a76551ed3e808ccdabdf70a7cecaa701873e9707212e9ac70b11f9de2f3405e07eeef03594376418c94192308fc2923b10881f8d2ef9532db0427e51250b0277a652a310263ce676a50245b592ecf4018ee6e62f5bd4f89bcc44d6b213d49ff7d64a7c73e2986d17f62c376c09c7548c24fbca8515fcaa184185a8d7ff527143b83c15acfb4417a5589e111c9d1dd39da9d8517b0af4aca7800a2e176983a5fda957f1e965b1ca26aa6e95701a228f51cf861003621492139c6542c64a069fa98af88351dc634368be5019b0ced212d43c4c4060688518feb08114c53f107f216796364ec0054ebceaadf5c0ff719be4e2e7d1f2d6e5f367deaaae01a0e40d1a4a403a342a295709bd1d93c8744c4aa5c4946ca762d44913afbef13a90312b6579bb5a0139ac020d671980ef34ecba435c77a04bc42d1232aa97e1ed35d065065d6de6a2237e20406fa236273ceacdb3941fdfcc3af5a9065f5473ad7f9cbef03afe1f80838561342d5edbf38b8ba28b869f6abbe30e009dad264b0534a1b8d297dd4e4b59aeee88a2f96d93c8398ca52016a76b2836ebdec47a1d468315c84da2925ae8d7ca8eab553c0aac50ccebbf61d1b215c4d2aec98c67a866997ba51271aa491bb936dbd9dbeaee98e0d96df5b34268739ccb79c2a26c7f9807f126327961052252a630fb353053c2300837a750815e59c3fa9d6a8cf5b8db05278a915b3c48a9c2451ba0fb4653c4c737d0d35dd694e6273d1f075a6478e7a2e3128da70bd14dd717b3f4e159d0a1c18ad086bf7014390feeae0a38899239a937f0eeeb47c9fe57c9ee5d8ab9bc8c44453719db4650d7078d066d80d719799f160bd55e5444ee9ad80867e5812d476df296e1c24b9b7426fedca1a3ff5b63bb6338c262fd7949e8a25a0e5a40689ceb930449051d71aaa6ab85012d5fd4aeaf52e9c083e3fa2b6c376b330a7caa026b802c95e7c0197274300b2b84b2e90f5144207524205689de9ce2ce20a608e8fd5578fd25c3953cebd5ee4334b3e7a949b6be582a3ddb3fc731c5145b10094d7f2190a7c1fac67fa3ba32f8cb2a98a549f5f2a5c8c8405613665fd503f7decb1714dace2de76f7863e76834095c5c4370545cd58d7a58f7b7606dc51aaa0a6c0353448db40ef46428c4cfdc1fac8424505a8ba4f5bfc75210341542117f821aeda6f75e90d0f414cce706ba51f3502b7c9e423f65003d060fd4792f28e413099b237ceb7dce232464a533874094f5911ec71657a711a35ed6de028a934b46f5830a281f61af6b5e9995530a5ebc4187c333efe0e303540a78bdb0a11ba5be5a79f51a44048c7210c4e928974ff7569d8ed8c4eed812705ce99e2e476b1d0eb4e898fa0f597fdd336bba32950cdeffb3d81575f2f691cfda029bcbdccfeddd6f7f97db21c74196e708d6f0ab8ef0f7374fa802f98263c94b003cd6b2d79770b89ed8ee0c1eb261972eb42594a14e1518a27b8d41c128c9f7ee5c6cb8f4cbe91a1f8e90227e20dab9ea437ce4d23501fd95ae5cbcc3e8baebccc8949c392980030f524e3c4a5d28e2d8533e1e8c912d6c3831157994c45c7812180179c8db4ca56fbce215fa2893417c4c8a9f113f621d089d796b65c5ecb411a1105dc6a20ded267a288d481397aa2a9c9246fbd3ddf6a8678308349f341a980b9a02b05f8f0643ea36976b3e1e8114c156c902e29517d41ee22c6d11d2038cfa662352c4fcd0b700606594e9ef8b5eace4df47f1862dd8bb6501827ecbb30edcb140e3753df936884bfef174087a6879481272511f68e76817e7b4a4c462609594188a85a0cc220b6c189eedea89050ed0549cc08ac28d572d7e565553378e41f8e8b47cbee23752b41e6216c57c1b1cae0c88f92b78ec07c14c5f7c2d78a68a2aa766aef5225714cd65d3524f55135c9427561aa1327473653b69d8c9b08f19223feb0a54829bed37ce1ffe9838332bae07b92f5662083ccfb8504451ba9177746c8302b4d23f5d05322e8bccb4023f50131d47f19cfca581425751113d0893543f39c0e2252e5a79cf87f0e2068cea80fc4c4376126577950a0155ee8accaa3613c22e7505fd4b7e82cc3f15667ad005da99699107174e06a32f25881eafe696ffb4a8366345bd5d7667a7960793ecd260f7c6be4bcd82e2f99bd456814f876d16be33e40da2e39ddae21d863ebc69a286b2d2c645ab0f755f094f15b1ca7922575f93c208617fb2d492664e24e79a32bec14b197eb22c59aa152960ef3b075b92059f4e5d1a27ac1169bb25f4d8e46d39178654e9442155696967e2823e1826cf0028f7df6d380283728af9da0f6b1fe6709f5e72377346209588574a0d3172780b410eef578ac56b93a2468e79e0874241b7807c7883aa1e00f160ad97b2e14d09e4f3eb7679d3e8f770191ee945319cb98d3bf45877a8700ca40511a4c3d279d03c9f5fb16c4c2e4b6454a9c8d6f85c47fd8ff3fea97f104a56f18c542417510ca2d5185ec2f676f8367f94ccb9d8933055b494abcdda0a7db3ec125767f4ac64e33161fe3aaa6a81636fdbc3ce43ef0948e397569263f141fa95e420908b7bea7fc60f872e21a83ed04b27fc03a2f58b3640518dfbc06172417a7ea348d000a64204a406427d23470a7a5114c4e44adea8ea7512c935e27d6cbde087e0deca1443b888a4f6385c6acfa3d1d06f9061b4e417b6d908f359640b51a25fb8d59d2801ae1c015af4169c6ea0fb2daf9814d8c24d1a5c3ea02dc728517f693df64b517c0dd863cad4968d6fb9cd3420d5c60856c670c376a7a428f84ab9e5ec6f04a6819c7e61e176fb2f9fe09a9a60d0228b6d1f45b4e672edff80e841c8ef3e570ca7d6a9a97e9fbc32c55003ec7d72a0f1ef9b782533c786bbdfbaee166d21da41638d43809a5a2d1efbdae9d1c631bf1d4c2a735ae2dbe770c1876d78f2b6263fdd13e473a1571245ff4c5550de46475cfa651e6f3020f97fc4ffdf9f56aa9503445c37ffc362a51f147b5b9c14e87d32a2e95b7227c171ac3a9c50657d58de964e92d722f0091ef1eefbb4af94372dbde3cedb34abd6012009d8e37c1b9517e7eadb584880864226cbef982a8d966f7b40e1887eb4f6a8dc112dbb7284aff7e2a1365b3c54e6961035174f000a517fc543a83297d39dfc072f24a4976d3284f7f4903450f62f82218d38ffa9e8eabdbe02db8d260c2fb225c589b296786a940d8ff7ded8106a59f2d42e9db6c704f99a1b2fe3b1039e6243cb3a7dc5360f5f66998cfa5d0302012936cc8b7731065bc29ecd77cfe703f414cd8df35e002adb3929bac3a4565cdffeb385c5fdd7b9f8ce138adc8da54bd7dbec6d8d8192abb20547e84fd73757ed9f9dbc0f5b902f8145bc8a91d0c15f5a00db4a6ef5e2f56504c276a91e2f6a3901606f7b816b88a1bda2e33e6bc382aea13d9004a53ff7ae5d249246016f42e0786cec3a7c815ef8af82b28c165cde121a694ae98ddaddf2c1f8e97be64a294176075e224f5284a7ee144add84e3af11ec006d5ff28fd5c0f4e2c775c61962bc2ad06d0b81382c7dfc5461e700b16bb7788fcd603b4e2d7e4129a52dac3c434ef925c92cf29e1ca2bc6a037ce3a59f75096fb108ae6e566392ccbdd89b63a77707b77dcbba40fd947a5b9e22de1ce80ceffa9a56e7ed27c149980c7fbc031f078a3020312e7f2942eb6b3879a01660a29a4143b14ca7f819f1b0e7d120ca391126617f5de1e46b22282def70ec2baa7d3bbc64035cf9754d9b91656b9459be13791be9b511a1f50bfb48453f4c58f6ca69671431b8da33cc3e89958e915d7fe0398bcc58d9d8a9765896e4de5b5c389dfe67d0c654022b41cb42c5e9eeace50e65e214e65c2e200d542c74f77d4eb2d5eac5558f24c9b64e8567ca35e9d0f2d98263fd2976eb345689c3d109e325d7b5abcd93dabf4524befcfcc5ab8f85b2f8162d2e6fe2e2caad74e1092bee957124430f45a36eb2d965755556dc5aa5252ba5c5e5341193fa6a17af29d3eeab6b5b5cf1e4f21678ec4e1a44b1671a4db0e448a32fb7f2c491be3af4bfbd867879dc59efb60add5c328a83cd55086a4ace3e4dcb797eae03036875bcec968b96fa232233801ffe675dd98d565e09a7e51a4ea78c5b43630538c844548e29cb461908f9035a6c12029528f87d63544a6609c83846d00a656a52131f0eecff98ace1c93e553148355c7ffc13c998789f4327b0f74c4e7a603ed149d0e4e41892e39a6872d2e20606dcf67d61486827be52c8d38fdea8582210b5dc55ea73866dca29acaec572171965aa34d1921234c3cc723d80cd7bbe5d77c95de99740e42a4942a495630d618973b02cab64d1000a6561f0e72ad2dbc0bbed4aedb95fb51636cd87c254c3b9b46e702226ccde6880e958fe17e64e65ae14ccb5de41c90ce3912314e4519d6feaacfb57a3610dc474a63bf021500c5c4621c6b7629dfa0378bc41c1d6abcdb2dd7d35725987aecad0c3fb6d444c046a5cc889e5800dd9ca89fbb90b9839d161d0f81625346850f6b81415c4686bdac5124b9272ea6471427a80fc9000f35bee312c5104b8f30e23d32e2e04e4955977ffb9fd3b096ae5a352c3bbe368ed326a9b3e8dcf68697024e3147c8cf6da8b4b5d77e1cd0d96f9ae88e8bab5c31973c23780e8eaf1bae3238e9cbde62eb24a07ae3a0455fbb36883c9f7d3600668d7c4371f285f628f87ccf9f54ea4e6a222aefc0a73556a03075dd98669c4f96a2919335219386fbbbe9e25a9ea676e096a347970a3f91ac5c26cd2704087acc86b3e94c042a1c1776974b6c3082586c8e5fbd050a9c415d26064e4fa789fac959994cacdc00ed57aa9bbba9999eb562177e10c10acce89c31b8dec4188ba0cf5aa07bdc58aba29394ab837d0c70e63449bfe05fecb8742cad83af8aa26de33031d3d6032af48c6e0df318b32db82685fd627badf83c9475f5032dbcea1c5c0ca4c423a35f2eec2e46d44e2c69b7ebc878881818799e460e59072b7c7cedd8a08e855f355c7a888ddaf560f2aeed37433a79634bd320bbe4dd468a95979f51335f2b91a6fe8404955dfd1b7fd0ad3023a2235752c1cf6ef27b6f0d90a2e991832966b5fbb8e3017cde4b463372ad7e0f146391a43c2f4e1a87d2a16e99dfc548b352caa8fecce70d045a74a44de321bb1bad42ac136c47ebacc426395a565b9c73042c1e878b3613da761fec3a00201db7d0de50dbc3f592553fff6f463b3408e3c7243cb3e7c52672d2aa4b5e283d1cedc4b118e5fe2240cfaf497c07cba87aecba31c0a1804b88fd673dff77ab33886a4670d4fd6aa04cf8b90e7695800e92452666b1d07aa390cceb1b564c3a442581984f1f9d860984717b42519faafe948ced91c57244b9f627304fccebe9c283c528f84940481dd16afeff6d7d73a5872eb54ef5f0c7007b79892d1c2a89138d2e3696b5fcab3f63cb051efc4e1e5f88e8be519bbbfd65259d8bb07d2907645bd9a7cdf3d7257a1a2e150e86febf3c1fe2d25337e3cb269204027cb53f0d2a844ac6a8b9b5a3a46d9453c824cc9b5c9d73fa4cfcead6b2f5effe6b1e092a897943b18732ef196f6b2698a6250312b4a9b4e549869418ae2c85baa8256b63afa858e35e56bc41326146c9d190c6f0f595fc98f4042b96612bda4a1d5bd9f309d26a121534dc2faca4c0e2d8780f459b3ad79ec69ff8afb46b9803f47d133317bdb8cfaf9609d72b7d67ddc7ce1734605fd4a3674d39990c3cf621db8b229c572fcc8be4add151dcaf77b73e28f8a30bac3b68776e4cbc1732717fd957a4f778be4ce5620c53c5844f839d1f5bf7fe3bc09bd480f54e86c2a8eee40c21d722b69e785c59e106ba2ae7c911f7236baf993f247cd4388d35db327646d2cc1c89a1f014cb5127bbe9deb677efccb904285dab8ea3dbb0d42f3484cfc03abce2ef8eb4b98f606022d91303a58bd203fb36b711b834dc45f2aeb28b031075c82d3a7c21127575704cd9311094aaccf22c6d5bd4325c59ba5c3de3b6529fe909ba03c0c64a141c69e9c9863f9eed1076b6a20eea4335fa2d3c98cf5e19d89a30f29f6347c14441d0ab404f975983b01326ba42bc4e02f141f731368412c0333dd8511be1506270e2bc671d8d560d53bc13947df0d45304266f6dfad654766e726f78409dcbdb60eff9a6b28bbc58b4407ed8e4754cad8831bc7b709e45496470181b4a1edec682e00912581e8abdb70d5db4338ba8493c6356ab4476a15887a93ca481646fdb7d36d73b4e17e6b686cea4195de5b0900197f591102066b26b31749a27ddb3573feba437ffb3c6c07e5951a77eb27475c17dbe9e89ff4f84a7b3336c68ba2e66a8ff6569914078a753f9a5350566415b4f7044fdc126cbddc9a55ce8cc3763f6a35c87a9e23d48c9843a0964f17ce4bfac36386bbd512581f96c18c475db274315cf76b6f012d47a33636f5060772b33018943b06ee663ec80ad38e035208185b48eebf90e13e6ebe3b626da722bfdbc32724c5949ec82bee7309d06b7ccf7be65baac0c3bd3d069890851b36ac2313df2d912a68710d6110c6acc72e3480f0e2c84644396cab7d7dc45b7c53918af58bfbbf4194531be5b3c1fd12e5f0eeb054fda0d39588a9e0539ef4fd40520830e191b740217c79d5ab2cec2397a8f0e37b973e7144310d2875dcff49053bdaf062c59ac94d0ef4e485cfd7d30f3b18733bed72e668faf8a7a863c9f0f7c2aac6d9889b74e6d6b79c05deaa5b1b00f12532a50de8ec8051e8fa94000323686dd6a5da2f78c3fb7214503fc01652d62e84ffb90567fd547944d2328742b61fd22944d9013d809624e8d2d29ca4d57b9751edff30424d3424b243faa09ddc9ad183ebc2b583b389cb14073d45436209747f19613bf917800b0795e4fd5e991e6042f317edb2f1cb5055aa52ccf82e0fe61fdf42685c3335fc817ba0d3b5e8033f4e27c462da65eca4c406702dda9ecf8d04dc35ec1992f902e43bc789475799095af7cadc71f83b7b219b6e30ff3d55c39aa8176967b9291afc6824fcca325751d996034fd99cee5fb18b7e9ccffe4e68950d21c847c7de48ee3dfaf90280d526783b07a4450323462dcb9c67db3db6976e77e3c2bc191d621ab28d22bca06e8c39137820320368c023245f2fdd8342058a667c2ad3e01431aff06cfcd008a927c9c8001481883f806beb93f6a54cb253f7d027c2a68ebc2e1af000ca5ed347be5e3e2bc15dea95688a66d71a8213cd44149610ec3ca7bcb571f5dfe280b3d4f455c0ce0aeb36b15ba1cc4557bc196e03b39849f537a195efdac04b1004f8897e79a65e1885f885f549272d8610c4044343c7b953a91cf81b76b94e52a9e2e21741a3cb9c94597e92158ae0482964bde2e3b4b838612d338683c1cf291117688c4ed23b16c44eab9794213418c82cc6c788c3396af060202729e57e20fa1051dc46d5714a7f5c8c18a141602723cb4f6daa508effad2c39487c00c6ca34fe7164661bebc291f5029de1d4631af10a84f27f0bcf400ed5df4d5e209f67fb338b03a8dafe4d3144af5dd2abb76ffe73c64da815f44f9ede0d8b4d2f5dbedebdd9e7a05f746eabeeefbd64f9fa35d1a30490668364ee35cf88ff6af9766aacf3573ae7883fa70ed10960b862be95279bbee02ed52466f587ee8e1a2b9f2a0a93006abc1075fd1c5e7d76cd44f049a128b73d0d166a58d61a1806c60ad301ea09b07a0230b35ce270be1c1f2d59176766fb9a591b215cb06371a204a34a10213749086f831850e4652b0690127554e568fd1b45e4ca86bddc17d4c57177522a160ccd6abb2dd34228663fcb688f85998974b11c882c1eb29adee72f1274001a0bf623642f2552cc9b094c2f02046f4c442ea53d62241df292014737d69b5f3d13f4c42682386024fa55f0c26ac0eeba0202bb35cbc5bf12c32564ff6adcafe3a1b30826590fb99c579dcbbe3861ceadcd58cd343e651c7a8be66b7f7ce2337c5c664bff4c18aec5f2f700d3a98ea8a1b668bf570a324fe17464aefa83f16603761f7aeefb26dbab02470bb22e79cde9d6caf7438501084d063cf1a64c781dc3693234d6d59b8cba6e0a179e47a8177477cfb3824bdf26042e021af3749fab2c84e9624ef050a66957546543cdf1dcb8892db9b321361cf0e3b3915175a58a67797fc4a1ba4ab836b038c894565fbe878b90296dafd942a621c0cf03d6e5e8243e40e6b693e1c0e67c3354670157bfc850f85062ce6c6276ab93d037b60a4d7e99bebda31b448a5aad17b00a308f51a12c57df93291d207476c204bafacb38b6893ce4d94bd2444458054acfce862b9c636ae5c1f4bba4a649a505ee2afce24bfbee38ed91e2ba7317dce7cad54fedb413391190450864359b9ba9f218cea69a34439724140a1d5b1ce882091d331a073f9477b30d6e2ec1ebd991c9e2a195f3b71380516610470473c68b00536200761e2b2a8022f618cac743016a045b0f822aa64226f5c1ab2b44a558e9542f714bf0b24781b9d2799c13bf711f36b7f0bd404fc132565e4838913c6d13a1e50b7a094f50af689954cc02c874f63cd55e16bfe896283ab15ed89c079b1ac61cbd6c025de40192075ad97b36d65f597f9d00faaae8df53811a559a3ad78c24c1f0fb0a743e975dfeb24b760bd327f6b40a614b1ccfaa92039692345d8283e7712c6cea4ef24e2b2b39f6eadaac073feb1717dfb4fa8da0ba462f5a975714213c88d9cbf886904af9f92995ddd4ad6f18b7d7c80359132001957232f2e1d6b55f82ed8fb3f30d63c48959959c0691c645903791038ea8b30cdac7b40efaa09fe43cfe35ca3fd13fb7bcba5630d3e873765ed39896ca4777cd55692d51282655df16952aad23685cf1143661246abd902709895469ed42d0a4925103abb4067a5d3bff5a0ae7cb9780b124243d8f198baa3ac4338065a5caf3165011fc248658ab6d9616f4e0a0386e2e4ff92e107c2c66bceb5494dfcbfa96ac2201d209013bf5564ce351af446e6959bc6317b8d67f38a3040bbe2be1da3a52f71b836f0ff860b212aec38dc0c86787680a29c4dc8fb4eaab1dffd31fe32cefa1c834c1404aeb9137756ca4a44480946c2f6483efe22db2563a16165756f0cae8ed71d47fab02bdd35b0105921c2ab983983c74425a64225c59d61b10e5941fc43bda46b260bdfca02b6ac37bee41f974cb486ccb298b96957cc05b3bbf2c3ee43af5aa24b33e776a0df9143dd167d26ba46f2d56153f2c7678d839e425df59012c404b2d15c456a160d52234436d150bfa60121f1d097fdf180689f4663f9af815cd2937feb88f4512b75b7315116c87d9710c1acf272e5c18668267738be50c3b91558ec7e963a8ef1a754f23ceb22ad500eb19d23e3f9a16ddb9ba612d1ab0f51bd4ab6092f2dd137f4b70b43f4ed48e984909c256e3cfff6b4f7df23a0051332f1637cdb124a21c7f4bb113374d4f1e74a40d57096386a51e15f522804d74b9352bfaa34d5335b3d33f8c6ca423c898ae1416ca043a140631501d8d9821503669131e76db62dc17bfc714e7cdf6345f5e63975ec665f02959080fc89b3c0f8c6b0f25d0292ec74b12b27f7359256101c4dfa3574bed90d7d95921434a2083618da8e959c2953ee50713ee1d181560555f716c42c827aa8ac580ecabb7d46429a7fc3100a3636a823b638e56d0f8557b91ccc341d559c23f1d741b5de7ebcdd20f259ff4a0d6ad9125c308a68ef079f626ee31630ab8eaf3542559b4b273ffb388193d5c4d802b9ba551c4474bc2432522d984c73a32dec6979043df978b10b36cc26d81dc150879dd4011033309186d85aeb1d734c9b38c75a60a470d58f6464e0c38fb78803bb76352f8cbbb8397f6edb4e3c0062a79ec6ec99344d775341afe044364389419b0c8716532637979d3e3ef52f021e3fb002e7ef7b4c9e1152eac1642195e342d3b893c95ac4ea1f668cbaa786340f80269d2c91e8f2535631027663144234f9a703f93c9089df151469abfb86dc22dc9096add34cbac80499a0a34462a88165a428f2e7745e68690467c23e56ea7a452b9b6f362c9a1009c649284c924da33b7ce9f75d8078e258e46525b037d1a02c7eee16ab4566afaae6416546dfd889ea49746fe67a77e60a2ad52bac6a53cffd1ad5611f3a115145e34cdeb7c5fddd0971bbc66a6497a3ca376da5784f5927751a89af874a775c72a9365cb1cc4a0cbe17532a1185ba1d6cbe0c02c6446c5eed1127ec28139c65cf841b535e02351b3d52c5b35cc998aa41501b5b0def5c632b339047ddb772627df2c17f13f9144042a7a27bb7de133ba4d4a2785d5a08212eda667f93293ba909009795a31a96ff8112febd148d8b111129c0a8ea7a0de2fd251ac3a0e14e5500945030f2f2c7bc61441e9d29ebef770044f969dbc53d5d1044b6dae14616796a7210d026daee994eb2b3e3fbe2fb2a2fab4342fa3bb26ca97098e6786b189c5651eab4d72b81c124f07bda58efe17e04273c08f6574863e301ab23543685dc53802e144a1e5a7263c70abf44f63f922da5352e2a94e43ffcf21acc744818f1ee5ab714895a74a911c727ec9999e6d2fabd7d0cd80cfb470c384a6383f2aab8c3a762e78826036bdad658f41885200ab24e32348ac54201caad4d348426b66f222518660dc02023034e449b624b801e669cde3e5f820ee366e46ddedb8206366050fa949ace4f4f1b163c4eedb79f8cb095c23c4bb0fc790258bfd83ab519a44c1bce437cfc6cd4ad36c3d5ca0d7132802731d9c71ea0eafce101112184b85495ce2e32c5393403be5f7974f133b55abdf73cd8b258e699aed5f6d9bbd5063b94f021ada096cabc8e696339eb76fe2a13645f674eaf03c54bfb990c6409b15021a469922e31ae1c5adcd7c0a2a01e1344ae53aa6d38532f53ca767742d6cd7ebbb58ca9235eeade351f629b67a01664acda2517fecffb28294bf39dfb9aff21ecc3bc90667621d221fc51313e7120f81e0f6e8172c8dd0464cdd6903071397b8d5fec78869687141fb206f481a98493727f057ecf65531a1c65f5756325184d15f343c87150f04d7349cb6a2d0c450fbba40a58699c963ce382291d5d917e38ce84a7ba123c77623de12766f697044240fbf0f29640e580544ee18544bf5661ac2293435f1be7450b50a5a45d49e275c49c3b3c6cc922a808cd0545aa4d9567c93301512f8e6ae9ba4abea7fca91a3ecd7ed785e2f5bd8998e29d0d38d0b1374c4b2f6ed8431cf892caa81d2f8e3b83fd96a6026336d8b172247950c3455b0b62bc29a3b448336b66e86a85c4aa03870564f9e7d8959806336ad248bde168a112fea9dcc6cc44c7c52cf425d3d3af54ce1670efcc60e45f9c6eae95fda12f32ca00a877e8fed0d752eebdf1243939b6bbe7d417a8e85cb1d6a08ac34b07ca049f010ab1e373ebb7a394102a9602ca0b1e6e6651c8a4d84c5e2affde6fcd77f51eaa524a2259ddf27d417bca74afcdfc1c06331d1b3b9398a4de87a1c39515b2ab14890ad248bda8c8c2672b0a4a0daaa891ae448c6bdec411f913f55f2ecc02f3003c6f217c08afdfe17590e026e25ebac46b682ba55bc7f0c51a75c15e68413a7e592744dc8621ce30f2b0ebdfb68aaad910422fd0d30ec61ebf0e3f85d3c9cc29c977cece536f13009a1217838572ef7b0c7f8210211968642c204f619ea23449beaaf9c9562010970d1ce34f22410544ec1adcbddaa2eb6e51c8d1edb81f91a69bdcdd85d4ed0b59d82d05cbd6d7aeaeed802ecd9b4444887053a0c9dd20749a3b57e04cf29dd299c4553b5bcdb3e9a7c644baf0cab224b8a0018f24f817d5a6c9f4a09c108fea875aabe665be2a10558c6772b82ecd94b68cbbb786080ff219b80dbeca3f08918356152fcb5161edb0cd9404c3eeef4e54503a637368412d3cbd1839300ef1da340791dde74c549a876b5084b62857a409876d0cdda99defb82a5be3521afba109b9ee47a9854db9cfa8f3a5e783c484018af170fa9427c37a0733eb9eb1cfc5d7bea0a5ab575363b68565fa620dd33a99be234177945d4eaff55ceb12b3dac9dde11ba8aa7a5e657566d67784c398459bcf308f95d9b6b58c4f2f333e825945405fe6a44730d56305c51693a79078a8aabe2aaa6eae5e72e6deff0f279df9d3752ebe5eb7decd69f0cdad2ed9bd40b46c261063890ed40087ea533db94c005349d6873e9ad12854ea3bd747ff5503b8bccb691366a6469a991bda5dc01cc0d6d0d000d1fe08e6da30a4043c66a639fd92fbd922b6de5f0912d1a44b9b2731a6ceb2f4dc5eac8eac8ea48af8c902b9d1599ed1263af80bccdb2112ed260b704af0828aa323a6b6b93572785278be8955c61d7aa494c89450ff05a29f929a1682a52d2f6eac606f9c7a7411d29747cd8c708d9456e644157245cf0e1792613ef7a08060141941676318fa563e5304f50d0aa0a28ee88c8d237a223d6984c44162c40f922b3882b7c7009d0da610186518c6209c0a875431a6b4c1d132441027110f22157e184210c893800ea715dd8bb2878d5882358a75f3c1ef9324f98988316749023139eaf126bc49783375e7cadbc2bc11b6b58561a892c58006154d0a24a382d6b62342050275b9816214f0a4f48b6f48011918888265a0213a05665886858b18b826771949be31349429c6c889e195059e83b30182a567a5fa31b58baf61fa68bfea374ed16a7230808aeec1737931d8c35281b81891099d43291d27f886efa0feda513491161bae83b4ad76efa0ed14db6f41dda4b268b922bfd5288019c4bfa7696c2f34e3dcbaba447ce46b5314fbf148eeef436bad38f523afa48f4d871ae57b7d7ed5d4582f390c49cd9b8d3264276c26e9a91238e708277710a5e005403201d0031911d2602a471e8d4d6a0799dc757dcf362ec251ab4ba28644f788f69cb3e3e3e3eadd35430417c8191bd44ac2193e0c9e0b68772c2109418d2386816dc3e13c146e09df41fddbffff04ef22e3d0b0494bc5ac51a51882f3d82d5edf6fee37bf71fa47b0f617464f7ef3bbe77dff1d99b2135ddbd47b9b283649988bd39394119e0e09323d359ef52c1151e60b6947a9e8e158a782585c73e52f0b487ecf34e0a6f6ad72639213807cad56ed9601bf3d62d1b2d9bc2c1ddba0dee9655892ca31176711509ce4312b375ba757a68c8847f7ca0e8975ea257fa2621fbf86cf3f2153ddfef20b1863cc5228b2da68ca873829759ee619eae095e087395607a1521a5f484b048037dc310d7a51258efa4f030ac48ace15deb1816b146bc1656876b616fa0bf78e4cb65314bda906245ba7be55cebf2c0b543870b33722dab885cb1ac21b96201792156c402af65bd6382276f09599452daacc5112bb615db8a6d6118d58237dff3b2eef099c38a60583468bd53421de28a75cb92d6ad4ec1b52c0b2b72ad4715cbda743d7cc541e339df50f09cb3e7e439e79cb375a0d8410f892e97cfec24dc697d7e1085a6163cf95fd6654d6bce39e7bce6b4e69c73ce393f67532c46dc663dded9509e769408bc068a5847be441919661db94251777aa024d370c3e8125d8eb08ef188b14677f9f610140e646043ca82db1fe269aba333052ff4ae275fa2cc90649da1eb1c8151cb03bb6c36941919badad482d75ac7ed136b7457bea18835e2953e32ec1f5c2f42be60b67d7c68fbc8971b54842ba504e5cae58a9c9773fa7042a72d5a07d924b5cf956f8cc77bfb18d1e283846b5909f4853b6d481d1057a48c4251c8c7271bbab4188a83171f46a0a10fc4d851e1dd887103a5dccddd54ac40b0450e8f4996ca32980218e12301282b808486b0c8ac896a179348b18730d443c915c9168c84b9ac0f9767e368b921903bafcdc8d292637b9373a4b4bab053050d06e03dbec498939393032413a5941d816e9ca8185f26ff50210e32c78a1bd215685125d4766e8c31c62c236152c495a6b248bbcc2ada1a8806c51ad894999734225fe89d946a3b570998e7bcb4acb684aa8846b8af795dd665cdb84d964244d798ca8cbba25b57c41a31136d22ec085eac96500321fa56ada00645efa8d02e260d8a44a26b54fe407491e896159b2422e278444d5cd1e9a85a451a140d5d9e76193521bae644bbf8b48b2512fd053dea8a4e5a8caef5c659cfc169f0f8c69b650b189d3bf7518b44a1676474e48a3e241a9dbb62640d35282ad24088de51c1dbace85145646db81e9a822884e00b417e8244616ae69639ad6759663db36e935d528b4d2aad6354661293e0abe0ddb386ba7043d49dd12a426c206403211f6448e4804f17e449895db749cc09a4899ce08554eb989b6920206ee6e7e7eae91139c10be5ce8ec809f1764ff71429c23ffc73e488c809de480a119b2f225a5409533d576a44b428b4225a165a13ae1ccd0a0d4813d286342cace62bc712a2d1a0b428ed1e9690c6dc0df6ae8d465b2d3260b6879615976f5921badc08cab377be1545bb7c6792737736851615971f7b5842302d57f0fa610b8d2b47d388849e46e4cad0d44352b5e0851e374372cdd4a30d210b357031abeb00c81cc1d1b58e8cf177cf48acc18f972bdf6f255f5097df2aae707751633c55ce46e076387e4d97c15bb8a1e95b5d290a4b8272ae3cc609d1c32d098a2cf2223b78214839f6086c17ce866db22190db71646110b3f2a56a7133ddbffa4410d2437019921de261e76cb077979c059f7138b07756c6a90e1e7671339eed2170381c989d5606a7651704c2dccce81a7d5f10635076286f18a50859e8861a11d313573ef35a68c0586f4e470f4be85a4297ad0c098232523d1308e38cac11105670c3ef90600a3d37c3b06b938269f0e46f6609c51adccd6e7d21d68837b4aeb8d9ad2f3488d5886d0d6619c773338ea75db2734dd05b975a53766e47c4714cdceca26a0935989d566be80aafdf55e165d7b26b99e6440d8b8810bd26aa210e1236e29dcfc1d77abc50e0857cbba67074c8a2b0716ee46652a86bd260764ba888287bf444b784325154c9ac0dd763a9e1c8912347b223d991ec88461fdf65c1c39eea545b96b11e0f23648b882cf4611432b919e519da20bdfc01a5e725da2585c3626b3aa5cfde4c835c7a3e428906e93b2c7808a8410fc3a70fe200d1257b090ae652eec82f50f4a9e8223a3d4a74c94e69e98628664d9489681cf2accbdc0c4d90eb96bc51855a1bdee14b0c4fb84114415641be50b2a6173cec9987ca465dc02e4406ac6b9369d58ba0f5d0e49658a858831e8b9c0d493faae7ea75afcaabb157e9a5772b829e0d4beebc3539bbd9185962e467cdaed530bbf5d92ea25b5656690a89db375e2e58b3092daa68d890d737c6a869df4ea5a45462a7f1e5d9a497c529f0c0968ee9b030e77ccb9632ecd3cbbe711b7a2aa9a49266f5464c021a94fd98046474c6dc902d31296fb494943d299b0a52dc905ef37c727b5ed94a8b2a31c6e606e0f5755d177deaa236891ad2bf372045c46f6fb23f4cb7268bfaf1d91b7a45990c75b5d3abb44bcaed7f7a4fbed4532be2d969261a94b5a6284a4d517b43aec814a5a647991d2c939d65b2077c27919ed9143de9c7678768369543bbf51caa5f57fd3a29bbe93b5c1c7517473dcadc5a9ba2364504e9df6b4824bf49754f8dfea5e84924b606e5ffed4daab349d4d4bf8819d91dff77fb1f2fec4db551aefc3bec678bb0283665d9246abeb7c815f914b53b5e9c644dfe03c5ded817df61f2ef9ffd41b246c81579131c9930ae48210c8c471992f6eb288f32a487a0caa30c8a1d92ca71d9a87e3dde947a72adaa8e524b5e6beaaf2f6eabc9998b7117a796c6f42262d821d751efe138325996c5780ff6267b0c3b44bb8be3c8682e5c3c53c285651d9d78e43b8cfff621ebfcdf1ff07f36451f600fc3a2bc015106e53b58a69e65ea631a5553f4df71644c35456d8ac664b23743a8ad41fdb337df517688eaa6e3c85c3575dd546f86d498fed99b210d88324198c7870ef2a73978a4abfcc54de48b93fe801727d994f50093abd894655334256f409429f90e96499d65525f6519eaa24699acb20c13b9aeab895cd7d53cedd2d602e0b5f17aa79918591609090909c94d24364504c9f47d24d22dcbb24cb748a42f082868650a9a266b25897aefea8dbc7735c5430d5ed1a03c0f79a34eb1f528d655f5a49ad454f56a1c450b80d746fba86d08deab6aa3ba551c19ae72cf5ec33dbb45b237296bfbcdf7ec3b4c27d91fa89b5037fd878b7f3832f4ed627d749576297d34ba275f4827e2bb8b3fc07494e5235c1235a8bbb0375c44aec8a36c03a20c1b912b2992bb902eec90548eeea79f6cbc512645625334d977b00ce9a2f3315d522165dadbabdabb9a6a9ddb4b34a8bd7b747eba47363d69e15db7e8af4a9bda27b237bd578dd7b2406cc89b379c38b0531d3636d0d523d4911dd1a38661b2bbbbbbbbbb25b71545670ec7c91da257daea0669da05e32e410dab340d765678988d211ed3b23e82dc10e0aab7a1260f51e502b44b66fb30de95383786a0c1ac095ecae095b6001406a600e0658157c182c7bc8301c19ad64c0090cf8d318b4025370137621ad44246493e4030e8c9e813b73f045fd876831e694d6959b2e310644d49859a6e19e56e0b7108021689751ab491bf69b0391cd22a1164da805f40b9c241884ac04060d1ed26716aca90774c0d4e5e49b1daa2e7c42ff10d430c8564de6126282f314483f22648bbc89ccb5c5321b0a5b9d120689d7f44836dd9470976a2c146f182dc3410411a887e18b778b92157780b57b6cb12b1460ca245f3991b0287e606cdfc8d59695693a65dac1e9a1b43c4d58d2168e40d1ac9bc33044db442484696a0178edc9e1c1230018715402e80d2dee821f55c17765d59cb27e8af298e0004de810d60a082ebd8b947aee87013d3765e986d55812b81ce88a3c0888b314ac9755bf0340ea275e8c66ddc8ca425c08ae085110887f5ec92cb718978b68d7bb66ddb364d0ba28c9ba080113c749827649f4b012378c421adb330fc6cdce604279af3e221578e40a7e09602f7156e9fb5e009841dd8801b0628157824e80f708e65254b26349eedc8d0916e0bde451740afc6435a1633d1a0c8aa363c33cbb2e250667d32563947beb0e7ad565fc0e20b1e1b29b2ba5ca47796e882d73cd4130324ea110f2eebb228ed6e0b9e7c48a5240173105d02940d60705907354504e22300216607b7df81c10b5955b1215f1518b73e8160c0f85cb58b75186f6e06866d6f1eb91a6f30aaf54c8693090fec1394b7c944dfa9c0b3c96edd19ead32ee78ca713d432cd5ae55dad6bd9a6a2f298d6a247d25a723326d399c3a15d6ae7143cc3f418f58919d734e668820851bde542502e80772d79af177272cbfd17d25d74adb2cc26007b6bbd96e649b996f2ec2895ab5e5555ed336acb53ded7e48c19757be48a6819edf108d7d263a4a9ca942ae92a35de518d37a54ffadc99828388d79babab75c554babbbbfb9a16390fbcd48637702eb54694b6951d868dcab1184d43d28852176d7a26c47b66857027b54379d5bb0176ed017355e285819d74951ae25c0c23b916bd5e829b497d5453d75cd44e8dae7115d09073fb3d602f95eea2df433f06b700e6cb3bedd231dea736f4e1d92d6e013dbce927b521f8ccda18b729dd94726a75985eb2d1a9911502e75a2fdda2255a42a13ccb8a38bb956ae92935b44eba026030a0f4fe89be5455546edccca6524e3f4aa5dcbaa994655909046fd6d272339b4ab19656aa223bba5cb1bed9cb95110ae5c995d137ebc915ab24126d56648570372efd666f5cd3716e0946985dc59eb4f032cbe980f192b581f191b571f1520f98ccf680b930ac8b932eb91cd84b6f0e870beb83f5216f0f5fb113b43ee48df1ac071bf28df12e95686f5c8ed0746ab5e9a5d3de5cf44bd664c3ec3ee4f5d159bb787fba7876cd45e51dd671f1251ed39a66dd54538f51c31b37c6999b495deb4e5aa877facb17d5717c546c8873556e7ad710e6b62cc912a536c4f1a1d7644a942b4d8fb84dafd9d2856ce72c8fdb54768d71956aa2852d2d72a5df038541c1528a08ed27afd1ecc96bae7ad779dd352bc43b57d2340eb421bd94b3f1a446b9d2030c951a82975a95973ae95ad626f5110e19a3e4cce5c03efa02b294c9c6fa6874d3b5920d716e29b28c0360a587188f522500a2b30060a5871801b02a2c56860d2900ac0f36f4562c6843540f36c516860dc1141bb65c6a3ae95dc394a35eaa19e06b59d6c6f4d12d2e87e9a3971e607f725a390fd733996c294cb13ee4ed81695a6f91b381c337eabd0bb13fb9e45244d47bafb13f79e4280aca512e84fbe949e5bcd153962dd97af25abdbf7247a9da55a2c7c852d803e68e84c04911d1dd7b8dea279df52e44652f57e84f348dd32e84bbca7a72851e27952242f4ee35db5517d94ec866a3ca46b9424d4ef2c073251b02b9a39352a38abda82110a11b852ee9a81adeb8a4b30eefb888e953a53792d827448fa20c60ccc34d6c59ad69b05443985bbaa9867c4dd79abb6d4873fb31b3218fec541e513aa9f2a5cc9302aff98cd312c13e4dbbf01037ebc099f586aa69172b6b513559bf35ed62651dd3a658e452fe72f0c54e3a9348e025bda55dfa24d23d527b3c7463ba25823c84571f57e8bb119743d2b470d5db503c98d61c41432d8dade16bb2bc2079a004c014a05d0e761be9c10d5bba511b900b6703d2192500110c46be68cd6d546bd9c3452e16f6cfc5e40a76d9068ce274dbfb35dea9bdb95cc1eefd669bb1852930d1c353fbee73afe9731ccd69912b9cf36575bb56bd77f566484d53ed9ebdd9ae91b01a4a3ac9de0c4911417abf86f4c64eb296a5d9ec0dfd4db7bd199d768f3218c5723e99183444b19e8e91d9467f33a426fbf64c3b05ba18676f86d46c6fec99bda1d8358c8dc8152019da58e7c8152cec76bcb0737aa78a6ce0a56a9a5a392457304c0a5d4cc3e116e540a37143f9788e93f202b438000fa35bbb887ec576e92ee3923e2a40bb7c8f37dac574e9e2319e47bb94fc8a1bdfa35d528f518976397944b90ec979a75dea99b8d1fec5532e048e262a57a96c7bbf49fd9f71142a95859072dd4e49b9498ae5fe995755a78f35f9df6d520099212f5e98d478cfaff5a485f7e2bfc9b57e5155262a94098ae79577505057991c554d4c8eaad18486cc10921aafaa72906a7214cab6f7e224f5c58ba35e64a7695295a8272dbcd35fa07eaa28d44f281932434aa792e51e0df24bea490baf74d44fd7ba54494e24dec92b82aa3c5c909cdef5d4359eb6d82049ad69904ba592f561f5bcdb57bd4bd9263243bc5a00eedebbb9ba759d1b4a66c8a8475e6da9272d3cf9d1651d996486502a43a541f631af943cef3cc73ccc4baba8d2376f3243ae6b723333d6791909cec3bcb2cedb35a680300e26bb1e68a6695d18cd44dac68d3aef515eda90f46853384adf4bc7b93740a213c600c4ca099219d28f38e2496c184f1b0819bf4aaa5e1cc57339375e147f6e3cbd865424494e1650410e413cf0811e14b79cd685d14ca46d971362bc5acb8961988559570c5fb5815c4bb236655f1a32500c24032bdcf094ee2821aac418238dcb31b71f6bd411410b8d8b99cff1a00091a54f35110f1a5fb64bcb23d64a8138644483fcb614689019bb7cbc3e0f23da25d284a8188e970dbd38db862d97e3b5022bc608233344081cc771322e1166ce8117f64f6c828ffc8b0c61280aeb70d039e10135471344c8fc7721d86f9d7421f455c875ef42b2c75caed694e8dd7164483525da5e43fa76d1b75a7fb395bc6ff7befd3525ba3d8ecc5753229b22e2fb5ff3fd17fdf66688c8d6fcd6dea444f7fe9b94c82651639ff2064499202a0fa262e953eccd4dca536cb451aee0c87cc79109bd6eb324afe2c89ceae3ba5c71644832c7913a233c78dc9fd81eca9c1c19a4bb1b7861ffb411f9d236f0aa76b519949393e381a0a02b39215c1c75ede26c609b10a3ab7e39ae218fcb5c3d3957d34735b457b3a3c7c893d8a0aa863dece56e72daa0c923a7a3e41c8e9273d76ed803e68a3efa8bd1e82ad52f6e46a5699aa6fde42314135771aec8877551ec0f3c63f418a9aaa98feae92e6a28e39afca486db35b12e1e2353fdd3441aec21e37277619fd82eb999936d2ba4943973cec943746b8e7b3389ed2cfa655ed12bf2435d0dbcb0816e5cd1e5de09f1b887322708e6b2cc911ced0133c3592bb6ff08a15f3a2b83f48afc66650e67e539a7c70b650e6581177374e48e7cf94eba9c439252cf43a17e09829cc8f408d48325724ca6d1654ebbf095417e64144bcca02674648ff49142308d8280ac107d9554bddad54d24b2481c714522db5934288d343834879ad02e37829a43dc39b273badb0877c9e1e02c1a94468e342839fb73a36b29be321e823bdcc8e6709739967a9bd56c0e1b899ebc0574ad9d0d8885d34098a909f75c8e12023a4c50206631148fe42c7159cd17b3a4712bdc10f464cf90d7334493f4baaecbb2e6a494059e6a8a9e1d3a3d0f3beff04e94320ec93824696a4d830d818e06ef9172678777e83581c7379ac06b21aecf4b1530358f032f6ca15bcb500cc070af4b1b6cc4e36bba943206d94006524ad93384848dbef238e695565a140a48624580384eea701205b73fe2acf0a4b4b42800affbf1aceec7630fc3b01863a402cd82070633dcee501a3141943ab106e9f6e512b1868c4ef0924087304406abee075eb7d6ed44831d5ad6459695bdb30b719090d4913a2c14c45634d893852e8c8384dab2edd346ba053da0152c14d46090159365e0653746e10b3b97de08852aca7043a9734abb1f8fded0f3dae5e27b3dfba1c750649779b4fba27ba48e0e111f78611701bbeb81977dfee2202b86481df942a98e44a17ada091f4e47bc02097943beb015b8b01ac32a0d2b1df0e219561e11915a90d1ec389efd46acc1345b852537cb7ef9c23da335ae64cf4899e837cbb22c93814862dd10bcec2d121d47ac412f7ac4449f3f222afae5cbe8222a8a35ae882e1289440f518f2ca28b56b3af9f3bdfd66ac541565bab15afba1f6f5eb62e960bcb88bfc15743410eaa04abf1e2c4970e1212c19d8f581191652a41e7e39cd78666d72caea8a66a34d135de22f78416a3d51b16d0e5d32ed867777763981478d564e0ee425fa17b064dc1eba0ae071e876ff0a6c1d90d019273ca39e59c3ae2151b5022b2ccd5cfb68545af53495f702f9a827b65bf885cb2e75ea73af2e5aac18f0beea5839d7b5d3a72e5ba72e4ca4575ae8e091eb58e5c0d036e9eeb911b08f79297bc98af21348d37e6ab797aba29e8ce75ca735d44228b46a45d929831882cd7fb0571c6f5eb5714fdd24df4caf56b93a5ff18ddf41fdd4bef8bc8b58d469ed7fd87e9a3ff285da68fbea3341aede83cb9725da467cfe6246da4efdff6996516d68d9a475e3cf72272af6b329b2755bea91cdc4927591beef1c6b95dcbac78334b77bc4a79e4caf5518d35953d6e96ead0dc68f07ab704afab4a8317d5a13c97cea57363fa8a54a781b8761a88ebfa9c8217521daa43777ea84e83d7b14a9768f07aa7046fbe2f7922cb751d9d0ea863434b4bcb10ac200ca39888080721b29ce028e35a50b4102c2738084b07910791a52fad137c99999bc944937778a6c54480da85dfdb39c86a3eed9284e415a420cee01dcb47889ded3fb073ff41bf3d8c467c98fe0777ec3fb673c7be633bc5ce7d0756c37d3bfdc62d40d403270a953bafcb6ac3179daf5d9b1485952f8f1baa3090b5ec8c468e3062c4c80e4d50504b4b4b9096a01b53aca9112187d2d58856814601980970c5d03d855e9980b2c093010e6ebfa94045acd1de1d3c30782829e4b61c566d86cec26d1d36dc3eb7304fbb24c11d841fc4194df44b0ba157fa3ca2cb41f2a55fe02386db35b894b2cf4f378517f6cae7dae84abe50cb478eac8eac8eac9a87e7b68e7c19bd777e7e70a7ffd17df41f264471c53dc08d4c88c20697391ebdfb0f7aee3f46ef3ee24ebf833bb52354f711dd70b00ae72494a0d7a2676b74aa4cb9494d29a25d522e2b8cc3203dc6c37955aef2e67498bc761a6fd6d6d9ee16a763be759cfebd5516c7c97ef6b347a9e13704e9a7c73edb93163d5c277d4da3aa7f55cbb6aeddffd3fbf36471a09cde168a9da718c9e177f0065fd2a7ea3ddce274907eb23627e77fd547876d6783307e4bf2e6725c671b1b8461ed59e531ec6c50c5deb60df9d6d76a4dcedc027e6874137133a9936c8a35317911ed6262439ef61aa9da4a43b251f3d495e2d339bcb9ffe466529729c7e9fa3d9aa05ccea9cded7be474747d6c174e078ac9d984e4f1646d52294ea921f8784a557ee4ba0e0338b77b887292bfef89dfb3865489ab8de0325a8dbdf27721cabd7ffdce00dfd31907e7b8aeba0aa7b97ed610c5c60a78310a49e0b9b10a2ce8a06eace20a46aeea18c009bb76ff2a8eaebbec6cccb65355fdf4785321ca729f6c08e4aa4ef2c835de53b5a9a7ea751bfab824f76aa8c4253958c39b4b729a22483dd8f690c0a8cd005f00bc391cd18a0b805f35037d01606d487ebab9f3dd7519e8dbb7e1a3a05c8b5c67c39bdb9d6a38efe934631697bbeaa349ceaac774c910567db4e4687ca8b10e29eef18ef86747be6c16023d6dbc62e76a96a64747bc90857e58e8125d9e85402fb5da559224a9df6725cd7fdf077e9fa7f7e9f35dd7755d77ba1d4ef7bbee401637d331b2abfd538de9fe2acaceaa521d3c0454aa4ba07601affa9446aec69baa82df17019e3137930da70fb95279a796ea5623c041cc9969fbc7c48628554bbba0c0cbc3b40bc965d7398620b7871bab30f4852b37cb8a1924a9b8ab06f976132ebf08085809a47a87f3f64395f5d157f5b656caca6d68cf2b96c664435ab227fdc7f8527a0f8ff1c5f4d46354b9a9962a0acaeb69fecb3f860d69ea87a162c378e4de863eac131ff2a29cb4f052c2efd39abc7eff99b361d37d5eb63628e7a9fa7cf73ff4615dd56fc33864ddf908701028d64675fef7916c88a3b236ddad2b391dd6ed6c0478c6b41228023ca34f15f5ae202aa741c9413aa659db4a241289d4f18ffc674394d00f47a39d8524a9f65948cab692f490c49c105d035a463b48d2325c5f5a469e738248929324f8087010f182676e06b4ed49a0d355352ce2aa6e4d8ef2699deaf37492c734cf9a624d8ef27ddf672d4955c31e60576d4e87b97cd4d9c5b5e8d1e89728133dec22ed22edba889bb93e67777737f6597bc05c6b8bb1273773224d6e61dca4c2b037792aacefe16cc3184f9d391d26b736df3bedab242a26e71caa77ffaaeab38645dc793affa9d351de7df3fbbe226eea646fc322c2226ef7eefcf91839e74bae3a9fcefd6500e57e07fb64bff3bff37b5e751aa2fe543fdfcc3180ef770ddbbeaaaa8fe9ae86dd55f6a485f7bdfeb336f5276ba3f2cef6006fb52ab38718d687bcf626b78f695b4320d7e46f36b9b81ce13c77d7b0cdc464becf763618fa90d7daf00766d2b3b3618a090c1be25c93a7a42a0b35289f626243be269f264fb966527928a5b290c95384303921b9ea1acfa3d4b0888b3265787beafe9d2b332b00e786e0659477f39746be686f86a172b2d5fe743a9d6d08de939dd6e6e42a1c2736c4b927573d46a29cd89ce420c94e545ae43e1be280342915e551c25049b128a739b1b721ca9e6c787ac9bf9a01bef3dd9dd6a6bb8a044777d5635aebbaf0645dd55f5cf593936a3315805344f790ffe25db551bd6fe46ec41be2fcdc9074d5c31ee0ed3a1be25c15df9393c7c8934a72931a6f0a47a7884b9a3232ba40557aa90bfb8476aa65802fc92787830e5900e6b20d6f5c1becf324d50230f76bcbf508e7b00eeff06aeb9fa02814878a984a5b5f6b81319536f6b95f77ac883bc19209a5cdda03bccc9504733f1bdeb83d60ae659d54e9d5e8163dd26964dc0c49d403bc9e05606e677bc05ceba32a036c10e441d31fd1c14bd568dfbed91b4d0e46806434cb83660e9e28638e460eb5c6725978fcee3101692a62199881f65845e48a768fa2bca3c0b7680f615cb647ed9ba65919dbc5a67aa68ec822e51736b9b3d32e5814f38631a88984f36ec7aa0eedbd5deb6ddbacb8f26d095d1985dce1aa94bfb1dcb5ad8674dbac968201cfd0b61a6f5f4ddc503bc6022f8c55b852ca5b43ed72c54675c41adbb18b721c771b7dce7293b56f35bb0847547df4cdb05b5363fa05a028583144b32cb3ac140cfa2f8aa460105f1449f570aa470b3468fcd0f2030d1a34342d72d7638db7d9b23a46cb8a563c33cfd7906fe4cb39458d57d3e275753cd7f83a7734c9cd70b4a11237f29cab18e3633aca91ec4b1b9c46b4a8c231a6e79c5c8c6796dcdc2c6d306697c5046a3ed536055e94fd29e70ab26b2292a76d2f4e5a78db46247a5fc784378f3498fdb3d34883d9690cbcd3b5cf2b954aa5eed5c61b954add398e06a934b2361ca9b43da4346ef7d137ebfd7b382fc91bd98e54b5de4a6fe120ba974e3ac9862a974b9dd6d990392e87e892be71365c7cbbc9763e7d0b07112f8df73b8d76a1ff6e71339f163feb5d9c9bef1c897bcb477a8c24d530028daa8de840ee47428ddec241903e0a61ee0b94b5e17ef052254fd990c6f56c0957e28944ff660e91fd81677836357ae91de99f0d7190fefd3b7b6fe120be7b3646d2b82f1ed2b8a5bba81c6743f4cfda7cf7be91ec0f3ca3f417f6850dd26d5e9048222c5e71356e34fa3ebe6dbf73b58567742fa9da51b5f40307d1759fd5313ae92e3efb0307f14dd23dd2cce1d91f78c66753dc4bef7ee0203e4ff4ee5af56e231a3de3746cd7fb0f1c84f7bd543ae5664ad6e5aecbd5784924d249a479b9d1bf9bfc7bfc8183e0fb7d72339f6d8fc6d598eba6d69de338cfa6729c5eba8dd34ba51a7eef4638f7fb8167749b35a1310d36e19db6182264716315433072b3d3b8b18a211ce102791cca7b07965a48d9e90abc8fca15fa8cb321cd3a5b021bc03251aed0ef513bdbb96a50f470ce6846a8f6fd54bfd3e9743afd64bfef3be974adb7ef3b3da6bf7a3a6571b393fac8cdde4564764a3d0f45e4cb4e36bcb9a77fd596ae9d6a383a0670eee9f49d90907793f7742077748a0d76d9bb1578e13472b36719697423b146bc19f7510d71ee687bf3e974396cb9dfb553c54e7221d74d6f92d76027b1df6bae9bec77eb24df316f3a89fd2e64fe3bc9937c47df2485f44d36ca95cf7be46c942ce9debfca79dcbb1ace265cee317224fa564379352bb2721a47932644347e54097b4708cec3b5224b8c2c514696f88eb1a7655922cb12cd4927b51aa3734eebc714619875332d3b3fe7b440a265bd1f2237225b6a6d8371b48ee908d4122357e4331aa0203a0c091db99288ebd91fb0bd7b3cc71a7c75cf2e64e39a22223bf69aee5a4a7bbc3877da9465dd6a6e26458475ec3b2c9bead3e3c8ec10d9545bdf71ddb23f86d458d7776c3fac6f675b739dde60bfceb666bbb1bed104c1acf506441ed30ee91f2157e6707d93d97580b8877f788549212357b677dd51f5b84d136d38dca32a741846e7c426362f4db32e659d403ca3ad9e826768f32a3157f3736559d2b2ac2925e3603c71f07d252ffd96945ce32d950ae7aa29f53c142a966cd87cb91ca25b6235ce868cbf787c71e6c93b3eccee01a825f76a77966a7282721fbe02f6f0e666bab79ca0d41418d7b4920de72d85de35956efa4ca59bbec7c88f54fa1e594cf33b15778689654ec14194de6dbad7c2f2161bce15c9b2d8b0af89a5c3d2431f5d22951e6e617f2fd5d0bb383725a592925b0aa71536de81dcaea1bca59b4a5eea4affba52894947d8d77be9b15d02f0eeda43d2fb369cabdb9dfeb336a4d6478724db7dd6c674efcdf27032d1cd39679bee752f2901e0212da16ea904de52e9cc2dc0b3d39ade36457ac9bbb3eae7364de228bd7594de2ff9d7ff6c49f78c92cba8215f19ef381bdfdbdaf4bd8f381ddb2dfd2b89a162afeabe19b62bf93a8eb3f1957cfb4696b39bd5acfd4aba8c9b49994c2693c9e475b63f8102504d9751e365a926ed4d00d890fa30c11e6c08de692d48629f62c363d686a86a4314ca7a36ca15d5899da58e54eaaccdf792f74bd77a6b26b417a72cfa6dc3c9c4f5b2b0363664267d5b4049e924dba3e57e2fd9148f7910fc5128cfeb7b3efa96849ec99eb4f07ab4dc927b4fdda4c60633ce46c96d4a3664cae9d86e09a59e8742d9b0474b08ce92bec9a652c7b899d4675dd275bfefdf77120e8de364a2e432e2dea71bbf2773de358dbf7b2f956ec9a795bad45d7271212792e3dccf9abc9b4a6a3877aef782a4061932e2eea26aa81bbb5b2e8cf4aae9debb3ad33d4172cdc5b9fa84ce6548bed5275ce4e196fc96fc2b55ada4a22e24fbe93aea35d751f6642357823af69ad34528ec424e56749c1411a8bb78cde924475917424e246d32d9efa497aaf7afc64baa730a9ee13d467a95d6491bdcbc5fd762201490892382314529a32993e9c64a7d5aeefcdc907f78bab5acc6db5d04041a2ca54a25e6e12678c55638a1739908033115a58cc2dc25b8290f7be0d217215f8c880d521eaf47bb6846b48bcaf90a2b6ec98d55b882c8d5a2a9da18997a4caf4c48c89b5915c6239799de9f401c848bb775d35cb9a094524aad9b5c982e391ddab5ac466bf729eda6ef18496bdfaa291be2b4a9c278f29616a1751e6ab088f522ed6275f7c895eb569106f90a1ee2a1cbe2a1222cfb3e39b70863717be6303373fff45c3896fc7c342c8a32eb9ae76c28aaf5b4aa884ead4a8398c8627c4a6d28b2a07d83d80be07957063bd82ed5aba806023b8d821731af5d523844a717d9d4e8f172c7117d5429d622ea2010dc6319b574e5c503b1137e2efb989ec63aed729dbde95d8ff6baaeebbab616ceb944413447e1999373310ae579bc23e3a73d0ae734c8334706619d66661dcec9e120d675b8d3f8122deb708e4c568fa84a34107c5a05efdae870e30e4ac763662d0071a3cb8d67925845d0130c10c482821183766e0a4776ecd8453bdb4e4f96892cef3056857759e6314596287b02691cc6ba3178a18c4b3faa8217c695ac305578615cdd9094de988f173bcefdf5794bcacb86b743482dbc7ea3c1be7ed1b4cb65dba3f49ad73c76c91903034363851133c61869346219b9d735c6fad2f608ae63d7792e4341de902fd24ec0bae216ee756d62dc8db7e28b7cfc94968d1057ae5f5cc40d31681e91e53a06036f0cf1857978868686ee759d8d709d6644c212ec972401ebd880af161548661e25ae537a5d298e3ba536fe4664331a85372f9fd9545b4f06458be079cc4422cb750cf07dd844085be75e6f9d8be7b2369611ed0e5a5431996e6c1dd7a9949e94d7311d265e8b65ddb2a2d4425d892cf3c58da814117d29fa55d3c7ec4df6b629abbf43feb23f86745f5eb64d5996861e7b1ddd285fba2b38322257e29cbf2aeb704e837382e0fc0ecb13700e67608bd4ae11d7dddddd118b1177b5b44b88d2aa1757e445f591564c5e1689234095066fd2d69c4114c620c496cc4390cb7910ba6c7df49d27525e7cc92ca5bdf8c66bc95f7c6bc39fd7863f596bd30dd9f69472b6e5c51a6c599f45ba3caca3a38c136d9ab689b86c443bccbb48d6374bd2d4247cdafa4c320a7148aebce9867ca5edc0e56b68d0a28ac63af04629225e53c23625cfc791a9c1a1e20c4178814c767e4d76b63743e46fae6797b6869ecff6c6e2665234f1d68864a25cc94edf679a209945c915ac41ecb4081e11bcf988fd0616831a075a5409e5ceed03116bf0901eb2cef790734ca2c79b620d2c6ae16e0f231d7a653d1b231a6e14c38db18a1b9fc04006a0272c376ee1c6bb30497ce17105f728fb947a1eaaa7a7a70708e8eaebe26adfee96dd3e57dcee2d6e5f22cca75d423672a1e81ef9d23e3edce3d3e3d3a323575a6aefb48f42929b63736eafe4cbf7a62452f5ead6b58f8f8f4f582570b5f7aa475ba7b58e7ce9d58a0ba316707670aff7ea216d2022cb7ce872e7b51a2ae0922238631402887b3ddadcebf10298f522cbbc2e7b648b23478c64516488566148eec8ebf2b4f0438522464a00821939721c623d0497e96bb2868ff2d1b65418962dd7b558ab8489c76c285b9846832c31fa5831ccc2d8961698768907a7f07cb8f13fd44862aec4c8d2d28282d631d6b8f1071f78a565664bb2f87219a4668f12859ad3c25618469fada838d241acf0b922a888912d307af94091f1902fec138342495e5d36e44b5721ce656364a1d8d947bef08aaee83cb6a274455774856516b3faf20e33d12ed3b24e839c3385d73b37a6e05016d5a07f2ef39090de28fa16d332c5e69cd372dba6fdf091f9bc0573c831d6ce39f28942791eaf6c386de7583e72a47d1a08beccb87bdaa77ddaa77bda89ee69d93ded63a448ec9e9e7671a25db8a1b87c9e793e478e314650aef0513eab95cfca07855a69cc291cf1fdb6a90ce75e66b3753469c3f6626c4b455c0535109c7118df7fc62b0e8aef87bcba6d29f53c6e3e07f18aa9e0556c399b571c142dfb34c8ab4b45bb04315f473253ea79d176eb1c2122b2c4836a40c52edcf896c812e36f302aae50281a23fd91a73b681d7419075ec83a50b8f23a9f772e1b46a11b396e3b74a30d7bc4a0cb3b0df2122329b2687df09d89e7b7b44b2a3ede790e552effea5583dd6d5314e3e9fea981152e6659da3e14411ac4fa0561fbd860ffe99ff669281ae4e63714fdc3cdcd58b27dfaa75da2ecac764e83dc545c1ea642106ec83d3a3b5adcb05797cf528747ac81616cc34886cb9f4064e11ec38d23200f435d0cbbac232965cb86518acbcc1f1801615570107c63ec19f4a060e0a9804980aa83f78630a6e1c6f307f8a573d803b106f6f809c4978ec75645f08835e4b1a07b55d6912b3f681f56a95028ceb91c32102e3f05fcc83b91851fd31875c2bbac2757bc0944167ee46662228bcee5c844680d64337fb4049d0eb2a697062daab4c41a925d9808c3e1468ee2c668058e6a8864b8b10ba828dc28058d1c2f80f8a2844701fa2879dabb1a8b0bb398a7f6cfc327f2a2c41179a465a57145f498f1845502f7128944a2ccc22e25e40b45d12805ce12ae752642e43aad5702d7b2a4b4cc63091e77ce46872c3481e72a0b56dc70de484bac392df929e59493a53c4b6b339999b99b63f72d0f68f108cb5c2b2fd6285d29d370a51cc3955cb8d20a57ce9c11153cb9cad141ac11651075c2a31ac541ebc41af3baae79852bdf0532b01aaebc618fe04a9dc822cf415c1eb891dec00be5ea728e352deb6700463a07eb1e6ac1ceca0a50c858d7942207415656ec5cd94b5c79a98358e3ba44a15672e5aa7ce54a5eca0b5d29bf6136ec1d5ca983c8226fd5119017720cba923ae1650ffbc8642b4496cce690d12e9bc23e9fc26c4dbf8a3a10b917afae5579c53af2a52fff22a439fd1359e43b47cb7982964ad1f4e36d008e0c1f47861f55e44a4c459ba261bb8365f82cc3d63b7679cb46f4269556958fa1c20bb96703f22390324acb613c12251126890f9a0f5575923a6f7773333e907c561f0d80c7741010a87032ee0ccff3348caf0a4706f89e6e50ced5475f1e61a247ae45f52882c8818f69ed9d87da3c3aa7ea3485e3b7b3dabb3ce4210f799051bd22c11f0a8a0f79bfe891608e68e101d23c06f5e3f5dcc6d9b9a47f381e83a4331251b3689cd39aefde4799ddbb86de6d954da1581ca7feeca9fae95365717c2fe644cdd9e0e7d4b60dc461f2d8e0dfe0fc1f391de0a9aa54aad309ecfa34eba9e2e86cf763a8cefd3504723f95f501824f09692ee92f2e948b83bfb8f87d67958eef6fb07bd71358a95cf954e04110fc0d8e4c297245e0c868118a0b9eb9a676ac7ceb37777ed44af587f61bd34bdf6a6a87f62d724568dfec0fd335e6be52a95c21753334257b8323535aa209b0f4c28638f785a8043d173c5f935b730f58b9464ddf2ceb00cfaf19c07ff84acd19c00570b0a27eaae1115de5ab757fdf4cbf43751f4e48e24eaa93ee77b0f2edc033878346f4524407abe82fb0ab4ebb6ba36d94879adbe7d9b5878c7b124778f04ecef270ded8052c98012847e60688e6811914911962c57699118845860cd2596bcb72072fca68ffe51905054565723a9958550d37216ef92496d74aa3e5c45a40c64db1362c4739cb35ade6f2ff1e3258c6656bf3ab3c8a22511ce90da5aafc55e5ff43958b6272514c17e55bbf988e7294cf76413159fe29a93612ead62020a83f0ca0e4f276a903a83fd495aa7d9577f84e66a2c11bcd02d1bebdf4c3579efa0f75a5961e6534cbd9e858c586caedeff2a5542a5920a56fd72c2af4ee173f93cd29d921f32306ba5bfd00a76ce8a13c7badb5d6ea63ba3ea627bd5c39b63d542edf16717a8a0d5124abb221d5eabf6b12e8ebee36e2edec4fff5254387756257c5837a5877f95a65d6cbd4479f86b82f210754d42ef9a983cf60bed1594d920ca253763ed6b28e3a2d83f46beb2fca4d26850be87da72aa2a7243a92c7f65b94a6579e428007cf0c187476ec687c7f4f77a8d6bfd57eb552aeff6bbb5181ac997138bcb37f9238a1053477795e4adaa91e4a75a2bc9b511a9d23b1a6917090018a7434755bb2de566629cdca49e1ce5e432f5d463382f8ceee6b5d3b97bc076ed1da5a993d5beabaa02ead7df3cf877f57f1fa1836dea3bff94faae7a77a9cfd6b0124774e1e92e6ef427a8b2362a6f1f33352f2e070a878a4d79c3780f764ecdda94914de9b89918474939494191fc6953aea1a4a0c44075ef1ae3aa1a1e71559fdc4c8c9bd468e73aff1a820fd0fe7355fd544ffe47ee01a7c738e9dd599b18ff62d810c7c78c5d8cdada9c120338f78771bef687a993baef7d1bf6fd55aeaae179dc53bd35423379adb141136babb5e111264adc69c3d3493731b1aa9354986d06f876bf8f79bbb336fd0ff5afff31bfbbfbe41c7e5d7844cd66b573fdba18a703f1ae86406a34232e0c1b927eb23ee6fd7ccc1835deeeb3311ea3a29e52e705c2050a0d1ad6c8f5212fea316d05ddefa8236ec79e8f7963ba650b0aa66f7714b58e88c5fd4ed74c356700ffe1a5fa8101d821a2fff0e6687eb03f5202784a00b6667bddcedcb16b1c65ba86f4fa9057d52630a81613e87d43516fc6238702e44e0662561f3ce32c1271d7b46e08a088987098f08c6c54509f0b2448d84da0581cbcc5fdae01953b6b8fec9e7ac623a7b21650b99f0d21704b8e81f48aa815a2b36189eda1329a9961dbf3d177066d300b00cb0340cf5299e721f53e6666b9d69b8cca4cd8c163a9bcb385474f655c1662b93c33414f36f43cd4ef025e96c77e61e19f7965d4784776f042fed1c20bf9a7471cbad84b4a5e945ca2d4f0e6a25cf5775d3579f75899c351513eab4ac7e98fdc6d6dbeef174a35b1aacf863838e805400f01aee5a8f48c55b5514d3a4533220000001314002030140e874442b1683ca04bc39e0314000e92a846825a9a874110530819638c2100000000000000000000002d5d01ca0cf17e15635b81f481eab4cc434fcf9d7b2a7bb032c999523ecb6df1c89af49a8670146b12eaaf70804733ef77334c2b68e25bafce0aa7d889de0de07f3ba628abf1a95922cbcb55397ad279bb368a3155db98386f7c78a94b1bd806745e64aee72548aa407c0dd74eab1c954096b59dda4d014fa217feafbdea783aed8a274f127185b6e8e84fff1c4c728cf6a1583c6c1212ec759287b6c79733ca34f42760edb5f70a357a5e656988d43f8294e96623a039f8cf81a79a59b9c6c92dca361f4dc8402e10000f306045299749380e5f54392968eec468352a9127051e512668b9a67fcfab3640e1fdb701e6511b35d7aadd43a3a3d2ae1f5cf024e230237f58f5af70f4348b4ca3140c524e0fd23117557462d046e4a2ec051579004ca75591aa9dd6a701de116673a8c7a7f121df002e600fafd7ac837fa62a62b8a6191a2233d309c0773bb4f44bdd33ee5e062fe8633b3932f6ddd238760a03f22684eaa015cd43ea845160ee9d5114c27aff41e41334b0a8040b44923b26064d7861eaf77826abb0834466715b6ed9234fc6b826e4f912bb0b8149bc8bdc17f4d06d83d284be1779b880d80ac48f4f523798647be547977abea7252ee76c07c31b884cacf5916cf529ec00391d866eb0e74bd6b11f77063161bc08f2270045c377389345cf9fcb2e68d47a75a1d70e3ca67c6f832724aa316592db878e2129c71c45d4f5c5e835a7817c79a84fb5f9039e971d1aaa157d83e93255d6d804912581d7361070527eb56e3da24146795b3ee771454cbce8e6407fe740fc9665d2eca78ff058f0b9fc18bf7bb9879089a96d605447516760098dc82415579e85d24bd4d425b709f72ab88de8f1421d82192205b25a44839f0b94268ba58db218aa13ce0af1a34c2cf7aa573d1dbb898016e506366f0e4512c0e049c35817f867f6c11379b7d07937c781aeb72a3516bb6a5e5ed4abce911b6a74880ee6ac55d4d1d7ea5fb18d803a1b343ad861584d20eba5ab4ac168e3c7507c5742bc1e73ef87fde10d49704ec3a9e80724cc127c825c0d93ae49e0544043770ce47240b8f22a722459dd429a3e4fa6dab181e74e0ec74d88a488715c16bb104cb9130622714eec2f8eb4c92c8785b41e2e2ae066a595fa32d662f031ed8072a98da010a67e83537753f5a77bbb170d849a0fcfec3da9c824d36d945b517fc90f2d9655ee54418f8501ba43613a30fead0d6f159fe30201ca28b0954a8e7c34433bdf79cd5c625c02d1e324d1f02ae8e885c4a90442026d3abca0c1b83eb0adc45c891641c6db0d90a542b7966e68011415e07dfb55908a6e83d06e540559fe42ddb600eff7525a4ba8a61a6cfa271457e82d084279da3927ba55755fe79e9f5f035c3fa1c0aa241b165e1d76868902356dac02df945b2bb525d521f22c18b1faf595c32be3e4cc9c5bee46bdf402f7aba78e761cce49e494fe02ead9997dbf028b0b613b19e5faabedc987e822896ff4aff7cd2d0131dfa575167660fc0a563218517321aa13e40df821bcae404d53201bada0a7e8f266c8054c0a14fa4fab56c66491eddd4244c61e7eb7670d5c3df2f50c30bd4f5c8902fef868da3018d29f80f678d59a8ca231d6fc6c39591fb4b4d6e5769a3539d197d90d6ec7d5237089d5a3c42f971c1550c297efb1aff1a24fda4237273a759ef8092339606a60a1a32f76355cceda1e4b51909cb701b56c5871cbcc8364cc3c1e26f145465e9013a885e34f30c42fb4e580759a99e79fd6b77599cdd1cda86a4b0c2fbb9b633c48afbd2da772397c96ad68a64135a279d65fbc57a366124130a0c9a2b2962b03573e9d12a605d4933a8d0f59305ef6d5bc1a1e345ba762fcf354abdef8eb23ab9f629a52b133c93ae92448f5021f4b2cc7a210fd484e017c89d2e1d0c793b50b929c17dbc4b431d6eaae210157413708d7036ae2765f2786907d72814ffee1d088f67e5ca821289c276c4129634a579d192c3c382a45a40da02c40cdbee595ac1df3399982a302b83f7ff594643647d3fed2c376df4d0060a108e14cca907df29a47f120321b6c06e6bef568a47d878a35f4494c245b3242aa88a8522b06b1b3cd59bc5f4b5f7eb48680a4207915f48d638073c02f9dada46cc8ddb7576119ccafc7985474bbd44c9924b6e58285d1b04bcac5f886da83709f48e54244e9ae61e8ee0f042e66d2c59fdc2b063eac0f895d78269f8021229407f8321c00b62f2db0316db3ed82d5c706f8ee20dabc31952f37a607e46d3d7349ddfdfa5d95e65a82dd808455506910ddc1d4a3cda29d4f32d70381798e8d16b3c80e741a7c633a7c571010e5ff2766524623f362f0b56893c22f9d9bf51d8a8f736e37b32efdde4e17183e9eebd7042da961cd105affc14092cbc19e8fda2f53e7c25efc258767260de98aaf1a74fa16bb48d73921e20cfcb0cbcdf176593d39d0389863b2083993e8044e6a1aca72ea1e52e9b2b07ee1c011874ce7bcb53670b591242056401e38dfa2d47ecb8e89b016ec239227979f2a07fedb42736ed89ee14229e2bc92e5e7390c040aa09b54d5f0483ea9cf4d413fa759a1b32cec6962b1303511518bf180ad1128d4a72d9d628725b0eb64cdfdb1a771f69a025b38cb6318070c643e71c66854355d14a34169ac9140315fa00ebb732b56622fdcbb8fddee00b739c84d0e728303b8e5606e38905b0ee00607b9cd016e72901b1cc02d0773c381dc72003738c86d0e70933918931bd709e586848f138b24e6d2e43c6e08980cb0f4d9b63973fb3b13b133a090d61a1699a6dc60b0276069509aae4dd6621220500d8c9563eaf4fff5867fea38cd15143b50788bb1bfd3e1f8752668771116f78712a13e1d949fef3f834c03142e71b69c8a567a11b2ad78e0195fe5f8eeb6debf58d3534e626eb033fe1a34e0ba4dc395a989f99647eba318234c8bbcafc0607ae53a266efcd45183b6c1dc509f51566c63a226cc94172f815c8549f1bf0df734852459afbc4611845f9b27dea802dfce27e15fda23160950bda9d8171b83ee29bf49fe49f4b95d6e5980593bc334accf254c1b1ec36beb5f258126315c26aae753bd96e7502ba63e7287186f5f4796408c773c374f8a2741ddc654c97dbd143eeec0f7bc306305ac9828716b28440b8c10f3d914b8d9ea5233f1d131854e2fda636e4e0ea5f71578dbd4c01f848e5c2aabe11dc92cec54875c09586dca51ca05a0ac165180792971affc8dba136f2640907f49ec438a267f588c063ffa6ff76c09912e977c866c9eab473c5d1cd5990fc9978d78059e3046b1dc77ad7ba7670979a99e765853b395768b4f6b6893cbcee76ae65ecf5312fa6c79ae71729e948e7d8f39bd111223b4403639236b33a37530bf6b897f9701dad36940a7bb74ddda1a49efceb104e4535f1facc7256f6d21bfa5b9b10f0630f86fb1446847c8db5aa429bc8fadd6905ea7e0095422de591aa2af08e9d801f61f6b6f0941d4df7b2eac886abd242475686b9a6136af31636747997ddac042a046db0a13d031e79d37b030b3de0b6aaea853d8a69be6d156edcb6b871a82c20c6027e54da84f05ec25d06952607cc1100a388468918a0f798d46f01ba3fe24d1090dec9004a4a612db0943eddb08e82569cfc78b257ed0ab69107305461060cdef2c2afab0af3da65695ece9dbabcc46d3f345eaca3320528bb56830745a440d14019a37f42e3108def87e696c18129c34f4b1a4a71d5bb36ba3869c6574c7f8513674c1aafabaad30c9b90800b07c9b2e4fce6d001a00d62ecb8e50b4fb7307ae3cc7c4a6a9cb71ef6838d96d1968e8e29c18d4401bd2fc0979ab7ca9120a93b09b2a9f6b245c55094b5846c023f0bd3bd4c218c78934f92d89a3d3fc9c9018d69991bb1fdc157c5b74a53367d45fbe407caddae8ac3ae0662fc6324c2f44ce13bcc2ec8798d060075d8922b347004070b8f671b1f0a9c4931555205a0de73f9ff20a378ff76af52d0e5e9cf4c98166a9801f5356e5e7650f065bdac18ea330cf57dc5026f4070af7aa7a0ec6cac5bdd778c8bcabd9d2c39cab1c2ce6ad63ca29561b4a73bfd1685181b1528585453a64ed987d117c2b9dbf50e242215e8134e02370f211611e53603202f4a198a01075389b196fdab6f3634dde4c7ee38580e524cfa32dfb5e12e27b4d5cdee620fc2539d1bfcf1ba5668241c20c759a710c5528cb8469637814c6fa58d6800b767716062c89a059f7bff3bd67972aa1641a1622d4d32b1c4952594a636976ef8dd019e6b3d7ceb46c7af36a3425a9c4980ba3dfd7cf22814c6762cc260300639ec258584e19413cf1999f025d592637c7508fc868c9035875b7c6d6874c395618d0aa92e03cf37232e9b3962953bde5223d3595f204da25c3c22f14122a4a73c415b6ae9719969c1e376a92ed933f6a92f16c67704cca6f820327821bf60d3614697499ebc1f840ba576a578a28f10a15ed41224ec4f8e665222933d171826aac9a07414c3f9bfa4a740b05155824dcc5e4071f40dd20580db635bd31ae3a9252fe226b6b1d2b3382c3cf1d4cf1cbf37cb06dcd8fb08e7741fe4fbb2855fae3542c85f38a57842acbd659e799d3749bc58ce3832d2fd92ef4b41554d6388b069a71dcb71e5221b3c418bf29c76f1c0f3eaeea5864158f4462052795b981159a035726d00ed67b2f1b00001182c91cf28fc9aafa573012139b1725ec556414f889bbdc73f06c43bd781a9a1d640922270cc7afd219943e082ad6385e8deb434435f421ce1134fe05947669fa37f3df786a78adb10a3eb335886fe00b3504f7e843ba3d15db78eb25bf615592d8ff48b5f859aa4002bdca23b2e1732aefa03dd0dfe2d6300ea9a37a5989aa362b1224beae8e802b1777bacd526791599d68f3824cf65efbae5a599bcdd7ccdb53241c3f96b93b36e0c37fa214a73a55cde4aa702109733ec9f5a45463452f5be47bfc1eb3f631b95c59c538ba0f0efa71f0226aa48120d5be805e2a62df8719a220ad02096151b447b810d79acf70ecea59015d665c5bbd999efd26967db2c93ed98d7b45ff81a23603fb0e0783e77d4da5c642a0c368b52431179b0c983cfd822aea54102e9e2482081c460f18c8ca37a3279f5a392d08f30c1bf6ad4189a7c99df71a6595360a186785067451c1f5e33afd5d67b7056b03a57a91d62a1c0d033a4bf9f41ad09d410726dbf36e2ae483b5902114a0bc4f62533acb8e44a1614d1fce8189cbb6a741c479bba0823628715d5bf98af15b3fc584a1f49069502797a4940719490fee5152db9d25118d6d07a8bcc1645874e26a946ae66ef0cd5f2f6ff370681cbdf6c01d4a786586ae974bbdb4fdc7097ffba1a4b1f36df95226fd4d171058ad81f00acb600137f21e2dd6accfd74c276c7887929e55d0dd6d269a5b0a8a0dfcdcd6672445208a14362dc36e31e656f339c89cf103d53a20053db5206447ba1ab792e54539ab931cc5b0b9120ec3ecb50e3585457f5f0e26a89940c7fcec7e1989d233a4e04a6792030a4609f2122aee02dc913b46eb092c1df7a695109a7ad57a834eee33ad366e2fa51e564020d45713a8c6d1ae5a3198818791612522060c626ff9cfc9183198f69ef7d19e916ac2b86a18fc021372454d6b4915fd7e3752eae10a5cf8dddb3e8f264ee659d4ffd34ef10da0aedd98e88b76a2a26089d63f72b4ff3dca00e8141b42a53100faaa1861b01932a86438f7082c34328799a382deac39f3ecdba14c5fc0d52c4d54a91816ea31d6e37f2bc61deecc2cc63a193085c0e4749e420fd113203e7868d26118c025a2bbb2ae1b8565cb90d401f4e16881161ef2da4b6a96b7cee40e196faed0a2fbd1fdd50cc4bb1e4ac1d4b13bc6d9c70a175f25225ab60c95b54460357910bdbf1bb7b2c01e4dd13c6a8d4f33828589283116f33926786ccd8a8940c48e6561a55ee3753c05a3eb4275bace718bcfe0f4ad33a50d26060763b4dd34500443e93676cf8ada5352b9d9da125a357c1d054f032a8844054d765ffe2436333045f69ad86f49b48a62e2c6ae7e97a50b442c6f039496d8a1b4e314f4c80ea4bb963b07ed2916c3b420db1585b15a6c390f85e7b08e9792cb26c888201b07ba055cd782a485b84e2c7834aef7c176bfcfb2f1c2bf68781e683b88fb16b4bafc10093c6cbd87a08aebcd6303b6ded18a2b8cfd9399f45db7e5ade1f4f5e2bbabb485a81b40a4a47cea5591157c1d4be538c59c2fe5e8535be50ba88772b7b3c05034282c86fca0e47d524df90feccece0e249b18ae9ce18dd01661b9bfa914dfa791cf63e417aaa9e142f10fb8dd35bb2c0b639214f80e3d7e2afd629c3c80047d9f0f310d020571f3bbc0e6461392f7324bd3e862c95cc8e0f4206dbd515668a6fa3d6afdfabdb8ae4d398ee77b5cbdadeb99e00e04e658c9081232a3e249454826a28b8cd0996f8d512ba71c407efeec00c4757061c1931b1f55b7a5aff63fa4bc1fce512a93445cc6b6d9d85b58de7a2223115ab36d27b16889070f27a69821fc8e3e5569908f2d3485177fa0b912e4e61223f49359e0a500847497e1bc7a9bd44b1426c1e840d52deb901d532b46d501d2fe0e388c18ac2a165a02e67d0d97dcf880a23bd15ea1b4977c34d8d6c694b3fcc53009a1c6bef49a996682dc5b25bef4cbcd7a864a0738ac8e5d7e3066414286bfe5b9aa9990f1c30a040b3b586b791e6d13c08ab0150c1e47add224e27cadcf32900a24f2b9eb1f4ef83627a5363179b6c2f5371f4a0e4957280b1e385170ee0353018022e6ad15c308ef1abacf2aee1b21aeb207acd911ac794d2fd80c2cf09d600bc32419d86f72ccb6a1ceec458c19e0070b78236a51d6e1b9842e416a0027e0c7e035382212db4115a1086c7248880c20d1ac58e96460a64494d20ec1ce85f7c2612ed11cfa3c7ee9040f62666935766da8b0567ac28706b8de550fadaf4c00cf1cecbf5a2c8f880d662d4acf56348a7defabf82fcc48fab27d74c596ead2e24c72a0511f2e8bec4a6c27640795fd9f7f794a3d55b5215f32bab071ed5e3f4dce9dc0543416dfb79a0bf03c3625ef371159d814e62f1cb18f854abfb1ad805b1e03b5f1e049409b12a3284b802a05024c14cf0666bdf460e7a0b36bb40cfe4b226dfb6390e691b003dbcffc465a6deab4ec70cd38489915aac438c6ad1b48ebbe9dee280a1e735345b5de9ee378584ab9b5aba7844de4380608acc272adacebf063c0fd0114017c84e7d253d088bc055d4affa76d04f3e459da87a3881ad320578722acbaaa628af51826ed60a135e763f70247d617e84518c7e01778ea5a457b50c6d4ddb2f1834aaf66cd8a7c21405bd61dbffedbe4a0e149d31f101bb3c9e25244bcc0d5a7563f9ccfbb9b74c25c876f6196fec506fd91df99f6b21dbeadc05bd8b9272422f4d52efa6df18c09fe4341add1070f62553fd7fba6725f7f673d38b6b51937368e179ace25069cb5d5ebd87d300e9697b0bf7485fec23032976520e283742f94c54a32088ea078fd1e7a5fcd9afdcd0a3827a30a8646b426ebfd22dcf3597b2639563ba1774e6078760a3f9b2725c6c7f3e23fb440f884c682ea8086abe38d47ab0758bcfc9aa9972562b6d78538ae233d572e57ea5887ad2618cf647d31831bbaa6436db876d38e9226cfa4548759f9094226a32ae38caf6c71ff7a80a15720dc600521962ea259963da2666d9d192868a4954ab555c426b02fcbc2a896b8438073fc4e938e382a35bced7cc9a297792729ee1d3b3fa7f179b29222275d46fc26fb8ebaffc7acf742d156d980405390dddc44a57d1f4c040d4474a5d1535cfc125ca646f0472091fc52aa11a5b0f92e31fb3832a3ee1f56f6701c8d236b1d756679d3ff626aaf3b564ca1559533201c0ae76264420dc0acb97031fad35751b383d0027c859b024824000423115c93796ce217b4a3ad66fc126bb88e361a6242f468978d40761af87b6442a544fd894b123a6c8600228ba6f10c242e782696e62c4ec0499da9bf62185342f5e83325a23eede186a496c19f20df52d2379058c95ac7518a0105e150b2f1b217254a525819407537ff57db18695c2643b06507f13f17ae6b28028aa0b32e35940bdc07f8d7686aa6496607a5ae197002eae03c1438843e8343afaaf625df6743c262de120e7a9130279b5b79497bf064aedf311a8d99e59fe3d02cb99f55b1530fc7a759172eaf548cfce1c66c61111460202d29b78ebbb47d6b2922bf885f8b3e38b1577f2e3e56ea9de5a767ab386577134583719d8bdcb20253fe9c0c384b17770de9c2c1bd3703c751a175020390b20e05c2f21eb652abd7033905398e3fcd432d598ef03b37bd3c36afae9890711c552a96810704ff183a704bc1b6acd028c571fa111551f6c79978c70d0d9cd654efb8fb40de77d5e5ff493561f07849adc3994dbc2fae91a31d7afa48fc5b07895ff4012829006be2f264a3d6942f6d6bd046947823d1519c7c6e9b759b07b46c184da745e726089c72388327209cd75da0a808f94f86ed1007e87d6edf0975af11f656f60bcc4d98304334c9f78eecb74a20d5ca734caf819e7dfb90a99b83b253fea1001c230c141314f62e77851bb4e509c284c553ce17cd50861b20583503c516616b6db877bbd2428c0ce9160dbb11a7cd9c2277e6bf4d37ec4e50838d856552e341b3b035cb4bb62a81665aa9de06ebb6ad8e5ed09f0cea300ab38cb1f434547029cd125fadd2e5a7d7bbd2fe41241284a04b6c916007020ca3c994e038ecf224a0174c63562e8f4cd7b72370798afc4caa926890055f35a7896ec75e4889caf3dd51dc322705771a439d3f7b6035c84e866c858f7148bae0a0c3ef389a2c629d4ef549561840ffa3c12cd2338e1a68f4843e205e643024ed7f63670b7b36995bdce573317594587cd87ce2386ea09130197b8bea7f8b4e073dc7e775312c2df02081d06a1df098108071b5c5340b396b22495bbf871baefbd7cdc7802aa6046a304ab4078b650067bd83f104e44fa13f2ed8b5cdb6b4eb9b77ffbf649642e602bed82a330688ec2e8b3712ee828cbeb3af972efcc0522a74b2a88aea33f2eb9c741b7a4f8d522d63c9fe6d668b8c7e869ef7660cf68149a1cc543e8c5da6a6ebf72a0c0b62413415789a98853d01ef640db390e1c36088fa3ce4d735ca23b5f16df4c1d2bb295039143ea19be9fca92b54eee4f696674018768bb1a268ba5b683f0e214e5d6173bf5b55593167e33f0b1499d3bd0ebc38a3f231c334344f832566783f28519eea2460ed0f0660b98b60ee4fbaf79709879f78baf523e4f88d360de958025e3be997636ac9abd243e5193b821d86226cfa2d72ec3b8ce70e9fe2571322a901246642ad313f093f1db91f38d89e145bc149d7a479dd8c4342708410df14010d44c68fd7b5ed118efaa5ab21212a2d64a9d127d45ef205387bd387b137d6fe671a33d5c9e71224c6607c3267134d0129c2b9e0bbb9e7a70d1c6167348866b96adc050c8e4c26c741792f9b8d7bcf1ee6344def2ff6af031cebc1c77b8c6629a7883c1a10d443cece2c7f8c2c84809d880ea6dca2c922d361dd96fcaa32a04b6ca399ef19c11c0ae6d6461eca7c6eb7676a80529efcce4bcff8881acb6782df0803d5c38d5a952ef45dfb7f89074d73ff1bc78ead1408c74d3caac4fa18e11701b3ba20afcd2f78a6b5c05817675d64688198381362475ac1500632620294c2db54962284c8e021eb68d7c127bb1910827197508592c9bd0dd7840e6d1cba48c6a2fe5f40b7f3d2340a2ebef167d8cad4c564e41c619d8b1656230f8d11141904e9d9a53f0c65c5ce9d47e629dc4589b73b252a42653b12cb9efd52dac3d73227dd0710b7e8d5b715b5c132f3d74775a5cb32992f3c4ca9c988dccb3d0eb621be88c7090decb8c50a9d2df8105b0b74020dbff38180491886365eed9dce1e1a5da99deffdb8be0bdb092994d9df68b76d03bb3041b7a5d987cb1ec29674ceb78c4a0cccb634ad97741e1e254509e9ef251c080980985dbd944b18d449e0244632aebc45aaebe12caa3083a2c0ba71afe25ed3558207ce17ae493dfb5159f9f499f1491fcb9542de6aea07b6cdc0b195a2e0ac4617bbc25c6502d44d2195f1a865e2df4993cac055a52733ce9326837c4815779391a82ead4455d3ac6ad0517888db4dfa21ca687cda68aebcf8ffa266253b3287cfc5785fd390cc957f20c8740bd9ba522d4876c25a6cbb2a8ffd475d1785699906443002b4f39655f983cb094ae31d1d531807d6df71e54598d37e889627b456473eb81a4fc3ddf10e8037c68784754214dfcefc63ee2fbd8971a55ae603c16fd15c053a52794d0e1038e3c1c063b19ed7a10cc000e6bc4d0fc65268e100f1caa61a52141d2acd1412dc51bbd584c886cda9fb3902ba5fbc673fb3f9654f7471e2ac2c15e5b51ed47669c4e41ccc704dcb8c118c9e5f2c236b41a83dbe3c281e6b8cecc5afb5bd0e2fcbb08f5c9d17b1ed06a16fb2d04f2dc041abd5beb661337d4f64af45ef43e276ce3c735aea922ce40862d6f17f020c26b1aa5304247cb113c71f42f57ec6ca3a13e32a9062143bbbba403be54c245de2e80d8a85d4ab82e1dc640e3742615a68bf9c750afd8567051c444009bbd7b1be6169ebd0368d79599c5fa5e2e94b17c0b15c18f5dc904d2265e39dff331a53c400f75dbda791a7d3fd7cd14e2740f57668fe1d4a42e9d926e64d8d386b2a0308ad39b73a601c9d042bb0e2683d60255c284dcfbd48b452229c0dc1454c0c553c1b232929bdc5d8b57c60e4ba68d09973c66ea22f97edaecb574a1d5bcc61eabf02e149f1b810982e806206ae5df4f20252b5b92109f1da358c898707c63bf04b552b806ad2f0d8b476491ec7e9655579558fd211d9106ff4a7ef72101264e196f82534f8bdce8deeaf355607d9b31fcec1636f37aea339000e170ec9504c083086f2e023cc62f7aadedff8979a5160a8e0a5be100a90b802f7387706bd4e68515529278b2dcdbdc78ed387e08541c48e71fd48d7b88c46e5741ab4b452aa94d15a1230c758ef65b370df8b9d3a9f8d03053bbb5c61cce1b262770caa2993bba3946498e903c0e77c82c6310997f86930dd78a6e6c582ed61b0ffb06cd81bbf5210e004e3f9ef6e796b20c962adae52411916aec12814f9542c2f417cda0f57af938ce0f421b20fa5127260577de12cd9c3775413b0432669c653de696bbeb6116a2fa540c58f8a32a6f4062f5f2dab33c4302d5bebcc80e0c515280700e12491afd8e3fd3bcd2c05f7ea9a071fe53e3c8c405c813423eb7058de86f17c4631fb2695ad094aa3f5fe858cfe7479253af353cbecf19edeb5a86ad19d9cbadbaf9b328d86e54e34d2bb2a330f9f6c43153828e121c9a8f40d5bdce5993f845b7838db19f4b7e06204f783d7c0faa6a06411b5d4a3bd4c5f07d089c14aad4f5df59bfa70d6dfbf0a87017d47985dc6465d943f7c0d0543510ea05eb90ca7ee18210573e9dd63e7bb22c80ba3b9077fd20b40f90202f37f3c58253bc868eef740f654e7f44577f9f9626bc9cdc273c523ecbbc0964a75967b935b34b24374d5556899547fc511d11ca81f133b75e6dec4543901c0a026c7a48a763b90a70f069e7c951bb68ee88c32ba2216a7b296c3b07edaca9ab95d2e3fdbc29710d2b89036d958f97de5c79b09d8225a2ec4bb463ff54da3c71263de7d745b4b86f2a9a6885e6534e9f5f288eb42f1dfee1b804f39209faf7d6db4f63e92f185eb6f5c3a806c0994dcd4046f3edef72b396521ae9170607d44db45c536b13411609c0206452d9a643151dedcccd4e362bd4d3e53b70c1f6dde0c43b2d88f5350b3bf0fad59b6002a8991779f6b0ce8e239fad2787457f85167fd2700a5494c641115214cef607d7e48b47914b42a23b848ed009c0924cb00dbf3dbe241058d9a968123aa2b7176611744635be1be9795ad3c16710a2cd49ffdf4ab8157527ae3df369f3e11c1cd19e979d6bb5cdaf903f926faa5bfa3785da0059bf26cf4e36f72929e5e8f8f7f1f44070e3c4d57aa54395204eb7d2b6088e4a82a627faf7193d35faf9df3a41bda2faf125d7b11cee4475e81827cf872b1437dc91d3ddea8b429c6d36ba8e408428aceb3b1b7457a13487ad4ad6df0daa0f25a12d2877c7796e7e76a5e3bed40d88c7b399c8b9df2bd80f0c05a56c795bb9affd0621f82cf19295a0ed7cb75bc7aada3829c658b25ba50ce75b44a5c47fba7d28609672e49ca6f8ae108d1c84aeb7fce0d396f0ccc43bf9e15a79356d1b2723cb4062774dbe078785f5c00491f2baf52f6e0d4bc7ffbadad2a896299c7434e54c2ae8f5eb35a8ced8ed8c21c93e1c12c136b3caf81971efc02a89a0d4d9631a0d2c6712a91970004284d2e8a7c2f926a143737bc8a884fe8882048124a4c0a2688570c1390f02ebd0bce4c327d774371cab277771185f52be8e6a589f08c3cfa1452d4e999773394b1666db6796efe65b958dd5089ae10608aa9cbbf47c373f6ea971ad4fe68941781e2f6ea327984c2eaff2b5728ae9d611630802fdd1f1df511f06f164faf24dbef1350a1c90b45dc5c25a55a83661b4432c63653d15eddf66ad955cd46274ed16de5416bde8c5e42c2517b7851c2075cd019eb80bce78b2912b062af2853cf64113856e807bd9cf1f2952486482e8a92fd668e68aa54ac9250d662db258ad0cd21691831ab1c2a6d30ec3248e758e281483aba3511da2edecd2138acc6b3b7350646d707e5c824b8552262af861d052662da05399ed35fc1d583d3c2c65382b7b348502a738fafca13535d6dbca71991677ed404d292ba247b134e04d74d4d91095d158b935b80569e9fc6c7b7e471387b30d429a8a4a67199f8639ac401439132ff4550ae8f30dbeb392952ce343ff466a97cea555f336ae8ca6da9752eae81e1249ee6427a5be1037c7a4488383b22042a4784d01cea2a5b43b6070a44c26021081a9adb06bf5267629922f082c8adca5cb55df82b269365316497c87ef02e9c1f68912f0453df78c5f1cde9ae95525ddc3aeb905b9ca61403cabf000e9ce92a16a4ea90b535f032c10baf70f7657246b846cb2890f044c39ffbb8e5bb1fb808c00c70ae7aa5244cb369efc31cdefc4450f895c1d448ffdf938d50b1be47d4d217cc31aae4a25f703a35d2144c4047ac9e26a7e1ddfd3fce7998b0d0b6d348f523c10a52fa5a43d499f67fc8e00a43d9ff1bdc218c03736b4cee3a56a1e0e6f51f48226aca4e45f882b4c0172786196f31e31a6251e8014e7b89797993007c8891f2c091cc55b8d41234070bda4fcb6532e7fd01fe8787052f0733c68a55988494cd8d03b893908f0ec172bcfde185c25bf067206e23470e2ef2730c4358e2620f7f98a037fd6a02db0968c83a10ab7977a8d7f79416168965e220ab8d55c18b3d04d39a749ce14b18c8970400bc8a874d5514313141bd34f1430cdebdcc0137fb9844fb85485035ad517e15f862a0df798fad4cbe49c729f8174c21867a0630cf8c40dcf9e6030139f8cb6a84b1465e25a178f3b53ef9318d4d9cc3b1c552087df757f5681e9685f67ea06692963c6fd916fb0e7f7ab6a588e6d984e5a9451cd906ab8a234e5b1bbf915a87c4f2e4ba0c0f392a8de18e2da4e43d5e26a68e1a441428a4f32bdfd221387bf97ecf2e8b195bb794ec480615d66fa1008ed87f5dd82e64f4898442391569c26834e71b7e18a30f2516d7dc1eceaaf0a609545c800f2b83ccffb85ff57a7263caae3c298b8f39ff314b1ab441496c3522a0fd375262d82b581abc91737158d1033d01efde80d3ecb9b8395a79f9241672d590243daabb7ab2aa1d46f1613cbf1fee96e7049a4fa566649ab1c9f1b6700a4c585431af288e0a473d813c4006507e26bd85b88a5204bee28466a671b8695425b616ba5d2c0a50525adcc6ee5491a2bf7cc8126aa7ad2d2106d5ec75ee9a0e59bb0dd7ab42f174530df945bdb60a5e8719960600498ef4cbf25cc22aa321f0a36c2f3827a67d8be11bc561402d3ee2c58bc468e8fbdc3acebbee29327dde92703104c87054fd51a778d6dceb227dc6b853c15bbe0467dc0861b73021e3c0d1ab9ec8ca1125c8d2bb25934692d84cef46e5742dceba63123ee4241a137688aaaec08af946349582e3f1576b8e96e641fc5019e22a0dbe87c06bbb094844ccc23a42bcf110358df5de416c154788d5e0399fd02fbb92aae12354f47cf8b68a842e0c340747cc684733ab504a0f4c58dd3fe82de03484f779bb6c5d3040cff7ba3676e04652aabc1c984453e11d281393d0dcb5220b836aff9d0284e968c50933a67ca737f9401454b861e6a77946c62c77732ea2d67a8157f6733089d805818309aafc7845803ddb065f87d01476f7c520ce6a02a10f9cf32ca6d06c3e24b52e953733dc1a9db2f63ec7179759ff8e2ce7c54a00c65126f9fd8baa455a2ce28097c54de882ef5b1622860b1ae0c0e063933db0ed860f0890b66192896d60461f4d3f59d6545df9e52a8a9c480cfccd0d1bcaa8443cab7ff421e2f9df7cc894fad45c0c4a448fa33ac7e05a309c773b2fec3c1cf2013057c053bba3a98abe09f257284a018477c203e7d53d3e917557a3014de79d817f0e37023e92774211ab19763cef4d14b2f87f6dafe2739d0744c58c39627a39d2745ecca04f8411d4b43f52604e65bf9021f1afd1e699e68de63c932fe6094ba12e2b880c286fe1ae2f268d53ad9e8e66a68b33d15ecbea977ff8ab0d88374d3f89846397a591af8a2c26847bb14b6ddb7977d6d2afb6a841e0ab283cb73397f923e87cd3f95cd1282d45c01b0b1b16630baca631da38d6e91c516b6fdb8440f53e67fc40a78ac80b1e8040b073df4004488930a43cbad2aec50b106e8e9da9e321743b9a6577c107854544618a94c2aed0d25df462a1cbb8d3f7cf6aa0688b1a42e87c1bd44ecc2651a0fe1a5e8b8e44553bed141241f06b5f3acbf66804706cf0c6bc45449eb2326092bf2c2119749b7656da70046321649a18579608f6ad852f5ae8d799bbe034ce765953eb79e2f21b5db7628aa15ab2539969aa4f1eae6d996c28cc8f0e18c1773451adfa17ba2e455f95188cce45589bb741067013838b9f9d920e0bf82b343792f7737a49dc9025a8ed74a8bdef33de01a6159c1bf8d97e5c4c1e0bcd51a42338c9eaf314cdefa308180fc7cafe6e99431c455ce526f5daec5eb673b39086bb67df0cc8cc41e842021f5eafef28b22397d228c0cc87fb53fb4d35809fee39185583907eefb7751ca3de6920ba3f626b7db0762d31b88a509d555803c799b8e9ad2b29e14cb9114bc724339c9ffe35ae4effdd08733ec43120faf9b37f1fd84a1ba4e9406d2f4bf6bfb75d80566392f8afddd79f37e8a9d0642f1a6b078d2b14a5a0d86cb7b9ceb48fcdf63f3c3cf65f498ff63b5e75f63bde2072840a7aee00cc1db9f5ba64bff43d0cfe8ffff3fb47bbe83dfcc35247dd4ffc4d7cf9d0feadead4f1959cffd2c052479c2ea0c2547c648e2dffd36c4e04c93f84ee474fe2eaa904ec5ecb609b562279474e1f174788b3cb03df4e8d51028b52a1da621ab9218e9adb07664b329791749ea051cd6d90ab880c233963114300c95c5c19c89d9d227d91d7381b4936d43f58004d7056b8d6dae29b1de590f12d3bcccc9d100b63f2a1266d6718d169c700152bb88039787d63366e0b5cae5f21ad01dfbc92837033f38e9e482389f944f28abc0d9c45841965b50f22177ebf787825d05d45793d4b2002f5629c1a6064eaae8041213977a234e407346158a5b51ccfaa9cf877ba0ff64811c71a7c077e27f019f02dadee1fbd1ce217bde20294a69d02833ccc73f188104e4850c78b03baea921f17bc18e854ddd45f28d13018c12122093a634c56a2baaa9bc4c7c119b0dd394e202cbe7b04ddca498dfad478485c85b8868f217a8a86c2c574f1b8089a528f5e0b08cddf61b7dad5876d5f2ed9c8b77248c87c1ff5905e1acb3f0870732e785b9c800b2a30d0987e68d2072f98eb80e6bb7d25447ec7abe71b0eea2fbc27839f287012e7e76a7234ed1a90b822254ef5c3c2f32f06d857e40eb2713cda3a4c37e764ba1569526c61dd4e5701b57b319caa6ded964e1ba01d6ee7c92ff0512fb8d88980edb3e73ecd2ab0215c76a1c7d0cff65c82fde64829418a18b3536d69f2a79ffaf17f4996830ff1a87d60536c24aaee27799789af7511a84c7d121d4d6c5453751b58388248b0635f2dbfbe57679abd0a805e29b63a53db5eb4afec0ec2c99d0fab6f856fc8719d09692cf9610cd070307e12e3083e2b0ae517c8273ede91d37b0c35b47319fbfb93f71aebd2b2898627b8475cd70b43d4227d6d99d709447838ac93aa060aa3ecb0ac719abb3b07c8e2b71ced402fbb4ebd5478014b980f945578d9e1f0ef4df773ce0202538493a9e2fb2b71871afc1f7eaf817e3a3b81cef8f100741d9d6ae3c99b03e1a38a52ec1915d52a35772cabd3ead3798b19bd64638407b51624bb486f1ad2cdf0f07a609b9ad4a5c583c6be353c521edcb801a3cc27e605c577f57a73a922c38f1b1a401ba75db3141bd0e9be20302265f09a40c77f575643bf60f862f7459eee2ad1a10ca55f8946917ef86b769430636fc7ac6b7037846401d0ed50c425b05cd74726fc31902a55bf10352c60c476624a9811eab4137f16a0326d1ac608a8940174a893167648bb514d24f56feba87abd2b208ac34658e565548dbc51f16bbebc1e750225f85ff7c9502d95382d4d6c9f4996b5a18585e142c9932b24016ec0eb465970dd4e80c55d202f54a689d558421af798dd618a9cd316db8169d3ac2c464e78e8ed9141a2c379f080aba9106eabb04d07673c0d6751678e91a8b24649b3a7aa3e4f34a16ee30bd8909a6f800d65176dad3e0ef765fd036be807db2085d7f00ea40f48aa69de416c18c9de412adedd5fa44151ee8f6f77e910d3a4364fe24a9566354537df668f7215d312f4355babf2db0966296635f7f649e625508716ae19efe5721bba23ec4ce81739d344e616d741d968b3e0694d5f054745900ae31bc89ebe783dd745b4beb8e85da129f5248a6fb3b87df7ed645b9216f9ed23e810ffd3ec23018654049d677814e48a4ff4939dcbcf73122ab4fa990f84726312cf64078d671c06e11ab301596b144882cd8c024564059c0240fa39e65eb8e9343335dfd410cb835ebadf8c2853b9a52afcdcbd1e55268df7d24bd06f780943495715037d0a2b723efeb62a7e259caaf448ba0fd3f64e33bec776d3e36a1ec095914b111e10bcd14889100e08478d0bd29fa8c0fe151aab5e9745c1cfc3a7b0f10b67bcd73170fe6e4f437f5a74082a8b2d8195f715e962e38d7f085c01a4a1982505f043ea024609c93bdad1dda29a582ba0e387c8e85561482ca8eb2a4d348c419f4eb173d8d8be5ad0fa42ac04298e82740813f281f6c13c14fa7970a743dae0da53381e4e590dfa9093abddd77be3356d24039c1d4f4553b6731101a7d849b59b6a11c80a683ff914610073030a1fbe3501c38a000d23542839e9aa6ee6f036a7378cb7c5ee6b89e8723ecd39a653278a53acf1ff2d5e35b6153a2448397522a19b89bc806c5355bc9fb80b4021cfb23fab930de2826cb375b50cb0365600ecc90093111150ff580637e37f0876e234c77e3ac57f2d38ef0c3c8b14004950c0c860497352f34e4bd8caa4ab6e282aae1aeae836621525a8cdd57d74a37657c9c53d2edd0312404678c1ea1ffc5a0cbee429310413c805d761cf949d13d5823d849da213671e01c59a7595a09a7065e6c909888d4aff654589456eb39484ecf6cd20f47df1c97b44a1432c4268dbc4b5c3e82ba3734a387ead90a67c1f552b05d4e3a73b02860d2c5e29182c9edc0118090a2067c52a20d962602c6c485bdb2032b4eff2ad6482c4b0ced44d0a67237c611295b301b947c5c57d39782bf0e9fa7af09c53db2631c686b075d5414deaa65ba8fd1ef812aa6342ab0ec39f4724cce94c42ed3fc08795b37f136237316825345b41585c2283150d21e4bccced2e88548173284cfbe9f91ef5202d992aa523f461a3243c6e8ec928149ea8ea2e23fde52ff472991b9a1a058b11c6d58bacf4d256ec735e22849d9eeb54a6b263a255d77b2e9b1c4bedc697e1aa51adc5f67e0287cde103e7e13ef1bd3cc694f94f2ac4af3f3e974d221102540368eb4d3a11a2b43d8c662d53f5e0030d1a588f0f9e34df1eaeddf5342257f8dbdcba2b44990b47a4cce6cf7dc8d31c0e8eb4cab69b76551a7738d9307aa60415dbcce902750a166c34b1514c4b071340f0ac644e5fb86e909c19071785146dc7f8e984b9f0f1b577961714cc45cb9607a701964fcce1f785c7c8402a4d7c442f5fd7821012f8aeb1b384f49aa84047a84be44ff4efa88499234ac06c1f2d17bb8c4f40cc8a09d0d0c3f71888ed3e70eda4024efddf086e9bd07d075f1127e7e37bf63ff242d5ed561d6ab831722d2e98aa87ac2f809c93a396c737bdb4b756bb8b540e30c77dd4342e907d67120e56a2056a41852e1368bf5622b38bcd937c050db1a4db965e62682b8654f771de26ab635061ccb6c9c62806769a4cb23698f893b6cd1eec2f60ff6a93109620a4b6661cefa12c6ccdd23646bae59d13b3059a762af1e17c8109eddbdddab93db4f4062628e9bf34e5ef4be0f18307ebc0a6cbb51bfe29a48a3a3c6b144e2505915c2a8d5c0bd18c9a498fc9d7f34cec1ac7aec2c6a9ea9d69dbe7a4c72812a0db4cfc22b677fe125b90ac0c059890cdc47f3713cd7026ce5d1fc7286bcd76010f749382f9ece0412a780ae3d4909b97a6960a9a534acee0529951377aa22a1169196574266e54459f356a66ca1c9338261ce4189c3ed87f2374f564347ffeda6ac61698e65624e53977ffa958670c2079bfde5c2ba5e75c4e68217cd31c6979c9a02003d08fe99a2300db9c416c960b863583f55aca7c2e17a2c164ac401e823b4f9de2aba20756e1ca84c503328c297388ee274452d87530ef5a30ff6c89b9bf2df989dd8c32d25ac2a2277998f80aaab08f38ad075f6c26895b0a165b2b86014317c51fb93ff10c3c8b1fdcecc041a5e39e1774003c483b6b6fc11266d161b541ac986139259ce4e99e5278237005fbe8cd9a7c8169e4e6e40257bab46aaff1051cbfa0a81432cc3a980b89850308138bc62d248e9d11b56b4f700f1dec58fc14ce14c87afdde9f36bb83abd5f66c722b51de283e2b51ac9650b48e83bf46a526869bdf891ecac0ab137e742e6011e086f5a0242fc8476d7bc76fba7cb826e85a87b7d6c6c1cc751981f963b69bcfb6652177316f8365676a54be6b23d967a450f9be4878bfd898a254beeace442d9afaad0fc4447cc0890fed1478fac1b4dc2fd0559b3a1a8c94cd9852b6b403daec70bcda3994a569f788b0cf9b8786555d4685d548ad8d9f7a0ee34cfe1f9d22f4f7c4a3c01fc185e5d8c56803f554f44ae24cf872040ca7d1e0a7e9fc698eb4b71d11ae28355bd2db0184b1c7185608207842f858a6647bddaa65b28ab6967d057a03a2683907fcf9bc8c63909b045541fb79503d20a3444d532569afdb684a6830ddadd117041e2262ec9a49e7e93b55c2008032d76900f0cfcf97deca62e434c0942056e07e6548109bb2d311d862b91007c7ac299daf1b84b5a210809af09ada367f726b80d15c962d10d6a896b4948d05cf827d99f894c7bdd03a90596bb54a9031f057f3b0580900346287a06af09f2a40e15c019a2a361e013d4ca2c39e9fcd12a0e1711ed5ae46e041069d59216ecc20ce015cebe4b05f308b2447999dfe1473fe330570ac6fb3fda95e12916c4ac924acc03059aadfee9cd425a986f9e8ae6e704d98d28d7074d526d66346cf958125ee40a2af67fe23ec55d07e0fce1056a99cd0e7e462ae2eece0885fba55832eeda6b75d02ad3726284c1cec75ba3bf88de9d5b5899b14ae6986ee6966f4303b866fce27d412fd139000e04b550e48428ba2e0328f78ffc15e1835f08230ab49eecd8814e8bc77175e35b3741fe8062a5452ae44f2c437c5a0b944eb4847b927496bf037c9da3273d657bb9527e71e15bceb278bc65937cbcdb26f55a776f4c349e737d90af5bd58e71ac1604ba04bec582c562610d17d62c9abda22c2a110c893cece72685616e89add530c32d083d73a9e98fcc3cf452c9324228f4919accb886e58526b91817f08e272556c0480401cf73fb6d565905c9edc2ff28b5149f5ea0480cfeb343faac58a465f99b999074ee95b6e43a07414f412847167d5ec9d055438e9ae33ee63cc8c13f743677c653e5da258e0183c1147c53d6db75bfe452fb4b5e8ba04242db3d46768f3d0e6a887952e9a4e2661eaad6bd1a7195de68a63a45165fb80ae414699e848b02e82dd9ea2f786a22392781e1d1fc417640604298401345e84dc89dd58f03f4a656a10d9dd6a648ed022d03bc98c9ccbf6e97281f797a86dafee0b7829068106ee3b9841c068660a686fe0428ae8be3c4167172a17b19ee0de3537892d9869a4b196d4359dabfa67e8677bf60c12d956bac0752dbac665162fd7f941a4e99eaffaa1f91b437befd03a205a6168c5283c1d50bb159edb252a922a313d488ad1be2508af8d9417c910b3762e7b937881426e60d287e498b972b6fe005d70449b92baa2263eb62c055c8a2909aabf5dedcd00d06dbe83f85721c3ec3d5ab5bb2349524f4b73912ee21744e44d663a4831d736f633dcf6821929d40448557248f3a5107c03c6a439aa84e0ac5efb5f63b87f278caf297bb88721ef532e5bb51971d1b73679a9e545a1b5e0f10cefd59b47f5f48c28a8c3dd8d75b937b9f392d53060a11d6e179232be13ff6970dc02b23b255264b864bc1c4e7a34cb9af4bacca1db725c9b538efac42b2812d64593289a644de344276633547f4c00820fb710cda50910a8290c6201828466495a622dca9f4be2292be500045c50b483676e65a1b167dc89df2820c93f2722f7cd1c5342d9ba035d2e87b7d90a0862e2aa015b05de779b8521cbade281bf1cd924f6a95d09d47109a2ecaa03d9372d29ed0553d699ae24bc099ea3b263e8479da8474837efe411dafc2beaee028704b8a43fc0c7d4bb07cd5a61e646b1846c1f569f580417590eef704164a8ee53ff8e6c74566441fdd089bd18ed3ef6b98f0f84662eb13bd021bc7ec532c25b078dc7f439b2eee3389e5a476f78eba78703916cac59a4a4b2029286090870847de09b205edc7ac0679f9259c9ff0299c756e5953255ba7afc4fc973224156c2842496b6f136e8d2ade9d30077656a5957880e6a0018c2419f2371e4f8b06a107d2b03fe9650aa24126c67d161c3d105837376a9e6af5144ca9d473f058c28a8dcbe4b337c8222a3f2ccc35fedd3803eaec1a88e037837ae54808f17a55cbe99c89e151c4348942bedc6eade899f9d5da04336439d0e3b54c0e222868a151b617ae183ff237f630b180b6821a9426bf0d1c00ca9a0c05060c3091b64ed511d02e7b964dd4820c5934e0d7b3c1c4fd264e7e1bee26d53aaaedcfab5e2751791c913cbb918b2bef684c0f6e53cbb568fdc6e5a54c7760c1a4963420862015aa784b4728dad81dbf59fdac274acf8d50c3724f0473c846378807ed88a486c6242024f3f41aa1bea86d2effa8a9745f301b29626107b888066e60fea69625dd5f6be63a96aa6bfeed4808881cbdaeb9e21d79ae80e3bc60b5e263e1eeacd1a8cf0c444b3e7d81882ec90c287ee33b6243bf342ec278d8347550e8667d9a6748005b6ffe2ac52fe917006382a3e7c4bff732e102141c02c6a619b01772c822dfb8fffe7a410a7a958a9d52a8725e905107e0ac102d8a4b88665552c4b6473a1421786e55987053c4549c43a7e6dba87f4c1aea445effa78b920a278c4af9b695fd6cfa5a7d68c1ca6c8de5788e16a792161bbf21146be40b4b004a0fe7ea1f595470402afed8a227a657d59182d9307e8c5dad77439f0ff3d76ef3fe8b454ce8aaa450158c8df2fdd2ea104404f6056651a1e727e0acafcf20a1938bba894b28b2061c9127449538a44a65c976ae1551483f05e5bf0db5cfaed13bf4abebc55852d220f557be159492c7506911898bd5e8324434f61524e09cb593556e1d34926e5319b791e9bb1c19ebbdf6f20dbe2a20ef76b664ade0926e8af38236174820f3c9e95110c91329f5bcbdb70453bfac955aff4c1c258860fbbfbc66086ad1d22fb94ca06a5f3a8cc3633fa94c8e43a638d922b465a11daabed2fadf1f32e44884c1546c0f5efb1ce8b1297952b0d5988491d57aa5dfc92abe3c86e3130491ca3930e765f2489d1481376ea23b2ebaaa7c99ef82b728cc32a40ecbe681c253764a1f4b8be5057292f35e12a2f0e397473da556506bffa20d9b2f4c1dcfe1a857b357852bec77b6423f8ac91997ce09a9847d9932bbabbad4b2c480c117d468a9a464ee9178610522f2be3a502819bb477f4ad85f932ad4293da545da1214a34f38094004207094fad6781a7432cf09a8bc87884820f05380bc8ed743c6d8624c23f016ab8802ccbaf3dfdaa38f40d7144d6355c2af2391f2a9ac0028f491c8e47a264ed4e866c03a80bc868ec45a57a707a0d1dc9933ab95ff915e4942ec91d574e5180f0487ff7a2464ba631131b662d99d229757c578117eb3e807c46433507069556d076b2cf2cdaf1a5786106f4a1d01ce8a8fff8e5cf4eb41066eac6538ad8b9d22511981801213ea2f87620473f95a06218c8c1cf85860f3a15b32b1421dffde3a024bbf58d0adf7c56c652a980c754f90c947ac78875908cdee2f12edc308e7e6ebf0a1c1e7f6380779c93946cad2877ecaa0441a0c05506f7af40928dccdc4b0f08a62fb82885e4c288eb3bd655491e7873f047dbeed9071e084f9f17d32a279745ef44abf18695489090c5fd542cff04f56db17c5f3dbf275611636fc6e4de00035940c1b2a0148dffab93580cf33cb2382f9cfc9007c8002243da080274426b1682162c918c04eeea0112842edcd8c168cd5421a22c74d4e7a829546703a0d7ad6a061b8c68d28278896c60c108ec1ec17f0061c0df4bc57ce3be0df35e16a000a22092848652711766db334ab65d4329221294f218613d5fb7e1b003af842d90919e1f6ccc05a2aba9e3fd0e2ab506cda420e2640085587603029359ecb80bb216e926b0b9000d0ce40ccc8848c92607f4e362d9dd00fce38504fc7d191828b6c0acebac568ba031e42f5ced661a7ff1e2b05530c0de1b91443f388e01645a7c48c30f84eaabde705db82973997f1029d5bd755bdb2569a63057dc806ff7cf4cd3d85f7cfc93e4917991e1b360977dccc168ea97b593d879c8da2c15981e2dc3ac5c7c0e1daf034470ebb1dc7f6f1e7aa04780135408191977932b5294de3ef378830d0ccf21dac7f7529a0ffe506bd7a77c5014af06cf6cfd6f8e6696b7aeac0a8be23fd108b9a614d72f425aa8178b93c8e7efeec36805b755871341adda5745f11b6574d43bf94e3bf0cba49e23d8e0dc47c9869e7c566680ab0111ea3cbd58f86ca7e5e76018d2e585e522f723f7edfc21b27333b66f388db4afa034a03cd0a37c00e039ba0fe0f1cc31b15c5ef11d4c62e704b8768b56ea46b46dcbbed9cc4e931022d38332f89dd1f3c2789c22a788da0de52b708a7dcb16e7bea93535756eded37b24b0d6ca00edfa7552a73b394df584e7864652e5cc7e824f9c99774b2cbbc28b592d441fc8469f1e3b309715daa16c3fae71f89f77c5199aab3ab6afed46df1e4590235319123272499c95b876a07cabed95fcd050a0241419e30b0532e0ac345fc5622001819370215a0c097b2b2917e70bd1a1d8b9774b45f76ee5cf76b9489d37e791ba46f988f519e08f92560cf4c18d89cd6a0f34f7d06a3bf2347c91da9b6c427c1d60818b926c341050562f6d663f4d950624a61759c9d6f9f1e27a7eec5ddbd715f50689ddb966a4156998efe18e815c78e666d24951be4cb1e0cb393e6c2a240680f331a44e3c903bd88811952c3e0b5d22f58bbb4996bcef8b9581fb089e1fa7a7fec87ffc8ffff8177ff13ffec57ffc297f1220639fb8d02aecc5acab3f4b87e86eacd7ee80dedfaa37ae510705962a308c1e7eb21918148efadaade508867726f5fdb210f3da13f7fd5cc838ac7110163340eb4e43d483eb36bff9872e0467831b35195f3411e49707cb10c2a428ce034f8edf6c822953032fa9b01b092ef029300302e149536555a7e0f1ae1a080e6a0744f2abe010a50a3ab104a534870e59949c147fab25ba8eda29ad2f152ef84106bf85ccd1e7adfd30db97149820890d61b55e5e4788cc4fd5aa4fe5c99cd3dfd9f4a9b1422b9b0b087158e27c756c3107010701fa4a808ee3ea903ad53999299e3b64d2ff1c246f0f390006e4a3191496e26938d9b9c12a1a988903d22cdc303021e461ac3b5b9cead8d65b59e9c4427f5a424a19c1520bdc46c5476d26d27acca6a0124313734948d3f227c52536cbb378025d6cc07901f8f2d1a177ba9e6d81f5c6969d3688927010b90f9d1e681228dbc71a45c358e80cd647ab098e2d1459b4d4469589821c85057851cd5b8d792bc13b63995ab1396562d3970d43747ee1c7af86765566bfada2ec7363d0a46a5f7eefefb76a5e14704b6b69af9ddc9ad6f11fedd531cbde533d511d190bf2b637dfb5fb32af1aa8c902408b4ab69282923a00ef952647041ba8aca395d481255ef1f5052d8e2b009bd20a5a6a04dbe9510ec53d43719d8a89e9d11b0f17214e5065e9d55d728886c77e53ef9f0ec2d5dda4df663d8234024c49911c003efee9e9dbf7b207d777be77314cf7840277198605c38cf9efbb3a06be75c9f4bfb457fc0672bb44d1022890bcf9c8f17148e7e521ad85b57679604ca91640dc19135acfca129f8405296b76959b4c2e1b7bec9b5c0a6169a8bc76ec70d63cb2f83d4e885f70145ac950354949d3fd590038fbcd48c1b833a839c3656cb129fae545d9dece578255d770675d2802e2125427bfe5fe9575d5edd8565e40afb6b94a201f5d13bafd486e7e880d2fbb43353dd1492c2e62dca5c33e89cc96e2fc9b530b98c26e2a41855d6f3fb49b74350b7afa11d55a4837b555d05fa3dba677e78b54a03c54e923227608f8461ea0f11f8e9cc9b61a9ca92cc191b3650137c96ae51aa606129087d2e851e0a3105306c5087881148210bc41e57b360470be379b561e050ea6c89fb3ccfa0f45dcab8723f28cfd6dd42766f0850a388fc0b147a67f8c456ff92c01e310834601eb7d8c53bd4f281d9b39ed1047bbc50b873e1eacf68a0e32bd40cf4755e7c3a3d76fb4a085035149abebd92ddc6617c0f0c8f7fb20e493bc3d40dbbc70826b7b76558b737384908c17261a8bf7c982541f5bb41cece39d1f960c029cb331034939e86367072819b346fb47fd074020ee02d5985be08df00f70fd88a69cc6341da824132476ba110fff2a61ed3604fc3490f12b86f33bcf904db982b5feab99fae44e33546b5be28ebc6e3abf337db908c607af26f2b74448d3ccdb489cc121c1e392b7f7a04c864253bd024212bb75e781f65467dfc8de838349b9b75ec286777de059ace31661055ecdd041cf96f75bcdc3bde91c282c7e347b8b1058b1105311b55541856c17393aa5eecb47e891ef8d664f2225a68b54286505750775f4475408cb818528ec8c38f380159878d4481028533057b3cc434bec74533159f1b32528f8adbaa6d38d1afa12ccaa515b5ed613c4cd7794057e87096a325e26abff2c5cbbd4d736e357eb9a2231bf3447de66b89250a6e5e57438109d7bc41ece77112278beefb6c08744eb270ca755dd8754771579182cc6ae6946f7f73a9df2ba17ee8cfbee713fd62c1ee3e79f50e70d837be59ae30ef956ad622d5a3527c60ec700cca10f1d10696c89b8d8b90cbaa99701a72057a010dec2b721d5193faace0714cdffd05e750344f90437498af02350ca21068838d846c49689904255931c422044620f18e0c0c3d200366dcb20c00b8ef0ace09556243c11801d0c0d640808857d9337ccd796c288968c511f9227e3bb818fe429295bbb7fab29e444dfd607a5c75466af1ebc2d3b6da86e8890012cbbc3a226c5584964f8d34bbcb6005be5bd47e27cc8f6ac27b6e7c0b0975942e3c540c14dee464643a29ebe37977ed2ae884a0ba79c7a19174cf2be8b9dba0de19fbb048c77b6b4ca76e63974d3f4fc827bc4114db3f00abc0d182d4a20f1cbc79c1b4bc9b3c6dd163c73ec06f79f6f48bc4c3d042a705e7d71ba73409b190c2dab44345477e427c5f3f52bff76155786c32aaea14d37407e4734d462426a5b7c0f7a01c9ab88c1051fe0cf728b4a85ea380b4ccce8c787ab253edd476b8f4f77a762a3ce6da25ca3ba15edc58218b83ec149878ffc6b5146df7cb3a93ad82d18efb718435b2c9457d115d475aeb76f7c924505f0d223cf94a9fb9e95568bb9ae00f9d8e109013a878417df3568e809320e3884448f89cc0d9b87b523de87d21cfb9a29b8d5891088083cbc06f7855cf6d5ad0cb04fb8fca3ef3bbad0c0882c1c423fa1fc05faafcafb07f0b18c75414b1c5b528b79ac6f2b14857e7008d67ded6cc01e3f059ed65cfc5e14f10d831e08e05d3d68698be96d5e605c6c110ffc143e2d86f550a4c2cdcadcace75aca76dc84eac36c948f821801cc4f8cae4e18adb651a9e054a680f575ca5c3335ac53c22cb0ca1c3c729e4c717b55a6d00c0aa9ffcccb6dd3545b7464c17262fd2820f65218fa7a93ab0cc539e0cb85e91755ef49923bb501cfed45028b56f541dabc0d878704146aad8993e6794918c539c80e456334bb7e0ffd118a340c17ba8ef3be3f2247e15195e37d0ab8dfc2a9018f8004a13702e60e06c54edaa7a81a8fe74e456d6a54baf05796dc212ae6f5de816578179553a6ae0c88f5470a912a78b05092599a69df900397133a47b8dfbe814a9805a543ce42ff0b3967321e70412ea1baf7867574ee790af2c91b270aff7051f2323de69a21e9cd072e6ee0780d06be0605d4df61a5535c9eaaa9215666008ca13d4cbc6c403eb0d6909a4c1a174918e420de82ecbb4a8f07d28f5e9f3846505a8ab8caf492b1050d5585b421255dde35e70155520111f5bd3f4573af4239c50b09db4df22651d92dbe6a38021dc092dca59a1a4caf086de6570a56d4b1ba967a22ac2827f2249e622832a7e01f5944045c9c496985eea80601ba2e430ecf6c9556c65c4733124d653295074631db528afed7e896b4ec6c42058bbd3af425bb2157b2455d608b928859281bd87253536dfb59cddeb7fae86367cc9880b204083a9923cd34f0189870888f764b0b2a9ef9133d13e81801f9dfa0c134a106e4b60b1c74d42646bec76e818f8c006f67cd9ea11062453121f523dde2a46f2b57c406bb75d7aa13cb8a85ede427afccf0aba1c0c6face4e5011e332a562a84d0434e6938da7b4ffc3296228ac40427b35bd13ab1136ff7d8ed81b0e2059f77cfbf82555281a90e9062ae407f218a3e71920d43f00c03d139a8db50ba0cfb677fe0e31570bacb2759a06e8e36c9f4d234576b0057e7862cb64b01d699f1d2aac17cde06e94564e1a71113a38fe04c49cd5b5f15c489e4ae51b33c428199d010386fe05c84f6ca99957c9845558919a8c7d6f4c859082543feda281b7e513e013a0c802f69cb3caa4154756df3a4cd44e7fcb4e6ab778d8069bb587111c279160d2f5ea13e8864ec0d71cda0d87006c9ae912fcb065d9c885d721d00d13aaa07373803b8eff14580fa67288f06559a4d4f590e44a33c42101afa3c49938a058a6d534c4dacef69638a37765b0e3b787d23494251ce2fb4dffd9915c012af9f707a1ffc615b76f74145cbd3a33c4f7ac515a4e6298249cf5b6c7aa7e1ec2ea46870c568092b54a2e89e1e61aa0d65ab0f89607877ffb4c74149dd7c72c951b8d31603042478672ac7338e2a851bd4557d5fe6a033d7d6007d7550a9784ddca156d0d53ceb4079095beb73bba921089b1f03f12690dfc779334d02a07a8aac455d9570d36204153bda9d42665996433025a619b4f4f0a4c4aae0ab04394d66897b010ce151b8406b4b646d271412be62826d01acb86cea841946c80d65a1e92c6791731749f4ab86983d6dd1d97fc01b4961e903cdc3ede1621352fa135f6f3b3fac2a87bc8e1703684da0a6733c737473986b99952f24d0be74638a38bfcb3821b394ec38c27823f7759563903c94740a20a8be4b123e948047c0e381e75b29169d8207bc1f57ad6c40aa4348e7ec52157e1321b31015e0f7558815e5de258bddcf8fa92a9dcfa390aa613d7ff197304c07c26936880586a4324cdb3263c0b48018c38973d06bfb8e6b98da914892c8e61bcab45a53cccc496fa8c47ac7a5093fa5396469ff656cfac2ba434fc3feaf305b195607e97e8345e4857c34fbc45b1bbdaadf2446b9f409f701b0d3b56d3b74fe1daecc1c27925a2132c8bc42475500fa5909b7c2c5f0f85cf8f0c002947ebbe29f0dce59903ee458da0bf1410867a21a16b79cb3a24f94807d90712b8a331c29b14851bde70de056e12d97d945417646555a4866109b5b93360b84c6bfa5114080d66224d7856d7934903b5878191c8be6e44347a34667e5adeeb565e978cf197325e9d39145e0485d7f9c59ba2a082d61f5f8aad32b200ea6b1a2cdb8977b94788ec4b16dd02fa733765afc8dba6125875ccddb47faef0b353b7b0de97dd4c20a9432ed13820900f719d64b9c6788d6bfd406326d65f272a762a244b657bddfacee618182206117b66d1bc36cb5283a81fefb18b64ca442dc4959a64801347fa5d49d22c90c084c985011206628786b960fcbc03187c05428f9574ee545b6dbf807a6acf280afe9cbc8ea1685eaeed12a730db8cd784f9a8723e244af1a883eee469b614b722eb77dda12f64f0fb60edb40df2f6cfbad57909ab0086e199ae54caf62a99d3ac71afb57245dfe2a95220d416c4884b5401ce115df7c811d982cd0322f5ccd164c135dd7048ac6d9ff1022dafb7b5ddc5f73fd7fe27c96b093451854149ea39dced83e7f80ec9190380fc4661763ed279116aaeabd814972440a479e7a91fa7584ae46b82ee76d8e6ab8a4051df60bd660a98a720069e7b7f2aebeaa084fb1355325c7a3a25f03eca2b949ac600f142d78888aa2fb47434c9c86119284c29c8be7203bc0cde5a514943bf8945214ca6f13459d20716e01d08ffe20effed95a2dc96f8b8859e722027f3fad24e0d9eeec580e9f8557dd611774a626a6af71377292c653e58e6f9660b331b2264abe5b9834adb9b29e870e62e60025d7eea907b11b3fd21271332f9b5caedc30b60cd68fa44c04248902995ad53dce70872b5e817d6e370600b0fab48e51abd9a4877d295e0e58459e3158393e798a46afdf0ca08d5ff19bb37cf8443dffeed015ec3664e496857898135cbb56968444042bd33fbfed86204b283895fcc6efab5bfec8d5f36b2841304ad1f7cd9463ea9e2ff36049e3c70cd8d1f51c67b8fda0e124302e19b35b97b824ba50b06b90cdb80d92f71ca5e49b48d805fec094696ebc19469659cec50e24cb760fa1d537fd9f31ff53f6e6fc5a79e66084298c2cbae16c5102d8d65f70e231a10f4c26f12403474a50e6f72313080d8be613244b380f693a26bdc86ebd7927b4e8fb62a004e834a4b1f4b1e63bd9d9e08e539679a95aef4ee4290a638776e0ad90264efe8a1b20aeb44e3daa2db719524f4e0228e1cc61df3e77c4f13a11b6b5c20e26546004b0e0488a2885b903d65082e73ba301fe959b58ed400978b030cfa3273810ba5e027d541ed3c91ea591bf2ec2f9a4da8073ec8d281e38aec52c3a616c4362e58277f79aa6e7b595eb2b3841946132fa8b6e14bd10379cf65d616fe5055196de6bc1aeb83792f8d0dd4415b2e002779839d2bc8d18353a5c7405d41be009986697b47eceb78a21123c3174248556f36cfff9f94889de35f01c5e9cfa55bdc1007416e50c46770702106db524aa09584984fb385dd657097fc54b44aef73ed1ce55d2c2796f9a6ca1f7df47eb5f34888a810ea2da7a2d8818ef81801d3b9995438ca5959981fc7c48637288a5cbbc3bba6cc17010c3f75beda4bacc73faa22ea35c2c7e8e0c3aeeecf6521bab62ed6279d63dbf9be1581ee9f47030fb8800b5e1b1d6b5a4349c140980c6b718e60e054b536a28091d2ee6167e4fb22f3183d279b332e62086d1cb03eb1e5e9c872dd23749d62f91a9b6ed4dc1c4941909ebde9103e14b2c3ae16cd0e4eddf66efd069a3d4bc01ca1e841709e59c5ce4ef6804aa08452f66c4a4927747b7bae2958d924786804f9437e3737d0199d84c2ec88ec5f84172fb09e7d394fec981ccbc760a9fe545ed1e9c035950ff3dc750fdd8dc9395c01bddc5812ff6760bcc36a101ca3ccec927d959c1f246d3612317f260ade46240b54b2ae54ae74c070925acc6197dbeb5d40cadc5552920d3ce92c1603b2730bbe29ec977e0a6923b8e6b6af3ee34dae654471234c25036ffbf5aae9fadc0ea5c317175c096dc2894547ac867f034d657023a3a6e274b99195e44878774f685ba5d9dc9b241f199851b94d128b913a9ceaca7987bfcef7dc74cc76c6269251ae9e63e8086d7e4bd407e0f526dbc9ffbd77584fa12a63596561a3dcfd35ec9888234b29f3ba7571ce57fd96b6d2a85a4a1e6fc5d44a5786fc53644cc9888af0fb02f443d4743354c2d7bb1808fe1d3a1c01c6662e697a632b6a8fe8fd885411e2ae9dd96219f954ecc0ed7c9a49b3431681f5f532e80ba1f782d798c6f407fcd72883a493e6de7db971b84a1a35308eecbc25ed850fb50f5f5646d6d58ad60af9042253db0a02dcad7693e5b9080c677f8783bad50f8cb5c72aadca658c26b1d858442d569ceecf9b7d1c74aaab6408c1e67801a0839a83ef78a93a60f7b92db3d8d0f216a3a8fb0a0cc59f38c73f5d11d68748d821e942191087fd73c193d3967fe087dbaa772954d2690aa2a98c8426ce848f503973910f5cd122d5ab90cf157da7e75039df32d6b083e6aa1084f3eed06c61621cad5e252f5977776418b7bc1acb2eb83587cb0e9bb57f378436302542ff9f4396d4dcc1b86436097a5371a23e63c3f21273c562f621a977b0f06d9ccb777517b9ce3be961846902903880a862592b3fd61f7bcefcd29df60038f95458c9297bb6899b0d4b409d221e373644f72606ba6b7f6e5525024c2bb60b850540af249330defcb27e8fe3c536a9bfac148136a589e6d19b35a1b0774d71f3bdf0d89105168eff5896ca446136b8d67124ad50c28361e44b6ffbbba8c0b114499b585289e06701c3872136e91e59554cc2f60219a26487cdf2fd504c1a41727dcef4d569ac98440085f13d8979a53eec44c07a1eadcc34b1cfd38dcf8f44e8c9c37fee938c5a3fc9065f5bd80509ed6dfde588ae3075aa251ce161f7594b1059195804cda8653e2fc2fb9255191704190331ca40fcf2e2693604289fc82c9aa0960bbe009385df1571ca1980b9585360518a16997d168f6b56ad73501ef38ce04e8073195c01231f71a389781625bf13f67324bf72889abd369d01182d336d390bbd85aa6a5f777af6f7fda963467048dc123a43e36e663fcde9b61207be23c04e794fe0fd83d2e88cf47a42b09d762d25b5a7fbe5a16729319a226b1aea0368610f5f152d99dc1c13162ca4eda832f8c2a01d1c2f98a73d89c3f4e632daa9233cca1e41dd1fe9a96c640ca01a336eb16798f291b7d8af649be69d3e10900b22c33e53d4b0461c2312a254c3d89f188309d0645a168df5fcbd7f9a5b8d060dd3ae844a1e0dda89726f4104f117658e1b6ad5c8d351eb40ca47b913705b68dd9432b27c50c9970682ea79bc5c4a22eca51ff9ab9efca30807c9328f86362cd043038fa84ada984649db4c9e821a8a0ee85b595803db2ff32df47bac99a56b0260714cba8f0d27aaad263fd86ea8dd675412b8c37094585a1bfb6bc87f6c7ec64ddc170d5187f2708a62a6bd49f1cc5f9f8d53439b073b10137615b6a6728c48e388570a0b47e426f6c067de1f46e33b45e7ec76b0004b8e5023c1548a4df9e902d33ab88b44459a3a9f074bf5eb82d50fa0c46ff1a649dc1bd8831430fc16076b3cee3f1235ad080b61cfb2a810466f5cd0928e25f4b8e94bc4b387c23a0fda54e674ad54595d7b596543685b5b13c72630b6d532e3a324543c4e183815974560419af4e911b91634d32270a62f4d10356da6661146644fa8fa9184cd7a60ce43c1c8c189e0329f23ee3e11baa16bd6417dc5f41fe29ca921108086ebd2c6cd081a0a754fd6cc17e171aaa6f596136a7b8bc89f0a63bc371d999bdfb1c50eb58403dd1735763c2c0386a221b0386be8ed83cfbc79472015894cd116a062e210efdb2b64b7cb7cfd5966442d1d6ba6864ce6c7c7638cb44a12996ce345f448d56982af9d3129508ebe65482d00ebf51a29296943cb791e05590cac4aaea48eeb5dc777f134c2145f63d585a13be7f949a5a450d3cec21dde53d3ca551430f289a83561fa715505f630842f838f888a8ff2ab962a4a7561d9a41940c525b12109825078e4882b023c327d8489d2a7e95e1f070fb0ea00b1d3d24f18ac15084227bc834f921a1c66be16fc58db54dcfb0e331412393bc10218555517b0f7313331d849741f49b372d483929c30ae6d9ce640046687e8df6138e7c0bd3ea631a9c82d349c427ca5557a3bfcc4027abc418bc876573634ec75457e00b7ee6672ef5e2716cd6a1d9ac5cd5f064c69a8d0a544232927325d5fda02a21d9db579ad88421b5266161c58604163060c0703a6a4571a9d9e2a871e406c2d390482c30a9749b9191e6e7b5f47713b686fe4d9c497bce63b4b2924e1a2e320658e5e904ecc2f6609e45d5ededd3825b438c4d0feb456ab3bd18ab2595fb5c7f749408b51d128b41c74e0857422f78b995327ad52df70f64e789c03344e8405e21489e20b0ec0393ed5209564405aec284cf60670202184dc4305718838a5a54ce819f3530cb2f0ac3a712ba5e495f0d75bc055346852ce9c0d8a94bad4e4396d8693e0efcaeaa1592fa53c4a2eaccd35f29c978b7a467f9dd779a4e80bae95215862a1c31b3d8d6980f0c0f4fff176cf2144461f871bf76e048950bcd770a4a4379e8816ebb838605781002e0cba5df4fb5354558fceccf8a08d7c6cb269e20d2337c03d83d352a1b7e5363c5321bffe4554d66512bbff5fecce16551f74979018dec54127cb2153c606cf7e216ec42672298ed2bccd4899523fac23b43b90f2e76e0f9f9ca9f64570b218c9c23d82f01243bd38e945b6bc594300f347329b44e4485318df81ede4f697f3d2dd9619739a70fd5ec87bd4db24c03e322bdf2887509b01bf3b0de4156f04fbea16f655200a389dc0cb2ef485f242f95ab5b917391abaebb662eeb4ebf3cfde7ad78db2de29c35d21f8141bfc6e7f3b51a4f00cad98938320536ba6356754c9e7b491c395bd74bd4f386292371048de556191363b2e2ca863e08cd167074f016924d81f57373cce25037ad4b3a2c0d76853996d9dc0312bca34a7f35f2584f95125ca04a1e9e7bbabfeb1e217e1df22392be6fe88e03418e3e13f4765988ca94b5f559c7022c760158f5d4153b7b35c25d070cd9803082830bcc563443f267b7c18f4582c83498ed425f1129d69a2b41dbd7f630246066d3909ee5d90dd77d22f7929022c105005f9a271c2efa40b43ec5681bb0b7864093ec39590b6cc65232901a42861964575d4be9c64cf3cb6096fcfbeee7410ff7056cbd4415ca4b9d1c4e07a01a2f7d8cf84d2db4fef98c53d49286414eeb4cd6ba6f381e2322f0cdefa7b9b8f679f28a2de2ee245c4dd62496199f2588dfce2508f41dc5553b83d165af6595ab008b438b910ae383f855cad6fa8791f1121170d881d0a5c91d4eb2d0834057c7d94614cf087dcb0de9e8b89df4b0a4ecb708b92de7ec0c48cfbf7536b326704c1be79ac01458fd57ce0f68fb7a28dbe838490f34c06c849c252c4fe1df0b4724bb4082ee88464a50d879e2aae7dbbfd5bc1f87b36ff2b848b53803d05ec5d7b5299e3084515d4f03dbd4068896892be0eb1bb8a285f80aac298159a6e66fdd0238e52bf640ba985b1aabd9dbb27df8d5d1a7626040f58ba250399a04aacc50a0db56ca696eb2154b976a1084f60fd13c0dd397a793acc03d8cb8b2a11efc2e9865814d0c5f44cb4da3b6b89dd1f586408a25760a2a686d5ff0299be99e91d66d96c09e4196d1da5c6cf4d6388389a92b8132f882732e4f774cb2c0322639176844edf143aa631c6409c01b3b9ca6dbc01ca73f65d61aecd137f040fddd9dd1cc3362331cb2fc9093f16e87896b8826f4201f30d9b6f46c25611135dc6fe594a85b5e26c4dc4243b85d538acdf54febc54c65a225d774093abc1d52b371139d704e755aaff3831c05dae68a644992a2b61759e991449f90f334ac262d1bd539bd53ae6ba23d598b751e494c8a5e5cc12073d49daca888fb00bfef9baac1d81dbf8578d93c01775f845edec9229456346441d8033b4a88e943123abb56aebfb4013a7c6d63850d19fd6a8af587cf4f70ef3222b114d20a8d30f49c5ef4a66230711f410c61687611eb70e36eaeecfb143d06f5ba4d35be8a3194e34d08b46bc213852bf75543cd2f63d218e6a206b4fd26a37b3e4ac399523b0e4618f16242f869c0734b5e73bdc084c69431193d7c71bad581dde776d545f496ad746bcb39540afefb8ac5d090845b2cc5cb5f1011756c6d4d3d5ebc9436bf3ae0eee396df27f757fc6f7497408667cdcf4547e24e7aa4d790e2f5878407a3e524681578b9695dbeaf4961d4a7569b8fe1aad9068babbe35615e350cda164c46178fc5c96c8267ce36c052e10612a979f3a639e2ba54a8710599156bcab47d3be8f2017ca2a4109447f2804eeb6842354acd8ba5e90100859efdd3718b64c1f88a2f019045233f63774c1581316b6b04b4d62b85920838801df24034a8b735a01f1a0c4e07d46ee39b1abc8ab712ff6a2740d3d8b45d29116b6212a01e249fb8d782da6d200f83a8cc0b7df5b9c4e4b045b57d0b545bbab34341216ed189ec53f64ca4f3f25462b40dae9b805228f5966e0b8745d413d85c26e3da302bcc6f354cf236c557b2bf22003ac1e817c31f71f9955fb8cbc5049b6e89b271529ef8820ed08aec0bd768d00bb3e33382c496bb446d7e4c173db2c678d089ee1a9841ca31bfe35d2b5230d012f5deb8778a74088c4e38a1dd88751504db2aeec4906884bdfc1753b5fc3aa7d550267bdf7a1d181fb06bdf4a7bfdf48311072474289cee476ec9c3c03cbcd221c44810e9b68dea224dd9067498ac08811275816b1df0c7c3ee2ddf6c0593bf66d9d4afe11f682dc398a5c8cc70ed1fe68d7da5961d78e9aef51839aa08cf96842ac3cccc366b23ad7001b9d817dca0f777ee3d52e33c18f3540de528b19df7ac5ce522767b9e45f53ec53438fddc96e3fd0e764d15248ecd21fa11428f3360893b40e6f02589cac1b31e2ce6ec8f22f6dbfbb01f9f05a445109bb0a59bf26b45e4092d56c7b85761b695fe72e6b3a450864054db1b46a6b61c55111a822abef17420909bb900c55ab22f8b7647f17b0825ba1feb891a2d5e471abc6ffc39b0a7e6240da268c10b296c51499f41c607290104c92626bb9f1676d261e53f6f15fbb9a50245d472bd0cc56e4eb047112508ba3671501f5fd71527cc200ecb5e6031cd3c441c1c3627b7ce31fdf8f782bab0d42f8dfdaa4c8e56df7eeaeb702f83e181a18035c85a655dc387a9eeb74c4883e42bcb2fee9089cd918f450a7f6f89034f18478632171130e5027d23a77a0e0dd367581c4c5a609f10ec4466efb15c22d3882bf47edf7f98b6756085e6637c61c5a4ed92dbdc090087e7d3767b22f53e1baa284c839669ec7af52aff5199e6a1f3acbdce6d653998fd9a8035b60a2aece0f631f4b6a56aa96fe1b1c223996c0e205291d55f2dfb4a4af961ba7341b60cf066dcc9c69f1f64f04f0df7bfd677506066d12475fab42c01eee9c81c30174a901ba04b56aa3987a53b1b126efbc38534d9e1b8ef7bd0a5ca58508c54e01b09e537518a04368a74690f3bc903a474b0308d35b056cf30ec4b74be3c725700efc9384511a31161f9629f58c2691fe10a1010500ea6f203ea9dccc61d3edcfca7e06c1ec0fd7c9badb9dd01aac6196789ccbca2b38c481d61bcf11daefe382bf7105a371179c3f4a714768b60b47226e427b6d14cc9bf45aef7f7d9a71d5d589a19bd44c8d34400ad10cb02f0e5b1d9bf922cf536140dc55a8e9a4438168ef24f67df1dfeaf3fdfc64cf7171f951ed6e755420817081d1f768c2adca2c72979a50d18567ef067db3766cee8f6a9dedef4596abd439f4eebb431c1b4d7b71094319beb6811faad171b0451e6c61814764b7cf8e0574574204ee827281c5aa04f2ff3205ac1abd5d75bef4a980cd86f00a389e64cafdaf00b431a4b99bac618209ae84b06d0f115b65236301e7113b5cdf051354ebcba1648953068a7163d74b0cef4a81b558ffb841f4be5429a2d9c66db78f25b9dc7a460fa7d1cc5a86b57b8ac92ae2b8ab42d882c96361250f3f06f09ee7c17da69fe49a101f454f70f19cbf5ca2f7b9dd4b3b105f28aef6ef0dd093158ce49ab12aa0915c724986814bcaafe88192af208cfa502758152690c2dc08de9a6eeca44fc46d9871440e78a4321ceaa029666b3c2a890552d65a9a612e9351efa1d5f23319bc19bb5c6034eadc985a84fb33ca784dd182ce1920fe437e73c1834f568d2016391318bd8067d90e253e113c72a1d19ed71f6e35b71f9f6f5a1bb21c1d2a0fd78afa1075965d63c0748f07661aa3ac8a87f840a426b148e14087e00280651e128b1f5115330ce8a295d5a5962b1de991dd15705bf6cb7641341d41529db7a8704663b26347f064224e0a13515e99b1a4bc5320443a575c16d61051562bd74579d5d7b152a09e40c03ae900c0e0e1151f39ad1d9425aa9fe7845ab5939b69abbec5d50f092ef000d8131c94026dfe90ffaaf64bf319e454a8a50e24d27138d29a5d32507d5d56914249d612f2de51eb55b8f585d59a2ad4741980ac56c44e42a42026be7242c953248b0407b7ad6779ee5eb56b8be6e4f5bcd8df2a0f4c03ee1c652bcefcb53b81b78c870f2d445d732b395592e476d6ae702cb0e6d7d0f922b9341abe25dcbcce97ef9062f76bbfe5cde5dc616464b9bf909ffe441dfcf504bd4a837dd6a6bbfce9f68b8aadaf12e813ca884412122a7d3d8d76aa8090be428fe643705dd735bbf67e2e5f98ea0b02e3d88499f66180dd5c7ca91ba647aee9725e6e226c8c43c0399c20630024aae5b947d246ee19e3bc874605ee5bdbd87effe64fc0d2e7321b42c771510b9903520408e3c9f1a3282d90086823f11a339f7a74a6890e96cbacff5bc554ede297ac8a9ffb8bf237f05f0e07f7bc311f870a6f60699bcc0c22bf6361365813f9abd89cc345922c31e717770eb77cf5b178f563cf63172af921f2634c172d8af7a13c738a446288e8a8bdab17e966c25c66b829fac51022e7c17ac681ea1a5e5a792bc6d07aa8b3c133ca10fc6bbdd191e06311fa6c9aa77c7aa00fb5c142719560bd5c38a79d299e306338e0124cdcf6ba88305609b5de5d0224155aeaaff9770c7dd6e3ef341de797991c48001b4af65791c20693732698f61392ef530fcd4336d6c3f45a70c6459a949f9b367b05fa95cd02572b252f304829275b9885e2c14437caac83f2339bcc73157b3eb2c296bba54f2f1ef49a47b084aa5e41eb3f1691d8b12977b150d54c54886eea9acf3fcbd40fa267266178c2d6313e6655f94cc299cb8dc492c192338252636fefd6a9a298777f1a54399e2383e6358d74d637782791e0006e03aeadeefca25e371f9296110644dac1ec9b3f61560b795c7714bedfaef7caa889bc046470795c5db81d02bfdc2a356d257b4b2273807e5be3b73b183a06e4dbae346352d98d78bdc1697d77ef07846d02f3469694d6777b262865a6d64ef8769444efa5f9d616c4a524fd4a08add32c04152b6c2ca036631ce0d0cf0be2d0483d795b25cf5628555d16293a3ae5ec85c85258318b32c3ca4792e4424f4cec9545c7cb453d496f40ea3bcea0f76964bfcb82715641c56b4f210665fdce3858a5df3f89ea0ea80d25728d16823e45ab8af910d302b8af0ec5a2709560c68a1b00873e1b72c467f2c99be0a10ee630f462a9b39a40a29e2144f9b1ae8fa825a96a48d8471bc2341e83cf1dc83d4fe0dda1c8ec890d50c060a6046218b05cb35896c1ac57ea7409a420ddc90107f531c0580b7762f847f86388868cd0747244a50bdb621a241007164094ea06e27c03e3f596ba6d6cd6b371216747f22501b43f99a177d1a0189069a64dc200beca0e131c8329f2c2e7805400ea498c4cd1ae7ed3ec889e45cc90a42e39dea2f268da8ca82008868f4e600b15519adf7fcb2fed7eddd8000ccb079dd9cd2605ea6cc00618b1b3abcce9bfdc6aa6cb5c33f36595fdba52386d386edd087e3b10ba0f899f1743e04a0993cc4df05f7a3ae7b215f93e0619117fc3b1ab6d18ae3c72482afbf9d87bc9388bb8018a91d0ddc3a93463dd88634f910fe61990276d593710e20e0122275c528f2df8e4fc339377fe1dea3b788c9a86b041351f194f3bb128ba882080542d010006da23e6423da9d53879274a1185c6561bce054faa92c0b11c51a7017534d6b65a6a79fe5dce6e9638647258872989bf6e97aea5033e750f8a7124b728e0054c7266f12220af5b9fb186e6aa6e93d0655eadf198cbe8f7412145533c13f3bb9691d50a2e8a39315be163729097587650b4c00826f61e8778331a4dfa18d6a7d79c7082b07086292462efcac2c43fb30c49632559d35e5a462bc034e52c4ad305950240ef4b28b2177018a5f4dab6b5534c9faa2f25a844b1443107e086a3006c221b5c549e7ce1c562e823239f2edee405a297431dda9795626a424862785ed64ebe809ccfa15c1aa15e6df13c4de5ee4ef8e7883db56dc7eda98e759025b953c4a361a8c7e706a7800879d18c07624a83fb42fcc4b96d07f9abe12333d8670b4c44d931dc5aee0533a87d82602c830262a9b30ea4203eb77d0f2ec30d6d2bf5e7deea0b4134dad40908dbab9f4aa5a86165aa1fbd75ef83b496ae1ff3366d9dab680510ed29595b2221da2d70b8f2526922045e0552db09336f7e7579e7706ecd77f2395b7d1279f4a16cb1269d1adc43d864ccd857c94f7451cf6985831e09197d9213e305a8238c2b120c0007a209a020083d105378f470381571801ae43919c924aeb0f0525f909389400115f0daf6a323bf6372660aeaf2431d9fa48f58da96b338a7e0bd8ee5b4f5e626f74f8a4fbab9a507104700ba5912be84c60c033e14b2e8bab62bb89a576d22cd8b0bc64dc07955d3b43b2f7ad57ebaa1d5a380c980c58259cd8d2da80182583be9dcc795dfd1ce692eddb95bd80a96aa3bebc4b29686a1a78f696b9cbed4cd1429d8b5df6b87ef21066cafb6e3f6be971f068392e0618127e045259623d713c84018e0d59c4cd4d6a9c2dd14697d567ccb64d2b28546722097bc1fb0b8f335d5654ebd338b4902f0c85b0aeb11e16a4a71213e19a0056b9cf3ec6e3e56b8339148d946de0336244804b551ae5706f9aa1c5e57cb0a645735fa6b1425a6dbc67591de90068762a6a2509eb470357fce0536f3512294390b44dc34cf1954e89adf898b92ad0e8466b8b33eb8a189cb1762c78d801cb33ca87eae3b16f0520062bcc54eb51e6b48860a139f5d974a40b0dfffce815184504439bad670d32a983e84b39184451ba56a608d1ac54ae402d7b680859c180208ef25150031ca5a310818144a97fa809e3f67b1d9fa1f252ccefbdbafa94a157bb3c25f2b3438a241f1e2fceb7ef3d11c88b4970f4b4750d860ffe07d2bab911d7fa6d74c5861b15200ff2b3df8620de50907a56c54dd74e14d473dc0b1e3db11b9bb4df33bff729818b2f8e3a24db5efddf6d0a7744a78fdfaac57007301c319e2f02e4f4bb4474f927b1dea88447634a83849bdf18a9e04964a1889faae395c4b404787fbb4bde1e90f9ccca17edc0e75b57dfa7a87e60aa8e15ac284a1db4fdabe1f98c940cab406ea5c4b6059032d04207853665ada246cb2df3218801b177a599a5d41d4e9b9a84a828f4e7c0eabbaa5c07e94ecbbb47c1c3d0a182f45d450d96d09904095b885621054ecc5892b05f5f90195e51db794b5fae05cfc982595c44f0e0882698b4d89b38a345718a8b99f54b740236f549faa216ff6020b74c976da0a695d8365d942a75777553eb141ff43b83df3e571315266c55ac80e37c18a04225210465ed0dcd8329ed19b010d054230934d94f6c26306c7cf9941e82f4881328c682f60519b274defca669227e16d7fcd2c9e44298079efcb87a6dfd39dffee8088c9326675a698f537312cf465395b467d00824ee634073682c6bb00c94641d5641ea59fbb03929d9f7fb49f88cc8c450a0534cceb64d16ef0e912fd7c7a21e054463fa5568e3b59e236b1f45dc0741344dda7a01c39b57fcb8fdaf075f58e23f729e03b2b0b704221d33bc918d695f6f24435b43c213a950fc8f794ee229f6c60975ac2c2b32e32778d8f09ab5e785d8e1ea245d04b05dfebc7cbcd2ed0f3b79d656b82d46b1a1f6b0f2af189d42c6ddec928fdb72cc3907a1c09b988f7c85d7a2a1556573136639cf9483443dea5d17af3f74cc27054bbdd9d3c5a858f281d6e845c1a6437c6a95bd58e5a9a8bad1bccbe71acbf497b2a2a0a04356f9cc6d8e34813d0202e30d0b8973cb941728c31010c061ea42454769b069750c7d8da2f8de637b8e707ed5c94c02dc9f0980257320031fe5f8e6b03823f1ef8d1097f4e05d0382a668ef879e267a6d05f36eeba162c5acb5ed172d3fd6cccba6b0dc4328c7a5ba3c93bedcf5fb5dedfb396b28d5e5666f2973095553e57366e4c10dde4e4eb5b057b62c8682b27228625e9306c6a534e5025b8073402f426d14d986ddb202a275aa0bb45dca29f916ab8a1bef498088f8bf323042df23b9a35e5a6132d92b0d23e605f7431bb9f9873ab04e84e6ee0d958f1808bb5723fba87d9fb1accd72696eb42d7d00e54b2b96a5c587662b374026962824e14980db020db02c188c8c6024b00c113ea5e802a89f2d8384f3d60e57d43c0ea6c82379329720ca20ad5c0bc3cb0dd2d0f8da6002390f2c47965e6b9c81d40d3729d3afcbd4e9b53d9682ba6644ad5d5e3c0a01356679bf75c8c6cafdc8caf308ae36ba5ffb495134544bd7e717174b36bebb97ae49c2fc5e97b9c30123ca7fb08083dcb1728997c1f893952ea0f8efa6cb2aaabd5cbfbc8238e55956672928b563982590237e500fce6cfc122c3b1cbb8b112b2de68902c26bfeed13742a690672230868ca47c5dbf690a8cd5a54febbf5f60084ad7f6faaaf5b0837d8b564b6e5307e0764fc2b269ef4de14e7b434efe38e1e2442644894528ee285c57727482cfb28223996c1e0469c4308766cd159087248c8bb40fda12c781296d27057aa5f4e932ddd08342352bad477cfc5497e8c85046daacd20a3af9657ac3c2ec1483d9ccb213720cb08bf530a0cd1c8bd2e1dbdac6e9fa8e73f5cb90a0326842ffcf12c2ab734572d00e6a4e377e41ae696eb951027dfc2dbd95a819e341c3fa4cb28cad445cb3f3e4d3762766f7119f160c10146c2bb368e7da5421e60385b295cf25470a858d9e4b842c873ba2b9447702df5f66eda9692c75f1cf4275e66867f58160a254fbff1c35101e9649e5b883a5ebcd27427bdb0a3913f1ff3e6003b6a159cb03831b546765996a0fd5cad1eb369a418bbf168ee254deda87356959ad60a8eacae0a7c18e9fa02137c3ee3e2443541d087cef011aaf4153607050556d3aa5e22cc553ed419745d950f02aa70153e10b77f90428a695fcff7b777fc01e9c9c1bbebd7991b5a6b5e2dc5198b928890b0b5916d67cda30ac3bec032f4111d6320cdbfa8d9965d4bd39146bd866fdd64f8d36adfddeb6db5ed902020506051f053293eac5af6c7ddb90524a2dab9936d37dedd2c646e7e8571ccee8481cb28b4fba37ea4415fc7a6983f1a58da8528f1fed098ce32673e44a22c9ed869d4f40144ad6cf3252967576004fbeef8743b053214e54a2baec09f9ac079b8bec337fec0999e17026671a0ea58ddc3151e52da28a7c86250e1d80fbbef5f5c26ee75d6dde2ad5b685d2fbf5e45e20eaa2bcf416c17c4bd48e724b1c7545072ff7931b9af7def79b37a6be3bfabd55de468f3a12874ea1ea7bef862fd9abdf76331c8239db361c662f91ee723ded564a29e5dd3e120e5ff2e82df1b648ef05a8dd70c6f4061991218231cbb6f776fc7ae2b45d12ff6e67165185c4e36672936fa46b277d97f5da493094b2ce3aebacb312ae2248ba874997efecdf0d491fdd7b4b4c4086fb2679d2fdbe7bef6bf7ab2f3d0b3712097f15a78860e9250f872f596621d9876fcabcec0598b34b93f7c83e33c93eb26d525e8b62d8966dd9e5f6116b4f9cfe6d321bd9486c1fd9bebb9d4554d9bec7d3f791d7ef8edc17226c5f0bdfc99ef4daa7d71bbee47acb9e38bdde90dca3dc5883b9b703c8eed25be4769708662f3dcbb20c9591c017bf00f3e9a3d3496f89a4b7c85a9db413c9f39e652d242a92946e52722b090eaf6c8bb884c367d9e87dc3d243eedd962aec49a44b29ef9fddb044bac825dd9024a597ddf02567f76e0aad740ae5455e228d2e7115c17ff4d3ad32e99e7eb2b2c80d676af2e821377cc9a3bf7c206f89a67be50a0483d6bec50b146e786b6c8930a24a16b6c8fdea922b30b88f5e2396b588606ce145a7a07049de5f440f85a8e2e13026cb47909449554ece6eccd8ed9c3b152d5ec895d147bfe44ae8a3d1ab1ba30a959dbbd953b2471942d7aa50d92796b34d7b31cad9638c95b357608653300a9dad2ad7941c5fa152fad192f12951654b892a7dcfb480b81159f24269a0562495f59954bc3329fa12553ad3cb40e997c300fa8a524a2956412c51853e8566aa42a6558e1c1fc8f42ba24a49a6db05258afe124585b085558f17b9324fcf42ae784edfa2ea413d9ff1d337a4e580aaf24499aad5262dcb8427519105ec6c055b0b1611d4e9f8805a0d60abaaad4aa950d6afcd333d6f89265212e47cc42ee6c4dfb30787569e0f53b29cf324ed799df7ce9344d09ad63d16495ca9723c3da0c00e8270e56a8711aad4c1074678b09ef3daaeb0b76b61a8f9c233c816a9358ef60103c59dc3cfb35f37b4f275d00db70cda3e7772d89af66e1c1b286b7d13557c80ec89b945507e945daf8ae0750b740c45bee23f611b91db470740b64edfb48f9d2bdac89e6ba960eb9db68de3d63bbfe63442ebf44dfbe89b9dded14121b3c1665d21d8b66dbb3eabead133b7aaba62b085588e2ad575fa02948e32a594520f3dad94de132501aa13e843eb1ac106caa115a7e718a442d1d39b29a51eec5527d063218b37df39e5d66752e1b30724bfe223714c0f20bce2ba8563eaafc760960b0dac0e61b3b08c6d59aa13e8b31f9b75e9f9853d2c2e34acb9821d39da8755107245c40a42c8d5a54d0b409cdf783bc8a8137f5ddbe679afaaaa7a1761d9b44eebd43301e41d616b21600ec0a24e1c42dac80d4423a212e28ea491353287f8c3c650a5ac1a126c31048d8a3f01ec87da331c02606b1d20e4505e20c7c710f44ad4c948381cb172186f68f146d41940a7101d3067afa0ac1c5290038d6563ed60dd583e58365a5a34160d2c2d20711541a7d6047a05a30f01703d34a9f82339b46a3c520ead1a9d2c8756cd0a210072b8428e3a12157b075b019fb88230cc2df6abaf89e1b0db9efe7ac5618aebf5f56d61b8ea316c6b1dd9874215bba8c75ef365df3e2c1d614ae7044d5abbbbbb318aab4e07605e323b7743d3da1a82b1b00beca0db8a61eda35398b8c258218ce5e2d867d838ec0ba07a8a1b47c51fe8d7e72525610b61accf2d8efcd1321cc2581edbc2751716d3ebaaa79f9ff860188661d8e7a91b1ff39452fb16faf633b9de70b3f267fe9a1e3caf0592a2f823d33b939a7726c5bdca29c10d1fc7ed1079883de2101147fc21dec41c7147d441c4c9f49ccd1155c258d339fd038d35f186edda4c8edaed23248ade73fb07bdbddcaf9bc2cab6464da6ad42667b5d995ba4bd9da7e8a31bd386b4b14e1f6be44acdc863c4d675c9edd9ca21d19e20bde4869d4b8e6f2823e39f6ee9863272e9473de4856de610f0600f1787435be295bb6d4f9cc0e130e60e7337717bc38d8615dac431fd0da35cc35d4c13523d5cb7300a0e517078e50e87f6a5db19dac49d41268733f94bc15de4dc2ff2a510b9bdc82d2eb9c95b22777b85f6f92abbf612167f2a448e72948bbc2576dc9dd7def0caf6c4f5eed2a000ebfd15f311cf8838c6864ef5d07ddec224bfae8b2fc5bdfdbdc531643e3d5a0558d766f42d5c028728fca9b847390a8e21b30b148691997430dfb73d719293121f714c4b4c0f16769128fa0e534c0fab9cef61b5e37301f3168ef12cc0c23f1600c37b95922d52d6d4cf90896d5558d9e250265a33644097a761d9d72ac5cc333906fbbc94329f4b394306bbc434188d1af5f39f4b7d0d09ebd63c653d5e5ca35e201556be16e0f984913933298b439193b0b537e42737852787dce4c690397c76610f23b3c8b3db37248afebbbd83e982dcc69128fa12ef86a51b76c740ff80708d7acf495c1b5848cda8b8060fae52f886570e3b7c6f1873e8bf31643ee110cc2e2c8691d9fec2bdd33b99d2d418799d128be9d71879255197cca5cf1b335f632446bec6c8ad916b030b29d1e7ad9935b366debac80db92e42b731d6181bd4dded899edaa0836a77f7e7c3b00f166381e2f70f740fe639760cf7697c340c7bf707eb8ea9f194e5f9e01ad93fc71ad3cc6bd7308dcfbe06c40613ae917d26154f03ab8d635e68601d63c43473868c77eb9e2d573944fc20d7cce714914306c9550e113bf24bc431f33329eb75da171a2d231560618d6b64d8061652d9b1c73b4366dec23413d73ce57d16bb64af01c136b0909a91bd4a61af52d27be5e11ad9854399f29048f8c2313cf97a0f1d9e81857c6117a35739b9824e3fa7f4f4d7b56df6c6f0c4d4c8f7e749afe44a8dc43344a50e87327733b09047253c710dd1af5c43f4beed700c4f1e611188700df355eada60640ee1189edc37e44a9fdebcc0fec22e44207fdde342049f7d0df119aea1ff59ec12df34b9cac93959de1aea677fcffd2ca661c5bca421862a754914fd0c315429eb31e0989889675253be86f91aad0be8f3827edda6c99feb764eaeec09170cc36da369ba46a2e83fb76d248a2647216c71877813717644904ccf58d68c15edd5d1a10abb9b1038728cad82c1096a72bc3c2cb465ef11c0c18e89cc62601575b0b41141109ec9a013d90fb67e63927bf02451058c2a9ef76681590fea370b3fdbd93ce1a50fb6ced8280596c3ce21de409e17c056d960073c72f82caf23cb5b9b0a27c952e2d00198154b9b0f0c33370e9d425b21ccf4543cade359518caf08c621b2852d12292908aa49419f7965d54e8b1730550f1a35361bc8a427c3e5822d64a1b9cf227354395c70411155ee639647b2eca42b67083a59be75d801082f33819d332d63adcf49881b1d48e857557ce319fd38a3f20ebabc54efafa8de9fb31f63e2ab99946c01795264754b4ad922536465613923502b92b95938803c8f7d43c61192e2948caa4ad58a0b857ae044a714d83c36d4c675e3b3c341375f0857357225e61061161c7e01815eebaffbc94f0505b15999068b065ba4f9a4c763f10c7b0c7f12bb077fb2a69b0b5ddecfbd36ca61299990cade126ba84e8831d480ce52e22f84b7db430c558ac6c49f76636652198e9949d963975115206680021070408e47ec709371b0db4f62f79338862a458306fda4e179d3dc4ab6cde7826e70aceb22a385e58890e5c6ce4469692025100dd082a2c3d882c24261598da2ea36008aaa6a4151a544108c604bc7ea310221831c5e718709e28d0c96f01c5ea3cb0b91d7e579cd824ac6cbb2ded5d596f55c59d7b4fa170bf6aaaaaa1f36e4a07a80681c218cd53b9b67fba677e86b8da36de381f6ac353c8fb1ac88eb9239400b93b6ca86d85cd0cf1c82a089141440997c0b961719a8ad4cfb26c4bb17553ed63deff3a03ed3c1446c9e57de105b67142eb8ac90a147fb00c32a47e8a170e1250434115639c0f6d13aedc3b2aacb6a1f8de3c747620fa815090a2ba157a91006a3d69a1659b4d82c2a5c38b610cc32f7411c5bc892a50a51a57e8b2a2397d9bd213bedc35a7b5f59fb9698edc418638cb87df48d4e6c913124bbf7f68ee0b0f3c87d7debdc5b7f1fed897bad6d1f266fab71b40fdb3759d5def784434f7be8764aa2902b323ee3c116357c8d4554c161efb8b04206141a6e1ff18e8c8c884ef621d2fb26b792288d14b2a19f6e6f297463ea7445db4b36643d6fdb5a90ec534a59e85e22db22cb48a38b3e1ac11041bc10a9692fb922ff76fffacb4b72929193c025c737bbf6aceb3b23bdf4ecf1869ec55fc52948b8c2d53b0b4b171d012327d991ec16c783f4b37b3ab5b08f2f5dab1fc95a1cb6c85dbac98e9cfa20af2c0c23b7d8c5c849d845c9b5bff0c20cbff0f2c823168dae959068f824f07d48bd316e5aa63dde1091d7a865380c79c87697a8b2c9e390d77a5d50d487550e174446d9e31539e9862d3289f3524ae0767a4a04b7972ee9da1dd1b64ba2b6ed95856113b928b3a44a2413b1251ccee4d2b51b7a59db4edc253d744fba5504b5175e976e8cced93bb38f56c5e8d65e93d9fe7bb5b0ec5afb06cce4be2db2f6d24d91b53d403c49bb61fc779275c9a1e811bff0b2f5f2c845239d4544acfcdd7006278b6eba618b2c3a0a101c37ef2d11c4c3de68f49628ba285c88a0d42e49046566df2e32728c1187d9e8a2d0d962942fb276592a69242bbbcf7d230a174422d12b9dccc587a4a69d244682511e64fd63fd97756ac99f24265b9e9e9648265a1eac235fad401f8eb0bcf259a15736197835f85c880bdc419655115d15a085cead828a72608b0f596c48cbb22ccbaa0ad02c9d42a4f16ed0d27a65ed904d9036240ed226ea481ca28eb4216d5c2ed84230c786616969206c21cb7565c8988f8721a3fa312f270b8b0c18303f60c0c8f04c18325e60ecc8180266a7450fc10014dd5e66e966a9dfb4e62d69e3011ab35281a5c58269b1585a585a5a5854886064f13c5e8516ea61912d53060b4bcb8e0a46fcf0d2a29a010672789aba845aa5e675bd533072583f5fb52af5b1ffd4eb170e612abe2edb42e81ecbb24ed44a2fbaf6f3d263f6c25bc6ea4cccf5c6eaf5ee22b89897c917f7ebaa076137227318f4dabdab610c230884ebfcf55a8fd55aed5ba75e611701bb2eb0cbe49a81ac7cbd313d4ccc17a82566d8afd09ed68a41ff50cec2303163af012f3c4040401ec1d257fa3e9fd2e7f3f97c3e9f8fcee753319b695b88138d3a52c9db61ba3ea01caf44ea46222eb46999c52a88870ea97379d7e77d5de7755dd7755dd75dfd08e6c0fbbc0f04f2402010080402817a44953e0884d94cdb429c68d4914a1ec8a3e9fa802a8e572275231117dab4cc6295878e1f62f4d1e0894983272627262620d8200f900fe4ab15a4d65a6badb577d46a336d0b71a251472a7920a6eb03aa1888572275231117dab4cc623a7ef0a1653d15715ddfd7755dd7755dd775974a3faa0461fa4c1f8699300cc3300cc33a078665da16e244a38e54f2404cd70754311bf29940bc12a91b89b8d0a66596878e1f7cc06159449c4e3f4814fa5308caed2b8a4541a1d6fe54e236a484b52821f6b6adb56ddb5adbb66d5b6bdb76f7e97deaeeee5ff00445c11393121212f8fee483b5d67eb79fb5d65a6badb68538d1a823953c10d3b742bf723dbe75805e573023a28acd44423e1388572275231117dab4ccca633ab27cbdf2201fb2c4818a3351c65af4b4e343fa849042ae8b745dd7755dd7f5e95f17a86236d3b610271a75241fa2ca55f2404c5f88c8c83f2322219f09c42b75231117dab4cc6215f4d1019391b147107d62d22726272626ddede1614e131eab67091337bd9a309930e1e1388ee3388ee3388ee3ac36711cc771a6c99d705389cb7b02673a994e264adc2f0577d34d9cc964e24c9cc964e24c1c673a994c26cec4994cbfc9e4a63eca25ca4d97e6929bee4df82693c9d426cb33398ee34c3f9dbbd789e3388e33e1e6a139cb43af0fa86236d3b61077eba28f3a52c903317d212223734424e4338178255267a36d429b9659ac823e17f54cab75d0a8a42715f49c73ce39e79c73ce9e73ce39e79c73ce39279d93524a29a594524a69eb30e79cf493ce39e79c730671230b811bd560370a0a3c31292121b12288dbb7bbef75390d4abaa44b4aba61c0949090c05d424202372e292121e90eec4eba0e059e98949090c02e42a0c0139346e93a14a514a494524a29a5f4c4a43b4a29a51ded5028edbeee43b95f0afaee1dedba8e76b4eb3adad1eeebba8e76b433e9feaeeb9313d47751ef2ecd25efeebbefe2771dd89d741d0a3c31a1416d9d540f29d832146ca1c4c9e19b474e8eded13e441bd78dd837b44de7a043a72a42d5a3d241a5530dc1a2020aa00919258e8c12474a9c888a1287a7af25aeb79d602bd14289b744e943bcb06de4859c24871207349143890323a38fe82358a01eca602351f1d1c6c6b3390e0e0e0e0e676ceca8c9728687991bf0e10c8e938733396429734496a18c12b20c6768483c9ca141bbbb7fc818916528d323cb504607323a593e94d9c9f28744c9ec90250e4d9cbe3281c3d6c9f2b4db5a2797c0defd52f4e91bcf649923ca1d3726e8408e0e39def0e878daf226aa84f246c61155bac70d9a1c8e68695fe82c33bd4b0476481da24af748250ea51247fab063a70871a5397053e9a8408e1c73287372ec010410909043397fc020093a399492b6c4b23c79a5c924fe82b4a1c93779df8fc90b2078e5685fb08e7279ad7717a5e47d3db1e4beab1c1a1afc7e01a3c0382b5c812d47bcc9a12771a4c4c9f1283f8e88d7396207759b870dce95b3d9ec00afcdc9ed1b7698dc920b7365c444303220e27bef8a17163f40f0f7bc6d33e27e2a9a26f70d36633439a6e6caaa903634990528c3f8e4eef45eb9b22f58ef701b41238ca75a31736868b24b0463ae6cf38860a4f52858c815fbecdac6d98c6ee860f11057488fa547ef11c4f4f8fe5115e07b3c2857422ef2919c11917b89920fb9dfed1ed509f2a6db3b244a1e44debb9d234fba7dd33635a22be3c2b8db65f1725d24765b248b4c91f253e650e6460e5f749229a8040a1d8a7356323523020000005316000028140a86c3e170489e06ab663314000d81be585e4699458320c831140720650001060000080000104088310628cb00c1b31ab423369b72d866f62532e8c6e5266cbd787a6faa335ae01fc18a350d3429d5754d0492bc71e9a58bb2294453e067296cfa74aeb871aecb1da0fa0f57b4c8f1caa1d1b1e49e64525ef35b537dc944a9c995482834c01d40edd464984644249afb278fb7cf48a664046df9f70df0fbfa3b419d37c91dae4feb034bff421a75c8f2fea4c96f6f645acdfb1c1ba063a409e11af1440ce7b8d901aaf76025458fa7181a6dc1a55cbcc1fdd7b62e8706eb3de78d493453960799afbc8f8851cfe72a0e6626dfcf0f21ac7e3afbaec82f5e0aa06f1fba1550d0e77c1de310c49aa5710b9ddfef66f8ce0398c66c96d96bc8b547b9f2110eb62b53b71fe3f93d5cb38037caa7f6f58fa7bfeac9e795dfa685b07d3aeb94b59c195d0f92eeff88fe027c11ff6fb497b6f65d155c513e735bac3e496bdc39b353f8a3c71cf9749165c02dab1740f73e288568900e793bd0a1da48c33b4f0f4fd0a9534fa4a1d0007138ea59b37537839368a4617a9824097f06c7771b69405cf76d45b7a790a2f9397c8b3619e9fe6c2ba0f8e19ea9f7b98f06e2e037d14e3fae61e33db711f4a89a43dde8de87a5110bf29ca7c34e6e7c76ab7dadb789d4a4e2fa3ae75440a4589e7e06fe81e2ee43ee5c54fd1c232d504661e9a7eb8446725c7680d6f770e5228ed7878cca722bb2b695fbcdbc6b7d8e16a4b04abdd38114cbb0d98d6dc8ada3e893f484bdfc6c7fde4bd61683968b34a23de24fd816d4977e1ebfa20ae44b18d8d7f069f83485fd08335f2b0f9305978b69e8137e989cbaa7faec049a01345e91d1e37f003a3ee42e2f846a6ab9eabb1fd4f9ec16d22482c3161973543eabbf3f294d9b61800e1f06560ef191d377a8587c0c736a9a21c54bcd8b4728274dd72ded2dc1b1ea900bb85e3b0c24fda859b57b951f23c14d1cd0fb967059b1b21b54605ea211c0cd95f40896ea8a18f3ae94dc4a2fee17e34f58342aabefaaeb50efc939d6181a3cec3c94da3857554618ab8fe4a15a9fc98970d356103079543e6a9fd8adfc08cd0f01ce35b7e87668a2ffb8a57d1efb11424bbb35b118a85a622cd4a6d96d3eff86c918fbc21b8ff883c6b92e7780ea7bb8d222c76b87465d727d2ededda76a4475a1665868d0adcceaf6d4ba8d312496ee31965db22dccb81ce59eddae50dd3ba95c3d0ebd65a8bbe706a5a21c6e13edb0fe327b68e3d3216f4bcb47e871b091d36fe5f134d25f18effba9c03755b921da06b9ecd961b8a27ce68b5c4d13b7b284ca8d84f637a4f40405e6e9ed020578694814229bb86b142d75e16d61678e6de7e1ac9e87cbd62c782b9ecf3777eb4cc8249a74380495c3d474c31a1418d6f0450a73f8303379089fdcbc43d6e2019853d289a9d441ddbe0fecccccac81533e99c554760fd9fda81cec48880a47da47b0d70a762a40423f8c30430130674c11d484ee03f0a814276381e9b7ca615272ac24625de521ab1cf3612c2c208c9d420e662d8846d7c2df7835dacb12429872b8a8cf75950740fa12ac0db3243bcfa0c6fab3da7da193622976cb6127386ecf6b0eb69a436d71a51b91056151f2530e3424cdd17c2e47b416c78d7320fdb1a48adbf3e1d69573db0cdcabe6e0be3348dc89fde29dab25f15920d2e0512ad98c4c79002333d21d527018996fb6867f1735867e58b4e5152c924740f9c8fea660e300ed2ec9682c553a3166ee2939e8c6b2337639aebc41060f1f4f748189de0a72f7c6fcbe88f5ed2c7f94be247172df23ed5c01de6b7e754f125514d30f2ab796dae0770c5462a736196fa3bc7b1e2c4c087d74082a90be414eb8b504be61eff724b6cf58344a313d4b88047bc98d0e7acbdef7959f8ca324f7d01ee44411289f5a4ccef290aa4f1499853e82ca8817826d199a0894e031ef891aafd18d05cc4c7e05d26105ce0fb6ee4197f046795af53b4a8698114fe1845c5dbf052ef603db49f5733c892241a09bc00fdb07f841f8de4b37dbc6e84476e66e0d1c86b3751edeeab370d91bd4f892f6b2b6cec3db3a328e984d258fc708021251812394742f438439edbb642f1e82397f7bf96ee5fc7e74676a47cdac29ff99265de88ad2d77aac1a6a483f4028fc81a41fa564893eb51cb4e02e7cc8c48aec5bfa417db34ffbbbbd8cbd35e67caa5f49edbba92c70fbb5fe88f1fc3b549f73bd3269a7e867d253f43a50c69e19927fcb0f7012ad854ec4609f8f2efdd24a56a9c77f3a660ff41bf884994d9bdeab9dafce0686a49b4ae39e5fe7d1bee310a00659d19e0ce73aedada7fef6e023e8c51edbc3aaec4b57758ba49b60f5eb0b7a7547363c72319e5bf369dd09cf87844d2b28e10c2b3dda6b447139384f2dbafee8eaf6f6fc8292d60e85d56806b8ad5de5abb6602f913a7f824b1896ea04597cd50b1b8c7ef6d8b4d67cfe6c0f7615c0fd30eee120287b872339806be0c1d6232574c8780d7900ca64d8e3c56c58624b5a154d1ac84331f2f8d7b21dcc30e64f77e95720e854afd97d081fdeef4f71501387615af43f2f237c6b794f72deef5177f21a665fb5c72093741d71d7885bff11eded11e4229c03400799c2917ad0a37e07259c32202e05f35aac1ba7f8bf04baa9cafc5a4ccdd1ed029fb3ecfa49c8184a652e9002da2959fd696b0c74d0d5f4e001944bc1806b0a82c3f23cd47b92e14dec3708b3ca046e2000d5f468221cbea6d406562fd249d1274d09ffacd2fc0177e75d25022e73508d657bb3d59b1b5e2ca524db22d7818d1a5eec0fcaf2168407519fdb70498ab9a5d818c9dbcf932b2839a7c32c9a632796ac8f793802504ee918c74c12ed527f5c250214e45686e62a99bedc0790f5c5dac0c06c6dde5d03d00c51d3228e324a1ee6b00a9483d0b95fc9e3a674527c082848ec483abed706dae5cf49e2c3dd7955b0803dc00dac883d6a72cdcbf657928f4c8cc22605dd963ce47fada09630a0d4efd362f8ec09de8c7dc8e8e131ce8e93caba534eea45c96b865b0dccd07111bd4f4aaa2b3c34edf318078916df0451b0c5a5e06acc48d4a0943345106d4b48eab2b149dcc90cac8e4016032f80bb12589eb08780c7c4c046469adf288103765b9b12c9a584556baf307a9ab22c1e3f8124f91532c6e683eadc6f70de3da73a483403206fbaf476abe55bcfe64a7829880cf398e014a2ae5571656fa2e7f637d0ea66762f5aa4588881dcb14247b5593720d780efcbcc786a00a1c5c59238e1d286f219d35c6d3fa8ecca6c86e58d574e940a90f6a697db26de02d50756c62dee627be7dc733453f56084546087e0b0a9030ac5041102fc4bec31b67d66fdfdb12315ba9d55d67bb8125fcbb043e0655d6b47237a42aa79722415cc43674adab3848749dff64a89a2f0933d3790fa6db40ceaceb294a18fc8bd42d3e59ba0a711b7bca0c5b7a41671d46a4498596f601c05d60a7a7335ec12ef4ebc555e4c9f057891d84a8b3a6cea825751b3955ccd87ed0c60d38f16e226a7eae49dbf4de0cca41f9dea6f3bd6076b3740e4f3520fb9dc8dd11ff92c868e471983520f0c146d82bfdec5c18c632c9276d4d4fa338df4f0280c2122c3f91297871d99a1ab338c1fd1554849a6e62ebaa0be80150ede3a91696f57678e81aeb30134469e4aa1cbc6a455f610dbb48c06ec115a3170faecc674f67255bf3e47993412a926a95d7002b201f83842c487371335af642a45cda22c333048a49aaba925a6ecae9ba7e405d3d4c8bd3fcf50332e71ae7cb10723e504620ea9c2b242e8c7b274360a9b4c9ce9c2520b2cf102b80ba630f62a3c2d482d17f1f8dafb880a6580cefc6ced328167951711e8324e1c19d30e9d86a6ef6bbb10a8288e44b45f26d5a4bfbf758d373a94471d3b604915850758cf2701d29dc234e766d74d1e11ad2e6b8e417a3228ac6b01f7d21d9d02de137af2739c152a0d5711611297de403e85b3d6ae6faa3e32607b78692279d128a70565482231be340b6b88881b1a8c10dcdc5eba9a93240274f10459f9dfc30e3d845e746eac6c188a698bd5e7ebfa9f40dfd84f94485a7ed1b7b6d013bb14db4c2949879e8fe3dee6e79e378ade54a681c448f89e45f8e70dea4271733cf55a3c03e2fd27fbecf5f4e7aa5b66992c313ba3f11843dd903848206b27bd3872e4bd4fa30ba54b05eed288e12d1bc6a317037812dd6b7b56bf46417cf6c27a1a8dace5221b97a6cd70be519efb25517810b4a520ea0b0e3a0a6062c536c1f74d10f86be4ef6a1380ebbd34efcd82d892d298d0f7f5998d60d0f45dcebcbafef7de0c4b7907058a3169f6d4710a24429806d039c478eaaa013a5dd2a20b9ea84a929b0b9743b0712d6427de4b1c13ea7350817d5605750fe9f5c10a3f39a7dea4b2224123cf05c99d339151a05e8511339c3ee2da4932a7007c9b09c17d31ba6aa1d7fe91b12cf9b107fe66085c4b44aa72495d12d53ddfb4937e7b9deb0f1c4cfc0235e063d836767e0c9d59b901fabcea255b8b8e06cc1e2a469d2d266608f3cd598f02ae74695024038de37b6713dae129af1c2790aae82dbe78647fc201693cb1639a7b6e7f006e23e194df3c1910d46ee1c578c3b642b7c30939feeb149b593a38cdd476943107fd3e406a914923251b34bd2ecaeaf9739f343178bef1d2b308fe9c4de2ac8c9dbeff98cf7b77e968a7d9426b1c77650c6bb40286e9698e1a414d56c1bb5bf3d66fc48f713d42d01d3109b083a1cde1932b3a95f437bbf0e399a44c2ce851797e18e37066ebf765e435166e3080180a1e411c2de898d239f9bbfc99049d536fbc893efa01ca68c523c07327ae5919a49a988cc3d0a98df726fbe9e1693054d0de0cc9154d0cd0142bee5bcae99a31eb942d24ffa223bdb705ffb9d18dafe13fee9620a6d02d46936ff88768bb254de730215324f41c53b5cdb6665d7bb1dee8258a3b3c5413cb04556842b6f8526c6daaed8e791c03cfad693a13c743843540a02056828e8d3cff92bee673b9d1a250b0bbcda9bd34030962be1f4d9236f06da6b6213eb4c6070b5bb715c9b32ed72e423a3a6df8f32f8f7ccd09ca2918547bdf3926c7ad95139d533f872deb67eec95fe86fd4f808f43fbb9c46555700cdcd8eac4e16ea7881509d6e667b833f2750e2e8a4d74985c1d7282bc330a619c9b3afea1c558055e81a0a6559325a0e2b10723256285ad3afff9c08b9529edf1a75c31d6d9921469cb6e20d4145efd17e40c05aa91c4980bd28d8c79800254ab282bd8461b4149adbf0d9a23a96449b38136eb05aa19e01cdafddd62d2f63a119e5d75fd4befde65d12039f1742fb1056b9b40e77546e2e6d7348ffc5440be70052b4877e935926b2022fdaf35b206cb459b9b29fadfd10c091edefec08fed7c94f51c6a1bcc3d260c193a59cdde36eb8883f3ea5e6cb897207aa9a8d40faa2042863b662c197f4317bba59341355d43ba1adf1318f5019c137a051c6cfcc84f88f1031ba87525130e67df272014cfbc66d773d477154523ec42518a3ae6fd5056442d13b66eac455aebad7a978b2c5e7d75ff4f2e108a33f28de73c322bdfdd7e8d0ea27a159bbaa686d1ada8df92d644a32aeb5c1949590ed4e0a6a81d1c704dffc234e01b43dafb45203d6da8e52538db7d3ad3e9c830d96d6eec8982e5cb105a4de6bbb26394d3a629c7e5c1fd37d4135a7ff015850efb5ed217f91eda496d49ea45bdbb7e4538af45df9c8e681e15d490d28f95caae8022f6b5bd3dd815d1b2600170b4c3827be0d9088b6d498ade0b11b214a16880b482e47c5af10bf2233723175438afb401edf0826bb8ae26eb54252fde6ff0b2166c188e20571e95195ff72e18761071d52f6e4ebdba057baf665c854ac048d96286f15a1e9e2260517700c59dccdc7f8a3e2e674ad5c39775fa81c7303b42b93e2429432eeb645c854ef4c10bb0f65a15ebe617747bba47528cb94e01ac16ec3999d633cad0287ccbcb1486efd7bf0f8476ddd047ee38dce1d530a7042351fd43bc2ab3b52d8328e02afeaaa18bf8bb280a823f01d775c0264394f8a74bc96a78fbca0ee958bd79241d149d32a28e7bce3e87f06d247d71be5a1ae88873529ea8cef8cafc4712488605e9889332e5a60ce0ecac543b73fe326d98ec047a9ff612beec6ba5b770b23695eb16420710130c1e9cb8f01672db3847aa70237c808e4907f3f444798822105dc3de4e094e2d933ac7db554b2d6fede8a13a0c69f8fe19a736574cac184ce63a61d3508db7e6ee659a6c555f86381db9c43597ac5e010f41ca9fbaebf7027fd946b7ff087afec3292ca4a18b0add4e85aa03b9ef2ee36e0715f95946bf804a2794fd6959feafb892b7ce5c2cc57985beb8ced73ca03e7c79d3ae4c39e7292447cd18db90885d30d0bea52733f134369eb7282deeb1e174482f7f87b3539c703847b2e2b6ed16842602bb4e1816c24441e663d5cb60f780b3e54a12d0ec59c01bc6d1db4e9d62abce7e7fb074ca1b41ce7a24685ba55b05687046bf6a722698b00c5009fc56b18b7796d9e2eb83bbbaed325373f36d50832eec6982f8d3c195e4dffddea0e034d1a92dd9aa377fb64950e41e9fd8fb2e62a404bdead1ea5afafeebf8b3c11ff39dbfc84187fbc3bf875718e0075b97ea3c9f0201b84f115303fea8dc1ef850193e5363d1fe65a1fbfd7fea8c24dafeb6739a20a509bd11ddbe1f499c3ef187ef3576a50fceeb2f0f3b3c05c25aeb24acd2d26a3aabcceed04bf7d1f29cb8bda010cb9cbef6e9cbf3f4ba388b7a77c803e1fbcff9ca563d210e78aada2fe2e6612d3cda59aaa930ea5262fb33b0d41a8eca0525e45081cf9ca701531bccf75fec7ff2a1a4bef2eb38bf413d4587811638ceb2697acf2c44ad2da39ce96d54cf3cb7d7f353703bf61fbc20ee1bde2534f1a411aa634f431a401a9c4018c2badf7dafe7fe7f48367782559ae25805face7d6f52eefd107c4fc7fb2239de4c3a3b1c3154f891c8f153227a5a873dac01319e63e8399fb0595f08c4913b4ec2bb494804ee3f9cfdab59c6b23b31bfc17131c4eaf8fa32e8161a39015b9267e27443349c058590e56b9e6f913a506ca47d029fb28029fe06c7d83d2eb6c39fea4bc0da927104858fe0e0564a83a84f9bf780b96b242e8842fd438da74e4cd67da23715c01bb8062781457b3fa1f003995bdc8b73ed702b94664f27816b6839bf8924747be9409a197ab9a8e18475a40e632e1c5f98d40fff9f3f50fe00839a279263413a4c8cdff7bd9f4bb7c0d526c2a557f5be4ce66e4b6b484115713e71d42479d320338abf40f91ad1fdc504ab1bf572b1f9bd5c11f5b3a1e24ada96f9c74d50073ff311faeba47b0994f5d66f8cea6f990c2cde761319925331e8f5a159b6b2a3e7c783cc4dfaa3d2b34c44e17278731ee7c9c825012e6a00d034f836d53a2266c58ebf2aecd7112dec1eb1243a8f1baa7c87efd21458ebdf6c88971f437e73e1d74a1ddd362046968e1388f080c2af20316407dcdcb630fe4d8e6b9532534ff91a409beb66af191c4e387365f63470a261611e4a6bea61cbbfe3006630c9451bc318fa4b9418749a9230c0b1dd0f56d846cda9694307528acb6b89e4b3e9244f0af6fefa9aaabf2b39ada2373898df1ba964ca8dae9d439f9f69fe09699ad3a540bb7cc703d5602bf41e22f0b66c2308d8d3c203b3f16d11efba000e368e6ecd912d731b52e82e6c96ac0eb42a371ebe3659ed382ff4a55a12660a1e6ed52c88790b436229e23405853ab524c1ec8ca617a004b26dfe95d979576dfd40d0ce61111ed374afa6cf449ef1233321803fe15c2af70b6a7cd90a35d2f1e8d840f4e389ad0ccfd14f53adb443da6ae1f0adf4cadc50cc7c8053e2add4ae28346852b5e02a5453131b7d140287e3e9b2c5307b0a205be0f8a1fcfafa8686d114a24ea73f53bac69fc721c1396bf028031f6c220901c0d8adb2e0378e681cd4f3e874d3f6083223f83938463670ebdd3d75082e125ca024e56a54c63128e2286323a372e10b3ee7a441a7054406e884970f805a0d8090c3e06ec162d512b0336c4248e087f91ccaee07f0ed8559c7e8aae79c95ca9ac748d798f133ade2ba4ec2e742c3f0256fc2f2d907da748869ae22da56f3cdc0f2330b415891d23169071131a55d8c9470e8100e24dbf700be2d45150370e0091efa1e2f869d48309d0340fda65a1a1481a50f4ecbad04fe1f58e003757fd8526ef082a2647a7faab1bfe45405d5aa3a756a5ef58cd81d622575467010e932188719521085f10c44d595c1b12e4bd17f4082fdc276e93c0c9091c49629adf026fcf8c3fca52692f833fbd75e233e5f7d7ddac6c172c5db81e0d5451ae59c6e9ae00427b87c5765cd571f618e9025b1d16c8081e02ea9cb972d2f8e888fcb2e9c4926f7f70c0abc55265662a3812c2d74ffae9ff86815277740e7d0ab7a32c54098e97c553eb78996e2cc51f183031d42fd48ca6ce6d3bc0e5cd6b5b8cb406b679f3e37793d044f638d5931b8c636f29f1ccf987c419b04b89b44a7efe715b31431ff8aaf563ed39f5c22a9410df9420c12473febda84651ca63b12b87efabb9b66a9c8318ea2e0c062b03b83075cf1ee1246e2e20ee59e839532c5477fd52d51d1f96d8aa83fb9959904990df486ba01f86c292b99fb6beaf1c564e74c50b1938d3cd20751da50e71fb3587d2ec4faccbddee4701a56a4c1f05a24795e45bba8dd9a9a60e10538ae0518294fdd965c67930733aca7139ca520fa2ca2d5ed974a3fedb28d35eb77e462c89bc0e1d93afbda2f1a63604226c464506d02a59a53f2b0e212321c704628feabc05d529f1459447416c63982278fd608df3d55189f4bcb23205dcc73e5a70dc0751e1b25e7e6936f5463f4ae1134bbc95deb08ebba2d2dd626316d945543289bd55cf3f3d246cb48f9f5513bc0f190113a39428a7e073f1d7367a08beab73023a5bbe07ccf56053ea53a39187f00f5af2b0cfaf4870e038bda222e0e9586772b9c03e35ba28febeb0dff74df70847ac9600da65f891bed5395b9ce433332a138a7f7e84008e91824f2ef02a675c1ef71792e1b843b829d8fc9466c286000a52c8642625dd4d4076a332bb6e2141f007deecd5c10370ee9fcfdec220ea5b1d7e833442352a92804927818b79efe064be1ee443a129608c48adf3857d4bac9560e183b94141d08707be83e598c6595844a2fd95f79916ad4898af2b134e3f13ef11a4e0efddad483d5248cb6fbf5485f6a129c7463727ad8bad7852e66aa5dea154a8d8d9ab52b0170341c467cf2a380d5a2dc4c706cfd120b63488e44120cab6b0b9679e52256ed2646ccad8877926a67c33ec422eca57eb813ded0b414c9e180147e2cacbf2c65316c8da1cf9565518d11370592fbe655072b4e6e86a16cf35b41827924c222d07b7357da717c5c8c228bba0f66644d7667314036f103af20624ed6713c91383ab2d74c20d3c312e2c904700f6d18c3a85d57e5d4483d9f397633b2f4a08edb47e437891a3801c8cc6cfded7b34958373cddc6498129ce24ecfd16b21a5cf564d0f38b9e955b1a4e77113da4de017f45c12e1bf8e83f0d9490a9c06f9031d20f9de348af5c253f02d0f21e88e8c032ff20a3b5c4b8cbbcc11e00e1bb097f101c502fa35c7aed62ebfd5c8b882870e656e1090302b74b32617d0d267c38c6e8e9c19919fa0b381f9ffab35036a55858e9eafe6de603edc4a6d4377016a434809f2a4729732870dbb1e2cb6599cf2087a71715c61895c3f81cf6d69fe9a2e0ca3d8bd646c626358f7ac44596115d3ebb0131cbb82afa2c3aa0f15375039fe3a74b495417983e44bd2a43e892ccc2300f64f427f5cda9ddfcd599506c68eab0f6f880723d51c420593eba88bd54530dd3503c10d660653fbb3ca00aa537b8fb9b7307c419dee95de6c4c7244a8de4e7723eebccb096a55ff9764dd2a3ba8e4a60b002709b8b80d8d4f671a3abf64ac43e64e756c9c21c5a4d001a31e3c16dc97bdce2ad7568f4cdcc5d65a9a220fe1c69c1c026cb541b2f9c95b693cf3c9b4c816e5b42dd3e33fe88d4035b0c7d6018b0c5b358a34a66b213aab3fbc73ed0817238d7dc86f36fc4670d5311dd47222dce5a8b8db5c123837877eaaef1c8e169b655f19e87de57da0456f1af14e0aa4d33db76976dd39082e5d786a71cecdf7218a9fd2db4cea746c236dfad46cc703bf98737682dcc023d0d8ab468c1651f15deb8709298a0b4d9939269fffcf70771ea98e21dd2bb291b4a6241d7e451f40cacd64903e6bcae7c34980eecfea81b103645115fde9f91c09d771dc18c4e8760278fb9d8b931cde5546832ec979072fe4943786703b1b9047b89e9834a32b5e9b91652f4146bc30e8b1b8472349cce241d7e3a9126fb25a49a6ac485636949b6055d6996f72812bda23c2eca557ecf791d3cce8db64874ffb42da277327f90eaf9b4044a9811e12c738448b0960fb8c252b21c7793f83c1d85410ed1fe0569fd0e9e48ced1d936f87c55de4fdef240b5363f7df593b8e5c66c588eeca49c1a1cfe884159245588d329909366871ae3e23484b85f28593b23e60be9ad7aa1deb76597b52594e3120c63c39703371f1945612a4f9ab91035ceb885b2d46a942bbdf88cdbd90d44cb4e39e5f27f98cadce28440a54da122bf3c542a5c6642cc872a95bad8c98d0c872d5ac3a658988843169648f57ea0b47d5c7bb6bcfb392c03c7227af444d78a16f92c4592105447d64fc0ac74004440567c81748ebed0303a6d555fcb01ba0825397717332e1ab3888a192cbbe79f098ea8a00910fe090a1e95563d430c39cfd501af3f3fbef212e688d166a32a1ae3a52bc84c732412bb05d5318baaf581e2bd969aac093f8eb084aded9f221aab9164ffec8e8fccbd7fd248ea20417bb696b6090291a5af47a079b2569798aea8715c3cc07c9fbe6a08c4745745179c7a90561a040c5968c354011f9e0f8ce44c64736ce4c1b743c559de4237dd23e78d5980696e1e0436500571b4819a31100a991ef40b6a8e4392c7ccfd51bad4bcc3cdc0c27eddb4fda41b213c4c5ea66c014de4182e045a906c22930946a3ebc228ef9350346ab38fa2c4d4101e8f45d201391f73c8aaef6808d4b1f9a1157fbd5ea904c9cb504ef40c6a16440c2dd33d4b0f0721d35901679a7dc721031eb79b988488d9b8d3e64430aaeb717d74474eff62311bf6ce45319bf23ac9b8c045ffb55ccb3139f83bac01e7a3d29119f1c2431b4d4570ef1e84967de0795ed3609eb58790b2791d40702b2e867b730995d6b857682b3ae6d1548920d77958a6032ca7f3224f5878f0910ea042e85322359de25708a8b02c9ec436bd8969b6deef6af4f87157d5134b436713767f7372f3a2cc2c59a2f92138fa3457c986abae1d5c41e56f1524aa124a51955149611df0f5814ae5fe6d531d48da2f8de1c0c22f8b8cc015be47b4fc324177837c240ab6972d7f8daf0445166ca543ecef246ab64989e1a4ab67eb63437d5038e2d19f13ade6e8421df11e31a536e998f3df33e6fa495d113e50bf429948ea6a8e843533ecf249a087bc8ad3902da58f709615804f26045a8b05fd24159d141eb7c918ff378819490897a9c0c344960471ead98ca6796635c065103831956010f0b9dfcfa06e8864d4c8b917992775ea6c32ce5ad446531a45552cadbebfbe1e4d0cae04cf2843d3b49f150e1d72c8bf5166de8890bf5c5b0ecbb84a5709b0609469043c9d24137a3da7874d0cf069e3a3bdd6ed13e93f03a80b07276e901e3297ccf2225b5423a38cf10413f7e8b6e655d39dd907f320a3458c32d61df7d8289368aa94440d0f0b44a673f47b70f77e0f83b93d2ebdbf3fe8ffe06bc93988defa0018ab51c74e570814746d6721172fe4b09226550e76ad2d16fe569024fcf124bd781630c76db63cdbcd621c283ab7c21349ab84481bfa478b6d47033e43ed5a7577d57949309f3a0398ed0ed1552c89a16975a7724fda6445b9cdfdd2499a592177032489d9c2824db841e6104161b254ff50883497f74187d517f98b90205ba63c41980269573522873f4e5fc6f12174dbdb00046652fc197ada36d420ee2972ac8e911dbe4b8b79086f33e5efaffb5e8661f8cb87d13fa425021f0636bcb2688dff18a438ce2d04c7c7366ac547397ba22d0cec60fe3545cd01b5d694ee13d585c9a9b326d9c49fe4b4491896b2adce9aa3d4041269193d2918aca9ca0fd32b78c3ef5a03bce33c8113087fe296d92eaa2ff0178955fae6573ccc16a6b3cdb2a07d400c063650e01201cdbeca5dbc2e44812487d5b9d8345dec0aeb8d47d701b0e1bf82b66c6c787682b23b7e011665229627b86470b74e38d1f84e6c0d4ae6fa656895e2aed8a9dff4ce28100691e67caf93acddb43dd02dfc4b0b632942e072d2b0a61cf845d2f0fecf920b24bed524c2e6f942912c121dc691112b2ca06e9ab65ca9a2ad8cb07d025122317d771ad33532e296531082ae3aff8074ee57c31d3284bafc0960483751aad0177aa564cc55b5eb0292214565d9c799abda7132f9705c9786dd8cd37cbefe24bd000ab8c5b5a15e2c71d5c0b8a97e0397c687e18892523fbbcf6c724c456e6a097b7a7d5bfe8db752ee4b9f11deeec1e83d8d0bab907008d8c34205ddbe1d70605ba16cff28cc04e11f612a7a1d7a56290482a861d18476aed442df1a61896844f129ff10aa63fc7f7f1ae8b6e8b9b9a90053171d818dcddac8b5e9dac6d92c841c448e9784710bcf7d2c413f16ec5a3518940fee2940bf60f1be159ee10e510c3689eb784e04fa6c978bd6f5fb2bc1795a50bbdfaba228fc747cd185257abc344c82a783e741e068b0672d852411e331f4a2fdba84753501bec3a32fbc63d0e2fed1fbed89fc758a3601d211f34b97e0e7fdfea977a8c47911e70be8b7cc2ac54a4a3bf0e41a856fbfc0130a5c04469253c967bf207c637ecf89535334f96fa799dcb04db7ee8c93654b7f11b6775050c3c400b9741853d287a839f2080989560597990e10145705f80ac14358981fdca311cd4506d81f7a98a82e9d82930d41c929a0550b887bd9049d45c7d748ab0748e39fdccd8286ed6ce5b6dd6c481fc1c5766b2bd9e3fac0bdeb2d672b618eb5d1163ba2af7bf68fd80a5a8b6da7557849d82365953401ec6e3c192c72c1582082d3f7a653cded1b14709e6609ce4af4e2c8e0195534bccc3d7818f7eeb88c35ef2bc2de026986571b57d68fcf0f73899ec177dfd8689431737fe51076e0fdfefb68d64134276984a324cd11543b263394124d50f84468a9a6954f1aabdc6898f4ca240bac44dfeb50fc6bf6c2c7bfe5fb488f83d32bee4209d383a19643b19dbd71756b3315146893e29d4a73f6c8467aadfe2b80992112fd859d7267071337765952c4abad870f57f580347572a214b184c28850af3b1531c3de235eb0b1c96c3dcd19e3dd9b2747c2a54ca08190a47181aba151487c17141c9dc146f23e408a8edd1226405f4733fe54b53a28ccda10fef0a473d071d44703b84c9ffa49ebb09b52f0fc8303e8c31fc3a0d3bfdb1598fcd74e72475a3851b7fdc0a91b812d75c7401fe922df1964ef5f2bcaf1a97307d7ed0391bc3ecc2e188c78fbc00f38b4c83f882532a8c36b96c9caa71a1efce3057a2d779150e33c7aa0ff7e787f80427cc89d60f361c5b20e38c4eaf4564a54263af423b3f3dd2aa35fa74ee96938cc98600cf57e348d6b6e7201574a4ce6ee28311afccf1e759dc3a9406fa7bab35545287a77cc5a68050a343e5e86b34a93a77d51b97338ff2330272780685eba29f61716fad18de55fae596d6c58ec34a577847928a201b422d59307c0202d63546d89ac0fe8abae75fc6400fa13518b3ce05133cfd5f12b771ddf28b62422984b7e7df0eea50fd32b68c056494dcafe7e094f3a61a209f4f0734666ce11c91606bd966493174533cca9156e4517dccf9ba68d93893220aadedf8bb4bdad2860860cf339805b1a59c2a4dd803b56674e3f2cf19f3740cd53de328866ded2234121e447b78b9ed06dc7217a229afaf1ab0d59b1443d535e1f8d908e26b12ff1a8506654726a0d9206720ce772d2f839e35da8855482a32b18fd3ec6add29cafc918d1475d5c94cb1818046e248493815f46cafa43a75d49a3b9290418ac39ec4c85d00319c838ec267d80a88bc8fd286f9aaec57032b05a96c685f878942418bbef32e45029978e9881eaca5f671d8751150d4c548d0aaff30f54f38a325389341379005e653ef05d23e1689247f99732bf21dd20cff2b8a2e21f4386c23feaab29f430a4abf03238917ea255149170b0762cffb67a12591782d4a34d42eaacd3b2e31cba8e405f9041bc0960efb94f82078dbaae67d9c3b1f8edc18c5c250246e14989ef575e708084435db74bd6209c36f4bb02e41b93175d30e2751e29e3bcfc96883d3761f2ee14eecb47daf07faa35f8a6c4c0863870c5e276b74ec7afae5d3506626a5618f9a402e909276e608a8673f51201c66822a8bcf468680fc1b974a14cdb73c94e3d222ea643b869298b9ce74f1095db19cc4e474543dc9547584a3111eda9f8a58ceb9fe026fcdb9e541f87db5ffaca66e1ae399b233886a346633ede0c16ae882e292f63a5779a2a2a7b5adfe1219fbc9cc0be3afd558024666f10da336c3f358e9aafdd520fe14eb69bc9e95e35ad45ac8b162b0bc643e4fc07f28109a0c15844b0f13193b144e8f5bd7f457fb26b2ae423020abfb55659401cd9341df3931419cf31c45c09a43900b7e03bc3c369f84552f34ebcd6e82c8fc700e3b1d76080a6ea871d4302db05d697fe397053577d8fe00740840807b92ad818eabfeecd436489b96c4c44b3d1925123bb7b93bde50e590556055d05dddd2c1974ec98f4886e9fa2f7247a4658d0bf3e81de2d3a94a1e3e87507ddce982763a38c61a653d2745dc45d3824438fddba8d3f97eb7e3df2f55dd8fa2fd7f4722a0ef38a8f2ee739b42dd249f4a43c25c17ed2a4c3e7160781c3ed6d101896ebc22ca645a772848a0aa55d77bd5d9f0929d864ee960a7232777a2cc5e547c7b44b4d5909acd65903fe1498d341e5299e4205461add83c0f4a5948ce79dca62bc6318a43696d66d3592244129a7a74a389add58ab3a7d928070f5440d0c18d7f0b775f8b3308e5535599e890b8ae41832a48bde59631629dce6e29fa534a2fb51993bbd29594c4a8aca31158e8234d505fe6ceeb71c05a51189ee8b964b6f2e8c4bba2f0eb318ed36628604abfd4507027997363982f53101edcf306b7f81694ef442d861acfb0189bf5c03526ce0f3148730585fee18cc2c1d0d2dacdd98e9b8aef7ad9b19c17e4defb151c39811f73e7798b14b736813edd6a54da2272f4c698e08acf53e9569e85239e7d21180dcc738cae68bcee4ebf47e2cf91af5d882d4683bf6c6c3019a7acad737a0e48b4ef275eb7e564e0692e945ef0f4fee0e033d8be940b72ebd8901618a133dc9e1cf2573c73e57e554767777b3389672a90da5c4a6fca34a64e892db882eaac9492c892eb7cd5aeea363f48abaf7fda0ce0775a04eb68edd2f88918c9df2477332a5ffa84c0fea87faeaeb07c84de36a0149fd8be6c85aad8f2c4acb5d7745a7dfcc7decfe803a5974ac52d1e33e2926e29f3f95a9e8307adc61d6801457c1c74944d8133dee4160581eba5f8d7ce1eff9f359142dce72ac3d2d706584e5563445d8eb5f4573a3e33a767a7d5c98eb5fbfd1798b1ecdd9409ad7e1efb2a829cb135d624365312c70b4dd9888cffb1384524a2f0af3a7b10febb47560926058e5c145744c740c6618763f976ab7787a921561e51fad726209d469973d1ae5f8721d7461edb8fb3d5f1fdd6fcbd74334e7c3f00f974c1b90e29f8e265fb711fb5aef2e6cbdaf75d1b568aa224662895edec817954bf96fee64f9cd2833b91a92e54c86f8ca9c4892bf57e24492fcafbc89d22692e43322d46a371c72ff8039d475bdc3300cc3447c3e1896027387439aacddb6bf0d36e64f9a62006a8e0c9150f2274f513a5b40c76c8714e77450f94705e3809350b70f02130466e54a22f2845919886195e773c9d7b1739769ccf220dd1dbae84172cd64ba1c5dbf21d7d1bb7f0f6189d30f41537747d76b198227d24218bbd7adedba306f579ec26057dc192e2e3a0dc2a6d6700f978f4b107df3c19c0e9fab5ce573dd1ee0f569ec87cb75bdfbf6723ad8ab5cc53e88145749a1d22954fa10a6537edd1f114ac661237a32871a5247de4893c9d4a7d691a653f78d7c91538024f92ce08c21cbc3481394214f3b8d4496cd619834c512e52496a0123cb093e5a92145e2cb8b27b104990cb1449a72fee489c90a6c7275c3869bfc5144b284b9724cb1f45537a758fa284d9697d5299f689358ea2964794a134b38a277134bd49dd027598ef2494a53f4e429d290d224e52996e00264b6ee46bff3e289a4be96fb5509c68188593dc493aa8ad1b5821123468c185dab16182d316078cda34f35c923792f5cb4606181ef9fb054589c0aae5615b5d65a6bad56ad17e6c93e2916854a0a0da4a236f150710a3060c0a094524a29a5204a2905b5005d1289c4c2f2dfebbd20792f5cb4606181ef71a816c52109ef8f13146892418145b3e8b6001020be44911dd98742bb6817edc20591217d2878deaf85eeee6aab5a612dece47816f82244de9ce10419beee3c816be15a40200e04028140201048024ddeefeebf870e11e86ea93a464b4b4b4bd53262c86889c15d183060b4688131c98351913c204074ffe3440b966ec1d22d5ab0b0580008104bbcc903bf40907c611e66e41c33729f2444867442008b551eda646631d7f5145116b3f2eda3bb6d97a2184791c29d050a11f60b933cb477c76e81700e0d771846af7be87edaeb15c01dc480eed649211da15f0769ef63b77e5d4e7bf74bebde6118a45d45c75d0f61156ab0579f7498f1e0de611fdc41d847ca2f2032631888cc1ca6321d2dbf2eb31c2938060622f1c7e2123d3e62a2d1758d747c16760cf3d82c66e523eb97087f1bb82e0bc35fdcf01744a2b831ca532cc995f7e8ca9334a1902b2def8ef5ca35ed96b512121de36ef3081d46efe26e1f843f20f2a5bd79846ea3273a27fae7529186e830e311c25f3d867dacbcfb0aee3e00dcba70c5b2aeebdb5eb1ee1dc25fb4ee672d902fed20d0617cf99cbb5eaffd73612469f8b35eb78bbbe8bab66e1d2d7f77ac3b4c03220786b1db81bef2718771d0fd3890e3c2117ff51c0622735757566e43aedc96a3b85486713f0ae47a005c15d448c66116230347c940626eb98d48ba549e598e4a931b7f3bb20fefd65b300f33f275b5101bd4b92e44ee8edd3b103380c8dcdefbd619b9c3df8efc63466ef163466e01446257e6ceb060fbf27cc5fd2efc2342c92feec17d3a9d5adc86309e87fb0af693261428c959864d94e009f9c5c561053bfa274d9426521a2736ab82fd7eb0e47f9446009645c892272ca382f5c183ccddbb1f64be6e15b117963a583eb9aeae33190ccba660b55bef7e713ad1e3707532590d573a5f559da460bb2b8b82a5af1b68a5a160af5b386ac744b4887691a675c72ebbc77fd8ad74ba63e7d1dd47a5f3cc6d1062dcad63dcad74aad3755987f9f26855754369a2e7e292d549caeb291dcdb98ad89b138aea24dbdacb5308e18c932119244dd786553ef56a626f23d29c77f8ab14745d5c157bb387ee0f96cce29dc5b078c39c39e1894ea4219f3dc17ed5a93a553ab10461603d1926610314644f864d9400099af3249622cd01f1e0927d74b7ce698d3327d88fe6a4a470d4147292a5063a776993d08519c4834bd68e61dab1abbdc705a377e18fca9675bbee991336e21f2ef9c2d408a634d1a3a14584c8f22cd748861001598eed6bffdcc8970f96b03d7a932569e5373a83beca882c5f19d12fd246da2891a5d5d6e501e6a41c6b9cedbabcdbeb3a154bdcafd75812fdba074b936c89e1f21ade863f971a9fecfac80bcb3c299eed5af946e7149883ddc49285614e66f1ef07ccc1ac2b6fa40d66066bfd9336b2084b9a9ab09f8bf7131d875303deb8d4f05ce2d543671f7260db7643fb0f3273a2db558fb7b3c5e2fa4075caa5e3a48af244969736b114a22e611613ca814942dd858d8c760fde4ed54e7592a76aa73a79aaa44a44a150854cd84f9aea962d617d4c2025e595244d2dfb492ca1b88c2f11463e919f00d203cdd73b4328a37b873f0c70bf16408bd0ebdaaf7a1494e6079957cedd1e685e3910095a9981d5fed18c8905755dd75d357218b9ccd8bc16ed2c761b79ac563df9b22e9abbf640f3d683dc8ecd2ca6d61833996d4bb9503a3165180af9724beac6b1df4f30e9c994b09f344993245d3e4bc27675a45f2189a51598bbaad38a938e916e55b3e25f55b3e2d591eae4e2d5aedcc2321b86816274bfd1d7f561fd4a6961f11b9d53ac22b63be8d6bd2efc83ccdd6186d985c188c2a3424289a54fda78ae762366159eb651a81922f2e688213a2a328fb489a58f2a91454869924e5aae3cc9275207c3124a86633f1a4b47c41235c25d5ac4c294e6a2250b5738d1ab6e90a8aa852417d8931b922a86a415fc8daece54be6a628974f9ea08ac96447a95c59070b43d93a509d4410b8bc99860591e902f5077285fb0d85774d0fde4e9933adbfd2e2c3a96c2f3b90d73510973bd54de407609f66291d911f6eb53a604fb553419a32c109601cf6a6043104208a1bcf488e851ec5f719885208c155d8a2e82f2a163a14b6fc86045bfe898bc555775dd65a877d58fb8a14efa06879aa247a9296f18072c24ce0c8105ba8257e0af4aeae128cce9c80e9f1dda48835e1eb1a3d1453e6455bdab3097837a7519ea55873f593d04afe8d5151d663122eea34b04c79d864ecf5d4f24d1c34c4d10d610d88d7e05a637d1a3b74060bfeb945268e5e75329756106a387635d6249164045a6f7c00254996e1b08a7b8c41f95e2fa30f3577da0f6fad029d7e431657aec5e97d311b3bcfce1c9f2f595267e38102d14502250e7e19cb846cfb252525c35c43e50998a40a8c1992162c2114b9fb72396aaf77724a0c70e3d70e0ecd8c186c964c38463478fd9b2d17caf158b1409a49456524a29a59452ca8ab2336645abf51b9de9a79637fba291e4a3bd35b4535a0ed96db9a50bcbec547cd19ee1ef87275fb7c7ae6b6f0d1b7bfdab219343f4a47685680fc161ac0ce4ec28b0165bbb423e6001ed29ee6587343095be10cac0b02783d4c8c186ed1f9e9c42713a301e3c39c32d1810f9a2a087656f89a50c7f41781e0c7b176ec9217a39d4c0a0d8cff35a62db68d5e060327382aa4410791ec2128c1e3ccc161073f4640a52d40412bb0bb163ce213b0d67f148e0a16670c3e4c84ceec2ce93a6388a6a9b582aa2a1c497e6c2cc11b10497d0814d96f209aa210562e91bcdc452a99bc8f2516475c07e6d73ea50b6f4b44dc45fe7c8211da3ec2159f60cc848d7d8b41048b04824912875104b3e34cd920a272563cf4fe39e81321aa70836363614803ab107b687209dc83209b9084a48120ac3e3cb4addb6a96e28a2ba011ebe870049f249c049a29d30d9401932e21ea2c44c0f2a193fa5d5fa4666472cb43c60df36f0288cb428abb110caf03e88f35a258e1db1047f5555554d967b26fa6bce1de634edb828463fab639ff34675ecd8ac7e1dbb2e0eec5875eb7cbd3e62f64a9f5d863eabbf268665cf0e1cb1749d2251387a548f9f14a8c4903fb8b34355cd6a0a4952d5fb80e85114ef1001eb7a91466663e1bfcf0754535295a42a4955d50ed0094a92ec4c6e4ef81d622966ea0fa0a82634d425104b70891d2cc954a66aa2983291092b1f3a7fcfd4a10cea0e80f00111a86e8054b599baec9c14754b0953d7502949bc1e5e4892ea145b7837cd42bc750a465a6c8867f603fb78046b1b9081881918c842d5c06e524a29e58ce85137d094551153988f5a612cbd514f4fab63d5752183a5978eeaa3be73c4cfcbc44f997fe8dcafe48cf8629d1a4512752cba50af15deac1d6c3deace1035a0a85a6badd6c5116950cf8470336d448faa95aa54a5a82c08f673c9947cd9ea163d8ae297c1d651f4a8d7b36cd44d8fe8519b7ca160a83f938999e21dd1a380602b9c2db1f05f85a7292f235437cc4bed1504c311283734b6ef452fc2ca004bf8e00686aac052788b5e0a5cba8fb0c3841ce41881c90b72d88033628313bbc1024819f963f15abc88418a228f515fb0508349725d9875b575b575755f54ea60adf388a95d3da5169dd663fcc4cfc7aa8c5434daed0cbbdb39673a76a3d4731b315444f4aebeaebee84569d3eb8644dc6f74ee8e1da93c555565312cd7bc193049badbf9baf067752cf6eec20c610bcc3c9917ec07bb60bf8a266339cc62583ae382cd9e645be8279f9b69c1b6f7177b69e366c89605fbd11c99ceb2902d80bb29f75c8e890b966415191a818337649075d047f70b92bbaebb0cf6ee417277bfeba08b1e0a922f20318b30043a00a0d1dd0eba91d3b4832ecd624032d6318c3d48ee8bddd0df3590984318021d006dbb96c23d6637b87bbebd38d19cdae2b2e512883cea40a1983190bd8161ebdd35fc01917b748b07e8367a211fd75b6e2376287498f1006118bd501ddd77f7c302575675e36febfaaac25da95be79c13d30aa3e765586111c6c17abdb43f9844c562522d70a48b8e2f86e8f81aa145b22aad2eea330ed1de841494012fa185bf11f74782140e598c9c98f2c8d88294ddc0f63f4f86c47628bea85006bc94524a1c56bad13f36521a6802ab3e9b5210decf5620d48e392f24497bb860e1294bf4e62bc45ef4846061f4a66559f0f432bb513111d9617696f8927dfed9dd1149f318e5b97ca160e63d48318e2716c36d0437cd166ccf7a410b3e7ab46077c497e38825cf6b130b7fd60936e73d59f8e013791ebb7cc90149f34e4ccf25cf1a79ca981553fc419ceb305b5bfd84b775f37cd66aedc42149f3157f9ed7639ebb456fbe5e1bbd797ab516d8cffa792d96e8e7b759e5a46d247a739e264febc5124b4b8609d861d2308124571cd3050cd6f5446fe2ec004f791e5a38219d3ae0a9770d668349487d548e588431c6180fb18d778bb16ed2b2b0661bcbcd6a9bfc07f1163d79696ba401afa59234a99a385b462ac6c7193bca380f7355f990b24fc953f97b0b81a17254c28e1249988009128e68420d374dac8108015450d8944fe6c12eabd26a529f9412a6a835809b9c41c288fcbdde8c81068b6fcfeceeeeeeeeeeeeb935cd5867396866891ecd30939b8d5e36020b3f235380cd7863ae74462dbe8046b1d441af0f2d24757ffac8b31f6517288a9addb88fc59ed469cf38279d94ac24257be050386acc798cba97caa14461896d4c9877982021a9d390cacaf035435a63ab1a3b3d568da532acb1d4630621130a1bf29c739ed22cc63a623b0a949d780bc4c0ce17d8af777aa7a1ccf9482496aa39efa94ec512f50a5b63b034276730b086b0518858d333d19b9f8f466209491c225fe867fd7c2684fd3a5b1ef81e03244d0bf70e9431eb7649b268603f2d57190f18bd8fcb5e60fbd04986a7fc55387381edcff9ac05f6d3f2fc2c02ca98cf8cd8f8a6904019134af46647c1bd13bd396f09617b27cf379118ea9de5985bac62c7faa9e25b8ba5ae6664b5844992c76f4c92a02143264974f2374a9153f2f70150611eabf225ae000d34ed6d76564e071a445c011a6860e883c0488ba65a43f2fc57a3646b2656f921c24592e6e3cd6eacc82ed19b14f62469fe0cb6d64c0a8924cd37d75d712a939c3c5fa35842e20b28a7492c4126726cf27c9267cda93a79f64e13261ce4afeee42999c839e5afb2214f9b5bc6aa24963e4a49aec9f3b322c9f3d34915f2e7c95f554285fcd523f2a494c8978699a76c609e9e8a44bed41c892fd492e87983fdbc8a23aa2a0e2cc08afa853cb330677522cf8a513a96b28991469b3ca594f707cdc945e4f9794a497555a8c14a283e5033475c71a2378b60bfaa24cf393f5f97c4979e99757e1bcbc43eec4c862c226644adb5461a69adb0d6396bfc6a84af112f6b8464e85282307c00f3cc0acb2e4a4b0192e1d69fb412478b6df4ae26a5450fef0f4f969bac763bc476d358603dcf604690792ee5d1583ecf23ab284c54a186892adc8062a20a4b6a8649d480816201e5c9f4186c4b898c0716e63e8eee6c04b54619d8eed31cabaa7a7551b6030bdff2d50f8ade4824601475ac6f057a2062c8612afc37df5557327e15e821884c79d053f012518fcd5b811e88b0301549f1b502958219c43fc82cc5c0640d449a40439426a22009406743b058254c3835610bb49a347e5e4e5c6515bbc259a871433d0d827b3dc65d88841286988139227a95ed4c6634aa4292acd86e0db1a2878e8daee8761613a222154d22b022eeb6124f887203d32714f4490a68278abc144af4689dc9f4752696e4954f624b0fa5a74a2496a84ef4e829354119f436a25c716a922fb4072db1343ad52a2a2a2ad449f4283c451af4589283a814cc178a9b5842553401020a8314002028140c064442b178388e8130cd7c14800c8fa8527c4e1986390aa320c8188388310018400000800081819981299601f098b63f76feac077b4848967d42acea592e92a3980938f6fbcfd812390211b3691cb0b2da8564803907d0c434259733085771710e09c5c552bb845df60f1cde24856b24155a84740374d45d24bdac0fdebc07b8111fa043949f0cf8c6f37ca8dc71e5cb721a9396d90214b26fcc602cdbaf4cbb02a41e8f453fbab99659d949d837cbe732f17e3c9d030e133d1759b948dafac6848ba6f22f6187366ad30240a9f731ca9b49a600e366651bba1f63a53d1caac328369b20ce803850b837505ba98244e24e4f91b3160cbc7786d047be986de730b34278668ada4a41908c8c6afc87bf8b19b066f217f1780722ba2754701718f0a6478d424c52c2fd23dc5f37020d2b2049e81bdd2f879922ebbacae9352dd18713dc6c71ef75b4e914a44e572ee7947c4bc9afccdeb1548d1e349b4aa26832af758ade5d6f1f34482e63e73e28d4f94cd6559b88bb632d89e49fcdfd63ae4488685fd4559afaac678ddbfc11cd742e987b34a30f05f8f871d2906dd2bc7a0c0f05a122d170cad91a110d88162cb34a7a038cc756ce721001ed4763b5c252124f1fd52c239b293ceca0cb6211640e915f922a74482af90a6475a5d1cad5aa2fce22d5541790bdfcb2a94f93e89e82c6a436797d1ba016d3b250d61a5f85d2b701282f39d53a56be41856cba514685d654ec928b707b38864df90c174392c38c7f7cff8ff740371c55e953478ab28f0efa2064268d51eba8c954284eaa1750537fd6fe87618105988a4277a6cac30ca770609ccc4299108342b810d5ca46c3607dde9e33ba6cd28b5f0f78675adca76b1d3e063dd995022cbb8c02f2f45fc5fb4663e24ff6a3b27bf933ade9a7162b5ba7c7d399804276c50885b838de7342639774fc8c15113a5fc72983741613d2b9e61038463a692d3004c9e7f99421eec803ed3fe390f7e0d2f4050a4a602232338174740ee9dc4521163823f0fe6d3d14b594efe36199f58d43535c3729169826909da1c0d4ccf0256dc916f5884975b9ae7e49f2ea644c28548ccdb9c2a2a7a67e1993caaec00ff9981375ff85b06bf22614a41081d36a50e3c16751911e609b70d8d3ef5dbaa70a70a0e6b8f0b5f4f37f779d6cd7ec03016d92a65c4963445e2723258befd1ec32139bec345eec9d7f88892146766dae5b8c259eeef0b883d91246979e4014da01fa1d9c532c076982a33b9cba4197017739417e30bcb69d7e13ddfc66e0f921a865c29983a680185b1e21b612a09a0ac6f6a7f752a0afffa645f83301f1c54ab4156bb9f9ccf6af8b0a817d6fb159c162b21a1ff11bac796395ae47491cfd146da00b6f458179f5cdb9c16d8b1c4dde61b33bb879daacb433550b9dc92a6e83d7c2d263255986f7dcde30ee212373179978d0c4e5e50ec797d5360de4eec94360a74bf3ff313c1b2f77fd3b5d5b9c266e5fb4177673e0ed4ec5cffa425fead6fd83c5ac91ca430ec7996100c180f28591a73f57c069e638fa683b8bf3b80fa1fc84210264e5c685d0e39df778f77bdef9fd777eff3bbeeb3def7b8777153aa4ba19d007de139869bba2ee275073e34439506097d36dcb5181eeb90a5c8beee40774c4feded7b7102cf57f4de2b651116e74ce14f0be95efc9193797635cd0b7d11600697e559efc0977a13eeedeac36b9ee282510c07c0aaedff96522df29dacfadfb536fc28f3c7d57f97a7b14f34f202d05d726b7344537c5dfe39bf2179d911d6ed927eb8fdd5ee69194d489ca26857b5fbac61b73c3f6d1bdb71aae9ba844fe8c2574be8899a6d2e87bf50e58f8f4afb4648d361fe734de7cd57815185adbfe49c6f86f73bb2ae2987577cdd29ddf2c4c9cb0b2a22ae1b0eab6b11d72dd87bb75e42b70734298682348f38da1380df20e4449e7a6960a38e2a0a7417d728e7abee304a7a22c711b067fd61087cab13224052e91123ad453b9066b1e2c1a219e3a6712bf56ce892fda2b035794cda851c24430ff548868ab2d532cb582fe7d3c5b6cb04ab082c9eff544db0f8732698a6efe5cdef1d4f5146c40d50768fe06817091774030ce1f72b70ebb8f895d5615a5f45033b9a09029aa8320805edc59339450556443431408d46ca1b41e582815b285e3049e1f7436819b16d320098901990b2619f6e0bb9b40ddf47ade95b8a4a25692fed3720936d1614994628fc9dae6046acc55015b6d4ec87fd0ae4041b070900853ffdf98122852e33f9cd9e04f04c8534bb7255cca165e0658b81aac616b60be91c5cb3a4339708cd17900665e4266d394651859ae7e50b036d0cf53364070a7a44342af33b1c6af8d8237f4d1f479874316f35773fe07ba53543912767641b6dcce691b92cfa6e76ee088c8c3075e8a50b2712af801d6ec4f5a59c8d98f91031730f06f4c8705d8e67de22abcdb829f62b4f4dd6307bf96de34a44de33216a19eb8b6f70f449dcaf68750a9b65299d278b4de0360b92c12a541ab902592bcb94c2d54ae4b04d02ee3706a08ffbf6073dc465241711ae5dbe0e27c3731bfad8c0d49d7d7433ce9704f0efd996b635ff46599430b4bd3d15a503ee975118141373c8b29176139c98aaf81bcfa1dd27701e5802f6db037ba83b790f087a6960712e9ada02c6f77429ba30ae0afd74063ae1db2cf93c427d523356ea94f91c1c52c93708dd47872e916442f5a4dee0ea117f0b1b5c97892b66b6b01501bfae3a0a6b6ea684214f1949d4ef577edfa2ac88b8b058479e1ac559a4741afbe015336494740b5cd46ca08d92db6acc346e8927c2c2e908056557ea63aca1ecf54563393f95dad9542c7e2d4e39a9d90de8130c12967811b8d2094fb338aa50e6d9e3902dc168c4ca719be74b00d8237fcd50952b7b8ec9d8e578e72030d8fc090e710d287794520d1d49a9610afa4e290c9fa2f2cb0bc61554b617610ee5fd7225bf17ce111d09c9b8e516c1909ea9c1cdb73870baf886e291db2a2ea89582942c9eb5bc979e5833a153665c775724e5c6745ddd4e8ecb629dcb73f42d1b8d7857cec3f67774ab9064eb053d233724483e588bc000f3f9264c2a3533206daaf266d5cd3a5e4eb30682d36795a91b326f17adb6a5599388eaf56ed60b84552bf4eba494960a3cb574caf32e33aaa1e93c1ff1d64b84d623639f090b563012d2fc44bca28c7a7527f81d1dfb630b58e532a2fa75eef0276fca765009ab76ed96f46dcc703d79e469f41f5b0ee1ca71ec91000fc8ee53e7eb63b1ddfac8f63c6a12cfb525fa4d10c0276dd39c4c8a0797ddb62a43d3354555c17cd22221700eb3939f04b22946995053168cdf3738bd0202d93c2deac27c666d53763a0827e6670622b60e49aebe6114f501e312fbe26cd721b1523c79694947b3068f1d934ae00a0817e27fc1e4c014e5cc260078afa404f4deb0a104861e9d70d93d5f99c751dc382e50101c046fe0e582d90694293fb027f0bce143c7a5b9966bf313f97fd9210f30cb49da157e368c5b1eb36dd604e32579855a2232c8b003d6aadabbbc0004b5a4a0dcc9b1ac511f00799d1b54d528246c36a3e1bfa867f31111ac8db633531a13b4cef3c5e836bf80a6bf73978f507adb80ed607f2849e2d1f5676a7bdcef8ba61d0e06b547df4fbdfcef4502b209372e8c754b1fbcfbf0d24077a174370e9be701ef0f865c8641093a3c3617912371db76569cfb1fc998a785cfd9bd2511fb7bc145c9edc00e2cc41cca42b2039b46b83ec386479c8378df1974e76a2f6162080548cc70a70bef170e540adb6f63ee0e07882e335ec46b0c4de2abd5f8ec12fbb4ead72fed8fe7e15c053b2860ae2f317d44be2d55a7fd45430b6a3810a698254561472e974b67e7f76dc0eec3688c6ba3cd7c054c010819163115041f73c89527be20ab43500e9fb0838ffbb4a0f3dcb5ae3662e9343d63393258e779099d84734904b1557e9e14948a2fce1162ffebf8b8b5c3fd02db386b022b681de751079aff87c4808efcfa99b314ca6b38606aace0fe2de221f12b22e0ab91ffa1ed660d020923718884943602f45d97a8f533a2be517faba922d1b280b809403aa0033a2a2ed2e8db72a9a23cbfd29946dac73cdc17c42142232889c004fb15f77855ca06d2826ab0d96c4147d51be0081fe821d0c05a4c483bc191bcc0261faa9b35250e01df166d2b6345646e03a8a2c04909e052cf1ee77a80031ce17056f548fb0434cd7f12d40e64c353e84094af346941e1f2843151120d1a049760beeb0070c7ec5fe406edc256be4cc6a3012371a976aa6cb0dc8adda8f1a2ae070177b5975e585c18c4049b1aef805a652c4b007cf660fd706868118044b729b9851dff594315ae9d40131001d2ff2748221afe0cbeba2ff65d781514a0ae7158e48f99793ba4729b229c234c3e2d7a799536ab7d805c449835903d874aa932f3677d87ccec6412b3ed182e5612ebeadbe44673c0c192579eb039203291dc8d0b12143451701e5d2ecadd22336de6069cb44c1b33a6fa40df1bb010fa11f800dba3554644f140a99e96972caa5f72868465eb238504748229fd69d7f8f54228e45c568fc6a5e442d481e1078dd9d05a94f66776a81172c81af16a408484119e53858526327237d48ad0238560940ef85a577d1dc15770984cd3d52d88f279554f79d2995b94e7d89ecdd82c5c50f204631d06861befd1bcd1b4d23c79c8d8994ae3a62f7215474ee9e90f80262415da8903b753fbe5de29b6941792bcd2f998f6ad7227fd46e3c011c3c4bceef1e745142c94c752fbd7e7420ddfc00d78bdfcd748e4bc9104fa2f863cbb149a0aacb82d8caaf47619cb0255ea33f70ea2a297e3257c04a12330479f702e83409b9fbed8af47b044f9a3d7621660447f5b9530e117ac87ce8062be3b70851ae4222684ac322d359f406079fd32689bdbb440f678ae0ace58cacae193cccbd74dd8bb5a38c705661befbd1c5c44756e937f9b86f17ac49dc0cacae73b92d30bbd9459b089e3d2434713f41936d64ed51d2638b296293b3a7945fce0690d99e1045ce5c296366aec46c75cc1b883ca0bee08115bc0f17bc5659af750a4574d9282e03905cb3957beeecf07507e1d77e6f25a74431e54ac2ec452fdddceed6fd08b64c9a3ef4d50df48579dae6420ae206e7a6c144d57b4cc3ff2bc7403c3a3765dc9506687083c5f93c8c7f63a168a2e692373985612f9b2199fa41514440277d848cc9fe8e76c29d22c90124fc703684c84ad78ff34367908f0153aa9418730702232ab1981c4ff0701bbb4424f9fcd29227fd499e22ec183067179f8fb7b9ab2a811b8124c18d05e672348931a78a7c917d3725320841a735a971fe669ea4a21dc2b6090322b712c7326450778bcef62d9be12d373870e0352a51ff6148872a5da55af394b775f7b8e51234842c9164dbe45e4ac205320a80556f922c5c53d511ff4d7d1783067509b97b6c0f0ca56c954cfb23d746479e0dc6b3185d8a3bce55eb0091242615f2e8a86ff7598a93b670036733db4a80966b495c4da05c1fb9e54e6b60ec17d110c8430b5bc0be7c856f94f9133aebd41cfea4ffd27fc85fb344989af3edf9801e89853914aab57b1c80d5f9ae587877dbd00e2e5add4b46abb16ef694b5ea9cb23f5fda6e6ffffc01d025f538b879b70ada5c249029c689bcc88fb1675a15c6646ba71cff32b7289c558dd42166ebe95da7929bccf309dd9413aedd42e345312b5b822896294d62400e0846a968f212a1ed5e57eada26149335fde10519656e36f15d9fc531a39182a991ecbac7b898cb22c7b0fb4fd2ed4137179b5f7721cabfdbeceb7a07f080f6aa0fe40ac820b7d0714de7c9df7dd9a8cabc00066bdd87c5cb0d9a6d69550e3941d832f807f5b3178fcb55c6ef92e9095ac8ad0c30ff3bdaa6c41967a1f105e65214721b6bec1f4416209653909b1958d263016faa86b0f0d2e1ab0993ee373b34dc7cc89eb88e9d4b69d59aaffc6f4c5ba0e4f6a7c3d4363504761982af072ea698613077f52fa60e28b0c6dfc6dfdf88a44b118401238447eaf185801368879a40b164575c3e3c408a01926c88ee0de4384fb80498008dc522454e9e675fbe0400d1faa25a6576ea1a893dc50d3a3978102626e15688247b9541e013525936580f9f723e379651c807d0fd4611ec6b214d2c506d1ffe7e7e479f46311eccff902b2b93064734939ae45ddb4678f4d95d1be0e935dd5a253a0b26f57a20293da3b663190debe82c3d1d9666eb96c7fde87ae6556b29a83d5254960e87b832f6e469526272c5db1708b0968254b5fbfb82722e396e78f58aca25f3513b2728d7ef2bc4897c31c758afc4f2c7ab3bd49aa1ac379c52eec76caef8470e04652d0b7d045cfd390a18a883d5cc72c9d39515cc1a74a0576cc143812610c68ba08671039a209db96178ecb3a32eef297f562f5049e2355311fd4b91eba612c0fb1c343e225737a049906a73c89582ff7a5682306ab3f6089aed7c09466bd93325088786efd9d15cb6cfc0e301d7b096de53c54c5694c74aad0092612b1cd40a774d1851049e23d7143e8f69f8395ec1980d9992c59a042bce892319923f41b92397e4505a03c62476a3718c7bebb16b89968c8d28e215ff49c4d4ee6b638a0035ca1255b65dd7b0bb62bdebb8e7f2416c52fa2776f2c3056c4b21c0b911389cecba69903534b8dba96136d97901caaa2bfcfc92ab6704217093a71774c244e5eacf75f79144272708aac6ff2f9ea827091e56745fd8dd1d8926c0fd3574bf6c77ed5a5ac3b7ced32a338c0abba46fe665c4089f5b7b395c9987afa0a81d6f620a92ffb21f16531b822805d9eee9e72a125e852b098ae37b327fcca9752145a03d5fd408a0c1c508fdd248b1aeace0af99085abfbd2d7929aea98b141da21232563c9dfe87f51816a4d9bd272d57020a2b152b21a893c8cf14b19672816ba9e4c0554a29c19d02314a406825381f1c63160285ce612504837d46f54f4b07399210bbdac129954a29b0d5fae68c6d801141a5505d15b01810eb25c29360a9cb4bac963b2e45726f3209110b698dde2c268f24587ebfcaac137e123ac6134d86e21c624cf2f9a7c23845212045b46569e530ddec9668051194b0fd59b88ae1b0e6cb16d9b5ce2d2003e494c967b34686af671ba94d19720deedf6e68548629f7b9b627390b507ccf85728366d1b733b60b4ed94e2ba97b8bef18c5427ed4b5e380744c1764bc20a49d0d06afbebe7c27dba3f752ec775ca7b345e99f3c285f478508b46a05f6e12dcdeff645b646631e37ecddce02db6fffca03e75cbd8095adc08bf06377286378b710c22ce8ce5eb9c579a3e88371679b1a680504d2224d1aaa69ba419a0798e0b3447e29c5df8bfd4ce33b58f232d361b0db1ac2285aeba7099333cd10dc333b71a59be62162725316956f3c8fe0455a5aa14a914918739ca6c80cba6ed3fd2871bb874ba249348ca6e9e86374957146eb909c333e8dd0c6941efbf0ed9133973390b3085607df048932ce1022c5473938076bf826f4b4947df08b3ddd278e77f1cf7fe9be9c2a88a3cc862da5f524f32c0ded165a9b3547a3d7d51e24d51f7c4092b0606ee737fa522a4c9a7395b54e98982f3c911986fabe73344f8ba2690bec64d4f4b6f39eed47674200872c126ff58ebc68585b58ad696bf76158eafa69cf3c05c4c44e5c07262f64d5d52fcca98fc2af8a6b08e7887fcc31751b58062d1397f70067dbf04fe0ca473bc7493d3ac6f5c04dd571fe5f28546529b3094c1a8e34b67288bb585b5e1ccc280bda5c816e21d0aeb0d64313ee0c24eb3cb37d56c63d87c8411f210259f018c6133c25fb913e0312787383d417e639cb4ba535e8ec93b638c711122dc43147be1afd65c976035676db12a275de7672283757cb389668f87a681c9b334c431850bc0d9ac7df8a1e582d6b8e91f5e97863dc33fde0d2a7a8fe29508d37b6a77c3226b1c252aa3d725f514e7635c2bfcd1e8eda1895190013e7f16af9cc6490239fd2680315e5aa514c85332139d2d5c3f1faefe2642f78609da431e380b07376b10ebc41c7dee1160b3c25d46fb04daa99a95531942b54871e3f6103e784d6ce2f035ecc993a7776571096a6586550b9889508ca126e9501ec0c10ff760c9f14a4d340fc61eede37a11932fe2762200b8896007ea9683e40cefbd2a97721ef264716def68c0764a9efd36c417c75d96c175c1e30710c9642aa82c4ce2fe7cf3eb76bd3c02ddf06d8f48e91b74e77e7c46e626203a76bcb370b1c960de317b69b3ca0345c94f0258fdf62fa3963cc11cd73f7fb91c6dab3bf89bf31657a0ef1940523c1dd23c5f19173ba0fcb4be185ad1caa23ea92ec63c9a190eb16caac155a2d01912c822c09891f21654ebaebefbd55ca5dafc7b6bab338be6d328af7a513c8ee301854c5ea785575a6142eb6ce2af18810dca972080c149cf10cc75fb02e86445ced0f1f4a63dcb8f7bd607357ca02707a664105d92e335df7174817d0489ba318effb79583c9620057d588092dc418d7c2eed11f444d05931c4e8503857702baef760d065e8ac100f806c5185cc340fcfae29d07c24795ac009a302d039b82fea508262afb8e69de4488b2223bbacc8b5bdeb212be7aee0db0109db67b2e535f9ec167ebff762ef20a1cc5d5bb31ca062542e021efdd2992acfe8e205a07db061354bb9ea5b5d6ebb51e0cdeba1acf8e145b608cedf1037f52e3dc47add517c8cc388b42fc96ed64533d98b6ac44f2922a12677f009901263925d82219e762358953bdaabc73fe6bc3aede28a1f28fb9d73cec0d2df93746f96f45b47b9c945734eeba6cc929243a4aaa34c66354b143c2e8a5d05794585c1e399f5a01df0e60d658cc68ead6623dfc6a80a77de5929bc4b2880f911cfd0bfab0a4280349120210e4ead19a236dfb92f38e2a11cf6026d46e0aa4aa0697476e5497bc1e75ae928f1897b4fb99f10a14451e63f946c002914b4a76e660eacb40f8489c206ac0d6d2717103c7e5cdebdfab08833a50f4ba9ad4c7ae31b546ed6e7330e166ee6087e090147d6edec63c3b040cbde4e6c083dab4f7261bdcba0f21a2b7943ae7207b1899fd63b83a3d7ebe3058ad1b9a03d3b506bb126d2b93805746e78812dccb538521a192d477e18f54a3c14c9a78e4d0f34b518063c7ca79d8560669b11a1cf049cdd875fe715dabbab40af7ea58131ce8eba969f8c5337a5539d2ea287984b831181c23d4b6dfa2da6f39eb40151e7ae5ed6d2a4aad1f9d47c4a200450ed8f8d084b1019783dbff7c702b937dc2264d044aaa371b1af4a10c73c0eea27257df00bd1b1189f6b903e625b8d5e737ef09ae6b432bb9830089fc609e600ebe553cada542101c69fc0556b2a81ef1159dccdc2ddea683d79852597764467f3a7229d51501d84ebfdaed85911c9e97d7101831d4b1e8c862c27f2885a9a081a2d933b570663ff8e33283e6ba2ad2cd3c4b4c646eb7153307e26e2d351140368c120b661ef489339838a2b4d1d50aed618a04d9cc1093d4c3260d276eabecda07811a5fbf65147ef3a036064c3f3856dfe4bb9e0ae369ef4e56670ba4d5b7b1d390ede02a35ccef0105843d2bdfe902e5c9a75b71b8691b6ed446114e40bdf297292e3a83abc2c35cde2b44ea6fb85cf486a48c6a0fb28b4667eff5aff4299a073ac1a906e32fa44b5a1c77006064c50c23dc662516b03f0457f04ea5add831f254a65e3a2cc3d44330ac0f90ba7c3362d473e5039e8234b33dc5bab281b51f660e69374ba908e791781e73c06fc9cbaa256f787d571b8add174b0529cbd5a6ce38fc1d80db0c5700e83c77a00ad0f439468b52ec80440c2309ecfca19fac2c087685944f397d65d13d55217ce283b747fcce1228c50705b806bd55d2af9949259557774ead54a9f970cad5ba3ec5e9d524942cb19f3c0cdca17741426ec1ac9feebbd52842fe00991fc0183dd469ec17b1f77d6dc48ecd03533e216bc46002a7be85be14fd1226cde12826672b0837a62389fcc41c37b2208d7b34e58b6e4b80d8ded97bfc9a6fbf1410babfe08ee2607b7dd7a2374b1755f0f8ea849c93e7a341f16839db5ab0d4d7bdc295304ebd6716505e7af49ed13210ca080bfede37f7807c9d3bbfdf33ea22bd965d2e59b47a8eb7ebe84396f00ca49c9bb65748c05cca52e641540a19dd431b8e61bfcac87f440c1dbd85d78b1f01c015091cdb474157854e876d0f45ae0abe3b5b089d3edd85993e57fde3d2a240ec5348d8e3faa98a0b1c9bd8daec8b96cf2056cfa270bedb2412e5b9a202152546a2590cd491e9b60f87bf2ade9045d55438945250c9e8ab803105a6b6235000eb31a3ecdb9297400c1c671a987bbd0b37db7366ca5405e4f69a250f7a4bed9b1f325c12f530f4ca0784837885a25d3fcd54c6c2909509a50077f9d26d05a264798846a95ebef7fae76fdb24646eef1dd2663ffc7d6e2ac88dd30bad5954b638f156d10dbea2ec74ecc451cc817738ddb2367fd5c6e3a7a50b0359db894d05953ea8bca8a426f486f384648eab5fb86b67ad1c38d8d81d1c69643b1d2229afc0eb081177fad48f247b97a9ded13dde36b0bf50c103392c34b6b8e99144721bf2a089a5ce5e93972546164f70d122c7a5a8b4ffc9081a9c3311896a2818bdc2dc1845faab9a106f8d2e05109c82c6c10a443a4f590db38aff097a4f51a22b7dd886b46c823ff2cf193d920e76a24a8023c3275df6fe4ff7b34c81e973e0b97f3f1d7f1b8e0b4cc37355499f4831e90d1015033e9c6e9cbab81f81dffbf02f1a274a46ea9a58d20b39c48e47cd23b48f6998a2ad657620cf8541a3a7b9c17992c40317b2101e823afa7d860e1738546cfbeb2c688d0e2b49337aad851cc8d6d1fe546b20e54ef01177347ef3845b7d230dc5ca75a85a096a2e184d96cd141702d9533c7e214d95b9b3f62d810586f299b2ac4898542e88179b045563f9082ec461e3677996f1abbc0b3ce23bb86c7dd6b5bec29552145af1078be2abe27d47136882b55912ad1b70b8637245d740326bd039d711f4170a5f88fce90c4dee554d8cb675e7ba0be8547a5b6723b1e735888bdae638351533425fb3358db4df65df6f91a234beae6b5879576dd5d95b9605c47292ee773f6e6a941e954cf82d2c8e88fdaf105548e84847392b49e134b35265cd81c5c701e0003611bc240a507f32ecde1cc666e00f7cd883ba26bca106d47c363ea93fa04f6481021df48c3600895f56f10d09588ee7bba1f4fd858d81978b64f36df18ea0a3ace4aec61bda70c6a8f3ad373e46d90a71e9e1c400e1faf18124ef8e752403af9a9013bd630a152a610a742e59e1bfe44440873a784a8c7bf0b66b3c0c2a86c05230547ba762e3c5740670eb43fc0de197c11e2c271e7aeba0a86596ab37fc1cfb8676a900c672b80d52498b1eb264a679eea0a3a94b76040ef86bdee14d169b1715c992619c083bc00806f79161933cb6c0ebfecc90802b563bbe5d0b0c5ffddd0bad59ee31fab27481928a3eebc100d52e026375c4d4958f4b09200bdc83b59119d7b59b4fe0b7be2a204115417c3530e1b11bc4d62031abbd5818b8edfababd0b13fb7f092295ce5cea1afb0e74c19e2805ee078eb6556302c4ff7df643fbbe2b1084d3bdc8ad5a6c733967e4bc2d97d250d0c76bed4315d4b38246b9f1a01f19db20e88724f73a71c02d347ca0c0f86436b4cd14076226dd534fcf728e1d3ac2a3ff0aa10982bc518687af1e79992e779db399b4abddc8eb54bb3b1f1f2bff4fa22bfe5e9dacb0956840c14d831ee271e3f078f89ae04dafee1b7200beb4b8f27a0b87498e0d9b02cd48192159db62f4b2b818c5a82af693d2c6e6399cc55a1a8e67a4a4956e69908ab1da1fe69464ad8f1432297d81e7e943ca8687e1012b45ffd89408e00c045e5c4f14561a2e63c30452df05a8fedad261f24791d32fe16c3ae318bdf06a2e874f585586afe01ba791fafde040fd52b9f53d91a83049d8941d98827dafc28b950313a236b37d86e3c5c2326713ec09ce3b4d5d537f7c9a2bd716247ed6d1dba5057c21259ba17d3d304e6bd7f6ea7566fead4360cb7b03df7b485136e0caad60d8d5d271f830aeb6f4c6b3e3ce33c53bef292b57081d9445284d1b6f9d717c96f50cea055e22fe986c580f1d55f00f8b85791a300adbf4921f22afc704a3cc173f482eb51a0ddf972b0c965b480eaecfbf38a7993e317811b3d6a8363681e3314342fe93d015e9b1382e6ad46612a7fbd38a661199fe1db3b11f31ef3a1083dc2be084f61af06d91ead7a425363fb08076c0755f6994735a1e1fe1c617e36f66739e5441cce2adc5ffd9d0d96f7b61bf1d8523ce48dda8d8ebd9b18607824d45cec640242260e760b8650949129585ef910007aabbff428ffd91013690c1c6e4c9505cf9e31aa1dd41e3202db46a7fc00e0298e21afac5f5e749ef5d8f74005fb11580fda50c9f8f38d58592c3646a7af477d73768d3b21d333b036797df9ba40666d8251aa24c5aa1d82a6c07a5def9dfd33097d8dd8cc647835cd1334ac76641b07fcfc3a5018bf7987d071864da80f22bf9356e229eb152f3f316f0dd9ca30beadcf2a841d16de71f4aacc9d6a50f3189886ceaae182cfaa8370d813827cf297aef6f580897d134dce52910d13a526d61edd584a19c155d7685a329307011a883b0e1a86ffa44658f6984e434b1d5254c1a12138739cb47e0ed8ce9e441d0aa0f478cb68d73559cdba6b72dae9aed90ef6dfddcf0859a7610d1c3dc5cf7d0eb3d3798c8ddb19a2ff89e3326fb7c64e8f33368c8111af8e10d77c1086a647e5a3afaf05fdb24616d155c80fb64a8cbf2d1fad9669eb031b0bf46eb1c501c7b0f4502ca71c8ee46cfcb2e4979bf8395791d8385e9694abbe2a61f50932088a31f588aaa7670a347e99f54bdc4da634356c4886a95f5e8fa9c7bc66712a5f7fe8382e5dac7dd2c841de588a31f3acf78b84147757f4618c9f814c72a5bc5deeeef0ccd3235d2df053f389e898dd97ea9c1aece1c8deea6ceaf9363f39943711be9588c8784e098413dfe6a44c66aa3b589fa43c5a2e779a37f84b2cddd3536e82e2e16dc214c04768a9bdbb4cb12b9360a1c7a17718c12d91d72c9ddd8b2c49cf1eb147d6a91c7a61556edeaa9c4548ed96b34bd812396f40df79f79d0d306c0cb6e2179cb598182c81d8460dc1aeb8194b03cc41cf7b26342af40622d475cc331be41e89d34df60b1c30b66bff80724bdd3a21d0b0fee91586ca69e42e71fa43a47f2e4a380f807d7a785445fa7830c1e45f0f2a1e8ef9cb30929782fb73835daef4f08ca879b73f6e8c8513aa7dc0ab8c41a0deff634b353c5bc63727b5e28b6bd5aa9876fabe8b38d2e7cae8e29632bc9d19269ec86f27c02571350b2eeb1a40bd23b1947c712a6e52ba37580eb62f6a7dde2a3132a57694a90b38cc123e7c4114527c77761468e852c6a97d44a4e1c5be672195df6a1f8534e854388f7322057b14abcce9e8fe5a709dead5464bdf8a69f12a5364988b32e324ac8fc98ed89490a196a7f1d353a09f394eedfb4f21d2966a9c606d612154d71dd3f48371416a9c9a9e63b9261c3410938ecf6dfb47faab07f8f19b56ee154a04dba443385490381e5bc39ed215c442712cabb1318397176f91992613230509f84c51d0d9f87870364f22a571c0ec5afb548f3c20f12764f1fb93d3550ca2c21e4737b870687965d62e6651e7c31858e93965678c856385df0ca2ed908f5d8aea2d1efbfc7153060e49ddb8566249ed2dc33b59def038b90b2fec08f740067912ba086ab50ba309e7f453046a9d9c1443fdcf03e104f007868df640104bed011f5d1a98fcea083bb9aa2511ad010bcedb4ddaf0fa55b2686b5f13d34cf1590af3ccdb74b5c74601068c8ef3ab1fd463b1328fdbfaf172825fa4452ec222a9c8b02b30972b828bff7e2926698e847d26f72343ef249c51cfbe0c5339cd2ad81f9f6cd1ea4a30f7335003cc09bf4ef01c86c33ee659af1a7aa5bbef7e543a3225b42158b41a9b751e10e15ba06b37a9ac6d3472cc061e149042d871749a22436135d06e98d263cd54f54c2b2755f56ad3f4df152f9243733133269912a1973f1140ff228d4211043be93384b97cfecf596aa43ce8d69a918746920d968deac5332408c08e34bd1eb47a65ae3bf4ec8be48c5dc7f45ed6d29e1884c2240cb4c8e90eff24fd4059bd84b63c55f0faa86201a2eff3ecf0780443b2b1c89d2b2b4b2a19c5b071319637e93ef3c249fdc2bd5b0119cf8733154828d983c379bfe1cf7fab7e176944d0887e62518bed3a6ab3856272a658e4a2cd82250e927a0ad3c1f663723afcdc5475a62c77be27318545b904b6101b8d54f83de76279d63151ae0e83b86aaa28e27cec80023540a763fe08dca05e71f90c6bd891c82848f0eef7f44294017360edfdd9d4f1647f072d628a95a9570f043a59325ddf905cbb3b4f5d639a1ffac983f7f40550de0dcaea167db0aa0000743fdc6063c0ec8dc687955d60158a0ad22c3903a47ccf80d5c28b9d6c34711098733f1b7546110b9105bb03c46d55c417dd7e49a11a6854df53802012b7188dbb6b5544f455f28ef1d7d90e8ad148f4ec8dc2e8bfc7275cb82ce13f77bd059ae23082fb74cd6184b7d40acd2f5d9ed2b5dd33a16d91c85c59185ab1ddcffa918ebbb081d168f62a4ac5896b64877e655eaaa76c9a33f5ed6b1f43d6a15aebdddf86b498e9cce7259f8aec869ab433bef8ca50420ffc13f57767dfb7e1a7c5b345cd57bff9dab4ddf948d9403c4a36d495bf5c88d5807d9dd01ead65d014e5daa9496d705ba9a800e1d256f4e90721a8b759827592732f4218e8750e75657b804c6b9cbefddc14fa78b9542b1fb84f575b51cc4309d40513bff5c80854c3108967b03f6c338302749997b0fa414fe1abf7ef5daa526387b627088ce47c23fef7a37158d01ee6cc28519eb6d377900bfb9bc8d34c87a4b2a710aa42e0c2fbb5fa2964bc3777f73e3c0e5e789a77e6408f90caef55bd8c337857e0d6b70c30b9f054dd5c6d337699d801e945534c0763a769a55ea10b6bcb896fa02d541ea47737b0ab0def1d4d87d26a8eab4d39b0cf1470c76ab98516c40c7f3bdf38553c06ba5aba6d372b5be2c7a3b71ce95a9a1f5b08cb64aca372a161853fb409b8a93d3a36c29eb0f182b64dc1ad7257b44ccef0018b0ddfc22020657961436a965eecafb6e774726e5fd401d373681c06017572198b07dcf88023ef18591070bac16f9106ea5399941d7c53b8db672e8b9cdc20a0b3f152fc4c1b5dc4213827f37343da84ff4c939006eb4e1802596f8d859138cbe6bc6220f05a582d94c2626c0528c3fc00d190d3f4320b21b442051d4acf297fdcf82fac70b7508419865ae25615a1c6a49c8b5bc317fd86944c5621438db9ca1c186764c2727b29946927cc122efd3b431111f0632e215b3ee31b38da13b1e3ee2c0b8571a4e54444bb26f1358e49afc63e4a8e202a2b7955531d3966bc99eb6b4c63d0f910bdaac995373e794c12e1add3587b9c31447ba12eec59cb570c1884c09378cda430ed7cb18da74ecf6efad8b5da29b3243269a8b35ea39eeb0e1edb03b390f55c6515096eb88017916ecdc2d5b72e2b77ab4ab5beaca06ac5968be1bc72752e595d326258fa3165ca10d3b55c83047d2c5deb94e9fea5c242bfcba25a4891167303da0241c8c2f8782ebc1c8fbcbe484377b0384ed9bb5c8bf1bfb317e38b042e048d008168ab67479167600e6340796661d32a09f400c05b32537cefe5af1bc3081b67acac1bbced658b5fbcf3d587f5b3a02e551b91ac128d36d08b588f1d4c5a41edfb70f9db18dc10fe31a2e70b05c21f880034fd4374477dffb239a13b4d2eb8bd50d4b23d89aaf03c34311d62ee7f86c0a9d924e29ada3c5f3878bb04bbf731b0f71130303ff607c5dc8e11f3ed66c35057df502962be54c48ac73bdf795be134bac3623ff04231a12a561b700b1fadaf201e3d91992cb5dcf66269ee0816ac850fda7efc3bfdfd16cbdccd9e90c90a6ea727eeaedbd42ca6025fa4e96cd33deca6a8aa5285094466a1942ff28ec56147a32d787b5e67962163d7a307370c3ea07d7d1c2448bf6598113811d8a9d6a4832515df1729e2516360c7af77d1a5df2133fbf51a7c7a8d09f8527869a5118f1b0505ac599898b77f73c2a16333f132f2e60585837d4b38c67716e88dc98c5eb61debbfad24b443cd7a694bc3df16c06789c0469f789567f3d2a54604d613aebb2db13484eccaf41c5e2bc3dcbecb3efd836eb7eeb70763453a13b7e1e6f113417546708331ef20154a33d014386e40c2f347bda0bf8d395d9a371500909381bbf5816e6da14ccfff7e3f026ca0165b05bdb4ddcb5fa232593c5fba1306bfe8330be6f2ece0370f6a8408076174287918c583bf1b34d3a804f94779224543601f802b103e6f974931c2917a15023074aac9e6040e0708449e6ed7566ddd9bde0636487d86910d32079db18b7c4f61c44e57246c38024f8b004aef61f447ad3f319cd60dd4f0cbd1b1bec1f445a8374b44a72f05fce9e6c0ac4f06a8b8e3821caeef3d01eb6675b0f4b9a15c8c817a9f1527bcda4df2f9d6188678bc5860ad9f617947efb1ba8d3340a9eb669fde389627d068439abbe1fb807b11aaf50e7463625bc1880d5c4723f89aa2abf8f9ebb38ce16e02b8a5f41f4217e0bca3c7fcec2f1b80cf35399d2a63a64cedfc9cce021a7c13b27e03fa675f1cd74ea6c18e1d12b3efbdf4ebd3fcd8f7854062ab432f0eab01c4cc040e0b841f0d54106857356d5053046fc05c485f82b959a7c592b1ff785dcc6676b809b7045bc063d59133bba2d1962dc4f507fc6c16e2dc2ec4d2cc68837b9e41f7b65eac299f2844aa10a551afb6f5ffbfdf12224d22bbbbbb77890cbd0c590d53ca2259642489660ef2e310e40c055c0499eda0c90c9aaaa54d375ec338e235e9c5a5856545aba0b853e77d2815bdc2d2e2f2f202c305e9bae81940e713974f1c779a5bb01dc1e59324922ab106d6a9187178a4aad4e3efa7f76678e70a96c93b6432c8c3e47989207e982d09c3e727018b0931229f30cf0e7746b491dfed7a7a6fb6f0cf50727f028908c29b39d4a7d7857b27895dd0c51af11563383fc78f54091f7cce4e7ab5569c1da60b3573a1a2b362d20b9270cbbbe6492f60c2bb0edcde2d5f35b8fd4aeffc68a32570d978ee35427866d514e1f96b28e1af88ee51a99b35bc88aafc35c2f068a7b113ba035354959feb19e6ffa2d02db0d9723999a11275b98c32078d8c58943e28740d29b3955d4e787e16a5d9ea9145ca6c659793d9f23ebfcb88ba5cb2acb5cb0888f8a22e1975759f3fa728057b0dcd328353978ce7a9f2402f5255776bba8652cc99c1730d0878ae1106cf35b2c0738d29f0fc35339e6b8878ae29e2b9c688e7ff9ed0fabbf7c01a4a42dae55f5eea777921f4bb7cf73f64be8f2f19eff5c79710ddbf803f5c40990f0c5f2caacadf81f8f50b815f833faa08a2fbfb3ff4e317e247f7f7e38b67ce746f853c7f2bbf0b365bf3730bcb4a4b8987aa38255afeccdf451ac4fd1f54c01e97a358603ce66781f982668111d15489bae62b3f053b901a4a54953f22faf44e74e5d189f7f99039aacbe0a8974c70d477188efaf9f554ae840f8eda9d85a3beffe0a8efb087dafde3a8afdfcfe5bd098efa2e7ba8dd3147bdfd7e30ef4e1ee744631ebf3b79a80df22e7bddf73d6acbc0bfcd03e6a8ef38e94dd4f7a8bdf9b7fb0738ea3b94c739d157c5e39c688f73f255ea65948eefeb1038dd1c476d1ddfdbff3e03d8efd9a7fef7df7b3b02410b1c70ba69f8fd382fb4fdba31e0f2536f90c4a90ff714d4c1792f99bc1d848d893b81bd46931247c19ea57c3958946698bf0a2c4a591e81817b59868819e68fdc8819e61a4a4cdc13b807f61a4d3cd750cae009549233833a5cf4b6d49a0cd1be20fbc2919dcaadbdd2ce4a699d565a1ac42ec69c2bedac94d669e54dcdf834044118d273e232c67c457aca625236c3a4a259d26cdd25b5a25964b6664d3898ee387c7629dad1549e9dd771f83b1067863c3a600cf280537eef1ea7db3c18a738fe6914bfcf263af258b928f4f452d146bb4c1ba6160b2c96d4814c228fa40ee45125aa447ff1e3ef3a22ad122baea8cfe7c4ef9fbe9e999823cf4454c2a8eb337e99181e161798efba0bf6caef7f407cdce792dce7be4ba37ea837c2d100b9b7b683ffa07dee729fbd164401f1612fee3fb8e5bd1e41d9cbc9fb28505eace3ab57c6c080a1df5ab057a2ef7b8f5a6bfd3e59ad94de5fd7d3665c59bb9ff72850c25a68567cb86fdfa25e26913af65120b616ff0ceaebf9b7a00efbde7f8f63d0fc4b8bbcf24a8cbdafe7fe77176f103f0d067b0fbb723f47f771dc8efcfbbeefe324685f26913738fc3334bba7f80cf7d425e3eb0cb067fa3231604f711eea926161c09ea22f60d760a4aa16f05ebb62bdb728140ab502eab8ff3dea51a00ea40e07a2bef7a8bd478dd17e8c60681df7bdb798c6b9efa4b5d6727f3f46f919e0b3a0cce78147d487c160f639fc31bd87e5a8e73aaf47cd28eff1f7e3d5888aa86ae328b0f7b0dc3e87c1dedd2f4777edbdf7defb79299bac59ab03a9439b715622dec98f7b4a39ee3b140af53d91a350df25cceefe1cb5bb7deebbe9dded01e17827c13fef04c68cbb86d50a9b40701313486769b0c89d9d9fbfb3d9da983fcf969df12f18638c3b709a30af98342e11736478983cbee493cbf7406ce91ea82bd51243f9a82ee28f7b896823bf0505f6f87ab63c1043f93df4ec813da732d853cfaf0c438e639a821325a718ba58235afcfd6419cf6e190f9401c276df6d19ef3b4f6bed75929e4e60a4aaaab4ed967969eaca51759fead49d991362be727c55fa1c16ac29340c4b4124b84ae9051a060da3ca29bd204489c90c05f27e2ad69476d13115658c1c98d2615e0e49e71986ee4a6aefbdd5defbf6da7b6fd5822a511749eb4b50467ee6327332113481f3aa023fcf9c4b663867d2ac713fd04864ffc260fccc63a61dcda4197249585899e448d26895479246eb110a6586f329bdcd1ce690eed466bb4d306612974731fa82d2487e173abe92a517a95239e7bd38775dd7cd899f93696eef30c31ee47ceeedf7fad2dc73cf3dcf0c654cb25168ebb375606a694f7c5ae9e707c2b9a77b22399d4e19dfc9272843b926baf2385f66823ce0f913e45450b7f73dd44735d056090850886e331de4a4d55e9cb953e77da8974d90cc843ce125712a693289c8f45ede4267fcf6b9bf54c94e2e39b6bcd2ef389aee28cda336469bdc05a9a28fb9efff819dc57317a4cb165115fd56f727b0dbc0b9cc94e2867041781683f73374a10dac962ddad04c25c8216957f83d7e81817e903aa7a78f8098937b449b0dc402489d13a844bc11c32e87784c12e2340c9c821aa01f89662b6749933c903d904899a948d23213a76f619256545444a335a9b6a0a0fbbe8b4b6e3e1ef5e20b4424624e0cff7e8714e25f0c03ff7ae402ffba8fe1b84062b6ee7fbf2389d9caff7d8fd9e27ee57bce07bac7a5ef93a09228e644fe3d1291ca19ff3e825fe6f2ab9f4ad5ff83beca0ba1bf05fc315f4f9405a2eafb8802918836df63215dffe56580a05f5f08fa55e52928837a97f75145102cdf22c4fc17f087fe09caa04024f35d401f2da00f4d55dfb3804f555385fa50608f4ef867ebaae0c5f7d288e5f5f3a17b4984da1f8f5ff7348d7a9af678d43bbe90a0aaef553693248a36dfa376c7e50733453f6a538e0475b1a8ea7bed815da752ff61c8e247449b0ff52531c3ef51201233fcbeb3f8f71c92b6dfc71a1fa82317f128c3a45c501771d0b135bfb6649e2d59bfcac897dc729e0964ca09b472deb1e66b2bdebd07bd36823cea093a59e5186494f2391c68fa55cb9e8a31b3b0c002e9a267d0a7a0374329859e604a0654ca221d95005de243a27b644a62891ce8c77d04929b4c01ad565a7bed953abf0e53351fa7561d663879ba8d23678da1fd70753f8696fbd56c5930bc19fffc9130180c563940f90557339c33531b84ab19339c9fa59d228bccd6e431a4ae1b3e3eeb0647079e1d66eb43a9bcfef846cc16cbc73f4202b395faf848cc968c8f992d9919ef63b6683ed2f8f81f5fca405984481aa989f2088f347479b4b2e93289f55d2e01c07759c3e17b7cf9a8637cc421c421c401ec3ef80c2f1f003bc6309ca106a8841c03efb0d07286206ed835a22ad73082b5ff8fb8b167cc90800d3b9542c266bbb8ec586dad93a8617b5e0f1a76ce4ba8768de10ce10c618d976f63869a5d6bc800466f86b3fb8190de0418b22670cb988c3531656f099330d86f1f536234f6124d329add030c21333b891856a619a73bbe2822b39158228ad912906244c63e22864a45a96d440cebc7d805808152a31c79d93a44557d97bd84d7e80448124e5f6a1d7668d93831ac383db0ec9b9b0270fa51955741e81d8644705aa38611a8fd7f04a7336648c0dba914129cbab8ec386dadbd1e9c7ecd4be07a6bf5c165345155b08a9ce9abbd4b2bea51b5568cbf673e46d5fa977edd94deebe915681a91e4ef39994622cbdb47ee2aaf01205cbf8e6f1f6f1df12dee31232a870a08aea64a6614187ea0948112165a69a5fc0f06a1133aff2953ec84e6bee35aa0a30c71a84a66894123a28dbca0947148b46da202c114273171b174040618106c70d3e1749dd77976c6470ea555b68e2aef51fbdb31c620fc40003c7e0e4a24c1bbee73f0e1f67172d6da25dac8177eda3a7a31c7503ede3586d2457b1354c287ad3731e734af0f6a5fc0415e0e73999b73ce182fd853d6894e4a49ad0a523c4e2454fd6c91967fdf5619a79cdd77d7eec4518900ee459732eeae673fae5a1acdfac6e34f5b0317bac4e3e3a315e8187fca15fd049a054ebe18677db3e5ea89761e0e4ba292ae6731b7aa94f33a6fe77a372b01e07066eea403c7453c4f5df6bc1aaed21c78a794522f674929a5d3053ae7dbd9fad1af0a2d7faa480c000e7ba7fb85338c4f3b5455a11a5f5bf30dcf9b9f8c3f6f13ca478596afb2fa9e73a27da24dfc1a68e84e32aff0b535cec53661543246ead4cda03c158f2543c5eaba4259be1944f0c467a0e5bfa4f40a4b649a2c4b34ca182b95a5d65ae20f56b680a206a6c2b0b45c17ebf2f2525f5a5a56a68b0bcbcb6c819932d2192ede8b8d36f13ebdf485c25017c84f7977c2c818d545c2e468d3f26261660c2f4e1a778f5a8073c6192c31b8549611e35d193ba3529a4943ee9594f7c54046b067195ea53366bc58751703e4480632e48c2ec69b32dd8cd7c39c318df1de7bc11de18c2f47fc7c92f16acbbe8c36cfa0f73ba514ac338cf16215f93c13cf782cfe84964fe3c59ff33b1ade89cb20beb6521ba15485d3eb023233314868fcfc72fc10138a54857a211a608b0a13554d1de361beab9efd10100b82f39af9ff58109c57ccd3e841f28f84c677d74e2a63bda88d64e6e94622fb17cdff96e517cdd3d8b2fc9201695e0939068e4466c6b3c86c19fb340fe415b365eccf7031d243883f7e2e4433940122e6677c10313f63e663de8241c83c0de883e66592f8ec2e4494ea22427ab49122f1ab380afae5bfb75f4f8bd2edb36fbf1e3df36433fca1ce789eb9445d55c6b73051170d8aba32112a1fa928c5fc1275c978d415f698e4c9ac7d0e24b2af4122fb34f667ecb36c0bcad8bda589cfcfdd05c6e7bfecae8964bd250b5d650a7cbed73d598f0a588fd0268e7f05c4df02e299aa44311b88f9aa20bd51159671bcb2f25d4c0bcbd395fcd65ab033d1c42dcbee4076f050fa98c22469f9f915bf7a3049d6ba18f9bef7f6f71db7adfd172ac3fe8b7d17fcdc96dca568b65cde7e7efb19e0e52d8bcac77816b0c37c065d886608ba14cd70b27c7e96f7ecca5b969ef776975901799063e02df659debeb75280f79ec5729f4119d4db6f79eff39641fdcae7d75b0605f2f02bbff22daf7f257fcbca9f40982fe80caa7c0ba843e551a00e19dff27965efa832de02829e8cc7dff2f3f341061853600fca5f3e7f0bd863802e3ff65f4097dd9be0b6a585c5ae3c8b6757bee5595cc0fe83dbcf96e5573cb0e7ef41e30c59328d5f345b16b4a8b72e4544dc77172217231f7def3b69f7f75ac7742cbbe579b0dfb259587a3c199f32deb2b2553ea605ec3baa8c05a43a7ef6bdb7bf02762055e6c960bea05b5a76df814fbf323f1ffade7bcfc2c2c2f2d65afb2c5df550dbfbeefdeeb1e5adfd960dd3036d2d0f2cbff275fdddafecde04f71ea607ba77808977fc1adc5165dc7b95c72a1e0ff536fdbc2bef76d7c05267a289e3772172293aca49668bc65999a9fc9979fc2c88a47eacb25715f479660c260ce485064a176bf413930f972bfdd009cdf912d21d534f0ee9f994daa8aafe4988eeb888531bafb888baec575c4455f5e93e9140e3225e99e60e68b4515593668a333ebdc5da65ef4ff3a914957f82175107f5f888aa66cce17e1ed9bce7f6e5f7beca77d653d9d252153ec2343ee9174b9c726f2ff1bb956802c655402ac54eaeb2a99468231f459fc0e5532fe20df9759f4f1e88a4bb7f41aa146d962855a22af9b4ab1b637cb71255328a3934628b91e0e25ef13dcff3ba9beedd8dcf6e081d177c76597449a9eff9089f998a2ff6cc029e5dd07dcf2bb8a1a06715f018dfb309f8fc9e4fc0672e019f1f7b1eb234023ec3c05f902e959f3178c74df9093eb308b2133c07e1f323ccbe914e98d7608fc1677c01bbe630ef027e7fca45b4991f635326f1c6fc6ed327f1c6fc6faae6a73685e264ff7c7c6bd97f029db43c07f220daccc79bee20dec822daccb79b62116fcc57d9540692c620dacc182f2e1fe3a9d2cba34097f7c018a310f8c44ee48d5b7c50b6f06d8632fe4ab6640b75235d9129be0d1a31e77ecc89f1b1c3f0d8513c4a01c4578c98933fbe8c98d37d7c16d9c24b2a31e794f37dfc938c3ce6c07cfc2907e0799e87655a6e6a146d5028142acb3a1c05dd73a7462a4854407a4479c053a898e1ccc163f298a8f77a70181faaa70371d3775dd749dc24756e9ee751a39883faf934063147365bdecfc74266abfb9927e5019fdf69129f340b3e698d72c1277dc2e777dae96da653253ea994ff7e995ac04e81c0a910f477cac408d8a916bcd32df87c8ac59119d21ef04e7dc0e777ba033e3fca16a66286f4069dea80cfa73490811c80cab7c488f1f205c3f8bc4d7cde2cf079c1c037a43971172e495a9062481d0c45de9843e0f3bbdfb5d4abfcdb686cc53829175c7ea72fe33474e0f269666ea20c6576943136b87c19a1aa062e1f0a9f9fda9a06bec99f3370799b2ddcebc4f888f7bd72a6d9c254e022b3859318992d8c7464b6f0124cc56c61272e455ebec588cb7b47b8a4824fcff33ccf7b9c4486cbd749f8fc18315c7ec7c2a30d0c52cb92295ffe0b92cb12de023ae1332986b175002d288961e49d72940a97bfa269c482fc2b4a1cfacd4129668985339db87c1a25181497dfebfc50e0d498c768136de47b9b2a51295cbea96843776e4202f92e8da096a2d389d59d5ca74dc1140ea794c72992d3f39b199e5e7e27fcf2cb81e72988ae7f12f278473db93fde4d19699d168551bc6e1c854b9076c2429fbeb370cbac6536bfa5c8e4f22b8b127e9dbeab4832554d0d025d41b0a3712c60cc70e696249cade5685dd2e3ef1d8d4fdc25cd169ef8bbbbbb245a8734c3d9d13a245cbf1c18e75447a32ef98ab245c6d2c4c2d4029b614b91161892915421a22db30bb610cd500add59be98f1d9d19866abab1025cd5687345b1654216a29c2e757b0774b548840d9326b99cdd6e49927e03dd65892e58bd9225a52216275342220b8970a910a115e5221c24bac96f919b124555b29183b8e0b5a8607fcf119c3e594098b31bad836b9a03b0470afae339aa9144b120d82bc9a7ea19484c7390b029f5db8573ebdc51c1a5cda9804854b28b3555f69e620df6e7a5381a6f4c6e76c1ee9628dde29c51899aa64d05cd30cc34c780a0e23cf9c589abc4a41f7fc53737cd616e1e6dc21f18e36432b667557d813429c88e1fc5963f0c97141534ea32e5c4be213d7a82be71a9f63c8b4a98274764ab70932c4205328336ce5d82657b0d0c51a9d06dd15a198eacc61e515ba575e6993ac3e64f2e3de419bea0c2bc7059c34bd93e427c9e377d80bbab3d838af5aa12953bd42f76e96392ee82b0351cca12143528a073cdb60e526030b7886694274652968182cf00cd2e0baa0b9e7bec3dc606ed415b324c1229e3daf5aa1ab151c189a0bba228954b505dd63966296664b7efe982f6657e312e626616e72054a6cd9282587514274814d116c7a02cf2fbb19755deac2180abe61a598c4625329e21d0706de29aaca4f3f247a0bbacb209341268390acc4edb71cb5d0609862cec7edc380315b4d3160b345448505dc62195d314b5195df9eb87d95a298d3c2eddb8fa94274c940145b315be0f9392d68196033cc0f36cd307f978188cb82a649e2dc157467b181b498633f2771bb3b59b4c97f9f67724c6013cf2f03d12ca6ca788f5962b1f1fcf80362be6892b0a0bb0a8cbb82ee3baa8cdb4731cdd0aac0586a2826eaea66271413cf1fd3bb229e67d415b3740267314b33ccdfc52c491aa65cf34f4a69982ef7a261a2aafc9d8689e798259e27f7397320cc8daa7287b9f12c0311cf4f838db28ca00693b533343b8385ed623356ccd0769ca1e19db2f1f933b498436366c94c6dc6c9c55cd0f22752e476e03d8334c339b3845ba1fb4c6d8636c339b95207b34277181937064d9b29a2ae9726aa9aff3233439b419ac2e7cf2ccd80315d52886966c96cc52c8ef0059f334550f8fc789f49e273e6c6e72c3ada82f719253eebece8c6fbcc177cce9ce44c92d9ea2f4d454746b3d567921ccd5697619b39325b92097c2e81f7192a78e530b02792cbefb0eda56986d30a5db1d032c7fda8a1a027b6bdaaa01cc74989e9e3a3215af253b54277ba7402616053663883059f27223a660165c65130323eff13417f69e2f35f98f0118bd1a929da74baa4c43b59076ba2fb0c2d06e60b9a76b0231936aa922c4632588cf8a44b34e64c2e68ee4300f7b29f3443b3cdd0a86a0ac1a2cd44d5b01374ef605429da74b097053bd8b4829ea15fccb00613ad2a5c74394a3925bdb45a1a6b5817b0d39f40acac441d156e3c3503084abef0c29117a0642127adf6e29c3117854ecab9e39c53f2f0f9910f04cf34800ff2e78ffd8de7c6fb66aae8cbcd92f1993a228881941060dc3ebf1efd5a435d9d5892348620d49c3021ded0c518af2b963ffeb3aa98f339cb813061e8f931be28052be8cdd07efca20df4d4530b568df36badafb3ae54db8ff67bdd95d76fc9cf1caf3e4580451b1f284d5115b905a9206526a54411045dacf13263e43c534fd811ef291ea7644127233ff2f9b1c6f666185f8a97520abc873cea68822edea0eb9d615f3efe5815f5d6ad83b62f2508baccf0f619f6ce97f15e9925bfef72df85db25e8f817638ca90ade7e4374d7fce5779ad619a5f176e3dd7ea9a92b7f066554cdd7fac4cd9711630473ea5e8cc11a63c5f5dacae9d7edd2d2338c303b710824a5a7bfad3c3b2e731caeb620506e93da828091248227268733114718d163ec144f929f7615393f979f037f0843e78f12f482c8d1762d4d82cfd775ee204fa06374fd098633bce196a05de68c9749176b74d66c61c02509175e67ab3311041e6f90c4bf879c4aa9852aabd451c3d9a235acfb9ffe94b28329a888c209aed002d3ab53309c9352288e6e668b5e997b2d253ad283524ae9b57507d60d8e8b65893e3d8e133c4a1084112d50778e6154a9d4faddcace2186f755760f400fd57bf2aede449bfb3a079f1a5175ffdbf7bdfd318caafba71de34d37825b6b3f95330f75e59c84f75472c5e657d2eb035e1f094ae96f9037c03ebfbb6f07d49bd9a247f6763a884502f825bd0905c958f659325b3e3e3d7b0add23135a0daf5ea16bbcd3143a6a1c311c321cb0571355d99d233b46367cfc768a76704fd26ce19d9def66131f194da4115d65cf921ea4d942a18ae0a07536bc5a04fd35d51af80179d98f1f129934938070fb4b4d1c071e9f2cdd80c77cdf29c27b4704d1a6c605138c52900bab01e18885c9c0c9ca365b7d4704ab1594d9924ec0526782e0664b3d6b068b36774ba117fa0b9e50a057aa66f996c741a32e19fc3892a8abbe84e285e09e823fe8732fa1e0a2f81fb2c8c79784e2b50c02b3e63ec6479db38c3ddd3d494536de6114128a8d49a03f661e03cc9a8b0144b33206f6cc4fa0259f9c7ef5a1f1cf596bfe3dc5bf524f5250254329fd200a106db666abab644048404b6a6e2ad92be8fb731e1e1e1e1e8f82b71f5a10d81fbcdf57b52f077e9d28dda60365b6f26c5d9c2233c499e110cdd00605c53980f8ea3550f88977d3166dec9f88747d19c54f2ea1785aff8784e23950060b515f4601fea05f41190cfe20a3f8fa8334c3282a1ea27f9256b5d7eb5fff7a6a05fd7aba25141d8ec2879f67b26c440f148bc59cbc786199b8502206af880b2548312678917d7277a2dc3ea10212b7bc094bc9662465b62615a6104529f59dac5768191fbf9d221c058ddfc69a40e3b953b4631473e26b49c61ba39ba398137f5836a1d8b3bec05b4888659b2d1b9f4c81c66398584d48dcfe0db01b62d315bb4b604ce0f66f10325d9515850a6e9f655f0ac5768c8ecc96f482dbdfa162b6241364ecfeaaf603096c3fb4d9ba5706ed1d5586411c229cd90c71662aaf5ea171bceaeb91bce63643fb28af5ea15b8ffa7a24cf1388465ddc2b7f9efd72d02eea15bae757be1ec97166dced56bc5bafd004f896af47721d252368bb445d9589bab816fc2c24b0921073f2e3a025e9a884d657b59314bab36cf215f340b09873373763d525bac726b45311dd438b3651681d9bce4d07093127fb7cf4f96e7a5dc8d8090afa2c1b0b0aeb365bd3b5aa4d95fd9c5dae55cdf571e6dcc3c7d9c3df7d7a42df9a7e961275d1f7c1071f7cf8d34c2b214f44748f5d0c0172b31fda93273b4aa28d163b59e47cbfb335fd8487bf393a02af8106b7cfbac59c9c23db1afd7a32c80d018b361608ee05b4c30edf59b69ddace919d2ca28dfdcec63991d4df498a361654c9a8ca7eec7b8abe015e25c3e005650ceca99a1b134cbce64c3c134f750f36f460c3f7f0dd0a0d5ebd425bb1aab55aad556da78865bb1b044a62a9b1d5d0c518654439e94e91dc29e2c6e0a3e5d0c72883829e67fa24cd56b743df77609b4f920f6d8896b19f7cc63606b08d6350e8b28ec0edcbe862d922b6dd037c8cae9e03bc0ac6aba9fdbced39e627e67fbe8be1c5c0ce44d3eedd69e87e08e05e3b4542748ec12c1b09748f4ff297430ef9156b761a81eeab1a7551196f7f550365bc8cbf3f9dc8600f4dc6c01d55c6e59021604fd20ced0f6d14d10c514666882a9ae10f3d1ff8c0f7dcb978f6f3a97cdf8fd911010e111bb4d9e281bf47e6f9ad05bec351a3841a24c41b96470fcd65ecf34b27bcb5e38268633fef1d16c41bd50abdc26ddf29f2419aa1fd9d22f984f37f7dfc78b0c131c8b29d64bac727b41f9a0da31922cd968d237c8b39366a80684031beb3e1f6bb955779b542c7d4b7319c8b223c3ea929f1f8a49684b38610638e7ce2a3146e80298571cb826d0a352fb88d5d2471fb9c7ce28168d43544ce5aa7521f7e72069b019b019b019b019b019b019bf1f916732491b744ccd06666666666663e17c51c39e4e5d0dbc74731470ad1d0d0d0d0d03051957d1a231a46348c6818d130a2614483c6dfa6987393628e8cfdffbf029e68136da24db48936d126a22afbfbaf2ce6e4b734e6dcb737c2f03f95d220f831ba8a006f84e17f2aa5b50c1fa3cb860c7f1292415ec6b614c1cba02d652f85b674e2e5d096237839644b12bc24b2a590939096b32d391130eaaab9c5587383c59a1b2cd6dc60b1e6068b3537984a46a3d168349c9cb54ea57470e4ac75ea756c378c72d63a952a8288ba7a7c6e84e17f2aa53513a29cb54ea59ac424d0a80b884655f66f84e17f2a95b3d6a9d4fffd2e486c429bafd8c5131bbf9cedc887a8adb24e7db83a428ddb27025623ebd487356044360e4ab49aac531fd6d0866c1c8c88609a21ebd48733dc863600988c72d63a95faa76118916024141453805211444850e24920ba615684cd46126c366cd8b051830d1b5348cd2dbf54b29a1a95ac4625ab51c96a54b21a95ac4645828d0325814a865f38b31966c099cd80339b01673603ce6c069cd90cdf6f7039820d803a029cd97de9d86c7cce5aa752ff340c6d7cbf219dd800a05927a46c0300a663e3f685237cfba1925049a82454122a09bf67197b29dbf8a508f60db568635f497df5a8544c544c544c544c544c54df339731ece1cdba8960e3bf5b06d937d44d5f3e34d4f03434a1a1090d4d68684243131abe49bc71230cff53a91abe86efb9cba80c22a11fbba0c997cdc7d81a3d09698ec11f5ab41181ee3b454f684cbc0dbf53445dd527f38e843e920a52d0870d36dcb7e11644e33f09e9d4dbf0ddafa9cd964a4ded4371fb354ea68b056576744a1aa945dde799329e6593f17da728c6f8fd70635453bbc0f7cc97b8c02ff15d9219da1bdabc3747d1c6befc7eb8318a9a759b21cb764120da0c63baaf6a3b45d50a1d85637a8b3617ec3d388c399ec120bd23ca0cedcd3be88db36e1764410981eef1098d07ca5f2710e89da21fda6c61a4a4d9aacd1676f263fbb9cd960c7afb3f51664b0a294999ad2f664b0a31cd968cbdfd1f307ea6cc960c065952386b6986b1cd529aa1fdbb59b7a0cd8ac282f29d60fafecafbf8be538481efab9a101bbc9ada6cc5f4587e41966d0cbac72e68403420241b9fd06eafc1afed7eccfc3ecb65ba7e685365fffeeacb7199781ddf757ccfbcebf8ba51b395a51b9ead5117f7b25f5363dde0d5d43a1cbc9a1a75dd97fd1a5bfe10c0bd6aeafb4e11cbb65937443107b36c35aab24a9c89ef35379413bb5b015f061a356a66b04113dad87083652ba653eec89d3a8f656506ea8331fa99a69883dfe2271c8687194d7c0876dfd1c47f4bb315c3ed451db94c31ee19a18e90622461410ab78f22a219dfa69929b3259560b3a563321a2134f6698acc964c029520d83ca484edfec5b87d20bb7f366ebf89fd63fbd83d33b1bbfec0e6513db0fb1785db5fa2c6ed7760f7cc81ddf30676a74a3d76cf1ad89d05c6edf3d83ca412bba792d89d45c6ed6760f3a818d89d325d60f3d8b17b7c1285dbd7b1fb07e3f6fbeed5023668dc3e12bb532e2ab03b4781ddf50476a75c4860f71d81dd3908ecae1fb0bb8c2376cf0ed83dd580dd3703765f3162f795056c1eb288dd29170ad87d8588dd537c88dd594ee0f685d85d460276a7b62076e78076d708d85d0610bb53db0fbb3fffd9fd00bbb3bae0f60db0fb1760f79d1ab7efa363e3f609b0bb8e146edf87dd533dec5e7b7066dc3e0fbbdfd0b8fd1cbbaf9e70fb3becbe63e3f671d4dcb8fdd7e621f9e6217976a74a3bbbd701ec9eb90076bf91c2edebb0fbb784dbd751c9b8fd9cdd6f6edc7e0076bfd93caa6b77afb579d41c76f76e76a74c38eceef11e99d0b87d00ec4e99f80dbb472d9ab87dd6ee54e9c6ee9adbb053c4eddbec9e579b87e435ecced1b07bcc42b57b0c23dc5ddac0c6ee720a33ec3e5950b3fb44428ddde91332ecce81bbc72cf6ee310c1bd0d85d4e8166f7c902de6dad4f24ccd89d3ec1bbdd3c66ccee59c6b675cd63ec2e6058366effc565af6ab1da052d36614a68dcfecaee1f8ddbd7ddd6fa6724c12323ea8a51a68dbaf2cbfe47e42d51577c49e1f6bb7d60ff8a3e9911efb6868f78b71b255bb1d99926d94e8a36f6e344fa767c3151be452d0993d884c6b2c52e685b30318ae14ad0f0186db408439222f7b930e88e9ae5eb592bee572cb4b4724e9412944bbe011ade8326f2cc9315380a1acfa28d7d5a8b3678a669df99266eefa366546551442fb90451b268639f9ba23355fdd066682928733ff2bdaa61a1e392a119b728d96cf5f884364311a18a503294105b9badb844081377d597e5a8222ebca364a8233fb49d22b9aacdd6a4b56883a5c0eb0ce38700b957b5197e30252028faa6779738e237880ace347d0890af257a5a38568206c74c2c717a77601bbf4b1c2b91658acbbb5334436c5b0283c92a04f715fc519f0363c018ed9926aa8a4155d222064ebe3a6d5ac4200c262d6430a4ae6a3b4530465924a1093689aaec7b473fb05d6c936cb725a6242825218a12be00a3f2fb75558331ba3b45334d3d3426209a0f8d65a32e2a8454b249d445bf9e989850334b31de41d0afa00f79a3f74a1b5559d4cf2f477c5d94cc4ae118d421efdd334d33b46f431de11635e356ce34d9f9334d1825e3f6653046c95042662b2ab1c217dc3e8a865a325d5c12aac86cc52d961c753b8377942c86cb8c9282f08e3aaa4aae0005ef28246e5144dc3ebeb6c674eb72c93ab1b6d99a6fa1d828b6c6ad54aa5109b3dc8464a2090be4522a94900510a470e1d605214f9093567b71e64e9d173b90287491ce59049ec9031781ff823e96384292a1e8c7fb3e0fa51f7e06885278057548e13cb3d25aa50583b3691186e79d15638c52259d3fb3884c2ba0b2cc5d41cb39e74c62e1d2c51a3d0655c1d060ce4ae9e7e7993034d0bd7a2c2c4654355b62f6cccb6c9aaf46d49589383d67bccc5b70c7dd190a3af7782f67aa1af56a747a1af23be9d5e815e7186de4630ea44a1c832ec618633ca28b357a54c28c5b29e59491e2b11a29327284dba711a608b730b3195a226e5132948caa4e23d0b2c382105e390d0c86c6452557f882db87a162ba2a85318202ef34b128334d94656bbd24cdd0fe4b8dcb74a711e89a8631a249b23ac211a789c1aa16594073026e699ee03604df699ce83420e056e8574da2eba7e37d55a382dbdf49a7ef334d2f45d1c666182a6668ab90dc03010873046394618c420006815deb54aa69660add42d3c0661816ad409fc097221ad8e90add679a669a4e334d334d3ce20cfb4e126e1f09954aae40e396d3c8608e66abafdcb885c25df4656984c024e12124ec3030fed2f4723b21e9fa9d7cee8580bc64145fb78c7c09c50b0179d58731e216c68805e62888fab2c8cb97456414cf02fae05e4621a1f80aca4820af7befe799a6cab2534f23b3328a0c769a19b733b64a288eb0d10d7411f7b6d8e20b5e9520339aad2e97b8e0f3b740ba368a128ea0a8e04dfcfc3a5b3f7e7e57c18f08c82bbe3ea3cf88aa28947b8bf0dde477d4c4fe7eec4fe993325b914b9961131bff8f7d6d1f94fddd60b3259980f9f89e394a06fb385ddf1255d9ff80dc28d80cbf26fa2d497c658cd4475b6c31c3577e4b5274133f3e7e397e3ccfbc175f50877c19821084e06b42c1be25eaaaa9f99662784dad08baa364312ad15dc13406dee3bee4f3f349f1db24148b21e1d3083290019f5a6badf662ebd34428160b120a0a0a62d23399641e649c318884435287f25046423f72202733b4404b9066c8815289599124e8cd5a6bedc5f9ae6a41b118ce19770104749faefc4e910c193284a066abda92f7f23868dc03b9b53e07faa8459e7b1f1494b9f86ff8d0cf7f37cf0c7ba0aaa47b6f7c8c60d6128a1b3ef78259d30c124155f6d4831bb7dfc38307131e4c7830e1719f6e2957b57b3f1ddb4acacbca146e7f75f3a1f92c992de905c699e19c73e64e9d12e701d1a690428ae79940438fe514186f20a0a19f430f0434276fe2734f341de58c8814e28106a2cdd64592b19a13201bd06db66464ec23078a325b5749ca174cb3050406d094d99291423205208ba534934b728a8d1222c546cd66882a32430dbcfeb9b519562b3404be9359468afa49c2abda6d92344316f9fbba043e345a693a9ea8d03d36b138e000b26cd2634199aef8da81beff2d99a1fc9cccb087c90d7a4af5563a38e140f778bae51078ca81cee16f8e88bc9c22056fff868ad99252dccc80dbbf89c1cdc71b99822d89bc94625f2e832491c72f672b534b22cf7d0500c2a5d8f6e590cda38766a22adc57b63d43508a5d39dd7429de805fa62053a51962b072496453a568238366609ce1143bf2c9e56c47e1f9e51025dce814093c07edc8a5145b7299822da7d84a3401e3920888a4825489aab00c9a62cb2090dea4c83d3ecbd8e32f075e82cba021cf337356027339440aedc82fce4232f677af62f2c6bdf77f5641e40dde2dc143636c25cb39b2123cef6f496d86b88710f8210179a724fafe4f8f0c027b9599e03b99fb128a9751fc056580a8dc0b21a390508054890359475846aca268635735f9bae15937dcc0ba8175c3f7e7acbeaac562197692c1aa165b059137509082143ccf64195157ac8a298cccde3eebc86cf190e27b642e55f0f65945510ef9ce7201b7cf6241d491431e001f01c03a92536c39fbbb2f87f9c24b2966dfa1be1c520a706a39fb3b93621664636c8a2a19f416c665d0efcae56cd32f6268640a902ec5304699e20d32e8839a80bde8532ea7d87449aa60732073290548a5c4b04a293695228704057d67e5141b497d69a4be9c6dba44771055c28196413ff4920891a79d14a23268486868e879a824b225d1094e2053b0bf1a0af6b7e404fb4322da1fcd043f483f4b7c90a64f4d9660bfd8a86a03453aef06badb9a6704e42305628362bb19a9a8a8a81411117d47360f7c9c2e0f7c516a55faa27c526668ff23aadf1155d98f7aa7486bfde5b86011f4dd29da319a2175c978d9cff908e3bfd7c8fea477e7cfa08e8b3b2cb98c6f16f793c5a8bcf0dbc2726dcdf39456240bae569c6c50b373e4481bed14cd904e201af462cdb01380e63dd5a0c7538a362822aab27df7fe37a58484849ed559362121a1d992422b28d70769865768decd59350ccb0694c46fc6485268a024209aa4c18a65bb42c7644a2fae3ed097a5c4bab1a0ccd002d18090eebd17883673b01fe45f404933076b8bec0a80927007d241cb2e8064fcc8789cefa4f743a3ae55edae6a55e89da319daffa1814f58b69da2d792e441499987caa0ef5eee5fef8248e87b344968fbd066787d9a64deb950a1bb4a079dd74187d7992a1d3964481091956c154406ad622b59ce791564ca0ab68aad644488ac60ab20b325b32567b31f9241bf8a050dad64b32583563419145741a6ac60ab20f74f33d03af2cd19e7958ce3971244dec017fc96cc3000f74f4774ce66f29a8203f66a8a36f6a74c993265ca94295364b053946fbe39f76658cea7201d80efb1c994293c16e33948e7c8a021fb73729bad8b976e98660b0fe5009b2d1913325b3987590e4572309297d4666b059bad5510a9e332f54ac6a5d0fe96a88a7c3522ea8a2a22274e32a832d2a964d445f37dbcb222891079dbf9b87fc11fcae50cabc4206fc462a01294cb980cfa8b3fe72c85145906815df2a0cffbbeaa69b62e0db0d497e3ded90cec406e27635b0e79bce5d07fb4d9924386bc1ccaaf9a22759a86e4d0d3001bfa1853d37034b4652cd6c35a8fb3b50363253930a8c22f87fc29065ac77dcb3f3964b294666bb6320d309e73143964c8abc4206fe4ff72c82102381dd13b463b476e367d09c5ae2f85a078a7234f5e4d32c6040ab7c1d603cd7022ce0f4d8a2b460a6fddd74e910b74df29bab1bd530434eb82482816130a8ac56e7ea21298d0bd417f5fc68482409fa4d88df95753eb778a664bc664ec14022d0020aa14bbf8813214d6b80cfaba6d5c0649a197412f87a410e89334f9e4a710e81b19a7a42824f4f3d33d5f92c84dd292d992b1da6cc9211b949b1ba5d9929143375266eb2e7d315b60ccd6bd69ba9992436cb66424918f1fed435235a9c4207568807119db1f4d259be197345b91470e7e392ea89acdd02231c31d33b46f7b7c392e980413b71f4f461abf149241601532e87d803d730ae49591c4b68f2566684f30d056c660a0edeb28e930e9d8be241ddbd591325b17fc68335c9a2d3934047e483845b375843353e1cc708a10e11cc13122c2818fd355c38157c954426a6ed4a563f398a80b880f9c99b7a463c31883f529e8315195f59ab81db281683304423a1dd17da7e8e70531ee65141cf8a38a207ed0e73e4701fec82e5c67893f8d4012797b71c4fce988ee2cda00de0ee02fc87d11f439b088fa120a305255964234c0825e0abd1c1a1afa4e06ed0e84dfd8773106c61eef2e63fbe40219248564d0568941de90429f770f695c0a3d0f95435b0e0189bc24020221cdd0da6e454647d4556f68b27d6a81a6dfa58c6e9c1955dd6e1fd59a14dd243c81be84a2031fa78bfb0ebc8462dba04d95eb5d315a4e300d8447269cf7f161a932cef2e245cda2e28575f4c27af97e601551d5cac9ca76c4c76f556321a22a2b83f1aa117417f43296ca35c8a0215008ec70142245b8e57d55eb38446e4f7e96ac8614ada2c8a0cd44888b650c8c349541214c844821192424632c3f8c71c06608f4b128dad867a946d0a98f071bbce6166d6c18d9a0e223a22e190afa9011823ef71cf843e627e97fc08fc8263dd929a24bf40028101f29101f291008f89d23f4f15fa08f1428888f5167b544deb01fc47745d88a20222292b1c861e405575128bedddd3b459e141579328b9141580146424343be4f1e012345768c60a3067c8f4d56b7958daa565166e800063840a9082205280d91eb90a1226c365b13052829f5698b321fa3e6324232323d34063080012f8340260cb089cdd00a49a10d3345638e5f0e016d6033b49d8d6c86318c3ff5e5c09df4e4906db39a82a4822b1b55ed08010214215c28c9a0ad33c43484c8ec65d00ed18e101d1b130e1ad32c0f1902a5100862950c074ddeb01f146bd2430b0293b87d560cbc575156b7686357b619b28856b59883ff3bbc8ba809c149126c352120e5fd0008100181ff59325b32e863d4d1a9c91bf623f045d888a0e9d432a8e344eaec149137ec0bd50aee10492150025266286319c4a07cc0ff2c99e14f12042200815f2d913a3a4ee40dfb0a30a22a9b80cfab253c01df334dc00eb810cf8a32431b55d9d77152432a67b04fde759c70fb35e9080ab125859ee5054b88217688c808219337ec0ff131b67664eebd2f4373052851bc23933af965dc7e11b69d225227833b44f20691d81aa2490c85ccd610b519da22429b254529da701f8ce0ef8311455a0abd0dfa4ef9043ec60950007fccc9df27afc0c75881efa4a763a3aed5fd9e7138c151db3892a88a88b7bf43a480b73f449305bcfd216a0b7822fe820a20e2760b31b4df292fe2636c1151040d47de27afe163d4d931226fd8afe171d0624e7c962d4b21100846c4166410d82947e2ed13c184048d43e08746554b7e8c44e06d0cec934760c708b7292615490f3dde42cf333b19296f87ef64c442eff0320cba00f7823b49d146c61568037c67bf9ec97792a20de7995dbd42b7f8ada55851585066a85d3e56055ecd1cece3ad82c799d1d0b9814c64f026fe95941b8bdd5fd5564e56b6d5d28a8908dcfeaa693565ba6238690a61e0f66d62d355672b28abdbd5b14525342f746c3868f7c648e8fb73568ab35899c5fa1b384552a972a8c4ccb3865dd13245230301000000531400303018100945c3d1684890c4908d0f14800b90a054764e9aa75910c428858c31c61800040000004060340d10217c30d265619103b0f2bf62e77e6f6cca041315f918a6865e84ef9f3b1724951219f7e4d80b646ab17e40ac47ab39b913425e77ee5334d54936b747045ac9b4a2169924be3ca0662a943b623bdd9e3fec0cfc6a2889f22c8511e120573e55df08683bcedc0652b4ad5650a54c497a65343ae782b422838c1c0dda0c91952f84c8a77aedeeca566d1a7a2addbe17f25ac900649113eec395ac7796a609945a57d83c134d7a2dd71bb43fc1378bc1f33d9e20609db6e46d8a74f910fecd7cd7c0d51ba369a51699db1629d2946b8059767760cf36dd787bc09f3472fd00bc9a6d134d777c3a5dbdfe45bf256a6338a0b4e0e3ab50c80762875c500e0b8a88267587524be7ab15ca48320c8b68dbb6ff24c233e5aed780fae621e9dbff77fb77b5d7f14b480ba2d2ef9a888dcc730cfba590c28db50d1090e8255d325d37d07a282f70e173d0cb89cf3b27156cf96a8c4ec9222ff59f8f298e3e7d14010e48a15f58d7a8cc511de7a3f62994557da4d7452ffe572788b7e1138e55786e87a1d6e4dec00c5d0beb7056921ff907507b59b69f529a5e431027dea634ce3b2dd8e578de65a07984132cd511e254d711085fc8c59e44d0ceb3caa3046578be6b198ac617b223c09499cc078a3e337ac32e31bd700f2dee76622b7b80c87081d707171c436d0e10171877b033dcdfd0090453a9b328b3c67bebc679472aa691f9e501303304e192ac313ad0a6750a917937afabffd877a31b4e46f517a53f9631d05cf3e8069c8c55ae6f326aa8f89c3ea94feddb10467da55c3a8efa0c10e0ad6b9f7213dd38fd22ad68fc19b061cb2f0970fbb93044476b13cb0792e297df3a4c64677eaf8b8cf50c0464bf83d923fa916f189b057887d86425070543e2f6420c714f7bd2dc7c033528487c2e8f42df3c0ce3a167e33941607aaed023086a0886cedcc228bccfe97543102b9c487bcc091349781b762aede4b33ed0c602d77bef1a1279344b401f54c3bb559f86226fc4eb3458c2431017502737c932c4d0073608f1065291c608ddd28459a53faec8667997470d9f7fce49f33a17b4bcd1d3f19b0ef9b161c5251d3338783f8cc4ac131d0ce784a0f793aae9d6b6ec91d1189ef1b0634d7db8cd75ccb5a80be92dd46534560950b5eeb831873169f5a93de6302acf26833a3bb35697051e34c9058aced1ed377316558cec2ab7b3f22059b6a7d00ad306c8b29887d7d170f029bc7e9b4e091672da7ee0a3ad5a77da21db5da8544c832e41f9b26048c94c4c2a6b9474c883477a3059d7acd57583231d9b0f1ea08a97702c2e6d83a595cd7306ea3e92dfddaaa77624ce58a31365a3ea19deb5d03060c2a45bc75b266e6675844da43f3db5a2a5910f82844220dc95ef7efcff356bf54be720dd332b91137b839c2b15ef8dc59145ae5856c7b16b30c16564dd3af966c151df752cbf1b156c94bd51fa50fa460d1cee40b958a4d8d013d1e9e299bf53f93f3a17e51406d1f87f43ce66484f88fe74caf044f9a8fc0702345c5ac63c823cdf9236b389ea687b917cd1c9c937ee5e02723eff4e4bb171b6f9e5d9c5200307138404716e7c6b7f00c4240f0c8b938a22da4eaec41971ac9245bded5faa5804727f9d6feee21b1af58bcdab43df0172081cbb54c76b37deac2e85461a37ef0d82c1f28091b8ba4b85bb79aab93fb0d06f554227b252b613bd70f91141e2192fbf5b08f137deb170907cbf790f2590dfd3089bc808a8c85d2ef41ca306444b8d3259bf79f36022673f3b1048fc94c1b21f52973088fdc4d37c62effcb130f6bb26e0592f4ee7827de27087bb0295f5878b1f993fdfb5207b8daa9fd317f613c70e10f609b599772b8f418c74fa17fec526d02307c83e047d5a7724e8ccabe7b27e10477cad18f71ae5ff1d80fe4b945a4fafd8f0fa3d2c3e316e564345b05459bbbcd8a5afbaadef178cf2f0bd79ca5b675d1966c724645b181bff9b0c2110c9b032c22e91d4d3c76363366190e61550bdcd414dece502f021268786d1ddce7a147a680e871af04fccd9736a964bbb75c179924fe36577b734c282e355563ee5831a9f62eaf0054a6803b53e448c928b86c7cd7ebb1e102830e062dc74018cfa86e7a3f4f44475a2c514248a09f51efcc6b98165edf7776d613bfae3bc461aa68d10af9aaabd3cc38f2f060f358cd18310113ad74c09f3853ca2e7e4edc92423651567ea19a063a5f680b49a211fb60193bdd8d823e31d5fd3145b42d83b379b0af61195424e6d25b50d450d8c89592e13cf1ccd3bc3d64d9cbc2dc330d27652198adf440d1e92ed186dc7dc1c53e368d943a69a9c373c300284ee337b3e1c1d8c1a61f5948ba6f7904805f23ebf7a1889ed5818ac74af38e99b8fee2b9363a665484777654b3e481fdedf1125c0fa65d0abb58ba0bb064f55103c77fbd773d5096be88bc62374b195bf3cf19dbf50bf9c370dff19e19802cae84f40872164402d066b58b7751fd05251030f18e21992135d236f36280164c2096f39c25d3f15049e5441ffb59b86679b781e63a5b8f948bce21c2c249dfcc1c0360ef85359473c3d73287c65a53b7ca72d454efcfd44f941bf2fa8788042e18c1898dc9ceb0d2ca2e56038506f2f8f30eab25039399d6293ccbc05ddc8125e180fe523a3cf85aad2a67484cd2ccce025325d787e6e90a917f6a943205e65d7f46b5aaa3d7c93e52850086bdddb24091b79fc6cb69cba4150f1ca23c0686a0cfdd4456fe8aebd77a0001369f992a8eb83711eed3156fbe6a47ef61a9fcb1069491f5d0c936e99f1de1c7549e034ff2cd036967ace830f09368f1e1efe20d4331bdba71a2feb09a2141265e9f967035a836cb84f9b8289fc4ab142dad2d3c3491329552088118f0b569583378d03032ae39d32f037707eb0b1e83a35fd34b97273975a2a4a3b37b202ba912b8230512eb51caecf06f2160392ae0167690c67a12bb62957a72b8434cb531e0f04a7d45da4d91467ec4e95911f09e5d9581fb6aad123fa78ae383382242f860324daa26c4276b1b5f5ceb0c8c5749c1772371a3595afeacb455a5b04e9768ee5199d84205c068f7794b267207f699c115f4693d795a050a907cac7d5db436a2883772e13c2fe16d1f1bb46bb483925a1eb6f8aa84b96dd5b48ec4ab95d11f28f0d0ab99c05154c292559ef9993296b34deeab32902b4c0903f46b856514348f57772399d9ca9fa5d7b12d063ba489cce0d16550633f68ce1d333068e125971fe0e83f45080fd7d2bed28da7c59cae18809ab7c8451b9843dc040fb3661ef73ddc1ae15beaf69ca91a4ef0368c6388e2bc6b42c7ff49bb29cf33d6bb8d1df4a8a830023aa97db24eda72c3da349d23bbfcf47b9b5964284656f1da387c14600114466bf101da78822c50eb543c48a7fa90688ff57444e74387cb0e7a4e7c890111a8f494da7524f5114d6c1ef48cf8f34b2b5f73f1687ec02f2388fa8b2e9561c5e8e86bfce18fcccab1cebc1eea0d34879353735d304311917fafdbfd70f15c4de79c5bfc8f1f7b69eada1f5c72af53557e1f664a8f5e49edbf654ff0531fa66f7bf96366543c6e48a0822e5b6e02b3d41092de5debcfc82b140d53ba8dd5b069902b5039b122715d2c9735d79a23abcd9c89756e3043a54ecbf9a1ed9d15b9f852439e4140226904d22f107a9719a93f30925621fda3b8209c5e42b4108a3abc556e970c1792495eb1b7d0423aabb63fe018d101a7d21c40060e065e1a7925268414a4dd045d1fba46a2fb46fec9179869aa4455f32cad2e9cc3f4731b6f4a366e776bde621416be35e1f8fc79fe092fee43f652a2c4f1049648f245e8f6c60d1f08551e0123e7c365e0bcd33122b7924b809c81f012d20fe5e8f8b3448bf53e631cac3bb65ef82ee523566e80404a603c7a1e35b112ca638c17c932e6493762b2e16e61c6146a0e37f1c618a3be2571155696ff607c2f267b141666c2177663c5b1acee0e65f0334e299adb93939f06a5b42d32016694300311cf1a65e5d172de1c12b3434432e22a8427d0bcabac7414c85cc1513bb86651542adf28de71dc880af020662473d6ca0c655a03b9d5ad5ffdc2519d867b8777b7f0db8eea168591998e6e87f61b5b29dea8f89307550b410c0fce1a9a5d98b4601015663fdcabadbd3090c8e2c361be1c990a218045433a12919d820d57eed7533470c12bfb9f201e0a15a8620b46313b55eb8a528c8bca4f0b6a5dbe54f82579fd936c6394337c03a76126e517d64374dfda344cc3379ceb747460753fc886a481fd6c411aea25706298eba4239b6a66b20e09a274523482accfc78f31e931d03b4237f2df66282e53fc6615aa7502322c38f1ce6fda3226b9b64ad00c09a729fc5de252b757c0eeed58fc1b422a65120d8d9cdbb7419c6f1073bb43d55601905d67380e0bc737e930e257d70d54ccfc6b208c935578d0ec55bec48e6c0d3aedd8851744677fdc3973857f97b4d2825837ec2a14fb3e41d95f80cc08b005470de43138937a5f2c8f928e761dfa291dcd15893a3aebd7720f1062dda1679842cb2b9449f90f10c646ca10c1d474e5a2c6a0a90d7a20820db55b6b1153820374ccdcb9e925dc73650588226f84bd5d6229d27638feb099e6506d9588e1cf60872b6f38a6dedbe6260851337e91b4c974f6a70e053c1f54ea14b97fc0356ca42a2bf113b80b904052b6a1b56e49bc10e9173b8fc0cf4a6189ab5c96848780335fb36f4e24a9841d4db4bffbf5bf35d99d96574cbf950bdc162eff87dbe993671bcaa634c4dcf003b85a575b0d476e6deb2a56a07271a26355459d4a5aec529c02df89b3aa7377fbe03903fe6ae3f7091ae01ff605b528aad95d91f49f4c424c444e1d12c05c691956da8d43aecc9b736ac710feefe3573a10c130ef9d509cb98952fd8a05415a45d3fa3eb5e39ead851ba989092c856898079836994705ce7c4043eda4597b094080ec3c88e00fd70323595393737442626a667e6c8ca3623ffe4ef86713800f9e16f655f1e804c25eb8fad27448ad0b9735e21b6d1c1abef19498dabffa26f9bfba5e5a7457ec7e68c7a087e48c5225b4a95dbeee5c7a389723d67379a7e224a442a25e0517cde02760aedb8b9c081a32e544099de92640cf2c83fc16fb79f1ed7dd371ea84a0cf8275fb1a260aaf9c295f4483394cb6a511f015455ac1a1239c26e6b195ad9917573db15a1e4659151c8e7185a116285e561b95bf34eeb7204d2853bfca6f7209d32fd23ae37051245307fd3da4a60e27b000195e5ce72d01b04696cc23525d02efaac4eb17efcaf5fb66a99ecf97ce863b0af1c18035975dd602bd316b00d4f632a282cb5a41684b49797d3aec1b07bb3caec24122ad6e39dd3ce01f2a6dff47ecae36ab408891d354f6bf97a3ea12809a7d630d0c4a936baa5b14a0d61e1b804fc907471c822f10345050752aa960ed175cca12ff8854490fd821f84ec91fb0ef73845d9cdeb6b98d35530bd1b203420a8561e1fa4a5d18e24a620f478e2162399b746e03a26c7cef8994a076134c6e5ce06f47d96fc029b98894bd4c44ec4374aa0296e92e5c495a2b0ce1de114a374a9d646ac22d958a249cbee182b5bd5ca303961a33898ebe0e98d2ed63485608fefd5772549965e3698ed9239c922085e65d2d50f0968f4cc5db2323f3421ed1e6462e788cd88330381d54a6d9d80f9f82489ecef214c7157265092624946d1f73188c6159f92a90a6d2a13dc72ab3ee35bca0093ea9a343e7cc11f098b430745710f5fc3ae04418799c4a3e11e0d688e4b749326e283c3fb123da018bccb485963d869f5753a5f9bb8864785031f86d603f02798e06c914d8cd4ab09d30f4ecdaf3dbd0bec5aebc8002507c715a7e6258ab9867b4aafef994680946aec59e4bd61f961d763214e3288c5fd987c856ab05caae4144c92644bb8054f75244321d64c173c2aa65735481f665690a2eb1b334853405bf3daaa7fd44a3d217ab42941a345e84786f39e8d2ee52fba6e84ae2f5d6b5a7b55345a2065583079ffd6186b9c90a8cdb7b0c753838a5436a7d97be92746e0847dc46bb3c1f8755a7e1aaeb6d721bd1ad89b017ee70524560b7ec45cd967880e5025f80cf5badc167d842c0d84d89c67265a25d4dac706c20041daff8f9dd1c4e2dc66514978c080b02631b0770da783fc11c3b168bd776ec5d585f5618ac82bdf1e302992ab43541e2ff0906ebf3939a3cc4faa57cb2a98bfbe3f0d0e61e9a9a8e06e23bdf6860be1b0b5bfa29f9fbc0218c2f7b3546e1f63635840596096e18c21e06de0f00c7e39197107f8b776513005b8576215c1819cecf389edd215e6f05345722db77bcd70511b9e3b8aa2f52b7c0f8240dc429e9574642afff5e8385c6765f59b815f13e00b2e8216aed6d7d580609ca6564a1871d019e77e5d84c04a8425f187001f9203e50e94481792153b1ab66b65156aad568f7209271f0f7419d062fd8e91e18cc6df2591197e49f250a14dc3765e0a9ea03871baed053292cc8c687fabaad75808e00b1e7ce91d2c4ac463ce23e9c189e5b05717524fb6f7f3085620b673be4931a9594cad665741e609f9062b18c14e7c71a8579b62c2d306f1e0239f41cea19b98cee90c7d4a0af00b14603eb2f2ff5d184f6a530913de980ef130f1e8e75e52a0ecda108e457f1f79e3370515931a26b0280b3134f51824f9180a2d6bc34e25142fc3a202e8c42ea7b2f5fab083c4b31cf2586373ac6cbd3456f1eea92582e582ce0c7c477cadc9909e5da7a79a9ab3df2ce052227384742c67eacb502e16ea6c1f7fc467d4a5a39c2a6d1a9900348bfae11160c10c0b0192d9a0a9d4a55e4e757471ea566b6f36be7e57a4f27f8c5884e2a21d4f6c2cb1cfb8a10332e9fc37c4091c52ae1accc9cec70d01511527e5e1ab4ebd0ad73fa35676ccc40c0a5afa1c023e5b9233618ba3fab0fa6366662e51a08eb2c82fbf7d79ae1f1f0575a53297ab2611b1ece4ef48aba863bf20c17e56b307df55183131ea52159c82e366f6fa4500c5c34dc968a67b935c606aac1f98f7bc34e2b759382a76bae66a611bcf2c217b31105446a2ef9dbedf234a5a1dd60437d92fbe8e37852dd9495dad562f7ff68b53193ba454c1579e63b159abc94f57237e2bbab0338dcae0cbcbd3cdb74c6e1e329c321e0f8081e12224c7e24b14480a40fcb61d751931d983318e581c45129e25e6d46d536ce7889f63ca8da1ff539a7fbb1a3eb30600bcf4fdf0cdc5978ac39c4bf02e5c4a91d3e7b1f09a094118c766dd38ad736a3cba4652c0962b943624cabbef00a5d21ee53e9d9d110117ad3c448a504dab7132c8b63fd08fb121bf1edb3d6e6fb387eea33e153cec8b01ff4da89495271a691e832fa786b337c5d8759f79fcebe93c59ac4a03c7e650a7a172c6742c5420e3cee0d4ff12b7ef5be39b219664da772a8a1f50a6f280dd70a5100c7e895b188b7f74e34dfbc053d72b381d8b72e317540a921daffcc03e5b8d66ddc5525727dc66914051d44becc54128655ea5beecb74e0984570327f76d491e3ba3acb823632d114a48b7fca6259d2338365e810564bc22f1353466755f9ef737a235226775a4778be961b72394a4bd49a051cdc5b61c7d7381864bc1511bdcf51a015d17e21fa4e61b42f30a6646e4535775bdea892f40a5a90414fd15312e6b5ee9fb850f2e9662be840f54e06d3802ac5dff4a0a816a81519460c81a43d36c00679f5520f2d7bfd70a32dc8b8311ac8390d6feb9fdd79a9638a10b810e24e99f5a48410aa59eb6471d98b3a83b80bfceb9690138a70e798cf6ac8c465168e17db7c01050a6b01e48187b947dd967ecf9176a05dc0c093f4cd1a1f6b4b3e8d4e6a412f2a6e8eda164e904abe2c3fb32f5c1ce60b924028a0f3421efba3f4fa2bcf3617e5b4f622c1208c5730e640c3091ba51d0b2f0093555580dc4393ff847f614031c84227080a0710c1ccbd7ac32cabdc124f3cae6b8bfeadcfbe52a8c4b6f10b05f5f0615f28380c00e1a586466f617167713b99e1d35f88377b96cff3ea87ee74a8f99ddcc184a16b8cb81702c9df6009c69a1260600c0bdc79b05f10d863730c33fb6717944b60365d6af8219f1e4f81ffca4d21342e7e17b033c468e482d756eadc9ae166b88cf84768a500ae1faab0047c3ed343ef477f6678b13dc1e8750758919b0f6faaebb4ce61ef25dbd5a6f670b1af01b552912044d72f2c9567084575fa0262ffcd8663863f6d15639e703f1833a927224ca5f912d93268661fbdc40c4e983636e56a3ed4e14b6f67eb646576d990d2525b6c2381790a3ad231319860176278d3f8311d4a8c33521083ca66910619e04e363925b1805bca06a9ce4f664703c91b4d55d5bb488bab791b02a09ac9ee4a73142d613825900e29bde8ea31ffe9a4ffecbd3ecfcaa7702f9562f9b1e5a02628c833e823f96ab1984b46f6800b5e10cea08f152ecccd39c122d90e8ee3f9652c447f1678ee31c4aea409849b880505988b9e71af73cf44d8f2ba8eb40e104731562e5e36d0247b16f993137454b373fead77522a0899539fcaa2868813c420c128cca2a522e693c4fa8965008348e9a8fad8fb3d9374db3204cc0680bf33d2c199a3741d45a6e481b997d96d5d9971216a3327b4caf05cdffd5e3ca11a27f6fa6bbfbd84baf0fb78a8765662cf6c96a6dc8e558de0c54ef88327edbf4e428e1f0488ee49c0f036c5cd11e7c46bdc356e7bf2b778736a1dfdce816021b7b87faf3390a598342aa28e1977a17e5596054c8135fe4f305ccfe20045e2c47ac8f1bcfa97c3e37c3941444fd64e10c0c302ab023c5320888a867670b8eb067423eb2f137c258075be7699c280ab42f6e8534224be92bff42fec7f3441ab782db7f0dbcaa7d41539b0fdd0219e342c27ebbdc4bc2727705740f8fac4cde73d462470ae955b05a127149977586c024c81619b8c8802b6d3a7728a43b28f8fc090eb08d3e2b81c4d54a4611d1f7cf72e0f5122532bf3a7f89caa46c36cc80aa22d59f8fe42c9a1ebdd31d12d99f8661f58e938ce573fcf5f7eb404d5cc294f08c5f0f9bfad8fca7c9512843ceec6fc2f0c18222ce725d191ce2607760e810038fa30b875829d7e77c33c373163105e6de38c313d85447cc859b50d1859441e5974c12b46bb312ab9436c9f37b1d9bbff82ff6924f7f200640020a0fc65681f0b94d2862e5c5069464e98d3350016ebe463a540d986ce3a04511ac2b504be6e195708d02424d9e7b0adf36e0319dc53238c68d0d5a01d858b74da982a4eda3730c43d43e9c5dacc6fb2a5ee2ff68b18c2efd175e519d1572fd4ed23c23d0d539dabdf971a363ff680442cfbf9080cb2e26f3788c1c240c421cf901cb4730ba3cc3ef2c78e5c75353cdadc08cdfe5caf04e80400f3699cc145aff2bcec9ffbb77e78e709e8091ca03e417d338529724a0ca6f708a4511abfe318572eb308b41b70397cab03feb46d09c13a08c77fcc103de6214a58272314e371dda25d0357762e03a93438185a7d27d868474764061e1e1618be61a3d6a45100fc9463798b4b0df44f7e7ef523645bf823a99d648b25f78158d85392307c186be700cf71a0a1eb992e8bc19d2f736517b2d98807f1ab1927a7fa740363d1db8b385058ded2c2ad0b22042be8246ae16c06e3a28b10214e201bd8eabcd039e84275db883b846d8f6e248e16104f886d0742fcafb3b40654bb7fc042e4009fbe344b6cfd9999022012d3e5fc2b32040636342c4004e22fc4f69f0280b64bc988ba01728622e956c6d0b4b155b0c85e00f49bf49ab3e904bbfd10dfc0b3eb9b9185031b897ed9b454598234b3a88ce3a544a5c7c2e3487263c4ccad794422198a49167e407ff7bf46a0d080b06c2069e63123678872b95c7797a08e258f0f2ace1eb9eb5691a55e53d7cff6686241f29f4ad5bac294cae83ebaca81a1b9293092409de28b1ef40a588007f941404ba2f93d38c0eecc78138cc2e0244f6d12d683afeaf6bb76489e69193656efb161d7b33138196ca96b5bde012544e030cd58f80f611c6771870e65c4cefabbce783e9d531a71233755139fba5141e9076dadb0da29fc6cc6ccc82a923a5da50d2d9cf0d2e73c214e80b657ae9b340a322df3dccdf8faa8b11b3b85ebf67f7862957cc7f4249f6b926363c9ff4e71c21df31c62c93c50dbe9e25242798b424c1f3f1c27385695352c870f2fe0d510a1bf8cf49972f4cbf5e3f80fc57fc1f4e39394323175b5b9eba2e827d4fa87779efb2e34797a085b20cd3d0601ebaba1bb36e24b4240d2d23d4fbbf694b6ceac1747dcd0b6fc9642de7b80852f3761ef9c46dd4e6de662f840a2d903aad121b5f0fa1348999f728a7f651d801847a4573c52aa74580c9b269de68f18bea2455de434a9c6947532a62c83e7c88511f0ffa0be950825083c530cc9a688e60d777ce895aa1ca9d0cc1a77914ed6637b75b88723e70353ce8287c2d0a0b09480d6d08b427b540bb61714c4ec700998e78a06a0ffe7e107d477c15744740178cd5209cc7eccf11bb13dc04b07e2321767e43520ed4efe809d690fdb1c5a74207d1bf648328abfe5e58cfec54b2dc53cb06d8d2b68d2b467c4470ddc3a7de089a73b55d7d1c37577e37614de0b71d1d7264f99542bc9ce542daa2003863cda9b74ce88e6927baa37279f88138fbd83605de9e544d43eb83690117e03abcdd86d9476d6107f1f1936665707245e4d02d1b6a87104290054d47eb8b141acc8c51fd2036501d6f13386d55efdc5a80e4889b1436adf4d7d17ced8847246df3a24c25fd2aff96c442a27cfc39cf07bd274eff620678c4add7bc69fce786c7d3a3a01fae7c95f4cc1eb062a76f4207956cc253b1caca46a223018313d17df512e42cdc4859d7abeda1ea04ce92b7f1cf8fd0d1ac65104b13362e4c4bf9d4061c5fab55a09e6477c2e0822b718fe3f930ff236d0492ca6788612526e8c3d72d4e86338367bff2e821d3d76f05053c0fdf9e0d2e62e04f19e2aaf3279a995a5de3b14bdbb1e2044d7894a0532efbb17abbe9d953ec4eb41a4b7794e5a71b01cdb6bf988cda3ed16d23a036c0d376d3e69dbfb0b5c2ef5e91da50047e50d1809b008fbebc57e5a1f325070ae4657bad9bdbb18c56eb2e729fc86a974139d13194cbf79deec2126f242c61d550b05fe14d7950c31871fd66968f64e2e5b1780d7a52bc960525835adfff18463b4c347acbc01b7af8e808d5682b973073a41bb12c325f30750972bf202262179cab755e26845d99882d8a882507ec7b5e6ef5aa085acce4a6a0b12a7a2ae1aac3e934b681ec46c73bbd77438fac300f0289de4c68114b9bfb75e66fea2ca242469a16d40c92995375ff8be2ea569ce10420700e872ea59320588467cc5a97aeec4e72868de33dc78d059d0dc2036374b098f66e38e470c21f0bb65da2138aaddeda89e56725061288c9657754184d14895100b92f7a2f870b566b3ac4c89daeb5171250d61955045041d50e149ba06b8400c243b555d618ef64f765b50c5434d22831de521dd61096431c40327e0dd820de7d14230d99a9121a1f61cf817ffb0470883de6ed95e0a1d49c209fc0700d50d6422526f767a52b42cac1094026c74b3d800da028d11ef2a838038baadd0c5305e0b58e8d4ec063a3afcef0bd18f1303b8774aa5e4024ea25df694fd4d21e81ce289d6e522d2748befd460cce30de1e14ba5500f3a6155c801a44ce43049b55fc858e2b044a29aaed08a7cb634268af5ac40c02c9c6151c8dc76a9c87996c1d073ed9fb9c9c7a335c3273d96699342ad2ec21b16cbf86feab10da390d1c286ef37018a11057e08287fb9901aaea7d922ed25864d92f1e47ca86f5e6ca89ba783f453c46e600e687bde35ef26e48f8dac37cda6ce187ed775d4474f2534c3633bd23cdf8a466c86b2984a9acfd33523f951ff72538704007fad091b6ca6e703d9bd44b09370d93df69cf6a1d23a60f980ffbb63a7a7da0510f8f2d8022a2f7d728a8e5e2f255a1516c6321d2707ed552607da8f97f4586d2ca9e8d21ac75e7be6b0f7a4526ccbe957b0bde65ebb475c72956f867dc84bed5c690d1d1aa2d42939b5d20b154acb77a8ce1bc703e5dfe191baee0e5b11d74ef896163a69de4bd0c62253c785f03d8ab349e05e48022ab8addba1b02fb1393a6b13ef0d12bf22572a0a5c6e80f022d9bfdbb9665ad39f8af8258133f5892930f098c9c7c9d63780f437fde71bd4f1c145a7028712ac60d9a9ce15b365dfee79c4fef214bfc3c8c16e3f4c875bf2296e7701218df1d8bdea2e2625f3fbd92fd8e52edf141fe5eb6cf5719a5dafec6628b974b2eb9a607acd0e45a9e1fb30e6492637d7fa58565d3cdf4aa2a03872b22e6a5b2b3f20c54c1a9fe866a75a3130e986578b30b8873605ad8e679c32994168da99e8559431a3f531fdf6a89993a08de50d3a1cc39b73be6c8f67aed3587d3e129d0a1a37dc6af186a4db21a93ed446924f2d975fa7b63c468b2fb4a955d3ea41e8a4c25241c978ea826559fbc39e172f28549b80da9262a4eb4dfe4c6c4c4389c049dcbebbed87ec85158a7cba53fae4651749c756c6bf1362f663f204c0c8dcda55eca0453edc50fe5c03162e1795a83d1a4072e6197940b7d8ff75cff748e110b0815aba07274478a83d7d393c99026156964cf687db8c3653049b30e9c8647d674b18628dc18c6708b37b7ea01fd18aad7c2463069b3968fcc1207757616ebc8f63aa92a315eb731f55843494c86cc3797e64a291c1e4a0f34980b1cf6afe23f96d9fd74824d6c866d150f8321f926d2577943bff3991a05a824e48da11e5419ba420d3ef9610c7daf8e992cb0b0525cc1471fbda1ef71e9d858433a868e8a4c67d673390d7dfaed8340bca28a1cd9e84bdad2372ca74fefa91f7b7c653e95f5e1237fdd357bb7f344a7fe9a47d233618dc00ddff214fa7a2ad82b81885df3002973a9d34963f1654192f1bd51bddd32bb2ceb061ef2d32871548b921cb9ad5cb16f6ace5186e952d8340386a4bb2a3f9555ed9c6e8581f5848bd028601821a3b42d202cd30b481bdc37c0463e74bbc6cece2844c34f8e0c9dce86662198914a6bdc5592fb7a5e48b3108e7fba7e786712e86110202c84d8c9ce1311995f23830249cd31d2c7832c2fc14582acad90e45f32105890e733ea3c300a6723d9103e2835c07d441a336a6fc7e1a67d6ca512d085eea38d9651dd3af60dfae6777a970dbba247b12cd99ffb1ca38857c937750adda7cef22b90e58c4a371785513064c37e2c0832ccb24a53a08d2c2d96836949a39a78606861372aa387c9cc190d4c0f5f4a5b379f79d427428fdabe426231fc0142e3f603ac58e06461f7b370af5890cf462f1f14d6c924626411245e61b27321dbc53212d2635e5862ffba4e37c2c736375887423de31bb1ea03bc71b582225e65f389e319e74d4bc260e87bb1b28365172c2b5e8061a6ec15e34301d9244982f7136c266bd4c2c8b7231448357f2741dbc1bc55eb74f23bafa53289b3c8f9b6b8cbb8c5ab1500d8ac3484b1dda62f040fe5060a07f2caca52ac39c78540898d8ae06c0381e6a8fd0a2bbf4d78e6683ce2c2372cfe827cf733ca0b44e76bfc8fd7af962e0f8ab7f7192c338505add643a185f2fed384816b92bf3e0d56a513f41435fb4279ad5ea6ec91cd6e72c01a852a2396690721965ea0428936b567503677aeaaeeaa21b75701fdb4a91a38958d86b0e9bd89a4fe323616116ded5d2d953def6cb7d74f4690b493ad3fd10bfe3f3e608f093f6eaa05017f34e536c44acd28734c53b8534d1a2b06f832225b2805eab30ecc556a8455be4f1d237cc6bc42b0d0ff1c12194eae586be378d2df542aada9aee67eab7f87b4e18b35bcdc65f7f32f07e588505b281dbf7a7cc4c1bb66b357482f9d9f6323651337e5d9c0863c4ab932c119c2672995915cb9576a4902334ed4f4b0df26a6406b4bda6699608a8b4f94762969632d61492670dbd0563610d06e94b40e81fcc3e30b391f2b85ea9be8fdc0c6747e581fa4b717e4c098d163be967a40736c4adda3c49baaba0af7f47f39434dbf0994a6726bca0ff36e3779af2332c1f80dfeaffef46b6ce135d333f8575e814f4ffdde935395e877f777079f67537e6cddfd2bfbaf30003673e0ccc774c5d84753fcc25b2b5cd9a47e97f288d628d110f035ba67944a9934ab8f7e30cf96d27f70ff18e9a7cb420586f632e4d32788227f4d806afe707d3ba1243e4f83033aaec8a5b617d2dc9c661ade98b9b6f91b86cfb0f59129118b2a7f02678bdd8f5d337dce162b84b6339fd2f7d7063aea3e70ca7adf362c3d0d993afe0b8060cf69a8eaf232cc85e2d520a9bd8358af57326a672a4e9a116d330c4d3b9f63505acc3adbdccc015d79f1b67a24816037ce7f4f22672320cb1f106dd9e35be1d52d0e556d4efcea2d337e43af08208fa7b67987189ffd0d11ee322432dcb5fa62bd6bb7da82c4fdb18b030a19b937322ba13da271e8e66db959f36771eec2de205b3e5ac0604934122e7f7d5ebea32be33b63a47770272ef6f8538d38ef2d16dc0ccc434205bcbca4f0f00310adbb2fa47f79979fc3b0c92c0686ebddb2a0338340b84fb0d806f1f30a017a999a8f4212338c949f2c9adb3c17885e34bbbf684127bced6872ce4f3ca4ce383b2db0ecac5490762977ce3422767bfc9a576c151077fb1fb2d05e07af4305460619571c98b44b1ff84f01c48e8ec57574f2de5fb3ddb2c5417fbc10aa6c4557af10f509536efd09658ab4da5faf9359bc87669196fbce3ed771d0702e01e863ae6b14dbf8e16cb2adf96ee09e5acc178aa933b379331fabbb9ecb9eac20f6d2225b1f318d5dad05dbcbf20ac0edc831552b0a71fb00fe0011c2828fd4f298b7246a4a16d2a8acf11c28d0558484c89945038ff98e42160ed1d1c718137216cda2864cd38f3a36921095937bdef916f8fded4297b80da73bb394c4333c3f361b80096419984ebc839f4dc56ccaae1bd44f5761365be3d42e90670994b2bf8d0a56e84151c168e5fce267219c578c5aef263c6dfd8c811035a057f79802be22d2e51131c56d765514b490e1ed04c58414497bc435c1e7ea70f1a930f3a4165899fb6665ae3ebab177f3df6bb9c516fae2d608e78ded6d92eb250b7cb9907fca4b348e3989e09928720fba5536af35aae77126a402b48cc2a51980b7fc4334d6f8a52d736e8fc3260340fdfd77c9581bfee3f4646d574947b7fc296561c56f2237dca554ac8e13f4e87ed845b429eab61f48f90cd2665fb16a2885030e74a658ff5e4d1ad5031fff0c8fa25ca633804e817de012ffabe34f902d7fbb2825bdc4fb75a1974a610891da7c693b2008e63568f21079d0383916932955c0103a253ab7f39f0608dfa301222c4941a551c4de0134f93b0ff82e2a13a5e28c350ba05f8ac6f30b2973c77bfac5212237a1586f1d66a4d38b1aa05c94e7edafd3a260a11f3f9eabe1578555912a31a45dc69383109dfc4b808a1f69ea7f2a1bc5bd7b7741490fc22e65aff5cfa7b898c9cf7321934f7329b33eca319df5e376440e632197e810c19c74cd7aa99b795a6ee491c08da19f62923cafa9bd7640a2375c41f8cffdcf3759b87f9acd0f519f8ffa8c6cbb258f3a3e0a8d9c10068f3e2a7ac7c1413c465b2b2b8e16a283184225b3948237a907f17152c92fc4136648f841feb9cbd7f5aaebe78e63d38a5c0f5c84c6640ae01125cff5648847ea58d93870776e0e0934e2e19047932248878eb19a2f3bbb52aaff848793c44a83b9e907b34fb45fb4980dc900f60c41e91c4b331cfcf8407f42c3b613561141e86dca07698374d0b158648ca945aeb4bf032f7cbe4a6b693054baca924721d0e8196ed373f11a6a69998fce09b986afd4dbf0af8dc6f2ff67e53de3cdf2d4ac3b0294fa8fc2b91e0bec97fca756a3938e80a971832714e633db047f0254c00c0b6a4642aababb508b588b8b1d8bbcfdc1383da27b6131f1a32021f712853e2479d0b0859d069cd5940abfad95310534496fcbdbdb5a971c9acf505e3c371400fcb3752f0d9032039ec744415405d8cd6855f8542c6cfe41ed04f36f43801ef261a7754f6a0083ed01c57d7d4b13851b2af4ee9b3ff228063b4cd17ea72481227fb3ce70899a1b03aa1928efb0b501f0c66fbd7a623170a5b1dd7a02ed57f8f1f2074505120d7621a87632a02da4f32646d81007089a09a1554622de7707a2c278d72416411f9ed8c74e616c10118f84614a5fc1d4f90e894e073100c5a59f3885a9729b8b1c56b9fc6c65e3722773853109b7521df8c98c4a4f970dffb3503cdcdcf328ebda46d1b0f7f67843410a181ac0ec7f04f13ce950dbbccd2a5ff356d198f507efbed9a4dd695b28340eb41829fcace5f3bc1a80fb13e36f952bbda9b4ad135091cc600ba066ea6541307e29945307401c190d1c4f9e3d817ee42b4c2fe29decc0739978494aed17e036cd23cab21033c43c7709fbe08d6e6fe6db04ade1876f5b4c2fd42e6608dac099293379178388bacd0e518e05118726d75ccc35c868d75a35eab69293662c2f70447efc886188175ae20469678547d64df95032bb6a36b32f45774e0386201a332e03f07cf14a6502d82bcb25ba1b0607b4963076e409de7e895c9d18428ebbbaa133cca5669cc6d27f0a42c4c74c0ce28f0068b6845b79321d576eacc64acc92920176e34d78374d82b59dbd04350bf3af94c8c8cc1a56dc98d83f1f7be4369acc4141cb567447a4a799efa43a5d7e29ad988c41424a5a82bca40585928217b375699e978995ffc892d05be6505fcadd56ddef726fc3b2f9e977a478029009f5cdfb78c43875943ff682da33ed460dc42005d24091abc22025630c47f089e10f91e97f5b1d46f44578c493392f9e815d8408b8b6fe966c4e6d6bee3028a55d599d81f27c101023b490c14d275cdbddc1b9dd876958d647234b1266e46d195d3ab681ecd30f422d1f0658d76693b4c2c587f6c5b779ecfd924c41988138f139cc61066ab15f0ece8ec0af3c53de7751d2b2d00651fa5de2e280c4c48c790c46adbd090f643ee238134a341952887752dffdc5e945f87c053a19b5987cce7392bb2044c7b3b7faf3601024e48dae3a9640ada4aa983e92cdd9b5887a7d173d1b5039ec96549178e52d2cdcd87fe959efbf97aa71b77b561df6066686062f3a15ea77c6ffc5fddb4d30693666341aaaa34730c192e71975a1eebedb6204cb9c154f112dbcc0d89a7758993ac124511428c5ceecfbc19ad47670ece9bb83e8ce01faeae1b8992a72ed5abc04be788148538abd2617e52f67095d2df526053f54b378a11f26342684b6daabe42bb26eca45db9b1ee1ca51136f4544d05e841a57ffe9968f52c7d02bddc188f74ee360a757bc1c47b01db4bf32244a8e3755cf8839249c1b30aa860f567f5b9f21b52807b36cd42542cc175ed617b09ce4a73460f17c11560530b06a1b511616e1ebb0ce4827bf4bf9e0cde36f8548f7829b87ef4469a1188b7a79224f3a40a31f679caf7918663f09d1d5c9507d61d5ee440963d1807db64aded7d575ab2937966ed29d02c3da9ebcbac3c003aa2fc0cd4ea06611f1d51fa224a7d8dae196b9d6aae88fe44d1c99c8b045c2bdcbd845b4ced7347722f6b0bdcf000d0a6ec0624fb6e010f1af1d5dbece4c8c18f5973d9438275a13a537a5ae5b565b131d9b728e247fb085e564e288665d8dbe46f59e2e930b59fc0f82c66c650bc51363d29e2d6971ee82870ca9c3a03deeb20701eb427b67f1877d2f539f9d5a2560d2727ce4d0d8513b69759cbaceca820b4d97d03285720e4375d656c50b6cc35cab89f058fe8bb66b6ebf785f0a08bdba1d8c4db2e891950e64575c9bf37682928526a981b414bdc197a1cbcf27eafe80ef31d66ca4878c29531134dec7b31ad2ef1dd4994eb9815f0998867553ec2e4b1617aec77cedf5687509a7c732a06dcb042835ce691561b05d744944f041eccc7145cf5cefc8adc26af2292777fda6d06bf8051521ad2ce6eaf55585818157dafd64981d8d6e129b70fb0199e5724c6730ef0002a22d74454589cc86e459a879b482de25b12d509a9ab5e7685bb9980ee4f7a57622c31baf552c881d7c99d485423ad540cba73b9ea37e3121cc6d6a99f3cafeae63de4368815796293da244c31f65c9a6a10eb36b20b8c3d553d813d9653795355bb9d550ebc21d72454b4cbc1fe372746d0101640ece296b1ae50d86934554536a5110340ac805e92ee5fa28e2283792a7b1b37c67da736e144613ca4cb6569b89004755d70951106295c8011f7baeb44cb2012e298677bb85e5d2697398ad78a842515c6b8f02a70aa05f4fcd157ab9323db95fb2fc7204bf1b43f426c9bee96fc63495d5072424ae055ae0cec94b65ab2f5ff15b8769777b850beb2e217859d59c52b2d7b2f9d9a886068570b5f9689706223442842ef5fac78498f259c66b76af80811c9eb5ec4c27509c1fe55d0ff8781a22ab0665d913be5de7b53d517f5da1086864c1433ccb8e4b4f1fedc41426e30134a2d6dd1d36a5cb6b2705bda6d9b4ea14c9912f91430591eac7222391e14362d5b20e4cd36e1839c7681c6e2c6165ff5e3122d924057d13d767d5f51c986c1b8eacf83d9e75ff7ebd29fb36aed09e8e1e561f5a62ae572d6537a597c6ec9d648b79aaf6f5bb2f849dbfb08b6a6cdb414c5d8fc3bc2b921cbd78e1344a3cbdae825011107c7a4604e88be7b1ccda2c8df932ce21f13e7faf7142a48ca821c5877f84c0ddaeda0d20018f1cb4e8634e3c24dbe7c2dc88110bdd1d590475570135bea808641d2bd7005471876d06e727d5f2fa7783dca3008eba9b1b07023c5239cd4d498fbe58cef7dcbbb604c72607c807415e8d41a98d7b9e69012ce9289f5ee45bdba1ab16f9cd2fa4f3ec33c59a762fa68c449edb1e35435f3a68b807dcfc992c8845139c0be1a6f29586dc921ba760abd3603b1d406b227a0b615be863aebb7023e2ca1609ebce220c8d4a8552046326b0343e292a23a43d7fda0d516a7571f0bcc7ea9f1a59b7a61e8fc2e25b3d1e0523df3e3e8310775439ed46ab7abaddccf90edc52bb3610d65e2b4e6332023cb79a78748a8a3484eaae946fa091ea7080c52c24074d5e2400e468190794dc120beccbb8aa79fbbebab4210055f6c415931505b090e7db89bc8d75e1974250dbea40048cd16d61a17e3f80847801d50246e94b8167229f3cbcbeab9bd6178434cec42199b23331d7a7e57cafb783a7454bed994e22df94cc8d5e603410bada2038a14ba0184288ce09506717b49c832f06907457c5edb4a09accea06f7054552c71a54aaa62be5f759feb0a68899f559d1a062ee1890def20d4441da529c68026cbe3431308246113e8a74520eabb60859f4ec43cb06d7784c46cabd9522ec97e198dd6d7b0e4e263784e5e22900d39788348e1bf73e1952849a3d31292e5829b647d1b2b16ccb80ec5ce03699df7c6a6177a18b51ccfbf07f0bac05093bb36149be6f6372c0d6e4e47651b22c2066892c0f4bb482b18d3d30ea7263850bcaf4424c730c782f2458520836b21da33f4fdb9a2c6fe699383bd33a54f68fb7ea97d801a6f0cd754b2f44a30740bea9412d053ab1a7114303568c49796315f05444bc315fa404cc4026afd233face775d2d5c084a12e6551300aa6f31272f06be0e3b26a2ed790981b8c5b64c8a87f5189f04903d226e5a38bdc062297f1a59203f01a36683996faaf8faa672cfc8262e411371f7e5b93193ddc8a97a397089b0e05a8ac5d63f9934b904b7be9682f7d1e500e025425479ce29309b5a06924338e1b018be691bccd024b7043c27506b6f85f591c19015ea8db64bd50f2e4f7d4b07326e16fbdbb0707fc5960fdb6ba35a2e64175e48d215f4509c1c471ec3a9ad99fbd0682f50c6d9c47b025a4838f6815225f55e50afd9833d0169923526b0425d63cba97956f23007e01a54ba76017e277272e91da34de5484d5ac96e09167a5b6133d1c6c896c5a4cb3d3bad231dfc062f9d5324a1e275edb97f7fb4d91ec493f83c06f449522191cf7fcd5e8a227fd052b0e3361f031962379d1930b604d081c42e3edb570ce9729a59e5116ca1d864df5f14de487d8b1f9249e3d3bb62f76d4568673cdb87846082dd17e2561930cb3dfecc37d5fc1962aa4d3a2200be40f1ae38ea41627f4a9ae1e63b3cc30f7b3d48cb511ed6d7fea540741aedd099ebec132d81cbed7ce8aca376d1129e97f53cbecd4239d6f4a6daa85b3c5a8617ae9f407c4f7c0c0a801c45e53a6c67a0fea3ee7919807870b50542fc70c29735f518a00ffefad678693d42e1841ed0a234d58f9fadeee47ffc40a24a9ef1fbd98b10ebd99e00bc6156b5f5874ef03ca3962eb5b54a81fefd82bdd7a141c84c6f2721ffefdc11ac04af8e1ddcf49a9aff6f490312d7b23b0624bb2f7650dc42cebf6a9c80205953c1b6779c23ed78e081ab1e12109cfcb9504d85aa9c05434d62e0075ba428483e93a393c24e398536129dcc67aede2c89013c414a24c841aefb2ae7f2db1bfa38c074e70ab94ad46fc0a5a1b4f93a9a5217a4b0c5aa63a8336bff3eac878788b8b484e5b788bfeb0ab607019f5db4edbe443c918b0619614b186435e46a6e3f2a4313d8a88089dc017aa19d080d5143707f1e5035cb013c22798454707d71bb04a28f6bac65857d4d5f1a972189455d9c8d53282f20bacda42cbe1ab9e54dcd988f819b40078860dab052aa85a56e8bb05be9b028e004768801beaeb530231f3180bc91bae793b3521c04469f5f3db87f18dcb53422fec47a668a8bdafbfb7cf702792ee3301630b6c6e1b8321c2f675254ce3bc6abf51f820839cb70c4a9c3942ba6d156df702e4d8f128c73f4182f8ead4aea5fe20f0eb15a3c4e6605e210e92079319036fa758301b0c9d09965d4b23f66ed9184ed875c26fe71c272987e3dc100b218ef84c41c60ea1e4e2fdb1f0a2c65d3244bdf592ef873056e231ebeae1b7abcf816eeb10ea1987431aadebaf818b1d828b5a3852e9e94c85d49a9a7522f43f04316ac2c67faa4b92928d8b381cd3cf363cd1285bfee6cfce8843c6ea431cee93a97fc201eaeb83b0f39d12d9732f033df770258df830b5e9842629d608b2819fc5f6a4237a25f0608f3514ce8624c8a943759b3db3ccf82813d7f5d472d261eac796b2e7075e3f8144b08bd65eb4d1e921ba21b35cdc2bdd413ad195a41eecea5195f5818d3004177123dc09e7beb6ec44c43e49afd8d82cdcbf383831610e737b7bc1bd11b4be89c828726e56e95df2408d7213feabdf2e2e62c7bb806c4cde8f058c6cb150b47456cc434c23358f1b4ee0930987f593fda6f02f4874c9d01c5c1a4f05ba42cba4f196c62ac26567c5a3e92c326630dd365898f449969ebb2444fc813345a15e5166285ee893ef17fb462db70d3b839c18ffc7e231a953c5166772306cd191315e25f572bae5eb64e42dab94a2437112abbd39785ae32730a795d44253c296ab9763c8883cdc05bd1d570fa1a83fd223099f3f8e460a197bd5ef732171c81c50f166dfeca89f2e06d33192d0f1d4c31d91b162cf51e8b531aa76e52aab0048c9d64d27d807e922e95fab1599fb055678c7a6c9718e1ad2c691e5ef53d5ce9fdd5acb61198821aa1eed193382bb93de041c149ca8aa232cfb17a28df3ad42832b2676588ced04fae6261a10a5b36c9d2645d9854658ebfa6eaa121ef6528fa5514e71069649b748d5cea51e31652158704d8661f9a8fe1f304a262798b95c0227044ae21df8502c7c145f311acb8f1a7dfc110d58ad7899578fca2cf3dfd34ec69678808e11df5fdf66810099b52342c37780767ef692c931a516bc868075d56bf3037ab7589111e997c99ad0fde60d1ba935d8ecca01991ab94c7c780afd9825a5b325e231ed535cc4b50d85db2ddc105a4c165151abc4dd98e37049c4205150f49c69e8a5533772b4f94694d861129a9aa631b870db60a406a2e48c05c92b9e69dd94eebf4d8b2818f9ef31e9a618639d12ac2a2e9ebfc8a7e84a90e54f403cd291817ed54d6b4c8290de6ce48830356c179b4a20f5a54ab39ac1948d4ec4539354737eb9384c27b5a0a7d8d48ae40b0684c70bd2a2016914b60d4dbfca78a174ccbdc269fd9eb0f9002cbd47a69b8d493cfd54f5afbf515ae3698581602fd6dc92763d65f227646a74583d8865b8ee4051858e764a66a272af16d1b4821dab6972036a4a28590281f97544c96ec9763209a49f82523bcd4d70bb002cc4ac1c7fb170c3b43510a29e84e21408c0c7c13b607d581ba9281a9c81143940178ef10ea26844c79a6b27de21ec690ebc03cd78ea55fe05ec1f24815710e7d6ee26dea6c2f5924b5b6ff5eea141092e6c707029d91626e2ade1385c4146fc35abf4623ca0f59aa157d008ed16f2e4545a18200fc786004850c5c982a41a1683148d58287c424e571f3ba515a46ce551bd0b8c982d4c59e51d89fdda0e2a4a949f57f10eddc5de7d2b1c9985b61aaa5bc4558fa11a209757b30d7b85557592c2524747d97fb714842f12233f49ac55355bcbd5c1482b241599da0afa2ca0bb89aa704958cb155873f159d02f1d878048ee2c2a1975ac0cf4cf13ebf1c3216c8d5217410f723502b2d8604f1afec220f7d7f542a7b30372261f179c362687d08e82d1ad33a65b017003f41076b917a3ab754d16908e320fc3aebd7e792adbb385f4cbd081a215e0af8a71475d60e45eb5f83108d61745516129518811d0162750c21e9cd583c89192c57b5b1bdba2dbe8f6290a3753b49b7308529459ccefa8dc6b76ec147a7aec21e6669f875f1c34214690d3f6f65f9c05d9f1a58ee811a3cb9b877952455e775eff675416b41e841b054eb45feff29d733f1632e64a20f2517778335a6722ac2741898c80b70196334f164629eafb0729fc8cd59e9179fe1ef121f1336484527c3860f05c55836cadc81d1430baaac90d2db4420ce1f63d15ce5f9b11c725a30fce872cc91032b992a8fa629fbad84459373d80fe0531daf54298f35862617a94fba192c443158ab1a0d7835d3151e9e807610fbaf0a2bf119bd16d4c487d923ec58b7989b66814d5c94c58460beadffc652d1b81b95cedcd312bb1ad7cb6c4a4b901cb27d27ce56bc887daf91d00d24d64bca85846213de46f267ed68265aa8cebf90a49068116a9313f3e305411829996d91e6e5591736baca2757a2251815ee4b0f6280ff0af8d44f4867254da187bcf9c2c50efa1ca8da58ed546c78e18d45ec1b364be8dfaea5fce92b3563f307c684a58faef1a30a7164087873b0d3ffed299879a7d0987a64759063a857f159b446f26bf6365b08f20fb234716e635c7145e384260ac2a1f82dd6331e09a3ac03cba32d8fbcc9cc05e3034de788edaee7986a172b12753f8b4cce893360b6e3f82ccb9e5c5fdbe525ac60c0b2a68570fe592056230c3d2eee2470e3b10b57fb38dac3e64667334e31ba01f31e03874d401e2ae6bb4358ac6fe4c7838d1de5427471dbc60fb619883dfa2517d5295f1e01cca5400164ad5fdfc2450cd149858f2907917bd02fe64e8aeee6491ab61a4b11a55f190a8d20e98eeb99c944ce48b2ad9de8b2d9e2c93175c8812807fbed81228e0bc9c0d6cddf4dd1a655373a027e97ce629b8a34a18b7d0a99d817cdf9010089cf023d39d78646506bee19bb412dfb186f16981ace011f415aa11ec9b2351b79a5383f04d13a3c508fa86ffc534bc43521d1bd2fb32916bcd5a05b8610c11eda1d6f04b150ffeb73f85b5f22180d8351e686c82c401d66d41b0963db845100789366fcc5546ab5dbe9f2b2fbdead3cb35a1ca46981dd0a0af2be5bcda682b1f2e66a359cdc0d08d0dc3406742bfd6ac3b6ee2811446325df5d814da98492be88b3cba2cff8b991d34be116c4d6240a082217cd8188c564b8c90839720f9c98254c3b388ee2c46bfaa0e889d0fe1dd27feefa84c8e8f3f5530948f6befb67f6813b020184abd1b0b42ebe43fd328cc83ca503c78ec4b1083e3c84d371eaead2308e5aded4cd1a43099b999e426de9109028131a0c9b3bedeb754567ff1685c01c89828fedc12f83591482cbbdfaddcbe1a0bc5eabe93fe09ea2d1bf9ffe22c77cef8991aae6528c209c139c3991da0ae0c64025f43819ab4fb4875f1ef9ba718f2d39140e822681683c8ef75eebca5ab1f679516b31ef34a889c4f27b6939e25861bdaf75868960c6244dcdc3796b9c12a6e6f4ad482d9e38a1a652736427592d5ccfcecf0afc353255f3e3e13262179202d7b2649a8d88dfe1e9f1c3f9d3eab93c7af339b44804832d9096a0551753aeb4709505081a48f873959e3cc577f8ec9f3d04da4ae32c3a5b6bf93fa512988805596f4a40188a14f67e9912728151d2c0c3ccd545d67b8c3aab537d5710d2a08da7c3c6a4cf98022815af2d49962e9e5a56cd53adfaa3b4b4b2444cc33c944c9b2f9b97d06c87aa55230250ca09c3aca41dbb4d85ef79f4de6a7e401d25b987d010811c6cba5df526a57705aae6d43a720afcd165763c9b1894841ba0d335ea6bd84dc674c59e1ee4805597cb481edcdcc548600a73493be927da2ebaac0bbfd339d25da36c7ed7ff1adb7ca6e7c8aa84d9eaf94c28e65f2a4db2a90c43ca5f6981ea04e014cbaddb7db8766ba06afb68a0fe8430d1350dfcecad3351ef5047c51d36754195796c4c57a872869af852b7728c66534c92aa11dbb78ea3870429aed7c53682cd13a692b69ededd1b91454c38c944407da156924bbf46af57799ee0fab93f39780d67bd82381bdcc0d1f63a48298a90c19bb5f16e97a58678d637f69a33f46c9338df85dbc7e27988a3edd6ca6cdf6e8884ad58b90f2e786a9ff80d90a1bc6b70a90f587ac8a06ebbc97d30a5f0a9d17a16c560d34c3101503d48cd61eca3b2cc5737ddd5dd129db4913caa6008c61c3a1b3fdfc2523616465db25df633531b05dcea1db026c40c248d8705fa457691dbe7079f3a1e8a06fe02adb851a60eb90b923bfb0ef4d4b61704385ec4a2830b6bc7225485009a10ac942fc3795126ab707cbc83b7d8c2dbbf19fe85d6c1de605b0a47dffdfa6c29d203f44f93d9378ffb0754ad32a0136069d094e612faa78ab919dadac3aad6bd270aa8f29ee485fd7c63d509600d10f18bfcd835f54b95d48d042f96f5df75f60e0b0fe8b50087ac7c48cc2a9ade96f530a135d235d5e95e1d72528f6d7c6f2745e961458aeadc17b0d15aa3c434d05814e6c8110b46c86c4c3337d1b3ac076b235aa06aac8107d2c66acb9bbaf5640198b10c47b557e2ce82a3e112d66077aa93622422cbc6f4ce9813a4a7327a2fd463267e90ebccf980fb3273499a08fefa14f732f9412e67e2332e67ee535c2ab34648130b8d215e3f2e0cec503bd377b87541608f0ede4ee70e2fa23746cff6d608f1ea48b472ebb57b83ae147674a5d86b370f0268e6050a090ecb4fa4940160f7964354e0c207276bc822a2927800aa356ffdd8afbd6b6ba5103e0e064533e0f89f8a061c9a2dccce6333f1bc2b5d0a8ffb16da2bc1e015d1f26dbcc63837559d8cd79445c643a6c753daf73918ebdce3644be2f428a6d92c5c2a2c6f39dd6929c82406cb31b1c0c9805a4a865a3ab269af8b8d3542ba4ab9bf0c28bc54086b4f819a066e791fbd84c693eed66e30b0cddd1a3d0248c26cf86538df99dbe4727e8a41617fe8bd338e81e8c638c887c817a6b14a33b88bf6ab5ba233e28d6b30587f5c7ae1562549cc04a6035190e51fbcab1ae37417b168aba4f2397a9e51b03e3d7c7d171dbcd418fb5d696cb0f939b4d09847a1d6b0105d948c50ea15146c0645cdc6ff912498808f8ba0303848f377795533ed961027329d7a4988b6340d15a2bbed94b554200b6244a5862a0d44a37686040795a78c7b728c0da169c72bf7c3cb2b19aadd077658133427a6880554cccf714a0d0beab080188c9851301bb798b92efeb23f23b53c816dd28b4cd3e0c8e4b2e66e43d0e3af1dad092d807e4c0e7411d499021e00427c724a9e6843a6a085f769d3654498909a976cd7a11430e132d09e49363a43f74186504d8c26e2ab3108ab23aa3092af92767dcbed669a4c8ad18b2b74732c3cf3604c34b0645756aee0f8fe85a34fd6ef560fd0a27115b0dc1a9f09f2ea41308c46ce1bb2d195be3e9e008d356c08e4a25d5d7ecafad02245a2a81a52bd1a67103c6ab44158d570884fc35253c54af9660106692714ecffd3f474e7fe653b4371e5580b8167ee1a30d0545518355a7f63083a78e59a150350156e9470ca028b9501f8f36d94cc03e653c68742de1bced0ba84bf888b0abdb6793ddcc500982696a4a7a588926f3ae5ea8d2fdfcf6cb44c7ddd811d35543749feb735b9b6b80a861e48ff06e9c13d44636c5c3fa6f8869adab0717d14822818ac0f718551c2be31ebc5e4ed880be326fbc31207f1e5de7deb4869783bbdc3d0e67517ab83e6254bf42e5a137e51a97c241c8a4e9a93cef5a1810abcf090a5d450cd39a249222b64a614d6f513ae189a854b89c2ebae71cebc05f67041ef013ce9f4dbef001caed5525930423e4e62ed92152d68f751a1b3cf0f85eb5e45e1063600709f34342733a36681762a65414666e3fbb24c1480aba0678525e88f195650600d259551ad5b41a1f658fb29bd6d27ed3ca82b8e85c60f432b9738a1eacb9d5b16768036bdb82e6658210c7fdbe974957f362a6bebdad8d27fd13ca45633c877ba281b4851846b4c66952880af163eaf2b0b58a1c98e7719747b858c1a61bf32abe531309fe9dc6476593b77ee42123d5c2d4b5206b5cb24bbeda8efccf1065b9a0983d65b9880719b6e8b26f6d20a73cc1432ba9b2aa22f371019c792f10f26cd39fb70147a8fca0143d0c4b8049c80f1078c1f803801c979004b3d51a029c93ec55bc964d5a5df7c9e3fdd68dc57f709fe3fb02e986f96103d312a4e8d7e2feaaa16aee1a3c5c87d6d4baae3aacdbe92dcc2b959e92d0cefbd06951de1c141f50518b3e21cc9fd00d4e250afada66f4c068dbf23714cd60b12819826c04967b66412c3abc774d86229ad12527dd4c225ef3d79e3cd0643f39210940f25143ccfaeec3cee3fb471129ec99125c6df5e0dcb4083b96b5e43d74c41d4d4dbae7ced7c2e92cd9b91df96375bfe528e292e9421303f3fc07c9013a5fa8006513a7ed24dfc7ab0bcd4d1f2ef63cf77081008f916fba22e3ec028f43846a5d033ed5bcca7c111a34872a7f42992af7392560567f78a7c68ee7969247eb0c41217fd850256d10b3b4a030f9070e29a51947b0ed1e4cc13d826a3eac4e84e0a508c098048f8f32b57567baab7c5f67ccf1ad3d15a9ffcb8fbc63c575111fb4fc563c476df1ec99fe19fff40f51f182c8af9476c29710a1224eabbaf683df1c6ed01a5d23f1ef16ca5e5808804060bfab9b458c72ab1901f532f830494629cfa209135cc899fdaa9e378390e56ea0c04175ec926179f0b7151caf86c385cc07cf2344d5bffa28398ba25517da97974de32aaaf200e5456830647fe324e0496471758f6e0aa20bbcbe969cdc23f1342de7b933a40182c490ba7fafa203fd3969c8c3ee05a54ba4a7b0c054e03b71665b1027a7f050a781617362484057571137813e1aaae070b9a0786810f7c180f16343c9e1d424902efa257fbaedcba3cad1d187a34727168823950e043288d9906f45560450921c1d51b5bfd61c35f45eeb1819cb463c1dd0782056964761a1428874c22f61706cf839a6ac4aaabe850422021c5290557a1262909d5038804adce5ef99fa81a84c5d3fed562903ea09e89aa3d282bf94db00b2b30037a7495287a47f743f6be3f1933e136ebd7ee50d09cc158732447946b1c94451315f00079a91b20861dc0228458bad56f023739b6ba1193ef76922388e2789eba0cd607113ddbc812c03f89185830ea76fb780bc37103a4fb5befa51b29bc4c7ff89c1d9eb98f8f33d850e1832085e1e740d6d5230a395ee51ac0d364650bba1181417d109fca8927d4d02003357312618a91babae289dfc3eb1432d2137a5e7f0ca71e5bb572e9e8627147523d5323dabbc937377d17a14a4a3d6fca0285e5561bf9966fdc5619512cd74eb6bf273d4a4651220aae45c1d4a52a238875a2621980910e04cf3295f4f28f27291414ee53c37cb154cead60545fc117c0fc0ba5b3aa3c0e076fd3a12f5ca2da789e129a9d5d38e6c2182c5d60529701e2ccee8b04fbbe0aa8a2ceae7b624aeaeabd4039ca08c11a31ed26b004013ed37b11cf73cbdc97cea9da73a08026657f7aa6efd76ffb30fc036604db9f7a53b9cada4aa12dd257d65215bdba0903eab276762efc6645e7994f796d6c55822228f1af3af23876a7890c602ee3ab2d2fbc7968c8dd57b0d50b17e1a6b28a72655788b5a35e439c416d16140898e069e903d4102cd6c321dd572d32f85b86f376b42a9de4f59ddc7e0b172475440aad4278009085105e5b7b7d7714685da2d272a45c8a81806ad86b1f0578948a60c3f9f0f0bc05065dba8b2a98b72bef3c1d2c669c4a52812e8b5ee4f0931c7895963f80682a2ffe6c1545f7fee1a532bb3bbc1e1620e6cb5e611a7939acc81c0674cc7eb33e8d8d96f738eaf43f8ba439d80274d84964beac91c74e601d943a42342a2d8b6ba25902d456ed7de015d25c3f7a844862c57d631044e5e6490109ab4e319fbebfed6539ef11e46cad74f0fa11b8261dde1f6ee7c800bdfce6109cd24aa248a0c874b478a68a6f0e00f23a5fdfb1ca00dee8ca00ee0b41e2cb218306186a4180e03e4f345d59e8c5aa001002f8ec2b7c18f0593c347f378e885cd8e34dbbc67c1239a428809e860c5da116f94f8f102c30af62a3f2f04e9583c77881b864ba5d7c85dae90511bd6a04b31184f5359b9155b7235291a9f3b149177e8ed744be6ea75bdaf624a07aedae51813b2585514bf5e8ab94c4763adf3e4a53ef9778eb2c370c7af1851667927ace24a47537c2c588a811e0ba55a79b4428b0ab01543c419cad5ae092f7a76626b5dfde9b09c42825ccbf9ce18b2023f356df0a48b14e8a7dba163d14f24ff30bb66b4ed59cf6e5929e60dc2f8d14abc372a330f5f6b78d3bbbde04b157c8c0dd8a0b842426330033c713259b1a0e2f0514e9f817b4c2aafe7c2782bc02149725aa9f0d2959b00527485d2f78284c68ee6bc2681950bc4c4c1661668baddf9554dc7476df69f5c031a1dfcdd28c6cccff70b248c9c85a093daa91dd4ec85ea3006db390d7656c738cd8c2fc24b16b1ac04eeba1a52673b9e01e63e2bc18c5946f5ef004406f3dc9d011590851a4147ce583f8d4b1eda81757b8735ffc46aa36f89b813dc06f3c9b4e4937368799cd5b7574b1b7849a5c438f2400cbeb2b19e29f8ae87c3934fa392c60e1ca78e930216e0dd350080a234955934ef26760041e6e1319628d0ef9cfb8fe19e9714ef188c2cb217d25d27ee921d25c6011ca3c984997eee9ff80054cbea26824fb6574c175b65e11bc8a05d36cf97d9d44a338e88f831853bf9e8c19cebdc26ded42fa75af483f1d83e8d144955bb9d1a4d8400d6466990736290ea33bfabaff409a1f83d23ffd2904b1299411bfd68d8975ea7f625def337c2c6369929ed1a3cfabe7de2ccd4a17533245fbd928d55d8083e042bd72b1d2e61f35bd44db66b63bfb5b89b6cd415d906a0d7624b248102d2f61207e219355beea77ba0037ab6420336267ae1093b1a05491060c01f729e46cd89d55b0bbd441d63059771e6910acc4f9796ecf1150f8a44bb02243107c3c843d29cb7e65f6ce15c491a54cc15f7509625f853324c4623b4483dbae1625e489e37cc0e12d4c0d0f88fab062188973d8df08b12b9662788e22d35e3237efbdf6f7ecd00811dd95653e84c37e955bddbb3d63fc03e40e908ed935131dd2547a1cf6d3214721d9c8e0f6c47e29199d5eb89de1fd376de8fc6ef610e34a114eb28cacf5176aa50c97e2c9e6058c0bd080839dda741dfd6dec14cbaca1bb67cfca8e6905e68aa763197a1ff3df7cd3477b73117ced11ea054421037c6608f18a4f1d21dd216964d16432737d9a6dcf6e61a81e9c855a49f609ca5ee13d99fffac1a414964518f10e6b0b277a4ae6e0a66b0253d9e3c043d88fe6e3def0de4f67c02e160edef976c20039e84b0a489308cd1f600d0bbf1d199c35ec10ea626f169e68206e2d5399ea87d43f146974087ea56ee8b7f3f117a202f205c1d6d33ffca8d7737499e42bb7dc029abaa6dc03c6703a43b5358a3d4854e23a0a94f576d31441bc62b84ee405cafd4645cc75adf01f687060136cbbe9e5393cd030114821c1b64cc6634f34f0625883718b7d64f18bdb2e0c5b35f0407ba81872c23395a82456d274f6d54b8f5276e4e2cc756d8550d77da3582518190e204fd13eb4da5315c4719768be206129c5369e50b63d3821e3711a244869d6c18dce536afc6002f3fab01a3f71a0e8139b7e43d05ba6e0f9b8c25db1c5a407f7d224e1eedbc19d0c4a3275d8d6d71ab29a9ffc805f088446ef979ede9283836f470fe841b0d48b5eec1f9fb89d699f7129733fcb75e67cc27599ddedeb2302b8cfbfd8c77e51eba67186145e756d9e40eadd0caa2f739ad202c25cc3dcb1b6fb3aff0f8f2e4853eaf68153047bc78b596db5835e127f1781aed9565e41a683f32d31c9ac0924ab8c49c409c60c3711e69229325025504b21d3ad17ecbb813d3609d645eec309fad8503aec0d421225fb5e7673927d08a59a6fec027c5dcf2343b8502e1d9737bacc0f3a5727973af7245097254b018589fa369c97f69d068a3a0bc0019b6fbe39040078757d8e0ad767d2f6e1c6ef0b9d16620d32f8ec30083b2dd2e6cf82ae7bf6aae0a7a6d8272277c3cad153903a764849b18154a53cba2588f1972d12155d0f1785db2de2d4c765d4e1130bf455b7a86d1b695f7e247700d5e89015ab64137844076216a05f8de49021dd5dc1ca3cc8143190f8fa8ce557517f6e37997f368f7d7e294ff2c4350252e9855cb8eb9722e448cf438362f9095ab7917f667e27e8e685352920bc85e27f8e79cb9efbb3f2804698bdca9a7eb49ca1e0385d587d220010f2de38de6475d05a4d5d6fcb4527bd55e0fb40466f975ee502d6b1aa1305c694952d237f453ee3f6484565c1507b2328f73d9ce661279b1c11163ac2a62305e15496d76444584a6e053b67896752b7502ca9ae74c4e3037248856b441d76d93880e13f3eec048fcfc041f4cb36b89ef91dd32e2e2468f94f5e83b5dc2d8a276e5b8809e62f4232995cc5c58ae51af1302e91cf94222f0e5c05aa65e08a9dafc4c90ea79b669466d98f309799dbd8dd49d7b8b95143735a71a3faace10ff607b804085fcddbcbab8b3c0a936281a671c146128e7add148bd1a37605d3f121a73ef6480ee61e44b189a7524f11137bdb8e60d4883154fc4146663d91766880f2be69b3af2bded75a6ce42cb0f3ac0b6084d9b2f14ef048cbac52cf059989b7b5362eccd79a7e3119db81095cc8a4775b6d175c595ac9535df63937fe3f94c87ebf149d174f4dd040bd751db1cdf0f4523bd4ef9217e1d2ab6eb003e5171b4b7dc14db4aeaf41d6cfd65afc47d2725fffaf037247c1d9350e9430383d92da9c05ee2bde1e1118ee97553a49fd52ccc13d7e4ac3e0dfd07676821266bf1bdca0925fe8eec4563cd5102d4120ae1a570d507fe13b31f3c3a09128c686233743729175b0ed3bdb5ef5d6fbca0622880534bdc125288057abf0dbb2acdfba9c43b0d94c7ae54befe387101f14729dd12af52cc943b19a788e4fa6fe7f46f6ca8a5869004ab9439875a2d3142b87249a6402f8446367f4615b8e1834fa9cda874cbdcc6b9d6037aefabe6d24c85b229d6d57c56cc62790fdbe0a6d4efb6c97ec3e4860d255d61551665530cfe21db3e2988470e0716663c563900a62c1188c0fa7f042771ce5eba746cf78b3a629dc846a3b0c2908bd450f1fe9db441083839af015da5ff4bdcc87f273ceec3a3950356a6ee66730d48307a6b96ffd67c4c21155e863c992e2247488e8eab2ed9feed41f4cb729e5f503dcea4dcd8c530f648b829e9e1ef953204c0896ba39e4718b003e929361d1367843fbf3a10cb083423ea4345428bea2496d020cdb59c0980ef1a9ecba72228ad60c64376dc286c2eec99e9ee4307e6200e56291c9db783836deb87131d717b27007732fc3ca41971b45d5137456daa080d6053b45d5ba73bb1cf3268dc80e367825053976741fded27cad6e2d62736b266225348629003ac8682969bf8af772d8232d537fa44666a9876e02014c150ea7ecfa48a5b6f845b965387f999dadd8dea11b024278f27f2567b0825edb4f13067c0001345710adc8ebb33a735f3c74dd7ac5ffc2205087048c31d1c8f77d8edfa7f1460917169f9a55b89dd97f1600e01ab41f097803359d93b05c55554492d13f4aacf34e4dd60d0481484c0e375ac8c0af798e6b53f328c0dd7a716d7a4e59358159476d12c29655eaa5acdea06505e059755771617307e7725341699354ba98d004255ed0ef3839d99fe926b645d81ba242233d16cdaa78a685a16442c0cd62dc32abb05325dd3ebc6aef37bf2294b1dcec8d96f3a4cd50637e86fb19c175461e49789f25becd7a91e679d43dc194ad702929785babb54106e7ed89a7cfca47935023289a0451bcd562a3c4d71e8e1aab22340d314fd136d6e083d9f497d291ed7608cd17d221c32cde511fd6ce197c1268e0a1480505de72e304839fc92db79f4e42f8a23dcf52f9112f9b045d233fa592c1b6ef7326ae29912a2d4fd2c9b1aa4c88f522b5f92344508537862c881d511921983c6b214efe3aaf87de896c78f4f802a3af42fe3a7141a2483df0b105ea0e4f88d15d339683192f971b3d410eaed6cbfdf784889fe09613822e3618a4b00c9db70dff64b111c4e0e0e6dac4781e8d8515a9a50d3f817e8e43ac64b86665f7b4e8e3a7a85ca6a93e0dc30052108b80872998e51dbfc2a49e22335d034dbb22c7c30602e42cfa63f8ec6306a0d28518f553419f350a7cc2953c7ad083549a2f5a9a0eac425d054cb43c89c4f77dae92dd3478044a54aedd1c2b36ca277058c1d51943133f2432a13d31584edd49d464d43fd9df219e79503e9ab201dc57c14323bb62a560d1b1d012700e7caf3134f98b7704a9bed1479b4f008b1599f2afe5c8c841b816ee4fb37374a9bfbfe418c2c262e9199b518185e0b913ee2597f447d270d86f76d000e8978376c98fbf954d1bb9f8891f55e78766150ee65285bfa31f2ed5933aad1d675334680f2911e5928e16368248c616126b27708f001c3c06cc6ab34bf5545e9c10e4604b0dc55e1b2d7580cb59d5bee1ee96929c31891b4c407c0426b9abc2698ec5b11534c8736c04c72aa557525628eef79e2a77dae44f2f0b727183957583313351e0454b9204d0f2e69e97b99e5c980d00614bdf1e8babec3e93ca61464538ada1b5900ab42ff95809f45e439e30004ae8f23ba6a75c267bf3b093e173b18f931733ef78f512360551c6e85a93f1b0bf6a9d9527c37caf7396393c534cff4d92ffe12f76e483322f5af0b81c3b21afcd50024a46e744ca11c93ff3d93b86a770041bd4aa266bf41203a0d954d505a7f10b75c4ec840bd110f4aa8e040f8d878c19655f385edb28e7161052c95cc6d7c0100d3e5cfaafd98b01f4ab2ddb8465ec9121c6de9e8a8087012293eafd76e366d476a5958697dff58fd37cf7c644118d1169f61633b4ae5115654360ce55a97a7f9f89f022bc0b9e91e8d8825d05fabf48dc8e71cb4f0e419b4a9685679e4113b7489fb0d9d1706d7744e3f8ec76afe1c83c3973c6d7c65b6a8d0a864170de2ece9763860317a0bfa7d825d28a9017f094d76a194388db158229d758aa98616539fc13927d1aa8d6c5ba51840860ecfb867070d1c79f6717fa936e5f0c14ea6ab836d2047c1a82341e9bb274ab4729276639ca2b63d23da3ed18f3369847f2524c61f11d93a90baf3b0c01175cb56862870a60f2840a70e392f892c32f922932f20682a3d0b353f68339b3cce1bffebc610d55613a31d8acf3049e51a11aa0062f94bb50bffbd5d850f7a96310ba510b5e81474d48fc3f159c121d62c2f8b0d972b1b186ea2a1cea95ed638434fe0833c156a2f2b9468cd27687b33ff130e724c435844cf040bd64bc3bb8abcdebab862596fda1c807935700f5097a13437e580e14ef70f59a7c3e485b23327ae1bb4c37866677af480d3c3b4e0673d4444b35b09ce706426c5280c516b3810743ef3b0e88858081366318851e6b2ea8f0f59e9271f384cbaf1e57b53e39e9277f9dabbf757944ccb7b6f4cd3e8909df0bd3ddea3b1780e89acf58ffa5682d5ca128b54a57341e580a1ea1bf40273e899666043eb49476e2c5e97b6bf45de96169bcccc617e01c48ebc83ce4581bcbc4a40a9c01b4f23e8a2c367cc4ebe97106d30774b97c4d6517ab3c29a0a5c3b819d5f16cfafe1fa2c01e4de7a67f44b4f69e0524bda40cdcaa2df4e36f394b26dcc6b896929250b2d758391d032901ec573b578701316451575eded5aa94a517b43e5a1fc8045b48e0b14ad1144ccd453741f8b0ea2c07b9d3d9037b77840fa2b6ffe1c9ff267f5624a70a19013582b1ee088e40c8ed1f54e4147fb2c5c98cc341ed064871321ded32adc44359a9d113bf679dcea5208ade159447705995761d363d38c63ea51f15bc27398d6f58e9f0aae1fb589d350763a9a0657c85da1f9f50879f8e423bf2da111da1bef7cdd05f53beda9b0f85ce7d41591e593d5b28a433677d9b8daec5d27b1cab08a3236a2292d088185e7861fd6cb63414a8514847663ee202298235349311df1400570f150b371662e2dc434a71f9add0a62512ce437ade5f015e923c61011a74d23314adf78dd8f90ca64494a7033ae8b4b0a257deb358aa2ef446a4c9b13ce40cec03ba048aa4c051a13da5d19513b63db1a26ca84e44d06a9364721d18b108ff8164ce7726ff5f6e66d7f8a8d1a0e64732b82d7d48c2ab2f68cdc09001c578045563f2211670e61aa5e55f0025e27dc9da737b900b512962afd1f0098ba64dc7225a94a237a067318a04c74ba2515b09bf3b506fa52c3c51b23c17ef5f8d3ad62ad0ff93878c98a4a40b967e66aeed5c62af8bdf67e687d63e210dcc7e04c4c0c9b9823143e815fcb3c2db470dd048f2e102b0344ec08d77c80f4c5ca43e7cec1e3c11d5d6980df6b0181ada0f82a3221e19366887665f3ca460a50482995f2370412969889b4f0bc8a59eb05faeeb03ec7512f13d88648c6d254fa510db98a0e6fa166a17d64dfc8155a5a04f8e02831bf86f6b7995fb2c998239a23f6e0a4e022d64241393100f2380835505cd366e7c58ad5369c0ca4fc1097acccb00e9ba833dd7e844c5239e86346561e53bc0cb1cd628fd1348ce146bdc6e957c83cd561c33a4ea6f8466672d404f2486274046f632fabe9617f1c01a28bdd5f20e26224bc262182d4d288942fdc0f292694514a31c0a4fd7c444061b1e07dbbfccbd1bbd829a4417738d0dcf09945910c3672310753fd0fa2706180008651663b256bc8d9f05174684d18f06da2083f27bfc0132b0579d3400e4320f098d6c642da91b0f0f2412de2ca0aa3e80e83c82af51906fe566dc5ccb0957b31451e8584fc2f6c71440fe474d9bea84a98dfeaa437f74e1b626da3ab2a72e81b0e3f5647e43b0ac3420b03371693cc147d46eac8ce9f925df7cd2e4ad4814eb5460b846c512001487447f78bdaf0651adf230b53c98dbe6251fad82c2bf96b36251be60bb850eb094698510c575b5a7ce6e662614494624563e9cc1e53a66fecd77ec1dec35151a3495b2ee82bbf11edbb164795fa92a3b351110f06ab9dcc5f5e18416b490011564de1e034d0c5f701e1c914e95e26e23e85306c6bb05a63a9bbb64b8eec0ee57cd0027820f9b2f71017714c009b6ecdc30d0468885571b6f968eb37c8532c00f75963bc0a30813d324f9efc32aab3f3a750d7ea1ca4854b93c35703f75ca3fe99a852d3d6bfe99d1205b37dcb1b43064fd6bf068a32b1259f8c85d55c0f39991871729e2bba7bd90349c9db8bd3ad29d4d077046add4ba89a6fb9523c226b46cdcc8c163687d99d4be20bc3e42d2cade9549a9a0ce334c8bb4fcca73efe517b29920cb604d047d55eebd88ead3ef0d03402bea21d33f609213e7324bc835769c1386ae14e3c4829ed24a524dee80ed3b83bd5cd81f4856f78886898021663330577dc4dbcae504290fac739ca7428794023e51f8ed5a61669d8289aed5013c6404fa3c5fa055309e11a7033f7ac4a02f880e92ce13427c9cebbfff19408ec49cc65e4a16fa0cec0ff55363f625d15feb5b5085a55542b10434cbff161180dd217ce0dcdeb02b884c2e50063f8a57f47fd96d6fb9b79452ca94a40c0d0adc09db09f2a6aaa2cb9b1c5fe42e6fda45e6f8928af8924716e9971838d2083839feeb2416394a9c9d1ce52947e9458e3227c7f786a676e982b869970e06273e8446c8b1fd2d1cd8d811eca3d14908004ae550c387fcfead3c8281060f4f1cee6b2e4aae070a0739f1bf61d2cdc8d3cac59fb238b9a1f2f08fe5ba33da705f73d70ef9fdf51d1fe9f8880d1613e5f7bea942d9c70d292ad51a3e1aa4818c28a2c86ad0aec38724252769280185116395c5ea0b90c97bdf39f1e8e83c163498c4c80294451871c87d5d564b0b0c549d21c6c990922ccc704f50aa40b2b393420961ef3d9dd176b3f0cecb50861b92a191e1bee664a4907c5c0c63b829a230b25516ab22f7352752c902c3020a58884165072eece91486bbc38c21d7ba20103d337840839582428a4673281edeaa60f80deb21b78eeb34f785fb74360c86c9c3e3858bb3a8d28bdb038d57061851b983aa2c505db8af391aaf0cb9bfe37e73288821d485bb45adc2ff63e1c27dcdf90000ecdd2e6e570150e34332200e8121f3d4e0b0d0d3d179a37ecfe2bdbc73911b3f17177ef7efd9a891dfdb1a5c0d00f840a307bcd5f81a3cccd841455423454608a5c6c9ad51a3468d1a352eab46ad4127063ef35f8cef12bfe622b60980174e06f8ae06f1dd2dc07721027cf71dd7f25d0b10df55017c7759be0b05a0c589cabd0faf7e0fb5d6dab5e49aea6ab63e5b2dd92ab94097c915e33ab9502ed3d5922d6743d9be370f7cf85edcc647fdd5ba242119cfc69d90fbbb96ecab0170576f10b8bba102e02ef404c0dd0f00b7e0ae2557207057af007077432cb80bfd0aee3e00b8e33ae6f8a8bf8e70572f87bbfbcff9803b8e06ee5a72f756b1f680bb7a431bee42ff1c0fb8e366e0ae45d61d7057ef15c1144cc980a9104c99fc45a2ee0d85de049b24d7c2e32fb3a585bbb8e3fe4321ac796ab661b5de1b0afd67df71190682c6f84ea99aee4d08e773f28c89a4488aa4488aa44dc6c49c3963ce8c3933e6cc983363ce1663a2ca5f9e7b8cbca9f5de50e89fe3ba968e91a896168efb0f85ee7589ca73966abd3714fae7b86b96ac8fbf95b1ad3e969a9f0e4e8629b9c18ff334000124c1be8510c2ee6eec5e159cf0f9477a1129a59c73cebaa22aff21935b6bad5824d1e0b8570959aeba2f94df85d875af272e86bd2bc4bb59f63ecb642e286ec4ffc1ae27ae869de85c982f0976a273bb12ec440777f0fbaf23587b42c57d6fdfb645ec6d3c6d4a419cd50915b7abf9d5cf6b2e0ef6d1e8aa29bb95dfc79efc32132e8d3c52cef721b108ce0f12e3b0e639e192aae0ad6a3ce22ee484377e4fb7bf9670e5cf7f36e0fb1fe0bdf814e01682c7e26f9d782c1e4fa5534ec25f440047fe0e5fb08614c012648b07b70998e3a95dfcb1c07f8d7de7b1401c4473fe5b7dabb7ca0e9df0a8e3b0df091ffef0a6c4f4a680c50e8c227bee20e975908a8e0dbb2088b40becc9feaf8b5e648f415453b795831528566856482b50ac909a9371dc39917da56604c6e8c868350263b4fa81f403894617493cf5a93f75dcf5888fea1727d2237f2f5245545f64772324df22741ab9632c7c777c9520925c0bfb68742055966fdf7bfd9665599665fd0defee40acc98d77586f62f2d6f766a1b693d234d58cffbfd1cf5f66e01f55fcb058e46f9f87e7e11fffc0b0c8b1c8081ede3e123c60fb48cc78ecb19ff133f0e7dbb6b5c1ed6c4ad3a9f55e51f719a5c8eda8a6591b5ff9cbc71d479b9494942ccbb2cfe7932273825f73253f830762e7893534d5a5b00cdf848a0c775ab4f4632643bf26c7f3d1354575944a929e9db1c1986873caf25159f264f9331ce557116e263262c6638fc40cfc7c84658fc4f391f58ef251a66131b59da9e95c57cc644ede7eda7adfba48ba8070fd3fd7e722f96b2bf9ce644a5edb49f91e35cb90af61a1f23d6adee1e56b3acf466b573c0488de4d34d596f2bdcdbc43caf7abbca5998c0aee9bf233452525eb4c62d9dbcf64a4604f653665f3d40edb076a56c9de4695ec45d97bcf03227b2b533621d8cbc03e84614ff92853e52cebec3b4d7572fdc9b5754178ae1e5cffecafbfe1dfdbcbd7c95b27a03fd9ee772673b3cf3a0d0a59be09a86423d93a1eb1ad9b21b443d0944966539a0efd82ae682a0591706daadbc29a4a469bee296e77c323dcebdbdbdb6d2a7ea7d25c176daccf3e2fad4e537df06bceb2d87e91ea9c08dc3aec69b48ba8df3f947dc3362bdad0141234aba9349d6dc7a65259ba44a934239724ffdab48bc8b555a7a9b2acc932a63308c4ef2c5c316c8e6e1303a9483019baa0a2278aec03eae6de3ca79c64768c0cd79a7342f8910cd73242736edd0a6a4576e8fd698a634d7167d4d0901eeb34e72f6f70bb19248a33634b55f80aa8f92624a0a625c67e479d90fda912de02ec7b4e766bb23754a7b33728ad26fbdb19a4192798f1c40c127486c3e6c633485640f1e194fd2d0d143746c6a3bc95b16d6b7803f047d9b634bc02f8db6d33c33380bf6738b2dc784b3d16ff4b8bdbcd20cd1935ed12bf0a4179bbd5d418143c8354859ebfa93623726643cc09b322a8954f3319f9105a71e7c38d073d11a9018e163ba43c4aff8886e8dcdf393e47a54ce1c36461e5e1a819343da3a60de07f51e17629a62d8585d837f98bc5273a273a33483ef29d7641596fb3ed64e744670a37fbee4427fb3f114f0c39fb141366371486a5987ce4af716761bbc718a59472ce39e7c428a5d8fdce4b24df35aae4bbbe017d075526dfc19c18df419256bf6632d7ce3df9d0cfa4dc34f65d9dd941f558fc8f8031f66d0c0c66392c8a10fb4250704c5f524e07557dd3a8ce4b5a9762ea7c98320f47e5ec2ddc4e4e35d97f06096619be3621f6b10d8b7eb1ef7fa263b719343df2af39c594fd534c2a1d7fa931fe273b2fb3f08c2c6e3763e537d8c91d2665df52eeef03ceb3d1ef5beaf5d6f94e86b8a46ea95ab754bbc8ecbf7d91cafeb884a7e8172803d566a45dde155ba0b293b27f87693615aec98e6db2632936d8255fcca0f1b71fec758eeae84d6ccfe0f6456d6e536d570e6ee75b2afb97a4daa573144d3d167af358fc7d40e5d7031018a44e1eb02862f5c0d6fcbac2d762136e87c121d847a3d36c727b850f22a07ed7f975f1a2d7555d878b38d18aabd2bbe2d93657b3bd9c758e99bec7511c49cdd570917b34955261caa9b1a62845ee1c1f99fc857ed13bf4083592fb4d0b80df556c7776282a662c6c4ebbd417f83404feb8f8935a2d32990a05ffd16d73fcc56ad1a3feb63b4fa83d29e5c991a65629278d994c74c2a5364478c6de3651bf47cdf4fdb1d8b7545a8c3e462329d2d8a84f5135fe627dc37985773ffab1c49f990cc476c747fd974ed76f20f0b1c497b3fe8d26c98ef1553cbf2ce210ae9713341bea97099a43ef2eaef5b658bb3042eeb0dc6ab00d49f9bded971722ee8ef763904386353526926280d8e83e10f37cd110d094a774dc01d171639e8d6ebe68882b4fcc84c6456ec95d90fc200992b28fda7d8b4ea5e617931e41196f77377c4d3fae3db89dcce1c26f08a5d5de3b094948e569544a4325d4517643b7aa57ab3d192f732bf9b5c0376adf608e5b2773b83dac9c7d9ebecd60f6befa40ccfe0ac992335bd6df68ebf30557a08008801946ba5a2165f4dde989fe7c98c948194917106efcce57f4e1dc2a7ecdbd8558ee8e34b97f1e21a15c68d2847adbe5829a2cc282dac3226cb6b0565bbe1118d7f59fb7366b7f20651a16ca233046608c562330306d7337e2abe85711aefd2eb4f50f34b9b99d1118151bad464746ab11183f907ec0c973ab9811ee0fa42ec8cbe047924f22b48b84707a7c25d30d4e8ece0e2aa55a39a9c6e606274767e7c4a35a35a9c6a664cad1d939f1a0529054635332dde0ac542914cfa986ee87bca6e6d5649d1a1f95503b1775b3736f543b5795b373732069e742d2ceddb9d0b23eaef3a143bd6c703b5fd129bc1703210c428b4c77284fd6895f2bc5c9ef91885fbfe21f311277d4e42f3feac7f711e4c1ad5884c44711c5383a4bf8f1261aa15f300abe9d2af0e4dc455229c368ca305291610d4c0260ec874f791a8b90e81ffe1d2409c79407d3938fde57128451dae082e23e8ce576c9fa25f608fe27bfae81bd34ad23dffdafbf8c26f946534047c724851dbcc8efea1028b788b1e1fadf96504ed81dbfbba17ffadbb1e8395452a62b357285b44223576aac951a8a3bfa1e49f9ba7cb332b52cab8795e10a142b503826c52f8e7831344fd4a7ffc47c49f14b0cc388335d3b9bf1ebd94cccfe563b39d24517319b91d98bc86c66be2222761eec3cefeac1851f83783b0e7aac4069910b90df1054295bedd1e8284eb63e76c660aef01b8f56a323beedc84cf8773f90e2bfefe0ebfe9761cdbda7ef3cdd67b3524e8cf0701e4dc358f7c1708f9829b6f1709e4cfffaf978c715dfc2ce23df2bde013b1b023ec544d82c71073f3ac5e92036ce28dcaf8857c42be215f18a7845bcc2f1c915110a89b8718599fbcf7463d110fefd338e8354185c51b8324e22c59c1c997973b3b3736fa994934322edecb4cb9c1cb9feb1390c331c54074586908186dbc95d8fe83ca323a3950ffcdf68f503a9b5947dd7b89d6cb953c630b796b58d8e8c565891ec6fe154f6a7271fb97dffd0080c6b95e1765a769350bb68cfc6bbaac5b0cf6cb4d846df8e8e646a7bf658fb342fa1fa46950349a5dbdde732b0fdb68f807d44bb1fe131c623a294323b42ce39e73c62524a29a5f708ea252fa1507dd3372a554e0e2441d20e3e61c2add9113546beb5a010892baecdc51709f1f2fb99971f16f5ef80ffbef1c9912b1a02fe7bf870903c44c40f86916b0c5ac7e13ffa9788c2d7e15fffc23e44b4be0f11c54de8807fb5cf3371b10f1ff7491e7e9018c7b5560cc483c4e02aee9fc0e1fa96a3c547eddc06e3a3c7afa57ef74e5b9098ba0589c1fefa0024c23325d5b7b00f1f4bf8a85f09277cd4df041347bc988b549faa3335419bac74993a68d36feb763db651fc0198b1cf36263a630f37a89335e1e3fa0b439ce723fb3410c31cf81d84381566bbc12cf33a877611623004529ef8612c26e20ea2728c8e03713869132c1219da0a8cf13dface6371d855b0d0aac385196869aebb1b42083fd6f960b7755d5ab22d2c04865902a5920fdf9598338988bdd353a122461151a23b77177072c75d384be0a30481c020def00bfb68d05831507c4c15b08afeee5a22d89b08c69b214a863154836c1d6b38a072c7deb00c7b2bc9b037930cafb715ebed62814db695d6eb13bf782cfe69782cfebd65196eef0a19bc215fdb6bcec8c3f2bbf9f9f550d552c30d352735e02f48ccaf8f047d897fc8a75fe5532c82f42716c11753a7cb4a632afbdf5e1d651f40762eb27f34c363f1b73b31156f9e8dbee12ff10c92045cc4399c621b761e4a09579932a62a8e477f518c3115bf7801e94423aa87923451256ba48d94222a8181f74548451583b4db2d5e7cf8c475847badfcc526379cfffc75c477eca30af83efc23d6613fdabfa6b857b8fef15d47726b414ded32c58d16b2be8be7eac19ddf51f970040604423edd3a2ea76a414d748aeda6ada983c0285d60e75bf83a9a9b3c0f456140f2f56f20c5b95afc85044f6c85660cacf1fb484ae49c31e6ab49799e1c3e9a1d34c978980377445bc9a76c242f63037d68b35fad8bb289e8cb6ef4cd719af3cd13bc8406522d6597fcf548b8ffe53ffc5d5bcd41f22f667e12256f1f89eb49b0bd7e5c5f52f22f66bedd4ab6b982e62644c16399ff6c2efc18ff39e453ea820bff654dc8a7716302f4254f639fe42516c5c0392e2c927f7d9018135cf2d7eb28f9eb63c09a67a3f30cfd20cf1de4096ba0051dcf86fcf912782fd00b79fe95258635a55bf2241f3f6632a21c3eac07611ff5edbfec4dfe65d2471531b00e9237c13e2c165192f701c2225af2afe491b0bec422a1f888177371531b1fcdb7e65ff3319c3c3ffbcc1a1fcd249a9b3fe7941d2f17e8db4b0bb7f3bb2e9111f3fb9190f0b77efb48f8dbf70df38f28a63711c436117c8fb1ef564a7dcb51690bae0694688eaaba3b0856be9597bbd86a940c1742abf9c51293c941f3c413f1673edfe3d911d9bf37ba32f31ef9607b9c1f133903faf758b4b71acc301319113fc6eb883ae66b274766ecf777b5e4effdd71cc9df68abbd7f900cc2efb1c82fb9dbfb6c4232ec3d153e9dd12510080406e94b76c19e10b9f0b1fbde510e86dc41080b70dfcd107ac032e02f3a5c9973bb9adba5ab2fd3b1e6fa6b7377bb3077156baeadc702ffbe5c317d6517d847c3c2ee3ab81731e2aa36007c6f7dd52e39edab7681b7394c16e17517c6288910371ebe823042f8dac86381d1257e7423b11fcb6381fd6cbc08db880ebe31c4640e56edb2ea7723d557d857aae6a04795af1cb579aa0d00ff72c27ddf398aa45541a33195ce4452592916db256608e7dcdc33dda27c8f35355b897d6c5060fdadbff7de831042e8dd7dcdc15d66599c997c3a4fc7af39ccc822f87b70e73a3dc9e13debbde7e8ec881a13df37ec87e8dc85c08ae0ca8a88b91b81f536629d8ffa5662f4470532df52ccca8aa8b90b22df5e3b98806108897fa39ba74d30f5564f47487caf737518f6d1e8309beccf3380fc864c618a1c51f05eaa8d8f6a9e8df8ee849c9c21e0fce06607a61a642fbd00531e1b2080e0b8ff6a9319f1626add62cd106e67796c228fbff8c94ff664fd64fd64fd64fd6479b27fdcaa0d7cdbd54f2738b7abd5a6e68e7651777ce7d9100d11469618c65893e3cb97b9331c568e358fa5bfbbe161e44e44c4cb37fa111177c88ff86136730cf6d1e84c482e1350bf88f836f33b6a73f1f8888adb8176b2fff5c4bd4e3ef221dceec343ba4ea8b8363636363636361f1e7fd1767ce45febbda1d03fc7f98727bb6643b3ff09cef5d325bd1852f69fd7293b162e342145c903dbc332c17b15ebee86692e8812dc1067dba53374f89a83164e8ef55d199109a67ee954a6703b79236ffc059aeabd6c709b88f12d35dc209a83a6c71295b8c07bd57a6c8034583524411ac09a043c1bf0e3e7f7a2c49bc28b71c8f1078f25be8599bc792cf12fd3852625fc4502415e1187254822e418a529c2c41dcceb1b7e69204ce8a976ce90bbafa81e58f81db799972b480c16cd6fc8c98bee76c74214f60dc9c21272a8b93927a5ef2484cf090edacd6f081668eee70c24587e43b80843c995df102ed470314dd3b47bb958c16d0817546c5a9c943001e584829d9c9c9ca0a00cc1821531f21b82051fc838f1808704220c6e58e85149c96f088fcd0e24f90dc1c26a860c14f010ca6f4816789043cdc12dcb6f4816ac904318dc6484504e523e5912eca361a96ebb58717de7701e48a17c88af97db038410c31582c8bdfa5d0a27a014496c3e9abbfe0190c28726f82653494661829b7d276d7c24d12efe7283bf8d56cdc909217cfe71627b190343c680c5bb1303edf2b2f6fd56fb0a48797f88f1621550a25d64945093d0e3cfad02523e2c82fe409272ca590125723fff7c2aa08416331c9e3f584229a3e091364934d72f1f7b57f94b12d663f4310ce6601856f3b312c306e070ae5f0c8573abf9440cdbebd1487e12f257a986ed184ed15cf7d36897087117840cc97f9d80dc10bfdc3d2cb0274d504a1225409206e8fc6be3ac96a7530aa803bc51ff15539081792c61dc0e06a584068480e947618438c1c0409905d632202c42721f6cb7fb0a6250757e4fc0c1144e247ed5b617f3d95e8c85188501fd1c2875766049e2192ac5182fc642b873577031acb1a9a2e43e7dc185a6f82fe2c88850070504451bfd946d7e3dd9ae27d9b2076d9849839440e5f831a544bc18924ab013ab2ddcee610d1e4b8c6f72ab8881ada733fefb4b15f7e37339fce5f3a29207e9d0efd741bfbfe41bfba802847dd49fefc3eade4e8ef1f190bcb6f97f36588a319662a40f7a1df441d8471525efc375cc27c13efa73686f6126cae1fd1a34e1e4e8ec9c784a3e8a5c7cca82584f5790aed80cfa239dc2f8fe7af5eb5b4512d55e4a8759b390baa37085f063f68020f21dd571bbb2cd51cd450cf30ce94fac527a615888dd26769ec7422536337f182385f4219494524ab7951a77a79042082116d98a85ecb4977b68523f3d16f9f4b2af568b5acf6bc54ebf4a4a5f6ea3231008f7f71f288dfecd452c721c9eab93948107548e6fa97c03a54849e406c953ca10a9b928c2d1219aec39e4eeee8e82823262c69a0c65a47cd7bfcbb1888898e7c73c71906ce7261a62762a53e070155273383cfbab4cd15c7c159ae6a2bbbf9571a94293a30a4dcd1a1111e8c647f1752295c8c8eb544835d6772a51e4d8a99454a4c8f15fc9772a53e4189970e363d643f8265045ed144d4e3c3916c9f15a6b7b24240f4ab58b96d291fcb5d05e4aa9b5a1fccb48d64f7f1696524af9f32fb9cdb7b6fb2f93b995a2a0a0a0bcf52828289bb5528227cabd06c15a8162a5c6ad9f990ce8edbb209ce6e2e91199d8ce39774c0ce2c1202f9a8b2828911542c02cd2692e3e0112e9f828fe0ce8078fe3e2cf23403f78a3f82225bc51fc79e7dba8fde7e37c1015cdc5175931033242731374f358e24f2cca792cb251be03b59c1dfdf9289bc9dbb981e8060a610de269178a415ef0d46a7dc864d34edec589084f8e5ee4f896e51bc93577f7bf1dc9df774deb6165195f322343c65b1dcab44c949dc498d40390e26b0bab49220b5f5b90483dacee61f5b07a589a283b8991591fcd7a49a25b449225736d7127b6427fc351a425432fa7fcfbd3b242da8742b29b3d660e595b2864c990b6b8b6b89d13a41e560e7dd7c3b2429b462275d76c66e6a969a022cd45102a0b577b1414a8c8cb70a0906c91945150fe2242a1a044281494088582424189502014483bc94bca6d828b852b42898a88542a24151a951a9515a47214a144ab1ca7043d840f515210a58876d24e284dd52ea1ede5185ba7801ce3a34dbb9ce0e88eb3a7fd8d76afa1ade45f563d147a9792de4b4345d84c29a5582633439b76d50de45b49c9877e746454f22330425ff236932909e5ea765eee445cbecc9d767254bba4dae507529ed38b22f1413fb7d0db4c06c44467edf45862ce0359d1dc35c5ed80a7b2e31d32ee0ffded26cab1505e53dceb7461fd4e84d24e29dda95d7aa2a0ea7662e47a913c1fe5df06d269171c202c3048a7b968854c3a914e8edf44cc9ee38372dae53ec88a1c413a277fbf036191e387424f3399d0d76ae7e641a6a7e89fb83bee7ce06efe0dc2c3ba7f72727fcaf8908c2bfa4e79fbeee7adedf3d6649bf335f925f3b5f9a00d669454bb803ec6fbcb0c02da4f69d265ef182525dfedb48af097335f299e5fe5df7780c95b7fa323703207110a11289d8f5211138bacfabe89acdf4416a6a1a7feb2a3aff2fe2898c78b24de61f216de51f292879be058f2f73d23e2e44bf0d39e04c70cf7f00c7ad7b0056d1d903c2995b3beb44c667dfa1284bb1f794280e268e1cebf87e7d905e93c53ed32e3fcd82ea19fb8ebe1d6644349a1a04cbe4341a114692ebec9e7edcb714fde7a0b433fb7cfa3a07ccc643e6f53362ae58c760aa17cdd409f42f1e7ef4bfc79eb83f22060e5d0b47e7a4a3eed78bcaca110de31df3a796bbe25a5fccee79ca0970ac8d6efb0599df51e0823cff9d453507efdcffc1dbe6e1d906c85919dc0c9ddfd8979743c3c25030a6d307facede4bdc74ebeafb2753e4af93e0aca5f624c7c9494492623c27d6bae2958c8f5d55327277f63cd907bf25dac712c4a1293d75028f6befacbf5f2af70afb7a01b1015201c9011da05e5ef6ba776911f5f23a2d9fad687b62e884c68524aaf1e5c9fd3aad64beb6f7808c5badf61da69d388683c6da1fc8d4611e5b44b6755397e04699f8fc9974012955dbd174b271b34d9a215cdc5076d42ae27b95ba77991e36b9f588a5febbda15089cbf1e30afae5c67ff6b39cbdcc64b2d8d6368662c1edaf48b8d7db09ba69972e9672fc2822d21c0a0a05a59d505099621f2986b5d3a582dbdf55297214a162c95f4cfe727d045dfed3b1a611692efe5582db69a71cff863711ab0895e353ed343d358f449af8458ed189cc2dd6e6782001e241a627f106d3002e8dd9102b507ce2cfac089b3f96653da5d4d2ee24d1eedc48b4bfda0a14342b62050a9287dbcae7fe67a526bef6f1ca15283e9fd7643ed1e6836314245b2cd93c1b9f6d66ffa25d34951bf9bcf6f72d96c95c993d2048fedccf26cdf0e0636fbb8bfce067f3ec66e8ec66f86c30bbca5f3cf5c9366cb35be75de4eed615285e5c21c597576aac951c886312ee4a0d8ea6fc7a08a2c1abc7c67efa94a7290eb5225223e418df79dc8b76991f8be4f81de63c51529d1e90c4ec512c2965f654caec2d2b4a1ab3cfba1e9d5978c784570f4bc6ad832b24b952033f460c2586f1af6ce6f3f5df0a8dff0a69050acfde21ee628410c65f21add0c0f82b51cc6dc7f5304aad9ff1e70a30bc63fe55045d81c2ea26b170d76dbfa04ff135ff9a6fc5b73ae8ab15d20a0d44007c0bffcb24c457949fbd8c6f6533f17758245fa3945924c9644eb693ce3927bd320c7f52ed2fa518bef5817885d41cd552f60b509154ee0e5ad6c78aed0eeb3398612cba1e7beaab22b9ffe9635b50a5822a68441549d9b7ee66ab62b8e2c18d5825874c2d74545edcf4dcf4a676792e3075ccf117a9e3a396357555b2eedc934e0cf1c49d50e85e94e90a204e405d14dc011030e8e840120009439a42a17ba529bf1e1d48522874ef93a4dcef0a2744948750a8d90e7b5aab86b4a64019d756b747b1f73e6bd1ea4b81b11ddc1d3c96ae189a4c2648059518dee0f00c31c4d1010ed4f9c80cc39c1cc8e3278fb1303ce5e0622836c04eb20c73195803a1cd47337142b58406ba97a4e4c2547338188204b325346827233f1f28b03d4ebe0561f0618ae289e53b8cef1464a24991738282c167c31fdbc0638159038fe506299490c58012a8900cbf2ad05c128f27a54f905bc6237996d52a08b509201d6c3aa5c2d5a36ba86fd40fd1f05e3aa7ba21774e7336b8f0cd804cc0ec5b8ee6743c961a5c1e7878bf0103037371ffbef5408306b77382e99c96b6f101063552a926750d4c79aae45f34440034c303a2bf698ea0010610c3d46391412a4594f2998da251b4a39ad79b3dca64e6dcaae318b1df5c7f2948dab04931a4698e06d73d3a75ffe6f1545976e0a9248e990ba02ae6c03e1ab1dbe32459dbcb96c8d9df9c919e1058fcf95d7591df61f7610920ecfe449752ca49a389b4444a88065224213ed572fa4e8fa7efc3a24d09e80240227510524052298993901cef04adc8aa142613fc649804b12851dc9854a28de93cd3e336cbb26484fcdf80818158c81ae56b7914922010fdd776b1195c680534619004110095f080e88a4d4cc05de70e921cc31c4c063972ca8728ea2643b0b2db6854190098800f8f45fa4081ecdb83c06b6f1a32aa957da040f60d6644789634e4146f16c8fef0dfeb29773c09bc8a99975f14174208637330064611d857001b200e94947420c787d7077a3a4b6c996e2f6e7c785780c520488acf958fbc6b325ce5551430b8b0dbc5656ce8b3290d684c106a80e32e94dd7d522b0130f0eb5b15bbfe3689b71ecdf51241a85a5a2efa82fbfaa5fecc0de891fcd82e379a7b42f44b0e1ff55f6f85b210cdc523dcf8ddd369400e7f59c21b662aa110063490c950ac040d2bfbaf1911f56f3440083b3319294332762094e38a9571cdf57316932617cb2256b30f6681a06ef08deae769abdc4b2c617323e682abdd0ce5fbe324b5ae6a513c1dab4165f8cf5fc7f5fe13fbb0dec78545b17e9018f85e0bb4b69679bd2f0b219cf3aa37a6fd16fbb05edbf39155e15308e1842dd04352e24861c82a0ea43894968853466f0844ae20d65c37178a5efe13b1bdfaf54d6e314e1aa3f3bc0f9271dc72978315076b1ff6ae468586a3dd804e9f5aefed42f602611886611fd0299f727f8edcedd4b5de6b813e1b5db1e0d223ac186d05b703bd3d814efe427232c28a21c1a0930a2ee8f4c99eaedae5f37d71178f7c2e88e7b5ad1b44047e1311b3962777a0931321923b3f42a339d8814e5cb78272d27a12e15e6f12c93d2727c628a59437372a554ecebdd71c54aa9d1d6b6666e6e5f6f98254ead1e83ed68b92c9a36ab201f21b028653c6b0b875d5b27e206973667f65445c796633ed12658cff03697b32d38b3477fd7cbbd58fdbf52999b514c32c261fb37fc32d954f82591b9fdaa75dc448b0183b13130c97e0ae310c24bf93514af9f6625dc45dfc79cdee8715ec005df2edf53d3acb79a3b5ac88ae3388e4ba62bc1af4f1bb184197edfb5dcc1214b108fbf997fc88bb213edaf816df702c9b3101bd35b937fe25af79c519f93b2ceea025e7fd6ce371c9f82697cc642c2a33b6bd9cb18881aefad726b327d9aeb79f879b365addcd66383a67f48648f69ff3d279b10c8b91caf87887fcf9f63188456ba3cf8ff8640e9747c723bef5daf59f6bc6fe0e0c7730664560d976d791ecd865fd68e5998c5537e79132d399e9f6b29432c68f30cbe776fc057e3f18372f12f1e72463d0c1aa9e0d6b85dbf9ca57241509548f458bdb5914aa5198176ee72b558c56c506082d7c12f38c66f499c00173cce8df8cfebb770879e5fb6845ec977366f42dc560be3f332140e8e9bdb7fd8d8e0fefb0e2f693bc46534566d9f74cb209a129798b99a0e4bb20f93687bd982b97642a0f66fa40340d8ac226c24ab209f9603b45bfdc8f0fa20191a2e8516cc26d224a537339fcc59aaabcf7af4b4f25d856a2da40343d6a0c22816c4811540249d12ed9c7ef1255c9aa2b666db1a4e44bb68fcd24d75e56cd16c36826a976838fa51fdbe23633c926e4f377c3b26b8339c2dc84db8148d9cc952396450cb269ae1ffbc2edacc9342d15f1adb89d35e588ade9b1f49bb247984124afb11bcc342ba16fcae856bd1a662a1ffa584e393102fb2b74ef78d0537eb582a4b05d8548826bc84dc088021cd9eab1a06e6753a9d403c35561107731b776822afb6874374e08797470df7cf87e7e85ef3b1e8e82eeeeef76d48c7083500eef514e6ab1414e8a2a52a5a05fd8d023345549b5a646416da27841a05efb17b58f19104745ededcb287db8cd4937a8e1207ad4366e2d15c67928861b4ccb358596206cec77d126fae026e69a8b4cb8d609d7e23c1bf7dbd2be9fa6fce503e715dd01c9143e96f9136ad77736e7833f2beeb3c2fe46672c13731b6a555b8280813c1c353be0a84cf10aa69231bf62f0e623013fe21ff5e18f177aeefdd4403faca33ec4a2f7fec5c40f12e339dcbaf1aee839dcc24db1e87d0f9845f475cc6fd1fb1f55c8ffd13fff471516d6111ffe8f297a5844b111fdf375f44f2cb10ef8f17f44dc722de1f6b7e43a55f0cd712d2d34684037c26bbd77a64d720733151a347ac671c0999883e6892766a4cc6c9f9974b85c7672e4f637ec7034cd66eaabd6a7ff467b63345839022ebeeeee3e931ef5b7cac4b70cb313413f03c49a92bbb244ec853ebe50b8504a6f183ff2a5bb179acb4e862b5f561ab67424c58879707366a5b986698c5ed8ca31a2632aae363eeab760c88939dc4acb9c51c658a3333d3e415a565f935a7117d77023fdce04cb12c71a355cf832be47ccc3579908ef80af72844f7a42a9542a954aa552a9542a954aa552a9542a954a25abc7eab17aac1eabc7eab17aac9e92d563f5583d568fd563f5583d25abc7eab17aac1eabc7ea29593d568fd563f5583d25abc7eab17aac9e92d563f5583d25abc7eab17a3498076f5034887182124a1155cb664d83dbdf436d54a7542b27790d4ecdb93aa19d3ff1a02ae9d6846cbec4996e5a545cea51219e130c4c88f3929bfcc6713cc775a6bcb9b9b9b9b9b98181818181818179542b3909a152aa154946873030303030315254264ca9567dd3389dd33abdd3a7582a954aa552e9e6e6e6e6e66689a77aaaa77aaaa74ad98107793aad6ee839140a055137373736a52e79e9e6e6e606dec01b78d3a7ad542a954aa512acf78642ff1cd70273de7ba552a9542a95200aa2502888822888da30d6a75aef0d85fe39aea505a6926e4dc8e64b9ce9e6743a9d4ea72f752d95642996bc44835b5f77dfe7f74fd5277ff19a0c77f5c25d28f4cf7111b7549b1b7aaec56b1e8b1b2e7ceb43b5a8fc0e66d00828d45aab94554aa913a92ca8440d3676490bd5cc0000008000d314002028140e89c422915830cd9449cf1d14800c8e984a7a521b876116e428859431c6000011000100008019081b00e87e6767af125cc900cc4f4ccf68da018e7003d36cef99b8d40e2c2ecccebf0f95a3c709ac34dc264045b157270cb84c327733a6594622864043c7a0c4e6ad4b80a9106326a5be177fbb902919bf4ec168d2e92e40c54209cb3c31124ab7cd57412114b2cb3d0d7e6141e31b056bb9db73aed88494aa4b0ce26c0d077c6d834caa3a6f8c6a0af1d489d3f44f44502be4611650a6d599d0f5a7182ea86874ba56ea810a5ce8e66c02279dcd03a2eadeb05aad03faf62224b9424a0f748ca0a23b352f2bc5b09c823a1a6df9063e1e8ce822856e4fc2cef0329d1ff1a87d11e04b5e9c6f84d75fcc8f8cc691bf6220f64497ceb86cebb271c5ce833b0755482d087c3b1b369601f92c5f1b7a2eabd1923544478b3e007aea08ee34ea0ee3f758c891b8319a62ad841fd65efbf8bd12f6e695f19e1bc22aa3a41eae2716d6f0ce9df8969af6a26b0c5d316969759e05b4f8b3deecef3d5e5769a0edf59a7fc926ca031ee24c9c8becd47e5f5d8a31910ed512e8cd8be82f7b6d66312285510eed67d8ffe7402c9e0e8b647724db07028d7fad0ca4de1935a32632f3079b472dd044de3cca21d62e2817147f32321c9365e282492cdf5e9446e00347c99a2cc606d16bd082e60f2cd3d45ffa8f4215a18ab34ebb6b8eb64d35bcc6a0bf53aeca394581ce9b142293c5c3a307f9004974c71bfa5601f7d52cfc95ec947e8cfda8131ce7018ca09131233f82a4f7c788c6c8dd4182706c84e527dc8eb453cc17f2f01d85154704e2464d9c7a1f5803c747032d24f6d15fe7658676edc59c4bbcd663314928e239e076f1c89b6b324a4cff73ffdfec2bea745ccf8188707de189bae453f53f233eb4e745701dbdc8f04fdba0feb9532fdf41ba7ed242e75c3f118d7c6e96e65a4617c87bbbb423277aa3d0091fea406a02b8b85099f0950a42f3ff428b8486a1a0ae21105e40395296ca65bd922b7f5244cc3bf549eab7c30d56c16aa10ad30af5ec4d58d09b60208be87a0529941dadf4869b46c3cf9346e0b26257f25459085d5fac9542750545ffe232b6151a480afab279515e00b8c7144072acdd10d69419165f4f6ab6f800564eaa942558d0f9729131e6fe79046153230bf7eef8340b66d4dfc90cbd1efa63cbc5ed5cd8788d61efb5e3b3001e22d3016591403a2697650e69be403ea00ab3eab993ebb5d0d6fb197b115f4f04abca804d20a50f5f7f5b6ed1602aa0c491d6c1caa7b23acd9482230eabafe6c04ad5e9e75fb275962cc67a70c6709ecd057d1effe56d6346d05d8d93e4ee4baceb8baea12bba8bc900a6bcc14e4b16edec21153a09a5df34ebe6e0b33bbe6d46af7b0c937d1b8c940451c2e97a0983b668f22695aee10909f022f8fd0428542e5e5706ee1404b8696a85d87c68f3f14b0ae41b04f7b0ecb21024ef04239d390d83dfa0e240e7f254b4e4f48db9ee265309ae2d71098c8172183d110110c153d4a187555305dfa84792eb733a475969bb6aa7e051195cd37d288fb904c93c38d2e6e32bdd2526ef93da5d9f3a52f44d7fce1376fb92a071ab92cdb16d1ed32853d1774fb1e1a1b96f58ed1de7dce967b31402adb8bfcb99b5d4194092a1462db5848625fde31def48a3b9a9d2a1289694465ea81db82aa7187278a98125acd7457a1079382e6abc9fe2ac43ad4f90bbc7c4ebb5c22349d1e6227c1670ef602ac6d41a7766957113ce093bde1d3e9c9096d8b14bcd0a829d9d59de8aeca3ae199733087f801390f5c784bb27033b7a4e9ddd6944d100f89b301da56feb19a96ba5c42623239f88f8f7240e435a81c5c6c0d2d7a250e506a7e02459e164e4718822e5952a116014bef10ab8e9ac6bbf1ffeb4167819d6755028e949a494b2ded3b7f4afacaf2c4c01d1e9c48d622c591460e8bbe20e3f849ce12dcb8a03f9100d54841d958eae4f957c89429caa1e11034b9347d0112d9a13d7e91764ad48081595eba255ecbb395e62960c8f63867f211914cdaca046d702f7c3c1d767fc0cbceb3fb94dae3e07d710afbddc667c7b97e4166591b1384d085e70fb19826417f1cfc402230496b75d26da07e001954751235884409ebf7df9cfc77aaa7ae63f71d9fe66268882c0a766dffa064ef01676c94b9d8b0620df5857112962ee2e205c1281afbcc2557c3ffc22cd0e21d17cd8af25cc7a70c046eaab0642a2a070068d058145b6a4932e9a5b3131854d9509d976ad46f9d3447369e214509cfe92b30fb95f08f988871c2fff04efea6c1bb06943466d7c9a8783b90e2a90438381f4eeb3cf6e5e930d778200ef4fde2a7b646d60973c4b29090209105c25fdb5d2075ce9d02b99102ce6659e4bfb16b97021cb67ee653ea5a780c4724deb95eec6a67e3e3d87f36914f82ad2e321f3f3103aa120204b977c1e2a42a682da89fdb075725f4679ad9dff0ab6a5ef726d9bbe6573f9b3ddba0b5c00dbb3ca1c532b37598bd302e3f2f28412f63d810db384b5a4e99203918b10c13831dfd34db5036a66497d62f71bf51f22b118e623e99002f99c705fb8501e8c7e10adcdba816e3df712ff3f4f01665dc7e69e4cf068de2fd806e8a1709b357475a44f151c8966ac9143d7a91d92aaa2a895eb26d083fdd392c95a85bd6fcc64cce75cc0490e0b0c17c4aec05729586bd846fbf54c92628aea5cfa77ee2d6028daed0f2ab0698990f498dcd4bac5dc45d6401cb472ba07f141491e2a81c25931bb2033d9ee41d4b0cf21e34519d9db62932c8bb5fff2099410d459daee91dcf401294889f9248b7594a307c26d1b82429621da3738aaead19026c3f179ea2dba8801081ccb52e3b0f09ca798791bebd7be600d509d442a2075c128a23e28b00b95c605d9abd75eaca09db028df1e9634f957771c3196ca07eb3e75bde12763227d00553acccaebeea768b8ee8bba828935960f61ca233b1c984dcf18326841b88e9aff333c5285ad82e80cc5c737060cefb9cf2b7425c197d40060ef5661e900378f51e855bde552bb33b05cd000eabb0e3d250d0440d968e94b03bb3b989244f0847891697a3c92ac9cbe5e1b2b83e8d00fa05ffb007bae62e29d34f6ab7e8a8b6d4c897f020cf805601e9171709832263703ab4513388e8121f190507ac71448b1e11addcf713f26509890fe19c9ee8b1b25297e1a96e91e99a00cafec3272c8a12eaeef28c2c5735a98592a010d36cb642a7ab2284415c60e6eb0307a3cc4ab23ea4c4821265b41a132092583d7cbe417f6a16754bc828317bbe7de106c451ab87488dbdb0d6a1c469ffd8a12b0a2e4baa171eb6ac79b055d644371d3fc59d0c322eb59d85ef87a223ff23271c74bf31e37cd9ee70307899b2773f284c5975b3b996951536b9171f3ad86541a6f521c6e282335ec1a6e92624eb5a93ab9ddab82ca635392d078ec3f2b99fd9037907376b61f19c2244680532725ab2f41f25cd77cfae3212444a571dacf9febff531cad705baeddda0cb9b8c9c1520d7d7bf85ad989d49467deb461e132e0c5624b46cee78c48455a280e9fa18e8a1d2cd87f36bbcbca6109ebe3664ddf753a340a7a02d2dc80b3831587cfa13703202cc7abe51ed6364508dac2574d86bac269e4a871aeac83f003609d9dd9cf69c45984b77a6c8a47a31fa656485e89f890e2bfe27f28b1dc4e4a8b12a6d4cc25001e7b1cd6b9ef3358e9d5ecda2b3e4cd448ac1eeef245780821441bbad140068af9f71bee0c6e82ccc4f97aa9cbb22d756ff9f7e20423a549f2b47f4e447b23745200a24223f4191a12362bd1499efd145e555ae82a4c748e8e8c0df40857267f9025107f1852cca324945eb6f9daee3a13294a7ccaa7f9412d6d462fca62775cfeb88302463673083ad9f881a7f1133e0bf937c3f57be68b47204fbfe08019c89ce0cfefa5f2172afab17ddb4f7c21d2cb56f651a0502d8da4fbb923c4d27d856fdd715f626d3d491e47f2e193e1d0f3321987bffec341c71bfa653f1052bb79574bc1cbd167507cf20f7ff377fe98bf068ecf5889f16eeff5a9f66e4b6a9252976ab74949d526fe6aa0351e1122a00f60e76a40c8032db252ed8150d70ab553b1d9b70dc8020818554bd46daad935e00307f9c470a0e6d63102b3be12a307b003cbbac7b858573a0f643f8e9a024c112b985abdd2e69960dd23c6858d8ef6809a473788ff1d02c4e5fb0d405df484b020a54785deed3d0fbff3244d283c49598095799a79f4466113c0e766a72cb6cf6d5973312c0fe85ff0e46c9117a0064c736947fdfc87f99941a21481594b1f1c49d33ca23e57beaa64dc03323aedaaa434511bacc10adce54a226f93e7c29363f6fd8ce7d4f96fdce507717a997ecb4a3451eef47bcaf34a577be708a42b7f9f7876fc682ac4df6a4d84a9380fad6550b896a38ab6cd98797022832d10195292d0f4a3a9224e29fa0aab6bb65227df3511c33864a1094d7619b665c4d9559e6035502271f1f0471c979d2775d06598d1437a7fa4c1cc82bce3f184cc89fb11808c12c97d23c10d3b4ea44943cec718a92c47af19f1c60f4c1a1e1e0592fd34e289101df3d303c8c22031951be1a4d824fe7344a6730487d254b345b07558c5dc375068c0a5d7c82c4648314c05895f9c39df82130469aa3919b0ba0724e777814208c9ec6308e740e2aec4cd750122c755e39b04785815ec15b0d425239411b0a4aa00c2548ea02dc33aa00bc375a0de97b5d45caafdaa7312e47374f067d2e42c0ff95d8948ae56e51f4a7af42a4b714b4885af8891128d3a795bb543e153908612340978dbc4a96768edd44d5ca43bc9f03d4eac76fa12748a1398eed1d0773a8f0a0890a3f829e654a1ade9bb21318e1f189303b708eabae0f94d712929f0301525da5357aba711627dfdb87b2792e7012f71af22b6d77f1b551dff6220aa886e112322fb8b2cbf76ce7cefe407579a9325893bd825f361f66fd322446a6c35d25f90736f4b8e6d9a8cf1e78aa7db9a4d0675c6953244e04e871332d046c755f88b7cfa1a33ee92f93209938b082190712e4cf371b554efc5c3b23dc76f1515cde918bb72ef8b48f5dd32c23e607fb6f6f7619c74875468f496f911c8d95e8a8a39cf67c7c38e65d1b37a0315eab52120c9694d282c30482a8db3033557d73ad19f00d5ddfcb01b1f573d43fb9ba403606b62350b5e227e7f5a65cdc10d806d2ec859e33f6b45b0ec28f51b72dca3108e3e42cbde1e5255003e72337fd6eaddea19d22c6fe80ded446809a8aabaa5a954f988d87d9513b5eeaa4b63a641f7b3d55bed4bf8a25c819c6035ceed8f0995e4767abb290bb734df61a5f12c21a03610d54dd81fc33721423cf573278eaf51402d140a49656a63efd739db41ef8d13d21248c49263e9480fa64d49b629c8eb5c474e7b49cc99994fcbc15148d70a88fd5f33ce4d78ffc01c08f8a602d1946dbbc96b50a01f7f7303bbdb0f1e7c0e3bc8d731645475701850b29c6bf38611d420b9e595f6b0c186924b826d4f536df576866205b8ca61614d3dd8b1c867ee1cc730020d36fe92bd15fd6b5aee013fec98bbec4d0627ffebfb65ce32b4e5ed60ee5000f6c9f9ad96a98091be186a742397f3c90cfb567987c25605f38665a6db4e01327ee330c2cbd93b8d395fb52355adc07d66f804b08e0710545ad3952977fd341d9756f6c5244282cec6a3b161b6d5f4653b38f4e7eab8390ba8b92be5c62d8bd869832d361bc23e75f380f84504f00163434f2d63a390c83eacee749b0bf567adca28c6ad62c919406024746d12600c8c259fcbeb81ccc581952207bf6b12b63e83cb824a6c7c0b785708cc548c3bba4eb711f79e500ef19c928f6caa3327b72ef1ac76927ac369d8b569b0f80167cae69e66521aed6554bada06084303bbc73288a9b18bf3fba3fa43ef7b2b5b36761b1300d6922393516a7c94b754ea816803883b0b666d25f70c5290941aa4a43dd7577e1e4e7331b8362075f3502b2a8551b4d933f8117aadb1fa4920fa0135a70c12fddd32a974ec5ba250a6dd94388a44e24d319cf96644df070f5350101db68353ed06aca87f9ba7de327725fb354ea91cdf8b2dd75469bd97881586e1aabed0c66288d13bb6cb67e770edea27c28956834002c5e67c2f6994c56bf4972642a107d9f2ca88c324b5c4784cc9aeeb20388f41a1a4e1563a83ef7bd012d394321bd89db7e41eb0172b77447c70fe1715ca93f192a18ea1ba06dbdad7ca59c3dc7d191ce60f861f9ef8e4feaa5093e6957b1faaecd3abac176384b433a0c5d2a369dd498588b6ef0d41b7de479bb2d088ab236e545b43511e6952be21dc766c4d63a477bb8dbfbcfabb960fe16a06f1fa0b627a640330e623c1833b331a84c38cef4827ba9911934aafe021297026803086d9a0d30037c0160c030294524a59a5b0f3f4b63d8708b121fee152c42d9123bdf6a98d7ebd85753bc5930f6090ec82e7ce702436d0928da5a164548b530e551797747e3fd8318f02fb1ea15b48d3384b0fb0d9af72d64bb65e7a454f8bf856b394b2d2d6591cd328578fc696ce4fde19b8f30ab88c126ec763249b1d93589ead1c3ac6c211fb9922cc92688db110f12c2c9d34bf4302e64097f2cff06c3370e0e175883679695cb327e0271ab2f86862e43588bf52283d46ae3ea6c57afc7775f34f450b1c4fbd3b4adf2c449d9bcdc0e421540448f5b7cec90826cceba838d899157c5b5fe3b2b12142ef161348e7d0d14bd27b0f728a05667f54c02416d59fb6305bc857898262ebcba4b04eec9fd75d741d127bc283378e70285dc38466470d1e67334a193184946d51335f7793b0624f8586fc301a3edd840c801cde464c20685b53a0aa3901bc6ad69f6b127a570b254eb617ba5f2ebdb52b7b8effdf7d34a3b7d24382d6be06e4ed1310b2c7683c90e1b3bf265f082abebcdb98815061e9c329771ca73a99e0a8b793c1d39a03a499aa2caf8e6002724a4fe1ec3ef6075a497fc62b5bc82cbd5d18f12f4e419aaa8511b16c211c8a1ec8daff4694176e8d50e0ffbd908fa8eaa70ae34ce3447e05917b806c52b4f88caed4acbb8b2ce704d38d395fab0dc3db1802e786c59e40fc0456b476ff59615b032495fa590504e9ed64967c32f00c6e6c2036a936a72d185674984ddb722c2742fd4b4ea4156b4a350493269cb398806738864db3b055d49b0c2a1cf6efbf1ca4299aa1e4596e4b7385ba461ce3814879c5bd317822227023e2ddd4a521ff35bc07fafc9ddb07c6f978f6c92d3b129b60fe3fb5a43c472b3ab807c0777bac22eb3590f8a7645d394d30066ce2c0b32b623074e50de0ba01dd9ed5a68f56d4ac5ec5ccef8bdfb82ab16979aec86ee8b151e6a9bb7d4c1c13c4d23ae230bf0f06e303ed12e348319a0edf1448ebe436901e73aa90029c03f524b434a15ff342b33c353168d9828392bee1fb9ffc726666dc513140142a37aa4eb06bf8d1a84cd5b5eedcedb924d88db39fb09c6b910ace2b7619251e0dc5405286c8ff428c19a13c4de2bb7f4abf4ad02d6a08afd1a51cd7a198bc8ea6e0478646a289d8b1c16ad8a529771c6e9cc5e0d0251980779f2a8cf53c77659094bc83eeaf6af89be2979a5019a4f0fd0f05af3d55297555192afa779cf64a171345ae0ea41cc90ded3ea09deaaa6b56d6fa583a9e6b1e6653867e652c8139ed428970b1fb950ea26b2730c7cb600a0b690cb78b18b1199a0fea71263fd0cb99f4039d395351b506366ad09590079a9717d48f7f91108ae0adab16a9b2341931c32391e215c98282c83a15e1ff8b4325572809062cd5a1076fe18cb4b3380c13c1eaa3ddece987a52ab26560a9adba5fd5b9817ce0394e71f1316c77ae54999a55121520d394233c77a10fd9029e83674bee6ab19ac1747f7953aa40e0196e2737135ddf6e70043e7dae26eddb0036b3d56fec33a1770b19c756519a8c2d72212c68177725503236f2806aa8b0502eaa663c901e3f7dba81d4875e3f274d864f4db978e708d387865dd2e04226fe0343b38fb0164c3d6df2ec5d576b8233671afb85fb00243bacafe6d6195ecccf102a9b8e407fca1484cedd9f6d84d06a8334b593498f7f3e53ecc3c5fc7f24330c9cf764326663f0af5542467f6288b21710604fd6edfee5a9c1109ec4703e1d0b9cdee168fccac5a44da373acba4b1bf67078c688c6560d2bd2a84296356d14884f175c136dce7fa3d321c304bedd21a4f34eb95f3e8982ab0a17c222b89068bf69781212f0098fce9818e2089636205d79e6248882f8cdfadcc25652286fc3b6d0bbf15454838240e48e1060b768b808d8be486c70cb34fac429171a154c90187c4dcbaaff4a4eb0eb7018064cdbf2bc7cbeb7aaed42aa048efef8e27a334b4278d3afcc4718f3c445b9c5e4ea1382c5a57329037e2c39a0dea8fd011f9a37b7a59f163315c266fb9c93898de56f71871591e654f9920ba331f5f5ccd2e3aac9e19bbab058298f28e4f72a4f3a581f9a7c9602e9db9ec0ee60fe9dab0a3376edfae58e99e8d71c8f54cf9e0bb338a342bd02114b8e9053de8c01f75e423c95b0a23b25226e154f6fa87a6eb62af9eb512ce152030fe5f888f4632f33fca8db4644a598f2ae3e8f9ac3355afc24d5744e6dcd7c2d107cb7218b78cf958bcede0444a88fc07b2be1b1e8d3215a4976f1cc531efa3435a10589436527e175184f4f737bdf865590ec7080b298e87dd24e8745ad94bf5bff5c197fd37796d388ab43d44deadeaae378bda310a410232bdfacdd65e27e12ad58cfd23a1f38f37a94d3844773d5641f68ee2ed117590c7697308394e6b28c086c62b249a51e771ffa76e181570d5ff2e98bbd7e76464b050069994d901246a46d7d00c577919834f6cc0557ea677f904a7365a1831c3868886c2dfd062f19518a0bdc83210b5126759390d639d0bc76164346ae010398ef392f83339ff5fb927287299012e8b697476527b79204a94203020564ef777c168c348210ef3d44645607659ec9db951b3a5b30f6c75b837b46d7c55abc3f5ef29cfe110c38ea3750b0ee6ee07a006bd315e75b7707976f88bdbf001df768e4ec3faf6216f2f6bf973025b9949b3482d127df4426f0b3687f7b15d392bb39bc8ce9c9d1ddd6a74a993c8d5e0276d4a32177bbbd8cd592b3ddde24ec822c8dda01e868fbbd8c5592bbdd5f2676479606028074d45393b7bb7d3446465dd75f811d6f6e8e88d1d1d245b5e3b4b71c5587d64a3c21a309bfe36fba5b2062d0748375576ff1ddd8c6f9b6abeec2747fd1d53d41ff51c91577bb2541c4c4076ee400dbc3858fd4bfc051e29d98190ef425d02080af6c7d0be868462f318591ba8c507e0a71d513aecf3f39db0359cb9f8d0aba9ee80d7f98e543135104468bac89d4c247737a4a768e2a4b909cfbb7dab58d987d6d3d73d58624cd3a2f4d2f771015c3438814a26ba123f5899c057b366dde3e4fcfe1034ae4036633a039da0598387f61afd1bf727e80c7f3640c3b0f3402d4086ec0c143f05af129eac005419ac4e8e21acac75562aa2547ee04ddd15e41da0edc1c6eeb58afbb0caed88d43402814287f24b8a9d18c0c7002e5594585b07318f50ad499e41bf9d17bfe85ba70418e2e19b2fe5f1acbfdf5f2fedf5f28f817bffb172dff05dfff626e57a1168031fa17856ccb0895eb3f666e68d4b9b21104686380a98dc312e9305376ad0827d54f00531c589f4c42a440fdd725f0741c4e5ce8329e61a79ba9981170a746a663d2f63103c2ef031dc1030932896b613b9b905eddd73ba0587562d344b2ac97884c7a796de92d2de7dfba12da18fcd244af502d26be6b0ed966fb088c3aac177104a9e252774714e2d83b556e4e68cc07444c5672ceda7055011a502005e78d1057ac943c12bb2e4a49b923eaa82537afec6dde95469a341c01f587ce14d8a9efa4559cae3eb57b51b54ad0570438bc5aa6b90dc9bc7f363ebc73a9b7312eb891cbaa133ab308a28205954c2b64f5b2ffa1584880718076a9b92b6aefb5a09f157035100275af5d9e53d4e09956e6c8b4995b3f7bda93dd501c025d2b2bcecc8de9e23f765f7ae6601b2e5fb44d14539681f30dc0786d7296ebe13c3ce5e9a56086e270e4bf0f7dd2e7e111c63cd2b0d58e7b26d6291c95c5c80a978062c9166f924331eab8126f0845a3979e82608d63582340f1e4bc0814277a3292b26b4a3c4b211a2a2739b73173ab154360c7ad97123224c5a527551732e083d4a9062a70708036dc0e963506a0a73d23248f0d9154e118025787fbad793c13fcd8f538ec88098a7dfe6383ff2af367d266d6ba74b39a06a38ade13752558408d78d0b9a14ec01bf30b1d9fea788d576bd94eb29b2c68855a62b865492dba6ec80360f7f5a8ae22129a7df2d5173e780d9dbc8771c70f1722601c6a5e24ab3b68b110e81393372cb30a64f16bf31b7442480270c570676df42c445c5095f379748eb256b1f3672eba8a0df9563181130b082fae02293b878fb787d7f7ebe36952b9275c56caea58a1fd93c4b912df311e61858eeb85be69608d2991d32e5e0d97cd4d804a75c2a941cdb95c576864626b63dd7f04b6dbea8d5ce807fbf0a09c17f2b1a05da987c970878a9835ac21826595d9f48ca8049e4140a155c959b2fb1537ba4dcd22aa1faea971cba3f1c6c5da5dc639526f186ee2d94b577386cbfb3c115f6e5627fd442a027f2459ad299f81a272eb65d50d14b9ecc7da4331af12284a603da7b6010e87c2098f32551103d70fb05eaeed496a5cb795d265822334a242834c67448d1044a21115a38ba7024b1bedd0bed2765efae1fef5aaa6f56d22785ad8c3917327ea6eda3ab6b4165a2a990808feae741876ffa17454bd51ba851c11bfaafaa715c72b64455632c5de72e61a6596cb8501002c96791d6689aeacf12f2928bb2649c8acb92f24c0d1623deb57a67ea425ba8c7dfa56e62cdf4f4aa2ca9715e04af2f04064c6781fedb4adf96a50cc2bddbe123231a662c1b859c7bd7080ee7c3a25689baef8d4ed883f9da90ca80389fb74baa53330df65c39b2a97d86f652a349e07dce593f079c6916bffb70c21dcb633b79a5ae776f49cdba3aabeeffa3aca8612f76cd125bac1fe77f3e2af28d4ab7e68bde4172f579875e4c65bca640b181782633e1c423876200fc1cbc52e0b014333e8137774391855c8e9f7338cae84818ecd051825bd94f8fdfb8781a076cfeb7a18b5b354ae846171cf192078f1c6da2cdfee8632130e3fe9d342615a2fe302e1949d78d16e8a05a8d3e4a56afd7da5e5441217ef579d05fbaa589e752ba9ab236ecb35893b8fa1e6d8a001793cc33cbdf6e2f8229b78986933b8612c15a6c85494791d881a5ecd30d17eb7e4b18a2079a806196adedc9bd1e6d8e4506701f5d5fe3c77b52328c8a8950a9f31cc2b7277c0adafb6b402f4d8026c6e6d8ae6e2f819693b4cc89144b75fb04dae8a7a4f5b0e1882a5507b4d0ad744218dddd0297c88c83c02f203447a3f333dd788bd3528b7b21285e8ca1e0b0d932baa6fea9d5925731899206f5191b02a97c35bfda9429ebbea34c5370f04951a0de3d8afb63b45d76085095624cacae3a3d5a61372ffb5b9e1883d66197b5e2f13205ef3b6def5b232aa5445b421ba7f9ead5d102000b9d0e7ca45b6902c70850148afd3f625055984b329807c74320bb6f22279610027b149869370a580116eaa13615dadfeb08d548939105f2994c8d33c169108116483d0b57c8a7caed0d95480942a13ab5f3c05fa2105c1c3d746a70226449ef1fa3c949b32e635e1d378f3cf891761f4b8fd9b8eb8a20dff5436e66255ddf0210a6122e855130e82d9d14f395ca05390e251f8f76a52e46f55734a6f78501feef3905a63453530228420c44615d5689f0edb48ca92850ebe6ae0ec718c99d712dc29c637a180ddc6d59e6da7fbcbefa44a21ad204ec3a09e859e5925bc40eae204bddfcaa338b09a65c21ff9ee936a9e8675957904ae9599c27a1568626d07631cc4a9312b3cd7300883b4205eafca85a0a01958e411adcab92637e71c012132ce960818897707f82272065e60086cf7dd6e61b26e00868e35a50208997c70545beb5aa412d353c5a410e17dc5ba69d7023aaa5877800944916e20b2395eebd01361e8df033674dc810a47c268286ab08690170895918d67d58a7647cd97c6266ca1ee47f48fa6ae1d3b49619fbf68910de946b79b54a82239c030af4444026a715519461352df89a4d17c7999ee0576a5c949604246387935ba36e20d459bef9b81b2ce7ff90080f25fd0d6b4ebe508b7a99f553dfcb57883fbdf4751afcb03d0e2ebb0ad6c05db3c28d0fb0c28885f7746c9269b93240e1aefd667dd51d1b1e123c901d3ae02112fd95cf5f4ab5e2ed1ec962addfea57e3bf121513f81bc040812ef0a2d412d2925c89a88c71bfe0aefb7e4a98647f6dabb2ce2a1493aaa05df5cd4045ad893dcf807b3e8bfb7bc1580ff083ddb6b80030fdb42af85bb44abd1e48abc0056731964fe2d2f8d55a232745f4d53f8d824ac605eb1b6e42029a7919e60c6dd730ab39926bcf1f14668941e871c375c0b1edb83cade75b7f534909e4844c4c233c71437af5a0bc097f283aaf44ac180e85720eed2ce735a027d0c1577a171cad10754141c2c921affa99545e9758aa677e357794e973dffe4dc1c8e87d49719acf220e27a52ff56c1bf7a6ee96c023d677eabc88757d321d68c7d05d66ee1badf81700a720dd80320b68689d7c618464c7d544079a675cacaf1104e7a9ab03e0a1ce7b2eda8c83474ba488ee155bd72962741d32ff8e215e6b1021d911c43e34545fec87cfde9b1275d8d64d18f58a3a6101eabe30dc828a96c447139a08060ef552fbaa8fa5026d3ba41d01b7ab36a865799eea45a6ec67f32b5c63df156070efbfef927bfd03d09ffeab6efc358a87626a0c2366b65dfc707fbda3146a406d4fbf85000160904410baa7cd650d48c97ed5413a78d413eba43c254434d00a72467558803c9165d2a3aceaaccd5745e3f003e566451a8d8951b633f91d9ac60fb4e8da6568be111edd5bb52e09484d0c9fcd19864215f555684a320bff32edcfb09f93f26371eb2fdbc87a6f4d75abf3f308ef5021ae9382ef17644dadf97e08e910c3a968ddfa735cebfbb7b432e176532abd5750615a177a956833594b215b2456dc524d842e9d54672d679eaef12f9c7c6ac08e367c4ba3ae34f18c3758cacb1190f846b031a2920b542d24d3d4193b2d4da5884673c4f8710a8843e8ad5c2f2b62f3252b0261680afc30b2190ee83894b7159215d959a60b05031a9b3c332c8847a926dd5d3273167564eb501c3f3e881cc6756b1d69789292463e394d67d8f30a6e66bcaf857b03e12919e5ff4f2265e54c9662fb5ac4f9a5e0654aa87375518b33bea20f16534d106321dc019977079f9a2a6972953ab1d5c74d39b06a2d73d3d585afa7207474aefe3cbe93ee1f028f794c0b48c2436a474b7fdfcb880e3fb54a8dce45180a4fd37193570a89fb1c33fa54786799ce0264ea2f6db8e5321f65e02cbec6da28cf60881cb5420767b749b78112df72825c24775a7f08017268008f6dceb65d9cf63f4cdd06f997628a86bb2d60e415f04adf6b25762b41e05c43ad244c0e1f625760cbd17ba874153b246020f845304353b62337a180c8079f8d51443e4c17916784c76e77634288866884a935a75d44e611bf5711f88dc2ed9ff1fd39d13deb60c41709f9fa332dabc4545e94f82a8810c71a061d0036e1a90cf09b3d24180226817a1204c94d9022dd8668b66979743e4970790aad13a7a73779d3afcb9e3ec5642247c75e4add0e8a56aabcd396b5886dd64c80b690bba4058394ac9048174edacc19ae481f3549927aaca62bad7752a9ba7e39c06683811bdb3f108c8c5a7c27bb1246123034df3273513f94651d027f1e5990ae4e0930f2983991cff0433caf7424ad335b658f7336b6f2de599f7fc1da0261ec8d9170130b9c109d744934aacb4f5a65fa51dfe0bf77b6649b7f13a07486c1e72067b29aed6df9e1b6a9413336d001cf2ba0a4c66f50880d08ce46bac5ee4a6bf18b0353fdc89e898f458e3b03e23ea0bbf143a805ad731322d58062fd6e755c70dd260d8a4b0dba7c68638c3b1e2ab6a204a7016f8eb861a10ce8001fd4cd6d11fa60670696b400c07d0a059ac640e34ee6ff1e88555e789d1c99d977d0d66e610599817005ffcde99b91334218d48839c340939c315d6c795a271eb18309c36d21cb5971b8704b9db2946b6563e6538fcac54ebc18531adf8b68e67ac4d3fb373538494471c848c3ab394e2e562dd027f812c1b9796281d415082d0c198620feaa7cfa3e5ce5be7d1af024af97b0551b28f0ca80c219ed72934c1cbd570776c7b7e48ae262529d663ea58c992399e115115892124a35cbde71111ac1e9139fae8e2f640122351a3911f49925d9e3ca479507cfe63b4d855d30a1b511a305b97eb5ebb033dcf2253efb4ed63f9e0dfe5245baa1a2ced8fd1e119a582aeca22e7dd4faac49f8648c141efbdbaf505b8642b5875b259a976df20747d8a6bb7f0b01b9714c0f045262bd9f0501a6e92ac616ab16d3e151da072e3b79ed7f0465d0e4c03a19ca0faa701728bd929989e0ea6a1c02457d5652f70be95384e0bc9423ce40fec7c84830e5b3c5e7e48e86eca4df0cc9acfb5d95d647449ca2992e2419446f65799100ba042457f3ea4a2800aff70186ee8b0d41e71a29a033bfcbf6b3220018643f3dc5ec6484b7d42d590e1086d0fd08a5dfd40a8bc27bad4f0c58d71f1f09002e79eb542a8a07078e97838a01c5e09e266a89a32e5c3c74a51ef68b395acc6ab949706a403347cc05032aa47a2706bf5efe3d6ccc61f00b7acda6f8be1c9681edcf61a9622cf46bbe634f033f1e9aae39cfc8c96e8b2e246d8f2e4e59788c0f4f96a0eae262428dbe8a10bae7724401a43c3a230210950aab05e60594b3b5cfa4bf0bfa9f8b82c7e845cf7e5b018cf0b69f714154b8db997338048033ae6e1ae8596cf577f7f8ac1f9e9a055edc9e8083429ebe7915a5f818809dd32b25023128fb3929d081ceabdba58ac07b54975d4510ea2d5a5db2a60fc4ca5537c51607605e569e48c4f1d6a17107671ada8c20c81135effa6bd2e1069be9bddc61b7180298000fb2047eb6399be18fdeee8cfb710827326ea9c632d46a2816d409f8ff94ec401563247ec3bf90f8b161c180729faf33331f136f05110d190227f3a50c44fe60c8543297bab9f26236f6d385fdcff9cef1372147f40a3a916fcef83a039d1d1d0d0c73ed6a15176b182374ff98377f5acef44794050b8c39320ac474f1e8bf2a62cbac9ff6384435ee214e36eb194906ad12ba14696800fbb0467018f0fc06ad7ecaaa798b07106c69fce23dede42e971fc5e98108ea306a103294c5007a2f89c40d53ba1e01add321d3c257e422da7160bcc681e3806fc14c892dd777c545065716c0b6c063d3c168b7a5375c83015ded114cfd4e3034ebebefb9ae33147b2a91032d7a272728bf6140ea85be8cf3bed91628251d06c2fb51f9ebc8218682c454db99f50f1be0d2e4f7b08222ce4f56fa17e1f3e3ef85bf09a9625ece31724c8d56b4742867fd53fd9c1a040bcd06f7c6937f7e1ac5e0ef10bd20c5d92a3c4fbb5da1855246310057c25560cf2bd91e1092916a7b4297f2a6a402f24b3ea4c82dc9e2a9f902617f5d549b9b27b6a0a284b228aaeb28b8c829800ff1f6b10ee8654695c41a26a26c85a474b7dd3dae87601a73498b2e7df0ff3b7b5d51bbe25aa459fb56bf0ddc537c2a461d11fc6fc16eec46b7f01ac9f039c38da3d07324f92c92b6c98624671727135928fdc0d865d1169e8e026dc1ba34796f6125d8b326d6361ba6e89a7685c9df46019b5fc2f98d2156ede5a9cd6537c47097b0844b038eeae72c1df0ad4144c7588e148828f50104c46b0846251bd268dab5cfdffe1ea6366fe11ed0bcd853848249ccbe9fad340e260424ecda026cc874ca8181f18571761c70b8130a5d3dd809390b6149dd24d58f89f8352c01104c68e7a2555a89c62c8b117e3e7c31402db6ae61f4c78166e707316fcfca8b55f78c98b4f2b769882125482b91346619a26ad64504b774c595d1733ab2eb4b29eb305c3d2c7e4b6038b2e4ba11b295eca1e31b587202ef67cc0cddcf576aff9dfbbde5ff0baa1d707a43549e0141b197550d6f885a34e905db5fe05cdc1268114e9650217ec041b34d43b72eb08ca5479dc2d158cf1c8a8b1b44e7f8eccbcb0846a07c2fcd3515b3bd3cb79d587fc05a5e21951f844121161b010a2e4a3049cc346b4c9c76c5b5481ae475f124ddc1de56c58c33f3e3ed0e34542be99fb1aefe8c249ed5fe7a0be2ab6db19ffd7ef93ee0d02807b926fc24c5d3de8b98bf80c1fd812ef9c5f74647c9648b928750ff29a06cf310806ca44ffff655a2971c59d47f5dd950a67002066bec21e1cc5c12b3fcae0a5ea2352eb5c0f8cf961d76ddc8118e1a70af11b965f814819737a16509d1efa46a96e1ff938ab56e0c88908223a65d08014642782db18dfecec524eac0ca7755f04aba34b0614074ce934b1ac4476010aca897c41d417426904919f6ca9219c505b61a4c1dc4953c11f765ce14f93cd1eebe536989b42bb8e382568c2aac15c9346ec9b882aad75d075e5a07ca8c1a99b27277e31a1664b2651c11f681b17c45295f3ea61590e696484045db9fd2b240de67226a0c9161b1e54ff63de6e1ae386a9fc11d3af6b6c53164d5701c932838963ca8084c934abc671da723abe8ede029ded51bf3bad067f66948680daf9ed4aaa4b8ef47a83ec0a40eb1d75d7daa4362327bbf1e6c37b344953b79f938cdc8fc250281cfe03b93592b1592e36d1b63857023ace2d62e5a4f9c3e2b563d9665a7ec3b1bcbc405f660a5be4fc72b028c002bd9eac2672f2614e3c0f2f48db3117266487ecba8e83f1756beefabdcb29942874447b5d4155e4288f33a256e68ba5ee129348c790db52e01817bd8a3cb5e1cef9e577e9c63325de99e67d3d6e9e5c209786a0580af2941f8f09f66f91191a9b47455df37b4c27a4b2f8536146903d561694cb3a75929c4df7f4f9e5e1ae9aa945251418e3f48e4df3df49d371b23f05697285493fc1f711ec68e4ed5bf0811fa4e42a800e93c65e2ae9419ec6465d1f098ddbc44a0257e240f3ec099c5fbef6bc8bfc70fd2f65b45739bf1c256612ab1e86c07d4ed0af401e920e333376a99b958c79f4bf9df39fb4b6b6ddc9661fc0523b99485745e817cef39450517b538facf0ec8d8da9e8384be36b22be5ce76341ecd2295207ea717d1934813582b3b9cbbccd2c7e25ddcf9746ca44ae4816f527fe9cefa34caef771c5a2212285cbd98922d40f99b24efc655ee680efa19c0d09d255f837b6c091a23b9c14a1d6165c7148d5697020a6702a924bd05473381c4543df889b285013e1f6ddf031bd35c90dab2da580bf8e8aeeca25ef172b739ac33825bcfcedddbdebbdb6ea5b67725918d1683a0db4cd88689a0b16c9825ea2c00f4db8ad2ceb9de97d1f029309b3cf473ca7d785b3853e624bef84d868b7fd48bc670a414731a758580e3135e4ada3e81787e504f9a1aaf07190935493aff13d301fbcf347b55dba6630c44d6e70b06a8221aea262c7bb780fd99ef3f099e8b0ea9e68b8d48a52983008bd69dc15f50bc30b1a783bc757a3aa3fc58589788c93ff243e03f9ae724e4c419058b9b3b2412e00bcc98428429ed3b96757e74784149b61b326eeaa5035d29def36251de2b25d7bbaf7786dfd5f2bf55e8005bb97509de149014ce70cb5516e1604ded741d0ae389b523f54bbe3fae1b050fa9e84fbbcbc2715d5ea9d0cecc32233abfb6f1400552ca6a3b4562919251764fc0954382927e23fdf99574b3e260e6e2e94a39f02b8ccb29927373e3413de50f19d1b8b0fa335c936b50d613261ff5b7ef36c9410705386adc4f5c42732836d9b5baeb9bd642af740df730936937651ff374b9342addff50dfa083147fdb6876924a7c020a590302d967095fbb5f6488a0769a1c0d5daa6dfc54904f8efe63413e6771abb250d5af091ff8456ef091edd5cac81b0fe5e9743580306d230364645bb7020d846ca07f178ff6fa7918cfae5537d8aceaa4cb5e8a07fdad4ffadf73b77d4dcbe8c85b4cc478217cd0b4e8d81d7f782116eedf7cf1e31348d17aa2dc90b64d0bf36809b311b14037832a872bc08c8bd67c4f725e749f55f897f682d01a4f8233b0c352c42da99dc5141ec11ca6b78685723c9438b411855df2054bdb1f37cc57d4ce472995bd0e7f94554369acb4af868c66324e883ea8268c788f2144f2c98fd09831d0e29be5f7638ce5a029ce781662a4f825226511ccabf8688590cf4d2197b70b48116d76d88c5d2b8c6fa469cafb6f154ce905c595a6eeb2d2cdcd879bdadef36339dc77667fcf83052a21d5d677cf060b9f85cb9f6293c0b234f8960baea1db06d4899d1bad2382d2dbdc248ca5cb6c67da7dc88efde767bf7de159e93588cb104d94e46449fe2a4e88ffc96b119c497c9a209839027419b79f21ccd94801193b60c01a9b19110bc954a83a92cb764c20a5910ac1d68deb3012059e4bcd523e2b780151108f5f674aad1340efd2dab8d9cc0073aff0c334a563b3ad86e8fda4a59e4f9ce66ae808c8f62cdb568ab240d6a57dae264df727be3ce0769de991b04fda0c5ee490e482078cc29c2a8ee3b77e50360b2887590eece1b3a93a94a812b37770573e72ef17f259c08ce921b15883209f6ea39b557acb7c1f1333246195fd364ddbfa552695f3bef2c59424eb0152a0940dd1fc1159b7914cd5b9e4dc09c1f3963e7c56fed71bf010ba9deea3c9022ba50434bddf970a867f94cad8eee27ab9ee572551ab0823199eff1a752c44d94297dec734101ce01080917734ea49e057417c0c49fd356a6635e8919aa4037c0a160d1d385853d250b6bf2ba3f2120898cad1169512dc00ee9f7c37de9a531404833d2fbb6683ba04fad4fcf05df8de6bdf803a10124aabed43761a949bc6b496194db37e0ca93c4045025c0718b35845ad1abb8742de60d22af1e534225755822e4dd61200b7cc529804f5ead2f4601c02b26f28333c2db7cd614e4962a5d72989a4d09fbebe5948b609269e0d6be8088ca1ae8a0be97ddaadc86b83a6caa90ff6175232a826c1bceb1771d5fdfcf0d1c3c823e9f3a151223bb2276558a7569ab2f7e47a5db2425dcc4a3dab18fceab6a8b7c98575d405e684816d4a81707c86992e926e22dd51f55891fb52dbbdc4b7fa407dd425161e2c6293f142e9aeed0c4ad589cd88bbbf49b8b9ab46ad7c95a2dc179b2d9f8be1ccbe268006d65ba9d3c10cdf48e6519f5415e39401d6eaabd80f58625dfdfbb7c6d4e55674640da822ad4e344d8a326d22851f3fa2016bc0f0b6a59e3abef675d466c0853923cffe98d59da97f5b76648c032dc2e62c278522080542b64c6cf592c4c259d9a1478d414806313ebbf27bcd1bf8722b8e8e1b5d4cb76ac0b1422e1471ead8be060cd79f2e4f2aa2a1bffa8612be5d647719ac060d4f9e7aa6ef8f0b9ec8d514ef611949319c0cbc08ce2cf9a01228b17b9eece02681ed2046ccc2ef6af832a74ece546d2d087de576cf9dff384ddd61e6298285d20101812e7f135c9c6c8a5bdcbeebda81234409d7b93daa04f823f82497ed600b59b93043cc1cbb87543dc89829ff5abe8b308d59cfb6c3c5e5a450f5656dc8c822375edb329c059128a3051962b5fd0ecb3eab1a8d39c6a1a357050c179ef1541854abf6120784473f28131268b6398afbd886b28f09cf9ced4677dccfd68773bae6f8f99377df62961495494fe014e88fb3efb4ee5679475d7f5f938cbadb8dc159c522186b5f782fd6949777eea99262e4d4e31fbc959586d5e7f9c992b9c2a615ed7a763e6c94f2f2a67cb115450c8ba599649dd9a8615596bfbca479f7cf6b9efa1b8a60ebe7cee33df8770c63d0edce28217baf6bcdf1ef7ed7bff7df6bacf7ef62c77271579ba421ae6ea52e6b8d2e5a4cf9eb5785435007ce6fb23ba0c7d3cd73ed6d633d81df1cb3d5ae12377ed255e346dff01e94e986bc8cc39a3a2c856d7e5e69c86241881268f7ecff148b743c230863e4bc314941a5b6f358ccf05e154e3e26d4ac31cb71e3033a33fd26fa0e2a26662907e6e376a402b360b090a41049f717952d0d2324035b5f000699d0921eb54a9d0d286105fb75a855de8f18a31c152c5bf8f30537e85eb6782d737dfccb8809d61af2857490c17497354fa0a90b9d8bdc4be6f883b431984f2651817c3b07f5a1e2311f02e2672f40c845046d4d75f74cb361ec762e15cce01d1bbbc117e8afae4ee0a668d38291cbcd168f89f0eb2e4a5b011e0eeac2bc113b51f85c776c901577dc3fd2bd991db49522f84b048ebc4a7390eee8e1bbc2b49610729274468f92b95e7d53fa993b4446ca084f73422661a0c249f0641c6551d51c20bf602ee6cbe82320793df421256ece70d09d96b9af7e3238aa29e6e6e9b0d095baf52b9bba02e90deb17615c86c349066e0ee342e0adc156d81e5b5c989f77c208ac5e70755a980a024e53bc6b6a8c80e0f5feec245f90ad7059541a6243ad1be05935c6cb784aeea952cc470524246ac3938ecf983a515ca27dbe2c6bf034531d624257d68e149e4b92eac13c0216f22c1d48d49c6696724c65879b4963941ae8432d79cfa9ac07700292e860481e819863183a696af949cc647b9930c36ae9f6d7d9014f2223b3be12f01d6f55b9d2845807128b285a59a0497457d4f97db9116a9ae9e444830e427933846f482227605c98c3d62411c747bcd4d82c476cb865c7c206ab16dfe217055706a340482ca1a6a0b325e8397084caa2ec7ec0ba1304495ff0e298f3f1972d47189c88845442327e86b42963a11073a8061008e64282e2ce9055a0eccb8cc5100d8c99a9201f5b47e6b7d648101bedde8a8aa9bcfa951024c4276c3016a6e6593f1e7b8c5c8cf53de13f555f4d851ee446b50c71a3491770464de9d210c336e8b4183e0bc7f15eb2959c77aa7222a9045ac48516b8774f15728251307869dad41291c6fb835d33d9e9ad3be70dad599a9e1cc2f5597a65f3de666671138d9cd736a7e372914a784f27419f376761fe50298234bd1acd8dbce34d161e522d8d8174318d672e9f3d30d26db6b0001d0bb729a743832653720b6c8ae0846d687ad29a4009a6c6d88ab4e78d2ae3ae627f24a7337cc216b00749e8f80f19aa38f643e79f56299f53455e26cfdddec620b5790881dc5db47375c64b3c23d2daa7dcc1bb5b3f0a43bb6ce09a4dba6599eda6a95321decea1d2f9f404758012aa4f53b551b0a2f8d94d665efdc6ab28c073fdda6356bbbd1471d1a9b424e621e54900248ae3e34c77b30cd4f17ac99742d08f2a1f184a2305eae04cabc49e8a693174bcbabac0b17256b75f33048f7dd5968fdc887ae63274a67bd6e06850eaf2f1f59d3c10a4ad4dfedb15927851e3fdc2a843f322a8c796a2a105c211996eac240ab1912bae1d083bde044f3b83d2d4fd1a14d7a0166519320850c51ae9356381c5c599c26c134004d03a56b5580e954bb186f7d873cf47f8f9dc8378437f4441c49a7c4da994f01b48a5ae0f68e32025dc058acadec89aace992b835e389aebc4484edb8d25b7d9f7479f26d101d4abe516c674bf8528d4fe7c0b01c42dd7ff3446266c086394417e4ba10d6f683e9531cf169d89efc19488a17c4fd25da408289404eb40fff726892af6a25c67b0db410c7c313fae5d6c3761a93a722286283fdf5411b2e23dd3b267b28594e44f39fe9a899a9cd4c7f6b9fa1994e679138a8b6f184ec2c01aec183a183fe5d45b01674bd5f307c64339075aa2f0316684900b8f1ffa4c85416093a1de242b90605d007d8baacf429a538fd629e7da15754f04dcbe4bf64057c9fdffc585ddf841e3377587dac87f4a3bddb4f30879dc39b530d64648fa885618f3845e09bffd64e7fc4ad917db4562352ecc9b6c5f0902e54e26d8f35ccd98c25dfd01f41017500551b6a13ee9481dbaeec0ecaa0bc38d709e84b8c93671fb85e778fab0fcf5dc64278c747e02537ae2e2e712c3793fcd90b49fcefb606ef32a03ebd7578f51d6fc0400a5ea6db211c7f9a773a8e15100053ddde4b3cf5d1aff77b2dda49893bd4440fbcf572ac018fe64a52cb642908ee3810d483d2d9652fe38898a2a199a77812ae9559622c97658cb09948011ec4105ca4cea9dccb1489059e1d4595b5f03d8dee3588f121ae29e473a1dd2e05d0dc40bbea8e09df0c19a966c10a4e421f18ae79bc6343020f384d6841cc26c238dde7e3e7cb3d1cc58fe2f2aa5d44a57ca86da658d2856bd466f5ca3b251dded47b9dfd83ecd2161be54a9224c130176bca35643d4b93f9e3637e9673154bfe2915f13d817c58f2b442f1da58ef576802ecc0c4d57825fed2dcf75b53e69e343ab69028fea6026909f38b19a63efbe3104ea416925a203a765c9e6c782b6636f515a206c1b1445985155dc112f0a6dd7cb03bb9a110540d64557733c41402f4584537e88a4cfdfd1eb89d04110cdde0979efc0ac44ffbf6fff295ceac184c9e350b83d030aad04c564bb0f8b29f16cb2a9105e768e18fc0146406deb5cc7368664829d08e69e88c1ac7260b5354ba8151e6172500ee8948e853ba4341841bc3718fb3e487ca25e1b12585897bbdc59651d277d42364ce3bc2e2a8a0996a44e633cc9ed2b8465fdc8bc8546333a741ec177da016df89ade5570366be2090f9ba1f847b263a26c32ca992c2f3bcbfc317a9fa7be6f65572d0848e053b6b8dd34a51c5fdd35c742759dda45e4dbc8948f005f8dce02235186f66311aa796d8013a38a2b6287cf7fae16b0a9a04782711108fd03b55602135e12ed25ea01bcd698c5e7af20c05ffa327bc4df59e919eaa990474c5c189f3399d320a5be508ccd4ad8b40cce19bc6e7778365e9dd53ad3e4a388e01017de0dd72ac103489da360c570952288be7155cfd94efdf862c7e4f41907c8c2a4328dc0dd1dfe9586feff15addb0a110a3f30daf5c2d57f4c83163425f3ec314356eb171f4f7691d340bff47e59e13b32a728dfbaa6d5fc0cb3e6246f4f891e992dc9b742a2419ec58ec34615948c20d45038873fe16e16efc2177a238d8a1be79e6b9cdb83dfd64c50deda905dbb8b4a7e2a39c9964c5be1947d87d2ef86bd24e2cd35cdd7d44aa6589c4c170027dee157a6589873b2e530af6a7d1a474f3daa91fb48bfd2ab5c4045425b6e2e0d73f589a5598c6fdd1abcf7301a3c17ab676dbb250157e9564400c700e1000944e91082b3e159eb4e7bddd68ad1f8a0daab8d3fd904de40363bb3bd0ef5b4b6d750fdcfed8c6a9960c0c45c25a23aa15a8e5473899f5aa6fb54cd927b753ab6f30ffe67041371cc41e912f3022fc396d3bdfa312dfb897bbf3771b21ce02599e5f3cb835139a741cdb27140ad31790555797dffd3fa299aee3694f26748f2171ec078c85414af64884161e2ea3f1cecdce449fb4823f02af8d642d55cccf68cf651e308564523b30c093303ba41359440d0681f3541db1b3c2cec84f0dc024dfba823e6591f7826ab705f567da79d85a50ce2a82645348e9aa53abacfbb91959a188f3a0524ae7c05dd3c762a8acb3a3999325863e93479c0c6183086a1a45f5ef4f1edc6643db99be5f3ac39a24bdbdcbdfef8c98368ed9f0166ff04b820bf2b3bf5703c6f3aa25cd9ec9744037526588870e1f20f4775eb8c3bd781ac4de50cbb29f01f6410440fc8d869b78fe3ec6e9bdad9c696936cf327b64967f2adb38bc4c86165d80c4fcb3c8905393f3d4b5c9bfa0750fd2b3f7bf58905e686d91525ae0913974d852207097bedbcf034dfcd8714e4be946cc2962c9a108b3ccbb15b54c32b15e4044136b5ff7d11a80fff4863d216718f1a094d9f58f58fcd8bb0b2b71de49087d5b18ab9bf1416b21050d9d4f676b52098a22c7038e5225fe1de9f4ef6167ce82f2dfa28333368f4f8c1a6f93149798baf3a41662d96317e53b2c57f2a1b2c61024dd681672015ba7d6ec162fa7d4b9e0a7d2c0485ac705699211cafaf6b1c8172e38a06c285c5dd7a7823c7c8f1086bae070a424f60cee7a17021e65b2700c888d8a0f0602cb82615accbfe04cbe0e475b46a6371308198a55c9d5a88dbfc4604f90931d28a89c48ac16fa374c6d4b049aed45e443fb1f788e85c99217f6c9894393972c868d24d3d8fb521ed27b0c81405199328db6da7c30e210bbaf06bbff1d36dfa23fe76296743f2a28f897cda7e63e434dc98e83539b122d3c6c8f3b8f88f93888903332fb7b13dbf7fde3b12a65c29c138d39bb212f3b806439fdd0c67aa07c80527dadeb8cf59aedcfc6942b932ddba9e482f8f0f8db1f60206d18803ac34faaa690d6d9899b276e35a01df64b3caa8f2695e3df89cc8302430adfa7ab60ff017aad543be4a017d6cc0ee3ddc083c384e22edd3d6f36ef13d423d594c3a194322b959cbf52d23a32f9ed7eeac94ddff32880441c12322c8e86ef5a1d51d8df9cca656c2035a61de213e711283c06db1776d43a8964bc86a66bd39f4e633fd3217ff48f6e36a062cf5f0ec9b268ebaaf277aa679e83e99f8a2e04f17cdd73384c101cec6a8938098207cde31686f7b8a4d2c426d9499296ca002846981991e1797e2d7632d6c49b65bb8b848d53cd2fddbd6d5f9ee03a90521f761271f1a040859e4012da3eed32f787808d250228d3757eafa9fd8b55886e0ca570b168208c20524b802c84ea7cf8833dcf1e4482b24982f9575b1c131e0fcfde48655fe7d830522a9b49645c0c4bdbbe3a3558e6eaf5820f1b884830c72800eb667286ebd8331e15263dacc7adc8f2aafc6c9b269dc857e9701f13211b8ec63c8de1a9054e60865cf400edc83d9b15d84951809811c8bf3db7e61c068ab5c17a4148cee0ee4aa2d9c7b4f82c8b11865063e871cd439c28ca5ff56aa0a326c4ea5cebaa7084051a20e5c69f70b1be5ad36af58d52d60b36278a3ce2b38600d886d0b3e82462cac877d17ecfc49cc47b7144e125288d60fbf0ddd11ae5a88320695f131043f0b648bb109bebf2f683b1d8e606f7854ed426713ea28565dd3a915409338061bb24f74612264f12766c19cb0b15a7f1b61564ed79d5bff3cf2d06f6bb1075023084cc41166973e5c66bdf6589054c8174892520639513dd8297403b2afd001ee8dfa74f4cb43869421d7e1502ee1b3247e39442a9535b388bce93a86482e996d04edb144b75e248aebe480fd933fb0167e2edfb37551ad07852a3e3a13324cc20ce49f6f4fc990eba02c53b69ae705083426ec4513569aabfbbe92ee7e1c130aed79f385a65830a45ce72e3e37ebf0020bcf85de4f80075af0080de917f6e908efa883f9261adc3c13644b0983c3815196ff477738e4a8f87ab2291fcd9ef3d61c7243685863722ee2192663f54e2003b2d01f6fab6b90fc5c4c59db3a3f4c11b0c40011d8dd9bf7c9f0aaa56d558d61e2116b2fb0825b673bb1e144299aa783ca7766cc0579561e1cdf5925724637d94cc304467e8ea682068a1036ad27159d577623176ef739a823b051885d2c47c3c36969bda5763d07048157cd4745adf98439b2f4487dd4d33d1c485d68ce70607e4c69502dff845d86932ab501b156eb7f162caa89b17f1b050268bc39774111dc261c51de90176c521fd09c965131563b322dc9bd85ede3416d82abb742652f69502c4de2dfc6d1e785085d580a443488c0e6da0d73f284547c10fa46f290d52ca6113b322a05c30031c854856656d745db89607baf5791bcb5cabbd8d573cf3c6e11390b4199f76b45b36d66ae8908a92a555ec236ca2df20b00528a2abb2e955b23e6dbaa96fa4076184dfd8fc67133d3e3b0ad755b0d6845faa7354cfb3b21874250d0e94dceaafdbf81854cb58d9b849541761ca57503b6779d511e616416d5021313fee3f7be84640e5e0294b6f730cfdc9ab7e915351a6a561dbafda0e6059ae04facc8ac4b0a5f6a02e53711f6e6968a55ac367c6558cbc9aa4688ec8d7dd29aa9e3e14e42986e712dadfb9d0a47f4823341449a0285fccc004fa4372a42c9477a2f2121517f03ddbd50b6b29e111bdfa810c42e51834e2fb262b86b59aa325275fa8252dd41eac0c52bc87d7d169b5145712b648a08a0ffd92b9ceb9c650c8a64c0d28829bc5f6c9073dcd7f40cd021704c774ac0ca0eb27a6fc15eb8887d0ca487644ecb18d62b772aa03b548fada889c0cbdc0c47745d7a915c7b64719140d1d0ddf8a6caa81d37dc56c657c653ebfb8651047698654c58de87f9a451789676301916cc8ad268d57e932371801420615990a987edc4f80adf5ea86a83024e8ae3f2900b2a21b48abc0867133c88267cc4177871cea5c4f6ea5a092b6a6dbf03130c635f04f8327151a4e1e0361cdee26db2d5ca3d54e6619e01787a4ee099b9c10285b324107be8b108def4150f41c51346aea7d8bd9380b76514e326e819dce1aebccce8adda1a86084b3c45e9dd2aed26307ce0c53a39cc0736b904779cc70fe4cd1e0241a126ed58fc97a1471920f88145e759491372b9f02270370965914fa377e0ec067f244edf2e991a0297a3b6c9f0cf62054d6757cc17373510086e76549d2d2c44fe019e2ae01699761540fec74ea371b2c820ac08eaa3a078c4343441369307709831ca386a6e320a0a96139f207e204da248b9a2269fd6ef04dc00b35d116c085bd5e319c96f02943ed961b3d0c8a013673f1b0551d880020d14853441a7e7d95587accaa55b7493c1dafb6fa56075898b5c6fb034da386d226f1d04a95210ec593a3a340160be7dda9d9e2a78517830fd6800f93ab65367bbd023cef6971fc77f92fc3c9300306bfe5dfa5ed437fa4358904946b171c956071946394885e24e9913203eff9131c1651fff14a0533a444f41adefc8f479294eac897a23c8b47890c2d8376a3a1652686ff65db79714bf7f3d037da52ad3ede92d911ccc3df29a05e9205696cdac870438adec524e6b87d199197e037ac8739807f822d611a4b70924bbef076291c86b8db717306c5d04243aa54038fab45e5533916808de72023dc391c5c556969fac510e86164904b1e20ce70a4ee85da5bdc96ef0f817a77a6fd7cde5e6a49a785278492d468a9012c68c0451f26e72df65637a2859c54151965118a1b69cb274e762aadf887823daf1968e12d6acae57b5a1aa232699d07165f7008582685727b4cd2babce2276ab4682e3f4357ea31be07029bef81036451cdbc773c995c80d21b7e4983e6a5a69aa62b41e1a83ef355b3f8632403a186e048d346956e78eb4f61a857f811a252089afca4f522dfb05f68178fd39b175272d0d90d3c3a77c1bfec9970b8f034926084e688b551b87d99b1ffb2618e319ffd26da37af665a8769cf1cd3b5a06bcd64a97f6737cbd9cb7ddf445fd22c7ca5e27a6f9adad51f1eedd27f484e66b007aa0817ee81512f55ee0f496e9c793b3ce83b4e090db86df54157a2672c8e9c950b9499fcf57ce971fd6fb92cfc78eec5fce2a31e38dc242d27f45e620e861f668f73399fb0085cd8a4f456f039c717cbe6d5701a4a5cabb48ab467dd4a4b693a077fb6c03735c9fe76660fb51323ebfa9a8a18c009d581e8d4b238b920c6f692c6e8f32d8387353169b7cb3e68d56aec33f36aff3824068c510558b1db86f78ef00b1bc2c042d312c0aa1e60aa56ffbd5f831ad878aa543ef2cfe591dcbb51528aec904caad01345a5e24e5cb3f730ed2eb64218e99a4b7066deecea26f57e0b12c673f00b2beee4e6bbc5886d9873c9de2063468aac1103719a2bf0641fab285d4f3653de4b93405dfe0bb0d2ed418d1e96fa9ee1896799d57634e1aec496a6b48a49ec3f5efd0f278cf0574dd72ed0ea08b232020fa1bbdb2abbfbbbffa7a9d6a18ead2010eaf2438b82a294d79d9cddf90a61748dad1eda29051e5d10e1acdb96b63702065ceec1370957e408d03961d3b31648563afb65936d53472fc6d3efe032a7b6e3865a2019b2c0d359b69075a7b6a167470783852220648222e2dbebc37f13fe7fb49898e4d3c62062ebdcdc4f62779372900a36c0249fcda6c154840e7f1df5c5446fcb42773df0bea8e103783de4681dd2246ef8978caf3774b6b7fb7d4b46cbc09d90dd171226e08739f2d643c114bfdf68ed4dec63ff33b15c470537ba90a7dd9fdc79d964ea2c0ab440ef7a2f41b191427a18ebdf6bd043e984aff99fd6d86dc509ae80ef941311fa6c1bd8800c0d25c17e3d7090ec075fd00de9b44f4235e68e086a7f605f53b4dc263c8b786515e925bde97aab86d303546e1d2e796979d71bf011cd7b9e5c3745a2837545b46cd841a63968d90a0894e5934030098cbd2e2814aeb8fc67663a34784208463049857ded91cc3c2099c5c66f8ced093b38bcdf74e854f866efbc72c1768d973539043ec7491d477d0ea711d4233fe753d15b22655e305c0dd98d6d351649875579c9da9f6c9295b86af6879ac4ed75ab72e5ad01805ad968e4222b5f738d70afcc3c6495a1105259a1d33dcdad28314869365b4b9d1737667e92f87ddb8cfaf8c34ef6913824e1fa14630d029222d2b573a0d1414dba2b22796bd0184a5d591d0088c70f37ae74e5b08e9e57fa342194e11f191f158807f8dc4282162f00f1d03bf64e1e748f14c3932c06c4e51d628323b7ad83ec3059f63a2c052e299c55e03e91f1f1057b56a84202a4120e730df20d2a192fed0ad027eaffad0f293536dc831a23c4c91df631fe4635bc467e6ff130988968ed080d0d9e53c209c1bba8001d54b668bb6d9775f2f76703e7a9e4cfeb07158d900b986659dc22bdd74c1422149bf9b279eb5d3a77616cd6259ec2c4a7608e908884eb183478b23333b6136a5acf52a8561e84ef90b128fdd342e910de64867f6c2a8e0181f82410f05889fb6e2670cdb7f3f932e8ff9b5c2e2f134aa7c44e1048adb3617e5ff577a8ffcab79e3f0ca80a594f2fbc88955092f5536a721e04cf8f118d17ed80a9fb6d9acbbd5982b5f83d79d840e2bee7899b56db5cc1b4a5c4eabf3342e02f8919a22e06eb3357930b18f5147ce25134b39b26117d252a4d2ca0cbc75f9675a12fb4d8d78597b0d5770235b456e31777f0beb0ac5466717ab981e269bd01fa5485eba4b3d61b4551d5ed9d8ce9a5cdf31bc01d90fac598e02a226081ebb1c13101dd37a0521a13558b958f4a61b3bef9abfb6b81cdcef6c0326efaee9761c96e767b81a9cf98f0c3c1cd1161de2e3f98bbb3e81d7beb2a6c5de31623b3bfa84d556a1c32f5f4c79d2d11238d3054542b65d68c7e815ceddd7c5d2bd5dd9b17afe016b88c3baa88bf98b3abda2aa1de8d4257dd8b597c7709454afc9cdf102db98fd1821b92c1ce26c22f4415a5972883028acbf1ff0048f1a4108b9e46b9996f553083a2de05d0103fa497d4741728a99faa6d8c2ac9d3daa386f08000b335be05aaf89860bb31a292c642e678977193e2ee170292009d5034d1ccb7dc9be58514cdb6f965d011fc95b2d875eee7982f86499e897fdfb4a6359292b41235565964a207391e5d0fcdbe0be86ac73ae052a7d5f5067e7b410009b3b51cb097d1fb98eaeca39572f57186f315b9da28269539ec57d4c9d5eae560859e3a689a8e63fea430e9ddc894ecb3999cf913eae8c7d02191a7fbd9b499c3cda2d8f45c0d2a59c43e6fc4345ae72f024ba04e07c068f76993138f0e13b68844ecd779e55a97a4248161d7a1218c40da20f620b301bc210ddf76cbcca299d7291e7bac4f71143af35c014613be89288f3e5eed64d25de36f63118cf09f9709a8ec6066b58e297cae112c0babdf0cb73472aad5e9a3af7087f3d0ff2bd106baf895ea594f30a39a781eef442f043f8ee371ad2a4ea46e274e776bb03f258e55e1e044048f4141b29e1a21f89626f13f419df6ea3ef16059442a50f3b07784801a89cea7b7382a11e03b5280757a0179f2d5be6dde8324b2d5bf8571f5ed4b45aa62d9648483831cf53b3403fe34c4c5bf1cdb61d0826ec8b8793f1f76cfff0301814ede52a95268313e0f5ae4faa5089a29dff8e350c7cbe10101986e4f069426098152d9d7facec775cbd8abf997e008eb69744b23d504043740a8d4a29d1811c4883fe8138e90bfdf3ab7c0232d50b0264c4ed5cd52f776086e8c84267f5a0b0e2fe3c453b24b9b983c082126136e5d151a11740257dd29517a24631b2d719f07c76cee68a31e19bdc743e1530804c5820531a1214f269e41280eecec7363c052ef374360151f5a49a459b8922243aeae36001090b0e2ccc972787e37e7d2eb1f4217f530b6ec0752ee6ee33f6c32f412a44000e3eb447de3ba74502150abe5d01d199f67c883e2dacd1d1dc19066ed68f61bdb03e1c338bfcff36a00389ed8bb4ab1268c1617d7afc216fd53dd0d6484c68462b3c5ec2bb0f1242fe6940d617402de98d73705268a3f4e99e225c4fd08ceefbd2727d3032cb6b2e3f4ad1482568e6d9df8f8778fa7c437443da4a22cd6b58c078d1216a0125b1e5ccfb31cfdc84a51d19bf1f7863671f537e24e88464b06d39840f09bad5f3318266e7640ab3ecde7111b1a3af393cc318154e1c6ee982841d18503d044171186bd49ec4ad85b899cc6e251cc7cd9bb138ccc936d7586e58afbfa6dd0168e38c2c1a051b7ab7524b43d8c9f604e411ec5d2378306b3c788c86ff874d838eaaa71ba0c8a4ad6f8ddf769669e6c27e3f83f2101ed983420d6fc4573f4d357c60bbaba7e90f21a0c4d2d81b9841454deb5ddccec25569d9961433cb39594a335a4d8ee6eb6b4895e469a65c209c772fbae18891fa847de2867297b4d530984a1f958496f2237e6819313bbc4bf5c5281776480b3626aed318be1f8b1a133ec02aff08e73ba3f28b7339bc558b31999cd08aa0657270795aa98e9bade5660b18166dd6272066ce6062d536d8fea69351f52825ab5fba7a223bf759d7f787f150ae78962d90e2570632e7445a68bf4358f18532b74638aa37373fa1a7c8689efe168ddc144985ab1d9d9b32f591bb6fc4d4be7d07a6be78e585c7e8c1a863e7b4051c141b53e65654682626e6173c4810b39968f27a1b76e27fa79cfbf55a58391d151f8a5491ef34842a9f771a90c6adbe56625c7c05c516f72b51dc9d4af30309b5bab3ac4131c568ceee4705ace9ee8f4ca57a95e788d7d8e9cd7543e3a76002da7b981f362536e6fe26fecbd95e6cf5b5cfff3e951c1c9d6b29496b38f19a2629c54801b41049a9543f6709185902647d6d82b7170d6e78762db0f31eb7f5fc4a90cca737b953b88423a93ea1bab17e931ab041a0497536676c04b7210eee5f57ee960dc4eca1b2eeb64421941912df9d74671e523afe61f907dba457dd48df86066c09284d3bcb1bfb616c2407f2dfa5ba65472c0f7a09e8ffcf8de60f85b42890e0d0bf6e23535ff2e19f2b648e01be5e0972fa874e7dcd660e803c7b8a83f9ae697d57f02d2d02faab7e8882beb9002bebc49aeb5a3c033dfce44aca47ee07fd0b93a60752fe2c4380ce62e43211a870fede4191a069cfc51ce786ce0a8dfe6ebf594557550c88da60ca4e1d41b73f31c34dbe5889a4bd5c3e1ece5428809dd264355a53bbb1a9169613c46f8a5657d3c28339ab76018ee67b1fa25c3658942ea045d78f398b05e6988dbdc0a1e2a180187663ac8585d1ca95d7a5814623dbc64f4e215894c278c532c524081edac03644cc6754a4573c7e9463989a9d41fecb4a1c94b0b18fbd168c551bec1a7ed0f4d77339e87fd460949734cc2c4ff47b4c7dfb01858304081a8bfacbd32448f267a6e446b014227b5851383c50066e726aaf91879cd4224f2c20a1c07a5d2bf75d85375aef2501fe10d32c9a60a61d918deee87e1c1f1c6b1fba841267968299d36013260bd6dec9a136b66265a77bc2407b472f8fd8f4b9a2443cb451a391336181078509fcbe1599860806189bef0fc59377b4a56582995f7d54ce2f00f105b81c145b388fc11fb27cb42b3ff272f22fc9c606d30713f9597533794b483693e6c54a66a7cd4f117e985002d0ac791ed7d08aaab626748884646ca9c1909662b4948103b7e7292294707d119fd1c91ab6fa80c7030b1c125dada20c67699370d27beabc331d6df6e0bbfce68d20af17d817bf8112aee8e6f2b69044500b514b70d4151bb2aca953ff06deb92adf9520f7d716f9a4c1ca8b38191affd3d8300e5e7564444989d6b34849237a829ddfceef907476c9cda612d81326d5a5b6bf90bbe5889a5341e71039da5bde2919f5cc9d33e6213f4c9d17652d81ab42e34e946622e411063db30550468a435de8761aff3b0619452517a94a57d52768388fd646ff3a41938017659fd2b7ee6f483f896bd50e563724e36c7cc97111524a4bac902f5d1ccee25516c3ebca2867efb5a200cd4ea9a01bb5cade289df311d470a2153047c5a2a31e6a27077c54ecf451bfbbc81e1176aabbcd1b2095b83f14bbcbc38f22c559a4800e16d06ce885dab37bd2163782f1be4688ea9614f58f5904ae4975954d4a5f3d85413a3ba99c43d89322490824f3d1db2db18ea0677e186afeb5540e2d7d180fcd4ea0b1022a956d593059e18b10fd4a9cde95ba66f67438e2cfd6cb240c56facb4a3596f5c2b2146a5b63e31e8cc266a82bdfc8d448be1171ffb1801fb360432329d3ac2b5f3ac0604f18737eaa85c39da5c17767a27be14eee55ae5d5bd04470c57b24a0013b0d56387dba42beb3b8dc172a067becbc3a80cf98f5e4b7e8a631a8c80ab468366d449d9b8652eb25cd403a95d76d2e1de5fa5438d4e7e5d828590f65f0cd7016a269077b753660f45fa22ac8749ee9c855de153c33096ddc341b79a31a6990b4ba07d5018b47407ffba958b557a4746fc8d6275a4b05e6b2a3e062b4c4a0d3cd8a02d96f2eb594267725cf7655f3e1c2bf47d345b97a9f131e684b51597b7955c3205347b85c7d5c8b3c9788a022d1e5415a119d6f6d26438b73d904e81f892837afb820627f5733732247038fb64674759ebcdae6eea1be7b501ad8dc0f11bd9c0f4ad490723d039ec39c47ff3f4bcb29e982c1c8c5d64db5371e9edc44647d23a72554984c2cad427e09a29a290213de4fad63d3b078ea2193d7b01c40e0f2d3187ad58b5f937d04ab39b65716e03b8baa9fd3d13fb7d3760535d1a0d99c0914428a68306a87faac7d115bddc82b54280a6e1e123a40e57b084c7a5853d8b1afa6c7e222b3b8c3be7c2374c4aaec58d7e9c33eaa0679949635a21fa9809fef0386319248df3bb3506aa9591aa6cdc09da7671f93081526c36ad90ad1a2dd7b5bcbc006a0b5657fba46391a2f2719bdfa8cf109a6396a6b11e6c41bdaa3134c279d2e3be9ac4b870156ec326c3bb54c6551bba10a970732f34011d97772eb56148ec7597406148e8e022ca301a6041edb1820a168b56c8884232ec600ad94ff26e472cb7f24f6318a91bbad93000446bdf70722c3114eecbd859cd65a85809579c102cf63e9bc89edf5f702114303ffd2d575a9a9052c240ec614479a0627a68fa918f89b865632e71552da869a388cac4122338c89b354833d661f203e74580fef7c0c9885b5095c3b8613980a60177c497276ba7129076e4fb58d7b60e3ac40bf462bbde6d886c2bab17f1782be5857a972033a25c0e234de380e1514bf9229d4d149775804493a872e58e9154c2b3d8eea9bdc5cfaa0cb71b4c77fafa870bc4376be0e3e316b47a7fb45840a4360a130404885a864539246cbe2f7f28353bafb71a83de26262e8bf82d9202e563890a1062c905293d4cf35f8e607d841a01bd15071d8ab12d8e4e4596950c598a64162c6cd00b245e304c34437c9fe23b39e59f00a15af722b6b516202474e50a198ff8a87ad84ce89122c5252d50000012f06c91cba7d48368b92a647c3e463feb14495e5fd620a4d754fda0044771108516b3ea56d630a104ca545e2a778a4d284d24f65e995b314d3a3b6da3c429f9e761cc45cce92115b54cd7a97fd3a9ee68608ec11e18de8f9b88b206dd30e6dda74988e0c3006e340795ea4146c93d94b4f92dd8ed45c63cffc197ff432baf7a96dca55c3808917a810efd80b77c6bb3bc375084e114319fd8adf7f3ab8006478fbbf67409cfcafd61fe64f282e817b10187b5c97d12e648c9acc64e1bd62f4ddc0e5333371b151bd7ca60da3ce2a8ee8b7b9f02d69b810944017d12679eb403fbc0343b984ba0b867f3523caa9db5a86d0534ffc83d5e10c10812aaebe251e5eed505161c35746b5929edad8da42ef12961ea164b7f673399b1ded6455b50238b4fb4f509b943a0137a0d27a5f435ebac069d307248152d1c413a48cd402c19de8d33bd9cca679074ccf1620852dd36425d8ca276bb8dc08f24fd3291645f7f018540b62d165ef563570fffe866934de09ce01a09fdb865d517b191e62e1e0c0f684714b3e5756eec514e8b36b6351f253ac8be0ec19d6fd89e31cf8349432a9bdd15841e2ca35f397d3070a6d2ff565b331ac8801f8eed516480c0c57246903f87f46a284864612c30270679dceb71ef93476d4a86b32a6b1136b54db4a0865307cefb54ec324cc7da928d95b2b679dbea1911485fa27679bf5c2465a89049ae5c57ee620bd03076a38601175f2a56f2bae256add374ac8d2e5533df374d45fed1d887451bc5286543e4ae2e423960a67e41dc26ec433f3620a43183de4218f1cdba78b316a75a083639856bbc341731bc585260db01cfb6aa4c1475e5fabcae165506e34aca4ac24eb1998e5d9d0407977151c530983c7c50633be2d6fd41d0a6383ceb683f27755147c8041c3fddb1fa14adcf2c645ea96b3fd3a540634d789cc5764637ad7e603fecc132863562704a30def48975f2cae888deab33405b1b636064e8626eaa1b5896aade528a192689a5055dd48acaa9d32c79a03950dbace9b30393f8b287f416b18b34499cc8ccd0602e41466e33660767a1d7fe76090c06ebdf2249bbc446d5bff90adb07f1faed8e1d3b02dd2b7292d7b81c8927e8755f8f0efcb5835dafd7070fd11203628e0a242cd9c6ea5526fa7fcc4e5f2be325057b0b184fe43fecea33b590724e763238328670f50a348ea88a884173dc8c87fabfc2a9c8b10294395fab2c1b8bcee5b7a7ae81ace9c2759475b7213da03a16485d9ce128925ae81abdb4055c8aab7d6aad7ea18936d001ea42b2b80bc65e5f9b1dc94d68d19d398ce4d2117e28675ae5532bfde28fb990b52ee7a372649932180e848fde61900ed29e307f5b3c5996a13a31ca0ae65db42d308c673b47fe836fe918964d2be3c44cf9f893c7af679982181b42fa92f783413c8bcb79223812d44a7f7d41f880b776890834e85b58615ec4408a19278459a3de5d762486ebc14da80c20212cd680c4801cb11ffb5d64298e0669783237873ce5e099c697a0d44c757a5618c0707193397c18265b444dc530cad50bcc49f176798bc6af4bf2dce83ca4624d00eb9ab1ce8af492f70e358af9fb5aa7e13facadc919176908fb159eb927afa79a20c40f7d7bc227f3b98429ffcdc80eeb5f1f965c2092eae3344d0036d9da65feac97c057a2be45ab9d5f0adfba27c7ed13e032351266e0540cdbbc698385dee58db622556cafff2372f037b8cb740a8cb1e61899bd29271013610fd257889c456677d8346236740f22c5199e49f2022d583b963f86eab029518adb42aa70ac62cfd8be6d643391752adae8f3f65ff270bc2191adf9dbea110af2394288ef9b6dfdaf1d6809f8932b54b89cd91dff258be5c02142b3c194b53d65ec1ff708968583f3203d44534a00340b658108f6e8a7828c1a2e50036b551023e0783126e88a1644143bcdd6901382621770be571e3272ea8da88482bf5688e11132f8d260518e2f5bf10fbaead752fb3d148296f6e805aa0e88dd1830ff8225b1c17bf1655fcbf432924929d42c374f25ac25632b38c2b1955278ce667223164b4c237a0e532f25e4d41072b8cd76c66553d62cfca09e5def134987532a96413e6d2bff55bd388fdebcd490cc3030a92fe8057309c15a7038d44aa23ac7d95c2f0732bd566532b7366b6acf6e35a56efd57bcdbd87dff28989a99e84d4b04100008320af1bdd4c2b02e0815838007d2d84be5451929fed45d4073e61df484848935bee2db79429c92403e8072308a7073fccc3c3c313a4c687578242c9989f28e92893f1479192ba9df4b011ff654a31fdc8f8bcbb53d7c3a0ff080397bff9dda8d838ab126d052b218d6635241f12e922d15ba040dfeb71fd7b3efc5f19bfc8c5cc56c6175f7c21840f9f2ce371edf33644b2f86c912ed7f3f597a7915f3867e9f2343e86a17725f54e9ddecf9b6d426415c746bb05114543409ad1089b219654f675e59beb86c83b7afb750bb20d118413f839d1613f1627813230ab382c949774a3b4ad6ea16d6e346ebc049e7894d808b18c572e5c676ae13a2b39f9be711220ec6d69989777e9160e636913372b0ecb55811082bafdf305c885ba57b6b2fd93715410f6cae71c959c142e92dec58418220e9140d89c9c1c2b7a7fe78e9057c4c1644fa3a9d0c6d51b37020001d749d4858bc0f57f3231bbd156286c87ba3e9958fe8bc85544465210e88b21c0f41c281e243b226da30dc3fa7d26e1cf97a08ebd8c8b39e540f1b0d8a8854a4a29ad382d7995f14aae78e5eed139bbbe83ae853ee624921171b502b92ecda2b0580eec83270d7b0f6d31c3de95a81bbf13463f7b2fc249e7d5d53df0d542fde0775ac589bce218b500bab0364f088a9ac8eb3931e580da6c6b5058140a85fa6badb5dfd89c13c3ae29238a7eb75d991d394c2e48c6491d125e8f5146f7e12f8df23be890880ef7015e963ff4f5ab02915aed2ccbb250fb65ad0271dd18a5a68936ac05d5211b5820ae3b211116d9c7f03e4813aa3828d443852ccd42f22fc85205fa62ba5e5dd8439f58631be66e606be70dce93dda111f8f06f601be881a7033e92234cdc00731aea4015dc813c3007e63c789a828591652247f7de71c19c1d3027e779487e5ccd1ab0b734b548209a46a59742a1206a469f24f4c53c96ee314af7863145f718a54fcf6c5c98fa37e3a57ce0b8b0f47c2cd378a45583f9c698d68deff51ddae2bc94b892dfe9faacfae0377b4a39e3e685551c29639c7bea5a46350d0796b19011da966547d04d625c2739703dbe99a804ad57f4862cdf2a0483882111dfc93f4a9afab0f6505feb3d160c82907540df8175b04dcc4907bea73945733edda06806c9b00d8aa688eb32007d3bc075dae1f49cf47080c9c53c2833e6ba26c767e3fd3bb08d7333f5241153dbec939132c8c5a674e77c3bc0498b0b7d8040660f6f06be4cc104c5f4d003bf566b60e0071b9397bce415e7c4bc6a55cb665fcca73887c4ace2c877d721b917e572af0b78e2161238c25add7665b4ef76e470df57cd8a1b8b709d5bdc9acc49aa995a26b6d1edc27fdc82d8cc30af5bc89e0bb9b03edfaba491ca9b58c0137ce6ef6ede843c27373e1a12697614b235982f188d46a4944a229138a5a4f1b311052d34a92eab8e4491e4c2bf644a8977a052a95434052f2575b807a61c58ae01aba44e64499d52ed416525635be353a9d42945567683711958628f449dc8621b3ec1d3011fc69638a9c329b858aa37a38227b0202b4328115281a0159618ca949999858027c8590d82e5aa4199500780a71e7e4c2db2c5a4c4da1ca793d7fca84e358f329d2cf42da868584f47c422a5e24c95b9c59fb81a7df77c72d8f164aefff6529165a7a8c655fc8958b0a4a87a894be148f2475c27c37252c75d1424c5a3114caa40e68cab28aa3833f49ccceb39b9aea5b0ea0a367c85a7033a14c19bf90e9ee0763fd4793d4c1c861ba3d90b98ef2016300571f093fbf26dc5b38155546184d7a305a6a04fcb40ee611e48c3f25d7a36f009eb782283d723858fdcd3b391f6620db77f03cf067af160aa73968034a44fe2f550f9fe21888034a267c0b36924fd3ac05407e0f6ef78365d8510af47fd3eddfe6ea6dac796eab3e927ac037ebfc66a11e4b9ccea54b766b86e89ae11b671123c1d246802870b4f156c1391b8c0a813796ef8c8f83c619b68c4c89313645d1bd00bb68939d08b9c4e39ab460e0d2e876ddc0bd6e1854fcc0caeab601b7fc23a9e54e13c3e3cf6f613b6f12a58473f79191c25064781c1516038ca8596e55756ea0fbe292fdff22f9b7c627bf0b4f2918584c582ff5aa4cedcf84a9d97777a912a9d05ee4ae9ba3c85a6971617aedfd4b2229fd81e3c459e68846da4089e0ef8497a6e6ce2c25749218de0c79cffa8624525568a1724d688e5c585cf52e513f0247af779e2e303df2475e41395ebe411af826da4086412e791489c478ec0abb8f05b9c933a3505a33917b673253a7fe304fa409aea50a00cfc978a53a907c5401daee7e001534ac59f9681ceb3f25d5f7ffb426a90b38060e377ce8a3f3ca1871f793a2575220b7743bfe2735a9bc243e281517be06b1fc6d3913a114a0caa3cc82be222eb06b6bf8bac6804df2eb2ba18860b5d2a10ffeb9de5503c48b315a78ade4f9def67bebc5420cec188c194c6b0a29efb6614e1887491ab6bd210e258b2dddd8167e3f76936b03cbfdf64e2d7437e3f649b7edba966dd068af0fa95b1b01b8ccb8092f812fd66e2c7b8bdcb5bca2aff6aa04e65191095b2b30d7b32f1b16df464e267409d6a7932b1cb583320507df83b9f66fc60cf6b36840ddfccf5b3fe785cb8f2b9f22033318c3d24ff92527a6bb39b6c036de4bfefbf78758de0eb5c06a493015df8dc1dd011ffb10d6758b89cca805806f27d9f6dc1a96b67670b17eed4c0fab5f35e0cf15cad3141dfebefeebe348734735622da0d93d8d3b179c1dcf731352c14d069e5636b3a149de2f2b736c46ef39de84c42d4f587bea17fbec4e5efaf4ab4f7182843afede9893ee53a211af5edf44dac7ff731da263554910a64c253cc893e14a2dd7845ad24abe56132c90bc62b6639e8d63bc5281d42f8022fbef8e2f64ef059d40dfb9dbcdf9bf1f632c4489358663f02b6bc38d29b899c3d19d2056efb11b7ffcd448f303e916cd26a40696039ba4367e2518728af669ecccd310f50f3a23348ed203b0877d99d196122cb2a0e733bc013ecde3a21a6dbef0e630ac2e2018d74194d17969532aa51ed72a955ff826b28c68f4d8d401760e17d5938a142165cace47d5970f1735f165c34c1eecb828b28eecb820b245ce85cb613d298288f0cdab310030414030b03cb4c91bce0af49855f2561e5026b63b4c0d21dcb9405760596aa4064213d4253405160e909a88a9a8079ced3a904a61611092c337d6204963a41454075680868131404961aa14c7cc036f580a539f68b36c49737bad04a007ffcf009354ddefc883fe40f055c97b5d2fd07bca7d30fd4557ff08f0a9f6217c604fa62bac9b09d0ab6434579d5ec2fcc640a8208eb88bd53c16a0e64ab02e00dc6cd2aa0cca6bca44b3b9a2312fb8090664ac95c8ad325ea86564b305f82756f61bb1c17aa3886710e54738d728df0cbc31221f89211a9646a07823490c6ce2554587e14a4098265d19c0ab6f3253eb04b204d102c3f35690fd2f0e4e11a50971c98e98fd19b231064d81ee535b18c6a5a670427e1c267a8d3a46faddc643447a42b421dee8922528a5ca226c14642957372584767a765b4aa8455acba51f09294d2101354a047b725884ee4a08eceafb0c0e7645e713ba803841e5a0656253e881882c5d4b1c64785edd82c813a3a6fe607b66ea59392c756211af083261e28940e5e6b6a7cf81ca007cb52f027e5a5f10803b56a00c39038c5c8693eb05189934b97575fda841e61eea599061b86b4a7d9f36b5409c6951c9b9ccd22a4917d1121c68e11f295630aa00039bc93e7f003071a4fc67f6e8e03901f4457fe830f7079b503c918a3cbabaf6beac0038331a7161fdb0ef0047d4c61f97100727bc726731d08feffad31eec9a91868f29f1393930bf47297d1a363f2923d3124628c510916c97a5b031762efd4181217c6e74a5c38e3c5047d37768401ecc9388604f30d112ee244b8790614421ac85e247207e88be958e5f3c2e2bd2ebc2b3c29bc268c5a6e48647bb4bd17ea6e1faf5395eb6e34e0768d77f21a0eb8cd5d9f81d86a4580ca0789f8bc36f9fccdd36946cc63fe1ff301e8fccdfcce962eec92be2999dc1028d330970f1985256be3102803358e51c36628aa8840293534f45c489921127882dd15a77677f7fceb0b160c56e5e9b35b734ab2e72fd88e7b8c30c17c049e60855044240d65d2eacf4ef5a030234c6041a05ed0bca8db7d4da124fbbe7ae8bdf12c7918fd8caf3b9006fbf655976c55c153ddf11eeb75c7579daa3d94eba6867133360cd2dc787e8a615c88fe7a84822ef6f629b671103cb1d660b1ef9805059ee0e3c2c5fdebbac313e03bebe33bd3fdee6fbe3b15e03b54575380ed66bb9b8f8d0099c4e81257c3aa0f59257d68f34bca58ab2db8f5a50cabc31d2e02978a42a1f701e5a5acf18321f9d22936590c85e10d2e0659519088d326e725895d3d31b8ce9a2ab7a5049981c98849941c7dfc387bd80994a131fffcc3f9c32098e215040a39fca1eeb0c7b7771ff9c32490c6be73426017373ec6b1cf4f1a6cfc8e9df0aa53eee31cb762b144242eea842a8ee5302d563172f810d7a17abc88eb4e364fb9ee75788deb4c0278cc5703883ace856a0f7c95641fcae4872a8efc576b4b49f69a145b3d0265b6774813f3fcb4eee4b043666bb93dba8ddddeeaceb6555594aaaa476a4fa7701ea63ce9476f3ff4a2a75f5b9dc2e176e0de9341fdeb5401b8f76474fcebd40d77c3bf4e5dee3d99997f9df2c1e5f8d7290270386e60ef216ddbaaaa1e79339edb986b6e0647abaa1ea93b315bd70314b162db58b3e23a07e3dcd50369b61d0f552bd88ab6c263259b96a59ae635d96b325dd35f9309754da69616d36d71a1616bbe335d97d4cb8c17ee452571a0a130ab7f70c2803100ae9b02e03aab03d7996e0c1baefb1e5c77ba31fe411a199f03d7a16e0c191fe343156707575b3db0fc5d550180eb6600b8ced61b9fc27593c47576c47526cb751fe2ba9388eb50b4f6ac3aa5b564b8cec664ab0b3f6b754a5bd1e0ba5983eb6c8daa535a0fc77593fb195c67533d9dd2ecd370ddc481ebacecb9f033155d758af2c8545a666faf923cf941c6d5be06a002a0eea82a68a4035ed4168aeb6ae4ebe03ad40d5c779ae1bacf515b386aeb466d3111245a4b7b19ae339d5a365a9c84c8136d5563456315b362235acf0cad87d37a52b49e070589a6c21e3e495375d672aa0bff3d2745aad09eb642b425e25a946b5df8dd1181fdc3b82df4ae8cdaba7089110eb37531dd73e2b275af65eb98a1dceeea81466e77f5c0241ac388619c10d80556825d94b8985a5f49f673d34c60e1a8e25cce3b12f2bc1f9f114a644a5d981637c8034f3bd40c700722b97a3a5553e323ae3bd91ed3d5f39cdc5ac595df16fb11fd1110025c11d74b54a96d4ab2a75b7c02cac0b71507e3a28e143a53b40391c88b57375ef1ad44f514eae141848b4ccfc1053cd339da7138dfb8afa39499f23a5dd3c6c46a60198d8cc6506d865639afa1cd43a2b7a267af2d0397dfda518c1109869352607c96545c565a56584c2c261653cb4a8b8b8acb4be9052605060609468c510c1956c68b7e0b6973e3aaf3809ba1cd88a13134321a35b01a36a68dd37592913237e20d1c8e2347e798813337f00d3337e4c07143e6f43316861a18b6477955cfe815a61e1600f306874589329960a360857f5c78cf08f7fdfbee67121d25cacff5d3e31e4ba69fef871e80b91e840862454436045005b29a80bed1b8203731460c3cadef26ca98d56c07f6c2423f5a07d643937f66f5c1af17f45a3f53c6d4c2f3ac784a784fa8c27d5f352be327410f2848cbc0f7f3ac4feaa7e9d97f398e4590eb7aac7e3efedcddbdc5f5d83f262f5e1a672316a3b6bd9b6b13c2f9e1f09280fada0f51b921deaf98c116f1a2cc7f41b7c84d911b987d11fc85731d1bc1de6e46b47f2d4357a2d8225e947bf3de8eae080fad5109b3ad732001b8523e1d315ecee408283b76b7d7d0e48e8051092a16285d8fdd1d1d72945e0406f4758a89fc2784e3e042704e4e4e0ec74fc67dd2b931c9b945f4175ff09b71c84c628d3f64dea7c3e1f3103a4c8aa8b91618d2f7fad32d7233bfb98e8dcc6f824911357748efe8f7adfe2802b78ec88540526efcbe53eb7a991c01afee9e31747147c086dc211939e679104ef9fadfd6b537f7bbe80c5c427845b382dee4681fb75a867f729de98d30f14a424af7757ea13f8d0e3721a5eb2d550b9ea27871f95f174aecfb0eb6fec9f86b3173900bff352b72c15a099ea0739d76fdbd9f7ba33e355b8a71e8a36dc9d49a6b8dba228561c7e845b0545e13cb68283361d4a688e6f49151643d4a7a4d2d74716f65f96146b3a732c2b0d124ad664ac561201f0c6674a66852cacc5da5bd7f542a8ecf1d6c8b15f72b06d2ac44e982a75373ee64c15db45a3c5427c030dc6eee388fa69a48aca6baf4da9c26e444484a516969171695b9b36272f128b3c69e3f6b8cf31dc6c2f247ec63fcf95271225bf11cfa60524653c5c920d5a8602b4e7cffd3cfea406cc5dc8193e7c28b9b3b9ca5b462d3f002f56e66e6e29b71c7e1255086ed515e13cba826c29a4cd1d33349576cd2a49b70144b960cc9406b8924a218c9c951ede8e824e1e1115281a0202c228668d2849b34e1264cf0f1535323c4cae767c540dc842ec19f364bf64f261ea89c7ac57c82bc4618a85503b7b1e8f1878e929d2ac1b247e9f2ea6b420c4293e9a7e9cdfc58fe4b4628b4610b76ca210744d5dc0d8777cae1c7bcba612b11a1878026a179803d9918b15aa48930e414c8e81b608869d18a42a51129a594b291b6d14f09861574b5a21077a3725d036ad47000071f9d19cde6f33773c82b5ed363e6c478a050a60c9632ca43a333b2a0875d90007b52c0339da31d87dfe02865a6bc4ed7b431b11a584623a3314eb5195ae56a68f390e82f6b4731462418a414186c96545c54565a56584c2c261653cb4a8b8b8acb4be9052605060609468c510c1956c68b7e0b6993bb991ec1ced066c4d0181a198d1a580d1bd3c6e93ac948991bf1060ec791a373ccc0991b78c6d4861aa9137bc94b5227f19a3513852e51a87241e08d9431d36a66041999afb01c638c339ba157858de7fa5fcf3f3e17cb69a546693c601b6954c6512465d363367fb6996518b337734e6f60ab749627f1baae4b4697cc3fa02f00988dd36594a37e1f90479c84ef449bdb9db9633b6a5e32de281baaa00eb5425e994643d58ab28d6facbfc8fd39e45f3d6afed44917902eaff94a179a7a661ce5b293dbf128f5b426a00b61139f997315994d7be0d233ad621886cde8f46712fe3c73293d54e925d2b0216e86797c5e89b48905b959865d54ab5ac835e917d56a9ca1503623112c9dd8c42676b1cb5d466666c9f12a52261cca82617ba443b01c638cd65a8b4939af6ba29e9c578c2142877fac3fc478e3777026219f0ef7bfea0f17bc2eda1adc5a6a3880abf7faf8502854e518ad0acb4feb0c08706fc6bf86e276dd086c6fc61f8542a1b4eac3672a3e1071b747e76b4eee86eb8239d1dba384524ae71d3b22afbcaf24ecdd52ca173df2bc27dd6394eeed314a77d99e615a658c560d84360c89bac577929fd11995b8d1df8c945716e32e2f2ca32c2b0e735408963b64c4edcca37c279f9203b7a34b59570c256c8f5794b252ad6a54c6cb2bd5aa46e5c47a4a3ec54bea88dcbb28132cc326cd41dbfcb99952619fd72029d69a17aa4b8668d5e49551ad32d75a43a25028d422db9a26b26caded11a9678669193669102c6b3dea3949b48965524a63cd293525544925ba54998d6173a5573496382773f733737712f29cb490e6649294eeb4456d7bd4a969df49b66d73a34e728fdad5232b8a4f617d17d74d6a921392136d9a1807df60966786c130fcc22ecc326ce296e7e71fe6956766e6213d338f9e69700d66e6191cc34b889e3f89d723e5f987208279638e995f0fedf96b78b00c7ee618ccaf31e3b8216332f1c9460d1a3133b8ed65c48001f3e2929242fa94514b69a5a55432ad94585a5a5a569e4bcf269616e6ba222c2b5c621512696445a49115a5a4d04a1a5911c72a6997acda2555a257ed92cdd1699a933a0b95d25dd46d9bd4a356e95277df50fd6eead43d6a2aa514d2c88a42d733953a114a0c8227792f2eb27e60598bb46dc5a122e784b8fc919cb3b4b8649974116d44ba88ec1a125c2d18614cb0d9866dfccef8fcb1e244ce556f06c50e7d10bb64e3a3d855366e73aecad6e0aaee808ecb57e02a4701a750ec023a05dbb46419de7bdded3146fff7fa65cb4b7a6bcff199e3b3c6da7cda8bd12a90668d7bbe29a1dff44f1a7d4db63665744d2b5937b164cc0bf09d628cb43dc21e78b711e88be159ea9ddee99dda3b3d869d0bdf597006d7749958d6a2611a26b3be786292a9149633497960f96ada63199b740796ab6ce69e1836ad8c5407965d460eba2465c24ca3b0cccc4c716099e6a0b999426139baf431316c3636290e2c63b35f5c5e8cf05a51bac70b1aa14adcdb39efd602b5810de80de80da80d626fcc1c8d37e3351cd03834609d9af194eb6ab49d4ec570336a6a38146a3b9dfe5f86c9a4ed68f439e4d3ad647e4fe7424eae4b2b7269f47dc0ae48c827e424f403699ef6529392a31c3605a4f187411a3d0ce985347a17d2e85b4823d23f4842c3e83baca5ed9ce1dd91b673e1a54a12458f9452e5fd5d85d3e6fc940deb026b6151208d94241fb97591875c73eaaaeb350e8b82b5e477580beb42aa48aa91caaa44aa904a535195f64ce963d8c4ba7077a72fe986b5e0a90221c00d558d2a998f6d1a12287371da4e17da0ed68234b10b4813057a741b5a496fa102657e44b8bbc97bf1a1effb6e9bd61721a3e4c347d37a1b226514d991e62152256dbfd94de4c4c6d046012803ff3b453bc8135543f9a05cc649f97072199413755dcf8f2947caac51e694a7cc947f909ed4aa580e5300fe9dfcf9d41f00006c0e85ed24cf858f8234a820726cd6648a3576f44b0b98ba2e284f2e7cd905a47179f832483e8134290f5fae20cde8e14b2790a609a4c91ebe8c422e813445f01749240fa491bfaa02a6a6f4e2c24e46e964ebc24e8661a5933c9225812e945a5c28b1b850fe7cd1499f0be51417f2ac563e9793d9d332303579763a35554fc0d4ccc9e9d4d5d384278a9c23571b0194e7c4ddbb02e1a5f76761febd16f389af2e72721851a18ef0f048d25333850f3c412776aee0091a61626aa1392182d510a913021f1d9a00414f8d112678787c40f3800aa5e57c317372b8fb63c1531b261b6c376718204d27e40433801c2c98879f03e629cccb0c829b733ec3639c86d7701b7e7219bfe1387cc66f701d2ee3df3f866d769c2ecbc33c658171292ccb8e2d9ba88d64ad8bc9c4fdcc76e37402000ad5a3a6e6c6878f017af85140102b070c01348120ac0a04199181160792f8404e8e133a3a7c84552f0fc3c2f2cdc209395d3117cccbe93ac7487847498e87b15d20e60a89c9f1cd831c2e4f5d58584a2518327ee366c4d0a861e3f49dcb75981bdfc5788179ff671b1ca577795ada66d0649598063c1b43b16489143da78da9686263e32b7c7c78093f3f0c85d58ab7602006e22db0580c86a0202643abc56ae0281fc8c971424707052a15440277e00e8b4bc98583b6f45c8a3ffc8b20c0e59759389804f228813cb3e2a83c55d9666906411a1207e5ccb490e5be23cdf8ae14f3dd0a8def4c35be736171797f18b6b1417a95a724951e58928d0d42b164c9855f638352f4f4402a9ac46cf00a9f0d2ee1e7074201aee00a6e010404b7c0624130c0201804c9005bb005d500a37c2027c7091d9d23f0a48227a82aa99054386887c4fb39393953c330184ca574442c718d64d6dee995ed02305708cc4e964222c999692118df5919df91febbd2f6dd4a49e5fd4d6cc3c1dcfe949429b8ad69c0b335144b7e6b297a7a9a8a264dfa0a1f9f5e42fff44f43a157bdea2d1a680b2c5683a1833aa8c9d0ad6eb5171da5a390525260328d52134d21c19038379255cfb131b60b98ae10538e5671464f47d6ca99b17ca7b97c177af9cec27c4722a5bc7f896d608c463e80b1b9133a3a8e0295ca5db0b3e334e08162c912297a7aa868d2e40a1f1f5f82fff88f6b014f2b78822b3b1a71adfe75b4f9657fe2409b12d3b76c17285d2125d3370f8066a8e2889e8ab6c99a41a4ef64ca77b3f45da6f28f6d56be0bf93bdb8cdedfb20dcb3b277adadb0c9aac66d97c0b2c96832128c8c9d02a6dae068fe251e2077272a2133a3a28601d2a151278dad911b9884b57547d103d118944dafc42ad743d26893c4a784659777cd7d886f4310342dd8cc437d28415bd9126fe8689fee28b1b26f69b40dd30193d698b502c5922450f154d629378858fcf1258c7cf4fd4a26b5cc555e61907ed10bf1e9ff81dd508a4a47e68bb80768568b76e134a90f6cdcdc9a29b1145f4101bb7c08aac0886a01814c9105bb115bd885162940b674f4ed14815881fee9f52719c9b50e009fae5dad2489539505833886dae0e62958135a1482758870eeb804fbd382255520569a0cc209731ca78444bb923776e2b850817c988f0950d400cf48507be8f7b97f9beca3ed85e660a50beeefb791ff71e6ff352d1bcf43184b7883312f43d33e478f566f87dc0158f12f43dc640cc62e64d021d84cb0f596f863f5b837ddf49d6657faf075681aea8c1c2b86ee44dbcf11bea5a94f60acaa401fcc58d73efc940984403312f5cc0cfcfc7c03418d621bbfdda3cc68b6d3e9ff64e11463eb412e6c2ebddb7cd8ffe5b57e45e94af1aa18bbbae58bd1edd8dbdc7372a38b94ba73b20a3e4408db09f2adb71e14bc764b256e742aeaf29bd6128fe151f561e64b039a167728a9edb4fdfe3d50d1327d27321afa6003721bc9addf19dbc9a24b0fe7e4166bd99fe6c0dedb321f36a425e5def9e86017dff62581c74a37cc74b7a5c5a4c2c2b415a865fa544ffbd30dcf79e402d9cc41c3ac014b3ed9409d2601006d799604e904ec109c375d39abe85ebfe7442b1701d6ae5a74a897d208b79485c57c3759f712cb9cef2e3f92a1cab43cdc9a2106455ae3371d60c598feb4ccccccccc12fa34ff9cd6fad4d4a050a7d33fcc813969b8fd2f04a266d9c94148c2853e6856f69c65d96bec03263c5601112e9ecfcdfe3d29dcfe97036c4bc03bf5c3f784dbff76b003883bc2c085d893991812719b6f26890bffc94c0ef5a522847ec2c5110f9c50405f7c785db892ebcb37722f0454de7b21ebd0d729196fe00ddf5c127637912ed2905df05246ae7f4cfa9fb373ef71263704de7e974fdf7124c70d816de10a6a0fef46ce4b6ff217af2b0b1be3fc20eca37d40f9dc90c847c4eb9c4f107daf073f04f2a05cc841e61fae5a39223132c663ae346199fbf596813d668cc9328f2dbd7f2fe3cef7634ba68eb91e3d8642af027d31fc200c3190e6a60115f5a5a2f75e0c5df11691cc5440364036bc16a489aca76ca8f4ecda2882a768200000001316000028100a860302a168409235b9eb0114801368904c70763e9466490c83300819630c02840000088031025333b30d00df79c20390eb980ac25905872aed50061fd3ece6d591c5e45ff3e87dd46a47ecd66dc2676dd4a3baff9c74f23203891072c6672ec24d3da74140bebc6db6f5887cea30d359e435a110e996491b96e7b20e4f9b552704d89518fa3a4cb294e5bc18ada8d7192f1c4dfb9c058816193d3cc09fb5cfbd0538c061f6ca4f04ab15bff1a26048c4b4e155af42ac7e6ec2463c4bc9b0d9abd99a855a973fb42dcdf667e3d089438d2edfa4e49b4ad62323e6c1156bb4ebe1c539ea5eb8d7ceffd0dffb6698c924b484d962baf2896b46f04b0356cd25c8123f4e78ca05dffaab8a12524210cba4c2cd2651997296d5d56de42f3dee4fbc55c40c19dd34cade950335138556a30fdf124fc1753cee1a3c310de69aa386583d883639e987d9f499dea358531466a5e16cef2e7cf834279c62855869983b87f52fde86231184275661aea4c95de430bc459fea57207e3167cfda4c385c06960c968e7e68aed5edd1b06ac643fffabde69030e989db6102c5c575d07df2284ce0e714ebbdc129c42c868bf8c5fcfc93eb1cd81673f39e3950358851f3de3c34001c5ac15c18e20ea55d11726ef3901d7366a3784e8749cd858177affd766bb3099fefcc655687a199f026c39e0924c28129e503fed7702d32b99aa5775c158c8f62915391952c58fbf6e56f6aeb6eba3a10bd2cbaa12b0b08d27e5d9c969719ad102a8d5673b3917b6974462f4e5177e0d86bce27ce87c0d0c620f92eaf2395ca0a0e86b15d7e37a52d9664c9f535a64630ba26bd54a5fee8f6bd1864fcfea422d4c3bd2816f07096a2468ca0b09d05e4b777f0485ae1bed44517f4e29e3ca783e6a7728c35e03c2ec93194109df78703acbcb6e9f885e296138a3f05d1ae92d3c784a262bf0daac0cda613465df4aee977c86621bc420a3e0ee064289aa99fbacb970e2d2f43e2fad3511ab800284dc147e38c7d01736689644f58f07e7e088358735563a993d0866019f44cb326e73894216ab7b836679fe0630405e0e2f0d0901ab0b06d96a21463807167e134e4aa818fe5d70b06d067f4aec74305f55e768bbf29ac08b09f72d72a271511c7c42e2b8ff1f54330c8b47b0815371aafe55ecd975f8796fca3d3fdad799599593098ee4a2336f232627fa0bf8a9bc3a98ec8294d15f8be021f6712506791b09aad078e3db6cad96fc82bf77d3d9be1ffa7abef91aa7d531f35a0b33bd700cd14f77ac8d63374b98e51ae81606801052ab4ff9e380b2693b618d0e287355ff8bfd43a7e7263e71cf4bd0dc3ac2073f8bd6ab89a7159c622d7d95b60e9673372cb4927498a3c1f54fce3bb0a3b1e70357c76a8ee380e776f68f3ab79bd352631ed3289096dd60d835daee9f57046ad724dd334c8577114dda4b81f40708b99ef7e003dd80676c05168cdac83a6ef04d24c34f4fd7ea210871b3c7424d4158331a921a2c4214289438467c2310f492d8eb40fbe8a9d65216c9ce539a6db5fb8bbfb8db20cb7fe421a724d69d91e4f6c5c964ae42c8b2672bcdb261bcdb23d3a9f451a70753c5145cd982123ce629f2f99c66097d12f0fb31a9ecf78705e1002a2c96fafa37ba7d69e1ccd7f5aec03a95926d86b6f70e1fb3af603a97c2658756f0ab6044efeb0e939934c6e72a968085c367e3bf302c36e13aaf0b7231de7930efced14e1e547a1cbb5a0e96ba9259d3ba4df00c1820718fa924d042ab49f9309d2ddcb6006477fd87084921638cb395c2db9e4148674ff31b0c3489bd70d128e86b21870ae4344d034c0ce44757ed350f73720d016b867a2f7f7c3d3a299ed3ba4b1fde489d0d45630eee5a3bfd5731f9e08a93d5094859bbbaaa428749f6b99eb52c5940ebedeedf726808d8186d473c32a4a3ee918a8a48ae316bb342c353275df5b6c4876a0cf6819283ff7bb32f06091cbe223e361785c29dc30b929b5c153c70ddd0927aa3e74c6dc3036fa60e756c18683c92dd95f8e1cd3c4e8d357d50b3a8c0fe815b7c32d059c382f78880494d83a0ce00bc81eb6392e0187cc7206d70716139f6e16adf0f97b1ca3b6a2e7d66e7435c913bc0a188735a82bdea9a9d1f210f3de523cc7a647f6e08d47cff8557d6bdff8d6bb85eae58208cc17725ec73017b2bccf643b69d3f2cfee65e004d5ecab3e1f20786f82348eaa0f7aef1d207dfefe75d9c21f2d2a68289147e79704f5a2ffc9a313a73ee2ce22fa3d8641f959b954397a82e81620d87429b09e94fcc292e44e411c55a53498514f78194d2096f66c39fa50a2b249b305b8a9d00528bd1e16710896fd1eeee778e78e066e26af6e2072ec59667b45efedeb9b8b701a3146d37a1b452e82322f5123ad85a3d27c34960a67ff282254b4ae429ccc0401cb4d9d82f3d727951dde1ab2a39cb587a0f0d24d45d463df3e10a8ce11e7fe5706ac9173d2dfc8a3ec71a5efd433ae7195dfc243e1e22a85e26c24c7934649272d5d2fb84669267831b79ad9f85b9e03cb14fd332061a020eed1c165fc175e32f4cc0d9dda4b5d4220a6ab6a4354977f0743b90cc6fd492b3f3f4dfdd265c4c398bed6aaedbb495b333e2189861743d4a43c46bd470dd8cf0de76444f2dfc2aee32acb4829f6b17e2d1fd97f9bb633703ba1019133ba5903fc02b5c35a6cf0f98de8c92a7c66861de875a30c21c3dc4d5d033d8fdf7d3fe82fbd1e7a430853405d616b89f072fd5c9e2b67b69e763ffd7bf0682ed36bf954eb1654ad5b06b3414bf55e099325038c9948b1510bcb1afae41cc9c94bce8e13b43a03586b3de6f105c4bb8b3a1e9c341e10c31855c7d5c5db446eb628874e543e48e01002e39d9d327aad914d12ce8c9683d033f2b1b3035b9045b5e19cea6ec60c7917ab2049834b4fba7de6293e0949f68076ec9f14876d836af0615c6cabf2255860229d604d7f1392cf8d9b7b1824c806ea81b5f121d563d19a3fe672de84f25479d0043aa152d35df1a35dd06930f1d1b8f50ba2e8b65084e816d1ade3649e835d86c2e8b7d9d0b6cf7678acec939e204f8a883d892d2bd689eb116a13fae59ad1d1dc5524d75578e4d0279cb6085e3f09719c0fb0e28eda8837faa6cb2d18db373761223e97724ae583a3b147c4b7b994977aac44c3f5395a4b1bc3f4c4b1ed7ce3d23a8bcbbeb187ecd9e892a4721c25225d9c993ca7f111d078ada77fdae0f514556e433c499b6136da184f50f1fe47d07d27ee583d1e4e441cf2ae1bce061fed2d9de2ee2eaaea8643f344ee854e5753b008ec9ecec1418c5379c67adc88ab524d68ac744241f7aa41742c64167f47b07900b422e13dc0983a62519273e10ef970b475de086f997d9a4a062b4945c44385afaa906ba29d4ac13e4613f2bb9e218e5ec1431ff96ea9fbb9b7ff6b5662894e19dcb50f7cc07f145f4d8b44618f6680c9b824d644cfe70d3e0514d65579e066751307d5a9959681628c09a8e4e41467b07883948c537bf954b045809c15014a2c17eaee0c7d2d9e7c5d4160828c6f94afb5334b9e338b46c517c58a7f88f26512a2821b32a5fefd5e85be108d85b1bc7dac5f354b7f08a5262572de8f593b810e289455fe35079db8ca3e4588151b771d8b6fcb796fbce743e66620c452abba2c13e47d5be7ba0dfbd2afd737a26a7a9011c9ca00919f0cc1e63c12752419ac0075f9935b4fc739b144bb516e096292c86ff70157dec6ecf6c38a8a54ec678f565330ce48816a3388fe46ee2736917e68d7b7aa47f577924b35a3b52c63e8174bd30d6e02deacf3270b3144531a1684a28d44bfc32c3c3842f7b0d82277908bfdbdead086aff0c5c501d30f801f3e1c7ad7c2611630535a9f5e4f6c4eb2917fde70e8aab0862da02d30adb3875f98ea43278db2b48b0aa64cc4e763dba5f6ed94ac056ce82437f50dcd4347784547f1e5bc3720afc1f9a78b1e0164791182a01755fd8239f30e8f752327ce01452e348b95fde9efe74828bd6a918baa72476f6bbf5b8b8fee6341073e0f4a3831cf9c2055f90880b43480c986ae9a7a3590ec4343734b1923e22b172ebaf5c2349c0c60942367f184fb34284d30f14af389d312efea3a9978eb9b280c67a96e57ac2ad5154da99d44594f1a5a58dbcb939f043329039f81441e1e819992d987196e93c93554a29b506db982a5c39887ee5ecad5d65eeb89caf46cf48adac0f4fec7fa8c70e605b59feb6c664bae00dcfd1d497124c09cd587af69c2c93768b511bfb89273e2f6c2e50cd63a5733d3353d0691f460f58783c85d79d263d0cb5e2903e1b48e63bc6df236ccd3894d4cfc3b14dbd22bb04bc4e5a4cf0f4db49f4938473cc635086a7434d998cdb0d30622ecee1cd4ac7c38d9e7e3447cfc6effd257262b8889c52fafbc200c99f6180ddd4b665299ba6f6580802099d680395d46a6b32eef817890b700b56c44ddd8cd7e80d825563cd65fb4c36ee05b2d73818483eda45acc3cdd40fcd2f3a03f0960e9e1e261c54c4043f57b8c78293cf3e8cd5bcba84ee17896dc7caab12066c2cd88edc7e4f963290888b39ca16efe5a1d4c461621ea3901e42896ba3bc4889d7cf46e7fa01e9bd2a4e59878792163edc42de119553eadf0bf332ed1ce342410dc5be8aefcc6e99317b9b8ad64d731112cbf511a1fa947432f58b1282f8a975b56c93c42bdf9734b296f9b5697ba789dbc7656c6b3254493c9ce86b51167878d981c6b52a6639c7311172d1905e864ceb4321826d952855bb62c5c6ea64ed1e672e4130caf4e06e07ccfe4cc8f061ebc669e4ed1656657a70b99696c9557aab20db3be4de35ba82eca518213360065ba8e15c90d705cb6c60c40467c6645bb1183d3e4ea93c850c1a5bc39c7a984e3ea33d166bbc527c0d5a73743fb419a041b26c4dd5132b04ef5fa9233a1702cd4b4630928d6a469bfa094efff96acfb19e8993663e5eb7d8c039c505409374ec20c6133eecd9112a09840a37744b6e17fbdcb1be80de3ee03f5eff65b691766293b3e26a19271e7bd4d33ebe6f9a3da7a959571ef04741348590190aab999ea94cec4404dc1b09417c8a42a43f1957faca7c88be5e4e50aa31697e0bcc06343b4cdc81047e0f0e3c80fa36688510df067e3d3569668ac2647363cb6e199cf6ce8ee5e237e9ccc015aaaf8d9974e14eb6a3722b309c2da36bbd12eec65dbd016bf92e51e1c6e013e9df543847987fe1108f6bfaaa2ede445ede489f8ab3f4b316e4255aff219ca7bd9645076ed0fa696cf810a613045e589a284b788fde16bd75bfc56a8dabfa5be868d6f97ca71882f863cff3a0581f2848b0281a24ec3e2ff1819da585813b7c50cc5d187c6c2c7c7d320e65e627adb1a548b0da57654497fa35cd4928602ded1030c230947873b81c182a5869c285f505b9bc110c7e03068de1468ff2f9d7007195843f663ef2bba945551fba660579fab0c4bd41094ef317b995564575d3dcd1ec271866f1cd9df505b814cec63e384b8d48e000fadfe21e372ad2ef9872c7d51d7a610e9a07aa848fbdbe33b5954d747717bfe5cba31f30d62cf15a2be24e42b141ac22c7507f601da69baef00d1c067c8fafa3995309b4e33ced90ec7245e3db6c251d82e9c482dc65069d48a7fd2a028bce473cc422230f1b2f9ca356bbb2ff06eab09cd21de018d4d2a618e7dfad48c54a24746cbd138d6cc1c3930f99648c200f724bbe69bd19200a9353145996c77f22b36ca22c171a1656276b392cc3b1a67136da64a841a3c2a76238d33d6e9344e55dbe6306d699cca9dd9cce3d626821205672249516a864990b55180b0e7e76888bbd0416c813ee5b44069c1b604bc2936ce73450b832f96bcb25bbf7b6ee84decda9403e0bf5c1a15b05847e45ac3a787032f0fcbc627adc3d3befb3e47cc02998f5923fb007c7974eee954ea530c86b9b3b94d21263cae4c7488ffeb4054f1a0827cb913333694eacb45de49628c558202a480cf6487d9429b1acbd6e8941d38ccad1d89ef1692a08e688bf32ce0e76cc795c6595455bd23d018bd38a6330a6e65c49760c94764c062a6d8aabee19a7c988ec5f2dc8de92b2b369a40a4fb41a895ded72343a5b207750561aedf37c5ed65309f2daee8b84516bb0a4d5319f9091499d9b5491511ab721cae07f8460789c6a71e2c51416df8809560736f15e1b628f4f2717233b9e91567f9280a6d9602b4ba26803086866523208f0e4ff69ccffa5ab236ebd02acab10732fcb6633ae4e77158a1da71d564e0ba362296cae7bfa72eb694ac3eae32cfaace3de4731485ff335ec558def4dad033b52b7c4736e9975e069c9245bf08ddef03078fc2e37eec2a7f3ce08da69d980418603e2d390d9400568331b385c6c333eab592396662d826f7d17ef909572544814024e98408670badf8b3240ec6a7c0c3db10b2d1324f9ab941a1450ed4964500192b3041f05c2438e2aa3f318a0002f7d776142ea8eec8c51e44d1e388b1f1914845d991e7b06476805c2f2680f4d3e68eaf8255745145338abf2ca808de317a2f6c270cf04e9fd63700e8c902ec5f3165e0487c1c04fd775af7ae22f07f28b10a33e9c7b082de0321dc9de6e6e6fb3b196d8ee7a544b916a34067dc7bb1232d1d12bf6e1316135f39d49550a056726f5f95d26e1524ad81c154ce4f2af28bafbec63449043f774ea621cee4cf549f27ea30a809a227469736840e9f368be2a0a409d87d028a0aa32bdeda371a811d944f45a8503deef08daff6ad9461d5ad5f8e70efeb9199bc8dd030543f1e44c8a4af584484a4e6f9ed023c86c08041200f3c5d7c47de2d171d89b080ad4d54f7fc21cdb41a30b34aaf781dbd17f881f1c5c712b32c5625a68344c9ea79e74deb4aa29963a926360494d9cf6589d6e2d7f6bcaccab31a51d29ad87a9c79c043757bfd4f9993523027f60fdad86612dfa18acf4679aeb9bd45c58e6a826b33df215a6ee2fb48132bd4b087c9a7e8cb2ce6b7996a94a56eeaa9f93b2e76a7e4c9c88ce72ad8ec6250a676c9ea6fe56baf9e251b7dfe830c8a3d1e6e0f439abc8afa8fbeda3b660453310c3760a7b070955404fcf0658c8c84ca2f0d22027186d9c722d86443f05d0ab223e24833338664e62c2e08962a2b95325a36a2064a3439a135c92584c8c0d7a193cbabeea55fe821e040c089ef183b326ae77bbda2a21c6467e8490fccdb29c90bcfae4d76cef981a152d8383d8b63dfef9c0f3971ebb82b173e97cd604a81ee4c48ed4c998c636171d432526a710e4d660c0453ae331f43338e644810363de7b88c9aa7907d9ed7a6c6c543cfba046d26f9df7f0e8c5ef30e96eb2bbd76ae504f747eb36d8259646c5773f94b788f0ecf943dd99efb18e22e1318bd8a22699f56f436223d703217da21117d54d89afaffe7f290cf88145663beff3c4e342713a4a8246880ac4ba2b4d1b8e1b38f873a7b4f4a0ac9df6494ed5888328170e73fe62d9ce2caf05505e53a2f0c8af6407d1e2c844982350a7492b72f57b0864a11ecc63aff7ca59b398f3630a36ff1ef794ce10b2438a98df39741e1a29fe340c35829bfef01b5917e97e9bb15743bc9f418a7bc9ec0175b7aa4c1ad1ee9f9912b18ebe5eac55abc6db67231719a53700883ad781952b3fea48bf1631c4991998a3e55c11667f4912f053fd0ae04e03f1a140169b02d70b6b437a0087990ce4668f23f3ba0e0c7a6774bf5ee2615a85d3b196990b765250ab02369601d702b01f64ef61ad4112e652430d453c2091cf724c0b979cd47aaa3ab3174323fc9008cd7ba9f5a1d981be9f0c7a8bcb90e1ed5df7a8beb06867ec610c05de7d63d9159d70d03f0a35c93899c88d0d920a1aabc4da984b0fe5bc92746cd2b862cb6dba8566f1dc3991f6552221209ab77bbb20cb7d6297c4825321e46ec12e39492a7dc2fa8c6c9c7d342c9bc1ed2e9cc9c4c30fdfc6dc0c835f035e40a3783c73023ceedb01e75da9c411906e5cb061d0883e14c11e0cbfb2928c66193a61d46dd861f9a536a0ef6e748a270305b46a8d7a910737f8ebbc89e10f4263b43a6f1c499ffd86e0cee3560d513fefe00b015fac679f084d916c312601d6816428c02f02b19b33910a67c9f44659c461a748da0da970106298c491a75a6dff6c06ec03fd3e8a6189e19f14211af8813da0313e798b37a8a8cbfd1f720af1403f82c1ddeb0683254013e09f16c3e9a85b2a9ea09cfcf5c19cae8505f275d91f43694920f0af1f43f563f9b2320b2b6e97509bd0678fcd35074eb3dcc2d2b1d4df8c27ebc629325d4a347df99c4da253590591c41796fc693019934bbd2d6fc38655d0b3f62cfc0ca7d15a4c43c024f9f30b42f2032658ec051a7104c3f6f25b4155df052259cb4e45842ff80d394fa2ccd07a5944e8385c4581b15dee29d11341e337a66c76b917fd534cdf52c5cd3fd57622530ee8037aaba5db4243f626f91958662b4ca935d106ac7661a7b8df8fc4dc70c3cac802d1514fb6e7a1d107599e80766cad88eca979cb521e241e63a30c62415bb1483cdd17afd66f3b001e57ecbc95e068a6753a88c50c7fa62429c3d6c6c8479ee8fb802bc977cecb3f455b8b43ebd8675a571e0ef411ece74f536a2a5444d2f0350d99755e5f671c9e5404a2981d0a8f5a44af83f5886dbdf6271c31bb1a3d6379d31e0ff6c22eda29e5dfac3e5a382b62ea81ee7bbb01feae5446d6845efe39c366302f4c228ef910224d18bf4cdb880a7349277df582f2bc52f9dfc107a593e6eac0cc11346661c8e15d33d4833c73ab2e26237fe39d6ce4e17e7f539d6246018127768922b7039c7ba4cd3ba4b259d400ab116e84236c71a560a402c6458ac143b4bef29432ebf5193dfcc65e666e351429163fd647f15f6d6b3aa4379b5d0f0c114ffd861064feca3eb58db6fde848d19152d4cd940535742691ef36d16af69bf0a8c559bdaf82cf97a240fa8b3c092550a630a6cbec9554e0f03a7f72061c727ca977bac077fea3fdad483db5362379578e62a41774156d4c228c455dbac20d71dd6e086a8aa345dd9593b96278f1d79aa17b2807435463a365983978d56c163f3504329d40237eb037aee58d66a15d825f94cf65a64084d08010f8ba425678e62679ad276826f98eeffe04aa81178bf1b5067f893cdf0222efa3233bd13627b58f116c010bc56991a82779127209394883925f2acb79eca7de686e984d0a1ef3b1d5c9268699398cf6a371f61f05b3bd78ff206d8c73b771973057e828a4156a8b8a1482587109ff142f0b3b2149d5c8f2a2727c87fc163b4aed2c23a24541cace04d90b29094a31d5c5a692742df57b7b87a9287d3f1ba6df267e2214c132693973b0c2a2e6a27b05d97351bc496b6f970ae6039a5b0bf026da5d446a418e4e42c86ed0a1e5e6c08046ac6bb8205e85d3de2933a656c25f2e41f9fbec917228b21d1e5b4dc35bf94426d7e57cccdecc8b052a4185690a2dd04925729e05bbf4a5e5ee2f08c42965825f71b260fa90f751f70615d2211e228d02d9dd5f9fcae861ad97360a5a3bb78870c08383e706d2d24c33938fd5d852d7b2684cd58d0a5a532110a57de92dab7ecbe58c9f5b77c21dc12bbe75e6ede235800b4423f3542980d1831052ff5ab24b296333d1f4386f3814aac1b447555c76fd95717f08f0103a97e91bce9662f10768044368c2cf99a6d5fa5a055b5c5dc8d414139d701dabf8aca7d852993e34f46db737e73d17aed7dc529ca2507572193c8f8d02c38a82192dfbc04bab6e48881d0193b50019b6d1a53172ed4f514aceb523e872903063eadfbcb1367f64d126710e477ee63f23384b8a8164aeb6f5166f569f8ef1c984b5bdf64a7cd64a7db12e79b32756e32c073cbf64bb4ceae7349ea7007d796e1a4cfd66eca555bba945eeb8d032a68a927f33e92f9bf046d970e7cac1373ed9d300c70370ea73f1bace04ea429cbba81dae407a295f892102871304af210247120283910287120927c202471002471102c31101cc98b040049220855d8a13a635cf8b48e54adcf43dbcf00ea4b20ea2741aa8b20aa8b20ea0f30aa8760ea6560aa8bc0a67e2102a01add7502572ad745392f3bd95714c83630d089f585d9ffcfcbb6e6131e4da3e0fb345a4e67a291751761e8b272449f6419a720c75bd4fffb520b9c1dfcfe4188ced9032543b6f7c45ad9d97fe5af2ee9fd7f8fe8aa59af21e80f76fafcc4da8d68f7e4c0a2bd03859b70b42fd41db57c7632d21ee27774880624da6f62bcf154700796512f4afbfcb16f2bee012998d925e98b9ce1ababa2c08623b1c8715c516bafa22252d6ff0695e817cc75fdfa37498eed9e1948cca3022fa35bcc31e9b5b65780ed7848a2c66fba129dffdc7407ae9419c58494acc43aec2ebc9741b56acfcaac93d81ce02c57865e8b30759c9bbcb285436f111f6c134148f4de91a3289b835a784a31620055c5b909011bd6c9516af0560c2873f34d9b42649e5c236166250c4db7afb10ad4e06e774cfabc71bd89d7ff94831bdb29db3169d5117b3a33d9059427c54c5eb19dc9ee09e8235a8caf83a08c7ea44421e57ec537fc65b9e37df52abcff236c22f1f0c640a0b9f4db2da4d30e29242196abcb9dfb25a8a24a1eae6530b9a2dbf7bbb33b7771f1c9ef8ee882e0a2de57ac30efc1964883cddd9a28d48b78e7372a44f76f0b6752306b1b80a97b2a59dd196e4614865d57e015d15c3aa5b3833a2657d8caabfb992ae9e248755aeded996b32553fb699a6dbaecb15dabafbe22622735ab5ba0c738c89078411273e99c8c900d1d43619752896888e53d43a111d0b950cb37cd897196114376cb025fb8fcfe5ef310d6341185edea0aef506913a98f0500f3127f362052235cb4923b455cceef500acb6f5ff83d18dacf5f05f6ed6cbed7b58dcfb80f8544c71fe2b3b87472dea31d58241f5f76ca208ba9cd5d3ff685cd202cf1b58e3f031a94e75036793d79270314d84fa7d578ceba701cdf99259fd3e1870f1864199b7a2b99ad3619aa4d175c5a3f6f5fb49877e3b825e3bb9f7cbcc08537bc5df3fad8cfc08fb8d79a18d69d1438739f9ab445acc80af478f05c0dc0186d3d1f954b483bf584d6d7b2cd9825611c6b88c5f02f6c6f8cee57e8a3900c2e3ee8c101081ba33dc8785a2c6700d1c8866523b8fd9c7f389092c9b50d8c00fb2a75b266d5e3c2811b97e408eeffb68ba752e6dbf454cb08a8eab3ccd25e69cb784eb85820f4e41a2b9fef8012c890d2096ef0aa8011c06f8c124dbf19cd2ea5af7f992a064721eb3bc220fdf6ea92da26e74afe2f54a1e63b708c3cafa45a43da845d015e7d249e85f6caf074776c02faa998c1ad54c071dad948a07d8d3ea08056789b01a31b878c1cb22379350fbed38f15ebc48f8f7c58df6f7eb277086fdceb88bb1668a87bae203dd9725a7e53fece36ab4c2f684c0bb7a48056e3c5f8465800c65eb62df91724355639f04b31dc3d6d06168181beed566f13bd1c75eef3470b3f9afc09dfd0a3ec66b6bc6695619539e9e36e31c127cec71457c3d6b0693938660005320cb03821ffbf221a258b67e9759f645dd2b16da65d92b90b2400c90f4d2ab78faa27d36abb1d0da344456d399ac5769ef8720ac25f07abe975c6d82f0f2dabf68a4d676393cf446088ee9db5eae99be28f31a6120ff2cc98482ab3b46d04b27fd8990deb3f16ebac65e6e6ddcc792614a18c79d741a1b5011b965e948eeb3b67b4dc0df4967967bf5ac1e2840467edae07df04397d888f7ccc519bee289ea1e14f062a2967df15ec3c4359ee73dcdf737923e61e6104c13f70caed4be60885afd7e69773bd8ff3ede9d7264465f4a880424066f892183d2b1a9239151fa880bdbeb63dd7dac115a885635314bb0bf9c0e585f84a70de57a77ad9d37a78026e1e92bcb690b9c257d35aea5597373bb5149a45241d461ed3d4c374cbe4b2e4d9617ed57c15c093f32a078272e1456928c28ac5e610619d680706b1cf3363c4d72c4e31807aac7a449e307a87c15181ecaf75ffeceb5810da9f2c32c6ff6bf69fc0b8cd49f918e6be6a36bbf81b1e3cccf6ffc055f8566301f1f7fc403ab9ae4c721eb4a8376fef94d9f86acd50a5080484cf2e508dbd6f136584c3e466780c0038a4fb4dbb7daf32520eaff2902864426ac89bef5f4a1b7eb28f8bd94fbf821abc28ccd6069c9683e590bd5eb2beda5795b7a4f74be2005e6099f0a9f5f0eded9409e194265755ffd3d3aeecd8446a93d72f5d5b55b44dde01355a2892a6d80b4c68809d4fc2d20d579633bff31eaea52a03ab34beab2ea1704cdd28b0a100d34b8c68eb81ac1baf364c1e39cc4181708047471afbc23baa63a855098dde2c2068280f8eed3411cdca5d44cf71e86c0581b4466574c7f89467b1aca073ba0c5ddac34bce47fb32dd1370ce1cdd2b3bd475ad10742bc07dbe9fb5f5ffc30fa112cdc4c3ec3509cc8678131b6588e33a401130bee0ea625d4f9d3a1f16feff9b4ebff68f891774e8a0ec394bfa3ec5e65302736e2c68beaf8906cafe2d28f9e6b2c6b5f734c200c4c9b7e250f9954b0daf47fa16a22b3b1e9086768cf5f4edf625e4c0f9e87dada926b82c32058ff78d555f83bb7fe695f3b8372f928c13007c0622a39876701570942968bcdca32142126891e4d2b83ebc2897bb438ced8cee96f8c447b8cb665c60b65768fdee330e866dab7cbfeb861136546576f935cdcfaf4fd9e5f4ac5a6db9989cc6829a27e6bc3cd13dd57c090eced8ecc8d46f36e955cbdfb1ee9f48a6aea2fcb866b90c66bbb1f89fa500aac265d3941b4be7894d84759391ede2332cddaa6039d1e8bb8478698e91614b354882c6da2fac10560d21301b5d6f2bda3f559f5336c4a1c7683ab600f135082b7570dd8d1e1a8125fe79327f18e6f4965067ded585c58f53db67091c368fb391e8ded083ce8f7726ea8eb4de78df3873140a2a5f2356c036de9eb03c3922cfd91d1eb6798bef9cc81f3e52a9cef4e615fb7af31b2bf02c6ca2f8fd5c7d51816fe26971575cebe82869e077cee026ef41627a3adece73451a8f7c075d6208b9e5da951e9bd4e8b040f9d5d97a0757a10743ea2b833479f83826625b0d278f29abeeccd6985abfbd66a7e3017ac68a79493f7b23f22ebb1cf19baa131f6d3e6050ae1af8c68a158af8f585e78dc249874fc3341bf6aaec5fd5391f973be6b4c9fc601d355aae317e6b1a53a918903f30ecf7bc42e36f091f4efd2291d01a39ce42654e64cc75f2496c8330be0b20af3fc53128a8356636e9d4e47fa4912fe5af9fa45d1cf1030d2c1e02a50ce61daef38d3994bce198ee94cd71caa71adfd729d16b0dbddbb8090dcaf603899ac9900bfb54f8be3816bfb62dc0589f325e368e29a12c36c3c73e174bf6654355b6c65f10b6856b0fa66f1c11c5a5ac1be5295d6fe85839117f9ccad7d51820ed2c00ee4240ba5551690f34155ba7cf997ac633965daed781b262ad57ec6668584c2686c3f6d4a5c238b06f0caed174f2b96c50bb0d25b0c453d104803c4fdb3c2003c0d571d1037a49eba86dab57924705cee2b8458976b20048f5a5ef12ff77b3fd68e566a582de10752e44532af008b9fc491069fc57e569b9c34559ee172bf3398e683f3fc2d99dce1e26641c35b05ac4322d5013de55fee27920777031a03f6c07cba23041d3b2ff7f1571943b9dc1fbd428566a23969bce53ea8e0422c86e8bc50ad8069077a59b1ae886b89f72cf4595b2bb26a56c6caae8c35e92e4dacdf4b66b97ffd38571abe4aba3bee0c6042c90087f0ce1a85f0b4a9d1d941f02c4f59ee078a714cee31e0f40433ab4601ccbae110606c35ab0fee72df10f4b5104931d588ce4d97fb0b1341566e1056ea46b6dcaf6a53c467fe3d9dd4961f1441cd0405f13928aa60498617a1b06680cc64faf5cb7d65fee19f7a51f71d45ba3787eea3d8c3574b8ebdcb5a93ce4d139b4f56daae3ca8995828e1ba5f871d08b84a78bec92be8cd541d4fee8833b5305cee49d2b78ec38ec2d0fd8d4f83f5efc5aefb93c1da36ca318c0ced9903163555d1dccfaa88f63b25da79cd0b1dd28a86cf2ef7d3a1cf7d69990cac00d6fd7f0aa0ec1c2c09ee6d070d06c1bcb0d265802c41582c738274af0b5112c1dc4161aa3848f6fbdb22eda33a1b68f3db01de1d08fe4e7a0377c9be887a92dae9c0985fe8030bfcc9d08af2aa9955cee029724050c3f341b04bac890f513cac9690b0ef7424d6f75b31fc61b677c0c0df140c4d9b3662411700ee0a9ac481dbca2849f2fdb4f03a07306d40003e97f489c56f00beb990f5910a3e9310aa82f4607d63c6c5ebb55ef132c2a1765b3b58658101466b865b97cbdb08e08b987b96a9050044b24dba54728707c6aa5a93a0560531b18e81af75ee92a26f13d0c5f6e2f1de3340d076b399ce111838b0bd081002071b1bfd2e747e32eaa7f2666034d07f0e3263d53e874a755e5f55ff14a97a11a0ad037f8702464f90b3c28b80489c8b150a8078ba3f1386cd829a8a8588204cd7c842598e30f82a55ae0a4c503d5ef2f006f0af4a2262e54211953ffab498ef35610228d96f2eb240453383cc49fb735e253a2e8a0b90b0cd1c0de84990feffb8f032421b627ad81d3126b9bacb0047fdd829f385ff45c90a051201987ff50293bdbf78491a809e597157272e2a840e8d3fc30c25015f84cc11d58802a737f90add4eed31a4e5297ca720179aae9a7737c02dcbfe64adc33203023fe6a3e24b9aa4247fa57055fc782df90b2982dbd5a059a41f806362056ec6b0972c2d7c030d20e638d3ff35474aec2596324efbae766859ace72270d86600164675dec9181c60e77474943967a6e5563b5f824a0283f2c0a23143098f68387f83d7a7b50fd8d03521d67c510b010f30d5d55cb8050b7e15baa9efe05fb1282404b37f769a4e6901178c7a80245196bec145f784b108b7920f1063b5daa0101caf5383cc3fa7b4fb9389ea7351e0fe166032d593532d5abb86ec3699c68c23b0a42f89580e97e732d166646e9f261bd56941e060f66e25bc20ee046dce68b0435d046370646e9f191f9f7530dc0513848b73197081b6bfe849766aae2cb6e0c9cc02a9556e366eb80a6cfdb03083e5576eae4e64d940a49d1d130d4aba7c6c6bd36b3ef62e9a2ce7ac020eada872c63f7d7be533d4537417fa526e4ddbd8b982f772788566e5713666daed9ded4f24a68ccd8f6cb1e218b7926f46d6dd486882eef0bb4c72514c0c70c1625bfe54d76d2b023ec0cc61671b38141748a8be7c0780961d3780617b1ab8a47747dac808d1c4f8223a62520c6aedb216cc02f0b59edc82819d88bfe182b97492950b56230845a394adc98429176cdeafc4e0ce90762cfb6481c4d4544b3cacd99a1eb510a4f5be40efafba465d7e9194f8007c3a9b9a643708a82fdeb10c3c02a6f44f15e8fed57bb8a6ded43466ae097177fde14c746305d4810b20008ad2d23b7cdfbb4df11de42fc72e5042f406a36ec7bdc690de958001bcd9c30dea7479c92f1824026504a88bceeddf3bd039a40c0c166dd5ae03b5d311831c20f749a0269a30d3a11f0d8a5025f55781615d5c8c6d5814a672325a76fa0c17428b11e68d0186750008be7ed0a26b2ad020ad8e82bd1268953ecbb685069d0cb363b4a2c81994dc55aa362308ab55714bf0129006f0c2cb65308263dcdb148a1f290da212794d7ecedca4a6813d48acbb0190067b84e18879bd6880ea09cf3fe5676fd1a0a955e560ada63654dcecbc3c3b3047933072fdb57e3ef3a294e0a055a3133fb122f43ce313dfe5c6f6f9c13165156339d46445951eb004e469619b60a2f3be95951c073258609197d00c3589f4a66658b54d70645a8d9cff415c33ef725825a7e47633a369537bea7adcc035940b0c8ebc65594944e8d959b74c444028bb6afd4cf503807307ad9d09295a2b6f0dd4005bb7030033f9322110d904ae8d7709810aff32a908799fce28bc1ed4be9c6e3f01b279454bf484a4225c102fa0b2e66de3bcf466d4234316a239a3b7f25e4e36639d081973cc893ceae82c1748eca5e9e7d5954cf9430397f040b03b23adb6b4472f1d40398e72cbb43c9694d2c2e22f085c0e206a6051f9461a958fb4692067e97b59994e0079aff393c5680428ff1fafc0288286e679f5c89a0a83b3804039e65d30e28de39aa68380d69bff906ab9f226f3a0dfb5125041685c068f9a57b983173084208e979e51a954fdac30f289ff1d2c97a6e9e2b0b3b06ca4344b50152e4db30be5dd1b376756f057b2ffeecc5eb739d7d48162f69c297d27353875afd37f73aec4e0f7073ab3ac0b85618f8e7cb26a9883c6e80c9f0aedd88e2897eb2c969373556730613050a7239b76df3afafe14977767b1ce24701463c5de180815dd9f4ab433a75c5f2f7ba35fcfc3da99ecb92b9759acd86b95a7a4db99d094d81286502b496be33485947b6f904c5b717ab9021eca931ea9c572c43320827e298247bfb49c03e2a78e4d1d9b32132717cf50a8e657fe7189f31f57e0259469912963c3baa1e7df3cafcce1df8e6708fa4ab84e124b2a96a5f4addceaf25ecf9167707be576fe6e28e59970c50249c6cb33f1034aa3a3e58ac2832b0fa8bfc2b960b022de749a67e6d6db8b04bd7e3bcf7cb9962b9cff4b40cf609a431f2d311e0a7ad9e6f10117d3dcc72d1fca15fa00545c2e30894928798293575930cc8b1940e431623c0138f357adc243a52b53c4bb22adc7533909b8ddbef82bdd4413af54d8fc32d10bf6abf4cc248c218ea79994a038dc25f951efcc846dbf927e6c63f8d19f28c780f73463827e72f682b18e5dbd24498cd2645a0e8c51d23c25b0172f41e59583184a5257241957ad262a0a929510d7fb1ec17d60bfbcd5444df9e6435c54bb30c4bbaf81e0633b17fb6d3072ab50efa4a97fb1ea15a608f68028364e009b66fb87600946223234ef0183786273e0ee4cb102ce6038d709d0a92c663346a29bc41b857e8dd8584ae12ee843a9a84f8039a4262eb94093c0f28e18b22d4cba5b0148b90a63052f40ac8fd971189e38efa75574267b34602cc214aa490e3ad44424ce63c07e2a562327bca70f3c5202b7b1fcd04bdd00782f489061f9fdf37491038de9aac9bb4fde63483f91d5fc78c810812dc38a0159025f8b0c4dc344b63463dd65d6c28b5095b9d1b83db48f881ec6a860003e085a2a19402e8aff53dcab6d9a82ebc2178cae183126bb1c8922774dd5c17c6ab46e7e8885b5370879a28f0b15e34fffd8e2a1c0cdb8f8331681408a3f079ebce09a0e7b1ab4207237e8c38d8aa3bf89d3066e6e79eb880f925b757958340720c5e40de3fde0455aae5e9ee6067a25a7577c64b20e91bd3ef83924d1f8355d93c4d1dbb35f1771f9fa90773a92c826423a80ed0e19d956e5c60cfaeb57e3ce63f4f8b192c147836a9413b97d17f42115aaaac12a640e436f2310e698a88e3ab9665a56c4bb4757e9cfa52445a61d9ad87e0c46dc4495b995a57d4c1d210c786bf0fd758056b41d271babbd4ba0732c448a9bdf104f1e580a3f0dddd972ae39d7e3513298d77c629b5e48ff822922a5d087a6469186998a428f5e83ec09cf167c80cc2929dc72f13f83694c0369b0aebad3cb1caf0ac4f2a1f00e9620c90d5eb9c9313988637c632de4cdcd372e33507ef9cdebea790a258e11ec860250454f8f842490f84b2699ea4846672893ceb4e4b5e478f29325c762c105c699946480e3d740e0873c6f118990b38ed213b387ff89e29cb3158f5b4fb22925af109611c0b6091d50cddf39a99963da9b94cee0082daccb40107a5d908b7924f0e23a1c383acf6fb1ee3e48905ad0c16081c401c7d15cfa9deadb36ca96c5efbe8379195e8eac88eaaafd6664f6aecf339ba40ed059f5a410970ab1855de5c95eaa2bc6f49e97248b986b52855320ab0d01ca1fb94850151c351fcbe0355c202c296c204fddeccdbeff9273adbc52584af1b4a0b78bc969e212345fca52afd0e40d4590f501291879588ff70dc642d1ebfec709293a3ca5d84bda2cca9fa5707c45b89ec650524d4b41972d53caa5885c5a0a1fc794c73ecbf32e0d1da1ec1884ade333f1c81b1ee983bf072b46967efd766784be361ee4a0a665a2aa8fca15778da316234b1b8b3b323804e16decfd91d88c6563dd8137eae88a313ce93860ad133dcd40b2237a8268a40b98cdd9fc3a04333af82617cd3cf3bb7f39d07f1a2454e69ae6bf8118afa7e3b9e8d4d9e7c7b8c175c1e0d45a0c1126f1637ed1a0b289c93f41ad80f1c9a129d052b4306f244cef1a62654593da8901cba67404dc2e22839da7e995ef1685acf9aac0f5a6e6254b7ee2b942318008ec91fab97a3e8f03dece326cf7aacaf3785f9bd4f5a7e9f30b1104ad6411064824296b1e44cf29f491b43d6259afadbab98daa87850f2a9ab1535f3b46e3ce29328bf8afc30694a4d6394e640aa54c60346b973773e66d9a83d318151fcfc530ab2f08708669bbb8dab1cfdcdb633b8f280084fc9e99468d8a70475bce924c837dcd426ba325cf79d2c6aae5fd86b3b8b91efdfd8c13e8bf06e71f7193078c199cc6fe5ce99cd340c98fae9c97c923592254e1350d378318020eb698538807b0289453bb7008c05d6cf5a9013dcbf970843d5889510bfb50b3bf0334bf2ee88a0643176f68bdfc756d925840fd4596125c072adadf1344bb24751a6a5e0799485d40de3213ccd10024cd3036643b444da48b7107bd4e88236ad25e9866a45ccc5552d97c401bf1ffd81d38e1377da5cc7d535550c36737b5ce6ed591269358fa57075cea361ce77f639d3e402eb7bdb12b9907336c31f3f383cf3650e351eb87297c7edbfc3c7194fe55110ae8605be9aac0dfb3ed5a0cd2445c3dd82cd83dca41f079873a57ab7717b866189b4e471aa5018174cc705d87485399bc48f7f8c86c852667abe4e0b0e8f40775ea9e74c61f8c5c46e6ea890ff3c7a1c4f4568e4821240853c484416e76ac2d98c368b3a984248e72917432ed090a0a0f6ae387b10692aea00ff6dc67b4a49843a711aa6f3ca65b93f4f7a5d96972b722f391f5585ca181c3186be913ec3f91981315540169c15f1c9e258c697596679d046a8d16b786e60380078bd4f48a469b22d5e8ed8e7264a413e3d06590bcfe8a9cc826ef896e51956767d68127f2b8e8ed34c3e7abbecfdd3dd32c1ce82a3c0999e57dea5463a2fa69a1e190d70f21312d4aba389ac4de5847d245a7e96c0dedb4f8afdfae0498361de1979e74f0a05b9255991cb6e22506750ca3724cd137188b7638e596612e168fd0041093312332e5d2d9e140c72b5e5ebd5cdad46391b8c6bac361c928ce16e2e27a4a6f3d61eb542e4c149befd28bc19d020d57a0da2d727ea538312ba1befa9b41889117698d9de796cc82c4f2663d76f4500cbb816d4b48be8512a428a5420b5e7bdcf4799b70b126c62a0083a6153d687b0d47c39a07effd01e8cfa88587dca90860bf5619b7cec612f0aa57167d0afd82e60e62bed7920435e9c3bd2a527614e1fb73ec1273b0640edba74673f077ca2391fe816df61294fe9d39e4f44b824ede7d3745a2afe38c866c558e107b0adf9a3ce3df011addb3c68f767d2c4a2d940cbb1b24cccfc7e2b7674be3c94ae6b6303d893a5fd6b00dac0ec078ad3dd00cf4ecf893b956aece5d8868d89bf4cef42d4ba33d36e1c3f297a05d76d8b8fd7e38550c400ab95a2d87391837fe1d6b8f9c0c5ea686d3122494391cc5f54d498a40ce8bbdb55ddfeba7c26e51f5fde35a0249024ca8405f15fc2a05c0247ac87e3b2c52cec96af198875529ee64433c806dd18a23e9e178629fd04cc01dd679049e463149aff08c45175665dd77d548f6446a577d2fcc1cb03589ca2b695566fdce6156a1144097201a7b16af09c8b986ff05ac3887231c406589184460cccc9b888b70666364e38663ad20222a0f6badc88119194048ee2bcb221b8f9bba068d906e22cd82f94da6d266d36d442bbd374d3e6fa92e35f45cc0ecbffacd0894680b40f8a6f10c040e53a6a9d7697dd3e6aee775a792c2f9830f29de46264f89304a690d377823cce11bb321d4dbbcfe4f25dd94762be85878484eea9fa85e7388225be38a9da9f4bd0eb2312635b0c42fd0035631ef9b1be296d6b021cf9c12d6c9033a8a5eb6bc5f7627877c1c21d1aca07b598a4acb53814032f78c5f13b2a911b50b57271718292c18354fea1ca92af9de1175109b597d2c792602f63dec8e277bafa32782d96b03f8955917198a7d0f942c5252986792d782eeda19bf4c6f2d9b0d771163d12a745034a9394a3da0e627e61884e3ae6b11aeda944096d1eee90c5516043da8ca57138ace900989ded44e2a2f57f575fddeea9e7890833718ad71dab8b294480b7e01a4128ca3ac85f3868e2b280f226fa3989993b16e1a0e186b2731257bc878d7193788e929cdcb5a0df84d5a3fa591cd120afe12e365a22d4a75dad19dec32de5f41735019999652c10f082d9feeec7466993d8bd103e9ef325e5168f30a88a7c6df4341294676af87811285af2b2f7367fb403341fbe2bd4c228b6b21007c23010ab5d4b262fba49d6f898cbf0360e5d867d357769f8ef5290b351207b8654f9d27df70b2e90fd7c0524fb8ca10901de6a7cc8edaa7870f46845fd29a978022e031f382c6bcfee865c9460756555e99c568e363a2426b31dc1f79000c197ae4297df840dbc6d6a2ef365a58e048a215391725452dd8dcd23d31002da9e126258f8a453c362ac5bc50b4470a29a9343cd7d1eb80814040cc7b7c2a9d7143eaa1acb42e005ccef0ced9ca782042433670c6a60b3774f365e8a65467f0cfa2594b4185da0ee37423cab664f174375d46bca5aa003c552089f130e66470bf40ed11a2441514974233e1476f544494861023f7b4d259d88fe7756a3274d039d2397f1844a5f724ca758608c737af912482cb1de1f4d5dbe81436b6c4d0e53fa9f4f87d41d1d464a44426ba8e827a470806a009e920de8d3870e71f5a1fa9ef8b87ed82690687cae573ab034bf9b6f9ad706189845fdbbaf4211113f9fdaf84e67050588a820964953894f14a267e8a8f461800d6cf03b0d8770bd75008d92c4643cf2782590549195a2ae62faf88eca992db792ed93cbce56585a9b91f893f930f09ca7f92d02f28567c48e6f24cbfb128bba34c0fe051d198a01848599dd289b00078c580ddbd7bb9d4f21e891625df70880830582f83afaa7fcbd11b5f7e9e6c14c2f5c5a9190e0db8dc58b438ebfffb635a79dcee7db449621b7557b897b8486cecd3c17d91235ec87f9fd076dd1fc628666bec2dd9bfd28b67b1362816aaf0cd92de2132bbf11021279b245a37802ad304876f7ba600e0da36db0e8f79a2ed416bdd606cc13d02d6008a00e3d42853e6774667c5bb67a2d8689669e8e86869aa9dcf5ad915f6595c91c259b00709842d70742679475cd8be5c6c501bccc5100fa2ac6d66a1ccda662b557e86bab6deecda840d4a70a9ba7cf5f4ef3c969653eb5c91beb70149f66e78007b0cebbccc83fa9e6326f2a86f9bb09bf26c11d1799a9fc30ad57d46125698a8d1bd9daeb94115b2f18f74424889a6c44156fbb006f7131a6d4b2b3fe83872b46d20f75e0cb5f20de9dfd9ff1701b50dc3836056ba8a8cf825ab20da005255084bbc78e832db6d6e24d3cf1226750a5c561bf6a91f711294aaa293a344151c0a4b53519da5fea8202c39a60de4395293aae23efb9b4c76a28aa46691a682e4eed968c08b2a6e1989c647310d6c49853c3ad5bf4145219404386869e3feb5b214a43602d89cca6d91e40a6cb0a2922548ae4f360147117345e6a001096b85d85ccf96a468b03fc4216d5d51a127e8f0287ab38db2b6f7dfe51f7834b4d21dde6e77e545a2f4b1d1b77341bf608a7351b49402a61f28b406ea75e7c2c27fe21f8908145919fdb1011072416cd879a6f6b5f038cd2a6f9dd430d1fdd69a9869b7f7f7a8f049d4190f40121c496fb248b343b21d11e55cfed717180e8aafc6848ac39c94fb7f8d6ac0bab0ef818b24de66c64bbf9b525c7f1816d8082997cd340265b33621eb0b661f13f7798530bee1a5c256ef01b7c7a702c8d044690c9525315909158c7d9c80db749574bdf5e48df2f1cf526358694790688ff57a5d03c18b02e1d1ec9768ab362cc89985b310d130d730fb91b4ad939daccec9020a30d96abeff41c904edb8e5fb1a7a3bd3979da92a8d4bcfe345e49e267ded34ebc41fe33440e430b2ddae405d6409a3c705c7dbbb42c93b36f06c0dea2d2aadf63cd69ec762ce0d5bbabfb9c5f0bc73915e6d7ef409943d5c582cd84e095e8fcd964d4840b9d2da9c4bd3a746a7e1bf2905b6a3e3728130fe64be179fdc3a3d6e729acba0317f479ee94979568c3b4b744f23293299d89380758e0d5e7d05781749bc2bba077035822b756c1c6ecf106bed49dc95b2c79808385656db312b12dcab649243104d754a41138b6995a0a0226ddd84a7363f5603bd1c47203e44bffc9e37efed78263f310de9ed3c7e67c3dc01b08c05dcbcfa8d46f4a9a8ddc8b3b0922ab7dbf9877a451f5bdad6954cde18275118abbc134b8bb7ed3bfef2e8df176b1b6a81dfa209c8bf43dcc66bc75d92bd94b8a3731ccbeaa193ce4c446306e6ae86873b4fe447e68e2339be2250aaf3963ee36aea8ceb5467bdd0cef28a3e6b35729c85925865edde27b01d6332e46c784e4c480649a9ad411c573b5740a68be9cce753faa579df81f85135e0e8bcec124cbf4c40d1253345f23aa4446aa534d1affa004d343714b2441236ba0259d73e9c8362899e9eb2ea08fcaf90e58d7220495e49753425e9d0a4b083ebc40e26493b3a2975e4b4a8a30bb20e2e493b9a264e477e0025db76767f83cca7d2b1006c9b4eec93b91cec905e85ba43b6facb4bf28cab8933aed29df1463ac33bfaacd5c833aed2ceb84a3acb1be9acb76876c6948628677df88bb09994448481f6edc8c7067c5dd829d01d081d2527dbcf984fdc9aec3bf0a5a06e32c25dc6d7a58f80d75aadf139b769abe450fe79ffbb17843c08ac1d19506b7f24130190b11c992893d754be1f9057db84c677a22782b2ffb915dfa24380b7775498f1af7dda044181ecd5762350ea491141e46f0e09c77fcc3390b65e278c7a16be93bcb87475d8cd6db3cba5e8ca4be780e3c4cf6fd72e4338c04811f9502eaf300f933958457be2760643defbfaf1db31115d488b8650d53a36d1c5fa67afb27f564b8bc4557e91c676735fa971a0cd32b44454a108653fd3c89220292c2f0fe407446e4b04a9f09c87064443f6f783579069314d39d5f1f7d30da9c023579f4e90f1007619ff243f7559ae9328af33cb0578c76c68c7cfbe3a2144842ac7dca6a0b94ddfb2b2994666f3a1f17f21e028e4d3ae8e896204548fce90de79146a1c6ecc886117aa928d7da89afd33d4b4c585b025f1c6a73556420c196c3720de142c161efd2737d4d6ce8abe8f8e7bb3d94ea3ed2d826bbad108ef05c6348cdef4781dbf6e99353be5f85b8efb6f42d27ccf9711319d8b516e64221113cd8761e1bcc4f66844261a169928e88cb3fd14072fbdeebaa87fdc46745b6d8fe41641fbc0abddda20acb6f0861f975cda7bb508afd64eccfc91d5f5b72b40324c0f3870f5b24108b9f885988f6009a658c28dda429a42b1da7cf457af0e91b71125412c415479ec34401fc509921c1d80f3499c2454238b0de360c41c7a4c96bf8bf8bfeeb263e38b5bba8d16c3f4158de414057aa983f689b7f9a871ae2e22ecd4d6b04a44191b615ec89674798085fa73d48125d124769e32c9f50b215025228e7145115a381297791fd4370d6a07014a510198d1a44a3b09ea13aa7c45261b809020db09dea0abc078f88b75aa2c3eb0fad38042d36b50a05695333d619e05aaed72a70607114c6efd7e759fe904f264b51e321ee43e4807e687c7a66ee68da09d6b9cbfdea5ecb3514def006e162de4fadec1cf7b276ed4f65adfe555ec3876d20e639f63cac3c6de18b0c91b6d676f04cb32520442f401aff2e1abd33a3ea8f1ede448ca410ec518dac623747cd16d89306ee622371f1ac937de25f6ac045dc80726f9bb02f3fcfd85d519d08c453e9cc1fdf6c869f4fdfb280f04c0144160b41ca204c3159d45ebf521bb41333e6dedb394e8e5f089dd720ce0568cf2fe4bfde40a040248e29f281d2159badae25d10d56e971b70d8da8d0ab072f28fa4847fa1c0fc91f14561abc01c44a62dc0d071fe03de3aac40e02dc3517db4ac137d9e57ea04f848319c0dca4ee34b7136fdce9de0f44b65f0d7fcfe87cace9e6fb2193b8c7d9f0bc84f48cf3e07086880a316c2722f303f130cdaebbc085fc74fa34c3b067ec6170156e5e92f3432ad83429f1bd30834b7daf8fed7993fa60c3cfd390ede291070525f4708aeed01d877d10e1934dfdae927f7f000125ec97900ec7b7b87f4ac44d58cac98bd734262fb9c9ce9a2b92c7760adebfe9fe45f6e4c7d992c6bc847164fd0bbaed95f509f430012a2268eee99b20a577e02c13760c5bfafd28407176178386d82c06abedfd5a9cb59cb6104b0d100dd1080fc3bc4bd4857c64687334d75f27f4569602e6db5940bfd071e970f9b6c4e19b2c560482718a38f6f836279fef7e2c1c546f3fdf7d1ef893bf68d830113a844f23744136261c79840e136299a77fa61b8d8d802ef377a2ae91c90604859ad8ccfae9f8474c1bbce27de73edc9a59f88f2cd6ce87f6f970456b3612ec9010f1cc3c962ee93c6992162148333066f5bed9f907972a8b9ed98c9d02c9550d2efff9d2c5b65de104a55403518ece3b89b73ff6058649f518c23128dfda76e069491c6a323d502e46a7e209a9555fb1b53846de0d4ffbade46ae739998601a79112af8831d037801453f300246455c9f93325d36fd6572b73cd6ad1d07f2c6653d90c79e2d727e60b0b99a9d02a381b7c2f63deaee7e4fb0c06f1170c70d7d82537cda67bf2cdb8a27ec8a0841a66ce1ef97280912f7c837c97ff926e6bb11ab45753f3ce149eea8f9735bb8b31ee55fa23340a410c4b918682f42bf0e433c0ab6f46740f9defeb5037bdc7738483b9a3c6c668e351c9b4b8f983c18d18e168ebe1e5494409283b1123befe720575c9cdbc54e93db671a952bc5e32619e5f367f4f7a5867b24e6286adc2b9ba4de08db16b2ff9b3b550112aaad9f90808d9d4c1b9d7b2ebb5caf428225ad3084564f8defbf110da02ce80110825440082a142ea267f4fe9621d68a74cce5777a3b090d4d3969803eeea6f311a942a924c40769b85308817b06c36051299538e65bea39d12e80cfdd7072dd72d268ad98d2d701148c0cba05d85a67f12df1573a8c6b1289d3cea531a818bd492454acf3f5798d46777e6e643941084111007b246cde01f16fb2a0623a3c647d10409b9dc475c09891a471c8b512ec61c9390d00b632c4b99ef8059a846d0045d2b821772522409156ab6f6f8ed8d23280ad66eaa38b3398df72dde638d1508441f746614b7302e964f1810832065ece1e6b434dce5b21b90919d05eeeb63960576e620a89e30c4a772002adf2dd535286faadbc6936d9ba01ca4556995cc0d47e4040b08ff7b0a5480748f3614d58296717cb642254d1fe083295cf678191992992c7e6db3b0dc8388589506f7d969dcd1026e72ffa45490787eca0b625198f41270b43419979403f016d8c62c76f7739c248bb6aa65f18df7673be70f99f7be513707b0d2985de1eba4828b9f7636613ea7c259b7b818eeedf48e348df95a2b3762ce682fe8bf49d81dd8d4cfb5c3d8ca09aaa57ed31404e9ff1e53a88931fa404e964c3204f0c52a66da7ae666ea463b80a0e664e938e5ffddc77acb04e06ea190fa5281c318b4f9442a1efd250df0d892457665c7440a8e1b2c900bc98b4ccdbb2db605c8b034363927a0300bc661534bfd241de5f1601775a58dd0d556007b8077e3e7b6d7c1efc89d004793b7d5a71c7001d15350fdfc3726027a58fc98f6506019ef9620c6ac509bfc3ff9087a940a2388b49116d0e3b4c3da7c6ea3458584ebee97991561b322c0c59551270abe727a3b5df82b54dba3833212eef1b165766a93ec3f6260f75591864a1ec8976c6c8d77630e97c12c048108448ddbf7123427624c993db3c2ac4af2aa1f1242f49b6432acbd7f185c8e616757690b72ecd1436f2342ef9117d0aca96c992beefc760098913ef0234c090a45aae3c83febb98459903372a7b53108e8551ee0ba3c3da4cea640d9f150e5b7a077956a62adae3e13da34fa88085972b85b97cda29f99a238ab148735ec25357965d398ae80bd939fde3a94a01f161ee359f553be258e518fc22901cd484f4f104a960849b7988b2e41019ac215a43fdd6f47815ddb4a89a262032d88d8aa19e66447f73192c5b8254a637c01ddfebb414109eac4c217bacdeff00262a58691a4dba591f829586d0abbd0d2673da3f1362d8b3ec99b3991df6d37e4ee5133391609d9637a8e65c1d2d83ab4c512072f6b779b1c60dfff424d0da2ebea272f80c7d082578aefcadb78b2ac7165730e52f1e7c05b412c087780248f807a88101aa24000e1980988aadfe70eac6f3390ce6a3d595348d92889aff0fd6db7e57d627bfa9ec42a2ad13427410e2d9012ff008bbd62f3eb87b7849a45c4b671068977e808d64b95c3fae877f7f5945e061c27ca79445662668ee7607b389ad449b842dbe93e73f4f129aba5fccfbe803b8dc3df23352231dfc4a273e801721c19d213cef6a8253a2044354723ecd72023d084e72f3d43d508d79d6e5e40ab6011d48b47a059fca64bd3925257be01b25f2a010f08d22eed3e44369a532b85e97f6f67164e8b1fc66df834ff067a2441487378afcd5f59000c87e1e0a1e22b12e1620856ef8ff4a1c4793de02b373a256c1254b749d691b10e561e466dfd37d4a40f58b9081e5000441ae0bc5b7ef7275ee19dc2bcfb084c0a4da99821e9936f2faeb8b0930ef438c5b4c433542a74189616142b4fc12ab06023506d66ecb9d62aebe9ac8297bf693992b67555383e6f8c1163b45f047362fa8440abf163ee24f0529fe49ec20b6a8b10c2599ae84c26dd21a28fa51571ada7527cbdc54d06c98aff8e80b5fd47a14800e0236b1abf0fe406f28275557a2a2c794f4b4e6aec32e2fc6c92a2bbeb41fd4c39ab292ed3950ab51b9ed2f448e866eba54361d2b0722fd17a1d60333039377b45c94023121954c01e25a20e8478c85a4a6db237af78277fa0e99088bfe07a4409ee07f650f0b29a520585082526441217d9f5fa3b730611b66de14ea1ae83a2080829203ac22f6336813d28ce60c98c44a8086de1e244363a89cc1ebfe85f0be804e344f04fcb71f4aee8778f1d932050da30752cef0c7536623f0df0c02dc43fbd0a1e1675a3e807d88254dbb00eefc7148828cd567f2bcd3b75b05df57742daf9f3c9e1e91acb5255da966a96b423f2a108a38accfa67b594f0bd5c675a901785aadd7ee02e257b389a601047c45b6e190ef1dd11729597e3fa0aaa3449797674ee4b0c761ab5d7287224367ff23ae71df555e339518cf5684771d4a98721579e28d435c00bdf58780abd226de7f1ebb1cea72f49fa2b88704a643710d54676881814e2ffe611b9d6bfa87087360955a46e18209f0e3039d7e3635ef05380a3644c2978cdc8d25629ca6744eb70188f0bfd70109fda254ac89f94dc687303b97722b2a3aa874dc10a833b9f0f198f6f6c3119fec9db8d398ba173bae847c86e88e5a00aacbbfb234f354254e0fdf0831bd26bc7b5e1ba4099f7caed31ed9378231928137a4c26f814871bef327fff1c1dee2040684621e956ba48584b3442010fb2f4920e05d85fdc861095c5211e3c9d0330723b96b542c83cfc0677d3f42393af93bd243ea4f40e6646a62cd5bd4c5d15cf9814ef80dcdf953818b23a3aec05ce20c3ae7ccfa5ba8c2df8f81ed1483252dc2b527c6528646aba56e60a93d87113d96644db5a407fd0b682a585111650711784a01b86c94207b525299841b29f0463e6812c4f9d3e24860434e3ae4fba37e2ee77954c91593d714e6cde8674bb85fdd94d66442e818b6e779c9f146c8993b2efe0fc0ca2fbc7979863daef764e34341ed91bcc15dffdd39fc53e8e0222eeb5e95fad0cd9d5336850432e7dfb4412c7b7362ff709263625d0b82d80246c763b23b81e524232e47eb7423d59c0609ea61fd98451f8f7763f12f942b6d44f60dde84a983ab1cc894f023a9db3ed8f08a2c050cb58b30cd732a986c3b619763c84c585bd5595b08015d886f2fc315c41645bd9f4087d76fd1371dafb9dce46de5253473d4044c17fd1b88c932d35ec2b81ce5cc812614392e51e3478e62a036f2e78621bfe161793263509cc0a5a0d2f6f24beea0e22e40a31ac93ce36cf6279eed7c38132e399caf6513b95bb38c456e7521757452dd5f21366487a73244aa962dcfc01401cbe041fa9373eceb05508508d945a281dcd87c3600a571ce1958cf175dfd220452448d46a34c0b73193dc94e99eca77a190e8eb64cf682af14a955f8456ef8ada13648d39d52d72b570e799ea864d0303dd45c98d4c3c6d5150c68e997b308cf92cbd0aa048e8fe7ab837b30f61ff6165fdb7afdc95ad7352f1faec5e030feaded019e193502ba89ab12a75c8287ff95aa694b1ea004b1f870d509cc9a0c789dd3be8c8121db1796a700ee4d1dd281d0b50d5fb73e936a782e719e585068730ea8934e76257c3bed5590ccdc89257718d13bf19a47774c0e622c555b2c8770e66baa4422b783c2683ad06d822b6b0ad7c9e5df88ce4f1861dad75864a22d4b22cb6df5c8aeecbd16e66db0be38fa89b6c69024e3aca402c0cc169dc25a0358cdda81cc9f761962894c3b80917b06d1f5f15eb16f39c093fc8bdc85cb822851dfb20a5461b6e7f3af3f3323a061c4f68f745aeee96fbb1cc14fbd894a2de67128b7e778ff176ced51126cf708d3b95f3a212341e5874b124454d263e009abc2380d3a141b59d45e90a49a96e3e94f1993a4b8827d2d0537f6be7f668dcb528e6a332794ca6e247c141cbc3c3ae68151e7ae1483ee12d84733bb9bcaebce6f8881d9a971062e0b6feb73cd6e0556568f3bcbbdfba5ec280ace1b41b8ad782a05839b31d7133d39525544772bcc99fbe3d0cff940f068019cb798cefa6cc7b05264e89a93b98338775271bb0f00bcae51bd9811f9abd8e75308edc4a7b0e8e417398f71242fc8a82c0ba596089d69d26a72557777d8d0f28699f2a73b20d07a344bb41d8ec4f1c7729c02bf56440f5b0778af752537ca96eee058f2b643b84d637f9774164a118707db05077c905f52f2f652a49d4dbff0b041efefd9a6ed28d5d1ee5692cd110b0eff5f1632dafd46a7edbf35b8bd6711ed665ba3c987f8258e97a8ae04e2c984b140ebf26652b7bffa541a1295a211cc7f29700cc5ffbe3f50542f8f128087c7aa1403955c8ba3fe3cebeb6f8016765babe8e4a555415d5208f2212e86096ad0c9c9f8d3efc500d4ffe54f293e4e09b3f2c705b3e87e2e3ba2b6b24c46edde19476291f90d1f34a91de8d402316d93fd7882e5ccc580c08c3e3e92fa273e660b14c922e860e69a929e40b0ec9032d7507d9f7ceaa2b298fed72becd89aa99938315644e0928175d4a90bd58af63e2169fcec709d74670117c971c83ea41187617ce8b9cbc5a15c0d85d67224000aebf129bf8e573dcc594f3a49fbf406b9172c87298d6dda24e5afa819db2ea640c3044b09d344fec4b97ebbf7a30b81033e25f8a17cfe548a4707b03b1687072479d7b93d2dcb042caf73debca9c9b62d5b59d616203c47a12eb02fb460fb01cf60efdc1db6931291d4a111ac7bdaf54127eb7f02a4c06235dbfaddceb6c94548011497643960eae0c2571dc6eee5ea1d8af3e2204b00f892121b31eae55a125de1c3f8fc58b4750754a769afdbfc0c7b11c9c4f006b1d469302c55a35a4218561789054cdc6eb50b875bdcae4ca775c2b7b36cafeb4a58e2fe273200f9dcc6f93bd13cd5d5c2ac8ee6308fa22342a09c1156a8e053402044bc211fc979dc396a1fd2b06efa0207383f7500b59fd72c3d89175ad347e22ac2bb0445be0a72c0983060d85ad4833832bd0256c0eac90b51541fca9e4504bddbbca51f3b2bc5ed078619a97024f0c7341edec612e71697be91e282962da17b6f9d89e11085f002fc1b8eececa7e7833a4f079ede3f058fcd42b29b4671670445b6ea1c92c7c808b792bfe355f445d60f914cab7746c8e14860d92d9020402fa67db40d6ae5b4a6adb6bae5a86fb2fa1c332542d387d1f71d6536aba99c345bd4a0b32131cddda8ce4e47b3347623260ff99dca32adc93bd39b1c173197bcd659c312475771e4e0366ad412a5ad590bdc1854c89b5a7eed8adb207d70c50deccc2207e881f7c25f14d9ad4f41b6d4508a03417f0847788bd5cbb36061ec637e59105baf117ce990b73b8534abaad62bb8aee3f1c3f35a7695a7dc0f706af6ebb143d05117f6e9e499275db763a63abd92d431d99553ad9ed478dc933be3f2245620ebe1e14973bff581d291f81e381614306091b963227c8d3d2e3bf35ff3cdfc11cc0935439962c312024e41ba1ded23df40d77f698a1c47eb245da8b055dbe0edd32c53412e8a9a5c02a69d3d3a6c9542db13d204f92eca8e583152e6bbcda24f9fa9f2252971c71c19cb93551013c45b1b378c5a4260892050f1e6ed821719087ca167bd5ce5df1b686a9ed5b5f54fed8cb5f88f7250de0d87b5fc1ffeed565d78523550172caa3f34d6fdf29eea75e39783852f1286bf35f3ed797a3492d8504ce97ad05c5749eedede947b2f640159c2ff3b0d73610541f14173d38593814498d6ef8663c455e6914d4dda8c939e3d6d62ed2c875222a2ee17d1ddde7ecbf22fe93b6e5382ce2115283be9c34968e2f2e92f76d5ca5369c55649e8640ba785505eb85912314e039f3ccd2154ea44fa1d8ad62dd516e4493cfb15492acff9867e86ac2d20a07f6c265cf7588ab2acd989b7d0768ce97ad2f1e85ddeb7be34c012fb2831455e7c5021304b71cc909d3697324076106b318ded899a12f8845e4e51a9ad2b28ce9964f9a96fe53914c229fe30a045fabbe7ecfd53bd6a7df0a10f92564f0d9e67bb0c1d47a02a8db85103e8f3af72e5c6b5dbb42e886396b64d419601a3e63bd0f7fc8e7c5f50c5459c37bbacae821a26ef2d09e5a9956025dca61170a33a1fbddc5f19655b862c9b62743b31aa782f345db61451c372b68712af13d3161c2c8d647392d44b97212e43358fba6b37a7f1a199f806727a416da0f102316855d10a3dacf94c40bcd83c0f415556e436cc0abb44c9fb69555600df5cb7f44a07b82b9537d3e40f50d82fdeee819491f4c43461f19998a7882b9c9d4fb6a1c2ecb582f450873035229f9a6a42a8f624f7f2b844f139ec5a9af25f096fcc4315adab0e26cddddf9b839d8f9116cbfd081eb659dcb6fe7c2034e91f539f46cbb22c36a9db269b108d81c6692ec691ed106a3d5d56b81ef2bfe92561591dc921fdda93d1b267356b97894b398ac1f8ec6cb92d4c3bee2fdba89a43c301a515439f450f77262f1b6d8978a374612b6c2bee427e4caf23cca2d22b8e16bd071b8a0bb7a1bf3cd3fde1c5f8ebbf615d85f93662a33849d7f8be40407c2c030a935a875d405615750e79247cb1a80eda72694cd451963742750b8a973a9f411f4dfa8de8df38e9d8e01f268424f157609ea58f349d04534e9c68d64187eaf55b92d0cc80deaec8105d615675db3c6610c5eadb06b4cb063511112149924829a50c750840084908620fb7eb135b3d580ce3d9ebeab9cbd9055a59904c8682e2a36383bd80d1e291404ba956b0708182423f77b594cfffe7ca098bcaab605909c17a61d4156148a82ee20d5e8c75b57df212159413050546c21f2d86c660b1938bc693879688d970b55847c446d8c9cd970ba3eea92c4ff8434b714ba33a53670cd68af990793118ece49f516bc42a29299937d366ce4c99193361286ebe302a6462123295abce2d450a181dfca2f2f74d9c1a03fd2bbee8cb18ca623d9ecfc93d9ecf0764962f7869952321f95da361d47ddd60041b11f998262806839dbcd3628d56229c28371a3d891683799e8f580c168bf990c942b0180983975625b916ff09f1ad4cdaac8551f75df0110b3e12894438102834838d63c7d6b95d183a3651c7d6b19d2731582c76f2f1c5b3e0a3d68825ca8d562fcad2f322859b359919fb7c3ed6c896e2a31a0a1fc95edff7f221f36230988b73148bb53889c162b19888ea747e850a2a32613014e5e42169c323d90c87b4512c769e9c7cf793f3e4e45a45e54b2a56f80aef3a16bcb4e286f2125c6d21de0084817fc34fc50e918b9ae18eeda2f7c270bf4383c162f8056555639ce38b28a709839db693e7136ea278490ea3ae79c445c546b5918c86f147533947b1181a83c56230d8454f8e55b8a9829b318cbadfc130fc328ac56031580c163bf93db98d9d2828e7c8c7c9398ac54edefddb3ff9a7239c7edfa463b3756c266e44029c04c9843d08f6240f6c1402ac844a1cc54ab2d0ef7fb17e7fc74c98ecd42d4558c11c41b665573997b3ab8e46ae489122a6098494a16706da971db3bb877dc9344b4b778c89dac2091c0ef78a41d85d2be28defadd15d9ad08a95e6d2843968ca1fc28a92966cfd3ecb57969c7312cafc3338bb6ecb86ebbab85c185434bfb783ea725f9e0cbfcc7ca6f9fc5eacc690f97c71f2aabe74790915bd9f62267a7ecc84ead22d71d1167e91e103f0f9b10dbfc4f0313e3fc6e117007c86f119e6f3e35a8de1f2d93a715d5e3ebbf874a56794def2f94df565a73ebfad31625ef4cf5fe21716183cda6d697e5db652dbb8aece691891f5c7ba30a82e5f092a7a3ffdae0cbf883818b5c4751163175d427511795051d529ca98e8977cf9e8f7370ebf746a1875372e4cf112166e71b7db5d6194cda53889b58d3a6c8d46aa2e292e1a533c448e8ea8c1f6516c049bb1c4456f99e2a62c86517745245a2121210965e0962600dcd230cace66291978a5c9ac1b2e4d09163ea1d3293d658a7ffa0836c251a14205c402adcc9b69336b26cd9461d489058b13ea610255be4ad64557ac5841c32dcce274ca9539eb3cffb2732b2bcb51878d793c1ff3138a29eee99ecfc704993afacb9592f2e5701875f3df5c761a30607c4c264021508a776038af96abb638cf3f290205574d10c8b4854c9bc8ac6524ca277be63afad3f0d26b86975c32fdbf127c2cd3087703001fe160d47db9582d9c14294c42394ee6cda4fd7fe765c9ba30942b5eae52395ea0141f673e061fc1463823d7e8555bcc88447f47a12348332ddcccd958b859c3a84b4242e2eae6fd00c800838f6cd864a2df17d92e7a7950967c6849b662d2ac8d0020f3225bd7eda39a1344a39a180a7d0cdcae38e02282c1ad28072bc5c38f0f93c4c247b61b08041ac148f1af6b5e8109d86c72b8698034ee804bf1dd5f90d452dcebba2497bc2861e12a3429ae3db42f8d3526adc4c2614aa30e954a06ee312e62b8ad2d5c7c69ac5121517631782906960b2fb56a8b7275513cb82fc6ae9863fc947c759eb8a817bc837b19d568175da2b45fc32f2c7fbff4aa3152e577be9a349396d2b983eba4787ec14d185e7261d4692e7151777f2acafafd174e72c4456f4abe46b90b8220c978c347c3728e6a2e9a24c55843bb688ae39eb90e18cfc24d18388cefd43ab5dba9f5fb2d618ed1a836ce903b101826297e4f296e3fa583e535cb39e263cd8b73541bd54a2351a804324ba56a2253ef4275a640f4166f3fc56b6de1a2a6c50a4f47b3142bb1a25ca5285aae52502b1dc9a0df4f19d550db69d27ac8279316c2e937899e9ab45a2d2d494c5aaaeaa9493369a31760257a3aaaa5a09e8e6aa9ea938e6a29c9aadf2fcd512dcd235c4a82939650908a3d1dd5526bebe9a826f6dbba2eddbb2c17bcedd1ee65956c1808fc030642a5636021ac28b7711cc7711cc77114c57124c31c3ae304bc1dc6b209e30d1f4d59801a66b49a67fc0c6046f659417329538e3030e608b22b721c736e6563022d33515ff28d48c77bb6674ce4f08bacc6e81e9f7bb667f9168a22d70521fab52bbb5ad9d5382a571fceb95cce5d34a71c471da41c23d205952589c48a247b36968c606585a82f7bb667b604b91c468543ca3dc32f399773a36d7d94082b4a2abe9450a6d55e9c3beded0f149950a69986a7b0633384dd9e451047ae80190da8c004c21a3aa21d6560063053861e6d9b01ed3b565b8435d0076fb4619481bb2dc5ec0353c55da0a2eedbd4170ed4277aa6d9700999c6a281b24c534269e625645a46427db1ac9c1846c96275fbb8a82ee3300708040285ae89440a854221910595a54824ea5e34d67431c2517589c56249d8b21a7cee58ec0bc9eec557af271e9b0adbb715bf94d6fea0ac257ef9aff91f65fdf4afabff00899a040c8cea47d73da832dc7b84f5eeddf55beb49e0f7d6567734065428306962b735afc4dbf30abf78b9dc1265fdd4cb3d81c38d48b85e2eafec87b86e1f8f3384bd631352d64f3b395b93464304ddeffbb80eefd459477e6c83325f1d8415059f2faa82a059d0dbb106d4996f52810a65b8c5bf638d9873de5beb9c434c0ac5bc3b90795a97cb86d7f26c84a7d782a2b46f59705f6c11a11fbd858524b1f2f33069068a9dd11e095fc3c2b745c062f825bf602427e99c79dfec9b9567aa3ad2ef776c1f7d475c94f49dde993e3e539286b56ea22bbf72915254f757f1ed28baf693402a290bc959287e7cec941fce03c919c849598e949140f00bcadff24c77e74ccbd37f1feec52fe6c75376481cafd70e1c1c1e30588f58ec874c1664365b8246b311b9c1c03051abe14ef78b428bc7e3f178bede174ff7a854dd53e6961b039b6d598246aba12b565ca86c8c494b8d5603da1226294ca51212d2481402991f4fd9216bb45a375c2e1cafd70e1c1c1e30588f580c884c465ba2d6d24284d9cc96e27e2b50adaca0541d2d458af3071510996c86ae58b13126d54c06930131954a4848235108647e3c65871cc51aadd60d970bc7ebb50307e708184c0664a652f988c568a5bb8fb052966559a2f412457bd9e179e55e14dc52e9fc61c51e71d10bd3fa034371243ba5e7639a4cfe247d8a42f2a90ad4c694acd898cd3628ed112524a4912804323f9eb2438e6208d6b0a91b36e5ca71d123622b79a55b92bb4710d6abbba7b11f7e9ddc3b62ef805e3a294aef9ce9f7de933c8b3ccd3de733fd1e9764f4ced301fdb0f542586d0c8eb156731fae3d79c05144d13bcb7db832c228a2e8e90756ab7e3f807bd6d64671bb7101afb269bae8edbab7d69aa68deaf17bffd7c5fcf2be74a42799d0f224cf8dda5c94ad193f1c790e17bd39d010c2ab9e4dc7f34577b82e7bd72d743586e7bb331d3fdc7c871c360d36bb6e81442a4b2c2379bd439f92449ffee85394f4a98ac46b458538c8cca5accb652d3fbce3e73d3cf7cf1d6b4a19bed726e3b887f676efe1b65f5bb59dbafcd0f35c5b5b908fc79a32db3305a2933987eb32eebfbfc3489e36f5d677afe3debf3bb1fb8a76dfd5d075b36ed6cdbace4b9f647a8d4fbcf280f05c3276bd70bd709fa85527e1c3a96700889a8416300d21c4efdb5bebcf247efae8e8f954d55272a0777245cbd7a48ceb623f7fc05376c25cc5f7c41b8221587588ff8979bfb6af471aac452973cdf717bd1bdde1effd7d1fc86ef403df825fc71af0fbeff421f77de6d374492de10b5432107f4c08ad75a9f5ae7036ac8c91643f4369aa9af8a9b5b55c2fb0d65a67df7e7d5f631d738080fc9af71e41706424d2bb1f58a0730e263a4be3872319b41967207f517a1701ef6dfec086c1f542bd5ea86f04256655016555e2c7aaa77a55228923f4b013c1d3e42fc9c0af5f46d3bd111ac0dd06fcfaf401771ddd29024dd3fdccd58100fbfa531e6c14d6b65aadba3e757427eb69f209baa81a9bd2503b0f5ec7ef03ee58c63502044110fcc00d7aa0063b308318bca0ad1704b9e0caaedbcd0a511092cb853051c439c4d5bc9c8dd569de0debec819e868179799eb7bf8d67945e9f515b504101dd0c1a499765a980191fe881619e79b75b2876a2986b3366d06cf58c21f889b08c43219020de3e040ec7052c4801091eca8a4946bad843d27d248f7bd9f3f0b781dd65cfabd7eb6e3ee2cd66343cf35a41c27a5d48482351af5f12eaf56b9eb920f3e3293be42886e091ede92ee36b4b3211a1acd47a8b9028f1ef52f8a7e848f99d362e9abf0f3f8e83a501dfe27069c07b71c03420c618874c03e69c330e1d0dd8755dd7e1a06940adb5d61a074ffcb8f7c2ae9b4dc32e4e0e278b75ac7e8a9228d3ecfac00f411de0e9d5bc920ddf7b4fc3776656c7f981e83377e67636d9b6316823b3ecc539b7a86ea731caff0a8aea0b2a4dddded7e22368afc39ed59e474a6152158c4c0bc9b46222913676810ae7978c3eba82b245533ec55d55f70a21ac28a9fdbe4e34c11081f14e110a9ff7bd8a849630a43a8532c60235f503078d7e572c17dd6fd7efe7f08255bf6f73d37aa45f9b9b83eafbba2791481904c110934cefbda75614c80614bab8e8bdb31645b17b7144e9e88a2aef0a24cbe48e4f98264afbe54a7e5f0d9d48bfa6cfead53c8e35c7b54a6fe6758ca3c2d551ad2dc1e12e7a6f9e2d5f5cc4ed620f19bd98880d3fae5eec767bbe2ea7178b79b116ce42581f0b188771a11130ceb315b9f65e5c4b7ca3082b4a6a52ab4793b928be42d7550b0353f233d7a5bac8a828aee1a2384525c5e7c7c92d14b63d37397dc6477a4945779e981ec6c467425b69329d33355c17af26a3ba783915c5a9670351688a8fd85ef261895f152e8a61140c87f460eb3fb2d99f5c74c2472b6f7f3b7f1f188225def5142e8ac14a57eb33cb399700b928fc2102ed339bf1916114e984684f6f4fe70f18273ad2ea16e36eb812f768a3d14874e4a2f0dfd1aad618a64f71a63618375a7151ae0a65161dc958e8da747e704610e5444746ab70ace9448cc3b816954a850a15a51d7889037fc3a511cdc22790b75ee2ba9f701d285fef4b898c4ce1221a46e14fc145b3da02bf97e3d5cc07c1704c960937575f22c32fa19087bce11794c7ff81d518a5c7e4c9d1ffae3391485dd7e9ce1219a844569625cf8bbf4b6418854b641d77a56e979e0f6992258ebb09ffcc300a3f79c39e0f4e942b22ca7d70f8e5f4f845b11ac3743a453951cee4f17c46b1c4ed093f3979c328fc2d5bc7cff13f374ffc93c3952588ebf8c9272e8ac91aaa1b932479bb2836393fb82452f06ccaa633fd40974be4ade30f2e74c20757ea4a5d492a9241c738d1cd6c75fc209e9a31911244e8694884cc7c75910d3a7e92bcedb44466ba7a69e2a4e4131dbffee06064666e6702bb3f744094bcd32cc437b4abf49ad84388abd99573f799db6457f76aadaaf1cc9ff39b3a1972e97cfe6d45eba23d9fec527198d048e9cd5c1c92fc7a9ee77ddff7e51928765cd5031f94d6ba6e53f06e1e87f144cfabe4650b5b1b7cd3bc6cf192958592d57149c445f1f64eb1555be00f8b3083754d66954494adb1a623969d12df6c28a4cbda227fcd1e88ef8af2bac70193d78aca8de30c62175b57d0407ab85d17b5e478c34703ca3cf849dc7520dc75f616f72e3d1e8f47f470b18551ad8bfef0641f9469298edb852baf4bedf5a218bb5c1dbf67bce1a3c19b05fb33d674ceedfa813b6f9a6f9ae59b634d99b3267df40fffc7738a624bb4219a634de7145b17c52188dc24f9a41ed3e79bce3f6f69b3d24d1f822088826f3a4b324e6f7ad3a9c3cae90c9d086f3a5a3ce73aa0dd066d61bf8538d6a438a538994ca7957ff1e9f9fc418f6263581e94e2c3538acca33c9d4223b8173c8422cc85b96e5fc5c52056ab6e3fc5c52158ac6edf05176bb45addfe0a176f882ed125e2105fe24bdc21e28838220f1126c2c41e624c8c893f4499281383883371260a1169224d1c22d6c49ad88468136d6211f126de4423224ec48947c49c983b994e294e29ce5ba64871daa061188221288509359d238d71a5a3c59bb41857dd7e8b71ac29994a26d1ccea0e023b48ec20b283ca0efa7410a883441d44eaa0920e3275904907813edb189307fddb98950799bef4a1a9645fa5c9f43377858f43b058638d96fd157cbce17275fb283ee278bdba7d948f3b469c1167e431c246d8d8638c8db1f1c7281b6563907136ce4621236da48d43c6da581b9b186da36d2c32dec6db6864c48db8118a3137e648d244329540a6d279cb52e9b441e9a00f459186fd3c04200ab1043a4b32483aa0904e92089245b2c8b166441a914020122985c9e9457dab7c5ad2f7de6fb231e86fd28f3e248d6e509248648d56abdb57e1e40d97abdb57c1491c2ffb299cdc8183d3eda37092070cd6ed9f70b207192363e40f5246cac820e48c9c9142481a4923879035b2463641da481b5984bc9137d208892371e4113247e64820d28834dae3389ac611c8870e747668743c5c07c997ac3a634d08140281402525530a1350dfa2d1936ccc89a9833ef421287444093ae19d2158ac6effe49d1a2dfb9c776eb85cddfef30e8ed7abdb3ff1ce0e1c9c6edf847778c0603d62b1ce8f8eac23eb04e9cc3ab38e900ead43eb0ce9d43ab50e918bda2e6a6d20500814329124492243a68e139d9b0e9217756ee558f3193fa3c7338ea211e9d3f7de0fb231269f0fc70f0eca71ec18c1e13a5074729d5c19c46a550ec1b25fc2cb1a36d56a95375c2e1cafd70e1c1c1e30988f3256c646cff819c7f1b4e9743a201a23f6773e3cf7eb2179ce124829bba8257993a49475fb249eb1a62c45dd37d8b7d837d9b7e7f3fb4b1b43fa2d7ef9a158e6a01449bc0c329b954268b47248add69bb0d9ca22b75bb76ff2d208aec4955094b9324763b512c7728ba50da8ef0fcbb2aca5698a6627963cf73c82c6d343044b072b14435134b323f9e28b36c67cf14c3590431d661d949a144bcf8bc0e49e1aad96e786cbe5c1f17a7976e0e0f0b02918cce363f4c462ddee9fb958fc508b5b0319013befd303e4a2b683468f8cfc0e29ebf6c950f5642f9ad96d63c6af071eb006ca2efec83d4166b36e5fe41e21349a6748ade62162bba8b575bbbf6c3f622d45b2cfe733d67c5a9f1e27ccd1733bc1ad03196bbc0fb568f67d978b66229916cafba948d62d108f119bc2d9947d91099ce78827e7c9dd2a928980886c776f77efdfd307dcf345f3f9a17151fb9fd545ed6725a2a97ca02d010cc212c6b5058dd8b2bfbbfddad5da59106c18c678efbdeff5f4d5b76e7bbfe0e9adb5d69d2ef307a1ebf275409773ce5ece5e97759773ce5ece5ed65dce397b397b597739e7ece5ec65dd793ae3dc755df746c05f51428c31c8ba2b70b95c2e97cbe572b95c2e97cbe572b95c2e97cbf5b93ed7e7fa5c5f105c9f1804d72706e1138330b3baebb0666dac75ee725542b8f1cba5a9477aad4f3871895c267aad4b10c1daf60db7c2abd5aa5a99b55d1818d5f8d7b6cb9264adb5d65a6b6d7b97258964b3d96c78efb29cc0de6569657b5bd9caaeec2a8f607c2c136fb80321e0203c3f1b0e8670f10bbf6018986bb3d9befc76c46f3f924d069e3acfe0868adab00ddb8e50832bd3faeaabef8b9e11503dfbe6cd01d4ed5264417b5a6bef7177e59c33beb80461edbde34e4458f18b87692e8d8771ced7ba40eb4e7b5de7559aaeebbaaeebcaab821a6ad720adf5e7815ee879597be17eefb3dea7776aa0eb5a46d789b66713e4fc08c018a5d716fa33b741e939678c31c658e7dc755dd76dec6114946e478731c63647e7799e9775e7034643880ab236e7dce52e77df636ebf971287abd16875c3a854aa925b1b5f78516b5d1d931d5b63f6e333fd5c17cd9fda968dba4d7b2491f6fd4065794b6e73dc1e7c20f5fd3cfcb0eae483634d4704418e7bc969589cf23b35e4695ff655b388af1545b17e64f8f8c31ad0d3a38c6d5bd7c5c675e9f6febc4f1bd00742f913ecb0376ee366bc19de8acd766c41bd3967fde90c43d6bacb9966cc63ceb9eb72ce5a775df733770959632d9e20eb17741e8001771885bb9c31c6997719638c33af1de3dc7539e7222cdeb7d65c3f80eaeeac5d464169bfd244f15e50ad8ff16badb1d5d86a8cf1eb6d0312af8b785d6af7b79d5bd5b03011346ed0067c45d5abbbb33341ad189473d69adb4af2f67b288f6f47c25a9fa0cc28083bb8d260af766f471bee671bee5fab23b4b6c317db90bdc7178b1ed73c638cbb4efb7073b75708610f34747f9f864c43b638d74ca640f45a6d07c25a08602e602e589a8c35820c1247b21376c851cc5647f8385f55dd37cb8098a6699aa629d34df323d37305728ff05279ab62a3d572b9c0c4909161c6c6a8f8ec6aa948413939f99f4c52984a2524a4912804323f9eb2438e62087e9bc66aa5f37da5dc500855f62223937dd05e8fdba22184bd34eeeab25c6062c8d818140de8cbbaab22eeead2403939f99f4c52984a2524a4912804323f9eb2438ea2101a6d48add684cd56e4767b02875bd160611ff4915ceec4825b90f97c3e9fcfe7d3d23f3030fde3e159e6eee0e4e4fc41e6091c2ec7d2e20263634e991cce08dc1327ff93490a53a9848434128540e6a746ab75c3e5c2f17aedc0c1e10183f588c57ec8644166332134da905a8d88cd867b222723e3c4edb6e217ac014c4b0b0a46e3383f7f802162b3dd4c3e55b1b4d89887b9d9686023f2279314a652090969240a8102e210442444243a6c0304028142d744228542a190c882ca8c31c638637108ce6212af14dcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdc8039600e9803e68039600e9803e6dc8039600e9803e68039600e987303e68039600e9803e6803937600e9803e6803960ce0d9803e6803960ce0d9803e6803937600e9803e6684f7b5ab44153da20ace7e1f08b776e1c10ecc54f581c6e04525a9c573dddb7bc127f50da8c758733b6dd648c31cee28f2b26612f1260b539ae67ad7d118912a45d2161ffd1030b13c38b14e525e103fd21be3809dd6dadb5d65aeb6e6badb5d65a77de0fadb5d6ddfeadb5d6ddf6ba9d3b4fab00632cca441f883dd0d6a461198ca3d61abff5b4fe3e1abe4f6b6df7eeb6f76d3b8aa4d6d68a5abfa7ac1d1da41eadd65a571de3ef11e40feaddb5d6df08eab1d4e06b9d2faaf70651d0fbbeef2cc9d8a68bdedc73bd4084183481f674109de7795ed65d0fb1851f77fc1800a188566bad75acb5ee120a8d11a4aff5bfd65acb93afb5d652e56badb55cf1b5d65abaf85a597c1d6b58bcc5912ca0922d18f0e987d5eb5b1f2113486875d1fb15bd0ce00b483da601c6c3783cd6c0f810fd9a865667ce2d4832eade1d7a175a85688458d785070bbefd1011d7e57bfb215728470816f2119a5d97d1db0f2d11b2859cb82efff643b9eb72f2f64534ae8bcadb17b5442cb82e2edebe08e7baa4debee888eba27a1d2a906e53812ce053918f5e866cf434c4826ed3d0abdb104e1a2aa2dbd011dd8662dd8664dd968456dd8688d06d1aa2754bfa3454eb36c444b72122ddf24f43b76e43b86e434f741b3ad26d2a5a9d9f8a58a84f4544a47c2ab2d16d2a72752b7abdf85494a3c3b0a728a2882215c16458c0998a622a554bcb0b0a83c680c6406350191400a80c6800d019b4a334a800d001a035e80c280d680da80d2801501968015003a007401180ce406f4071401380c2f0a8cba30a7894e555aa192880833b01fc53e2c04b4837f0f367f01528caa252c58081a199a93202d4506738cca8b40734a0d62830015b9a43bdf5b043c5758003d65a96add16ad91bd665adb5d65a6bad356253d6dadca5715777d5a2425954e72d558f55a74d05a2350de8f370d2aa960aa4e5bc445c968ecb4ab1a458542a9633b59de5addea048961f9088546232f9134505ba62c5854ac6a72c05f8b4c5009fba1ce05318047c1aa3a368cba3331e65f9d4872ca9224a9619fcd668b5ba7d04f07bc375007e71bcec1b80df1d3805e097074c86bdb1fbe3caec9d5d2197666fed36716dd7768bdc9bb5378783c02b8b6bd894c52d7cc3a62c76598b71300f0cb3d6e21916427bb1b8869bc0368b6fd808c6e1f0119cc33916154b0a6549a16fbbae43bf1b6bd00fd194ca07ad3a338dbc62f182eb20d36d64f2ca1b6b5ca45ca458b0489da9eda9b7baa3bba36047c58e921d2d3bfae928a8a3a28e923a5ad25153474d3afa1d3d3b8ad251151d453bbaa2a32b337cea82864f55357cca62c3a72d1dfd6a6308f0a94b475154c6a3a977f161ca8511652af5335706cf43b0ec1380e71a2dfb36f07cc365bf069e71bc68e079078efd196c86e51e39666d16625336d3f2905ccb356b6dc66528722ee7ba20ba95b5dd0d9bb29dabc3d1bdba57b7a3c3e9703a1e1dac83753dba5817eb7e74b24ed605e966ddac13d2d13a5a37a4ab75b58e4867eb6c2916291768cac5794b172e4e1b998e7ea8b586a13122e5f55893f2618a0bf42cc960f1e8a3a70e322ccece89ee96b2c27580e93630dd6d8f352b58ac6081a22cced476166f754f017b8ad853c89e92f2e929a09e22ea2929253dc5d4534c7acaf794b3a7a0f414153d05ed9faea0f97445009fbae8299fda989a4f597a4a8a8b4f99e15358fc8a0f59aca041c982c5cfdc1978670467bf867750d894b53f00ae8358d91700d743b0ecd3705da3d5eaf63bd737b44bbb340efdd22fbd43e3681ccd43c3344cf7d0311dd33fb44ccb74103dd3332d44d3344d0fd1355dd34dd86cba88bee99b36a2711aa7a1d0399df382f056deca1bc263792caf86d7f25ade0dcfe5b93c1cdecb7b793b3c1c0fc7e3e1c13c98e7c38b793116288b15292c569cb75cb1e243cff35a688c38df1b6bce0fcf1529674906fa299f72ea00839e1e104f76a2b80e2ddda6c5937d638d0aaa82a6a4a0e85b16e7cae9e24c9daaf3c5c972c2385b4e184e97f3e584396338639c31a7cc098053863300e7cc89fa73c59ffd4ff4553e44556a50a2a8176436c33d21b400706f48add6edcbc0bd266cf601c0bd22de4d867b463c9c87f3a0f0723b88bddaab3dc4666dd6aed16aed1bdbb55d1bc77eedd7deb17136cee6b1611bb67becd88eed1f5bb6653bc89eedd916b2699bb687ecdaaeed26b66ddb76917ddbb76d64e3366e43b1733bf7d1f856df0a4d41554e5445e5b469e9e7877befd3efb1e6f4e149e53c4b3252fefcf3d4a125e5fc88f85827155c0755b7517dac93949394f34c3953db53deea7edafd04f693d84f643f95fdf4e927503f89faa9a49f4cfd64d24ffff2e909f3294a0c9faa88f1d5c6c47cbaa29fbe5e17157ffa6c6354fef42b3646e64f297ff261ca09ac4c49f9992bc3bf1a2dfb31fcbbe1b21f837f385ef663e0df0e1c9c6e1f867f3c60b06eff857f3dbed817fb7e7cb24ff605f966dfec13f2d13eda37e4ab7db5af89cff6d9be22dfedbb7d463edc87fba0f8725f0e0c025c812b70089005b2c01a600b6c81374017e80271802ff005ee0071401c9007080361a00f3006c652ce949353cac979cb9393d346d54f1f7edfb7426384e9bf93d3599271fee94fa70eaaf304818032130ad761a5dbac80b270acf9f3cfd3e93cdfa6985498544ca809655a6162615a31b930a54c2ad30b138b0986a9c50483c9c574f2269437bdbce9fcfff07c1b94e7f933f785834166f65d38288446ebf661e0e0909afd160e3661b375fb303858e476ebf65938088220088661188661188661188661188661188661188661188661188661188644425b683b4f01a128a8940a5c8e8290a10200001000e31700001810080504491223599c4aa607140015639258645e2c1748d41c068110228831820820000040004066604005001037482b1254a7602c969f34d982a402239c6127ba6ec0afacbb42d029b5c93a9c9a6f94e5b1d8dbfdaef99f0747177dcc121196e65f1e38aa10ef2982709a8308d21f812b561c29eda2da7cc7fa829715edf45841d6d273cb3e43ac3235e217b6539794307cb75effcd76c57d59ec2bee16d71fd1ef7fe6ecad97773f259657df7d4a585a9d76ab89c9ab1e678222e71eb28bbd617bc816fb87e9b13ba8fe20be5f1e397afbe5dd4f8da5d576d799b0f56e79bb33c71e658bfde17bcc10b1bcdabc8033e7de7e797703c5f2fae67ed39c7b9c6aacda9ea2beb97be9aa4ead1d5e9d2e749bb266a6278c6493b72564235d215fbe1fa0ae055eff110ad43771e6b4810e5ef065e55c12c0c80216ed7f437bbb3aa461427861813580fae660927b55c58444335750a387a6e6fb7d9ca73d323b71548e75d5cf9f4b5a7863302a82e1f7bc50dc3bc3878140801868ec27da879b5ad69c449c24f781ec1ca718b750140b17664d34f45347754f044db86805388dad47f9dfb2966a2324a7627279365129468b58adbc0bc13c43a483f0970f33ecffa0af9a2f07881cc6d9226a233dccc0fd718010cd3b715ed25a71fd5486f9ced99532c608647f59849f8e63e038406d5b06a5274677f0fe00c55caaa55f5b7a85ec7c5e2d1f7f01d3569d5e31f8d696d1db7c629c6673bf06d32009655957750fb931557dae750ecfa3feba51546f2d7a6e3cd5b0b0568556f0e84e45db2105880b51e24d084f777f749db201d001c28b99fd54dad7f4f756de5941f89b46d2856705c3ff6ce79537f4bca2a83f6483f0bc399c85681dd39bfaddbdea9778e70a340376de1c899b9a198272157d20bd80814c83ca856ffe9077c81e7d5b6d1c5fe6d9f58d456174dedd2a69891a1bef449c0f9f478c43ce7b5b95100ee66fde9cfc502403156a93ac073dc3f5f49b37ba4e226fbc94ddd547b8c238410ba968c8ed07b3d0e0f1cbd20ae5dd49ab6483cd9af1458ddfab0e4da39cd2290120e8f04afb8b0bb79c6ac4870bc12a21e317f61dc5a73722bd378fbd3de1f5e87d83f58c1b54c691f12ef73a0c7c81d24cb345b4f64a7e96ff29e9b62b5c2e3819d2998105c2725a3135a4ebf3ddaed105e19c57c3933f4e0cbf6fdab9460393ed80138298d423a978e9e7bcc313bf46036c4b91379e60b61bab507f8d96544088fc34e50a8b469df1cd9030b17a6fae35e25eca33fcbb72012db2fd64913ae9276ccf72a6dee543637ad549271982ae94ce9c7a3feefc9154db970828126a2aa0c53b940bbc2d62061816bb4ac011354b03768a22bd5578606effc3663c71d672419034962f0e0b871557a5b93e720615e5e274a43776f800edfbd6a2378806adcfaff14fa03c8d5bb2c86ecd4419b935c78d28248b3930c55dc0c201ec92c427b608869e474a783c1f9336de9d59de48dc3fc83c2cb3b5a17f9f10ea3d1a826917892bc5e9c95efc326ac45381ac9f47a10da576efff592203452cfd81b9333a1955a29988dc5b9f50511ec0d6cc43287cb4155da5a692f912ec912da229c06f7d8c9a33c41526a31e345c6cfdf1f82af285c1c5ae1b182f9edd32439bcbe58922d782e5441b3d71a9fccef2c730b099931b9c2c1548f1d15982cc40c3efb5fbd1252320dedf2664750b44112b15ce0ab60ce6586014ee7ce1fc605d8618c0f5b8522657c0c21ed865ccba172e3226ba5b2d5ccd8f25d67c866096a7d07c8ce7b0e4780c15b297fd38a5f48b750b5642ce35aab52343f60137e4745ffde08d2a96bec744cf3dbc1b3bd04c82dbd9aa90b4b86b47e77e5976bbe2245e90a96e1995afb7f3e40c202c7f57c8b994328732516742fbfe28ebb4dd603072cd614e813c7aa780f43c9688200741c2127800fa524881ce8122aa0ad434ae9f06f13c3f0d70fd205e85b88a455d7d332243b59fe36e07448190ddabd33cda926961f87aed2f86f8737977b98b954081572ad400d849002c1ec380b3b9f1d58a77fae53e264c31511ae40d0ec9522afe4bfac4068ac689c1ca890541e6f66883d542bbf65299e091697f2ecf6c6e25da8b83ed71bd6756eb86f676c4a7433111b8e11e8beeb969384f77ff3bacf6a1146e07d01dadc2b60b354f57a0ed829aa754687580ee680ab01c58f3940aec0ed03d5d0596036a9e5681cd2ec3f49676095faa115030a6c03e35836b14d2b30117ac64cc7dfaa758ad74b42fbf0a8d26197e439a2237c7fbd362f5b7ada7a6d10f6169354d7c6cfb810d623f06f55a0f715ef360267c70b0662bc933c65d9859816da6d58d5cf2547962f52db94f7b6edb8123111a0b304cf0bacc12e150b5afcc46c626e8a3cc4c0f80f74a66729be34d44662c5784fb1fb3a995f7f63f568b1327ba7c2cf9ce7b4b1e8bd501715b3b966cdb4eb7799f6391093514b095b5c2ce6da721772f389f6046c596d33e8a296610fe4d67c500cc390d07ed295d88631fabc44ce992777d68e4a65a6185902e5976a66db3be531b30a617d0412528a292b9c9680ef58a633ac410c26eb0369795b7be13f6048a2eedb029221c85debb4d458b8de230185843a5646a3415b4c751da6bee2342016120fbf8ee2c7bf2f6401a5e3fa1659edcc3bd3505c3dc8327cf3736f301f847d0b06bd7c923538b3dd4c96757087ff7d642e764b2309767d55f4e766b11b342cfc3ca6e49a831cb94932aed5d96673803d771cb1ecaf2d91b669a9265f9c2f9b2c8320b54f752cedb00b5f1fcfa722c473732f1f3bd1b2c9613f0464e0701001aafa9d01107cd46712c0a84972cef00fb9621264005425a3fd9bbf7d32085655b56579129ac4e59863588646cc816b4a8c4a51b74cab877814c09472ea129c7cd3d14c5b809e812635d668671ea41ced6e8022dc683c396ee040ccee79c67260167b8aa85b37264105298c62ea1dca9c578b969bcf7f3b7c49141b9d4d4c817d71264a08cec1d591850e696964a840800cae4651021d318a34c41cb0bb50bad3ecbbd53a2c57696d13325c6b5ee8dce2e54c426b33c5bbcc9f2b2dc1b757c1133b22c7377cd76f76aa1f279dcdfe8c1de962f761daf7e6fa8c14103f87ee3afd933e9706083357d954ae7eb8969b3478a78b15cdd90a249fe589cb1269119496281d3c831aa10939d09faf248a3de9547195c7dd36877bccb347bddfdb924601c57629bbeb3e66d95fce39ce02c5775e58d2e6d074a42ac5439a7d68318cd872c9bdd8ec772401abdb3cbb52158c0f970dc9a17e2fc16855d4ecd0e830c1c2682ef4b3b9318f8c13c632c3a784fe322156e6017ac613c5a7ede6c9d4980efa68c1329c7b9e9b908f36a3661965fb9b77199290a4ee314a856c5a480cc027c937cc069949a1de9e12532dc1782719236043ed67fa40a249230605fda420b03336fdac2d50ef99bb7f86a62fecf5bb89a21fff3165d6dcc1ecdb0675130a31cc522bc3f1b0dc208ac993d775455f149d379dfc9f39fd4a1c9e40c39dec49075dbdc9813ca1ef96f9e38d900c2b38acd6a41630b23c1bf51c2e381f6440e74367c30cbb8f7d1a8061709e0db64ce243e7e68cf903184480f2d9bc1fae74ff7767b568ef80ded9058d4874f0a433e3bf7ef1b9f67c8e7117dbc30cb6ee3a1e44b28e3dcae2e14f8508617a629e7e71e8a625c1c41a9cc9c5f8c1f0b59ce033831cd6c3773eb205313a211bdaea02228f3d21571f00555d716df46deedb0780b635e14402279f032e91c427a7e6d4390f351d09e2d0afab5950f03ce94fe2eb4e752c08b29c358f4fd6c732a83709b4f1925576ee8ee79b41cbd69a643f44d907f650a15bbeb3833dadb0c1389a36aaa11a245f07220dc01d59290e8b99353c1042607844eda81c504989774c06200dec91ab4d800f3b21e5a0cc03a590f287bcd1c850a1c20ce142f2ec2d9e0efa60466de4f1799748b0f2b98c89b2ba4ce3480f9c418daa7b21befd81447ec4b8fb1392bbbf104cd71c6fff4189b73d122df413aaf402362e7aedcc233191a4d9e7350b93057a47811eeba39af9cd0490f7e18e44d2d45f8c7ca6e818bc01342b644fffede7543ee6de732555d7f7488b0fb33a9073e85e54049df636e414dede000ae3212be4ea3730d5f44e1dc3baeefa1af23273813407b861874d030192cfff1ca9fd65a38e2b763bd52f87c3a5e59ae0a9ecb7af842bf71ea060c2d144c30e62aba769aa170d2c7bb38cff615416708289ce5f409fbe6200374f590baf3fe8fccb399a7f6af32438ac49b40eefab3cf7380e5f3d0d5e26408f3eadfc96d564a1254bcce9f499847eeca0f5109c4eed4b0300cabb2e50ec506f8f71158809be221c4cfa4b1e350db6311c0c364f02cb973350f17c0378c470385cbe1f6440e7cce19340f84685d2c9df4a0bbffc06a2eace4f3869b2d6f6050ff320030725768dc2fe548092a1031cec0948ec747bf1fc39c67e4de67c9dfd5a079392908b0a435ca01f640dbf4a0cb95a4cf0c5d873c0e7ada004cdc60d23280a16a3f9db7ce21a4e6d736821c8f02b64c11c0a7cd7fd53a537bbbd09e4b81f35a892d4b4677caeff497e346b637bab6ce6868b006c5a74cd8ddeccc2803b68db6740418a7a39374b4a3d56f934a9901abc0807ebdac858f4a28f8c2efd1f0139d54f91009d520214289839739875c71381dea4806dc27538dc301f2e54e6b2c1c060fd13cc9ab0a1b5743f3d2ac7d41d4f96cd2741d164bd988835c237b0341cf30aa4015197b287385adbf2abf5138719241aea4faffc81016ce0734fcaad2247b9df35767937a64d41e300c02de6720810edd61eeb3fac561c0b87dae800d3bd8303d23876094ca60f1566b169d5a0d373489235e1f07aab36df8f0e4f50a14e4e7ea91249da25ad5900d9dbda0398d75035b1075061f8089ec7ad80d3056f4d105753127309bb8f4900eee2506005da329a75302e389a0274542525b501bfc2316d241d31dc1f0523863e439007e798fa89c0de0e8ec3341cc84b175016c9dfe70bb244c6783f6859ac00e21b4f78dd408a1973cb06f8552794860c35cbda011f51396fb9022affb00db31fb7f2e9f74898964bd213255ad8333ff5b4c3ab9c9a24af44deee45c7dbe234f2793abcd9740ebc34121f200a4fa60ffb62590a29c8a622b02f9574c8027d7acc0a0aabab8cf1ef1e25308ee1115a4931d7fb43b0043379e19e20a8327a37327faef6e239e391266e0bd725f0067f638c2e892198b4e9dda12dccbeeda2aff812dd50a0460be7e5b13bae9fdf60af4c5097584bd123730607a8da2949f51ecd0f1203a57dcbc93d068d16ae236754b4f8b276542647d179d7f8a6aa4d9b442f0ac732319dd87b7b3b6e8d09d856af7f974da67ff1d31ed0c009b1411c0ef3c8a3062f00f256da7aa988cbb6b4a2a8f1e9629198f0f811bb91f74481b5b62185e92fb9711d5271af5158245542ff428e699ec38946a889910c29ef6b76edb3dd8251ad2558dfb97b562c1ed05de1ac2cd44c6fc5d029abdbc63fd34d0d53884b0a1370b101ebc9efadacb53ac656f92f352bce3ef410d0a1d4d0e1de8f2da92217167f7b35364d721370b7cccb0e71a3f93d43f98b46ed9373a1e6fcb9f6f00debe430cbd7674077b0cc8cf2ff3a17d0fa9c0623f6529fd6e654d933076584262f893161a192d74d3167ac9e65737b950dae2d057921886a37558d25a123649395f1eb3503d8f4b9cb5d00e28c391852e71160a4b517f0eca038185ae9e5e277d56e43cc3902617159b86fb036f20ff810f7c59d7a1aaa66bd80d15e6cc9ab88cd4207b795d58eb75f4e81b58705c324445429f6e43a188b89a76c3ead090f308c080c324b803fa3a9ec8e53e64460bb4fa8d0ead773f331eb8df69ef3934486f534405a46be8d8a65ad37e50a33b7e3fbbce0a9b6ee1c48c49e1ee6fcdbe9afe78f8e3763c333dc60b0f3f3ca84ff517d758b4f9f682fd026cad269eb87f0b16bdd53fad9737aa8127af68160b0a11fdd0153d2753178121d62c438c28e7988930929aae29ec5d536d293301525286aa0f26dc03d280346f9c353508d2b5fa133b5eedf6d367b772b43b56d7c61dc1f5237af777b3a6c53be85a1092c745b0d3cba52ffe6537024cc5e5b41b852903a5fe9fc6022e3b107a4f04886c614186d62067af91b6f897dd4830f5cbe99a14d60c944cdd2c0ad04d7fe1dbf2996b5ad88db74561d95d829dbf1c2de5ff1661edd9e22ea05db864f975cf7c61511e97c14e2f478bf2bf85b06d18ec0b50207ee103e0996f5ad88dfb13a16dc0b5b1bbbc48df0d918d5e98b6e9e2be3eeccadc7c618f3d3f7d9e93bdfa121da5073e6e0016bafe59bfabe8746c30bd87cc5fba6307744d225f3897b6325952330aa8f5f4c7e3467e8c04066d26355422fbe02fb029ff57edea22005e04c7279af99bbc30ac77363e2d31239f016e41638a2996ad18db7200dc533f111e154613a7f8bec2a1f8b848ad6d49ceebfaafb6048fb0f421a45909bb51378772742b4b5f5051e7dba27f457d40545bc643d177eae24f70c6342eb9f71204b15e06533785d2e1b4b784e74704505e843492f8fdd3099fa315eabc452fe4690352378180a0678bd6893587bddf19f1eccc7fe0aeebb9974af7ee2f6f01c38e73243fc487b187629ed9a55c26ebf795ff3f821d3b7c9c0b8967a3f552c1fd3eceb7f87e7036035aff75f9fad5edcad68447f36d1d9e3216d255ed0716b99aba6ee630b3eb0c51a2d8264ff9312d2fe3476d27c4f5fa3acd643699c85ae1b3bfb1017820a5bef98e94b877c8f2eb70b53bbb23459dd7c3d26b39bf744356e6e9fed84477716525bbb60664f92700d6504a495f4f9d9ae093db1a159e9f8b057ec2feb8354a95b14a0256fe7386299a4255e3b0157c9ed35989782fc18cdc23fecd5097d9c23e2e8335bb7adb0a2694213768034feb5059ddcb19a3f6a7474df5c042259118839c2ee36b9ccefa7fdb3280d3b55467ea7bbe7cca223a033b8f2452ee52cfcd1a49e070aa163baf696ab555af0f5eb3b39b97c2b481e9e71fab853068ae319b5a520b3a47f1ca2ac9a03a9b01128a0d8ba8e4894b5255b1ae26a9220beaeea2a43a880b49a80bceed964e140be410a408738ed327b8cf15b003800ed457651162b45596cc76313ba605509192ac31d26cb5e569ea04f2107e06bcb92236e2f55f52c97abba1704bb6ad8486b829f89317dd57ec8d4a537d50f174adbca17407925ede17531445f4011f0d341f15500868e23b2ffc3b1bf3a0d2b8cca1e02858fc2c985afd4e3329105488106c1393e3da34e21516358158408985c5f1dcdaca095769e5f28eecaf8ddf771869d2536078cc87dee71df304abb3b49ddb2bd86c024d69d0c08315ca636c20e82305de847827578c58c026afea4f0d690ff4e7bc8c1f1edef12ac74d93fe64d49b17bc59d742e0d10e5383558624d2724f91e20bdb34702a289af3fc09c0533fe844b98440c6a513236c8801463d75bb3ba11ba61bbc0cdaf728a4c55e6a1af13fe645a0a4b20e025e49c4add09e1b0bb4b1cda91bc0cb2e14e0099966d1b0bae8769fd1d2a9d2d3d5ebb01b3505b52295f4e895970d48efcf02969bfecc615e374436ee9b1f0b929cd95761e3e7f4bf08a800ec5bac928558987677395599eb1a00f7ef849db21dd30594c57bccd7a8814a7bda344fef1409086ed0ed93a1a5c492c8b6e358a1d738fd50502d10a1ca610ef4456cb2e5dd83140cefbb59bdef608dc15ab5e6140d4502732d11f421fd84320c4ce80920bfef8450767802c8893a72e403c5bbef6842d25bd1b757efb2ce0fb64a532b9e86a325c2a9835bd5b142389433fa00b1552ea1f71231be96839bb773b55f32374861a6394d51411777502c3555a42bfb576c2544ad23148d6fef5a669af9807862578f29cfb377405d4ac4ce6300d7444d2abeb49d031dc6bb0cc2a0525dbbe37351d002bda79b0858816f490f241aeece285df1ae254bb57004b83034e29deec9622ccb1d57def9a61579575dbd3d0426df1329e42447ebccacd60ab5451175248b7f2467ab3eb2ee050f2c50652a21a27f4ec4cf3b77a9c33c4e98483400898937681b5cf3500cb77a27e75a4515250d93dcbb6fb7d85d92b8b981a6ef606913edf5d6d62b92192e021480369c82e9defc6844c40d92465fdf362727a42125249474027f47450c3b052ebb00b8d510c4deff4455fd5779c3ed173c4e29a4f867ce6ca38f890a490f4f802742b6544698f9c6d0d55c6674f8e2694d16819baeaec1e14998b48d37f44443b48938d958f2d346998a8fac7842618783f773848e350928664b5e74749bc56b157e9b94ecb06fe70676fa3ef8317072af9132aa3d2de9d397a82620e6e13aa48c48e12ddd9c6656791e905633481216efb2b1002ae4155aa0c3cf3dde694edc0b778f63d80054ed04501995470285364948378194d1535153d25e4eded3cd4189300a93b7b5fbda007719b7eafc2811948d0bc67208ab2b09b1cd80cccad62f93c833307c172b53c68e533948a3586b5e296343bab141c9c4820ca66457660f4ce781ea5a6671c3beb406bb05edf485e4e81677ffce4bb72ee3dbef28d16cb0e9d221a0e1fef22141264ca918d17a10805ff2c7a59364495020f7a56b3e150c9e07c278024401e45ef088f08ba7a5fba604c541d98536c187d0d38965e9ce8162b7299bc37f5ca5532a3eb091f6dbea0b8f9a1260c91a93a5d37e8c3aa6ac6c905c0ac0e6a1c9d2a9f8ff02f9e98d48edaa52280a9a30a05ec3cd7f5de97e6e43bdfabfac744760017c59c1d9cc8355e9c62bbed1c0ba366789b1df676634e3c3946e4123e29b5853e9909714e3f6dfb6287c249efcff2a5353ba265a3b72cbfe3cfbd7c793521cf8b5165162b9ee48c4f3240d58b1da56a8032ffe41f4a1672402a22d7b97f4b2b80abc28de75c377507383258a1312fbc191f0a4ab3bd132e9a2adfd67af4786250ba4a45b60724b1e0b671d1ee679f33c1efedd054dfcac65bfaab8ee2ae367c91ea6378f55e7a2c1bf3723d6c119db8a1f3d4e6a2d0b6b9c336ebe3ccab858aca5ce143093f071f2a66671a983e7e2eda44da470389214499c347c65998da99510b97fa4b4048d48982887bba4061598e23935ac92e4622cedaf5a10be3550cbf6282806e04d9aec24160584030a1b184a387d35f9e9e7925044b9217a4fe1137ecb70aed0c84c298f44953fd8aac80a974a13dfaaf957f6c6d3d9de96726779fc25a05f20f031e8238ee7ce776ba8528decac47b8f1e48c9f0bd9cb0888011f2848a5a3eba700eeac26b4ddaef453e4247d11fa9f2224772996e9a2f800c8436d00e54a6b56f465ba5988f6ca3f5ade87e5b6a0659d498c2c429327c2d2395936fbbb0a5514a2515aa2466db5923ec5e11332522ccc27bc57323b84f2df27d28349fbe97e3fc49424bc5fae78164c42990fb6fd94c5243b32762d5c1ea8693738892426910aef6a67a1ae68218122a1da45a24d678775d64661db62c931ca2317b165944a00c357841c220771c501891efa972f72f3fa261e49b0d5f9956b9c20b0e9af7559b61ba83491576f96e21b913cced046771a2ea8d80ece414200bb17d2c6b35eb557a0320f17b5ceccf7080d67f2a5581728e5a4dc8be4da9a6b037a6a4d030f5ec9e0627849eaf94da1518663e5caf467c213297bca48342a374e0e537427a4ce5603a9726885eaa37153bd6a0daa72f44df56cc1179bf3a7211d303a391662364f687238da899a4e40402f3956bd5e0e6ae4091dcbd1708802061d48d1c594fe8540ac27ac09b6cf62fbb98b8a7dda413f5ee2c45bde5ad0faee1ad115d8b11f5a564cac49413e61a57eaed18a4e98ba26c8abd18fad897f54f51b2b385ee2a8d89d6b4422a413b4de11f65d97facb467e7dd64be8f8cccfa3e7253d354fa18074a86e9c697ad6e6d3b3f697598ffb5e7fd9f58956d20f7949a24a1f264ac983c4953c94a8923edc2a591d5c8473b09694e8f5de439686462157bd488d35c2785724583a358f968e33822c4d1eaf3a8176c3c752bae4d6ba0a8138c6f9e9d81bba8545ec627c75335f6596485c1fc3c08c5d95cf5073a775c7d7601ce00d62a56ecf57d1f9f7e34dd3656d9abe16c7fdbeb2eb71dfaff461a24a1f4e54e9c34a0cd41a2794102d2a6008a93582775f4ed63055c5d0e5f0345c4a5585e6a14b409e90dbb4094c397486037f159772f5f4e6414bd2697c95fd736456aeed0468a5a1dab9bbebdf30b446d770c7de12def2190e7b39d4a31f746df7753ede745a96e66959f595598b737f5fd97595781049901449b0a880a084d6c95c3799c7775c0d459e147e29022464e369f80cc851f9949d196d15586c6064a47cafa129b1076f43c418b542f770a76c918df05b6c7c8957c41496eaaf8a646d9e9665f3b4ac7d65d6c4b9d75f669d4495b4a3fec64e76cdd15ffef5ab30fbf3fc8d113831df4fe73b45cfe3d65ff2a9c32e418996a5f3fc037b3c0123cb08820980e966a192836be1e556cb5d814ebde535db33472b94131e97172ed7578acada3c3d6bd37459facbaec571bfafecfa4afcb31a269c142c2a4628a1f404d30ceee1dc7d81b8f80dd819c4b017f4510c48f02446675fbf386d8438336a7409e9342dafb43c4d630820410a4beb2b5a1591ac98a661699a1e0b7e32eb70eeef2bb3bec4c2084a909072b8e938a7e5dacb6d725bcf7c8ff859dcf50bfc655c4d7c148520b6f61c6aa928aa118adef0fa55b050e49173f9997ba7bbeb98e2c3178d420815c291db45bf8bcfe1b79dc45d0afa49b39897af4927b8ebaaaf93e544adec4753bfb4ddc8dfb509816e61d5aa011388adc410b13863a9eb448d1c9f3d786e3323a4f9e84ac2f40c987d093ce930b0364d8785695a2c7d65d7e2bad757665de23d15564676e2ac0fe3e1ef5d03de2ce9fdba67ea43e1087833a200070417bacf2635f3efc5b4092bd7d9e4d4bec2940c8edcec45ff2b0e6689254a81ba18455721811c71b40d782dbb4be4129ac089f1adaee6f31dd0214ed85ad6c61c14fd363ac9da2243b8d64b6d918cfb678cbb59c160b3243e9f77a3482fb1e11c15bcbc6cff8c91d8f6f934b77bcd31e3f65e96af9c3d61cd6782a6cb9a7372e2de1b9cd0101b62a68600e1cb1559fc4c9e9f97bbd9eacb1a3309877ad0a4ad170ac682d46644f23ca550f12987a785508ab0061cfdd03a5496db0cac98961c0f730e0e90e1d3b610b944d8f25b01558b0595b04ec41ecd05c341c9ae9e7a1ec8c4dccf91fc0497b03aff57e47c95b016649a1259524b4c579777a7e8658646a99947e54fda50e8c5b3bcf48b2cf2987207edd51e702b9a12f2cc51578a33913cec5ae6781b577a22905bb82815f28fe7e169eba8040add1227cd373c0821097a17253832b778596f429cac3ac9dc085ac4224183093f5d8526a30d4d86eed064dc82f2f479a7d7214b9cb93a07514776b555a0a2ecc02e6c05c2ed573628be5701623a8145773c394a172ae8ce85ca0ba418c5252d66e291ce4a19adf3d373b518c1dd4c90bf3fe2c32bc59689d1c8be99a4e8e729d98333999452f89887e38d6bfb41d0a69cacfad1bc06117ee3e3e8ccf7c50429ee36375228cd795a257153bd781181343d5440463bbeaae084bbeb09565a21e8fa805869c532abde482630b6eddb05e95ef9f583a9f8591c31a79300a861b6da1d9c3b6d75ae8cf1ea169117c17dfa88456407226dba8d290542d1d822f6eedd163b6df0e78824f7fc43fe04f8a00bebcfd0c3e1be7b13703f1cdbc0b6e4a7833caaf0a6ab65268f7f4847f5256f0e214f4da99077f03889a4e09df6d5888da49a8579bd5019ddbedd84a00e7366c1cc2b4c667adf86d87d62757a4a9beef5c58476a4835196bcf4957f87e34c602effa6dff35bf19d51b0f13db500ab12a77b467af18299fd4bbac6eb48429bf7f94a2844052b1c1e1eb42bd13f95366c5cf7a93127fe83233eac26b8dcc6725d876f11d8ba25fcd23bc0d674b0c86b19ed4c2fb930668988cffcc0b84e1ae4644c39d41ffb456130e9cf4838eee5125a89c03d71da79d0cd980dcaf8d1ca8860943614de698e5619eed83ba6ab372448a08c645b9b212018bd253f584adbf478afc6126b72e3797f3664c2994154087465e3a0a181013c16c3f34513db05b2f89c2ca012c3a9b018c47cb261635ee21aa77ceaaf3e3867ecc341930564f48afa04ca590027002e5e86b93aa7b281e6a80b324358c3bace47c411b96274637efcf9cd16bd1f4e12651941ef98dc669ab2f61ecbdf0603f16ac550ec0b08848ec3f2984f11bd6cc31bee1d5d30e348fa699d31e043284db9c7e0e7a2b3ea735fce58ef5c14bfee95e04779bde0f0a8a7d18d3db0527711d1513c702fb87bc30eddc3252421a949e63bc6f413ae804376ee2f8862d3c392f647862fa889d7104da41d62e586ff7c0766f806e638e1322a617f9d8ad61e87eaab0713ff0e2c334dc7821d03c001ce039c087f27b6718fdaa7877aa4e70a288f69eac5da568e99101dc767a72b165a254a5e38c1d27a6499364531399f0258e65868784f2cdccbf29e6a323fd3d853b5fdbe611626c97086922826394dd81808b4312974025e1c75c5e16a37a867291a5b1981946b89bc5b8277ab2be8c5655387adb839b113d28b15b904d95e51f598f306489a0b0c66af413b2e30985a428e63df912833304590c88adc9844e85f29c2021071322a5ef868808c4cbb0141b26c0090b4d9a8a1e707da905107166ad30de3c72e6edec4bfd197da6bfbea3ce60db7889c0f9350ac495e6d1a66691d85645bab2c104493c35fd39c991b4e0e500938639c4ca317ebbfa240da7fa1fa35954b3802f760dcdaf8c4867d1a902924b6c449cc1fafdc27c5e990bf984fb63bbab2aa8d83d4d314dd1438fe5894f30363825254a56812727409454214960ac457d134a878eb5c4a52a0a14a6912fb8c0b341f4ca39c9e5424d1f05b5920fa771f93fdae4a28ca11e86e5d9addda046315737783b65ace3c76c773a47803ff40c0e613d28d349b4fc19dec5247fb38a7b6f77bd768e5b3160e70e9b4bc1aa1a37a602178a97e6947fab0bd86eebc4feca19df542fbaa9786a65b10ca464b62588023f2140fe4121d78d1b1db166bc5f76f639fccbaddebc6446ee557ba8be5cb5c408b1e479fe3f9afe98d3d4788bccead91db5afcba18673a4312be8d020994564b0a0ed9fb6b00b64721662955c9cbeee9ef546f5c495776842e3c711d8654e37244c50e8301eeefeaed592c4706db7be3beaa108441896a2d31c5b23f4cb8edae095c87708f40abeb2809299131a8482d92c18db1bf26dc7216eeef040446117624dcb9f79f737e62edaaaa141fd3037882fa306b433e83c152e22641b7b4b1c4607e91456ea01b647a501e315aa3496275e41cc95b766aaf32f21c947302cfa266a2e1217caf9ad1782cfda97fe9fc369cada0b0f87f127fed009e3ffefab6b3a14a5a3fcf26790648735c2425bc406d211e1ab7da9c40e447a11fc9994940cd71c4ed61ae2759ea723abb0c434412ecb47267f50ef2b84980c38acf36dddd257783805fbfebb27a6f2ac3bdbe18b84fb918d1bb4a9455e45cda500ad9a0dd12746b1a9a5894e017518c7c22de0bb68006630a8ab3a1bbffb3f9a05f7248f12042873fa321bfc4eadd98dc0477e10fcb58291523df44a25f1abaac181090c5887ded8fa05ab1286cbdc73a254100243167db30a99a7c5497df1dc07e11737893d2534b18de7eb1b3c499208bda62b5aaa89c5fd1e7e1a8aa6532c065c80e1623fbbdbf4e134df2d442b230eaf090639aa5c699f4a9fbe69c6aa37c9f746520a3805618ba9a15eaa84340bc57a07503d26c93e8fbb05f9221c801f349b8fda646c352d68ca81460d98eabe0d37f413319ff304aa03647b0edc6e8318ae2fb3d78bf1d125bc73835a715f48814ac16ad4951abac101cca2a8b14be7be760ffe70b105e59bda945fc9a3dc5e80d026c44003e39d52f78892e70a238a8a17b87ba2379a2cd1fe0283f20395148d727fa165a7b7b09fc15fc38ad2a86343f04736c845b51eee90d762361f00f3e414ec7dbca7ecb2efa14f1a2ce8cadc17f862226ac7c6fbb2202ff06afabf75c2428ef5c14605ed2b6afc618c4c1828986a9a8f0dd51cfd1c9b196880b728f1bc2caacf7ceabc8c040acc89a37b467f2f7b99ffc68ec85b9d9798b0243cf115a06954903bde948f564cfbc0556930b83666685aaab666004291ad33d8331defc12ea2a34f2149c82bd74afe64050ba0a4d8884b1c2c85047cd40d0ba6bacba4fefc6e4abc2fb42261a74d5a0eef249da091f844682bc08acf46719865fb49cffb6b6ec56e4a6f7ff58b958f59ea2179bc83d0933b35a8ddc0dce28c463cfa19b7e9c1bc70b307f717fd803f2a3024863ff9f01d86a4e6b34dc794092b4efe0fea5ff69804663fcaadc48e9cb06fbc1a7cebf0a8e894e7fad72fc62298e868411e8049a97fa3001188ba4dce4e3ab6774da683a40d82814eb2bd1ec84cb9916ea1e5100e65fae7e23858e7ec6f04e76905c440271512f10f246e71e76cdbf5a2c8df658529f7e23ec03a643861eeb41a492c1c7249e4e68b8151bfd9c4643093d62eb074ca2b7ebe48fce065a9897797f9b201ec2299533a4db80584b1452670bf3dd5fe4675382901969ce75e28730c5ed8c2c8a51488633b6b4bd5ab73032edac96dd3c777af3c3be10dc8e42a3bf8a9af250c1972d6e6dc103535e43cf512096ca6f18014aa3ccd6d826e1ae07c24c89e7887d60a2a21b1c22d22980c7f7c4f113522312d4315479280ef246cb5d851532aacedb44f669d1a01528c30ac21f1665781791e18b1896cc404ae600e487c27e5048a62e8b5225d6f6057227ba748223f3e4aaf123f7ec8e0e304b65c3ade55bf92c1ca731880eed48141669e3b19c22f80737196c9a0ae3f231a6176ab812deb926b2ec1324a5adbb0812752af743c5040328b41d9c820084d2ab26016554305561891871564053901411991e980d49893a592045f6a7abd337afb03f5d41954280ca9b2a6217dbc8d9bdf601a7e4621d2e0db9044c9e03812266efdd47370f93f1e9b0fd9d020cab653d859d502ea13aa476fd7ed3b2a4aa22b94dd51413e9f16a98a851af857943b4d406c1e4fa08a704ae2c770e1618b4657974d26df0e00c5a915fabea20b8e6187455f06d2f9b1074ae91c534aae300116b002c9c612e509968335132ad7114e62d61fc18c7f9c117468e7201111df9fb6e39d60e17c1ac5951bcf75bf0cd6bba72210231cb43ddfc0c1572e2af00834af2a5d445a1e296ab86b0d9fd40ff0a87b11ced6caac1d445fc0c05bcca36be373c0962ef773bf902ba81c53b4775fd43163071b47957c0ba9ad6b28a4d4f6036d1e71655419a12a66f5194150d6a7c6ba2916361ea74436f2e357a1aac7c992e1534086f02b571eb34a19bcab3a5ef44ac91dacb92076706d58feab4f68cba681acd610d080ee14cb43475591ded9a35d466f145a9ade219eaa7bd11dfbac7909732f005f7b7aebabe53b7480234b038e9fbf47cec5b1d449a325f62db1caffa3c49d5378640756c88c6f2ef5b1f6802b1cbbc9a808a0ae29b6fccf18860ff05467e7b31e8ce7b56dec54b1b3d33a14b87fbad8fc397a1e6363e04c7d0079128f9a98b25b81b9d9b64c321a986f1f1f85ac92e75d11871e18af6cf6df90819e511fc1c75b4506aad08e3371bf155a313481136dfbf001f9997834caf6a161c31e8e3d30bd1785c298380e0612504094719bc3e050a3e56fcb8ca49959a4968601b75240018868e5ddc859244cadd1a1ae0c47a0d6cddd80e0c3458b4402d09dc4d40bfd89560e2eb42bb1b787464a102dd881a94b2e0257684c265a77ea047b941a6a02d32f757a3aa4ef83c1e1987b6368870fc7bbaea0fb1881284a153284f82a8d93718154e649386a86fd53acc0d654c9a8b9f1a135d8202719d4c058f1d11106d0a89fb973046b192c0084d96b0846af2c750a9fc8d948a9ff40005f18ab4110982e2764f3d023fba6b2da28d6de8048bbeb4add460f166fd48a1d257e94bca4f90404a8c93521dbaf8716b978081d188a33be8b267ea7d8b4283748595cbc18ddf351be79f3ec67391a0905557ba47863757267625437af32327a78b335932fa00de6e1d54368eaa18ef9cc820fe93f7cfd77ccb22a47711a238dcfb4b9581cad6eaec29b67187ed0c9ae40054485cf2eaa9da76d9c3673728172d69073538047e2f56abb55be4f4fe1e1562ab0a67bf285593ebef51dc8fac6225043f0e9a92876a9c73ca77b939e739c3e797bb3807a075064710c911e80963c68ac1669432de2aec542d982f09a9180cfc6a1b9307b364232e67cf522d8121162f6bfbcc9b7755212538ea2fdbce9672a89683be13f0fad72fdc6ef12f389b9bb2a9c2aa8522ed460530baee72893882f1310226a20813ac8a1e9c9d8b81808b01bab416518be575424fc7e9bf74e62009b1d2f842dde9fc81f962b110b9250969219de332ba14d8582932dbb41105392373a0f36516deaac390f051c24f531ff8c9911d60af95efd176ab3962af3d11a1c1090607f819c84d7769a0f1b1ab44d577e1bbd9e746cc2198d9d00669c2b79695e7ee7081b10a24bb93b3aefb6721a5f1a06a423e926ba93224e8587ae38a33a039b4b1cf42a6c26f87266f4d1988cd0cfd6440615c0066935ee93d2c6bae6c9dc474357ac44762be8a4933f39dadf5d4659dd45fb3741e6bc53dbaa35c1241f79092ce1e53a8796061ef19dcd978fc33b7ecd1106c9c3ff3c64dfd6893ea727417b06684a71bc39f55d933df915848998ccac566c601d529ef53437305e9ee066928f174583c0d8ca3370cb0af75aa0484b73d7066b8b42cb6d6badbe3cda80e8fa60ca84f166d0c9b6919897e299756ab09e69adca0d701d899654702e94c19d63cd49b7e00a5458e8f02041fdadcd746c601b6f656c23a5802d7b55dbc9f6370fc740c0e856aaadca2e7601c19b6c13a86e5b7a2ac9db8fbe9d5dcefe17ee882a79fd74de8ca1366443b2fc7e6d5bc95ab29856e7b973b1952ff53dc6b743fdbc45016b3c36cad7551e7779ce651871550dc373379a72a5335c7917245c374501d0915a6bf7d7d48e8a8c1978e58be1eb9118c8719dfbad1fd8a22d5fcb3b240f5cd60852ab86f86e0df9254f236f3eb616a1669432e3cc86b2f4cf34efd360cd2a8a37918104d7c8e684e3cb311c3c36be83e60dce0b062cc5b23cc1c0263d405509447175bc8bbceb0b23d2bb59a4f392e9b10a245755568b8b1ad5ac66f39dd922c406a29795007f72a84c4c1a654fb58070b435d4e84d0737c20ae186c186f194c35c33ba07026647be1b057bffbae327a968e193c20b0a2d463815e8c87519383558bf7734d4e637af4307fa28ae824165973ca24fc0d21d898535b707acc1f754541918752c8051bd688e489bee82e9a7adbd660d87c2e6f54656c48e0ad372bbbe44ba5b888f94a9456f08da8aece77379ab9cacef3d1b0abb5bbc6cadc3ce07ef58b6e4a42c5928f3bc98627e765cf82fce04ca2b2a471628aad90b3ee4758a26720dd70e8f3428323d11f9174a71f1e57311a442a48d5ced2bf90fb87731fbe9de4049965528acba549cfe84b4276717c9c40863638c5969115948621396f6e3a526273b48a6c88600f6c4810afc1c949cf4dc1eba0fa6d7e0ff60cc3410441faf1d5196d52ff3d9df6b1c86fb7a072bbcab8f6d479b7295c4fe7cbde69c9af3e0a96fb9475eba75d473e2d095768802886090327b074b99d8e36661dc85314e7274834d573be2513f84c060fb3fc3bab69b08b4cd6fd308d966f7a74f7a67faa0714c7564f925b9098d5a7007525abc7c7762738256dd1b0c2af6a3960792b9b9dc61b60cccb896c060443e46da8cd0097888e917ba3154187c53a814929bde4af5150af50018fcd2ce54a49bfbaac8508479ac33c67822b4a4f72f97a75daab980b7e13ffeb0c7bf74c2918b46fb2cdaa3f4b6690323aec1e6949dbc228723511eb48262d3d03c0b3840b658648013478346d4577fca5f5e575e5a1f97fdcd894fefc4637b8e7a01827d5d209077e52d42835dbda67d4597f976ed9f681cfed4918756007a27a6a2ce838ae8fbaf3b5b344f1b6eee822d0a2f6e5cbace8656807d9939ecd408b4659ac490ada59e38c15944ab2c245bb5f4160fe9bb3910482a3b1de77883f656fb03ccaec5abb4a9dd4f94e1d8b1e3c4b56670aa13ec0f71dacbbaa8ae74e5ea0ae2ac25195cd78135532ca404a194e28836494e3b0e8fc654c32015b4918213a9a292f68f2202d01cc0efde629c4790c00b5bbc23a392591e19a2f81af4642684479145273e2473dd0ae229f6989f0c1bfbd3f2ab0455c95f038cf443d3f71dd9e6761ca35ae550f5f8c8bce80857ed691d46f891c1cb9bcc784cd6fa3391f4f5f3be8fda1716f4550481526f190200df8a0389d9541db6866240f1aa6bcc229065fdf61d152d11f4d998915650e3863db116c26b8f9ce3eb5f31c538cb63f1b83d3ce53995334ecef23214367dd8d820c2fcba5860f57d4d5bb459df7ab118c235e486a3feb4fa1bca06df3cd17e722b38094a92fa1c5101a87c4801e206d9360a01005c5196c6c1e77aad1d29df2e6eb65f22b0dff2b30bceb6ce3de7a88714ed4ad2d8baf506094c92395015435d40570cdfa5bc4f248f67a92b25e95baa6d3e5f0e3df02cbb3f502996e49be62868a64e8a6064f5c455c9327c630a536990006ea0b0c44a7c3c8e2f27db4b602f22cf292b6e04802e243a1cc8f54e1e6f0b8053356eb05e04be78dc2a2180acd5ab6550017e30b94a3a1626f8d6eacf2611942d5c80306db2d853b80d97dbf48440504f4b7988cd152214c2c7b303a52997758ca8faa21ac70a82992b044d47ebb05d06176577c09180f5af60a639857167b48ea230edfaf5def58cd5205802d1885f8f77b689fd55e4ed9cb780f7d089fff2be43e29e9604c41c8fadcc31326ec4a2af5ba9bf8fe9b66e4afc185bd37ec0c005c10541c9b48b4930f65e9446a7068a7c93441d567b1683384971e33d7f85086c9b1eeeb46917f9cb7891b6bb22f65139d5e444d6629c508489390890009e3f161135bb6bb7770c77245be8c9680a355d2833c51752e38aa8e38aa952d0d236ffa4bea6b4bc3e3149b8f5b081d631fdb705446193e2c1e1d8e938caab5f478e82e9e40b3f1a38bc491f3188e944bc6d20409c644a31a48c07d6d154d627563b31c886d65e3a2260e769909bccf0c1cd1566634fd887c2392c32ad398104099f2161d4098a205bf405aac9ca2f4735cfadcf48df5a4532f8ef26274a0fca3ade151c816f8601e05d6789abb3efaecd6a20b01683c520e3c3109afb58ea7c02f0d574bd5e2e9ed48ecd235efafefdff47e9aa8d4e767264d122904f6fc7ff50dd3bc3257f66fcfbcb2d88170472f25735f8f0541c8c2d9365910bd6b200152fc3092cc1c887129f6c9042d9a954bb0f626588bf809df233ebcb10bd93210079a2884534b801483977edec60d2d790c9239bfacfca7bbe3a0d2899fac168f31a651542d8c93d89c1f8017c746c942bd5ea31ce05f09a9c4c6fd4961348fb3db892ef33065ded611f2694f4f724160e7e943a097d8d9dc60b25eb2e0d4330a10fc7408c49ab252103ae9764d31b8c14c79313fcb0c10586f64ba6166ca5ea3d171990c9209baa8e06de4f852b0d38b07caac38f37e5bfb0eb01dddf0af5a16bfa333c08bcac012ff62d4dd04ef44e9acdb29bb2feb050171bc0e5afacf10ca6bc0d0ba70bbe0ff9370ef70f30717b7c1a18ff4db5a2cb5714de8d3c1616f6deb5592e1dd4e9389ce497e1bc4860c5ff245e9d1de78d3f8b25506e6e33ef69efb438319fd307ce79063404899672c74f33dbbbde068c42605af6e5039130f1d7de7f088d02467c463358a73f0468ddd94caf4bb1833d0bcb6eeccef4ba2338b83cc6d9c08be7df6aa509e52d19cdebc3932aa2fc1431174e30827970ccc4e2132c61249a53b533e249be81d6c90640b32b29833cdd79cc16dc1b59049ca346f0f758be9e34af6298c82f42d939632cff15222a6166eba2a4cfa48a5b1800cba1887ced8dbe25519a2860c656b07e350957e2498aa66b93e9e33c371788d42bf62e5139b420a6b98c44e02063b07166791328924d5b5a9b23de94d66b6dab94a50a99be4b67ccd0608563d82ff8b9a4e00bc76f8e8d1e760232ed890fe3adb90b99d71cc94bb52373a3622d74f6caa6c63e73cc7982258f5aa7f7779a1439ac0f8792ccf523540c511c5bdb00e4aca10fa3fb8484fa2a7aea379197c346f91a8d6801e0b75ad2198e2f41c717a9cabe89b3fc3e36ea8ff7345d9c4645e51d422df2c3ef63d33610b0fcbae9c6119ec5510adf35bca384535211e851683a954ee0c21ec2a330fa81e90d65bc846f06362cacdc6ae6642c35bb16ad1b10565ff7662a79ecee11c9ada1c125abf0c4f36ccd02690d00ef2a2be0552d1f5626298da3f0be4862524ac187ede0757df6d325840e350379ce5435f680a94b0b792a78e0ec9cb1ee4d7baba7cf2d0a42a9617a44c86676ce92edc97a4f3aeb9bd88482d3226c8d4611e302b54089565b0ce1010c8deb336702270ef01206f219c15778d07502313a74a5baeb822082804dda93e52abe47bcd864b7e7fc8cdf9d5d9e12eecb4dd323ab56ac797a7948b16f413bd44365380c479422be65495a37420b4aeabec5b8db33ebfb545ba0fc9b8d92d102c5d9d3fd34bf2386fccc8ba28c980cf3775ec35cbba599321f809549cc36e0698f1996292bb1343da8e1ab1b77295ad4ef7a60914a428637e270e2e0fadb1683f06775189060b9e62cd6a4869e8121b0954b731b01cef197da334d0000f7e5e1d3c9fc39d5419b129105f057cff04ae421be3d6e235035882b3deea37b33e84eb522fc010c0d195f428ea0e43098e79865366107060f58f0eb555eaa3f0441d9fb364cfe790b67e8c7537479238b0403bb718dc4e81a96cacaa80ac6ce6a5181dfd2d9f1e273a41975d08c2e97354b8b64033fe34dd8b34f065dae4695621f15ea28522ac1f1a3f90029afa0d06b2e336ce6a64da2daa950f1b79770e479bac4f989f8366b9c00e027b96e80be0ad9e1bd11d349aa3f327bf17141d0dde3e6629c2970edd223894e8c67590cbe441ec8a7a3979104343b4983c2f47852c4429f84a2a6d1fe821b8226f080f79a8191394f92932d2cb1362576ff76b1163504940c3d941a578d38accbfaa58c606b8218ff53d5e3e2fb4b0b0d10bf00dbb54519bf75743f646e0694b05102f4408491dd50a256c2f0115dda9f9619013462a4e8dd3dc2c555db83c390db13743f62d2dbee5c3292f848ef1195940d77fc9d3925f3863695870b48cb2f3926288ad483181206bfc9ff58fc11a8e7c298ccac7c13ed29dc5b0c6c5a0e0e236f856fabfa48c307e33e22352d04b98b6950c21eda3ba868832c4bb1f9a6ad5578623c26588de923ae65e64dab822ee878f8ab639971ada9871266cf69d9b1c0c86083d6b37ca2ea4cfc95219d32874a28b8c69cc7f4263bfcbf3fcc33850fdbce622d42ddd08857d04bd217d0305b917cba0edbf4d9487b35f335723ce2d664cb082e8d6341c59341fd66e6ffb95f2a1501107f6b5157e238d49905b68822dab2cb030e5c56d576213a54ce53027cd408da6a3c13d20f9089dff9a96b37b2caa7b2c80dc164e64365d86f9e85b28bc0ceab4bb874bfffaafa056a70c801538f94e48ac5e4c814412e9756c2b8e78575182a3dcd053a0d5ffc142aa65f9b2626f27ea40a49c21896c924d770450870475d71ba3b1970e99421a876d0b6930148c71df1c61840716f4c42d61f396951a367f9e2a598900115dbdb5748b5469b1360890f279c431b797ea7a6c409b2542b1890c93e63d65072f5cb011410a512c58468c7b0f01ffb43487d16d32912897173211899812415a2295965784c853bff5a943937a8a4317e9cd498946e2d4c8f7affd10707e411d738c25a1174ee302b289c5dc2714e444eb5ed5585e59a9687e642c1484be435e7b91e8724a8098431e3e50019c8c200f57da4760f5340e83735157a9830348754c0f16e8e44e6903655d733cc32d5f7629fced6ab2d86454bc5f9e848260055a7722a657e7520e425fe4f9fdc5d9f88938787e6957fa5702e5ffa10a910d7b5a8cff0f682cd14dc6079e82370470b5580b41b0367f84f72485691b17ec072575e3ddec4b3fa83537430ab13820d85b0cf217db56f2b48a52b415458f00c0f01ed7d2ba185cbf00cf20dda6209f08892ddbaa7636f97760452056308d38bdf4bb72247b77ef2e5060701d7b2bb46b627ddbfd3b604325edbc1a9ef8f7ca4c2cfdf3ee268bcc74d6f396b01d4b12dd10558b7527b03cf8b23dbafb351361933a00b5115ef50bd9ea3e69205821d2b2a6817bffa44bc0cac36c60e292438820d17f8e357bc1c35ecdc04babf896199ebfa05c227b89c8dd2f1b3c1be3487a1998d5b686d16805b1d197e551a1c7d5494a802bd505293d602293b178a4750b02a735f55a0133cf27ad00881465ef470c4674a47bf4847b19dafa74b734875256997dc0bee868ab01260cf6ca6ca704c315fd0b27daa73078aa5dc666ed07eae1a26b9d4600479e4e9aeaf0623b5285c4ea3cad172ea8ce915a0ea23d0c2a55ea64df8216d81aac88195a28c64c08c73056d717336811a9e38e601f5de4b0dc4b9e648f0a2d5421c87f15975675a0cc1e4ecb71bdf5db2157a27fb8237ba0bbae5fb99adadaa51dc24e3d70fe0ed7b0702c21f91c25a19a438c19850a021718f87652e4715fb3662079308f756a6ec531bdf3454fbc7c2d9c151196c6ff3c38bad090b540a96780fc202ed9dd58287f4af942d0bbc8a184a9079b3ccbaaa3d9a8e02ec64951f794f7719c81656642016c08dc410b250383ddf26f813f08df2fe8f1f7f00296e0c1ddab0d300b0a2eb97d662ba77c79cda9c44343440e300a0fb4f0b3a03ebf84156a7f38f485eb2c3478140a597f2aede88f0ad99c0d1417ab840cba088c7e7835aa134a659af3b4a7f57ca07b3711f26dc22349c335037241e5beb9a89e69666e02739d465ce7869ad69c6e6b6e64c15f1ec4258515ed0ec6e987638f97db7b81d853d60ec3167f6b098ea2db6b13cf6d35736694daf551c96ad84e355531de77da8a8e00143b941a1d5206293070857041c81c87bd67e01b9de9ee2dfca28ac66bbabbccf10a6d06276729010e961161a1bca1a46ad2dd3887783b456f375f0f8cab889d6a449e806e9b6e667b040061ce341e7be625a888ea043ede66cd6f9b90d6e0f1111b946d20c545aacafaf92a8b8cf3ce654e4a008473b7adc68a05c2af65b5bbc434adf2766ae359de147687d714bb98be166e81d84444cf4034edbd9886f9b2c7e3a754553a5e6d3f2d46a9ac3e37d1d7668203dac84bac90a093b16bf0234ccd31402e85fd5d6a7b9eb91753aec26896ce605a2c7aa54d27568b534c0783832c7d0d44787e8370ce7fb1382d76f9e158e618552b5293abe1af03ca1513ca5cf32d85ad1bdda286fec2a87ad279ce21b42db0ed95dcd1e125d7bb14b8120f867fbfbee868e9ac83e5b2c25d4a2734832a1ced523a81640c7c84f0bc3361f5c2776e1fd948e409f052a8a581c8800a19c27422998f2db2358b86a0be8d3bd8de461ac751a8ab78fbc1aa9da43a7eda002d73d515f4009f7bd055b01f41e3bd59ee88d3c084c4f7c901c676bd39de5c9e6cfd18a7cf2d259384b5e4e0133d6f5304e04c45a2260a12042d59d691303d92ceff13429bb86f2a51d90ff3297368fb8b9b0ab135e39ae3fdba68bfabd8b566f785aa8d4e0178299e0aa3b5ec95918a027f3ecb0933e8d2d6a18aa2a996228d810f091a80cccff00ef6f2b3df0ef6bad76ab9a9545749274acea8a53b3ad599608b195f0bff8e8e64379397ae6b8041513ddaa0e95cce1ddde5f7fa021f5895c96fc8aa3e8d26a5ea13faacd62751c8aeee513ee58e6ea74d3250129a84b249a377fb1aa59694a3f2621a86eafabdcbb1b5f01d9d93d2e8b9ec538cd88c6abe146e20ec3aaf768b654dd59a261580409a4f8db7794717409be67e047f3176d0c524790a169311538637a48ecf8c2edc66c9ce87868cdd845c3bebee084852a43366a14bb00f21b7438dd0c91f92e3fe0b18ff7196b8071648d154b8ca543e4332761e9b3363234ba2769a31507119de7f834a5ce668d2c34f7d34d7e0270758bdbdae69114d63b02bc3650b1b0a2b4edcf4024ae8b5605a505ad1380729a7e4dc3d911bffff3a148e4dc5cd2fdc55c07f74703fb5dbfaf490d5446d8cc8c52417f268e3c3f9c1ab51b0b5000cbdf72b75eba9fb1d883a6dd582135dbb01fdb82583fa8636bef1dd444444844829a54c52ca5d06d205d70572069dda7a0b0f414334dbf2cba91dfa287a88ba76fd0a625cf87cdcdae8de3bb5cc39e78c31c6534f0cc330eccb2e2514df7c6db5b69261d30433c79f713570bd7725e7d9922ea8ffd605c7435091d394fa2bda489baf611507f65763143e79e8dbb80962130551293e2a74e14553420c15361d7d742d9d14f43154902a129b3c144537e221b089762d9b7efe40467ef77ccb35f1e5af40f8b81eb43d416d2485ec2b07b59187a290f4b3c6b6a9f3ae754f8d77d5786adf58e3b07f2da865ae4605b51117beb01bbbd14399db6ab54ee7c559622616d18275da0117f5da5a2ba521c8c0f0c4158ec8587e368325e3de808273c6da66b77ca776032040d10410381c8c2dc65843e0bd562943b8defcb27abdf6e5cd18962da9deec2c7aa77c029631de9ef0490ac2db0aea9c9b12ce835aabb57553e25aec393b5689a17aad220c846a57abe0ec90bad91a6f5b0b60909dd998ade5edeacbd6b0edea6f7b5bdbbaad6ddbd5dcd6b8edea6d6bdd76b5b6356fbb3adbda65cbd8d62edbd5196f2db35d7db706a269b4cd16c2d13a22dd7c893770a50bfb92a64c2a71b0221da875c6c0dd89f041615aec39fbca16ec0c1932bc5a23be8ec9fd743aaf5d1311155ab66158a6659ec9f75d3c6de336ef6abb4dbeefe2711cc74929391c8e37ebe655efad5088ac3cd566d5e3f1960bde8082f2f97caebef6feb59b13f07657643019cf040444b3d96c305b135678debb1520a6e556770f87e37eafc8eaf3609efb7b3df77ad7ebb20d0a28f8749faebb19cbb20c6423c23383c70384a766b6265ccff574b4dc222a38211b0d480673f9bc8edbb40ccb6e6d101dab55b0313100bab9bb578e876df3ba6ddb364f530cc3b0cec3344dd33a0fe336293dedbbd73acfeb3afc5add4c2316b81af73bfd917ad0f6b67de75dd649ba69369004e07deba6816d5bc2cb387707f9dcbb77cbb7ebbc2d085db631d16d466453d779b9db82903bef3bafc31996710dfad8354c60d74e7f820c1d6ee0785a78381b27679a32837b91b021b1b1b623b850509e1000010080460e3aa4885462e0f0e28619bb062c03c60e2836ec4063cf00c30f25060a8ad8128b2016412c42954229215e5a31545c8484b8105d1424224245c41cf4a4a1c38b1c5e88ad94c8e2ea88add6c90908840432ca8cae8c9869ad7ed042d522746161f19d68a0810601a0bc00ff135feca0ba5c3062ab259e4c2626d9ab9694d49cf74a8c182062aba5224ac1e14549c97f72ac6841c939b368bcc30b200000d861db66d02187182aa2141c5e8c8c90dcf035d8a0b5de0105fc462f60a00007e0452938bc08404808e7061501a8c10614111111101d3427071df20a71a13c1e148bab23b65a2a608828020086d8124571c32186a669299bd68b1831323b40468d866ac418608828c2800103459fd0c02828180c8a0c19569482c38b18dbc6ddd0c5a801868762038ac89769e11758ce5061e01003bb21abc106eda39a88028688e20bb1258aad168aceb46cd019918262e45c83d8125b624b8c21a2a080212c30c010517c815f5c172d686011029d98acf89480fa494666f07444547042361a900ce6f2791db769199669dd20e80bac830e5aa324242109430c81872a8924925002c618637cefbd17d402a5922a290ad2eb88d7b576db17aca425aa5732ac6c49c90e8b61c4a0c106172f40a1162527ba860f6601a298ac40b1a106ac45de44cf96b1049794881b8708216c704909b8adba4c498bbf5c7ee599960b3d69bcd02eb4a4e104cffb2e1fa6d3f164c68c2bc3caac32aa4c6a4342b299e11b79e3c8480c9390ff50f45c7d585f2e184c0624f3c1d09dd14b4404132b87537b94689db1f65a844027ba84c351f15961927309b80901a37c0c1834a0681ac80b17252d42a013add16c3e2bba0ec524c473792e4d0486f121d0898671b960607c56986432de0b172559c609694103b835613bc940375e261b135db2e1704c12d69ae7626d5b890a4740022088671400c425252626df692129a8c38156b060d1b121d0892ed1b4ade4039aacd85625fa69f75c099849cd50c19312ecb3c2040c51618debad58bb89cea456e4ac4aa952aa14134ab0a624584f5c520282212a8c9f6464064f4744052764a301c9602e9fd7719b1686a8401583d77110dae290850ab8285e388cbb26c08c15a60508e5d57135b625dcccba9b12b61b211c0af27d1c15538588dca0f055b909215385ac69da24699b4f923b9855477c9b110b7840cd054091b145e193149435200d90f7b537d3029609dbb3ddb32be89db0f06d5aa40ac643de18e8a1706b86e3bbe1c182de69be561fb75a7b64cfd7ec166e5a3c3cccb0ebcfa023bb3ec9aea0971a59c140d376e42c4381e50cbb736e7462e1cb8f5b52057ff6895bd67760626dde93f3b4e0b5484a5fefbd3bb81a9e7441dfb5c7430b9fc7a2206a3ff4583d783c9ec423296dfa331cb7b66ab33c1e59f8a897f2a48a890b090fb350b5e439aa5bead537a6b3160f851825c29984cd7b395975afb6da2cd36e6cfa553359cd74ad46426deab844451845310aa37ea8d98f170551af94bd367dafe4ddf04cde103485a26acd98444592de7b4f2cb5f3d18d0be85c1ea23628482b6d5ad2489c943f9b90f63318b6913c74b2e0c5ecfba2a271d442f25769b42b584f3c1c571388e7d8f46dad1e7b27ae327ba7693f1490a4b02cc3188aabb19c338669e94fe0b9cdcf33cb27befc143f9df64e6c854d1f7b19622b5c8bf1805f56aae51a9a96d934cbf2ae4f7cf767f89c14a8a63d411faebe77631f6a60d834aca6bc27986149173ebeb063daf43b26a93259b0279661754cf892a428eec2b7e9d70feb4b0a92127c5c2dcd512da6eeeeeeeeeeee8fa9fbf51ab7c5cc59d5a89e21a3f2e0a322781a1ba863667a6eec9462a06e4a6550d07c1fe663af81a0f972679743c0c4e47c508b492fbef869e7003403f52d46b10c684b0719c5045ad836346903a57382999d607e921637e8f0a91bcb14843ddd3e605f3f0ca4f543ce7530839fdd536568beffae34687dc14773a6367c5b6fadd7d63a3f2a024d7ec2cd15befb2d5b3de3fb9a945ac7b2d64a7cefbd53cf7c1de3c7f8724087d5b4e5d7273e597f5230635165224685d9719db3be5de3c03eeb8a31aa5c350eec5d77e2a65dcb43ad4c5394a0220c644d6d77d658939e46ce44cc0e8a03bfebcf440ed3c4c7a36b754ad014cf4417e5efb28ed5049cb1d010cd440a5ac2c7baceba58e3ae579c89d6b6ec4cec5818558851615499c394a40b8caa63cd0ea3dab46379a8095f9889acabd9ea9be56ace9c4eb93965a0d0e427ac61d40496d2c55cd1916133c398e6ef8c3a2b14342be7d642f1590bfa401f73fae33adb377d900dc545215aa8c28806fd49b99f4fed66c4177acb0e59a4b68bb8a71d93a823840c6ddab92145dee29d213245d0d0cca49cf840570f9a92fd7c70047dd0acb4e993e868863e3045dce474a5212ecc2ab6f6d64c570ab294fee722eee9639d4d3fc3adad711fe534d8838626e8da46707ee6543d20452c521e9ab895216267c24c0e163c90a1c982072c5298da4e93df216d20f61decc3ce68cfefac801d21f67cedd3f89deb013f05b7d53e045d7b5a90450a0b5f5847a93db3af23a9623fd3d758a47e989d114db93fbfb332e7e77002b8c58dac7626e5226fc9f0408a7c0a199a62041b045254a9ac26d8f36d754d6299b64db08691114c46128acfd69f3aac3b3efb1dd0070ae0d626017db0521be2e43ff8be6ac4a729514a6f944c5e8e546a4f8f08efe49bafb5d678cf861d793b62b91a18f44a1a486d92c77ac7877f8693907837423c223c9487f24e14e499ecbd78664ccba621c607e6628c149b3e7edd8d69590066f46e78a60eee5ecfad91e8b92f6e6d8b02bd0890ffb9a71cf930a790841e698717d81e29dc88a1c84a11faeece733a1d94dd51f1e146044f20ca435464c414e216899e5b6eba4946f48a0e9217c1d3f83c6a6faa14c771dd7f48489ea4e449bccf44a2e77e5d33afad9f36e6c38d38b21a51796824e7ef1365466c607084b4a285b4e9af689182a6903cfd15af153ffef187783ed4a377a384b78e9ef5075f3862da544bb1a97e6dba80ce877af47c3862fa9cbf8fb3316c23b2ec0b88f210955b7e2b78ac58c1da2b561ea2da070551ddb2a96ed1230d30efd778afeccc87222b1912ad470acacc00a2e7eee8b9356c7bedbbc7be7c28b2e299bc11ed9526adf64aecb80b2fb031c53df048b407fb67d0248f8419474c604a642533faa1dee8b14391951fea0ef5386202d9a147e2ecd0236548222b338c9830af8adaa14762d9a1c8caa69f3dd2a61b984d469eeb8982263f21067baeaf4929dd06dc8b03031706ee07f7e25e5da933754374a38ee4d3a97badb75ac79eab75ee75c5bbc465e2b2d89ca126c58eaaf5d26a3394df939c67861a6dfa92c68998a1321b6437c872c80c95a1e6a6a80c95a14ea7711cc7711c3354cd16df9bd92043d56c4786922abe33546683ec06598e0c95a1b255c6ca7864a94c75a77badd6bd5acf509fd247884f0a3e376ceae3fcbdf7de7befbdf7de7befbdf7de7befbdf7de7befbdf7fa89883fe779c58d0192c69348241249bce25de2327159e415af78c52b5ef1f53a11af58b3c5f78a52c5e67a7ddc2bde252e1397e58a57bc2df7757f5cd71d5fafd7ebf57af974ea5eebadd6b1e76afd8a27e2c912274c9cb0ac3eceaf569fd2a4f8d66a6bbdd5fa939eb4fa2a10be2bba68d2c819358ee3388ee385cb99c319c7795de2153354bda7d3e994a13214f7f2711cc7711cb917f7bab0a84dd9542a95bab02e2c8d8933729ce06481e363724617d5d7ebc5195f9cf1c5195f9cf1c51935268d4745b3e37a5552c5deeae1e1514915df1e95a7071e1f7876d094ec5179549e9647f4b078561ed6fc943e427c52f0b9213f2517d5d5ea535a7d4aab1567fc94e6a794f3f77d4aab5fadf226c7e7d8aed9e27b4b52c5e6fa21e253922abeb74fe923c427053387faf43f37684afe943ea50fea93fa14f1317d32ac9b7f229e2c51f50913599fb0601ae33f115d54399c0aaa1e958734eab8da8bf39f88272d27af13d7c9b8e96b19ebf27f4a4f922e48205d7c09f4dbc832d6923ec9459e2d18e68ff320d093f689284a156cef3033c57eadad3a84273efefa3e11a50addf44f96386162e6609ffe090b4d7119208ed4213b11c3931f9b8a272c27a25499397f69d3bf272fb9e99efc744f8eba274fdd93ea9e56f7348aae711c5bc6d7e8a3d1493685caaa15ab6553afb1e53522bd68e9f552ad562bd6aab512572ed2fc51267d25ce24b172eb1339ae1f4128583661680c67accb42f04d9d5d015e5fd2f8d506075fc8f1a8569b3e67942ad2a39ae1d8a35a814ab6d2164ce132f2eb58bac81c7784fee4e00bbfd3a676fb50a0f9a93298cfc0b0027ba680580171da1308223610a8edb38b2ebf812110a93daffe8d8eff7c2a177d194bd58bc63c88cebce61bdebed77e627ee2c8fc87d2f637bae81b37fdacb15d512ea2a89d75ded9ee3eaca88cf210cd1c984f51bcc75d3ed3ae31fa6b3908b65a9bbebc60717ffa4b99b2eacb8183fb19f43bf977daf43d17e6c0cb339d3d6cdb82f9f4fabc1617715f7fabdc0c0f7fbb7bb89d36e5d094106f1f0838814ac252455f465add9c98b356af40f8bcba9ebbd623bef9cef190b705b62d2968bae8ee92ee75a44d2d77dd7c45876f6ff58a8efad25f98e52fdf94d8ee2eaf7a6ebf56cf2d699d5ebb50033508772c0415524a77b1a6657923d6bb5b8d34f10d1a92f4ba05311b136b6f4cb664a94f692ddedc047169095fa8914a2452105b856bcb1277bba3a505633075c437e79c3ff1975a9af85a6650174978e4a16aaa278df7d8527ed8d6684c0a73d19815868569615c61e7ea5c9d8b82322046d5f28598301bc7151dde8be0b91adff7eed87be76a788f7d8f7d7ae3d298ae5798d307ecfdb5edde7bc4dd9ec6b1f1505d0f0a3a992efa079f06ec5c2eda6036d9f843c538db9c3d0ce3d5503375170cfb308ce761db635c8d4dcb326dd33c576d2e33f34143341bfda707762e0aa2af6523ac1ee8c6b4ed098e01180dfcda54a1dba7a7b779ac375a4923698a506db2311bc7cda6a5892fec5c9dab074dd9341fae118fb05823ac4db70df3eaa6f4ae1af161bf351b226cfa990d2bc4483104c6f34cdd58f246dea87b8d2e60e7626523a67fa83bc48cbb83e20bb3311b331f590b4da9bf63d3b279e10dfbcdd8b9a454d11bd7165c9bfea607a6fd29d783ffdc30912a6cfa9eacc2dc9eb771d194ede96f7a60bf553d37fdbcd5d6724b1ff3f6b4dc98e761a0bff7cef5d06decfb10336e8a819d6b84557f842555b0d736e65f37c29ab376ab57367eb8e15a92b9c35ee3c019b8e55bf70485794f30653328069a263fc72d49291454be77a2a0b4c0c8942f8ec870e39d367d8d4e26780257e68c278679e66a5c1fd6629c4996b985cc95891c08c49cafc5328851617650119ed333ec5adf70ce535bec18b383b3eed88487c8b65e8d03935ff556ced5b17bcdd7e67c2dd62738fcad9e50f8c28ed5b15cf499e8d7ea745e8e115cd4c94aaa25d3095fcea7e7799ee769ddee74d7c2753f4d1ea9735b2daaf55ab1a4183d92575b5da3a86ff7f03c93f54cd7a2f4057f5849222da5a966f7a37b3971edd5502ef2161aa2da4a63692d4739aa07a791a8890583c1b86c5050c9ebf8cdbfdaa43175e66e9bbde1913ce495eacfa0991f244cf6a222176988be124ab0b0f4e8e1c3070d718ecdc3db9caef8b71f191b44a6df13a377dee9151d9a3667ce39cb30d7baae6ee1f39fe137fbe7cedddd3bf7cebf73f7eeddddb7ee5eeddecdaf96b3fbedb26bf9fa75d7f275efbd7b77af73ff68f6db39f701bfeed96f66dbcac02245824deb8845aa8e380f7c21e89a32cbee736067f4c49765ee980dd372bbbbcef9ddef76b9d1bdbe69efda7e86f1b5d55e9cb1ea92eb7ca31822d4ffc207f9d72a3d0632e74a5fcea904eaee3ec339e77d1fe63ba5744e3aa7bb4f772fc00c327cad29a6bb8f9fb7323d117cd62b79cebd67c11faa76da590abe29ec1fe8f6463387b9e958834d5f3bb9e84eed8d28a882dea80c5fa895b4fbf52bfe56a60e6fd471c00562d2b860277b4903fb20683cfecfa5ba1ae2c7c660e899bc11b5dec85b09f9567454d01b511025511ce86f63f8421f47d72d9654991c8b736816e081071eeaa43ea58e49a7733ead645182071174d8b9c5a703a1a20278a8002e9200092a1872bc1362d3e7c01c661b807480d203199b0641ae482790808fa38b5d1bb0fde74bc9ed7a811a06b15da341463b8f83b56d1ae0ee4e4775edacacbdc7ad59639b4329d6dc7bda7ea7f17b4b530c9bb0ff5c5dc4b2ce1b6be9a10b86eef2ccce2073e195eed46d37a6773bab82cec2251755cefd1a7872e10b7109972897b97490b436eda18d9a4b133d44f3ca9cd3345e611c6b49d6223ad1f761de18ef5a721167f49536e551040efb9c510b89e4a16dbf48d9dd477c052cb91a9d062181ccf9b8893927e803deb0be7b6a1c971fea874b9bdad8f4730993d3bb6ac497b96d8af112050f96e81a5129d50ad76dab1c6773aedb5639ae16b1b7bbd7ad9e522d2353b691b22cb39983930b79258f28688a1edfb7916c50917d9a47dd662dc76deef635f9c919745ede5ebe335eb809d28c625c4d5b69235110671472469b8e56680ae9b3419f33ea8c2eb24f9a6244a15e24d30fbe6ddbbe6e06c5e176a316b195369287a2d86cd010dd481434858d4d7356b9c8471aa2df92691e8d4e1985414a9e97415ab029a641484bf8f28720a40d6203a405a1b7d0c9196db83376c6dd4dee1bb5748fb53f0809c406f69c11e69df60cda194776db32c61d05bc65e3966d63eec30e26852ffc4650e4ff465205731b731b098852c5b8af3fdaf4f308ff6f1a877d2d43653004d973b6b62ca141d40ecc20fc86a240a9672429488ae3c050456ae72f7cdb6f5685ad1eb015fc4c9fa9a66a9d7b62fe1afecd03f4fbbecd039bd65a31acbee75adfea8a690cac29e9c20b5f0892aa29a982e19f3583a4369d9e91833c2af9ac3d33c5a354b94e4895fad656ce8fcd19393e688a3f67e438c1c902c7870a1b9c168e0fce48ab67359dbad77aab75ecb95ae78c17d605894b12171edceba5314d8add54eba5d56a4c1a93c6e49cd15b367da9315d582c1765397334a69a2dbe57d3028da96a72684c52c5b7c6a46981c6059a2134268d4993d2a8343b34270d6aa250a8e9d4bdd65bad63cfd5bac6c4bd38307061e07e702f17dd7b6fbeb026c5ceaaf5d26afdde7befbd5573615d90b82471e171efbd17d685074dc917968b6ece17967861bd7861d56cf1852555ee05890bab5e582eaccb857541e292c485c78575615d5c97f1e2e3d2ba88d3a97badb75ac79eabf589b2817441b31c19ca56cfdc6b52ecaf5a2fadd645fbe15e97d6a62f697c4adc8b03031706ee87e45edc8bfb415332f7e25edc8b7bd56c31f7922a970303f7aa9d0deec505a0eda8148f16e6d6a9190000e800f316000020100a89c4225998c560a2776f14800e608e4e6a6446108a83498a02190ac220630c31c4106300318610d190b6010a62439513198e122e1a73ea738579232c441c86e6e2c63508e1a75e7c360d77a826f8c20a44985997ef5b42503020de5970f359dc3366f851d24f5d16b2972f32a52f2841035473beed1737bc3741e40edc949e1a60561df517ee157717b13a9e6a48dbb93ac41c95ee218554e7d523b6b736525abbc2ee02ee95c409a54e0c4d05a4e6d841b381d7ba93a91ea827d43d1edd8adcabd391c165cd1764ae93920f050fad159067a64066d7aec9d8595cd6ba156d1eaa2067e7c56dc1c4c1284a29bc152f4d4bd85708f160fc04d32bf60a4a2648d4d1f00a4a35181bbd121ec29c5c1f2fd3c4f9a258a8f98aaf287f56b2e69c94d93f018d3d23c3434a10e141dabe56d8527b4a0a6cb68457ef60c75a9e9e61a0a15990bb4a0f8914f65a0906972a19478efd12165c455b220b196e12c3d2261f5b2d6c72eba7a0d6f10e1eda3e44c77f1c200716b598211f4439d166897105af3a608234e06b253482c5d012f0e175c1ad1dc975a3644e97c68db422dd3f5b88aace09d915630a34d39ee39eb47fbb635f814427fc08b28d3703d1bc4025b809205dcf0963bdbec9ea72644af49084f28b47caa833a23636bafe8fab38f3a7be4c03a01f98dc31c6e39308a4a8276019987069715dfac317263a136e9e7061368fe984174820f49412f0498ad1df487ab41a1fb7498ee508bbfb5170352ec61c43d31dd382e44ac5a82fb79d9510358c7b861a2e8a2f633be48dc6c70342b1feffe6a7c6e741f6d1329646a1bf58c800dff016cd02547fe56a8ed3c1697855047f8eea7fbb83bc72da46a39573e3f00a74f2ba250135aa0f765340a71a07131ee5e3d592f375c2308bfbd35e0ade3881da4bc8f63801f057834e5132fe46cd9e59ca391283221b7bd0d617d0a14335a7c94aef74b3eff1cefe60ab5c769944a78481a94bfedfa5080119c8de5ac1ae38ddba8eabd7e6fa8b65ad4be6973c98202f191025860de1577c3721f2b8504a750598246af3d959d80f984b92cfa0245781b27f614f11b8473000ee5bf6f13efe44257b031eca2740483e26e57c8642cd944fcdc850befedaf048269f09e9e168913e3ec5f1a7343a839234ef563e03e6852afdeead458762ce091c5095f268237f585ed83c1da64b14cb67407369f080d79df0de0dfd6ab3548691adc20d1f931ef0a6a914a721afc05a62f3696911a7e15fa04e96c73b911334e78140507a67631c40b6a518605c13380dedac333eaafbca376bf73425bc042a671fe18f6754d3b0c74642320d4877d7739d88c08dc9a5cd83562bf1beb272fa599908829123be99255bbd03d00a726c093d0a923b22afb37373716874a340915dc16995f2808a5343af6b98d0b5b16b2d8b1e3f478633bb93bd7e3b33003ec80e35625788e7754efb3ac02e8f3d9cd33a3d676011f13af715f08541e6ea98c953d11151604149cf900c870d72ea04ac437fff917868cfb629776c76149261b47ea1a803c910ca509a3e96d34b897881ae30dd63f89d7fd2d70ff798d0e31362d172868898304329fd2243ed5bce7507b0eeee99484c1183b2e53ce57b174e2493072a4be35f53afb4810a24f16536fff58f8b1abba8918b3920ab5d583cdc10f06c9c9f73ad71eddb83b1aff380b92f85f91afd2e65240e4465c4ce2d1e3a91e18a0a215b68b32dd38b059ea47ee9933ca302d33b083100b20a1370430421dcd81a7720f042ce6b0a0a0093b80128d0a466062ee98a8366167f2df187bfdfe974bad5f28b248e98670ef455fa3a2d8f00310a1b77b870b11198e11d3b7ed657591d03135f9aca13ee247a4109bc49dd9f2cef58c7f79bb82992805078b46af6d7778b2d38c08db7dbcca4f2c7dff39c39c7845f8c06610bc37faa2268b0ee64051e5964b1303f2385dcc4562bad665be53bce2fcc33c831cfb7841ee5e7f09177b42ef62b70d4bb28eb967f10375c119abda6a5d4e0d7589e991c141ea53bba62fd3767e2e6102fe888539e295c45585837d6f1e070330a841167ab92845e4735b67bfaf8975d0680d0a07c4cfe7119fa902b9282f8cd5bf16b4506f4bc96e4b08605e89a05bb03678b0517ac82633dd253cddb276ee7f9c458f25b5c8b607e5d068241e6ac69cad14d77b85c9cfa0a4cc1e819a522890fed9f745aafaa7d35c5fe922c92738fbd251547575b33a88cfa846c923c4f3be894a52c4e1c48600c42fa6913a14f87562b73808051edcb429431b4abca58c225a1aeb548a3ee032c2e17be0c3ee13af266ad37b5aaf762d1e9584bcd13bdee935eb8c1b7b67c19856730a6d32216e7c6a47bb596def194491b6998a477bca4e45d2dc971bf8558ff449994bfc324279879280e10ee6c60a4eef22b136df298b4d5011aa58bfa7152bba3da0502d29cccd02980ef55514a0bf0819234f5f058c68516f4fb4b9b5af22ce8eb255172f6a662dc132b36d01f975e64aa575338d1af942b42db312a24b272580b24d8278448a7ec56a01bc10e2203249ca3eed4d604a986d44ae9140b9f20c197504606a10604a00f3582db40c2b0277401893cc9e013e9852950c359daeb4ad19af84c605eefbe5b1ab3544406f6f69e7bb20f4091056c52cd0c27081ef3c3de460b73e1960e6fbc5f297d588bc2c65fba035abdc2050429badd7589dbbd15b722fcf9af0598059acfc6b5b8e9caaa9e4107b7358da8455ba676c5c2435dc77e8da2eee5e335928801bafddd91ce78e7324bf438f196f60b9d28cf9fa80fbeb2eb844139a825ce5ad621fc5fe3027b959385431c8d2c7ed47ce4d1c826a4f1a19efd8101ba50634169c3ba0f53023c419654e9b3fbdef34f3ce4cd7450b04e064a8e6263df1cff2f8d63cbd745cc5378566cc9500562dab5cb2a2a86188db8d3c86f26e34854ec3cbb3d19ae0bbddbe4ea5ee45afd2160f1c2bc67b22c65478ceb06639689fb3fa3a1c5403cb26054a9ba2bcd62f90ef47052bd3555eb22680407d60489ada0bb4a984ad6c1b41e6b54d77576aa86d5f161fb4b446636942233fb202b1bd3fa13a5fbce31f7495fe3d7a9510ad1be34bcecceb5e9c1a5161d8560c2367fa98f2a59c57f7cf48de8253430e782f746e52b0dc403f802a816757da0a57b657c061fde757cc4ca3dd27d2b4273ac68db87c31d3a36b3c019fec3b918d5e77c3111815b438b2dcf4c1b98c65654bb66184b2b21d6f30aa12e9659e9d058333093a8c7defcc8e6d064c19a8625f8cc57303229e92f6d21e7272268690705b8688f1e13934b501469573305e892aee977f72f78d113958bc1a4d029eee16bad8d596280d2d692cd34eda03cf295900672a6c9eb7599df035fdc214a0e5b6e2244a0b589afd2cd46cfd80362701d9a5706dc37e946946c344c0475d27c1925c97be33a423bccc24e91a4db2598b5d158e9d2c1db3ec554e69e95e04d308aefa7167f856bf14c80f7ae35bafa3b5a7c0f181a87ee23e1036be8bc716248fb42b6a0f6460803e06b024c3ff24601f90bcda8865afdfa9a1ecba0c0fecb69245d197f89af8342e3093c62e012cf863b4fe3506691c25c3a35358dce1ea34ac325aada4c122787a3fbaa35e901eb461dcdb8f9217a95fe889168a9a5c2d37abb7a7a281f47cb32b2673a08e2df4c3a625d3a2d813eb0b86454c0f362e584bb58d461390f801f7de74c8d2c668680030ebd413570e9b73724fc669436d727d2f01afb3542d96bcdd9751bc1721f412b98e503d8c24988c2cde7a5ac36be19f81437eac839c44cd482084f5e617dedfb49387859e7e8ae3e3ccb294094255b5095e1aae415fed6c6e8a389107b2d191a1f322dae973c82bda445c3b2ffb1b37020e3d5b8e15ba08dd87c4e96ce86986b4d54b3f34ef5f535a42041c4a2149d1c3db33d00645ea7628f3a41e70880adeec2614522335c3924558f2f0158a492fdab9d5fb4c546812236c0c75b72c2459fdc010400025f8bc46ad33b7567828ceb0056543c3a2ee39ecd9403bf0cd3a3eacc0e67f32446a591716493479fa573e470d068db3a95a01e8ba1c835913a9a4308e07254dcebaeaed9ee69383248a59a35b81381dafb440fc58817fd1d6c85845d6abb3787e902ddf5594ca7f5ea837f8d67a5285eaa1d40949fd7ebab0a4d1897b97ce6dc2c821e3ede3dfe94a1de9508b5dd8b6471290ab032fde02ba7be6a18f08f9a40cb21ae1f489c0d3674ccc686267b9d7fd241a51bf9312f81af34b00ba53d479989b32e6190797f400217149e38830967ba1f90ce23d0d502fcc41cb595d5a2cae372308f3d382e8bed92a290edc55eb1ef1c5fe022a5f6ec680a799638332910bfefda971458ba1a63c993f55475f0a80caf53ede4b24e4ddd2aa465b4d2bd2e25d399d1f2434113d7fc7502af44b9e44306d3b774f6a18a31221841fd8182628933f8f4667807fdca9c5aadc1c82e9ec419ee1996191d90e6d2a3390e2277828d80bcd2126788dee2bad01956479e4df2bcb473cac419b0d4f46424ff29412f722a2bccfe596d619fec4eda91ac712a500584a30b8ef087a0eae68aee12babc4855fd4f7024b0fa01f8c74cd74ac844ae828e018dfa4efcf72728c807e5710f937aa698434510aa46b0d06eb57d3de3299def5191569522d20f3182d8fbfe89d8ad491f5183e09458cbb03c3ff01cb59fc6981f8bc61a56e48d203079cba51729f590e90af8fcc9abad277300667f420daf6b836a1e5ebb242bb09cdbb963331e9ed7f144873502ee21b3b70d85725cda2722a0dc40742c2ecba3635d3ac426a85326ba683a69ba2cb7a305a98484421dae484276752e23cb6863a92d90e818134ddfc1579914210f7fe85e39980b024c346fc42870f93b5ae78b881db71a4ef84016d2bb49d39d7cb2dedd0945b8041b61439f497ac35efd9f024afb74c2de0a05d27b86c6ce9c9a254d4b97ec9d961bae698dac7b267ceee495ccc6706995ad4bc3db433b2d5cc872d2c696cc59a0245f6f26ee9a308dabadac8463f2ac739ab88d89106bc03bd890e01e0c7d01e21c283e673bb0e6f1172766a216c8f04aafe09d2e3b3016045d863d1ababec867cbecff49717cf2f197174cf0b912682d5e916119452bfb82a8c86c2f62e4e3a3efde0a7b7d1fa58632f147f04129c8493075b163042dd6229e768d62aa54406e4efcbe95e62e33a9b2ef04ac67992a489cf7758ea3059b61e24385a2bf45489e445fa034f6fadc4423836cc1620291cbcd17b42287579825b4064027698126b9c161a88548e5c041900b943e3b9ef3c17a5e635b035daf91acb511c3c45837908e621d9d434dce7b90dfa92ba5093a6e7ee4fcababea1b66d10b432bd125c6380f52b24efc89c0d9d78efac3f2ee4160ac20fcbe44be8be434333397da4afa30de7b47be9540df0046ba178a26f50d57189a29ae0dc498ca8626a142894517c611322b512f0a974c565405b684ea7874b352f4db9c2412f7210bbb1710dd9b2a59c06326fc5781327d77e0451fd7a0a612a49866d9934b64017c60af5c7b11beb9affe573fc2a0aef061dae96dd78cc53026b8fd423d44b0310ff63ce11db7352a271ebaf7f6e8de07937199b6dab84cefb83ed4d3ca656302ad2c86ded607056569de87938e0914f5bed5370dd516a5df59add51a3e8ae106fed110c55afd70eb19c8ab9822a3b13be09e00753fada654d632eb2ff65a5c417aba91076ae0c8e903bc0b2eb0a30d76b488d38ed1b3560f1940458d178281175d1132929995aec8f014b604d10190319da1541ef03a6d698a25b448cba1d50ea321cd2ab9a9dfb2571336fb7d96dd82deee7942ee22c6566fac763a68af068748fb3ed464815237513ef73b2e78b63b60821f77fa1b1e394316f99174810a5edd677cdee4887e358803c0e41922caa4bbe31567608a2f00f92cfb4319d05f9ee317241da8fcd58073679d7f30579672278c25333b3009ee35d3e77a768ca6f5d59f6e91076c2be5b908f9a2301aea453f660fecba54f029f87b7cd17525152bab543189b73dcf81e7774d03626fdd8afd9dd6541d9e60ed75b7f9d983092b7993373410df52800d0e0256e2485b9309a616359f9f96e6f2d037a8ecc3d20c18bf0d9e7ec094f21e0127f79c698481ca540f9379a3ca57007fea68662de1a14bc9178924e0f2b59101a3aebff3a54b6d0e0a49789a4c0f786f0385449ac5ba2701834d46579c1ef668ba33487a56b6626ffbf6898d69949085a90794d83a605028d516addd29070cb32c0a58b5c2056e74d2034155c0d40c90a96316fa7c75b20ecc1190f51330942873ce2464cd22be6959bb258fe73392818b404fcfd1183e96fab5403aa0f960de2b64595c1e78d7bb86f9cb4bd51fb284d17f14b39cf264bb93a347535174228504bb009ab9c5bcb5d65ad04ac090030fcce57c450222b7a2b852178c63f3a462185f58c60be915bf97da22df2832502206860ce285f40024ab39dfcecedfedb8bc2cebae4eccdec37fbcc8b59464d775e26a0fcc9d1a821d87bf81a97c012d7f6c5249461bbe900844f91c12737d3884472328b12b21305215332e25988bb4239ac7e83d544303c1aca860ccfd0323b78fb5f4b4357d7622a95c068621e76955f25d330148d98cb5439748f1377d228453de64c54ef892628fcb61b1e1ed8d64e98908809c7b60b3e0884fcf35120c734d8b83b83f14aecbf1bfe721c2e0cc7bd4619983270aa683d6abffad68723b23cdf4547f162103cd5e64b0b2161b42d64adcabdcc10db1c995a4e67fdad0064cade3f6f7067201e7fc262b3afd50ef4a90ea9228444231e84902316a9dca0665d6ba04d4565c1b5b818b27b18e27f4f7d88bc4eb4cc7fd5a77d7defdd5175b0d36ed1fe81807bd37819b064df12e53ad7b2e5b7b7c1df436f9189c38235b41890bf9c44634a2b0c2aa8794d8a2752894ca16addda96a1db32e0a5f980fc11d35e84f6988324d7b8bd19de212580bd8e74cbc496a40245ab7317571a449775416e12c3d3f24e781136000698b2d318e53294c58a92dbac2b5e2d8b7c892549e71ae8786f99d878a0f94893345277279e422f39452a7d0726a89d6850121936b34b6906e9ef5b933e13349e6e7a3f7b0ce25e6d0c11982dc94f4f812ef0661e94705c11f7fa376b569e6305b11519087345b073fa2e07e6dc7cb8b25b1a090516ffc7d897d97f315739478530e130e46d83aa73c87d9fa061a7e2fe125a9ef70c5a999e27b48c4a80443083bb9f41e4af0963d0f7caebb244a30704e152f6b358c02b21befe63a8f33c0823a0a86b1983879c047616481a4909e21d13f204893d30fdf771ce31e05b18b46b1ea83d8ef02f6822c35b2086e9a7edb9ead0d59b4b218491ae6dae3442f5a0e8b0b577b0c9651d161faa925be7917719af9889cf57dbfda3014eff5815f8a33ef7f3a041525b155ce4137e61497521e787ee55ab943b06b6c22c5a292c8364a33fad8ac80e0e329583840142e1276822be172140eb1b113e45263fca5ce12475071185892266fd2863538675757ff6fe40b6ae785b2aa1ef36503de0a95f64454fe1c29731a8392555bceeebe494bbcc1d73f924f64afa7dac156543afb2bce246957c6932205240b037d0d9fcb289d81fdb3dac3737a1d6f3837e9ec1e97e915d7073d6d79364ad1ca62ecedfa505096e6e7366b3191a29e66d79679b1e969d7569ddd131de2b8c15f1b8230b37bd47006d22cbcdc8dd17d809fa0ba8fd9ad0499f2e9302b16b16ccedc65a09080e00680bbe7acdba8728f9b8877b60df2bdc105ac188a3d7ae3cd9a5690a1a0277d2bad52f4f5446d2089273cfeb0e2d827c7254e9a25b32bd0c742a2b1aba9764f6af2ec072df2acf5ac792bfbc9bd101e77d36bce221f832e069084251167c6776ff07342f9cc541ff93faa1f2274b8ca7f401373643fc090baba25ac45e43d3db7f8f5af5ccad2603fc606eeab60e48a5fbbb2f35c646dc25b0f4e56e302a9365aa15dae50180e698385f83d536b00c983d166ba8d44a626c495288b1207ed05596a44019c34d805982b49eac8629436b20b5a2b89d44c62245d73d5cd212518d1815588dd978456cbf78e937c8f2cc9590b812ed929f19121ce11f93e184f5f1e827864df92d04fccc525a02bb9c7655708d0d70d267430416eca3ba6c2dd69868b4dd185b6949c81b6cd5c82fdc5c4b7403622e3f712ca8a0e27aa39fe927f4e1290900c1c0ef90712f7137d841f4d1ee9a4a1235ad214470486fcea57395ba518fe49013870f90fba88759eb695ee38aa5d0ea574e99fb0500e6aaa83a0002593d66df01705085688af448de4279e40c5787afcf12891cc747d779102382e43d32dfa94aaaf198cbbb1dde3b7e3a400bf313de4b291212b8e647bf468b3c3d123bbbe3754a4f40c34c62448157de20b33b63bca6e825cca0ab12d6bae150af0da18393b387683cee8100d29409edb1519961072011e67f14cd61089c65c07cb3d94045c208108004bb99f28006f40aef950a97bca4defbd182cace88a8197cc2d744587ab9025a816804e433f4a2606e7de2daa5a8295ad5c0a3093e483458b774ebcf7b700681a78b69307cf183316b6f255687de96aede7e53b947aa30702c65b001e88f7a40780adf0a87e928ef0c785afee624cf1eb8a77ff9519119f6a008614d43cc9009fc30a251b73fe5800341a60d8599ee149fa84a3f52814e6eca2e3ce6ccca7eab41640c8553104ab4f31233c3c4f774ef2bc933c4f60971ec214fdf9d1a4080b6015f62137d9174f2e31df4b1b4a2ebf6c5a0efe4ed357461aee65a85180f0ba00014d1f0560d2982b5ed2145d270b51d231161dd254aa360881a437543de4a99b3e10e2843728fa64a91b6d14c0046f5e95f83924fcbe871e05cf06a7343c0d3b8c96568946e05d6a004a16c69db3b728ae41490f9040cbfb547cf454e9eb42462f382dabe1c396170f0347e54c7961596e5f8858d83d827f49d1e3639533bb3db3da67b384b03bfe99d46cb2950d828ce89d53462f938b10af714002fddbe5fd662b94184feea81ba91a440f42a8cc2b559fec25301723fd928cfedb8cf1f7d048fe07fc7bd722747c380215579ba68cf1e467390b710c8e4c9ccbcb63f9d54bd4187036bcbb105db0d9cfb40c51290ff3d622b5c7f69f5cb6afc6f566c64a7e7a45811b941250c002097402767c247f3d45b55d701b7707eaab2370b0e0b01bd7e3683e774dbde773ef7829163675f9909c1a3476e174857ea11d6736cb4f1b391bd9d5fcd861863a63e790f467c80e2916cdb54969808b2ec8f1aff1dc216564dac6b56c8f560e7b327464d12b893c28289326512484d52bd99c59ca0af79010eeb6a1dc3b4fb8c09e07476ee2f4bab8909bd96fcc52240e791bbf25a00d6e65091273349e0ac797e3ef909fefb73e9e211795c6f9a535b54c6cb3f4e342c9a0683488a028dd53d8e76a3f23aa6f205e316c7b52797611dca6852d89747eb8d442dbf186c5b6e77854c53655248784bd731d82a5e2090c28ffb2fc6ed62bab21e2613ef3964f3dcf8fbea7d60fd1fce4dcd4c30c8b8b63d8a5cce9b833ed69ee63314d5776636f5797d2b334e6f5aa795fdcdb3828fd9f421ea6b2d1b96f3e519fb35ff91e5cb919732ac40a2097ec31eb5d9e54e7d216d09c681d9a321506f78e29b6671b89aa4d87724ed0b7ff04063a4b171803731945f559d084a0768e83f0ca9d32a064923eb14679c14c5e355279882c47e8b5c84ee61d63048962bc351b2bd9a8615ee14a4ca9f4a681569e9e731c3557b2454ee920a72954acf5007aa8421c51f410c331be941799eb4aa1f31b8399c659740c32247e600a456dbbf8de2a192d493c4473a317fa6543f2ddb34df2249a7a6da4cb6c984f13f4b8ba9270d3c998b84173afd193f2cd0368a76aad1f8c1c325e07ceb36790bd5a07143ebe8535493cbb6b237b9d4665cd6128dc11e592be74d2f32298ff257a123579c62d8b12a8a4a1fb8995c3fc1dfe75be3db1564631f4cf44beaabf825885b900ec7eebe5bde1abde570516ed28d5467f6d895a9e876df96f8d503e46c7a95d13bac351449e2235b78974362545849d8a3e1a28f1b8beaa1bc60a45f16f3e078307e0000279c501179aa224d2ff1bff6822f0584a4000b163668de9dfc66d68da8a03e232719d909982ac1d789386140f156e05cd39f599feba8e7573775cafc10af44fef7b55585cb1c6d86889c536f3ad2a8147cc93a9e3fee395b0b227088a080761b8829509900ef0aad2942f74fc7de0f1b075694641220c96664b9d10f850eb678426fc6eab151b51ce47fafb6200c6e441041252f5844bb065215318c5b0a4f8ce4b12ca83dca35a7c042b45e0d229802cd8db20aa0c102a9d26c7ea4bd77044f73a824969e427ba8841bfad4bcea5e1da392684051b8034848967d568844eced088fcb1bd0712514aeadcf7d3ed4bab8d39c208bdad1fc0761364c4920c66986e982b3c1da577438fda779a805907b3758eabd4a8713de728de9361e39a06f668536431b0eb90bdbaed3ab10ce8c0e7afc00d6913bafe3212b817b2b65696d58b02c6b47115a23b86cb7862159ee845c71f084dd3acea93e832156a012761e8a931707d9a5ba58e7bee8141482d1e4853a639b9da34f203aa228f44d1c8b47c921117f881e96b694ebb00920d7040e292e629d8ad68e66a1f016af2d9e5cb3f94b70e9298e17e8a5cc2beed60d3f011d823d1229b81d3ff8bdd5e111b6e7c8a9b8cb206c9adbbcbcd8d52ffba2a683fcb491f629257705ccf99159ab53a2a0c8a16453980015cd6edd97810ddae31ed046777f9dfe02f5748601859b9912d891293f22024fa83ed5c38c649216abdce83607a941fc0497338d5dd5297e00d4371dfa92e5c1b738c509c40cc90bb5a426bfb91e5927da1f3bdc5d2e8431d7b031d548ea05733c28f9efb20da95dcd0e30b2336e91fe707fe8d22b23090cd517db0aea5849cd7e51169898715bcda146c3101b6067c4c49354d999a3be6fab246fcaa6d0caf23e712d55ac9ac1735b4be42c47242ba238196f5c0039377983234129703b0be73c404885390d864fc620fe69bc156846d0f074200a4d6a8d90b6f11cdc8275454cd0078a45c4c74cfe2b97a2569663096b9de5311740b3983d831b95b4ec7ad2b6f0b4376164f95e19bdc9d54ff5896ab19a9951fb2fd943eab724479acf64dc5a2b25b3227a4dc13c534fd87de289f05ad22fb77a6ebd90e29450007d4840472d7397f8247b6a905663a8a4a8c44aa410401398c185754a7aa4db283f023a247ef9d0cca8c54e8e411853d940b5d0a660914136a65fb182efedb735e1ab7bc6c61dbd0fa03fe68eff140fa64685b97e44d6467c9914256e123cdd420977678c5fdf420f67aad96b7c56dc144741b77704b92940d8e1cad2e6a76183e9cd6e95a423b074a43a1488d6bc27926857e0d21940c019197d084630d704aef3f02d89a4506f0c96f0052a58044a3f1b1c82f74dfcfab65642ddb38b5a80252899ab89eb78a9b9a7f88e6ee05c79252e5efe958ab0e85e670be027674791edde59960edb498f4ce6dbf20362543d8aba2c2094468fb794191f9821cdda1623f09ea5d0a9986260bcbe58831f2738b0316085092778e755c8c4182d492181dfae962501e246279f4f17a8bc4a4da0b4032b8c7f8b915d8521800ccf7e95c407a410bfc3e2cd2f644b7c23b0ca624cc7b5f4b1dc53ef9d14d863a4176a4425186d2a207d2a73e62643926dcbacf6a273467a1840427944244a336ad633301db784d67e5f5e3415b926e39a4d534e0e91db03649d1e40b0d33dad1de888081f7498bb7389fbe62265004dbc10914769387eacc68fdd02de03b9588e46c0d5db17478a82ccaad1b0792289cea0fe25d098ef4efdb374b754b5e79009101c43a30e4d36115cafb3f2c19847fa4a96c944f0d1ef21a1230ff004d99ed15b8652c564e1a1c107a584cfbdc52c4486555629c38098b03e0bf89ece22b39eb39464889d8a2929ff48fad645cd9b80e0e848e8fcd6c50190c4884941fda33ecf52bf5080648418adcc6e2528793ee76d6c2f3bc52e50335fa7033617d68895d1faa76f82e0c4c822f841fc2c324fd9ddfd6e3eced8432c5f9b9900b9e98b27e0d1d7c2eb9c1079c914845b7170257dcca2e09d879e6d91a627050a1091ad809609ce2322eb4f4d9a0011a6e37f6186b8bb560e839de3956f7886c038fc678815afc83a064d65dc7f4098067d709f2d115dd3d17a0eeea68649d804eda8bc401cbe3aa36b16a6e2f7f1b45e6f1f7953f34bfbff315966fbbe2d7e095114afe6e72e0b5d4f738dc826a2302c05121b92343c9c5459a7c52c29ac8ed9c03fc5443d86ecc33181d2e4e54e115513fbd7e90956d80e68cf41bcf2b5bff02d3584feb4d2dc47c452cf856360ac3ec77317d0ad8da01b98137cda2b5db6af7a2c2c7a2a1052d1d232bd6dd2cdcb4bd568669301fb8ad5d20d1ce0767847acd5053fd5a6a3fa4dec08858317caabb6a6a3e4dd110106bce80af0e5b8a49edacdab54922b394127e55e6a7ee4db8350fa21df0c41898850fc7742e51970a1e08138b85422c3cbb849a60810b6483607ca42067af06352afcab28b8032a8e3953e0fca78dac8221fa5b2bcbb620294b103f930b406cc3ab8c5e01fb944157ac4238bffad594fe29debe8f7447d3543ac2a977c499a4cf91190fdbc15dd42bef882984d85377489e16481faa84d58f4b63517f02b4cda86860e417c393b910636c96dbad9993118f8afd82047cfbe670e903af79f5a7df2b03dbaaf25c68369c427109fc9e494fac374164208ba51005626701035ae8a59bfe44e2def6f77a64e21c1f46b603774a422b2475931395df1236b3413a3cf899b79aa0b3dfa898f87f2303d2a8f3ec40a2b9a852da2187e2fb765758ce2f5b1459137a9cf36858c757e6fff8989a3725e33c87fc8f76485639ca0b44d91ad8e2be2a4445c8b324e9d7df6f1969b743dedf0717f348da2b324b158bbc6fd392499df3e83c0cc6fe0761d0b502f984b48f4787ada850248e3e7dc090a5b667a05c8e659c31e8b349877d7bf11375ddc9103c08a1ba3ddbedd517d629e86d1e8fd5aef975d81416580031409c6a2bead1491d4c9c6a0f2be02e75036170d7a63c093d7639e7862ab42198da7e5d09eabf1e94ec814c586761d3f29171c944f009d6e23b78fd4468ee6d8f78c93a8452244713ea5ebce9269d0d328196e20a200240b46f1c1c240410f04a5575d4e468a4cb9bc1fd80be23950267980c6b60404fae4c1c976c512fc86e04890ad6985aa0f40ba9442083eca279afa94c6ad4ddf8b32337ebca4a0fcf2fcfef46aadadbd0402e0e490be765e03f4ee6fa969be26182485ab2056a4703a305b910730f6842e993504a25527ada476001de81479685b9b766fc440c60015a36735cf7ce9a67637661d4b773f40092c009f0573690f831cb76e0fea186a51e26af45514f4944a2dadf84fcd9934953c6aad32ff3592e9adba009c139845d6094d68e579350a3f6787a99abd219726ca00d68c73078e2f431127afa5f0adfb8f884dee88c7431b9c3b12a1ae9eb47856750c1cfad26db36a62b88476268bf74b5530947b192d767683f8bd6c0a312632879298ac85f755a10a239c4c16e79138adc4263ad57ed8b241807469b84d9debf8be681c6950d30d44c762051154178d900f201d0c3f13596bd3b9615c2c5f6e1cdfa53e5ed4f88a41bc9017e614b732ace7de11cafa0cc260f5ac44006494148c49241626c55beb4cbcc2a2738ddcf6247057d498c9e7b49f7e090c3bde0678d03067b53dd14a279f0e2a576cfa68b4f3f0736534233ce29a3290fa994d837647424c8ffcea64303fc8cc402048af4be0b6c74e61521d654a80cb34788a7267a61b0f893d3c3329d465b97f51ed9ae7668eb8c140fb20aa122dc60d182f0443c2a343a38aa3f11b9ce2cdf5966f710f650b24507b19cce38ebc7cbfa9edce03e7a51b3581a993b1a224a34bcaac2f27fb530e2982992984dbd8441cb3b89a18c023f1d06916ae0e49b4b4d0e4290a3aa490d78223dc6700d38801af014994e271370e109fc9df75fe4de8963d489b9208aa57b717634522acfb6ea585e0875958b789e158fe1eb9abb70f749a8cba1afa65fbdfaa3aedbf61dbee2af9635f1533ab54d9f41d925aac30a2bf817ac66f12d26aab260cb6086cc941ea43d19785f56d02db6049e3ab260c71b55bb7ba2c2f85f521f6f6cb8062f2ab74c499378ef9cce243d7d6ce0ca2f80a65195ba85dff0135070315d21e98dc1b9e8bcacfba817f8798368c2be1fd4a78686756bb0eb86314194f44b4e88c8555931771376715ff3f564acac360bc7ba6fba57000646fb63ca05ca363860c61f6894b549f55dce6446c6098e9d7465ed5a31e596c8189a2b5fe5c320dea2fc9fb995f95f07ed60bda61d175eeb52d9490d14be31224f98210d900df3f3700dbe738a237c3b966a5eabe146835d45ef6171d020a6377605f4d2b26a8a8eb4932766930af81445eb0cb1f94a30127c40fb79689d280aa0640d89abbc2ef7d44e62a01bc1a2c57493d0f22e68b5257d61c4e99a5beb7fdc74bcdb15beddd5b54408297706b68f05e09945db351a3919e4f7c0491706346c94dabecb4312890b5e503fc0b037b75dfa37efd16c66122902c7912c685601a56bbb10d8a7f09b1842d23f4c63ce223bb0a90b2e9f15ed352420f380229333af8be9bdbed4a4c8bd7139969ea024a7521ced01344036c0e300f487dae3336556bad352072be8a64bbd2e165c3d2707a969aa4e3c28bf227b0bfb98f797a88f085cea1d3885db9ffa61175bd7e211c09414c7afdc572b4d1abf7d6f44fb660877d28f4aa04b371c1e2b1980a7987fc28803cb5bfbcdd7443d0437849cc1494c3e09f87611ef4a0993db2b046ff2ae478ed0f5af6f1aefd8bfc51e61b3521c170f4fe3f9f93659a016b38da3f35a05bcec3bd645c80fb9edc3366b4f8795bf16bc8bc6115126688c1bfdb46691d11608ea6054b242cfcc3c04951c3816bd27ccef819ee9c1c70a05faa672ab5debbab4483dd103581ec7f369d1fa5558a405109c3b80c9ba1f071fe8160febba390114a4c94713307e9376c63f3611ea8f2aec06a68ecda5f19b3ef43b175266e64d7d6ae6680e4553fdce7c0def99ae3672abaf884ae2117b2b20356f19322a4f082d78b1df4702c3c9c47fbb07f1b393ea3357f6c9437df4bde0d8bdc96dc7d37a842ac352368c0fb1a7bdde08c639c4a868dc5418ad77ea8e9e9a65077f1141ec4f4e4ae14cf63dcf1c52ffde9bc3723b161b3e6099b19a3e6e827c62e91523db63a1d3a6dd09aa2a14416e5c02db39cef1eb54a25077a2c04fca35dc8fcad72ee5ba4f2fd54cb713f4c1db0934b9e1e0ba5c49037f0147cde3df9537ea592ee9b813141253ca86e975c6d9a3fda9b53950c86d438bf94e4d793822f049af2d2c9f14c6787aa98779562028ae9098399fbef60e6fa309b018dd496ae55f1773ae622a05ac0c4af5092569ee861fa570b2a5526241d4304d8f444b5d4205370037cc8d442500850a17c95f18f6c7c7401b5817d267ebb209389045793e421982720e546c54edc03058778b3162549bc25b725be66a24785fe75ed32b199186e8dfa170e889c1096a200dcbe4ab615e798364f6a18449762a3eae7bc955e5cf313c878e9fc7361d37490c148db24d53a7c34bb33c284b9bd9367d07630be8cc8b3252559300207b817655b51ac1dfd6dbc1781826be3cc4955a200f671a5c5f12810005e17ece0b4d139bb2bde4050726710c319e6498cefd26d2230ca5bfcf732100eaf16f94bc3e01c4ab380061d8c8109ce241cba0b5551810a0272a6d44b3bda8dca5f07cad2a85dbc7806ebe2a853985548b3a7e5065f717297caee39046e893d45d4c7e326026af87dc41850ecda3b84ef205bc1cb93944efe7f0dbdccab41efef18ce6641390ccd2ba1b718360117a6362720a539aac2d0118f1b8087b1f0498191884d979ce6a67388e70f848118d5b1463cc8d83bc3ea46cf9eb95a895c7ae6510b81417384dabfd5a57f96ec4586391019cc49f2813f5f21e5ba95a9e0a720159203e120c885de1dcccb109e0bee764b2fd12a2ccabeadd5594a718c2538c433cad026f66c380ad8a574ee82750ead6ec74ab51dc3115c2a5c9911f8ec871ed5d0613a0e87ee0c31f88fcaaf26e260d13b845565234c8d4208ca13e059d62f2a44e6dd445d90eefb4df48a63f8889a73e81e16fcd4cecc35eae827590009ce1dbad4880bf98787e64345c82602fdd74253e2f3a85b3f141383d6be91f3b109e405953c7b47de2ab196c90a07f06e54ef88bf99e9d1ee0b7c6d1a6752f05eb6f5ba515546e670bd9c823cfd830fd044c715fcf58ba9e4bd5ac680be711e68406bc3bc66c268900ddb416be55d103088b30c7aaffc4a5bba4e57371d87ec192cca30e2e015d1778348114601c5ed4924036fdf66c4cb5f0d7e60959e8224824f111d44a4fa32827e459d392947bddb408c3590b5b5e1bd40a9f137ebcc2bc239875a39465c9cc876235109af54f96b8dadbf194f606370f3bb20b4e9d434700be09ec5bd24e7ff8be427ba44197fdade033b43cbd2449d151e5d074c40a5d6df55de588cc82d41d5135708586b4573cf4594312f4a005250c9301971f1962ae0cd00e167f2253bfb0e0f90279ee039b42e59102f608d8549015ccae450a695355b2300924024630ecab8deb26b7b3c9a5796a41acc4f9bd15a290e333a4b8736c784a2551160c9a210ef0ad8f58d49b7158f2083de014ad5bb304fdcd137c297f46f70c9373c9ab76a9426d64933e18c92683f1efb5b181da620a080e54caa230d534334f358245a13e5383a1caad6b45d1d8edd62548471d51264b123022b16ea6511ab16946f8f32c3f9ed20f49bc5aee27104433e7b1274f24be58e52990a4b9a656b6155957caff99e918522ff0973b6a02f51a2e67d9e9aeead712f411be273039e1baddd4ba3268040f5ac7d5d8c9d0d1cbb0dc5ec89e0f2d579d77a937c68935a8c431e8345c75e63fc2e0049197be017794ef51367d14d21506ade2079d876576b2616fb8cef6d574a402e2d3e49bb0435ede0fd42bf6180a03182d84bd8cbe078b34599f4e0541e4ebd3b53237b564675571e1d9483f05f321607ee2f726b8cbf88139e8cc5d543ba443060662278608443eedf1a775eff86ae3db523b799ca9977c49c498329a4103ad53bacdd66d542cb2d118d1562328c6cdb50f72fa8d5a95b7cfcabc5f66e89a1de82b7daace5436fb2b27e05ecadb091af1115be3d5f6100120bf2f71a9131e2ce7b18e24023e644d4b696708c4e35103e96cedede24125e52f5b87e7f2d1d50fb3a9168dbdee08310b5de85ad37dcef099f5c6ac02d0067a437fac1ffc98e15a3694253388bc159ec1941cbbfdcf95b81f18e10d0a13e59abbf2edcfa818ccb6b0fdfe0d7e11bbce70c68f0bb4ec4ad61e0e9698b49bb9c9965702a111add6f664f49e99e200fd05c841f09284976db4ad7c6c92ecf9fda18aacee3f509f3c85cf284260ebbaf70397c4ab12d16e2f78c1456b7cabdf45624c97bf697bcfdcec40fe9338a3506042382c951535d534f8d10c8e7f4ca143e65aaa9f85f605f664f8dc0e9e3bde27b1c321f89184d640959ab27df77f359ebd6d35d8591e4d29b13c2a637eb323ec18ae8462e34dbe5002e054687580a8108d5ae9db264281f385369badeda50e899bfdbd6249c10f1b89262600a5e93c000ac5abe25e9910c9590e2aac581d0c697d58445ee75c736f5a4b8db95e65b1a950957409a85f097930327184c5cbd10b49d390fcfac283540fc3d4b8177c128e57d2b0bd1a75c7123402ded5ec0ba21d747c12ca71eb0ecb3920d1217e0156997b8f38f18fa8ae9e5bbac6889dcfc4f4f382d6b9726e635ca1e2878eea8d9d02608b2cf49310fd5e6d5b9d306280315242375eb2e4e2a226372478b706c931d65ad8e7e8056272a5fdd2f1249fe4dffd4bfc51386888f1af525fcb6f68894b3bb9c082314c010e52c47879fa8101151e2b91ff8560c45284a81c6846a0c9019fa6bdf04d97eca099c24f607a54e5e82fefd0cda1335798cdf7065f4d1bbd27a783ac917f3592233b663a0813778e4a0e758eda8b4abc5bab6e23cd5bb2d912153e8e4d1ca8dd522a78474f53ed9f4aec43029bc511d97f48644e1c912fe9420c710464a5b3aac70ef9039cd6b305e595905775314dc6ad1767e0861377108dd3ce61cc7cb0a6102571e06ef0e3c3aab0ccf77d7195379920990aa74401eaf28c834f0263824d39e88076ba6e17be6afb7fb9d827d37b246ca0127eb77a5303fb9ae5edd239c6e9b1e660aedd27d401b795827b9813464d576c7596ab325cff9ec78af029e44fd0408893b43f39f4e4f034214ea86a1921340be173e166142fe6d859cd268beeda83733d9b221995c9084764a70e2ded4e4ef7587a97d753fd901175a495709a2ba7a666f8a53a638536589a8bb77bcd164635d00b04f43bb3556021f0882ed4b198e656ade09634eb1e1e501dca8f532f3690dd7a4a98237dff4fcfbb74ff51094d6f240a4d9e5370d4fca2e3abd7f7614dc9a3c449707a98d126f622b70f540c9669bce3651b0756da148e881fa4897805bf6990d7e8cb0199130d2bdf18315cf938b19485c81a7a1452f0301fb78edaa021dc91aae653a1767483388b339af2fe70c450420eac24e6740acfbc500afa8ec6b21f7a474b7ef97e206c0d7d727596fc01282580efa702965868a43d53141d627e3aa9e7d371ab5e5354f3870e36f0d755745e5dd7146dae56360754f4674ef128ad3a671a51efa4902dc603a11a9d305193352c3af46a247069b66d093d92534e147b0b3e5654dc8426ab0850e9e6f443a78c7af612bc9eef8aaa08eebb6108a6b30676406b7df063587f5980e15c58c271bafa5c2d8708c4931e4093050eefd072cb02fd85337650eb5e4794ff35dd635166a9033106f70a2ce996274be3e4208d582eb02675af54f0e40b8f42f030915abd729c8e315ba27108b09cc1c03be566969971dfc8a1a75aa27f69ebb405748565649c9b96034f0985c3d7ca7d5bce5a0df1e638b8ec3a7ce3302b8a48582e5a34d476b9b3a04b156e6fa3621026bba92247e54abbb65629a4c1cc9c96b9543e1db578b9974c389c9742512485754c64d6c91b245936e84add8b36df09edcfcaf9127a8b4fb9b8f569d69ffed8a3369026106369e964be035a7a9f9b8000faa74a08001cae7dba080921b975a94359211153163da35ce74a165432969557952322a2df022aadf6d2419d786d8c6fd72a80375db526155b7a8dfd51e0f6fe39ae14097c3591fbb3dbec6896cb91ca6142dc376ece04ef3b29f8f8694774bd3d6f5d6c2d923ef381eb40d27503fd1c51350b2c5596da2148a9b8bf2a8eba15ccb8eff51d2fd0d0823af0a827bc8e2d62e46fbda017adab6786a7a7b873e53798965f8a5834e279f408c664b1ef1666661cf9411d95b3312b6d7e2a430c75f1d1d200425c03108c970a6525b8a7ac411d01b53664ee4024379c67e89254c16991fb8934e2e48a8d15f79ef3e796daaefc124dab37757827c1b3fc026a960cacc91b40826f5e139e178b50bcdd2d45a186a3a29bcd33d92627565c6473bebb3e09f4d3d6f5b403ed9c18feffffd4c521b47beb414851bf6fa61d97016de3bd3430d7f6879241e45af07e82a7831e8deceea04a103c552bc3fac5ddef6b0fc4008e9695756c946ba98773215e564f682b25c9602c35cddddf0433d2deb73020749963c90613c2b20c3841f0aa8eb4afd41d1fb109f4646f88dc8a58de9762b9d2a3c7ca75950ceafbdca360495f0f35705549233ffcd3717ea46dee80c6099c0b33ee40a75c6d945d79fefe2c0ec81207a07ecf2af646350a7850baaa1222c52ed6227f36b859b5ae22dc5c982d088a992e011a8a264157ea4379621f9bcfed98d8bfb0857970c8c916fac1ffbeee62d7885da42c0a3f08366b881d188debc894bebb09881dfe79dd37d73ea0ca87dcc31e9b629a9e473f0e0f0bd237bb8c2cf11bf6a684d01cfad65572c7c4b0d7f28a455600d77593853dd04db40b8072ef3d76a230eb6f357220aa811d1f762595eaff7da05c72daf9a71d7659ce1d59dc2d78dd655197a02290f770cdeee9d3e500103c97540c74e93f4ba672e7f6dfceca343becd8c69d23de78ef88bbaa8addb0e332240b555de7bbc2d772c1318c19f6bf0d4e3f13c62d7257e4300345e9e3e243539a17767f8c8e0acca531d8da7f42d804555dccff29ec199c0b4b3821b84961774e7b0382c7291084111a511e417cc2fc221276eb8281704237fa12423d6c5404019240ff3fd914be5bd366e5ff3a6a195072e11b44068ad897492cbef643f891de270dc61975e8fe8f330af255dacdd4142d72f8d8286daf387ceb159ea7fc721256e831f63ff2b7b8db9e21e69afe17a762944c050883f02980b3e6ab7c27587616f02d9887d8bf856d34899d54fb672d90790e1556c1174b3ecf32e995f722e0638dfdd17f93524773b1f57c9328b21e337e7ff04d94caee4f9dc549af3c1d05ed39f5b30ef0a61a7726ce540ba2ba8e674e5df666e24fd122a750408ea465a70b94efa946828ec3e21c8a45a192534ce9f361b9be4ad2787af4f30fa1bef46790ed19797ecdbdd2c61228b8230f5ab6fae86d2f8daa37cd3ba5dea2005a90bc955fced7c0c1ccedcad993e43751be28bfa4702584f3b4fedff941aadcf6e2002a4ba2d569ef04172ec14e58bce9c81ff386ec72fced6b5715449aec58227f6644055fe589a38cc80aa50529ff28a64808ede427fb17b94511aa44ea59ec93f0217e14faab196ad434e4e58d99c2e3e302486a03bae12fddce230b66f57d804f271209ffde266f07aac1046857faf036ec9526588c0f253c00b3d20ffbbfc886f1cf01329cf2c63fea8bc7d7c36486eba5fc92a05d5081c53a440c9d923f32141aecd58708ba7dbe87328e1b7eae5eadeac5ff47ddca4be9164002127f4aaeea862910297eeaf4be3a8de530786c885fb4584ebe171378bd6c70255957d463f3d607653abf81a0570b5b0eceab2ffc0e7e27f44b7f7a5786043ab17ca35de95b9a1cb03e39f833eb590bd1e6f30b293e1f94837fba71d30bfe59737a540b812a222e1fa0d8c681792d357561f419f8791c0872b2ff3e813f1f9512dd797140c91ed73a88c9014960914eaa83a051e996727eee8426ef0e9e22e01ffe7d0957f31b791853c3871703f8cd09eb3e14da641e9166c2785ead8cca2609cebb5e2b41a6d89eeffb030cb7ec2d6d9f6d19702ee262233a09373d9cc6e02e839075eff7c8b99ee2c4f67b51e9e925206738eb51ed3178a36f6f05a8a176995f60f50864c0ef071621b250b9837bdf7a2c4740ea7df794ddcbeaab78df6af38c786baeb6e5468787bbdf08394bc098990c34355ff2557bdfe63c13e91ec9a52d3175d49d2994f8fffeadf5cc02e2ff87f4e7d5ed4dbffbfba0c9ffecbfe5ab99c63521f961b034be29e3595b7cd3d77a5ef0d39bc44b48beeb4cef0604725b845ff7d8c5a03e5c8b34260cde89f01f60d45f40b9b0c644dee71617e19f92b102d5ba6530fc7ba128c8fcc08c1fbaa48fb5d47ddf4cb4e53d45de1d7190b9f8f3af240a1c02ac55fc3a64c2b1862878153f11e2e4ad950012877786de56add7fe0c7ff06f347e9e4f4b715b0bf295597c7cd11639c18fb7211b978a89a569d50f24a40203813f78b5666405fc5674d47b13e0b7f5758186c8d13153cb4619b76dc0f882cd8b1c7d7fce87920de580214a52bdc493c4f316a27e4212eca55864f83e35074626d7c8b47446f1744335537f3351df61bebd0f252682302f287df17d36237ad4e0ae103ce7cd1613bbe48b94f01b2702c0deff6fc58b9bcfdf42e31edb23f67ea6a1d497558c50e5ea98281c54ef2bf8ed7d5d04f4af1a3ca59b65b0cd8f7a5f06cf955e03140540ef07cb9de53c461e86c8fb808bfcd5de7da44ac031435c9ff5dd42c92aefc5d99613d980f9d79218bd50cf073d878671e180e2d3fa5fd4b79ecf8bf5ffc89c353be7745ac707b227556d9da4b6b763b87a6e679bbfc801bd28427c5f97620261b3d5ac75c248ce1556f56b80e569c7845d4c65a9f443a65c72eab934ca1837169ad48ba213576aa6a7030c90f4a24c38a1649daad1f93cd49ea80bbbdf025f5f2b16248366b292c8fbfce3d6e80a706afc56fcf45c8c9c5fff7ded42f781c1c1ac62a0370edaa8bc9199c34579500bd0f16e4ca3cbe06f6b99154cd5c86ed5e01657a67d980db0300569c80cd5f75da806044fd4f50b384d91a10a5eb3ecf4e61b041aaec5f04dac4e388a2e0f516ceec8b7a036ff3d716b8351adaa0fa6d9fa10f3d41e5411e73655d4aa707732177075f6fc20523cde870f9ef0839a3d945cab44a3ee0a6430db696e3e2cf594227dca1f8f836306006c7db87ba194ab3c9f005828cd5d6221284c23a0b2c5174c40fc202ec73da7b9250b085341cc068f25c2f5e905eac33d33c645072f80e5aa49dd15a65348d294f64331a559ae41db41e62aee4b81c8c30c7a21d3dff5068411431ff2cd3cc29d541d05dd8019db186e642b839552639043a7fcb277a260c8e6db5d540eedd5d86c9c961218172519b5aea669df6c713de097611fe6f3c150ee2788c371991960b4e45a9dbc0381cb3ac0aa254b6d873340cdd3a46d064811be8ef9460e554c79cc4f31520d55dd769b6913978295bb3251c90149e9d1f33c4429fa87e67c8ce419999404fc6894cf07eeb57d2d8ef939b360db8087edcae840633b7f380ca680230a54285c0df048eb3d2a1ff4f88030dbad361f8cf2e92f7591dd84e26b902e329048e63aec96ad4cdbb32d38e3b3ee5788a55104e411b03aa4dfdca91b0e08b22d0281f2dae0237b3651b7c49d732654470915520e7a6fecb2785d8d1d04686eb552fdcf4dffdd5a8dd35a684901f53571d9c8e1039e3ba143349acd54046a53c067b1f328c02d7dfdd1ce2fe17799ed8b66c1a9a643cd3771062061f28163ef61883afad65d0c19c223a93e052ca80eca28420bf7f88012ef0139fa14f2965cb06e7780fb3e469b38c3f3b4a866e51ef67bebe73dafea76c97c7361f666e56f3608ddcac2102fd3ad829b56be53073f8596cb697541a4846d7bb870003e094d4158f6ef61d676809125db4d54b4b750e02e4bea963f32d35bc10391d0d54b0eb7cd4c735f2ebf984692d2cb43a9c5af5ef22e077e4424802227dc8c734fa3a211aff6b02bdd5b7af6a254c979e2ca11b21e82f502eb60f43757859cd7b31425a72a0ccd944a0fa919a6cdf8dccf7efebfe9fdbea97e035ddea0b394ad21fa1f968807e8d1858314e6fe07d01b30f5906df9b1a746f2607cd9b9187b364985b473afae49849d7a83d9eadf24f912b460962a9df4ab388452ab49380b46f1494dc2cb0274f8bc200a6f0c3435ab02fd072e6f2629723c4dbfc5191281283d9e065b260fcd99a4a0c441d1d3f85a706541fd340fce8b4c36591e30b4794c62b3fcda4962a1f658427a82df5e6312094cc966ba2eafffb538f1281d596fac2b615bdfa6924956064cd2d3ada28f2d9add3ed21faca98296f47e22f725092430b7c0d49dfe1ec8174029125d5f90b35d5e274a8fafa7dfa11f7bf716de755a49d534e934dd49d1a3aea5d81d40abe1b2430b28ec5240da8446ec8e8db8764bb3ae184910be4213f5028df2f6992947d4517b53a9a7897dc3a362e966f3f4091f9048a7dd71874e6445b28d84b3c60dbe279a1ad469f76c23f09e8ee3e09adc9d765ba7a175b429818a9acb2162e5e75778e6b85855b1427b3e7bf68f53b7124d0a3db6930a0a6fa8499cd9e1e227c88ed16eaf5e9c2c8c717fe0489a6c2e5cc31761ada5e03da1de08ca9b416533c05e16c7783015eba5803d44386967b2a5cb029524a53a799d2fac4b27a25087767d798f46ca3d67214d813cc247467548afe4507f515c7776658e0c1a0275b8222ce28053e9c7919afc81accff0068dd60418f5e8536def7ab62f8241986a0d99fd2e25713921ea6d36ca6637500035e87336c4075655a44546d8b3678fd915e94ed249611df83ae9d60355808207f43aecfea3cd52c0c08581a82a9d695cf96a868b454ecdfff1389875826fcc2e098a4d275936c9dfebf9600f3cd4657d3f3151c255e98eaf3c87f8f9dc83fa5f870b001e54d8939c74caee1e9c11079e001c363b9613ee0e50c8ec4f9256ebf045442c6addd3d9125cad16b25b02bf301c52ad143a2bdb35fca6e3e85d67525593b71eec68abddd5a4e8a78c48d43a0938186ab70e091c83f8712f36b4c5ee1923b2c3c4d3bd7c9d574b60f22d0f3c41feccf5167fd172bdd6fa535d93ebfb695a827d818390eb1e3753d4c6f58724b3e27ab2a7575d0ed791b2f58dbba16d0376919d912556a9078d261b2c27ccac84ae9ffe794dcf75c9048a9e73c1b2274d3997f05da645832e783e6c661afed275ab95186e6b32b5fb36978d8fc092ebc2e314b4e5a5713d06fbe83af301c0d6bd8d04cb055c9eda425956e3debe88d2cebd45ae9f9201c0ba7ad1251bdb3b5a374853c20dd70aadfa6e3e6235d50003ea01b1aa5194b36ea460fba869420bdb1f7601ec25878736cbba047b403a436a1e5b34e1f208f82deb8ac2ba31904f2ceb9a1821dcc7ed7dd1ac7b515dc4e1c96eb11ffd7ebea98a4fc5107af585e7d2082381028bac7bb4bafa2f43efd595c0859bcf9d601e2ac680d109f2edeff6e40ba95644e5fe03c05184817396d89232814b3b4d7c57aa3b3b5da24212b414634710c9fa8b1dcb42e3f672dcababa356501e1a6c0bb8d8f987cb62471e61c57ea422fa1b2a57d1942ecfca09d8cf9ad8575dbd0f2ab15bc40daa7760d4759b037cd3af97937c4553b85019f4b342d7bc8fafe77ae43a2445d0f59d64850ed47e5c2ffb838df7faf642a5dbbaed2a9cf481f1cd4695057cf3d9eb992724588c6693bf989ca9f161d034f9e6ae95736ca38fdb5341dbb10e7d8eb717ebce541804bc7aa64ad318406e74f37a7ea7c495b0e82c74f4afbc5e2bc7d331a11217c965e9916d43ff0df55f7c5495a24d26a7771d75fe98dfd2ee980bee335b510ac5145aed156e35023dd2f5549b2774fd01de5788e7fa54833dd85cefd6f088781a00d7fd7060aee7b145e57ae148ae331cbae3ef51cf98ca91a19bb4d05564ea979a9f48301c71a23e449713c559273a2cd0f6ad9bb70b93ce24aa057ef0840b0f58305c19251d9945d2abd572bf5696808e29b6a6d3be928f9c4b0f3d9a22b15389505a6a33ece0310685a06d7b5cda81582ea6ea61bc9a10e31bb2c3e5f0e8c43997b588ed2586ace8b7fdd65a6bbb114208219b10b2b7dc3b080fe80ebe0e34cebe47e6e5ec2965abc08a7118e33a01818eb5e430da9fcf1208e10585118c61d88d3c32f5f4ad08aa9e43adcc9c5ab4687199c67ea0de5d11dbf5d04f38457046fd0704c227cc71df301bbb19d16f6e1c7ac40ebb1cd9cddc2fb67db37142646d22be60fccaece65d841ddb3e455848643dd1760c9bb7e63a8ccbf48da2cce260cfe69b0ec13807e3b0ebd118c6653ae53105210b86bdbb1aeb6646a5535b7aaf4ab7e8abcaf3c4a61ef45d133af6d069e62feca11ef1d9439be8d2c467cf2ecc3e6d8ee74e0079d165ba00d9b7a7d8eb21eb7ddbb06336955d742cbb3499108c3d13825f8eddbb296da8d8bde99467b7465e746bba63371dba378debb78e078c63b73a9a4e6237c3fe4c57b9b33fd33de9b3eb417fdd1c8f5d94fe4a0287e8d5376700d393ba99d1334a7ae992e8e9df2b7aadeb333be95b66df9f759245f56759d608c6b76fb187369addcc4874ef5bc6b1dea1e814763964e8d37b9c3d44a373f72eec8a187da319dd8c8365bf3c647f584436b2974864011c2c7af6ce3df468450ca8db2f1da29ba3cd34088ef1507c0c0b5b35bdbb601761ecd65cdf2e3b1e307e7dbb4c5fd7e5ddedd8253a6669e2dde647378db73b81b7ed1cb7453c1a7d64619c946f3077179b8360eeb72f16f5db3595622786302e3b1a1386f193e58ee29131b555f1f2c7497f5434893efd592d97e01835ce88f691aa0da70894aaeddb4de598c1f0760189b79bb36f171d76456c373ac9e215d83ae6d33b3206e2b0b6e768cc1dc61031e925d7b163b799f4128f89687a211bc3364fd7d04122c5d6715d3742818d3c9123e2eb72b685e5e44537532c3aec9d5e6599d33c457aa74877eb3da489440c23beb063d7cda1db60f82a222487f40abb40a40cc52b9c5cdb556736236481e11430acc20833c038457284bef517533cae1e0d678868154b866015865514e10d187634de4597691929b2a5337123f1f592a5244a91d91eb292c2868a7533f476bde675d338fb25b37b51e19a4265796e9f0b6b265dc37a6745d5ce129fb8ba998c488d44fab3ba31d4dc3e32a6774c5d89f435ccb61dc38af42a7716467a95e50e6ed22b6b48afecadcb277ad51836610b43621a87159be02ca190a23b81a7e866d15b7e2f5bb430820342fce4d834e1048670c6cb5f6ebe80c4f366d16d303cfff2edc5ba7cda140bcb8b7df1695dbcbb2244ffa54eaf7eeb32a7b3e0808ba023314472487f16aac2b80e927979ba86f54df2bc3c876f2fd6befce572c8cbcdc73ac83884b9e29797979b75b832872b77fab3549f8c794beee0b02e774e40042344c0f316c55b471d14e9a8a91ec2ebb208bc0147a3d1e8db8c9d839ae50eb6de3eef25f006c49627bdd94b5a651d76ed23b2449fdf445324ba758a201e59ebd53231a565c28281afc3b09f8bed9d17b6895cdbd632312dd89fca5b5820126f6fb13618de5a0a2012a7ac2e74334e111cfa66afeb5bdd44a24bfbb3de3e7086f5ee49d53171ee1d9f9bde305bfbb32eb2540415b34416e2b985ec0f0884b188ed44d1abebd67b0a7863bb75b87233ed5037a3483fdd7c2012634fb9f9c3b9773a31d45ed22becd6dba757a25b6f2afa0aafadc056e96614265d1f7b7dd43b3da479daa7973493feba17ec7461a81985adce7b8e8843d873442c1a59eed2aac15be421623d64e3139e8d466c84c246786314fd5929ec105fdb924e0ab599dcee9250b56b5951641a0c955ecc3212792eeb34bb58560ab164831046990fd2ab36c2068254c0d354a420096ed8d7947172199510d29b2b86f266148651766410f97df4bb50a80b09351f856272ada07ede7accd128a8a00a0455101381821fa882ddccb543c6508a9a9d8ec617a58dbbbbbbbb1b62d61240d107739f8c091225c875c58ee6f8924a1c0999e40b3b7c96803b1af44ca2a7123efa935266cbfa6559f1edc32aa1c465cbae57c2fa4862be4ffbee883e9a3451c20829fbca3a6fcd390f8395b06ebc464cb98a7fcc3122065c6393213a35e8ba82cc59c20aa265599665c59631f68d5507c9948fd3069e9309f30a79e299510ae9a530b31042c85d2b83d87c762f482f8497ca2770bdeaebbaae18b73e02cfd5fed797d997dd97fee411ed02016bb76c99fdbae284dff5af57f22ff2eacbabaf4b4a69cdabef0bd71885c120fa302105b00912ae106379d41ad9236a00c39b630e968716c8e411c270ce6b13c2f0900a18066718079ce5a1ed1af0b1b339ae4948021ce2a14bbe1035d37854af22cbfbc7ebec89ea863868229bf53825ac220559e0f81d47744c4c43121729f26de018ad243c8082a784b5575ec0118a010a2811c618df35e23312c468bd1ed59f6439ca04157eb260936feb3244231c438d1042180586b7baa5c0f0b37b8a86a2ad223833c62a9ea10e8937c9f5e4e4ec72b47723b0fcb45607e0cd1042087fc060082f0c0ace7917b2039b84318bdd13461a0ac11b97f43c78c39a5d076f4c8bc3d7b6c11b8d695ace3278037a71ce39e5352d98218490f6aa831fb46e7112a310420833da1a0936da2b68cd69cd896be6c5e9d86a98916295c2186c36c56477849ff00818ca370d38a361e69c734ef932e79c73ca6fce39e7942e73c639f3c411fe5a72af94a84ea20424fc00e753fa63ed60b1576084094f30c3cf4e0f1536010b57ccc64dc0820e6ec215a2fcb470e08dc451ce782012c7f7caa5e50a3621d9b9c7a1f6a310b0b093832353410d226376506cc3ec12fd5d9f4a6aa7e309be76c818aadd4c2bbd3e79f3876212af0a218410b60b463024070724a2bf0b097677f46744d7b8b22195325102146db0540a6a73c494520cbbb1700d3c3df60c71549a039e9ede58187e7eeb6050e985c4199ce1480e8e6c04751ea7e821c61e44528e5a578afeae5378ec96ad81988cf26688597a4895f497440435d324f87aa6029e48a4572979188bc01c9fe85e50ad4378ec91c31bac41fabb300c13d2df959da066286d4541fd0e7605c17e61310ed8c24e317a5dcf48706521a83127487fd73310d4f88b49cd300abe9e01785d08bc61e10b05f81a01be3a80e3ecd4e0d30426dbf4c2ecc2ecbe534cae059b4c9b9e2796fdf5ac9067831c7ec066336313313c8d056fc6812b5b4a1ee297601f89ad67695a8863a768f0bc9c92fafeac413482eca9476a3f0ab1c9ab6dd7751d42392f4a8f7da394fe9ad305cf9baf63375ed723665d179e9747f8a170c6cff81a4a51d6c5e89c1293534a19bb63772371c58e1b6dc8d800e22b791b85b2ae0c10525a4980414ac041480535669483a30f473998760df87e44c1bcaced9257cbdb1d876c53de0c7d382364e84220b9e2f9befc8416a6a0c24f60832eb2a9fce27d9782c374900dba6418399262dbb65d9186cb0f5c02c3a4c915dbe5f283455b46a4258a82f3a8676444aa7a948329bdacc6127da4aa298c0d4c9f4746705f171f239eb5f08bef6ca8060f7cddc547c6b8a0687600beb204f075971f19d3bd3d979fedfe68f787b3966d4bf3c17d16db384a1d0a6a7cc3b830176c10da99942cea979031105eadea4c1e1a18f3ed8037aea3b450ab90e113208cf394ce68a8825ff919e1a935e916392246d54869ad3e6bd0c1d0470d50300030f451c312bcc9ae87bd71a6ef11eb328dd35233c593ca531a278433e094d70ca494520ed19f4c7fb2db02d15fcb8e71c2eead43ffa494f210a6bfebaaa8ee1ab2a6f5448d3fa85c77dc3c312768f1baaee9cd09836767351b591128cd2427bfc9cb401e7ae0492520a10d1b3f9615fd86ee37749d320ed6b14e04535eefae47e7e4e4e44c20cde40423c09af49498b49664e204835813a0d930b2e7facc9131b20700bf76f8f5fd92f16bc6af975fb4c58a0e1217317e5d2fb8e5281963fdfa7b05e3d7f5f396477843f596967952b129bc8275a852a56255240ab36418664d4ec59ef066712a3645c59a708b27ad52b125bc514ec5927c983471225552d37a366d03809d3c3bd49a9141c58e5236235b110d480bd2a26c3959a6038cc5984855943f402a56846b0b7b4487a7ace6448796cbb3a3c487c915247782a2701c17c507cea82ab6e28d0b699ad6a47405611766328d6ab5ba9d9aab8af560aca644aa5aeec26a3ffdb55ccd8954b5dcd14e4e12259e8fc72447aa808248a4fea2bc367398a0546c27bafc0e160380c578a44afa30b1d78bbda2f448d983654f14a9d29454197405614ae08c6e27c4a9580eb7b04774f82c8ba552a5623717f6880e5fd14107ab054915cf9653ab06a46233154b716aaa50ae948375716d9cc8c1395c65e52d4f7d53417544e060958570468e11b7982cfc59af47aae465582f8954c97b05e95c51ba86b4ba67a9046b5180faf3bcee03f58b073aa99c522a2a2e5771d9525cd8232c8fb13d4beb62b71d2d4a7f413ff25e1278a385ab38b69c4e6fd1e2d482e5b4627dc582dd8c8a9d783b7131ac3d0cfbe22a4758ee6261a42a7ec5deb23a487e7ffdc8982be80a72611bdf1eb17eaf2019a30169142555b1e5b2e52fee5d5889edd6dcb5bf0b1b5756fe156bbf7dc5aeccfe5adee28865ddfeb63c3694d37371595a2caa5bb0b0a844172d2d2decca552c6c5151f9497b4686aaf296959f6ceadb5b5a545ab4dc232c6fc1b2925a61d170ec72f4af7bba8c44d9fec974050569508282361d2c1fd28034a02da784b366813c0b94af2819cbc1f288f5d8b31fd44e449c1427224e6b328670afa23932c928d7f33492235539258ca71082b02245728ae46052c414528e8f9745122c4db614e2e93122a576d9cd685bf69943cab92939d8921d29a7552acd699536532c95acebbaa8f7ab9bf1304861cb2656607992696e3aad925b4e7f72cb118928f566913184fe0d46516d2caa3d96112c7f15c1f293944305962735c1f226273865cbc9618229390d69953cedf427bd2c1eca09e9f42a874e57a2882e3f4538bbac60a79d21589e663c1a6907cb0dab294eb0fce80a2c7f4843928472a42a54a44ad3f5a26ca49c5e61c1c49cd78bd29fdc7272369d5eed74cf272258fe247fe2d9b423b4d21193911d5131722255f2a52240585ef618c11293c28bd224a86652ce46cad141221a9d66594645cfba1911d068e445198d427744863a92de14c18845b113a54449c94266a32c9f76b07cddde83ce50ed32ad4d9168be7eabdfe61589e24939330a9c21475f89026fc4cb69b78f56a26079d186abcdf3fed8245090cb96236320a5de117acf4ad9ddcc32e3cb306b1e4eeed2fee27fb4eb0b0319a420852ee794e43898de3c7f50a80f421afdf5a30e9643794336fa8bd8133066afc3225c1735012c42cf2251ca2752de9afefac704f1867ee08cce0355bedf7d4a8245d70129741de874929062e4ca7462727ea1ce6f924a3906cbea2001cf15f7d63d47c499072514fdb567fba7b16820db991335d4ecca1e69a4bf2e0d3574b33472d3ef2bae706235b1a898b71381a46de9b675373b0e9e56da1cbdd0a5c5c1f3c6c2debde20eda2d4bfb09c69ea51198feae8052739591db859998257e01f75fe00d082d1829d36ec0160cccfc0196775e3c71ab62833e54141428366a2f365da6e943a190b4db2dcbb2acec46cbfaecab9b8932d232dd8c13b790c56e8edbb6bd812c19b235df5857fc21de2bee401f733c4ebbe20e313ea4aae3bb7461774997da686531a348281d14f1bcfda4bf18219eb781fa8bd9439ff4f3396b202b539c2363542e3d99dea13eb2933be914754f37e5966e2c4fcb211d35f4136bb786bbf6951428d5c2f157fc81bb35d9b58742a11a4aef1577884078de2bee302d8b0911da2417673efa148d44a1a823f371ef63ceb41e732e0a556bccc9913d1e96fa93d4ca6336ab34eef803c40d84a3c4f166cd623bc7896a485e831ef4e437fad1e88aaaf690a6691a8c256ab36f22d149df36c945913d8946269166bbee261edcb76bd907eee44da5e843df28ed6ef68153f4d61bbad907deee7197949336c74056b0057030bd968fbbaeeba87679af3b67b3f7d911313afdec7674dead6f57ec0a10b166b951dece69a36bb766747a6b4cef2c3cf24c3c228da9f44eca3449e47976f2c85b77cbbb14bde46dddcd2591088b44de67afb47b3797a4ccb20f1c9add4c36aa58de7c63e128ad178f65483bae3226057a879074784737d3ed8aae77330a73af37a3b8a758d81100077357bb35d96976330ece4ee13b5b93f18819d66867f37177cfbbd905f62e5fe5cd2e5ab46869616149a55656545450a8d32925c5642a9548a4d14824aa3514f2bcaee3b86dd3b40c7b1996a3d1f530ecdd74086fd4676b7492e9e60b7b2f956ebeb02441384374f3c4de8c6c61cfbb7733577377e80373efec8d0524626dd36ecd76ca239e9e7adeb66db734d35b00077bd76cee0a00f17669b38f942cea73789dcd4e64199ce1b9bb3de3c8486aa3111ff3c612a22455aad8aceb392266d9613333cfd2abbe2c6c1ebec469dee137cd82dfb6652cbd9a70c606370ce06c83db9c98ac5d6c33c8fea40b0c8d39e784ddfd99c196d0c677982646f81ce183840ccc1157c8c4d71977f0bc9cd708b6f8687bc067d873444c6be6e1653322359e5e1a565640e2140f082f1089e3b58187c0472061447ffdfc514a030cbbb5e3081f8845844138466c88d811431c6c5df823031a1c098a8940526657560006c70bd45f3fe90fce141a3823c51f30b8023035588c81f15e1263605c1855a24755a654e07861fc72c5a23ea51b869d6431ed5b0cea55c948f60814943d89412518871d250c354b08bb0af0468bf7db09bcd159a1a6585340cbe7463161bc3b83e503c35a49ba46127a70b410c73b9fc019cde40a4ae00d15780386b2985d4b89e5634535fd319e622921910ee18dd3f3fc512329633c8ced6451b794b4703767777116144eb1b1cb91fd5e46cab4854bbfbf5d637c8bdc63c4b84760c04809923110ba1cca9817f6b04b99466c662ccbd2b172b28802252865f900cee84b6c7116908585154e98b4a4628afe7afa44d103458e88753d50cc2263a8d952622991313348722cd55202933dc219fd196429293d4b39cca2bf0e92319612a9226241016f6477b99972f6069d6ecaeb33db89a15a53f42ae5be6f2de915ca45cbb9ed858dcf66d08432a3cc22f38969a4bfee0535e57906a16e753b227671abb399f973447c6dca73b493adb917b186e5117633d9b596126b4d61f9586b89e5c25a5458cb498b6b59d15f2a3bc4f1348ddc59a4bf2e09791651d29f346286da5874d8594afaeb9b3a729ca5a4df6229894a827a657abfa1f4aaf49467d4e9b03def6da44b5db972bbab5c5477bab9d6941b258b627533a53bfb231db3198664ad4b25a27682fbd506e17ec8ea20257d2370bc3f60b09c1852eb978d419572412c6781160327e57a257abcf9074c76d98d6445a6c748b2190261d24b250b67594af6136759966559d6b7147bfa49a7149ef48cba13ce88269b71b049f4cc8e4e2a89be59d9b718b3499a5c7f17bcded7b5eba1cc06b62ebd3089412b922e15b8b8b8e488039e52ab2d0b46894a7ca8b0ae20bdca9f102276f417774cefd3eb13d15f6c3b84115cf78f972e0b226322a59b16a3480e5901b81fb508612c82e36c408e21af19b14caf720fe104ee678d65ba2d2b56e005f71de2ce217a15e35dd083f36947a16b6d07fd06189835d4eddb264f12492178bb597697f6d75dda514dedaeeeb2e69b26d99922a56c2dc6d7fa1477c9bdf46d463b9db327daab13b7f295100ac5bdf44e7429ebb7d1af4fdc912ecde8ba308f0eafd049d7d5ddbafc567fd92c045fa377af36b59df4ba5d9aeda20bc17574afd1b150aef5deb475dd9ad049b726f57a69f3766f7ae5dd4dd5d44a45a16e4ef9ec7a70975c7da5e142dd8c2637ae7bbddc2857bb19ed1757efbc39e53712a770dc69afb82be57ae3eed26a21e85d92cdb4922eedefb25c779926916a776bb4aca3d1b08fae8e44223df45a4bdd656352b5390836bd8e54a3d249dee945f5f10289b83ba9bb35f2dbb58e47fcc67db3d58ede5992a51975af222d7bcf2e0a824337c37bf71a77b5df60786a73100c8f4d284932f4820dba70d72c772f54e1b7edb2db357bbdb3345a77617f5bddbc6b36d44373026f1a2723b588e34d276d37496108c6660fd349b76c8fedf59bf64e08f194be134295d7aea578fcba1553e0171836210a456a62cca403695c73baf60dbe8b136b5da7d51c359dc771dbcd9ed75db31e7c07bd6f4ed0d4735bbd77b87dabf79cc841b0f6d8e5a8d90e710d0909759e8defec56c37db316c0c1dcb97bdb39ef319503d75887f866e3ac8d11ce98497102d7dfdc18f6eae60e85209ce13d331124076b8f364ee0fa146b1371ad16c0c1da8d17bd64219cc1bdde140fedf5f5d670dfaedd1af84e482704d72f216777345d6773ccc1d6ebcdd146db59dd2714bdda5c3949bb9e89d8e33aacd6bb8d109accfb66b93b4376bbf3b0cb7eced6641748c4dab57aebda339baad79ea54297099aeef0f5d26ce7ae3de3e460ed0269ac9d86ea60edd6788f9e3d5d0f773107477befb1e3b1d1906efab6554deb0e3b1ea49b4c16bb66b3109c6fbab3299aeda46f276581b177df601135fefab6615cec7a98e2a1d5e0b675bf2c5735bb6977e22ba4551bbb90f56c1682e175f86a4514787224bb7df6b80efbf3ae4dd3e8e92f0bbb1ed8bbee7a6897765d508d87d7330be068afb5feaa873737aedfaed9cbe62018f54b3bcac25669f80212ebcd73c41ce666b87736755d742d75bddefb7569ea3dee9b88e3bc77dd435e97eb3377ef9a4dd54b93f214f77ad153dca5a9f0a787aebdb3a9eea273bf6c8af4d1af6f276b7a8a2dddf3346bfac96a4f31dd8c53d262ee2e8de929eff5a167efdd4536e55d9ada29177d6453a18fee7de3ecf614cbdd644ba5a7d8ed26ee669cd285fd3111f1f6ce66d2a5113d157a3df71cba34f5dcdd46dcbb6ab95f3624b2f5c2feb80b3b0bb1d7f1e00147ee26e2eb9afd21f175b7ae0c351e5a1d196abccd058fd9781969d198707c977ae58929408155306c8214a6c05be8c8ce71d01ca1d789ae737ab5dd1af0dbcbe9473e8cb7a17041258145af223c823a7678e474eb59e62d858f9112f448e9d8e1912329c70ef311d3adc3c31e879f05383c2de2f01c1187afaac397bec3a3641c9e25c6e1617a95677c0087a7d1abfc721c87b7810f2fc3e3f04310e0f03b680e4fc48ec31bd172f823580e1f100f0570210e7fd3ab0cc483387c901f0e2fe4468e0e9d1c3b334386e0b1445ec4c5132d92f42adb7800a4e8555e3d46498d29681c3efaf42a7b878f4b7a954387af87a2c3c726bdcadc611c3e5ad1ab9cbacbe1a39317878f57f42aabfc1e3e06f52af7701f0e1fa1f42ac39c87c3ec3a1c3e66d1abac3d8743211307000edf399b0cab6ac0576c0b127761ad02fec2c2b04d6047fcb33f7d97390de0364165f4b8b9a50037af9cec7773012ee3348093cc0bcb0017a7c768c087ba3a48328ce3b84dd06c8f711137cb202206be4d547c1d24326ec68115e066228e6f13740037637a1a008ecb38c99071b3ea314eb7033a4864e82021e2e623a70f00856f96416199eb20c171b38c17a1ba39c689f8c70094a5a8172e5aae42adfcbb4d7028d57704f5170c70c18001e0b80e92969b55efb172f3f7029cc5b2d01bf9c585b84d506aaf83840725c0cd2c5fa12d2b30288f5b7a8300f62d0b60b9b9e52bf4110996d1d54192857810b7099a61fc871f56ceb223c620fe431dfd701d242b370bf1789bc05622cd7fb84d501e37ff40e90e21be42576e76f1789be070077490ac5c0709cdcd47e877dc26ea0f37dfb84dd41f6eac9c267ec75916e022889b8538014630e82888177674b38bb38c5a58ae8344889b8f8c1ec402608cfe62014204711d24f6e696f3707133cb09f0db93ae0e926c44a6f100dc262809c67590e8c871f3ad8b009068dc6c80c320d1c801e33601bfd9de05e92d14f0d2d5419275e4181a80999b5dfc43b4681180989b03f01a31d741e2e2e62130235ee336410d70730d4a9a19e22e482e6e7ef11624172dae83c4889b8f903e53aa71338d520d1ad74132c4cd2e3ed3e243fc09d0f11ca500d0528e92bdf9c55fb2bf0e121d371f293d470202507a4c020210731d24306eb6d771f39fe32e3b9872b84d506a840f2e2f4c305e1cc087db443521c00818b7090cdf0ce32f4cbfb6090c1f39c225e5ea20c906c83c5c87db04f5410717d1bd3ef070b30fd7e136515378787173c50e7091298723e036414da2fa17a6172faee9764007c90b1d2407b8f988e93aa4e460ba2845871cae83a4defce2f55e7497db04868fec103200c547527ca02946780fa5c0b8397497db04873ba0830486cb759018e0e623293762071f6ee6e1365171077490f8c0c375907837c3b817bad9a547018a208207016876e8c83133c400ec8ce3b02fc736bb8cd52e841540101688880300ffc166bf61b507c0da88b1abc60180d7b0d96958ed3ed81eee911dce8385b95788c40180ab8364067cb91d85cd9e83d5aeb2dc3f9bba0c2b1fc3aa1c86e5ee62537f61e52ff7dbd45d58f91656e52d963b8b855fb1f2d1aadc26d21f3cca5e3fd9f9147bdd64e74bf63ac9ce8fec75aa6191bdaaa0812540c1d5624cd8b1420e70c8ca1568800919b0672f111021a80b182289e76cefd8cee90f5eb3993d422f3c668f5cf7c8bc3714888f4e60382e4e348ec9090c67e244efe2000e51e5fbb22e8b35d6b7a62f27de4234367318b6245dda1f1c0e854816a5819a5138c78e9ed923f525db5874fff46af47efd69a0aca1ec285ad5d76ca33e79330c6ade8e08b356293ba7bfee9daed19d1baaf6f99e9e18a53f28b595b40feeaeb05b16e91afdc3831b42180483fa47c6d4db4d26d420fc7a153aec91aa86ef26fd919ad89e38a8f03ada8abea2574bc0c31b89f4d7dd0347f0b421bc37871aca91fa285da343fff6ad56d18874d2bc3647ef8f5234f2da75c8934638788aea6d28adea1a6a780f5e5abbee69ee6e375339e563100d9ca3f4d751e4d49eeec17db882f0fd36d2ab14a4259c3b27c8cefea034229a4e481c89b9e824d74b84d21f846da43fd8d335e0bb36d4dc46244fee2239b2bb62908cb16efc912a78082d22320d2c2350af583056c2984bafba63ff7ae51dfb84319d8365100807357b8e3f18627123507cd2ab25bc1b9f7437c7190cc3cedd1c793304b0bc960391c012c31e905ff0fc412342a938a69d38a83f9863108f8c2548023b07ca1c0cdfb1a1e6f81375e24e27c94e20f2c1f25b4baac5e1063b6ad9eb593612d394558189b74ef1748a761ec2c8cccc93f5600fddcd4ccbaa9cda969b236e5179ea302a2a57b9ec66546e571894a2d9700f7107eb323247dc62deea21fe6051cb9ab787b803fdb64d8bba995ec7a685b57bc4c4da354262ed12d158bb3b22d6ee10fdcd794dbb32fd4dd2e3b53cf1e8da330d9cb1e7ecf374ed56a681b377edf4644f57b170e25056f9e9a2ee4ddf9bc62ab7eec9fac4d8ad51c9aca39eb1a36ea681e7e89e9efb9e6e0f3dc41fe8adc19ef1c862e8e69bc66e8d65dd1ee20ef36a3db45cb3a96f16d7d202b3638d63a723fb3cb5dab7cb6a76ce6f11767bd9898b7d5a54ea28895b52ef21fe0071ea11fae09f6c0e824f34dfc8eda2a1f5bad6e3b1d32d9a916cb25b76c219d961d7232b458b834f9644fa16a38cda901616e22d6521b65a5888539769d9cd8c48a7cfd35522f67eb2de359e95a7506f395de5d7b55fb726fdbcb0c75fd8b5b0974e00d46901aec79bd286facb66f3a6e8e753f4588a5e9a7873103cb19b645ab3597b76e759508fb706757a6b42d724beee8dc4a8126965b6b8b3e59e3e37159b9dc0a77f7e9b569b27ebf3fab69d4e2a3767009f7e3a69d7eadf487cf26ec691e994d576fa4bd93e5da6351e79bac6a3ed9c9e3aec728c48bfbec5d1319b83602c6bd455bea1eca49f286bd19b83604db3d867f6da9f8ab589583b6a5ee59a9d7086ca61d743e5e6d2e325232d9c711e76f36ace6a5a7614ea3ea3b274cd66535fef8e07e9d7e7b7be89d7f5b86936deb2d8b4e8954bb7ee8dc457098f484fd98945362b814bafd6a4ed683c127381a18b7b23e324911ebb1912a5d7fc8da995f0d42ccb7aa64dcc46ce602e389e34ed9ca5934aef664ab7ebbc913a52524a293757c005d7c4f79f70050e00864b44f083ab85a296a672e551d7338a05e6a6b76961bef9fcbdc4caa578946a462f5d547fdc21eeae07e996fae3cef5c77d8bfde305735c93fee4d586f4c7693b9c92fee4552c37457f3edc12cb31e94fa25838ee6542d1e89875482f9e95144b0b14fd4923d99c45b47a33f113fd4922fd490e1ba24d2d9bd80e93cafdf4aa058914bab6036f98b0bc36e406d594f28cf960796c476614665b2e2245fa935fb1d713fd49ef5e3b17152a9665c13cc1648f8cd176546ea615857a76f33fede66fa767eef427275d43d5fe6426e94fd22b81e44f7f5d1aaa76657d8253309f28b07cc87256d497274152bb9c14fd41a959feec4c7c4dacc9cb27bd9a979751e4651652d3346da7e5d4ee07c3bd96380bf1c4f2ffd1e1007c915870b72b0b86dd767ba4784cedd75d027b4d2ab334bbf16c44fadb86c89f20c92306f9237fa6fcb9b49d22daced476443e1147933534b041974c7970849689f913bb65c67e76448c054581168322875033cda139bd92d81558e0681b4baad32b2662cc74088e8717730203818027ec634e640c95aa581b07f52ef0860a8e778137248e8732ca186f5d249914197382238c94f3661b383ef6ed8a8047a894e77a02799898f57ebe2e2f20e63c76e79c9f97752315e66564af523c2ec437f2763743776afee4510189533c1acacf8c4885d7fb40fdfa9b77e96ffefdcd57cf03355798d81dd86cf082c8c3c40cd7bc2eebbb0bcb9b52f90dd131b9c26241eda8a9b6a060e099bf79ea83a510b8466ad9a4bd9251bb5984fd613232b3545ee636c16d2aac396fcd58860d76cf29e50f18dc1fec261948d24de62193eed97dc5065d66c31dd9a5baeeda197229b9965c44e405c5d57325b9a6a0ed2397c42dc61ffd454abb8e4eab44578a71d78e8c31427abfba99792364ccb5d345ac9be040928124b87bdbdc4d32648203496e2678beb33fbac94e7ff119fe8cdef6c7b67d895ed22b2e66f4dc4c30bd3fba8912fd7571a83f96a056b42a5add0cf78dda24fa8bd44934029cf0467d77e7a813ced2265b0f68136ac5b52363541e73cda87fa767181b5a1419a372233c42c60102a647d9b071828149f93ed35f42a148b5621d0df4c1a28d72b1e3210416bd66561218c0f4b1ef230b095d1f9336a156f4ca49e4246482e7844c30bd4974a44b70be7670be76b227411f331ffdc55f3789fea2f6abd3a26c6a90911bc49a1605c767f3f13f9698dd646215e8263809ec96240eaa8fcbc2f69144affa0ed15f8432fdc57f33280146f92401d51911b588cbc1d615e9edbec4e74e81bd56823d6fe4d5ce6b2898de9afa8e7e837086a1e606c22d9ee77d76ccc52329f442178f4c5d9e95db7279bcf71436339b92febcbb6d49fab34670a8790bcaf91624af9cd2add29583ad2b7cfab39ad25a51a8fffb8048a66f3d5b8b976ab9391ab77cf42b8ac6b00a245c81ad63eb57924b898cd199552ce101b67ef95c4b3a46c732421b8e60eb17151dc3831158c50f9091969197e5745354b1488a441f4e3dc358177d83d29f65a1a491144b6b959bbfd4cd3078bb6aeab09b6949dd2dcacadd82ae35d496e72d085f2d8f48566e9196ee0db2a76b586f697946a47aa73d5b14bd4a226394c898ed29c71576a5b85aaf3db87b70ce801598bed253fa1637ff05d3abdc8c72c1f4298b7a4daaddacdc50b0d78dbc5106a8a0f43a65399a6562629165828989a591dc52602ab075169bbd8f7ebdb399de1f0d05c75f218ac550ac805c42627a6f22ee142cbb1936c15976a1f78cc226986681098eefb60d72373618a68fdecd179098dedc721b0cb778f7f4173aec8a68391089a3c0a19b6a7188334d8243d48ee4e9b2d3713ae939a237aa2308572acff4a39be5f497ed643afd5937dbc9742c1554d2e5b36ca757d0a20f3d8f46f43de86b462fd2abee164b962355d6ebb7ce5e452e9e8b8756efd4bb78644cc401e9953d9148bd787a95a10fd045a457a95bbf9ee8d58acc8d75bbd5729d7e0166c9a1a53a3ab5a37bb63e148adeabb5c170bd1988c4f5e68869f71ca2cb77198814591b0cd39bbd6b8361d23d82ddd92afa96ce2e23596cae296b7da58174a00f50ca51765e7a290fa5a69b51598e55ba5e7ec11da5bf7830a5df4236e26a5d45eabdba34d451572fd3212f045fae84a23f5115660822bdbbd32112fd0836d24ebaa9d127aef7486a742f9efebce78b075b70442bf7ecb08e9ee5585b96d3304a4f7473f7502dc2bbeca9d208116a96463c0b319d98b33ad1480b668037abe58c075bd78f606f2e07c317382327dab262e0c28f91256013b8e084e74a1271c0a8052c70cce9558e5160ebab1ce3b1f5a8e3c37a121d337148f81387e012de429655e56396e743cff1a25b137f447fd673ba2c72a2e94858f1461c210138c3fab6712759264e4ff9f592cda897be913e6f13024271e8402a1054c479e218e745368b3e52098580503ca36874159b71b04804a4261452090dc96c24128b580007cf798fec7c38bacfc77ba4cb1e1fbae825ce32c19d74cdda04c1dab74c9465a14c44b23641f0e89aadd14e522942e5d6844e451c2a746d30cc3dfbc8d6dc489c6d5796a5015b98092036180ed9c49b14c4a25b6313e380431708c5f1c61d3c2fd3dbdca08cdca66502c21937144f1b79d1458d6cd4e9cf2616894478e86de28e4e1c3d7e3e94ca3e0ac523e008bbb904c32e749a63d1b7689988bf9178265e1b0cd764d76ecd3cc5da75407c4ac9a46b1759203d8e734fafb49ba2398e3fe9166c021666c0d6a4a19854b2196621039124cb8465c206c3f166edd96d82e01aee62dd16bbbb731cdd219c31fa683b14454b2a49d99d230edd59b23642f07c943ffab33aaf8a3c2ff450b4898f3b7086751b0be0e078958033acc79b447f96e81ea937ea74e81ef16e12adb23eed1237adb2cef110699575dae988d1477fd6634e7fcf6e1d5aa27953f171094ee5a0d10838160167072271f60cb380addb60994dd1d02b811c41802d24fab3b027b10e4462ec4e23644cc4611d895e419c04c31738991311c348578010766ea8a187bc58a340080461d7373ae92fca39a94f9324380018fa2ce1079b1e4db7a1e8afade8db4d9c748d78ec5d1b6a6e233856ecb076901970d6499278f78849c6986ef36417dca5f79ba7bfc853a4e3ed224ff46a09ed39e2d2ed273a3654d87d332d3d767b474c9f550789773b497f5149d788bf9eedd4d25fbf99ac90257272727270981ae7945b00079f507def9dade97bdffa740abdbb8ed03bd4e9e63e908893f2cea6b414912b411cb02bdd4e7208e9a57574753a08981e4874ebcdb49bfdfd9801fbca735148129d09243b22d41c9d60cb84da8d6361dd93ad7a56d36ec68997d6ddb389d7373be10cd89fa75df6b237127397915c9014ee29299cf6b6d7bb2aaaa8f2d7354de3344d93b846e5dab1d34571dc8da4dcc66d1bb76d957382a6dedbde1d363dd91bb92dc1c59c82e02839ef9c778fbbb749cfd33ee10dd33d4fdec8950e499999582207dfc81593b589d874234d76c219d2fbe69d0b12e43e6845f9e038cea22ac771dc65e476ce7a9ee53cee9eac3bf12a9b6721e652be714f490992929292c2918eda648c0e92ee1e380e0e441c4844f7929c77b9fa8de3a8e4443674b8711c9ddd0c56ed8433e8b75f14b66adb36d216e237d8d5ee3611cf4e3b67219088e316f2ba4e86baeedb76af33a5bc50d75dfb6653a3cba644f77e691a49769ccda32ed55d9afa51e89e4d795b8a2ddd6449a46f38242622deced92cba3422c9719ef478c0f15e0d485a902b30b82e0b1ba88170b038c5b041977cf1709c11298d484a6b45a1feef83310213a5c635d450b03f38e38c2de5afdf74f892b0c6ba36d80542011c7c5d0b58bfb1b0752d601d88085bd702f1371deedb62b0ac4b2a424f70fcbc22763dac4b36765daceb615997d7655d51cad934d6bad2a281fdcd4b9a969f97898825ce15e51547c01b3616c081f1211a362e6e47c77c1aad879dcd13775fa2fb55afebf5f5e2387a7158d7458efbc4dc4dd170efde71d855abcdc4539eb37962ee4b70c7a80d6a8a62160b6a6ecd717d23b9739d75b17e97fe220b4bcfdb34969f210bb115adc71dfd0161c3469c730ed15f432c8344af2c8edb81043ae16edd4cb1cb9ab2b76f37d35fef6c8feddcb516c0c1d637bb04bcf9e242f6871251d4144d77ec582724c8a6e3477ff6a5bf2f4ac496e5701019838413ecfd1f4bdcb8b66dbb57a7c3c2d669ac6fdf6e46a422d15f1f07735383d9a9193a4142c6786f0e52a1c90eeed94448af601539e0c11d8b58468ca0813174dcecac6f165eefa9036220426c90fe5ebe0fd428a4bf7e90fedaf340fd2cf9db8981069c114b6588b8ff5d57cff8798b092b7645f481484c6dac7b638361ebf1b26eeedb60f8c210b77553f2f35ab171b0a568e4e13322d5a668e4ad2152e5b3679707bd159038452fc419918addd85ffcfb8bd6f53c50655f98e8840607391afdc106e27b61398c2538e50e8f13fa53816050cc36ad5b612b8f860d20a095cd2cd38ee8eeee4c9bb457f9e3e6a49aa60901590e594aa51bcc3db399c3d9b691ced91f1cae1867b225f8a5a0708a12d80429a498494d7d881fa515cbc12fe5718825b0e95d552c855fca0d8753543e44106c3afc522ed3ab467d88cba4a45c99fe4ca56abb9b21794546a1d9cd745c9da197c6a01e7e5a3f006345484cbf63081f185ba15057e6d9b5ee10445c21a8fd0bfa6418e9829b5214ca05e730210741224803cf4a7b31a82209439c908513de80c5cb848fa95e912a13659dae14cc444b19491b6d22ae7621cf0b7595136d238d94953853ca09a5b292626149ada8a04e292d5a17b652b452c629e39431ca880618238d5a0e8631feb2f13b324eec0735c52374fad0219e26a01489bc0778ea8c2d6d2b2941cdbd04c36b8995212b3f7538c0d1c0514a397f4d19250a6bb779fa83a724a84cda494ac2be02c398052a4689b07778ba067cb653e9e3755dd775497b04fb76d57a5d4a99fb8749a4620852e018030ca910028fb4a91ef4669c5484d80238589e8a96a0cf11cbebb5bf6b83d251644ce9f03247c690de4de00d0bc3502814aa53f407ad9f9e5d0789a93e671fdd6642c5b3bf26bbb7a9e80f2ee926a38f7efa36b2dda43ff8936d26fd4128e47498fdea664ecda49b4c8c8237d9f6e91af059915a7aee56226384441ca59b3a1de248f94f36c5560d40efd26aba3a31e806d86b26b094dd5a554c6a430d6ab0ab00e115b043aae049b7934815ccb2ecd5cefeb2977a95697fd94dd1d4678778f4d2eba847bd42facd2355b077b21554ebf30787b3c3dfdadfbcde08eaf51ca364a06fe5402c703801b13800c4d19748f4ad7ba982975dbd3de865f71330ecacce44b2599da804c3c72c3a06ce4b5b735dcaecda7564d780d04b4b7fb1f407e52796c76c0a4381934b1a29029ecd04f69056c14b263b4e646c42831e3c6fee1f267de3b51cb9a99000c6183b37d4ed526247b07b43ea15638c31d618638cf1a2b45614ea97371f71049637ff200267f7be35cea49452cad0a5276f86008e0fc847e0683908ad750e7294cb2f385fff41a326e6a08fa78f36d3c031e839469cbf4ae77629c41a17e1cd33e2cdd22ed39046ab1a66dac61d16fa93b27687850e0a496cd787125da31f859ae14f1bb16defcde5b29f5df47a0785ea691cf76ddb3cafebb64d9edb4e27463131279ed2ce2754aead1efc80a1f63708afeb9665711c865996f6cbdaaa949cf5d91f842efdcdf94e22f12a88c38d13c0613723801f256c59422efba354c2d6adb9bf0c27c461372344a698656196856158ff60eb323dc360dd7c5dd72af74fb683a3f4aa715859e00c4a137ea4c02c1836e1a7086e42168c6048842558e103864dc0c2136c15b45abd2d67ad1feb0acb8945850d1bd70948846b35e9cf7ad2dfbc16901564ada0660bc802b282349e16cf1a4d322357d4bf89d13b03f31c11438ee39a645150aa83c47af7869ab51d8dc786cd92748d9efe5a3c6757703fbd82f93c8705d0935e993ecf059da805b4d3430f7187fb701950986c6740f2442d17b76e8a8715c3c5b1d38c61d03a662da02756d0ccd64ddf4c135b7fd2dfc4226601f5ca546f3aed664c9785f8646d641cc219a7d3b7e6a8b57e5950ac15a5bff993b5b2e86f5a1becd002b29e5841fdcdcbb0578e25c27e3dc6addb6f988561570c0c63e2baaebbb86e4d8c53ec0226c62d8be518d706c330777181480c738f70cf7a24109e505000dc4ceb8b9d09e3669ac375c8c1e5e6e7f01a3387f370334c97857a31a91c945e5d51b82cba9c5eedf0f94ea757dfe76758202036e1251610462d6bde52d2755d4769ad198543366cc0c07cdfcb8b4af54cb1ea2f2854ada218965a6b8bcf9136d2469ab6825a41adaca41edf37a839fcc6bb17d48f0275d07fb8456407fbd96a6177456c6688e08ea7d3819008389058ef766618ea8d6fb1b377e61247450f36a50d155281e98db99eb59e6bad86a2afdbb7ec95f9b5db73b0b97fb0b97b6ed8dc40d8189bbb0767ad878382e7532e192ec9100b1d95cdb144eaa0eca2d90c97c09790d6935be7c2b6b7951162856fe471084b14141625d8e42ae1eb433050c2135b98fd616db76c1018ce119f6e054a98defc03ff28e1946e2688dbf5a683b013e35ed2df8f124ef976dd4c035f971886516b61394ebf3e35cd497ff35a673373bbc9e689a0766fa49a037595cbd8015ea69b49af52eeacbda2a652fb30993cf059c2c4f456d24d3a4917872452ccf9fb9f7b22f08c9c31a14a7a95b51d9a64471bd2ab179fa752d029f0c44216d805865560e10a3ce3f5d563ae69b22be23a8d674f7a45a357b0573cdc1c310f8749c0d767e00f3409dc61fe0a025f3566c0c0570bbe4cf8eaae1bbfb05f3c5c876f3ccceb60fba70795877999d67a644c842a2dc39af64f056b2f59acbd86f6141eb0f64d7b0fbf017319f7e1db76e5a0b262378198865db515fdcdfb60ba76550ec76eca0148aae607f04c713c57145ed991aaf994cc33c529219e2b4e09c0066661f95e623964f9e11905c473c52d413c53dc2355f32d4ca46abe458b9816379e51b8450e9f9a0b1a2e7c709101b978b98c9b3a46db4159d8567597532019d33a0d551fc0cd54751caa63a01d1913b178825597d9515d889d2cb0ea0280427592ea9fea25d56bdc7cd5536efe54dfaeea3ddc6c0367ad47c6441da8523d0ec1aa07d1a33a103daaffd083e733263226099801c99821a04a75d56fdc8c523de6e6aafa8a89ea3e64aad3c88054d732206d47c6b8b44af5799a44c64ca8525df5979b51aacbb8b962d54d57757a55c7aeead7d5018b5e5d405e37a3c3ed8ae9606728c46d560967ad47073b71ecae9b11a9348d61de18e6350e3b1d35b86859f346c1f3c4c521545805167cf0cc4d058ed2ab0ca329e9d5ec5ec12ab01045c7348ea94d81e761ee2cf0bc7efab672bd6a1da3f56849f0d494744075b4651c84356c8eb8c669d0d8e0a50dd141725d6da7bfc9d335e673c4342ed35b0c419dd7a8e8d5844960c0803114068d2019c3fda243191380871e006bc37239e65a57c4cb75b8d61521e330df34ae86f5e1b0d341e3ab8d8b9d8e1e6e8a9d8e1c4e7f99fe62f3c42f58c6814038e3c2b029eb66a8097b91f11d62ecfb9b2bebc3693c079b81c8accbd1c3b1d7e081d150dd077bd906ea4ff51eb00b44621ede65a1aa9e69121e306f2cfa533deb74c01c88c4b03f1e6eee2758b583498ba2bf7983e92f6b23e3603ab53f38bc03fd0edf58ba991d5a60ded2e98081b93bd889698a07ce3f387c5dc7ae96a43f93d57afa9b5a0f006e1682677c1371330c35771095a2bf4995d024fdcd6e0d3587f950c735e96f5eb3a3cc7769a8397cbb3a17ac7a4e009e918fc0336e363d876336d3c0d84f326cc497cd44683d70c6ec806a87a98c979b4dc74ca73f68e0d32ffb8306be8e523d86cd11c778ec684eef5e5075b85f0e16f6a7fa96e26c289c319fc119f31e08aaeaa21ee31da4f54cd27765e9a250f7a6a257316458886358884f302c13d1c5e686e2450684e7afcdbdc45a26a68b0b9ba51478be85cd2d364b28789ec5e64904cfa76c9e56e0f9159b27143caf621d75e10847aed0e76453f20f1ab7807a35e7e7ad271dd34125ae2ac14ab7074b72034cba1d246360a46afe56d9dd66d22b9f5eb2857e94b0f596a2575b9d957be5ac893b898c9938e65b49af601438ddd32beca6b0c3262c16d5dfec5182693e5a0f36bfc1c8188d0650358f031ff8100146c6401c3d5891faacf5c81cac83b04f2c3bc175ad2bfa691c1d9c8838d44a001228920be223020f8800bc7cc4e9a3c9d61bd46c042240d27eb4874251f480f843bde6799ed763c3def5ace7dd47afbccb48cfc6574b224560d3ace8fd078844a190d6c1e07823107f08695abc4c77d9cd3a48bcd9356237e3dd1c6f96f8a14412da1fe0635e3bcdb0d2c7eeb53be9a267dd15e579d1edbe72d3f7a6f1e8a42b92b76674bbe750bca2e7d015452002f187ecd6749f53ab19a78b00fcd122e0f5378cc330a9c39aa7db370bbb48cf5d4636b6edd46e7259b78ba2c6211dd33a4f3a2662d1aaf81ed243bafb8918638c3146d131118a56c5c7449d1f1d9344abe2afb8c20a2ba8a062c99229a690428a28a278e2092244621c8233c54f9e40818233c559644144c70cf1d2312ead8a9f7dc51531d38ecf900a2080a041e3e5858585720d058ecf184b810fbe8a1889e2b2e803fa65c3268de9d25f06935f70d49ebf584541a42a7a34f047af5ffd20b15ed1b5216390a8366c38c128bc5d1187ac0a7ef148cc4000b68e42d5fa05a8707c77dea5cf9ae0ec849f4b7411f25b510538d87588d1c0220d6c5d17e81265ed0c0b10421a2fdd249a20e42ed35e076a8e4ebdd1060e24a58ed2ab95db1906431a2e6060d8924d18c21b2d5aeadb8aed2829db412bcf1d04a53f9454b128fc9b1b1571f7a89cd25a5b34d99a6b615b2cc4d40c3f186201c32a828270ec2a077265b132282bd43c8f7aee9cd3b3936cc42c37efc02c0f35d0b49e082555fd390fedb69202a5fea081730de932d3c051e5354d7bff781ba85834e9a3a324bcc8db321aa4da38e5c6ff83b12104ee877ed8c02b9fddcccaa3eda086d25f973e1a7ddb6247330ffb1b9d34cadab78b6c0a9e0686985eb33ae8bd8f6c0ade1cf4dee95974d8ece6170cafcd1ca1c34b96a7b0902cc42c16e2949d18656b4ef73f68e0d2e943d649930e8a62b229ed93fb062b898301afaea8d42b56e5a91e764cd10c04000000f313000028140e888542a1503c2c53d454f914800e9ab254764c9965418e520a2163880100000200000000100400c08c621dd2043777ff28fe527591b8b957c92156f2c7b56f635370823b25bcc5ec53d332ff1730d5bd59b61252c6d89564143e5c114d71a832dca411758d95e5f1f8353a51d02d286ceef6017e00fac186d7b1dc935510b27165a77c1717a88ef91779b2643346753f57cb908e8cfe01599026c943e2c792fcadd69c2aa3469f77ee62bc3c364cc3a7f774ce48c11194e35f3fcd375b81fcc8c390a0ac324c547744bfa4008f5662fbe1f45c4624aa2a90081b932d3061222a62415359851d285e42211fed8bfc0d264f37cefbb905f2f5cc0fa729a22e723de179309a36b1df12ba06c0d6b5dc76a87c435bb0391087b9f8921e39b1f50a8eed286f9e3096e6bb2b3d0333b0079af5ab1bfe7c9bed982cc8ca843b5739205a3ad7fccc71c004a3f21a4b5fb634e48275100b46c3a740904c61e697fb67eeff5536336c9be27074fd8ddb81965dd923b926028be289e0b1c72bd7a4c222d3c35fdf37c2fa415bdcb3f8601bddcca5f0335ae5855adcc5330506a8f03f9d0e3758e63eda45cfaa484ab85922c37b9f081f472f541bbd0d5842c3b0c6ae3a9f72eca593d99292df77ca060179c6095d7c8c152c28b6d39576c8035674d622aa07d689bf1559e57790b429c86d12a4059db48a46f909830be0c857df6a0a8271b767e26ebb2c5b168fc2f3df002dab7957acb78cbab11035973d3cd2e0c2c4960e03c4a2b456954c61bd798c34be2ec747e7c8ae29b6e008eb878ca78ae71165d4bc4f198f6d066e3649c33da334711b6c2834546fd0b3b7740e9b476f1cab515fa57090ec73e0a5a57adda4f4ebadb40095de405fa42cbe452af11c10b4633bc7b1a0fde6409ee831b799b6159e7cbf53e3c06a1d53179f62e87f163bae0d305f0b9b818bc43664ab7a0efed7e8ceeb4e768b84176ffcb482c901440f6848b18ac66ee509ff42ceecdbf65fea031d9e74835928b89e25492257bce5e89525150d0ae4f5fb60ec6678c3c34903350a43ed1b6ef855f7c5389dc2556a2576a10b8d3067711c95f097e70a3787d6582a049844f230fc0fc4aad342e10c3dd7597bd83c48ff2b2fd901fca6013506ea4f6efee4ea280156ca948e910e2e1af8961092b41eb2c3e901824eb3430f542ed9f7e4e58e2d2401da6ab6ab7d9019e2840a7ee10155b82723f7f2f43efa4f11078107379965f97e40d14cfb71d23877c663af6d17cbdf67c68f5284cc18642e9a5281020311c807b0ec154efd165b152ce188777af58bb82c5890baf334db413a8a812d3ac5570004c29588b0ad2b395269afe86344c81360b88f6d635b226586abf34d72054a4c5948730e6002a9bb2746802e6aa8b4db5554d2885a2d5201900fe8f6926d73ad3be261adbeccb7375959c5cb3eeed5ac38fc0e08091a5f2d81e23c7312cc4a956190629b6e0bfca1146b53af6ceb894af547c3813ee77dd0c31aa31c1665548e8748b2a9e04a481e28f5f356192d6899a7ede99d357e64c8fbd5a95fc790ffcbef81acac4fee8b1dc23fd7799b3d9f973b43dae963f27c7aef411e6eb5909e89cf844e36683cbb10ed627b2ac51791877aad3877a7815184b5b30d47f03d83ee1c27af6c46edb5a6d0eb1f64cc2007fade6f67c41018024ae874177cb7db1c5aa560a8867647a5476d4d6b3f415702a483144546038b7e0a492553ed76ce8fe9ef676f25a0398568d36bd3857c1b9ebd1823d70570d9ece178832531bb9a66b4b8e4a2f2ce41fc43a995836046f3b217d8a5ea4a6e72f239afb2a1427fec3486d025e33ce854365c352e6e7c425a07f4135c621c2b7f108886af26a42d2ffeb42614bb26d802c2f160dce2f763e85cf6000a6cf5b5f53ed5374211840126232c1043fa3468561043c5655c7ffdf82140de724adb65a3086a845f05bc0e41d5e84ddcbf5ffa64185f1efebd2137bed28e5a1c2d8794668f25a896466f3e499a17d7c54e978a74d9fd003b23c2c9a2d1a0e3f1853421484e4b7e5c5a999b33184383d332a49fd087cdd883c464eb04532ae9d5eeb72032203c84963cd32219be2d94be84d72391ef987b1f5f0481f7d81f8faee47aa2e16487ae1db4c4bc667769caa093d948392c928443e5dd7080b053a0f201dc207f1a540fe99a5583b0f65b3a721abe835c5b3422affe4c82d19132796e6284431ddab039387ac6e1d57aeb9e40018ad22a810a3928e7605d50c74c49dcac927da130c0e0278e0ee0cb5798be3f58b7468a78167825b59e49b4f0a9117e03fe6411183701b04efafe492971348dda23a46b64bcb4d02266f56362f2bf8fc98421c7e24211a4a133c396f9901697023bf388f12bfed8179370933722d5464624251523469094aa31234a4bc5981125a46ad488125269640412a9343622a9541b1991542a8c8d502a548870ece19ffdb31ffb633ff6cf7eb87f7014b16f383784665b282f5611900480954b6df59223f9f12424f8f1475b4b929e2af01861c46f42978729f289a0b32a35a7ea2ac96f033a5081c77ce99f4fe891a5c804424298c0e35467218f7d710b28d53d21fc4b1c505646f2c442974f087aa290cbc0551152096c4f05f230713d19fd13aa8b16e1f2c3f1bae56286be321aa9b2316cef3bc1dbf7661bb00621926af8061f9ba23a31e097a5368351f18fdf2d4c789da79277a133882613ef9443fe66d9b5e93741d7e536d20157bfe18eaeee7d3a98429e28e51639000a8e7dd2cd1bcbfc6f6e03dc6dce42dc500ceba70400acd502990ce2409580090ac7a5da5c65e365eca8058efb1566bbd7bad909580f6e6fd55d141ba06d65e9a3d6460a6f4cfe8ec6f1d186d166035bb0f4e959364dd1efb0602bbce45cd1a2e7ba21fc0f3d9b9d4de24e78c128901c07b6361149c1326d2f2605a6f6eecf515519ff4d11391f7798b74a5e21c5643ed20172e553c8c90e0447f8fc6d14fe0c601d3ddc9ce2ff38036bf62f9a2819a85df4c0a9dde35507b0138dbc3bb309abc57c69f7b89ebc4c19d0421d607a85089c071f4b470cf43f5c1b8c6af40b703171e851c1067a4868b2fb71c218b68472478dd3c9069e0fb33ec53ac1fe5efce6594326cb2a3273ac44201c53d2bf7cbc969264ac101dd7cccd3045f51d28e406a2c864ba987246409e40da0d9972c5841e96fffa48a5469acfc282c3e401279e63516fc90e6bf55435412f4dee09122af3948bce27f3082ee5833c1e7b7b02120e857dba8000054f6d90774865e308c14c80ad056bc0f903316859433a4b7a37a328e688f2cdd60bf24419a062153b348302a3d7b526a4e1b24d174c4feb3e6349fc57ee3fb47aff965ac438a80bae02277436fbc05554002a27059d5dd4d2e097a61e624ac2f95560d71a486dfa40514d5bc65e4edad05a4c386bfa17c8f70198ed5dc322fc505e256e112a585c7210331ad83e20f752f89db403844b2edb220b5b8de98f42fc0259fd349cb124f4b7a32e834b1766a7b70e5ee170744003c4159a108ccd98e0f03b62851a21b8379f141df39a316eef59f622f24f151d1a22803abbe9a79b28b899946ac3cad528c785cb5a537640cffe8d94bb96d0194fbe88206249f4a899cc2cbcebff95b2ea143f9a22174417b32182acc6586827415af4b3412bac4baaff2e5ff577272f4c28d2bfe46672c757284395ca4a703a18911b4c5347586994d35621d5113f2f4626031466773b0021be0313562496d8bf862f8389c9172be3f51e07457ee1426690e2154193c4ffb7ef0422be00448003c1a70d09ffca51d58e51b3bfe8076b1c6e695be9130234569d4697292e0307f0c1c0ac1b04056b385173cf92d658d77641375cb55a9089849f9754a7d87a4e3f472e1f2fa95ed779c961dc57c2cd6fb4e42b4179eb4adc922992c40c00341b4f15178dae16a6e5ac9c57ae6e1431925b02cca24eb856817dfd3135f276dfeffe4ddba04862ad09b37ba5e57ebc88e373bba4e5527be28c2bb2c868813f8c594d4ebb3334c85f4fb6c5a82432745d92a0e48b509bc55a6b4c0e46fe6ad92e71ef2082c601cd81d75b79ccd489b3db3e63130d30d2f390748d2aee122373acb18f6025b6c4417311ea3b12a76a95864c2f9e66552101a63afefdb3b4c867b0331c9bb3f2a090d3f50e02ea5f985e4ed33d48dae27c8d5f243ad40ce79c19e4f27d59981de006eb09ba7494000e41e844618ee7901d65955aa190ed45002437a243ac3506d7d1532a609c9d8f1c7bcb7248623bd3f03b6801c420ed5142c89e797e3b401b32d1162fb7391f643be5a16adfd79eb6636477da17622a87fc9854ea6808e073b30807f0946964ea33b92f04fed0f9592785cd5c2b2d4605b214a8997322cc51712cb33f84b8545c3c97c158a5e1dc97a8862d2935c24d05653f4d10b6ffa2f0157b2a50e1db5b5f97dadc1ecbc41822ac0bac20e7257971174d66b0277496f295b5cfc21f7e3cf708451170383a93a3b98692a49db6a5f443a38f09da2e68b0d1ea4a13e9116248a011bdff1301c29ae751b0ec02c1900fe288ace849bdca21e97141956275a15344973be50cfa3d78be1e82c55167ee5638141baa0eb31a49ad10fe3a6fc652a78ec443af3955dd3b4685d09f2444734d846f42d2d2096e5abb79286f40af0be4943e578563cea0072a10377b145dbb4a4a6d1c09254580fabc0cb2920ab52b95bb702db4909f33a80bd2022ef660aee87e6fb395ffa6ab4f58089261c355c29ad040453e547cc85c95fb022640620f9120924fd2f1a19b22c0d1bee171016b58087125a014c57783540a2594e85e674837f0bebbe0224492feffd72b792870868a04506ed239ba48e943d5a67569327aae6aaed31175d0ce207403ce34cc45a2101d826e804f26bb60ac16cf6f428b44dae1133b627cf182f3e6c30172f1e5d462ed14691158b4ef5cd575182b8018dca1d9d46e2bac46cc9410ce0e2ef02222f37d44b82caed00329216156675b69812ced1f7b226c753adbca48bd66c0ce4c2a7a1abd75a022e1fcb42b029472364292e81291c54b9c2ed7e78e585500eb5c23f199cf443d1b2eeff6f794a08d196c13d704ba041e956734f62d5c237adace0c57ee9c727d236a33812633862c26ceb31d33d290f74653a72c041c1638f5efc7b10c6faf06044c0429ba1b693c791eb23787d9272eaffe2c4725df71ecbbe8d2fdaf926693a4d462be1867126bc93e3e23610c559a7509e978c86ce13438eda92d4e49e17876a20feec21fb266313534d6727d9370da76663d8e162fc6be51bc0682ac9af12b42c158a99bdb444c20f6a1b671bca76fc5f0764d3358c10ed51893c311cadcc76380000540619b53b088683e9e3eeaabd542e1a46ca3c35a289918121985666891f4542e1140794a9d13fc343c060af6e40465753ab6286e41363441ad43f7f879d41dc710a8dab0837d8118917316bbaae53a27908e86670927d924ea8d7adef547e51a7aa0db4ae757986e7278c9bad812ed44123c0605feebfb78ec25fa24843cd883db855d060931837298c5b22d0465766958aae3662c2835b714fc1ad7fcdd14371be87a832c3f0ebacb135c71bb9c732e29656824d69dbb24c6993e2dee8f7adcffaab3e53ff48595d34974a91834dffaa8ccab2273c0a25a69eb7fbf3bfa4698a540495099370f41768b48899246bb63b286e2863936985dc83248e87e294361ee1533ba17da313c443867958348863ed5b25b9baa91f6a918ebcadefb987513e3af0ec9fcb04884a8c5d3a9edb644861a4d877031f1bdcdc524d800e482447f3dacd1d6a62a5d22dce9dd39443a08639c0671d45c8d4b951bf73873bff95d611f67a2e36d2ade5fb47b078b97fb3e75530b602a677446b4cce4dccd7570e962368e5e8eb8b9ce25ddf165c989304b1f295c89db04d647020fbd85212d5067405592421141735781a7e051d955ce819c1d36225d13f4f72031e01616aa8dadd04345593895022e97328536211a98bec01a3028b50418103fc568262248174fd0c6743cce740e4357635391324a51b3077ae7720e2b955a97877802e1b8ed4701e74d6c38e33c4c0151cbac455c68da716d8b686f4c4de50e38291efbb5c9dc1714137b7b6d75a1e77c80ec2a7472ed04e1735333663790514389131e15ee495f9cc1c1b62566188a4f6f1b6deba77aefcbaf77d23ab2221b4b7d8cb59b383dd9cba626fdcb54a827d5647c8da48cc67a1f04a9e5dcab219caed75400fb07487ed1614e537e9122a200d1d3a85101eaabc3593145a58227bcbc8f02d5d823187859f025958fd9e80c63b491540147ee00e6742de8c8e6d09618b51a166c4875a9ab440fd018cea4b04e139f28899ac6d1212d31d98febf1cd7f998968a19329e9f68bceb82fa052152aab3d697109a235232230680ae0b398facaedb3fd7d038138ea66dc606360cf5e37f0fdbd612a0d3b876b9e72e53e5fadeb8f264eeb287ffe9487a02d14b34f8a90a0646d258dbe8d1164e1652ef19132eee57f6da050a7572e72695e850de8354d5c115b0460d875d82f8be0a3d375c7cb8aaca45f7dffb169d97c69170d31c19032d059a994ec7b1022308da92ed6d2f27dd0f46f8d90f0b2e4101c05e88014291a3380d043a32710aff05eea81fc50a48e5efaf91d73f872d36f356e4cbf550e19587a940aa66f6adc3831226ad071c637011c329afbca09959925a3ea4e7ecbefb36be42e4d8007fd42675d6f315b2cb06434505bfdb36149aa8a985cf6d3a406d1492f22bd7df55037d0d86ae88f74d672b04036cada55dafe76e1a1461752182a34378039a18e7555eb1e04c7d2689bc73320497de6eaa745bee2ddfd23d61bdc774c75f993f0d2911e65ea0cd479b3eabe2fbc75001522a428db77b2e23f1e161e5ca63701af28230328171d8856c99415e7c0df563c19ad29f7170bc0b8d5306ddaff9275064299aa5ed8917b010897be67f1ea88e4abf9138c6555adc33549390615f01ded017f830565c276813666ff155b35b81e345037e610411cdbbe4fd561848c94967c0147b0417a098310a4f35aa7bf180a9f460966f30476d782953b5e86c9d53f96518b5101655fe91de946ffe271b168f38b910249e6daae4c4496285cea8dd31ea4daf9691b81a62375a50280bb8b6c5690eb2876437e11b8ea26b2d126f5212dced0ab384a02ba1a5d94b5a1d51b57168cdf1870d1be4da623e0a9780d720b19106c20573914e16287e808064bb6827a2831263d0510136ea958e4bae6acc060780ed41870142b8fa49863e610a160af3717d16af9ee2a7cc17f2273e15e03fe41c4761b54c0f34fb1a15ffc8dae07f7d7757734e4d3886e0d77ecd2ec7c11279dab3dc7d495e972778f4930ad928d3b114e3cbfff455684ceb159053d24daba7f37f2c7915d86c5b7ee3c269281eea237b1b168c41879b1e9ee52218b5d348179cde2c2a3dbde9e8d347b88ded584ca7d096fb90093929d7469e3f07de2261494a9233b758a10bc48cbc8fa2526e9595b8ac4f76275e77eb37f7e064700bdd805e08262844721b70a3654daf968aca2619433a72d2ed40291f9b22d465af84ff105d0fd29710086f15fd37d212621500da1328f5ce947f1fcb91db15c6af80e67b8e04f3edb913491d6b01e00627c6c121c36100eef461b2278a816ce22dd6e0712a7cae5e30dfca0421c00f834b3f4ca272c1b8d10371e58949034fdbbae2bbbee8161b9b9996e168166ebe05167a733d31a11880126af3837bbe4780887d8c00d182e6ab36742a94ca46fe3cfe019821f341dd1c999e4ac897438aa080bcfe22156c26eee712dd96fb5f728dcb3cc52322229eb63f5c5f44d127e902c245f27b74cb30a2ae302a6ed3741caaeb6e76e3aaaa59fe706cad32c4fac2506d12e7074900aa40c58e8b50644e2cba24c0ea007c3eb5afc1613fc6edf8a15fb0548c169f8a8cf449943157417e46cb1ca5afd258ce4438b6c19fe179a50fa50de4749595d50380b9bd9522e2372bb89af0b11567f835cef66a512fa2d4cdd4663b9d1830da9eda72217520518f83300fc6ea0ede5e292ca352326d6078c0f0e62d8581a4683848a5b5e2f3acada7fc60ff02e1226f4d2f896f88da576e161d6aef43b656f544e0aa8c3c39f2963ea1522aad1402376d67188d65d277e51391a97a11e0245f71d0dbbba5ed126a838c1fb33123a240c91151548111f3cee2c3993b0e9e37a6a0b3403c8df4601371113b3017da018d73317b7311b0b3173798c294e33fb812cbd7228c416261881c45f44742eeb0507404b049c02ec3b05887dc46da5424693a591572599c538784f708012aaa21398b4c112df40bfabaf5a43663d028a23fec8895383eda0600db58838c2ad005008f6ff44f3ae73580038d408e98f5f4442c711dd8a173d95393e049f9a7ec17e2d2eec97496a7afa5e4906c84564b3db6b1ecd072b6799217fc09d006d7e8298e347bb63afbc9ceb19450722561b7fc9eb8c8a43fcefd0106bec0df5efa4e06a11b2188e6371002decd1eb25621861bf1ee1ef205e054a86cea0277da2fdb8902be471661188facf2303401b798fa50f1288d4a9898025591ddb0602a29d076591ca3ba8097912c40ec940914e9a6f7cb9fd6972e2f6f70daec2723259ef80299537a0aded5ccd258772ec7cc037e24cb40185d98ec87fc87af7f0436fee7b4c6f707cff1749afe23717ac45f17fd2e22042aee20048d8f8831310b14e4eca2956fb5a388330c2bf203f0a222b0c89340e4e00735e26d3a181719cc45f865a83f73e5bbf9478f791a66e45847253035a1c32b9e8675ee0161fb159b10d09a20c1c438a08e06e9da8e2cddac286d77f04730266e0eafbd430097dc4a6809c10a90b7cacede2aa2664753cc5d14b7ed07b12113b02fcf78e10b3b8233494de11af6e9a77c4070b3b7a3b0279a2ce157cbf5cc241d377c4ce7a815c43fd90bd134baf98e2f543a3370709048f602a87737ebf449e6e9833d104cc18c045fb4e16cd89c1f36385296c09949420a595d0310ba1f7d88a3d3a0b8644f0bfced86344fc2a076349baf23f5c24b2c7b6bb97f699953226eb3a9503657a257bc8ec05302d12268adeb91e268b040257180f15c98221f70caf1b88c5392a022db033d60d855a059b3be8c5bca7953d738db359b52879ae6da350b036f9fb2743febd6580b784089fa12abb470e135b01950ffba02bde9b8ddbd10591f72ca44632bb820d582953b5aa33a7ef224dcb491096272aafa8eda265c5fcaf084b01e4346a1f0df8875099b4ff6a2ca869c3d5249440a0915d9e0c2333174839273f135df5ce6191851dd5ec1b904c399e48bd9a8db0ad03a1cc28daa2cf56d7ae5bd5bdea5a75a9ba56dd3ae98ec3b93b7c35d1eb792fe7d6ce5c7ad39c1f2fc1ac6902291ced47a0dab1314ff5553b3d68586476a1c23a22256c2b6a6b8d671a820e2557a204ea332e49aa0da26c1bfca6d18c4d54f0bb657867c459223667ef9a74def12a25c0a2d23f215391a54c1c1f7c3ed2600ea0b60c3764e9e544d20e8cda739e070ebd2e155b996c8ffb210cc0d25ec7d2e651448210b29d7ba6a425525c06c9de184fda000b428c1c93fe76d56f9652ddf9030861715ec46958e88fa1446f2c6be3c889827197ef620f03ba317ae8b851e4df2982d48b8ebaad9d182ea4d9b846cb657a225ba964b36d188f056efee5ebd6e137e71e0dee061676e36c0cf47861d656817446c27c3df440b52ea0946883b820ca0a447be1bc058e340afe0c07ab0afbc50f5619a68797203c30ecb00032d1758ac3fdcb16b026e965d4ef82477f61e5fd193d3d81a882ea0b76ca1b5209aa9f7390450a84edfbd5ca52740b942c167876c05e72803889124d6a64884128a92fe2e69629f0b7fadc195be2aa428059501500422f65f9b0f676cac4530ff26af0b4fb972e6cec6caf17b99c45c804cb9035670b2b83428776e245c1b60e94e0f3536a794a9069b95d436538fd9b5d3e09ed3ac0d0eb6f24ef1ac4ffa273a42d52be10b5f487a82801bb3adc14ee38c4db42b6023378b3fa3b932f5aee46e6a323c7ca2469805869653e013834d243000551a62892709202836c390767708597f334192e54e528c21f0c5511bde08324b849776ce0fae1097ee68eafe66660480e2084369cfc87162fcfe8a22444703ab62c79c7331d67e0f2ef98d91d5aef4af096019b2491bfc94fce82b8e493a2dbc3c4259401fd2e2359be71dfeb26a3768b759afd36cb56df6bc575c3d99374ba68dd127caa08bf82f1404e6360303ec5b42540d8909fe373c199b5bb6fce5dc604baec2eb1f9c61f80023a5c91f4f0db49d1a82e5ce0e1e1322858904f317433b166526a99ce65e3d3e0060eed6c9bff36976f35a95ed90d6438ab91228053806647aa0581c1afee03d569253e3dfabf1e4257007a822ff9a7de8dc5d9743d8e14ac9563df789c1e857b47ed0e53462b7c59d0fc8bdcddc5fc544b0d477d28f6be0668e527f515eeb76e84f0aa7c19b45b264713353e902c59e4e6595afc03a96452679d65f66bcfaeffa6dbd1f09d56334539a357478b8397005291a3683b379620f390b567035327f4731c2ac19794b3b35e4c341b3b24604eabec7dc37f5f209a0a47ae0545b0a4e139f940a9f5d0656862a2adf9f51d0e51468dd63e4669d36ca0e80b38969064c9a94a6dca6cefcd65ef2a89aa67b70120f97a9f65b2ae82a63f77e4626b97c273f3fd311658d1db3258522cc4710fb94145ed1980fe582c0acd772dc8de4f9cd904bc201911106ea774eec011a0cdbf72a3dab8b7fc289716eda350fa96992f0564ed71a241e16e6768cff96d15947661da6dd450d6b08acdad728b167229b0285864533602ae4ef114ac7c81725e8ba2a1e88451be12735421a8a0a507ff8e296e0ebf5f92c0a608cb65623abf5f5bfa89bd777de8fc63c797741fe21a79cd20098c8aa996d3c255bd6cabd1899543c0ce1c4ad1a2a2cbaadaf52137bd6cd96a3f2cecbc626f72b0c8479a7dd902e43c5a89f2a942dfb0847a74bea70cf21692bec7359968d6900dc97fd98a153d78cdab3480f2641b401ab9e019a0e81050d4d3d1d5b7385a01a2d6a5729da476e69ff23b6c31a4ef7e2fb8039359e25d02f03ce3e73d3ccf6ef50096b0bc6e65c40da7b82faa958d40fa7f1bc571b64e62ee13071cb0eb50d5108030206165db12a87c40c2a271286430c7e92369589fc4a25be0198ef680102f2d58280e88bced3abf760933b0648bcd3d781d27ac2ac11f161a8a324836a4c3e1ca3638ce14deac6cf0cc10599e516bcb94106089c6bfb2052bb4ee57037b5057ebea9e694bbad7daca8d46bd0fe1891d2131e061886dcb0e97979457a9a92994498c705e40cab8f7dad3cc313b6e5137f1bc6c9a9e2d21cb3a1784ceb7e609642b13a2dc499d8aac8028e8adbec7dce0cbc474340193d0b0c80319a00ba8c47495b2f81872d074b8066be4d2731183a1fdf64b2c2bd382b7a5c8beda1f23e8c4bb063f0925b5cccfd54cfa40420aaba63abac152f0e5adf34ea230da95764c52cc6ae632fda9b5aa43428b88a0604f4e1cb70e33ffa1762bb11d42086acc2eb11091f9fc755074debb876ba4e789ea1361c65d403c869da663717ddb0484785c12be08ec282c16173f9c25a8009c7d177f36da77d1ea5fbac469ee7f3caed175e493efb7773efc2c8dd5931a676e6669bbd51a41e350a8c3ed83e00766161b39bce8e538beece2e4ab13d80df062b056da0548447330a4db640331eedb6438752dbd0b76021a5979dbbb0e70964bbed7b81c155f0caa99c8c20d0f0a093c876c37d354f92acf0bed1acd90c872a342b9ebc3b70c2e5d0dbac6d1ba1f955a5a57e8f38c869a777e09a8549984538ad325b76cdf15978d4b73bf90c92e3148114ebc054646bad5eb9a2ddf22b60b9b61ecd0ef487157f6d9d4beed65e7b7550b3a2ca043a36e287fd390659e7c1b9ce1a4b2d03c4ba4240e35010be78871c2bbae710e69078a389d57064b84b4779432609b256c30b6ffe761dd41ef817c7fd9b98f72295f128b7b9e47f0ace6d7edd260cde04a57654e9f544419df697873f510f1881612a2015bc878a4d34b1b5f7531d74312295fe3b190d8f51c8fb790e299989661d30fca1993e22bb4e68e3eb5390d2d4a21bbb6ed90f1eadaa28e3715e6f1c41a88b29b90ba81320adf4d65cbef3a046867db02b649efd490927d5a219e41cef9db43db08cdaffcc4c783dd6240f856cf74bbdc2a8af30be0f1bee6e31f1bb306c3199d56c53ab71b6ca90fbb8f470aa2e0d04514a0ef77cf0162c2cc4b0bfb6066b0b666f99222ad60ed0303b88ff58889567af7f9cb083de8c92c6ee0da658d82c89481950f76012378d7d67549365bec69f614df7a881d17c71e75804a27650b29638ce812a9dc308920002a3fae56e116b42651267331df0d28b14235d44697a41dd5e72fe67434043b040e8bd917c70ac73f1255b6d548ce7350fc2964b7af051a77d39b3f9568289faa4c4511e4e3d0421446434548b21e1988c9a11d182bcce8b6f9704d378958526ff975c659ce0f1d2828f256150591b52c644815348dba415a4406a24942bac49f891f5f504d78c7484e9a54457f4eeb94ccbffc0c443e440830f94dd237f05582451c76a24bfefd1813ce0830dd23ef18c41708bdc49f7ce8af6b481fdfea0622b36147d61517c21b47c354af5af9c32f026b7a1287264223b98a96d8be1c6b78b19a2ffe410e8021534b90e8c8dd2eeeb4f058a76032eacf435836443519c120f6d6c71d43c3539ca45633349567d2c3b9c45f56ef4cbe7bf1ec0f354291c484a4d724ebf3e01353cb5424435ab23637ed95d0d4de3e24db61175fb7add3d6896208ce52570072d520579df221feedef586a31c56bbfa4d16cacc98a0b6ba22c191033bc87f8cafaf275d6e75de6e44c6d050ccd3f4f9aaa2dc36ef8146ed7eb2eda76d7fb27423c014ee14e815b0648097bc93b17c384f7781504dc719673961dc8291535c0a6bb1cd6d77aab037243293ca9b0838b07d6ccbc52dcd02a426185444885b31ed72a1b93346d86fd592325917684fc137181edc3fe6cbda873afc8486a7ac1d4679c2ea171e33540e1f6231c32b85eb9b75cd24db8bf3f631f80816cd603780699affdf0379fd43ac855d6be15c73c2abe8b6669ab123f86909247e9df61f9782e2528e25267dcb7e339e2907c709e54e30ecf4051287aa72b971cf026206330700ae7e18d3fa39950fd87d35933bcb8b6b0e80255b0c985d5df803a2877f7fa61232cbfc73caa301d0b4c4d0a45690946bb334c434f8f21324b861d741556b2bfec436f48603d16d6fd0f14149a29ffde371d96a397f93c077738474707536d9bd7a4b2f9ff5be3c0d94f7102a6489beb100bcd0fd2c9b7ff0561c91dd9726bb97861a2d434b94270a1125522456dff6372044fd1e1c031b9a267500dd1edce57a9b7f6babc57adf51500586b117bca700355f1c60c7189bd80750845c048a5e7ec9971a635a82c415dc0d3368059209cb7010ab30f753f8ee081a7159af3dae1b829b4763d23ee4e04c6a1925ae004f2c3e54df07d0728dc4a54806e834f46e4d219a99277d20a3a14bdd807cadd0b2ec867d7cb056f7bcd84ffb760f73b8648f06b270735783dcbecf92b361d6621d8dd4e0ca08d43fd20cd5538a2221cd5d43cf40cbaa7520238a472028c0b66d6a8b32e1cc8955d2ce0dce51a624e942b1f969e366af4a5a6af3b65c747af521fe0c985a0a69906b4c5fd24406eb6dadb4ea8e389ac9ea46bc0766766939e044c3f7e228c538a90df4a732c116e335141c83fe439d6c209b4003cd65dfef153aa7c7afd863dbe79f8b73bcf6debbc7de22dee1ed0e908538176dae343be3ad20d0e104667ec19ef0e535737caf92d975e832c30713cbdfef7e610e1e31e21a52f78e487375f67ca1f944dde9124224d57ca9fc1208e88de14a4fbb4a17e396b998e0a57043059d5450e3e83cb7b2f4c2750c186025a485a766d4ec45d3a5bcc75103c84fdae4d2758c85d49f28fc786b8d1740404924909d5b882f7809010bf42af68fc69bec5aab4687237867aef9c124531bffb9fdc2a7131e3effca19e5fa3acd90dca38588bd5cd984d611146021c7df56ac1688dde782799e6741e370b239389efcbcd5ba79668e4aa5cf81de2b39729d05ba9a8275b9de0c3734f0f64120d54a3ce742cdc2ded2a40b4e7a8fcfc549e67dcb6b48365b5d3300a8e10a852ead5e5479f4438bea3f2608d641039a0f69713d5409acbe276f72ccaec39b4d9a359351332327634bf71c0f91e885fe6741a5bcc29630e17654f7339dd612304795836654b0ad2e5640a4341f7a1237a8a7896e5d4045a0c1e9c9b9f9513df8b0009a53965bd162fb421d13ac712f915a9a5fb1d6de5df6261218dc49c2de41f7ba6a7d69e32f38a1e8dc496f46798b1e0066cf0a406620c4154ac776601cffd226471d451449bcb25e9c00e006f4dea4a68cf04f660a97bd40fb18a3e6412b3a81c1e39ba9b2e15776eef5faffda54335bd7c3ad2e17fb1e5b20d0aad34b3d476f1623f6ae47cb78bc50d190a084fc687ff4159026b77146f5b971685a4ab0c0287fbf809b5f5c943cd8059b90c22c7cfa369ad0840568b4f56495ae7faf5326003d84e4357d6aa8da701533c02d808a3c31954f0cf5f4dbb7644edbaa7ddce4c68eec9f439c807e0951edd82dee480d41ab0ff6ca512087af8863a171621bb25f5967f8672b5a95b7efa56879af981e94ace9ec4a245981afa57c1e15e3fbea372a90d643cdd9d5d2ba4f9a8f12cb53b7e1055558aae56335246dbc0fb82ea4587ceedc45138228f8f5e24c07c4bd32b15c061bd3ed315f276ba4ff26a29d7315cb86f098c4eb3e8ab96cdf1f7a0d7e21b390a8242dd6b0dd17fd96bf3f5f365d437e6d585a2963e4aecc11cfecec5ab69cb70ec2c0bef5534b7dbbcd0d0c1e71a53bfa625ce0e5e14cf7745684c36ba4924d34330aac5591aa2224f44678e42199e60874163786f678d738a95fe22ee02b18b5098bee0c399a2ee8f6f05023b6014a85434e4b0f3a0002e1889e136519bb3502c27cafa63dc580ae877619a4bcf7ac0dc50720d0bd3255d8c8664f2e3baacb694420a43a3a756dddd3383d1963eae06ffaefb9043b9c1ef62937135fb8c97a0291398b4e68e8c884b38301c6ff66d975402b219047192eda927287cdf43d7ad400cbd59a271a397c63b6cfb7bbcc813c10a02deb91279955444c16fd2a537039228c839fc9cb2fbbd12e59a6eecf899db11d8807764242621e26ae298ddd1e17bd2002cbb921c1d6a0070eae2caaca2f2f55e53a01ef925ea0b691df4cca0a4edbfc037ce10e5345865f73ae9da2c0950884bf9ecc1b484c980a0ddbfefd61ccf5ebcc5aded76ce1fdeb67d697a977bbbec6ef0fd526c6871db7322602d71785b4598497bfbd27fb113bbfc13feb151e10aaef1b06b4a65b914e96d8354b13313eb264202229e19dcbe1f7f0d6f2447635990f1402ea0772af3a330153f925fd8ed2e6cd3ccf0e18c48f7654aa88a5000ca87a65db0ebe0358001b35222c85e8db81166cb3862fd6575e933f52c674322c1cf2ac6b04b0ea319a81041f4ebea090771b9874b899000bf68ab1601d06a36e9df9b970d87c7f3975be589da8caac1cdd93a18b4df2d80857bf80f2911d97312f9e32e092c113cebf572547aa0f0f7255c197d2d2b2b1932f6ab46eb2b8397d90ffe673fe25eaf9b985cbba10c49e7009fcc9938b8acb15af43cf8d6980881ec7e02b1e91d28d2a0f3933444b571efd1060b7f48b557d33c19f360c85ba1c7d1a39a5032ab93b8f05229187a3f801a30025d71e2e6ec73d3e246744d29cb5d3e8cdc175133bcb320a18a4887fbac6f8ea5587c8a8e49cad2a8fe1f3633d4c25997a23b3c426a2d0065ddb6271228729da3f41b5e272b5a5c55c87f05d03a346d7937c4b43c068e7ff2ad7010e02a4322832e52e06963dcaeb450901ae5168092c3efa421a6de12dacddd8e5b3fbdc1d5c6b094e0e84f6e60aabf2d10043335e0736648c4616cae6e0978079a5d26011beefd5139dc292836ce1a5db6d3e1b4ebae2a091c63a00bcef1d0d1b95e822f81f31c0f980f7b94e120c0f59f95e5ea27aff4869f7856a5114adc0a8e009e282ed5f586eb0344af18907d1079d5c3ab28631cee88026393dc10fb025267a64bc6cea08439295cce137cccb4ff3eb42e0042d7ec332c3b2478a54ccc54d708cb98b4be6d85453e763b4e82269d4d260a86f9d0f99de585a26ba7cc3260cd150b1329b40c7a86ec7570b901eb6288f5ce29d91ea0c937243593f64a6aab4e08d1d5c8602764acb509d17a405df9b7fc64af9c2bc31f2532550c805ba6a2a67605ac421c7aacdeaff7c5291881d5eb915ab1dab35681234d3e6a474e85f5d08d7c7ee9ebc063d000dfbb8d25644a2f9e9ac67368812d5ae8230edfdd26e7e5e6687b041e2e3d89d47609c333efcec87428f8a1b13c6ccbca805255a65fb15019f4ced9c9347e8267a414ca4f6682bf8b39b89f1ad2e4164d6bbecd2513950f33c98185a8db2d4c11b7a2ba7843d2a1a704fdc664c3f27fdf686a382b2370e8dd81634f916d0a8180b0ff52b05ad5710ce4a39382bb8ebf73a92016a8d007237e6b0394a8e26b08c255c4109182babba28d1781d4f48dd49a9e2ac28c2d2ac6468cd0e162aab188b2c8b16ff04b35a0b10ca1c7b7a3004975d9880ddd936d3225e4162a0ef9f4a1fdbc120124d6259fc8456f5b0564489f896405f04cc545deb10c08d0153bedfdbcd0858904cc0f58cef97e6b15f82b0c59e27e3017229425a9acfd4528bb24640f4692d14e51414de05342196997afa8caf197e1aae15791cdc644e46450434022ac9efe1a6809c3f2ac37b20ab622a00959b1857531beffa54a6fe2d7fe6c591710976d924a53cc4e4667f52aa05c1b01451d399c75484f3259d735c4b7fd647f14c00c5ed5cb0fe3d6a7a76eb74b60b22c0039aae6ba0805307cc0a74f7dde02f54cdc9833fdd1dd5cb545a76f38825ef24cd737c85456b114e0e42d4dd8afe1c030a53fe441842358d61cf873bd8360cffefb22d0010517e74d670c7eba8a6cfb70cebe883db6f9b139756e921b1a5ab23595528ba3b95b94b26ff225072a619326e277226a7cbe2503ceb5c5b6eda5d44db96d2a44324ee58bd2c3da1c51809dbafdb11eede73952563db160416554b84d46c998de1f9bc1a0ae17b2872de2cfea338f615ba5939c8799beb372dd2555d9733c62bacd31750186baaa5b4b680d22b2636938f2c1c7ba2a720184556dd2422c70c0a630b1801934ef1b3908bb8133bcfcae8f0d8b4005fcc6778292539a67b3da081c4492d07ecd6dd959d44abc36c09f71afe54713120a36a3afa0c6235fc3a85bb2677d4dc2aa80fd8f2cddb0098a45b49fa92eb6632875e17c7188e7fced873e279506703aad454466cce7b76b970d6098405b9cc5709a2b2fda88b932441a90e82260d1bc89d5ab087895b07c307e1400f155f2a25b2dd1e41542250ead3a180dc9938833b73cd060049d1ffff0640a9ed800a1c70351739498110d18fe48b9544543b5229852ced09aa8ebc306b2d68dae9b8df549a9f44383fa683486c8426417191182ddcb6eda840045fe1d9a3ac8e815d803fccef54d5d4e18ebbb21276bcfdecdbd17ce886620d0808a1724daa5bf68762a54c2fb1c3bea24e18f94ff400abd8b3188bd635e6ae739ab835b8f7984972cbc8ec91a912dd0735947e705e0806434eab5c9df823144d5ee383e85c6cc0324c8d08e16e67a1f7f5f8a251fa2b937465c9d10e2666d3e54484c1640130809f50b24f671759284c0f95d223dd300ddf8b8873d06c38c38e3cf22369573d3d9d26841111bf25c8096d9cf999cc651fc26de42001ccfb2d910a00844ae5e96bff2c36a5845b871cd82e1c26ceaf95b65087e885e1f95816d66adb94136be100711b212fff16b199340f4d1410a5452dc2ef5f7cfbe5c7143983139fee5968f1269d1c1fbea4f29ee5a6b252ddf7464aba33599ff94259ba7e2608e9cf7999ab8a1977cc19feee4ac5c09e735f3e3f240c082204f75795d6e91c92c2b4879875bbfea0eb2ade79b9b31d143141a7a1c7b78d0ae09a40c4ec55a1734657c4843e0dc6d93eed98df5299ec7fecfb92ffd21ba97f81652f35a37b5dcddf7ff74cfa6c5102e26ca167bfaba20ad300562232a00a437830199ce766e5b9c8bde0db2370a888a84a14c6b5cc7f5433063682e3ce0be22f8a48981ec8011b64e05dfaac9208a346da291b44e46104088988d9e70fc28eff229e32022e1c53047d29206fa05512ae90dd2289480cc62b72b7208ae95449d0a488eea6bda153268a010884709fdbb525c435ed0bde05d533a75ad2a2266c2b324e845754cfbda6d8d0689e6c0c59ca61f880a0b4f5f6531874b47f39f5ad26ceb9d8c51329eef5110c1f3b41eaadfb2de883d42db092ecd32674a806588f98d855e935e66ce3634f10085ceef6d172a92156711a3c612a44dc45623203036ebaefaae754420544e3847c40a89a8e3e4e0d80cbae44bdb161103ba5477a86bf2b4da9860517227cdf3e929f8a83ed770140ef162372650a9eede5b99aa6505716e38f0cc82864987818bbc95585f17044a85ae9d42ea8b99e47e3dc7469f64316417c2d7b5144c72a818b0389e95ca99d7458c2ef210a83b2f0f13d3e671d658d0e8dcd1c432bbe6e632802d2f93286d3f084f564905c83dd1c00df0f41e87d189513744ba9a04c905af21903076cda24a80abf2ca465d485404d8b9b9d7bc186c801e4e81c8a3e3f5d5b33e5b7927fcda8db24e0754c8ea237b191cb7bcef0d453de563935a1c908987ee9f2b9ea3cc60cde4d8bf70200845251053e6d547a14135f2840a1a2b2063eecfc5aaf1a689dcb608ceea630e29500cb5894fe971233a2508569a64a64eef00fc90f491641b4601e9b8c30389f43d74a0df2f369e6219ede94cdb507c533eca117778f96b821d1bf2efc41ec1b1b08a92301437b887e7c93865eea8b49cfdbd4fe7999d3cbe52513f7aafcb31b607685c8e14a364b006b82a3e6a270da73791c878074eb7123a9a0bb7c50de10a81d50780773a0b3e44c5527baf5707c408c662bbd29bbec0d0a0795d2ed16e1de9a0e1882f2b2dc0f4150d022173c7e6798104695e6ba9f9704293a5d0748a15c6a9f51074b0398234bbe93a74d12a061e90dca6323b92bc80efc8703925c744fbb20375ecdf64b0d2a499f367ce48db6e8e6907f9128ace708d95819ca5e1356bb53107676a8a526989f4bb636fdfc8e87098c89348a77774a654f7a07039e687f8677b04d5814a15225613535444b8f611c3f67c11c4795afde798e446a5548c16302170ac667939de1605e5cfc52257b6aa6a3b0daeec240c50fd632135e6c4e0030d47941cf83e9a43713dafcda34dc7c9279387b42a67c31792ab451556590d24a44bc00f912c1494743e88817864a5a9299e05722dfb2c30c55c16daf8b72c8a87046a0af64e72e9d706b67278e4263bf63da3d83b7c151db88071e783dea17c482ad9464ccb4b7b80ebca31e9625fae3f6411d5139466d2e1c2799400cd157bacfdbb4989525c12ea2a1607b87eb7388c01cf35264c3e64179802fc99933ae6b23762d2132b61ad4b210af2d18e13c6078a67608dca89dc9aa35e14e94b920261a037992b2c7136442d0f3658a2814b936304ceef5c8b9e7ae8789ed4cd48818c31ceee3781e2fccf5620bb9e7191955b72c5d2a04cc70b14cd27034f66af3281c18e1c09131cbd0392f9c5b1d213687845c8381fef93071aa24ca7c6751298e48922115cc9e731e3b7157e1299fb4b3cd0fd262a32b236071789ea886b39b27f152fe8c29d3ace19c806231602cfbbc24c82551c29591d33cb35c0cca0b55310c24ce2c32eaf8723da14288c7fa14d48e5e14deaae51824ff1e6b22516a43b7f8597f954e039a2be82618d864227330b72b4a8af3de9d305e36e1140fd6317deee62706ae04539d92d82b316fa3cca085b526a23ab7a556d7f134e87d46a17819720940b7e17bfc76b936111ca304190b7d3ba6e58cb55c579a5a8c309232552ca283726e2f09803d0361e352257b3d54988ab7c4a2127e9253503118c1d032f863ad7874d58bed1c1ef7f318533faeca466ea0359005657dc49e919d5236522bf1f65922afeda04a5c0394969fd5855bae9fbb9bda889dffe93546492fd82d9bc565398a4eee89e1ee3209fe024952235c846215eabd560e33c2e1e9fd3fd4eba5421e6743b82d6ab9cb47ee949aaabd66cfbbe1cbf2f1ef6f79314415e52a78ef6da6c81f79105667c35725a11416a9394535a3e12453c79f250e1d8320ac22426f2aa60872235ecd6b99a77de2996d97edb53682371c2532cf00ef7e7c051a4e26227b368304871160be19676ff51bd90fa207b8b556c569f87c41913e9cd474918bdc92415e904f29a0cf3435eedf0bbc9b7908fca567a8987f0c8f3be5572a6200b5cad877c94ec9d83e51bb1e56765a015bc294f4b8a6b918ea4a6232be8848f3a704220d49668d664cc4d1d75b4e237d35a8d3261b252ed55a9fcdfbdd6e2fce622caa86f4622631c59419898455c849232aad99d5e367029a4786578ddf6edff0fb4accbdba29a4d0da6f394db82b80c3d56142e77088c17f40c70643c89797034eecc839ea8412d7206453d1951542671cb709b6c7b2a07b82f5253b7f531ef1460310b26674dd7589d83187305ad272d21e8416093d9871a032a8b3914534eea3eba08aeaa1e958de81887411282c8281a2590ae72d54575a247d95d8fd2a0093f2181a4908dac4aae271949e05c54efa81ee571607df0b8d12e401b8b1e45bac30122b83689e851a66b133e9804e5908aa8d3bd0e77fda49f26bd3fb5d89121b860634d07d1a32e6f8ee181d4e29242178bd35ac3749a7781523b48fd811c3bc2fcbceffba7642c14804f6d44b99b1f38f0f72aa2bbf9a4abadc3febe5f740c0f7f1f036953d60d6d3d300bdefcecbba64b00e0af7fffd25f0b6f7ef6a5a621f9280859ee2b8481fd1db89de44b77b515ae499e567c168db04f2b3cf93560161a3016be0b2b25765aaca9d822a5caa5731fc1186c9ca8cb78507246a604f355eb70d1271955f10518918a05c3263a10a904ba3e9e1c2426ed5424772e1c654edcfc2220030b3c2f001960bbe6cb3f29b0139944337adcc812174b8328423c379cdf2292eb8936487a9a0e2f501a461d690b96ab1acc66b4943829c905d8d724c0f133df60c46d66968dd11868447978e6cfb8309fd6349f6362595ff11efc2f6032f7e55c4bb0026b3faf44a100677e6e3f30cd57668248ba3b0a79f5ce2110dd4cca5d42c3fdb812400430ba374a743770f0337ed4ab376a53edb7e68915806e8ade7fb2f0e3363d828acd2b630800317832b38ff148797d4849370a35d729e1e806b16db583b4842e3608279886078996863e62d4df7f3ff6eea7dd96c0ecac0d3b67c5af9a8dacee26f1fb748fbf00164a57fe69db5a329630674dc2bc509de5dd8755b11c798796a26ed19522f916bce5ea00e37504fcf1956f6e212180ac1e5c32dda0cb2207de42b33c036339dc219c169b8b50a77625bdb872d45076dbe520f0fa154fa0a522e3b5605829469f0b94c241156541402c7177a47b3eca35b1b778f53a63976948a2cbf401e3451de551934fde8708e5b360807480918f33f6ad1a0bfdb9a4607ec39c6926746568355efe65ce515edcd61626ba7015d55d0686a8fa53128f683feae1f3a8683f059a0d942a0616b64145873249f877f85b712210aa22e367a90f66b9b7bb8497589a295272fb89c2b9a3d2cd4aaca177d270a3baa55ad060a8632b7434fa10e8b1966f182ac661641331149823abef8c885d484a56df0829c59c586efc16546a41f81ce88ef81527c9e00f49a4542b0b47d1515f334d5bed7aec0c4d18382d23c3d9216532f07496a5439a28a7789b0f0d90dedb7326cb8232a6d5e807e8d5c51df4e96dfe559dd3f2acaecd7d97dd4e0f92de02c50bfbb7479f95e499a27b98f7a03fca7f0ad3fa4658cf4171a62f80c73675278ad8e7f8dcf3f2334a8f02710109f4f21a6d435ac660e8e555be34f7dc80fee64298abea1557718c421ba4cbc1ae62151c011fd20b751424d7a3ac7dd2d4a0af3151d314eff9cedc2048ca8dea450e18bbeb7242a2b1d2927953d3993e419fdb0e213e55240f437fe4543b797aef0eeb4395c03f7bfc6497dcae56e80b07d0a0e87995ccfc68e6728d5aa840d02a118366281dc243574cec7063222c2f30c1b4a32e43a0d14fe64b6f61ea6ff852196ca3176ce04ba7fa11b61880d941d7a3a941579f2ab98d72109eae1d8c037debdd8a5be67d57b1011adf6edb0666209b8b9723162ae77d1e2bc14df0ece168721a6bc3fcb6e33878ca8e0391f13025cafc305e16e574defb2b1e12b8f8d657fc11eac5a843abf06297f187e7abeb0f60352e978871d0658d3e4d53a7b8088130ee2af421ccb96e4f27e41c1f3a01a81d378ee341dac8134aada304d0db725801a15f34a0c35f0953da18a0c2b3d61479e75746f3427d65e2ea66d5e85dcbc6c0fe0c6be60569c5bea0ad6a9520916198e177ed28dd49dad07bad6e1812262390aad5ceca58959512a5e4d54b64b2dd62fdb21e88649cdefd4da466fa0f5e5ea277ddabd9a2ece04d71c2a7b91e17407edbf147a65eb34373658ef36c8eee57723d2a0500012a730ed1487a41890ab0138e9190ea363fa391dbbedb9e5d17b540a19ce00a1068c8815ea77e677651a1c422871e2dd948bf840f62921415c8b95e104919c9546968557116fc20e3c975aa0031455dc577a0ac499caa347f8d0afa41fb3890f4cb84faacb23d6d887415ad3f795f7f3ab23df7f0429e5a8b9a5e72a37bbc6c77d73ce480fa19c938a9b1a6083eee4bc35a91dcd443006a0d7453e73eb81d01802220bec6b740b758049a017b0c536d3200638d3619b7cdb342bab0ef90420b5633f6de3e3701a86ab368c69265bd0458f6523584f60c481925fcf546eaf63d43a9b5d868fd81a23c7b02494875189c6c95ef2565ed4d3197ed507a83900e75151546634102991b7238a1839f7918713d3329d5765b5700905c413bac9b2384f150475e1fbc9be482e235cf18a869fb34db4e460c7208441d0bec532391c8cfebea64152cf42637b898b6b78119dc2ef8885ddc48741d3e8e4f4edb4e86675b8fcaa267b82810c0c1e7d3856c900794a39e8053ef22ecdca01a7609f7e8d2afe9ea8020043a454ea905c491d1fd46df157daedc0cd165bd219fc95500bf1691ab807e2d224781fcb4582e05f86d919c0af0c3223915e097c5722bd02f8bca55203f1697a3807e2c224701fd584cae024ffe548c00f7c95c493c0194668a6242f279e288b77db84e5f87effb032845c8b008fb2c92177b37befe99f7c0c345a4606d8ac4c7a9e3057c0f3f53fb31be3056bd416b9516cfba9b1eb5cffaf6f3fabc2fd7d4f9d3692018e8cf87749e10eba10b176583caf94d91e7e48fe235852123666c2c759c37763f9ab2c36099816109260ed2a9e1011c8bb14bf5384e7f948389667ed931f8a4476302493ab6314f57569072fd2263a9f55808579daa5b609a5014088cbc93e203acbd40cd2782a9bae586f042a710d8c9485a9684c7f7a1111e31123fb0e851463e197e2109382bf281ba047bb5811c14049f703628df639c7174efc86275b3e66edf185d373cec294b630045d7233f33813c1aef17f6cf8d0426f8151e6aa3e9bc97e087988b4861541b26966564c79d76133f09f0837f35ef45da9bf6a72c2a53ef6c9e0c1c6b22c86c4bfbf3cca7076176b07341f4ac1f2c7c822f01dd7c13048be523b9f6b97953b12ece7040bb8fcb68531c179e37fd5ca58d4cc5226541e4c7593481a1c4df65ea0bc5fe7751577216cdb4d9a58c8ef9520fd16d4460de880ea91a28a59444f73a026b48570f7abb4a73b2e72515a128bad539ae6ea40d046a1fc4a2db6abc37db0a8a665729ee6c3b7ed06204bb0a4efd10dd4348d5fcdd279f4ca840a7f400d108f1178e1848258201b7f585127badd8a0014dedf6f970f72aadba27e7ba413335f92e15eb3715ce976f77de252c6b7a3c6b31fdbc34a582fd8b9eebe55fca543faeda70645a590959c718d572ac53c7320657813a051cb6deaab20f859ca2e3af1715108f6646be853a47540a0575f69ff3606bfe70ad0d346df6dd87963f2bae7e103390b0c8c3ba782d052f93bc10065bac764eb170da952315cc0cf5741ab7427d5e3a671fceed0a94e6b813c7f4df041bc544218e96e0384905110daf22b524a17e2e4010fa3e2bc7818f008464266a37b59908a49ff08b1ae12c73a3ba52bb6489aecdabc606fa47e3003f71f48634fc673780c29d2dcdf1e7173b554b1043f862b775dcc6ec86ff34406d3ed395816dbe0e5bc1dc5c82bf855f8f69607190d6b42cfffae939b5e7200848fea8a85afa7fe8936e17a32e33277f11a892cbf3f935737dd0a78844f05e0cd34951f4d4f139671413c0892d0e77b5711eb46cd1037436295cb897ad04c6dc1257d5cecf741d19d3c225c802ea0c32e507e76cc9c8c2d90781981c114aaca824e5218e224e767fcdd61c74f53c136a694174de4bf58149c444031fe187039fd1d496d0ae79a7e551c69377fb3c4bc52a9fda91247c0828d97be9c603b53d05e68301382b4f30279e030f389dc5c0b046d0143e106583bd1334483ccf84c1bad02fc53b3e334063c2961fbb7b93e21855a41e824a8bf80f44fa86cf9df23851b12c19c33e2fa4a7268a621a0e6baad4b21be7dde0060966726dcc24a09b0964c094439bce9dc3a361db356a349ac9a9efea26ccb0246788f82d816bed29c6dd989ccb462c1dd06e7a6cfc3c7471fccc8feb3443e5472e270b10b8c3d095e1f4ae264b20303ed95e49387dd56982a2185a75bec30510a55814389b7d56fba7d2fe47447787ea91876b7f607c0e6734d6ded096f0c438cd8f22c20d713e8144cbd0e13a3f82987e287b6728b78a0f0af8c30ce55dc42d08dadcef30c3d63dbf4a8d1c8ab643a11fcb98bf13ada95a711aa9a13cb6a8b71fc67375e35ccbf551b8ab5279cafbdb2a0fa9b56df08031304d31b79d31c9a389ef97445b740d61fa0b957f60e6bab21e824c75f9fde953bbdfd75036cc59902bd9411508f23f3ccf21c21a15ee1803718c803ebb81e8ceb7cd004275fd43896f9f3874228a863dc6ed9e17997d001b9a6888f0e8fbb5aabd6270e584bfc09fc1649ddcf0ff91b94763895e656dca958b3c4298d12f550535334143a1991956d6ac3da4e1891e98674708d2c54a85c131274c105696b9118d271259a3bcee6d2ebad941b00bb366514c84811a00aa95738d810c59309d91e179f6e49ced76b659b95428537f7caa62a90972c470c2daede56d344b840c4253056eef22c3f251124ac2068662980dc2bef93085ead316fb2853c6bb238ac441a3715a78112e5610b85e3dcc5980d102bffbf259a694c49fee10bcaf8326f2067985a278a0fbc4dff27cf864ac2cd3480297ce3485ec749c6c46a9c2c0d1b3df157a9f85b0553c8192a3252e593fef0b385f4541d5265370b05d92d245d09e20ae4da3d5f0fff3875c63d550adb852479591d11b211afd654cc282b81d8d09133b3dc6c055fb845ad55520eb45f81438bda839a2fbd06fbad4aac4a5f2e42302de0878b3be8e2d5c4c1be6f8a211f7489c500a234a482ed5ef6346bba7a5742e6d1d67aec201ea71c7c507375d7c6d9b6b1331d1d669a89ae7e4817db27579466ab3c6fba6373206ffbe2006fe1d972805abcd3e37610223644a887af86d82be3155863a041124e9beba876f5b63f1d442cc95a18f3bcd2bd6050660f1ad7b87d812472ad79203e42152fe6bce2e2b5178d17fe37c2c50cfcb71e566d05dbf718d5a3f4e3d6e389471c735ce699739a15f5e2e94a94bbb40526681033f4973f75052a037c420d0c42d682f426ad36103d00de5e586340475400df6c823ac084d69dcb495d8293cb1f0e17f5b77d748175d68c43254cc208502fe1236e573d95220955c156a428befdaf0f4527e648aae01bb99a25644384e905c3d72415d473ceebaca407abc62924ccf38434420a5823240dc0060365259d2b4cdfeb659a1d47122328a9c1dc51148f619e9831d71db1f840f37e3a5bc1a96b002396cb302bc36242c18914b923bb4fd5902885f9eb6435f14a8c4bd64770b0c4605c417ed6d80791d5cb8990f1f78393b3b963274b56ce7ad0f72fcae7661a4207d163da1bb89ff26b5ce67020d1e25d8d57a651490027e71402e1028a7ae4872612b8b991fc0eceea83beabd455d11e1ec77d1270162ebf3697f0e37432acc179fd33f815e1127b40b4f20346dcf7bf53750d96a92e3821733c24f05b643b58da44902c3111d59b3b960bf8543d7dd0e0f32ebd4c15fec1e9064913f643d3cff8bf10062f3c06389c84fc1bb94cae4ca4879974680daa0b546a3e41633324908a9da668649761a156dfcbcb09c384fe24d87cf5dced65584bd87818c1d5c951f4e4de43aa537d5472b9075038c1e2212214a8fe690fbfebf04c202449d55c894c62559a14f7619b5330c793c76b6a3a29b1b16d02713d9cf9d9f4343d144492f5e37fbf9071f9df45a4fe9ba7db12c8402fb1ac401f16087b49e5c6228112de5e4302f5b386aaec42804f058de0853ebb6f01ae7ed000910398963f2db1dbb52df4930d327ba72df2a117c3b6470bb9a81e33812c85473861a35ab1e3d17e0a9cb5c8ee9ebdfba4bed22c758aceebe812c3016e3f198b610f3a6c5a000634df3eed463245fdfcdc0588c61ef2c6f188b4fe7e83a8de7bfba0587ee8b9abe6d540c58701804c40f7c4c83b335f3a0228fc0580364b6d4bad63baacd3b135779f1c5814bf1915b28e5ab96c470202f91182be5fd65c3e60daade1b05942a3c71dea4e4d510aec4bba36d2d198db13ca5a273de08501ff4a568d89cdbf8c4c5e6755306991772c80ac622b9f41d5a5ad9bcc98125ee726febff291e6b9d86e2ccaf3463a7998f14ea052864e40863ada77a13aa10ec7da410c651c54f3bc503bce380917dfd407266bb9504f6a0c388c55c3ab4c6717deb74368cf796598287b26a2c9b7628b121f2832e3b511747f8b4013469854faf138f228f5c469abbed9686004341eb7d20aa4094938c51b605c684aa6db8a199345a58d673ebf93ad54ba693277811e5748dc5c765647e308340ec29eccecd65648dba35a2ab3ed6d437072c9495d6961377c280675eba1f9d23b412dc4d5c593fb07a89ed4c5afc606f6914aa6412ee7fcfb8f5162e8ea23c8f4204fed032146fdb44bb59e60f4b9c6d9664635c21b7def536249b56a2349a4298995d2c25f33ba2189c1ad62c1f55b4dc8d58051f19695d3a77615a8aeb3ebc89f5c79613750e573e49512e69fe6fb86839813367f49022a87c4552bb6b8e46cccfefcc0f845c1f679f17438816e7cef13d1bfeedd3a83647fc37c3ea716f209ba61780885ef42852a40ed5f943722c4425c59cd4f57398e04fd0ea3ad1fa61f3291ca77a1cc510910b6271a88c4ad02c675f81dc4d4d28f5d49b376a02f648cf32098b0d32aac327579b3a6c1ad51c0d1e72a53e31bf0b963d29012465b7ed6385310296b9053fbb427940c6adc3d26bf4ea61e909e87936c19e85703bc549aefb2340766042cbfdb839b6ffa493d6af0c6bb757eff76d0524425be48dd90db2d59b8a4c18aeed52c53d6ba7061ec46ac3e0e679e3e6ece37bd58d1874814a72f26a20ac8a89f45ebf2fa1511c6f348518ad42efc43288e7bdf7fba1d05e4ec88bfe33200b8cf02ceffc56e180dba0060a05728f89a5ba1a5a206f53672ce2a7fca04c95b92f05522091737cd5f46b233b5b8682475c3fffb0704e4eda7add48ae5660446b06a111384716dbb9df6704233c27f98ead561f37c0f62cb7f5d0c12d2ab7ef9dec5498171399ebf3f67919b9971387719365e73b951237f116827570bd8ad70ed11859e63af17dc294456563611077062f2bb8621f7e1aa2dd185d70811e7e88b03cca9076805800fc1d0f0a2219a4e3f961d0f8637daae33afa0bf430b05777f8088cdaed8fd53c2da4c69aaf9a750bc80cdce62ee9c9f677f2d0aec1d5666e0958a8d76a1bd598c532005e4be1d3967a1f4d09fee98e3d320c1ebaefd8ca63b37f315ff202b38e2f2781aec0beccb38a3c38b28447565a89b5fa6ab1869976e20802fecad31bfe4a7583bcc8829d84ec86897021a89874c0d6fb83686c9deb192267b4b41b73cdd19a1af00a6ebeb80984b4103d1555fd42fd84a741c2f79b32fa619b70afe72dd2754a598d13551163231b4c1e651076f31db99b581bad9bbaad3ef835d335d3869586e31aa083193ee0770f9f998666cbf9e5360cf5a7a08bbdd802c0d1b9e53e416c65c1b986ba4bc5b587e758dd12c17071b173436910f0ca9ee564eee366a5770d3803b2cff5448a4f48265a3dd6d130668fd65f5073464201092d776207647b914a4c6670ded7eeec875ce1efd956c5276634a486527f41e46d40f199d53a069807fd131eb84330f3b2b20c62c1e4a4a5912134d67731ef49bcb6a9ea0a47ebe40cda41203c0f1414e4ad090b026454277380a0cb73de1439d1c564df05c0a2e66053151a96aeb919aa1c1628f12395b6a4c84984496f329cbcaa2cb6986baeda860d9444131885f5b3fc1c019201c3dcb2d25c77cb0cc98ea50465388074550bfec49bf235a33e2931f5742d4b0b6ba92be6d29472b4250ae761cfd84a66f9f4005c0dbf4a4152c050b740ccd9fe4d5d6084afc9ddf1e04a61b68dd19ae73993bec6cdd6aa20229779b6b83a9bb91fd538b1c02a02c30fd49a7cac2feffa116780a3b5dd600da850b7fe34a393c1b93b78765cebf50de234502f6468f26eeea91125f42bc3067d16af4335c9c53ddb59aa0f95033b8abdc3eb77ee08c3447f944f3ebc23dc8ffaf3da913e3ba1d6d909ad212ff6423135b9bbd0a2f5cfc268b432275297450ae581d90dc48987204f916562a40049de2d912cfb8d18d860fc9ca029a32f00ed553023d826ac13d696335250188c5275e1e644542b8b8f2eead22bed0a2a1f3581de7b28d38bffdb4a811e27f8594e6ef73579cce99f07fab81faf50248e2c138a507f52dddefbcdbab0c781124fb07f0da58457a956e2150e698ed86a66f929c7570184daeb2cb923b0a18113a55c71a3605cc8e987e4f2b28bb01d59b1c2362a5e3828dbf4691baa690bbd428ba73375a7051dfa606af86338a3ebc801c0d560742f8f3439978a6803121e17433adc326e3b988a1bb0399bf7fb97411fc6e8dc56f2db12cab74b76f7068d31bf4435d28183d6ecc5072b9be629b4d9264cd0b5cc9576c5437f2d6112b7c3bfad8375b3dfb50a3087035da1df9dafb7992b811931d0b08e3899af7214df6ceb61ef40a9a70e05ac600e1f6508134b4c73078dec022045fc6af4e9af04925e653118f3a2275befba0eb0c8d30c6bd4bc84b69c4ee0d429ae75014bddda0ce72367b12d8170fd366cbb0cea67fd263ae91e071583202d73b9ca636ced9f2778eee312a6e2b6c37bc7637b8c2a8108388e54a9b3be2ae4c164f8432d1d5797cceeded54edb28b69b8662bccfed960a72ac8f605e8369f403a0a18c9e3699700a7b03368838e84e19994a2051aa0ddfd603f940a2e3307a6e1f5991536ab57889c4d6c395b27264b6c6a6f3ede3701d5448cbd194f44fb4a9fadb0d6cb7ea956d754c3895baaaedd4a9dbbfc119943a5595ec0b8cc61b41cfaf251f6c89020e6248f3b20b5aa6f6ec45c251cadb1995d350c4fb25578a54fb1458f0204eb357400d6869de0e46c9dc11452485fa12dafdd4af8cccadafd07e311a9ecd49b9396868023a9e588b26725772afa2e833eb56e0620acfe0492c09b8c28068384cdc42b22bec2a3001614831968e74d2435c6bccf151661fa7d5af29c36c65651b855df80d706ff06384e0e58f182cbd0c24ecdbbd89a00b9a771e3cf4baaf7411cefdbd6bc2fe92268a7ddcc3c04b11834d3964afe3aea3ed726a3b71ec8d01f04dbd0d708583fbdf3caaf77b5a9fad2d369bf94711da1b12d532754bf4631f41f2b4d1d0eec2a3f98aed34e239c3ecceef9342e517a98b6afe81a7b9fd39093bbe5f7659109ce508d2dd9862649f5f6799072adcbb14ec13b66624d997972dcbcdcf0df85cdce516c55d0273ed1e91284f5033744800f1fea82a55673aa025a86e124e036d8bf786911834eb9e4ab8e14a6e784ed7304e272d881789866c9b2dd70f15c7225fb30122178e6c8f034505792f7fefb51cc68d2ae7c9be6a5a4479addf9aff3691670f840a3e1cdec852ecf7b911a0163ec1b0d26cfd89ae718c45ed77d49b99b91b68a4941c64af6f754ac87184e1b4b05f25ed2f5b11c2b2b3e9425ada43f6480d8968ed22b364bd2160441a4202cb0f1216c1256b559a45f3983bf51dfee74fe345f653489df0a611111e0cc17db1bb223123bb75a63e66025c437515eca3aea9c4d152fd40e947be6e6e171535e08ae9504b99b1b380bb60773f467fbc9449de7e29449a03645e79d98033e9fd9680d90fcf0679b23ff2fbc61047137ae50c6d93392ce5bfe4cf9060aaed1797f26b0e839825a6f218860f0c753aa5f37de9aafa1908156212961de51997acbe31844b7f9f084c3f2d7cf70ca6f4b3e2e8724bdd821767188f88ab3672ebf28e084b5707b605824144bf11f6209ad83bd08de652ef2d2067fbf93a7ca2e1e3c407ebe21844568338e2409b8e492aa1832947930407ff59070c29d538b96e6a38fbfc8071e28cace4d50f003dd3a8d8ced0498bd6d3b05b09dd812d71cce315925f71fbfd2dc869eaba96eeab6e479e3c59d06f7ce25d986c2a11e12bbc21187e658aa7d9a7aef337108de9ffe766d83b6c44359c8f33379e6102b3b529883b1cecd04b23b343d679d8acd56780c491d9d3ee860366f2eafcb8d100c293ce27579f45534b9ca1aa83cecde23273f12c721745741ca4bdeca59b58dd6e613a3047467c17bdf81e0cba00c0e00f6d7eb9a150db5f23b4b7fadc45a40c826e4995215680797abbd4febaebbf36bf05e216dadc3ec99b32b5e43c35fa9ded21dbcf811be4f2ded3343734ebaa14ba4dbb00fd00928daff0833a86f7be33265588a5a2f4f9ebdc4c3acd1c65e3c7e9e8fab0198d750d3a16108073ce9cc612cccabd4069046a5c8d5e4069677ad7d935996160a165f1f5ca0b95dc37249f22f91d1618189293ed212f74c7c2fd71fd4764a86f8f064c36bb41fdb9e62f4ef6d7c1d78e2f40c05743b79bf529bde69b0b3d63576cb78e5ff66167f0a41641adbc66df5a40941a1eaffb9ef7009bbaa4dfd0470c218a46228b7dc33d84ae7eb976e51c13b253911aaa893bb5f002dcef97d0d0f0084757218db89952e0a792e9470f7c9e0dafc451ca21c46cce9aa3360c886c2e24ee8d0eddaecf968df2ead0536773088aba63615a93d82a8e5ce048eb66018eb4512e97dd8c6562795a2aca30bfa7cf92fa0487c304ccbd2133434cf98a327ba55acef02a3b95822b4a17b2465ab75d6ac880cd6f7af90c2f5cb11d19dfe7c37ef3fc0f2863aea79ea88fffc1ea93ecdfe1eb7bc0fc5631e7e075a61e867d4468a1efe68818429c94d5cf2aa074a6db1784a688a73d4cf5c2acd8d5d457454b5141db8a32ae9f8af77b880246306fc842c8301542410e2a604762eab53c1dfaef463c6059a44816bdcfe88da7568faeaac820cfb6119a9027067bfd2c503de67937d20446e5334f0814a3621e393da8fb15775b612b30236e4c939523af831d898a09b580099fcc480aa26299aae83a5ae088052a727a30cecf29a671493632202546d2eff6df96448f288d0fd9797f1cbc28d946f117cc829c45be2166cacc194986460010b31bab75bb7719204a602cace121253376fe789d574ce4acff23159cc413266e9bffba6c04f394ed28484df0f8c5656352f7eb16031668b1642b3222f092f5512925e3c96db8fac0e63d828075250b7d1ca37201fe7077c34cd6c5ed50e063711a74095ffd5c4cae93a057aab0c161124f431c7312e330e53750cf572286ac060200dff8720b900665ef4815126839d55a3c531c1b24ab939b3be462a39a41054dcf68b62d91645313194d49922f477fcbcaf0a449c9612ed6f544b828244e4e904da52982d2a52427292768956b1d87614da107dd401ecfbc8cd7925d5837b284cfba40fc18706890aa048b5b701100619bcc26dac4d09c352fefac496acf9ad5b61bd476ca734430afc63a4d7ea2e66c9a2eae1e3ce3cba8eb6c77e8170ab4ad4b2ed91c1137b9e180696376f8f09f86ee511500f45181821414e4efc7ad4849980e0f6e47f23c1a93212c4e74f27d799d1f1dc7f0bc319b35a532747796bbeadeb60b78622812120d59f5c5481abab3c3320f9efd12f36281a2d115cf555f8f489d4ace1f797f548d4887781cebd694eb55c70dd38e0614582a1277154c91a19368c42ae5efa600b82b7f4143936a2106ecc08668bb35a5724551435a4af98ba50423295d3696f24025e295880baa6de440d39a1c74c0e0942c1364eafe887aa42b53cc6f91f0cd0e2310508c79593d5d748670c317b58253388f8975683d2b38a2decfdf427249457d109c424abdc1601a5084bedabfb9147a9f495ab76bc814f54875dfd15cf6818a71774e6a76f2c075e16f1901e388392226ec7b1dc458bf51eedf1147ae6097ba9627692c708eacbce8a2017e860f885710cbe250db5f0c939719c67f39d5ce56463988d48d9b7240fed4d655e06532aba01fcf0a6cf321dd6637e527bb9894d2d24e7ce5a6e3b823dabc154009e16722102314a58076861158566f02a41e30890fa82d000d094fa25168eed7546dfa00ff511d40d59ddde676691a9460e77abcc33c3a62b13c6edb8cf1c8c34569ece24aac239e56374963ad84fb8f0bae03e3004712c380cd7cb5ee865c6b239ac5e937ac951d610870ec5416c3634bce0f008ed018708cc16aa8f0361bcb0d568fc2f22b4bba334b8a2bda7bea6c71b0c4845abcceadbd1dd0de6f81aab76ed94e6485c678cec19f53ea0c7e01e14ba77948e6d2d1ccb2b2b1d1c813c065c374f7e27c759a7cc573f43bf54aa25314062b99d4d6ad9c3627c25b300e5f020d9e8ac781ac672bcb789e35ad3aba67bd019690851f5b00084475eeb7064e34da9966bfbb775d3faf422719fe4309480f1bdcc101154f3cf8383daabb2f5b0fe3cc99d0b8b3c617a099e870bf26bd2e7a3e41142a15f6f0e195bcbbd47f2624a2a0ce534c9b4fd3b2277b6791f56236783c795537e38fcee33923c0e49d942a38eef12467ea5b5821d60ae76dd1f1f53e34731b681d734a81a4feab0ae1f84e2c56a9fc9bc94d055ab846c81c75098bf76c4ce737ce22a95031cf83636b50d0374dfdcdd2297c49216d1d59b0b228adf6dfb4592ea23a63281db5d7135a62d3a9269bfd4eb9c808e40c862fd0e6008d046b15f14cf306188527311a1bfcc7d4c7e883db148fca16c9320b68d0ede59b676646624e7436ffe6a77b13dcccde142d346362c9a86abc1b6f0987a854a2fef2c6e7665c09f68598b41ebc8a4a748e9fb7f99d01a213625309b5742a59238ab88ec21ceda38102d2ab46dda4349cb7bd3c614b7be3dccaa57ded82f9287f596279c8d1fbdef2e6cac887ed76a4007304b7f368c6ee186ec62bdc101343af0a238df4832e4f6f08f9a0ca34be71da812251ecd065000e2d4d2a49038abd883e184e1655f71e1e6a3e909a99ec40a4dc6a90124189882db0820df25443f01d19e82bf6a1a38c4b364fb34f412f8a856660aee780cc637884aa151d1baa250dbc2e376dfcbefc059dc4f739f27770a127eb87eae6ab04a69cacb38bfa825b811013e3971648f37a164edcbff0ba693940c37ca331309a60090ada037b18d5fdf9f72e725a43ef901f78955cc0afcf987b21df67e81c127951d491a9abdf72d400fb24adfeb1b73fb3d40e53bc6855dc6415f9ca709496f8d022e3d428a32ea796c4f0fd5e2109ef29b819fd62b7eb3049aa280d6546a939ca38b362ec6af31cc157c05bdb11c4bce4d2f812f3055420a2315dc3e00d2bddc13072b9b25ab7ca65aa7eb415da4fb2c33347edd4d8a33759518c5457390a357a79761be44d080bdd5a331928aefeb1037dd21ea43d19cb8a5af18cc27c2306f81eb220accd6f62eb7acf10a283c7fcc8647eef8e213f645e0538cbd16d30d100df7f4becf3abacf413f781260a56bba7923a5cbe17f2ab9022a1a2a5cbe28038e8e14eea402efa7b5132e8b3dadecac58a6fa212a7aab0d82567cdbcbba245ace94f02e0f36fa25212e1ada483127ddd256bde4e5404f657c929a3f6e36683b3a5bb5c022527cf28cb370cfa5951cd364aa90de4c482be409ce7c1065b9f3cf9b1a181504c52fd44cc97a91e37e3811789b9baffd5e73e5eed6a9247261e70316a905769a58aa929041398915b43a05c1cd7ce4b0e59b0aaa56c242d557c4db1ef8d1585b7f12f7133dbd57d411883a15fd64fcba210e16ee6d1ad1b0f84fbefe57bd7c57bfdc73d2dc74699501b8c15f5766f669af422e335dd9b22972e78c52f204750970c8d25991c72364b99aeca2eecf2426a09d504b9f98136b1d63349843d9a1d230e80337ed73252b7841d069db6b6124b7dc719c49c5c55d007a66c861469abcb4b3b251458e03d4a291f40903c65cfd0431735c2e3ae7eb4b75605be3c4bfd9b5371b54a9047feb76f2c8ffae3917cc9c5fc0a505cffe2fcffab8bc2303154726230ea1cc15f4741244cce6890b8852254f9d545e2dc9b1d29880e89e36a8af42ef15e5d6470a144d0084bcf76ecb0dc6115f1c57ae84de98daa1d3dae9c0a66a5cbb2036124d08b74dff320ce56eb45290ee5351b4d251c7bbb73635add163e2ac95eef371bb7e8206f11ade818e7b0c8fdda132565741fcc8e74a0f359a364f90ad1784ee9507796e16650d638f4df5a1c964b71116e428ceb15b5924ffe0efade7f7cf1a5204b9e732157be91ac0fa268732e5c2415880ea654fa159a7ca4206da9c77e19e08a06e2cbceff93f265a4ababbbd33b24abd2a8145a3c660546718ec89b50a1386ccdac6eee537cfa5a45cedcec3f92ef03749618218e8df48818d425851053a3563f8a21accb3fa728bb7570ec7e8f841d6595aef8a4db2f66de4a2adc056544c14f6e1fa2e86ac20f2ad401a301ee16086774a27cd8ae21ec20d4e8e97851d84bf7d38abff57b19767c4661201da6c679d71bce961ba21cadb91a53fec0056aa6c18d807f881882b185c67fae3abee11915e0ec791d91d1146baa23d2ff4fd5ff9a18646266244b43e975ff3a49503fdcc6093aa14ec4dcd6db35ec5decd46de68bcc17e2beea4aea1604a84b0f5232031325e7e30d7b3a7cd2836265d2b380f08521089faabd9cafa0ac8779994355b34fbb1cfa932d6fe1dfdc2403bffed56e0df51cbd299ce30feb6f78d47dc60f6c2573cbee539110304098e09156433768e60634da55aff37e763af955ecfda9d8f822585db50d911d56d3133e38531cebcc1c7866663f95c93d3da41506391bc50708dad3aca3e9050cd85342e2a148070739835db51298c61af93d8b0dfcef7340416c10ba5d511a27d6af094e223d154a3b456ff6ae53bf9f9ba6142710e4a9ff8b167ca8a2c8e2b7a53c2257a7354b9cf4fc494931ca048527fd1498adce100a11515639e637c23510cb5c2ea47104bbda2dc38c9b3f8badd3a0a84c63123c5b349d487672a0ee6ef1930b42a74069c42fcefb652c6152e9ff01c2c7671f9fc9e372ef43c3826c071a5e75f8e5967feb2c1b083f7863d2bfd75bdfbeb2ccd768020c62224c741ef42ee2e682e7d92657e5efae1ffc5bcacc5ed147dbf85438d72e680c1f5a9ef4d5e928c7632b20850eaf6181ae11682f2eea42e02b220b80db434f85443083adf1a80826406a0869bfb028049395c2fd99d094a9207948a7dd8557c09b92000dea0e69a76353782f757e19afef98da12a90fb388f8dabb878e64656683bf34d9c09614a2036351f65f28d279f04bfb86186619b2459f00f91a8afdfd613617b3486eee2d682ac5cbef15ccba53ae4c62fe31aa0a17160e03d11de0c7474f199560e1810ff8055f28f52dd1463e7215c2481f3293a6f339f357629e4541710e68c268c42c86d999913b5919cb11ad345cbc5645bfc7eaaa6dbe51584512d95d7d0029c6496969da63eabcf3c6963626f044535eef2138475458a13264a6625864254ef2e41b5420f49199d4736c6dd81c6373f75cfbda0c77ef8d7e0330ae88483de5d6e51677eb05b84d619a66690145c227fc29e5742e79d03aae0bb3c1baf730bbed83f3020c8cdb9d02ea09566321d2794ff70cc3f1d1d12f21683214bfa29d535f2733f8c38e142d9d1ebe42c022b7ede4cb6e0491b7f34ed706b7ef851445b974689924d8e35c670d54ad50ed803cb940c19133300a5f03929c7ef97f0e13ec4e5332ecd7aee091021983f8ba8c51d4bbec4c1046b0eaf57caa94723d443436702acfc9e05a200acc6d7d15365805f4f88aaecc199a65cb2ebe1c1087e36333432fe74e3e01b91c90d00dfcf64ed59c6838b179d0e6eaf8946c9598be3d77fcd5526e939d38629f21a9d347cd3bb43fb4d56e072722ba8a67acb2505b428fea2b19ac3510e7e40d454184147ce5dbadbb6bef6beb7830689c19e003e5034027435b29ae8319c8c28a25e4917629eb7470bd98c8e4de7d61ad047eb978b485cb9451b2c73b34b3c0a3bd5ef3a21e505d472842d1c801c233a588333e4769b347c1e683efc7ef9d83e4e33755a159de5bc387a6fd8723f573a1a56df2b30c8e1773dffc6059a17b184e6bb04b9944eb832e835f25d3a31d5a5fe3123d5259471c402609d6ff2f816c266faf42246fd541ae67ecbc04f5e96c315e269ebb0eb107355379853a08f185a0022cfab013a2d794923471f5cb9b9ecf38d49f25a6e21823535e1a036e2f6310e0fb85f4694ad01bb9b5a89e8faaf0d1e419e3fa15bcf365a19d4c6ca4a3f9f9af723cf66d32b904b498d34ae122e5951667066808426f4ad1a9c767365a3aa3f1dd46e0c8e9e8d1b4fe15e91ccdda874bb91af9f1fdbd67273b68fa548cae3a0afae76484ae260a28ecbaf7132a1e6b983137c4660e044bed3db2e35b7c24cf5e1764d6b08677dfa7256b7ddb09507e9b5566f69756dd12336424094cf229fdb83b1a1dd7912d399574816967724b7171e8fff6ff0775198137268f51125a55d5cf63b941f0019318bd0f639e350ba3375e2d96b7a03b18f3b951b8a1a5a328809b846e8311b00cc0cbff3ee6f6557dd7d3a44c1b7a8f160ede2e8893bdd3da6079dfe9179bed6082de7cf96c99aa315a54fe01bfb233845773cabb4145bdbf13a638617789c958aa20fce937bea4e8cfadfe71c28cae9b138c13b255c4c571ee3219f3a7564f96ae24ccc09a4093b20181fd938645d112983b7ea4482f8df13b337645e305f9959451ef6d496bf1c8002c9e26ff73007f646fa41063623a90db30b52fc682dfa87034142a7424da0c4ed780cf8721b4c312dc51dd634342af771ce98b9b15eac4c51ad9bbf77a4af8a624694047e1f853a7d8c3ce05d6c1957f1a87340dc0bac692006cf2c2973b3aa375a5e7fbd5692f23e56a8c61e96aea55a737a23d51e778509379285615ada4ac1d10e109b92532687617be386db9155d85f249a48ff27e29c34e8c9532ffbbbeb584618cb25577359b3607fe5bb31efc1228f5f0315ab0949c802b5ddf5d8afc14f12f36cbbe95d7a93a7b7892e0c19f0e0c011a1f45a360bad25e9178d9c6e988ea574bf4fe2d1af8cc8d07b800ddaef11a128306312aaf486c61749885c2f7f9bfd979301216a4a091b5adbc0f02cc14e4f9db93112227a156b2b46c47519a6a701254e6ea677a4f2d816da8f6f3d552e6030cfbd1d3bf0b20a601152a545641b1d9796a8822cdf576e2557fa4d49515b5053813a0597120096b70f6545faf75334aab2d87d6df3295efb6476a7021be47fb3c116508a905440817f43ff6835edb98f041fde5f71a4b31b98c1956d29481e479de8472b593769e9192ead91996738c05a042558727752e9eb2c47306f79c43d6b445497b5a423c521790d02ad5d658eecfab03c3d86139f22cab504624f9f7a0e7b21105eb60b102e4407c49f020baa444c285e3c76980bcee2b017a9c9562727df20866e430a302e62ff43234322da398d4ac6df1249464c61c10a67b8e5fb7aebf0fbf1590478334416c5878c00162144158c3447f7a961cada827c3a249b318f18ecdc8c29bef8a00fa077e960e0303963143fc8ee43852500a67e8f24ace83d09a04579ebf7e881dc35bd3194ca22359770fc478ceadc744e943e67ca8496e6b54c2883c45975d5251a5fb3e8b47365acdebbce8bcb23f7fcc2792be738ecddecc2d8e63347c9ef8476a6752db445c1507025c119a876b3901778314020a96409021372c915438685e7fe625eae545a5a4f204ff91ab193c1db3500e37786af31dc00d3d5f2ee7e029c5e89b767bf0549714b4c3012515fb4680a1525d5c99c1129f81c8147b484e6e118ee103c51690d6f102b3fa566f320413d2705d14840cba1bdb58a2529f839791a33933f3383c8824ed42411bfa19ca0dbce435624e42d866c031d4ae766d361e629f1c90afdafbcb0c03b0c0ff338811e936b5adc1840a7f832c9735ee8252f1ca0bddce3401db12085dde8a687bf251141c683b955280a8a274f9b255cb9aed41bb6cf53c795c2703d729caa4782741c668341700290e9d0c02d02386840f44180f94d0fb01a7f0cc78c841edb7789cde79c480dedeba6510bb7854b91c6825c8b3cc77141774b0230045863a253ed10814c85453dac1c5e6e95370d75a415cccc62637cbea8ec89b89d19caf134f254dee15739e6574b73adbda36d91a8e8de4d6755283b8548f9037b2aee0ca6c51b9beafae35184325421e0271fd0582d45a640415a2d107ac7ba43a9688ae4dc0ff228950346032a4b532a8527a93ed645d6de238f2b9110233ac9b05c74d8afc708f4b061c47d5bb5f1b110efe40a8c20410bf4c197c3f3e2980701d8708f8517314a9cd5f0b031829a516cc192ac6ca348a0c5d1f58a206643da8acdfe908ddfa611a6050ea8c764ca7ba6c67d94566a7a729a98785a37b452adc8ef303f072f241069ee08ef9fbfe19cf5fbda896b8ff828e2036917ecd5a843f926dd67bcae86568200d783cf73f3f6ec4f7b10da2d9ccee5d2919f52e2d3c08a663055e3f01abda4723f70822904437e391da542064d4cfba681b69668e689c288b89d98af086c980c4ba9bb466c9f51dc56b458946f8d91f202cf0119200369785f7fa7abce8af40779a80240d379d40dec54ee9a988e7239ccfa2c0a6abb9cd77b523d3c985613bb72cbc8ea2767baa87af30717f0faddb997f0599feef1c4c86ddc06851d9107ec1f8affe9e92f35291bbd26b8e3f0d4e64b444d52a41de0a2a31e384c9364823652f134b2088228185a7f28ca1187e55648568dfc3c6d2b01acfab7e8fbc358451bda86a01cedf25c5a8716cc6b0c3c8be181240990964415aefad04b6531e8d5223cfa48d0e1dd310cff62b45bc7710987ba18c49bb3155660947180427e38fc6f9e30314698193d7cf48c2c9f54b40fa4efb0eb127d57d2557b9a5904d9a6af91e43c8a6f9488e3fc1209bec6b98612a0c29187ba90956c4177af0988157b7710e878c09898e3686988f87681bbac2fcc863279c4c5c8922c1e21857382e02b5b6478530c6914f2d942f12b4f575ae614a206af64552dcac334f6be35affa89999f8274625469603c55a5c90f832d2d2a8900e0485fc8e3ef8eb2eda3a026c430745b0a1dfb059e0b7b9485171e5e055c825aae0e9c0f03667ddb07e194eb5aca81229d329edbebbddbef070fd6a37763ef83605dd4f6de3be0bd05ea6afbb34c9402aea50b8d01abae1d03ed4e79173da46ff37a47a285c4319a5f46fa47added49aabf97f1a1c822bf54e776de81776d7d04a83d260518ade7af480d4acb8766c4d05dd2707635fa40db3e6865651d4bcd485e7e6dbf4ba927ed6056a54a47cbb8c3961660c780a404170449a074bff4c56b7541127be5f3e1bfed6b81951cde4d7fac0507e6cbd4383b4a677413e5cbc2a6469c694a200d33ec66e0d845e8470fde373e56ce04ba6876831f537f11a4f7c1bdda7baac51136a05ed6fefb84008c00763ee22677f74b69aa1fd67b81006b6fe68ffb04cfd859de7e84d32b2f21cd722cacd38e95624699135a2d3bd3f16d80d432e938401720be5a0eaa0e83ed7d9a638bc6778db8b08802ab84d462e473df7a99dd7edda8ed7ae504a1ff451919b54385864524e469bdc006c3b2d6efd1ccdea8085a23030896dc2dcbd048e85505ad8c003ee683536be0d7214f088673e4dc4e6f0ded3048715bd6b7896353d9026559aa529dc41a614fa79a9e900841dc0b14a530ca612be0f6ff017be1bfa6628691ae71ca33035753a302200a03f65fa90177a411283c70882d12c17c2bf688b146e43f43576fb9664d3ae584162314526de1b12f4f0165d854a0ddf0289905b12cbab8762d2d4f1d19c0e00ec73bb4579bc09b95e9d1c18b1c548b94ef0d1abd5e9786579c7c9bf0aa16a46d035cd38eb68e6d75d22e14c3d857489ee4c3249b9c7a9c72c310919b338a5038847c34355174a1cd9ae7e9b067d8602a9cbc3a5c6c18428af61c335ca1fb4ab60842e44f07e1581a66007f98baa76c147df69649844a22ae2d36aca7db0d2aa1d5555984072455a5032a1cf6cb93d6e188d28a93ceb868cdd7d4463f424b46f5ab801d5d0afe92af5a845cc3b3d9b836d6992633c3ccd3380e18b2d2d29048120799448d9e488cd4e9dabe1048f9ddaa3cb60a48900d85e3afb291e94cb22dfde9e0776aeb66a2a501f22560a3bb51eced645ce8201d5f9bbb21693667b117b530ec7b81c1190a3628dffa4f4a4f3a4fbdee0754a0e06c290c6495b2a29df3504f0da32b3cb470e55efb5abd548cad71efbace2e196b28225e6a0f7d17b05c1cd29670af37121b89110e7ec42c6348eac18106e6b1387a21c25af9db18762879f8efbf57557d9f3c23ec24fdd37d0216dc6bef74708911037be59d74c0d4ff922617c947cb72a561d36faa44cd07be8fb9e5a51657126a557567750b573af89c3e70331682b6b44293cc33cfa326ac406f897f2f6114f6c909f81a52c3d5af7d6dc03697466eba8780a227861c20609e977f817581b31a297c35d1489fdb9c02f8dbc79741786ac54475459dea0d33d234c1441d994dd4a120e6e889d6f5547f4a08ff14bf21197aeed86179d6dc8edc0eed29e420cd9bf21b4fbd802ed3fe5388c5657e79b8500ce982c3e704833dcb1be9b462acff74e21df20cc0aaf3cff2e183712e9e870f888f1dd791c1d6b853363a182cce4dfcb649dbe2ea1846c38ab97d992e782a7f89830166aa9ce77a98d79cc125f74e8658eac1219ca29aa7a7b17449de15885aef74d488742fb1c00a9d5ded907cc5f9072fb5ff1a111688cdc5e850c5c84c3c9882d448138cbd248dcb0608e4af5a15610aa87a68bee3713c983310179deaca320f51ef41b368bb395d520f98c0f220f59d26f25ad2627f47c3183c9ab76d194a42b668fd1f79ac6cb29e6afa00f394396cfb3c624e3508ba1591725304b6676e2e474632963bb077efc5dbdf32a92ca20234118631ffdd02737806058ed9a451d2a9faff81e24451b664709e07acaa8196071b2c856d36f06ee9cf7cefb5da27f9402c80238e53844c8798064e2cfc4bae3d646785213d0f7fe50fd8ae70cc0f37f9ac49536ce854bf82ead1aaa75395bf37e754f07414d0409c5d64b81fb142ea71528cd86677d4c308d61d9153a2a1c2a912fd0eedc8727f44b23ab3b304a9bb08d60a157cf09b2f6a4550315f726328ac97733a726e1484331e15157c86256ab1abe95ef60a29bb19a7409432cc3ee2334ec1aad69d1146db9ee1bc9e9244a7dd23c0a4d7e8dedf47dc1c0ce7da124124a7b6e4059485bde8aa2f0519b585a75784644fc62c9d7e911dc9665f61307382a34cb1047e96fd5c71dea45ab80e9ed114898bfec95d30c4f92f60361067021adbbcb0497c67f443263ce9de72c80bb913c28d3e577abce2d0927b89e63d21c00da969e05ec234580a398d45a0aa364c9b0e216a2ad08d2501b135f91c25b3ac75ae003c8f05907652e0bc71164440ad68b77e947f6a49b11096ce54161c082a53dcdd67f938d4bc151b3e0c148fa062fbff31fea602304982cdee86c2f9e8c2ffe223d51022f2e24605feeac1c97a6b13a714598402cc162a8fb19b689191a33b084da6046118b96775bd6f4505556445f6b3b34904c963092afc7d23534e6202738aec09928554af27224376560dbee825c5a445437678b17e99cef7c3b3d5e2ec6acde79ae9da10bb1eb2cb5dc853f158278feabc15221b0c5ced83a1df0183d3174f5f0783db53b518aac075fcc4eba6bcd2a3a80b6a92f94104a68a8fe4e6b0dc1fa59f9bf2692c0376e2c6b4c4bca581c763ae221c7d075a6e3e01c4f6e1ca7da9bcb69148aad8f594cb74bc1c0f79da13f4d20421e9da1fff8afdf1f5692f17faa92c5b0d9c35e969285183b5bad31adf0b6f486cb260668d5d5efb84660c9d8125496c344e3847eda060ec82ce7a8139affb27785b633552d119781e34e34b5f0f76716e14e7ec07be977a26083089fb2e98eb2854d05767800ac74a0029af6a83203743840a51fb2a10f057d8d90e2da718d89239dc41c7fc4a2115df39be6830571691bb7bc471fc20c78fdf56d2323f93d3d905e1239f1ab5fb6213ee31e1936db056012bf70d66a7ac9391dcf28ff9c7ddb7124a0e83bc4704985b781dcf3cc1b17445ca4840a76a652d528991bbd1813b2701d3d5d2551f2755694eba05f9f6218a373789f1cdaa78030d26d3cd92ee02e476991ffabee21e90a34ce6ebb2030a4148aff53dded719591f8a700158a326b8fc1ef3a5c83079e303244a731df29c7965b54e4b4595cd67662f980c25236b1d3a9deea9dea5cca194cd10ecdd9e6bcd9d110380876d1989cdcee6dae8f40160345879c288e3b4f6d15a832ab246a026c7e2198cd2dad2b1f1b7f43828aa5fbac5ae5bc632e58e211b4c6b52618b794859c1bc7f34d0ed1050a4d873d04c5fc6061d69f5ee4b528066e7544d9bd492f81a69506bbba7a62d33d8ab43d41efee72d2e5c9db846b367b2b9dc20a67fd266d9fc8c020948c45a4a17b2cc3dafdcba8175baa99b61c2e9fd7afb75f3b30154fd17468d1272d7aea63dad0de0fd7034cef14c33b96536a8172ee3039be350f34521e800e37dcb24b37ba7130ab5eac6751bab59f840077c31f68385072244ea046acedfba58309a55493aad81b7415f7be6afc523ee39d2cd61ec12ee9b9cb999f60dbe0dd0b580db4338e6aff1f2100c03fe0f9b70b7c8428b3809b4a2b85eddb3fbb53a52504dfdf77bd16ca14513dddaec6e841042c8269bec2df70e7f0b790ba50b398b1876391cf09865730eb666655916a731bd2d05dc415259cbc05f158b07aa87f5a4f4267a18f0cd49e7a4fd292979484d387bd498e2f54840dba2bebb480d05f709f7a987037ec760d3d75106365962297e700225b81f0eb8a7981825128403d106ee702006184092a40522b0894620c212e79ab321f37549b49951e0398473c95e189b59c39d389344d480a8701226a8487c828a44d14d81a9431e98450b6e22d47f1a088773bc1e600aaee3cd4015c09779a11a4c01c200cfc9f366c020b7473ccdf441e2e9619096a174c220ddedcc9d96a1f29694381e963b7106da3c79f371bc13e86e4eb883e7e14e51909681405a26d32ec273165dd8a49b7cda0067d38ca60aa426e18902658b9e6920ef857a135a3cd1a4df16f08a9e41e2708a2b226999f82d9a34d1220b131358c5e4c9f2e412c984e089715e158891ebdb1335bf9f1c3b5ae6e1ecf32d2dc361d7c159c7a5a776938d1af39a855a08d12f33e6e86ebe0475ca1e29adc92325bd71c6510cb0e7928fdf3178aa848f0acb48c11bf295cd49549f8f51bb81bd0214cf27a144ef60797dcc2bb3cbde586f463f091fefcdc87486a4d69b526ae795a094d2f8cac678e5650c467d32edc9f551e1d1adfaf77ae07cc03660254eeea3ba751f1698ff81ad2b515d9c797dc0135b59d5ca9e6927151c6db40231bbae5720e2ebd89cfdeb00b00d3afac7ce8f1d7cddb25491aa0435845add3a35844aa953257a07fba8e20e9e1a9451502a7185431ebb300c42282d1fd2822dd8f5a89379ebd4ab6a4e8b824bb065e795b02c499d626959ea4f525ae5be7c8c06668530ef41782d0d153ec7bcab8ff6cbfb1a30f8e0835b1355be9f5fdf7b120aede048492b4e60deba504802fd32984577b1bad276c452f6c85aa3eee785431b06aabc315626a8875048522c7b50a386dc785c2a0baa80b3e9492118a424ad692ce17b35b0a607bd860642832684e7bb63b480541c5c6e685274c333dd6207cf397d3044494943bde138bcbae1863fedc60dafe9aa8b1123c6c9a7bbf98e74574949a411a95912c9a296791c9e4c5ae686a3d7feb0bdc1b73acbdf33d59412e995bd7606593b99d4df0c03570aa8e566d38ae9aadc4c4b37d7930cb3a8d5534f5706715702917e52a22e5030ee408ca04c1feea74feed6f3e9d89d3d273b7db89fb8df9c2e772dcb9d9e391f8efbf42181a4805ae6eae150606c54425eb322fde472916559c671dc4d75ebd866339120d790b40ca5974422af67e923af53aedcdd5c58367377218fb44cf596c18ee1a82a4bb32e95845ae223915cd5a57e6a5049534c9feea8248d3d52966519a5d452ca6d34a8d549309c24026ac9440651cc71dce52410294b99ec58656590d54050b967c9dd0cc776b909e0cc3dc3489209279b482019f47ceeec9144944404a6e462c65952d290abbbb8253b8b64af7e53bab388ccf62c89ba9b9f616551f330afcda0d25b160e6a9e3d960fdc617ea4c35f3e99b48c8ccfcfa096c9e1f3f38ad703bcf6effdef61f5c5c98aca332c2a10de4e6986859a9d3bca318a27f2c499674373b039bb395c86953ea3cf171d6e6e9ca5cfccc1ce2020ecf35451bcb70464af0beca40ba3e5b2dc959b6fbaf92a3777f864afd389c0cc2bde8c490db188547adf612c77eaae5925e4ac02cf63239be71ab8d75d77f3adddc8e127dbfdcae1dd9c273d55bd96ac54118619f9340f3d2aa8d413ddcd6bd59d45baa329a889b30a789e9aa26532f5049ed5f6790a8a9639f9e4b63fece2992a422df9acaada6850b9fbfae5b766cf3b9d7070374e1647e20ac81b94c32032e3188a85f10dc6e38cb4c155c802c7e0c7842a1cd1ce6528f6c55f1ca563464fa7d3e9e684516afdbaeef5d3e91c0de803bd75ec597bf54c6bdc68b7fa2963d73ab51962ed8252ba6d2776d382b8707569c01db66b1a8e949fd44aa34693b41b1bf6aa8be9e45cdcf5980a73f925b137da7f60ee0fc31e037de08e5d1abc727dc49beb746a31bde5e61a436897e9f4eabaf6ea27edc4ddccbdba5907f76a08ee550cf4a1fae956d5730dbcf2149b214ef9a6e1d05e5d4da3017da86e658957ee4aa6e1e07eb382715ce96581b1ebbaaeeb3addea978d813b5837591757b154bb6569d7cea55c15f7eb557539ecf41697ad6b38aedfa45ced3a0de8c3551d45bb41396a721c770e73988558ab767be9f4edefc43e4c03fa00f1765203b38e61983c9d1ec7e954524bbb701a6b9706dcc17a4dc4584ef2691998d365cbb0fc74334e4f65a78f0f6a5564fa70b761eceb170ccb60d817b72c8c3f8de54a948bf29a08e3f5f685cd303e8b9c8e49edc60977cfb812cf80b141515750ab3b7b5e0f2a784e1f24787240b3e2d0342b48cd8e69961a324fd94fcf129fb2ead933cc523c1da8d9673627ccd46e948ec5673fddb258652beb642feb723ae8ade3a0af5e8193cd6e59ac592230a7a0e069198cdaa25f26c5430da93024559e49664f05d45d757a2545cddcb9deced13b7bbc504f77524524a899029aa7a75755753a6d426a754a4d307fda8f6cee54165365e78e8d3fb5befa4df51376b244605e596a8b9e81f93c55046367917ea18ae28cb4999f3b2727ea75a9213c23a8d86671f0897bacecc9f6c8b065659d28b4d3cd4be0d32bcbd9cc15c1d57fd8614412b87a75b245ef0a6c327d88c7045715e6325cdd8c83a97d98eb91e14a01b58c757a6db844608e71dc9d3d3ecdc37ca6855add93856194e36eae7ec2913030c7600663ab875596fe64b3634460b85755757a6653d25071b88b23f1c94fc7300c7bf7e6e419c57024e68e6938388e3b66251198930ac6e6e464b9ea12575916f5ba73c7ba545196856a69a0dec5efe7e77c555556fe341c2bf76100ecd59726ddcd6f3db5a2b6e86e56972aea6eee340ff3408cbc6c44aa121263d87b141035ffb619d4d913679e0dc4f3b348cb683fd232dc29777a3a9d4ea7ebe093cdd5e949d675704503ee402926ddcd1e1f1d3eff4c613cd7172c2c7f1abd541055147f33a5306eae78a38a3695176528bf5ed9eb9cc552601b30f7f7665419d46e54970f58844fb7d2c12a21596c2e6194d3ab63dc4ff751e1d3310a28cecc22fd323f8fe039a9d9b3c9a0cab8b2a8bbf9972b89b6286a0f9e3fd9ccdd9ade625057ac64d2dd7c4a109e57027537cf15e96e7277f67437bfc1a0720fe7d9834f9fa7cf13377b263d5d765047d11d7ca907bef3e95c58f8fbba7381bfe184c9133d237d9af48c04ea26fa8986e2cf508b265bcc1ef844cf48229c9ea180e0159009ac022e81531c2902a1804fc0265e932d78f40cc553a367a8a2f8327bbe3e2655d8a801d3926bc553fac4990672c3cd14feda790904ff9b298c17379be627ac109e65f6e009bf72f304c233cf20959ba7109e97449956384f01513c71e607d2cd154e08e1378a074faa284ad34515d5585d97796f34a11cda0132c09e00eafba1dee3fbca283b4977488e4849c9be94105226f3be535d05eda971be0b6135fbd53435617f40c263907a4ddfaba8eef95eddd75dd16af680c1dd597caf078c0bde7bd1c2c8aafaaba40b8e319ef680813b58cbf8de6ba89d2626954388f71f888ceeeb1ebd474d5996d5a5bfaedf873c3075b8b9c822a411983aeceb3fb4cc2553dd2c715bddb19bba3f4818d329b5764069ada6aeeb704ccc19e44e143a82501cf2bbec3002263edbe892fc309994a4118ae39f2804c7275aa6bba7d22c0e5141dc2975773df600893b2943a24f3c32f3c8109b10122d7ac59fdea265201011ee22ddb5b44c6ea24ea6606853c386122355e07ebd6204d25d90b8535d4de57bcd837c049a3fd873c9b1888c4fcff414fd427d09922a9230f9b902288b202d30f59a0ce187829a297d1d7c0e6e086b8d102d34987ac914f39660ea9882c1d4a16cd8d44eec02465b06be4b2923ecd7526a2d315ec668ea0e0515be6b2a96a003246c086203110f87d9316bfdb2590776eb6a7cd94c75d07a8c4281e1afad2e812d7b43df8fda10dbb14bbbc31eabcdda109b756577d8a5a6831ebe7af56ebfecf57ac3ba59bbc4acfacbbaf9c776ec6a17a7af5bd0a2d905029e1e870e787a75407c518b1ee2779cc63979891f3a688c20b58226307c449c941d8c0f862f02899e8101440511a06c82f00161f8ae681bd90f5231831e0ac2d2eb214a18d4f759c2b820faf2f272d6fbbc7cd61dec68aa0ba4937801cf9b5f928eba124e5173a9d4322ff606840a2155047b2ef29a99407c89d8dfb5e7ae5690878607f6c020b7208f65f140f1c3248a20478620495285757590968197da0d6a10225a0f11a403d11435d844bfc4c7eb978542e02645ed671804c72664d7f812afd9d68850da44cb5c8fefbe3d4cf8a25c10960943202e8fb15d7c89a76c122235f1251e9b41cd7007ee984cb5c6b8f3228c10923a4d596a88dd919a6215aaa205389b9e159894524a58c54f77ef077a33baf8b224c914488e74f7ee53a4e77d0814b02184104a099f10d24410b893b304ce047a74970412ddb589faa41e6fee49d923ba3382d2aa081e3b84c8f1438d0d9a1afde88fd6896d4aa2843128013f2a921004d792096617dadb013e9fe0a78431f8e011ee4106a67ca8c008bf47db3bf431a8e19058be3bbef1c3539ea2208c105e0ae161c4c1284807a0d076a4e677f2ef2e356d8e3077e9608f2aa5949616118a688042f0d0870510067e4a7c80804d3e66f0a14234e1a724073dc8018fd4810d08809f921c58416100f78f9f121d80c0067e4a74508499ed60450515093f253ba8c28b2128c941109c25ee231ec0f0af871d84019bac2327b85af05372440618879f922354644a8ebc0cd3b280a72e2836e34fac4202894cda270b0c61248a5b4caa7dfa880b098564575515841b02e1863f4990e01308a1c0fd0785369e2222757273addf5e90f68268320d108daf2baf30127fe89aeed7441e9c2114c254025048080648a08690dad242ecd8f6aab0cafaa0800e9eb5b24acc57f3745a9c932a6a4064af367b9dafa2950f21c4d831c618618c0d658468782f461a5f2217042e839099555c55758c31c618638cb1e1fc01c71c3676ecc821c41462e6a0b14163838686c6460e2176d88834366260ba5f5377b1cea0f68570c182f0e64528a99c6d05aaabf768c4d078333ee10526688149b4d6ad18219db7eeb3f1d178d948a9052184114e1a3006ee1069c01de2e797884f3c2a6d7ca23b99752a59d38fba8fd262f6a3fe5c32dca1d6ab77c4d06b4d0be2c2fd4cc3817dbef7fad33eed461f1123f6b03f9514946358665956f62ecbca321edc626534a675da33a3d6b9bf496bf6e6dbe68a7572de3be6f5e390f93a4b2c5bb6d5723e677f4f1efb9bf766ece274ce2e4ee38e30c208e7bdb14ead3e8c30c26775b69182322f97f53d22ced4b0ac98def30f57230dc7fcbb37eff49b3604a96eafe5ce9e9a86a37f33aff6ac1fcbcabca67ed79ea570f6ecc4d97b56e22c06ee501dbbb4ef9595e7aad7c4bece62b309aaa0942eaca30dc3679cee97655946ad67590d1ab75f766f30f8decd3814ec798077397a789309d278147ecf3570758d6a38de6fb29bdf8f88d96de00ccadf4c81796193ce39e7a4f2f1f1d454c56b1aef6932da5c82d656b190017b2ef87617ecb9ae22300866018fc0251008c7abe14edc7a6aee303d4c4c5b88a4bb233e10cbb934aee82362abb2fa89eb99a6695a56dd2bb3ddcfb2eeec3531b37dadb51b6d59959bed5655d5e392cd56964523bac832149af892dd8c43a1d892756169b4d597c612ddc5d3c4ec7114495d533d328a38a4a1b89127e689d3ebadf70defe7d3fbe6f84476f85c03378c43970b7be2cb8bdf96bf37e3e2d77247b1256b330e057b6ae07eb481fb2c2fb89b5f15b85fbc3fd2721d7130ae9b6b400dc7cd758949f74623dd70711a5fe79e4f971b691fd1a0017dd8ee8d765210a4961737eb68f7e6ba68c01d54de5645a548f6cee05d0e516c6934ca8a888fd114842384d0058f1e3f8a996220ac8faaabd8d7b0a708f4898d63159fc018f6b21118e34815ec6e23f08d06afd30b8a2d7ae22eeba4cab22cebded16b7aab1f5db3105795c31408630bf7c81dfb397becdc6fbee12ca7dfc39bed59b05bcf6e7585c11d66b7ac11f88297d30e4fe2b457cf2ccbb26e360273dacdf16e36c2089c3d3bfc75d3310a83daa1a5ddba4bd7beb46b5ddf6ceee182b5d3b5d3aff7558e4da8210062ebdb29cb6e0f17953f6d88d3ad7b73ba766f60fcca6e0f177cba12c647bf0e351d306eb838f1baf95e692f4ec4d85f609c6dc84d2d887c1d66dcf53ec46e6602737fc135fcf5e2381173f037ebd4348b7dc1b55c30c80b0b77b867b8f3c2b240205c4b35025752bbd1728c62584f24ed56f5acb36b877133d5e2cc493be9e66bda9fa6dd966f2d771bddb2372ddffe5a329bb960eba4160cfb927eb2a4172feee97449a713e92eaef5911158bb65ab2cfb56bf65dfb22ccbb69beb9b112ef97aa67de599bdd9de580709eee182b7e71e2e38fbe859076f6f69794d6cb1f55cd679028f6eb2d9083c3adc8141a8977289b8f873510188eb4fece8b22e19bae0ec9d556b59332e664a2825ebc2bef8a21d814937671f1debac5ab8a3a4421c10c805af6ad334edba96e0b67d1204c416dc8140463df125fe75f0b027460869d48288f8ba4bcb5cafa684378b3a55c68461c7084b8894a37476db409b982f80a7ec796b74076d9e1685cc600799b69c01f604f0243b3b3b51d8984cf4559f219c4d0f7a0183570250dbc048f94c3cb8dfd25d86d12017b0d78420874d10a24ef0a1d594d1cb489fb0e3d2b23b99452fc12054c283295ce0ce53d2832b32972e7401bb64b104d87b154de0127eda0a24529e0b5ca032eee03e4c77a6bf671846413221a8e1b306a8b9c3f52501e2c1d1c6467301e7164cdfdc1e84950d3a18180863557577e34897ee624c6ceb0da7f4418597b5d12f91e6039906df575535690524eefbee6292d9c482156248c206c40094032f508a8a3146caf6c8b0a432e680c62760cf255743684ff7744ff7b44f1f69243d4527e9250d04df4b72c5f3e92af0cb320ebee4ebb29761b27bba07cb30f829b7a0b6e8aea91d59d4440989cd50e1b3f4892653ad7d17590dc920c585955a4a92ed0042d86d03210d484a29296a47890d88aaaaa2544991222bf8292922445e23fc941499022be1a7a48812322545ae804ddd41486f8061d505238e8f6429ebe62a2dc5836114dd61128aeeb09e68e52b38a43bec162cf2666010ebeebbb388d4984508292babae1ffcdec39e46518f314a29658c94cc70441787b631c91aa1ddd8d382883715451d073d7573a43eb353369b5cc4b06f50c8af803e0e41a5cd4c506d2aa0bed9886d7407bf1d00bed24ed94c65324ecd47dc32e52265b99851b72edd61d82b2f501b096a7e42f2fed01d24414cca4add6131c364cd41bd904b0bf627147fc4cb02634b74873db35b0ab01c2dd3c78eb516440cd422f69ade8e9d8cce9d5c201a9fbc1ec3300cc3300cc3b0933a9a0076ec3858960d7558a6dd23bac38ebd889689c76e44cb64774777d8b10ebb86a4fecdc022b67397e80ebb9584dad8a3c4ee0dac58604f005555551585a76eae2a1adfa7947066d5291bf0d29b2586900892aae6c4da8dea342d93ab5b37d6a5e9aeab99f59fb60339841708fd1821a314f5de9d95cc70c73374305555fd55877352f3e609a909e11b5231481a0c23a82a6a59ada3a568242dc59ba2a7607255f39308c33008ef7533bc341ca6476c3d6cbda76899f8ca3eed467c11585549a174727e2c01df48e0f57343af955fd495047370e5dec0d39602fa40dd6a6179cbcd3d4511150dae2a8a7aee61aaa87b03ad7b5d27c7aab03712ab7f6ee87f60cb664c5ad247bc3790bec2b6dfdc5360f9cba2d57ab6b66b51d7a2c196052fad67298f151167aa8a5641aa8b3335b5ba75b30eab91401fac5f19b32c0ebbc964ddecc24a27d5c5dd0bd37054bfb92e57bd88eeedd22aaed2026390821042885dab91c01d24f69a6832dd8c7495a7dc2ece64f7baae939ba42f6b9bdaa73537faa9b514d0870cb11583b11a18b38131ec4a13a6cf3d4cb9872906bbb96e1dfb27a4d6b5cb69c766accb1ea6189c7b986230566938e66fe8cd701641adcb96c2fa8661d8454dac59126b31d4fa8b6919ead92deb352d05f40162ebdd53e0a771d625b6acca72d81fae26e6854902236a7e70a21e718be86e1b410d322a37591628594c2ad6443dbbca8bcacdf1590e1a9c520188e7bd49f976d89a8e946fc7b0f9140b6f9e5066d3e29b9963425c13a3109cb353b7070d0d86cf5252ea516cfe1184b3976cce81b347a2188b5cdcae2eacc415e915a99ed83eb245130d883e428447960647a238137be24b9fd25a89fa0810aadd5cabe9ef62b2a128a110c63a6b24f148ecd14618a839f6c422f1484cd232500bdc8f4b7ae084b068de6c9298bc442eec52bb815d36c6d2c4973e8d89a1a494d5314abb2121b444e8fd41636344c7e7e5726021689194d41d9232ca214a48eab0fc883a93ca65c0963ce1042e5de30bdc71010e7cb0e7026143201b8871ce29b71433c47b233c4e4e9d479fd26e8ef658eb11f7c517cbce579bf5791ed6e7e551bdde1cfaeebe13882f92d2f779d0f78b2ff4c21b73a190f82263f7cdd91e6f4d7c91cf19bd4621520c69e78de1064da488820537a0620b3642b07c4db45e7c8e111ed6e7739e638447f5f8bed4cd814978ccf7cd813ef1455a3727ca57576ad2fab389d227de1435d4be2fbe40eefafcb3b12c77ddf7ab3f1b2d9aa765de4cca10d8e44909893a08962d04cb86024bec129214962fde3a11f1d665825e233c4e447f5e26a85b63fbc41f940e94971571c6825c02faf43cfaf411559707bc757392884f8b1da8d66f84478e112e01d9e379648f37c748f59cace3915dde1c7abbf8729dbad933cd7e3d1baeca4e04159f9d89ead4756c88c89888974b4076ea3cb25337c7c8f69c79edcf66bb3cb21cead9e52a2d3b76b9ea58a63dfbb379363a36cf26773b805847bab345c497eb993d22be5cc7ecf54a041522e9ee7a75a14f77d74583afebb407b53ac4f9055d2fe2fa73b9ee0d4c22af0085220d828ef1d2a62514c2040d2c0156a10594a1d58c15330da5b19104ce0f314c9204096941abd9d206cd0d6a7c275f1d66093a61baf80ea661848ff77da1c24b2ababb9b6aa128a485a210946329d8490a4a74223a119d38e9ca05d865dceae8aad546df955d55558db62beb91bdaeedbd1ff83dabd26874220a813b547fefb6900e8a5936f25cc7224f77d69fcd3af8bdeb68d9b35cb02edebaae91655d8aad43cbba94fa217560ac7480c55aaa300bf415e4a1362fd44c83dbd4db16ea8d3c159d803b542e1d0c14987a34e1ae0adcb7d146981e0deed6aa1b85c01de00b42627921164a431412a398118ac81379a213d189168a4262142d14854428220f45bdc6191345512bf64593adf185828f4e4427a213d1097905cf8c3c1da3c85a280a8950449ec843511a45ea2c322a8b136bc273de05ed2c70ce4e6c8d2f73ce9bb58b43e10cb3afb3b06874223a013349a318bd4adde4f9f81ff25342a18e238db2e8cd726473c5d808c3461836c2e8b19beb65196639fac97d91d28cfeba3e22d56319072b1dcb38f225fb22a6e1602737e77ab16bd865d1eae63ee9b9862c7ab00cfc9890852db2a0058624c08f095804616cc4f54622612478d2bcbdf98121864d480f27c9ca09b12861dfb06fd007fb065fb237da1fe96fb46d2791e04ba497e0711a633e222efdc037d8b57ff4ece2db65d94ee38ccab7b394482adb53ec8b2f1b76586fde3e512e4ee3d2cd14d0c9a49b611d6dd03a167007ecc2d6cdd429d7afe695a4aea4c0e2070b24b8c38f095808c16207d3c08f0958a8026323ac7ba8bb6fcda8d910bfd93e22864f0342075710fa40218a36c1b9ffec8dcd1153e8f32ed402e73e4ee3e8231e20e234a64e0d0d65942dd98a6a82d3b33fefe7fcc8cef96ab54bddfa68b32fde9c5d1c89b19b75b045a7a9665d55a1aa2a8a6a21ea5108455554e4b9224fe95567f15cdc38e3e2d54bb6c697ea66db5d9062c6a13a0b2da35716f1de5c14d559e07e74223a119d884e503a5b4f9eaea3a80a0e35553bcb1053f8aa8ad57d446c5555453ae98cbdab8a949dfe693fb1556ef088eceee24839e3111c59e7265e1c89a3644969426f8658402ca00fd5bd81ade9809f94bc193e5e8805dc21ea6c4d41610a186dfeeba121ac2034f583d6abfbe6c5a13084b3a3108094008347aa86099380da808cddbbab403f49680ea3bb09f65c32ad6055516af061025145410a5e4151d42b1254aa438772af098e879aec70a42a2046a8cd0a35539f6aa8229247fa48ea3ba42215e3b72a544ed47cfc986483d7e87ebb2fbe6016da5053ec6c7eea5f0f8d637c01c0f1f90547a0a018a94f771149f3104f829aa90f8e7f1767568686de10cb730c8e7f41a57a933db98a253dc56a47c1eea2a6534ad5d07b151111bd9510bc5550108ec73a1b8a331cfc5511c519ecd989b0ac67d67626ac639783cf26c650f454a5c564343846ec86d5fe66c4fa4650df0d1f5cf55300fa809f5809f8f9d14f0ea49e7478b9eaeeb02e67639dc7e8d6cd31029f73f2d1e1e5517348afd7b1a128aefaf5ec98e5aacc076c03477f7dbb66397ab90458d74ec4f5ed5610f0c2cba22c0e855b23613fb1dcac969b23cbcd5b0f643b90ecd72b2dba8bef629624be547b63c7e34b7c25825a11dd6aa8bb5885a0bee76a08474a515a35d13bc38e11ac183a7990c8084be800153d3c3138d28aa214a555a7f82879c14eb5257981109c1f135a51d55035d432cf084bf0028eafb46819141c4f8fb4a64300b88f5113a6a71575f8aa4f9390746634b1003694a7304ac90a5655ac22a44c7008f529810110dc98a6e6071b3984d07408006b296d8deebab51bf43b5aa6aa9e4ccdebfaf035ce60cf0e6f7a3dc46f5408a271bca63703ae640868965e8fb96a2c11031f1170bfa268f5786bd4b80b8df1d6b6b40ad403985034c5686ac9c1c3853e4915b1a259a97a3dbcbf008ba72da85cffd9707d697720780ccd6f036cbba2c28d07f51d035b14aa2b54189906bff8527760941ecaa63193952a4d0cffe0730b3c25fb14d0c1b05ba36e574a1b42cafec33a1236159c0d07ef0eeaf1cf068986dd17c038f8c7e4fde5aec2181eecb9c01f6a72340f7d0ed06c57a8ef3986d25a8536255418646fbef7de9cefbd67bd67bd7e44a81d35efa34edfcc9c73ce49cd392faf9c9731920a3e4310041a1882bf62298d1edecbeb81c6a0aa00ca4018c00e0dcf0c38c7f4744efc035de34b77cbc08fc6a026e0f5f04c48a88f8a0160087b0280e1635e0ff23d3d3d144551b007ca2e32f38284ececec60c046e6fd0069b1045e01650c4d2dd5c86c40087b1ebcd495815f7d2ff0bd4848897ee841cd5193a3a6bb1c2f097548dda6a89a1fbaeb1c39fa45b9052300b9c19f8bc431c2a09691b8df4f1380e07e07e9de0f932c720ba6643781db86560ffee0212dd3b9b927e1135ec01946811b1ec13d05ae2aeaf0a765fab08a96b1701f2e691938d4ef414d6550dfb6849aa14d07793dd0a09af2b1ac264704a0d09bd151d4491367e67b37ef72d4dfe3e52af083a5853ff8d9776150772d34849a6b10aeb5d606a265c09e0bcdac663784691918aff0c2138d4b3b693000cc10c62b847c8f5788eefa881d2da5bcf93dc7b33b7eb80387c2f2fdfcd032f25dcd81c8f783391d37673af8f1ef997d9895455c4239acbb09a152fb6466eb9b014f51547ce1f32da828bbbe4bc3e0fee1f520a5940f04f55d44ff0067538eb6027eef404421e21684fa9edf4f15af1f60f54396807357611318f62a7cf78d3011d865bd99eceec06ed075e34b5ec199ce5ca72e803773dd05bc97fe7bc91876f303da7e504b18d650e206108d3724549a980d083151da7904b43814a6ddd13720db017de82b40bebf802753bdcf802733dfb24f77c419ebbdf481267cb0e756c1ec12554dfdc05a511d4c1148d48857545457568e48af7c33ae9baec7b7d0c75b264a6f8bc4d53c917961647d3df40fa813a3e40286bd0ad3dd8330e605e98009f61215960167d303520155565455543f9515d54f05540151280688060c1b0318c2c0116201433885d78487040c0f7f208fbcb5f61b00154868c2734202de8c1783da1f80320f765c783dc80777c852049d813460f807e118f012b00bf83501c3530a79208f13f03b158660811fec820f9ef1de1870e39817d41c00fc0e1ff366b4908944c8127620e40369508218628c507386331718a7008744e10293e90c4b849800edf80899b0a3a46645ad0bcbb46d544f482e4a28292aa6b68af0fe6e105810440841b8010604c43138fe692c2cd88a7d1806c5af7ce5e61a109788ec9cfc47cac170057e4aa0c11221fcacd0a208c3a29679567c618b9639c10d350dfc69dc8e93932ee576274fb9c6ed305d01cfc6748950b934f1a5b3931361fde412913de5a2dc1d40ac67d8c5a90b2e1eda9cbc5a2e5e6e47bd029e4d3d11d0e624a7de22e24b9f21c50cf5d9d858cf9e5f10ed410f83c4191bef257e098ef199c52e58edcda24eb45c18017b02a8477c928c9e0b848d8229144bc8c6084409d281201b2328af6988f26a29cb5209e528175adb490f426cb3710b0edc46ee340f3286cd15c7189d741ea39346a39bb31de60562978893d7cb84111e2caf67e2c517989f4022ea4f7e729980b93907d66e7e41cf06e5e697641423c6a786a2c363900ec4a8ddc84e72f1186fed4685026f0cabc3332b4b36c35c736181dcb8452c8a4d54486de4e5cf8edcb618478624893331490c1b8b82d4ecade1c81e6f8e40a07cbbf010c7a2968971f9b8858cf14abb116364736058fa66b34e0fdeba541333cc85f7a6c70bc228eff18270769a9629dd1b9467d75ed9fc84621cdb6e0c9d1e8c7298950eb5ec258861e931363b0acacd124507c778f1e5c517949b2700f19663704c771a8a7d780888ed288776bb5b697423a5e790eefb295d1e35a796b60d7eb46da59b3bd2e131928e8de9ee00323a39a5344747f363ba810606496289a222824c34dd0b7a456f0806813cb0a707f2c01e38047f6010fc8148e4474860d009fcd1e0e8243bd249b935be68cf86649fcd16f4b403b0613b1094edd274a73dd36e7519326eddea4507a832aefd470362be7b66bbed2e7a6294fee24ce98f33a557193a9c83b9853ad47330974b00e92c2762747b99a81f9de532618447fde84c9c9c54b18ccb621f5fb68faa25d913132ea1bcc70bd25eec7d794d7cb1d5516c7e4cf0465b46073fad64639cd26ec4780ccb6d8f717816cb6d67b97db5dcf6ca6d1ffd9e64b10fd8068c72d25d5e9e808982d3817219c781725f772897715f773264d8ac5d87a3d8ac7dfbc33af84546e928a57b53fa8ccbb837da657c6a3ab4cb38007438002c6c03d6e100b00fa36cb7641be625fb30ca8cc3c89eeee4101d50727049beeeb697432ce3258bd358c6c33ac8b892474877f243ae3d49922524d268e4e373e4e4c45ab96d9b5c123990a5102ca59449922c7171b9376ea06e9797477ae625a9df2ebb00f5db29cbb7675d00966fb7b41b1bcc5c7e51ac029e0d900d9cbc7e03f62c871a97801396a358d8861d40481fb9dc0ddc6b4fb693ec7616fb628d6173ce766977db7dda0ded351176a59b9f10c6a11de5141e8909d77331ce6db7d7b1199dc57231ee0e2027379ddb2e9700d2eb79905ebf6d97c7e8f6e6980e756c48175b616161f97679b4dc747360d1cab9939b4638dce51e873fc7088f1b3e3a89f493f320fde4e4a46f97470e37dd1cd373b88de4e618e1e172d2cd6997e3e07273bae7de9b236fb83d2cb7b6e59c5da967398f7a96fbfaedf2b06fb9395d443ae9de9bd3416739cbcd31c283e5a39bd32cb7a87b68e5a3db3fdc7f6004790f0c9e23f9193df7d08ba0d39f0d49daacc420f1451e860d82e55f9c6e0eb4a937ca67d3629f0d373a29e50cafcf3188ca53ce7299c831a280679372152652fe6c5680a87c03d026e5356db231e8e4e64424f1459ef45a6f8e111eb5dea01c233c481fdd1c243946788c4eba39b1e739f69472fcf9b3a977746b7c29fdd990545e7cd1d1c19acd2f086b7f5a4c77da516ceef18262ba2bd174572ad98ad29b83b50d238d4ee2c8a698a1d68f721cd2b1d1b1a956c78664a1cd49bd2fbebc26183ea03e2404a1073f2b9c20245ff1b3c20940f85ad7ec95af8bd38f723a207525d08f139df843ea60548d2bb0e7422b7dfc753d09961fd10124ba8bf1ba2cebd775f5a0c1960468f0756faa5b030824ba1bd24121dcc5197a0412d0c69d216ed49a8eb4aaaeebbaaeeb7a657bd0dc5c774777f13cba8b230ed4fc7e7ad0c4f8fcae783252c9e3658121ceebe161f896e0877317e1d106aaf509fcb976717433bd4c54d6c1a15aa6679e0d904505ecb94ce9525d2b2b97ee767f383fbac44e429ca926757a4362d775c9cba2afbe978ae5f5b104967fb17d589086a823a354823d973ff98e408418ecd8e4c82bff235241083e36f23a363b78e84cf15b228522fc9ea329bd79bed2605029fb8311ddf58eeeba81f8a1bb7ed13165958026139009c80404f4c314281670732101efa50f773016b3e8d25d3575d7fdb41d6f06909a4d40d41770bf46f51e05f4765014357774e9f4881d2de3051ad29202ed882ffdcc64e55f355dda274f970fcfbf1bb2622921d4564ca6156aae58db4dc01de4bb45605ab9c99a4c5fb15907afac5ca7a6a7e9d3fa80d8d4420463acc24e159644229bfc4c09c1fd3763cf4ecbb48d5b600904e74824a594da01b633548ec795432fc783fec0e1f4e6d42f047d20894dce8f1da4a064c78725e820890d7dce0f2c06500862633de707e9093114d9e0708d9cfe238bc1922136f43a363a36d7953a36520e21d13cf4a93da279e87b2851505030982181848b177208269b37298721ad3c753529330d964760686f46877118c74656c27b333a8cd7b4e4e6e129202d239f923120c15d719f0a420989334022100f143d03245b120405dca7a2e8994705a2b7e40a2d2694442d93db27bf218e66b149dca2ff5ec8235a86d3210f0fef1130584a495b06daefb045d8e707c4430ec509a1a52da849c81773120101c64717bb49f9e899cdf0002a2a1bc76d36e35078f40c6208c408c6532c84712ee53f7549d458e4723c1c8fe3e1a8721d9ca2bd85e02caf83a7c5c11287c2292c76e514677a6b3760dce8138fc49e88e4cde84b2daedd9654492487baebfc865edc70737d71970b4d2e8260b22508a5b59a4c87b0f634ac50bed45a6b8512f6bc192d31af07f816192d2d2df007b8df3b71a68be24b9fd66afabb68a745c613193184796e8ae7cde877519ce93a93a9a84f5f50e78c22003cc71e2235bebcdf8cbe1cea9379338abea0eaf02c872415b7a7a525156f465f0e9171d223917633a5e2cda696cf964b202296b725e6cd6879cb6be2b50f03c0662b5b3072280700e7482495c8b03900b8a508b7d000b7dc5e1c6b8b6839246a19f996c3263cf8b58cdc4011a618899679f8148091cd3478f446d232f5f6378d8a134e2b9bc8a2534e6726538c26bbf2a74599f2945373ce39292ae56688270e1445e13063cb29e50d5913a795a7acd46e4893cd3a2b8fd6f46e6265e592c8a28698628c9385dedcc364d938730e739e9b1207db92b245285b2e77536e36a9e4f6d12cd51905446278a99db845175dd9a4bb6e02faf03094591265ed42792c00c131f06382d01518d3b2150b2387c77896973c18e6eec1f0e65f7637c67dfd92f24c73b8385c3974dd17b7e5125595abf2d7250c570eaf72838b94cbc2c2c2f27a39949272c3cdcd8353eed24370cab348d43d38e5e6a117972863f98bb7dc1e269cc2fdc5cd7e71289cc2bdc6b73c6a386ee6254eb9375ccae7b3ad6513d222803eb0dc9bed294f89dfeecd3c8587a0f09477e5661d2c89301401dc011ec6a1355dc5662a0886f1956b218772e029638ce94183a70468b0b49a94526a1d163359d4323d2df37010a1f7f5cb0d4fb94427eae9d79dcb6bdac5bef80d36d3aec51ef83a62524aeb62334cec895df79b4cb5c679792591264d87f1c266aa872a5252b1f938f750cb645a10c9262d9399de22307d6a374cb7ab24da4e51304e9c49453ec229a184124a28610ebc7dda87e55c496979f118636db9dcbf724d37c7c4c4cb6b6fa83c7a0649b049779d9dca0a4b7b72aadd38b9e9614c6699ed51066afdcab95884add85f5a8857606496dfdbd35b1b62e55c84d0ca39ff62e5927ab45b94a61c9c769553f1394c37e7c801e74b52f6a089a7c13d6828add564fabb4e4e4d0896c74bcaa6a4c145d4224bfc767bd0b8f8d38660617964912f9ec1f83c9dce62657730b2c4a79b5b562e39cee61f78c542b9b2f249c988a176801c0fb99b99a024948fd4cd2d2bf22b6f59f90abc6c91361645a2d824a6a4a4a45cc5e61c58e5f2856c912c52ca1ec7b44b0b29855d4703e5b9138cdba1787b33c5148cfbe2b6dc6ce22ecb8d77450ee5189aa6a2a6232545c5e6ec9abd49b991f2686bc4c4c0c0749d8b4b0b962da6abdea824cd95a5454c99a211010008001314000030140c074442a1583024194729f714800d9aa84c76529a66498c524c21630c2104600400000000226ca00085a414e1c5753ff0e3878b198fff8226f6e35584136148a2863d52461600aa84f651082fef466e66701fbf724033279203f697db3ca6fba6396e14a5edee80d3bbbe971b9aee1b3e067db9c7fb120ada49ba7468f52c1dd32ded840ae5d904a707dc990f3089b5fc51f4f32077b4f812978498c50f7033f4a4d0d6891bf5946dd3cf3cd7435aa3820cb72590f7ab87d58beb554501a032238d2d33c802affa4b6ff2ae9a22f9c72cb4f2e07b9733d364b090e6ca1df7dcd47bea00e4da1e84e52279f832f15b5e5f601af6cf46a33fdc3b674d5747adf2a24b5849dda88c96905e1d6a264e972217546c154f87f012e8682b2eca19d272abe543c23e6cc7dfc5580e33dd779e2c3402eacc6ae83c830293e23cf353579884d38abc75a88b60db30430d5026ba4fba02a5af793abe80b721230712c397545abaf3b54cc0b9efc092d2bbf23cd53a7ed22a6ca794761d0bbaa0165b304742436f36d42115c7ec62b69eaf72be7eae95e3e9f6bc96e3cbf5edc67a8ea2292bec0eee251303757c058388a72cb9dda42d82c74d61602230effe6233b1783eaa43737577886cbecea4321820d09c2d74ea1a2c4630e88f5a5421643ba65124bb2b87ea6c1566464421311e5c46ba7d7b1d11c12c8a47c7964c1118178217d24483bf4678b273df5c53250e6b5b8d8ebb2cf8355a8b30870bc34ee8d19ee39fa987738615b5e8633be39cba901813bbf888dc5ab2beff85953d7e5d3eab88edc8417c0ee4925b61cbb24198203625990501b23f37260114d3de7eb9909f72eb8adef047997b553c0f268acf50a66fa16084445f0a2d7d10043fd647a5bb85e8071209481c386777f8e4b75d8e21c19b4a1e843b87b6d456b30a2e2295e823042caa9c7966475e45c35f9d2dcde81df5c42383865825b178942e002f1e8603203a53dbd1be7cc1755726d232d603e6710b3599f17d6c82c4c1a1f6528d1a3b17a9a63727c765189140701cfa9704bd75df1341fbd3edec3ea66c606eafcbb75b9ce55162c734fe8071cb8292bd616bd782089d020b4d3d1d43f63e36f261268e33aa541aa0b82edb4009135657115d21dc7d3e6706c3656806c1ff956724e64611e54102dd3b15b066548e97c41508eb785b59b66f39d33ab1e5f24cdb029a67e2a209a7fceedea4c9ed4eb3095253ed68d19a6a2a27d02e4eef79ed839c2bc7e6b4329bd8b529565356be5084773ea50668d32c7d5b7ddd6db628dcb451dd3ce2afd47e52cdc13902c770000856da3972b1d6fc204746efed2b684a29a4645d080472700ca637d5b3b231f9225a762eca2261d9ccf3e04ab6257d4b0442539dbdb20591ef49722d41131fbb01ed25129a16649aef4a9851aecdcd488603255d6ca981d1b9c7d01ed1d2d6335f54651e4a2af87cc5999ea712799ead4c5175f8133fdc5990dd64ffcd4066fdf3d97fa85fbfe66f32281096f1990d3fcac3ec083d3bb32afaf5c3436b0cdb0e3b6ea27d522268cf4e0ccd4695f30117d4088b8d865dfb6c4d1897399d64ad619c3794e88976c6b3b4c8fe9a5543aa0dbf2310bf8000d24a8de732fa5a1ae1c7e9935686a75a10b5c86a9725a121c9788ab212c28aa5a5537c2885246f87e25c36f4489d0f6cb0a0149bd32a73b9a28eb61ac3099e949a81a124c0b7f88639c4cacac4c720d6118cd8f2513453568f66d0945cca578e8b1b5435bf4500b652794768b09e64b566c890a4fcad118afe6d23f1919ded8d450541b1806bf1311208c32f2a04a391613bf6b78b8f173394e103fd3e71c1781690a362fc1b5f8100709f8bd82176f5ce21c89fbd825b6365b7251e67872193cb40101ff215ef3c7cc668a6b06424dbf289affb2b2deaa2210ae7c189ce9d4b7594fee43dcc3c4e0905c8888c9c60601aa302b1289c406839e9c962d169ad4dd6f86bce3bf3ac298d6e035e88586beb1ed2745a874b9055fef10384c55f0a1fbec6b467cf75e332c6675a4e5c0b7deca897a22ce2bd66ba9306dab908f8c109e199801098287cac98e5727e759bcb97ffd97f8addd1840e5252e7c5b4a10ca3d8e69099dbdea39fa37e507783ac2a000cf66c4a80d9b912719ae4edf35b1db0b141eea32f8244c02a186032b79839476edc568a0883af27c1b07881cb1ce8bdf98bea0bda642541fe351ddf8b15543f95e7a2c74c50be0f6b267f270e81e71b2fa294a8f084d1894927f6132083417824185a8535bc8dbfeb88e01341dd7984cb0b68e43e1d0aba1976d4c0cc1d506249b2f76744d164dc56d281063f30acd0a2822a61b8afeefe3a46a22e0b0d970708218f5246cec5db6d207190a2c80a5a156c515d4a6ad12f0f123f2597751e9074b36141dd884e8fb46eb313eb5856da2c627e5adc0d458c60aa92d0c1ba772e362a8111a9f072a43fde358b56f15e85ef9a5b9fae5781cae51431d51c9f934c75feffbd76bc4318021146559ada0a69bcf4e917bd7f713f1795005bb2fa781eca70e75b81412929041ac3fe6c172c23711f46abfd5a95867aa72cad788b4d793154bbb9f52087a31e0e8b29be26114b63ed61ad64e1cd51855627e4f376c5beeef17d3f1ca84d97ec9c4bbfe067af02fb2499a2c9fac6f21261d33e97eca2e333b6a2763371405fbf6890e5864b495f32e1a20ddcf5b554e2886977c049029d59300147b12578843cd5d918e3ef19d009cb1dc33c9553b0f92441d253006dc40a59041428797213f6146ad3d049d41ff3910c862abc08a2898e14b4183b102824e37cad2aa1d284560bd95aea94afbf17a504dc8cb13f0eaf48698386fe691f96926058fb5448771e7041adf25995c63f37c92a3efb6c800ab6f5561ec4f94cf5602a235061e9581e0815a6b59c6615db3acc9fac5098501b33168887be23b77f01834c4d52f6b7e1dba680b13908efac4cb293bf87f4081e18e8daa9d58655b20c40f5052679a8b77c6d358f3280b2d83b00bcf0938467896e015cf74ae4aa1e950938ed82971fe62df3195267e0447f127f3c61f96058ae5c3c02a78f455fcb8819878306770c94485e12c2d0d66087fa14667db25ce7eb6c95f830142ac9642314372beb00d48f091880d1e12590f62a7e8fb93faacaafb6639e3c16f40c82b2f3d6d0b5175471e304c34249b8661303ab1e17e151de04f5f5bef97348182d2f130f89281d2c0aa2ee7e029762df08bc1b59812705dfc13799e93032c7aaa6294dc510a5669014406288938234aa6310c04211509537ee3ce0735fe11fa069f538743c69e2fafb93405020276a4a19ae8569d64f0385d562043b5852940e60f64781a406f612288c47d4958719d2d6f0ec3e1ef36ca3af3c0d86e553cbb0c004b2c78435105558b589d455ba7d7a6b7152569b027898605409049a34aec8f537278ea70b3049c212c67dd39e2ec0ec6022e26ff0a8028a158e72fd3750566951bb44579f8674b87f2f3c35754d2107ffc6a9cb94afef5e0574b9f0ff075df69a53aaa65a9f0333deee97043b0e4b9d0a6f61ab664fd7509c1422e76f6c3fc31bbd331363266a5a9a18808e5a29c2f2a0b00945a140c07c4ef835036aa64a3f530c6b57bbd9350182cecee3db649b84d4080f9fda65cebfcac444265c23e7e137ba3fae737560e5bf7c133638a40f2c49409730be072d50ff835c5e096b78f9d77380c79a29ca1e0fedf62cf44bd21e38c69895deba0d47da329cf35c1d30e9890798f0b575ead08a1a3ad9252aa63aabaaa830dd91a18311840adf860b501fa617b755b3a1b5850fc546def227a05493e19dd5d6e41929f1f62861c14e7cf58503f7f488af7d21d4824e50c195a60ea0ccced0d244432aa2e8df2ee7d942b0bc0bb11469421ccc7c0d32c99006d84e8ebc434637751da4c50cdd98830ce8b7c8c325b290eac0b101c839b2aedd201399d6e82c3642ac18c6a38f8ae2168ec9e80b7a6535ac409ee78c6af7b3dbcbd7e8380180ac46a3e8823acc680937fdc7cec8e5ff39b422dde67d6534369b1256479992f756f913e9d6a9bec51bbff4574a7d6f7155e9a1639d39c96f31ccde3d2ab1716989ce7c375319e24d052a0809dbd4724bbecf1c73510e550240ee15a6373f273cef480755b5f26dd4d73a6ec200948557947b22475d910d40fb45d02bffae065885401357bf849340f95d93fb79f706f6ca574b4a912bbaa3e59998c02e10256d9275b015edf15e27fbc5ebe22ca69f8b8976143b2b9eb860a1a6b479161ef78d5cfb30cf343d722cbd50f99afaff64171e06c5e04fcf23fac2c37936c903bf658176d6341419107fe2a4a32cf9ef07f72b60dd2eb1a1cb2288f75fff44812dcea1ba18359847ce302eda14c17c141d7cddb4858a34aa69431177a8bf05fc02772b28917ba978d2db0383f42a5a3b8979e79d0e5bcec613b802231ab932175975c35f588bc7d00fb37203e77d12a0740949836fd25e826c8a436ac3f70691a59f88d6d653baa925dbc1fbb74efca1dcea52793420750313c9d66c40e9e97830d88f5547de38d0ee6eb6d27033409c5f60af511ab7c2009313123a94f47924f8529cee706dd0303b23b8bc0ee17a74cde2bfb2ac223989a84bf878177ab28231278d35943e20db8811446a32b36e290a003b5fae48974ec592e941ef4b0f135560b078ba320693b82b3b61cdd0e529a581471f107d00b2b33e2fb90153d35b1176edadd23ece6bcc358c4284ee95470f51502efa532e43e1218b920125f08167fab8884b6065c22309e2d17cb94d863f4b746cf794bf1b2752b43c17584c4f3716567e217669529848cb88986ab99669b67687eed29ea467cb6b63642760da776105763dd581cb674290801e4873fafc2ec52ccfb93bd1f7ed06379e3481c58b42289401f764ed31ae68a3790f71f1255466b36270e32462be8482564ce4eb138392063c4cac4df31314a2f83b8f685662f59685d915e59281c76d11d0ca29a2ed37170f22daedc283b05c1a1a1eb030f47430ab2512d08286f219f341d6e4075a5d1437cdfeab84a19750069b1c4ffcc9c1e53808ffc9a2f40b750eea5683286391bfacd4334d8a08fd36c3e13797b5a14f9d86d963f8c5809dd6dd5f5935a8107ba4602694a66af58c0c9592f91281b4c108d84259753eea51394b6af095c19053f490ef5ffe1359a6cfba2917c23d1b66bac14833dba0d8012c7904b1c279cc36d2730b2f3a2d8f452831af4cff21881c407fd3a7d1918c8caeda2693682a906070bbfe2a76bdc77c36fa5b53984f1c5967ae9133fc5adcac4c23662ca4b18cd0f223ec43e5ef0a1d24834d5f60962e0a06008834fc25053bac8fc1e4df8cd3ebfcdec531d918474712ccab52809dcc8737c5a1eec75a084f7ec211cca3c7226d7280bf325a381ea01548baa082c6daa4b71b8136904d30974ab672fef203e8051842a0c369ea26bc252f202d03ceb0dc8c8108f6526ac72f9b6ab73b753ac46a76a16c17dd1485587199b258a310064a7ae31b06ce0f6a164ab01f1ca6d3e707096253ceb4ccf2cd8f0ae531c89d5627bfb8a19fef109608d721d947d8cc0b4686399b6994c634601f13caa4ac6867bf2f77ce7a878577d52676f940eebd280ce1ad56e2d9997083add99df42462cb103c046365bca2ded111061f228ae52cd3e5cd994e9a4ae244f26a3c05a7d9fe249dc0bc81e297c042e08d861b0120f7825b9780bb9d9c9d04140559375d6b49d63cb3a7a073be14758057b840bd7aca21de32c1384062369644551d6f167a0683eb5340b967988826b02d0436e40191e86e60c915c560d6f1a116eb380caf9c2174ad21f20c4ecce5773b07ba480b925c48440720fa3d6c7112f7ccc51dd7eb7b34b05cd9d8c4f5cb1601dfbac0388f058582385fae72f92ce5a0fdd30d1b28fec16a9966b4c0d67f0a122f6424fe0ca683d7aecd74a35a13c0deb72231a7ffa560dfab027c59f5d0671864d9f15a17b8b50daa4ef60ef195356dd6709cb01acf0f3074b183846d052078c501a1420856c070ea70f32e8ede7e4f7bdb9ac670bc9f018585969e0fba73f0ff904a4d2c8926322603bfd23af5ec27706e37dd34f8999eaf2eae0c17e6f112a008e80c464066b645913b15ed026b2d9ab770cb3c73723c607d193846416071036be04413d489bde3201e643d2baf387db4ad6665401489bffaaf7f27a8531286e725cda4775cf9b3443b141ba5ead718071a489cdba6d2591e5c8b214ead3137e45e51c8fd5e51358bfbfe8a0a894f7eadf7bc466e949a2750c8ea960a6daa2c6842b4aa799071930c6d505cb2420a1fc286693ebf087a2d2ceb3c8836e67260a508c8fa839a8fdbc4971178684ff22fde3401a18522d4921e25c040563f9c73f9448d9ff987a2b1629b6ecf38eb3f5b7f5b519e6649f03746b90e1bde68c40f532164711b3cd38799bf77d30e7319e72fbc64ef1268c519c1243a21ea162a04f4bc76068455c4e8417cff4906c242f955c230110c7ee96d2e429ab983a2235a3c91b7d6223f050f2c05c88da01d1e47ea56606a814cb7fd96608f1e1f7f89710aaacb0582678f9788ff2e60af9b29b53b3628ece1805d703132fde7719a2775e9b57d770dae4e0f312e472f214f3bba110071ef1f01c2d55a9dccee4707d4dc6bc768431f9fbc5d1318140eb6987ed31ca61f083845f0df082bca8a42e4799213928c9b173138f90fa5dc9b892421f5fc903b74f91e2d78a4efd1cd0e53f5211d2d8059ed508b087ec4b3245d63de0064278a30037cc64428ae2f8a9fe097e9b54678f633732b64021d37b7721522e212e38fe88e6ebb7e2ec58a135a2d20a360be9e1b233148cc9a6d1e4a2887fc12194cd463e30fec70d2833e491803e57ce06a0d6bded46e825bd39b356e1cea6d08b2cde39a22630a89943ff3ff679d9f17ef26614416ec3f0183c52d75c6ec831b46174f52f81c288f3b529c20824fd0c0e78994d75c191591bc3005c69e5a9b1300e10f2b9457dcb1e9f1391c39c4328b5c4ace5532812899a46fbb9b60705bbd39f075429af1bdd2287baee4972a025174fd4b76f3cfe968418ba1570df7bf9e1ba28e99fc8e94996250b0de7d944076dd4b26914a3958083e538a1841a12b1a875e74e8dd4744cc2da87659850989ae75f169cece9b8944e6790a46668676359c34c8b4d71f66e39fcf987f24050df702a354668f5f71b3af436193e466992e6fe8452f2110612bbfe5bb80ea97985e5cb8e8091086740a3fff9146ecd73cd7086c6970566232f4f5509fd6be1c79b537d0b92525d3395571a813552df8125bc23df8bdad92f20e48f63bbfc7437f3b027a36b2042ed81d237e85301f5ce10e387e34c60db0015b29c193570d7797bc8bb4de5035edd381930ce82ad0f6b7e16561ed45632c196148a82201ed5226c57a43b01ac100aaea0a649a6683de317bc54adf8a85701b145b2ef7fd854fefbdd7cadbf4530bee029a8b66b7c7d6886b7801c6422d06afe05fc8ae0a0660d3701913cdf963bc838ae6f08e9e4c6920a51a0e0a0f1499994a87c15022262ffae8b62179ceac2e652f02db21041a1054cb37440d301b0a14cbdb4e2e171163ecb8d8c99d77207a6bc060cb8e86a9d482530b3305cd9a1e8b1d20d107cb88c10814ba864932311b922d98e3e8d222aa03662bf1edd05e1187d9eca3144d180564ae1728e4059e8072fd5b31f5f7447814b105f92bca1d641d8bcb63d2f7337bf09513fa6a2549dc8bc1df4c12acf57373fb3ec48094cfcf98a2b658543adf1dfdce341cbcc95bc0927c475dd591168d2d97f7bb39c18d833883f9fe2121c956d79853ee2e31c17cdf7ecc9fefa7d4cff0272d958c1f3e42e2126c93b8c00698426eb5950d1172d3df560d381d1616dedb14bce8d097b3aeaaa32f01f181f796f43780bece1b7c93f5f143ee7d4bd49bdab7ab0a0b4f6eacd6a961ecea7badc9d0eabd9f99c4e075859abdfcc43c3224377fd262c893a59d5781bd2741af251316c2dafa731bfbb6ecfda9744380bef405740b09477b031fe2adf7b551a0215dde94d42b7b83b1008da020621a808bf584b11ef53e9d40948ebb7a62634bf5495556a9d010e4469bded644242403885f57e3af33c7f4967698e1c75bad75842043e3da07a40ba0edbba61677b754eeea3a1a38684c3ad14cea6dab8571a37670f48914fb285a696f17d2fa555b0c161a8a3abb355dd934d24183722dd46cce28b3f02bd004168f569b5c9af2ccb7a0673ab4d17e9e5a21ff8e55ec90f895bcf870a6fa1ad577b251a3c645e9f8bc24b589267b7a3bb6a360736bc3676c64d982bd67086c49307f7dd6faba6356227cc8e892a14405d20e7686b4cbcb11922cbf637a5c34cb2bdab477bd3187023e3124c6686ea62313bd0bc78dab37a85709ccc751cec15d52c11e014fb5b34840d77db790c473b72951fb9ebbe794a10a632268f778be6d6d0881a51d758d71a28d41937362534a0f2a5aa8023d9d7fadeda45640a7f9596e266c7124d310abe03dc6ce52c5dcf26db4de8df1b0254347c5f038b46540527211017100ce7d947882e8b224c84b7a6101f4c95fba582ac2d392b0f6e6e56ea9c0291804b63eca22a089d06d8f46d8a142418fa1adb82d751cfc7e39678a6f394fb7476f41dee1d60dc9dbec67b983209881585ac07ce6249862258c1a0c377a2371f0b912f1f833d4e4b2dc008d108173360ab63489f826755942b6d096d367f8da5fdc2c8f1f86bc0cd00bdc8c5d7eed2fb743f17f8372335feb40b8e261a1dd5ff46057a68af188af7b43caa3be7cbb54fb813fd8a35b5bc0e242b7bee57d1e924b0c899bd891e82504f66b98a507791077a7d014ae61dc4457861f4d736a52f65d3ccd44211b2b2f71a5ca013062bef182dbff74e1e93f1c73c9865bd303ed9740a42788a69622b3bd52932385d826b5a1a16fecb61215cb573796496216f4437e534cd2fb2d8c93755f20e36e2595fa0a9364983c9b71525dc53b5b0193d4f0cefeab4d8db93fe116fc13eaeb4d475c0be426d017d7dc993e897033f4f38598b2f6daee89121d323e2e67f23159a2c9a9f15ae5de1013e27891f9db003893bcf11e8839de44cc0ddda24a52e8f80dda4d5dada66293615792f21e2bf09f389ad3f4200b83a85d7eb27c7367a888cd8cc9f5470a02ffbf3eab5493831f5e28d77a2c7ea2004d87cce082f2d16479e6ae03ffa7002dde1a3a4cd0b4cdabe5916affa440211efea4bac08f5bfd2e3bf13b553562d358e1e19f7d92ebebcbf611b0ae856c5ef4967faa3a89929375f487a8f4921e09af871edf0e021a812398fa6c8fc6fbed8bcd62e8867b81c29a62e8b46f16bb97ba3869120dcfb571d3267ecba2128753393b212d0459c0ce2b1987c5081eeba4a8a082e811bac53045ee1ad47fbfd45c96cea547d6941d79734f2d26afbb5c78ca5b10be6abf2ee1492f9fc38a307492aaa8b99c0c57ed71423fc41224103d193fc4c0a43c69b20b0bacfa7a8f4c02161e11957b499293e5232adbf294ccfb80eb2aedd88d9e8481f7579ec8291ceeadc58924c6b5a96d878fbe1d92f226943a69b0bd5114a8b5a8508737353458ba19822faf542688d6f9169b709180ca6a7bda5b5c67d7449bdb1ffb304c52a687f72999bcd2404c32a2eca03bc2c71ebfd7acfcf039e21215fa7fb64005dfcca39b9c3cda5e3c80975a023d82f84238b5a0f3c262929e02ab5ff390c21dae603773379f40a89bd531845d6f4e26e61797e2a2245daf25f37dd4c9e4c0ed21ed23d2c94e55af059884aacea6481e82582e8e99760e8b1077ee87a66dbf309862beafaf6fb67271a2c99f7efa52706d6d5e67de1eabbd0855f1b3cd6cf31edc9c7a75b725519f86edd4ce753de3471c251465fa8ae15b6e16a02eb89ed0e73c423c88a057833b470330a23f0021645618e432b9ec674d6a8ea58678ca4551548c0c01f1e502d7c5c324e61485b0b40605a3719962de4b94a65d167b9ab28fccad0b8b51fedfb01ad0d6ed5c584336ced7441df812d6e4802f767d2c618abd37c179f7477f0676d3e35e5070ba66a6957b18fbd1df09bc06a92f9c49edd6487a67255a3cf5783e01d80a4f04dd9d26fa0d961e263f8e8b2b2c752bf9522a07d286a5adf700de56e5bc37bc22ba58d8b595019662257a1b4a25234b396bec86d22f8e9c5fb7b2c0b0b79def082cc6aa61e02110f375e2d08412e06923282254d1c7b9e1cd40041a00f85104ccaed12add0e85e4bef709835ac40744c2082eed23e1c04a0ae2e5280a25588663f8f8e5aae73c61c45b4e9e49d561240de1837f9c7a4dbf37c0e72ff17f4ce73cfb04028f34788a0f3077d88afc65621f7721c508192201855445a453a4f8615df13905026880445a54c9e70e28e2f7d21da8ffd8ff602ed5c0a884818116c9606106e0b9fc118810c336f24022be437234c638fe43c60b004ec10f1d9f8fceb14389429f5a4b808ff5e39086e6014a31100b29d71fb355cb4af00707b5a0bec8671b1415213a3a7db5acb761a8dcb76a5a54733b15b33a18189ea4103042c38db7c007479d9e52adf5edca5560e48dd6501090efd84e46a1bd5e0815fa9188893a01292c0a4b800769a74f23a9cca2787ca9a69a80ea1bed4d105baa914ecd8907842fa54469a8c5ad0ad6a827f15beb6f8a1870c272a601ad7457e55e67a65498cd15209c24a21f57536e1c6377580def9f72a9ebf93df62b86c4670c57965c83411b1e6c4a0f2a39f0f0a453cc6c37c5a1454e929636b757d2fe6086735d9e423c9616ca271568feb29dfb85283cd6868f0d3f305b792af3bb63cb6cc396ea0d07c1560185de86c36864c9cb210e817330d38591cf5230e3c4039c5d217b4ff1671ff90927adddd5868fcb5d9d7192a6eac5f1ab5fb13eb5e30d11ace3e1765f73217b6d68340b0aea1615a322d988ca95df4af8bb9388b4f5f7e3d03f91c7422ea49f302c3c3b376844ce830f56af990e9e57e8c99b3a47b8fca43454a926b48833c3b0ec15df2c43d6492b2a4a84fa117150e74364dbd38a8b38484cb11e472facac456ea98862cc5e968f6c60280d02b151d6c0e5970a1c6341a7156ba1b30707bc41732d5c645178f36276c4618a7a2e25392c7cfe1cc907308242279443a49c161b3a43a422d63607e6083aab0a88f8c340b057a31c279409308889c5990095468408c03f36dcc033c31fbf903945010775e3cff7755743a9e1664ebb8511196524fcdc83667afa271003cf85e7cc66e3a60cfababc6ba11b22f0363234be3ad5d3df988665c21b470227e49cf20b2b7acd2728163872d01ac66242d2909d53d8c93601df48f7674f209be58c0f130799530f4da41330f33f786afced2ed73c443ae95cead4954184f1229c5b55dea3ba4ad1489aa8c5015ed21e4f403eb0f0900149be403339e0a6045ecced78821632e2dabc34e52a98f220253de37bd09ccccf1b89026e084334cc625c70a16a61d26e41426632d9777e8b4039e0ed1e70146ad90377e24cd31b39a3b9dd203f65944cd3b78546356057e74380f1c2223ba78f58732c1e222e72a25d6fa83643220c19ed2fd5d43fab695d421129b989f4b40341c9e67fd2c6d828b436c8a1d68ca311f46bb318d5a6cf0d041e8e24e6863a532059b0a6a25453884f403e822636421372d503050806f2149572ae585ad7779f59b2a86a312a31cd1d9eeb75cadccdde7c7e66279bd355073cbc7e3b8a8857aaab980c0b1984787058f34e1173210c513dda4ab7eeb355a346d9dbb574da1afc7e7f11f6caefc787e5777e6b10469f5954ca3185de05ce1f8c5f6e440f99bc30b33f0b94b1f14a63ec3107c721dfee1dd8c5dfe3fcea0e408c400ff67293a7e398b2c75e7e32cc3d528ade11f0d5a84133e65106b00955faf058849e8aaa7dedcf4bf21d0d8bc81c9920dccad828e5a8b93a07d1e153c431318b6dcc169baf4809873c9508839b246ec20d09356b91465c82f80f9bd9c7631a0e0a66e4649138267439c483b3e1af5c2d12a7c91fbd29d7ee40a35e9520696112359776186b454c21a789cda79841cc3fc713b254283ff5bee2ba8188fb4d776cf6036b1de90ee384f8bf5abd6c3a298f6a4afcb84ece3d550f6fc6dfc46f7edef65d1a2226e27da4cb77c898d65ba1c9eaad38f844e7f5ec2e7ca51db793e72fe2a319aef43a3e08566465ecaba02da15fa0b61c0218c714b2f4e10d0dc19369f54b7402e5a5aeae67fcf5b79d1c8ba099e287e2c194c181c51ffcaf385fe16feadeb0aefdbb904456ff5fcb8ed3f47beb99e53649bec6e836a7ce5e8a88c6cf9dcb32e283be83d8283010c07aa23dce69a225154c33bc85ec0302613f669d2189d3028ff50a3951cedf24dc6b7d5b2845d6aee25ce31e821f9768f2b828a0a78ac4a126d9ca2ff87308ce86bc83621725b0abf4593f3afc58483b87ad6e9903ea9a7c64a8a2810ce76f29f8d4c32fcae0786aaf1f42e43470060381982867eb52ea6726ee5c6d3e7e04d203422959b7ab7f9074128a008a79382854354c3c820b9c74eda0d9b69765611d35250e8918a5ffe58fb4131326ec8c54209e8710d3bdf127002011ac757a6271bdd9c1bd9c3a4fae6cb722e3c5ec16bc8a82acf56e2435fee54603881d5ec48e9aa5d985148c6baa5b4f251c3545ff6f810c6c5c3810b8863e5d49bc9f16054018eae233b9d8ded82b46a2ff70f24a00417e10c310abdba131ebed7d8cf81268542836713a0517d53d02335d57768d9cee8b108b9bc28ddb55e4ec90704f99784af3e45f5d59d39bfe7f4f8563eb42929c282f78d392c1e35329ebeb6056cecc655c95038fafad81ceef375a25036413b7ec818f4f55299b25b415a4c2e856af48119d0dbd319a3c7f4409488ddeda64d71bf6aff40de503299faa26fd66c2fe38d27f24cd7c835068ec96b34ac249165ab5655434425c250eb740519a46ecfcff3c844c7deb432fb67cb24a272fa35671446205a80b0cb2c9c94b6960100653e538f3d8cdfddf45cf38c4f5c52600cd6ee1d8a178ed7be92302c165098195dd4cb5e13e83c79f84ef55b35a09fe5459fe085d6b92b9aed54f09ec36d37a75835e64004bf0bf558b1e7ed761e31f09fdb67fc8629b0a7e37836c6dc96bf49966a1efbaa9bae166471e4ca6b7bc1e53653837acba793577131ab694e879827400e83e5a1f557b20b4d82a0ffc71cfc0bd7242f81b66913a0c03a92281664577cbdc07dfa19ddecd5173fd5ee20d6cb52af41d4520564614e7a4e60af785893c4efba7e6c0abef8c761d936790adb595b3c1d07023b0ce377233ce289ea2306dd2610f6429e88b4bf89e3e05a04fb233c57f732def3b9b49c0db4cffbd2ea632a01aa74dee6e1d35124baf088f1e88419690c46eba103f1ee50676e841e0ab3b74a8621ae26d0b0373d4f975d2e405af7b95c90ae9609efb54962e9706d5bccb782ba40f1e4dcdd2d499dc8e2c5d7d9e16806be2b97eb1751a4d6d7c9e642ded9e5f79154399f8a867b6d86cba51a5a81c32dc63c32de333efdb173faeceaea17085f5b9fde2cdbfb08ae30a27080e3da845749e43b45610b14dc92c646f38aec9f05353ddba5c105cd55f6f48c4f6818392d5ea99cded90d59f28f84746dfb2192f39d01e5b8e6cffc8d953627a4e7501554127ce31845b65b2f0ffbac7a11e3924ae64c0235572bc4e248b320a58570d98d95a661593f0831d12ab74d852459b9e2abb2fa6aa0d35236c3ffc4962341d34b4030c0367559866f4fc903dc57fe041364f353808a9cb10e6e1967469234f758e702068fb4e3402eb99f70619c9bde92c0580c191fe1697ea678ed4fafab222472e237c840da85d7d9fca5d846a7c0de8f4235238259a5267e099703f66b64013c6be93a750d726141e4ee0a38339972d61919b6414b86aa633d3627f0e494957aef7052c37465859e170a5b8c8c9a855829d963b3e569fa050236509d415d45711f6d993cd6c33e9aa5c4321ba29ae17c51d9b2a72a6ed754df8974aae5ac29073dfc510ed737f34cf91d158f0a89cb499b5336ff8d6804b502e3e9390b42bf90abe85f5a4169290ddbdbec99a920d3c7a426d15c8ce9b2aaee928227c9544afefc8363621de5faf6b4d8eb13941f7136a9d9dfda6727c7e5192ee46ab7244231e9c04bd0446672d26f07097be9350e3cda40145286073a4bab6b152918556f66d33543eb2f9b03f5c9252fc8cbbf13a510191962fd9cc2b2048f73b973019baa9d2338bac260ca292de194f1787d357d7b00cd61cc0b4b4f2a59bbb795f9930e7eb494661dbcee5455b425996c0f4905588be721bd78bbc28cd8d77bc65ef018cc39ad34bd3ccbca7105b2fddc6a70d5ec42519b3c806ef41f8b887b79e818700b9b691fc9843ab23502a88bf8a80b727bbc2c98a57bebc3871d40043af40674307305cf6579847d516828f5922998c8d90718651b6727949e25792c3a30f50eddb1db79bb41657bdb5125505c3da5c8fd3bf4a048a30b2ab433be28a27b60fbc78acbb420e437d8609de4f00c2175cc3cd415d2869a9bbf963a526cf7237e373163dcac5c967870df807a4bb24ef1267d1be4bd98d3b3b9939c3016b8a259563cec954f86a6db20379dd296636f5ae72c1b589ff31670a54cccb6cce8ac9c2e3823a90ea0cd853199976213026dc24422c9986fd1d75ec9891d21aef6ca1653eb5235d04e3b9c4373f523160c9b7647a0b2048ff1b35982394280854fbea092b17ecf2d32e49da0859cf1e8012aa26456c5169334acfc031eec333c28032d23932a21c46e24b2d10f52a3196c9b6b32aaace73a893e2d6638833dc06af9319913015d1a1cd50014702f1a0d533099ebe8e0677f3721e0cf836e9c41ad6424f5c3dc032dd433e211d90e11ee47afee010de703552ccf12094de9352656833f5d1a7fe0477cd31ac005a1caec420737795f0c557c25d6de360ed520bbb84b05ca5340668400ad46eb73cf9e2e592459a172de38135f30984d262043dc60060a8c6221098b7cf072165bc80525cef0d4a41de58dfa00af781049f0008d835b49079e7765171816f86ff064bf5022673b49b3e817cbeb974abf9066b975f41669fe43318025f9b9f2cca77b6cf656297255cd122f62fab41dc112a0682cebad486f5077edb63248cf87dc28a68fd51eaa55238da7141a55eeda195fea9b29b2b70abe200129c299e7eeb7422df88ac32516021ac780ca48fc9a6e32b6c3d939713079063c47bfecee2bdf55cf6d7db048a64fb01b39525e45ac56c46076f67482fafd75ec7d8eab652561fe8d2e042c33c879495f9cdcaa1605c5c279272463d191fa07ef813cb2f3c13ed85c08e108f135a2a9c114e052689ef82fe0a483a7f20ae88bc7915d4334274acd5906752ee81b5e3fb545307ff6fd70eb4a0f4674808599b720151e215129fe7be92ad5d55d1f10c9969208cf3d4efefe8308b8c9a24e613e076bb80a9f1bc44a5e02c1bec0ab9a2ceb4f436acbe302b7c494f7e0fa9990c67a186d5953e796ea9a9598efcc89b091e6a8548e055585bdbd22fc23f47645a5309188ba40d18ccc6b9be4767cac7a31a06de33e32d3b8ad3cf9a1a39f40ad9e38d98a1519e2b88a8bef64bbb8b327ef149344213b40b75313daab657cd81d8e576f9727ceb828bd0ee96b2bad64918a9afa7e2c88d2b81d97272885b07ba6f06aaa8c4255f285a050916f7870df05bbd93b8162585c9bb0fbdbbafb31b602dcf65f81a5942303f5318e19ddfb1694916b8c56c62997aeacf4515e8687bac124be56c781fd8c57a2aa139efa09a138117b30ffd02d5688c9e6b4e630c728c510ee5398756b17597458ed0696c22ce36f5e6ad0861576943cad2136c0d57bff00e92e3b22b292f8d969316467a1351416e5ba80b5eaa0769de499d35e867de419250ef0907a109891f00c3eb5a84878ec214c7a15edb4e6521b2a0056d26e088e742e491a38631af39c2218fc7242143423bb2ff82c80142395b5ed2e246d517085cac6eb84d5c5cc938f9f4c164c7de4fd7bacf2148284bca7df543bb50d52cbd8db05b0e616db7dd755177c115e707efd659d28321769932efd7e4316296e05eefffe22b7372ea69203d440cddc62eaf7025c85413b05f3be8fce284b75b002baac7bb87423d5769943d371b43734a3ba0ff198866d9738e0bd5891312b90bcd601082b23bf2554306f3c643aa28798b148ff24649b374996c6a64bacdc6c6083733a091a990730f0a478cc4629dd570d0a3e76a78d78387b4a0d9192638ed37b863047b64d58686fb56a0d473027b7341a59ef6e1622ac233b19be5e6c192d4ce02f5080ee4a5f312cad96c6b02940dbdb766f4053d503247b193eef2819dc2b3eed6ebd99d43e73c3e037cddb9b144758331266cc946b0402b411fb1155d595ff822cd94cf4d4f3c2bcccc1b484e810856a252c57432b4c9569d8c18d627398e9f221eba58b8f70ffcc3f2c99514bc0c4403cd21b1bc9e2d7add83d5565579d3ce8a3188053e49379fb6e19272558ee487c9e5b825c8d35198282fdad016e96569762b7a02efadfd45e447da3b32525a423ff0243f4f5d0b303879886456e92d35c6f21e4d7f5ed6081f4ca1ebe44ae9440a23321e8843b6bad52d2364fc84b61e92064d6bb8dedc5dc98923793d640e8112290158d27641abb4cec86a80cc70c8021cd51ab25c844ae5cc0133325d77500c20bed14409f145d6b8bcb48a87c4c18f348265314fc34d42607c02f55938394a0645345e4898e1cacf66889f920cf2eb8150f1ad35675a512b2b5923e248070057cb177fbb7a5ce94a5fa3ac1cdf91c00c7eb630b2ac4ad00cfb1660fcaa739ecc3cf065d5c9159b059b5de035dfd05664eac3c57d4a49be427d288808709599596ff1fb858b2e834b56a66137d286ebd238585296cbe07c6c6459fa2ae7ee8f4f1dc054ec5ff9678e1d71aa25d9f790b0256082c2395436443db4743cdcf03b05895e834a61389ee7e778d659ad2dfb83b79318275f870b862a4b4ee8b816b54cac089259bee0aae3315925f82a1ff40d6c6ae89e78abfed427281eb071aba722f24a22ec2ef38b924894223c5e130f4ca9e7a0059a0551a2aa4941a2f168c1657625582ffa7889a16b3dd3def96f21d60122861b56023d39405196975b796217cf51e108c5cb74e997bdd211b3140f10fdc5bf18e864e4bc8a7abef8a527dac58bb3808d7031240af9f99cefafc1d7194f7d22c86b52e1db37c13c12bddec642c41ef2519f2ca87ef79169714833b2dd8a8324b9d39758a1c5417a6feee6e8d87ea40e82c7a1c00a0880f34458d7cd680d01915aa1d38c4e96ae50007180bc1385450b657013224ab45f94f269971148c7edbdf00002fdc48821e10091bea4ad5da9d0a395582da155d11692305473eaafbe55f594e9d98473d4bb99aec668559965f660bc565ce1b3dab0bf76434161f4aa67427aa18d917a0412f589731f563b8ebd0c6b5ff3902c1265fd2d3bcd1bb4f0fa0559975d78d6d4076eac816c1b5b755589b0605972031c14b859b251c612e2dcd188da2a5de46def8af1880d04cd2c1577483aeb3741db968af435308acf0ec9b2252ac05ca362ec7ba308c2aab59ccdd4521cbc61ef045f4a580c79c509ba2cd85d04312ad740c545b6f073fc503f5fd878a4435b37d062c5501280f89d34e85fcd139fa94b3d2739637ea15e52134bcce77896489eee305dfaf13dff90935b046b695a6deb5fbc5e3f682c88945410c1b3f8c386b1f5cfb37f10b1beba0e01361d231ceae20b0b6ae07d1eedeac36def258c191dcc646de7011b219a131a06d8eb8561ebfd579874e75ef1eca6cd177ae53b41b75e82d6a25b9004869ac27138d1577de14483505d7b1d6b6a7e1703370e3d8dbbf5da5c25c1faabff66109b66f040355fa79fa323306a214b67c7ca14c2f06861586b18043b36295947cdc47d17a87ee9c11a75e0a2d224ba45511162409515c3dab8861a6643fa16ad2ea9b368827e4073ac78adb94fa2f05a3245b99df05e42cfa3f434f38cbbc7034e21f60f50122f6781f85e9035a0185ee77805c534daafb744958ac467c6c97da337c701cab3d628c74d32086d5c3b3ace72d05befd5922ca4ba35e0846d15404fd78c2c70cb27ddf2dc27e39cdeaed78078ad32505ed99495722076ee5b9b31d5e249db29adab7a736037877c03c9517b41ecd56cd250b0e0b3d087fe061a6a9f40af9b9ee140aaafeb3f550c58b64afd815e2ffe7eb1ecfe1f56f1a204f03f38bdee2da91a4c5bf1c5165ed3e08e04f283968814d67a91bd27adf169abfbfb6ffc0c8b562354ce18201103c7b57c67a9c84ad9ac610ab467210580773deeab96c44555b97a7b4ad553e79724e5f3ed0eb96b8575c362c8a65ffde89323da72485e8d018bbaaf06f3e411b21474aa026f8a471603019a7bc310f39e6702479af610edaa5d46021666480aac1c987bee75982dc679a79ee86587792242d2d4f1052f796c505eb31a1f461bb34ba9ef5bd383fb2b8d6455b880755d4e31a3143e8a163081c1c41cc5c29c261be0fe1157ab8aea8853b166a0a28a0ee6989915ac662a531362d2aafa9b0f361f417034fc2653cf9428d99215df5460f4049da5426ce4567702dbe18662e3ce37e5eb795f2b731a7ffd81a5baf980fba3457ff160c4a73809fc5cdc2a32c71fc4ca5739d259812204d4749e210c140e45a419b88150fd72aff34731899998c44e6c622436b11233b18995d8c44e4c622426311233318991d814db0ca652325f83c19ac27e850646eb74641686aa937510fb664dc5a0ffe27a5e2cccb1c758444dd06c2ad912be38160306edad450501dae2dbc58ea0c883f891a2ceb6bb9fb819760ddaebba8caa8b7b99d1079dd98de90e25d58c4ac0d5270f7b416834a8c90e49d8772938cf4e8c8cb1704baac3d6397d5650df9f25930bdb243feff88d3186692135a7f4849911199aed55ccdee18ff20aeff272c23ef70dd5252c1edb91619f47dea27ade4ec4f3c6d334b90f504a397cd94ba0a013ad22673414643a5c08de862632c9296745eae2bc53b0b8e698dd33b55e54a164e41a101041ef73da3f01a1a9b399b388c3dcb4c6245191d109700fe66ba97b2c1413ca99fd9bd817392e20e3f4a63807638d3bd4f7c3674c6e2f533a0d9a894c4614841e6ca8b784575c3a263f1c2035989553c61b1560940ac9c2c8ce4c0462280caa44943f504d3f6c48a23d1941e8fa1dfd235ec3827c37af172423092dc0912ae170a21a59291f8ae8023bd98762175352160dea83d5d51eba563194ddd082268be2bf3ab2070965f00140dc722897f521713ec942757200d7e5a33fee3eb50ee059832b03154b09ed94957e1556910cd17c19f6e04198cb3a6ea965978d283d0ecd0222dcef0abb4214426fd1e11aab7e6a27b65a3f6065310d7cc94b9eab9c149967a91e7cba8406fbf631c28d0d7da236648f80729b1bcc4a955d43ee24061d21cdbf72964897586f94b31fba072d754e94d4d8242a33c38ee16d8adf70fb4ae38e51741850b274e93edc2c702f1db16221d0ee5b60c1487e7ffe5246cad68bf02d3f6067086d3a7eb091714f3d9bc0d3ab45943d78b548916d9685bdb5b4c5891ed734116f73ba01026018d9bc98849d3f38e2769dd2d20d0076b1d4e39be92035e753eaf83c25dfea83ac2d527160faba62a4fe19b9c62963d0cdeb86b819dc24737ba2e11bc0edf82646379744fdbd865b412c26c9fff31e91a2a4e56e3286efa866ac4e6cfe60aae3103812d096553549ae59fe8424132f391c1b89ce46d44c2de8158111d63d2f5eb4ed4748ac6704b186f4b9dc1e9172971c8525976e0337b75be08d496e110cddcc7163f0d2cd77d5e1c11131c4f8506176f74f7db4b354f99ecb9e482cc57df07b498e5aa4e9324a8ea4a26e19f715d3c5c951b3551a98ab13efd6760bde38dd80374db7e04d93dc3094590efdd62951d81d77ae01a0c908a847577a4cafc518256037d899aca16cb0e7631e070ab6ff354791f0bf32663116b528dcf54a0c46a12e74c556439100f0443068e3a4dc2d77b49118c3dcb41aac210d6639ae12fae0d2f2a7d592db38eb4d40da1e2584a70765a6148ed1e6c8ec1a86fddab6d8f987b47f240e8e91309240a0afe42a347184f12316216963e76b5b75a06f293c814e27da8046704f25b8f99770c884c6b50ea19acdf36b9f18472f897f09178bfdae10096c2be9456330de3e410eced5bdb31a84a268c6a524bad1fb38f46d104d35315f6464958698e19ff46793be24f8b79880a58ce7f76c1e875483dc242a17627815882b636ed2860680fc161da0612e1e20516276c8466dbf3786a7fceb8f8493a64bf24f94f4bbb8ecb2488fb98ef55ad440bc391171fbf9afdcdb8442487acbdd786b66e9f70190a811bfa09bd87f83f6143c969af5dc4484a356b1fa038b2326ac85214239033447402f4030676a963747fa43cddd9dc10f8a759f70b364e619e22dd2a05bb2691aefe14450a29d85f85fe49843774a36bdfc061262ac6cf8c2df1a015adf4a15bf60f08dd00aee7450e3199c0dc344a16255cafa99153be56b06a08b9443687d096f40327d0816d427b980cf8fef5ac06ef1ce600f4eceb5f440a55191a3888f02ec09c2fbd6f35bb0f36b8200acde3460537a548fc8421e0272e1387c6bfd648f4053f8cfb8cc4c4c55d9457c0bf135bce25b985d445eba05def25f947ce02c584f30078fe8a2fd5bdab267743192a109207c121ca05961f9473629082cbe0e7a53518441e03671fda1992dc615214cb356fc4964758d2c3445283a7a2ff972422694522028c8c3a200b6467529808d42d54af2d8ab376b7f9a1b84cfe858f80955028f3389666c1e60197428dc9c9ed6792a3d9a1a5c07494e8e6a546c140a41f2bee07f916ee40d5f94209a4efb8490c9ac646fda6d176f3de2401b5245fcb56911c6b14531909ffe574a3a303ee30645206ab2351eb452081d88c7a403eb1112038581b8d160ecc9d4fad5ec4d931cdcd940f788876b6c913b29d36abc56fe7ce9b60707d771f003de8074467d0219f6508bcad83d3042e5c394a4564fe31858a40f81d8fe930b5c0dcfdc07e89e705ecd5759fa706cae2bcac6991e667d7009d0fc11d6a865482c61d3abfc48531ba082185b69e42fd82437a5a4de51de9d91be7c3cfc951a87222899fc55de602a81d39ce8596b37d8bb397ba6b2b97050c682ee66f8a23ccd549e3c60a5791395a9b9ac007a218c9029b913d4d337efb44012f7c8335c9d52979fdabe826dd7a0cd85e445a96944c5d5f5125f25ad4d1c3449c8551c0aff03c2f94302f501044ccea16efbb8bfa128c1d661d3f860b5fc07fdc12e4e49fc5dff48a7017bd50e1d581df4201138b34d0311854ae3df55d0287107e34bd70e7a5228634aaabf17472957f123b5dcd54a7256237f6981cbc03b9350c63b21ada8f7e3377ca28c1f0099a19210de717abb566a65652118de221f3f9197db549cce2fc20b2923be89d0f986417411341fcc19426b844a0e9130ff2a59c61fd273bb9fa8d7ae68482421f42ae1fcbcec4b05b9845d19874487626adc8989753f22d93f0dbb153c8a97328c80046cbfa919590a82d541c091fa699dfba87d5a16d69cd4daf56cd98728b22814a3fedbfe77e3c699593ee9e72cf7ad3e18ce3eefd4a5ebdd48f6482bdc3d35500903ec7a2ce08d3b5b4eb8b5ad18319fb5cda254f9e26fb63f56726265ca53e620c10c481ad2f4fef1eb94e08e9ee8508f2c37398da1b7508b5191bc183ac00282f7b36e2beae6cc242794c2d1153d37ab828443c17f5e1dbc1da163cf44a2579b0ca8e4d30ab23d21b54820c50fb9fdc6da70f1554bf87f14f16b98fd0465a199d8f9337de9c2fe9e95e47d189c33c9fb360b700cd133da4f35343f69703e1e8e90b0e9494b12f1a3935de1ff7454bc38c0ffdf5123c8c39e88e53cd33bac2a2e22e842caaa7bec19fd4065c6a2ede93317a8124c91f72ecedf226f2245a3187a8bbbd489e848e305bc056ed167b3a4274916d710086926e9b96caee98f71d6d496ca52f28823274bb49df038e0dc49a89e6874621165a415c91b0cd73a38be7d592ed81f8c8ce3db60b8fe9fd23c1707d8faf1754dc5c8e15dd739b886af59257c5a94d9023de54c6677d1e520520f1916dcf4d72b07337d1fb4e2b82d7ce489e47df9f267f9c26859974774c3cd75f0e938f433840a0cc8f2a5356690c8e6aaa5659457e6f0c603a60b4b3adf6aad7cf3dafbbb1c3212519d7b5a5c6ad4c11a1a1d1402979f3203b309da983207435b03adc13c2d213afb5c7b2c3c225e853a7b74aff5681db127e716e3431e4e55778f0ebe754a054b12adc675c45e7e746e29e6e66f2bc7b8e935c903e96caee443f28527c98bf07d110401baa7dddc5a2f9501104240f057082cc0c8ec0777682e89fe26a4888ffd9c04709158046977e643957b627c649a5ab18de9d9da2c5340b65b8e828cc1668b2009f2b417de1ec0ca8264c4ee4faa7342445816230b22272413b35c8ccb905f11f04607ca9351e3103f26cb39404c98179768591c561846bdb35295e1c3854042d4823cd9fb2bd25a91a7093106fcde1b8e8d0d96d18d4cab85a826e6fcd2038b1410828d34d5c7ea548e13f5f440048f3b18d0dbce3f4394b807abf411760caac7fb6e7032e101fdc0b046f29ffdba35476cdcc33c9be3a3fee09157ef6561beddce2f007915ff6f42a6808e4a4e59bf8ca01af4cb184e128b39d7b8300e423fea183af8b39531cf136c6621ea4d58b8b66e14ee01d494950ac6548a368801ca2086c7725e2bfe81dbd24070a21d5ac81cd510c1bc26b55c6256c1096350c45be7d5d91c6e217269bce13bd201cbdb33408a60597c66a1910330722ef155a28194ce9d4b2b65e564bdd6d622414265e3370d95515e2ff694a585c682e690776e87faca9ecc27c78ec61d063ead1131e1fca6b18bf614c290a7abd0cd34416ea56e501d5e4fd2d19bb7e8640dc6b01262637668ac1fd2202fab58d7fdcf602223cff6c8f6252c637ed3198d1cf5095bfe1926e937f7bfd8813c2a332f1451eb2b98ab92cd040b214e2ac4f9ddc11926d48353f9f0a056837d916779a045b46cc46cae4aac06f2343ba74071cec1063d3763235812b6c99db357a709b01d3da520c047c160ac44ac579f089db53fcad49af8eab2e8bdd188dfb8473a1a4cca3c92ee0df576a291f6b1614f574c1323c42e931e0a4b4a5820fd50675eff9e72456c367591fdfdfeb9a6bf237805a071cd1f2da171b15493ac714d19337220b76382e5229c7165f330db157103aab493915f8d1cf311628bb81d319e1c5ac0cfaecb7ece0973cd751c3c78b5df74551407ef6240cea39860eb519f7537849d014a2593eed9f1818dc022987968e91bb2e4a21ac4783177dfab447c01b8b492901c2a261abdae660c7a7527f64e830ed5166d12799b2e2b8c7841b70d9faac2c49f566310e20d8d6a379c654407c9a5a1b0ac4b01efb1ff396c6ba78d2cb2a380dba24d77e16af078e09d8566621cf95ca43be498977317800410b5bd67c1d2abe6d21306d8d5926ddb9acb8c250020edaeff3a03aa255b64286ca9c703e58616e33f59f8351a0ac9dac43ee37844c768911d77ab61444aad2c2b7f16dd6db3bb011290b90a5a4d85ca6abd5cf25bd00092f4fd3ddf0165622fe4cf40b174be762c73ae2b427a55fcd2bc44dc792dad527f412221c1e2d6c4ab20f51a6b625a58d19e82df0d5e5dfabd2796e93419cd2c0ca7d0bc175dae8fe810006acddefead782589e51ef0f04c043ad1a3d80d0b807b168525a7b5f383348c9309dbef839edcfaa9f629d34deb8d2627059d061e6a4315e23d37e10a5f6e9c4954133a03b204f73fb27e2a45bb3e2a2f3a2a7c78f7e4f0f6ea15dc4bf7e4f9d6f559112525afef041529a020913aa0dc7342b64182f49ebbb0ed0747d096966f801962f7093a3c69db0a571f7f55a66fc910fe60f158c3732aff91bda1c40b7c1268245ce563d6c65483a588a75b0b5ca596a29564bf138ff9c2ffc626ee618ab32ba5c2a602579340f21a4283ba0b0aa01d9020646c64a4d30e6ae32b72a310a7875af23c3c32caa23c4d40a621edb51d2eabf0e60fcbd4cd67d71ab1522ad6a9ea63740f788600b29848c34d2d4d649220c0d8c623a12e6ae0db590a5809530133d305898015e957bae5940f5565ab5e3f016311e4155daef1cd04add3066a2aa416a22547888b7266059649c52b34777b578367fb9f96e3da31571cfa09d273b3c9206272c55c026c8135aadb8f3c0df5f4e8287159cefe249fb358ffc8158f99271761f13c53a8a8df9147cd922ea3716609d68d8fb49ace8a4efaf8fe9b88efbb14e1a514f65ce4839ce2fd7f45993d54694b629442a2c9e8ecdb87d3a227b59c7aa11dec20ce27a24f479ed692f6a51dbf9e0b9298f2b7f6316be195dac2fb841d1bf08cc02965cdbb9e51a8f0fae57ec7dfc6b063e89e1bffadc593b385e6c715ad8d087322dad2779584c60d9f6031e0eda04c3795236a5c5640af71cb03d634134b413b50fc1963e9800159ea9abd0a42899089f08b9388a610280addd45e90ab687f9537e4175109c56410d9a2eb3f68588c6348f5cbb49522b09a1b96110a039932ce9c500f75259a3d3e1669c53dddee749d88d97a65ea4de6287d66ae13c2689493e3af60cd3053d51fad86bc9431ac7a41da1a15e9e27d01a5e11e1383261ff4b9b5717a9ba228902e8e622e577c93e49a9287286105cbc96cfe76d25b18b357bae759209ab577ffcb6801d2790ff99fcc457cb624d81dd2b4171b142b79c80dc39aaebd8c3451b5b8a1d5030362806429e3406627ea063ef7606373647ae5520252e0976d5d92c22e49478a60ececd80861220c76564df43fb6db7c9ad2373e48340fb2568bb0d2097f2c546bb526653d1aba3725ae8ebb0cab2fdf9470422f70182507b3d745bae5d90bd183e50e52faa31ba60bb6609d82d334b7090d033c7c582b18b676abefa38ecb159ec645eec58830ef9bde1042f1a8e6863b1b24b0baf3f679bc2e94cdc39f2ab48dd8abe2ab85e3d6e54d46777b9be49bb42cd3810bdeb694adaf1b79dadaf8d676869093ccd55b3ca071b10669f27c6244f3c05c4c0dcc8b06662fd55b7ab88449606e18cc2e81f0e277336305443306cbd8b052ea413cb0a769748fc271aa5a018556c4db5c3a4a3e0a04da274f723ea6711ad40cb9eba020ebc33b6ea9250d0919a8f20a896fd7bf753b1b588f3c51b6f1f6874783314a1e19051df87d302fcace6adc86682fcc01ca9990619ed5d2055c65005b18b9cae58b17792954218b7a568a982bb687569f065a80d761e81f3cb8d9cad325b65ad92d7eb2da8cf7d190efa838af36888a4612b95d8b62988b6dfa55bdf7917428ae11dbf4161c86cfcf48cc39ca2de7c69bb831cfae47684ff4d113abaff0da542c2a9db9e9f81c540afcc196efe95c804ee8e6c99ee8ce01bace04d0390d80ac0ae4e6ac4c9e20d3efa80f7fbdb67d7f2be17f4d4482788fdec05ed8355de1f811ea441e36a7dec08012f1a9915a209c471c991d5e447948bf99f9f80077da46aa360891d79ca053ec481fd6cf1f3da3a639a97a4a236da336ed1caec26993b8bde14e69cf02a01d1e39555396aa19231fa4d558fb89cfdba12324297013f2493c50ba6bd5f8dc9cf38938bbf42471cc52fa759b3b4f99999b1f1e942d932674302a1afcaf794c59ebe06b0a4fb79e475136ee058d6c1829740ca0c7ff201d78c4357b50bad284fad5999c0edc1317fa4533763bf5739cedda3a90d537c25c37264ac9bcc61d7889f5c781f16d04652f24110c2b2e15a0264008e7a73e94884ecd0b9fd111f3e69f04bcc1ddb63fad539c929b938d5fc527a2b60ddaea79901aa45741c9e905ed5ca094e43ee3c5dd18c59761872ee1d2a8d059cba8c544e19a8a37033d946134f68695f8e89661ef7eaf4319e69d8cddc2584b526854eb9947daace8818d96c689f9e52b06a05fd46c4e0fa0c0ca550683c088efb5d17bf6d04d6da726e4ccfefc0d40ddcd5d1f21eb54fb428cfc3515fe86ebe6e88231bb45d344e575a9593fe02c77b18c102845639e5f3999121bc9742b9a441d2c70120b77717be0b56a490e2ce0f754d6cb696d894046f97c85a1110dad88ff0421cf6e74e91069be6a2df463b89c8ec10132f6768d7028c798ee589d0966cfd1dd1cc3f13101f7f20f0a9bd8f0fc2b42fb2b41e1fd41cb204013f077bab1b715744629747f59154ac26c43b7d56f07b55483721ef6b500754cf943037a85520ce8259a4966d98601d48965111f035b3eedac160d5996a1fe0e0c539f9e072e2fbe925d06b4b9cb5962a8b8e11df3eedcc647375bc228493edee3fa5de2b6850067ba9b5eb502dafab044970471a817c9250905da4cb65f208911b07ae24994cd27c848946b656900fd75de27d765b0b305ec7be65abfc21f955f52031f6b59761ec8b9c74fc9be5d486ff1fcbd4e591a109aa8b973e33180c7760e721f42511262ba1ee89ceef7626a92b7c4855cb349e7ac035de433d6c59cb0bcae79b9593627a34b191422dc449dd75847d9ca6935a2696545dc0f2989228c750be9620d122340cb46d09c460473dd111e48fa02e298e48b8801276373b2061f17675cfc83df8f127bfe4aaf5a7f09ac623a29bb2483ebc85b3b7026d23c68f0082a9d770a88fd1f68240c7a78090858d34038f0921077429e44ccccd77e15d6e847a49997fea068af74317ce37c0c60d901415013e9b9a18499bd53a330a949e7e0893c7b0be3a1f74464bf72e6c320958dec3063743d0b251dcb25b17f5476a59281119b1b7ba2724c15613e7d931e6267f4091aee9e2d594caf217ebd22a03c492552429c5fb6549412e17c6247c59f0027cca1d97d5ad92ff09f19a48a2e0731aaea1ce3ea0761f2fa2a55a103270153f1c49d2c0f8e5ed06bbb712dda290d689ea703afb1d1d25f9cb700b56c17deb0c62032e98470fb0aac2609534f0e529df96328d039671b70e532876754e9156d3aa437342e8304a958fc631df75ccd3e86e563880d3462ae970a87732b7d4fe72905a29c9b208c9204c3437937b5e3851ad69e1e7ff2a73c50dca0066ca77a90332185f633a5caba16e27ee5953a50a1c390c0d3648b2ae969e8c0b2191fa578ac94d7625f25c9535ac6f8c6030e2d70288d929d241e9e6b95bff1809356e010ef8934fe90a872c6c7558540f8218eb7e60d97563818073259f32c4706040483af8ca2a93051c9844208c5ccfb5c0bd4d48b0e8873a1ed2ae79c3da5b7d5f5b4c9bad07ecb77c667f324aff505d2484e7a4e782f62af7dbc09e234e0db17248a0f7a4d8ee4c65a6b58a676b0dfe8b9453f9dacf8ec96a18b714c7060f51816411f320419798fa2a0d74cd222632012197b8180f8b8fd186caa6e845542621a8cad73e9787dcb3ae2cd23c736809a4739d2e1d3db292bfb947ff286894e934cb46ed0148be66abaedcddb761e30477a0f2d10e087bd15b2e5101c9642d8c8c138658c35a629d317121dc9ebff66d0d732bf450c7da39aef368877fdf962806d7c0ffc318033dd1d5e09669c27984cc48219dcacba2fd55b22522ebda13556a3b54a9373208149a01cccae751cdf53cec66ee8dc8849063608cf19972ca52dccd6a9d3801154dd617164e4002d9e67b41b347b57fefd7b38e8c9f8005a549d250b2236e8708bd1e820811878c7d3c90b800569e66d40c4de9db686a7911800c71d2fbb933a53ae66c9e9e84bfc10aae2a6596845ddeb2f2cbb57fe55cabb05f7469fe5b07847591ee6bc6997da528d6264b365f061f6a4817ac099310afde02a0279f1a1f76a0a718aec85e45abc9a2fd478c19224a7f80e4a08a2c29ea23d810644a5a4a9f484af3268f218d25c6a8c033f5a5988282179bc783e92c9f072f11ad0044f25d44e883b49149e206fcaf610ae179e2252d8c4b6472afe721f3a120865bbb3600e29122441f79ab5b311c414adc78b300df5db10f4e443d07a103bef1f89406a5ed6da7a4ead9c60953f4091c74e9888721fb8815f4f477f59adcd04a6c1f745b5073bedaeffbbea399dcb396c0451fd24b9194e285d131cabe2a6ad0ae0a970dc0088fbb42e113611a5d353c8aad2e4860f822bc0caf459a530ec828020f9b3efd8193e1e02424cf9f626ddeaab7d7ab920d1fc7949e2e2d9935c8b84f9a722b31b5dc22ed24e2bfb90339bd38ab748441e3526a11dac935cd65a42f153ed78046068baa2f8ee5b95f562d08e21b183ce0be6fb998276e6b9664fea6a11a013d92f1b943cab1bf89aee481557b3c4ba1bef892e2a110976635c4781941baa35e01282d21d7a7519178afb2e92f85ddd291b8862128ca00c7183b3923383d90664de312244d5eb9904fe1ab0af1dfa1f202e8cc781ea672c5a1b160dcafc8cd3bbf1f875e1ff99d364fb5d99f452c65a117cf7053551bbd2db9a77d780c1773737fef4269c1ac277b8916780ef0e457343e5cbfed068c04dc597940b696c705213ddb149dc2821cde014414142d81eb95293e149fc46833291b53bfa80543c2217f5ea7e5390afafa519481a1a7adc45d0cf945fb55e7fac82911b60bb527aa0a2eccbe4b69447aacd307f9672f6a4eda9d6a830941d53a3b794ec2c906c044b55104867350081abb46d0f3768cf05d13932c42242cc64f36990a34e78ef5c4015828f49dd1477708dc81191f0664a9e2c0d2c3405f30911b2685cf8c4da9c6cf868524ce8b28b9ffe0d972298ced0c7a6f87bc3708b70a3c94bc05f5e56d6528c79c0f20500812cd619aba6a2d49e392838794edb7eeb3dded15b5a40cf04f34e3ba7adadf093daff9d94ffa75fb936a55645ca586fff52d3a3d27fcfa3783e6473512b6fee9d157658516d67af3d1bd4c0a7bb42064da9749af01d80294addb388715f37d0270c9dbd475c497d65da0d531f84791be02b2742354060fd3dcf2494600781ef80f173ffb3f2b27781021f7b0c234905c170ef85760115d44f5be2562d03ce211f2a77cbb26c416b686cbc09f661bca8ee51782b91e2c6aba6c4100750273e012e48733f46b737d1968655b0c1da2166733f6d961bd800b7f94e8f031157de8bceeb472947326ade841ac4edf8993fe35cb4d7d40930e5e51cc940ae214b4b51f1fdb1e17d62aa59682c22a8d0a26dfcc9ae65f1bd7727e7dd3b6f25504f0178a68b51211a67c46af40f2e888ed153aaef9d617463abb69220e89c34201616213612864e62130d43f91d9e0b78954ff105e6e6fbe60eeaa5be8d5db0db404336f7736f1ce7b70395d803baa8925ee83c9097fa7dc74b5e5b6c4cf49c3a6ff22fd66e1f454ef3c3509334fa9d3a189e30de406b334152f5815fde1bdc2b4390b803197077002f7422d79ec7c3ee7b837813e822d8d62f8d319cf5e679b529fd109c88f6cda7d850beb6c366d3c21103aae339b78008b0f2b7f2d06d95fa8f23128c19e2accfef4001558c1a5d7713c5f8371fb6e9f37ffafa2265b8a1a34af810d16795adca873e73a122752f3adbf77084d7371e62234607276a220232f21fa03ecfc235d2589354108d5e6228502b5311d5f6e9d14bbc88a7e001eea5ebc6c132b485ad006bad43d3a9d159693aeab15c95fba8ee779760de5568dbb00e580777e83db1282ef5445f5792628ffa03c423f572924415b7da686ad500634f35add0421676a3226f251d19e266fd9eb70af95e0b662e772d0ae9aab0b83e72f6ad6a6a1bc9e4c543730bd4b0a78dc3c09bc616961d8545c2024b61e99a85924af9260a803a51e25f687c315f3345fcdac7a3d41e5a7c06ccf3470f137e5277c1b39c658687024fe12e4668f3fd0bf43757cbc3aafe289a153ee1819254c04308be1f11be919d6a48f68fdbb4c83762c872c3f1d8ed872c59db1a02d6f9d0d3b25c3763992ce070829a78057a8f20404febd6d8d34d5ab7d97cd68eb20ae11c7f3b23195a89508c9a9227e6e9df244adbc1e4ed47646e1aaeac9d2f67fa22caf74c4bc826d7822ffbef90240a746b84896100d8edaaf9027d97756311181b2a7fa34997b8cb44fbe1e2476c97bf7f707124e96f32ec277fe5ac61de8a49abd7b543443b7f7a96bf8c976c3e0ade9c602b216d68151b0f0a6c5b0987b506d204830b762e93335d3e4e74cf9be5b626328abf6b9720f80c9968b81d6b225a12327dd09cf17044ee40c066e808c6b519f27deaab2009cab20800703cc5558d7969a70e12ea5a76674a22d63e3193d55fdbd16fda9411273d45116c12e62874e2f304c9040c1425e41470ec13501960e60d1ba47635b3fe2f0ce8458863c41181140149a895aaf003804dac9df203f1fc4becc7963d63d4c88fc6e1195b8cfba89cab9aea03a0e053d61e380f7e6694ba0d18e832074fc275459e009458431f270e4651768fc0e6b00c0c8c7618c49311239fd646453ed124a84cf7ef503cce16e7443ac5c749f80b8a6bad27f38854024c7b6407fc11756523c46df1ad231c2685a81f7127883a712f411599678272c5b9c1cef023489cf8130e66d59171586c8617a8cfbc55e72d3efa3fd029b32104043f01534c61eb0241797cd144dfdc41180e648f2f84ad4f8fe5b5a45ac03a2747d834ad49083f0e8be109a697908358aeb9aaedf8534cd4793c2b3ba539cc6f049889a8646c71eb30b9821f25fc9e94f6d7d15af5b79aedb9fb06f064fc235c94b87eaec657b17e95f96863c558e173f032555539080897184c13d33d91cf95c209b471b6044eaa089c1d610d83089515d6a00e6a77221cbaf250883256d3c61183c2f6fb375f25a92dd28b2529473a3508d1a8c2d9324cb488729452dda3eb385fe400210765afee984d1a5b362a6a8de784b224e29bc973fa09f453aff56ad0efc5e011c036e9736d52644bda5c8461285ea11021675ee832a1ef205bd91eb3c739f578afad99b33a24e8fb34393650442cd46d5940efc0aa995264622349e3b4218eaff85580452f6e8c254ff430b72153d4fb6d8451b0ba963760ff49474875af5b66bcf66718ed58240563f506ac1561b70fc95c04e2bbcf55c971b0b513b7712dc9f79045c30781d7811b57225a8cf22e3647c6125c81f241dee07ef480e0e117d6f8389f49a234c4eac7a80a5e56ec525466a71bf7b7a0ea27453f7bcef4f5ea5247c3e0b2f1122f93252ac74c14c496f7ecf84ff740938f801816c71c152d41904c83e0262d5a7ccf5e62bddc3fb45c1584845381f55260b5b02bc5602e02371cdb6a05b18d22a7fcf70fa94001bc61e259355d063f5f0a65f69d0b69382b03d482126e37e8fb992c1c5219800e130180a1c6d71fdc8eb804fdf7fa7319738311f740131802201b424634cd0561a41237a24294cac31808d309428bcc07760f698526f400e66666c750153519b534d3545a64dcb09b3f2b1bf6142fe8b1061ab41ab282c2828c2e2da46fc4925f14bdf55925295a314d144b4e5a650771d352c58cbbc9941012eeae181aa2e124581509d1298088b81b39b3ab38a5a685d900b625bf9be4521f537def948ad4c85c083f9473df42680e1750be87b10eefb1dd937aeedf4bf308ea2429955f871237c819e5980b1ad12c28c1166b5210506733f9f3719e5fa06d04ecde1b2ac23ee1b34edfc81877e73138d22b28637f7c755391bead4d8b452dc6212a7acb8572f286b6433b0f85924b27168ef3040b0393e010a52a9843480249442e0c1c03b27907a45b57d1e1c02b609b2bc877f227b2d682a7da2cba00630a19084b09fb15507070d848aea53e92a61869d9ff67f570628dedf4c6651e8dd4d04f3cce5858010c107a72ad5d6e7e0c579f2a1ce631811ca4f2989069a05a83047050ddb65f22f039595df19aebc1464adae23902cba63f9cc8f82d8025de9f9a50ff6e9bbe0787b33b8b753b4c44cd06a4752f084520b7dc40b3fb300c1b4725517ddd2c1c1bd12f933dfcefb98960f350be530495468b85ebfcd43e1ee1c477be73a7fbb74d1d8dec00f9d716cd22454e19f0cbf2a067ae95e311ca1a80b595dde2e23ef925d42161492d9efd877008a60c94ab611924a20573e68b1ba5ce596cc4a284288709ff23b0110747839f2c9b1698d3c8df6395ddfb377807960a9115de3dc4efd207cabba45ac80b13254f90b740f023504e2957444a65d0058a93b700b1722432c80a91bd6b7d45db427bd519b341312aa6ee68693ea0a54c656f7fa2fd58f65ef88922c8e4afa0e59097ce233a7db6a0cb1e383d57c2fa22a0553a342ca1dda1d5ccd6b0b87bbd47d21386de729fbfd5703ae2292e051dc824f4436d2b77bf9ee06dfa079a6636c0ece999da1ad9821d73e2c2792c69e2e857402e332b58052fc2b0e9f3cb532be8c946a74d0c41c4206329ec72008af53ced1249a4768fdabbaeaaa066d4f45d83e2fae543d092ebf62a562afa99715db57ee0ffa162fe6737be8c3481e0ba07deffba2731c1e44066cd534a0e20da28d4194b55eb6e86cc188354b202c14b24badf8e13e1eb0712162a20b37615e25a0e48d47441fc316746cab8394e879a72d05af99dc0466c4936f9964c9ae39949160ee84b757cd7ed359c0400d510f40347e030908f5f53c8d7b8a76b97cafee1e9d4e1ca9f57a821bce9adbf8958afe77d24a746bfaa4ac04e1d38dc8198f8d880d5e486086886112482cde8b0319cb661c8e94e9a90aa5ba0d9e9bfafe70cf1ffef09824216ec8c45c8f2ff856a61fe5f7c105ad4b55774b60d3c2ebca6ed8921b18fee0c915e6c3914eadf9543ecc71005eecf33d47c26d5a0354f5b5c65e1bde2d1cae48a173a5dcc555b616a8751dc9f50ca4afbf555a89748248b90c82fbfc36ab373ae82b771d53b199928d6a143e57e02a812176014733ae3e7a3a8b8a8981bf9f0ece723e1da5939f5bbc76ce6232377e93d1147684e35821810869e1c102aa3f05b859d50e7b03a3bd69ef725087f30c2855844bf1e3d4835e98d1b7292c3551a9f6998bc9cc97b9d6c04fe770b95ad918f068734aa766bbead605af822451af9a0695ca8d6b2c0a8b4b1979cdb2906828f2a68609900c2b9068774c6b6c1d70575858cc0ca7b0135e55dd2b2dfa54acf3982fdce42a70b04594d56d84884b0674a5d7f281a06a140a43212263507c248a4e09cc881a8f738cf6563870283c35b11309476a7674defc8d33130fe3483ff3cbbcaa43ade10b411319f41fa808fadbe4908325651d2ece9165def49871094cdf20001988122d2a5fcb38e2763ae83304a4c7aba121ca3702a930e13a77ad5bf8b046c17f39c653586106e99c8a74a0613b739539038cfcb5bed02866591180d5d787dd045ff5e2bb4bab9f7c873b897907da320576fed5a93c3a65e796be74fecc711d2a1a1b2d11048bfceb13f925af7a52b56b87feea8bc11cab3bbd6b90394620c52dcca9ee25008acd667e78fcf7c8ef38c3bd0bb7327de8a7d9d9e438e0fc12d5413547fa3631ddf1ed02d97e9ebe313811d5b84ccce6ff680dfcc9cc7195d1adaa990c066067a1d15c9242edbfc2cf8daa18a38d718db9d293adf13127675a8863be28784b273eb04bd8ce201ac548fbb9e7cc2c8e37ccd3cf44298251cc79c640428e8c89a75a0fdae1ecf3c50bf643a13fcee3ca528a4d0a02c60aa90b587983acc4802848504a281b3262dbc060b6f6a725d84de8c688e52ffee0989a883d6940f3f470748e6ead89c12c52aa90ae40116f1d0b1cd3a787c867f991ca5994b8e42be228849080debbfe8ceb82e32e0d7a036ca46164f461264065ca6bc84c00aa8ddf1db8e584cc721b8307d9675e1db48967e28824f7e71ccac2cbc236b10813db68080de191857640e24acde6cb16227e2a8d629d139712ddf9be81d2e06ac61b670e38805d92c9a8b53b6011ad0b67852564258c32dc49e7a2cc8bb2bfa08a0accb6dff0d7532f95c30ff45505997ae8c527f86ebbfb59776ad1ccbbdf5e8d79a62516a8dc5c55c049c4dafafb7d6b227b0fe95d0e7408f85fe448e0e2c890b292332246ef35906526a145ec71ed515e0def46bca4dcb5b0804ec14d7c1b7c5020142d4bae2f8c710ea6d2e1830dbb846a19dc985ce264f15f3a905b531ee0f24fb23b2261bb57839ac388b18616f29c091e2e3ab7d9852687f837a3c2910c3619dd50d1e65415959cfd05c9f4ccba9dc164b16827c693731c7dab3267554d50663b96d0dec5f3dbd3389e24b3c117ac426617b56b41cc0f1a5bac1cfcf8a1e6ce58aae86f03719dc1380e35964624ba1db59860dc6218468006a4dbd74c0eca28ebf902a86dee490328145de0e62800fb2e4c2153a78eab41550d4211c1e26765f10b34d88baf03f026940bb16f2e1773d0bb91b16a9ce7c5d2fd19f7b22ffbbf9f25c08ba413c2df12d444cbbf82a3d94fe63f701d1dbe71d3533a2cc2586854998b0a2d46a5d002c700f7a1439939666d5e7a1586339e706f172978239940c5db1e9bbb25cc25646fe96271208cb4d8cf3ff2e6812599530a0159601fa0b5fbc1fadb0fa403e5b2809b995672f11394329c70cd2d24d9a1e8a57d13bf728b70cc54aaa7e319718bab57979f2711bf02a4cf086cfe21a8fddd916c7da6555a1c97aa52daaef65d38a0a7080bfb73cec551c3bd25690cbe0d9187d0f6615041f7802f41ec45fc3a02f046861be81d7fc7dfed140ff133e4e4b73f14caca0b4e1ae8cbd0481c998090eb0e36a1ec1c2d33ba306c9aa1c50d3f19c96b957bdf09cbb5c64572ab337f43b5285131e4a42d660bd45d62944b0c8cf26c6ae18110615469f566c760012c67c4edf8891aff8bcac86b1c270dee0e6db52f9da3cc473d73a4e860b0f0918c66ae0a1fb158f3c4adf46181c1f8ced876f3f1f5c8bfdfcae9feb5c1ee8682acaa06c3831ac464ba5643ea73c064781892644b3a368cb4f3ec04aa93cb6a438825bc0784163a9b6c84f4d6ae3c26db5480b2af4d3e907b8c6379588e3d67cc0787a07e2da2274090ac7b88698f37affd58d44aef0a17598317155e3d7b116f9d0ab7e8747ea157edcc56c48396a80b5ff8a71e3d4521f6ea7499e44ae9a40193c204e89d19cfa90644ecf9f2e9cecb51bad4ff681886e541ce03992610228977662f1df8607e381735cf93d984e853bb8a3a649280907fbd3196257d5cef214ec56fb9e593753dd9e97e495e06068cef023a463975ac21101b0892a587d085cd06a65a1097602f7e036d5e90fb307cde19abf29f68938a67ef23e388bc0b10567e0620afd0f6d5482d2fbc146c9d38d82590443898e30a1a849b0cf19d0be072ac3ffef073399eb0130b9ea8eed117d13ea0c0b7251054734cb7926a74719ab5677498f422f24bb805576d5c308745f5554c080b375db5d2e20b35bea350e86069b3763a2c23230b883fbdb2a095ca5f72fee9a7de82c03f0cd1b231cee8b8124c8fb55e8f2d1c4fc457c9e901ce211176f05458758388f9bc642542f5d041449ad9c3460a584cfcc641f8659dcc5ea66e52cf5e5af8e026133917785651c0426cb86d1d60e5a0684a6214311aab7b203ede34fd683878fff04ce2df49cf0a73503b166880796e71654123078e1209e26ee807737e4714d8499602293b7480dff2f55dd7c430ebecc8614cef142e2126bbdd23211ae4a62354dcf85442a5a4bf49da50361979029f841eb73410c0d8ef389e0864855d0917f28dc8127e18bd5720ecdf99304781a4775b818afd5c5ef475af3d8d8f8fb73590510ee5abbff181a2af70e2827d3fd2725f8b3ace82dd58ab2829d0e08eb05cb01703585cb6992838488775c358708e1f6ddae16a506dc930c2b17c09fb377f52c440d1fdfcc0188ab73b0ae8ab9b97a14ba2a7c8dd29be75cf605d91cf0821d3d8dd4c913c221179d5dca7a469ae3dc56927323a69e1dee64187277aebe4b6de572cc9dcfc183a882d383d436846de6358975b42895ddeed67e2a33ef0e7689e3eb6e4f05651f43d14aae80bee650dc380bb57bcd11cbef0e2269a1a1b4ec00089f502b329ce00064a6e6fad61f43466f7005f81e9823338b91ca775e4a8f9fc76af24bf97ca655f6767f355e8bc16ae831d0194cae8f0b9a403401ca686fe7314ea133d90133238ac73f92bedcbfc248b40270773ecd59326917cf1d6e808a839909f78b87bb55ee415a411afb274f518810cc71fa737c04a27a04c7af48e7a904dc76bb9eb81329a8028f0237656ffefa3339243d97c386ca44b948dc0972d777d136ef72be1c8b5270303aad1c1751b65afee4b5d2bcdf31f39f9f836a80679cb687eae236396f0ff1bfc02c0d9ce70ce78644f256188116480875a70b0da772452e6b161e9e1f577aff6e9ef444ab3feb6bc89c08b6143fe713637c6bb53312e9cd33055a2b017af99f619b01d2da244a1336b1844a78f0d5eec78085cc82ab419a171389d1eb017580aae40a62e3ae0492793d9befaa6a29473235b5730e3351d05f126a702c4a94ca6b795ed71037bba116a163abb0ddc7ec3c74392d8bd6d545bc370f71ab09e531d62ff29d23d0bae6facf0b8689a04f981f5060df7f8fc3cdc4dedb4dde91f49d2e5ff1a93339396897e0ae543e37958464005edced8b5b72a6478a0bee30fbe37dfc9a5ed30e24a465fe17d818f97733739b38602ff108df85087596f6e75b1c9e621bc774881d05c42d087a722682b6c393ffca5584cea1511d74c2f4051cb4fa26c6483f02a30e63696c494054792634050dda892f65d98df096a05e929512dccf5a693ed6e6a9e0e60c32a015512de4b11b4fe20569f3e706b6f80605a66504199079e2bd2170c29839901f88ff4680fb2a6bf44cc38d9b25614d5f7b2150b97ebcbe8797ecdb7922915f74451fc061ac4a372f21447ce7f5abcf77ff83d0838b4120a32c36fa9c19ffb6b6323cdadc90fd950ca4aefcdabb93d76530d0c413a0e1633707a6cf6b03b0b53df81c1f0ed784b72f8e275853ea51ebc75e042f2419fb3e426a813da981f936a1c793157d55fac10f68544edd5bb17df7e4a59d4780496364cc05ace37a0156eb6a1840e46a7bc3e15a19d33c019068dee309c87bf1e185d273d52714f0bb64c218a02db1929cde5f984e23f9a28c4643fa95d3a552e0872e6fa04ccbb4c758e79aed4b79d506b2cb04c4a2c2a7a99b5d6e1c7d68e692afc9a32ba470af50cab83875b9a82e79e1670043898daa7f03ddd3f56dbb1d430721e5741fd968ec783b591fe26aac8d4c4ee979d1b156e9799e6235cc17b7c46ff25b46ab1ec4e419248b2f607c194453bf65b483a65e1c8102915ef4ced0780dd508855e0059f503797d6ad16fb9efec71a5aeace54fd35c26adac68964b7148acadcdc97b0c9f58167d2ccf2c0e0f6ba5351f953075675a5bb3acb39487ad9337cbd3bdb964a8a06d9641ea8d417c74f6649ba8b26b960f73e6b2ac96d52e70d23937cb2305b037a935186c9651448fde0aaa6619cee567a72c63b35c559dd0ef85506cdd16a2409714a139b759f6aa0e74cd2420eca222816168926b5dccfd31cb87a8b9e6935908a8be0f9a65f4d0476b9ad757f342557c3911c4b654d2082a202a100566fd5f8867393b9beef0fa533460be83341b4927e3e0a4e9f2f86ad156266023015dff3ae57b05734f4e9298053aa4360567c40469533b9b05edcf75881398e51e3434b284b15637b193c5f8b9e591b2a30c92e61cfecf4c11c4531441d5ea86a05ad9323afcea86534beb0819579c6bd2889d7a286603c0a54a441d58a42f5522cc28e48d84783ba09a47afd15311a18bb6b1bd95594eb6a4222036b03993d6ade4ee64e5327bcf9529a0c70c7ed79df28c19efd5feadfd45da2128c8531fa44c8e3c7dfe2eca1ef62ab634b91a9041a7250e942f70fe5c19a59e8596af9e6708b7cd68e5956d074ac81eab82a4bb60aaf6b31d31f31e1510d0ba456caaad3cc1153b04c763f8d3d1cdab288976faa796c715ec23d82fce1f1ab3d0bdbf949dd68c0a9b739a167cf65bca5ab5ed9e498227c87a251c020f6d7440a99202811362adad59b29cd87f5799eb302a2d7dcc2a29fdd397a15696e983c52d335c002f93d113a900f549ca97f1bb424c1fe6eddfc3cc9412bd84ffc3a60f0460c0ba244dd380d9130fe52892084c903d9afd6383d32541de475c65d0ebe60fe36c3fcccc70f90de20f77e27d9effc167496176bc7a4567247b8ee8b8986d73a55b59cc69fc4a2a59cc11fa4fe3ea7d85195804bc525da25279f933ae02e81583588384a65e5de6a13e1eca64704a8928f0992e03d90702f7ac08e3dcde126015508479f5034eeb270f09712e1c2782374c322a04e9e1b49e9371acb16ff00b08e73519356b4ec924235e9b3f0277dbf0879231323fd0000fb6ca978d064c8b736af0390d5b9fa2a14bc2cb62141606489eb8f23914768f6616989839786cfb898369efedff013ba7aca4658234821f36c51365ce71d951abf6cc091db518d9f9a4e2c61a96bb598cb60e248f4930aa5e6acac1b59b137925a6aa1c58817ea1f3a6611a7800a15cd832a949d0eae09519c53898a25b32467c22498b89efe6de2ea7082f85d93ca799341a8b6e00987afd9e0475f0b348f5575bb1e8b86f2427a00ea35f9318839246638fa8b28c900500193e50a27b627173de195755903ea435956ea7f568301c61a61d764cf50dc4f207abc764ebb33067676dd1a99d13fc67100130bab4c040bb065d2536761b1e540227a301f16b7a53d01ae476f5b919a10b44ece65dedd3db44cf4fca49519b81ae1beec3a73af2559b9282503798e293ddf2954e1e0c6a901c3e05ec852086ac10b05f53e07ad39273e7b095de0cbe94a85f226aafc39d4166b1ec1a3f8b2f09f3f87bb56a169de5630662843bc9fd23c0f4b596b42fa48592f5d3ac8128307028ab7f57f51ed5bbf34fe3964c7df6350067145e517d70a9ef5cbe1c9163f4b376023e1cbe7436c8bf5ef512628cd5ded1a99f237cd7ce30b4a84b6acd050ddc1aa5aec584b858e9bb7614b54c2b4c4f4e3d2137d4dc5999a40f97df776d6afb962bd7dc02351316cc9842096147ebbb46cd12977da2484ce2981220b11a6f0f1d0d98bb77ad314d7167e30501b2dbbb5688e3b6c088efda0cf1334d366b9e2a638e4944d721c2e68ec97021888fba1d35c60bace48d92ae1bde4d2e576180bc062209e04a479b4c3312543846284210cfe336f19f0a36b6637e8f12282535c99108155afc69c7743adc4df01b6be46eda35de7ba1abe7d42e98bd7710e9b626acb244bd48f9d2dba88b4f1b972aadea9ed112d93db332edecb2ca54eb19ac9f747510b59107249ac1149889cbb2c4b039a3829d1f35caf1b2ddd3cfc47c11724cb53c42dc428022cd7bf567c2894e66b401f4e2680a4e2712b77aa846e5af0cc0d994a170d14727e387ddc4dfabc16902d1fa41608abd0c46fc87a48bd5f91cc05162c661eee9ea47aafa21bcb3105ca380d7b2e745a297d2af6bafbf702930b33778d74378a32284653f5120be42273c371925b4a1c66873c25a568a04fc744f996144b079935a44b71764f3260241dcac0d95f8db3ea4f54147a30de9c2243498a0eb7015c41fb23da444aa7db48c6bea2a4399283d963ccbf0120a192c2ca9148f0baa141f3cdb9b646571eb966f88101b59847ed1dd7d4b9a8531231276ed2b574deea384c624822d8567435c324c225303c0eb6002f3542890d0b7c201d41b2940d5f5cea11c522341d77ef4e34390c42d22f3b41dc3ad0e18457095f51234ccb0f9d723ac8e042a637fa555305c19251dd9be9235814473be6c76d90dcdbc9cbbbd8d2a59762ba639333f987cd7fe501d66125963be60caa219820c84f84cca7485dfc543fd9de7775685e5fbcd78cc8abea1fdb6df366984104236217b4bb9771e0a740a1b0aa268a5a6cee5eeeeaeac7df1d27eb4a2ed86354ce9eff7d59b83e322c554a4324d71bf3eacb42f4a31158935b4439314f76b3969f5ca64325255235afdfbd1b72a0dc7f5fde0d66e6dd7402e5764f6072fb9d72b972bee77517b136fbdba090a131425131475ea5877f0b93d3c735d5659b41ae522dbb54ebb15ad640f06957341bdc93eefc73eda339ec158ca1553b0d02c281614cb0a4b9b56ccac098a28233e61284f78e6ba84c233d5a326190a5724bbe699a08832349391f982fac40535deaf5af3fdd24b7b26284c52dcf9faa48ece55b00f47a9ec638222ca989935158932e417efe522853df9cd286edf04052fb9d9e3125e628202087f2e575c69f96471a89ed4f00cbc5442a1128ab462ee4c22320afb482ce4cfd4994ed0c9ecc3516a78c7c891348110756113691ef6202fb17dde691af679d3704f9ffa9ec73bd5a77bda8f5eb983cb96a960af7fee27a1f8dcdee9a91f2fb9fd4f427907e189977c3b2e17c1dd79ee691a084f937bb88797f00c1555d644219cd392824109ac21e8cd4a06c5335a6f71b3eca8d6273023565a919b41dcd96014f5867ede2fee60a7bf6424c233b18df00c169148d9c35794d6a97d4d47cbe2b0d7d782f08cf6a9c333d5e3357578a6becf3d417f4dc924cab8ac4cd1474e063525a3a64d8b8b42464dbb75c924cab0ac931b1fa4c80f0ecf54b71f77a2132d99441951f6441953e3616f5a39e455ecb595ae053ad75973b39f07e6ad6b5d8ea6c9daba2cb552c9853ce484e276059692ca94ac28953cf4b2875694037da97521d1a1c264eab69492c8fdb6b77c31fddacf7a6165b4176b5ae913cb253959af323a89be741737752e5d0b8596c57ede8acc15591bb295b3d44a4d6ad5e9502dfb43e6caec26c3ecf54f12b92df3fd90b95132914c249328a35998bea0b3e82c64076daacbba2e5a5dd4aa24f34431051b31c11978bae513958d3571cc05f05bf2ccb43740fa7a20833ca3832f6f80f495d63404bfdf391c6d6449f4bd8112fe60233b19e44a2120946eeeee6e98eecea29a039f81a3b00f9f817d666aa66067216167213b0b9fcec2a7efe2105a7161851056e1a20b824f7cbd3ba6dc0e13108a0da262088030084a58dbbe3d47cf60efb7bb5fda7e2acfaa0ad744ad2f47a269768c4a96c59ee59067587a2e0bcb6bf87f8ecd4b5bd3035cfcc579c0fc1627491fc6a2eef6b63c5cfcc55f581ced2e6c8e4ddb4fe66e9bd55161148260e46edf2cb52c2fbd864b1c5f5e5e5e5e9e73bbfbba4f5e96af5f72e99b722e0b90795d2c01a28cd26bbaa59491b4a82c67e9be197743b275f70342b9f53b4876656431958dbe6928d796a2a8adb10a893998cc46b0cdac3a7d25413a3b3cdbb4d886a3e5d7a194b2c9b3975848cfb2a8699a16a149d36291eb4233d91b2d1260d3fee2e52fe2d52eb18dd6986573cbc1a9e42b7ad97df4db65367a207c67a51dc33edf4408106b54a7913ebbbc95b1654bfbe2353d8695366cb3a6385d38d3312fbf7d9344ae8b83361cdba5bd91c7be6da287b8f96d6eda06ea8db76c8268939b6951d3344d8b9895978932e85f3ad04d5df59a6ee9e075e93edab5c895f74b2ca4d3ac581f7dea8b6c376725b66ddbb66d9bcc4e37200ca1bd99cf2eedf7c519524a392501a20c694d58667d944a2d4f375a6d20bac98e3cb7e909106b6cf2d5e1c4aa39e5c5a0932b25919bc58d1e76d34c6edbb66d97a7d965ced5b2cb5a8fd59416a5d1c866bdd021cba0866919a66599c644ecc8300db56323fefa65736eb4672f6a90a6e6aa691a9a6156b33d14068cc1873354ba7ea35d634f87865959fba621b463c7ec9773356b5239bca1c3fb635709c11e085f2dad9cad0159ac0a5d264ce6c2b0eb47045193c30712407088d88169d78c2dbbb44cbb7555ebca7e7d08cd66581784adb16e75b047e38935110369700ca4c1319006d75a6b0f237846d25a6b95527649a6c961506d0ab6038aed806248e10cf6b44a61a215049fc7783078a669aac3aad3f8347b50e719cec74e42af2f85c0612b4b4d69db5229078f9897a39cdc299b6ff8c824f4744f048ce811811eddd33ddc737bd47db0e78e1e75faa718ff2e807fde0d725756562e802e4607fb74fdd4bd7b819de3aed84f6a41829ca04628f51ffc6121706eea38fa80ece7dd2bfa84a645a224597f6e5cd294d6203c237a1fe7b60d4a6be511318fe8339826fac8f00ce9a28c5756e8852b164805c37c79d99a74f057be629160afa3cf17a5ec3001658a341113d40f3e611e92ad3c4b747e8c5829ec757326883e97554a5935278c1b2fcf24d1b509413abdd5910ebb35d35f2a7b2bcfb88b47eacae1866365a5639e6e10f6f21c9b6a4d0c30fde53c4c7fb13849f838b04fd64d9487e92f7fb138ef9375538ecdca495db6c2af1d6fdb4cf134a8b5c64e3a6c9a97935e79a674fbd96d08ec1edb70f87095092fa7b61bbca325a687eca3d72efb9b46e632ccc3f6a39de5816445afdd576f88f4500d91ea6bba76dfac42d4dd70177249ddd7b7fe077949a2eae47e1cfac1de88ce917e06fe02f0c3036017407221451f128914eafefde04222914830b893ecf78325fd0b599295a4eeab9794e5e008b97c5206e492be59c5cd0f1772991422f188f45115fd87d149873ce33dfb80f04767ea66875b11a251f7f1fde1858603f0d339de1f9efd1b3dfb579f7d07b7700cf7c021d17f38db6f64f95fe58c07c4cc9cfde0d33407c05d482da418520f24fb71a367af3648f481d1b0224867fbe9209d4f1abd9ea3c41afc6a67ea8e401b0e7eb537f53f7c238d5e9f7d44229142cf70907e131a3d233d084c7d36ca567e6e26eae0ad5524128944f2723f6456d471940074a59f3ad3dfbddcebb2fbe043ad894b0e801eec57b28fb12d34417c58acfd2a33f7cf9eff7567914824e24817d9cf5aee5fc7d98fa57cf18a5e5756beb292fdcb5eff915e0f210bb30b098b7ab372d1d97e240b64de2fde1529b7fe1f4b31fde3292f7ff7d2993a2812894424b626eed9eb453648d3ec609ec3d817f62b35e9f55947a243159dbf892c907945dffed2c10eb6e8372ea467a2ef689a119f98216ba4d763e733c41a22fb7920e7929e6ddb55b61bdbcaac565656ba95bbc2adf43ce45ae23348611a78f6b94a072fa475bb91ba59dcea596cc88ee6caeb43a110e9193c0e7849a4e75ceebe5f26751fbf8a3ecab92cb27c8628a31e5aff4a2aafdd3cf3589a659e8ce7b666593899734a34c6112084923dba0021e076edb834eb3e246e2643b1c7c680c82be769f74346761becb37c8967301b3b99b804a5c59d8b5deb300de3c1b49aceba1f1da30664ee65bf1df787cc1cf14cf5d904060ccb82725a16f39cdd555555f31d7f6800fad880e94f6bd6bbb39ef5467f44d3c41d2825e3eb7cf57974da45245340acdbde60e79e8dec17ef2844bac9050c367af7aceb22122675f43544711817373db3348c7bdb0f4269f98b1717174aab52a9d4bdddc062eddb72cc25f49687ba197c3abf70626d375aac4cbc58c7218953b8309d674634ddabed4667b9469e1b97344dbc85b12ee2126bb20bb8de57d6d272d145f6932291fd722ed6d2d2d2690042b998bdf920144e247a8b8b8bcb5dec270357e9b2acab49d5783119047b9652fb833b3ddb1d4da372d9dd45fad0eba5a5f1da1b044e121edc16e7d3c010718b2d2e123fb863675b77f4493e4b825d0e3db7db615d46ebdb165bd8f4b9ce67cc37b88621466f04ecb51e65d4b4f551fbc35eeb33761a5b5132ef2f9560c81fb020fb4ba578c8472a1f5a1a4990559fbdd72bcf5436566c03b7fef371e304aef68f02375e8022a9d53f9abdda84d8244994ae26b5572c46eeb1835d754cee8d3860ee64b933fbf5790ed294aacf596a1a2ec66f163c41193116511dc628839e5aca5e94216f4539ab26710b1bb7b052323fc6d86d814c183f5037ee30210399a5ecee805437e6209ba12b43481061f0b8158c9696179faf20c79e4e56dd0783c78dd0a6ba3c6f37e2bc46ed80bd886cb2d65a3a68331aa9dca50b9dc32c77d3bc8ae8e573c56a00c625d99b79ecd775b5b454d505c37a8675d6afceb2303aaab572c5b8292ab46939124038ee90e9e5b2f8e22e7731994c3030303030afcfb9b17bd17df2be80e9be78971717cfb92f3a785d7440e67db10488325c5ed3a60e74972eabe11995cb07c133a28ffebd744376c57ef486ec47459d640f7bdc6ea8d86b3ed471dd472f656ffeeae669272b590989392b8d750132e4f1c1188108a085716b2063ec9ea28ac28611161e541c32e3351cb5a03f604c51f1c15e8c12e2119339a936d88b2fb1c6b017dbe33884049ae4388dc705bdbb0f06a8935b17af657171eb6056bb78adac662af0662a1dbc19ede0cd449a6c53e5c27190c4d2e4225ddb666d97552f2ec4856a55ba0c44a16456ece7756b2eafbacfc6fd2014ab0c3f5ca8302d8942802c567529ad6c8fedbac3d838e4130a4875fbd614482c1b960d161b32a8d29d713f08c5861446a2a85015caea503115b90067be0069ba988aa928853885680548f3988a529e7a12ab80e148250865c6852959c8a752a914772217622a96015584462291678635c32609a5da0c19181e8cfb9566dcbee5441c625596452f731898d20846894f554fd4b9d1d222080c182a30be7b8fb95f090616537e781ebc45604b1821b4b7e578502f006f200d8ce5b61ef28317680b6ddc0e1e200f0138232f014853b2163cc51af241ea47ef84a75952b132328d8d2e88326444b25d723aa83e78e68b2eb8f29f34c205b106bc231a737bd49d1aa5b854a33a20211a34387c3fa2581c84379b1bc70d47cb351096cd12080402cd1296b9b0b814c102c2b22ba432024dcb520175d60d81b0acba782ba212224ed9665624cab0775e717be0b5011fb7bf09dca6c0056e5baa514a57faa91ae3b230cab05f882fe81c68d33726372e8954acacacac7ce5dccab9e1ccf5951b2ba08beb3610a8e756c42c3dcad0ce22f9a469d734adb36eea3a205d5afad6a7155078b017ab89004a4b2c2f9556ac515559a3ce82a78bad64d828d3309f2830410a46982249dcc19c3f3430ef0b9faae82407cb8b4a17a78897fd5eee05ead9595c425c82611896a59080a616d2a2920a6d548264de2f22b9f2aabc865756b8b618641a114d9286154248459744498b45a20c39043e51b1998d47220d90c417c413c426a20a6e3fee4879c427e31276882588839434b0e1f62dd05d010bf417b27f300accc27d0284423f082a545454ac8f2843667602457a78862f6482016e0fe0c6f470ba7109921a2315290cfb6c68c113863deb18c6c0782b228b45620d930efba9d8084419f2981151867ca48269ea12904a165333a6402b9c4af68028a3488fabd434f562b91697fc78b97d962636d88bd75e4a36495cb8c05e1cc4335867ddffb8db22187892ffacdb73ceb98d7a94da0718ecb61cc28a472002b6364940cfda097b72344475fa44058685c6c777feb1c69c6f3813fa9c87f6aad8f824a68e54196aeb7e256b4a79b74ddb36274c037b288b058e803456dec7400658565656349388c5c4b26d73ba88584cdb76976dbb693bcbb6cd6db24cd3fb968965ce6ad356a8359a2f6f297d3f324e6be138171706d96f74411b36b339eb9c739e06f6cc6ddb365bd99b73ce398f4d9ad1edb104b146c725ec70fb1fc0009c51793f0316982aa16d6a9bb65dd5ce69bffa0ac41a2b5510b146e87d21200deb7d1c4354562814ba4daca1c2c28dacea9ae7589a610c28636e58c6556bab386babd5054519a128a35ed06641dd7253d7b275f09a16dbae910c768a7515c3465b1d3de1f62ba092fd8365f8c2ed3700d288dec7016786088224e2322cc34819c675499228ddd061ed6792ad49c77b8b2d2ec87ea0abdc26d600d9233b32361c1595deb7b1c6cafb31908616b24a54eb18c600c1ad086cfb58ae48c51ed9a936dc3190caa522c2409d7627e808679be59764b9ba7839de2e86e2a55dbc1a4bbc50bb1b6bda85f5c844345c600c598a32e4417fc681cef21208f40b143a14854eeb6d620d0fe4dcec03e8e1042d47aa95fb3b6e381a4208638dcc26516ff61ecd90868af6fe8c3bb747d370f0d4efaba1d732fa2a1dc318a1ae2ba2ed06dabe1f9a07ad6fb686fefd7041e7e1820e214d4c992e087441d7628d957fdc057da58b48a20cf9eee20e600cee9fa8fe8091cdae6af20775c654d3944236156bc42551c60eaecbc71abdc5161fcc6d96dbe720cde8fd8616a4211df43ea9b3e009f495aea107faa8e3e0097411cb057d30762b0274ca5ea8da5b3b08bd2fbb7daee3e089059e96c41a14cae84b1f6e636d0f0f924534658fab6b5fc53a79bfb8e4cacf7ed532dac8579e8ab1a8e409ed117776a21371496c12894408458a1b23921ba3921b2bee61c40e139456555555d50fd4e52deec49d23dbb9cb1144758671f99d55b6e4c5a45ad60e96590dd5cc6cc1b8d565f703752d2bfe08e871d311ba387c8a364892fa737862afc7adb407e1e3ee94ae489925b524a32e3db56e590da06e0567d431028727990fb70d2833030539cbb39899999999996915332b989a5bed3001299d01a49a375a1918830ee05bc08d87271ab552462f7e295a181d13ea572abd6836208d193fa5f24177f7b5695a5f655e45ab15b6d96bbbca7615c9237bb6abc82aae0da4a27269dfa4131590b681fe85ce554984ab2ada76ee9cfd4076b35ecdf716daeac66ddbb61d6e1b68b3912f994826928964428bacbc721c77d9c3592bb556ab4a275c15fd932999924c24936ab5fa95fa15c9237bea5764155a0dadac481eee9a74b212e2aaca55a248125151a9f61ba95c14b240581291b146a50ec9d4433912a9846438c94432914c64a8165a5a522d964cb5b4b45cf2f04c4fd5f2c92a5a5a5a5a248fec89355aa4139992a9964c26ebd2ab9696965b9e8429dd7a8bc585442b2d67f98b1697ae647fc8c858921d59155b390bb46592886452aa25c66850415043a9ebc29e9f255cd8f36345cf0f10ee762115b0a0c1fd0e6d124c7eb053852d349161ec46c8bdac39b579ad5250f5cfd498ca75edbaa6dd54e4ba56afd25d9ba65d974abdca75733d7b1569dffe85ae55f3adf24fbb4b04695a8b5442563b68b35a678202bbaad9ac12ad26aaca64a4922e524c45646532224d4628a51688da8f5e2e576499655dd27eb1bb96a61c64f6c989e245a27891757a21376a22fbe55cd1352b5e8f161569dd458f853e2d1314262834bb7251f7d5cb71a2bb48d1cec5af7437a0c3ab896afc8ae82b366a553be8e35eff8dced9cf64e4c61fbcc4faac15ee1c67a3fd5caeb8f31f47b240f8ae8c2c10be22cb55cb45ec506c5a86d9affa45a9ad6641aa0d2a43e127ecf56b50bff873b9489ffa37e8c79fa619003cf5bb9b09b34606c6e8b884ad21d41eaf2da8f589faaa82fac9b09259c5ec5a5fa669326b049ffacda72b6e5bc8a71e4ed479214c54fb1131f62ce1463885c8adf8857d2a501d32e6ae0338fac228030776218c11cff105105a18e3114fe0a1e2093c4eb40a21acb08b5a55ff2083379be74b2ba185391d7b641f0f17fea5c68432f85f575d726e9c4f85f7e67ed62ff95937d625a13cbcd559eae8e4947d65f703f4f857e703f4f855c703f458063cf1a10c3e0ccde5ccc592b77ee135e9f8b5ce114a0b00a0695f59164e2b4f2316830cc664b18b49b00e493dd05ffce4ae200d2d26c1376ec1cfe69caf3e2fab69714048a3adc61ec7ea8b97ef18ad49c7ad2e172039ce06cd0bed8d7cb4f0b2c5016f8c13d2809d0595d9289b578c13c2f9ccd611fdec4a31eb6ae905d6ca16ca12f7856a5a7287364d35b969a8755dd7c547e82365ab9add120855a376a050514a296549b2ce177ea87442896d89bd3ae2c93133c621e27d51006317b3472eaf24bb12c3695b6a232aa79c4009145c908d78065eeb92e6fa68a403bb233ecd9a2519dd8973e5d59052c190294b2851e1409b966117b5aa299b63dbea84133481ea4058b137bfaff776e342525315d2d0ae05d3002dd8856b1d5ee15a96754b0cb5ba7d9963c790bee4b644f0c9bac5b08a4bb37c2ac3eb8027ebf09c03c6b06e85a1d6a39a868fcc6ec434d3d6971c60a81f0a25731d7b651d46f64b66f6085ff2b580ebf4f452abe23e7d6d1a797a5d5c1595dea256b26799ee7568ddb2291beb34077bd6ada8d1ba0e6da2b3e82c9829a5943233a54c29b5244b19a5945256c8700a1362cbd49cec35619ea0c67f11ca8577d233d544cec358d58c2ca750e3fb144adbef2717be7bf64c3b97442965470d327de26ff90f46896dcf4b8d3feba95679e29426ecf1ec7132a3b0c79f53d89b3f0c044f2c9ed46f4e99c23358308cb78661377dd893c240f0ad2815fe9b134adc79ccb4ac0a5a9655596c55b742652878e10453681d64ccef2823b384d07efcae9cd549292bdb936d9453c2d896e50f989c21c5e40c506e7663bc1e7cb8f0875312d80e1edbc1bbe8457b4cef367c22861745cfb5f8b2649571468bb2f389fac9c4e0a37846863d6b067b968470e69261cfb2a2b5308bb23233d8b3ea95023cc12b2f3383695c6cac04fc000b2e7776943debd6a56549cb9a3d1977236edcdccd81b885109dcd9eb13ba7638c92450835f620ec35d4c8cdcc81b8058ed89b1072da0ec6e8f776a3254738419f906b122274fbf0866e5b086344184323f6b4d39630c614744055557577a33c18110402f126c483e1c38def01d60002cae8c7971bb91a7af6f85087ea53bf761cc80342c7ef0da559d410d5cdec618cf8f7cf3334b76f795ec6740d704a15980033ae7d78a625b3a4dd3b9067385e3eca43db3e1de3153258800ada3ee72115b79a4d6ecbbe340a218c1936f8a534aa731ecec359cd39a78db42da9f0032b48d073db87646fe4fbdecc77734e8e15cf96b22757913f69299d4f5ac28f525355f53062874805ba759ca8387656eb360477638ed423dd85c1a7f6bc7ade60136e6e1b37ceb8318669505a86d98a4a1ed4aaaae9019b7c39545cbed59d61b2a62dcbb19b2d6ac126976d8c84db84d2c8124a653c0f85e2eeee2ec5155cea04849109b5ef272fccce593c7cd7039411cf5d8cf1b85bebe1dd8891b460c9924b42583f3ceb62b6f4c3bbd52f533cbcd65f4cd196d8934ea8956b52e33f0a7b660fa4a4f1fdd8efcd06b50f6d8c22933d1576b07d78065ac10453dc7a9da81542c84416637c6285abf1fb93297c7277401af31d3b102f1b81313a07113e5c48b919097341a8b1df53946430a6c2321fdf6fb470de8af1ea5035eca18c883142c8cd4ca18d1a2dcfc4781bec358c9d0c03d1c7508d42d5d2cb299f992b31ccc36bb5a0d60b9b508220dc786692c102d42abbae6b0078aa5acb38f2106a55aea2b456cb7e943b14a58f33d47e945efb679d2d8abdce06bd65d91ad4adaa1b81b2c13344e49ccf9d4987d4d1d1b9f2c24d47d4d1b9f4ac03f670176f654a6bad60edcd8a107461e74055a85b515a6b8503bb9645c118d5ad25aab4d8afe36097c5a17daa2e5f254962de0fe6526b552c754812cba26a1888ea5c102aff43419fbe949055971d9c97e7ee666e719979f2237f6e9cd3314291c1988fd3b997d50d01cb70311cf082a094123ae108487e2a14186166e65802272c21654151629304bb413a6f2c031c288956cb9f50c625a1fe8b52aeb573bbc15220a7a432e9b1a7cc2c2a11dcebd8357f7a8b7bdd2059f3e79b3db3c94c652a96b5dd688157dcabc26b63533b130ffafafacd27f77a42109e3cb1c1110263c4a65e08c522c726b3342da3d68a023c5db7ae708d5850f888dc42dda04d6f47e8fce9d3755126b8fca3a97b5d5408f7a24b386eba0443cb0cd04a99ec473917fb7137b37cee1cc39cc2853bd3f064c7ece9d395eab03b7bea67a5382aea377b660fa411eff5c98428dccb7e75f64012aa0bb7a75826a8f10916f73af783ca21a17e562ac549cbbd3980de4af5a97e3da5762d8581b8e626840f973b42fde0cfccb0cb5624428068bba1e1441610a1c21794d8d0e3c02dc8a00c3f3638a20ba9a48062439360af5215052d90c1bd280ea800ad14a411bad72d279006bc9765867b5960b897a585125da2dae15e561cee85b2d870af7346a89f95b27c78c6fa35fa6545b9d7adee7243fd1d75b44fd7ad2b980ea95a5858dcebdc92ca459aa607b5a1f8f9d334d4320c6a70af6396897bb1e5223046116a3dbd7a0acf64bf42bfde3f3cc3fd8a3186ba78a7958231ae5b4bd47afaf8d0e3a6422d8e0b197061063f3a36d5d63e5dbfe8f06344c706dab0dc84b8342e0269f8b0804f86bdebf0ea60cb2edd0cf6ae7344a8f1d25e6fb1510a7b57141cf34a5dd7f523f59c0fea17774abf485ce8384c537f3d488fa629592bd5a7ebd761d3b058bac2d9afd6d157ba6e63a59a26c293f5eb5ab7ae169fcf68873022cfa971176fe4282fdbacd22e25a24e08f7c446a5c3012f775843a150289459c85c17610ceb720359086358e77a50f9d9b7de78eb380af6ae6b5dd65de792d46ffe14b9d7ad54535aab95bad7e7cf759db705c02817e3405ff686d38942da3a8d21725555b292754629e6e5437d543b5440bcd38747ad77c4b243ac394f2fedcdbc7c5b8fbd9e73468eb26714aa108539fe26c61863f42c995ad3cc0cdf63d6b48d1d638c3c56f0e840a10a657052a165829718048f52fcf99358aa1ada1d42a86d73d4c020f43015a0600525237842821d96c82d6765d10bcbb40d642d51b251eba8f4c2345ba415a516103ae47637ada8d646f0a94f9be6883ef57b644928ea766b90c711d47e25eb3c82441e3b64f799a30784fa412947340da552a444cb4809d628a1acd6e54bbe656d54bef1def0a78d99d32b95f88f614f761e7bf2f0311ecfd42b048f0ee009321139b7b21d20ddd966c862bcd6e5a394af6c50e5bb63734a6a7c667596ad2edc8888b7e491692b774b21a3066934788a875810ec49e6e7a0254a6556ba5127ea609fb63b30c10898cc11d44f2646a37826f6256514cf944a94ce88d713198c89718709ee0819c48fcc5d8231e27b077bf125b84d0f06229ec712663a10a14f4df707532def02d25cd20b4690e209376a37a2b219357975f7a8d29e21b95b0625733b9b4751782ba222b59fbc656550336066b087622f7a285942354af614ca9b1610ca883d9e130a129a066456aa69b5d41373415c9f4e51f7ebea3e823dc651cf01046c516d37eae1b6807aab8f0a80ba2368d5dde3a3ea1f100a8472a5c5240d425641089903bdc5d6852adf553d419d21534d503f19be4960945452d9817a50e3c551d15bddcd675d9635e980b78e03de4a821e991f31cd7c97b8507f3f199ec11360fcf9f3b2d5ea275347350c53322c8d107924b765b22c082184104208ad6a4279b36821841096a28e91fb1dc66e03a451cd3b4310b71b170b98e7ec6a9f22a5a512a553ca7933296c18d929cfc83929f64beb987aec75cfb0eb8214525a2ad90f25a1d55611f936fc64486058942896144b0aac020fac024f850223150a8c20115f05a48c0476357080213db7a70d4eb819899768228c783520c99044e75a70b042076c511b69589d0ca44771dfb23228d8cd683b833dc6de1dca93b96c516a3b202f90a694d2575a8dc01c3156262a8dcf2c1cd478331861ec5a82fa7d47746c342bc42609123fe01598b083ced540d58cddc2de7decd7b3ab836fa8d8fbbd4918a3eda31ca2bbe9ae33684d3ae8e171d0430be12fabc30e3bec62f671adeea4a92ff7b997a87c8c48368219a745e5cb6d4e501b3a7ef4e6fa4df6ea74f28c6908f9befdae67d90d64afbb3ada7d38b77f7539977640b89a3760c018f0dd850cc67cec23e3a516849046a563235c84761c453c47c146288c968d7011187906eef0301030208d78411607f4eb382ad7b45fe72cb4676fc790c33e6d5722090fed7d252e3eb59b75ce2aa1bd6fd918f66225c9e1dbbfca6ddbb93b603bc75d09956f1627098feddce71dc05d74915502748ee3ac901d7d9ae7be59993ecd4f8f81a8911972ed449b4b486cc310a4a0d33efa84449f4cd6750768bfac124978807e5d09151edaaf3be052021495f469feba66238fcd17752eeb3110d188111e391891ef1d439690bfbe44f3e86bd6649d3bb4011ddaa87426cbeeb8ae1dda64b05af10a9a71118e825355b0149375ee9cece4ce50cd7478e68b43a64db4e13a5057a19d4eb0674323b552da50634ff489d3087b5c848bc89c6aeb4206994672f154e30b7172e41d822fdff6c6b2b063cc99315681254f78ab8287f626da125b0dbeb2571a516859962dd591848f41c5cccc11954af5c8c1cccc4e50ade48914444cce39ab275078609d113d7a18c15eac3a22d88b3e803ce3ce470f2372c4131189e099cbc6e7983647d5c3081f3c3389a030958308940dd48c1ba94112eee7d53ae4c9139c40416c4aa9957a6205b5aac7709c1642ef566d4806632ebbaabbbbdb04abb810662fba212e7f91e4e52f5e9ca25032329e67eab0cc4517ad883e41562607da4ccf7887a5603e23613e2f613ef379cb30283854266e988d50b224419a86775025fba164483f22fb9d0bd91fd6e993163b4d139770f62bd58d2994196b1375497fbfac658c21c13316b547b0c7f718caf38de0992797909803aa323364700055d6b027657ff6ab7f73c2694d29a59c4d6d0ef6e4d9ca783552e698725e96a40f1597b69c4f58007d728cc4eeeeeef8e3c61d26646015d0670cf3487dd5a9f0caeb1a02bbbaebddef6eb057ffe5942e2e1d86bdaaaaebb2958bcb85f1f0eaaa436a652f61aa8ab9952773ab19b742b50faf0ec3450f2f5ed98f87ebeab014d6d3614d9aa8d73b7bc4e5973dd284695c5cba76824f736763e1e845828afd560bf626f659bdfb876115128c95f0cc3f370c66ef5889ec18c9d5f1148ca43a23f96f4846022bdb3aec4dfe215291a48a903e8f39e199954f46d2b18a3ecf4578c6a423e7baa2b82cbdd3b4a63a2600f6ab01f80ff62b55157671aac2b04ace7eb224cac0881752d3661ebbaad4132c780a5fc152b09e29ecc536dceb5ef73251cd6a01646139ac55d5d7e51f35bd74a6cea5b35ff5eeaf69d9d9575dff2460ae0772ee0fb77f077bf2f671c361adb590bd9f19c34300ec573a752e3a46f2a2e39eed460f1d4c87938487cb5f581cd35d2ce3b87cfe74b7df8efb57dd27732b00588e6533410cb33e585ec2deec3952fb1f2f612ab887bd89f5f469ded4f56c2c5cef08a18580bdfb7cd63c3cec4931bbee8e027b87a38d48c1de6c221fb1376b4fd14ef08c9216c2b66d9c8ae1a1e22ab091f7e6e9e3bcdcd487362e3edf3b4d63b238a6bfb0a6b6477a38b479f1790feb38c55e0f5d8f3ecdbfe87cf469de4567727168f3f2f2177780e92eac122e6efa0bab44121e2e6eba122e2c4e9211b8b0425c1ce62facf7e2c2e678b1a53ed9584dd49eaf22a8d5af7fbdf3979b5ee64d16e5a1aa7f3055d3305d12ec5df745c8debb1f3257aafe70fa7053076d7849d3509b79ee0140076fd5e1b6a890868434b03b6549964aa51f6e156809a80855760007bc8c058c313fc4cf4fbacf7315b6bbdd6e74b7e2e6af9e5d4cd4ee2d4cd4eb2dcfb82be212087b48dca1bedcf4228c24c65a76628724e96c674f21cd8bc549c2e3c54d1627c977c4c5cb5f1ce6d67eb7cdb3c36333efc351b62230cb55581cfc84bdf9dee1b1434a0a5f91c9298c05a4017fb2f8d3343d7f382dea177fe24fd48267b2cf2602baa24aac074bfde8649916b7771da7f80903816d4560d6b4c3f4472dd89b9d7d96410efda6181ede52f0cc87f5bc1bb1678ab142f08df97cf3f04c45d24ae67b495331df4de69b484cb7a389140fdd8e267aba1d4d34e9e1998f7fb026d3d4419b0fe7f27053176d6e21f4baf360f989edd8097bd3d459c68e7d9eb5e099cfcf3ad4f8f3a28b3b7d9a4a24c1012f7668b384124930fb1d71406cc310a4a0631391409bb8a44ff33a2fdd08840449a596bcdcf42fa65e2cec93c9c526a91e8becc8e12ef3a439982cec938b9d67244a8a18691a6833255ea123f4f8abc37c68afba1f70a6ad8de738e2eeeb15903a79ad0ec8bc4746dd1016a984ac69082ddeca72ca869dd08153452aceeeec549badaeb51353aa6b9fcf82dceb58908a47b3bd43878a3dbb5ed978c57d1d52f97861ca15a15cf35c16b57aeff46946f1f9a95feff814994adcd03b137bd255ce14c2d7468026c896504229e7af1cd4afde08df40c833b41d9097caa19e0955d59f5272c5027755f3c1de57aae9087d6ea96960534dd6f01c6a4b223232105671a14c133967c3eefb85165a104e8b0410f682309079231241e2142d66e28e1dd40f4e41a283f838a20d15fe23d1a1eac4ee2754986200dd3ba8ddd9e0df48f69847f34370b72f67355f6ebc3dba2f905df1bc4cd745a594524a29a59417b5a40d3e49147bd2f3e2a51c74b220a5ac6445239fa84ce9162ed519c1fde891264f4479528229438ec0e264d92d19ca5642aaa1270a4dc4408878e78b1a3f2449c5b2eaa045dbc20e7ede1b4827bd646fd22bd366752db35f09b35fbda865cbc698833affc95b59389f75cc4c4306636264ed315619949d65c5c307619df610c98438282aa154aa4cc842a99472b55a6cda0ec4fbc5efe20002ec11ec55c742e053b392df23aaaaaa3e1a1fa1944a4aa040b95d7587a3f3c5219752d9f4f6b00daa3aa8e4cc578541eb54cd00000010008314000028100a864382a158401e2adbda1e14000d8da64e6e609ac65190c310338618430c016304000000006436490069e8750bc7f36cea52f05aac80a06f871b37b45644a8eaa0e8464586272ee117e4bcd00fe694b058202250d9d1fc67769a6a80df29f151dbdb44358f4449ff414de4eb8b5d0c6b76d27915aa0aeedb104c0123e98f44aa09db3453ddb8892b08b749795d4ce1edfb8dd89e0d3168b78de0f68a1595837ee2e0bd1e9d141f3ce20f733ef56654ce59e0854c288fe188cdac19cc152df840494db52d0ac17c458091f36eb8255083dff83b735889ac736630a1d8e377327aca1a870daea3f17d1c278328dfc9d7264321c4c90ea63c16c5f6eb54f8b61d1ce3d514e11ad968e97feac9d35119584f69e57942a20014aa9919efa5412fec441738da3b8c5e193a1c52705ea3804a4630d1b81ed16184645c1b82c02d43a691d0eb95142a608cc367c91e3aaf10ff3ca868659ff24ed0eb905c516c582683172135c26205d4f47f9654b34983f66f5407a4c4cbe0fc8d6990deb4c525fc0b329ea3d27419e70071605a61ee3d0e6c2264383f6335c4e799c7588d201a961954e548369fca74063cd3bb4451180f4ae5b0ef60c00eaa8818f490ee6e5d74ea3e27f67a26ee93a9120a422529559be688feda6a76824cf78a349b200c10f53357c34e57b1ff7211b5c3f1ca752ff8ed12ba1d7f99751f0d9832852aa44660f0bccbc9a498abf78fa2150bab9abde4015b8fa58d551957a7bc8b09b1c06e00d77da73c7ea442044b8899726ada06f0cb9e7217a10c2f2f4f379dc9625ec3b1229f8d09c947d742dd95249e9f474330ddab1888a37d8ce72a9270108a8130ffcf1c151fd5d839708990548d7ed5718521964e6a5e4e8a3909aafeefac8eeca55cfbb12b0c0ed85f96dbac37d60988421dddaa2fa72cb18d82c50649c32ef49bb1730abe3684cc09ac105a0cf06677b32b7fdc0d0b3a2a6acf96cbcd6a5bbde10eae4a6b83d3fde163242590b0b3a5ddf8530aca2de32e7756b208cc2e8050b7a65563bccc9ee4e6466443c0689f956dab7d43c45695220279cf4de403ace6a22e8e09746ab1f1d6e4fdcda528947466f8ea06519d2e2c32e7d4085d0c0165f401141e9b203d6736af378452214817fba4c988590f96b8c1527fd11a15f2e5e23bcd0038125e2a1a18b465bc1a201aed2581fffbe04b0e29c0d8b3f7c57cf3af110c48c86945405b2371b8bc9e5244f44a8860f0184de00a08e2c8689f04fb7a756e4a1522fbea220ee30075099806580a5767e4f0aae79277472b08e02adda76c64342899a9169cc7a06195567c1096d2284577056a52a40cb4a93d68a32d35f24b4d7969c51424c12333a5854e080736a23b32cf17d6cf701b83545901a83facf9fb7dd9b34279f7a3c853a91e5756be826a9b13eb77843aa4b22dd2c9aea6d4cb836612566e9abb4b69003dbfa4444408400e60c9a9e9090e7fa750147e90f5a0a361dc79468a7d2c70d612a80ae2b4ae3c7a256b9c866f360ad65fd8141603db53932621c7898ed69dcb216fe885d4502b9d6822edc490048b0d277235ba476d9ef2519f5c324d908822fc7d63c8edf8dcd666b1be4706b8c573cbbf5d32c9df69e63081da585e62c8a1151d7c4006b005e39700609d8b71d9510ccd1eb6dc8356142230e02a003564837e2bab28673b774598a21b84c417a2e9017dcceaf68eb83d09a44e3ec6d87a0ef658604b2985d0549f13ebc164e558a69958e03996c718f5515c2285dc14f4a50536681cb017067afe927a8d539d58c00d4213924a3ad96ebc9f8886ee5246a8c91cf12065553c39fc970ac438004d464c0a0a4e19b2654e72702f64c5efe5c1223de2440dd7a011be2f0bfb343ecea520b3e4a822e65861fa3d3d2d55167fd91f3a42e81d6c0d8293e76e54578d55b2c3cbd3a075da33ca8deca2f86d0028b150226892b060c43015027ad32f4840b53b9498c7c77f37534d9b240485151b70e153bc54af567793fcab5c23c034ed0f6284e89252b6c89f765c65179cf7df7c058d11cc6f8a8aa39698c7eea971e0c09cf782516b9e560908af7218623730ac6b8cd0bf23e16e7166074117a5da398e2db207bce5153ed53610ef93e8508748266da2384f88ad91e51a78523eed950e0f95ea9b56299048de30fbea95e40fcbe2f6808d47933b643c4e31f7985343b7e90b96b967a7a8a09bc9b68803b53bb3a40ab0122b40e3a943795f2f8cd137a6d9b0d08b2a4b32b4e799c33583cff27e90f3e72a23bd3d3f853dbd24492fa7cf6203316b1334de8aa6387056977151f1c6a498ef88340c75a69f9e2f8b4312191907714c512580a89eb3ca714b4d6634e9e1f0884ddf24465b3433aa517f234744e1bd69b12405459d57544e5580bbffdf5090da0d8c031b6ea16acdaa5ec253d7071ef02d1d07410b2cc18ef6754864e4d31b5ad34e418b47aacefd13876de8897f39c43d758fcb4a2898188eb92eff3c79b39348ab2eb34fc7396ce5ddd3a6674b2f98b1a8833c9147e4f1d0512eb7e7605278ad826381c2d0dd7ffa1418193e7ef9039d2f22e3ad8972a59be60c4a9fa559da78a5d45eb186d24e8b0937056616071565d741bca136be62f3caff9ffd096e86ac3d608ad40a86cf8d7299587ea4b453db6ebce07bf6183b91548ad39d750d3751378465016f4b3417a944baa83f305151941dae431b46ade7fd9994c49f15e6e9970c92c026c086dd123bec713222ba8605ef678cc4e292c00cfd8e4046575fa2493315c8242320008ee86dacac016ce5565246413e623bf7d30026764211c25fa1d4f389a25944d50d990547fc92a0d042fdfa1a0e426f1af5ac453c89ccdd798e53fa1a4b04b1133f705317d41cd630f95ea77af2f35fd1f78252f7a6a0c8b6dd41cc9be371c7c131ffa2574bf5764062399954a9ed7728edf2425954d84db9aecdeb934325685c475482486a24148c4838c2b2e4289e6e6eb5e593b446e33b1521ed51ce8ff3bfab5f5ea46135175baaecf2cb190d790a21e991936ca8453590d024c6d2b84632c2d881266bd4cfc43b794bdc59e171d4f0cd84065569d13a3071b5d8141d9442e12eb9d91d585651335547dca26eb13eeb6adc97816948c95b8735cd50de3243e2d856de562177c45b7b7986c3ce767407f3a9c4483a9dd092168d510de893db5fbce880be4fd2276e1164ec78faed6b6963332123debb2d22384bdcb4026c92be84981da3f3a453a583288a06fd149dbf0f0d2e93374c8cb52338cd78404e3b7dd376d26b4c94d4787115f15dc0acc8f43bd964bd75bb72d6975427e6d42c029649355a44455bb1c01e36c4486a6fb3f18f48fddd7730c324d340d468aa8d6bc262c1dfce3306078e5ee7b911908816435af065bd8c16223c6a8aef5d8e9d03e3b79fa0b76c66016b3e12467aa301d05f3ea09541e34606df1468b56e909a65487bdcf6c1623ba2934c2b85caf190280309e0c221517cecf05603f160bed06239c6831f94df26422e5ab34db282c252f5ed404ba4dc65b34ef90ad827a8ef6be01766b3f270bd5bbdaaa5d151307265f39e1ed64932107828cfe09713600e01811cbc9f3857b605938ad6a2174e7a4d60254191c087638a388cec407ad0a6d8a92de43a72944b25177919ef0903393f1e971e3a8c3382a0e058963d643ffa249b13a26b61398152983a4f4fda2d621e0b8486ebc282c3b519fb61173886e2923a0baee34cda6db4cab79b1a13dbb946afffc53720951acaa42e25b6f2634b3e500425036bcb27d5b4bb08e78b613e7a82afac06ba0d6a9a5d3c3a257de14de10c692adc435e993579f3a57180e34af5154a4e5dd88f0d237eff8bfdbc192ce8ff9b6dce3cdff49c4ff801fbb89ec51a184751a0726996706329cd9fbd6a416ae1a73d021eb1a3404ba69d57621f71229fa16c9b95660b6b3c9117b412595223fe4012128de5a852a958245c4a67ee55122c1af5cb637b2fb04a0a5a17a2d2442876569d893661f3f10e9349f2724ad2298c7a5e667ad2ccdf2c014ac2c0563840fbdf7c662a5a7f1c8d7b89748add0395307fe3f07233ae93131c7ce5182337c355d26f5e1082120ee180d2201b9d44181cbd3666a259f80fe772361ce4a26b357fcde6d33b17e1b0a18f07f61f3725c04c27b03134b122572032e8758c45e58efb39fcd361cd772a3c57052cbe473f676ad9d402fcb100357e02983e792f432a20a04c432e227a4377ae6112a3ce098b12c693cc0400485764795c3a3bbbaf59fdc81be1341a0113ad09924785932314ddb2ef444913fe2d3b5d3bbbfbe82bc17adf955e514f7cdf6800845f044020a03f71c374ea1bfc4cd314886d03ad4f07b2205f605ab0f595595277d982fb274b05384b0aadeb25f6042ab9948cf93dd4e9e13a28d709c053108e35e7acc8ad8389c612ee011811459debd388a2632729eff6871bc420e2728a06679bfc6c8fb6ea3b1b833fd2ea3015297b2dce086166ee5b316bade167bd61fa386390ea314d1aaa05dffc375dc8a32d5c39e3a27440fdfe9500e55769d2567408a4f19ba6990ed3258029bf968235c14990abf4b5de59c16b85d8a673948756f72493a516974f9aa46c4bc7c39320903335b54d1c092672d2b9b8ab573aa5aea0b22b399006565805ce31ff4391f8beec7a75ce11ff15bac5608a406b5b03c4def8e5451fe443ad8387a48eeb45801499c3f5326b520fe193d408fb60de6e507be7411914c458d47bb3667643aaea34a38dc8409b25a9999d8bfa8dbf33238cb220961dc8f262828ac1388feb942740e34cefe92da61ff31919fe49423347e6b43061e65f43bb39d76250fe87d798f2dd9938c3053b1896acf4ef83ce5e1de4961f8bdcfb95fed10e512c8a843b130607f20395b42e0ff9e1b1be0d6851c338acae5e99c246a21d0f3e8df666bd284b61ea42288daddd685950db6d0b3801b4ae071947212f19891d6d295018610891f3d2f3ab9b3c630a5c310114ed167ad9642f8d9021da29da047a9b7ae653421d5fefd8ec3a44a36a3aaab42b8c2188e528555540108acc759f23b273cd8d1880545fc20ace7a192d23e68ee2f00479d421f5d4c6ae06de3d390b254487420631719a794848a2ede6d0dabf157953aef81478b741975e2279c06db72a47872ea8736b91dd4cb0558d26d627b3bc11c756c2e8adf1d7429ab849f6ccc47cda395897f4b8d96cb72fcd548cfcdbd139f3d16fd4306bc9050c9fb36bd5a3f693d1d8270e781a56cf21bc72455a88930a6d7fa7660a4dfae8c84d980dc805a2fa55dc97c2b4735ebd03eeeb62e38ca49958132d02860caca4e1575abeef2bad0a02f9314d81706e45ea4c480052c3b90233ad207dcf5ea304e6fdbdca48ff80b9f1bbf530e64962c8344398e053074d6de4a8caaa93ac5e6f31dfb62a949b5568e3cd9bae34c76ebb5c2c86311d394da0fbd440cd67c1bedd0c9f1d414b1ef5a719c9b5ab1d3686d8914b74d7d4fb56205671e478417846ae0fee48ed69b5408f90f55156efa46b43a68a882098e1b9c6e51e72b0a93c60c1d516b3fbbf18b0671b5595125e97be0b9998ed490b7fc90aa90a0eb55246d7cfbd91f45958763c1d63bfff8474fb8f2ba99744edff6256d712addb85821ebbd2b1ea69f6e42b883d8127acc96f5bc3952a44cbeb075e44b8f38dc680994529630a1cc874e3def64f78381f13582f1d8976bbf77f1a69ee2838e977c05619ec2446726916a40029b6a38b00b6ea948161c0782a2878d4cc3bcc848ae8484ffa11efe88af204deea16339e1d1e3398f7523136d5b77bd3cd818c28781c7766f1a60888a9225f206067726617beaa45b09c8939ff88ba875c22b978be8400ec838ba2614e45dbb43e4c952dff48f72c14a6c2b225a4cd0179e22b122345fa42a310adae90216e2b4524d403be1bf8431b5098802805813d95bfeaf26945c961e437f620d1a7ac6073a34f775f7fb6b7f03edde57f7e473316be5dd25da2eeb1d4a575835e86fa139c726c7800f71dbab88f19b4931e86ab4b65a43a0a057d83f81c3589f606bcf0af6642ff0e7b47ee5fed905c2aa7e4c8a9a90f1607b5cce529d44fcff9fc1197d371621525730f8a3dee749b3548f753c253a8af654f4cfa640af62cf847a0205d9049e2e05d405275127ee75000098d754a20165d9308931f5c7c01b9100b517ec9a32a5d3ac457f30cda650a2ffc8eb5b8b64349398278bcb535556f830362f0b26a217c898a76070ead77da545e1ac4db1eb56306076383db0e8ce639a6188c9255c141883d4e14342ac2a63a12a14f7487109ec854236d8b44b5005a6e647ef77c961603cd42cb5d28e3ab7b65bf916624f74bac38d14c907a2e8295e3e2f06a46be242b46401b2a4e0d2d3ff09f787a0974020ca3da8a9a6e46a1efc76a9717d89b9af7a101bddd0e2a6fc43ca4f423a06c862133bcd920a41ccfe606b0312ce686726ed4571802db7551422e8a378296346c8313f2a48aae9c95f4bb2255e0e3e3303c2bba3ac94a0942564bb0f9bec444d7b76c3500cdd0d49cf21e0e0a1a8294778cba64c97d202454e0b3453882bcfa0dfcdca69fb7e8d685237ef98ed08beb92e2b64f7dcbef4b8889fb0ddf1b41ebbef9444b60b40271cc0d5d2df33b48f9bbb1028ea6857980e7d1d7144430c02d0ae66776a969aa9681fe3124d93fea9e70a91ae22822a43189a45256fbd4a3b2ee67c409dfbbd9229686dfb23d5d78f8c9f4ac620932af24a37b4a00fa7bc7c63b5be376ae69c1db520d8ccaed68b0a1237867063f8e4fdb07a43c218b12048c19a55634d5571a7a64d486ea06093f30303fee70749b811cdf6e6a7cd50b697f2b57add2fb5284c4e098f0d8f66dd42df883efd18dda8da4c6fa5473deb873b6cf0732b92cc9ca4feeb6c4cc0ffb4e5273721a2b74272014888aa156bc6f48a996e1f607e80cd987cbd49a20fe0eb157174ebcc6432383d976c75dcb8d4d24e3d843472d84f6ce5c36f3bf40a69994085fda0f6d5274065eb06e716f096dbe0b40c92bb6272c229b7375ffd343349180d99e4fa4af2788643b225dc7f0f1589c685b81a0279d8e5df80e02ce9c405c8e6e408e957c81213382ea3e2d56c517755ea464dbd73aa2345706e58553cc1d1c37626661804a8b84f6d4082b0ea471d2065e36713a6e99eb323649d03053eb018c4f09a45ae2c3e8018360662e00917b7a2364d9db02604a5023dc729155fddfbe33e1806145dd2b905dfd62b25a3091581d05875e4beab3b9a30eb6c81d3c43fa104351dfd367b65608250401b1d85c0cd667ca43a0d9e263aa2ca8ef025546ef75ba2d186ffeb424345e5f31646e46014907bc22d7604cd63cb6c665dc288eb696c29803ace49e835feac65862d3e8a30592beca5bbc483386ef39c8f4631e8ed23f7bac6ebc2ed97c72fc282cd2cbd08c0591e2c2c1093f322ded8f0d251d9ff0625dd8799af24df7dfcd6f120a738ac1cd31e686133bbbc0f1850d5dcc8c7ed47f92ae6be9724039c2636aaa58b947f95673a7ebe4f4ef1d2a1f658cadf3096c6c0444e0bd912fb521a0d021e8f7e194fd034db1623e743e958f766b052fbdf8fe434be176000df42e18c24358882fc3a1dfac0e41acfd910defe254e958fd200f096f72e08c30331e7af5aaf7f37a15a545a4c8fecf08f75bf9476b6795ad3d1a4031b2f43ca781cee2a8e6a799d5e78ecfeb9982621f382ddd30ace5d1f11a52ee0c65182448ad9018d5158a1725018a9e64038d914fe13dca1b30de5b728e21fccadea7f73853e2ec9eb31c0360d57ae74aa70be6f91e7793b3b5e9d654c6950134b3a008e94bae0c9ff13dde7a8342d8807e0edc5551e98edf533079d9ba6a7fa76440325330cfff6dc07929debebb9c22580b45a4acf8af5fa623fc78bec7c91d3f294058e60f400920a03b4e990a256f3d675ad170ba858163a8d28a30e9eda0ab5bac5a1240945b8d3037d733adcc0a53696de71c368603234a0a49560fa02ed5c2513e80ba5d3eb1d627ab7b721fdd9d40150249551b5524106ef1a5fb819db26684bb297625b8dc8b231459b1418859a302321bed0a83ec05a68e760556b41597fd59284b163f7253e37b47561a03134f76027488ab7729a664ff42870400b5c1f0b152cded8e154ecae13beb8d97dc3c5b68bbc012310a96b0ca24ae0b84f648d5da245c30f12065ec3257ca8be6a91d069afe668d3b18caeac116763b089e6d25e17c2bd475be5add2ecd686a5ad34998878f604a49d8bee159966b85af4f9f8b4d8c34086488b8c1cf08ce5856d7261ab82be753b684dc7f4220d6e78431b35e0c65850305e11fc9eb74bbd918fe6692d003d55f4b8771fded0f9bf9f3236aa42ac682d483767c85d71c020c8f30814a51930331d38d0a2b8d0836adabcc4964fa4b9903ff31b380853a7a7caa2f817eda50de383c928c61427020cc6e7f4aa700a2a960b8cfc12404b6bc606e1f754b8d8c1e5e1362281d8558540b78ba790d4adbfc4fca4d73b6ae0c6dbc224e6a24596e13b27a1f39df03eea8b9b723356ba0c8ffe7618115f7b47c2caa5c46e213f738149146a87b89524f81258cbdcc3250d1a66dcfe05db6e7b133cac149a504350fffc737241c4cfd0bc0c5e3454545aae8f56644cf0fb1335fae71ac93d6b3701b316f6367a85176b8c1cadd3d83868b7b75de1e6682844c16460005de6243a0d14edd10f6c2567de2707b86c501f8bd958795b2603c4e10f0e60366c9ccd661433b7bf69844759bad0ae33dc9d69153e530c20a97c57240f33beaa582811d1ea96078039eca2af19ae922da47a8cf878d95f9afadac0ff87e35f6c66617e6a081f30ae3c427679931e4ddc633839baa74983e11953eb051285b0ffe53dd017c0239215130d5f1786c3023ceaccba8a0657c88131ebb4790d0aaf6286db8d73671bd91ae6af90ff96ac9b0e9321e8e7b84ec7b73a786e242a403e04c968a2679d37146d7a6429dea1ed5dff1bc5dbedcb722e769655b9e821bad90518e6194ea3c02e9a76e84a41c90066072abfd5d25d5da7484753ca366169550704be8b7084f7775a81fae5775ddf56ff361222243fbcc194b8303863415a53f43c2c94a75b1fd93d37d29dc8ffe81feb4e1121bcda993dd7b13b3ea96f2fae6775ccad4d87351cc6130da41060c3c51c699bcd9455804c63fecd84990cb57b4256f1bc81c670dfde9e4c5bdc72a824bc745cd5e1da1e3f233b85f1f777f47e95d7932e2f97efb5f2a5736a157f09315c28422730a8abc1ebac061fca54b0e4a2622b7a96105630fef5665c038fda4b27a2bd5f0845cad5a9cb2915f6a1c6502b68d967a6fb1e15ed5c1871854a5e0a5a0abe5721bcf52f8744bc1982d3e6cb67497ff06a6adb45f2f85174fa8211dcb0ee6df45a9e44fb5982f64801a50a6d8ebf3a585954121c321f67ef252e5b1f5729c3965bbc64e1d7b76e59d585e223cb2b69096705e7240ed686784b39b571f5c3928fbaff70071314043e22b620d855b919e8027cef0ee438473d826fa47148e7a0bd2d5826e54bdcfb02ba9002ea1c1955d76f492d927abe2af5bb8cc968a473dd4d0dca21d6ff94d7240dd2609440a40b6911e5d0ea69caf048cf024d0c63b58a7dbd19aca62d0c14fb94a3688547cae80cf3908a3207840a312c797bf5190ff906f6fb65a95eb3020be6ed1c174b410f9ba3c22593729a27800f2356a66746477defd99fca85d64a461fb2c86db4a892ab55553b95321c18a6838bfc3283de8917b07d67436ba3c46443d948015c0c7b93f1daba8a69249dd60c3b56238b2c65bb8bf63a38165d2e51450e140a0e7a05a864db5b22057917c0e40b233d8f6381b789582350d7524b3382abe2349b37e914a7061665e22ac44915beaf9f7619bc8d864b3b8879823641b9e875b7d2b365fe122822f1cca03e34b49431c7aa633645391d7cfeb1fc81a373ac39046e00e01e6da8a4c5259e8381cba92d319ebe279b13a4df5838460ae549938b6448bb515ebf895acae5451569188cd0fc558a485ae23ff18116256bfc5fdbd58f6cbe13354661ba6d4ac843a8e00bab5f3dcb01036b0ab4e3536c775c4557f90d32984180852a69a05ebe6e096b24b4d10843ac3c899f48250a60aa3e9957e3545a449151ff26f6c80aa935498fde7c3312728671e3627a4975911db477c0072be95e9dfe5027051c9d0ece3b8406dad9cac0621dff042c66adf7bb5cea6128200c9aff73df64fe83956f245fe064afe3f933b288527b98ad40cbf9870ce864c520161ecf0f56879542332fc5409e06f404b491ca40ceddb05b35bfa378c52dc93fdf3a097aed75bf4b7e267ed89bf556a521192a41c8ddf0f681f3029de5573286fae1e108d82ce6199eb779d80eff331ab41a177d60f180ad6e8f55f73a37cbae5cfbad3bbfd0e9125d62662751e926f231888eb2fca82bb1ac0f72d53d5bd76fd40b04c6c75c1116ebf1776a325f25449c77c98a084d7cf20278ffdc9cbe5b8f678134fca1928cd910e11f314b2d8fc28f4dba3b1ceaa47da2a2bae42e9c2bf42eb540610025553d59e233e2f894d4282cee667732184423469efda847fc7d5cd0e78ae268ff80a3dfded71093634265009672baa40e4c88f577bba77be67ba159dc7d14078f26853be6e668e7bcc2d50b260cce939014893143626e3b7cd214c120360385736cd30ea84bf4c9ce092ffa0700cbd437d15a51556b8cd8353f80911aee632a984a60f2e131b010cd91b4ceaf0a9cf0e560985b33999ef55d9f82459d2b850b8ec61e06d486df4a63b687a09e3c0a75f34521c74d57e6a533b2d4b5c3b11f95005b5702d4ba77d9fe19c51fd435542159a7a1c78f72c6412ca32e234b75fbbc29171a6e0bcb525327b49daf77f93791a157f9f766417a338ce2798dc28ac7be9d7f52a557e37865b0e747e27baf4911826d04ea8d46577ddc62f2a7a4caf9ae7b90729bf3a3bc61297396156fc18325298a78dc56962bc35d26374f304f5d2aaa38ea6d7c54b3a0a2a87ea80775350719f1f2ebf1ab41341bb46b1bf9fa38f8f88baf036c56a04fdf89069f9b242b44aeb73239feb0ad0e3666b55bb30a7ff744dcadbb0655f4f08b2e09103b5c0ed276af855f9831cf272926765c06bcae70409c0dcfbb84512056e20c13dc0da1cb29425ac64492f2a1b0b55588bb088a325477dac3c96fe3a84e8274d120a85d21c651ff8b03d53d712c0fda24464250eb6540abf9eda3dc62cf74d9c0ce6a565c13a171292d9eaaa28ae00a78f4b45d457d8b36d22e1d04fe4eed75926d96f23f044fe19cae5999914dc47649c2968a5acf1d3313136685dc72c0783b09806c24a332bd0aabbd71c03a0c6cf34efd314469e9e4975387b530d5692b5305591b4b7fa6c03f8b47f30d48581f4c649c00aa124b8b1707d2678c2899ff8044e6c021399c0c44f6482277602b113914fb09f30b512b838dec1a93b2f6f41a180c0ed365eea73ab0fd4587f74fb59ef57d1fd32ee538ed80f8230a981d532f3121206e024c491de77e9bf511b2c6de2f2fce63da5cf5d007606bbe8b03e661bb87aa4787127b18cff445e3d73a25155314230aa2031b4498907d3fd69dfe502f440e45417f53d85595f655c5f96641e3c67dfdf6a5e61b8c1af3b45b90b4098d3e4e32c855c21369b2974e7a71d9dde0931a20c10970e2b3d3c30c4b36ecdbfbb7b9f6a4b77b5c51c185d90a4321854ad3459a43879a67417944a355488338611e4ec1092f67bebc8c115aef37ca5fa5e75038ece6f5779d361bbd7e318c2f3d1aefb1d742f59a9bf6fcdbefdd83c35d465f36a1352243b4c197d9bdc27410bec6a8991fcb3609b4285cb14e5e32e13aff0eb27a64a8e4c9a05c1c471d55e318d5d0de06912b0de59aa0d555aa7e715593508bc0ff44ac05ba43cf1aa9d2ffd9a8413828d6aac2d37a89e86d01b64e0101654580066ee56ff79ac0ba284fc19622668729c4762e28044eba6230800415a6a09edadd1ed86fd4fa0f4696039d1603688838df86cf0d36518218e9e4bc07ef3a26d4e768743d690403a80061130940619576f4a8c712cacd84336095165b521d687b82a5115974bc1504a4565d4302c4d5125f0fef00b1db20c2c64a11c259d5176dcc2847860cf3d66fc32a30461ed057988c4c7dfa82ab30e874c9ce2e023fb8ea443e44f79be3cc6cae67112370fe430ce119a6231eab88299fdfee19d3617b4946c33ac2b22714e0b77d3dd35d8c45b3cf24f8732d4c9df6a5e126fa706139e7f284ad9a44ccb1bf69d6b58e7843ecc668be28bc71892c7328f7d3e2515f8f2aaf4e594cdea41b3a6b92fe7dca6e7c897831840124d52bf8e764b156f5b51161c72cb81af6be9e09439d38d0f669cf3ed439071fd8f555c00f79652da44baad4739fcde75a67275215544aba2673c13c598f68bcbcd944e8be677d2edbbf57b66cdd0f4a923be0d67cea1690ca951ef3f08baf4cf0c30133f6dfd84902b9a0449728f5e9d871c42f6656a289f956b71c0172c6e5cb5119fceda7041e6de16f05af42ce0190744e45a97f336f1c5eec07eef6e152a2cbce17a83abddd37797f0245d8c988cbf77c83fffd3e47a3df3e271452355c09ab35e28574352ff64d50256e57e12e583f23202232c58414714eb5f741b9ce6565af20d38d0870010a797f161cdb181df43a0e9597b130b1da74df0a974d3c259fc7384bb86644a97e5d66cb15c05e0d207a99997bc35cbbf31392ec7fd6de00f3242cf2f5585c8b3dcdc5c15b09b5a1e554b9c736a3021730e1882f7e49b28a90416a426ae4ab7d99b056eff3680946648f16eec49c0a2d84b46e313b51e5df908d184f336554c49b40198a1cf95c0cf0d6f530d5ada454d7e4532f29a34ae334986b4a855ed7a44bf1d13fce8909e9864eb9bd20d30ea8f0c02b5ee8a0eeb906f688a165b59f84ee6e96d0b7a5de4cb65b3b3d8a240384d19850b7629962d879a29ea37c871a90bb994a4b2dda05fb6c0a19d8831b1f4b48d989fd1c465762852db62380371dd97b5e4b184a20db27500ee3216133bc80b37ba688ab3add35314cfa50dc5f6b4132b214e33cfc50d6df725f71a9a3a4f4d14db7e763275a9d789792e7fa3a3906151d7c37e72289ad418be5f83078e1a35fbf6faa957bdae403fc58f5c61d4380095a624f3ce305e8a3f802482901d985101cefe6d7067724a66617a8e6e99d7561aaaf2f07b770c897f51da0fc0b2e9ea5105e428025c9382fbef889c039129fcfc641bb0e138ddb8cb715ee5469fc9ed6ef09d31bc0e5376bc1d0210cf0256f25c1da5669706670ad9e99fb2892e52087c16203508282e022b0b78d0c8d972bdf8160f090181e020a753d4b8bcc49fe79db549ce7020ac80efb7653c2d5648b51c87512ea068a553fe802a9b7d26a44ec5929353a8a5e6258699d4111dfa778c955fa7140a2ba6b98090ef46f1de0f79616310936f38b02fc11aa955137d1250ef1db771d5e9c3a785a5074a1c649d1bcb9fd60226a35cacd284375914133d2511619144b638bb6058b8a7d13ef330a01b639a0a7c50cdf9a48099f30b9693bfb1b932df934fabe193ce042735fb0c8f05ce480c0d1e679d9658186817f6b95aa2bd5d43e5f3255b6acf607661c1bf79204635b8f80403cb1379c065a1b5d3d8eeb26f886eaf4dcc5b593c502eef4d2845245dd27671ed7639eb62d642181361e2c8532c895a51234de5a0eccfd76ab4a9ae01a9e6840a1e76e93c26f4227da45cf26d26dd02876a373082e08d4021abec33bbc14f89fda17b323f9750e9af592fd84f883db4ca977fc3ead7f925f11e83824d49e66ab988b4ac504e1e381d8d362e0ab839403913649ed7294bf5e95cc8746071a0cff46372b59daafede57c26d7168028e559d376a6a82d6471e01984ed99c8fb33679eab52c772b130085086d25b52f1e5356e62eb4a9771c5ec2188b92c3bc1391c6a06edc57ec44a591d9aed410795ef7f68bcb7c292c2fc17c04ad0896ae99e255b8744140a639d996f43a792a8b64dd75640b1db638ddedbb57e10bfa396d993c2130c53fa8a979b6485a1f833845bc0a3f2e9acf8e91a07071c6dac3a2f1e166901e29f8a5018eab2cd36b611149802eb3f151ae4356bd99ec0287d4794b144a6cec0cef4f7985fbae97c669678df91616cd0f0767eab63cbd9b7f1031cbd47ef3b45ec6a2aa870724b5ec8cc4d13d064e07e878a84823458c6ff1843a86cd3c5788b18ee3058b86d08fd3e78712c4b97aa1b5bff4a5fcb70aa910309bae85574222260d5090284c33c974a427cb0c0a52f4940aa4c9ada162aa6ddaa453d77b2be0e598cff8c92dbb2df2fdace9d1bf104ed1624480f11ed79c7d6075b022292e9e9976c0d51b212f95a7b16b9003541493c51234734459fb9afcbcb2f23c0b06ff2f5d738938c42e7fd2064dc20e5bce0514a772d424f1fba8a485c22f4908d16f64c91bff53c40a4b5cdab957b24739da83c775ec92882b8136d4966c1161599c32b2eb5ef4e9497ede09428c29c884277197ee4fb6cefd514403f665e7a3758fdb1a1e7a93f532067e5d842ce7e5575d52a0f286095d38ba9a8c4e7b9ac25d09847b3f40f89f42127efc89e3f731dd9e5c99b5f348a2de577a816f52301a7ba6761e2d0a4241c1ebd75ce0a20fcd1916de49699c4c32166386fd205ef763b2dbadc3bb2edeab7ec929a9b6d45d9b51f161aca4377177422cc0ce5f15fa8c69b4d13e0545d343664a8282f24cc753320ca56715421aa5e1bf614f69d19a7993c726797e2c6fa8249f8811e19d7a8fd05ccbdc2fe3cae596967a11dadf8e83b65143a02f0153d7811508068fdf7aa8f9e3979c06b8af485ec7aa663309e71992f3c685dc1b46eb4d2b44c69bdd39dc32dfbcba472843e0f4654002ddc10e3732f93b2160604ee01a4a977022d529d34e8b086b6de41c11177d1e37a3b1325e74ce0c083644998f2c960e8a6883e68c73c14f1f8b9fd8bf0ac90e5b435cda52bb5b4e2c2d7077f9a187844cd8d4710e5df80c7c20d5193d1a77671098016c7caacca4cec3dbc17ca07af47e22ef79885e04df48d3b12451860d6576c2f8547fb10a1e7735658ee8188ec1d505273a733549638ea3a5d21e2a59734a31ad7fb8352d430f71c07bac516399238b142065eedbabcac8bf284b38d93883648fb982c826b17b280d3068838c6613d4fee5199ec573af273f1d1d2acbc524fe3d36acb483ed84604c26ede32ffefb1f326a7422ee0cba743fb70c960c218893aac0df378f3ffa2096ef73e36d48116ce4592d9f9dc8c44ede27eeaca6ea5f62ea501ea5d22fa9ce843be98951f7bbd68eba41140b6a3d724e279bd151fb0ca2408e58764b77790c7c0e4a75fddf4432f923b66a08de0e0839726651facea6606d94d1331f8f634707134aa13f0a1ff408cf06f7835826a101b27a3568384068792f6ae3bece2a21caa786d0b5e0f667c4a557425502748f24358a3e4a5514df745eb52fb91134804f54c542e6c0ffa51aa23ae7ac530d6e3cd23f0e43278c63f0bce3a124fdee1c9eff4560326f4f037401904240f08c6e2376b83bc0d79ba9d6f0546aadc7b103e77430f42e481201eb4476b67b61b06d30c0be30965fbab169ac2be30861534512dcde46ac2b82d9c1d242a2ba4dc5b4657fbac238d645e7c784b62ed349924c0e6c5149d7526c10e2893f1296fc6b536e66058ccf0935c39c873860953f9b26d6ec08a23706e34c271128985868345aff5257c2c23f58b2170ec322a5dc31b56ed35749b5ba8ab3ba2b124df1e624a94b452489a706f9db0a5477fc2ee3594be9bb3872ac017e2bc9355ecd06e19f5468032806301ecdd59d9b4c02eca2c01a9bde7c8cadf67cd0e53adb2d686d0b41aa77ec92b60bed328f1873b17d1cd4898ef61239e193fb507ef7492ee68eda6536934c7aaad932cb9086ad776ca08a0bc91d102b986270fae9fb717a53175209274e1a884dd4d573efa2ff8661177c531159774c654415a2e656d061358f5640a2677783b1e660d97d8c62a0c1fa416146644f0a3df642e55e0e86a66b0e9fc2a916c024691fc632a4922e161ff998fbd70c813575b1013fd3f62cf4319a4d94dd274e5b967b8aa6016b250437028980836751b67d936d708560885f1e4602dde9525d8e838029277eade970946c21847b0c5207c1cda4201b45bd06997565d708b78fec3a4e3186859baebe498747bc46d1a0ce602f1056272bb9d40ef366e3bc042fb46b53880d6bcda539eb2188c3b8f4fc85c5453344fcaa17c049582ac8ca237e7be0b8fad2de5a53621fe78ad8745e900f0434800646cac0cfdd0bbcb9c1df46c3260f43b4763454f7c381ae06e8b141362767bc4f486077c795956b55faf085a9ddb386b5a1e2d8576c45f9438454bdaa89d5b85adab59f8db7bc70e15f809fd3ee5286eb65b2b027ab6dcaa463ac226bc954b2ce99e5ad47b33b519bf4dfd378654a8cf14f633a3b7909219f83a84c94b918a160ea8a202256dce5a1438ec1df2ba08f0c7cc54a581659082440c180da49aaab80aa948ae545a71124050c8182985b15157c3026065061600a5e639e65a74eb12deaa1d5cc0ee73ffb6dd8689afb73194baa09372861dca0c7d9c423ef7c63b7a1fd59a19cb6102637e0f7afeeb1ae4e547e6294241d20122640c49697a147488900efaac97b2e48cd15724865d35176ceb58f4fb0cdebe6883496b12cd2ba70863e5f55ddbf39c18a22da1c4471a90142db7fb1b78c8eb4c220dd03ae1efd05daa5777b73ee9094028920bac41ec979ca071428e38c10942a92d1bd0100fab365c856a47533434a0f817ec18a3c976b6196acc0b33a60b4c9293ba6f561f00da58bf0b95c9b1ec664ca5afad95ec98ab0a7b2833c4deb31ea186842e03dda62dc2eea60ab026c54b57834843f49901f8e6b2856bd0e7f352f1f76a155f0c679d08ff8bb4a5dd84d3a786136dd73b17c3512a45584416008f085b7a7d27ab1450f9660fc4368b5e5987802b83d08fbd1a1d3da4208c6b38507886a4756d3674969a06a6f2bd924318659a83b6eb0c923642f7bd2b8f6966bf375001bfdb70ede49ebb08d658b68dbe27c83ef14d5a691637dcd103127bae4853c783ba68d6cda9cf9f4ef968fbad009ed31ff7a9866486a1b9faf758b3c439e56e2de5b88916b7a83eebdce819b530816da5cdbd92bdb60a04e053377b851b510a4fa76338423fcdc827877a5465cd83bf3f2399b07e9c1ee25f72d7350a53739ec2f8b1db484c9d48c3c5fa3637a8098a98b2728d393f240497b513ef424cf8165b31c60ff7d2456ad387cc1b320380b0871b7eb6245f506059944efe63f513f9272f866afe0feb4e168997386710c24f03d8b92cbc0a159ae3847e1dbaff8702fd7dc8bf66580f1b44fdaf17d16517c8f07dc3b7a8346c90d5b0fa36cbd887aa0a907de9751fe75ba45d82f85ef99a98963c34346cbe5219161aba6d533729d9703d53c99c637c22354fb720087c5a1e16fda22184af3812848142a2bfcd43a12982b13e5f4afd8d8c309cb6ccc260a8fda702791168619483b5fe31d5f140a919ac3e1a10542aea7e504d7582e6d40bacd92b09a81545deaf4879e0c45fc7243e7997c37726548b52fb8ad4f86f248145c3e34727d5b850f78086fac7c7dae141636c773633596fa2cfcc5d73d841600b73a6f403dffbc027394a6c8efe041ac3bd394b71bb3ac1a0a34c268c950639e3ecba5f7bae0d146f768d9253f2efd19fd0630cd7c7b6cdacf5cd1cb63277bac6307f6e2d9710ff8eee54a0c2a3061815193df091faf6abf69b26b2d92a07ab04ff74561b8c94ed8ccfe426f7d71b84aba10e37e0519e21d296542a709f2876c0847bfd7f47c731a628543bbe790134778f44e530c341b212e7a0967d16fcd213873c0525c60197403f8fef9e1632994248dce329044f05b030104722d95f83cb5d88d98d82552aa834d27c0c4b008d0ba65fb2bfa2c74a8e48ac39268f0f2ab8b66b0254c840db044674d04af257ca7418837a3ee9ea0eb842d0d921fd4af729fec50d30e0023881ccf44dd46ceac2859f63fe998f9c5308ceb52fa3399f79adc48d212b55b68d221fd6f4230b09e1aa48f7366ba90cb905e9da5951c2647d0870a043783991158c5cb34251c7cd82a279842e684157cf39428350997a1775de77edd2d5e83139f5c75b44f7286f53a0f62c69191bd0af82ec2ac98eccb79ba018fca07a06b0a9b1f99ed98447f7b8aeba1798dc92d56e2ae1b4c9f9f01b14e4d834f462674d2158fd50c22e65b988b2d1139fb636dd1ec719cfa1679476b1dfd06c7ffbd68c97a903d17c0be7c42cd2820398c32a7320788ca29d17789401085788b7612084392580b3034bf35a697b7fb9fe9e676650eb450944820573681055b6e88b38910a78b98d5c9bce70f6055df5937e43bce33e54760664e6c7764b70d94f4494a02b885e41e3e46c71cb84f09faf2cac5f62ff2ce8e12111fb57e533a452d6be8e36960d892bd7652d99659b48f9fdde7dac212951f696d960e4a0940e007485cfdc8f44212141817bb51c88fe805e6171589542d65106d0c953760aa465db053e0202835ac32094b1a2192e69dd922335d64fb80020aaca2f2e3d1bf570a273e4ee72363702f4a2169acc2405f24b1346b5a0f50cb868eacec4c710aed2dc37c25724d6025848cf5ebff9f139fb0894c7cc2139fe0094ed8042660e21d7633de8ad80b999ac59ec59a4e0469909e9a71fc71d72cdc9c9af1669c9af5b3eefeecd18364e1dd5c6e2fc8cdf4acd77719372b3bd1c99a47dc7656720b1ad90d59265d1d267b75be22820323f0a5970e7e5edb789ec5414e6ef047c6e2ae70dfbc0e152307c2c7deb6fe5ebb06febf8fea2eb254dc024f4f0b863e7e0175b77605d1231a79ad1bf7fa1170cb6eac521efac855985576992f61971a9832bfddf7d12c968669cab0500c0754863b22a4f05f1aa243a8f2db3d6222d69b20bcbc76072837bdc8df84c3acd833a1d186d88658466b32477986d88afab429fc1c0c178013a64d4618bb685bec465d88a65b4150b03419d688bd157acf0d31e7f195b9035df5743a15c9b9d025384cc1989089884f21777818515a2bf98c50dcc30825603154d88ff0d33242525bed03a10c60aa03d2d74819bc45db38376a658ee364b7cfe99d408dbbf8d51487e0860f0dac1dc2a187a5833dc0181d390c05bee4f87c08aba089e2b58b3a19f4471131aac85f5bc7286bbe0a1d4e10e101a15ae6f173346fe136b1ed121a2479cb2c90e7fa4d2fb24c89bb232ca0074cb96014399f9c859b6f1454f5bca721059e363762a2b80c0a22a784f51c62e860e5aac8df24c97fa658779e4ecc27ca805cf05b8bd2c63cb477741544d1babb2b828eb1f32be1199ff64554bcd5e76a42a52f06578d161193e1fbce19d28626f42d5e364a453d950f8b69a891c0efe94c28193dd1a0b814f0d15316a663acbb68010ab56355bd98bb052c5e100aac53783759d879f82efffd638f7c38434c136dffb9dd90722d51196e8858441e48aa6d94d00f734a06d5a2f9c8f170858379ec1a1b3e37ffdf8d238b2d3e2bcd88262875f1c613aa0ecbc88d8dbc48043ca6ee7328155bf1275225d590e2f684ecd118f83585eb1d21175532b969a171eb96c144c82943dd1ddc5578cb60b961673469665468912092a2e387507727b7e46503c88e9c027aae684eb64df717ff5e682d9658a08e73538b1d615cc97f2ac7ad57adf68a2cacacda29d6e29da751a05565030df1b0892e861441044ecd0a91a724f97229cb784cb1bfb7bd91406f8d4af22037f401e794e43bf6ad3a856207a4a77e5811712ba4c22612b6070eb45674f3afd3b2a0a522cab0956cb8fd4af77cda9adad2baec45593ff81e4df44d8a9e87950cf4e11f7307fdf1be00877a3e5c54b6227aa149aacd677dc11b1946c80a54563b004de30855b136be0a6dd2220625ad535c3d277df6e068cf549c16b585f9bd6f02429bb3d916d9bb57fb492110a05e157d50dadcdd85d7c1c7322af463f4173a1184219e8705cde04c6147ed1d6fae8bd55e6758e94561c3ba3c358307d5b8e646782b10ac2322759cf48f43b84e223e52d575d1c456b0e2920c10e71f18168dc3c062ccdf9996f6f2e2614855462a10600f68c9e8e0cbfead025c97aaa8475d4edefc443fd75b95d83499c082632aa4c9ac5fcc88b488a81e4f1d19f34da6eec4431d9aeeacc6e9b58d41173835da3e10b938969a4659772d862a94d16bb05b13b67132e158406e2592a19aad89a30c4b290188c37d7d51466ddb63411ec5d3c4ef24f05814e798e117cb8d6101acb91e46dad4c4d8672e82c9d9e615c5619c06ceea3423745f1adfd59612f17d4a128654e8fd446fd8bbf71d13d5b4f72ff2f9ae4b486bbab39e7745179da68c96970a5fc011cfa41bb7f00ddfa07583141b20bd2001c77e2fa330f45e9c72289ca201140a777d1379e344a00c3a2acbcea7d7662196baf00b482e59ce11a6c3af2b990b8b83926d4626a02128b185fae1cf7b5c42b7bee81437315127bdac20c15215bd8fdf97f187dd8e6c6f39b7d38e1fa1dde5eee1d45a03030cbdaac260670e408323b91a907d8379340e0dc0a1a911a56a9a89b27518d0be83d9f8f6be6a8bbf69f0f8178aab28d122227956d8655340b279f0230a39f3baa12343244ba93ba255615d59d84aee9300114df4e619c350412266ee1c4da6d13272201957700be2385c0f20137a37b830ab5ce84cdc96bcb3ae95b9b7152b2b4914accba4773557dceea39845853071348897d693c259ad3dadecb4aceeccc0d08074cb7db2bdb60d40a4e4f37f06632ee6602383c549985909d28142a35caea608dd06dc69df5fca7b10cd2f16df9863f313c76f7c21019f930870dc1baa4c864ab3a9b208a0501b2d38c97b16b4a491b2d0ed35409600087d9126b488a26a60b0f7ba2a2489afc6a12629ada27c08ad956f85b782bf313a7b86373b2988fd94935a818a9ed6b2b6027c6849a9388e53469760b38947895be035b5beeb81efd7a0a5c883b72b174df8afb5bc31fbf55214309ee5a176027cb488eb5b604363bba58080cbbaa958c8efbb37d12305ea37a7396fb9831f29ca3d2fd6fb5c07f4d0c53835069a590e0c802201a4d3965ea4b41b4bb3a2df3c344541fd72bf1df0a616c56e50e5fd842dca96834b295d880a5415551483ef1c09e957a01548966f74d0f4cc3735e89480b537efabb2c9880fa2dd3d42383aa97b0e7ab9f5a7a0822f996e0ef6ddb572790b106f5f3e8744c252f6714d7d114685887a1aef2d4e420fa67df9c6b7223ffed9755f6dc304353dbf870427123f0fe088ffc4ed4f7e1036f9ffda49941436298e84947b3afe2b7c33986b001627d06f2e95863fceadd86109245213fb1e9b3d0ec6e9491c07e648d4f7722fce46dbc07c2dc9cff965c25ad6caa5bdb7a01a6eafb86b56c0cc21f4edd400042ce3d3fc4b2928501ccbee398cc861a3260086f605f7ef5e96e77706c410d95ea1a05e1ed49f3f94f25a7c202c6732c621591d12b6a4d05a87c532bea97b5222715a02bb80eb979bf0bfbe02243838492927a32f10f280cd0db823cde489011559c4950da98fc751673de7015c35773598e4d29c38e08d466f54a93f64d32dee75778733fccfda6661ac66f7c9efdd4618a348dfb5e0f93ae470d8768dea37d65f03dcce6aefca87c6e64f31b417173948c2e92daea05d9a711e16708b8136629ac4795a1e22ae0590c459298b80ebc331dd119615a5a1e4c0c02e6bb619643602e9cb61fa68ecade4a82ff4921a367a1f326f0cf15c995e01fb430617f2fbd36f04cde43ccf78efbd07e8617757c4226aa532ce69ace98bdb59bdb06f7ceffdd37fc10bc65155947a9c02c85e0ed1a7c2dbc1e84381a4a9b50dce220846c9f5efd76e102689e8b82db0aa2c7650d52d70db5be5ee0ad32c5a4c787aef838a28f569fe363d2079763346a869b0b9ffce2b9cb5b843b062f46758c320b8cb8e9324da26bf03c17cfd4047d60700b60794e301b88a1e7b6b07a2d248ed5aa76de1fbdc4f71e03063b270e5e8db40471b9b4ac5eda3017f2e61db17dc2a086aa51172bb0b3808037e7d6000b816c47b412307be4edf71a5fb3febef8775f86785f193fd22621c740ede25e37416d00322bf02b42bd0cf42aa7f70e39010e42d8871703202444200e94941fbfd332150f5e78626bb93f96b2705889c9e62acd670267cbfd979af0d76800fac96572e73fef7ba177a83fa5e1e8a7e4ce5b6ad81385afddf580eef75c18dc24bed01032c27ea3d35cf8e04d0b629895544b507f304500b2d03d77b37e42820a89b28bc4016f8e13f28da720eaa0cfebe8a5cbcf48a7d331c54ddfcefb66c5a8c8725b6fd30754d76d8f76f384409268c425a2f1c28a0a95ffead8b2b28219bc662f4c447ff4db9b9159704d3990fbb89554e97b829bc37033a700ba17e440287f7a648081ad2afdf6d43b31e52fc322bb4dbd6047a655547bed7962dc0dc47ba6f2be01addd771167fd76fbdb05735922a8030b66650b145c41371b98c8e4996c76aa6220427cfdd50cdb150cd96a4b850a12d053e2059dfc068d1cfa62f3947583d387c2c24fff3579a4b50d8f20fcdfa5d2ca703712c45a71fb71bd970ca4ddb530186346f0fbcfd12418946c4d0456b3deecf98f5cc9ade1f0558e7666f0cf3c2c36a472550f3c2add44974dc637572abc233ffc4b6ca1568426903784e47c23d02085e4441e83f25e0d5349fc85c2ff388102fc3a6431058c94d77e8fe33774b4125ff2e35a6ff4300c86d70f3d5896273921e960da5abfbeee76a51b8a9efb028f10f75dc0a20cab5170f0f0cc8e17ade70a0c429910b3a936868d9a9fec74b62860b8fd5f9e894217f39baf92007a58e89098dbc0abc402bb9d79c780efd4b1e1c5d0f1f06ecb906c3af02bd1b88a030a0cd4fc48b63e9b3bb923570a6f9842bb204524c4ea6c088990c8b755af162b3093aa6c96cc845762d59ed5c6708e8cb34d367e2c0e11b109782dd6a20ef11055176a013e87519ad020d9563cc8071ae0abb0caded8dadf9fae3ec81160469608fb1b3a443c39923c3db65b715c64d27b6e7c2542850e44045089c4c18e8d91289d6f598d03726fca868018c9d7f571878fe26cc22d8a03dbcd76e13a019e88756f68622084de310eae3cbd414c6e25bb84c046ad3b9e32378c797ce2e3d75c70e152630e091ee1c23171e713b4b06732f17f445bdef90c016314e00295d74b938f1246a3be3c965f14164057eaef854405703cd831f066694c42a3ca93677d345127536de193e6e2237a0e8f543c5bf57e5c32ba50678b8e8b4faa888dd03ef93ad5f74439034c11963745a573e9c153fa0232f0c0d9b90f6dc08e88d802e83923831870f0caacfee4978f2e878b7253b19d194c4d20b7c9a806d4c7be8978b0e6525bd1778b6f3a1f2e330e88104a7a218d23d1c583c33626b7592cc64123f876b347baa2591fb0c396f6f7d52cdfe5d5a91a3b21cc998da9c80a4ae595fcc81515df907c0e95db0ac270a5b24ba83b13cf2a3f5f0c530a4bf463e62809b2dd01c52162196a6e3bc5813281423a78706faa979fca948cf69ad158da85f74288cd2885eeadcd0ee65e1a2d3150068b09c350df5735611544997dcd4ee7a5ff37dcac17f803d8e3bf38f86dbc4529c4151bbeeb26f14d27d66148b709ddf2e03beb9e453520d5a6740f6b8b1f559fb6dea92294f8c24820932f70dd03b17032d67a1c9399a98d9750bd100d7754c401ca174cc7654d8c1da41a08a9c5ee06de85884eb731c32bedc4262bd99b09e81e6e29f0bbb0311e7285a13f009c37b166e670bb8bdc936f3f88f25760666987434eb232987efe21eb1038ef783a79263b07b42e99760d62c4cef4a843e7700d4a22ce23adc0192fa71926f01637fa5a601313c511bfa4d67564c85ff941067fb8a8e606e0c4a06a59e381b1081926388ce14c2120c328e8940640607781e319b5719bae1b29211090d5fdda9fc7261834f8751f1e7be42c88491c96c269a4b94088d08974af878406d134757d158e7d5fa3e6155feb89bfce03052e5ca7670cd7fb143ad0ea604a2404e3a18f5bdf583532a83f6a91ca0f54add52df1145a627785d474170053639f407777776cd897d0bde1c9c11d692dd99b8fe36086726b7a5697c44504b55a0ff0a987486547516c2772639347cd3ad1861adfe960f56b89cf01d69ffd7613e1dd1380f205db25c8a14ab7f5d04fc9d4d2e225184b1c3038093a3c926f090f1b8d35b9faaa12bbb65c2cd147f3a8711539741a2afad836da5004310b5f6bb8dc5b2ce1db50c867c185703cf607f9b5dac84e18313644bcc6fe6c2b95f86402ca05c5bf6500a65624a0598e6a258d6403913df8f502ffddab81862be300ee077285014ae87e71e3afed3e98d8d106feede908a91cbc043c4af0c31ba275c99b92837bf294567b5c9125bb7dfafe73d9940f54433b507dc258d7738a09f90502b038cdc2f25aeb5f89a3a8e1575ec8ee607ed07538bd34ede6abac065a124be90e1542b69681c3d2b0da080133cfc7d0697b00f558335b54755365b251c307162148fbd39fb68c72c637285a384c232a7d5c15468e09e968363eadd732d0d739565da7525b6dcf1c7d98f2960486e2e0196721636d502525cc654ce0e6df0497eb0186ac3062085d8fc544a3003487000bee2a251e4c5e21c733f07e3fd6773e804417892d6b1bc3b8a88d1372a11bc52b78bba780546394d5a168837bf0ece65aa7b8b0cc0e6d692fe91605cf1ed7c51a63952c15de9d687c647d26869a8699a9a9078e7b571fa70563e1f0f75558c3b75928d943beca4170ede92869d8286b6b8cec87f5ff7930c45139d9673afc14aaa4e751b848f5cdb42513dc0c22639758d1041fbe2695689a0c67bff0d3c2b4143c8aaa4cefd550624d8400eb28820e1a03a8393ede4d366f60040a24dcd7e442f3c0850a8019fca195e15914fba95602f4a3df5424aaab1756b1d59d31e4875ba7b32c5df4bc21cf2d6ec3857013cb59fb28041d5ea4d26556ec40755f5ab54122bcb9ff641a3cdab1a2b9eeb9c02a61b7376b10928d460c4ef6a0e4957a7e59560fd227b44d4b3e71cc44d953478a3813e578b9acfed358577bbc390c9510c9f97b67063d0ec81086cfc41fd20c573376dd281265ab1d7463f79723c3422333ee16dc341a71c2eeb7b9bdce1719aa45901e5ac035805f83babe20b64d7476cf715dc1b21f1bf469c100ea0a6a9382db55f47eee01d595e0ddc045ab9d4512fc09177604d26ff235755d38bb92602619d7021f14bc3cc1b0d57eebdb4019930b1741a7c04bc4a63161dd55ecce4009089b2ff34e6498646ce7cb26287b99c81356a645aa48a1b40a803f8c8aaa0c1e952b6a8b9fdc33a34dbf44104edfaa149e0ae716b99557fa9778004d0d212afe5a37fefc9fe08946a9fcbada302e41d7833d3424a0c3dee47d310dda7906111fa14f787bc2081aa94b2276fdf4f3f8b880549318166454de6b74a83124ca46529b89a4f51a9c583fc7ecebf0fa3ef4e07a504121efebd896a514f09d563118943302a0c9c385e8c7e52bb60df2a2c9154f51862f18e694a98925dc1aa88ecc60dca86fc716a302b855ee8ec50b935dedc1c4eaf088959b81566c7a0ae08146837db462e6a22f2d98e2e30acb59fb016d2cc57e8e59682ef6113de0d098b4b6683645b6b8d61b2d5b2a5e36b8f3f32b57d3e4cb62c6aaea9974c9201ed53f927c632acb95702d33c9763050591102e43262166c35574b84627d98495a2c58107cf286389b7b7115a02ced87d0100bbf057539a6275c555e292f5f63bcbefc228b4c5d6b8d20c46009ec07df552c0badc8abfa9fefdd4365e358c961913cd51c0a1da7881dfd15a8cf465a0cf538a7b3f0fcec10a0c53066065acf83efc87b4a0caa47e10a220dcbc38f8a99e67fd741943697e8d7b9a490b743ecd2ca60d527ede6e1749ef3b09c6c7a981c85e01daec79afac7b6c72cff62ce3b31fa3349692a6e4ea79f99c737c312fe180d4f238a8bb3b31a1b96a1ee3a0345c58d5a7f389dde177265095dd47e758c7bd6162a45b48e57d3ea172a03f885435df9d4b91dee1a05247726aa57ff559c8bc64a10329f61c49f5f88b29632d59eeced5d9e872ce80ce4159b060807b3ea57cebf812f9877228db5a5a291daf91a5bd72ae228a6fcf4db7a72cf76ca88989fa54ed97b96efa6782d79a2f537ee145785cad5b197cb69d1ef919e88c170dfde99625e6a06e046ed21f5d6855133c6f14932d7585e94f7b51e62fea068ba5e393314045a7b96f21d23c9db5599494471b18945d4b2bfca5faed9c0ad5851fa3cd0396e8ecf2aba97071206d168be76136f14e1de3c46bfc66c2198a36c781514ccac5b8ec9b950782a67d053b1c1a8c27e002e1ca5a7609e3f8d8f01fe504d44fd6c8b580c8e81209bb5e77c8c7c0c5bada9f2b20e0dc87fc2dec7dfbd53544f5b254cecdd74d0243da3ace9049c269750b0d1a5cd237a192cffa6ed3fcf6b0b04f210c7611236f97405c4fee38eadf5a2e2825343ada3190f212459a688ac4ef92a57750c87afd8c8a5f5f218dfa5401194919b7eb222ae8d822e218330a75582867a1810995ef3c8e168a92d1d6d2b8cdea9bd662fd5328ff4e99358222c959226a0807ffb6adea412c557351e8c4829eb277d4b39710edb7aebeefa9585a5d11f6b3f5903ebe264a27e393776186d4c13d7502bd0b1da60cb007e4b3f0bfe3a885b43bf017e7a1f18fb77c119860b9042a3387a0fc8b38383740a956ba39f73f03724135cc158d6f3d0e905ae97334b45c55684d642a314799595c951a4799a11f57a008838cdb6d8734505bccec7c987515678352f7cf4dd2510b205454155198203c05ce25410080b589ab8248d321100f085e405b1b25afaef45e04b515b11901b336873248c40d97faf325c892d0a3912439927919ca0c34313555f774078490a50abfcff7a26d974ccb70a7488684d1e484484500fafd9090f8b380d8809903a797c84ee64f61c43e8d43d940e89e1bdf8a6ebe4c4b24493fd612888784618e408a853108eb925ccf9379f8bee5905d000367f8b4bc23d9c39046051c17c6d740f98d0aa4d601eddc9f1227812b20fde486f29569de0ac308fa749d203ee2c00e1bd08f54ee5f9c254b9caf38b81dc000f976e624ff12e373a6c96712ca4e8296ad730da3163949077bbea8b49e062f02bd11554dcf19fea00f403e366bd1a0504b330ef513e59b7d81dac1f9f6e4689350fa369c4d68b6be99f5aae669b4346b90d491b01c6b2b68bbf22ddbc3c064d93d448abe4c20d7a8bb0403629e6d0b9c8b897d6e9a051a701890eafe50516f434cbdf29ce07799d0e61f8d05881f35df43730fe3047258702dd00fa82b1fc2e0b946e07018e9714730c7b807cadf105fc173ce24875b0ecee610798558e1352d3ae9b5013228920bb6a6da4b1f325fb1c534d7896892cc0690709971d09e3b208c43f8107a5d254bb9c2faa52cd9e13ba2dfee6b8b3262ab9010fd323ab659dd47898ce458fbfd7908d1c7c5a94baa22e64c672ec9bb20ea0644ad7ea89d0f791a2f4b06a824cd11d766a41f70b8c722e5b4901ebf6b8da66100b836045c1238052d28c2124d4453e92c688025ca5ab9ca2c28c01295097652169683894fe76009cd0804f661b540de4251ed5da851c7283dcf9c5f3fc1d00f39133f14398646a8fe0f3a548f4d396d98459cfecac76f200c3740bcfc6416bbb2b37ed4dbf4d6f77b9906876c6ed235318176ff6398dd907220a01c8ceb704b073917a39d6764b6e2b78aed5cc264b66d6c45cb52da765e98aa3847d5260a6b0389e6f352397d2dacaa75efdf51d4b3f11c767f2744076cee06dc7ed0f7344d3baca92bd3143c07c49ec69315d6babd2685bdcf7b58438142348bb47c37b947718dc3b50c9b818e22670656d5018be3a20428c286f596ecbb0b47487b7b80540975451c939c7efc64913c0590ebb06ad5ff3f4eeec84dd0ae120290653603eb27baa6a72390a1efd787321c13db1d161e7a9c158973e031b0d9621b778ac7cd08644ab30592303f1b9fa96c6d4c0d49401dfb28c93897ba14d07dc707069e281a7038ff95fd3be07a0046131c0a7a1f589aeddf00c793ab7f29eff1a94fb3cd9a491b3f33a267b374e7052c983c3a8b7f258f7a2134ddd6d16d72a6d5ad88d46e527af0b8c26b7deebc3b4cfb87297eecbaba0dcdcb84b13b5381a683d43195240675dbd1a5d78e2c51710b327d7a19bca1078acff0154c25d81977ed20f03e9a797dcbe0acc34c054c4a7cdc2b217467edba04dc8b222fc0ae298aa909f2e64ae2358203323d4b6bcd69d0f04951d8854c135dad2cb0c3739e2816b0cfd1ad0ead96e57f8ea42fed4be93f6ab995c1bdd2b100139b88651dfe839237e9dcbfe99101ece7c9b11b1a3c128336c65a3e35ddbf87dff0bd91e9c2239ca82f2f55d780cfb4b7dbc320f1e04b395f05574f385d6a674f5694204cb0c1b56fe31c859006a7d2ec4b66968ef5289c647fced7d24bc90240b9cfb49352f43eda68961b524178d07186e09d73e2934a53990ee06bfdb6af845e1e640938383436711417adc27473a1a7d9b9a3e80c0421f8cdb47c7b08451d66f151c1ba2ebdec3a7310a0f288e21acd2560b5ebd787c7c66e6d365b81ea60b1842ebd3ae0b79f0e82c06f251a20286d5d3af06bc47a1484122335691e3db7c2c240b52394ec5bcedee9b8d1d87dbf4515954f8588ee8d3f71cece3d4965a7e498a5ca57f913857a9831b14940b1889f5d8524318ba2a763cca64b07a1695479c08370ed5d9eb6363abbd8a997b101b41ff7043a6599eed3212607c3e2b3f77120e0a92af23ae921f4f9c151ccb6e4a92433b857be32d22f30cf9da8c13c2b1a52b00236149fcce653a1407f9375daa32beb5a9208789f11c0bb8ee326466f17688325f0e149351ee6440cc1769bfa17c0e2010e43b51ec3f4aae48b736d0f408ad8c5cff4b6ce3e2e512049c53931a4d893dbd9120c961db91d184c7e405951a93f3bca9a466ae1505cc94d43458f5cdf94122989395bb1ad2e49073342a2d3b8b9a6be49571d80db6f8a6976beeaf23b2953156efba3962be1f7b585faf13cffba1875cdfefe63d4748a180fbf37f9fd1ef2354c583325ad9abbb5536af03da4d611bf41d6adb0005d37355cb982189557553435f5608ccf3e627374ccfc12d4954acdfdd2d37565bdbd4e3992387ca6bdfb548663700f8f56605185012cd4d68f5183aac98fbc5f8c7a0da957f89903a4fde371164d563eb7712e713d30e8d411b1dec0b665e4a72d6b80e96f1b493577caeeb70d30010a55906871dc4a2541bf5254f5673d9d6c982bba83b465207c7647211e1f27fc672377c4afa10a1e595de58ab5a94e37e3fc33d80d4c90b491b752ca657430435219f20b717d98bf2ea0e553577c61665cca07c00b50cb4d476a5efec19c8e386da1c21a4507b7c4702db3aba17de65aa95147c2802c33e541f98cb183712d63a43af68ec5f8e4fc0f96c95e06d69d8253a8288d4ca4b61c8fbf52426e711e4e8135a2f99b6281bdb51eb4ed7acd88582d4aefd06f1532cf420cfbbf899a4bd059432d44f4aec7046c0dd10abe415441152317fa9cf204ff86825011a6f819eb66ba8a754a99289cf106830b91545a6205d46ebf2b2c6171b43e99aa81496d6d031abea8576da14926b982a9d28cd57ac679390c34c8bef10e70ba822820fe7ec225cf2ee2b83f4e47c49faa71482f2ae2ff778f62dc4339c39393df1a738028f0071055c75ca98a77f18a1bd596d925a4de89837ebaf2a8840c5e7dd2155da98fceea52d10b82b65dc00a609cf4ca1a4c88a0e4aa8522b84e961ea2577be63df5198ccf39aeba61e530b64ad40eba70a0504ac77be54a82f7f2acd750664af34c518a3c6ef3286c4d81d668ab3ee4dc99d72d6f203e5a24de9b149e74d0be90697c702ba321e5411d10c2cc28540e0cb65097f1e2eba76cf333770ca5fbcab7a0151eb75a541f6d7a6f0055743e5f4c3f82393d1facf928d9b28a058ff73cc8f9e657bdc3346d1809e4306f82caf4b209bef913ae0b8634fdb913e6715af54275e5d186ed358585123ec21d4f81003c109879687df688a2f593da69016b8c12031597f33d0c29711f97d1be349a5c35f2b7ddd6e1a3136c1f79d5d7bb812586b54e1ffc5d32170de40815dcc69c1af5e3dab05008223022b3763184ee71f53358a4d9431add0006fe6834057d9a6e01576ea49d44b13ddcb2f2048b90b3393b2a14f95de7cd3dfd9c82d5de03804f44f8a6c8303e7828b57b27dd47b07e6a8940b6eb1617d55877ae3c59a863369e6e153ebc06ac488ddff3f075444152c5960e31e49fa934c594b2fe87ed3f3f6f51866b6f51bc3b98e4ab88ed111069b67e8242a09aa381b5f4b75303394f40cdfe49043b6c361e18e2ecada06bcf6410e0989e10c2b1e4e05a288f51d1072a875a4d27d81a009b9a1c3d2e000f02e40d7b7a4edec142c24d0977f0cc76103113fc8b1972cdf2dd7f2654b0c66897b90b47d60cc38b3e289551e9a6907b7f6a746d8ecc137188020da1c7cae3864071d03af08e90f3eca2ecc87552c2212221b3872d954818d83b4303e6d6f75e3c9eb9a8181e486bac62076857d207587f070fa240d4092830c90bbf374e3de537191c01c1abb5956aa632f1516865f5290fe4d7d8c9b66de6b350195e91950fa35934b96605898d90326e4639237f96e5fe9ce9a418634d532372f7b91f34a1beca11d3e8556661deba84a3a7aa070b2cb2262e2bce0b9b376efeb09b490c84aa3297a5e0c6adc8c4f18fa1da577a8f21265110f1ff090c7a2c4b01948e314a7fb48679bd210494d74efe9037135bbbefa8afc58284827c2c64296925756f69313558264f16456056e2f0f85b69fadb08ae71efc6836cc7e4ec3efac970f0f45cab053f5b2e34f41fcf20f438a194df18af84124a856a2394a153aa459868efb3448adc8de7ed6ff3147a1c5c29d8e0ae369638a80d06ad78080f16992b1f50632df81e92b34343b4f522330091294e31973d9bc8d32e1f30eeca6a25dca298757565e44dfe284edcd03a2033e054b09ae7c0ee2235cd93380cc3648cd8859ef9edd5e0b24a856da0bce8593eb2bdacd0fb8e4f658b1b0fbda6fec74fbc0f1d3089e07a1f2bbf658273b38c87087604c76610c4c11dbe41683b498912f8928269977a1d9b2a539ec889cc0d557bce0150b7f5be9c0ada87f46c98b922631dfc8edd07f849c10359452f4ad0bb1f58aa99cc0d60d07a7db108b2ba3f4f52f340fc7e31cd7cabe44ca143574390f043735af576f9e942aced2475a0708fd969a105d1851683bf49bd54a064143f5b50d73e8e61b1b06773782e41f0878f9de093a3167420a991d052835d16d3041a9975c98954f0990dd22d45ca26db2909fa8b87c8405cb15dacc09bfa24c2caa713d7b6d6ef024b7d86d8c2316ddb00365e3c5ce40d7cbc173688322dcad533c2c7ae60d115610a741033a72986cddbfd999f1e467e2b032f5f0140591120f64b356aa4e16bb474708033a8534e3f949ce25389fe35583d099848c7c0d7ec6a8e8c6e5dcf3ae19e5b7da25631d4ef68dc07e79a638a013e9764c41754fac1c3d627ac6fef9e93ea8ebaea697f0bd6da7d1aacd581c4369183c3dba8faeaf67d4a82f92ad86b1080fb86a52b3faded5e11aeae17376811f6a9fb1cc14bf2fa165ff8cac311dd73bbb99b4aab1a1c2c1fb14af23bfbef7ec5df22f866b619ff0731c278a0219cedee3f7f9a5a15d27744c79402f8b90d51a8ead9887f5ba9771b51a5a2236de2b7bbcf4df0f14297023159cd155add985c4077821f4b62030f6571d2cf61c3bb4e8aba32aa88eb7f5348c47d915de435e1e8f214aa630272ccd333a044bbe5c1f62e19b7a2fa20969a8d5c067228cc8c6e090f806b43e6bb68cd362d678d9559b95c646ea007de9b2cdaea517efccca7b6cf2a09afa6aa420a980dd54b15611589435675eed8ce8050570b3d9037d88daa94392308d093847dc37325ff8c06542dc03d622936307aa628fff2268b489248c8b28770f38111e80bf8416a5830057c10f1002121a64b12d6226935dfe7b59ed641023412e061707061a2aa463c75247f0aa81f8959db29b383298c71aafcc96ca1b56471a9de7de45241cdc4e7a94282fb42c117f11cf586e896ab1292244e37cac15058aecb9f9c8f04dc10e85db548624343a325ad3af207a9f925afe64f9e909a75c7c63abde46e7cd9d0bc6e9557862ca5d705edab8f18d0ee3ce75a66aa005d205bb0885c3506e759f2e3bf73ab6fc89559461c513dbeddc968135e835bc5a0c248440f8709c2a3211ff9bb530a4aff77d19480fee7e6f2e026d0a21f27f7993fcbdfe2e2b352ea85bc0aed8d61e8aa52f54f862df53fe165a70e00cd39a493ffa562357ce0ea4883f1c86b225d778dffa22c74fc2bed84ac0427cca4f9a4cf461a93e5975c6c16ca64abfaa13d5b52c1db1de70e9dd9391ac13dfc803074246bf7e21a7ad064fd14630f3f57b3c315846c2d3d33c0d03ccfccb9ae888fca8b81245880c5ae4f91696a3d891865b387cd4806c5b2883accaefe35d6d05854fd6cd767c3de227b94a23538ebb1f62c362c497d5d349beab21dd17aa4665fd7d0910780bde2728b0352b542fd14a7810426f442ac6fcb7ece2fd89da623c6783e34f7794f713f201e1b50b93a45146fe66ea6c67873b80cf8c9f913b36b5cc6d03c018b74deeb16653b7a5a0d1b0fa51d5fa4b4248e59e67664467f432437209471e54789867271ac5c508c1a5d82a02c9fd939264c4d6be74cf0864cd659cce3b60aaf0e0fd3eb073963d5903bb65dceaa4d886d9c5f28bbcb607dca9def66cbdf84a6d91c25c97b74048a70065cf92d3b9bb992c696c83d519a222b199a212b598c82010ab5f3821c3926430bc9a9963a1bd1499990bd3186964a739d177714e60585a7e0d6af8a5e4a319178cbf7527a427820365d94f29a92e3929c5c2a32de5713a740c5fb1071549cad1567d8f937b5e876bb8a22ffbb8b088dd38ad4183f9d84ab7b3171e2d728b651fc1bb1ee3d91cb4f843a3ab422f0e2fb6ed96a2cd05db3ea2cc13ffe290612a052e336cb8cb1805a503f52e40129b6cc9340db91d43fadce4889d83d0adf3d5c37419e87058610a4fb1ca45a2f62235d141c6c3362090a7da9c0026c2bbdc30a92a86c3b1d15071bafdae226987553e1e886aa83434acef0f8da49543ba48186ae6067c47c37c614abdeff15f2d7cf9f994eddd316ed800f912a80ec05a34e5035d0c74d415aa9e4ed0249fa51b2f2f0c5ddf3d66928e9f9aa22671730f202a4be2dc78fe13ccd769e80e4d87a0930a2720b7b636cab24d5cbd6145217ed072c2627e96793b789a19c7e738cc0a4c61a7d0aa0d55c030e271aef7530dc5077ba1657425dfb8f0749f5da1ee182ea4033f7170b78736df2daffde3035e5e52e4ef1c77a3ea8cf98e01da948b7699297fc7ab754ac07e23438b4c4d9307772dda05e833f3240737f3d321d8618fc53c60e419dd67c434292835d68f3a0f6ebee5ce4e34f5b08cd4345607b35b60d38059a54eb76a607202a191dbcc67081a36d98e332d60bdac843c2393b04bf48171e422571ebc5b58e57b2fdfb2cf0340f422ca1543be9db128ba89e1ef4f40aad138f3a95920dc1e67819e26ce7ba7291a1cfb6ce06d77fd5d9a3c0e8b189279d885507d723df2ad8fae7d6fa43ff57e1611a2fd8ee00630894bea4a544f74931b09ab816080eee5e82067c0b9316b7bad96524ad251ea3c77dc9d7f682f8104246b0786bee816916d5b28a80a05524dc43bedf5c501875fdb2d79713cb2c407bb89d7ef00d23d2c85724157fd117adc857f7c6f4906c58eed4f400039b1e9cf7ed3fb226a0c267c2decb0ff98a6efd74012e9b7b0eb9720c30657ae88e25aac1e7100c64f713dfa5613860fcf4d96b1ca5c52a8aa7165077b20a36ca82b5d5550d9f80d9e31ada3c875a8bc812a7ae188767cae49e7eb74278d2e6ad2ac4e5f29976026139b41e010617a58bec0ac261a59f255f8d7c5b4335da80004201864f9579b53eb8dcf0a7c774e15556e1e9d4be53e08d316f9e9cb21a571a784af63a61a49c8237dfab5b6cb93a489418210f4a9c78afa6814c45b3cdc29d898ad307998657f200b73e339d27e5293edf27a36f5597be58892cfcb718fd7f895eef3b14619d4fefa7750bc4e21b71fcf727fa4357a4a121397acde710487f0f483eccc45cfbda4420cccffdb62f7649bee9caf6c442fbe46a9a7c85dc3f68f5f7ae568bc54703996eeed5c5f9aa78c7d909cdf2b931e8f37f051d963dd5fad5037d7903898c868598da5c38c04909af193b83464b8963f8814d7eec92eca5fd7316e049da29002fd7b240b2445fc21a304a80d0aa7e23d1f3ac05b1a80bfea920c7b0f78d219534c966bab60d05ef2838d8182016d663e641dd052c19cf60d0c68e8c4fcace35fa965a313bdce2d4cd8b4a2728bf22375b1baf9cce508db87825f573e1b66eecfb8096080a4d8b5083f15daeb0413ec66c8de9e67b83f76b18cba8489ee02b69275e54f8bc1ed3f351126483968698fae499d6601f26cf80915139733f50b4e853784846c3fb27de2f7a409fc2e96a01f4b83c29b21ebf2d0a7f9c8565e7afaad3f03d201f7645ed8cfc7d2eecea81404c43d08eb1b1b2a28307631f48f29206117797508693a69a3b63b5b7d9280f18bf63bd029f351ab45469a4327bd1d0a17f10a2ef6b56b56feb7e8e466c9ac89ef9369bc18b6ff9db145a04da05aa09dd89171074f36bce7dafba9e596633d2f2c0dfeec00867262801e94cb324ba77833c45c4841f372807e8da81e74aad33d4b242037ba4a2d8f368e9ccc71b8a2633d2403a9e7669dd3b5642f71d2f1a51bca5bce7a9557c97e077581462d48cd8646ff18201176f93a3323521c8f543c3fe46812dfa8e304dc2036bd1eb9bbd025e58bd8a5206850753409ab7c87c1a635600678a48288c43b2d6ccd2aca19252eadb5ebd74b9adc2b3fc32869823a6f9df1706bfb7d6ff69cfeedb40d22740e6f3c9a3fc2f1e120e035dfef52736f5aa0aef3bcbf73a52ceaa13ba83f18f95ce22ac78d7781edd54301e242bd7fac12ded78406ddd6088a87c7d13ab1b52ed4a0840601321029a10007e69bc085fba75408f9c10584a29462bedeeb95f6d031fe835404a53ac106f9fbfd086fd2c74a83a1c5b913654335d960298fea546158d16cb5472c10b9565629a559f2fea8be68803007e22552a093c011112e2a20321f97c3586f18d0178092f2a61743c9a9df63a7d5d5923254dc01ded7a46952d1599d8618cf5987a5349b901ab51086f74b85a4c36b1c6695c74257b27f65920792440c49afb957bdc6bf2f71d21a6a04c1e0155d2cd732a8db6332a623a35bd6f76d32099860576a642236eb2ad390adf0732556ddb0a490408b0be544f350ac5f7ae3303740b45593cb014ed250fc7004bbb7b65caa3e28b1bd5cdb2e7f1160fd5f1a60dff67284048127c9cf124d564ef396ce72af8dbf16a66230a7db70d1020748d1c2098b66955ac42469c1e77cb5b3687f845fde1d352c66a6914b0dcd0f0d795bf90e4227efdec569cbc8b32aa4b057dbaa1cd1d5e0304580676504dee44aa074d6c0569f5e107351da8e212b417843a17684942871605c9940a6d693a94d67b92e4f5ece22b49ac276ed89ddbba4fa71eb4b956a47467a620ab6e673832a66e464a5ab1a9e8c462f0ff33509e0ddf1d1ba52fcc8c31b19845a599c7ba0ab4ddf5d26519f65e46fcf1f2e1dfc625d4d02b56b5d7b6922a9d35ec6c3ab053540c75ee625f4a592583d7e5087dd0333294cd679a4dfa427fa5b4cbf9becea5891852a14e1464567612023ed81efeae4acb1e0ab4e94ea426ea25719a0de1a246094fc3a6d6120b30be5efb1bfd951a373b9f29a85beeee0e17c85ac09fe0a6a3c0e105e9986814f32ef3ec55d066d567d59e877f0b770b81d83dc364a6c7a48b84fc7d25e0dee3a90238773a8050970276335715e566f950d85cf52130bc10f280516682231931cb97571cb29d052fd1e923ec799a5f41a5ec00803858d589b160fb6c78a8ccec60558da6973a16f0b67094fe018c0cd8eb21945254106ac4b62af05dca3b7ceed63198f831ab283f8d4ad98f38147e0c1270ac15246e342f8439e8286c399ed094fc5cc54927129b58b0983f2c60616089fa633fdb8a0708e86a64229341b4571cd7ab1430278d03511174fc8d8f44948bc4ca8244db0f5a182a7473f255e6df970237ed7f01f7efacbb5cdc16954b121cab5c6260cf6046ba48f658bd98114a86ca5f2926096c109bcf325a43cc691df67603f8e6b186f06751340154865cb1026963283fa9af9893492a42e0a50ffa3098657b18dcf037f7a801a80474e6a2d277638b87d6818d38f16f01c2cb36d073864efcb33616cfab87ea8a3cbf7a8d83c08a07e7a2520a3eae3add7d9a006acc56274df592ad52088811dd3c6fe973969358754480a7ad085c6e7bff475ef6caa02bdc8e991e5d43050f099a67a03c15311406a471171ec5f7e9a17d250325fb80b2720f1a40d1cf18e6af85cd4eb713ef5302606042a7f25406acf5a06e1a5926fd4c3ac8034635033f2a955bece652e521179ccc6c91ecf8c9840d6114a91cdaf2add1e387f22209520e70a8dd228398c462d30d79620328f8042857ca27baf2af3296c920393bd8b0b2b936833c4d4bd73e9a1fcad05a589bfe653caa3ca74893563cf50896244141eec5d87b8fa858014106ef23dd0e0b8e5ead18934dc9081c4398f56dcf8bf852544a79533cd246ec163c3799df2e45d83d6dc8624cda522b14af4a7352996644e3330936725dab2fa0505b2d6866365b8b10ef684dfd9004626335d084a0eb2cb2f7450ca0bf7dbcd3da520fe142439ec7480bad27a16404030f9f9e929843a3b462e542688bab38ed38030bb99dc95ece7fb1b48beb3e0c225aac2958cff9eba048d7670b6eae7f18a0b18d1c1fd28ff845c8d799fa3eaaecdf8b8fda1f676c012409d4e140021d1ae93d79cfeccd1c9f745a8c513046b0d570f62e4a6bd525d446002d5ab34c9f084da011e47347483a013b5cc36ead1cd4961706f0e801cbb924efc55ad02de8f0419b684765624267d375e6ea9d514da25dbdc8d091c3e95939e9e2ca88ec56de821e793e7e554949bc9774a4044987122cd58394045ef1b3e3382fec663d0319069ff770a99108639b040052427f441d69d03e83fcd58945bb34c02a62ea7051cdea3faa7d3179873d55bef05f1bed635faafa86b55d4472ea2c871961041f5136bb154431f096ee73e64d2dabb20c2de0a8fb6451c3f1bf167948a6fab1fe977746dbd409013c2839798f54a301caa3bed753840fa11f5a27def471f792d075e194a5c0fa32ffc763f7e2016c8a5307bd423dfbf28191206a8d6ba67b08b14094ce0a79f1788d07c60d01cb1c64a0047e6f84420f58200e359b0e64f5d808802340ac2a0a65d149220db2a4b1ee4533cef2639ef7fd5b5099e746a3c2220fb153062db10225179c22b8fcf290f3ea6415807d6ecba665baab9198d958ed4092afb2d13e5b6c499becbd774a5b06770e910fd20f53d68b0cf8beb348ac51e65114f5998e9e4574361cfee83590fe3ccf716cfc6ade591cbfa87ca9c197e559c62b077fbf27bbf8fb3d890a9b47a312fee8345e7450a4fad1d31752ef208d8a46456bc2bbd1cb82a68e16a451d1a8ce22152dd86b527efa73ac7934e0d808a0bcf0528123098da59e6f06e77d698f0984c69be3683436a9d195c0f5d8238c2449d26c42fad6f2ddc4e56d297944a3c71c3b33d44079e244c31845d582912b160e0a252c33a4a00a827963b3593eb08ca369ce107b12cbf8f4fbfd567437ee2140240b1c1956d4a813a7e773b2f7ed6e7767f5a051755b238601e4cdac2a186e32783346d39b605531d254617292005e6d15139c37fd035eed95d556c9c8b257deac9ae1f4a64b80571bb45f242dcb069a253ac5dfef9762c8c38c540b506a9c8ef4dc749bdeadc3856f9224c9b29bcaee4d9fd5d2386f3a10afb8271d7c5115b0cd9bbe01af76ab6ac9c99bde01af0c7853040905c70aca09294baea469c3a48fa4f67d67f1458c0f7a46d38195e4224eae34a5ec405ac91fbf7cd3050c52fa5cc18e18762821c1a4c82fc8e30543372ea1c41f1d25f26a4f32b6df820c95b6d1a014a113a48c902849960a4a666da552b637c3952d82004879dc293ef97514e457428b8e3575a8be8c6cee8d3934aae69dc5b3c8bb513d8ba69f64bc2be3d5d48dbab3acd49dc5b368bd747d166370654d142b6263b464e9f9666f7b5fda43dab3d820c6aca7233420ada99d8977a34fa5a357293d0de049b7b4265edb0aa97e146145568da1112b3bacf47c69f17db8232025baa0bc660c7d50e9f9fc4d19deb75bcff775f0a687c0ab351a69540d6274d32d695545476be2dde8341f16a97d1f0df8a39f4ba98f46f5f576ac6241e68dbe69c0e6cd7aa3d39a74c1a78dbdfd708bc178949a3ac8dcd247aba200347208bce3999b33d3cb5a69767b599eaa8f67225cb2d63c1418ff544b141e859104a683609ee52f35b92cd3aee935d5f4aba2aa6adfee58588eb6c9b2e77410f82d6fb42058a3d3f976fbf931dd87a200f4a593e47964f22cce0983e6a6cf501fcbf1e9670554372beb1404366d332b9b6e16e41d296404900ee4e7524afa0acd1b7b6410088240dff8b4c124c91ec7a9a87350673c6eda4e5348aed0204820dd8c6a2645d2b2a43e678177e4256958d2f35540bac072403af3ac004c4717d1bc21371dea3e8e34f31e2f7543361d093f6eff74d27dd73cd3d97543e550797a093e678fa73a1666dee32ca0eee347bdd357a0b1a482c4933e7b5b463a09460f38e9490b9c67e92cb49f5eea4a30bd47c702f378ed3a0df5d9e966d1a99224cf48b502e9678b749c7dd58e98bc43acf59123149ba550a9751ec1ca92cc381b9d52fba6699a5e9aa78fa3398e2280308eec207808bc967e728b30b22ec4e823530ac2388a681d8e7dc65f1a88d64b30ad8e8521a4ae84d14f1d0b2c1c81b9b6c8d74f9f81fbd29a17b9ada963ef16a938dc4ea8ce96a4ed9c6541905ee5490f7b92c13cd558a8044c626191ca5f3c3c31d6d4212b189f8c77640822efc85a4f96f34beae101e035e148247d544722ef482f52c7a29a06216b4eb230a484222fea0cbce62cb417f98f8e05f60c74342f526d8370cbcc39111a0499e649672179fef81824c95fead353a2b3ebe3af799cf441e79bf9f4a83a9fbbceb7f3a0f38578229d4fc433998641904e3219d369a4271d6785adf4a46fd00074d3f9da29044e846ea6dba5ba31c844de2901937847f6c0908e512c08d2b38a559e74df5836863de941cb0159925f65cf566a9a5ea2be6b1e27a16eaaf6727119128371d2982749e293c527dd5eda2c89571fe9ac44ce6669dacf42d4ea7c23391bc7b1ec316724695af16aea48e09d085f38c4603c9a91b62aa408bc5a2f35c3275d02bcfe3ce9d7a7f452f5f1ebd199c702b6d73a13deb3513773d3c72112da2fa001d66d80939ebd523744c2e917b02534080d8cbdd3c7dea96361c8056c0f69d720483775221a04e9b838ed4cb68fae0176cbce0d04ec898cd455186f115216ecad66e4c2a3879cdeea1004667f3a0ae79f331f4b17c1ce74a56ec40a1038bfd40d691f320481279ff41ae938154ae03b7a149c0fe8ee5ea95a9eee2bbf363d01e9427e4975c40938b87d9a6fa6f3719d83db21a60fd9d080d2ded101a58f7ead9dcd66423a1acd4704e95408729ad38268413e731a694b1904e93e7e22f513e4987a90d344b0a30bd947551f092fe47724837843ee1b543248a50db5897a6663f5ec64cabc9ee0e636d547c2db9c9c69d0a0418386f1ce03f9259fd6416aff8c7fc64f1a8d23cd859cf420d55a0e489d8fe636125e48f585f8d99d1f83c8209ad34847511f51ba6f85bfe95408fa2007fa11a5afe0043427515237e2de92547d331fe9e4a5394ad38d08d2f95081739cdf8bebf1fbe393fa09cb272c834839e86e6ebfe61a541f0a217e7fd3918ea2fea3a62aee440f8f2e6d10243cea576803d9cc84c0eccde6b18064eddce95d3771e2a89774f6ae0ea5910e01d3c90a983ef3e681c0f9e40c55ed533a34c2cc437c4f400514ce2f75d69bcb595ad5dcccd3f948781f61ba6f85b7bec1b7ef762a04fd6c369bcd66ba116791509aa3478cafdbc0677523482f49307df4d2adeab3569dbdce84b5207ca36ec4a9f341baa9736f9ee51a83b0a325ed5cdbbc7183a25c6a7bd6ced4b735a37b49f8da79d274d7afcffcea1ca5cd4c3fd5113ecc914f907ee204a9c39de50e1ca9cf1653681666e92cb8fb1e53f8d22d696fa44e3a08dd65e9d6cb0e8b80fd5abbedee31e9daa27446026c347dc9d67270bb36e31f752a389d05b357010b52028c3a1fa9b376e7232bc00259c2a0e419a1f4eea3ef9ae59900cf5415f84fbfb3da399be9dcd4d90994baa373e4b26b8f52eb4566ea4bc705f9d0e7af91fcdddd64d1f9438620c72679e75ffe58ebee26c935a8b3e500f960a39879029ba7ceaacfe623dc597af240c01682bfa779786aa8973c0e18835ff6557de5094a9e114ad46765ee4b9d8ff4f7e1e3a9eae3c77b4cf8786dfc525753697e792680ea8650a7e980505daa42da5fdf5f62c426fb293541493511828da521cb78e56f5621fdebd747451a52b69057e61941f766cf08fefd35a99efdccb510c7bb2e791a308267c4f857d75d7cf41e957fe4a9400cdee4198179cc73e4a9404d1df9f2e9d7a73696337b7d5c4f70ddc7116ee92404ae9be848e3997efa36f89621eade9aa9234ba7a9e3df1ed2d7c137ff6a234615903e437d86a2286ade1bad36534753e72b7fb8c559d67c7846682b5f4dd7c2198dd4d741d35be8c383ea465061fcd3499e117cdec792a702ece788f14bbf260773d470c3c397ba111ebe74f37480cf97ba113e5ffa8de7016939621c2b39f08cc0ee436e206741698de470cede87c680c4cffcfad8d7767e26e4eb2f552ef196e701fcfbd2ef94389e0a38f9523519f0a56e0403beb43d32d9b3027e15cc2f7dfc0eb655ade4b0e29663c925b38d80fd1aef388d91923e7637947b6d6a3bf0a140c2b39f2af4fb7881e9d684e92c1cf54e37d51316d0993eaaa7ce376bd507835f054ab73c16e0f2c451cf368866dfe83dae25810c7ea98103d9443a35f5d858ec333dd6639ad8bdc17d333a4225d2973e8e23338fe338e74b1f121a791a90731fe72838943438071cce4b1cce4b9ccf707ee2dcf43b5b53dfb081dc3087fdf2b88127e7a9ea536d7ebbf907d287d23ce96a941b627ff30f7e7b6a3d3d3c0d50fdfacc6a37757c35555dfd0066bb7de0e95c750f1ffc9237f2d63d1f381d53b73c0e4879886e1d72384e52025e9f9a8f4f8ad66e457e6d1a0000b88a2363f5a493bc5ea0b1a6d2cbd2c925a3070398a2229b48a75900cab42cbdcbbad84f7e5fb690bef832c597bebef3e50c5fbaf5f59c2f9d791cc0affa258148a0ee51ddf23c803fa7f3a150fba111e3df5c05f2d947f83ceb74bed40145bec12dcf038a5cc5e166e7d00845bec137143514af1fbcd4794f0ee7e5061fe25528c84b0f80da5f0dd6331e07a8aa5f568bfc16f918e42a903f342434341464f25480f4219d0ae30be97cec69916e6804d5877c48d5f14fcdc77d781e30a402a97afbd088f18b5c05f2478cc5ffe0237cfec30727f292a702a4ab3a15c6b7e9489e0adcfc834e85f18b743ef60e0e42f7f034c0c787e7013eba13a44ef3137470168c7fe37bab59a3d47d527564633928fd8e64d93c963dec1fd4d6a9dd844194aeaa6dd51ed4e6e25de9f43ece65747e3995712a27b1d290ca422a07a9dc94b6906e28e24ae05de91b1e60ffc7b97f7c6588b73c1a7424a433d2b138928d65d6e8e6a58f72ac1190977e6feaf840ea8814de7b04d2479e0990fe36b7f9016c88d1839d01ac91069683d2d64aaf39086dffc7be8fdaa3fa7025d3975e535570be2f44db1d3b4d65c138e224ad06d6a8f4dde8812dcb990f19ecd042bfebf36b794e30a2dd67ba0afdd604e92c1cf5482fd5179023da7da88e0414638fe6341347bf9e0916627007ca1719e2cc50e74e8ff413473d5277e2749a0ef591f0335d0cc65ff0099884548244cf84bdd34b0aea916eaa237c903a15a497f604a963819643070c346440d97aeaf98913d64fe0da79c72679e2de4ecbd2c95a77cf6c886f9d2fade946a72743e0717675be5d4a4b6769a91b81bc23673d1b4b1c08cc4d8e24499e1520df3c556b4d924518cb9d399a26d9632d0764ca02a67405de91a4973e7aea828412d2181ffc38868eb3246b47fb419a3aa53efb153481841282e88c969626e92144fc86392649925eb69ae6a920fd444996de2066bb945471fa09d34fb324752a70bd13a4973a15b3de895983183d06761855e704d8182c7686f44e0c612775e68ff953e35deb48125870f13a343abb7d9257eba5c5d359f0f7d391c0828b77f649261094d95aba948e81a079a8932138496210f64b35042740ded90f413aae83273f60661d2d454a874defb3603a9f7bb5a17adfc864ea7cbb4f81a9cf16cbf2a98796b46d96acc22cbbbbbbbbbbbb24bda853b7bb91b46403d5a414206db101975cce9a398cc9d38af7cdd82fafc7ad5a028360af398ff36a3f294588129aa701a79bb09ba5ecd383aa26a8248c3e5214ad31a73a9f9ef137a3e96697e6a8897a89ea5008818210bbd2fdf6203b06e4d15896668aa49dbde5091edc746ee2278e62a9196f3a4ff10af4e6f964dedcf49168fa58346b6f3affc0def479f304024d222ad3f4f1abce9b3d6f9e3ff33726993e02ad822598c0a1cbd69c20704cfca8ea99562c34bc699a2e42f3ccb1225e736eface3455bcc035cffcb2258d79d381684000e8bc66b8f019649041061964a0e39499aa5ec849219fc9a8f1425e1392517c2107e255c5091519f35e4c28bea8a848a8eb3f7cf8a0e374264426ac272424e415a3e9753addd8189957555548e8eb0b06f0dd49772121a1601008e42f90ca5f07ba8eebf1d7735e4b6ffeeeee9006661ee44133b7bd996a1b44d29f525262be9dbebb059b6fcf79b9d0fa6edfbd48f1ed1bf48b2deb07227ee7d3f9a4c4e23d38e9c1838ed359db3bbd1308fcd15768f91b077fbbdd3c45fa9b03dd5888fdcd73bcaa9ec1f93b7f44442b9e9ec89f888848ca53b1a8a2c60f3939a442cd0f798d57a21f729b8e8db1f90e1d389d995fa37b25597d6e36e3ebcbb2f197e3841515b12734cd43fa69c5b78bb8a1b8a325459637bd669a5e29c6def42b14802e5f64c68cd9f2e64ac8fb7640dd7df3ce02fbbef7de16eabedd90bcd9e14deb857465cb89211e789d206ef142214501f72a69cd4062c2a32c4a9b201c7c109935a52dd8ae270d5e256078536ca98b978935c27beba06e17a4be6fb68e173b38ba74d999210cacd675676c8bd76f49162f124005e8d6e8f09ae3c40a3805246da72af7de5b870a003d36badc4b87cb01baeab8d0e046a7ce931d374947e408f931eb2737f7de4bfceea283a4e56e60ce97d699b217bec810d503b544e36f375f61c961e769c68eac9e6fe6e37d69ed8e37aaa462e9e8dc35c38abf7f6fdfd2851bdf77741240971cac371dc8749cd377cd49426cdef8355eb7d97c059bcd4b30c1e620b0f909364f81cedb6c3617c166f39dcd43880061ea6d1e02af3c6fb3a1439bcd67364f59bccd860516e5efecda3157667c63c1ba8226abbb4a54962a76549be34d2f322d9615346f86b07dd92feb410aa0b6d85023038e3152b847d95e636cd7766ff78eb723252be0981664c82123c33cc04ea8190b4b11c68812a82b0614ba79409e60ac2a26faebcbe6a873133a845e478b65554d543c1af4288a520589568f727814456f8efa9884fa081c9bc627a6477d84fa4251147510a07e420a4a1e4551144551b42a099a476d8fa2288a7aaaf528ea34e0122e6fb3f98cd75a0a7c9b03d99890799be778fdf06eabf11096f8f56c369b121c5c4ace58a95ad264f6f75eb7e890aaea85848492d4f9dbcdedec3a09c316022051518524cbb02a09919d09630c8917ea7c57c140e2db8598365128088a4ed4c061c1a4851b3b78462a4bd7767da4bc60e5dbc999991a91f3c506168ab116512e9c5e516c3e59a4ed551d51f2dd552facf816a654cd4389543febb655514c50201931ead3ed272a368b0ae28eaf14c52ba18edbe5c6766df7766f0c1998b7184a209153656a6a8b8d27d47ae5b05d14458ad24938dfe170592b503cce43e015e8715e02afed38370187c3e1702a8e3c0e877311706ea17c3bd96d80ac24aa379dcc52a1e2cd94852141cec2cf7f41ba18709d26c05f2fc88366bab3ac41706ac76c38df99166b8b891619259a66d9ccb4a520062c6ba4a09101362787396ac5b836932cb352f0f82e8e1c3870e0e020ac790e1cbc04e6913d0eee015eed73e000b41c7cc6c1d32ecf81838bc01cda67bf9e835bbbe6ae78ec30e2800e6750522ebc64951d39820378511b8a022f94162e1c7a4b4d30e143890d1923c117374ef3661bafa0747c0f479a8f544df3318ab6423bcd47e0d8343e2d799acfd37c4c6a1aea341a8d260496799ab38057dad344a05da7d13c84081056dc9e461bbf68349ff19a4e799a03f1faf334a7019b92bc89d564474863ab868c37b58435be7c096d14b944e28c1bdf33c6be1da81dd7c28e6fcf790b317c7b511390e70961a2cf94654b870f900ca9473d87ce30f1a817f17aee7aaeac6801c7af18577fefbd555351fe3ad065b2f1d773bc6af0d7c725294a6278a2a1c2e6a1445468814e458986a2b67b618cf916c6485a4071b4758018160506246ba4543839c99a2346c9d88b1f676ca4c0cba5cc697e511a6a331aef5ddaf2ed64f712d9b710861201386a1be323080a2242b21b256a5c146b868d765154b8d424e5fcfa42fd3ccfdb592ce35fd59f3c7f9ea7cd4f1fa9ce13ebe7e5cfdb9fe769fae963d2799e3e3e19f9f32cc104109c9042973f7ffe3ccfd377a7871001820a2b7f7a08e739769ea7a733fc793a0da86bf1f5a893a80ba8473d3c8aa2408fa2584a50c2b05a348d19b258f336276db61ef3dd568597379d5c91e4cd302c16c02ea31a5a514154a822c55f27efb542304e6dbece2256d215027807921bade0f935069524512225c544ccb0e79b318df7a5342730df536677ae58d1002b851617265c4e4c411336274e939975e73ccfafe68d3d8b62c5370aaa6f076ac7e53cc477dfb44d912e2eb4dcc93a33d6c269b1905c1a9217ac1348bec1ce12504f7c08617344cd0c9a5712960932df422c242221701b365c2d95f80db7dfb061c3860d430d2c16201bb8a9498306211da4d7a04183ef5a83060d6eb3bc39038c29c219b47070a48166afee58192353146a8992e1bb9e46b920ad248acaf932453807ca003d4b1500a73887085997a9284c36312be7799ec00b1ccbc65011ca796103e0932f20578a40d1b1a4470c92070fa0b04caa8353eaf7fbb1e8b67577e710f37dd28024de7472267cd3b442b22a596f6a74bd29f3e6100d8470b478f1d812c629dae0907f403e03f21408080868360201b955f3a6699a4034a089aab65a168bf33c4f1a4d0695ef193cbe85bead66401900ad669a260f376fd28033262c2d327014c0347f678e3a3a61cab4e3cf93d6a34937d99f3e63e280a9c3c44c980a183cf6c79c711c635415e047090a96385e5168b8582a79cc3863e42842893dd2129064f8933146c44e10f83e9ccf2caae586c8bb9186a256564f7f9ef60223200393df9a123004697af124c6a5d1aae404e0ec0f7e24ed7841cccb54131bc586e3eafb3c69dd525c78d34a8a94252a56556341a702cc08f922c665cb6f4ccf376317ef4b693fb4d0e20824a3d8a012e58c882a1c36cef33c81346010caab0d085aedcc018524ad55100551d338b0038a4a1cb02d4568f47cb316ef4b690d9583769aa6159432df23d5d8eff74331536f97a095428d92187e1499d102e8b675f7799e67f9c24a48e20a01a86c29614558026c4b88b355f0428f3b5ccad009828295b6b0c071e515a32c0e14b3d87002c59ab48a1651224a44d3002f7038f480768285bf297f3a799e68f1a6275491414816a92a27ccac3881679790ab438b289106a4011feb8e9b6f2b28112df26a6f5467092c6d65138b65fc1bf3a533d2b02c7d9c1aa93a28fc7ae14b1fc1a24a29a4b1697c8af2a58f502b945e820920382185335f3a0b78f5f95284e6a1c2a25df3d2102240d8b1f63cae2c7d96caf9d28178edf9d269c071c6953f9d3ca7b4d0e34faff1ba80f4f43f4f22d395052c7d3b50cb88e1db73ddc1ef468772de34ad92aa2931a68c308cfc4dc0dfcb5360a4781a8d66524d59e27a1445a9684dd2144a4ab43f3ee3d5f63f57fe27fd9f9f9f9f1fb7520e40e44d028a1079d3814cf247048daa837ffa82661189418099699f9086ccf9b24b740343b02c8981091c3b5f2a4c28aa12d5650d71738ebf2325475c900a2b73e346482ffdd4d31b9fe23e4dbf7ebf9f8c5e9aead2ad2c42decc52e2da1657b6b48c29e0c695ad61d17ed9a00f95742beccb87121a5ab0dadac2a500a455b2605b5cc6ec965892377d7432b7babc78b327eac7b45d989266c6560f314d4a927aca52a501bbd1938ba3a4583265c8120a2f4ef1c3237b4e4274b4a613883e3e3ea88f8f9bd03e3e3e575b7ebccf7d1f1f1f1f1f0fe1e32240f0f23e1e02afb3f7c1f9f8f8cce74bcafb3810afb6f7715d18992fabca336f5e85f9e0bd6980374d946861f846c07767f0544498fa90f08285ac4cc819336b1805545996e5599cf282c477770f5bfc8e2602841624a2709525956171c24bac9ba665cc9720be2cad702cce162a5c9ab8aa209523ea5b2e94658f97198a6651f3dd575a6c7c67f5eff7fb35b50a5070bc5c08b30248199b78dfee3c756559a2ddf7ea7ce7a99e656791ec745487a23adfd9298d26f5268d67031846142188200112a4bce92598e00110b479d349c02bed4d3f018514e8bce92ce095e74d5f81577b6545c59bce02af1bfcc05220f1da2189c99bcdabbdbaf2e44df209ea4d1fa1c6285eed1558d99b3e0ae1d57279d35e61b9f2a6d57af32acb8d377d6cc2abfd0a1279702839d3f2aaca0a009050013218aa9040e3428e945e0ff17b3cadf23d0ec4ebf93d5eb4ebe9e9f11e0278fe7568c183e9e9d7337d667936ed416b243972878e9c6298345c62d6964bea2c4b2b28249d8871e4e1f154c9f3f078d1ae7970cc3b8b0dbc9205438c96ac184bb464312ded3850f1a044142d7dcc3969407414c3015a7667ed10434f5d99b504a5081d8ec399d77c4caaf90ab59a976042ad56f314ac7cad5673119a4703d66abe6b5e88dfef67a257f3102240c8f1350f81d79faf116bc4af791ae66b0ec42bcfd75c8a98d49765599a2d9ebe2c69401b26c39b4e6e917ad36a0b59142e3048e112673780e2908607df43b0ef0eabf12dc47d526f1cf234a0860e4b9f3307504b8c2d2f46473696e478d3d586ac788449f488ca7264a865c5f78cc713ac15acce142c52acb2a0d8a0eca31e2f86d8285b53078514ff68dd8de3c4f792d4beada2e64dd367566f4ab19265e58a8d2c52aeb0c9529e10d08ad3250627bf2642eedc7c94f92ecbb2ecb3fb0bf8a6f985e5cd2b5bc5869537cbf2b432d04161627825e684d268e7da1f60655996a74945c577904ad637568976b05a029ae951c3c696b1ce4f79baf0093d4f2fab2f9d2ccb12f8fbfd54f4d95debeeac1c6cbecbb22cfb6c72cb8e07ae1b0b90c2c525d865e34d2fea0a7ad03583142f27a7b0f481faa1db22836bd3347b4a175c78b3bbdb344dd3f4dfa2c2a14b104314333f6058120b3ab8122acc19e7cbe1976589760b65b4ba4061d282120f68dd3c6c7c976579b6ff88e26c6aeda95a2303f872df3c1325c802def41042336f7a0744a648c97213458ad65455d9250f16dddd584e5f966569a7f4002e19c9d2f494e4cded31aaa92ccb72d65bb280b2a2b253f02b513cb30347b0c80ce5d5697539befcb22c7b6238c29e6e0c4963a3476ba7d98fa76e26e56a8586b1d574f2448f744ef23190462c36ef841b53bf18c280fdc6f4484bf6a4f3efc893b4276940e0d814af2855b07923b479f3e3c48927228f1e39ce794b458b9427cf277d8c6a1e4a1c91c6246be7c9c98ce00b495e28d2237d6ce2f5e90714afb3474b300104a49fc0abed494f21ec496701af3d2f428f8e0abb68d7575025804c45c538f3d4235d04af20c879f2c9272d547a2405791861d123e33ce969d5d79ef46bc38a0636bc9cb4b86eccc8ed3cd0809f06a4016d18799afa345a5eb297c5b21c964fcdbba1d931f4e242e345528fb9cd11103b4f66287142028b0b3d6636472ed21c8162e70994f04e8fcbafa420cf5e829534ec3a2ed9dde84b3f7aa9c4eb8fb397c0f2796c2a810c6da0be90605979eab193425e598667278763cdb35c564c49129431d6a3498fd714cbc878a59595d1e195f6eca412bbba40ce8f4e0a49a9ac91d0b3934fcd1b7f4d3c72e202a2a68e913752a27acc6ade0299c82632cf4e3af16a7b0e01981fbdb9faab872710fbd73c117e84d9910565451aac1e7b27f1ca699e352489f2264b931719ae7aecddc42ba3b16ebeaea4e8f8c29a12a5c767a4a69acacb3a93635708d82c3a6978ed299659a31e6b1e094c3c5241e3aa2b8b112fad1d3d768ee295cd3c1bc0450cb11336d22045f598f87cc42206101b5b96789029eb3197f9021b6a793e9f9d69d8b50005706260f352fe8d7ea4c22b8d892635be8491a1c74ce66d112df37a5662d720bb1b3da8c9f8d43cafb18f541cb0eb68774e4d4c1cc3f3918e1829c64831d91285aac73ca6d865820c0c3350c6beb09b608d6c33e360c1242c0e0b3b407a2ce6d9d3e6d92e25b1aa166bcadef0e8b1e378e530212043644ed9971656437a0ce6598595f9012acce9723ad5f2eec39d205952b86035d15032f6bed4c7940f575e04c03bc0030e92a10cc43460f88b869c0da1aa6acdaa247977d27d6605f8eeb52856d2bce3786478e3662988500b8b1720e71254d5285f48de3d4a1518efa9ad89d1c8bd79d573434e5059b3a68c17b016dce57d384fb948e9dc998a920f5ccdd9723ba674aaaac278f7285e67ded33197cbd972b42b1daaaaaa24b9922698bba76bde1dc8a3746dbd63b9ea45692e0364d0c0406223054d919cd8fb76a76a9d3cf339779d5fd779ae28971ba1bcaaaaaef38dffc1c75c2e97cbe5722e22e7d689cee73ee8722a300ad78d77f7b1b10fc46151eba882c22f35c426b6eaed6352b7b042ffdcdb4de8f614bcbebbbbbbcbba5be844f45da415f51f9cfcf0e1c3870f44e297d7cd743a9d56d68c5755552d5f55854bdeddfdddb5b0bc7c2e97cb097d2ed7c53fc770ba1c5baee672bafe62c00f17ba2b21efeeb99cdb0f290b28616e9c39e3a2ce092e3aef127ed0713a5ec110cad9e02cb539d413556ddd1430efb3eeeeee9e9c7379515d6b4a8dcfe572e8d0fd76bbe96eb79b977073136eb79ba7f0028ebf390b6eb7db4df5dbed76f3103717713b92e56f37d7e98ec4f0eeee4df6ee44a2912f5cb68e2cc97d1b31f1b95c4e5581371edfe1611ae46a3ccab8ab5b522f3e97cbdd723d8b9272f79b53559498cb3591377f73f2b65544eb6f53d29c4eed21ed68a1ac4e5898166f296fb92c143a5773b92d225c6e52e338d524eafa88c43cb2777d541a8163d3f844f5f7f6f75e2fc184eb20382105207feff00e8bae871001820c1c7f3d84f18ef732e9f8eb40399f7d2e37e68a3e97631af2dddd5b4c66be7bcbdf9cbcddc823c1eb6eeec8d8d2b2a6c70e250e3b73de5946be3d973333dc8211652b460c2c5c908a1f56925431093e19ee9cea3b97fb3191cedc975e2c71f97befefdaa719fee6fcde72b79b0b2c2f627c3bd0d68b31df605b402a2dde1325c6735b2e8e7cf87b9f9a8712894f44be0b2102842e4fe42110111111111155b5f044444444485108b8d7049befeec679fd888ea686806151212163ea052d2616f0efbd5a75b0a62891d1b2d3e603ad3b44863f14dfdec1d6efc8700507768b44926ff70008587c3b094a88f9d6b2656209ef7702877c37e421448050fca1a12137616868c867439e4efdd0d0d0906b0da114e072400346c9b793b318bea9a4e4958a32327e43ddb31e17e66869d1f1b75c7a44c4070a1f405ab4289391a5c47252a4f8d781ae5616b0bfb7eef6bbe52347346a61991174fe442ce5f802070c0a451c2ce6fdf19788886aeadbc92eaab2ef2e2553a42c49b1809ca357c8e69b48974362020c89962e49a60af0d771b9ae2431fca572bbddc4aa74c13024cd99796149d0489314214b188c045339ee8cbda801e4cb95995852e7ba8988ac8d28f7c7e2b873eb7aa16b0ac5df7bcd62ef6e7737f1fbde7bbbdbdc3aa3f4379bbde265ac44901b37964c593972bbdd6e2651c916314cd796992257c36ddc01bcf7de32728297a803c53033b8295ae5981306c8a9e9d64d46ebef1619375b65bc048033d57cf951c24b8e1d44c8aad8eebdd78bcddf6b850697153709b82244832b598cc08060683458b23a2f844901646c088bafdbd0d592dbed76ab22e32f579560bae39045fcbef7de26efd7eff76b7153c792f2f776bbdd2ec925d645f5cdd5e544e87502cb8babc6e535041342c44545ebcad78d276212e4fa9ae185884dd4dd85a58d132c4c5e94694143a5269cb3658503aead3b7f7bb44e685d0de0afcfb4c8bce474a02072dcbdd7c85fa22c17c4b8b2ecd810974a150f572beb76bbdd7a68086bc6dfcb85d5e62f97b00b576568d49a61258786a6f4f8eb24d7943b7fb3705d61b9766b4d992d266049e074e9f9665eef4b877e7c21a6b977e8869973e2449922bf163270d71727356c909ac8dc803117877befc5fa7b87eebdddaacabead7ce072ce65a5858af9657ef5384b791419675c543fb670293131cb7961b3420916143a7ee4d8a2dd2ea4dbed76234af24214ae24640820aa22b4430ad145f2fbf2e5e772212956ed9edc1f515349aeee549d6f2e18b4d6dbedde7babdcbbe15ee1d5ed464424c5a28a94d807469a447019f9f2c275848817252af692a93224bad68c155895282e78b5e0eaf97c4c7adfee76efbd59547f89acf8162342c64b11ab0eb608180d42946565fe771774eff58afa4b74efbdc0204c595c41ba1409214194c3884b4898906b880e045c2217436cc0c0662b0c191faca561141af96ef2c60564ac83311cc11e31bc20a6078b18591b785421c3d0c81246062d62ae78b6c45cd91a3324448f0b69886e77cb4b952f34b6be84d932d6e40b181b5ebeed161839df420f1e3c78f022e6913d0f1e4aa187f6e0a10c8f890c616e389902e7864543ebb2f33dbe290349918c2d5c337ad8bc3bc579cf96182293298d566b698123c98d363058cd602150c788b18bc1e4af035d26a6bfeeb5dbc80505c36bcabdf7a6f7de1d5ffede6eb7dbbd4b4fb2c06032eaee4ebb5b86ef6e20d65fb0251b1f80a696aa946490b165040ba745a3450c5b5c40f1e0c24b9617535c802f44dc6ef7defb82e292205161c4185ce8f9fcea7dbb7befc5b2f3f776bbddeebd2a84dd2ba4be59b4f8c2224d98d294ef6f0fd1a5c4a5abc55401843d5d2e54e80840026cb6ad2a29a8b4924a74257111412b4a0b575648dc3899e2b383c75f1340be9d6c2418df63486dbe1da8ebc490ef312896bebb5088c192813357dee8c0524536c556b5716b06121261564a04b152a20e07b79b08b4fc7072a3c858d41caeaa6d2d290ebb48086f026eed3eb753b27468e8b7a2eb972401b7a3244f90c84003e526c6137ba6bcea12e66f4455c0bc946adcd011c3549d9ecfa5bc6fd72384413472dd798100b7ee27b47ba3c7ed76bbd911f2d78e1c236b27ca05950c478a882912e5076acebdb7ce97ae4b340415c34b16202ea06153868d8e1d4d4f4b5e4aa28229970b2e3a5838e07a81cbdfcb55a7c4df2ec4a2d44dea5ef52c0ec19963c74a1020d416281dfcbdddd638f976b26bcd9b2b3208ef14b17021aeedc709cd25ba67cacc74a10183a52b0d12352eb2a81913c6823009f00d0f144758f0132027277f8969ee3533a3cb4c1a0eced0f862455c180c71811567078d17645c271747540c6065c830310019355f659c0495c9b22a25a08b38e5db3fb0474d862cb5a9eaf20514c24d7cc61bc5e62fcf1c520cd9d598255d63ee6051ef9489528385571a30568ccf8d2e7f6f63c56f27bbc06c7d7309d3e3bb6d5798a9b12e314c634d2fe248d717b122706488c3e4667bbc181b0ec578aca4beb34803d2984e320ba7ca18d16d44714e8d1a4c402571b666f73ea1f97b472e1b631ed8d8c2e5f4860096eb069495b1f2d73c9478cb9fddf1d475e5ea8e0e2b574b9ee87d1d3cd6588e88888bf8b72837d702628a31574576fcb2aa3c8934422a459244d9a1e47623f2ad19eecd8d5d5c4c38c815b163232895228d9c5e175b4584469438535e583143a5e162e9c8116d850923d65823a4cbcd903962beb4c7959492b12e23343eb073b6743df1e244c60c2df6cb86eeb671e4bb4824a6e9adbf4ede2ea9167f53a2dbb0d837b2ab88d4d057f3d021f915ec060e11f586be21f52d76235231dc7a038683b17be52c2913945ae3e2cc184ed2e342d6dfb1e150ecb2f100cc42a6b6e5a6cd708b4c8b016344316038e32587858f337790d42e4ac4f1626c48870e81375dcf547a16a99ae7416b645f2bf805f8eb8d8e4635cfa2523ffa6c4687512425948979b5e0e8a813f3827e2814afa315f3ec6cf4599a316260cc051c0a0aa1186038263586c9f929a9034709464f088634b317721caf3717f29c9090ef843c84908b7010667821212137a17963f0f7fb29f5845c04219dd01a3219986029023d148b84b149c292c5a64b18920064b5e9f26d25cb4d11aeee355b7fadbddd84eeacc3fb3a401a1a12badd6edfddaeeaa879c1cb527385256b8d8d102e447bc22294864b0736a82f1a17219418583300cde8988d5e668874ad4b63c5e106b9806463bae3e66a4e112b2457533e592da099ba92268502a24cdc2ab0620cf0c90d2d166f5eb85b57b7dbed768644d6192e7f6f4fc14e71431356c4c00451c23ac225a78cd015d2f00386a1212122a0321e4ad28c794386c6c8fb76f726e45dc421ddbda3192de9d560e30df1cbcc100d7a9c5694e96285586400b79e5ddbbd23e9fb7623d3e6af93b70cd7dfbfddaed0bd97e7de7bddea88f3f77653d1e215baf762d9d5f976205c966fddb7cd8aa16c4b16192b2ed4b7ee7b795c09a14460dfb2c610f97b2fd9d43c7408f6a4e2ce1318b2c480a3d7c167bcb2d477f07486efd0a183ef9a574afd7ebf20bd0ea3e33a74702d4d1d68e1b232c4f1edb9219c6f2fda6d1002eadb3b1086d5f9f60fb65c1141022470c1f1ed25740bb9507d3b094e60f1ed28a4c08215667c3b0b423132df42222dec32e7db4393d3138d6f2be5e3dbc729a197266d855fb8be7db4e2b50321d7d76fb55986626359bebf7d24a6b1c23130df3e928d65307c6ff02d0403e6db0e93947c3b2bb5304c9d6f6726a1982cdfce4e2d1c23e4ed300a4908af1f484d51053f288c81ebdb0ead900cd4b733180f6bc1af05dfd77e16cfb25af0db47a841f913b4ee2ce3dd6e1c853f7acdaa37d6ac3adc862dd44d04e30b0e26a9a6ad20902ed2576f6eb71bd1d050162541c22c56ae70b73b74bb01755411f27b5515250e656d891200d1d0d14fcc0b2264c52733bc2182deae17be8984866e58862ec452f61747fe9a579665e0a697c292ca5706854c2f9f4c2fa34c2fa5668479d3cba932a97928b1048ee1b588582c7f4b6ffe0c9b870ec7a678fd4015147e994e46356ffc2291c824124836914f6fde7412aa8cfc81f1aa0ec788c5266ffebce92d6cde3936d65f6f7a43f1ea6e7a47b594e94dc5ab25066324597593693a93f17add742e33bd7f9dd4c02c6fa6c4e69d41d3d98a85a6f3170fc7609018734a71f0cdbd21ac1b1ae149dd10047434a93babe154fb3e0f9829f10cb4275ec99226c5eb50e9f66ff6cf514743e2ddf853694928514d55940c1d0660b6f36b636ed597c649cf12d8204a27d1dceb881c556be9c82a0abbd7c0479e061069600341c3623d40859600a38f47545d54ec7031464a1825bd06fb31003e3a0dcc1a91e4a35a5a7e1c695f12e05d2901de95a659963eb304814bdd3986023bb6815f0dea00de543718c06bb05a8bfce6427e00bf79caeb07bf3910af1b9c83df3ce7bc0e3991df7cb701af3c407ef30e6efe0108d62803bf7d73a0f3519726a55055924c6187428827437ceb4e607a8f9b6a8f5f9cd3d4567d4539f70105b9af66d2a89a17a41bcdd92f69069c3135cd9c7845fdfa78107adacc10a4a7349e1f0be4a9374f03784820f22d0f10913a7e6e001e7c2452edbb3afe10013af828a48630c06c5600b73c0d288083c0c3f18ed05ade99283849fa8f5f53fd710e6a074eaa3f3f6eea38f83ef8ee192ef72de4bea2df7d6f9043edb5711c1e1a55108d8ad68416649e1dc7f1d1e639956848c86672303380b7fac139a8f63b507de38f184903f88fbac10de0244f033e941ffc860fe6015403985e0035844e04ef4c7f57ed7b502def74aaa9aa96774004503ba833de993e00356d10a673a0ba9a816a82e5c0f4f114e942f06eec3508c07dce0d549f2ef8ace31447f51aa828d83d08dd0902e0a6a369184589ffb923222e840941d1c60c16626f74748cd7be7292f16edcbd19006f15855d00742718d818af202d702861b2f29484ebb1b1a45503c9962a2f55ea5c3371be825d7794aa407d6d61a11d31b913c4899a21422d66a87ce9f9228225b4f3028a971f5e6f7a6afea8d938505d72805912032c46170c3d669b67f12c231f409ee0ce181b2c335d32c47aa6cf786dae373dc5f16acba1e6539b9a7e96d1ba51d83dad1826edad4775bed99b67a9f3e1decc51f5e49baaaa372e6eb8e8d9744aec7a8e9d63ba26cfae13a29bd2515923dd13eba29e5d1d6bde51921f2b8060c46e6c89eab1ab445e5bebd9d562f3ac1824323fae2c387266f4d8d5325e3bebd975bfe61d2541422166464e5716273d765d12af2d0432e99aba9e5de7a486d9d5ccca127b76954bfd625787d6c846797635c8aaf0d9d55ff34ec8f2ca6283f5e5e9458f5d4de2550536cf56d179f28648a68998187aec6a13af7df5ecea53f3ec1d261b329a583909f1d16357a378ed2952532a55f0d9d5262ec7aea614538ad379764fc3ebcdd9bde865d6c8c7d889cfee4fcdd300d29531234e5060a07aec1ec56b5b3dbb4b35cf5aa151923385ca8f33507aec4ec56b573dbb079b67679813039bdf181f5dae7aec2ee4b5a57c79926777a761579389c9c49d9edd9578bdceee406fb2460c7876ff35ef94f2106cde91929a38466e58d9c071a6c7ee41c86b4779760f5fcd1b7d08411ad2c6080a183d760f435e3bf8ec1ec69a67c310314287c698a612437aec1e88bc36942219afb3b222cfee810eaf4aec6a4e99531e9a3cbb07211ea63c5059a3053cbb0727e69d450f50cf4e34d63c16a650c4d18af26465abc74e44e4b59f3c3b5199875ff33e0083c7942ca73071947aec1e92786d27cfee01a894e3d93d301185d9d51c328448ecd989b878257276a22fa2a13552c0b313059b773e118dd901328310a718a47aec4449bc769367270236af87481557972e6bb6a87aec444dbc369367277a6a1e015c30691246b5c58c8d1e3b5114afbd446a8a88aac6b31335e920c7ae660fb347073acfde210daf43cedea1d8a1cc1a7df0ec1dc6988802294c4f4d52b878cde8b17788e2b5953c7b07a9e61d1159d3640a59941525133df60e54bc36d5b377a89203d472440b8a901e7b0721af9de40b6ca8b4f4ec1dc43ad0b0ab99c3ccd1a14307a60e4dd60801cfdee1c71d929e3d176c1e0894884aa644c10033d663cf09796d24cf9efb6a9e3dc343c5158b3234a074f5d873435e1b8667cf8d35cf044949ca70bc28febaf4d873445e7baa48962b53427af61c9d9c12bb9a4d4db926cf9e13929beae0d9734fcd338bbe5cd4b30f11cb78b549bc5a2053aee9cdb3e79c86c2ec6a2e994b4362cf3ec435043634b4460778f6a160f3cc21e1b30ffd9a770423382516c5491392a61efb5012affdc2b30f019b77546248b184975f161cc41efb5013af7de4d9879e9a67e744d918965902e6894c8f7d288ad73622353544c52bfb50132139763557982b84e83cbb501a2132033cbbd0187f119f5de8a979164e9a2a2853c09025c5e9b10b45f1da52cf2e24d5bc11824f3da0a4304126488f5d888ad72ef2ec42c1e66d40420d0c2d66285979d2631712f2da44bec084866b9e5d484c88865d4b36251b21212126a1266b54806717e2a4670f0a368f670ab14b92161b5c4d7aec41425e7bc8b3070d79b5445e6d91ac0ccdb307d1e1b59f3d48895dcbb0b0a026cf1e2424682a88ca1a8578f6a0a7e69563bea0a867c78d35cfde918273c5820b8ea2941e3b8ec86b0b79765c19af3689570b640a6a1a7bf620275c985dcb2851c49e1d87c30dad11019e1d176c5ec9254ef8ecb85ff34e70c2b5c36b8a15226b7aecb8245e3bc8b3e380cd1ba1cd121c26a51c65523d765c13af0de4d9714fcddb8014a8303773bcbc74f4d87151bcf60fa929765c135e4b39762d7ffca09386accc1a0de0d9398c35af9462a9282a5ead9057fb0536e4959d8318071a762d97ca250e4ecfce4189031387266bc4c1b373f835af6cf2710836ef43159b395ccc24c132d163df20e4b5a39e7dc370ac791d4c08bb9000d1d194a5c7be81c86bfb289295f1cabe810eafb567dfa0c4aea41c52ce8626cfbe41c886a90d54d6688367dff0d4bcf2c7ae61ac79f6ca440b4a6c68c161854e8f5d0391d7eef1ec1a8acdb373e0ecf09aa3a585138d1ebb86325e9bc7b36ff835cf5ad9d2e585a96092e0901efb86245e1b0ac8b4a18957f60d4e1ac2ec4a8201a341ecd935706900d330b4460278760dc1e69144a2f0d935fc9a7714044a152d2464b0bad8e8b16b48e2b5773cbb86265e6d14af566a4a03559167d7d084d72bc7ae6456169d346465d6488367071a6b1ef9f5457c76a0a7e61d3d39a9786ac1b5b563458f1d288ad7a60a36ef880690293674c451f3c5a5c70e24e4b5757c810d79650712e395e7d98168d89594424a01020262026ab246209efd46877934e007f7010987bc5a22afb608838c79698ffda6c4aee48f1f42781572f69bd48dca1a7578f6db53f348266f51cf6e1b6bde518c3776aea8b8218789478fdd46e4b5512d3cb6d868a97072a1c76e2be3b5733cfbedd7bc231c6eacb80823d363ca8b1efb2d89d7c60164ba35f1eaf3ecb630bb924be4924decd96d5cbc767076db976d680b368f6c6a123ebbedd7bcf50612394931702c89d263b725f1da379edd066c9e0826a2dc7952836c49971ebbad89d7767a76db53f38e505cf12832860817f1d763b745f1da36a4a66c54b626bca272ecda72e4d079f69f343fc5e68dc5dfeff7a2c7fe53668d70cffe33d63cf247fe88cffef3d4bca31238bcd01852e1c2a24a8ffd278ad7aef1ec3f52cdb3585d542c91195303c58a1efb0f15af4de3d97f82cd3b7ae2c6880cae234f3dbaf4d87f84bc76d317d89057f61f315e859efd87865d1b0c18a767ff51fa01fe3459230ecffef36b5e1389c1e6b59a2e27a008d99145d8634f85bc760bcf4727a8c65c89d1a16686a81e7b3ae4b5673c7b3ad63cfba6cd152061eea009a3eab1a7445e5b4691ac8c578be545275562d7ceeaacb4c9b3a74278459d3d954aa9acd186674f9f9ad75f5f51cfee33d6bc23244e8061a6086d4cb9eab1fb10796d26db254756d50b6fb6c0047bec3e65bc768c6fde2ac449861327884b597a0d03c89436b1a74e3e6176edf6f1f131d2f0ec3ec1e63595cf47d8bc231f60602fb694880263a3c7ee93c46b2f3dbb0fb079474c5cac668039618204971ebb4f13af0d7c769fa7e69534ba2c0999bc60c5e9b1fb44f1da2fa4a67ca87865f769c22b29c7ae4d83069d67ef49c3bc59cf5aa3dc733f3df53c356f47d4128284051b2f247aec3d51bcb68b67ef916a9ed512f5c5e5ca98188f1b3df61e2a5ebbc5b3f7049b67db702119d21023c4c98f1e7b8f90d756faea017bf69e1e1a766d124dc2e9d97b947a803d4dd608e8d97b7ecd6bee9e60f38e9cb810b3f54446932b3c7aec3c425e9bc5b3ddea1166c5a4838d12177aec3c435e7bc5b3f38c35cf838f2165720895ae88e9b1f310796d1545b2325ed979e8f028b12b9b31d384570ecece23c5ce43658d6ecfcef3d43c2e16a39ebd36d6bc0f5ae8108354830cf0abc75e23f25a2b36efa809199212162b336475f5d86b65bc768a67e7f935cf864521990162261834d163e749e2b5510099789ad8799c6a6176e52a55c49ebdc6c52bcdd96b5fcd5e1b5a23dbb3d78643e1b3d77ecd3b4272ba92b405c545d48e5e9f78f61ab0792520c3c2ca9c255a7cc0e9b1d79a786da467af3d35ef46428a892b4f8414a9d163af45f1da26a46a54bcb2d79ac8b12b2b5142e7d96f9a7bcbacd1cfb3df20fb7d6a9e0382bc3952a38a942b407aec378ad72e71802968b4b4a418eb12d263bf54bc368967bfc1e6a156c6c8aace18918ad263bf425efbf7053664f2ec578c571a76e52347aed3b35f255e3738fb05de266b94d2611e4abc48cf4e0b368f006ecae02051f38505951e3b4dc82bdfc1c00c5192aef8e082c5aac74e1bf2ca769e9d36d6bc231c5543c49488c0b0d4d563a71179e53acf4e2b4e3d3b8d8c79678f9da6c4ae1c8483d068341a9535aa3d3bcd8979e89006f59c0474e1d9694cccb3f5d8d130bbf2122f893d3bca857ea1436b749f1d0d368f9b9a7ecdb36e9824196e0dbb70d8e9310a6c1e3935bc8af206ac09971e3bdac42bcff0ece853f33ae082cca92acac715343d76348a579e23358552f16abdd83c3d3bda84d7991cbb8e72e4d00172f659b1cbac11edd96763a333d148143085d7549b243df65914af2ce7390431882d317285c68d528f7d46c52b97f5a051da9262012448a6c73e13f2ca71bec0783dd96762331a761dc1cc94664cbc5a6b347b1e8944f633d8bca31c68e0d04882a22985941efb29e495e13c1fd978a2b5f4821b3347a8f4d8cf21affce6d90149dca87873234c0d263df693c82b9315c94e3aa712bb8e595942ce29aad38979e31783189d19c4094534cb924ee00a1eadc76e86d9753462848b79b31ebb09166cde48650a9380cdfb800b5b71b8bc5e8001d2637613c5ab95a25a51e2d9cd26bccee4d875040284ce73a6cfa8242b58cb33358a90433210000000001316000020100c06c5a2e144d0e330a71e1400116b9c5a5e54234943491025290c52c620668831646040046066362400f5b4d9d7fb673b4577574008ce2b862b63273325894e60c6a69b57bd66904bb58c43b888f338451115ddcb79b107a1d5b9a6e3cba399eec7cc062cc1b1582ff882a2991880d2f26af3c0897d8403178b3560b8d88544336d5d650061cdf5a513a56d8496ea9621b6e6e433011046aae5c844f46d7600020649e4a70a1f33ca616c42ade4acfa5e7ba303ab49830a0721c7d038f40f5b3fc7d0d2ae55204f9e41a407801dabe596c3a4fb592b233022a6bfd58f278d9b7c99f03d0a3d1684b467aeb76d24209f2b2ee04cb13fca126898fc16a578b85ca75fa39b564088bbaae185d482beabf4954715133c943b6848baeb1cad34adbe2457ef1e66bf5c90c0ff13d23e7fd5fa40d87ab881c909e415b933a1a8d92041b6eb3d287740c84e8319445311f0f56a07cbb3662cd8e46f9d32a689a2a7c817b005c3bd2e9888c614623a5e808cbb78fff0edf83ea6cbe9a40b89708b8a502a1201c4119f335181dad409da2022ed014c05746e3209bf8e12268ddbbea40c83905d19d882df6c91c2993f6e9a98861f22795e7ecd93e81ce9346e5c2ebc34b0c229cd1177cb1f2bbf71172713fab9a5205f5567a3fec0de55bad10a33123a57a6cf65c8fdb8541338a58ff9ee6a6f4ba6575204791e95dd20ab5efa5bd28cb2e83315f1442f5eac245c810b51a6213cd48765ab17ed760fc235f45c4e871403ad0c30b2abfa50546e80f5ebad604e8fa9128f650749814e5665271ebf06c06c77067884879f21523f8545e2a254e40b92895f848ca20db1ba68bac52a72b45453673d1cc9085910dae5c6ca2b5961d612ec6ac3ab03c338124b3fe60fa1a8f01aecbbb062c1ebb0bf150552369b63f23c3e514d8daf7cc3d7b5b4dacd22a990cff5068792344325f6d868bdc899012f279d9501c8aeac89e33c87a9f9ccb4600c24b43d4ce692850a7ca20d31fbf7125278c1a399ad63eb02e8cbddd42b8d3183d92750b5322006a279ef0963f7756e3feeb45efd59f2c86266abc0f2b55f62e10e2a762abdc2f4639ad676f09e232976cf893a544c426820910d68c4d5b1425217dfae74b80242b389f57a48ce89b26f605142c45529f3b2a92b958e411d4898f507285f6b2d760be395a22f32a3fb4863b05d96de5877e62bfeccb4722958a5449b180090b05212c615a169ed3b17a69666444dab240b9142bfa855772ccf1116b69ed12231ee79bc29c1cfaa66fd8c425ddd5ee77ac92dd0d5f874e63f3410ed47f2bf67be3a316dce647cacfefb5d16ac481957f5a59084c32013eb3ff877caa2eafe6a54b7ebc68dfee7c8fbeae71c046cb94c4596f9c1be884efd73e037910ac7b67a1eb7b939a17eba3e00e1a707457e19825bc74820a1286e72a3c78803d5493eb3c4dd60d5d03f917e3d31d78d9e4f4a7e2899d61d8d49f267ae4093d560f4e8f30e535606ab2dab9ce6ac8e90e380aae14d8eb96ae823e7af955cc2326593b8bd6b7a804410f553d2a82c63189bae8f504c190268325a73aa653d39debdf9b01df5a1ca805cf8a5d8c0481268776a551228ef5b835095294be8dbeb1d22a5425d52f69c474e5493c9b31ed53650a1e134a5fdb0b0c9a4c818c7709f51d058c551be7b9040bb7354ece61e6202af7a777d2a21faead3ae8a3d02e3b802f6d2d1497f3a010a5a323863be0f4cd5a8e26225ca8512c9229c6fff44d60d6f2a30e42c7fe8267e4938867dc058efc26c68d3d91f1e0a1376cad99e3eefc70c09ecf83d37eab8dca8e2997fcab9ef5ef17a5a6433a5ff0b1af60303f458546a9bedae6f35c277906e66bc46ce437c38ee1fa0e6ef0eb268207720f33f8d934daf7781b87bdcd8ca1ed25a41785a1b06a8d73a3c69579b72fef8f132fbbef8f112728720bc106dfd6f5bba78a619eaa5a995a9a2ea1803d20911da9fd7e028162f0230db073054de0169dbfdc3920bf12aa2e9cd09f9da743955327b00153533542210cc84dbf070ce851b59db067d4a70406bbc6d20ac8f12998d176e2a844f8e27be08da5bf823c2ff80484ab4b114aec77c09bcaa59853fd3c8b31a4b6a4ec43fe3f3aaa56d6d887bb334a67d0177b24974c2242785d8f90ab0cedd283bab396abc8987999a80027264de37f383d36c125470733029e3b3c13170dc26c03b2229b6bca3b61f76b8098f041d7324823757dc3cf78228ab725557a94c0d3c5e0db31578433b1bf93e67bb3dbd537564cfac1b117efeb33944866d609c05851a2dc0ab1f46d4cc627683f068d664965f411cda361641d089ce69e965905e9ccbc9569be729e580dc8faf416dc5858fb085f47ea1a6393238a8d89486b3067ca3d086aeea6cc0c6419fc3f7037dcc2b66ea5c33eb79e179a8485458c6af3932c0a68be39caa006c277d98415d8ab6baa12af8a0dd6c7e0eb3789569be6dac9b25a258512c76f74b32e426e005c3e0b51d6a7be266142092cbe03573a08f494cd185355c0ba4ac66863a943ccd807b3030c763d640e324a7ca7754a509ec14b02241853fdbccd5763187e0ba744622d1f537bc1654e0c8dd8644405a543c91e8f81727253b01cf9fa2f593dfa72d709f8d6256c0a23f2c1b78206d55f958089b26389253a4b102cc5d68940a8ec469ab3205f1da9f30d8da065a4041ebf6512dff0a25e4b0115af726462efaefda3b0855ed77a5942303219875f48ee2bd46b50a907ea078737e46fd82b7934a0753a13dd217f3f39b138602196ba6a940848919afeda96d01fe1cfc1f2bd0518656a9aa3205a21496e70fe938cb8e416bb6807fdc2a80da192ae17c41c57fe95b2c633953a585dbdaf99300055275b371510e8603dd9855c0d30d096109b05b68302d081b9921e4e045b177dba14e245af9a7f0d4e5c5a60d082d9227c60a50e32ec37e51a3548b1744e78d8f7bf2075b5355df1957ef2f59c579bde9de7d1aa94e2be15e285e179a7f60f484e687d1c778d51a10a8a4bcbbacdb573d95bbfda6041229acd660df31659b0a2162dba9d44abcee65aebf40d313013cc377f345d9a4459c5616383015b9e961fb132a0bb9836d37acfbdd913837fe38f937203563206047da363b3b92021a006d886065e643ebf052425b2e545ad00695e9b0ab66077f1967923f8724d8efc8c512761848874207b056b116fc821588d60805f167944a5a16410c9ede0fcb1e0b291f77aa97f5f4c3c0f98ea30a2b84e527cfd07558caf2a726d17bd7a14f39383d5c09e18c8ce7abfb9064f92a252620020614cd34a3a5e65d44b8af756d5d036f84aa7db24f3b916d8448c61c346d66ee50e6102bae8a2e0ab6c5c020b8ac0bfcdddea9011ae0de67a03fe8b1622f4893bb50e14ae8de17bb61c41f183ab808a04aadf9cb5550a38007e011f14756b00940084104591ad43bfd4c03b6520290498fd6cb29c5310d5309356e5712bcaeb75acdc682b2efd77f1ffa4939eaf083df7a32da14ac05cc77c86b6bc0bf9bf8363620217ac27ed8ae67a26dc0817a1768096adc68ccc45cb5cf76e0118352d1cc10673fc178b715ae7e6e21a4f0a70faea4a2fd32a4a9da50e9c18107b731fa579ae06d3fbaec0c1f6d3c70b23adb9b496adf4f4162e6081c0c2d3ce3ff23e8ded5c1ccac6ce984e00602d0d28f4b65b3d3d82a892f20f6d806cc8e6980059d2355c7b0928ed21c2060c05f16f1dc8e88478815fcad7b130c91c31a9893ec9a13532d99a00181a716fc482ee92992bdb3f14b6a5278124350a79ee77b907d3b827c827c1567b7831a2dedba011114bf225ada01c622a0191a37528eeff91504341723c0d9050b110b64a66776c01cd060f0d89bf62bcc15929b20b0297ee120f25520ffb502323c7b2c67500e8c5ebc86ecf2837c4e437c36c280c448f0b821cd06d66048b226f2840f91bb7c6ee7984c0a470c1d20b04c4119344cb6ac476d744c4465df80e8a79079dc06da07cfdb03fa657309cd9b2e05e431a5c0972215b71139dcba544e5918d733f20df4a0e4a90a9f885ef292c7fc5d7819bdcdef5c4ba57981d3294d95476998ba2071778a8ac3177b6ba8440c2425979ce95114b865e37a900d2b15d92b3f42785c69263d60a8876aca41558f372294f6f3474b46c6114cbc2c61a636881b32b02242d74a54158206cf2d2181d4129aeb875bfbf35bdf03e036fc9e82f553dc975f7ac8c1ae1fd382a91e1cf85a96753354cd61a2e8423361ce427d42a9cf8da30d9676a2578d01712723a50c9e672820058303a7d24d030df87d427434c820380f1fe5ab00a2d20dedcd58bbd9b147a045b2273e03b9c432aac665594f153d8112e600f51d4fbe8cbdd1411c164d052d39ea25a92a1fa555d4365834fb48d45b18993747eab816ef4044425384e660d67392e9a76d460f92850200b22a983ea1c737df10fb12a7e69c76d480989f9a68d1cb1399ce0dd14e271497ebecdd5ebb089b0f0348ec509462bc6a37feec20cd7a06060f00cbbb046e4d45c1b0c3eeb60c11abfe9565e5e15e4714c5ebbc1c2bd2527f7454507f64b53334ec6db81d6b8965e1a7a2194b49eee3919b1d7c4ed6f41264c92e33a55ac0d8e00454f08bfb038238ef1c4f5c8a5196a0e2a8d667073d7c01c2e972436b47535752620597b2ebf40200f6303df9c5fd226a6d3781b8731642e9d754f8c9d8deecaf74a65f9dc44919cb7a3940ddc91be98f5147fe2c8f466b7d994d933b7b4a4d37a494940c9d1975543457ca11cae21550170e9b5d90645e714b10ce2330d8bbef48d76796f88aff74c91b13cf6e1546d203dacde7eb887cd2240919a9ad0f46b79c254effc350d8cc21922b9be5f6b9797d2e39727b9c5d7030c016105ecbbd448343e98599a8c2ca85d60b4476bb196f1e794214fcc72589b13ba46a9371d99c07711568053134a2113c19e68f718a5eb837204449dcd464492e7042d30c30b326602ebab740504f5780aee3163bd78792d4ea6a9cc1bbb8a49d554b1c8204178827a3d1c3d39da75327b8f70655d2a0f601a59d5d30473c8a5f8245182e0fb4b1aed094f04c76935ab643d9fbd03d110c915c80e5c2ef94b8c70c9c486358de6c72e5c9e3e69902c64d566878f1bb9fb5308649adc1b12f9fff9059dfe1c32585413edbdd2d9037230564f0a3c472adfb8aa8ad583ca66a97a9b8a9e047668a26bc1407be73bf901c130071d58a6c2f07d6ed8500da3a3dec47698304889b54c16daa1df8a99d4628228976ec945ff0651602cedb0cb258c179933cbb0edb5c5de8bffa0f95401844142eb8c660bd2c2f71b85d63d96787f8adf99106791f1a1df5b32a7d485523e290148c8ba70e1a044b36ae268cea6d501202c74e65934e7cb8edc96257ccc61ec48232a7f779c0db1a4c60d3569a73302d624e2706d9fc6d65f2b070de2a0b7dcd3ff1031303b6a38203266a1bd01859b9cab7ba39e699d0916fe72a0ec7037cb2f2bcfe7f26741c991041b5aa4fd1b85b678b68da41cd6ad0b873e875acc748350d6c91c4f985f8819b32c9e789f8c2572fb03b863956c99b3f70d2cceab9389b54bf21e713d2ea9198d41100f230a1d6922cdbad237e27a61ef2331dd4ce6536b0a90d1a0e5cabd86ba9df30836493a7ebe6ffda038e74f8dc4ab48cf110b5bb772132cc648d34945443a5c4da3a620c4adf52cd17ad82b9864d9bbb87e98a64b2e20eb33a639e7d7116e1043909bdd31289c2bf53b1a82de8380e6aa2931404736b7e02ad88c3977bba7885eac545476397f7b1f6f83e2e55459b07e14797e7f26ff3490cd5dbaad89056bc30d8a1e380c63216a5e375f55db345107baaa5fae9f41c55316399c74e34f66b76206ed05882cc8c1b9100e47b24d5287f0d634662a0d43215eabe3b30f72ddc629685dbb2f68613abde988fd415bf3c2a664f37d9eff234e2be41c8e57beddbd682a4e647ba4e97bc1dfe687e59b1d60486fb8682839487eb667ca9df0e9a64370773726c5763cfdca1d112eb281cf27ca325aa13c6b208c492fe17438c00aa189b6a5825d5a56cae98d8c3277077a100b50511de6a70a946f6ff2ccd79714b33aaca217039f17f52a2fd2191d06cbb80c9ac20a6c8cf1d3e5bc9af5c72a12e949509293e530c1a7e79876f694e30678e930b0c495b8139ec925ae0fc9bfd7572545c4c5b04377d30f53752b0ca01ed97bdb0add0ef155176400afeb01c99cf5dde6dfb1c016ce853abdbb5e8b35100db9f5e653999d4a76e3d2b75e61adb5b8a3f3c4690f724616a36ee30f3e144c6d66bbca4c1962dee39d937e0a76410fda3af5c20a3a91e7e1cb3e38fea8ea94dca4715d98bfb009d26217d58a4d419d50f4a8044cfcda41b8eb50ece747aac6336500d8406949020feb9f2233bbb230d857b07797a27586d25da2b66c63595e6c9688e97ff6944be70ae69d9cd0ea0de9a87d2ac2516708404728b58805afca6beeba777982372df6e611b66f667333993a590fee4a977b010685f474981d371e1e7f9117c372ebb2e0709c43545cb14e8de516094770ea1ccca2b433f7643f017193abdcb4b1bfcbb87ac14616a9310f7daf93b5e0d44aad802be71eca889a7aa89531cddab7f9cf3f5c548d19ad836dd0ceeecac4a0a1ef0012860ad2842f35cee66a51501e4ab7fccb24b4e3c3a5f42b0d3649e203bb55f95c317d9a8bb167f7963b925e914b4c853518e064d4fe41c51f12a3b50018c07950e98ee200ed133db3bb354b643e87a73d9213ad96a442dd982af613687431ac040e1382d25ced039e64e05e77aed85087ec35988971f86efd26f339a0f081e73a6e5178f6c3abf2e3f094863245b69d40f7625c8d000938dbb5f048c0eaf4134b443e2e6048899e7c6e6be0254d1863d499d6de8738f471b7090d2db74c3cdf89d2b9cfdeb6e9b784c6877076062586e17ea725ade123edea19acf4c7471bb1f85f1a93349923d09d3ead1f7b047e526bed0a4e2ebcedc3be65a37cdd2224039ed130f94a792189a92098d095a161682fb415806178075fb12d80fd065279cf95a23bd09438d320693c04f9d34401716fc5d15381601c04d7033d0d2f8b4c52e00a203b035f8f7c334aad0e9cbe49dde9612334d8652b908c2b679e81cc4442c0c3eca196102b70e9158105c18f5ca0f1511945189a50b9d83acaa04cb652ca44749a509f42a5c353a6c51bffbc004b38a4d79b1fa17b7c0474be7cbd88604bd1c4add37193709580d868708940299dc5000f737bbfbc3b8d5aa2af596e05c05619697f34b455be397554bb38fb017985c4557637b0ca8349a94c1c72a11b3efa21e1488e557496347da3411e2f7ca4ad3cebfe38aea858a82e69261b2cc564f71ec323ecdd70b676faf3f850b38f2e73200460e3e700dd146dd48eeb726d65874a4db259a9a09d245b058c991ccd45aeb86aee80b7d19d88b327a0d991f99ca882d4cfe4d5ff2cf834c97a8f7d00744c68426c01e8a5b72a96400840c81e7095da2362074b3bb24c4af2729893ba6d651aea4a66efa8e89592c8e36c710899aa089aa6fe33d59e6267ba2527e578af93152087fa56f224162a489cff5f50861dd242df537842e50a4f3bbd6e7b7549219240ba9001f2238058f6554aa48d05e0664d4a7dec5b6b81db7a7037598387b017fd1c6298d2200f8f623094b27dc8514d5d886b009e8cd796b1b9181a743598e63a28b289ad5acace0a24482045e2975323296226dd403a2a61fa7a888b494c0f667503c0108b511b50d0f7b1fca49eb8f9b3b2b64477edcde2bc021d422029b3a53b859a0e34072470ee5cbcdcef7fc0ad817c06908541ab355449b9b9270f706bd240e344fb18ec4a42fcf06eae66726dcd6e14781a964f4225d450fafa73e5cc623fa8c181560bb5b931a15f8519232de611600432ca794ddb036c41cb5b51007985a01fa3163e7737a728b98bc8b734db4c8014e92c350fd1f260d1bc464ea731099bb136b2c173f6ed156c7a449a2d021a5722e94edf299be07c8760bd74bfb119c5891394a02cb95c8ced727ac9ec3df67f979c03b573b84a8351026db52006809fa793eca66feb3cf748692a652193ad5b51e3d14f6f09242f0099b64529a6816064b229d88f9da2f4c634f227132a257d4f20115e4448acd4c90aa456d6b5aa23f5549d807c8246b4ac6c5a8355f5eb925affc8911e70c37e35102ad7503a268fe346f8710c26542ecf0bd6a725c5bcefded864257d513a7478b461e5f0435e9c375eec47c95271cd82ba03d1f574ea496c35300989441768f03b5fdb2efb54a8b3367fdfc250e1c13eb9af1cc64b11c03ae8d691c00517d55cb3d2326e730f3c9a00bf5b0b4441d1b4bd206e784d44ed24c3dede5555435e104663d9c89f314d4c664fe24a819aade5b543055561f314cac76b442e04ee144fae662125eef86365504d010eb0222505404eb859b76c623d42c0eeb9ffcbfeb4e72fbbe6464bc85cba17624d0e08fcd4b2aff72ec7a5caa7da57d83c9ce26990c118b5da2c8b59c19ecc12e848524f09d48cdf580a66352264a0e2fd0ed388e4aa6601f2cb51cd06ed70a89927d4c78afca86ac3425b23717c385819f78062d6222181a7d4d41b81768f47b15661f92be64b935a29db0741708423edab84deea40aa478c9cf13a9ae4d80a5a1d2dcbbc8398716bc43023a78b49f4d4c6ecb52b23465b6b8e6fd00c9ce0a25d5629eeaf4c2aab3b99aacb525b979dde9635d52ed60959801fb6b631f13a4a207de3d4b2f93df56aa481ef6dd15abf911fb26bb3fa0de37499481cb3ab19aa2a14fe882c302b3ea9d1e8c626450f4cdd0e3c2aa70cc9bd12442b3a2a75d5557803eb189f4edc7fcf27ff2d5af3189d1b57254f16339d2c46b3ba84f99ff99700392dc99180a4030a331e61de7069cf4277e8bef77c36953916c21ca6cddf6dc047b0568481ca38776be03f80633a2816e90345605772f965e6e47034583661511083ceae1f273e34cf02d41ea5faaa86f3feacf843e3d5adafed989b55b2dcf7f5a23eb53332b2aa8a293e08f842b4e4b8b6d8ecdb9359b02251e0d778f8f1684b89130f519be0f12e6c7cfd912ec1450dd5071a61af80e68e43406f6657821a45d95c3722c10c006a20ce6a51050f4a5004b72702b85b378e67af83969979562c2900fc7b5a259177f4404b1899d1f286150064f14de560e703e9803f74f8aa1e46354fcec999027a7aea29144536b8842ac423bc32badf20daeb5f963d961e1757cd557ab70df258af82f44176c8a03bf2fa965f7b0112292279e2864451bc36ee4411ced01c7f751d7b855ccd7b48d62b8672bdd5791f9154b4c051cf7e6d4ac27dc4592fafb6344ceca29ddda56c75129faa81819ee6bb6a41f6dff817a06f1544918a7d5c7640ef4f57e90536ab9443bc9594064be2e6a504c2e86a51e7c1167e17d55d66171c3e8a097362f17ad76549a400f50719af7bfd18a0bfce01804b085592df441f19ed5e8857d9512aee866cad4878155511103e7769e8127befe066081505779d123d09622b06e440d51a6e119c11ab32818a1a69bf6b02d9031dda56b8fe2f23d227704e5c78a2a961848fc25fcbdda92ea3ee41f56a4b9479ab00900dc100290d082498e6190960965919a7d6252a1904914e5d0667a08c9867a307aed23b0d6918fe1984875eec967a5942a3e26339a94da04e36716ce47dc7610251205fb8eea190b3935eba8c5aadb4c199c135af6b72188c5ed90b27bd34a8f055539904a4dba5972e507ea332b5a005367c46a27a01299bb360b3552cacb1d2f5cec98cf7f6476da706027b29589d32e304d29a1698d77e4ac0081026604a5e40a9cc3272b8398664e81feb2ccc9585c463aa493b8a80e8afcfd22ba8477c6d3495a67725ffa4cb7ee334b9328ba1eafd5a784dfb2a2119d159eabc654aa4009f8937bcbe02d59b32a4caaf760c27e26ac9071e5e701c4b48b425297ff93b041912aad442b77a1838e494bdd2053bb84f3b20a3684dc36e322f9610cdf5c59e7268eb50df98349b1870d34d8f76ccb04e863b1d0c16b51ac62e20ecaccd2ad611b67ca9e854aef344d34e1c8aecea7b5bbf3c624b7ad844dd45b151af7531408310bc9d375a99f26ad1e8ba23fac503dd528aa01dbcbc2e711ca4dbb0ac556b376e888538158a7761520eded2ef904ad1ac9580d39e1d0369f0bbbbeb1e6f47ed631852b5ae7b5c081b3f29e4f6b65c6cbe86755321fe88371dab0388eabfea0ac9614a26d789ead94814b548ac73d9366429d58bdf78aef11a92d584c6d6e8a908e5b5fedee98ce91d8c884d76f03c54297805183d0a61e8c3d62c322b0e8cf9c922068ad9f1a5acd185767c6e9842f351bc9ec698e454d4e30e9bdfc6627304fdc744fc1846f72f41a0e9c78f67362721572c31be6723a2861345d0fa37be29e0cda08c6d440ded0b53b4fc91243814c17cbca94a9eb571647e3d369484bb4de1d4365e0a1d8e3efc49069c88fe864c8f6088ab2024c7f7a11325a692a2115aa11536c278287079419fe4ab04345fae92361df8696b6431c512b17480548e954710af738488c993fa6509096f4cf9954d760771530dadadc4a9ca1992567f385bb77cf91293d0bfed2a48bf2c92e02a75d65df7a55377ab38b92883dc9c4a5702208e3e0104babce74e42552d4bafce63c75819c7a266f51a222802a4c13a90a5a7c0bfb866aad77dcd84563381b77afc710bc3c5472e3e2cce4da5066369f4344b77e5635a7ed8bb3bca927421321c16735ccf7fb7fe6dd392ca4cc0c42c72e2198a91c5ca75e5a39334f773ba1a9e1cac03da770c53bdebb0646556e797f34b73a4c99bd9ce57258f070284190a670241824e3c5a811e2e88eafe4f80581b1b1e9ca86835a8040d6ba0331f6929a841b903fd4d132bdb1f403c885bdc58ce7009a3672c52aa0a271cdd249f8f4d2d0f27ac9254c6bb1d40668fbfe4eea7b398d0cca5b11a311b37191c22b5a07ec8df4b6424232e9db166a2666d70eaf251d5ad20dc1ee4e245bcd889dcc806f04d46e3aad565827e4d4d27ed82d02ad0278e35d82ba3a0c4b7ac8e08fbf704250fbf1a158739ccf343b537d218e881efc00fcd171e4693f881be1770cb66eed854d6ca7635a10bebee65fae676c5d4976cf54dd5ca3bf1bab09837e4cdda0c84d5c920bd5721241094d9eda3ac84cbdaa1ce20a94db7760531307c7b43e0efec4dc07e2fea39cfae5e5069ddbb31636e28bb3a1b99f8c50e8fc92f7b14fc85dd552a22d68335cb05c43b6e72132a8933b1c370924ab98037115b8ce61c64a3cc4aff860878afa97fd87bd88a54f0d1bae826885759588efe8731ea60eb0bf706f74aea253de482edf3458d8094c6833d19ae8718bf91510a5825e30127a344a13450a5d2fa742daa34c2444da591917e738708385cb681e6b0ef75cc923c219b1f2d1d7b3813f35ee16cd79e48d1f448d8b258aa9a9fd07c648f8d3abd1fcab140dfbe4a22da5f41b517f0fd8fed45b56d50d2162544d3f9c6a95ceca07685806e1a6e724266d5e43c3351ccd6e6c03114d1dfb062423d73e785f6cf86ad881d11f2ff74bd55a777c67037b8c596d8d6cb742e061a9ce382c107ea16ca61f45cb14004176e1fc1f824b59ac3413cdc66e79dd2e80c7c663a28f97108ca7ce697d8b9b85dcda094c60522cb70d69792247ceb46f8abe936828846975928b1332a4797f178f3e2d4f2687e05974a22351117291fa889e43f15da579ae2486b4dc85a427e61bca83f470384fd2f8c83eaad91c77022d52b8e8df1b15e2cc10607f649e002393276153cd21a9a4eb866e8887d1f05115533cee1bab1290533eb251768a3ab7d4f5db7882b8904bcf1deaafdf8af3481feef4aea1537e5fb26f3313ec2fd14a823830865466b357559990973ae1f80c35adfa28d2ca03e4a013b65618fa273cb3eac9a956a9244c4665cda132b5a691c921948f4587768d98a58bc69af2a3e7841f5c411e6d6e877bd20cb855fe481fe904505d2c7f5ec0cf7028d8b8f09ed586a787f28931e64cf8bd258506bfe67192965c1f6a8687483f3f52018b7cd3829b58063fe008876782644109c9f825e947686b6ddb6a621c62cb931e7fd5f15602898af0e56b964454baeaa61843f913e788042f4d49cd7244ddfcd80015a51bce82d1f62e22c12c571b117a584692015bd0e201f20d73e7460e1784dd8ed8d3754ef6b823a4782cb16ef7a4efb5f1780e11ff635ba69df7597764155f077ce6e7ddcad126f1b0866ff28d7b08625ca15a10af2686b2944fc248bae028a700ab7032873d6b0bc7c4755a76ce740c3359bfd64749def9a291c16a3d9608286d088ec84e19c1289cba7a4dc41f72fdfcecc06e83da9beb40ee9151b671843014b163d6073bbf4113c9c6e11add342c7526430c24432d4f7aac72266363295ebc1129811547d5cd83517c74efc7cb58f6e6c1d1d2211218e31a789fe3af64282fe5fb226fe5f8ebfdeb2efa997b099251269b9d0b701a86470d4f38c3c4e2bb17f9fec8b87e34b37fecfd320891e13fc99ebd3f7efa6f732203ed8cfa68df284e14e62bab4c7475b8af232f6845da019449bfcd5a99659a9956a8e46c3e4533b2daaad97687d80de6f426cf8f86d79f36d8fe9ca03d43dcdc62e91d52a033bece7bc07f55c41418cd9fa4a0cf9d3ba450ac9d1de842f14bc54e8da1f9f14ca1cc7cbcd7c3ec9a6fd50309da168d8310c02447c1b00b760f3ba74bd2d287d3c763d959024ab9faaa43753c9b6134c1792e83634fba0202c4e08aced817d8a98e11c66ddd33f60903f775086741b12627d6a61ee6dfa89cf804cb143ad0365aba1788145a150c2859b28bb169daf982d62c3f2f5a891c8390b1c49477f10d2687f8d801760788d133f05bf022e07fbfa33d81ee70078cce4c634d659ade94ef00c28cf58a8e37caf32502fc154d38873cb0f40af24889d6c63dca597365bab329f6216f2be3c1b95675384d236c7cdb79c0e0cb81ffbc31fe78893593abded37e323dedda52d6b7e4128cd0871c2b496980e2ebe058d1a2db980ff087d7216d522d30a12c6e252d05d0937a57124ef2c58103860a099c82af7e53104be93f678660aab41c218f04b151dcbf41bb60291ac9bc80240608323929a22413d4e29514100b9aa6849f3bcb958f25cb8240de8ecd98e53a32921c6fb5df27feb0f41d9df8f9b3e6a9b6b0bf1baf3ad53179d4254f3f4e193c618748d0def80ce0c723ea69b69092a50cfd937bc1caed93bb66c7db93fa60d93fb2f14b4a60551051064080a42add1b487b15a51a71683205650e800c1578e954be6db724112a269dd7edb2372f35b6cfa466fadc77f4b5bb875da3072029281bdfcb260e25ef833477767ab205c99ecce362e130397fe6c051514c5c10219ad8f172d4ed42aacbad5113876161e5c534545a47aab05358554bb934eb6106b125c28a39bcc6cd1225fc9e464f95086141b9c96ac8e712a24c610fd650bf339afd1e2bde3e3733f2a50830c20781aa73f74ff09e8fead546a94c0904c9ae75115876e1760dd7298674fa77ec41d03484d514beb35b7c6b82daea0791f925018dc8e4c78d830243c4618a4652838b8e64bfbca7c7d66a5aae4924970d81b9f5aee90c837c800ded0536613cc0a63b7898b4569fd72461baec81707a9f30337a1da058d8979571ccb183f331e6b0656517e1bb1804ae9998b46b5dbcb06105ba5961572b41718835296aa18c45935d63c17561f2882560328e21639510d16aa43cb2861543f80cd9ec410c551a06fd9085743445c130c0c72d29cb5e73d3ff73d6d88f6bac58995490f56903d34b39aea277315f2e981563c67e5a107aad3da656418c7f524276a1ae228a425a1f7528d72a907a29fe02a7ab0094174f11c402c4bc5e85214fd5e6915280845ed4082894bad8e020389679e98e34a9d8e4dd31915ea6e61289d378b8832f9d72f067c0125cc1f8febddccafcd1118898423137678744dc0087f10e99c405b4f48fea3cb096e5bbb946cc609a3abb4dd820ea9ce63ee1481011949f3b13f92325ef40430427e5d5a76b2acb8cf386965e3662dd4156475f74fcf66197708d5b0909d22a5af94cd447e3d5ee5a9a558361b571b40ab6490fe8519949c40e9bc27e628bba82d4d9a1e020ae9d9583adc5dd2a453ba5d656ba4ce3269e130e7ae751c9ad9b34aa62a4de6515b1eff841b530ce3ba8ea536b56513927b675ce1032031a14e496ebaaaca0222e3787b2c0816430fcac49bda81b04b7fb360c08df09ce2bfe9d6c800fd7bf069a48fbdab334a4f512f4bb90a74fc5753afb7e21253909b1dc2ad1f2623e9174413b7d4ef21674efef61ab653eec44866148753145b315f4a642f2e6711ef18348316c26e46be14154486fba06d569eac64388a02745b539d6c2fc67f5d657c56e96b8267975fc209e5339c9fe985617008fec8f3cbf6722a34cc35f5f849cdb2611c5f10ca4b5fa89800f26362e638be1b9ab427b7a3cc2196a31b56d5da94a8a6f18ad05240e79c8ace455c5431ad58b395945296c172e02dfb753ee06662c5b440eeee64b799ef2cfbec1812321c8f1e06cd8a33d6d0cffe7f02c40baab1190d6a9ae89b4b0a2873d0aee40dcf30303e22e1d8878501830b6a875f6c0369f724a9a6f58fb5e69fe34e98440c8700fe6a984272b629fc3a0d7e50badefc4704003cd77a224484fe7bff389504c065f38f2b724357b5ac3098e3ab62cfdf988a15f2fee9ea6395e14c752ed1c26be8533718c2709e8751a4b917e42560d18ab520bf919e268d13903c225bc891ea05208837e613366297128e82e76146fba1589ace0821207efcaa900ac0a3ea91ffb5c983dfcaf15a28e33b5a796757b862f713533a907dd3c37e4fec70eda110eec484310348a3d6a1ded8f6cb06a6432c3e5713b9799bc7dbbd8ce3b25b0e039750ff91249301195d68c788ec6df92917e87b613411f4d855eac5b95acbf0b99192f38dcc680eee596f538c7ce3fdc099048c3b6ed8a0457b13ade46f0c6514c89234835db8a076b406df4cf3dcaf80aef42f1271163b414e916ef0b2e1ac41f6fa93a64cdc6d11de765b8864ab9cce4f5d3c9a5ef3b82f6735e642cf09d96143d04eb1ab754dd23fe0aec376e003938e21c2e57dfa3a4eb4f1ac24f76320fd8f71cb3be9cee4fbb805fd6061fb2431a9d0f928097b91d9b4b80b887bcb28ceb84df98be2b9d7a9df882cd600d2c426a2c08f1e88bfd6a894801352c62aa230dfb75378c1dc3370773889ac7b6f37064c055a85db209f24a819eac14701f4e561bf2e2d50371d9d481ead166d72a00d8b907978ef0e33f4d06d481e4119003cd8afd5b60b6cd3a25b099b0ac66724ce03c40c56410a69cca09daa5b4d5b58d908d6748feac5cdbd731f8e558f8708195140858b6de4a5576431bc045876e585e0ff8d0eea21c4c8f818d0a58662bb62ecf5f25cfbbc71d20a0a8c01281a5eb9438691af879c2a9513d8960e998dda6263da1be2482e5acab32cede13c162dc7082e05a426148ecca7933e4ce087549c133b6dee6fb8105f84beba0321a15c950cd5d41afb905e6093ebb3d6b04e3916122c762afc5d491214ee05778aea86e905a691d8583865b5460390a2ffde6c7197d0d9db4faaeab13235da82c4f93163b32d7f9315b1d30d171967b5362979c01a1b8b655d291d48567a368f3f001b0b4c361d4cc14e5c0e0b4b42d68c4935a8108342f710e970b6c4d0294812df534cf5020f9f76e2ee0ad555b77798144bcb4da9bac4da1e243a118f5edbe454ce11999b23c7c0954e026b5d039fe866c15398706974759480bb8eaca9f6bec4cc1f4852bd6e23a8b0de62d54e534b3807a285b39fd54af82c00da06974a3c412de682e8377143ad826b06dec2db18111e59828767a69e4844f2c0e21c4c4f13f95a199d75a5043a1ec17670deebd81d3a54d34695d3337140d57ff2b10612684d7dedb31b4fad2c6ce7b81122e74416755267b6dac64d8e54fb99b1a8b2eefd2e46bc8600c602b9a66e49e21697c2ee3387ec45af85a809c382544f1036babd588fb2a5737d1e8b8cc3aec951a285f003871cb968da69393e763ae5018276a8cadbb1fd3687231ffe402fea76f928d323aae06d4f860e64261e5a55e1bf579d6068b8ae69d9d5cd312c132dd5e9d7025707ce36299ef4356de6faf5ae628f68eb55a1bd9f6b8160b4426489a9f43b82c4eab383857b8f799ec5fe09592e9c08ed17427ed0d8381abe89c7e901f8c4a3672830821d219e4790c150ff3cad8e21540d54b85eb930d480c9691fea4201ae9ae5fe7f8c53e60e5d469ba7b73350d05e5c21a7d4cad8db024cefc51434f5785e0cbe5790096d0bf2e193acd59c59dd2d1348838b1c97948dacfa7ea89865dbe16aca6c6066c455579bcbaadff6acb7fefc5bf556df44232bbdfb09485b3a834a0ccb107534494f1f2a9877363feb1217f2484becfe1a6eacb38f247bfe0c52e919c841567008f6e7c0b41dba78f34cd4b71fe24faf9c593e850c1be96c0714926763ff9dc8c917d0f9c8bf38a4c9a2c64b0d61308d145eec045c12e2d3f98801716a2ad95dce32849c6ce0e47dcc6c50dfdacd83263f68cb9912175799f098b62680a2b9aae6c1a55d1932c53e1b90875f5d7e1e018a14971233af401115f2579a23d9d74673372f65c1b82316fa67eab344f5ffdb13f7373350877f5a9dfc5fcc643e07538236c9e6cedcae2608f306140580223ee367d56983b3d8702253c3d634808f6499846bb1bf99308cc33f62a8b68b5200e3a1d0184d222f15697fa50adb1338f32b35dfd4e951e95b0258b0587bbe79649220cdcd9639c7dc6306f76100078b7edd995730c64fcc78500f44b11f048b3a3a1dac80d50a93fe5508e95a49e827bbdd0924a4a73e12531f35c59dfc832f88bd1c1803e71654173902a506d3e3cd08e8dcc15d6d08c558a95c42c070cb89ecd4815d572b4bf3dfdd4f1f3353ec6b8e9111db4688bcddf9e9c20394001fd2b7901f7cb88f51da417b59cb8ed28239707b4957422c9adca538b1a0bd8f882f40b30d34f27a3102270c3bb278a56e09488b3f9931002dc9df1da059087975358246ac5a9b1ab521afa1d4c142b7ac62e6013e46a2e74933120bcf67f8a782168d32d10090ba7b9d26adeb70cc43296a8e6d53628a15169042b16d5729d63d65331b6131e3e71cc11d9ce45eb14e2eb31b6c48cc751c863c7cd05b24c1f6e7af025e403adced879ae7c130ff658ffd2ac09d86418d4430515868971e70c1b5d4056714de1c290d1911d41f699536a5d9cd1f82f252725294a219c6bfa05c7cd51e8e450fe6ea2d726a0bf45566ed0fa6a95402e9e27b0e42ac8206513814008d94ebe6eb0550dcb1e0bb2714486ba1463e103530dea7f7387644cfe3bba206a517004ae98c87bd879282d2d7b62bc09428782241f6416cd9193a662e031c6f513a68cb6f2121363a26c46a5eec4748c70bd60fe8520cc0001bb4b13f79376edd255805f07a83559ff15e7512641f22f45228fa304da27aa4a907c60a307b9e3b0f987887082af5ca9e860b1b9db0c7903905e622445d069545d062ec5b276596cc2e7a4062693d44b326cc4eb95823d3926ebe2f0cc87ece6c011c69f0e8d8949fca1c84ca92a842445d2f36815a9b0c0eb654d741e87fc5553824368c26942e32bfb6ece6f07110c24df347de20909e15b1a7be68006e5b359d6c9a952e45fd4d4ba249c549f4af9ccc82836ebd37d7e8fbea0a4afd2c0ad702ab16707911aab67d4d4988285d3067f3a86a0735f3b4481931f60e904bfe56b6f0b010358b86df933c87d5c42dd3a8ec2f8b8a7ab934ab38c1a5250cd35f1a0f93c8ca92982eae2a7a330830870b24d727fef38eb9f256588fbf71f1e0587cc2aa13a9bb973da47d2e934d0707ed2da3663b7dbb49d8733b9caae9a1698e5bb798da5e1256a78dd1c4ce65243b79834a77f4af76b6b48bf1f604308ac0440da34f403600bad1b17c83dd1aaf321f68498953a9b7ec29427ba83a0ffa82d0b603e3f94a52df5c3c4f5224d0c304fb80a3e9e5cda80fa1c60989a94458b8cf6c2efacd66a0540ff37046ab4044bc48a73075d178c07d5e953959e8400e35a87da0c45be9de46f5579b8a74ddc8ba95457b4c1d053e3d70ebe8fab61565216027b076990ba39bc928cf76d6ae7d463aa8c49b17165d5ce88c342944d3b8cb2f2e97d9f273595158c365fe2c07c14b64511ebc60d0863d9cec2f671d55ec1dbc1d703d5f63d104e25a9c61b885b7eaec2a93ca255c9b786af10228a0f17a3467933dcb0fb6fe82a64259bc2c8f34c848a493a7af74ffca516286225a15d62ef618fb5a70eec240d7600dfec3e56d50f60d0c9ac6acf864b026422242a630be420385816a85c20c662e7625578f9b05680425370f81b780129615c6679618bc281db96d94dda56279154ffe38aa072cb98d8d075f3d091a924044b4a503e6519503a129ecee604a0a0873618531252b273f944bae3dee4d707a7c9c0b693f0d12c88ddce243a980f384d008da09164024abda9e7a0bf0da6870e88d9e7057921c1cef67da718bc7d30d9a904cd25b6dd12aba11a00cec19003f0852b34627c4a64e613b00e1b4b63d35940b5386021e122789fdf7c8851398147462d396781406a0e24130a74cd2ad88f4dade5c86c5fa9fcaa74aab4e72916cb653177b220b2e1f5eafaadb72338a1532259d32701327bc38efc23f0c93392f45bd8b60568258f590881243d2dad6971d9c2a00eff54c5b4d58a8dce46e5e353ff8cd0b70d8e0add95191fb733cc42576bae98c64620bb26f9dcd65ea7681c0faa7608cd3df2dd7805c1117e186078190de415485a0eecf3de9d062f778a8039e104a6770ae8567a73ef75405960d4c0e281e3b46f6579ff7ea0fae1b6ed28b80eb51e2aab598d3f0569041be8b02b69864ae1aaf68b37940f19708bd1bceafdfddd71c5686b2586f8575258aa1bee85e8f305407d17251b30927c3595fb3cea7fcf577c4c91f73c950712c54c11add707d97a7e799817be4ad8252bde3a12cb23761a7537d34d53da6050d1ac1959074765476181ea9cdd8d4f591342fed29c8311db829e3cd8a92c64b26621d02da791f74284046106eb727a050c0a71a03ee116a1a10892f605eb0a9c1e6e8b60f72e7ae46b667415caedb360a7e31e5e77355f4c9e484930478fe19c14efd4acd8a5184a285a79f2bb5df47fc68f1c5846725419c7594b5406c23e1af581f5e57166226e27ca02ad1c901ff3888a79b37db4be6e412b496918a47114cffe27c4a80dda8b332b1cc10f5018e807d0056ec0037c63c35703be2e37db6455654d965ebf032732bcc031b398f2a6dfc907a6246a7a5cdb6696716a22b30585c60d651164e98f8bbd99a73278a789708829af630676736f06960afdca7e691fa865eaffbcabf1d2817658e2b5bbc434fa84d110bb135eea33d452584477c22a23f6e82291b2ea3854ba84bc516d7d36a444edd0aab6fbf0fcb8564d9f9254a35a0e21d51c9159ce825403965d209bc0bdc93634a0fe1bc3990b148a4ed8a916ded035b07e0890a42316d1fbc377bc639975650f4dff72a9ad33e5f5b0fcf5a3b2447e68d470a565c7b27379d668f07c665edcbf478da9256732eaca17003f31e0c8a21a9db7bd6edd083246698d2957911d6a92a9a4d3db2aad4c47aa3d0e7b6b585b2aff7fda54f250b240c50a3ccce7f527b2d21fcd636221482147962c753ea4ae277af2b80505d2852eec396eb3dc4798f5c60826de6be0c200170f49f86e602aecfa66c316a2817558762ec6a4df72235da3532fb5308b5a50d640dc339295fb05331c135793f32c47124c3fa78761d7c793b006032dc8c55dcfe02d9e652caea94e8d7441262c221c3c8daccde18c913dff0ce2ac52414e90ec4e1117a05b6b1abc1975cdb4489254c4cd68109d1c580e14592127c20271296f9922f1f779afb02695be822babccf378bec80f0821cb0a4fda0d5414c5c22199a07365c4aba1d74c4572ad9203ca356d4abcaf826580a3d47ee35faa70a8e91643ce5519c0aa5c63450c27819385350b697000fd87b91979df3b4911a3744310a792c9eef888893923242278037d0071d36a797b04d8071b6cc7482c3e3783ddb9152727ff05f37ade3fe8893fbd1b247ce1d190aa42b022d81c7928f0a0b0997cb1d86435925a217bdd674b611d0b8d17ac8d12bbe8b6111fe43794803201978802b92283db214229b64fa364466bfecea19444a1261495ab10a5f98e02095a5f041532e01128f13b51f089831658127a234cdcd4cf5ed9bd43f00477190feaab7207824d5542043879006880432d6cc91848cd5b6f20ed98927684916535f225d4e5314b03d09b426dcb7848788101a0168a3f84de46c9e3598d0df44e7b2f6ff0f557d644c8e371c2dc56a386bfd9c4d8f048a05f7cd0e8c851a9a6ad7f40b9d04622dbb61756d934d0063eafce8e4c1238844d0f193fa1e6470b118d578311d0ae8719cb23282ed20b31ab99552f137149e4be1717542b908e79dad192e2d92e15c32bd1b2e6b540cabac83d0ecffe25592653b71f896c0e113b1df338bf1cc46db41aea89e8ce2a6e3740d8def25079f5eb24923ab6fbd09ccaa430d9be0ec75d8131f2e28e4cdeb94ddc8f71590e89bfcf02d795ee3fbe18f3bc58cdaedd81dee77209d31ed94a2389614aa1b17cdc377315c21ea97398f6e8eed1fe7b03817f023c9cbc135a7acb07032fae5b32f1c9b0c86d98117a1ab9d15ba3e773b859e96c3658ba9d5e599d8624c3a7af9aabcf3cd15ba05a414ce9aeb431d89f69c059dd4ad281b2a8d3f485e3ea40ab0d8e0f636356239dbe9c8d6cafbade87371b13fee85ce364f36a58aab9b560890d9f8e8c6167a5281108b51d83f672d0503dd63aa1da7c313875ac51de21b509660a7e176b947d8593e10a0ee5552a96a58976721f5c060b1ea9100de4c2c24f00eba188f435cb4b90e09aa2d52886642d5f42194ac98697b4d723e03329aba20fe66ea250ea6dd432d876bea58fc2b2c626d296c727f1447ee928bc34d0975996bddb31082f974f41c4e5b4c88a8fa50f411d7c154b57b2202ae2c16ca83a4a59923103f12cf37acec3c428e8b63a7a4e136460644d510d4a2b020878b236e3e0ea4706302b9576836c09e08dc60b18841b62c10be00648fa05c5b7c94443b3236fa535da60c4099c26681f37e508c60f36b088b0a3bb33ddb189efee58c365f86d8477c56b1046dba59abc68d56f1b0cdeb5d6a5aeb97102d0bceb90b8338b1e79888882b390f3c035a1852cc10d75f8037b60a58e30c87753f7c70bda303e6adad4a0b4a17e5589c9f51f52c70837f7341bf586e84d777eac4ac54f84ba9b0eb8ca034d835a02ca4017d0fbdce164aad68c95f28034787f3464c2eecc11b22cb1b311a9d15b888ecd0b7215601d32dc6980854f4070c463cba084f85254f19c9cbbc8fcb3e4f478da763cc0dabb7ecb71eb4d0ca0d747b280dc52ee4ee4254ae4e1ae4003dd529623b9c203170488ecce4ea2b87ba9bc8aeaab5109d892dd52e6c007132bc04af98d2b0504004f9fba83fd7cf33ea50aedcb393c8d7a99084abad084dc21fa8ad89ea24998d626fc286d7ee004319310ce1a1aedb3600483aad4d12a4025e52cbb9964da0b3141bfaca63e3aef93c85d8147778640a8c44177dc11847e0c5096e22c515af479a77e0ac9cf920d472bd47f7003deffa4fa81a20b675b38616f2f498d701370f6b3d47b3502e5b6b053e6c65d00589a56ff084ce83e96fd035cc4a4db6036e4878765661403c83943d2a01bf8912e57d6556059b0024f21c2c4eeb7ad9874981c03c8732931fb3bcbd5fe8aa1b94bebb415a604ade5f3c2fd7bcbe9bf0ccd9860683a2405ea0a535f339de1ea1e12c49e4280c4c26fba2618044dac1a249255aaa66d64067b13439ecaefc6d0fae2172679fc4d716f9243ab0a53ce5356f47101c0b62a0342230bb222d4b42c6c0d93d5464a2e4a26855b13fcc4a85a7994b8956729935385d559080b1b444a8a87953a4115e90af11a07e7c4e7e7a35d057d47d58083e5d502666b47ca7614e20297bd9bedeb0aa7527089b9ad80011e03f8049be492e4e52a909fc1c73ea9413e82ee8b3b2b54e9c4a05561b9cd0298824f1d4e55f340af5008bb408bda3140ba7f0862731d68a56cc4c416dc2fb4f3d31b9d57a8e4b0ccfe206b5700a8830e9479d453ba009513294d2d0b726ea43248247a5dc796e713d8d80edc4f7064ca595d644e19d7200121de58a69d53d024f7359e754daa74d036fa07971ea1734d3bf1025288f00fcf86e54817d9e7ea5f45c46897ac542c7b96eb955a3107e149c934c121ea30863c0d0494715d7c21c8644f4b550679ba2bfb244f49fe21877534836819410fc47e0ca1a7307abf1e26cbab6bb240eb46d2483ee28136688a5b0781b9d5de59c04005c2ef64ec128a1307e4ca38d5820fe1787a64cffded513dde9744cb2fe3873aead22351bd0b448cba1186ac4cc3d8a9ce18ddcb685b5f65d8f71dcf60cf898bc55a47b26e9886d9219df36b6997f4895164ed9d0d26fc9a0176f9d9a70fe0733cd99c17785dc0b417bc7960ffb36a029162bec480604194d3362aac0c675f4b5bbb7a9f7b770df5a90c5855bdaae2e5d0bf1c467675a9f1f5500e5596e6eca82e8dae3a2954cda2208c0a3909161668f706167b6dbe70cd251e4a5e9583485ccc60b93497c815a648f65545bd12865a91697d19cc9d8216e69c876753002aaa8c7fa34b347f7577944e492bca695a6fa3a579eba5968a8b82c5c82a9632c4f3a1f868c76047379fc1bdf99974bcadf5a1cf7237473889a7685b91fece9ac34a737a6bbb09a458191d02f8a9b22fdc47e18915fecada3e1d8db4c9f7ee4a1e88e689190d9adb9568cecad019700d5c2f6e81823e3d714fd54b68b8747fa2af1427130666dc19d845514f445400a1f2092d8226b171ec41c0ef6972f4f9e92ccbb88e4576c44116a1c24318636ea8e60399be9e5ce59d49ba4ae616d34bca784ccf82046f35d76781a362ebfa0d31dcceb52afe26d6c45b815814532f8ab6d13ec3812d0bffea4405bb8faec3edd8c585876a24505117629ca7a5459662725a3d6191fa2ab90ca17f7bc28584411a5b22d838155906fcef81fec601fb236107a7331f687d35599da4c7a014e842161294a30cee1077547725eafdaf406dd8fc8a895033fde0a3db4727d94ddcefdc6215a6d26a58cc8631e423b535a393a1e0affff3930ae0260c37ceb3335dcf24fb82065b5985b2eb13eb0cdc4c519097c8567df91a32deb0543042958ce7bdd35e353b7a2ca00fb9898189deaf04d7d0882971ebb76c6416c1780b390a001d427da4663b4234ea34e6b2a21779cbf43ec2a892333dde02424c6aac1085d648bdd64350c48b8c6b995a9ebfb0eb237752dc196494a350f3687cc0c16987d56561fa921aa8962987a86341489b29d2da6c570df1f83d2fd266ba6ce5c63cff4f0064a3c38484df3801c734b8b41514204429cf807d16abee13379e4ec780f0e0c21083acd154bb3129fa5cb849145e85d54a637820ec2101b60bd0eb38680d71e54c05411b50e7c20073df34f67d4de9b55531341907687deb667588ba0a386e9c95f24974ec48a9fc5c7a32390f2d1323e184444127574f6a6dfed190b2e4a672a97e1d60eb3ae82798a6655fa8d060928e55d327e099e150be7096a2eebdba00814e9ec5df19b6c22a6c1c4929c8a57cb343fa33f1c71373b6b8c1e3e1f353dfac104cc6601a74ae9dd09a9d6f861dcea3640dde619526e25cc5d25a23da097284ecafa8f08f66f4edb938f220419e0560b35384e8e7706c26bd69d27de3f9f1e161556da0e2617592e92eca5fea2458f25ea9a276013271cd911126be77187bb2a1da49d61f8b9b8040d0bc711cf65e92a65977da4d57350cd308cd17291faa432adec56d286ce135574860ad116c266c7464151de2a04cd8b04a41ac722bd26ee18068d5d0446045ddafeb35c3133d0828157ea4aefd4006cda8a159bc56332091e60dda90fe8652aae6b8558730f2096d1fa939610271e6444a4e28827e3d57ed1fa858af49a85c44408ca44a1b822269cec8094bca193e9afe46076482a6bfebfe06553ed220074d491503acf7285603af2b5327cce876c4ac03686b2ca04f4bf38bf51bfd6714e84a340a067edee540f23902c57ecefc30d28e7891c67008485f5c45ba7991c9382f4090c98519c3c6bf9038314d77da86d76773d2c4c704d339d01218054b94c1c7e00b4b50e874085a70c4d3563a94560755e7c5c85fff9eaaa0d588687c3933a554ac58617833b71a52d8214d1370fba50c330f5f26be9c8666c6e10b3ae7ac8ff9b0b33bc13188b32b4c79e1fc30d1b3aa122acd9234f1c1716b06df0e9d3c74457a289c3a23bb9cf4bb6b394eab9f49e7a811f9a0fed722e788cd0febb3bafe88da04a296d5f5e952012802715d95efde77208c861d9c3052b7c290e0b5d223faf0c5a24d4fcac26617f8b5f230815c91075b9144706ca89ac8c028db3ba8c69e9263a562580f3048506ec64960f266042d19e6c2cbba5206159333deba6ea3ac7007b6d7710b4a6d3148e36ee6f83f83a99a4fed4c38c251a104f1a10956124b829f39ecd1ad1314fadfa57edf8030dac041c32e7f9b083d9c329f34f1e18a3190b8611715143e12bcb1edebaf3007e4b41ea6cf41eefbc1919d4b0f816629db90fb26c42c33cdde15ab48b0bc1c27593cdce5892e1159e215c775362954e814a00fcbae807e203bd361b33384fed0e80c5aa6d21cda77e942e8d3a19ba4bce23ffad420d7bbe49d4220029ce25e951009914a490b60f56fb7ac959067f4b253e86638ae5387aa3233114cb5e2285c6ec7a33157ccaff433f1b5f1fa9c07fd54401f6896660bb52d97943aa2a7b8b2f862c930b214934ddfd5085dfa5ab25c1e8d828190ce800526817f1fb7420945e8e7048814b56b70e7bb0b86f6cc3b6917f5f6bc9b0de2b97336e76885975f57fcbf3e9c82190759456f611fbb4c7f5413bec81bac84acebfb060c8fa99126cd44488088c47d5b85c0acae02916a15600d99d1b94946330bf02a0201ce923e9dc269870581804c8d4a0603cd80d7ee328f3809266110c0dd1932349efd8249bbb5e21d2c28d282c2850e137946ba89a7421669eb2a760b61a518ba8a0ca178b506b58438711b425631141d4278cb6629a89a30566a5300e75fca4067df89047a07a2c0401883e9a552e4aba1c3ee423a054ef22d828ab4e5eff2f3e6eed16a13488e3a1a0cbac29350669a3f95a6f50b8b7266f40ba6979910f6f213cd66326c9e8d1d22334bb00ae53977b178723df987aa60352a0d4d024aa6ef7cee94a828ef406c3cd043754cd399f15a343b9e8a60b22b33c700f0fa1df2637e4e48f9d906c6c03873c3756e3827a56c2a2db2bf385644e3ddb89a9483a99c4ddc5b09a5c2107a40a965e9b801bb4c81eab4a2e724b868636466d411aa903abeacaa69113c4f17b28e4491568afe2d8b109733ecfd2b0791eae2f795b6831c896388c642f1f55e2c8d3d9fa05d0c976e83d24e182d0c567c03381ae8b8575f91e2be15c9fd4858220c950808da1453d19bc3fa0b599fda1a233ec7c440e14146d6b91c5930af6be497f4b40eaaaea2f1563e3f5c441f3b119a649fa19b04f632e70789877dc3f42b643a1cb5c95a22bd17fd7c10ae4c8da3388205432b4878f276525f3b8b113d9dd1c6125c9fb019c1457ad224615f245897fe3fd8f4fcb56970d4e3a18c085f182171c570916411359f0c9eec2e1aea6ca9a713943b9febcb501122a36309affb0a2b3f01b45196cd493f6eb7974b9bfc058be6dddfd92c42785da13dc5e15fc1f13c706ca7b561ad29cba781027f35d60d2e0479d925377cfe51ae6bb59c3d2c1c28f6c964b7d9f0eac81e72e1b5fc5d80043990c0274476a631d4bb332ceccaa0f50212a571f0e6996b10f0ae0cd65148d24bd344bcf014007d67d4e374f1077f1d071552adaa43bd2fca861bc44284cd5a0aa8b41b8805c51b8f5077387eab68a57f87eadbb9d82c517ab9c9de501cab4aa0c846585da44bdd1117cc03634114eda2f151e2fef9d4243a0c84a64fad00015cd04ba245c48d15d529b1585464874cc80e1dc1c4c88f9c527b186d1388a9f5767c321bf08e22516c3c2be1edc7a03c52434ba93fd3f33df4654160ecad07a0181e9e0e8df8194bf3ca436242292d6a91291be9ce257daff7ee132b5f37b0d243a662f95211318dcb9562ef932dda68b74384dc17ca01c23838ec3dde6ec127de864e2e8596d718a8a9d33544a4d354205c8e08ff10661f512e2216ba9a542c1b9b6fe555c4a389dca7713bc03d86f420959114388e9d5a1ad0610715dda1e0f5d50b27f46428df3214fd5121033208169d611f3c0cf4e079bbda938f8d0ef5aca58b870de3f4deccae57d7f310ba415830c41ddc231156f585499aa2de5017596730ab3c103c85fe17d6d994434fa64b02bbba53d9f181b512e00df0b070e340352af406a81059397e3feeaa1c1d26ca4f2ddfe1afd841d7a8089a9533fc72fb8fbbf9d3567ac8bf5750d11b85e9a41f05db30e62010dc683b798076586940540597b7ad72350af8509522cd279677d38365b0f4724e9ab42f60e45b6685cd73798d7fd9fdf42341a49630f56cec5aaf9e1b3edd654a16a9edf322153eec19a008ae91a456af4edef8b8083fba7459263c2a0b1f9e6bd3015810b4e1d8fc76d63cef24015828a90e10425adbf108c7544b31c9304043a214ec8f0a77dceae8158ffb6146788b8d9a345744d8b29aa34b4a0a46eeea7fafdd90824eec5cc0db40aa88ac80998b6b7e2b87b16a7a6917cb2a4df74934d6a4477c17d1c3694228e9531e80a6f6014aa16d8a7140e533880a3ded8765f29c0c9a261fd8a524a4c61055df1b80eec9b9affd5277ba344263153610b0e81311efcbbaf2df28c3a43f0e3b6cb4abf76c5cbb45d4f69e678a63cce7d516721b9fb7792e44681071f832e20ae64338e63e219165e3a92b8ee8c112687649811e64a33b637c3b1438f2fecac9896c88556d6dff6b6923bf3aef3f6a243274791188b65e18c1378b9803f68eafd55ae122f59f9a0c98975d4efd9a81817bf2da33f9a198b37ed97864292fe439557aed966ea94d9d9995a9e6bb404bbb0f4050e8e1537877585e4d4ad1f9183e192fd800f7f763d08cd5e46c226220a4f7c5adb712492ed3980c0879972d281d02a704ab2b56c31c627b05fb90a9f4f2900aeffcf5ba0c60d5a329d28caebab5aa728e1a752a3487cd8ffde3c3f9b6dee2e6055488695c075bcb386f2c8884ad682677d9725fdf80ad97b30b55644b2d903b6879b8eaaf772dfafb012556af3aff18bd32858d25a28de5c7af52e2530aa2782a5d35866d97cac2866130e64721f268eb912a1925881779fe02e1f270cc5f344e4c157360234b1c9e34e130815cee9bd9f48005df29f9a8f60c4cc1d6dde2d4738a15d9fc86db7d58b0f1dc414b685bf7a1b4435a73264cd8a7cdaea7b77ef30d0372a0fafc23a9148ccb2fa34938d0757ba7b1d185930ae0b3efa428f11b7b31fa031ad4c3986f669b2464344c08a578300767927193dfce429988d0c958b4bd705f4926d9612b8926d8b0a0972a4d8e2d35832652f3b2ffe55343f57e8d9681dc50d1579af11e0e4884caf2cfdbdcc92e1a6cf361c2bf3c989c5b05178488fd92eb3d40799aac48ed2f73e72920ce64309f44280b764dc91355504268033d854144d5cf71679b97aada117dd5ad4e82a8f015a5665b75a9d8bb7af7f1b4a0002cb6f0fad2266189d21540a90d11cfdcee341c5222889828fec493455d3a495c2860c3df76cbef973bb95587cd3792e4d5e5fd89d6f966ce857be8a28848846652dd8bb148aa2b0db73aa8c8f4934563821e2b595eedfb1099655a234dfcf4bf00c61b748bf4ed691af1036e60a07095a8dbb89eb1107f8166610a50659bc718260ad53b6e3b56273726ea4078f975cbbab7e811323291b1ffcab8013aa9354740c554cd469d13de27510c9b68f66c50a3d6e87fc51e6da76d67a7f2b101953776c4a39cc71daefbe4788f7a86d2413ae3f3bc70d8982f32274462d0c850f6cb6640ac766fc47f801248b6ae47e9bde8cbdffa8bb67a3e9a5f002ccb05a3dcf01513e62f4590c8a7fcabdc000c14a9a4260c611c5ff01b39127877852febc58a8425908cc2c8f70e8c1cd0e579c181f850f0da41fe9b536d3feb37b78e1b38f539b6d0dca761bb962629a25b60957784c165f5373d76a8974cace93c286737a904779c5f7b2ce67fefb6f8d03cf0c9f01285abfbc7058c31c8f87009c4d30397469de1342f1804776b1304706cf38aea8334c920e0890dc5e69aa4b1f317f9cdb3d7b2a1775892faad1f90e597d5625fb61717dbf4a211cb05d38f770a196f235b6ac3dcfaa54167b7eba48486b5b7713ab09643f1507f78ebaf9576b4455c6b5a557238f16ed2d5ee6cdb8c8011c4ca78c0e6e9e101cc52bc7e5259ec287796c6344566c460a2f83487d6e93ca24ecdd601921c7ce74f53639074929b48ad633d1d8532edce63113990883c4a7c2c4e7900e897d06531d43a6aa0523e1c20944206ea7490f70784c563e03009c8513c6a2f603f588d7565a1959619f05dcdaeab788a26fe0b79a6d8c102b7c3322d625177e330deeefb00c314b0764297b7bf9a730266393519161a83a093417db097062b4bea18e604bb469a66dd2fc5edc48c24464874dc76a6c609d6010ead5a44dc7472c0b437dddf725c73cef44b22444a7582f16721e0cf09536c0f8d150348671c3ee2a6fe829117ae151d2d8ca575571c9843f18dc1706fd1f5050640488df4927d3319a745d10efa2ac43b038e22afa66c117fc5ff27e3542071fd58a13eb7859c429747cbc91652f785031035a2c6a34902402d2c8050f8a8c624f0eb03d302227da37e2bea56ff8bfcbafe5ac92d8c4f9cad221a2c7dec97d3e214b4868dbbe7940ae578add726bf0547997e538a171734a18d62b1f131da6f52e27f451639533e54ce680d14225ee0d706855fc9d9dc8cbd4deb1cbb9b0f7140776aff9e5819ac0b066be2be8746d5025c1cd386edcb87b87ad81b1e86e349ec22752439d98b72f1dc22f81ad02e982aa2ab944d6bfb9361200fb279b8798417db2af58df12dce84e6f188ff9c4607a7e866a03904410e3b574cc0a22014d4f9818cd4396d0cb8ad8f1a14db35e16c4cd970262e79898b120a2aa38101839edfb702d2236f9e09a8ebeff566113d6136355b4c68156e4a0c08fc6f398c6b8cb5d9c4cc74fb8df643281e9f396532fe1e66863d21e9e39c7d750d8b0ec9d6db4b92dcb88ee29ded219d389dc9a610af7014a7d0717d9b25190302bf053d9805fcee65a69d7b1f1662119ccc8764e3ffc2f39edbae51cf00cf1758610260102912510f3bbc33a750fe1480b1f48a7735fc3108c45370ad61528ad0cc8eb4e0121505f6ff3987519dda323c89c47c30eacd18c4cefce091fb1edda4914ce60881493946bbc0f7d3851a9226c3c3038ba569de513236290c67985bb6836bde76481c826ed1af2fb4577494e16db81e9666d21f4ae67c778d0d65b0014ea6e139b9ecec02785d14d98d4d0f6cc1911c450d795547adeca8598edd2943072f297a7b15a0a1cbb17b16ce9f746e4c59990bf2d45b50f9e0e252866423c4954d39360bfa740a39d72cde0136f9369912d43d03e88efd6f69c4535967581dc36dcac0190e1bc3c6b51cee19a50e2d9ada82cdd9760f0a777ea2a05f3c7cd605a652c9a941b5829e20a9ef846d1b61f94e2df357ef8c2d5e25fe59be460091c68cae57eaf77033c8a80c36ba9d09bde2f4ca249799153261a286dc6c193fd514e2712e70254c5fe30b3cb9bb3d7298798ab8fb88c614086f2fa71febdd6c04d4505f68e1364094618cc3a079ca1432652c233295b6b2574e93406bf47417168d38478a61252e09cdf909fdcb2b85dd73c20a8ada90896efe761e2d8f9a422d0a742f84973985722b6b2fe1b848d850c0a903845a338204a84d77af3bfa1671501b025426e1f6d0419909a198249e94cb1c807e13e1a09e06b80eeb62d2019b67544ca78fa012b7d996845b0d3a41089e61659d4da4c3f0ba3cde8a4ec3a073327df8c139b1a1bde0579f6c5665cfc044d37d05ff7d89778fc3dcae63724efe9f833946e620160668d3da23246cc4e1f7782ed93cf77d4778f77bedc43884191a3d9492a7fc99f610c5aec6edecc40b9da651ad2287c4286beba6221327887fe5384c92af44d5890cb018a81e83405691971626e4a23cf03f89f022e3158762d440c1af16136cdbc402d8dd4ae7f259ea11181cb19430298cec06b2129799bcbcfe436ff1ff85b247472188555a37dd1f6050f6b3a1300bbcacf483c41712a7b34389b2437c0fd4db562e68d984ae981b4f2db555b426f00dc588bc8dbcf2db2a58b5a0dcca7941399815913c358f29aaae2c849d4f98762621a4db058a9cbda52e477b8ad9379eaf83fd1bf5c83a6b5e50730cf653c371984ae58bcf01b1b23217d8b914f72b1b68401a8208fd6d070b689ab7ac736da72673b7064ad364c7348fa07509e4b375bf169bc94d9afb1c5e332cac47c664914b6af443db7d764c233a4ba54e8e86df40d674a9d29e0bbc6ccd1542d03ff81274907579342f1a5eb7064ecc952a24b1b185157fbbe2dfe5a8f5e32b91b2b541cad15d45c25d0e9d0f016c7b0c10774343e0d49503ad0011a2eb10f8ac037661d514f1262bbcdfdf36552362d8e86a7fd3a3422921661fedb2dec8e647dca416f9d51ae2612373c03d68e2bfc3b6ce0cdb99782804c8b5ace46893d3b6b01d661100fe8aa0dee5cc73a5cbed3329740062ccf6bfb82fdd341203239aaf9cbdb92fe9f9c889d3fab04ed23bbe0c549fab6a27525daeb6eff1d32d565a70d2cb1d78c395dc705dd4e018e9d60ae71e7692f1783411061818a0abc73e5c19aa406962a8fa4b737217001ffa54ad2040a48db86cbc8c3b1f817575277b32e2bda176bdc9526b71ef228b8c36b0d2b42e341ed6a842820e0d4541d54f3bd17be3c9116c12dc63731513493df80e06241de27e7512b04dcead3f8764b3fcb5703e7b237c396018ddf4c616193bfbe9bdd8f31fae128f12e888e72a89575e7b4563b6bc19f177fd1e5cccfab9e145a1fa9b4d2146653ae08829b9135de36d3045e29306406ad00b01446c5d021ae96d6a5a40ce249d0ebafbbf22226366eaeffafabadd6d3741033044d9a9abaebbefafef6666de9d7673db3733285cccc0b273107b0ef64875da39f72ccfc836f2193a6ace134891997f0b6dd816a13bd6da8c7ec546a44c326db9e596019806e1064a062fb55a6b818abb0416ed122805ab3a518d05b1820469475a4b599625de34e50fd7ae557fad14e8a89700a3b0b51daa24a99ff2098623a3928768c85a26f2c40d2182081323f63cfdd02942f4492246fc916a2966285308b17627a72c893b3d7629c6f340ca85082e194527c04ab4182c2ea21314535296ce70d78db5d65dc3d45eefde179afad2d3e4efd7f51382005b81a1292526522684ae9cb0582db4b22c4b1d250328ad188bb22c4ba28ecfb65278827a5404d9b8a9d10443086baddd1f8e7c7c88c2812d9f2cadb5b62c71d8ae7a288098130584122cb94a1b8b736a1a9a9d569b5b456559a280434c0086122989b5d612717844b01896a270116f7a1a606b048c2882506dcd00925632791647e60b25dae0c8d042a25014b3d65aafb921428d142b6bd4408f112fb292d008b329979c240a5b29b07bc549a34d2a0f88be34ab319454571db1984693713884c3b82ad685448188d7aed65a37cd2b6b65599665595a972555981400ce27c8100e49072b26ac86568c40607805c576fd80113a307ead552707ad68ebc688ac85929cbf26a2e2defbd3a13224d41e5953a865ad28a49042ed915a85f285d475c308b567e69c34d47876f8193ab3358dfe6fdbeeee6f23b6bf3dd91d0cab9030de5aab4b8692eaaa9e5ddd48680ddd90800da9e8284d155690c5c0e9c2196a9ba1f9249be6c44b344cb6320e6d4341dad03cc029cbb22ccb72cda801935dc3d8a4b44e8a5bc339f1bb3ac7383114674c882f4a24b9a250bebc3c99da55dbaa1fc58e97566357cd818662b3ab86194229b2ebf0682384282176d50f18467942810b0ca5bcd839bb6a0f84a06c573d82ca41c3ae9a042a0ca754d955afa00ed582ec8a805dab7571a12d74ec106d6a974f7c18607728ce6ab57785a12b3c66c4a168db5a7224a3505f2e49eece8e6f673c50aa7a6c965494464cf2dc8a2acbb2ec80c28753d7e1d98d6dabd7b34e59f151e229cc48ad2cbbd242519d2cf151872ca55e8164aded550ed6498f039c54691ba3c9f034323acf7a9ac115bdd65a7b4e6badc281e1b59aa659949465299788acb5f6341b32e1b14b2043b3200f6c0624a65a874b82d5acb5d65a4fa0ed4ac2186b5592d6c1570ea5697595d44276f95ac3540e5ebb4492b5eb00763d91a4edaa77b50e9344ed0ab6abee09edaa3fa843254776d50ca823d432118878eb029ed538f37d0d91e9291f4622c1294e86636746a1132263f14d4a91dd175c0ba1cdd60f8698d7881736408eda8c3f88fcb9c4d516156504939321c71c2387e3ddddbd6a6bc5f6ab73a75a1459b32ad7c2a6555b3a43bc726081dd25d091329bcc005d832204a80458141e2366ca175dc690547b845ac9a326758f242ba9669fd41ba81cca51059c54aa895a8fdc6493249b24494de238ab96d9b432a07228b56ec5b6daeaef60674853675b7ba6c62ff68572507ba4b5baec6067ec7dd1fec2d33cddb649dbfaecb62f342ac06cab79b547c9a393eeb283b52f344f0624a78c29451b8a143365d82e4992a584fa3b7dd3eabbd6b368bb6902eb66294ac96d4a88219808327a53e1518b9d37151e1d99158adf0df6c3901e5d4d9a84f838317385ec3bf401b441e122cb09a787c88c0d622409b05b36ed12aad528b94a3ac08e400ff000f3c52db5a559d252055b35d5f0c1a626a5b457c298e6065d7b243dcbd22c4d6d4b605f884bb9af1c484a29356969f6ca18aaf54b59f2ca184a964f5a922ccb97aa69fe963154af50c680ac66895c0772b4ecb0021e5a703aaeaa5cf598a1f94dbf36cd49f3804d653afc0cd5bd92a690a367e539a5e60bcd5bb256ca52e32ce73e64bbd7e8863b4a6cd73005c9cb60d3e1ce709f9b0e776a983d391a8293760d7bf6854dbba894b6fdef10c2a645aa7b0c18c182f01ba021b90f386cb672c0fef31c25db352f274de6af26f508955a72b72f0d07fb5e4dff8cdb57f3c815e75bdb8595b6edb69a67b5b6ba9733645bfd811da15aa353b729550ed7ce6d4a954375fa252317b0a94e001521439120909a2e01e103ebc98c051ef600013b038b003af820439122dc23f50ce5dadce01b9ceefa7632605bed5e96b596e58dc1754d596e2e6d1a0942a9adf60de5068b66d348105c5b7d4dd32ced1da1d44e594ac070fe743468d0a02197b35b5b35b0d6d2c460972f243047ea1c65c100c943826075d5bec16e207f2408ae4b928704c175a5b99c6e03b96b2db56f2837a4902b594a68c12eb56f2081da756992b46cd169dd86cc815ec04917709260f6cc595bb5059dc33ade06d268e5b4a02d8061edf53db5ca3d86b033d4ff79f278da583958d064d5a426c15e2cbcd09c278fa77ba1d1ba276341530b3684605d6fba4dafbe9e96a608d9d86812a568880e6bd464c3cb450a2cb2ab1f8b624b6a6c451989ae3521102dec09155c895144e88894b16011d57beede7baf96dbdbbe2cc110aabc866a2690848059222a3954429c9b6ab915a9501f2e24beb001a92959f5b3d0584a36c931e9801b5180075308102a828439264a18651ea5bb7b71bbbbbb43d9aebbf7deabcfac7d792f9b6ab9816d0d36d57ab3d13100382661594523204f6c091f13501244fb95f8ea420a7e70004b2bb6726c92c46e2c89a4266d35811861447149543c69b3433fa2ae7e88dd7bef0542b52f864daf7eb030815a685c0d41fca34ec6803019325ead78c2e4840926504600816283a1e85713c40b4a882a674184bca6bcbc2c84207f5ec72bafb8ae177bb7e91510ac07c2c2b30289152b76c898f10108e52824769d4718dcdd5d8b0a94ed37ecba04871491b052e5239ea0a23f884e5a6f426e1e72ea216a225ae25564654518c9ae8c4ddcc7fd05574431e28a7aa0c5cd7898d396d0c8fd6b7746b0133554637c8a7143d388655bc424b6d80544f73e90e160d32d224e6ec5bbeede7bc5f6154240cf565bd313b020132186665bc3e3d6d0c606c0a65bc3a2d34b37163005d54cb1518244c406ddd7208e2e7e87e36971711b1c8d3c282cce34310044f13ad1ba58a48820403003349d18b5961eb22a20b416b4131a80d881d6b48b820380194d1bd4f082b83c39724249cb00e54a00ce924e0ce02c8986b4a90d446470ccf118b2d2d09e0051d21ee64cea791f744f807e1c7f03341bafa3c113cab0a121ebd864fbbfa03d81e1a1c1931519a632c88222c2c5dddd9d45586367df5c079b6639a1b22f6c9ae5c46c0143de3fc8822744c31d68472b32209233bf3ef702019bf104ccc90c1d48331788cc4816e437bd222b6618d2e06ea469fbbdf796c119e9317d2689ab9e1fc6341e311bbf9fb124634d5a6ec6826c37773620e3c55a8a1b575e461f321f59cebdf7de6b61d3ab31abfb2d505454306ce2acf898a1667b4c307100ac3a656570de7345f6e3f5753f94f95c950969b0e95591e0ce9b5e95dd0ce5741c7827baf7de4b62df72d3e297108ed9847f5f505f4e2b84ba9ccc802bba606263412445a1aa3d5d595f544e39c81adbea0f648a3e86b6ddb4f86574874fff69866e84fb5b139f08af1b2ba896669c673bd792d8d389f2de7baf10ca6f5fbc428db21b364b4528a4b119bbc3f534e23fd894ab46937d6eca5523cc9dca8f111eab1e2c241a4f9e66aefded2b4cf16589489713452459804d8529626c0b9b0a5394c11b3404f2b42f71ed6a5f77fbfe0e448b64e1c841054d4dc4119d2b1a666b6f569e5d20177429718203850f8caf19ffa0f623ccf4a92fbe9ad48c1ec48d9f235e562fce7028cddc9c1e566a3c48964db7d464c83ca964a7fc1ecc7d81d1b9c87f75cd639a2718e3714314d6661563c6b438db4cebfd8beef1047b2fbe733de446bfe82d296055c3c06cba25a5c63637a5fac0b469b4cc13c9e5be722869ec26499224cb92569286dc249933359c60770c36598d66662bb818caa1211cfb510ded8d3613e1c7b9de863faef08e77dd0cc140e84515293fde76d8ac4d578f5517105b719deddfd48a0b893b9b91896bc45148891a5a16254206525b5047c749cda89495c96e92baaffd78ffffbb9b376fc5bcbdc78fb53fb7ffff5f5e70d17f07768278f51002018469e6e3f67ff1666c7f4f0b4f38c157c3dce8d82c9b166f606c1a2de33c3170ca21fef87ef42829afc89c59d12243f29910b2f284adc58f9c9bb5272370c7ebe247866fa89a95da914a49f1ea3815201a3a10c52930a16df58e6776335cad100a012462e86ca6a4520452718b4043bb65d322500e5f33c1da1220c1a5196e6a555278f26603476426c569c6be91d46aac5882848d0d4f0e2a2b443989ca613c8155a2aa740b61911cc746510e30b4a057d9e68be25bbb3564b9478f264e4040126d403a255bcd9055cd91eef9d8d662d8d656c50d6ddda6563e22950b79fc9a7b977c705f235ad40ccddc7b2f1c1323b32b5c3b605766ec1a4fc3a6534b3736cba65c50c0bc0cd22404ca5088342445d49e5cedd87a63fb8a227d1670e24db5492987aa4d9334b5de788f5057a8a40af7a9efd4afa0a3a593c80039544d45ac2019d99af129c0b5a01c7777f77befbdf768ca60d87408e4d2a17398cc622cd77ca1c9b97b76bf7eddfd06a93ddeee52d3c4daa66e9ba67969c87d4d2a19c44b9ebbbbd39935668c6d6a9ec93b79a7699ac3a0aa6dee5480e9912fa77d0142d956ef78e7ae65d321d0c8ce6d3a0cd2b1694e8d7392a5f1db211b81a6026886941214f515044cc4f1c714a332cad1834dea939402e6deb14ff5a951e2d9d7fd5f93fefeff2b8f42251236caaf0063c7f781ed460849d78c3d6eab7b54b695c1b0a930696cb76c2a4c325a254a9de0dc8c351d556175416929a9cf06548e4878f89450c528804d854d23042063ca29fb76f9a70548c229045a0e114f4e4e3fa7103adb1ae0cfdde9f81f140abad8f16404a17a4e70821afa9c30c3c90750ca488813641c37d874ea2a44b6399ff6d5f6de5bc30263512517de9dbb93978718635cf2e893e74ea883c8a9b30b65587419e77a2c5c3773ce99094e8da13d1e9808e5fe73ceb906118974f6b76995921afbf5bdffcbffff55fbaf3bc698b862638c31c618634cc44dcc27f613038a05c58ef2ffffffffffffcd2db8ee7845dcf0980f8ffdf018108f05b187b1ec3218638c3176778c31c618ff7b150f1c7c7126e6c869f79f025763284e8f5091920b0f6a35dc88d5c4ae5ff7d24ba0cfe72b71f45550b4f61737ad1cccffff000a2f279d2223664c66dec6d81fb4df26f54063120611998969c1986a1b4201a12109be55377117d3b7180e2c57e47fc763c2172bf9b8f95631c3ef9ee5e227952315b7ecf201842b58495b52a424c5d917578e6cbfa2b6fd5e777777bff7babbbbfbbdd7fd4e6593f2ec5fc1f71fc7feffffff072b63e8e318d93e1cf0ef5db1efbdf52d58c6d0bff7de7baf97c1e8b755711fae915ff9d518eae10af04fdf82c3f85e5ce516bc1eac00b3ee79febfeaca5b955ad4edc0e60774812440b80737600a12261b188e1dbbe3ad490943d86f3bf212e1618dc9080f6d65703f1ed88232422625fdb917d773eee73aebeeae732adbaf73feffffefd85bfc6cd7f677da79ee3ebc71dc4e2b077777f716bfed30eeeeeefeff7e7191adff2f8aee75c755a8c5d1cde4d167f03664f13bda0e03df5b8f7c3e5f88164c66066e3aa4d103dc17767417e7729eebbdbaabbb5160b90dd789f924210a38d401c542c20edf9b405d6723863882f7defb9f63c6062a07026cc79eb5b7db81fd1b01611f47195a8e0e5f941f093982c3242a2048d0e134255ca2ff06c9bdee6f0fb832eb489d7d9b5e9908ee7fbc61b7f3638bd281216665c7988bfdfa0ceed73ca2fd3cfae78eb7e99495905367abe32454068743754689d99020399344489412bcf72e912a63e86f2a46fdbec371994bbe1563dff1c87e358602837786ece8e6844838271b38e329a6b87defbdf75e638da1605f769af18efa885b6fbfafc6fc2f84fd3a5fa93bc58208c3ff036b0c0d1ecd2061aa31f75a00ae10b4838ced841514d991262bc2243d39eb8c3376412a7b5a9214169623a3c8b6c01222119ba201a6bb39a7ebbab05fffeef79f79036f9735cd99571c4b5d2ee31465b97b93d092d492e07070beffff62fb1f5f7cb1fbcd938e7c539ce99c2958c650fbbfff1fd31193d2548ab69c7902ccf4e9a049980fa92a5544589605131653978d0676c7a3544b45cf7f92253ee3ffffa7659b522131edd7fed7baf08cd452773c1447650c7df3e6999cbab69a6238695fc9a9c650a8973a8b35862a1975cfa56274750da7929ef20aa867e2c144b5c38c76d3a9b01b5e980c8beee664fcb35cddd5bdc000cb599d57d2c4aba8128ba56f1f86dbf51e3691cb73c77302e6dbf334729cff3080f6e7aacf1e8dde30bda0ce54307c16b0fed7ff1f03eb7b61b2a6d15993ba975b7ce08a9a98b074a0509af9e012d58be399f5ff7f8c621943f10698eff997408f204184b0aedc98cc3cd37e7d6aedd7bcb0fdd75f986918614d71d36899dce9a633f6218fd9d53b73dfec2ca4fe79d480ec0ba93286fe8d8892be7db33286eeb2c33974e2ee78c01a4383efe2e83ccb0e948689162e5ad4b8bc7df5d6be57efeebdbe1a43b737fd2a0b5f1943c973b7db742aead8f5e36cd39c1aab80800a34233562548838ec8a15909ab84109112555bdd925171752b749ad5dd26c924c2e934fe6bdb99793978f76bcaf208a087d10087852dcc0f1c4c6a3428519dbfb2fed7befbdf7de7bd9f6bdeeeeeec737fd34daeefafde582c82104a37b3aa04e8c1b464964419c8656696aab577b1aa68787ae7480ba503cd13182c7268191eddb1516b5afc973d974caa96ae7369d02dbd11d73535984569014ba27ddfb40c6009b62098f3b834db18443caf2ce11b45cd3912eab05db85136f5435472330c0d28ea490212cc9ca13def422e2b67ab4a1a10d8394661ca9c926ab89075b0aa09082d51ea81c7265592da0f66f9ad522ade528476b07daa63543aa472beb27c4d1a63937e59522f0716153bcc9aa4d14487d61932ac895715e9564747560a0a15d99dea658408efb37c5026286c3c5850cbbaf73775fb2ddfc9a72a9dade62f41528f66b8bf34b0f5bd180dbaff152be2c5a865106988c321966328e32dc66f8f0bdefe43a164a3586baa861028ba89c737eba38e742a71a43a1a48a463013846538afffe374948ef19d62f1ac0416fcff27ae0b98c451e580499cd0024beccbc617c6c24a51ed6cd7bc10dbb1bbbbbb3b59fe1541ffb9436b646c513096c07ac8f0dd786ad272affd18467c9fdaae9b002b7d30ccfb74a5c5b48a12c32eee479fcf47a2e7c2b53b1ed4a656466a505436fb7106c2337c4ffc946e25a5b6bfe93d572b1c4e4c2576c0711db111fd58228507d58f20d7b10d1a3ab76ff5a2c6b3f87fbb63bf15158beb367ab0580579edbf344c0072fa03bcc9b0e86e6e29df7bb3989c72a7904bce3b9e56317bce5657383b67fdbb9c7939e72bb79c73ce39db9c73cec69df3ffff9742b38cd95ab2ef78662d26169357edb872646777bca2d1a534812b6881cbcb4aa8266ca93bdeefd2384dd82afe5fb72a32e5fedf842cb7b2a761b44c017aa27e16bcec7ff8a1a5eae88785e88415a41b9a11f1c959f96ccc7cb29594cd5a0fae02ab017e31e8e70e7d46403e3c82c17304654215949087e8a6f5dbf14c28faa866b4f8912658957985b8f79a40fc9dbc2922f177322c37e7c4725867dddd75452ef6eb9c67c74c7265550923c618e311c12236b317458c9c48890a22e18ba560af554438d71dbfa8c2726915929359300a8a2f134f706f6f693ad2d08469c78b2fc6e6ffff9d82f133ab4814edc766d026d8860405b7e4292b470a1b552974c8e42cb49d173fc618eb1dfe9be2f8d4ae5d5cbca2b63fc67ed2f4e3044593a3261c51445c020534c078c2a284749959a8a91d458a716ad934d2f9cd72b8de6be3db5d22112431c245e3c8151c52ec0d29ab8c7946f693ff27d430e57ce5335eb081d2fdbccd912b9b341efd535fa208d27dc5ffe294361e1f138fca0afd36488625e7a6e8b08e2567ddd028472b070d4737b063ff9fff7f2567ee1c60d2fe30e8b55fbbe71c3b76c718febf44518da14a2e48285123e79c5d6274204a62261542ca46878de1d1afa761b44c4e2736e4ff41d3aae9d82fba87a8e253773c246019435fc4af27098a842429114220eebd29a29c8414c35368cc473abbce25b3fb1d72f9f693653e9fef67aa29e89dd2e3a6c3a2d7fe2e1fefdc9de78eb7d3a940c3ae1c610f26a3590f191f8cc11e377c7c38f51892e82aeb41a4c7c78f842e272a3219968b733a230064df00635ce4552456944487733897473e9fcf84128e1c8f12a584f66b8c8dfbe6bf438c31c61863296eb885c9a6274710c90716424f6a3c6a410b411f989c09bd8ef468aa91c536840dcaefc5803156314518b4b6741634832d8d8dd7866cbcf664e3ffc71863acb6b531f6eb7768851856676a427a743c39da196d4164d8958458cf19f8282ab1fb259271ce70ee789938a467bfbef7e2329fcf37a4e4c28ec804cd69d3cae142066dbe0bbf9b8b95d8309c15f955826bc1ffffffc4196afbf5bd8f2fbed702cec538abe0c9702f88f9c47e6240b1a0d891fefd995bf9fbfa5d23a19308c4ade859050d968b2d9c3b9e961ad682c35b3819e79cb3e9f5c359aa85ded0aa31d4ab841b62f76696ffffa8fdd787b338b1ac4cc5988f0ea6e76362fb75d9e154719621d7dbf1be8abe94be5c7cd5f88afa1a7e69e940694b22b6b1f0f1b27d312f3131b1246268626a62704570b28790d7de1cdfa52006eceeeebe55ac31d4085666762c61cbcd7737c0dcbc37b5bc7d23371cf81291ca7cd885fbdd354ccf4d0cf76bab77136c53a28da3bf97e9090d0ee8c3d8af6867e6ad8cfd6b42b9ebb15bae618da15a5e62257025d1222e1672c14b15706c4bd5c9e7f3893073cf35b829d12a09194ccb99a4f629310b6abfc6d86ddf9e35ec3548b8e466894dc09f516984851a0c777c318ceef17bfdde4c54f35d0085ab5dc059a753ccfd9447886cc18b99b0e44e10468cdd1dbb5f5c76f38e07240694e4e2cfdaef58e73811fdf5071f4e14be3a3d3a423835bc0788b1bb63779c61f835773c1f339fa38fdbf9e3cb39e79bf1d57fb4dfadf600e473cf381f00e0a5b6cfa306d7e3f762371edf79b1dfb6c7a47d0f3fc6c717df8b8f77c797777e790798f3f59e7beffd0199d2cb9104a88197d066f65fa696c18e07e766c5771ac909ca2096e41c02eee2967630fc62fcb85cf1edf85d782b12874e2a4c444658383272fc69713b1ab9c26256c6d0079ad0c5018fb40891638aca3b9e071ba7a20f2ee1cdedeb998c006f4d12af41f31a35de9128416eb4f9313ddc48017bac952324453e46242c7caa1c91d828219a20a8340b9eea32a7006c03003319000003201c49a2308bb254520314000f389a424a6a3a2a91082561288803198881200661180061000663188aa3ac258d068a75109063467f58429fb95aae90e8794c86bd58e12d591b3f804ec92278aa8d8a8e423a292d05bc768dc596e0e316dbb8f4482e2c00ce17aad0ae04166a7aaa915c3c2470d19addb026785263cae121087c1d7d6b8e7d5646b70f7bdf7a61e5e8d62535e489a774b197464c24c5458e2104e5a74b33506c434b0b96fcad233e74df3154379e30570e5e4f5b6a31398f58dc8cb24b903163946a415b46a7d3caa539bbac628c52b34c844c5ec04e37e01084b162340195d1898ce7088007f53451e710a291ba3e36dab919ccdececb1546ad000610b9734c927ec275f1911fcb6dd50831c673ecd3033ec30540a8d4cc5944a198af18a7a5007ef58629aad80612c3ed2e11f4213148228fb2b50126911fe7da1264bd3f6d6787bd3e8ae46ad912fd267e732f00d0fc58fa7858d52c9bb1f40a05d8163189ff1c15dc649445662f6d73b2e39823fa5e6843169965e4fd69674ce99b309a41a09760c60a8bdf935de4c5a5ce338ce24ac25385135a832ea31d49c752873379e58b49987cc4906e041b54cba958f93690911e1b9aa3360442e44a922564c9e13408814b7d845cff68e15036c58706aa2e314172971b1d980b0e9eb0f3c6cfc46b32ce0c88f6988075ce04cd3814cc66a64715ae95ecbedd6dad00b66a5eb24d6be2901c68265065b6a31ca4dc1c5a09a4a9857b521214832ce108e2efa62f851a31297fcd48566884cf78105a9a7c2c465ba95875493e8170de3b0cce95a475a308fd6d8cd136d9bbd4b2a5d0263a53b26fbef51197653f5e76256071f9472daceb1e8507b42135606e03e4ab1fdb3d3df5341320794691e5a19017fe5057c74cff01e6f335f8fe89828f498572e1130b164a7ab7ffa3655a4df365805903dbfcc2f755c7a2c098b2b2e7436661b725d451a6c30a8a392a95d38e90867500ba71ac2b6376e7734e9fa2a6cf6f31d74a5e60f056dde9eae158c227ac3b216436599b471f83178eda1fbebfb3f0fd72a4323c29bcea1e74fdc469eb3f4f4633c07decb8d9ff699976c13cfbd2b985f8faccef2a607e6c95788641bf93a5bfe80f1dba897cc5479877210f9bbd64fdbd551c4aa4503de4b544211e6d1c05caf8796b1bb0928aa30435c1bc911dcb8a6b7468a7835d1e1fabdacf7cfe05d61209ed6fc10529e796a8a2e5fcf25322f2fec2a9d1e47dc1055aee16ad11727e910a52ced5922f6b286a61cb9db910b3f389239c5120fee4c1e54b88195eea25eb8852ca4a1a9127655ef1fe9d8e3b7af1c47d448533200aa55365076cbcf8a0e7c5a51cf68ff14d9cf5c9022941cfd9f0d099611521c9bad75a8501d33a84588da62baa17b0ee99526bbc40ed75e09fb2399ba8883f32072f97f1d36490ec424914dbab31b6e4ee15e803fbc82b05995f654a8c2b4d02303a180ac73d861b64c6bb1bd9bddbedf3d41a6c9b89ccb051fa658b132e766b0519387fbcbb75a760f21bd355faf9827e65e887c3543315e7d0acf5f16548c996bc809e6cf944d17ce73ce80667999b0bf2958315af59277836038360c5f116685d4f76ceead5651df0060812d1cf802d99f1bba23af60a3bd9093ed705d89fc229605cecb399ce77fe0e5063964825d10524d36b5424df4612999ad67e442529c12a718e4b36a80d5fcf34f5f9a8a2104453eb57e841af012a9724943451aac1f7e79f879d1c55c85923c7c0ec68646b4db179eb838e0aca544d34b21e6afd0aee43df2a89394e74e8ca4d9ec466c79d00326049a45872cb0bd859ecdf256f8a2cd3b3a088f9404f047f81571198033b5725c5101aca7a23c8ae9a8a47c9b8f7cb888680f3b4a1853e7cd61614bda4b404af1187e7f026f885e3de8f5f335e8d23055b575c18a542e26144d6354f71a50b339638294d93519c8b68f83149506926957fb6c427386766eb73a2c05f89c4692cff58f8c242333357fa0f784aaa6aef8748378ef84b842d1c16c35d72e69b9af9eec9a4aa5b8a64f50ac370627078c30cd0b89d2e5930d8b0648287674689c5c81420300c95751fb53bd8e17369b5b2c45b6227be5934146a1113f48c64be0c590f8adeb66e52f6a6af79ee23d3d158cea00d26fae820f0a0a48cea944509dc4d9f0e66a4337da5b9813a514fc7ba5977eeacce8423777ee633f9a9b2a872069c4a935749889133e0630229b319057f09a4c175774a039b38192820530fc240fe4c17b2774086d3834fac0d69e7c47868b6a6575e5c2aa2103b1766d2e4a0c57a03fad6074fc33a18efe359d6587ca510ef184b10697a2a961aaea89c98f7f6c0e77e00e94bb25e54bbe97f3e8d722c00a6eb3aa7edcd5fcae6d45c827dc530bbd80cec5af005040fd96042eb4925a758e2102ca5c89123c062ed46af0d6314adac3d05b7d7724461770c2fa907edf1fc1b289b66b75dd4a6e8e64efddc4099b9c9e434f59e9983a557abf3d3cac5410bd7061323f93f9bf16242dcf14ebed300fad77835a32ba8933f350753a70c8b5d244f5d04111d456ed1d591a9e42cc19a02d8b8c27721370eb922ed71191ba8afc570fba1b25163681c7e0fa86cee19813170bc80552582b7d315980a43671d33d2f4b33cdad087250d68fd997057b0cb412b1ba62452c258fbaf81b00ea596781cc7f0dec0f62fde5661c2b8e88b8620cf674643124bd1610c35a6e8b2da9679ea9473f27fe3509d217d9e4a184b49ec15944c17950daedd4dfe86e68c453c4eac43533e142cd7c41bdae716eb97085f5ef8faaf466362b0822e4196e8390b504aa87617d98a47c1664e4dbcadcac6c914506a4f26173217029a3a4b710512a4587569fa953384810f94d47142a671639b305368f4f9923c63249e973d7603eae7860ae9c5d34619634f7a248ec303c5ec7af4eef43876dae36c1878f870c758ba24272cd4fb26a43a3447d9b382d0c3f17c555b32b030ec0db1bf3b297a8feef5649e49783b20e8f575047defcf563389c10093b5ff3791e7310c0ea9a9da7c1e73ca2e2e83d3e4612189e96fbb7d22ac125982be64c8b76cff279221acd8bba15df372454c3e06560e516d30f0c40a40af39e3bcc49c400503c0fb186010c17244ddd8bd1d75b816469405f9c2186664587e080c7f79d84840a8b626e84cf491b17f381b92806b0a3f34606c3bb90b790899a62d7c27205ffaf712589647d01e28915ceb72c98cf429a0d2f17d1e76af96ee227235a195d5878f9f7f53df1c0e2ab040444bdf8f73884eddaef09556de8bd585cf86c604d75cc710586cdd8968b819860c303aae9013cb3db3f2aac684fb565245e9ea46fb34a317a2e329fa1f7e5409ce351d72bda61ba44b1017b9622581b8a4164369199b962a50b8ffe1928c9c7e378918cb0f99608b24cd49d72ea86f24266ac9f1458ee563e483be8020614c6b2fa35e79c7bc59e291af536a57f3ea238c05592a2f9791049df590419524f9baed46c165108072b836ec0c2ae18cf56d1550aca55ddadb75e9c7f9b1c0c5767681204ac310b4c9b090ea75b8fc2b4b9a62e6e71e50b0fdbfe733ad5451f38b252e499ce5157bc902ddc2cdb642ead57a33a84e5e8e9a59115f3e7c2f668b4f98bd85cb7e5ec01b5db7e8f0685dc559aa6ac447cf955299bf7faf4906dee18ba12198bc583044ddf15cdbd1f58a48266c6370cba8cbe4e0335196da4498c1429de13d1c9e28189ff640eb3729ef5e967ae2ae40e33b17d63e811af1163620063543ad7deb0d6e6f2e75895d2e7194703d4b32df4879a3f7d054a523385de76b2cb7039bdb8d46a7a2134d44f7d1775d5dc71a4988c0c6e30f81269006cad77b43407b8c3f1140fec6d47a0182a23d5f88b760d835bd742d7456a5a27c5915a98557aab0e0267582ad8b4ffa8a23580ff93733e82c02897f42d250b0ec5a74e8dde89aa018ebcfbaff3cb2de84ad2429b506b7ecc5c39240ee98123bc809529dc67416470901dbbbfd11569e12b217eddf119734bd679eab89102cde60c9ce447702fb4e7719cbf0636fcc485132bf60695276262ddd36f8b48190e98c9da91c04337c11304baba52a416d9146998f304c2d898fda2cfea4db2782324685bc466ce1f6014604f2c4b41b9e085d67d97d094914b7954ab1bcde59e231c267a6f95dae976d5fef7ab24e02dd434e957760e76e8120de46f81b4b40d38699ed2e5ab5f1861555dd4a4688ead8ad4a3836fdc36f8e0629ccf70d077ae6064cdb8273aaa39a1e55c4e678177ad3c326e577f12f630c20e9d6c9aac553c6cca9d8f002d3c606e080d6dbde98a563dae3d8cbf1fd4a38375d6a51227e45e50b6dac624f24d3d5f31338a0913fb58fc5bf314691e8439cc59b81f958466c7e0c2157264d412ae62b8234204f1a13a52d40321d291f5ba8b502ca909e657ab18d3375ca2a352c02b9c908773cd3fde72f95adb603872bb68b58be9edf0155d7f33fa4f63afec7d45559e6f664ab9c9d8bc12dbb022f0e2a1854f65fb6051a64505a60cbcf2c77fbb0aab64be7d36e670a6256ac1b8965acaf7e80d2af0c98020e2540e2b7fc42bea5425bfaf5d358675c6950025018d0a02eb2bf53b28dec78922c793775c2cb1a63130d9f6442b882c52c71d7c43646463195d81b08098527fd553e6df36461655d6c025d085b8469148c157830ccdf03122f03e64124e826181b385ba06e74695f4e6d7edf69727ff5f3259e3ebe29f6f8f3fafd465e5f196ed1cd3b63c7c419e1fccc523c9bfc0533cbc23cbb58e938384ea5fdfb7a59baf19c4a407778fc7c5a2d83b652786b0fe134e532ad6e24a5d1fdd06fd05ddc701a45c30aee723e9a71f05e3244f48e36fcd3eea1685682a0b481b79467e7315262d3a16ea76b811bb6f4d05ec923619a558b6367f5f3f33b193149e8396e35ebc723626d177241e2fc06dc7208fd364552656246915eaed9298688960e05d5e5b650184e9ee552cefad3b96dc7d58dd79872fd28515a364f1ca9a0b9a84a015950d0e4166dfc206611ae2823e3fdfbe4e867a24cf4f8efa60166287f0e2d1641585dd9f6fb594dd00b7b80e64878965ba31ea63b2098f137cc8520619edb6f1b8af0d730967e8ca883393b0a9e2326fa88329b4016e2640561cb0045d4d5980a1a6bca221c93a7fd55ea210fe8c3555f4689ff9aa8a0057d8cad1845142074e554cc2f109124166ba749337b1f9d2471322f7258fde4c817aa9d2c612fe8dac414b8eefedb1648e9698866e53a8d65c11032cf9311f421a88f384b5bbf24f19650dc72c4481ef1902e76d2bc79becf78c4eab28212c5f9c23889e3ca4aaee013ab931647160dc6ec787eba179b47860837287c3628ab73fa412cd8b3fd4a368720e1dfdd24ab4b5f893cf466f482c1738e8dd36317b4bca6821646ce1a011470506e31e57f1827a3fab73e6a3c56be47b241c3f2f7783cd1c0e8e694184ae1fdddaf6ba34270cefcb66c311f5ac4e06657c4be0928d16f5e4065db120b0647ce00b5864157fe89375080b07912cef6223af7a86185b86373c0811bb8ab1ab9ba83b3d79561ba83e224caf42ee52a10b72f0350f219a813673af7e34efb5975282613818d70e0d709aeab8a363838ad01c1c5bf8152d6c1003f8f752df9311731bd2ab9ce978d73657c251706bbdee6450b0fec3b8f9843534efd2670f5f01f8e873f8eac2d419d1f8aaf0f8330992ebb8f260fc4383871975f9e76531ada6904086f45639228ebaf8ca4b4fa890b6b976614636757ce84d4f6ca8d291b4adc2e387d0da5bf8223fd81632fafded60b691aee64d67bee224490ac9f1e36f6fe47c888e36cdc481268c7ac4456a904086ccaf70a3f0055d8964ab2e0cc1ffa0385e0d714e383c248309724b37bb8f33e7d3f7f5896332a98da1c8a8f842803235b4d06119a787b5958e094f6a58e538aa122f33305217bad2b6d6644cb47a1f5e2cdd7662652d4773430c0498fe5e3ce580ecb0b2286ea955f89196b0cce042f67ba43d8febfd4db5932decc6cea8c8bca854333368da8a5ad9e02faf9c00537f387b5d5118c86304eec8da5f56f215576a990d548e8e2a72435969817feec2f995468d6ccfe27544a5985e51a1e32a5370e30307cd00401cabd27625179db65eee511f6cbd38763429f903f26d0d6828eb1718370608384249d23cd9856e4d88850a5c1e721828987fa16cf18ce6eccc66adb35b2d370027087a99d1ecffa5cdd7f5905bef7e4177c7fea44a5e605a170390b22f174dbf882b563c5d51f53c4a1c8420255c2eb57558cc776affac9613ef8c926b2106ee6484ec0d6dadee37aef0e66d490cb2241fb61a99b36e715ada6a76cbb45c68824f8fb6f1302df656ad847c8f8c074f65f5d7070094601c8d22ef7cbbc853ad5dc6f896bcf0accf12e93f33536b7cab5bd50dfd9921ea1e51d8e3a84542862af479899ed21a5179138fb2214cd714c4c61228a714468d0f443c6dad177541afdc42c4090a7ce514dbadb81a42901bef1d27e3d55a648681218669e4ba10b18a3a088dd7405f05a9ce128ce9ce9dea1cd097b7b17718866a2ab93ea32a7776e06b232ae2476225ba71f942909d62ec545fee650566cdb03de74328c78e57985bb1f5db8c65835ec74031f5849d64e62dc6dfbaa7a5ac6c682298c8698f91184ee0c675af59a924170e995ce153ef8fbc060fc4a0f818204e9064afb5a8fa364a280fc9965813def6a6c6722e597764542f55bea169573c4e6742275119b4561d765b0f6a3f213f0e3b2a797070d31d5c88147b952b317cdecf2dc0a2febae1923e2aa5c6781b3b097142998ef3854ab6e0c4771b71753f1805f4afe0e7de91ebc5b1104152d20600cb1b80b3303d67432e75206d8cc8e91092830329249675d17e337af87b6987311fd2c7823b881cc29277d919cf1aceb43209adbea759bcd5cf58482283a66280ed00b2d93ea5cf4dba716ff675ff4002db34b2cfa3663e9adbee57c7f15fd7a62ad796e7d4303c5892d24e8298005a67e28d2c2f9b480f00c5dd0024e10c3b9b265232fd7977a4abef0b8fe0f51f30273bfbbb0f63204eb84ab17c35165e1e7199bcab832a25898474a121a084194e49575080e24e5459b85a0f525b472261eef090b4828a1eca0736fcd6adb6cc89907d67a4a0308b95f908465dff0362f0627418a9d1310677951608ef20efed3dc439850b5c2553931fcf69bb3d5d7248b1a33f05de8ebbc2bb94aa81094d7cd54c1c2978b01b41485356d23f626b2f40debbb51d90b9e6adb19c89a81ab1b27b8609a802b57fa2d6d03304afb446ce70d3aadbec9d7f36eca794ad15e44bd47b21854f3c76d528564e440c6365e9588b3fb1214e11b15331e99951ed45eb1c87301c395d9a157a4f4774ef04c0eed4f0ee6d3786f8253becc0bef0716b5161545b1e9d77f43df1eda396b0eb149865a2696751548446f35fb665006f89143b08249beb929ddde07a465415118782ae881c2f5ae82a0cb50de6779503107999784e31ac02a9c6d7ed732b3b8992f14f6d13eb85c25a8acd2360e211dce46141f11d02b8cd0b143b4e90856988039d8732bd8100bfa9402efc33ce849e648411537faac0c824c31e5c46598278072628a234408d2a320461cf8d0ffa3b89ad4bbbcd479c4b7a1cb2418ba0b00e3c1fb8be27a618f4ada7813a4e7062139ba49117bcf44855b4a6250dcf8c0c50d89beafb004ba01d9a0a65e5d03205009f039cf3fd4b42f78c22974c01dcd638281eeaa55438a5b5882853272bccf094204e8e8ef85d230f83e85601ea58935e19b315e4a6d25cec04803711f4d980114a0570c02a046d3da628529a2a262770147b1ffd06a94f5ba830d5eb64947fe593968032855bcafdcc7940afb196dbdeee26503088e5cca2acc21dc5c89a69c0944c6771904bf776bd6386810d65cba92fcd7103733852fc267017fd9db34791205e3062226b2c977f911b3bc07bd5c096a9511d1844450039e6a5edd01e6070d97f6fcdf9038b8f96ac1f6c24f9cd0131c4f3b6ba0d631aed5edac53d014c5ad54ce6fcdcbceca916cf729a3ad704397d5893d8375464434293bc40f67757ff0d4a5c1b5b85c4298142e11ec2df9d9b6a3d82e401a3137ef3e5bb4a927fe3a3a1f4e088ad69deb404e4242ea919bcc86c5cada305da953e570082541887ee2845dcc8bd54ac3a21eebadd35a302359d7d2999d0c3831eb6bb55cddfb5729bc4ead06d9d9a2be783bd61582bf1de7f4a8c36c192431f3e8457a84eb2ab21160c0f40121c12f29b37afd0792efde56980302784c0910c8ac2139675b9d9e450e1fd23575929844550a0fc1a0fe03910029608fde54e99549c19ef70f9a05880e2846589b25c0fbc96b8f12b12e8536c6165f0289d5d2d8a056d3daa4a95c8b30e9c5adb06a3da257112822713c5291c75447d94d9a5460f496028b23618b8dc93fce021f92f40aaa54a771bbbdd0048d5aebd6f39f6915bbc5725a331ef8843111841c8a7b1227d010c0cd0657d99c1ac0cf4950cfe2d73bba162f0317f3c53e4d8a4325bf35fe0560aa155b3023cedfd4cb44ca9a17672b43c36017112bbf5841b070e8861ca9e48014a6b1f192128885d8157f96ceedd1adc75a6d2ed125b9f0b6f7416418bb54af93d0d8c88be870045c88e988c9fbe027c030b6e1bcd85d9a621c81adf4f99bb512cfb6fda0e0c2d94cd337539c875957056f61e89c415313b476bb89328470968c847adbe6c276752f8921ea309b9f671aae399a638e6222c2682723fb400a1e35f82a1d1f91a3144c5bac3b21ca4f8f963cb52e3f962c9c019295b643cee3a41f708f40f45b80fcf26b904a752a82f9d280056cfa7bf93df94ce9258d97ef7f97bb44879965ec5dbb673b0baf88e20b541b23764422c7cbbd4b8a9032c4b4678964a146c1154f274f9b22bfe2d143b4245b89f80b232d34d220d2e18e50c443474a670362db4b2b9ac05738ad29cdd5e72a43b3524e538c8ffdd68d290976d1710e3dd8da60bbe6201f4dbe86a6249244fbd123c5ff138cd4c699ed7ef5a9f770f0daf8062245553b2b2edca7a30d4529b1e1c87174beb9390cc3b379c0d5fec524f021af183feb44f857ed3792b30bb937116894245f97a9a94071bb5b9b6c64ed8ff8987e5c29ee4fb55fc6ba8fd8f0b2a65fa9f7cbfeb33c12d9410961ed7aca216fd896bf9034621628570a5c4adfee9be34a64d2cd4f8d98e7fa8050aba9aa002381ac55ec64d0ccbf2746bbed46e5d61e72fc744cb0330ed65fe6348c280ac6030d8c00208c3f56d85986f9c25fd26211d2147c1a78da5d55330cb1094a12428706bd81a3b53676ab7bb5da2d49b1bb2f7392bff78691472dc60d5af7ae5da53185dadabeced3e658ff2997cb7d1d7a4af74cada60ac367f2efc15682adefda740bb4abe2dd350c433b64160d3e7204a51d7e60804552b0d5b76d268ac568163384f9fb9d72afc17c4ec8f67e2ebfa41f7ee329db8ec91283bd8cdf596963d3e477d6f5f43be6e49d893aec48696fecc2215b20d51c9c9cf1f815c9f443e8e9316fec5c633b6f2d6b293fab926f4bd298528058b132ae610c729852bb970738244df32c1b90dc5608911af2dd1ad0450e2078e48744611edd42d9a198a8c3aca3efd0618370fb332eeedf6fe7bc8f2050f8995ca8462abd906580232b2c213903111f0326e8646b67d1df9bf8c8967037e9e87e00f987139af97fb372c3a7a485220a2afc2c738fcff09ab459965b96eb475af0036496d1bbd784a86620201c2caa4c76a91e1f826440d6be7324615c650c90dcd91c715c46cee4b51ac66ae44dd4d5c70554e99efd4353c05c782e504afe5615fb7d62467be797b95d7569c160b3be7f76e79d2d99cf2ba8a5572b647357de4428a520735941006644bb157810a0fbb78989f90e127cad35f999f3b238d162125be78155e56bf60b7416966dd99f57a85ef22bdf15dc47ae00b695ff59f341a396fad5b42456cdd915b75dc994360666bd863564b2daf8529e1ef36a8f52cdcb19fb9c5584ed7fdf70905debe438f520847365c8e5ae8265b18a052dd8ed8b9e53eb8797c7addd62538e22e1f316148cd59fc3d7727056116d260c8a2de6db46a2710b0d8d1d5b547e3a48f7e2e951bd66663a4d48595cb17ece8f5d1f837f41b4b282243f21846cbe5d6f83b70cf36a6218e5d5c2e343876ecaf5fdc66aed5aa1fc161aa90577bb5d408befec9ee7271979f1dea5a19e8811dc1bdb1bfbcbc84b04d41d144b34e318f304ef5fd137da308ac545b9f2ff2483cf860d6db910707a1c458122d2dec99b2fc2477a6371fe174eb187ff43c620d78d8db562e797cafaa5730533b67c3ab3a563ec27b9c733c293242cf3bcbdd28b6b5093adbb12b067472b4466c520d57d4ae9d1481f34c4794f656b832c9aefea49d4e6d5a42cc4d338fd3c4b40f8654385d050ad9ce31043acd04ae9b4e5c9530cf2f65b3f3c503a40981426b4a9b7c6b460b965f26126b1a99a629e27b89d3f6778dbe6135487fa19ad9d268452f856d35c68ba9aedb8e18bb999dc2fb5f74481e446b8d31f7d91df2f290c335a5124a8065530003e15979e483a0cdaec5fdac7967b3095770d3a4971d6eda3a502a3b13b3d47df34fdd56bd4e5b218695f7ee2acc559aad380b133220e4087bd60f61784fa1ad7ca6d8e3d6ecf112450992520e38de9c9adcf352a6893ae7b0c980ca69ca61ec2902db49222235fbaa7c756865115adf0dee27e008f6126a1fc8c498c00ef2e82cda64f5214ab3611b0741ede9027adf5dae4ffec2ebc1e6349ab9fd6624bdfc2cde018e5e4dd18abe93dd219c4caba0513f50dabb6a25c05dad2c1084411b3392d4917edfa0aeea58513a24d06a8956321f3b201bbae29ab92464e547ec3dfef490d6d6c65f7404054d9a727808aba04cb2cfd84e42b27a40c1363fca8191804e7ba2817a5993ad63aeed14aaa60f3800cd10340cfe1a7105c59ab268393ff9f77cc182544731695c277e4e39bedcf589459c15ea5a336689ade00e1e0fcf435ad08ddd1f29a40f0b34a9cd6a473fbce91b434724db65e19ab6ce8b83fa12d422ea5173ca5f88768a83d880aaf66dcdce54a15e8e41433af0fd6de358e33ab9081fb2f42ab99e3e4cde188cb54c6cca45febd33f7630127cc6859109bca845b7413fb5ed30f214a34ab2da1789a758e0bfc1e39bcfbe45e1cd15a38916e3520e88fb242d6109ced4e2d168b1681f7cb3e67451166e40712bbe6091bd5b068471ccc5beb339f6f26b34ea43dcea668d28913d805e8478910f116b5d4eaa3d12995feb4591e4e86b903d575d4ec3f5ea72cf429a38e987f28252c83dcd3042fdb8bd3d4d01aadbc87d92f7ce4740f966024283c6433b1c70eb249b5ae1abcabf258da49b6f0c80797fd5f72e06fe2354b12263604684fca2645a2e0a8f6458f3ac1007b49082505f5db8b4c5579e4ee2db160daa87de3f57ab65300373ee847467ba0900b65cab9e7c6f7912da4659dd6b6bb5db581301dfcc8dc63b47120341dad80d96de610115a4cb020fbb1a701c2f812b2227c152135ac946eb911758ae0deb739c52a961b7432f7208180c0ba6e9ec5f31aa2eff82b3e26aad164ba4a9f888cdf2e4ba49d3031d9feac57d6cb80bfc84bc37a38b394cd0646d6efa706bdac81723d7690d182676ac046cce608ec313bff48a4f87184919005518580c6db36481138985099244a9ec73ccc745ca78e6838bc4ca9c3f16169931bc7beccfff57b4fc0e6b7b2bb96d509ca7a3b8fa24635ddd947e052e894ad4650d9d2b3b70e6dbfc67f801d41271c14b42955863e6836bd40715672892f3f9899971371bc4e85621acbc0ae1509bb48ad6a62f2cdefb031d63c5e06403a592b2ce481b6a729b6da35e184adbb8cdbedbdb4de0f4c342980ab1233eb92ecd2767aeda10dd00a9b254dfe0e27f4ef8665ab3110942890388bb0a73e0a04bfb88d532d6ce8de3df2621e8fceb5201057493156dbda8335c35846d213bcd00f6b2e734cba35ef784008691765d31736d3fe59ea2fe8f3df4743e76457e449035658d38230a271e325e0109e62965d993723815ce409c2abfa5d4968581d21d500c241879973765bd639539da21f90eba03160d4eee540896419ecb5ac2fa53e4f266d46bd632c6205c1a226d09dd7bca3c8641c194c5fd2f2e9d94aa924e5952b020e818ac3f894a822c6b4ae6882e7360159404be202955cafc7e4f37d2caa5cfb27818e678c7b139d4acc711b2bafbd829d4dbb4703248ce663cb85c24bf21b417a4133812c3bf3e31438bdbc5356b2662b3497c6b60b5a275ce8526a816352234645e4b247c1d3081d43121cca0228ab8c4d8e209e554037b22eaf39b2509fd6eaf5a8a2140316c4bee5ebdf3909ed919e47f7c906d5172a19035df671d3b9c2d7b527e9f4c0378d89b4fd314ccb314c41fec99a12f9b5f97dd24d552a03753362c08c431f6828906806b6c942045a3c2758b304cf87a386e6ea2b5b0a33b19f38a4afae69036aea5f9f330d158b502304fee0aec5e261d3d4485c39573649200cc7185d91423b2872a98a3d35c38d197c4386a1135c99f0cbdc4460aec00171768b1c5ae6ad48686d224fa782a68496abf847559654019f601b210e7f711f5794a43f3257eb2ced6220d94456cf8714441893ed6f49af1f54946fbe45a4ed5cc16794cb609fa3067440f47c849ec54c9ee023769266e1f84fba087166274264767d0207e99bcfa326fef1985c410f3a390ecb4fd4a7b4a09dce388a0440d8f69000dc28c72157c9d99622747f48784f278541627bccf4145477b4422ac2c3c64516e3865c6d2c4202e9cc70ff8140c774b1c16560a3e0a0a23ad9abe537466c8e8a9b03528089bbab227d58ef6e076d776c2bf2c40ce4432bff0d8a02b448b5235ba77c438721e8da30ef0a29772547fa11f5e6f8023f31e56e87eca1be986c7ca7203283568544905507eb4186e0d26a76127358888959df8e6abe76f33bfad5c592975efde21cd238898b8fe0d8fe2956f99bfec660b20f2e2bffff3726935fa33dbb1b4ed59db6cc8e360533e4aaf5d219ae3a65c61c82bfc9496d1dfb19f8afc1093fd7d5e41f0b62c29e626662a893fb30026f83a4452790d80ad691bc02f513a3d2a84473d85d06f0659a3923ebf53efd308926c58331ea830bc0e771291fddca967a89bc5d12e4e209150d94a44948fdb778ba599eb17a682218536ec2f22ff4544d8f991094494304217d91c54aa00a1eaebdbfa2909d9f4283ceead90523708959d45010c480fe463af9a79d20c4f060dff607012a1540b8b1d449a0d5d1a541ae0534fb65850031f710249041ff56968f0f21e38b40c976cbffaead7509c37f26d60486a13685d30fd622c5f50ea164c9015892a2bf2ebb2e2c3e5283edaa937564b4bcc689a26323b1a139fffa020b952c5f9038bfe8939e451b4155b7a18942c03ba4711eff9863a805952fc4266012fd9446cffdb8bee7421220742c860eca379449bd832738494e086c0f5acc36e97dfae92026d4b0ad3f0a677509d64a9914351f1f9f52b49f21ba168815cfbf3a5c254e2422cd2ab59f695d0595b2b94a508367261a053de9429c26928f37cb3f1c8d0fd40138446e835e95722b06a48b789c6f0cd4c080141dbf7b044b11a33a6e58f8188eb066513e3a560e1d58f3df0e434716990b51db862b5a5dbc8f0f8d62a0ba00553afc8c243c532127843dd748835394978746a71f0e1da6a4df6c1719b1434d8a3a9c1a0e81d347b0c27a6b06dddfe8af530de28b9857199793d215331cb4bf7f356cd5c82734af777979020077ad02d379c28b6dc8117096b6971a25ae380f70d69a0436f68f9d5f4a738d5f35787f0101bf429013bdcf17b5e6e7fbde7a6eb718044dc4993f83cfbd77b4e19769ebec1d6795c2d15e4882e27fdf8b6f0a0ce688d45b8dbe0ebbda464810e38088864e03ede72c14a26a554781dbee2fbeac7b312c9d57c8afcac056ff842cb7fa74b771e693f4e8a0324697c1e8506843aa01e8f4670e7e0389e9c696887a2c4aa223a2b2b3f8d5614dc8715cd06fe16233b355cb87473c8b2c3b7885edab7fbe7e4c6b5f03d4215248118dd26d4ef7b3987f0dc2694180304b986c94210543d6fa02ac10150c5c489b2bdeaf2f20c4abba1d3a04d95855037ca4917f53b53099606a364bc1f6897eaeb09a35cf1c1524ca127a260b168400fa388c8eca96740ed89a1360e07207156c72a78d46905c28b8e5b7ed2a2fa2a9be25b83730070fe0a63b3644df57fd171537aee0125b8792ba2aadecf7b531b58be89df222fe175b06bf95b9572a08ccf06eabb405d1501668c5cc2d97482aacd3e033d02373419bbfaf65b45e9c8a4fe3ce35d861237cae400197fd343fb444a4f0126738cb0fb16542def985d091b06014e479025739ba2e3be8af1d9f718997026b03b2cb162769ade304220131374bd656e8518f63e8bacbbd148cb3078f67a26839b46aedbaacd0da22886e66ee854c81c9ce9b0d1044e11106fcebdf3a75865003e5a08b98c59a77855fc44a0588ed64ffde1529a9ca81fc9e1e73dcc80247026d70214af6a574c77ffa11969b027ac922dd0137985cbd75de92ad3739a6a33d74950f3a067e7936c65de8d16a11f16a608a80fc7504664bf4f88a20a66c2feb6dfe97e8bee0762c60c3359ddc3b130b62b5f386ce22f28d5b583d9da5352b1753e15fe2ee691ea6427af2507914c20b4b0038b1b0fe7ee9256de2f0019e82de4973d0a1665cc2e28e9ca0835bbfd0bc76b52646715d70807ae91fc9d123f2a3ce0b983f255f65c178a60084ceacab8ab36c65956902e5b2ee964b14c2c234671a528844785c917302ac5f6607d10db8bf8c4df5d79b6dd453598e98d0879587a9e0f6a0cb317d0faee48953f555bece6ff503864c472bd5512049c238bade3aaa47477d8b0833a5388b1e4be523f352a6a9e97c0ba864f018012a80cf0c0f52cb66763a48699d1b45988e211ebc8227df40f66ac9dcfb22daaf7757b8d2e4f91ec37d987192eb6b25abd3e35d9315b73050ba50d7d4ffe2b8e3aff9b405ca89f0a31c3ee526a49d77812edc73798f2ed552c25bd1d34ad10c8ed941f2acc326a18863347771d3ab3608d5559a9cc02907675f9b3188d8bee7ad2aa3f8dc836158bba11d167c67c9179d0369e599d0d4151764ae6ffa0ae96343a14186b378c954a2e3691c22c356723651ee76ada696f3f7c4f9c551c96c8b86c189779b3a9dada050f1276bf387ccd847609439f33cee9c516f604038b15f151cf65e4db7c0a94c0b858cf0d4cae31120bff569764958374662895110235421785c417c6b127d1174f2d279eec8c51188106968fc3a1093911545a6a560539e4cc5c998213f5b9406498b8a6198574ffb9000a4ba9c866a48175d6e85d3684e7c020a77d4be4cf5129900fda24fb914316809dde8e5ec06a6fc7a7ea2a548367e115810acb2578d165eb566f1807c23fb8ab298a50dd755333e96941c50ed70c77664bbb67cc9ace88523052125eeee7fe0fff9d60883f4e3b61822291f5c9ddbbdc7b41ef7f0f1755f1971f61aef4164ce0c958dfe99b909af6500b6bc0193168d6a147c16e8c4281ea52e8ec5d6fcb4c28b9e77212ebf66048bfc3caec1f0a76521bc1b3cf5b5f1d72a077aa2878fc84b2668df48e9273149d0530b778953ea462bd59fa6ea511463f4eaec1521d40e4b02531919693b5c10e04683a7f1f4e523d1afe87864ad5290894b798f244a58a1f0d1fa5ab3f9d336128e7d016705ab25d0a6e2c4087cd35bfc0ecb74513e905ac732d4b94b7c59b181d2fff390459943fa83434d710e5eab8671b4dccbd31727b9e8d6e2ced452bcffe18565e96a58388f4c86d3280a09fe20eecd9b1fcb9e06606b0d3eafb06c98668b6c09d349b5d759968de606fb455f48875d66f6dca5f919c0e19030970e610d20df7146ed0c8a00b376fc4e2e9b74b5087846f32a7d206869c2ddc13a1070b21de81d536ad17951ec5b6c0c8ad7bda71d56b06e0824b633e816044a2433a45d5a86bf373ba4de53285d40bfde4e006ae00a7e8e253049b11cbf318a21bba72329f775d6bae2e53a89e9343e78c02fb743d50f7c30ed1190aa671f0bdae4d025270083add6c4a10586687cdcdb0f44e2ca956247df9b786915373ffc61c53a1f10ac480b8d3884c4d1a82d1d942c86554f94f119cff72028b916b18b1e0adc669f20cdb1b96bf11057b46a5e0461a8ade7a81ebca604e321140350c1706662217d20ae8bf9b51b065190bee18444f6a8c842b4c7c6009764268b225055ddc62f44af637d295a7a72b87ae08d60cf3d36cb71c1f5e4cccba373412eb23bd5c7946e4bc089d07ccfb379eaa29bcc50376a01f44a13a6d8ec7298a3ccd74f1e0ceb5e4283637a14e0954005cfdf67db2fc0d74083a1bd66b6c4f8d753bca1b22e280c2060caf68def9c94a03481ea810aa2ec830ad7f1e45b89188123089296feabe8c7a6ae97e60049210c2a4c8228492283c7ade74fd2930db2313f8ede4c3ab993ff25e98112cc2cf4ed06563ae5bddd04dc7f7bd2d4d70cf0eb41319cc73293c11f74ab30e0915a9f1a423530f244f291f1ec4b51d6401a2d12de7f145ee6dc0088970fd0cbaa46be7912b9b818feba9957e7aac39909750b810822e821dbf00cc45a4fd042725b0517071a352ced9121203106a8c3322c25cdf0772706c9befe86c3d35737646e4f9d7ff71deffe3dc36cf93154e1173728c0e9166895110515d0c2b0b46cf70dbf8e4b4928b6285e7522cd8e5ae9fa7c5759c4d69147e8b70387be75a04d1ec2f3d1e58ddcd5c04a001ffc90e922edffed4e53880e6c3e3a599285243e0d8bc8c32a4bbc7acb0d866aea28b8ffc1d46f2038e7162d6b94a77adf052b68ca5fa8363cb60881e682434586439dc08366c1870e77b983d4e1c68282329ebd857ddb605487be9730fb600696d342ec7d3fd435beb66edfa7b007d31bb714fc24397f3023a3f360a7e6e6f89f25881ef443c580f1ca34d2eecbab481573d14cc8bd7b7cf6e406db5892d7cd08bc6100dc0ad5057b6512c60de49a05ad651f4b06822cf37498aecb9c6e2cc15731f287361de1558ec4bf08942099606da5162a47fec4f4ef6385a5c006c2904f2f49734c97622a985d9910fa32a54d2695f69aaab8c272eebae2fa9d0a9a1e47b14c1e50b196c6a7eafe15c8c3993c481c569e09891ab994411d4cee05cb019fc0b0eb58cc7fa4da8e0a15516232c927a3bf00a0546482a6287c4884e43abf6638a52f03e70b7a6ab7db62962937fe55f1685961db219a614115f8be69c30e300a1a59b3750df1164344de320de78e200735d723e37bf37bf7dfbd8db3382f1fbeea3037d9ea83222a77c770225160a4f226cb7a0bc6db1ac34e5bd45b55b34f845bab7374d48fbde7cdee2b75f7ef7140583dcbfeea56d58a922ed8e8a63eef3df64bb13865a16f3d27650cf7258dd5edaf2ff5e6b7ce31dc774e9f5bd97c0add9c23f8511f987afca70c5519906697331cb95a9fe6880225318b2cc9ac1f656c2bf769039af97866ec65fdd7c269c2a2bae991096722e05059735eb64fb11b2287edd23082ca8014a46a9435b70c82056070e48f9ff40b2ff2110edf3e0c7277171d7cd689e902eca086ff7022bdccbdc3821fd3b3396c9430fe8498e49c93a0187c584c6c584c60baf7f6057596d4813adc40709d12390f813faa0ed6f33e5ffb74c29a9bb5d771104f60365043511383e8b786d72c44fbd608716d2d44b23c0458a2cd66b3176df0773e59be2de1f3233f38f7bef339516cb7cefe547a272f2fdf907fc003eef02ed7634c15274775fd5dd1da865fd32e7ccee9350b5bea70169917d77409aac3e28737c8092a9c047143b96b72f3333b3eddad6be7dfb8f82307c917cf864ee4ed57cddd0fb109ca8629a9fee405931dc545ed8c19a3e9917750ac921e6e5a30dd13ea007b1e5513ce1f2001e3f16469baf36b2fb6bb06346aa9675dbba6cbfbf739a53a7d5aa705eeeeecded02243dacdcdd7f2059ffe6d1e2eeeed748c594214b62b2de4d4beebd36b6c920980009c7305c67f37543af0bb1de6c74ea60eb840a427eeeee4280acc39c39b58c795608b20205138b1afc9575c3b4c0ec606a622bff93bbbbbbbb8beebab4d7c5775d7ecd1998c02c7bf011b14ad636d31bea54699f2a2fba87216198eb16864e557abacbebfd9719f640cae8602a32cb1e1eb5dbc198e773df115b7e6d8cb005c88b69b6fcec78c816a196f7b4b9f7b86b0c5ac762bb274fc76b793ede6fbdf7deeeeeeef6becdc2c7abcaf4862e994da7edde7b61eeee3c20eb97c533c62fdffdfe6f7b0bdb36f5c22cbbbbbbf9f99b9f86fbc6b4af1bfaeddddd0d43bc3514d8cd98f17321a7e9478546629bb7e334cdcb60c33633970825b0c14833a9fc358d6cdb663d6c2ff184d87e7f9f90224516ebb5897d9b7a7dcd1516b32244b0842ec7062f867ae49bb1f1ffa39bceb42c43bc11c668e608d239aaf0367f242017d82f91f628ecfc5c9055a3f3b054e1d95fc260c443aa9b012ecd04ff85fc92a0cee6def07d3eefee56bd01072a9a1703dd973218e1d06b4964902e36be9e518aecfeca63feff5812119165dbcaf4f77f9320ce6f0267017f250d8f6cb7afbbbbbbdd9999bdbbbbbbdbdb049089a7493e4e966dffec23d8e8c7320b1896dddd9fb978fb9224a150b26cf3a737b309269669b6163a59661bca094eaf3123cfec324933ff6f92f157726c8f3e3ffe7a46d286568bc008e8387eafa3a208ad3402a3ef421119415119e410c1912e0216c71d36ef1d2932fe352614836d9beab21554e90db55259c1d5b2abc189ad778af56e1b05944611645de8aa1985561bfab5f09b8212580a27f27b68a6e469b58b0c0259b73133f83c04e2a45f48134afe764e7d4393efee8b24b164dbc6ddfcddddddfdfffd4346b21c951c950f4d24ecee568982cd43c958770389d21b7a4c42454951a900ad8ab694f5010a52764c60befb363355e5f87477e4d1a5e4a5a25474f7f67bef93bda94a92f3de7befe5702f8f137e950b946d0c89e480445a9aa82075ca059ad6fb2a1b2dff7b52bb125bcf1923d3f5b65e626dcb5a04a489b9c49c975761e1e4f1e250a655889a2c689856f3092a45a55246c548bcf1a26234e48144f409f1a9147f13f0548e743332302a45cd242e188c96749b03369c0a2b94e7fe7ea9cec462c7ccccdcedee146cdf4a6eef9ebe2911d81868b1ddccdcddddddccdccd8c33fafe9999f903cbc1ee666666e6ee666632fe86b8992c00b6bb0bfddcdddd1b67c18f013a1ccd1e1a9f70badfeebd039f1a9c0fceff94d1a92b446f07468726a62027dbeffe6b40ab099f397e6c4e7a7e398cb320a289ea41cdb68456eb41e678e122035ae6a06113abe09923c86ead00f8baa19e638b778374416dbb7b123fae61b9dd44507a43898ec9c699806a949dc69d20a698619cb0a82403531d0808c68d4aab95f0615c89a059950fd7e3d461043702e9a3c191900ab1c30d8530b406001635fe40b9040bbed798920693cbdddfdf545ce90d6dd9d5e0047d548004c5d626e27ba4140286f451c3fa4502416aa1efaa9b984a109fbbbb2383fc5877ae9ae9ee6e65cacc6adb29eb9d41c2805255aa5e4a6e00f19183c2445292ca84ac6a3dc548c202db5577b1cb6b9103f77befe5214a6fe8316981076afd939a7beff525ebcd4f255fb40508e6ef670c073cb84c6f28b3e9b4107cea5a0b3bbedfe0bef3d7db8d4f2211f84954d701a6375438245ad02976db00d1d0c3f1810108444f5d6a3e9b8d5a32262d3c48b1eedc9092e859d1a2c7d8dded3eee8e649da779629422e35e632d4c4c40bbcc139eaf58ffda374883564f105f37f43a59f9b0dedcf7a5ba0966b3a7162a20f2f4f0e51b27df289c8de2c9e1450f53ea884e0dde0b251fff778b1fa50341a537344a8acaca0210578abbbb13ebf7febd3377776f11a463dd41568dccca3af710bee186671287a18d1e91cac288d6e9ea484d51c3861fe4889e85124ce28d05124c171e2cf838615175b0f0f3b320340a75b0b90990dbab8a1e963ba684c38765dbdafcfddd178e4eea50a7d3894841abfd585469c8f2e72402f6a322c9554f9b2caa54d5bccccc7cf444c13233b316cb2a8f79ca44c7a5c3918f99e289ae240a6858fe676666e6ef6f767777e73f52d182a6b444b2fefcfd2757106afc8a13e6ffef7aae57a8c4ac9d5613323333f77b98f525818091263333337777773fdf30335f1d5956ba7262b9bb99dbfbbbbb7c6c7777771fb9ad03808e007503d9e6e7ef77773f2264fd414f91276b3e39f56245804f511ad627f12988cce51a3e75bd0e025d6d8b3554b61ab4884a0f36459cca214d96714ba87c31b3b594ea653995447c5acc289b37b8b9ab91c97f77770ca95864dfb6b6ffffffefeefeffffffffcf2d3cc7ce8b44e068242597ae9fdbca9f91925adcfd9f999ff9b94abef6ff4833a8805339ecf3ff3f900dfbcfccffffffcfccffffffcfccdf3ba41ee699999919a9c591655b3711f6efeefeffcfeeeeeefc1af865aba138234549cd7462290aad8674e3b9fc7ff622fee0cfff459262feffff7b113f0c090325f3f73fcf024435832397884c2d9e28360ab694550209dfc2f1f1eaeede13ec99f96cb82496469a172ea17eced326b7a8745af5123e1e07961e6770034b09648ede081fd351088b103824c3c2434c7221792c247c305e5846148d5c1b4cb890ba826039103f55a73643a80746cf90103daa8b2408a0ed3e1fd9865d0ea174ef80c18eaad3218be6f57cb94969b510c2d70df5101a4880c11cd06766c14d4e87b8001645a220c69f29b2d8f3cabf93fe31333377373333737733b777b753940bdbddddddcd6263d9dc4e359e26378ad9ed7cea9b2715262ea8100a923455c195ac3bd960a6ac271d703cb00477afc14c6f6893596a386b4a2ababbbb67d4a4383325a51b084f4525a68607349488fc6a2e9031360dc0f82181400668388b1d1628d298a139357fc8386831446a3578e1dccd9cc820e678983de9887a2631744d35252e80469f0c7cb21745a286588b65136f5dfe9696c0ab7c2e3d6bfe45bbfbb953f184d64d3f3583388c81b2e883cd5497c154cea82c4a208e170b14d289094b44ca32c379c343c222a36d3212d1dd2c30985a096051242d2d9b53d0a0a2aa0158d47884397b914835af31a74fc21f807566de6ad9dac5f8bf7d2818e0494c6f681179579e4a9b5359001dd099a376537da5c8cfdddd59c4019415ac27870110e0025348d16d002b478a42a604304406020ab90cc02115a004c0853944060126ccfc86180100042f4022390ed87a4322431000a03a4c0be39b11816ae0017777223f1e38b0c285b46a419140ab19b1f2891061a7b35292002107d3742b1d0fb47457ba07b595aee1d50d840626205ea190c0405bbc7aa22df0bbd2f1000d893501cd81ea34452c9b9306b49a4f1a34e3b99dac6811b19e20cc6694583d1060926b59666d6850e223eeb2840d64aa5f688722c468359e320b466de5b559401eb8b45af119e3c0f79a4fa1048f111e1bf8a441630a96cf2a06602b5bce96998ae15773f272d575cc9d0729ad46e36b66212127c344d2a2c1babbbb7b6e377cb9bb776dc66b022186bd9c069d025814e9c8ce332c267b4af09440abaf0b57c4feffff1feb98ded024549414154b8065c5cf273c4db29d2daf40860b185c284105fdd4279e289e965b69bdccbcb415c532d37854ac445fc3b171e3e864c327a5b6d8d9c1b20933cf0796377c68a1290a8980b9a13a55b17e8518c4be9f56eb1aa637945894a00b79db83eebdf785379e5df598e1332bf937adb68128bda1c7245494146e03d565e2f971210f6e66d239ca547c8ecafdfd7d02a3d5983afcb3100803afce5ca85cac5cb8da9676d7d6f4bff8c5543364ddf64f3253627d47c6f3080ad8f61448014507a58bd249e9a874563a2edbab01e8775f27b1a91e6ca637d4e9c1e74c576b6db81d1f0a8cc3500542684a08b9e8cca8c99d1fd34e4eb371444f656a0962bd770d4891228bfdca8376ff9ff85cbbbbbbbbbbbba3567ed581fffcfcffac8cb951126704f57f3f879965ddddad826d358363f345923db7ea47c9f48642e18ea2eefdfb9755c4987145e43b09d6ff9a609d6142c5d77fbbbbbb3ffb37ab38288f9a49d5a802366cb49ad61389ab0b022e6bd9ccc1015c11642f452a8bc85819e0e19e3733b352e92e84c74f45e60ec605e4e15c0833c8e0b68a4f2e92365d8ceb9a5dd5cc9070b5af1b7a414c0fa7141e27a0b1f91afc5e63443a4c2ecbfedb5d7a436b70823e412b2d11f3bdfe6e241a326b26710c44e90d3dae6048beb1e8c2dadd2fcbf486329b2b2fce107cf97e77777733f3fb7bc98e1459ec9d5786c1e2fed8c77e874c6fa87265b75c49fcff97f07c21faf6ede696e5db976f134cb36485d7c67cbc0f4d2fcf9435b6e4030333ec4a31b302c3c4fab98cc205d6cdcdcd0424c8767fe84445c18193ded0a00f0e47d073bb37a9eeeeeede0cb2eeb0203fff3f3fdd5a06c9f48642e13288fa7677777f9f51c224aaeb18ea20ea28ea40ea50ea583233337377333373773333337737737b7feb78747737930d22b6bbbbbb3bd6dd5d95c4768ad73ac46eff9ac6faf6edb5488c645529f0335939ef6c9d7027b8bbbbb78a7b8f4218991022e3841467275e6241da1531abd39704735bde037b3e44a7f475d1088f9d44266c08d0a732a976af20c216478409ea3983b36af2704194420d84336e77e3568ff566d45175c6298d1459af3127162efc2f66e6a3637a439350cf7214f5fc32f769921a0d8d88dddffcdd9c5de3f1b21893339e4ece8c2599b6c9e883826a762a5aced8dd59287b5b3e483831b52c86ea8baaee6e774f596527903434782d0f1a9615c3269fa3ef77c352a4a4e1c04284443122876508012c8a3441f1f2baf47befc5914c6f2854941495550e07572e47cbda320fdddd462b670d86aabe245a1e97c925d4326a29d5dc36402398de509f20a2638e46d206f71588d9fb0d9ff48606111d93509ebb11e5ecaee1bfbbfbdbdddd85acdfbfaa20a5d562f8a43734882817e3f837b9838befd5518d9bc455afa14c6fe8b2733598df7c35a3bbbb933b7cd8ee0747e69faae05d14998a004c91c57e65727757e1eeeeee3921edbfbbbbfb7ff3071db4bbbb13f12112c44b935319feffddfd3be9f4d1ee90a0dc10220aba1b0543edbc013373ced9ba3341009346473a006f748640e4822c677868fa8a564cdf8766d3840ef22947c54c1efdc0c9f520ba80c80101f2e478e88c3cbea4b1f9c199414415718487dc8fdf1144ce471149874daeea796351e3568ecd6b304264344812e1b01e43f692445c7e6139cd5e8e459bfcd1902b1afa306ae5d8568f39922e88cc63eb94706a38457c0868b09822eb3ea336a3a5b02852578f99edaa1ffab15e44e8eedf90e5475c7b4693b522c3901390549109346a49c68999153d8ef064b8b1a146062a06c39da066acaa08eeeeee1e6ad21b8a13f461f11044a341792cb9c85ac220a6b99dfd25c2c39c8248d66dcc5e358275fe1b6cf02aad5693de509c60f7ed140e5e39cfefaca50837beffffffff7f2906483e14bbddddc705acbf1bb38ab8bb3b8ece65d01f4e3b4e4c550195fea844ab367ac7240c02c31a04144080711c0872d24a690014000c218e6c98c878684c2a15c5614040240083c1801888610008012814612010029ab22b038140d1827810c1132727f2cf13d95df932bff45e6de9677313f0a60b344b2c94c47611006afe8594fdc0a2eafd713902861b8230b2d30cb5b01662e092a18d00a843d51a4e94da5b200ae018a7aa1274e4749b441605bfa1cd2338f82a0e71ef6fb9a76b9f14bd4913da6c08357ca8e13c70d9723e82c9485bc577b388a3beb20c5f96274b4b334651d23d5f434937cc90bf99c8a97548c54ffe7296dcac0e110f53b59b11d266aaaae3a990c00ebfd7b66b21ea84c84b58b4427d475ac6c2794b579de8d97b12911044340ff0b0ce9ca5771e79f05df606be9be5df8b4ce431266311a9c3b0b8ccc2d082c11bafdf0801d4eafa9510a5427759fed43f9f807a11e5968a370224fc1bc940e677740b7bf4e7316d607dd212d2e7ffff20df78e626ddba1e5cc81721e4286394b9fa83abc07b4568e6643ea9a6ff3cf7bc6b7f472fd44868b3728a24c64418f0193d72fcd4c9bdf4cffec4c814055300864373e406ab1ccbc4fbf2cad2844c9394c29ed091b7c748ef4c2547d340bad3426239998b39916a37c5e8bd099a77501f8a02af8ce2ba9c74c552c3b09cb8d60917422c9955edd4394f21ee938a65ca965223fd41a10fed72d65b838f21f77af8f9254286e88922092e2d2cc4224ba03b845de0f4520a54beb21e07ea175b0765577a91ef9953adba3dae43c8f5a7f7414f82eaec922370fe1005a80f3460b52937055ac31b14dbfdf9ea9ed436ea2c892901f61845b1f2882c314b65270ed135714f390807398d379c0e5364da7a451e2678a1b2dd7c22329ce603f88449e2742179ec5e5f0e7646fe5292fd688ab92eb7667e21e79ed7c578d4cfd6591c114d419b39114c682266f08099d55168d87398f4bf571dc2ef2224ea5fd10a4a447e05f0e10e7c2f6f7c0dd10971092fe508482b94f87e303de829b4bde5de6fca81e7b8f12abe43c5d475ea2a493bdff53cd6fda678292287a22fa300d4065a6a2d35d8e05c46fe387e25fe4d54600d77f90c364c8ccae33acc8619df57d21aa022f535aa344fb3040e9fcde101eb242f8e8649a5e23c3505b80ace636b7d3e19bb9f2adaaf9d680fa4de9f48612388287154d91f7a266ceb0300a24c159f06fcc09f0c829697230ac317ba6866c409934c6fbd531dc18a81e9000586be44d2b4eb25ddb4966a3250613e88046d27a4445410b3ab6d6d0962e815bd4958cf26c367f280c6b909dcc5aa320809fb224010521389c1ecbbcd5be6d67303d392800a6e4b1eae5429b45165be0d88ce300f7a1858b19ed564a9dbdff4428e6ee721aa33f7ca43ede02c1c03b3e4567028526c0d5ede59da079bfbb98a5cce1d1cee1a111d502b75818084fc56a2818aaace70605abec8ef5a1625d39cfd7fe1f8b8ccbb32320ecbd54016f824a351e66acc1fbe6a1985de730c74542a339d5c3714bbf91109528f997d4765606e1ada9aedf9dcff697db556d665ceaebcd6eb6ecd5ef0efcde21f622cd7a78ceb2c115bd2a195289112878beca7d7cfb5ae9607f05d9531911e49dbe8147b2bbba51000bf2a9679ec03916e6a890cdd572943314347a1dbabae23b34ca00c5a9e87c59b42ee46bfb6365e1ebaca904c1a12148e531b0528710589e6079a944dbdf5b24d35d0c03f354f77035aa70c9623fc1353cb256374dad80a80739ef3530595e4581574c6b73f88e1972a1b7b800be2d817223fdfbe78948999419a871563cdb726488d834f09cfb81f5e46bba4dc3e151393e1eb994f1d67055838b5e5bf74eeae7157fe9b21f08d5adac86906bb9d72c0b4b805a29f7b5247aa1324aa1e3d8bf0738465ca5258b4027f564696c2db6a4fc092a71c25124741483e18a5cc0fb5fee17d5b2b4ea224cd699bcff303dcc4b6954b15f130bdd0bae2d65ec573d73976d72bbb290c07ea5620239dace1ad2cd739915d81858d56c06765cb52788d3550b7daa1c7fc70f99c754b0592253ca2174d7b88e3825f4e244ba761b1e51231be23256f419113fa657184fd27178964e101cc9b4003f57dbf7bd036fcaf878c80d9298cc8716f5512e4a3bcd931506ebc312ed7e2e01c8ca0d7581b1f9cc519b1911206b4ea9112d54d8a2b8520fde37ccf703cea1b7be9c7bbea6b097ac20e59ffb83886b39f18d39158ef2efb8909ba359acf4af1c7474efaa83efa85c05c075c067e51d3b14120f46d8902f4bb76116988ca5f5c5140a0bacda1dfc1c73982b0f3625080a0664d55e1250f48602570d473dd048e15ae38a4745b959bd6214874018b3b760bed391d593f8a0b0dc5a6dcdc344e33453e0bb60903eebfcab5ba8be25836accdcf2d9104bc5b55b9100893997e31d25190980296edf2c219e0f33933bb5ba7a3b12dec652436f7b68475f3e2c15655bb0500747d46f25a0638461aeadd1b7d76aaa3d74c824020cd27fce7082771168673aed1285508bb4f38f02e2aed533fbf2d0032fee6192a24ef2bc44672e4aaed391b6a06a3cfd3ba0814bae79b75ddac1ec3d3da58a065bc672a1a3eb4b192c212f82d1ed8051f138a8e5d4a146b3365113e1f4783c7ead24cd63a239885914457cbe1e54d8b67b28b876161acd26d4689c747027ae6105fdcdb25bf8bc3e1ef209ac9aee30e4ebe282e0e8259d85c65cbd8c042d430cbeb9e21a031878d9e393a7264e599e998c76768adc49c4d8b837ed14c834d369df9b9d633df32ce0eba662428ec0babab4541c4823a65ecfccf3180ae32b199a1ddcc2c55a7c9c23dc7daaa1a68a959e2e374cf7d87e1200ec4750a2ddb05ab8163bbeb3dc7488e36b6944b5fab001a2883f373348a0e645ab8c490571da12c307a2865e27d41c8c70eeffdb1276ab8dc042b1bcbb4754561607f9e874968d82a8f765b3f8ba1f28ca7d07c062f412cebe8e1add32567c963ec721a84f8209bbdccad8504d0476052346839df2d728beb4cfc97c4b0070d90d26ac6de5f6f34edc651a2c4a57445e25486d347a674312aa4996c45b0bbad417baae4482a0679d21ed94b02996e5b227abe1e58da6645cb6e8419f188f6cd03b4c1528f4a2beeb96daae4255648c3cab2e91e151b1531df918a6599b460b9d1490a55ee65072b57de7906081b4fc5b64981a72f59541be764090729b430e0cda2c2b80e54c9b89c46cf710c8919ec2b393c442762c2c149640193c63e8787ecd2e024a15048262e6b4a1b19bfb458c8441bbb9fbd07a21cdc8a4ee839179fc107309da6a98bd96480d2c46e87de5c309f59314281a4a5ec7aa1485d50138b7f91e237dddef8b0aea4bcd8e792c891d789f634f892b305e374f164f8c09b277be62fa927cd4ff450b22c5733d124e8c8ee1f830a5de9790d50df450431e9df724a147638435ca550d081977011a2472ef03fb956c585e6850ee3e4c4ac8435f9f366bdda5bb9367b7202c0151558c2ad4ee68ad7f910bb0c3997401e44646e114e5c34c1e19b29e1f55ef87e66a858c7db4df48c21327fbdc2f2e96168c86e38ec8ce20c760d8b6cd1e2267336d6a599d971b2235340e985c540f18c81830710a486b1822de4b5fda571fa62a9ce4d32ffd7ec8f88c37cf683994b2ba01ce43e7b3a507ca03f937d180eb31f22f323cf47c71a1b4a69452d79ca24ae9d572325766d517be4fb17889b121b7987977fec882814617f39806517eee101ec963206d0c38bc18762c0631e957f3ea618b70a42304f7563bc55c53e2127d27ca5a5dbffeba4cb0995b8e6b611d797a97e221464c02b6f430214af6c2be5d0db31c24e15d4704a766656e5c8fe01b3e83e5cc1835f05207093973e33614804c1fa5eeb3dbfd61bc2855da696f6140ace7dc17d443a3f2b6faedbbce694058ffbd92bd57681a549f12c400cb5fc8fca766bb5d332ceb8aac365a88f9c55722c3a628e75175759acf4b87c71188ff754badc1484513e55873912ada4b01ca620ab7d8c9785b0397af6deb1b407df4b18d2b6298bef8bef2eafad9c2d63eaf54a28ae7241888bd5eb30d4305c5e7b3195d3cf0673593855025802b05775884c2f38ad243485c99ef87e8cc9135e720d67728146eb1fceea9a1fe77daab83be026273ac7cfe3e81e7f360377ece62d708cff1c70cf90900a29a66886c1253dc75ccd780afdab1b94a1bee596a8782e78d844d13e41eac3f8f8e53b5345fb5f1bed49a52b3921e89f24fd6139b7513e66c779cac7741ca91fe3f319fd613d8ecacff828ffe5bb8a013b7a969ce885df3ba84f339368da2a1af4cc086f9e50826b80cd2fd74c09af60502c2db3cf1d78d48f7e36d5f249247eacd111087069710409ab7c593c9cc9c04c4f2fe8e1257ad6be0dafaa31a56dda1309f92b402789659c20f75bd128c95d88ddf396e32657860270d5b48e9ea967e7077604755507dc37b38862ddefdceee7473d115ff9c72d19e4db5f352092e77eae16f1334264f5dfabce00a1150be42fb2240d7457f46babf6e12cce84dbfdcbc8d0b190d14659ff8b59da5696c2ab02b1816e9e51a63fb3f00fa7ebcac27a2b0851806698656e9b5ca12ca3b8d0099bf0ea912c0c25540f81500b5d38a922369a41bc00a017a80050731e0e8199801556ec8d0e2648890760a0fa4a515ca63149d6c69489f0f6d254aeacd4e3a6bb448fc41978efe1052f1776454c6f06c23390de15beca901baea70323df2eb7b9524fb144c595bd11a66c96dfa36635b8c3ab91e5ad00f738758567e033f07b4fc2372c0908e51e29652b58ee855f63af8321d215910bcc03776a87d043bf13c0cdd5f95a6b19f7736c149d63425cb944c7706812e5ca3b1d9d87502197dd9583970872d0b8be9cf02b219240d9c2d6af750a7d2c6e84553bb4acb8d88e16235298f5580c3b267dd05d2e81596f01eb7bb509cf8024b213d9fb300e3859dd7eb7ae48891851e9d28e888957b3a4dd321303ef10549c264465574f8230952958c8500bdd1a8ade1215b4ca51be63e8331461fa868ed19e9d78a3026f880478202e7940345cac1b14a687a8205b2b76ada54e7ac2732e9ca888212c1ac392c6924ddf2f62bc5e5cfb669259779d91beebc24a6263e362197607cf25c7a6e72b55aae85d7e92f0ca7a21092a95a391b4be316de99445d4a7d5a18302c70bdb4840681cbf628a4e4eff9c6a15f785ba95e6ad425df337eec505e03571f8a554fd8306d40615d5a354c85e833043c122e118744549685499166e1a84c84a5cc4227d4658d6e28c15aa1e94526a01196781991cd82fed85d4bc78bdcc46d4f2e4e9741d362858aac42232bde75c097200033575bea39de11c0b3101a7eb6e6693f50e5ab4abd0f7e88dbc8d74a0a247811d59091be3781ac432725ebf2d4b7174a31732d634758621ac16f01963b0dbbfa14f9dad989f122372891f6833e70c14d4d3460c947c950ed03933aa48d0c88ae638fe5e432fcfa6256c9db9ad22e493cc11cf8d6358ea5a6d6c819975b7a75508f0d36f4c39eda93d9cfda44f147b28cf9c1f4486d2d384adab166017775c51a321ee2309b211142971aaa16a217863e0032c854a0f0fb2b89ca4b91a04291c79e926d2f29fb2881fb4f256cee1bbd5a10b62de98916352006f705479af70f098088dc6ab7cd88e5e6cff3306af94150d8b24836f9a4d4ee73259fc555968caf31983fbf001dd99508f5527fbe2661df808e8fbe7634f04ee381dfe66cb5b826bd05d7aa82423d2e4f87f7ae96602558f67630c955cdc04f17ce5b029c754c35689ac4da6270855ce855680cc48a31ac7b39790b1acdc22760a041673ddab048310a2b3e67e10795bd995a41c1988657c18b5dd34c2709186bcbee66e49e0131071478e6939b5c7a8108f43fbc10fe28332ed2ced560da93a2345a5b2199c8b94df407cd1a66ba62481bc8e753eae92dd3094317397f3d01e578d634e7d9bcf7aaff68e2dbee3438e9bcf6fd80f7bb3adf81e0fe6acba6d413950d2dfeb8007bc5f3df8195fd2ff5aa05a04557c0aa969430391189d226396536918976561058abd0f4bfc1705c5c5a66f87e75b5f5661dc0d8c2fb429c5f741b1104c56fa86950bf302590136c8ed47ae94af683d7ac88e44ae68ec7498f743a2898fb8b5d91b5abc6e77d20087b1373266a39186c17ff7222e87ee942f5c1022411373bcbde09318a9e5592f6d26f157cea6564cc7e346db00288370baa006c2fd7b95688c62a0100cc20b28ba2f9d055b5a7cc163df8a3bc0288e353488026af8f064d40635bc2b43e4ae1c3e0c6aa24ff0dd03d721d31f530eb1b44aac672adf26677819aa2af2a60a6445f8c37bf5d0b8d75d197bc8c37222a87680427e9b7736509ba047b2e3965dbd0766424b81dc694dbfb838d3666ba170382986429a41b28d0267895be2cb64e5802c4f80092e18ec3cb2027c5a626622c4ea37b938408b8918178656219745ae164197885044286622c1dc5b8f840ef51c67e9a70b622a974fcad0331475cca0a796e767f84b25ed69c87a314bac7592b6d6d3580e850dab0967063ab8b80371c29542ecf08cf31207a5ed65ca677ad6966628bb3fd5ab56543ce07b7c6b0f56c7e0b104a735af2eaec9416ebd678733d1a7fceb819cf044826a2d27cc6257fd2035d734cc3de2d17053483d27ed0fc2f20d874a93967a6e42473d9451b264f4804f9ced3cf9822cba9f76d621bb28ea3407d1230c65acb45e75ec65c10b06fe2c686fb4b07f4d8f397534ec2a39203c3b3dc3b34fde6c0e4197b794ab0b2b92f38454ba92977db3cbc8e051e9475d09a665ede240b823dd064a5c86226c0d0672d6832d155857e03dea8cbbd989277a98575ce616af76dca5db9b1599f9612ee3f1c568173fb927fbafd1d1ad80fa5accae37cdfc555d9ef57d758cb6277e900bc94ebf46a93e87a44533fec5e1279ad62b9978fdb9c79d9f884d4ab68ae1b9136f89ab9a23694822f079d1d9f5f552907cb3b43fa94cca394c76a6a835b3ca5b8e9227676056c6e9f05a882d1fcee94877358a32f886566f3bd2338af1982f7dae97293381355eef334d432642cb33d209e6b7a6a9a84e1d66bf1593b10c55717592649eb68bdbe7027c6ae122e4dbe1f42d32fd0fbbef09e7a34e0ca06eb2268b75a3924f6fda444646904fc9cb2c5264047d5a4e651ef70d458730dfe320fcd80a542112cb9bb19f72fd7815922a5f705e3788fbbf0170a5fc421d2de6a42c5a04339048061806d21c7ef1e8d9e0c15079b45855408558ff81172e72606165248f8a574df0248913e3fd6904c85c2b647d672a6c97d33e05e6741ec1fe361dbe89b19fc40f07f3433d1126335a0f37b98cb8c8bddc9c68b4910438843597666abaa24b7b8f70798600a0517169e87770c871d264a024cbcb14a9df49ff333f630c936146253aaaab36be1e487159d52c20150730a5c4889fea97d5d584df7f816c6121804a173ea9e15d5dc7ab04f88c0c96fb6a08dc7c8e134f4e8ca279460627f5327debd45a76cfa81e551e154faf4a8310be4ae41cd96f8c24d28707fdd64061574889075788223b53cc57072d371cf7b2740c059c75a4402c820544520168f94a12af049b104c2f172e27f9457d5a6e43df4995b1706ae8c25c88f3d4b28a8bab92749656d4b444985e60e3d60408bebad383c70133b5304d4e06103f2291df132e4d9b2fc7e7d39dcb6be386825c8837ec880931a8fead3c468bee9467e0c14950eb9ec708a65c775b2758d2211af33382391943804e098397c7a68f28f0a0dd7484eb7b51c59fc811eeabfcd188a885eaf4d7d67deb13ecf13524d6db2a583fa8aac857d62a484d7f58493b2b63dec3027f5d2cbb249c143fdabee192f617210c2b7c2a92b969b83f64069dd08aa174ea15763063d5b481cc0d3f31d7e334bc02bde559cd0f1bf47e52763e67b333bd62c024492137f4bf95da3a0a624514e862ebd70dd99d07d6c88ff7e46011f3d3e52cee2ecbced2b7a0a0e27531625253e73d5402fa0ee0009a5a62ff08d47f4953553c3fa4a884800e82bebada2826677f39836095ba444646904fc9cb2c628e52aedad2a9ec7fa6a7c47730eb7223189a03e025573a3dbfabd2be69e79ad049ddb06313a765f9bbfcbf00baa540372753f3dc5fcfb256dd5098011edcf1ccb2cf4c1565075eb4b4f5cca73e331c76aed033a61c1ecfb052df199ae054023473812d66157ac694c363ce3029f48c219ee1ee6826b38d4741d18c819b871ab4d24eafcd75a6880bcd49c609f886ec3755c1fa8ca98b51b0f41837a69eacd3576b2092d1715cbd9bdb39a358c6498ee3781816d2fbfddf6f44c8698c22c8bf55d4420d3f59d0c8a5b52ab9c9b159b0b24c8e478f005af7e96b877e815b54616e3a39372136d5b40302edd6a195792e219278f104f262959424b38db6499b5b051b21888edc30aaf724b773bc58210cfdafedaa9d1c8e4e5bcc9081210574c62c8ddf1e5d20d556359dae70c472658a89fbbf5ab83216f6f10c338dffc355734a69f35ba1dea96bb4a5df451f65dc60f9d4ed97f0adb8bb4e0053d75ed78354f54e939cecec3e64655df808a1ce2eb2b38717091786aa70b06c43f81e3c80f59a1acd07223bccb960e4c7606a82d4460d63396965acfbc7b7c6742e59c482535aec0809b407f2eedf08fd43f58cae491b4b248af50324ae4ad491fb424ec4bc823cf294a10714bace7197644d6b1232cc844c6b24e19226600a4a1a0e469b185412da30d2f05530f6ffc4d861b0045c2a7cf946504a12927b993189e0ad2a3475297212d87458676c3d161f0177dbd3a5f30a1b2b095fc1fcd3b33a369566ca46239cae3da212ff04fd0d05bbc828fc171a4a3d5bd98b1fb09372620374b94745ec3090619f8ef7778a474fb03a74deaf28503b216aa3b35336e7f159fd9d51aaa1f4cd94dbf93109fd86463398ad16752fcae34ab5b7242e6fca0f8e8e05c2591bff02116d9a7b12dcb92b4b236f127c82a401cf14ac88ba65a65c4ce759c21ef44c5a6c824047f03c4418874281f3cb3d42a06640787941886c81b988352e15c9cf20d541138a87e8001b3c8e85e43012a31f0c171846d876164bc75beff9b3d3c9ba53b77f428762150c07cc0a452211e8e29f600afd83332229a75379cf04c8d8f01928f4757c27cb3a4554ea54e446930ef884283a1d45adf039a5b7513a55ad3503cb75e79cbed1d0996d59b060bee71bf156f479b2b1f60ea99cdcbc6ae5cd7059384a9cd1cf489b31bab312647e05c55b06eb982e36e348160c46ec61aad9ac0b80f1a8c193dd279555cb6628a6fd0a389695c7aaf657707392c7b67830a1fd0dc90369a2f52d8b917c5597c39caac71a5e0a010e423e6ab2627f17ae726e744ddfb8c6d72f01a7a625bfd2138373cb11af4bc586f334d67b43d923f80ad2bb66d83074d6aae44cd4c3f557d7d943862c8666feb459665480a5e0f286d5112bab291c11c14e8916ad48569ccb6c8af6d13c689c947a5835fac104014e82ceb476244b341e4544917432b42354e0073c0903a65cbf97da417cd30b9dc07297c774ff0e51ffd9167aa88e00b7358cb6c2586438c1c8c7542b84d7c2afca9ff025fea752dd0204f4dad433bc971a4ee9dff409f9308b051fe6d93f0d203d053f34053258d9eb295e38540fdfbbf4375110ea0a1109a091014be73ffb8d646797ea8d7b2c38bd451147edfcf64907c5c8d52583de7cf0ae3093a87970d36fa0b22e137299beaec512f37e4613660a5abb215a2e07ab1d30d6cc333c21462762dcacb1d43561bb7699b9c22707418c430c927ce2d1ea5d871d716ad57403df2c244740bdc0e5fd98742049df4bc42f8ece8eca7ccee77d9a13f20c02672dc97958933740bfd08c600505580b9d0346000aac906f5a380db4cf553ba2ea2a722449c00064421f303a11dd96b88660c0d36eeaa75aba02fa89730bcd2aef8f00de5062772633c94eb5a80c0a6a6df8c4d135f8890277f0cd8c9c81a766be04ae39b47b8f8b77628560d99870650989b0ba9a1132e33cab9e2dc7c546604eacd066256bb35b06327ef14438ba0ba054f6dee3f799726fe10828c74b6d35bd181542c8881ff45319c79c07a18d92b3099c2b3b9737adbad9882b92fa19cd8c3d6ed94ff4ac162b6bc9faac83a7f55daf2823859bcad60126b0ef7c156eed0545ad62edc21384faff7180c242c650c2a219036041c63684f272106408af7551d607290ff1ed2c0c8392fdb3187a4bc9286997d280599e448af335063de7f3154c9730bec82b40e3cbf91fc55ee89341b60589bb04db67e45828c7a768cfeb33f746b3c814e8df9482625a52ae0f8f7d82a91ac7dd88ce3f341afe6a50bd08cdd42b1e98f8b87b9fb6089a66a884b44a35181cadb1b1c7689ba91a69fca23e9e3a65d97cf464043ac734a7fa62c5b05b3877b9442981c6fdb24ba9788d60b45ef8b6782096d2f8cfca917343b808d10a164a6ba75af35b0991b00887074e236f9449dfdbed3b6e1b8b37dbcacad8eb4b969ed4e43ef2ff07441ae6b6af3544a6457bb97c6483f79039621481fb109abdb1d08b183e4c695ef3c46acd750c6379fc47e04d2ae5a21f1ff2da6491c0c97de50aa0692bbcce9f45f6e7a0d2f55d59ef7bcdcef91961009a80ad0efba78baf087c160454edec6e78f87fc17aa382de89945f77aa8db92db6e2c19da6f965594e7bbd54ab41334ad9d00da1f1c4af1224e0cfb7a948dc984aba136884554e8c4f2b0cefdff3f25e14b76a9ef4b51c09590e73a3bb46fc1ca1324198967e05fee3a9fd0a8ac105d10f65a19861e4e05e2b9e267b6f3c412328ec5b39292a800ba5a38dd837a802f94a087c9e29d2a735187b4116897e7590d92cf0db8f13a81e4741735c35cbd8eea2c42315c703d82d88ec8ec9c67e6f13b4c8374ed6340574e6612f93e4713e0acba5002d768426c4c9f0f9090a3fe62f8b7ee91f14e1b281b05bc1c043d1af068fcc998ec7a43e0d6b8b9e83adaab010e249e7ab3aafc7c9406805ff08e34f2b81f5b8562288a39091679eabd885d5a022c4776d7e92c6f48e9fe6343f14825a6c91aa78a4d0f4d3d56ffce6f82a9105ea309c46251641c2850d343f4cfedac42e57c58cbff6c7ccbfaef80c057dda055e6b9e25fac2a48cd27a31518e44bd635d4b54383c4962c4247e108bbe121f96841fe1d416685fb0dd74d83f836ff03f807f1e1020a24ed92fc006e90e6794305fa511714c8752fa4bc72824c0315bc5712684eed7627bc017d6e11e49293cce10738555d79b612dd740a6dc283dae54214a8b9e320b7a2a15ed57750c939fc13932c5a5ef7841b97c5bf2cb3679f3909c3b8635a38d3a1cb6265d2df5cbe3f13ba27afd4688ef6c31cbb1d1a409762969e07bbffb6953e3a1a9f8789f70648cc86e29276d69a66bf99d56a838f116a4f494057dc01887d3c32f015b0219a3e9f378e3a59d513b55775e708edb0139135cb47a5d611f44c8f1e4c2cac7462f02e150886012b2cee82b45e0b863b000f483a27e9993cbc87785c0e010b570b2ee66619f26e191c8f089abb7fbef9116756a262b29c108eb326f55b0e03049942071341f35799913932c87c8c0625567e0e053e80862e52d666a72aea7404ad4efc5cad01459f068a0a1f2faee07979689d9205703a63eb1c0c4336eae59a30b09049eb0f1e4cedc9250c54216b30cd5781195ad5447ccdfa8e68d084808fed868bf69f2891e6b1943e8e7140a356c1ccaa28ebe26381ef7e46402c9305d73035aeed618d03aa39b8ec71dff91130ef2b3ce6e6174e9c45070aa11700b40b6b673db6c50aa19b8bd4420fbc7da551e56fee85d63ffef97182e14cdac3ff4bf4cc258ce7c003460b21aae1203c2645ad9ec42c1ac622a662b55ef464ca9a690fe148f450abbcd83766b39007c08f02c158dbf6b9abb455ac169e829f55efc9fe0dd5c227c99d80227322c613764784172f48a9d398486924166029fa88f9d3efbcc949c7b73a54e6bd454f2f8de8ae2fe70dd47ec58ece5b241576bdd5fbf6adc7fa11d9e8180a552a58bb7e358bf125a9da2d793b182e22b7b8fe0ea12dd74f9ce3f415ea47a0e855cd723921338c1f7a8526c54c47e47aa3c337c92d389021197d0f19cc07749c19c42b0b42b88be5a20baa23e38222705206398a959628030064522a5d0405014b5f7aa420b510f4f0eede0ffa6482c2cad2e3df81d0738503c4f7591da3c4753c050be034c2b0a5afab9e4ae0097c8e0c22af9cd0c84f2db82f0e5a2f01399cd93f27f2cbbf48ea9fe9990e56eb2043aa92efac05eba11e9d5557998981ca5188fb3f3d1cbeb4e107d6f5c2030975183a89894e5ea3bd20316ab33bbf887abb560f254eb08e084a6fbf93eb594960a1e2af27a3da167306ad15197b6a772fce49090e8d6a8e263e6966dd422a332223a42896df95c4110dd0e4838bc933fbe9678870679141f480644c91d58e4bf203fd6f1bc567df01778126d1626f56a243c1a11be232b6be1a211f15d59552e05036f6e9d6acc9dd630eb20886f96d022a4680fcfe34e2b4d1eea1d25b492ceebaa15320996e2e8c431ca7ccffe08df43300831b592073823a07218c3c5f4879fa03047dc861725bb6c2145767e9f1c77b11dd0d0e9043c84c46a3f1385b1ea22085b79d20bf14bd41b5361ce0cb6a209212f83835687589718de199b140d64d3d7460d9d23a3b63333a4b27f631d5859ed366b47a188af2555569523f58a7f8ed34b625f841680aba28e752535f768de82bff33c5d49286158c55ae8d8b2bc2b02745e2d1ec25be0e52c353f581df903665234c3803f267fc19b9f995ad429a919ff4034d3e413597e59cd7c1936531ffc59a2192697de39e6eac653b81e59db6ef48d63ed1d356348319c3b9ac96cf248503463c6d9bfbd7b211fb1fae733a3c4e05bacc8c7a091304127b3b1e83e5788e7b4b90d2501b88f5beabf7d623e9a4db00b94b0012a3ced435950ce9c4e07fdefdf8d00981eabcfa577cdaa8281736e473ed03b783fcf7ed4dd450600041c82c95deb047efa881f77d7017e370c46cce59f8f9371ea5e3cb4faec2bc395d6acc6c306b774a30dc0662290b8a54c2949b9bbedfd0337044a04632b662b6c7dfb76f7fbf7a3b0f12c30c81c298b52b8f01f100a63dc1d821d7b777763c7dedddd8d31eec68fb1d97badf132474ab1b25f4d1205635c85d4ef8fbb516aec707d9913e648a9c4f4932902ffbd964ee2a6b6489c84f07bb0635611374a95886393e647736f4b0dfcffff7ea5aa638c311e267fc3b71f8c490bc62846e01181aaed09ec87eb57c6189931c618e31a44653a6a3d2758789546dc4e284cf7ff71a8cc91520bff70c27c28f8707353a306988f50a9e6b4436601ada62936999006e2f3bf02832a9d23e5d3646fec725e7262bc0f2f3f93132a8639eecd0906885c11dbcac940cace667e274c73c03ca7d41274b60c174735137477b1ce41ca78e993ec1ca3214e18dac4185b251bc557ee0b83afd23247cab00c548ddd16a9d1c08a19970a9c1f366eaa9795dcd49178efc5b7dd49ce0706564af8629a29ac150bbafa19c86a14dfa9aba405ac2209da38e9ed7f8afbfb6fa38167f45df60fc514735576a401c69cd5ec20974f70265247dd487621b7d134097eef4d11a74205fdffeb6d41aa2751256925855def93ebfde44f0ee5ffffff18636cefbbb9d4bbc4668e94254b715fc2a4c2f3fde33bac3d9f12d339523eb6e9ffff6f123347cab26449d39bc9bdd7fbdfc3bbd9f31961dc7befbdfe7ddb0d08eb9cc24a9cc6eebdd189b182c3360724c7f4ebda95bba184b9ddbdbbbbbbddbdbb91909090dcdddd31c618c3f8bd4e74bfeeeeee7dfbba25413728814f4ce88b31fe24bec810e86b112bc646281019e3dbd3d8b14c88cdfbf7956015fdfeffff1b912d17dbac641c5a7b3e64d93952feb1078533ab589285e4398e37998c472f54577245ec6e8c31c618b7b763dcaec5f4ffff1b981180047078a1a58aff363316a28a4522647a4a454ac20a5045a208955791d60c05a312590c8fd8269c40a57442947044ca047753c290aa9c26e3d01045eedce0e451f096c878f145e0548d9fc00203964495d190299932498b89612c2197534245bcf1d0f359bd85d041e75565dd46533192706619dcb86c2ed20d1aa497478b278c67ecb24de57befbdf7a6f75ee34e4dbe69df7bbdbd2b8bd889163f8ece52de2ad775b62af4ff7bd84a7ae25484353e49f92fbe7f61e7250091ec42aea3277625415e1ff2ffff4d21a0e5bf7d8142a0b624448e915fbf17fb04b9bbbbfbf576201a912a82aa448456dfbe8ef13934748e94ffe6889c92113eeeeeeeff2386f27b5f2310cbce75f54b8092f7de368278938085944a849860461865df097da48c3e5c6914d14bf8f336f6825602623857e2f34694f941c2fcc894fc0c014922d985e06fb45f0070db2de9f6f6c3e40710759ed30937dcdd9d96bbaf6fe8eeeebef7f6ed0f81c16b0a73a474014575eff921c3929bd150b007ca58dd421281c0618cf1751704b867fd37600e3aa92e1b496c2cba7e8c6eb0a9a8c94740899c0e2972724498f1ab66cc99c3d6305b699cd8d4c1d21596eebe1f2307e5f4f6596bfbc45a6bed7b0c1c396b5bc3e732068e9b0d438d72a404edfc84910dd5b4a4c8ff3851c765105132cea58c98b713880e04a4a3ca530e27210fb46fece30116a2a52725b0a7b89f9f6de904d9e016d4845c426d05fd8992d64e94383ae143868bd94af0447187bb249f4ba82b1f2b78fe25eeee26cafd21dddd9da523b7137dc84103a34b44b1c5d2cf1d2acb45960fafed49faaeb3fece33f32ebbbb675decfb6ebcf05cc3ff8cdcedf6aa2bf7e5f528e412ea4a2973e0a55e3561d8369277850a3e6489b0ea72013af618deb4d6f19172bbbbbb5f49e55d2ea1b2e08ad06a9e34cceb1613bdd8d6a1ee0ef3524431f9adb5d67a93809b10445f6a53c8a514091e59422ea54884f90bb4ac49d0b6f87eb8a8b5167801351813126f4832171d18a9dcb3acffeff4e1e434791a7af6ba6d2ba4a1c3b205a415e4e8f67b1edea64bf511c283c52343063dc3dcbd7ebf4cad37b9a63d5fea54713e2898f981b710a56989f076e342a2ee985135f6264c097a24d5889b1bf648fd3cfdaaa38c2a284bec0fec5084b034536d956e73a29272423e8a1720c687d856941005ab9681c0d13ae19c4922e5f49329e452ca8978441f707281a04ae02a5249aa755d1dfd74c209bc6c2593a69267725507cf7ad92c66b044eeb727fd0168c5dd588058860af0d36104a31d1f68862a1990ee0842c742538764be9a23a51e8006051c5bd20b50873a76e68022a1b326221c385bbf8a036ae866a18630b2482ea1864567117d0e4e02943bd38aed47f65c1e872f392630c8a591eb24fb72e9e40334f290d120c0a7141cbea714183d5b32522a14108bab1b3b3d34ea8d279516ffa4329325d4b066d4534a8f1c3262031859828a2795b2cc3bfbb2ac2b355924974e3d4f3c5367c4a808c4108c439a7014e54e51603b98da00be094d89187429b391a3c30db71dbfb691fb4ba5fd5e65f7f7362573a4642a22bd729b98a31040e760cb39e2543299f0629d0ced564799395226b38e37935c06c41466883fb7c15c28dcac86be1c6f7bcf88015ff86d0243f1a61e7dfbde111b48f172b5d3f4a21655c3aded768fdcddb41666d2fef72b6c42fda6b6b2dce9bd6e62dd81861618dadddd1f72b75fbfdef4e5556db6dcd07cb8bbbb87193f4690a01d8808b9fde8ab90c8e013eebdc21458e8020ba1b0900affbfabdcf430c618e3618d0f778641bc61912f05d69079b9352581ae74cab5ae7eff94390cbb9b9a9b9d9ba09b22c7978705ef901d2573a464faed14ef7d7903eb94193bf4260e47054758f302982b230d14381d5290851dc1885480f47dff14e4ae71d0040781bf2091e7f3c69eb202c3bdd7c983ffffbfa78cc8f863e2882a4421b1c647dc4937d834b10155b4682bdbb121821cc6b8df1f4704638cf1cbce4bd04bd14b8a1717f7debe18638c717763dc292a157a256c252b684741c850fcaa4eae758b2a6f38b6a569aac1e7f29855cc1c521213372a28b183f33343686386ed60751c51cf5c1eb36278f64b9ebbbb238fd9dddddd79b994422ec1d5f34ca66edf8bcdadb5b6e729b5569fcf0bce85e7b93c7aadc868e6c04bdf0471bb00c698939f3023156536a703422252cac6c0c8823843301d47c520558a1b193724d7b350111e605548872f9b89abed09ddbd27bb7d8f7177f7c7e0430431a54489114ed6068ca6ad5045544e563007db881635602d1432879424442de1b0cc8028cc6c88ad599a9b9aba37fb565b6dbd32ee8e237bed0d6eca5440849a209c0f251447f60b2b7bdb0bb93c7eb9781ba2d63112c7b7acdfec6e7c3d68d30d35aeb53d0d523680ada4a98f974b23892132190474f0f220dc72b3b123d3f58ae80a89475587a29625b29926befd39ed5f31e630494ac8632786575b083141ef2f1973f85f62e48291022ca943e7f71626bfd55408efb29e39249756527399434a725d0b464d9108d3f7e931be95b6b5e6c62d2cd4b855932fe4d2b8f535210e0a2ead987562628773c6242a0f645556c2ea0221ab961d416ec81936b84be132a2d083012ea4948917cf081dfbc2d5828bea02c9f104f972112c5a17ae1329ae17b9734d4403505650e44cc460c30282c0aaa65802850685b0a59e6d459f2093082fcbc2b3fe657777f75f182f532669e4acb6d46210ddfcdaaee49e09017a130250397ee5fe172998a0dbd8d74e8d19a5d655d4d531e4e488c5e38e9cc341b2616565a9b7d53d0d269ddbb63454a0b7c5793d1a4599032ff5fad580a115a6afacb52c25155dccf7f7cbe0b14bba3c5f5ba63b0825e42eeeee7e6f2ea56ad48c80d1e0816bb86234777364537438671569e1dfddddedc2e682448565edbe55404b602b803e907e6d51727757df799ee7799e2907bc0d99035e4f831dc9e7d24cab499375244e687936c0839fb413b311b87cb8ecc907512c62492e3a21dcdaac890e05c56b0e0a6fdf36c5bf1f3d0afda8274b0bc4801c659ea8d07ce626309c618348876a470e8d0589c21555630bee4928c808445011234acbe6054c1c1c06a8907488dc72aa80e02aa8a8a7894e7d0190575b8d154f5d439f0ae48cfb524277b751eedbdddd21723b9a412e6500a58078e3359205ea7578b1284497da2d2ea76d6bad0df2a2a11bbbb97b7befde778f3a497377bfb98c3a21bb4d288e48d009a4a6200810eaeb69878be0ef1c21c759dce6853f8148b2e2058918534d526215c79a9d43aa32278adde9ee3659c9fd652deb571c740384930b4f10adb2a11fd9e796cab9222c63ee2544e801935c0f94cbd11552755b03b645add1a0ace8b455481239e39569e9685973ac4c70396ada7577abbde5decd5028a1a6a2a8b244c6b646535cf3f1a0bbbba3379745b5b42411a3065025e2d0b8cedcc87ca8cd14d5825cc40aa4441c8b29353e2cd69263c91ec912b9a6bd740353ae6531c9258197cb62922767c86531a9e201d50d41300382dc8ba9ac1722b662a8cd4979057b85ad0b88485a3abce7db6176fd1e66cf67ebf1ccacddddddd6daeeee6e6b6d7777b7b5b6eb31cd3c6badd55a6b6dadb556dbf6a866d6aae1fde8c3d4f17a400cb4e840230bb103660454e5a16b488323d75bbeb93c76c1640e29c993c0798b95d45b762ba91c525e5a69f5ce8a49b1356bc625cb03318b8825ab45c699032fb52d68699e1df3002e9e172e48ac40bbf16b0b22379226b7ad47ad1419cde5718baae690b8d519f37fba4183d4aa050f830db7ffffdf6ddbf69aa1e4d5a2b616f901fb1a39d435a9b5f6225dd04fab03996081e782343a1bf6ba377085fcffffff7b7bf78b098cc68a7e789d303afdbc1d85daa7babbbbbbbbbbbbdb5adbdddd6daded2a163c0a3d5f1510069e77b7b55537ffffff6ee552ab6ef8b755554a85eeeeeeeeeeee6e6b6d7777775b6bbbbbbbdb5adb6da97e84ec7a3ef4033ed2347144041830aeb9196f3e7cb88af678030da96035e3b8b5437bd686c7084ac51a4c0c8f17a5955532bff7712affa7e96d12b9e9bd64f7ff9f467e6fa35105fbffefb7ad4d062fefd7b7d65a6b538cc36f5ecf6769ac65c1d1d461cd040d8c9fb53dd9ba5c087a6171cb02c236cc51f6c1caa8232b043b42cfda166badb57568adb56eb6ab5ec3faacb5d8a6586bad03adb5d6daeeb6df42b563435ce89ef5b6b2225a983adafd7fb53a2e85e0288399a0b3e10ea7931ccb631afb03125bbfea368e7adfa24d2185609b69d754d7a2542c39530f0d2ac595899fc059138ab11e9e04da601ca5e9d808f07071b422732180b622049cdd02d6904e8450ab0ad881c2840bb4330165278cb47a9c08e895952861268692248b8ae26c073c888a6682512107a86a43443f2c38102261c2046a8024d088a52088dd06bd35104355c194090160f311f105e466e8a1f108f510c3c057e77442983d86de194ed09cbd5079d404d984550b3b64808ab43e833318104bc6db430bfe5c553579856a76027d723cbdc8d9b9d2f3d682423d3b517a8229783db3b90f3d8fd6b3389e230fb837c28e8c979aaf6e1ec0bccdd674d0deb0ad69691de668bcf7cecc3acc74f95956b31d394256d7e4f977a39964384a6d5da6ea0e73ece6d83ddcc491dd8f3663d9db923c078c273847742908222001073ea080072749bdc059a54b5f97f2a8b22e4d7555599792e85207e8520ae8520f74290744705e655d7a025d0a82c980132beb742ed0bdc03c2d4a5adb91386832547764588befaf6a442a866f96ea634173a1bb6954b7d05f6b8a4ddfdaea4813c25e6b40ba55b852218a5cf180a17043c8437b99d0f5e622a1abe8664715826c318322abf09590cd458218fe498cdb70692fa28ebd7acbd65aeb2ed93a886cadb59eba7b55b65d81bca317890c6c621c0c8b8605726d36584e44a8af1db0a55e2e8f6044f524e92ea75a2bb6f71ba60b99ab17d304b3ac352bc058d03ce9680bf2e0259637a41b785fbd6639e55ad3afb5da5aab0789019488a8540c5fd98806380900231a040800601cc871208942273d0014000d20928090d4545040221788013138340a8561288681188041188684188ec45016c9ec0cd4fc537f1010facb5594185b87fd6fb3beb1506f2f6ff3586413feae12dc0d4195ffbe5cf335c3972a1a1721cf63599f751e682d99a3706ce2694566739f6e6a474b4caee32c08a6a34bf8765372d99ee3de1af05477fe40f5480fb5a51967eca58b305587ae83d19efa5dd0a896e8aa2fc7843540301f664b47d7405f661583eb1c3f2b20dc3d19d53a6e66ee89da87a65fc99db81630638fd18e0830a1cc0ab1996fda96c77ffbb9d2051e9cce03990266779ee5d0c33d75690b25240dd1efe1d0b9af406f4cd0a7d6f3bb4e273cb424cd0eacf3163883c97457d33d1e4e9db1044e1ec087e66b21384d677dfcc0aeea74edd495c6f5ca0ef4f424929e2baa7652a5981a3eecb24e4453db86866fd4eb6796d9ffcd57e52bd11b2b54f9dfa2a250ecbd347c3cd9bbf7d28673caba6b98f79a87d0e62ced6b3bf61fd94b0e36cbfb8ff782591aaee90811cef98256f608cf94c031b6871a149406c9ff91086df578a228d4aac98d6f3b016ccf94d0e8773dc7f732209b6bbd572fbb209d73ea57fc9abd17f9fd385a17857d3fa4c4c79ed1534496b1146cbadf3e4bdfea352b890f58f50a236a5ebe572c0f94c0cd76c2e90724a643b51acb241ec6e3dcc90257341a4dc292aa9084c218784f089e185fb184ec0f9e18277e2da67fc4fb2e28c7fe49df9565ba4b678362db10daf03d7e08228c82e4686407fc1e0d860c6e11ea0241d09d6704b4033916011a33e3d42b4ae5aaa8b5da6a08b6c27bf1a2ccfce47970f8b62ad67b7a1aa19ab9d7a88a3238250c2447ee4a7a05d40210012373d101bce5d34c48fc9ab5ea60bff631e178613b442f8f9e44ec049ef54acbcd07c7b88a6b77bf035b77060e421c45ee82e7a02b7b6526c61c045e7051a43799e06c52e36908142ed140af1293a4339288688de3bb7969d168e0e48284f2090e528384375d0791bc3c7fa85442b6e46cb9917441ceb87026992020c72b3c6c5b2322cc2b6427cfd707bc184ac6b9e430156a0c3d4b4a4b7594048f85120acf3e4ae107ec15e00a0acf3ecae10446b527a90344885454279a3be93139b808489004a8076d9b38ebc3786afd0adcaf7de7a0caf9a40568f37dec32e919ce7bb896ee62b9d2f0a3c1a009bc851c49abc6c8c181990e745fa48151716eca1aa3bf8e8ba78165578b7b10118dc9d65b250e052d61792963dcf5e5d16f9d8c6003af770c929fa8ce978ae14f4eae3c68c91d9e68b4381f7ed1f01753d549ae8c8706814789676cf8d98257ff86b49c06f3604e9dce396b54386bafc3cc06cc87c221cc10089d2a1fa2d63d3f5410a114330908aecd461eec1b6c7b6eae61a2b7d1bf32287aa71739f6afa39bc4c029c306825372a16636e760405fa3572ae31a61914ab1ee44a06baf7a5e5830b6b7e9e8b59213d16fdb84314aa40c1c7ad016f1ca10c244ec62c5ebc1d20ea9b2bc485ef6388868012df7b07ee4a4b334e67800622ed9cd85f0fbb4e827c642f7961c99e041467560e2d480084307a90076dfded18ac0cf9bc8e878fa7e68f104f60383940ea456aaa4866b0d3ddac55421d18a24afca983acbd76905554cfec00af3a6a24b50a9c9d10354e706c111de409c2c0a9c585c7126d2ae887e52e2c13cf1b04e2446d650ad1eb114077b9524c2f910bd75a41afae788e7ae973da6b644a72ac9c9411016dd6ff5bdcc8cdea347430f277780e94294f30d108ee2f89be78836cd12945c85450bf306d0eefa44d32a2714adc02378abc14b837b1a00e3d1df86a37b7ae6ae73c4940106ed26a3d4e9d18c3a9b948a050b971385305d0405de6ea215d858dc620f44c43b3f3725e93ad74ba677fa99c6278c0714ae59da32910eb7c3420b4828984f10030bb2d304f7dd93abb66cb7246e307ed644043c690e6f1c5386e067dee4520be96f83dc581a3da153ee6da24aa0e4525132e9098a0a6f7f10b0c4e42c0410c5c6112cdd3d8f80bf4a2e2fd1c43678f0ebba49b0c44772054ddd06c30847a31b02471a238701a62106fe008bef09053112b9275b81e91a4a2e0fdcf358b116720df2119ca8f5349b4717396dab2efe1730b81d18444eed7c23012a3a3d545410bb034295906b2089a085ae46c3fcefc7551b74a77e9fe08b8be7746c98c78df3f372ffcd007e281cb0f8034cdc1f2751d6c183050b64adc73dcf41f0a0d7a3597ebbe3a85d3bbefb66800dc8071b0781888de32220343a852c0fbfe1a88ecb8a98b60c1f787ad6cb40a960ee1f380239ae413e45d08285da751974f6502d0285edc62d9c5c4685f4b828e8eb9e80df216a0f2ae81ae76429345572c7a59175d782d8c27921f88e68dc0f6f0433bd3f7e1387328e2b060cac0042233360060ce31cf985a889a5e93b5c797179e1c637f2a157bd440619c41ab2ffc12ab1c5c1c4da41f30507ae85ff8a9bbb3550ac609f5ae0820defc90fc261a938946508eed70532b8e065f9c11e2d8a43daf947a7c7b829ee7d36409baa0f012b5315d77801d2f8a1c1bd5610cda61036f1519c50c3b8f4e28535aa0cec831302aecd89abdcb904eaf79ef2723dcdd1b72f8e71eb420d019d0b1614d0ee0121d8e21a883aa40c8cdfa9d22668239e1145ecde01c616c65948413008903b3e2414d1087573ecf64491e5287bc480179715685a5345403322040982057f859fe172f94c64909586418aa8c5158ac6e3124747ba79e5187ecebee0e2aac99800f1e3e2b6bf545ed9c5a8921c338ad326aaedbfe54978df0b7b0210019e2fc877fd4a052d64717ecb8281d2c5245483d9777f7b7f7e2b8a9e51045feef8b597735b1d31ceb8c8bed5ac48526d1fee2f07bc09dc237addba496f7cd5afd8646640044d20d8012d66c1cfecd1009106bff46c40f61998c11571d5ceee1a28f772c63bf466e4474f8995932d2ec935b3c8d260296f54e26746f9784e77bb670e247e5881da656185fa19251301d3cb4b2a1255a8b2dae80f5aa011b5af12ce6a9ce53e4407166f6d00ff9e3071d219086bde59ab8766e86dde0b2be86fb3bdd1a934982e2661c69e289a265e3a95f279ed9da3072d9dba8e63539e9298ffeb2566ed1f59880c89eb70a37bb0b2bf8e2dca6d115d9e59f38c8f28b1be0dcd36131c9e564372dcb85889f9de1dce7855459b6b9f962cccafd93dc7b7eab2b7783770dd719b5ad41413fcf42b515692f8cabf9582ff80d7d4d7d2034a1fec5fda46f27cd7f4bdbe75514aaed2c933eec816b0250236c0d38e887440a645ec15ee7e038912dfc1a28952330958e6990534dd2b3fb46d10c905f56e49758c52ae23e0c6a14ed788fb4258ba1cb615dc7fc09de61bc2869644c6012cdc13d2f37950dd162f4861d7b9513e42925ee608e91300eda6e8f82d77c06aab56335f62718e2cc403fe16347492e01b0a6775f7755a270534df2996f737124a697075789e9959d705c19208489dbf0f01292bd0e2a3523f4f575cd3befeaf31770312c42ba8927af97ebd103733601f9b68061dcd94cf6e5c5a9aecf5eb706b9a1f4e417ec35546f59b72a95296a1e12a7d87defceff62442eb607fc811cdff8b572dd5448868e5939b5f8c5a518a9281b6b96cc2bb22d6bc0c7e03b8a0daf8d6e08c5665825defc62ce25a1f065740f0c989f51f8cb741f557baf542d4def255cdbad8b7e0ce2bba0b756e24e3fc1aa76d60b6f1a9e0747a43f3a92e95dc23c58635c00c6692ae91c0568545b0fc069fe968840868573cda38c098a15c3af554fddfe3893bc7d5765bffd05df44d5e3b619928d20af87caa0f958d4105f2dfb860965139a20372de6bf349a55db6ce3f69d07089ca142ba13e26698408479a98ea90927ca40bb366010adc057a88b6b530f3012d518df41d4170acca056bf2f1cef1f0fcc793217fa01d458db0dbea719a88ff3efc9d9f6ad64d42a90703f2146b6db880c0d9a8ffda3a266c2a79dcf2d30e96e728aadbcd9e87ba0f8368548114d351fa34ebe70841173a5e7e21a36ae52c389904ab51e31080915f36c4201578ea04319ef0b5aab5d8a3ca968598b389f951a4a0bdd1ff8b4f59cf98e1514455e4c4a44efd0334e6a55a218361dc0671c70129afcde531d54fbcac2760d6b667100d466050743f5b0c07053fea0939b668e08bc344d6be65dd3f997676a34cce2f4414a7f6d835d415c2a8a2d41d6e1e563b75d96941ee22bb62e242745770091e29d007d877069140fd3ba04021a74f79f6c9827ffcdfb0bf3a038fd6d31cfca19090c2958e6145c9011ae879f576a606ea2c320595d0be1a3dc712c4f41fac3671a8b28cbc4e4f4424932332eed1f1a732e9783b32369432deaca51fcb0b3f36a0f85230043ce3f1b0996fe1241d14ee5d8e2d1a29b988843aace82e526da02987f5a0baad5e90f0d877ac8408103727f8ba9f8ac809002997a0b2a19a174e5865d86a71080f5000cb91c2bc16a7f9a093485765fa744efe2c5d1b03a463c005e96bdcfd838423e143b37b19b94f7c63a0417cc390900f542c1cb59e0fb240c10c870ebaa96f058251e34bc29582ae905f7aedc5328cfe9133c68c2e5a517ed0c87cff47d6412100363a83710da7260dd8dc3330162fdaf8ce54233a716d86e525e9239f9035a4bf01e85467f6761b00660bbea04ec0ae0367ec0e0ea91a4d462f2dafb8f629c76c27b10aca5546e2f441edfed53c4b447d91f0696932fd10cf9dfd2d144e860ddede86d3436dcc86f47a0315f277017ca892b9da1368ac990d5fd0f6a0eea150ad084bccbc17d149dc295c1b3e47b038de12843d154171741b64aab3831d7b650cc712aac579c4371a2df78f379306cfe5bf2869ea24029ba117585b611428328d111d35d80ff2d1bbdbecd7d29f7204e0b6448376249800d2faa1ed4fd924e45f83ffc00dc377735816a328004c3112f727d157ca2db49c67386626fda9acd1f5f5c6e9258449eeb70afd27e8f91bae61b542a196092e598edd87a8a1b5cc73d10026629dc8c54547c46e3f2d796049e07686d86b72adc9c6f2f581c4e45df273700bef6a74b5b8d8b9b24d81d3e89cab68caeb543e0f2fdc25a9d3516eea2c1a2a91a0ef2bb97c280d47e83ac1c99151486e0d7f134e5a04cd46d17ab1b4233972189e2f008a4b144e36381d753e482796089520b3bdbf56bd31b60f493ab4ffed5a3a7884db0bf64afc809845f1352841ad311b5c5aa6d39cf0c8db72e2747c824784bff0b238166c6570ebe608b71b83aeda9e302c71d44ac4a9ef319d77373b5c89f2d5cf434c03f821c8ba89f64d395445cd0d284e81d1d1769ae4c5ba096df16c7483c0cdba2401a2bfb7890e3be9444cd0b365971828d1b14ff2e2b915326d3b0d894645623cad2886848235f1c2a4a02ff130d8a08d39fd1572a524e7fde73260c3b80586961366f8c20949a2d7bfd1662602c548de5d98ac85b23ba226675b8808caf14ca896fadc7b2ccb9e7d74c81e472b7cd6886fc6c52439a031acd6b540735e71c2f854f765ceebbc975a20f4e86f1157daa609d29dfb377178ed4153cb1149cc891ceb9ab9bfae44d3cd127e01ebd1f33eb54be21af4a0ff631a77c8443bff5555a8ac22e8bebb9c5d38a8de602c354fd8e7eb92ca7c8de69978fa88ff9b04555958323639c2de37a9757df311897c24a327c240f6a887ad304b2fd1af2778b38894e29945baccdc25260ea5a5c047b80d0bbacef1f20b15b5321c5268640431a330a7a70fb2c1c9f68446174c0048ad13a79047c816e1aa362e2976bf071f4af8eb5310edbaa9e16e4401434b1b4861968950d027b75aafcc2f546e2c829db542717d8f9f8274a7bd687846538c5a90df71df8c358e80b40b35bcbc99d653e9dfb59b9cf53f3a222391a28d1f1b262bb16092026038c866af1382ebf18ea5cf0c6e9b28e8c93100b09a53a7ea18e4ac1ca2530725f6ba289079c1f5e7a1947ce626ad8c5454a44f4ec34f2fa69a0454e89d0a110bbabb257c1777034e40e8b2dec369395998fe70c568d5981307d30e1395dc9aa8794c0dd376671b3e85c15a194b1ed8dfa8251fe1fef173ac700d5518300d033e0b6c6c2059b292995b31307fc848cc10a1e1bc4d9b6a884cebcc4152c4d2ddbea0f47013dd53f045cbe8188e53945c12b50acc867c521f9622c1c2d4fb8a71f8fbe29492e4518819d1e8afa028129ca65d11130e880349f95ff8400c01717cff6c8ed7474d570612a7c7916d04b30181e1847d0dad031b467661f3de6b3a20aeb0ef89b6f5f49f5a719ad4a81caf345cd12adb10e2532b46b19adad644b912d4553569c76636982648b8a385b48c07f3fbe078c4785400ca7943206bb0a4026ee3a70da9cd0621ac5dd34a8c5bff2adc518599b8bc9c18b9dac608771339088b72d28fbb30554e01a0d3d94fec854b64e519d74ce1e7d8d11eaa66f2ca78ef0efbf6a327ed0ea960dc2a2efe6de6b90719f7c152389924506b8e2b66fb2496190566c177a14e31bf6a5fbd018094f0c9aa1765c2a951e36b5e6b2a4bfdeb07019d90055d5cb190a9927926607e2605392719979fbd60cc08ebc641bad2ce146685c37a9a8c1bae89ce9909c10d3377026e6179829f110a15869f8e0d8c7919368a254ce1b476b89f9c92712f80861e7500088bb073448b3f022ea7c7a891de3c9109de00d03f2b12c1596d91c0513a1973944f24e9a78970e5c493d0ee188ed32ae1c97d3e26eab4e0e3abcc79cc09a4a20c2590e21d39a4ce63e2e1e31b563aac4afc61464ff36644fe5bed0c932cca5410bff79e0d8129335c0daaacd1f38943a97392653e71e66f3553b409882f9cc3dca354e478257edf1e7b386761828efeb0247ce07af5d080153f9c738535f359e60e08b048e1308b5e7ed710fb11e2b7ac98134b3000791ef78e64c97d0b85d543ca73ce1ca9f867c7d7593f727f0131fb772f032d66ac9ceb11537c093b0cb2d575ab1212731eb708f661cc4d11308eff8241b88947756e425570ce20f48f451b85d1aff33c311bc84cbeed81b861d0e1f4111180ec7d2d7975c251fb2afddfc4ed42025025744015e2751c63d1050a0b833e3e461867896f9d0bd972b9a4b46ae9d9728edfd8df1f99bd3184a786c32cce5e8a3564a9f9cd54bed410ddba6c4032088497fee8d4d8570e95c98c88ad15a05d84577774b919643f95a7675a97cc667ab68da1457e0d8c2127f4b0af7141b4a105d4b8b9632431c6ebe8252e004e8d24a288a24ad474cc52a2434e42668986b961d0668e94c1b67000ce4f5275d0f10748b695740625e96db9c79e01975bdd8fc27d2b8c582ad984173a3d4ea6d313d94954d356343c7257b6d1c689ad9be671b0ec6bf3f56ea125d6a5643ebb18ae60dc14f332d12fa2c8a0eabc2266aa4bd34d3542eb7b71af5d61c688c47dbe035f156bf3f4317ac33092bf5520b1614489a20e0d4eca6bf36ae4e46a6c9dceea7ab45e18de6027c9f0e08c8c92126e81323cc987ac8511d4936334bb947e618e6e0f4d028196b4375bf438b56e2d16c9e4b99b4f92c6ebaea6c1f5cabd19164e643be3fb320c003760524144083a6b9cf59344b224f701c729f73cf30a2d15b61bb89f093ee081761b05c139aadbe8add78ddf177654dec48d8e47719172e6374ab93157f7614791607f9af517b5017bee7dbc6a2deaa0d3c05f198d33286d2b0454634541b20ae86da1be0dc4050b2113efbd8abb27c08a57e6344281dec4c7e646965305f7585a2752074b372f4886adbd944f075502fd1b04e853bd8d679a0c921837d728285cdd93c3c8c6f6f022dbf19a6d8475dc9734c4bd596c9e215b815293bac2270eaa256debafaf277dc3310702d349af256ac847dd0f6a831e5f1f4a0a4e45ff26f68a0fc357a3939c50e9e48b9301be96bfb9ed00ad799e000f75e2ea8ba97b01b10feaba739dc7dbebff5ea23f9545facbf540bcc594cbb6d10dbfa63a06fd9b5f39617ea55f1716cf128ed9eb473026a14d7296304a70d80a14b00c8ce80e12f41427767516a6499bb808b51529ca17f6cf2541519908b0a51e81d226977cccaf50d14ad53414d27535a97d1555f9030dbe61275adc1c3fb822fb15ea569cb54aff6c19b78a889d1d965c563b1329619650fde7ee542712291818a449d9e1bd320de80215b040aadbce786ac288f373743bca4d3ad7d7fbad80ed47b10a788e8144814b1c8204777b797e1721a7c3f5723cfd2db81b285847c2fdd7a475e73a7904645d1d0d3e1ebb185c056e25c3784c24be66a6fcaf4ac6453379ac88a10703269173e22521ca49a53bda16d769e93b0b79c1ffc2f30613e44be0177adb3b68054da015d0e41e618a81c28874b91aca173e147b21003e1d0404823640114e2fc105d4a22ae7265827a3a95f6766250dc71820baf353ae4b2c6dddeeb84225b82148151de67058aa2a8d71e270cfd9786604fa18812eb0a34a551406063fbaa69c1722952d723464d979eff1653b0678d5f58dc4525cb3015a683d818057f757571219a79bc025c20f15d12a6c08a64e4eb8dc1f8e2a3c4edafa4eb8b8a540cbdd55e6e9d4ccd48012285b990d47524089b2ed739b07aa8c30da7a76444f906aa88b689d6382835ecde3cb37c7194e6553442c8a3d0f61d6e85022747ae83f9132e4a09be3a09894aaf80bc862a28332a33c2862f81de7c34ad85d0785aecdd51867cf1852aec4ecb35c620d8749b917bf0d8898292816f08b3c7b7e2ee5e9b66b1a206cc6902f5bd0c50c54ef53241496968e337f7ec22082436f9611966cac30e068aa6d4b007506f6b0360da4d12a298e4b3882d972e2f75dcc52338ac8e1d777c4463120a97a88a7610b925172650d6703f648923adbcc62b36e27c310f4b3469d33697a1e1f340190311722a199aee4831f2164c790c77a8e861428172563278fdc8c17468eaa5d63bdbd01aa94d3af27d8b2ccb30f2837763f7aad2a16e284383317012b2200893546ed0d745774c70ea11a3fda019b72dd841200767dbc7714f8ffbfeccc42c35f8c5e43bf36d67d8bcb8f17eee4ca68e965b6a44c970a92c775cc9af35af3ce536d02c236d4aa420bc008b24a6bdb5a5a32686507129d441384d7cde334b82c2796e210d6c4d41553b2007b7ed47e46db6419c88017396a793cd3437a122dd06a1408a16d0f3ceba58edc32bbbd0fbda1fa5d1058c957e932410ccea82714e008899dc2c0e864f46e76f5b2aaf7967dc4a0e6774ba3516a16c6d8a4cfa4adc958dba05587ef1764a1614edf2fe6d264ea07437b267e6f46c8a3020e6aa8e6edb6cb7dfb9975a7c792d187aadae57afd20e912fb136b8373417a562151553bcc60bc9b792febb3fa51b2c859ba79b24467c5b6447546509ea6d56a4c3733b456c4f7499b37e3f9949a51a50f5ef927809d47bc406a5ec97b48cd3d8beb4829b977888fc974d83a36928450614e8176abdcf43ddf69f518da1795eb1dd50e247db67738669ffe88692823557a0ca165714d1aada80cd0c4430c0c555670e2733c3b8d390666eadc6227755850a815f99d5e09a094e33eb794e16ba3e25acb9a5e042e1db0d875dbe8656e944124f290e6a60d201b134a3b50d189a170a0dfa6460acdab26f90939a59cf60a7868163fa448c241891405a347ba157cb02abd975f73587345f3c856a30bb620267c37af9f092820e4fc92e743260417fe0d4bf9d79a01c743e0a5e07603b116807ce5e590c0dc7e0722f6c1b3f26226801e1fde315d5e3718dde3f3a27c6f27c4479780edc5b072fd23d8d79798a9cdd265ad318db1b0e2d192cc52b8150f9eb0dc805164397e349d891cc14ac8401bda08a1ae172a962d8f93446f5ce22d1178259a62eb892797b67253ec8ab46e7dcb19f72825a123896a602864d9761c5864655908d89243cb99fe2b1322684ecc0983f1d8690a0dfe02b23f52b3edd7d02a70de711f314b536e39700e60c06f82008309f0c1b1ca9f9fc097346601bcd5224360c07a9277bafad5ee9ed77aefc6d156fe0bbea327cefb60f9d15cc720364a7ef653aefe6847819367fa05168ddde94db9e1fcc6e8dd8e7a0dce401762564f56cc469c1fa593511232444ab083e066a0625f4be0abfb583a203054e4f57a63ce6b35f0c53df68dd307fe6965ede6431e6a401cc1cd39aa8c02ba7ab2064d246d7786c5d93119072b999d1c039f0d635ebe1c4291487b870658bb316d2c43e64a2e657008a1d6dee3cdb3c1d27b91a17e97d30e33488d836bb9c902c9b3a200d893c802c5d7de3772e0cf7d69490d3f5ef64c28b60fcb2473240721baa58cc312ba09a027ebd24a12290f4f4d855089b466da394179c063e69f95cb04bccd9cb1bc06142cf2a5676ed4f65665d762b0da4f82f59db56d6437ffaab21e6e3cfab202472d3abdfd31c7eefb000dff1d91b0f24b75eae90368409712fbe81592b56447e090e53ea76d10117fabcc17860b5f9e58ff5577afa3abc9766ffcd9bf4880c25052821ba71f0e6aecf181e53dc7b4125d59c68009c21e17cce17027f1360aaeb4c545061720d3593f1c85b69ccba940290f286a03481fd4246cf2fe50245169777b8b8b3e80f0c9ddb4e57fd498a01283c27b8035f4125a32ef2e2e1003f4b3ab387c8acf58ace4b4646666b3a7a6c54290d80c0399aa155b4293994a1cf9588866b250c29a2013a8dfacca694126ca72fb190a75f762fe79f2290cafd8a76c01ffb0540e6e777bf00a20caf14371d0ae2e421fbc964b6fc8a79806df21eb2df088d7afc6400288db75129b22c5fb12ad9632299850d4c8222b75190160ac4648f898a93ac3c2650026d11e68df1624a9321681480290d72ee9d01617a81819411415553867153ac8ee26b11d7c5643dfc71e33758a940beda8423cc4b52047561a8dd46c3850875c608cf3ef12600e2bcfe0516af021ae594b98973df45fa2967654e16e04fd3b86a5e6c79022b0b6704af72bc0337c1e9596786d919a8bab5d0d9d6e1ffd4fb09dff2ecf39d1781780173027ec0d162f88532c146a22e2962b1fd3a8639e9b6a2c9f1b53eb2d741f1496e6f4753df3da1cbe689b9de2b4ad3e17eeb22a00f9286dba670c1e7f5f9e2f0a8071fa636c7c967754e65134f67b746ef75230b4985f880eb8f656ef220db73b8dbddd749c0568c0e4c78ea0868eb9934de97a2138eb7bacffd700fc58dd61df5d4a9dbdfb3a996a01b8b60611d24c985fd5e90169282f20ee956815f60db1f20833b03d7f1379110910262d37153234f4ac247ac362a554bcffabf1e7f213b7565c3eec2a3263e8197e79a770878552434dca151421bf82a078021be0fbdd0cca2ebd2458d7b505af2ac50356493b6a23267c5203f19249ce9a87d722e10b9c8fa43cf3c74c7118480b39ca8d9b908b9bec03cf241ebc3c899264b6bc7283de1e919ee92d6c03033eeb55e44cce30c2cde956235253659fdb4df376471f8838f1797136659a62e5f4b7cdb26b387caa7124d9f70c02b75e32201a798315545c20d3d620cd48d1abf9bcb212fdb911c71935317fe1d8633457cbf6234eceb4cabfb8b057ce002078752c7b4c93438c10c3d6ed30ceb00bcc15352a2a03b855c1444a90851d4f81a2ef2da3b1cd8bdbb0ad1145dc5f4c5d710fd9ebb9eb0d114485f55f6e71c75aec158327526fc31551b73941846f86a272d657fc0d782cc6ddd0dc2001b02d7122ead54541912df1151243836edc2f84d9a99400cef0ac1751a03d70ebad153c9c3df3a02480ac962b5f8d4d4715df897a354f126788a3236429dc3bcb88710a8344952d328df2d55f8723baf3b7142cede20ab8f88bcf1ec578111b5f08341835d797b7dc9aab928c675b144676a8cab632190788ab6ccd20449cacdd2151dd29a36b6d9c68ce0c685f119b3ee8840243642b61aaab6c9f4eca1dc88d5970a3724549016263b37719c2d50a974aa3967a432cdd9d474e280a3bc4494a6028ce1fb921fe79671788518d89665a6bda04abc0b3f2b2b53320fe42efa925fdd7c580d095638bae95a425372619b5ec6043b1754e04a3dbcb65addcc712c4e372fae4d70c7c5af0b60d239e819565dc6f3f07c820d70a294dfeef06547abe1d586630732de13b5124ecbaf862fe3919e747bf396e21539afb2d809ce2493cf54929c51f07729269bf8517336d9d814f0bbb2ddfcf4869d39d24f1a5fac48a9378160c0c28c6775e89af90df9914c7dc51586762e6d925a3bc26549a5196e94cb5a24dd3ca36033b48c78c878a68dbdec604879cf46260f53f90fdceeeb23f05ef9cc28eb0b004a137d5d9158ca8d04b0bb4f939eef1483476c80570b0a46d56fa488504075deabdb08aea7218971d3f6c71c628bc8ade6484e9ba6ba3250e5f1a4ecf03238f93b0393b3cdd473abdf64f5f176ac337afe0ef214c14473c7f2ebdd82454f98787ec91fed29a256b37d145a6048b124733694b23d87411515c6ad4dfc9770ce94af74bf2c2cea5e484029cc6eca8bef16762d0a33fd5585f5dafe860f2117eaf07c14b2a03a54bbb54a0e9f3e6e9d76e1469bf4984000f4deb8d454754f89d037ca53bea504c00c21bb28671887860924a8b0d09be29137cdd73a0bd1c4c36b1252245b45929657023e0e4d6611ffa19913c7be13b68f73fbb88170d7b1e90d79fe9363a4c41430dba7553f5597b5fd80cc6c7a618ba59598a1c8288bf8794d6f9271aaa5a5e7c5381f67a6c9885c6aa5c550e780dea7b99c83003933569190f169f6b64b48af915604d770e71d0ab022a4cc39b4ea0a416c6bd4d66236744c8a3114a790d8859d473ac3d68780fa9f06599785bd3fe8771561cecc150ff2560b20a54acb3412d851ab17a8e77784a034e49b50db050ca8a2ea5784a928e69ae5a0a21beb101fcc07c994e41d09059579c50008713541148ff81b705bda9bf46673f0d5175fa0a9ad52dbcf1f059a602cf00566afa672016077f910e5167b28518196623037b021a1bcad84bb90909286e9f91775a4c6a300e076c85f8b31ca429470522f60545ef087e113bd133256588037cbeacdf94545655cc3878e025b5e36c7132b316cf1e4a2f9bcb293a8317764e3808dce8e57c36c8c50e04a4d3957d3e022c6647a60a0b69b97383824cf93b0bb0d875de014d686c4d8dd08bdccfb6eff98475637436b5f67b0765cc0b11258e2c2bef63125fb43842407d530836a79d984cb2f6764662bd72b55202ca7b16deebe1a2d1c4c735da08849148846e29b0786232c95c19b3c5266cec2a277fa633aa5720355d788d4d7ac3efd18462af155f4309d7319a42ec47424ac2842ca616051b03a469021af979665c400ec29236ba9348d723f8266df7636f58bdc61196ef7378ed87d46e89fd83cbef3fb2bc0250f7ef09bd3b0c2af657bb4773195a36279c39593c41cb5260b58165217fc497aaa856bcab65a284eef53ea236c6444b96b6e4caa5953bea065706e0053d58f1c28a254804f144134e3914b961c908a8f8329df0808c0d46721832c4088898606490c08a99505e3014d7ddfd898b76d7cfca1395126c80890f4a49523e4c69294102a2d0420a23c0c0a04c21c1a342660766f0d0e4298c1752a4f0c50ffda20446a40ea130239a6eeeee6e05b644bb1028c0f2b4840a2392c882130340640624303a4c717a014a4bf8a6a8c20b23b688312982e2053e15415920c6c2b493a21a9c70f10124909ac0e2898a6fa9501839c1a18b124530995da066d0d5e9a69f95a72db2885ae2024c0b232e4021667291cec92da413a594524aa5afe0eeee70ea0a8bf54342c886a6bb047c41870ea0242e5a6c49f2840b2926135d8c21c205d113d4d11173893aa9bbb3561c5dc1569691767777bbaab24217daea576585317a73ff45b3465c64a6495b67150d8909a9242d7c89e2871f259434d13ee9e456499040009ba2c40910cca034614a8eb49084db79d2ab0c1a94a00a1ec0444d19b2e5c9680b3a8db6d019a4f0a04393125d7c1842c31623286ed3efc98808abc44dafd408fd4a2b0e4428f9408728d54229adeeee2aac40bbd4225f338b0a5668f9070061ca465d51e18bbefa5d51610bad2190d3ab0c99328554285fa7ca102543583072cb90308da874054a295dc1fd0a5925075b040f4ca2b85ec4da02b543f296d19b7e452c4d91c9c86464e0d20a425aa68c60c022b9b0c1cb900d558aa4ecb0e4899904130a2aad48ae4c416299bc68d7ef0a134c062a48b4d0b044882216aed448a5a0c949d295324b84acf480d1c0e489a82630744122cbb22c93485c6800115598e009234e2ae87084141052846142c51430464c569665595685d25a69b574caa8d20f4b172190882785c4c9162152b44024865905c29c054ca410c493174654994544204a081118b68081071811951ac51fbae47085892462e877a58b0b59199a272b668e74c082f8020a2d61966a9843c064802979758b348391225dc48e3479b1c2747aaaf2a4e589862494524ae905479e135eaa7861c2ab3b111d6448e24586244d5e579a68411358fc20012598183d211a428a288430a289540a4b3cd020648520bcd20ec02c7c00e28221344a29a54734edc08d93a45bc4490e47140246947121862f5b78419a2378117183159aea47c40d534c21e5b5855a6b757727f38476b17e59c828e12a70b3d2b7fd70dddd8fd04e2687d7828381cc919756a5a5a292525a2c5ac4685886a82cb762552352b420162b9284143c4c2a5c9ea02814ceeb937368ce39b534b97429bde9c6392c5b2896286e26b79a5a9e649d72cea72d2cd073ce39a7eb4c2273ce39a7743db170243bd2937b729202b79a73ced7797a5aaa32c84461c4045e98963c31040908afee6e8f04e1a044ac08a125a22c4df387ead5bd7a75afb5521678a035898dd65a6badb25677f75a7fe026b76279add56b7577afb5ba7bf55a55b11ea9b5d65abdd65a6bad73ceba4139e79cd5ebcc624517c38da10548b623428e1cc12202a71f44a073e56a75734db3dbea4b52122038228b2a849a9e66d072052e23b554e13ee79c5e6bad73ce39e79c1ba5b2bafb9c73ce399d4e8ece156bce39e79c3e615077777777779fb5d65aeb9c73ce39ddeb9c73ce59eb9c73ce39abfb9c73ce39eb5479749f734ea7ee4e29a5945277a73e370a27adb5d65ae79c73cef9f275b63ca9a0a77e5bb284d1fb5f56c74a7d596bb5ee2bd45a6bad75529f73ce39e7749f73beaa03766061a12507224f55982085a0a68c3482e5e90b26c0ccf005085cba3b5df29a494141bcf002992425408879327de0e24b15535e88482a2234650a13131313131313131313131313131313131313130d274e58908189521331303d3d91d158bfa7272c5f2d9c5d752448925b719fc17043e045881323231da6cc1eba10310215a680620b2462260f30306de192451760508085d21237a395abb95724f71d3ef001ba05131e8444d12209253e7045d590dca5504a297d210026f832454cca044bcc8057ac28eeee4ee9081e40a241aa8c162d62512aad2fbb53a5d2e95b9d74d249b9eaae39ebac73ce7a3524771d669db5bafb6ad22394e6e0b5babb7badeeee4ea4a4dec4156b894d2d4a40164bbe908ac2022f57e450695de2e5ca0b8718ab6161e26ab522b9fbf480f62c56bcd61a3bddddddddeb9c93524a29a594d63a6ba594524abd7a0a5e29a594524a6ba594524a75de950275777777afab7984d22c3f78ad4628a5ee4ec5c815cb88438133777777f72570e456ac4aab102a58272e428265480c42964860258609054b1658c84c4a2745e23ea54ea6f7bfec0e12dcaccf89b8bb7ba572892f382a6f78c0124357789185902eb050e2a4cf47a1a0986169080a244af0a44bd31239e59c914807435b98fc2082275f70d0b48b90a6dfd3d3132a4d2c9147a248eda0a4071e9e20d132939a28d2c452adee4bb8d7e1f4fe579d4f5e5a754b8556ab7701d115df12e1e66f3bdf763b8ed1be7e0fb77dfd2dc36ec731918acd3e5990b65956baefcaf81f66c0cde30e6704d7e3c7dd09f85d331dd1ffec7cd08fb53823e09ff919fc27d8fc8ccd4c9329148011fa99c9910ad80e423f0f03d97c1fcbf789322bd9fc6dfd4dc661c0cdcffc4cc78199bfe96453b613fffde0fc7e2c51d663d3d558ab8b31e156dc859b8a7b18c8873dca76a28da2e3ef2ce9f8339a74fc6ca9e8f839d93563ade8f83596f5d82635a6e3abbc70db96893c5b26e9f83c5a51e4d9128a8ecfb3b3a25da774fc5dc784893c5b36e9f85b4659319167cb269ad0dba9acc712d1fceab736a411e948c4d57077b316a6096945620fcd1498a36d633abee512795e15159a58283b85aba86084deda908db26274fcedda27c5e9c90ddac2228f171a76f08823ca7ab2f8754ce4a94ed115234fad42b1a8f2fd0b85e05e962751b4d4db8f22cfcbf2244943d91e453ffcc17dd5ab8268609bb1f99bdfafadcb956fb2cd0ece17723b48dfa7790b68f897e6aa544d70b6db414df4a679202f20c87a08e3efe368582ed115b90b7e6606f62365f5331868f516c88369ee2f90567034103e299b81bc8c56f15e6bef6637bbd90de6cc08492381839485b0d3723effbd738339f9df42c51c1bb9fefd9ab3efd17a0de6fa156e70831bdcb6ed2f7c69bb5f1a3eeccfa3762bcf300fed6b06a9cc5e6bb12c95d9b732026cbc566dbc4fbcf0b767a91ec2c720e7b76cbfe61b21dcf8fb59beb6c20a2bac2eedaff617620404d57cabfc0a42cdf7d519cfa376f28334c440f72106a2ff70eb7de2f3a9f9a45a2bd7adfeae3e69f5a1b3f7c960def563bcc4206479dfbfd1bd589f61116c3cec7ed878adfb81019097be1d9097b6d1c9e8d2f98d4685818e7d1addd7e868e4bccd1b059d63ffd62de72156c0be32ba72b73950718f4ce7dc1c98f3343ec33da2ce790b157972ba68df7616c6c5424557bc17e21edad60477bb0d710ff8da8ef130df0c43b0fae204ed97debe6ea0ed062e978e8e6d69d89a9d5be8dde67427337e4abbfa34bf23bbbd3dcdf6a181bc80bc34ce67d904a8efdf4ee210543d705efba717f04590a6cf23eb7480648679dc9f0f332cffe1dfef8a1bdcdfaef7e3be96b5c7c94ffbd0f0affc05c80ea7077df93c68c741c440138390fd8ccf708fec673cc4f3f56a759bd39fe5b743660fb2df3bbcab36479d659865fccd369ca81fc6c1207c10c403760708d2718378014fb7de7bc856de9cbe0f9deab52f2f4eb751d0dad33c1601b7fd483f2b5cf5a3aca3c1c1799f0c27ab5e46de284c699a8f91b70f4df31666a1a8d41446a7849f6213a0567dc43d6cb4ea6954e4794e590ffe48a774a4311ddd89bc48c728a49f86b2c9123693a5952c9de24e7cfc03e7a4e3cb28cb356528e092705b42194a6183303229f248293c04b76554e4c1f1a147882e25b029783b683b29a4e33b52b44dbcc99542598f8ce2edc4b742c7574111191d5f480a15e9f8a21e8ef83ef1f5f62328d08ffc08ee7aadad9b3cc20987211dff6675f3a3c8b3a55393c8b3ed1194c8b32d4cc7c8a3e2893a238aaec8fda61590f9c49d1559d896b1e7d02acb305fd3d1e4175dd9c2b2b865d4b6b02ba3c2143d23a6a498242729358526d134d2714a476921ee111fbea09351d17504b7b78cca8c22cf8bae2cfb396796a4225983640759803ab2f7c9701830f3f8673a1cfb309a7e4e80d1f433f318fe043208bb0d244a69f8aa2edcd3ef67f2034888aef82e246a2abea46c19d3310ac2a22df245d7fdfb1ee0d26f0829497a082959f41b220a14bd65948e8f43bf2174e042cb2819c5eb79351d7d0009263e2c312604d72fba240c4329ddfe3efc01d45b8703c2d3dbf3787aeb6eca7075fb37840e5ae820bd377d5f73e893650d06c9b477b37b3e516b4283420ca228c4a04b29e0a4524d2eb962046545c311462c48198a50c10ed500ab23a72f4b6601a412205ea8623d58d5d0f4020eb803e9c4871786d4d0439229b20048253b24d93275ac62c8214908f00649382479e182192ba51a5c10d3021b43364172218b0cd614195c38aa306a8081ccbc417ac10930d24632c98a8a88e0525b3564468a9c60b12bd92463a1280557ad6820424511b5a6866ce8089a1a32214894a6705e204952e7aa09175930714d49cc89aa640b2b43aa4b18b438d2834f1aa20a8e1855512343e670022357d48085112c9ed12065440a5294c2880b3f1e709a602abd712e5d8821c10519a8173b657d46bf2a4b004185072b085a7781255c85c345cc8701e3717e188845e5de4dd3c6cccd6b6a1ed32ce369feaab20bd1641a9321e3650489413f3804edf18cfb662cba34c6142adb897bd318bf8c3c3319073ffda09f8b9db87bbb191b139762531e6146caaa8b54a22bfeab3aa8adfb9f503adaf0c8f1eec6d6d47ca4a1a934358fb3bd1c06b296feadb1353ebc85e3f963d4b7799f58f38c56a64d39aa9f8185e0543f635bd1c8b48c4af5333a1ae3386ed23dff828c43fffd5ccf357f1fbe378700b53fc6aaf9f85539e210b410b4779bc779078934e6dee18450f35e43b94ccba8fe665a26baa2cf984b8d370e6a1a8b3c526a4d87f64931d0acc04b7bb77d60eceeeeeece81a51dc15c985605d1806cdaefbbaadb3e34c540dbea6fa64dd1159f3a45578c51f37726d39fb1e8eeee7ff3d7e6198baef837794e2d71f6f79cd2714c74459cd650e4a9343434354ff31767cf1be3233d690ce37f8f00aa95fb73aeb9e6ee38b4b7a3caaba7b17b633477d5c987c3df27aab2d45bde41b33eceadbf794fed52b8855fe24e49c64f19ad2c35ae389d8c4e4aedb6e8aaf9a01f9fe893d56418cfe5bd436bef8786c6369097663d8cbf709b6175130a469e302a1cfe3d69938ef8efcffc0377381a8ed67d00b5eb3e1601b7fd76ad541ad536f6f9abbc5d48c757e5ed4453636291e7e94b35a96db44e893ea43368e6de9999a74f67ee9dc1f7c64dd3ba1ffef73594c27b5275e20abc34ee7eec979df7e6fdaa95e358ac8f1fa7602038a8b397f1698c9671a1c8a37aedb95d35fe5556755a4ddeaff1d3e4cdd2f8b9bc398dbbbde94d6393cbec80bcf464c0054f7d688cb54c73873302d5a8f0610aece704fa9b074f0c0a30960c11fd20690de7321abf3fd54ac834f6a137b7d9bf6625fa5d8d3bdcb4532c1460908642941636ade0026d066fffba727eb65935bf9fe6b74b67ddf6910fae9e47d6c995454090f692e3ec3f6cc3bde6d5be4daeabbc3d988fecd507a3e9ac4fc6e50cf5673df763166dbda0db9563e9373bfcaef7fec2baaaf3f1d0b4cf3e72fba5df3ffa7edacc6a65ffcf35dfcbee155d4fab3d6464a432325264b4fb0f42240d9b64bf619206a32c6908a7e4875462dc7ff7bdaa0b77ff7535baf2d3597d3a6f7048ea8d080a45577c6905b7c180ec3746c76d9b4074c5cd6edb852da1228648e9294497b64b6f19b55d6bb70009653d195759dcdb6eb35c31738a424a3b9f6525a2ffd981d1157d6445d94e2cc341bd6594ea0bb79f54cfcec7199f7fc3210df38645e22b735f94e8aac04bff98f15b5614adc5d8e61fb0fab01003cd98f130cff88773be03f2baf05efb9e707a12b3b14782cbf5f8837e6c51e4f941bff5ad384667ff83fe7d99fd8d627426a5b3f78919849dd2cc0c8459f637dbf294ff41ebef53ab343363adfcbbdd6cb345efe7c6959b941203d188d98fd6df56feb17df6109eb0fd813c58f618088ab7bb326e5ac0fd68fd7dff0bb73837d4ad6dbbbf3d8ffbdb66e5c30cc4df276b65f8f75bd6e62cfb9bbd671b884bf93ed9062dd4bdf157660b155d30a965534a0dbeeb837e7c32577e3f36ef20b1665956ffc68d1b596acb453e7da1848a3cf0efcd52dba86f64a95f7d37cb00f3acd36b87ebf52ed6b33fd301eebe036d9f7dcddccc52c356a7841fbaf2fbd9c943295cf0c5175f7cf1b3f30f67d6fe7621bc10dedb29617cef15dc8e491a76dbbe7c7ab3453b48dbf9f7ef5f9c6de69cd9425918bc106e6fb7eedd2c4a60bafeddb4bf97667b34bf1aac80fc03de0ea7c7f6f7796c0fdf0418341fcec740f371b699b8056e4e06ccbc4d67f336376ff3413f30dfd8ec18466f3736918a955884faaaadd57a690577235b2e41703f2430fff5b3301bffff0f03fdfb4468e3b5bc6d7c76b76edb788845d07efb8845d03eebb6abd9d034cae3c6c3b747ef07eadbc1f9f7332cc2fcaddb4178049cfd4d3f48d473c2224f063f5afb3e3148d4f0b32c4b0d334e08f5e1571b596a1bd9c2b2e5125d9f69daff7d8dcbf6f7edcd2768481f661b9fe5ec6de42051cfff9718e83fb8fff4b7cfbaec7db21b796f1db54da22bbe0a8adb9668a6e380eb6ffee92975dede42cdaf34b2e5626101f02fdcb49ce31d6fdd4e809e1d100ef40c201ce8196f83643a0bb72b948e9fe3ded56acbf9d5d3f0879b6f1ba5ee5be5b6e76a4d4d4d4dadb5424ea552cda9caf22f8682dbb897b9ee1a66db21d6739fe35a4e86da35aa69ee97cb37db72f2d397f5abac3de434e768fc4a6edcaf32f739f969d6c3117f66052efbd5b3e6d7ba6d0f25f270f73ec77118638cdf5fcb342a2d07a97290a9693a0a755c2ed7bfb9e631145cd6ad9ec66fdab4aa6074ac61b61dd231e6e0d87f3ff42d94252da9c49e0993485172d15166d15156d93269fb2da3fc96531e2c9ba2917fbe4d9b53318a96f5bcde8eb32eee76a5193fc139913f8d617fec04a77538f89fd66211bf1369daedb4a7314df36e57301c2e01b781e8e879145d7116cd25eead9ee6f72c7a3a36c5a5ab233f8d310cfff6fe3dd6eb77b8dcbddbf8777ed318d0d5e0557957bd698081b62e7252674af4330d1e62200d3688aee8f2892e7875e4a735c84fef64a9638c18c8c6e3a70179308d41961be0f8849a5cbcd391a706793645170636fe61201baeb9e61578309bbf9e6dfebe6ab3ff00da3cc43c6cde7f273fed1292c18a8e7ac72527ed349b34ed7b7c682feb6b1dc6b89b4d9147c76b3f97f26cda82d37ecf294dd1155baf41acf535b31f77e81c2f9dc3a573bcce3123c7e7c8397294993a6a924e50bba2d03116c7685de4622906317146e9399591898a61a9691669b6c7d412c78d264e3697b2c0d0e445932c3214c97ee25fac2d45a71b1fa1d0f123955805f79837bef5f1023d5aeffa9d9f533162bc4fbcaabfdc36215bbd2a4f21b80bac5ef5f335aedb351d47c371ff9aeb4cc8b4f6dae37c81125c6fdd5e752578091ad03f545d90ecf5f6afb7ce844ce3c755639f0ce79b9f39c6df3c61d1e51a03371da532b9c4c8b4490ae7426562710967a6035cf6f5775cd23a1332cfdb47cccfb958af87f160cfca0e9db5f286c1efe4c83ae2c4735e1883c550c4859c685e1c317888fd6dfc319815894b8a36fcd294c8e3ff2e6c16c9a8478057a34b7b0d7c5a501df718e45774c1b771f1166ed35890ccdfdd21c45a706ca0018d692c36111519c5e845748c54740c52826bede16fddce40a6008d8279389e06ca844ce3bc2a97e01aa70b92e9958f116ce0b86e8355de50ffbd9aeff0a0f5e280e5da60f53a1cabb571b8ea0de39bc16f7a25abf6ec42cf38fe61dc95e03a8395aadb190e1c3048a633c80047967a954147cb6c58b8fd9ce4183955a386ced7d079cf328cbf948a3c3a3a2abce189e514d6f91a7f6b6419a5f3722aeb99459b9ce2e1dd7e301d80eff06f3c1c74c0f33e11e71ff3f1007a760ce07de2d6c1f3fcc43f7fe20e363c5537d906ea26e79b6c7303350566003b7a783ae060a34d53b54d3c27deb448001fe7a69a45598f00bab8a492d1b5bacd752fdb99453ae28c803f2ee1f9b24ee386a4e0ecd7ad57fde370b6dd6e3d4ee7a39549f85637824db7398cbfbe9e47dc7eb0a56c2702e0b5d2f19ba557b06c27c61c1107b74383dfaf9ddf2eed9ada0d1b184cd5d0a8a961e99aa7b15a332e6756b6248edc810b40b763d25c1ad2fe45b43f00ba5d8db4ffabdb1c92f6d7b11446fb8bd1fe39ba5dc7687f1cdde6fc37e8364b2f2569ffe8af41b75ffe19747b87ff4eb75dfeae6e3f158f32a4fda3ff8d6eb3fc6d749bd3fe1874bb6ada1446fb47ffef366b46b73931da9f46b7aba650997ff487c1f2cf89feb9dbd5a62bd21eb0b48fb8d596673a3b26e94d6317907ad3d8d6a949e2f28661f4a6b11d877432d435668d5ba3c6bfd7e3a3460d1fb77b6334ff1897de4e74c5780c05e7bfe3528c2e6fad0312c7684d6be124b856ebe3e32b9c670a26ba9cd5719aa669dd0e3235eb29d40d1ceb3785623d05b363cffdec786cefdd7e6911b49f2b1c2dffc0afd1dcfcc32500c5f80fa0a6b1469cea578fb3f6f8b5a7b59cfc6e1479366db2c9e93e883ac70646ee0d6d534b9953152222a29c6cd31479f6a41223d3322e145d3ee438d98bccce8dac707b4ee1e72121baf208d13573d40f63fc1336b9441edcd1a3e88ab448fb4d8b6c279fab5d5cd25819ea9a2c358bc78b42459ed6e35e0f8d653b11a8c5ca707780d8f37ea2f69e617c04879fc626ee5e74b90bb5a24b8b53a22bea6c1aa3315aa6e73d2db9521275233ff226176b4591673f9836823e0296b2a844ac99697a5432740301004000e3160000200c06054462b13c0c621c08db0f14800e68904c625c328c88c2c118c7501cc4300c032000000000a008414c29055d1900eb293a019a17f5daaf0e7c61aa39382b5b2b22cad009e7b1c4f011a244006b83d28947777d24cbc36b26105d129c7488013072708c680c430caff3551f73b793d294c11c177aa18e8227d1758bb99f836b00e713d9de3541739d3b8d096015523b4aab10559da49a3e07b9b6b83ac0ad31a278718bbbdbd152e8bc3803b3659dc9edff79192a35fbb3f50476dac2eb3f026282b8384c48cc602a09023312aa0db868dc983144e045c285eeda57966f04e89bd0a14ecd4ff45baee944a75a911558a13571175f035a3e3b755a7a169c9480dd2660ac1610d15cd600a08e0b96f49c66020d8e2b98a5c6176ca6d412fe01e9fbfa45cdbb6ac3e0e08751c3891fdd586fb7ff1f2eb9c2a7fd3884c785a974f84a406cdffd1a079fbff9ff47b5faa79072e8701ed5eda021f176e19155718a7e87e617440880293f5f94f2000f5da8f37655fbf9c153b0fe9eb41a5b5d2fe66c65ffc2f78b74dceeb21c01a6350e844104ec725f191102b8e9503cada0937c35cccd00c93b702bd41d2962ba5e631c10063638da47b19c4a5302b74ca9438d1b42bbd46926f3ae56a2ae950b96111d592344d87b609294d98a11dd71910a3f5ecbd0cf5de1fb7a7b8631d9abb99b9577f124e9f4fa0c3c7988ebaa60e3e5ef7947cec1eff7fce47862c500f6176b348d4a6779121b4c4385057227e68478dafea658e354690bfe17fff16a0c339acb81d5a68e94bb3c3f7c1e7eeebe458575662b35c0108005d1076e22b09f56a3ef2196756df543ba8bf39af00e644db9ebb15ce06019a64195b98cc47b6786205a8adaba8a53b76204db7120c9381fccd5ff070827e0dbbc53397a60cac1043245b46c700cef3f2ece5e82df520e3f115d9dd16a887bf22526112df223f56ac8b4c89d60c71ccadbe9aecb2d6870ba75488856cafe82d652c6d6a3b2e91c6f79d4765352fe00117fcbb404be066c3b54659bead1f503df1f6e6c9618fa7240108cfe7001edfe5cc1e005958a61c3a823bf547382d99c2dabdb2635d72c31ba78a9ab420a11610944e646e2460a58d816c2e3c6f124f046e3d846a575120acf6fcccf73fd8eacfd8d96fc73588f0012b51a2756a3e70705bb572b095c6e8ba4c785446944481a4762c14e08a739ee2be1d40c1756ad5c25d43193db49ce7ddd156993b229ea1fa4c8d11a45062fa44320f1dde8bd42e1d78080b46f13b44a3ed285f00cec4ef605da236752220e4e3743ebab409c1d3a4ab879729d4f44532eda569927c5f7d7857f31aa325760fc27de1c061c537c38541596fa7814f41ef4a797041f86413a4ba93d74e4722ad41127ea2e5ae6c82ff64c8c2605a469e4293007765e6589f06395f96ac8381be08154b516ae8d763b7ebbe019c45ea9760ae429dd0ae731f00c82349bfb65112acb15826c6c0bf5e869d0c9a6dc2b353660e4dbc29d1c54f7c39b482b60e4d81478e624bb48d479aedfcdf955a27b2e8c1ad5b1e7cbc68458c9f4ff4c9d084e4a6c6c69832736df366e0b33a3a0e5bdfa9d92f3059b3a6e34699d8598cc32a4b0995c25e91c0cb0fe8b1566323f910c0eb2e67b825c7e2d50bf82a076ef366ef9be7ed2a54d1fa152eac031ab1a61f702743e4c75c293ab43191b3121b15edc3e8653cc964e5dd7843d9b90788dbc4a30bbd99a3979029de83e456e17391e3b2b34e6acb1f480b4ab8cd9b4bec279b79aae873c42fad29fe74b5f728d74a6b7cf539ec715c1a05a87bdb935614c0f42cce56277c4f2d9f656338135169c900cba4c16370a09027155d49733ddc328e9cc83c900d37205951a954dd4e4b1ff40f3ef4bcfdc59f0e3e2e3c8d18807ddefb08e4c2e5d8c4dc804924e90ab3bfcaebed1e1635f69f49d91d7129c9987b5d986745b120274193b6764768352a798087d2e4a19e81ae612916f56197e883a39556ea6cdf403c240ee05045182b42a645905e755024571bcc02267414beb48656b264e0745b4f22860043a1959de33c1fae4f4b70df3ab31e59f1b4578160b89b34d1c1a07733f946db7054a693d115001ae6c713859c0a095a672fc7ac65426e9dbf28adf4f9f0e5942e02c3fc6d2b312b87ba86f4e3abadcaa99c1438d81c93c18a274dbcd6174576cc8c8bfc7fc189bbf7c5adb8984d8671ef4818152f2bc15e030572120cc827da61d37222415825c645e8c1478641b2971f037357f67324d44791404bb65a466b984b88d505c7a9631dd410cf387ff2dce66179693b5a59e4ac39dac1df235342aa35b15a3b25a87d001a65dae9d09bd122b50b89fd14b8c20f24ef2599ee40a76b3a2cc7a141b0ec97fbf1cb62534b52a324f6f268cb686fd5431e08eebd4dff9fcf54cf752a58e46b02621db883ba6a3f2fb5df73ff78ffb31cd25b9c28695f4482293c414b9561e1f708ce1728a513d3de00ad4834640216d04306fa62b35922b3e6b17d5c5909c8d8d58818749bcb4262c0d630966f66d75d370efdd47d72aa392258d343d72d0b4b1b51a4fad5e3fe9de51872207bc9f0a18d2dfb3168a5c809d33d0662496275a3e2c56322334ff19084572f66cdcbfa9708b726d025efab8dff22c778d58f6e69053cb0b50a066f92da1c6b7e078dc124c548021a30a4b724b227373b8485494f37ae2b162538ec8871a742e40b1a17859ee3b307293b8ed0ad5817242e23e71fb1e28aef64aa595d0602a5b09b60b6b0801af8e936549f287e09c4f7ae9b977b3a9fe20cd8d783e8e02fbd261f2ac00435def7756592583d55135582437891c9e95e9eb768775a7e8af001af622b6d749223a0b1095908cdf5d9253d83c38b8d8915b884bc30029f82ad64b4d13d51c71435b77b261bdc2af5d6d4d727bd822a170c979264b2a5983024e0b57d5e57f1bd2710f3dbac66d40292675de9e03daede1ab154c5de19ed3d79eaae1b881b573e561b9f500c1dc6ad1e796a51ef3424925300a100fa2ffb1dc4460ae877605f74b38ec473a6a7603dda2e765a9fecefa074bb298345563d4d02d1aeb627c0d33bbd46274644da8db8f0316e936391163b3b880b4f911e60aa884238b490f9fc2a8224a105ee06138d4a82a2a5128e7e876b12a0d5ed02de252f2379cb2d8ca248f7185fe28a15ba085d3ffed73aa903741a3bdc980943941548c6ee75d6729e9147cd6daa94e90c863ce25d239dd298038035f606f3130ae25bfb2b63c437785b194db382ba5d17779400b6a26b84f1bc9a95a1747b73f59bab24492b9070ebbb239cd520de1497271cbfc86d5d9ec88b7c8cbdb0f279c1c876b6dbeef6a989071446afcf9ccc50465b201b94e847e2cd725f1fbc743a38076faf08736175c2851786de9598a0fbf644e4a6d76482a560bf00fe9e4d33a089035afbe0d5bd12222815778e201a62e729121682340e5a38eddde05fcfdb1f6d634f41dfa4ed42750f311b45e4740054d66f6cb69e5d1e60a2130f3c669c5c057001d4be079c01a62abb90d43b2dbc0ea7ff0aeaf7eb1778835152018d2c7188f7989901c9de80fe60de1fcbc8f54008e21096e91346c25cc21a9bd4ba44816e44af2c9ab7c72d7cc431b43579a867aecb799f0acb0fb8ac2b16d799dc6e649eba9fbf5c9dddb4ab307e8e567ab50e4bf214563c55b4bf830de85422c4f08abab889d9333a6d2836608a3e097844f674b9c097087eb42c09afb66a79b851990818a1cbc837e4eef42eb43de63333d9f7b735443ab8e9847e2a0998e6c7445b0ce9a3c10f241f51d5cf1cf1bc994b3e8d6ffeda570438ca6f895ba5f3dffdd2b6911a1bab915d2bcefd77b8a78b858d1069a6be01edd8a1728cf335ea22aa8aa34806853e067f0fed7c2d3d412b306247000f9038e06d7949c7693459c75ff573341c776fd089008a0164421ceaf23fbafb75908bcf4dee21d435558c0bae84a481938980382e8fae3e92cfca50fb24d527f63be1d41cf4336dfe86d28bd1381ace6ce8f735b983f9d015ec1ebf0126cbb195a0bdf37622d0fddeb4b059cad94ae552b69d6bea8ee1dad7c42996a81b553bada3db6e5144805e0c48c1af400d62b1121e3388ac13ae6179adedea904b267b84c0d33660bb820a677e794130d487a0dd6fa8e0312239ca9a6d3676203c439b2f5cca9c3ae16ef7ca0cb5e481d0022d409f7e9dfbe7bfd709ffc3443d497851f227934f6180167e261ba92f28462cf4451410dac9b75a754aa6706fc350c351ebc397db75c8bec8feb5aea32b0cc8d0342a5310c01c6cdf0834b4cb5b5544a7433d6e176511849293aa05507c075fdde1e2cffe4baced6c87ef62ad75a698c94fad76e513c5e6c0fb1dafdd1206546ee821b4fe30e5cc1ce8b88bcd0afb749213177292a60aba928c65ee4a839590fb9ef04b2bb11d5b42d71291a7c438fd1d8197a107489c7c6044de5296689039b301f36d1a6966020666215dec1a77a669f2db466ab35b6f6ced60b0224b1d14121a90df5b44c038ab8ad6c14f9c85802ee962c69d13188131854a6aa6a95d8c5c0548468831bda930e602573b653feb5a53ad551f7a05bdfa8de2d6d8857c3bbb7cf26d88dc23994114ea17075c4c903680f53bd704a0b1c4880348f59f40aafc73f50b89dd2809236c5ac782d02edc3a194e53ff6b960f702007ca2ac0f651b2365d945d975f98e1a4b724a1bc213b8e508693d4fd2dc51f023b9f751fcb121d5995be05ae33272223a816fc9dd01fd65c927ab80d5595a29167b939866a17cf7246a068d9cc270f94874ceb7c656e064b9488394703445cde77c7f0f7ccbb0ea546c2e6b0d557bba5e639f4625c4c6cd7bcdfc336839baa3f7529a4fe4a840eae1e31567863184a266bd7579221a0f9650456000305dcae2d3b80de42615e5360b86201e4df8b4eb09c9f93b52bf183445fb7cb6c1d73f37fc13449da8b8c68ac3b74c2a54ab6edba3bb04d35cb1ae5225f3e17242c75fd54376ee79050e347da36e0e8f95f3e71d6e405b40b3935c4d142850862a088830926a705ceec5ee2a4fc56f1fa8fcbd5ea7b2e3833b038091ee69fd136e0629a75c40a9e1e77658e70356c200b7aedac5a801ca806da1de0e6e93727c0d097c7337b55dfa23ced6f6d0c6268b10b6a0212fa8b683906ae8d7cc793af0a0dc15732eddbee9c6e8828cc2565361446865f4a9bd9543cc5f64b0813cbc5498b40fc521324cf224b9892fc75c4f75644ba1733fd56ed100f2ffbfaa212888322b4b30a96ae85d86344abfab5d6352fe199ed76837c5eb66b975e55cc882a205a830b697f7605162110d45eb83d93a775916512f9c051ecdbf32eefe5baf62a37e5f0dd23fcc8a6d0d9312044ae95f2b7b8e2662074eb799eac2b05f11d8d3343aaad423e5afdce6c79af3db40de6fb395a3415d5dfa2d33640b7e395e0dc5392043cd425fb9a1e88adcdbbbc5c5c984e7b1a763216846014be5936c6c8d4daa9b7ec8338a614cdf5971dece33145a802fea22ce1d130c772064a1230260dcfb7cba3256f8ec2f6f63a97f67478c69edddacb9fed3443c18427d87070d826530bd01fb28443b3eb419c1239be443f05bcc7aa58a8ddc8e2889e1fe27f257bf4e483f9c7c7cc60b86a7dfdc4fc75bb65272fd24bb51535cc66163257549ffa5fd95b64c194e6fd75e9bf59f1f163c70b90145346bcb2355a611f981c323b38936abac688b42afb804e4567f545a8538cfaefa20f4136ca0b7a78aa976b3faa9da115f9dc6697dc8afba2d3a2156478a8c46a3a6164d2643f44232f9dfa09e66d1630622cb1e0d7896919e2d56b465629f6481b7f306c46a0013c96bfab230f32bd065b71eac1b27e9c81c4222ffbdba7f3a34c979b4abaa634dc0aa59ff0f848436db8fb18100727837c04410a92603d5807656199d85287c8360371dd1017294dfae4113ab515a03d1fbfec65cebbf1c4c28298478ee952066868d8697984d50fffb341a783ce149db0b45ff53eb601818ea598127b748f92406e85ed5c6e57429055c68f6ec463b7b5588c901370fdcd6e1650ac885ec9b15c3b30fc1b4b1228113f9c4f81c0d063156a7089c1dab501e4e284cdc1b79426bec73ba884475b0b5dba4cc0289eb76a36196b825708edf8274a536d3012d0d55ad6b00ae7e072d7fede7c62ba3819f89e431362bbb3868f48b2ad455adc162e42718c23671d8a968a34651e136607b7cf8bc75c48dbacb7401924bdca51508886945a6f582112b5dbf878a90ca2cb1f7943debcff20fb3e182ac933712098e911b028f580c24d1581cc775561d4c0f53d4bf4194216bc677fd76b632a20267e5a54668822b52d51d8784f4b336dcac493eff7650b38a35a3562427060aa0b24032da8f59c503195a274a30b1db5cb5da14ba310d537bcf00da0b4869cd85f6e482191c2c0793277bed4f15f6795e41670a004ca9dd99a4b61679f608843e84eb1dfd79bc56a8722abc33c5b1b096d3f9ea8502fa99f1832e2e2823f77f8acaa7aed5956a6f9eeb105a013f86a9b19be7e9485462ea5813f9c1536a876d06b0cd1f22587bedfb53cea8d3bf0eb24ceb1e4a6fe0b2216ccddfb775dcb134aef6dced4f4d47c8fef7b66a1fbd2ae9c027efc15ef8175dc7e22e46908e32d63b248d36fc555ea4f5ad19a856394b1582b1d20adf9e3f5d32cb7e28898cf681bc335eee9052c45320979341f4e6b6e7dc2d0940636a02fdd3f03e2934af4d48a5caecb133b666571623d6d2aa7fbb8315114506ed731506ac25232fa59a9adc163e04f8acfe1ec8fdd7bd921e2b5bbd2dcc7a8c6136b75b8acbf87157941d9ba6c7d3555327ae3d412c673a4aa480d2fcce806b3de6fddc5bc6ffb7d9f7a5e2a6448cc212eba3bab66083fcda61967d7ee97aaf8064a9ac4f5ada5c5a95d4797ed6073e022bb44ca857204dffd7111187cd9d4b6b242b4ad8db596b098c42be88e0b15a03a9bc491c94abd1fe2abf9d414d0f4aec14d243c4247e5624b46167aef4f6464dbf587b03200a4d10d6478b3a55d531f37480494c401de6b81763512a23bccc25e1b91c9e2ce54f1d07300e57bf7afba90c84fc00bc5d5ed77d40b73622f54fb14dfad9f96914683d2c5d1ad3f9faba888372d7b7ab67e4d667b7be4b69111a333b0f772a0aac1b441d6349e512608d2ce2a463e3a6c1abad66c4a43e4de235b52b039450a5ce4d5b7b368d3db8dbeed7ce79b39ea95c16905cfd8e1df642f5d7e141bbed9d482613483bb2b54205256500a9f740317418c590b3bd13c7eabe8916d476cd61a704014395435fb47de6e0c79c59ed2ad4d4971be6adc329bd5c8adcf21adfdf9235e282c1503f19956d9be2f3f50cfa119ea31742f8710dda4cf9115212ab3bad43ce44a9f054d1b7f058f5dc982a1e1232d3599b9c1dac23f406f313013d4d5d821df91058bcbaa273a9eca83de43d7d4695ab56813ba6f84e016900c6eb218d76be341d587cee067733a6c680497bb715074005656369168b072acb16978de8b743b30b9e94e81524af37a4a0192ff00fb0f606c099e5c408fae3d5547191cc00601902470e07e3cbc9ae0912084e0a551604cc3d5aab8850042799b41533776e55eefacb2b58dc426651f2a084faac327b2dcb102c19e837af8929a145532318d73cecdd18c8ff460b8bc5990cced7fd936117e1be4f42761b2a28699f6b274e06a348cd82e3667c70051574b2d6195d81299c445757765bfb4580ccdda62dde2f0ade5ba5144e9f148ea41a467e8ee9d02bf639f5190b9a635d59eb0ae9fd2f9595f3e6e47df227544b23abd608945dbc35bca293566c0a5d921eefc3c1f6ea6a1c53d5287409ca22bf3a8e6bc2f161090d729766a01d54b3c7bf47f9a51f1997a441118d74b6cf00590c0f12855e44a866052daedb94d22918728bbfee56796d250d458324ef9467ee5d83dea283145ce05d9fbbb6eac22e6a85bd696d62008f04dc0b655a03f95492d5256f4e59b2cd0505f0092d56615918441914b1a808f00a94d57f064a9a9a16a9249824e9140a32336038d4a414c8e878a8fa3af28da87a5916a591fde86a818e5b02d3f3ec6f1c85e951cc900cd5b329ada2286c28f2f6492b1dff4b8eaf64e0898cc7e4b7f49ac31c36f5eb4428f0f8eb26359180ccdecc7409506a915df0ec1837f832b793aeb3b6b0313caa8d8b28d77593c5fb4442bd25d24f9f86056f75796c7be56e7f24dc512abb7a95605fb8a0f3ac283b21862ebbc84066269a9e6710dd42486717490e3b5627f7615ff40b8f16ee59aac9b46eeca72d578731ffa6d9586ba9e590e3a0f31da9a239c010bd625bab381c762e79a3426f3fd09278e311e8ad19273c4e390e2697d6b6a897291ca89d6282564dd6c8b2f0a0c4ca35b107cb35c88a6021268e6db919507de4f2c2fddae7c7c3b13eb57bfc23babd07b374f345584e6b69290913d8b43c361269892682ea5c7de61cd49a47cb95e59a5256135cda71e379b6c2da7c4e7e377ba84b26dd9306008a2666211373ef63f6d686afad62816181ce1b8f2782b4c86bdf83a5c6e1ba68a86cbc53b1df1e2759b28f5800c915f2a71d8136b7a224847184d10313dc60752a312186b0ee3bda592b4e8d7d077629c25b88291c1a570356fd5b935cce805ba60f928eb6e3ff1f31fdd2ecf8b465aa932fb657e81b9c5d77cbcbaabad5f3dcaa7b51f7d40eeb24c3e3e976e96cb9804b28657b8cc71273fa04858e6f9cc72ada0db07268b16e1eff2459f9aaf7ff8487b2b65e1f2fcfed324173b82f1eb84747b7fcd047aa1fb9acda797b1e722879b03976dc3a25deb95142208b1b7ceaee55b5a9e5551642060ea5518820d3288ee80c509467279ed00a1fc5f27017a008aa961089343a50b56bd396f4a0f8b42914e0a20c9117cfa765b79d147a9cd8841295ce469346ed2a8976ad4bac42d119b6687dcfd6de36a95df29756bebcf062ad8db81f3ddd773b58e003018505df249b1a836ba489a8770f0d8b667941766f1e43312aef4a9910e7b736f560882bdb3b3e8cefb5ba41065a0a16e4103f4069534a56ec678a8aaa96af1ec44c87439db43caeadb131f670c06140ab37c0debf21452dfa286d81b055e48ab5a09cd83b96914d9ca45a768cadd45ca3f5aa7241530824ddc456dc4004ee0d37fbe95e658d19cc37825ef0bacc2b4969e6be28d42ca582dbe51cad28f5d8cc2f92eedfcdb7b864757bda562ee4487e063705ea0abf1b77f8be544835aa1b7763a9f9c6851f6c032a773a0904c5033121c2e11a55e85afdea2a343a9ea9c867589660b8fa0683e1e870d15bbaaa069e98df036e710df574fc150b3bcf5e2137e15d424fc2f31a21e63f8b73c8f591318fd9123f44ed832632dec72c3f86ac432112b72a94a73e0376ba611a5bfa6493e75446683d3a7d3fe690ad11d344f2d05ef01aaf2c8695b556050c72bff27fc8a6ab64b187112c8a6184e5f254d6845fe1eaa30e77133deccc89cf67c83788e0f5042cdd8b5aec0c10db3125b9984295608407ab301caad00581ed1547bec264630f8730c9fa180c107ea3d5aecf8c3a351ad68e812434cf1cb86d494677364bb2818b188ee6820a024d253355d64eedb7b1887f1549a31155db629eafef0980a26642667717aa1b0b081983084aca6b890c4ccf878bb12fed8bcbed1bc6a6b96a6e54208aee1be3cee828e050420ff1e43a31d58ce7e7a9a834bfe4939f23475fcc89dbf0c029c880f0237bf4463b12aea71cf80ccbd84e4ed9aa1fabcde1f95c878ed56e6054f5744f98eae9675c6aa899f42ed07ae5f495745b43bb91d719c069cc81467d51554fbd15d9025e96ef8267ead9a8d6518db0c972c75d218da7f15e3f5a4367c82811a2c002540ed7cad15888024c16a6ac14658b04237937e57e2eaac86b4d9492b24a49d847bf8cd3f9f7489856e4a4b335170310a477be7d54378e38861defad4f0238dca24999c6e5fa61b93854fc3377e23a0673a61e6092c0447499c11044c41f7d395c112d2a4e4191dd634eb68e0a36c54519ea3bf08b18274ad7e5373996c64c1ae7ed31cd98c61d0fe0f30dbbc47d71d3535a989385270c1769649fe0da36cad942eb2625f15844cfc29029082f3c519ee6b9bc7bc7225c0d532ecd902369169f2985db0eb00b6235e2149b744872c1aa04a760ba2e9aa5637ce3e57c6ea35279b5fcfd2a63f0446b2b5a73c345b25849c566a569c36f6b8b6a27ac362afe36a3cfc8b72a2287b9bb9716789afdc9e2779583284e3ed07653f8fab705535291b911ca867eca588320080e2963ecbbf8d92c995d60500bad01b95cc191d703d58ce6e387ec04631545a4b6480edd2e5d951dceafb102a5b76da3fb38239cdb41015e2e2c88ffbd3d8deb4a8f9adf26e218bfa9c2b87a7eb43941bc685d84426b02d611b934c9859779c8e20ab85802bb33ae9b8a171a45e91883d540dc33f78b23b5a32751eb7f99c6318216477b3d885d9d9d52b0922922097da10c8d89a13b0ea99472634562d9d918cdb06531daf0c996154e3c23ac33dd8592cb24160c4304a18e8aac9f8d462f78fc3154253cd751d32370c1c0847a0ee2ac2e7eab80fa9fb3b76c7097b5c4a02a3287052db91459556e0ff1f31a21758a832eb972dc34c5ec24e2951054829d6321757f878ee5e43973c6e58ef2f043ddd7dda2a36cda3b3c384cf315939894c76d8c778ce0c52920159d8edbf565dd75e97165be6b5923cb28e69ae75bdbd254bb5108067e9d508258cdeffce8548b291a739761f02ad01bb9ca0df5854fbc79f8ce3d97a0203cdef3278cc4db01499745fb4a22fd95dbe9382e4bfa9ff24d15c4bbf80ffec5e1e1a47e3463127b79b9ca7927289daeee43c7f63f562da769be2df57bc279e3dc45b46f494ed86a38c2ed162cb8556c24c644e417d9dc9eb4c9964e08d232543fff14676e96e65191dd5b84e0224f26a3224e6dcca96df047c503b95f275fa745a5bec4ae24e04dba392a97868f814b4fec6931f8245abb61e325f1cd944a2847153461f5bc0a007a67a874826b5ce31ba37212103d9607da2354445e50eb4a5112f4579d676b88a8ea19ae3757a7c95fc8747bffecf898489e3d4a798fafea18b497d8a278a41343a1624e1acce076ba7df9a844f3843265e0b5cb9d47317ed0b3a446d0d58d7d6614880e5aef16a11fd1a99299b03d3b5ba39201d52358d663c5cb4dcf633b72d9ef694ad7b87062c83fd538f10ec794a405117ce2364213a5caa35b1242cc4b24909d868101c005771b29f34f80a03e8ea57a9b7c9f648ed0c0768bffba096d0c577dd18154759470dfcc3471b03eb9bffd731af592d6b67f57337c6c8e867d622ab8b44479a4531070bef8dd415d2fbdbc911f659a2349c4ad99b6bb89110fc0a148c96cacf56dfd8dc4c775d45edbb5d55c294546ac3033fd7a5a0724bb8147009b7a8e8ae2c20d7789b92a56e46baf0f3a88df5866769384709f5b6b38dfb3145afe0b505f376de9e6581d386b8971deef307a718aa47a97f04ddc5beeb178264166bad1588367acef2239bf81eaad6104df530afffd2e27dce3b047f24d7a95e342c3bbdc2af04bfcabc05dc7bb6f89c3992d155ba3be995cbc9a112384846f0ab644c03d1e52e5743325ccde19217835b40c0e74203692da1236afa8fc31f29889824cab849653a00c8e773d07e1f2c229271a07616147d2b8606ad4db0e6ef6957281c2209676499a0c86867afbe066462a175138a5f288b95ee0e95a2037d4db083773a7dc2572329346cc17d90fb44167b0ce22ec6f4bf9c69fec96e9c0b6a83cd92e32ce22e6b9e5b9938214dbc839b8fc37e57a7953ad7c726e3d5eb70c3a63ebfc60bffd953f94fcd2a7c9d433b632f0fc82dcc5e5ef38cc1c35d2159d563c70539063f55c079747c65c27674dcc79458716248cd4dc01fa5062fe96ef85a3265ed16905e0f12b7931cc1f2334f369c02b1a590d6c7e40e682f96344932348baa2ef82bbe35772fecb9f463761cb4b756cc06624e608fa25bebcbe92c730b37a777c245fbcbcbbf6fdf141b6039aa063c0ce10f68b75f996258ff475e08af6ae1dba14c81ae82d04cd8f5cde11d9842d8fba215ef878cb2be249c8d0812bfaebabcf4c3df75a9e97783bcc0dd5cb96889697b722c9bb8075e18afe4c2b91d9006f5d68ffeee43840fcb1e5fbcc0898b5783f3e3b73d2f2914270c771bca23ba06a64f8d996e5d2f8c10c633d8623158d2e835203a77d803296960f2920a9d4825e8f838f4f751e9f2437b3fc71137e8e1a9b4dafa15e5707846dcdb6bb029e44fc0ce1fecc96ebfcccb68c8ed684967f66182f89057d20b5a150b8fcfc9297e9caf28c4bd4283326cdd59bd90f79b9a2721e5de0f18c038e295c554f3f34dbaee8b046155661ce61dfd9d69a7c45bd45c99db982a1259a1a5c3eabf455af90c581998cc8a7dbc19150e164f5ae935415a2e7b19f1419c9eb980e850cb77079d7de09eee1988595287741b664cd2197e02becdba2f4ed3ca308d035c72e03eafc16052e921fb730be2e00adfb24c9420e07680a71fd17415388938983e63d65a4e94e25da9181df5a877122cbc8e918519f863c41be2f80f340ea0b250c753368d44de3d4b17f67cdb9e9ee08321e317ec0d844f9c74f785d398909ebfd35de169f5d8cdaac879a12204000325a1226d784c0fe63a8e4838d8dbe0325c82a354d52ff2155da890289ba7b55c01158c61f2e5a59458d1582ed61a5572fec6f5466c6e08b49c6964282412d614cf775d97c67ddc3644039c898f0c08a7a39e19b30404f41ee8c28e23f40c38b079d5185208c71fdb85831c7005550cca7d610046cf7bcc05ad4fdd1672c735cd962a2d04be164b69fe5e321f0b0e8ae89eb9fdea0e8ab91e629f696cd314cc3d69a131a94267cac31ec7d42fe28fd2f043614f2f654adf249b4d1b3bd2f14fce96c188c01d7a8076e15eee3fad5a52d5baba86721d9145d5656d5278b47cc3476df9fe94d532bb24a743af1846478c42a513d0a04fa08c92273473e4ca950d4970573873ee26bce4ea02b47ff8cfb26976d952a4079d2cea7d4677cdbdf7bd9e2c48d981a86eaa15aa23ae2df3c5592190ebc807cd66dc410927c034e3a8fa9ea3ea64083f7bb338469cc405cb8f3940650bc72c7e7686b29ec070a26380da047cf044bbe012ed1a7bddbf32244dab3b4e0bd5a313148be71291284a7df8347d8a8c46fcc6e2892a0a62fc61a21bfde89578552a94c6e86a06b91a3214f03bf0ae1a79600672d14ad424b361db576816c42de70c7870caacd9df606ac5a928133168e0d35a97d8e5afca055464eb72045b560911483dd5ade5658d4461cb91a01bf0cd1db54f8b5363a328dd9957845b6227186d631204496ed1247b8ccdfbac75be174bd77f52dc1f0f506a28787fd5bc6cec20a7ef3117e4c8907c88ed879e1b33d448958a651d35e8dff490f769cdb2c2344e522846bc5961aec96b09af1943414c2341e156674dc360bc54152768d9d48476285bb3ea6a9a38e16eb2d138361a1912d4682021b1309074fdf002174bb3ae4c78730ef48e23512d2fe45e5383c541775d352b476889f0937b88dfbc1289d960b250943d85a3be7d9b001a1968e1fefceccd69798c7ae66a712c6d7193a2a22e704b2666c8f0ad1a83cb9726601070f74d2207417cbeb50ad45359f06486adb16ce93b9463c9726c8d39a3ccfcb240e3fb095d63ff97819a80ef5bab90b96c4262fdddc2c8a09829e9e50dc3b8fbdca637352632b41fcfea41470001c06b768a71c47d23f0bf3566e438b078c3ed3697fdb00b25c64057a406e9f231d540138213025770cda40f0e48732c2191b62431657fb82244b253371a2daafdfb8d2d42543851f9bf2a35bfaccb33aa89ae832a3b005ac74f4457ac5e9860be13b010088971d0182091966f593184d1a76ead4dd98cb8019f394380454e8b523e7e8492a120d1bb0a2f1cbbc916d2cb28c9c0cc1f2f874b34af8f4bbf4b2aebdf6ff6301f229e1b832e6af458ad50ef3ff8fc1b16be84705c0c65bf1b28ad88dd959ab897834c855be290407b55ff3f612bbdb2534c6b4c18278fef57726e4ad480b2a702061c24c40eff252c737371f3f126b4bb09e7d650fb9d2a5358256eb2fe54609d7de1029106404c6153bb745f96a467014ac1fbd7322ebb98ee05686789fe6cea401e05b43ebcc3882415fa4f36e4118b4a0ee8af827477b2c80c2af107fbf35f0486ee5228b4b7b61e26e986420fe292693921934471eb954dbf81272f77efd732a644f7f34077b2769b30f45e17f75fcc7f679deb0018f67747ebfad7ec470cd28ad1d58808331e1c6d7ba57a123a862c2273d2632155b6a7179a5d2cba2810279355e10048e225af5f52e08370b4099d00cc0f673c78fd6211a4136e8a36f2ded0e6bea4dae678875e7cc490f7d3cc8bbc4ff95ff9bfab31f7f1d754c5dd502b1d4418e3cc0ac82a20a05df1d5016d3cd5f4ca7e532a2e9ca0f8794b4543951fedd6deb09c6cda5af3ebc6c9b3d28f146ea01915ad930985c03c90639c8a6f9717f694b9526d0dc24eae64e2d8a710c604ec4c52f589ea592879fe2e40be31135582c184c5059d32f142ab09dd07013bfbe1927c098542c3202ddbdf516ba7b040623d4b729e6d2022392e6460cb468fdd510791f3252ffeb398632e8ae717acdcbb2d73f4caef0f834f86fc8e80cc2e13de7cf763f036954416862a68608c366cd16d2c1e4773f4f234eac19b7355f917e00f15526f590553700549d065b0a2f05278b988ea407495847a1de0beff81b8a5d43f0f31fda42321e78ed4d0cb6c43715517064135bb0d89a2f019671c7a2192890708e5ae896fd6dc9aea5817afb1cf5ae4676bf077c635aa5028e50b9f51c5c78f0c1a02d3f1ca1fb284180bde3cbfd83b8c6f1f317ffcd2e718d6a2525bc613e6838906e2b58c84d17b51aa91cb451ab77d007e8124b2f59290c964167acae8407b015abaa2cce5707bd41c1051ea72ab23813e6cb4eff0781c940ad1af409e12c29f8b4a2e096f70e116b7f1a63dd68cf8d1696ea4c85826a4c08fd92f7dc44141847b118b7c740bdfa589d36aace87d5cdf606c668f2d7a5ba6b64fdb5e3687609861665bab0a2cd4fb09f9488dd84fa3c37ea6064d02da0d31226fa03d8ab9784c26f428d4b15e8384daa890b9eabc2a88f5f3f1f064aa3d1584b13cd16826849c5c624d2ed858f884f2ab46c2ccdab2fef40c13b576425aed212a5289240f16e4a57ff1a4b7223920a293029ede090d177fc87c729b804aef3b5467d90c904f20f15807080dbfae3bab7ff726fcff94b88a8e74a580d9ca4913c6d07bb9c4905eee5d21207eff1795beaffdd8681d1805a1d90a7fadd194ec1b62cf277acf5b7bdbb541b9b77ffe3dded884a585647b76170d031e4038382eb02768b1f039c24231c1054410ff65e012f82690fec73043a7acf13dd754cdca636d7e653a74ebd537ba7fb9b052131c88535401b7cafc22c87420e20f8bcb1b0ec53133f0f2164c289c36633764bae36f5b9d6757625a8d20750140801a0c79cf81350adc11363d58adf634888f04d97475f15c299da57c85c09fe5708f18019d2489145dd4b7a1621285cafba05daa35296536cb4104f326d4666bfffc0efc9959c681bd17251afd463603e0a030ef1f90f39da2e40cb0317070a21ad448dde0e644408b18dc2314f3772ba530f5e4e4fe8282a4232eb13c27d59780835e190df75f8be8871764678d45233738f7240b40ffccc6fa0938869dd56bd40aa555155b5c2c291b1dbeaed7c79a89be0bac4d00defc1938043bd50f8aef1b8183ef3534a3a8e662386f1a886b7771f099597431d23e27fa077b21bf60923895769835de2af9d82c18f50e2369b42ed87e8c16ad50b9de4637a195edcd8e45adf6ea6263a6388ca43939ce7d2ae9df8bd7d2d20ee439efd8c4b4d7af19c1e2145c24cdbcc77a5207d1545de72f359836e3f875d0021cde68f11eb07bd8f8f9651157d37126d2915a4402dc9917f7b8a466e4285e97972d174f3a8c5a2d4900a518b972f9cbcf3d8865773bd8d1b10505ace5ed7501856026c3a6623ea2c443c59c12c6cc26bd1b51043f679b583fee7a237e84334df4a9910c51631cec86b28955297885d88091b2c054564114cda82f2eea81b8594031e7aa71d5af80ea138f131c454ca2248cc2527a1e0f10d1e3d93ae5ca1f0210bcb02ca9a6664d5cd049d822e85cfd3970843ac63a11ff3e4de347c193b3b1116fa3bb1734d9c25444dc74dbdc1109fe1e0b6497a3217b64407642c0e154d5b4463ec156d6f94131bb86519116991e4b5feca10a7ffecb419041514e0c90d245954791913946930f6f732a95bb2e2ac2d5567191fc926b67c605d66b55b8b62ce113d25f1d00c07fcaa001e3329648c8e8f9b1b25121f0cd12e5892a4025a883eec8afcc5b0c23a8888794c922f9271263139b0adaa4cbf9dd482559e249dab41b0a438b8d30c78b9646c83b8c542234dddc5287d53ffb3c772b5b69b2f94646a8a6fa761fbee47366f64b7f7b0fada2bb74ff27ee90068489cef912057c2bdc143a783a2feb35d13908ac78e9678b30bd46df17212dca76198e3120541df03a00bafcc95fb96cd1ac13ca7e4a6f332e8ea7be58678ceeedecdacebea40ecdf1e98bae8b1b2bc0cdca2ec526caa1cf532e5d1d84d85158b2370f7d24fe3e971d5dbf183ab1b3dd696c7405b942c082694a3de3b8fc7ee5458595c01772f1f0e9e1e11bdd743278af62e4bedec1650fc9a77657f838f4c4d2ab85aa859d1a3ef3e57eb28e8dd82d124ba1b0bb235bc9b62172d65e7bbf5edd43a668e0314d3c7b64aa5040e837cbe095ef7a6f52bdad5849bd5eebd2d3b2410ecc3b6cf7854cc0ef97c32927d39f3de227bb6912c98f3cefeffd87951c6c97b40d1f75ae3be09f5d96645817b660cdb9145cbb1db3120e4f12ccc45bfbd38bfb8da022f0eeb9cd3df60596be580c8866a47caa57c36ac76e92ac0206ad7b51a33edbf6667bae552f8e7689e325399ed52bd96d399d62f79ad4b6a4ccb6bd27d9de126434377578eec9dfb76817632ead6db5a05bbf6ad9f00b4daae050db948df91de4bb376bc02d4b3cf353cdfae2d15d5dd00f55ed42b5950ed0b6805773914fc254f19dbcb65355a646380c294c54768e7d428a21e1109bc7d22045fb9e0e0f35877bee36abcad8a49482accee9688411540763066db2515e5ccea62d23a013d05c6ef6bec4735a79e1d81257a5580a5c7022a04a9994135e2b713368a2d1283f0168b39792f4d4002465bdc09b3bad08b91bb8d8373ddf2333d49c7ce167c26d2dcd26274acd39fb30ad267cba99981caf93091c09950056cd04025a428481d230ee41c289f35c08a3e9300171d900d2067d0c025ea6d06e86a7eeb11dd66229bbb0b867e4c9dbfc31358f3e2be6ef8cf2375f40097693bd815f875dfad62a6d43bdd71261b2aa166d875d31724756752aa8ed9d09f758b3c04919edbb4c24cb286edee10f1cb30474a834ba809dfb9ca28ccd46d76f5cab191162d7cbafded05a6d24c7da7acd40ab0599ed7bb61887999407ac14c374031ff49b18539135ecf4ee6aa4aa0a5247d935104a7c13403f9cc563f49c52622f9e5ab220c9a6f3c732261ca637d1506b047623a6d45048cb668eab03753c6196341f5e4963a1bffa7cbc0a21b0a6128cfcc90b40582a5b1b99fa11e2e2d6d886aace343ce6c9c3841c6cdf02b3c152156cf3ac46ca4e223c503086187ecbc9cc4071b38b24ac7f27009551b21bb2153b638284bc6d5a6c3b912b4c2a52514f155d5dbc16090ed7269ad884f63cce7808c628d1430367da845940f7e07b5a398aee419a709bd4249ab56f796854b0860db1628f5ea3d58d8588b96c44670a0e6211b77a6166f831a9764d5b42dfdb884f0361d3dad61174955aac0e6796a7ce22c61198c9c6a23f8981b81cf74b409e9ce62ed722e6db1619d8d95ba4af715dfe7550f3e5cea909af171a1a2dc9fbc024e504206011ec128f0c5e947c353b7b8c78194d5a710039efa342f06b88e156be0f474babc25165f1670855638ceaa5763d010b416f1a9373960109449e4d656990b18865a6bcb5df08e804715549b9cc5d127b24ea75f8c654dfe856424f3384171151ff5fd4f862bdd751ca80e7fd81ae1f16d615b6c5aee0f0618ae6942c52f4250ba37f943b0cd4d8e6f50eea01c5512bb42d3d721bc978a9405326211cde8a0e1f70a8ddd230b596cd3401c29845287ead16f905ca437fc022d05aa53f068f2d8eee304dcd431dfe48a284b504eeac75797dddccb00a0e00a8b699e9f60bd9bed51356d12bd4f8934fcfb4eb5cf7d09d698ff5b10983e280733956364872b8817834e091176308b8b0b6064eea32088e41040b0214595e6f2bc8181516ef150eb01e3a7dcbbfe2246dc1a7c1441b0609c888a613ae930c28ebf475df46e23ea89c1d78fe323afa9b3599535c6c43a7386b52ad97c1ae56ea428b0d8971e67f8bb4acb9578fcde4413ee047a9bf204b49605de40856a1057305c514d3a798783aff7b15bdfd4cbcfafe31b85af63b77e38afddece6cbde32d557e8b12590e1fe7c75060e43000000722754ac9c5be8e23df4cbcf72e7e029d5cd0cbf97c727b7fadb36b5de6609516b8490bdb7dc3b781014108d103a6e4b76573ab296950ed0eded6d817378824cf617d7ffe2baf7c52572c32d11b215618ea7459df7d850bd35d46cc35343cd7929a153e0cb4646d22c61ca5461b3335f7100300e60be088e58e03c8de028b76da31bc526843e48d8ac9677dee8b4010814e4ab7f40209f38f000870b381dca86260b1eac01881040a1d7164220c203233cd0a48f0d0ab0221d50820caa263379dc20c427073b2e08c961083a447e64809c00f403d5e9004e876132735802cf1cded086d187231307184c1e227158821a4acab0050ad0a0f9bc60307588c04109433a45e2789d0d7bc9810c3a736801cf268017a521c2c50aa887b385156ce20043058e87091c8af2c0010e4490e149c26b0423e0c16683074b421736a03e5bf0d0a0b32141a42f225ddc4414d448021b4944c8151c112e46f081d1a643240740c0a182c816a025d8509c21b840f41ac21278549d8f128ed808e10b1a27837304222f298a100520d4a6083f28c2128e4cd06b0961b889c315281a2620010709344f00958a84610756a87496c0451544d84982c6d128a18a2018294212da506404544c1b21c8808810aaa0010f3a4c0882630431682019223a38d8c10b64e024a10b55e8a0055064d9159c0e1122b8410421caa30436d82c41041a66237974a002992a88909170a44c1350b0e93441073fa193d7a4d102c743a408721043c9c687488d145cd0284df31011034d0e845c211bbde48b0957d870a6b8b102d4f1d8fc6027e4f3033338a1bba5acc2c6268553c50f74222a364e15437cb62a8c00d312e6a653301cbf491c3668514d9501d00c526881e3da609df32d63ae7cc9179c734a9e23bc00f7cd9067ce2965633e5a4c81e3a17c86d185f52b46108e19f2d80140c10738ae0d72ddcddb34cd8a0101843b2e21dd734e297db4ed317960479dc40639f5a5bd81aa3e9a156f12cdead15df40dbab2ff3b40bfa01f745dbe6717bae48f5459cd43d77dfc7cfdd0655fbfc126f5f3bc4991e46993ba43344ecd9b4e19b2337966cfcc626ad12a126716993929929ea1a253220ebe85aee8bad6da59d3acf82945b3e2e79d34a3e74933a320917ee68c2f2ee023a00be65bcddfbfb83ebb9a77e5803fbb8e67a0dfdb921d745d4e6ef216d07f5dee82f2ef2f2e0a60995997eb2244c77d76171d0e7a68095507d0fffb83bec33e9b28cfecc9ed6d94ab7ef6ef2777d577e580efd977981c74d04da6f5d162044c767b648f89953b7607c7d96346124a34cba7f6b3dce9c144c81ea982846cf9ec481ea9025b8a66c5abb6ee0548e9932343640d63a0386ba09133a753e62cd229140c387e1ae91410c4b24b52b2a7a484a42a21718ac4c494a4a6ecd9915990c8f9925c342b4ad1e5ce6b9d3792a653e69bc744a1ace98e656236770dcffc0cd3bc374b6eaef3a91a929bb5795378fb26e5f60ac86d93cd061d191c8fc4d632e6256124904e8957e078d9b160f3289be7ed01774edfde529cecc491ad38875052cf342bf2906f20cd8abf1d0345b322d6af40f7bc12f10b88281c9fc48f965681e16898900615a8061e1d46703c1272ce9bcf219d12a980e363d751580923632414fd08a46526f6f96bc402620b2a4a8569205da3a1e81a91a653626661cfe6bf30677303c92ff02b575ced7c89ac90ce665748963f32be81cc740afd028eef28a010af0aa53ced793a9b890b442cdf76088d5269fbd5f24228631e469e2c6766d47a48b3e2e5e73cd636f2f3b96be49d38cd8ae7316fdb4cd176de28a1323171d7d4401e2226cc09824b02c1d1b5c18a65f602d3b2a0b8a819c60ead5803137c3ea04406738280e7c675d7701b56f3d353c06457481ff6b98d43c1a176c4b8eeee1be3360c2bf6a0e67e354ca7e0e03864de342b3e748564396f707c492e3ae5327376902ae09cc2f215b32861e42be2e30c73e46bce69d3841bbcc00c5812318f55d08599300789863c33a00196f14e9b4d787e5bc1642bbeed8ab51184dacf3608e075a1ce67984367b3600f13b621575ec426b4174cbe7413f305d3220d187c96b801b17c052424009629a514685612f0e79144a7c4f9eed83126418146c1f215a040124daf1114480289540ada4862a702f00886596022e0ce3c4bf2c0e09cc239155f56a88106d254b3de353a2b42859f77553315a42a6b464aa634116c1bacdf23847d61eec1d566c17e6df05b8c41e6a1f5b2a85972dd100629027ed587ae553fe2be708b7a7c1a296ad71260bdcd39afa9593a405637ab8598c2952b8c86006c350bc3be8eaba359fd795321ee1a1c4f9c611635a81acec73d54aaab5790a0c00ca9f2e2ea43496ffe8babcabba2144648d67d1a533f43aa445714405e1dc03a32af0ed08b835ebe18523315accc88230324cc989d57868a3586c5c6047c8c30c2f832036c417ca30b30c016c4f21046db30cd8adc8df0764c84b85f1d7f1ecc0627b018834f0f150113f152c66a2f1cb1178ed647c437b2c0d1921881041a6aeed7e80c35f7e8941c6b546e744105d8d2a105d8d2b02a5ed41635f72bd6e0344b0cb536ebc7db426562e2bea255624fb720a6831010f942bfb2f8c1b07d706e1d2983a10e920ddbb6cd59447625e2e61e1c9e87126237ffc01886619d5f703cb5317e1eda58e1a78d31d187083f0f31b4f13fb08058c4a23168e3a7a5114e36709d221f8f615986615926312626c61ebf69ad1269226699d0309d986a310d76268563c014ee2c40c1a960836fc8801a5f51c6c941ab801a0fbf8257012f18de650a78e812d21d850dc34259c3017a76b147acd95c310e080a614a7ac6d5c3666977744707896efeb1d2b266a0252286ada2752b9b5046bd10ebea0fb11f58031d76458c0eb9836a951d03463788e8e626b06797bbf09aa61d3ed36ee80e118f618f99c5118fdd0ec78acc664c62526a84cd484b295bd296dd8da78fc363164616d8f4b1cbe1434a292394d747c42de56044ab18d1adf89d1d9ec9e5e444085566742bd66e451048a3339bcd9a135e0e8142f4e125963673786add3da76c8eca28e98c30657259c7d258b780174ca18cf8895f66945dd030d416157bb459524a29a51965911816643e4e9d2a6899c3f4d1c2ec9a2663cf09e5a1ecd10b6d22762cc306ba849f5a9c52daa16bbf11fa0b06812e9f1d7bc1a19e1b5c15111ffa8df8d00b86f03383d7a0851380bdc5167b101304a79af5d835909736e22138955dc6182fad062ab4620a3238df2e9161fa3eed58a2bc39aec80de60c48cc2e916179333c966596881ad2803f68054f14706a8b18e280800a29e51b431c100001a79a250fa10c7989902c0c80327a0150465f55046b58897a1c2c6f06249e3638db90b7018580155ab1051a9c2186566c210a4cc402a010f27d064021208624ae59f210c32864818b03d40c7330243aa5ad38c2c5744998936a568ad529d9468638d20a296481bbffc24673a922b8ffad8a903ce05d22f321b1153c4c80c19993f26a59cc0681a834f32a55b6fa5a68c1051711b262ccc8220b2cb0886f5804bee81412d34ac8eb42cdd94fcfb213863a494ae5873fddab9f0f69df4ed6833da7d3512888134abd44d4755dd775ddb7942d399d4e27885342428222b1de43d6f413caf6d8ba864ca190f4203679976b9656b2da76eda0571bfa8a1c591bb8bb5ac599656a3615279676626fa7660e478f0b9a170282469201f11f7eb810ef01bc09701bb7f17e1fe99495f79b27e52d800ba00020e9439561235bdd312ade00b0d9c0dc0cccb112f07c1603e8346b874ee68a44d73a0505f7dbea98d4afaeeaf4a9aa9203c8889ea8f0ddd32cf8d2237c2a889b5f70108ff1356c8655e01af45900433cd3b8f1dc22e2d9e2782e51c033a98867d0029e23aef1942fc016611540c2f13888b038fe460bc70f61216c651a35aef215198415c06b5888556c0f580516c067c792f22dc576c552b03eb28017490570d8b108c007991e64645c6923a94f8c1b809b6b8c0340da18000092e5e614ea09b8f908b899e5ba79060f5207b391adc674301e583757d68b9b533adc5cefbd3d5eb17d45b3e04f6cef340b6632993c3151dd9c2af9010c70b3860b700960e3980d1b871d8b8d0b9b15718a8d18db066061e89fb88b5e215108216ed7f8198588170a61610f49b9f905a764257010879d62e32a11b545c5ae7201bc86cd15d71000ed16f0820550c3c266d5b88a9dcdaaf11599627f78b4400071bb0611440ddb36cd820fe2fa98f887cbeec60f5f02fe00c40fb76fbc2d54f896a259f059420861c402b62084304a015bf0f001b8598307400b1e057f8237c17bc76ca44a84812d7878d6b581876183e179d0912a1580988f5449006cc1ef70730afec5cd155e079d7bb3666faef0bf3e32f0fdcc46aa4cd8823f813791c1f0df5ddd9c52dd5c4b2ebcf1da53169347d97cb2998533f5998133f5b18133f52169313234926116b881e09e02876c6e20b8a7c09d69305be90c521935991a4dc4178991b80164a466882303c28e05007f41a16856f7104410d5577ac63387a1a9535af7e17006b4d17961dbb6673672f4303c8bdaa2868ed48c420ce35c3eb98fc63c7ac02de05c8ff21e700b3805830c55068a6635c909e52b8b8272fa8a879ba450dfe1d9cdcfb1fae9a56b9fa0d75b1fbb1ca56b3747e8d9b5cfeee208ddec6aaf9f526a52c6983d2a00f5ee2bdd80eca2b660c178963db57aa85e2bdd55f67ab9ca1e5f5a651707e769412291ba8eebacd6691b169ec964f228f548d77301e202e45be912ebb2cb817a7679a0de5d1ea96707d9dce3e415f599fa49eaf270edb39b77b8f3d787c4a7af1eba39e2d369b5c2342ed4b1907cb53addec9271ab955dbd484c86e426d67e45f267f7f6dbca6233cd9259d921565f691218a57b96242b394a7b899557cd671720783e9a4ca6edf437b6534aabe755938d5b8fd642b35ae39292f6c9919dd3c2f3b6a6f4dee84eef0b0ed9d0bdcd92422f38d4987427107df0be22ef692dc0828b726e9c8972a7731624af66497e722a5d1e24ff486e7ec1f264312a4a24d6fbee55ce664abf6577e2aebb21ee2b3233519bbbd378b51988381a972e0faf0818fffeddf33cafbb3e1af7805bc0df637c9b5cc97e3c4aff5c8078476a76d8ac52e95d29e3f1bd31ecbc23356f6006e79367b7c78977f34bc9464c6221fe2cc95724898571133b710c9b3520053e390d9b5d80e093633218eb3c2b16abb570098101e3f2a82f7df2744ac6a8a0a2e455cfabd5f35e30496ada3cb5d23bf466e9a66ab2116f24d2cd119328e4a1b363f1bec51bddb7b95113e7a3b1e94e20fa40b5535bdf511f9c917ef21549c2b021109b2ce481f254c7134d4e7fb5f98767fa96d9dc78f3baeef45c7d67a167e211ca4c26cf14abcd9ac4a1539bb75fe00587ae05820802db47267ef0f00dd621a0d3accf2897455cad7cf6aacf1a46fd9b99f4927ff5a577a667deb38d3bbd863befe2e02eedb8474aa2216ab36fd674d343f76cfe9123bbab770fd91577ca5d1c37ffc0a16f37ffc0d9bdcc9d84924c17b5450d5d1fd21e763948a79707e9dee5311ffa4a4b4c9a3f3d7451575bdd59727d485cca515ffa56b2b9095cbf65df329bd5eed9c6751d0be8b5ced2cd2e21aedac6a13b6fd6ee435eed6379cdaef6addaec85fdd4efb01b02e30274029d831162fa137761a497be916c66f248d6bb394cafcd2a916cc42fd5281d76394ca5b85d1e20d9e1005dea437616320084b7aebbc00b365d7b28647a968fdf4c373736bdf4ae553c4fc3dee58ed9ee51de9495c0a497ec1259175d7431075367459c4e4f21cef41778c11d0bf750fe8163bba16776c3b8cd525026fdf76c6e02535204814effecc4b739091cbf433cf693bd3a167bbbde1feca3ad2683b39b178079f4f0ee270b0481f30230edb2aca7c62830b7bd8707119452ec6d93e8f1dd503aef5743c2ae8974d8dd26280f96234fa538b2a7b500e531796f1bbc5da771d29a9c76374c8ecd22d41d4e879d94510647284652a8f239cac0cb6fd9149d129f49d129114b31bad914598d14584eeda0100dbf7afc77f30d6995201eff1581428446cf23ac03488720325e7a8c6b98cd5b101626882b845e05ea5824a5379b794995afe67ea457ed8132e2bf9a178f2f9e47387f352fac504756d45f45379314ea0af46734d94cb3e4078a30af170926c6703f3186fb7908c78ec50819b6eac8567c0c5b77706acd51d11e68fc00c4b31d29a5942129e5431d8b04424a20a4fc0108ebc37fb033b61e68ccf0a1871eba1df72b1d312ee3326e0be931623cc66d295dfb8bebc5d53838b359b5904e3af6aa8fe994116a8b2abf1a28040ea010301effe5200e00000fc0e33f1ba9e23dfee689a9d62c0a9b15e2303dec42a1d168f4ac524a9f6d20db586e9e8d2e156a8b2a75308acf17ea0e3250469438b2150360e5906661d603605bff6a64c9371800b09208d187f89695435856c2b011935e3b3c1ee68a77f80ecf1a1e02940103ca1b2823feaba9420e3ce871c52384e00938ae2dc23570610a3aae888638e860c715841baea071451b36b4c1c7053b925d8d3ec5d0051c577c89c10536ae288b48d1ac487af95022c39f4ec9a01a8e8bd1291edd966645961f3775f4f37d36cdea66ac0eeda4dbb2921fb9608a1ed701c6c0c5cb75030626bda08c78934e3d7d6423c664ea572355b292d4c9b96b6b4ecd39b943c0c0a09a0c74d329f6f1d9904e013df24021e8e3b31ba95273642b5ed3ea4dcecd1522ce7642dc8f7d10d248033deb1ef0e2228148d635b2119f90a8fe15e994fcd19c90dc211a939cfcb3f9723e9def88c421519d58234650e4a3e994fcc97c528c36c9912c0ce94fdc45ba424e0e3bf0cd90f038b9eaf13c58d416f5e424f79b3939c4a3874e0eea16f0824f1e3b9693c30ec7c98d51dc2f8a38237b50f33783e3bf992f8a4e01d9d811e8826a46ff643e283a6574b39b9ab39d9b99ed847620ce5f8d0e4e5d85daa2c62be0f94c7a7d537c359f0d146a4693cd48d129547e8f3af24e8c514eda4c798c604c7e36e7e01c797286533667a7c8f3c2e64a86fc29e1abc1011fbabdb64508a974cf74cd421c3688e1c6053becd84d91488c615becbe396f41c740e74c0eb226268fdc41c76efe57f658e828c76e3ef9eab1cb013a472fb12dc73ccd31fa76718ce8fb4228a3b37974d31510faf6956e007ddf14766abb6f33077657f4d847ab15bd38e6b7f9518f5e32df5dd41675de1e58e87d7984be5d1ef6f3b607e5b9d7de84c3de5f943b4fae0f89b91c20ae090cfac440f498fcc6715bc7f21d04c238d04520d0bc53de2c029988562cdf5756048a3d11fb147d03d9d86357587c1ff67d34faec583ed41350391d4ff7cdde4c6f77393aee6d479736c46d9747e5a09e2065f7ddb4dd79797cdf687e16c36ca63cd8ca77e71ea692392f0f0cc342973de0114cafa298fcb4d07ed8551f998edd1e9407d3d04ddf777af671834d2fb1790334d83437a961386012cae3129281884fa7f35d04c77f3b58b40a0f341f1486e0f8d97c399fce7704c7ef06c7af088ea713830c68820e78302452448a2460d8041dc0006f000cf008c69ebfed06638f9407cfabf2066846392469066f9fb67f426d51294fe4692ce0edf1110c30054256a647f076b3e971debc011a8cee60d3571ab33d284f533b3b1c8d4f975d8e133ebdbb227ec0a77731dd0b7bc6d329a7d86d871b3582b71e94079f6efa28db89423dbd033d84ddee46d3d123ee6cfe6c70fcc87631cd8af634b1c98a7a3b9820da579afb91f59a1e9f1d899f89ee6093e9d448a7c89b4cc73a16d3ed4af2c25f8d54a1376b5f0de995276662a22cc41a36595133a8e6a653e668fb066a30c5320767548ec4b208c6625b2626a6a2534637d3db83ee6079b129da005a8d4da7dc4c8b51edab2159ef7aa0447a16864a6fec893ca4cfc604850a3b1d73c7b5da417ae9a5eb6232525791a659a4bb9287aed2a1ab5ae8a2b9c168a2c0f436f146b6e2330f549b9b0f27922e746916ba3c36d40a0371be9a4e59459c1c712c92a9a0ce8bd2014d31e2b868561c4939bf3dcfa3729a85d2d1e9947935add6af667e6b8bd241e5a08c609fa08e656a395225ba6096b77b5d106864b99f66713fd90e96ed608f9a9622bdb28e05cbdc8f4ea7a08c744ad6b2231875058edc0f0cc459f521968f3718adc1e6dbc69c68a4593718bd35d8bca0c778514d451941e5a0748480422aa01ad98aa01a508d09c32bba41fdbe293aa57bfc67f351d129f3dd7594524aff82319b9f23c6de56f411f6f243f4a1bf2257bab3a0299af57d379ab66ddb61a7f40da29d0349956f8a6ec5c78f0a1ccfc4c4ec3704c7a372340d9583cac1f1a01a50cd27b2410ddd8ce76622292af7b38323f7235b91fbc151d3988838472c9f915e52257a01b6e2c9a0a9a1c20147d20bf340195dd41979a0101187a60b5f4dc37c00167109c15046221637f2342bf6748d7898f9b5a0e6c8336f30ec06e70f07c7af06ab2962c3f4f2989738e8d65d0e0c7b4b89d241e5aca066548e0e3cb2e74bd644bf6022265cd03818de27eeea98ae01df4d69431b3666cc60b12aed28c5308883b103601e988d663d3fd5c5184c833838d64815568c81ac6c6306ce31864563e8e9fbd52c184369aa6f4ed50a1f4f31db301dd32959d3b278e3fbd531b16162472845413ae6d52930f175d1e80ac94dd30658ed00b9acb247574b7489b023601a23b255c330cc0623c094521a6fd6aa086a8c89403aa59f82103e06042b4d235bf0a94a5ff1d248951802d8828727c0f0b405187e06181ea3818798072276b328853394220cd370df20a177a8d382c4dcc5dd96a25bf02bade1ce25ad86694c1da839c6ccc0600978569808413f76facb16841ea839c6cc6c1726da40e800e99aa1c39014cdc2304a6946339a459bb51ea68d2555e21178c8d20264a38c2542aac42151740bfe0a234572a8484d51b71e989a8e90ae79393864ef943eb53d4c58ba6027e1cca9b9698e98ae18235bf055738cb18938b8a269249457c3894dccecc201ab934e7b56d790cf585027840de38cb726b56f5b489bda85b22f79f485d34a9c804ee999804e91b387095aade55734ad8709779d7316817b867dbb908722069dbb9b7cc826a0591274895869965c2162467699e5a00518bbd9c625bdf0a567e848c719bf49391fef94e731e5d562fc2667f7ec18719c914649850dbec89c4e14cdc2321a9c9250cc06d9c0222bd4dc3e5da828d846fbac68b6e3f4f67eba12baa4474fd7117f323dea38b5c49fee8b6b9ece68a1d3e994a1a0663a834f4e0f913c3b45d19c934b67b44b5243f764a38bce4879b2d0b5756a08b50718a338c0189d01c6425427d3e4155247ee6852678646aab0684c0f8da13cad675ac3c333b581f14c6f5e3c531c8c5d8767dab2a7b36ce830ec3d0f96e43bd893bfb0a9eb607f6b510e3b0a5d2c170f16ba76b0d0f5c242970e16baac85ae8dc6f060ecb40763c76430562f7dcd9f9fd1ff9f9c1c05e5299bfa16b95be8726526a8f05b731d0b6d01948171260b5d5bb4d07523e2467deb10aaef91788f0f7d87775d5037bd1f42dd7417927bdb4ddfee427257f43b4c77450ffae9dbe33dd2bdeb00fd045da47bde779c6efa0eefa8db12812ee8dcbc5c84783f5defb66c7d7a4bc874bae79d4c272f1b79a1cec8b02cb1d256da86fac4912a42b8bbc411d0050373fa3d4ce824a7db21ae17255550f7c585f57589071dfbdc095dc8e81a61bfdd15edeb38bd4fdfa1a36e0bc9752139eaa1ebd20fbde55e17213a488ebacbfde62244473ce82ea693b016213a481e6f4b9fe4aeb4afe851371dba5abcdfbbd2ae1130f1a6c76fdf61ba2e7dd051a66f1be82e5e9e3c18bb2bfad0410fddc5bb2bda777557d93d02baec8581f9614e0eb3bd0f837298d4614c8f33a33496a62cc541b154a7b7931c8cfd3b1843b1d07562a12b65a16b6b0b5dd11a4167563aeb8c8081d97e3a0ceaa19b2c74b93c4b7a5b50fc4a93ec2aa3284b375a83b19385b2959580ce9a950342077d47e8a0eb224407e9db5db6f77521dd01a087be83f4ed1a159504bad28886844ae90da6d3a66b88ca50675c90beba06f6ccce9f275415b69a31b2856574c833c5a1339db2c2c1bdbede3c7a3966b56661af966b560d2765680083333a83f97c407342557da541540aede64a821c96534d183ba5814284b0ca26cbae953cbb59099cb38b0eb250b64a4433dc45f5da6fd46b7fc1d4e6a971236e2451107d109d8a5617d9eff525f66331b9a924d4159965d82a3bc4dcb11a93e4a259d8b5530c7b9c3b18fb6761b35656074fec50d6c4a4eacf0f17b146b6865055a757d917940935dbc0a226d58f2e8292d3b49b7b2481ebb3dc23253ab53cba21469dd99c3202863e665654bad1b1d49b5b703dc9ae3210e8f13b48efebd2273db64a33421d3d8ee277c47e9c76358aefeb1875d4b21835a912af8b101dfd78975376d820d0e84d1af57778ef68413f59d263b70d966c61ef8bc4ce9390adf80c7b5844d8e81fb2152ffc3922ba688c6c61a2c3d1df458cae1130a0934aafd647afb47bda5d39a04ffa8e181fef727a1fbaa44fb330d96365165cb40a746187a4eff07e6e07e9debdeb023a69959d2ce9a0eb201df4ccbb2da09bde723ae92f2eed95445a69285548d74588cbe97defdaad52c5745d4077959dbea37ff2be23fef49377d077907efae9247ab2f1245b658bdeb3a0d36d698933b2855dc8ca88d377603f2b30030c6090f37ab962cc8d37b2851d8b39376ef04e7a8e396ff8e939c6b8c174a16cc558235b34eed4bcc1bba91a778ca094d3267c824f912be47c91a788149ab015b14214ae5c392dc646e7060b1c23393a9d92690cc68ead624fcca259d8413d384f2a3036878c01e70f8b010b03cef30a4c676a328cce60581a7ae84c141bc6d1ae08898d18818ec42e7d3a85fb314f64b96f5bb74486b9dbac63e98804f9c1904810198c453a05c66efcc0f4e61fd8a41a27ab299b1d8e0c97be692f3c20a62c4b6458db28c7d9d261a74517bd5946339ad18c6634a3cfa99c61faacc4e6aa3debb467b63bec96c870690b752c5d07121dd4dd108944a29bb567775504a7451fd9c252c7deafe81387d35b46b6b0950340f78e04e9a66727941b4e47a56cd3c81676da1d015d2497c6bbabecd0e5dd7457d95d19e1fd08a8c374ef3ba2cb7b7479b745c811d005d336b285dd741b47b6b0d3bcc10663a0939e1b67e500d04fdf01baab1da4d341d7713ae8b608c9de02fae9d9d5613ae9a4db42bae92f2ed4953ab285c1807eba30a49b6e95adec4a23cdc2366e23d995e8de5f5c20bb125d1da0932e3a8974efb690de02650bf417d71639d824518952212add211a9744d90dc5912a30d2460846684da91315213a27ba543b68e2d865d7b488b58bb20cd7671af791855864a54cb3b053dc71d8db47b6b0872c76d837d229b97d4016bae48e54e963f1d825167406df340bfb9c4214843a6db23b6be80c106aee5983b156036c616f38ec740063980c01c69ebb47a3339d1231ace20636183bc54eaf6895121929302a30466930466f30467130468d604ccb6ab0cf293a85b60f94817da5454f98e17430d4a109ee853681bd44a929800db353a00ad72d7a58632a7dd62a8b00a9173a6d0518e7dc303931393139e7313be9e7b4d1860ab1e80d75152897255d64cc8acea37cc73cca45b98be8f33b50ee510e5d991581d34dd712a1faea370709b8b3a26fbba2776504ea474017ea3b620fa4c00327b2a879bd5c25872ed4bb633102c6893ee94ef4fcbd8ef97b5b923874958e724385ae158f16a6d0c20d34355e644b9776fedad1db0aa11705fed4f7fd51ba3aee47b765f4fb7e8b101da239636662664ef24210062548c10b342001b0800830404109ae40c38619924b42d7a864a14b888e3eca75f45172faf5b6c49a1b73a06cc59a5b73d335b2055da427b0f8021a785eaedc35b86f626aea244fdd156d1901c3f580a042d76a4774f5e3bd101d282d427e74c8dfdb1277e24fdc91d745880e578e3d7170b9ccbba2f2aee83ddd16212b23e48f802e89f2969876cd37f1bae9ae76f4efef25dd906e3ae60d15ba7a46b6a21c32022058610516af970bbae6f5405f4db6564640d9f26ce24b6ce7c8d4dc3938d67ecc5250a3cc1638a3a163b5af90ecc5bc8e80b3db76cad894d4d060fa08552a8bf695768b23ee2063c07cd003006956246d3042380ae4639ac12cbb39f4cd930985ee01c19a238542212fd6106908d7713042361e9e53305a597633e8dcf5623c996601013d7b31a0ebc9784022de0270b70d860eda9adbace7c9e4089d3e9e00b4e379329d024937cdc2e91ab477640b747d501c3a2635192d260a953eb4d2200f880dd20ff53520adc5740a461ad2ad18d2623419ec926e4c30d593f14c1fa8d95df54e672ad8c191811a346d878923a06bc6402f46aa705b80ad782f260c5a16389ede6816e26d46aa68a954addb4c91fa191c694e3d48c0260c89c0600838936e3c0c71d210050cc290080c6c7026dda8505b54f9c201ed7443c448820ee7ce06c7737046067731b8d2cb84c49974d35dd4bce259f1c8ec297a7308a465189db24937d87bd180508e72473736a36b53f3113dcadd66642b5e9779371ad98af194dbd966b69dbe8b13ddbfa99f7a50ae8b1328287d4726918b1322d151504e7214d23d1727ee3f30efc4255d1791e8aa8b4a5e7271a2fe0313ba9ca86f8901c255725dee7dc96feabad4ebc4539f27dd890ff49da85fbd3e7e2fbafa09c0ca47c6c7fa8af56a51705676c583f25362ff4a9158141f931ad9eab9765a146bf23279e14415cfa6dad1eec4bc2a27e63fd0d7e503b10b9790d0a1cb8979553932642308ea12116f3350467c8ca999db41790d66703ec9a9f1c1d9e4858223554e7c58376b32507002808273e2f37ce2f3e3a3c3552d554f68e2086a56e16c335b0c808c154f0c418d389bfc98d498bc7e30b763a2b3339b47f4da235bb1e7de34c307e55e0f735e97f9528cd80fc0bc8c4394fbf06dc6a4e6f1de8a32e366b8e3c3cddaece166c823e3cec4b819f604e0e6d4cdd0876e333552a5e2b46ed660dc5c7178a8c9e96a70bcc94baa54add654aa9abcb619f8f350e866a8b36d33f46edb0c2723aa8fdf6668ba3f6b4a36d7b4dddcd35128df4d1ebff5489596bbe148951611caef7d22ba48ee333773ef53a2678ea664f4ccd58c4657bdae9e399b54eaf719ee94945cf40c7954f789e8527df40c7b56f789e85abd3e439fd249cf334cf79e6da06e72516e2eca368372b228268b52235b283a28342839b275f31895ad367fc9560dca8f6cd1a0f8c8d68c45e9b12833160547b632ac33db55383dac9b59d807e7046506c79ff8b4e8f1273f7dafea91adf842811133bb7e3c8a4cf74522ed5174553cb4af2a34af4a47b650ae2a8787967b5538f127395205e5aa7ae685b205e3e6193cdcac5d1b1007e6607a9283634b139e2b060897e9f1dc8e5469117df4788e47aab4f4ebe3b91ea9d2324f7a3ce723555aeebdc7733f52a505e5a5cb41c7e532ba68467ddb207db6c400e13a79bf37dd9603f8b85c4a4779863922a81087063938c39f1f9cb99dd58ffd5e7665573d76c563bf98159479b5e2e96aa48a8f4f4f0f0fb793573c3b27342b1e1b9c9a9b139a39c8810b48231e760dad92a002a923a825a826a827e8a276a07aa07ea0c2401a3505158aaa82ba82ca82fa4475a282a086a08a806ea14720359bfce0e0f89318ecbe92442593f739c3b9609eb0e13a1d45922a51a1bc5f72ae3e93d1c97778fc898c2b26a2f40ff344ca655f1ce609cda5c3efe34d7ea4ca0724cc13335c3bdc111758aed116208d789827ee1a1d8134e2473b5dc38ece0069c4eb604759401af1d78ecc0069c45b3b4203a4117f3b4a03a4118f62476a8034e24feca80b9046bc891d7901d288ffece80b9046fcca8ec00069c44f3bc202d28857d9d11a208df8123b6203a4119fb2232d208d78123b6a03a4118fb22337401af1273b7a03a4116fb22331401af19e1d8501d2882fd9d118208d78921d9101d288af7654064803d2c03eb210d28034b8c72215e2e03cc290080c70803349e36eae29ede66f37b342a31d3ae27648379106670c432bae9083b5e3cc6dd19d01c624d40d439c347c0167cd8b44eac410270d4fc0598b691e9e8ddb912a5e08602bfe043c2de8c1d19b810f8e3b5205ba787a381f2823723bed9a74e7edd33f947a311da231f1aad025ddc4785dd4acc544286feec18a815d8e153d7465a7d730bddc4e072a0c42d2c650e81bdd5638b2837e233b8882ae81a0bcdc916e458edb99a1d4a3f162289d89c1b11f5bc3f158e576a6abafc779313d94f3e17628b783e3b7b9d2215bfaf22fae79bd19cf8bf1622ed448ab21e8e9cd3e1a2f4124073ab80fdfb7ab1d7d79795d24ec909059e9902d32e6ca976cc5be9e1783e56b6b22156904011736f882366d1b44b3ae8d3b6386b4412f3fb30b335ff1a7ac0ae7ddb00a6777b1c14e819f9d02bf85208a10c86021636eb08fc61848611f19d070dfbf748caf8d897e61d0e18bacbdb0760d5eb4d25d477c77f8aebbe8b684de6d6f113dd2bfb83424baf761059d082dbe1e6e56b350b6b21154243a8d082d5622a00635086fae3e58d3e6b90fa92fa2ebe8eeaa2ffa76d1756c177d07f7d04516ba423242295af57d44bcc2ae83be7bf688fb2e42e45dbad3bb08c9ae8ed14577a1ef1eb2abbe2beceae8e4d521fae82ea3bbea4b44b3aa56755057dd9d7e47772abacb7cf71d2297b8ea8ffee29a76745be24bb6b4d3b7fcc5b551bbea4fd6aa3fffe26a5935bd8ef8db22a4af0efa7953f41a215bda5b1eaf4689902ded27a8cd0476f9eddc57f1ab1df1f4da45d6866cc1544adb2cbc33640b36862fb4d804f6d212f4c4c604f7c2f47446ee397ed2bbd9a8a968538b917e4aec0a893152197f24d401afc9568c110d350b82bd644b7ea5a385bb9147b6e44377a543db6eec912d79ed461fd992da575a47e8d98b2b3be8dde9083dbb2db295230fceb127c28e3edd11d101d1a5b1563a5a6cee1fdc38583e770c967127e6c896bcbc4ae406798986224250837d34c6400afbb82ff8a7635e39f533e38fb4c1508726e64b6c42bec8092a9292c7106e23d30b438b7262f2ad54252912d4c9e495487524eab82d04d2328c4ed950461f7611cae820125e286310ad4041e885e1b442cd201a20aaf6aa3b8731b06364ab278f6c754f4c0c7da57e6a2a556b0cee0d56fade419693bd2b41cdedf3c2d915751c15611c46e3e94f4e6559961251fa43b5a03f9d02c54f9ffad09f68f2a191ca489568f37ae504c1f5a6317447b6ba9f670feee993cd50170ce006372502eeab687c7c76a40fdd89b189d1414c0d625e8075ea13a04693807bab29028d9b178ed8e0ed8662cf9b4fc4916e46b69c4da76b603748e879cbb13b465d74d1c51c5ca0ebe20179d05bb483ee6ac775d10eba42a02b6467e700e89253db891b0fee2d27c62d46aa6c35f274aa7563c247c5db139a5023553623ddeabce51861bb02f7b79abcd5c0cd085bcef6b3f9b0a0429c370dfee028e3e383fba035c401aa70b015e30022f4810d30057bbfdf0053e84b62e407ac1031c4f09408ce2f76803bcedc76712f540ae28c325eadb52c1f63e388b94e89f309b537534eede7bc038edddd03abe818210e7e0165c453180d06cb23da95846cc54fd9930b25fa0c54ca137a03a712eaa1960cb0d5cf7ede90a9c127d3e98c0861af0d35d4d329f1ae20ce7d2c07ce6834b546c6665bc113b8db0c5abc5090b798b89d20451bd2acad0329dd0359fd1c5203d6461d94213f2d0765c89614c136034c81adbd3a05b453c272e20cda79e5140ec5508169ee1e6d48fb2421460adca7505029706ba1020dc37886683a655e5a2ab2d8b5219dd219911cd9ba01311310cae83e5a3920bab0af7660584624b2fad912b21ca9a2c174ab6f92393247ca9b5fca72b097c1b48a8663ba999b1fdd6c1a9dbbf97bd1bd74730cefe62070d65ead1204abbb39c65fa446377f26a90d61e23e62bf423dabb99a77e500eca1ef10bd5e17d0450f5d17d15db66377355fb16c041506b5c3b00931080117b66ed8521424f4b8a35da1af741ca6c02518e2c441066f928bf27a5cd48b4e6f56c5b1cf4895d00f487bf7c8e0d6b69ace01ed0a3d5a1ed8e08843323f9d12eae91448640730b81fcaa255a22bc405eecb904ca7842e7a430d9d483f511bf2a1f6baa1e650cf6a07e6526387443d22ba44214c0365748826d2d4606a5745bc30f6c25b73219a7689ba47aa80667aa677248847b61ab4136fa847944363a4f46a74ce7951c732cb10554234b2d55008324021e66f360f6c81fb30aad4ac01778cf11bc751db2fbc552e7671da8843345245fb91ad3e8d07cd4815d08dd46648375deffee0927613a2912aa40bda91adeeeecd47a09baa5d5088265e1a1c5d20bbd9504f0b2ac42b2360b26b27e188577115af48043af6d043b7a55ef41717ec588c8081c10eba30a2d7bbd1ace2abcc2abefec535b38a77e500eca2ebc02e7abce8b60889a21bfac10d5d22ed04f5f239c47dbba81ba2f4d2b800d1748dc69e9da0e6508ff6037a758d6d8a5609c950815bd36a4da57a7a7ae40445d1acb6c1bd857c64abb721b89f627d06cbc68c1adc2d2355a0ab61f7f4cf2b4646d2e00ef5c8568368403324a819b4e353dbc503a1636fc1ee6a4705bd1eba5a3a23b0af74b54256ac18fd331af528ce3845f6c5156f3e6ed7b48d612dc1c7144019fd2ce909a00ffd8d94611f1a5e0d21219491436dc0fd384408cf1bea0141edd966c85033c56233cdcfada7669a051619d0f01259177378e178bd31d44c7d667763ce4cc60c7aa4ee46e3ebc5018bf7cc10f209fdc84021229e376faf2d06f7315ae2a86522de87864365883ef465880c50469ba1e6eed1aa96aa4fb11eeae909f540195bd40cdac1591550469fb3198ecd4296dec856cbd0ac35ad6297aeb40ae6cc2235c7995016a33554f9f8904fa8070e753523886675d334958132fade4fcda11e99500fee4bbbf2861a4b34fd12b197a9d190c28b9653ca5b1bc606b26d6df0c1a9d7aedd96958e52e92fda5f5cf545d681c7b453e1b7cd0b2f9fbff88c3990c18ccb74850abf452bd42a6c00851b5709c7c339673d52b14b9c23cf9c1387ce6f7262b3e1119a2620c1663625bd483131f535cb0c389380e014866118864d295550a89ac22626a98c35785941842245b09e5058031552d209aad1b866f59c13c200d3c33ae794343c185b55539d73d289ddee18d0f8c6c4a89c665dc1023c5b089e45441534813118062a80a1c7352d0ff8f90db3dc0f9411df921219c20b6641060bac9a5fcd6c89459e4ec9a4574ff4893f9d022a03ce310b1cb5c0910c387f5a4ccda89c152b46b3e25918f6e1d4600c9898fb814260770694118406a4e619f3ae8a3876e7cdab20a4dbc4dc7109997fc1d85d1581c16387f8e505af7060781e621ef3ae8a983ce65d6d87184e5190958ed2e10ed24bd7656563450769eeb8487f71651ea8f9ab8937c74eb22623754584cb880ee4504ae757134b181212f86cbe1a08874a810af0504a832be07958034344ec3d4f9c4d27f9e9252bd3b3c9f5d1d8e4a79b67ec6ef0387d62d3e561724d9d5125374facc2aaff1007407279a06e7ae9dd15612aad5097c7e914cb2e07c5a7fb43f4411504ce3e7e883e943cfbbd64b96f94fb3e19477d0571ec6ea0ae2ad91b28d8ac13ea2792abece9b023b12bee272b7ac936feb8ff800282db60c7b594be9550d7b3a597ac67faa9e49dee59d551f6f3bc5b3def25ef543aca3b5d1edc81f84a7ba7920b56d9cce12c3ac9cdc07d748d54aa57aee426dfb6c8d18ea5532fb1a97b36e2f82a79d656ef9e2726e528b949e9aa97fe7ddb38eeb1cba17a2987e9de4bff6c9ef83b5d1ca67b375def42ef289b4d175d01ab9fbed20d28ddbba82daee55eb2244590e4961cdc5d79e76efa77955d793f5de55d1cde514779a56cba0e2b928bdaa2aa2ef7eb5d1eab9f2e8f7a958fc6aa73ab3bb3e858570410579d7638eacda3ab48efee6c16e9a3cf2e47c939936f2625aa73df38abe2326eeb58fa3b572ab9b3592e9bc6711d4bdf2b51ddaf74f3287547c7d1252577ded1eb47b3a17ade1b88e67a2b21b9dc4fd664515f4d7c82dd10b474126b723addca4dae59a793ea265b72d349aed6acd361874362921ca80b4527515d1eddf723b90e2fd98c809b589862fae9b0534a5eba69a5face9d8e7ac9e61ff8e425d34f2cec9669f553028e2add0c44acfac942bcb2aacb83fb07c43feedf4bfe7e8117cca9ace9647198ee86712afba14a36939ce5289b9b50dd2c3ac9f5d15fc4dd5f91407c642766b109b0f907161d0156079b5bb0c8bbdfaeedeafa16b96b7db4eb1d0b7771b8ee122dd847c440e860eee616cc83c67db819682cb2a82daa8cd33877908c87ba1cd8006f03fc602196617d343600679aa9f0dff77d06d82267327d2b1ffe3ed3bde315c94d1da9f2c33399faf3c1e4695aaed8cb29ecdd03dc3b17ea583cd53fce7e3673a751fa8a3c805d718f98bb0f3697ae8fc606a07195a59101fc0edf55ffce5915c78968809958c000eeaaaff45704e451e3f0106f5d192acb8f8e0c1562ee4a799d1ac814c062361693a259f203b09810161380c5a668d6c9890d1b5f1d6859e8a281d1b8f7795ec92b7d2d1a2250b12a151bf1662a7d65ba433436fd474b0d4c8e50d468f24a73b6744bfe68565703ee0a0058e852b15127886759137db2e61d20a507cf64cf751d4b0fdf7ab05db91e3811672fea6e587b5320eec14629635a41cdf007e2d8c0064d23021acce03a9619df66cce8baeec638d94528241425162031a653becf80f11a1683a259b07f44980884a201c374983083287eb444982813a19893fb6e27a16896a769b5a6523f8bc5d24249ddd32cc943f5ef59f53ed22cd5ed1d2cb00dfb26f7dd211a7f7446aa6821230aaa81c7c8a7e274ae90c7b28032e43dfb23c31f8c054fa77c3fc2f395cea9eefc995a1cc1a26b48933d4919957c1fa167c0f29d0514227e2aeee3384ef27caa20ae9055e91173dca7ba67258044b3763ed5454ed43c7d4c9c4a657a9632414e224ce9f24a8cae62e1d53fcba3470c5cf21e3130497c754ae9f22839c9e5b70df54dc5719c8a47c9515fdde41778c1a59f4aaa9257f2ee0ac777ef37be7ba752c9e4256b62a2527d1feaabafc81fcd2239aabbf15d92e650d646bc9dd816254e7c34ce25bfc00b461d5504f7d23dcb837be91be79dbcbbc2a1fae937543f5def66cebba9e49e2d79a9a45a418c22e14e4efe23cacbd661779b88e112c2b58c56dce78abb52c6851385114c2920419594489966491292effbbe8f090c73ff3eeedf55a27f3693dea3e4249f28db35d5a75d84812ab9c8e22839c9f620bded2aa64a7ea3a484c4424cbac9ca64bae450e76eeec16193c9ca192973534d375636c60931e4aecae6c7d99ae466a5262cc54486b9e70fabbe735791a0fed91ea8af3e496cd71845a75dafc895853865273ed9257e60d44576d5978922b22ebae8820b1caf8fc6a8df40a16e8eb8e413b390ae122687610193c370994c29983f31ae94913371a8a5971cab323a54c05d72636f259b5f702edd53a9fe037f3c98833b3036f1484c6e2a30f715f9e52630c94dbc926f256b4241f54ec283e426e741f2922531b9ca9a9ce4263af077cee618af4e91b04f28d5cd3d62e0d27f946c7ccd1ed4d233fc69b9dc5127ee5ec951b6470c5c625ba78a6a62574570579dbbea1b672d606f6f567d5482414eaeb2128a6e4929a3b2a027a40cc7711cc77570a81048eda7a4d842c4799f772990e64204698cfcec04b181c20e7ebcd2f7fe80c498efc621402a38ec668e3c79a5f9dd9ccac1e9e789338b344bde479ebcd2412cd034ef969e59a613d41f0ee3a6135418875d0e1dfe7d37471c657e744ae99204453a6c12098b93dcaca1543fdd9cea9677f34b201154ef663d194f086a1037b9fdd5ed97047101a069ad5aaf486599989dcdc73fd81c612615a23b6d9ac53df52d65bbaa52aac34ea5ba9da262dae040386f4650f3b4f95a82626ae9df33fca12f15cd0d70a6312aad7e77ea98c8f83498701ca70a0280abe43b1bd40c48ccc3e4a69b3c9ef46d3b9568cdf2bc9f6caed833993e3be5741367495e3ad9d92cef9ebe224956d6643399987c9fcaa25e32d9d92c1393a74e4ba06c129ec903c06de996fc4a03c0429789c9fdb183fad3ea028e37d39893d495c1715cebbbb9057f3fd03810a75c72ee2725efa60f67edd4a2e4dc797077fe9ceef429b9fcf4d162fe98a8a9e4c4c6d7067ad51aafd2baa83d3cc31fef3fa477431546c80fa29b404fa8deb96f9e6dac44a7e488bdcb243cab44b324ece9a144b324a803f507eaf483e4a89b35d44f37d713fc59adaea7cda172cfadea7650f3f4c1528624a34992dcd445dd5c71a9849d0e7da00cf993e704f813829b1e4851b97b9e94ef7e50391965404fa88db99b4c50b9e7a983a5d7017159f2c3e5254da7d090a2060ae1dd874338808c27fa20efc3e9339e3880d6893ec8cb9f78ea89d7241293af4e8190d83b44631392f9d3295586ce482171e8cb6445d23a7d85bc0f10766af1839d342c7d590aa333e372c673e3211a7b97c6401932a7e68c07673c19169dd2723ab9de4d97de95339d0c2a273b6218d4444bc42e30280695bb2a2be325cb449c6173890f3697e01e6c965160f9cffae815057005563a0925b8ebc3916ed6745a5a766ad12d794cd5b2d02543c655ddf8ba3f9a0572a2c2c70840c90dd49738000a0561c0f03c150554aa7b57caa8aeba949c355d65e54cb3a4a7820123323171e9dadc6009dff77d3773371d0016c2964aa5ba993b0ff7609cb3107b369a6c572e0328f8767703c697388009c60a4a284c3b946e6ec1258ef39eb99bae946996e4ac9c9150a8563e1a9fac949133272973babc94919733aae654dc29c670ed039ce30f58e24a255553b1d91879c31458ca30411a79430fce718a1813a15071439cf20b567df720e6c146cc8aaf4e817173c4302e5b5005002a18e7e100b02d7b625b9ac583fd41830ae3b1bb01e32dcdf241b1ea25ef2ec777d5395bba79e2887f740a0f976f91e781071e0e61c979f8ec5878d86097e3e36e9eb8744f65730b563d762caaaf48d5f5d1f8745743444cf2ef2b1ca77f3ffd7be9dbcaaaacc9bba573b2cbf1ddfbec727c37a9eead4895fdce95eea3f1f7a9549ee9aacbd97ca87ad630a77ae654aa6713e654aae70f734bfcc0dfb7a8ca91e1fc82bf0c7fdc77daddf8be894bdf7d3a05c3b8c0327b6199c16099c5e00c08ce64b0943358d260b9c315f2e20a397d7199c64c1faec4a250afd6746b553f59ee3ad8efd7de80d83b89bd0171e9421d2c764362b16b31184b7d9a6671a2b11c4d9cc119fe887c50a78e6c499dbea2593a5d43ee740d79111535b74ea4c19132527226c76072d4c91127c79b685343a38341814d5a87e4a2ee499aae77e50bcbef66191305e60ed3298d6563d5aaa4faaa54fa3e7da6169d028da44007cb531a3a45ab4414bc26179d028da820074b299f500638482929102c5ffa54190f3d9d762ca79b6181b2510b938d3f9eed926d281aa759f2b75106f70c96479167e11ebb2222e64e2e39295f62a78f5439b97d754491c725a4eb46e76e8e3c985355ac521dab5433b0ca065695c8abbe955852eadb67e7ced49973ee94d87a95cd9126c728b009ec14d54deef7d611f5a07ecfadf3ddde699684575d86bbacc19c0de64ec21d8583b99f72307713776f07732f4dccc9ab2c6c16571205d63089cd3575b2f9269b599e9491993a3a587e64738fc883b98bdebda3b9e4e78ec87636c3a259f2594fb3e4210f6aceecf4995ad8f9d32c2e2c7d354b1eb31486c65020cd923795a0520c9f200625e03c7d329f7e0135115f62cb26e4cbaa8b6fc062a334ebeeeeeeeeeeac435f8c31cbb22ccb620c9dda10eb00b459669842a0edf1a9ecd80cccb22615ac18a2775c6916acdb29a51d0b77d8e59838de170468d61602d9956669d7460d6a7eb3d01833b01e1f8e58bcab22a8053efc62ce4e915d6b29d8e08b3c63c26f2f9a2565ec3e644d3c0fa17db3a464c97959f7458e185ed6bfd273eee0b04297da9437f7605d71d8927f4a3e466db230a6e122a405585a4f1d4c152ecbb28c1523c618cd926f96788370a71d8eee408c179df2922980a10d1f146b59146ab471d9a07bedf23166c88e456b8a256cd6e4b029c8e4d0506c468ece910c7ba764ed85064a956011c3b21f303ababbb318c4c42286658dea865ce0c6b294047410ddeacf6f754e2e08ccc6b0d1c5c8896c67610fd6e88a9a3d88c3563c1119098c459086418f41017c63ec9ed9edc1b2000b6337062ba5e1944ca841311b7c915b461e66ab2c8b51c49c7845ab481c29babb3bc366e48e238d03a48bde3803879aa30c8651baa24ccbccdba66675d4fa2d93862624a1094990c1f15ba4411610e6039f4b487f9452f8ccc6d4ecc548d0435799dda2d272dda234f7f8dac2dc3681a0da400a363c38a3943e14647e721c4fd788ef6c5043cfae6107853c99ae11dfdd54d8ac224237d3fb90786697dbd941a554bb77bb475e3466a0b42186a6276a7c7ce328e710f0a11ba44f370c62518af24b866d188669db360392106e938bb045df1d0e0d6f5304a10c8a43a421a49b2d0a9d15e0ccf9701e4de8580e1422c3108a191068d3b0671c4f733d1aa871501005bc69f764b4d041dfbc184d4ba5401e10cf93d142a7a1ecc5842ed7c3f1342b74fa1843f13241710f16eeb9019fb99d66b170d0608333b70371d00004c77347b81e2e0b2b80e0ecc55801135d10fe50614e136a300783e32328a709335e1490bb0c143318866d93ab21a891877b325078335e1438b2701642a1a0c78e65cb28cd82f4338d63e16ec067e776b8239d827159740a8c470e0b8df30979311a0cdbd88bf180540d9469319d92b11c1c318cc845c80a00c501e0006ec9f816a16c11177100a28c9b5f70ebad0b3a6283f4b7ce8be93aee5e8c0724debbf18ab40acac683c293c293c1d1abc1d1b3c199810ccede108f0b6d339d0289a8810c385e0312050e8c0433c05a5f0f48b7e24d4ed40cda9990450fdac93f32083ad282438f38043ad22921120e8ea4211d0bbdc7768c74cae9a499250d21ddd0679784431f7adb55f6171709877443ba015dd29095112d4274cc437cc48bab6f8b07b21e97fcbc9a6c19a09fe925e15cd20d09a75320a55996f5b8a0eb95f5b8e45da52e5b335996d137d7a3a35d2d2f2e9c2e3ccb60702826ca4b3febbd42ceedf48f80aefe0e79e8ea476f26cb423714a277fee5f2945e1b2d365e56738a505e5cd9068e3b1ae5baa05c7e5e17213a02ad54a874ebf3f6c122864ea19911080000021314003030180c08c5a2f1783c90d490911f14800c99b250764e98a6490e53ca18620c200000000000040000230e00ca335fc31be210a4e34732f6f4d16ef97e8be87253bc54600415bdb9b794d98711166997abc55daa80e43f92197462461ccf314594bf66567943b5a8428f9bb829a9305c42ee408fc337349361407856acca412d6d7aa416516e6c0568cb0f958c3d698765fff891b9df377e3c3362bb255af37514f20a85f1181c7fbef08795fac37ff427b6c372e4e093a0712464fc1b175e7620e67e6aa6ace9f4e819c22562a67a2f7242588abe0f6c8718250b0030fa63c2c88b0439d1412ce3d1057c32a50f8b5027326acf808f0ac0570b31a451672417b26e5d7fd02cf3f9569e4eaee2191fb0b8691f3b69f82fc5fa086f5508509b420c74bdd247732c471f100b1c707e413cf840dc1a86511c95d380fc52da3436118056921e14ef439daa5cc8c91f4d9eba06c58b3bd117520bebbe8c064e7015e3fabd55d0746d7ba787e97592cacdf88b2c7e1ebc7e0119a340153025c4a19230549ac2facd9cff1a0141b0114cc0f2d556bcac4f203864030b793290bf27c34e5bcf2845c229f60fc4fc9ae0e143409e484825d69399ed6c8eb34f055c8427c70a71cc17182f9647f5a746db3e7a28f64b0c49cc374a8bf6e85339b617c341c67a89e91a4618c5939ae5792a3da1834e73d46c54de5b80023e7b4e5676a26b07f38e3bc27184e0a6a5190178c94ba65f3c825b340ae27fc9a5f1922b8b976b61be2d3f0a1cf19d82f078d5d129fcb08593c463514f59c37318bfe265c3bc7fea8d056be4250452c150a40d173695fe4fe60aab76b852a62e957a45dcff03b748dceacd11c928a86574a83ae3fa9e589b24d75b8286f15aa2acaf3991564f84b8e97dbe333ab29ec1d442f4722c863bff4611818f5d16a7cb8843b2db33489da849acf211ae05827be7fc94be5e1776bc48a8026758d0a62ebe9262a89bfcea23dd0f75c37730d1ecf6b37a0e0c8282b2c00e1367ab63a362e160432b210caadbc941920ecdd11b7d923908c84fb4c6116d0142f36df0baa63d413bae027efab75c9ebbff8823c5bed2749d2445227264f00a3ab32824379a06864fc07d479eed04479aa132e5c4b730216848f1e060c091b7ebe57b721c15493747a55b6e834664af0279a1f78d11faafce5285403e1034fec320192be1908ae326883d0319408d1056c8f16ec7f87ee5b2d646030c1518be613ca72de14108c0411c4a5419608252672f53fce5827cf0d9e1b308e538c21f3483edef8fd1a981792ba85f8bc5798d445403e2151cbb80ab2132301d3667daee63d315867cf624f8c6da10ab0376abf53763e79b210e47b2f9e17edfd6b2355a668c306f44a98e3c15913757c2cf7a9ca55d11ad2cde700dbff40d8cb9ed1e8226e32cf54f05910a9b66519d8b6cdb18c289804cd1bcb6f84312abbaade688476310bc715756483fd288bf61ddf5004ad8e42e82f063674559c1cf629d158a6c801e8c8e5fbd5dc8c234c23ff5f48717f51912b2b69716868fbd2d8343430c2f2f98182e02adc37cc0544ed4f394366327388165c76941760b1073111218a3673bc417dd784657a4964bb38fb10b20f2786dfb6bde5e51b6bf71dc8ca8b378084d052754c0aa0cd02ec28d0224f1ed5ca02d3c37e7875f89ccdf160b6e93de3c8c96c3f276bd8a7bd98d3f640d328e15f66e62608fc8829a56b4cbc541fc60daed4e2d9d4302fb1550f29a8a4a7072548f725446ec3ae98573160902de8f1d91ed89a8a9eb15ab38a440276148e19bec35e572cdf999f0110911aeeff7f21fcc8f5b43749f78aacde54edaddc24e17307ba4992a75eb687d86e0b2308d25228c48f0f06cffd336cb9489c8daf667da9961b5e35a8ec8b546c157d41bbe41299c605c34a0bdef96ffda8e5e0ee8d478d66b47a69bfb6020380be1f83290e2702a8de30878a90c045d31d405835c7430df11f26666ed39b1c8fe98090876e4834623804f0692a3a3caa3e76798c64e1246acb4b1288ecd17bfa61ac3f0c3d208cf984204b870ade465fe41ca75c211c09669af71b74e70719f94c7ca74adf814d36530da44e86571055cd8ee19346360154eeef7c22c4824ac68f63b4f34e0e887a15185232a3713f2123a7e586b7ff8ca303531f303d8cdb061c5c5f7ce92871f3ec2e6f1c187b55417c1ef388d5eb3dc8e739a4a71272d5eb2664b978a39d5c60f9931bdc0918c0ecd38248d0b189964f8a5d76fb429e563d887413511c5b8d590d2044305493d96814b6f8fac850abd4b9920ee926e12d1144407847210f5d3fddc76dbd223fd9b402340a116bd398c444644df19cc34c5febdfc01dca49900244876390fbf0827807f2fe746ca3bbbf1f7689071afaaa0686f77cecbee9febef0e311d899bb51ba5993d22be7c74a2bbc8fdf1ea2692e3adbc0e84de4ef46c5aec7ebe8641592f9a47220e0a319b35d4047a11507be336bad31b8f846306a00d8ff22d200843f399e8e5d188719fa254b569454fcb858cfa4e83093ad02b0f42a3b9aeb78551545eac506c88e6278d85bc349d0515903f18018a0faf3b785e3d64f7e28580e6c2fff957b416eba157d6b931c31624cebf79c0583fe1166d6d5c5b19c7b1fb146fac1e2e2dd31bb1a3d5a8a057677948fa5c423f1f64f2f78ba77f440318801efe100145858ac312d67355268afe0c10509e89021a14f2ac983d475eb84823903acec42a753b87a1951514e8149ddefa6838c29f17dcd3f8f4b393bca48349bf708e509d775ba8c07b9473d318c25097d65cabae775c141d915b6615310c979c57fe27e8e0716eb1dcab565ff68ed3937fd584772356e5411dc0db891c69868f9b6a4698b5a4fb3c926c3d3fa4867dc718f1f0bae2c25ab7188abb1d53014f9844262c4c4518c14158e54c18b6ed50842310e04daf127cd2d0f2fecafb2bf0a16018a37610a1d26a854a397d316aace308c5f16c3ffea72acb96848c62013a9e0c2c593e0a09c76af36283adb8997d3b7ee099a00aaba0a1d79c1f1ede717b237c592cf4fc4c1b03e3cbf29616b876be7dba10c8799060c871cc0d1c424e43656d6fbf604881723da1b173cae006d9a5dea585bf9f28e600889560d816c954f7129087f2490299316f4edc8a779525121e5bc89120b4a2c8bbd091511df783566fc856937b09990aa7af8245588b6d4b4bc5b1c19f774fe2119d0fa9ef85f39837184e973756b87cca3f213c076e9209c89b5c0df65a93e458f140a08d3072b92e3f83b6d1eba1ee03198e6f5e71edd8c149c72a533e1ce8d0e96eef3178e7bb9938c155071f50005f87d666054f20caee33d5661c87c412e3cd3216fe2326034c1e7d34f04dd095c479d6ea3a506731aca4c917962570500a12520886be6fb5c3c4cbc9b68d51b680c463f1cbac3528aa0d1fb6433ac617c57fc4d2d83bc0f9ad4eb38b70f577b2c66280697877dfbab32b59c72d6527bfdf29d390ba2b54b553644069a378baf313991c1c78e53dd33b73b5bc472476e9a4cef872053477e01824aa6d044fa513323e8f5ef10720c36877d7442e8d347c76e3edab16209494230b089dfadf5715fc92886e09f6a8ab83e8dca4a328277e08a4fea681da6aa34746f276add51840dd3b2dec8b7300eb9a094925d0aac1b830e01b5f50398462886878e9bdc1f3dd7470f4c47068cf0b7742b339d3a1b7d178d1448d15cc0a53e70bbe9efe2ee55b72f483703656c05350f562e1da0c5336581bd6d3b871b7244f37ab832fd0ddcf54bcda473bf2f8244bc79489a72dade3bb5d1f44f461ee4c43e7ef6120a074b943875814940f8e6ae0f4db31d4af2fd41302ca081b4ab1daba223920bfdfa9c31d38b10f70ffcaa55dd574d7295c2f05bad94316ec85cc41fb82ede46fb14bd56b33d6e64b8fd1465e60d678b6a9d10e8f61160f6cf06f1a8300d0dc5850ec86f98d03210560e83b04edcdf82309fa1aee96feac8cf342f552f37f4b1e440d9a583a6df242009d3e57cb23294250120a7191a59ff20ca2a903afae82884bb0bf4fe494e8f50d98d306a20a6e883eb749f144808aa3603c0d28a3a8a52b45796a99fd5c8a839d759529d735abd92926e0053900707041c187c8d5603d7a0c44bab149e49b34d3090d60ba9eb183b635e093ad03410fd8d8161e4566de36a985c90c6ebcb7403768ca315b3572a18881f5fee11c9d9a21dfb58dce079ce4d6f25bfac8205ede89598c7c0ee0db03b905160c3cd1193b7b0f8592f20e1d4f7e16b6e1934dcf8d1a4fa83999970f4ea7b1a616c43ea125d6aaa1aafddc40dd16b72e4e4aeba642164ce2f56daf92babc19925dc3efabd41ee0f8104e5075e82f294c30182eb6f411bcbd7fbd32a0e1184e52da77efbbdd97a8ef8f7ebf69e6227d414f5a9ce385a82cd0925d2b0bb253fa61527e8b43032b6b88b779f90fe3add1d55298b65e183cffce7c5e2c86d1cb6c016c1b94b33559e0d36342820c152334dc926f713f785d391a07b8a8e60bbcfa9f312d40b01c80df5826221380e42128c09dcc00bf2c704a407e44813bc177c43a934969dc5022fca33218be6075400768a123521cd615bd49c32c30dc7e777acaf1d59c97c2a8e03a6d1e325fbfe6bc58f2832b91ea7e73190cfb98e90c17fc2335919a7899633f77e80aeea79cab01d6441cb618e800b4fcabffb3d589ba030f999bf2523538e7c3e5bb657c7c990ecc3bab9bc7711e0c95537cc16ef9d828ec53111644fcc71e66224bc3d055d3cc9be983fa51848e5ff81ef2c133fcfad7135a18469d311a4e1220fdb1a0e6d97fde3b1b5698d05f5934272c119b224e38db064cd03b911dba5c80c0b991da42843269b4f56797701c21a91bbcd889206983843800c6f80afc42f8d98a6174a91ae21e01ea97b7302fc4bd29001f33206089c77caf88ff14b957797bb722a39e68c35e7635008346a9df3f09e5a8b92e700b38b15c7fc159d0cc91ddacca5c8676e6c86b7504ba7f0ba0640c7b07c43915c0fe05801b025745786e0ff4d5a767ea67d9ff21db5135b58e8a9691f18bd769f221d90fcd3e4477db6d3bb05dd6a9ae9536ee09002437b45bf37f0e8be3e38b3d217c181ab0d17e8560b2e4154c386cacd3108539f911f88a2846add7d812ade53c21c570cd1a316b1f752c691206226a72d9a383954e1f9753a8ad38d251558600b83eb69094f91e3cda6a9c5930204b22f059403c7bc40b63e72e69f840076e7b052f62e0e7dec45259fb163c7258e0002c4a97a613520c7587137807ade6a8ff41db4c8c0853346d4848f54f2b21e425a3ca30cf8d394f5609fa772fc8f817859bd0860c2a746f3c1d72508d7327f96f48ad61c4e628403dd405c07a2a67150bd6610cc3ffbf82ffe6e66dff8a899b9bcef28d068a2cefbc9deb35c16ac8fd3d16bc70297fe4d48a5b464c626a80ae624dc197a4ab4bc54847dcfaf6c259eb44c3b48271534c740544bca06dabe8ce1a1a86cb9abb1522f5b9015963877027d87768c0b8df868246978969848b8654c6b4178bd35f6eda355c25d85f494c5950a5f8a059b087c774bf3eee2696f47c8720d6b296d6b3c2547d2239b739636508d81d6a31129b837efed6d2a50726b3dba6dbd899c28c1782faf26af9673628685f558e86d4095a677edd0c31efc6419626051cb708c4800325851cf8fe0db5117dd4eb3060b383254cfc4409d2652d0bfc7f614c396c0090110d1e14867b79a85f6174b05b804850317cfc233d556956fc0ac02379e75e3936855309dd571e5da23a49968f5c9e3497efd2b29f9f5c635364dc3cb9446b814c2fcbbe8c06887bc4df94f0b04bac785ddcc8263d3383abd9c4892eb7491359436f404251f1e23d198e91c7f05673baa3c843c77f5c6265dc22fb9514cc10f9de71251a7c9605828bc2a911757343ff820ff45aadca14ed9510ee10acf1b3e7984a26a41cc5ce1c8890db75efe6d791046a6a927ae66e6f4dde717954050f44e9bbe67a8382380141d9154a052718821a60d9ff14f87e374a9fab236623616e6314c4434743bd868254d8b30b53f292763e63915805a9c755c18a9d20f45b320dba6f6de65c3d6c593e26cda1fb0b3deca5cc8e8432a286683581a0381b2cba118e745e314f76fed664c110d87c3fd3828d049f5ea733533604dc82abce6c1770279a9ccdec14f2220e4a343d5b08f6cba285f62c0f2b1809c5a4ccf7dbf0d7261467f193768bc6cd3d8ff7eea046389f1814e4c8cda3db3de70bbc72e65de3b43a4299b5c4e5c92f746e82960e10307ffff1dea66373beff9753c6ac1f9507d8788d52f387c7b33279f2f8f8efbce62e279fe7cf2760a494f36e6c8bfece88d41e6b45fcc70cbda5c66e18617bba9a3c5a2e15b41d0bb86c902ea5b79ae384ffcba7af4ed52c965df5ed3c4ff3030475ca876a46334bc7bc17df83929b59bc5ecc72b7b76aa7a2075ebd2c3881fc9da3856376d03b2d580bfc25ea840319302062f340ced7efbbc2400b9c9a90e0f7ccba42cc34036e4c046772743da161e08d300d02faa3b04dd62950e82199c1db0a3a443223c6772897b68141e60945e900943e4fc5a1436c9fbe0cba100c77fe2653cf942451c6f742fabe5ed8e335796d0c768ab3e9c031d4a7ecf2705aeb97db055016c07e2a00c4b4a18933c3dbd951914bff595435cfc8cec0bd27291fbb0f16c7ec55751397fefcf95234b0ce8285ee02643892079eb5a8415f0142dc0384282f38769565108fe7c7265ede84d62aeb46fa860f9743cb10eb3be29e953608d2070691ba7117b3bc6b9b64e0a6aab5b6a9c6f1dee62504494aaa8bf046a99c34c2092d16a92d5cd3f2e847902e0fb973158d5ed48a3423f49e5d29120f6370e29f34e3165d5a4f5f8b01f6cb10ceab383a67cca42d80598dce8044dd8e205b31469e25ed480a96fba72ca27c0bc454536b742cab6516e83c6312ff9389f8c77c4f9aa4c9d23c0ec602e897288fc16785d20a7908e1ab817b30b30db83f44aee545df7c99e1dbc292334a5c357466cc7dff2a8596ba9fd6b17df341399b90e81725f139d055e932830443f67ce4605ea6a8d4b4d811380c17b8386eb285a90ab7159e93041eb425c0609e2b82e8a0f0c810982c8040bc928bae9faf5c0335b0b236fd9265b98f18e33570e83e328aee3fad7a4370f5fa6d922a0c3025b459ad77870d1830c3db822f41062a64bca0909759b8673e486c6a19ae024a09cf6f144201045295625a259e80a3c47529201868907cbfbb9d6366ba2107c7f0be947f4f4446c5ecb1ea80bae815ea9d283baee61703978b353b167209b08d371c868702e1055b801dcf187f7e04c1c2a3b32fecc043e0af009d2ec43c564932d071b836fbfd77d754e4ebea938b9ca383745c7793689f8340261b5dc1690bd507b46a89c8370e6e4e0e0671f33b816f32b79a296822c25e4890f53c7caf61fae4705805ab2635ae97565647483d26771e2abdbd138f8edff075311b597f97e1c44b56504a4dd55a6e07d5b381cc2af497c1055aec10a9714369f38b9ff0c4a7b833ebe94ae7616251dd9b877dc2879c79bd5c490b1db1d3cf2a5b5ea7a49a40dbfcd14d15917abbb5a12e9e5a444cd690eb348705ae7e2e56fbae2bd0de4dbce15483a59a56d5fa52345d0142e3f9b89dc54c930aedd495a0ca0f2912a4ed4afaeb6028a4d54cc2f9eb5632c70b9b6f51e3595323fd757b3b03844f723e07c585ca5b28742824085822e3625387873e14b74610eb623a800955e1902d7b3aa1c67ab51f77fe072e5485caf91ea89ad031edafb36ee615eff8c01b96f71ae3bc1fdbd12987a72d3c08322d627e3b209c3f511b1ac9d330fdce2dde0faae08a88476fbdcefca4eb192040a212a41e559225aca2cdf8a22c02e69d82ec953cf27ba51890d0154171400f4c35e8377b0eae406d71b3ac81fec95d09a6322c2945f6b9b6b3a240c20c5c1e877183ba76a391e5edfc108892df97c2818a2f27c8db3a808a2d75b7262082bcab42dcb9638ff23ede6b46ad87dd6b1965d0fc81a2426c9d92ed88e6235cf88bfcf86718cdcce961c7c94fc2fd5afb16f3688a8d247418a9db682ca09c40866e7bcdc29bfa36ce187a1aba469d4271a8a170a9320336222a3cd75369167a62e6aeb8ccdc3992e011cdac3384e0d040180ef948caba6eb31ce36bb09d05f69027a0d3009229d191e2d2561976572d3cad71a3969c79119249be6486df6dc5a6e7d59ebe2df45e6f6b3bb31c8fbd537a765e8bc16da9f980f2704c7d124e2faebb5a6414dd3a51db1c466588b7e0655eff9304a7d8c4506a0558843d3c6718a148941cf8608575c87e826bc063c3bcece428e46c02fa462f6ab6f3d21832ceb427b47fc36c4a0cb0e923689c7d0f45bc134ef934a84b81f6b2e3643a2a918c5024feaba4eb58efb059d8c01cc99c268cf1e032f04ab16c729e039355cc58e191a17ba5c08b80973ac66fe4cf1ffd237d178a6f60d88744fd5af7a223d1350ef9cf83f6723bb83625dd6451f9cd2b371326eb765bb4fe6056786c5ce0f4e79a7138d4ffd57e95e7e75b6023c659fe60ba49ba44a2739776fe2568c53182f9d51c494a229018d1b471cb3a7d79df7aadd86c004479769c1b4a0b4b68b68c68b84a0458f576a7011ffcd4fb6f6da547b4da9789ea655e2ce1bab895774ee5f12e0475a5be80e2e8f76b379c6ae2b24f65b1606fd94028b780c5f3d50a1ed44834ba45d7bcb1cf74fe01f4721054136e36ea2a433d6bdfa2531d67e7aea675a23c83d1cb1df3a410955eb1c82b59e6bc768b7eea30e69a3d1cf1f89e52f38450374e0382858677fa6798798ecee4ba3986e018bb40e1a2d4236ef6cb20ccd8d882121a2c4f803d21ef990c66f65dad699e5cb408d9f42512e200709ad22aeda10802fc907e3f212b1a2705e589d3c018a57f42888bba33a4f98143ea7c965fb49a6b0a2e5ce78be436c3ff7ac647cf208fb1be32bdc24d83a15d889e2e66e34de0fb236251ec047f0c509d56de119d2ea5f6976b21a7ba4749e695713cb4b622d657b2ed68b1ef3c55c6d1b83b9c6c891774a3ed175da5b81704817d6f76f726d732b92d6ea67c32c36cee3a9bd1836cfd2881c75411a41591bc48e3bd34fdff8b9cabc102c80259358276669509082c794cea07205b59d11ad6ad7dbe387632fb0ea6e4218f80fc43808f76e397b543a844f2c5f2e482fd8f3f7507a393cf1df516330b24f6f378f070e415d3be5965765834df00ad2a143acf3f3ca2a82cc5fc250095dd31c6145a7ad7aaa01357b0907044e66910e5f44e8034a89fb4f281f11589a90bace4092770461cc1cee2e2c29ca29c692cf851f3dada27fb10644aa7f21f10eb7d7226eb622002a0e839032a6e10481dda697e405d90797f3d9552abadb661704696749d8648c9394745dadf934767b3083aa587b188714d6e86c84d64f3d5b93f5b6ee6c794c7328534202275180fa7308fe26ba00cfde639cb643b129080427af2404464ecd7690a22d10c8d11329d0a09b08aff57bd02cdd1858a9d6efad018d115510f11409f13512f86a0c320307b688ff5967a5c4346a488e8b92160a51706a52ab963fea3d20cd631f599cea317bb1abba08574e09221993a0e00acd9ccb5650965d182ddbc2fc4df3571495bbed11e18f5997dcfe9f47bb4bd6f07d12075eefe069d5cd29dfe5e4835b48c36d288c96ede2aa8cb9906b87cfc28ba80e86ac0086cc85dd0f5f76138cfd7765fd0a7a391b5c9e3119d383936b36e16054b931a7f7f9f29ce66fc7e6d7dc7416fda96c033b4817fd5ef77cba03c28e277632d5b17d0048a9e6d86af72c38ba0a762b0acd04c9bfb1861a2c253dd935b2aaadfb4277dc606862dc4f909be88816eaa010906d2bd0afaf8c77c2246a7ad4eb5d862a69743dc4534d7188696d3b6f85404fd539eb129b3b5edcc0fadc0425e7e0763101768793da0182252da684cdf828f48fdd5c71e85e972bd6b5a45f711ca9312ac08504600756f69ede8841d4fc727d962b17210670f821f0e59d35b8d195df4398a2ad0cbcb6fe9e0e2d9c3e3f06a70f93eca4f1223efc206ab07381fd22f249d1b7585ac13e833a49906554c23225fbea34c71ae654a9e66a08a2d16d91cdb123afe1958076dab2a62ba1171d893455115188a041e15f641f46f6dff54ce3878b96960263cbaae8cd81da4ba7487b93f404f93dfef04188a49e763f1391dfa4fe5bfd0313a8002a9e9deee2dbfe3acb050226fdf1e42e232e131fdfa19c19507bf9817b2bef7bb4a783b9409f7aad80fd01004c7cc88f6cb3678e855d4d6805076fbf116cb98d625d8ef24a0b3e29cd8f1a46b862761a7bf941557ec3adb1eee16505109a669bc83f5693d878ae167e1005d18fdae04ea72d8b7c81fbb9c0930756a1301d16eeb7381292c3c839425277d00edc9730dfecf948ee2ae8fb56e238bb85dde6795b134f9ee14ccd06a376c600ffbbb4daf71b0251050fc973d0efa24ad63fc5e3c865b58a8f9b4917fd1a997e5d6683df688930ef16238bd204c367ff5aca94ce954207ae65a1a9eb76519062e8a45a8a2c05247adba8fecb5f9339aa8218a72698eef498018d9755e28b97402f02fafe85329fad576357ce6306fc4940e7c5109d42da0f68fba7b635864ebb168702321214f5fedba9720c9aa7cea650e19a4649e73321dff1372569ce2e1cdad51196dd1ad0ea568c8721a1606d578f3335e0d00dd3e07989d8c903859445e0fd2a36445873191cd0fffc45df0c946cb921f6391229be0adf6c22735dd17d80e3227a3264b56f4d3c10c5fd09f761372874493d86d081f52bbfc21cd32020eecc35714d61750acd0b28696306460670cad26fba2679f014916b08e45801537e294a8a055a1814e6c77c907f28ca1286cbeeb734b804cd86cf5521359696208543923778999c8e74ce395c185da86cfa0e4cf6259c1a2ca9310f6ea642b825f86310f7f54e9c9055ff77d8b437e670bd4bc3965426d8bdf099b08a4ccf37ecc515d614f0e6986154c943af4283c1847fc4c4a166b58d97ee58003e06fb2dddbad2e8d3046e774b7e3e5ad7628a05e8983ed662ec2a3570a3890e7105be2924de4598980bf95a2383ea3bce6d84fcf201d469ae4f36ab8465692b1fff345f863a76130a0af31262dba47f6f22a29b179073c4a8e8f3c865b9d03385ad0250333149be7f354658d1a5af10941684eb33298ffe4a40c725204424d94308a1c87f80cf819ac096f51b2a9b6a1c80972e115723ae8011ee56a7d750169a75255499ddbd7432944cc2850712c6180cc25962bc1b5c8634e8f75a7a72405004148bd6d19c533f78b8b0a728d8a0cc57cad16ef6841e36e63229b6d8103d82fb78ec05a605db1cdc003d4d6b9636ed22325f9657bf87a34a25f6a6d4148a3fcaf1c08aeb8ed7e645f02b56713a3f52b842300f701461e225be98e900cb729c68563ea03d2ac9057a912874476604f1c9f69d2fef1ecc0203512131820e042f8d46f5d009d1482bee68d555e9a3728fb0df9e2f571e0cd594a119afc52130599f5a4d1cb7fed46f8807556ca5bb5402d206cf531379612b2fdad79fa69e893a7cebb036231440181e3581c675cca036885125f9ddd4bae5ff61cda7e190213bb1a2f2e4f9638d200dc2e1c752653ac45f09638eaf5595b70a88ebebf96ea30091df46cc57146aea51678d4b65fad3b7a673f5a3b2202684192591034b72512dec4632b2011a07a74627a6ff1a1de1d01d62c096b184c2057b94320ece95e39030897f35fddd0a109048cbbdd472e091d3031eac3ec4c2defe638f9e7ea57417fba76ff94b802b06828440ea34fe18b7718be9ca0092a6cf3a0a7a02b89405017aa7e62e6858c9b3691b39ca17bf07dfed0fd32a76ad04963152d85d4d58acd2ee2c51da8f23df220868c659c4722ba498aea21e1a4fc49c19139c263d8a4d2fa7c8e6edb0a4b3128a29403376b86ab5a9747382cbd9f733dc57120f22383d09f274dbaf3d14b09c0e87f829e5453abe386768d663b44b925f9b13a8bfc37d0e87630bc0c2db0578594349dc98d49570c8e6d167bef9934e07bb8f3b4153957588fc68802fc8f0f24b0858556476a97cfdf846bd3bc0b4c34019f7641f198cae481ecf95c8613c6f0b4747ad40e0d2a0a289a7eb3046ba84010362a062a96315fa45c0612d6a5c9c2a4163d68af8bfff809c401c6b7536108a8ba6a6b7a59c4a330501a321f32ca4ab39518dacd27632f812424691baea767369b2288246fde21a135da9f35116bd80ab9989d325f3795d33cc2912d66a00761eaa9412f0758502854cff46f04624af3a27ca8a50a941e0a28a133cf59c063cc106c2c017ca8f1c018614e404e92d709ef609f39783db1033792b34dd14b98a204d8420fa6f1dd571c86d8b9f6b0127e745f365d18b6b6e3324765ca9ff038524675388053ae0a15e4e3b5e5c8368b17ea17751fe189665014b18986c86d70d410a62af74d1be9667910af649afd0749007a74f81cf4378164be8419ceb6d24406e27bd28b44fe98960514a07d4274979a3d657e21c578b41ac50980af79c5ae550b1f8610db6143af17e2299b5e852fe425eaabd83f5cbfeef36d52cd72a39c5da103a1e017d403cb1f29136246c4b29997249ccb8aceac6aff50f2b0ead28a0e700db96ebe1dada65722381718dd51bf8fb8ea9371aea5b8441a068d8f90342761a8178a586f885ffd076e8a73a13492030e47bef0dac557f7861efb3a22aa188663f1b673fb0497d16a015149fa9902e40a798da6e66703aa49dced3ee1266c7d847ee85b7f5624c72c86e7d087090c22ccf5d311d6f2b826bb795f50fdb96691f2161000a6424c57b27c2e25950f548513897eb28ac24d0196e5300623d9f093a609564706ad5927ef37b4168505646ca5e6aedcc3c5777c8325f5729e62a82323d6e274498c214b43e94b87461c708cea56532753ae4a991b7e128679549d574a9cee5b9d91fe89e08753ae3e9ffe606318ceb25a6ecbc2481b7aaef03804d8f6abcf7c0dacb4759b31abe7124776bb85df22c7b4292930ac9ade6eabe52090d2bb5a929d9f0e7eeec7eeda17025fa0c952fd1da0a1756533b6c7aaf0610205eb9e25bacaf6e56fc2aaaed3a7b2a299d80ba61465ac06cf45772dc0b062fbfbc67358d15c8fa84436cb313480e3d1e1fed604b968b3684fd206ea55be6e7dc39329a8fe45739c8ff786552de20603e0a39a4e1b20507690f72686be462bdeb5b763dc717983e0d59182da4aac28a11eb1b401a383fff27552ae42e656372db1ffa81fc3711725fbb334d8d6754db714887e8e0b45c3e429f1a349df3fb06c213f0825a778e3da47662f1159a1ecac086626812cdbe79f79251beb29e95604b0fae82199371cdc874a61792be525f3e8379271c817ddab87969848fca043e1f7dd0b685359dbda9bcebdbfa66b2e516cc3b393b84b49c5d379ae1ba91ed154da6255898782861b861b65a5047d2016993ff6d415e82cea3557e593ba7f3d88ec59098de0a163e260b0b9c95058ec97ca225d16eaacf04b40cab84103e0d9ad88135a165078340e14443f333ca86119dbbfcb0d877daefdaaf59ff5886523ddfc5b146a6bec139fcc59ee72acb7ab75c13e4cff780e72a86d955e12a711931849ad113dcdcb9fda41a7995102558c5c67cc4cb8f1dfb3c09e2810a08ae2007f3ecc0f8423a29216086eaa8c8abc706ea2a899bf607bf753d49ca3edb48c3d3f5522be9e3f8ce1fd08289247095901f303b832031780035ba67a583b4f792632e3a054f25824e087462809c1b6cbff49f36a680411c0eab5e4e16f5e94bf47008c7f0088b395375cba8cf51957f1bd24dfd4e638832034474149de8f4bb6410fe764ad2f1d4c4593fd19276b3004d51378e524eb1a55ec3864cfb9b57e2f2ff6a93fb0056b088b8c78a323c2126de56cfe4cee6e23c91648f19253228e85210a2426203df1a21d8fa7bde511015e146da513948c4ade9266eeba12723b3be9975ec9af12dff872ca065b0f0c63f8f30dc9ec65e356b9619bfbe79da214b9736be0a204e1440523a19f6b4168e6d4629ce87f31518246fb3a1176675e63cbd32c73f3caa83418c336be4272a61ef40e7644e19b59d4f6a48809123941dc81df746283d9207e6f192197ffe102383d263d8766ae2dc9ecc04e2660ef30b320fbe51d10714419069fb59843de817e082d83a9c9e1de01562256e822906074ab61563f4a76895987002d9367adf01713dad9e4a1f830c2c031232ca7f3411868e022563233115d27161323993e0fb856cac791e04bed9c425b68a8880743bfe985731017a460275577060d9d68ec6305c8ce6e584ee35e22326388856630b942e2dda7e33c1724c5f00adc81f75bdb7472e257b7237647a58ec705107d3e8b211428707b570ba538fc7046710716953e1c8c8ee1ca835b24b6dd3e07dfd6c2bb84306cacd8f64b05210b072cdca0627f2803c967803201953c2493880d93433123feabb47016b37497c1660574685d4563ead38f14c3b2ec173d9c134a69e279960757eb49f40a2e6234c055735d6f5082b124599f2f9a346b9cb96c7d84d1b8418423a43ca9e7d9b55e74a744fb36d40fd20268b4236ae71195432460422c290bbf3516848a8ec828b4f72bed48a11e8c04f2ebb6e8a55e67028083d510b319aa77dac695378ca532ab3f0c7b8b54f6947f68f6e69415397f36ff07517992c3b8bae1a30d7f49bde1f6b296a2b35916c4a38649199ead83fe6234c46220fbfd10c330ea3321f86e6f6d61d46e8a72e9754e809a6b5e1e34198cf0b77436b293e48138feb02f066c2aba2ebd41008bc266a09248e47c94c40fa949f71a7415bf41847e9c1c9b72291d638e2fecd18e8e98a8f43081bbac19ff4d380c911696131b99d272eed8177400cd70c1d92731fa5fc5415f3c7fdcb52691acd5d28dbe2e06797af52ac6babafd058241c2f03664059c78842391de033914de80b3dd75e50d06088af50cf1bcb2766ea83f1b2a739cd87a4a83758f27b808c4541865ba27218f120595593b88fab1ecd2201e7ca252defb190d06d14c9d69258e16a6cc6f9a143d1a423c81c14e18db2c6242148de0bcebc90e1f287046bdf17f1e14b8b7030363e44eeff35967a997b419d3a81f807f2d8205764362e0170f93c363a6dab46df9d254c01250ca0fee868a3f730a2c0b3c9e8bc42313bc720087ad60bf16924e9b2d29f12cbfbafcb3a9b8a31a3e5f6a12a4f8727943f65e533b8e6e382ad7d40a31c555c357e368cae7e618dbb58ea5d9eda328ed5f93b53b515ea75b74a70cef45baec5ee400fb4a0fc98b022fc892d5a71d8d5d8f7e3247123b66e259b37e5dcc3bea9d020185af36baf5aab7677d0139cf146b4b13a5e4456e898863e3eca184c28ada73efc389479bb6a37818cf422804873938a1b32800e011868b04c2382180ea59960a4079145ab83a067d0c1ffbe63080a1099db7a3405ad78e364bf95529dc86f7ed6824ff4a80fdfdc06f6297119da60b08f5666fa227c2794c4f82f682512fca7131c9fc57341ccac2f8c50657411b87ea7bfda76fa47b4631f8a2397fcb5b50a2d33cc7bc9bc9e5b7704b9ca72fa2414843dad132d7b2871ec4d0ec11e25413811dc70ad2c3ebf788cd5e6c59e9cb0631676e3a2ea2ba6bd483b9222732dac0c04a7cf2dec21265650f6cc6312d73690de778293de2d966fe5fc980c359d5b495a3b2c107ad47db990cebca39f653f8a8fc86494daf019eea983a1e9e8d903c320a0681b0c29c2644021fcdf57f00233330507f6c60e9d1bc1babc0e260d8685f4c3220a3b6e6cf8389055c068eeeaab1f7960caf8c4a0d9b3337dca2b6b59170afe22f801806799b30aee486b2ccb24a26e8f5dc38ceee5060100587652c3744d12e2e5841fecce675e3809d4b031b1d0ae46cf40bfbbce08e5db2b53561fbd64556effc6f7b42a9b6d093e15b26a4d2ce2ce5cafca1c031b6469ce7d912ef6c5ffc540bce22ef2c0d5f0a6b60c590d33b131bb5d94e483c297f8135c477731c7d7ff1a6062e679661f8660e2ea1e1c0ff0ac9c4c6031890c6b74b6883199837c7e65af3ac89b85af63405e78d037a530e256f3f02b94391f6c9a253676c29bb90919488483108a9efc5b193ca1f6ae6b0b2414d487b051329dbcb057e1b91346354e3bcc7006fd8c330831efc12204894a20d095d28d2276ece4cd00ec027cd1e76a9efdbea716841d31e8cbf5fb3737a1df8499062f9263080caa0a3e260fff1374f09b943d6a89ff39872da692c0bb0bb08119ebec1226b4673437a4e00f6c3489f381bba56bd865bcf94ea9089db023793df76753b686d78a4f2d7820dcfbf99154d020c7e353f610d743c7a3a0c90670a0cc0a018e59a8fd3eb36999dbb5295e2c86c36bdeedc50b78ff5f75d7d7bcdd0c42805190d24c64e48d1a87c0a495a6b8564a01d78c997cc7fd814e5cea11011ebb4007c6a07b9f2bb29b48242e6aa90b8aa19bb4598ddb90fcfa620a55b0eb15dc72b024590eb1a4215595ed2da553a85facb9343ea2e90301cd6144ece1652aaefa0dc11e3b11e66999629ffb12d52e94db28d2c7eb7bd30a465f08e502436914a033197c0d9e92f85eccab4dc47e1186452ac8a90c91fc15e31efb31ea95466e4a905e7b83b04e73f002123f0280a112ee67f1ce2a4cda97318c9db31540647bc9f88ba5fd2ff7b205f3afcc2721feb280faf08040018eb9ecdee3a3b97f71cd8b0737b1ab77a24b17374f53276b84b42c28189dae95fe17ae66ab989ae2992d355e545e0e749e67acde2f463fc3f01355b2cd718c0e4f40f494ac95b920e7831093710f800964062f0194ba3e0dd901dbe1c3347cba093c3304262ed75433a43851519ec2ba24f123d94a93b295e009c066faabde6d7e6c25c8baef2b18b2629301140cd78e5527b04c5667176abd356123cb713afe19199f4a184bcb18ebfc4604af59cc57d7ffbfe48ba064936ca5486d1c359f7d2a0d5bbdf05435f696f4013e1768098d46d117c941a6a2dada97f567377acf9019c40fffd4f21ddf6360473011d2259dee0eb82522010e49c7384aedd45635e583cf0406c69ec6d26dda81f3c61561485d71f8e887c2a489c298fc547030630548d51925cb4bfb997e8a8c9a6141d151ed8576ebe32e187f795e8aa6147ac62da58e8dc6ad606b459adddfaf4fa42649b3a28051e0d5a4169693726a704a7927539ed2362c3a3569679f19e61e915e274b03895289777b018b42695709c851b9a220c900c48394c8625698e8f849ddbe2f69905bf51d63d91143f16748ed2fcca1c98ce666d6cc25d866f45408fc66e3602de6bdc74e690e2d0497eaa7bfa5bcc8aa752a7f41da44ec837586d1bd5aad6c9518e9f4ef201066f123b70704846efd1ab2ff6f00d32992be21689b2b65b660517dc40bdb2863d3714fde4901542161e20235f102f247417ea36a355f186022c6a835a7eb78ffc0b90865c470079b83f04e040966a671301c96ee482ab0bc2e787022f7a73566155af30a6d22abbb1f72f724089a330db0d0d2ff3203b8b636074c4b75a00edd1b76a4117aedb09ee37ec1e2bdb8b49b745a33dacac17b908db27daee6687e59ba740f2495db3c381848e5e1810b02c4907cef47db4938eb49bacdf2c5ab08dd9c52d4605fc5ea0dfbab5678739f50e2e8cc26ddf8edd232211a0ec66f3c47e511e59d6670e2c402668a38fba385cfa4a355313dda12a3e6915c572709878eabbab207a497b51db63a3e4ce14a11cb50adb0ede1dd10ca4e4f5b0602e4fe19b6d487e2ef08e1e15944b62f9ad1b4648b9700587255f06b537b69c22a9582e6becb32fcde0e659950148a820c87774afaa6ae56ed717165ce271b1a358872a3888f159e0aaa458a2d2eb471e6957d33b508ad8cba3a0eb93412c96010bb02f31c9ac56f8a11cf15e9eaf72db4266e81e761ec49a38f08d90080844122525313c24c9848636dceac9c31bb87d19736581255dace1683c0359fcc38c44c18331f77c3173b69be62e1b5b3661daeb945fd12c709a6f24e9d109b2169f0e741a03e1050a90bfe11630957a91b54aa04c3deeb0b341cfe440775b6f0dca9cd61a7b27ba522592c689c7bb57a0fd72acad5b2d51580cb923308300a66c0815a1ee07b2c0b135af8b4d874b7c33f6eda02b15cdb6b1e2d9850e918aa6a0f7d5733e653b002f9c8f97da9ebf448d20adc9bdd74f5f308fcd72b89d4655a9e139f7d6671392a77a85488e09f756eee967773d59fb14d79305031d3349e016d314d28431cca52527c4ecb0dfd8c66d6f08bfe2e48d71c565e31e400f77f5e59c812366c393558e00ed9d42d62b9844e55e50632376b01138b074a855e97fbd972cf60df9fc2df9b43717f0d074f600a4ff476bfc97969f893d4ef87b21158aaf47cf8411b97475de5e100fccda0baa3b2022c091402b7fc1b3de5262939a2d95dd4cdd2dcd547d392c23e30a2556644d99a5d6c4a60eb2caa2caf3dbd12a7d938da04f20ebcace4a6e37a22cd5548749061d6d86a04bbb2a09fef42f1a7ea5cab00a1965e1413c01e74146796116fbd0cf97f9a4f509a22e40069b15f12b9bb8332ad9e916ee49aca8df1f415b47ed939d83b67795fd2a745deb3133e0f6c5c94ca5aaeee1fa61adcd8b1e3eca5e8ffcb7651732843deeda000a0b30690b3cde7d035c540548ea298ef26d21a81fc62f38f9f1a8148ebd169f3141c9a00c693f291b5aeee66803f9b579b4ca8b56a52806b90d5c61b03cd52d3b99906ee2d43d0b39754ef0ccad82bf3d5042ba3311007a0e7b78922ff2463006e78f0dba492a532e9efa679b318aef4f48979090882011007d4679ac810d138f8327004a38aa7395e02b9b2adc4796fb9c1a9430c68e9e9f660235cae50c77c07b004288d287b62e9cbcb35ea0268244ed476c956a9b09a9a981fed6284ddb64755a19586cac735e7e50e4483fc2a0e9efcf196b3cf65136022e6a870fdb2fa0c85ba462bf42c3f0ac571dab202869570c9ffe1d5b99797658e16b9c9ff7166bb6711f257ee8081538b929ad92dbf3378f3547cad0ca232847e1ee7c0c63e7c8c61592c2eb63c88ec661cccd1c89690afa8335b519bf11b68dc18120e7d2c6dc338415a240aa16bb87d772959165a0b5248a582b6a2dc262855f31e86da078cbb23118a00df4e12de85bfc7c2fd015455bbfd3bfd76c1db8c504d54d666da3d073f1ac2ee3bf6e6b893931d3c82a625675ccd4ee2c6113111abc4e20eaf53620ec09e43003fd43b4a2fc8fae7cdef05c2316846fd903f136a08569f7b29fbfe9a4fa3ddd25506043bf5086ef68e2ed40d353d921cb962a8eaa1f1c9ec3e868e3ab344a3e8f14a60390dd0178c87188d4880dcd1863252f88200bfe1946fa349ec37eed030ef5486980b3fef1561e6634d716617cf5b030ccc510a39b3e90acd0c27824448c6d532c01883d44ff7e93f21abe9da025d908e148c6d52a991d519261166c675f8e7602191db6103d11c91a729c10609a84f9db8aa26077fc6229c1ab347159e483c2e880a5769eb81f45da711697e68cb5bef157c1270bf83be2f95028f1c6222d3930892e185ab6f4d95027739d950b212d96ea000f000c22c74161357aef16872c2b80937cf47dee9b5acd94fc9c07dea0ecdf65a584cab24559a3119d5919c02f631b68e4c95157222c113581464e3eaae7b2c4238c1fd8f26570acf48ac3b39b559ef47b10021b16e4c0c53b988faf2b019a39c488e3feed4314fc5f72bf61f6b52c2c9e93488756c9e698314cd85933657c1659d7fe279676b37989ca883c2d3fac0e9c778a00bdc4a8c814163ea7fc18df61519cc29712a896ef3ae7ac1460e0b259ab472b8a9876cf97d7b2ae0f3cb20ed18de2f391016464773b69f4442162e1dc93969ff02dc7b8cd4f4a72b84a519309410bfb724569aefcd10f5c5f7fdb1a84b63326da92b8934695cd12930a7efbb9b506397bcc150cac695773e203f570cd42a08fb77efa9dbb284ed63d91510a079f5e9e40d30b59c912ed5bc2ef5aaf71b6557136b500d459a12294292bd6808443856adc71b5ec3676a4d441ccd3f59cbfe897a71d0f1243068ed6b813e5a884981b90ccdeb3e87d741b02a14260e8c9402fddc4cc08602dd696445599287241e015c1d89ddd6db812fa392e09676e2030980c9e11e798d9d6a301f57175d2deee809bb24b6d77d37901a67480e12e330c9089f3a279c37c2caee0fa000afee295b38eab4ab7388797299ab7fca762b541265d1e326be4973c8bb435954871c46fd5f93f47fc886cd0ec31dc9bdfd11d7e0df1e6f7816b28990a93926386665b63faa53cb0f1aca2f6d6e18db9b83e2c03e1c27e077a065de82c37dfdbc42c1c27cf12d7d905a8bf29b392f94a1f5b29a6dc25e2616cbba2cda7698d3d0e96d764691e22567eec0cfe285778040f09e1e3ff4fe8b544c63c129025b2c0268516cbbfd52de37e290b9f919b0d419932bd4d16967ffd1b2245feee8fc82ff44329fc2b9494a9fa202a7f4410da881d9bb190b709de3b39d37feeadb40ca4f3683c1a6183ef4c06d770b4de79d64432551cc6a6505c60a477f5e65c8d72b2931ce5230d0b6686ef02d0386be46e195f73a153bf1011eb495b99fd61ff8143f227e9ccb30344e72244386ae07a9c154c07bc7a717038466d03078086f9bc6c64472f70e9cf88990a4889bab814a2c0e5375587c2a9e1b53c923e2c840594b7b13ee4244a0e0d1d5f0ac6f40059fd4113976606c5664bf3b7915269afba03e09da16a0d1d3de533905deb998973dfcd317663931b7d325f9e512d9fb68f73ea1cdff36dce6daa4f65c6d151d0be29574b7154bf3e5c68a11bdd4e4356cf3ed1191333fad866ddb172f970e4a2b3f9eb0f6e13c01ff9d0c1330b31682b4ef4780e49bcda41fddfe94f9779545939a4980b4a8c182bb49dd058fcbd6ae9a4a97bb8cc52a1986f1b77f929d213ea5186f3c7b4ed9c120c1076edd441017ff1d51601cd9acd51ed660173b2d688d4fef13655aa0cf9d598532ae3d80b7608f7787b79e9e989b44a32b3b975e81b921d2708826b8702c326ad15541a691f33c9ad9cdd58e0cbfc857e56a8a8424d803af8ba627abf4b30686fa91be9b81d74cf4f4a9f0605dd8c4c2c3c68ab0826448f13df7fcdcc6e8e96ef5cf8aaf9dc2752eb93a7bdf820ed066f9a996a3580f6b20f6371711fdf612ae8d884956b492b4c3ea0f5b287e80c7ed002d305b65a697ab9612494c290d8f552b993e02a58e331c85c546592d2d3a3206126f56fa38c8f30bedffaa326b4d50c283a6f14b3b464b5576d7cfa4549e7aa193cb8449dbe846b2aca2114bb2504adc2b9c613b4e0aedf90dd419c052c41ab0ba090a112941828999f4f1a916d432ff5518f1a3275af1ddeb009d4cd7956648c7ef02a594c01f887882e4badb8034c4e51ae20a8586fd7ed5271b69b6dd2115c59573459b201cd8d7534227cf2f2d47146a66476b8e2887cdd6a7a05a7ea8857adf864d11076d6de1a8f21ac2056f64bf6738f146471694566c0b146dff8e19a5046a92293bbf47a1a716655794e953976139f0e0ae58d218285668d6fe672c12576421b49d6513cb42fd65681f5cab6dcddc2958c33c81cb40aa0dc59c55f41454ccaa83bb1b8953f5c70f3e24ecac71580269af68287567aa9097a1a71638d33b08d94106b790936def19024d67821edd6e6ed8897e0fe00febd0a0ec1d3478ec5c855cfbf197e4be72bb2626c84190cf22fe6dfe0b0ecd0b95d1ec172a3d79c36b26ecab168181e92dd99784b7b443a8b2dc1be2a60ae9dc13f8f6effcf216dc371cc41d7be175c6eabb5a4602854dcf73a8b297fab2169106da44a8625bc25724a29e3baf762273a9e5972c92ece41cc9af8b71a426a36d384ea161e2f2a492ad094c370604bc634857dac9204e728374cc920ae12b952c661f9750416ef28e3b13cbd2a3f2e59807e87d9ea861ca2e76cccf88dc1aa93009f0bb155ef322e924eaf4bb99bebf750511769824e39136276c7c706f1640a2061844ac611a18f34701a704792883508b73a7b6fac9db4ec485b9cf2b2bda50e8fd55b82c75cf5ba393882540ad90892596cd98a6aae28701983406ef86c3d0a0011bb89b73a44594f3e14a7997778a116272e489014a7fb4087e997dff52b8d50008ce78fab99eed46d192bb299f6315f6135b808bdb29e1c5a76af120a301500ffbe98518cd18795691bbf47ae8ca79e4ed8b7d9181b734eb82e249de076a4b00b8d365d43e3519e2c1eb683b0d7f4c0a64d765d9f8ecc91306d058091e0fa8ed5bce1c36a1a8fed3b3dd162c662d03e4f9c23deef78df83dc3b773a82671d91b008a65d78d92aac5fb8202135cd0eb0b1e4a193dfc2bfcdb2d3b92cac8320141d64895a0f47535665b206160bd7e227051b704b5741ccae9550c538e3942108e8eba91178cc2a67119e5c30828f5ef36d47055a160b161c35a123ac70a90db5d780698f26827af90a4f1919d56a9c36fb90958b2fab06fb3af828ca0b5b76c7142aaf56d47c43da421a45c4d41171e97d2e1c34d0eea671bcfdf3c878a59e4be1d925e77b04ddf08f98125f84ebed38923385eb4935a3f6978ba5081bfd4e3af4aceac335ef257cb6cfb8cee4cf060d1873c498d4112f2dce879761a1a352e28eca02d159c36f9b1d7308d00b7f9fa3bdc7ed46b42439bc46cd5f432982ad64f004334375ca01661b3560c7c414e9fbc300fe92c5fb79f35f886efecb8fa84f2f4b6930c97b2dfbd660fada08f63930f1ecf635b919c2490f7d00373579a153798c147ea8cfc2372f9c09e3d3229b13f1fce91491f8f77a7b15c1efb123456084e44a537148944264f840ba62ef4cd4991042cf1b887d519c57e5152310063373f569d79af947eee6add4600ed02335cf38c51c6432fab0f47edd7d2e30e212b3ab5812177345784bc8dbef442a8f4554b9e2216e80ceda34978276bf8d5b4ff550d7038882154cb4a5bcd390800c6a6300d07c181f7c4c94ac17464a17a599cfad1b6058230db5f8bf2517f6cd9ac36f4c81594287812a1fcab4fa6370c661bcb2bdac5f9dc9e4da84816ac1a4bdc3e64e5af1b1c560982a9e09073265f7b53e1b26b508d8aacca9e057f0bbff076c5cee1464c2d7731ef0a1e663c6032edc82a2e0029ee8e98bd4fe0371a2d213432e0df8f5adf02ba6c46e3f50b7044421d33ea543630a552f9071030b30548c673992807d65897f0fc7622cbee25f0ceb1d41280969d7770ebf20d90275e9cd54ba58f01c5ce7ccbc171d155bb29ddfe17524a568c533447dc4ddc1796c312ba930f96c66a17aceee5b9542fd2ac80273c129016a2498312aee116638ad0411defee358f72aea8a7748144d4b06313e0d2f1f989724b4f0a8a30e1548d11452faf401a770cc2d6996ded24240ba6f105ce7c0c44095098f18b3ac2f87af9c0f35f32d15fb6c7d180080450c919ffb9cf2a34184436e34b589342c55a18a17f45bbe9a1db190f5c4aa52d4430d3034cbc79d60fa7bf14f9f3c1e2911a063af953012566086ca944a00fe37089b7cd7d637b529fd1366a3732a25d57a4711a67cd18b90931775183f84f9cbce4390b7a089f3d093112cb427bf8a51c8f9bf15b18e394e4f1c5d4114378cecfa6556eadf4046c0e8abc31eb69bde236556c5540edcd5db724586be9bfeee330f990e6d101ca48c267d821e62d6c51000a5f12a7e87c00a32ad0003b514192d03e2b0397ed8fc1af8b4f177c00c0b7f71580f4aed64f0a1d86005401a2f0fe642962b3cd9ca45320df1561e515fd4c2bf339afca47cbfc751176b64c391ee5dfed22a61dbb7280b64c4af2d5b630f57eef4f0c19ce971ab6de5e6073e08b57012a2357d43d6e909081f73ab69fbcb8c65e83d88c014c98466b2150b7cb21c11e59477f9f2df40b13a3e9630611f0630ae15073a9086437b11399983deb33e59b808ac838db00ff800c4519f6df1dbac335c92995eaa678c15d9e4943a503a3f20f4b40562a134d26d28f41a8ad2b5cf2645be0dbf1890104a536335898c08938cce0c2364635eac23d8c119a12923c0c0ca94f570259eeaad6328fd10146b60fb4b7c55dea5554dc55cb8b8da156cf0aae28ddfde4495c58ec2a938d59e9de449a3d7a682c28b9378a816e2acecd87e3cd65ec208c58ad73d3038977e2823629da4942d907b22cea470f8b5c7a4b667f856741e2fc649b7e1d94a3444c29951292cd032a59652a6f504593f710750d12772b8f0d0140bf0429ea10e6369dfdec9e493019db41dc75d0cc2fe40562692fe17b7c6c6f60db9b5920be8fe7dd7da73dcafa77bd7ce679714c74353cd87aa4bb851f0bdd4b5f80c3b89d0857c71c5f1ea8ddceafc1dab1910aaf6899d1ad1c1bd65067eeddf44121a65aa08c4712f7b42653c027eca9c07a3f720384e05c870cecf027e7f62c706e594419c3494f937085e6746022c034ad08c7e6b83b65717ad9eb8e62c38bcbd55e1b08627ac55210ca0e09931cb30d4dc022a2e982afcba5521c9c80f810a69d9c9e97c4e483ae1d2ca5bc06ba06da29866e5b0c7381e1f01e62437a99059e82a196f4469d23402aa72ff845420b114ae7d3f9c8c24b10a375fc8db1797ea311b75697e08adea1a7fc27a9956e47fd604e0d6ce81f20f997c4f4afd70d5f30e37899839f58925ea5751989d055fc375a311cf34d0b61766a06b988bbaadf970fdf2443ece61ec067737f07a0ee14f70ece710754b1ff984438cd9efc4f8eb3ab8f81f28178520a27373bfcc139bee6d4922f926c2b0caea9b3626108a60b3f8f8e3fd2ea95c31cadab01e82fdb49e2240239b68468b268787fb074dffadea007b4891031530357d8416a7ca1576f0f312565185b6737c64f54b372e5ffb343da73d8dbfbabd6ac747529048314585594011fb51c4f9d29d4c2d5987c6c1ad6dc294c9f52d72c3e406004d7f59370e10b890232cde6041d8ff6443a609fea2468465456c479a481f7fada500a1826be4f1bb5c087aea65047011b87cbf71bf5a492336e4621c8ce16cff98d2831f7bb5607481c12e6cffcefa60527672fb8eebf3737ff811ba13e3d9fb4ea22ba8407536d616a20ba6ba40402ed32c9e88ebf2c8c406b52c14bd251bb9bdfb77f20597a26df1ea7f7eeda4fcc46eb0609fda1523517db4ec72d8817b10ae5b163d80be2ae5b5d741793ce732d42a54f00271581ee66579c1bdb7fd6696e7b154caecd165f90212a47809fa703f0fd00cd9aaefaae9777a9a74c6355a41fd5a66d80827fb53934a24dfd487d137465cc525a8bf8e0c380a6b7001ac9ebac6197b9feae6d8920380b879666152abbac4e4d41926a2d09f9e3b1a238f9a6a6b1ae600236a330ae4e4e9ea93ac3372468d99e85c708cc62e68d83fd3bfc3f760eafbf654d47d0a9793c84633af41c1beb8643c874c5e02a181bbadd02c9c8c3cb3468e1c16fb7c2affd85aaf6323028acd4cbbfe8ff27a19da55ed8712fd59e283f2cf84096cfa0356555d12d3251bfa25cb79a4db024122882484f62db684bbdd0bfdd35da25c7226987325b5c2746aab28546f7e73b3690d8272f6b1507f0b82c68a96c906ad16cd787aff15b0d490f4870e5456365bfd538a766d13710a9f3ac012c44e7985f54b0503fbca6719749146bc76b9b207543495b8ba288bfa784e92056871f7ce51f5095c7d568ec93884641fcd6d9f329c800a73040801562654a91f166e91c825e4193dc3e3f881447ee092af28ee45720d5b8842989577c3b7c8fe86d6d37a1ce7d535614bb33e6293dcb5dee48b47f06fbf56cef2487f75e7df76c2eee6e0ceadf49f106eeb859589baf67297be0c7939233aefae8fd0ea6f2024a20b84e6f0eab42b0690cc655ba204f3cec518237f25bdcb35f77b3e1daac700bdd58b8e2c3a2e6eee1116b8bc00beb72b609c99612c5f69c856ce63e5daa737cc30ff67653bdd625566bd9fe881e0d173484f3e1f65a6ce6c1483ce2dcc4cba4b54b621e59b64ca0116333bcd88dc0abcc0c3fa18d58606841952e19ad0c81340fc4d6d614fee5767cb22b67df333187fcc280b5e7413e17b112a8c8fbf7b0c9ec718778dd6ab531661241222a69702e03c63d54e3aa0e92d0d1c41152752439542c542ee16129a7ce16d6203b7399a5805a47a7acd6a988dc7047d1f811d937717f180c20f14c423abc7ef0c199f0c2ccef69a0eda1d616cfd3915dc6c04289df4bdf37bc0325a04123c525443ecc3f3704b50882c65717108c9caa382bbc80e681e6fb965afb3fbb4a709a24fb23728608e14482d89792faba8ef52316e1171d7387647bb815ed568adeb27258840c427490b7b966363f434babdcf08a030c8eb4cdb0bf02eb2c3955b9f4c42ddcd88b284749181b4eaf02c69a4f435a74c82c0c9ca24dc8d03951b015a88f31bc2fae0bd9010068c138e80c793c6743b972e8f7ed788ab37945ddb21cb2bb20509a0f0e9c8189c84660b4dd2139c31f5437982bc85a33175ae6cab57c697379cd3051849a4def156978e9989ec57a7ca0778db88c78de949432f7d8094cca44c60fcb1a8cf71040b183afcda4c2d0443219ed0d610d5522d28cd78d3d3a6465381498c25d90ff0eec01f2b37dba9aa09207411c56ea893fc0cfcdf87eb4b1ced7545cf8c8b03589e006cb9a49f9af44443835d0ea75c1e800e1a26851852c1dbf00b1a81e949cbda4c4d89f527e144a6bba8107468d9a0527caaa7e43d2be76abe38fc55926a8ff4b957230290e036c52894191f8d1cf1a405a65502ca8e06e4e20743295138b13eeba02d346e759fd8003c29acbb62a76b166e713312dc2c64d29ad277c15706b023b801eb1cb08c82a83160cc50f851f8e53a139228d8c012d88d067f27e4c36590d65739d7d54f2c77d4d671c299ae1713f77632408079c8da41a40ea6bdcd5e95d585ce875aaf3161fcb37e79fac4d97fc7fd4cb3be92a2d15fc8cfb9787fbceb2ddf8c2322e21f8193d202f3405ff1a6b7e3f3b33cac2135ff8311de6f36aa94779b18531b579f6fd8b4e7367c734ace317f2f05ef8efb34045914e0cc61c14886b93ceb98b92a085f1c9365aaac9bb6805dc258fa064323c666a3260f52199198433a1e1de6a595977f74aabd6717b10ea31713ef0a1b120e964ffcb15424011cad0c7bab8d7774fd1ba3e1395e9f78e1124997f8c86376b146a5682ccca855493679886aa8c1694426a355e1e3b0ab921229d885195d2e675ba4737e84faca2b6168a53308aae2765cfaa9c29fcac6d8618f3ffe648df6f045c347d6321d543f8bede0d9d4c8ad68c4de61a415c0db21471723929eab191849be0e16f2d78e862eeb3806fa13a62ece029fb7473f1eaad309ee68788a8b301d6b7cbef82fdade203dcf259176dce79423a10ee416e7aff65ec08273c8a684b3ae8f3e18d1721a8895cd4769327fdd5cc527f436d5f0561f3f5a7b39f22a17ec5dd6e678db034b8696ee97b6a0288d8d68d8b7b11a9335048a25a70f19e68ab8d80a865b6234c8b517f1b7ccddd23f5ff8d442832c0f9250d2767658c2995a20e913dfed280b5c519906f3f1226cd8b3e3621a55c9f4743a3dad97e95e5e1d04de82fdb06b37fa2ad3cd5dabc61e6304ee27d66a114152746ae85386ab43fe61955eaf5d3972ed522fc07e9cf357cbd2fbd24091321952e1bec1f8cc0e7e571b2291082ff454dd76bb38eae119949d69e95e7a66c1de03f3776a2bc39c2dd7116f350bae3340cd0181884f379890b2c15a29eaf9a6505173db34945986a8165ce69671f08ca36019b9f4fab73f858fb3cd46059da26ca081e11a11836613f99d420235de23719cdfef5f8504e2352fde93d729c6390987ebc4db497f3a53c72266c4df174f1ad8253425333619af2e8ab07746464572dab66bbe443791e4fdefa320dca9fc99b1a798f970a1eb011d09b2f9afaf0b67835402b079a0223d032efe78bd3dc8138b78c471b0dd25c854baa9fad70ae0e4595936c7f2594400049325eb7c8114a5581897f7f180d658da0ace728ff9a09ffd55ada8e2c202bb310800d7cacb8ac9f49e17b0ed9ca67d9775e60f834e511f1532ee4524d435c3981396a3a067dd2f90dc276e7aaa2979b01fe070fe310f318000bc0ac0c6f140ddf6c97918800695ac0a6d6b9d83fe69ceaf5b76e08085edde248aaa47269157d79113fbaf714a5613803559b2c00d666edd22735bdde27e66dea1d65d3b826788e3b9133db8d33c681f135bc0ca4bc8ad49cdfaf93fa02c02d914820837859b644ca580ed624a25dd7d0e90cffe2ec244f46f84cc0093bac24c446e0812aa4b43b2700f9c4cd2f65675fa6486191076f882de8036ea9e73170474a0bc532864ca5c80177a2bdab43ebdd814c951ff9b8e274f88b42b924609a2b5f915d62c5cb3f3964071e30eaf5509ca08acabf66b86887c5a95fc68551a23e68d8651705b3a408eac72206f141a18e685433107fcd525a9edc547a2916f65e5cec74f3cf98ee751454dcae00401d59e43cf93bc268b32b4d3a346a2e6fc7f58ddbca1f1887344a4805f33debcc2264c5969db1f4cbff68294d65b9632af668ec8f7e8cc8cb6c93c18ad48cdd437b8ba0ab58a8b74ea5bdb872738c781966cf328dafd84b389b281eb3771370e52593ad57424a8dabd584567ad40e4f9ecfaf655726ab255e97bcf2a9490fab76495358c4681203150894d00f0d28d39fd9964066e737466ab00b717794e57babdac2b7a9e92e561f6ce9b27b2df9b80cb4c4783be0233078528bdb402e8b9a4affd117a4a5f51fde5e332d8277c71ac2372f972fd0111cfa528f0888110ff5e2df44d31746d1e5798c486159a78d8fe123ac35ae8bd85c666f4b456ff015b000853d645f11d14b6ae3e09de0643238f7c93b86acd187ba0bc873f519c1ffc68f33dd4b467b3d081feaf744ad5d87a79772f2e32a872c92dac1086c161c7ed5da66c29209f8f991509527ace0885e1a4ee33be36c9048c815616537f2067ad1c5b5e6d1a6368229a4b57eeebbcd37de3477b6d5e196dbfc713c465b2dae4d97e0cd1003e94f09fab4afd4e6af7d6d0f12b9d227b4532d2f2e194dad3986df897ea2fcadcba4142a116f533ce3904f64a0c8949fe927346bd03057b598e3a053ae22c520e3282ffacd8368f356da85e02778d27974b6790f1d775074ad85cb1a822c678b31c02f9f176b7396c58f9f25a7e438861b416f38532062389b12fe9f7c3e2d0e57d522f23013ec27c236c3d286f39b4f4bca3f3725b6f5909bd35a1ef0a2eadff0dda229de38e9101b36cbbbf1003a20694ce01c7e7b2a3c7d66a73d6fa0b28784b0a9ec6edc66e5dbcfa9f16e99801f61b0befb703609db733fd4cf082f7a95ea5ed41f748e627ef2c748ffad6c4adb685a60c304a4e270c07ad9670a27b03837c10dd66f135b62ff16db2146a0c9290d8afd0aa9dae84139d062f0d20a9b893b08b165f57f0adf453a31a9596406140219443fd0c7bcf5a6757e92df7884f2e7ca1f10ed0cbe4d843a278daded6264532e12557d23ddcfc44af57f75e59a17c5e9c27e1d1e94aa93ccb03a9fdca3290a84b45a4f04ed1bcd23912a8e4cd7df438c05cc97f061f045a87bb7717eca73125bf56dab5a81f1a72c26e7993826c4c64850df8fad673fb6d051ccf0a8ef0b7b89c3185ccc4005daefec52b3929427995fce3c3204bfaf2e9a4585e9ac43497f11caabafcabbfc9694c23b620de984d99f9e354bb3706346b11e80df03c86650d69d007b1af16297ac873e2cfec63d88ff90c9dda0bd20b094e475d96021d3b1f4a93015f4809373f23c43f4087bc1e03aafc82b155879b1b7e575b42438d4c4f90932076106a02bb9c4f8cfa8be4d845a60cce601b54a61562073c8cf141f966045a87407e21b6f1a6cb8a57a037d1d8a2c1e0a82b0572d9100ab04058764b79de8b917a9c5d0837864cccbc603fe84c21c4fe6023c218e034a0c6be315981baab329d413cc4874f3d69b18bd1e3aca688aefb38ced4592bd06360ed754b477a26e69e7b6c226f09ec8c5a926e3a52ec871da892a46a374a9880f2511245ef44c4be9e2d129d87064e01323a88bc32cb4593de3f6e5ea2a71aa7a242a3a682f486c3ed9bccd8679351bd6ab4adab16acca947f442c064c193a6a15a49739d6cbf41db69e1b84b069013136c8ced057d81609d69f3ac52ad26d6968dd7768a84da00f110bcc7c24582ffa0d77fe1bb6c47d971753a3a64087104b32777645085b52b971f303bb093e91cfdcacb9485732d6637154db49702f4270c7990d8a32e55b44f424189bf3f0def462470832fe133dcb4d8777676cf820032fd2ad017d626568f025c432e0c663ca08b531403b4d303649707aea5ab150c624d851ab4c7a52020d4dae60731c42077b0b1463f510159000350afd57e860c70252ec0f169004483968a6202cb615e9bc123445bdca07f98686da61f426817234bece169cbeb58c42dcd8588b488fbb1a6fa1576363ad223dee6abc4e9a1e5b6b16e9091d0deb318091cd80e289cc245fab8acba30eadae46cad1f655460d54d25f9fb49027b9338122d8f055041cccb1d16a7cc214c46f29d226755302430fbaa5b366fefa894c8c3c68d44f27395f52fe8e6d3dbced17634760b10056ccafa55e81f4c0e330e615c094b583b5455289da3d0057484d9156fa4be441d1a3a6aaf153db361f5b5ded085632004dd9a25e46ffca2ad4f3561e0c5e3d72afd5ef175ff283cb20c3ed1dbe31e93dc1a0c3a8dd4b23249f13f61ce6bf4af264c9368c97aafc379cd2e4f261a3a2d20edc140922a0e92c9af3534f73c8153e89b915bab8a7a365f964fb6072be89301145aa52116ba5345f13e51f14b8029c889a312a69629226dfa196b51f0529a11b5905caade1f261ab2bb0dcd04952480e11da0dde9b658cc056fdc5b11b2699aeaf393d08c25958e9a875b6191df1382aa53be1d992ee3955e7a82d26bd2e9ee27ec9302f2392f3d6b3350eb8090a52c275ecf4e035bb3018418f2367b7e02b629183199c1979353bb640ad0bd95c011695c11714bfe33061309a9c7605732396663327805191871d2dff32ff9469a098f204e17f3bba8f5fcf31263a6998c8e36e2c59c19182914c00f3bf2faebcf625eebe44a0172e7e42b497621fc34bbabc7d0dd684f963e9c3c51a4dc1f02ad582d59c8d3fe5cf1b15163f64136d0c00dd69a6b0287b2f85858630c79d82939aa450ea869570ca1cc931fa0343e3ce428554a435c84a9a6a0344fbfdb762697491cd33ed2c437abc2e4dc1110208a40b3e292cea61a2fb700d3a7a5aba824b460ee5e9413e3d80c5eeb48760a518a035bc24b142cb8c6ad7d927eaf6355210bf85f735e7b41aa97344e816985e52b28822a0347a84945c392552f9e7b31762002025a56252515d15a165449c4d93ce22f8c59bc34cb900835cc1b29884131c7b275f1d25474e2d4742bcaf02bb322080efe3cc4f129079918341dfc59567c2a17c4b909eb81b66af021cbc1ba12024492be708fa4ab236497c07eda39285865e0c1071e814cd09d3819af9165128b111898226db54c01bc2a0ea6f8cb14154af6b0ccb24a55780f3a6ae2a6c09c39f9dd603850d9cf8c82093112fdbbfb7dc45ca2af9f05a99466156f09e45e10055fe98d2cb4bfb1334f930e8e5a5dc1f8bbd723c91d156d3b92aa808d0e055172a43d17e61c58b71ad65ba521c9a38905b189b5dca643792b19cf13ac1f3215733f54fc4a7f5b980f75583a9bc9665b61618fe756180ed182d5357632e958a1b7d8b8fc20a649afe22512c2a31410e2b10c5c09157c499347cf9e7c221c17b37e11361e8bd81a54c832ec823b0c8f16e835ad01380cc9b1a43f0576be878df078b419359e94082dbc5f87718081655f84832ff783cf1575774d338335f86721f7b4902b62fea986a7a4e8da836be294106e84e0640c9cd9953b597cebb524aad91b83d38020a018629de6c394b99596ab26ef515e525173fa5438242cd08cb8a1dc2091436a1528ce261481ca02c0d80d182e18176ab118ceeea19632767ee3eeb24a4138994f574e6631725b6bb88f8240362ecb4e497ec13715eed0a4917893d2190c4d27789d82835b96a84ad45ed3701b4cd8c90410388c51e33fb0f5f42e70caff25e53f42accb55b10c50cd6d754281ce0e3b486367e9f4d9c99d446e3aacb6b47e7025e496908dd7b0c29ad1e4684cb2950d1fce78d795c04da33a939cf8c3dae06199744307529ee415718ad2ad857e96ad2c048df87c30b051aefa5bcd111c13892925db3c4eb01cf7f0343507c8a1e4cd1060e82446be10fb75df8fcd025489386f5e1503db3a030402e08f6d14638d5430ea2f2e6461200d7e023b1d59d8313baf8e640d16e3c06c123a8ed826c721e00080b5cfdbffbbf84d6ac4cf0fdc80c4f3e0020cb865622293fdd3ba9517ba807c2997e7feabc18578b3849e271788aa86989d21ef220d92bae523067279b9a349e43fdfe05d461357425c01c344b4d473e56ed66ad1f45018a4f549bb36f5513911e27935c119fcef1b691422539ca432e87dc068fd50588f2dc67c0e179be3f0b469fa6b496104775de42b9236026fc44bcdd397f0ff048d86274f50f9b4841deabe68132a5397e8dea0261f0e116d8916b3b0427956036cb231e3d398479a04d4f6d582aced0879a00642c25f7dbd7f69150851cfe82c40c38fc1e4d74e536c7559884fe043423f518b4c63e6993d4515ea18e551d8e3512e24804f932dae78226ae89dfaf175f83f3614a7773ef1b5ed9b2e3ee93f823eea9ca796003f1534016344efd9646e02e55a8fd41cd8bc65beb20b8a4064f26c9d189e388f016f7c8aaa7b5a3889fd7005f14ddb5cf6e1dc4fac806c750ab500f1d34f7b6b95fc868226549028a4e37ee4bea1bf8b9c5ed6b257ec6a1c5e67608ba5254ed99e9e33ed4749ef4b1296a593f8758392e6c7777a6ad5954ae5414d999519f14c59978c2ca405d44c406cea43b1730c0bb5284c329443969ffc92853397ef494844f7805e393b3574408a57905d40fb708bafcf580ea0f0f67b51b079304caf0c8763828e5c6121f451d81914d9cad3e0980ad5d4e8ec3bb255a66b082623d46fc6860a51ddc32fe9b2103e86800158ac810f3a2b29c2b4549aec19d37344ec5b42f1fe9aa77b0c23660f135db902bf6078c080a499e0f7a2115e81c988e2bc5d2104a3bec2948871bb83a6e0b085c12653909a8aa049da870969a077d5ec2497c8d645162205f990e14b213531d1d1317704de2ab3ae3365c00dfda78978499aa056635a8a860008838bf6f525ba14c89a7797dc88ec1e2512d00c392722b604df00e04b28aa7e6e0aaacd172f0a99bea74cc8109b7663b6570862756d16b8c1061391f1fa3e879b37066a3f9cae22d24eb64aae4a4c0d64f2d5f4dfc77b08e6f80a11c3b0bb5de887bc239a7ae0d2b40243706a2a1d5ec4ed1f805972156f138967985a2e7182b460440c2e8d7371f6e777ac42e2f55b08bd0d5e404488ce69655cce3f15fda16e0bab806f4bae03044c88372b9ea3071d4acb793d038c0bbd74ecb6e694578c8b90b4eda02fb3c9be78baa19f73d56d94d75dcbde6f7a55232015871efe5481996c764183b489cb333d4f8a0818f90af9b78ba4100c9370a0f40d2e418f97050691b2b6c3f085f942f971ca2e04baf3e9443b3169c357d0f0ebde72d4810477c9974563feca7753717191d2274078df1872724541e468186a35b73f0c0d96855ee4f46899aa588123ddb3e914094cae16b91f60b01c738fbc270fb59e25f5d43e96f0d56c4fde7cf3715f4039bfda80e6823c0ec240c7ae89e0a00df1cd95961f3800128e5e62e1e1371253f16a96c1216e70b0dadbb46cd89c3dc7dbdf4f141981ad29ed7262c5fc9ef26c3257287815c15a65e0e2e895597f4a7c84a203b2199ef3e2b30f00e6bc25ed179cc773fc055124b19bee53d4816125b5d9c4327b70b502f2c56d29a7c9b27f433627257b8dd31902a42f6b7b69815c64a09ff9b8d04c165084cc84e6d1de2007c9a7391724c68a0a97db27b053ac1975dbd40dca675431c7066805d0631431bd4dbac09ad49e1a289802d5484ae30782b9a8b7a00a94f5fe09e836d7b5300e77c734cc7fed4be43d7fbe133b1c1e9d39fc1de0ea481eb238e8302740e94326f4fdfc19de9e7c0ad3743ac1ec9aa08db45bdb877e2043ce82805d970e4182c61625ab5c99fda3ae5bfbb1f8910180c7c53ad86c393f2db4ef9ddc060be13286ac889fe02b4ffd56d9d8b19e46e1414400ded789d1d521705bcae739cd61715a1e753e8a8b0077c449b4ee3025f6406ca01af9066a43af0dc0fcaf7bf4d27f5340a32427a08e5eb381af754602be524b3c428ea51bab281399e786e7f82c4b26187c395af7ca71b32277aa1cc9ae81dea2007a911092e1dc8b2b2fc6b476122e44345887d884132191e0c4d170ce825b743e9f47f7e4d34a9645b07c3f8cbbd0b0c67b4b35e47cc4db1783198806cf0c6adf73d9907d19b78adaf9e56a7f07bd3641e885293895e2b3a4873ea84f34b1d09f9ba41202188b33cad25c8f3a9a86d674213ef38536d65b2e0d817086f7d8b1002496b098f17e93bbf2164389079b9b8186b4be9e3e34f5b496f7125b14ee9e069e3430e3d72a740d42689eba686cc8fd597e3b6037f2013eee5cb71a4660b4767c8e485356eb15aa7a5de9835013a12b795119a82688ffaa49b95ee25a6271a6cba6a99e517181881f15f7fde0d507633c74b926010436a215b447fa0ca131cdfdfeeeb117d21bdc93fc289ef83c8a8c042f7194f071d4f89aa30d0c4af6334a9ca0288a07e3282cddb3fc7e979f76d0e7349836611481c3bfc22a3ee73cf0e3120e477924b49cfb6dee7d8bda8138498b68be70552cae5d8e41722759a9b066a80fbfb0df47030c72715422d1bb613c709816698d54380491f5494e91d027a041187a276a65f2eaaeaf4c997fc94398896eeb6fc4ff6a906055672ac01aa63e6174c4afd0864bff47b5c9c6d8d27466c9a1aabe4ad1f898eb598168faeca8f336e6d377d1d9e2e8a4b2c146466a99b41520162a34faf43abfa1f1ec14e760386442d2ecb9e927bf4c00df15e6035ffb94634e90bb67037a4cd33bfdeb78659563053af7b11196641a0c5d21cc5192942053fb1cb7122408a00798e059ab829268eb463dc4e643b6edd63d13b022b567d3253ac14d4b0c293fa524cbc5e3b4671e79476a2e21a7f50abbf45512b23defababbf8bd764ca9451e19c77e261fd3711e3105a5a7991d030376ca097ade3207af60b34f15a3baa1332d3b4eb9199edd1da52b1d23fe1648d5a9f3c5ac5095431c8f0c32188f4ada66765c27784fd1494d924230e974eb6e71c62f4b199a214dd86219f0605892184d51b8f9ef166394db8e06e99a6c08f1f9339379ce7d253abbe3dcc0fd808432b694e0652967426f23785c9011d28854c00ff2699b8e673542664f8a64dad62a16b2d036e1117badfdd800f142647bb40bda9691d3ae409efd567e3f921294c82d040c68c9015d83fb1ea4bd0f0399e04ecf4f4843c56467d5bc37f8327f4f40a1d57bdb8aefccc3c158b70ebc57fdcf6d00b812812c7860894b57675398794d040ab7f75705745e045b4641af36c50d28c45c017adc8478c8f2cc4a949aa83d798f20762de9ffdbb82d019c03f7f5c87127d5ce7276fe3001c90a6a3b1cfbcc9b60f85213d21e14861d96257ddd085b7fbda019c7e4b4da298da10064b32f8406c15ba7c7fdade0163f51e3aa13374d5ca95e889c721665df1e92071712b0c5f7cbb3ea0939b7379154040805c63e14dc82e2fde32fc1bc5c9549d3ab5269be5d72dd4bb4f33b14947b890e51483f31dca23ac3e050d2e3d836179f4a85dd1e8eb0712889733492c147b1ff5b144f90e76ccf0274141e8dd1a76bf4e3f88c6266e5b3f425830383b71200abca7eeda528296b06b2db0b60d9f073f2959d41392b66e9f3c30903fd4c119d47cfcb5958e2294370c23cbb2ebf65ee71a0ea130564d782c7c013fc60f8f8c2d56be7ce5206aaaaac2ad96f69a940142e9feeef5698e2fa0095df60cfd7f9680f312148d8ac98c701caa7b7c759a5d4bbfae826572646a2e3a41e78f0eb3ab3d3b6ef79432dcfc32f6647ad5cd2620841697e740433f193d9cb120314bb382a6e1e4b800fadb9d15c0aded13199b8bb70aa22a9cd8eb061f1d2ff467e4f20540b07760d50b9829471e0c408d0ede04f023106c6c57b2cb92f01f589ac8346c369f91c380451704145af25017e733a98b03ea34e54c31bd6c71aa7ab4bce7821e61ef385debd8978679e148aeee5222524e75b63d8ff8b338959bd7682a70832d33107407e4e1a8d4874475c0ca448889b210215ba89bffe5a088d8387e5e144416b1511f4af978e1be84bd9d6d2f2c43c3c578012bafa832a0c4ee2a5f17a867f7895e09c265ceb5084a147a4fd21a1e64d7384aa59d82b39f642c2680ad0a4c42588852790149b2e5889c5be76784009100b382363343d5387c856627ca062034afc922b2ea4cd8296eb4f9156727c27be78262f491813d37b8107331fe83b3b04a55f11f1187c908a46214d29b1f51917b5b771b5d22bab9965c9ae3518736f92472af61f22d6cfcd66ba9c78e52bd395d6eda82652ea64c4232390af289859bf550e5848f797f3a3405ae9979cee82590e76b5d3ea594e9d32752a58e9ef66841527d3d35f0ae8228529bb38dce4a7537ca4bfb26f322663c8509140741c055758f75ddbd1a6c72fe575a4415a6cbb8911b705a5bac6a0a1cb68c55318483529f6cab6ccf084bbd8144733777c2a005d47a88a0c2dfef827069a6f3aec908422db90b162dbdf51e1078af6623c89e8b9604dcf1306618a1ebeaefad503c2387671315ed6702a21056d2a786e00651b079e3d6ad4448cf3c41c6e10897e82658941d8eb8dcd8be018187230a864009bc5b77f3ebc2abfe3263f4782ed7c38c723c130cb69ee23236514e588c74828521f1faef1413c79f4ce4a902ad04bf345b5cf42f782063beddd85810a9d8c3b655acbb7a275c45b515f3a16d07f0336f67bd058747c89c2e28c9532143d37efbb96e2252a4724630d7e87d39629447b6acb21cbd46395f25f122ff68aa5b11c671a0d3f28354c83168abe3db83eacd3166d72984959e043ad9e43b096a32465590f2f01bb477139477dfcf01876881b735604b3d1b873c0050ce2f020beda3997de9c733145769e7183abdd90a736da54e12fc6064d10750d2302a24fd966e9e80884f8b8ae0272907c705b6861112d9b367be18940842705d143c91007e20fcc4c068c412d386fee14f2f5eefbf68f17085c2339b58a8c472d3ed9ee8ce17e723f58d385c328a3688827e29d114b61ed041c2c1e799200f01ed6b5517d42a7b2bacfd1010b37c485742197aae8f327ff79da2b5ee6977352b8f45fe1386a1728b07fbf978bee4153e9092383c0c3155bb0b7ec87d78c821f8ea7604edaa90f0301d0aec6075deaa9208a10bfb1af0706edc6a25ab259fa0cca89ca56253d3c23ec6a609b15a6c5d2c72e9aa2469370315973c6608b291caf0b086aa2cabd299c73544536308208e126273064768037244993663044ba9816aae5f20929ec2a5a5b1a86e2e4e26c38d7717be280a09d790e823d93ec629d7fde7b7e5e1198cd243cffcc6cc9b9d984ddeb674dbb8400c41424832ec6db11371567f0695e02ca661693882680ab9dd8c1867aa8155c5de884a6bb87f20a59be87d1a08c9a91c3ac5d282fad14c6358e2c39e9572dda86a9bc5536df5e591f4d549cc4286e880cc5721c3736449ea2d04dfaee3ad1d892edfc3240cf4e0d6ffd5c8e5e516fecbeafdf28bc18a8611c70fd12b1b414758b280524a60b6a297a1d31d6f6db61ee6df77b5038e4a63e8133a03e3e7e50f71910254fc2ce8545f0b053fc83e452426cb538e87426111c5fd1a0e0ee0b7ab5a06000024ac12e7d1f482bc4ed343978f3c82ad80c2a47bc6ce30870959b1ff9b2655d9d5138905fde848373c88c6741184838c62525ca188e062cdba057cb0bf66fa4ae9df51a1e19359b06c474b7705051c535611978bf3418775fee5fb3947afd4b346da102be02746a6490db3a1631b3ec8090af9c4e84106831d8d7d863674faf5cdcec0e366365a878e19d0738f96ac4d06b5e7da6f0981bd4b61a338d92ab0fb36fd5e4ba54ce671de82284049dd93c6107e92bc847db7f536fef4196b930781677fa05cc85e5366024a1a6a3d2825f39cfea1c3659fc04332c1da2ba49965183b77ec3bc1e1db60ad825cb7a173ef90beb0311badd9ecea5152df70fde68bc9dcf5ddd7ca0a280fc7e4290032a71a3d3bc24720f23c11c591293c5d1e6b26d4913accd997bb185f57c5d30fda772711e1d7e371e3308a30a3593ee5a94fc2271b9cd43d63691032f0f4f45881f6a756b8e4031032a3cd06fc0b1a500be21c6869020de3e1d1108e31600478c38ca53678959fc2f4a33b003487a503c96ac4ed1641591b3f67d09e831027f7ad63edf75c4881145d84c0845efff87d8feae8dbc6db4fe174f63d249f0112120b50e4ca8fcfdf8376ed8fbf149230a9520e24be00ae33ce044e7757a40d7660743aade7106b9981ee3a01d533d6daa171277f6ca3ede69f1035d58a6e13765c46a02c063368cbc8361847e4ca6824ac6483139510001e911d11f9d5c07b8f1d0fa9ead0277f8083c46b5b6a98be6205831bcf45537d02a5045f704c41e32a7ea000723dbd34f107aa97ecbe099ea48ddb45df9a6e1d5f2f5db2ea43c28aab126c2813d6799ef9e303ab7cbd4172ab6b26fab4a3ac050c89593292023c34ab78a132ec692333b204264c21a11b69b46b46a927b93dd9e613a5faaf129aecd024522df4280432f5a100e9c1191c9f12bc343c7361717e6df5bece8fda5bf4f867d340d10b03b28dbaafa8663672b37da89631bc156ef78bdf4b3c0893a63dd60f1da200db79dddb4356bf823c55ba5a41856b58e779cc1d503ac1fab6ce7ba3775183cffabc44e928a37aebeaaf16117021ae914b9ee28a4d36b50893ddbf42d9812a926145b85d458144bb7ba1aa548918a87cf8b8c5b26b5ecf606452a42174b75353c378e79bd0ed8d4a00214285703ae90144a42aabe4e614e752edd2e58bde3a6cfee11522c193d7884dd8c548f72ff0beb79463ff47215882a9e641e892e69a3c6ae7ec52df5d7b4e8905a99dac01d7da8c3a6edd85c74c1466f45d0451cf56ac02556c7b08eec62ddcf9537ca22671a3f8b946aeb7665f0121fdb68f5c9cf46b76890f30081ee42e412b7b0747ac7cc125caf36be8d0336c88101a9f35b282aded69c0dd5d325cf380d046b1920e7963863c74b92e616a39f1801dd8d58648f6ff764b10293cfacdb7c1700a08fdef0192d101b5c043bb28513d791ba138c6ed2f6f12f4dd84955dd95ed19e41e809829802b3851cb4b866c8f98af62b665f106d218d2881411915baa706c85e490f441ee75fdac50b8c2133a7fad0ed775b69fed24988bec60823e9a4180ba98c0617997c103f427d67abd459776c55213aef4c4ee422ac805b69e62a159d8f3446acc4dcfa9cc77b943de338be08aba502ba2b3313fa0f401581ee4bba41644e1c968097c5c55551aa05441249d7b69f730af8dbe4265975ccf54f6e706e97fc268fc303bd7227f1587b49ffa85fb2737a9f1308d06440bfe867d66fac2d5c51a72516fd9738c058d19c98bcb296248acb9beb960a0f35da82fe9625e4e30db6704961d51ee5a52077d10ffc0d01ccbeabd88171fa4af241fb39cc92cfff73aaf90ac80cdb2b9279984ad1ca88a54bf0c187f88ee5af45ee7242a0a0d77a8086e40e5108b037fc18eaa67cffe138b4e90023517a21cbbffd63c0690f43269983412d19092403e04c275f56276766140d3aeaffb7db10d8e30e76312abeb6cc3519da92b33071312c70d541783124c88737aa34773416ce7fecba4476ecf65ecac01882baccf211c80363be55301687597c9f90b220f2139bf4c1a5beb36b4e512063fadd0978fe2b74de896fccba4b14bdf8812e6a9c4d14c567b6b60be6964b79ecd3762bf5f5292f60d780fbabe5a5d75720ed23dec0a164770b5b1888db79c941e718157e3445d0a73c5a30ca54900d37a4cc715e82e5a9ab0e783b9ac1799c15021e93b2d2a42588b1d142675e6ffbe3f8160535716cde1cd2e7bee393b8502a7fc4b687828c461260db02c6c3615d67da6f44b4d83061869dd6d30d0d5760ecfee610e577ef5d2e7d980e6effc57cb4de0a9aa4aca443e34c77a317f4bde63c496b06e3fcc97fd3fcb0000706113d10f963f49b2fe7b5bd1c54ff0550d7612c3d069754c504c056e8560ad0f341d65b27bc18247a47f1beefc2f8cbab90ea95bcee75646ce2737cea78b36806cdb6e4ea4e0dc98636c32927f6ef456a4bad4a996aaf2224e88dbcf6f3e99dd1ed796161aa43bed42b446046160c48b6c7997148837f389fd91a98baf50736aca6e2730074875a8d5f8048b3cfb143140f628d41e0aa8127cfd82ba1d17e56b8ad55635b58b162d0389d2f7f9ec971e20733a984b5de25143393a59bae93a88d70e53a555e345250dbf71195be51586bf4dbb32f68ec76b8a85fef3d607dbe8ab54eb2091f5b01b185c5306561cccf9045e1a04c40c58305c15271d994da5c7cdb175ec1e5b535ac796e3ead8bdac52d95692b7f5acc6085e3d7d1fcf38b27dba000c8001000688a9de06d6697480a142095130703501662583e8ef45ac6d8ded5ffa86d41a5962092164ef2df70eda0c8e0cb90c7de71565f8b182891d111cf692748a89cf04751bd9883418436bf036d77653cf1dabc158abc1db4d2e7b11212d08dbec95f52469509a60d92beb91d8cc7a4cb84f57c44c48ebcd4dbda91b0ea5c10b79d41cbde86266489e39ddb5823eef123127e66489778040f7ab455a15f2a8289c5aa4419d500995a7f7cdd3683a49e22da19277a8e4190a3df4708973dd11bcd0731aec1a6da4c120aa9173dc7cbd3b243e610fe5c4270c1391a9e45ae7bca1d71baa3a3584860febd3ba7173b50ff1a1336c2133789b91ad0a27c45444424c45d5a7da633958abf4989c9709062b7e61d067f6b2dd0d2de8b6b867127382f474c9b8c79b6a243e84c443e1b01231a24f9f5dcc497217fbe161ad392956d3aad9a86c3b9579b11aac65e34d21b61b192e20d7c710e81df65e0dc61a6e391b4e8e07dd7073619c9c9ff96de22554384c2557ec25c1334983f3a5036f1340fc162a83b7b91a8c0f91c18b4bc80209af5625697cfa3cb6b8d4c5a52697f234f8e2d22970bc6d08d1056bc5ed26ded0301410c9f158095690e33f2c78a2977cf64c2c668fdcaad86e1a8c588dc4582b4bf2ec617d4d83f1b53342623575bbc1580dd68a7262b5b1d6c46a6276b3d70f0f6bdd6035d1c380e4f81b131672ca8ed33652c8f546ce6797ae284d6602ba8a75bb8913875ac9e9467ad32a118e1a287c068119f49241a003d1aa7bd041375d941b67ea053ee99e8cee8d33e58144df153cd1433a24c7873ebb0b42744a4583429e82c383600d179e89375fcc14cc0556d94a25fc428b6ff15fd4b79bdf98b79bd3d5729c2ef1e4e24511bc48248a9a2cf3ab55619d22c7c7d07be524ad92aeadc87604d5e26e577ca00e69958bc7572a5a55795edc7aa44117b8ee7861ddc9f1758a56798faf3768d509571befd69a066baba6aeea0ac3b03aa2f5d41553334eea8a93baa2cc15bbe194396440e6517347a988a7435c845e369f7d885679cf5e44ab44584bc4ddc692abe5d38d19d465b8bd7665ac355d4e280a87a5130e5ffa874310e52638ac71100e5ff20b0a06e9ce4cc59fe0d8a94ed19de9e2bd662abef4e1b0e499e0d08bb5e46e57dc6da7c178d1dd8e3418efbda6cbb6799b572af15ed17be5bc2a616d3a1e0cbc0ac2d57b8147731a8c0feb2a47ea9aa978500cbc90ba727c7dc5f8ec355deacd4cc547cd7bfd6582c49bbf69958c7362e73e63ae4ed08879d4dc9deb82343ec94718ec474b8cb52c1c369c29a94d8eff5ccaa23e1a6495c0c3a9392bc873bb89b2bee6f8ad8a9e1cbff16c49da25426167b55a6100267e23f2ca313edc8ce42889148195c36d27c70d498e19562990fc0348ab4eb4457fc40d67e270cbd96e6449ebd3039bf17a484d8e8185842447204293231c723cc2117a3217921d12f113cb9ca2365319f0640d19be64f9eeebcd942ccd5484a13a3011263ef4a2cb0bede2622506729cc9f1dc49ab9786a5c1549606431f6fd803895ec1d46f97032f30f431de08274073f6930e6993b389c31e270d1f411f33121e4cbc116a3fe9f8640d3711ca190e521fad90e39ff0e467aa29b501179f05bd94ca50c0939747475a69cc522ec18a2b24d166c04595ba81f0a58803fb7c4b274e3a42793e948358809e07cd4156a724244cbd84a9986561288e616c0d702724fa6381774a427e7e7e06a6efc7024fea0004c80a56a00215a4200535352840c1094e600213fcf8518212908004231841ab2502118420042000810f1f1ff880073c1045142c56073ac0010e6c600334341ad040063280010c602b6c9545167398831ce48005167188031ce0f08637f4f4b8c10d6d68031bd89024094ca46b58c3090999d734e4aa867c4a42c679a356726a5cd590e37bf48c6c21b8a882c41145d03904100dc6d3c971d99ddacd28fd21bb366a8032a21a8c54c3e19453cac9a3e629ed8ef65222a662d468a4979846a5ec5b16175562104fac562b0c64194f4248595b5299860c63407e6e4a290eb167d8b1532cc3a8a519d694ce1fc899d12cc36a6418d5ba5ec334ad8db87476906020cb0f9dea176957411ab7a59de9b59daa35c91c423f2f2c85af0fc15a1fbe64ce0d594a494b2a930721cc93f2432fbb181a63c4300c8bf136c7c9e47a301e933246965645dc333ee2256c9e5e8c31c658a32a61b61ce8e7bdf89a6144b4949fb4a51bacd8024dee6b21894bc3748c9f379ede26b2dc0405e87b7c4659230e257682c767a723bee213117507addd09511f6d83191662af9f31678ff5135b3b5feb43cd080cefa89f389e7e477dc542c41c4f4fb589c99a3313d2bc65db7621e4378cc3da61e0a20a1765adb576c0a38fb1d63aa5ac95e68ae1d32b98bb7a35a68d7cab4e39e2b33278cfe0dc400e4bb9d4b13bc74ccdb79c734ecfe6982e28f374873c2f234c29b6cc23a6c4b3554da9ac1ee06202bca80426f0e450b3420aae3ca3a679f4011c013c7999e34c456f068933887c8c78451f9fa365163012af283e25014333108fc0c8afe21198248e30431980784cc83731b3c0222f7106249a66256e6266910513f3f11233317104988847b2bc7c3c927990e0019c1c8d40048b1c6638599e2547247800486e9797f95202bde82275224e28d6882e15a70be3ce11b1e2681527c83ca8622fe61cedf5bb16695c711a9439ed83ec10023699ded6800a35a002a82f47afe6e5e0ebc54c23c4ab45408dc37e0d79b8e2d49c0641d938ac38b4e254d00d3f77e07d1ed65aa4557df99ac3c94c732744ff737a439b2905a540b3e28a132a8317c253074f9337e4d0cbbde9a5b96d7fc29913d26cf112367fcee97458772a4ebfe84c97ca8498928f4296bf4296b27641870727b6c89983b32367cecce9ced16c835a631e862b4ea5382b9a6c888b8c41e6a3551109515481e260c2d348d706acc82b1b30a15769bfb472fc18220547a84089153000882c42045a15ce1f595ece1f541f61cd419697af398837faf23f10916878b9e2c84b4c12b1784934e450fac076309e8a53eb902c5f7d84b5357f3084decc9c59338b106f7c1ff04e47489d3c0373062f943ad92581b44aaec0fbbcee5641bb4aa8520ae28dcf039e7cad56f97495ff04b2e86098e2b45a75aa6103a7ead44a71582b0ea55d716696d315250494524ac9e08d86dc0067533498d9d8a36e3a274d2294492432f51a725a0d332f4299745a1af14c9fdd105d1331a80721b309358134382f5b72257db0cc9831e3b18b99b10282e05ce2091e56c47bf19f584db381776275e03d21837acd288cba7d588a376216e1f0457b5ce09d604df04ebcd2776ed38167f2e27fc884742e8bc273f1d46bcc960b8bc2b5155b58e08d3010cfe4229109a60d7e9fa587502fedc00be90bc5855cb5b8320dbac0f485825fa1162dbed82ad14549724291ce5992350902854541986e4f2e32f96ee8a44bf3e95e17415ce0930ddd934ca76c65a1d8a35c7b8e7a302ee34fc8b808e770e5d0b439423ebd5aa08c7aa2522819df58dec8c64f2dcea55225d24928d487d2411aa14a34a746f889e7184f36f0c9da1622141178281f81878222e3c2b8b711704083f34474d3c94391c85e74fb1da2a3be5013894438fcae5cc9c41e7b94451d754eda27a68b7cb6f8ce965cc9ccce99d273f1799a336a8d2c0a0e356b4129f04ca71bd2ecc29aee39a0c193cbf8e9d1b3d6724e10717214aaab82e81a71722bd271727b19d44578b650503844fd431de5e1f7a1fea1bee37b26dde4337da78ff4d139d29d35b3c5808c1a894eba31775dcc08b7273aa82b62268bce49fb8cc2ad237f845ad09c29bdd4a3872ae150cb26d3a387fa13289449e81ec9f3a9bb934f6e87c0610ce771244b06ce223f6132c91c9a6c82b11ff4a543749131006b3135d2e0548117ce967471eded9c06e3c3ce69156955003e7ff8bc24d22a1c9f97ae56ddf804c0e7e54dab5e3e4d3ea5143ba4ee438dcfcb9c6c67c7479ed288d49157c81d79442412a144a84f6699065d5c2e2285de4b9f5ce94eefa57f4769d6b4aaf4a3e4f33331b12653773ab27c728e9b31dd1cb389acbb189315fdfb4c3c481aa68b6eafe8d69034ec671763c2910749c3725cfc66442353f4ac0dd9e9c8b2c8468336c76c2243a178c81c636f724f56b3e97191eefcc1cd9a91e93399984cde6c79de9f9823947f283769d162e698e133ca63174eefca2c84fca4e989b97531b2458b7f2d6ed2e2261c96506ef8acc3b9f6644679e82d2ecaa87631a4efdcf75d08d1bfef33d974431aded0f4d14fa6996ce241d2407d143eb7788ed9e2ea70d1b50fdd5087c72ee69a984c4c44262213e8c65c92a66b522a8944a28b70c9f3cdf1440a3c994ba5cbf44dd7048b4ca65289a645d1757849c9bd88071e6eba210f3cbc8593329974936b6f71e839dae49a9c7467133393482628b72628d80814d3b526d36ddc763136c7345d7b941b7aec624239fa63725b9c745138942d6e5fa3458bdb68957d8b73f148e6a46d71ed0da50e2ecf8f47f32071987417638223974d980749c3e4419cf077d2fd2eba328f6e17638245d724c243d02cc240cc2cc2393a8bf00f328bf04b8326d16b481c318bb08d064d270f6de4b0c54521cda17f0f4ffee1d046367deb0254c8f649ac158ce4fe8bdbb98eceb574312316fb0289d862efe2c6cc896ea5edea410a598bdb37391287cd71f5206a71b5d767e75aac8d1ab7d2997d206fdb3415d6da4c611f76d65a4ad6c6167b4dfb214b1b59c6c85225cbd32c6d96f3a499c138aa1189fc1023cb6d743f378dde9da3f19123b0664933054facccf2da3cb9dc4d27cfced1e862321db82c9f548ae1507b29a3a4ba18126e4fca528c18180ab5b7d7826ce9ca5c2df6d1b0c79121d4328634ae858d12077d48258efa10d3bccfc7e38de1e3a9b4791a49832f31789aa4e1c2c67863cb71c471f183c522f66a779eceeba28bd95a6c5d4cfddcdeee5c8b2ea6d34ef6040e1e87e27ee22ce765f4852d7956a3adc5e9c2a3a19cb05f183c2dc61b594bae6f4fcfbd7021a9b4ac213c1367e2dcb886dc4c31458d8d6cd548560fcfead593357974725ce08c225229bf4ade3e947e726383a4938f321fb89ceb27464df0e48636b2fc214bd7ed2c23ce86bf0625a529f6744d2af67451329d4d2768c59e2e29863ddd13d09eeec8a62cfdbe8c92614fd724cf385d51bdb5a9542784a63d7631d4ceb0a75b92b9167bba5e2edd096899d3c16ed7fe744379a6e4150b3df44a421a0ee5b9cd5eb67431d4a394b260964e086a3f1dece9823247c39e6e97b91daccddde581ebc1a23ed9862d6d5904ca936aa72aed3e68562b4d128805a4d8071b33a7b2a78be5edf6abc16e246070a9d9de185bec8b45510b8079c3d2ce98c3614f13d0323dea36d163956de8defbd29c3f97cbf276fbaa943d8460676edaae6e59de08d31d21ba34ee304d7774d1c9b9008cfec3e864f4426b884c2394128d962c1f2a8223c2a51f4c1994650edb909ac423da45baa20e8a8caecc45ee803dbd93ba892e5dd305db99a93e750987a511ce7087714986f195b55ead2c0ee5769922e5d47ee5ddb623624abb76143ee1d0d36ac49476ed2838d4b49770e8917058dad13edad19eed683bdfb94bffca26d7ce5dfa82be78c1083139cd5c8a8df1060d5972cc40ee971f42284f7bf8511cbd9234b6e88a516727bb588c952db68031684e8133975c25664a661414e30e3e4c6e3b27a38bd952739b3f7036b81b73cce921dc214b4e460a7473cc947ce71932b82a3f77025ae624cf5c491cd88ea41127b693fb344ffaaab1cca0964e4b4b5d96e709312fd05841e14c56b13c610623472b69f4c39a23cd520361cc6c9b47d62cafd23d59960fe50c07c3722b369c12ec8737cb681f3e83aebc9d61344f9438fa0d91467dc7c1095a9b95c3c61e7bb27d187b4c763c0d871acf4cd9bf5e3d3dbdca7685956d0c1ba70b8d102aa7bd358331aabd2970f6eb6d249de2e1b852d628e5acbdddb9732d2c1de55ae859ba226632a599bb327fb65b3fa38b99394b614f956084d463795e6ae5ad2c33680b8b66e59db9d21b04c399d2d0416e56dab881c299cc4995147cffc2450bd4299a504a31924ebc182b520f3a93b5136e5077dec0ea40d58111d24d797273b40a5e8c2d5d45ee9bdc7889da552737c642492b4729778e84be231ee8dd5d5cf41625f7e20ded13933bb5ea549b2986dcc8d50ecfab27cbb22c9b582b96b01fd82b3e1d0b4f2d1528ca9d0caaf5a1db1d74abc9fdfcbb4698fc733f6fd8c3264f89e14897cc6c624a3ee3248b932d0648504cc9876428f452aa91e563df3967f7ed9eaed3f3a9093f1f9d4f4f8e37a12739bb2266bad62f78f5613d75f7aeccb2ab475db993d52ae695d809f95e9d324a6690ccdaa5aed8f28ad96ebca0ad5a157a9c2ae4bc24a22fde983fcdcb6c622938ee5eff1e0df622c28fdc26f066bda9ae99bdbc9eec58cf6a9533166bb5dd74c1433dfe58bb9ad5ab1e6923a79043e44d4ed491af0c6240cc395df2a832e664d0e9a7d32e86cb647e21efdc66484a2b35cdf34a219cbd368c0aec06ab026b657bb58c0df17abcd7e7a1f7d25e5cded3eb0dffb9a7f9dac59cb096eb9ca82ca58c9cb4598f10f9eddc54ef446a8ae4b8199962bb62488e9727223cef31bfc01f175ed3e595c9c093b28bd96eb8e0cdebc0f289880ca32a43b240a4ca0cf3be4abb024c6ef66cc9d52b318b69a806238e94524a0c5789d52a69565730d28d557913efbdde8433639f0fb196f7ec9525c99234d819fb4d56eb139cd781185bb2cfcb636e375b151bf04edd5937a7b3837bf7ec0689718e9392a7c118af9082b772f01c7857ee49ca779f622852072f433f4a1d3c1432be02c5491f8ad2e93f4af04a78f4133c3a7d12a4f7fba44b19ef9bba04af9497814ff3fd95a7f069e2d30156de4f023c3d3df810dc903448d3384e1aba1b78b3956bf2f2ea658d9d0663dd6eb0d69c3182bc4d4a3baff73a3eddbb618d0d872a39dc6ec2ed95e349e225e2b9ca65343a61c84e15737259c56c5e7e68301e9322c767267809c23a4c8c1877aba253f1d88c30a7ab6d371af0268e81f7e221d67af1284312abe11eca572c7f6418fb01ba9cb6d6d4d9c5d47682e2cc3927c65a59103ceef521d6c2b9912cf03e3932e10543c8598e5060d980bb5651e2ed0d473b8989c8cefd15fbb6e0c97a25ce9270cf1e93bdca308408ac6c4338d4a8ab55f8119f24f178cc8c411d3b0f874f6819d4759dbc095593cce46196d5ecf1a12cc35986437bee9ce5eae46a08544d2a06e4f58a3d840459dee01068bb614de25d1e33efd0cee9d0ce5dbb59bd763b23e60f7a9cd5c53d47d72a1a74b58ac32f7008c2f526bbd5d56bf0b287f5a68aea828317d6e8cd397f339cf5b46a627c3a40c3f4b31e9c79335bd83d1a2c0b46b2ec8c90afcf0144165df339dc70b61b576673052cb2218a8838f296943cd25014ec98941e0dc55a56c064fdac3c9f38cc56ab9b9e21af2978aacd8ecb85839393337576ce03be6ac8171dd526cf2a773286c31e36597e389c175df4232d6e13d885e88ce126641635573999903b2e4ce74417dbb8196eae1c379d296f5dc59aa453f141fa52eec89a8412c9b2ecb5671eeba9af4f0bf5559378219377975df68a2df1130dd92b6440ae8f94c339dae43a21657d25a93d185e42eee42cc3272298903bb9624a048906e38f6830dac70823a2a6af5a55695af592954d137258c2cad17bc9178edc726ea414bcd251cead94ee491ec6373003d3a71ee924e3b39ee982448f566460c81998392716e555a2c1f893cb80998a1f883a524a29653d1d80fee44a74e94618121642ea47fa78d2cd7ada8797145e3dcdf1245fd23939e9498c5ec250f4472761288420d11f1d0afa132c230489938f4623dc63747982233053f130e1b6332447e69c623964c3d988c8d54cade88786158eb0b269d1b0c2115636232c04932e39a40dae08738416f46418393b0873d2e344f2c89d994b8991a01f6199d1e965609c60e8eda33c09fa118662747a140c05143024305f00d9286fdc43662a0ee160dc13874f0a18bd8f048cd373a7584608879118bdb1ccaadf83be5b27ee3d0303039f38ec0412a3c3e899a978185846a2602143fadd7a84699b5eed3871cf4e847c768945e6ce9222cb37167292a01dd941383618f308c6a138fd34513014149fe6514e0f039fa62b097a94bb846478033d99c32e2360cc67b81bf73839c59d3353f13a399e83430d7860723a793a00a5df4182621921217d0628ee7172fa116e94e3d83e84110a2c9b2c4f7ae961ef946ebf2e143aa48b724ff227a7f4271fbd7fd286184eec0659cd2ab8e00635303d581586f4d82511d9b0843270600543a2b366a6e26c8dee499edc93c44146d907220e36e7cdec4bba50d09f46f1fd119e537cc08bffaef0ea1b9f660eccd499290ce4440ccb961517ab99a938771a8c587ce80d5e88d934c65a534eacca0de84c31db0e21a24305accad3e499481ac480649e1cb79c7c33e9f698615d4df16884541a21537ebab69bad8aed86c35b159b8b460e25feb2e089aa88df700041842c441a3187de14622a662088e00451ee8bd5b40ff15c57030fc35adde367dda9479ca099e3a2ed579e5675dd9c73cef992e73c10f3302eca2d5dd23db9a34b9730396772eb4e578f605e0bd4a9c48232ef354f5f0945b9b8d7024fd18b2ccb32ac62a212d44fd9aba4446e3a337e8bdf7050a79257e6bdc0599665b5a6a655d8e32b9056511cd1a5441a8cd435e9908a2babc158570ddebc82085d62acce97e6612cf377e5ac47ea4eab4c1e27cac4e440b4cabbc9876855779317d1aaef26a85389088443b0c63118a00cf35ef53553b1be5e250c5322deddaed876bebb1d79695a7763ceb2aa6995e250d7abc1d8d18c5d2d67f7f3e1c2deb9c16ae4b88f04d260b469304a216517733a28ee04a1b576835eef12712773a108841a24c733a16584fe8c41b641e32dc3a269d3e48971dc43e7e40d4f35eb7da163dc8c6c229398c4582704f726e66b05ac7c8f46ba54e0869292cfcb454fd69b06630d25f1b2c74c73cca08782ac7adc214258c1707d574298907ff11e42989044bcb8c42722640e858839024ce4179f788999e503325395dbfdeeb323a2e5ddbbee7e7709cce43ea517bb764399ac7dbb3a304cdfd9e7e819179fc66d475370c872dcb1b4cc3366ccb82da771431e99e53ddcf089ccf21d6ea86596eb704399cc72ca9ab4c5c36317c3c32b0ffdda09d18d272073cbbbd331ca2daf713b2cba9e1fb486b2a80f2a45101d16a797a5c178ca6ad15c1d16ad5ab54a76e7da068f9e59c8dcf814c4ccdc119a99dc726366b934d7b83117c969907371441a8cdc15b125fe6b83c7b95a458974919c784ea755580b723c77a455d863f798b3879626c7735720d9e1e19060dd432e09d793233e8285dce9a62c1a6bba5d4c3092290e4b5e776b9e572abd924023829b4c0a4a784027de98d3c57bb4f1b0e4c3434fc5613f21018a6e28c282160ce8333072051e0dbc4f103c058c3e8fc4f7d0f7c6488cb228bcd0bde3c41ba2120dbc17bc5290e38b8ea07b9cf451f380d499a978afe4bd04be86cc69bd20316564e6657a442aece0c00871b94c8fb98a810b46c8cba360c9fe7d3c2dd2aa96c7d39ce9f2c7539d56b13c9e5ed12e2f28cf7471f128e3b1c563eaf175355d508fafac56818faf3edae5f4f8faa355311e5f6ba68be971e5f1558a764181f1f83a64ba94ae427a7c25d2aa94c7579ce972528db48bc9e3eb157567ba881e91b44b093de85d0f3c7c0b4be1294b07caea1200fc84e3c6a914ad0a650e00eed7e009070ea2330e009cb2a88f21329eded02ae229917621bd7ec4d31a1c3700708ff8001199535d5cee120dc6e8f297bfe0d0059f74f45dee82c396f76732cb67f28ccf64199fc9a9cf64f03339c667f2ca67328ccf6495cfe494cf64fc996c3f93bbcf64fa991ce343cd657bf45c4e592e8f2ef2a15754e150f301876c847aa68bf61e70a869e70187de0e382c69af81c3d3c02198c3ae4787aec7b65ccb72ed8c6b6fd060bc8c6b6f1a8c4f5d4bc4c6b8f68a06e357ae8571adcaed5629b7f3d1d5745274436e77aff5d1a9f85ffbe25a293a15efe2da21d7a2ae3d5d6ba453f1a66baf45d29674bb93dbb56e07a453f1a2db4d3153f125b7a3a253f1a0db799773753833151ffaac4ee0951c74d14337b9f73072ace91261e24d6e9c5ee87a33d58dc32372d85fa246eecef5ed4e2f75491a1da6ad069b62196cbb539c233431337d0462485d5d4e8edf6ee85d57474720d3232e818a1c1821d44783f13d681a5630424e145356ec1af36830d215c41b24f0c2f8f25ca61edf8c3633019880933d6d17e39ca41c9fa0861e2925a5ad93cd9cb3d69c4f08b5560c7bc21ab030e5f88435ec7091662890340d4373fc13d3e5834f4870fffc83653ee7aa14010794b082f96c9ccce7dcb9b6b8e36e0fd2197460b87f6e8f5a8416cc0704ea9090ec9f2b649ee3bad3db8130e6bd2fa8ebba4b254debe768708806a2413944e31a748856fdfb6e8ee8a29f3bc47377692db51687dd3f9ca3c121807075780820b492e76807346d7a1bd0b43b4b83b482e0a33b4b8f44ba514a1d301b708ec6cc8be6b1cff99a696e7b8e47cd9d0a4f3ae449074b9691e91bdbed9cec62b29778d9293bcd99c7b5d442ee6e73343844fb20cf611aba8a3ca08b84914ff42a0ab9c3a15c39a0e70ec8c2d9abc4021a94ef83ba3b60891a172983170f2018913456b6405d83438040602c78a21dd07689f822a273f6bef34a2ca0010dcacb2278d10a20f8c89da32beaa8c42356dc2001022cf2cd06505607e80b8c108ddee7bed18a1b160e87c8b6bbbb9b6589974e87cc0118b2c8029f4aa8c8f34428570ef847e6839f7040e459c2010d26f1640e8ee430f22cd1a09c0e68900ddecc228b1c461e3964ab261970f242c4d80339e4d2ddc0d06dc5198a68393e410d5ac8a50629110fd4e452834f5003167229c6d8123f336005166862c0c5eefa2c083ed0c71b7a8247816c05129d87964b3a39247bd4a9fb3cfc70396e518b57318d7e90d41e5cf97477e9734eabd12f0d9e3c7d95b666ebe56043e20dedfdcc0b9ebd76274e6cb1cf72b2959766abd12f89b56bb06ab056eb99dbb695acf0eab57fb4db7fba18ab7dac9452c658f9a5819b3ad96eda0714cee4d82e3434a06330726c18d0e58056411286c36c8c375442597c7e4069f373e9c8128962398b29ee73bb1b5d1a0d31d547434c19d933489ce53bb3d8c52477f2d99a86031e4c8c3bc45cd2c354895b26dd30161965b5765d1133d5ce9ae7d4b23adada0cd1652b5d5227c4cc16cf7c726de417d796d9d8aaa959d08d941cabb5135b6ab9120a5f2c6f5fcd3de79aa7eb80e70495f2d53c68f0422dd3f76c9bbd9d374dbb8d99dc2da769df76c1f959e2a4ddb4977a67d6aed428688236fc4a273596620d1b94b344349c9cd1ad39b3749b39b3d946fa9446b7b349eb6c57c4cc0f5d1733edcb64a9819343bada4f6efde8cacfa7dbce81ba98addb326c6463bcf1c24acd521739a3d6a3b4258d19289cc9b6458ee7403672211bc7d0857885180553c4894562ce6c4d568905f302aa561e8d65b6eeddb01df93194ba70855969976559fbbc581753435ad53caad54c4525daa59d89687e26a38fd2cf56cdb331de40c99196689bc440272d2c33b2b432b24d5d304b7a63ac64492f8c2ce955c9f2d29b9225bd384b4befcd92de872cbd2f32c84589a5b785c8d28b32b1f49eae6964e94539b1f49648965e52c9d27b8262e91d992cbddfc9d26b82b2f48a5a587a4b5c587abd2c2dbda15b7a41d7d2db619e95d7662ec5d2cb65792dbd9f2caf8561e9ddb2bc312cbd19bd58a597ce60912d2c3364a4c0182b304c282d5ae64436c61ba3ee341cf04e4e33a2d14096451659c008219d860325181a211aeb30201eee1a88808c8804a56e0f3ff335e361eca9f19271997483a45eba41582598d441977518d0b1cb3a4c2af3a17bc9f5ae8c7b2f75411f696d1871ba3c51aecddc0d92ba8cab01ae14797688c8484e4e462117e9c626d008238e8cd8a27db4cf94a6e13c31f629753194d4153163b72d739ae5b4bc6d215008f4991b67faa0a07c2ccacdf2e7723748cbb51b84a545cbdc9b8709b1a5e5b2dc0e6cc966b89cd063041bb1a0dc8a7269dde607be74d676fe68370808530f250876ea7d32ae062280637b32761d6150eecc9c8995f1c62988ce32b6c8cbdc269348147e72fc723cf7d93835cdf34a35be3378a136b231de107ddc4319355e7ec08e481a8ded34d80f55aca5a3f0b3815e7ec08ed8669191e5e8d6e8d7ed33481a7d6ca755cdd3e01189a391481a7d159b7d3e3278a13db131de288949e802d0a82d5c016dd67d1e629f6c93a06d39cbddbd74589634c2158d257fee6ccdd6fbf178a0ccdd67b35bcbf8e148169c35a897238f272d924e4d1a2c3e3378a16dcc96ac0a2afb6c28c773a899519af7a9a0ac893375311a8a8d9443b1d57a5f09f51ba08c3d736db7db3c0d22e9d757066f72dde71f12af35ee7e65f0e8f46cc5a8a923b1a86ce4c49e920b27867187e7e4d66ca7779548bd28b765d8dc4eba9d3fe7385457c44cde2209d7882d2d50d39edc99b92dfbc18543d25cb4903caf79723b7373be70312b6a9ee0cc9d6c8c376c8e25223fb0807687566cde2d6b58ae37d37967fec8e085da8e9db759ba682394efc7e369b6c616a5e9d21bd53287b23bf4805372f262833ac143cb24961a9817624b3f9c9163aadad93c5b8e5a28736d4b17544f63b417b5966e9782efad666de9da5c527aefd083dca107329c74a52b9f75ef7ef2d128a5eb7e3891f8c6d48cd2e532e6053264ad5aee53afa5d7cea574311ab69afda466d8ee934fee4b83211a21ddb1635e88379a0cb1a59b47d2689a6767952ea6a6cc3a51f6d382805e2d8781b04993614696ef54966fcd83a137b3a5bbe5fa79a5abe5ed665ee962f9c3d9d2adb67467fed4e87aa9a102b2640f53b2bc0f5dba805ae2d04177dacf8db1b3d7956d4ab6df3af9cf391dba984f0bcbe7cabcd56b6f908e5656304dfbeca7591071344fa4d17741a6a794dec61bdfe9bd56752a931af186e8f4365a959dfea5552d4eff43abb4d323116fbc38bd12ad1afdf40c7822de70717a99569d9cded34b1a0924de4839355de5f4728a566df1c6cae9e9f4925e169147e20d18a7973c1249ab3ea797af5681a76f56bc81efd23c128b4c9b060c11471f3922864c2f7374768c1071f48e4442a6ef28a20bb633824cbd14647a79034a4515995ee1825c432f59ad13874c5f8188a375248d7e9206b48b742520e268239246df881532bdc1c9e921539bce39daa56f7688383a07d52e6d33bb88a3a9903460dc4ac51006187766318401f5b9f6e04d72040cd9be697ada8a21db23b90f032c1d85c2ed7d3e9f17eaca0ce3ca5ce239b2722b9d19095e38c5b83851e61821db77a84924acc4f8fc74622992adfc107171f8ca8ced4491ed7b043c9d826c1f62afcc8a2d29b7a65cba85943bf3164c2a52f4ea0657481654d12d2a9a255d7045e7ed26eea6732d5b6c30e5cacc491b0924e5c68c6fcc9c8b5be9cc5838b977b523593a6f90352fd9e28943dfc5bdf35bcba4c956661757e60d8b275edcfae2d22abcb83357e1f78a6c5faf741d31120321177861f74c3159756704392c754f7f55f076bc1e2d7bf42c61000fdae60a42b0f18007b04a27864f44ac6107e78a4965cc139f8898140a2055752ad069887ab484d2d7982e9c77b553bcbd729282607849e9bbcb0b3a57658e06b5d06737c44c69e76e8d99d2feb9717ec3d8b52bb396238d3147eb31b11eb2529b987384273a7d7149379253048788065a5470c1bcf84eed8b17379253449338d1fb7c0a218a1195fef977cd1484cc268957580de2959515bc0fbfd4bcb4ba2a789f872f2d8dd419f13ed75e7ed008d144efd4e0c95683528ea4088726d3472653e95fe9ddc3efbed494febda43d47bfc86fdff7a1ee4bcd4bebe5c74b4bd35aad12655d8ca8b597d64b8d66c2bdc2f2c5d3604f83269a7c999ef693d2277a69d5b42a943d2f405a55f2b29ad2c33ed74ea7474fd3b40d87da1572a755f128597e8526de68940f0505e553e7e60a991797ae39a774b5cd2ce150d33e1c7ad2e6639d9048c1a9934ec232d8499f81497d06067f062605bfb88c10ee3242e85bfcc526c7c18be748574636610a3dae9494f720cd010a2c989493c9649a2db0fc71a13c3ec1231d13a1688f9e48245ae5e0d33ed666c45b21d2e04a152baebbd29a5dccfc0a15db143cd11605ef73ba7665328fc6acb78f136e56b364bef6bee833a774c9400c599b73b67ed08f1d1126f9cb93452261389e4c67062c70e1d58249f563bc41abb4c71b34cbaf0c992e588c2e1125afac36e091585815bcb682d70fa3a022f3e8dcc400b2049e8f9d35ffb16077b68d8cbae9862ff9862b5184f3a8170e75a5eb1385b73264a6e69c9738282eb9ef43c4216d220df90e5972a7fc6b1719efdb90719b75b14bba5e370e9778c928379d335de91a8187724904f538bf9f5cadc18943196b286190e55137ec56d83559febb61dbd02e88f970267f4cb24da67fed623bd537dd74af55a79b6e23ded06e32755d8c09bb7dba9ae814259b14844ad6708c2d39668907094e91296e3059d3070f129c2253f40d405dccdce66b66110d8c84a8682c42692e92b4f970e9c3f2cb82f71d875afee9a5d2e5f71df47da7946357228544c232a5cff78f740d7594cf4d8fd325e528a62ea614fa60275d090cc7995222057f9f30943f4ea8818f1c9d400322608e4ea0c1912c5d51f8e0b04716852ef2078717c8a273d47e6e68ca9f776704cd1f1ccae4cf0d47f9f30f0ea1c8a27398fddc30cba27399fd5c9c39cc6a5d10594ae632b93528b44016fd736fe63419b14ab39981fa6dba4e502da34c171236b5e904cdf386e85d4c9384b4153cd1c11c674a94459ce6614d8133796086e4f4ab35a4542387cd62e9ec64b9aab1b971e9ecacb2c42e8bc89c95d5dca0e085d2b57293a546a44814b2bcbc22de90d2a5699a363b9b73be8adc689ad62bd2a7f61cae689ad62b122ee9c9253d185e5975224065f9fe58ccc497234077e0cadac395d61045340eb5bbb262f385c0b3393aa1064072b8b2a23b70e5993ce74c79b39bf40e055ef889563052b4cab33381f75db47a83275a21a0613a117813a72ea90c5d58c168a287da9ba569dd6a95a6699e97350d875a7fb46e3d4ffcb544f763fd9052fcc852ba3eccc497e7e5575a32be7490c3959a9555af7c104177500422e227de211fcf499b92436ce290ef2a07f9e7b8c84959004f7b7faed0ccd895f44a9aafdcec8fd6acfe7cbae53f5ab75af5f50f3945ab42b8742e744b1ff04217a2760890305c1685875dc6c395d4b127913a86a11082043e7628e24e12d8656028306600de90e0690fe3ce94a7cfca4a121189f0ca6a85d53ec8a7be25c1938980c4691fe43f57ba8ae0690fa5eb2489170e919778c12e6bba687d82c377ddac20a4887425ce4cc95af2d93428fff9fc8efef7e36be10f4883f25cafacb415209ab632c574a1e91d9a564523e060b122bf62335de490152a56aa58f1b1d2d27a4a229f14b1c547b71a484dabb4e37b42822423e3242c2393bacc8ccbe0cbf4d074ac60c160ef315d33e08121817aa63c47cfb83d52ba1005170c7619b707767c9fba3d485f4bd1a014727a696a9f1a96fbeb7bfae79e3e27e82817d40782f779dfed83b1aca15e3ab7dd789f1b2fcbe1ca6a23e2cdcb6e0b8237e7dc314522ed9f0ba1fd836383f37390699a8e4bcf314bf7bbe9062161d661528e3afd9353d8cc77739f6bbae87efeb9a2d24754bae8f651ae26126194a824fa449e48f48fa8f4411195f08ef9d073748c9d115fe963811cf268d3f51eba4ab742d3fd6dda939feec90aab552797262525efcffb9f6be7b839fb1fd13fd74a58c777d145388a8e72c3efde09807ac9009f8bb0f6facf3599deff7c263e893eff5d7bdf93e8a5b708eb101de52825d1fce7df61847d133e8183d798475711de817a09efd8de1fcca3330ad3064d8e754484746cddbb0487dd6967c4e91373a3796ede9ea793f6f9398d4eefec451f1c76f3a43b7d8525bab4a2772bbd064ff47065b542d3a0b421fbcfc7a29c8ec3996cfa7ce97ea512ca475f49fbdc7451a5124695b2d2877d5ef52c2dfd2b9dfea1dc546a138aa9f10e6b713893639e6e683a8c7feeca5137ac40d61edb964aa59ffef97751ad7d964a47f97c48ff7cfe9d847a29c651faa51df35ae8dabc36e7d42e81993cdf7d65f2e7a5abe3c3dd574399a1e9e051b43ee1d0bb499bf71ecef495d9dae798a18337e491bdc7b82b17c60d65b2f795d50a4b64555430156c944397360d7e3fbe9acfe73f568312afb0be56832b342bdf8ff60148fb201faeac4237e652f8fdc8f21febf3f1fdf86c5a85c120cb7f527c0fbd0fcdda53ee497b84213d338970e8e50fce5a3bad7ca30af2a976e7fd311c6f65156f9cb2fc63ab982859b1e22302252b56f84618ea09f99c17872b35731e4b1f0dcad6f7062f94ab1737c2dcc0899ac39515cd262f2bb992d287ac6915f682d06b2fc6d3ca4a5b594d6d65b56a8c39c1d38290eee7737e3e5acc337fb08686d69a74175848b8b222bd4997867e1e76315d0e3cfab93ba8e8f41ca5b1a9482422e1f6d1299a499f9555afb4c2959a95d5caeacac8f4885cc801cd0a86f41e584856e7f411047bcbc0ab9cec62287d7d5c021262b082e1e2119ef6cc9e6ba9650b9234a2929212edc3dfd7f940e4a3552526ff98c434ab045e7792c40b4f2ebac804ef18dde439faf393f7a7bd5ddd3e407205ad2708f1f169ed6a95b4317538f0be97506e8af9a414ac78a32f272ee10f372b631ee9b12bbdfb4379d8a796a255e14b0be5744279b35a25656e1fddea297a48df74154da47fd49c4c28ad56852fab971fa566c912eb59e21069504649c2344234b97aa169556339458352dafce073d1bb87d2e633f3e8dea50d8a5e040e586493f7e8b23362749337ced131a3eff8a3515ff41c53bb3c66ab4b682ee9fce99a1e78212c59f21d155e87ebe7c7aad8dd915dcb3e6f49c416ced7be3c668e9f8f8c7dacfe5835acd978a5a741f995d58b4d8e293de64c9d33b57e24cd1338ef25de10651946977785178f7d88ee6b125be45f7e70008f769152acac10828f68a4e74bdc894822464bad0a6d7ca1898d4d254b96fcd2df0b0e63cecb6c6c126fc859c7e09a07615a435b2c8ed28ec6abacf8c12bbaa81843040df1c12a87b48a1c67bcd6b58bc389ad0a251099d3aa53a4e7a20b72c815e18ce4f89aa636aca635f096e89bcce13418af821cdd435a2ce96a300e6930f69454dcec1c273f6319a448e282999f81a135f0e4b3283cd0439f7143996794a6ce4ccd903993e58654c63719c7a2f66eb5dc8573795ea9f483a0cc390b0e6966b12b205ef754cbed2af4d2603cbcca43b046f8e251d1604c92ed43afb98118c7380c1c5e25f44a7951d64b0e431a4e833f3c0d7b37d81bd2a0b602af0bbd213adcd0b32ddc75b9612422e33e474bd774010da1a255351e2f6fb2479be902c24452c0b9680dcdce721aa30a485f89a4c128654ee796aea78f430ff3424372777acc0be1ee170e728759204cb1157afa825632b75c26878dd9d8d1c6cf8e6d19b61dbbddedd5300c5b0c677d8b6d78077d0b86e17026c367e991f10d9fc81d0efb2c2db9c593c77878a43eba1e1c68d73a7a035aa4e52d60ca3be530b02e66468ca7dc18b405e3290fb52ce33254eef290e654eadd19917218ef74d8f73523b067d7b067cf70bcbd217616956f06d09ee1eef27ded627c9a5d7646343e69ef6327eddba9867568b7b71a8e0d62d9b1eb90a9607c02078f621eadf20cef50f9867780a71ae6d15905d30665bc03cf72ac23a2450788638332f0ca69ea2e983698c246a4bc7128338c73306ed823a7f4ed947399b5296f2da53b7dc348f94ad7c5cc789642fb9d86c395948e91f29594a79cb65a9532e34ddf94455b42cc689931e32ae7622704c6e14cc6efdbbbddda149a2dbdbddaf185612db60dda6f37d482982adf8e29be9d7196633ce3dd0cdc85f83a7c87c3b82114b97b9c71b7ed29d78e69db55686357d340d7b463294ce55b0fb7dae50402ab27a8c40cf5b5514e32a5662000000004e313000028100e088482e19854a227abc03d14000d93a04a785e9da7410e630a19630c21446000000000602040aa0087be93c5b188c12e4a6de1a021538b932904a533bb1873c9bbf0ebf7e06ddcf9a88f545cfc1bea23e0ea03f7fca8139dd1458893e16f0ce17e677203d33be8f07052ffe1318e87defd1fcd4dfd02b20ce4550da27b02c3e2e1fabfed42e7f81bde326c15dd24d9bfaba02764ff141e1addcd8515539fa1aa3c2e064b017d9bc20a5f4e951c8550ca1e7c95df7ffb3fae5f3df09c5fc7e60a0ba09fbb81277862f72a7169cb5a4247d9599f830687b03190a6d050151b6a6ecbb76be053aa50e782952563b4952e1e66edcbafa9db48d569a4154c12e16d93483b33b37e7a3221f1dfa3186c5e5968e69c9fa3eda1df31c4a9e5200b63475144a4ea8cfa0ad770576f802adeaa4628885b8d1cad1e5b19a0133583d1fbd20ebecc85015c2e86ca88c74bf2a3ab00fac308c3e385707f90025aa0cd3701a5950aa428845ec914b7296fba678161caeb1f4eb6be98e282aedfcf33c46d7c34f4f9b6af6a3e2258b94fa6876ed69665ea3a7f0555f8f2a7b30fc6b71c709acc6eea012cfc8c696b3223aa65fa44ee4aa248caaca64eaaa4943e47d513ee3913fadf0e2fd0e8f0339276234bd1884bb141200e316ad0172df2a7b1be8e507474c1f5d91511febeab8810c8ac132c147a9128584ffd488d3692a2239093680d5156a0fca5db334b6290f1e3a4d5e9e8bdc1f276428028fd5ad6c920c912f08e9b58468f796a6f0ce52e54ff04426dbc5dab14960a4ce11d33026ec80d4e504b199a499b48e0d45038cbe33ec487c98e2eec94184edfb0138a3da85c7950d750881e9c8b6686a13f6ae96be888af7c94b1bd0acf8364b1a308b7f1b50187b61b1218d7c8a0ce42f108e45acc297851d1f128af7ccd022753729ec396e8e78574f3a118dc414917f2d188a958d660d7012d9790e1147fe4e59d410b1664c821b64612b71d8678c8d3c8fbbc7db7b45578cebd564ad44fd379ae9e4ca4bf6b1b3751321fd30187d92493e2412c948191be70e991c8a5459c978710580fad48949a223ad4248cf980a6f62048076aaf04c5a7405af124ff7459173c6638f460793ecc4143587a4c34ea06be30e7b22abec7f46aad62945d9337ba969999420ff0f86c899c5fff637c3011caa293ff82f95b63896e31562d429df0339a8b5f80e83c56b73d544c04ed2e39c61a4ed88b8017ae00a2268d5334bf78e26f8a9364682a302b4a57af879bb09549c5d2e4948310fef9d63457df9f6f8ed09c9c37e909fc049d8672e15e573ddd9ba14e0f24187b26d62446f97652bb5fa1159f6e509f3b21cc837a97c474c59a0be582bcea5b7cad11c7e0d14d15da82b93064b310acf8b2b101977fe8faeaee7b82aae2454aeb2e1b6b2c6bc42b905172df44e327b843e4f5cf540b9abf9d285d097dee86bf5a30bec0b7c8067c81ff082ac4f8bf9a5a547f6053fb96007b27e19fed58ecc12a70e900821b360ad06fe986d32e658788703fdec17c28b830fad904c44b7098e8a32316e057341c7075d4a06d85a3dd9c33202e7c7c91176672b1b45eeb7ca35ff78ce49fca27fe61b75491d830670e07c73eb2b017cf7ba5bbeaaa0bdd49d5f209f945a0c6f017b90f55a269ca60188b7f5084e2c0c3f629a9cd966edca0a4f09f2c757c19f886d6004113e8dfbcde03b034069cb55cc3b4c8e37f5d922228e7c8cddd862040009a882c1e08439a689bcf28aeb1f3016d79424882302ff128425955fa38eb302a47f12b30a88714736e4d72e340e8f3383b61c4d27023f51e12d24bbcd80d5ea18c5e5a4df8046443e6eff6c056f3d53be41f8a251aa120f40254c275b6b479176b48bc59e1321fa0e52292ae463f42efccbe0329991ed2adc8d86dec06748ff31d9d2cc922146a3b0bc8a62d3c4a541e621650e149b9f0f12fccae173f6e394b063bb99b671ed9a9e6c8c266e3e8e5a019cd2579855ac4c08fa66500d1d625b4f61d24a1442a4d70ddc15a8ef86f00eaff968de8eee9442710a67c8dd0e2f577a978b6251636721217e68ec8415f53a5c32eac743c9f99d0153289083824d194d8211e2cb31248ff8183271f1a5df17858e6bc96d6035f0cfcecb65af68ad2ca5ac6cbdc06488ef51be7ae2f6e3a715fb73157ed925914aba3f8b6904a8d0dfb0c1dfa9ed3a4471715c319fa233b5af1d581453e001271c8ee7b4f1b924c2491d5bc7979024278f8dd718329d5fb78b29996eef69ea3806a54b28d8376ebe2eff1521438b09d925800df7cd8f3b3ea2fbe8af28d20a62c93801f7a2105655ea2869b0854455d8e45f95ae5cddbe37bb6268a2fde3b4c1df3bbb57bcc25f607367f0a66ac9bd823d36257641e8fc1571e8fdd724976a7e8d60e8e5c54996ea020056526688227dfad5415089e4cf93afa39b776340e64bf39583b8fb6ecf890a8d27ba74eafd1bba77678e27ae2e9fb4ac7ee3ebd5aa1107e9739c5987106b2ec3dbd10dc6755e03cb4bedbef3bfa045c2730b8d4ed6d849c77dedeb0bdd44e0884286626c28c8add01f9af0bf4ce3938284e5b4a12f66c9940552a332c920da121d2a417588a5f3d8afa515046d46386086f98cbe24a3f898eecfa2622eecfa0abacd498b7ecc613a05aeee9184c3280ecd382c51d5eee946a9fe8943008d2f7f46f1bbb5bbda7f6cac82b0ce87b8dbdb02a0d76c4f94dd480b3a227cd4fa0963bcb4c55f10b0a99cf1d5a4629e2406341fe4e508ba2918ce461d33527cdf3e9bc5b5d9372ba7b58b037f28a3b3a6015870fcbd2fc136f52e665319fb4020b2ac644a98e7fe6f8b710d53870d648116ec50865e005bf5ce57c8855ba046339f68b494e43d9b1d9431bf69c6504c92d50967677513795211a2895ab3cd11b0c3da140f09b211f9c2c03ce692b2a6d3e01f8fa0437636f2c7936f0a0b9a3f1fa90c094f30c04d1e52a4aad6fc56b8ccf186dd451a850dc7fa7fbb8689526d1ba0d27b009df4e34a4184a3a182c9eb21d20b434c52a0a425672165d35b488c290713cc00d0a4fb57399c6d2c4b91c0c3bbde29f3e73cb1ae77f3750449dcc4602bd8268cbb4bc1e221cfa169dc7d34beb76cc395ad3acfd36412d946319c1ac93f0c9b790b82574bab6a7bdc967f34716085861ebe5230733506bbba61603fd47124641a4d579ef8a0ff012bf2a545cf43a48d25428e2371181393206435d2139f59c8a9b2ae1765338e413c715a392ca66001788c74406e872475e32ba54203429bea18a27c1ef5477f7b4b257801e40f60c4b80ea93ff0a36884173dfc6062dae70af07fbfefdf17abe1f49dd67942616ade64925fd515b78c0fe909b1a5903fe5d52b25ab935848986300201fa383d1f496efd0423427f0af31575be28709667ae8946af3550d67d39cd5c5b6e60878299e9e3ae2452de6efc90c5a881d237223e4ca7e6539cd2167f7484ceb8e7b84b8d2ac80f7129faf04aef025a037386453aa96230d0716cfeb1d33767faaeffb5fe9cb6816d0625b2c9cf6f326575d67134ded7549d1371928f658bb8b804113eb01a902cf7d7fddd4d3d58993d12c53aed8cd9f19212bfa6b13d3d8c464604cae3b096e3480d1161e304de06dee0abbd250368162b02343a6024a6e3e091b59849b228e04762058d843fa9ba698fa8e2ea97abba539a3d0122efbfc91d2235348385625a1d20530c87ce498024895bb4f88c2238ee33997a6d92f18e9abc26129ef33716ab4b7541fab8f8a9e3ae1dd851840d66ee047bc128d80840a93edef0b41961c0c9eb62fa3682d1edd75cfbaa0302ff9a357359dcfdd0ddd330b5860dfd41ff843bab17bb4ede7fea720af170923bfbd47dbc86b4c6ece9f77c23cabeccc6a147464d3ebbae17b62bb0c176296960b710cb011d97ea026c578076d77424712799c22de3042d22ed8d19143dc5ce3511460949d7c7e18e75e53cd01fd1a33d96ef2f1ec637365478c6808839c8286bef3d93b28242c7a02bb83bbc612c1c0b2cca6e36cd59ce66f5d9f14f24c93bc51761c83a2416ea8144280354abb802e2639b4d3822eb2bf872e1135752ce30ac889b1261719c175019fb5e4c431585fb2ed3a3d8b6a1b2084e7102d45b2d1541db2bae630fe1983c7c04d60a3aaafe5af729b3944d26fbc96995253fb899e3e74f782e9fa71ceac7b18c8d0698a25687cfe70db8ec597b9b4c50ec207a09b0c3666fcfa1d8883984c36795bf5530c33e71f748f6e74ea9b9b44dc77d11e4dfdc1f3c1ff806a707fec1791880a6762168538270930ab3fb9e01b1058fa54dbb8fd553eedc716b9414b2b25491c73267b3004133d1d450c22836f099ec1ed92c48fdb8241f12765408dd9bcc81b4dd6c97b4fb6c04bd67e1ef2d8193b32cb4ecb39f7f80203af4a643bdac513a682de767a712e88027d36d85def319015b5703860acc303d24122aad321a3752e502b20fc287d78227add038370da2d5beb7f4032697e3d47b86d1937e4e0e0f18958bedca248c758f1c64de0eaaf77cbee0449c8912019958acc69bf14634cbdec217bd67a2dcf197f2c7cfb03db476346f08078473ac4f7acfe9fc18a7de7244d20224063a00919987d07bf6b64e378416fbc3a5383c4178db2be92d9f60e60d2e45e0f6d9cbde5ff6ce49e2aea043498b73e0bb57686cab9d1adc7a4b65a20288c4d01eef64b462744bef39d5be5dcf655e0266c035927f3c040f8e6a000730fdde277512583fdfcbfdbfa17c34852b2117a05681b3fa0692ec26520a513c68355642c5c4c4de96e63cf38231cadc7a2ced6c6e5a6f7ab38c8f331931a51c8a4a2fdbc6acbaf06cc4374c161280c9ff71e7ec7c9c2ddfd2c2b3117ac3ae71120f21a0772d7e8596651674538b43adb3488735294563ae36ec6f78dcb1c2d59ecdb75b094157dabfcf821f4f7ca0cf047f7109fb0a09879df540c44b29949764155217ca51b4c375e8d1cf2794814287f3415ffb2b92d035ffdfd0e6ff492f119b5c129ce5f7c352397ebcd7269211657da4f00c1093a42aae2be0d00bf4898434c30d80a34bdc0cffc28a1fa1f470c56fa4030afc1df56441351e09ad36d6664c62124ebec0cf6c5e839488d26fd2c0c98b6824b5bcf9b69b282939c30ed02a774dddcfde8071af8a7e5c36cfbe183251571c3a309e00ef79417ec8d1c53a0d88a748a123dcb98889c64527e4031d15ad7c3373a20478d4b457af453abfaeab73edb3378cdc68c41798b8fba95119b018df44818a3bebee5951c26a99a975b305b78e0221193fc8616719229fdaf6c31cc0900a8f430b31d436f8b1cfbf67e379091c0a8eee9fdc4d4fd74bd22fb9c3b2f7d985a4e15da7cc4f60e9c638166f611cacb24ca05bd54a34d48c6ae07e48e7501492383dc726064280b807ff7817b22a6118f21b0b48a360bc96d74ffb1d5d1f7a2a3a247415cd855e5fd60447015be7999b498d494a4c5906ee8efe2d62827ddcfeb863123079d32e97387ac5bac3a05b89c8d59408830bd4462d418ffc87895e53b88c8fbefe02dd1fa750df8f4e7fba98afb3b28ecd9c8f4650f4f7f9b965427ab6a27d3e66e2b3e234313d892ef308931353b2d5c37976d7e4d05d3240c37045df8f1b8fef5e7123da1385ea6415344843526eecbe43dc861c4ab2417373a461e4000b7866c4aec294b80fd4ccf83d694e5bb2216d95ae532ba73f3d10525783dadeabcee05d5144c1b2596469e346708c2d6236975af913f38ae5eda4997263d240663bd1a4a51db8f184b37498961ee102d04a019b9db11c3b9da7cd1cb21deba84575c6860a3924549887baec880d12089ef073b7716d44c2ca0cee562b7b15d208320ea7fb0c286d98b6feaf25817c5384458091d57906abb0edb289b01d926ca6a7e2d8a6da78230b774b090216d5635b5c4ce3c112ca7ca53f54d881e71c7406028ea956253103f1a0adc46de8fe120267ca421dd333056228b764587398669054e80a77fc8a352876e54764a606d93b35f1a3eb59a059a8dc79b8653b60807486f6c32b463c863d8708afd7f344aa7ec20e43afb9530b86a552eaec815a4687a47526880a04537bd504a81d34ccec567057979fee1453f2d155d4b4516a18d28c608613f8738ae299a23cf08457b6f0b8c6595da853317b9fa2c0da5aa58de61b9533840da6e523e2100278e2f594e10d750025e3f607e22940cc91ab465bc29ddf115d58348dfb1064a11443c369e3be1351ab940e7b3cbe89baafeec17215be957c0f3a941849f4af6e581a5be3832568a4b895be83fe855ce71231268b763662df3c1a1f2a7d435c04fef43ff4a1a389780b57bd9a991a8487962920dc6365024c21c40d820faf14512d99a69eac9d719e357dc2852239aa3acdc3b7e3663de6e92cb04f873888425b73bc5d3981c4ee1bcc6ec9b668d6ed28778ba38df1615afb3044f32ffa8df56d7ffa10e4cc7a657ba2cec210a0d8a990e5c326e8568f517cca1601891309838e38f45cb214820877aae1b2ab4aafaac440fc98e79637f3c2c3a4909e3857bb7f385a116f078d9db4a3327d11511e84f06a146e9150c04edb0f7cd2f139fee769822f521f2be3f1abf892f7b9a66b8d404ad79ec701b934e27202344d9dd5e6d83d503405573168b8d3c7ad808b0690ca2bb33d4d4a2d08c1c3d7ca610bc79a44bd53dc6655681462ca829d8a4d9163b1ad14d7bc4455d311c9cec999b6eed02aa54d1b4d41a966260207f525e9d7d12e0dc84a34c6a0022d81fac236cae47bbe33692bab3babcc272e755e909e69704bdc40ebe8d3a7192e2601ed64f0d2ec2fb8f56bc61da0c2b1fb9c3ec430a2aee4c976459c7e2d853908fa29629d962c533af47a8385873d624cc87f2a522e8efbf2c778035b804d32e1f64c839ba8ff0329ca5010007e0a5aee388a97bfcaa8fdc102d3e54ee8d767aa5b3c29f1e5b50c358e18062838885a32c4025616c2a3e980d2d41c8e894e92026b8e45981c0705d9eae18b0914aeb971484c62d6828629694a9210590b3cc3a34d81a3778cb4a72b17782068158e4cccc93192eb0130985128b413e24dd4d20a51189cb48c8d1b7fccbb562c6cf0f80f848d931f459aac8b2387157748a12d5ad83f6e378269c2a34e82cab84a839920f73bd79210ecbc3e2f45a8020da7fe513d3440079b2ee2a0176dcd8a7b2c241014db7f85d0bdaa23d0981ced5824ed12eab0b453d561136dabd5eab4b5098be7d1a03483f0e40230091a9a3e5185f2f3ea08ba16c3237af667b0a49cece89a91bb76701c3ec1c238a67f2a196701f8784fa0f62a8e656d8e4056ba6f4b33a1a3cf23f4c35b71d02ceaefaecfb84fb00f190630876d815642c4f40609551cf7ef02405197f9a1a0ef328466117b657f4405e4ba0620c278949b29c0433aa76e0010ce19de3e1aa4e8d5205bce3e6835b50053c4039ffdc83453f7bde8f8eb7a3758ea0ce4840dab5dc1f7a6f69e2069d9a84a217958b3a9a053b82f2b78e682b2901dabe56596d8b692a08181fb3d1a5f610c535b60523a3798ae7da5dfdc4ae6e6107413f8b272dac2c5a79e7e8b78a4ce39aebc2f30d220d8371773bc23ce37bcc04deedff6a4a4621fc8d4480b6dd30861780055d7a9c4578fb30f11858023275b1bfd6dd2a8b47168d3d9cd43ae81b78aa98d818743e4b3555e3b28458ef0b9ecfc4dd77ab9bef0e8dc919d77a344535a2bfe3be8b6de9d49d3de6c716b991f07bce8feb47b035fbf14a3723b3e8b579216d0bca62de452a49b3182068706d7ee59c52942d9193429668285ebae6ac332ddb51c2e4ec2eaa227b3286cf59a4864f780e9f1b58847b917022b261c1309d580b788834107214141c71712816feb4db1c12a8613e9c8476262eb83b69a218930f61a70aa22bd762551b855c0a99a5e0e12dc66d4a16389037ddb34261063a202472ac518878f0769dc71716f5fa27d3bafd30ce3f4312e08501fb774d1838b70bb225649ebed48019c124a2d54bf91519d63b99225ea1ec09d3719dd1c6899fcfede6d556bbcba18dac1aadad85b5f572b41d24adc5382b94809e3afb5e90e9cbadb70e5ff7b4fbc866b99d3116138685d865b21950726b2004ecd0cd9b8e65dabb48e0e6f33eed7f1bbfb60004e4da8f8584ffd292c9206f22f5176f73e86216e048a8a7b81e1d70bfc7f485ec5d6e301a782f4b7ed89f726d0aa868bc0d6a5b0d6f6a29dddfb6cafcc28c0b16d3f6629954c7b45b6be1f51292afb924668bcdc6402a83f4b0b944405ed2aa9eb5fadb7579fcf14aed6ca532dd6a4500ab96c5c5fb690c607983274e00afbf3e5c0480091f75e8d8c30cb53b3f8d529240fdab63efeb4115209113cdd1c10ca5353f3011548475404bd5c2b4fa54d683ac4195e0925a646006eb59e82979a8086750669a0f2d414f4d9288e8fccf5d7907a7c08b24d1ee350d9d2ca5979feaa5ae2b3b6a6cc3fdfb2282d45cdaad50d64284f25876c2827be47bb311c4d815f669d1b62edfa48ba068318db70b681b6eaa660710b16896db7f27c7108f0e3e923a6b7a44d1b4e8e152500f65ad37b7cd1ec770f3c23d85f8eb4e08daa11e7b0077fa45676e45773a68d264f5084380698fa392cc34f2217303411e430a6cf76004f4ab040a243d11594a4d8f7a27fdbeedc5900424ad3aa8f79e542eaaaa977d313296a1427540f9e78a2560b671177db6fe58996831d6f59fa44e229e30eb500a1e00fd53cd75eaee0a77483790702fd73496904da07c6cd3c664d27ad85acd2fa0073905489edc974f3edfd0a5d58d58eabf58d2c524390bfbe5fdc6156b57c70e3e24cfe913ab8b53beb0aad8476634a9474e03f4ff7af45a91632ca0b4cb74cb7678124db8aa4f3fb6b2e513f3b1d77a80ef982f01c38906eca60bf679b4ab125dc04fe30c780a2bc1a20379e95016d2cf990bc248eec1052040de8f55bf3a28257307ada9052921e0a92864bd3bf630a8a40ae041ade43aa0e81e455ad0c256b9d0b9eafc293a3f4620fa730e79652a5971e2cbcd75f09b33b58c59a8fa7d03155c4d66d00f2c512b9c88b5734ecd275dfd8efb200d0fce4f20b4305d81e62bebade587e603b0386502362d0da582712b46a986b27fab66726e56df2d70e76c3e78609fa232bfdf461ff1af0c7f68c34cd926d9fc950fd1d0d0ffdb7a5338536832973fa71144c3a1774cf3b09cc81a60598cbec77b5a1737d836cc51090afa850bc73b9ee60d2fae6bacc2a993fd7151a4c270f80d394af457924af3b73655fb9c1ec3ea1ec7052dbdc507130745bff672c2bda7a38174085a67a5c45d3b6f42cca2b89616a16b928afb2317d3ec33dbf8d4acc66eafdb9742d8ac69f674a9376f2e1a293823731e236c8610fe830b34352b92fbb680cf8e8b9b637d3173cde2b175834397226560a795f865aa5508264f117ba29e1c5e0f3b21d1cd1b830a47c2237830184f99361d223b5b25dde33130e7a5fbf1b58af8578f3a12f812e53354f60870e50546a4681ed3a9021016acbaccbbe491e9945e32017c31e672fd82f0bb8c1d1de60e5971fe2f994534ae61d8d9c5eddbb3eefb92ccb2f5ab76e504471ed2c3c2f2c6e367265379a7cd269576d296068d12e9b678fc2c63b9c1b5425ec94dbc0fe6e09a2f436815c3f3f26947dcac377a76ad2c56d58fa3cbbde82caa8c91e81cc819f58c910aee9742cb59126faabec41775c90b7792bdd5642a960dcecb853884ddb47f2d936b49f8f25d744bc3cf4ec252d8dfb95f3a71ed3175bfe8346562be28c017627dca69321909b162629dbb67e0d063e51421658b51a5df3046584c54b1ce7370eb0fc4bf862a918bad33364c30bef40ff92fe29b2ff35006bf2d29bade4f90ec0342355799953bb4711019db1ee0dfdc9cbdf485f073ca04ebced2bff904fb3fc8df84a02e4dd344bdfce0d6fc84fe402b3db4d2356ab6cafe5c9a47726743130bba0ab1b4bf5682f99b0d077d3b8915826d2e1bbfb98f3a1dd07d54d7fb21ef19717a30b540ab6113fadfc4105f55ee18218e470a8d89b6dc7d84f9e15a926d4295026dcd36e5befa8eaebfbf54605541dfff8d1948324d346634d3cb99323ee6c7e258d94df7b537997594970a8d1109f0fd34d45bccefb5c548bed0484cb066ebcdedcbf49eb31c523801c09b80f3b2a3b477d5b430e0cd8f3bf6adc623ada9b7f961e42d52d584648985d39a182381868bcc0f58af4b882c896fd7c61f7230c1059508492c00f2182694d1e1f494359723a590e096a2c3febcca601baa0ca8ef60bd005d80f3c453a6ebe7395a695423afbc8b817e1081475bbda5b1d52c2a7c24cca82acc01706a0527081cf3d93cd0bc72dce0048ee3bd887b31d1e433a6493f61488ebaba67b4d8cce5746be9244a5a170c9e1e39d686972997156453dfb3bbe3d582f05e9065f13043f47a418374c8a41ddea2ef7b8e8a4e876c498f04b6590f209831ca5a0777b121335c1b16b1aa8adc9ae71b7fbe6ceb57a50795c6c30906e4df51e4a1b25e49bc5562f012d2c0ef401fa9cb15bfc2e9ac8ada67057ca6d121a55298205e5ae52617d715d4f3a696c3e2745db65a16af0ec97a7f6645df41e1305497b9b67834cb7e03f4fa43d5e019e2d256422c85703901af2a11447986f2f47dab818479f46d7234234627c3d1c9ad631dd9aaafa5f314e8eb4874d6640509cccb8ea726eaba51310f3fa47b777e78cb8b7bb79ef9ba5e944dc2d70cb80ae0dcb236ccd6d019ca7111148b55d4988923325ace97c519807f857c1a1178d80f69b59c0c4b16c83b61ae758c9791acdbb5af8b2a996bb4f06dbfd053cb392776157c42dfe62c01b137678866e476ab258a0b11b4116d47ca07344b7baae68504a622d579a323bb4803a7b681d5dbfd5d3778a20479195d9cc5d4a6bc44bab788ab45466c4399ef92862a1d29f6352c3298bbd7b32898cbae8f8d12e6bc79266d0a4f728a78ac1896993a101199ec4599a4938b03b4320ba03a85e23e28c6f858b4360f53f6a0de05870fb686f7f34e79580b29abaa36f25634f7691ab2e735cb9a4d4ac290e03519004a54307bd78315aa82427f29633a911a4612cd1f29365fbec323fc9bbe5ab2d6475b4e518843685aa5ef25e83f002ace2072fe9dae6415fe08e0d10883365168ea38ee2d80f90ba718e046824d281bc99bd55e4ee2055caf1bad03380a952e3870473758c81797db2c30ebe0e569b9387eb41dd4650820f6ae1c554e46476a3cae129fc4a03482304f90892534c936a9d4569b80b15b729e47e857efdae1da881e61ee851164fa7278e216e9d3896d847c0cb44738dcd81e76e32c30c589b886331f0ca90ef44179b376051419416bc9504a790ca4a5d505b35b81ac6a36af4ec86d766102a5d7a8a4a060d4605b42d814c39c14479dc984e57ee8f8a4ef12831ef4e74170f07265960499c139993cd86d37db82fb87c4184e7c14fb7c31b2cde2782ee5b69d66936b7b3f05452193202a48024ba28ae02b8053d6606c8638eb9ad9e572c825500a146843a87854ea8612e77987ba1dce66bc5bdf7eead94877680396c7c1a2d00a22cc94876334f439f39984a1d20c10d0adbcb6a34c3bc7a95817a13475bfd4704e93e67a75d823205a3da70eb1cf44f034555ced747b5ffdff07ca3e60fd449e461fa4d28dc30e1d2ffe4a13c271f87907334e8cd4cb44486fb0ab1180cc948a7743846c7f80dd8e52614edb76fe169713ba76c87fdf0f13b942014dc7a75f019ba5bf90ff6ab6a14278d481c2fa9bfee187488dbc1f7900784b32b8bc40dff3754073607fcdbd41f9eecbaf85ba2b30687ad73556655ce0d60c5f7b45f6cd713d26692e851ad544978674c63976bed2d74f6036c115cf44b7d0ca6ecd01e09cd2f0ef42850cb42c81f7a1445bd2d091189b119c99b85ae1833d5bc0ad33582b85922ad813f176fc2b9fb89ee5006abec1aa8eeb5be7a308a79975592581e98548f491286212ef0cd06430aa3eb3baebb82ff71d4f4caee75bd5bea59808ae886494cda0e0f4596257e8ef59a9a358106f412c0ea874760e53d3eb6a7bb6daa42ff0a43649dbdc4b3037cdfaed6f16e45c1e72ec314054234e97cb6654ac12191c562cce15798099ccb418b17bc2b1d7643a9b039b3bf34cd549f443db127d3a684b2371f53c928acc8105d4c585a82f171f231280abc657cbf8263e2abf0d8ec468e15bb08e48a836df16cbfc6810737ae60096037ade7138da7443b9475563891394f7e4b7bc74d9816316365c660679d4c658f02d27ae359fe96e0f8d30171e1181304748ebaef1b54fbe7691c35d1dff40fe2071a8b1097dd375dadd1cd6b29791ae0a92130ba26dabf78f5da54418b4f8ca23cf536b0a6e5eea1878bf9bf57f0bc9207c771d4593cce1bbd971cae923d9760b83606d55dde98562dc20bbbe568b2d6e1772c4883c41978af026f68d44c93c4052b2ef2c7101e420847615bd3bcf98622c132f050c48a57811ae3d6e4651bf7f54cc20a304e9f76fa71ab601bb38c5b770f5db99cc63ab2f956050346cfc9faecc739dccc9f7b932bb13c17183ef9c1bb12c0539bc9a3d384131197e321d3062207131a35da30bc9af9cc354128b813bdc4194401636bac7fd53a34fb633062064a0990ec2885ac93f708b1a9c95ba8b476c113a08d61e37258b4a1571d1e00339ea2047738cff081a450b166dfb6f56a54e104af21720bcba4e162cb5dc28ac6f8ef5ff7a038875ab752938ca80711254519fbe2a860d2b687678fa9c20e6f152d75ddf9c37ff398c5910db72161d4e850616e620805fa0fbbdab2bef046ef79bb8de64d7875fb4d82bc0234798f9625e8913cf2c41e5eebe38806029818ad3803705760fbb86e5a57a71d3a30e1c194211cb52259c2221646b46b76215a537b9a9c80de01d2146cc8cbcf8bc19c05d7d6d24b933705243a35a6f1a03e48aae34c17d17fecda4a1d5ad7bbba2e18d33c65addf5b808b0813d4694a9c3c93449d537ac12e881a0e241e7d428bbd57b2e432f2b2475f7665ae57fbdb24ea574fa4b35207d7b427b52e4e3b6e4693c65ecc4fe002e25877f45e435b4431f02339d9690503c0c45275d18e939a8988e56361a56d737071f2f16525c69221f57511b3e158291989ffc7c73cd4ae46e9190d168356e63e6a082fa28e6fcd4e2c61211c9dd1ab0bb38bccedd481c54be5425a1bca653fc682f8aa856fdd47003244c0994d704e89a368f703d038983836392d99945cd46a2d3102d3334dcb3d89cf68a752b7b6b5d5f2d6d830e2b6ed353dff053b44495236a346a2aa5064ea529ef83780482890c542383fcf610f00ab6b114046e5f92775c08e73d97b84d372de81083722fd38f68259882c90a6a9e466b659cbf6ac05989a0b09535352d1a7c067c722811d493c115ab4545cc20a3180f3d0da372794bca9cd60858611c5eec696608eca54a607ab5a285a6fb34c21101d902841eca890b75c8ab1df92f4117625a614b335750a7569a6de1474eb06c6d7593203a338ff60e989bb52b4febe66dd64a5a68076a8650782666294a7d1d02e4ceaed3cbdb9c25b0c65bfc1bd5a5b397d4f70f24e30ed73a255ee3a40e5aa0c685d570bf4a36562ce67735371ed22211308e6ed9f7a9628189da750f956946e7702857ba17097f5f351f7143e4133db6672d1affd7ab9f54dfacbd1e161e05d7e9e11039462b7d0ab0843f4c4ccef159301c7aed5e266d3d4f4995b3867bb7ccc3e0303f0667ded01836937872c332ab4c5ec20ea744308413a4a969a1cf15ffa4585b63114fec1ed8b37890bf08cb1cc00676a7996782da556f9299285956747ca8d43072fba3005087c3153c490bda204451dc45c7d80350e851c850998b28d0e8c80e310208df760cb35dd57fd0769978d7445aba31f79058933a5410c361d0674569f11806bf7c3cc3f9b6fd29144e81d553abbca7b66a45e9227a6a305bdc49608fe53237b5deeb08a235598c031c7ef08257647334b4c7e42923027c9c78ea7cf5b199d54cfcdc6f1eb720993d61f1d9663a9f9c4fe95e9733d40a9115b1c6c5533c456c9869eb528e9584580f24f6f25c5685565f1fd3de2b233e8ab1e347797600e9d305012e1b020b6e2673cc12c1ab3424e01e21dda4c8dbdd220ac37a4889d0fda23ca890953c5cc4da1f245b95e0cf302eb7b350c5ec63fe314d19f1ae0c1782f0e03f7fba07a4a7e384011107e2c72f7e17186660d1bbfcc5f66cd69a7cd0f22b8e7ff6e56c099d9d54cfc2cb053dd190244b8d53ff8e8cc19967f1401680d0635f4747db1b0cb5e529c30758a81fcc1c9d32cea37b305588783e5c29f1d0335a23cbf9685203e4d426a24078f4064b73e50f4dc7cf25d54dbccb201070e457040a0de5e02318bace6932f4ab6aff891227d34be0c22f42d18efa9da63c2a5775ac68081b267842b3a28365a88eb42b6a23d46c236b8afcebd57845011fb46c2d249c0ddd2fc8550739e40f51722ee29103dbb76003b2de2a616fd9ca96bac0b0c1aa68f6f90997f2916a479411f4c9f49fc366db6da38508c74eea624dfe4bec409f45d66df45a77ba665c2003a1c0ae67c4af9a7e2f995c8d1c36560e2985595130f52d6b28d02cd4819b6569d6881909557ef15c92b0f5ec3ed21c9898d711f70563e6a23ace99c4eda0bc82006d97203745890311075aefe57780640ee167f3f2d10f00e998327d48bc197d095bb929d81f2f821db080ab1262973666f3fbdbfee09ace419a12782113ce022a71bf3d2084ce5be312fe59601e904a38ac8eb444178df6d836aa613ce287a3f7e75df3b6df0438fdd8e538dbecb8b9e640bfa138db56634827d05f8f374fffc321eb22bb290d806c8edc9937dece5eb4fb43e6f585e2437ca6ae863efb17d6d315c2f2086e017f0bb3fbf8e84db7afe33314985af26509ed1b7e533d5fa51a4286bd66ff3f1b98e194b59807704214a209731c6cc8d04013772f2ece1aaa5ff118523c0592900acb379a1cec906d9f98b97bc07d52077123810f01eaf97835c15a07dabad04f58b72dd3a765846738e55109c12481fcfbe4ca466f11237e8e3e31f5b00ba45e28c78c6b5687d552074549c51f8e8de7604aded706c6994c4c364c3518353af984fe9c59ff073fe6c59a29b4c3e50e0a2abbd4c5bdbd63a169ca09b18532594ac60f76a6404484ea5f841c1946e04ebc0591ed5aa6a42371d7a89e748a068544261e81594852f46b7e729d535b4133b40c7fe6e9d4975fe945c12a989c53a504d615dff5c41132aff020f019d78201267d4a1f2794a7448d2b5b2612dfec946718852ab01251fe59dd7a70ff608e009423813970c8abfadb26f56cde73d418a1b16f89c20f4970a79848c9eca677cdabe156fb6bc091399c78211f499f7b3d0f7d4a585e15168f6bb1a9f3a55fde71e30672ffba8ae2f78b4c28b52a2271237c7ae727d9a6e77da33ebb2b2435b7f0601cc081ee20176a8019fcf26f997a953bdaa4a86aca2eec36c074b4376fa9c20584773d102e32808e6c26a5f536b528ff06c85b2c0e7b8f2d73bca3bafa89c2a2ad2e9326ea493a8e634810ffc444f206d33f1e8a9ff19744977579957ea523a3da89fc0a3f3de5ba65ad76980a7a8c76d1202d94617cd0828dc2bc15586ccf98432ee57954f90742cb229d054871cfe459a40baac2a169346a31a687926962abf9167cab1a42fcd9f0d477caccf1f9dedc99ad05c25205b83c94de13277c9da385e70dc32b1e2d6e2ba0f13f6f782cfa08dc9a48398615861d9545078f63ff7d2784cc1903365c94d57518e3462d1fcfaa6c05a85ad0ee0eccad9996750f4062a586b7c2b876bf6cc4e40aef61a35c3d69fb5aea05babdfe3ad05202a12382ff24874cae8f79a71057074c3a4403b74ed3d66eb5ddb1e37a3efd3621211cf05bafe828fc554417504303d53403c682837bf12a0f6e25ca5593db53ed31b0c8fdf78b84f61075f87f6ca912085936a4923853ac43f008bc1b40097e271258306a9150c8895e27988fd77c802f597b13d6156ca658dc03cdd9495569da249ca8190fe6604ec3a0536f54a762c3f4a9fa4edbbf177478970f966b5e0d85d83790647caf87abd754863c0e1e9850015e9b508f0299904e4a92e0eb00323f31bd10d6fe00bb09857eb58f7b29839df8810b5156cfe942510744e1bace3028fedd1e56893c0aae1703f6195da365b5d86c71e3d689505601ede798d6730167cf70748701de2eba0e77b0d1a6d9ed1f07cdc282fb233dc66ad2a48ac5dcbcfdf9bbd201cd6880d4542be7dcad69a4eb10034a7da6cbac9c0e4a7036489413192303f21b76acebda887d6b95de03c1a7f6a0a3574786f9b0106e405e111fcc2012cd665c213fcd2dc796b2cd5bdfec081445c6a59c0fb6331e20d542fc8948b7c259c403380efa14af5b6e33b709e585135b7ed9fe5a957b50d39e3a173ec8f1ff8463ffa312a1a8c1beeff7973beece2f3badd55e7204618e40f8a190a6d06850411f3ec83326c92cf4391ecbb42b900817524070cfd3f84f721e900643667842b9fa5a2b938ea005e0b67801d1189c597544297f69b41150ae3451abbb17f26f1543a562aa6b0dbd088f4908945a15b884d95df8820d8cb6fdfe496de7c76e7d098c285c19e0fe898f12b03fd83683d806089597a15093b62f887991db9e209f6069d039ee149211ef58995048490c2015645f780dbac6aaef12f696e34ee35ed7b58443ffab6241e94c47b2918c6c982fba8b725136922b6c06a732bc2c27a2d43e2fe95408b90826b28a2f41900abac721529cb2bd5965a49bbe27d471d2d6e1195b3fd66538b39c0a4772fe47162931aad8872f33822d4eda64ec11879fdc6543e816e07e182b17bb03a203dd9b83624c3a1622c3b089b0e50a312f817b3cb1b58631c8ba5e6e74f7ae39cdb11764b82fef60f221ccc98c3e4b81f4b30490fdff2c4e49e6404a4791042389409199f0574aa3ca01650e2ee9493c5e3791713e6e4d5211dc4de3d408bdcf52e23157e6ea54ff48b185411c8369d48a2388951125494ef87ac9f7c9d392ce743bee1856a2196f5382ea34ae88ae9a898de5b9085f8647150136074ff87350330b5956c7fd04ccb7375d77b00acd1c1956dc167b7907a25eea548673b7c92da3f22d4318d35f94b3469c62ddb27f66ce3a61c3d7703083cbb8c1f159c34a5ec3dda0784a072885ce9b443dc05ad5aa7379129ed0551861455661afa28c9ee48c20e0f3f2cc609b6e998e32e9c74614f97cfea177e07784da829db494e85e8cd60e431113b44c98270bb2c36c5065e6e26ab1c5eec6615e4368cd77bbc7442c66960c47359c64047eb661001cdc310ebdb6d36a47ca1ccd87f7b75f678fe93e85bce4a81d9d460b6bf871ca49ee1d4a1fd890f75c8be0e9b54125ce10c6f6846067923fd586d6313582cd2f84c538f8ccda408613b81a15aeace0013f9929a6f95e933548b3920aa18ffbc42bad3189a879a3817221f0fe743708ffbe59119886b797e2cc8f4801277a9fa88ef84d4ad0d1b24f2275c2131f94f7c299727e09dde8ddb6398f4774e8ff86ad3e92086330077da5c826be210cb8b8b32a8e48fb7ef09bd47b8b78a1a7c90f55a9ed136c7cff8e758bf8ad05986fe789411f24a68147f1c1eeba47ddbce2d463a81181628c6410662bf42efb270bc91365f637c8ad94ced1286631f0b704bd7338fc52205ba220b22a56c7824685017de24949e2b33d7a6d786f2df3bacaa929bb3a69b1f7920bab3821cf4cf2ebdb1fa3f5876d12a4e3bafdd05d4b9662ee203dec577c44e9672d9a52d88216a770191eb9a7ac5d6a540846c103a7b0dce6b9eb8264c1bb6292946a4c1b870050fbce359a4b2e539b0f33093e7cf04e262d000d3fe607ae20b396519c03818c931c28a19494dc1057428a989402b4154f0508eb57e0c84c8249caf4b732db37488534513bc5d721a38b72b54e3ea2fba2b05554cfb2e226938a78d3bca35f60c813b04c6a756d2df2761d88f454387af593aa960733825d6c0487a3a18d15ec219b0e74a0895c4777137a327e8ba8d8369b2ce290592e07aef3634f6b301277312fbf4a714bf938c5d12538a7c2078e62be31a14e67ed104fa24f17a4401a6cc352cf847d5d3c83dc9faf644deb362e963c1b31ee0740ddcef630d2ac1f42346ac1f10408152b6f908259b03d326ed2991a19b8ed2b88b009d6c2c9bd2b209ec36204bebb1d20223484114e1b0fd6fcc48050ae7eeb63be0b3d8e4d4a04093bf834a8e14013f3ee8d200210f9e9c8316f51313bb53a4ff0949847661ca328940b1ba212a0718c928f778408252f9902880d2138a4fcf595dc841f143de6fd23c1f45b5abab20953d3f57cc07af85627c235871bcde3794831131c9b1e898c808d28a6d1c9dcfad98f1a60a96f503d3a25a7fb06f7177b2be2594b58d17be5f6262e381c6d71f111c024d074a972334cd8575501781179ff9354ced73853fec204c92008ced5f0a96bd330c158fe3acf84bd31e8dea8fb0d2be528fa920658234ed004e2f61c5d5c8fa46f5623ad56701f9ca4e015afb64f41c358ba5e1cb0dc99e5c802becd1b08488b46b7f267af5f3dc276c4bc25a8923ce51946d7401a41c85e4cd9cadcf6fa28f73919f0e3473beecac9aa5c586927f9f382eabcc41d6436dbb5824198957013599121a0f6d9e1e6e255c99c0c369c7c5b76bf29f4fb079083b2d31aa9fc803b7d7f78f661bbf7a6077e060a44e50a633f8cce5c2bbaaf2368168adc4b0b9a5c63d107ef1e8e341059338c068f0cde5263d93a58fb7b38d39e90ef0aad5305348cc88510b8ae1592dfa32bd84b2097b696481ecb3cd78dc776ff8447b57a8e0cbcda3d1a7a9c1c6ebdc327427e5ec7e070e67a20922bd80e6260a02307f013d5394142584a57f6511f51ccf4d2a234c297a7c3191a31590b11ee0c4d370f5896fdb670d1ab06c7ab8d57e0dbf2d703b6fa3565cf4aaddb18940ab8f8e0e8a919b5119b70edc5f75292285ffc958dbfc5b9a9c631908fdd5b17468e4ddb4f585b52ba5f8b7255ceabb346937c6dfd6397530f3d9d34ea6ca050ab633443e4552a4ff7cb6fc788e6e0c4d5c24f83ba3877423d1d7ccecea596c96661e09a746c6818f401b11a6c933054c2dc2a77f631222e5a48b8996b0003d13674a5e71025730b076ccc100853fa299f8f4ba1e116ee31ad2c0a330fc12054f93680d3d4d9d11632cfbeb0fe1b8a0224fc3726bbbed45865dd64351c47da573eeda0273c165c741f38fd316c8d073486f0491854f9e0cc41c93a1c3c72c9b40ff8e7d3d7f73aadeeabbe33b3f25f8d1c25948bd7bee98ca3e73564a1fd0249ab1f098f1cabd859ffe7cc1e54ffddce12f74d2f966536400d6f0a9e7f064074d04f9ab4745049d39519a11625e0459fa70246c92e446fbd800ae96b2459475ffa80255649e546e8fbd048e6a8f3723bf6031530ab421815e0be7735fedc0cc2e07538350713f85ab76edc724da474641c2ac8213a48417d65b9385b8286eb0a818848c7ebffea8e570f812e834aeabb9d3f3caf8ef7564cfe1494d3c8037deb3159b61c87bdde0698c0dbacd73e3e746ff1667f22bce8c0ff8b2a66c6d41b2ed5ae0463b4da154b50ddf4b4797d9cd88297bd7a91b8c1f53adfce0a07573d248ff7c570fab000db7863de8c1d7b8490b1adee65fa055d31ebec28ca32756dc201cfff42fe07e905a79ace960a6effa769a4c350d44216c05546b31c57848e1ae26c28f67a69ed516e23890ce3a830c7799f98bce9b468feddde96ceba55cc0e28dfe26a0d61d8cd355e16478fc7d782ee18bd3c811c06190d32f64e214a4846ca9dcad4ba28bc76d565ca981dfed9d3d2089b1f4afd91383c349a26c93fb2c244b4734720424e4955369bac5af20446884fb62c9611d0e3805a212083b40972d61d8309c7282db1b78a5ed81ec60d81162871da6b49846a9532db9e78ee7c9d6bf166ae452f37b19c3088e3a2929f58dde44ee512f7638038faa8dee95b2c5d802c8e532a840dcdf1f40067ea127ceb5fa306ed387ccd83afcc62a3cdca1e580173e303d3d9c454f702ba5ebe688fd88b26bd3b350456901f84a57ee757051e272ab3321c636286e36ebc6acce42fb585825c892705b23c81cf852b587cd8bcfa676e4355a5fa07e8179058d8526969d4f0dbea88cfafb772db30e0c97dd871c84006170129672c363d80048e24ba232c090e5045be46d891f5808598c4ad6ff2a590544219436a8fb258a81e3a8619099dc5765b71a1f45a4edb3b623496233aa122329da7276e08785a32079324008b9fd3fe25b95253b96868de535412181aaa946f552ab752c1b9ed3382d97f5b5f579540966117fca6981a663085f2b903420b9202f4ea7c5075d41e68baa0a0fcef315cc1d178f068f25a7d9850909599afc9b7cb5a3fc10d0a62e900c23f72ca82025c3deb3c73182e93301d6283db94b66712f8589934dd125fe319ccc6e47bdfc135e76c341b2a9b0171e5f4d2141c9f3037e9234fceed86078adba5f11f7db1233e9bdb0a9a4342d0a3b7ee80baf1dd733986665f836892ceed9e07ce173614181d0974e5b5803901705f5b5839f217788b4f30596bb30dc3cca11a8c97649e14bca679f5b2d65445453f09c37c9b2635064c5e3969c287ba348832a17a58612b882e5dee3f426b79631894f5556cb08f95772f74be720ec327b7f6bbb3f4aa313f50653af7c002c7105a4b1c5e2a124e7bee0de1fea9fbe9aaba56bf422c53512ceb4e791ea5cc3b7fa94a829e78ba282c682bc6d2d2151f7c62cdef66c6454466b04e282b08cf2763bc58ce89786b8cf0bc45c329d783bc38b49040f52ed395815a84d07c4d66dcb75743ea8a6aaa131c921f389371df0cadc89d94bf9f12bb6fe6a0510fb538c83a4999fae558f55d3bcffff5e63f08adb27a4efb87b8b6046594c1496a20d55cabb0b6bad883171b844b4f7fe8c67f4acc3713f17e9db466bfb93844d2a825a46efff976939b993e955ecafadca7d45be6f729dbd8785f612c58ff04a42c1603c8c80c7fc1870f725ac934ec8edd1acd0fd848d74fcc72267fe78a7eecbb6e4db1fa97503eb5761b5a60552126f2c48cd26d7de685d3c96ac7f8a42017cba7e53416285306ee58de93cd1ad616b417397e59473c8d8af818a33576174fe6634885351281ad16a6ebe4bfcc6c8d4136170bb251810bc6a80953da708ca305a332a1ae71595a58fc66625d8894df75e0fa86778e67127e73c57dcb74e97d12557bbcb03f4fce76071f6099631f8397113dc6fb6fa5ab5ddec994cc5d42251aa56d4da2f13f2286de275e1e8d0397a44052580b86ea80e83935fbd1c59b5465ceecedf711c80372a78251a700d3c140dc37779001871623581067a6acbf15711d9b5d4ef0c2b5ae7152b73fefe442ade0c6321530ed37c318841de93911fa298cb3b2d4d69fe893af8548d1553aa21a5ef233aedb759e1ca8833bcd661f651fa73b3fa2768ca1c522acd0bd5ec94389005acebfac0c14268b17af482d21ac21e71440a9b4a351cd91ac587d9cf846534a243fa16696f46412364f6195679d82a33b323ed98d606791eb36a638faf0b9e0762d962d6ae7cf7d94a7a32afa9452657f995663296a396c83de1efde54d52d1c2d9a95d9c6b7a441d3ea4d59352cc670b4243698d5be7decc307ef77ccc7b414d5b0c323c702ce54e8d2f8d0847095540ca37bf45ef120069f5b5abfbad037ad3d3cf2c49990459231c43d10b2e9bd6e0f7a288519eb14ad29ef4bc65b85827182fe492cf40d79754c0efefc54dc0064d6498b4a1af92401282b8c219c3e18b86400a14558eea6681109e786b4f2ebdf51c36494630d6a22952d49fff4a81d9a718d9e7a16342cc5c8d3762dfd2b23d6e4e4a4cdb1d6b005aab1517628eef0590654e5f9e04aca80857b6d5f196c7bd2da90df6a6edbc20f61f199ed0fc5f5847ebb1bf0144e9755056d217b9e9c196dd2a99996144663484e53acc4a328b2f683c54d876fc49e1ef50ebbd2e544e34c5dbfbb9610dc3d88cfb988ab505fee495763ecaa3cbe32199b9c5e59b621cdf3427f7b5e5a85d2a91a8ae760216d39d65f190d86871c85dab8bb2d1ff31456dc50cb916168970a3b2d219f62e728432fb30cc93575767041234ae716589cec82f146bccaf919519e307b85d037f3ca9677897dd1fb71b5d52249d5e67bfd10e45b719ff8af1cbf46a10fd0f8a895e96b4283662db939151344077a7ab2c2fd089ea8033250faff7308fb14e3485a46220a96daa6959979113e941527d77cdcbc3e1ce6b0371809fd8262d532e8d1981fa08ed67835d2281c1ce583b65c5997ecdc2520492e9a546d5461134b8192d0e02a44ff255bc8634cd0389c8b000a1075570212af1be928b22099213aacf63a284c8f9b085f06e3f64b70e51d536f32a44d2ca75fd4651f99409509530383e19df60213d2e27bc533e1d3b4c4ed9d00093f5550fe72ba0545bb0bc62d63d146fb5be559532efadba29d094a499538a1cb8e39e07221ea1417b5963986f51969224208e5f1e96ac5e88937d8e64e7b26a73d3e60ca749b71f6f8cb6de3a0219473acea156aad6362b644a550412d98e5889e65c601eb4adf1c471cf56102324dd5a561429ae87ce1c3642afdf0686106ea32fbaac8166653455e62023659a60b37983406749f07ce8488c84bab0bb66bf83913bfefa58686b408254c80530b5e27642d3449429fa37a6df5529f9d14c93886fddd126ddace37c6e66b4355e96932b39e8ea27e7bd990a06c02cc988b02e8088b0e0e3320506e4c572a68caad918bdfe860aa93035094a114b5b4817bda552783c7eae660f03cce1bd83ea1fd1a0d552b7f311f8453f2400a212fd2e4d707b2586a60bc5fd957233fcb3fe608e6323cf1bbf95c8645c08fc94c9ce7e0708315e611e263ab51585aa000bcab68cc8454ad01bf123117a587c46dc2f33ce1c70a9f69a509ef48bf03d78ddafd8b8303486eb63d4b35c99be04d302536baa80871cec379b1f5ee84f3458e0571213d9907dfca747a5a4c5532446f80f816cb7e1869f26cfee4e92c0e8cae5642fa08c59aab88bfd207849b819d592fcf012e2d5955cfac5f7332f8623567c42f184619b65af4e5d4af2bfae0992c20ffc14670189c704659f787360a524ea630509dd76cd1172a2defb4be82c3b11938ad86e01c225a1f00cbb8eef2f5d73940c58561d3199efa528f847bba155f6fc3b60120e2e6bc043e09872cd8f096288fb57bb071f6dd07987bd368e3539e6fcc69ff9efa041e447410950a7a8769c617106cdd22a95651bc005678e674a7d892f9294f95c80582fcc005075bf523821f37a168128f8a9068795e47677ff71ce39ca003b025f241e5606cf998ecd5eec672baa54237105b579534d4f51243b027e1754a64e55c49ff2174e821c842468d372cad4ddd52ca56d88990d3beef80315ff3ef6c0eb429805080d0a1e3750050269615e75cd0f0299cbb4f277b7b1b0e874a237a78f320f12d0a4da5b1b77926778926653d26081d5f6e7a42fe1339abb2360ae10f8f3b1a73ec37cda30259c2a30329cb5161b2686bd4799a05e2cedc9276d2a673de6d4f942b0d0e1ceaf41161b358e2493f8c8684afb20205eb9ac6e2e0bdb18498f4c41849d3adf264e80538f41d950f0a0133f437210ad67d4364d72e1c397a58199970189c01bd534a74b6e82637503a0d446a0309711a0533339e9637185f0afe1a4f007761ddbd14bab9eaa674fff4e0df85471e7fcb6703e86148c42903f1a9599f1c4805d4c2381b60477061cafdd06f76215abb8d3aa5b100a8f98e558d97eb531035996a2a8369912aa6b4aefbe522c016301ffe6cc6a94ad32e91ae60cbcf373186f1981e77ae98c6d5cd65af41d2909e30f7c4f59ecf05e432430ad557ac50b1ed34c1c732c8467f66ddf5b3b7d510318e4d3f26ef567861b4f01ea0374082e62436de1fb63f8eaab83425d4f908219c4d13acb8ef7c02a565141c5b25578c7e4718731ceec5c2b3e73e1577a15669846ce24505026070d4e08e48cfd83d3ed46a4719d7a80239631edec57aefb8496754e4d7ab074c9a4614a5b7429241cedc962b99196b409a60ca5a96028798b7c7c60a879e99b00e346c619010f72fed5f8680719fbc7beb94827356f8c98998420398cc168211b6bba8bfa349b8c9707624532f17a64c1128be1b5501e341c72cebd7cac476288491fd96ae8b057545f3cb529371ef36f9279e922d41f5c20e05a8d321b67a76e904f57f3d1ab44fcf8aeb159a5f45434a2386ef5af2a7fafb3f793d126f80e3b784b1877362401368101c828fa57a65c5fdf0d719d1ecc2420e2ff2f4f24e2431d498eee0b7c480f7edfb384e660098cb23c464d8d8b95f128f9cdb1d35351ec5aa5ea1f2d4e1d58ed57bcde7180abb886335d5ffc3f7e8b628e1040393221aa0b7bdb8ae5132edf3961ccdccb87dc5fe902228234f4f6cc8911999326bb9fb7cf440c33d08111fed3640a727dcbf6c0101deeb407c76d38d9e7f0421fb60487ff2ea897e61c95b458b8719bbc4a355c753b88300ca2cc88167b1de5f4c23019713774bd452a87a46403917ae8ad53fd1a234df77b553041e06764e9457f42a92a181d3d6574f147df99fd1bd443c13dbbbcca926ba5824d12548bd6d4613b6e7806b65c4d2123364f59784672b0d0b053481032a0b6925390eb784b9cf67743ed2f0ade2a36bee4d9297564a2c4265a67b209f04da91fb9fd706e5e2aa4338c5c432c36de8632b7d2273576cdf82ac95941f07dae3dba82d005114c7687093d6dd68b2e25ea297a6d81460788f2e55287d43aa56fe4891e088eb115c7561b5d43f9fecccdac160efb4dac78d2900d5d67a82f64ef5289102fa4550eb0cc2696f617aa700536b9e095a35e725a4074da4355d392f51240f2706966f03e02f27a148c20bce97094d66472ff18a95b3f521b15b9087ff6629b6f4eeaa4b867eed33c9c14075e37a02480e28e09875110d2be376f1615275e2e391673eb848fed00015e82181809dc34cc474285656c777eb7a7ef952177f19639d88be70274bdb47ae2356fdc502d20f78c887782b7a21aece166931b9cd4e740f0287f8cacd4aff45406c2aafc744408d052dd611e5f6bf04d3f2fa9fb1820ccb3bfc70d8658c961b928e88409d070e55c125d89a0bd4b09fb9c01a57ce51c0a5f996ad8af2dd0bd904e554453282445d2ee620856130f984e41b894d5abadc9e2406aa56ac440bf04112327717e1e5ea1d891a33383fae4d993b302b4987150b2eb0b8488f1ab47d12484606a48c30411730b87a7f824c4b13facde0120995422efb728dacf40c3834cc29270972c47370297e82ee669851143c23d7ec77fa0859994809c1cda09a35b60fd39a1db21347902a32138fcea02774c852b38ce54b60340835e22e272c532b0c559af6d09d14aa9eb34a83f63da787107ea4523cff4462e8499aa04874866dab2968d2eb5361deef0cf40d9a6907245c77832dcbf5576a7914553c10604d1051874b488e7a78220fddac6e497bf6a638d288c791215cfbf9990e1cd4598bbaf16eab25bf62accdbd2249ae90fcaa605f3761b4775c09888edf2cf4eba38e8f8eafc6502e1564016577ceb1e0fb6361f7c94e72e566d467748e5e155384011f013a5a52e4374a9e6cabe2ae1c2d7f62aa5c8ec6c5de848be0ecbe46e796607aae95d6cfca11c91c5931f8bea2a377bd1036320ff46e1de26215e4d2516b47404e7a5a6c81bfaebe9b295c0fca31d0b848610626c10b5daabb211dba40f5ea0da917f8dd6df0fbe5641a1b5be02af6be719044434d3dc6ca592253f727bf951ff53b40df2fa249ab111e398ec8b252c3a7646d24f8220403e6e061e0f333bd18afc6bc590d08c693e7a464149f8c984009f17040d88f7b57bacba01c675e13b8f7ad5cf81dab5f4a7e99c92ace555d06ede60cdcecd072e7cb47e1a192ec107e9cdea654055d477105aa6b0b53b6ece2de4aa3c2589e80f1e145500a439f65f0175a5c3ddcff660646b3094e8a9c3a26f61f4041f49764a148c5e854ceafdcaed50c7bc4ffda4f9816f3f70ae5e56c9e780690bd705a2fe667ad53b34723de14c4431b8ff6ad648fa29379ed46a36fbf9410e48b89794fc0e8a76abb33e84027f9b950845c40297fbed65ad15fc002e1aa87ee5da6792594fca0febc19b08c1a536581f01c3ea68df3d5df8790463023ce33f04859fa06c76dae9826c9252a599e0b2214ab1130c877042a6a10641ae53475bd70d84a1b3711856d5d79818903803bde526e9f3b490465ca6348c4dfef11d748678dc1831e95937db1c0d48e99f2e240a3e2045a68591898665c7c9b6042f47b0bcbc648cd38a9d511ad5198b45a0f0b902fc4ac7b2ae28d5d47a08d582906431c0f0c7872f0382760927990fac81047a791560a2449dd1ac2759ba17b917dc654b51c31e482b849ca926f129179189de9a9d67c8618b1f94a9e6c50b0a3ca0e7f2b6067c59a77b05fce968c3dd595fc11e79937e01e5bac19ae4d82a42b30c7e404354303a744b1f690f12faf3ff04184bbc1de380a53dea66ffb0f52158fc327bba214e92bb6cbaf0329c83430b793c7e6ff58ddc03888cf9ea374f1ff08dbb00ce11c35eb124425ed62b2e1a1d16eb3e08f0e99046030ec1125811aa236bc362618772fc70deb04458a390b639f85f26d7bd23c6a9c20fe18672d4d031d827638cf14b5fb17a01340c053f3d614cb65a6ac408bc439c43660f03ee71c969e1a189876c9e4092f97fdfe38cc0d86f37b68f110c7697fbbc6ae58669c16603982cd6239b0d040fe820f843d286c7bd0f1241f21247cb6b30d57e0e85b54bed37ad64948177e4c6aebfe2ea585d2ed4190965d9589e65e9cdf45d49efb48db6661dda3ff05d0230661f61724c258d76609ab2f3ca1b83b23f46e366815f6c41fd3bafe82b4fe9c50261258e5b0ce6f32dc1461890bbdc7d609b43c2634351323b0cd88194d87848eecbb5099389ec140fd4a76f12b2b6ef4ae7cae19d103dd43b2707d44ba019709f014dc520670a9fa229a0fd8b48cc79f1801120e90a94f7de0fdf7f33f97ccb4d8a15e7d87838e12e71690e53ff67b45c1ab25b555accfe7ca8f9a36a84a9878a133a99c1c00c0cc703386609c5c5ba3b58f553dc9fe71054b1f405be930870aef21a64310c49069277d14063e5ab67a719742b7ef06ccf82539150bba5a848a1d8069da1a0d5a2b830e60aad703008dd3786b7e2c913975dcafc992c19330637279dda67fada42c3cc41f1f20161f3fae7191acb2729071d1ca2b2ee0cfb7aab8cb9fe79275fba7bc9878c17833bed3d549d9f0a41f6855559112ff2f06f5d062329d5febb02497c0577f7f8659df9bfebba2100ea5c6857e042ef270094b96267c44bc38eab1aebd9f49628effe44b3b91b957d71de82989c84132948141ec40efc1387056ce86859e3bce62de228820037b004a246e97662263182b2437d141f8be10c7dc9825e406e7912248b18fdc2ba0d98ebbcd170cd73c19361c0a2dd2dd1c4acdc748f73a35214b1c45fca8f214bdaaf8f439202226f0171dd3513f39c126d9e3e9a049711e909ebcf17d5021e30031b905761b0b6f1bd03425c1ba82a15f5d975c001b760efa7939e39c9359a95b669ab95af9584a03c235843d91785cd7280c068a64ae65c7ed27fa67ba9b3fa588610da427c1c0b29783b41cf8094ee1a856b1d78e49ab5a1a213f95d7ca1e572e70ed1c89dd376989e1edac6febcc937c66fd2d8c9bf88301e63a23e1986c2c8d0dfe90fbcdc2809478ae54a542943515e8cccba20d19a0367ee3af799a64e50f6d5e418f3a37c8428214974d3cf364e68c97e9480478de0d2984c2846b067063eb7b28ed10262d0384137081cbe3304b6231cdf275e297f464bb908e14546c259530a7515972893336ac7959f44184947cbf890775563dd1d3ebfee20f2ad38420814fceadf7f49f22aa5822e406e0733132926355a3afb8b6c5b0309489f974fe8740047b3b06e6600a3cc34af1d7407041c62c07a3c17f358a8fca168a737e1f17c6fd3d918785d6410fc391dec1fab171d7c370891914f30ec36d95bc2b13056c199168ba084813705088a4d456f70a8ea23014c27dc79c143e4d783d6d01bfd32b3c367a48dd10ea39d38f5a647c581e497f5b90da4aaa6c246745e374480d92b04731b2a84a627e9847d5c7483b3ddbad299f4e304d066ecda860f27becb58481f6e628d299f07caacacdf40466b38302e2b93690eab82f27a28ea2aa42a7b8954e4f9868d030401db22465541567894c5d2da741f900ec5d66b5664db3533f9cc7a650e68c0b3a9da1874dd9bd536b02431c511636eda9aa0f586b174a39d94dfa6b2f4e8e202c14f8a2117d624f27635dc635cc50a19a34f697d37dc4740ae551480a3b05835b01fd4507eb01cac229889cc4ec4084353f7228adf1d2d2ccb16690af7bfa5266b28446426fa2c7ef000fd3c0ed5146d97789e66de156b158916883ce17c211ec13b0f133d516428ccf3aa9d0458c002fa7204e0012f4e3a9b10b1d987084b11d9db74f8fb72968312e288b3cc7d2e4033635934933564072c09f0fadf8c6e6a0fd29ecf0c53db8e37d2af96e26bdf07f4096bb769b6c6a15810bbbcf22fc9e22361c5933dc7dd081ea54e5331131512f505ce5ba9c96e71c60cf545bb7cce9e0bfe3a7dd02fa82529a42a59d547469b351e89bf1a62968fee10d6acf0ee170939e127707de7e71599db2323274469d41ecd7774e809e56a3f234aa80b76f42d54ef38b10e49f1775932e9c5ffce9a094012246c7ae4dd79e539541bc3013bad61b732b2b205a4a3e9fe2599016d1a0a08f85c4673be2a0c9a135fe702c84d18ce20b29bd166bb6bf46bc98ae16952d81c5494a252a89a7c740261fce551305e70c8daa336aa94eff454643ab1da527843951ec43272d34525107059f34cafb0d0f8ea2f47ba591ae49d4e1424b4fd3a665f1c67b28e766c96394e24f54a2a2f220b50fc13e08c0332c112667d7501eebccbaecc4a1c0119b04dac81a919d7d045cea71f06a92f27b1c394da134ab98e34eb1436810d3c0e142f2549353ff4c88dfa046e4f49a5b0510aadf7521882daa60b99e9928ffe8021385d8900c26346e89dd165298954bafb88a76e6179efb123bc41f6534b42f8ac54c61d3bc452b5a7263e00d4d9be6891a5dad173075744fc323e122a29f31a05a3fae1e6b122048200ebb1ba490b347c2c02d5bc4873c891db09fce1885b2e9300a9562100d5edeb92078348e9304cb0fbc1559c88272912d1c703cc266ad5b8831d157d288435601bbbe40d3463e1562b247acaa5792703d02e3979445d8268180dfb2f2627b5a438c7143f519e149cf818e936644edb8c11a05ac9516df190a8e5d90d92462f51bb5f7c0da0d2da42babe5e89d7b676715b9b227d3a4b511186f55ef87e258ade82e6f993bc0cf3beaf32f274e69c0182548dff229a15ca0979dea083ee59f1a16bbbed59113be40a237b06790eb775f476c7c558dd886667b47a806c38b72eafd4a3c27a5fc13e26542dfa4869c5c58ad90840496b39dd14c9711da5ad5e5814e38495278b7316dbac7116bdf03a4d55bedec06a5af20195f0bf16d243767e695d518e2764ac225d3e0259a835e14fb5ac3d1862b476a40c211adc121c0f497131d2d42a9ac9ef05570e3209e5b186fbd675f6f51096768835c5dca65fd114513123ceae0b3c26c53c2356828d7ff7b2327a3b44dc97ccde21655fd5eec080321183f11e5608b4b1a3c06974c343c98f0ef568f69b79529d3d4e9683bb46c346916572e4807922b4b461730421a1e6ae8fc16facb6bfe706323b3d4a085538c0949f131e4cc37818e259d90996a32d1b928211701d062256de4cd4ad17b4fa0beef4248470345b559885a5ea747e688383ed6d180206ae854768abaeb4c22e58cae725ec74df532d7c65e54874ae047462b2d492d5264d9aabed6897b914cf3c2ce45d36447598c21ea1216bc4fda23eb76ae1d64281183553a695f46bd50efea03713d4f1e8aa48d926deaad00ed9081a7937dde46b60ecd5394b274692b0eed9c85d1b591111f03f61e677b96dcddd598f45ecb69b86edb33c39b213418d49c9433ee7a06ee27f40d28dced69c45a8b1cd1d86c521413392d38da40b9418c7fb086d1ccbce54a09cd536a2ab843c549f996aac34bdc6e34056a5b6c438fc525892c87670cf0263e84e758efefa082608467032cdf1d6f1c36b06e9c7912dc37469d1a3b9652d8711f7441d7a8a2ac213f0b7ec538e4580cc5c9ec46bcc95b4c46b399d49959bc49298cbad78dea8c66504ba51f3c82a337db9bd4cf813008aa2dbbf251336ed4523c1377a18e78607709d44253cc15a7010b828155c70b2c11941d7cfa86ca85cf712fe5e7d678d0f01d87a883ac30f6f0931d1556092820660fabcdfa223109f34e6dc07910c87477a69655dbc11701918200e0a3df8b1964c19f9571d3c84d9f2eca042766487c2bb3030e1158013058be2a96318e3e8cd08e9144b6cbdc08dcade6d1ccad1b6fc6b53493ac1e2c974f52ee8a519789849aecaf718820e805824602543819f2f7aaa41b3c2b58a797e0a270f7ed2085690f7d1fba049eb89698bbf472730581a68ed264bf85ab8b252b0667942bfeba4d17edcab6928abcdbf089dc44a48ffa419fa856b39e2f49e8f58834d787b1dee9aad55f25ab85b2d4cefa8f44f36616d370b989fee34aecd703116f2808779efb5da49a03dca4673948bb7c23eb1ac421e5631f780bea708022ad8fe6708623f2460494f7dc96afcb3353c6a014773cc61581cd4deb28b835403e052ce85e755fc08211be70389eec13e496702719b4a64acca1c61a12596b5334ea06a91a296c721e11076f44d0cfabf137e2c7af1bd367194e41fed53fbcb0b49898f2a0a150fade3526589dc2ecd150ec2ab06a3ac08e5f520a1e92ec0ce3dfb6b5126d11fd96bff93c782b9106e7735b2974986e72b0149fc145701b1466e5dc2374abf36f6358a8e8e27d234617e6f535126445e98f4f8a830b746e31b724b693cbb08e2e5629f3599d99d6b62da1197cfe9e4a63d6f14f8b5d6c5cc0b02c4bd69f6670bb646b987fb0f830b7a214c47fdf94f524a7ccb932eac81b0901c0903f92923b89aed257285ec55e9e885040c6f213ead538707c83a66277097fdc840b196178a87268504a9f0e357c98ac4609636138e63032ccb19e5a51b794fb90c9c6456f831e76bab362ead64111938b4c7b45dc1395241d7e0c5aaa5c3a5ddcd135516a12e2afee360cbe9caf0acab3e4de278fc13f4c418678be8391e25cc979e492d1b530a63e4bce2c817136add04748d3035cb5c8527d6abfb27d1680b4e2c64e40e6366af35ed7e8cb032af044a727ab78bf9975d4287c5f72c7dcd6a5803f340f04e7e24d25cedd0c03d71b8537699b5e390e8e9a9e2568b6ce9df08b944c873ed051a035cb2d3fe1f844a7dc16acf240e5269fcdc8295208a32021720332de8f862dfbb52b8825c3725c73b6e2cb69235a72a193d39ce4d3c243925abf41217360d313c6e02b6e11cfb6ab3d4570650c2c1852c4d505c03dc347d09cd0b5da1bd367349c2386fd7a00be2e0fb1e0acd06cb27a79d8290544bcc7c036d19f4713e7fdf59e304b17e10cd5836a031fa6089c91e588b1b1101e5e742ccde65379e34c4a031e21e143dea5f079f18da28937d320ebb0faca818bbb811efc3fea3f2faf982b969683e0366554ca9f63731db1ebaf74e0976eaafbfb367387d630553056d0787d682fbcd9a7e55d0851ad6a30dc8d683c782779cee52a43dbe961c4d71d1ec43c00f3fb7c0f89ed0a11e9c1d95425f3858423a12ec9cbb0bafe146085a74d14914a725360f3fa7306cc7c32c9e99b402e1b779c1c81ea49f7ce6c658170d9698242d6c8dc431eab32de086badb92709ad03f904c56ecc533fa29468359504801acfaa14fcfd99226e4446f1a58f64b9ae308a745267e581e7e369d2a21f32013ddc8546042cbe49df06ebceeefd8f3ac4717bc8c588d928099bdb8d38939542abe58d8c4eac206efe0a6237f3358c345174eb0724500c8227c63ee1938e69d64a32416023a269f2d456c04e7383dc65dcd130ba1489c339ea2982f0963639a5a14268fa50975658346690883108626c4521dcc41e33708926c1955072e90bdea28c6dc073276cf405ca3dabf617031f9882bda66862207eee684130103f88e2e0836670e5b335ca06762e14036349df5f549044bd1c4cc290a4324b03d7d4f7d80bcc8d8e2d3e4a202766b145a863291034627e849f41b842ad210143bf5894ea57be6a2641e9111557538a62c8f9953ae0b77da8e2fa8e900c04a49aed0bf02c09e2495a52a77e51f7a7a4040a13fa1f229d5d0530b0eb0e0814a22a30f7054c7ab056d22afa111b74167b7417ebe817ebe817e3e82ee6e82fe6e82fe6d12ff6d12fe6d15becd15d8ca35fcca35fcca3bb98a3b3d8a3bf1847b75847bf18476f314777b1477f318e7e318e7e318ede628eee628ede621f7dfe3fa35b8ca35fcca3b7d8a3b7d8a3b39847b7d847b7d84777b1477fb14777b18e9ed6265fca1f8f52610c25cd1cedb2cba0147bda4cbbfd33804c0e50b3ff670008e61df69a68359d080afa036e6ccf6b80d2ea38199e6609423461d7834a7df0d98ff201e00756320ab77205031435c334705f841b422285d129cf00e6773602cd9cf445807e3c636a156dce380e8383b614fe23d7dd0e3649493bb3a3413ba0976006267a4b63697c8ce3449e941f104f9fc39f8c9c93bf6c6254b069eca7c08f8c11dfed686ddb48b65791aa14c42d12252a50301800002ecc0382d61853733bc1013d63e6e0129e51f11bc518810dc62106027612a94cb1024643200547d4690c4233bf9a4c11395705e720366588f3e496051afac0c8da0d75e6adea8da0bb29994c76ac242148c126849840fcfa81f63fd6e5046e133f21f6bf3015a895638f3480b5378c492631c44b4fa7b0ad547027fa7421d701e1ad1d184dc7e8fcd5ac963ec10cf88d70889dbf9981f157f6bbe3d4ea5dfb23f32fc857867c36ef4331a268acb3cf3eb8d1f2f447aaf52548b04a640425decc55a13826b72e1446e779f03d19adb84104e2dd4f8db1d56134e63dd143758d5c0c8532bd4688b9074b81c2e8e41bbc0c1f74d2edc947f081532949189e004e4df325cdfc65da2cf80f2b7ce1f4c2db0b227e67c27cb3ee21d6ddf1f1c731f4bd834e715ccd5297857cb0dc4ab1c22c9aedf5e0f0c4ca485475a119206689b6c0097de39d1a9ae1a56221cc5f20186e8a5992b81702111ad9d2b7cc13c2bef33cf6016a1de064dba444d8ef5a9a2e57ef08929d7088ca518f30939e547f0874b87ac83e4231041b8b9cd53f3d883a11fee79a4c71a90a2a2b9d4a1a968225aded2b2f292e2896a0b28e649ab8b60cd8c66e7c40176946608038d474ea3f9b1a288e413707f03c260c98735fe01305174086aee8a5a395c843ceb7f094f7a6ad1989497f347c01ca377ecf81fb88c2ae5472e1404c13a0a92002a884cf81a59f0650e1ef7f53c8845c36feeb0722b6115624005b6efa2fcd88aac0b0b60d8836522612a5d267073540a62584f2133f53c9ac1bb5986aa4c4b3419df86c4843f78512c5eee4cd90b3d5ccec99a3d3a3c29d043addf0b0079f64b6f5752e01103c30eb5207347b413ba28adec9aba30495053b9213beedece893c9bd595ddedaaa9b040d148642716d50e4a205f2b397549b4ff4f12e08d9f85afa5962c19ad8f02f24c7346917fbf767141474403ebd6b1041e8f5fc2ab66264896eb668581ba035a56caddcfdf7e60253e36bea3c52c77523cf701f2f46a04104fb593c4cf22ef75b062cb3ef24da4505d43dec588fed020862d4407f677f2720767014440fb7fb8089184a135d6b379e41a9916bf038f597dc8037da5117a44897a5e649c173c2b120fd366e8320bb67b99eef22b52a2f8388e0728325afdf19ecaf97da3d321e051a60086304f9982ed7423718913553e319b4e78fc0a8399cb0e92decc510b2e31a85624ed7f3a0ce0c8f7e63f4d0aa72007c38656ae819ce66b72c8146342a66505a58e59025365d73e886d50060624fc51872350881b5f63f02c703646a19d8f04bd7a3c59e79d81637643c139c88454cadae24b9c629779b6a0ac21938aea5ccb2c0e0bfc5b154c744a482ceba7d90b292fd4a07f80dd888c4bbd9a344c84051aa16df571d6ba5002ac7bac25ea029b528374a9816cac1c5662e9d8a24ad2d1aeaa539101dd9ade5943830bc47779471871c840bad1655c0d2ca1e1f1ebad2f890b4e1d675bf0f3c23b174786ff381872e27ef43231603048718f643fce7dfa80b8dc49ac447aee6104f129a45401898c8be0db6f02458a67f764800c84ca8afa174538cfa841c4af6b1311aa962257945efcc3ae04035bbf5285ff3fbf063184d7229801d9c655b9efe2ff2b70ef1a2574ba965556bd6ea04e2f33879e6a12a26cc76a2c49eb7dcb2686063c9ce467b0b2ae8391f3172c159801f4b76422afd013be4f6eebd7f507f237f246aa785241684c80d2303500cf1341aaabc8f90defe5ca93844fcc75211fabf08826b29711741816527e9e529e0b316603ec2c3233633635f0c0aa6bc153a25cb709f6ebe73df03a373bdee578e641c11959efa22c5064aa5b5057b4207b7ae7a9e1beec3398c61887a4272eead290005c6c311b96e3d856c72512379f65915a58606dbc2753f458bb0500e00cda0af8e36fc841c3b64188c7b55a8bb498f4109339d4bb0306270b1fa569d7006ebdd12d6b289e7623879c5430c49c03aa169be25920eadfb32e33360664c3683981987895312b331b8514115d80c2c89bdc79af3aa6fd1101f2058136cd2f3bbafd2e92cdaf1fa041a2fed991f072e18fbee83c36fdaae9fe8e3913a1dfb330a75a403cb42a0c963fced559ed1b5284c464b94fa3d6bb54e455232f77c1d9369769da785ebcfdead14e590b125fd8420ab089688dbfc1d01d07e1234e7af85bb8dc4fdf6d781a925064870c3d2e599b76a6796f55b1fa820ea9e1e9554ea7e2dbd691dc31a7bf289491a8bc1d032a4c583b808cb61874d1c30a85214280de42de48e1e023486f498dcf44a7868d313affe3a2994b08d130069d74d1eeb19dd59b458b4b089b2f868cddfe419c4df8671fc2ce853f63ecf3c7e76f1f63bb69bea8adaedc0dce49fe2e35f6eb6368a19d175b8e8f4bea63501a8430c25a2b74677876a5629e11acd410e874c9b966c2e5234beb25562ca84b625afdeb06d15a9b13226c8953294e3bea45218fa320429e6009e4017ee1df8ab8d65cd1a231977d7145c34930c93e9d405739286b77aae353855c0434a4615fb97d97072c69c7640fa5c7166ba15b2dc3e3bd4b4c0416d761d0b8849420f2be301e0361a70868256cd052e0a5df85ddfb37b78c34c711a41bde8dba3dd344cadb6554c6a12c741a1ed9a96989d116a195e75ebb8707f2432f457b2e7ebc932f81bbe4fb5b356c89a03b01f4f15e9420c9c62ed28a143ac0b6c7247a9c797eedc405848231e7c6bb7e544436da4cc9d4d21aef09297d7c569df9f88f4a7c8f319cd9fb339c96f142976bc73614de10c6605fe68ba3d352cd8b68623ba43dc096659058086649ff7ae2cde9b33f08a30f379899bf01ce6c4bdd0a36f4202c012caf67e35bedb266a482dc378cd635d94b3c7719a1d0b8d886f7e5ecf677c62da813b4b40bbb41cc67287b4f69142da32f41b674df9f4bb10c141f49d8fdcad5288e97240b897476d81f17dfa28246dd400a20903a801565499299dcd3ae0e9038ecb2e41ead0c28626f1c1323edba67612dc3644781c118b0d7216ad6274402f3f191e09f6935d7bd67b0712087afd304bd8de1bb5a4ff65a80f5619a5b7fec837cebd8c80c1461deed69fd45734cdbf0e66fb11efad24bf97f43fa8e9ef3b95980dc961b3cd6cf06406f2c25d6a227c4961fc3c28abd26e6b2d498931ab738459aba06d86d5a065d0756a9d05077da5dae75cd7e4dc7daef8f0752ad3586631ba1837a6fac30b325b42debd81afa56bc01ae5059977564663d9ee18d785306143a5f872cf9716eccbb66f579bf2b8e27f1ebe29d3cfe3cfd2745fa9694d77c8cf2991afa08091d2fcea28322cf74363f3dd3d05c1e3ddefa87a43488ff191f11a5f1e6dcffb33756005b5bb6030ae921bf435ff7b506cc28bf121838b27b8d7522f610ee32d300fce59e0479f0b0d8234bd73e1b47f841b6690821a447f84d7b660d9e0bfe6d3930212e7bd24961ce8850628b22d9a5991fdc9092a6f3640ea81d7cf0fa341586cd62a03371d66beba14432302a2654b1093aa209c670a0c57fb313a0e78ef26ff4b423314b2334e828d39b9cae462b97f5a08b15abe6ca97a4bfe4bb1a2b59765f746accd89062a8b18c565b768a0c7c3e8595d5a733b1ecf1097d25e9495446e3d2cd59227670462e9b1442c48eb322fd102c94eddeb836f27abf26e3b15fa8ed9028af9e33dce4b4e6ab9ffd007520c833f1ae427cf567190cb6de54ca2ba742e27de1eacfe1a1123eaee13182e64ea54b45f5099d2c0e6307369ce3b9fae8de846dbf511f3e007bfe2eb4829066c770d5107bbc2672572a236b5f72ee6f5af5a4c2d5c9e7b7f61a7114d47c54e7468dd0b080e58535df2297a16098a99ffc1a63b765b5add02dd890071d5c6c0d78cd0b9e184c37e070e1756003068aa5cdc4ca98554517380272658b204f3297a2267d722b4a678c061fd3377c78487b0e15b9aa57f024143f0af7f23d577c59fdf6e79f87c939f6a8fcadfdeb10589a425d633dc12f4c8a8107d4f2481b3e99cd10c419d4210d4c0411eb691a3c5688392efad8f884dec75f916acd4cc92be5e96a39d11b9899f0736ad72bafe8ab6915c432b702bf059a4772b04aa7301e2222fc3562fd05cd6039ddd05d3c9b7f1afb9e6872681ad2e97069ac302a387626a6a40ccaa4baf78279fc95546c63e71d5baa6f6f3c7176cdc65b644e2813c7dc3592259dc1258a15873ebc627bdabd6592305da3f6f752ea6b2b3ec8072b0d0ae18c571cb05369a92c6c573db1760e1d06a2a9ecde7b5aab0622c02ad834e56e8d662c1802564bab62827e7bec064d4d0b3bd9f9502a52564e57c68e8f6a07728e1424277f0036b77f6ca09a60ed206130bed82f3ceff9a2b3866ef53973b5527cdb68aa0456d6552a9b60d6fc2ab3b3472b409380fb3ae1f43d01c22ada4ef80851aa3562eaae24f0c09bd49678a378e5a4447cc7405f1c1c90fba71034f0c36752b9f25973b203bc7cb38a27e24898b0f60a266b78931fce4a6259e315902ca753e2b046813847e8cc074b9f458888e9fa48bdf2cb7f37531394e04277add2dc0c1eb533d5f4d98c5c4f18cd68f7bb06bc97a968ca928090912913c614606dbdbb182149a1fe903a71c15d705facdf26507fd3a5355e312affb47cf2a70d5217f3e192a6d1513ee3abba9f0ec0a739e5a32c92d9d24bc83def0892c54335abec1738f16f5de88616d035d3189275aca6499cec11fb2e84f6608157d61ef539283da790c0fd21712716709b22046d50615e56901de4459cf5922e383363f0b53bfb0ba4ad07c3c0ede61dee6e1fa62b3afe0b5197c2edaa1cd8bf5d0d3d0a44c880892e397710db30fb47e26b9c7bf2eb87e41e2e62b71d65b5aa9387f5c0cd1016c50f30c639e86329822b9029b7b67bdf4e53bd9acd76e4aef40ea21e5f6afc66628b7d518c7963b32801b8e091896b37d272d4ed4bbebac89bc96d4ae04fb6c6303f1de1281236bc74e7d6f7e5d8dda053e0769cfe6f9716b094cf5c90a1ed318a80262a5d3cd8bcbf96b6642af33018645d6b5128afcae3cfbdf1b0159553486ce25f6f5ae8f3cc247559c068867dd88e0d99b5f222ba421a7ccaf1a532096cd8be4f2ecbe0c936372f49e9d82cecacced09895b1bf0d58a4e6c22d3917532bd1fde825279727dd038104308bfdd1bc397320ff6ff360f4e36608b394a22ac394a7f2603f5e365dcc0ac4b76c47c0f7896f4c407e44af6a2b9490a86ecb774ef738c12e7ae9ecca79dff48d2d1aa8418a30c9c1bfc780c73a0885711b6edb2007320cd7f630358efb3f327005dfaaa4b9d6dcd229320d2a94a7f8ea0aa9c03d16264423502109c72728d8ea7fbd600b95975ccd141a50ca7d1a3e60e022640adacac4a2c9f9313c409a9e32a0f9fed005b379257ccdcdc0381de7d9ddeafc6d44c14db417c2be11737f98e7b5fb819afe384853bbe6cd58eaea29a5c4ec323922d6a7720b97d753c754c4a121a7b59ac6dd2176d2d8034af8f7238a43b0f6ec519cd6b8a092c36aab3743e69bd484adea7de4ae92a234246a6b22020ba80a86978fc110d3c0dd7b2c8108a6e19f87a1f6c4e9b4e99a5d0502755173f7af438ddf3c08b4657fad237482d32e7393bc3eee846a36f9e6ce0a28e5f10436990a4d3cbbe830a021e19cbb15800ee9429b0521c2756218d2365a69dcb07cc4332ceae2fd9585fe39116f358178b75b4eb3f57471b08ed046202d86a3c01affebadc951936be49f94657b8d49f14169a2792faebf5cebe8a69452ecc11bb98900897b1d4f36cd9db3a3f97c8594d294ff8fe6e5858a08a9485767b1d6c039517f52dbdf4c234ff29cdc385a420264d41249b26230a38075607a348f59f4336c94fab7d585e6b40786cf3a7455dd74e85827c94e64454875ae0281091a5158fa2175b4357443071622361596da10c47b64a44b01d1368fd219eae109fab67328337034371d4f302e86e18fe80ba3ed982b7c4c249f4a5c7f64e84044aaa39ef51e5b4c5a508baa67d985b867a58bd52f16492fb037cb904babcc7b758305c15271d994ce537af3512894d679373e56c3a9bcea647529d4a98dd66b7d96ab61a43f532c1b00b064b3d0006300608c628720291e6799113dd38ec64ba7f4f957863dd1b3ceda686d8edff441a219b904dc8de5bee1d5e0b610b780b32463aed45b06b380e6914f6246d9a30f47146f3404f968564ba3cb2ec76d2e9a36afbe095d2615eb116ca35cba2e1503e1fab6931077fd647b7a31b653e9a6639147c6d079ae4e548be93e7e43fd608c2d1e8bdd518494b5e93b79f51f7819964b39f64efb25bfb50d7bd774ee2bb788e886de3b61a5b8cc97a962eacf8f3097dce84013e96a5e16fc76854ab15fa0f9a332beba933c8359b334988c99009191e0189916ca55635cd6ab6e69c2106609072c301a1301387649af68ccbdef56828d086361970dde71a0ed7aa1cdfe974880b854eb71aa1981df5309bdae7c215ed2d45fe5a8a6c7d070cd9f2645aadb67618169d708a39d0a3875a96a3ca49b948c35fc7f0601eec70d332cee2b8cf230f153842e24a66060aee6321a11283a6eca21ba129abf804c2c80e371b2716c8f5b06695de68a43d0cc7d4650c912f6419bdcd4d03414528e8b26873d327686990ca229ae1a8237aa29bc9d5be0341f7459e582bfe46dd8cad22531969a2f7b2ada21416157ff69fb3b8508a2e66dd6619cd7011ecf4736bb6516666a646272747533510f4a25f41e856500ef3c93fef4979e541b95da8c7561e7beec69c1e9a826bad5584bb2ecef409747a08b90ef4935bd08d33edd19f80fe4519d07978469847c6cdba95ad6a906d96653d99c5b3cb2ec2b5f69cd49a9dd8ecf616c1fe7966b11ba96813bda541982cf28484741a8eaad006ba7a1bf5dcadfdc89522505e8ff238d327cf3b397da42787a8949fd0adc6c9c43ebcfc63cb2b38509e1d05af7c0e55e2e78eda2ba160040334282151910cd0444fe9690632bd121205612aa4873c9107c2a03c3a59cca11b12a2a760201146f4cdb35cbda6dd8a4515b499d570ccf9d0fa0f8e49b8fbf5f0f2cab7981355bd1273642285998ae84722e5220c24c2a4e0957bd2447f1618a709383a5851ebb01bbd0b65f6461eca7db4d133cbbebbedbe20d9d23e1cccc9d6edfa5affa9d7bad14b5da77556d7751db5345b3f82d9aa99885ac2b3bd11e9cebc12e92315f44dd3441a956213abe8133c420c6268cce0118a90a44f900c43a225829a6c4f5ab927af370eb99f1335d9a2d1a9b27f6cadb57ebed0d5dbee33b3753f2038b947dcf9244e8eaf49d59b1cafdb9a451ab593195d218d568c465accc92b1608fa8c9ee3e189210305317ab28ee1c9b44e48a4321285e1152de54fb934a4895ebb2fedbdf488f0ca8d237272cc8130e84fd0d1c30cf309ba2cf2d8d36ae5b44763ced7313cd6461b7924ead9bbecdce724b3917dc6993ed553cc869e72a1349da08072f0b72387f0b7dd28f3f94267ff451922ecbf20b95210fe2a0afeba139c9329ccc9f576b677760c34c577f81bcd7c24cefc25d3a7edf47108ddb65fa222cc76481f7924c55f67d5be2b3adaa387303ba4897e5087e2cc400dd9be5e85c61e0a5771c816471e5a318cb73e7bc41d1a6d93610b27da3a11834c2bc670c085defabcd60e8e558313636a766220cecef739db9b16ee7cc4fcc51d59234e8944e6e0b4d79f0de72bd654330416ba7c16ce09c6643a23514af0d0d09a9854ee5a6bbdae186bb52ceb528047f7cfc93114742213745f94d9643cc07132cee468594f640af34927f1aca25ab55ab40984d1d56a896993f6dabac1d6cc9b0da68d75d327c8e4ab155b3142daeb4d0171c28ed5aab188b46749cdba9f4bae16d2482bed69af6909ba993febc8ad5b5d23b66cdabbd62d6cddd8e4b68e58964d9fa2f6b6eaedbc28a210480d1c6032061b961a5c20062f644b0d43c80219b2f594d7fb3c37222c2794a00c5eb01102261c6185004b0d1c6022866c6128544145968f42169ae4aa449e36f66dbdebfbb36785ca0a159515573994efd1efe771da4018ad19e9ac187af1a0fb5aa5eada75b85548eacb4b8c189ef78f4659d6dd0faab0edd9b419329a36df9cf9e40a747bb5fa82d864abbbdbb93b3f0bf780aa5ce357e3923e7d30dec49d161265900cc1488e323252a6a31bd04086dc2b2fc8e88824777daf7aa584944af048fc8dfab5e5fbf33efabace66886e78e12516feaec4eb69032d2762102a55e060e10fa7fe77dd7abd20ec5b2bc6df852b8420d8c97d2ba944e174a10a998cdeac544da6efa7e5981a79a4ec3ecd5fcb482965f5500e218e0d122e4821a5a4910900566ee434a5544aeb722393f65ae06f476e713aa5b4b9520a2c6d64aaa7bd8e061d7d4fb67046768d09226eef8a8dce12230161f48ff830a1931a961f2174f4de5bdc1fb4854c41532e92310d44cf92ce05421e280f1e6e7af7a694ce9965947690daac5f76907481884c51a9924b24cfcd8c8c142287e4af7bba6f620c193172df6459b6f222c44b96652959630898e1cd275394064e9bcec3877e4a28da6b7af9ad450b107d9e0a9e5ee1cf0be49e8709935ef1f48aa75754f03061226b244d7b2a3c4c98f4f0f44a07dfde99018e4c7472f72514b24612e95300de2a536c1889947f309096a77c5e203a5c04848cff70214eb6b0a3622bbd5759f6959ffea0dba9fd9705e80f51eca11fa4dd9eba5cb6d06eb7ebf87c5e07fe7d46339ae195167865c30ec0586677b9dff61547c0e82d4ea31590e1943700717b5db8b87684cbe5b71597b7b8e679dfb31517bcb2801677400bfc1d91b56fa791bd0b9cf286cee20391611ea3b7e811c3e21e31f208cf1f56308cf887ccf027f18791de5b8e9ffe56d267a7f6d9e529087f18c8b45fe2493a251d7f319f9efea4db936ef3fc241b4dc56974e907edd92ddde57e476497cfad4669345f034a930b17f7833b99da6891559d7fb0bd8efb1dd2644fafcb5bdcdae250a25c601056f1b2fdc8da163a5ae08f0e5b32ad2895b21fbe655a76b865adc580943472c1e6492ba41176e9c1f81b8d5ce0ef2df0e7e515a75b4dc33cb2ff905dca2cabdfbe4d5bb1d7ee3f17d3fb1d91e9b5eb80bb807b1d80f1e36643be45a9c5bd032e76c007afb80bee1123afd04aa7d13f3c746746adf8e97e47e4151306c26ce5560308206e9532709179590123204efe01b7cd0a01dc0ec06d23edc5c03ef44d0ff81be53e42e7dbcb8e7bc490b853edbd689e0803f34de33410fd2e069dcb5b64f6f986f11712c65b6c9827f2581e0bc3f352f2655ed81e0f17f3701a12c6fd5edcce74bbf370bb8b2e84494131ddbe6b71b8ddf3becb4cde16b7736bb19d467bf65bcafeebbe51866fb4676f77ed7a070034e1af7be7e1ee7ed0eca1bc6f3b1b14e1a2a30af98b3989f6fa2ea7d13a5434d3c5bbb84829a594c00eb823a5cc0e3b29259db9f38a123d640c5239c3643c5025c4c96464d0e5fd61e50a583c400fa91c04fa687494d1698c46358fbe2e8f2e519f8f624814cb47871235ea1d70535c31ee56643c00631c91ed3f7745fecacf9198ff5cfef3f9c540f03f07723f1f0486de8fe5aec8eff020302db7e53a1c8996eb70791d309029244682e53b6020f82c0772dff2c6f1b2ece4ef25fe8ed33745baec5fdfe43ef2965991fd2030f7ae48ec03897b1d7c3000c234214d7d2618006144670084c1d7010301129790a6fec5fd203032553599baffe2cc4d3984c1ffe04aa2a0865df0d7e116f85edb47feecb83b7aea860961582e84997d231ba76558e0afae607a928c1a2b303d8862d069c8ee2a2d7398c31c720acce7a2790640984fac91a60e0233fff9176bb04c6fb4e996cddd5a5a54c213d240a40b75d841173bcaf52b043654a6a0b0ba4f9665b87bdaeb9806a2ff79b7a4a3effc754f36ad7ff0099e62c5bef317b3f6cb9476639298d35e5fdef447e2d09ae7136ba859c1009958029977a2fa600686c3535c0f02236da4c9d4292764282107660a29ef278f5dd263b798d6db1121506976fe934372d3f78d447de8bb6fbaa7c99599cc34db4788a191c95ab3b27b324f0fe97e22b794524a99755f4a29a5dc329037297337e9133c821c7e008f20871f64985d9b29fea4100813378a7f58f99252a6645f32695434c2cc107490e4964b72cbbecd688f8c51e5a8a4bd261d45fea490dc57dd508993a2510705a91bfa8db24cb54ce5be6c89a50e72bf79e00c7a9df6965cb9d3512c99401801188661b7a4942a3a0c1ad1d14f0dfc9391e78bac52e270262d61a95a3371506b8a58c191650f92e983644b3568447f0507cde056449f4e3a67d3697bfaf4816a6c13223555445ff4b8cd900e257024ea6adb7532054b60eeb4771ef353c954513c979c40901248293c6827a6d009577daa62328130e24337891d102ee9d3d49197a6a0043dc081b9b97d0e7442fe40aaf852840e36810a4972cc5813a87024a31a0694244728e46f2ac9f1ad43a2381c0e87c381dde7b012f94257b3c39b32938058c78e634cbad8a72f82706e404740484422d1af5b6d4cd8de85210c84f94007dd440caa3cabf32b20257dfa38d00de8080807a403da01f180a80055014202cab1ae89c32191f96b008e09637f3c08237b8067c3c5c6f385990092e721de5175b4173f58c814d456d1a7892787a4bd389f7d59965dd5a72c665225cba66ae6d03b93cc1c55864d159d98cbe170a00e4e9e39769523cbe325d027168f393276a3c7db559f682804ba5971ec8f9b0d58e34bc1a0df5a03ba61b95f65615718b0c93d5ef20a0e9ae16986f8c5ae7abce49aba9e72bf1b39a504eabae7d442f87bc9a1d1e8f7bc18316e589f53861eba29a738242d81e0ca855d6bad5564892ccbaa537427fe3658f107bffdd2902917664cfb16390b93d840a2abdcdad64a17ddd277f4a9f4a872d19ff2967f33b3b0841ebaf5573dbcf4f4f3c209279c704ef892b3ef256694529a9dd66c3b3cdc141082da213c0bd1e7cd4eaf756b2184f07ae8d667f7a217c3546bef3ac54e7f03cb4e93c8f546cebeeb279ff4164e794347718f97ee72cb91728879a4bc621e2c0e7fdd2c05cff6fec9426381617bc7f690e52d78b6c7827388545444f3464b3598891e37233e3adb53c11f06e8ad0862bba34f22fcfdc03aee0e88778022c591e57a7a41a725386a15ad4fa2437a381b3bd61a4ecde9543b395444a263125b3566d08d448dbe7216f81bad78095b8b7d25469b2cfe0e3bf4d1a8eb42a1ab7cee6c538888144d9423e5934613313f0fb71c5384b5d053ee96834e4863ae9807686e38403c6811daaf1b81e50aba34bb2178ebca8811e3c50bcf737181a50c4b79a61cf6c9bae88e422ab3bb94db853ea16ff8cbbef578c9f4d8ad40ccb5621ef4d7e55684467f8542a150288467e6517f5df07e37320ed9e56418c7c4b03d8a6767086a1cb0bd8a03c38aa362adbdd021d6daa3879f21fcf578a1f0db6934047d4ee8dcc8db75ece813e42e0e17f9fcdab0132f9af65ad35ec43595277e694fc9d499393309a4f0336762100e9e2ad0110cba994a1a88b8a481889ff99b39a13c736692a964eef4c92292e327939903e7ad5a93e3bb42d04d474137391052d00de806429c3c413739bed6545f5280b4a24ecc2098133148c682386c432cd46c86d503893212d8a1449f52669e80a2c7123a52472091840dccb9414f4657b5d6f5af5617d555ebf5185aedbc172186088db2eb0824acd28e0fee54ec5786316dfeab59b49260a18b7d81f2680cd1a7ec10554370dec8a19e8725d01e3dadd4c25f8d78e26f9469f4a9b71ccf9f04ba95ec22b8fcfdc8b3671342904800854d32a59089c513371995c0178942189440414766da2c3b7d4ebe6dd35a1a92892b6f4e64fb930bf367a526cb8efd73b363778526fa30b71a1926f17c0eb71c2b2c883e7c606e62a5c67eee4a4d7b1fecf3bc1737460fd1a72f48863f181ad17d9e45d87d1e3fb79f9ffcb3f673fb0fae727ccec336d1278bbb566ba5a9b5dbc412ed7dbe449fb6ec5a8d8d6e0908b2441319fe9e3f78d4dec96a8952eeeb96123276f2fd12ec3ef5f37f3e1cfeaa66af9de33822b26ff873bf993fdbed7ef2f9d1b9c302883e68a72139ba22449f3e68ed8d7b7d4a3902897e128d8272b0794145eec7c83e4d2cd1a7f9fe8f3e452a4425d8098fec9f7fd9b5cf2d967d9ebda35a09ce68cd6ecf3ed87b7b7decdf435aa97309c288fffca0a394524a29a59c1dc50e0b162f27d4adcb1d890ac0ad18b72e571205c42d19b77cb8d583f5c8d32718b72215d9fa68aa458b0b0f261506c02d974659f8f811ce10c031c65f8f4b95ad5faa1c5fca366a2c979457b4dc51c68e59704bcb59586e8a0ecb15e5164bda241faae2d2586e28dbaab15c90cd0d4e4b96ad6c969dee44dd4903026166c034968bb26267ac4ca693ed643cd90ac37e78b9578e34451249a6fbe48e4ea6b1dc93dc59adc52df2c37fb39c1f7096a4571c75af989e94cd8db523b7ad0707c288df64ba6c352ecb329c51b5a946ea4d3db2c2dab92c8b442ab194508e59704bcbeda6b1dccfcbcd52d284ef7233557b186739d284712a8bac1e6b5593fad87c6e526a88a4a4c04c3a3b2a2a3527cf989cd14763b95b0dea5e32d2247fba578c34499b1b20aeb523e35a3c72c5a302a5e00c0c525d97e13496abe516b748cb0f0188f7da4e63b9d6e516f9e12d3ffcc4c6c8cd11941f6c8c34c9d3150854ed89c67231965bf327cbbd728b5b431a8cdbc35dee0e99072bb768e9e1f83edcaed86af830eac1871e68dc11d11c80fba19126f918f753234d125b3b3c1f1a286a88703c3aaaaedb3c709e124b69856585e92b4c36c5e516b9e76195ed3f79a3a5da93ef411ec6d56cda937f713523edc9a7b2f68fa6b2fcbda69bf548933c006ec673334bf5a98133f086afd48130e24ba5b768516a513a2e9130a9a5e5b766161eae0e07c0f5ce72656e718bdc9b6e8c7b7a77b8a592286b47d5d9c52d42bfc3bdb5235199d419e960fc2fdb21650fdfe5caac838bbbdcd8d2e2e22d5787dbb7e8d0c2825b5ce8e002bb5cdc2ca5d8725bded2e2b69c8585e5a54c073343c7825b5ebabffd56e3b83b8ccf8271917b96dbd2822169c50a56af12cbcdb2854bfd92a5c9f224eb7edec8daf932269a8db513237fd64e5685cea7e164f92ed3c9569f96caf2dbfd42f9cb743cfb653a2a1d1e6bf5d9892b4ec4209dbd30a206ebaaf51ac108466093861d7698449eba230211880006164aa19baaae83c41884852e9da5abb9cad717acabd60b530d394f566ba6923b7086f5bebe60458b6176146727639e981936acde76dd46da66edf6d1b4cf90293365a60c66066edba60c56afac86bb81bdac2c74864e4a9e2c0a41f7d599a3a661726af0dfcc71b4d5b0ac7869f4cfd875591a0c41f77539ab95d64fb3ac5fa20f74d66b546bafcbc28a60c7b05a67d75a966171b336d346a3394520b8ee277b3ed993471fe85a5ab808bdd60333c59c10ab573667e4870516babcbc765f8555a26a37dbb3549b32c618638c51c63bdbab50468c3e7d1ee9090a869d3ee2ef8725317982f239e84a13b77d56fa4a5fdac32e96e179ecca4fcb9a564bcd3072ab71448571d59e6c59a5cc9504ddec98e9444b2bfb403e91dd1de944458882f1413af613620cd23102f1fd9a3b57899d90be9aa38eb4893d983bb275fdebae6bf565bc8db73b0913674739f4a1cb77d57470460ce27a5309430367c0eb1742189fd4c910e6ba9a54c9d8e5086f3dc32877ae9a46828d0fa9ba5254a91e5275f1b2ad18a3aa4615106cefe428edb3c77eac69d4632ada943aa6513ba429caf481f449e55550c1846b9804156364b8e47ea97f896a79caa109c2437812febc151f3db79772617b3b620c7c8417e1afc283f00e120e7f8731341c53331c0871228fec984ca3a14bc43ce20ec8896eab1ef9e792a1dca8466510a5e8833cf4425fcdf9ca6c3bcbbe69db36a12c8d72a5f8bb1ecf02730c12254d42db647acb71dce35683bb85dde763591fcdfaf454229ca0d6ba82dc8d4332ee1584726271b1e33ed76eb5d871cfaeac91a92c0f42913759fe648566352dd3344d5e4a994d945a6b96659147a6478607d530f48b4d32fd5c1b2759863f9b6527117f5df75c6796dd22229bed6928190a0a0acae756030527ea8ca2d6da754d8bf1b75adb336b3d59c7f0641f4dcbb277d9b9ec1fade32c4dc6749ca4c9f19f1ab2756e3542353683a1529665b5d65a6b96c1ed073500a769d6cdecebefe82be5d06854ab127daa1df7b95f8f92127de26af6ceb252e64ea34f3acce1599f3dfba84f9f67f8eb51cadab35b2d97e8eacefdb2ddcd2585a8b3e8279c3e6dffa20e26519e274da213c9118a789afc459dc893d332dd56cbd82f7e9e210742e10c3359c7b241459953332fa2e9429267aea418baedf3f6b68a6d5e99af4bd043647a042d0238e3f355d3a05f00773a058d039b361253d1a63d1ba314edc9d8322ae83e99237364923e89fe55a9247fdbafc7cb1a38230670863d8fedf3f632c1e55fd95e9b11f673dedac30d8795db2bf06c45d747f4d1f96b990fc01911256ba429de042c68193021e510236b244a4a21c7548e58905ee0e9e4213d71694f747bee9facf111f32773629664e8ae2c43370ff3d7395218811de5c7de622664e77412263a5ff4428e79e2b8c47be1b98c52dd285ef4f8c88588d2214d71fb16e08ccf476ce8cc2086937f510e397e2ff21775a214196819ece4457ba27fb246d648223215e3b9db4fb417b72312d01edc61878c6118f7f8797c131225734ea20e0887300a8e41a03c0a797b42debee226216f1f1160bbe6226f97391dce11e19ced2977336ddbb9bbdd36fd706f02089ce14914842ff13aaec751b657bca04ef7eb7e9f3c6fe7923cedb96f0a01bdf9d07d81de3ce8ca8031a0377f727b803ecc7777bb157af3f26a10c6fce76e10c67c95a80f34cdeb30faba9438045623e62d66e2faed264a41c79d07133c84c8f01bbeecc9a603c258c15173bfc7952b207f973e51528a1bba0fcb7d1aad23632ef27644c6ece4c002e6ddf0572fb82d00c2d4d79048e44dab7703da810481d1b43bef576fef7781986c1f37066878cb717dbe5e08532fd5800f9aaf85e974c9101e7e855d160d105836e2b6ac187185302ccbb22ced3a3c2b89f6ac8ba0e8be5a33f39822d5108971263ed1271a1e56e83101180412d107ebd6958033eaad1719cbfad741eb48c420b090e3ad4369412d58215f3a2a9c21b375e862611ed186f260082153c81b0d445f42082184330958867dfa4a594aca5d74468430b89351e92e5875298d6467585767bbbc8821fb59f7f4669c15cb66bc7aa08634703822fc05c9a2afa666cde8a54395c3944b65dd6b0ab15ebf2b27b4ba7254542cb9829962456565c59d3435376266c8d6d6da75a3d1ef79f6a64b62a50ecdd7cd75a44d12b4e2e138ee7333c4ba33e34018dd9599ae30c9db95d39e65bdaaa8a858d7b5a2b262291da1f0ec584bb237a2215dd79eca0d4d3ef957af15f75a35eaaab5c3ae1c2cfb278d581c6b67e00c78a862a5e0da313935e69349f2278d4826f993467ccc4d1ac9ec4d964bf2278d5c2a0e07e4440cd2942382c4c95de58ca4913529697383934aa552a9546a891ad3c98c664ee3d5a462ac3c9eef8c745ebacb99974b678767d52363a44c2a954aa552a9255ea4a9fff2f2f2a2937a69ab6b3ad5363738392a1a1a1a1a1a1a9a542a954aa5524bac5670055770d535343b294979563d1d23d3334d43434343434343934aa552a9548a8766a7256ac2d8d49b0e67947395a713638786868686868626eeecececc49db81377a20d4d4f8de9644633a7f16a686868686868687a5a451363e5f17c67d455896a55ab5ad5aa56419cbebdb42a5152cac848191109baaf420c878726d6669e93f05346a266246ac561173a7c8d272b4238e3e4a3c3cf78429934b9fba4b127f7922ab925397995aad019a48a4ac9a34d993923fa8075a96acf9a2a9f2aa21074dfa893a6787a517a72e7ab65cd932b734a4a4a68845d57cd29b7664bb593dba12b75da9358aaa4495e37221074a3f69ed5aa9d14015d74b17ff30add0ba73d09e14f4e4efe5d37f0342444b9b510059e601017011d035928d6556df43b5cfb9f6b677c4c89dd4f939f6db79312481df8491ea9924a76a4142415be5d2b671ad5a4d62b15bd4be44e94974ea6a4b35492e3a79402f421d21d269c88c1526255ce3ea9835d9dea637ea3babdfe0b793208faef248330edd7b532fdf669516dd32ecddaebd7b5f6ebca6c54371caa4d4fa00ff196de5e269c88c1d6f5991377108645a74475d204ab9cf3945249e59c17cdb052ac5e32ca0c8b336a55cb349b691fd85ebcdc692e05b6011fe8c9f1966b404733c4f94093f6745092bf5169a49dc0193177ede035818d5378427442170f35eb44170f45b51bc7db41689236badc449ed407f07e35c72ccbb22ccbb22ceb8c45ca8239e59c73ce39e79c35ebe9f76593a992ab05340c94a65aead32757de84f5316408a175d92557b28a29e44e99193363a6445da6da848634f5bfd0c92a926109ce387d943768bc88b9d6aebb4163089c7eff46378d1bdddfcb27e383495e64e0e0e42a211b5699de768fb0434fce7a7a898ad108dd7dca7321cc6593e93fc993e97b5b000673e12b85d37d3595a915f1b525729f6ab15bfd45a69fb16b70d96aba21bb84d4518cc777f09aa00723cb77cb7fa6ef011008f97a0f8190bfbaa5949d2ba594524a29a597b3bb83483963ec0ae8f29156391ed6ec83a167377b286b42f77138a1d79f26fe22901af9b9fcd44bb8c139299d93c5add442974518728679ccafb840601b5810861898cfe34604296b4dba0f74b3008ce68ce059f0d01e7391d1e731eca14b6435bc5fcd307de84dfce0c9103bcd7159f39a45f107a446f45d781ede1e3464e8bb6ef2c7e23de44ea7a3bd28b71a250d643d255a9bf296b340d1f7b3a464f03aa439ea43a7cf562e8ca3d287b2d0b1fb5504884233743a1f0a41f8faecfa7c48b6377fe10f48cd07a426c387ea3b24c2de3d8479887e611ea0f7903b998ae4cedc8ac001c22df8879cf31b9ef887cc295779a75896b5da67ab51ba75e54cb1ae62a958167f41a48ef658ae8a55b2d6dda183e570b3914429741bb3c35b7aada754ead8439cf2ebf362f41786bf791af2f0364d5679a602e1954bdac3a5b398380b557a21cc42879ff3f4f4f37ed8fb35cb300ff850081e4218fa42f019a4af37667841ec27bfeee7440e1d084dfe581cc33de44e0e5d277f3d58c050e93464e96a67b9339fdcaf899bcca226b340c17247629c449be2e1c60274a36a414ecd741e84864e471245eea19d57465b2351a32ee410671b42c012a5b8b8a35b968a254ab12c17b6c7aeec8a665308dd576b40375c0ebaafd69092d4d8955d71381489667542667441d7652c836eb263a743dc68ef45a25cbe4a7a7971c1a09b3ac24a4272e868a6dc12e6bc9d2deca0a5872f95707714de21da8b2b10001259d0c40734dacae95468546a5488f4097bbc4aaa4fd6af163883d68440a15b7a3fd9d6cb65d01112899ecb59073ad1330e7457c52ee8c805e17cb2ed38256cfa01dd6c3bf9e37028d532488acca603d9805219e86e46273ddecb1c0e3687ee1b752a317046f6586379208c38fa63626236403abd75a93287336fa5265f849845e8e6e3e7ae641f3d088c9d42e890f87c843fb77223a273b6000c86c3819f52e8a25dc14f55370f678ecd9d77e2b4a7337374489328a6fb5e74e6cc011921c7c3eb6382749028172c2c58b0803e1b0b8bed18046ad1c2c5559991261a6035c396ac00b41deb7085c4982277881b12753f841cbacedf4b0904214462c53fa38f3090209eb0039c123ee8065a45e82cd08d10a77f2874d2f68fde67a73c8ea9b098397f69047fb2d598dd48a222ccf7fc85704dd1d0e4d0d59a514a7b7c95a24f2da3168f07d5f4a9338bb3983957b98a8c44b9f8c7e1806e705c5c951869c2e170300e875bc2f17048381c2e87dbe1565c155c132e09a79a4ae614ba8fc361008419b15c9599f63e38c2a01b69d2646c93f66c8fa60d8130b81c0ea78926448b995b0df81426624ef9b44dda8b5accaa3dbbb23db6892624fbd75974088308451fe245d764fa64cd20c76b43e08c98abb03da3d7876210a01b504aa2465807e826a652ded0c1cf536aa98ef6b01d9052781ef493464a69e8d96de8eed0d11ed481d7d1a76c3e94693a764c88a958183b97f90bd76e055f243c63bd9f6df26922c8f12a56bb33bbb4b8f80a813812f627fb27268301e1806efe81a10b74a40a253982707204e9e408dac91144458e75d69a48a3762fe8489b2206ddcca1b3ab6a5750f6274218f0b4337cb655f4e97322cfc7383fabf968577d820f5d0e09c45c25d2a7672520c4300cc330182c542aaba4512abf32eedce5381dce713938168e6b39c719c171dcc9390e011cc761e73822388ee3b821388e4339c7658ee338ae009c91cc1dc9dc9be382e0667003e038ee854371276ee51c07042783fb81e338017001e062708f1ce703d7030783e35e703c7000e04ae7b81d388f33719c0bce85e3b8bbac38e99c3d978345014624a00804e0b841848d1a431c0026d3304001082044103306f0823a0121e307010420860f3dc078c103004cde0e3ab070e182ef63142d2c3a964fa6719f284e32ed84dba2c032ed84d3a2d04e381b058a76c265519c705814f584ab517057142b9c15058d0234a300d9d29da04d6659c99e68b05bf19393adc68a5b880251e427a5bdd18854873c91af5f44a0b0282d27b5ae8a6556db3e5ca719810742b2bc0bcdc55d6c385c648851b61a56b5d95f362e482b302889927ca558a5bbb2e26a31973656499baebf903d2e2f5d56259241f7591b9b3e19e993e8d702b41c3e66feac6ae659d3a8394322cd9b4cf24eba6cd2a879d21cc2807ff3894cbaece993cb49973a8d9a47fc933b0a308274a9441a69d44cc03f792417f14f224100a9e5a4cb9946511cff24cd0d2248db496f2a1a456dfceb2a32a99b64921492492c721a4555ad82c9a437923ef54974d5521880d44732e973d23ba6511601feb58c104190e89246593691c9005e48a3931e6f1a65a14e24523ce9f1894659ab08c50fff221101fc8b5264d2e34c9f504efa128dba6648312693484f40a32e1b128c17a4f7b8d1271fd6492412e95ea32e5529944987ad65d2e775d25dfae4a3ae9c244fc2181aba8993a78d445995345d3ffeeaf5e38b01f81b5d9faa05e023f054e55080ca0855be3e57d76b02f057bb22f0d721e0ca5638666ecc1071652a1bf8ab356c86b0514954667300fc55185556e5eb742551d90c0dfc5503d05501ae15016684980962265f1836c3c20660612f96a59228aca2f057bb0e08fc8dae5b2b89c2666458ab1fac9500acd58c44d555006662ccf83093afaa52a95e609544551eb02a03e0b21965afce48d3cc6807fc8d66ae550b7c5dfc8d582e96eb21ce4585313e26e1af66d027bb2c285b8b9d61e9ec4c66674827dab6babaeb9d65a1ea321549957159671929dbb2ce3ed827cb48d996cd6433f9fa56e98ab4ad7a4557f9ba768d54a44dd52a55be6ead687361363636f97a4651ae266446ab196133116333f93a16836ee66fc6d4d5b6ea155de5eb56bb189366a2da54ada22a6bd66e9df66e67ab73b5b1b1a92b57d7de75ed8a49a48d121571a4e9eabc52459f46bfba27679bd550bea2265f2f11c9d7b154be6e475adc88e8bcbdce4894ad137f5d37da6e4c22af5b1badc68e6c676df275b96931ed5d17d5ccdb19fb449f4e7ed9997cddaa6aed3a6955f9ea19f3d539a44f5fb7e2769e42faf44526f902fd7ad49111494cd2a70d43f9c79234d52f2d469aae8f465d67536bd78d46bf77ddaeb8127af62bf7829ebdbc167af6a4eb23667b2d46a23868b2bfae3dd1a868234dd7a1c857a792adb611f12cbfe2b687adc68a1ab364d29d1c740bfb983c68b34fd68533e6ad9175ebd196645bb1443ffd914cbeae7287e4eb294fe4eb229a7c3d74afef455ff5a4c39fc67df0d76d373492d1e6d775db8316376bde680408e3c28130aecb5fef6a9fe62fcd26c3164182702206e9e404403093adc74b7b297ffd65ce39a594cf5e3458812e46796bcb11f18b9451c6195973c56c236b959d287f7426ce940806dd47674cd03188be75ba245b5bc8d625136a93ad4be6b045d8d7ad087b59811340548526eb5d0b4651648b452a5bd1a2b1682c1aab5eb686a44fbc2095a233d2fa843cd77dfce872bdfd6ab6b09330fc4de843ff8a71d97f31635976557bfdc2aeb77de9d31763c4fef6422f7ad18b5e778127fbebbaae1c17ee8e41229db93ac8245ff8abf90543f2f52ea6567c2711c66b8f973eb1d5a033ed5917b9a0dbf017c3fef571469aac5bb5769d85bf519644da64c518b2a63deb3a29d1196b9d5a0d6760b7e80ab2751b7356bbb7222e3c3bce488c26d65c3396441142c7a1e31087c0175dc33ab918bb7584904b264e47a1841046d7c53ae727488cf20b16fe40adeda35f5c4117738cf27e9787f5b6685f2b67ccce80488a0e3e0611f3bc266f35fe66ae000e3925182c74f9a42ac320be9f7d442ce8be1779c67e63683da6e22a4308e39335c875c3d19751d6482230f75581982ffca23d89133051b2069ae653d8bc21f1c8fe9b1d69af65f2ecc67107c29827ff3e8f344564ef5b5b1118c89ffcb9b5f0f5215f4fef8ff8b95cfacff87a527c8de751b12dc7cdf1a3efb982e2a86ba4a9d6a9721a0d9990486cc8ac82bb66a28c6a542ea2e946a2a7844028f3f6dc55ae2c43673de6af793695cfd167b4b955b9f1487bf3a339c2d1487b9d2877ce0ccd83708e3f9110465fec8b40f01163cd3c14dda0eb47ab691876b222430c9a2e6d9ecb5ead6fffb2679806d3b86f6634f1357dea2971a4692fde9016ba4f84e234baef075f52c019f5734e91e72f1ef23f7864b7f88b3df3c55f1b8ef8fef3767dc4a669eb3e5f3eda0b70c617e2fc94a932a421be217a01c298ed86f9fe409e36b20437dd0361ccc89c192179f6903cdff893a9d839e2b8139fa089476c806024eec88eb3e3ec38bb513671894d12245dd3a72fc6159168138d886cd0add828a2fd93b246a234dc3dba775923c3236d9a8af9ee99a21a743979129149e00c9867955d8d1443270fdfef1c55c386b88886d2f0905845d6dd32274f590361cc697dd2cf2f1ec9f393ef8133ece7db0d7046fc94eff8eb32befb31ca0ad4fb6ce9f5112591f6a61479de475b1903384306714a1be47918e50ef29441c85307d0340f041993a711a44c8ef89333795ef274f5f13ee2bc35db9bd94d407bd62dae35793e4a2479c688d53491f926439e8d2393f626919ed88bbb8c4af391494ff9def9e24edc69fbd1624d9f224dccf3d648ebee7ea49feb7d3f2dcea9b5b55508637e73486edcbf3623fa9209792d5a8590786a4ec420559ae26027a5724a3cefd442273b0858209279c8100a3a6cc8969b7dfafaf3fbd1f0fbd1988775f9c61b0e0bf3a06f227e441a3d27ae71850829275ef98fce38e6e1c4b5add86ab0b2639471cad35b96f5695d5ab8e274d5aaf5aa968bccf1d0943b3843ca945dcdc832ccb26be66bc6781af3f5785db7e44bb666ffe2bbef48f609c6371ec512adb874ddcfe3bd8dff8cbaf7e95e2fb547f1f108e6d1ed8ab52f744840468724d325b6767da2252043a662c8f4a1882b9c314609fb7a93a19bf9a33e7d3f62ee5bb745582f1a16126b8e648b3f88e35df5baaecbc2f0149f975fae8a3d6aad326c31e9468255fe7a04b1c9dc5dda83f3f688ab56cea53dee457bb0c68561cb22e6edd130935b6408052ad0e428044e8e900dc038c40e99d925cf8963b4675f629a682fa6201a328429f5020152abcc76ab33c41064da048718c24c7b307f356f1793f6ae0bc725a10b5f33d785210cc2c77fd43c714c6d45d82230903bd35b6bbfdd1f316ff69339d1da9a9a6bcb71b36c9b3e8972a4e931d59e4d4cc9e70f6642664b85cc8130e2bb255fff5a40b1c35f27c239d2fe335a7197a2c7fcc999eef192a64f51874957819a31cc449c43b6efecf521ed45159ae657f27327f4e6ededaeccdd9d9727975be8285ff4c249e836da744bf2bc35820b9ae4790b051e2ab2d57424615f648c2b6a41670fdbb33d6a151d6c92a790f924e0a401515147f6008338f97c0c2803bec053e8f342c093e8330e39fe425413d0143fe51572fcc7227f2979fe035132673621c77f3088ce893ec4cfcfaa6df3221674df0a6c91bf680f73cc29449f9808926dc0f62e00512cd114593690a328cf529e9de72d9c213f9fbfa084270ec279cd53d8d339b6c31f97af7f1c863b5bfcc51ed034a30e9c135e9ab5e1883652b4271fb71cf23ce66974ddb61b5357b4e9534c85b4d0511ca5a038da8856d0cdb62be8620e4ca244562147cb63fb8fc81dbbe8f2e03e6f2fee7e315fff187171f7ba3e97bccfb6bb3e620fc9b20bab5ea8c48cb6a5414e1d1a1900000400b314000028140c07c4c2d1682c8d74590b1f14800b8ca84e76561ac85990a41443c818300600000004400000921000e07b4e75e5ad4e33f1eeb5040e1e940bae6d452639c9c2ba0c799210403509eb8ed19b4f1486751413d699a71c1bcc0feb880bac1bbb2cb4280ceb6826ac334e0147c417eba45bacdb661732130cd69126ac936f09979a17ebb8e73047bc01d37a47d4562a8f51e8e01ead138cb1b88f5029532461ab8849278d8b7547cbe9ce4880d88cd1a040c9841ea366ac2100e2e262b1a500df9c920feb54e2e14436b7fc72f292cdbe4e2e3a744aa629ac63cefe6a1d566ee6a2e14a88153ad0a358a20b7dc4063ad04becd0037dc6063ae847ecd0177d62051de8416ce8863e62111de82136e8863e63811ef42316e840cb33feeecfcac4eadfb08327b4b0b6feb445f20996e656b888861d2085571c21988fc639143e5ca525d0b8b3924f0de818a6713b371cf0830b376de2023506cbc43d87bc700f1e65a0df89b9e1944f8400bea0017bfd00e20274b8ae170c655b78868c09b6515415bb70f22af56a2f4eaf067ee883d4cbca1b746038af5b3b986e4c6b250db4667a2d9264d750616cd1cddc08b3393462da618b4672330e71cb0beb467ac6474eb4a33face522972558801f58cafa9ffcfc0958581a78484f25b21b80d1360d631d285fecc4229662109b58c44cac621183988865c4622f161020969281af736f85253bf685f8281f3c24578fc8fb6d5115585f78aa9efa35e56dbe0bb2a0cb17ebcace2f4ee5ee858a67db6374f9c701bac1a3f52ec9d9464c8b4b731e9107978df800e3c32f792c77b0f1be210097ff88f6cfbb022f2935cbaeea431761abf23c06343fe3c13f9fe415a6d081485a2283570629218a20717ec14ef71439ae3b61efa7aea5494b03debcb1cf160091b86672f36f1ccb3d9235529c6129f2af85b69e94e0c36638bcdbcc7010a341610df9a8edabf8b06d30fbd23cbf58c72f970dc3e554ad9b8fff8f4141415956269a1cae74c904381256e09f9178988d58d44125dcd8ed9b347b50f5b586021dfb89389b15230318961657d634b8d0c86270c325f865a00dec8e2bb8d346fca431aba2d2ba3436bae354508c4e435707426f5c6bd126b8d3a14a8a901ab476e326a010bfc04067c2bd6a58aaeb03be87aa219a0a2b25c4db45fd93121b751f588589c409cfa939a7b32e05c16868097621da7ea9787bad4972a218a5f557b8f9a18115dfd9506e682049addf6accfa1caeb670faed424a4644e97e313fe3e50642620ce311cbb7e2e0fcedfd032d5222f63230c4aaaee36f9b3740b7b64b90adf74051786e15e32dfc53da2f1ae687fe6441ef2dbc70fb9f84634ee1d38ee7349023056321d5b601fb58d406ea721d6f6d059e9a9f434ccbd71ea7b6c6595e3a81ba603bb474c6ea6b1b41ad07dd93eee0bf14ae5d3e09dde9869979a3c994ecf83aa4d72a438704c6bb1365414579a7e23daf8d786cf85a76bca02c46ce40d9048fff6013cdd84e7a89ec6a672cb28eef0b7115963e3ce58c3f101e86746b8f0373b207ab2cb1d3a44b53e0e5c027e3183a4cdb833182a91051ba723ad1aa4392ad62b3ac56cf1e22a910bdfb5c79389c9d89f94eac8603ca03efb508a54436386058fbb691a4ded225e1503f182a2cfe49d84e6a45868b50e958229242210b03489f768dde802ffd182e6aa19d32267b2a346a92257704dcb20a9ce853776426ae61ef1370940d293e4923b1ca76457b6f4906faecf5b6fa24f03a26fdde95f669bb3090f3befb4bd5aeb79ec11244cb6308543cacec046b5632d13bdb0c6b146b4e67b909574bdad1d5c7a8a920994f4a504a4f983d5e764addb9e762a4e102f7db95454da30e906b63b10fd31485429486b8166c936b31e4822603593c09e0e9d41ed3e0b68a51c208a86bedc1264cdc4f8d83f4990283d102544c01a3e1d179a918b9914522aa1e17553f5108654feb5d0ec2f66ba50b626690375810806f5b637b9be9fe350f7e5ee52a3f067d9286f153964f931e6ca5fb373aea226fe20457d04c490f2dc4aa44058acff853e8445a965a1cb99261b9ff45b1ab3ab1f432723848d1d44837f273e9cbf047f5e90d450eb1eb1aad59e9b7b5e55fa9bd42c77751ce353bbd66f55f6dfd080466da468c155f572184ddc956f43231b0b68cc6ac5c5a2448f5f8525761e0986a0c42f05d6db2abb0ff0c207f850a09f0580962bcf002645efbeb444068ecff80d86ad592ba183a6c2f76c85b7fd8a3a049562a9ce428509c9f42a776c0151912eefef0f4bc6750459d5f3f8a1abc352e5d3a8fbee81f6952d5c6e12034cf5076ef760d83a16b180ea24ace7244415d9db9b166cecdc41a45f9b87d0d99d5340c426c29b29ff6d71ddf6ba15741a42d4726c34fe75c46ca274a5e46bcccf09333f577b2906199a89b0d0d35f506b963d4667e579249a24726e4314de36d82efe0631874db6e3a01f03e0e99dbc777cee169cf4edd27e56ed02a636effee23317b2771555549a0700872e060e03b3597f04b984227db500b5a3bf3c1152fce6bb05787be77b0b34629a3e9d80f4532a8784968756bd8481d52a47ca7d03799fc49572c0c95491d6b0fda6c54ec6a100881a92a4ee283cec7bb900a0470797147b0ce9fffc018c280d7e0ce8cf01b578f5ad7a5903ab92b1962ada057672709587b742d94cdbbd19738fa6ff0fbed6d91018063f2b4e3ea75ccee303970bd181417dece860c9bf12eef3377b4eaece9b1db4d577da8e06281053bae437ce75a22639aab9e48cb84a760cdb6fe9a88a014a2546cd6b96dd241d0ca036596113a0f33c3647ef8eeeb01b650490396b2af0ee8cab185ee90e7a6a261dc1c4784d8efb1a8e0e1d099e82148f3897543a548f478cf7579abcb1239d5772b900993a45edda45ed8c80afde36217ef0ca9e47272d20f7aca648bc984d4a93d3520b0850269b7ae7ce037953cc065fb57c6d329048024e767d079a13a37144b6969e69a5f34c9933b53a5c5e940886bd3f9935adbca231c305f2eb8579efdcec69854f0f884ce308a2e16722a1aff2893ec58d5492fb2927eec2304a4e1325ca8ca685186888665adffc341d2b589debab5f638004e1335605adaa182f7c488ee5a5e4bad2c7c05cc991c3bec4ce90e1f6c8241fb60970c5b1715f5a8794f82d8de84a9f6059b3b99853e561939aa36c03fde14aa6dcfd2a4900061be6a7f590c1674a1e23d62358fa7f82934483f77fa373327a2532f5a732886cc41cc1384037020651a9cd3d0e5701865524fe4571d82fc2b12ae220aac5b520727a8ad81b3ac25f51a7022f012f92f87fc29490f84458809008720432f7d6c6fa3d835c96fd7e408d016d10ab859c1ce5b5f1652d935ff4821e7064f3a68501699d1b2890e6686ed54c054671b77ae65ecc1e9518d3366a931804b781bd95bb5ecab1650964a7ded1f8b92d5e6901d5502a5de820d316cf7973c0bf47bd810c96291f85a9ad1b2ac8c5a47afa9f4999fb74c84512f0d024633856c8354731699592ba05ec7b9d949be16d1b0f750aa623f53c03ec9731a81a448d20ec67fd7280afbb844259859552555965455527d6b78313b8826570dc4d006e413103529df8ce82816c5dca6815eda0d2bd080769a708aa37a75385e0264f7cdee37b12db055ece0aac401edd91d4fe2ce12b2146012e0ae89184854bae4214babfd160eca33826f1ec68e49e0b0b1bdc8da71733b125c8db933d37cfe89da6889b73fcc2502a0ae407e03331a8948a5188dfa744bc99693e027d7c00415a99a1eadaa0f8424225336ed9c21adb6389a13983a8ca78634c35b3afee6b63dc506e613701a2d3c12201e724a75a278a6d78370d49b9fcb1db76d380cd75aa211b2c66b88b5e20ce9ece7a4c104c0dcafbb922aa6d519c4c4d6b771b6dacf876968df391aff4b8255e84c75dca2a1c970d203af38b57e88a9e7bcf5cdce34fc7131f3a4f650867ed5930f2c49da1f18d8edfff1f9a36d9838eb4204aa85db24e36ff6e7cfd42545645280f7bd07a44d0edb16e2a1768bf6b43e160885c6a7de01aeb3dc39fcf38cc884e5b05530c818beab03de9c79a05d4b9460d5c599110dd87f1852531b9cf80d305c9dea7540c2220122f938f754012401c2cc392ee5991bdfe5e769020a99f27f4678b977204aaad919b4208db41309d190b9adea57bab60e83cad5fc6c59b72ccc88cb863f85ef7262aea8e7ee44c8558e47d31770c93bcfa33eb03715365453b9264b63dcbfed43964cb8e333fda00a49fa08b08e184144248ca4f2edf159506737560dda71f0ef91e61983776ee568f66e83568119a5537fb04161712c1a659835e9854a6127ce7c8dc64c14280d684ee9fc12b084be4331ccc492ca491ed2ca58780f88a3ae42430066c8b38a92c9fb3f45f172e9a6bbfcfff87e0dd2923a034482d69b6475eb14ba41f38d72124dfa75b764f50a4d5311b7c13c177ea5a4dda5806809b6347578ec772136fcbeb4d765e33ad794a9ddeadd246d96dcf6d8ea466ac7459197f8281b57c70e3598cc6dc98c193501b33a264393e094f0753588892c36232ba40e399f692e736df58bd1c2a5fb6bd2a83050480da0682fb146a01017c69ae58ed32c9b4f59c718883875f61d27d0f5f5e5a42afd7ab531081fbb43678a3ea941922a72b8764c3a7c4e21a736ef97b03671d256266e7dd8867403ae4d38ffd02ffa4fb748a3b460d1cb97d445e28e2212152cba42013a0b9c9c2bf22d8ce8fab823e1acc1d4040ce318c0f23685757abc4283346dd0c5a74009b0584dbe8c08192ed1212741a098dd079750fe2978e2a04839448599e66a1f9d6c915f776a9cd7acf95d2df128d10da116d0015e9016500d511a61184a3b59924fd45a1064cdbcb68af2fbeb226d304bfa636672cd5cbb5148d153635a37a6763d0c3b76b3203d3833c39cbec36ce157ed0e7beeb906183f0774e82c505ed7e908a8957da49b6d7bdfd7e1c9c6f2fb8c32591fc67dc871dfd3892b6dd8ffc6af741b10def52b4f0bc5c52307c144b9cb235db5d95ce8f4a2ae974b74ed104b4e046c8b0c02c5539fd98c8309dfd808b78f110b077dcb3a4423c7d6f6e7bc220b9aecc8b46e3420d37fad408459b64100d6ac1541315ea06f1f67970a67896a0e326f8f9da5561e3b834145d480aa4b204e35696c155712aa14f7c9fdefb35bfa5803e00b8278d683757b34e4405923e0db2394212a40f276cb54ad1098d82e538b50e5519e16b01d71bd5f62dcc3dfef4b82f327f9010efb82288f6187e3e97ed2f6a0768a8070f6f2a232abbec0206225910072791d461e9eed4cebee18b23849a5c0e6c4822f1bac5b39564907010d9830fe509d3e51e34a9065fb59f42e967df987607b320d1e1467e11b44860539d74ba6e6b7a338df793e9ca636eef688c519ab1cf045acd1a638b943c0f3f7c004200ee8b6e1108e5c104d626d8ccdd57d347bc5b7171c8fd95d29337c19f28db4cc4826ce0adf07e81512eda23e0fe3341f9a6fdc5b28eee52fa28d9f4d7bdf9701a39038695aff690623b33c3261fb970300731614106e84ddd97c046d34b25e41168daba699b28ef6e14a8cf800a56970383979114ba178910288d10717b0f870af4422e664b10eb099c2aaf8173e3250323de1a796489c5c5b60da842169e6c61e732a8d1c89555465b59863d3147438b8624e4125225f05cb279eede3c6630e855b65b46adff49e3e3c930fffd4172507f15822f9a7ccbb9d4f3cbb40303725283b3d741bd54fd19ec5ae73b1a8433e64807d0fe1108a325df2dc6d048165a10308000759005a5b75883b46b5d8e4879af20254804201182ac795631d392e57d46d3d654b47e4f05971ed0e2f86d2aa7f1d939b79404eec6d8b3292ec2531a3921ec41390a0907c29073915267520f3206d99cb81a809d243c3c3944817c8ee1049ee49fcccefa85c07d6326625e00860a64593942b665cfbf1e4d9058068dd86ea2df730b5f585df5d391ab6037f381262d6e3ae9afb972416628669d684344fdf4cd68017c244157307704361d89448251782285768132e62632c953c71788222fefb4930e99400e580eb865ab054114fe5804fa1006c92f323720fbffaecb68e3c2403fe4ed29f5c1f22da6bc8037f6bda624a4e03fae576750872f8389ff939a3d0c1bf25793dea81bc37fa1ca730f80e018e33a379c4a36057c333356764d40b809a379f7cd3ac05068bde2dc72cd605e4342b1ba305f140c3d0952d53adbc9e726ff9067648117783b003c6e5f0d7711ef38e40902265ea6c07b178e21d1b74320d78e079801ad881dd3630cb665794f494ba3755561900828957d5e8867d1533142d08005d4690d3ecbb143182e9405d8b69ff59574f1b9a3a664c77908fd77f454b0c3fbf33eff384d40a781d503704dd9d2b944b65977883c0715c96748b4d65ac811400b08b9ec8700750c582bd50ef18febe2ab808677d407d46934105899efd91620c090f09063cf44417f4daab6a400068ad737fb1af3668d5f6b6ae3e37dc195322a4e98348bd1cf120471108e86f37aa3617aa611bcd1d9074024c65be4fb24ce16d24237438a52396f40d7aa42a9022bc244ae71ab067ff50082a5739b411fa351319e4b34b6614f3f018316a3809507ea300f4ccefb53a6c0e568957e42f40431af3fcf32f415f1bb8055f60e9f56ed51cd08a32203a8f94637855e2d5eaff6a1c00bfdd683902d98bbe1330604ca53d095e8372ebf2103613ec4615e6104181a9712e0be5d608f73ef4eebe46c85bbac580cc21148fef077961f707d01bbf21e2870c7789dc87b3039c54364ea5c47a1c7015dc4dd0d30f954b21749848b9756a88879cc46ebebb48fe77506e02557c04290a54e1e1f0613c58bcf2961b3df322510ad4efa1a8d17709d19d810e1985b048e348da35df40d19e1edae640c5aebe746849019c89349aee310d4cba0c9ac025546091db7f6a30062f3ec15b32c77c6a5b6cefb3ce9e3ae05266dc5753d586af9fe7a85b0c837f2bc725732e99f14261c153c7415834be8cfef83d0230ba6d14baa2f32a8119b8f53662373e28520dab3a8ede001b16cddbb0f291420d36ef151a3d2b4942d396abdc33775a5785293988d4a632a01e96654f91484ec890e37d56567ba97429562f17011f73aaec6710937ef86a9228b4d4e15359aa7f30918cedd23b4ecda04b9d0835ed67ab65c057c92cff386fc2d7f2622ee00e04403f33756543fda0d0eadf544330a33b872ea132c504fc9742f7ac0884a772f7fd13d78c247dcb11fc7e9b1c80519b9137bc7667d1d93ee1caafd9fc19e49b1115431d653766365330590cee940041a4783842284f4eab27be66712feacfda2de38b5603c9239fdae93d105f9749e98f377b5971901220403fb717a0f782e33b3c1f065201798b51cd62d63a50bdc7cff33ac4927c2114e7b237c41335b08ce455f8922aad3607257f3a831bae27ef7a06445c76bd4ab83fe04b6b3cad97ef8613880703ba79fa79f4050265623d33fff3cdc518e541ce95fc7e57d67e318eb9e4b832364c24a21159e6a8c7405490e9525100da00ad277332b4c18d922a45c4302a8236c8e697a8b5459fcd3f7fe503dc9f283d28320e7c17a2b82c049311f49e18892cb6a3cdb2cdaaa23cfddf91fd8aa576822c20b6f0a8e7aad29ecf529dfd77c8f3da42eb3fb4fd52635391c05a7f04941253e8477e963014281558a78f0e23b3df1f321c0f7cb12c2be58fd2117fc6ccd10ccdcaebc3e6369a1a3326c16754834f10300f1c53703fa81e25704836515ed48cc18c2f554a20615312967269442ec029dde391bc016282b31d456ba19d5ed7cef44e8d0a1a3b379e13a1152177e7292823ba76767a4cc43361fb1a5b540bd41f0cd142925aeaf260219e4e61dc0c02fe2094400a24aefa193a2d8e2c4af749645564c6053b405fcaf34fee0807ecf7c532b006d08a46d6f0360fa8ea596ebf585caba2ee5fb170b48405a1cb53f500f049dbce74ac7d5aeae5e74154ce04b9ef428353ea773efaab6e4a2bd45866611fa6ac369b4ebb17a3a3003169c5d5f535dd64052302d4449838a803d4d688b1d8f7ecc43dcaeec41428c06e89eaf93a8fcb28dd96a8cac7a3b6e0c02c2cbb06b5c11bcb6882f494151182308eb5759ad87147a18c6c00695d38b65dc151dfd5c394738ae0ee2d42da369244b787748278214009a8fb12808a8e83d4cad2b1f6865307a01c93527bf492dc321242fb99ca8ee5421093457874717744a44a82fd5d73b7d7f2fa00f446566f870506f2c21b63e8d5f46e59de40ea01e86819e568a00f6fb185bf92570d3fbaae92b2474b00fa6491a054997687872e8f51a9788bae08fb3287cbdc3ef9bc538ab1b4210c5e631363f91cc79c5b0e0225fd88065620f1eb822d07f5c04e27374fa09cff3b21c1cb4bbf45f13ee79884eb785da93e6431b2d015777d9da84c1813f425305b23029b31949d13cb98de891d529981715a00db9848617424c7a59da69e6c16949988f0ae6016f12d0543ca44a51b2d2034fccd52e399132273e22068ca94a482f114986d125e4423d5adaee4c1c83f362185228436e6726042c3b4b0b2762442d5af9dbec4aaba64c373ec1061ea13db331715d678c294785e12ed0dfb4261b326b42d4c1f5510a26dabb85be7cd483b0c1c5b841b6d966e6881d1975365e28b968294bad424279e66c1a41f990a26ce9b05484ae857507f0d31d620b722b6f1f6d08a900b7c9fff26915ffc810a39707b89cae2c19a4951a901233070b2c8f4b88654bc09c9e887483d65d473a3d66e473a62d091871ca26e32238b69c47b875ac0eccb09620d591bb6cce23707ae555502a1f9e4bc42d48cabe8bdd0ce05680aa8c80a0089eeee8df55a40022cd0a6a2f74ff9daf454f7246592d1c82974f32cc947a020223b3568419b60b122cf9b0bf6597e773463c521d0c724a9fb7900268a53230eac48a6c30957ad523926e67dd6b908a1ee54b1220dcff1d6727ff7df532b706420a4ca8a628f622271b915d43ba6f0844dd0866b6e7d78b090d21e9dac26c75d18b7c2b18fe5f883024e8492fcbd31c6364597e2c73546eac38830cdd8fa355bdc60e158860aaf8ca6e26573265ee0a33169cf83997bb2c2a857a0de30ac1c636cd139dc412a571bad259b09c79a403ada325b811c278788b47f598b57342de9b119bd9b1c72a12f09e7dcc757d30dc001bcc3a4ebd37c8088bcd719f9face98505d651b9d60f02b778e48efb194978cf9eff426beefd4f4e93d1472d1fbfe174c05b203ab7f882fd4f0d4e7d502244f6f08105696454a0bc8ada1e153eaf96c95a96939c08335ec706cec482b2a6bbfbd8d54077d9b43fd7b52adc224747b7544f033043650ed18bdf96a3a5c1083bc6945d9eb7223eabce7ed2adc7867ed3dc84752a974415f7d252c990e2488ff450e4acc640034ebaf2dbca0d571d32429769617a12196ecfe68221ee60eef1fda657d8b73efb4f019a44a76054ead5921425818159c721bfa03357b9089d9e075787129ce73c9d79b0642fa8e4ce488e6d1139dd9562d84357696a78bab5161b6e943090822087defd718b86dced378940abc620a10ce4e0a1602e6417efe448324e3197a076c1a232e7aca2d882d6dbd71ef429a3628595af10ddfa80d0e2b4caa5b983ae5cdd23a449d76bfba0aeb1b509ba8775a68f154846b45ecd67a198df4e1f4b6bf0954623d3be55da888368f171a161bfef9d302fd69de768ac7266a6de3a933ccde80465b3e44a473b34ab8c7f332d1570033358805cdac915db3f0d7f560cbc8b083fcafb1c3758a487dac671023dc8262b94f30c83874119f2d76bbb3ac3e5b66d249880b1523df3c785a2d80634bd334de5bb0a42430659dcaaddbf23ea874fecb205cc0f0fc27846b210d3dede302742a3c0252d88acb894728f1febefffb5061fdad5fb207759b85e751e152a0fb55e454420da67e6d62f8afbfface74537e1e39c23bcc5b5c6d67db6a3b95c3a4e6a04200d8996d1cee90bee1f94c66e9db4d81fe2bd5f4b11a9464901e0f75a52091a7e9e83bd7643fee7b0a51300dd68cc4c5227e1ca01fdfa5465df2fe28b0118ae55ad0364235c53f7c70e9686bf9386fe2b42279fc9d865a52b4ad98a873c0a0c4b78ef1bd954f7b070b5e92484ddbacc48c363ecf01eaf62b4e85241634571694111ac0507a4e17f7e6144757caebebc50f5585cf09a36273d8df7d186effec561a47583cf318ed324fccef900b13c04b3560760a6037a8ece06adff2000c03223bb9d8b0e026d584782ff5135b381bbf8115035c9cd4e6dabaf3eed0ff3f20c1d92576fa5673a23d63dcf46a968e59ec60c43fd3880401445bad5e96792173ad3cdf51546a26cff382b7f44ba0d8fa1e5df80dab6acfd056b1971a3de65436c91330d7fd295e27fa0b4c917d131719830de42e3c1269e71035f76419cf186e388440ea138f5f8a46b800fdf03a4c569c3b89c0d09537fed0a96ca748e4f3bb4623d1ea37ce8b6f06d569b541cef33f4737733c824d5bf1daec121f20dae330e584d2224b2d4ffd9544cb43eadbf51c94914376ab3542677af78c4c79ebf7f79c467ba1d01da7c4231b9c2d9ec250d41157de4107ab4fea34fb7d526188b8cb41034efb745bcf8440a2e5ef50a8e4c69d70ad109fe0804ec28d6be7ba484ef3fab10cf65eef0823ac238c3f73ca3ea2d6e40c20974ccb4f0a3fdc79fd8d95e3940fb111600222983e7e0400ca35d57eb83da153c2cf740ebd5df9dd40d4fc7a4b363ea59cbf7131fd2e47ec3ced3eed83ba43b379e7308da16ed00f6aae1fc5fe015d3daedeb2ac8ebe5970374c0aa1a95250efb2746876760929a6d0b72bd8245270253607430b3a2957b633088e50449e715386b0cc87dae2daf28fcf5f976c391ebbe169c74c090df390fdbd92c773e66e22deb90a18d669c8438a92ec96057cda9fb1dbaa09df112c3fe3b6bff62cfaa484b6b6f15d1b72e18fa72390a764f881cbb4036e0297961a05d0f7d35a0510359ba28090e23b861fb199f843100d5d48a19e1be067f4f6cd07072595f726880ec3df770882da2663bbf05909c0ff05a8f7190ba8ca558b377f164560acfb76ad2b5d37d266548c4ead526eafb62a8cf0680b17cb8188f3ad55759e58e720b12f4c5993a243ddb970c2c94c49593315db3b6eeb79b210a0ae0dc5cdf0e19591227b0e1ced17cbc1ce1e6e7cbd72a7b61807a68848dd8b590716addeeffcbfc035f1919cbeb7295dfba49a8ccde3952c2390b478bcee4045243909562f65d04c28d1b82d78809adb35534cffc187fdfd757c7bb1d60a6e6f8cde9f3295a9e9ababe0f6db72d624ddcf22675dd2370a9659190329cd02f0c143e7ce92c16e3addcc541dcc7257081b10e095f1e8086c55d1c61a0af9499fa352ccfb0d6ad3a56200792ed1c84e65effc5289da67906bb80ab3aa1b9a8062d6f61c7783e56441c53666ea007295a0115e4232222415724768fb53dfc84792d84397a050cef3a848353f9f47be82ebed6a2cdcd71e69b008eb7a89bbc34710834a5fc40caa7f972e19c4442186a371d2d0f82fed505f9eb50b02f4059b17987a25b5f417cbf39516b5774578835040717e00e498033f016660e5067b3b21bd5a147e9899d1c19ff873d3c160212197d54893bab9b14b1101eb0d52f121d1fb842002e2e00861ce1369589c958cf8e61c22595226f63c3e48bfbdf3b2da4fe896b8f7f545a47673880ab78fff2ebfa04657c14703a3571e842283d975b464ee0e68494f072d5a71d068e64cf06a60ad9ebd08f19748c19527a4b452d4db3041b55102402b302e67a78044f5457579414eff663946e10ac3d9914ebc76a2c4ab5c8717919996abde3813ca6930eafe1a7d11626d3810c33aebbf26c267bac1d161bb19c39dcfcdac5587539bfed13e28694748b222023d1d934270917840ea9c683634ee3b2519a090ef9488815bf014d53e06801a4ccd13c54041f9e12581c968d5041a018dc60a7d01e6a7dbce8c022289914e2225d2b41ddd4af6bcb61d5aec5c32669c5f128159431b8be10c161ba677e6574565ece0d057855a5d8415623faf1b6fc54208045d84209ab5800e150564c0d448803987c6bf17797f6d0a982f136800340d4d499c1d0fa436a8724033a0515fb489d385faaa4529ae84478cca079b8c63d51e140614ef8b48440f969d5ae60d805e23a12be65ae503b42037406551e0038602a207aca0d7bb6fc0465dc796855345636ba9df3c0bea6c03010bd59ee0451ba72bc8301a8b2f44330a3619673d424092e9dadbd4feccb51d08ea7542aac65c4444a98d81ae1120d418520750b9d05951887c532388ecac4e4863d0d9006038e12cb592260e135e7b7dda3171abf7a0625e02f41a098dc6a0d1986b8e80cb558056b0b0808ced92ebae95527c264043cfd81192ef978b8ea4821d174fb8046f2387c640bbd36088a51f167644afb8143e306a0e149b500e7389f5cc370e2d0d42a398dbd77350542f435d99fd4760c5a2d96adf1bd632d6814088b63401314a7388784ab61d16c8c646f86272c072083b0941eaca7518764019acc2c130554699a0a1555b210ccfc4b730b0304bc3b3181311291234e9a90fcafb8b52405383d06a048ad07091fd1f3144c6bb82a19f7065b2affd1cf4a1412a1f48d6f93664bbfb629f56bc608bea0fe6210142216431470f10a4cc378e9d7e047891cba63864ff9957c488f21daea1022bc01b5e0d37175b4d9628f1004494e4cc28a980d3ac634d883abdbb5ebb78e27c398f481acf16576a83331052a6ea76b2276bcd07e9d256a463cb83b649922505c4dbbbbe7234c551cb2d6b751ed4b602eb9119a39be408448511025e97bbc94821fced93aef0ecf70357825a273d7effb1fbeea372e41707e04798409b8f32c707110d6029fba0a734aa39327845eefc6924fe35a0bbf6d41439774600484ee70fe25cb0c2d07ebe8a8b0c01674e3dafe06282870ee880291ab45a2c6679e33f8637c0de577eea04ad98e4072d380fe6259079a8a5b8df22f659e2a478e9543d6dcb255c4e31cf6a9fdfce7716383a830f8ca3872e7588855baa5ccdf25e961d3e69415d34dae6c5d81cff18aed4d800facab9c41be7323352b8804535cfd62e68d320e2422df6aa9b7847f0fc28e0c01efd25a241fa91e886b8d07be53d80d948b4fe930a2a6709980e1c944f4838c63b8e21b41844c57315a2f8f4d65d7eb189f10791e6353cf7aec87fbbc42ac77e39d2c934a2765e841057b822fcc6ceddfb16653d24ec22809a6c427c2a864bde18b23acf207322743c5b59479f49984c01afe5689f037879c1e107ea3ca01543a7fe28cb9ac648ff2e55b8cae187c7a870151a1b625f66f1a0aae1acfba39bbf22a21833a408c10fd25c20c44243e40b03c1ca07e1761062534b0331bff7a31a9427be599679087c1e44e2f2171f76ca75d7ff91b0a5578b14164bca737f4222d04de5c433bc9b90acb6cb6e3960e35cc9a06fbae8cae261aef69e51dcc874f6b2470d61c2ad4621acc1b02d730e116738bc16622454a66af98b75d784dcf1e0e773ef7cd00d4a44ddde7ddcc44e505e8e4326d6ba0c00e294063e29edb27052fa9160d272d50cab6f6c9b980f3b3fc9071f4ac6a5d92205b4e479c07db005a24259b4e3b2e6d7c42df4a5d61e78d376bdb8c50382f3a777bbb735120e67be4a154e1d115fd48bee4c55f32ef13db44be142dff08c52e639ac11a47addef1fdfc6be0ebf98b70864e3ca329aa23a4f18727198ee717d1d2e8d52e933402d4946d156aafe7ddaa995c66074e12b6bb56ff8f8bde6c0d5eb4a05266502129db115a50230c0c46102b7ee6216b18707db45b9b7edcc7b7f4c2bdba9ccff90e112fab2ca409f3c1e76e0c0e1dd9a0972082a01f30e42bac911189836b76a8924863685255ccbde0b80657b30c3f5e1f468e1364ae018153cdf56239914bf39ae7db5a1ac3dc8baf04daedbbbf07746708c0413431637933ac351ec0187417967d8b7b28f76824fb1a5e1531a4835f1c6e5f9d51650978928a73ecf632bf8920f31aae427d0cf5a532a1f5b008b83ad3aa9c9a9ae1a91ed3243af1af90f65e96f12da05e63a932de936faf4c00a5b790ead5d584a09593dd2ae23868b072239f8636a40503693ff852cce1b8095f569fe8b129179728d77bb28826f7744f4e19ecf5f897107507adc8fd728bdec46fc2273b70ecc320de69d348361db232ccc376a55e6362a1af4cdbaee98a54321c9bb218dd6cf1d00184865bf488107c4bd7970a0880209d549e1509842fe224d0808852965b53829a8272887c0b485f20593af4cc2a0d65b610f691972d70a66fd9004bb9fa192640fb07a13ce1b2f006480c031e94358ea68b06448d682de3792aa7aa5af5e87207de47eb579b71b1dcf3e49f1e72140b144d8238209bc5b32687afc2970de7c883acaac6c0e1ecc871d3709313a72e380acfcb4f4a3dc9cb1077f655f815e23002f5ad5e5f683272ca6fc2db74b76955b7d191cc09adcba85ec1f92db1833223b886db76456c2f930c2c3a202b4474136a26e18843dd6c5750fcf74be63a09bc4c41e39669f13dc382de8eb44081d93e5e3fd284441b6411a5295a17b337cfe911d44083e8c77c5aa71647406b2e45e3555c86b0476ca583e7edc9f492a817121a1c9f39ac85fcfb1fb0a1832cd370f3c4a24c6b806bca4895428d67755d74aead8b9d7c73f9451ada67deafce086c73fdc181ade3d6efac20b75ab6556e053fcb627ac831cfb405571cf2d1955f0e688814c34bff13b04f6b8e10d4c2fb8cbae61e23c41a4dadc86e98e83560a0b16b728a23ce94b940508ae9338860aae1b7afad32bb539db92d2aed2803d6a78414cbb67ad4a770e49e326e0f5ec3d6cfcb071af56930cb1c9eef5f3eb2f08f7cd95aaa2570fcc73201f2b6e8f6e526c7cfefb4add0915b22e9667a4701bb3d4077741a15f2159b0e3e4c1b66440de7c417c3af4e873716b8442e3a8bebbe57dcd5f1faafb9500e21999d355b53707f0a78084949561a624c773bef18a2aaebbfc27e612c0d480cc73bef331812d9d6fcaa7ac34c125632f83541c3bb245b1cfa299648ae7fc4eb8609a885da180a32a376aaf0f7c965f2fc16650f72a15c5a957fdea60c5db08131444eecca6772598de941318a1d03931b070560130c274c7f7bec4dc24750083a47cd1f79033d5504015214ff0aa33aed42e3f9d53638df6ea226bac3df5a4b2ee2b9def5ea99e2743d0632b03f301f76553332df2cc169fd97630cfd783290910055e1f9058fc5ec5eac25d625721b2ab497e521559694318ecc950452f3f8a77f340a1977930b60e38348b5f583dd5a1e0304b74d37e9a559f493f885c733b40b6ca1930b8b879cad3685e80516fb91f4c90b24149e3bb0cdd97c03cc3f6461424d81326a51b1cf81387603e5986461571d538956bdc2a64a1427f95db356be1fdd75aeeea3f64d189d9c168b04928a7bd6fcea9a3a4dbbebe86473e95007d6b11f5c8ad4f25da9664a6092d0cca428581980a50ba22841e20d0ec0877d12302099eda19afe60215d24bc0f3e219c4ea1af72fd2c1736c9b66e10bdaec91281d168e66a63638b287f03418f03c0381448ba5a2b35ea6bc7a350529ca6e2e40a0d9aea771399ff7604e49fd92ed3b86bfc58d0b40474418ad7e2728258110c118db769e2fe2665c85b5c6c9aa161f000c1d6a65786a90f1065e20c84d3b05c07a8540f1e7c69321bda6783764677ef19558472f96cd70c10a9a177e2734252337337ab2d65238ef2d6685ef9430c6794cb0c5262a0cef56b518de1ffd02dafdaefe217617a5d429c3a2e17f59fa6cbddc64d98c865463a7b005080d28d018e6833ee9044bb0ff4e206cf66fe44d39ca6603ae4961fabfd17300e9b2789b1f7bbd2a2ed2a4d96aa9fb61006ecdff421a8105f3ab9921101f1359234ca66ff7510c35e09f522c6b8ca3a3ad9e5be2536fb9daffe619636059fecf18cc24bc3d87c9da8564ab682f272cdc1b2b3202c0a85e74c349d31719ea19334c6e6a9ea8f0e66f27646dd58347516d855fbb6b9a262ff011156d1c3978b1e37f2ac1840966e1245cd3a69414300c25fe4e0d50ed85c1e631cce948c4b11c4c766106a85dcc44a809991752c78adf40da13b8c6a638919d43a0137df7b1b61fab27466d241ae5185b876c0fb201dbda571708c06caa6578f6ad8db2f346f14595757f17392e9d9f36bf1c75405c2b1aef30a8b220e61a795da0fd8e65c2c90778ee6503bc7e8ff614fd1655ba11664c34dd7d50bc2e6052eb00ba5379cb27720bf890f281fc7ef73c3fa4704849bb8038bc0660b5235744a155eee06fa7ea27fa2b9bb888f9544be4acda3a41133ec5ec9b44ab88c440e1266c1f35f12325da260582bf0c820c56709bcdc9217915d83ae79a16eb2a90624d54f7ed41eabc72db747d80e67f369e71e0998cc124bf7b01bd22e76ab012dd6ca715ab9520a6e19c963584db59f9c7ff765e4e83ae8333858ea7b3404a197a246dfbfbf2c65b08241c9483643be17792c225342a600baafbcafb4ba635a846100d7c3bbfacb6972e7a551259d1749b3c5e1fb6f43b237506e567f4e3763b724c09661dbab4795a8caac2b08a053eddfa91d49664214993425d037980d1e49283c6434d1e2fb5c50ece67edee259565a9828c3aced240c8578bc7a69c9aba9e37342b0e9febbb0c924a88290b62314d16c2dd44a3d292b8de5caba093eafb41951b5a1228df05b64db6a9d041357b2e360159bdcc8d1b285c25b0ecce81e07681c46005496d480fe99f63ddb797376d6a88c62023451ad0ac68362f0475dc7353c34ca8b0a139fc914e25f3a30469160b384a9709333640a60c0de4d130b96d08f5a73002e89de4eed46d750d09bda6a6d583449d84a28846ea262813a08c6e692abec3410d33e5cf7c8a9f93f054077cefca54d4ef56287264f757c42cb6f788c3a66811c2594b19fa91c21b361f3c5152910f12a442ec92bb26179424b19a6aa52bcac01cb376bd545f6c542062b53efb9ce42542359acdc7cf3056a4728b187b4ee95e005945eb7cacb27f4119db4d2d535a618efca1efc96dcebc8376673a7b0a851f8b585211100da8ad6f775bcfda10b31d4461cd9b00a27d2001de3967edc764c284b133da9c3ce1d54fd9fe9d6783bb215448755cfa702893b8a9d0a97f39c08853d0b148338032211faed86314d83283990eb3f6655fc93a17db252bebc6cb953e484c27af6eb09eacd300a7474038cdf18c22bd476e8a8d16ae306004a391617ca35463a013415bbf1064045186255484feef7b8514adff9b9e1ea08b7fa207d08b02e2e2c8084ea8f331d13e212bf6de5fcef03d5d39e5776c1be7a09f0eaf5e21eef9a55ff05315ec156f42af48647f761f60f03969ff10cfdc2217585d87503d1b4577af3daa4fe97c57223cf2922af5f26de0a8e351a071bcdfd698e8f1acb66c540b2089c218505c0b5950d4ebd938e21e9c77f8a3bbb6174f9b39313cc00fd5352380417bf6a8938b8c7e4e5b383473353b18b3c1cc265c9cd8cf1f813a54cd2755f1590aaaa20e39fc7b1ea29c781004886861c5d30554e1188937b5c28af5e1107f9aba80e14ee090674baeba529e9f76911a02b84edf7db87cfd727ae4084275ce3fd007a9cc726ae0257f29743a2fa4cc063f28e508ba40adc5be6837156686748cc59a8347a63dd2367ad810a3039b5e1d7417a80275d592a3478b8f0a5c48268caa32e943037d08b1889b19872840519a07eda101d4368e82fd5da8a7be17ae609910908f4ae0f3434f8958153b96372e6ebdd386fd61c51d19650fd8a5a69e3d7870e4a6a7b8002eda6a4ccf3c3c9c9439309e76e77c977667199d6fccab80dc607d153c03276625efdac39bbdf52939fa8d3d38ea2a1f8abdbc58467bb108e720e8630ea06801e51faf89b9470cefcaf849cc9ea73d980c929138c171ba33d301020139af9644e16ffe3450481bfaef9f5c28344cd9e27fb01c5564dee3399f7ad40c07b786c88800b8823c88e27c8d14d371f83fb9bb938d4bccb01a6e6a1619d77ff7fa353d9eb8de99730649d3f59c63b447856d6ebbfa9abbb2c49f0af9dda20322b2d40773c9e57a051b96556848fe50cfcf6a1ed89c749485b5de34355cbb124b43011932589b9e296703670454411b160bb7cb96ff9036cdd82d93fcc7fbd3d8f385817e1dce67b69994e6ed2369d7eb92a2846b34605de73dbf477e602c3ea5a409c0e665d60b74d6d720013bc3b3d290e67dc29df4a074a40b5b285464b9f64989a3d8a4315e31a32acfe4ac5e93106954ce3afeef70799069205b4baa4983193606d1fb76db2bcf92bfd2ffb8b16b862366b289c87e7f149f90e84992a66d22447d938df92cbc0a80330cf38e3467c459210ba4e8620095c4b414590fd9fbab1749d80dc8c7ab9b3e90b41c707266f4bd40df3213ca6fa78106dc44343b7730eea5ccfb374505154a51df100fd8559a26e90b400167361869d804703a860a04dac29a0c7c8270035f014ca53effc16bc38d2b36160d15688776d522563cfb15d9a8e57ff2c385e5d21e5ce6a7587b8fa64ea7e4656ae2d58c419834b842e5e41605e535bada32c3b9e0f09552b635f6c684b338d6344132710e1a750633d3e1a0ae31b24eb418c983dc393186f80bf1acf88f94e8c1c8405c99fe9824c2b33917287542b4c8f2c0dc6928e1a47c47815f3d11211284daf82b1bde5916b6e56ae4de8a4c81e3a65b68e15e516b6d55c803c0c44288f125ac07e42775e4b4eefaf6daf710160b3f942e3dc91d6182625ce64aa50633afb58a3ac04d1ea1f74a85863b2023eee4070a4b27b358e44f2de6855c7b608c44dfa09d210eb325e9133101ea1c07ad23a44e2c0b58439f6fc2576c1e78584ae724748440aba55e25b44ff28722045a5a4bdf5403c31fdf674855e7401752d5345880d618b4f606f2c77946f91f5aca0f8fa020c942e2c3ae103576c4d603f107200dbe8c6320f2e13d5fcc2add9a0684a4bd03359a668384bc302c6c95d53ada9f11c5014af0deab4d0c09d0a4993f9e2c0096a2eceaec08cba134ccdf57b46c235fdbc9736c3f33a3e7be6449e37a5b5313811b6cd373e15ebe3d842ecf3de67c7cdd87ddf2a4f4e833196d814764bf5b31b771ba9b0eebeaba093d30d5aa41a73ba4632df19a7ff5bb9236a8afcc4a1d06e83590c47de1c4bc4c42949e7c3703e1b0c135bd8118ff3d17fc7e0b2d5cceb92d87b90f2392cd73b7fb08949c3d73b0399885bcf0489859191ba8f87ec1de65e80a46e5779951d10c7a3abbe4b8375fbb7696c52053e39602e5e98d80851c5bb923dbc403a6df756295aa08c4dd6ec86271e17b46efb5aae65fcdac55052fef98e0192450fecd1a8feb1e2cedccc40c3f5630d71049197ff4df39e63c91536748b8c24862178a515a69a45e3183ff3c763452f98005c177c05a31a696d3f6cb11b44b02189c33f1915f22f37c9f3a90b093a423a5fd2577c83230767b367fd9df44736c7561332921a1001b8adc3fa16654caf428b23b9e66537cc9b197256fea17c1745231e3d82b652b700a0a26e3128096f3adbdc0cc62ca5b54389dfb89f25fdd6ef11d3b1eb3dfb24b31040d660a8a3637b4bee8002c2c51678496bd4d238f5f1a6483cefb8923a8b26482a6b08d693a59e2bc3b88a78bd9a0542c019b9cd0dc29b51ede6c9589f4a8d9193ec38efc139f02d513c4cbea3d4b595ccf69f314ef61bcd5c7214e776ed2dd730e35e9a6b1359905da345cc2e6601d2ae6f85af720e6dd006f8680866ed8319f3b89e089d132a79ba1936774c2d9fa41337bac718fe5c5030897916cf554dbbc374f02fd89091ca34b1f1b5c98a33eb31ab6fab6ef9394d2630b7a3bd6dbd3dd45ef6456470f9efe311d3a03d63549bd3515fc8874d0f156a804ca2af86e61c0b965e12e641c74f55864786ebdc9cb2de44ceed16111f0c5ef7a8f2f617468470b553d6670802dbdd4c7dfc81b63459b7acf4b94230078353a4c6191107c63141193986406216d1744986bfb9907505ff8ae796d1baa22eabec42657d1a89926635cec428b7be5614e817fcfa2ef19a3a35be42d8128370c4ba8b56e4251e11ebc01d0d06062a55301fbb0b4dbac387f94f6cdb47289d1e303c4e05fd275899abec4ae409f63d15b5f8a86a9a9e88379d8aee32f855ab64c27c2765b3ed0b22fa6ceb879b1b0a9a21f5813b29dfb120c441f2da529c69dee86a0e699b6fef8a180ae0245f333005472c88d5c46c30a4297d0dda45e5484e08a5f0edd7a2325d99e8a770dbe2718e4bcc00885b5a8b2efaf69aa5e789e5f2e63aac1d4e78aff57999d6c7ae49520186f4bd63a27498066a347f10f559cc94a91ee3f814f0b866542fdf7a4d2b887a7465a77cb84fa387e45f55189db9c1427f24e5eefbf586dd3dcbdae77884d85ce14ea2650580f6e2773f07764a656a2265cfabcb47f211ff17c887ad6a56419dc21b394e891b4305b051791526be21baefc7aa2761368661368385db7419872e8c4d8931c111cdb63ece2a50d9d6d6b587c89650d607dde211500d4b345addda97fed8effd7c1e042c757ee201dd4373e0e1f5411242a98ddc7d03b80ea3cce2acc1c4a72e817ea67221abf73c4110ad703deb46c4f8da638e0523113629fb126408f4e5eddc4ade841a01e83f7e5b56623897d0b3e763b865c93dc9d87c4ff3e7f7537b3080bed2175c939a7e3ffd7684f44bae6fb196a6230be3491ab74e7a1227735a3672fbbc76b46b53d54decb66ae9fc900b711971e9beca8eb3064d0fd5574d594fa13a7fb0ff7ba8a5e2ef2c675c10d9b739abd42586895940c81da2ecfee0cb26f67c627c4769fbd471362be24c06159343555b4df18a3e4cb9948653f2a3e110a64a780d00c33c4722216125247fd15d32d551da4b3bca9b63eac669dcaa7db161708a3cf61be87d21c64d895c11c121409e5690cb5da6e64dd67ed8eb211fccb776c68b7053206019300acf364e2dda52d0c13c49797bcac63629ed2099c0b9bed2dde10cac50c5cf36f791c701f0b75717ca02f8f00725aafc414c1412c1c61e110568fb0506b9208f4191669039829cdd8fe22ad0818461b95c5e5b501272037bfdc04ce705cdbfa5d32ae18f8c70eb4cdf9bea0ec83cbd9c735aa4cbcdb38e4108b039d95d26b42ebaa4eb4cc30ef55887211aa90f111592f9eebdd86c89cffe6dca95f6c16faa6daa8ecffce251d0982532a8507f3d15868b9e3282a48535ed903c05c63828dbe9a3f242fa41f222cc0366c41cc27f532d0245d456e0025c2427b9d79e969de80a94871598b758729bf6f042c4d03449d60697450252f662237195fa6e9b06ddca413923fafa2da8a3162e02319bd80b7d3e28554b3c3ff10a0bc6029dd6b099cc5f0bd9843473fb7792f94a18d57cf2abc78ad358a2bafe463b8fc9250496f1b5c685a32f7ed2bdd77f2ede34d989d33aa022fe425f6b2e969d88882e8720c281b56c7cf90de59dd79202029c03ae8ec8c6c29db05cd68f15cae905db731401331741c055363711514391bcb48114ed8de2c22e32812d0cf7598758f1e9327465324ead7fb3d47229c8f72bec38bf8c5f019013da3e8346e9e872af4be966ea8e7dd173aa6045232522d9d31e2a2ac7348c7fe12c61ba89f1fb017f424d878b279da1e46b2788012826dd85e4264b78a31c6476d581170c8995ac4c7c0d24c53e298c18d026bf9cc0b8a88a77424a0e230f78710f99b0d5ec8296e0e69604748417544b41bbd93c8ab219c0b2be8a08df3efd2cc2dcc8a2ec15d40f544595caeb388772b62841c7e3ecec9861e170450ef401256e09155e8ff815196fead96f49ea7046accb492f0ddd1cc5794285394a56733156d192ab8725ab69cc4d0a49585888abd8a2b03f7104b03c5c1e6007a05f187fe2b4716b34008d45101e116f6e94484ce9bc1b01c2f7545845aec3a53935c8565be6042037370c0b7b85b8ae1705528cfbbc005ab108dfab9117131b3c955e898971f1af21c029a6ec0adde0213758b0331d9f3283812ec6aca85963a0c35353c3ea50ad14b5b2435f674a4eec630d17a0e59a5cc692a01c3e670233bc29a444681b0ed5a35d569851416c37427718f90806c7d55f3c6045b95eebdb190e19aa85644e28173e6f1535b1ec8c96d6978cba036957fca6b2bb334fac8c85583a34e28d3e4dce4b51842e9b176d09ebe45d1d45d2930d12472066808d54f81e5c051e8fbbf17c65b43b83dc359deee404d15a89f82663ad3618d1174766ae3f4cbc232771d2ddf54c4e53213c11d6417ea25eb471ec9c0a955f8507fb3678f4d9f8cdc6aff14f9c1529220dab3a7f7fc1bdd8b011e0a173e3d2955220e10889d9e2c26715a6f0f05f7458410724f0f89b4e1d381cb13f3ad885068017364739f66c1072090d898c1766620e0a154264429e896bcdcf58c9e3166ed6e63d0f7973bf6915d50b2359dee0d0e3f26bd52e87181e4a583e9630688788a9c2325f10c8b50e1f5a956a09976fe903c8041ebca1936402b4f1aa4549df2c1e14c682bd1fefcf40117878f472849f1f6bf43281ae9f4b33d2f073c8a487470e7060c13b0237eb1e276329dd2e8ed4ee272cc3a5b65949f70b26ccd0a1a8599feda0ca880725e59098a91318a8c39a766a7b1324578245f85ddbe2af3bc5ecd89c09ed32fc99c719de243167951a35b8cc26cf8b5a0c352e05e905e57e68fea03dff18b437c38ad5510b9fa8ae0d8d0b81708d78d695b454dc57e7a74f71b8a003f5c39b2c73bf29bfc3f582f205d4ce86301f16d7ddb121745a878e0efeaef61ec3964ad2c1b4d9573ba44c3fcec2681e28d16d836a202731305a9e322bac042320ab8be4ced7d2c6ce51939c799a7bb6eeca49989fdac1be7667ea14538bad7852b58780a5d14a207c5584392324b6cee0eb0b3f5a7f11ba189fd4bd836627e63f36c5c02384261baed60743b4c4c08c05699a042414ee153b338662a4d15b87cc2e56060342e09d35e427133e6fbd045575fae1e5cd05035795fec20108005ecd1dd517dd689001e732ca1a1a1d1ee9b1acfd62a883119c0caf2906b691d72f99cfb5e762d9969d94597bace65fa4347a71bee4f663f262ee77af1ef47581d5057cf290199708bd301e9e10e3ca73dfd9950cd8919d7a9af18ade95492dae11d155808addbbd4abe4e3155c0151f531aca645136edf32eeed50f9138bcea2f56343752acfc0c54d09e55d43f25c45310dd6436070dda0fdf1f294490e6c2b2222239f875cefc266bacf2eaf2482cf6174073398600717223857a9757bcbcbff996e00991fdc5a9ce4a21715095a4e1e219dac1054e72297300405412a1971a2cd539da70e498a4a7b74de586ff3fed390ab43844daec709a32f4df1e545870569e794d49343f362d365165ca748dd26337d4d120d1fd54f7a519b165824c1666c81ca2a44683800d7a841babdc002249d794e4465482de3c19d61cd21d998cb3f29eeb030b91d732544abad4f34d5f544aeadf19ff835c86ccc52a6936b829aa5019b3fe5a8aa6b470295deb7c87040edf0be87e28649cd2c61261ffb93b13cc662058883bc864158cd8c9b3d17942dc2507d565e688b70e60057e074317ad9a8c5e82ab6cbd847ff5a1065dd18d540662a96293e64c6c8cd237ad39cfb0511602a5a41ed9496eb6005b308dd36333238aa3a1b02105c31d1ad861417d4d3a7aaf8c10913d4b253f88cd03c2004027a0d87020ccd009194b1104890abbe892c357bd63133538bea431987bae2c91659cf60f87dde129e4edc0171b82ddde49ea5191091f78bac5e77b1ba79757270657d1e082911438437a2823cd25a034e1a2f492864c2474b45694d5d225c7a61e741ce1a53f0de5ba4b2b2632acd18b2074ba9002d8c81c16c787818828021a97aac5d484dd719268854206540de903547390abf7672f8e0599a780f16b9262980131e5cc1c5e5f520d50101034f834f6aca6227a03d4a4e28b1c31cb403b6337ee0aca01adf39e6ef5dfe881a5e7e484d56efe7a3845d59cccc3e72734c6b25b38dc76324ef7b957ce7cf39466cd184375c43368dd51c9485bc93a3bce5d97b8c8c358edca231c5a3b83bd4e8969130536cdd61c14e23fba3b9c6c1c777b499a6b9ee1193a3cd3d68daa83dccdca0830f80293e5b0cfaa59fba2c828f811e119181b634abe05c31ecd194c5f8cb22a84cc59f777b22c887c3d37a020affe2afcc6ffaff49f075f88762bc92073bc67930c0230cc872b8f3cd15435996730e6f44d816e23b938116ecaaede8d1ec6714e53e3de894ea6f7960cf8134728e2d5312be1c6dc9886fe2fd46d2e9f29c8e315c4fccef086044332cba08bcd99c73aa94ab0f0347b9ece965af37b7081fd947d52c9941d48aef2c7b793180f7058cd3719a6c964ed0ddca0c6c926ca514800dea4140e5394f7e94c889892045468e880da88d7540b9590fe26146973cd43ca94250f4b7056e3c17e27ae23d2644adb5225eb84f402ba53c7e6eec53a72fa824ee56111dd8fc5043f3b40ee09cc2afb53c8153b1001642a98de5f0177e69dba7e5c101dca05a989cbdd2de9d212e35fec977ac8e9df743fc0e8c9de315f30aae1d2b6de57d4664c67021064054d92285455ebf23d12f16bc2f6d2d021c7f5489070af12efcf41a117f4bb63650e70e32b55f7d7f77abd57f6bd6ad44b359c829a878d2e2996c6797a1536c2fe2da04053e1c6d1415f3988328d98f039e16a4df8edfefa5eafa3579811ae3e5104fd1c8484e4056d193021afb4219679e4648a0c0c1b935f28dd6fa02f641221a4aecd9ce80e68c65364103a5b5ff6f0f690c6d007bdca53868acfe693d0efad165a74b72ce0c61cc6772fc765a80cb4e7e02bb02d7c8c474ff363f4cccd3e7c725e011430ab9e1db4d6d901889bf5d065acda579379ed7855c6b9c88fb6a8770c9b3937fab9791c33ccd9b05e21fa4fa216ff3a2b3e0514417fa9b3c490629fc297830f39944a6c67f0e1149e3c392c95e45ab2ba4848ad8de29542973f0641b17f9e52a41a6d533e1f8f6efe5847b9505449de706cbefe62d652411c6fa1113206c0959ed277954cc530644a41b7c71ad30f3b2139feebb9c5cdcf30467af5d1ef81bad2bb2361390b4a2186312aebf9c84601606bfe4af34f35bbb75752c21367ed93a20a54e6f2fe68ccc99b90521401c5755a636058c55f6ea50a99041835d7d4e8e0d86583a44734b9d9fa99be518ef1ae0ee724f0293151274dd6a4897896bf8fb831aef63e3090727b992d30b256d433ddeb285d5a478a6001ae656b9309fc3be0240f81036ddb67780bf516a41e7c4764b5a05c70757f2e56cbac36bc8c021d0072cccffe197c72f4aefb629f09fcb8b577c8eba942e42c47dbd8a6b458681b7273400a03494ce2566aba91bcb6ead9612b67bc14c3e6e4f4241b8fe106662ce256d0b47cec5aa4626b7d9b8737bfcb0dc60e1fdc1008a53e8098fe3b07629ae796233b79bee14eee9a3ef0074ccbc8cfaee19ca6368f064d5a06aa39b4856e6956d9ed4ec89a4fe558e6c919a5c56bebd727266aeb5cc64c6480c75f971e8c05614075ab069083de80d04d9db70eb16ee126be672dc4ebb514fd9894f30d2b52e694fcbaa0abea59a48ce20879f5c9cb98883b26602a6b2f7e03b193851c4b1bb336a5548a3861c924bd1287230c0835d442984b49fcf350e8cc0509965b74504d76fa985ac107d36edf944fd38a9a4ee5256e6e1ad798cd6a7e38fbed152ecb4ba82d8bce6e3ed747271bbbb0e998a326b6f61be6dca3bca050cce3d3066754f09f9c45eb8fba0769f4fd412a37e0d2ee10567530a7f6b11cef6ae4e3bed3ca6e723b7c2c4e814c7b636e3fa453e478eb3b14561e64fe97e5184a9afc544047b02c8793c17a7b5a2ece7b92a420698ecfa6d2898f72c2aa2b2e95fcd9f2506a28b917583b4e6849bfa1f0065f4b5b96547344c2e22948de406a1d8a8773f2da8a2f31c73cd6c65f7d8356692baf5dfe16ea18dc766abad89533748f9f8c3e9b0af76c2714bdecd616d8dec492e3134b3abbac20db3f7beaad8a6c159286d3cb8b2ae693bf5b1788fba4654e8de4655c63960086bdcc9478321e15e03868a0810d8b43380a343ee3405585213deef8192ad6d018c83e626931c435d2c6e5efd5375520787824dff1c8aebf295588159190e3c382cbca3588eeb0fca06a84cabce562e5ba825d895142855bcdf3388467c3e0255ecd0d5b40a84ccd79371439767c8d57e87c8bc361e8ff7981ca36aa32833f54f8ef60c42495bd8f180d59afda7978fcddd1c6609d39e8d24141ad1ea249fe178789efa3998b729161cebcce67983c96d0eab5bd5288be73ac1f02068011c25f99f7523faa7319f42c4292bfa5474dc646010b272c7ca855c82c2b5e0d35f3f2bd0e5ded11159c156bb56e6863e6a23c0c03f920269a16cb9e4f10123ab401e7a91d30b2f82a189f8ad78236db74f759bd86c54f79de4f5c983bd513152a0d2dc3c0a85f28cd65853fca59a2cc8497215f48ad6d20f8457a35c5432ce38d877d2910c58b743eafd5adbdfa8ac32814c6898940cf58bfee31fb6e3e338f5776ef40e62847d91ca2fb6857990e4284de444ddc0a0925f1b5a9c5e5861f4efb6c472ce0df0f745a741a46a34a6ee2e66111f86cb69ca2cadaf882dd08909ee4df84fb6de4c738e1eb7ded5165ba828a8f0f4c25bc2c988224512cd58a7dd216554dbc374a239b0ed24fbe1cce1b96926b405eb799e2ae1534ec2a32c590aca619c6c6e70fd612e92a48f0dd89d4991d265bee5157834d078570ca55f1bf8b1382aa46c5e554660afdaa27685bd7ea0e54fa60e288e4ba98e6a0d3fc88325d6c4028c1241969cb42d965f175b2ec5308b451423fd97c7540c810b272f5b1f04d4212a1bad0a8a26b41f70bb1210eec22d36f61ede160ca33b67ffe86d6584ba7ebab10c3818c9959ed8649277cb565797f09b355d5724b5859c0392d907e3903bbcaca2816a8ea38e676b271715dc0c01a95ec5a1a723ed12101dd628de90b2157af7a8f0a3097d293cccd08d2be0cfd951870f331900d7aa9dedc8c3095680da89470f835956c645069b9976fc1080f7491199f85f464b9091b7c1b1ffab89bf17013bfdf5c1e0cbb7e827022ff8650383523ecfd4d359df9b8f129a424dc97f48bd9b5477b65edd232d2d689af19e0a7eafa4ac29d630f753f74a063f94f04e34d2483622b7bac7f13c59494d63bb5b517c8d98d8001878f18f2104dec511b9135f739456f3f837a26b2c35c43f542fc88cd735d12da762bdeb3f0663a42b2fb9ff01c0ec647da1155015f67d35d03c7d85612f0c30810787e834bad933c9e60d4abb59e07d742b6370d055bcfdd2ca710e85dad69255b69f5dcb226087c8dd9c45be167be3c8da0b040db7c1541dc76d93796791a13930d2e9665f642304ea975df90aee795eba97debb78a3d1a5332d0063ec80dbec84465930e008a366c63df0bba1817721b3af6a1657b2b48edd8626be5064a2eb4f559fb56ff0d2162194ac8c379177681ddff70f1d5a82dd0437a1e8c1ba1d5886e534cd0d571daa0a27c8fd31e66de1c0a168c3ad6b8b4d493a80237e75aea08847932aa6af0a41e9c2cbdf193d8fd86977492083b9d6c2837e5c5d082d12a3ab6f886349292a33273651e165e82105de95849f01186e518612bd386c48be1c94fb16127e753ef81866f27b94843e426215f3168312565e36746eda7ce8f949ee94454090ab5397704ffd22301d41b1a5c948474344f2b5460507eff78bc051c65db856054c9c63d15f62d53d032851397c7aa4da7ec999300561217b6713f24ebb1cd805fe528d798c6c91e9d8342e24d322c207abec589bba2330b36c5eeeaafeca8a49f2075e5e28cdf2f83085452d9af9443a1572eb89e35f16b2747bdf04ac14ffd873ea89367466e4e29b49195f9a99272767ed68087df07ee73919e6dc2a5f280bb94bde324cfacf8f9bb258014bda8ac2d8142bdf53e401480299475e83855a688203c6fdc5d8999c23511cb176ab7ee9f21f27cf78d4b1daaff84c55f44479503cdc6c1a6c933e4bb22dacd1f1ea1597341e921f91068ceb24b84d2db428db000f3cff36b0842eeaaa20b062a8443d03432304064fb2f53f66b81aca302a1509dd63243dae44de914c6afb92e98797564ad36faf00997e174f7df89827c0e02021999424933e8ad155eae79ff47534b4564cec2fd6e1481afdba23327eedae6907b880d827635ce1093db74a68991f9225448eb83e9b00c298fdf6c3971760cb7a1160c18cae302628531557688e85e9c12bcd7151b0482d973eefc4f20a0f01782e00cdf0d46964f3b5783447e50a05e9430174c097fe578daf723d61b6d93da5182234ab578b3daf3edb82625669a6233267c15bbf1ac7c04b4cda2157021f80afe627317484b221890e483c40cc229a125ab8daa39b7d8a37b24819e8307707f14939d71c6fb053ac257ea36c0454c6ea6b08bc24ac87943e2d3673918103d5b47e8686b0dd0b9dd47831d2e8fc5bd20d230bb2c443652f5138f8dbef476dd468fa49c360a753685da2458e942c165cb935c86837bfeb200cfd6b98aaa12dc3ae64c90e8cc2df2b52a658ef259c6edcd27ee23012251cd7600a08180e940214b661014b7b99a1c09fd08a8a5b11883b9ad8a0eae1b24a03f8c04a82397249e1313beee794246f8eb61ff770d86b1324e184c425e4bfc6bc1d6bf5c69db4dedc6a4b899b519365448360baf9cabeffa7a4cd1d76252f997348ed88a0abed4afadfc7ac10ae2aec09b7cc4f7dbac4aff5f2bc6d1106a6c43bc89998d67aa39282b3260c20db72f7a57239dbf6b9811a0d9d77a04cb2f6e6c0338cdfe82110096a59ba52ac8b7f9e82b7ba698a3c6460c91623a084d899d4993ada17fd7f8b91657c496cbd6b22b16f66a1688b0a90e1bc45451f0b75539025cba21d0e82ca0cc8b0c91b3007742cefdcacd207459713c6cd60d4f3a546e9422f01b8de8ee19b2330f5bcac0e98ae36be84964f7a6d3875e32b0d4e6ba43080b0407511d349c90e7974d6059f5571ad0a96874a9cf06bd0718e75cbdd86c4b0bf8cd372f8b3e81c2ac03934ab2fa447cabc0a065d0959891d8648629ac56a400cec499f50f45ad59b3d46eafb4eb48fa3bfe901d27fd36bfa05ecc3e00f44309ca44a2f56d80297db70e817e5050411de220fbcfd6ba55915aed283d5c0753fc9d354f48752070ce8a8b420857a54ba150313c3815020482705bd129e8f5fc9db92a3a225f1340e6fbd8d7e8168b21bee1555f89396ed7e58b6a17cdf44361b37e5c86ddc82f26acdff30e3177fe211b962d9d7d165a58d8c25e067b16fe816577a8bf883cf60addb1df85be60792a1f03a409051a839e63c0ab78ffb768a9edcfe77b794d8867ca8c3601045cedb92e009fe7d30ef090f74a66c2473873b1e77431b5b88872100388a53dd3b4914b1a6550a87b409b99caae4ec329dac24bd1181280c4b9b87e291324df1a4afa42ab8b5ccaac2ec1f7ef514013f7d5d3995f5b7929600a5f512982b852050e03e2e96131f441d5261aff3f7f7c7e745d843a65cf35440ba60141b901ea543123b4bb41143fc8a69ac7504c8181db31152de805c9d6ba5e4762d210430ccad56b0457b77c898bec191976403039b9ddc99db6b709520e14e9e8b7247d9331cf95d783996a92b3dc584f244ec58096fdacf2a05ac59d6b768a18dbfbfabe40eff496228d0126db4e46ee89614f4fb8eb3cb0d75faf14a5a88423531cf0494f178e7bbc4f629029f1ed7c48a939c45b6cdb9ad06175b85e3e2464bb97a548dd133841cbd76bf2a7c66c3a0e547dd7b1747a49dcc2271831ca4f68d945593020b2129208c8156b2ee3f1d1f4cbe1b13c81590bed32821a4bdca05a4bdc90b63be94529401c403d095d4eff3636fba00650e88c990c42dbbb01395eeccabec5706d83e602c421658c6510d7b248e7c5965db009a39664197a0ca60ae33dc19434bb67a0f952a3dba97f6ebc9bc1b3ab0b6feb7cb1b65b4db65839fcfa5b600bf61c4d1e433ce16d4209e6a238e763227d2d0ff7973ba5eead44f0ea91734671fb5484e34cd5c40b8109a738a91279c03d01ea9f4cdd0184096dcd302cc90f2b129b2f6fd96206a08650c4d23b14b1a5530312c046f3526822a245cce46e6891ccd3daf6785d4109c23206c43de0237386460166743a2e4ee8d93d9ea91828097a1df662ad045c5b2c0663dc6d41bc3e5c071c1e6273a8a42f79bb2aedc4bf1781071539026acb5c57f8a9b13b31b5f09ac7a7241baf2ef7910cc7d50c44a21f465ba159cafc2e8b53fbcac0ddfb4b09fa54dc7cef25a67c9c5488071de1e77d9330d57986015d266a42a09144952ef12bb2d0416570c70cb3da3a21d162337d28db05a7dfc16d1498e7b42ebef98160aadce0e9fcd08ae1b4c167be376e9e154d182d5e26e920c544a17be05995bfb832965ef0563f6d22ee4230bb762240129c0b86cd59fa93f729e99518dc3a90f8df680a8565a14f915e61231331ed37dc066b7c8de248c7cbf32aa8b89d09ad3854a170688591720c2966c7c50e833f7abeb7140b92f1bd5587d55f390affd3092b9bb2949c515794d988e5f8a621182ef2ebdbf9fec5aa1f613d0ee430d2b0cb30af6e896f839b6bb64ae4f7c4b4e18461ced9266b6113530f76e980d151bf890fb2dcbe80e81b113b590a241c3482ca6d321ea2d8d33122720540b611ac465cef34fce048a378cbd45d01f55a3e6192b9b1406b89a766eaeeb6f068fba55bb92994906634f1ba16c090c734e8d20078401d3cd994ee0067a008d7941c5fee9cfe06ddb6e93d24fd04f596640de690afcd0aea6bfcddca01214bcfee7580fc9c08fdf92f0f74fa5f70e7217b89689428924f8b6f4242e6a4c98beb255a41abb2810eae0aef9e275c7b4550badf55860be65be2b92b16b1a0e6219c6cc04cbee3c370293d5dd9358763bd49f8a19307bded86cfdd7f33bfd7e7efd83e34e5e8e3973e4c7d2f500ed38a9c99cb75c69e34306a3d7b9f232c4d47361b74901c0a0a184870b26761f6c3620cde7372578c53994eaa89b1f406a51325efccbce1d499a13cbc76d8d4d9c5e168cafd66655bf0b90806e9b8a5355d741030e3b980cd45062822b84439601bcde6c41410cbf8c997f24ce39bf6d49ec13f061a96c3ffc69a5da471a5ed91d4cfa6959d7c0751f3ef2df44bf39b60c0fdc2931351312e1c5779602c2046d66222a4f85e9a0454a3442e6d3bc3a59a20ccfbe61867b1622bc2e120b41371ffbf840feb4cd0ac536c34f3d85c436d2ac6ffa40c7866a89844d100a6c4310c44b40ec2bba282102a44fd7cb266c29603116fda063cedd587b21585f21e46b118cec4021645f7766c45894e12857cdcf175fd35a3232ae86328448451b87548e8d019e395cb3acf82dbbbcfe2f71d889956bec1603b5be79a9ee3dc40edbe6eda19f98f24ba1678af4fa4b6baa9912cd14d31b61594ef9b9f9930058dfce3f921fb8cfd00d9abee720466ae9c27f434171caa48461ade992d0b6f672ca1c88fb7a5751f528d5ec5beff83b0ca91e690b07eed038f2058a906379f35b4928d990f3f0c21aea6b21e3cab0fe516463428d2184686008dd89d480862f6d8a0250b8a4a14c1631fec9151e7027e868b50e5877065363f7a7d878a8ccff93412613816a31cb30cf4e76341742d6c514998f45066e94f51e9ca7ab481439289f0b5833d96c241a6a322722d9c25126077aa517dd5a4e335af9b444e9af3c0b35d08466d4d6390742b21e9044cc7905c677b3f12948e49630104675ec3220057c864fcaf13e135621b28d3b0bcc117545b8b3b11f45b4a3fa2acbfde25e7eb0c7bfe3e3632203b42191c5728c1a1510a69f2fe1a197908ae399897cdcc9e9c7c1d3fade22625f046dce1c2d381ca8f573a8617741dd34af0954f814e12fc852398b552ef66f430ee86332f1822596d51a6f07c9fb6ac81aa637b7d453407c656c59cbaf9e00d8e90aedde18170dee0e7974b1513ee14dcca09fc3ca1a1c8ee5744a001eb75fa9226e528162278016fc719f441ed0c48a04b09b89c5c6c30904d8f172b4b33a3eaa38ee0de8d829c98bb613d809414bd5f6153419874947936e730a8a4c4fd6a1247f6d213d28e68ffe796a68446707a9e50cbab5c169f5924286445faa4aa04ba92548e9da789fbfd7768b8cd08b488754b6970dffacbac977a5770e8f82b5aa78ba4325560c9e73c22df0d675c8d3249c23bb2d161c6a754c7bbea558ae4649a7f8e189ac945feb227ed448186b336048a55d8278d4ef0b1ed4f3fab67a90b6fe5722d546dd1691f5073986bf208da53a3a854d52fd46b20fc755f28edda447209361c86e528a55078ab2e7c42012696e83b1904cea6695ad1e45cdee682c5be277e61bd7f36566a0055b3e0a632e2eec7cd70fd92bd8926bd441d123a241795799023f8aeaa22db2896db9db700f163f983d38c9c34d807d8a203602e13128fcc2f3a16cd1b2c16cee985a0058954284aa9ff83b277064e657a5185757ec62e299e478eba33a8a351ae1463d0fe38a0a10ceb7176d8663c05aa79ae07e385f3949c7ddf8ec11e6a3b06a1de85dd1ac23a79f3148bd93c244b992505f31997db9401c3b8583b7a841d416de4cacfec207467d92e97d2f5b8bc6a77952f5f9d5a959582df7ef684cde0bdf3d8a8c280d10b56546662ce1147bcd70b3f2d0d44cd0aba13578adad3e84da7a624a734f50bd4ad0812448b95a6c94d7c3e996e7113cf17e120e208d50e95568f4123d455d0778cfbb9792bc4c34396b53da60f1052cff95927fdaedd008221001f758265701781e5abef8be64a4f5680854189754378f4e7ce76a873eaf198f1f896c199dea24d8ec2ef54e9e71916b46bf8a1243585f0f021a99169cd863b500a22bcd68337835152ad112ef252c0f09bc06e3bc2523e267a2fe11e99b56d49055f3d4113a7cd4119a1d60a1a297b0379cdb12057eb47c650de04c72139594e6fdf2e0e446b00ac0000c68522661ca98c8626090f9d8b5e494113fe8fda89c592f15b0191ca853810e0a7834304454408a464ba0664a8e7671adbd170aef4d7aab769c21baca23f04043ba4baeab4e58bbb896c7cfdf437c875f050c8b23f40fcbd4b19c7d3d825b6bc8cb05adb21799113906440572ba897ae84a2ef34000a2b6c0a9972dd6fc9ff10c4a9850c5b4e05a8c6b3f69156fc1676650317e611c49eba655b7f7a818656aad82482816bd6bc6181ab0e9815b07d0f3f0b17d29d11af6c100d087f52e0ff435b98848b984f34d7ebe350fe8be2d64c1f47d40ecb0d9afa2d6a024702b18aa8052e65485cd9ac1f25722bd6dca2175302e7d085f11002f55610f0f2e9328d90ad8f736318ad195772c5b761d706a358dac064e8008efe66e21ba25a09c4af170497606c76b9ec94f58d3105479c6851e4fd4302b8c121436e0a816c0ed33ff993fec4c597f9c23ddf3c5ecc83f13792f41fc90b10f51dba9fd8fed84f5c807f27a9c268c07ee279fb029654fce1301fc05bf51373d632e360460a3f7ad806513c7ddf6ea4f433803f61dd716e4ecab7df8d1700a2701af71bb9839df1dd8dd2d509610a67c0b253965fc46bdc31cd781abd5b93c9da84d0d8725d8886a344ef4fc3463f00923803965a86917e8f6647099a362c877aee495acc99cd4c33695ebd7d4da6ddf16826b0734d6d8a2cd700fd50c5f195ca534e516f39b2058d717400b653d2a84cd88544207f816bced8251a5d605cf18394d0ba164ce2070f56825d4404dcb1b5e2cf46577f93cd6d6e0db23c93e8791156bc81873c13a848136fc797a75ed8409a1fdd098259572436874a2ca1e6a60000f48ca72428325f0c9622bc2c794c82c4876345d77cfb435aa6a522e0c3205c596ec3f27249af0ac0e5fb89c3c6eb36351ab1e43ee021e942700622af119fdf38dfc112b736e0681d6da4f7e6f6eb49c83b2416693a1cc233fe93c1aaf2dd798272b0df5c6a2da82205ab24497144244b09bd8bc9033e30c175818680df1f675188757f2dbc04c0dfc32f3ea6860c9259e1aaccd76d190f04cf668424ee87c1234ddba98263031a2b67b9d80b3e9430bac1988edbae3e89b42a90fc0ea3a25c2020c53414b465087ed3459832c46d4e159eed36972a128d87606511553f5e8dd00c1fbc2fe840be77672c77e2ab7afc16019151a6512d9b427e442b823b7d97dcb6f8996d02a00afa26c4f7b2b051acb8b9c4682495db84344a25f430c15c622aa63abf5dd9b17a7a65d52b112c687a03062df07e290c830e4b6fdb8b454404a703205cf7677b2e438dede1b31a1b375a07bfb5da47c19ff0a418e986835183c82aa96f3fcd3f5a07c71e73ca12c0a08240c5364cd43170fad26569e452a65401242260aa3c0423a2c5bf9dc275b665b5284277632226137aff0132e8e762491d67c325914c83d6065b7d35ac87c40d44ce113819797159efa5a8556cacb934e7a26d2158313e2db1189a9f13ef56755290f058a8ea27a60894df94ee0c19ab0c12e59e9834e33614205c8c1b8af7abf3d6fd73684c11a6f6460613a5e1feb3ff88ba4c6b45cba84e13af64fbc4a910e93a66a0c0d5195258fa315be91f808948a2cc6a4319568154f86c6e6e12c28e10f1516a159adbf36a4ad8f2d020a8332a3bc870cfa86ea515a858338826e7fff187c870ca8f6f5bb1ae60596c1324590166e55281fa1299597f956367b175c4b7768333a03e7a1c38031fd073870672cc77df741b6c9217eac97454c13f29190be992ac84c158f1b217c5d98a41aa3a543653c89948aa658e6b261271521661140d21bafee865676dd8b9124c258ce76d76d388c241ee270f766f48c11f41c68049539710ad237484780c165e4b67a5eb0a9c11875ad2c9a08af14d52e42f26a9ea8eca2f58907504d03efb396fc27404f446a79341351c6a5033860fa9b423caf0c2a04eee083b63e9a0ee650125f292ebc924145b6cfce704ae1b3cc5d363a8bcb527d3b0b2f49ed4cba2a7d2b19806b6f39288c82c42c4e0740127c15cb8f3f0fda4793eba10ff11b2508987c7fbb5e90d16b9a88fa5e01eac2be5e7f78cce1d8d984514234d8e13860435845660bb3048cdb82e53d0f1576e90ffe2db77c4c062dc23906d7271f525440f08e5f92341a1f3716d728dafd28b759735cb33b18645d62b6e14003568aff0564160a8baeb364b3c3b3057077e3586c0b38a95dddbbb570bb9f259c285a47d5a45f1176363768a0219d604e632a16d6b966a704d8215313684b25cd8f2cadccb98eb6b5ab71d28efc79dd875f1bed0b6b8882c6736b922ef5611be5210a1125afacf35f24dc5324366be493cede708e08c1463286fa0c2fc27f0803052ff7b3f8f898373c0450562c844bd830c1b12e5060039ae03999c2b45b27a98f4682fd1faacc158e3c3670b75deab15564340200b26235355472881107fd8a0be23807ccebce4e4f109fca5e02ecbb2e7a1e2370511c0d30024ca63984b9aef46732c1c2e16e1a7da9620a2a9eed12897ee7450ee960b310fc3e6b9781e8f3f7690973eb73c59d6f4dbf9c93f422c62e8ca562a967b0d2709968f47055ada1c6c55f3c313d4cfd1164e2bdbf13530edbb06be74c3888a24272af6731c3ca18961cd04f2733ac682030e386e37c42f81d42ce9804772021c11053b63f0c4c6ed434669c653ff17dadeb14f11c42ecde3ddd352434ea3ee7fe9561d98b68c7458e3253189678e1a379de64eb67663659a5ecbedc585de4384a3d6147e6a1899d3c4ddcdd968a61b96bc104905476840a371e79240d04f4e65c025682643044a91427d6a7a0c5a16ae7db230f4eafa471a4a76b33be2c41c68bc913fb9915aec58e3f964e25a692db9d341e8ae6ad8551825ee159ba629705119b2b788785cfb35449c53ba7b12dc82903caef8334935c6b837316ec850b184b5af320c7f485b5316bbe41139024bed6352533ed43fff425a6107ec357ddb9b456edb9b4885b1a2fb184c586ab959a83b815f5fb831d7bcc4e0b6693291a2ab34b9b4cd4b718a8bf2d4726cc7f9a483dc26ce082ce2b025989661ae98c337ff0a0f79b0c38ad6b2b5734a6570949f4fa37ac8a0320137aa18beb44ec065de4e5816856ba300fab61a569c3b4032ab53394c2808907e67bbd31613412f8b8c5446392f7f63d85b19a05350be970e6dd9881902c4293465522c9d7ff87521b4fc8e1be0764f60e562a1ba1498f82252eeead9e3d1fb02b7d309c11afabfcc36b513e4332308e4c0052f2c80ae2e522428c98eb8224d61166cd4c7892be4bff52ae3af3a1b4b2618a87e3461e2b0d3cd0c623d2fd6d5d5983e84b1ee752d4c6af38987a4028b532f32492846e3bc451f9e2d7f47784639e90a6381a5a9750dd6b34669d7062a20d3f8434f7c6e6a4e71f2e1489a1426d290869138e40ccc1d2bf2a3436aca43ad479ec025016c3dd0489d650dbfeaf393f3e37eeac8c23a43844cff2cc754d860344ac4b288cb6c3572c3d1187d6a7dac037273827b2041c510f1167279764bcd01f819d623dc85ad5fba6bdf3e2f098d902496ca0ba63f45eb9a844ee2da51704c93554b00472db9aea45a24a11bfb5cff8309a217ce53a33da08b40508dfefd1d6a161c3e27be738c867fc056703109e8efcb6d073810e7b9eca1664be393a0c6fad2ea838eba73cc43efedd1b48514a7ef353417984600efed8dea2ba89803c0f0d618ce0d55adf9216017e250e402ae44a75f930c22d7401dc3178e457da27a684b4dc600919e2f9aa26b78d55eb83e7805e8bfc208316c30d66bfee5acc7099f37fb482229872135775c109877cc9725a0f7bb9c22a85e3a290d1ee163001ade58fde0597c11d20a12fb8c1cc8fd257b7daec422657ee98353ac909bdcecb5c2df84b01d05c14d1a852d996fd5e782e8e461090a9a5b2f73eae6b8c93141b748f70ef95cd4c45a2ffb2811c52c6895a87ab701238e47999fe4d1fc736d8bb278aea63d0d6f492ab7cda3bfe0dcd8dd53489086c846231ce4e0b70b0255fc1bb1ee238b2caf9235cd475e1ec42e96eb6413f4ef3b21576a6a1863dbb1a0ca2ec419e06f7e4d4e7d784e63edfc1e4e997742ffbb98061f9dcf2d40807632f679e6802f2dd5abc85ee80eb9ebba6c029df7e4694193fce1488cc4f457fa55a54ec604392fbd57a2a399fac561bf3fe2e4bc1e20b87df06babb4348b8cf5018f8fefb74d47e4cde78e0628e473ca4b11718c29793e5efe229f8ad542b932bede8d59db7e95189010ecae3cf3ba4b964c3764d6d086a47390bf4c267753bdc8b19f693d282e1bffdb5bec2bf0d56e93f433ba1c6cc609a80972a4db694616e28d3c9da6979e5f36824be8afe37196054ac7250b8191b582033ae7ed55cabe2e3f0c07d94ddf254955ab493d10d66fc73f888716b3be77486d4621ca7b17f2f3604cf8fd5872bd8c13c33d3d4f34ca3c953e80cc8fffd0891d6f9a0e195e33ef8e1d2b2572dc977e29d17172104a8fa15acbf7ea4cf3ec563cc97d9c0479075ec8240fdcd223c14715f4e5b8035aa2d6bfaf0f537a3c7e24278cd74d6a8cb7bbbe3ce2b6c98a4656aa82bf2e74e7c0682ef346b27f03ff788a27a2c3d17eda2a3de64a0fd3a8e248b2281d061ca0001302ed069dd8eb905aa5dbfbbd64119805033da62cd4c9305a9cfa3eb2a72b0bdeda86d2d435479e215adb3e96230ab48da5e1d8c43a0ee212aabe1652197f17370ac8e3405613ac6b052e9ec40d0e58305c15a7c59981a253d974d7bc928021aacedc33f74aaed08cad5cbc860422d9c94d4787b9bf71aac584ebfbe2f00c10040374735b528282cd85a703a7a9c441704609449612fcb6b6a56f6b6b2b8948428808d944227b07f70d910d3a0e4ce44b08f41c9ec3e18b954b9b8374d0e93fb75be42ece66fbcbe6f89ce6289d3b35e59a52e632975d7279667ea79b2380e8a52c7f57c9b2b3902af739c5a67378fb38959eddfe7be9f49f52ae19954e6fcffd1af9d0d9ad529e99d9e6dee2d402f1c19bd2abfcb23944cfb28de8a56cc3f2ec1cbe919b664baa72f8c7f2d4a5c591cf9243f682e6fd43936846fa86711be999257d4e9f8148df5417914eb37fb6434bb3914e22e598959e89be7d13618c09c696886e85544555bee95b2c3dc3aa7f78fbd0df2d4ba3fa0c71a7a4d1fccccccde2b853d0e7d3e618911e49a9c3205437a9f2c6d15908ef16872515fedc5afb3d7aeaf49faf945d6a7bee1f4c29a5ff7c3e333ff8bbdda3e3404b5ff65429db6438f24d37e1c82c03fd83f7280ff9348ce2094bf4667119dea697365a63e907cfcfb78c2b6153e9fae3229fe61fdaf4d46106925097b2ea2a9cbfed1b9d3a42a752964825cbcb8345ee1135be656ba0141a3fe31e52e36c933af7cde66d696a7b484d6db29bb665fa06ed276f1f9a2b954adf560e8bb5979e7a865347c1a5a77e596c09862a6157ac419b30decd99309d97b12be4a70259d2656c09add14ba2e33b2677673747c76746e40ba889ecc8cdb9406e90cce5d955f2857bf63a614e19e9a09ff0f5bad129ce30672a7dcfb85be24a2aa91a5d2b7dd7ec8dcf45aa469f915cb436460f9d842976ba77c46859568b74af5896dd7fbacf877ef2cebefdd29d3d3bf79969f17c96c99b65b9da1b7343d99d9e6d9164b73b5956b17d82da1d0b85b63d560a1ded0e91bbedce87fe9838160b400a36a8925d209710214041431d4ff14301a143c2dc25510c81c90ef14b1204237ac39d9e205c415b5356f9b245224e255da48c19269920d878d0300a2338d1836b69151df58cbc130672d6c6061d3148475b13bf5be8eb300a23a041477c690b4ad50462ed186188569112045b1c1277e417924c30e4a094b0b02a0a3028919bd3110c3a8a302411852980badd6d666e73b32c101163dac505c2c4e6bd40bd373c972851b27d563197c8978de3f25c3295581aebcad1725621ad9eb922a70f6e480d774f253a3d570eec21d3f271e7024a621178ce70444fbde30e1473897cd9500a2639b16756c17386215a3e3e2161ac95b6424b3a03bd2d201cbc91d3345ca40315b941beea70482d5f429757807ca1af327200c9074aa0654c81961106b0065ac61c6891e9d2e240132d6f05893233092452ae689293dbf28096530512c984994ae6cae8a2bc6180f25695f2febfbc3f52de5527892833a980a1ba8e4ecd4aa43575264cdc995444192a050c95eaffbe7b25155a7eb318ea3a392a85e5410c5a5a3b5a96a552d4c01dbd7160b4e4cd38dcd31ef9227ff12422690c0972f71c328718912fa1aca3092108205552be70975a96968c9da448b4a4202e3eb159da37ac6916bee213f732f248cc7a8cd6916bd91d7bf9c8537770da9e706810e0f45c225bf006456e9e538991bba78e8e70eac89722dd6591205f75b9c5bdf675cb38ccded2e4ecc1dd96b694648f7a2a993043cc15a961ebf109a9e29156b632ee68df5363d9822a7b0855d6ca43a85c2f036122b387555cebdbe6b9244f255225f5c9b2661512661ac9c9c949c1ca02c20c59802aa8f74915ee13e00a348312e00ad4276d4360b8180184902fdbe575a826cce7d2fba735bcfd93215cb1bfdfe765082bbc938b17734040adfd06d45a265d716fb9bcad67c7d11bae53c9ac152af9cccc68a649346461e170562a67832a3bee686be37234d4110f67ddb0c7fa4013f2a72b5bd667edaf5e3b53c885a5a4d795ab54ad66b6a0d836788bb80ea5921513d10a0d2d3044cb38442a8130ef904a8a902aa8a7152d10d316206a3c676cc1661daa6c17266450a24b1aee802189dea8145a5e850503da2ae79cd5a1ad668eb69a8f56080ccc470b85eafa8cfcf6d51890975427e793852bc8e00d4072725633bb446b2a715970372ce2880953c4fccca49fe54343a99a91770577c39df99979e59d295d108358f030b46d908318ea8d23b585f78f0bd4c81c0d6184b3939f918f27f9eb24330e6d73e5130e7879997bc47caa993833c62d6c395ac61d2da7bea5ef88891bb507e310bc6044c34318851774e0ad20ac4b79c8ad340dd2d1a4a38e3ac69521e8f9196343d536c4bc6c109745adcc1242be649fd731c4ad9a6512b3485586092055d62deb3ca6b6b2b4927850651b725f2dab4aa87d7fb4655d5ae5aea5699aa66d9845aab49c61026011aa5835ce356cf2250a315ca1611462a822070d87f0022534275fa413fa1a46310615682b471fdcebf4dbc515006a6a81c017a316bd8ead63d152b9f2a946eaf89877fc755b13b1f5eb19aae8f98513910844fae24f481f1269fb90e2a1ce4ea0ce4e48df094844fa4016dea383422412894422914e6e9df4f9ccd4308e911e128904223d0422e5221dd8ae813a57e496e11cc9e0ca8b0eeb95008e063dbb08830e3517ca1b94fd6288abc5df5cc131027ba445b91d6c1b9c303136648286b78490bfccf11b842bfb08bdb1cb67df66c4d8387a638734686c1f7a63a716072d8e2230ccc21a98b7ae0179696b3e9abe6608636097195c514defa3be6626e82d15cb6e41f3a306e635703520e167d680555f60594af348e7ca0b6f125f87a72a1ada1c2df495e17d694ec32d1f3fb13120a13f1a12410657e8cd8b10f6b0e9af1a5fb18ca7f317a7e129be34549979a473e5e1b13871b0c96f1e0d8c50458585c6a3215d71e7390e421852c6f8042aac6b1da6b42c161daf5bd775948481b24e188f25ea284fe4c5726d59d69c32e88215fa6a794eca988db0ea88c8855295618f10d205ba58b007b983d3f25a78a1a9e89351c516fa7dd50955f575c26050554febf735a59eae526f55ad7594821b7fb15c167c91bfa6660173d45ca1beaec7382426215551c80aee2573a894f25145c5225fb0cbcb0bd74b7961362e8f4922740ab3c331a2f70ed8a3ad9f87fc3e425f2cda86bb4aaa2028f3804d74910c04028140a0cc03bbccb7b28a6954e442c8e3b2b82b574b08baaf8bd6788dbc03c0d5e8deede89be7c11108f390df9f871ea21182661b37b8dfeea37b1f612845184a4e94cff190dfa00b4133bd067056346b407b0874ebd5c3bb459755503041cf6b590e525ad157cc03cb4568ee00bd0686982b9366216e8d6470371c62c2542226cc8533ff9038d2ea6c102a8131ff5f24fcbd0e8ba0e12d0d65304b6f106e10ce392f20320cc32414fa73abdd62b266f5f3b347d76bafd88efe7cce6ff3735985fedc4ea16b1059a567ce2d79b6e4e1b192c7eeab921cc9d7b3e791188d933caabc9ff3be3547c9235f308b163c7552c9c373c4da624817750c9565deaa53965254d314b79433f6caa35920d037fb68adfdc76a9aa6c568d7344d9b47344dd334cd3edb1c9ad534ed33d2fef9d67e4138c5d68c3ec7dbb66ddbb66ddbb66ddbb6d16c9c862587a3f77a23ac8a25edbaaeebb05a6bad75cf2478604d344dd33423620e2fb88a9b98f444a691d901d8428f7d404322c804a2e9af7a1e1e8c272649329d902f72d79c7d30abcc3c125b7a583a3b0f4f6797bf5bc53a0cbb0ff2e5e4988cc6ce03c47ed5f7fb79b2850f14c32414583eb9e499f34894524a29a594524a29a59432c357c912fa85865128c9d15b0edd3c2255743a31a998534831a178029b61c04628b81253b139e4f4412e611ed974e02cf93275b8682688454c3297402f9370e25d2a99f376a1ad45422155948705169179840812d20232afd074fb30c5203afd7442c2442364902fd2fb9e5520a1628a4f8a0b057d34927dd67fbeebefb3ada9998dd0e56570f0da2a838b5368facf5aeffd332cabb5d65ab32cfb95d55a6bad957badb5d65ab3abd81c35abb56adb76e18be3b6ed5ab2d1f8848949924829a594188661181673727272b61973b6ec2c6c8efaf96c71d44f16164795524a29b74f6debec9c305cfdee3fd5ae1adecfac7e6ead8a6d18866172c360609f7cea61d9570e471da3916cc48811176b06129a7ec60c989b38a229fd44a22984391ab1e40b3683e334fa1a8d7058cc0184411f6f005be8a9e4d9a7e2e33e232950bed42d46f6489e6b4e1f78360985a6b7f6dabadb39ad17926c34b80e5f97783b87a7e4c166adb5aa5cb07904a373a74a987924c687991a58d458c515c37c902f1b43b135d8e8d8eb6f73d46bb947d4f37472e1cadf9827d6bcdee4b64fed3c3cadfddab66d9b7342e183cae5aaafd2cfc7403da39e734bd91c739b734215207608690249bc82c81352091246a4984c2c15dcb376b4862184819a3ca2de3efff99ebf37c232d99a2defd10b27f1f689a13ebdeabfeea9f5baae785d10f46dd4821b89cc15fa4a7334ddd14484f450bf67129a9a40d38f6270e5b36f8b67f24c23640f200c23e23c0261e879329d2c0eecf2f5356feff2f3c80c854221558609d1d3d323fff996bf9fad91b947e4a0110883462ae44bfd26af7dfb581aed6e9bd58542874836ec09f1c82abaa84fe5aab9850bb2ecbbcbc624188e54a8601e913cf3884c02943cb007ecf42f9524ccb07ce211b57c0f4b63e7e1692c77aff265cb518fe52d6b44b7e15d74f9104874ef5eb6c17e92455b28eff0f42049d261e984fe5cdeb2359fcbdc23da00fdfb366d08242fbfece11311de34b47c87b7c87d72042255f45b149261547619e9b37badf77edfafd2dd9191123726813d402ae40b2631cb69f646e8f29bc4a3138fa8b9f7b07e7fe211b5f61e96e6c1c3d35b8610c6c7e6f8dce61e5173f9da1cf55adef2d847f9842374d145d906fb4dd4f5a16c03a2bf911fecfd522f4720d14897f70e5ade87fac485e23302a7a05c457da7df68709c7cd7a37ec24828e40abd1453b850a1e9770cb582c7667bbd11167d676bb6dc236aec55db3a5ba755ad1ef923e25ccb024ee08c688c34227d9f915b94d3ba2856336de3ac6943255f928b64c39e2a822c1a332da1b1cf9e9a0aa9ba1ee3dd876f1463fa7ded5c4f48206aef9612094cede56d298991ad2417cf952f1ff2b5f3810bf5b573f124b176f8f56d07bca5def7309ffa442f757d8d9a4f0648fd872300e71affe1a90cc48d2cc45cf9fe43867305087c03c3b96203c3b942833ffa7d2bfcb9f27df730879626c60d19df5ede169fe8efed313ed1af8e9fc2279a4f06483d1f01f8abe7a7686c7c7f19ce6c83a606fe017b873a85715616672582f98c6f30d8422255d76760aba71eea6df5c060a84f316e69a9e9a598f1eb161293a59991e5dd1103d37c77b95e957138615ce6caf74ff4dd5e2f6f88447fafa73aa23c0a813a9ab74a6faa1343ea68bfc7c050cbc01b26d1dbf6efd6d26f9da5a1597b168f7cf1bcff8057386338bd5b3c96775dd17a74c77ac2d4d91b52df6fb646eafb178c59616f78df4caebcfaa1d678ad79ef70d1f7df6be01ff00a67bc7d185bc273a3be9815a739c62dea4db3365c74fdbe94ce270cfe7793a5f9b2bc7147539d11051d6338575218ce958de35eaab4343a34a579d3a7dc63e16cd0db94d31b52d70ba1ef370fd324899a72787bffdc5a9a9b77b8682855323614a61686dd53162c587c5f3d2c9e69927aafb492482b89b492482b098d3237478d72697168dacb34b66c4741dd42d1aa235f50a73f591a5af3b674bdfa5eefdeba597df1ac28e37d89971c9546997b4a63607472d40c93b7bcf7fbe6ba6aadb5d65abfa987e3035a51665b40efda84876db8ffd0145b389f7a2f431aec722fa7994619ec46e65d75f4e7375267d5bb28a55eb6d9f44bb2af9e16797f28a594524a3fe7e275d8e2a3160fb5384806e0fb02e0fbf3e1fb57a95c5c626a76cad17cba5e16444d3df56e45198a511d8d1de65eb6f1ce5d83c134b6603387500087b007afd6cddea830e7ea23111e22119948e48ac9de3ffff2863912bd65545f0c7596655966e9cb657a2bb67cfe82376c89cc2ba594561ea83ead94524a29a53cc89c527d9a3711473f574fbd925c9b8964c5dd3757fdbcc2bc70d9f56ea8feb2cd76faba6fa8c66aadb5d65a3f5467c2c824a3102867ae5cf7bb2ada2064f2898763ff5ce71df536af99bc3f01e47d7bc810c25c3b73e5baca28d4d1d861c66994a9ff5c5a86476354cb7c57bd3fd7ec0d99dbd0dcc3379b83d332bf76260c84f401c8bb4200ec5c492e1ff2feb02533469621ba68296fd5292ff9fc8b323279f7803da5a3b7eda29a070cf5b66d78d39ba579c0515b9acfad9c09437562f2ae3079df97bc3f1a79ab76c8dbc525ef9898eb9b8ede37f2844b784f5d92b5c66bef15df80ba76b5fe06d43593aeb89fe368faef1cc6eea5a3318ca3335c95d0f486ea2dd3d8f2f9cc3c61941216fde464ee7cb71b8532ac37ef7b93ecd4bc739a77eee51c2cef5a6bdef7c293ebe49a4ae5e272f21c1978571d236f96a7dce21d2cfac545784f8d62ba0bdef4a6ad057f271c261f4a3f95ca2586e66dfa865d4f5cecba0ebbeedda98ef7cbe3b2f72c5f7cf28a4ff7f086f165baaf61dc8431c1e4ada68a514d8fa57c46d21d9ba9c645676f81808bce68de7147d31c1d2644965421492a1397c7a8767884e8cccb9b08ededd77a6f85710f068fa977d427b9b6dcbc6bdee1a27538bd8691e5ad3a1c5a1a1d728581a336c9241386ab5f3954d5bc59f20e164d7aca5d1cda1c2f4e42bdc0ff0ade5585f77581f7775d9b39fac2016fb8d3026fb8735d056fb8c3026fb8739d242161803031ba527e7d9b9c8e3705e311904d87aea7307598c26ea5bce21d2cfa4cd463bc81af98d8f100377c68d775df5784545dfa13ad8d4fa637519c72d3330458f449b649f9e729efba2e95aa15022c9a669beea16f1f1c7a8743ef88d4efdecf5be2c255ea9bea501dbac4f751be3fd34ddf523b627eef959606e579de6f40ede5bd83f6ce1d475bbfdf64366b96115b6e1137df48d5b5c2966056c897ed47c9fbfbbeeffb7d577db2614baa3eb9cb5dca4f3076c5ae9f948f76b0689a53322755f1d72310f9b269b1627a9aebef9d2787560151a6abc730accb5b63d83533314cdfd1dccf484a6b29efa84bdb15707272b2e94d3320b6d4cc94f78d644094a9b7569a19105b9ed16079e3d04bd77c63e99a8b98bae61d52d7fc80a86b768054d17a054419a86b2642aaa8f7fabb2d6dfafdf6ac8da8314b5f177df3bea79f9ffe7d1dcedd37f72e67376f2e9fb2cdbda551d9e684bb8964c5f69ee5ed62c535e58e52ee95ab9f2cdbdc4b6b66406ca9c770e915972ec765882def73eeb399b02555de331b9f7bdfa2097f74bb87eda966191065a0de36afab58f65eebcccc0ee28ee14f576b666dee71697a4bffb8c17b4297a8f5a7cfe9e7a652d4d4887c41fd325d3b44f97669737c6ef25eef1da3f7f45ede3caaee81d212c0d1f71e1050dfec9d7adcbdd843dfa287bb6fdb113ae34eeb7dbdf79efd7ad947f723b1e1d64c1fbad9e63b976d4eafbf995ebe99fac3f2be99d45eb6e654f346c996546df9e496e9535fe9e773ea7db0d753d3e727a57f9f8a9d7ce8c9e7f3b9e8fc303dc154e70cf7fba63a7409a9bafebd042ad5ec15978e28ddd35bf518a6f118eeee61d33fd8922aecb774fb2cdb94ea397b987d46d6435b31efa7d3a7f6769b552f6fa9bda34ef1be45e8eedebc8bd0377584be7977290ce50a9637dd4ee9bd9ba9eb65059d3b0704c4a9d5f46a0780e31da1b15fec65c895ba939ed153def69d29974aa05b9a84f703b4fd08ebc050cd95a36db8df4fe621800cc3fb1aabbb3bf79ba3b1536c5d6fd1375139b75488a82e961d17aab1ef184d315dbf7dd09407ac95f2c074cd3c047073e9ecf166c22cfb902f4068ccd3c0addf5487e21da3e9a9ce84a9b5564a6f240c5c5dcf8c68c8e247c549f9213f1a9580e173e66ddd3a39ec113589019abeb3dd4f26ded750aa72cdb00cd0cad16a755db6da218e75aa39999ae3319b703427375273526f9c451df115217ac02542cf390f04c59b7e8453e7e8166b3c30bd7df6889a6e47e813ad3b39942ad269d7656a4da727bf52a56d9f91563be13edab6d0618c2b37ec527a727beee4a44fd24933937e77b3736391f2fc2d2505db2b55398505b6248d9cbd6d03818a506d20bc1fa047f73e2c148221a84f9c00dde2f90902418b036709bdfd8483f4f9130efbee9d05619bee139f70749fef3eb34de85db66c8e2df30e2d0eef1f0bd66cff00111088081c347ce20346f41348a82007f759d375144e4b033a8eeebe595c849d53da1afa9977e8345b52459a36c7769bdd06e1fd03810cda1c5f0ade47e894739ce91b855275728b493fc15deece69df67a435994c73f419c9611c9de2d5942e2d8f682da992d94df5da693de5308ab6183ee10116e839efc2746b7ac63761fc2a5ff065bec9bad8296ff1549ea77692ce9d9ee41a528652c5759f9974933efa1607905200aefb66b7ed881c369fe8ed4927fa93cf13cd35f6f327246e937ee2b47c3335976d527e926d5c7cde4c3da74e71f1d12d8be3ab719171c8ff6ca192a5cd61d2f95b36cd694ddd2dca4da6eef3369b7e9369da77ffcdd438297c9329cb5b6bfabf997095aa335cd3650ae53bf72dd25b8c7212de4768128b94ef7fcbd8a64c9cb1b5f3a45b2cf567c651db9fc60f6d8e947c948f6ca6d906e51c4ae63a0c290ab687d6769df67f9e45def8237aee364fd221e9272c9e7228ab3ec97bb2c050ae90f2ee3ec2d78ad029cf53538ca53df769717ce7ce596b37774aea48b886e669b99fa0a41cf513bc7fcce73d7a4abe99fb666afbd1b9a851503e3351f0f7bd438f7ec2fb083ddab252095b7ada9a4b4773fff0098efa66628bf7a79edd374a5b29d2b69befbe2d1eb04993265774a3cf1cb00b9a7bb534a32caf28873004b27f0ec24564ff3c9eec4f36df5fcbe2fb686bec6fdeafdbd237527b33effb0ec57d9aa85edae17df343eb195bba9ad1d42c3304b2e6be7542e4ed18c039a1e1a0a032a152b09ad0f33f48a0e7ad0c819e63d05dde11d0dd27de596a6baf7778c747db6b470d81acb9bc19a02d9d616883e6bd23cfdf4459ad1d5280810be418639489d9d389314693e953bfeffb1c01d93f1901dc49b9499318638c3146991824c61845a20c81d27754a1a4f4512160ce264d80c848d4c0339b34c1c10655f6cd0e3bfa09e36539247fc884a1397325275a24373ac1c4092533ee1346b4952d912f5b0f12f9b29f44be6c4b888e87513c3144c76754c84d0a2122ad04bdb72972a40a08a6414e7037cda13941e40bdce410f912e54b562232d19f3076e7c6d3e0922e87c4c76d8a4885de7496b71e21dc4bc3288a40856744be9cbe479ddd1242732c217467c26446e8e7a29d9dcad59eccee64f1f59af2bedff76f3d2e7a6749f6963101794ee848f3ae1be5326c9f90aa5110ae76bb73595356204ce4187a3c7605101db952e9c3659bd159be6598e526bcf21166f906ed97b70ffd8dfed9f5f3cfe12ccdcc95ec5d766c49f62c3b28bb283be9955a1bdcab7cc97e65dbca4a38f50f0e1d84f7b72f099ba2ee21f5f6a1f147ff300bdea95008571d639775085ff419d6ecce84891f6cc9e7832dc1aca84b48981944b02b8ce89883848e1b632244c7aa44a5d9cd912f94064d4898d253b7340a73a9d433900cb0ac98d828c5c005605e31f1c976b0e81216651f01e1eeecf6fb66dfc1a2e9076f16fdf91d92655996e5fdb9bd49b4e15e21dd15977e5f213733f2c12c3a333261ae909b441d659bf3bedd2247adae0d77df1c6cc9c8897b91902f28ff53fef81136e1cd7e08e93836cbe8cc9cb6668efec1a6cf977d1ccd365ce69e4798c43d75138655631516598659b1759ba5a99fcfb32cdb2c3b62347671414807a94227e1d045386a2c9bd32613ce3f601e3431b7c1c343a293f0be9ac661308fa8438776956d8c685cd208bdf4904813bd941e7a0843adb1a53f9847d43379f3f0186944c62a80bc6b0000b064c2c4ea43de55262fe921ef2f8e2c4deaa76dc6615e68946e3a099b4e4513ba74ed092580f020896f090fa4d0a56bdf300eea1972a7c554c16add76c029c7f8a70183a39e81a3e601931e83a38e3d13460a8946e6c562ca77f8102919ce951d3ec451f6740ea3f276215d71392134bca1f0e65874d068f927fc5dc3a0cb1d95d9e21492ce7de3c42058fe642fcf94964f1b47970eb5e952484411229242e4a9ad30553ae93330d43018ea170c350d0cf50e1867451ae10dca3b5874fe87b70e9d491c275fb497ce7d831096706664777b7284e44461052192498c8b44074824131d9568a8a1de50b817b825c56a5a4bcb53acf61938ea96b7804824120914fa4c267bca1ade160a85fa7ec251be70d76ec2a7d2617ce5247c2a7de53048a4138974329d4ea7d275f88b434b83caa7d259aef2a14d31ea13dee01d7d944750b8d08e0e71b4cc275ba39d7488ca50aa4edf8d9436881e52db70ff5027d051517f789b0efa8dd4a17c2a5d7596cfc85329e360b9ea2faec3b714f70ba41ae181153ab3a5bff857c23bea12f792ad391d853abdf8f7cde6d3f296008e060501fa2854c2a26f91d3b89b6c0de9a64352d6e1f71cdeda539f99a5fbe12d23bff8b6599a549657d33e23a7bd1123c6b7c8a562e47dc2512ae5538d761c2c77b94bb6099de550e3e8138e130ed0471f651eb309289f70a8ae5dcb36a1ab0e75088bee439fbe491b3c6213cd9df419798e339dfbe8e3b8d363d0dae0f24bd75007fd74d1543d84794c16d5f6a175f809df48cda2fa0d1eb189d61e2df79ac3b596969f700ee730e98a96efab7368396d79952f391cd37295aa1c720e3ac06001b22377a42afe05962bf12a2c4752c4731c87370861fda24539e51114eee64ea72a5f70b4f6694bb686fb2997ae5994439b3a10f9a2b900854443e080430b151c70c0c14574814d2e70c0a3162a7188165325ef2fdeda1aed5ade5860d2474fb89a4abb11e66a2bedd2d268120af9124f1e4767f12844c77f5f902050460a812df15690b99d60a863900923776e2c8d586c2ce6e9740eef0668ee2414de96466d277c03ead3b7c9b1c026ed74fa0da84ff9c3a4d14950737807d62cb28cd832ba86a74c027bd8c979d759ca290cb5dc9930298f29b9fef3cbcf70aed8945c2d0e6546cd41241f3ed952a44dfaf77d9f91586b3f71f806e4b214da49df2e285cbae99f99506b3bb02e6519b1857492e1688823600f51c750eeae1d8444c73b6d8e2a551af7482f97f79677b0e8faba3fbd6f2c838e9f72475b1206ae668ef723e2807e4c1c94babfb0cd13215facc75845f7f64421f2256a97c3d509f7ab7532611231d4a3282013ed15cba11109ed7e5e4a79b5482d0e2b7e66d298a313f148dc39225facc7a85d717ed4a35d34b668398f9a70b3c323a3286efc50f2857efe2a2cf2c5fa9c53efa8378d2d31d725a48abe095790627f31887cd9f1c88752c997f9237ccc4f4fc824b6502bb65cd67564aecc1f3157e6e79c92c8dde68c99a75126e66b831e1f8f8872281e015d47f4ac794b00e7e61de38f989ecd72854c686cb9e40e28765490724a29a54c99e79132a99e339761bb01751310861c020e8668f84cc321e000095dc48543b8c1159ad3700837180367351cc20daaa0b920c5a6a5864bb402881822eec49db81397c01e427a5f2d4f608a96f26bd1f2305a0ac00509103601c9100a088292c40144e0b9d00a243948d0cbda912fa7ca891e00970c81e4cac0268388f1dae2b4e88cf3556f7af6e0d25b5fd1513f60c2d4b932c475822bf3cc998b89717151a9fe6f7b80650b1035672307a46559f886ea798b06979bd1ea4463b813cbfc8011dcfd7da86b3e608795bf0902112d3f205acea8027a9d204a4a6959746a1fd8a0cab672b495522b8d50c0d457eb32ca6b622250c869fd9a7126b9622a993d57c89753e5261549680df49e56d418638c51ce9e091393909625a476e04abd239228242e8948e684515511dced2287982b96fc9c2ecc7a9cc2ba84f90e8ca20848684b8815daba648eb6241217a37326d1d65ff6a789cc2496755951096d1d33011225d34232ad690d31613ead570e5cf9f232ad9c8d67832a3b33a2afe822539402115359a600687037772387a5323662c28df76470e52d2d5ca8733784e28e9670b32f32895768f869b88a44b8cf079b97f2482962e31f2e82b11d300612e42b1b9fa1c1c759fdf0c353d7f1c353c79ea239ce3ef069ee23f51f8eb3b2814fd86d1c3fe31396ba0e1bc735f009fb8de3ac5678f51ad7b17a8d63af51e337b28f13f63b57aee3ac6adcc709cb46e8b871207e00b80252732035b9ce95eba903917df800e240e41b1967b53ace0a67b84a653867e60ac3550d0c57382b1b1867452bbea13ac3d13f60b8a2c170b5c27095611c9d31ceaa06d579c3bde7a80e5d020697fbfc723b9e0beed48944b02595ea504a8de89d1e6d696a841ea13af4328a9d23fa9aab0b5b62619f96ead0259470af0d964fdcebb1df7ce2328e882427475b34b844a4eaba6619eec696983e9796eacce0d67bdf5407077dcd3da2def7188c98ece8a1bdd786e61b4b63bfb174107a4ff762d6758a845221612014d7691340f4f584bea8111e7d5d740a7d6d7a445fbf58b592ec50895da12f78c241e186e121f267a68efc1356f18e3e30f681b3c2c7b08ed457d947c517df079c020f967064e583e63e56f75123f58a378e2e92fac5271cbad677afc7f884007c1bb7912d90da5298894af33986eb2fe6fec13596be4f611f3f9c897accdac05e83c05eb30d772cc75703e3263b1df9a91f203f957dc40c0889c2ce2a751cdd23eafb997971f714f6f163be81074c56f83f1cea14c699892f9f7044dd3dfaa0c93fae9c9e1513a6fba8917f402a9c41c98a09ebabfc031a210b48564c74cff88480d4f1712af35896a63b66006aea70cdb180c897ec57bcef38cf82140317a8b5ee7a63698b8aeb662b89545d157bf8da49c2cd80648005c35e6bbd3b58f485008bc6b24dcdd4481352753da104d5b9fa7ad4b3523435a31886418045d76c4333c6e48a11cfad39f265c32b6a10f9725da05fd70e96ebba307dfd6e4032000251ea792a947eab5e86008bbed966fb6732998270c0c5643acab70fa3dc845150be432975f2b5534f4e4e9c87b35f3ca9ef8a1f6566c6a98a61d86764966d174ffeaeab08f3c3a38c77ec3fe015ce18c6bcd5eb15b9b5decb10c0565692eb161517662367d52aabe6ca95bffa569d84f8e10780ab1f32026693262b1b3966ae5c27a5e1d638cd63967cba8c57a7c127fab8caaf814f349f8458adf2e16ab57abeaeaf2e218090d470a58ebf2112f9727f79df2e7a29cd45f267965edddfe1a2ef8e3b38858d1c89393108ce27cc079c2ba99c3abe8ed4f1b163fc9c7de0fb481d673533293ebdd6d3e9ad14aeb24ce4fbf5dd7e2f7dd78ec296547d1f8bfeb2e933d354c22778d326f47514bc6d37e1ed281484631251c83dd5a1b3133da11fed284737c6a2b15a6bdc544763f7ee5f8e5113aaa24c9fdc615c45c2ad99667a5f4e7af90bcca38c08f4d13797634c621c846380de222443c6a5cd01fa68fbc97753cd71f22d019fcfe7f3f97cbea54a5b2d699a0965c3f428251a3a5680cf6128fd8b8d721f6cfa8651507ef2687398f2a9de74824ff5de4fe8473ffa7df954b30efcd4bdbc75e8936379ebd0a67f79ebd0dfb79466fa86350d85c2a86d43e1538988786766493b41d9c102f3cbe6089d669bd0b16cf3e2f41fdea4bc834587b225552dfec99bd4228b4e65c8c8fb66c211a856100804ba08e4c510ede8f26f624ba4cae51b14e2be0ce188aea715c32eaf9f4fbfa03adb078f244bb5f17d3ea119592dc761a55228efd33ff523fc3986b7a9b70d91e8d36724d59930a97bf770c2c4c8bb9ede429e2e23efef45de17fd743ab409481d7fc3d63d39c127dcedb2acbba7205019de383ad5651b9799f049865285f20cdf77f4a47c7239c9d2282ed76a5c2291a8c4e78231ecdb2659b4771587552a2a284dcf75ff1cca171567aaa6bcefa7d67bd2b9a73069ebd0f71ecebe2fdb60d72e2d8e976b1a86619876178c619bef9a8e1112eeb7bf63df7dcc316ca31d0977e3e8e84dfacd3b58b4f6bd834563275dbb8b8b0b7eb9c59b8bc1fbc7159a746c09c60426cb2b23a3a54c2e92ba647919e9971d222ff2d75f701c2255428e7073c80145a9cc300c47531afa1f3428a86d722894cf48543d0a576cc51614ea75db2086a3eba547617a7851a778666ed3d2a050f23ea21e0505d3281bbc229cddcd2107a9a345fd277d8317c6e10d1da226b5b4b41c5a9a96fb80897e71924b94891af51c70d410a254a843889a568e4b8ccae5aaef39a84369e5a07ef14018d4ab44a141593931312e2e39554ab9615cb4375c7ef20dbe1c5a9a976f2fd8d29bc5c16bed58d6654921b3e9aa61b0b0a3551a36010b4382e817271d0b4134d6b00957a002c2e4a730cc18e314de361c1c8d727873d5912a942210060e38e080035d32ebbddff7ab542e39686ca9c7b0155b208644c684509d8d73dd47f6be55bc4fa738b6d0ca63ead2d475ffd0a78d43b37f8c70372db2a98e15d86911d883a5f1be41191726e10750e84d75e40b4cc20f9ed0d7e912f4c8459df00eed05596b6be42d8e4a6ceb1e9423919a6fa48ee1030000000000d0b84cde9696b9a5af71b8f20e274cfe0f47c0ea35b205f057ff215b80091df8ab5b20f57cb8badf628c183131cec3b71838eaf0802391184ac05c5433cdaf9bbe9956a912b16851b6df626a9d42eff09800bce21e6264c4c8c8601f7ac83b58f48b1c873c00390a91aaeb3462eec3b7c8c58801008e010303f319b989f2b6b4e8dba97e759c55feea3af257d90713f53e52cf59a5237ff555f6819f33ceaad67c8aa9072ba7f396f28bf70ccf4bc20faad03bbccadcc33476b0619ff219390a89ce1d14e3166f1a39e53278579d721938060ce6e1264bc34396d7a29bb4b19f3aea18df2ac6f5db4a12d7e14d527f9806aab067b806aa828882c67e02b3a0b12f00d2c09e65968739ce9e4ea61e15c8fd06542b268cb8b9daf4931134f6037dfd0002fde49ef7ec2894c5418bf0e58d03047dad208c1518271300200dec201acbcabc8b425d291488c9eef41969c2f084258a35e549244e843ded6123ae1bc143e6687becdb56324129bb598a1ac33d2c9639dac213b6609fc16201de37949725768261c98efb8cbc502722eeb3351fd91cd7d314a16876f2df092773348c25d9ad2e0cb5656251a94e9a464bb6c682189a4c25aee39868d50ac806ee2a250c30c68cf80d436b006db5c530c9cefb8c941b8e442c2bc3205f6d45b66f173e591a4ce528186527378d4d40d34ca68fbbe2a974c195a6b11efaa2d694115aa51227c29c9ed808ee3755cf5bcbfb85b3b698019a354f32b4c505d0dc075bd3d66494c9749d4e160a859aa9548ab3b02402cec04ec24220e97e022488cbea1e464163432558dfc05dddbc822b98165860e119d812738251ac8c8272e3898ac56506cec0fec1dd8c8d030decdd09862b0b432dc29b3ee1ca89bec319d8b1fce9c489b0a6273642d3be4d9ca552a9222713579d5914145b73140f1739f9c52729273905ae26c6394f3c39162c26962ab6e6aa4c1c412d5a80349c812240f9822b38b8981285e24438d3131bb145ce4a090384119ff205d8129f626d687a66d9594d6f9786f2654f0b7096154c3e37cbcad9d6589afbc662ca685d9076f69c4d417914940d1ec5d2c05cc2b04308b7ed824fec803dfa92225cb5878df0ce7df3345c8242aec4bfd46332f15c0df4adba33f24574ec834318837087f186b70b977a4a3c49eef55de2294111e3e292a24495a18408f9b289877b2409f1f2bed9c4a3636581840592392d8d28b3602255f1f703179284cc2cefeb9184e888d55cefb3b842c7124f098a52cfa66269266a07ecd198853d1a75fb7d3ade54dd659ceda3b628289c9752855c893945c94b297076a5a84518d3b29492c25111a6da922fde7f4b23c2979e38a50a2050d2d8294bb4766c69bc9c6235b922a98abf57431a54832b180802185b798c390da384a086a0542057e2bf873090ec1ba8abed1f0c2448cc6afb06360f73da889bbbe100a3ecb24bcdb140a263668184c514f2654e1186247274bc5481c7b0842d578a9294253a66954d7738d5222bb5a05c0b5b6369daa2844c3b04874c17095dc608e51519444ad52a6c257b98be7871e590434509912cb6c6820143cb7011d0351ca4aeb46f18c80662565a0e5257a09ce10a7694900993a264de8d12a2e3a7830dc2d3f2294a26cc0557b08ff4b51afbccbb6a8fc4595c64cbd85142929030db63a7b16f940a285c21ed3b5b5cac7cce17c3d5c445ee372ce31dd6b607f9eae6ed858c0270984215761036c115ec21ac813476162c6c8d9567c1821319e15d0c2403b1c9ea1ec806eeeae41ba89b8733172eea55616c6525fbb7b1c028bb0905260e006160a779c297bd78f1c2e23c7ce59083ad390b0bc679786a10965124485ddd9fe02077757bd01811b8c3905100cbc180213509afe00af6115682f727d840c5889bab83adb9dab358075b731d2ae7e168ad165b735b6ccdbdfc4263320ae0626bae4b0c7915154e84a3f6b0a527ceeca844610bd64263c790068683ad39b538444d2920a1cad23303294d9a3469d26405048443022cce50857de20b679f115cc16e81700ad2c036d6d855b6c65a9172ca162d389111d66faaf6be592da00a7b08afc015ec20cc035cc1fec1433022c316ec132708536617b6e62a5b730d5fd84215f60d7fe00af60e97e00a768b318481dd93b0057bde0c58b135b75294a42c7991a264aea42c49b142c7bfb036349da2040b2955a42cd9c057294a248df81cac0da953ca70850bbf5358ac29af0869378f1d5af225cbfb87be2284811d0717292829948b93a9e4e23b71e182e4c2c5c8850b51e76286409feb596ed332172e5cb8a8980b7a592e6474e1023aa093bfbc2a5071842a4bc2d959d0c2d1195a2e885cf187f543e2649b44c10ca275591675b1e8b503c50ee3fea2450222f343c8971839d0c384258468796811818209129df5864998ec88448472092d0f475384e06e17970993c5e018f31b6ef441852aa9725115c9ba5b326292888ea4215fdf25214f64c2440893dd5e5eb5c335ce8754d92c73b8adaed4ae04d7faae3267ca9a53b3911f170e362d251b54d95c15f60d9b2322444722d6be7a886cd9c4143285deb4c70a0993d384137ad31e21490c51818e44945042d39ea98397442a747cb43c6892e83cc585444709af1ea98ab2483d4d42c2d42c975015e84895a04bd026a813f12628974c9859bf5f67ab5ca09c3a4cae846ac89a902a59859e3d360d77e6ec48ce2c1a2efcce8c70463089ad000a1af4e8a021143420a223877da374cc628d45ae6395d22b4a6b4a2b502baae8a736dc16fe823015ae64878756ea9a77b04c2c55522535863f849b65d2daa8b4626bb82abf1fbc40b059403250e4b28e3d02c9406411c11ea246a5f6685b0d7f41163db1d70cdbccc7ef4a955d038ef879e5d3b44e640532b8324e6b5e61c62672c62652880e94a8b484d9515225e3942aed4a8cc5195daa9c28a9a223285c9c5ce5d4b085b74e5b76dacf7bb1628fd66726c5574f9d715255b5cb18ad4339336b5af9df95f9d60f5c681dea8c05db06ef080af1406cd7a1ca8ef31be5ce7113ef3ae3316c5a9488ea838ca8591c9ace327b43b35ca09e9f592662d66affc1de27b6a7d6b4f48b5996456cc3415196c5a8840e65a228c3fa3cef49248a4279dfc849237739686f4ccb9a735a2ed3fa1236a2ffd013efa9ad7bb6665ad63a9df699e8d62422c3d2d74944db7356d01cf38db4b49df3b087d0a7e873072b12dd9a53ce29a7cc7b0796718b88ad0661d5589fd6a74b9499a779cec9d91bf433dbcc8b64c416ec84944779dec6bc2d8db79abd416f13f37d6673709a9e0879687dabd694116568ded75e3d73ce29b2f397c5d63d0863a7de37dc61cdb221ff997d5f56bbcc5a6b6dcd36d6b9dbcb88329b66d9adc836d6b1677b07d6f659de3b645996654160d0fa00a195c27ac665f35d9e9930442449b27323e70eacb9ef1df4de8175f7f9bd83bd7783bb4d6771f6d24a2bb1ce3e2537350c2dcbb22cabe32ebcad0a277c620719516612d116e6a42a2735e4529b8dddfa8f0bbbaeeb768451adcbd947dd6d773bb2dded283ec336dba71ebdebb2d1b38cc7e446b6cb46efae7b9d6747f7de7de673b3c749ec3a09762addd9111485ba8fec7e65774f7679dfd0184c331dc5ac0831c24a293dd453d3bce3a975ec3b7e38ef762451de96e33eb7cb2e4a692290260a715ae8a0d7acb938ca2184f95da8fedd4a84f6149414ea642a7d27a4912804bab9eb9ee54eb35cce1eed8d8d63b3654d9b5976bf14b93d71ff89ffe2bfcf17ff7d766de2f3fbd93ed8fcecbac4f7b968fc64eedf173f5ffc7cf1f3c5cff77d3eef83a3cc776e7ea227f5e5fe8933a20fe8f319d141b9f4812efa53eabe7cfff9fc24efaa2d92f5b948a5ad8ff5e16894d18ebdc3f4248f5d0a9390a296b3cdb95dc9d5f988d1a821b6e1e143c7aa539fd57abdb18ce3e307c41eb3896dae4f9dc528931d660cd3d1114915e4b09b72cab13c1fed0d9b2cefa8b1ab6766ae589fbb622a1206e18ef548e423bd1d223a9b1d4e294179bba47ef38ed19204ba44b0231a84fd93af1e8d7d7e757ed0599cd4e2a6a370c010aeb4c010aea86008575860085732c6f878a76422260c84dc51f2863b31312ea5bc552779ff1a4b827daec721919cf62cd32853b34d3c76d5c4633bdeca34b6cc1d14698f20a5ccad960c88e87968d1e0ce21523563cf146284a5ad195cf949c4888c524a19ad695952b5067905a0f4d2a175edd39b2f614baec8522996305c7958ea6d72b348497eb3386969bc5cc2406a481af274204097512674d0e9de67a6378ac23dc9d7902af9107e6ce93e9fdf7bbbcf4333f3fba7cb279f99a72d350fecd69051a6c7d546ccdf5c1865e6bdc3ab6764083fb66c4d9a8444efa408834020d0761c4b0fa1432206c496eea1dc65bd913ed0bbae13894422d1c420d07c77e73f1347832e7db38cd8d27d664a7d45339b53aecc67e758f43c86ef354f66a6057bf8cdd3d17d7e9bf2baaeeda218462fbc75f0d82d8659ab613c760d7e8318476f95e2cdd301577005edb5fa1171b41f714e366c50653b9daee19989da9ae99ad648a4d16724c791489826fdd0dcc6d1dc498bf8743abcda51d825b6689a76d4e908d2e9740e85a13e1d853f1a13172db8032a3496841d58a1b1d7775aa9f40d468bb32ccb1dc2cfc8ed850a85d266dc1c72c86183f7c5b7786365e5d1d2ac5c868c17aa96431d60c080714f271d586e2a468c18313c14944dcbbbead349b3891c2a73dc69dba205fdc323d0f77d92fb2cfb9de7f67c4b747024e3aaa509fd8443a76f1a7722711a47834eedf76db337361b029db00b84a1bd8a429a767aba6e80b2b655d179c426a04f845d208cefdc43a48348dc67255d92be9fb81337c29babf0cba81949e31d85bda360d904f6b234023719732013cde283203d40a259cea2e4f61cd1aaefa8513de8c110adba4a67b31cedbaceea2ed94dd50bceda885af5ed729c7c41fd742291b4d3e998ad5275ca11c8e974ba6632994ca8ce924c2693c924774c1cc964b2d606ea206d04850bed25699744daac0dd4597ec2241d4038a26679d42c2c67b9cb673e233f0c6334b75d34b7559a1300000e61e212211f6b23ea98437b8387a33c84518e3039c27344971e3aa2e4c81124ba74ad0741be254374e9a16f95d3308dd3c0d9345ca50ae63a1975b27ce05800ae60befa01f3b011b596610e6132942aed0a1d657453de2cdaf40f753a8f2e5d3b6265fd0dc3f28854c56b2c8d48558c4d98f24b89d35e7e45fbc367e0938deff533eeddc47dbba4fc9f91db166d1ca6bcc611f0dbf86bfc16d8e1f844f31a34bf8e94ff347ff6c1044dd6f1d7c83ef07f1f3b444bf339b4302958a5b5d3511a474279dcc954a5ca047aaef9a894ecf5e4a19c640ccd0c000000000314000030140c88c482e18038a089b2e83c14000e9fb0506c4c1966418e520821640c18022000000000006098105788d4e8978cc4068a0b4652063b8849c5d287ef7284739b78b18b17b63260ab815a37f962ce841cf2067bc27fb9cd249cfb8474b73d092054e1d6bee0a4f32ac53a707ef834b40d39a054caa5c9e86ba35889779673c4e1e6b239c63927885238b0c924ab82b9b700b5e59aebd5e9a1afaf13dde113a71c38ad018364cf542eb37b4d80f1e01775f0695b6abb2c511c48d294fc74d28f389d4058fa3f4b9a1a17812cb41b53a956634772c9008a55f14ea83587aef11851aaa3b744674e6f64d25debd8b5237154565ed61441499d48963d8e55cd27353d1e5fae2138193d6108767b2a8d8bee82109084c8ce5060e0322bb562b50b2c6db4534f1107e3cf34f9a38960149c1528b6bdf772d5add8f121df427025103399bce3e35f2db4263a7fc9917cb736aad393831466e71f40d2531eac0c10142462694d3a42adb7302e34a168e97dd95b2fa3a27fe7230b75c896c6d9571f3ed886d2248e6802a766797673ff7cd9271da4afb1840046f98a4c30df8180d68e17eda200a22b0a42264f768083d3f11be2933e64c9319ecf35f09bc93fd3ead75844951db6f2ec689762e41e949389b645f6123c4fd3c697ba95aaf33cd9bf1a0d2155300349d269daad89c8b43deb6c8a476b8337146fec26bdfdae610b244171c5f61952837cc8727f78e241cfc952a4f6aba29b322cd917c163887ef837b02a8806dc80ba88d04d25a4b1c70cce6805fc00d7dbc6de1a0f2ed13aba61a1ab7753d8ed82382a838e0b98b9211782dc1dbec739d12e6f147a268b7f2580ef4aa6c49545ec041f49586793ebc49e119a47e710268f9a01acf6a06323948b2d0be5d4f022f030b74f61e4a4ec31bad08d300ddb0049362d7ce0bc28548a52ff9f13c71fbdf948c825915abd7a2f549ea66786c228cb846c84ae70208a68f8b7bff50a1cc0c0b271114fe8edf3460aec00a6eed5299da3c44beda0cbca1ed22e06a5cd0249615ba415c99f0c196859ddd6db3c50036a8c3994ea15fb7fb63b755201fcab32eea21bbdb29eba0a9ea56c345cf514e96d0e75d122793e9e71873a496d267250f3d56981ddbfd4696ec8c3436a666a8bb1761f7ef81dab30335dd6ef1e8427fe0d152099672c6d60eefed6296512b1c38147516a3efe3112813e253319959f3e3ff333097c8804d7aa5c5c1b39c569ccb9b2ce0707543fc4b479acc642c9fb7ff4e86f397074a15b8905cf3ec9b131c1bb7f8ef21772750ac95644c05b67a72bff6689bbc29c3468fab89a59b593d268eb84580bd4e7e9aadd5dedae09df10422d65051bbb888068dcefcba39dd524686fc935080c3a952d5872556c0dc8dbb08de138821371e9a845b8771eb3d71194db1558fc70df6d9083e1d580fc1b4370ff37af555f234212b32d8288e60524a171a71fc06d73b142754f102d4b328ac70c30736d6ac9d3c5da53356eace0e871c49fc95e9c98ba693382e0409d361c6e4d753ffc86f937ec302660c1ae298f2399055b7d6268550bbb50b182ff017f1d330e2508be7c95b822d303c15dfa1fe2420b5e0edc43fd5be4dad95b123cbf4d2722aa8482e30233507a0f06059e3354683cb603e3208e967cb23ccca1bf42ca7c2ff043c9157d1c7c9cd65ec865fdb6298fcbcefe4b98025501ef3fee416545149eaff4e01a8883e6ad8911b547721ee24fea93a0ce5f7da68999cd3f74dc40b036be5098dd6b282addc4e4fbbe8eed64e48cbc534a5ee2e788b780c948bac76de9d20067780a907eb9f1baf9381b1a8a5ddc4e121c1973046850aa60be20c3121c4cc4396a8c74edc74f939b89f41e5a33e3ed4a65aacdde6f67af6cc53e1ced34d05003828fb951d9030ecd418220a674c3c782a28f444230c5cf2c2b8d232088756afcd3126478290b7200b73f5b672ade1dc758a84af0260a07fec5cccaec33aa2b805db18cf77c0506ccf6c21e54ba44c868d045f3a6bcaaa4629c2cc9fcd6cd6f2331e337a4d4294d809d3d37bd02b5336d47f1ff4006a129455caebaf53a0113e5bde9ad87a8240fea27edc433a1e293c64b45197992f5ae403a28cb00041cfac295ee49f2dcab780282464cf1e4d298f1d19b6f00b8acc7ebe4a20b7769c208686de737cc2f1d6d52d8914d268c6e77b80a448f9e3790803abf9a2673f793200fd72e7e8004ff77b6f520fc5404db554ad0fe419dbdd140fc4bf5fad9fa4c90a151de82f848efc1270ec57b50bd8e7bbce318c193ffe3a27d24d1e1f51a77f0e7ef35d6e501f6920fe0ebc70efbba173bd09bb97794c2121982e11cdc5ee31e3ebef01d4bc4eb8f2264cf8ab9d2e4109d3ac536e01aff1498284033d10a73cb953e1f2d5aa429a340e6c6fc225c5d85b911f4702ec32c06e8d25780b13f6803add4acfb761c7631fcb39fa237335c2f34e09ff318aa21e4da9540e30ad8fb4faef96feca43cdb93271e32baa61a4d768923e1dc104ee9bfc4c628b3954f7370030a10f44025508a4f1506ebcd591f79c32842658c0d65f2f01983e0eab1a6ea253633d5cb7b8663d86c7799face2a1390380467a173bde0cebd02df19018e7db7055bc54dbd286faa3234ed71304e58c2ade4eb97bf7411b965e5f1dfd8ca7192a1b754a3459d23a27453d23252a52cdc5f35c64a4ab8aa45064b4aadb3f9920db838c18768df16be2b04c2fcb2caac65844bdbd251045c570214de931d0411f83b5dd6703385fc8d501286078b7123585febd94c385a57cc4cccf06981421ac31f850da79c10bf62e153028794c775887de1125fe9038197939bebc5f79667ae91534cc98945c5861e3850c811458a67444526016823306ce7948efb63b1070a3a2c81134a495acece4e9894268a12a5bd3c487985de458198516249c84373e03aace8616107b178c46593d77cb750eec9e5fe194f59c45fb9ab4573fedffa6a80b5d21f77109f85e142e8b208db4dd549c885b61b7e8132c63347c89f4ae59fbdb3f4b39817d09b7b806ea5267f05480ac0546dacd491607fb3fd70f203fa36f55dc19d6f4e77a7dbd50b6e1975eab9bb4272cb2e49cb615b34f55a511f54bda6cd85af1b537af089f7db0611c7c89fbf0ed0a4d568b25755cf4db9bf3eba16421e2daa6d21f59f445f363f7228bdd78da5d7b6e57b4184d0e935ae86404172c9ef73c95f809925751fe477435f69af7f2326437e29b00519edec9887eb6a448c5d412cc102f7b9ab5314c5b5e7154e4085a76a5d1722c5fa1a0a94a208312c784505712611a6a627f0fff3821c633045348cb714139fcced4e66268492757aec73195e7c662d6b39446c97b0621a1f2f0732f6c688fb57bcbbb4033159d5a6494881e76f15c01182c5d9a5df0b302804cbf5abb3220f34647cd7865ceab558659f73ee15d0e86772c756d3539244c96167d6932d18fb54215b8e1e9145d28281aed182bf0b2a4ab4203130c96b60951b9d832104000f5c0f8a90a984896a681fe86c0023235e82ac102aa7de5fafd80dd1615080105fc24eea98c0137485135948c8da1e12f837fd51bd120b1c2dbd9fd5f396529da1e80c7357454c3ba12e2e157ed08066d2406ebb06a0d520a174c058a58665153a3472013ffb967e804e3ab777e744be07b12061e404599828cf367d43bb6f38cc4812a39d194343d36fe458e8e3d697d07670d18e44cfb624077433c935c9a679744a9b3ededb6c5f8c674331e29e959d3d57351215e036d4b193de6855cff7320bb6698be99fefa457c2aa411da84d9dcbf156935f312ed8d5b3a088e6c2d3e154e241175cd254f8b4275c1e5e023ecce7e6327922acf05bee4ea40eac6d10025f50ac198a5c097d866054fd13f269d01717815661d19cd4d59f58c96413ba989c11b59a227321dffd2c70f81f427f51528891c252aa0330c144e89a19b142cedca8a214e596d971237f96db4082efc403b5d73076f68255d6b78c5f0d311f6408f080faabd117b317240a8a1f3189092376fb846b676a46154dc9582ab56430b86001421cf98bc0cac926dc5e580974aa03d867af7214f52262aff26e0f05fd202ec2298cea9f41e7e8c2903aa5aba580b090319b0c0f5122a34b5761408d149089db59734e9f4ffb74bee0f9aed666a1cc3867ac32bd7b3621339a1e7652c6632f1105acf5c56005a3512fcfc098cad7c74fc00aef0b6ea52af0bc9a0d6137582e1a973d1a085588f9da9cf671720af59212d2ca15b753b03ecf58859c0e7d0a93c9816293d8bc3041b2298c6139b1c20831fc30704c6de7edfe5680a53e3217c76af37581d793a88f53acab63a96516e830f057245bee19370132a9b7e2eac281babb30851563963d2b11a089fcc52353425ff78eefe964395540c30b2f7d711067833b03f06870c7e90080ae90898a7ee548f2b83f54bfad2ac89d3e66089e16f68a1e5ce8776de65555bc94017c38c0df26855e48d2b00daa8c4eb1495824021d731e6dc412c300e800e9931408c8792c0dc58d4ef15801aac69cd97c176264f6fb80d8b46187209ce09ae0175cc2199b502b501b11bebdd0bf1db4d614a3baf0b99bbde8d6addb84b80b25a8019c91b9d7b005aba0737054bfe398ffc4a963313ec45729a8422a69d62fcd18c8735ec47e61613862ebee49020c7ae8e6dd80910dfeb654bba1ce19689f02100a82135f71df073c7b60c4eb83cabcbcff712d87dfbe3c30a176bc9aa959e71928876cadd843f1de85a110081491984b0959ad7b85ec4b79a80a83d049fdcb677dbc202a4c6b55e5156d55c6ebb57a290f02001b6afe5f356a514015edea2564d7e07b925d835cd5e500c4d77d436a0a0ac04dfa29ccd08849de001121aed05e9b0c7d9a3217e11ee25597c44c6479711a45f55fd1682384d76b17f5e8ccdc9e1630fd1dcdbe974c35c77c14836890caaf7b3047b5bc1255ba2e6723238c10b4af0cb22831b23a8913a738047a00faba8157cbd89729e918e5ddedb10e9069741a6c265a52d595ec120a0b9a8a9d57c9eda06091adedaa615bb56fdf3ac1b8452f96173049393152ce2b397232408613ab175da27ee6ff6903d9de4290ff8f42b7e370464fa3541360c8ca8f471e3e853491bc39ffd250faeb98c3eb0f102670058239cd1feb2ce82b29e16b636610473d8b2e837c46aceed06af9ad061b007b2c007500f16c59511c9bea59a103c34183b1ad7477f0a99a4180d391f1cfed967ddc4a5208f582b29a4baec27a42aa125d1e232d811648080dbf1a228e01dbd4b34c37f9e2a05dbfb0d561421ce4de9be92320004478a4b891b3eb2b2cd1bb69b828ed9de7bd06863c7bf9e2c3453bed6fd9461975e5f842017b320ae59ea60b06bbc39fa45752834ea37b5db8d648e824cfce014e13bc9e9e4c29fc152a7b57ce96b489734249c076f49e7353d4b95d8c6bf1c974cef46879635082ee44d891f5f978be1a5acdede3020f7c0ddb6a2560ad6228dc9e3fc9a877bc42c07fcf583812c8aa9fdb70c8ff31b7c5bb1515b32b9aa9c44b6efc4093230a53f2750038e482b67c794602c1c53dd7875be6dcc129081de6fe1200017a18db8b01826bc3d9ea4e50d7ffb273260ba886ac6be34dc0dedb37552976fad1f54bec8610bca7000a84d8377e4e6755b98abd2c00c702418845c6d84091e80bb95879a2ebb53f5b9431d2126cfa7bdd953df530f50e44b1fb0bdf2ae5a98768afb95d6d4f162ca61eae073056c803c49f5e58e4bdecef68dd60d82f8a456b18e3bb45d1dcd9a25ccf9719ae02ef88590e704b7547ace5574e33a1c2288af20db0c5a5d344c6e8f4305a4175be9107698c3cf2b3f37c560276568ba8c9a127694401229b08b4844932d11a71ef772f09afc94eeb90fd68ffe905af2c83cab37d7e143ca90b0651368e16647dfb5f9179e5f3110aaa4ca42b309597d71e9bea066d172c035843af844242151cd9f1e30672aca2bda972f968b569a9be215ddd43fb304253a7c1787ebc8a332e7eaa4552559b1795532a036cfb928b0ec0e3547ea1bf9871bcddafd2829d1540c9125bbcfda0d06eab7d80b866b626666269ff61945c22119261a9e2e3b5a7c491c68d62415a096dc118294c107e041ef6850c616bad251557c7d2b82bc1552acadd0c00d5197344294e69df438b8ccc5631a1d2dec0ef32e71c775edce0786f3fc27987bc9f6270b8c9f50c6c8d51248f2437e077f0d42a2945967192552d6f3d11bee8eadaf1019e36dca4803682686a3c756b4ba5d125816b99207036629acec9b4cfaac1b446f50e1970533259d82ec91a27b53124aafb9d6a4a5c8814239e2f2fbafb2e77ff2261933dc89d01ec776eae5fec0b54f18d1ea3a25b5bf2812b1d9fbcd3e806c0fb74363b60d5f6bc01c3f5f179663c2434760aa81999204cb9e51b5c5ee0213db05ae252d2acd22e99663ac80dbf0b44a4786091694854719497e49d67425dd08f3b4aff8e24d10adb3297958254d1d067fe19241b99c24cd7be4d3a97f600722a79059fc6c9b4aa05b3c9113536652c9c8804346b5da96f1d8a22d180748b9faf5eeaebb195156d6031b5b15c0d911eea6853f0d7d0183f4fcfc08842dc4189f8365d2b0e0a9750854cfce2d89e6e7f8c65c5b729921a99f1c80a4b93be18448031c722d9b048bf50d9cff1e9f7c229212cfbe2343b23d0247fe5e0249e305590ed336a206eeeb3832e9aaa6ad3d5cccbc1c3807752be3e53ac77ff63650c43be5e3d3f752190cc3492e6e2ca93b5b5d5a8872550788295146666d84f7da31add40f8c40797f4caad19127f496d6664c463d268296553dc60aba8a0ae0f5b798bba6cac65930331ad98bd712ac5a2ff39e500de211ad04abfab9fb20499e5b7820b526c2c717173a5146b2ba269e26a8d236c4a66ce9e94b270bbb988b64a544daa7c014d883ea04ebc4821d45401cce4d52c8957ebfcda87d14afc5faf5ed01c880115daaad8f54fcc3c1146b0d5699fc159879a731f7a752c047a53a3ba439dc3c914d48a593527bca569957ca0ffb1ee708bd8d5ac0218330d1dca743a9d60f8b6e46c92255c11e927aa0804ad9e116974e0f340ad43333ebbe27887b9ccdc155b5dfe613b8199ea045d8609f0b1139941ccb46e18a9c5cc103ab9042f27a0c280083133d4226420170fa7f3a4fdabea73b8fd0465afdc49eeb12ca2b8d37e54724e5566888581d54154cddc97755581bcecc668863bca7af917300de104fd3f17b99dd09da8db78e77486fd5b08f7ff6135540d0986f2001fbd8e17dcb04cb87b58636a716dce30dc018a4ed0c385391762433bc20f99e87486873a46bfb015c9473aca142d99a135152f55e33ae4f34c175603916a1ff63e99e14450155a0b93be11ee48d3b67a6743ea4208c1452200808b4420001712f63d4cb7deeaf4b9cd199ba04b79ec17d9305ae387c5b9d205dc7bb802b89ec8e954d7dc86e3c08003f252706b73777e74abed5e95bb7c6474eb1103a04258057c68853cd104900d091081b59d64cf568d07b93232b1dabc2c762ec71cba31cb7408b81c436c05fb849e4d411970b052c9f2f3576750e317a45fd9fd4b608ea1ae1ab68410a4df482b96f54ef34574d087b44e51d4aa93ca86b308d2661017229739bd3c199405f41aa101226c63de064c706708808b61b2e3d517a8a4200607a092a37911c8203c925fdc9b1031996352a1821faf980ce64cb84bd5114752cd4134af6688d9e760a6a719198e4d2ea3aa5b2e058e1b2bd966aef093c638c6dba8d5c3d1d342119a4298bcd62ade6e3aadf00f57b830481b10c8939e967cf5baffe83c2bf8f659ed04709c3335d237468725be9496f562a5830ba237767425d28a857a1cc0d7cd5a2088f821b1cc6d6f12e6d2660282641fbc0ce0c0ecbf550ce00905df31c50717d9d040cbb68f7c26b70f4b46f66157b593ac0b96710a84f141bf8651d43140e3e70da350b5aa0a289da919ab49244715d0906bbd052cccf1d8dba3050476019d4b08bb614996bd2340cb5070849eede88d67e5fa2258c60eaf6f80db528196210cc6205bdbea8275e2dd4f6b9ea494f552e3a64dba3165e516cdeaaa00d110a251950c96f68a0a7cc310c31464ff68d9ec9f6c547152f7b8a2209d2fe9da7a445cd949ebf4a96c4ec3217489fd0dc006258beea2662edd08106628fb6a95a4b8bb96a3b0719663a684b6a8b7b9e040bfc9214054077d9f20f1f3d878a1731038f20e4935fc3a913f0c1155a4d2fa4d9d7dfe6063bbfdabb26899e6826573f7003004b820b728e4e964b3c1e31612bc80c2bc40345013707cd9e9ffed9e4a0cdde4b8e8f1f6e01da330985ee87bd5e94592edaa646002ccf2e3e27cd05495c96a6b2fbfa9430c2d290f44884fca2df553565991970e03848052585bddc6b26ee2aabc010a31b63061acf64f34157ba556ed3ed16115a59047575660e8f9faa795ac53ba0df3dcc91684b6506c9918bdc9c93187ac2d23218e4d62d52590b5d7d0fdbfe375bc15482c9ef82a5ff8aeed96c69c6a15ba1f2ade05e553c7da97e3258087929ec6dadac944529cedc6e6f9b8f511ac7c0c891b66c64633b92f46e987556d057239c7c1fdddb8186dd7cc162a336d1f200fd6b332df2846f237137ae094bf201c4ff2cd3acc3dc5b87a9f6ea3cd78f92c8011ee61b7c94951a1e5a2ccb36da3127db2a259e16d6f53d1d94ac5595a44d411ad8a8c9faf37740220b859370b8984b013e3e34c471f638d30b096b04a72da6c6a04e70fa802e10a1c058faa97e2a920869ed0a7a50db3a49000a5d1505a68589f57afd25b3a993653d4ee8d91223b8839b2cf9b4437d44935f0275ff1d55dee96bd9a2059d20c3f1d72bdf3a796ce6696c6497efea081c7dfb7bd6c179b3d3e51c1bef45cf833fe85db64bb70f3f92b04a522643ac875ce59f59f21bc78d1428812f0f3a53696f0d2db68201c2d279ba703fb53c1a452ea0c93a8bab02037db6d18b86fe594ed399694f9932b2bb9870220afd3bd8584b3414924027ecf1d80df2d76d809836d0f1563d31e27f1f224a8f588ec3020834c75265114269367029c8405eba34869ac4dbaa2b6d1f4068b0549df652bc090e14b70a0786c997805bcb223a95c4b9d0db2e8021681a7e12cdbfbfaa6c42b1b5de05cf7678d7d13b72d75513485d9e0c931d668943e5d23efd30d5f942b204e1722ea0cb4af7930443dcaf7e9a361d68664c16443064eed4e184d040070e5e47bf284105fcf40d5ddfb76b4f5cda201d33716469be357dc1eccbbc092c11aa27a65a103b1fe15cc8879a2bf40867d0087a06b7bf8ea714eaa0aabd0abdfb15625006363a77900a10a67f003c3f9b71b5111fcd987f5c25d9fac2c1725d8f4a8b3bf6b80e861d126ff53665d57ea196a656eb1a5415cd942159f38650ffef2627e45d798be0229c3726d147df7aa760c515f302e8e402a068d3c9413f9154daa0a8b22a533a3d7327a0b79e9c956aa749971b1a838df69e56cd5bf2ead34a0199e11181c521fb1688512d427e52d8ff9bbf7ac35b53d22f269605730d269caed46a86e0cd2c199389cd33c2318e0ff569c6e1afa945712b279b8e010108ec09e64cbf9e9f4a208b54e5baebf574e407fac881a593319488674890484345964b8f9890573841054b5c400fbc32529b35d22b3b3f16449e5c7380732f1131f4140f20a763ff827f8c1b7e380c32ab5cdaf5fdd2de3e3ea042117ce14f26ad53c9948d86ca4d559a292f818030b203b6ce379b01aa37c18ef2f92cd9882210f63a1f7cec564944a0ef10ccefec19bfa35379e6385b14cfbee4d1c55a288839ecae716079723abbe5c35fb2a5673201f0299286dc1d579b35f12e10e23522309b30e7a29eeac032bd97088995b15e0bc257895d934b86c76f0f3478fb5496c984f2c5ae4054af5e5393cce58028b254c1e8bbc000f81f154529afb39f6b5dc3be9fffd307f5b6c989db2db8821a34187d2889a32d96204631a09b95608456e08abdd6e651b1491a0e585a8b179b351bc6244671c75ec93a11bc7a36771ffa6a83bccd5108bd856539ab212696929911b616da07c72e989ece74e060607b1971c83cfa663e78397b999d08ee08690aa9d346cff3826e27bf6f43893f85b6404cc3d051a46a342fe5d484c25035af4f17be11f7a240dc4c2601b69a812851c8d710d5d46c3b04debc3cefe6becaa54b22c15506acfe65e83ff824eda90ed4db1397caa8f30e7447ab523815171ad6c441c5a4448801044873eb2a9246717b89e8e3e00a3c84c8fb11fa3025796f01b9faecf5bb5bde0a12bba96506800748a0084ade037dfccbf738d5d3466040d798d0442556927848971ee9c483e9e62a9dfb538643aae1584dd847698a973b04c4024870391041c3b48b8681321a4914c8b67574726178cd07ee60949acd1d719bd5f4f1ec4528da776a5078979c768805d452c459c84297fc6efc536fed541f53476dd1549492d7ca61829d751236370c8188491c3f433f22351cf1f602d29a0e8a9bba41af74db270d7da77943d71210f55d3c7860c4c9ca9f4f8ce8946ebf719741a17baf5391c6229a5d30e075821a34d2bebb676c701c0ccb84260c76664db634e338dea1379f1322e2e534e8ca2a12c97a279741ba0ee5625ebea1ed6230a0b344020a15ef85ad8b23c4e6fd3af1db73f07646a28901a92649f3f9ed8607284a27ffcc5c006bddb4afb17ba64bea81d1b1c243f704cd8cb2b19b083a85fce855ada19f047d7e931b43ee5af4f05bc174360f4dfe3de21af8f5f55d77604841636760992624c72ff8029021dedd080b15faff15697f1753d4ebd053efc09f52cb0b6b4bce06303ae4ed21246291021c6b769a19e4012c3c518bb34e65ff069c62c07bf02ab379878b2357d0f1fbc6a559922548348f87f55874dd50d8385ea4c1630945d1856323b87fe8bc9d4219cc6138f9629af00b64c01df145ca9a81eff0c0a29c106005da33d48ad60f96236ba6331b60336c71f6255c3fb215c0de5b321f05d9d6c01a464a960ade1a9c23e9d54a02f73c419d2555dbe75df9f03b0588717143e5815b72a780637930f7936ca39dcff3d13bd48c2e861dcdcd1a741f8e690634a9fa97776e4c8cf89216decedb3a125e26118142ead389a213da06bf78b10616b323bad9b758d1352b8d1eb33e3d2098a094292f69de1f24452ece2c166301d556e4d7fdbf90468b6105edf4ae2ed4fe093b3236b2867bcc415fbc762f3f44543b0dd2b947537f2643a9606906dc4b065212cdad8f2afde264b213de84e8fed6ac84a1f59cafe98c6496e4e0523fb61584376a6950151ad4667c0588b32587a77375e9f5f40b3738a6cb8421fb61808185a5c48b03a268f29c972be66d6e904c7e256b86b33bfb05523efa9c69739b873d16bacc0be8b1f0906f4e2679712e353cc012ee9266addba81e0ab703d7024d727977be56baf80d5c8aa5716e7aae0d1dbe36a2de33964dbac1fda3150cd68123df131eeda81cd0b2ee1366ddb43e1c86598bfb3ebbc268d677605159ce3b79f2860ffd60dca45cdf4235f6c01e6f3d3ce8a18b13391847f3305606ff65b384e13aad81803d3ab3b2e195926e3b665fec3e6c6de3e8644f3f715253bfe19baf8505f688a477326a9e663786a066aedf660a7822ad5769214caa346f4a15b2e1512542acc81ec2eb1048771f700c53d18303bea8a378727a06e30de9bdaa13302e7c96e0fe75cc5ad727a75fb2a48ac85338217dfa04a1316fbb76ab287fc97650d5b5a1beb3e26d21eea810c7e698d955b7554bcff640ed17a1fdeab46b16e38187dcc0ecfa606b3614de4e07561c913cc6bf794d69aa7be5766948a578da6904e6bf55cda6eb4e10cd8e2b1ca2bb31beb9ab351f44550ee390e4d5bc15865dca66439ceba5e94d0200a8ef2a4ceb9ca580ed9cced583d240e83c18655740b074a92ffd687d26e935ff24f97ea0f250c02fb8fdbd004895c851a4ba387890a98b720075790bca4b5ba3a4ab5c69e64692024259222f2854dff0e96f40843c22f2ecf924319c81cd03be35ae8d706a531db8203d502817b0fa618a3931f47d384064dfdec7ae3420b734e0605d94df1d9c08d082ffd616411cf3772778523dd9118d6151b93b451b4325d64a7fc5739bfaa40c21034c4bfa981ff2c59cbc83200986cf422341978af05cec614db3eb32facf3767970ae9bfbcd00d2aa1f6fb5532eeef76ff744c260a2323fe890895cf9caa8abe61f328d778af435cfbddb941de400fb36385d454840940e4a856e87b2fa7b60eb81aa641e580e548741c85c3f080f4a109718ba5f9c68d38ad5f7438de291bf0504d0d9c6c18905febe0ad56888eb9372e742baea6ce5c3941e52bfa817c59b3cc2e24c5e02c0cd11989eaaff980261b9d642f833d7943e3b83d7db8d216e19eaf02d797a8d486fa50a86ee5f85e18d9e7a7c1b44cfff1ab1018195208189907057ec8b0693409ea34da541280ec5f4b4d8563b88815288e5b9bafd49147c52a5813a24063623ae18651d903bf2e0b40a8fdfb1958acaa2ec2abe5c2ea26639d4f1a35533b188ba2abf2de1fae5524cbabad0fd38cd8a88022d6fe8fd52a55754a726e778248499d1f3a5173694026216f39c89d3f4465a5b967b7c79e7097530167c67786b7c4cd6ab05dac974b5a7a068dcb179b18462da8ec0c7f081c61dce3a800ba0cbf7d889333a9fed1ac0da83356ece155909e320f97b5264f666aa1c6ae6b8327034bb61fbb7597f3010f723b1a5a8404f0f44bced5d5a4abb2a0958aa44da0a9653be11bae17b07907f71510c46642f9e1a648cca6fa10a3e68e39147785d0cfdf1c5c18f16fb157935643068b82f21e5a888d38946414db857e138cd1648675aa9045b65d20cc6ecf22f801e8b9e2d7ec024cafafe33f02dae44a206414262397f9006ead84e4b9c66ce6516feee1298ba50453cf31ca6e33959c2c4b76edb9892e08e59565cf8adc7b129275a8f84d913abb1ea61ef2b51a9558a9f7ff48eaebd07a8595148c8bc00cd9d45b0943cf963ead6f8343f3e6e2d6750ca1200c8daeb7b4f172bd059797cd270df5b9f888e507089ddcb8a88bfe569be2a942c90ff247b036330456e89a1c177161e6d6b6e5284bf2448345f49db8f1596a222104034adcadd5d5aeac3fb97e5f9fa1cdb696306d62606c53a883cc02c6c4e1387aec59d604443e0deb6e129021afc6a0a98ceb34e2ef6454e7e7921bf64e93c33ac38bc0287628a3565b7cb37377b2f3aa3807cc841f2bf227d154e7e166bda4ece0329e4c0cdd8cb2717984141533350464e4b9fc62d0fed432c430f7208d1dd5babf5dc7486132d51e24831914a87c57cdbece0934e33d41cfa40fe46d0f944b14824290c9f1f5e13abae539797244fe04951726ce7133d9c3726b6f90d273f143387f94a6ee8bda61fa6840339cdd9408aecc0ceace7f1bbf5a98e17aa125297a3eacc5a80edd42af37c7e57859173a9105be945b104c3ddacf313f94ab7f93c52418759ec4554c68e2c6c85cfc70265f6edd70977d0445d630e2053bab931d2cdb2e97bb10523fb0a20b2c97096095943026abeb9d984f7f83197d275b1e1dab8c06a6b67f32db52f5520877fb32ee00797621cdce5c624dda9d02b8eaef43c58c8e7181ecaae153cd4d641f83420783ce7b0549554acf742ebdf1ee39863a5242b98d07523946a3bd28f668c9b7acb1130dbc7cf9ace5a10b67f1b385924e7893c1732e97bc3cc09fd14da05235db091fff205818bad35e12a9fef4bf27311b87e32c76e3dd99b25c1af84ebc9eddeda359d17e72bd2e5580793719eecc692249fe1d87ca28dda6084265ea7384286768b9d8f42d37f72a098b43a2fa8a68f3a0d83d47ed9c41a60a267fd2193e00ec2529b7b8826ad9521eda15d7957905d37fc2dbb3179d11ff90d1491ea01a5a489400fe2299622d8f393d62209a8c5d8948a8a35e6c271af2b2fcf5ce8f819d5e8be428e10c4690064fd3ff9a6b2c924c00838d98f9f09f3536f399f79b81f58203b7d3639c95ae76c21e774f92cdc8f3e5600f927f59506316566ffbe24831bcb5dcf9b7225e9b2e046fcca8958777beae379f1f026da4b9be2f8bd716df6f1591cb607423986a17fe7e9aaa4cb61fc88a540d2cc0284a17964688d16810395388452b42774a60dea63604aab59069c578bdaba36e5db9f4443a592cf409315697ad66422fbec6f3c5c042d4f3bf517c1975b1a1f24fa2228aecc58fa8b3cbabaded83bf53e40d0c90bcae983020c12dec6c9dca6cd7c70e7ab792d1ee7919887c3f90a897c326d927ec2680661fd0caaff06bd33e6d5176706da40591343b5970d0ed6433aa12952d631061086f1c41457d34e444015fd4b4c07b908705860b25b410ec26e2778bdeef336bdbbbd77fe81c624fc72a1d3d57defce3f3982ba74f7ddf9871d3335e84b963c0f9f96808808add3701a1d0920941817cc3cd63bd6148c9a669ce691d98b077a1f70d07ed02fc4e2ea7eca4fa09b69c6832e14113fe9ba3fc0ce67dcbbe12a3129a5201f54448b44d48bb06df89f7af0c2db2b529cc78b352a1dda021fb0f88ea7411785d289edc0b54d1d515659465c59ce21aea969d9cdb2ec9da5421efba0916259163db9bf694eec883351c110e5f64f2105249adfd0e9407905d9b28ea030c2e1b13142109ccf4d5f214202a41b9b71cb259ff3467fb80ea273ce953e3847d79f97be5ed245e9634b3f747c3bd1d4f7c92eeb8c93c7d0d66162108e6f38ccd34eecf3f171b2718adf6dad92309de9dc6ea9cceb03c45feb1be01e48fa53989b725ebbc4c3f1d6356f438fdfa1b7177640aa1d2199829b10111890232ed53305a9ffb749a752ba9d3813392bca65e1d19cdeae77ebd944e64f8072a729d47e13c0844dac12dcb20c5ba56a22cd7aac2a14b943150ae63250def43ab4b607e74c6ffd829fa42a900ecc263ce763a21a3a320ba855725faaa2acca904eb018355974e68c39bf90a5b8626d14365afb66ef65633de8b779d827729e202abf9e14b2bd411b55c34be39d3a3343ab77192d67b7a57a119ac65c82d14294959e537c6a93b26f7335632a0629a25ee227f4c7cb47beb278b0cf2fb5988d448a45bc4303dddc6362fa6e34e854718a1eec735deb80598e6b2a91a67dec874038027d7f74bed8a748c49baa7556aa6130472a713e80d2ecac2b376b536b777a5aa2bea61d67d7b7ad635703d6d44f63d6515b5fedf8e02444d0fc6bbdaef68daf4e73a2a4789e28f1ca4d18ee88c1c22b256f1096cae218e3ee2df7de01c8e0496d897590d4e80f57c296e5aadb623f020d81e838590887201f0549c9c4434952010132f79053afdbe629f44d51984c747589ac40cbfe68772b97ed26ad50d74e455d2b15eda903b7d757bb4df73f139d3abadbe845e91916277cb9d9274c02987023e8aa5cf0cd30558893b114691a13ff933ced8cdfd07a3882d695e0d4955b05b2ff3ecdcb2cd7097cbf9a8043d50e121a493a7a76aa6991e87e5f1410fe87dcee96136918a1ab1642fd7a97b9064d332929aeb8b7860b93a4098d28928b16476c7efe85c744a4e49f3acae4491655d52b4dbe0850eddb4dc21d885e88460b3bd28a101fd9b867e944f6898a53f478a872cda56cc4e8c05a7148287214f2766cc58e26667d3bcdc31253c48fadb8c34dc141e5c6e0e7050d3e463e02b0186b34ce741e1b4805e936301528dbbf60dec3b995c133f621085accb70dcb6f4a2e314951b94f2734c32033106bce0c3e088bbd15024a9a8537cb432b968c88276fea075236e4d82196e13a971f974fd34f4e6a46ab257a307abbb6335a3a04a98a014a7b5e1e5643a7a5fb5e2c335144c44c8a9bd2ee0bc54d94cd36a29691e764394a20bdb95f3a1716b61e25be0aa0a0fae7ec520d35b16cd8f18afcadaab77717b83586339fdbe7177c39f73ac1c36278649b09172d612eb3901cfa1b791370b11e242998753e9be72f2f02f219c989ddc09aed3db9aa0f7094aaf192a9eb604d56789ce35a44d7dcb91a767541540dc8b52e4611f48122e8ed72cecbaa6bea6a566ccf8da2d7c08f2405a1a4547e60f189caa4a522623d91c9b52cebbbce2bd28484a5103775b33685c48651bbd4a9194c4e15c2063d378a0cc9ce997bc143350551a52e2f4a749eeb942016ed83892111332df034b0572814a55649c5a219d8b1d496c392316cba0f5217cdf2401b45028b9f3134298835c13a3814a6b7dafb4211a5843a75908709426dee83ee0f8ab5731cca4ce2604b82e0103ec38209bb6d750ac36b87ff3b807d5b0291dc182acefcbf7eef72d119198f5a2c796ece2d5a7033374e0a994b9f174bfe77a9bb4671638902ce1be1a2ba67b710fe8ba6aee7459d2878065a41c46d0dbe88964e8ce019526924929056742871c47ced665ba662118b93f7a799b44709464831f350312be8b48512361066d21e5e327a041f23b3f61d8be5237af990220e165e8ccae6210118abeba879e584cc1579736067f21a64c51b907d3594b167ff4418b3faad15726d8308637e9b5d85106fdd01cf5e3c18c3ed712df97c99eebc06637c323ebcd3260fea2785d5ec6db99a5af44b1034b044a0739bdd93b7d701a2208f8017421c5f1e4437c343f8c3bd0c0f49614706cf7e069747b57b9d226d969ab5f069a82af254950b7621155a332bf2894adbab8bac842da2e7c9d80449605f3cb434ead34dff2d76b3fe5a158324eafecf337d97157695bfd325b051eb3dc956fa0604c99d15c73073128052ada3477a13b3c444f1a2bdb86b43af58cdfe33a809a23c1e60396e6040c0409eeccf0bc9f4dfecedf0e3db7dc6e5e2b1420eb20ff1dc61bd19d26aff5cd7abff0813ee6b0d0651db13a0fc72f2906e918a06386c90955936ba799a9d80a1d7fc0f7a644976810285ab3f42c52e470461ffe29ad10b26984e56c103688530b2f4c0851a3cd7c749a9b609d93ef84ec731f6abcf92a00afbe601a18c3221c04f0f12704b0461375e33465902be24e5b6046b0f7bd8493d2363994d64a5d4c51a0024a5d55c03464d09eec65a2004bd01cd7f4113703ffb18315e87977618e101fa4c7cc9932fdd7874aab095a9552b941eab485da8f9018883e064cd67c133e44bd3f224b9b31c35fe4241ae053893bcea7cb833f6d93acc846cb816c14419cb06b10f25aaf373b2c797546e7ce1e66e0d873528c3e3bc87ecdc361e62e85a8c743b0c02f1d2c9a16d941355099917485d32e43275c2a807b87aff83586d516f02184ae89a08712b87ce349dd4e34ef3da7bd5089210a8ff312ca3830ae2cd7fbd9ee09630bbf5636f39665c012a1e8495dfcfb8fbdfbb9e1e0469ae2392b5851d53121c58329ee9ef5cd7582e5f90e1b66408c4cd1b65dc5411e2784a2ae70aaabc6e0e2c8d3e058389fbde9664683bd9ec9d144862dd49e03c12eef8683ca4d3a7fc351830bb581b4a5e1d748f06557f3030e2fa9d7ba8a284edca65e525becabdbbaa4f6244f7824178ae28044300514f68f6401981ac303c72155833409d7c0c39ec0b87fea914755853d70ee3e9f9a4427d27a11cc11a7a71b41d20a6b0e01c6f49a39022f596f4424927e2fed0aa2768edd3c5d200c696e49da56de40f95e10a48c8a782b4fe718692ae52469f5a25eca11b8db732367146e70990a83c3b4028d3a084d08ddf74eff3c5ae8b4efe822462b3562e7219fec29182a8a2823113f0d3a4113abea27509f111909d4d8742ff61b36e59c83660fccec2d634c3a3b7611e99a57350cbca7e538e0b2b732067c2ad9a4def20484de6e29b1d485ad0f4c6df87326f69ae93a3147f3e5cf550d6b98bc7a1313709afc7221a2225f5fa377b9c95ed87a58e3bec2fc8c2b1ac0d3365e7060025db12b0411ed67ea6fba2cca0b1e503c61e077473a739cf417b535752267b594b13e433dcf33966b450d276d28a5a4604e053db87824eb017ebc39dbb5e1636d8250b26a46aefe5f12c27bd7d30b43c3f00300190e11da5f54b50a1a5f831e685165d86f475c4e415aec155b7f40c7c4e0490a59609d449c4f71220f509bebcc2c85e9f217fb446c1b0b7b2dce556fe39417ec9bc0bd383813352e48f091a957d6bc91bcadc76478fb364fadb05987311c404fb330f294a9ec7fe027d9ef8eefce35fece00453ff77fd1c097a3c46ed3d659825f1f0c263746bb6b2682b1d31d06100e5f1a17da6173506c59e7d76c0a9574084b7461e8acbb5a4077beaba23363c2a8d9b0fef13970cf74c0abfb3758b15a374eecaabbea5860de8104f5603505c719d5d2deb086b0093f7282b71b39422d3fae1cc1820b3f9fbe271ada5d76d77ae0d3ad8da891c902dbe7ea8c6c84ab2546e83e35938e4b825b4e6b85f1e05c4c44537028cf14fab1726464cf060a303285354a43702d89e4b6609a87ec2a0d2731e4b9b750fbeada02fb2668d8b870f351bf615b329156fa821c8d12b8cc9a4ce1440506224c15fd6613cc00100b7f0be71e006c3544c7f93c02b5a401457a40728f0d17d0a84de999d4711f02e222853cd96a6cd6b23a37d83c39369bfd0104be1dc2c2168f8089ce446d535c3409ff51ce88a4c937bb45d092c1896e6e1006c6b425eb912f24a58b47d17d85a7b4439e8c0465ef1b574be2da4f117dd02ae7d727d6e07d53253ee744cef05b9afce1feeffdebe7e0b2b7c2b0aca7c000e1d2e3f0049dfe1e629b1675d7895884a24f9d34cc6ef85be8d4835670b9f366fabd573d03e99abf42e0f8f90bcce7b9e76105430ffe6329adf59b2086e3dfe8c4b2e38a2540e578365725170d3f4459e4c6743c2e0a59eec329b7b2245d7abae71037a7ff60f6c17a2c1ad702f1cfe1576473225e1b91628f7f3713ea72fb15ec10ea22526dd48f87cf4f9037ccaf973e2fba64771a18fbb8d30f228134e246170fb98b126b97667ddcf492231f74a510633a1066cbde5f39f19c04324428651a04cb92929e6af886ce1ca49d4c090f35eeeed6c12d1f94b46356a69384673f17241c7eb65004b200522cb5b0da08cb2be6b464f0064b381afef0be92490fed9f19ace359cae6b0b25b213f298af8a0b81c2a7ec7dc5176aefdf6e5dd03325fcde6215b1efe6faba3f6c181e12ad291efe36cae43a27aca27961d73aa409beec700b4b9b8289e382e1de5224803e10154b0c251d81e6203447d6ead5ad540a0c4a95e216b40ab1c5f720c203260e716ad5c2d88c8942e00adb3923280c408dbffb9fa238f2d4b2ee1929f9187b2c55b7bd8ed5952576336d1a827c6d0af7ced45398db30dbc55b7cef813e84651aae414617062ec31b8bf225172ef2db4109ed3c1c567386fffadd5899138671d9403e3caf12171b9899189dee4a8e9d6222220a284d5a932436146f6642c86b2df937f8038ee49babaf10f120fb88d7701a95e054354679b3c6a28e6538f07b80723834a30fb8703599e8a920e2a0e946e5a8d99f4b62d1fef10712a244a38c8ed8d50aef82b68a85ee6c1460399400f6ac5d98fe208f0c96919b13264996ab58caeb9f9cc5c2ba720e44609f1b67b26519f6a0627cf60860e423a935ecb94164386b8a784489020875820667f51b16ed3475bab14c86f2fa9f1fa2e91f2951cdb430527252ad70fee76d6b801f437e19dc4bed674dcb572807312be2cfff26023b81c7a0a525db02ff56db6c8e2837516fd8e7254083417c342594589016b72439b09e0e308c3c688c78066326c0909fdc4d3146d9f3af4c7eaf181b8b3be8d1f7cdec4ce89634a586d79f5506c11e7774a12e779ec19aebff8a512c21e52cbc9b24bb55d352de09ec6c6cb3c34800dabc78806a580d13a65fc62a0e97780e92f844e4d0b757f73e64fe8cac5c9a73b5a3ea77f84ef8419ee2683a27991fdbc7b34d370d3d8756a3c67baec1d130a00da5ccbc6dace39c8d4ad96f2e5ab71b206cf171c0675dc35efe70e2acb70735dcfbfb14ec12a830c5ab150860a80548c70176d701a4322f865d69663ce42dcdde8e9b6d1a7ac7c54ea902a91aae65248fa97d90022a925ab15027251dfa255886268f1be9f6d4101a8a681fd2291d433f4836de6e84dbc1ba7d67311ba90c777d168728334b4faedd81f86e2024797fe2e93e2ceac6368d13fa744e7bd5181bb3873fb71dac80d96f9830b3b120df118d9ef97e0d48e3101cf7483aa3296d4de5adc35629570ffe720323fad86ae1bc2e42c53264d9f6184d76cc0fe1525ac969ac6bcc7c199cd598f5fcf206758db94fdce8037be07a72f84c1fc2b97445de7085ef8c13ff8d01efe9275ea4ec9beac903428350d1830a5ed8cfc5a17b841ea8d90ca2f498fbad5034c11ba612410350b9f195acac14f7e243aa417252d85b9c9e66acd6a31880d7f785e93074c74b880c322fa2e305dab522a0283f466c810fd58e4460104c58052c6eb9cdc3cbfbf583f2a3c01572024080e8f40c7b0b39a429d3dd93e7eb6cdcb86fde7fe7e07b38c26f56ce1c962977fe875ee579278d9e28e8db734d2dec51400774aa1148157110a5bff61c74e038c96de0ba3af4b420d1a88e31aca024faf4f7deb870557ee34fa4a74edfed59f8e816601fc2c4a5d90e9e338276694d623470498bc885383e0c70944133a2e0749467a984fd4360a32ba5e66e140c04e9ea31f897533c5191eccae33c684c7187516b6b1313e4de8793887b4c118dd3ecc83b393940fc5a58cd44cc20793756ee16cc67735c5f8731d79018e8742ec0e54cf39211d81ef57bb0de4ebe2062b73ab19b02181d9cb99ea96acf54f34edd79708868aa561c1b35e51687a72f0d0a15968147a22a71566cca56da6e9261b6b2b47d656950ea0c41fe74364ec549270a86382c3fb3e7806fe054993cfca09c18f49a6867ee5871cb3c0204ef22d731d5825db044a108fdb6de210cf1f5b4e48a9e7902651a3360f6a47cf3686c863c942624c0a6ddc839a2b224ea94c90c223a69c6ccc1bb3e1d76cdc7ad1067660317157b88aea8c133ac53123e7c3cde431d308b219907fa43fec20c528112834c24e984ebb06d8c35f63fbb252f03de35bdce1f791b80503a1cf9c1467703e0e7fdcfc797f8e311e69f98386cc1f2057418ce8bc1ef64507ce354e734b1a00570f30dd099d73416dbee3e8068f84904b1bae76eccd2f9b002cad58674ee162ad18039f031f02434049d362735696b5b2814e9de7485c8467d23535c0fac5493854c890e03a3e235c331700153e63b12790a8ecfd7a62eb33590df4f1c66a748dde4d013327c34a738470103a3b1f1f8cc7874d608ce732643292b4ae0c651a0fd6e26413308a329cc59739299d09d4ab9d81f8c5a5e6124816dabc6141653b83d984ac09bcfceb7077e0e4a7306bfce50e26f1ea6b56272807186c1e53d114a125dfd7039eea8eedcd9707145cacd427dd3cac8a8f3a92ef8fb86ae517fa451e03e8112e234501e77fea70ce2510424c2522cc9ce363ad1c8bcd8245c3fae5fcc2e02ca4544eb4c540f13869dc43c3ff483fb6624be28a746395ff5f87d8a27f48ee7d2a1c9d4853ace12cacad31dad192c669a4c4b4d1385edfdcd81aaab7d0df1c2701f716469fd72879b2ce70e84fba60dd84ac16f04ef12a9a267635e61a2bafea7a1755826309c4d3bf04f297f94bd0a71f0fa42de30f3349bd2a1005d56d0d65b7adb64b807133fbaba933dd50bb3e8d9ad673810b1659c52fa1a07f23020510d122bc5d19fab87bb77b74e37681c3e56b02029bb147989178f1e08e527afd7ee47aa63cc6fa6960267ed56715ec520b850d8952ccf2e9bdc750136868d26c9f4e7313d1b1cb4ffa61c2fa2d4691d7e5c3a37947b2694113de0823871965814097e85d2ef68bfbf3cf3b7d7f086469e25bec25a60ac9ee3cd6f84168da274f2e1f984564ffd435cc8c1b6ed8c1ce0d01f790874a16154bc22ab5862b093faeb46d456cc875df8df9f09a99f78d1aab0924a890e92d80aa6bdc9dabb8ddc6b3d11ce139fcb21e332c0f930e9f013130b6980945319410ddb34b8ab0a18153fac680c0dc85446d6e9f396fca6f63de7dd7333fcfaa2befe90a4a5db7e3522ddac5227f54d41b5af527967426eb899487059f93a108a8ec47f4b9e1c5edb59174196f30f5928debc673fd80eecb3afd438bf04bc3b69a52ce2a8870deb226003b19bf2d1598d1ee1879d85495531fe7dc832c5cc139f00ea5fa9c6abbf4af27e495f9378d5ecd39627d49087384a380ce65f258fe5af43e0637eddacf762597708416faf99fc821f45864ce68d19e26a71a40f5ce5f03e652fd7fd46dd615a4285d17a4c1f752b3c9eeaba1c884b3b013e7ccc60ee15b8f1491354054f98869ed60bd4540dee8b94e384706310c682035ee6dbc98d0d91504811551c235ec97aedcddaf19081348ebaa4d313303531e9bd38ea26d1230895c99f320604e04f2918fcd62ce9099840e26a1a47a85cbe6fab508e38367e41624b49c29f12e6b89482320f1c705367463e295fa7067aa78e0fa26c67200e19caf14ed88b02c29db8dd7a802577ee02df3dfc03eb824307bd3746761360fe91d907e4f1da08fea70a8a6c98385ecef89a27d51205514e932b6f616daa84492a9671b3e35bd66d5ba8eee6ec529234c599d87de1351b031e188f8c28c70036125b671bc8c3b704d759cb598a3968b20b447621d4beb5d1359167e1b6aa03d8ec235adabc5e1f6b008b0a9e392d86c7538dccab705b552aa675aa732a509136348c21e6d854c1a6ffb899a0c9cd6552f0e92f7efcc4cb46bdf1b255bb8efe286d585f7cd5d04f4cfc17208d740b1ac59fb4d5115897515e53c2993a221eef95cf36e38f3db33b272f9c3df18948b7ade41c79a1dd01d75f01924e0a9079d5a7ee10e07400488f07a4d255d2f1bd83f7fa0587be83d645122e3886e41c825b4cfbf05e2bc312d55b11e209c6f1d5cee4c674deece35f868326da7c92864e2104bb9e8c5411d246b673b0fd9621f0925aa09b7ea5074405202fd531d43980e74a6713d85cdd0c440b75b2308b276a1f0ccb19f14a6713f8a0285dece718fceb9c009a68db533bfd18c6cdcd52d3ba572412c0b82d0cfdfae59e7215e00a9a8e9dc95244d72e7491ac65916811e10e05fef7b5c68092116f64d812904375d04f743faa8fa3d48970102250820b9e29b47fcaf6c64c1a5701c0a2efce7a5a5224df9e5dd1e73bdcc87fe9a2d79e1c0fe33c6d8b72dfed3a5e071e40c8c950f55be325baf49be5dd1ef25a95c98264c89306e829fadfb3aab2ecdfa48197593207b56dab5a5432d0b251e096b73519dd1296e862162be5081a754e0369cb20f2e0dda7033ce0d4c04fbdf018a0e86044322ecd04dce321996e28e1d44e8ffe1ee4d1aa42d9de14a5c936e15be356019becca8dd89e1dcef763d3a9b5269462fc89c7f7db7d043e5d1c5ef5b36f3a07ca84cf5dee823d246d28f22659ee024bf2d0d9a0804a546acd1ea2f7455ce9577dce14ab170475a388892f3bceafbb5c368604eb9f443c768e3fbb6b419c69fc3e4da8939e90321e383beb1827412a2ee62679210eec710f0351417c69cbbba9a6920c984b5c648df891532f1452375b5444fd3cde9088b8b6220f601cefacf7e8a50f093d083c2c70577a719b06a562760f75d9b7dd505a7cd46c7a9209af09818e6a03f6b6b90c10277192ef963286f4cf578109c3c59aaa712e97c8cc832928137c32721c00421f9e168b44bc9928165063b5042525fcc0d7201b20e510b3889e4fb12355c2a0ec5a91843901e9c9b49b26d503d2722e2b223a610a0f4724803d08d4c1be7e6ff3c9c258b7b6ff778f315d4d2cd6699229d7ddaa74d368d062cedc9a9ecf72c2e6699aba2a77d588b83c183296dbe68c990783cb739e1986ba86a4059654235391e40570fe693917f222f0077a7810abee26850390ed7e931f2e124111c2ac45953895ac1a3a1a5563768306b1d386def1029fa741eb44e433d125ea5a53b054fd36321a4b95eea8e682bce3f04c65492c3749a82dbd617793f834c9ad42278331e40126d10ab811dba79241876e33a22bb351f00d208d51928be7eba346ff7df0ccb5e5b5b9288833941b111649f31be17289bcd87cbcd6f3f765ebbe1a37d25a8cd30f88a0243b7a740e53f20faeb40757250f82b9fa59816032cc08b2ed96aa7ebb8c4babe97d6b27e16fa479908c5445bb7c9ea122a4ab85761eec78c011260f0559549044fa24334f8d717dcbac9e87e2ed35c06e4ef1b911a212e7538c1b9c563b82da8449de5119188a4ace3c0898799b984794fc8ca97a27e7799e245d48dcc77b83812e5b7c33b14a01d26d037d981b65e865040e5923b8542114cc21d6fe81aa21e095500dd11f2ea24eddb9145e0f8359c65300f2e4313120af114400aead031e037a40458cd1e7c7d2b4eeb4e56f73bce7d965df8a6f8e74b797b506c7866baf8cf7c3e5a8218871c4da539bcf248374d8d64359d465ecd6088ae977b798c383f26d0cbee6affdb5ec0829ead8495d4803009acd799b3fceb751bd4c79a14a47a4108b2746a2a7f8d5ce2f5a702237512baeaec6a31600b915dfcfdf158d25f40bec0b03aeae87b6e9c945bc44cdae54ba4d7cec1242c2b33901332cb871ca066f67a2966e372cb69ecfb6cd5bc4eebd9605f7b5900cad65ced9138eb5593137ca863b7ce927a96f755f82bb0476e63305c015523806036be8facd417581a261d5be94d167f2c18be6e82830474d4b8a8d83ad2fe63546579b6cebb61da90175c49482aac87e2b41d70ea4fa8e9e7fc4d0bac017e8b867776b572e704e3830d654f67c6a958f3687d58741cf6494d04c31b132975cc0b5c2e0e6cc01a0781af86b16c7d9256f14081e2f9984382b715b5c6859536f71d28f7f97fc4d6c9e24223da0e6d0b7392f16b3a1c2f881a9343956007af5c7fc3af14eae6617966e098014ae2ad389d43f6f4b0c8b6251b55fde4b50bd370feafa6bd050eb95a28e90b29ff3dc56885ca86d93e51f566e3f20ccf94ca0753f684d15acf5871cab6e2ded438aeb19f668afba134480e84e90be7fad0dc673717ac465dd5429f31e771e0c36a06ed5a3503e9335ba6551a295f2fd10faa23800c7e713065e87055890fe26225d8e93bd93553425777608ff4ea39767b01afe6a72480732415ef626f54c6e07e050d8d0df6e7cae5258957141aeda169268006c68d420a6f89123933e13b7ad43022aa7bb66e5d16c1e4db101a7821380084aceb0102a65747039de7a171051382af7ce2061d225aab179adfcaaa4ae74d849117e3bdcda715f8ffb1a773485735ca5d67fa4edfcfa0272385e0a256f04634450bd4889470eabc30cfd51fa51113b439fb5d25b0a43058e33f48323542765101b24b8bc9c1f4963f869e83ba0ec03f3fd6f530ca940189ba09675fb6e9682b31bb32695a293c4039789ef91468bac2cb1ed5a27b2937c07ea1ef26dcc3e97dcb68239d4f19bf88fd30faf85f320fe66f60207d506538b9d253e5afb904198a46fa125b5dfb988ca06b420a759eb5b1f7c3ca98af18b12678b40eec718d68011b477fd8a5993a043b20646d0e727b452f9c34ec5057099725158194a56c5524462171672d78d562e4f258cc6c3416b28ee8f95178db4301a60742b30f18c9340204808dce625a9881d0eb7d860201102edeb90d922ee8f285515bffe45cef42a6bd3173d23b4f04c011aac8bc56c2e635682251ecc4e94e21cc44e0102f6bd6c1c2810e26daaf92c411551e2e3879c9a6351be8ef8f916c723ae54cf82e3e9706ebb21ac8b02ebe871fabb7d01a55e3675fcfae0c4285c05cd90522032bfba055eff4c22f898bd899b86e6bf38a2f207f381aa812dc7cbc11e6a22e7c8e764058ccfa9496757ea6c4bf6bbdfc5f3fabd30fa197c8f16b7921d255ede6002beb12fb42372775c563df49c029ccafb1fb38c47efd11aa2fe8dd8b0d450ec0c41666e40b02888361a4026957793104e22126fa5af977748fe3cb343c3b8fc6686db742310ed0313b48097f83b48fb6a47db23f933b001e34341aaec2ee113d97ca037b5013ce3d360c22f68564e9aba0b0042e018fc4c2f372ac0b159c786f6f479c6ee8be27ba21cc66969758700d8e12a94d6a0eea4c821d054bf0f91bd8823b7d570430cd4f99eb94aeb492a12d4c869546d966378123c4f11d0fa118f2e327a2ae7e74a7737ce3e6cd680c61a4a19260a0042a54943e330be8c08eb70913f39df5fe9b5dfa3d7cdf8ad5e0636c74c6a03f1bbb70a9a61a8d04f72b2b531131ca7c30228c4d4ee57bc1174e9b4830c027fdcb13403000e1101374bd2c24b698c90d07a436777482dc62360be62f9906020c50c497ea4bffc64748e97152dcf606013824fa47fdc84d96c20eb51a21d9c3417c5af7dbe48d1989c02614bdf64c39dbef86075741eeb2fa17a58c6fae009a3dcbb24604586cc7b0a6d17c12e32237be0d9c53934e28da69442e24f082652dee878b352ce27e4f19678f645477b50fcaf474cac5cbe6d0a3d10845cdbf4103cff49ce20a011fdd111e84374fa27839a05be0c04a823901e0cf6a02e519cd9478be1a9dd31e76dc0dbb4f22d9fb73018fb2676007a3dd0abc3bb61b02d9f8dd147dd2f16b5f2af388acedb4a202895fad5c7b4c154a425f63241a4b21d36252e78ea9b914fd702b9c7e85de989ca53711ad987bab20e555c640a95d0d4f09be9c4bb089b01e644a57ea3c9842cb69148486bc125b31ce92b94698c33b1a2a4b3c9c14f9a6866cc8a3a718ef694e606feece4b59eda30ddfd502c8ab21da1c7526e0fe027474889273933e792fd4391fa292e5c86221e0814aea1eaecc258f00ae4c5ea252c5c7aee7504f4b9b106d1fed9689802beaeab8e40928049db33851f6ec316230fb0fb971f71950be84ba6f8d767663c9b1adf60e5e91b245363c7594910c00c33059bd1bc46d778bece31f67e300142b70ee2c00bf8ededa2209e5b0a6e8d23dce32b42c7e8bd838e1cbd1db9414f88dc0195877a2fbc4030a8ccac19f28c668b6d7f0928268a86bc1287bcd7bfac0d70063f2ff17dfbd89669213c3c8657151ae9069e448cd20c3eb5064d09eaf99429f9a3ca155669e3f4f5c1b76eef0143ea1cf13988489577c018a4590db6e6db3f45673f14040c033737bdf5e453198f0a2b7f748be1118ab2cd3fa97a26792cd00b2011f74f056a07f060c07235a5c985e959b22a0b0b490675ac4365a8a0e052c44c9ae9caa851418e83e05ec7cd1ec91d54673bd7d5028eb2d053765ebd19f4f3fa96f2e4be54d267aeb281bb88243cabc48656666ed71d0b480c69827a145f66d04eae49bc193c46b166a741325748dba4429f32122b95be6c7f29c52269864cdb8c6d404785010d7f081ac33f961bfaa7da1d180e9780359dc78d15ea29085643d347f78419768e2eccc92f3c0930ed28cdc773e10240314f6980923101f35fefce6ee7e88143d02474ee85f2bdd17c51e95b7d85f9d20ba12b818ae1bebe88d413bdb91fed9fca75722609e3395d681322aa38c9be630e27ffaaf1fe84aa0dab2f30cee64d57d7966af8067ec47f2c0780baa3e81d0c9dde612296e148756d2113a779364f88c58c0c0404f7d9aa794f562dd5add3a3573cebb965ea601f27ebc437d26f8d49750cc7762de0db83751563d8459096a431c90606e364d8a23894da0644b8a681320a0b56294d47beb543218d2fe9693e53621b49e73707b3b503da7d920f98997c5bf71a476a7968366582c33f56796cc164adb748efac6a9440a9b249c0823446b8d61ddf8569d518ec2c52a49608660a3cf7c1031755f6d0e9f1758b29a487ce139c18e64d20ebc068a24bcf276595296b5441bffe0583bb47c1981c1fc76df34f34b596d05889d40d61e3e961329cfdd3f2f3a70ad4b975170b513028e38c5208b945a1b1a928e4fdcc350faf9242a6aef14ba8ca887c27d020c57dd4379a3d8cce95b291184f27783a74fbbb1418bf5d7d8c43f565f0f0041ecf8d8c81c397206363ebb5b2892d7795585d56feb713aee700347cefd4ef284dadab28317d3ac6667dba2de7d55a6f3ec6abae07859722563a590d2751fa7114bce77ecb3ad0acc4f7c33fb6fea75d8b5d8173f0f248529e00da6a24d79f561098fed31f56848da05108bd91fa089632b55664668e803da571e1852a064968821e5b581957849506c0165e44391bc5b929559cf2994fb12dacc07e21ea4b43d928d53477590fa1de5a877f25cea20eda0b8c9fae111b4d37f9286553e0f6d40411461218f6d03d096bbeaf09e3c3b436d53ebaf34f8742497f68abf19ea6f3a8261495192b9b4feee8c712595aef5054b28cdf4ce738ae994abce8c25715fd3b827a3cdb546a1f7f3b1541d55e1495e8bd5bffc6029bdf0fbff97dca75badaedc48787b051549cec6d5164f4a71fbb06c37686c219561495f09f7073834c8ea222c5c4cf75d22045e5338e8d866e22292a7a00b00eb9294565e179e797b9a9bbc2e273c902e1de3e324c59935551c114ed4a314072c71495ca3e0ba92248301cc89b8b90d02d1308c6c6c613d70d7088951942ba10f76e795d2de6465ce42987ee2038060919133d881c86dd194f66320dc3996a7f8be4807c9ee3a6a0f20a74c6bd5a156345d6d2e62c01941483b725847acbb8a2988a505f83b8c49af31ae4c7492a077f1aa796d7cc3397096f4b13a8e487cec883c7fdef5454b70f41b6d78546a56d8541d542f8f018179ac7801d84a4f3dde2e428516687ce88f0a6f3a0dc975321d94c59ad8edeb60c9abac7e90a846fcdb929a2b898a87516667bd360c669bb1a44dd704bc935e44293e482de28f7c3b99ec53198e21ad15cfa320432b491619ce26f5d076d7de9d05142e1218a23bbb1ba2df36b0037038b2c488cc9ab1f65bf02b223cbd3743aa18c1870ac4ac7636bb1920d79ed0b848814a96ab6ee5dc98083f9f3731ff74b8cf1f101cc0d18196606d34da053c421de084dd5754c0077b87b6e06e4bad36d4011b6aa5b12ed4843b3206801f83f2e2642e39905f106ad56b8a4fb47256326a4f9c0bc5e6df14cd7d27aa031989281dfb5946043b1d02fcdcededdf185d3ca1ece9f59730d609b92720153e3a6a732e1da225ced65c38a51441b69690f756623c09d95c4df1875460454a4d7f43493169a445b81282f0d8209714655a18a220f51371521c71f2c39157c7c0c57d863fe9cb716284e1c2270534323274a680f35a13b0438aec5e0f493314901858e4a6692849968f0b190d2723e8a95af3c6c02e9344bbc1256b312f2c62435d6c7ef1065089c7d49277c846e27fa522fa4d82ab16f3481dd6353ad05898a3e81d38bc6fb992a5da82b040573677d420c653c41ad84a37ebeb6bc3c14e91b5d3af5aba827be371df30159bf1100df236f3dc06cb6b7a11c9564d8d1a7ad2ee8647e4335c5a1eef4810cb5faeb16dd27d577aba5ca101b41ef06d2b9e160e0a2e2620986483a4ecd65dc59e9c1150d8cc463105d3da46ce08f4c1514dc5b014d36e1c45dcba5342432699376ee1ef74edd69ca0046452c590e6a226389ca00e13763eb9a049510aa3a729bd4b86961f79305558a0ee84f1dbd3f9e8985d063c7c7e40610ba977f0ddfcea809338d9252a5a3d60033df6e588b58e2517f694e0eaa7bf8fa6b102d8321a30fe6bbc09013083f2086fc54031c2eef3303eaef508d58b266ce914081a69846fc56adf783a8889042452b45b1ae4a6a859980de4335b82ea65203c1f4f04b31f3fef205de2f8e52dcaec63298a2f8f804603f1bc7c243e00a7f62acd11a4bc3f65b66dff78dc87c09c186ab113a6b27000f33bb98d26da9180f4e685f35d4399b39a1bdb774e87cc13c180cc36ff2acff1433b4606083f7d22f606b8cdcaccd0d8c5c8f662b80409a93e46fb24b4c4faea1c9d65fc5c7d192473a789fd92a0a0a96667c7f4b5d1d383149f0cfde84c2796476a2610a4cd3e64f378777cba5e462363c147b69a6e20ac8b8d2eff19ffaa22b09152d2097f8f6c0eec75a49365871e49b251c881107dde6fad19548fa33c75af660f17bf06b2e00fa2bc4b56b0f20184f2644ab4484f6685445d37a9fa7b6bab95df742a6a3dbb8369fc6b6855b93e13fb901495987dfff9538200e3e7e233e2352b1cad8ab2d4a5b56774c531ec47acbc20fd24d8ff88be5b86daafd4c6e88cb980a7b6e03baa1ca4be964e0b11160e802e6d4e4b0c09f4a96c4eed4727f70003efadb584a42e02319a388cab841efd51b4a3045278009a531a4c0518d6df65c6a0e8871d27210e8ac0084421b234800c5460d03515d17219645cc6c54dd88076b9d0703cccdeaca7a65e7faa86bb944ecacb045b89758ac3b7c5900fa094293d690ee8491554bd484485d1231b32dbf1acc2127581564410978731592914403e70d99535f652f128ea59d9b38a18a05b5e6a7e710462f5da591c3ffd16557748236272f9ed1a864fed1239e956dd22153dbaeaacadc67b09241b6f96fa72813554aac32e36cf26e50f4d1268ea19169d967306d571b57dadfd543d2b2362ff21d5fa66d55d3118afada54b90773f0694f24f28a2d3be75249ed88b5edc8bd6dd70dbf6f949aed16d411220b3adc2820f9413189c26a200e9807b63a26db13068ce0d37cb4818e8fec9f724110f6931973b2a0dd8d2269981c100575a0c0e837ffba78f3c10c043562b8b6b45eb030c1ef33759b80df26c9adedc71fc6e7e0fcc67a19fce652b1afa6c65347cc37e78f148c64918a96e3800ea0f56689d376d08cfd046f735bc18e427a9b336fab958565bc4c8ba52dafeda55f9343e98a328100697894c880a3487473ec713ddb6dacb2a9c3849f8f4d0d76e5e5a29712e5793c43d4294d2af936a26580afe85ceff974cb2cd7e202e551300d5fba38b5cafc437d94d7b69f76b7f405959d8b1b2c4c441438830b5d739009f60b2d9ddcf3e4cb532c92614a50ce403ad83e3aab887bb9b0b21df0c1ed2dc3138291dd3d498ffd7ebad5f83a7eaf585d0e20f344d98fffc217258e9b6c327ea040edd3428d6043ab21bb4141159dbf8d41e68142b460f594fe1892b80c16eab9e015c084ed240cb1373976211ff29332cf28c56db54be73a29acbb9d5a9c758485560b59b589b9e3e45d980a5888c6fef748c7c507ed192daa9e47303352f4263f52332e2a224d5b5ea6f00e6dc0534e03fe029027e2a58d5426673ffccf53cdbbdee0a3278e6e5e63bb43894eac00261b0b731dd42e0365a0a7808d506af6e826634517dee840b37969e6759f6431267f56561afd0b9f0d91fb481f28f9972a9cfa15d2a428c116f9d1e1ac7261cde7825c211bc36047ee163264d3a2c733a28fd09d60171765470936e268834fe182162e4e46868df7317944f34adec34cc762c3c99a7268017cde3be09accfed204fac52f46b2fc28ce05d1868b82cc98aa64f77240e8a36f64eaafb949f387446ddec5f5be7c3d5d7cb2cd27e3c2138bb875fee7e23b2b65fc86aa4d50682412501c853fc3b648e05928e076fc540e65be9d06ff9ac671e4559a4b306b470c8c175f4b522760286a3f85b8f9ea84739768538ab78e78abb7ae1365d602cf51d392b1fcc2a29c4bad047d136d53a07fe62a201552fa01b602062c2a0ab068b6ff8e840ed23e7661e425877b027bfc38cacaf84c9bb1971971885bfa506f5a4f997224666915cebe3b26f94c8d60dfea4fbab2406402d206b17b8360a396eb33c371f6cefd6e2a5a449869043f3d703b25d268ec40497b8ac0aa13f65abbb9fc6c74436b48757671960951ffb37315f5b38869368f92550d887e730d4672aecb510c1637c815e6409a3923f27166c9b1fff6ac67aa90d66e5c33d7716bf32783390ecc384de585fb4dbca6eaa91f1e1752e38f6c29328f87f2e0691c40e315f8bd941a64eb533d7940c44ba3110ff8814b8ca73e000334891eeef86f9a81bb3fb9f8fb141123733686df52ba0e92a22891e7f77f8c96de85ea04fadb4921074d42f9a375223a405a1340739f993ba45188360064fa1c9524cacae4ce54fc24ab4cc6b6b4dd99dd92e5cfe9d0246cdf3ddb380ccc1054d388559a288ed912260e9dd8e502cc9dce89c980ae3c02dd29628f5c769dd9ae27b06e4e2e9536c77f713c8b69d4bc3755bb9cff0269db16b341f715118f60724d7909540d866b6ed541abb509bf8c95d5b1ee23894d05d291232c68aebbc864413616acb1332906f7f7bd8aae0bcea37bc408eaed2418139f7cacacd7999f63f0516e596e172b650d68d0512441a63c2225acc75ddf63a393d2371655246bfb709fb8257596cf4b36eab3691ac5955c317d8fb9d2ba57a4ccc8b62507498393a53c97ac894932b321509a155cfa867be12235357a93a49a04b6e2830b99a17fd02535d6d441cb3aa4d36998d5028cae3c14a6359e5c59541e4d011c9e84cb7a9255dd7f5fefa9a2c8e456fff2636ab1996e0f69ec9cf28c8def82789d639bbab5f887c653f1fff5b858e5a075e0d9f365071436f17f09ef123a3af9c6366915f337dd4b0809c5fe80f0bf492d0ee9808d57fc17166a1d4c7eabb9624b7dc8540c7d720dd156b0cbcfec6042dfe885a761099b23ad8f528287acd3b50f695c5531f35bfebf34e7915f7c5103dad0b40d646263ab34e3be4e0ca44e4740101ffe07ba124f3f8a96136e5c5d83e060a835dbac93ef0ebda98b073b8e4c2412099cbc7bdc5d570e419a885bdffa2a8aaa62017114f2dee32c88016014b45f68ac4d776ec7c62f5a4651708bf798b91d05f94180904d9c37e24e09fd13a8108585b478bdfef6d96ef16e64841460d1b2e49eac3d2a37e2c98bdcadfb2b5a9ab86f0423b17567f80b1a720585f1225576e5276b6778676dd4bf3ebb3f2b6c5e02fde4dbb3008979b8e6e6686791246ca5a72cc540ef193c8c70b0b6e573c97aaf9cd466aa3e60ef6dd5abcc2a6dd00b8d4f8a16680f106b0f6dbc0c8ec6b45d4692928365f7cbab6cd2813982681032b3cea90a3f025133b84404b5204e8fa2f96b0a7b82b3df8e97d45cfbb1aed2b8f88fb5afd59abedb60a738ff5521a545f726a0d1b25e380f619984c084b0836ce0616c2c36ee5a0645181a56ee6e0fab23b1727dce26020f344abe0afe5588391da70076fcd802e1211638112064b326cdd4e2a1029907a0cd10e2c31f33bad89ca73024fd3785ca073c86d4966150c346ebcc98f882373bef965a3a576866f37ee2d32b2909f4e7c37dbabfef2db0904b400792429f410a0f9440a6d2918cf5673d9489b1d3884efd3c1407b2cf1648bd37b43ddd8cef1d5d403e663229a923f182083be39bf7e810baebe7ede3a6a18572d9e8259e21741e5d404fde000a71316dc03d507a8d9e9906d4d28d02b95a8ad79ee862d31c4e3a07c25ee44ab6193b93a540976b447147630564d211b10106ac06fdc07c461928800935ef32bf31cea25d929d3eabce9254cc45e31ffb9a68eb8fb7a2f1f0925b76a4c83400e72fa7455af7c7e1ec484cdd91708a7b3f2635382ea3ce23b17b288729f3eb0a1d1147cdc5a92dc3c564def8f71a3430e21afbd0b90e38bf91fe0cb29340bd2a58e4f205e69f33f11e37c8c6b5b1e39313a37dc5c0d75098d25613eb43e65b17470535c6ee132aebb5025a15f8d9e387b5ce3718fd98229ed5b63920282605232dcd2486d245eea0459b6bc982be8515e2e30fa141f953c690e55ac9d77e1d6209e1a563b3d88231b8fbfad0c3514ad9559c2c3388d2c6eed92e4d118c25ab18bdc194c8ec30459e9119ea52336a1d6fb87ed6ba0462172a2538fe2273354ebab28b3c025d92f8df9ab78b834d9f718093f11b7be0c931859c03d2f1e38004c40eb78c8f25ca02d371645c9afe7e020dd850c41c4b6259c7a8a19265f44d5eaa0a493bc8b35ec3bbe84f0b111e8ab69c6d1cc86ee3514ed19e9c907c6566e6591225eba8bef64bb0f1721f50322bafd61eaed4b3ab32d998523cbb5909fc47a97539ba8488cc09811a833a027cb03ca5dc4fa14af2caf69e4ae35cea57f6c32e6bbd39e45fda85e20e149d82f48cdb3dd3da54160d882e0fe934f1a78c265c698f12cd15dcae82ebf7061c5a8da807234f4b6c3575fe0cee8516a211232311aa335f5c5bf60b2dd9d6a25d4ae16dc99129595f88a5623a8c776dc6a461652a551e8035d3a4f396782f7e0de2d7fb141f26762fe41cddd0a55c1008951c1ed6cb84541c7b935113fcbdded908b741ca4228554322f821e1023c3b152528e3196be29eeac831985ce65c30d78722f11bb9bb7511017343dfa84d8aa84df3950cc261aeeacdb0615640654f2490207281a58ce94f67091ec810c270a423dc503e76f8e1994189b8445ec94cd205f1a6c088e5a4a7eb410c3566adca4b09512663d033da231221a54082b98c9d0fd3824eee748581257b4ec009c2603039d5e729c1c4b0eab7c1960c43d562c7d1384cbf6360dfad5d3b8a000b0e960b7d1b0a32608232e632a3163384a6ab5a0feb98c98569fa86578281ab5e89d9243a80c51f0a6a8b91ae277b830a35a7b93fb2c9d2550c54e0ad295c211ecb1f2488c7e3edbae593262058b1d5869d8f8dc696447c3ffb0c275efcd847cfa30fb9c4fa8eeb49034a41d7596ae83a446c349dde1ea225d9043aa07940ef6da78d643f4702f0c08bebca23a6d6290efb4ebe16ea87c9d7fbd3e0ebe50d3d1c61140d7669358c7fa48d37e6eac645331cf00b68dbc2a8707488dd832cc8d20d3a59a9b919b193fbe02eebc91d674b060c96880a39d1e684fe7d0009b13a115867c287b7aa78da69df0c3c15002b7bb100306d37eee9b7e98fda7e5f6325b5c04b9a50bc58ddc864be419fe6b7c7d52c3049e0422114b9130695426dcc1e6a67997cd3c296a1a84b6c9ae715db8e792225dc9b71f897370c3c879faa95a21ef029039a1f3cc59dea1a7f9e0acb958516450da436723326401da12711dfaad5f0d717778b6ea4af7b00148a61ed298afdcb205f8d060ead6b58ce86219b098f07865c3d4d43448fb6df53a1f8334ca5828c04a4931bdda49974619e14d6acb5d36a2ff8c5bde6714cada3bc0958f090781d892bf979e41c9beec8560601c12847326de1e91bc8c6fdc2faf699d6f9ad38c52a34f240e2637bab38347b03bee5800b6c7ca0873cd18d0908c9b2f53a928a1cf907daddc8a446fe86e7a802fa27b7f941e3815014d23650b8d734307e4d5fbc6aad50a59266850ed7da8e77c0a3c5429226a6e268c2e74bf0c2b7056a2174b0657a8c1f2cc0e8891c57eff3afbc1cd1354ce0085c589e50d95c407598dcc1b8c514611ad0acc385f3064a97be240c836ff371e528236dea7eae101a7a3df8ff9c417c198e3a2e5fa89a95744a03ee4f262a6309cd59f62ddcd151db188a59726c3155de2a569c3c8ba3f4ff578120b3707a11910394e440f6ad55998d20a00666c76084adbb3937448a0868e800e7512d8cfd586d8fa92844158ebe66ebcbfe53916a06381f30f219c07a1ff7840e44f9b9f9ec6740e37feb20e8d3364a511f0cb20be231806adb1b347c4c0d286dc90c1ab9e530d6cc66f0ee6d2f37a11462352048230ec08ff6416da914b7d7bb351d133ad03e580fe77634d057a4ff35400193aeea9abefeb97e0d70bf7215ee779f02ed28fc1a80fad3d89e580e13e360793caee227792cd2cc7787465e3432047c11ab615cbeb901d85aeee8adf8f3848704bdad16b776f5b012d36e40ef65b31be06e2017d7e1712de59dde603e8709a3427ea358aafcb6c8d0918de52c41996c81b8be48150c83eda0618353c568c47ad5ae7709fa221642bea5826c869aaf577b98c6266d9742259945b06b2f4f6c5fd4a6ece15fda59b81e1b3f3b98f637b32070f39334c8be4819065a922a28170212395a79e9a3c79644983503d8e6b8e193b097f6a82e90e91a0822f40e7ecb32b7d75f3ef93c5b850ca44738310182ed7f38a080d3701bea2cc09c2b6de76172a901c0de6e8d0be2d1c29a2c53330a613d0fd2c8db971e7d8df5fed8d7ffe02d4b8ad56b2d3a299019cda98c83ebfc8e0f94d6364a392be236b4203ee101722cea0da56b31666635a7f697a923cc97ed5a3b294c3e0d169ac954c33a13397a9e1e279ccc0830f1966a1c7da926ca31fca5987fdf1a352b7d08e9af4160e495d35139303e90c1e7b0dbc377aa7b7df970b4a558a0dd28a0456cdd199e1d137fee9ef44ba8db3609f35c693013068d8c5525e5c7c141487188b9d647a95792728968203d099ffdd857272fd5ee7b64bc2acff6b93cfaaea8877bcb84ec2fd2b2de313e3704f16618797c14ce2ea33eb21ebe43c4589d66d6a4b71c6fc784443095ae69222dc13be85e6f158e89a7bc53ef13f28053c611042a8ca20675d48a4d45f264ff7c642a84385a84d97c6c6814f991499cbdaef2c8494536c9d0e38e97cdd247d5def6d92592fb4dc5b0a0be2672a3c0aa22bbeeb250ff94d6d1bba01e817ddecaeac2c82527a9a825fe0aed7e0d9c816581f04402a6a4468afc9405f9b3776d9a110b2ae74fea484d9934c088e20c52c0b856d22a24a163cffef3d9112d98cac94d0e55a2fa58ce7118e01a047d264646fb251b229180e17e425451f570a447ce10a92482e1660a85bf0533fe7105ac7fa1c06ad88386eec2a37b2652586bf552d0a63909b129927743891f3c25d1359922f148cceb10829282397398fbc1b78ac135ca6852b0d9b256ea6fa7fb418e66ee94431e6ef25e93f9a364df5345d6db0e30952745dc3e9c49970da50315840b3f90ae52d19f4735e2c8d79b16eeaa75a0e959cca880d0aa57867b6491bb9ac9d4443a2b6cd09d7f262b220d866ff51bd5c701424e83b027c313929aefe616f568e282a2a0eb0fa37fc3190b61a5c8d5f96212742190db888e0a89cb988a8259f9d1c0819a003c5d074311c07d97e438120151aa9d77ed790fe546f02e8ad2459dafb4065c7c684a6905259dbc86cbda7e5d6afd3ec27851746320a70e9761d8e973aa105616f5a0c52da70954df274aeae61ce080c2a3f9e8733ceba190afdc97c0c8cc07d0807fcf915e4441c263a6194063bd026e0d8821a9a2eadffb977e0f2d9c3c410a2bd06872304059df8f0ee972800350a9a28402168da6030920e236d1ceef50d5c7050a3e087268aafec3c151f2566c67522a77f064b145891b0e69ef16410edea02a4cb7c838162cc76b80f6ef0144649a52291314c0c69f89944af38e2ce3bdaa3d44aba48d000d828e7d509ab3108d502bad0f2cfcde21203b00238a7620222b0495a12b2328b3c08ddd00de71e3cc781245621fd8fc6a20d3a000c50708759b52d128fbc3129d581069f702943643c2870901e37c759f81406b638431fba1ccfffe5de0e38ac5d531991e9985c9605b8280149b13d75c8125c15108851404f09fc21e2582e1fc237417705161893948f9698fac9bf4de3b916900c1cb81bba5272dd56bcb67418d67d7dd58cd27becd8a3ad505ba99510ac0b1c900ff966b9b6e00939bd9df6079c0fcd114e731c675df878d75a16cafd995df3fab071c7145e9748a2f9a0b318b305331a6ad2a66381786df99548e64bce2d010074eb74ab37ee070996b263e16e0fe5dc3da1729f99c8448098b229d55af001600a3e3b1c21a5ac97406150c860c5d0f50429196d120cab5438c01a8676d250e047f4ee25c77f3909e0017a4bd67b96bce706538e0c6d894e284c15a29a1ba38a12a8ee8e2bc0cf5163d86af6c30ab181c7cd6303e9716fd70f6387c1342e60024d6255e6532dfe0c6567e2371ce03210d734f765d8a37b8a61a333e3df8db6be1c483a76ddbed4416e87e1f274228d6d35713167bfdae1056df38c56ba82ab45b353a0570811d8d970a9d22753c59d9b02b51478e13a034aa8fbcba60670c0a3d2df4621b289d5623ac7af19b562e348eadaf064c1ff1ad4bfe129fd742cde4bce8e6d8faece163326210d7662d444130634559b1593af1644b891e3f45de3f030d15b5633e2b55f833274615138e5b567c46f61602499503187c7a7da6f70f61c63f2f12d363f74babc2cf41d0053cf7ce0e7bb95b5ce1f6952672213126fa769ecfcefb30f468ef85ea4b66bf0a6ea9a0cca8519d34990b914546c85fc1d97209bb57518131c87a05ff104c8c454d50a4d534158c292161bc089aad659d61c14de471313f93f6e2c1c62cd1324c70e4088d06d63d68fa9300d28724c749900e4f417bb94c2f3ad946b855ce27b8d5117ffeefdc1f0859abad82e9484f868429af2e34d6b1ff3f581901b4283abc0e2ca97aef9f528ee93ae24232da8638020d0c905e01047a89accee0f4d422251fc703550014af7562bff78f5a18825ab481e3e49f41044da74cbbd75a200e21e1eb0dbaf3fcd844aeef6cd6f19e2142177fd3f9b96ccd6c79e632bbefe21e3758f76eb7c7309a6717f8ece48e99da9f57a02a5086a6624185a8ba20150ff2e712c71415345d7e98951358bf2a6cb8a2052dd6f4b369a69dbf5212b2e0fbe3eb5f48883228032855755de6982aeb84b6c28796b138fc65f2ffa129d0aed775138c27c1c252e33e1fd97e6486de56ca53427d73a708fe9bcd1d6884e001f039b352093194b8be45e40c92963d8b5eb91251f490a604319f6aac14a0bbf0ad5b6a51f02ed340dde2d220ebdb5d15a6b71cfcc937d2cb8dd0320506050106d9019746805e9a9323146ec88becb0fc39df745ede2ac12c6b39cd485084d24ccd140ede3337397810168436901e36ef8f48161c5380d6d3f865574d92fd0d2b1470826767ca8fd10aaa9d839dbae358a32b6a7270de733dac1655d7f0898479b51907ac379a8c2628265df938485f2aac610db4a17b1c47f2ea8ff509145b03d57924a87da6df969312915c115b1a7f3d68a3c721b982dc8cd6b90ebf1206a4e986f44ff319f6d12c140597702b6b1e67f1986e2075d19047b76259cdce375be359029a89c488b58162b4cfeec4016c06cce2e5967f99761a74e8dbde058a85eecf16891f54b779c2ee4e21b3f67334b2ef0127fe7a76730b86406869f530a1f2bcd84d8ab24a3159595bd57510f4b4e432d1f4f8e9662f68f8018c5dbb1315b72217f3f898fa4f8a292d70c5530fae6dd8e9bc298763a375f4cff8ce1f6a75397d18d26998bcee42524f1566ae897d552dced70cff463db23d3c3c7624bffe193fec7aa4d7167771b4bd9ea338a41bf84dd5cd67b8dbf8ca775c63f3400e787b3274a290b8995b6aa35dbf53d54dcb991312ca2ab46d43277bb84a566a060e12d321de675fe09e4930a57033739245601a96890658014f8cf24461af65820d0085b9f4342b2b45e1ded14cc35a856ffba9e38070fcfd1d68ef03182950467becf17fde062e7a6781f0239f514e5a7bf433b17624719fe76661e70198eaf82b1027ed5828a8aff63f82d6e16bfea95ee73f08dc82abb2ec2b5ef8ad56a8a2c357d1e29453430c535b10202870dddb6752f9d45d5aacceb84754d924e3a281ceada140d3745ad85cb5e431a3aebc64655fc34bd6651df19476309b662d2d622fd91867f689be487dbcab45df4b890e929e0c2a6dbc5348f6b4124004c48cfc1ab7bbcef439f3acf89ec5d4b43aebaf5ed30df552a0d8a7fdcc14b4997d104e2974cc44d979ce971488c95e524c1c584053dec1d53cb9dd8cf07f8a7ecbd93f4fbae6ea455a9e0048d7bbeab24c49bb9111fa5b2d1719beb7ed2e4538037775960ef2864433ea7564a1b920b1a93f6491e10fcc90a63248b175cc00508354c3baea29dd61444b75863da390c48b1807551d4a8a246d896b52398424a827d49bb2db8a44fe5c2ad662cfe4e764d30ccb0f788b52b3bf6bece6a947fcfb4cb6ae24d78311920642412b2a0c3b537bccf50fe2ebfca8f50fb5da4a7d3071f5e42c69167ebfdac356a97cd0d49e3d74f69248e497a03d25e4416e7c4922b84825850b1544137a05ea0d380598efc23361be9f6764c00788796a2c1030c88058774a939958511cbb50a987b0c0d91b321968885b8e2bd975eed4b89d76fa6dcb800a6b27bb8ba2b750e22e31da317a2dd303152f9c4cf4f6f4f9bd3402293b000e0e5ad804b389b96399c6d9a8327d2e25896cb72cc9a7fabcf244e6408e1985116fd86f36e4745d0329b94f14519bee67db21d7bd7e1021ed6350d0d24d9473825e138f60d4481643d2e575fd2aa72de6cc922a5c243b17b2cc01cb2e18148457f7d662d3bf8f519dd0fb02d6e4e1b0e4c8c0c23592be6f660cca4080fef8eabd417b04ccc221876db01f9b31dbf1d2f00dad2ddd066346387cbdbde6f9a9271a07641cce59d756f590ee5c667e614174bda65678248afc4433139d587e44fa79235a06355c22e3215f3e15b431a39dad4a9c465e95049d7f9ba04495be9facff8f074dfc50eb679140925fde420b86a35c6f7d311c28386da8002173c379ed63bedecba152f6d15aa8d00b460fa8d4a03db22019bd38181fe74fda9ca561142caf10851230c6ca448bf551142b7324d6473541c339b552f9c4f3ba748aeb599d5cde746f68c571d57e2f7369bef9831d3767ba1dd5586bcb5490d0743c9d7f080c8a5e00a2bc454ac7e07ad4522daab9525c3ee942e3e99c19b12a776c9f0548186c2fa3e8ffe7f2cad5b1a76b2a425ff681fdbffe80bc700c43488d3afa1019588d6dc3783cab16074089c7ae54a8583aeffd40a6f713efd86e335667b530053b0a0469b600827596332cb3a410281bef2487064cf3cb54e3e36f6899cf0c5e193b2afb630f11b236345c06574c9a760aadad4f48c2e9e5af56b7071ca9a991a6d4b9f3c9517c48709da48d389cb1428596d48e67cf6a58b49814cd14c56089e7d3ad3fd344b6bc22f33883855b12ae225678c15851254ee512063a3316f6a3265c929b681d2f03dbbff492445366cd8174f3a4073ebf378d7d5bc233f1996ba301007729fbb5062816bc4343d006072e2fee81ee1d4b262a540da9ccaf83a9befc45b865ad5077634ceafc2692a743eba8ace1620dd6a480312538af59b215fed72b8c7c4d397066ec0ac96de30c3e4ef05ad15d001b99022af10888184532241f541f221b85849108c24fed3062a9bc2e3a0b1d7311eaea0d197dac32e0df5a93e3ec14ce1a7f523a42156a36b85d08264d36298e910c4d22c4881d14caf28c019e23d52a59037f4ccd98958a8b42876677e6ce08a921351ca49163a4ddc6641e1c5d2490955db71450a445237838320e872efe5bd1b61c670e5bfa6876c49fcd57fa26cc734c272a7e601d1ef02d04ed7f722753dd630daace3392ceab070bc743c2447016858b35f4584b2ab2703bec1511a9da4d70ba8c4fbf4c8b474d3df9149d6970a9c6bbd0e629bf68eae03e20399d82e4c80baadb31bbe4975bcf1643de1b193d845b0e3e8316f22363bdf789394366f1815e8beff585cd7fecdceb6ba8dfdba41509116b70592c25c9444dda375a7397864d97ac0cb90820082dcafc860c342f2a06aece09d34f5863d0f5265d60646e71309b22de6740bdf6272750027293a677d8e0f430916a9cecbca1ab2aa0a1239426a818b92b5f5d7f3edfb75cf6949762868780f445b14c2456e091753ca399992f2337eb8c3c79b44f2482503aad0455a9ee303bd9e52a33c038585405393d5b4b5c572e4463d5399e8fa03e891c8d112e3432b64101e990a59adda0e26fde0dae975871e5b93d335a62bfecf39530a4ef3f0711f61f05a57303683afa1355d4fe1ba929e4f9060a96d97fe9fe24d14a958cf5b11d08cbcd029215954de820ce7002eb109282767d4a9ed565931e243003fbeffb85fbf0c5c6b4770855c9539021369738c322c090f400a53ddcc86d7ebd1e3f1b909f9e7a9174d9026db24ab6c9994fe56fba102c865f2421580514e15e828f8a6223fe410b3b0c4f74804004fe3d015bbfc479681bacfa471478cbbe5ecbdfdc51126dc20cbc6da4d1eb0ad344ec1f94233e73d25670e2497f7b8009fdbbce37a2db21f833cebdf62f1e407f15b00145321be7cd4f80febf588b5decc55ecc622f76b116b3588b79b1dc556a695e48df5d48e7e675672204074a5fe62b45f8d5fc04a5c588099913fc683190b374caebf2d6c5a431093681aceb5e93651c3778b681eae2a757f97051a248477628a0cfb6ea6c572b72593e52ee6ccb0a63999b348a08efa3cb77a74c91689e69248decea1bf9fbd12e9b9b82626ceba5cc17057ae803c35320e214a903b98e5355bfcdaaee55fda93d7fd7bf9b4567c5900482aeeafe94fe109a9fe4be03208cb1808103b0da2de4984df62d58fadc3ac849de59e740ae9194806f44b120b624154bf6de4df6de52ca9464430ce90b2f0cd6e7cd8c1df17060dbdfc5b916040b3758b0c902902c3cf169955ce1c3c78b0a4095909e534a4d6a52931af679738053c23e081bc4db97b6d14196783c619691961196dc5e6065158c24c911f9c1ead861738d8374e15fdf208570100648aef05273aa90852c4cd6f4513dedb12093c77a23ab8085985c73ea92cf45be94524a29a5947206615f844c9cad325614ec58b355f6afb926a1388ef259711cf53589a3fc6d27a59cdf79774fffdc4a716c9f1f69899d4f63e28fc694ed937aa67421f1c4a3f69d1777c140266b57fa58e2e2679fad1cd55f91382ac3ac16b0d829ecf6a23f58e937734a99c36ffc2637c671937dc704cce837f546baf017e5c18e9e73939367f732e64f5925cee137b93e7dd692ec2fda2a18a937553052d3aaae375dc6048c8eec45d059049de77ebb3a383cc3679c74ee1e39f31b984c71e7b8e8ef5f9338cb1f05adeceedeca0ee3319e5371ea4dbb1c26cae8adc9622dc9392957f58f24d8b159d959ed635e121fac54e2392ccff125a337d8d1e6e45ff96f3205b6e32869e85e9c78d57cfa30fce7bd31c462ff251cc9fe37e4ab889a5c974024fbd34c484e81f5164206caee5d7bdaa4534a31b795a9eebcec649dcfb249b3cfa533fff9d9a0efb99861edaea09f4b7da981eafb697ecd2ef59775fb687cce70bf379deeca9c403b0ad319cc8cf5cd54c38ccd238ee2e6cca6929c95babbddbdbbf390b34f317d7f2e29df9f8b8ab7eff4bd6b2f744928289fa1a0a07c07e53794d7bedb40262614a5bf293f17934fc583eeb8f2a017dd51f420f840d04fa1bf023e10df7dbccfe77359f9ce82d2aee015206a442010a915bf822f1040bc831af4dd7b1e54f9ec5b49ce125ff98bb33aeb590b5ab963b3882c286d2892e97b8f3c94c7e691196b830dfd486728cc4d2c674f9bd043b06821b21f9265f8ef8f1bcb8f1448ce284cceb29f4a92384a1681c22a673f711c55435a839cd117e48caa60f601e5fd38f590b397e3cc43ce4674343d2b2ac009e211c482068bf73731d9b4920d168ff2282ce6138e02e2b3159fbd547c86f299c9a77cf69d953e7b963bc53b8db8983d00ee8481565658b0283d09684e4931a5a4a4fc7cad947d46d04fc124e86cc2a3976cac7ccaa7ac600f79f6ad080820567eb200e243f0c94000f1fff53382fe0a264167111efd414f3f23c0070293a0330b3cfaabbc8cf9f95cecfb95d97e342cc601faee71a8fc8ecee077220ff433fb5bd0ed374817d9774dab3f1077ceb898fd8a3b87384b46c4c5cce56296d9ecff368e8bd983b795b898bdca6d15b751aeaf3ce53acbc5ec4dd77db8987de97acbc52c7b934779d29f8452ba89f577a733d62b890fd6e449efdf9998988426f7864743e6d067e264c948b80817b34e822363809f7dd741c6187df61d783b8fc02bb348f4019028ef839031b074d1f972987de8d0f2284ad1bfbb3b3a04da14d8df3f73f7d75c2a66690c9d5cd149295b16c0d64efd5c28dd5e768e5376bf1f38e58a71f87bbeebeb79bf9ebf91b33fd58a44e6b4febeafc779bc1c5ede68ee6ff328b7b948b3cfa566efb2e6868bf44fa824b23f35e2b3e3c62f6a96695b6f5bd33cda4c5fd2225a8ada1391e95c91fda9d74a3d2f5ca4a7111b2c7d11bf8b360676b4995af0a9549d4ea7d3a94eaec6fdf0723fbcdc0f47dc0f47baee9c6e3395bd946eb0fed5a033d592a57ea53f53937acf5ae99c4e86b90709ebf4e69c6623cb8d5bbaa019959ee57bd36ffffe7c3e92eb388f942ea61cbacecb4dc6d01a77a48bdaf35bc39b7451dfafe71264576e74893cbf5f7aee1900c4384a7b65ed35178d46446a34f946479b60c7ad132263809fff8234f2817dae907b03921b8adc3334b9bb48eef1f3ca9f988af6561e4bd4cac91c92dcdc0d972477ca8f1c4e6e4e09d8da722063d0efdf74d04394466e58c9d80c4663a705e396933bab1cfed879e9b0726fafdc1b6c8be5de6c72f706deafbb2fa17fe1befbcfd511ba52d581d7933b39006b448793df7551b0d2d4925725cfab03a4bfc3e60fcc5124968b5f9028d20ba4f889e513512b37ca6b8433ca717153a162e3791b23354760b19497d66449028509c774f3c998626031d76b86a60e92a53f65f5f964d31e70abdc701f045ca572d305fbb9e73953cbd4b961eb3acffca8e77d3a2f8f701ce55c4779d0cf6df5c0db65152bacdc8f575ab95f650546051feee9dd1166f049ad98dc3f937b45867595dc252f376705c58fd055b9816991c2cfc1cbbc0f62b77b0a26182d29dc83a58b79a9c723b94c1da575bae7b6ce762e925ce7598975a618130c47828e74513baa4eae25c8da265d3807e22613be69a1d09689449eebf96ae280e782600ecf0341507a3bba11709c547d22d2378366959b225c47fa6a6cb9bbef19d36020180a3c04cbe0993ff245fee5af0acebfdef534997b999f79988f79d65f417eecbbb02da1e24ac952b7ac756e626a995a6e22556e7277bbce2496a3568e20492f902b4372d3e491d45251b92a38bdcaa38ad84b4591ab62e5aaa871b1c51415b025b97f4479999098809860268be9c66493fb4d622458ee0f5957ee17c99866b2e90d7284635ae142ee3ae4fe5f89d5e0ef5f9991314c1ac67825b612cbd574a58bd2d48ac918fe3d6edb07810e27050f557264a6ffe2e24889a73a084c55873f9ecd7afcb5cfa5e7a66276b8ed73016fca67d64ece66170ad281b62d7fbccfa5012e45380b6e52ac012d67f3eb54705492786a754fc865d9f399766e1e0a85ba1b7acfe56e90ee459745e7066189aaee411f51a893719dcf05bca6cfcfab63fe8e8da33e6f5431a4a8a9e4c49881025d162806b0e84cb8eff3792ef7f3d2ae13000bc9a2a11860c275be1ad6f3d578cf3331c65ce7f3d5b09f4a6f10ee3ff741214c808ea5b65250e622f096f2e84a15775f84d0e7be135d7a83887e7e44162340b2a87415585b4042ae2f43a8ac3d025456001108c20b62022c441965f1d5f8ccf364cea8a7fb5cc08b52ebf7795858e0fb58ef7301efc9cc9eae03c09f0ed9cfc57e357e7a3c5f3bcffd552792adf2be900b28f47d2ee00d3377bfce7b5f3bd793bdab23779f3b41201097bd4b82fcb94e67e823c5cfa94814cadefd40fe48297a0f7a7470748223eaf95cc06b92b9bb125bb171d17fc776b3bc72c453dc7777398e457bfbd5d82a8a0102000920022c46294064a00e0b1068c5667a747034cb4233abdc88be1a5b104e1da0894457e5e657b97f25b6c3821f04a66a9406ebb762d06f6b40e6195bb1c9fd9864f2f978e025e5cfd5a17957ab414119170a79421eae061569975250bb73a45d27f5d4aecc427f6b3df08ef20a4c025bb94738239ccf95239153d10264489748e4239c995a714d96fe8f0b277f9658b9548a9f06896869014193faa3af88ce28df81ffe19172a5143f188f3e97fae2747ae5141a5f71cdd489a778ca2ba7b832e85a71d5fa37b9df2ec9fd9e97fc3ebef545727fc748ee0f1ff635b95f047a22f78780e47e0b45ee270d2192fb4f5e33f56040f27933e4fecfc92bf78f3e959b3c901c04f2c00b66ee9248a4279c0588b3f48baeca4d88749f35597a745bb95fc70e9b3f1d3a42407784b9ebba277e388a868070281eb099cb24c868e787934823e9ab61f324a9dccc14ca6b25f6e2af021903e54dac25fdc8fdefa343194916f03b37458a60f7fd9d2ba538dafc015f8625940f580ac1f0515e282f13933ca2bce86ae519828adcf9d124934996ce6bb7a58b4ee7b9dbf9ee76fe6e207fc2ef4e502a283b6ff2b97c5c68312be1897b0542bad038124cbe32a498dc4268df5d2fcc3e1b9efd351364d9096a769a335328c9a2954aa5d2bc71d487f3ab990abda9d5ac8c852866a03c08c85f157a3421d7972693c95948162d44a5a4a4b40ace4c75dcf76f9b6df77ca91a28e9427beeb210800b8a01367fcfe2c32a646a26b5fa497e1d30b3bfa99592b5cf879feb6c9a7f28e48157a4d1db1914c4a4e0576303bf1a9f7310924534bfd15763cb239248e4813794b9fb22a4f3dcebd8b1651d3bc2fcf91db6ebbc5b733bcdf3e4c485f6a11a16a5f41951f37cf03b93d4dc137ab73388472672fd14b9b977258f295df89b3e1b34cfc9440a085ed02836532bb1d12896dbc4c4c4e4ab414d4cee35c12a5ee54321fc2bb19932b55a795c89756f902cfd2a75c8fda3a907596bf7d01c071b8cb7031286f67f55d4b8c0a18462c330043f266148ba1230c31bb2f61da8f102c800c9a2c1e1062e062045180708a285cb154eb01045101360413bde474f4215e99d105558c89a13a28ad4f950ef43f96a7c6934f2c06bb315d27921e17fae0e94d07d09a9a04f2a2160573ab9349f943a9f9393093e8a1598105e054811e5ab4173f8282860e7839203b3ae6646433c6552ed21fb834c59b371d45857da0dab47eb2b29a09087dc038ff5a5876adc3e1e85497f024ef6afab30464af1849bec79a4b196144ff0431e694ef615146e90c7fa92fd9364ff29fb73406790f7b9838c4102fba9831c4262911bece899c9fe8da1c8ee91f18c7626459eb147f6c448172e3353a123cee23f6ef4c7100cc964ffd0113fb51057d898f2188ab966e365cda6330249dd52328a5cab357e703e38264e5c91e116a2abe5f933cb6f64b3c2c1c1c1c1c1c17175c2175d2d6a4d16ff4d643be1e841d19fd46afcc9b12b98110671e752964a37b8cc351c2d675b75d91fc165d9779847a95fcc9e47f7de4740aa9e4788bf87ea5b1aeb38c2fbef23205516f3d8c630fcb1a5aaa4eafb716bf9484c169758c711d9731f01a9ba3159fc39cca308dc43f559ec082ce403414a365442aaca5dab95aad4b87156abecaed52a7378d595242e59c0fbec8ff0fce7fb3fde679847abbcf77c0fd5285f1090aa0e9726c09526d0aaec5b953d87e99c831d29ccc21a66a6baeef31c6682fb0ff71f9367e2f35df752a5c405c1d55e60e54d0c46619ef71e943b7f1f3ef79f7fe9dea4d4dffdbeefff42ccc304d7ee7970df43d57597bba4ef70a9fffb1e2a1e1c2e352e4180fbeefbbbee3ffb1da6310ef750491585cdc07a3c309ed664b1d9da4a9bec0f8e6c380edbfeac2722610ed7d507a7672087c85699fb6ad03f5282adbf7d36a36f689543b1991a6d9bb561f83336da8d86a32dd9581d525af3f95c281d0db12385d19acfe365d93f4a3728ccc5acc5c0368c06033b7e2d0fcbc5d16ab316148e56a1d12a97268099e89e7ba9a230ef7978b8e46126bcef5eaa78700fbbc1e12fe7bbd15d21a55ef58b8d94528a6030180c8c0163c01830066723d95108e24c2be0d018b5a1399acd4c895c93c57f23e171b356e4ca3ead60c70f4e4ce4d29078aac3fedf83ec0727f1341e43251f7e6d8927be64c7340c567b511cec188ac918339043d02e48216a2063d02f4817fe30111fecf8c142b190cdeda10add88563246673953d2358632140bf9e08309c514b11a1e3d31d97f0cc1e44d89fc341be9c21f56e322f712d9c18edd3e5c6435cba6430aeb6f66a6e88cfd66baa3c9feddcc4c65ffe26666eae3fec1d95c63c2e745611ccc51a36633722feec58427b23f6784c2680d45c2d5d41b5a436314265dbc119a99cade5fa3d19820530d1b3529647fed0ad9b52e7c703e188565381f9ced3559b48fbaec2d4743a2dd6836dbabf17cf94d1eb99766d38de060bde76b1ac16d84d4ca7225a3191240d850f3791122922b5e5e5944bf7c1196718b90b2b1e78b70145e8048e4993d42a065d1d844eeef29a7bc73095123e97e192eea9e4fafeddb2f192e8aa01117881be66257848c7f195e44112d6a83d5deffc78c938fe7088c8a7cafc3d043d033b410fe5e8341c6e8de9ffb5c4c5e0b127ee7dd6e7edf5dffebd21d3f1b5ceeefb98f46ca974e4ebeefa4f3a1741dc59929fafaaea377b419940f82df2cd04a15f66dab00bffb55fef1d8488c00b10a1ebd5f4a094af9e30e9b7bf06862892c71e8c511fa2672cba7a2a74f432f1b8b44bfc3b3a594d269716637ed8b6cd80f5d1cd0db1048317dcd94e9bbaef15843be11f29b3ec52977ec9cf2df4743e51be3f05428eda8ca7394aa689d05adb5d682216c45afa2ca2c7a193e7adf327d799bb053daa11f7378b6adb56fdb053d84e895251e73789de8418c837efb90fd9a296a431f97eccf17cd54bf268b835ef3177959e6f032f8a299e5832ffa51fb68c8c701e2d067fd1a69063d0fd42fc26368567a65ee2cdbceb671bbe0ebfcf9f0effbbe7465f6cfe5939fe8bb378a84de38aab1a437d466a43699defcc8b2035672c1472c4b2940219371965cf07193fb25635c4166f9b50ae5766e837df7debf47b9328b1ebc638f4ca3a7c8735b22376989dd5e74c7cc56e4238b4a2fba9f3cb952d5af29fb7aeebe0954137c447d1e0d8719d5a86442a3e26142a3b228b0dfb25fee5af6e4db075dfab98028a594ce076f087c797be46e17645f6fc74c164ffee086912e3c11f0fcfc6678707fa3cd63bf82d4dfee28bf679ce4102420cf6f18e982099808b84819537ed9ed999bc36f2afed3742245be5fabd78b0b46642c40d6d43491ec3f4a8235a124aafb45c453d488b3f87b4d76943b5f2e7a125e2efabf96e471be5ed3089daf3c86d943535df9d48248e27e00dd0f60373b2fb1286a836d711267cda14a268e27e95c71dfb858eb24fde8eb484292e7d76f4667cf48512678a4df7de9e7b7cc5407dfa8f80465fa1bd5f34c70e74d4c70fd16377914ef710e2f9f848f8241bc63e693f0bdd1a39c601c267f92c31b73789934f3f628a447c163fba8799a601ca43ff9d1fb67e36484ebb64dcffdaf37fbaf737a795630578c63bec9ac77fec45dd7485cd0426cf3e4e537fa71876739bc9c7d1de1b173664497333cf698b391c898d99d3fba733e1e3b7fb34e4ebe91382af31f59bb60a4797a796e75ac5bad13b70b5a88fa9d37ddefc26bd2729f743d1deedcee49d7438a00fefbfdb97830bedd6d992c3efd73217d47bae16f77f47268f2f2a361f2e1cb70cfdf8b7fdef0e5175eef4dea7bd9b70b7a0899b3974872572fdd42936ede11ccd96866a189c7e3f18cbc27d1b1c7e7c69ce023e128ee9d7b53c9f4dc8fdba8f2a2ff79f22a7ee231e545dc9bb2df7ea3cffdcc3c77cc913d1397b69f1f6e6ff2d9c833ca914b1b0ef19823e7c89f03ec6a37475fb7d16f0f7a3c234c5a62b79f5febd3af01273f3af90dd7b7df65fd3da0b387f4f27b40e793ec4998c407ebf9f9d683719cfc08e3f8df1ecc2798be0dfa5805e5373caac03405a3fcc4636793e98e4de45a6fdb18b38dcbbe3e139ac77115d30d8f289ca8f3e42e1237b83f02fcd1776d72c71cd9043c69c1630eb0ebe6ad630bd89d5b66aa53e786434cface937ee211cc240cfea8c6e8654c933be600338803b4413b397b9715b0a34e7e26d87347307b7e7efdf0da5cebcf798247d27b1fb28478f4e430b91bc6b1f96783fe68f4231cd98fbeab3fef9883b424cbb2df46d2877ebb3846ef79cb231279f49e84738079f4630e306fefb96cd9e882f4b92bb368013947f6fe061299ec7448d07994e9df1bf74a3067f5c71d3cf29c78ccdeebe81d7b78f7c61d2c8d23c61e79a3efd93cdbe77a5da37fe388ce7bde7b9eea605986cbf0ee12e12cceb5b4acf763cbdce6772aa62e5aa57394010184ca71fe2f423a1fa5f5676bda6799f8db8ffd1dfca2fc96d8fe8aacf6155d7c7987e1fef2c57b72d1a9c42da236d4d8719b7f3afd4df65fb179a64ed4063b9e4e33e5398bbf8376b02b24951917562c99b38491eccfe3e545486d658edbb6adb375b6cea6b5b744af1c86cc5962a6568e92790adbdd2dfa83ed565321dde6a8effaa3e1dd5ceea6e71dfacda8afe19ae54ef3b29abbcdd3b6993bceeb749dc77d33ea7b5ef7cda83fd6efea1459dead8737bda9ae1a7318360ec3bf1bd1c18ef50e76a883cd27043bd66f1d34db38ca658db9e8d5c645afb17ac44557225dd8384aca98a38e541b8a4b123b8e74e1efa23c589bb9666a3e4be2d4d8e8388e433324fbbb921aab473ce5aa244e59aec4735c74c7998d4789e3381502533571e69a2c70a8316f7335ad5fe85e8464fdf5fbfb6d576fe860e8a8ead9bfa39ec8eeaa155e769aa544e9f0f9d908a51c4247e76a434e3145bd3b3cb78d04e476cf736b59213eba6d93526632935252a74a489bb161d2a6c646078d13dedc384a7281e647f6ef248eaa4a3ccb2ca555565965bdf3fbf6bc9e1cecb86577e1e16212eaab5961d9b54d09254030539f9772d5ac2c658b2cdb05d9bf592d846b2f6518ec976cd0ef6f8cc3593246e7fd519c450300b983678c635932b4681ffe3336530d7356c3660fe12f2d84bf7452e471c6fa6688bff41055085288f74aa412c189ecef51a2bf07049137b0d2c56b0a2df0790f37519a40abbc6f9587599eeaf32caa7af1de894de5f9edb6aabf23a8ea839d50c147e5bdab64cb0174373c2907d0719d19f36866ac42e1629d99b8ca7836b0b2ca647795fc1ad02304728a9c6149df93418575b6a5a173cd1c2398b7aed35ba7b74e6fdb9603cc1dcfdb6ab6753e87b374b80b022566ca7b0e9394587993471080c16e4f23c7cbf0ee479993e5d7bdbdb66ddbb661edb3cf65f330754d1638c89836362572386a7b7f1038d7f16dc3251bda6fbfe10ff84da62e4a4ce9276510a2cbf06a607b3406db2198793e079cc53fc94bc9929815656e9c7bc2a66b6ee8b66f1ba564f915d74ab39edfd97cc79ba3c69f984a171b9daeaf821e0f589e3359f6cd994e7b791ebbbbbd0b3a018140203c7a9ee77dbf56847685b1d6f34fd7e111a4bd402029bd075dedd5c9849f4ce2c0bef0f04851a0a7a03be2c36b2e17b597e6f2b0f6cafed35c0ec35f0e23736945b457cf999c5d6d331284e2f145a637f7496e50b5f168a3482439e68c0ceff407db60cde57978ec74ed795e90891b6b5fead758afda2a1267b11c5e01c0837745ca83f0d82283fab636181be39a2c381b6c8b599bd606636342999f116932174ece2a736536309b988dcf6c34d6b57a8532362606a615362b2767b2f8288f6453df7c8d13f12b429305476fc603bf738d9929878189818971dfb630cc6266ca63b198584c2c4673559b30fc3f65ae99f21c97e7b8c2090393d9c06436fe73dbac9d3367b2ac668ac6b498302767e6e45099c912fb0f436b6566b6cdda305c191102912c7ef61da5d208ca2d818fa2b200979fd159a5068d2f3dca2dd578155f9a01fe0c0a3353ddaa5bc170b1984c4c2626c3c5b88d9b817114c6d1cc545580ab3c7b6ca6ea8680d8016cf8ddcb79caae99ca62260bcc4c65aec9e2592a07e53930fec58f2101606860e66babc932539a00622e626368678ec38c9ec6c551c4d3f81ad7868a2fd9a8f1a36603cff06ce319f0da1147394e3e79c95a4268c14b060b02454e752d238e92466460d306036a749cc61d434fe38bb820203d10afe2e20001e959fcbf4705d6fb8ec7090b3eca8f9d1862ded3c0fd7291f4a330d8ec472e67a6b6cdda90e6702f9d19b7a3723b2eb793733b4b62440a8851c564d70c5f862b01aef011e03a001e3722f06887c06318038f6f006cd3526d5ab298f7cf5c99cdf4540c2a0646cc0b3c8605c0a37502b8f2004e42682eadc84a00abee5dac5aacb4984f0c4b8c11e2674686d0ca04c8d288108ce4fe5070e7c645af371f1e2ce81dbc9e576410e8e2effbbd76efdb3bb6e4b1de71638dcd920935d7e8ac3c6a2e7fe5517351f10260c5b3b8251bfffd780c3de96506e2966c8470342e7de853563cfe6e7e5bcfef39a312b2e2bbf6b21518df938b76d462ae7b4bdad392d64929e50b95902e262577c445a732dd4225a4bf4532dcb3022ec6c53c2f262d2fc38bb081396a942e1938d97f019a566384a3715488fd4556f1630b2052728f7277e6d1961c5e8e869b29820d7fe46634d74c551b136b43953c561b953c6aa6dbb9da98fcb6593b863905d6b997724d61f62a18bf888b0c76a44ffa19de2d7d7746c163111925967d385bd25c2df9451e414f7f7ca1b2d97bef799f794f6199d398e66d81c8dd9fef2ecb0ccfa0c97fda2b3b6cd462a366a3b921fb8372b4e4d0e47233971be2a27bfefbbeebfaab41dfe51bbde7be744bfd2fb2cc9ff72e8dcf379ef199285e8ba6a0ef9731c1a732a60c718c72bcc89effb4c8748647163d37c3d1805e14baa5ce77c97ba9d28ab898653eed673787a7bdecd55c28b05cec7edfdd20f33d734efa7db8da7c67b01acc653093b3ac2271167fef569b6af3d495f57f52b0df16ace6d25edf11cbdd162efadb40cc3257f65916eca65d194e68d96bb02cd362d93597bbf2a96b65b9d243014d740fd732107372968c9aec6f3abd28b262f456febecee165aed65abb85bec02d5dcbc9456f39bd6871d1bb59dbecbee34ecebaa1a3e6e4f0af70540797e877a9d2adfb8938647aeaf91e14d831cca075f124a3e5ebd4ea7c1b2286211388647fd38a4ab72c23c2ebe6e2f41f45491de56176215dabe48a318bc99d0d71d1a594545249258dcf743afa8315911ad65412d658b5f9104cba27c9646a42ef9199291a8bc5a80c95a1312a4363542636c5ff30ecf6394f4e3e140a793ca1d0890eea4532584d2c6bcf9af6adb09ad0e87121ecaef94204112f5eb468b16285093ba1b160474db05dbf882daca0449c4926ce543273ee5ce2e2ab26d75ff12af2d4af156868328da34aa7175690a93e2aec089975facf01b34cbdd0ed2cfe87a1111ca769947a5ebb3bb2fc74087666d46b66745946c16e596ee185933dafb56b212d57566589f3666ed66aa2e75e234b729424f10f61777533b0637dbd8c38aa1271d12b0df5418b08cce6cde4b11eb1b25b45ca5a356d26b93b32d7414fb2a7a49eb1479e3729dee82e3036535ec459fcfd26bb91ec2f051b66214eeb720a7697cb5df54d786c3989f09fe0f1df33f16827765715b9ea924e4bf6921d673e9c604bae2d5081d53633b03358b0c2bc0a3699e6b1c26ec6cada421560359d5c91e4986fac51136c65d998fed1e8f28431c16ebf7d466cdf21a0e1b9bf06cd3d5fd2857fed1ee0dc94642ca0c2c1e552528d22b982cb06e55faa4b079e95144ca802d5dc08b0eeee6ee980793353d5069d2f19a37111d205aa01f2a5f56482d5beb3bb666ade6838a5555885d5182ed1ef1be4b16f806b4cc3155661a5233a5fbf621efd448caaf33d545d7f0e905f420203314dd3344d43a2be006cbd944796f2a6b65c2b01d8ec72200969d32d4bdc531ae338eafed92a7bf1cf7c784a4a01265f59c8c9fed5667254a3472812476545a050384ac64e7789274b09ce11d9fd2ae2224ea8ed7c71d127cb45a74a1ca7a77b46132891238a1b0dd35846f90af3222e865ece8cc65c2eee70d1b528ecc98f1227bbe3e8a0f7fe3869f24836f7f347e84bdc88f6295e93dd641fc59164bf193dc94c5598b338cb7f088fe1e331c4a35581479b6f65493c6e2a78dc52ac09974eba99e4963e74c279baee6e89c72472e8b589f2d25d279c27cbf0e7f3d3347b8a7e5711569652d81871947c193912729bec7e93dd9538cc51f5ab51c70c0656614372ed9a7a247b297c157f72557cdfbf28ff3fd2aca252d23ebb947ecac977e8b5cf6ee3d2fc7eae34df539ab808999348226b2419fa9edf574e2ae9a41fbae30e8ae58f4259764328a3a6b511289f611c283f318e94a7a38677d48c82a98bf765ca7f9edea72aff98baa8d2b2fb9ebc464f2413f9e44db25fa37834b50ad3091e5b4a3cee981516abb1d07a5cc2ef50faa4b9de36d95a6759fad0bb2bf48e514ec630879e0b7de3f17308873fc3b9a3d28b23fcf932d4beebd01d3f87a84a962a2a54a4a4984ca5120acac949189a989048a311088a44a1100864ede7e3f17c9fe7751dc775b2ece44641c11c1e372d05e54b2978ccb27cd387574a17267ca2e5964294f0c90957b394b2f118fa0fbd631239f41e4dfb697f4e29354dd344d0232741c331f4264fe7e74378fccc0fc397313f4fba6312f94355a3eb160441c724f86a8cb295a2af5274ef28fff37d4789b55e7de80d018f6c735630f623bf2264d71a1f336b97fb5cec836e90eaa935cee24f6b484afc897d6e8571c1b6cb43aeca8239ea53635e3f974ff629d9a0d507e6b1042bfb7338487d94e7fd3bede37161471acbb179d32fab23d8b1c2faa6c651a51a35f7d7dcb87dd8cfac24d9619db9dabbdd7217ac33577fb77d364070801757eeaf3515e628f9a5206bdf23fb4f77b5b0fd69df97045d9a400a0c82f02366a5aa1fa4f3077871e5aeb889fa360ef0e2caf247771de0c5e5288983ac0ef0e2523551b110f942b47721f2e51782d66edebe1aa62dc4a091e0d0618a0fd0586e9ce3002fae09d098aa621ead2a4da07ee73b9809d0882d555c922fc3613a6b999e49811ddd2503eb0c8f1ecbfe5e318dce01b013e6a8ed7ddbdcf5fdb9f4ad3017351cd8ed6b8d4b5698ca675ced72914ae97a111aecd89f515aa4fe9c4f472fe2a2bf1389c972a5e7a6230b5df672c5486abd50188d390cff111dec486134902e5c741c2c08a3dfd295bdf1c41463224346399fc25cf4186c62da630e0ae366f295c97e94b03c52d8d82326fbeb4fb5cabb4f1d3e77e8d28cdc9ed50e26ad5908c3131daf5b5a1ab435d4410ee128e8c2a7b0d0b6591b865ac51487e1121bf3c179831d3d40be1a8c6cbe703bef1ba8a8664369129aa4fed83f52cd46bb31826451d104912c32839a8d8bdacdbc1a126b63338ec6da8da6d9d8dca1caff13e6daa523321e32c3a5d20d39710f9a20b9be7c34b82c71b7a40bffaea360a5144da0c9740461a316cc518e9252d0e0647f0dc9e8c5519d918fecdd1a79d9ff73071983cbdf3293c2e817341b2a060ad370b6176dc9f6a22dd956db0badad0a80ad05d9df02205398a33c148bdf87452fbcc96ce8d6728268fbf11591c10c0acc731199292283d8676fece881420648b6711fac418afea30592b79618d56857d9c650981ba4a6d984ff1626fb5325a399d18c27522593c22855e240b05b1e47abcf0e043b9f8e66462b4705beca3e59ad0e8fdbccf451632a903a444a4ae79cdad4a63669c7eb781dafd33518847b145618fa0f67f15a5bd97b4e49259554ceb96d9bb7466f6d7548ce9ec862322050641a5418b7e014fd90e2460a295a59d2214b29a4e0831ccebc441999245084a61643b2972bb2b09365dccbf0d34c2d31593cd5321b8d79392ded4a629174ad566b8999ea57160b5f62fdd931a31f760c715a99cc4c9d4816ffc9925d66d28432345df1d82e99d93275d2e9999ff9de7f3cb4d37df566f6b393d96b283a776b9950ecdabd5dd088d5bebf23b2d7308f56653814270e6d6613dda39b983dbaa3837fa761f4fbdd1c46ffc806b65f4a1735524a22248b7c8ac7f914d7d6366ddbb68d66b35bb4f7d2df260ba5146f72b2c876428a223fb27c65298514315994e9981814f467f632f3786047b1fb5e8673c0535dea70efdf325334a6f247225c122393bc5813e607ab4526c7542da6f68cd631331a8ea95acdeaa7da5af1a8fd7cfbc9a8f79a530f0371169faa0e774c4b73db5751d3fa3b377c4d74ea1e5706976b5ed0882d6dcd834dc26eb88064ff23e4910f678a2e6e626f5b0b17dde3df53f1d34e8efabe6ddb363c7e4fb1e8e2a9c5f7a3f87de73b6562be419bc654e3496c7172540b0047353616651ec5f0c64cb148167ff7fffcb74fda6c2f3f51ba703189def0286f6e7c58ccdbf7e171fbf9dee5b6a7eee25a56f1119ea9e8dd6eb8e8a2e81e11eaf78d69be1f7de6c3ee33b9b6acd77383d097979e5cac947ef28e39fabb41e85714cca0ea97b49739e354b287f4a96790d8f1e4efc54467f949c68e78eeb1dfbc99cdd1f8cccce9e4f291fd5fcc0c292202472493f0652cc051ffd4e492eee85ed10d5d39593ac94d9a3158ee279117212a33621e4fa753ee3cdf899c27dfc7fa8c834a1bf6e1a2a7bcca55d133333ee35fe9f3250bfa5cd0c5cffb8c0fb1311b24499c886b5ad067c65123ed218eba7e4445caf59a4963328da1404afeb98471d4132c17bdafcacd763eb99c24627a37954c28a613d33475268fe93399be8806380a64faf9b9984e3305bea3e0d1d23fc1138fdfe15134790f1e4fffe1b125c42d26783c89f3e6670ac4f335597cb274cf7c987a8dc7fc888b3e333333e3b2675cfdaad861f60796beac0f2ca5a1aeec5ba7c3f917015779806047ca9aaf6dfb70c563f8dbd8e1ad7383d017def8e4f1e11403a407b9be7ced6edee6ea99198ae5cc96c3e9b91fb635a1f5f85444f162e58a97730423c312e999d44a9ac738aa617ec453a49643e128798531286111711997bfbc662693acbec2a4012213235db0268bc7b066ca553e69648c2d13c9ac977491ce9aa9caca3cc64597992c332d0702043b3a8c3fe108880981388b7fcc4df637c500199205a1df383193c587b35496658d16bb8cf7033b5a0bce1e3d3b49e86401ec6b0cc328cc647f93d8828815bd2a05a12f55f39bdeedb6b47489308fa9e296ddd3a6b5f8b685e1c9c596ce7d513bf805e5e89f5a5c3cbd6869408f5cb10e9a7388b9f1f652456fa9bef65bceb6450126fb7b9d3f39aaf30b999a44882d1226631209d7d142d7b685a0a7c82c7e5a810bb774cbb3b1bbc60ddc64b0445289f770723a836e93818542ac93b2f394d2f91ddaedf5cca494fe6978d364e3d30afa6f033b9eb29f5ed0ec4896d54cab35db72a52f77cc5c5ffb5c2ab641f18ed9137b9e032971682de8502022592cb0a41a584f031462a80085d627f1628b30742e5d4a29a5e44097916460ed3f01c7822b1230bffa841d4190bbbee7a8dad8032d1db7161e133a5900fb84233d4ebcb998dd9e5e9d2c807d42117bea1f9dd73e1fdc847cbd08d9be33cef9dab7bc68197ea373e57f7658d14d4ae91fe1019170149d1dbe312f1273e2235cbc39e42b6f9fbddc40c261c04e378e40a22509478da7d313a0c8fe2f6e1c818408b13ffb35d86d858bbec2459f719246f2696ebfe295338fa139bb34f7a5b97a2e7ab7c03d581f647f93fbb6d1296f7812ab23ac4cf118e61b3d718c46bb1771c2b43ca125b620822ab1d291b88d1f89790d8c6e52ec1630f624c6ece109acd9f1613fecbcc08ee10946e426fbd3d60f20fe3fda15079c271c25b56004991c283c796c9899dc45aa74da57c81d063bba4c77ab736613ac480fb6bf735c46c640c9fd73062dc83d51a084efe1a5f3a3e38c9e63f2a30b7125e4f627803f3a1546d742e8470703e84737031b4c702741b2f4088f16c422fc9fcff0d8d22dc9d2bf6db6b6b77c9476e52ad7903b09520979a3a2751cd690bb0c5f083b0bb6a730b264e9842b61c8df2e1012c64881dcaf84862b1d2f306e60ec31b1d684f7c8282745270b60c71651245224fbb7d83cd38bcf0b76dcb2787218fedf17ec289e3cb14517ecb8750e1128a6935616872eba675d94811dc3507eee97e95e8480de8957d1bf5d77f6dd1d7be4ace5d4fd9a26c3a5b4e037f8f2e7f795b2df6aaf6952d3dedaa9fdec9c7d2e0ee303facd512d6a3a3747498aa2d37d08f9ada3b39c628ab17f94df49e911dd8eca6ddcd1f8c79652ce299a53868b2648c3815c1745d7dd1e1245074e109c1df8dde53ef6c1ab657207cd994ffa327c4a1c223eb86fc6c651f99d4b27bf4fe05d220341b0eb30f63e1b5c96dd47c37bfbd27b088de77369393d8999024136bb6e76f3bb88e8e2004d93efba3945df437a8849249f98887e46d134d3452091a80389ba2992df798678867886788614c9e3c501f27cf73da403bd7c897f147d371e9b267b1eecac3fdfb80be11d9e3f1847f7a06f11dee1594ac7630e4f8246107b7e82ba24b210743b1108662a1cf59049039e809f8fc604bde733029c27787e138fedcd7922bac95d27eabaaeeb4420dc3fa485f07c78436fe2799e9922659884438c25e8259699e86547d143783c18c438664ffae9cf01a26e5c023df89e0f674a7e380a4f0eef94c18e68fb8cf0728bf7c1a18ee203c1077d2ee00481aecc73ce3941df9976143d4467ede4a91b327b3e17adebcff3a387dae81e7c1add8318fc1ed9cbb21f7443b3a368213c0fbae38aec7979c716f9c69f4e9e21d8fe6ee33c494bf26996536eb2d3035013ddc32b4b1c4224d9df34a59430fc3d36d8c641582ed252e3d084c46e9e1cd851ecea76b04e80490a4e3858ffbe4bf8833ab0bd9a4bf0f8de60a5144bed2a982b478d9fd716e33944507503f281650fbd0ce126fc884a08775f8468bf7d37fa1169eb033ad7eead95f9916e837194f69d76dbbb3b46fb3798fadafba8fdd6d2ee06e3a26b8f43abf883c26abfc138cab7164c7ddcc95eb696c3d8601c86cfa076ed3c871fc9dce5debaedaef158ee8e1fc9df779b1aecf7e346e37bcf452f4233dca9b5d65a3bf672361c124fa73dd94773c77b79aa7baf71d4f7dd7bcc51de7793c3c9e14cb97b913c8a94d20e8efa3d521ab3b32ccbb2ac67a64db097bb7131898bb0dcfd707194b7967481a27d77836ccfddb18377787e8d66daf5a77559b6b51cf5c37f736d463c355db2088bf5caeedb4cf68d26fb56a4b756f6cf6a7df90f179d8774e50414a14db019aeda77eef6c359603298adb5b5b61f2333d831dc5adb0f47c1709dcf08cf325cb2513d9b2aa6f35be4fc64f5385b39dd391f5813dd23a326273a59003b6a9a138cf88c0ff1225acd8ab183e3c4abb6a770b0f2b7abc11c867f5fed95033b6aaf0a63677ad35e9a918ed10d6bacbacac91487de501baf46a63b32c321a1e92471694ab257f3491a9f71f1d3c30c10ed152393479f79d12336486e92646a44836129c5517b756a8fcc332bccb7f567fd8ab7cd4e3a7b091da597b4b2a3324cd6921a7f79910e671984842da29250ba68a63414fb14ce18213b4cf7626768140e7694afdab54eaa852a1c91635869010d34b3355fd4460b45a2a83853e0431020d9dfa7a3fc263b2067a6dc4662b7b181bdf14b8462af70a9bdd5ddab5a1be0a9eeff45f61e3cb6d07e5cb1fd68eafc873d3c7ad9867fea30b76d1d6bb730d4f0949979c94c999aec3fa158bdfcd041f3d8ab975ecd29b39a2ff23865a64c12ec285f73f3fabd8806e0643de8e4d6d0c902d8b16186c06a1a0910d955da4cdb346dbec431d3ddfd47f527b27fe6f961c786c9b2c238ea89be0d83d13fc21342c8eeed031f9bb5e14f71d539902ff206263b267f6c18075cf42e89996a1829a56c9849b59fd1f235bacaf465fa48a2f1cc690e28216d60ae48063b4a9838b6e89a3e8d7dea536e71f336d04463057571399d2c80ed9984123fec286d94984970a0bbcd72a10949704089cbc6eea3b39c2ccfe2cdc5fe71eb19a4bee7a9faaf15f2450ff1ae45a8d48c95964d4c15cd00000000050314000028140c88c4c2e17844a2a8aa6c1d14000d8fa8507a561a685110530a21630c210600000008080000030000007652fdbcaf9e78f2fe9f87cc21db1ebf537e24a4e9ac4be510a0372308aa7714d720a759f80b1b6e6b0bd0e199bad58c27c36121da59568645f154b407438a60db92a64201121f9cded717c6fcc4fb9fb8160fbdaa90a9ebbf89870e8cc4f79f3ce5506a207e7c9fcf334a338d2e212c9f245d98ad49923065744f419e013f2217a2abe0a43b84ebef166cd63c8a6944ab5af1b00734c391d35d182242caa99aed5f641519d6a22e531a47efba1bdb251f8e0508beb21714c3d9ab2cfa4fd2cdc93776b076899837d881625aa535f495139c3a74c4c83be288c9c511c3f3ab04ffadc30fe78013456e55326cd91fc9d7de22692c0df987a49475a7ccc1608f7fa7903ce33e8ce24a09e12a6fb47a1175327cd009780c08ac256b0fd17d4928f613f656e11ab44bbbad225514d9fd359c8ca053438db506e54b049e303c3d8399b6c601680af65928f723495ecdc41390f1f612410c0c8f9868017523f5b2420c629108797ccf476e8781fb880458259d7876512cc035036971b10fb585cf0c3c9ac7a8f8ede154c5d8fdc38dbfc8aa602d484b60f62f0e38229b861c34d46d5fecdcfc1c0c4eff405bd8c7e62e2e9e9bef4d55fb2d13a29697bcb537cba98cd71424e1ea34b60eecaef8eeaca7f39fe331f352039978c18c7805633160149edafd7111cf660636ecdecd9b8db1ee385397c1b041492e9146f0a923f53fbbc76c25201cafb20886152f0587ee26726a8e03bf919ba53acfe3a97e4c4dc055a9c078b93c2511006e34089b5caafb62eaf53a05e27dcdd84217ad887429c9e0bf6ffa630d37b7cc31db7699fa993aeb6f2b2f0c43fbd2770323a0908c06fc53a47fc711b83f58876e281a95812d1e922a8cd01bb80f57e4986edf73a51925475753c71ece74143fa16ec82700f5a18d03f604329a7f1a55ffb3142ec74d584d2022c81cafd61c90f7bc7809b0b80c9810c60f085f02c94f0a03be079873354784c48b1aa873a11a4540ff7c36e1cf30f4bfe52650b0b218cb49c551846f0e46d0e8fb2cb8c96d31d1806770331808fad723ece8ab27b62cab49f752d452c9d5a0f38d4a2681529b050a7f12a921f4a8af7ccdd9fbc4d10181ed51c97d045c29fb3042b26b8c7f0516fdc74df0a259bed0cddcab53bb329813a7e5bdefca0c7565d4a4acaaf736d5b8a3fdebd7fa11e16ad56b6454097e5f58b812363a86f5b3d0e479113dd72106b2b6a5678ff674becb03e91f4cb095285edf1f10819d0cb99364ba15e8fa9cd6ffa140bf00554d3e30cca632840b0a5f5f9f6e41ced48ddfb56bfe4f5d0ea3a78abf59578e018210bafd6503f6233dc7623d7c9da6211cc8abc2b335213b712d1618309631a8c829490ef92c1cb561f7556048b545cb1c2b08870a2e9a2ab8a3252b98d4888fd57dc4401375866f625e6d1f068e74410692e90a839c875451eff510d9b1d37337dfcebd45be561677bfe4c65ce88be23f4805e6babed663f801f9d08ce9ffcfa4c5f239faaa6727b60cada0cb05a8a8999863c36d7a8cf93a6d75f77ef60b19ea491c51ada12419c9dc194adb33b364b8577db13e7d230943706d363752e1b05d485d1ff6838e0b5b6bf33248a5c122db7193b447ba61d93d514a2c98a8e99e6d4138219f3e2965719284004307bd8c769b6c6b05588ca85a0f3aa1cca866402ea8c206007e3441af65148959cc2d451d19f59840060804ca4fb0672157039513e7a7f9f534cfd1f45da974f48ae07df19ed133ff22591a3eb62da990cb2e32acda4302f390d64b195191eaaa9282942e95aa01e7525c678d57fff0e74921d93d7908bcd4d466ecd9506cf9b69bc0c78bc685090363d75e87dd5affbad990923559bbaeac082a5fcf4f202d06d54e1b49fffa226ad9feea9019a6a2f808f6eee7a0989fa953d514e4976f62e5aa5c1df189eabeb8439f486a0f3d6a8a375ec1a17c452fe228f3b87cf430c119edb788f49a802e8fba7e9f088e8d537c39f1a17cc7894d267e6413db43442917dc33931a5e31f256b9fd0e55828a298d0fc413d5d5c2c95c3e10f713294950e7132f8ab98d297c678d0c11eb71e6a35c0afe0c9a4564dbfee2869dff0d23c60b6ab9eefbb623f45421a96633e11dbea37dbb7c999a85b021472ff45209c7187e4856298e0c59da8c20f7d9840d438ce9d743808d10627dcee81e944f743883e761cd4a3733f07ba0e51ffe9fa04e51c3f298cc421bc57b4dd7b246a149e225fa3c103bdecb0a74881f540950994f382588ba32eb1a5a88d9c04adfb3f875162a08959e268a26cffa8b1c30f043b10244d1455cb5b17876050bbf5688f4ed472497015085e6d62e9665c202199a00e5600104f1068226a0484aa38d5cd04cecfb5d0936efdf657be55a531e5a36c2cf155f751234000689eeaa477057ade981a2e652c3d0a7d133b4f5332150130c4994bde617234c2ea422b0b632a67b565cf254772462266536c39357be41184c494771b7ca8f067c81743e03264c7382f1c3d7a5c236e21633f7d227522efa9e133770871ee2316ed8bdc7690c88435a4966a43c2f44780074b5d1ca573525de836adb132875c9c4d28ff3be23b7e9b0dc6c62a5f9515b5e644bb19bdb6ceed2762799d08b54097a3ff27f5778d77fe4a1f8df75929e3b1001418ea2967cb28d987a8cb2d75f193203bcd6bb38842669cad3b33d1076d582c20a3cd822a6a740f770ed24436a2a67fbae8063cd09df6cec112de96f772229f76a0d824d206621e98003597d690b53343488d2f8e4a487819a1373898cd644f373806c6908971c92e6ba092ce37560908dc5451a2b9740cd02cd7a14cb859c06f24a80cdfac623b7c0dcefa0a615265620bcaa4d6f99514fac89b216f91f56d6103324cb6bacbe0a62eb6052395b95b84c380f2b8900f9435798d9b6e67228b90aa3a95bb6d4020a03e45a1fa7a642d61611bc59a09bdfc449c0ce4e7715f82e341dd8b3400b4f78f28f0e760038d1aa027ffbc533db1e74a4321c6681366800acefa06bff4b7ac830f04f437b2a7f005da1efee590c0b0ed1412ce6207a0bad783915e5c04fc764e24ceb82609e1667818639bd418997082355da902cbc0e56cf8bc78393d181e1d391b340ef4181d082f685fa50b273da1abbb4b6ec2caf7cb186c8dfeed29499e6c01b20294033eaf43c90472cdb2f7f01c90fde2c3b924165c657553eb85bc7cfbaaa60ba71bcc506d859eb7343cc1c91d5507a6d8f534d3747f2aa55859d49d091786a12676157df21e5c1ae2c5aaff44476c5c8a0b9b048211cbbcba0620ecb71637acd6c6774c85e5de3013d272132a63fa0e4187722a244c9d163b37e49207239390592e1b191eaa30ee72d52dc7a55f8907130facee8bafdbe2a4d251d2300c9c7c7c3d59375ac7cd21b4361a5d517702cc81e7cc852eecaa4114245efeb98aeac2899a7b3dec745b6e13ae6389cdd8bba7d87a73349068881ae09611df138c2a1ff5dbfbc2ab3e72b73e8e626395e66d954987201b31b4a4659224028d6083041880f28af90b9ac30bec09f74607f8a4cc2b4d9d437bf21960adab51372c8be8847240b7e3324c1790a211c3e4275b37ec8bbd5a39779a26ee44500dcccf5accf43848aaa819d67262e586e12d1c31bb46d46d2cfb5b3503ee91da01b128ad2e600fca1db8c8714e985a5e6fcb5f6331992e30113d48ff0ab2b7c19f8d82d6f291220359a723903d201a7cd41269fee6d5369645f53eb0461b43ba5380aef64e04c6f0e8439985012f48b13e6200f3ff6c138e1f9fe3e222f36373fdaa1773ca83995a8f2c3d2469194906fdd5642f94d5d32070be4a4c061d088d193d1226dd06d9ef7eaca03e598d3da4cbbd0e5e9395787b47d632855e93a1f2b1323d1c0244b67b666a6183e05b3702639ce41b19623c9e52ed9cb2ec8434cbf05e7b47759695138741748369d7d1c59f29eb6e2e2a42423cc0b50121186429ad761776c6e5ba7e36b8d9885a6e0d6074945c50ad99ab2e2248c58843c34a42e30a9b86ed3df3a152889bd0707f8da221e7a9293456766ea98826baf0d16fd252081be046e4cedfc924074ea80c0281335183aeea41b19a15322c622ce5e6649a1eb6a10038e7713f124f312c18c6c663415c3c3e31a1ac1aec36bb9100e7792f3db46498bab2f98e7eb674187282e1e10823c7ada95588340b09554eb4b41312237a75246a4ae5de3697e5263285f37276305d348e23447cf31e4425e361d11a21b10921fb252860c1457ad3509003fff6f75573fba4b58b48b450ab917558b32ca7f7e579ea2100ec8100709ac2b56f56cf3149ddb08bfeffd199f972a9045542e97db251b0732e3e41009d8df8b0db5ef567df6fde1cb85981aa0edac9094e7faf010bda8e650a7d02779306e91b632d800c20661cb14eba929f8c98531ffcf08064023c5292c521394e41493fd243ec4bf4e716b33f585b3cba229eeb7316c2c82f4eded1488922486100fe8c7673910ac6b5cd62b6be657791767eec83ad63349e62d70b0abac06fae02e2d61587b4c4fe50042349768d895fddb9543bca8f07f3b388c657258c5d393e0b7327019cb78eb5200e835070034c04d302e051ba89ac6daca4149a897d4dfc9fd0591394aede556a618a821a556b4cb4b9daecd7eec3950a65bb516284847813fc6037d4ed703929e3cf63a048b0b2bcb6b29fd6b17a44e6c731fae6ae73310da4d66cd27699f9f1c42c715f0c294a92ce1181de6a026d208fb65630f4af70b6854f6412449af20d29425f7223a012e334287124280193ef74c1705b94b9a5f8b1c45072b41e432e866a83a41325980dcd3d121ef03e9775e42ef5b924a7025e7c0610f0f789a5520832b817271bc5b3a1158acbe19c6b84fb236d915d57ef1129d87d3a554c4248087293ff8c4bee7354402ca42cc676a27a7edbe3b3fb5d5351f89ceef3f27049b81fb309e181cc65c1953fb8b4092018170e435f0908baf79307be3e1d50bfd1f1c5fbc00b74f94fa240e6a87f5b9f229d490a5df224820a8c002bca9bb92ec0bd8f0455f6bfa7f829377bebaa33916002e65113e927a018426feec8231ab5260be410457307520ff47c558ee4a601c2f2201400ff60f847177c52c968a7ddf0ea45d05092088f4df32261e36dac4cbcc11ecd68f717e4b3a197c0450fc009a5b39947e28429bdc3bfff287aac883eb3a547f2cbd02152c932ad3b6ad062488070fc82e092eb104a77e9e4ac3e9a1e124e4dac966972090e9fea6cdf9c4763ceb2b3c7de58087b8f558b3452b39a4d0dbf110947e0d01c18877a79fc663f08d956c0911aefdd7d6edc682353fe8829d256d5ce14d0723fd2b21421024b4dd9803b37d413039fbdb52e4bd51922233dc811c83728a4a82209d780256ad0f916b94c81a916636c9bf29030f4937d053a073b7232b69c4309ca8ec775cd66ccb6271d5c5e9f0c8c6f79bf14cfc8da41a27d734aab39264fd9175b04cbf7bfc5fad35f1a8894818a41da9728218f81a1225c168d7c0deb7a9f97f8b8c4280f6e4e3e6c8a1bc99f67c260eac2ea75ee254bd42935b97d53cae96f54eda1dcbad37e40c9852194e0546b97bc207f77474499c24350e9238f95907def413bf9642677f605b857c18d9116f0548082710a79cdb29a85c82474d175ba65b5e1a375d0b97cf65d6bde79f859f9f39f1c23e6d5c58a39a07b3d8e29ba9273c3c18d61a065b75bcfa85a90ee13e2ae5e56a64c3e7ec49615c2bf47d22b49d65ba015b7e6bfb1526d20900f635011c56950212da6af52b5a6243e62d48a4611700dc1f8c12d56725af6d3d21d0ab76934182a5da9a6bbbeb698d56d71c0bcda3841b65c32229ef57bee07ade7ba4b34f18fe18501d286ccf0c6c5c282c829acebc85e80520c2c4e99b0f9d46acc89926b2fd97f4c3915b362256ffcd048a61741a8435d240aeedab5d98564f74a6c33aafdf5211d719a3331fe2cf02b9f664415d6f97d6dc9359fb1a5198979c6d902dba41b982c43ae60a7c343bd821cdc20f171ebaa005ba924638549bef7d346531b5eda0750c1461708a021e8c09eda9205a960d248dee69d788d14caa16f430226e9a30c56060632b65eba875396041fceb8c8cb4b8e1c39279e3386e344b7436a1e17108922a30141572786ce3d0cad92aeb6685ac1f53a150e8109e5af2d6cf022d5c8d68c6bdaeea021e4d76c2a033b40da113ccceeae97c9a1307bf4d2b672e148cd65b6110b82efcfe95533f7c4ea542c1190bbd8fc59af95a6dc3ddd08d0df138eb7f395f2095207a7091e0aa9c05459e7c45221fa4829eac6012938f4644c60d6e4e15f190b995261409b6417a6b4508fbccb97414cac16a04579e299ddb728c26ce6005d9e2d818fb25d9eb0b0d7f885bab880a5341f93e4aa55705ac423343be3e72606388c595279504bd843b6601326082daede2bd19d7a080e6857425e3f02e006e9583e2ff18f1321790c37a5daa08e3ebf8376058daf107b894f657639786f6313a1a390b5b6c25cd1724fb1dace720a54cdbb053ca99120ab06c4fe981684ac79179c0636c20cb942c53cc7d7450a5c06322ea20ce08b3c0629cfcb3c247929fc9d0415aad682ff5408fd20c46fed2a5831ba95b70b1b7618ee889217818a4b8b5763898d45ccbd3e53be33fabb1220723b72880e418a103d436786e64c0ffc96445555491ebf091c717bc0d931220c5865131ffff5e32b7c16521ac0c04ae35d70f62762a6ba2dfd57233a4dff511ab55589b95e55a058c85c16a5b4533dc629662032127795465e964caad4ca67356c018ed5d268c32acb7ed710e0d483c69c7a82b982a89b1090ce5e6e83aafdbcf447eaed0a94624e477c354b07a02c11a434b8270008c182e78d81e50f4b169751305112927a2dcaf4ef2f4d5d68688db094b4559fc66437c61d93695962527d132e5ec1b8ae19cc5ee7f713f266543c0253f92f6eae54efb262aa929a85ec7179f876a900429aef8c01bdd30957e99de2b4523cfc642c0a62c9f647d1a9e5b1f56a44e3bd9c6f254695f69058c09de1ca9f3618d241eb8d03e25c1dc7c6c58cfa2c342e94d0c33257fca8fc98972870191e3df857ffcb78a328928e6d5ad67b84c26484b7a5e8eff8bc6815682e0eddcdecaf41eacdab9be10143033f53970ad0e53c6c9f72f9d48afc7bb7641b67ea5c49a4dfade651641b06453e586f66febf315bdb06a1718dc5f335c109c6b09bcf8f6716d00da369f3dd46dc072b1a79a036b5bfa9196c772f692223e3f7ddf8d08cf4f23869be938cd6b06e8a501244ecba79f7217f4d68a3faaebe9a1acfabd7a9a2270c068611b4eba065b4588f27b47833da7675ec0035a4a373b2151330b97503ef8775d513758f8f16aa5eae03aa3e3c6e9f7c29721b68c33b6ac7872acc25828cf5b3313a0b6789e67965498235bb13ddd6da0d8a0af6eacb722042476b232c8e3e80f6432b06d06fb873e56e838eef7273affd6162968276651ef083e1433f5cc17ea118489f7adddcd7b003b23929e07dfb08713312044646e7f07db5ee32af7246a67b7b69ae1472f6abd383a1663dc99e1eb574e4ae488aa79fd7136a4c860107309fffb5c476d4869f955b60a5f3ae373de909a2b2ddf209e913f5d03a54e2b95b2d49f7da6a975aea82a7a1519f2f95351c12ef396e1c09bea6c4b916ffa23137b602a2b4f4b2556caf3f1b8159d3c8fce6ae8040e719f7c048ad878a934abb46dd7589a77335385b80c5b4a9a319abf3fab82f7d26a68c62668f98cfbb4c84bd5db8a1f6cc7c2fc6f60e6857d603bc1e88a9c5a960f40d65b20f419fdd378966ac672d0f4b752617e83e77202eb6769ed8978918e806691cf1cbaa2e319e3092b3e16792377a332a806d351518be1bc09ab0a137ab0dd4a770a7560b7443aa3fd29bd909906cbf9d85c8974c649cddc69102891d60756ae9ce618a71627a3176c3e46b57d146cee8af46fa7b57282960c9c2247f33c7243cad868759a052c4d5e6ea5be66913e916d415394a810d88f49f972b3ac89d60400586ada6152900c22c91ca94377ffc1e0947f394b742f473afd90430d657301c4485a079a9bd00ad616c109536be3aa66487a91c29efba24c7e81a2c4ba4779d0760ce19a4a097b16a10e82fdd98ef008568958a8dd0cbfc42ca05e024652feea34dce658ae7bf40848e8633c5e55145b6696c29c45c66bbac6e86ca1b8480a9178cd0afb3d4df0746bd10a4c65408ff0c1bb851696a9c5ce4432c02b23de69213c7f0c2c62e0880fb9c830b7dc2480006925a28ec5aea3604516ed162bb29d71f824ad4cf01146d8ec9fc9f9c46dc90b729c240dba26610dbcd0c24022ccf3b3239e847b632b5955efdbca121e3e34c7b2c1d5f4c9cf82db14ca6c87a1e25da7e471509aa8dec79474c9471b2fc22a42262a9b0d688252cae7a90dc4d334a812b8a18cb9140c24024acdf6b4c32ee382fc283bafc191cff0c0da015df9e78b989f6d57e8b2d13c8737ea52d570ca38aa577cb7193775a14a819f7812a8eefa3844a58f733ecd72c9f4762b51aad8204050edd2452a6d6fe5642bc6ef3b387f9bbdae10211eaaa96d85ba79b7f7c32fff2754ca23328ee2995ee460f1c29666de5f8ce739a985397478ab1de56b2682657f29293744eebc9057ca6345d0d7336b974df2373a24e4dfbcbf8314b673d1cac2735faccd1d310ec3ede4bafde7e90764b1ad67e009ad67d7c316bcd77e9011e1fc9e3fb5df1380abfe49a9b949c9fe839479466d10113463ddb57daecfd3fba1b1ba7ac6e3febe43baed3edb444557ed0181b05cdb9d39a6d6a568e5363db0d234eae5ac09c02f36d74f0e6aa75c6ce77691253c8ba59484b1735276f5fa108ff4a957ed3392567fdfb141d2f7d80296f13d90ab393d1ec8fc781fa245599754d6207270087caf6f99cf069eedff1a84efff560be7fa349d5e4f56a0b101fdfebcb76249e5628efd77a0c4a7f0e106e29090102a3dd5048c734e57423e093344321185375e6019d3477967ec785071184c84a8cb60d70297eeb08b689cc987bd5441334a35709d10a79d29f49a815bd27ca74a1c9c5623556b20e799afc1f72f81e805ee0c626d07ad79651e8c4666411c6b32aee28a1eece3f72b7af970fb789ae2f807ebff822ef2130e17fc38143b0a88508c8c95f00a47e047f8fa67c943d6be13fc5d39cff5b70e7b0e99c488fc581efc7d80972675c5ea001081c43be8215f34301b3e49ba49b6c3b68e449505bf711e7df45174e7e91d11da6b0ad510c6a8fc44e219f60e4e6711215160d15cf62f1255e672bc03cef627c4f974490048fd4ae8866d41aff196b4594bd183d91eef38566a320461cb9f8149e4a9ac7edfe5b371ca7a20c26fba2ddf78367ccda18b55c0981053e41a92708dee8bc0b92e54ad79068ee19b936f1363c46200b3ee9f9698f29c446cbf94b19dea92325543b1fdd4840d0d0983062946d0c9720d096a4125db252ec8de6ffb5a1fbb2d10743749be3d5cf8fc9e9fdf7b91ce043dfdbe5791ecbb02bf02656591929b56183dbfab62bc7c2314aa3add9098b3ad9e724583266845ed1ff9981c91cf14e00282b5d91021e44ff35ce0793f68e652c28337a4a6301582153f8925657e125276082fff9ca4851ec25ed150a50038a00ffa1f799a3549043ede3d707e2a6944d8990ba6fcaf3c4d516761b242bad4869a49f7fba9c0323968541f8b81c0a490e0468d47195fb644dc8f31b3a2e86d4a57066c53afea9cc079dd8a5311b70ebde093a916010536a3e07889d19b583f57975492125204997a6eafb2656d84ccae296865244917402e407bc058c908fa429e215dff15f306bce9e8bb08172383470e4fa4fa6106f8a0ff23483e1131d74fb585064dccf8a01fac34fcb13caaadc3f14ad1b6fd3fb267f2bd4d57211e7acc8b0f43c67a3788958eaf3402b0da80a24ed20a2a3052dfec4eb1779c0d5c8bebe51d30455294828b181fc9f827208f1643138ab72f71edfffda6ce6312bb06103b2164c7f284e6e08977a2ae9dcea1125a0c05d47fb8b1a5c1f948dfac088bce17cd38ffdafca19234cc872210455c0cb18685813b283f1cf82b16d0309073dbf5ef5302fdb438c8d8dcad1fbfa1dc8c7de35b6b55343bc610e177615ad9470330aedff1864faf9f087716adb022d1731a699050b178003bdee96087ea6794d61ee4eb16a47f3b26b593f17ffdf7a8ee2978522db3243bc4a49ed233b536b59076a19dc7ed2f7e1719afd437fb60e73f4af04d912b4176c6db89c1328f336467cca1071f9ab8c3fbb02e8fb0b13e158b26bcc1ba0d35f68f811f9c3513d636462c87df4a93e00ed1b74c5119d344cc119d0e3af1df134981e4bc0d544ef6c8ecec1106f5a0d785a215823b93abf04f0e4261707ae34f9b47feee7fbed95063c7212077ef3c561637669660f8a06734f9571aae63f740fa787b1c2ad9397605939d9656636357ef41f84a3d2e8059a8a2a1de38a94cd8044125acaf4e2f9916c155d5e548afa7195bb9ca45f54f4eb9431c991576be6181871990a6331e06537e7e19c95c2d9114b20d8513f15b8cb2f53ab1c76af9e0a031ae87ad71618475b59dc431f24bb8e15aefd07bab05683b4868e7eb7099e63bd8e68e5cf6a0daaa2bc83f45c346bf429714e150d3c1d885bfc1d480fcb950e6e8d1babdd66e62f50775888f7c7544d9e70953fa076bf4c147cd1037f62ba2d903c9107d9919158d5c44a5a20cede10e677116cac9233b4f9bdce5775600aef283a1d5c32ef1b4a077f9513cb4987fdc7857cf56f4ec1469c65640eedfe83b1f2552f362d757d8b982856eb7d32205c1b3063d131d294aecdd94bd03214aa152eef690612b08ccc7f7e56505f49a9307ce6d7231e82a1f7dbef23b4bbf6405a019be2f5a989bf4250030403df20cf917a09e4e4b091ae5558862a371de841b1b345b016a778ebd6510cbd8f056a141dbc868dcf6e512bea87db2ec9a4935a7acfdf4f5cf3698f492dc77ff0ab74953748188ddea6d74ed467fe25ff93f6d8df32a27418e0f58c43e81afeb96d0500558b2d28d2910a3c9e5aa7e832b23d2be8102bc1890fe89eeb80b7929b60169fecefc055c26d5aa5014265f23c4e3d04013638c554d370240f1f5340545bf2e5e2cc3e8cff32d04368262e46fd8b1b12107f6b001c761b1e32fd881f683e76d6348863268371c676dde2a3b426c369f36acd778303740dd122e459fd44fc6b021ce2ff5a75c25a4099a9676f64f2cc3a1ff7b62c2b9b7ce02affcf94bb3c4e7c76fa77739717ab034853f454f7595427ad6b290c9206cbd51bfb30c5fccec5097fdcca6b49b81e84c307b3129fda8e271d09e6346613c6c3526fdb0047cf1d371e8c8e40d25ebf546b55558c4b34e98854233f402f8629f3272a01ca186588d92622daca0ab79e6de68710d10044b9b112901c9ba7bb1c7882100b1aae12299f4a3972949678c4646bd2405b9858bf3e90e1572b87678bf8c44b483073610891e5c59a4bbd253e5fe985fd2a5e0a9292b3e02ffeb22551cec819c46d4c3988a28f0173d8cf14f97c9b7c1a80e80b9b63faca50472a148768d5971f6bc1e8cb10d4fa5fb77bae9f4ffe1282e5d37be59b6f53e75311b2af5954fc6499acc629a46fc5a54818f20cb49ccf1bb436b39636703f735bc1e887527d2747ee4d739a609a23cb9970c2f08e40cbd2327780638c14264cab1957cd8e72d5f5c4c01fb4c02e67a526a800659767dde556051b66455bc5b0bc56a63f2ba55cacb11b5aa3fbcae376a2fc92ed1cd62b179e7d6eb45cb588c371bb96e4697974cd4cfa6c17d884522eb9047093869108ead28f87b097ab14b9abc940ca27ec249497501706a25100d8566c852b6cf3c67d147352ab3d1b55b5c8a0575472c47c43aa762f0c43bea9281b9dd50834afeacb0f4de7ca1566bb21f2fc6826a6bb10ba170e55b9bdfa49f8fe9e60f1c7c1ca7010accb5eb94b981152d6578503debd5e09baeb275543515baa1873444b41dc303332800c7afa08b83c6e94f15a3284f2d3a6c4542a02a02d890aff4656f4af8d756c4af9d89c6a84f6ef3588d825659b5d44dda7dc74d3e73eea8a0da283d430fe098ca3c324db0ea4891fbef593c4f02355775c49014288571b91a676bf2b040214293072295554ee600796fa98b504c456631158e745705e76ef9eefec11a27002c2bfb25f3aaf7944b07700bfa107a52ae2072b6b7ce4dbe90e69bb7bdec35fc905ad3de36bf5b2633e7f434c922e5c596e1124714711574e0e6eb84f54e30f42c7ee5a9d01df69c9a707a8665bc2ae11195e0234e5285e19eac42bd41c97bd0f2c18dddb713e2e9c3a4ec7d5904d38276272d58346e4ff2f3cc7e6c36143037d90f93e6f2a9c3fcd435c673fc2c310f96f39e2a33a837c0a04e2d38774d0a2737eab06e3b0c6272a55d3c882e40a7572888fa0733089f95b1b710eabba2f211b435d9435c03b7f0164c45b25556c31448071870d01aad0427d9be95f2fec84fd444a6a0508ca8316653eeaa2e8d1a490e5912866e6f7974476771d591f78c460c1055461d86a0bac824994207dc8faa35695008a54fdfe413fd7432cc3d27437af36c2fa9239d4d48c405d2e45192216b875182b2c7fb234dc1247fbb443a8bbe42292325c06eed615d47e3890949555270e2b1463daa2571fed4261f4c5901c93f6bc68c8fa0b277610d42fc6aa08b947900e68e9f0c1df3eeaac1f8b8c93aa4f972780e872de2a18e26d211605aeefd9bfd57029090460505c733deec52b13addccd181ef881ba7b35b099dbd2a8fafa50e04f282d4125c39ba79fa636a124b25c4069b99d6b0496053a89684657d31f0920a6cb9e5d413329e51798de6508bf2157b28507975f1da4135f370c9b22833b1440c13b26e32f4197da32440e027aa1ee1f8d387ac5f26e11e7323543c88f328ec94a21597500eca109fc2e2467c69f73cf56cd6cfa81848e787f29c8b9fdea0f5408f129009a7c1fa3807b609adb40fd98dd5f32fb807b51417d4183c52e30577003b65c892f884b4c12b0024625dd148fd142806ce6a7e6188a043cc419165485cb3a25437e3ba4442578004485ff3d47f023d785924630a562031988f9641c1d87bc431f12a5e687a9eed6ecb1fc55683503b532c08c440b72eeb4a92303a9d8a321f7459e3713e23a86e3e065e3ff1aedbea06f14661bdfca94db71869e9bbc335d01c4a67a01ee5bbc792226c6fcb91dafd44163006778d90e4fe30d5526e1ccb11c8699d8d480376bd0911891ef1ba8cedd900e50f3e6a474d0d3c915f2017f994e892266e5b0502b9403cc9e2f033f5b453834bcf09e001011300888178c4de275bdcc67c0c5a623dff739bfe141554685c7e6c1184601f1fd9b045055b144a43f1b60e9f4c03674159231e6e13e3cc7a16a5a9a2d71b9e29bc12c54a768f14165d7e01aab7ff3ddcfb900b5fb881890dd26ecc109bc0a07de98520731bed178491511dd0a8842431639d9943728093eeb5cb07464581f49ac8b3de62ccbf87a95aae3898e7c4e06192a770b0763a85ea214b42021d3f1a4944909ed84fef9cc812542fee5a7ca34b99f904d964bffcdb9471d7f858a7e272b2b453364bc7087d6b094e40d3659d87b29b4d74f056baa5aea5ce2e4a002603900cd1aab11f4bcbd7898442020aaa45cf171c7f089ffaba2b1701d48ab755efad8ae60b37dcb99c240c40079420a80895c3577034943334499d2e1939061500e4d48abf867c768a6a5123fd2884cd387d6bd115f70f3d360be84ca601c517034dee886316074e629875c29ac58a776ac906d63f8d9e131a40ee73f450139fdceffcb92c8ffd787b88215ee32cc14ca75a5ea2a83a20596795586b021abdf1793e97e2600093c0e2879da3c4235cb70c5541717f4a8561fb00bf60c94084fc4323b274f6c87c8f94a14245d56ba050ea0866f9fea1a7f884d65e8fea767151598ebd1d91c72accff96f5f31c06804b44fd051e294c65965346e6a060272f2e33a4c1b86be58e4c19455abde8f47cbab83ed45103ee4a023c54f2f4d21164688a81da631fa24ca6d58508d3dea531ead2ea7273846c81a823988c5df7544de7713127360b2389583218404d5d1bc88622740bada20f745a4b5fb2610b032fd76ba46321d60be4f4002af32246483e5c995bbf5e60b1ce53e43e58ada09349099cd48e448a95c864a558677526280c247353489065110d5ff8f2f17b875e736797d6544c86e5e44e4615770ac49418f7216575c33b290c59f062f77b2f0b57c853c80f36471058ca07c2fef2f601d99fff922b23747c165ebb61f0d65bf82a9b2cac82cab4a71f85a621270c80207c149503e4fb990de90eddcd34b2bec5d448f606831cd18585dd98b65e77ee583f73b2a51f86dd3b9d611964724362269e84814d87b68ef98ede1dd5a9d1b9bbbb7f658d8384abbd04607966960179a39425852dfaefa705b82660c7f22b083e9b4ac6fa90128d8985732a5775ee101b2d41ab0e06d2f609f69f5b379a1a6a399968aa9e0ea5ec90e4dced213370cf5b960b2e6b56b52650d2971c2111c9df2490385d0cf2824d21e4abf8312ff66336867318e9c439fc9ec5c274412384a2e100414831a6fa07198a32699725f166b849dbe0630fc2476d9b05cb3c60d27e1e2d49e16abcea1d3da508f21cb2492b29b96c1f87d5075edfcc60078fc3243ab97a239e72c3c267ecbc8ae23a5843068e2c7da3ae4fd7ec7af9691ed408ccfab7689672ac974d157ebb897155079228da1da62e1d5988758ef3ddedd40145a0635f1a36d4fdb7ab33c90ca1c07e2dbe85acddccf31bbf4f8e3dc6f37c18a5cdb8bcc0bd12de308e20560a12f88ede3820734b651f4c033034f87912f6fdd7585f3debd859a7fa16d40923cd56b5759ec662ba7c175138b289d9165e146775952f0beae055d0a796b56f78fb423cc209e375846bb283f764b61f8bbecee9ec1d99e22975818682e233f58751dd5648b4418ffbce643c0ac7d99eef0d387d753885be18043b9bac16c6c3978ade88b3c9f71d77c488483e58ff49519ef0966a887daa70878145c0318c6f15be19c5a3be17fe73508de747a2b8b8481a2945375c0c476ac1de5235b14c44a2ce41647b1256b84f62c58a4f6ba77e2370371e0a0b9e5c583400b9e38eea07456e2fe4eb699ac75df89130f6681f51ce83091886e18a60eadf202b539b0ca9152d946df207f18983e2f523fb172739022cd443e068d021dd203b95d663dc767913265a63e08a21039cc5f02bdb27c12a2e0ae06fa498379fe378cb666ed57dc931c0c81bdab2b17a3d1464b605aab0e363cf1827a29964add600c2224cfca876a44e266ec975135db4934109c258b451949735305165d2ae0f7b6c8983ba58bd4b5bac9e765d42ec664dbd841ba17df2dc061b6569d1fd7a2b3ef0294a58ac1e719f4e7c5497be98f1b824691be6fdd6ffce2d3cc5e41ed1291dd7fe144f18c6be2e040c30b6f21d14b6407f382cdfe25918fc61e6f4d9b62eac27b450148584c31143a2de4201f865a4c4a3740e3695cdbb8212977613d3cc2c08482fc249b29d201b20b66a062f57e3715197463b4194fbbf0a31fb41d046beccbbe08347a6b22338c1391b1ba16169d6989239e8aba40925ab0340dc452275af1934e15a19c8b631a93bc89eb7546d15214ff16fca834b98ffd3df83b6e4870093b3b8c911fe88a5b1dc1242872f352499bfcfb632616c037865d72dcaaa085843496dd370ad7bfa0caf6911c80825517a7669c535ec895c3a3812fe8a91688a2e2e1cb2ff4f13a79ed8a6230ae92fd21aeeaf40e41bfa31f7c229f12a741e767c13eb5520c50006dbc5ca148c0454198a5cf5cb62418c9029133bb6c7ff476f89e6d74cdc522698672018288fa671c35f4d4e983db294ceb3ac90ad4e17c75c4a326423d3f2f2ffdc2739ba14ef787b5464616467a3fb758234b48c8be1be82970c31fba69e3c3920998a3add063987b9865557b9427f68a501ab9007539d9eeff9e86fd25768b772ac09a2983066d1c5bdfffd7d8f6c5cd4480bb71896a53687698133a953087a4a44e95f7ec037a7d4285ee91617d43898d720826be8a4b0136faf9cd2d84ddb62025a4e7c82f777057dc210774b30ab3f9cfc673344f85df8770844babdc6ce9e5e13b1742762a7b6bb204904acd63f56779cf6b0dc62e35e3f6bc5c720c7e164f192f569a77d41b5ee5cc79dbe278ee1c88cad3f8f1e94e62904881b67313d8a72fd1b40be5c25cc8d59ad5551a73d948d881715d38a1e661a8be7459856786cc98eeb3f9d75f80383805273e3e8979514fc052424e80093bfdbf79453439a00484e83dd17cbf30d1ae914861159fb4e562af999dae07294974b25ee8f25415cb261e7cf31e6759d18c835b6daf976f2605bed220cf5ec568bcb5a14e80ca9aeb03131d47c616e634193e7ede39ce9e42684784cb2bfe104208a2ebc1617260e88e51ea450ccd1988ff8e46ebaa5bcc7188c398cadcddd26d3f7c2f21ec0b12c1a459b6da74f4126611641b04aaabc81b37ca19a5b1b13b04352fb56c4e8116d4c39ff5d64d5d9ac2ffe67ea2b67d19c35966f937a50d1f29c1ea3a3ab5fbbda75046f8795a161b2a17a47ff4587abd77cd04b3335b613280853ff9addcbde42989ed8fe417b0cc108c0f2696112711bdc4feaa3eb27bf83ab6547778e1fa15faf023dbfc150d9c1bf315a0a88caba8ed4adfae651d1d967821f8387b73588ba2b31446a8085defa346bd25a9d47d7746f48ec5ff0735b0b725a62a640d74f9265412839a516035285e4e90616430088c629df41f4ffaf9457d6171a7074eed7fcc32ead8e7adb08fdb6525a006e9d1644437713a214425514a4ef4186c1130a787063cbc967a103566a2b56f2a6a94f64f7a7d63da771b6c39aa92bb1169378bee438dfec73bf7377016a75215d0c0807913594c12e90ea46f923782ed608a774159ad88f00f7775755ab144e8e8b53dda935f6b4345cd75631778f5a2360dd4d45ee000ae39e2fa253bdcdca58307045b16aec594b3866a64c7cb8014541a4f5c22560a6a8ee044b5356b60d24c491dad06c5d6a17df6b5041f29e62c3a281589e4eb98f5921da0e3dd67a8f9e0b1254e074e571057f5bc3b4672fc79c536d3b5e3040df440c247ab5a11ce44af2e008922ded19960d0a72f4a762bd48a6ccdaf8055e76d5ff2f69951fd142c027ffb5150c79dffb5917a3a3087e15006132eb4da72a0088c33e484940c023082fdf3585c7b555fd4d77ae7917de3a34289d94c168473ac9510297b411c821ec455062a35335777f67a79d93878f1f4405d19f5c1e664f717453cc5c063b3105ec7349c67f4394ac5a3483c550f35f87aeb7f369d463ceefe6bb18679abd6a06319c1225aaced5bb687cd9bc1a13b1b8e98f55283ff16abf5d47cde907bbe192c826b79da396d8f494a07206195fb848a87e1c24926f7a38a957932acc70fc9a9f90eac0d1928412ea3eb36f486cf434be665159c7bed1b7d154ffe11da71b76a28ac061a9d499846f60a746284f7a7bdad6798f9cb58006213dce895f2425931849437a85e95a4ec66e6fd81532a91af7e192228a9c554a84a7818747c1a6da4dc007978eba8cfdc74237aae3673ac3b703096cb95666673e91a8f3f0cb8350b22b9cd31d31250284fab62f87db00bab45a6626889b373525e5da11c1f214a04925f8a84d2834143ecdd4b5a840e813c3c99f80b7b92eeb21c34fded73c5e8916b0cf1be9a727b19808b37a7212bda9a20a8c00c2f45098389c28c4c9d9132060142a2b2811671c327646ffb31287010b293cbc6f0bbb622ba1c941c5a75ab836a5f9b204f97ab81ce0470c347cc464012b8b935028f5dfe70a0d86826586013726515386cce80988e8d3fcdad350cf719496c1b944c0b775a5e96028b10a3b8aacd5482ae1721f8f285b097784d29990e9e9f194b64d9f0b57e5a88e0d6cbeda616512985964aab4f59890d484b4f3da654d1daaaa643b79061b7f7f38a6d2d1c9f198b0dae74938a9099efcc3746960c1134675219b79553ebb9c967533bc6177c9a09a206fad7fe5a5f5e19f33c73cc1b02811f249eddc0a4f09f53406332356d824e5024fb04b40ce6d5fb07a96d2f2fa8dc2e59d1a692ac3ae5a3c2732dea39aa1ba3d82acd5a7595ad31cdc894d96ad9c871b7ff4cf6202404752b25d78242182b095622dd15dc1654182e9a3267ba8d7e7123602cc9b4e44980f9b7cbc8bf011d4a77eac5e58ad02efc54864a3c05eba1b3146f78aa57a6c6745847db095cc58502bd02b663399f738507fb73aaf9962d97f214030a904e79011aa0115ad461ce45351078ecf63c528f1594bef83bb909faba1c81aca907936342ac4714095cadd3b24018c32bf8629516db30531fa6ec9d35b07347b4c40f965a33d3b7025004469f6b497d6abfa43b51ba6d4ddf306b4cd2a4915a223a81468b897fde08fad43b9952a9ae1dabecefe437a41ad9d101b58fb527ff410a3a9c53bcfe14a3650ce88b5b9420def0f4582a3636d6058147d8584b685a04b891b10831e5d1c794a898583db21b0974ef6ed6b5e1556c73b1d8091163b4321ab4ac47c4c98352b950384f9ff8d4aa0e61199e500e5b56b6095b7d09323fbca7478b3a80271ae9801911566f167efee368ee90ed5fbbec028260c14c4282cf9668a8b7c12a00a1e66b01fc0c274c5b0a93e355b3c2ddac074870da801ca0069420364c90c40de0bf4aec31f63c8e4c4b0441f36ce046d5fd9b89adb4edc2664c86dd2b9b9c92ab009bdac3f591536559a6742b3da3ec3fd1a893da1b05427af14539faede51b69cd7c884f8bea35b2ab02ab507f50b87c2b6b42c66745f2b569ebe85e86927331f4f190d13e8c5966c8f5d9bb8931f52fc62221cd43a67f5648446c9a9fc000059a0cac1258abb37fb183c22e06d0b2da51dc4a8b53be2d77df12db726f1d6f833a618cf68d8d0d821d6105494c031dd700d21bb75a8be120ae363b9ea38599ab31fec6f00e6e283129329ed7ca5fedd312eee0820c1f8c5d41c03e44c29447252585b9c257667920ec037bf8b377cf89e895313342951dbe4611f38cab2095f46ee5321de5db891730e1da1f4e3b4e3a4b4624a5426b2d59f4badbbdb5a7b243a3da984ab2c02fe3249980cb8d5664d20288de40079046884e6d3a68476c7a912414a4b4ef79a4e866359fcb41af936b9d80019fdca24220a52951257dea0221085b93451166107eed281a7610f34c96019fb03f98815260def4795e1bf2ee508eb88e55210cf414cf1bd1084328cbaab70023651c1c3ee756f6ada51370f360d2098592370b4bee301da3394f8373e331b0771617d23ee8613ff8545f4663f98413d32eaeed80b68ec0e76c7e66437ecbf642f77c3b0f6ed2a22bf120efebc92233ea67caf8abe9873f949d0bfed9135205f62c0982e074f01a36e06ac3342eb6680dfa7c29c76149b24bfcee2fd984187c4d48936694f1ab0a19dc0006e6dd801b2da5f27d27d1158adc2a7e82a5a5f17512476225bc6e7271bc68346b4bdbd70107a8a83e98248450d48cec58d3152163c201f3c2f8d9ff4ea4dcf6524f38252c5aaba32382ec2c2ee7b35451c932526f587adaa4bd735dc70ab202ec20a7ada1185a368ca3d9e9c1985476f0920853d520fa538e5527a382521fae6671f8059d02e527d5818b411bca305d2a09d6d733c177dc4e5f6d36e33188961d97bdfa44863fa825b5965fe3704f0402368a0ce74403503c0cf3ac1dd036a9332fd6bb0b48951c679abcb8ab32fe9dff6a27711f5abf2f42b67147a80175b185745c3286c605df386ee4e4505d3bf8f8c9866e02412f28ebaeaf8224bfe2a053e5df99994f107f977b14fd73fdf59d67a1612200113d5ca55357c8cf72d4536f54f200ea166df520ea980b5e646907f6c0de78fe14d3810e6101e0647cfaae7d47fe37436223eb8a58f28c4d08f38853efa4fdca865f71f407418f1f19dfbcf8f707d682a1c043cd4fe0528087616000bab1910a4102f012bd15ab6a36a37288df3eb216a1174ec62b6e076ad60a7073accc0064efa6ad6ed4b470ac2fe289465471eb43422f7105c7384b136f65c1a0ad5cd474d732532d7c50ac3869e76462755745fc1901410c6d75581f0852afda6722c693ff11b670a9eb7a4f84c1096c29e69bf50b5c024e1febd7f1c798e1e4194d2e67d390fd0cf7a9807370b099c9ae3d324f54182bb46fc9a4e3d88e0d6107f93a90b125c35e2d334b54105a7a6f89a483dc8e0aa11bf26a9091a9c35c5d7546a0c4a15cb13112db27a608302ccd6eecf26161937156893197649a72a409ca3ae6d0a924bdb6c2118e2eb22af87e52733be34b91785ff50f2a96d4392c4bc37f89174929e5f5f49c030c5c515e87263e86bd6c7c54550a4e3e05b4756e756b938aaabafab8589420a53589486a9ad8daf674b7fe495d00cd0a91ac071725af05821b36a7ab52d01e07dcb73105ef5de14bd6b84e0da6276d9f8ef106b2e5fa90306d64f7463a64451a18d0aa65a6639396e464d762ef676669001963305b4acf18303aa11875cfd053431a24c908d64c985ee94679e7bae9df826ed7b96ecab35d563967d441f163671f25d394563751ac59749406350701d286296cac71a4e6d9341598bff5bac855fc41d2f1aa2979578bdc21dd759640aecc8f191884427a8d708e208ad694a613cdea68473b969883daa6676033d41ae25a36d0d3bca2ff8ff3c7d140322281e81206b36e76f96df96544eee0be25080f295e91d01809c91d1cffe3377b34e278d16682d80cec00a9043af7ac06699247d0cace75af1045a5b0247b592035fcf8d4cdfae9dd5ac45bdea7d6c23ab13291fd6c67a69daa8e583da04a166a9263d856250121c4c319a4b785f8d2d40d30ff5e5ef2de3ed9abd3fa355ffa6ef17288f4c0a17bda24cd4bb5b94279eadca57ac1080074d6a53918c3c842c5a6d247e801703c91c5a51bee67092aed0bce0b663e6114d8a79b1b9fbcd0f58c4563574020def73767ac808a0603def11c031b02ed0bb19ca04966f5d462a211930ce631b9d32b35d47cf97e91548117953a48857e996408a1199891a6092b45f3fd93bc3370a0ce3c9e9a2284e5e31ab0e4b2e7b0155d43624f698419dd3718d55f07b07b83a0d4e73bedd878e71201e69e302f17f9649a3ef3567e295b312b046eeb0d7c2461447ab5f4579e117afc48c7730dd412164a5a724561eeb73abab8397e50da1cc1a54a82de600402e66f7b8ec8b01f9890d1e655f0f106d1e23619ca0d757dcb2b28cc66669e45d592e3df5ee5ec1167849bafe943c4b88cfd1ecb57b14d96ea3065af7779f7364420d45ca4a2347e4cfe3e4cf1ca239cb3f1aea9c50d17f138c57fcb9c91eb2124d42bd15bf7353f60a06631a41873d55495984a00dc67fd17fdc54446848308627f4aa68f2c359466b427a7bdaf431d06fd96a7159992354a389507dc9494cf537d7b46c02975ea285111f9b7496982250a84743eee4f572551499e51a8e69797c30e338141f2b3c5f0f78d036e0757e0404ff8bae5851ae5db62d9e16037f9d6361c30ebc06c5da8c7d29b86097ba1495aee792c0c8e96fd8745daca260d00e14cf2656698291afd30a91f704f58b067c7cea62901ecf0249b4ebe66734de6dbcfe38c7ee0caa5652f718963ed440b628605d038af2d55649919ce382ff288c93a9605c8f64ef3dbccdbe2f1a23b3d24cea047defe129d25baa786a37c16c6633303e069c08edce5d9e5e8a8796b0db8f1f83bf3d698dd598b58854b56cae71d17d82f65fdee1a633af4c66a71d684a2159672cf38cee1ebc34e11776e9ca708c1ee6d30f269141febef23cbd5c60d95b06c820b52e8e9c8c7fadf625f05c14816ba887faef298f0b01543c0a6f0fcf4da24a50e2db980564a179f2d2d005611ccf34dd85a871184a95facdd81c4fb0649dd795e782e6a738d2b3395deb1902d2d3a2d374d6b45b4a3b464f8fc58e24f9bbbc2f94b4e147ae8c937d715fdbee660c09715e7aba3faecc65279fd747b3f2d513090bf0bce18e62ae6577e6bbc6787249f27b488b0d6813c27a55b556f63e72c747a4fbde8dd70f5d99a6fe06f17214429f0069a15155c96f6352445dfba57f90b5a1286263290aacd6eea4c65c4a9e912fcffbd767c1fa0d6ffc6b0255fd7c031fe3113fb7aa4b815a1d171756feee97590cccef8012660d21272a58f2a6643acffeb89ddfa824a7da1cc5ff722d8cfce4abde33001b23c044c9a862dec6fa2693fb67ba0989b032f85d63e0e37d6561bec30bcb386fba9a820ff657eb403607cf599d71ce862d7cd6891621d3210c17a7901f3d76df0d862ee88020f33518c8c9c8e12d99c9921d09c3c4ae8e033316b68fac99900517d96dc0000d77927ed55f018b6459afbf66957fa314d5230c1ea87d678af4b9500757b566c1a6f7979712d66e03f11b21409b0d330484ad401ce06fda80c4179f70131dc18f5e8510772c30eb61bc9f29943cac33561589fa55e03917d2b9cb041653f98b9e90dd937f800c30f9490e4def3c56b9c5615c151afbbdf1ff2072da7fa9341bae5ed57c4b51ece5af1a9f16c073b788bbc7512c98c27808e88f2eec43c829a4bb42c7f6409e84853c90037248b00b86a3385362e800129aba5a1938da03042f8fc6f94a6e6a87cbe845347dad512a883048d3769ca5c48f7cf2d22c2bdf928a35cd2634e10415f430e107378f2067301c1ea09a37ad70c1d6464dc66f08b7469e4c19884ba76d9c2171d69110bec3883d865aca5aca58e1d7a58e4b538de81774487394834a4c7ce2fd2cdc7289f093371b0e217d61318800e96a5d7cbad0633f3a9a7da2dcd374cfc61bf430f36c0c06f2ceda7ff5664323ce1c61adf916b7129e2ea3a1d50f08d898101bbd9cdc60daf9b49442d333c6a5c491ea93d145a368fa7929cbab8a39eea8d93627b043b91f082f22c27be822e4566dd4b4253745801f3968c1ad192ab64e0c2f4eefe7f19d3902e043c703b7c78aaf753673d1b56b3fe15b82ef2d063e23020b0cb8899f7fd5414fd75946a12617a6a20a9a79912f544a2331aa31b7244c9053c658299c2db871e9e6bbdb51fc09fe462aaf0c58732c162d2524c9cbec90a9901026bc4878ee88a0f9819ca168a875526f4df4606941fee14496fa9094ba4b62f3a41347ed785203c3d8abc97852601b6e4c7ddcd9f3b880673409c9a7f29c8b91b1e351b72002d44ac27e50042a1978e76f10e24418c076a90256c16b06b78144774e1cc59b58fed713b7787fb01d56aea66b279b61f5f17a0d8259e220f2ad4b8c0011e2643ece302a0f0d98e58b7514bf3eb0e3ebbd2a6d264b0609eeeba9d65c174d6f6290fe1eb5ece29153174b588780e5c3597a329249a6c48228c76af020346d2c7a235fd585850d2902d59e8fde40dde6ca0e6982cf7f10a5977d92faa8247edeb3b924ffd82587d9efb91518b2f2be00de188800d36cfde639807c41e25fbdfb99a76483c1db146154b2e4b19ac2f610681fee1042e4210285f26f081208d7d05d301e7e220a8f7c8b8a7d148f7d25ce582613deb2fb0f641d1c3e627853fd58ae855fa0435e9a934c7f4679aad024d0c4aa4a3086f2b0655cb19f00f91b0b6ed017f1259b4215be2312cac8086925c099d96383ecad59709ef6baa827a8312da6e14906701b927f0730e9910d551a36ca93400077eb1df8c958f601e9f91928a03336b16e7c024d5303d36323ccffa049bf3da7cf5f946e120ae27b222fb44ec708aedd0e6c8afa68a95076080c794580c0c75fffd839afd51be7a4f7c3fc1a4fa58e4d500b750332de9199a6f469980eba1b75e2d960eb180d83ea1e6ca6c5a89f8558e4fa9b45164124348e59175418b4adaf511cc7f919ef1da933bb4146aa5e80d1f3ec4ba91cada97f2120e4c749c510501ad9a77c36f773a608ec0ca98797b370596037b7f368c3e423de7d7ae2a95a4907239393978fb3d11db9ab69a7db439b95002cc313c879fcd5bbf30a4e672041f2b4d5b576d0c02ffa81eb358ae4aa0b73e06c5d10d6eb5a1cf7d1c5990399bd40591fa54d0cf08c7fb7d87a6f307c9dcec626bf7ddd652fc707040d74cd961ec83bbe6c79098bf3566f97bf5273b8928fc7001977e2b83c198e7109957d793383bff23eaf0f4c213ed7761d216a7904640df73edf596776826cb448ca9465c1ca83df64c4ea7f6ccbedf8fc29001814080d2ebe70f3506db78743b95c0fee99cdb63b84883d92f1bf668b1e58e9ce78e04f9abbb3490a370300fa2ee83b6e392cd30dff4e04256ca2669fae4aa4a928a773a1e48d2a4f73a58163ae6dc206dc2b88c240482ed583f0984a4d260b1aeac422cb05012e0061e8e848076171777059d3a73db050cf75cb60a9e629a2c5d3f82da9b932a4f566a350b98a6abfc747837d47dcceb8d8e198e2a73924206f7712eb78b7a0de975c2eb2b40be6375d13f8588a1576b5b42c0fd0d953f5abb352be5eabc5b2c00e3d0884c6ab0f518445159148084b97973b1e340dd1411b775b40bedd665ba10a61ac3965a8d5b5e38dcda8e40b2cdec9ac18ed77bf2773f17edab946c6d3b8c112de9ad9c5b415c22c8763e051d6ee3afcaea939cd7655559aa9a77f554637eae3ae9a6786da0a7bc63ac19a763e93c1a74764d630e4b6ea1af0ef12b8ea717580aa69a5b4e154d3be067f842de2ff1bd32aafb0397ef873f057ad14a2df821799edeab7f52d4f7b0e11a80a27ac64da0dfd9c614bd050d0e5651e291b9c274a759f23f396a373f9bab5d5636bc01b59d1d7a72e1048439c0e8ab33b9b0657eca14d1a060d142642517bff427a473c99f5b831ed21cbb6275d3aa2acad57e3f7689bb6b1b5ec0c137e43382409e5d3aebfd356dc250ffaf205431cf222e51120b3ac337ff1feaa7391dff8be821351af98fa97eeacb04974f9f13138ed270132acf72572d773978359a7e2fe7a11111adba28e87cca9c558a21cd59e0d3fa6061b8bba49bafe8247fc05b719e0be3419a73a3348aea0ca250bdbaf7589b20b058a787429dff6ea14e19b729ae811effb5f866d288e0684a8bb08324b74767fb97bd23a9ce702e9b5ee1916719f3d2860800920121f906e5701d2640700248a74a442e8bc7bd5ed06ab90a6e7fc217e74e4450b1fafd2bdfc34238a900528aa4e162a7cf8b830c93c476d3d9e5cd214bd7811fecd112a92f0f04c3655a0ce4c35e064f490d57b59d86cada09866c6acc85ec73d98446c1a5c5192de4a28bb181e1d0740c53cf463040a1ef3b1847301c8e0bd3696b81a788db1f31f60fd26185f09aeb44c23fd2c731dd9a96ac4318bfe0e7f074cfbaf3938e6adc1223d317b24c59ffa9d05c6d2bcdc81e3f7c7fc7eaf113876568e787feb1a710f7f7db6145c18682e5db812640261a4634d3c27e9075d1a336108b945c1517daba832446384b80c04e8b44a9884425c4b04982b5873bd0c0c6010654135b26747205f10087de2a03bcb72b23fbfcdff3ebc511f409281091b28367f80db95284eecc095b7ef0b027fd9c07be812928f3f9ec8f3f0638e1c9132844ae28f930fb1b22e6ceb92345e8c9901c8f8a70dc25362d22a4257ace0331cce0301ba22c38a46294e3000e36546bf466f31a2847513ed6608578359272e3fcda0c98cfc858b82e17be2f3e049b5eebe12ae71223038eb415a755f1949bd056339f393d980deb4f4da6d8c16bc23785826161ff197932f0f4b48df68e479b6a60285bffb63dd2840cbcf77895442e423c9d5cb264cc396e423fd088051a1896918095b41d9ddc961bbfdeefa219e8f294bb78c28a0f77cf468206935194abdfa56e4556f843c8483202fca7c8b113e1b2d6d6749f74cead5ffe586f637170db29d961be4f77bc955d803eab92022e19ed68b13c4d911af25365475a7486e483bcbff51077d4123108ecffc3cdb60ef52b57616d714d4b347192e059e5111c2b27244b95ddf314625a738ecb3e90703bda5b80873b3f7e594ab989d59dfa05cd9554070d3e6476fc00731eba659785fc7a9456b6d417b1b6c615d438f1ea4b8f08176a99eeada82a7962f43e1376ec16d277a405677543dfdc00ea8246bb10aa200a199351af4f9e41790364ee04d3daf29208925f2083307cd49f2abbb6ab93c7a4f046aee1e8a0b07a5fee08fcf1f9fd8c881cbb45b9ab46fb070206b1fc9928741e5e322ad524e8c528727cd008581c5244186bbf901e61648088c7c938f9c647b7dc27dc3b7c07739517be55020e6329e3b2e0eee8d464a84ab539122070865454ba9aaefa3a77909163fb6bb3106677b5fe3be527a37f3a849f7abf2fe62d09ae12c50931e6c9da8c825f501825438d0822aee04a0a9a1cb3c542c011c51025afb9a81701178dae0e6da80a4bc951313dd1cf2aea1f69751d2c5bf5a6078cafbab4c1784701caa2ad953f8a41dfc1f284124341952bf93c377af4b169bff4a96923c7e9c9fd9584bc47d6787d9d136836e412096c959fea37c9e80851bd4448660ed7fccfbb27cf9a756585f669504bebcdcb6333eb493f378cdacc706502e77be4deaba466cfb4a2a76fb8969044fdd015b427290900b0a2ddb724f3ff73e8467bf0166ee0ec0c0b6cd2bc2b53299349b466ef71106edf422d64dc5c0c93452e7eed4a0a32106815005e9be984f4b518741b03f53dff2463f1bea558b16b770c097c18f8aacc5b9d66a39bd0e67c7c86654a7c62965dd984ade293bd78111bbf51a4f64bcb44f5444667f79db38b6b038e1f3b6f1adca1c6a9a8c7131ba1b89dca375c7c32f313d2fa209ce08299a0397d8e42e20ccb3abc3ec4b457a4baf17e1d9b5c6e76342af653e26c02a8ac6bef55fb627370b555183409344120b6c4d0777c29aa5bb6db0fd4ac41456637137d7db7409cdd5bfe77a36d6cdee5b135b59d87892d42ca1b24e34c05c8084cef34069209156a3ce182881e5585423ba86df4c3f883cf06193b5eaea8bf1729bfe2514b88b593d26ae3021afaba03ddc814b7c929a76d1e96b2af4255c34701abde2d3078fff78804240034b344dea30feb01c183991e6b1ddabdad02177343bf011ceaca9337fce2585c67054a9711990ede29672e5c535f61e27aca4f54b308780cfe56259746380ccdb94fded425ba3542fcdd4fd5f9d447e762c4ed4b5629e8864b408b71623e9f2586e6f199b287bb7144bf38c3aa2bae48470b7fda83984dc2571ada1a3796d0e327ae2e86ed82876d1241b2e2b2a0726b736b032b4a1921b9528ab7fbb95a1bed6f00106a1481124d0e339471add8ec4be35bda387439f57425ae16c34d9504f7c9615980383234784bbc822b22041c61e6d8cfe9276b809ca9ffcc770814c6988c5f6c8bcd2041425ef42239bdd3688fa9ada345d07cf30dc18a36c84c74e6848c6e211128f052902355fe9c70d6be491dcc23f541b05aa5b08270b501753e89da323320fd5310f0d5d8e674635c5a453246fa1d46a097e5d65c3d76e542581f39add4f4c07bc97b2dda2f4219436f72909f21ea7d13856a2dd70f6137960b408d416d56f83cb7569fc5cc3048890c86053c4d030e082d2b8d71125ae2337360f45de2bc1dd75e74836a6aa91aa46ac424287f0f7ac2e7e29e87ad828c76a2420ca2ee8fd894c2dec80b58c0258999a1621de87d4354158fe21a9c6edb2b0f2f72b37034ae76b53e95d3a3fcc03d143530ba4858a3117faf4a1ceea4ae0fa34c93f47c5c510eee0163f6956b785eea7e2c51ce4c3a9d80be33198230a089c1e9825fe18c5fbc7889ec2ee12afd9b2495a368f5dc115c401c462b49760cdf3780255aff400d7dc242f72f4c62aafce94edbae5f9422768eb10a54165f7d343cef3741dc550298b2bcf1fcf56855d52bdf1824c64c3ffb9fffee7bd75b777b625c86a4827bdd08253b065c938c08e0aefa8aceb5d199c5642ba9a0fb9d7018839d15dcf276104cbcc57f8fa1253888c3da55b09979d642e99887ec3c6e47e18328e421b301921d926b20085d01212d3a5cca952244fff3c16d008c6449d5dc15e7c340b7661a4666e81bbaa714dabe32cd15a50c8c906afbed6d691f4bb9339cdc6ba2ea4027f09f5e5ee7b88b00fa58770e3d9fd84a25156be80862af44bf30be39741c25edb9ed12770a58b90e2d786d287e413b9f99f38667e2f02e4ac8363a4c221c487f758c5a1d199df0ec51c71130ce1ba02957a924673eb8b5196d7d641f2882160b307eed9fa16c11689b0ddd7c3af9a95480bfcdfa67a257cb437d38aba5dcf9879cdb71141a98aa06db9f19226f01fcac820804df7223dab318423845d9fc7d797e30c514415c24b737e4365a36ca1b99463208b70bfdad8551b328bea6af6b0a05f5ee7ea3c52990571782ddc17554781ab53894f6d2ee16036abe69a279cb7baaacc41f2e763751c88ec73f350a804a43f86f64592429107b9136f6e1ead13a37d30c0187f200b0934cb13e956952fa90af1690764a511db8f7a82996b76e6b09d32ef8539844c654dca335461e98fe016702336377db156b803cccc617cdcd1404e6390c1ff9a9e57c73a01ed5fc1dd8ed190b1e1f1c3edbe5dff4fe031defb78b7bc29810730dca73f2eeb220694187019f6a42751c6199629996ea76691bc79628bbbd247be6e7b979ac2116990838d199a42276ae4719e39a78513f966caa072059966dc9108e4d59dbcc701d4dd0e08ebedef4b69910f3adf0e77b31481493fd97192ddc601b953cd981b90016e2f7e76aec5864b33bc8b2e36faee42b370ec7b11481cb930b0948812293510482f1bf10110af72492b7709fc05ed0b1056341a8ada8f9b04ce3a437c6fa2fc2df1609d7560e1642215444296b3253e0aac20fc8224854885005b2627af1de9e85a371f9353504abc92967846a65945c4822a6de6797839201ef973e41692f4936603aad9e7389c5d3c5c58bcc98dbc408923100ae4b42549511d71645ecc42f4576e09769eb39133b874225d42a8f415ea1905d86ec37f3739e7ad16ea7585b2d53a5ee20feda988c4c41d6678499addedcae4d0bfc664d7a0d00503495d99d2fff9ac309f3e10b324410e4625c096660902547e5634f444ff323d9337b0b070f77f5a96b655c372397a6847023717f051d3c8ee5c26bdbf55cfe8f82218fd76d0431661ab1c61339aaee5ae4d18631336b96a794f4fa634aeff3952cea3f59e3ad9bf033a42f76bd8be1ce32545b83efe129e3af9e7850de284c51a4174245e951f5a7f8bca87336738bd4280deb3bf0c96fd669fc4036e37adc77240e45d2035f24530abb8228253e36e42559b0a4336b419037ae8d88743e1f8e410f4a8d823ba3a142eeec5f2d33b8a4a2854efebfc7c4ae7bda9bb27332d790c9a0e5b3bc0276d1829ee7e2eb7425d36a4b163af040ec963e56fc166c53636aad8128729dee82574a3b29e3d1f23560ac5e2f858f1a24457825231e5496a263fc6f2af3e2bbcef5412634765ec3c9451096d3c3758628eba519285ce72e2621842987f5e5a91e72c739e288845932da087086ce07010e102edebb16aee75da4a33ec648118469a2bc718a2f5e6c1f9f960d498f7ad19910862aecf6b41e2f63e5241e81104ab87e9f1695175857e0965a08f31ee737351cc4a64064e3300b3cbf0826f30c58a555263569f8c8f56f55f1408f42009b7ac1cbb6ab3874bb768a86f0a4be8ecf22e315cc1f1b67b31967965a8e431b905e52a8866e20fb51aeab2a04c4f3f1e0193f7144551d289024f579161a53f841016051ff70f85eed9ff3fd7959a9f68e7e703879cfbf1644a3765f45a33565fcc31a499fc6fa6ca75d6a409fb881f124df35cfef758ece5e1cdb89fa8d6d8c6842f7ed946c8b28e5de84ecdf2df58558aebb7b0d2243dce2eb034c51f35962f8c7c814d0ca54be666d892f075ff191321510f071453c818a578dad065d8323f4616d4fb7448cd4f0c48ae3dd6d1b07100fee765796e4775db029485afca86116f7a540d3e17a1c9c290505548c5c6bb372244b1938684bac400efcdcbca2bb34d0caf946235cf048304f6a2afb0d6f9742de30fdfb076d710747112da669860d4f6f6346d2a3b4dec08d0e9035d0ed74a33d87fca7574b82ad44c69d09a96831cfbf7497f21625f46690717d7d923050390501333a8afc3b6380439755a044daaa8bef445fb026906e9de58d98ee3a806296c6696a48e2e93be2b26eb1e8076a4cdd15a8d44c1eb7f43d30ddc818b3f408e962113585847a29aa9a87f2c4409a6b2599e93d5ddb13d6bb208a3dbcdbbabd3159ab671064ea9d2c910ede936ae7a7a15c91517bdac45e09dc18856aaed2c0eb67b6d0ae239f179752fbcf1d7d9097b1dbe43d3e6cd140a647c81145e091b021bbeef8d49d789303561c71df41fa6c5b6953c766b798ce20632068e9611f7d9b42ea6e2a15b7b671d4a6d2df905cc077e35097cea83cb442aa41438ad3f9b5afdfb0e95a59a86061556d7054d839feadac35912cd9ec6587b101cff00b41be4f54262082312a9815cea76e5c1adb36c5de18284449c75638276cc902316a6bd3c595b32a594091e35f5c96fa4b49fd620ed69f331af52dc6b219a1f4cd4901a8df4fc10ef11b2354e75ecf14e7e3b75c7356ee0654fccd91c8d6b100199e6bd574d513bcae0aab033868464806aac6bf2c20423393a036ff5f5608755963e95685dbb833aed0c6d794f84c802d07dd91fbaff5a8e839666cba004188d9872251724b57023aae24ca331ef5cfdfee26b0f1031d506b6edcedacb4d59c6f7d79d5f7b55010452ae9b6b8ac2211d7eff9245db53d1a4741d4462c1a790ebbc3a67e1bac7cf1d6b20f41ee9b5541a0e61c5c8bde7cb6a2a628160b1017232131c630d3462afe75797c31ea5803d678c65622fa2ce7a7c82dffe3c38761627413a96a283110b552361e6546dbc5fc17918256a7844607f81edb446b6294cc555c9950af336738a2928cf30b351182491935292ab9fdd0fb6f0ecaff3135b8d3b52818d302154d41cd2730a3234dfa2e38a94dc7ea206df4383bbba5b8b5231cc06b1417962b59b980fb123eaa47bf6ace4862cf5e228dd106aa24dc4e7a31aeed774e38bdd5341165eb494bdc146cf9e70478a84bb05095dbcd4a368311cc041cd61c4d20071291f26f1a9bc733d40aab9c445507a70693b9632650da4d70cd0705d5888638543b00e654180a4854107890d19c5034ed21d5bf10acab525aa764804078cb3c9273fd7a15ca46d0e9bffcdd60ec88186836b3458b64cc81344c0f8c7f23bee4351fec6d0fa44da964ab339527d1c45b1c3939a88d596fb13f0e361e2354d05a9658dda4396a9c034a4a01b944eae458954e833206c36b1780b2ce30b952203791e0fee07189605f43e5b6baefa6e691190879d5c5168bf2c9733e3e241185793852b54ec29af74cf30224c1a05b144428923e18af73cf40a13b2dd6edc6ca41d15ec84a85aeea05180e98a0004a7e84b312af39169de71822a2e9fa1b0b11f54c90774e326ee4f1cd303f8581f404a76f5b53bc63ec103240356040a07fa806b6045c992d28e7987e994984f1eac7ce6a94ad370f650390ccbae3f31bb3e3a5906eaf6f37c27489a40ec72980f6b746e51be9d749a847a6d6e41f352fe8904cfb0523313d44c9dd9c827ecaee370affa0efdadd96c70c30aae3b5c63893276c4099c89d3d048d919d2184b991ef650b423f74f04d9287f1b48541806aab29580b1b7a80d29e153421afce6c6708b2116ed4e90d40ba83212e1edc371b858897a6e378ee9dcbbb827900d50c1adcb857953e90d2fc36a368c4ef73e21e54afa9d96b2dc99bd262881560ecd42e986eed0b50226c002ae856b47b5af6b0275ff7211b00a5431512acf7459e29bd3360d3d9a826c414321b2eeedaafbac290fc81206c388a7d10c4aa6ebc078d1acbdce23a7dd2686ef541fdf1e8c905d48694044fc2a586f1374f6ab637c9c2ce7f3c3dc2a602481e3b3ea09e54ffe055623891b9a02266e9a719d400e0350d5d69270b5bf4d06c4de7f7eef51b391e8f88dbcd45ecb07114b4322a05ae80b9cda74cfb3d1065231c71d87028d5d5c834f392c5545b3d84cd08f5862f96a58e1b4c465b86eee2d82996e224ecec816464f5b51716801ad807a8068a88e760c62e5dcbdc7431b3352f48ec7f4e9e843eafe66a96726aecacf34718a212bfb4f70ae43531bfefa6aa32921a5ad7f9c7424b800fa755312b123971048fcc7283d2638ca968fa0da7aa9682d153a0cb05c5bd86ced7b3411aeeba8bd1a9cec8d9d7cc0dd3cbaa8939ce414f87f42c87d006d5869d045d3dffe04b05ea68a5b9c9860417613d7a892233ae061a5bb80c73eadaaf073c6c3dd99f859ea67693c50617c8cdf28fdb1824a562a639eb6318afdae20273e04a1363d900bfdb081f47239ff04106287562a6a3530d000e65188e89657589aa28af0ca6b9198bc21baad46d63e169c0c855022af7269dca825e2027d6bb0496da20289dbb66ddc3f905bcf0e0ef53d089c80e74c5b2adea8de84b2e67c235f5f896059a31fb376824910413a608c857bfcfcf995c87a9f2a11e31f5e557ceea41d5a60c17ce097c6190f0dbc6338cea7d180a6613b1c9e3600e420a888a30dc37118dfbd92e474f39a68c9677414cab0291d25981b4263f9a04e4f7beaf7647189adfc7e89f058cb130ac0ef1c68464e314555338c2368c4c3a390aeef81f11c3601e837e9b3a0d9035b2e019e686e610a6d7c12981612a6ebe1d5590f847c0f46a86a797b303fd936c4c9c2f3d47fa4728cb5810af3e34f9c75f4821a17c390e0b48237b9fb8a85d50043391d2c0c48771ba9616144aa914f6bd90e70e9f6015b4b3f971a378e9915c50fcc411f58eb9713522d203956ab7dbc911a7749a438241be46145d302f372ddfe86307d40e5f8469320a8fcb0e4defd4937e03c7b585a50241baf7b72ec0e11059fa271a6a1232d433b726faf674236e33092cc7d7533ebd0121539daa58e4be67c9200b8b818351418069f28ab8ff06016f83564b4032dbc3b26c35de4ace2d9c554745336df20f2f37625f837135f115d4ac7eff42004821598c4fdda4bfaccd52d6509380556a00b521a5181a9e36aa4514a518d86578414e2ba8da99bfa089507abd78824c632f17caa8fafb5be7a7f160556d3c7d21f8019f94ec872b09201ed5ad63ed1693d6a9f21553772843f56686e8a8fc4b05930c687dbd8c29cf9488c6a688604eaae78a15e9e191d9a0b58c073339393e21bb57479cd2ae9ea3feb83cd518b03efb9d9d9072fd809ec314e74f2fa4198b4c7294951b053ddccb8e1bd371ca3d581b498b0d2390ba4dd5564b6ab19da56244fc23bc29ff58cf69887194e1b533d2449590e4eb874374c6b6e5c01bbe063a7b2625f8f053ef42cc9ed2f49dff43e13f224283302da4ed695ac656a6261aea9213bae90d1e7e0133f27e33ebd1caa5f202ae3776b93791e5216990b03fa75cec16cde320245732ad6fdb6ccb322816b36e697932210f9f0b688c1690b6fb333d08b92e3a95ca6e31ca3b93ddb2d9ac71df97a4e51ad338eeb1e475d7d286177029d04be0e2371aa3df9ef5c93d457c968121c7535c43a9658b9bee3d42415e4de3581d9b3cdbc84938416329e12ddb67cb36d71338d69cec06c47bdcfa54c5cd63d8ed8952d6d278a1cfc55f5a9fbc728d5272810964f007f763d92a8df25dd8fd70d8679a41c49f48b820b4e5a9717b7fdabe08e43437b3150c91252aa2e4649cf845c859def36753240afd4febf9a7c92730834c083394dfc29e9ab90c5a003210f2c1c1f6801ddaf191d5035095a6be5674ec2e18c1f2f07d63d5b0f0a05da00926fc0cbc05cae40f224d4592450341cd86980455156d6894d43eaa8c328244c6e94317177fb5af8485b4550689880aa66d5d208f746885b9db3c75f94ec817cddcc97f17b35a4c893744012628fb519dbf03f14c97672c471c73fc81c107d885ce95fcf5050ff9cd753f6463555a4503c1582a3b5c7501146ecb1e386e3957892a8e2ac8a8351426b5cc084b09e3b91cf6b8b09b59275e2c2f07e290e66d35814fd64c4db2aa69483433bb80abb35d98351a2e6ebdb4df2151effcc0d1d5922ce96047efa23947c9889216b112b361825ed0211fecb2f1832e1de5878400bb890bd27a290c6f673ce0f9486a547140ff07cd41ee95ffbef38d8710186181db3b819f814cc9385047b49118c031b3d7d218c92432176eb31b10142f7df8317ab719847ba2851b1c7a479bc27c2985f163c193b2b6c5be7a8e3f866443177d11658a1c4cc74f9c4aed224c1780d142aa4a72d460102421fe71d410e7214af734da4fe4004ac259724ac687c5548eff924d9b2b2b83e1ba05ff90a4ed2476884231d5cb604441d5982b92a3dd8c1b04b5828e143cea50410f0b9c74cd3f46db8065aac6f0642b346c6d13a4f8e4c3094b09f1ffe1170751d1a0b2597da7e4991e25a91eb74e8bcae63851733a3133ae0b15072709cdb2b2e930dc19a980c127e1fa3315db2f6ee8fc891a8293a2af7c97a69742b7f8b5b6dd30a259188a18414e932f02596d1b3cbb6a5aed031d72736c2531d55b7ed69f06690b678991c48d2404abd90e36029954dc3e03ac52852d3705dc47a254acc329dd57926fab8223fa52c50648ce86583f03c2329a1e389e7b033a69a4ee9ebc458393d0a22ecbb73ce10c017b0e6d8b856c00aa76a38948713abd4d768f275e3a54e05ca0674add7954007eb06716bbb7d05cc49eaaa87d6379633783ac5aca03100da2fab673fdc982e35d902d013062e2e9e5f03796670959d800315409c4d68422a2a821ecab6fb73ceac73f30a6ad672bf9eb71cac90fe262d2b5c7a315542f52a6167badb2382fbc2cfce2bff11e83474da32d9356cc99ea5795a7284cbab4053fb765eca28c568975769b305e837cecd9e6230cd139096592614c2fc11e326a6663d1ba74d4a2497e2f0b0dbbfdd51011956efe87b64b698728873bcd03b464507b51c7f780e27217aad979b967292c2541c23c2896a5e9898f8eb74d40f85c6eb4c9d9c7e70d143305abfb85000645e28e606072822dc0f0a5d0f5814bdf76f5daf991c3e0c474255a03221cf1420abac639438a7578f9f48b88759fa1dde4ab40a46577ac021ce8b92d67bb786fe1d7d4c28d9f4476a3eec656224285eaaaac66fbad8c34428087a01dd49516dc1ab4b3a76282f9f320dd0750da43e34d0040a6cb3daf44ab781653d41301f6573841256f0c0a4db72cd1281b1ff25fc24a2cdcdbc66ff65d9fb947c958ad591c0be938a34ce65151e153dbb0c0f39a1952924250feb07eb3fee12509f59013c1336c9c5e5d1caf0fda8b8bfd6e82e1937c94208d617198e2806469b0c07c40d694ef6458a391d30cc62c42150b09b120e45fd703ae4d3f1e10052e1727a22fc52dcd6034eec223ca5e735c1ac15eb827aa92908c046143ffe75edfec0bf87c6a912cb69ac04d9eb2edc5ed031a5060612dea36183f403f5a185a2351e76805bd02872113656e8e3bd54222f63c3a6837ae17199016b0ebe8aa21069235c1a213f89491775ef4d42ba67944d67cc524c2539dd57929a9daf3e5aadee94e175d16e85ee473c092b90bea061438f57908132515400e7ca8a982ce3bcb330ff8eb0490d9f699d4d9c812426cf2fa0f6fd8e0d262235b3bfaa39cb0e8d557e91eebc08230c3aefb51bc55e7a668c194c4971178b335ff0c04c0c9f825ee360418580bb7bb08dc522f39c67045b156b5510e3b3bb1ade40ac86368fe38f0e61aa13eba50756a09e24c72d3be35c76fe870423090f64500df5279a91b6ec204c2b22b2f42254b5289fe275601df9a6034cae120e3df5e31ec6d441b8ab2799e18c70b5f99dd1afe0694a9ac0f1bc539ff70cd0d8a803bd8259d47d4fe55a7a87dae1cb0821f4983d01033c125b8f849b0b40acd9a739308764ec500759b0abae81842e020a4ade4fd1156484d79a87c2199a39d75ad2ee68f6e4b9c30699f1a452a810a6ced3e9574a67372a3e42a78414ac90a935d071834e5c714508c1f044fdfa194f80785e1096c454638943fce664ba1400220295588c0d449af81a15af5b23fe4817a4aba08676d148460a38c2e5e7d4fac8174d4dfc2ab697ea8518da5494db2c282ad622fa6bd1aa3926e59af72eb6ead8328ae8419fc8ef23f5b2ed233e267a0c12c13522568b8987678f1dfb69457db7b31cd4cb7bfdea44d0ff74dfaaac922e66fde658426b491ae09041a0c54509ef81e96dd1cb38f4ff711d21ccc00917007a711deec359bd12e28cf8399bb94d2c3e659908fd071010a185f57bb94e98b4e6d646c4a24de7b6aca1cf487c5640eed3c43d31f9230551f1ae3f3ef6998020c8c638d282ef647957fb9f60dff60ef7c8a67a78acad3c77f68ae8d0c452de010aa08822d1df91c5d98f25ae457951629d5f9a42dfb91d0822aabf38c43102736c5aa17cbf7ce124b6e2e823b88bf7dbfdf82e8f702697b52f550ea7a7b718929845be8414d8a6ae2eba0bd7345cff2448ef23e89593f993282095efb35baa894612a3f2d011cde174557bcf891980f43e52afbc113c2c9754e44cbcf75fecca6b524696f0a1b5f560f7a419c7a7a81fbec3d185ac9d07e7b0468552ea546022fd656eab1fd89e7f2b1fa0c0b619fb3eec8cb950550fd471a5e513d54155bd71492f5f2e8bb12b23c2ac298df6fa420f13d6ad0e243e7e55098a0de2e7473702affc8c6c5878fb646daeb8958e83882a4ecf0b4df3b7051f87ec66ad8b468a70e2c7e5924463c49f65152d0e256020c89bb4270df30c9bdb64d3b10adc8a3ab6fa8ef419a25635471663cda6c66aaa702e742fcb7f66fc8db81f00102de2e0874a06a85b6831caae94dcd42b7ac742ebe87d5c91d3d2c28012de8b33ef6fc97224af4db0367ecd013267a6140dae72d04c88b8da2b6ce305c4175d219a1fb2d61e12cfdf22a18944144a8c67835d46cbbfff4126400989d331b68a7d9a647768ca7061021f77d8d9fbb08a10bfe25a019adb829fac87689cfaf93c68cc3110db2660dba30dd086e58bb4162479f9f26651470a134842a18fccf0e059d7f38f23ca5a1157ba009430fb6fd776da0bd96fef28d246ad5f6bad4c33277ea1f96796216f207e040eb96fe166fe58b16a031f011102296333539cd41006f3231c80dacb59d96e472531ccfbbbc60f10ae7c9f2615aacd758ba17ec5759f6ea51766a7808173bc38bbd018502ad740d3866a20a14bbd40a4ed1aa70a8faccaaa31e017ba0e64e74b675a2bfaf1dbe228c3f03964a68463339a716518a84fdcacad245052823249b1e7062682d734ddae645fdd68b8b5f133067394091482bf17325360342e67384fa7a172e0b5bea5451009c536f098ca49c3a8ec24a70a85cabc039fd317481fb0f7104bc04e59ba29ce5518355b5bdedb1643c1aa453f9b63abfc5c2d4750543cab6b019dd4f1e05ae53eb66162c1a0a431284db218b7e10cc7f9aa7f681c049e525db18c6ab26a46b46489d86ac364b15c4a2b8df68d5c938a52c62597aa181f691069f135cdcf5e7e6e372191336826977a21e45a82b8245d8fc932d5d497986a6270e63fc168f0f87fa4af678f2bd8f17258bd947c1402315938925be38c136f50a90ef42814e89cc207208feb01507b7dc85a5c42dc4081a1961007f9e0f6676f85df0f0e1f27575b94846ce7a87edcd752fb47f92556951489789b8b2b8659f8029e6d64303dbb60f81803adc8b7a33a9e28a397c01522a3141cc3d967e46e84a0f26cfb6e80a68c5171f4806fe4a64091e5f35214ea5bcbc0cc31f1e65f2c13dd226b44c92d527498b7bccac99aa6c990a233237ee020060d2429655f48bc98d40a5c4447fdc8dcb33ee6f5d101dbb006dcc63fef43cf61dbabcedaecc12f14454e803a467d32369d0dfe132853f8f31dacefadba2395fb400b9e233eac2fb43ecf650cc00823bdbe5f017b86c37349dca920967c594ea28d49f9a70486f63040204f3b24015c1e31e5a166f0b31ee919e78d6b2b49fcaf5546ce7f9379fa0ceec27e9d3dfcb607a8a600723962935d61cca4bfa9498914aea634025aa3a4755b37de69cad0b653d2019a900057848dfec5ba4581ff4218a1e799382e2f448e94f74f5945b85d7e5c96c2a7ee00bfd13b6e08b686e1092d1aa51a84585cda9dd4288d6ba389c2c7c792bbd404060ba06375b76ae20ba1f6d8e29adbcfa84d65a0a926b1339211368e2871e817e283f7e335b83a2c2a15e3f0f0bf48c55678bcde91957aa335f5a0653d5f0b1c3c9380e9914a9ee9c6ab8542862d5a00bf94e4e52e461012049fba314ace1811b025bfea7fc460fec4b2cb7e73e773fdb355bc077563c009ccb80a25bfa386c138ae1a22c48cc54cd60617f33f1c4919ea703d676a2bfe45fbf3265afd258cf50b535464cd52f252ae00aad77713647324f71fb3946dd6782e13e8a9ee091586d3c9947e9da18e3c3421ece7ae8583cbff67939f5fcb7b5dcb03808d158da536133455b2be5180a9c117c56f7c458bb6e506bd89a054f2147e016f70c09bcf3260085f0690004f529fd3bcbd1e30f17d77b57a41bf6d0acc1f7a703944268422e094f1b595333ecce3e50022d0bfc624ec3fb7eb022402e4f6e3e9c636d67de3b1df226941728caed8f059587c5f0d4c0135af4b1787a406c510600107bfe84a998f858b7e92600301b442a6870cf2b4fb9e2ed1d48e0ae05706cba8fd563dd3a2c06afba05d8c39db073dbe1355888515577b11b23a575180b5e70a3d8b55e5ba1374707d4e03e100780a0b4789796cfc29ebf2d6eaab2d09d1779c6a5757266bf4ddbde45090baa17d0b97759780c70ac6000903e9fe2e8659935a7bb09892cbe6ff4a713cfdff6ca74257bf7989649365e8b370d14199f13c73a22ff4ebae6fbef919a6a2fbc08e9183ddb193bc8af143ac8070eeaa7e230bc6882994aaa39d4fe9622fedad4b01478594b250d18178af2b3512f858edfe446f9f995502f0347ace3456996e8cea5612b90928ebdab2ba3925ff4d2595b40162755beac547b1b64edaf955ee9ba8edb274b3c496b5061dd6eddb2c4433795312b83d29171c536e4e5c560c2a0837efacab51312a689db0fd9ecf4ea4ad29ed62c00ee6bb769129492a6cd45de5d5228465b44ce30c04f74e2a600b1fd445e3c087a1081d58194e9ab15887a5cc6bd18d81879d0073a04d260c09ee44e64653268a207b1321461659494755718245cdca8e621fd317851f05484b6b78fedb8bd2bc14bcea24f6a0cef6e5676faf44b736d49a2a2f01a9814595ceb60f8b6106d5e3c7a670318fd771d6a9c480d2738966b018544786832384b15d7dddd22d3960c52c8bb053427cf716b6ad6478c524b325ed4053b649d00627dfcb23d3be0300e3240920524caa7e2e610844be6ae554a1f8c73bd0cbcb24a428be234fd85ff32acc22523c9b55f77ed68fafe5ce847cf6ca8bfce0bca112459de586ec7240a89fa5ffb4ea524030de0c03ceed46c31ed7ca9f06b2fd5bfe3fe97559d8ce1df2787d0fee874ece2fcdc2eef96e917e1173e6a55518e8b605ab11838e78199b43634b2978f3ab277603b0c8c87e62162643983a2ce479bee49a437676ec75ea0f45a0e5cfde062d2c9595e5874b2af9e866c34cc5034091d02048cf6954c6d0b9d069c9f4883fa5a43295d8a12e8447052b66933fea1cad0689fd016f40bb15f9e7342fbbaee4a788eaf62aa868776ab88e1389bffa053a46789d1bb05895c6814c5258eb41f14bda8cc4235e4687ec5cb5262f439ee509bae85bba12e156f489df027e8278fde5e882a5c1920e444ab348e717c8577386953ba7bd881671727ab9725023ce7720277082d10b25bd23e3d5894055407816163b6bdc2d5b2f53fc0bed0b448dbae0d6e850e952d1cb5886baf5bbc6d09b8ed2fa8e0477883164d75c7498a9e7d8df47317382b1324a96df1a0b91f4728ed66b145fc47d97972ddf0b23ae13cc03a2628e1f4910bf742b7d7045e19a7b0d34e29dd8e776368d9298c62a3ad6c6d34c5984a3e55e2350502d55fb21108676d1437ab4f30c68a5e1ea466123eefdda04eeb16901aba1e105d73e530b37c5e31230df597b6a7fb05f85101e9831a2c81d52ed44d4c5dba07dd25b22fa29da5277660e2a0af065d0263a41f810e0f3527c41504b45a9b01daf9ebf95caa332a37e2b6b7d752234b5e827f5a5f8dfad8c6bc050540fa4064db779c622f596d7db02806d601eb4a0b9d5324e386cb055f42f4189b2655bc6fe48be85da6d903568302205813f31e207ad54fa88e67150af16c621e3a746c21d0bb5cbe98762662684c440abc68ff635ace201f445d2cb5206390465235b9bdecbfeb68e3e3f61937801e9cb8a34b9707ea6501ec590d6d566d44248fc30045960e784348dbd0f422a69a7b2502b1d4af02a030dcb9bc9720d59d07709de801c1890422b048a6dc6686c324a44e4b8b755dbf700adc81252c0cb5b168a11d8c500228a29b8b47c1d7aead92f83b995869a4ffee258f7be9fbb01888d5f5143cab3519adb405f9b9c8290042bb84ef1207720a8e19f967019b9f61478b503ab91e0b7b57f29d3bb712ee01b9e4492a1d9e4c566285ff81090ff30179c7acf187582633c574cf784760d53827267de45994d7c05d260d3524211d021e4e689461a334c3d7a6d4f76dd07ee4f3730512b6975d6294f26cdb9bc735093d4427ec125a6a9f9fd600661dfaecd28c95cb346c4de5b77b8892dd045d8984c7e90544f4d5403417f87fc48f5b3074f880a73f25c01d2337e991ade5e268e6da5e8c85a20c048924e35168b1502fccee4f6ce1258a2165bc011449b1b89fd2c00e35e0e0e653013a6f65373b47de5a88ce556d0329c00452a6292b93a62c2edc8301751c52acd775ac45f9e8455d88d8b7153c02c467c4f182e48e8d69dda7f4bae93895c2daea9419cf5c41e65f43f8a8910bfb4bb09f43ffa00a401c4c3042edb047f1057105867c5397a86ba1ba867509ea6cc8c92e45c82650dbec53938cfd074fa3c274e32b3c4689e8fc6265a699219b6ea976d9567ad34f19cf1adff75c0815c5751144d837caafff3d964e66464c103b1b7f6d3d22649640af7102c11e00fa5f7a9d40eca54ea4a994a59f19ad4e7f05050902da43ef5a93ffd67fb76ad9db35a4cdecc7ddb0776e135dedf2dc6ddb8fb765feabfb78d42527f92f93e25d352626d5abb93af84b496589b9312a6f2db95b671f7794094a9ff645829566b89b5f9fe3b85aa940c2ca4ed76a1a40bb1c5247e495232b66f57a65e2583ba0099fa138fef512ffed75a626d5a4a4a117cf196a07faa940db948398d7ba5f4ae1528488f65dba722487f4b43858282b4a1d74a397a332822c80b4512268660050a29689ac00c9c08b24c3840119c50da624afbc558fb7604a4873acdf8eb3815517c210882a00bdf276304522eb0c40c9a2eb083a01b822619183d043c0ba688828a16cad17b8285152bac13525b6011054b65022cf736f02771c4220a61388edf1207b872002476200595283020e80b41507edf478a51903021ccf77d1f4881f2fbbe18928ca1328122489896d2a9d84089d246fe9494cb8e0f41100cc110fc783e12c6054b69231fbc0c4881111840162d4aa68f0906d6f2e0bba2e90a21ece055ee2c581b831da48eb0d67a1e160860f9008b29b08882c51354056cd74a14b03822258ae01456b04040ca8913ea0a1e8cf6f4811ff87da2285e2184914a15a4583a152c76a5ed6f289092d101f7be7044596b4f17c2cc8d4f0e1f438e5871c50e2e131852357e6eadf53c227c33373e397c0cb1e20a2b30a46afcbeeffc622068d6a6b8149f9b24d2a510004b697bf38cd58a30aa60627cb46c4fc50d9a784e6048d5288ae238c6c09047c0120343a25028542a150383841898d56ab56a698951420c104b28ed7fec85eae5e585c66bbc7f59f5b0bfb2ef2f5642974563e6064d4a9b5fa141e3403ee34054a834212673832756060e5232aad8008b0d7c50e23c1b58a9a28c61bddd22fc44300cc33014455114455114455114435014c5ffbe4f1451a2287ea2288ae1278aa2288a1f1882e2278aa2288620288aa2288ae01782e2278aa2288620288aa2288ae0275e1745310c455114455114455114c510fc42511445510c435114455114455114c5f00b53a2288a62188aa2288a22f87de0178aa2288a62088aa3288ae29362089235a8b2421535f8c11782163c8de1111f152a42b1064210411b35d042fc3e261ab0b842497845f10817195cf144e87d47245180036a60800c38a1c005a2fc152e10451a008100abd2a950b12202160bac0f3c1734f185238a0552064d6af0036bad7785f07d1f18d6c00935d04214c5f1a48412140a95525d01c5154fb4a856abd5aaa585a40110525858713a951f4a1cc5d3c7f401e10a233ca0022524e1041fc0520515de122916a842031e28c2922c7ae0012ca250c5162379b2c20894489e40305c22fc947cdf274514316c400b0892e3e7f0882063108210b480ea1b59df7899acb062034b5871a545fcbeefcb40f96160092b9290f298d4268800031ea0a0044d8cc0061631988048000648714116553ca14107823a60050896888112a7182860490c1a30c65c71831ac55315bb17e2c989970b135305b00a0c8ce4f88d0a9879f069cc80170155784084f94850852a50604415548c2d50dc84df07831794dff77d6208b266900448eee0fbc817020182de9bb1334fe3c7effbbe6ffc8af83e1955183ff1fbbeef478f27fccfc6fa3e1aa2f87ddf0c797bfefbbeefbfffa71146a1b4fd0dca012f86a1c87a32fccf9bb12078a2f2022880a21dc3d109cf14a2ec1ae083203c60054161f8648c05ca7014c3300cc33004499897d2a9c0800a0c96286de48b0748859f72b12ede9d3104bef73dc0f742d68ca1efedf7f8decef071df3f492925f5fdf7f7dedcccccd0a0e1ad7a58a291c5fa3e921cc7efbbf7fb60c0cf051b13e3d2c3fbbe19388c2fbe51f8e08f46842cbfe1aa0758de4fb97ce2aa47284305a7550f2fbf3fcdf8fe7aac558fd5d0eda2bcab1ea39f4e2dde7b8f24e5f54623bc1e5c295c297c4c1e0e6f0c2f7883e983bcb7c13c8eebdd380ea60ffa78c21b77f4d368bdc6dad8bc245788cffb1e90fa7e24af904aa51a02691bbf7baf28ef7be5bd573090ea01fef72aeb09b9ab21fb61e84f25753f25630a122626e532c34799a4f495d05d0d8da377bfcfae7a8c9ee761e9bdf8e11b719a8183f8e193e438de550ff05b0d5996f51afbceb25ef3ad7a7c30614883860b2e805e8f4b247ef8e1ca484c89df23b15864d8c35b793ebcf45833aef797b5ea617bac86ac8ceda21c57dea74ee2c97b4f882fc9e78d054881ef4d4d58b07c76d5c31bbd558f4bde550f179bfd563dc0329ce1c34b67cdf007edfb83ab1e614b181279901223ee7b6fc46a060e9775698c4eac91e597e6fe17c5fdaf8797e007f11264cd101f8925630b72c650f8e04764833ccfbb97e80679dff7117d411e0882201118e485611886446190278aa2288a44629027a30464932b57bc274d4d51a2d89d4f19572c1925204f2ba231c8fb146a6c89c2638d5e03b2dc6bc2076d17a5af84e0e0415e17ac6be5d2f85f21bc6fb524c4f28224789e772f7895f8bc27c400c30b2ecc688185981564c4b0a20852d7056f46ca11537c5e03e3c50be9d2b252a550a7510cc1ef7afe75a164a5a47ab8f51aeb32e30a98b049a453598192f2e4a30a9ce011f18d2f005333084f3b104f42f8be0f046190045114c7f1055040a9ac0c0c9a50c678088a201429fb62675f9cf01450e2bcbf081831709f2041151e28633e1005e295947db7a18f556851964ea50a2c6515564adb68058c57c5169ee7dd4be5055b50b1c2882d96187f1c573d6cb9f2c1767165a8d841037c55e5964ec50a2b541688692159a004583a952328a0e5ca67adb5648c2dbcd2a954814589239d8a15539462e954ac0081f73152a553b12209654c4b4b4b8b8b0b15163c712a9d4a0c942863bc192bba8c00650478c54a952951762313c924a64993273759669a1e4bcc15d2ca5825e87bcfddfddb957e45274fa044911206e16e0f941d1393264f3e992fc85e91b26362d2c4c993265e9057e556a9e255a952c51bc7169015c527c5fa5c91721ab6b04ae9cdf4bc67c5815239429e7027d40973c25788f3361b0752fd12e933250d6fb138d0eaad8d0c5f8e640d286e539e669ef5b61800d0780bc5815a5c58f89912f5b618186c5ebe7c817919cb9797cfe140e45bfba303c178fb282348fbd67bee7862a17499d269628c3758b691b4c1b29131402c5bcc0fcb87d5337e230fcb36923b2c1b1993c37ab1705c4acf17e5d290362c1be962d578969667a18165b3f99a6a40a181320365062832400900969106cb36920060d948164bc662798b25068b6524635c60d962dea6b4794e429b991558b699ff9826e46d624506e62f93172f98bc60f2e232797199bcb84cc4a0173277ca14f04e01ef14f06d365e93fa1732e0b70bc35db80b77e12e0cdf6653c2845f14518c224611a38851c4286294d2fbd5bf9011bfa6711cbfa6f16b1abfa61246a6e55fc88ce093d3097c72029f9cc02727f0c9097c727a9b4de9f22f644ee0151b1b14ca615061937124c926b6b0894df9f2369bd2163639b5dc97399530323058e38b949a9a9513cf4ae92928ad146c9603a57d1b81d2c34169bf2a3e3645184b30042f087ef782e34a0814ef05bd0bdaf29ec63b7eb6b4b775b312024f2cd05d1cc532c967450b7c4cb68f292cad3c51da77209c94d608d2068413209a94f62f96d27e4ce57deb7d4ca5c7b25adc2c32d68bf1eeede132a0aa47185ecf86638b7b8d5b19a49c86ed4a410129de7bef95110bd914f3bb19a6272314324a8c949f3253c54ad368b390bb18a66732d3e4caa589324a21a7c454792b3357ec152c3750669ebc939826249391e9becda754b172054bd38ccfdfc4cc904c7e410f04bd2a5ed065e2a9bc2648ef9bf87d729f5c28174a942852a44cb172e50a162c4d4deeeeee9e15db54da2ca5bbbbbbbbbbbfbbbbbbbbbb836390cf95110be9f95ca6ab02656c3e6210ce73f2648462a578d3146faaf2795318649fdc9ea6d1662177314cffe43e689f8041f68a85126594424e89a9f256aec8d8ec9532c86b727b762313c924a6c93b99b14f441528f3c9dc20afca1d2f8dfda61b2c3357de4a4c15921c63c88f99f99b99d438b688ac286c97a90c9202e22c914336a9e009dc56e2a5ae07a56466048d1f206d9e45f9c46ba0b42c81a45911d920dca5b90019c5ed2163c831e6b2663c6f4c01e923478b0c489be39a9a9aac946f0a2b219471548192d27bd511245a5c2a72c89c4e213805f5a3f7888f9272a59c58970af2de58d69dc2ba52ae9429978a29de8c27c56bc603906114aff1c211e408a1b8957ba57c4f8618d91b52c1bb417ebd997bdd6baef839bca6f2d66e8ff8f73d2c5e53537959625338e5d25cb93359b2c07265ca374eb97282e23d08a6a05c048458c02c60162ca5f7e016a192d17bc2bfac1b5c4aa4bbf3acbd3b2f8bb7c5db2cebeebc2c9f0d48bbc5dd65f11a309409a17c94322815ca80324e66dc17c327a5f720f8e11b5d1693108890a9f43e495092205f0d01b35c1a2f683c00e9dfc34b70095ef3fd05893c10cba569b22cdbc7e47a59ee952b230a299ec8a416732596822b4aefcd51e58216338684efefe5271a80b44fac13fbd73a7962ffde7fe2f15cd68db92cfb040a6fc6bb7ebf2796c99bf1ecce9b7162dfdf3261ddcf6f2cc6d3a2b436f69131970525ac828b4329bdd3e75d84a4cdaf38788565b1b06c16de8cf7574e1fcad8b6bd62b1d82bf63b5db159f85bd68c136b2c57b0dc5f699df478acb5f63231b9bb300cb13465b9328e6338a58a1529e338aac22750a23811c33014656442a69189d7c4dbdd50145fe5f1882cdbfeca902502d2c79104df69464f09a4ed3e791cde5f199ba6b8928513a2b82c9b85bd12e3504a07c05d51a14a79050dff5d79051943c6b828da6894f7571feeee7eefe974efbdf7decb64b55aad3c140a8562d94e6f7f25739291f1aa9c9efc5245a63c2b5e15ef8af73ccfab72699e54a9327a9621b7c76372699a507e639aa6dc2629b74964d92c1471146dd9b4baefb5208a36afcadbf7b28849bc40054da5cd8362f398dc22489b57c5366180b4ef59f14f7d46920481e0e7f0dc96425f14200be6fb5a6cd6bb3b9be4de971d5c98584ccc389eec132f4d9c7cdfdf152b15e3e21e2b2fcbf6f2d6962b195b921716e9cdb062bc19efe561604018a9d3a7ec85f9efe5637c0ecf36b9210b84917a517d8c15647ccac951491134669e7c0a76a5f7349a3c9101f05533a02dc18721fc17def6952eb8f0de4a08f8e2f7a75fadbe0510e6bf3fc9c0fc4ac616bbc13e8c974ffd775a9d56a7d5e90506cb168bd95f7dcc8579f9d3cbbdf7de17d63f8c8cedfeb7fa11fecb7f2b7c2ab4ab20aa930ccc3b0c4bc614c8130b29fc1716520bbf02572dc030feca857f81f579332eb0465014c12bf30d5dbbfa54a8b2a01547f07ea0950159fe8d2f62d86265ca2d8cb532f7de7b6df97d4d60de838179901553c23c0c16ccc3b04e2fa917affa950cd28b7f793fbd9703f9f2dff72b1967d962800186175e70c18519335a688105166262565841868c1831606060c078f1e2e585245d5c5a5a562b952a9542a14ee5051f060cb1bc2dc0085f6ce1fef82f465064d5d89c07c6dfcbb2c1c0b0ad5eb592d960f99dbeef5f62fccbf72ff77edff7bd7cca53bd90b1bdbcbedf77579fe3962f609e855fbda81e86b5c1f2e56d2a5b92f2c5be88f12cc8d8923889952a50c60a32de5732647c36468c4fa55631f763f81723c6fd181629c6c3ccfcaa08a415b27afb62036ac6f85e8abf023d8717f3f74f2f1323433280b49f7a1bb9412bf37da7fb0203e3c5064b18a74f9d4e301e5cf5800103c6c9962f4facb536f5574626567e2def62af8c8bccbdf73f1918324c8a014c3db8ea914a91345027d6c32ce06f93cfbd19efc9779b7cf643d0fb2eabc9bd9695a445883b82335b7c3b206d97e9c248c981139fe27ea093cfc6d8814ca6009f4801a75c517ad7f398b8210882a1c70474128651a48454d8422be194d08ad2fbcff3984a8f89073a61727b40d0c9e38851a2c465f22e134c4f944c1e93d2cb12f887ed69dac55cbc89fed5605d74f0c58aee624119b6c58eafafc72f131f0ca2378ee077adf5153c977b6e71f86cb02eda00dd736bedf57c582b5acfda1bfee059cf8a9e0c226b432bba6757aeeb85e10ceaede7791f13fb59eba1ec133c7b72d07edecdd6da3c6bbd918837c3b35ef879f6089eb5a16771b02b587bbd7105e0155bac0c6badf57ebc18e3b54e6ce859eb5d98f53ed449c753591ca30569dc1aace8791fce45799ea571e1b103f870520cf0fc738f02f6bb331fe8d9eba0022c10ac7b4e92a45bb79ff56c12ece8d5b0d6033def5a9b636dec68559ee779a10e3b83e77d9ebdb9ae140ba30c76f5a205af090b7a2cd8cf5eebde10ef51f673ef0cfd63b600d76556603d470bbc6b43fb8976656f13cf1b81aef5b9d6f3bef754a7190b5a2bde7c3831dc580f158e9eb5d68ad60259cfd3c10dedc9fb6e926579396b6f8d3da53c3b8ad6cbe1c1e0c1e0bd70fdba75b1a1e7d9d547decf63c1f33c1bda8f664f346c0af42c685b7aacb5d6cef00410a64e9e958d2ad1b338d8d1daebd9cffab02f783f9e0b5eca133dd05eeb59cf02d917bc94277ef682d7da1e7bed8c3d5995b5d68685c1435dd18e9ff5ac05b23694e1c1d8cfb3e0677fbc94bd1e0cf65ecffbbccffe789e6dc143d9931d3fcf5a0b645ff050e2b5dff8596b7bdec6d4186f5c1a407bedc97e31f674024aed3003060b80cf7a5ee889d992316e523eacf5ac67adad71d1716ea40bdb6424f52ff2032c558a4400081b20827f7053f4832b4e249303c7210233c838602a3e2402533860888c2a44c80f6c4d3f646068428f1fb870f31381189b1fdc82819e1fac68f4c8a02ccf0f6c1578625d3c80e7b970578c0a30d4c49e78ad2b15505b7f538306272d25c4107b550cbfc20b770283078f8107f0ff8a70bfee7e8370b83b11b9c2786313162a4105a08add491cc710850ac1d47de1245ef0c650190d118435ce84a8d1e753b9d84f25e6a0da777549d04a114eecc2164f3c7dadd50b3e1bd8a18aa8ccafd53284a7330324f2d9f0860a7635fcd8f15284f7a1be1f3451d85d516241a09718720ce17d2ddc1a2c7634fc6017c31025315c828cb83d863862c7c2c9880ac6891d8f18b851a3a0b0bbb14f3d620820c5d35d81481f01941862fc5e6e4dce104490c0a9860d948c599a68f152608e17f1e7bb21ef00850818e00c8a074a8610c95743fc21620411e841c40c96b051b29afd40828a5d2a476b4011ab978b15c18e059e2150e24f881a5b6ecf508ffb028a8738c4d0aa68f431438807eae4435564de18c16e85afc5830a8160ac42544a88d5430576a8d1070cb22476e025411be210a2401b618dd28654ee34c3e82344892cac769c687c414e2bc0b820430b326a8c33418864180235bac49c554ecfd01051f5892d804097e7a4fa66f81ce249447d36e00d9f4f0e0bceb832a08c9bd338bb3f42366246948c53cf103a82a474c6998fc64723bcc0ae46cbb703a40184e144e373c105e7be40c4ce65632fedd67c171c00ab8704a8a9141ba822058a141780028924412c69245a9ec57a40a2c39122448a86fc10800f209f9c1919020080ff5ac0822e94a005116cc01100560b2c884e6260451415c041c806a01762a8522115539040034fa28062021170e200223333d8b81ae044175b3841a68312928002988a80254e1a0e1b28f1c90198f49c7060c5024f807e78568049a146d18519220801926c0a092280211e420f3000018e787165c704526ce002498c14e9e18981f96650a5094570d4c07312430e2c21410724b08004243100083ce0014b080982c3c60c2a4b056f0a5e96afe993e061f988e0fd00bc6273e0ddc0b3c1090bd515de0c3c2ade14570a0fe9b3591ae30ba00b2b16bc15bc1816e60506f8c27bb1e4d7e2a54094771a474f1441efb3d7dad0572e77c63dc1ee2bc0eefb11d6782b3e6108b2023b10548932e460882f0238df0a2a28301022b1fb7e9c64a05c88296277cae1d3e1c290daa16ae431fa84a86b23060556b11ba3ec60900c71eab90e6082ca073bb08b1da86ac1063bd5669d60778a69f1441ba00dc804538c140b4d10f129b173917191b9352f3663cc4b174480348c3ee28deb726f8c50ec2e101c9b101566607753610b5f2b8573eda7fa5a281e200d620e610b212ab4a9605430a798930c31875b0522c2162e1422c029bb00d8bedbc302f0c207a472095f3e7b6bae8e6fc84a46e88946c419621030468b0d5317fc54f75eef8a77bc27940bdf1589882f5c86a05ec450b457fc743e9bcf8e2cdc19439c620031b06bc9c0102fe13763dc41c4e7032258b0f72eb820020eaccca0ca0ba6e48e8a0ec04428c8861a7ad4540949b099817419c51d741012a40b195c41831896b869d2440e277c70032a2e408108a488c2c625c302727b09bd3e61094d3bc0e20a16802089103d20d1e18890203d78c400c30a32a62841122936204410b0175c50d3185a7cd0031f6ebb2eb888021490ecb0828c971bb8a0052940810842c081250c4000580f3918111264888a0c5a10031334f1a1831c5091810b5880821354008a248c2862094d37c002052798a2034a76d91c127a593509210b1fbc80052520c1072c7080026413d603921d8c0c09d900a279595191c10b1cd0800328c9660f0218e2216403a865f5b910b2a0220318b4a00424f800072c80000328e141004335d800ead1c1a179f1f2791742c8a2073078410b5850021270c002083880010aa00408301e90d860e3da820a3f6e7069e1810b4c9448e288911b09142009dd92064e5d5c2ebc2a8054f0a63062e0bb8067012f0afbf270ee8d75a56a2e0df765c4e0b96067882d5c166cccb782957182f1e2c5253f97550bb96a41c542ca05d4cb491c43d10b4310bcd6dd7dc6dd5b70f70038294a7177bdba322ac33b3d579c4d36d5d999e692844e8a4490e20fee2e8393a211cdebbc75b299ff6c9e3a3d5f9fbfcfb7a15bf18a6bb3c7e7bb07a18a1e1972e1ee2d4e864deeb13f4acf5c537a9aafe1c6cfd470e3d3f328cb1c2954124ae1ee29274328dc3df634f5f5f95b27e3c1e572ed30e4a18f7087ebd595ae796f8cb359b7a6c1c9d0825aa4e7d6d9fcda6ce3db6f357d9d55f36966f26ccda94848f004e01337d3bcf1eb1f229d0497cc34bb8ebbc7e024e8c3f5eab2613909c200adbb7f6d1fa5197d9afa7976a2fa5795b6e2ad3f1fa578cd1ac5b49c5bb78fb774bf39dcaf0d5608ee3ec3c96b02f71f9cc7f1eb9a9bd5f8f9f1f9e9f9e1f9d9f9d1f9c9f979fde0fcdcfcfcf8f8f8f4f8f0f8ecf8e8f8e4f8bc7c707c6e7c7e7a7c7a7a7a787a767a747a727a5e3d383d373d3f3c3e3c3d3c3c3c3b3c3a3c393c2f1e1c9e1b9e9f1d9f9d9e1d9e9d9d1d9d9d9c9dd70ecececdce8f8e8f4e8f0e8fce8e8e8e4e8ece4b0747e746e727c727a7278727672747272727e79583937393f3f3f279f5bc785e3b2f9d57ceebf5c279ddbc7e707c707a7078707670747072705e38383837383f373e373d373c373b373a373937af1b9c9b9b1bd98d5e5db75c6ab36fb4bcaa331e50ad19d44c101fc40fe0512dd400feffdffde270bf35b8df1beefef9ed39d27281b8bbcac95b5e1b7767c1c92be38162b10742b562b107dab48cfea36234bb7674aeff9b96d199d80399193d314de31a6a70bf36dcaf93de129abe35c30cbff19b196976a618e74d7107f228e06e84bf3e774ef6afcf5cdb0fa4cd34a7ca9ea6fecea93b076455d75548495d5735c8dd3d27bd98bbcb253ae9e580810420fc6fdc789c99176110c349cf7d9f284e7f6ce3d80b27ed15ee2896ade0a465c2dd619cb43baf61cd3a3ddd7de50efe5823bdba4cf56633cb49a4135590c1dd653869c934a37fe3b3ec4d34a7d6f4d3bc3e677e299be9f93949bde51586c34adadd4fee9ee9ee314e3a16bdbaf68de657b8bbf5dbe3abbaaef953fc664ed7dcceeba7eab9f14ef32da3b8dbf9fbc4ebfea3f4dc1bdf5695f6d8dd41772f7477179cf425bdba663909a684579bd9aa6d662a8a621bdd8a57d989ba5f20f7fbe37e7dfc73bf3d3628c1020420e8715a414a066844f0022086f0e00446342a3a4550a142333243f0a9024369744da189164150024071f261d14000a70a0c1690705d9cde41c3061b931113186b40262125e55276bbd22f99841252e3ed41bd93aad455a1646c902a0821bc0f593bef6d2af5634a54a9643ce8f4fdc953f27deaad4c10e35b6f5425196596d81074ff24a384c906dd5f6243d0f7bdea8d6eea51321e24a352fd09f54c36e8f42925a957bd9509e2f47644bd97222f0df82819d50cf16d2891ee47a1f3dea5945fa8427d28a3446555acdd55128410f74facddfdd39f584a983e48f577a503795f25138410f751acdd7defafd17dd54986c9069d7e9461b241a30d41a767b241a84f7932aab732a9bf2ba119387caf7a1dae92d148922095fd204e2f13040a3cc9886f83646421594851e8bc8f42f7fd07be7d70356435e4fbb7210852329a00041042787f5f08fbdf03a10123f1c3074209d3078146a7075f88f151ef40002144f828d68925c4c862fa202b44681f6415e172df5f88d0a629194d329810e4c92cd1c0924f09d39218121c41195520bf076fa4c6dbe379321e6465983ca64f09d3c7d2800f362cd1800f369448f785b0d6484ac61248ef532924f03f90e525b9560029f7645229474725440c51fef0d27bef03c1f77d9fb55606c9fef7e27bf774c3f7211049de83ac7d1f08f0824094a8d1875b8a323248200b697cefc3f041f0735c9bf7166904a2fcbe7bef77bfeffbeeb5de831548f9f5fedac63fbd27e383bbccbabf24f721a644f258258ae50310e5e92dcbf6bd6d64f9004429b29086c0f2fefd8fe58397de1429d409eebdd7050457e0af54a1cbab562b9a2d562d2a154d16971a4a5a542b1717f05d5abec5e5ae4e2f327e49999610fceb7d7f57aa6b85860b1a2e68b8a0e1c26bf14428ee95f2235d5c68b2d06ce1524309d2c545246b2871a9b1abb1a3e182860b179274799a2ce4d36c41d650c2e5c5c5c5fe0b977f5143c98bcbf6ca172c5b8ddd8b971f6f0fccbfb06c2f4897170f23e3f705cbb63fdbcc14f45a116d22e9f22e2e2cd55b1a2e68b8a0e182868b7bc5c5137f2042295b4471e7899e288661489385668bb086121e8a214d169a2dac0df19d65aba1e40b3fac5163278661b87a4f6615de0f5f9c9952a5f4bebf56d06b25f5a2c85a3d29e39766c55ab9b0d06ba5a565c51a59aa29a5f829992aa5c8b2a158fb2b4f230d17345cd0702142291d00dff8c44a7502c116f05bbc107562a94edf72fa9696d3b758950c52eabd3cb9785e6ba752c287ebe2b5a87e7be5e96daa10fcbb6a61d9acea57322ad692d692d692bb0b4140be7c9ff8b5987851bd15552d25c64fd5626a31b596b496b82401e2e5e55b4a54ffd26242f5e2535f6bf7bd4b4b09960ff7c5f7e2f22da653193e787a917cf14545cab8a8defef7ad25ad25ad25ad252e3664c2f84cdef72e63233dd578df86b7c5747db8a565d99294e247964980b0ad5d4b89f55a4c7cee9d6cb66ced5a4aac0defbf9612a5ed82a8f7676dafc55486ef3d0a850a65c4d0f34e1f8ab54fe3c8b2ed536b89b521b696b496b496589b3beec2255429ef7fbb4f090b8501d5a76454a92390b7677c7269ee8fe393af4911c627a9f10994f1031e4f384e314af1785253a6589162b594a05abbd692d66e7ce2be083af178c4b729707482c200eaef7f5064e07b02a5b5c4daa458289411be26197802a5084dbe273e271f14197802a5b5a4a5c4d8648ce2f1d8c6265f93ef8927e313e39331035f93f1496b098ad552726aed9ab4969cca7d2a476b59b67dfa9ab49654495549390ddbb82bef5f2c1ecf77b5286dea2d2be64492280bb4fcaa6925d332ca4802799b6e8f388e644c930c2d48a4d383a54db46245dc81188a5a884d1ecf2a4b962dc69565d16439b168b8a0c9e2cd802cd10a6f668a58459c2256f178c4b72b50bc8fb2c0e9574c345c589b558ddde9240309a4f82e4ed182b4e3dfbf4eb859ee16f732d170616d6c0d25e56d12b1783c974a0facf876a215a21571074da2151a2e4e2c9a2dac0df8b168b2d070f17da58a75fa714a095e2bb66b594d345c8ce25535c008598c408425a4524ede2cbc19bf574a7fef513109464af75b04088e2315d591d19ca9de5e875e6f399daab3b45c73b3999a963bf269eadc4d8966e68df33afb2cfbada6299e95b94fcfdfd928cd3fa82bedf38a79ecac353673aa84715a97e2dbabaad19a75187d1497ea4ed5333d1f9743525534cda527edb79aea4895d414292542a3a4a2b29fe1771db9f2cceb9c699f6faa7e1dc6bdba1fa74379cded1c2d3d1fcbbeb6d753f618d76eead6b999eb53fc299ad379c56f6614cd328cba74d6e1dbebb7717b7dbe91d679354dfc47e9991e9d1ac5391f724d631fea9b388888fb357292470daf796767676767674747474747474747474727272727272727272727e7f57abd5eafd7ebf5c2c1c1c1c1c1c1c1c1c1b979ddbc6e5e37af9bd7cdebe675f3ba79ddbc7e7e7e7e7e7e7e7e7e7e7c7c7c7c7c7c7c7c7c7c7a7a7a7a7a7a7a7a7a7a787878787878787878787676767676767676767674747474747474747474727272727272727272725eafd7ebf57abd5e2f1c1c1c1c1c1c1c9c9b9b9b9b9b9b9b9b9b1b9c9f9f9f9f9f9f9f9f9f1f1f1f1f1f1f1f1f1f1f9f9e9e9e9e9e9e9e9e9e1e1e1e1e1e1e1e1e1e1e9e9d9d9d9d9d9d9d9d9d1d1d1d1d1d1d1d1d1d1d9d9c9c9c9c9c9c9c9c9c9cd7ebf57abd5eafd70b0707070707070707e706e7c7a787674727e7850304c57b556fb721776fb91f3959430bee8ed76c630ee5f43c4a85d4f54c4a85509c8b74ac4366e79ad37c74cb7bc8fdee28122272bf38b85f1f33af38e78386dd723a23e1ad6128be9de9793b4acf77e5d7adea2ddfa890369870bdba348abb9d7e850e35730ec549f60910153a194c6b8c9b61da9a777ad6bcc0cc3ebc8d9de2f4bc9deb4c9fe6df7269d6b8bf69aca4551f7aeb7349086fbc63a779cdb521428ed2d3546779472642f1c63cdcaf90639c99e2f508a6db34184ecf4e54961b8263354d7c6e3407e4c62c173187d69c87d068aa8ec9c30e0f0f39396fc327b703d6e62c9b4319a733d2e51bd48dd3ad3320a0bce674d4662a4e28cb70100fa222665a6e15c5e1b0de2a5a64662515d530332ba9288a69747872dfd2e1c9cdcc781015494f8c0ed1ad98a6aa2b0e465b9354186d4d5aca663a84cb69130828cbb00ca6733acd3a5567309cde3a1fe9567c3bd7215ae7f46b3315977fb65554efa5bc5355c7ce094987781015c9321c24145406ed1c6ee784f0202a4253d575080fa222309ce6c121b2e621fa283d6b1bb6665ccf76f7008c301c90c3dd7d5e3844ccbc74f2181de0ee36277976ee4040309ce63182aae260665e3a69ee372779dcfd94f9bc70607acd3834d78e482277743b3d7347a76c76ee7cabed73c5363a49880ef71b045d57a1998aa2a5d627902100ac3a1d2a30cddd737052e7486d639c8d6ebf5c38ae578d4a4bcf9a8ce29906e2e76f9d237abdd37c3bcafa6b1be31e454b20a0359bab0a0434cb49fb94ddc8f40f779771b009a884bb0b71326767841cd32bb00382fbcbe0ee3b38f9a239ec25055fba49d55327fb2c3b511c1cd74d8dce38ddae49cfa37315e2ee2e38f90200f98281c4b1c27940b2031214e7f60cdfd49556c3491c1567e8c609399cbcf9807beccdfcb9b6332ac33115a675ee75288a7329befd9a37463fcb3ec533178a73e699749ae9f9e9ce47664e7683c4cd0f77e70149eb5b3b207165d9a3e8a9f4668a7fbda945eefe82933730903659380f48decceb99f321afdf3a4a4f33d76638afafb19299e2dabf3869b3021b267840f22df3fc1d90b8f24d9ded9c6a43c469ea277d6ec888249b17dc0544c791f3f5ec4c5a7351aab4e62421664e3af32c136920b8b62464848829a453224be609c3e5d4f5c84c4fa4bcaa3accf4bc01b697728ae3c62c17d959d3682a2cafea4cb7ee5468c5e189b566d7dcb8bb2b6f35e98fd2b326afb85cdbafb1520dd8821233d559ec5dd95467cfa3c890c7b2739d69594efffa6baeed331bb9fb0d275b35778dfbbc73b3bc945fdd8f578cfbb275a3a64a39fd92a4a149e74a28ee6ee25ca341bbc7cc1386578c8bbd0baf78c8e35c36d5992d13957bc5bb8896844369e6ad063171f681e6cc5c9b159938fb30f3c6268e4836551d2b5665349a905449dd71949e199de9669976fec02b1e62e230d77c0201691d665e338d960bda693e71e72caf386a1afb3071aec1663edc603bcda933d891bee16eab8ffcc3a961b0359b69d6f908c3cc7c5bb7ce391f32918e34e384e06eab8fbcd55b2642f14cfd61e324cd109ad44c165ff3d18ad1ff25f33457ac84cbcd38b9e57df2707226c712be698cfb54495d8f3e27e15acee59c0f8fbbe564dc1d481594cc80c5dd67fee8a4a5eaec75b27dded68cfb14d7f6aade6a70728626eeaecf3437a3c9190630c31177c751b3d3bcf5b9943f55d3c769d6afcf193c52062c33b7dced5cc237f528a7394ecac044fee1d4efc414dc1dc749198264789ff9d7ed73867178f6684ecdbcf1b9cf2335a779b69495f0ff1020443e3ed7cc346b77e771320057dc6f5e9fba8dbb651c80ec088008dc1d062703c080d7a1a9fafa84f97033bf86d7f9086b9d6f3073c54aa9926ac2ccac759ea92b4e5df30f4f537f55f599749a8fd76ca627bee535abfb37ee96f7c6ee3969cd3a139959e3fcc3cc662aa433715ed1722fe520b36c93e5f4c6e5d90cebbcaa33588ae3c62c17c1610ee1308776e832124cb7e62475a64fd3cc59c36eaa99e215479e9d667ac2b04a4b876e433aef5deaf68983263d3a8b8a7c6be6c62c17d1baa6710d9637364f33c5b39d8b8ed213c549ea8ac395b35c74949e48331cb4cfd989e29684ce1b4e1417d9399c3e77ec55959526ceb552edb1d3acf33ae45cb7ce44663e71b9d94c485e551d3a9febceebedc4a80e13e7b5b6f18a87e07018b6d37c4b8f4ead310e8761abba318aaa3320a057121090ce49e73e6fe78a03024a4f5c9be115e3605b353112aae266d9547598a8101ded2cf5ce472b36d2e9359fb473ab41b2998b723ec2bbe848afb988bbfbe0c75192ce1a673413c94cd158e95114cf763829b3d4c34999195c7bfce979cbfbfc8c1ea5a7fed2dd6b9cfc267777e99cece5e4435153f30be0ee449c7c1f77a16856d2f85b47e9b9f57ad29ea6febb74289aa3fdcc3ccdd7d97c9afaba34f32defa15bde43bab64f2319c5dd541d66deb8dcbae69d0ed5661b07e1dce0fcf8f4f0ece8e414b981ddc05e45769acf595a6a1d5642cb9caa4a39489ead2a8fd9aaf230f34d9de1d0e1c9a9b47408af4239e9dcb37255cf150753d7fc43aaa6b0ad318a717a299be9508a714530c8c0dd833809c3cedd5d5be7a3a39cfe5d3b3a6f9f71ba8d7fcdb25b2efd5cdbad5cdbb7dcd18a6bfbf32be520454a39c856d1a27c3b8d72ce078c1362a6e70dee0ec3491870dc1d88932f64f10213170f48b68aea96999e483b2071e95cd318d59f379e9d282e679a799f5ac56573a73929bf3e6b46efda2aaa9f6676d2ce59c6e91a333d9166cc147f0c96752ce370b8f631333d91629fe6a4f388a6be99f7aae2f2faeaa7f8f5f979cd35a33c4b338d264487e635b7f12daf43cc8ca2e70d358d779199cd540d4255758899aab294483a94671857543bcaa9a9d056831ca5a74e5db7ce3bcc8c3453d1a034e384c070380c04f483b3b3f35a3510504e4f345561b713b6338a62dc9af73e958cf211be0dadf9283d79e08e86a027be096df524926523283eca3f7418c5e9738789e693876e9f3bcde6903ec2288f7d06f1ecbc725e6b46b856c4b3f342c2b359be8167e7856b45af1c254c8493a384896e729430d1cf4b0913f9bc943051cf4b0913f1bc9430d1ce4b0913e9bc943051ce4b0913bd5e4a98e8e6a584897e709430910f8e1226eac151c2443c384a986807470913e9e02861a21c1c254cf4c251c24438384a98e8470913f92861a21e254cc4a38489769430918e1226ca51c2442f254c84a384896e943051cf8c287a759969de4b1936cb386d33cb49363f18874707f7f0f0f0983faf9e9d9d1e9f1d9c33cbc991c964b2570ec63bb4d7eb26d37a6c665be7561b779fc1c9194cee5a67e8e032b3ce61dc4ef3bae6746c7dfed0edac61ee0e002767b8b8cbcc278ac3e14f7396bdc6b5df59bf0ebf520e62e65b4e67229dcf7dae6a6de74aa51c64a73955c79ad3f4347294aaab116ca639954849fda1aa467955674566de3ab7ee9488bb1be1c4351da910a41996a128e6e1ee54322ac3e88993ca94c8566b1a87d3a2543db53e6fb25c11aaaa9e161a69966b791d72836e9fe8293b35ce3cdcef0ea499fac30c82a25847aa9e3b87aa45795577916ac443af79ab45f2aa025183ac3909558b8080d69c9e406e6037309c22337d02c999c79acf249c7d6c35c8110eca375c940e6d358899e6541e5b0d924d35082eeb9a9b6a1e808cc1b9ff9e21d55935f559db5f9b9d35a56f199959e798aebb7feebe821456b8e2afeed74718a5bd998f525c9be1d4cfb9f4dca93a7b75bf99cf757f4ecdc181f01aac0777377272051ff797ebc6859324142484c8a82866dd3eb17a756599ba6e8de3ba71bd6ad2135df3cd26e7e533cb3f32f3e7e7c5339b659c9a9b3a73c972b57d1ee9d6adcfa3bc0a5d01b8df21f7ebc3c9157c37dadd6e881d6ae7bedbb9b7f3bb7302ec3c8924dc517e7277267724767edaed86d825b173dfed90f01d11eeee47e9b9ee222020184eef19c6dd541d4040b36caa3395960e6513af4738225be31fe73ed3a11f4e14a7270f211d8ac39538b4c6e80cb666dc12be21cd545486e2ad6ed812bee1b891aae7c60959c2b7d9a9d373dd4b19963596ad7988c6f1cac9dd58f390257c0302ba000c923dcbebaace7eaba956faf569e79b79cf326e29bf3e3fd78cde460cb6aa30133d73b298996bfa4c4fdaafd944cf5c905e5d7a9fb713bde5ad75eeb787cdfb5c954c9cd75d3b3ab311d98e7c3b779a23ca9906d33a8cd3adeac6668a81a078cd382128bead6a10ad31aaa336db18a7cf1d5a8787f0307190fbe591f3ca63a6cf1b10904e3392ba8180b4ce6dbc8bf22cc5280ed2390735080963c7dd5d2ed70c3ba3ad8df37af45b0df22efd28c6686e86e2d9d7f6a9f447e9a9a4a2b4359b69eef38a3f1b01427352466158a778dd407a75d534aed9d8f8f0f0d068d9c706e7856f7a72663a664e8e8ecf4deea9c91baf5bcb72da46ef9c8a34cbb599cd3e8f6cd4a315cf6c503c53519b55e76c6a1ad78080f6aae270390dcb37bcd25e2871dfab5ad3afaabba671ed81b25e73525edf3c519c940eb95f212a3a55cf3dcba890567141dcef8e359b6792ba0ec11beff09b9480194c88a2e35f11f10142984d5cbc410f289c20c9c76d112aaa092968e022149c0c0dc035c3c10524d123054d056ebf02e9d98405dcbbd9904200ba19071770579023c38e833a5c60071280bc3b8d5823091a70b8235901032249f081db152461d28150898b2c60a00511d842887fa71430014b41928b4ba6304132852e3cc421856b98d285bb88bd3dc511f78ee0c365a4063fee55b8c08e871c46702fcacbc7b7c50b2e1aa1800aec7e3cc04525f4f084095431772c28b0c512310ef070c60c02687102c5bd1c3707b0e0d685875a0917e4d029f9a5b243cadd11f91d3224a9060f7ef0b0014cc8d08125e4e0e0f3c8000821e8c2c59f16cc9cdc288183449040cc4aa171fb64c6468cd4047e81c000460e4b1370bf3ad2a313c5f98753ef9caa0be97974aeeac73e30040f7c20031f90c007d40fe870f71b9cf440160f60c0dd6d6e3c005cab4e56e3a2c19911f235386e3c005cb022983e8d5c3a9d6ba1289ec5b6aa12c5f0eb9de6dace951ac354330733739a83a9664eab664ebb7419e95533a763aa992bb2200f2d6872772f3be0c4dd3b80dbdbdd7f38d901175c292e81808c60ba8c8403071090d18d1b4b6ad0aa6edc8ebd9483901ce8c101cfdd859c8462821fa0a4506890c208ee1ee4a4144f5cfafcda2ca7696244726ce6f7a94353d54c318a9e4ab5adcad6add3131f61f575198976ae396955cf245ccb327dde6c745268295ed8c00b36b0ba76d67d9a712d4d318acbab5adbf9a6338a73a56a0c167b75a7eaafea0c1d024b318ad3f95cc240743e69ea1206f2f97606b9687079fdd8ec6b1e2736f3b159ecd7bcf30daf18a7cdacb14c29afb9a39376269deb9e9d5b9fe8a98582caa023bce624bcc3449a9dab4cd51ad7ded4a15b63b4956fe776174dd6386f9d9e1f8bbdba9f96537533dfcab2a27799683e75d9d4a72b553fc5199dbd3eb13e5fef73c5a792eae35d1a97fb9c9e280e7722e9f4a465b3e85d347a95a9afeec7a9eb4e5155c5e16caeeaa727d20caffbb39177c582c41ea72648ec7568ce668af5d98ae51f523546f33c888afc9e21554d33a3329c9e18c5bdce99680ea7e23ecb666bc63dedfc58bea945311ada8c6ec5ab8abb65a377e930927a94777ae2345614ab3922c488114d8dddc476d679cda9fa59e95b42de15f361d42388d00f98511021203d848a6041840c19e9204264541444880e1891d08e20446234b566ebad4ff44d9cb3d2ceb2a7d1d49a6ce2753ffe8c846f9f8dbc6bdd4441de95e6d7e7d2bb344d3d3233aaa4a64835e9a9ce6af0d76639fd3a6b15b7e6702bd66b4e32b3566b33ac9451dc0d2fe55f551eefc2d1a89f359a5fb7e6a43c73cb2b7efdad35276525b5f62d8daa3375ab2bee67670d87d7a3f4cca104f27be85db735ef9f9da84e964369e9791ea5272abbe1a35f559aec8d840479a322224074fb5c73b35cf40078578d9d66f4dc69ee6f5e9f3a7463d752fe5449882edf200404410238d35c6de36c7ea665d9ebf0f4f0fada0ceb3c3bddfd051e11ee4dc0a3c0eddcb347d17c53b3b780f363287a22c5b2d2db38f29070ed4cc3baa6f13ad3e1c93ded7c1b3955d37cd3e1c96d9db399f867e5bbf4517aa62b36827338020496b87b6cab68516c75010165599661d9030ee0eeae9af4b439ff283db30ccb60288a53155683e2d9f96d77c739f9440b9e70e2899d7b4d4d4dd6b88683c16af2133f4ff4f8bf079a8040d3f300801d84d4e015e37438d9801847f38a934c27ac70a7791c3ff3353a8ce2d7a71348b83b8c934e24b99b29467fcf902ae966290f95089753d71eea9a7550d7ac83ba661d94d45a911a445db30ef987536753d561e25c5bc24092541c6c09dfcc15fb4852872c6120381886dd72a67aae7988518a6b465ae71f3a8c661306d3433a8ce61db988bb1b6109dff20f67919985b42c1dc2dd561f4b18488a55d45452d7994be7b06bd144d9c48c2654363640403a554fbd8026b83f908983604ee3e4029c64a4c76f665d465a804a9373ba8c348337de61e2ec231fadd8547528e520ee77b66388fb955dec482bbead796323b8dbeac3fdc670b7d5c7ce09d16524ddbad3fc6a7abba933f70b73f798e0ee5b9f284c1f6159cd6db6b466d86db6a4d77cae2b963141022632c04402fc8166b0d603edd3cc6b46c246e9a9da603054557179e38d4dbcf30db6b3cea8bac2ec8b0d32014d52d89af709bba92b2d0140b8bb99aa326ca6aacccc3958ce59877128aaae3b55673b6b8df33a4b4f8dd70c536578cd299a4b4a4fd8ce5a8795500cc36b8629e5b4a6f1ba665a3633ce4c55595e6b1b974d986e55b73e6b1ae715697622e923188a9eb5192c3d6f301d8ac3e1359b38d60c0474949e38add113efbc43e3760e57d3d8c756d515e6a3b66613671f388a7ceb861b387c83e5bc6e99bb7bc0ddb7934c98b87b001c0610688021e1ac64c32475771a4e3211804be7f5334e9de94fcf594e829979968b98d94c736ad0907cb4e29a0e23b38c2bd2ed33cf8ad435eb90aa41906679c9489f3aa7b9873b91256424adb999cd6cd537af578e1226328796b2996a9d6f4040e5cea935b435293d6b686b120fa222358d7df0202ab2ae424842848adc80c340725e8d8270f0ecbc7c08010232876eb3230678a10057a465019414c0a503259250c227892cdcf53a548665ea8a7b7d7ebae624f5e881bc4b87ca4ead55dce7dad63975cd47293669764e55f79b38af3fa34371499c2009269ca60a2521733999840e0f485eb77640e29a6114578404146e9c44a205482cb5ce9de6a4d9b9f14ddd399c9ab96684848b00565c3a54e3daa798004d90041800016460aac20392df39f5cd55fd163ef7f9ad3527e55487dfc5d400a60130d17035d5670c9691f08ebdcec4e4113238c20347f470c498aab81cce3275b75a37a125552cf9806bac54ea2546ce0392d692194624c18826ce0392df31d4da01894b29a7ea56b7bae23771ad3462873b0f481e2b818212274a7eb82b46f32d732896846b9fe66839f3b3ec6dc45014eb883d36d35c113c208b80a2082322b6701e907cabb5d19c0ffad4e79bd94473ea9380882644e8e001c9b75014cfb09993f4a327e661a4331236ca5a67e65367e2ac8952223bcd45e52e06eeee3ad9e97442e5dfe173cde8743aa1769a9384764cd2f3b6e69d4d3d03b9f3717797ba6bf2eac3c924585c66de79c5a1b2d867a32452563d83934998b88b6694a4e6ee5a555a921cee3ec449219a5c34e68a5bcaa710377077234e0ab173779afa3aacf46afa3a87672d8d9584c8e1ee427cee694ea57d96cdf22ccd6ba6053125089cbb6c8671fa69ea23cd30fa58e3706dcd43def5e9f93447e9b973eaaa9aaf6e57769d33ff790d62c6fd8cc580b0e2398c7f9f40987e3a9d50aed7e7e97442d1e81a33c535da2627c9463d5d2e3d53cd191ef40e3a4ea713eac6921a84e3363b820307cdcc8ddbec088eadb38903070e14c53a808070685dd16bfc46376edc66478adc5852837e28c00f387e70e976e0aebc9e3a9b5a87ee1503d171e475295ef351aaa2afa644bad6d215ee2efc6946c21b4571cbcc3a57db4bb0251a72a905a529eed240741c897d8d2b67d9eb734d73b79b8ad1dcec318aaa7b49488926694ad2049286b8994367e979ae2a8da6a647675e73926a44e654903bca11ed2d7604504eee26f60e7293eeee52bf46bea9ba868d543dd5ad437535b69ad6d0670dcdd1b4ceb3594e7ff94042464282b8b2896fa97aa678df70ae6dad9e9f9e31d812bec5d4202e1d8ae273af18b7aaaf438ff42d966b4a69e96a99b985a6f87513daa661dc5d9fb1af71d1e0530644c7915cdb33349c8bd606ac44ac3aeeeeca4aea7e5525dae7abfb75783d736dff515e5fe75ea76efc48ba74771c9cf4e1880f38e0b820713dc0699c0e6a165502a42a0027d327a44870f7224ea64db8fb1127531b6e47b845e1eeaeac716db6e6709f33ed81e838d2aa596b5cafc33875a7678d2bcb80bcabb6d5ad9bed5bde27508deb95630ec53ec5bfe6341fd1d42f1f28a65bf1393b6939cdb2d8d7b87418cdeb0cce91d8afeab7de4c738c86c6e59a69ed34af78c8cceb48ecb36c76e274fb51f434f2aebd9481625b6733f63547e969a65809af264dc5e11990078ac5bec685a4cff537ceb2d7e11b7a629a9a6233e7f4f549533f06dbb15f555aed28a7e272df8addf23e6139d3627b96933ea6cd54d561dce7ccc3a5ee47f14c458d6066366fb3250d43f336d3ac49f408974e86fb9de29caaafd313ef54d581a25807aaaa32983eb35eb399aa389dd78d71d0f8e4bee5939bd1c1b24c876f3ba7e6dbb97526ce444382e8d69cc3e1365b829969d6483d40b2d27aa0adb3e9ee334e9e21707fa055a5b974297edaf9ad7c84b77e3dc33ef5696633cdfaf16fbce6d82b27d77a97ba3f239da8d2bb68eadfb2d2eb746bf5f61a7f4baf3935af78dfd49596a268f92e8dae38e995d414e9f38fdc9b7955675aad29bdceb5fdad584ed520b1a70dbd0b888e23bfd11ca6e51defa241517c3eed7c9cdf3a67d3b99937330e87d7bd9e184753730ec545deb59e18f734b1d89bb935f3349567e7f5af8c8451d9f9ba7cc3bb340eaffb77d65ae7f3283dd5a35475e9d69cf3e17febbc319a51194e89f030d38d9e3c522219959d7bcd493b741b77135ad5da2cc59948e3a01f260e528314b9bb8bbb67411e39e2ee35e821ff706a757f96fd70eabcbe3e7f55d7359f354d9a38b8fb6f9c4d5d463ac2b2bcd254d84ed595064b4fd8cee9342ce944310c9733128a62d89ae6aed83918aaaab89a9b9a2251447a22e1ad333a4b73b09d750fb1233aa326cee8abfbf53e69b49c7e336fda59d3d688bb63278fe8605db8fb4d4e0f2f9d515d8a5fe7db8a754e3d93f23a6467bd9af986d3356f1a869935b773e32cdb2bce35bdba64372e1f174ecd2c27a128be69d5cc69d5cc6998c666de59d7663935e97662ada2339d99d35c3ec2b733afb83477746a1c9889aa359dd7da86e51b4ce315c34c1367bde28cce56189a67299ee56c9e3013cd270db6b33e327336986ecb721a669a5896ca721ab6cf9c0f5b9f688d3eca322ccb218abbabe91bf10410dced90fb99c34cee26e3c1dd47773fc1d2133571de916fa79199967a75cd765c38ae9c9a9adb6ca9c6e6365bb2d1364040b7d9528d9126772f9d34228591271e8bbd4efa58ec6b5221efa2a95163e675aa9eb74771fa3aaf189d65f37f89284a70e204106a5b859979eb9ca461f968cdb79c746e9c74aed984698ca218a631ac36db582604339b6712158af86c24ee6e6f8f0ec51b9b7f3eee86b7ceb7d3e80687b7be9d7b679d8fd61cee76627496f34a5b330d9667ab4acb3fe4bcd2603335e9ccf990615bc3f256535d852658b188a8a8a7e846afae993e6f36eebee42411149d735a9f36b559deba7dae18676303a4717bd77ee3de8699d77c7474ae7bcda127a67d4e3a759a69d97c4c948007d2ab4b66639a58772ea92b4ee7d49b2e55539c779a6f669ea539354d314cb7a4ae287ad2743ec238180ee71a6c67ad613ba7d6f6a9b45775eba59396571c0c454f24586d9f4a30a415dff21a5b57a198fa319a191c5e95d21c1010510ccfdc3d061b6ab8fb113204b90b11e3ee4c2b7f41072787f8b8bb3be089971f777742afdc6bde42cc492145dcb30f6f23ffd6187d1baf0fc02c3df5df7c0d329f66d41d0834eece00189c9439196429a332d999e6bc5c373532b3269feb069fb87b91933dbce0ee7e77c81bef592ea24f5ca94f1c3e4a51dcedbce11436cb49309c565275b83b8cfbcc6174e007dfb1e6da162204070e9fdc8d5936d51496cf75c3701a77d6f49a65b70c8488ba661d74416a907cee30d19c6ae496bb9de90944494573908e9db52eddaf0e3910edf376fe58b30eff5083f020a4c350116c87d00e213a8208c18884101109c1847e10d9210408ec480964cd4040589b33a122219e9d97aa649491301af483480da2752906a21e4933926ae47e03a4c5a8242db475498d32a6d0cc08c800000000a3140030401c148c45c3f180284ab5951d14800877a65c7a5a1a0ae4288a514821638c310400000c80008860444d00ed14a09c8dac81b68d9c4f426917dfd68cfcd91f3e9babe3f83cff8d8267247214f315a783b4d8d401d6ad63de33d00321eb2b0b54882e05e50b18aaf104d1126800a759366eaee959566188b3a8c9605654e05eac057cb8ab41b88d957bb2063e6a6eff19a6474c5c54c1d3a299c8a35c29741347b57677b207cf0bc0771dd5c533a23f3ec300cc3b4eff651acf9ba00f77105b7cea3ab27c28e0cfaa108e0207f96b6d7223b3c1a44ed781e572969e5511f5b0ab85f6e989c5160efce098363b1d9023ea1866ce5ed5a9f7f9529356405d443b3db709e02b1eb231b735ed097dd42bc1b099ba6d0673ff9a24eb96f3cbe09e1a63ff01ac8f9f4a9b07a6450b2ed90f8c1336942927bdb35013e392386ac70e57076a56cb736c898af49d11bb92b03defcf8d5c5fe502e8c0680a6a89deee35534330e5732a342d12eb847dd0997fb027931f24662e145fe466b2240bb20f2bb4e3ab767160d1e2b2dc77e07975e3ecc24e29030690cd65b6a94c1dd5a222189bbb72799a9ea214728e083973b79dada5b97ce23c5c79159ce73e498b1b718930a3cd021eff827f1eb147fa2495cc4a61998cfd0cd7acdb6b4b0bf40af586a3f96c151a054570d0c457edfa282f71f2f364261a7bffb08fff35521068557c4a88baefd4f00557061eacdc8f6a5f93607ab3a343d33763c2c04a05040497a4d59b08809991f21159905b32aec49f3fdd661694e611dc7872a725928abd543a26a347e0bbb7728b566fb456f31f7441466f582e369ff7bd47824d62ef414609e685da9f846462f6ac3dc52da34fcf067ece6c189c67c710efc53228023d3ff8b6c8121a9628561faf3ce5dd9febd68b310acd5b69ed474933059a5b9b462375450f3037d38b86b3b604c3831c867ee10d8e940f09d4474e217a1d3757bce1297f39c13453f860abf360a448f4dd3ecb00ca161e88ca9469364ce8c82b7e1853a4fb83d2ead976e6bc441f89faa1123ece4e6780279bd2b64878549ff30e00b7de3aab30ae639ff9829d2f16bc3bb9b12ed78423a1acbeb0341508abaa07b183806f4435317382f228c8d897c30fff241f92482ce90210341b48adb80c538d1fa2ae3a64dc0a8ec94653acdf19f008e404c9916e41494fb1e8edbdbc1a15bf618c0fbebf577ae298304544d93d72e0cc678aba1f0415012f788b815f8ad643719ca606ff820114cdd8c27d2cc14a627082a0c817f0e4ab42402292ca3853af579782151a181cd5ec08c977156232ad850aa7255df998c45a7519d39ee1a4009a09e79e04dfcfa371a4f005bb4294176d771253dcffba934170b7113dbe435e21b614fdcf81c66bbf6399b469d85f0ae9898ff3ea828d8113d1719fa3571a07d01e7151589521528f26289f31cf11371008c925ed5832b87c0dc3634a3b8457b5645b0cd56790ad3034a9927fe6b103da8e189ad84022c6c27725fe7fc683d5700b2f53f7ba71fe2882878fdeff18595a4002d0a8d7c63b00043189fa5508c3e2e466edd0f973c9575c84997c9d40a560aded9d3cd318184778689bc1f46d8c2971fe286ea31270bbc6b1f4d422067d4ad104d75ccdd0eaf30b7a42052a7093a0c5c667694fd6ffc5a2da975cb985cfd36aca26f61c0c0cffb3132c824072b9f00c4e5ff844672fc21844b11d84fb557c708121ba026e151c036f0e71c6dc2a6d34f3ce53de72a03eced9e5a0023e25c9509d37ac6411b6be74a4bbd28828050d394546ad38b2a6f4aa0b036976f738cd4d46971fb60fa01cb8ccd3e3c349474ef0bbc28a078eae3c1845015e6fe397026be51dbffa17317656db993ec5db1efbb5b2758b1519ca62e95c1dcaa4d248481ce175f36711bce8f6455aab29ad9ee6a04e3a9f059726ea03553f7dbe3cf00c917399bdf8f580b9d01f96556483f7dcc64744a603a1ee124b8366376c1e29c4983e75783421d87f4cd26a99952d26524e167e0bea4ec8f192d92b596a99dc13a8ccb4ed1500930d642b249accc88dc74ca5c05b26e3afbd4c182d86818322efd3aff611c8b740206899b5ba8da571271e6516851dfccaa38d943b42afce223cff963282f27724afe8f41573f401b69a6211908d6caa3c8438637e91a90f9b3e51c4c96473f319ff83b3002be6922ae0ef6a8ee8cd24f40bc70af75f19fa19656a036e2426f61c518e3450fa178e390c18cea570fb857d2d3d54fccc72d09f33645fe1dda24bbeaa564106d863aa60c6315360506a7c17d91a3364f826eda06fbac0610d705a9de73297366126106e82702b7813803d3e3f2aff01aad42ff06382b86715fe428fb70987833a7f5218f31acf4984869c078eafaf11cca7f3a1d76d2afce711c7321dedbb8ab91d93bb1d2bd3b3444f07f51a972624d1a5841d7beca59df0c927da2e72ed756ae484dadcccee03125b887ba223eabec1b8e8a5890a2b9ffc8ec550ab090cb601f29b0f41f42bfdc74805e9a17dcb31f63abc8c2f25c8ae86a0cb0b96333079f5338a613e401d52121ed79246bd926d19292e5d61c270990e26d989ff357a08aff4013976c87310a18824aefab899b93e63d893b6b79b451d79f2add1c8c81cc208462ec8f43627eefbf8583a72eb6e2138039a15bc8060d64f1ddc9cdad56a18fbded6b8c6cf016056bc1068669bf95bb14b871f5470d731e8ead145fb3e971fa265a3de3f0107e912b9250d7260d71e43e57147dfeb4fa829e904009edb443106e9ef40f5c845fdc01cf5aabb7bc7adde2edd367bd64a9a9ed68a1969c9d2424dd99bc7159330616be900a1b1e57ce301d21ac2c7d1a89d7f56af3159e678baceebf59609ab1ad4f044dae0251e225564ee5cdb21746afa59250e8def1bd8dd7f3d8e3a39f3601b982c433dc48038ad3c2183fc3be731fa3bd2de61486fa6a56fb5ce9dc09fb2a85e5719139f588e32247e16002b159b5571c5cd6989eae1fb76982186e57218808ddc298f4f34655759bce9fa7174f403ab32e5b41430ee874734522b88688b62228250c0eb93c1f30057e75e2f7400eb0f5afee5558b124f3e66ceffb2d7f220de743e83ecf88ad73e8aeed599d3611cbfc3fa765c1848bae2a2b562801f74cc06c09ea92c788814dc86f12619783cfee5059b2cc58627c030cda53e1acd47706c152ce16e823d2b6aafac44e9a0e6d81912737b2d31fb2a75bf1e030a40c0e4883e50ef1c1711fd7ab9c35bb67834b180c202030787e4f4384b1458fd1821ef369de208ad5cb8083c5b0e176fa235229653db67dba622a852aeecb8cb4278ad895bb1f659ae149e635de855b40211667b497bc4c03ca7faccb00ec732c2b1bea7cbf047517e59771b7456042f0d6f1c7f1955f29c1b7f890cc3b6e42d422bc735989f3d8ead7f393a87269350bfd513029813a92e4ff9dd65e4e80c736d419aecfbe566c387df3a09a0802764c90a9a19ef5e655971e873e3e549776ef42e555412de857601c4a040b8c596e31bba7ef7538c2a9848a65a32fae5bd4dc02b92e432734f4984ebdf236b218e12b1dcd06bd3aa551bb17c13fb05b33d2fa6764780826ee7b580ff8b96bc2dd0e9eb4adbe85e166e36fa65f8690ece446420eb646d734e4d0f101814c1c3e186e7cebf10f5916f90ab3afbea056e739a1ab5f79237eee905f9aa2bc9823869575f871757120a8609995d88277b618278b448d7dc9c1a7d2a8bfc42349c3415bb5bc4c0c8e4f8507b68e98bcef60c41b4bff1e682c13ae6eda4fea6980feb4ec1340f0460bcedfb43fa0369506c74fba13197c438a13d3eb1000091ca794ef0a6411cb925ad2bc1c38dcc69113745a6e9b1adbc4716067366b87431af9a6faeace8571d50eb3a75e2ec6862f79f7bddc4809647c89b365667fe8ceebcf2fb4ddb1d2acd4a5c546b19cb991424cfee755c31a7e13ba029001dc69116787b1198de0d5cbc9cdba4f999a7c4622a0095c6302c34a5a4957c787b2e9b67321cd939331737a468bad164d44d104c909fec849ff2287ff42f081d8105db9411f4855702db289be90c6d7275eb91170b9e521ef2475f6a7033c7b03a590b1a79e786356a4d29234c51915f69ade509085b34304fd166e1d148780686d632cad1abc78a45b7f4fa9596b1708bb50a347e4d33c6082085219a93bc7156a0d6d76d59a8d2887d72fa7fef7924aca183ee011ef25b8e735d883eb2583cf2069b829964497357a9dbe1eb87a7e0f714584d3e06327afddf69dcba999fc590b3ae62ac775fd52e3ffe13bfbd5937e0ffd13f6b2c5d753d5cb00fdb86b38abfa95128e9943bcd7b5a016902dabd29aeb930276d4723a48db8d9763db0349f18c24df2685bc501e872c56f6d38fd0f3e20b09595d81278796fdcfe6d9f3fd76386867d92d1f9cb73a45712a0a01bc2d0c72b9a058b40b02b0a75868c2ec37e1c5922e06e80184d987b416a0ce2777b3b95a21b0ade35697a46f39f2ea51375db3f7cd42adae43bc86cb03755765157e8775e226843cfaf64c830a4cc77fa342c28e05cb6ab5972d45db9bd13e18d6900cbb9d6b1c45c758672889e27f71c3f41efd78c7a7ec44e7fa3d5d6063000d7f25392997e1cc1845cd18b1f720cf582efab219a46666a102370583af311707edc435ee9e8b19312a0c72ea6075f2a3f9f4b01060e197f108e3ddaebe0e4a980ed55ea54ad00fdf5a34f55d021ce36b0031fd4c35ae805a5090bc3cc188412f69873eedef86a2bfbb46d24f095f09b81a52520d719a8b4c8b0adbf78059c81413f4b2ad7225bfadce4201f3812ae30d57726445d37222c68ab49555b51c74bc97b3f4d87f3d04cca1737041dbc1801e30200843bdfcc0d91ed2cee5fb6786ee9720fde914927fa88fb7e9269d335274bb661526345b5f5ced70e7e557363049d7953e07faf61c6bc9270c4493e77f81b34b35b6aaa4d2b24da6641c937660f21085c45fe807f49e7c54e70a6814bf866ddcdc0cb7d4bdeac36c664e51cdd0268ff571282e7063a0aafb76306c9a6773ca04b4ebb9c3959158459feeaf90347a5695d9d2ce123c8bbb7ac964876da7542eb8c30d19aacc03d5e8ceb927ab78888993a7b4c36a03a55e4dc1d8618899be1de490336fd3e3488d9335d7a38df11e72221cd1707cffe12d8ea881df1e23a370ebc0d766524e04fc2bc066754e20b58d2633b2db4070616b5d5d4ed8ae998ed263116d34ecf13a81ce1533e380c7cb8d1d4fe5c7f57e7213d7b0571f249529950caea99d3329c5a50cc10a37c72d9da2c076f441220ce9cb6a7acf562f20437a9897bc8d1ff49d98f84b97d432d053ee7c9e2026aa01c9d2fc8f612d7752a1d22aea00d71d2f43fca0150bba0037be88384b84a6288d50dafc20798f8d9fdedcbc043a73c11fa36130458158bef272ec4c1aa9597099522f942eedd244484e1728b64e6adf8eb691653683632b54774daad33e3a161a0334309163c7462cc5045418129af98bdb9a598dd575222e5ecee4864c1aa48f82c98437fb6863116228276d6b8cffa910957201438e4873b97bd7d09ff67ccb4bd2f6b64bcf5be9e994ce06478949e006a02df2e4d0b490e2cf562dcf4a58b53a0f457c304847f7669c049f824c8d9315f692b560c0616c1f68c050e8fe118cbd310111f0612d7def63ecc82d27c848d5df09ae85ef73325e8bf86f25741743b30cdf9012297838e8b7c18c1178fc5b7f435a666006bfe551921ece8027d234362cbe6a940a2799628a4496b2c20ba9bfd85a6e317c7f8b04dabc9839b74901b1db08211414e78ea0ba93cbce1bf62105cccd4c250c035cdd9dcdaecaa1eb143b8072ff70959ac6f64d9216bb3718addefb92a414c198837b9d354bcff22edfe13bc1126ef9bbb80250bbce31c0b12a8056f5b86b81d01b05ea9c9085fee79deb9a68935e5730c77b415611a57bdcc6d651f63e3490acb5f42120472540598952437876eeeb4b2d1e481d32399ee7f126758fc9384aa91bab9c4bca1700cff10e5850e4e951f1ca808e411081a024ef735dc1accc723a7269a0b3351f522dee9760c30ef3d7fb0485e98ddddf127ae6a5704e2825e75244b82d8bd69ff113c678c102c9afbe6fee69581a1db35f5c176a3aede1a9122a945fcba8087339ffc88024e2ce8eba9cd290bbaeeebe6100b3edad32d38f04421e460ad4496a02974a7e94f564a1039323ab2c5e1fdbf39d8e61e5a425aa425ed6bf2d8fbc49ce8ea37fb030d90912610e48d35b1afb30773aebf8b98b37c01400c8d4aa907130cb3fed19bf3adc36ff78347dfe5cf0d117b69c66b17a02ba5d704fea4847552f4c849ddd1f793459c19ab48e8b97bd195b42a30bb49ce74d710d3d562751acb4d7fa9fa5249faa738ceb2cfb2f172d5f127c4f4c798c39dceca1f9588fe25e78a240e928d8ca608d57fb845e5fc314df24742464a7aea1ad21fd9ece1b9e5b58f7c9f4f05ecca144eccf80d246cf12363859d5033fe91c5fc60c669300d90d0dc0a421c0a41214e003543ac9fa5649b4baf96d00da54b02eac99b5356deeafb7e35c55cf9b4db95154349c94ce5ceffc6cbeef10f519697be0474e41106294e585eeb448bf9d750e6a2670e4f1ac6d485953792d84f64eb2af3de5f4e38ad71bfd6de630ea0e4d82ed53066e4199e91f028aa0c34e63ee77687916878e49ae372f26652307c7442d0b5f83a94b7277502a475ee0905079bcf6b0e75119f8f961427d6af0427d73ea8e0f6b57134b6049ee2940f738e23cb8ab9bd98c08a67ff1ed6d881a93809de5ee30f1b3a28503e7050e1cee465af73f13c80dc438db9387715db2f9ea8d2659a3fcbda3be91983821b7a6f8fdaf77461889645788e31037a7c3a098196c8dd7680fc582ca27ef9bace2827b4b1f9da71214418908510c7533d7188c00bfa0041b8dc965e578802a7d74a8e492d91e8ea613db61cb4a7daa61750da6ffadfdccc4f44e66e9f99f93907be69f03871f322f8c4ef9a35bc570d8a780658a2498d64456fa76b0bf22edba14e1d233470968c3f28cac84e463d2a4d2235a92db9485f03703cc4be04843dde72158bea33401798345e8f431b05e331afa5c2c3f3996f74e8d7d49176af092b53ce7534bcfecba6cff288862da78f14559f303da61b371dfb08bcb8728647ceb3938823285cf942bb25558b7a7756f8a519ea481a27cecb6129c59046c8eefa22ab21eb00a40d769400177a33aca8498583d79dc4918cc5fa3eb109c3ece538c2f47657bfb2995107323b3e5f7095192b3c800c6cf4d4104049bca7669790f7c7818f8a193c5fa8077aab096937765dc517396e9b1f471109863cd341b580923f36979af2fabb33c2b66098d1e61566d671248c368ce919bba9ed0f75c50ab67a2797ceb6a08ab2d7877d05ee6c442b451cae5c6cc763998177d4e5f8cf06a9676c3a30d51bfc364071e8ba8952ce01337477c2b037c2f855998dfa1c3db49a4142602af115f9ce8a020a1cdc98a5e48019c040c66972abe38fb5f7ebe8c3693b05bbc01db84ddfa8e86a065c74e382d022f9142b269ea019b22be07cb67d9f81d0ae38cc05380853f107af7b026ff3c7c9a4481d9faccc733d3f4e33fae6133daccd7a17830aa80954641f89170d776c74f5789f410003842d0f568aa27c0f8d8a79df4ab701491523707e34e70a19837dbfd83d3222a012bf5ed8da89edccd31f6dab98ba39e0be1ba8dd5d8b1f861b08cf02006770b44ac7ade4e6c09b247b7b31c89441b4cc6ad08c069d26e0e7115e7758c2088d684437b71aafe0cd6280b3426085684d6ded850894db4557a17a8752370e6ff637cdb26eb282f81a048641c8923f47963fc3f74ad4105203b000087cc7e59a175f3c8647a6afa690756a71947b0988d636b170f380c95d517630881af0331f298c9bc79b0e9a6a63a2a96e07a2613f8f8c583bfa3d96ff7877fe0b8c210543b0f61c21b17f3c647af7bd236bd59110e49673aebee14c14e2f522dc598b14aa928ec3f6a49520e1f61e6ec07994048c5a57f3a1be38b73f57bc9a419e446f3b376055531bb275a0a745f056325ebce7c9bf97e9cc4b07c3cfd709eed2d8176751da119c23c0824ae333e17fbb3b147f6ffe56ea26ff6b80a8e2d71dfca02b0bb5a64fd58ce521dd1547c77ae7c9e937ba960016de17876858fd80b198873d0339a5e39e504275f735ab13b729c965c1329d4340ef46c5f682b4530d8e9036a2a2dd0643427d64a9f53250cf0f201b31ad2940f9ebc3d79ecae419e9faf85f6bbcdb9d4e3fa5d0c7bcaf1878c039e2b54f103c94a5fb9079edd2d5f0640bf7a8570e936beb238e4f23b522ac4b9e466de18ffd3fc2c4281dd5b37560a2e8304a2d24a3e3cf1188953c6f14e71fdc621de52d825d2a678d066e5ca8e0e21e3b97f130133104a5865393becce78d0627e53a50fe18e73753c6bf553f390fd9666518f492d479908175bfd87aa87ca1ba7f6157af71e26c0f10adebfdaef0c69dc18a523d8ca0a0ec348ac47a662ec5cd2a83376c9441508a0623420931e3773d047f5e6cc0822c28ffd0409ab1441e352db200536e5588fe045282b3c24a622f464556c0a887bba3b1ca478293aed00eba4b7a3a181bcfc7839460e01b177aa98b22ff5e8f64a617d63c89d5ef4a9678e61f3df9353f83eeb9e57dd76cd343dc56b3b80669e2c2796c94716090211ac28ea0a59857f80b306c55c6109a0ffc690c290feb9babc118bb8d8f973e9cd230de848bcfe6722fef62397b127ad67e48170d193442b26e5c53e92e71baf1398a6c9e5114ee9872480d39406d1c10e5b3c895bc427d4192f9364fd78a691a660cabb51c395e3880033e44761a5a0d8c1a19883c044d0ddd20e0a5431912cdaec66cb00a319770edb982bcf37b99dd1004999d939f1fe22cb07a940f902a6d72d6f1a66c9bd48851f15bab7c4bed3cfede80dfe70cc890d599e63cad68c8bf2a4d011313a6ca0179128292ed2674098b9c20f811a5bdacd9db5309a1336f0d74517c3e70c82a4b73d2964bfe27bfb314cac3a407564020a0503258519eb780385b6d872e3f623df3b82d3797d63d597c737e87ba702a8cfb3c4dca94f586c4666bcfe7e1e5ce6703ea9232f6385928d6fee3f76fb65bb2a60bd5fff9fd9abb9da8ea45f57bfefdc6764faa5ab1f61fbf9fad672e1ebf747cf0d8fdf7b43ab35455a8fec7c7dbd78f5cbdd46aefdffff4f627572bebf4f3fb7fbddd99a78b5afdfdfedebe7ee4eaa5567bfffea7b73fb95a59a79fdfffebedce3c5dd4eaeff7f7f6f5e379d7c225a5960a72bb65db92b6f0d90ac1367d0d6c6bbbaac54e2da4c9bb7e9dbfe6e7f27d7e4edfabf7f8397f97aff3d7fc5cbecfcfe97bf51e3fe7eff275fe9a9fcbf7f9397dafdee3e7fc5dbece5ff373f93e3fa7efd57bfc9cbfcbd7f96bce9bf492e81bb981c0f7e074f46be862dcbb803d9012e6e6b2441fb33c45c489fd07db7d8645972517fa9efc46e2ccc9c440caa03b87b371e46454db45b87f2a3aaaa7c1931abccde6903758d1f05f8abcee10cd1a71ae8b8bcb3952b1340ee1fb174c3faa3b3c4d5cf5228dbb5344cad0caca2072798c6367109357a71cb3750e1aecb9aef162187d7d84af76ac8e929673522954b22e19a1f5e3a627d442f3efc553a3fc570a97e808e37865c78c0f0ac9dddcd2656307ff223973aea3d6325dbe510b518c5fd8508e60bedd6ebb0b5ee57c1050d4b24f89c0cb8fe9e1651138ecbd4249b2fcfe321f818e494cfbdfa3128a04a76fd82a6ea35e4e4e1b58241cf4c2969b755ba14e6df8e2e7715baa71db8b120fcb4c6f5aa4d8a106ae9727f3cbd8a82f7a7a077b9497c08e71ec0c07ff1f908b0aeea36ae008c96139a626e546feb5c3b7a70709ef54d418916fa54252ea10fa92ebcaf788de8f39a8ab0f69ad28761617f14951d31057e0dc237b993181432c30a8982a6c7e26b122206634c78c3af4b3e75e0dbdc58b62c93d39fadff1641eb2cfbbfaae9136ead8cb2c8f274c76a689297106c0a494f68fa475a0a2d139f4d6345b73b43d964fb0ebe206df2097f095353d5937cd2eae9174aed8bf8d73d7e5a4e1db909b39136b05a63a1150c2b936887b71a70c42ec6c88f3f7f4c5ac710b35b8cf65aa0f8b526689fd3807ed5b0153733266dce459f6325d54f301c5a7299b3b764cddbd8cdcd8ef8f481cb7dd39847129ec39b8b5ed4363464ebdef09551d1ba52a56e6598ad10b103d0d65b5e27329cb0ac797d08e2f768831a89ccebc796c1accbe5326c7538fc1f099bec4bac051a3e6d0a7252a53084cc7d2bf4f297badefab32e03c6fc28aaf8a475e38c4ab4ef748e5e6a4dc051128c10d9b67ae3e48dea4e06601adb7155939d1aad4dbe4aa6d6713f7f528daded2deae6c158a2a53cf68dda6f994b03cda238ea4af2245eb4c2d3bca23a06a1f031a6b308c40bbbb455163b22f818b5c18fa9b43245e0c799cfac8c2113194457b4f376baaba057fe1dd3329059a2ff16be76a3e4f98b558cf0a36ecd387aa06317069d59cd09b41c2f3a2984136d1d79dfee38fe330a9aa203a89572e3be893764f76938f2c660a27bafe81a35fc08b4d6e20dbacd06fd19edd1ce7b0f0509031214e40da1bf020083ea3d312f8f426d4b58f0106cc2700d4ec36ba79cdd83d723160ecfe94032d7973eca35c5286d7ba8aa1490adfe082c025eefb807fa45835d311e826e129299e46636517c80a3030c72e370ba189f68b720827b6b45e8fb4d45e4f16fa555baa4826b2e1bc945234bab370ddb7a50b27bef48a54742f0ff1dffdc88e500f70d1352850c57d8c4b627db0439398372d1c1bdab7a6e83509bac4e6d6cbef67800d166652aa4f315ee33fb85dd0ceecd140d45495cecba9ad3ef11fc2b3ade8b36fe526198aea6a2e96a764396373156aa907494e2a126386fdd8899aa2d8b7b822b6d068fe6671c4ccca343dfdafd6dee43fa8bd6d7952f7589487fc5181752969092ce26af134e9623e06fae126687acbec29da6def2899c984597f047a40af009160ec895bbbfb0884e506f4f287027d90fcf3254868fa53001130f49a768fedde1bacc3817e1641767bd6e73726be5f104c99678f4b7a25c3dcbc162cffb7d4a903d2f66285afa315a78cd8b2723ae2dd66d1918b33b70be5b1adc0cb109aaa0016a2019b06553f4e414a5422815a20d3f14f4b791f2beef71ae05202a6661f49af51e029f3106f53c354c3b7932bf01d909a8e73a139b9a4bcf4299a14240498b7d86812f1de0e4702ac0b6db7d58cbeb6e236da2f27fd6a15c2968d4c4e74b7bbe489a22101c9c26ab3d4c969790218017da44d3120283f636c1df883a66676f23b9c7d6efdca5f6dd5d59816bdbb646ad5376bcbb6d19d30ead12716238348a52c3df8e6415f79382599509930d00f6be25ababedaf8ca94edeff458e27eeb3c55fdc201f124073b4af4ce39223d03f4ea730e6dc2fdcca3c7548dbeb1f026c07a639736f49ba951fdb876af65bd52c76ea950cda4822aa11755f877f4400f21f9fd98830ed72e37eec395e6cc241cdc64055bfe1cead56967e56704f7074afe414c01eccbb78a9fecb9d72893aeb638b7187074855e883c0a314f7a8dae809634d144c9093ed01b44ebaff455c095513d346139eb1621cbef5b51f1c99bdf5a487a94b8fedb5e16bcf95fa62863a0e98a0fb86f7382e5ac0f6f9750594626fb106dff3694906eb30413837bdc9dd18cd45f9866291b54741d89ada199d8e0b011d2c7d0f3f0511ac87dfef0e8962e2180237f93b4f151fe7d17bef58f6bab6b95d152dca81ba5a77f7cc4e6af3058fd5f16009dde381e06a67ec04c5ed530f8066f8dc7c4b0af6fc5eec0b75d46881018408668709f9ffff1811b8f6aae4f1ba520d5c05da1f2b77f1d7eb17aaee7bc5c6db5b1da4afab66188c1923ef06ee567340b6fc5bbd4b2986ec0b57350fa89b594a1999019ae4bd650558e98a152550c6c7cbdf7b7025970c841fdc76b1259ace7f54aaea5661f1ab4e22fa1881ba6aebb31f346f364116ffeef0bf3912610c4cfac0f93b229fd4f7fdb2d2a681a86a83b6cb88ddc8ee6d13cab6cf4474350bfe2af5558ecfe63bed8bdb5380cc1292f63d40d94bb36ac7f37fc13120beeecf2bf4af4ee97fadd07dc7aa5172ef61d8cb0f661526c3fad539b1af3676ffb3446d6e4806c0fd29ed217d4484c7f18b8c09fa6c6d1afe19b3574c8acb911e3598339f5cb9de349d73394b920f9e45d9831d673333fbf43c733ca887953c1301cc057789ba2e7c97f77321182034992b9f90a89eb0b09a9489765b840929c60215b51e06482515cb943c73f0f34890281dae6280cc32ca591f859dc9fcec4b52bd0f56ab5a7a27e3f3812e0efcf5a34ce99be6314bc5fb0d0fe75febc9d73702c7941a2fa531f557b3478ba6c8af534e76b2837ec861797d9c67383a8509f7985f8a2539dc3c6f36b91343b3c79bbd1c3cde483fdb7695c1bfdd588e021f6befe93f1cdd55a76d47bff34c9d7df2b0d873ec2bdc48bae91b30b32981c63de472fb76fb2bffa76a624b84da34e0582cf7da47df9d77dff03e9ff30e762844a95a3775ab8a88417c221ecb227ddd826a37204c2116c458d52d4f10410a7edd701f8da7cabf49943b268c9cbda8aac8566796b2c213bc8ea549c8fc5298be7e38904b87762f8b0667b7dc0b918d1289180a46b5e01beeb1e3ef99ec36e09bf55c889b2ae0ed1e4a3e498fa64b2a527f433d0b4de7c3b7cd6cc97ee49e77409b0a6da190a193ff8c4a0f300b52f75889c2f408d181cefb418300317406ebe9e1a717b3ece3a35baf3379e035b41311a7abfdd56e8e14bff5d4cb9473b9220c79f6b5cdf37dc41b4fa424d0bdb99f84018ccefe8be8e82be9ddae58ac81fceb1e7480d5e6ed28ffbd8321051ec4faba20cd98b0253bcfcbc1737226bb3b6ea263bba6124121773b2abec8e877581ae455fe464ad3adeb4ac438051aaf9912bdf833b1318610d8bbfa411511da818a0fa0c8727012ce1f2f27a594d7a7979d9d21ea400bd1664c011536effe7206f2436b46ebca9546f111ad7054787de425dd85bba01dcfbc4c9b095ff17829e27ec199eecd282b89e969a72acd2d96617db80dc088fa78383e1750d61eb7cfb3d42f7becc214704319896a6b55dfcf66b616fdd60cae587b0e90138f51113a89f74a2be4a13dd7dc276e6a775c657b6cb02a383dbbe07255c7bef1486d6fb83782c9b70ca736bc12625a243da311f80cf4f867f88d0ebf30091ad6d4d3e44e75c5cdaaf331381f5b6fea1639aa219e205b00f174752dc8cda0661c6d71665c3a14b8952c9db604a04f6a9112d99641c2e2da0d54fa699983d3e57b30b2fb8ea4d8274447db3ce29972b5f305ff1cb09b92a2b35a8e3d6d4b985fbc7414d87c64e3c8038571931cb93b2a15de16dcc82a86f7537d6e6625d990c222d5af8b9ee72e2aa5f05e7ba5bc3f2dded501d266d2ae208891371a0161d82de1f8010ffa81beeb8b7245b302225b726a7155101622b34c2106dba5eab699eaca7b3e528f604ff3617044e8cd1d79e4fd0250dac1df6c3be862ba95efe07e0d06b5cbf59257407743335655d75e5bebc3cac2beb14125586f98bdfea89d89cd1630fcb828c1e0d0e7b6eee81ba62aafb33d3f055988fa13ad7642acffc28541d7251b7c1a0374145501d29e1c2e4b45a7daa052f315f5ff923ab8eb6a8a2475fba5ef4f8c7f9175e5f95a867c69fff040204c0e3dc04beb02995ffa7d6b4c9244c99b26f126c752e472f2e670de3e358ff02668ea1b20c72bd8bbde27afa0dd8b39810b2f900c9f02b7e1ce40519e1f1e01aa48370b5b3cf084b11aac1f02bfa1b368229eb24086ced3a9b9299ef787ecd7f710591ad78d08dd8c87ccf8dbc04d376f6f3bf84acde424254e051b8e57ce4f7798b6cd31584a5f7ce3a72becfd4b3de19ec14c46b5af86909a1b7bdd1d25e7f7dccbfbceeaa8acffe68f5e68c6541cf916e9220de265001ef9f1d0484ec48ee3d6891d7f08efcd3cb776d93a7182bcb05168447ba1038c77e11d371535b89c534cef26e0a41cb5b72fa864e319ff8a635a37ab2d795a91c11622f19537f7d00f94f023b13c1365b1994405074795aed2a695e4af03c1bcce0eb3317cccde37f9f59ff7698a30a058aee23f7f46c7a08a74510264f372603db097a51a6fa4e732e75c54e8a59ec43b82207b13eacdcbdd0f25bd122dc00facddeba8c80d9d7c5255573aa051d56115e0694d64ed89c9ac10caffce4509ac5b12e8ae02bfa183c059b69838ce8c13c39f2e800fc02584ae274a69b2ab31d93e261fe7e96bcef224da5c7379f0b6230e22e4c3ed1e23cf39145e3ec1d125e8aec0c1aa72922efb530db41f49066f21ef351833afe8c61da44024a67706b6906b31bf6d41303f919cfcf6b6201c0b64b309f8f474d7e333b496c11b1d0543865ace514af8fa5ec1105424cd2cb4170ca0a7faa458d92139ef176941b540d72c00f78c602d652ac2b0849da84a5062736f4dd27c58a5c383e3fa82e2ae5036030a53e029d5212e5d231341f4bc74a9f4ac720cfb228c43f9d08bbdea626a9793ecd983b2efe94807c76740eea630e3c76466514368e1436edb914e54da2dadb666e28d02f4aa22e55aaa5ac5982a24c02fcc965187204a028e31fc3fa266a4761d380e1b982e3df78de169cac6a3fc15b8d810ace16c47145c709b362f9fdc1de88f226670a4e8de03cb1349feb91d4fefbc884cc71fb96cf0998aa802711e5ba18d20f119ee420964494e1488e02dee0339c270ed554ba3dbd6e7f72a3ce9a349541b35659c1cda93a66e612fde965b9c3d4b45e3968cfea9577e9e99533f11bb22f50cbd3a3572ef441f82e1ca6dcf44665c68818497ce9349233bd111198572e934317a9c764ca1bdca143bcdc2a050c4fb276d0bb7293729c5426736fe033e0797bfd9ce35f3ded3ca425dbd7d411e4c37984f36f8150a6f699f7895985bd9a9b57e25e53f6b9467f941ced11b269fa41cfac2b17efce9b756033a26e8670d4a9186d887eebadb49b5db665be5028222be06e0a13704d5bec035be0d92c78038d8c1ba1b820cb34a594fb6af33c28f2461fb3089689d3a2a0ff3bdefad0c04faf62583abe47160f031acec1e792df9df213e76facf71aefd87b3217274f66a81edf1f753c8f0beacd914df2fb6857bdd565e6100d07af019755f11c40d04bea9da17c31e4a63cf659574904871b7a38a0c1fa786deb1b20377b1af430b25c5fc98bd7ec962409bdb422ac33d68af130a5e6265ac509411a25c6cbe0939067e5431a111a84827fdf64f223a2c346d72fcbeffb448ff3cad3a80d4eceee483b4d3605ae4669466a6d065eb057d091abc0b59e30aa87f7692306efd2d352cf1cbdc803eb5da3eca39738dbab78e087734f444f2294714e586a51dc10830952576878a8444512bdcd6384fdd8ba3276d1a062fe69db5442bb692c382d3277b0b8360aa0176422fa4d09401e1184f5891a85c3838f3cddba468e832b994be751b6e12361afc7ec399c991e6acd903ae753e3c6e8ed1f8852a0fc53ceac5eec0e57547136349f1352afc4cab71a3477614d32d27bff7ef97883c74c3cfa4ab0bc7b8a48c4ed47bd8d0a033203892e49a269c6c0b4d8657a65b959866a38d6961d0510440b663fe894339fce1c04638fe4ea2a4d31540d841bf563b369a31ec87afbaf4e85081a8c8baaa9ae804773b39fccca53bbbb6e5cf9e52b2a2ac1d843f4aff5cc87e8df0717f534f5d37fb7a8f7348fd3d2870270220a1534bf135e4e7de7df7f994ae6438e5cd1e835bde83b1a33bb25ea4017cd07e6883af130c0f9e004fdbba1f0369b6a0e5a6a3e4f1d25f5d81aa24eae85a85782a843fb9c42f33ffd02a24e5c829e8afb873adc58f702762852eda1def88c3cf0a18e198e271b543f4bcc2b6a8fc0b4e1b62b152f20931f58db817cc0535d71f11bacd3b6b87a72cbe8566199004b82772e4ef09f72b05d1d2aa56563ee316142094dbd3a9957df10fa573bf20b2b9be748a1223a2a9082d88dc13fc76e88b406503310d2fa75388af7c1b7ce36dbd2aace954ad46f60207b0e5f032eb5efe981d6c60df49b053100a22ba8c4c926c252c7e5fbea371063093824f40261ab5d54f652ae58f70d1d486007751f1b14d211e5968a2920e8ec82032802b605f351a999cfe3129499a7bdaa4832fda9f00f6ee86d09bf59b47e58924754cc49eea23695ceffe286b8653455db4bc0497f91d4140c61f2706b1d62e33398922a763faa9ad290e438eb9dcda7a23db7b729f9f661220197214068a3296940acff7d390242402dae7121fae43fd12b837fa48942694cede90158073221b056fecee3e54f775ce5e2dae5a808ed7bb7be609e9c667150ba3794665c9d91cbedc9ad5ac82550f845508d59fc84a7503845fe845833ae30201ab724945900d8cec7579f2d014534139ce0582fcf42881a2385f36a397af930a78b8b8a6dfd056bf1920a0f2e3b237cde9a2a2998742220c1b32f3df38d96a385a959675f1af4f4d2f9ed903975a70e1900f2c6b1e302f62b8ac36d9c580f9e80b6695565cb5743ae2c7c83610d1a3b892212a3ba749dae22d540a5c93d31eaed5fae3078eb2ae7c68b75ade7ce52a622b35b0835ef570ded7e61c1ea0056f283ec0ebf744df78bf6f8ab50a9143ba5ff5e4d43417bdc30621a071a1bab7fa9d387c23b46fbe3619ebd30424257dcab33c37a80c2d7d5382e07a6d0567ef9b80aa8f5bffc164eb3d65ebc56309184799eb3c038ad822d07ecbaba448f2906884d29c7e849c442db9384cbbc2f780114b40d85efd078dc763e4452ff6391642634108a41c9a45622027c1924e7b083a9c77c0b1e17c12d90262bf8a3e6c90287da5983fd229fe19c7b6545b510bfd6427fadd450419aeae2b7d7828f5e29942795bacab2cd8a3235bcb7ca0894331bbbd0170b0987c4c7edf3a5a2a8619cc11489b06f60a586af1509b56e482ae4914481bd2c9dcbf4548320e2041374a6f36deba5735bf3423feef128beee11315d90c5109f062398e3d98546927d7d9525b03b1ea8306bca1a539d0476f8b85f1a3d3263df0be9c0873e6f3b5ee9c06df3b667192e5a86888d49b52bb6c893e2e4c248cbaa426b69ee9c345496a6b422dcbe0a309ba5472b8c4771b0e0372c5d129e4d9b054c4a3ea4acf9bf2a7f946c9e9b2fc3f696bba0904cbfdd9c7556eb45de2e0bf52e86b0fc50e63d0c1238ccdc2511989685ea8e9b11c62b8065087fa001ccdfc0cd257a4777e3f7927b23ff06fa8d68d0b71510475187b17108a84a1ad7d05233a030441681e86d4a45576600450f46c5f6553d9bcdd06b0e150ce480b343d87cf5532fa71c9c1c4d9ef6bc4a75cd73d2476b313548faa008b73a90db2636195c0f211fc98180ef7b5d4b90e4dd727c7236623e8788b276995be1d6dc9e1b4d8e3b68432146613611264e03f022c7872a88ff6ce1844518df40a0911d4ea33c80b12f465e84a2ed79f903a3b6d9051f83ac56c79402dc62594b27e2a7e52208ef2b7d85af0bb93987e48132def10d8f10f15d0eee0e1d796bf7974d90361cfed216378df0c3ac6770f3af590f779621345050fbd83ea6aab7849f6b9d313b0159dd4fbcb93225f7bea24e276219a30e406a7d257fa1e3435cc8d3f7a54af10baa5a7624e60e73fb56e21fccd9e26b3da8c57b98dd749fb683c8370735d082ab2fbc101e701400cec7be34658ce79136de95f1ad2342adb07cae417f05e583815ce04678f9916f94ba04bcec802cb617ac122e3b6bd708aff72327c26578a3bc1f75255a103fb98767a52c865e47c98636d01b962c47ced40dde8788b152280aa3188ec1dae150fccf467bc79866f4ca9c2295e1d23aba31b9042fd7b89093cc5b8669c552b80f11d8850c0ff02721bf9b8e27220539d740c27def4065e46134b22f9bc6eff9355da2942000b39f797a82be5db20a8151dff0a91856d162ecb3270cf9594869b9a0adc9e2af67be8d0a0025e6c531cd58b7873b24e78738a4321b77f0de3ba0fc159002dbab9a0a7f808e36915c287f15ecf4c95d36bdb30ac234edbafaf368d6e8bcaf66d572a3de81c942ce24af38749ba8c9a7326799a27e47f5f69ec36320068a4d935db794f633e3b698efc7d1ab77cff69a6a8c76bd467f65dad0605b93bd2865cf43437aad823f4ae4f53c13f1f4dbec757dc39dcdb24b299afcecc95d50ff86d7ebc1f937a902ff57d6aa153e1352ff1bb5b3817e68b955ec00720ff850587f7fc9abc185d6f41900e40f3dc5baf5407edaa936f5b00f05a693515f53eaaa61f86406f5f866d699f65603a87fdebc722e1256b53d4ab662ae7b2e6b6ddb1b8005fb52429216414fe705f2f9f9df9aa20c3631556c00a69f7ba1014fa571c6e33a50acb7c9d21fbc9f329f6d3720230fc99ab9dfecc862d5fed14c64c4e322b26454a96f39940494763b66e885d209f7804844736edcc0b3b887b90ef1d3b56f250c271e3834386eb10dd3c7d4161d4f811b36620d67c48223dfe11a8c2c6ab11f4d106504d3f41c0f96d349cb041d12b08c812500dd415604e6b3977562d2b602f8e56cce21d1bc124eccd55d8529b9c9b4fcd535b8788082514d0f86e81bb3f03d654332ec834fe003fa37269dfc247900f471d0f2383f0d4271930681f9fa8c3807ec86720ac261538f64991a414e2ca47e6f30a91446a878ad8f384d621397f4565fe176b1c5ed9edbddb9f1cb183e5c495bb78e59f03cfe2089e029e3cc2c04a3e040cb2c0669d2f147f8a30ee1571cde6244d30fe1cd43549e292add7f9ed95c03942aa643441d2f3ff21175fbdd10034c970ce1ada6711ea954b87f44a6172528cd85918f3dbce8f7aa1f9fa9c7511a4a6c570ceea99fe9ee521cf3c0c239b6dfd74039f433178b2cae3173a30958e7f0cc5473d395565d6cc5896005f759e367ae466848833c18a1d23e70d933c4e959ba31bf7d28640a254853d43ff0c3e30aa289ae3406fa05e0d2692a1108c18be793b577f1692c77817f481c08eec5863ca5111f22bc01404867690ee956042e2bc5245807539ae57867e833d00047d9451539862a6b74739a779248507bc06fa741aff7beab8ebb4dfbdf938aa75a6d4597961cbb59fe4069a504bf075967fe382d28811b95e7d6514f3f417f4181e6794a20a6a05ac3c7838c9337966f90b6c4fa7de4049321e382f0588a83051cfb29b134a0f97557c424a230990767279b63a447933bbd3b741bef4bcae883ee690c1207f1237119ee871a2fb37565084a08d8a7e37bcc8037e80eaa806a6e3a56f0d44b46f174aa36e1df7afe76b8a1157feee0d1e1c14c23636acfe1a9083178019b5f257ddd37b4c53a1846e1312c336885f388b8c365a0c42078cf2fa95db1acd1f06038224667504dadb0241f975e55a6db7f9b1554487d29f79521284faf1af24d9b07dcbedf3e38e7c60056fd8b4873f9a9662b1b1bd6e11a8ca19f87389dc40b9641fd140f8ddd079d9a0254c433cbe70b4a2a4dc8736a49e182ede4b97115a2b2041a74c54afe238dbc7d17a907743fdcf52b02fbf2936875be0832b0f4c7c8eafa570a4bc24db3934a843d88d4de0490d28099ce0c3e30acabd70c6c317d02feef1de8fbbfe1168f8d4f9e72fc48ebed25482697dd3e8c875d26946a95a83b3553df0f43e9612fbc4963e9a5f275750816a40ae404225c3e2fd681c16c0290113d2f442b991d776d85bb51c605365b9110053b8ab1ea43161d658ef3a31adb18ae5cbdad66f9b6d7db4737765b1464b15b6bfacf67830c942895ee8c069fd91c60d071af08a3fad6a17b6409627822996d851afce024f56d4f9d27a20c89bdb06494c5b1fb3c7d82f2ab546f05c3b486fc6b3076c90c48505e8c2f120da16e6f0733351be6677af4c270758b973ea74a840818d8c28a7445aedda23f2928c4cf8bc39ee626f450e524109ad5bcca72c44386e66d5c70ee574b3d7c2bcad4794a162229b3b18adb5302c4c1ac3495516b188efc477b663863cb6c00fa20b80f6e9c3959949f56fb51da6158d8ce7ce4634051f8da0941af70a8e3e5277c2516b26e5ad9e198b46558e9e87019190fb1562f929cd92e1af9e198956d1221be5bd16ae2e0be3b06faa4f6b514268ec69155f87600a3c4dae937af146b66000f8f4618be769168d1b89afe67b8b2070b21d4a3f42a10eb72babb7c97f3ebc880e8ee12200c1f53899c45fd7e75f1dd4912f760e6d9fb8ed2d9ceef20ee61e48a8dcbbfb5c4f936985a409e8e757c1e49230bb14988d8555b97d96ca41984338a24b0e4cb0fa1fa14148805670401f2b4e35335eee709fab0b86148d8f7f12b10cf06356c41ed1987ca016bcf9e39df12a616677504b2dcbc967fd5ae5054ae4c6755052eca0fb25d198a384531cee8a541961626d63074d659bcb1352132e4c4459c68844ca659126ee9c87348419f1607e6c382e8654e53f1b525f9ba0c744351d67d6da67ee9b3c782299bc5af448a1f7ee2cfc9a306282e60f93c5cbb8cd77508fd2b4c526c5137acb7df3b08cf703ba080212ae02b215478ed822013cb2496cad0dba8765f03b9492c975eb33ef8f2bb16f0b989bbc482f853a28e4872bd53fafdfc2c3a82c67a60277ebef9d1eb2cb9d664bd11b56bd0fe61ca393f424838e77f228bbecdd2db381ec0c6bd06600532ae323f6ec24b843f35ba8bc0b91a30f9db499a81eb2c359a8cf2da4aa7c1ad6c2bee3ba1c8d8785aa389238ea548f7d21392e916eb389c092386cf742466b3e0b24b49139190a36637755be4f01e2027b0ac2093430c112419ac904f4977bd655b1d396bb910b0bc4a681a6954594863dfcae9ad3369c4491f458324c962032502a7746ae7e86ed1ab794b97eb488e10bf7e8606cfcd8f8a9de765fcfe6a30a510e10eb50b6fe2e6d0e559091fac0364311474cbb21f6c4a104aa7a84f535ee6b2012241764279099ff0ee8460c8592b7449f012e6c5d831e9f10c18ba13930bd43ed4d51a1a63edb2cd0d6316eac64c3bff56a8ea1422312f8296e15685ba40495f26660675002aa3e8a847724e06ea47b2557ea1af02a3b990f161b42fa64e73b698eab7f582b4e2c992a64aa0999e31e0c01e5c888ea3565169d01aa60a2ad4547e43f93432d1eab6c2419c1607661d8aac1375c16f8b63515539fe9f90a9f5704806f8c0f8f9d80605ff7709aea4538a887c4165679d7c70eef77091219d99b8b369bbd0325c84453f25e5e12dae3bd7902a78d6a1062194d2ba3a7b7d66f57b441fd41629af2c86a7838eefeec3d44d572810e57b9ac2bbd4f820c7eb02936e5186f0f00b75e171b90543bd6bda88ceb35b94a10501616efde44412d2e5858179bd8260eef98f38c52ac30611d985d4bf806ba4a81e1b6c8f2f0189f2d75ae39d382b8d0e3682355b2ca9e1088952fac6380a9d1ebc39c44e6c0fb8fc76bf0226a5ee666b85e069f577ae08f82085bae36dea955ac8a38aaaaf329f689a59d45cfffa5b40d5283897f791f646225a50fbe15a3a44a129662db47ff6e0dacf9fed6858b47cfffba8fd87f9ba46ac3a162dedff3eeebffda6edeecfe8352c5abeff7ddceffe63eb85f742b5516f37dc42df316bddc9e8e80cb2050e1bbcbc864e85017d1242555049713e9f4942a416f3a4b8a5d4db238b8394fe04bbac6123ab7389262fd305e8c2a291a2dee40054a9bf34f038cfdb6c171af5737b5eebc0db3f633a085b8f029afbe644cb00233bdafcd93e81f4fcc28be4d907b4d54905e132c8144900122702a6b03819866451b1842cee8877abcba3bff0e694e3643ff5236daa1a3a7827de781abbd11bd5e8c66d6ca337b2b16a28c7f6b826393a09a1429b8e9b4dd697428470e5ce093e322407682b95d24aa8844a56bad22a51e9954e49a5555a252b5d6955d147d7fd3bf9b7d73f3ccbb1636d19f9fdc1e175c3c9e3ea9b28cd3b5891a840ab64de1988f2fbc09550b04802c8e5db6c83aee1d6f3fbc095f366e0072740db62d325f4fa8f7261b4fa222be2cfc4d30dd255dae8ab52956cec1fa592e231d94940751196043fb3017cd9e9d8bea536509f2da3accc405275b36dd1574a60e2c25a2d03dc8145575ca79e8d81ae614a314098950e37e2bba9fbc6ef03f19ea5b80eb07d3179d1de9c7a5cf11164ae078655d0328027c3ca6c39aec42f0bace3e33f107439df32e108919e9ef0ff229d9ef4ff27d1c69e5010c600fc0f76f1da9f4236cc8cebbf965a076a13d5f4ba8f09b4b38409096bd1e4d4844f1e87c13f73afd059fd2c19d1bbefb1403e10564948f47f2704871bf418879b34f8642cdfd9094e2d18007a5e9c8f0e34b5dd0b74cd27c0b19d1fca6876099d61e3df3ec751baf554bd46ec97ab3bf7dfb57795a75744eb919517f97d35fa5e2623cc170844eb7c60a17558f1fe3a96510a0123c4718a5565be88999a0d2774f01caf93c6c7d7c25b6d44df0b811a1ee530dfb6cc2da3a2345337018fcfb3130ae5dbfd682d8bf8f0c2677453b87b05685272838d74c32d10ee03cf443282d72ae761de26fa8ea9c3c154f5e21a351dc314ad1460d4e360385de066169a525579fa8e61bab6069d8569897e135b3c5cc4c3aeef345f87b2634332262f590cd8d13876b3e855f814cc6dbbd56d663179d07bb76795ff868552bdb415aad609b0a65c060102b875b24671dab7ccfa37fe0cce02155035e8836c2def10da712be84b11b5e1037afbf471aa77d2282afac289265b2900b66f455b16fa8350ff3a412508185db5f27eccbe25915ae355a914ecad665d6c3ef5a8fa7aed1195b5dfb3a1befa8b9dac1c7b3ed12575a949276dd35e3fd9d4de91fcab4a328d3978434f24e64f1ea9123f8d89b93993835c502a1e554b35fcac5afe5f3523c8ea43bc569f3aba391ece4493d5af8059ecf57627efe44296ce27dd77d3641f269726adec9b25c8592bcc32b4f4eef7d10d2f1e985e017123ead701a1ca5cde903b38ce99512d3034a681f5f78dcbcc6e7bd2ada69dcaf5ad6c9fbcbd472df467a9e5aa4d61ad5795576bb0b0d5aaf683e6f7041545efd8984668599941d6efcfa2f759fa8b1a1d20f33ab3d685addd65b84636b6ebeb9b1cc9be4c8954c025c9a8a4145a97480a966b57aaf3105f17f5f14e54b8bdd1c4b3f53f45d071915ec13ad5258aac0a36c2eed2ef343b5258fbc929d8f4ca586d69a6288722a1282b75a68d36b565435ad995e701b56b0822c93ab9b9abad3ed47f07f4a8cc92d7fb073ada1868d831445514ac8998d62a229e00c2878c585244bc9f153750647c9185d33280c0a5536707deaf31626f8bd98931c699b9ca57749872d0f3eaa448c4b345be00eb64194c4e6ea1ed07a45d36b748360a426e48af5aaa709397a75e6ac78dc9f64801da90f5c5870cd01267a46d3176c1cbf839f2fb5b37ebf56efcfb1665655819a6fc0fb611e4fb21b8c110f54d240a86c0e3ee951d7eb273e5f8db94bb94f318aedf59c56deff62abf00d16568d3fb438123cbe00e53464d7dce30536b7bd53edd0717675097c539450407507af3aea39a45b90f3da07730c7b4e019c2bfb249a6e83b25fa1123c341665e1bd2c156785f4d92d2f2660e035482199f0998df2224dff73a43a5a30d42180888638c768430b1cc44a41473f3edb404ac1bb6d4d6f1ac4aeaa2273d6b14e0fc5e529c6789602bf70241c023297dbdfaadb049a615c47865808f7d7712550b0a1e53e445d5e8f7e7943b2d2bb46626e8b5001d338338f2d492b3807fe5000d984a48cc6494ff7b6c274b74039f2c5b1974172d5eaa51290249e3ef86a511f6d62b0026b960d0db7481df96c9ff5b76c520f9f4c5aa0961fdf5546906a91fef615e37d73508072dcc3bab9ece25caa3c67be2d2d7d23c251806c07d09eb4823b527087948c29c05dad6b51260671ce45a04fc7aee23ee29a25515bb066069884cf18ca95772b9419e36c85ddd4df65383e4909668402e600b37d4fa872284316dd82d797cfc8f62ee27ed9c52000b48642629053f3896697d5223b8ecbec737d627c04be905d09cf672007dc347511975948fcb703f85228bd6a8534ef50b8cf7442289b8c06b5fdbbdc28efe8c2251a8e2158cf80ab1eddb84b3083cfe420cdefe92addf004530ca8487db0b9fedd5199c275b04b1b2608bf94fc0f79f3bb8ae1e1c9c648f7fece0f3f8f7207578c89cf1d104d1676f93f75601b22433287eac33f3f5986de5deb81124ac3819f5a35c00e357eb73d096b55372f8949f06ee166a15b44df1d1c054a46e0a033382ab224941510a60039e041412bf30580d2261e982b462e2bbc86477ab0832a001df604d6487260eb384cef2ad1e16b04ad758ebddd1a3ae91bfb9a3d4c096a39ea4767164c389f7e1b7ff89c11bdd5c4499695defb4c2d2c760087d7bf776d213f67457da53940205f576568879825cc3b7bbb8a64817a989c8552c47e72b65d1dd2e36803a454df48475934a680378b79cf93e4373485ffb06b9e2b770a139e062a6ac6e5678be54ed95d20367dfd4d34a3923a4c8c04c5c5232ddacf6f9ef7d297d246b273f52448eabbb439d760645b86facc255814d0d1c374c180a39efc9a3cd6ed42c45aaa89b41842d510f8df16632d4f88c5f30e1f9b30097b30a37d638c607d447395e9457e1e0b55340af1a5c0afc2efd9317d7db6cdfa0e2c9bdad5c723f42fde1beb12efaf2a67f0ccc459061b7d7bb33ca12ed0447123b60de3ad09cd06290fe2d1841e8cdaca4c6abb966e24cd3f60f3d7f8284d6eafdf2dc677c6e22003b31683141958069cc610f0b196cf760c190b6fc3e552631cdb184fef11b6e0d6392f6d294ef6270160d8c5395505c3c2b9985c0bfda744633b1398c6fb9b7387f29fcf49a8c282e51965a888445edf2b7d79349381a0a1929246b3f10d3807cd735cb2acb42301dec497990209251bab0976ad990e4eab7f2b6d395a954fad6ab557201807cc58ad586085847755faf17968fe2d7eb8ae53dff32adc2bfba5c6c741c51ecb1f6d1718afa881f5134627b15da0384af33f59c44eacd175122a11eeb3367bf86ad9e9615d3aefba0d6c3f79011b67c846777734ff227be9af3e8cc3fa5b13af34529a5b234a833baac920aabc1a2a79e41d8f316d263ef4488e5c2a4269680136380c506a031096078021ef2584e9982f68906654239e063779d1dd6e559d75e06f1f1787689c953bcb0128b6c952ef11849a0abb5c1cdd7f449c12696dd71f7ba51dc9026393c55182c6b3eb3531ff84d5b68fd4c0c2d001aaf95e6cddd07fec9f9666da4231279b3db1dfeca41c4a93bec9df232170ec7fac4774b461cc86aeb16900b2298f675d3ddd03d6cb03bc4a2f6a292c50cb8e3855a67f555a26b3dedf625c2da5294eda4a45b0f06770b81cbc88945078ddbe88ca221fa66b62869d769a946586778cd90f703cd0474bbd4a3d92d619430cdf472259bd4cce32ec838c0e527f7cc0d28dd27869ec0e57b4fc78a81908ef6873d10cd7d128c6d30363fbd4df94542371e5a419d605767454efcd2055a7e865f9046fbe5bdd568da18fa0f6305270783b18bb53c531e5d37baf7227d0db26ecfecc371bb1bbeba0791c4fb0bc6d540efb83be91fef8d427d18f5630eb5a470a0db4ca1946577d7cd0578430c0ada90dea2807c38e23b44804382df70ee1110fff73320f6c774f5381cca02db971ad40f4dab6c7920e0210b6af0991f674a77f3ac1fbe829310de76f388858681807b51a8006d0bd5edd535941b048a2908eaaae33c87e47814da51b762af3370186edf178aaf41c0819edf6a1347a5193d0a5e24ab3e8ed5703a57f17c7551161b4c34ce81d55a6f7cb77fe4a00a657b950e109b8a08d2182f3ceac5b17a449f4bd12ba0c5e4232d378d257cde5671786eb322f66d81dfdb83678c07c6575b71e8ea6afd4cb2c49fb9f32b613e553f14e95c2f8973f8e0354aad47cb911d44ce565447b814588a97201b3ef71036e943499ef74af0fc366290c8a82409e55392027e2935d8c0944c25a76e9cb2caf017f4ab58bbc1802ad8288acbfe962bbcacdae187d36aa7e2211b0fdd5c24db72c0a024a72a75bf3ca65f2cb7189302d2fc158445c56294cce65e04a5e714d84c1b0a43715963d503eedb6b306bb925a03c77aa4637264e0288064db6d1246fb7e8a5a8f8f119e237d63a9e02f15cfae71eec9d64ddb68a3e4b992b0e6e64baa74de8ccf35f5a2b34775120b6a7f6844b64a7b3ce098a7287f787366793ebb8a0618fd5d8673512f2b6ed20a8a20f3e2a2b848fe208534a95df7c4a3828b266ea00809c47ad7d59ee60780ba19b1f8a908b70b374d6b5a97df093577da64221795460464fdf1bbf6c4d016b836a1d8e61a29c53a43a7397182c9352c780128b9278b44e6e77ca6dcae771e0c5c069cafd030b3afd462250b8fea5c97080963d927f57f14d62a7fe2800f3a5200d0ff9cffc7186dfada592e9dc93a74facecdeaebca95430dfd163a1f9888c55c764590565acf463a2168ceab834a683b6c125a514ef92d91aa434724f474517e49fd10e4ec6ab5b426e244078055dd2f1d1d63480a5cae1b6903f61ca595a6c9a22de6c81c1bc926446b88813c8e8144be53b6e5f89df99aefd0507f1c0afbfc27273e57a189494e43972f1a9ea56c0ec903ad4ef12aafb06fbf8335f4b273d0d6087edd7b254645c3c5ff55b8cab11bf06fab0e000957572a0caa4a354163328c1cbc34191a3083b1b9265d49aeb8e9c360cadd2aca05c70ad9d83a5859b3f64438af8e842c35a85eeee434f6d2202ebe0c6fad5222c7f02d38a825a627a9cd238685b12045af61d35fe1f67a22b644a4509b4374be5452c96ee04c51862ead48ee157f39762c834206cdd945c9d6c172f4e5b59254986c88c9a36d3731079b25cd907b54d4f857f67ca141392c32f64acd39cbcf2f8393a21597b88805c002ad18eced82ad6e5d6f880eaa2ce2495029d07886ad81af27217bd5013d7700d699df3464a51e3a36acb6457b687fb44d9f8eb1d266e729a2bced653e9eec3cd28027bcb0d724fa9ac9b94a29393ba0342e653c47a017dd0be665ba9a53f11e94e827abd281a2342729675ad54f97326472f4eafe2f7975d1d0a86220553c1382e2c69fc499a16b993ecfaac1c3c9f01483bcfd9d4647f74e4eb37205083c7fbfaa202bfbe77b06c681a90e24cb197a286eeb6136ab34149e4d3d25c685380d42c603d89038896764c839f2e7537f9baabb081cb95429f540bb045bd706a687a70f47a1345827dec6999cd81cf2ce3c2d83115aa4da971b79223b457f6bd0cbe1d57c038da6b92502e6d058757eab15c9c2a5d9572e284690c5f1346855bff10d3bca88e250c688a8fbafe3aa6bbeb2073eb65ee45214937148efa352c1179b29f494bdbcb87206c0a4711865550a9b31bf1c538837639478a9fd2c4f95ee48d7b3e7fd29ca1fdb925890753c677bc1fd851070c878c065d58cbb00fccd05f5c7092002b2289f0de61622f7ff60a5d13a849effbbedec219a865c4aadcd169562be9075382a8668e1b16e2dd83c0df0a138fd9237c41532d246067ce1c7e030054bc995d3bfe315e31c6881cb0f35dc9fdde20b52025c91062499295ac4b451cfdcd3ebe0e0e7970be7dc8f61ec975759e3a0f68663ad3c9ee8aeb8b1b451278f939fab835e9b847bee1fba3f385dd5859e372efca1ffdc2850acbd2394fb10a50ecde0b39cb4f79954dd0b41f8401256198311f99e1acf95e908007594a5fb1ce6fe12f3b1f0dc38a9ec324dee8901e2c6d9173cef9296e3a69b212242adc44cf787f64bec96a1aa8d22fd855417286c293b9501460471674a9aeef87c404f45c78f6b349acc9dc9f047763011944e3ebb00807595e4aa898069a8ecde841c1833cb70324c7e55267e41a69ede650b32f2c9c72e44d40ec885dd0e7e0e2e0733fe6988217792ea04c8e1e792642aceb2b0fdd3fcb9981719e80f299b28956636fe3da84766da295e3387015c9574a16bccc585bed23afa0384694383afdf8ac654807a3673a90ff8c348ef0e1aee3e83d1cdc72428480e5af4d8fd3a1ea8a78ee1aaeabaee4feb05a81c6bc51f6301e96e6c9c61741201097abc48119cfd6a0acffe86c91c70b858cf943ca2d1cc818b144c674b6ddfbcb4de41ab29359f11d5ff0bdce0823d887da95408ea79bea5919fd70ecc5d511a279d7357ea0015eb99d24770c3e8cf1181c10cf7fab7892732b52f1d63457e60c90bc13350be21fe37da357699fbdf5a0a16bbdb984a22a14a9fe0e4296c4d079813af115381bc82bcc0648700e182de8088f0ce0aab8fe80a9bcab3fbb28a1034cf4cc062a5190d851135cc192c24d80cafd75da2c46add9558a20de00062a50806734c0e36fff7e279724ce14c2c1cebf2ec0f1b5419722e0874c9f48516b490d75e4fc6c698f81bae797dc5e6f3769d68d814e79a430373c1db010dc866290ef8107bb67702b7c84b4f38d9418d5c3cc3610917a14ec6b8ed294b235eb94ceddd3386a060963400996f25810c362aee543cd88dc4f68bfd25e595fe6385dfb79bf143492723490238bfd4b95dd788759a55244f174fd18705687b9fa4ad834f072faa4ffb8937fe83dfaf1501ca2d04afef07347f9039551954642c1210373c73fb33b4b8a80a9dba0bd31c12a542984846bb0009d769836053ae54161b5cebd5d6c64f2b82758c532dd7e36ef11654284128f87a552d5d1a9146745197231286199de0de7fb86de31d9bb82ab0112e16e12de648d848c29cc3be74dde4c9e811f4c8d9b0fb1d27b96a49e4e68bdb986695420f0821e23dc4526dac9f29d72767de28f1c8e71d32ba06206451e8bd9321893173e4e86ae526408c0a66b2fe4530dd03ea9c128202f7bea4835d0defa05ca5da288fee6aa774f0dd4754a08352306f9fa41ca49f2a978ec009e84c40bfbfc3643d0a0cf77e113a4b187b70da8ad83b775608946768c89be919bf04d5f5a67e3ce083abd03bd9a27b1089f26880450614378f00572e6100e51eee1ccf737330df1bb78f761fcb65be8260887def0f5ed83a6de981de0560ea5063d8e5f01793aaa93c2ffd477f059fd13c5b249c410b1109375d4628a6dd535bcb299dcf25d5a5af394b3ad75a30bf036b4c4193eccfb7f6ca712168654fbf444958a6fabc10d86ce58ae87d7ee513c8c6b99c9f1cb6b75242f49186f5d21ee3aaa7c8198b9e1c8010193a9d34b07ee580a66a7ceaaae3bee7d196dbc34031d0ac9a8783095a1306a7a8b4b3851278632d8e68e84b2719f87150f319306d8c3d74ae42972a44d60ad7800618ea9e00efea6e2614e28c54fd25c725843bc87ec2ac6d4f5c91584a391fe16cd82e0347d2458dac8236b6c29c54fcdfffa070f0cb8accd22dab3d0048038757ec515171038265e5c29bc94cd8ea418045b7b9d17d9b23b3f563cc8aece546ed835d9d22b1ee45bba27bbd2729341aec0860771f8441e23178977d0c561efbba56031c07c38bce177a61f58f11044edd0514ac62953f9a9f20e7eb6201099fdb78043af77021cde715e3774f17069fb0c10ac9283e7f39b41430d4abef094f7a15a8fe0341e5e2f0f7f508f56b04c456504516093fa1ae42371077c3e890e5c4fae255155185f84bf5ef91c1c27dbea3da4f16038c5a56adf1f29538847701e42478b9cf8642d118045dec9e01934ac07dada338d0825bb381f99dea9e34ef6112ad46a1b856b69a1b42bf185922b1a0fe7b7a70b52b0ed25c73eb1c3883a25799b81308503bbec3616e05be4207b334c03de47e2a62ee5baa45efccda6771c67ff5de341edfa67af9fdd8ed9f767b137fb9db2f7cd627ff61db3ed9fa57e763b66df9fc5deec77cade378bfdd977ccb67f96fad9ed988dd317612ccb2c63c9ef920d7e6f09c9fd26541a4e168fdcf07cc315adca5d7ed5556cd378005bca8f352789a26c85106b85417d5c3d788c63ab41b5b7a1762253eadeea311515d8118c4ff05b030db7432f22584040f0e2e6bea0f17035d7cb0916d76f72e551c11a0fbc8c811d42b030500508546a31213278bb81d37878b0e4b7f31d4b815acb0a2d1c330652bbff1be81b982b94cd76c5bbeb6d28d7323024a81c0f71159cab531eb1bae908c148aa4d73586b02bb24884e438950d5492118ba561190e500f0e5f0a743bd8bfc45d488c79c2d7a8ea354ecb949320d8fd891036a66d5fdbfa311243c612f301dd50461edcc33ab034258426e74d03d1a48cfc31ec7601d26bed6a3f03d2689a60f478e2d918756090ebd03f88de616a5721dc3e326db31a7f320018013196835fb76008cc25e42000d7183296e90a0f685e7ddc1d37c030060e475516963d4da1e2ac277148f88be261e0bf835b8738c9f243094ca288d546326a7283e3344aa4c48ac5c92c686911b55518a068b67c816165b8c9978aa338c84fe18185443f4a79c04096f455d354219a93cccbf6b466402ed80a9cc14b57c86d560eaedee19245405152413359fff3b61ed0febe7d2601a4fc1b262ea46c07c74e886b14b1efb24db2cc251aef925874679005064ebe491f884a47123fee4cea2caefd18d8b0e226e85e40f4d2fc61a64b607bf886dbb2b0f63c1ef576b2584522081dd98dbaabf768c6473cdb96cd841dc59e8695a3ebd0c319623050f0bd4f5774c89980229650d8dce16fd749cd404967fdd82aecb685460774e07b0f415e9aec6717385be7b4d3a70ec4729095e027a91bfc04884f1cb96c38c0303f00ffea8402199ae2922826faa80cb6e04e9d188b633cb7d2e3544ccce257592510d9118077fc57548556b54c45db8aa27b9aa4dacea73ee72b0dbea417aa7061d07e9e56416f474a3412db4d652c381b8926a193fe3dca507dc581e5f90fe2b5e040e625eb7807fab0f0a9926f5b21b0e72763466d004ca0ed13e83e87456903b17f03432752ec48e1594152a3d8a214339a5bf5646de5f4e99cc4a09e127bc0f30a3651483c2d5669c4344668925252f49e56cb629fb8ef5ddfacf27fba6ee78ad9bbeaf249872f47e7a77a24f0d33feeab3c458b8fd1c2be807bd084dc388fc5c7b05da7a13b4501040af361d3280ea03a9809a5bc84c46d55a462b82f077078557b641c1e9bf6083dbcd6e49e62de5de4248db69ef2d3acf5f26289befb6f01ed5fe4f52f6281d73abd222120f465465d9d1e1917762c8ea0ae30a9d0b7fa5d3e35fc12aacda60c60152120048cad79da6316ffddcadeebf91805222f9dee62d25929894487a9012899512094c4a242f196a218b500b5120f1a444f24924924e4a29432dd01696e4a458480169e4a1e8a8fb3fe0100b5f240b541662c1a374bf852bfc215d8756e8e2abdce77aab3f4c85302ae8166448052c21153a484105295420051f525841caee73096fcfba4649a6cf23d7c6f847677103edfd1e964328f484503021b484cebef3f10b2db9092d71283274c221a11352103ac14be8842ea1134a5262a972ade9e25bb1fe1f4c1097c890094026d8844a9041091028a12754c2484a491a79949abfabcf553e7bdae72a2112422490404292110e19c105524a1464680432a11128101a418bd008418c004348b48290e802a22d52cadf366b218d4a3ae59aeeeaffb8c9ddb59b1c37f9df558d0852d7db823a53db109b34374dd3e7ec79efdadeea78c33363d4c6aa8d55afb1dcd4c6aa7dff5630bf4f088b29147a424a992343219e49fa20fb8542a1901232524e5237fa201b524285c4dab10e29f9816dd4e9e42598ae21111620020d890042280431a110ba5008208440e800170261002b19faa00c3937c6d9c7edaee6f7c15e76eace657f5dddd6bf515cb796fd0dc218c6dddf5eaffab90c77febb66a7a1a1a9f1ee5f199b3e7f50fcdeab1af6b230ffed6ba97bceebcb1de593a342fd5809c9d0072829e549863e40121ac0084203f022e5c3b6672ddaf961daa5f67f9bcd2f73bd33f69e3cf1876d9b93f2fdda513eddc3ce64bf6642d26f390be28bb9bff5da919837f5f9af2b934d9297f6c8b5fdda47c72c8c5b21b4c090faadf6b29b63fc5aac3e1f64797ed7cddad5d59d54279bee559d159da7574510f280f300c7031a9d67141df2c08410006820a56bddb5312f699863619152221102008f94facaf0bdc248993a2487bbf791528d50073652d216754f0c41516f8c7f64f5e7ab52ca15421cd08438501242d2499d27ec8a212487f8ae212435dd67618e71749e478064e8480d52ce6d41ab290e6ff557d5a2ffaeaf6b453c66118f1ee3eade350001088000f0ce9b0620000110c0ebdadf647f615cf7305d777e1b6b8fe672a95629d68f4e16978e15d4cfaac572b9349da76c0443c084a4bba62b4e2374f87c1ff43c216e799a967fdf0fc5ef406e56b77e9da72b5f19ee3e8cb9fdd965f3feecb9b26bbf76edd7318c3fd7eb5a9cf1ac82cfddba350ec11a6ad7ac825bc4ae07ed768d9b0b732e19866917bebbb332d7c338d8c6f97fa82eedc29fd861d0e5e520d758bf59055d2128ba5cb30a5efb3f58adb12b7481e275cd2ae80a41d7ebda6f6fd7ebda8d83f6ebadc7cdb55f27a246222648244c225e48577e5714d7ba8fa2c52fcca297a4942d48a425a55c4122a2440080482052ca8c5d2037bbd60572334d03b919221f40048cebabae5d9b5baecf18112a728edfe6105922753d648f43bc90726e2bfb7b08ac7687f05419aaeb3a54d7a1ba37040d3d73ad214418b2454aef7bed5d57dd9025dfbe18efd2f71532e65fffd9209b2ba71fa7902cbc109f8cbdfb5d080cd29e34ad756ad9782b98ae3bdf577166a81163e0020c5600832526ae3f51a49232292873459916218b1042464a39df4712a5239dedc54eea4684cc0c72c7201a90b3dbeac59ae61f2404413820c812dd5fdcb9677ddcf0c512c8175c02090020642801e40740665e10c70b28f082d60bacb8e010178c915252ebb3a76ea26ef2f1a96b88b777ff7db5c2327513a5f8daf1a2fcc913d49327ae5951a5543f282dd3ff5844ea3fee1f4b5ab0889459dcdf33bd052df881871f12f083083f4a7eccb0200e16a4c102900528f441833ebce8a3d5470d7ccc800f0b48296bfc756d8f6bab9c556b927c467ead2e95b4ade234d45f8b55b6b5d8838847ff3c23e2118b4f12a560d560e5aaf8b21b585da3d44d73f69fa7bffa4178864db3ba9ef4bfcdfebe3557f105d39f3daf7e653564ed71c61ee21e51f410448f09e841f508401e6324be59d71bfa17efaa29ceff436861fa626b39ac7575aa4d63d5799480072178d0810717785cc123c91d8cdc01c71d24b8634b29e76b1f374dada1dca479d84ed3ec6edd5c9d3dcb354add343decde57615fbffa99ba49d33e93a4473f93d21fea113040cc72fdb23d7c761b68fce4302d86beb598039519284cd71dea253a4933d48cbc7beaf5c3b07a3f57d38376fbcc6a8f877d74ff9ba4d14f87e252a6509af1e66a95fb22ace5b352ea1edefa5af10b5dca94aeebaae70f5fd79cd98d1fa3a49187ff07aba96bebb5ebaadfa08cc78f8d7c9ce10a7e0f2b7daeae2bec3556fdb7d58b25bf0f5675178bf73d0bab767e6c90d2e5724519c3afc3e0effafaefbb0fc7edfa706c5dec7dce38c3d907f67d95fbea67144c5718f66e0a7bd7e29cdf45471932928e2ca4941245071192523a6888a2a30629e5bcabee7f64af1259738c9923c4f97f5032c7484ece74f1755d619de5acc892430d2572509a310efd2aa7f355e4b001ab1c4be218335fc7f1456e0f8b833b8d7f05fc6dbfcf6ef97dc6bff21de64ee35f81431109071a725bf0e1083d9412384c78e3036f3ce08d2d8e433bdf227e0386373e9092926a6239567bdca8c20d1e37924829e7ffae59e438d9f8b14dd45a74bc1de39ff17bf2e4c993a9bfcf5e2133928181cc0a643e68039036ee68838936506d8ce4d4f6f31ef307d9494938a315e56adc34491f64f5a59a86ad2bd474e494c41aada86b356ea2ae5b393aa32c0f531c4a492c87e238a31575d3943d1b794839c3fa30d7331bf85aa3b6d7c262a30c29a7879fe5434506166be6b79e6f2be2adeafa3f3ebb71e70f710e9dc9ae60c655a8c8a0351397810a8be5dd7f37b3df8acf8fe1a06b75ddb583e9bad3fd1573e85b7ff7e19187ff31d07b7874dd5cd330b84fbfd8c2e867d8767dddb34e1af9ebaf56f149b1f64ecc2dea3eb7c61fbeaef7a5b407997b96924a9ad61a5198fefc1bc6edf73c0c6a7b2b8c7bd05fd7becdffd98f336dd8cb7e9c0d5136efe10ad37547d35a23f75a7b7c6e6d3fa7a7960d7df0fbecd6fe175feb61d316b1e3976f7c67f8c6e7ff60b5e95aaf59b08fb6b20cfef689f557bde4d3277deae3e6fb594ed2333aace0c8b54ffd7887b5e785b76f31fcaa5fabbfba71cb674eeafb5a1ed687690f5615f7e1a7704b77ff2a1d10e35cacfabe8ab3c1071d708181553b568d9186166930208d27d2e892064e0396862b0d2c211eb96b1ec5494ebce4c4b5107bc989df91bb06f41de634293be083072f2060238d16d2e08034aa694849452a098197fa5d0870a49462f7d9af75cdbe308fa6391be2fdbac27c5e5758b8ef07fdd45d3badbdffa9bbe660efba2ebeb35db30ea869ade72ebea68badfec0099cd8e11cfaf8b0edfa75adceb343a38b949dade1c5f241387f1756998e71f873e5d97dae30ad691acc1f86e0ef2b4eacd2799e4106df60efa6a49458481142143288229033b60471aea265f8fb50ae0ccbb03c4531cf10ec3a4dd32ed1e51ab9fb16dc44edd2797e8739d77ed95fd76f7c3bcc75afc52bba3e8643971714ba34adbba2f75adb6edbee31f8a0abebeac770f87dd5f55bdcacbdf6fbfb217e8d3fd7fd10bb4230c3647f3bbb91c10107c64849539305b75ee75913a4699a03258829238610e9353f69e43574310cc0a28c037139695acbd57d584c28a5e4b283cf18c61b250605393bfbd9eec33678f7306e5b9906da213fee44cd65077f58eb2fced128dc89acf1af74b6135963d421c7c08094f2ef7359c42c4d3b7176d7ad692d1b0c93cdf0cdf7556e8c018ce1c106c2c8397e4cf69744657fe9c83b31e610c303627421c61462e4c849434353a2a97128f4fb2a475d8b9b2669e4bf6d96f94d8eff5db969eaae7eeede4d33302cb6580e8b293557307245084257805738b962043023005301300c00a359f1022b2c60851656e4508521556051c58e94afa1509c34dad5356b342a85ba6952924bcaac196d41f550d7e8aeded3ddcabdae7de507a5dc70434df7d6b31d06af58ea5cf657db5d832a6743773f7f1076adb16cfbbff2f73880010ec8e2800da88843d6291299a202533431450e532869802231c4d00017a480438a0d84a49085a4a052bc108a020651d431658aa61dcc343f14c584a20c147040810514474011058a23524a202e5ed2310ef3b896e2252dc535aab35cdb3329f58d557a567b364a867950da5b6d71a58f7ca045953f7c5decddd42b4b6801ac93f6d1b496cd0cdfe8fa847ea2f58474c20b27b438316aa20930937e9549a979e23e2faba9e9ee5b6531ae6e4ec463c617c34c5eead6f97982e3c59df83af4ee9930444a39659a32610313387f1826031fb641bceb12de12318c7475695aabbe120a5062063d929022091c92900a604301b29002485fdef8a2812f5250ea9fe8e597a5fcbb0ae2af7a89527bab975a3e632b8a83335ab9f6badee81ff9c419fbc829756de33bdeeadd7d966beaee318ebc621b8094b26ea2b69fdda2ad61f79a766bc842820c125fb646628bae321412498ec0e2089e2396c8f9b13a96c66fab1bab6ab5415e02ea808512e045fa7cf9e73ad34a802a01f5a2bce4e1850a2e3b4c92de23bf2b2f58bc3831828c04da217fe7e2b203b6c164c37e6d0418237830224989cb0e3e613b63598521404c89cb0e8e80044c6d5de5733fcba7fb2bdde78fe5ca699bd37dabee3b5b7d6ad62962cc7cd1079b2a22cccc29e20929671154e4ac3214118b483989b88208d5108a4839a354d7337f2d69082aa494530c0df10d91440a518794720ae1457621be0871250845a6eefeaf9520ea98ac20c24829832022089f996fc5e9a28894f341acbbd421a5dc5dc274994929659711106526106126bdb6876a8b739232e5e4e37281e2f53e87272953c4d3c986fb2ca793cd58139af5312363f63310642490f9205b210891202db604892096f417e20f1defa9bfee757cd2f7a96319cb1cefdf9e3c79ce67f537cde5ba16a4fe64ba1679106dc4241b8e0da6b4676ec5714d9ba69b784a249ed1eac70dfd45dfa099641a6441f206f216f989acf9c0870f4cf89043c80728611eb3ef4a5a7b9f7db4ce35eb7849e79a755c837155c7c773fd0f47d339eea59a755ceb8c56ae4df11b9c063f999ca6c64b9a8e9ba6dfea57e53e3f6d3b97deaf7dfcfddf77d4f7b342614f08038e434a99456c49dd73198f7e2b698b727c05dbe00eee1877899a75b0ca4df3b716bea13b9272a6403342e002c0efb354d35a38d371be38be2f5f95180c42b12fbe18941ee290f3e250fc9f20bcd5079dd2d4a49a669f13bdafeaf951ec53cab4b346a35b8b1dddf2b638ca731773ae3f8bfe7d3dec1e70907202512eac99f1e6aaf7558e65e5b046d81b6c0c219821f3e5786facedd4de648edf6f7bed7d5817d8cc2b9117045e9f94535f8cb78847fdb10af6cc0dc364d44d33f44a22a5f4c2784b48e9d3a3917296ba2bfe979fd2e5d1c5d17591e3ad24ca6544b95c2cb3bb7813f178ad6399af6b63a1e8ffd9a35d87e2cae02a10e29e3b6143416853622b406853523d5065950ac5e2d112a5febfaf58dd4b4dd27b7604547ad06e8d49f45f8fba2b7e1006a997fece4ff448234dabb75aafee02c4d58090eb0897141eece0610c1e2a0f1f0099110222034887805e404a76d8c1cb0e3170e9434a395f6bbbabf68d2f4c067ad63fd10bbf8739e81b5f9d3f747d6d77f1cdb5329fd51e3a4d7fb185e597b9ce18bbf65905a9a3fc899657f87ba2ed07a9fea02c7aa98c75c5bb72a10097991c69196448074074a0800e2e1d56a8d8f3c7376e9a247db11d792bd593e2d134bdb9ba2b47528d3c3c4335f57d00026c59630b982d4048293d90a12d7bcbdcd2444b21212d1ad03285969b2c8864f9220b972c4be6e787b9c69db632d387f561415f7ddc27691464731565eea4d7b52327a9462bd73a1369e42a1369b4dad5353779d64bde1a6fa535bfce98ba4cb3e68f7dd8c7ea8325082cb36547a805825613a1d6102d1a42ac4042ac35585b6ab1735dbf6a5d2ec3df6f9ee87291e8ff58432f514df3be67d1916b2c6be9f79b1cef700fa523a7692dbacd6d5dff463d143d7661ad1f327ec6d08feba727f493c40088840c40819001e8c436d7fb9cf6efb3317fd8d62c126bb4f20944ff59935e2dbbc264b8c2f47ff6b4fe7d1f043d8b988d904f193e60f84420e433fb1fab8f6b9aafc4acbae495175aedb0a2810f9513aa4f4ad97d2b97bdcabde41aa966b4aa243cf2f1db9a64fa9f914aa74790500f1839b5bd95cb18c3645efd3fdf35d4334288a7119e11f0641e1b9e01ccf1634e67573f8fdbce6ee5ace7dd949b66cdbfbff7e6677c3d673f2bc45815aee6cd1f137dbc55c7e707551810a55cbcba8e5d11c639a52f50fffcdee76c7b455ca271bc431073a57173ff5c7785ddccaf5927bf8f9e35ffccf8c30e5693449fcc6a0f1df9ac82f449c655e8c8f56b9166d24c1a82b4ddb18c65fbafeeeec35a9aba67b5be3fd2df178ada6b05a2b2bf9a96ff556feda15cb83b6abf56d7cdd610c689a0cb30ecd650fbd4b786da67cd35972890dbe07a5d6be2425dabf94d39634f248122972dd765fc5ca559dbeedbf7b9fce1ebdafcb88786c64bcd71cfdc0fd2a9f9598ea358d215af0c53efbe1ff9b49bd3fc3edd674c3110d559d7ac43b938de9eeb6741ab3f1c7f1f7708fe7ba96d5da77cded8276e8eb7c7aaeb94dce435ebe090b446775a3e3a39ae03fcac5aacd40e9d4054532ebfcdee7dfc6abeb5fb300c96f1b69a25c3b052cdbf6bfef15620aa695cbcda20db3d085aef7e1c6f1dbfad2b8fcffc60c69ea651bfb6e2cfb8c76758c17d6de7a4d1248df4f8314da3f60b41ff646ffaec6369e39b494fc78fb9340dcaf675cd37e5b303a2944b87b9b062998f0fd6eba56cf76b6d2dee219461d26ff5de2a1b8d7fc5b5f8c4deb54c9cd4fd085f2f519a94ae38db0ae2cd351326de7dac86f5efd6bfb367117bd76523ff2a0c0c757dff3c33729fc5abeb999df2d97d8cb3311fbfcd72197bb3fb8b39f7a9f7ada1fdea77969ebce677519f3f7ffe4cf9dc26b5c1e45ca8bdb6e657f9c6aa8d55d9561f7df14dea33eec12aacaa825b357b2bd1077bb17417c5da58d53d6c879fb3a36f0d59af6b6faadee8aede7c9f85e1a87412940c9a508886836bdda3ac91a32c118a92e3a5eefd3d0a083310d9dfd014139a5c4c29a6175dd238bcee5d684e991cc8f0f59b71c9f2e4df380bf5abe96449b1543a55747266ae1f86156592c0acf95935ff6b4d4ad9810c996e629052862043261842a60f487ead5feb4edc2bf5b173dd2531b77e9a5612413b1431a04c008a1650a880f2c56ff0afe2106be3b6257f5d2b8fe01182b2c2d41f54ff7b5d7bd2fb5aec53b34ecd7fcaae7ad25866b5c74b279bd8156138585ed7c638fc5d51e77f75cfc3aa59e75a973ecd6a4f67a343516bd5296f6d43b2e13ecb89fb2c305d3fd6c5723a79c92625c39f458dc3990e4eac6e5697abec7f42a3273e360a6768e4524ed0ba9ed9f683ec5f99f963468666c4c88955334bc040070c6060d030a8e00411275b38b9f20222a117d2905a495feb305db7f69c94bb2579bdf5c1919ef19c94ffc61aef0b535e18a10920a126619a24d1a44aa88928c4640f29a51519626205934debb61c37513dfe953d7b15f512f55625bae5b8698e74675de3c7344d53bf38fcceb7c61cca351c1073bfedd793eaf16394a447e3c75873fc1814a73456a9eb629af7bf605caeaf7dccf5dacd861ffba0a9c78fe9997fadb5742f5ad867ac5359505835065066159c24d713078a7119f90d3738508d43f11897927ecee6fd20fe97d70d8298bb18c79bf81c3f2cdb1797f458e5c5ce66bff655b7fc1f6e0f6b2e93055fbb64f8cbf9b7b5aeb7ad5bae7aa6b37e51d976f95537bcbbd46bd7def77a5bc79fad5bd357bd79d5ed55378f713576ede7aa0e5f12e87023a5cc1f86a2eb55374d6bedd9dfa0cfe17758f5d9babbfab057bd113d69e5f0e4f4248692bfeae6dd034989c4072991845222c15222b9243252cadfd76acba35ff5c66d78d5ed3bac3a5266beeae69d95f2081ba29105460d187921d1d059a0eff0d5a33982e1b3f53b7c3f202e0e6601589471a04c627929cb687ff6d9f98d835633b0fca1c8024234b342f759188e0c038639a49479082982c106e5335b110c294c2779d818cb491829721285c849285d2bf9286e9aa6f7fd8bcf103979c10900442f94d179ba442f94a1d22829536aae617d0148f4c20e152935a2e3adf1e76a32463699c9d9355922e5b88998d421991021259318783a9c4ee4021a5206e9b8f045ce2ae8020eb2fb4de482121ff3a07f11f91691fbf89a007948292501c44839efc770de5c1360a63dac0980836ca18cdcb6ca442d7881a585508e2d4441e5adf12762a10b1642118f54b4421ca2151c205a6107d10a25a8b0880a62e4d476964a28910a3d8854184194c2981410204a810a0a8b4c118feee346abcc4bfa33f60f73ae8d1f13bc45287c22144aa22565a4944ea468891a4b8c102db939a1062778411acdf1e6b3d50bb25b74020b269c40644216266c3141242aa18e49f2df5ad4ff69aa84174424b82122810424641256108d1003d108598846c8524a0348d1082e88e61011e1bfb98847fa7d2e0fbb9af813a7d4a138a5fa63225109a113884232510827347387488908444af40662ae3a66e25504464422882112a18b48042a221194984c17b77ec33b040548294d5214c20ea210a088421041044209e464c28489c65f6bb5fac19fc8e9d66af5335b4fbce5509cab9ef2afded5edc5d2f8d939c72a1b37febc96b0feeadc82ead1b4196ac4cf76861ad1b505c19a5f388793da59c5677eacd2b3dab3f3c62a9fee619c88b37c9fddac7186f31128405b3cddddb7b9ca8fc8037a451e509152e4c107ddef911401808c080054f8000007510775eb2d62510761a4c4dbaba883df3ffa6e49296990a20e569052c4c118220ebe4839a98bba0ab5d372964e4faae53a3fab1e1875d5ca737478785038ae73c34aed741c889098214292852cbdae95899044116d9002d10649c80ab3351c2ba8c75bc3aee22fd4e2fe01ab3656ed1d8090f244dafaf36bc71dd6183c51a1aeed73b382e2d5f1f960cd5b78ede779587b5dfbbab691508a2fd9374223652352d6600d29a544e1c85e55032a52ca15237948c948183935e93306473edecac84ccade6364a4df2e52658ba02167fe8c5dca22e1e67be67a6b111c66dd95068a48892f0dd0a0c1171a509173ac32c7aa1914524f2d9befab38271b19cc282203452c2025223440240c4440445238a491433e70c81287e41c4263880c0c8180212a439214f281429628844a0cf608c5408e181c11031b6220020cdc80411712a5eed9913f8162f77bf673bdad97e8a4241689f5c2df6845477eff33cd74d0e1fbaa4371162d656cb55df9a435b4445f8b584a298dba7e1b3faa69c9ea7a436bdc543d5be6cb38213520640f423e40080308410d12030f0cb281418c18e4070941904204e1421095202c04324696bc0484c3c5b50fc2ac5594140c9472d359a592d635cca491eff1335dec25532053026112081240cc00c4094040404c2fb8e3054948295d8b9f8f9bfe62953b8e77b7eae0505c87d16aee4ffcaf0659d187491ab976e5876dfca69ad2db5e91341a79188ac7407dbadf0ff1a3b04af655306ee5eff24abfcdf8a6b0ea7571d6a265567bc0d8439e6cf6b5387c982ce36b2bd802f7a34c4cfb4146ca89f2e3093f7cfc608118fd7d1bac2c0862010dc702541f62a494a8ee6338e87f3691b59fd54712c9c71f7c8ce1c30b3ebe4829c7ade283f281031fa32a7c48d61e7fec21464a699db5c71339a93d4239f7186ff5b947123d0891f334da447d3ad9ccf08d1e1cc8a9bb0e95070e79b480c71c78708107147880213ca4dcd10775d3bc59bc437547e98e23a1158459415ec11629259696a354f0830a7250810a76f461071e769c618702ecf0b123c78e257688908234528053c023e524699ab71ab128c9e726c74d53639353d62499ba5c619ba84ddd879dfaf88c5624d9df91eb994d9c546fa2a69e5f2f148841c10b055b5000050549c6cf6a714f52c6239f7578a00e581d54a494d91bb74dd4744c11a203083a78e414295426959c14ce1cdf1c3c739020c709e428438e2ae490c9c1c911421c694c92892b99564ed2f4c744b798dc67b63814dfb29f853dd9df5285ed67c5a1441c534271482925750f6fa246c10104470a6f9491528618668821e87b0d525df31b35bc317a03891b227023026eb4c82c42c602548a437116658d5bd35a94bbdd6b9ca5bb9552dd4608dae0a28d1fda90b5916ae30636fe60430b369860030700c8101bda09587002347e1c8a6ff9a194fe7b739246fb5f9334d29aae26bcc5eabffd7b5af56cc6debf873a01014e70640d45d6e0630d09ac21c41a5448daeaf1abb7baf66bc1916b3140e03548993269fc89ff381497a166caa4c1b558ae208cbb7ff3debff7decc35bfa70656230735486aac6082444226888009be98604a09002981074ad043096ca4945fe3254afa19ada86ba62d0ec5a99b6628eeefeaeb33ad3ee68b31dd98028c2981047390408cfc2175d8347213fdf9d12875d396bb0e45822734b089da5fd796e66bbe973cece0b8f7e77015253573525bcf6acf9cf973523ee36da29ef943ceea7a532975cc5d6c3706fdb35cf5f1fbaabfec9675e92dcae7dd44ed7a06ac4c365133b9d7945f0a22f6f02bab71e36b77fe7013591babbaff2aaa31c6d9cdba1f64ad7c773751aec185478bf82fce594734800cf3fcae391dc656b0aeff55b09c34c94b271becdd14f6ae45cd6a4f0eb3aaf5ffcf575fffed8d6db7bdec044423e5159ebc44aabbe678a9ee9a33aabbe67cb682ffbdada269e30671f6b40b6f0f2cc15b3ca3056750a1f1e75b2c6d713b834a39cf5832496694d92833c24833a89c245d6566f8248ddc8ceecb1053c64b393f1c3d5d65ac5dc3ffd9af31cfd6624ef732dc5d9d0efc216f3ae085fc6a0768075ca2c82883f126638c94920c2aa494320a199dfccf9eecafa6b538d006079ee0c015318d881123260a39e9c63853d7963e77b16a743f7fcea193688a8e6657c738628c1f63d2b1012236d0b30124628411e301623c21468e1804d000093480000d64d180280c37c20023e504ff26c7f1bd76e555e6a2dd15bfaac51c4d6bd11fd7c59a7657eeff7d76bbc97d52d7ad9cebb3a8ddb51f9fdd2fe5a6f9cff2fc212e7d95b3dbe69be3a69931a5253d93ff3f57a1340c58183672b656ab9fe736c792010964604b066020838120303013a691306d84f140981be6840b78e002f60223299bb8cfadb3d533f9b5587370d28b798f1c6f278d4abac2fcfbaaebeb7f189be6e4f67b49bfeab8e51a7e0e453c966ade4a24ea579776856dd77f5b75f9be0f461d090003083046728ef5cb1f84b79b6658f2cdd599ce1722f8628a2fbe7c2183947236f9c00d9b53dbb73aa9a186f9b0fd7d948b3f6ca766b5e7ce6acf04edd6ef5bdc7c63d5fd107752c0aaf2d9ddd2c6c25fa62eea5c5f177f95ead725ed79f8bb9a1fc4dc166f283d80534a3d08f7d3a9ee9ae3a5938d0d6861acb0f6dce0e1b8dddd8170f7ff6c08620e5f4aa98e37c9783fac256a6d5d6f7bc59f71dbce8a3e589e0fb21f2afcbf523f478fb7f6ccd15a12eaa288f95ed5e2764b314eec70ded786ba905a5fac6b8cc33c310ef370da82ae7fefabbbe678e141027eb1f52c1108c47d8eec0868408f08cce6864704a81c41010414c971230481258220e023e5ecb694920a178d7061071763749ecfc517295d73ad6b28a5d45c2c91d235176eb848e2da1622086d41c574ede4c2163eaeb9206ad9c25dd3a20c2d6031d8ee5e9cd63f518b19a4941368072e3bf8456531a666f1258b8d2f1630c0c20b29e5f4d7b5389ca6ae6bfe9bdf876d2c3ee9b7c9fe86d148181408834b181c64008c0c641165c0040ce4314ba41d9f4c98f807e6dfa6d7c5dfad9c631d8615ccb51456d0f5b64b1e62bf35acb2c97a61c085308584292327e534343435a64dd437cc168599b9401f52ce8cbfea1eaea20b801728518c7fa6b84b5dcac1f002061060e848295f8abec843f405992f90f8c28a0516b1c01a1640436401047838ffc35adea4c9ccd8e3c6abffab44d14d9a44715137cd28dd5f19ce49d926b34b79cdd5c77f8f37f97d76cdf93dfa1573a594344b239fddcf5c71ebb89aab4f5d657a6355f7b9fae08455c642a20c25d8bb1b84b408278081097cf18d7da49c400a5e8491527af1c4f6628b943263f78246765166763166eadb0504a49c2ebaab0b1c32be582410881709cc10813fa49c948e1f756f1fa9c2c805a494214811176422a084f41a82bff3fbcca9b7ae1f175f70e1c4aeeedecd3d491db6d9ba7e9c5373f5d95895833fd66a567bb660e40e29e5e9bbf6f55bae5b167d4809562e8ba02c7ca49ca46bbfaf8e7ccc755ff1c341358b91c442055870008b4e6ad9dffa80421e90c503ae3c4074c51e572ce00a1b308380193361dcd6a9d999ba276d2630598021020566246967a987ad580465051a56f420b2824915349072d64c4a2d0cf5d3fd6b8babce569fae0a21aac041ce2a946c0e68c3013329e5c4402207e020a70c5f772af2b8bfa9a82863e32ba262082a68f01e6fbd555b2a2469e4a829bc90f375edc697b479c64eaa3a53ec206503f66880160db8a206bc305ff7c1062491a28ca9f3732066496185143b1757500a27238a8288c9a1a2d801a2f77934148a404146a2a0c8c2675074bb8a3e7c5737c6da25fbcb0013440b206401578816c023a59cd86fed8028e552eae6ebe22fe3eee29b27887862e4c40a9ca8c28977428626f468428e2610d084a90925d4e5503cdb504a4da08c354d3f9960153d1e9f267f32bbffb0f6b0893261c3c406a22554205a028a25ac2cd181127628510225b69cddeb4d1cbffb1d06fdda89af48892822253e09a9000c284007058cf0e58c2f60445f92f85245f4a50048bc00892f909002891c111228889050728419a223b630c0115ecae70f36efd27da2911eb6bf4929e32ec6d998e9378e37295d5b777ece67f7dbbe97b1571fd4176bcbed94773394ba68025c0948e2450d91172b445e9af052839715a494136f27d1df5c78bb62986efb416fad54f7433ca594668d766d7dfdaefb5223e430a208234808408108015e66a5f45fcbf26b71dcfc41ac5f8b38453052841a450051844e112251111f102107115eaec53d00d1fbe14ad328177f62a13875b17b3237befea4897e225a18620dd110410ce1440832524e269f6d387b261ab67550f65c9ff4d9e21e7e56a30fe3504409b185103c22214a52969c15c416418ca220b688822805c14117197420455d0ce902013981e88771a8f5878128e562f26b710f1ae54dba705d4240b800082a80e802445fd3b4ff40831fbaf86114fdf0e40710a49c3ae8b7157d4861f1ec4ecd5b9a7dc94b1867dcd2fb5a273435f8ebdaaf0ee34496cf1aad96686a449db1cc7f8b1fd65b2db9686a686a360f9728d556dbee373dd3b9b61987a0a5f7434c1ddb5db3096f93ee529df599fc5d67fdc338ac9e63fd7d354807acf7615eaaafeb30aeeaf8f47c8bb8fa05458eab3acb2efeb4d575f3efe67f1626fb3076260fd6574c3371aff4611cc6c410e310f780714bdf8cdf2756192faa07dfc4b4fdd9589557f9639cbdb2b1ea7eb8da58b5b1ea569c0faa3b38e73ecfacf6e89cf1d3fa3f9f0eb6eedea569ad139653cbc65b75297b6ad9d4d7b5a7968dc639fff77ae1eddad76efd1ffef930f6c9aefcf7a6eac53747044192a5944990d050da5fc30a1e2153bb882e15b79332aca0de17e3e4b75abfd5de671f9d9b0259528615fc169153f49d40bae65fe5ac004ada49e5a51d9b1b7ef57fba8abfb1fa68dae9f493b363b3e5efea6f3f393b75d79c2e63ef743a75299b10cc3b5fdd17eb93ecefb34e02209d485edaba0f6be658b9eedae50fbb54571f1684c38d71aef971766c723aeeb471906bdc9666d33c5edaf666c766879b9312a46931aedee87d1fbc3564699f8cabd45d73bc55c655be1b6fb47e98ae3b5a87b5477be34d959db0ca58757f8f1e3f04f34eedeebf50da5be94d64e98460de096b8fd6564b4b7757aca2c11ab20c30d6ef7f344efeee62d19fd69f5f3715827947d75c7dbcd58fd6af7ab3b5e5d15dfd1dbd6f8771c29a5b5b20be451c92a26d8c9472eb62c36223c2b56d8b94524ae981146da8cde41a86c9bce4ca33ff0e6b575d2327aa18a860a494ae95aceb564e8e390387da826d7b833f9dbfbb98d3a1e10d36a2eb6ddb8d925c5befea7f9ff3e31887bf2826171a52e4f2723fc49e4b8bcb8aab462bed19967fddfac30509c89012904f143123a5e4a1062959884911d02252e7791f7cd50c0b65700400300051317225a4dca5cd05bf2237c861e7b312b32237a87203ba01dde0c9064f1a698411798491f912370761db66fcfaaa531d9e1bd40e0e4ae74785050435c8231f3882860b47ce90475429910e8a4829759e447c2f9748079f0edf23491c61421e41c089a4e3d238bcae50cb0d6ab40d4aa2035091d2a471780fb045912d63a494a22d59cc2d33bb0587df66ae688b4b29e7c35ab2bf5af89854862fa5350ec535357df53bd9d4ce82bdec0ec6adeebbee5bd98175fef08817524a20a9a4ab804cdc33a79d5468611afc9d1af3be3a5866a4e4a936cbcbb274c6bfd2e9ee5f25650a16dceab4ad3fb257cdf487bd9ce57f7295ff429b5bb8d5a5f46f9ce53e8ffe3e5497daafa3bb8b6faec5395cdba3f5dfdf95478f7fe5f1c7fa8db378413efaed9ebd4a6b1c8d25c422c32ad8b65af6ec55ef55d6ebda2b661f5d7dec97ab8eee529fabbcae3b3eb357edd9ab3691d55d7c736d8f0f4cd78fb5b5e5d135eb688d3fecdd9488ea52fa3fee62d9cfea6c4e97fa30fe30f661e18fb5673e5b579e1cfd19e374ff0a459cade80af3d16f63dcc370706e3487431d9d7195fcaf7bec177e953d7bd57b555f2c7afcfc3e3d1fc63eb3da93f3aa0fe21e4d6bc9f015f1e4c143866726e2295d49e44a0bae4c21bab25d014194832252cab95fbbf27fa48fd5ad699dcda1eee19193f457ef8aba8729a966b44a513a6ef56161e7460e4f48a9451f5e9f6cdac8a1cabc585b11775eb388fa365b3d96f16b7c009f5a0ceb932755f6370588e9da8ae9ba33cef977c29d255b15595144ca11a4c88a1ddf57713a2b567ca4aca1b53292d3aba2c78376f57d15c766866f44557244555c47111d32443a4fc80944ab0e95570787aeeaa42065f5f1cbefa365521d558a2707a593e3caf941ed681ad5fac674dd3c3e2ff6926f5d7d6e0aab50706521e549d34e364fc9d27dd89d4e2d9bff42b165c37d16549249bbd44871f88b71d07282a85f3d88591dc656be0f85038d94728914e10082eac485212a550056016e3811724ae3b4c5e9139d48f05289ea8c359d283a57a8464957462b3a7548f73fd71c39bda2e350fcca6845c76df5b6d6c3febaa27c62d8164f2d9b2e454f365aa87bb856f750f4b7df74f62aaaf57bad5a3ff7d74bfe759d05612fb17a2fca5031ecdd101bb880073fa8b090a4062644358035bc8fdc3507728d4b1453942da25cf73f97de3909c04b272f5111ab6bf6272f511163f5b574d695ff43fd5747a5c78f7dc69c88862d52d2e044caf9eac1f2af57ddfe475b9e194e809a61678626524a10a4680613641844062a443274b4f4aa5b7593673dec5dca1fb6f353dba53e08f78862c04314431b3104218a6106510c524453ee98f265ea4a3b518b8fb7a2e65ffcaadbf8edf1db5fc5b97b6d3b5a277d9087faae5a7c7efe708839b7b789d74829d1f8f7d578c64ed359bf40734e2f4df192142fd570a14e250629b306b4331a1a2952b2d8398d6106bfe106f757ddb6187e5f258d5cda4ed268ff4bd3f4abde985c6bbf95a3fa553793a64f6394926a3cb24ca8c4b3c60321768a660000000053100000284058301c914945e311a1fc14000162c2a058c54614e8790c22848c213200000020000000000039ca48a09a3ce4432ddf7f7cd670428f7298512f9bb461129fd30c7b898ee41a4c8887244260d2a0bb158845fb1570cd9b42a8165b2448af9d0de428add95d285fea96550dc6c200f17f94bae646eef87d4e1202decf7bff7c1f3d7e5b68a93cf057604f53004f0138d3eb87fad37a313115f5adb817c27c1c0fee3522213d3e1ecf7e2b0ca0d9cc9912dc7ad23f1c2d09434bab296017a93ef5585c0f964ab70efa2020745661ac39eb97977b7a956cde3a690c7e0b25720e001efa9c982c60137f8d2dc7b451885690413307b81ce7fc6393963351c89ab732c448d92aabd048cbcf21e580de7cea46c6fabc929112cf31ef4d09b2cfec2f1f4fdcf79e5f0d2113a3704138017be58a0b48b06284c3c8f6c5296f7325e8497969f70ca6bcc35677aac8c882435388fc3f5d43dee623a2f05b7a04164ca8460adf2797e523f4eb6fde63dbecfec13fb07c6be2a1ef141c11b608f13541c4403e9b35c605f09f2a885e6f2ae26e13a394072c0256c7a5e8e55c6f15f0ed33f4b9a9def96e1fa9a83661e9ac1ebcf09f3ac320680efb1222fe3d919517b42086ede42f31a3404f205616b5d63337bb1c91f5c00de02cbba043362f6c78b2634236e250b9ca84fe50b33f0957bd310e877bc9d983cca24c0c2a69b7ef9d3e9891b93b865786412c1a8c096964166603f42b13fc7bd34d17a72f4e7d82a5670a683efd7e217695a0c2783457b16ec6424498ab0401f21e55ffa0f1100190b90917464e4234cdde67ace281953407e897ab8de86aec6504a0714a4c4c53641e66554240d6917faf32c678ae42a0846e3f36c5a476bc23c104c955640be1862e6bf768e4597e00f17e0a20d447b13f1d9a33c8514919f94ff9eb6ac8eb8d045624218c84e9fdd848651ef47c96143ac00c63a78090f4c9901a931cd0860bf3699c7a115b624775316a0af6d003ceaec63cb4e7d9edd5445eb73fe6608c96adad97c56e3eafc8b8652577d225fcfe12b0d29fb4c74572b736540bc2e90f5739bc0ddf7aff2ca247d99f981bd209af188e2c1daa8cc395bf42dbed49cf4af2c46ccd1c012b42df8e8914b84e831537cd784f770c86c2f3126bcab75750a7889fce2af125107db016a9f84d476d1fdb5e8070bb2b319d5562d583c0af394561debe3b00f54a0b3dba8e878355c0a37a653e7718842391c757b04f57fb606cdde13165f2e9c95c3eee82be40ab18fab57c0e7afe8bf9d8de4cab4386d0df99f5c1410fecab07173766af518e533147624d84a183c18ea5bb08195418f68437803e8af74d4c83065b4309ff08efc601fd9cbae7ab0f6195068395179447e75e7986905f70b202f6307b1cf43fb09eb056cd841d804d4f6b938c6e88daec52a8adfc4af30decfcaaf91ff533a0d75fab70d13080d7df83eeb918a931f9847ef0ec8ffeb9f6dd152322513776281f72e6153e4e21c2c4c9688433a4c6fc697465a41085d454049952aa7cbeaf0272f19a82e0d351c960c33cdd7d9be092e2629fd13fbff0bdbd86ca3f03cd9e217f1a06cba6f307a889f4fe5337ff05b2b0c53b667041d740b883c6b1d322a8956e0b4c3e3b68ceb2e6835bab81e2e5c2e317b2a004b028041bc05ba2a833c6e7aa485e0f925fea3e939d73bdf9895acb81ec81bde5b3c49ffda6cd9a0aebbfc352c9df3959eec1dfe5d851c549cb8cc55ca5d5691254e0eefa2dd08c26a09c2b6cbd909328d4f1fc1d618155eed3e29ed884a535a0b7aa949932104d37fc580b1047d5845d8d239c132d02ea25ae9dafa057d897600adae9833ee134c2ba30e1e382b4068652ad2e7bf4d1e40459481c4fda58ba15cb9a217c378174effe66dd09eef3c797b785d68cc3b69c1066e4d7912189acfdac0cc10eaeaefd903f909b7882b0c9d7152a78730688350e8a84833a6547787eadd853b3b752dfd557ff384e9c866a845373e9098857c3cbf60e99f18b9b4b141fb76e52aec5be4bdbf117250d7be277145cb4cd7670c2277dac94789e9b9f34ab97ef554da6941ed74350f2b898ff43e152f418472b625d16c9f5c3df406353705ff223abdde7821f2c64d1e58002d63f838b7aacc20eb713e860d14a789016bd64aa24a50f8cdbabff0fad5dd78c84743bbe7be688f822899374fd9be81a70a739a6a41294cb5f7d48583d25070027773f32ab10558bbab3dc4abf045b0a957aac4b86b2ddfbb1216e82387facfd9dd8c2c751635ed917b88cdf2d4069979c84107fc50e217c69be5b88893040b178dd5c080046790f963c87f6af442076849423420865af00e3bb84703e302e9061c431074f4302f230d6044b2669606b77bac0a4bf67ca2c50f11607406baf55f8cb7ba3d3c0d8b7218148628185c882c166cd2a2441a1e42d7863090ba821d725a474322a4237dda5469e197e061ec5738b8ba1780bbe98d5b81b05882f6d9b9d1879564f91862822cc4d4c809000cbc6521fc95a2c6d91046f964928ca58c2fbad0ef5909c3ac5ca6c26fdd50f783f54db0e9122324cb4bac6b9452195c92437bba0141abcbbfb57b22dc6412cabcf88a171bfa3e1585e485e39148cc2ee8e732d334938c9a42f9bd45d4e0c76156d57f4daeec91276d617bb362297022e2a2e85c7e9da996012e962c97adadf28ce8e9d75e19cd0b9700a3a762068091a5abd945783c727ab1811941ccea4e690ccf327a0ef1c1a3863814aea449bca4d8808ff34fa636642d3b71096c7a0ce65766ba806df999f27f76a0ef8719300838bf5e8a93614e4f0c6bf4f62b64ee79e17c5c8ae865b6ee6ba864275fd919eb1f334e4d1a867397dc6934fafcd625bd8e534bc5e97bdf72d638ab5777eaa1d6c99ce5f081077b1fcaee50b4622c23742b28032147c847cd51bbcd32d9f56f337da4d9921a12cfbe74180667d9332d9d3b14e397f874836069db68314ec85d6596217ba6f340bfc2465288e781d281f24874e6846021d6fe75469fe34f7084ef2cfd7294c56ec50c8a52616e768eb9e0499c3a4c31b1628a8d36e89a19102687faa951c7085c0d78e49244c63b49cfe1b169e121b1551b4bf61b2b58de7cf860a545656c7c31c904ece78764f32f1420472cec46c8d2d0e54aab967dd13ed50f19158a7078611a880814f644db94755a799c08e27c344677b0134b3a104116afb50e822757976b9e10d892cf472292b7682baed6e8b8afc44d49e01656c4242fc0e14d098cd155c6785064e60513978c4c0040fcd7bbf46768f5ea486d81c57908cc4b10df62fa46993a12cd6a8066732625aeadbd296986f2e809c240a9a8c1265f7b5ae89ff60b640f1255960638ebc0f7aa56cccf0906d657318b6db5d5951bd2f603b03f9f2b9c8300e1dddd80b9916136ff5da34562859e69a977c866a574ad0ec109bb1d04dda981c546c88ec3c10f2fcf52cb1e8296edb09cfb8cc6fbcc152aad043e50e3ca88fb560261d5f7ff08a644cb890e8ced1da1c8bcb4e62fc88a63222769b7c4953a4534ab39a1e49ef7ed501fcc59ca66fdff6fe660f2d8d22acc19fc7f6921a6bfb9b78e99427a914fb4f77dc29f437ebff5887799d911d0e702f13304f0b2f52fc2be86f01302eaab9581edfefdc00c42e3e5b7bed082a2faefa95abe3f2645f392fdb4d2a5c8e150ed4c9bcad9d59b06a8a4588eca5b7ba1ec5320bc0c1803a4f550d880cc570a7939e23631e14276e395d11d0785ee9c5c0fd7c8acb01925d356f42a32034f353b25d976a2bf5577787b230112efd4db26c6ed34e1133a74a8924741083ac122ddcaf4682c159be9f08bdaaec3853ff0726bdb5fedbd7ce35aa5e656c53a06f6facb9478b20b72f1b2d3cdde5dae4e44f04d6c9ce25b14e2fe1581c607267b4964eb9513b9bb6477ea2ebf993ffeb5300efc183b66d1fee30746ea70dd459930ff9c85d5310f2527e0a268a3e9ad567a2ee08359f473a21a6513e31393702550a52f90d56603fa1aab2278f0be176df64f7577464ac75216f1d3f914b06c66c5e5846cc052e26fe771935c91894d7c4ed2660c580329b673685b5d90060ff155a786a4066818f397fc6f07e544131ed4abe7451e5a8422793d1cc9a670acd25138bd9a7b22d34e0ef7e730974601bc974dccdcf9bbf57368ffbe6df344ded513e0fcab10b2bdb8eeb737bade5451a630ec72d46e7f87f6d8d44e84b21f6d0d054e9302b13103561f4a8c108e1fe1615ba36819943545269f0d9d5d5364b02a0652d78aa3587c3a78fb8de8645914dec94d017227e72248bdb53add41c5c9cfa35b9d4345e63a68607baeae365cad8950a2a1dfcc28cf2d740330bc5ca6d7ef7a42e708d228f79d867869be2a6a2c500d94c39541a2d5911dbdf0428985404fa41657b836c9bda1162459265599cecfce12a4259c0de7ab6fa47fb471419600e07ac80f62a3272cd78db4fe60bc24a80666e54167282874041f18353ba03c260430c7c4a7ee5d0485ab99402722740ede6c81de6cdc4a52c375001d6a537b14b54b5d659b344415b3900fe55da239218a100d701e8caf52398850bebc29099753da8deba984444c83cbe58a47e49eaa214146720ef1bdabdb16996d427dbdb3dde8569ca9363d4353c9e3779b113866e5440a4794c9693b034a4654a1866897c2b955d1d5bdc04ce98709ed38e3653f911cf0bdc4633d77fc05300c305d7b8c45cc86cdb142412b791b4417a434890286453b6d27192c53bc59f0c8a7383bfce6dc9ffec7e0211d73bd425211625e34d3338dfdd57c119450aabeb4f4adcd9193dd4ed29eeb2ffe30083f3fbcf71f08d7266d0076c941406f242cc62fb3d0dfbc12e3e94055dc2cebfded0fe2e885660356464dbb90803efce0fb578e28bc08089d9abcd509067be98ed940ad59bdb67d71f3442031992a653b417103b3a7a820f21c377f3019799be348fbc000a526f00e99d17799243e342a4a70f408664dd9c2255d96da2db9504f288bd2165ce4ff6874cf645434f2ff4d54218d8a34e4ac67e1f80527329a1bd321af81c3040df6d93e556a19ceaab4ee0128714a4d9cb412cd1a89a323cfd3062b7ac7489d2a4ad1c8daff4d4f2e13f61c301a0e6de98a6d741a5766edb50b37369043cece3119679d32f6a6f26ba254d306d66d3304ec43974af8cd76cf1329cbcfe0d8e6fef5f38e2e71292f032cdb60259ed2cf9c352d681106e0ff3f5d032636a6f3fbcca6906fb92bb2c9862bc98f68085c1128b70c709a4a28686944fdd157e71a2983083196ffe07477f4b9490ff3408a0817f938bb548fa2ba82f10a1abc37564168d7fe4c35c34c24d7d95d831911fe50b6496b349560e343c9818b8f4d40686a70fbb41cad146caa9190fcdb276cb9ecfe61a1c8676abf65872d1d1ff0efb89882886a7dbce5b40f61038e0372030b82dee89c08797fb9fb022fa91c0587f195d7336f0f93e0726da4f9909e8ec2deb69be3acedd73523120d9b6d9c64822056dd85239766bdb5335d817be412740c0454cc8b837fd8c9e5c806561c51ed4a5e0571e382c2d4d416ea6c2d4f18af9e2f8c379fecbf634967de408bd7f1d672c1a0d19408247106ce05c44f8be45806bd8ed75c3c87febb18c7acfeabb38c96075484baa516d909e78a66b73c61e0b6bcb5e76c449fe4dba4306e5944197f3928ad18991ffb659e1d8572198c3cedb274186ee1d3bccae96a28fbaa1650e998aedb898ade05c94a198bb2246f0e2744dd35d22736530164493ccc6ffdc44b50744860744e0272c10918cdc51e683c87e462a05c4bb34f144b97c7fcd6a2fb5166e11eabf21d2dddf0a938540cc38ce6587b4127d137e239f930cc5e3003f4f06c01a6ba2f1ca6dd20bf08630f829aa17ffe87ec6a4c145d4ef10d903a83d9c797d0885c4791ac08c80779692703185acd5b9aa4fb2424de2828c28d2fdbdc512d869f9c9de998412c3491251c20993e12ef17e469999f0d32ee793ce5d3ad02cd1b45a797a13fa50b2145609a64fd79dcf10a2e204e0cb1f9fb58a1c7e9d27e6373a098a965750b8570249586a430f8a0b7a78cd42e4b1043ff9b4162b6e65f22b717ad0ce557c9d46c7dd95025e7c5cd7be423205c30fa504e18188bbcb3c47751a06e2cd0294e9f507d9353d6c028766ba9c674f5d295ccb42522832029d12baa2eb04328acd415347819be683cc8a2b8844cd334957739d7ef7c2349a3019ea89420bb98e4a9b28f0ea072bb065233726158763cd832b1a13ca09235c296d08819e50d7aa8da3fda110543e45ecc94e2f69a923f4191444832f5f5599068c035aacd43864f7460f5863c7aad85da75971eca7a3a143bc82697031b4b32ae3d593d6d2f3a6edc76dede590aa74666c0009b6ea53b05be6a32d1082d4b7c3bf9c680d163f558982fb21ded6727b48accf817df067166dc9ff21b69c6f46e3c95dc9f741b1180648b8fbe383afbf62b0427794c4e04ca3d11d99a84007009b960b1189fdce9f449b85c7e9e7183de50c7fd3dd3bd847d65a3b5763276d9c5c0542bc36ea276b3f8015ab53839ab06d5c20d2cd5d08b22f890e48436be896f99247d6856ab3085ed729d71001d3ccba31181dcb96584bad5e372b90175ca6edf973322c64fca0ffbecc03e1ea925cb73c6306d4ea8f861ae416191605fe8a8f3b8f639667b31988aa05d856123a11f2e43cdf41c90d8fee978b110e841f7d50e9239f694abcc072eceaf84eb5d872b2011506f350cf2404a9a121b3102a7e721746c3af5d6e3745f324cbe6318191535756d1db1815ce60a3202b003bafd073831fc148d58d03bb4f149d8224fde86784418bca8e8b165bf84601ead6fecd86b424f0e8b6001c2dbdf8279765d8c2fb456e386227e5e63bf702e1102474696bbf45b434d42e5efdac1c39f2c9e7aba2d1ec7d762a3d65c9765341f433431641343ed443cb6977941f5a5593c5cfbe0683435b859c70912ff79f74c7a09916235f89ba368ea6fa353fbea5ae97556d83707c0de6307a4cab9815c73a61f6bb549c7f499a9e5bfc2d41276a9dcf8ac2c71a2fd9c1f9704362bdfaadc29b33d9877ad83b22a14e434e839d011ed3aeef14be74ee18425eb891eacd68bffc9773b588bbddc8cfc50f34559ab7d488d90f381454dda7b9a4ae4f3d8758f937cea32e393c60c12d58858b53b4a99b034d51438aca62e70c61d2496a5e91522491ba2f22caf59044c84c983927c135e7ed9ad5c32a667f99a9b067b9f3b2a63f2f1ee3b4850b812ae58a779fe46f1dff2a46226af7034704a1473a49c8254493baf61734a2fc9380563acc36f77ea5e674218961649d3a6ca469574c474cf4db374256e9545d8f3a568327d708b57a31023a66fd8deeb875c0e40c2e521a519319d2706900390fdc17e4e262dd19a7ba38d9d47d53614c7667c0d88e90fe03949d16a79d6b6d1bc66b96d57286636cb1484173202319b5bd31dc212aa2f47521ea2f8eb8f663dc175e53615bae976d35179f30952486a302d3196e5e5a6b859f439abfe3eaf79b8111b6d64233d10b0063dc17e99afc4d74c7fddcba979709b208c0205ce4cafce4c06b8db56d86a86d1f04fcec8bfbc33676e82157c4380ee9fde96d4c4043f7806a38856ce790cf67241ee0bf6eddfff6a1f1e3ce63346b3987942df7a79fc90da49f157a9c87422df5ed12d50cc2e48c2e0f1428cbb06ca5193e27281e45441f8a6d25a726c8130aae84070efdcbe079d40dcf908ecda24718a95746f28ab6b6eb17a825057c8f049cc11e3c19f385d6103723af1da143c9cf73afd8db54d02a124816177dd771dccf62fc7208ae07ffc42e0fea58d510a50d9f8be6da41570d832981e438489203adb21b621c2ffde8c46ffd0997640ab29c1cd1b1902c997ce5fa1cbae54a31119c2d770ea25989f35c954c1498a484a275970aaac6407f932a30b43ca0b3184747b188a40c47874880a54c7588bf6f27dc8d54ded46a35f4c8bca764c399698be18bce8fccf12421251d81b4508120b4db1a6891269a74af84606e3d6f20c3657287a7e1a2938fbad2636821f9b89f55fe22fe9b98efef37027debd1b6e2e24f394aab88a1dc758438e73785f33e3bd62cfeed90fbf2f1613a72a62bc8268eeceec036f47277f5d54ab3f0619bc852875ea636164ed75ddd28f235759d5488ddd1780bbb1362345b75cf7cf7b19b270206b64e23d49bc39f759f9f5a19f330b507d116aa460973d246cdeea47fdad03e5c2646c9635e8e19f2454dfccd40f6d39b3d8e7b04bb2cdfa79ab1e9984cb7b9ac13bc7fb82728f7c8afdb71f2ef2601d04d50bd7ca36bc13dca638c12ae1120305d20fa0774fb5909b8f977d80784d09b3928e30efc4336b8e1d6323c834414e01a889b8a325729399f227561e65c936a71233c7a10a0845e238a9fef0e0ded27fa7d0923417b5513ff3f7161411ca8d31e5975a175ba17d6fb5edd31128edbd3a3f8c83ce4dd1776f94e0437c7ba63232c83a39eeb87575a79e6b594454e3c09025d2468e28ba4a547298fc9de3369e90d9953d3e2e894a10fe6dd0307ba8ff41494e3d80ee651e1c8a6a74ba9a2ea2658a94a2b468517efb53ef17b037a4f3659cb161002e9bb2a1d5c238d06eb860cbd7c64099805008646764c75001810a94672b05cf93b17c79b93a04762e82de672a492fe12b40750065e4113c7e13d9e576f424355194b21af387da786f3d6e1acc0820c0000000d4c1248907cd871a10eac687d0337b06905ba2678a2360cb7bf1696dd7780cfa063bdd02b75ee8d43938c5cf9771e1e29e17bc18513560b0f2df7d5dec0c56830503c53e9383d6db0011e050d749a84f6887f8fa79a303ba89506048c9dfaba9b959dda1adbd4f354812e6278c437e1fb8110d543ffa710cc5f69f8cfeeecfb325c730dcc842c9061da0383cf92060d7bb16ebe65a36fde16b2338e1d87c9d7f5b012e8d25480a8c0be46ecf46bc3990b9b03b80b75bed92ad573fcbe3076ea3d5571378b7ea6ddf64cfb89292653d7cdb6ee1db7ef93f3d0d6e8ecae551d57958dcaa5ab8a3e4705704e5305f54a2b842d08baaa00905069a86a56bc6764ec088e8821e5db491be733a8c657f7add03d638c985277b19c425add05b34ee38c4be7c4bb29aa010dde2a7e9f12b7ebe59b5dba3755b051c510a02c0a9cf333f00b833ebf6b305aff8986fb426bf69fb9fc7b64a12ef787993078e8b430a59b06a36e16ab1f85fefd394424ced68642b82834682d9c8bf2ab7d0191176459213c816bac1bee008dabc7f275952e5892c2975b88b801de2f5b906dce48d3196678494b07b1736e7fb2f6db4678a684deb689a6e6fa15e64bf5e0267b37d0f429a018ede47849b4d15b905767566874d1fe4a98d6eab3e62f751227723401e30cb613b63979e3940a7cfd4fdd9851f0627ef71d6e7ca46817afa6780abac3d6508f36e2ca059eacc019e8aec702cc47d678f7b83184ea550300491048def275244cf5a7199058be3787a6cd46309a23dac9420e23eaa64dd07d99eec27d9dc886fe8c26841b482d6039b3280ec56fda4fd56ca54cb5438211ec280a6d1607273abe803a7cc37b871cda004873e3805ad4bf67c40680632100fa2731708634a02cb3e6d800a56ce566368e433e7e1742cf39df19a10a17642e04158687152f26330ecd19b272d138599debc79a3807e5008ed46af3073a8179557f84b5d977c31d9abe39729d16011f1fbf118fba66c805a7dc78ef581ba9ac8ad46763835a703e319f1c09ea785c4464f219e2a3f41262a221376894b7ca5c4b8f8db9cbec56ae2b4b6b32b36de2fcdae1f46d9a381f07f45802b003d568ccb3e6c3392c16783a0326d1e4cc04eb67acd12da126e8737051a151547ce3092c9fc1f81d25d4e05ff44de83df5040ecb5327d151dc9988f1e98ee00a6a0373d1eec855018e4eff2b21a178b0881c6f2daa6d2b6cd44c132ab0bd8d0b8ba6239873a38eeb29954709afd63fe2d9b1f0b41ac10d183667f45fb5631ccef801f011859682c42f4bc6c7382668a4b8a76930d0ddd2374313f2c25447055803441751ff0174b9f3c375e2fb8b2f124bc5ca9c03178649d78affca018bfd3e5cad1f4597d4b35352adad206b133db1b5a2238b91ac3d22d7d5cefddfe567fab7c5bdb7377936fabfafd51a310faf687317e33cf9eb04e90ab346302f820dc42e49e6986f6d16d26ef7843be85a6918dc2fe2385c30b7d5d6faee003e241fdc789ae042500f73ed2223f96fa28b56feae74368488ee95fe529448cca8bc35eabbee301e700c155ffbb95ffab2c30969d1886c2ceb8a8da881a7f6785f0fed605abd764246e7e744b7d651703b9981cec631322cf141d7764444474f8b2bd8573373f189958fa48dbbc85e6117657015e1680b67bc5d44a28fb4ce01e4f97cceb204db4e5d7803cb80bbb17328f98837080a7912343780fa5de2c885455f7a2acf7a736fcfd878f0bb67997faba405d5dd2eb91f94f1382e4e059c5f99d5ed72b53842042e46509b081864d52347f2bfe8d87d1eb39d904762554a39f2174a1e95e9a66647e8e834c917d151a442d79b4fbd79a805a88b8a292a040eadf611e5d162c0a6023f2e6df81ad90756f6c230b5802f991faea5526652c3510cf1a56521af7dcd7ed63b4a4a899889972acab50eaa0a8b3ff9518a02a892dcd0969f201b18c89c46de66f400b6f84262ce5e089827ba223e9ba4bda8c68ec468d346c01d6c06c5f61910170ff4b7a9b495ad1446c7c44be70118ca8062efa64d90bac968a79ecf4b003605cb9415db80d92222dd9de195238671dc87a589f2a1a1d41e41b2a30ef261e2d918b81054ae72e1774158349b63591a816fdcfd177c53521be2b95b9bf163f4a3c9de1c6afebb6e43de495b39a80683c017b8e46a7e7b91547bb274c42d631303bceded8e00bf87cf54d2fb7268c0494dc0baa75852aef21469a3b6bde364750f223d6724f18cf70580adfa5d8a077aa739da282e2bf101daba8efd6890b3b1bb8767cd1e6d51ff926f6bcfa954875407888dbef41a65ca0457bc40333b7d63796f4b723ea61a4de0c1684051d12605917a8e070cb5bc2f18477850544ac405fcc8bf325e42a0fbc27ad5fb2e20217019fa6c37878688ac76abdb6287851dd1508be297587cd985fa3a183312687688668963b9e3217d176fd11821c5effc6d96a3dcd0d313d1bcf19aa045e377387e558f8d5c2d363e7b7fc55d03784cf2c02f0e3a7dc33b92f7aa56c00c627fa009ee69004762e17aa1f0d6dce5d36833b59571ab1df5b93be3bf6eec8c1268d84987e4a19991bdb71eeec076002abdcfc2c65f6608e1175f44a3ca01183ac4f5cdae0e9c2890829fee537a766120bf2078d2f8bb08226b1230aa18745729267ae515783e818eafc638cb6a7b090e88f8893c8c0af154007d3095151b39e02426d1fc551bdf3fa0df17e361714a8e7f6b1b20565a89ede02e5a94e56ebf8432f19343e8d799c5bb61e2d8b194de5ea1b44e6d6f6038ed7ef058864ed35902f898a3b52e46830b7c1155c0f4e7222449caea7a79c7c9190775ad9c1e3806d30813d3dbc18162e3225d7e41f32c5b1d46e3f6bc162854d0e33a416a5334b5776dcf5120b5bebed9e094504377428050fdede60d197fe27272cf27408ed8257fb19d2a5beecb7630f4bf157f348841a8170be1737030246369e5fc8f0f61ea3f8f09f0640ca08656a8a5730e47ae2700b2b2fd55f446a46568a25a6e47eb38ae5ea8eec40d86e48288c38b67482a3d7c5306ab41b6bd36288f864bbfaac5d4a48f633eed78a25dc3434241e65ea57ace42975c7e54075ad1bf1d390d540b37dc360f81dd548a2b120d8772cd9f260d84c2de461076435692fd406dfa281c47443216528e20f268bd49e5d3451a28a5d904bdd44cea3ee0f4882f722c76d4c0bd0fe2dc7b3494925d7629e902622622b5be8d5428a4141ad552f33222b0dcedeb2b046e89c90c10ea830fa3fb6b9d907fc43ba2ecac3150d23ecee589bfe20372b9bf008ff9f51b9099b47b7970a2ee58f2702a87753306888e819a2dbf3c911b4e0571758d75c11770d8adbbd4fcbae1ebd0a09ae0df2d1f6c7ddf0716048da1c1e291d535bd9ad03256a2c0668c4f18029d91a05d828a15698c87418ac3465ad294f938e9bbfd87702e8680b2b62fd5237dd9a424d6a4f347481e75b5e782de0b87a074f0d92d1302d7a530a58aebb4505d40080168c11de58fe722c1112bdb29b3f58587590ca5c59eda45383ce2a0b5db60b890fd3356b27a57afab60ae8d830ee891c6efe43f06a6b0f780e5e5fd267a7359588885859803f3d4de60875aa45b26f21e838f2f3d386be984983b506276181887114e275b7b1ffdea3eee6115860f37da5a7e63f8154f04141b49ee00d45ed4040336e4ebc70c8991f5d8c173ed93ad1c76c0275afb90dd052bd119aeb9cf5ec52235e7f479dc30d52a0ef8c51f94b77f1aba7f68746cade0bfc92f5e93130d5a7aa705a6d5421ed12978676feb4138fcb41604bf6b7337a59927c188eabbe3048f1a821fd219bd2143784b7b2a321714deebeaf78a61389296b09449b10a257bd7e665ab44addab0e7996fb76a13c41a4d3689f1dc5a94b697376c97b0350416e5ccddb73433089b0c6d90e9ae16e3e6e61975f3be8e8d0067f3f34768fe98b1bb62e34dbe333e010caaa78554e4645d25c2dae3d30495b33c787f6723aceef5e1a87da306f81e6f857d40313b74ce2b343ddb0f825381866b2dc82d732d061711446aad86f3b4cce71f4fb20b4c5093986a1d90b2e78fd7113c9a430d45e4334962522c9d895eebe3137b302476ff330b321fb6d51c9b4a55366a10fd8d8ebd9b86704f08fe5620a8c297d0c03ebf48b2a97d2b77780b107590ac7076d017f3d4f573e352df0e1feba6527c100140010a99f4937175986806058c769ebaa5512e1b120780673311dfc3a5c669150ef8fe42c4c39eb80791b3950c50a5bd3aeddceac991e06856b1b188088481e092cd04b9d37ff486769004ea525696a3f2fc90fd32d88bd7121b5090da7250f727aa890e38cb8d75cf82da6ce2ae718b388a3e9489d5fd5e9c30d6e4fdf7209ec7dc8a21032fa54cdd64027af14b7b2f38be56357f9e3ebd42ded352220f06c4e5b0821fb14060ca8086f49f324652bc4536ba48a4288bd127d2400f823fe05e097b1ce81844b068e751065fedac8d1a063d147820829df250c55cc807042f9f0cd50fe3fda2b6b3c5bf2163c33eda0b14428dfaafd2be3dfcbaa64290cc7c4ba89199a5b9cd339d171c9b2f446e7784debe5a7e4439de0e93abb7040ebc336700e375000102cedee1b506e27e14abb17179669609c0e794473cfcb77d882dd3b7727942e0e4eb1dcab73ec09675bae6a4282bb97ad9ed5ce2d38d8032a4dd74cc849d5e768c97f65e39262f5b7e0dc03e0e39bde408cfc89eee95ed1fa8da123a7e8bd0d137d581dbf824d46947dd278439d02c03a177479be0563be4622033ecd6e10710f42a54c19d15ea750abf02c92df9f6fb737ad49c413a776af79139f36d6b0af73bd1acc7627cdba86d538416fbca631a812302b30bcac107569dcd1c8425ec479cd43fe59b031fee92833d0609228e929b9fd17528ddcd0ff03c83720abc877033997d72b81bfaa96d630bd3dcdb9d735a068253add236672086d44be81cce08b249cdc4bf816ab2fc87f96586fd973a97f1b5bbaf28f3e4aaabcc52090f91c5c19e6c00e5f0b63b05a85d38368deded01cff6ed61fb41c0ee4bc462296bcf54366723f8f08c37af9781f01d34b557cbd511d6f278443a5105527d444f61be4f7f09be343356303f98ebb6fc79601a825ee25bbb1aadd1cdb3434907d3ebb59e3a540f836f71f5e7673247cad6e62405350294154a21b34ebfd08b82c722285e9440491200a796ee8bc7a9d6d7e73aa7ead18dfc3075bb695094416cfada8f2eee4ef65311eec3319cbf84bd5170d3b8bb98aa1f083cb687ae6d08af84171e6dcb7af495953c7164c5b22a1c08a0f4302f5c5584ab507b53b1d694c08e12984401503349f4e3759085a5e10ed4871894770228ac120df469b45c72776414bd21c86feae0bff55a3a0169f6f96a099aadec60bdd8dd2badd80e5dd40bd175a830a5bf3bf0add46c832d1f0665928b3dbb5328a618959f100aec61ce768a8169fe938e2de7c6286da1affdd1cecf992490705fcd5005bc8408b7c1e1bd4b7ca2598ac3a0a4169345cf8d19a7dea4b2d05c81b081012cce0e4a30ec2b9ac9c9af3030cf9ac8effcd8882f118a88ca42081a0fee4a1867628d337e5e416c1abcb31cc7aea635f04e43cc7072ca82d0d62517596ecb898d50767b95ca870016b3261f0698a883112ef684606e50c0ecbfedff30bcd704709c6fee66f07d925d3c45b48d21d0d2e23aad8122ab128cc438647cc4612c080ba476b91c3c2dc0757a032eac7bf1c150f331428cb458957a933219d48666bc084bda3d8123eaa2864987a4506eaea3e155043b72bce56972144cb79ca20c5c62aeab111eeb769219791ad6aa906f2e07238431f1b6b8d2e5c46582f840b4d90eae01d76a93d4e3c3b24bc3c99c7ea4f355a80fc9ef2c64b9205784fca16c5034b0dae50811f71ed9fa99182e5fc1dda935832c81b6dd670272f83faea33301517a1e4f49af75a0d3629a038dc9be928d9e2dd50cbb975855be66df9c568e11f7a45191b1058b4bb5f4aef6193b639f1a6ca1aaa7b245586ff5a70173f8bf9ff9c15754dd6158bac68bca7da1f06ceb2e22d50b04367328edbc3be3e4ad4a95984925a4638ce5fa91cd70988935c4c000a2bd03284bcc6a8fd583f084460e5966fd2a13df59c60af5f8a1d25b0ba0498f1dbfe4a70bb93fe360c1065a2ff25ce1c521d20fdf65833bd29475d1f9c8de035292e00998ced69a0aa6e74975880da64799c7869adf51fa05b7fb6a957c531302f7e3e9194869172a93708bce1bcd95e8ca4e34c4770541979fc25837cfb60469471d088309f15affdcbfb86f1a0158ff99659f3759e36b11514fc8ef95289c387451f0c42501427d70a3f0f77c85808ca9bc11305eadf8431e577512b2ae8d4424aa65783ab374efa79dfb134103dd9ffb48fd3738a61d2f76ddcf75246b0c57c1023f351ce16ee820021994549453041cc08bd8800f3d45ee508dda4f7ce8513ff2d04cdfa0ed77fffb93c621fba4bc857b726b4f4c7eded8359afe19be7dadeddfeb9c075640215398e189f8bbce475bcebd688be35d657475a49c384f2296fa1856a4ff449a7918bc5a3ec833198aa5f9455a7e6f58cb10a63d687bcb0b63d6d0c350bf490867246172023733f652d8357bd78a4ded84988d82ab5380db05864b69f96ff80edb09f3db7ea57d0ceaf4ead64b40e3168dc17c4b9338709b69d1c40ae7771043ecb21f8a05785136d15a5b0c8e8a4068fcf3349aa354b880dc20b932c94cc871d384d045af5f4404a01c2a045651c49153cf9e30cda2f0927cf84704e1b1181c03a56920d1b42b3743816b326272b01c288701961eca065e07b3acb6fa8b002210e0210424e6980fa2eb1dc9bf9837ef5869214a1d1fecb5f6cb6221a9f1becf62f2045a0d43430cfbe92b04cb491339326a21e0d6eb93335e157db5ef787c2ed4018a999d010dd4f5ef1260edfcdcad0df1864d62f0c972bea7168eb9f9aad7b1fd044dfed8bc5b86e1aa0b2fb890bb74b0d66599cc65ef9cd73e186a3b423cbd21a64d4a14114b5549abab8e4ca0d2f1fedb939da829cc5462ce5ad145a56e87783f2c7694bf39db80c9bba3245373f202275065d9aa7dd64ec3e0df9b4f4ea4e2bcf4c3c4b3e0d2793ef132bc6e2bbb6010af85914b18e1308d301a7103d6ac1c3da602844cfc7a05d36ddc81d72222a764e528baa88fec3ad1baeaf62ce60ec05bb2e37b4d95bcf14cdeb694ac9925a9954064a29e9bf0d3ec513c66a7f20370c3d0b95aed3c13fecf49e8c139586c3f475e6896209245d8c324d74d8e181058182bec4441c0a97a02605c3105c5b0c4328c6eef7840898d133d6739283e9ef9187ea5ae75b45f1a7138d9abd069132ee3c6d403908aa5f9eac11958d28edb8eb5b31ef8cc8edeb9d93d6e81fe7194e4f72a6505930b9f3f225b440868068a9325ea79de0d4b332dc7a45570576f4045b0246b45fbba267c77da1f3ac101390eb2aa154a9374d7aa040549fc9b0206d985acc4e16713a21a956f5152f6e093dc46809e192484be7ba8842fbd4fa95230526c97d4e9db75fc6adbdf0ef2ccfe6d704c18647f83a26fa4306940dc7cc90c45dd11aa04337464806f60742306abd19b890372f4f752d1110b441e90873f60b12ce01d44bfc19000cf18f3e93083e7060cce2c31549622a4840a5a7e81151b44bda15326b73b500a7176ed207642ae56fd0a1922dac31b76703950dbf842a371d7d0245bf6b2404fdbf5be9130382411d8b1ca34aa7c19be10bf0d0340d18b5091a7f2e5c6b1a92064ddeca63a76d55894887931e0704470c9c072ce4abd5f02060bb0bd451aa13e5b0ac3d8929502206d17cd5858a5550552eff01d5a5480ac02b88354721d48f9133a00f712448ac1b7cc7badf416b495c792058f7e5a3d266be0af4edd4acdcf700492d8edb9f1e5f169a26f91623ee27ed97cd33eacab8600b46bed4551c436159e35fe565c17b06c7116ce02f971569e060016dabce6f3fc62058117fab663541b010947bfa1617818ad21aea883a60568c84060abc7f75164408bb50b6697c4dba19756e47f57b604a3eb0ee9a5792c4e922fdc2d18402b16ca7be38362fef2364b6f4aca10bfea8375d4e78e71f3f63a375807e5dac8ce3c35fd2b98cdae06834f2d069462c73424c949dde24cc99c120af0b479790dd7d7cbbb2f149cfe1d59808a58ba766727caa589787721a67a441c84bb937d67a287e431ce989b007734af473583547334544ea4aeb3cfe1bb9b986c9d09a5041bf17f73a2ca41bca1dace94c67ee1e06f3eda527eede76915cd2c2f2903ab4abd22a71c9f5639421f28af17f4dc0025361bba1b568a11d094a755e8a24d83c0d59a34d2ec28703645ecabba34ac763a50ecac980a805c6693dcdfe1dfdda254af4166213227ce6cf33fad5bef74534d03fef9d343bab80687909dbc9855afc4ba90e5b92d9482964888775d8875db75f7fe95623cbe90458e0b94c204a598dece697f7248cd3dbbb7f6d17f8b9d438efa60e01ae4c05bd82d2accc226fc6639d6119fdd8b4edef75c974eaee24e983f6541722227d9f6467766bab990a0c55adb4b78000275ac07e6ab6740a960bce345567cc0b3138ecaebe62fda838336ce6de7d56f1eda5a56d3ac20e8b40b485de9d03ea09ef8fba3224bde186d9f0e3998fba06ef8f57e2bef4b8b8f098a238d219d21b3431c2b5917d3d42f7bc0aafded662c661df6e30b9ce39d843bc5a40398febace93962a084cd17fe9bb0a5169e310cbac3834cae8713e1eed0e37c78e00cd4a8ecb900dc457fb7f3e5f139c3e7659ce0e3bcc26f95515ce48564f24b01dbbaab494118306396c6f25f820488d93d833cd6b3aa1a6c99f4210b8fb39f3b5dd052cd63669a6bc80b902e4e897a9c33c73c71c274797bfd944d04256804537e499cf1e5f5ea97debb41d7036b374bb2e822492dde88c2c95faa3b1654900c115ed42087c9126bcf8fae9dcfb4e52f5f826fb22019e7b443fb5cdd06d9dcb7f0c527ac2bcbff067d1549a14aac42ca037765ae2d72feac6e266943190fa7e8b6d1ee47dc2692947b0e17a388c325ed6a8b4f6cde9cf63be48cffe92757db04eb8949953e0520c0d22c4e7b53f7047187924d802171d2d38ad3668ba88b2829b50ec19c6031a84eeac31713ed83d48fb10e274fdbd07fa9fd5c735dc780ea76fc8d00978b6d15d23f7f5016be7054baf32ac17f5f2bfda49e86773aca2b9c15188a8c33ad0dd77bef0bd47dfc45e79135f0ff66f731bfc3a72d80bab2edc13f71ebb96e8ac1f1a2d8cbaab73a15d4a06593caaf161c0c4d5049b378dbb495f25e485cb26bd7b0ad4a6b43f55047fd32d1e4784731eda60fa9ead63dddc99ccf74ae9e223971aaf2a1b8b8fc68187eee622d017faa4f94d4c1e2032387dc1e002887769b24d738d372a04f7fbdc8ea50c822087461881586f8e435c2920f361761a5038945345533c7568fd292f85f6bd2687ca0c836eac2cf76a846aa02f9464182347750e00074b250a75116a2b6f098b932ed50ffebc5cb7520611ff3e382087a8ef9795d8d44586668bc94e8535544c338ef72acbcceab776d5c250f95b049fff01d56a59f35a3c9c4bc381b4afb5c26c1807b0bcdd508d0c7faefd18a6e674dc1fa7a7a94ba5ece5bba40a9e4ac2996a8cc440118603ba346193bc119d45d70b92ebcfdf1c0a44b5a29bd4935fb1499d2d2c0b3f05d94c77ff1042c3288e3de06c006409fabc1fe32f208492160d475d13a1634a48b12ddbeec101c572f408833dab8a0428595b0c935f899df9675fe82c24378bd9c207410bb1c786a49d5da03a5dd2174865740d6b8f95933dda869e004acb0d7890cbd1d781c66175c5a37f25f81df96fcadacf2c2dddc80708ce379c5e8ceb84f22570e77f963625a05f6a334eded0fd8efd6d71efa751f4f5249fd5d0a1b7b4f4fc468ec6308ebd8f7244d217384f3485e6a9e2df00bb70b858eb4824cc98375b9c85de41be53fe2116b6e45546c24540ddd0d20ccd0caeff8f05e59f8ab5776bf1508d4d8275888b753b7d5059665016c3be754fbdc7261d5d0b966d8d167e918e9a93628c613da12b03a234a140f12a0dfff0b18d65996b0b73522daf2c6c963c1bde284b7c8c62d1f258fb68c71ddaa2f2870e6262cd4cefa6bbbf1a3998d7d87aa2651f9b18211b4f71aa2c0925e489be18f2cdd0a13492fd0771161959cfbaf3fb8b3ed535e31ee191eb1896dfceb2a21368d78c1bfaffa16387a44d1cf8da143a9f789dfb6d75fb6410fbf56a780a80ed2bdf97d96fee76b1b6a19994ca642f655fc5f7feb70e74e9afb66c3806638dc6bfb2ff7b86a01c865a1d9eecb59cce85ee8e4f20aa7cd2200aa152557c935d213bfc78651baecedf7bf8c892292a924837fd2d13ea6b67b9534c7a8ae984999c2600c765ad2321d446cbc62e3f62df46e26f1ae0ad40eaef6c528523f7b43d2cd16b36a8896a2c92530922e5141de94845582c9a49545d52c40981cf2a3a91398f1b78e3aa244087c0c2abc74518bab5aebf143b90fe7207fce1bd49eb37624fab3beb13fa9008e4c300f65c51d23bb4941f7907d8d906aaf9eb80b45d83c4d88ff752690acbb6d93b2ac130251ef00a14e592a20110fb532ede55cf6457870296224d0d79a32dd47850305b05ec639e2cf3c5c9db0a0ff9b54d1ee03e9fa35f06ca38de33d8ef97705f4855b1af3aa40d1f0e24f0dacd668e42d10ac64f829bdceaa1490959a8c44eb05b03d2060bed51766c4942c4c2a5ee6b09a4305b632f710a8d60c7e398e2ba6e44c47e50b29e599b32e3a203145b19074340489ee43f3bd0ac83115f63eb5003f4aa5220843e05f93db26ab0586c6f162f8d38167426e4ab3cf959e508dff07656c474ffae28919a9a4743b4f5815eca58afc1378618f2713c486e790ab5defb9d3ba03a029f820f0e0788edc5327bfdd321353fe40be773c7b7274d071ae4ca4b6eb26d8f34d09ec8f7ae47bc30ad6f8d1671c5edad8355753fdea5c3938b86e6fa64aa8f446718b1a0105ddaaa4f697a241377a47b1129cc646bbf1fa70d808ae61535d30f63e2ac9c3ad850fda2dd8ae48778c7c183178acd44b797e5d9fa08fc6db06178787f48f1a2359ad43ccc7435580c434498cb4326cc8b9e593691d97e916a00c55219878b00f981ff05e3b2322520ceff6b084d299b36ca2191b86637ab98c6d9416072b0cc7553a5f1450e631d8d1120d1dcc430ec971232edc8f2db84d16fba8bb4f7aee795117998301150875fcd0622e487a9d09a04ab1b020017385c78421d89059d4ac73bc1150f6472b74f36905cdaccae0835c5c8aa95311972108faf210d3d06f4667cef234bc8c1e61d4f3d3c5778b8c77693f3b230b6a163359bbff1adf0cb78536be991e3fcfea6963b85789ea5b62207919102405c6c15ce75035728c36010a6c62767250cfa17146eb1e7b0eac0af5b232835c1a6a1d6292efb771bca123bc75b798f85c90aa659f80ec3da5c763f6be1345a7692f2602997ad12cda42b95470a937bc6f40eec78e52d7c2f6584deb0016eccafe37c5c6363f182a644452b8ce1273dde1c0fd8f53ad0e68a9673dc1cbebee84ecb21cfaf5ab8689c368a614c27d2eaf9fbe73c2a1920c36e18acef67a4cb8b7cca1c166be5ff25c5c3af0f2742d453211c7b22bf64e761223b51a7b396bb95af91039ec72936de5af03c128318c5ede745aa73ff217a338668cbd0893752a4258d70da0c05d730ce10790a44c8a2864de768436eccb607536b4256ab0bea257cd4f0f20b3120a14bbbae27fa865969c0908e18336137fc2b614812f5e8ef78636c396b7b2b5ea733b35a010e56e86ce2facab81621f1e468ce41270b4c73c23120003724f67209781a1e06fe0a40946e17d92818bfbece1d0e083caffb1716ef7a6e129a97fb9988aea96112ebb55ac3ab97a01287a9028e2e1322c1e674d19b993fc7041264c330c5fea790cf7d5103ec3116beadd40fa2fa15acd7b122f7aaf8111cda346d87c6e9ee47c4d32f00fb0396f677f1a68a1c20ac5119db8e4c772e459d820cbb0aa9dffd5afeda984e95b5cbd0db7a44249244a381b63cc39b0c79400885be2127f2be03bb2d1cd7584f721ff3b987042c5a2ca2671d5659c85b78e553a4d06e4c3898f6b65fbe30784edceb9af8c47bfacbe778f706381f187d571de8a392dc1dec176b96fecc1a3b1085468e58b258f820c3be34511c4da2673595414485e8b28ad092feb0953fbad6a8558ea732742b8b26f626f69f959d038f8eecb248e1bfa986aaefcb8fd6165ef7b0de0ef0527ac43162d48d5bce53fd7d28e50241cbe3fd5c4ed13fc68bbdac1a780bb829f6c46e84601c8d2b06a42ea6cf9eec4d931f71d20fa381206939c0b359fbd875e5ff03c861fb33a072d4feebf53e2eeff62abe7c869c6e4ff56944a003de2013cb49aa15808a85761b4b715ef3ac434a267262f1c026bc0bef68555120bb9264e209ddc8119a8331b9d29bffbac8ea6573f2e4b2779c5776f9c25c698e4ee43235de96beb7b8ca0d9978bee9d441241daf5fbd4f2aef52e2f34ac05e9bb31920b267abf2e274317e042506a7083559f88adb88d7143c47771defab57ae6d83cb63aaca29ba7c9a0f467f3eee7dcc94ea31167f5d1d8efcbbbe4eb563523f86fe4c3ed36fc59eb6805d2392f7b3b82cd9cb9a2e36bb5d9ef9ddd1fcc3cdffa8d273df11101db6df136e507e02f9dfaccb8f62c8f58dd561343849f7e9a60f984ecf9e2bb8d0b493013abdcc661f685c91d17c671e2f0d31a4e34743fa9b7511588b220d19f91c83937a1d7a34a0e02d5996a43054c1e78305dfad96b33904f7d9950ca40b0424255b81286f2df79fe0c8d5aeb2b9d7b101aa9c797d2f544c2960c5658b2352d6d66479ad62f7a5692953c3f310760169166de2b05cd3601eab0fb1b7b71691674b9317eb9b82763f2c1ea48bfec68774148ec215ae7cf191c90b706e92b55d246ba18db8b781e8a5a50d0b3bd2a48f65f311c8d32ab2d52da7d813cf020f03f8b9a7638d7fb10ff4bc402f07fb78c3bae95db15c7aa9ce435ee3d3488bc9f3ec986b88f6c48df9febad44eac6fd80a91277fa0cce885959b77ef7cfc97ad71a2ff3f863e9aa2e08daedcc584cb882bc6bbe4f618eb6c902ba7d416c07969c53162e67dcfac35e863512d34d372e2190a3bd7c9976cc0849a9fa83081acbea8a60100955c3832276622d1f9b31143365763d91f66fba22d6d41052821e875e6f4b11e7f0a15c3256b3c29f32400c4ac3a02b7f7e1abb07cc1f27ef0c9c3592c84cd0f36525d3c2a346c2331a95507320035a84d77fa89e95ba6e27d0fe29a9a6d9ecfc9f5dd32a6ed8b69bbe2199eed511d90eea5bed36ee5f996962b08d4a51d6bfbadab3c94c2a173f5a53541a4c23eca57033635665d0be6df4c287e79ccc44550bcd285a47bf5d128594c735240c3e2c4944987e287523de26b9928091710c9660a1aeae312d8902b2485ce5f663b2e549e608db62983ee63e075f7fa0653daf9269ed0a54814bfc99fe5b5d5f9e0621ff88e6b7161d7ab63da6fc27f78578b047399f62c5eff150d5a37d06da2c70524b5eafba99ab122c6e89d69670d089337409e56b19721151f8a0a4d7d19fa5059207947e1abab3affde040ae2e743e57466be634bcdf9a54bc5291c0827f9cd558a96ee5cbe342b1342ed54ead513248a05c96ac38c06e68da5c34e6df8497567bac25013db58cc4c5ac58c1e4e4b0cb3fdf34842d247e3999869fafef5a0f1da7cb845a4a6fb3224d5953b6790825c468152c771f39b0150b510b339e0d09f834e5e5a3b6c395c33419f1d1e40b575e39cec8a244aa57aabb46d10647c41916bf1070c01b66c54e91327d1efe6f355d405a0a7a3a83414a56c6a01d5a2e445e1cdef3c147e3268ed570a121c3aa17f170874387d8657bfe10621a3aa681d29feb9b2fd609207da35f032abfdf7f51c17db4264ba03942bb3b6bc08d009f9998d5a3137b2d05e6d07d71a08e210ce953edb56ba17a4672548bb257b728cbb44c12de855f55c3604354af3a2c4221f5ca7d70e733b6e32fd4bcb142d7951aece4b24b2df846fa8e16edbaab4c8dcb61aa605797197b1a207cedc2aba645a0e97f1e4763c7d207ecc3898272fb04cbe706abf83528b030be181118ef563ebfc80610f46d7e2b1ba2c328a7b9cebb13337e9a26b9617b6daf45ef9592b8b1a98ec94a853ed202616ee39ba8880b256a44dbd4a5edd31480b76034ca1ce9c606259fdb5c38f3bf64bf949e811442a933bd1bccb7bbffcc4cc4853dfae344cfc4a9f84aec3f8a56b19b34c04ab6127ce20c09956ae2dc60a8420cdda8dc2b625c2995cc3caf8e89cab5e9fdcfaf7ac5a81e799b9a09d1b1a76c4fbb933264097ccf99984fcb9c38502c0759014786be7cf161d9f879a54d3242a0750ce05e828261f9adf4948b7b8a6f81c9d23293aab438dd46b2ad7edda73ca05bbac329e2c93048cebb76dd340abc68dae5d88ef7ddd35c5cb49a89cd2a8759ba69522b121d1aab928d56fd942883461c148d4fd712395e6d7f8956c165ebd6bd3febe845feaf0585f0ab98400ccf95cda652d085cee54d2346797c9c63f2a5f9b7d449d5aa8c58b0e811b2419ba6852127e406881e7d39716153a7509839e73bd9d607f20c30836d7c127be80960a15bf8424e63aaa19c7027ed95a4c12f6a1e228f9fadf76f52ab32aa292aece7661e512001bbc99f091bda75f1b9750e66d2c3062f8fce98f0648f766520fd68ad20dc5930883bcd87946a9b3349850dec6e9651c42aa8b36ab65965d5ab24a05e389ffbe7fdecc272f01815a11265cc60249def57cb04535625f89c2767398df88d51f60113e4964f7a1619dc4f1f79826c8d586c9ccd222c54777794b86d1dd6b86e6f8185773793299e70060abccbd93022788e275ee4f0fa2af7dec47a6cd52ed2051d92605e11a69effdda4aa8ec3613e54e1e6b95f8ed9125907b3ddf5a0256af535d117dd7ffc51e840f1dd33b1b6c67c00969feb6842dd932571606d47a0dd78b3a770fc3eeb7d5379386336873e0251e555baf8ae94c01aa681fb05c44873107b7e01b028c212cebb61c9d501cfc3f405f39a5dfedae8886fffc1fe6505ed9125ca0806468d8e5a7d171638bb8c5352cfab729dd4ff6630e2948c94bf6514d90b883d4af89be7a3cfe39fc1b2015dc65c69c06250913103894e1530418f2d228c3a14ed31b77c08e1f1764653237be445bfdfdf4d7b6e304292412b08859d4b002e85cefdc4da05c3c205b85cf43d7b77d9351bccf849e031884c1ba0d44a41371e0b718af5e70b503bfaab6ad2979882193d65600e2d2ba00392959ed0905a20331c1dcf77e07c111d0ba63eaa0aa0177053fc12564fc8a76e1a12665cf6e4a35a74b3679a0f176048f18e84f7c78d41ff37cf8c0b8a5c569cf3ea2207e44fa7f20b80fc9c42bd27d41116bb468981abf194b6d3e3c53766834cc5ac305dab2cae56b1fb034df6d5076e3295e9676b24ae7073220ac0c85125e3f2424c476aa3b4c69a07d9b0ef021b599d5522cfb9ee7b86104a0c183fa759ce0c42ce1e26ba01d14570ec70e4d972d156049a6430225f6b7c25e574c5015e4c4d69dcbbf53670eafb6801d0edab1177b259f9e3328013cdadb8c32af77ce5a1e95d71c0fe8e2e0eeede7a14fb9086160704b5508e98b7b00dc6e2aa0afc9fd1970cc8546b79304b7b4be969a3009e2a5106566cea3a67f12024319352f0ef1bcb923ccf8bc432aa9a3ec168a93f49b0e14b0ea412ac2fb9a8b137f7d66cfe074e2b0f1e0bf572f2e53be4392a639872911190349bd88875716bfe26e64c921a4b1eb09610d485f7a11a203504278d0d3b3908c6f48267c298c69f118a5544d673112662ff7553131edaa7795544be61b51ae0c1347685bc69e274e56f0fa50ba80783fd0fecda49e2132cf00c2e375308429fe087f89b51caebc60cbc150d52b522e2022b42640ebf6a9bf6b52acaeab6a7fd8860f604e137153f974e4afef500138dc84eada4d2cc80ca4f4a090aa1db873035fffc36d46d4d562bb5501a38c307b3fdd598f4f7bb084bb1ffb2c7cac76c5a458ff6f1e8ba6c732bb094f1adf7ae1772a4a3180393594c29138db60c83afb9df8b310614c246e8f843cb4018963b6e3ae91f38439104890110ed8dc5a58208b4160a02738e9c25c87bd80ca7be7fcc6f6dddef66af300231bb394381bd93339ba62a48cbd5df29c8f7f3fe3253c73bdca4a9580455eda2c1e04cf643273add450112615df65ab2182e434b3fe6e93021ef10291d3195cf08632aaafc21da40159b44a39cb0c3f0cf5da9a31974c73a398a40039dd40322fcd4f9d1fd2ffa9021da9eb7e3409f2e015ab3d7ff982a633837110c3f0d3d708ca36a2829533fdc48bec79adc9a8b2a63743d727e9d9222475602dae20069b163d8cf3818894c2b9f8d71e15a3006c6c6c7dd6195f2a41713584575fdadb03308f00d3b2a81a564d8cb1f36aa087be6bbe5e5c7a7cecc638bb5d503ceb83880a6d0881ccb14ed6d0a4a7074b34dd86ac1219ab4c762e5008d4dcd9fd03099f57abc03a073d310a6698d9c644953b775f72f65c042d13145c5c648a7d9e98a9e6ca82691b8dedc09644d426e350b53667a41e341e8c5c02d1d9046c2ae3a6f23c3ce0f87f7e1ab2cfc6877f91727d54f23349bc537a19cf76e835f5d82038802da220734760bf51be609442000fca75d767650f483dfaca35a6e34b838c211b0dd1b7551870e03ac0593f7327bcfdbb516e5764adf17df867f8fa81c8b08cdb3a952b6fd3c65f45a263aa9298d71e2c1d5c8dba3efdd1d3ed71859960f1262a23733009264ceb4bc3d702dab00ef14f4eb41f16f92647b199258d4ab37f3bf0966b38ab1cb2edc6cda1233f839836be42379ea07aaead726ffde75a0bc1c1948ac374666e53232fad73ea2280b15dbdd91a330504ff861858f054526e9b4b5aaa6799040dd05f04eb190dc90d35110a8285f45f0a478320cc88703fa9b6c4d04b6b7810235856b30bcdff00b543073754c704fe91be9e9b4203af0e7f7ec6f79387fd775860cffe265e2002b5a04914a67e3272a6848160e9876eee999903a66080691031468a50035fe5c02aa5e1544eee8087579c7cd7d0534a96b31c448848da225668c248589dd8f88d6dafc1d3561938d4fc81ccf57debd6c592597cc6bcd2b09985a062e55f8eeb10266a7b28ac86933a2c67bc469c9c2bd9ad4d30e6093139cd56eeb859b3c2839b53228d2f17298dc34adcc7df0cbfb46be6234d5f9769a740dc1a752e27c95c29f5297938a8ded70078a461a72f5536a77ff4c1b1182595c6d3348dab68ec9b848ea3b71358f38f907aa7c8bdaeea438da845aa361be5c75b580df342fe87c415b6fdaf721f2ce7dd0045fe63ae4fca04a23b16e4306cb264cd82b95f311c933ea2400911be650777d24dcfb8ac2bac15403a5897e6d4b2e6c1150e0d286cbdb1223e1bccae32b217d6980098e1d1836a786c12dc7b4869e39e0e1fa138b2b31058bc1a1282a002b0db7aabf04caa78aa527102701e419246d66879544d3bf312115fa71de4ef0b762accc70d22695a132cbebe40be9c2f129dd52b39dc2603e5ffcf71363166d612da5af31e7331da53e5941b7097f7e45bcb9fbc8c89bd47e45308bf946de99e189da8a31f4a165497ff65806d4d4dc83126277eca168d5feb4b2eeab0c43511042cb4e3e929403e2af4e9e4cbefe75435d25c9c2d04bb634b76ac90b33cf70d8b225532decb4c6bbabaaf4b3038ea64820b83eb17d66ea8f60fc0eeac83f5ad7aed85afd2d91656bfe1ba73f907fda8cb313c663b4d281a12fd605eb92e89c064c5181ea00c84896f42d66616f66be067f9c7562e0afcfd567fd569166d47762accd25ad39d2a62b20c67fb093a56213e96e4601f91e7b79711de7de8dc376fdd57580a3057d85e5f4aa5d2abede9ca35dfb5cfad1130a439318a30e90073b9d7f86ae1ec1d9102a0d9ff04feaea3dffb42cc4036f174e25f9354ee91fb0115c7bf5a532a431c5ce3d9ba17f9126314264b4369fcb1e1082e9d0777e37356ee8710d2fa85d3bf657b279fed9c473dd657985be3ff450c8260a682115f2aa12871fdaa2ad4900166ae051fec8a6d140dd6b7176310e96be9ed9224194cd8736e20cb16c443bc7f06d7162350caaf3ecd049ba13fcf81a272cb58858686bf257c8ea52b88023138c0807628c219b62d05016de0aa099e3b267e5e88bb0f4eb3ab4499745a717d71895cc0fb2e6afc67d4b5f2166902aa7464a1ee2c57383c40595641722c6cc0618d31c1fd1849da9e632d2eab30b0158048c26589bce112609a4892c1f411f5a6ead857405b42b9a45c75f8d0e587bcacbfc758ff7df4f3516f7946daf1934a9cb36555cb6af82448af068ed2c213fbb31b64d04d200aae0a384c986f9cfc3123f3b6a2d02dedf3c5960c5fe3dd024a4858a6281059a53aee71db930fb4879b64d3062c288c963c6e3a9a0c214d13a75a85ba9a50cda96d854629bffbbe571c136ed9e63da73ec3113901ca57be511b0968618390b800dd125384b3610863bf3b9faf7f02261816fc32958fbdfb923adf00ffa0002459211f2405e553cede9376261e00533fbd236c93468ae5278104106f0049efc8d9049b3db3c5e995b0d77639caca767a792ab564458a3f8d0ca1c2cfdffb4010172b9f3b61addc7e112937c993d5a7ce325a5eed693c7943c47aa77d79234693a3e6d17233253f311579b74cd3ad67d385e9f13a5c833825467bb9d14042d750fb0a26225f088d466d758311a73f16b0512bdf3532e71977e1507bc5f9d4fdb03cd468dc944d26ad20430014fb38b336ac5261ac6267f4fbe51efe52139fa2c3ced8e393093f6255af5b3ac4119f80ebd8126f1ac365f4be0356ea831e58bd92f37b7e1cd762334daad4acf5bbe657604edb8ccd68eb7f36a0c2af0351c7fbbc63ac125a818b50580bf962b0661737b2c2ba5a93d76ec658b7321288482a26116dcac24e4ec936bd42af8c28f686ccb1225e597710f9150d62c633b1a1312bd4c17a4d9d42911cdf781319af3263ef9e23515e2679d3d29d51ae0fbd11b12d6622572194da5ac4853afc9f112d61b643863d584dc9150ae59891a5514f154f5d7d29fa5adc23945aeac943f65b115326a9239aec5fbcce4a66804191eb0fadc8379b8661202f4c9e053ad334d64f905175c3195a91b69c1c1ae84bcd2105adcdb208e9352ceb606a57764914730f7ab19e2770671b88bdfca67a3477fe0c3a79be8c0d8088fd00ee0365aea1a5beea356cd689f2cf95b84a2f9773901c9ac5d9f3eb684e5a40afacf8514bf191f4517955d3ca237bf93e8334a2346641d1e790e54f2c982b5225ace563bd6b42d15494073ea62766efd3d0cab4f61209cd2210362f1608832704f26653053af63eb5428b06b66f40f0f513b7ceba832142bb403bbab28db2550027dbd9705d2abc3496c6acc0129cdaaa7bce6499bf5b18471b76bb0cc1e857b075619005d21f806b2b12063217fb872f53f965286f33a54cd0c3cc52501d555107c1ba6fa21cf460c27c013afb0a97c4377d0de25987bbcd6a323a66357f0da6d3248e14558e8dfc00cb80c8b5c12b2ba44fb03100d6d895b35ec4e2b2b858d6994b566125c39d4f522a89031306794f02617342b62280fc78912bf9c3d11b6cbccb79ec5525c925af068637e4e4917e4004ecc5121f935a12a847ab31b725c5532235813d637aafaebe9e54ad297b312e25e36118827f15649e9188627690973ba9c9e113e37ff4d8f1549732e2ebd2a908abb44c4c6109250e31ae9a98db9badb5aa43b5fefc424769b5f1957e3b71b0641a9b148a263ea55540f9dc5c9a62ffda4dfd03d55162226fbd99070b4951dd09af71b37a06955893a79c68cb8f5f135d4d58f79dd076730b3bf779400449b6d476cea5d5cb18edacf055d8311ce1a6f74d9c1507ce15916da2924c37a5b7c0ba5e360ef863e268b02cd270c0b3a6f3db0c6f9db5b6f010e6521a674c5302fec1140cd6ae05e27a5b61f8c0dd32f55dec44b3aba91629d8136e61cd3efc9fa75c71bfec89bc2326a8008b0e4a6362251d1ae53d3810e72d6c90ce8f454d20a7b5cfa52d003488c681c2eacdff2d347a3629d1c015e9e584cf188814d558384754ad2cbb0970fb968b5dcbfb05bcba30e5c9dcb50121ee99bdb481ba0b6bcf94196d9fbcd6eabef798100e716129cd1af331002a16080a5dfd50245e8a23aed469b86db484212f59ae415b558c7f876edaf014ad214a10b67e4801efe7beb68d1cb78601724f859796d49245c334b9bec6d6e803db68aafc8b574540d26d495365566be2bb4dbafd97973d7706ccbdd2be1cef8651d1f1a2ab5bb79020aa55a092292395bcf554be82e84ab40a90b57bd3df831b6e4ff02fc2bd3ccd4509fdd28d50b0d8a23deae9e4d5be26ce1660f6f996f6342b8ae4e9ddd606c54f1d287d4a602cd63c8dbfff4839dc5f6342866ca678d5966e92e4044a08666bce2774c36578a061d9b1b213ba166c2bda73ec38975ab088f2a11b1bbeff302f640b08849e912861d27d132278b41a93292086662f276dc36a8afce92d20021538a5fe263e0870c4d532a340082f114b9c9ff8f97b234b3d93c1cce8c33ceee51763e8041db6f93f97c14123d0b7197d1184338f0729eb0ffd97d519ff711af52f581be69d0397d030db92445633b3a8d5d20ed6c33557f3eb14211b0e903c06a7098b32901dba8d41da943c3bad850d15cf0a51206af5e8fafe489017119587ade3781ea8cb31497b498477907fee21e4f6eec5b0543ada7de255fb3229b80e970ac706da3fbc610a9f138a334c51243b99feb1469a2a6b9c331ff219046aeb3e070084c6efadd168ed11dc1779dc3e27e07b0150ea880b0660a465333688f30c8867633c5f8aacb48074db864426587475689595de23b74a3119fcdb67c2d117412e50dbdd1aecdb0ca30c315305b2cba1795c3864d543394e9625f6bb32f5a5735e59a6cd2d3c52c41dd03898d99d204d4e655d82c858e1c4272de0e1cddead4578d6fdca12dbb39cfb6c289b223eae7a3fbe8243b359e1e556516c6778b03d2031e78e5f8af86d19dbd8d3fbfacbe4e27ec37e80aa4f068abb48d0f95d73fd7d50a723cdc4e3e646d83be637424e6fb5b5f21225eb978a31aa619d2c7066b40aaba54db49d47707aec73305138d22e970268cc782661c44acfe9a2a5cd8adf5c43d2e4fd752504bedecc67e085357e6f4242f1a1d1d31f935cd5fae4ce1b961031a621315a467fd6f0dcda2f86228b10174b9f76e53f7d6d578bc9b3236b0b6613e4b6fbda0a03c254f27c23ecf1d8a05214474de622284cf629f8adf76a8381f714464fb976e73420efae0d7888b847322d9dd20cbe21c1a381946b6aea9da082927e18ba359b2253be1f58f3ab0192db89e783970cfb8c9c588c446322470fa804633ff6b25d3211602520004aeb2ec792897ece40cc87e5ab146f40ac677c4420a29e3146a831000c23b1ab0cc06858d1cc81633248774180e652d7c0b8ee4842a12599818ec6b63df4f1db70cf438a01ebf8d282f62cac5f18de9eadd0d267f924529a301c86ea167112e66dbae44eb91a9e8caaaef94a7022c4e7ca264d049ad3c14b044e32a8dadea8f78629c119156c6613dd3d2dde8fb9c5f6cef3a4644db657d0cc87dce5960de627119ba1a01e8715624ddcc7b84281368b2fbdb6611367d85106a300c372b68186430d120750f0855e2b4cb2f74180057112c7cb1358199e2c98f6788b201adc1b7ec3fea7701b3db24526c42d030b5586d23e1a3f396c2bd2b336a6d8b3145a53e806d267ddc1908a00dfd80624dca1687356da955d51208596e68d4ab260e48ba48664ed62272f157a622edbc3677a02e11dc4a193949a6bfa25a3519169834938d621a959edd3abf79190896b32699c2c66be96c05115fb2ab30ede6bb00ebe88aee6442b0bc211261fb1526e8f034f0bd8156a33d5d4cbfa81c60df73ff7596cbe86faad959ae8c3ef08ee92f61cfef558af0bd8e9e0b262c0f176055eba9a1edee51219ffcedd524aabf39016f60a1ad7e1fcda5b479c660a2e7de134b9999fb6bd1541bcfcb482ca8ac11fc3cf8493d3180d7a7a34685b4d7bac78f45710a27a840f58133988191208d35a28957ecf719990e6484665bb35cf321e005bdc92ae9eb530859a973802d3b1c9913dea04d23c6e9ede210d456b4b767cc01e2762823078a3c8cdc8651739dfda7f724f84dcc61d89535dc3300aece83d07d257d1744cb58de35a57bbf8df2158c91a9d033d25e42b2c2c912896d746ac99ae3adcc328e88e574b1f2fc216853a683eef96b1a3cf7c454e8c6dd672d6f5b5fe779a9cecdd3a5ed6c0510bdb9a4ef497bb4d2aa8d401250776c8b716465c5a3ae52d047b559fbb904cccec451839e1e439be541b0bf5d403ffc6256217141c02f5898657f438067740f5af15aca5ef81dead08f455652bd0621550f6f1b2d743acb28d2c952e995022391388df2c12c088f42dc4b9e08e9fde2470b359b68d08bca5c07971e4cf691c1be3eb4bc3a88204900f06a33f28c541d95a7e222bba3756a81088bdb00fd7a6a87c77d31027d8d1a8f043a5ddbf08ee4b24cb5baff5f6e57b9e6fb129fd5a96651baeac0763787eec724558af2c4d2fe9077181454b7f195f3e2d31be90eaafe8cd9a63c5a1c27197918f506a7c05a1670036df3256c20a9a3e94c605a7f7e988b63baf9d019998f378f52afc7854078c9130cc07f2e2c25cd725d80817ccadd759cad04d6a2bb8f4aa5610c59281219ef893c8543e1849fca1f9a0c437ab6998a2a1ed347a3c6d3cbb2f84f351db2a25de1fa9be35c5adcf7482ab36e92a159080edd47bdf341919039ac155c08eb87c60b5f6699f0a192d756bd3def31516aa74358b7d46a317dc9e9840e595dd22c6cccfd620d9fd3a754cdaa2610ab4da5e192b287ac838648b4ab413b7ba4913d704bcc499dfb83b308ff97dffb7d43b22b0b19a49495dea03b88d143afc3778e0fa00b0df64397a39ff7c58b0e19a7b1a24ef03aae28f8e0053577899996beb0b3d8de3d407d3197d78ebb43d34f6ab62fd46a6cd030a29b3be772433e7445b6aaf6b8509c1387f7aa06a48746c14e6c872a64305c27e1df4b8ae3da2e5f03ffea7ecbcca44c6338f84cd7bd17e013a6889b95595982c1e85395547adfd7285b76e05160004707470c9c714bb53d8542f7f606698bfcc0ebebbdd39a1bdb10e7e04209fdd0d19dfa84892742425309405cbefdcb666eebbcbd1809456ba8bc32cb27085c5dc48927563b9d7cf8a5558370f6afb9e91fb84e190f885e85dd491f27b6c260afda0a70dbabf91d5a45ad69d9c53621cffd5bf4a292be8143c8b1b289e0d21be3eeadd0c6c3ab93992b1793d20f47adff28d086210f11300e0b0fee3791c47f767411e721fd994595c6103c6652ae6c5e099ca336966f34657994b4303ee3f55a6005797cd94e91a49202cc63bc0efd9ccd1ef0e5aafab305524fb795573c77f6ee7e820fe7849aa770573dfb050e15dcc72a71b864bef25c90310071916cd8e7b5a74c1e2a8d59d3fbad86b495b05282d5afca6d5656323e0f97e66ee74dba4b06b55cf6bad0f30edb94c12bbeaec5d049e57867fa5a8af01f33d0cbcecd287d229d045d3bf09eabf89f8c5aa20f873d130a9372c5930c36ef471a1a74c7bad91159c19de918cae5a156badd2f178f1880c326c13512c0b0b7c877697fec274343535c73806e9c84342b2e9a74ffa5e3c98e388a4268b7e30e723c9b9c95e6915b4a42f6083498c45e08cc2106209b9f48bd457289975233f3ea8b63135ecc853b3d3e7352bd632fac9213cc226276a32b3c9b210409c99ab6a134a743510ad12682c6676973bfa3fed8d400ccf6e79446c37eaea846b50a15f665f84339b50212a100413c2cf44ff7bfec1f59a244547ad202aa1efd6d5d0e221108964d41a7dea2e265b068209637b4305e316d4f02c1a57d3f9adc40ff0608e4bc8bf823c619c29e0cd56f92e0641ecfdb83309dbdfec7fec40adad9485da0634643a69bea272aabfa2e1c70ae07134ad424f982f9ffcd974a10077775f0c1b1ee06c25e17ff3cc7811362554c2f20b64183568de836a519011676227bd21f8daefbd6ff703bb248478f1bf87cd648e0c34f4598374ee7403e2cb3a899d35616504c57748e169d71731f5eb32502c9823cb3fd97a7efeb1e4952e105936028d08f0ca45a0711d2d9d7df1ac349ee73c7fa683c7da08235b156397cdc469c01249d9d74ceb68ebe652cd60140173b9c5d3c0ee561285c8aabe983da71a051e64ade2f5d01805a371aeb2661d9449cbd770426570cf3f03bde721ed6c4a6025fbfd5d4257293e06d91e6c2cbbe23c99b50b2ee7ba43fe24ac0dd0c9dfda6c83b3f45eaf5fcfe4787f5ca62eae35b3554602eafc5cfdf509ca3c1751a4e6f3e3b9a9fe34adfa4460b2dcaede118cdb26feab913fe86fd7e0f549e9d4aed4745d23082f20cd3707d2e16f01818c0c9fb2bc64b925c9490d68804a6f69442b4b76b3d95828ae3b44db93ef8f455cfb43db58a09903ef153d91f38eb44159dfa49b0b580874fa2ee48e943e12e7e3e955abb6138dd1cdf6c2ca462981ee72aa0803c226fff4c3498c156e82303cb316bda8751d778b448b8e882fa9141ff476cf659041abd3429a404f60a724fd5f45f729f27b7a95f4c27ffd32ffc1b9bc3f97b09ff5c195c4bd186ad3796390d7cec6b62b1f7f2221d697d78c25677362fc4c4c87633ca80f1cd8b991ca28cb81a5d68c17b771119dfb8cc86f2bc3a76f89f97270bbcaa801e6cd2f62e1bfc395f19941614af25cab2ac98099d306286a93126ee4c2b07f219f2abdd767888e8d8e14d0d5402f04520e9756403d95dc96a8575a052375e1554d6ad8f1e2b2754912c3da61815be2e0ac17d53158afc1e063089e2b5710a91101fe1f786a89464bd7bca6c6f455e196205e50244f6f8febd6cd0b24882944fa9ca13b789990d3cfa5f0a06cc661a9eb5d6bf98218e9b3c62de62936b923310a9cb14bd5183ddca97653b93728e1008ffb1561b8d06a86db42f4ec60ecc11a39b188ea95898434811b25313635054680f0652848ce1a50a40001278e2120f8396c7f0ba31b8808a2e6cef2deb56b8a6e0d7ff142d76f30d238782c9e9e7e61d4f25ea9c52e14c70414b91f82792c24d8698aeb4e1e8d9a3d723f07069f7030abaedcb1b3d510f933c9db5665e1675c83848695c0422bfef8626d315948ce00ff6494710ef14d51f8e4f6bc43d50ea9fb5a840a0568cb61114bc3ff159ec69fc1417db029c8ce155b534118d86c91d5f968bb372dafbf231f62d9480a7992e4b1f1408e0d7e207e22f1cd906d9f2c6c42ec4dd9ccf7af84b5bcf3addc107396beb3458852aca9cd44088853f98d59852555db1244a7e21162cc64d1bdd744bb1c7acf076683256466104e1ff4ea91d07d863f859326c1f29dcb3fdada021042569c272f5c9cff6312478c353eab1a22cd1bcb8c6c6415b076d62b5e06ab5d322c3a5e6702d89db13c308e6fe39f00348cb863fcadb826f272e0d6ae8cccd00392c237bf616d6d0c5ede262b676d923e1fc61de3a81d8ac511c9cc5ec3576dd02af8e0d2d9568757355e5b7028f41432cf6631e7f431dbab4a9c08427e46e0daf5585ba06803c8769eff29253004f890122ed48f4ea3c090d1f28a4fa5dd51bd6c4726897820a897d522b14f220da6b4f7ff05f89ec79bf9a633404000d9da11ea41737c76fc0f4ec006f934c6d3ffb7548af1c96ee2f72400879eec9d0c82d8b7704482929ed6920f844848921e1accba0fa84ac904e20da18f7c4dac0ad5456461a36a9fb044c3156d873a3d5c852d30c295ad236d08f8eb80f6ad2ea1d9fe30ab966d1b61997cac8e1f0c70e8f3a53eca1aa710b52266424049318eb9b91a647dfa4eff069c0232dc4dadecfa2f4c0ce85ed16c31c28ea947b4808cc12c306368a1461b4cde0dbab18c97f16bef63f2b77544e62dd4ed25fba1a645d5af56d7abee3be073c744df2da01f15738b5350a3d024892c17d3aad733e44bc05290c6fe5cb18db745fc7daaae51f6624d11aea6860212a7adf477d9f8eeb686b156bb95302843df9f85bdbfd3dd541866f4ff03395b5db8e861b914f13273010df7a89d5d51ba55615d8e8e80d61fc41ca94e96a145f189cc5791cd99fbff476ce2036b053e561950c269c335140783238c1a1b5c190280364b68b22463091419990a0002e57361eda702ec026bdc6411d7105c55e20c5664604a07a8247801fc4144c40aeff6ecf84c22e5c5f9b622e287202adabed85048cd7b58f8a7cee86969b924cca9a4f78ce5af97088d03c31f7ff2ad150252550d86e3374662ecc473ea22c16aaa7e5a8db04ab5c2aeb9710420b8df089a8c13da5b75f537dd4c413996b556124fa21ae094828945ab4510be1215ac1be5417278d1ddfa6d6057dd7687ece86add75226b69951c5a204b083645261c15b586020636bb30a7075f1607fa75c55f6bff228e8b068fda9757893afb3ee846789d64d93be410ed4532451760df4127cff272425278d83df4e49e9f70c9d8eadcd117a2ed591caad947e0614a0f2db1c0323cbba8cb727f86cc32a7c270f0a1a1650f585307968b62bc0943c0547e122c11a63304b9bd67751108519278fd96d70396c05b4e584f04d785afb83a29041ee18c8ddb4207c0f18245c7f6f180847b33c0a332e7d1f12fa1dd4e25f3c4789e65b590cbd262c90caa66355db0e42be2a7de5763fb94a419e063947bb02eccb0e42872578ad31af8b295f4b9dc26d03f6d6c8acb675698582ea43ee5b9f73889a20d0aec83bf78a11f38e069cfb29ea412604d15c5d3dd86ced04d83d28dc7070c0e3540f71176f1836486e3b48bf66a1f500d09b14d58d570756dd5b7f807da9a5ba0ee99a3d870d1563d6e5455ae7f2f226100c1c36198648d4bff12d8feb48821f8c2051a9ca30ba9e56bdbc19d35b2c2f29a2aa23b5b482e37896d8a59e46133f6c9736768360d3121ab35342ac4302de9db7e06438b786b26ffad1879708864d5fa242959b887f495639a8e3af10a271f82988bec072e591c33c7c2ab1a33b263d4ffd802bc3d4148a3f45a225d675282b6055a0499ccd70b80180f3dd4bfcfb0f4e28486cac0a3df2fdda021a4300b98140eae331dfe81f631b0020ad7bf3d23ed55fa19022da1f2a85eb99f94f053cbc3469aed8276658506fdb5ee18519cb03c7294f48d73ef13c7a0dfb031a2e82d1ac3eabed456195e6a1305e7e0293ed5522233505855d8628bed0bedf5e322ca6c5fa7df7190eed189e5e74818adcc8ab9145620057f4b937e9ee35cc96cbcb23ead8e00120626dbb6b44c6ac8380680d458fb13626be5b3e842c1174d1311dbff6adb6f10c70da4dffc66ee31f2b8e3b7d7d5778c1dd923f615077e2ffc40d9a90e277b6aafd89a87cbcd60ccc671dbc77f556dffefc563e7b4b3d485c8ecca3237d59cac1caaf179660bfdcca23c07f99a76544a763b053a469ee3edcece35d8b81bc3a1db38a966514745ec22f4acb83e50325e459ffe2df58dadad5841d041219beb71e06715e8ff00ee9907a90caa476760c41c098d5ed6b68e3f8ffb412253b18bd0341a73bb8ffc612239cc2ce8868efc016adae0bae7438bc5777702c25bc4e667d551c4ba38429d0b36ee59bf855438f21a783b52b32ee416550f709b77935dd003c09d8a60620185eb4727beab569adc2467859a1503ff11c84abb0aaa8fc497d0af473f6878c921c6b290599edbbc7026923f1eae5980648b0b5ed463edc86d35c3086f6729d46524452840f622d6d611f93bb5719004ccdd7d6f1adfb7e59d43a53f6353a528a21bf7a70e5a79127b17ca67a2b10e6317e665f3f1b171f1217163afc16ea8f048de3673a10d5bfd9a10e0d3009cd4b44d7aa544371a4b1993bdaf5a0c4779a90cbfbf9025978d397c39c10f8d015a617ea8cada05128823a445d523bb3dd380425f55eb2eb37c03eea2572a84a377bfba1e576ca2b34c9f7e66c8a9b9867f2a46dfc7b357fe238a338066324fa1dd021764d7dacf92a5ee8ec31ccc8abb02abcfb439dee93d1cfcf8a550feb3fb627c392d4afa6b16bb6d814df2b688f2711380649ca41ddafd29e8cf00ebe026f8d2af7ce1c56db8cae3ff73398039d1790d325a065cb4845c3fb2f4a7d01ccc70f5ea9edfc1336358de790bee788af689827c01e128f5b6914a94e1f84caed18c76c02ec71b2c1318befaf65f9d02e958a121eddabccdb1aefe04685be76e612f668683af3a733064994ba7753b75ca1e98c488466274e3f687100f78e97f67710771e80dc2864d32b668a1018b6f82f767e6a3e0108651680f2228df9becfdd4f7ef124ac4c2d552c3fad42e6eeb2be2572c5d6f010c3670966e71846e2da988a0b83ea8fb714fcd90dec0e0b49f5d57e250f039c987a6fcf82efdebf505e96f976fa27b3b17888f4ec185c9b816edf564f3cf75b6662993ffcfd35a82d452e69135d095ebe0242965c27c9dcd77a11dfaac04e049bcb1d6aafc43c4f359817ed1ed688a7ec87bc2d88b6a59e31f6778573b9ec33e57d0fea3f68422828445181abe94d06ab055c17fe13f1541761f30b88a3c8bf98d84a6e8cabb503e1fc8982b89772864525c1db9935addd40274d7eb0ad471a50e2fc0c4f7288e46a17937fcfa86a833de9f1460ac8272e6bb0d85ee8eb56445c4cf896c8c43aaf728b81e0d27f8d003379a4597b155f0c6f30f15d945a2bebcb8d64cb40ddfd7b9ccca4fab79a28254226360ba3a83f40e8f587800d33653cbcbee1bc9eb7431d897a495ae164064cb1536af78ad1cebc0205b5a2df5cc8f8e15c650ae6d5b5607908f170d970ea3ebe1ff6045f2329f28cc1cd594ba46b5d92d1300e08e509a40047714a26d3c0f7967e61a346a317e8d2eb329a06906ac80cb17a105b35fbab1cd18a7fb6cf421b36d6fbf600e1e0c6859e4ba8cb84f19dc8f91d89e193f70142c906f72649ac3e452e8318bc019d7415b85a44e95dde7ab71a4e1cdfedb09b508ed79f379d53585a622617f0c72304867d42c2d4d5cb72456a2c13896cacd4c49b3cf24fe7c06853c506fd71c569fc2d581ff1bfd6e4f204b2ac0a06af6e7c2bf56d985e0b630ddf6971c40a1b76c229a81a734ce6442781db33a221bac21bc113110ac69419f1ee3c79abd82b6bf97dbe02ec2713ced4e0e5a3c1212b6001c0cdd30e209a0409c00ccdc356783d8df94ce413659dbeab5166583cf175ed616c89bd42e40563bdb03218593e07eb15b5e406ec52267379083f31c80394359c6fdc9085c1f629b426dc0f8ebdd5e8dbf297775e49f42a071ebadfb1255e027b117a45a3fb17a0e95cd7304715148a8f7b1c26c20da8e061ccd843e9154dd90b75b8082c0bc98ffa0d1b3c5a2fd507b18b2bb7621b7cfe01b5e71e05ec5727dd61f9d1071cec97de698e0504ab52abb5095d6a098c7722523e3ec3eda7dd3b4aae93e68918c86df4af5ec18a87710035f4d407f69c2df42669c3d36f43d7e4f152b518bd14ff3cc9ad2902cea7a05ff4145347a606fc329a3a506f0874a955a601d6364343c19e2bf02141bb6d496ac9b46f4063e26949607dde55c23e84044ae440939dc2fa00ffe0d16e7b0272bd1846f1df93edcf3f5d9694d433b78b8e10e0ee7474c12e21b70bfa61036f152c6a9ffb853ad46a489630c0bf876b8ac4d59994938c862e5959ceeb059d3b7a961c9bf473789a1c4279755bc29bc0015d1d4321558fb9b76e81c72f72a62e794f35600fb4c56ff0fb36e8dbe15413dbd2f11e0cbf87f028c9fc63623227c91e0ec5de4051cbec3ad2741cd2c021ff11f1420649aad8cc971bc9377b9480f978271221c605ca524e38f8730122fc05a2651aee8175469b3d6545b403a047164ca99ad925c055363559b94047381e3d0cabc5fe484b1b94d4a870b0425df6523d78cfb0a6a7002da8320a48f1b9a2cce09a9cc6ac098c4304d1d17792925acaf4e4c02e7845bddc43410916b5b4aa48be4b7b27ce810d4a96c7b4de03af07f1ef3571a04f8fa63af3051af7dda03a6528815ac2e27de17fb72f3b98f3fc38d69fc446d0ace05040afa687c0ea00ad711293f9c7b3a5c9f7fa7fb41959191418ff4ac1559cd670fb9c80c91bb1585e9ea6cb140aceebeb623e9800aa9115ae40574886bb9026322cc7b3e746af91e40ffa8c5396449da7af57a2409faf6a75be4c59be5bf924eb6a027e4fd2be09d0188efe0bfcf43347f1369e1b3f86301cfe4272ebce7c749c8cdd14d87a852b9e0f71e91d6021d808bd8830de7ae1e154f02bdc3ff08b44c405be979c016b13ae6c50cc4e827cc56b441886f06e11d840a08d6dbda0e289287409ca76b0aa3a70d960c8025e12b59c285d84ad42adefe7f80ef9c296965486fc996ad0f85d5e6a2be422c6f8b6d61a7de10e51bffeea5cbb973f10f3699644449ea25f6f656fa3c48ee5bf7cc788dc83ad868621b9b47aa7a43cc16c44be83b4f80d030dfafd04cb70f9e9b9f8fe13f1e44b390f13147171885875befdaa5c99e1b0e244e89bb2fbbb8d7c3d63e7563775feaa57ab0117914f1a5f487616f7b43fd77d8fbf01e67994bff30c67410803aae08926e5c7272f89dbdfdf71fdb3b0e6885d1748565cefaac05737a519f52bd79ed6271aaa37b65b40bfc22fd864d2653d9eeefe817a844c3f298a20bee5ec4b090838c6379a33bef3009283475f9256aa7c028d7faf4fc5023d6872b5840bbe3b38e77df1a9cf3e65573cfe138880d842a84f5bf41bdff3f9e484e9cd47def1f972ef1faed0d82106530502ebc1d46fdb0d0601ad7cb8d6607f24a2c84a483666d73154113ceeb737817a5bcdbf08b815f78adcbed178e6a3854e9fd5bc5911b5ba8ada3a3395c93caa2d8c28e3b95a5fe14a78015f40a7851e939619955e9bd46638696d904f2b0f927bfb829f1cdf41206497633abf96d9ba87f8cec31af471c894105f82884edce69188d0101940e369de9974f79701d4c1649b666ed5d131dde08bc15549420e0b8ef3362354a9a9c8455d3719fb0eaa762dfc76f0cd345b7dd47c9292094fe8dc5f3e2dccba3b1bedc5aa6ef3924b8fd0534086ebf42ad4dd9038af408098800ae6bbf5e1766a5ff1ff5e3c736ba3e67b2ce7930c59e11ff0ffc701910700176bbab05b306cf30438cbcb864a18f04289f01ca56d72f4f7c725bde06ef46fe8d3836c496bbadf19c7cdd1445cde3407e3aecb61ccd8f23b2e9984fada5405e736d66ed3e28d69669be73615f5b69ebe5b33d671f6ec269cc87a5ba6c4f4a29d9b1b9ccd6bd04d6f5c4a337127e17e7d87d10ef61ec9b67cbabb126a2619df26660a504d29f05f11b3ce0f95474ac5347e419053acda4dc88ea902d38276702d654c303bb30d11200c5818c87039d60aad18412b927995e26aceec12fcc16ff1dc0203a18b8d36a9db1591bcec8eee6f01612f0e3e438068e45a8585da522dadbda4f3b389f5b7ec33b3ad58aa72020923669d7099274ee12070afa9f28b2b7add1e89dbe4663dfd24ff02a79649ff5faac602308eb1109bd89b0b78fd7e8a34b1b824c19de5b0c1b4d85547f062448dcf2099f1ca65485c6a7e754a1e94855c0694097192e35abf845fa771f8ef2b8b4d14e265809d270eab401ddfb87928c1621b19067fafc610f2fb09832b57e6d8581e9f9e8c009ba7a380a031e1331fe182ddd8d9ab157c0f26940796fc0d8ef1b399732605eddbd38e58ea1806d8740b7af26c46d66ffff078d185fd1bfe2f892344a49b1eaf4d862fb2c8e29b6df469ba32e2706a96060abf266d1a12cd0616e91cddf8e14278aec4b5cb248171342399914fc9a32835ca0aad7e5d603c0ced92aa8e4c24028bc9484280359e631df207adf9b87215a0871f5f3864d900d6e263fd15ad151338ac82900b193cf961708d85f1fe9d5eaae934cbcae997f742fc94b2cc75dcbd441b201e808f45e70b7713296122b270762f04dd694329cfc23d2b30374ef1605d3272a18e79893144a622be51354b3b85be17fa15b18e06ee90cb4822eb8aae44a9dd4d0183b1e7c742523e5a155c6f46d994656aad485715b0b18e8ee46fd846cfc7aac9b2fb9559224a3b1bdf8e6e7600a3f1153ee8477f34f0b97f126f8203291e73565636652284c881f67f75958584d94eea3971bc560962b0f9d6d32e66fca74c93dbabec1ea9cc5caf899817e5d865769576fe9d5885c79fbac4aa02df503188b64c20412398ef17d5bd0b3d726e96bd76745ac1c07923eed5a34819a95b25b12fa405291c1fb90261676f8fe45810fc9c0f9b0ca71052c676fe196c556ef2792a55dfc5f722e9f8b9931b8a42622bfe03a57159b874de5277c4f96950d38d69cc7a59a641e2c3b6671bd7742ce56d9595c6eb8aad69aac1abc82e7ea65a6a018370a6a16648023290dcf616e4acdc680d456cea61c97771cbf29027ae2f7a52ea79192ac7c5aeaa854dea0355d1e0aeac7b1ab7c8b71fea95486116ea623c1f07ce4500a65a69464f501219534a1820419d19520689e9efb98dce6e95aa62a374f124489f3003e2e60f9f9a256df6cac790cabbcc741cd30574892b51939b8db351b7d598c44025e40183d05a8f607f1c265ef751669e489e5fc30dfa828aeb16f927400d759c20b314380f1a4e76d3f10064f4cfeaf5ddb78f27594fea3dac57833cca24bddad94f387224daea8baffb4281aadc60f66921904567f20c5b928a65456e88b0df1ad9405988adbf872fda3b575c331ea0710ad1c83f4fc3e395a5cb7107ef18a57d305bf0427db02cfdf3e6cba4eb4b644e28213284eccaf26b34cf47bd81e7c1ac8aa56b00d84e2ac52abc53ef4c3fc7f268a6e6b167b3f3b75d40c9df8e4ad22f3d7071338bfddb29ae241ce4fb6e2a277855810bbf2b1fca7883ff1bee148bcd8d3bf70efca8972e71cb4bd0e6612508818becbf42bad857eece3b62a4c31503d38a335800bb8460d33948d650a4db422a2bdb793a5773a85f71e1dd843c8cd431490a2db160717d2689edb6b5ff2929eb66edf0be55174472150d0927f8f577b8685da5ce6521a79dd7fb0d166e4b7f0ffdbfa537bc937953cb4eb0f9ddb626e7753b763be66110f80370cf8482e27b366698c61f02d29c7ceec612529ef14c0df85f7b6e6cf4f5d88a5570278ae84362d6424f154f17f652cd1a435493ea2b4b257461d602b89ec68bf92348780aa9512e2467dc5e687d395290b458f3d989729634b6dc6dc06fe4595898ec915ed848458d78e504a0f5dbdb7f3dbc5e949e0c5dcba65744113edab8a01f6ef1165612493b330c5a8b0294e837185cf97c42816fb5e660104e461f7c234f323cf4d2e8ad93a3f7b86b203604b8d34a5510b3c17c4ecf1bef765950bd488612bbe5a735d07684c8467df8ac4a2e07ea742f87fc09d4f80768f09c1afd7f5fc0935e37e51600b5d08ac21c96e326837bc97e137a660d2f6a366efdd8aaedfe464498ab7847cf9cecd790bbed91cefbe60937dc2fd551bc115fad680dba3667b707f1e70b3fdf79dfad467b0bde41ca0678a26e7ccd73bc0420abe676f1700774a0c1e131636211abe86cba69ca27487dd0c6916b0fda83366908f7a53bb80c97001fac59b6d7b34d7ba399adfb9cbe2f3592d75dbb8259a2a43e40c5d970628414866d987cfc1a26548f9ab80963587c3658499351faf2961a043210c697d5aea4ea22359c6c11ca38b33b31ec7c9562dd83777080c6ce45865acbe69d35e46738ac8a697ebf8ffdb50da127b16b0254f83825f4b05cc22c4dca8c95e9184d67863bcd8ce943397c5f5d3e1e4b6e7326c23949c752a17620f96b2df291a77d3ceb35e9e539790263843c40e4572f8ea185d531f3e494f0bf19389ecd29dcbb440eca5e647b1769e9a6baaeffaaee0cad6fcf29ec9e798e79a4778d6ef80f39dae0f00f2d1200c45ae9f53cdfb6be397e84fff805e729f6507b815803123378ea23cfa615fc752a68144060f125c849f22333ca150a0567077d122e95288b039be4c805eb3a437b8b2f7ec16f6678991014e76cab262432c2fd27936296a5c6829f3abf014fa6fd4057da19792171aef595f6a5a9d41588ae8c504a067dc0f2b327cd523e891de8608278a46fa1b93e9011db513db343c074ae9f7ac0cc828f49c056cdb1c7fc6f93545ac9f389b2ae327c2275ed02b2e643fc5eb911a38e7030f6c477101cbf5e4cdec82d491a4dc652d46a1767826eb034bdd8b6879d482746a37c361def7d74e88b3627de2e60a5c2a665aef33a30e127be66e8ac52115495032a1fc280bb5e460014cb5cc3b0a8368dd76edd99abb30d1c7f970d41bcabadfe84becef2ae3667a32240794636f730b5e22755d640eb002c56d469b3feb4411a4c7ddc389291eb8d898ce7794eaa15b0aa1e5c96c36214dad058a682520e9434dae50a6a4a74413849aa901b46c2a547b55b4f7c1ca942e350b1ac1214222b1f66bfc190bc0e0f6ac6f11453750423b0f66a876511e10c589151056912907754b6a860f4416689ed42be83ba73a4aa11f1b4e4282ecce742e4ebabefbbdb40e952618d831b0716ce6aa8cd2c0a49847a6d1768771640e641268492c5153b4fac53bd0b4a0d4043b1ae488ce3295a6fd0af1c1f8b60f1a1c4a3020fc167aa33669dbd29f495bdf8d1120b409f932982a96d5d6f3fea1988c2de192d8314185b1727be313a9f470a6b1b86394617555d06593dd78618f807133f0f2fa4ec5506f7dc913bd70aceda192f9aa0a8a4170c545a1cceae06a72a55eec8d3548c97759c456105f387daba6219c3f40947da409c206d026f30f27304c7d6dcaa47016efc9335a1ddfbbb74fdcc3d28cef1b1768b039bc520e528d58bd64c079d5021e070d7d4bafc95ed6d99c1d848370bbc87a3868b34b558a8315fbff613f63106a293b95861cfa48f171e3ae273fd9a281d59b71bf62bfc037602cc8b97711c03887729db0a3d68ff1826ddee13930c832b451ced45e9b5d33f24b0796b7e6b91e8a1f5c8565c28d70a71a6c073e6986c89dc8cc73b94e121f072068061d734cf59434ac887ce8bee6e0405fc805eb1e1f71f3b60bb519c06ba561ae881d4dd01b08a232b463f167be4c60108a3afc2d33e43f45fb43bfa0cffe301aa9338eb3d557217b8e38ce10eaa162d3be118295762a5ad82609cdbab60b2199aac0dc8f7f5341558cc878b032ba85abb64b291f52f3893c7006e71a6d02f1ffcfe3c58fbcd0bd4c47eb700d3972cd4c0513ff0fbb29aaab27c405a760f7e2f1613ecc815df745ffad4aecec2c92c0e22a52a1c69ea6049515582512e5364e9f7abbec49010a7683400f8c30a256ce1c00e6949800dedd3ae5b74cbacefdafe5c848db45da5ed29084ee5bfaf33eada0869b5732d7a3b9500f99d511286c9e35ef135f1f7fe3cc68e2d05b5dc7c418aaeaf665d9722808ed975e8e5fcabe414e8fb72b0310696bdfea6b212673aeae825fdda79d3bdfd1710b9e009c27f4a3a7802fae71b98349894f9518fd1fc5b1399c636cd88f8ffe9d499f3ab6cb906d918d6c3d8fce503a20a81af09252f272bd5f82cfc2c1c5d5bc553bbc4ef07c1165adf8d58bf32d9ce67cb197a4d2b19b1dd70aec49d2a26f91cc2bb152bf4ba12a2b466be2d4ad85708a128927ae5ea7e79ef6afe459cd8141813f3360bfee58d76dcf8487096b075cdeefcba777b2e59697ab0f33d8dbe8698c44abef06882c32ded5594c63c4715c9cafde88631ca0a27c6d8978f154ffc38b915ef65c19abaaa84a95eee56771620bd712cbe82348528cf3b07c200a039baaa5a0743c3fe1088ca245a0302004f7fef45d60f935b353bfa025622398d78ac25266fd90f921db5b5cd99fa774218170daf126cd8922cb7a5326468d6e85511644c114ff44c822aa7e5807231343f48a24dca0ec81d3196ab451880ef71e2f7548d35a92f570fbf515bc3402c03def04bcf16934ecdcd4e375c50e8b411ddc734ce2b942be453d5265530db49ca16b01e6112a1d98a3f506fb2b45b2ecf1bdac3e3c605b2c003a991ec3d3b65c1093970a6414253db0b33e309579c91a454d8ecc1991507725cfb72f01bb2bfb05b437046e8233a55c8e7249c0a0536f00e8757c75e2c715b73ed725919546ddb7a605768bb083b95958300b05135c14ab220c528b9843520dd34c27613bb68da254b85505bbd11a62fdb481bd6d1475bb8b6381396fdf9423d6821c8f88a02391117a0200ac2e1449b7866731a838e674a6abfdec4ba4e9a0ff847187bb3382273d73a56273e3fc4bd53403039f947a6106df64302a8ce330361a418f54576a1b95c26a2036ffbb0848bd5f0f04271908d4273fe0e78ae435885f1c85422fcfa6ec12e4ced4d7e0b670da7ef314cf7075a5f0f23722bd7b3878367606249ed7c29688fcc98a364e175cb82f98ad900a4d980ef2628ae274ebdfadd67a9b902218c10416b85bd51529fc5a08896d6513f5e867cef8a0ac4935fa3cc222d6826a897acbe9e5b063015efbf24cd83013bcdd3a462fde07daf55c4c39312103839f09b1195c0daf9f61563c7bc26dfa8e739bd43d17c72c2d176a59d20458067db4f4c7aca119ef16d174f78a761cc5e92d306793fda2004ae55e6537efe437a9dc95e70cdc6c1ab0840b0704e5d6d724317b615b22a0bca54c8b27b5fb02255f80a99f7987a7347e1a82c1b8f334d7f6edc18a3bbb2f5b79d54d6d11a6a342933fd281b6fcbaf69ef0fb40a0bec9aa90dfd4d632d90959bf038f2474148d6e3746962582eafe0639e77d16f4b7a03df7c8fd7b4e877e4759f1df632e485c69f6df3dd5ca2863e11414d9dbce2b210dbe56b1e13e5a13b279941eaf8a07fb9dc52ee69fcecf68c3ea813a7bc575d5968781e1e1a4f97b68fe873eafa8822beabdfa6b47d3ef722f9685c43cca3649a4f17f68bdb3e88a9569381afd1aec6230c17b5f3f0dab0d5fcb74c88c9f24ca3b19fcab4ddfc4c19e15c6c5a4039300dd2250bc187ec1350c47f39b3d0d0056de17625a0787e77151633ce4c2b8b70642356b415637d2581e5714c691f39c04db53912389ebcc7cf93fe5a50b4e84320f293e3f41bcd4c871c4bce0458da67aa9a91652850fe8a58c92e341f58606490648e12275929b2a2a5b7c4c7397ced907762976df01ce40087f1587e355b11bd3871b9c1317c9ca14b1f8a74697ea49469ecf159ccdbb48a54e6bd366f73fa0da84daaac188d9d3195f3099726a9e9f9058a445cb7830442b8b504b132d54ec8e5896eafc741f0a495e7ba498ad4ef5887d04c6d17e23eea461fa9e02027d4324d424f5f2aa072ab53ad83e25289184020b8aea3630124cedb04bd76d1fe22e5efbc7256f4bcb5a4eb47e6a4aea69d1a9c7cc9c80cc18daffaee907ec1991db7ac1cfc5a39914fb658233eb5640b1cbede60f742551d1dfcaf62551efa261b6c2daa0e031884d50e79d4a86d58c6655f4031549e292241b43b604819d3b2c40f70136b90ba37e08777b5712646139e8b25e6854693b5e643e06285b77d478b0dc0413768dc6f3095e9fccd23578693f5e7e0cec1660c050b3a33a0ffa4fa7d1799ad7babd21ac3e3508ed7881c4414d04ffe9a2de736aa345b4acb6fb2ac4ec82384cc3841b26ace68995202a1e3e4d807ca97daa57d1e1f3f5b29eb6340cc2f09f3162439fe232298d0729a1ca03fad9a78b92fdb8e0b2f5c4f4d0ff8464db774b8181bcc3ffa19991fceba30c815f03e289f3bacaf61a33082c96a58812bf804ad17f9fca76f0eed70c75609654ec0356ffe7d8ee832634868bae89b018f59a6016df263a64ca68ec214deae8482a2342820135482e755ef987d51527206cd282a967512f14e981dccb5fb5830fb18ecaa76c545306ddb745c571684629f76f501335edf92bf3afb88c8af8a31d156340501c0c0380c2f5b7343f28ac502ded9f0304d740fbb5c97defd7f15bec81b127d1a76383055814afe7df018e9eb0c459be348bb03f00a22d29ae368812787befb730b153fe53ec9bef0791ed3bb5f588ee1f49fff09ea97d69f94205fe2d6b73eebd99c2c2077eaa3e667deabf78adc6ebc0b397c9879f04544e05ae0a45b210521038cdb66de917967b96c56c0b40b4749ab0f7bcd89f201ee45eee0c0001aa06810684e61818d6a5316acb42862bbbbb7f40a1aa04d0a9da9a759430ac859a8456b6f5092c050b914903fb1a61bafaff9f028d111713320f604865f3281f77698932c4b3b85a61154e83a4423c2ddda5eba6d04e6dfe23255810bd18a25e12655152274cd1d0ff6b000becf35cde501a06c881fabcd6190ce0c10b0620e1e1467d09c18e5aa271b0bccd5c3981190faef8e30a2caef8e18a2e58a7c343d71546f8e7b5cab0a1b11ecd51668ac7ba90f5ff4f72f2ffaf3f59918315f2548685321a585108387eaf70c47244160beb40c42ace54b143ac0a1c2a02e9a8e0c20986a1b6c6d8890a20a8c0818a135053f4c1c34c710617c145d9cf143d53e0681e0cebf602f858401803c809802b8ed302745ecfe5b4f8e8893c3c2929e69082c54f523cf99782c8ffff894c0f27323b5100728a224d0b04431d46af278a55e89da210e1ff51fda3024599ff878228c41c8a2a43502441d5f0c49a7fd4e989223e90c57af5d313abd313395f301f7a6254f2bd9c48937262cc7f0d51b438d1e5ffe4840728f1f3582311ffc4908fa0d04f38a688708b8787a76bd9d92102a1a48670d804074ca0393141e61fe545058e5eba0e8809274bfcb1c412a7259e2c91c218361eb5442c0ac1166fe160e0a83fafe8c345aaa2ae538d44fcf3581aafc6e4313962079500a384094a68908417a724764802e81ff545e39c9303a27a7212b0c529014124602261c709893690189150e108384e475471c4eb51239805f545f45eae9c223c841535e12d4fc44320106a090ed61813264c9814b13ac6bd548a7fe0974a81fd4764651cf4e9e81c712cd209b90f0f43b0771d0e260679fdf3f010c652a3f86aa5b01758f4028b78807672444c04a443034a54c257a30bb3b8b52e20282816423e8e3cb38089b8d5f2b00e4ac182f800a54a6111f33e62254af0a8e4c358e81275f8970f230287805ea20a084389588bb7f86a54c28746ef0546257e1e11c751e5f460a8a1219025ba301611e32316b122bc1a5532e7d382a1320c38f4a252dde045a5ba0103470c43e5ac52612dccc35174bd301ef296087e41d8db184b072b8539f1e053125312800f3d7c49880321a0424fc80b5d7c17b1423ce50be635b0582f2ad8274a0d2bfdc202824053582c1c65486b61b188ccc0c303b403f2283c3d3b62cf077a439886ffd20ce37f49ecba251f948c33a5772d1f94a2df60eb495104f1e33707239b58f1e9e1afee9575867232b864d418e703c21f0631ae42a9b0a2ec6d8c0986619dd8419d514911cb8b82a1c0104fc150525acc09262dc604536d70fcc095f65a1e66f560a82f726223c63a111c3ffc792d704b39b19c22a20ee5f984204a54e24fa09a1f80c85b39fa2b128f7010657fb813bb0e44e2f73f8904f0842f06ff0f6252b8f86040a7afccb7fa9660392a0cd5b35b1c68956911fda3bc10047378c8c3538bd3ac41fe59582cc181c21ae2c4c2fe515fd67c4983fa32e651df972aff28f18b9111b7f0884f3aacd1a18c0e3e8fc21fd8e30de2b1e18da9e27509f16a90a22caecefcff7730f4f6692526ca0a67f45c22dfd8e64181fc07b11154c4a34e412ad42988fb7f540f64094a8f3c07a773017d7a16399e9723f230de8fc8eae1df9650cbcfb705fbec289f9511ccb212f1077a62d0e7891e16d1c3b231af128251680841e9102559d338fc9ff43de9251990c742304a98fabcd48853443a201282277ede959588ab6012547da84215102a28a9434ea9347c3542c1524ca4babcca0b0e37e0a0427d60ca83f7820376030e186a0cb910a7617c69d9bce501e530e673f0c9c1cb208ffa402f68fe03b1107b217ab9bc4c795451c6462e8ea2871257a3128f7fdef8e130455935c4fbf8793a45accdc7978b678f85432ec445b0e8c32decfae1e36b7b3f3f7ea401e4ffbbcc2105a5ca1803435c83987faceb42ae1a767e8551f4ae607c05c46590ff5fe51e0c7331e35d2f27c40e46397161fd772e4ffe7f75e292e4ffb110ec5be0f8c7567d0b99c7a378daa2e25b9274900a179f13101b4064fe5f40aa7d02c2f9ff5f0df2a89f301eeca71f287e9efca37e6c1e257a200d730cf1af358a349408e00501b8fcbf0d7ff299818f163e346831e4a425035a5c272dbcb3ba3784c52f98b3c49107ed9117819fe41bd41f86da7bef1e2d59b8184f590e90854a162361510d28252f1f2c669cb0108165bbc2c7e90a99a1110cc28a581fdffb25825fce38f22c7bf7ae3cf9ff22cc12f169063d6640c0a38a462f0475c02d21eead74dfa050ce080acdc0bdea062faa1bb01c2f2ad50d2beff38af010b6c28582428c891e86c218165fa18743515c82f3713ee4e11e0c85595f42dec2b02784891963f129405ab2bc7294f460a8306314d60183308ca9469c52614e78a458c1210e3194909037b2309693b3b1a8bd707fa0f6301c7aa20f86da5ece4ac42b2f2ad50d58149d8d452956b08fc5c2455e54a2160ca55261e0d883a1b0c862f5e0f1878f2017293f878c4658c0f821dfa196d183921283f088539b878b2f1c65c4a911a77878b2ec88bc45c38ee65c36ff5ee169e7837f148ae58d2f9637be441878f8d5e87d014120520bb047620191384e5d997f22643a2945b0aec81de4dfd50a57ae56b8ba662849759d929bc495822a1ac31e0e051c1caff282e5a8bc6c2f955394b91a545e726e5061a8d3b607186e671eb58979d4697bb219d1ce3caa28635c9fb4d5ff3fe6fea4e19c2c1cb6ccc9123d4af4b093ad8292279be49465901574ca5c8f1281b22475cda36a11ff8ffa3eacf217c56d657b29ca00aae5443b9869a60e3335917c2b44f1309ec87530556a73d1833f490b484f7691a353130a9c9a6cd412d5087e2218f2fde9136a0327d4182794d00985d25983a14610a4011473160ce57ae98c39e9e4d071ca79e294c312c0094e0240731280d04900578680501dc584901393399888c1def7c250211f5f20cf8e28e2b006acfb406f48fc30c6442c184ae703bf0ef579411fde53b01c9f2928d5121f2cc70a8e0ab3a252f9e8609d28624b320e86fa3c6c09c6c1501c6525e44d7c7052a2d775a2a8f251613a2ccfc3b660281ef6bcc251b5792b5cd205cb49e1a886baa854aa25292ca70b8e0a13f14a2562517b422cefc3ae161018f20214e1a16fcbc75d5a44917fa35743d00786a63332f02414b24a05c3c73f3cf22018be70ee52892d952a0534fd94c211ff28c02090130a0d40e13ba1107442013b9d5082ff977f3a618cd30947fca3b4609d4aa743892f15a6837a619d0a55845b183872d50f6ac928f22150b5792812e1964ab50487d885c35be0cfc88378100fe3fd60451c55a4c2aa6efcc6ef05b2400d0a6171c420c8e223068e5d51883d964734aa44bed2380a8612515aa858a1827d1e864205a1a66028118b98901610ce30fd2fc1825365bb74a0a8301d0cc5bf10c4569d4ab56409169c2a580e142c4788872e1c15d6b542b0635f3e8f15850058fec7e0aea22a44fc97f7a850d789292ad4759e0beb9c4e827c5ef80f389db8a0424d58ae9697f25cf82406ebc4531511f4f927f99802f9cfc3e2c845d3142f9e4c604ea62affd80da624cf37a8e57723c7ff15ff0f803fdd0cf1ffa63fdd8cff7fc29f6eba3c968375a213cc4bea86d38dec39d90cf28f9272b24973b211c33ad964e0c96684130868fc3f6a73217c022106ec9b821231266e1e6a4cb4e2d3a3640a961e1aa8602f1cf1109128865ab65c5166c97f911188847922454434e88043c3754282c53f1221907471c28361dd0949eda0901d0c6705ac1b45ccea800dac13bd9c3ad8e2d481134e56f0d281fe17472fa79cac80a57617c316281dfcff7fd1200b8a8ea8b33917754a4f4e1c88f91f45bc4f1ce46c8e9d8e94e01feb9cfce94811ffbf029423554e47923c4a34a2661b29f3ff2dec124f469efc06818c2f573f6d80463c6db03a6db0f3ffa8d306239c3498a81c71085c8918f89d3418f3451a70ffa8f1e5fa82b90b1b73b093064630acc81745dfa90886e99c8a24f947891d144f45fe44e40cea44a4caa9b4e61ff579a1c63015162a34705181e2a954c4a984f327121c2752190cc34e2415172d3e18116e9d48986bb4c7a3844ea333a7d1ea1f751a8d1f3f7d9a19fef4abd3e33c4afc3c36bc43568718f1c142431543d06043b00feb190c827ddc057e789c011bff8f1231116ecdc0099488cd409c0186c2fa158efca790341f1805434d29a48817564817424c40c81c848841f1170e47f1a5c18db10861f28f1a35ef5dc9871a4350e421e62d3d8e5cdc9d487b309416b1e8613cc4b39ca1e2613cf1c55f60523c8c27f2d03a8a601514261649c150569ca0502a8c077db8281c87c0fd79436088f2bac70a3157e58c9fa7847fa04e51d6e91d5402862e6fc4429e159f1e704cb95e2c3884055bb0c0cba33617592c9c3dfe79411fc7b01594c8bb878520c658110eda1cdc21d69c8b0ac3ae1e8c7f231086c29817622171f45e22cf121c1526f60ff4c221ac85a9562338725125f2305ecb1b5d2115cf5b892a16086615863fdce23f186a145ddea8021452b006aa28e770deb11c154a74791a7395cad57a650cfcc1502e6f0445160c4b0480c18031c1048071de9d602e6f4c8d9c05c3129737e26816d629272367356982f110fc82bc9c517c852a950a43652c6789cb1b713051a78825eab0702b1cad6098f50a7279231e338881230b7f5ef7542ad0e58da127c402c6b1ca63b9468ff56af5604fda818a197c2a486c8d224fd7ed514cb9441e82da04554c90e48f41507fa8f95e54fe58c01f3ea816b85da63fd6b0c131c85a43e65121b8c6f5ffbf6600ff28fce1dd038ede9eb23d2855368bd5b3b9cf10f743cc634afce0feaf9420901c5309cafcbf6a094af0e44b9004b5392f22411a4cac24c03e186a6320121809ea030ed4ee83e8ffc339232feae9e309501f36ff9f3782407e0470fca34640e6ffa9d0c025cb08bc11e0bc080611c117ff8f123d2011f8fc7393085ef87f14d8e22db0c55b3c7c3c800fd63feae703bd8f8541ece3c388b807127b48d90389a8526162c8c59c21291f66b1708f1e6950de9e9247207984910704f2a0218f0df05083471b7810e141003c4e779c21baa3ca3feae398a82407a51295ecefd543108341b53fae822185f1d5d8411d1846f1a5d305615667f2794c7a0e0e413b70e88d3cb4e3093b8850dfeb47a5e25f401f3b9cd451823a90f847e1200fbb5ab88e0098420081ff47819c85458c17f119b06a090bfb7b75dda4c8c5426682a3c2be681c0285dee62128621bca37e5b312622a2008b4bf292c166efd8020900b4709b990162ddb83328259c02c5240a0a28dc116c7d2432ea3243651b0e0ff5d588b1e0ef7c779c29083fdb3b2bf17151efa845c886701bd2b24319b83999800301d54180c2a0fdbc174503d69876743f5e3e37305dbc13c951c40c821ff51dbcb1fb8e35fe5e5061586fa40034c1fa8f2a8fdca9ef686c61f531c2c88a3ccbb5ee1c62f307bf47ce2507d8f070651a93c7006ab07ebd91e1411646dee01cee401ec51593cf0ff70a881e30b2038c4c09189f8ee40151dd8d28111075080da5ca552f1ace4e30018260e38e1611fc6585cbfb1c71b49bcc1e346216e68e1c618379cb8b1421b6df4d086923650d8401bffa8cc57a30ee6ab51f581e0a8c27496f4a2cc5d2d507f5e8e142b3af9256e1e623c6f0f0a36be5c188fac57cb138b40968bef255e1e41d64fc87dc41164fd881dc45a7082a99a602a1586024714a89298e8b97e7e302e31be1a45252e115b692ccae9e5253af925e260437b7b19b3b03f16c4206ffc4096eb357e5e8e0f9805ccf2d252851bffa90ca8bcdca0ca80096a68400d1efe51282538c4a2877a7dde38b48778163538508d0f5040611a5598d290028e2cefe32e970ec10f0fa9c617985269fe7da3f892010320c0801918f83080c205e4f86fb17a30d40864bac0ea512298315164b1b4a08a32068e99e561ccf23cf0033fbe5d3a63e72cd16332f2222658887bc885703071c9287aac0fe3e417150c85892d3e7a2f50177d2cfcda4b8a70c44fcb0866c121f611313fa24b050c50019cff47794aa4603d15b0419dc1c69f21c5bfebf5f1741db84304421183c21e1c629f333c39de0c25fedf863799a19961f38f52a1543c0c0f5d14d883026328806502834c00cd3f4aa5aaa2c23eecb93c8c5141e110fb4419bfcd379f409509e0fce310bbca5853469aff2f63cca3b6154cf4cac0f94771f1e57db8558611149a0ea22183e6c9ff47c1502c5da49b6034493032d448b142c6170f7e2632c63c8a87f1c8a0e15129d318368c7193c39bc49080498c9f300409e30a53183ca0c02ec54a079b40c10250fe66cdcfdfacd97fb346fc8084100010c6893f8531f3a7305ffc294c06fe14068f3f8541c19fc21cf2a71d4e7fda61c99f76e0feb40301feb403ebff6d8e1811c164426264ff8d1cff460af137128abf910ef81be9c5dfc833fe46aaf137d28ebf9181fc8d34e46fa6cddf4c267f3377fe6656f99bb9e56f26fe9b09e66f26107f33c7fccd9ce26f66167f33c7f89b59812322d8985c6bde040684378149f226303a6f0203e54d59387813018a7813989f378129c09bc0806f02b3c39bc014f126304ebc094c03de04668c378159e34d60e678139814bc098c216f0a6dde14b2f0ff2653093654f9930d05f8930d416fa2438a0d4cd88860c2c9c6832fc1468417f4147fd264fc49aff127bdc79f740bfeb43bf8d3c6feb49ffc6917e04ffbcb9f76d19f36127fda54bc0d143b6f03c50ca78de64fbb8d3f6d357fda83fc8923f9930d457fe22efc893ff913f7f913c77fe2427fe252fc895be04d270f68f89307437ff2c0883f7960e64f1e88718403103c40a205ce9bb4a06fd20286376941e54d66c068e1f326333e40917a9316acbfb959c19bb4207a931646a8b0c20320851354f8175a50410539fea4c21e7f52e1903f6125fc09ebfe84d9f0276cfc1336e64f58177fc23af027ec047f5a61833fadf0c29f5680f2a715567f5a61883fad90c59f5648e34f2b8ce0ff6d38c8001b6fca809a3765a08f376520056fcac0216f5ac3e64d6bac706383a4830e42b849f225d021c29be850f2263ab837d121e54d7400bd898efe263a5e6fa2c3006fa263893769a132d131c59be800e34d749cf1263a36f0a73f0af0263af278131d2a78131d86bc090423bc0904f34d2090618424243c081e3899e24f4eb8f893930bfcc9891c7f7282823ff178f0271e174e3cdd9f78aabc490b23febf0493075714f2263322bcc90cea4d669ebcc98c16333e74f07fe4748684bf39c3c2df9cb97f7306cadf9c01fa9b334137df810749f8f8365c88b7e14dbc0dafe26df899b7e162bc0dbfc0db7038de86cff1361c90b7e187bc4ddfe06dbae9ff4140f21fdc98c96f3203e64d5aa8de64c687374d60883fad71e34d1370e24d668ef87f242713d458bd8d1ae3dba87180b751038ab75143026fa3c61b1c60d9c1878327f0182319d89ed8e041e4c9ffab90d22306d8072470062790257b98e05141f3ffa32066606d6c5075f8944a908391ffdf1284062e092008c2880536589d6c5ae0bae28f34377c30e02d167fbc29842fbf8168c39327771860cd0a808040dac47000cdff93b813ea20479a38f33ff2401632605f2a828d221ad1a80ba4835277e648053e8e880f50b06124003080839486076892a401461aec1011b01210f0814c32861d6cdc3c795531028499234fd8a88e7054886e0610022346ea8022c91134aa7c515a9264cdab056a5c10c68608196770487538599de002455cc0c7bf8d1514bc8d0c45de46861d19bcbc8d9523dec60a186f63c58dff2fe17f05114c789291d78008e9497afc9716608210e4a36b897868e7ff5710640682c421089a6f224811dde623185434720982e40b1e532c31448929c480c811441040444c0b42f82b26e00207a42b628812c2a36c64887f45b6f4f0e19093e384c709b684687b3863e757ba6e5c057934845ac6ceaf6018867d38ec80116d2fc583364fb55a80810b149140104e783a67153980931d4c00d8c759a9d46681252e34886314b70e452c12e32112870ab8e71bfc5440e41feb3aef082226a6e3045ba178d0e6614e29a862039095283d3e3d51b01d8c687ba32f2740c87831443571e15613cec331abc22019f92f49e03f8ac84367d74921ca65769d14fa292868e22597c985f56dd99c67490ead2f9c9d121834045d60f86d71e1108887bcca7f290244885ff0d1fbbccea5fc97bcd82caf862eba1616ab67b3bc1afe4b1010ff4b5cbcfa7f698bad85176d72d9c845710a95b2c8ce7045387c8036692dc261d893411614f1f366f882bc9f96ee12826138657f5bbe2d2cd68b0a86f25f9222724e85b332ae32050481787634e7d2d2442cd62bcbec42bbd42e5917db45ebb275e1ba88620f8bd5f35f72c0a87b1a208a98a5392b7b41df8bca0766e1230ff50746e1e87c71af4c7b79a155861216b4ee4c2b31a0887ff92f9991b488cfa0ad8c9cc52ae233b062d82c6f15a574c51862d77fa98c17be583e63887d8a3608856b0fe42262197b5ae0c7770bfc7c3ebc02e2218885d6d7b652b44128a3f76d11f258587bdf4a7320d10be25758d8d3de7ec9c0c343eb0ead5bc61ceeb5b3ad147d3dff252b700b8baf197a7eb268b1021425cb1619525d7ab0805fcad487ebc51035859ae850ac828a7fac270f11b8f1ff1a103dbc125f30701708b2441db02c3ad8e62d161fc2706771519592a529167045014b70787eba6e73de027ff8076601fa33f810430c51e31129fe311f485edc2390ff17591e1ef94e71deeff807fb97c6ff9fe17b8f22fe5f2ce25ff6185fe4de1e2a22fe55f9ff3d723eb54708ff1f88cb5b897aa0f97f3dcafc6f4f8f20f450e921e55f0f1c3d9284ad561e83fc8b2267a5f2e8a3a87b211772e33f8f30fe7fe4621e64c4a054d0e705e1515cc1e09487ebff79e84a895dc895c795ff3cb27f31f5817984f0451905ff6ac4f1e3605a1b8f34c08e071762ea844710ffa914194b70f8cdf2563a15823d85c74e0a8f131e8f78df31c8ff9feeb8e33f0db1091d2c3e754711ae3b805ebc63e7ff0e179e8930ee2062070afe1f0e3bdc783bacf8c7c071632861952d52c4204f04f7eb87670c8527672704a9b032e6607b2097aeeb3a9d12f9fef8dedeca258ae0f6402ea9542a950a43300c71279282194afcb774972822b85f3f346c71b5a4e010fbfc8838c43e3ee07efd84455b44ae5dde4a74b5f028660c850c99ff5214ff25289ef82f39b14413ff252696f8fffdfaf9c02c231f9e58c1a0800dfcc8072a3818c474b11af960079a6e0b3ab0d10f4bd45c0f2c3933fa8108325c0cc4588d7e28840dee84388a18894980cfc6c3029a91019c24d15417503302820435f607356846075881282b338340464178646a1a2edc48084202a17a54001b11b1069b8730c0c808013d5f4c0cab324a80923de400e893d198318c34c9a18634a32740f041f9e0011b230574313a54b4f618956141951c3300e146670ad94300777c00c7080c353e4c08f91933aac00a06616242abcbe88d0da4597287c48cf430640d4e97326b462fd87246c910187b906ecea8f2021469a821d502a409801875a021e1f084cb0539065991946072a605413ea8427ae3aa5a38614f4a25d87086054ab9929005e05881003baad21f3f6a3017952288bcfae05450c2e78b222c00a549a18b02a829e2023e1e8537f88f7a2022410c502e58c092d573208a344a8840056abe0c28e848b3840ed83b004d1377a45630c83fa1c6c62d0c81e68738e20628696040f344785471c703da503dab893ee8a00005e4632308217a71807d0d56a4905cc08d2e9f658c3a4e50001f533c95319a7417de80e30720841b4d84008117feda04b10125d028f3350a0d34946013c4a33c4841880e60fd97e4a004102bc0a40fc0923a02f9b282945f2153a1caae60e1519881181e200113316fc20a5c30012136a34f525510c40c1c78c08b500122560f224cf853112d3471e5072f7f73c406e268824b1e0f0206b02a1490d188f900670477b4b153e691a0c1a19ed2ac404c07ad2b58182193e7204a1f62d66c71c61fe1caa0a10a115c21c6481532b0c8b45889d900cc09420cc1c586d7c00b16091c604612afc1e89362050d2b5f84632bdca007084f88a81983043047967822056042092e7e68e249e98f9e4388d001d3940e2064c6658317624a3844cc44a08541d290e6c8c3015146408018121226315c606ed290acac11a230830cca903eb8510c51e5c3466acaa0c0082958438ece68114319646ef618f5d00304ba20e40e9f119730d080c246818d2a1e5342700a239051086314a0a30a61cc0f1226608642de10f37a482c7a544020cfc60fe30b2d6441e6c34041000d0053c0f92bdef0c62432b0fa250ae0a4034878aa3c104d6413f8800b38fe75658d2b3f5ce0ca7b293b8ab278a3cce790854f1f5b8421e6b71c91c20b028630fecac681490b5cff52cab070629981c43b7100071f58d2c4f71b36c287160fdacf34384580282290cf89808f1c2ca4e1c6e3bc80c2202d9039e15db8d11980180b14f15827724388185e78140050b770c169026f4200b420e287147c3c093db8108415178c17a1040e80d104014ade24881579fca001c6df6c40e5cb1049587910ae8830812810c87b70060bd248b205c923e9220378c70450dfc108864c40670578fc9117788912c20864f0465a70e2038928486f848317ecf05201247e036e0d00c668e182d780071560690209147c11394c6ac8d100ef8bec601600694188271206009c9022841d9ec8fd828c2b9458e04b6d90018325d2e02fad005961f1c71a5fb24179e0000f10e04969461fea10f59388e65833e223f524ee07a02e26921f192201287ca0a9e2471b5863cc0307ed4753b0408804d2e8e147e1cec8460f73fce80a9957131c19fc88091b29a8d006ce8f9004d1d1c390f0bf82140250840728fed528200b2d30f0c4ff059e6812481197ff2edca8c30b2d7bfc53b1c10e0485ee3f013642321049e1df87328c48a08a1efec1d091c7884817ff5d4a49088d07ff37e491492bf0e39f06226c90c3841afe656861e5020382f88722051d340a1efe6190c33532d1e0df5a600a1d411dffb28ae78606b47f01a4d4484168c8ff0b2fe8834916a5ff167e0d1d020efcab00260d230c41c0ff090350ed744efc97a06ab2861014fe4768a302370e38f21f421830aa1754f8377121298174e0df66082dec880206ff1fa841a20e089ce0df032e4b6c58c3f5df01211f3881e3857f0e30e00443438cff235ba8908400b4f837e2050f60481081ff0ddef8a4680303ff1b90704025c004ff1acca0020e5e20fc1739e301089020fd1709618e3dfc80f24f64cc1341cc51e69f48096b6c54b8f15ff2c203232338e0bfa425874c09aef827c5a0032092d0f9276dc1c5e98930fe499d09c732c23f494919661c80ccff480566503f90fe4767f01ca04702ff23256490a58f0dfe47413e3b4152fc8fa0b011442168fe472bc040091be57f448407304438e3ff4d304a9222e1ffe3d0d26c6089ff37030464a800fd7f16586c910491ff27c35b1620c0ff17e1c70d1bf9ffc31022881a44ffffed40c21347fe5f0fc00123e8f0ff36e020c08b19fedf270912354afc7f0c2d286ac2fbff2766e4480390ffef6c9818b3faff6c490d7b80f97f941d68e833fe9f4912b94503ff1f0038a6e041ccffaf30880e1fb8e1ff5308a28a0edaff034087231c18e0ff939431e24912ff3f820a4db828f0ff273dd6c802e7ff6fea10620d07fedfe6481d0bf0e3ff3f58b5425801a8810efc7f076598b036ffcf0118414af8e2ff8f641300b0e6ff8db446e08321ffbf0113625230c6ff6bf0068b33e2ff353841750795ff2fd2c3961cb8ff279282570c00f87f221f00d240f9ff920c386046e9ff4b4d745328f9ff9286b2e2c4ff9344104504cefc3f290a3155b4e0ff49401df4a1cd39e79c725e6ed36c56e9d4a608bab2ec803ddcd9c1507640a0aee3230eb50b988877c4223e83b75ff80b12310eb1eb035b1e0e83fecbc0e1df05edff496564292386ff9104bac8ef81190e20e1ff4767cc64e173a2001bdbff8f06c0c40d5ac618418519ff3f3ae2042a2c098bec6cf1ffa30b947ef8800c728459fd3f89881642b0620401d8401bff5f7201203980c1851a5200f2ffa32e1d88e38b247accb1c4ff8fbe40820020007861022bff4f72d2e231130529c78bff275d993200121ca1e40818fc7f490425e048411464cc88e3ff3550c013838ce4e80c79f2ffa33e5cb0040f85443182edff892c40b58114ab3674d04367687f7c14790d871c72880a8d1bff4338a4132575be2130cc2b11afd09cd1d2b2d2021a9c54d0e78560b8389f81cc1c60a8b8830c1e1ea5c52f4b5112a5314476f8380b73c283b9f0488e7a4a37b85caa0dc29cc42844f456a3186adcc2605011e1960bd80eb68408b75c68020687e5718d35c1c0a8c42042018991458cec1f550386c2462c86490c2358186bc260e3ff144699ff0f8307223028c541044544a7887f49ad0043694c494c29944202416c0ec6637ddec7a567f4c28fff467c06061e2f8628bdc1cf0bc7261864e170080c9bc73acc85c3210c1c4b4a24e145400cb8738aec1181134e5fc8e0ff35f8d31782bce08b312f86a82ff617357ca1e5f485cf7fa0977530ac399777e30b2fbef05cb8c9ab51a9303c002f8cbc444d1d150e39e4902ee4f8c73a9d27228e5efe2f250089706f1ce6d405d1a98ba12ec6e7c17276460fca7fe98847030146145122a2348410cf071e411c8068cae65bfe9f052d20c089218ac5e2fabf0444c9007994404ce90723789cb848f2ff146382b9b04e6d16e8c2fa0586ef94e6424dc40ff49e18e1c482fd1b80ff5f803fb5604ca907974eebd3e9a1d093b26cb11f0c177928ed40f263082de6104354d0177228a9b33f1cfe97aee8b1c13fc984110bbe8d36ee2895503af26f05105950a089931d6c7bad30e3ab552afafcff26201a1222e11f117286877781a387c3b10915fa917fd1de48e4f58cfc27e4fc477cb15ce1eb874be1ac283c563c9108b766087a2922dcfab66c2ee4f10f4c8d2cbc1239ef996f2ee40515bda054219ad275528867870884d2759b1381b9eb787896e08c22d84a8d38b5bd140f77158da9101c5b0116776d6e9bb31a9f198d6254c8b47c6b37cb3a7ba6b7dd7c1811d2b54ce2ec4e8977de5d67a20c382edbf0b66d896d95388b01c794e31667999b7953cd0ec2d19cf966b7cd534ebd5d18685d4f7e6597b4ce2b33fc824deb2e2bcf97f79939df2eb0d9ecdaedf352ae539a6541a6a61277c96db7f7ad71b30573b3f26e5ae3e4962b979d057dcb26b76d33bb9cb5db96ad40d3bcf38c6fd9d6f4cd321a88dcf266b32dd36d735473570598737c6d46b9bc659bbb3c0572ab14735b66b9bc995f0cc8d6b5995d2ddb99d5b056290aa4b535bbb24f2ee33a337702bb558df3abb5d6b2dc569a806a367332d7cdb996b6677f6cb7679db34ccacb659ed13574e372e69c694e6f3377ee47766bbdf25aca25e72ad725e8b2e74d6536afd470b64912607b6bd73699352d29975b1f934b5c6996ab947bbb551b41e69bde66d5326d72abe929824d336cfb36abcd99d432cc079e5aa53593334fbbf9d4f6e0fc5e6e66bcd1bb398eeb7a64d6d2cde1daaf9e5866338fcb65756f32ebb3dacd691a1e92cb3db37866fc66c9a5bd83cb36eb3c733ae9d6b6523bb2de5a5e4cb1d677adb7d6917b7667a61c9769dcdeb80b340a819633dbb8ddb85bb72a6b5553b5ae6599a3d36a1b676b5d755d0e2310dc49b7dd6896697356bb2d8192d383c3654407dd76e5faa49872b963abe9d11c7867bbf2db33be373a35151ac9b15d7e67b773d34df3b655068c3ed06db55ba799f72c6758933a8ce2b0ba6abd66cdf5bc76ab728a9107b23bad66332e7bd7f7561e458fe0e8399b9cda7e25ef99cd358651076acfb45e2da737ceecad92039aa35c6633ce975f9ed5be476fcc8cd62d39b765cd74d6a61b5a97975e2cb5a66d4e393aba62d48656a5bd727399679bad54afba6ec4dcc5c33cda40a625b7b96afbeeccd59abf8c34a0abd49ae355733abb5c1bb1b1bbcdb6cedcac19adb66a3a8cd6e0789752725aefed76cf1c6694815ef9a637efab2ba7659f3b5a466a58b9711cae9de3595f6e4f1ef471160baf3494511adad476ab1bd792667a6bb9ea7a4618e03867354c27c57de3b64681baee0275937b4f4ab59dd26a738406cf3027b3ddefb495cb5c60d77174f20c769d364a33394badd47b6a4a27cfb8151fb19017ba52a925230b6c9a73ac6dba665cc75ca6acae8d2aa065ad59af57935793526fab6c740695926f5ac654ef7cefc65919078157ba2e08bce202b3745d10c8dae14666483dabde7ab6d866dcde79d575526ab377dd17ac35ff828d28104e80ef0f4665cc2bb3dd6dc671997393f69fa0cf0b4771078fd060ce5a6d726ee3b26e65974423323267e5b556cf6cd29969551c8db165b577acab767396d94bf3480cac69346f97cb5ce6ba551b06cebdd35b376ee6ed66982b1a49805f3d79b63d6779576ed3d5080c9eefcdd466fb6e946f7c86dc47e46114815befb459c6b5cbed62ed7e51f7ee9dd6cbfbe601da190531f222cb52772e33d778d3b4a6118dbae0eee664dee4e5999efa6e7107680481abed8c5f5ab72d9bb872fb33e262663277ce27979266daa9972c180c4037d430da62625c33b573db39d38e6bd0488bcd2dcf95cb36cff8e67a1633cac26678eeda35bedcbc1a1659ae9607343a23b5ad6b3cd7ce6995d74d3e20933cdbb577cd528dca6ec1fe59e961e480bb5dbedd2da354d64c624dc4ac283e8c1ab033955ace6ac77cbb92e3c422ecf31a615135df976f5ab66d8b71cf92183160ebf66e956ead6e9a2677368329ed936b79637c05cfe4bd576639ebcdf9364765345a65ceb7d3bb55ae49bceaba21fef974dd6a1ce9c80add31ddecad5be573672a5760ffac7057111067619deaba11995115b56edb39dd362d2967afbe232af89d735a6bf3a671ad77aebaaeeb7a465348bb6572536c339dbbcc79c5e30243295de702c31de2570cacd10266cf6cce2adedb62b969ae80ec7239333ab5b6b3a555aeba8ebf585828e5f50e848560b742854a0b0ca9745d4bc44345796824c5a625dfd466136f3dcb9a0b22a361bb65b5b86ef86a7bdf55d7e9cfeb3a16d6328a62cbb2ba51ab39dd59cfbca1f411143d67ba66f7f26c76abf51c3d91b98c379d95d2dd27e77a652507a80586543477fd741d901e396137ede2aeeded9a6a53d3154f3862fd8151328d081c02caa326e4c639ad739c4ac933adb5cb0e951113d9722b7bc719b7b7d9b196ea3a9eaed37c774ec3a8bb4ea776c08c96a8936b52638a336a35ddfa0e387e56bacee71b8dd955e39a96e536a786396e2a91d5cd6a79d7ad6bd634cb1fc85b38ec3b5e464970ba6a96efa9b1bedaad76d57560786ad45dc703660ac676f028019a63aeb7dd64d6b8ac5a5008b37a2ac863b178d7d1d075e038f27014bd10099d65dbc6696e65ae14e7baea3a2f158211bb8ec787d1115ce5b68eedb6ed4de7ddefaaeb78785ed819456084808cf72c671cd51bd3be7da143a0ab86911116df29ebad546b946a7403c7ae9b764ad7755dd7edaf00a322b2acd56c52cee5a6719cefaaeb88c09cfaa2312b771d678df925ba302242eb6a2fdf362da76673ce565d077e58ff745d8859588b5df785b3f0e642e14b5b190dc15dad57bb79d7fcded9b3911019f79dc94c769cb7496bc6330a42eb8dab5a9b9bdbac2f27a1c4303a80763be6362ab5e6269e3767da08086ee65c37b7b7d6afb43d5b75dd4f38fe74dd36320057ebb4b76f9c9637aa27969198cd7176e28c937793166fae95fa38abc805eaaee3f1027443961feec6bdf7abf5e5756b798ee2cef4c16a9a6a7bef6d4a9cad967927eb616f4d39dd75b6da4671a651ce72bd46283c647a9398537df1eef66678072b334ba7de976e7da7ccabaeaba954d02bf31d06cb4cf7b53b575eafd6e9aaebc0f1f35299f64a7131c4ae59b4696c339bd5bbd5ade38da39388cbbce5ae55addb5cede6565dd77523ffd986b2b6e94ab7ce24e55d5b7e852c872fde6edd342bb7edf7a56fed5776d96d95576eda5835c7db4abba9d6b96a7925ca79f9c679f38d39a9696e850aa7de26951c77330d737e39189a6dcbf12dadbe52dbbaeea7736d4be7d56acef436392a2f052dde59cf5cbd7966f46a79753f6bb72c636a35bda5a473afbaaeebf6c75b7ce5c26150d76d507bdf2b86d6b65db9b3e619db7a65d643bcd23b9495b98c377ba99cf5deed5a1ea26d65a7eb78d0874319be74cd6a53e3aa9db84fae4d1db88c6fbf3cc33a4b2baff5b4a9699bb4ddeaecea2cd3565d976261219e1ac5cfd35639d3ad49ab25c51bcf190dd2b45e2de31ce6525babcd9e8d7dba4e0cf94fe7bc66dc46f18627d6b36eae339dab66b3d6b294d6ea6d7386a7ae79a35da397629d5dabebc592bbd9959be4565d57845933f35ebba6b96d6e59dfdca67530c6195731d77ce3924f4ea254b8731d73746e5d6733dbac4a4acb34cef5a6999b1be672eb3a168beb2939dc89e2749fd9e4b4ad6d1aa7e916f4ca5c062f9b86e526bba6946ef5de2d5d970507b9657b6bc639a6995bbe3db9c15a2931ded9c49ac629d60aa06d19e6799bd8e2ac27ef4e6ca8985e29a9d5145f4c6dde91d2456bd9e6a8d41b9f9ad6eca435d0aab78c57bcf59edca434e895b99417762417baedae34b3789b166b57afba2eb56db1dcced9d5acdd6abf9aeeabae5b0244b5cb653bb9cd3a772de7aaeb727eb88d672bf7c625b6f86a1c141aee9e7df6ceb92d09906fd69ceac951dcfbb6930fc0c7d68dbb5bdd98d3fad4369b92a2a5dbbc29a737e3b86935d9b3544cad36b74e31a7658ab955d77d9c9522e2fbebc16267e63ae36d5fede69cf3aaeba25cd11b97f53e372ea9dc6697abae63e130686317153bc3de36bc6fb6565abeedceadba2ed35ea9b1d59bc8b0356e2d2775ae9ce24cd4ac6489ebce92e69ce7cc5a5b75ddf6523c455f4fd7157d7856d9f48639c961ced14c732e575dc7c3c3c3bd76423e5ad989d2759b7baeae0bf9e8bdb093fabc940b0c77d785a30b8c617fded0f74add50d964e555daadf39658e3da94ba594e677cf6bdd12cefec1d4c8d1ecb25f648915dcf0d7352e36af19c9847d9acee1bd6a6e572dbfd42e979c357cbca6555d3dcd6573cb4bea4b05c2d6fa7eb5aaf2f4b8fde95667a6ead624d4bcdaeba2ed575519e6856ebd936b96d3359f3d6abae1b6a6100b56ebbd7c9d5cd76dd39bee2e134a96d3253c9356edaaa575d17e29586c1899d395badef6d339af5a5abaedb21efba2c3b99959372f96e7cbb7493d9aaebc2514c751d4fd771ac066c7cb55ed8e960d854d35c37dc6fdfb83a048641a8aef3ca6d98e3dcce536fb9aeba6e25be5c5dc7d39333846978725b2068846b81602a284ca58c6ca3f80a532913b4ccda6be7cd98d33497753d864e2c9fb96a99cb376b6dcbaa5e8129160bebaee3fad3f251e9baae135de0cd38e6b4aeb96a8b27cf97afbaaed6acd18cdb99728e565e2d5e75ddd8ea29ed7d3a34574e35b927e7dae5eecc565d97eabaaecb26e6b8abed4ca31bb71c63beeaba907f729393d63b35ee53cf49e5aaebc4d4c883ba8e0713b194b1eb56225ee11db10986c2d1995c4cb190d38200265f9dc064257a9fd771968c211e95e088384a823c718517a60b01c0718188efcfc35a308185cd43be4330a559cabd705ca18fafd4f879a10b052c0515660a3435bf6896ba34df505072c21200283161f22f3925d01692882790c0c2082788c024049c9312d3929bfde154666302083305b24af860730f52014032535c88b340960a1d6896621c30399282119af23a0f5d2c6c00000d824a285202118ece14e55f302b63a5560aa44c4b118143632ae8f388380aa3990ac111a746227ec28f60c8a908078c780b7f444e4578f1dc09205c11c9080d241d3c1c47b0d1f36f4302923f01c283910e1e8e23d2f47c112225d2a888cff7d85411e26daa60f1365548f0ff24fcc3f00209978a196f43e5036f134300de2606d5dbc4f0c3dbc490c5dbc4d081b78921056f53a5c8db54c9799b2afcff43b031f3c5db9849c3c60c0b3a3072a3e66f6ef8f89b1b14dcdcc4c0c465cc9bb8907913172edec405cd9bb8a4f1262e1e7813173efeff88072a9cf91b1522f0372a90f1372aa49164033369bc8d1916bc8d993afee6c8f8374776f87f231f80c081911b3476fe060d2968c8f03768dcf03768acfe068dd7dfa06180bf416389bf41c38abf41a38bbf4103cddfa07181bf41c30d34e44072e4030e38306dd0c79b3608e44d1b10f2262344de64c4f4262328bcc9c80b6f3222df6484e74d467cde6424873719097a9311306f3262803719492289084bb8f1374bf0f1374bc4e06f9820fd0d1324183145f1c114e5092324246f1acdf12652923791b0379174de44baffdfc1111b3528781b3530789b1090de26041fbc4d0848789b10b0601302faff1e1839996efc48f3377ebcf1377edcf1377ea8e06ffc98814d0898fccd1a237fb306007fb346fecd9a33c8b82a39cd5acf9ca379d38564199632eb9e694a3baf92904c679a33d7ebe59cd46e96c19e95e37cb9d59ae7ce750c70c6b7bad18d77ccdd8de306a999c357de8ef3dddbde0c83ab75b779db73ce5a7bd65eb0cd6ce33963ad61ad725cba40e3ae519bd19be58a6b17a46e9addb8d4faa6319d5dcba1d482c9e17929b7dad4535a6d4b815f4f8905565bbcd99ca9dcd9ccdcb6eaba5569057cdb4e37c76bceb0de6cfe4a81e05c35da77ee58de9ca5262aa9c06e5cbb7c73ca75bf34bbb69402cdf6cb4ded569e696b6befba544b13f59400a17bf3dde9dd5257393914f4adcd2dcb34e5f2aaeb767e289d80f2ad33c79c3665e5bde6552a15964c70e9e5a4d5b3665bbd3b7311df50fa43b396cf2cd3b4d2ddb7db575df7e1505a93b74a73b61c6f7ce36ce5ba8e47732e59b894fcd8b42bfbcd74d554e394662b4ffc54a5126c9ab6fbd6a7c66995daacae7eb2881f2f9180d6adee8c778d779b759e6dd14a7d4c292bcd18e76cee9a4d0a8e5dc7f393a534029bafa49ad6f2ec526a7bafbaae281cbb8ec7964490719bb1a66da7936b5c667c50ba31ce7adb6ecf53d60ca8b48796f92633c59bf20dd39c0d8151baae97f4e094f3ac552a75dd389d330f6df25aab9e975fae61ab470f0a1e1c6733c76dfa66186797937c8359ba8e97eea0fd7699afdee8e574975bd7712f1cede0b65a7bd7b2aa398ca5ac83e326e653f63c6b082ea771959ca6fd72fdcea986673aeb93eb9b935abb5b0381e41473bb6775eb35db95d29151a977dfb8e5db6e73ea39accd6adf9277ad59dab7ce77490ebbefa6dae28eb94cdb737e60cfbce526b54eb5d67abe7154ab379a516a75a5956f9b07ecc652f7adeba672d72c5b95e0c0766fdbde5ac6d9ac7bb63b9077bf76dbd27235cf8c2707f8ce3d57aecbaabbd5a47da372ee662ebbdc9553f24c73434adbf9cdd9624c35cc731b59be126b9cf29bb99536973670e9ad79a35bddeed5e6d4c2517c41973430b5e56cbf18d33d2de66c890d7e7b9fb9577975dd5a93abaee3a99fd21a3a57edd62d7396e79d123186a59481b9512db38db3e632cdeded4b490daeeb4cf7a69ca453dbd7ae4a69d8cdd67b2dde6aafb95fae84812cdbe8b656bb5ba6dd9b512da50bd0aee9ac6b786f3977adb79f121ab777ae6b4d2d9eb2dea97138a5eb70c8b794d2e4eccebd2db5f866eef26cd5759dd3c02a5960dbdbe5fa36f1bd7be3b49e2a5520dba4ce78636e67137392cb523ae3d2bc6d9b779778eb5936c79219da52ad62aa71dd3b951aef502951804b8e6a4a6bbd946f3693abaed34a13c837d3cabbe6b89cf9ad7cd5753da532b66e354de5b51c5bb9751e2a29a1b99c86a5cc369bdbd53ce885121958636ecb3c6b7ab3dca4c8e2a9104cb970abebb6d218d9cd3dcb9d61bce756795612a36f99c5f66adb77efdbd54b707664290c2eb35debdce553724d7232951a457095ea3a282509685ada3d69aff2dacbc91ba50446ee336f9a96edbb4dba2bfd528ac0e4b09c55e74c69ddb6b6a52f2ec7d6d6c9f594784e2ef3c2768967e6395fadd98e7b17f26e5867adb194f8f64e4597b8d35382c0d432c9e5aa51cb714db3ce45a6e9bb379573a3925f8c77864a5be08c396933ce27cd59cfdc0e252d6ab5986a1c87f1b62797650fe45243298b8c7399b4fcd2ae3ba7517c46deb9c96d6e2bbba4d666a1d20364cd754a9e65ad552c335e7240e630bd93cfde333727ada9520374ce5c6f5a6b19b67c4f5a54c282cb366b7c7359d57a9d5b6680ecb84fbd59cd72acc92c7f2999b178d6ca25de3b4f4da3fd8aad4a8de25eb58a752895c1727396e35adb2a97d199adc09b26b3ec6eccafdddaad41a52ab49576562ec31cd77de5c62a51c12f967aee293b27a5966b690a296b86efc556ca39a9cd68dd91a1b4003db72badad356bf56a76aeba4e0197e75db3aa5d8bb1ed574a7131d76cc6f3766969d7978cedb2e6cab996b3e434e3a528e8b635e753f69a6dc7792b41a1b74cfbb4b76b5b2bdd6e024a4f60db29cf556a6eb9cd6975e26279f5b596db72d3346d26516a82e6bc6fdf28edfc5a4eb5312526f4c612db5b35c96d6ba52c2d91352929bd55cb32aebba620eba7551a23ed9e12e79ed1cbb5bd79644449898df3cdc9ba49c9bba6af5cf1dd753c3d14da599592987c56aa6532db997637de56291eba5298b3b2378e822825406ecd51be73dd649f1a0fe37d5dc7c3591987f10a5042426719e632ddf7ca29699d5b42eed343e988abb19c7cdfa9556c338e7509017ae77db376f9e455ebb68e802819912de532ce33b5937254669e1f4cc458d7ed80a522b0b6e19b55abf15cb914f2f60c2522b689e72635cde29a338be5561a22539d3547b59e51ce7156afba8ed575e3e76d09f2a0745d5712c2da6ccbd672b64f9b715c05c7cf03c7cf4a2988ce652ab9ad7856cdcdcdc32e1713a50370ddef9e176bedaeba8e9542958090f9ce8e33c9e59c9ad36e94aedb91a16400ac715bdd284737e7eaa4ba24464f6edbdaf639b32935dc575db71a412862d7b1f8973004bf9516a7900ec1736f9c96dc262bd768d5da241952f7bcb76b9bb7b65b96e5196c5c4a3cf59671c665def18a877f202b4ad7f10f64e99e1c2aa442eede9bde99359cf5ecf24a25c7ca8e0b63e93a176eedac4884e09c69dcb67197abd94e495b214885b3321e43d0a72b1a314906d9cc5ce6b26b6de6d9e29cc5458a41afdc2673cda8a452ab9c0eb275ae5fedcabcf7cc7abdabae0b79d113120cb8be69dd729b1b9655ee1d2ca417d4ab5d79b54a39bcf1a65b11ae011c028281e4027a2fe51cd7aa56eb9d13178024c8de94a39867d929ed9b4a520b66dd2acf34da2f37b386270bf4cc5ac6518c7186356d24e25fd7f184e088419f9dd163b97ec23107d20a30e5b2aaf3a66d9cdb9acb02b91bd6365f9d29b6b966aa595a65270a49059cd4e4c55a26a746bbd66caaeb344bb770a414ec39e99e1aeedad4289f1c10aab5b965da36370e5f9b392d3a9050a0e9995d9a3bcdd9dcfabc27b035cb59b35ce63413641957f7cc94bb5bb652f69e3f362e33976d76e353d65eb5355966376e370d7319e3edda0690fc98bd728df22d731ab71bc757904a40b3e554e36ae5b2a6357312dcad6fcdf4beb36abb52de87d6b72eefbe35ab9b5b09056904964bbe299514df79374e0bb52089a0731cef4a3747ede4a69c2cd68b4a8ac487a639acaf56b7aa61aae1b9c7beb26ed26e7e379b75dd4c90f498326f5cf6ce4dacb1a6340fbe29a635dface2de3567a920e1a1e7a4dacc9cc39acbac86a720ddd133d6b69939d92fe5d9e62a4876548ce5ae1cc775ce1267dbaaebc03093ea98b2e63ef7e5faec57ca4e0a41766d975bae57abb26aa9d94052d327e6fa5667e726cfecd6575df77156d7a54690258260d336a939aee26c65c65ded01243ae896d59a35b9b5da73b67110a4397acf939b12f74cbac49101487274cb67e732c925c7658de33e90b38cd22dc3969b59bb5ac64129d676772dd3b85b996d0ff0adb3bd7d9b99e358ab150e8d574d75bfdb9d799b7a76a06ad4664e33ee9bac534e1f481cc8367daba6697a6b3c9b98be91eda94db9d1a96d7cb9cca3e440c9e9c1e9427263cbc9ad9eda76b1be5a726d685cc357ea3d27e730b775e43f439036c0e93ef9cd7677c9655bb51ae07cb3dade66b55673b56f24486cd04cdb36b5196bb76eb9b9356ad7b29dd5cd67d6eab67706363cf1cda8e512db2e312704498d8aa7e4b8bd67b55a4a9d7f20a571b54d2bdedcde26a7b76e314065d5795f8db9cbe5a6b8e56156940bf4593be7136b77728c67ee8184c6d5b4cc73dd76cbbe7bd67820a5b11add556ebbf1e5a6c659d7b5481698126f9ce56ce3f48673955a728076425205b2dd2727ad56efe5b26b3d7a5088209db161adfb26399e1c6773561db019b4f7bc71bd7dbbdca4977e5e6b2351c072575f6ee7b473ab94d255d7b1bcaee3d19203948365474ad7751d0f690237d332de5cad1b27b58aaf14a432687635b77aca9a3bd532cec50024347dd3b4df29376babe5b4a6001219584fad6a7ae398f2ad522d0ad218fcf62cb3d46eba6e72cf4c862406c51c77379a49b9697ee974b9704a3f410a03dbbbd97dadd629b6fa562c2409dcbd619eb39d336e6eac65abae4b057dde16121856cb2add72ab33e35dc713045e698121152b4811d064ae96cabe39a975ba318bf4c5ed5c6a32f38d663da376a3425d4785e40557abb695723277ccf9a44990ba9877e6be617c3bd75272ed00240860ce7b9fb4579c59cb256f82c48546fbc69986e79e75569995206d616fe5fac6726629396bbb11242d6e95755b4cb3bcddbe654ec4ab847c08bc524959649cac35d378666dce68d73b9974e6d2d9adb5b3768d9b199f5dd7437a8076f5ccd946a9d56e9f5bd52cad12447200ceb83b358939477196921b01416ac0d528b757b3376b54b39df32161d1352c2dbfd562ab2f27f9aaeb78b81710890192dbfa6e3cef6c4ebb71d9079219a96d9e339a695c72bd567c05b7746f52779e6159e9be2b5299ccde0de72de7edee9bb78d07e1f1e7033d921575d37de5edf66aab6b6649556c2dcb967353c3586bdb332af6ae9bd639dca976393af3244d51a9e5999d7a735af74d67b207d202aede546fdbe636d728cd78202920ab536b1cce93cb7baf5649526cacedae976b9d66697b36c950ae336777ddb429af9675d5753c5d578514c596510dcbab6d4bb7d9e71e1d4182c26a9c6d976699bc328a7cc457ba6e27243d9129d6596698a37ddbd26e4ec84bb74cb396c99de18ccb3fa426344e37e66aa79c6a57d3ec941ca01d1d484cd49b6d35dbb2e6322ec3ba9396e01ca765dca9943d9b98ea317ba35cab756a9ced4e676600921237bb5bcd2ac77d629cb5e69192e835ebfbeadefba6616dcb2b520228a765745addb58ce78d4f1f4848dcacb5aa39aacdcb2bc5930582790be98869adc49ca5fcdebdd5dd894808b09dcb55d3aa79bd92bb9264c49593f75db7cb3729b756575d277adef8e24845606dcad96fd6334e6bdefb4722c2ceedda8e39cb698e353a04a7986e5df3a6e14ccb6c060449887c6fcfd7e27e35aed19a49417038cbf4a475b39be6b64b4907989b9353f38d767b25c69d880484a6376e71467756b1b6da2e4132c026b5a5966f55a338937de38124a6671ceb89b59ed9373aa46a8d6674cb26cd72af9a53c0c890ac6dd56e9a735d56bcf1edcb68067606a679a834d486caa2e4903180000080d34800001000c310000028241c8dc70322995836e2d6071400035e964ea2684217c9b338885108196310210408008011019899e10c81f52895be2940af2c95fe2840df944aaf2c407f94a26f48daf4cac391a272eb5d9a4b5922d3f2ceee3bcd7d407cee0f10fb7cee4f64d305b4a6a62f5a9b3576b58803a255fa6673fb9ee005f374fd183bc43ddf1524cf9b0c0eb915c58d5d3a820f1df8886891c9d9652a4e03f3e36c06e6c6f8581ebe34a8778f332076a0064f8b1df6a38d242ce858fc3009e6e117dedd959847749c6714bb13346d948de6873d83a2d01ba6d83213a64950f4e626202f358067ce4938d7d7f227d6d1cc571570b16118534c86d39885cd4e356055fd188d188b2388b456f068049219a0033c4cd039e8c7f63aa00d0c2086e1fc85eccc2b311cb186ea0d284fd1898439838b8b659eff12ba505b5352b925bae535652dc1a498da046b3b44d95d2e9ace1263ace2c0e74fc6f25b7d9a80c1895af2d6e219c72d710262ae8bea8c63a3ea86c1e45ba6876ac749975fa5f90fc707cb45f1766646ef5fc5a641cc6527e00ac0d9a11da0650ab1a1079c6b452ab53a9e6da113db71d01cd76e4e52ce34ad1d2873a3130f66ca161db5221e04a68a51482387e2a2a18a52abd4a1490d8776a1414ac6ab45bbba54414b8a76c71a356387d00f579fca6df95c02da6efeedcd73dd753a9d857e2c9f0e2f1a02df65d15cd701a4d86e51fc86b869e14079217170940d027df5d12e02eea31d6fa43671fc0a667278933ff08d1078aa86b9539a11323fb75fc5c89fd4451895d921c542d288154d8f73808c713a4d3aaacf3ccb4ad2b255e2e5b26ec49b9949bf358902cb0a85e8598146393b15b1587d745e35ee12943097fd83691eb471d5d460768558b53ad3870e755bfac10e61e600bcde6e92e3e67d5a7d99641b8772bfcb5060ff7c89baf04dbf6ad9ea87f5db2b65e2144b036fc7490238fc0eb579b102ab60d8b23611b40619ae412f1855baaa34b28b886795292860e1c0cc4b01201339f91031a97d6190d9f3c76c68075498cd6d447d5af961e6e9d74f895541c990d2d80670fe95432c96fc17d578a03f060977b2b513331f4febfcd8a045bb6bb2c743731e0afac42f12599d4afb82781a9e0c8116d8f792de9e7eddf689896193a7984d6eaf1c5c6a0fb14b05dfebbeb0ca6c1afd0eb2c7c9b42ab0e168e9056fa1bb56de88612604b76f15d7e738e538dc12dd34f16e6bd18e05ad922172f62f765729a232ab181d9ebeea5694880feb4573957b046e99081f4acbfb4dde45dba42e007e918ee325bc58c1d2d01a10c7a9697a1de3e1bac4c90352a239ca6d874b22bc8d3ee437ad41d77e536c531ebb0bd8eb90a3f73e3ef9f94f9c343a851b25d355e21b036689b05906b20a426eae0c7a3e4022a5dfa94410f67c5af45e48a0cfe6a54f7049b05b2281e99217ac7ac382cb891b0107d118284d3f44f8ecfe34d7cea5f5db40c1b2d0e39aef7748a0b0bac144f26c01d83da0676c9a87ce29dd91b7347ccfb1682381862356620526b1500d8e54a37734164ff2fd5c8be8b112b52e19bb57395bf1c4f7e6a9fbca70c13b0ca52b6d859222995894a845ba53b6c2a00534d0cc4571581e204a471f78044755cd552899080e37d5dc9498b0bbed1b257eca48e804eebddaae0a8d70f28a6217cb694285826646726328dc2a6a3d659a424e2a6ab385f6e7e97e87e2993308e4c09e363ba00827e4c5ac3c923d4c2e1865772b3e2b5316609d80701eabae4e5e0ad6ac0a6291c9d662be613cdb5d41fe3bc991f5bd2aa68d8985b22cc13d8dca658d25c4143a01640a9d20697243eb237618907359a9a551fe29cc291aef592e3fee12e618f93900eb25430926d4291a909f29cb5f5f15b3d5b77e5ebffe781100e741b34cc4c551515205107fb1649c9a4da69c8c6fcbb42ec5ff2c081700d123e8ed89d7ff9c237f8458d3c9550f7bae1ddd707c702064292a8ddc5e754731851e75bbc0b8b8788655ca51028bd8d769f13ca5995eb1c1e2e3ebe4b7dc44adfe22fc2e92a20f52aa0f7fc8f279e34d6e8fbfe198f75ae8b552610bf0062cb8bc1d829d2eb61df35d7cfcf2da917ff63b3ea764ba8ae6f2f8a5f9f28a87b26d34693b02d66c2893ce1b4317755a3699cadf65f408bc3212a593be8bde9a7c83a49f343d8b92d2f869ad54bed6ea438752db6f8891e7f8aecb047a1db9b17a08314ec2642f6f9bbd80d4ea536823427b0948fd476bbc6816dd188f1932f5cac25c9cf84ed24d6557a0c6b18bc9e1e67f111150dee1643dbeea2dcff9618a984d918acda53fe7672d29f20d5f8024b814958995e7961310a746d1d37069aa5ef217b7f82d0b9170f4f57ac36a4b85ca42c01dcf172ddfa8f150e19ea16b7e3f121b4ae0133d9b9ae7f7098d42407749fe678de528183814257c9a0645335f18f33fcd41bf5b45cc2d50da2f3a4dd0e119373a74d25170b57a93498e7b0c7d3f14b31285a69022f527e560332aff9e37b5350bff3b68ec3acfee602c687b652b6b6844ee09b7c4e3e729aa99653eb989738edf06a8bdbf1c90827f12079b578988c366d025e745d9a1ef1f3d0081ea9db5f437f96b250b02c2e438ace7b15b9f53a34ad27e7d25a450685daf582a94fabea90b988786f253cf5aaf76675f64919b6af1b009d7de8f6f9918a5c1cdf9b5d3246170154a4cd33c212289174668ae57189f8dc64eb0edd3c79163dbea30012d637ebdec82b5c77d30b8d19c721279d91ce8131771742968e0a04888940e4593b82b30f8d59e455f18bdb220fd5198be2929a55796e7d2e1be117e54c6655c3bda89f70804299c57a9484e8cf963495bc6d3b042973d5fea8db8b3466f5a3076050e74628ff50cc5fce7edc94957cf25346e291f573cfd459d7c588a6f8c3542b944814de6a8139833ce202d104114c125f2d282ecaa4ea26dc278847170e7422e70fac744e21496c5e0504e975f4ce667550a03497c83df0d8780a8b31d0a82b8482369a2e7fd282d3a7c2953c29755e84bd195e4a0eee15fd403ff0eb89e620f228f8f04c6b43a3e0c2f5bf0b3fa2b7c41f3a715da5b6a5b95771061def555107e4c17c40b904e22b161114bdb9451b649392aa7900d17c8c116c6a75ac97a537c70ecf9e868018fe33224586c12f63cf36e8e29a851a106e8bef67550df8cf4e6ac3c0f696afff97dc8ddfbd371f826e5b9ce8c8b6c68f4dd74060cf096ca4e763fe9460de4b5a86363c156d8d7f1c7ffc9c8d0fe88be02d1544e79014e4619a9ded9029ed097fe7572958e6c4cabc2003f899cd02b0b6ab3e8e4edd68984167927e5a693fd30833a8a777b6f82cedd9bf50982dbb50173a9828ce70c4f39280beb2b30446f333281427794b4706ad0c2b781b57cbaadb76c6da32f2680dc7dbb52522b0b64053b278e5bded21c686d02a73729919213240ca140df3f483b7f28021193c01014eb29542d0fede594fb68ab4578305856b3f26d6920d74eaeb0cacddc9adf4c50f854f87bdf31af749e63831444b20af24c10c5c8e914b3cc69bd685f030accc5cea5d4fbf365574e0dfec758217bd73127c58b5b63f7b10f7675cd4f67eff872ace8695461ae94f8cd02e7c6098175e7d01b19b6bcef4ecb9e1a781f9c3b5c445a8f9ba2da57fbadae14c2235ec680983b4d8719b0afaf8f90a07e32a8aee833de899fc540eddcbce8858c39ce1509642a1dde1f3a98d6b74ad01771177726f0c5205c509296625951b1d3efbf5af6adbd47b5e3a82b5db46fe691082a26794cf3f30fadb00e4c020d1c45e23aa572128040eb99748382719a23b9bc821e1bab6b001d39903506ab7577b1162c72e4f01d880f20af47d9934f3aacc3e8b569428620eefb6ab2df954bedf8a0d0fa2a0e8812b79cd5bcabe51b0fc335f4efd7d958cfc6778005c2a9ed3404d2c7a9bc526439078d5b6ba5611760ab5bf2f2116ef661ac587e1546ab32bfc4bc84b99dc11acc08c731349841c750ffa267cb07ffc771b205b6a0665e1e7ad0968ee71d11d2b1ffe9c01707c05653a770b1f2911d6bbaccb27e9c7002880251a2487a6ab82bdf7ef7a03048f911a17b830b73ac63edd8c87758788b8335ae862b1df9bdf998ab59efea01f74329ed1604bf2029924d17997dde79588ea503b5870c7923eedddb8a1ce82ac8e3512768d8d3e84a1643a31793c847153cf4f5174a220b37fa05122c613c9d27eeb3e1a25fcb07f361a90b51b7b64c32962c537cad700b23f8fc37569af66e651b2b477b77d3c68ab2bdfb6863a569ef56b6b172b477376dac28dbbb8f36569af66e651b2b477b77d3c68ab2bdfb6863a569ef56b6b172b477376dac28dbbb8f36569af66e651b2b477b77d3c68ab2bdfb681dac346d18c009813c1d36518df82b63ff434011628d90018bf159e7031107ce344fe6b50a598bf034acd36448cfdccd3ba757001b1280687e854a73edc9a2b4620f15524a62d3b0e5cef385a5c189a9cdb6570807dba9c55f4028d125b0de86676328ed870c7d7c59cce977ce0da9535402f59b00ee46430495b2b6dbf9e8032c3739a548262a8ad7818de512077d6ebdbc0537460a57eccc5dfc8f3522f45e51e52cb11a5c2e282788ecd2cb5ecba7d53abbeb9f94e41f1b0f2d627d53726f4dc8d1178849f899635388d816f2937ff0e434d250b563bde3d4f696f11f10674adf13fdb1304066349a68ea1be771de1e7a68c599e13ec498bc99429c3c0572a01b86bc7163b74cfef74e01ac8b7a017b66b8edaa3c47aa11993899e2a6fc419712d31f74b317eb8f4deb6a23f0461542d26f5bc9f5f9762c02d4c3fa208b35d420bc47ce060814a1ce01fa9c4114cb14aed97ca52943eb84e282b9912564f6801673d5c57fabf154026fe2996abd634fb8168516eb7fd70a89f36a1d1a1e2966f9fe6050dc14c9dca42bfd925fbaf9b6d725e2b8e2b85ba70bf0fe7a7bb659dd3ad78ee2b2e07609141d0381c7920aa7c20063fea26e412da9f72f6b3e788ee097587cbc5a3df0cd5c765161230ab4048cb884bcf2d9c41cd6c911775bb468b8105237d00cf52474edfa3703be2db41b697aa4b1db6bdc951bb257abd45432448c0ddba077874a3f8d770709a10a61b67f6c6bd7f2f9e9f6ee3f57eb744fce33424034f26d1a1296bd1d0984cf28da29759eb68b7711acda48faa7415dbbc87718900ea6d12679634155be4f1675453e5cf59677d25929f5219620d0b25f57c37ecd210707307ad1d4e3fe02e40b71603a489e3d42f6353b9237b49ce279567e3fd8955c9f0a81722e50978e64e00228a0b1dfb947113047d5b61553be24ba1c14c77503c21545e4186094dd2518c33955258fbd73bab2dd9bb975fced60ffe0883735499562ce59b5f31b9438fd38483374c367ef8e5141ea40339fc23362686f91dbd1e633fda1c5b291d2f62012ef8f1f8f13eb6c09bb7da0a2232a5c9e3c68e1eab26d6d0b895c5da1a62453995c1afbaf20d8b522b54603e92e736405fa9898121b66f13bb4e040e44b0790f84cd4c6c9b95c85ab58834015b0364d2127fb880699e82fa919492cac73c552d7d0ebe20b838538a12f5436abd3ab1f68c4240eb3960af7b583b7f5f7b6005df22b412f32171860c4651637d1f1213899d426ee51de3a2504b867040d41e899b7c4e813b507fbb97ff0d49e955e2de1089301c2a432c81a2934ddbd91f3407283a6d9d25b4bec4f7eb770e5085ce990e4a4a204a7d621139c06c9072fd789abe33aa52d21a08bb4b509d7b6f288d6bf427ffa39de1ad3bcc45826b24a97c9fbf311095ef4056c06fba34481c549049273d81b6484f24eda8315b8edfcb27fc4e9c5cc6d1bfed6a75b7f3b7490f6d76cb488794703632748c6aed31beaea7652482c09e0bf629911c040528a2c3a9ee5b38ede5c0e9ed6cdcff40adad709ce789ec578b37b17152be24f4b5054e98bbe0673becd15335a7422b4a89fd2324995feb9df57553850c3be60a2299c1153b4a70a1a3325a2be0155e130a08a8d7e0c59a893c4911956ce55fd20192933d4048f8e4802f7d31612dd3e86590a341acd0c1d27f5214ade8016c767f0977e17819258ea85e0419dd995c09111f5cb2323efdfc29c337985bda58f523af43c103ac512cf2490ab120357d0d4387cef075df01132584941f9169855dc078955fe701dd7675e661a0dd39cee07e97ef795360adf6acc1ef404ad60d65412955b818b41c86fc362cee8a59db48a808d29ab1668284399a89608bbd778496641fffaa7f8975638b3f5e44244776048943522c5cdff14a6a59251e4379cf9351590f78bb3379b80dfb77a120cf37a83bf2c3850385b72df5ba9fece535bc4176378212135b1a34294e5b41cc7e4cbbcbd028c4a7d7f553a99d5abc9cd80b21f3a80cc506007fa0f2f26dcd36fc8c5f45e7f6e3820196ca2027484ec409de8b68385caf462a1b1450e5b6c3d6e22063366253b03ac1ad2a8af03205cb1b91310747ae4013114f2af4956798d7c7f957b407d062a42bb7d775d1ef00d3440a2d057eaf31777d0e3bbd8f8d00f1f1202da4f9604547e0f4f01833e74c8fb18fa5bf15806d27d6c143403b0269c693def980320bdbaf2cc65311e743d0a9196609614cbb99f6e1162b8b2600269b4084103138c6dc2793aae98ca94f765dfd3da0898db48ff07ea077003f7bdd306d6c31943ea586f4bcfb61f331ee1fa4ec1b01c49d32e52aa621dc30a8554c289cb3b5cacb6df88a36b078723ff222b494895b4d7b2f79cf4c77e6394ccf29f1175b9531fca5d309b7c9a80668ff21eb001a1be0af8863311b01c0511079ada659394dbb3e44ae90e7c4817feccd43517e5c878aafa3a11cd02035287b3c34cd19eeef8190816f8632f8279d0103c6b446b5629ac4b790085c76d36207b1ca53e7e08cfa21e2c05b0e0098f6f48bd19fed632b3de03406e642b5b2fa4be6046a8d9e98c331613b0acfb7ea0152f8014c18167faedd1a23280f8d20151be6d8c9c9ab0f4d33bf8908bdacb3911e3b8b26e6b012f8f3dd24b9348fd4ffaff9e7e3e1f9c518505c61912dffabb12a37f0d25dfd837ec5428dde4e0b7e3a6593694a5155a37eb478adc3ce45ee40651a22d2b82b656ea0c93633c48a057e3222fb0a42df039ac1f3108098023a1aba73426b3e9edc683ccf17d5a78e3353ef43cb0695e65a4d7f72d067c9ce934c93ba9f8ac41f66b0967f80a53b65f006352373680f4bc3fd931ff08a0c248f6e35677dde4722fe087346a3da9f00e10006a3dd782ece91bb4a3489b6ea6998e42411f5b2c99f889ae093333bb74f09677bf6d791d9ba9f1f8bd1dabc0a279a049c664657453d3c70b069d44fd0982b44f39194aae26b05966058511b3c36ed90f107bde7651f4bbcfb7f92b3a5729b2840c19d91a1029c303780dc83e148ea45cad31f922db6484ab283e5f79fe79d897bc63f1cba85ada491f0bc65795dc41f6059af1b75ddfb3c9a29f5de97edfcfa9f3ff66c76356180ef14df6eade90ef3f6b3be1e40aa3efa021782951fb875406bd6d77da95a02f3ddf9a0b06cd4708039e5286251ae4ccf3b3f69e394f217ecab3770abc6bfebfb7464de8d7e41663ff45d09dd1e90dde910e68f3d73e8f08dfec0e2b9b86e37f88ad2987f8e97b37249a3b72f77e800870bfccea45b4c172fcf4456fd39cee357bbef59b7ff9f67b21b0bfe66e9e8c3b0d703bf0aab17b34f3731195f10d780b7c4d7cce05f6ebe979dbbde5f6ecdb38ebaeb4c3c0d5764bd0c4ea28c44dbcaf476d06e7976f124c33da05e38b631b37e05bf7487735eb31c698dc50e8f154ecc3426bb61e6266e6fefe8a6e783b9bd083b61737e205c1b2b95d182acc9661fc44fd74a40bbab13fbf60e7408cdfd92a8ec24c2f3238498b02d4efad3bbc538471e921cd1c4da8b37bf911ff6cdafd2f01a95181398ee1dc338573f62f2584beba0cce3a8ba99f71ff1ef70ed0ddc9787a2edca18becc24c3f2c30a08a31a4ccb14c43c1f4cc237f30fe3dc66f32f4012f11cedba5bbddfe41c6d50106d07f05de7b945b376faab04ae203c50b9778a3df8c97c54254ee07c39115c638d0ad88ec59fa18f22c9d16705e6abc6fdb46ed4ad87cf1f4314f3757b4d304dcb710e382732767b166e4e644f68c360ced811633bf0707c292b324c39bc1bb640d4e88c76d484f1a40f2409d4ddf8c3120cb613043900007dbe1cc05349947662b8f2fe79bdc9f68f61da5ae6a6b54cd97ae5e697fb1a105d96dceab91c73d18b0e81bc83f0cc3105e4ec0f2590358e94c4980d89048033180c8219940ceb3198204820d8334042348d8844132a46168ce8af3b2036288e9fde6a53d37e7b77e84a9a65f60bf0f472e5f6343bd06f8d34883c11f9771c69725ccbceff3e231becc3f74d47ce7a0b9d3ee045fc897c2e90fc457c7c09f3b10fc69c413f3c775e3cf9769a17f50431f306b4179d9fabfa3f18f85565c1b540a4e8f1ba8c346a6b34037a0f5a1d0b83b7ae63f7a3178ab065f9f63f0924c47419963673a1439693fffda4ae6d3930af4fb894404e765ef854a8584b95cad93a19e5c58d901c737283fcaac4cfcc73a778040fde0c7ddc665ec1d9e12bc5a1a0dbf0897dd4820e40301cffe0d60672eb3bb282606bf0d9f138ce3297f8d39acc2235bf9c009927966b09e08bff177e3fde3ea48599539473cb76b2ce08551ae98671a4069acd20af938e73e21189d0f0573d96fff3f8e0bb46714474c36fea3d0169466eb7cfbfdc575d269f9d9a01c1734bac45fdc0d7cc080015dbc9c0f105e22cb77695093a4d835273f0405b27dc5d7ce4688425a5f99ccb3c77f1b44625ece7668a46d3d7c0cf1f2305232d42b09e021282f7778a0b98527249af020e7ee4c0f917e35805eee715264b99280f01072e9b77df1467e9f0c1f8041e99887ab9f85a645e49d9e6973f62294ac36ae82403dab9475648d73ad37013ff7ddb480fa7ea4894648a630d7477bed4a5464fc336dba9359fc3fe10fcbb0360084df8fcebe77a15503984ee01c0c7c1c18b12eb0cfd2da042bc52ae7f6f963f4cca2ebeebcb32789a5474a601d8f57206a450c84ea72720b64e9dad8ac77b873e366b634efe26f6a1b85bdf330e474ce9e934bc77ea18659f246d8b3f68c12b232491986347bb081dd91239a2607e3baadcf7a05b914ccdf512be4fd05a5e336cfff752883580dff53fce2f2ce1c41cfc26e9cec59e7415f63f7abae1a7e03b8d5d7b224e6c630f9ca0c7b5d9cc129b675129f003bda682f696dea3dd79ef7ec0e64f1c9e72eaf936012dc38e403a39b72359ee29b988ff317a17d4d9bbf10aec4d88a7eaec25319f48ae05c30f7487eabefc6e10de61c2fdb09d13ddcbc87e0078789537a2067e0b1476126acb3a747ce178279af63c5bede95fc947dc12f8f2d45296803ce664b205b6c614917804a6b10a480ef6a1d558250a778a0f8a888161a8427fc3d6969a56443e5aa30f208ecf26ce8acd2dae0826098b3fb45a515e039f4212b40c1f4d5a62c0881379b8f24f0ed49b23cfc19318164805c6612b20f43530a1f9c26cdb653cb8b7791b0d534f59b4e7c9c021c7f33e7714d285a4d1035a48c12b8f1bbb5e93b4219e38e72e49e009a92dd9f89de438cd9fc7fb51dc851e4ada848ac0b8eff48f4f83ceed477ebbffe6b2d099ef790f34cbac848523ece72cf3524dc0cecc34e14d83b9bc8a20e0ea574df420314b7f281ddb27e8605b4223f0a5865c42e5ad0a9b3398c5ccf753e79543c5caec358bf47d66086d9ee2e01cea2e1e154f606e34e6c12ce25fe3287b835d87e43c697e15c9810e75a96cb8f4dff419c792ba61e502963f30da3e05993116ec7a3447d8988b0101ac5000444e55e1e728a62a59ac6d832613312b392281f34a9027aed2f81abc56f5bbdaabfaad3870a7023e36458673e17b20baa4a668af59729d847070db605cbdfb4c823cf760ce917063000e62f24fbf8b97de579bb3f1d08298a945251e39980ef0cb76d3e20013d31a9eb43a2d203b50ed69aa0ce8e8ae3151b9ab8d0470d6b36375961862f486254ed8d5a6cb9ad3f9190cf65b77071bd8d6f9ee69ebd77bd8a2e9bf43a725e53313063f01c6b1ef9c3bf36ace3da4f949ca0d22eecf30f24e107478b850d49685836a262ff35b6246d4babc963f87205fa986c1533e2904c62f2850ab911633c50d7919a507d1aefbf657bf933d63d15c17c41232d72b2185dfecd3d81a84b0ad9f64cf8de581bc1ae191983be3fe9357aef1bb99a883f27392ace0ff0092d00747696e619253d9462e24578640ecfb0bb098a66d911c18aba2cb3383fca134608fac695359f909611336d8eea860ac77f2051f1be48a0e494e9fbb19772f2e021e2bd1437759ac4ec7f95a9d7c8521cef6fb16315dddfd12805615bd341c95a0eab4fcb8c2d17574a3f454ad4bac21d59e762ff89812f610077467aa4f3a308963e975be33eb5e9bf6818cd5ce66a89a9a300e789d021c871489c27bf87b4791df21ce81cc9e0e8a88352bef98badbd66afe39761668c1bd9a00d9f29ad737e356feadbe4b0259a9704bb22246734b9b7e13ea4e01aef7846b15decc8db6f32f97c4c10369cc3dfea3aa42820de8725c270c02b4bb2ff1b2c3c9374f7abeabf1428ec7d8b6350a1022f5157d74d0f21e23e3cb25d01af26c8250b7c3ad729dea2d536861610719c5c7657d4a8ff89b09fb0702bb25a2f2466a427e63dfae07a28dab93134360e0817d5e8dc52aa31f3ceedb1a7a8e34a7828c40d7a5a7f8588bd4f6e3542d037a857ef43c0aa6dcdb168311ebe5d27d8bb11703789b522e26dac6935f1ea04d47496c827a60d0b58e7aa34142f7e926eb6806f0a0ac3222f317a16f861741a1eef3e347a9690f594217102c692c0ad8af7ba750612711769a17604ab378e6e089e4957fcd4c4097a31cda7c87012f3448f2292692dc1dd36cdced14c5fffda84c4ab8a3a27752b869fc3aa826439d6e1db29ffdcac39066d649a20fe9d5c1e37475e5a684204627ef9be007d2fbe7180e239fb65b62a74fa1a0658d37f6f83432778bbf0c4a3be8aa13a6fa38a779b5d28477ef194266ce44ab42133e82133ab0d811c5001fb02d9eebf437eb44d88c438b286fba7bb6f62ca09926af748815c0696b81fe72e153b86664527488e001b90ca8ef75b4ef62e58e7425c7818c78a8c25a8e2bf2f459897a00c9e6d404e7dac350f02153f82d156b26fdd0f1460504c721c50dce1a354f69c744cece8709445e53a63cfe5a3ddcfa5970b201a70c4a7c244d39c5bb5fe86ae52821a5f4c87efeeeb51d87e34632d2e9573a710fade116005b07672aa7b80783ba976d6434b544b09a941eaebfa4846b720cfdf1d141c0d13f5d1fa8104fe8cd232ab4b37f43cf7fb83870eb4d09925f36a61e1f5c186816dbcc6ed8cc50354ea43ca1c90c2fa9d395de9fca3b6694ab9fec3be833504f5e3c25a1596096800647b1b77b3c5fcfe7cdf451cee9f71af4320393733571d61249d7fa7291038614629693cc8b7c2a4d5a76f768fe36bbbc9e50fe67ce0c4a72dc6982bc8e6a8c8ca90a00260c264875904f403376b4b20ad280c75435d5d78ea7a1cec9655c6e0de074c93ebaa1e09374241fbf600992ca647f59493613706cb1184aa1b98d2c4c6e9343bf026383c48be40a15feaa3abe7787402d63bc1add75c9cd6eb5a5c86e2c45ffd2639e5e14b575e026a311a6f83a85bce181eaf5c7cc9b644ab80b1c135567bfdd3ac4c62e91c8c429f6bae3c2e7f9b34d4e0506cde6e9a91c4b5caf872fcd7e5e367665e9cea798363a058ae8dae49c85ae314f4bf6859443782b3d004871f5fcfb83f801364c3a4b4a76c2405fb4f5b933d35cdd49901fb3c96e673fbd91e036a6d63dca60b831601112038c613fa82beb7c8873f36c3ded4c848af3e6c289a72a2db5ce5689f5ca2bd3e90ad312a9aa647a69cff7b91cf7c5ff7fbd0d5d0d59813cc7eab1036caeef98c148ed29a6a767e82f8122b385b9a5ebee418672919d0860056201647c6f92f6539b7ea6fa1f73998e3bb2d1ae94776519d65fd201829b0db6d04c1598cc9bfa4a57ba8c0f3626691b6bfb032fbdcc6e1a45e36e5893c29f7887091d97315ce8faf4c2b07e152b7df016e8b9655c35b7ff24d18bc03f926467f5e9a06a0c94f1efb409bbf67442edfd74c079d52f2436f5cc9fe27dbaa9a7064c859e41e38cce72752a9df6a2c46c637c4016febc61002f0779fcfeafb096d2df2c6b3a2e4535ccf5dfba09dec37b855f8062e933cf2e3668de5e94c2b5500dcf322be41dc8425891b7628668635f77f2bf2b1648d37a418286865e1b51661dff23c570a4b243a9604810fcf69d2ef5dd99b0aa1f53267595b4f3383394bde60bf77b6fa4055500e0639e50fc6fe0f801c3f26ec2e194e000ca675adc68f504cb17d8f8f57f763e0a9832ed557e3d2070bf84bdab0c1a3380ee0ab9ffbac95bab7a8df6194ff97f4051ebca7e98121679ebb86846f623ceac3a8825836ec67ffe3fd5db5a97347c988646fba874853b8de8571cfa8cda8ebcbf86b0dd3f19d2da65f8b8aa5ae59f6a4b90dfefb89d6655f919209aa8718cf6fe9f95db333a0d574c869befc2b208d6aefa5530e84f2462412b3758ccaee636df60945310058f41400d3500dc33022397fc94ce5d4992ffe65ed64c44800dbb78e8cc6311f8fb797f32666c589cc65505c63040f01df816b6d58c9c9c152efd6b73db9478ff351251c7fc3f956e7e289bc6390efad60fa99c0786e147861eaf8e097f13654edfebe3ec3ee2b2a799fe9f361230799ab0e24af8b7727df67802807f826ff69cc61e85256fb72fa1e25b5741f4cf3fc33ab050366138f9c01dcce905ce7282e864904271b0e9a96c14ca47cdc6464fe48f514ce7e66f4a8d86e1e21ab7d64d56995df0569d91a53a84b35b118dc569a8baa552f65a4341b065892cc9708b101f8cece544ede4d5fd20f5460e6aa7c71b5714efeb1e579f08a501d888763431c3363f6ed74cb6ab7f8cbb5e549874e1e3326481b219a00a006ecb1d6cf62c1260b06e8954348f02d585aa74f6e9a741729360fb84aa88874a735377ce620015251a2de147f0f967529cd4fe69acd1798802e2214c52de0630ab3c778582bbd41c186d158f43afa90a67d2425c3410fdfa8776b18283483d2947046da9e00cc9d097959b9332c0f477d3e026bea863e7741d5077924c2f1e13f320ab12c186677f4b8981734f9f28750d405404144b70550f126ea76f593ab183f5fdbe00513cdc8fc24ebdcdd28d1023d668d2ee54aff5b03bc52e7c4308a5eeb7255269c478121a35e07db36c68a15a0b6f56fe80b183e45709aeb4dc58c7bf6fbd6e6400ea1523b52c07bd2701ab779c5db9d0d05f280ab96d8d6ca38ed6c63b2b523ce56df4d808af3d9d2e69756090b4491bf2356bedba1972700f7138732781758e1f6e80f8ff282efe039f32ae98ca565dfb341e3aa2a23016ae794b8d1fcf38fcff03ee9cc4a6bda66419f75a2e1f018bc069ee1df9ebb66bdf389aeab5d67985dd048aba334b8fc1f137b44918152300388cc82b10d74d205aac7124d0aa80ba453d5a3e5dcbdcdb86b4e39bae6c1935e59e53a3a73be3d9f9509b1081e26a46948c030cef6aa6edac3f88567afeb2e13be634b0702e8ee7db7b53b6340f8938fc58946744aae83e4db7639be4a96009a3c6003a80bd57e5b0423a1825c6e9484ac8bba112adf3f756d20786637426eb3610438f29167f801bfb1d38fba7985da672e1ff73475827f3481b007e59e09b729df6cfc7c277cb49ff3a2560c19d34c44c8fa873554e152536961c051a1b86aed74d801516554dfc702ac510270a6d1bc7eefd0e8fae52eb674643873333f0452f166cd73036525dcc771a2a01d1b817e3ac5e328b67bdb3fdf1ed06b82c3e2c2d37021762be3efbcdbc3c5e780c4041c2325cb932ebfce34ac72d1355ad82c5c0d32e1823023742a700ed2e0e14a2c7bd3c9dd45db2cb8cee02c9825c6ced1af1cd8e0c2b64defcdf13df19390b78dc4891a3b6c7f0fcef312355fbed7b19de387af5881365b84c1d7a0e9eecf08dd7cbafa978f43aa9fb6c4f574ee601bc28e680393f2442108e2be137fac9cbe1d881a4090d621fc4beabdb0afb3d72d279d7eaf82ac85b5b984635198ca298628edf700d50fdba9b7ce22cbf089c594cdebd9a369467ac96c7ba773a3fb7b567988f2e2d0e3cf529e5356ced797384c5c26fa61c628fcefab8e54fd42283ec8fe0065e54168e56ed26c064d6ec35f824da0798e3cecdfa56cc409af38cd3b531013c187966af7c50ba1b0c1e98081d4635cf037bfe1b24b831fe37d67e37cfb131b095fdc7936f99b5661df600ca447ed57c8f9bd11c28c37fe4d4a9edba1a4dab53d2e8b4a81ffa89911fe1dd901f1476804718974b400e5ec6252a7ae7cc5ff2a337f7d19d7363d0bd49774770349ef47e88e9da00887698099203ddba28be88c6d140663c72eda39b054a18ad726a588b7962bafda3b4fb890929b955ec16d13e3e26cad940b6711cefc9409adc2a3659fc6c201de0bb6aa9b106250dad913e5bb783792926dbef56bd309604c01b65ae29c4b022a36c7182d1030542853b941eb590c58e900a227597caba1e71b72bfe23563a22479484a1c204ac41ad1760b82553511d59fae3f02f639c3ee1c66bf1dd0a1da2640d12cdcd903fec7e26dbfdbbbe2c9186a5b4350af8d9a37623ff5fd2dc13f61d9c27c36c46b0b24f6e86f94cd43183fc5b96dcc7f4684bca6120924163e1397f2588cb0178b500e3d925f9f856e4866ddb66c27f098cf6c526c30ff61cbf5892635fae412df5bea16cb71eca99eec7863809940ac0b0ce103002d279883177e6855aa698d54046b28a6b018882a6235410b9a7031a77ed4d8c09dbc80c2fec89ccdec9d0697ef3343bfd3055094dafe2a0042be5bc262e5fe81292f73a69b3e3f9e49db26da0504bc1f7fba2e8ede8e0ed92d65d26c446f2cfb90e0a6e579cce02f38a81fcdb2648efd72515ebc6389b14a72de13a56e15efff8f1488cfb135c66e4220593d1b0ea177149080cd0209bed5153906874853dc15560425330e38571b3e62b47890d2ac2ee6d6bf4d0b40155d00809b4574a4736d2f00341690a0d35b9ae0b34100b7e0f4384759cdd5907f517871455c100b73c312c74c2ef1355f62d64707fdddf9f1e2ff8973f5924fbe3bc2b121cb7fe83a45396712242e2ae8bc4dd5e57af51a1775f30ac7efa1b96136067c7771c988369df93081fa5963e882ca058bb457c60b4fce68c7336d9944003e35d1c4256bfe9aaa736d68d4263cfc071d94badaefe6f5f9f4974d2c9ca224e3ce5685d73ca40b26d28af942ae68c5b50543094261685dd31c80aa3044e99c084acf17245ed787b62af625c8c3631979ca3a09f1e74ab3630354188eda92e8e879256d4a59c17b21c059a1c2e900a58fc50e10a6b6b673c3acc473ff6f0467118a96ed5fe7b4385afe0e5b9f381260d06610b88948aeb0f3011649412e3978104eab0db92d787f71aff754019ca13e893b8aebfebe31eb9c7c30e744d3dab65ea7b15abcb82a7f07049c2b4ae8bd193668184c3406623db36d46c341a1102fe52bfa79340737f6f036c29e41ce5ba69f14d103a669e592012559f338c41a5b167d48e22292b11edc388639355c6da12498d58f258c0c2d5d51039d11901de10a85d7fdc52a5ce840266f547b6bb833901dc75480d2d1dd207fc8b7fa2cb28185a018087eaa31b4f8dae168f61e7d73c1c8ee961b55f4fea247e2a214717a55dcca13bf5c5425a576e162704aa24d55bccce020636a4cdac44268c871f961891671fe889f8255326b6c6a947bba982316f1c6c88c225350bec03f2db39ae9e4bcdd9b9c847e54fb13920a9a6c542c27a96542be08c6985bd158fddd2f9f734606db5143e418aac667a0aae4001e9987da61c31de8dd731d9a9cd459eab6b151f00cdb8ee887c7b1280c6f77260bdf9904172adfed3b3ce0e02a415bf12a393348a400998db3255b8e1cd6fcd0cba7610ff2738ca891504180daae04850a1f6e404534e6760f76e27ed4971dc40b69f349c3982b0669f10b5df00ee2371aebcef0d46ed739693eaeb0e7d83740406f2c24383ec2b5b5ea9f631f5697b715ea6b607c312c8ddc831f55ec03e56e971741ea4abcbcc18cb962ffc2c1856d6a76905ce16738aaf1345bb9c79c2612974de45a6007955c91b4fa6764e74014c7ff39f0c7ec7a95f45b33a1e3648e0f88277f81e88d23386cc44b5f3bb9d5612ec8e2201632fc24505b26ca7b08b8f72a4b10713fd0388d14b180537dac6f284e82c4839fa15e23d77a045848cc95e0c89a39bc9354751f66c7d1be5fc017278b2cced9e9825e71a3b425ba610ee68e2c989286e5ecd30383d59a613b5998215e6cde48c19ebe0a6e9b5189cb748c6372187565cac951dbc5c318ec7b06dd10abe429056024ee29a9ddb668b619b5943d3c54065c12e08808ec27603832bbb8559090ef2a0693ed9fdbe5602834bd481576c1d9a653bf3a17c71f4a706250f1c0e4317cf405b6193c61df90718ebc282575d27ddac2fa0ad8dfe7341d8a615ffdca5fffa52781c713e85fc831eba696a54f3a20c5a1bb9f22c1476bc46ce27b2b0507bdcdec07e21a1449d81c127f0599e449342942bd149f9cd23ab702781bde58c3eaa8703843151128daea6a96e52927ae9f27097fea50d7fcb4b01eccdb8e2d28b71fa3c472c5ff13c8b16116755d28e2df670dfc5242e0d9e2ed795087cb221e02f5c89c6d101d0b7dbb47047d122a4a98da8c7679776e5bc3a24524f01f089d37554853343580ced8ffcfdac974d5f34fd99671e6cfed5150ab59044b00e8e436090103325e2aa110c5edbb3ce63851cd958947eac6fbc3021357db6b00050d7ef000f00b3414592d9a3bba8eb1815cda2a08d25ecd9caa6600789b28cb6d998a78cc025ca64f575b0426b04c2ccc819b60e2f2fc0189bf6a6348ec3d26ef0dccbfd2d66451961ebb88140c146e06f78ccf379fb2c62ca7aee684e4214df83e8155a03d73a13adbbdc4b8d5a0dfcedecbd9c335a00f1f7853521db7e986c719ea2a892198ff3bf3ca52b7b6ff05b9b2e7fabe174da48cd6883119ba014d01440dd7065cd62f31a0e4c593326970c30b386d1b478598e41b366adedcb4454fe1bf8da0fa4f1066607bdf5c8039628fd74fe1951efd6e7ea0b716d4791df26000052fc5c70b992bc177f5a3c31ae666efb871d90515759d1372803bd67f09b50a3d8d2668211431dc239438ea60123407b1f9b869c77e49381d24cb6218219788980d523f686c1246f76dd2e204b026d7b5e5e7e589037841c19884d8a0631ff97c750ca15de282dcec9c0c1c27ae40fd37da5cc39e1e7d8bbad5b5a02446a592189524a16853cbcc9ceb347f1ac57b7ef615c3247ab0d871d71bc23bbc0782f18fa8f4a98f3ca5975781f11741de232cd0c3bb60697399f062bf8d3affc94d2c0c1e5007364c986052a8cca9b1b0a86f0b0a19c6589b023494fd91f3eef86308dbd3a1ea52ce58f53397c5ca99ebc69d2e1285bf2761cad53517933601aa2c3300c1f92c10eb4fb77010d17151126ee39cecea4471284d5ca92b79ef504c0f84fe6abc68eafd6f782cf61ae22180391f474bbbda3f61cb0b16029b91f4620077fcda0e4fac773620b98a3fb25147e9d21f1044a5dce33c3570f85223ae1d45dfc9ed75724b360e6b2e0bd231c6bc3b0d7d9a8b60fad824e2b4d1c600c7e9d4943fa183ac7b1c57e4bca2768b4dee07b68d851ad2b5d30b75ff9db082316c2418e47965f393b5f319a82a156d4ac83438a9c9858c7adcdd21e9080ccb9d913d5f516f4d2616bf335bd850344bb6245ded0d7e05981547335469872b012700d6cf2f6d3245e85354ae767b6b850bcbab63dee95c196be6e7978d50c851e444651042dc475e9fb16c663044d7926ca7c8738cd1bbde14fb29f717938873166de612667c98a34627f3b189842d63aa6648d35831265e283d88c6191c70df47a852779814ecce98e858c5260a8f5c8470470d7d8b1b023979dd7cce169bf25266d8810edc109838335f34a890f49224b830b7c280feb1a2b9ac94bda782ccdcfbc26b6cc935d67dc0a8c9ba466369e2a926d7ee2e18949ea5f57569ecfd8b982aca3df148dbe180af546a7ea1443eb2726bc8423f17bf710cef186accef0acc22982528286db9c8f8b8445dcb7dc3ea65b6b8cee17a8801704e4fdc0f289cfea5f222d5e64ecb4318f8bc7199f219e50ad2fddae7ad81d2b24febfc8b75dde8146719cffef355e70ed8212e83b29303ee0648407f8acfa81aafdc0925d2c08d90d8540a8fbf5a2cb403aee3bde42b9f909a182fcac0b932233726a4bdb916f34cf89a9e13f7371c4cfb0e0ecc4b89fdc3001a7d10317e3d2b418bc2548b5ec48771921689569a017cc91dd29a3ed9610bdec027c2294e07bb0c3a240302c46ec2a6d6fe88c91274f15b1507cb5229a9bea5519c79aa555439475454c8f4f78b616273be0c356df4c3443c36043252bd2069856d26ade2764943753b1fa2fa526c0db3e24d9e6b3c731ced6f620b40de37a87d83a6f123863e60bf3b97a1626d392a54d079db4b8cd9766ed6ef5d7a03a796f9c56db66e59bd20a045acc8ad8fac8a11e787a88c2c753e716f0ce268b6409e90e38989b265f0dcfeadb89f5fcdd875c2647fcbc40d88ac62ebf4b0d94354ad83e0aa80fa79c739ef5b23bac8313a2ed9aae4402f5850b6f345766912f247f7e36741b37698ef12e20c66118f85906844766dd614e7083a32e3bc44f969b3ffbfa159c9a73046982bd0aa3d489ad0fba9421ae6287c73f3631f705180748e9e5875496c57d0ca2631aa0ef90cf285e1bc589ff4ea1676c020b3f8cabd244f882c5aff56869f900cf874d5be483982813eaeb36ee8b1b36e6de3b4075a3f38b0e17046720a33b0b6a76252a9e5bf9a741ccde3fcdc4b0c7e07e43ab4258e76e8ecd25fa1cc2f956412b08ed7035a2793841c0bfea4531b181c78224e02efca8c0624667083e1b3a20cc0491b18837aa8bf1e32da51ad306352e6e6100e2214c3133b1a09909f150da0510cf55e8d21627425ace4ef58d9c905a6ea1a44c68799c08db79944074f892bf5ee8ccc13eda3c62bf337633465abe9cc2e4bd790fb52bb06603cc173ae6d4e9028e7a5dd56a8a34babcb6c3e1e6fbdafb180704f44b353a12cd888dcb3534db9c868f73ca4233d244300f7c31826bbf6d8c71b6c0f7ab2aa31c6bd6da1683ec85231fdb93e472aa786dddb85c44f529ca612bf2d5436b492a0c1f25a143c01efd93413d2b441970aed2e8f50f816110b8221e0c6409a75386a8b81cb322a5e58aee88228b6d9009d38440496bf4606c33616826dd868c5a3a46dee69e62b76fcfac9e712bad383a1db66221e40600798ca7488790b175cde3b35ab70908b94de368d3cea8bd6e7c1c0f315c482c92fb039c9ffc0a32605228fb2f345bdf10f7860c3ae1e1c76e0508af4f67a503af03f4bb54d572c83de262c384940cbc7ffd71d8d06a413f1093b19f5a3fc8d8fde0a5c6bb3b575a14d044cf96e58fb445c57e0f9a5a40583400cfb80fbba776a9d0bf1a3d2c425c41934f75a651192d83779aaa3452284741f4d9cf5e4e39ba61c77c08cc4012d1e25719cc8ff266110fe8ab62e2997fd4b5160743c7a1db4c03ac8bba1e290887d4329c088b3af079740c5e351feeaf716d3f6981d3a7d2649b8ec712277e13adfdc10c426f05c7bac4ff8eac987bf8777bc0b1a5db35d0ee11e9708a1b6a328bc69994059d35692f39ef529a3022d8ea7f274633bd0153eba3af959af199a25f3cdb734341f9c698cf7ff49cba93bfe58633d20b27be904516fd23398f03b2f021068867af8b2fc560f57b7e5b597d1f4f6f93632c1e0851355bd4ed1f0bfab570fb0634c0b0deb2ba55ac27ef91590e9d94582169c200f4d17f31c8cc17ca1325a29c2c75184d9d17e831d5662be773ab5c68d988c2d329169ce4a3e8f89c57389b0008d1c25f4a95233a504ff461b5306775387089a8c524b02eb3162195ce0c5a5f00d0f875434a1da836dd0ca79b3e69b41adec83e509a66d992b8e92968fb438bc4e19c78c5455136d4ffea29ce0cb9cbbd4775ef66851c5cbbf44116b3f36d66f383c4ffeea52bb8ca32fb10f7e6c69da0771e81189f8be3f786809a61eb25ac982278eeacd19d0316b80c1a96bb7c3351893ca28a95859d96583e66c46d3da75aa150c014fc301287a15db81e635fc0afcdfe9f29db269ea58870e26de33d68cf6ed5ea3662b96483539180f3045f270576bd48167ab7c55de8bb399296a012150145511e7f6bffc17b06218a660518259ba188d5e4608fd042a148f4cf04112682abbafeb661820caf7c685f593e06128a6c327fa6804a166d59e201e1832c68564cdd7dd4616113192e2ec9906e642aaec72152962ada88821d15cb3123851edf57f457db7a22916190caf726bf6f2c1e01cea33905bb8c426da02c06c1c7b7f76574be1faadaa8ed0e758e85e8a4957594a26d9a599cba1c04c093376a22829dd5293e3303f3143e942242b1bd687117a2af46e2ef83d8bf9688a4b2ab399b58fbb9a3470f617043252a4bdca2e315db0d0a5590ed54557b3364b8ec5be72d89010c97c4a02e5a1584f0d3f66b630ef199ea542f4b5d71fd9d90b829543c3e5ccdf2a1e7f4e0e15207c592d3ed19d83ac34fc73b933abfbf8c98a62bc4547438b922be36ce41bacc51da01afc2919a2e243ed033ed562031920188152a37e3700b0f1d58e864a2725f6e82cc1b064f4cf14f21d6e628dd4a6c7e6dfc313f8552cbc54bedb8671b3afb2c450fa0197822013ca59b03116729284c69289df91b1c7f7ea606aaa58cbf1b79c6a4011f3554018813ec74bd51d1468af4ba25abe2c0ca7c4447b73aa68887be8d656f52f32ee9e2f581931247409ffba22399c46b2d7701aa6e69f1bdc6afe8e21e408ad8d25e583c1141f4d0f7a4401507a057346d55ca249575261fd9635b58766bc6bf94c010bbba13716f29f5284bcedaecd05b7bdbb0d143caaf8a499a88da3c576dc30b8f150ddb111016bdb1f29d8aa8df18b378b5e274ab8e326124ec1756e317734e9805b5630e187366027f5eaa1f6859ff70df4d55a3eef668f5e3c3a7963e61578d18e34ab1d40abda4809888df8a37ec5e1a2d5374a8b1060fae6da0d7799efb8556b857661af40cd4940c87631d50f72d5ffbd08699ae94a2dd69b5a612a9532e78f7838bd7dfec43d1c1c1b1e0121e10bc812008e83bd7e354620f8fbd40e9e9a2efecd3b0513f3a30cbfc19bc200a8aca2c140a70efafc2cc272ab80b7c382cad2511d76d39c43187b8504635f19bdf048cdcd13eb2378b23a38f10f2041b25681734bb622db3b8c67ad48410f3c4f14d7cefda110c4e9b579dc076083fd01630235d9c3c64fe01564b49c1db03c9c5280a88c4efd37bd86172b4ed9579e98bc1d162cfc004339a537e7eb996f0301e562826c9a321a9535685fcc851b74d33fb8d4549554362f1e7c99a49cdff7e7f8ec3c7ffdb49f6bca71f8ba33d800e52d2fb9dd90c72f67810164032636b973962d95572115d0ea5bc11a9054b7d17279b39e458d4216fe65e342b905f8544c2b7cb12a1d01d330f9c7722c2e6d8809e472f0af44bf07f07b50b88ede3ea69cad6db4c032b37b034e610e2eec4dd1e067cd6e5015344b2d8463703701f64e153d9de59b00ddd7b648fbd41780b10566c36b51c10e76b47062cc85d7663e5b7ea94cf56ba1756153223e6b33666791779b6da9637e8652006484bb601b8ae1f041c4c0ccf214dcc9560875c147acffc8d931433075e233ac6c2c658c87968c0453f41debb42ce7009c30a93e2bf27d921dfb278e126ae9f86b8d29695887768aa7b464ce03b2c72f25c6d15892225d0edb28147ec1635e560decccbff03d3f20fd30f6ba4b49c0bb9d4327a8376f035f6ef4c4ffd2a5b361481aa327f1b3a38b5818fb8f906b2373a730b86e805b9be5c1748c5c17ae9e0b7fce5740bbc3d82a5fc9f3efbb2b34d822d63db12a910ec06ae95368f104cdb15be5f9fe60f5c23b28b47dfb20dba3bfa01a02e5c5bcce168771f6937a187359c002ff44b45061b0f3ba03401a5e34a0374fa367e64cc5e06833e52a71760f66c10c7c217457fa0cd10c3d50ee22199b4fa185598e272fb95427ae3e3303d1d2da75cfe6e64258048ccf87b565edfc8fecbd6292e18ff922dcc3d54b98d8881ac78aecf1593e4ea7049b1954b392c8f6c341ac902528c43cd43d4fa1c3187087bb297b591b323410900e9523639d678c071139c04cfda6a7bd527e046185349b01179cdccd31741824be038a46cd5c2c5f621b396b00e2c775383181d589fc5ed8cad1184aa27c18dea71d63392e01f8df8aff176dfde1d2a117721c67b213a24531e120e55a3d83d93aad1aebb56754d674c3cf37f82544583e89c9fd4b1c49a8395aee2586d5fe2586b8dcc40e93770863595fdd1ac7dc42bed603785f814e592f726010135aab17661cb5d04484a9d9728edddeed28e2817c2564e1dfa7c689063584035eb3401535244767db8329cb213cc0b75925d3c8aa94818329f831faf9771108ee30bbf1ae8a3a9cb6e3188f01eae07bf92827bf136f674f988e0c651ce75dfb304f24737a1d6defb0208fcc68c46c316ed0275f3dd545ed98cc5d9202b3673d06c5fbdfb483b255c13da3549bd5d28b37a703c42b2b2f87d9d7fa9a78da333d9cf560152384e5b9e6ff8b834a9199777ca8611f43cbda878e91b4673364b5562f532eea7ebba72556e0c11916d8de6f71f542e21f35a800eb11bbc73fe9edb0c6673eb223e4ca717e67f0f3c533412cdc9d391ffa3152cb18acbfe2252b169818e0482859306c5ea21e3b6a943af99d57bfd3dbe805cf60e5017daf31cd04e913955d27c93265e7652f45bb10781e7a9fd92032cb8ed5b6f8656214537aad053a4cb483098859c8df29cdd6c57edebbeb463552acaa4cf7928d6694e654ca138e6c4004189eff35dee21d5f149a556c9c37a1a5546bd3d25125daa7c2271f6b4b10ba09efee24cae5a2981d1bbb5a0c825a00bb4dea4ef771295132b26ca5c5afb931c9fd541779318445897e8e2454a8233d5b6b3887446d2ac4d33779a6e69a5f0cd26c0452e99ef5a751ec104ab6521f6523047c27ee348a180d005a4411a8ec5dc6d468967d9f7c02e07ccd22a05d2e9a3ed3ac58c4f3638bd2625e956114e80cb419deffb99363f65dc7b6a779800763d8b46020fb8f161765444982dc7743dbebc0f8dfffca212cba74a43606102456a65d3e6131e1be42905a8745e13d923cbd64f9c4a31cdf92f6145539e4cfa1268c3e834e161616045880b87c59638d6fdafedc30cd2eeec1b1c7fde598f7ed62cf269ced2806689b0dfa8d03e361160d58869625b792c21f043749baf36798ab8cc460acf97b23226b7c4b4b35c9ad228603481cf805e7e745f778f450fe300be01e73719898ca0b3b9cb50c0268fe3509a49b197de29a3b43742d995ff926058aee334ccf4ecf2cff3987434e2544a8a0cab402e72e6a61adb3ff90fd6d8a31ceac8e6552e6d1f8f63c9c3f54ccb930a11b4c60ce806b7df993f6ca61d4410e2db6891a9dca235ef58173a620351620482f582549a4eeefd59b67165ba6bb73773a3f07548db907e619e68678ff58eeb3f3c90baafef02cf44d1f873b6555198055e7b6ea4902d1f1f095b8b01361a527e290d8c705980819527d4901df14f2aba78e1780e243e2230e1971d0b7b9876ea336a32edeeb208190d5c813704d44410c703cd44903aa2984b9d6393f4dc90faa689badde6f583f48fbab582245bf7f737d3d49e4f24fc36459b2554d8bf0ed6e9e62cb6b04a8776e2321501f83d97bafbd81c1dc730b63b73bbb639b2cb5324cba859495ab78fc766fc9d0c688fbe2e68c107cd07ffa4c82c771f3edb8c225ec437e2bffc8be60775ab535721727995aefaf4c582c8c6f29a8f231d38434c6f7d68d3e3c10522bf958ffcb03c93e69eb88ed268782a9edde0a5c48ae9684a052586042e76c0e53cb1f728c8327c475d3a5f48bf10638f8c21d0604f8d543346d403826c5728de9c8d4d66c22c0525227eaf445c0bf6bbd939ad0d28d23053faac843e0a6389d67740ef539dd112598438b595d95c387fff563f6d55b8de718a15061904155ddec0db8e11764d96c7b3acca83d676136c141c6a64f74d73db4066a1ff798b6c7fdac2a862cd7629b8c4ca6e11d1fdef6c11cce4d8129cb35cc4afb6c942ac7c2292132fbd1801d0ab56da075d47a1626a654a9581abeb882edc5452cdb8a94eb36c1470cb737f52044435a0e7466927be3ad398ab1cd5a08de6c1a04593a357195f440659de11499851c61044a26fefa58b6c965b9c814f7ec00b8dd61e8c9952004603263eedf97fd4ec6beb29a4b36e9a1e2e16acb4b2127e4f19d9c82974aa5dc1cb3cc65eed47cc24c478dcb55fecb2ca7bff3121b7981006eff29c94eabce136583344b28a1b1e1a5dda29b51c064fa872b0874ad6c1388c240e0fa355c0e87c30e9b75ae65731434c32c27ec849c89c1ae7860577455c961ec7afcf059a30637f72af5e2c98dcd6c312a394787c02f2fbc28dafaec1282570ddea94163d41e912c7c160da65ff6312b8269ad0430fcb54377ef94560fd8c97b16cf00298799cce18dd6e09161d67fc5c561eb409b316327e9da50cb06695df10faccfd8781114b22a88d8c6bdb999ab40eb9c72534e0e16ffbcca41186f07494b32f0a95aa533c0108e81e6658032dc6cf0fe65672cde72f1dbe436c82ccf6f150c515cc8a6f072baf549c60e52a67ad2bd0a2e60b40269e03bd56204f6095d0bd9849658b8b4503c690ebeb92131b2908998ed794b04aec95a0304afbc617674932a16f818ae6935b1c47a533024801162b27de8c64276839cb08a14691928eeaebc1988d3225e1813bb386e614fe743a3fa333244a0b70db80960a57c80c8c78a1fe3339c4cf3e44ba2d95528022f44b6a6d5d43213114b9af8225d0de2ff578b08751242bc4fc661e14eba7652544c8508ac18e2290d707dfda3d85f126c523db030392b544c9988f7e3faa07c8388c6fd04b4bd59c94c0ae03507a8520caea413205d4d0cb3124c0147661c00abde4092e3d122094320b4a16d165ebb756f824177b912c292f08f2a6eb611c2054c012d323e7d135d231bbe8b35367bc5ed0470e9e9a13c957907837dd694f83a228fed0f669bee54e3edc12c186b01f18e121effdb8bd37ab3184427c1f5ccca644e4ed3dad29383c336be71a92a546c4b6cfe25fccf8d6eff57a7ee0b6b225b9c56b5f98adfc58600e2b6e8f84d1faf0a553c936f9c51b589cebe3088fe8123684efa977d0972d6797ed9e688f8a4f5f550223075e7dfe44514f2288b9178d921c80dfc232b90217cc14074beef6bbade53d8535d91af95e86c33e6ba31cf89c04aed78e897a8f5f5b9c2fe924f9d5475823855b1d830250dd9bd5a195c2eec3714571c3462c6e986a6e0a572971782c272e0722b2697ab5e4d9f9cbeecc720e663b0489fb7bbe2f7c684ea9d717744df7eb8b78677ecccbc61cf11f75273a992cd81441225e286e262d647b2b43a381ccab62aca0f69c53f915ceaa61802f5612121e46c20a3013c4bdad2d2de436462c37115f231ba84e51e234457800bee20dd44753a768a911d6aff8df5b8587d20b2a61c9340c2ec732dbf095d1cb4332783ca235cfee09fe5b143c47704b5c8e35877dd401751a21c4d61e68b86f896ee9b67cfc4e0bf7ca1c2a1b51ff54fc1988c8df4222fec8d21b1dd82f7bd96612d9edfd3cfd900238e289297ea950279e135bb723f024e45511bbbcc423b5509ed76be4def13c8710c2a6a116c492bc8a6afe3df0329967d827e2fdcc62e65f7455a9586508ea85eb573e0fbed21cc99df06b6d4a305211fd2722a6b9d85cfac48cb1c050476271c6f6bce25b4171db99be55c7a479167023ea47d8da93f7471369fb157ad8a166336844da0478f2c203010a51b38bc7e4e92841f57b8d023e8fff9a808e0c55ee43f0910c33537933b6f2d0599723e9097d8563629793236ddedd383e8fc194f53f0c774cfc78c6346868bb014daaa0b210178ab5e463afb10741f9df15d2021496388f044537680da32a0a1f81662501fc0c4aec990536c121550df43b9ec507d73552fc3fa0f772774963ed4503be39fdcdcb0ef60baa992369f12b520e81327d984d1b0754722d9607b180f15a6409799bcf7a0b08e10cd69306fe7325921f9827df4a28fc61e4fe03d03c00e67dd7774d8557e76d65ddf20e1ca44cffb82f98d80905ae7645f9fe03bfb666fb702b975af471dd4183f8e1ecbe34fb20ba8b8a5e2bc44f5855f4fca15dc4511a6638cb9c3a80c1e90be3b0f8da04f994e5479ffc0e7ec89f544cc8e63db9ba18bcd27ab349f551ec2d916da7b5d471e8de159c0ce0bf1f37f670d17d204813f22e37e3ba1eef29e55de5db1f88caa7b3f4828149ad80db146ada4332c8aa982384534dd25c7281bfb64ac02fec40b145463aabc5f20536dfdb14728ae80cbab848759c446069a74b128442cbffb992ba924877b7b04370f6cfb4615235497f97941a865fa2362c00e9215a85df382124108af1a159e31e77d550c70f9b2d77afa5c0761998033a724a93dab1746723065c1175e0bfc41988c3896b490fdc0afcef65f5da45bb95537febf516d47cf9328a87dc524a6a495f669656a2e17f7b265bb3930697d59400758225ee5c11bb72df91a0f3650f60a07689c6994415c22f6df24cdc7ade72154fbb1cad4c317e3f1b3b1b9e2896bdddaf7a1ad7189ea550962e96c81d29bd45901c3cd01e6ace3c0b65a53bb4963515ca04eaa2bb195edbecd7601c6a708a2d15f5d75e3f89f0971044b149fb1a2dadba849ac436de4f16517e34830ce12928a269c50a410a4901435218c3d0d78422ac11307aa2972547b0d2ca772885dd66580c3a6567e89f6dad02bd7da6db245396e32f9688dc31bd0a28077979162162024e0a61dd6918a3732322498f5149d40d028a07dedd05259f080c2fd9e4a8a9c28c838de42c440e40b9d4a37d116f3402786c41da5fdb401e5b5b613e870307c93f8ca3f766a22ec78628bd633f53c5007887bd84339e7db7ebc467da0bf518bc4108b41fba02a4c7c6e7c172d839b6c3feff070f1d5cfd20926ae3b598e05abde7a299bc948bd1f0780790042696cb98c81368f781f9493e6e21b9d6c083d2a4807fa85af5f53340f9c84fd9360fdba52f2cce94c33a8db830826d02c86c52340e287ca0f9af7e9a2696acb245fdbbd66bd08107126e39a99e67a132887a2c612106f3472383e486405c0b0cc3e76fc8002ce37b7c5bd8f51990669d90ff71ee0b4928876e23127f87989be89197581b451e40bc0745c3e4052aabb4d94d1943767c2fc666d6462bc040f71dddf96e20d2b3991e62507ad7c7e380444a1bcaf8fbcdb4ac8a61d45f2db0494e9c8b96a5eced1a2a782f19c061955602ed29541424c201834cd313515a5c9cbc284811f8f6ddbdd415c2e935320a285516ccc63b3d75da6ce37db839d4a7b11b9261a41b1b8c9eb5c31270b3e8b71aeac9e0958ce84026fbaf00299b9338c20ab34599635c7eed077644606d7d0c82627da223ff2e4e6d57b2a21d6c27f168ba23acbc65f7ed2b5a66a4a09468527edb3ba4f09edb2bad56e05ca3464b4e446dd13db24fbcc9eb0fda88415e6dc97a263db9946ca85c52a901c928a14086b97784099163f8409c1b571ed9896b2f6f05732dd67aff74908a5d910f0d29f65b6d813638aae7d8cf221e7a32d566ea6afe2fa85d9adc940dbf78cb618c0fbef0b89a1da151f9f04880c48a78903dcd7c40225c4764debee08e08c41bbb96c84a91e99dbcf2463ceecfd44b40ed57f7ac90040b82b5aadb45cc89e1b2ecd97ba9287044bb2186ea6f672e8ddb3d845eef22398a5b0b127b9cfad08b9c6ce5b338904127101948934f1070e6b41ff4de48c35f7ea7078ee64d83b5b5e623a0830eee62231aa86908184a2d98879d1a5e0f5966e2172e61450e25792cff7b092c660c8afb2e720c6adf3a03b46303aeccf56853fe82a50bed4fce4e20ac563e11ac8033dbc6576fd37b2c0fd1e487d195f57a3d009d8435803cd04ab25ddf38de3c27fcac89f08672396142f15a740b7ec1426a84e988547bffea61a88a22eb15fa50b864be4526d5051838a40523470e737948267338781db768cfebdd04c944b817ed4bd2d68719d6383191267ec450a67a4abd299d9cdf7ceb33bea3ab73af2b520e06bff8fcbf13f6c0fd6fff6df7e7f8076b89b83028bb0fbeb7164ecbf4422baad372fd33e1dfdb42a1ae8e4f4299cfc7464397366f5fb969ec8f049facc811c326824d824539e7045ac314b8d61fcd287260a9f588fdb6f41fbc3ba1c742a5d2d082f5e316f8e52d9eb3c56c2bf08adca1a42f337012077d89a18853b4afe6396df0c0fbd425e743c04bcd279495d41fee8c43cb57189edfefa807fd6adf52703134b9d5913716b87f9d3d04747fe7859f4300e418080b72204da601634e7604beffd23dcda57370675f03eadfcad625ce6215de783202b420b3f263a4915b076da290a14ba8b1e09a051c72ef7558cbaf78ba239614ad9c6275d3c4f23d76817ffff993db7038b706ca7e72d4ddfd3d11c05b861a6432e663ece6f63f9c3393fd1ddffc4a0da61b4282f5ff323be0049ef2a5e4f09342112c18de874fb36d5620e43eb05911b068e40d0ca57743568fd824b185c3c9a0a93d1e7c7570611cdfae0e78729de996d31aea49a95285e047884bc6b855440496b5f882dd053d2c4ba56debf6d9f92ef62dd405332273ad5a6994b2123fc4fc477d4638fb96827747a19a7a18761d3e4d47cde6857f07fdedc924e0eca483ac846e6e01ff602544593ab6df3895d1c3509394e514c7412ec80c5b27f260eb206c1065796e4596c3dd39c8ebceaf39676b63fc535a4c553d807037fce47edee048bf0466accb7ef77dc3838e9269298c21e36b8f40d375606f4692540b9f5212b7305621825b38cad8eba34e4863bb7b1b9cc1d22308a1d71f6d4317f19215ecaf5a1f0003238181e725246d960321bd6e743a81857dca4d7ad05460ce9c5449906167c96793d8f376cebde37a547ab202c2bd7310db6cdce3b9f7f418d0efc4aaf31a878783b131b8333f535400d34a78664b9d9c12e4476d3401c4fbd1277f022c0066adfc56dcb4d4d86b854655f2c538933cea2096536d4806a13017fe9362005502e8f364a27f681f1c288590b2b0928258de5562751d75d15333a1e6562299e8b38381ed7391c40af8d34fb384f033d6547ee1b3a635c6d619fac183784cc711a0a1e258d7f4d25901b4acc25edf4277ec35332cfce78bb6c68f600f44d7bc7fae0f1408f095886f2e281e7d6017c421d677ef0009eb1c4315342253e68ff6cd563d404e6b8c5025524068f3ba4476d4c01e6b4e5e6710cd88a5c70365678cf4fcbf4b790f16401a57b25e604302eb00ae87024807dad5be04161d99173f0e3166046b0aad71c52f24a3580b39b9df6bd69d1c7bcb061bbfad7cacbbc8fe09e6353c1b62a0ed783208f4c53cff10a2fb2ebdad6daddb4034f02864c2b31c8d81fe89c532377e18f672ba4ddbb25e603e96590a01bf1a9ce577c2dd95cb3d29a202daee73f69ad19205983a13f012b759867ebee19e7b085f8f3700aef245956148ce0348ac12aface02bcfb6b33c00d223215da23ef32df03f78e3a6331f557c2113eb14db8ff5b9fe6e1cc0e88d70d1de8560602935d5192a17d783c64cced184c0fd977608b985575116df048544eddb8b9416b6430be315068244d0b69f242ed55cc72d6ea48354fc1ff1a9c3c65a7b9d0495d253e66248d14fc9450ca1f2d3341da5888a0286e96cf44f8abb44d12e927f65528cecf508d3a5bba7c23557d10bf03bfce36511727aaaad5dd57653b12784d3b5a7a7810a19a7ed0fe4732d1db043e1f73cf2207321d05bce3d68386f5d46330f22adb78e46f24fc3f4304df10c4d65e589dc6c53d73e02b8c8d70dc827a937347592518f6470010fbce3040fbde46f501feb843cfb2b274f7c0cc4b6e250a8ca7c9587fff10642a5c6aa404dfbf15e8cfdca8658beb7f715ae0caafee26528efb9dff3cec50002a56ff0f3f4f09b726a902d9fe576835775733c7dabffe1df3c97d029790bcd6fd278b3c53cfcfb7e055b1d80a73fc4b2bda2cce71c3c84f27dc9f51a190f7d8e3509c21abe2fe6318c5dabe12d5f5c6b9fcf0ace9a38af2c7e188df649af12f627c79e1ba99b9697fa74d343f945b5b8e4edfe6ad3e0d5c3f2f467e1b72ea98cd6f4a0851fa854fc9ef53e37df3ebfa3c19c1404dd0d521c395e2dd1dfd8b6cef4fe4fe84f2ac2c052d5ae1786f4f879a6d3da132556c168c3357be967242e672a86ca668a6834e4ff9cfb25294d8e018ff8418fcab6ac849bda8b4d42af50e442f88c2fc50d4498bd2fed68a04deb30f8020b9060a832bd2770a1eeb079b9230a23da4e78d6f05ea3d718c736d1672483748c7915339465f10e4c3a69f9a0ea9f02741f1b62cd63e49c37d06fb0041d029579243f082759da2496d4a6093ab6f5e06ebcff14d0fde40f9f436eda1a23afdd50ae902cd72040d8c3004a2635eab8fc3895374251d326ef29af2922f3404db479a8e33a439d202a10053210d9c532a5226710f04c2927b785ab633c8d133d66cc2e05ee73254dcc5e800932cce58774f2cec728b8c853cc1f622653c1d2f65522797ef784e0b7954b5fae0e71c39e766949b66d8a8d5a2076094351b8d095c0d5e2ed3ab4f54802074f3baf26b29e73de52392d814c24102762d57e565f2e00e0b6c34b4f67366a9617bd9dae525bf579df6304556e26846852b8a3ec843718ef0c87feb72b5dc5e7544b68f7dfea84add09c05b08d42350d52923050f34377aca56469f9f396c4be3de3c588ccb0e82fae9c9c97738c3eb562f5347bc39ce99cf9688d06049a538b9a647819239e2fb026c5fd82df1fe8677664a9a89080da3498e4ec361e7c7bb14a7afc4464118686dd0cb6bda91a7700f1e5dc3e51bd2551a49c6446f9c1d086b185338b3e23bcf122660e6763df57bd2526acd2dd600256d325e2b933c11f16ce0e58f5382445f80b7a388af6cf70f6ed54a216044a243eeeda86a4899c4a9499c02e53aa7cf75609203c6bb834a6623d90472d92772dfc8b59c108abee4c5e9bba18b50a1e677dc1bb9d19cc2f9b107f984350d857427e7b3a13824def53a6579aaa5cdd0ec9b5da8ac2c7519fbe3a124d1f31bfa08c03e04c5060d4e3e1f578105490a556d101e3be4950f608a6dd61b8942153b0431c5096f3c1bc3c15c0066982b907689fc8cd050c1414c28abb93cf68fc5c68b938f5ec3e4edd015f47c1a090e498469bc1eca3f2caed40f8b377f2ef66bb10a6d280bb3f0ba016dbb1b6a3ae35b92c47000f00c72cfd310529a389865238629f29615dd1de86aac24f6982c3580459f52b8bf028800ac2d8f143f86fd14388205006bc1e1bfc4066fdff8138d6eb6c8bc0c273750d1f9f82ce6a1a544a50b63442e9244da6c428f5b4da31c786e41ec77fb0c7094380a7642c3b256665b9ed5420b0cd1be847c1526d82a206bc3aa9b62e3443b733f21e869823410b4fcf24b8013af7e35df729a009a13a5962130ad685950ef09a3b05b85dee2114778054ff1c45d2147fa4d6c336f9afb40f4844a308cbd932298113c13209a04ee182379ba6a522c6b806ee4874cd924598338971da7f754afe6ec54cbccfc34ff8d741014f76c0a2107171012e1beeb7bc51b7bbce49c511ac19fa806e29420e8e8b9f05246e555969fa0bffeb11b8e397701299741e16acdcb6982d5a80dbfbca1c01f91ce50a03e994b1635d1fbd60628eacec42a87915f0e6626be25f1362645791e4d5a53ba6fad380642a8669cfe0d55b514b82058bb45107481801f80bd28d52aaf20e6e909dd7d8fb9990e07fbbbb3b03b514e7988c6910db02486be3cc28a759a0814b54f8ca3137261c678c57e1b4fe88d93dbc240aa23326d3c402f8899332b114b0f302f367eaa8fcb5994b4e01d4a7b1d6b082f72e8419dc32a11a209623e52d0ef438fefeea4dbe3ff7731716f1400063741f67ed20f66512cf2933f51deb660d6eef00607d18b098e7846299069996d6512668559435b8bb70f1e43c83267a510d2d9e8cfb9f9a1c1dddce8167661ad93440f012e337370c84cd46312c03ec5d03d99e4c72c4ad51d56b84e697d859f4724538b55745f63a3ad44a172bda22d9e2dbea5a9893a58cbee1aed749cfa90a073c73453bb3350ecaeca5a3981af0190929d3129db4797808da6c114d2127f54e7a7c4e3469cd8e52594b4a6109c7456a87e5f994c76f8646585217011b15dda2993615f709b311ad71ddbba52673fa826f9ce9556d5ebcdee6d33f86f718be729d100e3a49b6587aac3c844fe61bcf6d836581d000913c483b61a9fa434fba50c59d6499046e3592d4c5001ca8adfc724c04e83df1db23beee276ccd650b876931d0964722fd5dc323714f6cad35bd054a54e45665b6f2caf06437da12ae55071f6e6d03e61a072362bea23c49a2d189c425df3809fd0e481c632475f1df37d9af6aa373e129c11f79719cce1df4b8272414c63967b42509df3fdf305a0f9b427ee52b68769642b2560a50a7ee3e47d04efacebdf35983003dc005b376763b03721545c8a07b15f4009440beda89fa1a94052afe15cb683a298b90fb8de3063789ae2fac26c7983bff198acdf809d1dc5a337c5833dfcc18529a120e7c7d8f4141e8428ff034ebfc9055859c24fa5c83964059254919a798b56008e76706cdeecd1edde54e3d5f5bf3a26d53be1560700dd5023d1952b49915b0a1e530297f13860e5a5acd20ed5bbbe862efd57786623c3209858ae2d94feb89b083523b2d162cb7a74b9668005f9a238f58585f1b0fecf7170211dd22d12bb28822fdcaf08fd484d059add19eb1e8ef76c437ad00e6c969ae26c86dbf3b505bb336e4efeb6945d2505f6e8279001e92a0b4b7fa7c1ceacde30f67b991af4f9f6cb6f5ae0314c51a8077781e8ad3898d1c535283c79750844e003297fca81c10f957079caa6071d66f44d11041450da1d851ea1ae73dae94c080253bddbb18f0e2a33d9f5e95e226454eb6f5145e57c10f6b29c2964db9bb896e4bc96cb739083335662a76303f3309c15154912f98c9e19a7d1bf15299607ba26b1a0d197a952ab7da5b687c74b0d759b69e50c396107f6a41fe08d387feb67744e954ae782ac3900a193ee75128b39423e4d72d3f2b9f15486ca3e76cdea3f0886ccde092398c1710352aa66b40615e2b863806e427867404349b2aef102b55c05144b93d2f45f23e894986917e450ab67602e6b1b707847a11ba1488b5b149be72038df2f3fff04c0e801a8f8782eccb2279b22cdb5ebf7cb864ec997c40b1e20017f449ae3652f1883387c563279fbb424dd0919ae9b61d8611bf69910dd19f4837c5c447ed661aa0d9ef3fadd9eba87cc40032a6340a0d3f897e21b2509cec3aac1f6d18ff08d3c1d39a0a70c2b1198358912bed3e12c3504ea84d23513f5ba504395643c1cf98f5f32d0437956d5c47166e86bfba807f9f25c6184b0a10c1a2cc4bde2ee9f61eca1539b926db8447188538a5ba1023fbcef55c57ad55b56ad0457397b4b0e5dc6988c395bb304eba06423adb06cc93e8a05345a99e15add3d4fd03c15ec30d59fa172cece1431070e302584b2e384797cd6dbdf91dbc87b4f542b525d37baa43ad64fb178ae38347bc59142b43163b41951ac42670c0d354eb46bd7c1f8e99f3f323f6ea9635471a81e9c68ef0c47438e047b236e0c53b97b23feb1911b412c58359f4b4758300d1798f0627edb0323adae975cf38608afe39de3bb34acdf9383fb6789644527507a3d72c30c75b011bb3d7b28edcc441d2f8e0e21ad8b48185f1591715cbfd37b335f30fe1767bc54b3957e551b490beb6602adf45eec81010f54e9ffbc88d536ef505b56b351f84f0dffba8d1b7e4edc45bb2a86fcb24387175bf7db3f47409f8f9c3fbce8bc5cfb29c633e7d42a804fedd8a830f7c490d14a50189af28d7b42604463855575a87b7d1e5076ece62c4261cf2570125f066c77738587b95e3351ecf5c00ed0752b6f7431043c6cd93de31c48159961fe65b4116b9bce71b6590912bbb9ecb386af18033f3005cdf58889ca2d336afb7e14e5c9750e0c09d99f0f6d722bed81ba6ccd7c0c0a285d005726566de2f6264a367d03f1dc469f5c19d265dbea69da9830d1416f07ac318659de688263c228764f61c2a56c9b80fe3496dbdc4e6fd4a663f9c574f3e3f1ecf7cb821ddee1401d1c3df18649a3fe248760a37125fff4db48b9984e56037ae354208c077344c77e2491eebf64df725d91a69252b256e10647b53cfc779d7cb93c7ae576258b26e92f0808783072beeda4991558f3c301b4b9f086387d5f4a5fbbd3babb11d18d231010943ab8e86502eef4a028baeeea5fbc7eab69f38de6c00c62b01fc28311b82259a6fb5e37df185ebdb9921cd469eb90dd27ca5d972383f9998d6f20f9ec6df45bf82d1ac9c75136cd96f79b4cd4446b2900556ea3244abf252f2ab4e4e0aea8b08a4afab15716c40982bb4f47d29c607cb8f153e20c130a2a1a38dc4c32f5977655c2408ad89d3494949be4d798eb31b15d6bc676b80fb73a2746f36274a5ab051c5cc8af1b8132ca1cac4db06d0ed89a8c10894304fe21e9e4e4f478b11212ab5160d95d072cf816ad553f9267acc40180c87e76aa1d29bf927c92b6fe6423b42b2e501d2f62f80140ff7f9f1fc0f148c3ed0a04667b8e1b71441821052f5ec70a428add7b110a3024aca7c03898f7d4c0a4497a1abe496430aea47a609a90b8ebcc2caa89ed1b29925e4f5a8980b0520c5bce9275224821623ac4c3b156f89b449bab0abd7c55a9c9c708e837ce2237ab4448960c98e21df8af940472cbd830287f77da37b7a34e7225dfc798058f2016f3e94b019ce6a0341405c5d48b40dfe43df04eb1fe40ec5eb1dc26d4a225a855f626432d500d4859f6045277b860946af7c7c11da88b3379cf8400a64ce1a98c4044190d2523981dc86128457ca00f065e383fd40f354b450cc29a2713000a8b83d407dd8089f4b6bb6ae167dc1392a51bc1755a77d542c89743e35ecc1a17d2a442a392106a367c207cf8732f71d591dbf9f53ee60a93e482b35e865ff3be1654aa26f51f88d71285cf8883e8df6e45ca1c16348ae422d345edf3da515e2266584b775496b8205abad0b63dd737313e0ca855fdc5efbd9403b1be9df07e7090bbcced58a6f6e72920ddfc2af58f00dbf986f6e6525c5529143afb0eef8debafbe398af005d64d617d4e3ba0ef2c3ecb8a43efed6437c500f8f964a1ef3d9f7ba84fb74e74d523350e896773b44f9ce044c5666ab67cd4759bb1610b1c5cd072a089f1c4215b4a78abc8f53e6cf934cee64906117f5b00289353167600401c097a2e823f1570e05de45b047523f3d68661acd73d5c16c46ff31c09af2a18a123f8a564a5c6b3e134a29837ab0ff251a399893287481ae7aa666907047f380eb94229d2e318b062abfc5071054a7cb8067ff04d5339bcd7d47ea0d6dbc9882c5c48110f2b4f561848d3670c0bfadd6fab06f08a67fc74e87fb13e384e0082011a6d60f32e616a43f4f09955f528148f39bce05f7ed9aa28802906e703cbf4c3c2220eadbe4fb568dc36f1d97870bf58557cb1050ba05866ed61d08a61d83743c2e621b8aa264a5a721e077c26d8ad1704579bf15259e03114e30967400a843a1727e76f60bd0d8e840d6b8a57c87a03a9fa4b372e8384925ac5d6cee59ad15ad57cb95529949abfec08ae2e9e0cd664332348ec59796551fd7b453c8a01da8d5805bfac05862518ef6b582251d454982604dab80cad665cf9267137e2cc1be44446966a95e2d076c02d44a239ca41da1bc497f74f22d70e99be3db9e6f63ff4698af3962146fff9b5a8129df9f76eeb9d78cd1fe330c2783b5442743e689483c7111f00a6b039196a853a5834b76eb78ae819976c1738c720db5854ab0a0524eb010d2c84108a1de40129dbbcc4c39ec8c5d0ad09565983845ff9b7d385ade34f14a156626e8d1e60fb1c3be366ed60aa8a7b05c6ffd7f71c3823cc838e22abab0dfbb7592c49f81bc39ec1dd42f885413b47372fa333dc888b50cd509244746ae79048bd5765a085f7ab8c339cb0951e2f09ee25d3374f7e37de78895dd5a95629d54656be7808374c4172d3c9f8fc9fe193dac5559d3f97ab2580e66ef28903f25dc301bf4a500900011e0af8587fbf97c624d49e668c4aebf6c484cb0d76fed6f8d724b15bde29de75b23b09b9b5eef52f8b45c3eb3a020003f0c2491a6793a3861772c46aa80dd0c26278d0bda9f25e7d12e2b383a59d10585fd24489998242881c4aa03802c416820ec704a9a59921cc9fdf2967fa33d36604429ac85f7c4a9fc262f922b02c474980cf127b1e9b50cbd0a011ea335070031233b1c84516eceed6e7de09f05307b689b40ebb3c90c28d7596cfa0d2fe3fbffa8ea555a0c986ff2ff5f820d1f2c1251a067c1c32a61d64b150c8bd1da10765df9f307b663c016dbe98d6bbc91b04b5a051e5d000bcac20d8e0e45a2e5bedc4e2f09f2601dbe9ab7718a272cc9fc5302d119c7f438066c095a46046c567d865f16628b1ae50843704d6cb0cb2ff63868ffff19069a4059f11068dd542df9ef0fb5fedca9207b0bd61551b505b1eb0214c66cc6bc9dc6dec0dd0fda65613f03e8da7f1a0258406cfbdf55dc01bf6538e0257d8f65731a51f8284abf87700422248c0970788f5a4afd86518ba6782d4f1c6bd642e758b881a6c71fba772213ccb020e0645ee0c3950ac26c90103c00030000c0003c00030000cc3f8151ad14a35959494a104025914ade526497645bc05bc76611c46010000000020347c7cab5de20cf40c1c0d75c59d50fc7c4c8d5de1725c4db0cc62ab93a49bd62e13fe9f89fb1cef9ec5426309e7f8351ec3a572a76928e1e821662b8d245469db645d8daf1ce31008d04002dd1d717248cd4a977284b63e89f99d3dd53ae609348c40789cbda9675572bf08db547989ed314a1895080997373304ed6337b989fe37110bc1cd9c3777e44ec9eb414892df4dca7451bbb2a20104c3558dc8853fb84cf0a49df6626c4cfaa09c7e577a32f385c97b70cd94ac1517e389a5d2e041255d8a8d3975ce5a0a8944c4e82e3e406307aa5f97b0f9fcaf460f89440e40430705098bc1e4fb2819dc5c346719c3c764db3153b850dae534462ba937dfb7c0e27f664a7e6379496ce19f9492458fd602bb36d54de5d1424dd1eae4b06d16f9c7094f299b74d259b228ec4dcaec30b12db658ac5137c74c8c29a13258607239378c49aad2be22d3a0e71e2fc59b9bae304fb82ad78cf6d1ae154cfbaa65a97c6b7c58a144269b592d934a9056c19b7cd2f9643f8d6854f17cc89ab9aea920be4d0c1b2cc64f664145f2e7cfb909a1aaa99da2fe9c52bc5b75d7094d51ca1e7ee263aa741b2ac561ace652cefdbf1729cadf4ae9cd1f799a1e45926b93b53532abee136688629dd5b072b1e8922fa1b0e52ab34bcbde5c07c59617ff4e4d8e15f53ed1c949d53453ec5a4af184a3b921dab24b53b49048640c9f81825181199dd02ee23fff891737e79ce8724f884925db49676ec20e3e1fbe5fa38934a6d7fe33b174733013577cd34a5a51be631a13bf64b44de9d38f49522e61b21a4fb132969c5d0b49c20c4b741ee2c22dad0999a54a70e91674e3abb95d9a12e76c9d670889d47499441efa31d2453c5f4c2289c2c69c5bb54a3a9f4c248e1ea7afa499b7900b124bb9ebe68e3161ec43011d5198f10833a9668e8b4d9bf976041a3e67b79990212fa7115d76489a1c93929133e2178b1e34c63bcf252fc26bcfcea9628649f73a618622f69232dee744495f27146624825b93227777b3c6282302ef6452d95bad19eb21bae4d15b3fdc9b5cff126618e2b47261bb74332ec44298934deabdac6b1226445372f12e94f8779e32082f4596bc1a9b6d2e2d88d22529bf9dc7246c4e8148f2249a86d447cd9803e2f52ced24b77f703c58d6b6703947db1a004c98e187929f863fc953c456141289e898d1077f6392646f9384cfeb7af1812e8230830fd7c996d7defb86a97980e00633f6f0a6b7f9d24c3ef66d0818ab2398a10773368fa5a57ea597b48a01860766e4c1d1ca9429093639e212e1619f8d8bab7352d4e8cda0c568000d66dc41d754de26d8e649a5b11f33eca026b973ccf7a5c193f983197538a3f6871addc89d4a0e66d0c18992b72cf1e9bf2411c28c39bcd2f5539f2bfaf6682133e46012c3c614434be6bc741c88fe4c5ee96ee626ae82836119ef723e074bdfbfa1e9b0743175e4773f3398e186fa24f1efcafb2dffa67a30a30d5c6a34714ff52a53f960061b4c69e3a6cd49be6479aa5ac3a7da96ef5a573c9bd860861a3ac93a95986e4bc31516da84fdf1f028abd0703acd9429b642778f4467d8c2854b25f78c4b0ec60ef7c2c7170d8844baf8c00c333021af7b5264f6684bc88c3294c54ed2d68cfd1c2b241299418682784867393158de15c28387baa04764c6188c494dc475eeeabb440cc92153fb8c67899b3d62981186cffdd6e4bf3c0e6680a1e09dc342c33559fe677c81d5289d4adadcd19ecff0421d93fc763fa52953cfe8026b7396d2a7d9a3995471c1f5ad2bf9eb555392be98b185b4aae44e4d9e6743490f306668e1d25cf289eba9a6930fc28c2c1ced45fadf72cd53088023ccc082e1a4d7549a83f968c915ce1dd792c9c9bc45462bec2252d255d0ac9f2a2c9851856f57e442959cbf76a74261c624d97277567f2e035dcc98021916b6b42dc4934ca08b07cc90c2f97311d2d671ea4b00a0831951607f3a437faae4ecb5861950286a1ca98cb15df9628030e309ca7b4a79fe5a24c23dbe080306339cf0cb5bae98ea57633d05cc6882e1b2a48d0b6a96046b063398e045fd25a1a412752f5d82f5f143e6346d671b524231aee7884d717f7398842d9a9837c6ce740d5517279881043d9c7a38e162f612f9089ef025a7125da643ca4a986104da43ba244b75f61728cc280257b5954eee72dae86d308308c7d86bd9c59243f03efb66d5c874674e08338480e64ab99dbd2c7ecccf08c2ebfbd5af9f972b6b88300308c5f228d361b6e23d39c68c1f58b66bd2445baadd2c036f1e3a7af47030ccf0412fa565331a5b6266cccde8c1ffe61a6939654b675498c18384ba52491ffffb1cfd98b183a245d47c4a7597929c8e2accd041f6495326f99264591ece0e831d3272918fe897f439262134092eca0b2622f527db94ec2d9253b326b9a27ccf897a40862dd8cf1d4f939442ad9bd422ddf8b31812a1396a68a1956c72df974cd2cd99455e1dbd6ffb2d6b195950a13565907f8fda5c2cd2ba8e29e6ba737f038bfd4b10570f6bed197a455955fe354ed2590fb9a2acb89dfd3e6bc5dfe212569b629a5159f144f6e56413e716c25518ba844b4257e9ae75aa4892a4fc78424957c257a928e78c256b8f5e5efa858ac7b3097be7397d622220e314860c9fb2491e4ca435213d86064c919893a59b39d94f12c202cc4046290c336b25fb595c144961d0f474e3f6325da22f6314bf5d924e2ed1522b7c258aa44becf0165ada808c50249f3788a7b8cc2e25050a36e8894b4c6669e58444220990f1097e7c3c27a1f24744494824e285fad007744086270ca739ffcbc4b5fd5e071860a803225390d189edc2a958a4697caa4322112f4a2083139aef57da8ae932ba9be82ba57bf49b9832634db8e9ee9298335cc87866023b2176a437aeb9a54222114c74c2553cb12a7fcceb4222112f50608218c8b844794f8cf13c74caf6624824e2850e1d567e7401803ac8b0441d25dda7a8b485f72ea3128969e572f2bc4963a5213228414949dec14625647a10c898c47953fbe1840cade521810c49e461db3a844957bed504322251c885cc4faf31f9ce21914803644002f5b82225def65f4c123202198f3898a4d95a3a3d676e21111f3d30a0c3013a44d0458f11c8708477b205ffce2f315bb411b6587f98e89d196a04820c46ec1632697bc59df19c08642cc29c3bc0e5ab61f963fa75ff2790a188aa52acce292747be0280116424a21f334f213ccdc5d2023210d1074b29a4f3bad3ca320ec164d44c336f2bdd55116418e21c63ee24a5f4dc52161f320a619d87f19446e421831088099f4389e1ae95a321914824e28518cf830252903108632cd95f5bfa638c132f24e0c507baf01f60280f18c810441bbf9324943caed1a30010828c40bc29f4069f3037d9cc9048a402320091ffa77c45fba58e46c61f1a9138d799bd6a13f7e11270800c3f9837491efee4a4cb66f1e2878c3eacf1a39a73da294f7f84e1e3070664f0414b1f7b43745a4bdb84f145488f03c0a0063598808c3dd45ddf5e9adcb54c7e870f1f5fe8181f60810c3d90a57e66ea29b4ea18920734567da8309e840d0664e0e1242779fa8a1d9f840a0532ee40c50b27c6f97ef7a82191884140861d344b7d31ebfa53bce891011975d0fe2cc9ebe2291aba1007c8a04352554c395175a92d0e868c39ace9736b6a0bf70a951cdcdbb01de2eb2a2e1407fe664c9c9292ebc80587e693a09ff79376a7f886c3754a1f3e155bcbe286720e66baf1523989d506ba43bc743af7924c0e1b2ead126cd38913d1256b28534a12bfdb835fb0a8414f71b7a4e45d19d44a437a11239537b73b231a4a1ef97d595d5e25768673d80d539dfc4f726638db2b4465cf373199c82803159f7215267da262219188171e904186b7d378b77b5a0f991212898c81022f66c03ac60f66067c40870cbcbbf0c1c3c33001016630c6070480091963202a74f6b34e726ef8c590ced59a586162def28444222be0f1c50c3a043a2c20860f1e1488443220230c5b1669ff4ffae1b9c10d6a508325c800c3a9b3c655658d9ad30c89f88f1778d1430c176400003e90f105d33fc7f5978bcde87be196dd715793a44cf92e98d297942683279d31b9700af3f7fa9ae4b437d90227976444768969edd382755621332926b46f59288a7854f6b794fe1f0b9dc6c9d1de9319c4bdc2593b5bff5d9c7daf56e0bf6a76e64abed2ae42e152f1f5daa1c23dda1db6df435db629a449baf4ccde1e3a3f293ca29a31f9994ee7280a9beffbe598a4e4343a140893a42973cf15175904329eb0458f2656fc4995f393810c27201e2aa7d97a6d9d982670771bd33b893933e59860bf5687a94f2d81bc0c329d71dc7d6c255c25e5b59f4d7e528a93b0adb86671cb245f9448483d8796becb7553ff1134db94db2c72152d6504ffdd2a26e9243667a908aa492b95323e89e53b11d04fb1573996bbfc34843ac654291ed6753e2a04b552debb14a3f9220a42766bf9f472b0109f07c251d268ed9e27e3075ac6bf7cada9fbe4640864f8e093ef642d292e93547b0feaedecc88b32f50ff1c0fbe426f5a64e55987790e7e6eed0711a3649cad0019652e792f6ec5d36175da9495be2a7d58f8d8b36774c49d19d3bd20c23a5ee38318922170d8944c2d8c115b061867cd34e99bd56f6ae6350c04619bc8eb3f093d6d1d90191880b0040041b64d0c4d2e07b355fc1c6184a156be7b26d669e2b2412b121062fc6320b6e23d2a1f1c2461878fb78398f5cc09057544c5fbd1c35cb2fe47db2c9df3966b68e598136e0d8f0c2413c2559937c259d865d48f4cd2649dd253e7a7c71011b5cd8ef72e4e447f3888a023a3260630b9a5a88d3d3d8ce1743011d36b480dca50a1b8bd4f4e99ac04616ecb10ce3b953ce7cd9901d2fc68e1e0a460f1fd8c0c2e6e9b7d9e347d69f48c0c6153893addca5aa1b53011b5628357d9a6bbfec918d2a78b1d2e7a6dec396d8a042fab92bdc6f16ddb5d898026f5139e7b42c7b9fb2f243470d6c48e10a974ce13c9428270a812e6c44814af2dfe6ad18f77cfc10e3035df4b00185cb4ce34b92bb9048c4077f71011b4f38c94c760cde49ec0f0f1b4e78744d3c432eab5dca0328b0d1042b796ede4d512e5f302412e9b18309e459b4d94eadf889818ee1c3c61298bc08f5b42315f36e4309c65f64ccff2bb56ed9484225a554f113e51ae60d89445e8c26d84002a6b953d692a47e913c0e368ea0270fed61774bace7101f368cd0f425419355e8e049d046110e1b3dc9a9bae4bc61638308a6da344d9bf7f27a191289ecb03184a4933b44f677533b14b22312b121842c4464b9799abb7a78c1e347166c04a1ec2695185ec527afb3010465e36e78499ac59843221109d8f801396f277ae510b59b0c89446cf8c090ca1a6e72b29833272412a91d3b2c60a3076409d671e43bb7e61d1289b40d1e2431ba71a28e5492c47770fcffde78c55d34691b3a38c99f34515156c3047371744b2933099e1ebbc645efd25339e7db9292e416543e41326463da33415b507133e6fad212cdbc5a9cc273b2da24d2a74126d4a0051d2726bcc4befab921596316e8ed7fa729213f2c8ad49045994fd48ee17b2b753562a1e51c3c5ff6b3ad91082cbea096a12e56ce25e65e51c95372e6108d39e6ba62cfb44fd94f4dbdb3159fc7f62c298a971c292bcabbb893375b4e628bab48123dd7755e9d70215385356b93312a1e376fa95832adfdcc65f88f858a6d3ba8d97ab04a410c8944c6d83186183b5650e314cecaa8092567f58dac4387951f3a4a083a0045a8610a4dbcbec9d83ce9ed97c231f92bc6c5e5ea24270ce5b1636b9082bbd4d29c2b2fd564a3d0bb5ceee3096f166e5168f56efe9b335fc96528c8fa6acfa8bbb7b7422291173818fa850f1784d1811aa0a8535566d1e8165c4a3e7107cf1e27e6a9181fe389be3a6e924aee9ce313d4e884969bde1e3c5c831379da582d519d5b24131289eca8b109f462f84cd5124273d384f9f265cfba271d34890fefb1881a99c0d2afeeffbb56821a98a045d3c2496dc1f3ac219108bb0c7c04352e7130d18f97e4431250c31267b8cf8d16ef7117aa041e2be6ded790a2ed53621364bbd23e62a3f24990d134ea668665d24e12971893f495243b12e7d427252bcd163d2924bc9025fb657397be53e311664c629f9e703a024fedbf8ccfd1fc46a8eb6133bf57f87c272120e0a18148248c2f6a302249bee4aa7ca1653a3516a187fbba9835a688c44cf15352f62561438920358f7648b1b33d17119f54728daa7f62597f087467fde4ec2c7962de10e678b53552e135af590874db9378c29e24f9c71042db3cb192cbb8c93118f243c70cdc023a5ca018c0418d41984375cef1dbafcab282f84734b53e4b3dc65c207653af7c69cef3ee76841a80c867774ad2e4dc314efef086f93eeba86bf8e14cf7a029f27343a76af421cdfba924cde77cdf2191081f1ca99eb99872d8b387ee60408d3dbc49bc3c39fafefabb2aa0861e94f99ce9049f4fa2694222913cb83a35bd27ba972489219108026ae0c10d89cfb51d9ac2cb3b5872b5fa6d874fcd135f811d8e965ea2e79839b6a760ec0f31da0535ea50acf45be49446db488742bd4f9e3bb904ad8b6bcc2131cd645fce86b7db5b0ed905d16831fbfd84797c1107dcaee2491b54525d0307ed225bddc22baab437f0922627b97454fe76371827bbd70683976cc59a3e44878fd780216ab0c1ea4c5135ba6949d95bc3177faee47cc29bb8b31aea9ce4fc2863d24e5ed2b09724fd8688accad0d040a46716d5b83f8f256730c6bb54316bcc9c84c90cc6f3944d6634d724bf0ce99fe712733b321c545a43c809d2b7fb18b8d0255dcc228544222d6031c0d8718116b0186088a192c2ea6e7ccde448c48b1a6140a23e98275d13970e0cdcd9fc5d94e90b76c9f1f3874dba7dd60b7fcca993d15d17dceecc6d26e9994a8a0bc59c5258768dd46eca167e936b43f575c56a929048040c30be086107d4d08241ab33c94956bb2446a0461692b9cc296526b9cf69851a5868cd2d93e69224397c382412d9a1811a57302649537c33615c7e400d2b201bca72aa944322119d408d2a3cb699e298d89f552f5cd0801a5428cfa41c37766c8f9e45c1074cd0c5046a4cc14e96730926e6b8b6a11412b9eafe78499093d22874b2a1a74b2cb124f7ccc0870bc280000f0de8681e5f5840870e16d48042a9d39ab0dae1f6f31394752dd937a66861e2126a3861ed4bd39b4ab2586a37c14fd192d86abe0c2e8f1e3f1ec03598607a08fdf06262e77248245263098657cea1edb25fd3f15642e57355a516935c37f3f82204359290959c39da5dee95b948b03633a677cdd636ff085bdda559fa2a2412c9430d23b09dfef2ea575c934b8a80a51253cdc43639d625a48782d1a31235886067b8f8f764925042a2c610ec9dee542977d7774dd410c2b1dc939c3fe73dbefde1822094fbbaaad2496e314f8a5003087a49294f72cf66c01d5047d4f8019b13a29a7ead24cb7c7089f5317e9f2458be1e1289ccc05bb0030cd53076b84031e0020de304357a70db7b68dc549ab55e1e9467354c6e90ecf1fca9b18335c7f48a36a2b1a35643074a8564fc6823e95187442224a0910bd3457e587cad48d94378d0c04556c9ccdd3a0f89445040e316ac095d29abb9ee8104d0b0459e65613e54da147b69008d5af8d116fd6c3b7d54747e2c80062daeca72428ba654926db330dc7274935b7bf4a02cca1b7ea67f63dfe65854e2054d725af510a5c2623fbf2489959ae572f30a3ef5de6577de4a3bd170052689927a626eaef699462b2849d60d4be2acb8f4345851264978b5b88b494a393456b1a45eba4bfe9ea71d55d83f357799b77e36968ac2b724134e8cd9f3c5a0e25cea9f69366b9a389e81c6295c4bd173ba079bda1453144bb6bc3184fe8f654b417d7bd0136de762f248c16a6e8b6e732d0f7114f727f9b2563fe5501f5150829b558b9ba130d735df499280e2758dba36e9c55cde214647225ed0f88416be3d07cbb9735cd7139af0ea25e6e7a0b76d273a9f954ed1bdea46e444de75498e49cc39d68436518ea8ccf89684f00e35715ab56cd9bdaccd4c32d1bcca76061b75ef0f137a6fc852bbec251223ae840b31b197c43fd0b0c425ea9ff86f7242c7053f7840804625ee64bed39aa5c4aef01a6850c2ac9141d62ca6104f7a81c6246cabdcd0bb8fe12d1d128984808624f22cd1354776a6349a32d088049b222aa68992dddfc5d8d1c5188ea00189ef936dc9268e76baf41188c787cbf832c1aee38866ee3b6d32965c7f35e29c9f3b895192b76232c23e8b559bb23ef2f2456c62fca022ffeab579451cde35bc465673cca932d04844972e95c5cb56627644143fd5e6b375f85c1e28d0384462ccf56977334fde584824d28386214a5a266ae7a9ce55a251086fef5ec56f4d12f21563053e7e88b1830621f6b9d89439659d726a109fdc616f5c3f42831b1289b4a7808620fceed471ea1973e71512897841231087cd54392ca5c9675e482432011a80f033599ae666cb21de30d0f8c329fbc8c7769547a784442225a0e187454c734cff2564b7a50fa469707575adfca946030d3e2478f2cb709ed24caaf7e0856692e2058ba525a407d6377d6c5c4a9b7bc9c31fed52fcb55859b5040f9cc69b4c96357c47bc83b57959af7da13166ed70befd9c6c357bc9515387de24498c2f1b8a81061d9ecd9942cddfa792cd11d098c3239129798ed147831d1289c821e9cda4c4313dd14e12d20500ba40230ee4df7ac98ba624440b87636cb31c2f6aba31c13798e13ec5b44fd94a8e71833396df64af394f52df86d2ace866aa0d1bb450ebb399ffc493fc1a0ef749cc493ce765b96aa03f979a5d95aadf9786d44b74f32c86863aeca68e9a548ad99ca178d97ea7366bcc996660c66f2a8e5f5efea50ce5b9fe9473b2842fa12bd0204393e2993de7f4e2e9640c4926a8c9d7dbf3c123051a6238f3b56f92524ae99b61e036a690b1edc64fb0c0e0564c794fca27299d5f40439c9e241d4a4e937a81b8d0957ccb63f49d64a0d10535abc70ae9314bb88b0b9b8749dea6d9cc64770bc79ba4f9a44b9a2caa5ab0c4246bd9ce96245f2a0ba7dfa998379956f4245858bea4b0be25a57d8faf707c7ccf486cde696e856b6ce752a5126d34ad82f9757f926cfd6f71a7c2712e5325c598aa2f9dc249fdd224cb9ec24e296ca268d588debdcd1b8542de348b79ccd1a424141ea95c8269ec50a99327e43919634813aefbf44fbfbc5640f8c009a649536e263c63aa40f6704959a29a46938c7b038008207ab042de5e8f4992072f33864b4b26121e7c00081e180de672b17782784c0f2f7a00c0082077c863db9f589a78233e881db4f5acc9f1332b93bb9000481d924f936eca3127102074b0a5426b5d6de6c43307bf2cca993412b67193031fe5592219f139477178f5e385f5367d4f171038f0b1fa2ee77cb09b8d0ff7c00440de901c9ea35bb23f5b6b103730e931e6269793692d03206dd0537974ab158f5a1d182e18e3478f0780b0213189196d54afc43875f3700f34c81a96cd55739d9f32eb0351c3bed96ed62d446d6fd2906ff0ced9d3f23fa32068481a8d1dd1f32964fb2162f8e041812e360072867c3e724eb2de8f519a814a766a62f2be0c5c0e9563fc435a548d0f1032f49e33c5f579ac0c86ba8f1e3b5a00c68f8d4456c0e38b069400640c6d9b549f983e75cc3304440c49efdfd1d51d48183c59b3ff366e3cd6f7f1030363b88f178080e1f29cc54ed092374ddeb101902f30be9b276dce23d5aa1732b93fd1bc2a343b18e2458fa181098074012fc1b2d6f865e6efbf430c1f3bdc237001102e989d62f031d90da97d0540b660a6defff4572959ce75d1c37be8176030c04a1f40b450ccd1d8aa94dbc4435d7880032059b093ffc66a8b39a51808160e6e6d69aebab3f9240c902b28274ea7fac90401628575e3e7fd0b9b012055c893fcb92db5369c1ac68f1efba347247240a860f76df2bf7c6eab7b4824920790297049d63fe12f0a8944bc2004881438d54a57157f3def42229128fca12a9d5c75329626102828a9a173e99af2091f9027dc639bbbea499262c5214e380963317e85cdaac6204d3009bb394c12b3a7cd08c2846c56ac2c4fdcc60c016409d98fb42713d3d467e800102510bbe95ff5b33f253c409250cedd7217139517f3482874a694fe259ba81185442233f82f8e70e59bdd4a255fb6f1315c1001102318e6d9ab6cb3a7a7bf88441a005204b74f14b394755b410a80102139a544c3e5dace52210019c2414dee98b524513ebd2f0011c2b1e335ee68262412e9b100902018edb104cdd564c9e2098000418b2558a8b02578d405f203c3ab665b08332412d1e1630c0f611f8a011d5dec004020407c9078096b73c15adc62901e1cdf73ca995dbf7b16101ed06d5937785c7eaed4001d0ce882c7171ae20030407640a8c7cd71f15493180d89447af44800880ed294c3eb82864fa51761f0089a877bc00016b8910b6d37099792d4aac9323770e1e99647a796f3ac036edc22d1a3f44f585f92c48b2d908ba153b6766a91546ce525d3b4a1eb62013768817707b0d4d36576538b3eba056eccc2dc1d172726f93fe80603376451af096adf9be3987d811bb1e055a565f3b424db23911d56b8010b4cbc0bf3e2b5959ad2831bafd8e76d3e77d8506751bbe18ac6fdfc2e8787ad9443bcf0c2015df410c1007ae800baa0c18d5664655b619b82899d496eb082914b4963e546e9241912c60ea71baba852fa9acc8c6f9de8850f6ea8a23271e327dbbd347f8d1189787123158ee55e38ab288d291ec2811ba83026f163b0cf8aff37dd3845c2ffdca6941c3cddc714644613d7d5ac53b52c4592d049d3e62c13274e48d1df78f42b774f41f3517cf7b5d99fe38489258acb54766cfb24294b17b8118a732c8b25a52e71bc1ba048f28f0a73f271b45f25dcf8449f72ce1c34ec5f8e960e1f6280e18143dcf0c459c44349e9761e99dfe80427f2b953bccbffed3bdce0c43532e95ed9e4fc6c12373681c5fcd94b766d95ce3481e85fd65c95cf6bc3993059f28f697f4ddc1863a28de9475376efcb66121289ece82f2eb1e5d8121f9790ce292db861093c5e8eb93877252ef16abbbc35df49a19048248c1b944875ad2c6645bc62ee118988e0c624922d6d5f6e2fa162ce4a42f5de0ddb98b6c53e3722a146871635393fce8a3b7888f10524d411bbab243fbc13371ea16cb7a5183a1abcc41da1874f894b3179daf4469061152a254ebddf0923d2ce7d3bcd2755e694459c2c5aba54a13ce2348ab0735445856effa60d18ca43033a3ed0c58d44b02726e9939df779d2f206221cb9d859925411266677dce0c621ac77f5a4b6f2d9b93384f2dee51a54c367140b5199bd67668a09715c6bcc9ab4a4d492121289ecb831883d8e7825e13769872e888472cbee94662030bfe9f9b0265d30a91b80c04b8c29b9a9f5873e254f9bffe81e53e970c30f76c5245a3719cc4f4c4848246ef4e18f4b7ad5dba1a13337f850cbe717ef6b0fb4e6f9fc48133da0efc92cc9967dfde37928f8e63faf93882dc103522deb6e7bf2d6e13b60161a3bc9bbbfa3a71dcc1edd6d342e432f8d410f2f5ca031f0000f0d18a0745001baf81b75c0a6c434fcccc72c1b128958e0061d8cc9f61addef0bd18744223b2e70630ebc09ee97b1b9a93596871b72e83aa794d74765cd240ed949c9727828a1525a6220c68e31c4d801072deafce737ff96094322911d62f48d3794c34ae5a5d70da674f420d2267c2cb13620b622166a9dc127bbc1864cd2f2f09d37474875630d685f9ba8490aa349dc84442250b8a106552b09f12da7f6b9345c29e524b196d1452f34e0ef2525d15338b713dfc38d333055c2bf09be51ed1b66300962993326e9d4ac2f433995ce772477c35364e0929db0755329a7f08ca190c144a9f8606be28b01f5cdd2bbad6f99f9309ca2e7389637aae2a11b60f072c88b13a7920925f8e3c617fe8f7d276e49d15c3e918817ed85ccf53524bb552f0975e193a80bef3935b1b51b5cf862cc6c298c5e6edcb7b08f8e09e275f1d6ea35dcd042e172670a729fb25e3a0b9d585bc9726235b88185ca663da4849c7c39c91568b14a62384daff79015f89b4f524e6187dca882d69bc1e4a4e30d2a1c6f32a7345de29b588644222e0803040ed031861861f008ba68018f2f3c10068f800937a6d0a44447493e6e27c94ae1248fea4bf4bb661a85ec4d32e63239a37a37a0e05adfe5b05e29fb27f0761a71264713ef741e62ec40c00d279cddff6e737d825ba70d379a70e53a415b734a927266e02d50c10d2624c77ad9ff12c6b5f325707d1a9b99eff2bb44095e7f4acde9773eea9284e2840f7e3aa6abd521e1941dee525662ce9a6f1ca1a83ff5b13332c5681ac1ace12c46cdac7ae1dd288257b1fd7a3665793644c863ce9a72099f21f8ea39532567cee5dc0d21985334e54ab93f572a3782506b38318bfae506106c293fa14cc513dcf841b97fe371ef53146ff8a08d1a27b45a6992cb85442244b8d1834cb41293540c7960ed94d56cf4984ae23dd4053bdc87183c6eecc09c32af4f7ed8c598ddd0c169562da59c27a9fa422291f7316ce4e2f41bde4ea7e42063c145ad593da5e46953b47c08047a88b181101f5f880005366e51dfbb5fdc49b360574824c2041bb6e8ae838565687a5fb5303749f77ac893928768f189e9f245cdfb73ff593c163a054f6bfffd1b59a81d234e9acd96af662c12f65d5335a50f7e26b070b793f0b79ade44115fc1a6c9f162584f9a5cb9e2cad152ba75d4c9516f05e9ad193768dac45cac30491a3561d3412b94ab78b7abb2597cd254be2af6cd71d7b1446c534a2af2dc14c5d3e7c45e454576735d52a8512fc9a2061ba7703b7547d6c7589772a6f82c499a637dfefa464b91942dfa9ba8e93a7c22451e27ba792ff6c9971b4592dee14dc83199b4455112beda72903f14566fd099bd8b27e613146d45bf79cffc681ffb44de161dfc5deae2643d8197943ed676eb297a27d6debaf8e137694c394e38d7a9e437f12e65dc36518a97bec364c488b99a308bdca457922e999ccb04deb627e4e71d13df49ee59b3c6624aeb124fab7cee9f0795f32c61d8f3519f4ea732752550fb4b52fafa946e7e4a98c2947cfbaeb3e92c9328a98ca5a69cca2d3549b4b129569324261245b7ac614b734818554d92546ed3c4ca3fc27cd9ac9a1a3448c51184491226d888e3693ce1f32ee6cb124624dce50c4fd96421a38b404c3298c9ef61ec2ad85004a17993d451e9a3c42911e75eca27aac152860f11ce78e61fcd171729e921c60622911e14d811081b87d8d2acc599f03fb5ef8e1dde020da310360c51c6c9a92a678ff17f214e7bf26fb897f0272121acbc1d3c75be2959be4154d5eb69e626825037667a5d068fea7820fa89be68194c0ced511b8038baaaaf7773a95f6fe30f74a7655c12566b53d00fa5b0492af79efbf0e7f54fa12f1f3a3f5bbfb8e96135b6b1077f4a6ced8e1e146ce8813bf1cc84b2de24e7850e2b3fa460230f67eb1c7d7e493c54ed91e725cc6edaefd0ddf5e45f4c8544223bc4f06187e4e8d158524cbb5bcb077480a0005d141b75b0ac2edf0713c7a2ff904804062dd8f1ea21b08017af7e011d21d061011d3e7e60201219c35b308686f1de016f31321089788bc1230064b04107fd422be89ce8a9c23e8763f624d3e474f9a249881c2e39574b1a35d7f95d400117f4884342b7095f417477dfb13f7a3405ba581b7048b0e89c392ae34f3b213f7aecb0f1063b7fca1ca3e9392f254487951f3b6cb8c1ff24c95bb9b673fdd20636e7640beff40ae98744223b7a0c8d810d36f496da738ec45d0a9a101fbe82353415d35c4573e3c6af062e6d4abcfd4a75d9a6214ba2d8c6cefa116ca0e1aced98543fe1f1e3cfa0e5023a1c8cfd020c30f47950c00005f0c20005d0e185010a20c309394af1dea4e5285b99be4f3aa083025df8e0f123c403fc450e5270ed5f21ab7334b56a1498c79e10b3e89497168551c7ae5ed62433942ec8118a3cad6e2b5e78b87ca0389a309b53cc9474f326c727141d134ed25df39d3c8727d8932cf7e6d01acecd1c9dc8545bf35626297ccb097e43654aad8b651d0be9a12126c726fc0b996da2844a134774ec5b89758e4ceca1df532dcc7f087b388fe1c3e4c0c461ef594349255c7abb23c7253261f2b376a334c7b025aed9fa4a1b4b25c55425ccd98cee793c091b1d4a6cf28495e8937525ad3926514ad972d464a331473f8724fcbd1c9ed2c9c5b35024b090dcfe2817378a9e03127bc7a7dc123b67fb931c8ff083c93b1532ce2431cfe188d63ddb3fce74d270e568c45e2dd1a949d7be348cf0c56d673fab36b6365b84f94cce7c5df717979243118868780cbdbd7a71cf9188932695c98fae1ce52407228ad0e96427899fe4d643a8f133723dd71c862032ee87cd6226afc785b83a7ff0cd8b61534784303eeb955f987ee8720c82babdbc0c276daa308720927d4b72e25b4a1f3539028187cd9534865eec90e50084c1d7fdedd369f687de349cd47d5fe507d477fe844f173bb524eac325d7fac613de1c7c70ae9366b4aaf7b0568ede29317fc56473e821ab92bf2b2ba794bdcb9187734d334234cd24ab72e001cbb197dc18e5b88376b182466f93e43c59480e3b6c9a4c7dcc64f2b7b3821c75504d4acf54dbb295413a94212be7126b5ccfcc39bc9a2eaf070dabf2e917e4908329a667734d280ea7cbbad525464f890a0ec945ed462df92dab6f485de37b564fb3958473b8814ac1fb2bcdaf5625c9d106efc7734c72b9ad7599830d091f738efa96e72aa7d7708e9ab12479931c6af89347ff6a99b5eb34471acc134b177af983ae9d030daa856af3fbcd514ece1978ed9461d69f1c66289f24db257dc67e92cb5186f26d28d944a3f76695830c6f260fbd9fbcdbcac750bc4ccbb6ae27a54973884195eb0c1acd35587e7284414fabbd6a17c4bca239c0c085762e51f23e839ce30b27c9a64a18e97c39dc39bce0656d25b39457eb345d48ace0c9dc04f5307a0140117270e124c5dea0ab21a43299630bad9566925e7ccee4640e2dd0f3199a6931a7363139b280474f9a2ee5dbf4f21c58a8a53f224e4c7ebd5f8e2b24050d9d356b2e269ac30a9bf8566d74362d2f47158a9529e593747fb61c54382ed36d63949b9d30c714c84aa13122e7d32a94430a99984acccf1a736d4339a2b094f0b9c48a18db8fe780c2795246b978e6b9d9cbf104a7f5e7fd35f47e76399c504e22b525d5e6b4f4c9d104fbe72e74eadff09f9a023a9290830957478f3997e54b483f63c81579dd6d3b8712925673b5e479caa5748e245c82c6d3ba18d7c72f940309599aceb06fb1afa435c711d0d2a4a1c428f539522364361b3da9f7f4be5f842e44686bbeca9be345043b433a2f9d94c1e41b42593db45bb2d3c56384504c76bfeb1125458b094261729d25f95866af02a1198b39fde1615f9d1f982e7b98143af441157a3f46bb5cbff97a901cada2a5e66d54cff1e09f8e6361e297709acfb103d6a7a3f9a5cc9a6c73e8804d133f7975492ebc0beb93774e4e5a3d2e544b25111aa3babc18b2030041c0718b365ec91b7cbf835bf2ca16685e2559d3a85471d72293eef36fbde58a85167b85ce2477c85a2f6b169aa6fb4bfe39dfa6ac2cfc18bbd4eb27c524d84ec0110b62f4d355be5b5a95c00237a13a9e38255ec9bd429f8b574133fccafa1be07005f9f9ef4df6e667a6563cea51ed9d2e06cd1c562c1ee357caffaae1ef556096c48a7171f7267755dc119ed36b4f64ac3f157896f4525529442da61de0408526266aff1b2594589fa2785ff539e5bb969529d03561bb2ce594824ba528f5ec6ca4e39048a479fcd801021ca460adc41fbdce66e31b1ee018855f5e3b775549e63e1be0108579310919a24a233d1a034728d88fafefb157d767f7ded183033840e1064f5266ca9c255f924f6472ac0d953e79f3567c8ca11bf044694bda12629379444831c0d1897b53d274be343e4c1c9c30ec873ce94f924c2831383691873fd95f5e5b2c479a28c5bee9fcfee7363d073832d10979a627ebe377c104a369396779f08cb1ba4442e7a71c4baa259282a6ac8ba467b58fe3a804d5532987b10d33e9a544f2ca7766adb5f59a2671cfd7a7fc15ba4d651c92284ca8bf707d693213892421be764b169f4c999048c48b14e08044a1324f99fcf14764969ebf9394792e96668ee84adaac8d9ffd3eac558d50f73b99fcb12562c4c16dae3a899f45c42dc0b108fa83b4989aa58a6d437028a298e4189dd3c358c8b459228c96d9ec4fca9a4b711522c898fc3de7b4e8b83f8e43644992b3fec7bd7ee78638c423b65e263c645808654aeaae10d9f94c9010b5c845aa079d9cbb0ca27579137d26c3a63d1184bbf3e92d4ace36af36014720eca8ff159dd492d4a6030f9840173800817c12ed33fa6285fffca1f69cb35c89493f68631d3265a9b4d8b90fd45e785efb3fad133e7052628bbc9a68d1337be06f5bad5a4cbe80430fd45ef019a9b591dc2280230f7e4a26b36d5da5d9d203071eac50116f2f41427c25018e3be87df1364ce67872e976c0a26dbd5ee688f75a07d3c68eb9e42c5ffe13071d4ef6257e1293c66ce287630e879a9284b293557fbc07741182430e7cb0e8917e1523d238a0ef49dc601e3ba7bb38e0d066499553296f985670bce164b2fb9f60a28630131c6ea092acf162992558d66d30cee5782e31e4965d6cc0cca253b093d660f696948cd7aae11c3de5e5ad2a8f391768000a38d25025a92dc5960a1a6c379d0dfff2767e9dc1548d3e2698e78ec5bb681c662833f5e610cf15254d65386b74b4a5c7becb3938c8807c5cd41cba0a028e31bc95f573c6c57088814f1d73f27a66971da580230c684bab863c512c6704030718aa36e9b0b9634f4ad5051c5fd0242fc9d3525a39b9c7e1054bda8b7971e11838ba909e2489fa11dfe3d971000e2e282a617ef12fe3740ec716d61253a79cedec73c3a18567beed3f537064413f0def95162ac6322c18bd6297ee8638aec05977cb9658c289270e2bb07216d6613b7e2e8fa30a589f6d704b8238a8f059fc119fcb68e269704ce112f23cc9aab9a4249be090829dc55bb74fdab6ec714441cfe81b673b738892c70105fff34abcb746df18c713484ba1e29e7c3217220e276cb15535b34c1c4d48d010abaaca25e6dce1608239dd89668a1d3933e35882f1d54e742f06871292724ed2c947edceaec1918436078d97cd9de61bc28184afd3d5660aff1192bbd5b4f762dd55dc08969484cb1d534a711a2cc29fd7522ef760715922f872a21933587c8063086b4e9b1acba289993a21e8ebe974bd4c1c413865e534493dd86eb4388090b09fea1fde31a5351c3f3827393157c583be0671f8c053af24dbe7f9adc770f4c0d66c9fd30972351bc6c1833785e7f7ab75395971ec20ffb95a933fa57d9282430785e5ba93f592d4e44a2e92be2ecb496a9d9b695ce83167ddc9939fa0f92d881234469750b9ff2bb630ba529a6644b5503f2a4c9223b65b43450bf244cebf437ea36e6800320bcf36b4b8a5d50d20b2386f7b92a3a51d0b324c0927eda4ba5b0a16e6f87d31646cd499fa15e72a394dee4cc20510573cf6175235e7d0999d569895b571264dafc22606105638fe765a3fe3ab1f0603c82a0e26c6bb1c91b71aa370005105269de41897acb53a04928a53faae6a8ddc0e20a8c8a48f327f49d6d1957a809ce2dc4d0f21f225d4554e0031057f49377dce39b77d2c052fbbdfb51add793b348090a2eae429c59c989aac330a32424c7fcb372dc74044d1f4a694428fee4acda148b65ca94a9fc366645098927af630512f67ff3ee184dade86793dcfd213e44fa998a7b8a9a4ea045e321decbe435f453e00e1449285ee8e292dfde77613f96d07359188e69b309fe5a4a0c94493536163eb6525298c0933772e973d49cc291a13402e616c3b8d39aecbabf42096e8d7fb626d4b58e5a91287b0ee2019c6a3933c00a1041a4bd2248b9a255b1d6412c8588649b29b49173e8824923d4da2cfc949ca662438b7b49e2e850da02bf00c146015209048b8f8ce39486b79a9490079445b6f29674c9923fcdc26796fa29758b18f31c4e801d208436cf997eb4fa6ec32c20c17fcf2673d4d3ff901b288ad2c49c2794a3b99774534e11ebe9324df25db12a16fdafa2793537ad37cf050d6107c000411de754e27eb7d0e71ea5fddfd1c54f2c4182231a5fd09bfcfc1629fc1181f48004821acd934ea91a7a2610342083efdd8e76c29208358eca4ff8dbf59d9532488c54a3f94dcef96e007c2d42967e51883466789c3000c31420002887354c69079724dbef502207f58f3a6f8f53158d00a3b881f0ed926e5faf77c277541fa40f8168d4aa8645143c148180c04426150180c0083e62e6d00b31208003044221048e40189a64c6b07140000452e1e62422c201e1414161a1a8a06a26028141006036140280c0a8502a17030342a8d85481e57198d136f8b1e99426cea497076b0ffa5fd1106a6d2e0e7ab61a45822ca887470608472433dd33bd585e16ea1a67bcd3a31a189e6a9da6f5500d3562196984d50529f620ac0c6632b8c025b9418a5c47bbe9b9159c755c7342b830e11bdd1c942f377354334750b78885192554e9c28854ef0887103286263cdc263bc03c850a3076acdb44709d8b07ea30f434b07ce272d80353998c4ab3ab413c7add95aa1d73f7d9faf26127c008986e712f203c4ce5e103a25c1a9ce763d5f00eb388c15b131860e093292b29304fe81350cc425b427447a450c2c5796bd3f7bf00887355da6e06b5630e088ab8d0a6a1fd56cf10787899a368c087b0702658f0edf11b82a826a3231e25e9a0b585de3a46cb194051c502e0482a785b9c004441d19841901a218386d2aa4317c6d0eacc49b9c1d4fe46d27ca8aa92b5b1e6f25e2e4286644bafd0936e8d31522565c76a7f155402685708ea265f6b4d650b59f8f68e2ad32c5253865b6afa1076b84247aedaddc578993571df2400472cf0717af2f833e4b5c726abf17588b9f21422a72f482e702ad7919a94228d733a3792433c7865e49dfa038d9d6fad4b135462b6ee57d24ee05105c56c5d9175964df62268fed23460a9ced9beee8b85b990e8ed732b6e122287b391927fac395c999d64dc0c4b0b33c0b1f2a3302607a008d940169b4cdff8d02af152e2aa8abd0ad0273f8a8a98f84c1717d76b875ec804c0a2049d0496a010c5c38a3e3b0d55b19c6b0a5de450a0b41113fa59ae43fc81faf27cf5157746d5b906b6aeb19b7c209e816c2b551cb63a72aac3712dfc381f19df514eb457fb8f6563ff2d27b1ca9ccacd273b4fab67e786129364a390708a0626ff98ac6f28f113389d55383573a1e2e101586be17ab3c27aaf51433d11fd11c48180807973ba9950f05b823cd497e2d72e348bc2e72f3660ae544469a9a5d972c94ea17a5069c12a69bdc091143e8f003b1d3ad31c3b24f4a9f5d8e3231b84ea005c1f1d4e6a94b35c27c0b06e83b86f2bde9582e53dc32907b715b7a6b57c6dfcfdae333ce9a3dc4ecc5a1984df3d370770e161f97f4ecea340597e01211f048bc659c0af2476c1e4e2abef6037cda7a91de898fd4c0bc1c9d2cfbdd36ac0c19e2d7018e539e4deafec52a01b13aec13437dc3b2ded7c8c6d9bd0755b513d15b31e8b36476e263046fa12ef8e09e4b42681c65f54f6a22dfb1425582c6e722418dd48b2d7635f00749ff823b57a1dbc56f12d67c44e6c2040467be3d260bae8e77a45e68f1dcc10834655902f409f8fd209f016de5f2f2545fcba6087efc9fe4de0f62c42d69b91ec733ba46cb803299c6a5b5794eb9a412f6b1fa36ae9608cc62beba0fdc0d3d655fb8153637260ea51bc2898282bd7e4c9851b58a9b877575f7bfe3ce1f049c52cde30045e616516a5b8ad34a644a1e541365618fd74e141aa89c1d27d1ec0a5bfc6205b41ea1d9358a7cf1a73be517b75e34297b1736fc55f52cade2c64f403d304158a3258f083e97c6eb5d2bd5d37d65fe1f1f41d2d405d68a2e9a6cdcae9f743ccf6827c22490ea0972203a703101e89cc40cc490e4e074326260969215d1fed0fb65c0d93de5cfbe96668900267e29ba1b43c4884d12bc8ac0789fa0487d6956a783e70afd35b6c9345714b3f61f516b7e867e6df0b416cf07c042b392862c71d935fd4ec41df33a1148bdb2d1f0808e2cf26a3212ed0ba9e43b750f937c8fc65c012e35c5811cb940544792d51c91aa60552ff685b2b24b7e6a846dab0f6b2a0b37500871092ffedfbaa143146499bedf860ee04d4959c4d0e93741fae746bb01a8acdebe14b7931fc1ec573e377eed40c0e3049a7234883e416104c5f2a6d4a90384a3edd4f347addf7e7f04ebccfee4b0b1932dde7397e04834409496e87c5f09d6a61ac057a50af6c958ae096d66c3b4e0f06fd4df039e5855a4fd1dd8f699f8e2d0c8602a06be731b500cca1cce47c9ec94e023abec157ccb786a19473aaa16ea69094495bbdede75c05927fdf8a82b2129c78f12b74a8ccca54ff5f5e5677bc4238131d4d7944b63216fc091f45e1660a9d088d457314af44d55a9a30b7c2a5594d89e698f251a48d59785fc6168c3a0687721b9535fc5ebf13a653310b1fa22bacde36b67c696be2d002cd4cd5cf39c05755f682d4eb8d9cd01d3beeab096d0a7a254780574135dcba2c8e4d9e205c37e682d36bdf02a0a6bcc91fa92758a055b4bfe068857804c62d71a3426fa815ec901d54ac41913eb15c0d3a557ed4a14886af42be2b7fa221ab56e957c3ac1956dd89420629afd0fcd29401cb50af038a33541a127f3908c5a0a0ad60e9bc7739d415cd78ff373ecc981aea08cb16a1ea905f3f247249edd8d61f19a609772b10d6358b447d967101b76d393dfd90d3d83a3420a04bd1b0e598bebe090e2bdb6ac66452decd623087a4e20b951db09efca1a0d4f4127ecf715dcce245d61a4cf5acaf5b52ec0159c69a7270144bcf8f42e982c9d2d00c0ad92171d84f0d9b1357f8aba4e8688056444989183148ccda221ee9c47a4309825cc7a5359c1b364d63f8bdd331f9019858a56f10f16ca3246240e0a9c50630ae12c328142ae7ce52b8c660cbf5070de15c81f01906adb0cd478df215b9aa1ce05cee72e2a53211994c917eb264c1049b901d7b4d01ce31bbfe4e468bc8ea6264d2b8071c65d50533111e56947ccd58020637d8be89d5ab042812ba64242bc72748ee95b8d3813cf328be445983973b3d217b71871f94c414084b34b03e594226bd49fd3689cc09b540e44842474bd0193316811814c9c10c45d7605afc48f335d273413873c2bb876246ed7b76b8ccb005e326894b8f017484d5b06069bfaf630be6099b03d28274188eba660718b80292637fb29abdc4d6c22918582d116a9ed424bb2bba19cc17c888c4b5d9af498145301351dd933a07d553a40def3b1a685a73ec210f2498ef50c5caf19cdf9a1203ed81a7c965f9b0817fd5af3ae258b86b879690018f10aa6e7e7da22d4140cc2865a0ff096067a3c3745f28310856ea510ca2d749293c813d761c4c243a0dce50017bbd60d026c2bb740cf87cc2cbd1970424cfda774e36c22da7ec9845e2bf20563246cba521cc1c62a9b0d0159e80ce4602f152b0315fe5848528d25bd3f72567e36e4025cb2e6a28540d63c6d9f31b3130445e319d3fde42807a5b80e721700a99ed439d13b143ac7e6d2f995e1523748a90759b44904734c3a77d14c9acac948dca4688bb2441b4e11e6220b62734119a1263d1ab1f17df1929e07969bc92b53a57608474686913315a4722b5d8ae8a718d436a78d62745746d9d3f034f1c80cbe8c43b3e079e14301a16faa31ae9510094e620412f5a57323f55d4d9e66507c5c81bd4eb718b15fd123f3d83da820ff3511334c9da0be4cf209bf4328c361c34e2baba074bf20f586b8f0d648991bda0e3f5b6462dcf32ea624c65500f2934c82d5ed3f0f14fa5685112934c81cab7a603691038a8fb13ea55a19b51cf2a5be7e1a43ada2fc181f5f9d7f834c171f915f683898297ee054331f270a633318bf739f7a7c9ee6c9b806bf5f494a4b8b3b26481c303a600bcc208c40edb9366d46a7cac11c0b6c75db4a0b4330b6242047cbbdf3de21b8897dbab29cfa24b236ad026b262a08bba1df378f3bca33260b9ff858d85be93ff182512b60cbe17b936c6c6632ad0ff0cf1c642b5512f5a912e0bbfd711d810792ef7f49c2f7e94d3431cd0e73745f40907bd9813a26ca3846d3181cda48638e9ac2f792409d4889a6f03369d4e7cec603352b3de9a449bede21cca5ce7a6361cb2d4ee70ff88d24c21b30b9f6dc4165be2297b1ef023e1673c0e76b4150ebe80d7645ec43fa7383fefbd96d1cd9717304b1ebe089c2bd89f444bcb491edf09a247f977562df770dcb80558a73cae98a6290448e9fb49fa60a5a5114f4d755015f158d9f1fb4c03fb62b80bdefaaeb71ae1167f6f1cabc3373ad5782cf5214e91953d2b6032b0171d1bc303efd23b6e6bef8baa46a71a132192b5e1ba04e92289d2157584c588ff19b8eb18b6548d7624ea4a0972e25f840002bf80da75b1c6a701d4b861ff0cae0b6063ef42fa693da938a066c751b47235951e23d3e7664a07a56dd993a8648fb229c1db4c30940900d148227461c15f84d22335f43d139f4920f310408a576d4d96a57af704db9e92c1c9f1f75361407743cfa98f53f3f54519c2aa31e29d8df3e42f3b4f4ce5cf7be519a9d6d3be5bc6dc895f74ab84454d04dfb5b2fdeda9be2df9197b60ebf1d211c7fa21c1cc5594312e747ae957c210bcffac767ae21903a28ff1796af71c5c34fe6f47566f30dd01b04931e4a7029a96e71276ae6cb5582fbf45ee89eb1eda6361f39d614a27085289142b640cecd47bd12d78c005e2a94dab91c60d0146c6cebe431453500fe48b785869e309602e5c826a747a3bad2b6941661e244cbfcbfa830ba403f1aa6a1a548fc206f4bc4faa374ef2281f74e8ed64e17ac3c27420aa6656cade8098c32eb3e2cfbe31d206e741fc00d73a173166a708b11f1ced3556813065bd6db4b2d374ca0406504af87d7b35532b17b075d7ae1cf2b78b618563ae02247c3fb4af58df9de8d19ada8da0b31e10fc6a98038cb6167e0e04128319de0e47ca2f9ead70f989aa6a2d60520b12565d82f5fb5f22c4e205619db212753ad1a3a5fbd5a920d4ead293a4bf0a69ca75a8fb34651bf03f723a93f657f018c08f80a506fc005cb002dd148a6a6ea08962850d7759fa0aad0f1058647bab3c240d69444385bb101b926bdeb103c9ad5421358a1331cbe645d512551844def6851518022d312c40a963da2cb369df53323102543191c55c41a95521331d525e7101bd3eecc8e6944db56456f40a38b4d81b3a6b6be4ce03cf7577650fe2bdaf5e59345195c67d9bb2b64ee2f466fa494f325e2995154b0a6506d2aa03e5737905b9bbee373abd48e99ec15a7caf908e7f709c10cf23685d0fa49873c9cb959e6464876cf1688fd1f3295732eb7eb98bbdc326fd95a2233598f58dbb90fcb15beb4c369de6a9688228ab4ac9d5e91882d917b014f71b3b2ecdeb12cf8a13db97ce4b0e4d54bd00d8f7804967ab1f8bf517b0d4bb7f198271502fe11bfc9f20ef5d8a350da9b51bf5b9889ea99e531cc17db10d1cf3ee87834232cc6c0278f8b754e05582041d7d708dd3d8bbca64d188d0dd76e32e788f9bf8aa80900fcd5fc946ba8001e2bec0a6da4988ca2a4093b84c7a2cc2520434d20f0760cfb3505a3c2d36cfde93c6e822d4d7c3eaf4f1bf415dfe6031d535eef57dd84dd6d7e289c55f081a214a5ddbc1a59ac46c1cf36d7e7b519debde6063ed068189c8b554dbc02ff1abecbfea381964c51e7af617ef4474583bc41d47a745277298c72b333bef4de7685eb56b9dd5cb2ef740c2c8d93339cb919b40d67e15293b0046587eb807cba645012385c51d00ebd01b5feaf8c3017fbefae361e8a993a8729d007e39b00300f99432348c3375d40b5549c5f89c96e479d291c0a332838a28adebf8af6997e7a357c4753d0d44dc15b3a2d91435b95c55e80a73f0690082a4a44a19d836a6be35ce57a07ddd9069daa20746224fe6bdf0415543a5ff54118f8719d91642751fe7aaac3018ff39d11f63cc24f797950737710a5c8100f3f037846afe2cda133be62af53f191bcde0467b0e01dc71551fa7692ceb3b4c13d443b7ef78b2af296ce43621ee444e4bd90b11bfed4b5c4e9a9be73ec05761e1053441d7b89d94c29de84a26bdf8c631f102d1b67fa9b5242887b91a3a171fbb9141f8a06842da07fdd8d293c2030edc0737d2e978afb70739ced1eb1e3f80bce15d7f2893f5f35848a506dd473a1cfa52b3bb88918cc65dfdbe425ab80022aa208fffb6ed8b6d8295d0fa2314112fc4b55616c44bce74a905c71d5fac7eae86fc03877997f58ce64acc8b5a86e5a81f9641366ba133d29107e455827f31dd6e3fa2311a93ae625fcd94212776837de92f483b490015f48393b2da9e9bfbcc66f67c44d6572ffe12257d4c4059f09301ab23bc4740b140bb791966dd241bef48adf57191e420346476e717395bb5f785b763de175ec24e1584c8a6773bdbba03a48a3037bbab229793b35e63c72482d7264c4c9f49c931e3c8c4a529fc4bed63358e08e869c8b6d01ede1b707270ef8409ed4c1406a50fad6f980b51c589a2ffcc896ba4e23333e7597b8c05430b66f53800807715882c7218571b7d097b52d029feb01a7202f7398dbf265bd4ddba278dc83aa9290d1c305850b76176d2fa4be70fea2d7055e2f3cb67c71ffa2dbc5da0b95be909e2fcaa2fea33a48e42e1ae6c5b98b9717d45f043c2c34cb4f7d4cb917bf2fae5eb07fd1e642fa85b317bd5fe0052fb8401b1f147381e642ea05e617652e88bf882b5f886ce42f45422dc0c7b5bbb3fc05be85709b011e148ea8c146858bed858508a7832307d9a8a335d18989fbdb066b57f5a52694246c04496c57de58848eb96698ae35d041c0de55f642ebec6e7a9347bc0d1898335b5ec8fb40f63bd6d78b7c2415f1b54806025a02f9ca07f0d8cbffdf241822563d08ab87716fe44dd306a255ab2cb9931ee9cd356e1dcc15a0af79d6b18a8e03323cc7ed75c8e929852816619586283c5bc0dc9ddd2bb45aa67334e01b288c9fad6c20f8ba6b94d93d5e0e77878e1f53c5ad6b140ac75123554d83ef291381b32525d6c2baa21b2651d0f21c18ae6c7febdd95e35295dfbe67c838558232f8dd7bab30b503c36c79320a55004246e03abbc10870170ddc29730f5e57cc70e105072e694ac536984dcd0256167cdb6a6cf018d3d3cde584a8bd718e63cd5c88fd28b30710455a44cbc3049e57671a9c798c6dc850d4b8b160827a2aced2119c122ee2b9742c8611c258f19c21a3d061b5af987e3ddd33c4515060cebe0943991692352f097f934f398f9facb8dba8f53ebc165545068403852ee316cbefae9bf1f301bfa1c21fda74bf1766422982c5e867f9ef9f8aec5547d423044f1389d0ad6ebdc97d9276945dd3edbc70b0a7dc884e48831e0efd7318bc721b8c4dfe41fbdcd902fd5f2afb6b9cd00681c5b3fbbaed4b80e10824033235d6f6af238c8fc6bf61401a55b417b29411bede63b118a9bfa25bd4fed67cee4760491ae8c99a89bd61e0b72027064e7302b6c022465397c074ed6aad9404ded08ce4a8d47bfd48ae2af7bb7750d93df01da3b2d684213ea690febda1d06b1ce2600e394612caed390e9f7eac9aa2a358af0066ba47e8016f2a677de5304d26ce742951f204373b4bc45a57c5450669eba886f707394e5352ba1c01b9375b10059087272d7db8f47c046a1be07ad23f3da8e3878aeb9b35d348582869ecc4330a65c308540a12176229ee31fb9e348150853b780c044336423c3cf0b2a9749004ab495e3fd944767b59e52b1d19b8778e6d4104ca796da07a4aac0e7408b32d0e3e84de1af11ea4a1f80323006864643fe1592af8345ac1c2a609c235c155f57e02b6c04d134a110190755356a3882ee54fb761fac96b44589b38c89ee653e161200401a0fd3ecc1e8446877808281a35a757dee90cfec739b937d3924ea7700171fd3df3c9581a3cb6551e35935b5455ce54010e40bb9432caf225ad333d0c2a6228fd0f3ce88863d002cba63e6ecafa57410c0364fab4f3436e87998580ef4fd04a1c98046cb1ffb7e54b1319c20db9a57b441766290720dcdb11197e211c29986bd0ffe7fe1b66423a6dd6d3399799e447d5a3d6fb1860be026ea135648b4832bf4bce965bb527638a598d48edc21ca6910cd541dd36732bad0d03298ad6e61658e05598bac03bab8a45199a05a7607b8155054a15f45dc0b980ca0599ec10081c1f58af22e2d3f674086af4e6a4f3678ba64d673c7489924f27c5610151faf292e9ae474edf6a47c28b4e979e7c9e7c13fafc2bf2705fad6c5b6c7e8ebc7d4798166be0bda306bd0e82af48e5bbb43e95ae7c64f928fbd4d0a71eb7a61014bf519a4a2559b596b4bec16d16c2b48dd6267b22b444c28b1e88721e1b0af595cdf360eabac79ef60ef3a950439c048bbac4629757846a6f0ba7ce2ccb8109b5d3526c0c13a891082bc5ad7ec85b6249e725348a939d2b2da68abf2b2bfabe936ca34ed75a11404d82a37d312dbb9d800efca12d4b178371a2256afbac27ce2c1bd44492dcb75356a0cd15c8e4c4c0b19e2b65928f3a764f06057ed0e1f4a9dc13b59b21cdb25174e5bc0bb977002fd3ea171f56e9f0995799f99e6965b2f0c6c2cb02e9a45023e14f9ed917326a818383feca64f0c7807fa5ed0971773bc0edcd251a56ab57ab7f804dd275b1bac0e0ac5e2b7a7ba6e8dae7349f94187614f1c27c83c519d9fd20bc46df197fe1dfbc6cd970c979676f670f9f00ebe19231f7cb8c253a3c03732ab5994978174b982dab6f21a27f19e32d8f57cbfdbb238f36c5b56cc83375cdbead6a66cb97a28d7ad9d495a07d779ade485189afbe5ddf952817e790c3ccd9f9f73f9854bcf400704816e5dc866496a6558a3cb84f66453e527c4012e0a4eb7087e72e2b14621a4e3fbfff9c0dd626571b91ce23ab17fcec50dba1914e6a10181216eb43730fd0fdeaef307cd26b078ffa5566cbcdedfe2564b9ed28e44d1f4d15fecb34cd12ca63bf5685878f63d6909b6e7fb73365db050177351936d66a80afa1f17c93d05848145308d2b60f97dc74e43a863a66bf3d9634c0cf22740a7adffe55f3f30c1232526428cbf06b46e70cac0f63c476cb9c493346482b833d2e3cbeef8e0c77e09bb1ddfab910ff9c0720bfcc0a5600b9cfc1326dd49a88082119a22321db548037e89646965d0c8836bd463d1453f63c2dea29670c7da729ebd40c7d334667a463c87ca960e84caf8532bab2cc1bb5a10c9a5de76621e88070b52d1108daa2934426240a43f3fa08ff8c5b1c71f49fa131070739a741e6f037b7b77f0d7a04e4aceff990df3c080ecef0101074eabe6c3379409dbbf68febe7a673818a8467958e3252a71366177a9f836dc2776816a9e90cc72172e911f3815f60aabc737be23a71e4ec73d7e86ddaaa4c4f139acb714405b748bcf680d36b018f41ae728c6ddbfbe18db049b8e805756674bddc4658573b286d8280933092d2f38c7fb42d382cdd6143aab4eb6dcf095e1f8aebd6dd94cab4d202532236f632100bcc224344e8d5d53fee5c5d6fb8fbe352176b432a6ca5ca29a2bbbb83f46ccf283a54b6766710866543843842ae850d83ffbc6a1fee6d97ab0f1cc2d836dbd7ae43f457d7a068c59346501770a7a78c5cbdefff4783c6f846b8559bdc99f405d320f74dc4b8665186e451105decb9bf8eb11691ad930386cba1276c5cd287c31eed7853fec50ce0e97908151c2492889a78ebb34c0e242142ebb2244f57f11fadca2ea5eb2d962fe5a7f51a669f79160e04035f80b5fbb59cd638520d033847a4cb8ace9ca0a334a81c0a416a1e0c3a7f20150595ad27e6060a3a90040e0eb40c31b92ea1b00b2eb9b3dd1d9a12d0bda6c4d17992b4989318e1c5f41c83ae98d79ba22f5264615e6c2b43e360999aa4ba5c3c80168e183df88f0d0ad6e1bdcb6a1128e5987d052cc0facfb13a3625ccf75fb0ffe2aa0d27c962c98888edae32f4a1d721d4398463d63407bf1d4a863195659e541dbd60f7df5d8615f0401f8cf151bfd0a973c31d7e06b4ad7f84bb2cf8dfeaa1d0ce57ba2217ba162c748f07e9584f161acec2a0020cfeb77a579d855dd86da6c378054fb7526d1eb0ced2834795ff02ad876488e2facd340f43a0586d7c331019b46acb14b2b7e0a59a44875c85cdaf835c18f14724bfc7fc1ee83d547acaf5c8236be18f11cad15aeddb066e173e6b1fc5748ceabac28b3a503b3dda7d30d6787148bde8c8b51b0713f44f30efb127285146f3389c56ea66f2c6ad861cdbfdd50f91cf69e8449ca511ea53e604c9c40ebf5dc80d85ba3cb2a311b4919ba3a83a87f8db439dcc5442087126b9a05aa09b437c05df8ec17ae3473d105cdbf0ea5af92c38016e3fbfc4b5ac361596e5920e896bc2845cbd7c1162b202813da4d283f9f47a3e4aeb526f2fb6902322e4623cc5c08da91cc3764c9b18d10ce615b9127fd89162403316143d4a19eca416ef0362ff1c6007fd4a191e0bab77c38007b51d494100020cab82d1d6c78c0558ac36535d86ee06f98d771b4a5f8d430906269436fcbcf165830a6d1ca2e61822243742dfe8b081b90dd261688c42bc28b3dc7a109f9acacde99164b9c5e044b0bff3ec9ab335c4af89b326e67e0802775e164435c99b30e61d8286d6d3dc08fa98640a0eac4ed3420815691436b638cd0ca0274907e27020c97a3517d4b1e48cab9238ad8836d3dcc98e29169e94d416f70f3927ad7a757b9a0a11cbf83e8b9f08683faa05a0b91551c681347b8c034064819312f24c72c8b219302a766938e10dd10ebaf0b3e113306a3869d0e7860edeaa8cec1a4820a4417ef4c8c2f23a45c8424ec2561336e8d1f386c4a6ba31704381faf89f477e323fcb0025ac7790576a568732fb8dd596f0432df2c1329dd9f7296f306c8168b1b7ee161081c00be4db411ab540bdeee50e8a23bf8e8be02bd86ab8b640e2429a05e50bfeca820cf175fb8f76818e85eb057517ba5040d540e902271fd8817e06cbd41e6634b7304d07a1f90512c5523800c0fe9befe3521b6adf86130d42c95c0db96b89e619ee30a6709c128f497883d6094e9d59dbbc5998255cb5be7ec9f25a54ec15ce9e362f4cd1176d14a54b707aa0f9aa901de2035f1fba3fa87af0de8387374f103045e0d635bf89a0a5e407985033816a02c909a1c08db5a790569144c736c61c50b1e7a9e780b60630482859385aa315fa1fb2ab10283960581062810e055e9820c35d11ce8fab20d3d7d17c1a465f2c4f2a9cfa97021fc47f4fff43f64c778d21788722908e00a6fe133b3fee403d99f993839fde3e304c6d9d8957d166517a29df53021dac4529e602bd9a25e4dff226544f3f0daf18a434c1c539acb61b6422d26d32faae4d937d36283bd1713e3a1d8d4e671ae635b3bc543ce79a02f14b3d15ec3e3e1fd7e5164b05fbb2ef1b5dfbd7303cd4b690492f62088fd10493f96fcd61e18795abb30d43b9457a91b4ff81dc905d5d5a45cd05381de9a11cfd4419f47b11b2c4edda2e7024b34ad7b2e66d671857f1348a6d1475043bbeba23e3df022e3a95a11cfbc3472599a8825cd923beb07861781e4a2cf3e06e3f2af6a3cc74c1c0232862e2f795c7e344923c684aa0e9ef1ecc80bb75356e6fa4095e3ba8b41e57d4c9910aae0065bc59a5f29e0e8aed8329f088a38a0704253c7134e6b58db1b3d9f29270e81605c4784de6f238752bbf4b27d483a6b894a80262cd403aecbfda35dacc7c6634333540e21c42201e6f9ef6dd405cb6dbc7fa1bc7159331c54b3abc92f51cb16733296bfb6780e869d724e1ea257d4363ea7aa0cfd9492d5d7136f7a834e40c369284484e4191ee5829847ab5794078d87a6b8cf00ea2cc3d118e0013ca5c07f1d51df0e804b615a59bf2e700fdc895a8f057f725d29fc486ae30211f8f7f7d8418c8637104823e955c8836906d6835558b96e6b537cc859d66a79253f3b33aec6ec633cd0cede98bab8f9dabe174c3171c90f74591f424594aa3232f83049a74fd4e28ac4bff9b655a6aede6c84832e13a5e87310eda6a9a6fa604cb169f499bd09d37eb48bb4b258bd0a78ad5999336525dea1cfc15e197525a721f862bb18683cf46c7a9d02c2e20b18b85aebea09ce18f989ef89e751b6bd6aa1f5a05d331b835d1c39adf42057483558903ae1148f1e5786400382781541ca9f362a39b1c42a0ba31ecdfdf4be84e2d34521261d0a51404df7a05a5cca293e8ce21f5d77848defba9ae3a398b41c9f3973b95d4e0f87f1b49d993ef02221f7b7174245ffa4f60f08701347fadc16d36e7b9277cb0c09970eaca7c3f2258024fe542b0dd74106626cfb25d0468c73f0bdcf2c68a3b493d6193d6e43dc926c7a47372e47cac64196ab33a0e4d4b19c09699e5637d8c600cca54cb5021f14ddb7f860d06d5a1d7844505200751563b4028fa91012b79fb49c222c915d4abeff0cdf199e1627eb59ac289ce715a3cb32d27b581c8ea4f573c838cb042f76fab935b0ea9e1e8496c0fe757d6f4708e03160c74e813d3684b76df31014f8a9be63a79e53890dbc1ac3a76744301311ea4a2dd7c48e09310341f220d65987731d87c66fcf68736dac779231ce1b58362231e6ecebe980044845749d3f79dc96d8a087bbdc4be3fff20cc97c9bbc2119874d4e04181bd002d3a10ff49a69c76f6c9cb64058b0401f48f00bd5a5847c3af53131e26deb4491dc6a0f1bc61d325bdbc2672d87abeeee1f7e7c2abdf0c4b70a35f7b12b96f8f4fae76af2c148ad929da7bf823c937cd8d18ec3408d89200debcf8e8b37b0676994e4ffab7c155f44cfe00ade251bd67216794d0bcb1c23e445c223fbbd1d10c5e6178c96e683f902838f79c4526ac1b164e8cdbd06d008c09c8ab2f8f0a2354a3a713e76aca8ba4a3727aca45386bd639f0f81e1b25434628546fdd2c770aa7f0f9f2f146eb260dee6f833f316e8d9d39088585bf2560bbbc37ecec8f6da78935955803aba502f14ad0e1f08dfe2c0796b886c8daed6a94ef97f1828bb9472a49798744d7c8e343053fd77c74c1d48acf10c0c97e8a56e550a2fe83264e89299c41f0114eb927d2693993934f997b32d30b452b7db5e2a2e7c32895ab7218ee2bba825388dc893ba6baafd0430d7206a1f042253671dc4c3bb2b197ee687aede8320436cdaee7b4481dd6c24011f956f04b028c28672399bcfaa44b006797d1df751d81d18d4cd064d06436d28bac1fe5bec53b3eeb6bbf70be371cedcd80d80c5163da8b652dfa1caa5a983f1887492da7a9198b0067ca7268a194ad97e787cb53e3f8c377905700ab61b2406211ca1cb95db0e4884d4e60dd041a2270a90c0572335a9d2ab27fd4bc116a243cca25372c071d726903a626126ecb9ad59f73ce79a187e499f16c5caafbf7cd3ee01fd999ebb00e83e487af44d89c61284346486ba513b0a62c3f8c8c689ea81120b6740856c8e146617fa14cc0e3038ada1ce7b6716212c31000813e4067b637d4f6ff6dd01e4a9b29737ed2af46776d3baa9dbec518461ff56310f10521036e39194d00e5b848b1662865bc42c1758f411f66752fe0f38701ae120913f471d3ea3625362f5a060db116b7d1f35887ca2ee2a533ad93d2b6c8a496eb27c66acbd03cad1c24185b24476fe40b7147e70c37df0b29df114978e597f28afa3c78153d245feb47e357cc13f7fcf8d27f5887f38428fab20c99eea12b39de85774e61cb12d9a259c3eaa77005f013878c02012c32039e23458e0d3230ae2685033cc3333cc3333cc333460f9a7fc8a67e979494b6435f35a145d02991ddb242b5166bc0f7dbfffff78370501e08770d550d0c0da685d3b4e0b8422153f51b2d73fa7f83e0b082f2413f5af893e35c340810178210233cc05185a3f7523cba3fca7b4a40c60fbc0525253ff02238a87087e9c5b29417325838a670c5869f798a430a6788b88e651da6ec8e4213db39d139d5460f41c172a27e0cdbf93a677bc231a63999149e6c9f26c7e1843aa4a5279beb389a80865cff4a6959cf5c1c4c3856dc35d31393ad494b6874d4ce4d541c4ad053975cc88e230967ae374d9de17eabc681842bcb89e1892d2f61e59d633cdf96c7ad4e6263a46e18e3f3f9f0a1f2f8af8fed466e70a3187baa4777b9fe78d911e3fb72cb959c5039f40c52c48f108101136e0ce39cf25476f2af8e89a6c60d619c79c375372906c4076ea4a4c48c1bc1302a2ca6fbef8f53a21a690c1102240d358eb811bb018cf63f5eec72ee4cc8e02fbeae9cf6caccd242f7c5a47637abdca17636dde1462ffe8acd44276c90fed3eb708317ffa738553e6a61b2efa2942e47a70e2f772ee9820c29274556b232afa42417c558275576a2af5ab72cb8818b73ecb3d89cf6cb2b73e316d57dcc3fdb24bd94345bf0f1c99df9c63e064f6b71d55beeec2738f972448bd75393fa27ab091ef3b3c8342c5758cf560d17dc90051d9d38da377e4d0e259123469c872810203d448320a4880a8220e46b7123168512ddb978a1627d048be7fb836baecfc8eabc0235ebd01911f12e07375c5137f9f2dd79df667e829494b80edafb462be829b7fd6093e9e4304849490d6eb06272be4c8eb3cd94e2e7568157b468bd6be9b7892ad27452a7a97479b3c23752518eee6397b6259b58a1a24b4e9ef199cd512e768a425466e2a5f54c3bb729923bd1d004bd4b919da54c8c31c5b855d10d52e03925b98c9ea37ba51ba368b2fd35664c2fbf515198f2ace5fe8dc1f373231465c9deeab2181bfe1ba0f89f38eae418d25a79edc18d4f9493bb5f2676ec2897e309b35bd4c6277498cba70f6e7462c936db34b50ff96f70e298c98468b3274c3d59c48d4d1c96622d134edac9017243134ffa9a6fe667c29696893cf5c8d749c77f6c6f60e21c54358faeb54cde372e610a9d139163c1c35e4be895e67275fcb313c88d4a18dd576d27a169210c5252525252c60d4a9ce5b3e3a954935063ea5faf26137aef099021445ac80f849ca0fd4811222e60c40d49f825774e26954e3be148689e74e2366a57b6b95b6f4062ebec6dde2905df703e02ad24571d3b97cdc56e38e29baa265fcf6eb6cadf68c41d9dcd74c7cc9b940923bccf4953689fa7b06f2ca27c1aee2e35a4889d1c53463c26cbf59644149e74f1847562f28c0be120f80d44f439684a9bd355a7ac43e8af996059a1e215a2210ef1f6d6292b370a51da14936726a6c9dbd80d42ac321663aaa71cd7f4414cfc4c5710ff5ad24c8e9b1bc38d4074993986f90c3de73b20bcf00e269e5313e672414a4a8070e30f7f9d6532a966cfa4373f74a1d973f844ef39d13ee46136864bee33e2061f26e6f69827937eeae5736eec81bbedb3f0a71a63ba1eba6a62f4461efc1cb5f7b5ea1204e1061e4c75b90c5d21d5fed6c11d4ce13975a5878cbf961dee966f9ffb36480f31038d1b75306275f38266a7267c742838298694a57e630e6826c7e4a4dc7d7721be2187ce3a57575a8ec3e44e3bdadf69991c3740b8018736347edd9366a64b7a431bdf317659ae98990b52525284c80d37209e319f28966dc34f7eb1d424b5b35ed9d093a4637d3939bccf5f431f9b33d14ccd5c4d560396d3be6f6331e76ca721b326d825d91834d4d59ab7b576162a748609fdc973ce62b88a4dccd0ede5fda0eedf28036b65a91e9b53b04c0e193031efccccd694f28fc1b85b9dbb11174f5e31b09aa739769753bbdf08833144b33ce149166a9337c07049e7982f133cdf76861037be507f93cb5c53c69a0a160981196adcf0029fb2d7893159cc6a0f6e74c1ca2bff257eea1105c10a8cdce082adb932554eb924175517dcd8821dd3d7fe9a54dcdadcd042a17ba215e167e18d9bce26b22cdb742c94368672a2c5bc26c5f4c615dad4cccc145a2175ff0b4fff7133e94910be518573f489dad063d33d53c1285596e2bc638c046ab83105f3e4c99a1aea9f98b237a440e7960bbdd63163d40429290172061a37a2e07cc6e6eb1cd3be6f15fc38830c233e44053ab80185893aea96a34f4b7e8e08d9202d20a3880a8e08d91ddc78822793c99ad0a4a8e9a4fc8613eaf09c839469cc4e76d2842e95939e4c5829c80d261cc34845c9bc503516912340d2508348111ddc58824dd48b9994b3b495ac4a28aa6dba947a5d2ce6dc48c2e40ed1704eca263941bd8184f593c56c6675d1cb39865b3179ef580e16550a5252c2c6409ae8edc4ddf09a4cb5518cad2dcc5c6532c152d0b8200b368851acb3501dfc49d36f19c621e6ab634a13ce724718e7597c6ab752ddd783b1574ccd612b3ef13c05861f6d7a43dc3cfcfbbfc02aa8d8c7183264de7c61748e4d7237ea15752f10538f593e7ce4d50f820d5e74e5f1428ca5080daf8d5de4e4cc2907bb26e527a6e8e2da8d77929e16081bb9503acdc964d75c99a4b9214484d8c0c5413f58ba26e6d49111203c502fb2b7b8ec9213bbf5d236299b867a101bb6384b45cc52164f16965a94bcdc9be04dac53eb8bf4a0046c8316be3599b40e140d11d898c504974ccffb151ac314c4862cdcf4f6b7c9d27e1e1d063f4c70c4462cfeb94c264a66c7b4b1c9206cc082ebea74993d05292929430d1baf28864b299b5adb5bea031bae28ceae66a77962de8ca881051bad982815939332a142dd94414a4a5871c794ebcf436f2a8d00713456d3d022ac031babf8c20959f15a5358d0862af6bcd22427449964f5a34b000032d848459b5e7916ca099fb9a321448db5818a3aba5bb6babca9fb2b830464a4c0c6295cadcf7ab54d78f284a6389fdc295d6272151ba5207eb37e638d45488a2e7e858dab6134d050203646414f5eba5bd5f80f95202525a2b06b9dac4f382d8d3114e59c4f2e9c1c19e23d20810d50f4412b78c4c68c16c74f98e2e2ec3f7523cff3c4b5619689513513b5e98426defa84be19151b3961fd5b96ccb927f26b1b9b506afcda77ee6b5bb7a10933688e91af52260a7e5dd13361bf9e9cd3ee45e8600313fb66bde45e9b73881cf9d14a048d357405649494ecc0c625cee9ef2e2655f50c6390124bd89727fcf44ab0dd444de24efc54b50962041b94f8b3dc93e6abe7d409a9828d491c9b9846ee35e74359415a604312a83e99fca7c1349ed791c0ec9c201e34ed13ac43860d48601ffcb709d26bd5ba8d471495369cc55f564908104ad870441e53dea8ff64b2ef3e09525272c488a2515272031b8d981cbe9e78fee14dbeae143618c1132be74f4f18d78fccc6220edaf93bdaa7989f5411c86a263bd1f2b555f6fcc046224a79621089af8ded1f11687c62f89baa74f5056c1ce2cdb965b5736a9d142345d4602f82011b8698b84efaee969226c5755052e2032d42011b85303a54a5d5eb333da1206683106718b95431c63d7a44db123606715e93b3f7d2674705360471acd6a8f0fb1a346c8244c24620b07082a77c92e510da0410dc678e94ff28f9d1fc03b193595c473e9fa8fbe1bd78bf5f157d9ab3d107df49e1fb5929f38b7c509c1c25679e4ca6aa3db8a9273ffba68fdda4f47050bb54d53b962e9c87feb25d373a67dec5061ecce4e4946bc5e562686cdcc1dc4e50b1958e0f9675820d3b946cbbffaabe377e06828d3af0ee84db711f6dd061524a756ebe5579fd8b838d39e04eb8f86efd4c979905a8053f8805150072041b722045aa49236f1bb111075c2756cd838f5789447e48096cc041f914cbc1bd095579b6f186475df3a8135f376ca72ff2772b6b57d968432dd164cf5cf19d696443397536f235bfc9965ac3554deafc79bc66a3c7861aeaf862219f506e19ff2025252525c5461a4a9a6fa77a9e202525ff4480f08085f0c0061a2657f264ba7a399df519d65869635c7062f0b06c9841f1f98f68b2a67c9eb75106bc65f6b38249069e4cec4cdc245b90921220466c8ce18d0cefe4f9bfb7a48ba13ceb2ad932d5e32bc14618124bedfd4fd0bc977260b833f1d266dc4e9353920c13d8f882415bd27454dafc9f78c1a096834bcc54d0b0ba604edbb7970a17ce27d6dc4e6d630b3931d61373d459fee60336b48013bcea42e549c94c8a116c6461e2af4d5bba9c7eaac242fb2f134f96f43cddd9b842f6e4d78eb2e175ed12a4a4e407252565acf1428a380c5e60c30a7c7c0b5299fce4344df28747c24615cce46c9dae99124b11150ebbf204e968d9737b36a6406671b286aaeb7b566c48018d6a6fa7de6bb19ad888c2e365f26b5a4fcab7db8002e1d92ae29393655bb5f184b27cdeccc9da73c6d120e20443680c152b95af3229bbb0d18437495d98e73059ad0d262c193f5d2666323164471b4bf0f3ba897cb2786dae0d252c199d66732d8aef692309b87cd8478b9e091e531b4830976a93d34213ccad2242806314bf4e4ce9f27d8000c6a0676356eece589f9500c5f82d86d3cf624ecc09400ca609f984760bb369bb61f0e2fe41638a13930be30cf7d79c522a102018d7cec613a272e6ca41028665295d4d9f57be8c7520c02ffabc2f4dbf194d4bfbc2ec159ef4a298d7fc094e7cb23c610b120302f062ff8e7a52a57bf609b08b2eaf44ff7988b99f8b08a00b24637ba42b45578709007020402eca36adf59866ba3e240402e0e2e857f5be261ca4a4240b04b8c5faeab9cc2db2853113a5c3c26b46d18b00b5e8c9515ee2c12c9bc61080168cf6a7cce2e1f6295b86052a106ae808c46427e7ca56d19c34af01c2dd76325934682709f90f887f7a74e99f8feefa01ab9c2f66d246b91ea90fc5cd946addb92e9f091f9acbf864728b650f74c6fcaa7ad915daea61625d89bc79cab022e501a94be2a9cffa6225f170d854934ed858b9dae40e4c4a448d4c5e4765762033612fe545c35feb3a1091619b37f54ae8860e7bf9c58d4d4e296ff473c8c9e6e4f7ecea316c560ef4a7ed8eede70cd985a0230ef7e6d49e1b33b389291caee89975b29a647b7e083ade60ca4cbccd549d4344c70d657ef7a7e55907dddbc0ab67f48aef5ee59b0db76fd864fad92d8bd690e77b957f65267fb8d5a05ede44a5d4bf71e134d053a57ba1fb6d2c4443f59be25669d3f672ce50dc2786e8786133d4a9af53e3b2a367d250d05186cfc27dd04eeb609293218b33963ac5b72c9b4914748ce14c26daa54fa9a557bd117488e1b8b4f4f31c723dcd23e80843e1e722eced77f6ea2ce80083c1ef2f74c42fe85116eaa6731ff3e405ffc3d5fe52564c992e828e2eac29eb3fd9dc6c3e5b7470a19b5cd5ac757fbb690bcef9352976375e30790d1d5a38b5c7aa2899b596521d5940adfabde264440716bc3cffc4b01fb4336b745ca1312dcdc142e558b08ee8b0c2f3293d9ab46795f84786f80faab0d7995ece27c60af1d141053fe4e78998998f4e4cc7144c6b2bbd66c9d509a90c7448e1273c79d3be13a737aa28142db3a1c6363aa070aa725293f4c904113a9ee0754a5465c24d88543a9c50288d21adbc32cb6c31d0d184fd67a3cd3f8657757530e1349e52269b96cf074fc712dc728d8eff73d5d1d3a1843bb9a7cafcc94c72923a9260ae7592e619d31c734c101d48981cdf497183558c16ea63146cee3d93725d382994c31859d66cfd6bec3b292d86b9377e868dfa27ac458c3399e816d7171c86596392dce09b3026e7e84eee5acfedd424186bc91373d07403c3d5649f1e91fe6262a93f9918e6c9e10b738a3e153c071f6b27bd68c6c7735e0f65fec4f022bdb90a3b3db5b133bbb86f329b5061bbfb52ea9043178865e7703f5fd3aee6a2146961bcad09a1fee2a27eedfcfeb76da2e52ddab8af0b55b9e5624c1472d842275ca5bed5cdf8b994428e5af4c1fbdd7386d58ab11f24d0430e5a4caa4a651e2563871cb37832db2bc32e469d8b2c4a492a69da856eca44ff90231675443a3922b71cb0f809de84d7ed4a9a5bbda2ed8daf3a8d3df54e1372b882f0ecd66e7155633641428e5618a7faa4d21c9f31811cacc8493ae12a4adac48fee8ab972ec73a8c2881c8f31fe9d7076fe88448e54bc9e29ea479d2493e11b72a00239b5ab4cccf929d410eba464efa299bd1964e430c5e48b94355b27433c40468e52182f67d2c78c9714c76bcf4132a3d82aa54ef3315b8fc7a2e8c5091fdd893efb71ec1ca1383d588cf54e41b18d7c4e21aafa846f517c9d7c2afbe579a24cf87c8d317fd2cfe4e8c4214d0ce6c4b939415f2678b6a99da75b36717be61a35ef6cb2394d3c7f917677f52f62ae91092f9b65263f29133dbcfd61851c98485dea4a6fa772de97786d5f83fe75cec15c4b90a3f232125e25aeb5bd4f1dcc621afbc78f2144841cc94189c9916b962e5c92a9f024e81a8db6f179d3e298431207edba89f4281298694893dce24bad0a89344ed58286eeb4908e08e9819013fc48011945c8f108f36772128fa7d1957684a6da7dab734ecaf235a2487bf23e61f2244f6604e6d17171ff6d33e78ba02e6f7e76ee780cb522fe266b46a98ad1c9532742af3c1ef362a518e652c4fb4711cf8188373cb99386865390e310ae647f68f2fb6515db1066427dba5ca5f250a91066b56ffc4fe7391333846843d99a677aaa0b3dc720d2d4a4b91df5556f727208a2cd84174f4d4c81418e40d4abdb1d9ba06153174020d924adcc28535f718e3f1c9db01a5caa25af7d2ee4f043c94cded245c5b79f7f9ca1861c7df0638ad6846de29c7fc6079f98c916b4efc52b8439f670c5f9c727d9e5f7e8eae15cd9f5d1823aa1a299230f85f674125bb931cc8407cdc927f9b5a909bd5b8e3be8d259ed49aa9241e487d8c1eb26461f4ba99895d2821c7528bd3d6173fcb0964d90830ea6b7e497e2891f6a4ae498834d0adb6ce6fe641d8816f11c7298901e9d3b470dedc4688e38d8b5f162c8b6e480034e14d1b5080d9fc964839494a0a143829c11821c6f3872d36caab0b8c1986bf792f4d7977f6dc8d2e777cfa367f293664367569a356333363995630d352153a5bc17cfc152d470da4fa329ea29d6d23478b5953177fe8b681a6e0619457cc890127c20071a9aea4f9ef3e4d5a71dc48b381aab6700415b505202042dd2811c67c0bb4b3349e3a6f7865cc0811c663893936542a7deb8aa95921c65e03f5f877de6753231274849490fdc0539c850e6ac241a3dc8a76b12831c63a8c9e4ca2299f2f71688a177cf7e29f4daf9e67384e10e1ae3cee7f40f4e8c053f4e40c6092639c070c45ad7443d99505f72134941e6f8c2d12f96ebe3859d2ac8e185a26968893acd1a6e82204694043fe290a30b99064da91ccb34ea3b430239b8c03951a44354a58ac11c5bc0675de645c74969c32025255a405c6c6f638caa252e0a7e9cf1430426f84102323c00021494946c0321a30539b29013422b58e70429030432c88185897d6b5e657eef66692243c8702145ced0c1901c57306742fd68aedf89e5acb0e7f5ce39f8932a2836ee84b75f735001cdd316fa73dcb7c839a6f0d68cbc3f91829fbdd1f9fbe19da91c51382f5ceadce4dcd99f030adca74c26ac5db408399e70e62659d414368dbeb6831c4e40769a74d6269df4ad1c4d308b67595e2e6d3b290713cce85252392f756528c71276ab8f5d99e86dfb670e2518c3de45518bcbd3a4732401277d26cc574e6d8248414a4aba5b732061927eb69ccabd325dd2c0710c64738e880cdaea1f13a4a40407388c51eae7b55b9ef2568b78494919679051021cc530fa89d2ed1d1223cd5134e89566f2269361182a05bd77cf6971156114b3e1fe46f63f36b1601c734eb25f1d333849609c5b4ef690e2c9b509fee2e04ecc8a1f91d5848c2fcc28727d4e0acd1aa7057e8802472f162713dee73e93484641800c21f2030d34d410c18f2e41055430440525250178040e5e983d4c2d773ee9f22777c1c55cd6727dfb395a5d7816ea3a876879271b472e0c9a51533a8d299d1717e6a7fbde879372e6dc2dbc0cfde71b79397d688b92bd8aec4469a68ce2a845f24e6cb5b497a2b4440b73beb4dd369bcddd9bc5679ea3ca06fd9422238ba2c4757ed457df4e63c14766ef134c5adb6658f4849276db3980e315cec68d48fc4f252d00821f2e7822448aaca0a424080e574cfed9aca515a62abfadf036fe3dc97b7ad6735670914d8ef2ad3975d28394910a1cab38435d0a4fda4ad37e5561d06bcde4ca3973f69405d04a8d1fc0c0910a5ec64b32a493328ea891c69012182152c46960c6e340c56472ae15d168d6e3161ca7388fdc4ee5e0c41a178729b4920fee7295c24d659d7eeb2b3f29430a7b772f757a1d85e62b92bee29af49f88e22a7762366b0bf27b85c21c71c9efa35245ada0e025b5c984ac0d15eafec404ff72729cba78e28f276ab40f48b7820247270c2766782685c86896e1c4bde1c56e563f134cdc845e92f399ecd1042b1f7f9964b275efe3c84429bd93afe365716082cd1f5de7c9c171892da74eeee4d7a4e1a3117058a2d8f4a9ec28aec1ed4a1cca35786f8e95f35d7ee0a0447191759ecd9e042b17c253d5cedddf923069b2acf52f1a169391c034ace2554a1526bd20252538208186def879bc8c3193c7f1089adcdae3444f1eb52a381c71683c977632b9f72f6c449a4e4eea4e289d8b3d23c8267fe8b039cba54ca85b712c62825d3abbcc967e35c3a108c2fcdacc52da4ff83812a1b8c5c7a452b90996444495d233b92cb4956df810785ef39433b3fc6b15a48708f99292325c80c3107fd299dddd542b95d3008e42942978189dbbb431a63808c19ec61ceaa6a5d99b414ccc142fe53b93c4b33ae23a88010e413ca5395865694d312631e008c4213e2719ed3bb330839494c80007207abfab8fb1388e3f589f12b32987ed264680ac51448708593fd449f3654d729f1aea2025250e031c7d306ee87c2a226bc95c3ef8c4ecbc29bec50638f6703a51dbcfdeb9773a38f4607052dcc7d2dbcf71621c79c84931cb6be6eb382755c08107cc2d4898684ea1d5b135dc043facd67013fca82fe0b8434e2625cb39fbe2b0c3bee2440f2ea9c15783a30ee4ac784671c267053f6280830e79ceaded04cfe959637328baf48374c88f89380d0ce090439d92dd68b28ff0aae088436e29e993d237bb738543a9df1d5626bf616f8d1d3dc6ac757a19194244c81d352681c30de54caad86a1fddf97f2ae068c3da199e989199549663ca704105ba80830db593e5534e6153c84a3b912340880839a245809c81630da5cd2427c57ca39d51d60b7e186187011c70a8c1afacab9759a34b4dc09106ba55a234e49355e30b525282030d67f5a8cc8f6f2bcd39c3d1139361bdbe233d66285fc34537f934ef548649e1ff634e313274ae9061cf840f1bff2f4d6816c7188c293ab136bbde572e38c4602645e5edb0a21f5b83230c76b6e6189a1c5a3fa7c0a093d267ac8d3441638ae30b762acd75f30c871796c8c8906b925db0fcb2bf69bc7070e19ce35e4c715a3376c1b10533316a37d9cc4f73e7716881fe8ebe163a260b84cda57162683c111b07168ccecdb6043c6eb176c8ffcfe49eef471eb630773d2af36a708b75194354f0811f418e0889811134d030e3c78f1f212829e1510bcee287086d42062778414a4a82a08602e1410b9c14e379dab9829494940184c72cd0d45b2152e22a7e14a40c1eb230be6266823e312d9392418078196418e1118b2cfed75657f6108df380c572399dbc3de5888983000162444849098f579833a92b7c3f3631cd72032cc2c3158745cde7414f536b54c443c0a315af874a592c98743ccf911e8840086b00810c10f060454d4e0652dfcc39732772352b84c72ab49cd2521233ad08890c1eaad85226868bf57f93def04805769d51671f2c862c97072af04cac984c7e2b5cea67c0e3147413bcbb669ff0974353909683ef6e964713b35214daf6e414a36be646cde0418a259bfcd6d7191ea3f05e9ed0e45683280f51f43113f7f62a64d8804728265b0e4d26b77d788082ae4ad149bb199d4c10e3c0e31397f7c78575a769bb3c3c31317cdb9975a6eb4c8c4727f8fc1fff9dc9dda596949471240821781e9cc03bf3d7e54c715765101e9ba049f3e6e47bd2a7574813657267587f79d8962d137aa6ce31fd96d6dac4031354f2907d627d09b437db7d26bd5e38d112e9b94e93e3e7285bf9054ae051097eb38db713b5b5b34f89c9f1627b77e7491c3f98f469a6968bb324f0c930273d39f34ceb9150b39a39b9895d714437c20312bd6bdc5289ce41727b441d9359e1d44959fff3010f477ce9899299e09b099ff446a4c9ae3e3d0c831f5d82357830c28d8e275d8a134df126028f45d8299465385515c106dd4e261a26776d22ccfa4ef61a8fd9be49f14084ff19bd097b19da273f04eb1a63e893e9b8d21a62b1eed6f3f996ec50111e85f8cf4e2bc56a79c91821d0898fb15ed3c5dacb202ca9791f0d324d528f8720cee721b7894e98ebe0f108844f8c25f531153c8df6041e80d042d55a7a72fa60f784088f3fd8f1faa4d7b6fce0e187c327f750fbe49427ed195ee0d18726b5f683e62c1feabfd9ee5cb7293fe3b187626c6cda0d1fb149d683a29b6b4a752d462c3cf260baee89bb1bf1a8151eaab817dff2a4556c78076265e37a70529e0ecb0e875ad97e729f07bf541d8e27bf7ea760b1a9d93578d0e1b39c1b75bfa13ac5cca11477969b1c4739f03a679dd1f609ba6a1c6eab5099a632386c6132f99d5f48858ac71bb4f4dd1df69ec9c4f279b8e1fd6df288b5f57acc8dc0a30d5b72274cbbeb93a37a54e0c186a30917b444ad353495499931856accdb51031fd3348572290d86d9af14191daba384069a1cbfb3de24ab43c5e30c6c3ac93c5b9a2669932401193cccd06ca6e79feddda60e8f32a87b193dc7bdcfd4251990e8afa98afde9671c8355374d68826a920fdf0a3cc450f84f7e3f95d36ad91a7884a1d9f064d16e273cc050efa61cff1b664e9c7ce1bc1e5ff537a7349e32e0e18563268ba5a55d9d770a8f2e786669693f653e796b2ea427d664974e27d893dd4297c9b9ccdc2c5a68bd3ccd32bb9cec06083cb2602c3d3fcfbb28f13a162a97df4c8c9523bac2fdefc4bfffafb626c70ae5752e4f5f559a9359853269ef6adf8a7e6454b0e2a63ef9a04f1051a7c065ff8b4cdff2213d1a3ca4e074fe768ea796fec4230a6fb89d0f1f8782faf9e7cb9f94f4b2ff04dc4db363c75d8ec509bab813a25fafac8354d584f7ad3c9b8cd5963961c2d9fe2c376b648859792cc17ccfabfeaaf0504231e11edc732674d54f48e091045666cba4e3c39323ac010f2474791583f78d69c5fc316a0b9f7932512bdf6ec6304a5d304b1f7dc264560cf492c6b44a55c4e83aa6932a262713a455a261f023d197dc62926d7255c230c752fe4c5fe7ac59a260d05ff9c9de644285d3b9043b80915bcce04f1c8fb9dcfa459978397eed6c3576f8a29cba091a9e9df4a279d74a1f3a59266a29841dbc283c5df05f5b8be13543d8b18be33799ece46cbe297c4e37d8a18bdd33a9ada48fc97f7eb02317d75bb22775307b072e4ed94d173f19d7ffde220d5fb5ca96eee339b1454eeeaad0aac89cb5e860472db66059d6b55b429e18097e8ce087087e84e007087eec0e5ab4df84cc16d15cf949901db330422b3731bd3c7b93360264872cbeb4d09bc9e4b34c8c4f2cfed4b1f3c6d573cd981aec8085f5e40a165df27183f98a3369ea33a9f246932bbcc315a9c65edc0c652bb4b62ce9bd9bbdfa092b3427c60f61f183645738d8b10a9ae099395b0a556167ec9416a74a05fa3aa3a6df39a5dca0a2ccf64f7a72bfc5aef9147a7e5f6aa61853b0d69ee6569994822f275c8e29ffa637b4c10e52f0f9a216da09f6c132a3406f744e5c43ba431466f5273cb9ea9265c5a138a865ebdeab0db173072898d0b48d1de34f9ce6b1d2b235e19cf8f1c4564ecae1b6baa3ac49275eb178bb3d1f4ef89bf7fd84cc26fb789b58a5edd362ba1d9a789a187b1fab366d6e48097664e2901d6b6c3abe67e28909af33955c95bceb13bac439687d133371b3c4ae31f7af09d5d6d5efa8c46139a7974cc65a332951bed4bd5c7726b185aa5c69fe90df5412132b8749cf772371daad183b4aecec8b3b2051c494e7549a3d22554db3d4d48a1bb323bead6cfac1eb469cf7e2c919b62aa64f7730c293cecd182e43f53d69c28e4550ab124df2bb9ff14a11474b79688de9149cf08e44649f771dbde41d88d83ec7ced32aef388469c936f95c3639da6f083eb79f8db7f8e6eca41078aae884ddf88410a52037d3b3a1eda431ec18c4a9662b95af93c2e60b063f4c60841d8230add309bbf7074211a937fda0d69351401c2e2b49e649df50f31f4a39e6ecfff51ab3c6f8e13a37cd7e2967ebd985ece84349d562e8eaf00eee0e3ed0c494d46735e7279e650fbbcf64eabbac1eecd1ef4cb4a4e6814e9dabea4f62951b1eaab614dee10c1d938e56b7b56fecd05e544a553fe599f4d6c18b5f1dd69c14b393d3c19a280f65d9c9697ddc310735a73fd149953176be1d7240e3ace7450bebfb7f1ccc6a4d95c94ff8ec3bc261f16c52fb3769e583fa869fec1aef892263f9a477b8a17cd98999e03f7bf7b561a2b4776c277e4c898a0d4f558e5296e5045777ac6162d47099dde4bc11ae1a2a4f7a5173a8d240559031efca9d929c68e889bafe3e265119d367b8ad2c9be6cfec67eac70f3202b1c30c5c0a95b3f2ca806a8e313d9978e9827c3bc83029c6bed03173c7188e6e61a3b25673164f0c45cdac354d77139e0943a2c192667618d54ac190646c52c96c92ef8ff9c239fc6de70bcb4db8b417cc96e7abeea19393a1c28e2e3c4e26e5f698efc4e0e47061addd7ee2a4788a49dac2647f423871cad602fd9f22c633f976536c4716acf6eaddcb4e32a2edc00299d542e527adad7b26573893d3643e4dfd0e2b38bbf984ab5677546195a8e8313d632bda447650c1f9647d36bda261db8e29e839a3197532fd54768714aa182e8fc798abf4c328304e1abfdc61a5bacc1d5098d8f284ab4a7a7b31ff63c713b46b926e9389b6a9e3e50453887e8a9d6476341e861d4d98a01e77e4ca89229bee608277fb7e75d21fefa264ec58c2397b48c90d59b967dda104c39f55f6057d52db931d49d8a6ec772f75eabb18841d4830b9fdcf7b643affca315edbb40e1f9b52e88e3168a2ef56c5fe8a719498b8ca21c6af9e934e5a15cdf91a06d544abf948cd1a5fe33a84518cd9297f76cc0cf56a91234108c18f1f64684147304e5f1a64ba572b9a9c1de8008649da5c25c3c63eaee3176d555da965ee0c3a7c316935339e13536e0b1b6732e8e845ef9e1325ffa2000e3a7881bf69d828fd16be2135e8d88515eb679a7097c24d7f440e3a7481caa66c4fd42c1e74e4626268a25b9856be5cd9082074e062ddcffe31cb7cd77ad2d0718bd6b6a79364ee4b21b285f29f952913ce4b62d7510b2f36589cd33cd1e874d062724a9aece7358b92acc67bbdf81c649c830e59a4b953b6426e848d1e8beb553f9372358185293c655f9ffb8a2d7e0aae9ae6d23ee98a49414627ec72064f732bceed5139779a5891c7f029993531fda6b50a5c4a9ed07d992a0eb9dcbd99a0739f1d30e8484549ae3da72ca16252ec301dce3f654f2761d0710ab32ad79284933d336b8a2ea6b09f7bb9d3c52b4515b917336ce36c7eeba08314e5e8317eca34c84ca56314935357462b6651a0751ad7528a95f6fe061da1f0896a9f9eb28e5b6966d0010a3d3ee92c56b79fc0e39c70e99c28f7ad9e4187271c276c689fc66f263951438d4ea46a4f10dbf2f4508d32e8e044964dba549f92b5678f0c3a36418b5bcec41ea9bfbde8a0431347715275ca5195dd63d0a0231388274f7ae795dab29334e8c0c429051529cfd253ef755cc2946ee932e7568725d0d3b1745442b9e8844bd109d5da194a1847e6728fbdbf5a280e3a26f18d6aaa9174edbc490d3a2471eef3eb64631a4eaef0a02312fea64c8d69afc9c9627440c21875aeafa3aee7f8a5a0e31136d12f7cd39ba899738e385ba5ceec8c9990d1eb68c4f199ac6171318ca009f544cf27b6b4dc65116d93b6838c8a8a38e7132bb445fb743c61838e4498a697393ec12fc51845c475d14fc8f14fc7216c55cdeeb134574cbf21fa4ce9ebed44b3540aa187a94dbe515261838428fff249d29dfbe2dd111d83c02cb8a56c7b6e727d0451dd78a6eb76f2c6670226f0218873b6263e39477b5a8a054215b3ccca51c4d23a404c52e99c63c7e70f6b4a317c4bfc93a409f9f043f61732a635db874b463329b3533e10699f44442f3e5fec630fe5ae5fec36b1da9f6c097ce8a1cf0a2ba79a4266af46e0230face4132beb6c44d1e0800f3c104d32507798ec59959da8611b53f661877f2f133be56c1152690a7cd421cbc99fbccf696627810f3a6c17ed924ee66fd8de45e0630e074f067cc841481a663cc0471c28e0030e96a7944393ff563e667dbc018890341ae0c30d3c84480a14e0a30d0cf0c106236b380f8cace1267081037cacc1880b119286190ef0a106e3230d11f081861d3eced0933547276f8c7deb64cd500604f8200310216998e1ab1e20f131060af81003fa08430b0172c48d18c00718800849c38c112cc0c71720e0c30b7f884ae9d84cba60001f5c78acb265de90534e26c5c71610e0430b387c6441013eb080a6ca9be9219b57aa2bf0f061852742a4481a3d4001898f2a1c71234084a461c61aefee011f3ea83085204634c8037c4801023ea2706488f7a0023ea090001f4ff0e184263081c81fc0c7128c1c19e23f701f4af8e12309657352a5cecf6cb605c89007d203230a04207e448b1c31b21bf0810405901cc3181320298604488841019261e89a3f7b0c192a7778488461444982b1001260182942e48812214101487e010421699851c4795084480c1c40e20bd7810ef48c0b90f48217062777ac241bedc215dfb0a13e59369f11125d186900492e1040828b895a59f2c9a7c99b4d8610112207925b004900892d7490d40271a9570d635f296d82000972240d6f26a1050f98081a2424b3d0a2a688d7fd143f25125994d944553bcd90c46207092c0840f20a4a37bdbc2a3729060b892bfeabee4d6e192720a31538c942a864f55a763f2052240d1256b0b3a266316826e8b7ab58ad3b866dbf0ef14915f4b993491f2c778424157e5e366943485b7b0c2a6ecda48acc8da641720a5d33b64b25d3cb6499c414abbe66c5543549296e75b50ca90b3a69932213f398e9d26e9e164946919465d4ea4cf8264f1ca4a4844414ebe55bdaf0fb4d103348490914484231a9492133bfc5632f1fa4a48404148495e7f6b4d49375839494907c628b4b9ec59c5c17b33784089034d4007224083e240b249eb8ffa52fb34779d3be1354f83b8dbe9ecafe2f2929c38c24e1841b3575d6abc3b3c720249b503d9349b24dfc7831ca33483431c9dd266326ec93e3da1c9064a24cb12b4e53d04c69a301092626e95fcc94d7896ee909c925ce98f76c34eaf2ef4562093379da13b4c37d3eaf8c0a28492568dbe90aa5a13fbe07a205124a4c7a52deaf0fae17121e924914aa9ef81f63e93ac792923244308132cc206388086e4022095a3f65af4c124fe92049249a9dd2cece1d179b340924f87096e244fd6b2c902345881879449ba2878aa7f0f04c8eb31aed4590c41159e5e6f4c4b89334824a26ee59d2d1538719a1eef464266c674e61244308c922988aa1cd499e3426331245f8e2726b3dd9df396a05924438d1192e33dddeed13ff811a5901092296fa9c4972319e867d2cc488ee15480e516a72f068af3bf3960f72440810801c41430d235ea4880f1182024314dcf34ef3a8ab8b1da4a4648d22476640528827ee6374bff83a25921082de344f265bf4f810213d2019849b435f3de9e6b5460f5252c24480a08186101e9008220b99265c7a9cc511d7401208cb3bf37d139c20993d64c88004106c269b46ed27e5dd274cf287fb635e949beed214294204c8100f7204480fd19292214fe2879ee8e4ec1e7d159ae42025253020e9837e2197fd3d5a308b21e143ff619f749a9dc2b5f8c32b8082322c5001358a0c4016247b30a33ab6ef9de841f9b7b839484719cf5b409207ea49dee2c1cac3e6f70c123cd0ed6d9f894f4af3e4d6062477286c4db7f83e0962448d982103123b9cb216332953fab9ed14080748eaf0d86418df981de221091d72a259c88e618325273d2199434e4c1dd5e8e40dd55c0e93d3a5e6cc7165a5cd1490c481f24a95d5e524e652123854b9aa49faa577f229246f58532bbc6f852785a9839c510112a080c40de572626c0ff1c4d03b9771831ef89112949494b18616296246038c6803cc20a306130842d2860997e132aca58bd99a13a080840d93c2c7609693075317d7508a4b224d4ecf4dad04d100891a74e2278bbb588394949480240d8791d04e51792a7a04528408101f22048d2142d040ee96ef464b1d7123497286491ac3b4bea3da771712021233142a1a9d98e2abc6189e80a40c87f471c276d22765f20aa40c1232147ace3dcdd29dd89a0e908ca116279b7cb69889b2d61a2462d8c9a13cb8dcb4b7e68014217244414012069a6829ec4927cb29a68294941c11d2831e9cc00c123090e924dd8baf2899990401f24a023248be906ea8f9be6f95d8b3a4c4d5f08183801d0625252120f14229e5ef94eb61d76f2305922ef4e4098f69b63fd71323e182354e0ce151537b1208c916ac9259d9943a82c1113588aca12720d1829fccfa49f355d3aeb99022679c808c236aa0c0032020e30c922c185ac5d3c6090b6d4f48b0608767c49b8a13a53b2820b94261654156652b286b692b694ae6ba7c1590ab71958c252bda5141062453309864ce244f561d5c0e42e4080f58839c41460748a460a597499c772d208982777ee5313f142686d1d678cbfed8e0135e7b354de9623d935327147d5ec192d88fe7b709d4dfdaa5c8bb148f33c10bdd51e23d2359024e720d9a297f7c32512551c26aa117b7497aaa6b93246152dd9b3d292d3639cf244898acfd31d2f6b3559fc7f0638f66821f65024763b5881f2941177a18c398728eca90a173b562345ab9357baa947369c4b862d6d27372ecbbcb86a19d4d47279446d97285b1a626f6e78bd5c1a2d523187ec95f5227f7c02873fdf6777ef27bb47e618467a28c8a4e9383dcc3176cb6cdc177d45e94d6e48e7ed39889396fbc38ed67c88e9625ba97da856771796dc22f4f55d2c59a2d85d354df6b9a82821eb9c874229eb8613c55a4c2451b379c853961ea710bcc52e78f29d56b936e33f4b0c56193570ae54953ab347ad4a2cb7a91deaed3a27d325953c4133c73939e45bd1bdbfa55b43cf9b22867c2addbd5e66831271605efb47c56122cb219275cdeb55f61b4c96cf9a9ede10af26cc57e3ed99343dc0a3f33c1624b13aa5e4c332c60ae1800d2d08315e631fd0bdeaea2c15b054d746298e69f3ed7500f552ce29a9aa8b9de5fd3ef918a2be58c19ada735eef6404517b5f9c604b24691233d4ef16b0a22adf315d3c5a6b04f7c3d3c5a36b95d8a42b27c7dac43573e52e859ba3679a80e9f263d46714aed5da189790f51e02beb64d1d442919c59edb6597a80a2dc4c3a4f9bf933f1352ef4f884975f9396dca5e5df7b7862df9c76b35bf4d06df6e8843f4ed6cc13156a43d983134f97e7bc719ba82d4f6ed06313d8c5b6698debe99735e1a6b43948fa96998646e89109b7e22a9a753a821e983013535efbf2b2cde1bd8429336bfccef4c78a1ae101112224f8118292121740217a58e2f68cf7b5fd60f2113d42a4488f4a3ce2c4946ac2e718b6a007256c723280df062776f8e0097a4c02bb8c7c4b394466da033d2471ded6549a59fcf3993d22a1999ff68658efcce20f5ac10f52c10f4ac10f42c10f3ac10f3241167a4082276591fadc72ddcb1fd15fc68db177b1b63b47a449d2c4ba4313dc89356282ae88a6265b18718c4bbb7e7c6f98bf08634c9a49562545d43f7fae535317349c08d52cdae3091a3ebb41049ad3e5c95dcd21aebb4c92089bde68cd10dafe94677bf23a21de4298d49d38f959caabc28430468c058d1b1e84b629a8a5fd8ee3f909c2b0ebf3c44e2956265d02f18b9613d3c658a8a403e224dac418fbdb3f10e769bfd367fa14bb1fd2fced93dd9ebbcdf7e19cb3c4452747f55c7c58b6536f8e6bcfc48ef660b6f8ddcc6e1f77a27a40e36834f77ce76152272706df5469f3aa78284ff5834f663c4bd51dd87ced5e89db6c32dae1f9543b129eafc344b779cdb02b1d164ba1f25dc5cc4193b4e00469a272e0a78969fbdac5c124d6c4eab30d0ef854e7ab98a33699f8bf81ac187e5fbf29966d6e40b356dcc984b3ac953698fe4dce4e888d0d65d2860d6d1d4a2e3459c384cd76b5e3e44d4d8ad4a09353a4e5c95d1a4a9552ea45cfa221190fe3d64fca198eb9548b1ff5cf56cde06a743229faf6b93c61ee5186499a4baf7387db874c86378c5c18ebd168343a8d1e63589c604df24c58bb73a7d0430c7d56b0b8b9ff9b531806e5b6cfb34f2a74c6c150b26c52fa68d2d693e42f98d5a1a2f77ac56d625e98185e5378b267d28553c82736217274462f3db870fcbcfa9aa32be87b826c61fde89b31e4878413efa185c6e35ef4e824b52a0d0d5d205ea4a4a44716d6a8319685f658d0030b5aded7688269ac8fb59694947106193daed0a778e115ed61ef1f418c280988e8c08c212ae8019122223062c4879ca2871590dd59cdd7845fcdbc47150a31d7c4d4c4d67a50e1172793d6abe3d43ce129bcf5e1e2c4184eaaea8f0c7106410f2994899b39bf8d5ffcb0a04714eef631d96b0fe9f480c24dccd1f991cae4b8dc1326cde7d89429ecbf3be9e18455e7c656376e74c87a34e11cfa367b280b139426c70e6717ea7e341bf458c2443fbb70b989d5eeae12ded4086de97055174ac2b6feea84127b20c14cea983341c29b342511224180b810d068215ce0718ccdc9ee1bf77280f81122439487312677cc1976a6e356fb3c8a518cfdc98cc17e2c3409020025f020063e192b132dd7414a4a68c06318d99885cdbe94d31f022af01046de67ea9aabc26e8cdb804730ca319a2db66cc79c14321c8dd533f000862e1bebb4654c36f8414a4ac8c0e317dfd8eb65523c7c91efe5cd19dd34d27e1ebd20c3d4be3b3905bbf8aba0a4c4080f8810095244e0c18b3d7e3fb1d3a8db983c76b1e85d883d27458fba80872e26be5d3e41232f254a1eb920d6fe5ad4534a1a1591363c70419485f63127253bf10009905ba884d2d26030100703e26030100000d8f00e23110830484026920824e2704054c839140000482a1a60502c242e1e16168d05239128300e8603813020140a84c2e1188a054996c4d2d400acfd6168ec96a71069d769cdc4c7eeb675f0d3a0bcca493cc0268bfc3487dc62984c504a94ba1efcd8dfbb14ea381fa5f7882866f0a49cee32f343a262d39d4e29cef34f250f81ce8a62963a925982a12c224d3dca5568a6eb7b7a8670bd79336cf22295abe54b7c7808106d722eb33b68866ce51b3e18a41da24cba3e967c41c6402425e866343005d0b4833286f3b851fa06f98c2eb875ca47d07f64427a88dd73dd29a65ca54be17d6a9c764f1172c650b8535809c638fc466a87ea5f559df8f605668c4433cf3a5a0af0cc4d6edb4ee6a009a2f22c66b3515786606c8df07fef6fec3aa3b9c52a992f003c749abad5ae285dfd2727156f03d868f9e4d3f3ea0c320a766d1b71af656faf414fed7d80b025bfaa4e135bb1a6ef662485a39cf7cddca20f89139ba130337c262538d53673799cb50ed23e51e47437ad39946d869f0a427dc3df9d24ecb1193a5bdc07017578ca3bf7f2f568200ab2dee9df1116bf5be8f29a09ca010e4c9422e49a29ba1b5cd29a59be05deb6a145933f12f5059bf95ac918ec5ae9f6982c0824aa736711913c98ce713d10c5c43f2c54e19989893ac9ac15855415abab8bf51bbfc42e34dc6633133e164ebf228b118acf25fe3eeafd12d6e77da5ab31131d23be6659e65df5922833dbfcd3b34df4be0393ccfee1d9ab4acd5b5590dc820b7e753cd42f6188fd9fdcb1daeedbc981b94c68b5d4001094d8a0dd6da97c779561ed1a5b103161410bd42bd36a28190984d31dbc96b806ed02244a506b51464f46577c5333b358b3af8529efc91388263c83243ce6da4d43665c671490be3bfc0ec17f02bf33e8f0b918386fc6f1a64746483cf05141fc5682ad12c55ee8a8cea0a06b339f97c1394ee34414770567b39a0839c1a1831dc678cc165612c3df5ce69111d9954918de792ab11c40391ddd152a63dfbda5175416b8629dc80f9f5bae0a8a4014836a412a7ba918608d0b825e3d4eec0dca3f5f3b00119fea2ec8f4c78551d1e54b2e5ef58aedc7dba5b606877f148109dbbdac6d4fd67bd1a241b4e829792c832e97389e1d06de8e46c040b1b6c8120d6747d60000cecb9c1da8d6a3932b417d0f5f84e7760a17ef1652b26164ccceebd9172a7f607b32517f633cabc3951d897f784c7e5022ca23d8438711562c937d7e1adb8a09ffd95e125c6b0e03d22b10c37b94ab8eb266351433a5053d60967c3782394ae416d2aa2d4aceb8523de20543ead1cb744c305e67f486ad9b8d15ab45a64c8c3e67ff6c0968c7884cb15278990c88871426364ba4360431333bc01b1480c4948e28efed40fc25096174198bd69bbcffcd049286c6889ad6a516267dc93ab70a315e44da0e4fc2e2b95baf272b0456145e0619ba2393cdb69f9bd7787aac38e9b88c5a54bd91356c1501c3de838be6fc3acfbabf703e4df0f57912299964482c32bf443091cd34e3efd2e8cb4c9eae0378711bc6662b19cbe92e8ec5feacf7ebc01c8157f1a6ad975176367e4f18d94ca3041c50d343377be0fc8ba6d5213b8ee2e7e0059254555133e2b68a88bb03ab1d73ae6c46455ab639a29b1e7a4b4e293f6c75fb659dfcbdada9a5f57ba7d64d816d30d8f4e45d0f2fb77a6a3df0e73afddf593596631c78c2d336be41c54517590634e0cc8dd9431f9115f7e51f1d5230821e2f2f5c7a85dd0d6dd88b4728046ba2ee24b61794601c8ba53b9347d416722808070e09718c1da2efb44bdfced11fbe0a38abd60115a72606e8e90f735d8b4fb6772459807d9b6a285bb2cd2794594802543c9ede9232802cce7afb4646d2fab4811847144d1684b63fb0e8e91cfd4bb29c75aff8a4d86427906343c9b79bfc1ca1aa77dba3420ba55babf3237c8de91fe4552334831bc50904d6d90a0e873f14401cb9cc289fbf49d434345a1b9be098b04d4bc5e6854380d40feb93d1351408208ccb8e0bc1ab7c8a45c19406505338f4c0d6220509cad49166f1e4df0e4f6fc49e43dcddf85bd2e09d908b78a9833782877844c0fab9e8a16c8004e1802014858d2bc9f8393c1e3e493b415e43b245a0aa41c03606be019de9060fe1c6c125fc0dcd2d6a5226a2f124c87ab0f0268ec783ecfa6f9e4addf17fef437a985e27dca2b76bc8e45a6ca5706b8e0afed5479915ca969a7eac2ad41706b3a289bbba0400007fc72b1b3f0e10d7b07d582e2d73212080118933f0b9ffe530c9cc65028d5898f3e0e9047e3931b1fdfe883236920e82e034bb80f08f733817af9e0bf9c216fb18209fe4ab57f9e240612e0447d58e6d0e92b65a46bc4323e7752ff1d9f56783a91354d551b80e136c0f8e386ffcfbefefa4a4fd9a5ddd2259e6e23e70180e1f8b4a47400b4e3c0c252082d4c53b66d7e338a4ee7e642b98982d3f4e41ea8f61da9b6375e2c0ab9ba3d50b3e9ee61a14ab3661cc8e425058f8b4ef59d0d2c8c30f9ba1030a552566fdd0e3900c73e64630dada0ffcfc989cd122223aa795ca9ba39c6df8cc570cb53a206ff7f02560ce3b1a8b1eb2bb983a28e0fd0ff668927b3aec089de8d4a68f32643af73074a4b900f4a8451b28f0b1243a3868acb03483c34c8a024abb93e601b39778f81db891c73fc4c3ae6aad8546e2b49221dbecd2b2074007d221eaa5cbe3ab0bd0e6a07f238c0589ec3ce2f4056d14e91d3017bc0f2e3a71d8b608373db943bcad213c571eab1ac49ed82235fe40e13b19435432b07a32d574dd705b6ffca238e8177a65ce7b6c30b6067dc3bed9f0afa71fe36150eef0a824098c99ec03ccb0bffbe24319d7f4fafbe82213a631d13cd114c299889d36b2b2fa3471cc44ab62dd203d933474a544f41c43446f2fb5b99cb658a10545c59a5c1c9c9a7556c1e8de801e56f071458e4545e4991dc9935666ee27439c09421eb4ed5f22cfba6b5af64905dca00c59c878999e797f3d9e89e5003b4c13365b09179f81d79cee654bfb8fb562a2fa1d9dbe8fc6c2fe85fb56bc499a5ef0174f1416c83281c1d4198f7946515cc0d21630fc65a4cdd42b935541685f1dcf5bd4b1767f0a40f8dd0ad01d1e59f7604c2f0615bd60d3df60ce60f0f559b111eceb1c84d0db8d8edcba52bec5eaa6efc65c8dd6634f8befcb08d4f4d9ed6b30aa1cb9d91e1fde2ed7bb5adc4b6878039f1f85de964dbc165f4fac9c1c97c91269da4dce42f1e914a9c805237fd77e7ecfe4042b6fad085019e930832b63fa323e50bd2edd1fdcf02212fb8478d7c477de294b42ac4f869d8c2bf5db92d31c6444907114f19f7a4dd2a5def77d58ef781a528bdf91a502fbd485dfb759f391e29fef94e8122cb5b6e4a35eef0e73c31cfbff8426a7c70cd5cd94e028735cb98cc23a7cb4b72607771c0a083fa0b880ebf988607893a7386f401a0cda1bc3b53564e2fde222e8a494c941bedabcd533c6cc14fe60d793d0797d81e3508f38ae845768e42f0e725e84668443b5e94a5af42f9f43b3270fb6efd0053930e804ac02db9642c59368db872c6b92e924c7d838978b3449f2652285bc15fd2102b194b2449b2a6839e41a52816ad9feee2cace4874c81f72439e88157be37b3288b5d5cbfb6cab4dcaa14fd26e4dd81774dfd5fd36fce7e3ab1133ffc9fa1f173b13f6f1df18df65ffdff5cb9edb64affc1f071ff0312ff8c32901284fe4bf9adfabbafafe5ede20e80fc31fc89e5d74ad05fdf69fce7ca556e25f77f30fffb3fb67e5b68475728a3bf0d03b64ea18fb75b622dd362bc5d8a5093c663de9e25fbad60f0cf55004651ef1fe03fb679ec2ae0422765e194ffbbff0def6f7f2d83f538f63663c804fa216fc30cb003fda754f8ecc08d92857f3c1aa5dfce05b1778069dd8293716b3348b72ad34089c879b0cb4088c95105a5fb6bc98ec989ec240df03aa8a1a3b76583bff77ebdf7ea06aabbd22df9eef33b7f8454071f73641206ec25606fa8f4254247502b642883c545e17ffad4c8d38fee7bb874c0920742ac140307a9185eb7431da266920877f88f712ac9acd9f809c0840a36edff1779dfdf0822697554e4de7563515c13826fbaeb2509eef4eeefe32b6d975c858df5451474dad3af0a70d0ef942d1a2f1614cb8bb9194fccf284de5499f5cb038252fb6337b8d1cab6155c8e79491baaf29fde40d976134017d8096cd7595a00d75ff0d1933063e7ca6e5b3da61e5cb157946a84ee0e90b37d7b350a38d226502b7c90a7d984a164446c88cf35999d5c6b0d61aece20fc4cbd0c2d84fdc920163b48f0a63187eaa4e116411c7b5e8b1a36f08ff2d8ebc9c601123a45daefc0397facf68cc841a0c583f2a46635ed19ca49f99eba9a3243e627c8b572a60c753af309bdf2d201a54ef563592086b76de15876390ddb9ee8118c87c535f8b3395557fed16daeb8e81e76901759fa291afb173cb715d7084a263813ed7279824845c6b990417026935be0034a4a8bdc6ff3193e62cc057617c1441bafaa45e40c14c8b099c023372c63a1b222f57afadbdb6ed5daff9d78ad6a249b2bfa05d53069cf8a21185e44916c1e6f9858537c26dc6a78d7b529b32ab001219b0daec0c3b50b17adab56fa556f2256aad86ef823cd7a011bb0c30541ff6671da393e4e0a90242172554e1f56fef41e5701c778c6466055a1997c39d01aafdd768941dce70e47055e8a7d05cd283ee98380722d9e7759963bee45909e1229bb6deca2e8b4c42b8f9eafa624d79be263f3d2896aca822b9a02851c402f43c649ce48b63713d6592415caeb93140e45ff6816daeaad6dedd5e5a56606ae5e090c4e2b329f1d07d7c2ff170ebebe0273294f0564b84eebfffae8dd8900283d1961b5a9bf750cf7dbfcbac1fa3ae627300771c909f5dab2c93a7a00d977004d54acd28cda0be41afe99a8895b33a7c4b9b94fab507336cf0fb0b8e525fc70be6a0af0d80f69aa3f90a57a106c9305f8927f3eaf58a3484e7c6c15cdbe622571424f1c6177fb1f4166b2e8ce6a51b516eb18b9e1b35ce0557f0b51cc03423fd1e03041708cab6db31c71034b2268b81d8177d76ac00a9292b67fce9bc56cf54f94f06ca860d130255b687127e8934d49985e91d528308d15bb876331d871c2694be9839002a2bcb149ecf2b9c2bc34ca666f3b9a1bf96d7b3f2fea41bc72e2e6a012cd0d80dc80a7124f2042340a5f4fbfa43cfbc0aac020610fd3e0585ff4be8d88d933220f9338fabf8360b619a81d34200f86fb713f02b3f10ca4bae18b86379166c3d53c1b9586591af0da275b3c4849489395a4840e91de443ac593adab9ab5183997001551da918812748ffbf1ab45ffd9d7d9809b85a306979b6f00d7b430f44ea68afe713e9cb96807ddead284976d70fc5bed5530d974ffc6b5344ac3b0f4cbf53d09459ad29d3897a464c72f392b0ed0e91f60fb6bc415d01da6954586619491cea54033f0997fe6dd17e27b3a453d21496325f4fc6477167dbc5624f79255a7e7c9a2de008ea89b364f50539e49d7df7f2bfdbe5f8466862e0c97c3036f82e396896a762261719af17910fdfce6228b09c79d8e9544dae2776e8df07dc39e105e61d8d7b6e656632f8c09e8d7af199a7a7d994a176d342586304502f36aa5ac07e8bb9708b385cacdd1e05fc42ac768cca4f01b02a681584021c2f73d4e0e5f2e4df802438e254857743cb7f73032afc02ba982319e4ba5a6d18486852f22020dd626b0b8d9eb0ac9bbfac34638011f6372c957c46fe63bebb80da5ab11258d62e900b54a65c06e501016dd403c643349d4c1287071993d85732fa5a6ec8346cc07884ba60ef5410987b95641ee54b65debac5b85df84f9fd26443847a1454e13426a827166d1e5518cfd657bfeda7141cd41332a9530faca7a29c0a823017225ae4d1d51f22e6db3f059a92bf78184dfb2406b242b1e1731287466d45ba0396e35c446e62423347ccacbb7a1caaeced1a17ab16dd30c5355a2b27ab87b2c8beb9c4598c1c7fffe5b573b749f078b9960503c2b5e220497a3cadd4a9a06e2acf7eda7356840d029ae0feda700faec5c3aeb46f5340002841d3a8a4a67347a0a279fc0e990e1d8e9d166ad4498f683c4891aeca7209aed07e303803c91340177d5327da99f88902ceeb5196a51c96a22d3d1fdfe7aa9fcbf7cd81d5b176786956f3bc2a1a8ae42c20ee685fba1cbec66f17c9c7f4a7a2052604b904d9a0dbbdd9f6ba8d225d3a896cb700d3525d42b14046be950d672e593b456a5939efa591072eda76a0962f683a61330aae6e05a69760e9b8124ef44839f65d0a9d99697a82a38ba06b57a5d58b74518fd747edaab25d06df06244711f85198b0c7543a54c01c421061edbc7265e58a26c580c4a18b945cc6baaa1811e405bbef99256d48819a60f76191bc7d0447447150d79954b6905a7297142aa143cc53cadfaeee44b1a3d1b2dccb2a4f13f61f4c2e2bf618fb72e5e7241499cb40a0a3343d2feca4ba135de0cfe58cde493b1b018d03f0c62af5ac1624b5a2674afb2f7caadb83deeaa5f8de1e7d47fb6f1efd74b8bc6a7b31cab7b29c8814c309e02c70e545e8ae8a7bcce1b3fd95856091fb68d530d2386bf9789c116ea109ef6d74c1f01fd0b06f9a5510eb6fc47107681335e525b59b88681e0dc589f301914fd9c34fac6df5544a9ef5f7a499f1494b1700b7594be15f193a317e4c503ef31b5effeceea0eab140e181ce2165b48cfba3f54b51158a4a79d4c36027c7aad9a2812000591f750f8810495659e45f672cabdf4121d4d25105534e830a9c9e0709f098f7b1562d4fb47f1e3a096604d8ab339526bd3d4ca62380fe9b90f3bb771bd0a1a00012528f4c7001f879b70993b8937222f14f2e8430953b1bcf08b182915ef745a37b8deaa92da65c96a5a4bb8f4f0acd20f9923b356073e3d8c397f88d74d88608eb62a404c580480561ee2cd9ce7cb3548ec87091b2b59bc8a6b425c7bebaca740eb48f06fdfa490560cd27323e8c1347f897472c77813025a86ac9c95c65dc964038c39add95cf043e45fdee0410cd6da894f6ad9dc178fd90bc34b9b129d6b095b252cae5a2956d02fa0b4e605c15580eb66ffc409398c0d5d7cd40591965c4fc041b08dc0315ac7010fed462439af2fa4f6500494ecbfdde737c2a2d214509ce5c03ce435d14a7dadd6a007815fbd8680f155ebf845c116ef7e85f554f6eac59d42e1a451268c666d3dd51d28888cb6d9b9b82a2cb4995b4e9c722e954fc2076ec369ce2df7bdef6add60dd4f91a55c691daea4eb404e4d8ee6e9462d34fd020e8c374b017ee95e5acba4f0c68400e4441d091c15663646cf4cba02a8a4c844f875ad954f47c1d6dd45bd69658784357d26813fc5afcf1f048d6a317f899e9ec2c31c185a444fdfbe4785a6f09c43a1f814ab08bf4aa30b67eb4eaf2b8bbaa40121b0772fa48a0b41b42aea0cfa88aff2616e86d34861bea7b3542448e21f772e7cf7809e7a49e87bc33f6140bd68d172c09998b1a2033dd348239f4d1a11dfae5d2f492273761bd1f112c6b46f8fdc8c9120dbe7c115dcc8494ad18b8f87c9dedc26a91618c886521172c6d202f6de00b32a6a43d76e3ea8ebd37587e032b6a3e6f0544886beb75587634ca96f61c45e67b96cdf5e01911702283586ff2ee7373cbb55e3f15e7ca749dcc43e75d19e2e08aea6c2622ddb619fccab3523b836c5ba33454b91cde94f5aa61fbe8682eca3925faf601463e5999cbf6bb0016738ab44f78bd037a6d6365002b1e20e8c78d7e895d430dca1951ce2c275488e440a945f8d119760682211fea88d46a978c6f72d8c728bb9eba60587d0914e3c3f0f035fb5bbc530e1fe8079e2441a32e88a5fd0a1d0e2400670bee37047a893ccbd3238599744137835e6dd1bceb4bf7a2b9cda00f061c678ca3df9e0962d05e53e980e4f073cdf34c66425c9025bcc822c7bfb336e5d05fb29d4edc953182ff1fda68950ecf4c1b01a6fe6ef63a31ba59b2055c0d46e57a416740e34b86ab51e050ec77a519a64c277bc7b02c57da9bad4d99481a784b2c2251a6434984d7705b4930b3e3b71b5e5b18e4551a39329c5eff8e64953132ecc7d37a48e722050a3e9657be120c8ed5377adb45bc30972b1001068f647ea37b5dfca57fe13c551d733e05911f5a0f7487a60883dd0ea9ee04c2e7d607224a8a192b23b34871fa09967ad843057fccfcf78329d2fd897e5075c429f670d9534be93262ffd5d75c5121cde9adc55419409cf4b69361dd7683508c32c5fa247cfe76a31fec398e27d2234c494216947feb5af46e33e027055301b3aaa89f5ec1d2e9af11fc0843c56c7a199d6166a35ef555e35cd00a59a5c082951e080902edea361996b63db4011aa394134b4629376c0d7d1ae2fad6476ddfb85d1f9dd723712445b35461af8b080dd624ac38ea3847e70fc00e63d053baa5a27078b577dcda54629a4a4eeb24c8cb7b4cbb3dc6c8368044eefd56496498b23446dc9c09fc2dc9c6730c3ad328cfb0f4de25aa04738edc88b8433d0e20d8d55b7290b5953c0d772eb6a0b62286cf9ca010f4b6eac5209019b499f15e257832c8cf8da38fcecec01c57ce4cd6d202a1ddeaf05e7ac2dd214859fd514c84a9ae7b471da79fe37b79255a0ed4320dec2271706e2e710a1753b184b8130c169d3ff2d341a30ec1b9faba602ddca37a3b5b7efeb6d66ee2d76b982335be39c48427ae1368203a6129582ed3c3967af7de9f2207888d593e95260597876b49918dce735e237c4a380ee9b45120292db7f5c38aa2dfea655b7781e98b2b71df09b8236d0801ebdfed9181d098a98fdef4219ed655d55e83f055ab080ab0776bc47957f1b60d4b597460be868d99f4a885fb18d0dfaa451067acf7862c06ddb3dd06756387517ffe2c5672eb3bcd93afb4c8124f2977a246b2cf5c6250bc38c2f7552e8d570b7f859ffc06ecf16740fac1acff39fa0970ce0ed78caae4edf57f2b641587ed1f9cf0498160b0dbc2e7ef0157a36d02974129fd4e9db70afe56aaade46e4f7c2e154f1de6eabed5725f6c0ac404fbc70c9a172bced9e54530c20ce0101c807c46322e452984f91b7fba1315adcdae94d273462a982dd084b7959c86b02bac281917b999fada824d69420e2386af27c43afc3a77d794fcc88b54680553d9743b5fe7a1d3dcdd7611a38112c7627b4adf925f24f401183f72a0cbbc9ae1cdf970b7e141a53eab821b9fc7af7bbbb2f040090de58b5ed143e20ffbfe6730c8e41e5969138037443bedb6c67e2f8106809db79da99669fcb7e95c851b813b9efadc62f4bdf7363d2acf22cc57e9790836e94f7c420c8752d326a6097d4b99be4688f46ead7b5195a8d8bdd6c86d629fbab8dbebbb012b56df813d4b7e166c11cb187c4580d87186699025c3da8f8330755651f92cb61c0c8555f37d4c544523860e312fa0cfe98022e1c5cb566549fdb79943653cb7c14657ed6fe661ff1b753cd0de7b578d6ec895bbcba059a80c19dc99983c680dd408232428c432afb042e0ada8e9d8f95a8ca70b6c6a40c8c06ab8d8b5d9434abb9b31633116a6885e740960bb7a3a4d9094222bca446546ea1f129a1542a19bd6355c63997e2fecbda18ecc848d7753dd4c9d9f50570ad802c13152d7e50dc9f5987f116467c8c20a1240bd35f31b992e6a1b0eb0e210b274a607e35d4c36755e511905f14ac3360dfc495f79a67687a957137fe1c529e73e50ac29b26628505d6c60051f1099d487e7b02e672406ea52604b5b6ab17727d92f0282b23ec0b7cfa7f2872714481fe3b1497d40e008f09f91b6930c01249398c494eb0a800dd25014442935e2588728c0a2800730decc897039b5d578c944ef3425121089dbc0618887e685a412b14832497c5356456bb6888f153adcc37a0eceeea44014c25daf1ee3ae4fe4227871145d26868a4ab0083aed967ccda9df5a790d1eaf546e361bd3e11b9e1edf6cd2d8f7646773bc8a34a9b2c48ffb227363f330207f5873248ff228640b1ea70a85a8f6654a361c9a71285ac3e3555cf056e993c2ad70c02658c0ffa5e3ba17b4bbc9d7aace093e61eb0d4c9ff129e76a74bb7b3e85adbcfca801a35ccf09d65df2305bc945f5cdc78625f5d5f796e7984ced73f0137a0b2d2f6197e3ce9c889972fdb2b72cb5658cab62b134c6761e8d956e187d3a1ed4f959062e82f766a758bba29f8d322e7cad3eb6abb5825e4b19b1ee991df792d581dd45f5c0a666b60642150a866a5ef79929d7ae7766f814fabfa25494f820c0c110ec25baf1e8a6b131ad4bf5732cfb7d48e7f45ca7054e50b4a82af5cadcf8165674b84de23523e3288d5bb482e6d1dbc061920c20beaf0c1d64d9ad64f89e3d97b18bc56db5928ca5552d415e1be2c275e5e5cfeabb6eac9b64e35cdb123b059be96995497ce9640afd81359ee8e1e1082244c25042f0d549274b28eca491613ba1b1d09d8bb92a2d89fbe851e6a94b30bb269a585a75f4033409b1d2ba1359a997d50fc918b4e1c68cf5537d3a1a8f26606661cfff1b79002c794bd7b4a74c8af181af3bc4c5371456016a90f7394c643e237f17ceddab06f163e6172b5e0a90939516baa8d2e92c67a2688aaa92d2c69d144762d0bec26dc8e6ae7381dfd035b2186a6ce1c88253da00dd746d12ca8f9ea23142f256ac2215020f16fe677065e080e57b78191d3ef4e65f6d4452f27dc0b41b129f28a864cbcc0e4137cadc3a83f3d6af5ed6582b5dac973dfdb657c3b247bd19a28167faeaa29e479c00d13b627a7cfbc7608e0e875f2d7beec04320b086d4df8580f3e66c11957a3551daf456ba0d043f2881b952ac9ab8b382998b3a9eea96c1c703b774f30b01434cc9afc19fbb7f7fedfb0ec8afc451fcd52375414e25d35eb9188e8545b96c0fc2147831f2ca00c64771d87cc80ad66fd820b17f40c7b3d53ba029b25a1c0e8730af467a9a32f8edf6e100612fe4fb0d08a4ca5e029b6d019cf28677cd20b8f0e42d5ec5fb1b522481febe7d0dc17033f7fda21ec42a90a6514add8b95fb7cc33f60605d5888e1b66b826dae6d5ab6769c2fd759d08208e8cd58daf7cfdb8b2f8719e8b0ea16991256b8a71c245d20be3f40f5853b8ec409d7af91c186bff437bcbe62646e3fe0380c52060a46344a55df2eb41003a7b2804eae537cbbbe80d11f494028fb1d3c154fe9f8a1457a83e76c90d4a36c1b93407f5972b39c692e24f7c03e3b78c5b3d804ffc35f3c733194b1f81b2b530be99e54a851242e80b0ac29718963267c1fa537db0221a8b0d9b6672d0e6a347097bdb1887fa516cdb1e074cfbb95722aa2fa3f19969c661f13485cb970d49881a62584a0bf5470082f02e3d85e46d53f177594feff563aa6667c6d8a3dda3ce3ddacf7ccf7e071be4fe3994ab899043b0095c00a393532af5eea5d0fb98e740e652889196144331456adade6512f79252f903a95075c933ddedc2ee702f17f54f21f56740d100af214d4514d77f7d5965c248a5543648ace6c48f3e6a7375237f806c692165f4b0c25dfecd8feaf009a6e4e799ef87744e441056b3f40fbe34e933dc504bef00eaaac58b9af7cb75422eeb16ebf4855dca2d5398f2a308c1fd2d9f7041529600e0186e95963e1740dbac4d5ef32e58b8e4109b65518ab3d4109dbbdccc8aa05247796113282daa1fbbacbf5a5c905359541b39a662eab24e46056b9066c353795bc24e0c7c3ab61f00c48147928418b35d3f5e261b16a0f5410df3e67cdbf4ddec6c536dc97df871342bc18d6f5617db22138341f4322f9d3bc7524be420236e31a09fbe00420a1845b5fd50435e6e7f979ba0a6913f3febc8272da1bb151f459bce4a77e1713a352c52d11a990713f8f55be6501bd6ca877157f39776f9d9fb0820fd9ad5ff89635742975689e30d9f9e01e6c1d047408c295febfab41b195c83d1b12a352b3482b23196fb559cfaa328fd0531b79e4e97c3739d0feb981568365392ef1c7f4e07779745614f42a979e091d2ffc7780a15cddcf7b9f73e03dd755fb690af330705ea7c9962fdeb8c5dfbd10cb1954511926a6c608bd62f6cdb49199052e765bc4d9d2cfc56b80b92da084e7fb3da46314537c3c44da07c3a0d3b1ea22fc9bcc5d213201a859b807caf2106f4186846d3ece933955240d33ad5d0a088e90c9447bd7ccea1d55d8d2dea9f96ec759d868243b50ca09e02bba80b5efc7f5a3cb4eaa6dafe6e02c1765092afcf7c99cef2002be9a23039ac6b3d083ddc9e627da34e14451c4a57bb42301e4aa19365798c0ead0e8a2b8daa4e9e63d0cb73e846981c4c8cfbe7f70229c9b990864c053631e7ae75be7a2c137e639470ef6570dc2d80acc204380a903423cdf060c5b21cc2c522e3ecc01e5f83d5a0c3009e725f7df8d4398472fccb9a5ee7d0d217430d78f51dfe1ac5e42780cf57fd46c072090890d0246ea6faea24e9b3d86a2182dec458b2e591bd94d602b49765bc8f00da8fcabf1e7922b669a0b9178fd56f4b2409f0daa199c0f8087a65f997132ca3fa1e1006617158b06ae377589bef17d6aaa3c9284c9fabb5b8e939e7468baa644b8210d2dd7c73fdd5f409fb4bfb8f75d4906a43116495014f12345e474d832cdf991755fac632d8e1e2b9b732ac8e64612f8f39063fd5873b60836a9491ee32fdfe20e8f73bbdd564e20490eddf9ba24eb1bed0e5ec83e95844a6d46eb02e1e63f08ebc5dc1bb981e4b443d091b5406caa2df003d856e3b26e11c01496f25d514544ae41f665e8a4be3667a0da6e9ef78b874829e5d063ae8535ed55417f8643096ca00e433dd093fc26e6b310a06d06a2c8997173cbecde3a176f66e5ed5109c9e145a0d8de49279481f2482c5b8634f16fd32b413bc54eb11462b1e1246f805f9344f499584f41a6ff66208c2b094f1921c5af86ff23eb9cbfc0878c7810e29e78726ce798b9457834dfce7a02629a17e7095513a573d8984c2aa170dbfbcbe4cf3f44df37e980d138e2d497f6ba5d3ca40a3a5c329552dd382d0916c65dd2366f608549fd24b6eeaa5598f2689e972e7819459ce085d4b19697113a5adaea552df02930e1b5ea021b99c5203ddff3c262a6ac79385b2f7aef96e98198e5734ba8513259db8fcc209fc05c6da791111b7f1149eabf247d26134993a2d2cdd0b0b6cbba9191655c011be0e501118a003b36d903138300d2de76d58866fc7fe94bde9da6633e34f92d7a5ca9af331eb1b2cb39884670cc711634b738cbf89ce87ad919fe7f3bdc69215fac5bd4c0de8ac549a94d599dfb278b0e31d75bdac417cfe232aa8d3887a6644206bd4375650b62e79fd788c7e6aa8c242a9a8c5be54801c3237e0b0ed931703086ed7506f6aba0cf5dbc945398ef707bbdf0c89052f76e5eeef0e5063b584bd22942e839dbf12d7e6ec5f95e16f4d6c9db70da6659d7b7b835adf232c63c82656a8d250b8e67100a3126643179254d1e68a2411b10131bea9cd3d733ea948ba828fe3d0f4594ccafd2435557ac4a428523acc283462a96cde73379adacf7ecb75e5f444cb6cd33164c0677a23185096ba477abba178a8afaa46391fec1d5586b325714e4a08fa8f10f2c0d0a6cce17f4c352127dc787b5d3c9ee6c871884a0d9eaf75424d2b9df166e2b6020a5c11daa2aec6bf659a196c94f998bd2f15eb9bbe91b03361d75b17e80c6f3c7059326e735862f0769fbad9dd49b6fcee438e8b788cbc11b0b1527240c2d9e9184056db5fbac364572a7d633d617ffaa6b886262f12b981c14312a2c9752209f9d995de8d00a5b011245c541284ac85b25efece8ac6b0464f503de1075ebb7f713f7abac474cf4a832f3bde0e9b110f9aac70cbf27c6c0887695aabaf49719b38dc00112dfffafdc2850434158a98e6f7d804b66ec581f84b73f7650c39f19e03c08baec44b1772e0b5bf622009357684e264b1895e2f6c745a66f59e6fd659feb29e97f73b4e40a7bcf789c802a73f67d004eb60f73c7fe27de6b67af6cd70f7c820eafe547a15fbc0f095484acbe4247f0fc1d014ad62a73631eb76cdefdd9768aa66912e71a4503c36f39642f49d83a937b74ecda15a841f5ec0291130566eb5a5a77eedf9282be94e424ff6c33b943051d11cbf112155d3a3a4fd470d0994bffcdca6c8681230c1dd8265a7edd078abdb24eb1c13b0393cbaf2ce45c91e214822b6965e4e2b67fbefe3807ebde5d8929598d87da9da2e0cd17139b0fdd5ad5eb38d78231a43c523cc1b415bde3b3da19b5eae2b84b7db800a489f76673d74d8d11d5591aa6c0666566301ab116a7d6975369f316f069954e90bd12dc4a5291f4a213a1493e4333cefb5908b0b71e02c1763d6c26cc8132a9cecf757d7149f21ddd050e350e6d6404d8c2b437051d279306fddd65249ceb8fbb0d438b1f750c7dc3b54ef79592442424ad180af973814e276657145b6a05b0049884da8a162086130e08daf4ad55de0172d85880a5056da521cc8d600964e0e79baf73c08c2208841952021a4f0de127a3033ee98d830d30cf7a2ceab150de71164640fa781e25112330be9a8525b6ae3ca6d120a0965b000e6700a3524c9423bce0bdded65882e2df17aa8c71b6a043f149bd2df100a63396328dbb2d191fa4e574724f7d6b47b6ed0078f0d4894f3576e438632da985dcb71660712fd534ae1c113c850c84aafc9e025c33609f41047634ab78eaa4cf7d46cda7e7eb4b567be710c5d6ecbd0183936a76565f9b2b8315c3c38bcca6d1370f8a27ffb088540470fd36cf49740eee8bba9886c4611f0c06f7215dc8ca3c634026cf4d3fea3a147a0b05d231532267c21a4dcde29df3c446b20ba9fff44b190ac4fe37d48147df7fc055984e857e972a491100669be3d6fd3e4217673a580610d2c22a8cb6fe5a5ab808add12ffe8ed5d0f41d51644ef16e0578c2be8bc83511240c4b90c8e23d734a4f477c101ca41730870c4b451d2ec3f9310ae819ca62435ab18fd7861c40bc3f60d59362d7df0e8e68bdb09f21be5b52828ac0ebfeaff405b5766f7270d6ae63f2f64b18ba28349166bd871acb155cc62c520a32eb3e23f3c8dc6816bcd8b9cd4ece7a39c38e9596793c11a914b5d21ea74d51c4057e305b8c378ffed4d9a9de8be129cb630e70c1d33fd4f830804dc68e50c3f5f59bea2bf870e70fe17114cca40d2ca9a99deb7a32b86d28f3055b4be0f7deebc9e21155aa3e89cda96cf76cc860dd23e922725f1cb4ec38f16907dab2ced9ad65b2313537d7b40242432e78d977c09a3f80f9e2c8332c7b27884a9c30e590253c5ef1622a3fcb2eb84609cf838e8d27e2832267dbfac0b722e9cd72ca87a7e63063c41c4669f9a06fea493de6dadde8fe4c4301f956bf5177511e95c4ae589fe2dc3a48534cb0ec543e5ac5fe56470d9ad2a47941ea095b7403277b71fca5b59c0eceb43100eba89c9243531405b9377a47fd2ace680f812615bd48e033bf84e13ea207cd80d4b845fe96c48c4d6c1be08f18b9b0f394c195863b471365be6fd618f24960ffdf989e8b6a324c70c7c895dcdee1163a5c884433d2612636277aa70296027ac1c9c50e17b90b0d6b467451f6b91aa26834b32e522df67262bb6223f81ddc8a61f9853d082a981d9f4f0ed4db8a6570cc62cd314204b6fdb0e7494748672cb97fc95dd415017a55db671bbe3e3374f659eb390d0890555bd4ec288aebcc045cf97b6b9f250e6587e9612c7e65b3892b664f1ccfb345ecbaee5f23201115e4e4be11eb3963fb04aefc7e0da03add83baeab8d62068564ec085083ead87007e92f925ead17b3f01647b3dbd747a51eff082177dba3ff8aa8d961b84926609e3128095ac34dc5c1fed6b79bad4f81c6aabc0a5825a23527412f44d266834e7be4b1497c5248fc2ad2f29d8ce2921be2170bb6c98d3a208c864c8dc26eba0a17c69b0a96f7d5e0e06ea325cb6337f182e22a08657489245d653c13bcc50398d637f188607dd11fc94444c719e895106a3f9c151b15ccf8ea6729214340aa438a9773fe4df6882e6a2a8dde36c7011f81205a58ce71778058beb4cf064ed702eb9cf5951ac179c941a052377e10a6f29f96367d3480f10da5adad8cc6c2b6af4f0ab1ae72b18b250dbca1ef4acc0a9388de0a1587e659a999155e2955a370a676284b955179c7942a37aca9dc449113c78866fd2b6d9eb7deaf1a6f5de7cd986f83ba53c7dd39b14b641cf5c0ff848e56a6f3ede60215dcc0878dcad210b515f3dcadfe9a026357a04c45ef97a590fc8f02b3812762228447fcb982d9c595b04b8bdfbac7fa66f6c56d09ac0e12b53b8983114de0acc1aea8b858fcb1f060de68a70e55e16aaff92fb45a1a5a57bbfa35752d9ed357dfc899c4dc8a9f394b343808fe031046b36bc96691269ef9180ac9895cd9a256595bdfb8f6ae58bba58d76abe75ad4ca718e696045722d7cf5057d815e73f0e045666f281e2046d7e25d3ec8d39f32cb1381a66fcea49d99d529ac9f435b81f32e9e58b8db1bad5fd772dd5bb863076a654524f2ea1f9ebd37dabc8f82d16dc35cc68b7ba573c6ea4c43d54a87c132993e5147b457eaa081c61cd84dc3ae23277e7601c08a2a44267b61084f106f6218a030c7741b57a4bcef4ee21a41cb8b2de9b2036fe72a146b95992bf0f9482449aa293e25257353228908cc341bb23e9e95515e4fa1aeab00fefcf41a6bcbcd37894af01a3bd98d33dcc752d5e97fc7a98ac39f2a2d756798ef9747edac9daa73d8d3bbf659192a4d4a96ee85c84e876610cfb21e01ddf3a70952d5dd202d6a98003d90e0d1d180a6ac120a813a695fe57b62735fb6e0250a8f55828debd3f9e1810406aa1dca7d3c40c9497b3bbe7d8b91d6503212af25777ae04d54435c8cefbfb2e42841d7674518e6ec8804f47239e7d4bf6d6964628427b7e68143a821e89677820071b0e50046802a90c7437494cbf18d6d1af96245f230b01aac274b8f5770fb9141bcc458cb575945fb80585649266ce6608d632563e640478356396ec5bcbbaf4711115ffd2e1f6216268a7c5fbc473065008d5053114d7f2321968e543fb210e96ad9d1371faebc6c0e380e7d77d4f052a5ae7842f9bba533e2a825bd2a8737eb603624107b4edb0e7b15e934f8e8518cecaa59ca5bec8a6f8c57346ba22d02e9d55cb229b5e007b5655b311260017c1c00d211c99c2e726c8478cf6aa535fbf10998d549b57687cb6c6eb24b1846b36329348e7481f7c169f3e801f02433f905252b008a47c80c3a009ba403d7755dd7755dd7755dd7755d0300000000000000d81c8d6cda6f56a7d594a49cf8226a2cff99b74929659232498b8919c2afef5c1747b400ae00b400bd38c1e74b55465b958fe9a662ddb931d87b27d79caa0823df6d2ff7ec5f24a7cd097bf1fa7e0eba80afa2f27754a95eea0f518b7c961c63f59e34328da08845f4b8da3273c7a8145c9c6805ebefdcf5982fe5fb9a2af6c1d658e7f354307dd75cd810a5d8870b1b7bcb14870845a7d5fc25569ffb9fe984ff8a6dbde4c7ad5a629189d494abc494faa6f99e9b0f3713a212cbcebe8a45d8e9356b92800b3db5b89a3796da1285680437cbb55a3255b51e530901cf391be289596b0932a7f720ab48885b97d95c71e2fcdd180571bb6e31b8fdd6a9b40d4415d386acec456da5da8f5c859dacde41770fd387c2a8eb3c735d6e6ba9474ca654b3d604231e4f9df2ce97f059d573b4c3a9c878178c5075998a3127d2c1f9ebb1b869d382ea9be3a56f5d4ed5e9e2c5cc428423becdfeb7dad7f7527f23a167fa7b2a7d29ad6483418f0e17e7bf2bf64da986b3e6a9b3f9ebc754718888066fbb85db8bf1bbdd9e0103df98aec6555c3ad7605b57a790155371deadb15b083b95721b4d498ca9671e53c5484ac7b5a0fbc25cc7eb348a921963c7e6b90e455954f1f1fad6d193c61a5b63826a39f97d10aeb7367b393e57e31e3843d4843f5f635598bfcf62464cd6dd47a6bea583063a217f10210e40112d498cf95367df3442672b52b2d6f2d82ffdab28c9f26605996e6f2e44c20afaaf6aee7eb9d47e2435e58eddba4523ef9ceab307df1561ce5762fefea5884862cba9b7f035790e96ceb49c514d5dd06081089b504d87cfcd4c42580c426200433a3b39050288e8190500423a3b180804f00ebcd3e1866d1008d0c9c149a00140f6a647570bdd1f64acc669daa1a101798e07c4277a62e8e653212a830322a33c08a2312270a09890eb801c64200aa33e219b1a1d06a33ea1f801f4457d42203e71c7e3491079519f504e8d8e8dc79320ea7220e2f2cffcf5fba4d84bfcbc65bd6fa7def94bcc2b7e8d167ec82d37bbb146591ab77f8dddeb3667c5812007d1d0e8dc7c423929c2f2d4f5d2a6912deb757fc5bf9765da5e4adbdb65253d5bff516380b4a8d11541c41091110905db1891848428849462062962a51e124060498ee338046410902144116208210245948008ad12094446e71a73bea2ae422c5392da072815a9b1d4e29024f11164874bdcf76dc1386c3e26d69005de9135221a42612a97ab9772982d3505b950aaa7c62e41b974420340b3393c786b829cea0fe182cfeab3b475a511e4584b1176302547fa66d6ae995871a0c8d088e96634bd182c19c14d2c331d3dc4a966cca794d077a6b0bb74b6af679bbe587782f0d4707f9adac8e2b9b286b83ede721f7c14640b1c22960fa873bcae56156599351100f1d8c308de6bdb0c70f497d5aa59d9c492086a4788aadfbd181da2bf04a0bca88200e8b879d30489b7f7524b1f583fa1d2694223cefe22c7a26e3cfdb86dbc5c43703af66718fdcd0c99b1ec5739c86c72a81a02721f9517356a391a0ef8d70c01596fa921becb0c130b7ce8e3f666612425880e543eba685b6288291e2f1041713aeed4f6024df2b28fae75dfb8d2a4903ec068f1a927ff36d1db0f16239f56ae9bd8bb3378fcb80ac0f5417aa8ef778ef0183c7d9ac50228cb52474a1bc64e644f7f88756a7081d7961c0e7d425afb488f8057e5d7b56a5d85c463ca29c8ac408a0757c9aec481a6ca7fd35c3c2ec04e0ab8909602901320f0f90363631bf1767799ad1e07933184a0896c5184a09c7b91e22c87131a277ab21801a5e27bff20adfbd867fecd5f709af1b3128a905f460d1edb534d1e64e72914e05ad5753785801ee3464a082589fb114f48010225", - "0x3a65787472696e7369635f696e646578": "0x00000000", - "0x3a6772616e6470615f617574686f726974696573": "0x0110df2bd047eb78e899e076aedbb604e8cb63d994dc35429a0e86e76323c2b6cf9c0100000000000000db2c1700c11f8a0bfe9f1f935bb39a5b28074df06a51bee561b1987b1f88cdab01000000000000008a21c7e8324c550a97b58523cbdf57801f306725be3ee176203677105513ceb40100000000000000074136bcb202b26df56e0deecd4807b5177c987aefe11aa23204505711f3b4c40100000000000000", - "0x3d9cad2baf702e20b136f4c8900cd8024e7b9012096b41c4eb3aaf947f6ea429": "0x0000", - "0x3db7a24cfdc9de785974746c14a99df94e7b9012096b41c4eb3aaf947f6ea429": "0x0300", - "0x3f1467a096bcd71a5b6a0c8155e208104e7b9012096b41c4eb3aaf947f6ea429": "0x0000", - "0x3fba98689ebed1138735e0e7a5a790ab4e7b9012096b41c4eb3aaf947f6ea429": "0x0000", - "0x3fba98689ebed1138735e0e7a5a790abee99a84ccbfb4b82e714617e5e06f6f7": "0xd0070000", - "0x42b50b77ef717947e7043bb52127d6654e7b9012096b41c4eb3aaf947f6ea429": "0x0000", - "0x4da2c41eaffa8e1a791c5d65beeefd1f028685274e698e781f7f2766cba0cc8300000000": "0x1003000000010000000000000002000000abc3f086f5ac20eaab792c75933b2e196307835a61a955be82aa63bc0ff9617a0600000010ac1799757a742c3c22be09c8ba6ea5d7e29981068897aa23c762fc8dd1ef876708edee5045683123d8550008f194b4f63875a9865620a578e93127dd9608826086ffd146349c1fe66b6d1b5142a5acaf70b4656f39fc0a6ec96e712c5b67de4d28b039ebf418c3986f0080f8a50eba030b4d5c46ad8acfb1ff5b82343f34fb5c000000000000000000000000000000000000000100000000000000", - "0x4da2c41eaffa8e1a791c5d65beeefd1f4e7b9012096b41c4eb3aaf947f6ea429": "0x0100", - "0x4da2c41eaffa8e1a791c5d65beeefd1f5762b52ec4f696c1235b20491a567f8500000000": "0x00", - "0x4da2c41eaffa8e1a791c5d65beeefd1fff4a51b74593c3708682038efe5323b5": "0x00000000", - "0x50e709b04947c0cd2f04727ef76e88f64e7b9012096b41c4eb3aaf947f6ea429": "0x0000", - "0x5c0d1176a568c1f92944340dbfed9e9c4e7b9012096b41c4eb3aaf947f6ea429": "0x0000", - "0x5c0d1176a568c1f92944340dbfed9e9c530ebca703c85910e7164cb7d1c9e47b": "0x340ca3b6bf3f0989bba6befb5a9bc14a1d2819b7d7ffaef6eb01e09cce86bb65", - "0x5f27b51b5ec208ee9cb25b55d8728243308ce9615de0775a82f8a94dc3d285a1": "0x01", - "0x5f27b51b5ec208ee9cb25b55d87282434e7b9012096b41c4eb3aaf947f6ea429": "0x0000", - "0x5f3e4907f716ac89b6347d15ececedca0b6a45321efae92aea15e0740ec7afe7": "0x00000000", - "0x5f3e4907f716ac89b6347d15ececedca138e71612491192d68deab7e6f563fe1": "0x04000000", - "0x5f3e4907f716ac89b6347d15ececedca28dccb559b95c40168a1b2696581b5a7": "0x00000000000000000000000000000000", - "0x5f3e4907f716ac89b6347d15ececedca308ce9615de0775a82f8a94dc3d285a1": "0x06", - "0x5f3e4907f716ac89b6347d15ececedca3ed14b45ed20d054f05e37e2542cfe7057ad0b620233e4bd585c825c0239aa16cdc3b33458538c8a8d2e06871a2058db0462f65b051ff239": "0x585c825c0239aa16cdc3b33458538c8a8d2e06871a2058db0462f65b051ff239", - "0x5f3e4907f716ac89b6347d15ececedca3ed14b45ed20d054f05e37e2542cfe707327ffec9f4e3aae38032e6d4cbdcf2e9f7ee64772070898b5e8e5668f3187616c7186c40e468279": "0x38032e6d4cbdcf2e9f7ee64772070898b5e8e5668f3187616c7186c40e468279", - "0x5f3e4907f716ac89b6347d15ececedca3ed14b45ed20d054f05e37e2542cfe70ef2c791691f7e8884458980cd4641148120e85c2a060fbb489c3085ca1673eb204c953483824e929": "0x4458980cd4641148120e85c2a060fbb489c3085ca1673eb204c953483824e929", - "0x5f3e4907f716ac89b6347d15ececedca3ed14b45ed20d054f05e37e2542cfe70f6e048504d0c2d7d340ca3b6bf3f0989bba6befb5a9bc14a1d2819b7d7ffaef6eb01e09cce86bb65": "0x340ca3b6bf3f0989bba6befb5a9bc14a1d2819b7d7ffaef6eb01e09cce86bb65", - "0x5f3e4907f716ac89b6347d15ececedca422adb579f1dbf4f3886c5cfa3bb8cc47e38d6399f9eb96f2ed6c58d84b87e984458980cd4641148120e85c2a060fbb489c3085ca1673eb204c953483824e929": "0x4458980cd4641148120e85c2a060fbb489c3085ca1673eb204c953483824e9290b00407a10f35a0b00407a10f35a0000", - "0x5f3e4907f716ac89b6347d15ececedca422adb579f1dbf4f3886c5cfa3bb8cc48bd7fbe93f8307691b98dcd4b513ab79340ca3b6bf3f0989bba6befb5a9bc14a1d2819b7d7ffaef6eb01e09cce86bb65": "0x340ca3b6bf3f0989bba6befb5a9bc14a1d2819b7d7ffaef6eb01e09cce86bb650b00407a10f35a0b00407a10f35a0000", - "0x5f3e4907f716ac89b6347d15ececedca422adb579f1dbf4f3886c5cfa3bb8cc4b032edfca52ad56c48503c9d57186bb738032e6d4cbdcf2e9f7ee64772070898b5e8e5668f3187616c7186c40e468279": "0x38032e6d4cbdcf2e9f7ee64772070898b5e8e5668f3187616c7186c40e4682790b00407a10f35a0b00407a10f35a0000", - "0x5f3e4907f716ac89b6347d15ececedca422adb579f1dbf4f3886c5cfa3bb8cc4e07c5822a04c0653b0d53c94462639eb585c825c0239aa16cdc3b33458538c8a8d2e06871a2058db0462f65b051ff239": "0x585c825c0239aa16cdc3b33458538c8a8d2e06871a2058db0462f65b051ff2390b00407a10f35a0b00407a10f35a0000", - "0x5f3e4907f716ac89b6347d15ececedca42982b9d6c7acc99faa9094c912372c2b4def25cfda6ef3a0000000057ad0b620233e4bd585c825c0239aa16cdc3b33458538c8a8d2e06871a2058db0462f65b051ff239": "0x0b00407a10f35a0b00407a10f35a00", - "0x5f3e4907f716ac89b6347d15ececedca42982b9d6c7acc99faa9094c912372c2b4def25cfda6ef3a000000007327ffec9f4e3aae38032e6d4cbdcf2e9f7ee64772070898b5e8e5668f3187616c7186c40e468279": "0x0b00407a10f35a0b00407a10f35a00", - "0x5f3e4907f716ac89b6347d15ececedca42982b9d6c7acc99faa9094c912372c2b4def25cfda6ef3a00000000ef2c791691f7e8884458980cd4641148120e85c2a060fbb489c3085ca1673eb204c953483824e929": "0x0b00407a10f35a0b00407a10f35a00", - "0x5f3e4907f716ac89b6347d15ececedca42982b9d6c7acc99faa9094c912372c2b4def25cfda6ef3a00000000f6e048504d0c2d7d340ca3b6bf3f0989bba6befb5a9bc14a1d2819b7d7ffaef6eb01e09cce86bb65": "0x0b00407a10f35a0b00407a10f35a00", - "0x5f3e4907f716ac89b6347d15ececedca487df464e44a534ba6b0cbb32407b587": "0x0000000000", - "0x5f3e4907f716ac89b6347d15ececedca4e7b9012096b41c4eb3aaf947f6ea429": "0x0000", - "0x5f3e4907f716ac89b6347d15ececedca5579297f4dfb9609e7e4c2ebab9ce40a": "0x08be5ddb1579b72e84524fc29e78609e3caf42e85aa118ebfe0b0ad404b5bdd25ffe65717dad0447d715f660a0a58411de509b42e6efb8375f562f58a554d5860e", - "0x5f3e4907f716ac89b6347d15ececedca666fdcbb473985b3ac933d13f4acff8d": "0x00000000000000000000000000000000", - "0x5f3e4907f716ac89b6347d15ececedca682db92dde20a10d96d00ff0e9e221c0b4def25cfda6ef3a0000000057ad0b620233e4bd585c825c0239aa16cdc3b33458538c8a8d2e06871a2058db0462f65b051ff239": "0x0000", - "0x5f3e4907f716ac89b6347d15ececedca682db92dde20a10d96d00ff0e9e221c0b4def25cfda6ef3a000000007327ffec9f4e3aae38032e6d4cbdcf2e9f7ee64772070898b5e8e5668f3187616c7186c40e468279": "0x0000", - "0x5f3e4907f716ac89b6347d15ececedca682db92dde20a10d96d00ff0e9e221c0b4def25cfda6ef3a00000000ef2c791691f7e8884458980cd4641148120e85c2a060fbb489c3085ca1673eb204c953483824e929": "0x0000", - "0x5f3e4907f716ac89b6347d15ececedca682db92dde20a10d96d00ff0e9e221c0b4def25cfda6ef3a00000000f6e048504d0c2d7d340ca3b6bf3f0989bba6befb5a9bc14a1d2819b7d7ffaef6eb01e09cce86bb65": "0x0000", - "0x5f3e4907f716ac89b6347d15ececedca6ddc7809c6da9bb6093ee22e0fda4ba8": "0x04000000", - "0x5f3e4907f716ac89b6347d15ececedca88dcde934c658227ee1dfafcd6e1690357ad0b620233e4bd585c825c0239aa16cdc3b33458538c8a8d2e06871a2058db0462f65b051ff239": "0x0000", - "0x5f3e4907f716ac89b6347d15ececedca88dcde934c658227ee1dfafcd6e169037327ffec9f4e3aae38032e6d4cbdcf2e9f7ee64772070898b5e8e5668f3187616c7186c40e468279": "0x0000", - "0x5f3e4907f716ac89b6347d15ececedca88dcde934c658227ee1dfafcd6e16903ef2c791691f7e8884458980cd4641148120e85c2a060fbb489c3085ca1673eb204c953483824e929": "0x0000", - "0x5f3e4907f716ac89b6347d15ececedca88dcde934c658227ee1dfafcd6e16903f6e048504d0c2d7d340ca3b6bf3f0989bba6befb5a9bc14a1d2819b7d7ffaef6eb01e09cce86bb65": "0x0000", - "0x5f3e4907f716ac89b6347d15ececedca8bde0a0ea8864605e3b68ed9cb2da01bb4def25cfda6ef3a0000000057ad0b620233e4bd585c825c0239aa16cdc3b33458538c8a8d2e06871a2058db0462f65b051ff239": "0x0b00407a10f35a0b00407a10f35a00", - "0x5f3e4907f716ac89b6347d15ececedca8bde0a0ea8864605e3b68ed9cb2da01bb4def25cfda6ef3a000000007327ffec9f4e3aae38032e6d4cbdcf2e9f7ee64772070898b5e8e5668f3187616c7186c40e468279": "0x0b00407a10f35a0b00407a10f35a00", - "0x5f3e4907f716ac89b6347d15ececedca8bde0a0ea8864605e3b68ed9cb2da01bb4def25cfda6ef3a00000000ef2c791691f7e8884458980cd4641148120e85c2a060fbb489c3085ca1673eb204c953483824e929": "0x0b00407a10f35a0b00407a10f35a00", - "0x5f3e4907f716ac89b6347d15ececedca8bde0a0ea8864605e3b68ed9cb2da01bb4def25cfda6ef3a00000000f6e048504d0c2d7d340ca3b6bf3f0989bba6befb5a9bc14a1d2819b7d7ffaef6eb01e09cce86bb65": "0x0b00407a10f35a0b00407a10f35a00", - "0x5f3e4907f716ac89b6347d15ececedca9220e172bed316605f73f1ff7b4ade9857ad0b620233e4bd585c825c0239aa16cdc3b33458538c8a8d2e06871a2058db0462f65b051ff239": "0x00", - "0x5f3e4907f716ac89b6347d15ececedca9220e172bed316605f73f1ff7b4ade987327ffec9f4e3aae38032e6d4cbdcf2e9f7ee64772070898b5e8e5668f3187616c7186c40e468279": "0x00", - "0x5f3e4907f716ac89b6347d15ececedca9220e172bed316605f73f1ff7b4ade98ef2c791691f7e8884458980cd4641148120e85c2a060fbb489c3085ca1673eb204c953483824e929": "0x00", - "0x5f3e4907f716ac89b6347d15ececedca9220e172bed316605f73f1ff7b4ade98f6e048504d0c2d7d340ca3b6bf3f0989bba6befb5a9bc14a1d2819b7d7ffaef6eb01e09cce86bb65": "0x00", - "0x5f3e4907f716ac89b6347d15ececedcaa141c4fe67c2d11f4a10c6aca7a79a04b4def25cfda6ef3a00000000": "0x0000e941cc6b01000000000000000000", - "0x5f3e4907f716ac89b6347d15ececedcaac0a2cbf8e355f5ea6cb2de8727bfb0c": "0x54000000", - "0x5f3e4907f716ac89b6347d15ececedcaad811cd65a470ddc5f1d628ff0550982b4def25cfda6ef3a00000000": "0x00000000", - "0x5f3e4907f716ac89b6347d15ececedcab49a2738eeb30896aacb8b3fb46471bd": "0x01000000", - "0x5f3e4907f716ac89b6347d15ececedcac0d39ff577af2cc6b67ac3641fa9c4e7": "0x01000000", - "0x5f3e4907f716ac89b6347d15ececedcac29a0310e1bb45d20cace77ccb62c97d": "0x00e1f505", - "0x5f3e4907f716ac89b6347d15ececedcaea07de2b8f010516dca3f7ef52f7ac5a": "0x040000000000000000", - "0x5f3e4907f716ac89b6347d15ececedcaed441ceb81326c56263efbb60c95c2e4": "0x00000000000000000000000000000000", - "0x5f3e4907f716ac89b6347d15ececedcaf7dad0317324aecae8744b87fc95f2f3": "0x00", - "0x5f9cc45b7a00c5899361e1c6099678dc4e7b9012096b41c4eb3aaf947f6ea429": "0x0400", - "0x5f9cc45b7a00c5899361e1c6099678dc8a2d09463effcc78a22d75b9cb87dffc": "0x0000000000000000", - "0x5f9cc45b7a00c5899361e1c6099678dcd47cb8f5328af743ddfb361e7180e7fcbb1bdbcacd6ac9340000000000000000": "0x00000000", - "0x63f78c98723ddc9073523ef3beefda0c4e7b9012096b41c4eb3aaf947f6ea429": "0x0000", - "0x6a0da05ca59913bc38a8630590f2627c2a351b6a99a5b21324516e668bb86a57": "0x00", - "0x6a0da05ca59913bc38a8630590f2627c4e7b9012096b41c4eb3aaf947f6ea429": "0x0000", - "0x6ac983d82528bf1595ab26438ae5b2cf4e7b9012096b41c4eb3aaf947f6ea429": "0x0000", - "0x6cf4040bbce30824850f1a4823d8c65f4e7b9012096b41c4eb3aaf947f6ea429": "0x0000", - "0x7474449cca95dc5d0c00e71735a6d17d4e7b9012096b41c4eb3aaf947f6ea429": "0x0000", - "0x74dd702da46f77d7acf77f5a48d4af7d4e7b9012096b41c4eb3aaf947f6ea429": "0x0000", - "0x74dd702da46f77d7acf77f5a48d4af7d62556a85fcb7c61b2c6c750924846b1557ad0b620233e4bd585c825c0239aa16cdc3b33458538c8a8d2e06871a2058db0462f65b051ff239": "0x585c825c0239aa16cdc3b33458538c8a8d2e06871a2058db0462f65b051ff239014458980cd4641148120e85c2a060fbb489c3085ca1673eb204c953483824e92900e7f10262de5b000000407a10f35a0000", - "0x74dd702da46f77d7acf77f5a48d4af7d62556a85fcb7c61b2c6c750924846b157327ffec9f4e3aae38032e6d4cbdcf2e9f7ee64772070898b5e8e5668f3187616c7186c40e468279": "0x38032e6d4cbdcf2e9f7ee64772070898b5e8e5668f3187616c7186c40e46827901340ca3b6bf3f0989bba6befb5a9bc14a1d2819b7d7ffaef6eb01e09cce86bb65014458980cd4641148120e85c2a060fbb489c3085ca1673eb204c953483824e929e7f10262de5b000000407a10f35a0000", - "0x74dd702da46f77d7acf77f5a48d4af7d62556a85fcb7c61b2c6c750924846b15ef2c791691f7e8884458980cd4641148120e85c2a060fbb489c3085ca1673eb204c953483824e929": "0x4458980cd4641148120e85c2a060fbb489c3085ca1673eb204c953483824e9290138032e6d4cbdcf2e9f7ee64772070898b5e8e5668f3187616c7186c40e46827901585c825c0239aa16cdc3b33458538c8a8d2e06871a2058db0462f65b051ff239e7f10262de5b000000407a10f35a0000", - "0x74dd702da46f77d7acf77f5a48d4af7d62556a85fcb7c61b2c6c750924846b15f6e048504d0c2d7d340ca3b6bf3f0989bba6befb5a9bc14a1d2819b7d7ffaef6eb01e09cce86bb65": "0x340ca3b6bf3f0989bba6befb5a9bc14a1d2819b7d7ffaef6eb01e09cce86bb65000138032e6d4cbdcf2e9f7ee64772070898b5e8e5668f3187616c7186c40e468279e7f10262de5b000000407a10f35a0000", - "0x74dd702da46f77d7acf77f5a48d4af7d7a6dc62e324093ba1331bf49fdb2f24a": "0x04000000", - "0x74dd702da46f77d7acf77f5a48d4af7de5c03730c8f59f00941607850b6633d8dec683721ac60452e7f10262de5b0000": "0x01340ca3b6bf3f0989bba6befb5a9bc14a1d2819b7d7ffaef6eb01e09cce86bb6501585c825c0239aa16cdc3b33458538c8a8d2e06871a2058db0462f65b051ff239", - "0x7a6d38deaa01cb6e76ee69889f1696272be9a4e88368a2188d2b9100a9f3cd43": "0x00000000000000000000000000000000", - "0x7a6d38deaa01cb6e76ee69889f16962730256ea2c545a3e5e3744665ffb2ed28": "0x00020000", - "0x7a6d38deaa01cb6e76ee69889f1696273f0d64e1907361c689834a9c1cb0fbe0": "0x20000000", - "0x7a6d38deaa01cb6e76ee69889f16962749d67997de33812a1cc37310f765b82e": "0x00000000000000000000000000000000", - "0x7a6d38deaa01cb6e76ee69889f1696274e7b9012096b41c4eb3aaf947f6ea429": "0x0200", - "0x7a6d38deaa01cb6e76ee69889f169627ba93302f3b868c50785e6ade45c6a1d8": "0x10000000", - "0x94eadf0156a8ad5156507773d0471e4a16973e1142f5bd30d9464076794007db": "0x00", - "0x94eadf0156a8ad5156507773d0471e4a1e8de4295679f32032acb318db364135": "0x00", - "0x94eadf0156a8ad5156507773d0471e4a4e7b9012096b41c4eb3aaf947f6ea429": "0x0000", - "0x94eadf0156a8ad5156507773d0471e4a64fb6e378f53d72f7859ad0e6b6d8810": "0x0000000000", - "0x94eadf0156a8ad5156507773d0471e4a9ce0310edffce7a01a96c2039f92dd10": "0x01000000", - "0x94eadf0156a8ad5156507773d0471e4ab8ebad86f546c7e0b135a4212aace339": "0x00", - "0xa2ce73642c549ae79c14f0a671cf45f94e7b9012096b41c4eb3aaf947f6ea429": "0x0000", - "0xb341e3a63e58a188839b242d17f8c9f82586833f834350b4d435d5fd269ecc8b": "0x1003000000010000000000000002000000", - "0xb341e3a63e58a188839b242d17f8c9f84e7b9012096b41c4eb3aaf947f6ea429": "0x0000", - "0xb341e3a63e58a188839b242d17f8c9f87a50c904b368210021127f9238883a6e": "0x10ac1799757a742c3c22be09c8ba6ea5d7e29981068897aa23c762fc8dd1ef876708edee5045683123d8550008f194b4f63875a9865620a578e93127dd9608826086ffd146349c1fe66b6d1b5142a5acaf70b4656f39fc0a6ec96e712c5b67de4d28b039ebf418c3986f0080f8a50eba030b4d5c46ad8acfb1ff5b82343f34fb5c", - "0xb341e3a63e58a188839b242d17f8c9f8b5cab3380174032968897a4c3ce57c0a": "0x00000000", - "0xc2261276cc9d1f8598ea4b6a74b15c2f218f26c73add634897550b4003b26bc67e38d6399f9eb96f2ed6c58d84b87e984458980cd4641148120e85c2a060fbb489c3085ca1673eb204c953483824e929": "0x047374616b696e672000407a10f35a0000000000000000000002", - "0xc2261276cc9d1f8598ea4b6a74b15c2f218f26c73add634897550b4003b26bc68bd7fbe93f8307691b98dcd4b513ab79340ca3b6bf3f0989bba6befb5a9bc14a1d2819b7d7ffaef6eb01e09cce86bb65": "0x047374616b696e672000407a10f35a0000000000000000000002", - "0xc2261276cc9d1f8598ea4b6a74b15c2f218f26c73add634897550b4003b26bc6b032edfca52ad56c48503c9d57186bb738032e6d4cbdcf2e9f7ee64772070898b5e8e5668f3187616c7186c40e468279": "0x047374616b696e672000407a10f35a0000000000000000000002", - "0xc2261276cc9d1f8598ea4b6a74b15c2f218f26c73add634897550b4003b26bc6e07c5822a04c0653b0d53c94462639eb585c825c0239aa16cdc3b33458538c8a8d2e06871a2058db0462f65b051ff239": "0x047374616b696e672000407a10f35a0000000000000000000002", - "0xc2261276cc9d1f8598ea4b6a74b15c2f308ce9615de0775a82f8a94dc3d285a1": "0x01", - "0xc2261276cc9d1f8598ea4b6a74b15c2f4e7b9012096b41c4eb3aaf947f6ea429": "0x0000", - "0xc2261276cc9d1f8598ea4b6a74b15c2f57c875e4cff74148e4628f264b974c80": "0x0000909dceda82370000000000000000", - "0xca32a41f4b3ed515863dc0a38697f84e4e7b9012096b41c4eb3aaf947f6ea429": "0x0000", - "0xcd710b30bd2eab0352ddcc26417aa1944e7b9012096b41c4eb3aaf947f6ea429": "0x0000", - "0xcd710b30bd2eab0352ddcc26417aa1949f4993f016e2d2f8e5f43be7bb259486": "0x00", - "0xcec5070d609dd3497f72bde07fc96ba04c014e6bf8b8c2c011e7290b85696bb357ad0b620233e4bd585c825c0239aa16cdc3b33458538c8a8d2e06871a2058db0462f65b051ff239": "0x074136bcb202b26df56e0deecd4807b5177c987aefe11aa23204505711f3b4c4ac1799757a742c3c22be09c8ba6ea5d7e29981068897aa23c762fc8dd1ef8767ac1799757a742c3c22be09c8ba6ea5d7e29981068897aa23c762fc8dd1ef8767ac1799757a742c3c22be09c8ba6ea5d7e29981068897aa23c762fc8dd1ef8767ac1799757a742c3c22be09c8ba6ea5d7e29981068897aa23c762fc8dd1ef8767ac1799757a742c3c22be09c8ba6ea5d7e29981068897aa23c762fc8dd1ef8767", - "0xcec5070d609dd3497f72bde07fc96ba04c014e6bf8b8c2c011e7290b85696bb37327ffec9f4e3aae38032e6d4cbdcf2e9f7ee64772070898b5e8e5668f3187616c7186c40e468279": "0xdb2c1700c11f8a0bfe9f1f935bb39a5b28074df06a51bee561b1987b1f88cdab08edee5045683123d8550008f194b4f63875a9865620a578e93127dd9608826008edee5045683123d8550008f194b4f63875a9865620a578e93127dd9608826008edee5045683123d8550008f194b4f63875a9865620a578e93127dd9608826008edee5045683123d8550008f194b4f63875a9865620a578e93127dd9608826008edee5045683123d8550008f194b4f63875a9865620a578e93127dd96088260", - "0xcec5070d609dd3497f72bde07fc96ba04c014e6bf8b8c2c011e7290b85696bb3ef2c791691f7e8884458980cd4641148120e85c2a060fbb489c3085ca1673eb204c953483824e929": "0x8a21c7e8324c550a97b58523cbdf57801f306725be3ee176203677105513ceb428b039ebf418c3986f0080f8a50eba030b4d5c46ad8acfb1ff5b82343f34fb5c28b039ebf418c3986f0080f8a50eba030b4d5c46ad8acfb1ff5b82343f34fb5c28b039ebf418c3986f0080f8a50eba030b4d5c46ad8acfb1ff5b82343f34fb5c28b039ebf418c3986f0080f8a50eba030b4d5c46ad8acfb1ff5b82343f34fb5c28b039ebf418c3986f0080f8a50eba030b4d5c46ad8acfb1ff5b82343f34fb5c", - "0xcec5070d609dd3497f72bde07fc96ba04c014e6bf8b8c2c011e7290b85696bb3f6e048504d0c2d7d340ca3b6bf3f0989bba6befb5a9bc14a1d2819b7d7ffaef6eb01e09cce86bb65": "0xdf2bd047eb78e899e076aedbb604e8cb63d994dc35429a0e86e76323c2b6cf9c86ffd146349c1fe66b6d1b5142a5acaf70b4656f39fc0a6ec96e712c5b67de4d86ffd146349c1fe66b6d1b5142a5acaf70b4656f39fc0a6ec96e712c5b67de4d86ffd146349c1fe66b6d1b5142a5acaf70b4656f39fc0a6ec96e712c5b67de4d86ffd146349c1fe66b6d1b5142a5acaf70b4656f39fc0a6ec96e712c5b67de4d86ffd146349c1fe66b6d1b5142a5acaf70b4656f39fc0a6ec96e712c5b67de4d", - "0xcec5070d609dd3497f72bde07fc96ba04e7b9012096b41c4eb3aaf947f6ea429": "0x0000", - "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa19501d35b22ad514f3ad6173676e8086ffd146349c1fe66b6d1b5142a5acaf70b4656f39fc0a6ec96e712c5b67de4d": "0x340ca3b6bf3f0989bba6befb5a9bc14a1d2819b7d7ffaef6eb01e09cce86bb65", - "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa19501efa486e151f089f696d6f6e8028b039ebf418c3986f0080f8a50eba030b4d5c46ad8acfb1ff5b82343f34fb5c": "0x4458980cd4641148120e85c2a060fbb489c3085ca1673eb204c953483824e929", - "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa195026655ddb9869df6f706172618086ffd146349c1fe66b6d1b5142a5acaf70b4656f39fc0a6ec96e712c5b67de4d": "0x340ca3b6bf3f0989bba6befb5a9bc14a1d2819b7d7ffaef6eb01e09cce86bb65", - "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa19503e84bf2dcdb4a3a56173676e8028b039ebf418c3986f0080f8a50eba030b4d5c46ad8acfb1ff5b82343f34fb5c": "0x4458980cd4641148120e85c2a060fbb489c3085ca1673eb204c953483824e929", - "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa19504a27f33c1daffcca6175646980ac1799757a742c3c22be09c8ba6ea5d7e29981068897aa23c762fc8dd1ef8767": "0x585c825c0239aa16cdc3b33458538c8a8d2e06871a2058db0462f65b051ff239", - "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa19504d5d725e6ac481b17061726180ac1799757a742c3c22be09c8ba6ea5d7e29981068897aa23c762fc8dd1ef8767": "0x585c825c0239aa16cdc3b33458538c8a8d2e06871a2058db0462f65b051ff239", - "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa19504ed57d6bbeb5f7f9617564698008edee5045683123d8550008f194b4f63875a9865620a578e93127dd96088260": "0x38032e6d4cbdcf2e9f7ee64772070898b5e8e5668f3187616c7186c40e468279", - "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa19505aef09483575d9176261626580ac1799757a742c3c22be09c8ba6ea5d7e29981068897aa23c762fc8dd1ef8767": "0x585c825c0239aa16cdc3b33458538c8a8d2e06871a2058db0462f65b051ff239", - "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa1950600834691303ffa4706172618008edee5045683123d8550008f194b4f63875a9865620a578e93127dd96088260": "0x38032e6d4cbdcf2e9f7ee64772070898b5e8e5668f3187616c7186c40e468279", - "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa19506073e4504e4f56546772616e808a21c7e8324c550a97b58523cbdf57801f306725be3ee176203677105513ceb4": "0x4458980cd4641148120e85c2a060fbb489c3085ca1673eb204c953483824e929", - "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa195063c5c83875ca309f6772616e80074136bcb202b26df56e0deecd4807b5177c987aefe11aa23204505711f3b4c4": "0x585c825c0239aa16cdc3b33458538c8a8d2e06871a2058db0462f65b051ff239", - "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa1950842c0b81aada8fba626162658028b039ebf418c3986f0080f8a50eba030b4d5c46ad8acfb1ff5b82343f34fb5c": "0x4458980cd4641148120e85c2a060fbb489c3085ca1673eb204c953483824e929", - "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa195085db53863cb26275696d6f6e8008edee5045683123d8550008f194b4f63875a9865620a578e93127dd96088260": "0x38032e6d4cbdcf2e9f7ee64772070898b5e8e5668f3187616c7186c40e468279", - "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa19509b1fdd3745061f0a617564698028b039ebf418c3986f0080f8a50eba030b4d5c46ad8acfb1ff5b82343f34fb5c": "0x4458980cd4641148120e85c2a060fbb489c3085ca1673eb204c953483824e929", - "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa19509d91a7b041ee76146173676e8008edee5045683123d8550008f194b4f63875a9865620a578e93127dd96088260": "0x38032e6d4cbdcf2e9f7ee64772070898b5e8e5668f3187616c7186c40e468279", - "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa19509e94127b3fb1736e626162658008edee5045683123d8550008f194b4f63875a9865620a578e93127dd96088260": "0x38032e6d4cbdcf2e9f7ee64772070898b5e8e5668f3187616c7186c40e468279", - "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa1950af84234b5cb9b333706172618028b039ebf418c3986f0080f8a50eba030b4d5c46ad8acfb1ff5b82343f34fb5c": "0x4458980cd4641148120e85c2a060fbb489c3085ca1673eb204c953483824e929", - "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa1950af935b93f6bf20fa696d6f6e80ac1799757a742c3c22be09c8ba6ea5d7e29981068897aa23c762fc8dd1ef8767": "0x585c825c0239aa16cdc3b33458538c8a8d2e06871a2058db0462f65b051ff239", - "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa1950c76794199dabd66e6173676e80ac1799757a742c3c22be09c8ba6ea5d7e29981068897aa23c762fc8dd1ef8767": "0x585c825c0239aa16cdc3b33458538c8a8d2e06871a2058db0462f65b051ff239", - "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa1950e5000589bb95e76f617564698086ffd146349c1fe66b6d1b5142a5acaf70b4656f39fc0a6ec96e712c5b67de4d": "0x340ca3b6bf3f0989bba6befb5a9bc14a1d2819b7d7ffaef6eb01e09cce86bb65", - "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa1950e5086564f209bcae6772616e80df2bd047eb78e899e076aedbb604e8cb63d994dc35429a0e86e76323c2b6cf9c": "0x340ca3b6bf3f0989bba6befb5a9bc14a1d2819b7d7ffaef6eb01e09cce86bb65", - "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa1950ef26c4941194249a626162658086ffd146349c1fe66b6d1b5142a5acaf70b4656f39fc0a6ec96e712c5b67de4d": "0x340ca3b6bf3f0989bba6befb5a9bc14a1d2819b7d7ffaef6eb01e09cce86bb65", - "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa1950ef55a0db0e2b39d0696d6f6e8086ffd146349c1fe66b6d1b5142a5acaf70b4656f39fc0a6ec96e712c5b67de4d": "0x340ca3b6bf3f0989bba6befb5a9bc14a1d2819b7d7ffaef6eb01e09cce86bb65", - "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa1950fe42329378747e986772616e80db2c1700c11f8a0bfe9f1f935bb39a5b28074df06a51bee561b1987b1f88cdab": "0x38032e6d4cbdcf2e9f7ee64772070898b5e8e5668f3187616c7186c40e468279", - "0xcec5070d609dd3497f72bde07fc96ba088dcde934c658227ee1dfafcd6e16903": "0x10340ca3b6bf3f0989bba6befb5a9bc14a1d2819b7d7ffaef6eb01e09cce86bb6538032e6d4cbdcf2e9f7ee64772070898b5e8e5668f3187616c7186c40e4682794458980cd4641148120e85c2a060fbb489c3085ca1673eb204c953483824e929585c825c0239aa16cdc3b33458538c8a8d2e06871a2058db0462f65b051ff239", - "0xcec5070d609dd3497f72bde07fc96ba0e0cdd062e6eaf24295ad4ccfc41d4609": "0x10340ca3b6bf3f0989bba6befb5a9bc14a1d2819b7d7ffaef6eb01e09cce86bb65df2bd047eb78e899e076aedbb604e8cb63d994dc35429a0e86e76323c2b6cf9c86ffd146349c1fe66b6d1b5142a5acaf70b4656f39fc0a6ec96e712c5b67de4d86ffd146349c1fe66b6d1b5142a5acaf70b4656f39fc0a6ec96e712c5b67de4d86ffd146349c1fe66b6d1b5142a5acaf70b4656f39fc0a6ec96e712c5b67de4d86ffd146349c1fe66b6d1b5142a5acaf70b4656f39fc0a6ec96e712c5b67de4d86ffd146349c1fe66b6d1b5142a5acaf70b4656f39fc0a6ec96e712c5b67de4d38032e6d4cbdcf2e9f7ee64772070898b5e8e5668f3187616c7186c40e468279db2c1700c11f8a0bfe9f1f935bb39a5b28074df06a51bee561b1987b1f88cdab08edee5045683123d8550008f194b4f63875a9865620a578e93127dd9608826008edee5045683123d8550008f194b4f63875a9865620a578e93127dd9608826008edee5045683123d8550008f194b4f63875a9865620a578e93127dd9608826008edee5045683123d8550008f194b4f63875a9865620a578e93127dd9608826008edee5045683123d8550008f194b4f63875a9865620a578e93127dd960882604458980cd4641148120e85c2a060fbb489c3085ca1673eb204c953483824e9298a21c7e8324c550a97b58523cbdf57801f306725be3ee176203677105513ceb428b039ebf418c3986f0080f8a50eba030b4d5c46ad8acfb1ff5b82343f34fb5c28b039ebf418c3986f0080f8a50eba030b4d5c46ad8acfb1ff5b82343f34fb5c28b039ebf418c3986f0080f8a50eba030b4d5c46ad8acfb1ff5b82343f34fb5c28b039ebf418c3986f0080f8a50eba030b4d5c46ad8acfb1ff5b82343f34fb5c28b039ebf418c3986f0080f8a50eba030b4d5c46ad8acfb1ff5b82343f34fb5c585c825c0239aa16cdc3b33458538c8a8d2e06871a2058db0462f65b051ff239074136bcb202b26df56e0deecd4807b5177c987aefe11aa23204505711f3b4c4ac1799757a742c3c22be09c8ba6ea5d7e29981068897aa23c762fc8dd1ef8767ac1799757a742c3c22be09c8ba6ea5d7e29981068897aa23c762fc8dd1ef8767ac1799757a742c3c22be09c8ba6ea5d7e29981068897aa23c762fc8dd1ef8767ac1799757a742c3c22be09c8ba6ea5d7e29981068897aa23c762fc8dd1ef8767ac1799757a742c3c22be09c8ba6ea5d7e29981068897aa23c762fc8dd1ef8767", - "0xd57bce545fb382c34570e5dfbf338f5e4e7b9012096b41c4eb3aaf947f6ea429": "0x0000", - "0xd5c41b52a371aa36c9254ce34324f2a54e7b9012096b41c4eb3aaf947f6ea429": "0x0000", - "0xd5e1a2fa16732ce6906189438c0a82c64e7b9012096b41c4eb3aaf947f6ea429": "0x0000", - "0xd8bbe27baf3aa64bb483afabc240f68e4e7b9012096b41c4eb3aaf947f6ea429": "0x0000", - "0xd8f314b7f4e6b095f0f8ee4656a448254e7b9012096b41c4eb3aaf947f6ea429": "0x0000", - "0xede8e4fdc3c8b556f0ce2f77fc2575e34e7b9012096b41c4eb3aaf947f6ea429": "0x0000", - "0xf0c365c3cf59d671eb72da0e7a4113c44e7b9012096b41c4eb3aaf947f6ea429": "0x0000", - "0xf5207f03cfdce586301014700e2c25934e7b9012096b41c4eb3aaf947f6ea429": "0x0000" - }, - "childrenDefault": {} - } - } -} From d8612346d4755a73501224d9b678613e425d8537 Mon Sep 17 00:00:00 2001 From: Albrecht Date: Thu, 5 Jan 2023 15:20:30 +0100 Subject: [PATCH 20/38] chore: update 2023 (#445) ## related https://github.com/KILTprotocol/ticket/issues/2356 ## Checklist: - [ ] I have verified that the code works - [ ] No panics! (checked arithmetic ops, no indexing `array[3]` use `get(3)`, ...) - [ ] I have verified that the code is easy to understand - [ ] If not, I have left a well-balanced amount of inline comments - [ ] I have [left the code in a better state](https://deviq.com/principles/boy-scout-rule) - [ ] I have documented the changes (where applicable) --- .maintain/runtime-weight-template.hbs | 2 +- .maintain/weight-template.hbs | 2 +- HEADER-GPL | 2 +- crates/assets/src/asset.rs | 2 +- crates/assets/src/chain.rs | 2 +- crates/assets/src/errors.rs | 2 +- crates/assets/src/lib.rs | 2 +- crates/assets/src/v1.rs | 2 +- nodes/parachain/build.rs | 2 +- nodes/parachain/src/chain_spec.rs | 2 +- nodes/parachain/src/chain_spec/clone.rs | 2 +- nodes/parachain/src/chain_spec/peregrine.rs | 2 +- nodes/parachain/src/chain_spec/spiritnet.rs | 2 +- nodes/parachain/src/cli.rs | 2 +- nodes/parachain/src/command.rs | 2 +- nodes/parachain/src/main.rs | 2 +- nodes/parachain/src/rpc.rs | 2 +- nodes/parachain/src/service.rs | 2 +- nodes/standalone/build.rs | 2 +- nodes/standalone/src/benchmarking.rs | 2 +- nodes/standalone/src/chain_spec.rs | 2 +- nodes/standalone/src/cli.rs | 2 +- nodes/standalone/src/command.rs | 2 +- nodes/standalone/src/main.rs | 2 +- nodes/standalone/src/rpc.rs | 2 +- nodes/standalone/src/service.rs | 2 +- pallets/attestation/src/access_control.rs | 2 +- pallets/attestation/src/attestations.rs | 2 +- pallets/attestation/src/benchmarking.rs | 2 +- pallets/attestation/src/default_weights.rs | 2 +- pallets/attestation/src/lib.rs | 2 +- pallets/attestation/src/mock.rs | 2 +- pallets/attestation/src/tests.rs | 2 +- pallets/ctype/src/benchmarking.rs | 2 +- pallets/ctype/src/default_weights.rs | 2 +- pallets/ctype/src/lib.rs | 2 +- pallets/ctype/src/mock.rs | 2 +- pallets/ctype/src/tests.rs | 2 +- pallets/delegation/src/access_control.rs | 2 +- pallets/delegation/src/benchmarking.rs | 2 +- pallets/delegation/src/default_weights.rs | 2 +- pallets/delegation/src/delegation_hierarchy.rs | 2 +- pallets/delegation/src/lib.rs | 2 +- pallets/delegation/src/mock.rs | 2 +- pallets/delegation/src/tests.rs | 2 +- pallets/did/src/benchmarking.rs | 2 +- pallets/did/src/default_weights.rs | 2 +- pallets/did/src/did_details.rs | 2 +- pallets/did/src/errors.rs | 2 +- pallets/did/src/lib.rs | 2 +- pallets/did/src/mock.rs | 2 +- pallets/did/src/mock_utils.rs | 2 +- pallets/did/src/origin.rs | 2 +- pallets/did/src/service_endpoints.rs | 2 +- pallets/did/src/signature.rs | 2 +- pallets/did/src/tests.rs | 2 +- pallets/did/src/utils.rs | 2 +- pallets/pallet-did-lookup/src/account.rs | 2 +- pallets/pallet-did-lookup/src/associate_account_request.rs | 2 +- pallets/pallet-did-lookup/src/benchmarking.rs | 2 +- pallets/pallet-did-lookup/src/connection_record.rs | 2 +- pallets/pallet-did-lookup/src/default_weights.rs | 4 ++-- pallets/pallet-did-lookup/src/lib.rs | 2 +- pallets/pallet-did-lookup/src/linkable_account.rs | 2 +- pallets/pallet-did-lookup/src/migrations.rs | 2 +- pallets/pallet-did-lookup/src/mock.rs | 2 +- pallets/pallet-did-lookup/src/signature.rs | 2 +- pallets/pallet-did-lookup/src/tests.rs | 2 +- pallets/pallet-inflation/src/benchmarking.rs | 2 +- pallets/pallet-inflation/src/default_weights.rs | 2 +- pallets/pallet-inflation/src/lib.rs | 2 +- pallets/pallet-inflation/src/mock.rs | 2 +- pallets/pallet-inflation/src/tests.rs | 2 +- pallets/pallet-web3-names/src/benchmarking.rs | 2 +- pallets/pallet-web3-names/src/default_weights.rs | 2 +- pallets/pallet-web3-names/src/lib.rs | 2 +- pallets/pallet-web3-names/src/mock.rs | 2 +- pallets/pallet-web3-names/src/tests.rs | 2 +- pallets/pallet-web3-names/src/web3_name.rs | 2 +- pallets/parachain-staking/src/api.rs | 2 +- pallets/parachain-staking/src/benchmarking.rs | 2 +- pallets/parachain-staking/src/default_weights.rs | 2 +- pallets/parachain-staking/src/inflation.rs | 2 +- pallets/parachain-staking/src/lib.rs | 2 +- pallets/parachain-staking/src/migration.rs | 2 +- pallets/parachain-staking/src/mock.rs | 2 +- pallets/parachain-staking/src/set.rs | 2 +- pallets/parachain-staking/src/tests.rs | 2 +- pallets/parachain-staking/src/types.rs | 2 +- pallets/public-credentials/src/access_control.rs | 2 +- pallets/public-credentials/src/benchmarking.rs | 2 +- pallets/public-credentials/src/credentials.rs | 2 +- pallets/public-credentials/src/default_weights.rs | 2 +- pallets/public-credentials/src/lib.rs | 2 +- pallets/public-credentials/src/mock.rs | 2 +- pallets/public-credentials/src/tests.rs | 2 +- runtime-api/did/src/did_details.rs | 2 +- runtime-api/did/src/lib.rs | 2 +- runtime-api/did/src/service_endpoint.rs | 2 +- runtime-api/public-credentials/src/lib.rs | 2 +- runtime-api/staking/src/lib.rs | 2 +- runtimes/clone/build.rs | 2 +- runtimes/clone/src/lib.rs | 2 +- runtimes/clone/src/weights/frame_system.rs | 2 +- runtimes/clone/src/weights/mod.rs | 2 +- runtimes/clone/src/weights/pallet_balances.rs | 2 +- runtimes/clone/src/weights/pallet_session.rs | 2 +- runtimes/clone/src/weights/pallet_timestamp.rs | 2 +- runtimes/clone/src/weights/pallet_utility.rs | 2 +- runtimes/clone/src/xcm_config.rs | 2 +- runtimes/common/src/assets.rs | 2 +- runtimes/common/src/authorization.rs | 2 +- runtimes/common/src/benchmarks.rs | 2 +- runtimes/common/src/constants.rs | 2 +- runtimes/common/src/errors.rs | 2 +- runtimes/common/src/fees.rs | 2 +- runtimes/common/src/lib.rs | 2 +- runtimes/common/src/migrations.rs | 2 +- runtimes/common/src/pallet_id.rs | 2 +- runtimes/common/src/xcm_config.rs | 2 +- runtimes/peregrine/build.rs | 2 +- runtimes/peregrine/src/lib.rs | 2 +- runtimes/peregrine/src/tests.rs | 2 +- runtimes/peregrine/src/weights/attestation.rs | 2 +- runtimes/peregrine/src/weights/ctype.rs | 2 +- runtimes/peregrine/src/weights/delegation.rs | 2 +- runtimes/peregrine/src/weights/did.rs | 2 +- runtimes/peregrine/src/weights/frame_system.rs | 2 +- runtimes/peregrine/src/weights/mod.rs | 2 +- runtimes/peregrine/src/weights/pallet_balances.rs | 2 +- runtimes/peregrine/src/weights/pallet_collective.rs | 2 +- runtimes/peregrine/src/weights/pallet_democracy.rs | 2 +- runtimes/peregrine/src/weights/pallet_did_lookup.rs | 2 +- runtimes/peregrine/src/weights/pallet_indices.rs | 2 +- runtimes/peregrine/src/weights/pallet_inflation.rs | 2 +- runtimes/peregrine/src/weights/pallet_membership.rs | 2 +- runtimes/peregrine/src/weights/pallet_preimage.rs | 2 +- runtimes/peregrine/src/weights/pallet_proxy.rs | 2 +- runtimes/peregrine/src/weights/pallet_scheduler.rs | 2 +- runtimes/peregrine/src/weights/pallet_session.rs | 2 +- runtimes/peregrine/src/weights/pallet_timestamp.rs | 2 +- runtimes/peregrine/src/weights/pallet_tips.rs | 2 +- runtimes/peregrine/src/weights/pallet_treasury.rs | 2 +- runtimes/peregrine/src/weights/pallet_utility.rs | 2 +- runtimes/peregrine/src/weights/pallet_vesting.rs | 2 +- runtimes/peregrine/src/weights/pallet_web3_names.rs | 2 +- runtimes/peregrine/src/weights/parachain_staking.rs | 2 +- runtimes/peregrine/src/weights/public_credentials.rs | 2 +- runtimes/peregrine/src/xcm_config.rs | 2 +- runtimes/spiritnet/build.rs | 2 +- runtimes/spiritnet/src/lib.rs | 2 +- runtimes/spiritnet/src/tests.rs | 2 +- runtimes/spiritnet/src/weights/attestation.rs | 2 +- runtimes/spiritnet/src/weights/ctype.rs | 2 +- runtimes/spiritnet/src/weights/delegation.rs | 2 +- runtimes/spiritnet/src/weights/did.rs | 2 +- runtimes/spiritnet/src/weights/frame_system.rs | 2 +- runtimes/spiritnet/src/weights/mod.rs | 2 +- runtimes/spiritnet/src/weights/pallet_balances.rs | 2 +- runtimes/spiritnet/src/weights/pallet_collective.rs | 2 +- runtimes/spiritnet/src/weights/pallet_democracy.rs | 2 +- runtimes/spiritnet/src/weights/pallet_did_lookup.rs | 2 +- runtimes/spiritnet/src/weights/pallet_indices.rs | 2 +- runtimes/spiritnet/src/weights/pallet_inflation.rs | 2 +- runtimes/spiritnet/src/weights/pallet_membership.rs | 2 +- runtimes/spiritnet/src/weights/pallet_preimage.rs | 2 +- runtimes/spiritnet/src/weights/pallet_proxy.rs | 2 +- runtimes/spiritnet/src/weights/pallet_scheduler.rs | 2 +- runtimes/spiritnet/src/weights/pallet_session.rs | 2 +- runtimes/spiritnet/src/weights/pallet_timestamp.rs | 2 +- runtimes/spiritnet/src/weights/pallet_tips.rs | 2 +- runtimes/spiritnet/src/weights/pallet_treasury.rs | 2 +- runtimes/spiritnet/src/weights/pallet_utility.rs | 2 +- runtimes/spiritnet/src/weights/pallet_vesting.rs | 2 +- runtimes/spiritnet/src/weights/pallet_web3_names.rs | 2 +- runtimes/spiritnet/src/weights/parachain_staking.rs | 2 +- runtimes/spiritnet/src/weights/public_credentials.rs | 2 +- runtimes/spiritnet/src/xcm_config.rs | 2 +- runtimes/standalone/build.rs | 2 +- runtimes/standalone/src/lib.rs | 2 +- rust-toolchain.toml | 2 +- scripts/init.sh | 6 +++--- support/src/deposit.rs | 2 +- support/src/lib.rs | 2 +- support/src/mock.rs | 2 +- support/src/signature.rs | 2 +- support/src/traits.rs | 2 +- 187 files changed, 190 insertions(+), 190 deletions(-) diff --git a/.maintain/runtime-weight-template.hbs b/.maintain/runtime-weight-template.hbs index a81c0f2fc..4f92c493a 100644 --- a/.maintain/runtime-weight-template.hbs +++ b/.maintain/runtime-weight-template.hbs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/.maintain/weight-template.hbs b/.maintain/weight-template.hbs index 68a98f1d1..376cc659c 100644 --- a/.maintain/weight-template.hbs +++ b/.maintain/weight-template.hbs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/HEADER-GPL b/HEADER-GPL index 93d54fefd..79e74681a 100644 --- a/HEADER-GPL +++ b/HEADER-GPL @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/crates/assets/src/asset.rs b/crates/assets/src/asset.rs index 413adb10b..60b7e2b7d 100644 --- a/crates/assets/src/asset.rs +++ b/crates/assets/src/asset.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/crates/assets/src/chain.rs b/crates/assets/src/chain.rs index 7f081ee18..cb26ff947 100644 --- a/crates/assets/src/chain.rs +++ b/crates/assets/src/chain.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/crates/assets/src/errors.rs b/crates/assets/src/errors.rs index 039937de5..2fa01509e 100644 --- a/crates/assets/src/errors.rs +++ b/crates/assets/src/errors.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/crates/assets/src/lib.rs b/crates/assets/src/lib.rs index 994ae5bad..086af5e54 100644 --- a/crates/assets/src/lib.rs +++ b/crates/assets/src/lib.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/crates/assets/src/v1.rs b/crates/assets/src/v1.rs index 487225f27..c2b73fc4c 100644 --- a/crates/assets/src/v1.rs +++ b/crates/assets/src/v1.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/nodes/parachain/build.rs b/nodes/parachain/build.rs index 5baa7a72c..de1939cc2 100644 --- a/nodes/parachain/build.rs +++ b/nodes/parachain/build.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/nodes/parachain/src/chain_spec.rs b/nodes/parachain/src/chain_spec.rs index 9463f84be..20426c482 100644 --- a/nodes/parachain/src/chain_spec.rs +++ b/nodes/parachain/src/chain_spec.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/nodes/parachain/src/chain_spec/clone.rs b/nodes/parachain/src/chain_spec/clone.rs index e10517026..a3ca6dee8 100644 --- a/nodes/parachain/src/chain_spec/clone.rs +++ b/nodes/parachain/src/chain_spec/clone.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/nodes/parachain/src/chain_spec/peregrine.rs b/nodes/parachain/src/chain_spec/peregrine.rs index a82d99003..1278671ea 100644 --- a/nodes/parachain/src/chain_spec/peregrine.rs +++ b/nodes/parachain/src/chain_spec/peregrine.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/nodes/parachain/src/chain_spec/spiritnet.rs b/nodes/parachain/src/chain_spec/spiritnet.rs index 9e16d0f06..9f9051194 100644 --- a/nodes/parachain/src/chain_spec/spiritnet.rs +++ b/nodes/parachain/src/chain_spec/spiritnet.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/nodes/parachain/src/cli.rs b/nodes/parachain/src/cli.rs index 71afb4b0c..7aa3c6d07 100644 --- a/nodes/parachain/src/cli.rs +++ b/nodes/parachain/src/cli.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/nodes/parachain/src/command.rs b/nodes/parachain/src/command.rs index b36d28854..b71dc2fd1 100644 --- a/nodes/parachain/src/command.rs +++ b/nodes/parachain/src/command.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/nodes/parachain/src/main.rs b/nodes/parachain/src/main.rs index 0c1b4aaa6..60ff803b4 100644 --- a/nodes/parachain/src/main.rs +++ b/nodes/parachain/src/main.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/nodes/parachain/src/rpc.rs b/nodes/parachain/src/rpc.rs index 7b1a45272..2305cc6f1 100644 --- a/nodes/parachain/src/rpc.rs +++ b/nodes/parachain/src/rpc.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/nodes/parachain/src/service.rs b/nodes/parachain/src/service.rs index 06dd73cad..bc1171e11 100644 --- a/nodes/parachain/src/service.rs +++ b/nodes/parachain/src/service.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/nodes/standalone/build.rs b/nodes/standalone/build.rs index 531baa940..961231c47 100644 --- a/nodes/standalone/build.rs +++ b/nodes/standalone/build.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/nodes/standalone/src/benchmarking.rs b/nodes/standalone/src/benchmarking.rs index 361f70fdc..e6936f9e5 100644 --- a/nodes/standalone/src/benchmarking.rs +++ b/nodes/standalone/src/benchmarking.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/nodes/standalone/src/chain_spec.rs b/nodes/standalone/src/chain_spec.rs index defe96c9e..c18a2da01 100644 --- a/nodes/standalone/src/chain_spec.rs +++ b/nodes/standalone/src/chain_spec.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/nodes/standalone/src/cli.rs b/nodes/standalone/src/cli.rs index aad8b23d6..8050c5960 100644 --- a/nodes/standalone/src/cli.rs +++ b/nodes/standalone/src/cli.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/nodes/standalone/src/command.rs b/nodes/standalone/src/command.rs index a7f426d49..e01fbee59 100644 --- a/nodes/standalone/src/command.rs +++ b/nodes/standalone/src/command.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/nodes/standalone/src/main.rs b/nodes/standalone/src/main.rs index b92cbf528..80da0a834 100644 --- a/nodes/standalone/src/main.rs +++ b/nodes/standalone/src/main.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/nodes/standalone/src/rpc.rs b/nodes/standalone/src/rpc.rs index a75488489..7ade91b62 100644 --- a/nodes/standalone/src/rpc.rs +++ b/nodes/standalone/src/rpc.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/nodes/standalone/src/service.rs b/nodes/standalone/src/service.rs index 78e2eda96..a99ef1b58 100644 --- a/nodes/standalone/src/service.rs +++ b/nodes/standalone/src/service.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/pallets/attestation/src/access_control.rs b/pallets/attestation/src/access_control.rs index cb80b5654..ce22f25bc 100644 --- a/pallets/attestation/src/access_control.rs +++ b/pallets/attestation/src/access_control.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/pallets/attestation/src/attestations.rs b/pallets/attestation/src/attestations.rs index 0b656ab59..349c930b0 100644 --- a/pallets/attestation/src/attestations.rs +++ b/pallets/attestation/src/attestations.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/pallets/attestation/src/benchmarking.rs b/pallets/attestation/src/benchmarking.rs index b5d09c4d2..456ee86cf 100644 --- a/pallets/attestation/src/benchmarking.rs +++ b/pallets/attestation/src/benchmarking.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/pallets/attestation/src/default_weights.rs b/pallets/attestation/src/default_weights.rs index f3b896a11..715e51cae 100644 --- a/pallets/attestation/src/default_weights.rs +++ b/pallets/attestation/src/default_weights.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/pallets/attestation/src/lib.rs b/pallets/attestation/src/lib.rs index e4fd04995..b194c7cae 100644 --- a/pallets/attestation/src/lib.rs +++ b/pallets/attestation/src/lib.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/pallets/attestation/src/mock.rs b/pallets/attestation/src/mock.rs index 3417c805b..510f5f647 100644 --- a/pallets/attestation/src/mock.rs +++ b/pallets/attestation/src/mock.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/pallets/attestation/src/tests.rs b/pallets/attestation/src/tests.rs index edcdd10db..39a953b94 100644 --- a/pallets/attestation/src/tests.rs +++ b/pallets/attestation/src/tests.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/pallets/ctype/src/benchmarking.rs b/pallets/ctype/src/benchmarking.rs index a28689582..feea85cb1 100644 --- a/pallets/ctype/src/benchmarking.rs +++ b/pallets/ctype/src/benchmarking.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/pallets/ctype/src/default_weights.rs b/pallets/ctype/src/default_weights.rs index 49598a802..fafe55643 100644 --- a/pallets/ctype/src/default_weights.rs +++ b/pallets/ctype/src/default_weights.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/pallets/ctype/src/lib.rs b/pallets/ctype/src/lib.rs index 05c898563..0654dd744 100644 --- a/pallets/ctype/src/lib.rs +++ b/pallets/ctype/src/lib.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/pallets/ctype/src/mock.rs b/pallets/ctype/src/mock.rs index 1e5bbfb51..eb81a6bcc 100644 --- a/pallets/ctype/src/mock.rs +++ b/pallets/ctype/src/mock.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/pallets/ctype/src/tests.rs b/pallets/ctype/src/tests.rs index 936da2f26..4faff48cc 100644 --- a/pallets/ctype/src/tests.rs +++ b/pallets/ctype/src/tests.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/pallets/delegation/src/access_control.rs b/pallets/delegation/src/access_control.rs index 0d20124d3..f48510eaa 100644 --- a/pallets/delegation/src/access_control.rs +++ b/pallets/delegation/src/access_control.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/pallets/delegation/src/benchmarking.rs b/pallets/delegation/src/benchmarking.rs index 2c0580e05..7a144ab2d 100644 --- a/pallets/delegation/src/benchmarking.rs +++ b/pallets/delegation/src/benchmarking.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/pallets/delegation/src/default_weights.rs b/pallets/delegation/src/default_weights.rs index 8e9099f7b..7d021c3cb 100644 --- a/pallets/delegation/src/default_weights.rs +++ b/pallets/delegation/src/default_weights.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/pallets/delegation/src/delegation_hierarchy.rs b/pallets/delegation/src/delegation_hierarchy.rs index cc839aef4..a7f2cf0d8 100644 --- a/pallets/delegation/src/delegation_hierarchy.rs +++ b/pallets/delegation/src/delegation_hierarchy.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/pallets/delegation/src/lib.rs b/pallets/delegation/src/lib.rs index 5a6f91234..0e60ee534 100644 --- a/pallets/delegation/src/lib.rs +++ b/pallets/delegation/src/lib.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/pallets/delegation/src/mock.rs b/pallets/delegation/src/mock.rs index 720039fde..d98616665 100644 --- a/pallets/delegation/src/mock.rs +++ b/pallets/delegation/src/mock.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/pallets/delegation/src/tests.rs b/pallets/delegation/src/tests.rs index e25560743..08b8d9e6c 100644 --- a/pallets/delegation/src/tests.rs +++ b/pallets/delegation/src/tests.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/pallets/did/src/benchmarking.rs b/pallets/did/src/benchmarking.rs index 13fb0a63e..e10251d28 100644 --- a/pallets/did/src/benchmarking.rs +++ b/pallets/did/src/benchmarking.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/pallets/did/src/default_weights.rs b/pallets/did/src/default_weights.rs index e2b5e09e1..673c7fd65 100644 --- a/pallets/did/src/default_weights.rs +++ b/pallets/did/src/default_weights.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/pallets/did/src/did_details.rs b/pallets/did/src/did_details.rs index bf0ed121c..459380946 100644 --- a/pallets/did/src/did_details.rs +++ b/pallets/did/src/did_details.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/pallets/did/src/errors.rs b/pallets/did/src/errors.rs index 0e883ed13..bef48807e 100644 --- a/pallets/did/src/errors.rs +++ b/pallets/did/src/errors.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/pallets/did/src/lib.rs b/pallets/did/src/lib.rs index fd210d64a..1e831e3de 100644 --- a/pallets/did/src/lib.rs +++ b/pallets/did/src/lib.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/pallets/did/src/mock.rs b/pallets/did/src/mock.rs index 969b5c5ee..db38ed8a7 100644 --- a/pallets/did/src/mock.rs +++ b/pallets/did/src/mock.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/pallets/did/src/mock_utils.rs b/pallets/did/src/mock_utils.rs index 0a3ca10f8..beae70541 100644 --- a/pallets/did/src/mock_utils.rs +++ b/pallets/did/src/mock_utils.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/pallets/did/src/origin.rs b/pallets/did/src/origin.rs index 2dbc75d6d..03ce6bd6f 100644 --- a/pallets/did/src/origin.rs +++ b/pallets/did/src/origin.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/pallets/did/src/service_endpoints.rs b/pallets/did/src/service_endpoints.rs index 87ffe1102..e3b682ca3 100644 --- a/pallets/did/src/service_endpoints.rs +++ b/pallets/did/src/service_endpoints.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/pallets/did/src/signature.rs b/pallets/did/src/signature.rs index 48a3e6d34..ef699763e 100644 --- a/pallets/did/src/signature.rs +++ b/pallets/did/src/signature.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/pallets/did/src/tests.rs b/pallets/did/src/tests.rs index 33066c0e4..00b674ae6 100644 --- a/pallets/did/src/tests.rs +++ b/pallets/did/src/tests.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/pallets/did/src/utils.rs b/pallets/did/src/utils.rs index 011ca406b..52ddfcb6b 100644 --- a/pallets/did/src/utils.rs +++ b/pallets/did/src/utils.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/pallets/pallet-did-lookup/src/account.rs b/pallets/pallet-did-lookup/src/account.rs index 057bc7f1c..b9f5d196f 100644 --- a/pallets/pallet-did-lookup/src/account.rs +++ b/pallets/pallet-did-lookup/src/account.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/pallets/pallet-did-lookup/src/associate_account_request.rs b/pallets/pallet-did-lookup/src/associate_account_request.rs index 684c5c285..023f9570d 100644 --- a/pallets/pallet-did-lookup/src/associate_account_request.rs +++ b/pallets/pallet-did-lookup/src/associate_account_request.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/pallets/pallet-did-lookup/src/benchmarking.rs b/pallets/pallet-did-lookup/src/benchmarking.rs index c70379560..7e210241c 100644 --- a/pallets/pallet-did-lookup/src/benchmarking.rs +++ b/pallets/pallet-did-lookup/src/benchmarking.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/pallets/pallet-did-lookup/src/connection_record.rs b/pallets/pallet-did-lookup/src/connection_record.rs index 6ef64ee5e..024c2ee8a 100644 --- a/pallets/pallet-did-lookup/src/connection_record.rs +++ b/pallets/pallet-did-lookup/src/connection_record.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/pallets/pallet-did-lookup/src/default_weights.rs b/pallets/pallet-did-lookup/src/default_weights.rs index 88fab90e7..c9caccfbe 100644 --- a/pallets/pallet-did-lookup/src/default_weights.rs +++ b/pallets/pallet-did-lookup/src/default_weights.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by @@ -205,4 +205,4 @@ impl WeightInfo for () { .saturating_add(RocksDbWeight::get().reads(2 as u64)) .saturating_add(RocksDbWeight::get().writes(2 as u64)) } -} \ No newline at end of file +} diff --git a/pallets/pallet-did-lookup/src/lib.rs b/pallets/pallet-did-lookup/src/lib.rs index aedbf57ad..3b9dd5ce4 100644 --- a/pallets/pallet-did-lookup/src/lib.rs +++ b/pallets/pallet-did-lookup/src/lib.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/pallets/pallet-did-lookup/src/linkable_account.rs b/pallets/pallet-did-lookup/src/linkable_account.rs index 927ebffa8..8f62694e0 100644 --- a/pallets/pallet-did-lookup/src/linkable_account.rs +++ b/pallets/pallet-did-lookup/src/linkable_account.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/pallets/pallet-did-lookup/src/migrations.rs b/pallets/pallet-did-lookup/src/migrations.rs index 9297997ef..7608fbf93 100644 --- a/pallets/pallet-did-lookup/src/migrations.rs +++ b/pallets/pallet-did-lookup/src/migrations.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/pallets/pallet-did-lookup/src/mock.rs b/pallets/pallet-did-lookup/src/mock.rs index 43b408cca..34e72d41e 100644 --- a/pallets/pallet-did-lookup/src/mock.rs +++ b/pallets/pallet-did-lookup/src/mock.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/pallets/pallet-did-lookup/src/signature.rs b/pallets/pallet-did-lookup/src/signature.rs index f2ab1a9af..5775506b1 100644 --- a/pallets/pallet-did-lookup/src/signature.rs +++ b/pallets/pallet-did-lookup/src/signature.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/pallets/pallet-did-lookup/src/tests.rs b/pallets/pallet-did-lookup/src/tests.rs index 1dd7f3f50..b6bb6552f 100644 --- a/pallets/pallet-did-lookup/src/tests.rs +++ b/pallets/pallet-did-lookup/src/tests.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/pallets/pallet-inflation/src/benchmarking.rs b/pallets/pallet-inflation/src/benchmarking.rs index 1532e941b..13613a46a 100644 --- a/pallets/pallet-inflation/src/benchmarking.rs +++ b/pallets/pallet-inflation/src/benchmarking.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/pallets/pallet-inflation/src/default_weights.rs b/pallets/pallet-inflation/src/default_weights.rs index 83e4ea08a..b8dbb3c07 100644 --- a/pallets/pallet-inflation/src/default_weights.rs +++ b/pallets/pallet-inflation/src/default_weights.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/pallets/pallet-inflation/src/lib.rs b/pallets/pallet-inflation/src/lib.rs index 18e973b6f..f05a132ff 100644 --- a/pallets/pallet-inflation/src/lib.rs +++ b/pallets/pallet-inflation/src/lib.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/pallets/pallet-inflation/src/mock.rs b/pallets/pallet-inflation/src/mock.rs index c1998e048..10c66444c 100644 --- a/pallets/pallet-inflation/src/mock.rs +++ b/pallets/pallet-inflation/src/mock.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/pallets/pallet-inflation/src/tests.rs b/pallets/pallet-inflation/src/tests.rs index ab2423aa8..a44678dff 100644 --- a/pallets/pallet-inflation/src/tests.rs +++ b/pallets/pallet-inflation/src/tests.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/pallets/pallet-web3-names/src/benchmarking.rs b/pallets/pallet-web3-names/src/benchmarking.rs index 4ccf6128d..ba031d08e 100644 --- a/pallets/pallet-web3-names/src/benchmarking.rs +++ b/pallets/pallet-web3-names/src/benchmarking.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/pallets/pallet-web3-names/src/default_weights.rs b/pallets/pallet-web3-names/src/default_weights.rs index d330a908f..bcf992c3d 100644 --- a/pallets/pallet-web3-names/src/default_weights.rs +++ b/pallets/pallet-web3-names/src/default_weights.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/pallets/pallet-web3-names/src/lib.rs b/pallets/pallet-web3-names/src/lib.rs index 447d7205c..2b1e5eecd 100644 --- a/pallets/pallet-web3-names/src/lib.rs +++ b/pallets/pallet-web3-names/src/lib.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/pallets/pallet-web3-names/src/mock.rs b/pallets/pallet-web3-names/src/mock.rs index 07fdcc0a3..bc6bf4b35 100644 --- a/pallets/pallet-web3-names/src/mock.rs +++ b/pallets/pallet-web3-names/src/mock.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/pallets/pallet-web3-names/src/tests.rs b/pallets/pallet-web3-names/src/tests.rs index ef6f555bc..73a3bcadb 100644 --- a/pallets/pallet-web3-names/src/tests.rs +++ b/pallets/pallet-web3-names/src/tests.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/pallets/pallet-web3-names/src/web3_name.rs b/pallets/pallet-web3-names/src/web3_name.rs index 3fd7966e4..68999b210 100644 --- a/pallets/pallet-web3-names/src/web3_name.rs +++ b/pallets/pallet-web3-names/src/web3_name.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/pallets/parachain-staking/src/api.rs b/pallets/parachain-staking/src/api.rs index 3f1c518f4..310d9721a 100644 --- a/pallets/parachain-staking/src/api.rs +++ b/pallets/parachain-staking/src/api.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/pallets/parachain-staking/src/benchmarking.rs b/pallets/parachain-staking/src/benchmarking.rs index 96e000b2a..875a994ff 100644 --- a/pallets/parachain-staking/src/benchmarking.rs +++ b/pallets/parachain-staking/src/benchmarking.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/pallets/parachain-staking/src/default_weights.rs b/pallets/parachain-staking/src/default_weights.rs index 970f026e4..40220b9cc 100644 --- a/pallets/parachain-staking/src/default_weights.rs +++ b/pallets/parachain-staking/src/default_weights.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/pallets/parachain-staking/src/inflation.rs b/pallets/parachain-staking/src/inflation.rs index 409b334d4..3e2e9fb5f 100644 --- a/pallets/parachain-staking/src/inflation.rs +++ b/pallets/parachain-staking/src/inflation.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/pallets/parachain-staking/src/lib.rs b/pallets/parachain-staking/src/lib.rs index 64e401af3..8f6273f7f 100644 --- a/pallets/parachain-staking/src/lib.rs +++ b/pallets/parachain-staking/src/lib.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/pallets/parachain-staking/src/migration.rs b/pallets/parachain-staking/src/migration.rs index 93d54fefd..79e74681a 100644 --- a/pallets/parachain-staking/src/migration.rs +++ b/pallets/parachain-staking/src/migration.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/pallets/parachain-staking/src/mock.rs b/pallets/parachain-staking/src/mock.rs index 92acfa6e4..4e3e23169 100644 --- a/pallets/parachain-staking/src/mock.rs +++ b/pallets/parachain-staking/src/mock.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/pallets/parachain-staking/src/set.rs b/pallets/parachain-staking/src/set.rs index 9ac86d737..04a9cff9e 100644 --- a/pallets/parachain-staking/src/set.rs +++ b/pallets/parachain-staking/src/set.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/pallets/parachain-staking/src/tests.rs b/pallets/parachain-staking/src/tests.rs index 53a461c0e..bfcf96c52 100644 --- a/pallets/parachain-staking/src/tests.rs +++ b/pallets/parachain-staking/src/tests.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/pallets/parachain-staking/src/types.rs b/pallets/parachain-staking/src/types.rs index 9c0fffe52..eff97ae17 100644 --- a/pallets/parachain-staking/src/types.rs +++ b/pallets/parachain-staking/src/types.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/pallets/public-credentials/src/access_control.rs b/pallets/public-credentials/src/access_control.rs index dec37d689..4dcbc2e3d 100644 --- a/pallets/public-credentials/src/access_control.rs +++ b/pallets/public-credentials/src/access_control.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/pallets/public-credentials/src/benchmarking.rs b/pallets/public-credentials/src/benchmarking.rs index 0525cd3dd..fa9b96a7f 100644 --- a/pallets/public-credentials/src/benchmarking.rs +++ b/pallets/public-credentials/src/benchmarking.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/pallets/public-credentials/src/credentials.rs b/pallets/public-credentials/src/credentials.rs index 944f6f9ef..4b7a204ec 100644 --- a/pallets/public-credentials/src/credentials.rs +++ b/pallets/public-credentials/src/credentials.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/pallets/public-credentials/src/default_weights.rs b/pallets/public-credentials/src/default_weights.rs index 2a6ad203b..3a4ab99ef 100644 --- a/pallets/public-credentials/src/default_weights.rs +++ b/pallets/public-credentials/src/default_weights.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/pallets/public-credentials/src/lib.rs b/pallets/public-credentials/src/lib.rs index 33796119b..c654215fd 100644 --- a/pallets/public-credentials/src/lib.rs +++ b/pallets/public-credentials/src/lib.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/pallets/public-credentials/src/mock.rs b/pallets/public-credentials/src/mock.rs index 75d8579ce..b8aeadbc2 100644 --- a/pallets/public-credentials/src/mock.rs +++ b/pallets/public-credentials/src/mock.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/pallets/public-credentials/src/tests.rs b/pallets/public-credentials/src/tests.rs index d1ca84e47..c2e246580 100644 --- a/pallets/public-credentials/src/tests.rs +++ b/pallets/public-credentials/src/tests.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/runtime-api/did/src/did_details.rs b/runtime-api/did/src/did_details.rs index 985e28b09..06ac8c089 100644 --- a/runtime-api/did/src/did_details.rs +++ b/runtime-api/did/src/did_details.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/runtime-api/did/src/lib.rs b/runtime-api/did/src/lib.rs index 87efc74dc..0231d618c 100644 --- a/runtime-api/did/src/lib.rs +++ b/runtime-api/did/src/lib.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/runtime-api/did/src/service_endpoint.rs b/runtime-api/did/src/service_endpoint.rs index 446aed555..fb0f15304 100644 --- a/runtime-api/did/src/service_endpoint.rs +++ b/runtime-api/did/src/service_endpoint.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/runtime-api/public-credentials/src/lib.rs b/runtime-api/public-credentials/src/lib.rs index c78ba04ca..48c52d4cc 100644 --- a/runtime-api/public-credentials/src/lib.rs +++ b/runtime-api/public-credentials/src/lib.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/runtime-api/staking/src/lib.rs b/runtime-api/staking/src/lib.rs index a0cebe3b2..e2ff51596 100644 --- a/runtime-api/staking/src/lib.rs +++ b/runtime-api/staking/src/lib.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/runtimes/clone/build.rs b/runtimes/clone/build.rs index 0563ad639..a39438283 100644 --- a/runtimes/clone/build.rs +++ b/runtimes/clone/build.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/runtimes/clone/src/lib.rs b/runtimes/clone/src/lib.rs index 24bf6b465..1d298e290 100644 --- a/runtimes/clone/src/lib.rs +++ b/runtimes/clone/src/lib.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/runtimes/clone/src/weights/frame_system.rs b/runtimes/clone/src/weights/frame_system.rs index 4700fad78..d5243e4ff 100644 --- a/runtimes/clone/src/weights/frame_system.rs +++ b/runtimes/clone/src/weights/frame_system.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/runtimes/clone/src/weights/mod.rs b/runtimes/clone/src/weights/mod.rs index c7a91677b..456b29041 100644 --- a/runtimes/clone/src/weights/mod.rs +++ b/runtimes/clone/src/weights/mod.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/runtimes/clone/src/weights/pallet_balances.rs b/runtimes/clone/src/weights/pallet_balances.rs index 7e132ac42..95b20936e 100644 --- a/runtimes/clone/src/weights/pallet_balances.rs +++ b/runtimes/clone/src/weights/pallet_balances.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/runtimes/clone/src/weights/pallet_session.rs b/runtimes/clone/src/weights/pallet_session.rs index 0e51d67b4..db96fe888 100644 --- a/runtimes/clone/src/weights/pallet_session.rs +++ b/runtimes/clone/src/weights/pallet_session.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/runtimes/clone/src/weights/pallet_timestamp.rs b/runtimes/clone/src/weights/pallet_timestamp.rs index 3b9ca085f..26ca7ae93 100644 --- a/runtimes/clone/src/weights/pallet_timestamp.rs +++ b/runtimes/clone/src/weights/pallet_timestamp.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/runtimes/clone/src/weights/pallet_utility.rs b/runtimes/clone/src/weights/pallet_utility.rs index 0b3f023af..966e6221a 100644 --- a/runtimes/clone/src/weights/pallet_utility.rs +++ b/runtimes/clone/src/weights/pallet_utility.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/runtimes/clone/src/xcm_config.rs b/runtimes/clone/src/xcm_config.rs index e955ca13e..69bac8673 100644 --- a/runtimes/clone/src/xcm_config.rs +++ b/runtimes/clone/src/xcm_config.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/runtimes/common/src/assets.rs b/runtimes/common/src/assets.rs index 3dd2c6b6f..87c04f049 100644 --- a/runtimes/common/src/assets.rs +++ b/runtimes/common/src/assets.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/runtimes/common/src/authorization.rs b/runtimes/common/src/authorization.rs index f7d7144ab..2ea1b101c 100644 --- a/runtimes/common/src/authorization.rs +++ b/runtimes/common/src/authorization.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/runtimes/common/src/benchmarks.rs b/runtimes/common/src/benchmarks.rs index 7bdba9cb0..15ebffa31 100644 --- a/runtimes/common/src/benchmarks.rs +++ b/runtimes/common/src/benchmarks.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/runtimes/common/src/constants.rs b/runtimes/common/src/constants.rs index 0721500f9..97af9605a 100644 --- a/runtimes/common/src/constants.rs +++ b/runtimes/common/src/constants.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/runtimes/common/src/errors.rs b/runtimes/common/src/errors.rs index bcde83aac..7559a307c 100644 --- a/runtimes/common/src/errors.rs +++ b/runtimes/common/src/errors.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/runtimes/common/src/fees.rs b/runtimes/common/src/fees.rs index e1c137da4..66648a9c1 100644 --- a/runtimes/common/src/fees.rs +++ b/runtimes/common/src/fees.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/runtimes/common/src/lib.rs b/runtimes/common/src/lib.rs index 9119921f4..d627b067a 100644 --- a/runtimes/common/src/lib.rs +++ b/runtimes/common/src/lib.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/runtimes/common/src/migrations.rs b/runtimes/common/src/migrations.rs index 93d54fefd..79e74681a 100644 --- a/runtimes/common/src/migrations.rs +++ b/runtimes/common/src/migrations.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/runtimes/common/src/pallet_id.rs b/runtimes/common/src/pallet_id.rs index 3c20016ff..190a4971c 100644 --- a/runtimes/common/src/pallet_id.rs +++ b/runtimes/common/src/pallet_id.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/runtimes/common/src/xcm_config.rs b/runtimes/common/src/xcm_config.rs index 370798bdd..249f18734 100644 --- a/runtimes/common/src/xcm_config.rs +++ b/runtimes/common/src/xcm_config.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/runtimes/peregrine/build.rs b/runtimes/peregrine/build.rs index 0563ad639..a39438283 100644 --- a/runtimes/peregrine/build.rs +++ b/runtimes/peregrine/build.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/runtimes/peregrine/src/lib.rs b/runtimes/peregrine/src/lib.rs index fcd293115..71352d5e3 100644 --- a/runtimes/peregrine/src/lib.rs +++ b/runtimes/peregrine/src/lib.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/runtimes/peregrine/src/tests.rs b/runtimes/peregrine/src/tests.rs index 0009a6c1d..d3972142e 100644 --- a/runtimes/peregrine/src/tests.rs +++ b/runtimes/peregrine/src/tests.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/runtimes/peregrine/src/weights/attestation.rs b/runtimes/peregrine/src/weights/attestation.rs index 7b5fdc5fc..4cf8085d4 100644 --- a/runtimes/peregrine/src/weights/attestation.rs +++ b/runtimes/peregrine/src/weights/attestation.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/runtimes/peregrine/src/weights/ctype.rs b/runtimes/peregrine/src/weights/ctype.rs index e27658f54..955569286 100644 --- a/runtimes/peregrine/src/weights/ctype.rs +++ b/runtimes/peregrine/src/weights/ctype.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/runtimes/peregrine/src/weights/delegation.rs b/runtimes/peregrine/src/weights/delegation.rs index 883431d73..b29ea4c60 100644 --- a/runtimes/peregrine/src/weights/delegation.rs +++ b/runtimes/peregrine/src/weights/delegation.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/runtimes/peregrine/src/weights/did.rs b/runtimes/peregrine/src/weights/did.rs index 539b483c6..b7741255e 100644 --- a/runtimes/peregrine/src/weights/did.rs +++ b/runtimes/peregrine/src/weights/did.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/runtimes/peregrine/src/weights/frame_system.rs b/runtimes/peregrine/src/weights/frame_system.rs index e9bdcdbb3..906a163b8 100644 --- a/runtimes/peregrine/src/weights/frame_system.rs +++ b/runtimes/peregrine/src/weights/frame_system.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/runtimes/peregrine/src/weights/mod.rs b/runtimes/peregrine/src/weights/mod.rs index a4e81bea0..1935e4e37 100644 --- a/runtimes/peregrine/src/weights/mod.rs +++ b/runtimes/peregrine/src/weights/mod.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/runtimes/peregrine/src/weights/pallet_balances.rs b/runtimes/peregrine/src/weights/pallet_balances.rs index f0c40fa24..bcf580e56 100644 --- a/runtimes/peregrine/src/weights/pallet_balances.rs +++ b/runtimes/peregrine/src/weights/pallet_balances.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/runtimes/peregrine/src/weights/pallet_collective.rs b/runtimes/peregrine/src/weights/pallet_collective.rs index 260eea1f1..489fcd877 100644 --- a/runtimes/peregrine/src/weights/pallet_collective.rs +++ b/runtimes/peregrine/src/weights/pallet_collective.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/runtimes/peregrine/src/weights/pallet_democracy.rs b/runtimes/peregrine/src/weights/pallet_democracy.rs index a5e8e2ae1..e17c00b76 100644 --- a/runtimes/peregrine/src/weights/pallet_democracy.rs +++ b/runtimes/peregrine/src/weights/pallet_democracy.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/runtimes/peregrine/src/weights/pallet_did_lookup.rs b/runtimes/peregrine/src/weights/pallet_did_lookup.rs index 53893977a..2ec1cd525 100644 --- a/runtimes/peregrine/src/weights/pallet_did_lookup.rs +++ b/runtimes/peregrine/src/weights/pallet_did_lookup.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/runtimes/peregrine/src/weights/pallet_indices.rs b/runtimes/peregrine/src/weights/pallet_indices.rs index aab7ff840..40e31460b 100644 --- a/runtimes/peregrine/src/weights/pallet_indices.rs +++ b/runtimes/peregrine/src/weights/pallet_indices.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/runtimes/peregrine/src/weights/pallet_inflation.rs b/runtimes/peregrine/src/weights/pallet_inflation.rs index c7d01ff41..dbee85de2 100644 --- a/runtimes/peregrine/src/weights/pallet_inflation.rs +++ b/runtimes/peregrine/src/weights/pallet_inflation.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/runtimes/peregrine/src/weights/pallet_membership.rs b/runtimes/peregrine/src/weights/pallet_membership.rs index 3705b96ab..5e8e7fd6b 100644 --- a/runtimes/peregrine/src/weights/pallet_membership.rs +++ b/runtimes/peregrine/src/weights/pallet_membership.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/runtimes/peregrine/src/weights/pallet_preimage.rs b/runtimes/peregrine/src/weights/pallet_preimage.rs index e6ae728af..589dd9fd8 100644 --- a/runtimes/peregrine/src/weights/pallet_preimage.rs +++ b/runtimes/peregrine/src/weights/pallet_preimage.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/runtimes/peregrine/src/weights/pallet_proxy.rs b/runtimes/peregrine/src/weights/pallet_proxy.rs index 8c079f076..8e78d5a81 100644 --- a/runtimes/peregrine/src/weights/pallet_proxy.rs +++ b/runtimes/peregrine/src/weights/pallet_proxy.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/runtimes/peregrine/src/weights/pallet_scheduler.rs b/runtimes/peregrine/src/weights/pallet_scheduler.rs index 761a637d9..f4e945323 100644 --- a/runtimes/peregrine/src/weights/pallet_scheduler.rs +++ b/runtimes/peregrine/src/weights/pallet_scheduler.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/runtimes/peregrine/src/weights/pallet_session.rs b/runtimes/peregrine/src/weights/pallet_session.rs index b660da89d..0131d60f4 100644 --- a/runtimes/peregrine/src/weights/pallet_session.rs +++ b/runtimes/peregrine/src/weights/pallet_session.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/runtimes/peregrine/src/weights/pallet_timestamp.rs b/runtimes/peregrine/src/weights/pallet_timestamp.rs index bb85b9961..1ab2378ea 100644 --- a/runtimes/peregrine/src/weights/pallet_timestamp.rs +++ b/runtimes/peregrine/src/weights/pallet_timestamp.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/runtimes/peregrine/src/weights/pallet_tips.rs b/runtimes/peregrine/src/weights/pallet_tips.rs index 0de4bdcdb..a6529f2bf 100644 --- a/runtimes/peregrine/src/weights/pallet_tips.rs +++ b/runtimes/peregrine/src/weights/pallet_tips.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/runtimes/peregrine/src/weights/pallet_treasury.rs b/runtimes/peregrine/src/weights/pallet_treasury.rs index dec754320..a496b9f21 100644 --- a/runtimes/peregrine/src/weights/pallet_treasury.rs +++ b/runtimes/peregrine/src/weights/pallet_treasury.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/runtimes/peregrine/src/weights/pallet_utility.rs b/runtimes/peregrine/src/weights/pallet_utility.rs index 3b6736405..9ac3316a8 100644 --- a/runtimes/peregrine/src/weights/pallet_utility.rs +++ b/runtimes/peregrine/src/weights/pallet_utility.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/runtimes/peregrine/src/weights/pallet_vesting.rs b/runtimes/peregrine/src/weights/pallet_vesting.rs index 512676692..a1f9836f7 100644 --- a/runtimes/peregrine/src/weights/pallet_vesting.rs +++ b/runtimes/peregrine/src/weights/pallet_vesting.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/runtimes/peregrine/src/weights/pallet_web3_names.rs b/runtimes/peregrine/src/weights/pallet_web3_names.rs index 207208c30..95b753a9e 100644 --- a/runtimes/peregrine/src/weights/pallet_web3_names.rs +++ b/runtimes/peregrine/src/weights/pallet_web3_names.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/runtimes/peregrine/src/weights/parachain_staking.rs b/runtimes/peregrine/src/weights/parachain_staking.rs index 0bb21cd91..683b8f7fe 100644 --- a/runtimes/peregrine/src/weights/parachain_staking.rs +++ b/runtimes/peregrine/src/weights/parachain_staking.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/runtimes/peregrine/src/weights/public_credentials.rs b/runtimes/peregrine/src/weights/public_credentials.rs index 034aa26c4..800858e46 100644 --- a/runtimes/peregrine/src/weights/public_credentials.rs +++ b/runtimes/peregrine/src/weights/public_credentials.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/runtimes/peregrine/src/xcm_config.rs b/runtimes/peregrine/src/xcm_config.rs index 54d4b4576..ae1a16d97 100644 --- a/runtimes/peregrine/src/xcm_config.rs +++ b/runtimes/peregrine/src/xcm_config.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/runtimes/spiritnet/build.rs b/runtimes/spiritnet/build.rs index 0563ad639..a39438283 100644 --- a/runtimes/spiritnet/build.rs +++ b/runtimes/spiritnet/build.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/runtimes/spiritnet/src/lib.rs b/runtimes/spiritnet/src/lib.rs index 3699015aa..891e2708d 100644 --- a/runtimes/spiritnet/src/lib.rs +++ b/runtimes/spiritnet/src/lib.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/runtimes/spiritnet/src/tests.rs b/runtimes/spiritnet/src/tests.rs index 19da2c04f..3314a9de6 100644 --- a/runtimes/spiritnet/src/tests.rs +++ b/runtimes/spiritnet/src/tests.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/runtimes/spiritnet/src/weights/attestation.rs b/runtimes/spiritnet/src/weights/attestation.rs index b551b1c49..af73594c8 100644 --- a/runtimes/spiritnet/src/weights/attestation.rs +++ b/runtimes/spiritnet/src/weights/attestation.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/runtimes/spiritnet/src/weights/ctype.rs b/runtimes/spiritnet/src/weights/ctype.rs index c3e962d8e..9125837f4 100644 --- a/runtimes/spiritnet/src/weights/ctype.rs +++ b/runtimes/spiritnet/src/weights/ctype.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/runtimes/spiritnet/src/weights/delegation.rs b/runtimes/spiritnet/src/weights/delegation.rs index 386b877f6..ce19f2a38 100644 --- a/runtimes/spiritnet/src/weights/delegation.rs +++ b/runtimes/spiritnet/src/weights/delegation.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/runtimes/spiritnet/src/weights/did.rs b/runtimes/spiritnet/src/weights/did.rs index 47316c53f..84f6aa59c 100644 --- a/runtimes/spiritnet/src/weights/did.rs +++ b/runtimes/spiritnet/src/weights/did.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/runtimes/spiritnet/src/weights/frame_system.rs b/runtimes/spiritnet/src/weights/frame_system.rs index d64db63da..245450a66 100644 --- a/runtimes/spiritnet/src/weights/frame_system.rs +++ b/runtimes/spiritnet/src/weights/frame_system.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/runtimes/spiritnet/src/weights/mod.rs b/runtimes/spiritnet/src/weights/mod.rs index a4e81bea0..1935e4e37 100644 --- a/runtimes/spiritnet/src/weights/mod.rs +++ b/runtimes/spiritnet/src/weights/mod.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/runtimes/spiritnet/src/weights/pallet_balances.rs b/runtimes/spiritnet/src/weights/pallet_balances.rs index ab21e90c6..d32e0648a 100644 --- a/runtimes/spiritnet/src/weights/pallet_balances.rs +++ b/runtimes/spiritnet/src/weights/pallet_balances.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/runtimes/spiritnet/src/weights/pallet_collective.rs b/runtimes/spiritnet/src/weights/pallet_collective.rs index 784222a31..3da0ecd91 100644 --- a/runtimes/spiritnet/src/weights/pallet_collective.rs +++ b/runtimes/spiritnet/src/weights/pallet_collective.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/runtimes/spiritnet/src/weights/pallet_democracy.rs b/runtimes/spiritnet/src/weights/pallet_democracy.rs index 894687460..d9106e796 100644 --- a/runtimes/spiritnet/src/weights/pallet_democracy.rs +++ b/runtimes/spiritnet/src/weights/pallet_democracy.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/runtimes/spiritnet/src/weights/pallet_did_lookup.rs b/runtimes/spiritnet/src/weights/pallet_did_lookup.rs index 27a327ef2..760abf377 100644 --- a/runtimes/spiritnet/src/weights/pallet_did_lookup.rs +++ b/runtimes/spiritnet/src/weights/pallet_did_lookup.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/runtimes/spiritnet/src/weights/pallet_indices.rs b/runtimes/spiritnet/src/weights/pallet_indices.rs index 08aba0bb8..97a9dad0c 100644 --- a/runtimes/spiritnet/src/weights/pallet_indices.rs +++ b/runtimes/spiritnet/src/weights/pallet_indices.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/runtimes/spiritnet/src/weights/pallet_inflation.rs b/runtimes/spiritnet/src/weights/pallet_inflation.rs index edeb02c4c..77ee65b50 100644 --- a/runtimes/spiritnet/src/weights/pallet_inflation.rs +++ b/runtimes/spiritnet/src/weights/pallet_inflation.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/runtimes/spiritnet/src/weights/pallet_membership.rs b/runtimes/spiritnet/src/weights/pallet_membership.rs index 531e6f96c..865bb4e36 100644 --- a/runtimes/spiritnet/src/weights/pallet_membership.rs +++ b/runtimes/spiritnet/src/weights/pallet_membership.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/runtimes/spiritnet/src/weights/pallet_preimage.rs b/runtimes/spiritnet/src/weights/pallet_preimage.rs index 1838ae87c..64ac7b741 100644 --- a/runtimes/spiritnet/src/weights/pallet_preimage.rs +++ b/runtimes/spiritnet/src/weights/pallet_preimage.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/runtimes/spiritnet/src/weights/pallet_proxy.rs b/runtimes/spiritnet/src/weights/pallet_proxy.rs index 6aebe9ba5..e6ff5b7cf 100644 --- a/runtimes/spiritnet/src/weights/pallet_proxy.rs +++ b/runtimes/spiritnet/src/weights/pallet_proxy.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/runtimes/spiritnet/src/weights/pallet_scheduler.rs b/runtimes/spiritnet/src/weights/pallet_scheduler.rs index 46501aa93..ee1bfc6c5 100644 --- a/runtimes/spiritnet/src/weights/pallet_scheduler.rs +++ b/runtimes/spiritnet/src/weights/pallet_scheduler.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/runtimes/spiritnet/src/weights/pallet_session.rs b/runtimes/spiritnet/src/weights/pallet_session.rs index 486b656ba..734d6d407 100644 --- a/runtimes/spiritnet/src/weights/pallet_session.rs +++ b/runtimes/spiritnet/src/weights/pallet_session.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/runtimes/spiritnet/src/weights/pallet_timestamp.rs b/runtimes/spiritnet/src/weights/pallet_timestamp.rs index ee2870bef..dc48e569c 100644 --- a/runtimes/spiritnet/src/weights/pallet_timestamp.rs +++ b/runtimes/spiritnet/src/weights/pallet_timestamp.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/runtimes/spiritnet/src/weights/pallet_tips.rs b/runtimes/spiritnet/src/weights/pallet_tips.rs index 5bf0ee7cc..bdbf8e8a0 100644 --- a/runtimes/spiritnet/src/weights/pallet_tips.rs +++ b/runtimes/spiritnet/src/weights/pallet_tips.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/runtimes/spiritnet/src/weights/pallet_treasury.rs b/runtimes/spiritnet/src/weights/pallet_treasury.rs index e84e080ea..4b4781b88 100644 --- a/runtimes/spiritnet/src/weights/pallet_treasury.rs +++ b/runtimes/spiritnet/src/weights/pallet_treasury.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/runtimes/spiritnet/src/weights/pallet_utility.rs b/runtimes/spiritnet/src/weights/pallet_utility.rs index 2c4917aff..fd8e8586b 100644 --- a/runtimes/spiritnet/src/weights/pallet_utility.rs +++ b/runtimes/spiritnet/src/weights/pallet_utility.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/runtimes/spiritnet/src/weights/pallet_vesting.rs b/runtimes/spiritnet/src/weights/pallet_vesting.rs index 41df94029..16d08707f 100644 --- a/runtimes/spiritnet/src/weights/pallet_vesting.rs +++ b/runtimes/spiritnet/src/weights/pallet_vesting.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/runtimes/spiritnet/src/weights/pallet_web3_names.rs b/runtimes/spiritnet/src/weights/pallet_web3_names.rs index c68cc0ce3..514b9b8fc 100644 --- a/runtimes/spiritnet/src/weights/pallet_web3_names.rs +++ b/runtimes/spiritnet/src/weights/pallet_web3_names.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/runtimes/spiritnet/src/weights/parachain_staking.rs b/runtimes/spiritnet/src/weights/parachain_staking.rs index 3a214163e..6a8079bed 100644 --- a/runtimes/spiritnet/src/weights/parachain_staking.rs +++ b/runtimes/spiritnet/src/weights/parachain_staking.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/runtimes/spiritnet/src/weights/public_credentials.rs b/runtimes/spiritnet/src/weights/public_credentials.rs index 7387a76f7..78f5ca39b 100644 --- a/runtimes/spiritnet/src/weights/public_credentials.rs +++ b/runtimes/spiritnet/src/weights/public_credentials.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/runtimes/spiritnet/src/xcm_config.rs b/runtimes/spiritnet/src/xcm_config.rs index 96b27c102..e7cbc6753 100644 --- a/runtimes/spiritnet/src/xcm_config.rs +++ b/runtimes/spiritnet/src/xcm_config.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/runtimes/standalone/build.rs b/runtimes/standalone/build.rs index 0563ad639..a39438283 100644 --- a/runtimes/standalone/build.rs +++ b/runtimes/standalone/build.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/runtimes/standalone/src/lib.rs b/runtimes/standalone/src/lib.rs index 282010299..ebe34d9c3 100644 --- a/runtimes/standalone/src/lib.rs +++ b/runtimes/standalone/src/lib.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/rust-toolchain.toml b/rust-toolchain.toml index f5c70e287..2e86ab21a 100644 --- a/rust-toolchain.toml +++ b/rust-toolchain.toml @@ -1,4 +1,4 @@ [toolchain] -channel = "nightly-2022-10-09" +channel = "nightly-2023-10-09" components = [ "rustfmt", "clippy" ] targets = [ "wasm32-unknown-unknown" ] diff --git a/scripts/init.sh b/scripts/init.sh index c5597c170..d0429d3ae 100755 --- a/scripts/init.sh +++ b/scripts/init.sh @@ -5,9 +5,9 @@ set -e echo "*** Initializing WASM build environment" if [ -z $CI_PROJECT_NAME ] ; then - rustup install nightly-2022-10-09 + rustup install nightly-2023-10-09 rustup update stable fi -rustup target add wasm32-unknown-unknown --toolchain nightly-2022-10-09 +rustup target add wasm32-unknown-unknown --toolchain nightly-2023-10-09 rustup target add wasm32-unknown-unknown --toolchain stable -rustup override set nightly-2022-10-09 --path $BASEDIR/.. +rustup override set nightly-2023-10-09 --path $BASEDIR/.. diff --git a/support/src/deposit.rs b/support/src/deposit.rs index f02288ed6..4aeaa6ab3 100644 --- a/support/src/deposit.rs +++ b/support/src/deposit.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/support/src/lib.rs b/support/src/lib.rs index 37582a346..722a00a0f 100644 --- a/support/src/lib.rs +++ b/support/src/lib.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/support/src/mock.rs b/support/src/mock.rs index 9082728d0..a260c4d5d 100644 --- a/support/src/mock.rs +++ b/support/src/mock.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/support/src/signature.rs b/support/src/signature.rs index 62448d3a4..bb85329a3 100644 --- a/support/src/signature.rs +++ b/support/src/signature.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/support/src/traits.rs b/support/src/traits.rs index 734ad1020..0d4050163 100644 --- a/support/src/traits.rs +++ b/support/src/traits.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2022 BOTLabs GmbH +// Copyright (C) 2019-2023 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by From 5a85bf421a42ccff7e6623d2ffbc87d32567e8ee Mon Sep 17 00:00:00 2001 From: Antonio Date: Wed, 11 Jan 2023 11:08:57 +0100 Subject: [PATCH 21/38] fix: toolchain version (#447) --- rust-toolchain.toml | 2 +- scripts/init.sh | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/rust-toolchain.toml b/rust-toolchain.toml index 2e86ab21a..f5c70e287 100644 --- a/rust-toolchain.toml +++ b/rust-toolchain.toml @@ -1,4 +1,4 @@ [toolchain] -channel = "nightly-2023-10-09" +channel = "nightly-2022-10-09" components = [ "rustfmt", "clippy" ] targets = [ "wasm32-unknown-unknown" ] diff --git a/scripts/init.sh b/scripts/init.sh index d0429d3ae..c5597c170 100755 --- a/scripts/init.sh +++ b/scripts/init.sh @@ -5,9 +5,9 @@ set -e echo "*** Initializing WASM build environment" if [ -z $CI_PROJECT_NAME ] ; then - rustup install nightly-2023-10-09 + rustup install nightly-2022-10-09 rustup update stable fi -rustup target add wasm32-unknown-unknown --toolchain nightly-2023-10-09 +rustup target add wasm32-unknown-unknown --toolchain nightly-2022-10-09 rustup target add wasm32-unknown-unknown --toolchain stable -rustup override set nightly-2023-10-09 --path $BASEDIR/.. +rustup override set nightly-2022-10-09 --path $BASEDIR/.. From 79ac36563f8f4cf4bcf70c5f59c0059d8bf66dff Mon Sep 17 00:00:00 2001 From: Albrecht Date: Fri, 20 Jan 2023 13:47:36 +0100 Subject: [PATCH 22/38] chore: make clear that it's still under development (#451) ## fixes https://github.com/KILTprotocol/ticket/issues/2387 --- Cargo.lock | 42 +++++++++++++++++++++--------------------- Cargo.toml | 6 +++--- 2 files changed, 24 insertions(+), 24 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 6fb72fe5d..3b638f850 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -345,7 +345,7 @@ checksum = "065374052e7df7ee4047b1160cca5e1467a12351a40b3da123c870ba0b8eda2a" [[package]] name = "attestation" -version = "1.9.0" +version = "1.9.0-dev" dependencies = [ "ctype", "frame-benchmarking", @@ -965,7 +965,7 @@ dependencies = [ [[package]] name = "clone-runtime" -version = "1.9.0" +version = "1.9.0-dev" dependencies = [ "cumulus-pallet-aura-ext", "cumulus-pallet-dmp-queue", @@ -1346,7 +1346,7 @@ dependencies = [ [[package]] name = "ctype" -version = "1.9.0" +version = "1.9.0-dev" dependencies = [ "frame-benchmarking", "frame-support", @@ -1920,7 +1920,7 @@ dependencies = [ [[package]] name = "delegation" -version = "1.9.0" +version = "1.9.0-dev" dependencies = [ "attestation", "bitflags", @@ -1977,7 +1977,7 @@ dependencies = [ [[package]] name = "did" -version = "1.9.0" +version = "1.9.0-dev" dependencies = [ "ctype", "env_logger", @@ -3595,7 +3595,7 @@ checksum = "f9b7d56ba4a8344d6be9729995e6b06f928af29998cdf79fe390cbf6b1fee838" [[package]] name = "kilt-asset-dids" -version = "1.9.0" +version = "1.9.0-dev" dependencies = [ "base58", "frame-support", @@ -3610,7 +3610,7 @@ dependencies = [ [[package]] name = "kilt-parachain" -version = "1.9.0" +version = "1.9.0-dev" dependencies = [ "clap", "clone-runtime", @@ -3675,7 +3675,7 @@ dependencies = [ [[package]] name = "kilt-runtime-api-did" -version = "1.9.0" +version = "1.9.0-dev" dependencies = [ "did", "kilt-support", @@ -3687,7 +3687,7 @@ dependencies = [ [[package]] name = "kilt-runtime-api-public-credentials" -version = "1.9.0" +version = "1.9.0-dev" dependencies = [ "kilt-support", "parity-scale-codec", @@ -3697,7 +3697,7 @@ dependencies = [ [[package]] name = "kilt-runtime-api-staking" -version = "1.9.0" +version = "1.9.0-dev" dependencies = [ "parity-scale-codec", "scale-info", @@ -3707,7 +3707,7 @@ dependencies = [ [[package]] name = "kilt-support" -version = "1.9.0" +version = "1.9.0-dev" dependencies = [ "frame-support", "frame-system", @@ -4432,7 +4432,7 @@ dependencies = [ [[package]] name = "mashnet-node" -version = "1.9.0" +version = "1.9.0-dev" dependencies = [ "clap", "frame-benchmarking", @@ -4475,7 +4475,7 @@ dependencies = [ [[package]] name = "mashnet-node-runtime" -version = "1.9.0" +version = "1.9.0-dev" dependencies = [ "attestation", "ctype", @@ -5363,7 +5363,7 @@ dependencies = [ [[package]] name = "pallet-did-lookup" -version = "1.9.0" +version = "1.9.0-dev" dependencies = [ "frame-benchmarking", "frame-support", @@ -5553,7 +5553,7 @@ dependencies = [ [[package]] name = "pallet-inflation" -version = "1.9.0" +version = "1.9.0-dev" dependencies = [ "frame-benchmarking", "frame-support", @@ -6072,7 +6072,7 @@ dependencies = [ [[package]] name = "pallet-web3-names" -version = "1.9.0" +version = "1.9.0-dev" dependencies = [ "frame-benchmarking", "frame-support", @@ -6152,7 +6152,7 @@ dependencies = [ [[package]] name = "parachain-staking" -version = "1.9.0" +version = "1.9.0-dev" dependencies = [ "frame-benchmarking", "frame-support", @@ -6361,7 +6361,7 @@ checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e" [[package]] name = "peregrine-runtime" -version = "1.9.0" +version = "1.9.0-dev" dependencies = [ "attestation", "ctype", @@ -7954,7 +7954,7 @@ dependencies = [ [[package]] name = "public-credentials" -version = "1.9.0" +version = "1.9.0-dev" dependencies = [ "ctype", "frame-benchmarking", @@ -8421,7 +8421,7 @@ dependencies = [ [[package]] name = "runtime-common" -version = "1.9.0" +version = "1.9.0-dev" dependencies = [ "attestation", "cumulus-primitives-core", @@ -10832,7 +10832,7 @@ checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" [[package]] name = "spiritnet-runtime" -version = "1.9.0" +version = "1.9.0-dev" dependencies = [ "attestation", "ctype", diff --git a/Cargo.toml b/Cargo.toml index 8fc9dbbfb..42f0d5106 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -19,7 +19,7 @@ homepage = "https://kilt.io/" license-file = "LICENSE" readme = "README.md" repository = "https://github.com/KILTprotocol/kilt-node" -version = "1.9.0" +version = "1.9.0-dev" [workspace.dependencies] # Build deps @@ -69,7 +69,7 @@ mashnet-node-runtime = {path = "runtimes/standalone", default-features = false} peregrine-runtime = {path = "runtimes/peregrine", default-features = false} spiritnet-runtime = {path = "runtimes/spiritnet", default-features = false} -# Benchmarking (with default disabled) +# Benchmarking (with default disabled) cumulus-pallet-session-benchmarking = {git = "https://github.com/paritytech/cumulus", default-features = false, branch = "polkadot-v0.9.32"} frame-system-benchmarking = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.32"} @@ -129,7 +129,7 @@ sp-std = {git = "https://github.com/paritytech/substrate", default-features = fa sp-transaction-pool = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.32"} sp-version = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.32"} try-runtime-cli = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.32"} - + # Polkadot (with default disabled) pallet-xcm = {git = "https://github.com/paritytech/polkadot", default-features = false, branch = "release-v0.9.32"} polkadot-parachain = {git = "https://github.com/paritytech/polkadot", default-features = false, branch = "release-v0.9.32"} From b6b8d4d6bd07391da72acf8ac3da65392488ceb4 Mon Sep 17 00:00:00 2001 From: Antonio Date: Fri, 20 Jan 2023 14:30:03 +0100 Subject: [PATCH 23/38] chore: update relay chain references (#449) After the move to Polkadot, Spiritnet XCM config was still referring to Kusama as the relay chain. This should be updated now. Co-authored-by: Albrecht --- runtimes/common/src/xcm_config.rs | 2 +- runtimes/peregrine/src/xcm_config.rs | 1 + runtimes/spiritnet/src/xcm_config.rs | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/runtimes/common/src/xcm_config.rs b/runtimes/common/src/xcm_config.rs index 249f18734..dcb71522a 100644 --- a/runtimes/common/src/xcm_config.rs +++ b/runtimes/common/src/xcm_config.rs @@ -35,7 +35,7 @@ parameter_types! { } match_types! { - // The legislative of our parent (i.e. Kusama majority vote). + // The legislative of our parent (i.e. Polkadot majority vote for Spiritnet). pub type ParentLegislative: impl Contains = { MultiLocation { parents: 1, interior: X1(Plurality { id: BodyId::Legislative, .. }) } }; diff --git a/runtimes/peregrine/src/xcm_config.rs b/runtimes/peregrine/src/xcm_config.rs index ae1a16d97..951e85fb4 100644 --- a/runtimes/peregrine/src/xcm_config.rs +++ b/runtimes/peregrine/src/xcm_config.rs @@ -40,6 +40,7 @@ use runtime_common::xcm_config::{ parameter_types! { pub RelayChainOrigin: RuntimeOrigin = cumulus_pallet_xcm::Origin::Relay.into(); pub Ancestry: MultiLocation = Parachain(ParachainInfo::parachain_id().into()).into(); + // TODO: This needs to be updated once we deploy Peregrine on Rococo pub const RelayNetworkId: NetworkId = NetworkId::Any; } diff --git a/runtimes/spiritnet/src/xcm_config.rs b/runtimes/spiritnet/src/xcm_config.rs index e7cbc6753..5fd40e9d3 100644 --- a/runtimes/spiritnet/src/xcm_config.rs +++ b/runtimes/spiritnet/src/xcm_config.rs @@ -38,7 +38,7 @@ use runtime_common::xcm_config::{LocalAssetTransactor, MaxInstructions, RelayLoc parameter_types! { pub RelayChainOrigin: RuntimeOrigin = cumulus_pallet_xcm::Origin::Relay.into(); pub Ancestry: MultiLocation = Parachain(ParachainInfo::parachain_id().into()).into(); - pub const RelayNetworkId: NetworkId = NetworkId::Kusama; + pub const RelayNetworkId: NetworkId = NetworkId::Polkadot; } /// This is the type we use to convert an (incoming) XCM origin into a local From b38b92a757c3986cf7d42ff9406de4b5061cd102 Mon Sep 17 00:00:00 2001 From: Tino Rusch Date: Fri, 20 Jan 2023 14:58:19 +0100 Subject: [PATCH 24/38] chore: upgrade polkadot to v0.9.36 (#446) ## fixes KILTProtocol/ticket#2351 Upgrade polkadot version to 0.9.36 ### Notable changes in 0.9.32 -> 0.9.33 [Full changelog](https://github.com/paritytech/polkadot/releases/tag/v0.9.33) This release is super small and only consists of removing the sp_tasks::spawn api, that wasn't used by us or any others (https://github.com/paritytech/substrate/pull/12639). The only other change was an internal refactoring of the state database in https://github.com/paritytech/substrate/pull/12239 ### Notable changes in 0.9.33 -> 0.9.34 [Full changelog](https://github.com/paritytech/polkadot/releases/tag/v0.9.34) This is a bigger runtime only release mainly about improvements to opengov and collectives. The only notable change that required code changes was the removal of the wasmtime feature flag in some crates https://github.com/paritytech/substrate/pull/12684 ### Notable changes in 0.9.34 -> 0.9.35 [Full changelog](https://github.com/paritytech/polkadot/releases/tag/v0.9.35) Most notable are the two changes https://github.com/paritytech/substrate/pull/12891 and https://github.com/paritytech/substrate/pull/12868. Also there is now the possibility to use a new RPC server that supports http and websocket requests on the same server. We should look into this since this will eventually cause the older severs to be deprecated in the future (https://github.com/paritytech/substrate/pull/12663). In https://github.com/paritytech/substrate/pull/12485 a general message queue pallet was introduced that might be helpful for receivng XCM in the future. ### Notable changes in 0.9.35 -> 0.9.36 [Full changelog](https://github.com/paritytech/polkadot/releases/tag/v0.9.36) This is a hotfix release to address an issue in the dispute coordinator on the node level. ## How to test: Please provide a brief step-by-step instruction. If necessary provide information about dependencies (specific configuration, branches, database dumps, etc.) - Step 1 - Step 2 - etc. ## Checklist: - [ ] I have verified that the code works - [ ] No panics! (checked arithmetic ops, no indexing `array[3]` use `get(3)`, ...) - [ ] I have verified that the code is easy to understand - [ ] If not, I have left a well-balanced amount of inline comments - [ ] I have [left the code in a better state](https://deviq.com/principles/boy-scout-rule) - [ ] I have documented the changes (where applicable) Co-authored-by: Antonio --- Cargo.lock | 2727 +++++++++++++----------- Cargo.toml | 212 +- nodes/parachain/Cargo.toml | 7 +- nodes/parachain/src/command.rs | 28 +- nodes/parachain/src/service.rs | 216 +- nodes/standalone/Cargo.toml | 8 +- nodes/standalone/src/benchmarking.rs | 4 +- nodes/standalone/src/command.rs | 10 +- nodes/standalone/src/service.rs | 2 + pallets/attestation/src/lib.rs | 6 + pallets/ctype/src/lib.rs | 1 + pallets/delegation/src/lib.rs | 7 + pallets/did/src/lib.rs | 15 + pallets/pallet-did-lookup/src/lib.rs | 7 + pallets/pallet-did-lookup/src/tests.rs | 4 +- pallets/pallet-web3-names/src/lib.rs | 7 + pallets/parachain-staking/src/lib.rs | 21 + pallets/public-credentials/src/lib.rs | 7 + runtimes/clone/src/lib.rs | 13 +- runtimes/common/src/constants.rs | 4 +- runtimes/peregrine/src/lib.rs | 11 +- runtimes/spiritnet/src/lib.rs | 11 +- runtimes/standalone/src/lib.rs | 11 +- scripts/init.sh | 0 24 files changed, 1814 insertions(+), 1525 deletions(-) mode change 100755 => 100644 scripts/init.sh diff --git a/Cargo.lock b/Cargo.lock index 3b638f850..364dbf95e 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -18,7 +18,16 @@ version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b9ecd88a8c8378ca913a680cd98f0f13ac67383d35993f86c90a70e3f137816b" dependencies = [ - "gimli", + "gimli 0.26.2", +] + +[[package]] +name = "addr2line" +version = "0.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a76fd60b23679b7d19bd066031410fb7e458ccc5e958eb5c325888ce4baedc97" +dependencies = [ + "gimli 0.27.0", ] [[package]] @@ -42,7 +51,7 @@ version = "0.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9e8b47f52ea9bae42228d07ec09eb676433d7c4ed1ebdf0f1d1c29ed446f1ab8" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "cipher", "cpufeatures", "opaque-debug 0.3.0", @@ -68,16 +77,16 @@ version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47" dependencies = [ - "getrandom 0.2.7", + "getrandom 0.2.8", "once_cell", "version_check", ] [[package]] name = "aho-corasick" -version = "0.7.18" +version = "0.7.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e37cfd5e7657ada45f742d6e99ca5788580b5c529dc78faf11ece6dc702656f" +checksum = "cc936419f96fa211c1b9166887b38e5e40b19958e5b895be7c1f93adec7071ac" dependencies = [ "memchr", ] @@ -90,9 +99,9 @@ checksum = "fbf688625d06217d5b1bb0ea9d9c44a1635fd0ee3534466388d18203174f4d11" [[package]] name = "android_system_properties" -version = "0.1.4" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7ed72e1635e121ca3e79420540282af22da58be50de153d36f81ddc6b83aa9e" +checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" dependencies = [ "libc", ] @@ -108,9 +117,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.62" +version = "1.0.68" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1485d4d2cc45e7b201ee3767015c96faa5904387c9d87c6efdd0fb511f12d305" +checksum = "2cb2f989d18dd141ab8ae82f64d1a8cdd37e0840f73a406896cf5e99502fab61" [[package]] name = "approx" @@ -123,24 +132,21 @@ dependencies = [ [[package]] name = "array-bytes" -version = "4.1.0" +version = "4.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a913633b0c922e6b745072795f50d90ebea78ba31a57e2ac8c2fc7b50950949" +checksum = "f52f63c5c1316a16a4b35eaac8b76a98248961a533f061684cb2a7cb0eafb6c6" [[package]] -name = "arrayref" -version = "0.3.6" +name = "array-bytes" +version = "6.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4c527152e37cf757a3f78aae5a06fbeefdb07ccc535c980a3208ee3060dd544" +checksum = "22f72e9d6fac4bc80778ea470b20197b88d28c292bb7d60c3fb099280003cd19" [[package]] -name = "arrayvec" -version = "0.4.12" +name = "arrayref" +version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd9fd44efafa8690358b7408d253adf110036b88f55672a933f01d616ad9b1b9" -dependencies = [ - "nodrop", -] +checksum = "a4c527152e37cf757a3f78aae5a06fbeefdb07ccc535c980a3208ee3060dd544" [[package]] name = "arrayvec" @@ -178,9 +184,9 @@ dependencies = [ [[package]] name = "async-channel" -version = "1.7.1" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e14485364214912d3b19cc3435dde4df66065127f05fa0d75c712f36f12c2f28" +checksum = "cf46fee83e5ccffc220104713af3292ff9bc7c64c7de289f66dae8e38d826833" dependencies = [ "concurrent-queue", "event-listener", @@ -189,23 +195,23 @@ dependencies = [ [[package]] name = "async-executor" -version = "1.4.1" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "871f9bb5e0a22eeb7e8cf16641feb87c9dc67032ccf8ff49e772eb9941d3a965" +checksum = "17adb73da160dfb475c183343c8cccd80721ea5a605d3eb57125f0a7b7a92d0b" dependencies = [ + "async-lock", "async-task", "concurrent-queue", "fastrand", "futures-lite", - "once_cell", "slab", ] [[package]] name = "async-global-executor" -version = "2.2.0" +version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5262ed948da60dd8956c6c5aca4d4163593dddb7b32d73267c93dab7b2e98940" +checksum = "f1b6f5d7df27bd294849f8eec66ecfc63d11814df7a4f5d74168a2394467b776" dependencies = [ "async-channel", "async-executor", @@ -213,55 +219,55 @@ dependencies = [ "async-lock", "blocking", "futures-lite", - "num_cpus", "once_cell", ] [[package]] name = "async-io" -version = "1.8.0" +version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ab006897723d9352f63e2b13047177c3982d8d79709d713ce7747a8f19fd1b0" +checksum = "8c374dda1ed3e7d8f0d9ba58715f924862c63eae6849c92d3a18e7fbde9e2794" dependencies = [ + "async-lock", "autocfg", "concurrent-queue", "futures-lite", "libc", "log", - "once_cell", "parking", "polling", "slab", "socket2", "waker-fn", - "winapi", + "windows-sys 0.42.0", ] [[package]] name = "async-lock" -version = "2.5.0" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e97a171d191782fba31bb902b14ad94e24a68145032b7eedf871ab0bc0d077b6" +checksum = "c8101efe8695a6c17e02911402145357e718ac92d3ff88ae8419e84b1707b685" dependencies = [ "event-listener", + "futures-lite", ] [[package]] name = "async-process" -version = "1.5.0" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02111fd8655a613c25069ea89fc8d9bb89331fa77486eb3bc059ee757cfa481c" +checksum = "6381ead98388605d0d9ff86371043b5aa922a3905824244de40dc263a14fcba4" dependencies = [ "async-io", + "async-lock", "autocfg", "blocking", - "cfg-if 1.0.0", + "cfg-if", "event-listener", "futures-lite", "libc", - "once_cell", "signal-hook", - "winapi", + "windows-sys 0.42.0", ] [[package]] @@ -275,7 +281,6 @@ dependencies = [ "async-global-executor", "async-io", "async-lock", - "async-process", "crossbeam-utils", "futures-channel", "futures-core", @@ -292,21 +297,6 @@ dependencies = [ "wasm-bindgen-futures", ] -[[package]] -name = "async-std-resolver" -version = "0.22.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ba50e24d9ee0a8950d3d03fc6d0dd10aa14b5de3b101949b4e160f7fee7c723" -dependencies = [ - "async-std", - "async-trait", - "futures-io", - "futures-util", - "pin-utils", - "socket2", - "trust-dns-resolver", -] - [[package]] name = "async-task" version = "4.3.0" @@ -315,9 +305,9 @@ checksum = "7a40729d2133846d9ed0ea60a8b9541bccddab49cd30f0715a1da672fe9a2524" [[package]] name = "async-trait" -version = "0.1.57" +version = "0.1.60" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76464446b8bc32758d7e88ee1a804d9914cd9b1cb264c029899680b0be29826f" +checksum = "677d1d8ab452a3936018a687b20e6f7cf5363d713b732b8884001317b0e48aa3" dependencies = [ "proc-macro2", "quote", @@ -326,9 +316,9 @@ dependencies = [ [[package]] name = "asynchronous-codec" -version = "0.6.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0de5164e5edbf51c45fb8c2d9664ae1c095cce1b265ecf7569093c0d66ef690" +checksum = "06a0daa378f5fd10634e44b0a29b2a87b890657658e072a30d6f26e57ddee182" dependencies = [ "bytes", "futures-sink", @@ -371,7 +361,7 @@ version = "0.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" dependencies = [ - "hermit-abi", + "hermit-abi 0.1.19", "libc", "winapi", ] @@ -382,32 +372,18 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" -[[package]] -name = "backoff" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b62ddb9cb1ec0a098ad4bbf9344d0713fa193ae1a80af55febcff2627b6a00c1" -dependencies = [ - "futures-core", - "getrandom 0.2.7", - "instant", - "pin-project-lite 0.2.9", - "rand 0.8.5", - "tokio", -] - [[package]] name = "backtrace" -version = "0.3.66" +version = "0.3.67" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cab84319d616cfb654d03394f38ab7e6f0919e181b1b57e1fd15e7fb4077d9a7" +checksum = "233d376d6d185f2a3093e58f283f60f880315b6c60075b01f36b3b85154564ca" dependencies = [ - "addr2line", + "addr2line 0.19.0", "cc", - "cfg-if 1.0.0", + "cfg-if", "libc", "miniz_oxide", - "object", + "object 0.30.1", "rustc-demangle", ] @@ -431,9 +407,9 @@ checksum = "6107fe1be6682a68940da878d9e9f5e90ca5745b3dec9fd1bb393c8777d4f581" [[package]] name = "base64" -version = "0.13.0" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd" +checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" [[package]] name = "base64ct" @@ -453,11 +429,10 @@ dependencies = [ [[package]] name = "beefy-gadget" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ - "array-bytes", + "array-bytes 4.2.0", "async-trait", - "beefy-primitives", "fnv", "futures", "futures-timer", @@ -476,6 +451,7 @@ dependencies = [ "sp-api", "sp-application-crypto", "sp-arithmetic", + "sp-beefy", "sp-blockchain", "sp-consensus", "sp-core", @@ -490,10 +466,9 @@ dependencies = [ [[package]] name = "beefy-gadget-rpc" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "beefy-gadget", - "beefy-primitives", "futures", "jsonrpsee", "log", @@ -502,6 +477,7 @@ dependencies = [ "sc-rpc", "sc-utils", "serde", + "sp-beefy", "sp-core", "sp-runtime", "thiserror", @@ -510,30 +486,13 @@ dependencies = [ [[package]] name = "beefy-merkle-tree" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ - "beefy-primitives", "sp-api", + "sp-beefy", "sp-runtime", ] -[[package]] -name = "beefy-primitives" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" -dependencies = [ - "parity-scale-codec", - "scale-info", - "serde", - "sp-api", - "sp-application-crypto", - "sp-core", - "sp-io", - "sp-mmr-primitives", - "sp-runtime", - "sp-std", -] - [[package]] name = "bincode" version = "1.3.3" @@ -582,21 +541,11 @@ dependencies = [ [[package]] name = "blake2" -version = "0.10.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9cf849ee05b2ee5fba5e36f97ff8ec2533916700fc0758d40d92136a42f3388" -dependencies = [ - "digest 0.10.3", -] - -[[package]] -name = "blake2-rfc" -version = "0.2.18" +version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d6d530bdd2d52966a6d03b7a964add7ae1a288d25214066fd4b600f0f796400" +checksum = "46502ad458c9a52b69d4d4d32775c788b7a1b85e8bc9d482d92250fc0e3f8efe" dependencies = [ - "arrayvec 0.4.12", - "constant_time_eq", + "digest 0.10.6", ] [[package]] @@ -607,7 +556,7 @@ checksum = "72936ee4afc7f8f736d1c38383b56480b5497b4617b4a77bdbf1d2ababc76127" dependencies = [ "arrayref", "arrayvec 0.7.2", - "constant_time_eq", + "constant_time_eq 0.1.5", ] [[package]] @@ -618,21 +567,21 @@ checksum = "db539cc2b5f6003621f1cd9ef92d7ded8ea5232c7de0f9faa2de251cd98730d4" dependencies = [ "arrayref", "arrayvec 0.7.2", - "constant_time_eq", + "constant_time_eq 0.1.5", ] [[package]] name = "blake3" -version = "1.3.1" +version = "1.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a08e53fc5a564bb15bfe6fae56bd71522205f1f91893f9c0116edad6496c183f" +checksum = "42ae2468a89544a466886840aa467a25b766499f4f04bf7d9fcd10ecee9fccef" dependencies = [ "arrayref", "arrayvec 0.7.2", "cc", - "cfg-if 1.0.0", - "constant_time_eq", - "digest 0.10.3", + "cfg-if", + "constant_time_eq 0.2.4", + "digest 0.10.6", ] [[package]] @@ -658,9 +607,9 @@ dependencies = [ [[package]] name = "block-buffer" -version = "0.10.2" +version = "0.10.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0bf7fe51849ea569fd452f37822f606a5cabb684dc918707a0193fd4664ff324" +checksum = "69cce20737498f97b993470a6e536b8523f0af7892a4f928cceb1ac5e52ebe7e" dependencies = [ "generic-array 0.14.6", ] @@ -676,16 +625,16 @@ dependencies = [ [[package]] name = "blocking" -version = "1.2.0" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6ccb65d468978a086b69884437ded69a90faab3bbe6e67f242173ea728acccc" +checksum = "3c67b173a56acffd6d2326fb7ab938ba0b00a71480e14902b2591c87bc5741e8" dependencies = [ "async-channel", + "async-lock", "async-task", "atomic-waker", "fastrand", "futures-lite", - "once_cell", ] [[package]] @@ -705,11 +654,12 @@ checksum = "771fe0050b883fcc3ea2359b1a96bcfbc090b7116eae7c3c512c7a083fdf23d3" [[package]] name = "bstr" -version = "0.2.17" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba3569f383e8f1598449f1a423e72e99569137b47740b1da11ef19af3d5c3223" +checksum = "b45ea9b00a7b3f2988e9a65ad3917e62123c38dba709b666506207be96d1790b" dependencies = [ "memchr", + "serde", ] [[package]] @@ -723,15 +673,15 @@ dependencies = [ [[package]] name = "bumpalo" -version = "3.11.0" +version = "3.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1ad822118d20d2c234f427000d5acc36eabe1e29a348c89b63dd60b13f28e5d" +checksum = "572f695136211188308f16ad2ca5c851a712c464060ae6974944458eb83880ba" [[package]] name = "byte-slice-cast" -version = "1.2.1" +version = "1.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87c5fdd0166095e1d463fc6cc01aa8ce547ad77a4e84d42eb6762b084e28067e" +checksum = "c3ac9f8b63eca6fd385229b3675f6cc0dc5c8a5c8a54a59d4f52ffd670d87b0c" [[package]] name = "byte-tools" @@ -747,9 +697,9 @@ checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" [[package]] name = "bytes" -version = "1.2.1" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec8a7b6a70fde80372154c65702f00a0f56f3e1c36abbc6c440484be248856db" +checksum = "dfb24e866b15a1af2a1b663f10c6b6b8f397a84aadb828f12e5b289ec23a3a3c" [[package]] name = "bzip2-sys" @@ -762,12 +712,6 @@ dependencies = [ "pkg-config", ] -[[package]] -name = "cache-padded" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1db59621ec70f09c5e9b597b220c7a2b43611f4710dc03ceb8748637775692c" - [[package]] name = "camino" version = "1.1.1" @@ -794,16 +738,16 @@ checksum = "4acbb09d9ee8e23699b9634375c72795d095bf268439da88562cf9b501f181fa" dependencies = [ "camino", "cargo-platform", - "semver 1.0.13", + "semver 1.0.16", "serde", "serde_json", ] [[package]] name = "cc" -version = "1.0.73" +version = "1.0.78" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2fff2a6927b3bb87f9595d67196a70493f627687a71d87a0d692242c33f58c11" +checksum = "a20104e2335ce8a659d6dd92a51a767a0c062599c73b343fd152cb401e828c3d" dependencies = [ "jobserver", ] @@ -826,12 +770,6 @@ dependencies = [ "smallvec", ] -[[package]] -name = "cfg-if" -version = "0.1.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822" - [[package]] name = "cfg-if" version = "1.0.0" @@ -850,7 +788,7 @@ version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5c80e5460aa66fe3b91d40bcbdab953a597b60053e34d684ac6903f863b680a6" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "cipher", "cpufeatures", "zeroize", @@ -871,9 +809,9 @@ dependencies = [ [[package]] name = "chrono" -version = "0.4.22" +version = "0.4.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfd4d1b31faaa3a89d7934dbded3111da0d2ef28e3ebccdb4f0179f5929d1ef1" +checksum = "16b0a3d9ed01224b22057780a37bb8c5dbfe1be8ba48678e7bf57ec4b385411f" dependencies = [ "iana-time-zone", "js-sys", @@ -908,18 +846,18 @@ dependencies = [ [[package]] name = "ckb-merkle-mountain-range" -version = "0.3.2" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f061f97d64fd1822664bdfb722f7ae5469a97b77567390f7442be5b5dc82a5b" +checksum = "56ccb671c5921be8a84686e6212ca184cb1d7c51cadcdbfcbd1cc3f042f5dfb8" dependencies = [ - "cfg-if 0.1.10", + "cfg-if", ] [[package]] name = "clang-sys" -version = "1.3.3" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a050e2153c5be08febd6734e29298e844fdb0fa21aeddd63b4eb7baa106c69b" +checksum = "fa2e27ae6ab525c3d369ded447057bca5438d86dc3a68f6faafb8269ba82ebf3" dependencies = [ "glob", "libc", @@ -928,14 +866,14 @@ dependencies = [ [[package]] name = "clap" -version = "4.0.23" +version = "4.0.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0eb41c13df48950b20eb4cd0eefa618819469df1bffc49d11e8487c4ba0037e5" +checksum = "a7db700bc935f9e43e88d00b0850dae18a63773cfbec6d8e070fccf7fef89a39" dependencies = [ - "atty", "bitflags", "clap_derive", "clap_lex", + "is-terminal", "once_cell", "strsim", "termcolor", @@ -1034,11 +972,21 @@ dependencies = [ "wasm-bindgen", ] +[[package]] +name = "codespan-reporting" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3538270d33cc669650c4b093848450d380def10c331d38c768e34cac80576e6e" +dependencies = [ + "termcolor", + "unicode-width", +] + [[package]] name = "comfy-table" -version = "6.0.0" +version = "6.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "121d8a5b0346092c18a4b2fd6f620d7a06f0eb7ac0a45860939a0884bc579c56" +checksum = "6e7b787b0dc42e8111badfdbe4c3059158ccb2db8780352fa1b01e8ccf45cc4d" dependencies = [ "strum", "strum_macros", @@ -1047,18 +995,18 @@ dependencies = [ [[package]] name = "concurrent-queue" -version = "1.2.4" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af4780a44ab5696ea9e28294517f1fffb421a83a25af521333c838635509db9c" +checksum = "bd7bef69dc86e3c610e4e7aed41035e2a7ed12e72dd7530f61327a6579a4390b" dependencies = [ - "cache-padded", + "crossbeam-utils", ] [[package]] name = "const-oid" -version = "0.7.1" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4c78c047431fee22c1a7bb92e00ad095a02a983affe4d8a72e2a2c62c1b94f3" +checksum = "cec318a675afcb6a1ea1d4340e2d377e56e47c266f28043ceccbf4412ddfdd3b" [[package]] name = "constant_time_eq" @@ -1066,6 +1014,12 @@ version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc" +[[package]] +name = "constant_time_eq" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f3ad85c1f65dc7b37604eb0e89748faf0b9653065f2a8ef69f96a687ec1e9279" + [[package]] name = "convert_case" version = "0.4.0" @@ -1103,14 +1057,24 @@ version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eeaa953eaad386a53111e47172c2fedba671e5684c8dd601a5f474f4f118710f" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", +] + +[[package]] +name = "cpu-time" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e9e393a7668fe1fad3075085b86c781883000b4ede868f43627b34a87c8b7ded" +dependencies = [ + "libc", + "winapi", ] [[package]] name = "cpufeatures" -version = "0.2.4" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc948ebb96241bb40ab73effeb80d9f93afaad49359d159a5e61be51619fe813" +checksum = "28d997bd5e24a5928dd43e46dc529867e207907fe0b239c3477d924f7f2ca320" dependencies = [ "libc", ] @@ -1137,7 +1101,7 @@ dependencies = [ "cranelift-codegen-shared", "cranelift-entity", "cranelift-isle", - "gimli", + "gimli 0.26.2", "log", "regalloc2", "smallvec", @@ -1219,7 +1183,7 @@ version = "1.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", ] [[package]] @@ -1228,7 +1192,7 @@ version = "0.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c2dd04ddaf88237dc3b8d8f9a3c1004b506b54b3313403944054d23c0870c521" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "crossbeam-utils", ] @@ -1238,43 +1202,41 @@ version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "715e8152b692bba2d374b53d4875445368fdf21a94751410af607a5ac677d1fc" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "crossbeam-epoch", "crossbeam-utils", ] [[package]] name = "crossbeam-epoch" -version = "0.9.10" +version = "0.9.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "045ebe27666471bb549370b4b0b3e51b07f56325befa4284db65fc89c02511b1" +checksum = "01a9af1f4c2ef74bb8aa1f7e19706bc72d03598c8a570bb5de72243c7a9d9d5a" dependencies = [ "autocfg", - "cfg-if 1.0.0", + "cfg-if", "crossbeam-utils", - "memoffset", - "once_cell", + "memoffset 0.7.1", "scopeguard", ] [[package]] name = "crossbeam-queue" -version = "0.3.6" +version = "0.3.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1cd42583b04998a5363558e5f9291ee5a5ff6b49944332103f251e7479a82aa7" +checksum = "d1cfb3ea8a53f37c40dea2c7bedcbd88bdfae54f5e2175d6ecaff1c988353add" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "crossbeam-utils", ] [[package]] name = "crossbeam-utils" -version = "0.8.11" +version = "0.8.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51887d4adc7b564537b15adcfb307936f8075dfcd5f00dde9a9f1d29383682bc" +checksum = "4fb766fa798726286dbbb842f174001dab8abc7b627a1dd86e0b7222a95d929f" dependencies = [ - "cfg-if 1.0.0", - "once_cell", + "cfg-if", ] [[package]] @@ -1285,12 +1247,12 @@ checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" [[package]] name = "crypto-bigint" -version = "0.3.2" +version = "0.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03c6a1d5fa1de37e071642dfa44ec552ca5b299adb128fab16138e24b548fd21" +checksum = "ef2b4b23cddf68b89b8f8069890e8c270d54e2d5fe1b143820234805e4cb17ef" dependencies = [ "generic-array 0.14.6", - "rand_core 0.6.3", + "rand_core 0.6.4", "subtle", "zeroize", ] @@ -1327,9 +1289,9 @@ dependencies = [ [[package]] name = "ctor" -version = "0.1.23" +version = "0.1.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cdffe87e1d521a10f9696f833fe502293ea446d7f256c06128293a4119bdf4cb" +checksum = "6d2301688392eb071b0bf1a37be05c469d3cc4dbbd95df672fe28ab021e6a096" dependencies = [ "quote", "syn", @@ -1367,7 +1329,7 @@ dependencies = [ [[package]] name = "cumulus-client-cli" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.32#6abd385ce49f7feb882218646410feb063404b77" +source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.36#afe528af891f464b318293f183f6d3eefbc979b0" dependencies = [ "clap", "parity-scale-codec", @@ -1382,7 +1344,7 @@ dependencies = [ [[package]] name = "cumulus-client-collator" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.32#6abd385ce49f7feb882218646410feb063404b77" +source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.36#afe528af891f464b318293f183f6d3eefbc979b0" dependencies = [ "cumulus-client-consensus-common", "cumulus-client-network", @@ -1405,7 +1367,7 @@ dependencies = [ [[package]] name = "cumulus-client-consensus-aura" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.32#6abd385ce49f7feb882218646410feb063404b77" +source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.36#afe528af891f464b318293f183f6d3eefbc979b0" dependencies = [ "async-trait", "cumulus-client-consensus-common", @@ -1434,12 +1396,15 @@ dependencies = [ [[package]] name = "cumulus-client-consensus-common" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.32#6abd385ce49f7feb882218646410feb063404b77" +source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.36#afe528af891f464b318293f183f6d3eefbc979b0" dependencies = [ "async-trait", + "cumulus-client-pov-recovery", + "cumulus-primitives-core", "cumulus-relay-chain-interface", "dyn-clone", "futures", + "log", "parity-scale-codec", "polkadot-primitives", "sc-client-api", @@ -1454,7 +1419,7 @@ dependencies = [ [[package]] name = "cumulus-client-network" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.32#6abd385ce49f7feb882218646410feb063404b77" +source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.36#afe528af891f464b318293f183f6d3eefbc979b0" dependencies = [ "async-trait", "cumulus-relay-chain-interface", @@ -1477,7 +1442,7 @@ dependencies = [ [[package]] name = "cumulus-client-pov-recovery" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.32#6abd385ce49f7feb882218646410feb063404b77" +source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.36#afe528af891f464b318293f183f6d3eefbc979b0" dependencies = [ "cumulus-primitives-core", "cumulus-relay-chain-interface", @@ -1500,19 +1465,24 @@ dependencies = [ [[package]] name = "cumulus-client-service" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.32#6abd385ce49f7feb882218646410feb063404b77" +source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.36#afe528af891f464b318293f183f6d3eefbc979b0" dependencies = [ "cumulus-client-cli", "cumulus-client-collator", "cumulus-client-consensus-common", "cumulus-client-pov-recovery", "cumulus-primitives-core", + "cumulus-relay-chain-inprocess-interface", "cumulus-relay-chain-interface", + "cumulus-relay-chain-minimal-node", + "futures", "parking_lot 0.12.1", "polkadot-primitives", "sc-client-api", "sc-consensus", "sc-service", + "sc-sysinfo", + "sc-telemetry", "sp-api", "sp-blockchain", "sp-consensus", @@ -1523,7 +1493,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-aura-ext" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.32#6abd385ce49f7feb882218646410feb063404b77" +source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.36#afe528af891f464b318293f183f6d3eefbc979b0" dependencies = [ "frame-support", "frame-system", @@ -1539,7 +1509,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-dmp-queue" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.32#6abd385ce49f7feb882218646410feb063404b77" +source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.36#afe528af891f464b318293f183f6d3eefbc979b0" dependencies = [ "cumulus-primitives-core", "frame-support", @@ -1556,7 +1526,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-parachain-system" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.32#6abd385ce49f7feb882218646410feb063404b77" +source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.36#afe528af891f464b318293f183f6d3eefbc979b0" dependencies = [ "bytes", "cumulus-pallet-parachain-system-proc-macro", @@ -1584,7 +1554,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-parachain-system-proc-macro" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.32#6abd385ce49f7feb882218646410feb063404b77" +source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.36#afe528af891f464b318293f183f6d3eefbc979b0" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -1595,7 +1565,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-session-benchmarking" version = "3.0.0" -source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.32#6abd385ce49f7feb882218646410feb063404b77" +source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.36#afe528af891f464b318293f183f6d3eefbc979b0" dependencies = [ "frame-benchmarking", "frame-support", @@ -1609,7 +1579,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-solo-to-para" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.32#6abd385ce49f7feb882218646410feb063404b77" +source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.36#afe528af891f464b318293f183f6d3eefbc979b0" dependencies = [ "cumulus-pallet-parachain-system", "frame-support", @@ -1625,7 +1595,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-xcm" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.32#6abd385ce49f7feb882218646410feb063404b77" +source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.36#afe528af891f464b318293f183f6d3eefbc979b0" dependencies = [ "cumulus-primitives-core", "frame-support", @@ -1641,7 +1611,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-xcmp-queue" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.32#6abd385ce49f7feb882218646410feb063404b77" +source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.36#afe528af891f464b318293f183f6d3eefbc979b0" dependencies = [ "cumulus-primitives-core", "frame-benchmarking", @@ -1660,7 +1630,7 @@ dependencies = [ [[package]] name = "cumulus-primitives-core" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.32#6abd385ce49f7feb882218646410feb063404b77" +source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.36#afe528af891f464b318293f183f6d3eefbc979b0" dependencies = [ "parity-scale-codec", "polkadot-core-primitives", @@ -1675,7 +1645,7 @@ dependencies = [ [[package]] name = "cumulus-primitives-parachain-inherent" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.32#6abd385ce49f7feb882218646410feb063404b77" +source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.36#afe528af891f464b318293f183f6d3eefbc979b0" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -1698,7 +1668,7 @@ dependencies = [ [[package]] name = "cumulus-primitives-timestamp" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.32#6abd385ce49f7feb882218646410feb063404b77" +source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.36#afe528af891f464b318293f183f6d3eefbc979b0" dependencies = [ "cumulus-primitives-core", "futures", @@ -1711,7 +1681,7 @@ dependencies = [ [[package]] name = "cumulus-primitives-utility" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.32#6abd385ce49f7feb882218646410feb063404b77" +source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.36#afe528af891f464b318293f183f6d3eefbc979b0" dependencies = [ "cumulus-primitives-core", "frame-support", @@ -1727,7 +1697,7 @@ dependencies = [ [[package]] name = "cumulus-relay-chain-inprocess-interface" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.32#6abd385ce49f7feb882218646410feb063404b77" +source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.36#afe528af891f464b318293f183f6d3eefbc979b0" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -1752,7 +1722,7 @@ dependencies = [ [[package]] name = "cumulus-relay-chain-interface" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.32#6abd385ce49f7feb882218646410feb063404b77" +source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.36#afe528af891f464b318293f183f6d3eefbc979b0" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -1766,24 +1736,23 @@ dependencies = [ "sp-blockchain", "sp-state-machine", "thiserror", + "tokio", ] [[package]] name = "cumulus-relay-chain-minimal-node" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.32#6abd385ce49f7feb882218646410feb063404b77" +source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.36#afe528af891f464b318293f183f6d3eefbc979b0" dependencies = [ - "array-bytes", + "array-bytes 6.0.0", "async-trait", "cumulus-primitives-core", "cumulus-relay-chain-interface", "cumulus-relay-chain-rpc-interface", "futures", - "lru 0.8.1", - "polkadot-availability-distribution", + "lru", "polkadot-core-primitives", "polkadot-network-bridge", - "polkadot-node-core-av-store", "polkadot-node-network-protocol", "polkadot-node-subsystem-util", "polkadot-overseer", @@ -1795,8 +1764,6 @@ dependencies = [ "sc-keystore", "sc-network", "sc-network-common", - "sc-network-light", - "sc-network-sync", "sc-service", "sc-telemetry", "sc-tracing", @@ -1815,24 +1782,25 @@ dependencies = [ [[package]] name = "cumulus-relay-chain-rpc-interface" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.32#6abd385ce49f7feb882218646410feb063404b77" +source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.36#afe528af891f464b318293f183f6d3eefbc979b0" dependencies = [ "async-trait", - "backoff", "cumulus-primitives-core", "cumulus-relay-chain-interface", "futures", "futures-timer", "jsonrpsee", + "lru", "parity-scale-codec", "polkadot-service", "sc-client-api", "sc-rpc-api", + "serde", + "serde_json", "sp-api", "sp-authority-discovery", "sp-consensus-babe", "sp-core", - "sp-runtime", "sp-state-machine", "sp-storage", "tokio", @@ -1843,7 +1811,7 @@ dependencies = [ [[package]] name = "cumulus-test-relay-sproof-builder" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.32#6abd385ce49f7feb882218646410feb063404b77" +source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.36#afe528af891f464b318293f183f6d3eefbc979b0" dependencies = [ "cumulus-primitives-core", "parity-scale-codec", @@ -1881,22 +1849,67 @@ dependencies = [ [[package]] name = "curve25519-dalek" -version = "4.0.0-pre.1" +version = "4.0.0-pre.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4033478fbf70d6acf2655ac70da91ee65852d69daf7a67bf7a2f518fb47aafcf" +checksum = "67bc65846be335cb20f4e52d49a437b773a2c1fdb42b19fc84e79e6f6771536f" dependencies = [ - "byteorder", - "digest 0.9.0", - "rand_core 0.6.3", + "cfg-if", + "fiat-crypto", + "packed_simd_2", + "platforms 3.0.2", "subtle", "zeroize", ] +[[package]] +name = "cxx" +version = "1.0.85" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5add3fc1717409d029b20c5b6903fc0c0b02fa6741d820054f4a2efa5e5816fd" +dependencies = [ + "cc", + "cxxbridge-flags", + "cxxbridge-macro", + "link-cplusplus", +] + +[[package]] +name = "cxx-build" +version = "1.0.85" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b4c87959ba14bc6fbc61df77c3fcfe180fc32b93538c4f1031dd802ccb5f2ff0" +dependencies = [ + "cc", + "codespan-reporting", + "once_cell", + "proc-macro2", + "quote", + "scratch", + "syn", +] + +[[package]] +name = "cxxbridge-flags" +version = "1.0.85" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "69a3e162fde4e594ed2b07d0f83c6c67b745e7f28ce58c6df5e6b6bef99dfb59" + +[[package]] +name = "cxxbridge-macro" +version = "1.0.85" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3e7e2adeb6a0d4a282e581096b06e1791532b7d576dcde5ccd9382acf55db8e6" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "data-encoding" -version = "2.3.2" +version = "2.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ee2393c4a91429dffb4bedf19f4d6abf27d8a732c8ce4980305d782e5426d57" +checksum = "23d8666cb01533c39dde32bcbab8e227b4ed6679b2c925eba05feabea39508fb" [[package]] name = "data-encoding-macro" @@ -1944,11 +1957,12 @@ dependencies = [ [[package]] name = "der" -version = "0.5.1" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6919815d73839e7ad218de758883aae3a257ba6759ce7a9992501efbb53d705c" +checksum = "f1a467a65c5e759bce6e65eaf91cc29f466cdc57cb65777bd646872a8a1fd4de" dependencies = [ "const-oid", + "zeroize", ] [[package]] @@ -1980,7 +1994,7 @@ name = "did" version = "1.9.0-dev" dependencies = [ "ctype", - "env_logger", + "env_logger 0.10.0", "frame-benchmarking", "frame-support", "frame-system", @@ -2023,11 +2037,11 @@ dependencies = [ [[package]] name = "digest" -version = "0.10.3" +version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2fb860ca6fafa5552fb6d0e816a69c8e49f0908bf524e30a90d97c85892d506" +checksum = "8168378f4e5023e7218c89c891c0fd8ecdb5e5e4f18cb78f38cf245dd021e76f" dependencies = [ - "block-buffer 0.10.2", + "block-buffer 0.10.3", "crypto-common", "subtle", ] @@ -2047,7 +2061,7 @@ version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "339ee130d97a610ea5a5872d2bbb130fdf68884ff09d3028b81bec8a1ac23bbc" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "dirs-sys-next", ] @@ -2097,9 +2111,9 @@ checksum = "9ea835d29036a4087793836fa931b08837ad5e957da9e23886b29586fb9b6650" [[package]] name = "dtoa" -version = "1.0.3" +version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6053ff46b5639ceb91756a85a4c8914668393a03170efd79c8884a529d80656" +checksum = "c00704156a7de8df8da0911424e30c2049957b0a714542a44e05fe693dd85313" [[package]] name = "dyn-clonable" @@ -2124,15 +2138,15 @@ dependencies = [ [[package]] name = "dyn-clone" -version = "1.0.9" +version = "1.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f94fa09c2aeea5b8839e414b7b841bf429fd25b9c522116ac97ee87856d88b2" +checksum = "c9b0705efd4599c15a38151f4721f7bc388306f61084d3bfd50bd07fbca5cb60" [[package]] name = "ecdsa" -version = "0.13.4" +version = "0.14.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0d69ae62e0ce582d56380743515fefaf1a8c70cec685d9677636d7e30ae9dc9" +checksum = "413301934810f597c1d19ca71c8710e99a3f1ba28a0d2ebc01551a2daeea3c5c" dependencies = [ "der", "elliptic-curve", @@ -2165,15 +2179,15 @@ dependencies = [ [[package]] name = "ed25519-zebra" -version = "3.0.0" +version = "3.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "403ef3e961ab98f0ba902771d29f842058578bb1ce7e3c59dad5a6a93e784c69" +checksum = "7c24f403d068ad0b359e577a77f92392118be3f3c927538f2bb544a5ecd828c6" dependencies = [ "curve25519-dalek 3.2.0", + "hashbrown", "hex", - "rand_core 0.6.3", + "rand_core 0.6.4", "sha2 0.9.9", - "thiserror", "zeroize", ] @@ -2185,17 +2199,18 @@ checksum = "90e5c1c8368803113bf0c9584fc495a58b86dc8a29edbf8fe877d21d9507e797" [[package]] name = "elliptic-curve" -version = "0.11.12" +version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25b477563c2bfed38a3b7a60964c49e058b2510ad3f12ba3483fd8f62c2306d6" +checksum = "e7bb888ab5300a19b8e5bceef25ac745ad065f3c9f7efc6de1b91958110891d3" dependencies = [ "base16ct", "crypto-bigint", "der", + "digest 0.10.6", "ff", "generic-array 0.14.6", "group", - "rand_core 0.6.3", + "rand_core 0.6.4", "sec1", "subtle", "zeroize", @@ -2235,9 +2250,9 @@ dependencies = [ [[package]] name = "enumn" -version = "0.1.5" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "038b1afa59052df211f9efd58f8b1d84c242935ede1c3dbaed26b018a9e06ae2" +checksum = "e88bcb3a067a6555d577aba299e75eff9942da276e6506fc6274327daa026132" dependencies = [ "proc-macro2", "quote", @@ -2246,9 +2261,9 @@ dependencies = [ [[package]] name = "env_logger" -version = "0.9.0" +version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b2cf0344971ee6c64c31be0d530793fba457d322dfec2810c453d0ef228f9c3" +checksum = "a12e6657c4c97ebab115a42dcee77225f7f482cdd841cf7088c657a42e9e00e7" dependencies = [ "atty", "humantime", @@ -2257,11 +2272,24 @@ dependencies = [ "termcolor", ] +[[package]] +name = "env_logger" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85cdab6a89accf66733ad5a1693a4dcced6aeff64602b634530dd73c1f3ee9f0" +dependencies = [ + "humantime", + "is-terminal", + "log", + "regex", + "termcolor", +] + [[package]] name = "environmental" -version = "1.1.3" +version = "1.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68b91989ae21441195d7d9b9993a2f9295c7e1a8c96255d8b729accddc124797" +checksum = "e48c92028aaa870e83d51c64e5d4e0b6981b360c522198c23959f219a4e1b15b" [[package]] name = "errno" @@ -2381,41 +2409,47 @@ dependencies = [ [[package]] name = "ff" -version = "0.11.1" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "131655483be284720a17d74ff97592b8e76576dc25563148601df2d7c9080924" +checksum = "d013fc25338cc558c5c2cfbad646908fb23591e2404481826742b651c9af7160" dependencies = [ - "rand_core 0.6.3", + "rand_core 0.6.4", "subtle", ] +[[package]] +name = "fiat-crypto" +version = "0.1.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a214f5bb88731d436478f3ae1f8a277b62124089ba9fb67f4f93fb100ef73c90" + [[package]] name = "file-per-thread-logger" -version = "0.1.5" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21e16290574b39ee41c71aeb90ae960c504ebaf1e2a1c87bd52aa56ed6e1a02f" +checksum = "84f2e425d9790201ba4af4630191feac6dcc98765b118d4d18e91d23c2353866" dependencies = [ - "env_logger", + "env_logger 0.10.0", "log", ] [[package]] name = "filetime" -version = "0.2.17" +version = "0.2.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e94a7bbaa59354bc20dd75b67f23e2797b4490e9d6928203fb105c79e448c86c" +checksum = "4e884668cd0c7480504233e951174ddc3b382f7c2666e3b7310b5c4e7b0c37f9" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "libc", "redox_syscall", - "windows-sys 0.36.1", + "windows-sys 0.42.0", ] [[package]] name = "finality-grandpa" -version = "0.16.0" +version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b22349c6a11563a202d95772a68e0fcf56119e74ea8a2a19cf2301460fcd0df5" +checksum = "e24e6c429951433ccb7c87fd528c60084834dcd14763182c1f83291bcde24c34" dependencies = [ "either", "futures", @@ -2447,9 +2481,9 @@ checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" [[package]] name = "flate2" -version = "1.0.24" +version = "1.0.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f82b0f4c27ad9f8bfd1f3208d882da2b09c301bc1c828fd3a00d0216d2fbbff6" +checksum = "a8a2db397cb1c8772f31494cb8917e48cd1e64f0fa7efac59fbd741a0a8ce841" dependencies = [ "crc32fast", "libz-sys", @@ -2474,7 +2508,7 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" [[package]] name = "fork-tree" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "parity-scale-codec", ] @@ -2497,7 +2531,7 @@ checksum = "6c2141d6d6c8512188a7891b4b01590a45f6dac67afb4f255c4124dbb86d4eaa" [[package]] name = "frame-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "frame-support", "frame-system", @@ -2520,10 +2554,10 @@ dependencies = [ [[package]] name = "frame-benchmarking-cli" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "Inflector", - "array-bytes", + "array-bytes 4.2.0", "chrono", "clap", "comfy-table", @@ -2561,6 +2595,7 @@ dependencies = [ "sp-keystore", "sp-runtime", "sp-state-machine", + "sp-std", "sp-storage", "sp-trie", "tempfile", @@ -2571,7 +2606,7 @@ dependencies = [ [[package]] name = "frame-election-provider-solution-type" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -2582,7 +2617,7 @@ dependencies = [ [[package]] name = "frame-election-provider-support" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "frame-election-provider-solution-type", "frame-support", @@ -2590,6 +2625,7 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-arithmetic", + "sp-core", "sp-npos-elections", "sp-runtime", "sp-std", @@ -2598,7 +2634,7 @@ dependencies = [ [[package]] name = "frame-executive" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "frame-support", "frame-system", @@ -2618,16 +2654,35 @@ version = "15.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "df6bb8542ef006ef0de09a5c4420787d79823c0ed7924225822362fd2bf2ff2d" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "parity-scale-codec", "scale-info", "serde", ] +[[package]] +name = "frame-remote-externalities" +version = "0.10.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +dependencies = [ + "env_logger 0.9.3", + "futures", + "log", + "parity-scale-codec", + "serde", + "serde_json", + "sp-core", + "sp-io", + "sp-runtime", + "sp-version", + "substrate-rpc-client", + "tokio", +] + [[package]] name = "frame-support" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "bitflags", "frame-metadata", @@ -2659,7 +2714,7 @@ dependencies = [ [[package]] name = "frame-support-procedural" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "Inflector", "cfg-expr", @@ -2673,7 +2728,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate", @@ -2685,7 +2740,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "proc-macro2", "quote", @@ -2695,7 +2750,7 @@ dependencies = [ [[package]] name = "frame-system" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "frame-support", "log", @@ -2713,7 +2768,7 @@ dependencies = [ [[package]] name = "frame-system-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "frame-benchmarking", "frame-support", @@ -2728,7 +2783,7 @@ dependencies = [ [[package]] name = "frame-system-rpc-runtime-api" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "parity-scale-codec", "sp-api", @@ -2737,7 +2792,7 @@ dependencies = [ [[package]] name = "frame-try-runtime" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "frame-support", "parity-scale-codec", @@ -2748,9 +2803,9 @@ dependencies = [ [[package]] name = "fs-err" -version = "2.8.1" +version = "2.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64db3e262960f0662f43a6366788d5f10f7f244b8f7d7d987f560baf5ded5c50" +checksum = "0845fa252299212f0389d64ba26f34fa32cfe41588355f21ed507c59a0f64541" [[package]] name = "fs2" @@ -2776,9 +2831,9 @@ checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" [[package]] name = "futures" -version = "0.3.24" +version = "0.3.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f21eda599937fba36daeb58a22e8f5cee2d14c4a17b5b7739c7c8e5e3b8230c" +checksum = "38390104763dc37a5145a53c29c63c1290b5d316d6086ec32c293f6736051bb0" dependencies = [ "futures-channel", "futures-core", @@ -2791,9 +2846,9 @@ dependencies = [ [[package]] name = "futures-channel" -version = "0.3.24" +version = "0.3.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30bdd20c28fadd505d0fd6712cdfcb0d4b5648baf45faef7f852afb2399bb050" +checksum = "52ba265a92256105f45b719605a571ffe2d1f0fea3807304b522c1d778f79eed" dependencies = [ "futures-core", "futures-sink", @@ -2801,15 +2856,15 @@ dependencies = [ [[package]] name = "futures-core" -version = "0.3.24" +version = "0.3.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e5aa3de05362c3fb88de6531e6296e85cde7739cccad4b9dfeeb7f6ebce56bf" +checksum = "04909a7a7e4633ae6c4a9ab280aeb86da1236243a77b694a49eacd659a4bd3ac" [[package]] name = "futures-executor" -version = "0.3.24" +version = "0.3.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ff63c23854bee61b6e9cd331d523909f238fc7636290b96826e9cfa5faa00ab" +checksum = "7acc85df6714c176ab5edf386123fafe217be88c0840ec11f199441134a074e2" dependencies = [ "futures-core", "futures-task", @@ -2819,9 +2874,9 @@ dependencies = [ [[package]] name = "futures-io" -version = "0.3.24" +version = "0.3.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbf4d2a7a308fd4578637c0b17c7e1c7ba127b8f6ba00b29f717e9655d85eb68" +checksum = "00f5fb52a06bdcadeb54e8d3671f8888a39697dcb0b81b23b55174030427f4eb" [[package]] name = "futures-lite" @@ -2840,9 +2895,9 @@ dependencies = [ [[package]] name = "futures-macro" -version = "0.3.24" +version = "0.3.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42cd15d1c7456c04dbdf7e88bcd69760d74f3a798d6444e16974b505b0e62f17" +checksum = "bdfb8ce053d86b91919aad980c220b1fb8401a9394410e1c289ed7e66b61835d" dependencies = [ "proc-macro2", "quote", @@ -2862,15 +2917,15 @@ dependencies = [ [[package]] name = "futures-sink" -version = "0.3.24" +version = "0.3.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21b20ba5a92e727ba30e72834706623d94ac93a725410b6a6b6fbc1b07f7ba56" +checksum = "39c15cf1a4aa79df40f1bb462fb39676d0ad9e366c2a33b590d7c66f4f81fcf9" [[package]] name = "futures-task" -version = "0.3.24" +version = "0.3.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6508c467c73851293f390476d4491cf4d227dbabcd4170f3bb6044959b294f1" +checksum = "2ffb393ac5d9a6eaa9d3fdf37ae2776656b706e200c8e16b1bdb227f5198e6ea" [[package]] name = "futures-timer" @@ -2880,9 +2935,9 @@ checksum = "e64b03909df88034c26dc1547e8970b91f98bdb65165d6a4e9110d94263dbb2c" [[package]] name = "futures-util" -version = "0.3.24" +version = "0.3.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44fb6cb1be61cc1d2e43b262516aafcf63b241cffdb1d3fa115f91d9c7b09c90" +checksum = "197676987abd2f9cadff84926f410af1c183608d36641465df73ae8211dc65d6" dependencies = [ "futures-channel", "futures-core", @@ -2940,7 +2995,7 @@ version = "0.1.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "js-sys", "libc", "wasi 0.9.0+wasi-snapshot-preview1", @@ -2949,11 +3004,11 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.7" +version = "0.2.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4eb1a864a501629691edf6c15a593b7a51eebaa1e8468e9ddc623de7c9b58ec6" +checksum = "c05aeb6a22b8f62540c194aac980f2115af067bfe15a0734d7277a768d396b31" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "libc", "wasi 0.11.0+wasi-snapshot-preview1", ] @@ -2979,6 +3034,12 @@ dependencies = [ "stable_deref_trait", ] +[[package]] +name = "gimli" +version = "0.27.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dec7af912d60cdbd3677c1af9352ebae6fb8394d165568a2234df0fa00f87793" + [[package]] name = "glob" version = "0.3.0" @@ -2987,9 +3048,9 @@ checksum = "9b919933a397b79c37e33b77bb2aa3dc8eb6e165ad809e58ff75bc7db2e34574" [[package]] name = "globset" -version = "0.4.9" +version = "0.4.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a1e17342619edbc21a964c2afbeb6c820c6a2560032872f397bb97ea127bd0a" +checksum = "029d74589adefde59de1a0c4f4732695c32805624aec7b68d91503d4dba79afc" dependencies = [ "aho-corasick", "bstr", @@ -3000,9 +3061,9 @@ dependencies = [ [[package]] name = "gloo-timers" -version = "0.2.4" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5fb7d06c1c8cc2a29bee7ec961009a0b2caa0793ee4900c2ffb348734ba1c8f9" +checksum = "98c4a8d6391675c6b2ee1a6c8d06e8e2d03605c44cec1270675985a4c2a5500b" dependencies = [ "futures-channel", "futures-core", @@ -3012,20 +3073,20 @@ dependencies = [ [[package]] name = "group" -version = "0.11.0" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc5ac374b108929de78460075f3dc439fa66df9d8fc77e8f12caa5165fcf0c89" +checksum = "5dfbfb3a6cfbd390d5c9564ab283a0349b9b9fcd46a706c1eb10e0db70bfbac7" dependencies = [ "ff", - "rand_core 0.6.3", + "rand_core 0.6.4", "subtle", ] [[package]] name = "h2" -version = "0.3.14" +version = "0.3.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ca32592cf21ac7ccab1825cd87f6c9b3d9022c44d086172ed0966bec8af30be" +checksum = "5f9f29bc9dda355256b2916cf526ab02ce0aeaaaf2bad60d65ef3f12f11dd0f4" dependencies = [ "bytes", "fnv", @@ -3042,9 +3103,9 @@ dependencies = [ [[package]] name = "handlebars" -version = "4.3.3" +version = "4.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "360d9740069b2f6cbb63ce2dbaa71a20d3185350cbb990d7bebeb9318415eb17" +checksum = "035ef95d03713f2c347a72547b7cd38cbc9af7cd51e6099fb62d586d4a6dee3a" dependencies = [ "log", "pest", @@ -3093,6 +3154,15 @@ dependencies = [ "libc", ] +[[package]] +name = "hermit-abi" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7" +dependencies = [ + "libc", +] + [[package]] name = "hex" version = "0.4.3" @@ -3125,6 +3195,15 @@ dependencies = [ "digest 0.9.0", ] +[[package]] +name = "hmac" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" +dependencies = [ + "digest 0.10.6", +] + [[package]] name = "hmac-drbg" version = "0.3.0" @@ -3155,7 +3234,7 @@ checksum = "75f43d41e26995c17e71ee126451dd3941010b0514a81a9d11f3b341debc2399" dependencies = [ "bytes", "fnv", - "itoa 1.0.3", + "itoa", ] [[package]] @@ -3169,11 +3248,17 @@ dependencies = [ "pin-project-lite 0.2.9", ] +[[package]] +name = "http-range-header" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0bfe8eed0a9285ef776bb792479ea3834e8b94e13d615c2f66d03dd50a435a29" + [[package]] name = "httparse" -version = "1.7.1" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "496ce29bb5a52785b44e0f7ca2847ae0bb839c9bd28f69acac9b99d461c0c04c" +checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904" [[package]] name = "httpdate" @@ -3189,9 +3274,9 @@ checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" [[package]] name = "hyper" -version = "0.14.20" +version = "0.14.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02c929dc5c39e335a03c405292728118860721b10190d98c2a0f0efd5baafbac" +checksum = "034711faac9d2166cb1baf1a2fb0b60b1f277f8492fd72176c17f3515e1abd3c" dependencies = [ "bytes", "futures-channel", @@ -3202,7 +3287,7 @@ dependencies = [ "http-body", "httparse", "httpdate", - "itoa 1.0.3", + "itoa", "pin-project-lite 0.2.9", "socket2", "tokio", @@ -3213,9 +3298,9 @@ dependencies = [ [[package]] name = "hyper-rustls" -version = "0.23.0" +version = "0.23.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d87c48c02e0dc5e3b849a2041db3029fd066650f8f717c07bf8ed78ccb895cac" +checksum = "1788965e61b367cd03a62950836d5cd41560c3577d90e40e0819373194d1661c" dependencies = [ "http", "hyper", @@ -3228,17 +3313,28 @@ dependencies = [ [[package]] name = "iana-time-zone" -version = "0.1.46" +version = "0.1.53" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad2bfd338099682614d3ee3fe0cd72e0b6a41ca6a87f6a74a3bd593c91650501" +checksum = "64c122667b287044802d6ce17ee2ddf13207ed924c712de9a66a5814d5b64765" dependencies = [ "android_system_properties", "core-foundation-sys", + "iana-time-zone-haiku", "js-sys", "wasm-bindgen", "winapi", ] +[[package]] +name = "iana-time-zone-haiku" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0703ae284fc167426161c2e3f1da3ea71d94b21bedbcc9494e92b28e334e3dca" +dependencies = [ + "cxx", + "cxx-build", +] + [[package]] name = "idna" version = "0.2.3" @@ -3319,9 +3415,9 @@ dependencies = [ [[package]] name = "indexmap" -version = "1.9.1" +version = "1.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10a35a97730320ffe8e2d410b5d3b69279b98d2c14bdb8b70ea89ecf7888d41e" +checksum = "1885e79c1fc4b10f0e172c475f458b7f7b93061064d98c3293e98c5ba0c8b399" dependencies = [ "autocfg", "hashbrown", @@ -3334,7 +3430,7 @@ version = "0.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", ] [[package]] @@ -3354,15 +3450,15 @@ dependencies = [ [[package]] name = "io-lifetimes" -version = "0.7.3" +version = "0.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ea37f355c05dde75b84bba2d767906ad522e97cd9e2eef2be7a4ab7fb442c06" +checksum = "59ce5ef949d49ee85593fc4d3f3f95ad61657076395cbbce23e2121fc5542074" [[package]] name = "io-lifetimes" -version = "1.0.1" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7d367024b3f3414d8e01f437f704f41a9f64ab36f9067fa73e526ad4c763c87" +checksum = "46112a93252b123d31a119a8d1a1ac19deac4fac6e0e8b0df58f0d4e5870e63c" dependencies = [ "libc", "windows-sys 0.42.0", @@ -3376,9 +3472,9 @@ checksum = "aa2f047c0a98b2f299aa5d6d7088443570faae494e9ae1305e48be000c9e0eb1" [[package]] name = "ipconfig" -version = "0.3.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "723519edce41262b05d4143ceb95050e4c614f483e78e9fd9e39a8275a84ad98" +checksum = "bd302af1b90f2463a98fa5ad469fc212c8e3175a41c3068601bfa2727591c5be" dependencies = [ "socket2", "widestring", @@ -3388,69 +3484,74 @@ dependencies = [ [[package]] name = "ipnet" -version = "2.5.0" +version = "2.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "879d54834c8c76457ef4293a689b2a8c59b076067ad77b15efafbb05f92a592b" +checksum = "11b0d96e660696543b251e58030cf9787df56da39dab19ad60eae7353040917e" [[package]] -name = "itertools" -version = "0.10.3" +name = "is-terminal" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9a9d19fa1e79b6215ff29b9d6880b706147f16e9b1dbb1e4e5947b5b02bc5e3" +checksum = "28dfb6c8100ccc63462345b67d1bbc3679177c75ee4bf59bf29c8b1d110b8189" dependencies = [ - "either", + "hermit-abi 0.2.6", + "io-lifetimes 1.0.3", + "rustix 0.36.6", + "windows-sys 0.42.0", ] [[package]] -name = "itoa" -version = "0.4.8" +name = "itertools" +version = "0.10.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b71991ff56294aa922b450139ee08b3bfc70982c6b2c7562771375cf73542dd4" +checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473" +dependencies = [ + "either", +] [[package]] name = "itoa" -version = "1.0.3" +version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c8af84674fe1f223a982c933a0ee1086ac4d4052aa0fb8060c12c6ad838e754" +checksum = "fad582f4b9e86b6caa621cabeb0963332d92eea04729ab12892c2533951e6440" [[package]] name = "jobserver" -version = "0.1.24" +version = "0.1.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af25a77299a7f711a01975c35a6a424eb6862092cc2d6c72c4ed6cbc56dfc1fa" +checksum = "068b1ee6743e4d11fb9c6a1e6064b3693a1b600e7f5f5988047d98b3dc9fb90b" dependencies = [ "libc", ] [[package]] name = "js-sys" -version = "0.3.59" +version = "0.3.60" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "258451ab10b34f8af53416d1fdab72c22e805f0c92a1136d59470ec0b11138b2" +checksum = "49409df3e3bf0856b916e2ceaca09ee28e6871cf7d9ce97a692cacfdb2a25a47" dependencies = [ "wasm-bindgen", ] [[package]] name = "jsonrpsee" -version = "0.15.1" +version = "0.16.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8bd0d559d5e679b1ab2f869b486a11182923863b1b3ee8b421763cdd707b783a" +checksum = "7d291e3a5818a2384645fd9756362e6d89cf0541b0b916fa7702ea4a9833608e" dependencies = [ "jsonrpsee-core", - "jsonrpsee-http-server", "jsonrpsee-proc-macros", + "jsonrpsee-server", "jsonrpsee-types", "jsonrpsee-ws-client", - "jsonrpsee-ws-server", "tracing", ] [[package]] name = "jsonrpsee-client-transport" -version = "0.15.1" +version = "0.16.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8752740ecd374bcbf8b69f3e80b0327942df76f793f8d4e60d3355650c31fb74" +checksum = "965de52763f2004bc91ac5bcec504192440f0b568a5d621c59d9dbd6f886c3fb" dependencies = [ "futures-util", "http", @@ -3469,9 +3570,9 @@ dependencies = [ [[package]] name = "jsonrpsee-core" -version = "0.15.1" +version = "0.16.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3dc3e9cf2ba50b7b1d7d76a667619f82846caa39e8e8daa8a4962d74acaddca" +checksum = "a4e70b4439a751a5de7dd5ed55eacff78ebf4ffe0fc009cb1ebb11417f5b536b" dependencies = [ "anyhow", "arrayvec 0.7.2", @@ -3482,10 +3583,8 @@ dependencies = [ "futures-timer", "futures-util", "globset", - "http", "hyper", "jsonrpsee-types", - "lazy_static", "parking_lot 0.12.1", "rand 0.8.5", "rustc-hash", @@ -3495,45 +3594,48 @@ dependencies = [ "thiserror", "tokio", "tracing", - "tracing-futures", - "unicase", ] [[package]] -name = "jsonrpsee-http-server" -version = "0.15.1" +name = "jsonrpsee-proc-macros" +version = "0.16.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baa6da1e4199c10d7b1d0a6e5e8bd8e55f351163b6f4b3cbb044672a69bd4c1c" +dependencies = [ + "heck", + "proc-macro-crate", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "jsonrpsee-server" +version = "0.16.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03802f0373a38c2420c70b5144742d800b509e2937edc4afb116434f07120117" +checksum = "1fb69dad85df79527c019659a992498d03f8495390496da2f07e6c24c2b356fc" dependencies = [ "futures-channel", "futures-util", + "http", "hyper", "jsonrpsee-core", "jsonrpsee-types", "serde", "serde_json", + "soketto", "tokio", + "tokio-stream", + "tokio-util", + "tower", "tracing", - "tracing-futures", -] - -[[package]] -name = "jsonrpsee-proc-macros" -version = "0.15.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd67957d4280217247588ac86614ead007b301ca2fa9f19c19f880a536f029e3" -dependencies = [ - "proc-macro-crate", - "proc-macro2", - "quote", - "syn", ] [[package]] name = "jsonrpsee-types" -version = "0.15.1" +version = "0.16.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e290bba767401b646812f608c099b922d8142603c9e73a50fb192d3ac86f4a0d" +checksum = "5bd522fe1ce3702fd94812965d7bb7a3364b1c9aba743944c5a00529aae80f8c" dependencies = [ "anyhow", "beef", @@ -3545,9 +3647,9 @@ dependencies = [ [[package]] name = "jsonrpsee-ws-client" -version = "0.15.1" +version = "0.16.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ee5feddd5188e62ac08fcf0e56478138e581509d4730f3f7be9b57dd402a4ff" +checksum = "0b83daeecfc6517cfe210df24e570fb06213533dfb990318fae781f4c7119dd9" dependencies = [ "http", "jsonrpsee-client-transport", @@ -3555,43 +3657,26 @@ dependencies = [ "jsonrpsee-types", ] -[[package]] -name = "jsonrpsee-ws-server" -version = "0.15.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d488ba74fb369e5ab68926feb75a483458b88e768d44319f37e4ecad283c7325" -dependencies = [ - "futures-channel", - "futures-util", - "http", - "jsonrpsee-core", - "jsonrpsee-types", - "serde_json", - "soketto", - "tokio", - "tokio-stream", - "tokio-util", - "tracing", - "tracing-futures", -] - [[package]] name = "k256" -version = "0.10.4" +version = "0.11.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19c3a5e0a0b8450278feda242592512e09f61c72e018b8cd5c859482802daf2d" +checksum = "72c1e0b51e7ec0a97369623508396067a486bd0cbed95a2659a4b863d28cfc8b" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "ecdsa", "elliptic-curve", - "sec1", + "sha2 0.10.6", ] [[package]] name = "keccak" -version = "0.1.2" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9b7d56ba4a8344d6be9729995e6b06f928af29998cdf79fe390cbf6b1fee838" +checksum = "3afef3b6eff9ce9d8ff9b3601125eec7f0c8cbac7abd14f355d053fa56c98768" +dependencies = [ + "cpufeatures", +] [[package]] name = "kilt-asset-dids" @@ -3659,6 +3744,7 @@ dependencies = [ "sp-consensus", "sp-consensus-aura", "sp-core", + "sp-io", "sp-keystore", "sp-offchain", "sp-runtime", @@ -3720,10 +3806,9 @@ dependencies = [ [[package]] name = "kusama-runtime" -version = "0.9.32" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" +version = "0.9.36" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" dependencies = [ - "beefy-primitives", "bitvec", "frame-benchmarking", "frame-election-provider-support", @@ -3750,13 +3835,13 @@ dependencies = [ "pallet-election-provider-support-benchmarking", "pallet-elections-phragmen", "pallet-fast-unstake", - "pallet-gilt", "pallet-grandpa", "pallet-identity", "pallet-im-online", "pallet-indices", "pallet-membership", "pallet-multisig", + "pallet-nis", "pallet-nomination-pools", "pallet-nomination-pools-benchmarking", "pallet-nomination-pools-runtime-api", @@ -3772,7 +3857,6 @@ dependencies = [ "pallet-session-benchmarking", "pallet-society", "pallet-staking", - "pallet-staking-reward-fn", "pallet-timestamp", "pallet-tips", "pallet-transaction-payment", @@ -3795,6 +3879,7 @@ dependencies = [ "sp-api", "sp-arithmetic", "sp-authority-discovery", + "sp-beefy", "sp-block-builder", "sp-consensus-babe", "sp-core", @@ -3818,8 +3903,8 @@ dependencies = [ [[package]] name = "kusama-runtime-constants" -version = "0.9.32" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" +version = "0.9.36" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" dependencies = [ "frame-support", "polkadot-primitives", @@ -3841,35 +3926,31 @@ dependencies = [ [[package]] name = "kvdb" -version = "0.12.0" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "585089ceadba0197ffe9af6740ab350b325e3c1f5fccfbc3522e0250c750409b" +checksum = "e7d770dcb02bf6835887c3a979b5107a04ff4bbde97a5f0928d27404a155add9" dependencies = [ - "parity-util-mem", "smallvec", ] [[package]] name = "kvdb-memorydb" -version = "0.12.0" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40d109c87bfb7759edd2a49b2649c1afe25af785d930ad6a38479b4dc70dd873" +checksum = "bf7a85fe66f9ff9cd74e169fdd2c94c6e1e74c412c99a73b4df3200b5d3760b2" dependencies = [ "kvdb", - "parity-util-mem", "parking_lot 0.12.1", ] [[package]] name = "kvdb-rocksdb" -version = "0.16.0" +version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c076cc2cdbac89b9910c853a36c957d3862a779f31c2661174222cefb49ee597" +checksum = "2182b8219fee6bd83aacaab7344e840179ae079d5216aa4e249b4d704646a844" dependencies = [ "kvdb", - "log", "num_cpus", - "parity-util-mem", "parking_lot 0.12.1", "regex", "rocksdb", @@ -3890,25 +3971,31 @@ checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" [[package]] name = "libc" -version = "0.2.137" +version = "0.2.139" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc7fcc620a3bff7cdd7a365be3376c97191aeaccc2a603e600951e452615bf89" +checksum = "201de327520df007757c1f0adce6e827fe8562fbc28bfd9c15571c66ca1f5f79" [[package]] name = "libloading" -version = "0.7.3" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b67380fd3b2fbe7527a606e18729d21c6f3951633d0500574c4dc22d2d638b9f" +dependencies = [ + "cfg-if", + "winapi", +] + +[[package]] +name = "libm" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "efbc0f03f9a775e9f6aed295c6a1ba2253c5757a9e03d55c6caa46a681abcddd" -dependencies = [ - "cfg-if 1.0.0", - "winapi", -] +checksum = "7fc7aa29613bd6a620df431842069224d8bc9011086b1db4c0e0cd47fa03ec9a" [[package]] name = "libm" -version = "0.2.5" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "292a948cd991e376cf75541fe5b97a1081d713c618b4f1b9500f8844e49eb565" +checksum = "348108ab3fba42ec82ff6e9564fc4ca0247bdccdc68dd8af9764bbc79c3c8ffb" [[package]] name = "libp2p" @@ -3919,7 +4006,7 @@ dependencies = [ "bytes", "futures", "futures-timer", - "getrandom 0.2.7", + "getrandom 0.2.8", "instant", "lazy_static", "libp2p-core", @@ -3969,7 +4056,7 @@ dependencies = [ "prost-build", "rand 0.8.5", "rw-stream-sink", - "sha2 0.10.2", + "sha2 0.10.6", "smallvec", "thiserror", "unsigned-varint", @@ -3983,7 +4070,6 @@ version = "0.37.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2322c9fb40d99101def6a01612ee30500c89abbbecb6297b3cd252903a4c1720" dependencies = [ - "async-std-resolver", "futures", "libp2p-core", "log", @@ -4004,7 +4090,7 @@ dependencies = [ "libp2p-core", "libp2p-swarm", "log", - "lru 0.8.1", + "lru", "prost", "prost-build", "prost-codec", @@ -4033,7 +4119,7 @@ dependencies = [ "prost", "prost-build", "rand 0.8.5", - "sha2 0.10.2", + "sha2 0.10.6", "smallvec", "thiserror", "uint", @@ -4047,7 +4133,6 @@ version = "0.41.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "761704e727f7d68d58d7bc2231eafae5fc1b9814de24290f126df09d4bd37a15" dependencies = [ - "async-io", "data-encoding", "dns-parser", "futures", @@ -4058,6 +4143,7 @@ dependencies = [ "rand 0.8.5", "smallvec", "socket2", + "tokio", "void", ] @@ -4108,7 +4194,7 @@ dependencies = [ "prost", "prost-build", "rand 0.8.5", - "sha2 0.10.2", + "sha2 0.10.6", "snow", "static_assertions", "x25519-dalek", @@ -4186,7 +4272,6 @@ version = "0.37.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9839d96761491c6d3e238e70554b856956fca0ab60feb9de2cd08eed4473fa92" dependencies = [ - "async-io", "futures", "futures-timer", "if-watch", @@ -4194,6 +4279,7 @@ dependencies = [ "libp2p-core", "log", "socket2", + "tokio", ] [[package]] @@ -4231,9 +4317,9 @@ dependencies = [ [[package]] name = "libp2p-yamux" -version = "0.41.0" +version = "0.41.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30f079097a21ad017fc8139460630286f02488c8c13b26affb46623aa20d8845" +checksum = "0d6874d66543c4f7e26e3b8ca9a6bead351563a13ab4fafd43c7927f7c0d6c12" dependencies = [ "futures", "libp2p-core", @@ -4317,6 +4403,15 @@ dependencies = [ "vcpkg", ] +[[package]] +name = "link-cplusplus" +version = "1.0.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ecd207c9c713c34f95a097a5b029ac2ce6010530c7b49d7fea24d977dede04f5" +dependencies = [ + "cc", +] + [[package]] name = "linked-hash-map" version = "0.5.6" @@ -4350,15 +4445,15 @@ checksum = "d4d2456c373231a208ad294c33dc5bff30051eafd954cd4caae83a712b12854d" [[package]] name = "linux-raw-sys" -version = "0.1.2" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb68f22743a3fb35785f1e7f844ca5a3de2dde5bd0c0ef5b372065814699b121" +checksum = "f051f77a7c8e6957c0696eac88f26b0117e54f52d3fc682ab19397a8812846a4" [[package]] name = "lock_api" -version = "0.4.7" +version = "0.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "327fa5b6a6940e4699ec49a9beae1ea4845c6bab9314e4f84ac68742139d8c53" +checksum = "435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df" dependencies = [ "autocfg", "scopeguard", @@ -4370,19 +4465,10 @@ version = "0.4.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "value-bag", ] -[[package]] -name = "lru" -version = "0.7.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e999beba7b6e8345721bd280141ed958096a2e4abdf74f67ff4ce49b4b54e47a" -dependencies = [ - "hashbrown", -] - [[package]] name = "lru" version = "0.8.1" @@ -4403,9 +4489,9 @@ dependencies = [ [[package]] name = "lz4" -version = "1.23.3" +version = "1.24.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4edcb94251b1c375c459e5abe9fb0168c1c826c3370172684844f8f3f8d1a885" +checksum = "7e9e2dd86df36ce760a60f6ff6ad526f7ba1f14ba0356f8254fb6905e6494df1" dependencies = [ "libc", "lz4-sys", @@ -4413,9 +4499,9 @@ dependencies = [ [[package]] name = "lz4-sys" -version = "1.9.3" +version = "1.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7be8908e2ed6f31c02db8a9fa962f03e36c53fbfde437363eae3306b85d7e17" +checksum = "57d27b317e207b10f69f5e75494119e391a96f48861ae870d1da6edac98ca900" dependencies = [ "cc", "libc", @@ -4438,6 +4524,7 @@ dependencies = [ "frame-benchmarking", "frame-benchmarking-cli", "frame-system", + "futures", "hex-literal", "jsonrpsee", "mashnet-node-runtime", @@ -4465,6 +4552,7 @@ dependencies = [ "sp-core", "sp-finality-grandpa", "sp-inherents", + "sp-io", "sp-keyring", "sp-runtime", "sp-timestamp", @@ -4568,54 +4656,44 @@ version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b20a59d985586e4a5aef64564ac77299f8586d8be6cf9106a5a40207e8908efb" dependencies = [ - "rustix 0.36.1", + "rustix 0.36.6", ] [[package]] name = "memmap2" -version = "0.2.3" +version = "0.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "723e3ebdcdc5c023db1df315364573789f8857c11b631a2fdfad7c00f5c046b4" +checksum = "4b182332558b18d807c4ce1ca8ca983b34c3ee32765e47b3f0f69b90355cc1dc" dependencies = [ "libc", ] [[package]] -name = "memmap2" -version = "0.5.7" +name = "memoffset" +version = "0.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95af15f345b17af2efc8ead6080fb8bc376f8cec1b35277b935637595fe77498" +checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce" dependencies = [ - "libc", + "autocfg", ] [[package]] name = "memoffset" -version = "0.6.5" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce" +checksum = "5de893c32cde5f383baa4c04c5d6dbdd735cfd4a794b0debdb2bb1b421da5ff4" dependencies = [ "autocfg", ] [[package]] name = "memory-db" -version = "0.30.0" +version = "0.31.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34ac11bb793c28fa095b7554466f53b3a60a2cd002afdac01bcf135cbd73a269" +checksum = "5e0c7cba9ce19ac7ffd2053ac9f49843bbd3f4318feedfd74e85c19d5fb0ba66" dependencies = [ "hash-db", "hashbrown", - "parity-util-mem", -] - -[[package]] -name = "memory-lru" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce95ae042940bad7e312857b929ee3d11b8f799a80cb7b9c7ec5125516906395" -dependencies = [ - "lru 0.8.1", ] [[package]] @@ -4655,23 +4733,59 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" [[package]] name = "miniz_oxide" -version = "0.5.3" +version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f5c75688da582b8ffc1f1799e9db273f32133c49e048f614d22ec3256773ccc" +checksum = "b275950c28b37e794e8c55d88aeb5e139d0ce23fdbbeda68f8d7174abdf9e8fa" dependencies = [ "adler", ] [[package]] name = "mio" -version = "0.8.4" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57ee1c23c7c63b0c9250c339ffdc69255f110b298b901b9f6c82547b7b87caaf" +checksum = "e5d732bc30207a6423068df043e3d02e0735b155ad7ce1a6f76fe2baa5b158de" dependencies = [ "libc", "log", "wasi 0.11.0+wasi-snapshot-preview1", - "windows-sys 0.36.1", + "windows-sys 0.42.0", +] + +[[package]] +name = "mmr-gadget" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +dependencies = [ + "futures", + "log", + "parity-scale-codec", + "sc-client-api", + "sc-offchain", + "sp-api", + "sp-beefy", + "sp-blockchain", + "sp-consensus", + "sp-core", + "sp-io", + "sp-mmr-primitives", + "sp-runtime", +] + +[[package]] +name = "mmr-rpc" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +dependencies = [ + "anyhow", + "jsonrpsee", + "parity-scale-codec", + "serde", + "sp-api", + "sp-blockchain", + "sp-core", + "sp-mmr-primitives", + "sp-runtime", ] [[package]] @@ -4680,7 +4794,7 @@ version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "50e4a1c770583dac7ab5e2f6c139153b783a53a1bbee9729613f193e59828326" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "downcast", "fragile", "lazy_static", @@ -4695,7 +4809,7 @@ version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "832663583d5fa284ca8810bf7015e46c9fff9622d3cf34bd1eea5003fec06dd0" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "proc-macro2", "quote", "syn", @@ -4740,9 +4854,9 @@ dependencies = [ "blake2s_simd", "blake3", "core2", - "digest 0.10.3", + "digest 0.10.6", "multihash-derive", - "sha2 0.10.2", + "sha2 0.10.6", "sha3", "unsigned-varint", ] @@ -4769,9 +4883,9 @@ checksum = "e5ce46fe64a9d73be07dcbe690a38ce1b293be448fd8ce1e6c1b8062c9f72c6a" [[package]] name = "multistream-select" -version = "0.12.0" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9bc41247ec209813e2fd414d6e16b9d94297dacf3cd613fa6ef09cd4d9755c10" +checksum = "c8552ab875c1313b97b8d20cb857b9fd63e2d1d6a0a1b53ce9821e575405f27a" dependencies = [ "bytes", "futures", @@ -4791,7 +4905,7 @@ dependencies = [ "matrixmultiply", "nalgebra-macros", "num-complex", - "num-rational 0.4.1", + "num-rational", "num-traits", "rand 0.8.5", "rand_distr", @@ -4893,21 +5007,15 @@ dependencies = [ [[package]] name = "nix" -version = "0.24.2" +version = "0.24.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "195cdbc1741b8134346d515b3a56a1c94b0912758009cfd53f99ea0f57b065fc" +checksum = "fa52e972a9a719cecb6864fb88568781eb706bac2cd1d4f04a648542dbf78069" dependencies = [ "bitflags", - "cfg-if 1.0.0", + "cfg-if", "libc", ] -[[package]] -name = "nodrop" -version = "0.1.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72ef4a56884ca558e5ddb05a1d1e7e1bfd9a68d9ed024c21704cc98872dae1bb" - [[package]] name = "nohash-hasher" version = "0.2.0" @@ -4916,9 +5024,9 @@ checksum = "2bf50223579dc7cdcfb3bfcacf7069ff68243f8c363f62ffa99cf000a6b9c451" [[package]] name = "nom" -version = "7.1.1" +version = "7.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8903e5a29a317527874d0402f867152a3d21c908bb0b933e416c65e301d4c36" +checksum = "e5507769c4919c998e69e49c839d9dc6e693ede4cc4290d6ad8b41d4f09c548c" dependencies = [ "memchr", "minimal-lexical", @@ -4930,17 +5038,6 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "61807f77802ff30975e01f4f071c8ba10c022052f98b3294119f3e615d13e5be" -[[package]] -name = "num-bigint" -version = "0.2.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "090c7f9998ee0ff65aa5b723e4009f7b217707f1fb5ea551329cc4d6231fb304" -dependencies = [ - "autocfg", - "num-integer", - "num-traits", -] - [[package]] name = "num-bigint" version = "0.4.3" @@ -4963,12 +5060,12 @@ dependencies = [ [[package]] name = "num-format" -version = "0.4.0" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bafe4179722c2894288ee77a9f044f02811c86af699344c498b0840c698a2465" +checksum = "a652d9771a63711fd3c3deb670acfbe5c30a4072e664d7a3bf5a9e1056ac72c3" dependencies = [ - "arrayvec 0.4.12", - "itoa 0.4.8", + "arrayvec 0.7.2", + "itoa", ] [[package]] @@ -4981,18 +5078,6 @@ dependencies = [ "num-traits", ] -[[package]] -name = "num-rational" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c000134b5dbf44adc5cb772486d335293351644b801551abe8f75c84cfa4aef" -dependencies = [ - "autocfg", - "num-bigint 0.2.6", - "num-integer", - "num-traits", -] - [[package]] name = "num-rational" version = "0.4.1" @@ -5000,7 +5085,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0" dependencies = [ "autocfg", - "num-bigint 0.4.3", + "num-bigint", "num-integer", "num-traits", ] @@ -5012,16 +5097,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" dependencies = [ "autocfg", - "libm", + "libm 0.2.6", ] [[package]] name = "num_cpus" -version = "1.13.1" +version = "1.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19e64526ebdee182341572e50e9ad03965aa510cd94427a4549448f285e957a1" +checksum = "0fac9e2da13b5eb447a6ce3d392f23a29d8694bff781bf03a16cd9ac8697593b" dependencies = [ - "hermit-abi", + "hermit-abi 0.2.6", "libc", ] @@ -5037,11 +5122,20 @@ dependencies = [ "memchr", ] +[[package]] +name = "object" +version = "0.30.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8d864c91689fdc196779b98dba0aceac6118594c2df6ee5d943eb6a8df4d107a" +dependencies = [ + "memchr", +] + [[package]] name = "once_cell" -version = "1.13.1" +version = "1.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "074864da206b4973b84eb91683020dbefd6a8c3f0f38e054d93954e891935e4e" +checksum = "6f61fba1741ea2b3d6a1e3178721804bb716a68a6aeba1149b5d52e3d464ea66" [[package]] name = "opaque-debug" @@ -5104,14 +5198,24 @@ dependencies = [ [[package]] name = "os_str_bytes" -version = "6.3.0" +version = "6.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b7820b9daea5457c9f21c69448905d723fbd21136ccf521748f23fd49e723ee" + +[[package]] +name = "packed_simd_2" +version = "0.3.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ff7415e9ae3fff1225851df9e0d9e4e5479f947619774677a63572e55e80eff" +checksum = "a1914cd452d8fccd6f9db48147b29fd4ae05bea9dc5d9ad578509f72415de282" +dependencies = [ + "cfg-if", + "libm 0.1.4", +] [[package]] name = "pallet-aura" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "frame-support", "frame-system", @@ -5127,7 +5231,7 @@ dependencies = [ [[package]] name = "pallet-authority-discovery" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "frame-support", "frame-system", @@ -5143,7 +5247,7 @@ dependencies = [ [[package]] name = "pallet-authorship" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "frame-support", "frame-system", @@ -5158,7 +5262,7 @@ dependencies = [ [[package]] name = "pallet-babe" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "frame-benchmarking", "frame-support", @@ -5182,7 +5286,7 @@ dependencies = [ [[package]] name = "pallet-bags-list" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -5202,7 +5306,7 @@ dependencies = [ [[package]] name = "pallet-balances" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "frame-benchmarking", "frame-support", @@ -5217,15 +5321,15 @@ dependencies = [ [[package]] name = "pallet-beefy" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ - "beefy-primitives", "frame-support", "frame-system", "pallet-session", "parity-scale-codec", "scale-info", "serde", + "sp-beefy", "sp-runtime", "sp-std", ] @@ -5233,11 +5337,10 @@ dependencies = [ [[package]] name = "pallet-beefy-mmr" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ - "array-bytes", + "array-bytes 4.2.0", "beefy-merkle-tree", - "beefy-primitives", "frame-support", "frame-system", "log", @@ -5247,6 +5350,7 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", + "sp-beefy", "sp-core", "sp-io", "sp-runtime", @@ -5256,7 +5360,7 @@ dependencies = [ [[package]] name = "pallet-bounties" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "frame-benchmarking", "frame-support", @@ -5274,7 +5378,7 @@ dependencies = [ [[package]] name = "pallet-child-bounties" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "frame-benchmarking", "frame-support", @@ -5293,7 +5397,7 @@ dependencies = [ [[package]] name = "pallet-collator-selection" version = "3.0.0" -source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.32#6abd385ce49f7feb882218646410feb063404b77" +source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.36#afe528af891f464b318293f183f6d3eefbc979b0" dependencies = [ "frame-benchmarking", "frame-support", @@ -5312,7 +5416,7 @@ dependencies = [ [[package]] name = "pallet-collective" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "frame-benchmarking", "frame-support", @@ -5329,7 +5433,7 @@ dependencies = [ [[package]] name = "pallet-conviction-voting" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "assert_matches", "frame-benchmarking", @@ -5346,7 +5450,7 @@ dependencies = [ [[package]] name = "pallet-democracy" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "frame-benchmarking", "frame-support", @@ -5387,7 +5491,7 @@ dependencies = [ [[package]] name = "pallet-election-provider-multi-phase" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -5411,7 +5515,7 @@ dependencies = [ [[package]] name = "pallet-election-provider-support-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -5424,7 +5528,7 @@ dependencies = [ [[package]] name = "pallet-elections-phragmen" version = "5.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "frame-benchmarking", "frame-support", @@ -5442,16 +5546,13 @@ dependencies = [ [[package]] name = "pallet-fast-unstake" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "frame-benchmarking", "frame-election-provider-support", "frame-support", "frame-system", "log", - "pallet-balances", - "pallet-staking", - "pallet-timestamp", "parity-scale-codec", "scale-info", "sp-io", @@ -5460,25 +5561,10 @@ dependencies = [ "sp-std", ] -[[package]] -name = "pallet-gilt" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" -dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", - "parity-scale-codec", - "scale-info", - "sp-arithmetic", - "sp-runtime", - "sp-std", -] - [[package]] name = "pallet-grandpa" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "frame-benchmarking", "frame-support", @@ -5501,7 +5587,7 @@ dependencies = [ [[package]] name = "pallet-identity" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "enumflags2", "frame-benchmarking", @@ -5517,7 +5603,7 @@ dependencies = [ [[package]] name = "pallet-im-online" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "frame-benchmarking", "frame-support", @@ -5537,7 +5623,7 @@ dependencies = [ [[package]] name = "pallet-indices" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "frame-benchmarking", "frame-support", @@ -5570,7 +5656,7 @@ dependencies = [ [[package]] name = "pallet-membership" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "frame-benchmarking", "frame-support", @@ -5587,9 +5673,8 @@ dependencies = [ [[package]] name = "pallet-mmr" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ - "ckb-merkle-mountain-range", "frame-benchmarking", "frame-support", "frame-system", @@ -5603,32 +5688,33 @@ dependencies = [ ] [[package]] -name = "pallet-mmr-rpc" -version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +name = "pallet-multisig" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ - "jsonrpsee", + "frame-benchmarking", + "frame-support", + "frame-system", + "log", "parity-scale-codec", - "serde", - "sp-api", - "sp-blockchain", - "sp-core", - "sp-mmr-primitives", + "scale-info", + "sp-io", "sp-runtime", + "sp-std", ] [[package]] -name = "pallet-multisig" +name = "pallet-nis" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "frame-benchmarking", "frame-support", "frame-system", - "log", "parity-scale-codec", "scale-info", - "sp-io", + "sp-arithmetic", + "sp-core", "sp-runtime", "sp-std", ] @@ -5636,7 +5722,7 @@ dependencies = [ [[package]] name = "pallet-nomination-pools" version = "1.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "frame-support", "frame-system", @@ -5653,7 +5739,7 @@ dependencies = [ [[package]] name = "pallet-nomination-pools-benchmarking" version = "1.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -5673,7 +5759,7 @@ dependencies = [ [[package]] name = "pallet-nomination-pools-runtime-api" version = "1.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "parity-scale-codec", "sp-api", @@ -5683,7 +5769,7 @@ dependencies = [ [[package]] name = "pallet-offences" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "frame-support", "frame-system", @@ -5700,7 +5786,7 @@ dependencies = [ [[package]] name = "pallet-offences-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -5723,7 +5809,7 @@ dependencies = [ [[package]] name = "pallet-preimage" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "frame-benchmarking", "frame-support", @@ -5740,7 +5826,7 @@ dependencies = [ [[package]] name = "pallet-proxy" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "frame-benchmarking", "frame-support", @@ -5755,7 +5841,7 @@ dependencies = [ [[package]] name = "pallet-randomness-collective-flip" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "frame-support", "frame-system", @@ -5769,7 +5855,7 @@ dependencies = [ [[package]] name = "pallet-ranked-collective" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "frame-benchmarking", "frame-support", @@ -5787,7 +5873,7 @@ dependencies = [ [[package]] name = "pallet-recovery" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "frame-benchmarking", "frame-support", @@ -5802,12 +5888,13 @@ dependencies = [ [[package]] name = "pallet-referenda" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "assert_matches", "frame-benchmarking", "frame-support", "frame-system", + "log", "parity-scale-codec", "scale-info", "serde", @@ -5820,7 +5907,7 @@ dependencies = [ [[package]] name = "pallet-scheduler" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "frame-benchmarking", "frame-support", @@ -5831,12 +5918,13 @@ dependencies = [ "sp-io", "sp-runtime", "sp-std", + "sp-weights", ] [[package]] name = "pallet-session" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "frame-support", "frame-system", @@ -5857,7 +5945,7 @@ dependencies = [ [[package]] name = "pallet-session-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "frame-benchmarking", "frame-support", @@ -5873,7 +5961,7 @@ dependencies = [ [[package]] name = "pallet-society" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "frame-support", "frame-system", @@ -5887,7 +5975,7 @@ dependencies = [ [[package]] name = "pallet-staking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -5910,7 +5998,7 @@ dependencies = [ [[package]] name = "pallet-staking-reward-curve" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -5921,16 +6009,33 @@ dependencies = [ [[package]] name = "pallet-staking-reward-fn" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "log", "sp-arithmetic", ] +[[package]] +name = "pallet-state-trie-migration" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +dependencies = [ + "frame-benchmarking", + "frame-support", + "frame-system", + "log", + "parity-scale-codec", + "scale-info", + "sp-core", + "sp-io", + "sp-runtime", + "sp-std", +] + [[package]] name = "pallet-sudo" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "frame-support", "frame-system", @@ -5944,7 +6049,7 @@ dependencies = [ [[package]] name = "pallet-timestamp" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "frame-benchmarking", "frame-support", @@ -5962,7 +6067,7 @@ dependencies = [ [[package]] name = "pallet-tips" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "frame-benchmarking", "frame-support", @@ -5981,7 +6086,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "frame-support", "frame-system", @@ -5997,7 +6102,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "jsonrpsee", "pallet-transaction-payment-rpc-runtime-api", @@ -6013,7 +6118,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc-runtime-api" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "pallet-transaction-payment", "parity-scale-codec", @@ -6025,7 +6130,7 @@ dependencies = [ [[package]] name = "pallet-treasury" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "frame-benchmarking", "frame-support", @@ -6042,7 +6147,7 @@ dependencies = [ [[package]] name = "pallet-utility" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "frame-benchmarking", "frame-support", @@ -6058,7 +6163,7 @@ dependencies = [ [[package]] name = "pallet-vesting" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "frame-benchmarking", "frame-support", @@ -6091,7 +6196,7 @@ dependencies = [ [[package]] name = "pallet-whitelist" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "frame-benchmarking", "frame-support", @@ -6105,8 +6210,8 @@ dependencies = [ [[package]] name = "pallet-xcm" -version = "0.9.32" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" +version = "0.9.36" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" dependencies = [ "frame-support", "frame-system", @@ -6123,8 +6228,8 @@ dependencies = [ [[package]] name = "pallet-xcm-benchmarks" -version = "0.9.32" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" +version = "0.9.36" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" dependencies = [ "frame-benchmarking", "frame-support", @@ -6141,7 +6246,7 @@ dependencies = [ [[package]] name = "parachain-info" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.32#6abd385ce49f7feb882218646410feb063404b77" +source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.36#afe528af891f464b318293f183f6d3eefbc979b0" dependencies = [ "cumulus-primitives-core", "frame-support", @@ -6177,19 +6282,19 @@ dependencies = [ [[package]] name = "parity-db" -version = "0.3.16" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2bb474d0ed0836e185cb998a6b140ed1073d1fbf27d690ecf9ede8030289382c" +checksum = "3a7511a0bec4a336b5929999d02b560d2439c993cccf98c26481484e811adc43" dependencies = [ - "blake2-rfc", + "blake2", "crc32fast", "fs2", "hex", "libc", "log", "lz4", - "memmap2 0.2.3", - "parking_lot 0.11.2", + "memmap2", + "parking_lot 0.12.1", "rand 0.8.5", "snap", ] @@ -6227,42 +6332,6 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "aa9777aa91b8ad9dd5aaa04a9b6bcb02c7f1deb952fca5a66034d5e63afc5c6f" -[[package]] -name = "parity-util-mem" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d32c34f4f5ca7f9196001c0aba5a1f9a5a12382c8944b8b0f90233282d1e8f8" -dependencies = [ - "cfg-if 1.0.0", - "hashbrown", - "impl-trait-for-tuples", - "parity-util-mem-derive", - "parking_lot 0.12.1", - "primitive-types", - "smallvec", - "winapi", -] - -[[package]] -name = "parity-util-mem-derive" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f557c32c6d268a07c921471619c0295f5efad3a0e76d4f97a05c091a51d110b2" -dependencies = [ - "proc-macro2", - "syn", - "synstructure", -] - -[[package]] -name = "parity-wasm" -version = "0.32.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16ad52817c4d343339b3bc2e26861bd21478eda0b7509acf83505727000512ac" -dependencies = [ - "byteorder", -] - [[package]] name = "parity-wasm" version = "0.45.0" @@ -6283,7 +6352,7 @@ checksum = "7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99" dependencies = [ "instant", "lock_api", - "parking_lot_core 0.8.5", + "parking_lot_core 0.8.6", ] [[package]] @@ -6293,16 +6362,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" dependencies = [ "lock_api", - "parking_lot_core 0.9.3", + "parking_lot_core 0.9.5", ] [[package]] name = "parking_lot_core" -version = "0.8.5" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d76e8e1493bcac0d2766c42737f34458f1c8c50c0d23bcb24ea953affb273216" +checksum = "60a2cfe6f0ad2bfc16aefa463b497d5c7a5ecd44a23efa72aa342d90177356dc" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "instant", "libc", "redox_syscall", @@ -6312,22 +6381,22 @@ dependencies = [ [[package]] name = "parking_lot_core" -version = "0.9.3" +version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09a279cbf25cb0757810394fbc1e359949b59e348145c643a939a525692e6929" +checksum = "7ff9f3fef3968a3ec5945535ed654cb38ff72d7495a25619e2247fb15a2ed9ba" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "libc", "redox_syscall", "smallvec", - "windows-sys 0.36.1", + "windows-sys 0.42.0", ] [[package]] name = "paste" -version = "1.0.8" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9423e2b32f7a043629287a536f21951e8c6a82482d0acb1eeebfc90bc2225b22" +checksum = "d01a5bd0424d00070b0098dd17ebca6f961a959dead1dbcbbbc1d1cd8d3deeba" [[package]] name = "pbkdf2" @@ -6438,9 +6507,9 @@ dependencies = [ [[package]] name = "pest" -version = "2.3.0" +version = "2.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b0560d531d1febc25a3c9398a62a71256c0178f2e3443baedd9ad4bb8c9deb4" +checksum = "0f6e86fb9e7026527a0d46bc308b841d73170ef8f443e1807f6ef88526a816d4" dependencies = [ "thiserror", "ucd-trie", @@ -6448,9 +6517,9 @@ dependencies = [ [[package]] name = "pest_derive" -version = "2.3.0" +version = "2.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "905708f7f674518498c1f8d644481440f476d39ca6ecae83319bba7c6c12da91" +checksum = "96504449aa860c8dcde14f9fba5c58dc6658688ca1fe363589d6327b8662c603" dependencies = [ "pest", "pest_generator", @@ -6458,9 +6527,9 @@ dependencies = [ [[package]] name = "pest_generator" -version = "2.3.0" +version = "2.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5803d8284a629cc999094ecd630f55e91b561a1d1ba75e233b00ae13b91a69ad" +checksum = "798e0220d1111ae63d66cb66a5dcb3fc2d986d520b98e49e1852bfdb11d7c5e7" dependencies = [ "pest", "pest_meta", @@ -6471,13 +6540,13 @@ dependencies = [ [[package]] name = "pest_meta" -version = "2.3.0" +version = "2.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1538eb784f07615c6d9a8ab061089c6c54a344c5b4301db51990ca1c241e8c04" +checksum = "984298b75898e30a843e278a9f2452c31e349a073a0ce6fd950a12a74464e065" dependencies = [ "once_cell", "pest", - "sha-1 0.10.0", + "sha1", ] [[package]] @@ -6530,20 +6599,19 @@ checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" [[package]] name = "pkcs8" -version = "0.8.0" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7cabda3fb821068a9a4fab19a683eac3af12edf0f34b94a8be53c4972b8149d0" +checksum = "9eca2c590a5f85da82668fa685c09ce2888b9430e83299debf1f34b65fd4a4ba" dependencies = [ "der", "spki", - "zeroize", ] [[package]] name = "pkg-config" -version = "0.3.25" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1df8c4ec4b0627e53bdf214615ad287367e482558cf84b109250b37464dc03ae" +checksum = "6ac9a59f73473f1b8d852421e59e64809f025994837ef743615c6d0c5b305160" [[package]] name = "platforms" @@ -6551,10 +6619,16 @@ version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e8d0eef3571242013a0d5dc84861c3ae4a652e56e12adf8bdc26ff5f8cb34c94" +[[package]] +name = "platforms" +version = "3.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3d7ddaed09e0eb771a79ab0fd64609ba0afb0a8366421957936ad14cbd13630" + [[package]] name = "polkadot-approval-distribution" -version = "0.9.32" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" +version = "0.9.36" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" dependencies = [ "futures", "polkadot-node-network-protocol", @@ -6568,8 +6642,8 @@ dependencies = [ [[package]] name = "polkadot-availability-bitfield-distribution" -version = "0.9.32" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" +version = "0.9.36" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" dependencies = [ "futures", "polkadot-node-network-protocol", @@ -6582,13 +6656,13 @@ dependencies = [ [[package]] name = "polkadot-availability-distribution" -version = "0.9.32" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" +version = "0.9.36" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" dependencies = [ "derive_more", "fatality", "futures", - "lru 0.8.1", + "lru", "parity-scale-codec", "polkadot-erasure-coding", "polkadot-node-network-protocol", @@ -6605,12 +6679,12 @@ dependencies = [ [[package]] name = "polkadot-availability-recovery" -version = "0.9.32" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" +version = "0.9.36" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" dependencies = [ "fatality", "futures", - "lru 0.8.1", + "lru", "parity-scale-codec", "polkadot-erasure-coding", "polkadot-node-network-protocol", @@ -6626,8 +6700,8 @@ dependencies = [ [[package]] name = "polkadot-cli" -version = "0.9.32" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" +version = "0.9.36" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" dependencies = [ "clap", "frame-benchmarking-cli", @@ -6639,12 +6713,13 @@ dependencies = [ "polkadot-performance-test", "polkadot-service", "sc-cli", + "sc-executor", "sc-service", "sc-sysinfo", "sc-tracing", "sp-core", + "sp-io", "sp-keyring", - "sp-trie", "substrate-build-script-utils", "thiserror", "try-runtime-cli", @@ -6652,14 +6727,15 @@ dependencies = [ [[package]] name = "polkadot-client" -version = "0.9.32" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" +version = "0.9.36" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" dependencies = [ - "beefy-primitives", + "async-trait", "frame-benchmarking", "frame-benchmarking-cli", "frame-system", "frame-system-rpc-runtime-api", + "futures", "pallet-transaction-payment", "pallet-transaction-payment-rpc-runtime-api", "polkadot-core-primitives", @@ -6673,6 +6749,7 @@ dependencies = [ "sc-service", "sp-api", "sp-authority-discovery", + "sp-beefy", "sp-block-builder", "sp-blockchain", "sp-consensus", @@ -6692,8 +6769,8 @@ dependencies = [ [[package]] name = "polkadot-collator-protocol" -version = "0.9.32" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" +version = "0.9.36" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" dependencies = [ "always-assert", "bitvec", @@ -6714,11 +6791,10 @@ dependencies = [ [[package]] name = "polkadot-core-primitives" -version = "0.9.32" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" +version = "0.9.36" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" dependencies = [ "parity-scale-codec", - "parity-util-mem", "scale-info", "sp-core", "sp-runtime", @@ -6727,15 +6803,15 @@ dependencies = [ [[package]] name = "polkadot-dispute-distribution" -version = "0.9.32" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" +version = "0.9.36" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" dependencies = [ "derive_more", "fatality", "futures", "futures-timer", "indexmap", - "lru 0.8.1", + "lru", "parity-scale-codec", "polkadot-erasure-coding", "polkadot-node-network-protocol", @@ -6752,8 +6828,8 @@ dependencies = [ [[package]] name = "polkadot-erasure-coding" -version = "0.9.32" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" +version = "0.9.36" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" dependencies = [ "parity-scale-codec", "polkadot-node-primitives", @@ -6766,8 +6842,8 @@ dependencies = [ [[package]] name = "polkadot-gossip-support" -version = "0.9.32" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" +version = "0.9.36" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" dependencies = [ "futures", "futures-timer", @@ -6786,8 +6862,8 @@ dependencies = [ [[package]] name = "polkadot-network-bridge" -version = "0.9.32" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" +version = "0.9.36" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" dependencies = [ "always-assert", "async-trait", @@ -6810,8 +6886,8 @@ dependencies = [ [[package]] name = "polkadot-node-collation-generation" -version = "0.9.32" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" +version = "0.9.36" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" dependencies = [ "futures", "parity-scale-codec", @@ -6828,15 +6904,15 @@ dependencies = [ [[package]] name = "polkadot-node-core-approval-voting" -version = "0.9.32" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" +version = "0.9.36" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" dependencies = [ "bitvec", "derive_more", "futures", "futures-timer", "kvdb", - "lru 0.8.1", + "lru", "merlin", "parity-scale-codec", "polkadot-node-jaeger", @@ -6857,8 +6933,8 @@ dependencies = [ [[package]] name = "polkadot-node-core-av-store" -version = "0.9.32" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" +version = "0.9.36" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" dependencies = [ "bitvec", "futures", @@ -6877,8 +6953,8 @@ dependencies = [ [[package]] name = "polkadot-node-core-backing" -version = "0.9.32" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" +version = "0.9.36" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" dependencies = [ "bitvec", "fatality", @@ -6896,8 +6972,8 @@ dependencies = [ [[package]] name = "polkadot-node-core-bitfield-signing" -version = "0.9.32" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" +version = "0.9.36" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" dependencies = [ "futures", "polkadot-node-subsystem", @@ -6911,11 +6987,12 @@ dependencies = [ [[package]] name = "polkadot-node-core-candidate-validation" -version = "0.9.32" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" +version = "0.9.36" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" dependencies = [ "async-trait", "futures", + "futures-timer", "parity-scale-codec", "polkadot-node-core-pvf", "polkadot-node-primitives", @@ -6929,8 +7006,8 @@ dependencies = [ [[package]] name = "polkadot-node-core-chain-api" -version = "0.9.32" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" +version = "0.9.36" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" dependencies = [ "futures", "polkadot-node-subsystem", @@ -6944,8 +7021,8 @@ dependencies = [ [[package]] name = "polkadot-node-core-chain-selection" -version = "0.9.32" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" +version = "0.9.36" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" dependencies = [ "futures", "futures-timer", @@ -6961,13 +7038,13 @@ dependencies = [ [[package]] name = "polkadot-node-core-dispute-coordinator" -version = "0.9.32" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" +version = "0.9.36" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" dependencies = [ "fatality", "futures", "kvdb", - "lru 0.8.1", + "lru", "parity-scale-codec", "polkadot-node-primitives", "polkadot-node-subsystem", @@ -6980,13 +7057,14 @@ dependencies = [ [[package]] name = "polkadot-node-core-parachains-inherent" -version = "0.9.32" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" +version = "0.9.36" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" dependencies = [ "async-trait", "futures", "futures-timer", "polkadot-node-subsystem", + "polkadot-overseer", "polkadot-primitives", "sp-blockchain", "sp-inherents", @@ -6997,8 +7075,8 @@ dependencies = [ [[package]] name = "polkadot-node-core-provisioner" -version = "0.9.32" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" +version = "0.9.36" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" dependencies = [ "bitvec", "fatality", @@ -7015,13 +7093,14 @@ dependencies = [ [[package]] name = "polkadot-node-core-pvf" -version = "0.9.32" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" +version = "0.9.36" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" dependencies = [ "always-assert", "assert_matches", "async-process", "async-std", + "cpu-time", "futures", "futures-timer", "parity-scale-codec", @@ -7047,8 +7126,8 @@ dependencies = [ [[package]] name = "polkadot-node-core-pvf-checker" -version = "0.9.32" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" +version = "0.9.36" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" dependencies = [ "futures", "polkadot-node-primitives", @@ -7063,12 +7142,11 @@ dependencies = [ [[package]] name = "polkadot-node-core-runtime-api" -version = "0.9.32" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" +version = "0.9.36" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" dependencies = [ "futures", - "memory-lru", - "parity-util-mem", + "lru", "polkadot-node-subsystem", "polkadot-node-subsystem-types", "polkadot-node-subsystem-util", @@ -7079,10 +7157,9 @@ dependencies = [ [[package]] name = "polkadot-node-jaeger" -version = "0.9.32" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" +version = "0.9.36" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" dependencies = [ - "async-std", "lazy_static", "log", "mick-jaeger", @@ -7093,12 +7170,13 @@ dependencies = [ "sc-network", "sp-core", "thiserror", + "tokio", ] [[package]] name = "polkadot-node-metrics" -version = "0.9.32" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" +version = "0.9.36" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" dependencies = [ "bs58", "futures", @@ -7116,8 +7194,8 @@ dependencies = [ [[package]] name = "polkadot-node-network-protocol" -version = "0.9.32" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" +version = "0.9.36" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" dependencies = [ "async-trait", "derive_more", @@ -7139,8 +7217,8 @@ dependencies = [ [[package]] name = "polkadot-node-primitives" -version = "0.9.32" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" +version = "0.9.36" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" dependencies = [ "bounded-vec", "futures", @@ -7161,8 +7239,8 @@ dependencies = [ [[package]] name = "polkadot-node-subsystem" -version = "0.9.32" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" +version = "0.9.36" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" dependencies = [ "polkadot-node-jaeger", "polkadot-node-subsystem-types", @@ -7171,8 +7249,8 @@ dependencies = [ [[package]] name = "polkadot-node-subsystem-types" -version = "0.9.32" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" +version = "0.9.36" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" dependencies = [ "async-trait", "derive_more", @@ -7194,8 +7272,8 @@ dependencies = [ [[package]] name = "polkadot-node-subsystem-util" -version = "0.9.32" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" +version = "0.9.36" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" dependencies = [ "async-trait", "derive_more", @@ -7203,10 +7281,9 @@ dependencies = [ "futures", "itertools", "kvdb", - "lru 0.8.1", + "lru", "parity-db", "parity-scale-codec", - "parity-util-mem", "parking_lot 0.11.2", "pin-project", "polkadot-node-jaeger", @@ -7227,15 +7304,14 @@ dependencies = [ [[package]] name = "polkadot-overseer" -version = "0.9.32" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" +version = "0.9.36" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" dependencies = [ "async-trait", "futures", "futures-timer", - "lru 0.8.1", + "lru", "orchestra", - "parity-util-mem", "parking_lot 0.12.1", "polkadot-node-metrics", "polkadot-node-network-protocol", @@ -7245,18 +7321,18 @@ dependencies = [ "sc-client-api", "sp-api", "sp-core", + "tikv-jemalloc-ctl", "tracing-gum", ] [[package]] name = "polkadot-parachain" -version = "0.9.32" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" +version = "0.9.36" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" dependencies = [ "derive_more", "frame-support", "parity-scale-codec", - "parity-util-mem", "polkadot-core-primitives", "scale-info", "serde", @@ -7267,10 +7343,10 @@ dependencies = [ [[package]] name = "polkadot-performance-test" -version = "0.9.32" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" +version = "0.9.36" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" dependencies = [ - "env_logger", + "env_logger 0.9.3", "kusama-runtime", "log", "polkadot-erasure-coding", @@ -7282,14 +7358,12 @@ dependencies = [ [[package]] name = "polkadot-primitives" -version = "0.9.32" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" +version = "0.9.36" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" dependencies = [ "bitvec", - "frame-system", "hex-literal", "parity-scale-codec", - "parity-util-mem", "polkadot-core-primitives", "polkadot-parachain", "scale-info", @@ -7306,19 +7380,17 @@ dependencies = [ "sp-runtime", "sp-staking", "sp-std", - "sp-trie", - "sp-version", ] [[package]] name = "polkadot-rpc" -version = "0.9.32" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" +version = "0.9.36" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" dependencies = [ "beefy-gadget", "beefy-gadget-rpc", "jsonrpsee", - "pallet-mmr-rpc", + "mmr-rpc", "pallet-transaction-payment-rpc", "polkadot-primitives", "sc-chain-spec", @@ -7344,10 +7416,9 @@ dependencies = [ [[package]] name = "polkadot-runtime" -version = "0.9.32" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" +version = "0.9.36" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" dependencies = [ - "beefy-primitives", "bitvec", "frame-benchmarking", "frame-election-provider-support", @@ -7410,6 +7481,7 @@ dependencies = [ "smallvec", "sp-api", "sp-authority-discovery", + "sp-beefy", "sp-block-builder", "sp-consensus-babe", "sp-core", @@ -7433,10 +7505,9 @@ dependencies = [ [[package]] name = "polkadot-runtime-common" -version = "0.9.32" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" +version = "0.9.36" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" dependencies = [ - "beefy-primitives", "bitvec", "frame-benchmarking", "frame-election-provider-support", @@ -7453,6 +7524,7 @@ dependencies = [ "pallet-election-provider-multi-phase", "pallet-session", "pallet-staking", + "pallet-staking-reward-fn", "pallet-timestamp", "pallet-transaction-payment", "pallet-treasury", @@ -7466,6 +7538,7 @@ dependencies = [ "serde_derive", "slot-range-helper", "sp-api", + "sp-beefy", "sp-core", "sp-inherents", "sp-io", @@ -7480,8 +7553,8 @@ dependencies = [ [[package]] name = "polkadot-runtime-constants" -version = "0.9.32" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" +version = "0.9.36" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" dependencies = [ "frame-support", "polkadot-primitives", @@ -7494,8 +7567,8 @@ dependencies = [ [[package]] name = "polkadot-runtime-metrics" -version = "0.9.32" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" +version = "0.9.36" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" dependencies = [ "bs58", "parity-scale-codec", @@ -7506,8 +7579,8 @@ dependencies = [ [[package]] name = "polkadot-runtime-parachains" -version = "0.9.32" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" +version = "0.9.36" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" dependencies = [ "bitflags", "bitvec", @@ -7549,12 +7622,11 @@ dependencies = [ [[package]] name = "polkadot-service" -version = "0.9.32" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" +version = "0.9.36" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" dependencies = [ "async-trait", "beefy-gadget", - "beefy-primitives", "frame-support", "frame-system-rpc-runtime-api", "futures", @@ -7562,7 +7634,8 @@ dependencies = [ "kusama-runtime", "kvdb", "kvdb-rocksdb", - "lru 0.8.1", + "lru", + "mmr-gadget", "pallet-babe", "pallet-im-online", "pallet-staking", @@ -7628,6 +7701,7 @@ dependencies = [ "serde_json", "sp-api", "sp-authority-discovery", + "sp-beefy", "sp-block-builder", "sp-blockchain", "sp-consensus", @@ -7637,6 +7711,7 @@ dependencies = [ "sp-inherents", "sp-io", "sp-keystore", + "sp-mmr-primitives", "sp-offchain", "sp-runtime", "sp-session", @@ -7653,8 +7728,8 @@ dependencies = [ [[package]] name = "polkadot-statement-distribution" -version = "0.9.32" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" +version = "0.9.36" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" dependencies = [ "arrayvec 0.5.2", "fatality", @@ -7674,8 +7749,8 @@ dependencies = [ [[package]] name = "polkadot-statement-table" -version = "0.9.32" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" +version = "0.9.36" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" dependencies = [ "parity-scale-codec", "polkadot-primitives", @@ -7684,16 +7759,16 @@ dependencies = [ [[package]] name = "polling" -version = "2.3.0" +version = "2.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "899b00b9c8ab553c743b3e11e87c5c7d423b2a2de229ba95b24a756344748011" +checksum = "22122d5ec4f9fe1b3916419b76be1e80bcb93f618d071d2edf841b137b2a2bd6" dependencies = [ "autocfg", - "cfg-if 1.0.0", + "cfg-if", "libc", "log", "wepoll-ffi", - "winapi", + "windows-sys 0.42.0", ] [[package]] @@ -7713,7 +7788,7 @@ version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8419d2b623c7c0896ff2d5d96e2cb4ede590fed28fcc34934f4c33c036e620a1" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "cpufeatures", "opaque-debug 0.3.0", "universal-hash", @@ -7721,15 +7796,15 @@ dependencies = [ [[package]] name = "ppv-lite86" -version = "0.2.16" +version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb9f9e6e233e5c4a35559a617bf40a4ec447db2e84c20b55a6f83167b7e57872" +checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" [[package]] name = "predicates" -version = "2.1.3" +version = "2.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed6bd09a7f7e68f3f0bf710fb7ab9c4615a488b58b5f653382a687701e458c92" +checksum = "59230a63c37f3e18569bdb90e4a89cbf5bf8b06fea0b84e65ea10cc4df47addd" dependencies = [ "difflib", "float-cmp", @@ -7757,9 +7832,9 @@ dependencies = [ [[package]] name = "prettyplease" -version = "0.1.21" +version = "0.1.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c142c0e46b57171fe0c528bee8c5b7569e80f0c17e377cd0e30ea57dbc11bb51" +checksum = "e97e3215779627f01ee256d2fad52f3d95e8e1c11e9fc6fd08f7cd455d5d5c78" dependencies = [ "proc-macro2", "syn", @@ -7831,20 +7906,20 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.47" +version = "1.0.49" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ea3d908b0e36316caf9e9e2c4625cdde190a7e6f440d794667ed17a1855e725" +checksum = "57a8eca9f9c4ffde41714334dee777596264c7825420f521abc92b5b5deb63a5" dependencies = [ "unicode-ident", ] [[package]] name = "prometheus" -version = "0.13.1" +version = "0.13.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cface98dfa6d645ea4c789839f176e4b072265d085bfcc48eaa8d137f58d3c39" +checksum = "449811d15fbdf5ceb5c1144416066429cf82316e2ec8ce0c1f6f8a02e7bbcf8c" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "fnv", "lazy_static", "memchr", @@ -7859,7 +7934,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "83cd1b99916654a69008fd66b4f9397fbe08e6e51dfe23d4417acf5d3b8cb87c" dependencies = [ "dtoa", - "itoa 1.0.3", + "itoa", "parking_lot 0.12.1", "prometheus-client-derive-text-encode", ] @@ -7877,9 +7952,9 @@ dependencies = [ [[package]] name = "prost" -version = "0.11.2" +version = "0.11.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0841812012b2d4a6145fae9a6af1534873c32aa67fff26bd09f8fa42c83f95a" +checksum = "c01db6702aa05baa3f57dec92b8eeeeb4cb19e894e73996b32a4093289e54592" dependencies = [ "bytes", "prost-derive", @@ -7887,9 +7962,9 @@ dependencies = [ [[package]] name = "prost-build" -version = "0.11.2" +version = "0.11.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d8b442418ea0822409d9e7d047cbf1e7e9e1760b172bf9982cf29d517c93511" +checksum = "cb5320c680de74ba083512704acb90fe00f28f79207286a848e730c45dd73ed6" dependencies = [ "bytes", "heck", @@ -7922,9 +7997,9 @@ dependencies = [ [[package]] name = "prost-derive" -version = "0.11.2" +version = "0.11.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "164ae68b6587001ca506d3bf7f1000bfa248d0e1217b618108fba4ec1d0cc306" +checksum = "c8842bad1a5419bca14eac663ba798f6bc19c413c2fdceb5f3ba3b0932d96720" dependencies = [ "anyhow", "itertools", @@ -7935,9 +8010,9 @@ dependencies = [ [[package]] name = "prost-types" -version = "0.11.2" +version = "0.11.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "747761bc3dc48f9a34553bf65605cf6cb6288ba219f3450b4275dbd81539551a" +checksum = "017f79637768cde62820bc2d4fe0e45daaa027755c323ad077767c6c5f173091" dependencies = [ "bytes", "prost", @@ -7945,9 +8020,9 @@ dependencies = [ [[package]] name = "psm" -version = "0.1.20" +version = "0.1.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f446d0a6efba22928558c4fb4ce0b3fd6c89b0061343e390bf01a703742b8125" +checksum = "5787f7cda34e3033a72192c018bc5883100330f362ef279a8cbccfce8bb4e874" dependencies = [ "cc", ] @@ -7990,9 +8065,9 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.21" +version = "1.0.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbe448f377a7d6961e30f5955f9b8d106c3f5e449d493ee1b125c1d43c2b5179" +checksum = "8856d8364d252a14d474036ea1358d63c9e6965c8e5c1885c18f73d70bff9c7b" dependencies = [ "proc-macro2", ] @@ -8025,7 +8100,7 @@ checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" dependencies = [ "libc", "rand_chacha 0.3.1", - "rand_core 0.6.3", + "rand_core 0.6.4", ] [[package]] @@ -8045,7 +8120,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" dependencies = [ "ppv-lite86", - "rand_core 0.6.3", + "rand_core 0.6.4", ] [[package]] @@ -8059,11 +8134,11 @@ dependencies = [ [[package]] name = "rand_core" -version = "0.6.3" +version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d34f1408f55294453790c48b2f1ebbb1c5b4b7563eb1f418bcfcfdbb06ebb4e7" +checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" dependencies = [ - "getrandom 0.2.7", + "getrandom 0.2.8", ] [[package]] @@ -8100,7 +8175,7 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "59cad018caf63deb318e5a4586d99a24424a364f40f1e5778c29aca23f4fc73e" dependencies = [ - "rand_core 0.6.3", + "rand_core 0.6.4", ] [[package]] @@ -8111,21 +8186,19 @@ checksum = "60a357793950651c4ed0f3f52338f53b2f809f32d83a07f72909fa13e4c6c1e3" [[package]] name = "rayon" -version = "1.5.3" +version = "1.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd99e5772ead8baa5215278c9b15bf92087709e9c1b2d1f97cdb5a183c933a7d" +checksum = "6db3a213adf02b3bcfd2d3846bb41cb22857d131789e01df434fb7e7bc0759b7" dependencies = [ - "autocfg", - "crossbeam-deque", "either", "rayon-core", ] [[package]] name = "rayon-core" -version = "1.9.3" +version = "1.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "258bcdb5ac6dad48491bb2992db6b7cf74878b0384908af124823d118c99683f" +checksum = "cac410af5d00ab6884528b4ab69d1e8e146e8d471201800fa1b4524126de6ad3" dependencies = [ "crossbeam-channel", "crossbeam-deque", @@ -8148,7 +8221,7 @@ version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b" dependencies = [ - "getrandom 0.2.7", + "getrandom 0.2.8", "redox_syscall", "thiserror", ] @@ -8168,18 +8241,18 @@ dependencies = [ [[package]] name = "ref-cast" -version = "1.0.9" +version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed13bcd201494ab44900a96490291651d200730904221832b9547d24a87d332b" +checksum = "8c78fb8c9293bcd48ef6fce7b4ca950ceaf21210de6e105a883ee280c0f7b9ed" dependencies = [ "ref-cast-impl", ] [[package]] name = "ref-cast-impl" -version = "1.0.9" +version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5234cd6063258a5e32903b53b1b6ac043a0541c8adc1f610f67b0326c7a578fa" +checksum = "9f9c0c92af03644e4806106281fe2e068ac5bc0ae74a707266d06ea27bccee5f" dependencies = [ "proc-macro2", "quote", @@ -8200,9 +8273,9 @@ dependencies = [ [[package]] name = "regex" -version = "1.6.0" +version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c4eb3267174b8c6c2f654116623910a0fef09c4753f8dd83db29c48a0df988b" +checksum = "e076559ef8e241f2ae3479e36f97bd5741c0330689e217ad51ce2c76808b868a" dependencies = [ "aho-corasick", "memchr", @@ -8220,26 +8293,9 @@ dependencies = [ [[package]] name = "regex-syntax" -version = "0.6.27" +version = "0.6.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3f87b73ce11b1619a3c6332f45341e0047173771e8b8b73f87bfeefb7b56244" - -[[package]] -name = "remote-externalities" -version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" -dependencies = [ - "env_logger", - "log", - "parity-scale-codec", - "serde", - "serde_json", - "sp-core", - "sp-io", - "sp-runtime", - "sp-version", - "substrate-rpc-client", -] +checksum = "456c603be3e8d448b072f410900c09faf164fbce2d480456f50eea6e25f9c848" [[package]] name = "remove_dir_all" @@ -8262,12 +8318,12 @@ dependencies = [ [[package]] name = "rfc6979" -version = "0.1.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96ef608575f6392792f9ecf7890c00086591d29a83910939d430753f7c050525" +checksum = "7743f17af12fa0b03b803ba12cd6a8d9483a587e89c69445e3909655c0b9fabb" dependencies = [ "crypto-bigint", - "hmac 0.11.0", + "hmac 0.12.1", "zeroize", ] @@ -8298,11 +8354,10 @@ dependencies = [ [[package]] name = "rococo-runtime" -version = "0.9.32" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" +version = "0.9.36" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" dependencies = [ "beefy-merkle-tree", - "beefy-primitives", "frame-benchmarking", "frame-executive", "frame-support", @@ -8322,7 +8377,6 @@ dependencies = [ "pallet-collective", "pallet-democracy", "pallet-elections-phragmen", - "pallet-gilt", "pallet-grandpa", "pallet-identity", "pallet-im-online", @@ -8330,6 +8384,7 @@ dependencies = [ "pallet-membership", "pallet-mmr", "pallet-multisig", + "pallet-nis", "pallet-offences", "pallet-preimage", "pallet-proxy", @@ -8338,6 +8393,7 @@ dependencies = [ "pallet-session", "pallet-society", "pallet-staking", + "pallet-state-trie-migration", "pallet-sudo", "pallet-timestamp", "pallet-tips", @@ -8360,6 +8416,7 @@ dependencies = [ "smallvec", "sp-api", "sp-authority-discovery", + "sp-beefy", "sp-block-builder", "sp-consensus-babe", "sp-core", @@ -8382,8 +8439,8 @@ dependencies = [ [[package]] name = "rococo-runtime-constants" -version = "0.9.32" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" +version = "0.9.36" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" dependencies = [ "frame-support", "polkadot-primitives", @@ -8396,11 +8453,12 @@ dependencies = [ [[package]] name = "rpassword" -version = "7.1.0" +version = "7.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20c9f5d2a0c3e2ea729ab3706d22217177770654c3ef5056b68b69d07332d3f5" +checksum = "6678cf63ab3491898c0d021b493c94c9b221d91295294a2a5746eacbe5928322" dependencies = [ "libc", + "rtoolbox", "winapi", ] @@ -8419,6 +8477,16 @@ dependencies = [ "thiserror", ] +[[package]] +name = "rtoolbox" +version = "0.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "034e22c514f5c0cb8a10ff341b9b048b5ceb21591f31c8f44c43b960f9b3524a" +dependencies = [ + "libc", + "winapi", +] + [[package]] name = "runtime-common" version = "1.9.0-dev" @@ -8483,42 +8551,42 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" dependencies = [ - "semver 1.0.13", + "semver 1.0.16", ] [[package]] name = "rustix" -version = "0.35.9" +version = "0.35.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72c825b8aa8010eb9ee99b75f05e10180b9278d161583034d7574c9d617aeada" +checksum = "727a1a6d65f786ec22df8a81ca3121107f235970dc1705ed681d3e6e8b9cd5f9" dependencies = [ "bitflags", "errno", - "io-lifetimes 0.7.3", + "io-lifetimes 0.7.5", "libc", "linux-raw-sys 0.0.46", - "windows-sys 0.36.1", + "windows-sys 0.42.0", ] [[package]] name = "rustix" -version = "0.36.1" +version = "0.36.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "812a2ec2043c4d6bc6482f5be2ab8244613cac2493d128d36c0759e52a626ab3" +checksum = "4feacf7db682c6c329c4ede12649cd36ecab0f3be5b7d74e6a20304725db4549" dependencies = [ "bitflags", "errno", - "io-lifetimes 1.0.1", + "io-lifetimes 1.0.3", "libc", - "linux-raw-sys 0.1.2", + "linux-raw-sys 0.1.4", "windows-sys 0.42.0", ] [[package]] name = "rustls" -version = "0.20.6" +version = "0.20.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5aab8ee6c7097ed6057f43c187a62418d0c05a4bd5f18b3571db50ee0f9ce033" +checksum = "539a2bfe908f471bfa933876bd1eb6a19cf2176d375f82ef7f99530a40e48c2c" dependencies = [ "log", "ring", @@ -8549,9 +8617,9 @@ dependencies = [ [[package]] name = "rustversion" -version = "1.0.9" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97477e48b4cf8603ad5f7aaf897467cf42ab4218a38ef76fb14c2d6773a6d6a8" +checksum = "5583e89e108996506031660fe09baa5011b9dd0341b89029313006d1fb508d70" [[package]] name = "rw-stream-sink" @@ -8566,9 +8634,9 @@ dependencies = [ [[package]] name = "ryu" -version = "1.0.11" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4501abdff3ae82a1c1b477a17252eb69cee9e66eb915c1abaa4f44d873df9f09" +checksum = "7b4b9743ed687d4b4bcedf9ff5eaa7398495ae14e61cba0a295704edbc7decde" [[package]] name = "safe-mix" @@ -8591,7 +8659,7 @@ dependencies = [ [[package]] name = "sc-allocator" version = "4.1.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "log", "sp-core", @@ -8602,7 +8670,7 @@ dependencies = [ [[package]] name = "sc-authority-discovery" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "async-trait", "futures", @@ -8629,7 +8697,7 @@ dependencies = [ [[package]] name = "sc-basic-authorship" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "futures", "futures-timer", @@ -8652,7 +8720,7 @@ dependencies = [ [[package]] name = "sc-block-builder" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "parity-scale-codec", "sc-client-api", @@ -8668,10 +8736,10 @@ dependencies = [ [[package]] name = "sc-chain-spec" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "impl-trait-for-tuples", - "memmap2 0.5.7", + "memmap2", "parity-scale-codec", "sc-chain-spec-derive", "sc-network-common", @@ -8685,7 +8753,7 @@ dependencies = [ [[package]] name = "sc-chain-spec-derive" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -8696,9 +8764,9 @@ dependencies = [ [[package]] name = "sc-cli" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ - "array-bytes", + "array-bytes 4.2.0", "chrono", "clap", "fdlimit", @@ -8736,7 +8804,7 @@ dependencies = [ [[package]] name = "sc-client-api" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "fnv", "futures", @@ -8764,7 +8832,7 @@ dependencies = [ [[package]] name = "sc-client-db" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "hash-db", "kvdb", @@ -8789,13 +8857,14 @@ dependencies = [ [[package]] name = "sc-consensus" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "async-trait", "futures", "futures-timer", "libp2p", "log", + "mockall", "parking_lot 0.12.1", "sc-client-api", "sc-utils", @@ -8813,7 +8882,7 @@ dependencies = [ [[package]] name = "sc-consensus-aura" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "async-trait", "futures", @@ -8842,19 +8911,18 @@ dependencies = [ [[package]] name = "sc-consensus-babe" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "async-trait", "fork-tree", "futures", "log", "merlin", - "num-bigint 0.2.6", - "num-rational 0.2.4", + "num-bigint", + "num-rational", "num-traits", "parity-scale-codec", "parking_lot 0.12.1", - "rand 0.7.3", "sc-client-api", "sc-consensus", "sc-consensus-epochs", @@ -8884,7 +8952,7 @@ dependencies = [ [[package]] name = "sc-consensus-babe-rpc" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "futures", "jsonrpsee", @@ -8906,7 +8974,7 @@ dependencies = [ [[package]] name = "sc-consensus-epochs" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "fork-tree", "parity-scale-codec", @@ -8919,7 +8987,7 @@ dependencies = [ [[package]] name = "sc-consensus-slots" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "async-trait", "futures", @@ -8943,10 +9011,9 @@ dependencies = [ [[package]] name = "sc-executor" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ - "lazy_static", - "lru 0.7.8", + "lru", "parity-scale-codec", "parking_lot 0.12.1", "sc-executor-common", @@ -8954,12 +9021,10 @@ dependencies = [ "sc-executor-wasmtime", "sp-api", "sp-core", - "sp-core-hashing-proc-macro", "sp-externalities", "sp-io", "sp-panic-handler", "sp-runtime-interface", - "sp-tasks", "sp-trie", "sp-version", "sp-wasm-interface", @@ -8970,13 +9035,10 @@ dependencies = [ [[package]] name = "sc-executor-common" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ - "environmental", - "parity-scale-codec", "sc-allocator", "sp-maybe-compressed-blob", - "sp-sandbox", "sp-wasm-interface", "thiserror", "wasm-instrument", @@ -8986,14 +9048,12 @@ dependencies = [ [[package]] name = "sc-executor-wasmi" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "log", - "parity-scale-codec", "sc-allocator", "sc-executor-common", "sp-runtime-interface", - "sp-sandbox", "sp-wasm-interface", "wasmi", ] @@ -9001,19 +9061,16 @@ dependencies = [ [[package]] name = "sc-executor-wasmtime" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "libc", "log", "once_cell", - "parity-scale-codec", - "parity-wasm 0.45.0", - "rustix 0.35.9", + "rustix 0.35.13", "sc-allocator", "sc-executor-common", "sp-runtime-interface", - "sp-sandbox", "sp-wasm-interface", "wasmtime", ] @@ -9021,10 +9078,10 @@ dependencies = [ [[package]] name = "sc-finality-grandpa" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "ahash", - "array-bytes", + "array-bytes 4.2.0", "async-trait", "dyn-clone", "finality-grandpa", @@ -9062,7 +9119,7 @@ dependencies = [ [[package]] name = "sc-finality-grandpa-rpc" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "finality-grandpa", "futures", @@ -9083,13 +9140,12 @@ dependencies = [ [[package]] name = "sc-informant" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "ansi_term", "futures", "futures-timer", "log", - "parity-util-mem", "sc-client-api", "sc-network-common", "sc-transaction-pool-api", @@ -9100,9 +9156,9 @@ dependencies = [ [[package]] name = "sc-keystore" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ - "array-bytes", + "array-bytes 4.2.0", "async-trait", "parking_lot 0.12.1", "serde_json", @@ -9115,9 +9171,9 @@ dependencies = [ [[package]] name = "sc-network" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ - "array-bytes", + "array-bytes 4.2.0", "async-trait", "asynchronous-codec", "bitflags", @@ -9133,7 +9189,7 @@ dependencies = [ "linked-hash-map", "linked_hash_set", "log", - "lru 0.7.8", + "lru", "parity-scale-codec", "parking_lot 0.12.1", "pin-project", @@ -9162,7 +9218,7 @@ dependencies = [ [[package]] name = "sc-network-bitswap" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "cid", "futures", @@ -9182,7 +9238,7 @@ dependencies = [ [[package]] name = "sc-network-common" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "async-trait", "bitflags", @@ -9208,14 +9264,14 @@ dependencies = [ [[package]] name = "sc-network-gossip" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "ahash", "futures", "futures-timer", "libp2p", "log", - "lru 0.7.8", + "lru", "sc-network-common", "sc-peerset", "sp-runtime", @@ -9226,9 +9282,9 @@ dependencies = [ [[package]] name = "sc-network-light" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ - "array-bytes", + "array-bytes 4.2.0", "futures", "libp2p", "log", @@ -9247,14 +9303,15 @@ dependencies = [ [[package]] name = "sc-network-sync" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ - "array-bytes", + "array-bytes 4.2.0", + "async-trait", "fork-tree", "futures", "libp2p", "log", - "lru 0.7.8", + "lru", "mockall", "parity-scale-codec", "prost", @@ -9271,15 +9328,16 @@ dependencies = [ "sp-core", "sp-finality-grandpa", "sp-runtime", + "substrate-prometheus-endpoint", "thiserror", ] [[package]] name = "sc-network-transactions" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ - "array-bytes", + "array-bytes 4.2.0", "futures", "hex", "libp2p", @@ -9296,9 +9354,9 @@ dependencies = [ [[package]] name = "sc-offchain" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ - "array-bytes", + "array-bytes 4.2.0", "bytes", "fnv", "futures", @@ -9326,7 +9384,7 @@ dependencies = [ [[package]] name = "sc-peerset" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "futures", "libp2p", @@ -9339,7 +9397,7 @@ dependencies = [ [[package]] name = "sc-proposer-metrics" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "log", "substrate-prometheus-endpoint", @@ -9348,7 +9406,7 @@ dependencies = [ [[package]] name = "sc-rpc" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "futures", "hash-db", @@ -9378,7 +9436,7 @@ dependencies = [ [[package]] name = "sc-rpc-api" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "futures", "jsonrpsee", @@ -9401,20 +9459,23 @@ dependencies = [ [[package]] name = "sc-rpc-server" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "futures", + "http", "jsonrpsee", "log", "serde_json", "substrate-prometheus-endpoint", "tokio", + "tower", + "tower-http", ] [[package]] name = "sc-rpc-spec-v2" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "futures", "hex", @@ -9433,7 +9494,7 @@ dependencies = [ [[package]] name = "sc-service" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "async-trait", "directories", @@ -9444,7 +9505,6 @@ dependencies = [ "jsonrpsee", "log", "parity-scale-codec", - "parity-util-mem", "parking_lot 0.12.1", "pin-project", "rand 0.7.3", @@ -9504,12 +9564,10 @@ dependencies = [ [[package]] name = "sc-state-db" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "log", "parity-scale-codec", - "parity-util-mem", - "parity-util-mem-derive", "parking_lot 0.12.1", "sc-client-api", "sp-core", @@ -9518,7 +9576,7 @@ dependencies = [ [[package]] name = "sc-sync-state-rpc" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "jsonrpsee", "parity-scale-codec", @@ -9537,7 +9595,7 @@ dependencies = [ [[package]] name = "sc-sysinfo" version = "6.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "futures", "libc", @@ -9556,7 +9614,7 @@ dependencies = [ [[package]] name = "sc-telemetry" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "chrono", "futures", @@ -9574,7 +9632,7 @@ dependencies = [ [[package]] name = "sc-tracing" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "ansi_term", "atty", @@ -9605,7 +9663,7 @@ dependencies = [ [[package]] name = "sc-tracing-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -9616,7 +9674,7 @@ dependencies = [ [[package]] name = "sc-transaction-pool" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "async-trait", "futures", @@ -9624,7 +9682,6 @@ dependencies = [ "linked-hash-map", "log", "parity-scale-codec", - "parity-util-mem", "parking_lot 0.12.1", "sc-client-api", "sc-transaction-pool-api", @@ -9643,7 +9700,7 @@ dependencies = [ [[package]] name = "sc-transaction-pool-api" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "async-trait", "futures", @@ -9657,7 +9714,7 @@ dependencies = [ [[package]] name = "sc-utils" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "futures", "futures-timer", @@ -9669,12 +9726,12 @@ dependencies = [ [[package]] name = "scale-info" -version = "2.3.0" +version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88d8a765117b237ef233705cc2cc4c6a27fccd46eea6ef0c8c6dae5f3ef407f8" +checksum = "001cf62ece89779fd16105b5f515ad0e5cedcd5440d3dd806bb067978e7c3608" dependencies = [ "bitvec", - "cfg-if 1.0.0", + "cfg-if", "derive_more", "parity-scale-codec", "scale-info-derive", @@ -9683,9 +9740,9 @@ dependencies = [ [[package]] name = "scale-info-derive" -version = "2.3.0" +version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cdcd47b380d8c4541044e341dcd9475f55ba37ddc50c908d945fc036a8642496" +checksum = "303959cf613a6f6efd19ed4b4ad5bf79966a13352716299ad532cfb115f4205c" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -9727,6 +9784,12 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" +[[package]] +name = "scratch" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ddccb15bcce173023b3fedd9436f882a0739b8dfb45e4f6b6002bee5929f61b2" + [[package]] name = "sct" version = "0.7.0" @@ -9739,10 +9802,11 @@ dependencies = [ [[package]] name = "sec1" -version = "0.2.1" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08da66b8b0965a5555b6bd6639e68ccba85e1e2506f5fbb089e93f8a04e1a2d1" +checksum = "3be24c1842290c45df0a7bf069e0c268a747ad05a192f2fd7dcfdbc1cba40928" dependencies = [ + "base16ct", "der", "generic-array 0.14.6", "pkcs8", @@ -9752,18 +9816,18 @@ dependencies = [ [[package]] name = "secp256k1" -version = "0.24.0" +version = "0.24.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7649a0b3ffb32636e60c7ce0d70511eda9c52c658cd0634e194d5a19943aeff" +checksum = "d9512ffd81e3a3503ed401f79c33168b9148c75038956039166cd750eaa037c3" dependencies = [ "secp256k1-sys", ] [[package]] name = "secp256k1-sys" -version = "0.6.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7058dc8eaf3f2810d7828680320acda0b25a288f6d288e19278e249bbf74226b" +checksum = "83080e2c2fc1006e625be82e5d1eb6a43b7fd9578b617fcc55814daf286bba4b" dependencies = [ "cc", ] @@ -9820,9 +9884,9 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.13" +version = "1.0.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93f6841e709003d68bb2deee8c343572bf446003ec20a583e76f7b15cebf3711" +checksum = "58bc9567378fc7690d6b2addae4e60ac2eeea07becb2c64b9f218b53865cba2a" dependencies = [ "serde", ] @@ -9835,18 +9899,18 @@ checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" [[package]] name = "serde" -version = "1.0.144" +version = "1.0.152" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f747710de3dcd43b88c9168773254e809d8ddbdf9653b84e2554ab219f17860" +checksum = "bb7d1f0d3021d347a83e556fc4683dea2ea09d87bccdf88ff5c12545d89d5efb" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.144" +version = "1.0.152" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94ed3a816fb1d101812f83e789f888322c34e291f894f19590dc310963e87a00" +checksum = "af487d118eecd09402d70a5d72551860e788df87b464af30e5ea6a38c75c541e" dependencies = [ "proc-macro2", "quote", @@ -9855,11 +9919,11 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.85" +version = "1.0.91" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e55a28e3aaef9d5ce0506d0a14dbba8054ddc7e499ef522dd8b26859ec9d4a44" +checksum = "877c235533714907a8c2464236f5c4b2a17262ef1bd71f38f35ea592c8da6883" dependencies = [ - "itoa 1.0.3", + "itoa", "ryu", "serde", ] @@ -9880,21 +9944,21 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "99cd6713db3cf16b6c84e06321e049a9b9f699826e16096d23bbcc44d15d51a6" dependencies = [ "block-buffer 0.9.0", - "cfg-if 1.0.0", + "cfg-if", "cpufeatures", "digest 0.9.0", "opaque-debug 0.3.0", ] [[package]] -name = "sha-1" -version = "0.10.0" +name = "sha1" +version = "0.10.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "028f48d513f9678cda28f6e4064755b3fbb2af6acd672f2c209b62323f7aea0f" +checksum = "f04293dc80c3993519f2d7f6f511707ee7094fe0c6d3406feb330cdb3540eba3" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "cpufeatures", - "digest 0.10.3", + "digest 0.10.6", ] [[package]] @@ -9916,7 +9980,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4d58a1e1bf39749807d89cf2d98ac2dfa0ff1cb3faa38fbb64dd88ac8013d800" dependencies = [ "block-buffer 0.9.0", - "cfg-if 1.0.0", + "cfg-if", "cpufeatures", "digest 0.9.0", "opaque-debug 0.3.0", @@ -9924,22 +9988,22 @@ dependencies = [ [[package]] name = "sha2" -version = "0.10.2" +version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55deaec60f81eefe3cce0dc50bda92d6d8e88f2a27df7c5033b42afeb1ed2676" +checksum = "82e6b795fe2e3b1e845bafcb27aa35405c4d47cdfc92af5fc8d3002f76cebdc0" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "cpufeatures", - "digest 0.10.3", + "digest 0.10.6", ] [[package]] name = "sha3" -version = "0.10.2" +version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a31480366ec990f395a61b7c08122d99bd40544fdb5abcfc1b06bb29994312c" +checksum = "bdf0c33fae925bdc080598b84bc15c55e7b9a4a43b3c704da051f977469691c9" dependencies = [ - "digest 0.10.3", + "digest 0.10.6", "keccak", ] @@ -9979,12 +10043,12 @@ dependencies = [ [[package]] name = "signature" -version = "1.4.0" +version = "1.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02658e48d89f2bec991f9a78e69cfa4c316f8d6a6c4ec12fae1aeb263d486788" +checksum = "74233d3b3b2f6d4b006dc19dee745e73e2a6bfb6f93607cd3b02bd5b00797d7c" dependencies = [ - "digest 0.9.0", - "rand_core 0.6.3", + "digest 0.10.6", + "rand_core 0.6.4", ] [[package]] @@ -10016,8 +10080,8 @@ checksum = "03b634d87b960ab1a38c4fe143b508576f075e7c978bfad18217645ebfdfa2ec" [[package]] name = "slot-range-helper" -version = "0.9.32" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" +version = "0.9.36" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" dependencies = [ "enumn", "parity-scale-codec", @@ -10037,15 +10101,15 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.9.0" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2fd0db749597d91ff862fd1d55ea87f7855a744a8425a64695b6fca237d1dad1" +checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0" [[package]] name = "snap" -version = "1.0.5" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "45456094d1983e2ee2a18fdfebce3189fa451699d0502cb8e3b49dba5ba41451" +checksum = "5e9f0ab6ef7eb7353d9119c170a436d1bf248eea575ac42d19d12f4e34130831" [[package]] name = "snow" @@ -10056,19 +10120,19 @@ dependencies = [ "aes-gcm", "blake2", "chacha20poly1305", - "curve25519-dalek 4.0.0-pre.1", - "rand_core 0.6.3", + "curve25519-dalek 4.0.0-pre.5", + "rand_core 0.6.4", "ring", "rustc_version 0.4.0", - "sha2 0.10.2", + "sha2 0.10.6", "subtle", ] [[package]] name = "socket2" -version = "0.4.4" +version = "0.4.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "66d72b759436ae32898a2af0a14218dbf55efde3feeb170eb623637db85ee1e0" +checksum = "02e2d2db9033d13a1567121ddd7a095ee144db4e1ca1b1bda3419bc0da294ebd" dependencies = [ "libc", "winapi", @@ -10084,16 +10148,17 @@ dependencies = [ "bytes", "flate2", "futures", + "http", "httparse", "log", "rand 0.8.5", - "sha-1 0.9.8", + "sha-1", ] [[package]] name = "sp-api" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "hash-db", "log", @@ -10111,7 +10176,7 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "blake2", "proc-macro-crate", @@ -10122,8 +10187,8 @@ dependencies = [ [[package]] name = "sp-application-crypto" -version = "6.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +version = "7.0.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "parity-scale-codec", "scale-info", @@ -10135,8 +10200,8 @@ dependencies = [ [[package]] name = "sp-arithmetic" -version = "5.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +version = "6.0.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "integer-sqrt", "num-traits", @@ -10151,7 +10216,7 @@ dependencies = [ [[package]] name = "sp-authority-discovery" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "parity-scale-codec", "scale-info", @@ -10164,7 +10229,7 @@ dependencies = [ [[package]] name = "sp-authorship" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "async-trait", "parity-scale-codec", @@ -10173,10 +10238,27 @@ dependencies = [ "sp-std", ] +[[package]] +name = "sp-beefy" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +dependencies = [ + "parity-scale-codec", + "scale-info", + "serde", + "sp-api", + "sp-application-crypto", + "sp-core", + "sp-io", + "sp-mmr-primitives", + "sp-runtime", + "sp-std", +] + [[package]] name = "sp-block-builder" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "parity-scale-codec", "sp-api", @@ -10188,11 +10270,11 @@ dependencies = [ [[package]] name = "sp-blockchain" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "futures", "log", - "lru 0.7.8", + "lru", "parity-scale-codec", "parking_lot 0.12.1", "sp-api", @@ -10206,7 +10288,7 @@ dependencies = [ [[package]] name = "sp-consensus" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "async-trait", "futures", @@ -10225,7 +10307,7 @@ dependencies = [ [[package]] name = "sp-consensus-aura" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "async-trait", "parity-scale-codec", @@ -10243,7 +10325,7 @@ dependencies = [ [[package]] name = "sp-consensus-babe" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "async-trait", "merlin", @@ -10266,7 +10348,7 @@ dependencies = [ [[package]] name = "sp-consensus-slots" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "parity-scale-codec", "scale-info", @@ -10280,7 +10362,7 @@ dependencies = [ [[package]] name = "sp-consensus-vrf" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "parity-scale-codec", "scale-info", @@ -10292,10 +10374,10 @@ dependencies = [ [[package]] name = "sp-core" -version = "6.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +version = "7.0.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ - "array-bytes", + "array-bytes 4.2.0", "base58", "bitflags", "blake2", @@ -10312,7 +10394,6 @@ dependencies = [ "merlin", "num-traits", "parity-scale-codec", - "parity-util-mem", "parking_lot 0.12.1", "primitive-types", "rand 0.7.3", @@ -10338,13 +10419,13 @@ dependencies = [ [[package]] name = "sp-core-hashing" -version = "4.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +version = "5.0.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "blake2", "byteorder", - "digest 0.10.3", - "sha2 0.10.2", + "digest 0.10.6", + "sha2 0.10.6", "sha3", "sp-std", "twox-hash", @@ -10353,7 +10434,7 @@ dependencies = [ [[package]] name = "sp-core-hashing-proc-macro" version = "5.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "proc-macro2", "quote", @@ -10364,7 +10445,7 @@ dependencies = [ [[package]] name = "sp-database" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "kvdb", "parking_lot 0.12.1", @@ -10372,8 +10453,8 @@ dependencies = [ [[package]] name = "sp-debug-derive" -version = "4.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +version = "5.0.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "proc-macro2", "quote", @@ -10382,8 +10463,8 @@ dependencies = [ [[package]] name = "sp-externalities" -version = "0.12.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +version = "0.13.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "environmental", "parity-scale-codec", @@ -10394,7 +10475,7 @@ dependencies = [ [[package]] name = "sp-finality-grandpa" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "finality-grandpa", "log", @@ -10412,7 +10493,7 @@ dependencies = [ [[package]] name = "sp-inherents" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "async-trait", "impl-trait-for-tuples", @@ -10425,10 +10506,11 @@ dependencies = [ [[package]] name = "sp-io" -version = "6.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +version = "7.0.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "bytes", + "ed25519-dalek", "futures", "hash-db", "libsecp256k1", @@ -10451,8 +10533,8 @@ dependencies = [ [[package]] name = "sp-keyring" -version = "6.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +version = "7.0.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "lazy_static", "sp-core", @@ -10462,8 +10544,8 @@ dependencies = [ [[package]] name = "sp-keystore" -version = "0.12.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +version = "0.13.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "async-trait", "futures", @@ -10480,7 +10562,7 @@ dependencies = [ [[package]] name = "sp-maybe-compressed-blob" version = "4.1.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "thiserror", "zstd", @@ -10489,8 +10571,9 @@ dependencies = [ [[package]] name = "sp-mmr-primitives" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ + "ckb-merkle-mountain-range", "log", "parity-scale-codec", "scale-info", @@ -10500,12 +10583,13 @@ dependencies = [ "sp-debug-derive", "sp-runtime", "sp-std", + "thiserror", ] [[package]] name = "sp-npos-elections" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "parity-scale-codec", "scale-info", @@ -10519,7 +10603,7 @@ dependencies = [ [[package]] name = "sp-offchain" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "sp-api", "sp-core", @@ -10528,8 +10612,8 @@ dependencies = [ [[package]] name = "sp-panic-handler" -version = "4.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +version = "5.0.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "backtrace", "lazy_static", @@ -10539,7 +10623,7 @@ dependencies = [ [[package]] name = "sp-rpc" version = "6.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "rustc-hash", "serde", @@ -10548,15 +10632,14 @@ dependencies = [ [[package]] name = "sp-runtime" -version = "6.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +version = "7.0.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "either", "hash256-std-hasher", "impl-trait-for-tuples", "log", "parity-scale-codec", - "parity-util-mem", "paste", "rand 0.7.3", "scale-info", @@ -10571,8 +10654,8 @@ dependencies = [ [[package]] name = "sp-runtime-interface" -version = "6.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +version = "7.0.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "bytes", "impl-trait-for-tuples", @@ -10589,8 +10672,8 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" -version = "5.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +version = "6.0.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "Inflector", "proc-macro-crate", @@ -10599,24 +10682,10 @@ dependencies = [ "syn", ] -[[package]] -name = "sp-sandbox" -version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" -dependencies = [ - "log", - "parity-scale-codec", - "sp-core", - "sp-io", - "sp-std", - "sp-wasm-interface", - "wasmi", -] - [[package]] name = "sp-session" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "parity-scale-codec", "scale-info", @@ -10630,18 +10699,19 @@ dependencies = [ [[package]] name = "sp-staking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "parity-scale-codec", "scale-info", + "sp-core", "sp-runtime", "sp-std", ] [[package]] name = "sp-state-machine" -version = "0.12.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +version = "0.13.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "hash-db", "log", @@ -10662,13 +10732,13 @@ dependencies = [ [[package]] name = "sp-std" -version = "4.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +version = "5.0.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" [[package]] name = "sp-storage" -version = "6.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +version = "7.0.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "impl-serde", "parity-scale-codec", @@ -10678,23 +10748,10 @@ dependencies = [ "sp-std", ] -[[package]] -name = "sp-tasks" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" -dependencies = [ - "log", - "sp-core", - "sp-externalities", - "sp-io", - "sp-runtime-interface", - "sp-std", -] - [[package]] name = "sp-timestamp" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "async-trait", "futures-timer", @@ -10709,8 +10766,8 @@ dependencies = [ [[package]] name = "sp-tracing" -version = "5.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +version = "6.0.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "parity-scale-codec", "sp-std", @@ -10722,7 +10779,7 @@ dependencies = [ [[package]] name = "sp-transaction-pool" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "sp-api", "sp-runtime", @@ -10731,7 +10788,7 @@ dependencies = [ [[package]] name = "sp-transaction-storage-proof" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "async-trait", "log", @@ -10746,14 +10803,14 @@ dependencies = [ [[package]] name = "sp-trie" -version = "6.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +version = "7.0.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "ahash", "hash-db", "hashbrown", "lazy_static", - "lru 0.7.8", + "lru", "memory-db", "nohash-hasher", "parity-scale-codec", @@ -10770,11 +10827,11 @@ dependencies = [ [[package]] name = "sp-version" version = "5.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "impl-serde", "parity-scale-codec", - "parity-wasm 0.45.0", + "parity-wasm", "scale-info", "serde", "sp-core-hashing-proc-macro", @@ -10787,7 +10844,7 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "parity-scale-codec", "proc-macro2", @@ -10797,8 +10854,8 @@ dependencies = [ [[package]] name = "sp-wasm-interface" -version = "6.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +version = "7.0.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "impl-trait-for-tuples", "log", @@ -10811,7 +10868,7 @@ dependencies = [ [[package]] name = "sp-weights" version = "4.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", @@ -10908,9 +10965,9 @@ dependencies = [ [[package]] name = "spki" -version = "0.5.4" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44d01ac02a6ccf3e07db148d2be087da624fea0221a16152ed01f0496a6b0a27" +checksum = "67cf02bbac7a337dc36e4f5a693db6c21e7863f45070f7064577eb4367a3212b" dependencies = [ "base64ct", "der", @@ -10918,9 +10975,9 @@ dependencies = [ [[package]] name = "ss58-registry" -version = "1.31.0" +version = "1.36.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1de151faef619cb7b5c26b32d42bc7ddccac0d202beb7a84344b44e9232b92f7" +checksum = "23d92659e7d18d82b803824a9ba5a6022cff101c3491d027c1c1d8d30e749284" dependencies = [ "Inflector", "num-format", @@ -10965,7 +11022,7 @@ dependencies = [ "cfg_aliases", "libc", "parking_lot 0.11.2", - "parking_lot_core 0.8.5", + "parking_lot_core 0.8.6", "static_init_macro 1.0.2", "winapi", ] @@ -11053,15 +11110,15 @@ dependencies = [ [[package]] name = "substrate-build-script-utils" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ - "platforms", + "platforms 2.0.0", ] [[package]] name = "substrate-frame-rpc-system" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "frame-system-rpc-runtime-api", "futures", @@ -11082,7 +11139,7 @@ dependencies = [ [[package]] name = "substrate-prometheus-endpoint" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "futures-util", "hyper", @@ -11095,7 +11152,7 @@ dependencies = [ [[package]] name = "substrate-rpc-client" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "async-trait", "jsonrpsee", @@ -11108,7 +11165,7 @@ dependencies = [ [[package]] name = "substrate-state-trie-migration-rpc" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "jsonrpsee", "log", @@ -11129,7 +11186,7 @@ dependencies = [ [[package]] name = "substrate-wasm-builder" version = "5.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "ansi_term", "build-helper", @@ -11140,7 +11197,7 @@ dependencies = [ "tempfile", "toml", "walkdir", - "wasm-gc-api", + "wasm-opt", ] [[package]] @@ -11151,9 +11208,9 @@ checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601" [[package]] name = "syn" -version = "1.0.103" +version = "1.0.107" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a864042229133ada95abf3b54fdc62ef5ccabe9515b64717bcb9a1919e59445d" +checksum = "1f4064b5b16e03ae50984a5a8ed5d4f8803e6bc1fd170a3cda91a1be4b18e3f5" dependencies = [ "proc-macro2", "quote", @@ -11201,9 +11258,9 @@ checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" [[package]] name = "target-lexicon" -version = "0.12.4" +version = "0.12.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c02424087780c9b71cc96799eaeddff35af2bc513278cda5c99fc1f5d026d3c1" +checksum = "9410d0f6853b1d94f0e519fb95df60f29d2c1eff2d921ffdf01a4c8a3b54f12d" [[package]] name = "tempfile" @@ -11211,7 +11268,7 @@ version = "3.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5cdb1ef4eaeeaddc8fbd371e5017057064af0911902ef36b39801f67cc6d79e4" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "fastrand", "libc", "redox_syscall", @@ -11236,18 +11293,18 @@ checksum = "95059e91184749cb66be6dc994f67f182b6d897cb3df74a5bf66b5e709295fd8" [[package]] name = "thiserror" -version = "1.0.37" +version = "1.0.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10deb33631e3c9018b9baf9dcbbc4f737320d2b576bac10f6aefa048fa407e3e" +checksum = "6a9cd18aa97d5c45c6603caea1da6628790b37f7a34b6ca89522331c5180fed0" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.37" +version = "1.0.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "982d17546b47146b28f7c22e3d08465f6b8903d0ea13c1660d9d84a6e7adcdbb" +checksum = "1fb327af4685e4d03fa8cbcf1716380da910eeb2bb8be417e7f9fd3fb164f36f" dependencies = [ "proc-macro2", "quote", @@ -11291,6 +11348,17 @@ dependencies = [ "threadpool", ] +[[package]] +name = "tikv-jemalloc-ctl" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e37706572f4b151dff7a0146e040804e9c26fe3a3118591112f05cf12a4216c1" +dependencies = [ + "libc", + "paste", + "tikv-jemalloc-sys", +] + [[package]] name = "tikv-jemalloc-sys" version = "0.5.2+5.3.0-patched" @@ -11304,9 +11372,9 @@ dependencies = [ [[package]] name = "time" -version = "0.1.44" +version = "0.1.45" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6db9e6914ab8b1ae1c260a4ae7a49b6c5611b40328a735b21862567685e73255" +checksum = "1b797afad3f312d1c66a56d11d0316f916356d11bd158fbc6ca6389ff6bf805a" dependencies = [ "libc", "wasi 0.10.0+wasi-snapshot-preview1", @@ -11349,9 +11417,9 @@ checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c" [[package]] name = "tokio" -version = "1.21.2" +version = "1.24.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9e03c497dc955702ba729190dc4aac6f2a0ce97f913e5b1b5912fc5039d9099" +checksum = "7125661431c26622a80ca5051a2f936c9a678318e0351007b0cc313143024e5c" dependencies = [ "autocfg", "bytes", @@ -11364,14 +11432,14 @@ dependencies = [ "signal-hook-registry", "socket2", "tokio-macros", - "winapi", + "windows-sys 0.42.0", ] [[package]] name = "tokio-macros" -version = "1.8.0" +version = "1.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9724f9a975fb987ef7a3cd9be0350edcbe130698af5b8f7a631e23d42d052484" +checksum = "d266c00fde287f55d3f1c3e96c500c362a2b8c695076ec180f27918820bc6df8" dependencies = [ "proc-macro2", "quote", @@ -11391,9 +11459,9 @@ dependencies = [ [[package]] name = "tokio-stream" -version = "0.1.9" +version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df54d54117d6fdc4e4fea40fe1e4e566b3505700e148a6827e59b34b0d2600d9" +checksum = "d660770404473ccd7bc9f8b28494a811bc18542b915c0855c51e8f419d5223ce" dependencies = [ "futures-core", "pin-project-lite 0.2.9", @@ -11402,9 +11470,9 @@ dependencies = [ [[package]] name = "tokio-util" -version = "0.7.3" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc463cd8deddc3770d20f9852143d50bf6094e640b485cb2e189a2099085ff45" +checksum = "0bb2e075f03b3d66d8d8785356224ba688d2906a371015e225beeb65ca92c740" dependencies = [ "bytes", "futures-core", @@ -11417,13 +11485,48 @@ dependencies = [ [[package]] name = "toml" -version = "0.5.9" +version = "0.5.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d82e1a7758622a465f8cee077614c73484dac5b836c02ff6a40d5d1010324d7" +checksum = "1333c76748e868a4d9d1017b5ab53171dfd095f70c712fdb4653a406547f598f" dependencies = [ "serde", ] +[[package]] +name = "tower" +version = "0.4.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c" +dependencies = [ + "tower-layer", + "tower-service", + "tracing", +] + +[[package]] +name = "tower-http" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f873044bf02dd1e8239e9c1293ea39dad76dc594ec16185d0a1bf31d8dc8d858" +dependencies = [ + "bitflags", + "bytes", + "futures-core", + "futures-util", + "http", + "http-body", + "http-range-header", + "pin-project-lite 0.2.9", + "tower-layer", + "tower-service", +] + +[[package]] +name = "tower-layer" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c20c8dbed6283a09604c3e69b4b7eeb54e298b8a600d4d5ecb5ad39de609f1d0" + [[package]] name = "tower-service" version = "0.3.2" @@ -11436,7 +11539,8 @@ version = "0.1.37" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", + "log", "pin-project-lite 0.2.9", "tracing-attributes", "tracing-core", @@ -11475,8 +11579,8 @@ dependencies = [ [[package]] name = "tracing-gum" -version = "0.9.32" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" +version = "0.9.36" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" dependencies = [ "polkadot-node-jaeger", "polkadot-primitives", @@ -11486,8 +11590,8 @@ dependencies = [ [[package]] name = "tracing-gum-proc-macro" -version = "0.9.32" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" +version = "0.9.36" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" dependencies = [ "expander 0.0.6", "proc-macro-crate", @@ -11569,7 +11673,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4f7f83d1e4a0e4358ac54c5c3681e5d7da5efc5a7a632c90bb6d6669ddd9bc26" dependencies = [ "async-trait", - "cfg-if 1.0.0", + "cfg-if", "data-encoding", "enum-as-inner", "futures-channel", @@ -11582,6 +11686,7 @@ dependencies = [ "smallvec", "thiserror", "tinyvec", + "tokio", "tracing", "url", ] @@ -11592,7 +11697,7 @@ version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "aff21aa4dcefb0a1afbfac26deb0adc93888c7d295fb63ab273ef276ba2b7cfe" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "futures-util", "ipconfig", "lazy_static", @@ -11601,6 +11706,7 @@ dependencies = [ "resolv-conf", "smallvec", "thiserror", + "tokio", "tracing", "trust-dns-proto", ] @@ -11614,22 +11720,26 @@ checksum = "59547bce71d9c38b83d9c0e92b6066c4253371f15005def0c30d9657f50c7642" [[package]] name = "try-runtime-cli" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.32#5ea6d95309aaccfa399c5f72e5a14a4b7c6c4ca1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" dependencies = [ "clap", + "frame-remote-externalities", "frame-try-runtime", + "hex", "log", "parity-scale-codec", - "remote-externalities", "sc-chain-spec", "sc-cli", "sc-executor", "sc-service", "serde", + "sp-api", "sp-core", + "sp-debug-derive", "sp-externalities", "sp-io", "sp-keystore", + "sp-rpc", "sp-runtime", "sp-state-machine", "sp-version", @@ -11640,9 +11750,9 @@ dependencies = [ [[package]] name = "tt-call" -version = "1.0.8" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e66dcbec4290c69dd03c57e76c2469ea5c7ce109c6dd4351c13055cf71ea055" +checksum = "f4f195fd851901624eee5a58c4bb2b4f06399148fcd0ed336e6f1cb60a9881df" [[package]] name = "twox-hash" @@ -11650,29 +11760,29 @@ version = "1.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675" dependencies = [ - "cfg-if 1.0.0", - "digest 0.10.3", + "cfg-if", + "digest 0.10.6", "rand 0.8.5", "static_assertions", ] [[package]] name = "typenum" -version = "1.15.0" +version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcf81ac59edc17cc8697ff311e8f5ef2d99fcbd9817b34cec66f90b6c3dfd987" +checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba" [[package]] name = "ucd-trie" -version = "0.1.4" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89570599c4fe5585de2b388aab47e99f7fa4e9238a1399f707a02e356058141c" +checksum = "9e79c4d996edb816c91e4308506774452e55e95c3c9de07b6729e17e15a5ef81" [[package]] name = "uint" -version = "0.9.3" +version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12f03af7ccf01dd611cc450a0d10dbc9b745770d096473e2faf0ca6e2d66d1e0" +checksum = "76f64bba2c53b04fcab63c01a7d7427eadc821e3bc48c34dc9ba29c501164b52" dependencies = [ "byteorder", "crunchy", @@ -11680,15 +11790,6 @@ dependencies = [ "static_assertions", ] -[[package]] -name = "unicase" -version = "2.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50f37be617794602aabbeee0be4f259dc1778fabe05e2d67ee8f79326d5cb4f6" -dependencies = [ - "version_check", -] - [[package]] name = "unicode-bidi" version = "0.3.8" @@ -11697,30 +11798,30 @@ checksum = "099b7128301d285f79ddd55b9a83d5e6b9e97c92e0ea0daebee7263e932de992" [[package]] name = "unicode-ident" -version = "1.0.3" +version = "1.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4f5b37a154999a8f3f98cc23a628d850e154479cd94decf3414696e12e31aaf" +checksum = "84a22b9f218b40614adcb3f4ff08b703773ad44fa9423e4e0d346d5db86e4ebc" [[package]] name = "unicode-normalization" -version = "0.1.21" +version = "0.1.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "854cbdc4f7bc6ae19c820d44abdc3277ac3e1b2b93db20a636825d9322fb60e6" +checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921" dependencies = [ "tinyvec", ] [[package]] name = "unicode-width" -version = "0.1.9" +version = "0.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ed742d4ea2bd1176e236172c8429aaf54486e7ac098db29ffe6529e0ce50973" +checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b" [[package]] name = "unicode-xid" -version = "0.2.3" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "957e51f3646910546462e67d5f7599b9e4fb8acdd304b087a6494730f9eebf04" +checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c" [[package]] name = "universal-hash" @@ -11842,19 +11943,19 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.82" +version = "0.2.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc7652e3f6c4706c8d9cd54832c4a4ccb9b5336e2c3bd154d5cccfbf1c1f5f7d" +checksum = "eaf9f5aceeec8be17c128b2e93e031fb8a4d469bb9c4ae2d7dc1888b26887268" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "wasm-bindgen-macro", ] [[package]] name = "wasm-bindgen-backend" -version = "0.2.82" +version = "0.2.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "662cd44805586bd52971b9586b1df85cdbbd9112e4ef4d8f41559c334dc6ac3f" +checksum = "4c8ffb332579b0557b52d268b91feab8df3615f265d5270fec2a8c95b17c1142" dependencies = [ "bumpalo", "log", @@ -11867,11 +11968,11 @@ dependencies = [ [[package]] name = "wasm-bindgen-futures" -version = "0.4.32" +version = "0.4.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa76fb221a1f8acddf5b54ace85912606980ad661ac7a503b4570ffd3a624dad" +checksum = "23639446165ca5a5de86ae1d8896b737ae80319560fbaa4c2887b7da6e7ebd7d" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "js-sys", "wasm-bindgen", "web-sys", @@ -11879,9 +11980,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.82" +version = "0.2.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b260f13d3012071dfb1512849c033b1925038373aea48ced3012c09df952c602" +checksum = "052be0f94026e6cbc75cdefc9bae13fd6052cdcaf532fa6c45e7ae33a1e6c810" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -11889,9 +11990,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.82" +version = "0.2.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5be8e654bdd9b79216c2929ab90721aa82faf65c48cdf08bdc4e7f51357b80da" +checksum = "07bc0c051dc5f23e307b13285f9d75df86bfdf816c5721e573dec1f9b8aa193c" dependencies = [ "proc-macro2", "quote", @@ -11902,28 +12003,58 @@ dependencies = [ [[package]] name = "wasm-bindgen-shared" -version = "0.2.82" +version = "0.2.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6598dd0bd3c7d51095ff6531a5b23e02acdc81804e30d8f07afb77b7215a140a" +checksum = "1c38c045535d93ec4f0b4defec448e4291638ee608530863b1e2ba115d4fff7f" [[package]] -name = "wasm-gc-api" -version = "0.1.11" +name = "wasm-instrument" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0c32691b6c7e6c14e7f8fd55361a9088b507aa49620fcd06c09b3a1082186b9" +checksum = "aa1dafb3e60065305741e83db35c6c2584bb3725b692b5b66148a38d72ace6cd" dependencies = [ - "log", - "parity-wasm 0.32.0", - "rustc-demangle", + "parity-wasm", ] [[package]] -name = "wasm-instrument" -version = "0.3.0" +name = "wasm-opt" +version = "0.110.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa1dafb3e60065305741e83db35c6c2584bb3725b692b5b66148a38d72ace6cd" +checksum = "b68e8037b4daf711393f4be2056246d12d975651b14d581520ad5d1f19219cec" +dependencies = [ + "anyhow", + "libc", + "strum", + "strum_macros", + "tempfile", + "thiserror", + "wasm-opt-cxx-sys", + "wasm-opt-sys", +] + +[[package]] +name = "wasm-opt-cxx-sys" +version = "0.110.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91adbad477e97bba3fbd21dd7bfb594e7ad5ceb9169ab1c93ab9cb0ada636b6f" +dependencies = [ + "anyhow", + "cxx", + "cxx-build", + "wasm-opt-sys", +] + +[[package]] +name = "wasm-opt-sys" +version = "0.110.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec4fa5a322a4e6ac22fd141f498d56afbdbf9df5debeac32380d2dcaa3e06941" dependencies = [ - "parity-wasm 0.45.0", + "anyhow", + "cc", + "cxx", + "cxx-build", + "regex", ] [[package]] @@ -11947,7 +12078,7 @@ version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "06c326c93fbf86419608361a2c925a31754cf109da1b8b55737070b4d6669422" dependencies = [ - "parity-wasm 0.45.0", + "parity-wasm", "wasmi-validation", "wasmi_core", ] @@ -11958,7 +12089,7 @@ version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "91ff416ad1ff0c42e5a926ed5d5fab74c0f098749aa0ad8b2a34b982ce0e867b" dependencies = [ - "parity-wasm 0.45.0", + "parity-wasm", ] [[package]] @@ -11968,9 +12099,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "57d20cb3c59b788653d99541c646c561c9dd26506f25c0cebfe810659c54c6d7" dependencies = [ "downcast-rs", - "libm", + "libm 0.2.6", "memory_units", - "num-rational 0.4.1", + "num-rational", "num-traits", ] @@ -11991,11 +12122,11 @@ checksum = "4ad5af6ba38311282f2a21670d96e78266e8c8e2f38cbcd52c254df6ccbc7731" dependencies = [ "anyhow", "bincode", - "cfg-if 1.0.0", + "cfg-if", "indexmap", "libc", "log", - "object", + "object 0.29.0", "once_cell", "paste", "psm", @@ -12017,7 +12148,7 @@ version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "45de63ddfc8b9223d1adc8f7b2ee5f35d1f6d112833934ad7ea66e4f4339e597" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", ] [[package]] @@ -12032,7 +12163,7 @@ dependencies = [ "directories-next", "file-per-thread-logger", "log", - "rustix 0.35.9", + "rustix 0.35.13", "serde", "sha2 0.9.9", "toml", @@ -12052,9 +12183,9 @@ dependencies = [ "cranelift-frontend", "cranelift-native", "cranelift-wasm", - "gimli", + "gimli 0.26.2", "log", - "object", + "object 0.29.0", "target-lexicon", "thiserror", "wasmparser", @@ -12069,10 +12200,10 @@ checksum = "ebb881c61f4f627b5d45c54e629724974f8a8890d455bcbe634330cc27309644" dependencies = [ "anyhow", "cranelift-entity", - "gimli", + "gimli 0.26.2", "indexmap", "log", - "object", + "object 0.29.0", "serde", "target-lexicon", "thiserror", @@ -12086,16 +12217,16 @@ version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1985c628011fe26adf5e23a5301bdc79b245e0e338f14bb58b39e4e25e4d8681" dependencies = [ - "addr2line", + "addr2line 0.17.0", "anyhow", "bincode", - "cfg-if 1.0.0", + "cfg-if", "cpp_demangle", - "gimli", + "gimli 0.26.2", "log", - "object", + "object 0.29.0", "rustc-demangle", - "rustix 0.35.9", + "rustix 0.35.13", "serde", "target-lexicon", "thiserror", @@ -12111,9 +12242,9 @@ version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f671b588486f5ccec8c5a3dba6b4c07eac2e66ab8c60e6f4e53717c77f709731" dependencies = [ - "object", + "object 0.29.0", "once_cell", - "rustix 0.35.9", + "rustix 0.35.13", ] [[package]] @@ -12124,16 +12255,16 @@ checksum = "ee8f92ad4b61736339c29361da85769ebc200f184361959d1792832e592a1afd" dependencies = [ "anyhow", "cc", - "cfg-if 1.0.0", + "cfg-if", "indexmap", "libc", "log", "mach", "memfd", - "memoffset", + "memoffset 0.6.5", "paste", "rand 0.8.5", - "rustix 0.35.9", + "rustix 0.35.13", "thiserror", "wasmtime-asm-macros", "wasmtime-environ", @@ -12155,9 +12286,9 @@ dependencies = [ [[package]] name = "web-sys" -version = "0.3.59" +version = "0.3.60" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed055ab27f941423197eb86b2035720b1a3ce40504df082cac2ecc6ed73335a1" +checksum = "bcda906d8be16e728fd5adc5b729afad4e444e106ab28cd1c7256e54fa61510f" dependencies = [ "js-sys", "wasm-bindgen", @@ -12175,9 +12306,9 @@ dependencies = [ [[package]] name = "webpki-roots" -version = "0.22.4" +version = "0.22.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1c760f0d366a6c24a02ed7816e23e691f5d92291f94d15e836006fd11b04daf" +checksum = "b6c71e40d7d2c34a5106301fb632274ca37242cd0c9d3e64dbece371a40a2d87" dependencies = [ "webpki", ] @@ -12193,10 +12324,9 @@ dependencies = [ [[package]] name = "westend-runtime" -version = "0.9.32" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" +version = "0.9.36" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" dependencies = [ - "beefy-primitives", "bitvec", "frame-benchmarking", "frame-election-provider-support", @@ -12260,6 +12390,7 @@ dependencies = [ "smallvec", "sp-api", "sp-authority-discovery", + "sp-beefy", "sp-block-builder", "sp-consensus-babe", "sp-core", @@ -12283,8 +12414,8 @@ dependencies = [ [[package]] name = "westend-runtime-constants" -version = "0.9.32" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" +version = "0.9.36" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" dependencies = [ "frame-support", "polkadot-primitives", @@ -12297,13 +12428,13 @@ dependencies = [ [[package]] name = "which" -version = "4.2.5" +version = "4.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c4fb54e6113b6a8772ee41c3404fb0301ac79604489467e0a9ce1f3e97c24ae" +checksum = "1c831fbbee9e129a8cf93e7747a82da9d95ba8e16621cae60ec2cdc849bacb7b" dependencies = [ "either", - "lazy_static", "libc", + "once_cell", ] [[package]] @@ -12488,18 +12619,18 @@ checksum = "f40009d85759725a34da6d89a94e63d7bdc50a862acf0dbc7c8e488f1edcb6f5" [[package]] name = "winreg" -version = "0.7.0" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0120db82e8a1e0b9fb3345a539c478767c0048d842860994d96113d5b667bd69" +checksum = "80d0f4e272c85def139476380b12f9ac60926689dd2e01d4923222f40580869d" dependencies = [ "winapi", ] [[package]] name = "wyz" -version = "0.5.0" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30b31594f29d27036c383b53b59ed3476874d518f0efb151b27a4c275141390e" +checksum = "05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed" dependencies = [ "tap", ] @@ -12517,8 +12648,8 @@ dependencies = [ [[package]] name = "xcm" -version = "0.9.32" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" +version = "0.9.36" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" dependencies = [ "derivative", "impl-trait-for-tuples", @@ -12531,8 +12662,8 @@ dependencies = [ [[package]] name = "xcm-builder" -version = "0.9.32" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" +version = "0.9.36" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" dependencies = [ "frame-support", "frame-system", @@ -12551,8 +12682,8 @@ dependencies = [ [[package]] name = "xcm-executor" -version = "0.9.32" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" +version = "0.9.36" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" dependencies = [ "frame-benchmarking", "frame-support", @@ -12569,8 +12700,8 @@ dependencies = [ [[package]] name = "xcm-procedural" -version = "0.9.32" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.32#c71e872afed296d1825b15ea4b2a74750c1ba647" +version = "0.9.36" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" dependencies = [ "Inflector", "proc-macro2", @@ -12603,9 +12734,9 @@ dependencies = [ [[package]] name = "zeroize_derive" -version = "1.3.2" +version = "1.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f8f187641dad4f680d25c4bfc4225b418165984179f26ca76ec4fb6441d3a17" +checksum = "44bf07cb3e50ea2003396695d58bf46bc9887a1f362260446fad6bc4e79bd36c" dependencies = [ "proc-macro2", "quote", @@ -12634,9 +12765,9 @@ dependencies = [ [[package]] name = "zstd-sys" -version = "2.0.1+zstd.1.5.2" +version = "2.0.4+zstd.1.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fd07cbbc53846d9145dbffdf6dd09a7a0aa52be46741825f5c97bdd4f73f12b" +checksum = "4fa202f2ef00074143e219d15b62ffc317d17cc33909feac471c044087cad7b0" dependencies = [ "cc", "libc", diff --git a/Cargo.toml b/Cargo.toml index 42f0d5106..81a9e975f 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -23,17 +23,18 @@ version = "1.9.0-dev" [workspace.dependencies] # Build deps -substrate-wasm-builder = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.32"} +substrate-wasm-builder = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.36"} # External (without extra features and with default disabled if necessary) base58 = {version = "0.2.0", default-features = false} bitflags = {version = "1.3.2", default-features = false} clap = "4.0.9" codec = {package = "parity-scale-codec", version = "3.1.5", default-features = false} -env_logger = "0.9.0" +env_logger = "0.10.0" +futures = { version = "0.3.21", default-features = false} hex-literal = "0.3.4" hex = {version = "0.4.0", default-features = false} -jsonrpsee = "0.15.1" +jsonrpsee = "0.16.2" libsecp256k1 = {version = "0.7", default-features = false} log = "0.4.17" scale-info = {version = "2.1.1", default-features = false} @@ -69,112 +70,113 @@ mashnet-node-runtime = {path = "runtimes/standalone", default-features = false} peregrine-runtime = {path = "runtimes/peregrine", default-features = false} spiritnet-runtime = {path = "runtimes/spiritnet", default-features = false} -# Benchmarking (with default disabled) -cumulus-pallet-session-benchmarking = {git = "https://github.com/paritytech/cumulus", default-features = false, branch = "polkadot-v0.9.32"} -frame-system-benchmarking = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.32"} + +# Benchmarking (with default disabled) +cumulus-pallet-session-benchmarking = {git = "https://github.com/paritytech/cumulus", default-features = false, branch = "polkadot-v0.9.36"} +frame-system-benchmarking = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.36"} # Cumulus (with default disabled) -cumulus-pallet-aura-ext = {git = "https://github.com/paritytech/cumulus", default-features = false, branch = "polkadot-v0.9.32"} -cumulus-pallet-dmp-queue = {git = "https://github.com/paritytech/cumulus", default-features = false, branch = "polkadot-v0.9.32"} -cumulus-pallet-solo-to-para = {git = "https://github.com/paritytech/cumulus", default-features = false, branch = "polkadot-v0.9.32"} -cumulus-pallet-parachain-system = {git = "https://github.com/paritytech/cumulus", default-features = false, branch = "polkadot-v0.9.32"} -cumulus-pallet-xcm = {git = "https://github.com/paritytech/cumulus", default-features = false, branch = "polkadot-v0.9.32"} -cumulus-pallet-xcmp-queue = {git = "https://github.com/paritytech/cumulus", default-features = false, branch = "polkadot-v0.9.32"} -cumulus-primitives-core = {git = "https://github.com/paritytech/cumulus", default-features = false, branch = "polkadot-v0.9.32"} -cumulus-primitives-timestamp = {git = "https://github.com/paritytech/cumulus", default-features = false, branch = "polkadot-v0.9.32"} -cumulus-primitives-utility = {git = "https://github.com/paritytech/cumulus", default-features = false, branch = "polkadot-v0.9.32"} -pallet-collator-selection = {git = "https://github.com/paritytech/cumulus", default-features = false, branch = "polkadot-v0.9.32"} -parachain-info = {git = "https://github.com/paritytech/cumulus", default-features = false, branch = "polkadot-v0.9.32"} +cumulus-pallet-aura-ext = {git = "https://github.com/paritytech/cumulus", default-features = false, branch = "polkadot-v0.9.36"} +cumulus-pallet-dmp-queue = {git = "https://github.com/paritytech/cumulus", default-features = false, branch = "polkadot-v0.9.36"} +cumulus-pallet-solo-to-para = {git = "https://github.com/paritytech/cumulus", default-features = false, branch = "polkadot-v0.9.36"} +cumulus-pallet-parachain-system = {git = "https://github.com/paritytech/cumulus", default-features = false, branch = "polkadot-v0.9.36"} +cumulus-pallet-xcm = {git = "https://github.com/paritytech/cumulus", default-features = false, branch = "polkadot-v0.9.36"} +cumulus-pallet-xcmp-queue = {git = "https://github.com/paritytech/cumulus", default-features = false, branch = "polkadot-v0.9.36"} +cumulus-primitives-core = {git = "https://github.com/paritytech/cumulus", default-features = false, branch = "polkadot-v0.9.36"} +cumulus-primitives-timestamp = {git = "https://github.com/paritytech/cumulus", default-features = false, branch = "polkadot-v0.9.36"} +cumulus-primitives-utility = {git = "https://github.com/paritytech/cumulus", default-features = false, branch = "polkadot-v0.9.36"} +pallet-collator-selection = {git = "https://github.com/paritytech/cumulus", default-features = false, branch = "polkadot-v0.9.36"} +parachain-info = {git = "https://github.com/paritytech/cumulus", default-features = false, branch = "polkadot-v0.9.36"} # Substrate (with default disabled) -frame-benchmarking = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.32"} -frame-benchmarking-cli = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.32"} -frame-executive = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.32"} -frame-support = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.32"} -frame-system = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.32"} -frame-system-rpc-runtime-api = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.32"} -frame-try-runtime = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.32"} -pallet-aura = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.32"} -pallet-authorship = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.32"} -pallet-balances = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.32"} -pallet-collective = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.32"} -pallet-democracy = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.32"} -pallet-grandpa = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.32"} -pallet-indices = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.32"} -pallet-membership = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.32"} -pallet-preimage = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.32"} -pallet-proxy = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.32"} -pallet-randomness-collective-flip = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.32"} -pallet-scheduler = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.32"} -pallet-session = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.32"} -pallet-sudo = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.32"} -pallet-timestamp = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.32"} -pallet-tips = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.32"} -pallet-transaction-payment = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.32"} -pallet-transaction-payment-rpc-runtime-api = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.32"} -pallet-treasury = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.32"} -pallet-utility = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.32"} -pallet-vesting = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.32"} -sp-api = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.32"} -sp-block-builder = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.32"} -sp-consensus-aura = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.32"} -sp-core = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.32"} -sp-inherents = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.32"} -sp-io = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.32"} -sp-offchain = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.32"} -sp-runtime = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.32"} -sp-session = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.32"} -sp-staking = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.32"} -sp-std = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.32"} -sp-transaction-pool = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.32"} -sp-version = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.32"} -try-runtime-cli = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.32"} - +frame-benchmarking = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.36"} +frame-benchmarking-cli = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.36"} +frame-executive = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.36"} +frame-support = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.36"} +frame-system = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.36"} +frame-system-rpc-runtime-api = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.36"} +frame-try-runtime = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.36"} +pallet-aura = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.36"} +pallet-authorship = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.36"} +pallet-balances = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.36"} +pallet-collective = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.36"} +pallet-democracy = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.36"} +pallet-grandpa = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.36"} +pallet-indices = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.36"} +pallet-membership = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.36"} +pallet-preimage = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.36"} +pallet-proxy = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.36"} +pallet-randomness-collective-flip = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.36"} +pallet-scheduler = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.36"} +pallet-session = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.36"} +pallet-sudo = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.36"} +pallet-timestamp = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.36"} +pallet-tips = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.36"} +pallet-transaction-payment = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.36"} +pallet-transaction-payment-rpc-runtime-api = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.36"} +pallet-treasury = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.36"} +pallet-utility = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.36"} +pallet-vesting = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.36"} +sp-api = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.36"} +sp-block-builder = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.36"} +sp-consensus-aura = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.36"} +sp-core = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.36"} +sp-inherents = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.36"} +sp-io = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.36"} +sp-offchain = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.36"} +sp-runtime = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.36"} +sp-session = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.36"} +sp-staking = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.36"} +sp-std = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.36"} +sp-transaction-pool = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.36"} +sp-version = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.36"} +try-runtime-cli = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.36"} + # Polkadot (with default disabled) -pallet-xcm = {git = "https://github.com/paritytech/polkadot", default-features = false, branch = "release-v0.9.32"} -polkadot-parachain = {git = "https://github.com/paritytech/polkadot", default-features = false, branch = "release-v0.9.32"} -xcm = {git = "https://github.com/paritytech/polkadot", default-features = false, branch = "release-v0.9.32"} -xcm-builder = {git = "https://github.com/paritytech/polkadot", default-features = false, branch = "release-v0.9.32"} -xcm-executor = {git = "https://github.com/paritytech/polkadot", default-features = false, branch = "release-v0.9.32"} +pallet-xcm = {git = "https://github.com/paritytech/polkadot", default-features = false, branch = "release-v0.9.36"} +polkadot-parachain = {git = "https://github.com/paritytech/polkadot", default-features = false, branch = "release-v0.9.36"} +xcm = {git = "https://github.com/paritytech/polkadot", default-features = false, branch = "release-v0.9.36"} +xcm-builder = {git = "https://github.com/paritytech/polkadot", default-features = false, branch = "release-v0.9.36"} +xcm-executor = {git = "https://github.com/paritytech/polkadot", default-features = false, branch = "release-v0.9.36"} # Client-only (with default enabled) -cumulus-client-cli = {git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.32"} -cumulus-client-consensus-aura = {git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.32"} -cumulus-client-consensus-common = {git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.32"} -cumulus-client-network = {git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.32"} -cumulus-client-service = {git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.32"} -cumulus-primitives-parachain-inherent = {git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.32"} -cumulus-relay-chain-inprocess-interface = {git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.32"} -cumulus-relay-chain-interface = {git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.32"} -cumulus-relay-chain-minimal-node = {git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.32"} -cumulus-relay-chain-rpc-interface = {git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.32"} -pallet-transaction-payment-rpc = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.32"} -polkadot-cli = {git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.32"} -polkadot-primitives = {git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.32"} -polkadot-service = {git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.32"} -sc-basic-authorship = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.32"} -sc-chain-spec = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.32"} -sc-cli = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.32"} -sc-client-api = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.32"} -sc-consensus = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.32"} -sc-consensus-aura = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.32"} -sc-executor = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.32"} -sc-finality-grandpa = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.32"} -sc-keystore = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.32"} -sc-network = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.32"} -sc-rpc-api = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.32"} -sc-service = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.32"} -sc-sysinfo = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.32"} -sc-telemetry = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.32"} -sc-tracing = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.32"} -sc-transaction-pool = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.32"} -sc-transaction-pool-api = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.32"} -sp-blockchain = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.32"} -sp-consensus = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.32"} -sp-finality-grandpa = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.32"} -sp-keyring = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.32"} -sp-keystore = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.32"} -sp-timestamp = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.32"} -substrate-build-script-utils = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.32"} -substrate-frame-rpc-system = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.32"} -substrate-prometheus-endpoint = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.32"} +cumulus-client-cli = {git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.36"} +cumulus-client-consensus-aura = {git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.36"} +cumulus-client-consensus-common = {git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.36"} +cumulus-client-network = {git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.36"} +cumulus-client-service = {git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.36"} +cumulus-primitives-parachain-inherent = {git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.36"} +cumulus-relay-chain-inprocess-interface = {git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.36"} +cumulus-relay-chain-interface = {git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.36"} +cumulus-relay-chain-minimal-node = {git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.36"} +cumulus-relay-chain-rpc-interface = {git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.36"} +pallet-transaction-payment-rpc = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.36"} +polkadot-cli = {git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.36"} +polkadot-primitives = {git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.36"} +polkadot-service = {git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.36"} +sc-basic-authorship = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.36"} +sc-chain-spec = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.36"} +sc-cli = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.36"} +sc-client-api = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.36"} +sc-consensus = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.36"} +sc-consensus-aura = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.36"} +sc-executor = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.36"} +sc-finality-grandpa = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.36"} +sc-keystore = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.36"} +sc-network = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.36"} +sc-rpc-api = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.36"} +sc-service = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.36"} +sc-sysinfo = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.36"} +sc-telemetry = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.36"} +sc-tracing = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.36"} +sc-transaction-pool = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.36"} +sc-transaction-pool-api = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.36"} +sp-blockchain = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.36"} +sp-consensus = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.36"} +sp-finality-grandpa = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.36"} +sp-keyring = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.36"} +sp-keystore = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.36"} +sp-timestamp = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.36"} +substrate-build-script-utils = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.36"} +substrate-frame-rpc-system = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.36"} +substrate-prometheus-endpoint = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.36"} diff --git a/nodes/parachain/Cargo.toml b/nodes/parachain/Cargo.toml index e3d47c870..87bbb6921 100644 --- a/nodes/parachain/Cargo.toml +++ b/nodes/parachain/Cargo.toml @@ -37,12 +37,12 @@ spiritnet-runtime = {workspace = true, features = ["std"]} # Substrate dependencies sc-basic-authorship.workspace = true sc-chain-spec.workspace = true -sc-cli = {workspace = true, features = ["wasmtime"]} +sc-cli = {workspace = true} sc-client-api.workspace = true sc-consensus.workspace = true -sc-executor = {workspace = true, features = ["wasmtime"]} +sc-executor = {workspace = true} sc-network.workspace = true -sc-service = {workspace = true, features = ["wasmtime"]} +sc-service = {workspace = true} sc-sysinfo.workspace = true sc-telemetry.workspace = true sc-tracing.workspace = true @@ -54,6 +54,7 @@ sp-blockchain.workspace = true sp-consensus.workspace = true sp-consensus-aura = {workspace = true, features = ["std"]} sp-core = {workspace = true, features = ["std"]} +sp-io = {workspace = true, features = ["std"]} sp-keystore = {workspace = true, features = ["std"]} sp-offchain = {workspace = true, features = ["std"]} sp-runtime = {workspace = true, features = ["std"]} diff --git a/nodes/parachain/src/command.rs b/nodes/parachain/src/command.rs index b71dc2fd1..1802eab48 100644 --- a/nodes/parachain/src/command.rs +++ b/nodes/parachain/src/command.rs @@ -341,8 +341,7 @@ pub fn run() -> Result<()> { "Compile with --features=runtime-benchmarks \ to enable storage benchmarks." .into(), - ) - .into()), + )), #[cfg(feature = "runtime-benchmarks")] (BenchmarkCmd::Storage(cmd), "spiritnet") => runner.sync_run(|config| { let partials = new_partial::( @@ -392,15 +391,32 @@ pub fn run() -> Result<()> { } #[cfg(feature = "try-runtime")] Some(Subcommand::TryRuntime(cmd)) => { + use sc_executor::{sp_wasm_interface::ExtendedHostFunctions, NativeExecutionDispatch}; let runner = cli.create_runner(cmd)?; let registry = &runner.config().prometheus_config.as_ref().map(|cfg| &cfg.registry); let task_manager = TaskManager::new(runner.config().tokio_handle.clone(), *registry) .map_err(|e| format!("Error: {:?}", e))?; if runner.config().chain_spec.is_peregrine() { - runner.async_run(|config| Ok((cmd.run::(config), task_manager))) + runner.async_run(|_| { + Ok(( + cmd.run::::ExtendHostFunctions, + >>(), + task_manager, + )) + }) } else if runner.config().chain_spec.is_spiritnet() { - runner.async_run(|config| Ok((cmd.run::(config), task_manager))) + runner.async_run(|_| { + Ok(( + cmd.run::::ExtendHostFunctions, + >>(), + task_manager, + )) + }) } else { Err("Chain doesn't support try-runtime".into()) } @@ -456,8 +472,8 @@ pub fn run() -> Result<()> { if config.role.is_authority() { "yes" } else { "no" } ); - if collator_options.relay_chain_rpc_url.is_some() && !cli.relay_chain_args.len().is_zero() { - warn!("Detected relay chain node arguments together with --relay-chain-rpc-url. This command starts a minimal Polkadot node that only uses a network-related subset of all relay chain CLI options."); + if !collator_options.relay_chain_rpc_urls.len().is_zero() && !cli.relay_chain_args.len().is_zero() { + warn!("Detected relay chain node arguments together with --relay-chain-rpc-urls. This command starts a minimal Polkadot node that only uses a network-related subset of all relay chain CLI options."); } if config.chain_spec.is_peregrine() { diff --git a/nodes/parachain/src/service.rs b/nodes/parachain/src/service.rs index bc1171e11..fcde8bacc 100644 --- a/nodes/parachain/src/service.rs +++ b/nodes/parachain/src/service.rs @@ -21,7 +21,7 @@ use jsonrpsee::RpcModule; use cumulus_client_cli::CollatorOptions; use cumulus_client_consensus_aura::{AuraConsensus, BuildAuraConsensusParams, SlotProportion}; -use cumulus_client_consensus_common::ParachainConsensus; +use cumulus_client_consensus_common::{ParachainBlockImport as TParachainBlockImport, ParachainConsensus}; use cumulus_client_network::BlockAnnounceValidator; use cumulus_client_service::{ prepare_node_config, start_collator, start_full_node, StartCollatorParams, StartFullNodeParams, @@ -31,6 +31,7 @@ use cumulus_relay_chain_inprocess_interface::build_inprocess_relay_chain; use cumulus_relay_chain_interface::{RelayChainError, RelayChainInterface, RelayChainResult}; use cumulus_relay_chain_minimal_node::build_minimal_relay_chain_node; use polkadot_service::{CollatorPair, NativeExecutionDispatch}; +use sc_consensus::ImportQueue; use sc_executor::NativeElseWasmExecutor; use sc_network::{NetworkBlock, NetworkService}; use sc_service::{Configuration, TFullBackend, TFullClient, TaskManager}; @@ -44,17 +45,34 @@ use substrate_prometheus_endpoint::Registry; use runtime_common::{AccountId, AuthorityId, Balance, BlockNumber, Index}; type Header = sp_runtime::generic::Header; + pub type Block = sp_runtime::generic::Block; + type Hash = sp_core::H256; + +type ParachainExecutor = NativeElseWasmExecutor; + +type ParachainClient = TFullClient>; + +type ParachainBackend = TFullBackend; + +type ParachainBlockImport = + TParachainBlockImport>, ParachainBackend>; + pub type TransactionPool = sc_transaction_pool::FullPool>; + type PartialComponents = sc_service::PartialComponents< TFullClient>, TFullBackend, (), sc_consensus::DefaultImportQueue>>, TransactionPool>, - (Option, Option), + ( + ParachainBlockImport, + Option, + Option, + ), >; /// Native Spiritnet executor instance. @@ -125,6 +143,7 @@ where Executor: NativeExecutionDispatch + 'static, BIQ: FnOnce( Arc>>, + ParachainBlockImport, &Configuration, Option, &TaskManager, @@ -173,8 +192,11 @@ where client.clone(), ); + let block_import = ParachainBlockImport::::new(client.clone(), backend.clone()); + let import_queue = build_import_queue( client.clone(), + block_import.clone(), config, telemetry.as_ref().map(|telemetry| telemetry.handle()), &task_manager, @@ -188,7 +210,7 @@ where task_manager, transaction_pool, select_chain: (), - other: (telemetry, telemetry_worker_handle), + other: (block_import, telemetry, telemetry_worker_handle), }) } @@ -200,15 +222,16 @@ async fn build_relay_chain_interface( collator_options: CollatorOptions, hwbench: Option, ) -> RelayChainResult<(Arc<(dyn RelayChainInterface + 'static)>, Option)> { - match collator_options.relay_chain_rpc_url { - Some(relay_chain_url) => build_minimal_relay_chain_node(polkadot_config, task_manager, relay_chain_url).await, - None => build_inprocess_relay_chain( + if !collator_options.relay_chain_rpc_urls.is_empty() { + build_minimal_relay_chain_node(polkadot_config, task_manager, collator_options.relay_chain_rpc_urls).await + } else { + build_inprocess_relay_chain( polkadot_config, parachain_config, telemetry_worker_handle, task_manager, hwbench, - ), + ) } } @@ -255,6 +278,7 @@ where + 'static, BIQ: FnOnce( Arc>>, + ParachainBlockImport, &Configuration, Option, &TaskManager, @@ -263,21 +287,23 @@ where sc_service::Error, >, BIC: FnOnce( - Arc>>, + Arc>, + ParachainBlockImport, Option<&Registry>, Option, &TaskManager, Arc, - Arc>>, + Arc>>, Arc>, SyncCryptoStorePtr, bool, + ParaId, ) -> Result>, sc_service::Error>, { let parachain_config = prepare_node_config(parachain_config); let params = new_partial::(¶chain_config, build_import_queue)?; - let (mut telemetry, telemetry_worker_handle) = params.other; + let (block_import, mut telemetry, telemetry_worker_handle) = params.other; let client = params.client.clone(); let backend = params.backend.clone(); @@ -303,14 +329,14 @@ where let validator = parachain_config.role.is_authority(); let prometheus_registry = parachain_config.prometheus_registry().cloned(); let transaction_pool = params.transaction_pool.clone(); - let import_queue = cumulus_client_service::SharedImportQueue::new(params.import_queue); + let import_queue_service = params.import_queue.service(); let (network, system_rpc_tx, tx_handler_controller, start_network) = sc_service::build_network(sc_service::BuildNetworkParams { config: ¶chain_config, client: client.clone(), transaction_pool: transaction_pool.clone(), spawn_handle: task_manager.spawn_handle(), - import_queue: import_queue.clone(), + import_queue: params.import_queue, block_announce_validator_builder: Some(Box::new(|_| Box::new(block_announce_validator))), warp_sync: None, })?; @@ -367,6 +393,7 @@ where if validator { let parachain_consensus = build_consensus( client.clone(), + block_import, prometheus_registry.as_ref(), telemetry.as_ref().map(|t| t.handle()), &task_manager, @@ -375,6 +402,7 @@ where network, params.keystore_container.sync_keystore(), force_authoring, + id, )?; let spawner = task_manager.spawn_handle(); @@ -387,7 +415,7 @@ where relay_chain_interface, spawner, parachain_consensus, - import_queue, + import_queue: import_queue_service, collator_key: collator_key.expect("Command line arguments do not allow this. qed"), relay_chain_slot_duration, }; @@ -401,7 +429,7 @@ where para_id: id, relay_chain_interface, relay_chain_slot_duration, - import_queue, + import_queue: import_queue_service, }; start_full_node(params)?; @@ -416,6 +444,7 @@ where /// Build the import queue for THE runtime. pub fn build_import_queue( client: Arc>>, + block_import: ParachainBlockImport, config: &Configuration, telemetry: Option, task_manager: &TaskManager, @@ -442,7 +471,7 @@ where cumulus_client_consensus_aura::import_queue::( cumulus_client_consensus_aura::ImportQueueParams { - block_import: client.clone(), + block_import, client, create_inherent_data_providers: move |_, _| async move { let timestamp = sp_timestamp::InherentDataProvider::from_system_time(); @@ -492,74 +521,97 @@ where id, |_| Ok(RpcModule::new(())), build_import_queue::, - |client, - prometheus_registry, - telemetry, - task_manager, - relay_chain_interface, - transaction_pool, - sync_oracle, - keystore, - force_authoring| { - let slot_duration = cumulus_client_consensus_aura::slot_duration(&*client)?; - - let proposer_factory = sc_basic_authorship::ProposerFactory::with_proof_recording( - task_manager.spawn_handle(), - client.clone(), - transaction_pool, - prometheus_registry, - telemetry.clone(), - ); - - Ok(AuraConsensus::build::< - sp_consensus_aura::sr25519::AuthorityPair, - _, - _, - _, - _, - _, - _, - >(BuildAuraConsensusParams { - proposer_factory, - create_inherent_data_providers: move |_, (relay_parent, validation_data)| { - let relay_chain_interface = relay_chain_interface.clone(); - async move { - let parachain_inherent = - cumulus_primitives_parachain_inherent::ParachainInherentData::create_at( - relay_parent, - &relay_chain_interface, - &validation_data, - id, - ) - .await; - let timestamp = sp_timestamp::InherentDataProvider::from_system_time(); - - let slot = sp_consensus_aura::inherents::InherentDataProvider::from_timestamp_and_slot_duration( - *timestamp, - slot_duration, - ); - - let parachain_inherent = parachain_inherent.ok_or_else(|| { - Box::::from("Failed to create parachain inherent") - })?; - Ok((slot, timestamp, parachain_inherent)) - } - }, - block_import: client.clone(), - para_client: client, - backoff_authoring_blocks: Option::<()>::None, - sync_oracle, - keystore, - force_authoring, - slot_duration, - // We got around 500ms for proposing - block_proposal_slot_portion: SlotProportion::new(1f32 / 24f32), - // And a maximum of 750ms if slots are skipped - max_block_proposal_slot_portion: Some(SlotProportion::new(1f32 / 16f32)), - telemetry, - })) - }, + build_consensus::, hwbench, ) .await } + +#[allow(clippy::too_many_arguments)] +fn build_consensus( + client: Arc>, + block_import: ParachainBlockImport, + prometheus_registry: Option<&Registry>, + telemetry: Option, + task_manager: &TaskManager, + relay_chain_interface: Arc, + transaction_pool: Arc>>, + sync_oracle: Arc>, + keystore: SyncCryptoStorePtr, + force_authoring: bool, + id: ParaId, +) -> Result>, sc_service::Error> +where + RE: sc_executor::NativeExecutionDispatch + 'static, + API: ConstructRuntimeApi>> + Send + Sync + 'static, + API::RuntimeApi: sp_transaction_pool::runtime_api::TaggedTransactionQueue + + sp_api::Metadata + + sp_session::SessionKeys + + sp_api::ApiExt, Block>> + + sp_offchain::OffchainWorkerApi + + sp_block_builder::BlockBuilder + + substrate_frame_rpc_system::AccountNonceApi + + pallet_transaction_payment_rpc::TransactionPaymentRuntimeApi + + sp_consensus_aura::AuraApi + + cumulus_primitives_core::CollectCollationInfo, + sc_client_api::StateBackendFor, Block>: sp_api::StateBackend, +{ + let slot_duration = cumulus_client_consensus_aura::slot_duration(&*client)?; + + let proposer_factory = sc_basic_authorship::ProposerFactory::with_proof_recording( + task_manager.spawn_handle(), + client.clone(), + transaction_pool, + prometheus_registry, + telemetry.clone(), + ); + + let params = BuildAuraConsensusParams { + proposer_factory, + create_inherent_data_providers: move |_, (relay_parent, validation_data)| { + let relay_chain_interface = relay_chain_interface.clone(); + async move { + let parachain_inherent = cumulus_primitives_parachain_inherent::ParachainInherentData::create_at( + relay_parent, + &relay_chain_interface, + &validation_data, + id, + ) + .await; + let timestamp = sp_timestamp::InherentDataProvider::from_system_time(); + + let slot = sp_consensus_aura::inherents::InherentDataProvider::from_timestamp_and_slot_duration( + *timestamp, + slot_duration, + ); + + let parachain_inherent = parachain_inherent.ok_or_else(|| { + Box::::from("Failed to create parachain inherent") + })?; + Ok((slot, timestamp, parachain_inherent)) + } + }, + block_import, + para_client: client, + backoff_authoring_blocks: Option::<()>::None, + sync_oracle, + keystore, + force_authoring, + slot_duration, + // We got around 500ms for proposing + block_proposal_slot_portion: SlotProportion::new(1f32 / 24f32), + // And a maximum of 750ms if slots are skipped + max_block_proposal_slot_portion: Some(SlotProportion::new(1f32 / 16f32)), + telemetry, + }; + + Ok(AuraConsensus::build::< + sp_consensus_aura::sr25519::AuthorityPair, + _, + _, + _, + _, + _, + _, + >(params)) +} diff --git a/nodes/standalone/Cargo.toml b/nodes/standalone/Cargo.toml index 7eeabca20..11c08b1aa 100644 --- a/nodes/standalone/Cargo.toml +++ b/nodes/standalone/Cargo.toml @@ -23,6 +23,7 @@ substrate-build-script-utils.workspace = true clap = {workspace = true, features = ["derive"]} jsonrpsee = {workspace = true, features = ["server"]} hex-literal.workspace = true +futures = { workspace = true, features = ["thread-pool"]} # Internal dependencies mashnet-node-runtime = {workspace = true, features = ["std"]} @@ -32,14 +33,14 @@ runtime-common = {workspace = true, features = ["std"]} frame-system = {workspace = true, features = ["std"]} pallet-transaction-payment = {workspace = true, features = ["std"]} sc-basic-authorship.workspace = true -sc-cli = {workspace = true, features = ["wasmtime"]} +sc-cli = {workspace = true} sc-client-api.workspace = true sc-consensus.workspace = true sc-consensus-aura.workspace = true -sc-executor = {workspace = true, features = ["wasmtime"]} +sc-executor = {workspace = true} sc-finality-grandpa.workspace = true sc-keystore.workspace = true -sc-service = {workspace = true, features = ["wasmtime"]} +sc-service = {workspace = true} sc-telemetry.workspace = true sc-transaction-pool.workspace = true sc-transaction-pool-api.workspace = true @@ -51,6 +52,7 @@ sp-consensus-aura = {workspace = true, features = ["std"]} sp-core = {workspace = true, features = ["std"]} sp-finality-grandpa = {workspace = true, features = ["std"]} sp-inherents = {workspace = true, features = ["std"]} +sp-io = {workspace = true, features = ["std"]} sp-keyring.workspace = true sp-runtime = {workspace = true, features = ["std"]} sp-timestamp = {workspace = true, features = ["std"]} diff --git a/nodes/standalone/src/benchmarking.rs b/nodes/standalone/src/benchmarking.rs index e6936f9e5..cdce96c89 100644 --- a/nodes/standalone/src/benchmarking.rs +++ b/nodes/standalone/src/benchmarking.rs @@ -177,8 +177,8 @@ pub fn inherent_benchmark_data() -> Result { let d = Duration::from_millis(0); let timestamp = sp_timestamp::InherentDataProvider::new(d.into()); - timestamp - .provide_inherent_data(&mut inherent_data) + futures::executor::block_on(timestamp.provide_inherent_data(&mut inherent_data)) .map_err(|e| format!("creating inherent data: {:?}", e))?; + Ok(inherent_data) } diff --git a/nodes/standalone/src/command.rs b/nodes/standalone/src/command.rs index e01fbee59..1cc3992a7 100644 --- a/nodes/standalone/src/command.rs +++ b/nodes/standalone/src/command.rs @@ -195,6 +195,8 @@ pub fn run() -> sc_cli::Result<()> { } #[cfg(feature = "try-runtime")] Some(Subcommand::TryRuntime(cmd)) => { + use crate::service::ExecutorDispatch; + use sc_executor::{sp_wasm_interface::ExtendedHostFunctions, NativeExecutionDispatch}; let runner = cli.create_runner(cmd)?; runner.async_run(|config| { // we don't need any of the components of new_partial, just a runtime, or a task @@ -202,7 +204,13 @@ pub fn run() -> sc_cli::Result<()> { let registry = config.prometheus_config.as_ref().map(|cfg| &cfg.registry); let task_manager = sc_service::TaskManager::new(config.tokio_handle.clone(), registry) .map_err(|e| sc_cli::Error::Service(sc_service::Error::Prometheus(e)))?; - Ok((cmd.run::(config), task_manager)) + Ok(( + cmd.run::::ExtendHostFunctions, + >>(), + task_manager, + )) }) } #[cfg(not(feature = "try-runtime"))] diff --git a/nodes/standalone/src/service.rs b/nodes/standalone/src/service.rs index a99ef1b58..45b602dca 100644 --- a/nodes/standalone/src/service.rs +++ b/nodes/standalone/src/service.rs @@ -135,6 +135,7 @@ pub fn new_partial(config: &Configuration) -> Result Result block_proposal_slot_portion: SlotProportion::new(2f32 / 3f32), max_block_proposal_slot_portion: None, telemetry: telemetry.as_ref().map(|x| x.handle()), + compatibility_mode: Default::default(), })?; // the AURA authoring task is considered essential, i.e. if it diff --git a/pallets/attestation/src/lib.rs b/pallets/attestation/src/lib.rs index b194c7cae..cb2e82520 100644 --- a/pallets/attestation/src/lib.rs +++ b/pallets/attestation/src/lib.rs @@ -230,6 +230,7 @@ pub mod pallet { /// DelegatedAttestations /// - Writes: Attestations, (DelegatedAttestations) /// # + #[pallet::call_index(0)] #[pallet::weight( ::WeightInfo::add() .saturating_add(authorization.as_ref().map(|ac| ac.can_attest_weight()).unwrap_or(Weight::zero())) @@ -303,6 +304,7 @@ pub mod pallet { /// - Reads per delegation step P: delegation::Delegations /// - Writes: Attestations, DelegatedAttestations /// # + #[pallet::call_index(1)] #[pallet::weight( ::WeightInfo::revoke() .saturating_add(authorization.as_ref().map(|ac| ac.can_revoke_weight()).unwrap_or(Weight::zero())) @@ -362,6 +364,7 @@ pub mod pallet { /// - Reads per delegation step P: delegation::Delegations /// - Writes: Attestations, DelegatedAttestations /// # + #[pallet::call_index(2)] #[pallet::weight( ::WeightInfo::remove() .saturating_add(authorization.as_ref().map(|ac| ac.can_remove_weight()).unwrap_or(Weight::zero())) @@ -405,6 +408,7 @@ pub mod pallet { /// - Reads: [Origin Account], Attestations, DelegatedAttestations /// - Writes: Attestations, DelegatedAttestations /// # + #[pallet::call_index(3)] #[pallet::weight(::WeightInfo::reclaim_deposit())] pub fn reclaim_deposit(origin: OriginFor, claim_hash: ClaimHashOf) -> DispatchResult { let who = ensure_signed(origin)?; @@ -429,6 +433,7 @@ pub mod pallet { /// /// The subject of the call must be the attester who issues the /// attestation. The sender of the call will be the new deposit owner. + #[pallet::call_index(4)] #[pallet::weight(::WeightInfo::change_deposit_owner())] pub fn change_deposit_owner(origin: OriginFor, claim_hash: ClaimHashOf) -> DispatchResult { let source = ::EnsureOrigin::ensure_origin(origin)?; @@ -446,6 +451,7 @@ pub mod pallet { /// Updates the deposit amount to the current deposit rate. /// /// The sender must be the deposit owner. + #[pallet::call_index(5)] #[pallet::weight(::WeightInfo::update_deposit())] pub fn update_deposit(origin: OriginFor, claim_hash: ClaimHashOf) -> DispatchResult { let sender = ensure_signed(origin)?; diff --git a/pallets/ctype/src/lib.rs b/pallets/ctype/src/lib.rs index 0654dd744..2f24492e4 100644 --- a/pallets/ctype/src/lib.rs +++ b/pallets/ctype/src/lib.rs @@ -142,6 +142,7 @@ pub mod pallet { /// - Reads: Ctypes, Balance /// - Writes: Ctypes, Balance /// # + #[pallet::call_index(0)] #[pallet::weight(::WeightInfo::add(ctype.len().saturated_into()))] pub fn add(origin: OriginFor, ctype: Vec) -> DispatchResult { let source = ::EnsureOrigin::ensure_origin(origin)?; diff --git a/pallets/delegation/src/lib.rs b/pallets/delegation/src/lib.rs index 0e60ee534..5dbb5e367 100644 --- a/pallets/delegation/src/lib.rs +++ b/pallets/delegation/src/lib.rs @@ -313,6 +313,7 @@ pub mod pallet { /// - Reads: [Origin Account], Roots, CTypes /// - Writes: Roots /// # + #[pallet::call_index(0)] #[pallet::weight(::WeightInfo::create_hierarchy())] pub fn create_hierarchy( origin: OriginFor, @@ -380,6 +381,7 @@ pub mod pallet { /// - Reads: [Origin Account], Roots, Delegations /// - Writes: Delegations /// # + #[pallet::call_index(1)] #[pallet::weight( ::WeightInfo::add_delegation() .saturating_add(DelegationSignatureVerificationOf::::weight(T::Hash::max_encoded_len())) @@ -489,6 +491,7 @@ pub mod pallet { /// - Reads: [Origin Account], Roots, C * Delegations, C * Children. /// - Writes: Roots, C * Delegations /// # + #[pallet::call_index(2)] #[pallet::weight( ::WeightInfo::revoke_delegation_root_child(*max_revocations, *max_parent_checks) .max(::WeightInfo::revoke_delegation_leaf(*max_revocations, *max_parent_checks)))] @@ -565,6 +568,7 @@ pub mod pallet { /// - Reads: [Origin Account], Roots, C * Delegations, C * Children. /// - Writes: Roots, 2 * C * Delegations /// # + #[pallet::call_index(3)] #[pallet::weight(::WeightInfo::remove_delegation(*max_removals))] pub fn remove_delegation( origin: OriginFor, @@ -620,6 +624,7 @@ pub mod pallet { /// - Reads: [Origin Account], Roots, C * Delegations, C * Children. /// - Writes: Roots, 2 * C * Delegations /// # + #[pallet::call_index(4)] #[pallet::weight(::WeightInfo::reclaim_deposit(*max_removals))] pub fn reclaim_deposit( origin: OriginFor, @@ -658,6 +663,7 @@ pub mod pallet { /// /// The subject of the call must be the owner of the delegation node. /// The sender of the call will be the new deposit owner. + #[pallet::call_index(5)] #[pallet::weight(::WeightInfo::change_deposit_owner())] pub fn change_deposit_owner(origin: OriginFor, delegation_id: DelegationNodeIdOf) -> DispatchResult { let source = ::EnsureOrigin::ensure_origin(origin)?; @@ -674,6 +680,7 @@ pub mod pallet { /// Updates the deposit amount to the current deposit rate. /// /// The sender must be the deposit owner. + #[pallet::call_index(6)] #[pallet::weight(::WeightInfo::update_deposit())] pub fn update_deposit(origin: OriginFor, delegation_id: DelegationNodeIdOf) -> DispatchResult { let sender = ensure_signed(origin)?; diff --git a/pallets/did/src/lib.rs b/pallets/did/src/lib.rs index 1e831e3de..acf210f48 100644 --- a/pallets/did/src/lib.rs +++ b/pallets/did/src/lib.rs @@ -495,6 +495,7 @@ pub mod pallet { /// - Writes: Did (with K new key agreement keys), ServiceEndpoints /// (with N new service endpoints), DidEndpointsCount /// # + #[pallet::call_index(0)] #[pallet::weight({ let new_key_agreement_keys = details.new_key_agreement_keys.len().saturated_into::(); // We only consider the number of new endpoints. @@ -601,6 +602,7 @@ pub mod pallet { /// - Reads: [Origin Account], Did /// - Writes: Did /// # + #[pallet::call_index(1)] #[pallet::weight(::WeightInfo::set_ed25519_authentication_key().max(::WeightInfo::set_sr25519_authentication_key()).max(::WeightInfo::set_ecdsa_authentication_key()))] pub fn set_authentication_key(origin: OriginFor, new_key: DidVerificationKey) -> DispatchResult { let did_subject = T::EnsureOrigin::ensure_origin(origin)?.subject(); @@ -641,6 +643,7 @@ pub mod pallet { /// - Reads: [Origin Account], Did /// - Writes: Did /// # + #[pallet::call_index(2)] #[pallet::weight(::WeightInfo::set_ed25519_delegation_key().max(::WeightInfo::set_sr25519_delegation_key()).max(::WeightInfo::set_ecdsa_delegation_key()))] pub fn set_delegation_key(origin: OriginFor, new_key: DidVerificationKey) -> DispatchResult { let did_subject = T::EnsureOrigin::ensure_origin(origin)?.subject(); @@ -675,6 +678,7 @@ pub mod pallet { /// - Reads: [Origin Account], Did /// - Writes: Did /// # + #[pallet::call_index(3)] #[pallet::weight(::WeightInfo::remove_ed25519_delegation_key().max(::WeightInfo::remove_sr25519_delegation_key()).max(::WeightInfo::remove_ecdsa_delegation_key()))] pub fn remove_delegation_key(origin: OriginFor) -> DispatchResult { let did_subject = T::EnsureOrigin::ensure_origin(origin)?.subject(); @@ -708,6 +712,7 @@ pub mod pallet { /// - Reads: [Origin Account], Did /// - Writes: Did /// # + #[pallet::call_index(4)] #[pallet::weight(::WeightInfo::set_ed25519_attestation_key().max(::WeightInfo::set_sr25519_attestation_key()).max(::WeightInfo::set_ecdsa_attestation_key()))] pub fn set_attestation_key(origin: OriginFor, new_key: DidVerificationKey) -> DispatchResult { let did_subject = T::EnsureOrigin::ensure_origin(origin)?.subject(); @@ -742,6 +747,7 @@ pub mod pallet { /// - Reads: [Origin Account], Did /// - Writes: Did /// # + #[pallet::call_index(5)] #[pallet::weight(::WeightInfo::remove_ed25519_attestation_key().max(::WeightInfo::remove_sr25519_attestation_key()).max(::WeightInfo::remove_ecdsa_attestation_key()))] pub fn remove_attestation_key(origin: OriginFor) -> DispatchResult { let did_subject = T::EnsureOrigin::ensure_origin(origin)?.subject(); @@ -773,6 +779,7 @@ pub mod pallet { /// - Reads: [Origin Account], Did /// - Writes: Did /// # + #[pallet::call_index(6)] #[pallet::weight(::WeightInfo::add_ed25519_key_agreement_key().max(::WeightInfo::add_sr25519_key_agreement_key()).max(::WeightInfo::add_ecdsa_key_agreement_key()))] pub fn add_key_agreement_key(origin: OriginFor, new_key: DidEncryptionKey) -> DispatchResult { let did_subject = T::EnsureOrigin::ensure_origin(origin)?.subject(); @@ -805,6 +812,7 @@ pub mod pallet { /// - Reads: [Origin Account], Did /// - Writes: Did /// # + #[pallet::call_index(7)] #[pallet::weight(::WeightInfo::remove_ed25519_key_agreement_key().max(::WeightInfo::remove_sr25519_key_agreement_key()).max(::WeightInfo::remove_ecdsa_key_agreement_key()))] pub fn remove_key_agreement_key(origin: OriginFor, key_id: KeyIdOf) -> DispatchResult { let did_subject = T::EnsureOrigin::ensure_origin(origin)?.subject(); @@ -834,6 +842,7 @@ pub mod pallet { /// - Reads: [Origin Account], Did, ServiceEndpoints, DidEndpointsCount /// - Writes: Did, ServiceEndpoints, DidEndpointsCount /// # + #[pallet::call_index(8)] #[pallet::weight(::WeightInfo::add_service_endpoint())] pub fn add_service_endpoint(origin: OriginFor, service_endpoint: DidEndpoint) -> DispatchResult { let did_subject = T::EnsureOrigin::ensure_origin(origin)?.subject(); @@ -883,6 +892,7 @@ pub mod pallet { /// - Reads: [Origin Account], ServiceEndpoints, DidEndpointsCount /// - Writes: Did, ServiceEndpoints, DidEndpointsCount /// # + #[pallet::call_index(9)] #[pallet::weight(::WeightInfo::remove_service_endpoint())] pub fn remove_service_endpoint(origin: OriginFor, service_id: ServiceEndpointId) -> DispatchResult { let did_subject = T::EnsureOrigin::ensure_origin(origin)?.subject(); @@ -933,6 +943,7 @@ pub mod pallet { /// - Reads: [Origin Account], Did /// - Kills: Did entry associated to the DID identifier /// # + #[pallet::call_index(10)] #[pallet::weight(::WeightInfo::delete(*endpoints_to_remove))] pub fn delete(origin: OriginFor, endpoints_to_remove: u32) -> DispatchResult { let source = T::EnsureOrigin::ensure_origin(origin)?; @@ -962,6 +973,7 @@ pub mod pallet { /// - Reads: [Origin Account], Did /// - Kills: Did entry associated to the DID identifier /// # + #[pallet::call_index(11)] #[pallet::weight(::WeightInfo::reclaim_deposit(*endpoints_to_remove))] pub fn reclaim_deposit( origin: OriginFor, @@ -1012,6 +1024,7 @@ pub mod pallet { /// - Writes: Did /// # #[allow(clippy::boxed_local)] + #[pallet::call_index(12)] #[pallet::weight({ let di = did_call.call.get_dispatch_info(); let max_sig_weight = ::WeightInfo::submit_did_call_ed25519_key() @@ -1078,6 +1091,7 @@ pub mod pallet { /// /// The subject of the call must be the did owner. /// The sender of the call will be the new deposit owner. + #[pallet::call_index(13)] #[pallet::weight(::WeightInfo::change_deposit_owner())] pub fn change_deposit_owner(origin: OriginFor) -> DispatchResult { let source = ::EnsureOrigin::ensure_origin(origin)?; @@ -1092,6 +1106,7 @@ pub mod pallet { /// Updates the deposit amount to the current deposit rate. /// /// The sender must be the deposit owner. + #[pallet::call_index(14)] #[pallet::weight(::WeightInfo::update_deposit())] pub fn update_deposit(origin: OriginFor, did: DidIdentifierOf) -> DispatchResult { let sender = ensure_signed(origin)?; diff --git a/pallets/pallet-did-lookup/src/lib.rs b/pallets/pallet-did-lookup/src/lib.rs index 3b9dd5ce4..43329fcdb 100644 --- a/pallets/pallet-did-lookup/src/lib.rs +++ b/pallets/pallet-did-lookup/src/lib.rs @@ -174,6 +174,7 @@ pub mod pallet { /// - Reads: ConnectedDids + ConnectedAccounts + DID Origin Check /// - Writes: ConnectedDids + ConnectedAccounts /// # + #[pallet::call_index(0)] #[pallet::weight( ::WeightInfo::associate_account_multisig_sr25519().max( ::WeightInfo::associate_account_multisig_ed25519().max( @@ -223,6 +224,7 @@ pub mod pallet { /// - Reads: ConnectedDids + ConnectedAccounts + DID Origin Check /// - Writes: ConnectedDids + ConnectedAccounts /// # + #[pallet::call_index(1)] #[pallet::weight(::WeightInfo::associate_sender())] pub fn associate_sender(origin: OriginFor) -> DispatchResult { let source = ::EnsureOrigin::ensure_origin(origin)?; @@ -249,6 +251,7 @@ pub mod pallet { /// - Reads: ConnectedDids + ConnectedAccounts + DID Origin Check /// - Writes: ConnectedDids + ConnectedAccounts /// # + #[pallet::call_index(2)] #[pallet::weight(::WeightInfo::remove_sender_association())] pub fn remove_sender_association(origin: OriginFor) -> DispatchResult { let who = ensure_signed(origin)?; @@ -267,6 +270,7 @@ pub mod pallet { /// - Reads: ConnectedDids + ConnectedAccounts + DID Origin Check /// - Writes: ConnectedDids + ConnectedAccounts /// # + #[pallet::call_index(3)] #[pallet::weight(::WeightInfo::remove_account_association())] pub fn remove_account_association(origin: OriginFor, account: LinkableAccountId) -> DispatchResult { let source = ::EnsureOrigin::ensure_origin(origin)?; @@ -288,6 +292,7 @@ pub mod pallet { /// - Reads: ConnectedDids /// - Writes: ConnectedDids /// # + #[pallet::call_index(4)] #[pallet::weight(::WeightInfo::remove_sender_association())] pub fn reclaim_deposit(origin: OriginFor, account: LinkableAccountId) -> DispatchResult { let who = ensure_signed(origin)?; @@ -304,6 +309,7 @@ pub mod pallet { /// /// The subject of the call must be linked to the account. /// The sender of the call will be the new deposit owner. + #[pallet::call_index(5)] #[pallet::weight(::WeightInfo::change_deposit_owner())] pub fn change_deposit_owner(origin: OriginFor, account: LinkableAccountId) -> DispatchResult { let source = ::EnsureOrigin::ensure_origin(origin)?; @@ -318,6 +324,7 @@ pub mod pallet { /// Updates the deposit amount to the current deposit rate. /// /// The sender must be the deposit owner. + #[pallet::call_index(6)] #[pallet::weight(::WeightInfo::update_deposit())] pub fn update_deposit(origin: OriginFor, account: LinkableAccountId) -> DispatchResult { let source = ensure_signed(origin)?; diff --git a/pallets/pallet-did-lookup/src/tests.rs b/pallets/pallet-did-lookup/src/tests.rs index b6bb6552f..b8dc67c7d 100644 --- a/pallets/pallet-did-lookup/src/tests.rs +++ b/pallets/pallet-did-lookup/src/tests.rs @@ -297,8 +297,8 @@ fn test_remove_association_sender() { .execute_with(|| { // remove association assert!(DidLookup::remove_sender_association(RuntimeOrigin::signed(ACCOUNT_00)).is_ok()); - assert_eq!(ConnectedDids::::get(&LinkableAccountId::from(ACCOUNT_00)), None); - assert!(ConnectedAccounts::::get(DID_01, &LinkableAccountId::from(ACCOUNT_00)).is_none()); + assert_eq!(ConnectedDids::::get(LinkableAccountId::from(ACCOUNT_00)), None); + assert!(ConnectedAccounts::::get(DID_01, LinkableAccountId::from(ACCOUNT_00)).is_none()); assert_eq!(Balances::reserved_balance(ACCOUNT_00), 0); }); } diff --git a/pallets/pallet-web3-names/src/lib.rs b/pallets/pallet-web3-names/src/lib.rs index 2b1e5eecd..3a9df0262 100644 --- a/pallets/pallet-web3-names/src/lib.rs +++ b/pallets/pallet-web3-names/src/lib.rs @@ -196,6 +196,7 @@ pub mod pallet { /// check + origin check /// - Writes: Names, Owner storage entries + currency deposit reserve /// # + #[pallet::call_index(0)] #[pallet::weight(::WeightInfo::claim(name.len().saturated_into()))] pub fn claim(origin: OriginFor, name: Web3NameInput) -> DispatchResult { let origin = T::OwnerOrigin::ensure_origin(origin)?; @@ -227,6 +228,7 @@ pub mod pallet { /// - Reads: Names storage entry + origin check /// - Writes: Names, Owner storage entries + currency deposit release /// # + #[pallet::call_index(1)] #[pallet::weight(::WeightInfo::release_by_owner())] pub fn release_by_owner(origin: OriginFor) -> DispatchResult { let origin = T::OwnerOrigin::ensure_origin(origin)?; @@ -257,6 +259,7 @@ pub mod pallet { /// - Reads: Owner storage entry + origin check /// - Writes: Names, Owner storage entries + currency deposit release /// # + #[pallet::call_index(2)] #[pallet::weight(::WeightInfo::reclaim_deposit(name.len().saturated_into()))] pub fn reclaim_deposit(origin: OriginFor, name: Web3NameInput) -> DispatchResult { let caller = ensure_signed(origin)?; @@ -290,6 +293,7 @@ pub mod pallet { /// - Writes: Names, Owner, Banned storage entries + currency deposit /// release /// # + #[pallet::call_index(3)] #[pallet::weight(::WeightInfo::ban(name.len().saturated_into()))] pub fn ban(origin: OriginFor, name: Web3NameInput) -> DispatchResult { T::BanOrigin::ensure_origin(origin)?; @@ -322,6 +326,7 @@ pub mod pallet { /// - Reads: Banned storage entry + origin check /// - Writes: Banned storage entry deposit release /// # + #[pallet::call_index(4)] #[pallet::weight(::WeightInfo::unban(name.len().saturated_into()))] pub fn unban(origin: OriginFor, name: Web3NameInput) -> DispatchResult { T::BanOrigin::ensure_origin(origin)?; @@ -343,6 +348,7 @@ pub mod pallet { /// /// The subject of the call must be the owner of the web3name. /// The sender of the call will be the new deposit owner. + #[pallet::call_index(5)] #[pallet::weight(::WeightInfo::change_deposit_owner())] pub fn change_deposit_owner(origin: OriginFor) -> DispatchResult { let source = ::OwnerOrigin::ensure_origin(origin)?; @@ -356,6 +362,7 @@ pub mod pallet { /// Updates the deposit amount to the current deposit rate. /// /// The sender must be the deposit owner. + #[pallet::call_index(6)] #[pallet::weight(::WeightInfo::update_deposit())] pub fn update_deposit(origin: OriginFor, name_input: Web3NameInput) -> DispatchResult { let source = ensure_signed(origin)?; diff --git a/pallets/parachain-staking/src/lib.rs b/pallets/parachain-staking/src/lib.rs index 8f6273f7f..d7c84d557 100644 --- a/pallets/parachain-staking/src/lib.rs +++ b/pallets/parachain-staking/src/lib.rs @@ -715,6 +715,7 @@ pub mod pallet { /// ShouldEndSession<_>>::should_end_session. /// /// The dispatch origin must be Root. + #[pallet::call_index(0)] #[pallet::weight(::WeightInfo::force_new_round())] pub fn force_new_round(origin: OriginFor) -> DispatchResult { ensure_root(origin)?; @@ -742,6 +743,7 @@ pub mod pallet { /// The dispatch origin must be Root. /// /// Emits `RoundInflationSet`. + #[pallet::call_index(1)] #[pallet::weight(::WeightInfo::set_inflation(T::MaxTopCandidates::get(), T::MaxDelegatorsPerCollator::get()))] pub fn set_inflation( origin: OriginFor, @@ -775,6 +777,7 @@ pub mod pallet { /// The dispatch origin must be Root. /// /// Emits `MaxSelectedCandidatesSet`. + #[pallet::call_index(2)] #[pallet::weight(::WeightInfo::set_max_selected_candidates( *new, T::MaxDelegatorsPerCollator::get() @@ -843,6 +846,7 @@ pub mod pallet { /// The dispatch origin must be Root. /// /// Emits `BlocksPerRoundSet`. + #[pallet::call_index(3)] #[pallet::weight(::WeightInfo::set_blocks_per_round())] pub fn set_blocks_per_round(origin: OriginFor, new: T::BlockNumber) -> DispatchResult { ensure_root(origin)?; @@ -872,6 +876,7 @@ pub mod pallet { /// The dispatch origin must be Root. /// /// Emits `MaxCandidateStakeChanged`. + #[pallet::call_index(4)] #[pallet::weight(::WeightInfo::set_max_candidate_stake())] pub fn set_max_candidate_stake(origin: OriginFor, new: BalanceOf) -> DispatchResult { ensure_root(origin)?; @@ -900,6 +905,7 @@ pub mod pallet { /// Increments rewards of candidate and their delegators. /// /// Emits `CandidateRemoved`. + #[pallet::call_index(5)] #[pallet::weight(::WeightInfo::force_remove_candidate( T::MaxTopCandidates::get(), T::MaxDelegatorsPerCollator::get() @@ -965,6 +971,7 @@ pub mod pallet { /// candidates nor of the delegators set. /// /// Emits `JoinedCollatorCandidates`. + #[pallet::call_index(6)] #[pallet::weight(::WeightInfo::join_candidates( T::MaxTopCandidates::get(), T::MaxDelegatorsPerCollator::get() @@ -1038,6 +1045,7 @@ pub mod pallet { /// rewards, until the end of the next session. /// /// Emits `CollatorScheduledExit`. + #[pallet::call_index(7)] #[pallet::weight(::WeightInfo::init_leave_candidates( T::MaxTopCandidates::get(), T::MaxTopCandidates::get().saturating_mul(T::MaxDelegatorsPerCollator::get()) @@ -1100,6 +1108,7 @@ pub mod pallet { /// `MaxTopCandidates`. /// /// Emits `CollatorLeft`. + #[pallet::call_index(8)] #[pallet::weight(::WeightInfo::execute_leave_candidates( T::MaxTopCandidates::get(), T::MaxDelegatorsPerCollator::get(), @@ -1139,6 +1148,7 @@ pub mod pallet { /// `init_leave_candidates`. /// /// Emits `CollatorCanceledExit`. + #[pallet::call_index(9)] #[pallet::weight(::WeightInfo::cancel_leave_candidates( T::MaxTopCandidates::get(), T::MaxDelegatorsPerCollator::get(), @@ -1186,6 +1196,7 @@ pub mod pallet { /// allowed range as set in the pallet's configuration. /// /// Emits `CollatorStakedMore`. + #[pallet::call_index(10)] #[pallet::weight(::WeightInfo::candidate_stake_more( T::MaxTopCandidates::get(), T::MaxDelegatorsPerCollator::get(), @@ -1255,6 +1266,7 @@ pub mod pallet { /// allowed range as set in the pallet's configuration. /// /// Emits `CollatorStakedLess`. + #[pallet::call_index(11)] #[pallet::weight(::WeightInfo::candidate_stake_less( T::MaxTopCandidates::get(), T::MaxDelegatorsPerCollator::get() @@ -1329,6 +1341,7 @@ pub mod pallet { /// Emits `DelegationReplaced` if the candidate has /// `MaxDelegatorsPerCollator` many delegations but this delegator /// staked more than one of the other delegators of this candidate. + #[pallet::call_index(12)] #[pallet::weight(::WeightInfo::join_delegators( T::MaxTopCandidates::get(), T::MaxDelegatorsPerCollator::get() @@ -1454,6 +1467,7 @@ pub mod pallet { /// the current delegation. /// /// Emits `DelegatorLeft`. + #[pallet::call_index(13)] #[pallet::weight(::WeightInfo::leave_delegators( T::MaxTopCandidates::get(), T::MaxDelegatorsPerCollator::get() @@ -1482,6 +1496,7 @@ pub mod pallet { /// collator candidate to be added to it. /// /// Emits `DelegatorStakedMore`. + #[pallet::call_index(14)] #[pallet::weight(::WeightInfo::delegator_stake_more( T::MaxTopCandidates::get(), T::MaxDelegatorsPerCollator::get(), @@ -1557,6 +1572,7 @@ pub mod pallet { /// allowed range as set in the pallet's configuration. /// /// Emits `DelegatorStakedLess`. + #[pallet::call_index(15)] #[pallet::weight(::WeightInfo::delegator_stake_less( T::MaxTopCandidates::get(), T::MaxDelegatorsPerCollator::get() @@ -1629,6 +1645,7 @@ pub mod pallet { /// - Writes: Unstaking, Locks /// - Kills: Unstaking & Locks if no balance is locked anymore /// # + #[pallet::call_index(16)] #[pallet::weight(::WeightInfo::unlock_unstaked( T::MaxUnstakeRequests::get().saturated_into::() ))] @@ -1659,6 +1676,7 @@ pub mod pallet { /// for anyone. /// /// Emits `Rewarded`. + #[pallet::call_index(17)] #[pallet::weight(::WeightInfo::claim_rewards())] pub fn claim_rewards(origin: OriginFor) -> DispatchResult { let target = ensure_signed(origin)?; @@ -1681,6 +1699,7 @@ pub mod pallet { /// network. /// /// The dispatch origin must be a collator. + #[pallet::call_index(18)] #[pallet::weight(::WeightInfo::increment_collator_rewards())] pub fn increment_collator_rewards(origin: OriginFor) -> DispatchResult { let collator = ensure_signed(origin)?; @@ -1698,6 +1717,7 @@ pub mod pallet { /// delegations. /// /// The dispatch origin must be a delegator. + #[pallet::call_index(19)] #[pallet::weight(::WeightInfo::increment_delegator_rewards())] pub fn increment_delegator_rewards(origin: OriginFor) -> DispatchResult { let delegator = ensure_signed(origin)?; @@ -1720,6 +1740,7 @@ pub mod pallet { /// too early. /// /// Emits `RoundInflationSet`. + #[pallet::call_index(20)] #[pallet::weight(::WeightInfo::execute_scheduled_reward_change(T::MaxTopCandidates::get(), T::MaxDelegatorsPerCollator::get()))] pub fn execute_scheduled_reward_change(origin: OriginFor) -> DispatchResultWithPostInfo { ensure_signed(origin)?; diff --git a/pallets/public-credentials/src/lib.rs b/pallets/public-credentials/src/lib.rs index c654215fd..aecd36f7a 100644 --- a/pallets/public-credentials/src/lib.rs +++ b/pallets/public-credentials/src/lib.rs @@ -238,6 +238,7 @@ pub mod pallet { /// /// Emits `CredentialStored`. #[allow(clippy::boxed_local)] + #[pallet::call_index(0)] #[pallet::weight({ let xt_weight = ::WeightInfo::add(credential.claims.len().saturated_into::()); let ac_weight = credential.authorization.as_ref().map(|ac| ac.can_issue_weight()).unwrap_or(Weight::zero()); @@ -325,6 +326,7 @@ pub mod pallet { /// The dispatch origin must be authorized to revoke the credential. /// /// Emits `CredentialRevoked`. + #[pallet::call_index(1)] #[pallet::weight({ let xt_weight = ::WeightInfo::revoke(); let ac_weight = authorization.as_ref().map(|ac| ac.can_revoke_weight()).unwrap_or(Weight::zero()); @@ -363,6 +365,7 @@ pub mod pallet { /// credential. /// /// Emits `CredentialUnrevoked`. + #[pallet::call_index(2)] #[pallet::weight({ let xt_weight = ::WeightInfo::unrevoke(); let ac_weight = authorization.as_ref().map(|ac| ac.can_unrevoke_weight()).unwrap_or(Weight::zero()); @@ -409,6 +412,7 @@ pub mod pallet { /// The dispatch origin must be authorized to remove the credential. /// /// Emits `CredentialRemoved`. + #[pallet::call_index(3)] #[pallet::weight({ let xt_weight = ::WeightInfo::remove(); let ac_weight = authorization.as_ref().map(|ac| ac.can_remove_weight()).unwrap_or(Weight::zero()); @@ -467,6 +471,7 @@ pub mod pallet { /// credential's attester. /// /// Emits `CredentialRemoved`. + #[pallet::call_index(4)] #[pallet::weight(::WeightInfo::reclaim_deposit())] pub fn reclaim_deposit(origin: OriginFor, credential_id: CredentialIdOf) -> DispatchResult { let submitter = ensure_signed(origin)?; @@ -489,6 +494,7 @@ pub mod pallet { /// /// The subject of the call must be the owner of the credential. /// The sender of the call will be the new deposit owner. + #[pallet::call_index(5)] #[pallet::weight(::WeightInfo::change_deposit_owner())] pub fn change_deposit_owner(origin: OriginFor, credential_id: CredentialIdOf) -> DispatchResult { let source = ::EnsureOrigin::ensure_origin(origin)?; @@ -506,6 +512,7 @@ pub mod pallet { /// Updates the deposit amount to the current deposit rate. /// /// The sender must be the deposit owner. + #[pallet::call_index(6)] #[pallet::weight(::WeightInfo::update_deposit())] pub fn update_deposit(origin: OriginFor, credential_id: CredentialIdOf) -> DispatchResult { let source = ensure_signed(origin)?; diff --git a/runtimes/clone/src/lib.rs b/runtimes/clone/src/lib.rs index 1d298e290..497c89d05 100644 --- a/runtimes/clone/src/lib.rs +++ b/runtimes/clone/src/lib.rs @@ -412,7 +412,7 @@ pub type SignedExtra = ( frame_system::CheckNonce, frame_system::CheckWeight, pallet_transaction_payment::ChargeTransactionPayment, - cumulus_pallet_solo_to_para::CheckSudo, + pallet_sudo::CheckOnlySudoAccount, ); /// Unchecked extrinsic type as expected by this runtime. pub type UncheckedExtrinsic = generic::UncheckedExtrinsic; @@ -689,21 +689,22 @@ impl_runtime_apis! { #[cfg(feature = "try-runtime")] impl frame_try_runtime::TryRuntime for Runtime { - fn on_runtime_upgrade() -> (Weight, Weight) { + fn on_runtime_upgrade(checks: bool) -> (Weight, Weight) { log::info!("try-runtime::on_runtime_upgrade clone."); - let weight = Executive::try_runtime_upgrade().unwrap(); + let weight = Executive::try_runtime_upgrade(checks).unwrap(); (weight, BlockWeights::get().max_block) } - fn execute_block(block: Block, state_root_check: bool, select: frame_try_runtime::TryStateSelect) -> Weight { + fn execute_block(block: Block, state_root_check: bool, sig_check: bool, select: frame_try_runtime::TryStateSelect) -> Weight { log::info!( - target: "runtime::clone", "try-runtime: executing block #{} ({:?}) / root checks: {:?} / sanity-checks: {:?}", + target: "runtime::clone", "try-runtime: executing block #{} ({:?}) / root checks: {:?} / sig check: {:?} / sanity-checks: {:?}", block.header.number, block.header.hash(), state_root_check, + sig_check, select, ); - Executive::try_execute_block(block, state_root_check, select).expect("try_execute_block failed") + Executive::try_execute_block(block, state_root_check, sig_check, select).expect("try_execute_block failed") } } } diff --git a/runtimes/common/src/constants.rs b/runtimes/common/src/constants.rs index 97af9605a..7ff7dc632 100644 --- a/runtimes/common/src/constants.rs +++ b/runtimes/common/src/constants.rs @@ -19,7 +19,7 @@ use frame_support::{ parameter_types, traits::WithdrawReasons, - weights::{constants::WEIGHT_PER_SECOND, Weight}, + weights::{constants::WEIGHT_REF_TIME_PER_SECOND, Weight}, }; use sp_runtime::{Perbill, Percent, Perquintill}; @@ -68,7 +68,7 @@ pub const AVERAGE_ON_INITIALIZE_RATIO: Perbill = Perbill::from_percent(10); /// used by Operational extrinsics. pub const NORMAL_DISPATCH_RATIO: Perbill = Perbill::from_percent(75); /// We allow for 0.5 seconds of compute with a 12 second average block time. -pub const MAXIMUM_BLOCK_WEIGHT: Weight = WEIGHT_PER_SECOND +pub const MAXIMUM_BLOCK_WEIGHT: Weight = Weight::from_ref_time(WEIGHT_REF_TIME_PER_SECOND) .saturating_div(2) .set_proof_size(cumulus_primitives_core::relay_chain::v2::MAX_POV_SIZE as u64); diff --git a/runtimes/peregrine/src/lib.rs b/runtimes/peregrine/src/lib.rs index 71352d5e3..d8ff341e5 100644 --- a/runtimes/peregrine/src/lib.rs +++ b/runtimes/peregrine/src/lib.rs @@ -1410,21 +1410,22 @@ impl_runtime_apis! { #[cfg(feature = "try-runtime")] impl frame_try_runtime::TryRuntime for Runtime { - fn on_runtime_upgrade() -> (Weight, Weight) { + fn on_runtime_upgrade(checks: bool) -> (Weight, Weight) { log::info!("try-runtime::on_runtime_upgrade peregrine."); - let weight = Executive::try_runtime_upgrade().unwrap(); + let weight = Executive::try_runtime_upgrade(checks).unwrap(); (weight, BlockWeights::get().max_block) } - fn execute_block(block: Block, state_root_check: bool, select: frame_try_runtime::TryStateSelect) -> Weight { + fn execute_block(block: Block, state_root_check: bool, sig_check: bool, select: frame_try_runtime::TryStateSelect) -> Weight { log::info!( - target: "runtime::peregrine", "try-runtime: executing block #{} ({:?}) / root checks: {:?} / sanity-checks: {:?}", + target: "runtime::peregrine", "try-runtime: executing block #{} ({:?}) / root checks: {:?} / sig check: {:?} / sanity-checks: {:?}", block.header.number, block.header.hash(), state_root_check, + sig_check, select, ); - Executive::try_execute_block(block, state_root_check, select).expect("try_execute_block failed") + Executive::try_execute_block(block, state_root_check, sig_check, select).expect("try_execute_block failed") } } } diff --git a/runtimes/spiritnet/src/lib.rs b/runtimes/spiritnet/src/lib.rs index 891e2708d..94808274e 100644 --- a/runtimes/spiritnet/src/lib.rs +++ b/runtimes/spiritnet/src/lib.rs @@ -1404,21 +1404,22 @@ impl_runtime_apis! { #[cfg(feature = "try-runtime")] impl frame_try_runtime::TryRuntime for Runtime { - fn on_runtime_upgrade() -> (Weight, Weight) { + fn on_runtime_upgrade(checks: bool) -> (Weight, Weight) { log::info!("try-runtime::on_runtime_upgrade spiritnet."); - let weight = Executive::try_runtime_upgrade().unwrap(); + let weight = Executive::try_runtime_upgrade(checks).unwrap(); (weight, BlockWeights::get().max_block) } - fn execute_block(block: Block, state_root_check: bool, select: frame_try_runtime::TryStateSelect) -> Weight { + fn execute_block(block: Block, state_root_check: bool, sig_check: bool, select: frame_try_runtime::TryStateSelect) -> Weight { log::info!( - target: "runtime::spiritnet", "try-runtime: executing block #{} ({:?}) / root checks: {:?} / sanity-checks: {:?}", + target: "runtime::spiritnet", "try-runtime: executing block #{} ({:?}) / root checks: {:?} / sig check: {:?} / sanity-checks: {:?}", block.header.number, block.header.hash(), state_root_check, + sig_check, select, ); - Executive::try_execute_block(block, state_root_check, select).expect("try_execute_block failed") + Executive::try_execute_block(block, state_root_check, sig_check, select).expect("try_execute_block failed") } } } diff --git a/runtimes/standalone/src/lib.rs b/runtimes/standalone/src/lib.rs index ebe34d9c3..0b0dfb3c1 100644 --- a/runtimes/standalone/src/lib.rs +++ b/runtimes/standalone/src/lib.rs @@ -1123,21 +1123,22 @@ impl_runtime_apis! { #[cfg(feature = "try-runtime")] impl frame_try_runtime::TryRuntime for Runtime { - fn on_runtime_upgrade() -> (Weight, Weight) { + fn on_runtime_upgrade(checks: bool) -> (Weight, Weight) { log::info!("try-runtime::on_runtime_upgrade mashnet-node standalone."); - let weight = Executive::try_runtime_upgrade().unwrap(); + let weight = Executive::try_runtime_upgrade(checks).unwrap(); (weight, runtime_common::BlockWeights::get().max_block) } - fn execute_block(block: Block, state_root_check: bool, select: frame_try_runtime::TryStateSelect) -> Weight { + fn execute_block(block: Block, state_root_check: bool, sig_check: bool, select: frame_try_runtime::TryStateSelect) -> Weight { log::info!( - target: "runtime::mashnet_node_standalone", "try-runtime: executing block #{} ({:?}) / root checks: {:?} / sanity-checks: {:?}", + target: "runtime::standalone", "try-runtime: executing block #{} ({:?}) / root checks: {:?} / sig check: {:?} / sanity-checks: {:?}", block.header.number, block.header.hash(), state_root_check, + sig_check, select, ); - Executive::try_execute_block(block, state_root_check, select).expect("try_execute_block failed") + Executive::try_execute_block(block, state_root_check, sig_check, select).expect("try_execute_block failed") } } } diff --git a/scripts/init.sh b/scripts/init.sh old mode 100755 new mode 100644 From 3cf77b737109690c4a16bed342d6adcb30f5b497 Mon Sep 17 00:00:00 2001 From: Tino Rusch Date: Mon, 23 Jan 2023 12:07:25 +0100 Subject: [PATCH 25/38] feat: bump polkadot versions to v0.9.37 (#452) ## fixes KILTProtocol/ticket#2392 ## Breaking Changes for us ~~None! :partying_face:~~ Edit: Forgot to also check with try-runtime feature enabled. There is a small tweak necessary because of [This PR about on-runtime-upgrade](https://github.com/paritytech/substrate/pull/13045) No database migrations, no runtime migrations and no new host functions. ## Polkadot Release Link https://github.com/paritytech/polkadot/releases/tag/v0.9.37 ## Release Analysis Forum Post https://forum.polkadot.network/t/polkadot-release-analysis-v0-9-37/1736 ## Cool new stuff that might be useful (or not) * [frame_support::storage: Add StorageStreamIter](https://github.com/paritytech/substrate/pull/12721) * If we have a StorageValue that contains something iterable, we can directly iterate over it, without copying the memory first by a regular get() call. * [Add ensure_* mathematical methods](https://github.com/paritytech/substrate/issues/12754) * The checked_* family of calls returns an Option which is in 99% of the cases mapped to an error * ensure_* calls directly return an error which can be propagated using questionmark operator more easily * [Kusama shows how to express complex local origins in XCM messages](https://github.com/paritytech/polkadot/pull/6273) * Perhaps the most interesting one in this release, would be a good idea for @weichweich and @ntn-x2 to have a look into this * [pallet_uniques successor NFTv2 is out! :partying_face: :smile: ](https://github.com/paritytech/substrate/pull/12765) * Finally we can have NFTs with owner controlled metadata on our chain. * They even literally mention that this way users can write DIDs directly on their NFT! --- Cargo.lock | 2425 +++++++++++++++++++++----------- Cargo.toml | 202 +-- runtimes/clone/src/lib.rs | 6 +- runtimes/peregrine/src/lib.rs | 6 +- runtimes/spiritnet/src/lib.rs | 6 +- runtimes/standalone/src/lib.rs | 6 +- 6 files changed, 1714 insertions(+), 937 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 364dbf95e..e61d9cd77 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -27,7 +27,7 @@ version = "0.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a76fd60b23679b7d19bd066031410fb7e458ccc5e958eb5c325888ce4baedc97" dependencies = [ - "gimli 0.27.0", + "gimli 0.27.1", ] [[package]] @@ -36,6 +36,15 @@ version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" +[[package]] +name = "aead" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7fc95d1bdb8e6666b2b217308eeeb09f2d6728d104be3e31916cc74d15420331" +dependencies = [ + "generic-array 0.14.6", +] + [[package]] name = "aead" version = "0.4.3" @@ -43,6 +52,18 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0b613b8e1e3cf911a086f53f03bf286f52fd7a7258e4fa606f0ef220d39d8877" dependencies = [ "generic-array 0.14.6", + "rand_core 0.6.4", +] + +[[package]] +name = "aes" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "884391ef1066acaa41e766ba8f596341b96e93ce34f9a43e7d24bf0a0eaf0561" +dependencies = [ + "aes-soft", + "aesni", + "cipher 0.2.5", ] [[package]] @@ -52,25 +73,59 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9e8b47f52ea9bae42228d07ec09eb676433d7c4ed1ebdf0f1d1c29ed446f1ab8" dependencies = [ "cfg-if", - "cipher", + "cipher 0.3.0", "cpufeatures", "opaque-debug 0.3.0", ] +[[package]] +name = "aes-gcm" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5278b5fabbb9bd46e24aa69b2fdea62c99088e0a950a9be40e3e0101298f88da" +dependencies = [ + "aead 0.3.2", + "aes 0.6.0", + "cipher 0.2.5", + "ctr 0.6.0", + "ghash 0.3.1", + "subtle", +] + [[package]] name = "aes-gcm" version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "df5f85a83a7d8b0442b6aa7b504b8212c1733da07b98aae43d4bc21b2cb3cdf6" dependencies = [ - "aead", - "aes", - "cipher", - "ctr", - "ghash", + "aead 0.4.3", + "aes 0.7.5", + "cipher 0.3.0", + "ctr 0.8.0", + "ghash 0.4.4", "subtle", ] +[[package]] +name = "aes-soft" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be14c7498ea50828a38d0e24a765ed2effe92a705885b57d029cd67d45744072" +dependencies = [ + "cipher 0.2.5", + "opaque-debug 0.3.0", +] + +[[package]] +name = "aesni" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea2e11f5e94c2f7d386164cc2aa1f97823fed6f259e486940a71c174dd01b0ce" +dependencies = [ + "cipher 0.2.5", + "opaque-debug 0.3.0", +] + [[package]] name = "ahash" version = "0.7.6" @@ -130,6 +185,12 @@ dependencies = [ "num-traits", ] +[[package]] +name = "arc-swap" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bddcadddf5e9015d310179a59bb28c4d4b9920ad0f11e8e14dbadf654890c9a6" + [[package]] name = "array-bytes" version = "4.2.0" @@ -161,66 +222,83 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8da52d66c7071e2e3fa2a1e5c6d088fec47b593032b254f5e980de8ea54454d6" [[package]] -name = "asn1_der" -version = "0.7.5" +name = "asn1-rs" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e22d1f4b888c298a027c99dc9048015fac177587de20fc30232a057dfbe24a21" +checksum = "30ff05a702273012438132f449575dbc804e27b2f3cbe3069aa237d26c98fa33" +dependencies = [ + "asn1-rs-derive 0.1.0", + "asn1-rs-impl", + "displaydoc", + "nom", + "num-traits", + "rusticata-macros", + "thiserror", + "time 0.3.17", +] [[package]] -name = "assert_matches" -version = "1.5.0" +name = "asn1-rs" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b34d609dfbaf33d6889b2b7106d3ca345eacad44200913df5ba02bfd31d2ba9" +checksum = "cf6690c370453db30743b373a60ba498fc0d6d83b11f4abfd87a84a075db5dd4" +dependencies = [ + "asn1-rs-derive 0.4.0", + "asn1-rs-impl", + "displaydoc", + "nom", + "num-traits", + "rusticata-macros", + "thiserror", + "time 0.3.17", +] [[package]] -name = "async-attributes" -version = "1.1.2" +name = "asn1-rs-derive" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3203e79f4dd9bdda415ed03cf14dae5a2bf775c683a00f94e9cd1faf0f596e5" +checksum = "db8b7511298d5b7784b40b092d9e9dcd3a627a5707e4b5e507931ab0d44eeebf" dependencies = [ + "proc-macro2", "quote", "syn", + "synstructure", ] [[package]] -name = "async-channel" -version = "1.8.0" +name = "asn1-rs-derive" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf46fee83e5ccffc220104713af3292ff9bc7c64c7de289f66dae8e38d826833" +checksum = "726535892e8eae7e70657b4c8ea93d26b8553afb1ce617caee529ef96d7dee6c" dependencies = [ - "concurrent-queue", - "event-listener", - "futures-core", + "proc-macro2", + "quote", + "syn", + "synstructure", ] [[package]] -name = "async-executor" -version = "1.5.0" +name = "asn1-rs-impl" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17adb73da160dfb475c183343c8cccd80721ea5a605d3eb57125f0a7b7a92d0b" +checksum = "2777730b2039ac0f95f093556e61b6d26cebed5393ca6f152717777cec3a42ed" dependencies = [ - "async-lock", - "async-task", - "concurrent-queue", - "fastrand", - "futures-lite", - "slab", + "proc-macro2", + "quote", + "syn", ] [[package]] -name = "async-global-executor" -version = "2.3.1" +name = "asn1_der" +version = "0.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1b6f5d7df27bd294849f8eec66ecfc63d11814df7a4f5d74168a2394467b776" -dependencies = [ - "async-channel", - "async-executor", - "async-io", - "async-lock", - "blocking", - "futures-lite", - "once_cell", -] +checksum = "e22d1f4b888c298a027c99dc9048015fac177587de20fc30232a057dfbe24a21" + +[[package]] +name = "assert_matches" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b34d609dfbaf33d6889b2b7106d3ca345eacad44200913df5ba02bfd31d2ba9" [[package]] name = "async-io" @@ -252,62 +330,11 @@ dependencies = [ "futures-lite", ] -[[package]] -name = "async-process" -version = "1.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6381ead98388605d0d9ff86371043b5aa922a3905824244de40dc263a14fcba4" -dependencies = [ - "async-io", - "async-lock", - "autocfg", - "blocking", - "cfg-if", - "event-listener", - "futures-lite", - "libc", - "signal-hook", - "windows-sys 0.42.0", -] - -[[package]] -name = "async-std" -version = "1.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62565bb4402e926b29953c785397c6dc0391b7b446e45008b0049eb43cec6f5d" -dependencies = [ - "async-attributes", - "async-channel", - "async-global-executor", - "async-io", - "async-lock", - "crossbeam-utils", - "futures-channel", - "futures-core", - "futures-io", - "futures-lite", - "gloo-timers", - "kv-log-macro", - "log", - "memchr", - "once_cell", - "pin-project-lite 0.2.9", - "pin-utils", - "slab", - "wasm-bindgen-futures", -] - -[[package]] -name = "async-task" -version = "4.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a40729d2133846d9ed0ea60a8b9541bccddab49cd30f0715a1da672fe9a2524" - [[package]] name = "async-trait" -version = "0.1.60" +version = "0.1.63" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "677d1d8ab452a3936018a687b20e6f7cf5363d713b732b8884001317b0e48aa3" +checksum = "eff18d764974428cf3a9328e23fc5c986f5fbed46e6cd4cdf42544df5d297ec1" dependencies = [ "proc-macro2", "quote", @@ -329,9 +356,9 @@ dependencies = [ [[package]] name = "atomic-waker" -version = "1.0.0" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "065374052e7df7ee4047b1160cca5e1467a12351a40b3da123c870ba0b8eda2a" +checksum = "debc29dde2e69f9e47506b525f639ed42300fc014a3e007832592448fa8e4599" [[package]] name = "attestation" @@ -383,7 +410,7 @@ dependencies = [ "cfg-if", "libc", "miniz_oxide", - "object 0.30.1", + "object 0.30.3", "rustc-demangle", ] @@ -411,6 +438,12 @@ version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" +[[package]] +name = "base64" +version = "0.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4a4ddaa51a5bc52a6948f74c06d20aaaddb71924eab79b8c97a8c556e942d6a" + [[package]] name = "base64ct" version = "1.5.3" @@ -429,20 +462,17 @@ dependencies = [ [[package]] name = "beefy-gadget" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "array-bytes 4.2.0", "async-trait", "fnv", "futures", - "futures-timer", "log", "parity-scale-codec", "parking_lot 0.12.1", - "sc-chain-spec", "sc-client-api", "sc-consensus", - "sc-finality-grandpa", "sc-keystore", "sc-network", "sc-network-common", @@ -466,7 +496,7 @@ dependencies = [ [[package]] name = "beefy-gadget-rpc" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "beefy-gadget", "futures", @@ -475,7 +505,6 @@ dependencies = [ "parity-scale-codec", "parking_lot 0.12.1", "sc-rpc", - "sc-utils", "serde", "sp-beefy", "sp-core", @@ -486,7 +515,7 @@ dependencies = [ [[package]] name = "beefy-merkle-tree" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "sp-api", "sp-beefy", @@ -590,7 +619,7 @@ version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c0940dc441f31689269e10ac70eb1002a3a1d3ad1390e030043662eb7fe4688b" dependencies = [ - "block-padding", + "block-padding 0.1.5", "byte-tools", "byteorder", "generic-array 0.12.4", @@ -614,6 +643,16 @@ dependencies = [ "generic-array 0.14.6", ] +[[package]] +name = "block-modes" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57a0e8073e8baa88212fb5823574c02ebccb395136ba9a164ab89379ec6072f0" +dependencies = [ + "block-padding 0.2.1", + "cipher 0.2.5", +] + [[package]] name = "block-padding" version = "0.1.5" @@ -624,18 +663,10 @@ dependencies = [ ] [[package]] -name = "blocking" -version = "1.3.0" +name = "block-padding" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c67b173a56acffd6d2326fb7ab938ba0b00a71480e14902b2591c87bc5741e8" -dependencies = [ - "async-channel", - "async-lock", - "async-task", - "atomic-waker", - "fastrand", - "futures-lite", -] +checksum = "8d696c370c750c948ada61c69a0ee2cbbb9c50b1019ddb86d9317157a99c2cae" [[package]] name = "bounded-vec" @@ -673,9 +704,9 @@ dependencies = [ [[package]] name = "bumpalo" -version = "3.11.1" +version = "3.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "572f695136211188308f16ad2ca5c851a712c464060ae6974944458eb83880ba" +checksum = "0d261e256854913907f67ed06efbc3338dfe6179796deefc1ff763fc1aee5535" [[package]] name = "byte-slice-cast" @@ -714,9 +745,9 @@ dependencies = [ [[package]] name = "camino" -version = "1.1.1" +version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88ad0e1e3e88dd237a156ab9f571021b8a158caa0ae44b1968a241efb5144c1e" +checksum = "c77df041dc383319cc661b428b6961a005db4d6808d5e12536931b1ca9556055" dependencies = [ "serde", ] @@ -752,6 +783,17 @@ dependencies = [ "jobserver", ] +[[package]] +name = "ccm" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5aca1a8fbc20b50ac9673ff014abfb2b5f4085ee1a850d408f14a159c5853ac7" +dependencies = [ + "aead 0.3.2", + "cipher 0.2.5", + "subtle", +] + [[package]] name = "cexpr" version = "0.6.0" @@ -789,7 +831,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5c80e5460aa66fe3b91d40bcbdab953a597b60053e34d684ac6903f863b680a6" dependencies = [ "cfg-if", - "cipher", + "cipher 0.3.0", "cpufeatures", "zeroize", ] @@ -800,9 +842,9 @@ version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a18446b09be63d457bbec447509e85f662f32952b035ce892290396bc0b0cff5" dependencies = [ - "aead", + "aead 0.4.3", "chacha20", - "cipher", + "cipher 0.3.0", "poly1305", "zeroize", ] @@ -817,7 +859,7 @@ dependencies = [ "js-sys", "num-integer", "num-traits", - "time", + "time 0.1.45", "wasm-bindgen", "winapi", ] @@ -835,6 +877,15 @@ dependencies = [ "unsigned-varint", ] +[[package]] +name = "cipher" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "12f8e7987cbd042a63249497f41aed09f8e65add917ea6566effbc56578d6801" +dependencies = [ + "generic-array 0.14.6", +] + [[package]] name = "cipher" version = "0.3.0" @@ -866,9 +917,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.0.32" +version = "4.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7db700bc935f9e43e88d00b0850dae18a63773cfbec6d8e070fccf7fef89a39" +checksum = "4ec7a4128863c188deefe750ac1d1dfe66c236909f845af04beed823638dc1b2" dependencies = [ "bitflags", "clap_derive", @@ -881,9 +932,9 @@ dependencies = [ [[package]] name = "clap_derive" -version = "4.0.21" +version = "4.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0177313f9f02afc995627906bbd8967e2be069f5261954222dac78290c2b9014" +checksum = "684a277d672e91966334af371f1a7b5833f9aa00b07c84e92fbce95e00208ce8" dependencies = [ "heck", "proc-macro-error", @@ -894,9 +945,9 @@ dependencies = [ [[package]] name = "clap_lex" -version = "0.3.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d4198f73e42b4936b35b5bb248d81d2b595ecb170da0bac7655c54eedfa8da8" +checksum = "783fe232adfca04f90f56201b26d79682d4cd2625e0bc7290b95123afe558ade" dependencies = [ "os_str_bytes", ] @@ -995,9 +1046,9 @@ dependencies = [ [[package]] name = "concurrent-queue" -version = "2.0.0" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd7bef69dc86e3c610e4e7aed41035e2a7ed12e72dd7530f61327a6579a4390b" +checksum = "c278839b831783b70278b14df4d45e1beb1aad306c07bb796637de9a0e323e8e" dependencies = [ "crossbeam-utils", ] @@ -1079,6 +1130,12 @@ dependencies = [ "libc", ] +[[package]] +name = "cpuid-bool" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dcb25d077389e53838a8158c8e99174c5a9d902dee4904320db714f3c653ffba" + [[package]] name = "cranelift-bforest" version = "0.88.2" @@ -1177,6 +1234,21 @@ dependencies = [ "wasmtime-types", ] +[[package]] +name = "crc" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53757d12b596c16c78b83458d732a5d1a17ab3f53f2f7412f6fb57cc8a140ab3" +dependencies = [ + "crc-catalog", +] + +[[package]] +name = "crc-catalog" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9cace84e55f07e7301bae1c519df89cdad8cc3cd868413d3fdbdeca9ff3db484" + [[package]] name = "crc32fast" version = "1.3.2" @@ -1277,6 +1349,16 @@ dependencies = [ "subtle", ] +[[package]] +name = "crypto-mac" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bff07008ec701e8028e2ceb8f83f0e4274ee62bd2dbdc4fefff2e9a91824081a" +dependencies = [ + "generic-array 0.14.6", + "subtle", +] + [[package]] name = "crypto-mac" version = "0.11.1" @@ -1288,13 +1370,12 @@ dependencies = [ ] [[package]] -name = "ctor" -version = "0.1.26" +name = "ctr" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d2301688392eb071b0bf1a37be05c469d3cc4dbbd95df672fe28ab021e6a096" +checksum = "fb4a30d54f7443bf3d6191dcd486aca19e67cb3c49fa7a06a319966346707e7f" dependencies = [ - "quote", - "syn", + "cipher 0.2.5", ] [[package]] @@ -1303,7 +1384,7 @@ version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "049bb91fb4aaf0e3c7efa6cd5ef877dbbbd15b39dad06d9948de4ec8a75761ea" dependencies = [ - "cipher", + "cipher 0.3.0", ] [[package]] @@ -1329,7 +1410,7 @@ dependencies = [ [[package]] name = "cumulus-client-cli" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.36#afe528af891f464b318293f183f6d3eefbc979b0" +source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b" dependencies = [ "clap", "parity-scale-codec", @@ -1344,7 +1425,7 @@ dependencies = [ [[package]] name = "cumulus-client-collator" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.36#afe528af891f464b318293f183f6d3eefbc979b0" +source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b" dependencies = [ "cumulus-client-consensus-common", "cumulus-client-network", @@ -1367,7 +1448,7 @@ dependencies = [ [[package]] name = "cumulus-client-consensus-aura" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.36#afe528af891f464b318293f183f6d3eefbc979b0" +source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b" dependencies = [ "async-trait", "cumulus-client-consensus-common", @@ -1396,7 +1477,7 @@ dependencies = [ [[package]] name = "cumulus-client-consensus-common" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.36#afe528af891f464b318293f183f6d3eefbc979b0" +source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b" dependencies = [ "async-trait", "cumulus-client-pov-recovery", @@ -1419,7 +1500,7 @@ dependencies = [ [[package]] name = "cumulus-client-network" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.36#afe528af891f464b318293f183f6d3eefbc979b0" +source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b" dependencies = [ "async-trait", "cumulus-relay-chain-interface", @@ -1442,7 +1523,7 @@ dependencies = [ [[package]] name = "cumulus-client-pov-recovery" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.36#afe528af891f464b318293f183f6d3eefbc979b0" +source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b" dependencies = [ "cumulus-primitives-core", "cumulus-relay-chain-interface", @@ -1465,7 +1546,7 @@ dependencies = [ [[package]] name = "cumulus-client-service" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.36#afe528af891f464b318293f183f6d3eefbc979b0" +source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b" dependencies = [ "cumulus-client-cli", "cumulus-client-collator", @@ -1493,7 +1574,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-aura-ext" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.36#afe528af891f464b318293f183f6d3eefbc979b0" +source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b" dependencies = [ "frame-support", "frame-system", @@ -1509,7 +1590,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-dmp-queue" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.36#afe528af891f464b318293f183f6d3eefbc979b0" +source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b" dependencies = [ "cumulus-primitives-core", "frame-support", @@ -1526,7 +1607,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-parachain-system" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.36#afe528af891f464b318293f183f6d3eefbc979b0" +source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b" dependencies = [ "bytes", "cumulus-pallet-parachain-system-proc-macro", @@ -1554,7 +1635,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-parachain-system-proc-macro" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.36#afe528af891f464b318293f183f6d3eefbc979b0" +source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -1565,7 +1646,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-session-benchmarking" version = "3.0.0" -source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.36#afe528af891f464b318293f183f6d3eefbc979b0" +source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b" dependencies = [ "frame-benchmarking", "frame-support", @@ -1579,7 +1660,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-solo-to-para" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.36#afe528af891f464b318293f183f6d3eefbc979b0" +source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b" dependencies = [ "cumulus-pallet-parachain-system", "frame-support", @@ -1595,7 +1676,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-xcm" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.36#afe528af891f464b318293f183f6d3eefbc979b0" +source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b" dependencies = [ "cumulus-primitives-core", "frame-support", @@ -1611,7 +1692,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-xcmp-queue" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.36#afe528af891f464b318293f183f6d3eefbc979b0" +source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b" dependencies = [ "cumulus-primitives-core", "frame-benchmarking", @@ -1630,7 +1711,7 @@ dependencies = [ [[package]] name = "cumulus-primitives-core" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.36#afe528af891f464b318293f183f6d3eefbc979b0" +source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b" dependencies = [ "parity-scale-codec", "polkadot-core-primitives", @@ -1645,7 +1726,7 @@ dependencies = [ [[package]] name = "cumulus-primitives-parachain-inherent" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.36#afe528af891f464b318293f183f6d3eefbc979b0" +source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -1668,7 +1749,7 @@ dependencies = [ [[package]] name = "cumulus-primitives-timestamp" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.36#afe528af891f464b318293f183f6d3eefbc979b0" +source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b" dependencies = [ "cumulus-primitives-core", "futures", @@ -1681,7 +1762,7 @@ dependencies = [ [[package]] name = "cumulus-primitives-utility" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.36#afe528af891f464b318293f183f6d3eefbc979b0" +source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b" dependencies = [ "cumulus-primitives-core", "frame-support", @@ -1697,7 +1778,7 @@ dependencies = [ [[package]] name = "cumulus-relay-chain-inprocess-interface" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.36#afe528af891f464b318293f183f6d3eefbc979b0" +source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -1722,7 +1803,7 @@ dependencies = [ [[package]] name = "cumulus-relay-chain-interface" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.36#afe528af891f464b318293f183f6d3eefbc979b0" +source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -1742,7 +1823,7 @@ dependencies = [ [[package]] name = "cumulus-relay-chain-minimal-node" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.36#afe528af891f464b318293f183f6d3eefbc979b0" +source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b" dependencies = [ "array-bytes 6.0.0", "async-trait", @@ -1782,7 +1863,7 @@ dependencies = [ [[package]] name = "cumulus-relay-chain-rpc-interface" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.36#afe528af891f464b318293f183f6d3eefbc979b0" +source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -1811,7 +1892,7 @@ dependencies = [ [[package]] name = "cumulus-test-relay-sproof-builder" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.36#afe528af891f464b318293f183f6d3eefbc979b0" +source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b" dependencies = [ "cumulus-primitives-core", "parity-scale-codec", @@ -1863,9 +1944,9 @@ dependencies = [ [[package]] name = "cxx" -version = "1.0.85" +version = "1.0.87" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5add3fc1717409d029b20c5b6903fc0c0b02fa6741d820054f4a2efa5e5816fd" +checksum = "b61a7545f753a88bcbe0a70de1fcc0221e10bfc752f576754fa91e663db1622e" dependencies = [ "cc", "cxxbridge-flags", @@ -1875,9 +1956,9 @@ dependencies = [ [[package]] name = "cxx-build" -version = "1.0.85" +version = "1.0.87" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4c87959ba14bc6fbc61df77c3fcfe180fc32b93538c4f1031dd802ccb5f2ff0" +checksum = "f464457d494b5ed6905c63b0c4704842aba319084a0a3561cdc1359536b53200" dependencies = [ "cc", "codespan-reporting", @@ -1890,18 +1971,53 @@ dependencies = [ [[package]] name = "cxxbridge-flags" -version = "1.0.85" +version = "1.0.87" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69a3e162fde4e594ed2b07d0f83c6c67b745e7f28ce58c6df5e6b6bef99dfb59" +checksum = "43c7119ce3a3701ed81aca8410b9acf6fc399d2629d057b87e2efa4e63a3aaea" [[package]] name = "cxxbridge-macro" -version = "1.0.85" +version = "1.0.87" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "65e07508b90551e610910fa648a1878991d367064997a596135b86df30daf07e" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "darling" +version = "0.14.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b0dd3cd20dc6b5a876612a6e5accfe7f3dd883db6d07acfbf14c128f61550dfa" +dependencies = [ + "darling_core", + "darling_macro", +] + +[[package]] +name = "darling_core" +version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e7e2adeb6a0d4a282e581096b06e1791532b7d576dcde5ccd9382acf55db8e6" +checksum = "a784d2ccaf7c98501746bf0be29b2022ba41fd62a2e622af997a03e9f972859f" dependencies = [ + "fnv", + "ident_case", "proc-macro2", "quote", + "strsim", + "syn", +] + +[[package]] +name = "darling_macro" +version = "0.14.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7618812407e9402654622dd402b0a89dff9ba93badd6540781526117b92aab7e" +dependencies = [ + "darling_core", + "quote", "syn", ] @@ -1962,9 +2078,38 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f1a467a65c5e759bce6e65eaf91cc29f466cdc57cb65777bd646872a8a1fd4de" dependencies = [ "const-oid", + "pem-rfc7468", "zeroize", ] +[[package]] +name = "der-parser" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe398ac75057914d7d07307bf67dc7f3f574a26783b4fc7805a20ffa9f506e82" +dependencies = [ + "asn1-rs 0.3.1", + "displaydoc", + "nom", + "num-bigint", + "num-traits", + "rusticata-macros", +] + +[[package]] +name = "der-parser" +version = "8.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42d4bc9b0db0a0df9ae64634ac5bdefb7afcb534e182275ca0beadbe486701c1" +dependencies = [ + "asn1-rs 0.5.1", + "displaydoc", + "nom", + "num-bigint", + "num-traits", + "rusticata-macros", +] + [[package]] name = "derivative" version = "2.2.0" @@ -1977,12 +2122,43 @@ dependencies = [ ] [[package]] -name = "derive_more" -version = "0.99.17" +name = "derive_builder" +version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321" +checksum = "d07adf7be193b71cc36b193d0f5fe60b918a3a9db4dad0449f57bcfd519704a3" dependencies = [ - "convert_case", + "derive_builder_macro", +] + +[[package]] +name = "derive_builder_core" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f91d4cfa921f1c05904dc3c57b4a32c38aed3340cce209f3a6fd1478babafc4" +dependencies = [ + "darling", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "derive_builder_macro" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f0314b72bed045f3a68671b3c86328386762c93f82d98c65c3cb5e5f573dd68" +dependencies = [ + "derive_builder_core", + "syn", +] + +[[package]] +name = "derive_more" +version = "0.99.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321" +dependencies = [ + "convert_case", "proc-macro2", "quote", "rustc_version 0.4.0", @@ -2088,13 +2264,14 @@ dependencies = [ ] [[package]] -name = "dns-parser" -version = "0.8.0" +name = "displaydoc" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4d33be9473d06f75f58220f71f7a9317aca647dc061dbd3c361b0bef505fbea" +checksum = "3bf95dc3f046b9da4f2d51833c0d3547d8564ef6910f5c1ed130306a75b92886" dependencies = [ - "byteorder", - "quick-error", + "proc-macro2", + "quote", + "syn", ] [[package]] @@ -2156,9 +2333,9 @@ dependencies = [ [[package]] name = "ed25519" -version = "1.5.2" +version = "1.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e9c280362032ea4203659fc489832d0204ef09f247a0506f170dafcac08c369" +checksum = "91cff35c70bba8a626e3185d8cd48cc11b5437e1a5bcd15b9b5fa3c64b6dfee7" dependencies = [ "signature", ] @@ -2210,6 +2387,9 @@ dependencies = [ "ff", "generic-array 0.14.6", "group", + "hkdf", + "pem-rfc7468", + "pkcs8", "rand_core 0.6.4", "sec1", "subtle", @@ -2508,7 +2688,7 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" [[package]] name = "fork-tree" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "parity-scale-codec", ] @@ -2531,7 +2711,7 @@ checksum = "6c2141d6d6c8512188a7891b4b01590a45f6dac67afb4f255c4124dbb86d4eaa" [[package]] name = "frame-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "frame-support", "frame-system", @@ -2554,7 +2734,7 @@ dependencies = [ [[package]] name = "frame-benchmarking-cli" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "Inflector", "array-bytes 4.2.0", @@ -2566,16 +2746,13 @@ dependencies = [ "frame-system", "gethostname", "handlebars", - "hash-db", "itertools", - "kvdb", "lazy_static", "linked-hash-map", "log", - "memory-db", "parity-scale-codec", "rand 0.8.5", - "rand_pcg 0.3.1", + "rand_pcg", "sc-block-builder", "sc-cli", "sc-client-api", @@ -2585,7 +2762,6 @@ dependencies = [ "sc-sysinfo", "serde", "serde_json", - "serde_nanos", "sp-api", "sp-blockchain", "sp-core", @@ -2598,7 +2774,6 @@ dependencies = [ "sp-std", "sp-storage", "sp-trie", - "tempfile", "thiserror", "thousands", ] @@ -2606,7 +2781,7 @@ dependencies = [ [[package]] name = "frame-election-provider-solution-type" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -2617,7 +2792,7 @@ dependencies = [ [[package]] name = "frame-election-provider-support" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "frame-election-provider-solution-type", "frame-support", @@ -2634,7 +2809,7 @@ dependencies = [ [[package]] name = "frame-executive" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "frame-support", "frame-system", @@ -2663,18 +2838,15 @@ dependencies = [ [[package]] name = "frame-remote-externalities" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ - "env_logger 0.9.3", "futures", "log", "parity-scale-codec", "serde", - "serde_json", "sp-core", "sp-io", "sp-runtime", - "sp-version", "substrate-rpc-client", "tokio", ] @@ -2682,7 +2854,7 @@ dependencies = [ [[package]] name = "frame-support" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "bitflags", "frame-metadata", @@ -2714,7 +2886,7 @@ dependencies = [ [[package]] name = "frame-support-procedural" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "Inflector", "cfg-expr", @@ -2728,7 +2900,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate", @@ -2740,7 +2912,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "proc-macro2", "quote", @@ -2750,7 +2922,7 @@ dependencies = [ [[package]] name = "frame-system" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "frame-support", "log", @@ -2768,7 +2940,7 @@ dependencies = [ [[package]] name = "frame-system-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "frame-benchmarking", "frame-support", @@ -2783,7 +2955,7 @@ dependencies = [ [[package]] name = "frame-system-rpc-runtime-api" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "parity-scale-codec", "sp-api", @@ -2792,7 +2964,7 @@ dependencies = [ [[package]] name = "frame-try-runtime" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "frame-support", "parity-scale-codec", @@ -2911,8 +3083,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d2411eed028cdf8c8034eaf21f9915f956b6c3abec4d4c7949ee67f0721127bd" dependencies = [ "futures-io", - "rustls", - "webpki", + "rustls 0.20.8", + "webpki 0.22.0", ] [[package]] @@ -2996,10 +3168,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce" dependencies = [ "cfg-if", - "js-sys", "libc", "wasi 0.9.0+wasi-snapshot-preview1", - "wasm-bindgen", ] [[package]] @@ -3013,6 +3183,16 @@ dependencies = [ "wasi 0.11.0+wasi-snapshot-preview1", ] +[[package]] +name = "ghash" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97304e4cd182c3846f7575ced3890c53012ce534ad9114046b0a9e00bb30a375" +dependencies = [ + "opaque-debug 0.3.0", + "polyval 0.4.5", +] + [[package]] name = "ghash" version = "0.4.4" @@ -3020,7 +3200,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1583cc1656d7839fd3732b80cf4f38850336cdb9b8ded1cd399ca62958de3c99" dependencies = [ "opaque-debug 0.3.0", - "polyval", + "polyval 0.5.3", ] [[package]] @@ -3036,15 +3216,15 @@ dependencies = [ [[package]] name = "gimli" -version = "0.27.0" +version = "0.27.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dec7af912d60cdbd3677c1af9352ebae6fb8394d165568a2234df0fa00f87793" +checksum = "221996f774192f0f718773def8201c4ae31f02616a54ccfc2d358bb0e5cefdec" [[package]] name = "glob" -version = "0.3.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b919933a397b79c37e33b77bb2aa3dc8eb6e165ad809e58ff75bc7db2e34574" +checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" [[package]] name = "globset" @@ -3059,18 +3239,6 @@ dependencies = [ "regex", ] -[[package]] -name = "gloo-timers" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "98c4a8d6391675c6b2ee1a6c8d06e8e2d03605c44cec1270675985a4c2a5500b" -dependencies = [ - "futures-channel", - "futures-core", - "js-sys", - "wasm-bindgen", -] - [[package]] name = "group" version = "0.12.1" @@ -3175,6 +3343,15 @@ version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7ebdb29d2ea9ed0083cd8cece49bbd968021bd99b0849edb4a9a7ee0fdf6a4e0" +[[package]] +name = "hkdf" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "791a029f6b9fc27657f6f188ec6e5e43f6911f6f878e0dc5501396e09809d437" +dependencies = [ + "hmac 0.12.1", +] + [[package]] name = "hmac" version = "0.8.1" @@ -3185,6 +3362,16 @@ dependencies = [ "digest 0.9.0", ] +[[package]] +name = "hmac" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c1441c6b1e930e2817404b5046f1f989899143a12bf92de603b69f4e0aee1e15" +dependencies = [ + "crypto-mac 0.10.1", + "digest 0.9.0", +] + [[package]] name = "hmac" version = "0.11.0" @@ -3305,7 +3492,7 @@ dependencies = [ "http", "hyper", "log", - "rustls", + "rustls 0.20.8", "rustls-native-certs", "tokio", "tokio-rustls", @@ -3335,6 +3522,12 @@ dependencies = [ "cxx-build", ] +[[package]] +name = "ident_case" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" + [[package]] name = "idna" version = "0.2.3" @@ -3368,9 +3561,9 @@ dependencies = [ [[package]] name = "if-watch" -version = "2.0.0" +version = "3.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "065c008e570a43c00de6aed9714035e5ea6a498c255323db9091722af6ee67dd" +checksum = "ba7abdbb86e485125dad06c2691e1e393bf3b08c7b743b43aa162a00fd39062e" dependencies = [ "async-io", "core-foundation", @@ -3381,6 +3574,7 @@ dependencies = [ "log", "rtnetlink", "system-configuration", + "tokio", "windows", ] @@ -3448,6 +3642,25 @@ dependencies = [ "num-traits", ] +[[package]] +name = "interceptor" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e8a11ae2da61704edada656798b61c94b35ecac2c58eb955156987d5e6be90b" +dependencies = [ + "async-trait", + "bytes", + "log", + "rand 0.8.5", + "rtcp", + "rtp", + "thiserror", + "tokio", + "waitgroup", + "webrtc-srtp", + "webrtc-util", +] + [[package]] name = "io-lifetimes" version = "0.7.5" @@ -3456,9 +3669,9 @@ checksum = "59ce5ef949d49ee85593fc4d3f3f95ad61657076395cbbce23e2121fc5542074" [[package]] name = "io-lifetimes" -version = "1.0.3" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46112a93252b123d31a119a8d1a1ac19deac4fac6e0e8b0df58f0d4e5870e63c" +checksum = "e7d6c6f8c91b4b9ed43484ad1a938e393caf35960fce7f82a040497207bd8e9e" dependencies = [ "libc", "windows-sys 0.42.0", @@ -3484,9 +3697,9 @@ dependencies = [ [[package]] name = "ipnet" -version = "2.7.0" +version = "2.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11b0d96e660696543b251e58030cf9787df56da39dab19ad60eae7353040917e" +checksum = "30e22bd8629359895450b59ea7a776c850561b96a3b1d31321c1949d9e6c9146" [[package]] name = "is-terminal" @@ -3495,8 +3708,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "28dfb6c8100ccc63462345b67d1bbc3679177c75ee4bf59bf29c8b1d110b8189" dependencies = [ "hermit-abi 0.2.6", - "io-lifetimes 1.0.3", - "rustix 0.36.6", + "io-lifetimes 1.0.4", + "rustix 0.36.7", "windows-sys 0.42.0", ] @@ -3806,8 +4019,8 @@ dependencies = [ [[package]] name = "kusama-runtime" -version = "0.9.36" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" +version = "0.9.37" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" dependencies = [ "bitvec", "frame-benchmarking", @@ -3903,8 +4116,8 @@ dependencies = [ [[package]] name = "kusama-runtime-constants" -version = "0.9.36" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" +version = "0.9.37" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" dependencies = [ "frame-support", "polkadot-primitives", @@ -3915,15 +4128,6 @@ dependencies = [ "sp-weights", ] -[[package]] -name = "kv-log-macro" -version = "1.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0de8b303297635ad57c9f5059fd9cee7a47f8e8daa09df0fcd07dd39fb22977f" -dependencies = [ - "log", -] - [[package]] name = "kvdb" version = "0.13.0" @@ -3999,16 +4203,15 @@ checksum = "348108ab3fba42ec82ff6e9564fc4ca0247bdccdc68dd8af9764bbc79c3c8ffb" [[package]] name = "libp2p" -version = "0.49.0" +version = "0.50.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec878fda12ebec479186b3914ebc48ff180fa4c51847e11a1a68bf65249e02c1" +checksum = "2e0a0d2f693675f49ded13c5d510c48b78069e23cbd9108d7ccd59f6dc568819" dependencies = [ "bytes", "futures", "futures-timer", "getrandom 0.2.8", "instant", - "lazy_static", "libp2p-core", "libp2p-dns", "libp2p-identify", @@ -4018,11 +4221,12 @@ dependencies = [ "libp2p-mplex", "libp2p-noise", "libp2p-ping", + "libp2p-quic", "libp2p-request-response", "libp2p-swarm", - "libp2p-swarm-derive", "libp2p-tcp", "libp2p-wasm-ext", + "libp2p-webrtc", "libp2p-websocket", "libp2p-yamux", "multiaddr", @@ -4033,9 +4237,9 @@ dependencies = [ [[package]] name = "libp2p-core" -version = "0.37.0" +version = "0.38.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "799676bb0807c788065e57551c6527d461ad572162b0519d1958946ff9e0539d" +checksum = "b6a8fcd392ff67af6cc3f03b1426c41f7f26b6b9aff2dc632c1c56dd649e571f" dependencies = [ "asn1_der", "bs58", @@ -4045,17 +4249,18 @@ dependencies = [ "futures", "futures-timer", "instant", - "lazy_static", "log", "multiaddr", "multihash", "multistream-select", + "once_cell", "parking_lot 0.12.1", "pin-project", "prost", "prost-build", "rand 0.8.5", "rw-stream-sink", + "sec1", "sha2 0.10.6", "smallvec", "thiserror", @@ -4066,9 +4271,9 @@ dependencies = [ [[package]] name = "libp2p-dns" -version = "0.37.0" +version = "0.38.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2322c9fb40d99101def6a01612ee30500c89abbbecb6297b3cd252903a4c1720" +checksum = "8e42a271c1b49f789b92f7fc87749fa79ce5c7bdc88cbdfacb818a4bca47fec5" dependencies = [ "futures", "libp2p-core", @@ -4080,9 +4285,9 @@ dependencies = [ [[package]] name = "libp2p-identify" -version = "0.40.0" +version = "0.41.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcf9a121f699e8719bda2e6e9e9b6ddafc6cff4602471d6481c1067930ccb29b" +checksum = "c052d0026f4817b44869bfb6810f4e1112f43aec8553f2cb38881c524b563abf" dependencies = [ "asynchronous-codec", "futures", @@ -4101,9 +4306,9 @@ dependencies = [ [[package]] name = "libp2p-kad" -version = "0.41.0" +version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6721c200e2021f6c3fab8b6cf0272ead8912d871610ee194ebd628cecf428f22" +checksum = "2766dcd2be8c87d5e1f35487deb22d765f49c6ae1251b3633efe3b25698bd3d2" dependencies = [ "arrayvec 0.7.2", "asynchronous-codec", @@ -4129,12 +4334,11 @@ dependencies = [ [[package]] name = "libp2p-mdns" -version = "0.41.0" +version = "0.42.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "761704e727f7d68d58d7bc2231eafae5fc1b9814de24290f126df09d4bd37a15" +checksum = "04f378264aade9872d6ccd315c0accc18be3a35d15fc1b9c36e5b6f983b62b5b" dependencies = [ "data-encoding", - "dns-parser", "futures", "if-watch", "libp2p-core", @@ -4144,14 +4348,15 @@ dependencies = [ "smallvec", "socket2", "tokio", + "trust-dns-proto", "void", ] [[package]] name = "libp2p-metrics" -version = "0.10.0" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ee31b08e78b7b8bfd1c4204a9dd8a87b4fcdf6dafc57eb51701c1c264a81cb9" +checksum = "5ad8a64f29da86005c86a4d2728b8a0719e9b192f4092b609fd8790acb9dec55" dependencies = [ "libp2p-core", "libp2p-identify", @@ -4163,9 +4368,9 @@ dependencies = [ [[package]] name = "libp2p-mplex" -version = "0.37.0" +version = "0.38.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "692664acfd98652de739a8acbb0a0d670f1d67190a49be6b4395e22c37337d89" +checksum = "03805b44107aa013e7cbbfa5627b31c36cbedfdfb00603c0311998882bc4bace" dependencies = [ "asynchronous-codec", "bytes", @@ -4181,31 +4386,32 @@ dependencies = [ [[package]] name = "libp2p-noise" -version = "0.40.0" +version = "0.41.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "048155686bd81fe6cb5efdef0c6290f25ad32a0a42e8f4f72625cf6a505a206f" +checksum = "a978cb57efe82e892ec6f348a536bfbd9fee677adbe5689d7a93ad3a9bffbf2e" dependencies = [ "bytes", "curve25519-dalek 3.2.0", "futures", - "lazy_static", "libp2p-core", "log", + "once_cell", "prost", "prost-build", "rand 0.8.5", "sha2 0.10.6", "snow", "static_assertions", - "x25519-dalek", + "thiserror", + "x25519-dalek 1.1.1", "zeroize", ] [[package]] name = "libp2p-ping" -version = "0.40.1" +version = "0.41.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7228b9318d34689521349a86eb39a3c3a802c9efc99a0568062ffb80913e3f91" +checksum = "929fcace45a112536e22b3dcfd4db538723ef9c3cb79f672b98be2cc8e25f37f" dependencies = [ "futures", "futures-timer", @@ -4217,11 +4423,32 @@ dependencies = [ "void", ] +[[package]] +name = "libp2p-quic" +version = "0.7.0-alpha" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "01e7c867e95c8130667b24409d236d37598270e6da69b3baf54213ba31ffca59" +dependencies = [ + "bytes", + "futures", + "futures-timer", + "if-watch", + "libp2p-core", + "libp2p-tls", + "log", + "parking_lot 0.12.1", + "quinn-proto", + "rand 0.8.5", + "rustls 0.20.8", + "thiserror", + "tokio", +] + [[package]] name = "libp2p-request-response" -version = "0.22.1" +version = "0.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8827af16a017b65311a410bb626205a9ad92ec0473967618425039fa5231adc1" +checksum = "3236168796727bfcf4927f766393415361e2c644b08bedb6a6b13d957c9a4884" dependencies = [ "async-trait", "bytes", @@ -4237,9 +4464,9 @@ dependencies = [ [[package]] name = "libp2p-swarm" -version = "0.40.1" +version = "0.41.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46d13df7c37807965d82930c0e4b04a659efcb6cca237373b206043db5398ecf" +checksum = "b2a35472fe3276b3855c00f1c032ea8413615e030256429ad5349cdf67c6e1a0" dependencies = [ "either", "fnv", @@ -4247,19 +4474,21 @@ dependencies = [ "futures-timer", "instant", "libp2p-core", + "libp2p-swarm-derive", "log", "pin-project", "rand 0.8.5", "smallvec", "thiserror", + "tokio", "void", ] [[package]] name = "libp2p-swarm-derive" -version = "0.30.1" +version = "0.31.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0eddc4497a8b5a506013c40e8189864f9c3a00db2b25671f428ae9007f3ba32" +checksum = "9d527d5827582abd44a6d80c07ff8b50b4ee238a8979e05998474179e79dc400" dependencies = [ "heck", "quote", @@ -4268,9 +4497,9 @@ dependencies = [ [[package]] name = "libp2p-tcp" -version = "0.37.0" +version = "0.38.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9839d96761491c6d3e238e70554b856956fca0ab60feb9de2cd08eed4473fa92" +checksum = "b4b257baf6df8f2df39678b86c578961d48cc8b68642a12f0f763f56c8e5858d" dependencies = [ "futures", "futures-timer", @@ -4282,11 +4511,29 @@ dependencies = [ "tokio", ] +[[package]] +name = "libp2p-tls" +version = "0.1.0-alpha" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7905ce0d040576634e8a3229a7587cc8beab83f79db6023800f1792895defa8" +dependencies = [ + "futures", + "futures-rustls", + "libp2p-core", + "rcgen 0.10.0", + "ring", + "rustls 0.20.8", + "thiserror", + "webpki 0.22.0", + "x509-parser 0.14.0", + "yasna", +] + [[package]] name = "libp2p-wasm-ext" -version = "0.37.0" +version = "0.38.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a17b5b8e7a73e379e47b1b77f8a82c4721e97eca01abcd18e9cd91a23ca6ce97" +checksum = "1bb1a35299860e0d4b3c02a3e74e3b293ad35ae0cee8a056363b0c862d082069" dependencies = [ "futures", "js-sys", @@ -4296,11 +4543,42 @@ dependencies = [ "wasm-bindgen-futures", ] +[[package]] +name = "libp2p-webrtc" +version = "0.4.0-alpha" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cdb6cd86dd68cba72308ea05de1cebf3ba0ae6e187c40548167955d4e3970f6a" +dependencies = [ + "async-trait", + "asynchronous-codec", + "bytes", + "futures", + "futures-timer", + "hex", + "if-watch", + "libp2p-core", + "libp2p-noise", + "log", + "multihash", + "prost", + "prost-build", + "prost-codec", + "rand 0.8.5", + "rcgen 0.9.3", + "serde", + "stun", + "thiserror", + "tinytemplate", + "tokio", + "tokio-util", + "webrtc", +] + [[package]] name = "libp2p-websocket" -version = "0.39.0" +version = "0.40.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3758ae6f89b2531a24b6d9f5776bda6a626b60a57600d7185d43dfa75ca5ecc4" +checksum = "1d705506030d5c0aaf2882437c70dab437605f21c5f9811978f694e6917a3b54" dependencies = [ "either", "futures", @@ -4317,9 +4595,9 @@ dependencies = [ [[package]] name = "libp2p-yamux" -version = "0.41.1" +version = "0.42.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d6874d66543c4f7e26e3b8ca9a6bead351563a13ab4fafd43c7927f7c0d6c12" +checksum = "4f63594a0aa818642d9d4915c791945053877253f08a3626f13416b5cd928a29" dependencies = [ "futures", "libp2p-core", @@ -4351,7 +4629,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "95b09eff1b35ed3b33b877ced3a691fc7a481919c7e29c53c906226fcf55e2a1" dependencies = [ "arrayref", - "base64", + "base64 0.13.1", "digest 0.9.0", "hmac-drbg", "libsecp256k1-core", @@ -4466,7 +4744,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e" dependencies = [ "cfg-if", - "value-bag", ] [[package]] @@ -4631,9 +4908,9 @@ dependencies = [ [[package]] name = "matches" -version = "0.1.9" +version = "0.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3e378b66a060d48947b590737b30a1be76706c8dd7b8ba0f2fe3989c68a853f" +checksum = "2532096657941c2fea9c289d370a250971c689d4f143798ff67113ec042024a5" [[package]] name = "matrixmultiply" @@ -4644,6 +4921,15 @@ dependencies = [ "rawpointer", ] +[[package]] +name = "md-5" +version = "0.10.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6365506850d44bff6e2fbcb5176cf63650e48bd45ef2fe2665ae1570e0f4b9ca" +dependencies = [ + "digest 0.10.6", +] + [[package]] name = "memchr" version = "2.5.0" @@ -4656,7 +4942,7 @@ version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b20a59d985586e4a5aef64564ac77299f8586d8be6cf9106a5a40207e8908efb" dependencies = [ - "rustix 0.36.6", + "rustix 0.36.7", ] [[package]] @@ -4755,7 +5041,7 @@ dependencies = [ [[package]] name = "mmr-gadget" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "futures", "log", @@ -4767,7 +5053,6 @@ dependencies = [ "sp-blockchain", "sp-consensus", "sp-core", - "sp-io", "sp-mmr-primitives", "sp-runtime", ] @@ -4775,7 +5060,7 @@ dependencies = [ [[package]] name = "mmr-rpc" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "anyhow", "jsonrpsee", @@ -4817,14 +5102,14 @@ dependencies = [ [[package]] name = "multiaddr" -version = "0.14.0" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c580bfdd8803cce319b047d239559a22f809094aaea4ac13902a1fdcfcd4261" +checksum = "a4aebdb21e90f81d13ed01dc84123320838e53963c2ca94b60b305d3fa64f31e" dependencies = [ "arrayref", - "bs58", "byteorder", "data-encoding", + "multibase", "multihash", "percent-encoding", "serde", @@ -4998,11 +5283,11 @@ version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "92b654097027250401127914afb37cb1f311df6610a9891ff07a757e94199027" dependencies = [ - "async-io", "bytes", "futures", "libc", "log", + "tokio", ] [[package]] @@ -5014,6 +5299,7 @@ dependencies = [ "bitflags", "cfg-if", "libc", + "memoffset 0.6.5", ] [[package]] @@ -5024,9 +5310,9 @@ checksum = "2bf50223579dc7cdcfb3bfcacf7069ff68243f8c363f62ffa99cf000a6b9c451" [[package]] name = "nom" -version = "7.1.2" +version = "7.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5507769c4919c998e69e49c839d9dc6e693ede4cc4290d6ad8b41d4f09c548c" +checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" dependencies = [ "memchr", "minimal-lexical", @@ -5051,9 +5337,9 @@ dependencies = [ [[package]] name = "num-complex" -version = "0.4.2" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ae39348c8bc5fbd7f40c727a9925f03517afd2ab27d46702108b6a7e5414c19" +checksum = "02e0d21255c828d6f128a1e41534206671e8c3ea0c62f32291e808dc82cff17d" dependencies = [ "num-traits", ] @@ -5124,13 +5410,31 @@ dependencies = [ [[package]] name = "object" -version = "0.30.1" +version = "0.30.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d864c91689fdc196779b98dba0aceac6118594c2df6ee5d943eb6a8df4d107a" +checksum = "ea86265d3d3dcb6a27fc51bd29a4bf387fae9d2986b823079d4986af253eb439" dependencies = [ "memchr", ] +[[package]] +name = "oid-registry" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38e20717fa0541f39bd146692035c37bedfa532b3e5071b35761082407546b2a" +dependencies = [ + "asn1-rs 0.3.1", +] + +[[package]] +name = "oid-registry" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9bedf36ffb6ba96c2eb7144ef6270557b52e54b20c0a8e1eb2ff99a6c6959bff" +dependencies = [ + "asn1-rs 0.5.1", +] + [[package]] name = "once_cell" version = "1.17.0" @@ -5157,9 +5461,9 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" [[package]] name = "orchestra" -version = "0.0.2" +version = "0.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0aab54694ddaa8a9b703724c6ef04272b2d27bc32d2c855aae5cdd1857216b43" +checksum = "17e7d5b6bb115db09390bed8842c94180893dd83df3dfce7354f2a2aa090a4ee" dependencies = [ "async-trait", "dyn-clonable", @@ -5174,9 +5478,9 @@ dependencies = [ [[package]] name = "orchestra-proc-macro" -version = "0.0.2" +version = "0.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a702b2f6bf592b3eb06c00d80d05afaf7a8eff6b41bb361e397d799acc21b45a" +checksum = "c2af4dabb2286b0be0e9711d2d24e25f6217048b71210cffd3daddc3b5c84e1f" dependencies = [ "expander 0.0.6", "itertools", @@ -5202,6 +5506,28 @@ version = "6.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9b7820b9daea5457c9f21c69448905d723fbd21136ccf521748f23fd49e723ee" +[[package]] +name = "p256" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "51f44edd08f51e2ade572f141051021c5af22677e42b7dd28a88155151c33594" +dependencies = [ + "ecdsa", + "elliptic-curve", + "sha2 0.10.6", +] + +[[package]] +name = "p384" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dfc8c5bf642dde52bb9e87c0ecd8ca5a76faac2eeed98dedb7c717997e1080aa" +dependencies = [ + "ecdsa", + "elliptic-curve", + "sha2 0.10.6", +] + [[package]] name = "packed_simd_2" version = "0.3.8" @@ -5215,7 +5541,7 @@ dependencies = [ [[package]] name = "pallet-aura" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "frame-support", "frame-system", @@ -5231,7 +5557,7 @@ dependencies = [ [[package]] name = "pallet-authority-discovery" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "frame-support", "frame-system", @@ -5247,7 +5573,7 @@ dependencies = [ [[package]] name = "pallet-authorship" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "frame-support", "frame-system", @@ -5262,7 +5588,7 @@ dependencies = [ [[package]] name = "pallet-babe" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "frame-benchmarking", "frame-support", @@ -5286,7 +5612,7 @@ dependencies = [ [[package]] name = "pallet-bags-list" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -5306,7 +5632,7 @@ dependencies = [ [[package]] name = "pallet-balances" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "frame-benchmarking", "frame-support", @@ -5321,7 +5647,7 @@ dependencies = [ [[package]] name = "pallet-beefy" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "frame-support", "frame-system", @@ -5337,7 +5663,7 @@ dependencies = [ [[package]] name = "pallet-beefy-mmr" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "array-bytes 4.2.0", "beefy-merkle-tree", @@ -5360,7 +5686,7 @@ dependencies = [ [[package]] name = "pallet-bounties" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "frame-benchmarking", "frame-support", @@ -5378,7 +5704,7 @@ dependencies = [ [[package]] name = "pallet-child-bounties" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "frame-benchmarking", "frame-support", @@ -5397,7 +5723,7 @@ dependencies = [ [[package]] name = "pallet-collator-selection" version = "3.0.0" -source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.36#afe528af891f464b318293f183f6d3eefbc979b0" +source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b" dependencies = [ "frame-benchmarking", "frame-support", @@ -5416,7 +5742,7 @@ dependencies = [ [[package]] name = "pallet-collective" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "frame-benchmarking", "frame-support", @@ -5433,7 +5759,7 @@ dependencies = [ [[package]] name = "pallet-conviction-voting" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "assert_matches", "frame-benchmarking", @@ -5450,7 +5776,7 @@ dependencies = [ [[package]] name = "pallet-democracy" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "frame-benchmarking", "frame-support", @@ -5491,7 +5817,7 @@ dependencies = [ [[package]] name = "pallet-election-provider-multi-phase" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -5500,7 +5826,7 @@ dependencies = [ "log", "pallet-election-provider-support-benchmarking", "parity-scale-codec", - "rand 0.7.3", + "rand 0.8.5", "scale-info", "sp-arithmetic", "sp-core", @@ -5508,14 +5834,13 @@ dependencies = [ "sp-npos-elections", "sp-runtime", "sp-std", - "static_assertions", "strum", ] [[package]] name = "pallet-election-provider-support-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -5528,7 +5853,7 @@ dependencies = [ [[package]] name = "pallet-elections-phragmen" version = "5.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "frame-benchmarking", "frame-support", @@ -5546,7 +5871,7 @@ dependencies = [ [[package]] name = "pallet-fast-unstake" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -5564,7 +5889,7 @@ dependencies = [ [[package]] name = "pallet-grandpa" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "frame-benchmarking", "frame-support", @@ -5587,7 +5912,7 @@ dependencies = [ [[package]] name = "pallet-identity" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "enumflags2", "frame-benchmarking", @@ -5603,7 +5928,7 @@ dependencies = [ [[package]] name = "pallet-im-online" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "frame-benchmarking", "frame-support", @@ -5623,7 +5948,7 @@ dependencies = [ [[package]] name = "pallet-indices" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "frame-benchmarking", "frame-support", @@ -5656,7 +5981,7 @@ dependencies = [ [[package]] name = "pallet-membership" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "frame-benchmarking", "frame-support", @@ -5673,7 +5998,7 @@ dependencies = [ [[package]] name = "pallet-mmr" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "frame-benchmarking", "frame-support", @@ -5690,7 +6015,7 @@ dependencies = [ [[package]] name = "pallet-multisig" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "frame-benchmarking", "frame-support", @@ -5706,7 +6031,7 @@ dependencies = [ [[package]] name = "pallet-nis" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "frame-benchmarking", "frame-support", @@ -5722,7 +6047,7 @@ dependencies = [ [[package]] name = "pallet-nomination-pools" version = "1.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "frame-support", "frame-system", @@ -5739,7 +6064,7 @@ dependencies = [ [[package]] name = "pallet-nomination-pools-benchmarking" version = "1.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -5759,7 +6084,7 @@ dependencies = [ [[package]] name = "pallet-nomination-pools-runtime-api" version = "1.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "parity-scale-codec", "sp-api", @@ -5769,7 +6094,7 @@ dependencies = [ [[package]] name = "pallet-offences" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "frame-support", "frame-system", @@ -5786,7 +6111,7 @@ dependencies = [ [[package]] name = "pallet-offences-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -5809,7 +6134,7 @@ dependencies = [ [[package]] name = "pallet-preimage" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "frame-benchmarking", "frame-support", @@ -5826,7 +6151,7 @@ dependencies = [ [[package]] name = "pallet-proxy" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "frame-benchmarking", "frame-support", @@ -5841,7 +6166,7 @@ dependencies = [ [[package]] name = "pallet-randomness-collective-flip" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "frame-support", "frame-system", @@ -5855,7 +6180,7 @@ dependencies = [ [[package]] name = "pallet-ranked-collective" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "frame-benchmarking", "frame-support", @@ -5873,7 +6198,7 @@ dependencies = [ [[package]] name = "pallet-recovery" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "frame-benchmarking", "frame-support", @@ -5888,7 +6213,7 @@ dependencies = [ [[package]] name = "pallet-referenda" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "assert_matches", "frame-benchmarking", @@ -5907,7 +6232,7 @@ dependencies = [ [[package]] name = "pallet-scheduler" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "frame-benchmarking", "frame-support", @@ -5924,7 +6249,7 @@ dependencies = [ [[package]] name = "pallet-session" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "frame-support", "frame-system", @@ -5945,14 +6270,14 @@ dependencies = [ [[package]] name = "pallet-session-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "frame-benchmarking", "frame-support", "frame-system", "pallet-session", "pallet-staking", - "rand 0.7.3", + "rand 0.8.5", "sp-runtime", "sp-session", "sp-std", @@ -5961,7 +6286,7 @@ dependencies = [ [[package]] name = "pallet-society" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "frame-support", "frame-system", @@ -5975,7 +6300,7 @@ dependencies = [ [[package]] name = "pallet-staking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -5998,7 +6323,7 @@ dependencies = [ [[package]] name = "pallet-staking-reward-curve" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -6009,7 +6334,7 @@ dependencies = [ [[package]] name = "pallet-staking-reward-fn" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "log", "sp-arithmetic", @@ -6018,7 +6343,7 @@ dependencies = [ [[package]] name = "pallet-state-trie-migration" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "frame-benchmarking", "frame-support", @@ -6035,7 +6360,7 @@ dependencies = [ [[package]] name = "pallet-sudo" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "frame-support", "frame-system", @@ -6049,7 +6374,7 @@ dependencies = [ [[package]] name = "pallet-timestamp" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "frame-benchmarking", "frame-support", @@ -6067,7 +6392,7 @@ dependencies = [ [[package]] name = "pallet-tips" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "frame-benchmarking", "frame-support", @@ -6086,7 +6411,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "frame-support", "frame-system", @@ -6102,7 +6427,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "jsonrpsee", "pallet-transaction-payment-rpc-runtime-api", @@ -6118,7 +6443,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc-runtime-api" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "pallet-transaction-payment", "parity-scale-codec", @@ -6130,7 +6455,7 @@ dependencies = [ [[package]] name = "pallet-treasury" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "frame-benchmarking", "frame-support", @@ -6147,7 +6472,7 @@ dependencies = [ [[package]] name = "pallet-utility" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "frame-benchmarking", "frame-support", @@ -6163,7 +6488,7 @@ dependencies = [ [[package]] name = "pallet-vesting" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "frame-benchmarking", "frame-support", @@ -6196,7 +6521,7 @@ dependencies = [ [[package]] name = "pallet-whitelist" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "frame-benchmarking", "frame-support", @@ -6210,8 +6535,8 @@ dependencies = [ [[package]] name = "pallet-xcm" -version = "0.9.36" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" +version = "0.9.37" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" dependencies = [ "frame-support", "frame-system", @@ -6228,8 +6553,8 @@ dependencies = [ [[package]] name = "pallet-xcm-benchmarks" -version = "0.9.36" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" +version = "0.9.37" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" dependencies = [ "frame-benchmarking", "frame-support", @@ -6246,7 +6571,7 @@ dependencies = [ [[package]] name = "parachain-info" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.36#afe528af891f464b318293f183f6d3eefbc979b0" +source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b" dependencies = [ "cumulus-primitives-core", "frame-support", @@ -6301,9 +6626,9 @@ dependencies = [ [[package]] name = "parity-scale-codec" -version = "3.2.1" +version = "3.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "366e44391a8af4cfd6002ef6ba072bae071a96aafca98d7d448a34c5dca38b6a" +checksum = "e7ab01d0f889e957861bc65888d5ccbe82c158d0270136ba46820d43837cdf72" dependencies = [ "arrayvec 0.7.2", "bitvec", @@ -6316,9 +6641,9 @@ dependencies = [ [[package]] name = "parity-scale-codec-derive" -version = "3.1.3" +version = "3.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9299338969a3d2f491d65f140b00ddec470858402f888af98e8642fb5e8965cd" +checksum = "86b26a931f824dd4eca30b3e43bb4f31cd5f0d3a403c5f5ff27106b805bfde7b" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -6362,7 +6687,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" dependencies = [ "lock_api", - "parking_lot_core 0.9.5", + "parking_lot_core 0.9.6", ] [[package]] @@ -6381,9 +6706,9 @@ dependencies = [ [[package]] name = "parking_lot_core" -version = "0.9.5" +version = "0.9.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ff9f3fef3968a3ec5945535ed654cb38ff72d7495a25619e2247fb15a2ed9ba" +checksum = "ba1ef8814b5c993410bb3adfad7a5ed269563e4a2f90c41f5d85be7fb47133bf" dependencies = [ "cfg-if", "libc", @@ -6400,20 +6725,20 @@ checksum = "d01a5bd0424d00070b0098dd17ebca6f961a959dead1dbcbbbc1d1cd8d3deeba" [[package]] name = "pbkdf2" -version = "0.4.0" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "216eaa586a190f0a738f2f918511eecfa90f13295abec0e457cdebcceda80cbd" +checksum = "d95f5254224e617595d2cc3cc73ff0a5eaf2637519e25f03388154e9378b6ffa" dependencies = [ - "crypto-mac 0.8.0", + "crypto-mac 0.11.1", ] [[package]] name = "pbkdf2" -version = "0.8.0" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d95f5254224e617595d2cc3cc73ff0a5eaf2637519e25f03388154e9378b6ffa" +checksum = "83a0692ec44e4cf1ef28ca317f14f8f07da2d95ec3fa01f86e4467b725e60917" dependencies = [ - "crypto-mac 0.11.1", + "digest 0.10.6", ] [[package]] @@ -6423,15 +6748,33 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099" [[package]] -name = "percent-encoding" -version = "2.2.0" +name = "pem" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e" +checksum = "a8835c273a76a90455d7344889b0964598e3316e2a79ede8e36f16bdcf2228b8" +dependencies = [ + "base64 0.13.1", +] [[package]] -name = "peregrine-runtime" -version = "1.9.0-dev" -dependencies = [ +name = "pem-rfc7468" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24d159833a9105500e0398934e205e0773f0b27529557134ecfc51c27646adac" +dependencies = [ + "base64ct", +] + +[[package]] +name = "percent-encoding" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e" + +[[package]] +name = "peregrine-runtime" +version = "1.9.0-dev" +dependencies = [ "attestation", "ctype", "cumulus-pallet-aura-ext", @@ -6507,9 +6850,9 @@ dependencies = [ [[package]] name = "pest" -version = "2.5.2" +version = "2.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f6e86fb9e7026527a0d46bc308b841d73170ef8f443e1807f6ef88526a816d4" +checksum = "4257b4a04d91f7e9e6290be5d3da4804dd5784fafde3a497d73eb2b4a158c30a" dependencies = [ "thiserror", "ucd-trie", @@ -6517,9 +6860,9 @@ dependencies = [ [[package]] name = "pest_derive" -version = "2.5.2" +version = "2.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96504449aa860c8dcde14f9fba5c58dc6658688ca1fe363589d6327b8662c603" +checksum = "241cda393b0cdd65e62e07e12454f1f25d57017dcc514b1514cd3c4645e3a0a6" dependencies = [ "pest", "pest_generator", @@ -6527,9 +6870,9 @@ dependencies = [ [[package]] name = "pest_generator" -version = "2.5.2" +version = "2.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "798e0220d1111ae63d66cb66a5dcb3fc2d986d520b98e49e1852bfdb11d7c5e7" +checksum = "46b53634d8c8196302953c74d5352f33d0c512a9499bd2ce468fc9f4128fa27c" dependencies = [ "pest", "pest_meta", @@ -6540,13 +6883,13 @@ dependencies = [ [[package]] name = "pest_meta" -version = "2.5.2" +version = "2.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "984298b75898e30a843e278a9f2452c31e349a073a0ce6fd950a12a74464e065" +checksum = "0ef4f1332a8d4678b41966bb4cc1d0676880e84183a1ecc3f4b69f03e99c7a51" dependencies = [ "once_cell", "pest", - "sha1", + "sha2 0.10.6", ] [[package]] @@ -6627,14 +6970,14 @@ checksum = "e3d7ddaed09e0eb771a79ab0fd64609ba0afb0a8366421957936ad14cbd13630" [[package]] name = "polkadot-approval-distribution" -version = "0.9.36" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" +version = "0.9.37" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" dependencies = [ "futures", + "polkadot-node-metrics", "polkadot-node-network-protocol", "polkadot-node-primitives", "polkadot-node-subsystem", - "polkadot-node-subsystem-util", "polkadot-primitives", "rand 0.8.5", "tracing-gum", @@ -6642,8 +6985,8 @@ dependencies = [ [[package]] name = "polkadot-availability-bitfield-distribution" -version = "0.9.36" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" +version = "0.9.37" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" dependencies = [ "futures", "polkadot-node-network-protocol", @@ -6656,8 +6999,8 @@ dependencies = [ [[package]] name = "polkadot-availability-distribution" -version = "0.9.36" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" +version = "0.9.37" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" dependencies = [ "derive_more", "fatality", @@ -6679,8 +7022,8 @@ dependencies = [ [[package]] name = "polkadot-availability-recovery" -version = "0.9.36" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" +version = "0.9.37" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" dependencies = [ "fatality", "futures", @@ -6700,8 +7043,8 @@ dependencies = [ [[package]] name = "polkadot-cli" -version = "0.9.36" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" +version = "0.9.37" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" dependencies = [ "clap", "frame-benchmarking-cli", @@ -6727,8 +7070,8 @@ dependencies = [ [[package]] name = "polkadot-client" -version = "0.9.36" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" +version = "0.9.37" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" dependencies = [ "async-trait", "frame-benchmarking", @@ -6769,8 +7112,8 @@ dependencies = [ [[package]] name = "polkadot-collator-protocol" -version = "0.9.36" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" +version = "0.9.37" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" dependencies = [ "always-assert", "bitvec", @@ -6791,8 +7134,8 @@ dependencies = [ [[package]] name = "polkadot-core-primitives" -version = "0.9.36" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" +version = "0.9.37" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" dependencies = [ "parity-scale-codec", "scale-info", @@ -6803,8 +7146,8 @@ dependencies = [ [[package]] name = "polkadot-dispute-distribution" -version = "0.9.36" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" +version = "0.9.37" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" dependencies = [ "derive_more", "fatality", @@ -6828,8 +7171,8 @@ dependencies = [ [[package]] name = "polkadot-erasure-coding" -version = "0.9.36" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" +version = "0.9.37" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" dependencies = [ "parity-scale-codec", "polkadot-node-primitives", @@ -6842,8 +7185,8 @@ dependencies = [ [[package]] name = "polkadot-gossip-support" -version = "0.9.36" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" +version = "0.9.37" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" dependencies = [ "futures", "futures-timer", @@ -6862,8 +7205,8 @@ dependencies = [ [[package]] name = "polkadot-network-bridge" -version = "0.9.36" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" +version = "0.9.37" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" dependencies = [ "always-assert", "async-trait", @@ -6872,9 +7215,9 @@ dependencies = [ "futures", "parity-scale-codec", "parking_lot 0.12.1", + "polkadot-node-metrics", "polkadot-node-network-protocol", "polkadot-node-subsystem", - "polkadot-node-subsystem-util", "polkadot-overseer", "polkadot-primitives", "sc-network", @@ -6886,8 +7229,8 @@ dependencies = [ [[package]] name = "polkadot-node-collation-generation" -version = "0.9.36" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" +version = "0.9.37" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" dependencies = [ "futures", "parity-scale-codec", @@ -6904,8 +7247,8 @@ dependencies = [ [[package]] name = "polkadot-node-core-approval-voting" -version = "0.9.36" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" +version = "0.9.37" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" dependencies = [ "bitvec", "derive_more", @@ -6933,8 +7276,8 @@ dependencies = [ [[package]] name = "polkadot-node-core-av-store" -version = "0.9.36" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" +version = "0.9.37" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" dependencies = [ "bitvec", "futures", @@ -6953,8 +7296,8 @@ dependencies = [ [[package]] name = "polkadot-node-core-backing" -version = "0.9.36" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" +version = "0.9.37" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" dependencies = [ "bitvec", "fatality", @@ -6972,8 +7315,8 @@ dependencies = [ [[package]] name = "polkadot-node-core-bitfield-signing" -version = "0.9.36" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" +version = "0.9.37" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" dependencies = [ "futures", "polkadot-node-subsystem", @@ -6987,17 +7330,17 @@ dependencies = [ [[package]] name = "polkadot-node-core-candidate-validation" -version = "0.9.36" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" +version = "0.9.37" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" dependencies = [ "async-trait", "futures", "futures-timer", "parity-scale-codec", "polkadot-node-core-pvf", + "polkadot-node-metrics", "polkadot-node-primitives", "polkadot-node-subsystem", - "polkadot-node-subsystem-util", "polkadot-parachain", "polkadot-primitives", "sp-maybe-compressed-blob", @@ -7006,12 +7349,12 @@ dependencies = [ [[package]] name = "polkadot-node-core-chain-api" -version = "0.9.36" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" +version = "0.9.37" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" dependencies = [ "futures", + "polkadot-node-metrics", "polkadot-node-subsystem", - "polkadot-node-subsystem-util", "polkadot-primitives", "sc-client-api", "sc-consensus-babe", @@ -7021,8 +7364,8 @@ dependencies = [ [[package]] name = "polkadot-node-core-chain-selection" -version = "0.9.36" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" +version = "0.9.37" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" dependencies = [ "futures", "futures-timer", @@ -7038,8 +7381,8 @@ dependencies = [ [[package]] name = "polkadot-node-core-dispute-coordinator" -version = "0.9.36" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" +version = "0.9.37" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" dependencies = [ "fatality", "futures", @@ -7057,8 +7400,8 @@ dependencies = [ [[package]] name = "polkadot-node-core-parachains-inherent" -version = "0.9.36" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" +version = "0.9.37" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" dependencies = [ "async-trait", "futures", @@ -7068,15 +7411,14 @@ dependencies = [ "polkadot-primitives", "sp-blockchain", "sp-inherents", - "sp-runtime", "thiserror", "tracing-gum", ] [[package]] name = "polkadot-node-core-provisioner" -version = "0.9.36" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" +version = "0.9.37" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" dependencies = [ "bitvec", "fatality", @@ -7093,13 +7435,11 @@ dependencies = [ [[package]] name = "polkadot-node-core-pvf" -version = "0.9.36" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" +version = "0.9.37" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" dependencies = [ "always-assert", "assert_matches", - "async-process", - "async-std", "cpu-time", "futures", "futures-timer", @@ -7121,13 +7461,14 @@ dependencies = [ "sp-tracing", "sp-wasm-interface", "tempfile", + "tokio", "tracing-gum", ] [[package]] name = "polkadot-node-core-pvf-checker" -version = "0.9.36" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" +version = "0.9.37" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" dependencies = [ "futures", "polkadot-node-primitives", @@ -7142,14 +7483,14 @@ dependencies = [ [[package]] name = "polkadot-node-core-runtime-api" -version = "0.9.36" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" +version = "0.9.37" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" dependencies = [ "futures", "lru", + "polkadot-node-metrics", "polkadot-node-subsystem", "polkadot-node-subsystem-types", - "polkadot-node-subsystem-util", "polkadot-primitives", "sp-consensus-babe", "tracing-gum", @@ -7157,8 +7498,8 @@ dependencies = [ [[package]] name = "polkadot-node-jaeger" -version = "0.9.36" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" +version = "0.9.37" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" dependencies = [ "lazy_static", "log", @@ -7175,8 +7516,8 @@ dependencies = [ [[package]] name = "polkadot-node-metrics" -version = "0.9.36" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" +version = "0.9.37" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" dependencies = [ "bs58", "futures", @@ -7194,8 +7535,8 @@ dependencies = [ [[package]] name = "polkadot-node-network-protocol" -version = "0.9.36" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" +version = "0.9.37" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" dependencies = [ "async-trait", "derive_more", @@ -7217,8 +7558,8 @@ dependencies = [ [[package]] name = "polkadot-node-primitives" -version = "0.9.36" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" +version = "0.9.37" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" dependencies = [ "bounded-vec", "futures", @@ -7239,8 +7580,8 @@ dependencies = [ [[package]] name = "polkadot-node-subsystem" -version = "0.9.36" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" +version = "0.9.37" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" dependencies = [ "polkadot-node-jaeger", "polkadot-node-subsystem-types", @@ -7249,8 +7590,8 @@ dependencies = [ [[package]] name = "polkadot-node-subsystem-types" -version = "0.9.36" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" +version = "0.9.37" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" dependencies = [ "async-trait", "derive_more", @@ -7272,13 +7613,14 @@ dependencies = [ [[package]] name = "polkadot-node-subsystem-util" -version = "0.9.36" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" +version = "0.9.37" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" dependencies = [ "async-trait", "derive_more", "fatality", "futures", + "futures-channel", "itertools", "kvdb", "lru", @@ -7304,8 +7646,8 @@ dependencies = [ [[package]] name = "polkadot-overseer" -version = "0.9.36" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" +version = "0.9.37" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" dependencies = [ "async-trait", "futures", @@ -7327,8 +7669,8 @@ dependencies = [ [[package]] name = "polkadot-parachain" -version = "0.9.36" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" +version = "0.9.37" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" dependencies = [ "derive_more", "frame-support", @@ -7343,8 +7685,8 @@ dependencies = [ [[package]] name = "polkadot-performance-test" -version = "0.9.36" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" +version = "0.9.37" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" dependencies = [ "env_logger 0.9.3", "kusama-runtime", @@ -7358,8 +7700,8 @@ dependencies = [ [[package]] name = "polkadot-primitives" -version = "0.9.36" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" +version = "0.9.37" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" dependencies = [ "bitvec", "hex-literal", @@ -7384,8 +7726,8 @@ dependencies = [ [[package]] name = "polkadot-rpc" -version = "0.9.36" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" +version = "0.9.37" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" dependencies = [ "beefy-gadget", "beefy-gadget-rpc", @@ -7416,8 +7758,8 @@ dependencies = [ [[package]] name = "polkadot-runtime" -version = "0.9.36" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" +version = "0.9.37" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" dependencies = [ "bitvec", "frame-benchmarking", @@ -7505,8 +7847,8 @@ dependencies = [ [[package]] name = "polkadot-runtime-common" -version = "0.9.36" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" +version = "0.9.37" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" dependencies = [ "bitvec", "frame-benchmarking", @@ -7553,8 +7895,8 @@ dependencies = [ [[package]] name = "polkadot-runtime-constants" -version = "0.9.36" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" +version = "0.9.37" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" dependencies = [ "frame-support", "polkadot-primitives", @@ -7567,8 +7909,8 @@ dependencies = [ [[package]] name = "polkadot-runtime-metrics" -version = "0.9.36" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" +version = "0.9.37" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" dependencies = [ "bs58", "parity-scale-codec", @@ -7579,8 +7921,8 @@ dependencies = [ [[package]] name = "polkadot-runtime-parachains" -version = "0.9.36" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" +version = "0.9.37" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" dependencies = [ "bitflags", "bitvec", @@ -7622,8 +7964,8 @@ dependencies = [ [[package]] name = "polkadot-service" -version = "0.9.36" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" +version = "0.9.37" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" dependencies = [ "async-trait", "beefy-gadget", @@ -7728,8 +8070,8 @@ dependencies = [ [[package]] name = "polkadot-statement-distribution" -version = "0.9.36" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" +version = "0.9.37" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" dependencies = [ "arrayvec 0.5.2", "fatality", @@ -7749,8 +8091,8 @@ dependencies = [ [[package]] name = "polkadot-statement-table" -version = "0.9.36" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" +version = "0.9.37" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" dependencies = [ "parity-scale-codec", "polkadot-primitives", @@ -7782,6 +8124,17 @@ dependencies = [ "universal-hash", ] +[[package]] +name = "polyval" +version = "0.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eebcc4aa140b9abd2bc40d9c3f7ccec842679cd79045ac3a7ac698c1a064b7cd" +dependencies = [ + "cpuid-bool", + "opaque-debug 0.3.0", + "universal-hash", +] + [[package]] name = "polyval" version = "0.5.3" @@ -7906,9 +8259,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.49" +version = "1.0.50" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57a8eca9f9c4ffde41714334dee777596264c7825420f521abc92b5b5deb63a5" +checksum = "6ef7d57beacfaf2d8aee5937dab7b7f28de3cb8b1828479bb5de2a7106f2bae2" dependencies = [ "unicode-ident", ] @@ -7952,9 +8305,9 @@ dependencies = [ [[package]] name = "prost" -version = "0.11.5" +version = "0.11.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c01db6702aa05baa3f57dec92b8eeeeb4cb19e894e73996b32a4093289e54592" +checksum = "21dc42e00223fc37204bd4aa177e69420c604ca4a183209a8f9de30c6d934698" dependencies = [ "bytes", "prost-derive", @@ -7962,9 +8315,9 @@ dependencies = [ [[package]] name = "prost-build" -version = "0.11.5" +version = "0.11.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb5320c680de74ba083512704acb90fe00f28f79207286a848e730c45dd73ed6" +checksum = "a3f8ad728fb08fe212df3c05169e940fbb6d9d16a877ddde14644a983ba2012e" dependencies = [ "bytes", "heck", @@ -7984,9 +8337,9 @@ dependencies = [ [[package]] name = "prost-codec" -version = "0.2.0" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "011ae9ff8359df7915f97302d591cdd9e0e27fbd5a4ddc5bd13b71079bb20987" +checksum = "0dc34979ff898b6e141106178981ce2596c387ea6e62533facfc61a37fc879c0" dependencies = [ "asynchronous-codec", "bytes", @@ -7997,9 +8350,9 @@ dependencies = [ [[package]] name = "prost-derive" -version = "0.11.5" +version = "0.11.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8842bad1a5419bca14eac663ba798f6bc19c413c2fdceb5f3ba3b0932d96720" +checksum = "8bda8c0881ea9f722eb9629376db3d0b903b462477c1aafcb0566610ac28ac5d" dependencies = [ "anyhow", "itertools", @@ -8010,9 +8363,9 @@ dependencies = [ [[package]] name = "prost-types" -version = "0.11.5" +version = "0.11.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "017f79637768cde62820bc2d4fe0e45daaa027755c323ad077767c6c5f173091" +checksum = "a5e0526209433e96d83d750dd81a99118edbc55739e7e61a46764fd2ad537788" dependencies = [ "bytes", "prost", @@ -8063,6 +8416,24 @@ dependencies = [ "pin-project-lite 0.1.12", ] +[[package]] +name = "quinn-proto" +version = "0.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72ef4ced82a24bb281af338b9e8f94429b6eca01b4e66d899f40031f074e74c9" +dependencies = [ + "bytes", + "rand 0.8.5", + "ring", + "rustc-hash", + "rustls 0.20.8", + "slab", + "thiserror", + "tinyvec", + "tracing", + "webpki 0.22.0", +] + [[package]] name = "quote" version = "1.0.23" @@ -8089,7 +8460,6 @@ dependencies = [ "rand_chacha 0.2.2", "rand_core 0.5.1", "rand_hc", - "rand_pcg 0.2.1", ] [[package]] @@ -8160,15 +8530,6 @@ dependencies = [ "rand_core 0.5.1", ] -[[package]] -name = "rand_pcg" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16abd0c1b639e9eb4d7c50c0b8100b0d0f849be2349829c740fe8e6eb4816429" -dependencies = [ - "rand_core 0.5.1", -] - [[package]] name = "rand_pcg" version = "0.3.1" @@ -8196,9 +8557,9 @@ dependencies = [ [[package]] name = "rayon-core" -version = "1.10.1" +version = "1.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cac410af5d00ab6884528b4ab69d1e8e146e8d471201800fa1b4524126de6ad3" +checksum = "356a0625f1954f730c0201cdab48611198dc6ce21f4acff55089b5a78e6e835b" dependencies = [ "crossbeam-channel", "crossbeam-deque", @@ -8206,6 +8567,31 @@ dependencies = [ "num_cpus", ] +[[package]] +name = "rcgen" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6413f3de1edee53342e6138e75b56d32e7bc6e332b3bd62d497b1929d4cfbcdd" +dependencies = [ + "pem", + "ring", + "time 0.3.17", + "x509-parser 0.13.2", + "yasna", +] + +[[package]] +name = "rcgen" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ffbe84efe2f38dea12e9bfc1f65377fdf03e53a18cb3b995faedf7934c7e785b" +dependencies = [ + "pem", + "ring", + "time 0.3.17", + "yasna", +] + [[package]] name = "redox_syscall" version = "0.2.16" @@ -8273,9 +8659,9 @@ dependencies = [ [[package]] name = "regex" -version = "1.7.0" +version = "1.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e076559ef8e241f2ae3479e36f97bd5741c0330689e217ad51ce2c76808b868a" +checksum = "48aaa5748ba571fb95cd2c85c09f629215d3a6ece942baa100950af03a34f733" dependencies = [ "aho-corasick", "memchr", @@ -8354,8 +8740,8 @@ dependencies = [ [[package]] name = "rococo-runtime" -version = "0.9.36" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" +version = "0.9.37" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" dependencies = [ "beefy-merkle-tree", "frame-benchmarking", @@ -8364,6 +8750,7 @@ dependencies = [ "frame-system", "frame-system-benchmarking", "frame-system-rpc-runtime-api", + "frame-try-runtime", "hex-literal", "log", "pallet-authority-discovery", @@ -8439,8 +8826,8 @@ dependencies = [ [[package]] name = "rococo-runtime-constants" -version = "0.9.36" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" +version = "0.9.37" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" dependencies = [ "frame-support", "polkadot-primitives", @@ -8462,19 +8849,30 @@ dependencies = [ "winapi", ] +[[package]] +name = "rtcp" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1919efd6d4a6a85d13388f9487549bb8e359f17198cc03ffd72f79b553873691" +dependencies = [ + "bytes", + "thiserror", + "webrtc-util", +] + [[package]] name = "rtnetlink" version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "322c53fd76a18698f1c27381d58091de3a043d356aa5bd0d510608b565f469a0" dependencies = [ - "async-global-executor", "futures", "log", "netlink-packet-route", "netlink-proto", "nix", "thiserror", + "tokio", ] [[package]] @@ -8487,6 +8885,20 @@ dependencies = [ "winapi", ] +[[package]] +name = "rtp" +version = "0.6.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2a095411ff00eed7b12e4c6a118ba984d113e1079582570d56a5ee723f11f80" +dependencies = [ + "async-trait", + "bytes", + "rand 0.8.5", + "serde", + "thiserror", + "webrtc-util", +] + [[package]] name = "runtime-common" version = "1.9.0-dev" @@ -8554,6 +8966,15 @@ dependencies = [ "semver 1.0.16", ] +[[package]] +name = "rusticata-macros" +version = "4.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "faf0c4a6ece9950b9abdb62b1cfcf2a68b3b67a10ba445b3bb85be2a293d0632" +dependencies = [ + "nom", +] + [[package]] name = "rustix" version = "0.35.13" @@ -8570,13 +8991,13 @@ dependencies = [ [[package]] name = "rustix" -version = "0.36.6" +version = "0.36.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4feacf7db682c6c329c4ede12649cd36ecab0f3be5b7d74e6a20304725db4549" +checksum = "d4fdebc4b395b7fbb9ab11e462e20ed9051e7b16e42d24042c776eca0ac81b03" dependencies = [ "bitflags", "errno", - "io-lifetimes 1.0.3", + "io-lifetimes 1.0.4", "libc", "linux-raw-sys 0.1.4", "windows-sys 0.42.0", @@ -8584,14 +9005,27 @@ dependencies = [ [[package]] name = "rustls" -version = "0.20.7" +version = "0.19.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "35edb675feee39aec9c99fa5ff985081995a06d594114ae14cbe797ad7b7a6d7" +dependencies = [ + "base64 0.13.1", + "log", + "ring", + "sct 0.6.1", + "webpki 0.21.4", +] + +[[package]] +name = "rustls" +version = "0.20.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "539a2bfe908f471bfa933876bd1eb6a19cf2176d375f82ef7f99530a40e48c2c" +checksum = "fff78fc74d175294f4e83b28343315ffcfb114b156f0185e9741cb5570f50e2f" dependencies = [ "log", "ring", - "sct", - "webpki", + "sct 0.7.0", + "webpki 0.22.0", ] [[package]] @@ -8608,11 +9042,11 @@ dependencies = [ [[package]] name = "rustls-pemfile" -version = "1.0.1" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0864aeff53f8c05aa08d86e5ef839d3dfcf07aeba2db32f12db0ef716e87bd55" +checksum = "d194b56d58803a43635bdc398cd17e383d6f71f9182b9a192c127ca42494a59b" dependencies = [ - "base64", + "base64 0.21.0", ] [[package]] @@ -8659,7 +9093,7 @@ dependencies = [ [[package]] name = "sc-allocator" version = "4.1.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "log", "sp-core", @@ -8670,7 +9104,7 @@ dependencies = [ [[package]] name = "sc-authority-discovery" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "async-trait", "futures", @@ -8681,7 +9115,7 @@ dependencies = [ "parity-scale-codec", "prost", "prost-build", - "rand 0.7.3", + "rand 0.8.5", "sc-client-api", "sc-network-common", "sp-api", @@ -8697,7 +9131,7 @@ dependencies = [ [[package]] name = "sc-basic-authorship" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "futures", "futures-timer", @@ -8720,7 +9154,7 @@ dependencies = [ [[package]] name = "sc-block-builder" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "parity-scale-codec", "sc-client-api", @@ -8736,11 +9170,9 @@ dependencies = [ [[package]] name = "sc-chain-spec" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ - "impl-trait-for-tuples", "memmap2", - "parity-scale-codec", "sc-chain-spec-derive", "sc-network-common", "sc-telemetry", @@ -8753,7 +9185,7 @@ dependencies = [ [[package]] name = "sc-chain-spec-derive" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -8764,7 +9196,7 @@ dependencies = [ [[package]] name = "sc-cli" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "array-bytes 4.2.0", "chrono", @@ -8775,7 +9207,7 @@ dependencies = [ "log", "names", "parity-scale-codec", - "rand 0.7.3", + "rand 0.8.5", "regex", "rpassword", "sc-client-api", @@ -8804,11 +9236,10 @@ dependencies = [ [[package]] name = "sc-client-api" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "fnv", "futures", - "hash-db", "log", "parity-scale-codec", "parking_lot 0.12.1", @@ -8825,14 +9256,13 @@ dependencies = [ "sp-runtime", "sp-state-machine", "sp-storage", - "sp-trie", "substrate-prometheus-endpoint", ] [[package]] name = "sc-client-db" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "hash-db", "kvdb", @@ -8857,7 +9287,7 @@ dependencies = [ [[package]] name = "sc-consensus" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "async-trait", "futures", @@ -8882,7 +9312,7 @@ dependencies = [ [[package]] name = "sc-consensus-aura" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "async-trait", "futures", @@ -8911,7 +9341,7 @@ dependencies = [ [[package]] name = "sc-consensus-babe" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "async-trait", "fork-tree", @@ -8930,7 +9360,6 @@ dependencies = [ "sc-keystore", "sc-telemetry", "schnorrkel", - "serde", "sp-api", "sp-application-crypto", "sp-block-builder", @@ -8941,10 +9370,8 @@ dependencies = [ "sp-consensus-vrf", "sp-core", "sp-inherents", - "sp-io", "sp-keystore", "sp-runtime", - "sp-version", "substrate-prometheus-endpoint", "thiserror", ] @@ -8952,7 +9379,7 @@ dependencies = [ [[package]] name = "sc-consensus-babe-rpc" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "futures", "jsonrpsee", @@ -8974,7 +9401,7 @@ dependencies = [ [[package]] name = "sc-consensus-epochs" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "fork-tree", "parity-scale-codec", @@ -8987,7 +9414,7 @@ dependencies = [ [[package]] name = "sc-consensus-slots" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "async-trait", "futures", @@ -9005,13 +9432,12 @@ dependencies = [ "sp-inherents", "sp-runtime", "sp-state-machine", - "thiserror", ] [[package]] name = "sc-executor" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "lru", "parity-scale-codec", @@ -9035,7 +9461,7 @@ dependencies = [ [[package]] name = "sc-executor-common" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "sc-allocator", "sp-maybe-compressed-blob", @@ -9048,7 +9474,7 @@ dependencies = [ [[package]] name = "sc-executor-wasmi" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "log", "sc-allocator", @@ -9061,7 +9487,7 @@ dependencies = [ [[package]] name = "sc-executor-wasmtime" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "cfg-if", "libc", @@ -9078,7 +9504,7 @@ dependencies = [ [[package]] name = "sc-finality-grandpa" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "ahash", "array-bytes 4.2.0", @@ -9096,7 +9522,6 @@ dependencies = [ "sc-chain-spec", "sc-client-api", "sc-consensus", - "sc-keystore", "sc-network", "sc-network-common", "sc-network-gossip", @@ -9119,7 +9544,7 @@ dependencies = [ [[package]] name = "sc-finality-grandpa-rpc" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "finality-grandpa", "futures", @@ -9130,7 +9555,6 @@ dependencies = [ "sc-finality-grandpa", "sc-rpc", "serde", - "serde_json", "sp-blockchain", "sp-core", "sp-runtime", @@ -9140,7 +9564,7 @@ dependencies = [ [[package]] name = "sc-informant" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "ansi_term", "futures", @@ -9148,7 +9572,6 @@ dependencies = [ "log", "sc-client-api", "sc-network-common", - "sc-transaction-pool-api", "sp-blockchain", "sp-runtime", ] @@ -9156,7 +9579,7 @@ dependencies = [ [[package]] name = "sc-keystore" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "array-bytes 4.2.0", "async-trait", @@ -9171,30 +9594,25 @@ dependencies = [ [[package]] name = "sc-network" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "array-bytes 4.2.0", "async-trait", "asynchronous-codec", - "bitflags", + "backtrace", "bytes", - "cid", "either", "fnv", - "fork-tree", "futures", "futures-timer", "ip_network", "libp2p", - "linked-hash-map", - "linked_hash_set", "log", "lru", "parity-scale-codec", "parking_lot 0.12.1", "pin-project", - "prost", - "rand 0.7.3", + "rand 0.8.5", "sc-block-builder", "sc-client-api", "sc-consensus", @@ -9218,7 +9636,7 @@ dependencies = [ [[package]] name = "sc-network-bitswap" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "cid", "futures", @@ -9232,13 +9650,12 @@ dependencies = [ "sp-runtime", "thiserror", "unsigned-varint", - "void", ] [[package]] name = "sc-network-common" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "async-trait", "bitflags", @@ -9264,7 +9681,7 @@ dependencies = [ [[package]] name = "sc-network-gossip" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "ahash", "futures", @@ -9282,7 +9699,7 @@ dependencies = [ [[package]] name = "sc-network-light" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "array-bytes 4.2.0", "futures", @@ -9303,7 +9720,7 @@ dependencies = [ [[package]] name = "sc-network-sync" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "array-bytes 4.2.0", "async-trait", @@ -9335,17 +9752,17 @@ dependencies = [ [[package]] name = "sc-network-transactions" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "array-bytes 4.2.0", "futures", - "hex", "libp2p", "log", "parity-scale-codec", "pin-project", "sc-network-common", "sc-peerset", + "sc-utils", "sp-consensus", "sp-runtime", "substrate-prometheus-endpoint", @@ -9354,7 +9771,7 @@ dependencies = [ [[package]] name = "sc-offchain" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "array-bytes 4.2.0", "bytes", @@ -9368,7 +9785,7 @@ dependencies = [ "once_cell", "parity-scale-codec", "parking_lot 0.12.1", - "rand 0.7.3", + "rand 0.8.5", "sc-client-api", "sc-network-common", "sc-peerset", @@ -9384,7 +9801,7 @@ dependencies = [ [[package]] name = "sc-peerset" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "futures", "libp2p", @@ -9397,7 +9814,7 @@ dependencies = [ [[package]] name = "sc-proposer-metrics" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "log", "substrate-prometheus-endpoint", @@ -9406,10 +9823,9 @@ dependencies = [ [[package]] name = "sc-rpc" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "futures", - "hash-db", "jsonrpsee", "log", "parity-scale-codec", @@ -9436,13 +9852,10 @@ dependencies = [ [[package]] name = "sc-rpc-api" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ - "futures", "jsonrpsee", - "log", "parity-scale-codec", - "parking_lot 0.12.1", "sc-chain-spec", "sc-transaction-pool-api", "scale-info", @@ -9451,7 +9864,6 @@ dependencies = [ "sp-core", "sp-rpc", "sp-runtime", - "sp-tracing", "sp-version", "thiserror", ] @@ -9459,9 +9871,8 @@ dependencies = [ [[package]] name = "sc-rpc-server" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ - "futures", "http", "jsonrpsee", "log", @@ -9475,39 +9886,45 @@ dependencies = [ [[package]] name = "sc-rpc-spec-v2" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ + "array-bytes 4.2.0", "futures", + "futures-util", "hex", "jsonrpsee", + "log", "parity-scale-codec", + "parking_lot 0.12.1", "sc-chain-spec", + "sc-client-api", "sc-transaction-pool-api", "serde", "sp-api", "sp-blockchain", "sp-core", "sp-runtime", + "sp-version", "thiserror", + "tokio-stream", ] [[package]] name = "sc-service" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "async-trait", "directories", "exit-future", "futures", "futures-timer", - "hash-db", "jsonrpsee", "log", "parity-scale-codec", "parking_lot 0.12.1", "pin-project", - "rand 0.7.3", + "rand 0.8.5", "sc-block-builder", "sc-chain-spec", "sc-client-api", @@ -9535,19 +9952,15 @@ dependencies = [ "serde", "serde_json", "sp-api", - "sp-application-crypto", - "sp-block-builder", "sp-blockchain", "sp-consensus", "sp-core", "sp-externalities", - "sp-inherents", "sp-keystore", "sp-runtime", "sp-session", "sp-state-machine", "sp-storage", - "sp-tracing", "sp-transaction-pool", "sp-transaction-storage-proof", "sp-trie", @@ -9564,19 +9977,18 @@ dependencies = [ [[package]] name = "sc-state-db" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "log", "parity-scale-codec", "parking_lot 0.12.1", - "sc-client-api", "sp-core", ] [[package]] name = "sc-sync-state-rpc" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "jsonrpsee", "parity-scale-codec", @@ -9595,13 +10007,13 @@ dependencies = [ [[package]] name = "sc-sysinfo" version = "6.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "futures", "libc", "log", - "rand 0.7.3", - "rand_pcg 0.2.1", + "rand 0.8.5", + "rand_pcg", "regex", "sc-telemetry", "serde", @@ -9614,7 +10026,7 @@ dependencies = [ [[package]] name = "sc-telemetry" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "chrono", "futures", @@ -9622,7 +10034,8 @@ dependencies = [ "log", "parking_lot 0.12.1", "pin-project", - "rand 0.7.3", + "rand 0.8.5", + "sc-utils", "serde", "serde_json", "thiserror", @@ -9632,7 +10045,7 @@ dependencies = [ [[package]] name = "sc-tracing" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "ansi_term", "atty", @@ -9663,7 +10076,7 @@ dependencies = [ [[package]] name = "sc-tracing-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -9674,7 +10087,7 @@ dependencies = [ [[package]] name = "sc-transaction-pool" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "async-trait", "futures", @@ -9700,7 +10113,7 @@ dependencies = [ [[package]] name = "sc-transaction-pool-api" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "async-trait", "futures", @@ -9714,8 +10127,9 @@ dependencies = [ [[package]] name = "sc-utils" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ + "backtrace", "futures", "futures-timer", "lazy_static", @@ -9752,12 +10166,11 @@ dependencies = [ [[package]] name = "schannel" -version = "0.1.20" +version = "0.1.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88d6731146462ea25d9244b2ed5fd1d716d25c52e4d54aa4fb0f3c4e9854dbe2" +checksum = "713cfb06c7059f3588fb8044c0fad1d09e3c01d225e25b9220dbfdcf16dbb1b3" dependencies = [ - "lazy_static", - "windows-sys 0.36.1", + "windows-sys 0.42.0", ] [[package]] @@ -9790,6 +10203,16 @@ version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ddccb15bcce173023b3fedd9436f882a0739b8dfb45e4f6b6002bee5929f61b2" +[[package]] +name = "sct" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b362b83898e0e69f38515b82ee15aa80636befe47c3b6d3d89a911e78fc228ce" +dependencies = [ + "ring", + "untrusted", +] + [[package]] name = "sct" version = "0.7.0" @@ -9800,6 +10223,18 @@ dependencies = [ "untrusted", ] +[[package]] +name = "sdp" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4d22a5ef407871893fd72b4562ee15e4742269b173959db4b8df6f538c414e13" +dependencies = [ + "rand 0.8.5", + "substring", + "thiserror", + "url", +] + [[package]] name = "sec1" version = "0.3.0" @@ -9816,9 +10251,9 @@ dependencies = [ [[package]] name = "secp256k1" -version = "0.24.2" +version = "0.24.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9512ffd81e3a3503ed401f79c33168b9148c75038956039166cd750eaa037c3" +checksum = "6b1629c9c557ef9b293568b338dddfc8208c98a18c59d722a9d53f859d9c9b62" dependencies = [ "secp256k1-sys", ] @@ -9843,9 +10278,9 @@ dependencies = [ [[package]] name = "security-framework" -version = "2.7.0" +version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2bc1bb97804af6631813c55739f771071e0f2ed33ee20b68c86ec505d906356c" +checksum = "645926f31b250a2dca3c232496c2d898d91036e45ca0e97e0e2390c54e11be36" dependencies = [ "bitflags", "core-foundation", @@ -9856,9 +10291,9 @@ dependencies = [ [[package]] name = "security-framework-sys" -version = "2.6.1" +version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0160a13a177a45bfb43ce71c01580998474f556ad854dcbca936dd2841a5c556" +checksum = "31c9bb296072e961fcbd8853511dd39c2d8be2deb1e17c6860b1d30732b323b4" dependencies = [ "core-foundation-sys", "libc", @@ -9928,15 +10363,6 @@ dependencies = [ "serde", ] -[[package]] -name = "serde_nanos" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e44969a61f5d316be20a42ff97816efb3b407a924d06824c3d8a49fa8450de0e" -dependencies = [ - "serde", -] - [[package]] name = "sha-1" version = "0.9.8" @@ -9950,17 +10376,6 @@ dependencies = [ "opaque-debug 0.3.0", ] -[[package]] -name = "sha1" -version = "0.10.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f04293dc80c3993519f2d7f6f511707ee7094fe0c6d3406feb330cdb3540eba3" -dependencies = [ - "cfg-if", - "cpufeatures", - "digest 0.10.6", -] - [[package]] name = "sha2" version = "0.8.2" @@ -10022,16 +10437,6 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "43b2853a4d09f215c24cc5489c992ce46052d359b5109343cbafbf26bc62f8a3" -[[package]] -name = "signal-hook" -version = "0.3.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a253b5e89e2698464fc26b545c9edceb338e18a89effeeecfea192c3025be29d" -dependencies = [ - "libc", - "signal-hook-registry", -] - [[package]] name = "signal-hook-registry" version = "1.4.0" @@ -10080,8 +10485,8 @@ checksum = "03b634d87b960ab1a38c4fe143b508576f075e7c978bfad18217645ebfdfa2ec" [[package]] name = "slot-range-helper" -version = "0.9.36" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" +version = "0.9.37" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" dependencies = [ "enumn", "parity-scale-codec", @@ -10117,7 +10522,7 @@ version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "774d05a3edae07ce6d68ea6984f3c05e9bba8927e3dd591e3b479e5b03213d0d" dependencies = [ - "aes-gcm", + "aes-gcm 0.9.4", "blake2", "chacha20poly1305", "curve25519-dalek 4.0.0-pre.5", @@ -10144,7 +10549,7 @@ version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "41d1c5305e39e09653383c2c7244f2f78b3bcae37cf50c64cb4789c9f5096ec2" dependencies = [ - "base64", + "base64 0.13.1", "bytes", "flate2", "futures", @@ -10158,7 +10563,7 @@ dependencies = [ [[package]] name = "sp-api" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "hash-db", "log", @@ -10176,7 +10581,7 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "blake2", "proc-macro-crate", @@ -10188,7 +10593,7 @@ dependencies = [ [[package]] name = "sp-application-crypto" version = "7.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "parity-scale-codec", "scale-info", @@ -10201,14 +10606,13 @@ dependencies = [ [[package]] name = "sp-arithmetic" version = "6.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "integer-sqrt", "num-traits", "parity-scale-codec", "scale-info", "serde", - "sp-debug-derive", "sp-std", "static_assertions", ] @@ -10216,7 +10620,7 @@ dependencies = [ [[package]] name = "sp-authority-discovery" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "parity-scale-codec", "scale-info", @@ -10229,7 +10633,7 @@ dependencies = [ [[package]] name = "sp-authorship" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "async-trait", "parity-scale-codec", @@ -10241,7 +10645,7 @@ dependencies = [ [[package]] name = "sp-beefy" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "parity-scale-codec", "scale-info", @@ -10258,7 +10662,7 @@ dependencies = [ [[package]] name = "sp-block-builder" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "parity-scale-codec", "sp-api", @@ -10270,7 +10674,7 @@ dependencies = [ [[package]] name = "sp-blockchain" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "futures", "log", @@ -10288,11 +10692,10 @@ dependencies = [ [[package]] name = "sp-consensus" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "async-trait", "futures", - "futures-timer", "log", "parity-scale-codec", "sp-core", @@ -10307,7 +10710,7 @@ dependencies = [ [[package]] name = "sp-consensus-aura" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "async-trait", "parity-scale-codec", @@ -10325,7 +10728,7 @@ dependencies = [ [[package]] name = "sp-consensus-babe" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "async-trait", "merlin", @@ -10348,13 +10751,11 @@ dependencies = [ [[package]] name = "sp-consensus-slots" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-arithmetic", - "sp-runtime", "sp-std", "sp-timestamp", ] @@ -10362,7 +10763,7 @@ dependencies = [ [[package]] name = "sp-consensus-vrf" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "parity-scale-codec", "scale-info", @@ -10375,13 +10776,12 @@ dependencies = [ [[package]] name = "sp-core" version = "7.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "array-bytes 4.2.0", "base58", "bitflags", "blake2", - "byteorder", "dyn-clonable", "ed25519-zebra", "futures", @@ -10392,11 +10792,10 @@ dependencies = [ "libsecp256k1", "log", "merlin", - "num-traits", "parity-scale-codec", "parking_lot 0.12.1", "primitive-types", - "rand 0.7.3", + "rand 0.8.5", "regex", "scale-info", "schnorrkel", @@ -10413,14 +10812,13 @@ dependencies = [ "substrate-bip39", "thiserror", "tiny-bip39", - "wasmi", "zeroize", ] [[package]] name = "sp-core-hashing" version = "5.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "blake2", "byteorder", @@ -10434,7 +10832,7 @@ dependencies = [ [[package]] name = "sp-core-hashing-proc-macro" version = "5.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "proc-macro2", "quote", @@ -10445,7 +10843,7 @@ dependencies = [ [[package]] name = "sp-database" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "kvdb", "parking_lot 0.12.1", @@ -10454,7 +10852,7 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "5.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "proc-macro2", "quote", @@ -10464,7 +10862,7 @@ dependencies = [ [[package]] name = "sp-externalities" version = "0.13.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "environmental", "parity-scale-codec", @@ -10475,7 +10873,7 @@ dependencies = [ [[package]] name = "sp-finality-grandpa" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "finality-grandpa", "log", @@ -10493,7 +10891,7 @@ dependencies = [ [[package]] name = "sp-inherents" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "async-trait", "impl-trait-for-tuples", @@ -10507,16 +10905,15 @@ dependencies = [ [[package]] name = "sp-io" version = "7.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "bytes", + "ed25519", "ed25519-dalek", "futures", - "hash-db", "libsecp256k1", "log", "parity-scale-codec", - "parking_lot 0.12.1", "secp256k1", "sp-core", "sp-externalities", @@ -10526,7 +10923,6 @@ dependencies = [ "sp-std", "sp-tracing", "sp-trie", - "sp-wasm-interface", "tracing", "tracing-core", ] @@ -10534,7 +10930,7 @@ dependencies = [ [[package]] name = "sp-keyring" version = "7.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "lazy_static", "sp-core", @@ -10545,7 +10941,7 @@ dependencies = [ [[package]] name = "sp-keystore" version = "0.13.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "async-trait", "futures", @@ -10562,7 +10958,7 @@ dependencies = [ [[package]] name = "sp-maybe-compressed-blob" version = "4.1.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "thiserror", "zstd", @@ -10571,7 +10967,7 @@ dependencies = [ [[package]] name = "sp-mmr-primitives" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "ckb-merkle-mountain-range", "log", @@ -10589,7 +10985,7 @@ dependencies = [ [[package]] name = "sp-npos-elections" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "parity-scale-codec", "scale-info", @@ -10603,7 +10999,7 @@ dependencies = [ [[package]] name = "sp-offchain" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "sp-api", "sp-core", @@ -10613,7 +11009,7 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "5.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "backtrace", "lazy_static", @@ -10623,7 +11019,7 @@ dependencies = [ [[package]] name = "sp-rpc" version = "6.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "rustc-hash", "serde", @@ -10633,7 +11029,7 @@ dependencies = [ [[package]] name = "sp-runtime" version = "7.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "either", "hash256-std-hasher", @@ -10641,7 +11037,7 @@ dependencies = [ "log", "parity-scale-codec", "paste", - "rand 0.7.3", + "rand 0.8.5", "scale-info", "serde", "sp-application-crypto", @@ -10655,7 +11051,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "7.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "bytes", "impl-trait-for-tuples", @@ -10673,7 +11069,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "6.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "Inflector", "proc-macro-crate", @@ -10685,7 +11081,7 @@ dependencies = [ [[package]] name = "sp-session" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "parity-scale-codec", "scale-info", @@ -10699,7 +11095,7 @@ dependencies = [ [[package]] name = "sp-staking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "parity-scale-codec", "scale-info", @@ -10711,14 +11107,13 @@ dependencies = [ [[package]] name = "sp-state-machine" version = "0.13.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "hash-db", "log", - "num-traits", "parity-scale-codec", "parking_lot 0.12.1", - "rand 0.7.3", + "rand 0.8.5", "smallvec", "sp-core", "sp-externalities", @@ -10727,18 +11122,17 @@ dependencies = [ "sp-trie", "thiserror", "tracing", - "trie-root", ] [[package]] name = "sp-std" version = "5.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" [[package]] name = "sp-storage" version = "7.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "impl-serde", "parity-scale-codec", @@ -10751,13 +11145,12 @@ dependencies = [ [[package]] name = "sp-timestamp" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "async-trait", "futures-timer", "log", "parity-scale-codec", - "sp-api", "sp-inherents", "sp-runtime", "sp-std", @@ -10767,7 +11160,7 @@ dependencies = [ [[package]] name = "sp-tracing" version = "6.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "parity-scale-codec", "sp-std", @@ -10779,7 +11172,7 @@ dependencies = [ [[package]] name = "sp-transaction-pool" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "sp-api", "sp-runtime", @@ -10788,7 +11181,7 @@ dependencies = [ [[package]] name = "sp-transaction-storage-proof" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "async-trait", "log", @@ -10804,7 +11197,7 @@ dependencies = [ [[package]] name = "sp-trie" version = "7.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "ahash", "hash-db", @@ -10827,7 +11220,7 @@ dependencies = [ [[package]] name = "sp-version" version = "5.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "impl-serde", "parity-scale-codec", @@ -10844,7 +11237,7 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "parity-scale-codec", "proc-macro2", @@ -10855,7 +11248,7 @@ dependencies = [ [[package]] name = "sp-wasm-interface" version = "7.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "impl-trait-for-tuples", "log", @@ -10868,9 +11261,8 @@ dependencies = [ [[package]] name = "sp-weights" version = "4.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ - "impl-trait-for-tuples", "parity-scale-codec", "scale-info", "serde", @@ -10975,9 +11367,9 @@ dependencies = [ [[package]] name = "ss58-registry" -version = "1.36.0" +version = "1.37.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23d92659e7d18d82b803824a9ba5a6022cff101c3491d027c1c1d8d30e749284" +checksum = "d44528162f980c0e03c71e005d334332c8da0aec9f2b0b4bdc557ed4a9f24776" dependencies = [ "Inflector", "num-format", @@ -11095,22 +11487,41 @@ dependencies = [ ] [[package]] -name = "substrate-bip39" +name = "stun" version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49eee6965196b32f882dd2ee85a92b1dbead41b04e53907f269de3b0dc04733c" +checksum = "a7e94b1ec00bad60e6410e058b52f1c66de3dc5fe4d62d09b3e52bb7d3b73e25" dependencies = [ - "hmac 0.11.0", - "pbkdf2 0.8.0", - "schnorrkel", - "sha2 0.9.9", - "zeroize", -] - + "base64 0.13.1", + "crc", + "lazy_static", + "md-5", + "rand 0.8.5", + "ring", + "subtle", + "thiserror", + "tokio", + "url", + "webrtc-util", +] + +[[package]] +name = "substrate-bip39" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49eee6965196b32f882dd2ee85a92b1dbead41b04e53907f269de3b0dc04733c" +dependencies = [ + "hmac 0.11.0", + "pbkdf2 0.8.0", + "schnorrkel", + "sha2 0.9.9", + "zeroize", +] + [[package]] name = "substrate-build-script-utils" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "platforms 2.0.0", ] @@ -11118,17 +11529,15 @@ dependencies = [ [[package]] name = "substrate-frame-rpc-system" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "frame-system-rpc-runtime-api", "futures", "jsonrpsee", "log", "parity-scale-codec", - "sc-client-api", "sc-rpc-api", "sc-transaction-pool-api", - "serde_json", "sp-api", "sp-block-builder", "sp-blockchain", @@ -11139,9 +11548,8 @@ dependencies = [ [[package]] name = "substrate-prometheus-endpoint" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ - "futures-util", "hyper", "log", "prometheus", @@ -11152,7 +11560,7 @@ dependencies = [ [[package]] name = "substrate-rpc-client" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "async-trait", "jsonrpsee", @@ -11165,7 +11573,7 @@ dependencies = [ [[package]] name = "substrate-state-trie-migration-rpc" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "jsonrpsee", "log", @@ -11175,10 +11583,8 @@ dependencies = [ "scale-info", "serde", "sp-core", - "sp-io", "sp-runtime", "sp-state-machine", - "sp-std", "sp-trie", "trie-db", ] @@ -11186,7 +11592,7 @@ dependencies = [ [[package]] name = "substrate-wasm-builder" version = "5.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "ansi_term", "build-helper", @@ -11200,6 +11606,15 @@ dependencies = [ "wasm-opt", ] +[[package]] +name = "substring" +version = "1.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42ee6433ecef213b2e72f587ef64a2f5943e7cd16fbd82dbe8bc07486c534c86" +dependencies = [ + "autocfg", +] + [[package]] name = "subtle" version = "2.4.1" @@ -11278,9 +11693,9 @@ dependencies = [ [[package]] name = "termcolor" -version = "1.1.3" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bab24d30b911b2376f3a13cc2cd443142f0c81dda04c118693e35b3835757755" +checksum = "be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6" dependencies = [ "winapi-util", ] @@ -11381,25 +11796,62 @@ dependencies = [ "winapi", ] +[[package]] +name = "time" +version = "0.3.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a561bf4617eebd33bca6434b988f39ed798e527f51a1e797d0ee4f61c0a38376" +dependencies = [ + "itoa", + "serde", + "time-core", + "time-macros", +] + +[[package]] +name = "time-core" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2e153e1f1acaef8acc537e68b44906d2db6436e2b35ac2c6b42640fff91f00fd" + +[[package]] +name = "time-macros" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d967f99f534ca7e495c575c62638eebc2898a8c84c119b89e250477bc4ba16b2" +dependencies = [ + "time-core", +] + [[package]] name = "tiny-bip39" -version = "0.8.2" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffc59cb9dfc85bb312c3a78fd6aa8a8582e310b0fa885d5bb877f6dcc601839d" +checksum = "62cc94d358b5a1e84a5cb9109f559aa3c4d634d2b1b4de3d0fa4adc7c78e2861" dependencies = [ "anyhow", - "hmac 0.8.1", + "hmac 0.12.1", "once_cell", - "pbkdf2 0.4.0", - "rand 0.7.3", + "pbkdf2 0.11.0", + "rand 0.8.5", "rustc-hash", - "sha2 0.9.9", + "sha2 0.10.6", "thiserror", "unicode-normalization", "wasm-bindgen", "zeroize", ] +[[package]] +name = "tinytemplate" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc" +dependencies = [ + "serde", + "serde_json", +] + [[package]] name = "tinyvec" version = "1.6.0" @@ -11417,9 +11869,9 @@ checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c" [[package]] name = "tokio" -version = "1.24.0" +version = "1.24.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7125661431c26622a80ca5051a2f936c9a678318e0351007b0cc313143024e5c" +checksum = "597a12a59981d9e3c38d216785b0c37399f6e415e8d0712047620f189371b0bb" dependencies = [ "autocfg", "bytes", @@ -11452,9 +11904,9 @@ version = "0.23.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c43ee83903113e03984cb9e5cebe6c04a5116269e900e3ddba8f068a62adda59" dependencies = [ - "rustls", + "rustls 0.20.8", "tokio", - "webpki", + "webpki 0.22.0", ] [[package]] @@ -11466,6 +11918,7 @@ dependencies = [ "futures-core", "pin-project-lite 0.2.9", "tokio", + "tokio-util", ] [[package]] @@ -11485,9 +11938,9 @@ dependencies = [ [[package]] name = "toml" -version = "0.5.10" +version = "0.5.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1333c76748e868a4d9d1017b5ab53171dfd095f70c712fdb4653a406547f598f" +checksum = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234" dependencies = [ "serde", ] @@ -11579,8 +12032,8 @@ dependencies = [ [[package]] name = "tracing-gum" -version = "0.9.36" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" +version = "0.9.37" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" dependencies = [ "polkadot-node-jaeger", "polkadot-primitives", @@ -11590,8 +12043,8 @@ dependencies = [ [[package]] name = "tracing-gum-proc-macro" -version = "0.9.36" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" +version = "0.9.37" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" dependencies = [ "expander 0.0.6", "proc-macro-crate", @@ -11684,6 +12137,7 @@ dependencies = [ "lazy_static", "rand 0.8.5", "smallvec", + "socket2", "thiserror", "tinyvec", "tokio", @@ -11713,14 +12167,14 @@ dependencies = [ [[package]] name = "try-lock" -version = "0.2.3" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59547bce71d9c38b83d9c0e92b6066c4253371f15005def0c30d9657f50c7642" +checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed" [[package]] name = "try-runtime-cli" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.36#cb4f2491b00af7d7817f3a54209c26b20faa1f51" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#946507ba9ef13e263534176b7b74e26fc56efbd4" dependencies = [ "clap", "frame-remote-externalities", @@ -11728,11 +12182,11 @@ dependencies = [ "hex", "log", "parity-scale-codec", - "sc-chain-spec", "sc-cli", "sc-executor", "sc-service", "serde", + "serde_json", "sp-api", "sp-core", "sp-debug-derive", @@ -11754,6 +12208,25 @@ version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f4f195fd851901624eee5a58c4bb2b4f06399148fcd0ed336e6f1cb60a9881df" +[[package]] +name = "turn" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4712ee30d123ec7ae26d1e1b218395a16c87cdbaf4b3925d170d684af62ea5e8" +dependencies = [ + "async-trait", + "base64 0.13.1", + "futures", + "log", + "md-5", + "rand 0.8.5", + "ring", + "stun", + "thiserror", + "tokio", + "webrtc-util", +] + [[package]] name = "twox-hash" version = "1.6.3" @@ -11792,9 +12265,9 @@ dependencies = [ [[package]] name = "unicode-bidi" -version = "0.3.8" +version = "0.3.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "099b7128301d285f79ddd55b9a83d5e6b9e97c92e0ea0daebee7263e932de992" +checksum = "d54675592c1dbefd78cbd98db9bacd89886e1ca50692a0692baefffdeb92dd58" [[package]] name = "unicode-ident" @@ -11863,20 +12336,19 @@ dependencies = [ ] [[package]] -name = "valuable" -version = "0.1.0" +name = "uuid" +version = "1.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" +checksum = "422ee0de9031b5b948b97a8fc04e3aa35230001a722ddd27943e0be31564ce4c" +dependencies = [ + "getrandom 0.2.8", +] [[package]] -name = "value-bag" -version = "1.0.0-alpha.9" +name = "valuable" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2209b78d1249f7e6f3293657c9779fe31ced465df091bbd433a1cf88e916ec55" -dependencies = [ - "ctor", - "version_check", -] +checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" [[package]] name = "vcpkg" @@ -11896,6 +12368,15 @@ version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d" +[[package]] +name = "waitgroup" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d1f50000a783467e6c0200f9d10642f4bc424e39efc1b770203e88b488f79292" +dependencies = [ + "atomic-waker", +] + [[package]] name = "waker-fn" version = "1.1.0" @@ -12158,7 +12639,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bcd849399d17d2270141cfe47fa0d91ee52d5f8ea9b98cf7ddde0d53e5f79882" dependencies = [ "anyhow", - "base64", + "base64 0.13.1", "bincode", "directories-next", "file-per-thread-logger", @@ -12294,6 +12775,16 @@ dependencies = [ "wasm-bindgen", ] +[[package]] +name = "webpki" +version = "0.21.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8e38c0608262c46d4a56202ebabdeb094cef7e560ca7a226c6bf055188aa4ea" +dependencies = [ + "ring", + "untrusted", +] + [[package]] name = "webpki" version = "0.22.0" @@ -12310,7 +12801,219 @@ version = "0.22.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b6c71e40d7d2c34a5106301fb632274ca37242cd0c9d3e64dbece371a40a2d87" dependencies = [ - "webpki", + "webpki 0.22.0", +] + +[[package]] +name = "webrtc" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2d3bc9049bdb2cea52f5fd4f6f728184225bdb867ed0dc2410eab6df5bdd67bb" +dependencies = [ + "arc-swap", + "async-trait", + "bytes", + "hex", + "interceptor", + "lazy_static", + "log", + "rand 0.8.5", + "rcgen 0.9.3", + "regex", + "ring", + "rtcp", + "rtp", + "rustls 0.19.1", + "sdp", + "serde", + "serde_json", + "sha2 0.10.6", + "stun", + "thiserror", + "time 0.3.17", + "tokio", + "turn", + "url", + "waitgroup", + "webrtc-data", + "webrtc-dtls", + "webrtc-ice", + "webrtc-mdns", + "webrtc-media", + "webrtc-sctp", + "webrtc-srtp", + "webrtc-util", +] + +[[package]] +name = "webrtc-data" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ef36a4d12baa6e842582fe9ec16a57184ba35e1a09308307b67d43ec8883100" +dependencies = [ + "bytes", + "derive_builder", + "log", + "thiserror", + "tokio", + "webrtc-sctp", + "webrtc-util", +] + +[[package]] +name = "webrtc-dtls" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7021987ae0a2ed6c8cd33f68e98e49bb6e74ffe9543310267b48a1bbe3900e5f" +dependencies = [ + "aes 0.6.0", + "aes-gcm 0.8.0", + "async-trait", + "bincode", + "block-modes", + "byteorder", + "ccm", + "curve25519-dalek 3.2.0", + "der-parser 8.1.0", + "elliptic-curve", + "hkdf", + "hmac 0.10.1", + "log", + "oid-registry 0.6.1", + "p256", + "p384", + "rand 0.8.5", + "rand_core 0.6.4", + "rcgen 0.9.3", + "ring", + "rustls 0.19.1", + "sec1", + "serde", + "sha-1", + "sha2 0.9.9", + "signature", + "subtle", + "thiserror", + "tokio", + "webpki 0.21.4", + "webrtc-util", + "x25519-dalek 2.0.0-pre.1", + "x509-parser 0.13.2", +] + +[[package]] +name = "webrtc-ice" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "494483fbb2f5492620871fdc78b084aed8807377f6e3fe88b2e49f0a9c9c41d7" +dependencies = [ + "arc-swap", + "async-trait", + "crc", + "log", + "rand 0.8.5", + "serde", + "serde_json", + "stun", + "thiserror", + "tokio", + "turn", + "url", + "uuid", + "waitgroup", + "webrtc-mdns", + "webrtc-util", +] + +[[package]] +name = "webrtc-mdns" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f08dfd7a6e3987e255c4dbe710dde5d94d0f0574f8a21afa95d171376c143106" +dependencies = [ + "log", + "socket2", + "thiserror", + "tokio", + "webrtc-util", +] + +[[package]] +name = "webrtc-media" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee2a3c157a040324e5049bcbd644ffc9079e6738fa2cfab2bcff64e5cc4c00d7" +dependencies = [ + "byteorder", + "bytes", + "derive_builder", + "displaydoc", + "rand 0.8.5", + "rtp", + "thiserror", + "webrtc-util", +] + +[[package]] +name = "webrtc-sctp" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d47adcd9427eb3ede33d5a7f3424038f63c965491beafcc20bc650a2f6679c0" +dependencies = [ + "arc-swap", + "async-trait", + "bytes", + "crc", + "log", + "rand 0.8.5", + "thiserror", + "tokio", + "webrtc-util", +] + +[[package]] +name = "webrtc-srtp" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6183edc4c1c6c0175f8812eefdce84dfa0aea9c3ece71c2bf6ddd3c964de3da5" +dependencies = [ + "aead 0.4.3", + "aes 0.7.5", + "aes-gcm 0.9.4", + "async-trait", + "byteorder", + "bytes", + "ctr 0.8.0", + "hmac 0.11.0", + "log", + "rtcp", + "rtp", + "sha-1", + "subtle", + "thiserror", + "tokio", + "webrtc-util", +] + +[[package]] +name = "webrtc-util" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93f1db1727772c05cf7a2cfece52c3aca8045ca1e176cd517d323489aa3c6d87" +dependencies = [ + "async-trait", + "bitflags", + "bytes", + "cc", + "ipnet", + "lazy_static", + "libc", + "log", + "nix", + "rand 0.8.5", + "thiserror", + "tokio", + "winapi", ] [[package]] @@ -12324,8 +13027,8 @@ dependencies = [ [[package]] name = "westend-runtime" -version = "0.9.36" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" +version = "0.9.37" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" dependencies = [ "bitvec", "frame-benchmarking", @@ -12414,8 +13117,8 @@ dependencies = [ [[package]] name = "westend-runtime-constants" -version = "0.9.36" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" +version = "0.9.37" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" dependencies = [ "frame-support", "polkadot-primitives", @@ -12428,9 +13131,9 @@ dependencies = [ [[package]] name = "which" -version = "4.3.0" +version = "4.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c831fbbee9e129a8cf93e7747a82da9d95ba8e16621cae60ec2cdc849bacb7b" +checksum = "2441c784c52b289a054b7201fc93253e288f094e2f4be9058343127c4226a269" dependencies = [ "either", "libc", @@ -12507,19 +13210,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7" dependencies = [ "windows_aarch64_gnullvm", - "windows_aarch64_msvc 0.42.0", - "windows_i686_gnu 0.42.0", - "windows_i686_msvc 0.42.0", - "windows_x86_64_gnu 0.42.0", + "windows_aarch64_msvc 0.42.1", + "windows_i686_gnu 0.42.1", + "windows_i686_msvc 0.42.1", + "windows_x86_64_gnu 0.42.1", "windows_x86_64_gnullvm", - "windows_x86_64_msvc 0.42.0", + "windows_x86_64_msvc 0.42.1", ] [[package]] name = "windows_aarch64_gnullvm" -version = "0.42.0" +version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41d2aa71f6f0cbe00ae5167d90ef3cfe66527d6f613ca78ac8024c3ccab9a19e" +checksum = "8c9864e83243fdec7fc9c5444389dcbbfd258f745e7853198f365e3c4968a608" [[package]] name = "windows_aarch64_msvc" @@ -12535,9 +13238,9 @@ checksum = "9bb8c3fd39ade2d67e9874ac4f3db21f0d710bee00fe7cab16949ec184eeaa47" [[package]] name = "windows_aarch64_msvc" -version = "0.42.0" +version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd0f252f5a35cac83d6311b2e795981f5ee6e67eb1f9a7f64eb4500fbc4dcdb4" +checksum = "4c8b1b673ffc16c47a9ff48570a9d85e25d265735c503681332589af6253c6c7" [[package]] name = "windows_i686_gnu" @@ -12553,9 +13256,9 @@ checksum = "180e6ccf01daf4c426b846dfc66db1fc518f074baa793aa7d9b9aaeffad6a3b6" [[package]] name = "windows_i686_gnu" -version = "0.42.0" +version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbeae19f6716841636c28d695375df17562ca208b2b7d0dc47635a50ae6c5de7" +checksum = "de3887528ad530ba7bdbb1faa8275ec7a1155a45ffa57c37993960277145d640" [[package]] name = "windows_i686_msvc" @@ -12571,9 +13274,9 @@ checksum = "e2e7917148b2812d1eeafaeb22a97e4813dfa60a3f8f78ebe204bcc88f12f024" [[package]] name = "windows_i686_msvc" -version = "0.42.0" +version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84c12f65daa39dd2babe6e442988fc329d6243fdce47d7d2d155b8d874862246" +checksum = "bf4d1122317eddd6ff351aa852118a2418ad4214e6613a50e0191f7004372605" [[package]] name = "windows_x86_64_gnu" @@ -12589,15 +13292,15 @@ checksum = "4dcd171b8776c41b97521e5da127a2d86ad280114807d0b2ab1e462bc764d9e1" [[package]] name = "windows_x86_64_gnu" -version = "0.42.0" +version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf7b1b21b5362cbc318f686150e5bcea75ecedc74dd157d874d754a2ca44b0ed" +checksum = "c1040f221285e17ebccbc2591ffdc2d44ee1f9186324dd3e84e99ac68d699c45" [[package]] name = "windows_x86_64_gnullvm" -version = "0.42.0" +version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09d525d2ba30eeb3297665bd434a54297e4170c7f1a44cad4ef58095b4cd2028" +checksum = "628bfdf232daa22b0d64fdb62b09fcc36bb01f05a3939e20ab73aaf9470d0463" [[package]] name = "windows_x86_64_msvc" @@ -12613,9 +13316,9 @@ checksum = "c811ca4a8c853ef420abd8592ba53ddbbac90410fab6903b3e79972a631f7680" [[package]] name = "windows_x86_64_msvc" -version = "0.42.0" +version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f40009d85759725a34da6d89a94e63d7bdc50a862acf0dbc7c8e488f1edcb6f5" +checksum = "447660ad36a13288b1db4d4248e857b510e8c3a225c822ba4fb748c0aafecffd" [[package]] name = "winreg" @@ -12646,10 +13349,58 @@ dependencies = [ "zeroize", ] +[[package]] +name = "x25519-dalek" +version = "2.0.0-pre.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5da623d8af10a62342bcbbb230e33e58a63255a58012f8653c578e54bab48df" +dependencies = [ + "curve25519-dalek 3.2.0", + "rand_core 0.6.4", + "zeroize", +] + +[[package]] +name = "x509-parser" +version = "0.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9fb9bace5b5589ffead1afb76e43e34cff39cd0f3ce7e170ae0c29e53b88eb1c" +dependencies = [ + "asn1-rs 0.3.1", + "base64 0.13.1", + "data-encoding", + "der-parser 7.0.0", + "lazy_static", + "nom", + "oid-registry 0.4.0", + "ring", + "rusticata-macros", + "thiserror", + "time 0.3.17", +] + +[[package]] +name = "x509-parser" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e0ecbeb7b67ce215e40e3cc7f2ff902f94a223acf44995934763467e7b1febc8" +dependencies = [ + "asn1-rs 0.5.1", + "base64 0.13.1", + "data-encoding", + "der-parser 8.1.0", + "lazy_static", + "nom", + "oid-registry 0.6.1", + "rusticata-macros", + "thiserror", + "time 0.3.17", +] + [[package]] name = "xcm" -version = "0.9.36" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" +version = "0.9.37" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" dependencies = [ "derivative", "impl-trait-for-tuples", @@ -12662,8 +13413,8 @@ dependencies = [ [[package]] name = "xcm-builder" -version = "0.9.36" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" +version = "0.9.37" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" dependencies = [ "frame-support", "frame-system", @@ -12682,8 +13433,8 @@ dependencies = [ [[package]] name = "xcm-executor" -version = "0.9.36" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" +version = "0.9.37" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" dependencies = [ "frame-benchmarking", "frame-support", @@ -12700,8 +13451,8 @@ dependencies = [ [[package]] name = "xcm-procedural" -version = "0.9.36" -source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.36#dc25abc712e42b9b51d87ad1168e453a42b5f0bc" +version = "0.9.37" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.37#645723987cf9662244be8faf4e9b63e8b9a1b3a3" dependencies = [ "Inflector", "proc-macro2", @@ -12723,6 +13474,15 @@ dependencies = [ "static_assertions", ] +[[package]] +name = "yasna" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aed2e7a52e3744ab4d0c05c20aa065258e84c49fd4226f5191b2ed29712710b4" +dependencies = [ + "time 0.3.17", +] + [[package]] name = "zeroize" version = "1.5.7" @@ -12765,10 +13525,11 @@ dependencies = [ [[package]] name = "zstd-sys" -version = "2.0.4+zstd.1.5.2" +version = "2.0.5+zstd.1.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fa202f2ef00074143e219d15b62ffc317d17cc33909feac471c044087cad7b0" +checksum = "edc50ffce891ad571e9f9afe5039c4837bede781ac4bb13052ed7ae695518596" dependencies = [ "cc", "libc", + "pkg-config", ] diff --git a/Cargo.toml b/Cargo.toml index 81a9e975f..c9dbe9d58 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -23,7 +23,7 @@ version = "1.9.0-dev" [workspace.dependencies] # Build deps -substrate-wasm-builder = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.36"} +substrate-wasm-builder = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37"} # External (without extra features and with default disabled if necessary) base58 = {version = "0.2.0", default-features = false} @@ -72,111 +72,111 @@ spiritnet-runtime = {path = "runtimes/spiritnet", default-features = false} # Benchmarking (with default disabled) -cumulus-pallet-session-benchmarking = {git = "https://github.com/paritytech/cumulus", default-features = false, branch = "polkadot-v0.9.36"} -frame-system-benchmarking = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.36"} +cumulus-pallet-session-benchmarking = {git = "https://github.com/paritytech/cumulus", default-features = false, branch = "polkadot-v0.9.37"} +frame-system-benchmarking = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.37"} # Cumulus (with default disabled) -cumulus-pallet-aura-ext = {git = "https://github.com/paritytech/cumulus", default-features = false, branch = "polkadot-v0.9.36"} -cumulus-pallet-dmp-queue = {git = "https://github.com/paritytech/cumulus", default-features = false, branch = "polkadot-v0.9.36"} -cumulus-pallet-solo-to-para = {git = "https://github.com/paritytech/cumulus", default-features = false, branch = "polkadot-v0.9.36"} -cumulus-pallet-parachain-system = {git = "https://github.com/paritytech/cumulus", default-features = false, branch = "polkadot-v0.9.36"} -cumulus-pallet-xcm = {git = "https://github.com/paritytech/cumulus", default-features = false, branch = "polkadot-v0.9.36"} -cumulus-pallet-xcmp-queue = {git = "https://github.com/paritytech/cumulus", default-features = false, branch = "polkadot-v0.9.36"} -cumulus-primitives-core = {git = "https://github.com/paritytech/cumulus", default-features = false, branch = "polkadot-v0.9.36"} -cumulus-primitives-timestamp = {git = "https://github.com/paritytech/cumulus", default-features = false, branch = "polkadot-v0.9.36"} -cumulus-primitives-utility = {git = "https://github.com/paritytech/cumulus", default-features = false, branch = "polkadot-v0.9.36"} -pallet-collator-selection = {git = "https://github.com/paritytech/cumulus", default-features = false, branch = "polkadot-v0.9.36"} -parachain-info = {git = "https://github.com/paritytech/cumulus", default-features = false, branch = "polkadot-v0.9.36"} +cumulus-pallet-aura-ext = {git = "https://github.com/paritytech/cumulus", default-features = false, branch = "polkadot-v0.9.37"} +cumulus-pallet-dmp-queue = {git = "https://github.com/paritytech/cumulus", default-features = false, branch = "polkadot-v0.9.37"} +cumulus-pallet-solo-to-para = {git = "https://github.com/paritytech/cumulus", default-features = false, branch = "polkadot-v0.9.37"} +cumulus-pallet-parachain-system = {git = "https://github.com/paritytech/cumulus", default-features = false, branch = "polkadot-v0.9.37"} +cumulus-pallet-xcm = {git = "https://github.com/paritytech/cumulus", default-features = false, branch = "polkadot-v0.9.37"} +cumulus-pallet-xcmp-queue = {git = "https://github.com/paritytech/cumulus", default-features = false, branch = "polkadot-v0.9.37"} +cumulus-primitives-core = {git = "https://github.com/paritytech/cumulus", default-features = false, branch = "polkadot-v0.9.37"} +cumulus-primitives-timestamp = {git = "https://github.com/paritytech/cumulus", default-features = false, branch = "polkadot-v0.9.37"} +cumulus-primitives-utility = {git = "https://github.com/paritytech/cumulus", default-features = false, branch = "polkadot-v0.9.37"} +pallet-collator-selection = {git = "https://github.com/paritytech/cumulus", default-features = false, branch = "polkadot-v0.9.37"} +parachain-info = {git = "https://github.com/paritytech/cumulus", default-features = false, branch = "polkadot-v0.9.37"} # Substrate (with default disabled) -frame-benchmarking = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.36"} -frame-benchmarking-cli = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.36"} -frame-executive = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.36"} -frame-support = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.36"} -frame-system = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.36"} -frame-system-rpc-runtime-api = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.36"} -frame-try-runtime = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.36"} -pallet-aura = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.36"} -pallet-authorship = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.36"} -pallet-balances = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.36"} -pallet-collective = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.36"} -pallet-democracy = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.36"} -pallet-grandpa = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.36"} -pallet-indices = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.36"} -pallet-membership = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.36"} -pallet-preimage = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.36"} -pallet-proxy = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.36"} -pallet-randomness-collective-flip = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.36"} -pallet-scheduler = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.36"} -pallet-session = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.36"} -pallet-sudo = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.36"} -pallet-timestamp = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.36"} -pallet-tips = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.36"} -pallet-transaction-payment = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.36"} -pallet-transaction-payment-rpc-runtime-api = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.36"} -pallet-treasury = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.36"} -pallet-utility = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.36"} -pallet-vesting = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.36"} -sp-api = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.36"} -sp-block-builder = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.36"} -sp-consensus-aura = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.36"} -sp-core = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.36"} -sp-inherents = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.36"} -sp-io = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.36"} -sp-offchain = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.36"} -sp-runtime = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.36"} -sp-session = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.36"} -sp-staking = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.36"} -sp-std = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.36"} -sp-transaction-pool = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.36"} -sp-version = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.36"} -try-runtime-cli = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.36"} +frame-benchmarking = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.37"} +frame-benchmarking-cli = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.37"} +frame-executive = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.37"} +frame-support = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.37"} +frame-system = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.37"} +frame-system-rpc-runtime-api = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.37"} +frame-try-runtime = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.37"} +pallet-aura = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.37"} +pallet-authorship = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.37"} +pallet-balances = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.37"} +pallet-collective = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.37"} +pallet-democracy = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.37"} +pallet-grandpa = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.37"} +pallet-indices = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.37"} +pallet-membership = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.37"} +pallet-preimage = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.37"} +pallet-proxy = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.37"} +pallet-randomness-collective-flip = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.37"} +pallet-scheduler = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.37"} +pallet-session = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.37"} +pallet-sudo = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.37"} +pallet-timestamp = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.37"} +pallet-tips = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.37"} +pallet-transaction-payment = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.37"} +pallet-transaction-payment-rpc-runtime-api = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.37"} +pallet-treasury = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.37"} +pallet-utility = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.37"} +pallet-vesting = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.37"} +sp-api = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.37"} +sp-block-builder = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.37"} +sp-consensus-aura = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.37"} +sp-core = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.37"} +sp-inherents = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.37"} +sp-io = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.37"} +sp-offchain = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.37"} +sp-runtime = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.37"} +sp-session = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.37"} +sp-staking = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.37"} +sp-std = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.37"} +sp-transaction-pool = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.37"} +sp-version = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.37"} +try-runtime-cli = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.37"} # Polkadot (with default disabled) -pallet-xcm = {git = "https://github.com/paritytech/polkadot", default-features = false, branch = "release-v0.9.36"} -polkadot-parachain = {git = "https://github.com/paritytech/polkadot", default-features = false, branch = "release-v0.9.36"} -xcm = {git = "https://github.com/paritytech/polkadot", default-features = false, branch = "release-v0.9.36"} -xcm-builder = {git = "https://github.com/paritytech/polkadot", default-features = false, branch = "release-v0.9.36"} -xcm-executor = {git = "https://github.com/paritytech/polkadot", default-features = false, branch = "release-v0.9.36"} +pallet-xcm = {git = "https://github.com/paritytech/polkadot", default-features = false, branch = "release-v0.9.37"} +polkadot-parachain = {git = "https://github.com/paritytech/polkadot", default-features = false, branch = "release-v0.9.37"} +xcm = {git = "https://github.com/paritytech/polkadot", default-features = false, branch = "release-v0.9.37"} +xcm-builder = {git = "https://github.com/paritytech/polkadot", default-features = false, branch = "release-v0.9.37"} +xcm-executor = {git = "https://github.com/paritytech/polkadot", default-features = false, branch = "release-v0.9.37"} # Client-only (with default enabled) -cumulus-client-cli = {git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.36"} -cumulus-client-consensus-aura = {git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.36"} -cumulus-client-consensus-common = {git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.36"} -cumulus-client-network = {git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.36"} -cumulus-client-service = {git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.36"} -cumulus-primitives-parachain-inherent = {git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.36"} -cumulus-relay-chain-inprocess-interface = {git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.36"} -cumulus-relay-chain-interface = {git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.36"} -cumulus-relay-chain-minimal-node = {git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.36"} -cumulus-relay-chain-rpc-interface = {git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.36"} -pallet-transaction-payment-rpc = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.36"} -polkadot-cli = {git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.36"} -polkadot-primitives = {git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.36"} -polkadot-service = {git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.36"} -sc-basic-authorship = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.36"} -sc-chain-spec = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.36"} -sc-cli = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.36"} -sc-client-api = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.36"} -sc-consensus = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.36"} -sc-consensus-aura = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.36"} -sc-executor = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.36"} -sc-finality-grandpa = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.36"} -sc-keystore = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.36"} -sc-network = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.36"} -sc-rpc-api = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.36"} -sc-service = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.36"} -sc-sysinfo = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.36"} -sc-telemetry = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.36"} -sc-tracing = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.36"} -sc-transaction-pool = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.36"} -sc-transaction-pool-api = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.36"} -sp-blockchain = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.36"} -sp-consensus = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.36"} -sp-finality-grandpa = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.36"} -sp-keyring = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.36"} -sp-keystore = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.36"} -sp-timestamp = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.36"} -substrate-build-script-utils = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.36"} -substrate-frame-rpc-system = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.36"} -substrate-prometheus-endpoint = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.36"} +cumulus-client-cli = {git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.37"} +cumulus-client-consensus-aura = {git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.37"} +cumulus-client-consensus-common = {git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.37"} +cumulus-client-network = {git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.37"} +cumulus-client-service = {git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.37"} +cumulus-primitives-parachain-inherent = {git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.37"} +cumulus-relay-chain-inprocess-interface = {git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.37"} +cumulus-relay-chain-interface = {git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.37"} +cumulus-relay-chain-minimal-node = {git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.37"} +cumulus-relay-chain-rpc-interface = {git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.37"} +pallet-transaction-payment-rpc = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37"} +polkadot-cli = {git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.37"} +polkadot-primitives = {git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.37"} +polkadot-service = {git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.37"} +sc-basic-authorship = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37"} +sc-chain-spec = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37"} +sc-cli = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37"} +sc-client-api = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37"} +sc-consensus = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37"} +sc-consensus-aura = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37"} +sc-executor = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37"} +sc-finality-grandpa = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37"} +sc-keystore = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37"} +sc-network = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37"} +sc-rpc-api = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37"} +sc-service = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37"} +sc-sysinfo = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37"} +sc-telemetry = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37"} +sc-tracing = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37"} +sc-transaction-pool = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37"} +sc-transaction-pool-api = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37"} +sp-blockchain = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37"} +sp-consensus = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37"} +sp-finality-grandpa = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37"} +sp-keyring = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37"} +sp-keystore = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37"} +sp-timestamp = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37"} +substrate-build-script-utils = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37"} +substrate-frame-rpc-system = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37"} +substrate-prometheus-endpoint = {git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37"} diff --git a/runtimes/clone/src/lib.rs b/runtimes/clone/src/lib.rs index 497c89d05..8ba2428e5 100644 --- a/runtimes/clone/src/lib.rs +++ b/runtimes/clone/src/lib.rs @@ -32,6 +32,10 @@ use frame_support::{ PalletId, }; use frame_system::EnsureRoot; + +#[cfg(feature = "try-runtime")] +use frame_try_runtime::UpgradeCheckSelect; + use pallet_did_lookup::linkable_account::LinkableAccountId; use sp_api::impl_runtime_apis; use sp_core::OpaqueMetadata; @@ -689,7 +693,7 @@ impl_runtime_apis! { #[cfg(feature = "try-runtime")] impl frame_try_runtime::TryRuntime for Runtime { - fn on_runtime_upgrade(checks: bool) -> (Weight, Weight) { + fn on_runtime_upgrade(checks: UpgradeCheckSelect) -> (Weight, Weight) { log::info!("try-runtime::on_runtime_upgrade clone."); let weight = Executive::try_runtime_upgrade(checks).unwrap(); (weight, BlockWeights::get().max_block) diff --git a/runtimes/peregrine/src/lib.rs b/runtimes/peregrine/src/lib.rs index d8ff341e5..f2147f763 100644 --- a/runtimes/peregrine/src/lib.rs +++ b/runtimes/peregrine/src/lib.rs @@ -33,6 +33,10 @@ use frame_support::{ weights::{constants::RocksDbWeight, ConstantMultiplier, Weight}, }; use frame_system::EnsureRoot; + +#[cfg(feature = "try-runtime")] +use frame_try_runtime::UpgradeCheckSelect; + use sp_api::impl_runtime_apis; use sp_core::OpaqueMetadata; use sp_runtime::{ @@ -1410,7 +1414,7 @@ impl_runtime_apis! { #[cfg(feature = "try-runtime")] impl frame_try_runtime::TryRuntime for Runtime { - fn on_runtime_upgrade(checks: bool) -> (Weight, Weight) { + fn on_runtime_upgrade(checks: UpgradeCheckSelect) -> (Weight, Weight) { log::info!("try-runtime::on_runtime_upgrade peregrine."); let weight = Executive::try_runtime_upgrade(checks).unwrap(); (weight, BlockWeights::get().max_block) diff --git a/runtimes/spiritnet/src/lib.rs b/runtimes/spiritnet/src/lib.rs index 94808274e..103e43ab9 100644 --- a/runtimes/spiritnet/src/lib.rs +++ b/runtimes/spiritnet/src/lib.rs @@ -33,6 +33,10 @@ use frame_support::{ weights::{constants::RocksDbWeight, ConstantMultiplier, Weight}, }; use frame_system::EnsureRoot; + +#[cfg(feature = "try-runtime")] +use frame_try_runtime::UpgradeCheckSelect; + use sp_api::impl_runtime_apis; use sp_core::OpaqueMetadata; use sp_runtime::{ @@ -1404,7 +1408,7 @@ impl_runtime_apis! { #[cfg(feature = "try-runtime")] impl frame_try_runtime::TryRuntime for Runtime { - fn on_runtime_upgrade(checks: bool) -> (Weight, Weight) { + fn on_runtime_upgrade(checks: UpgradeCheckSelect) -> (Weight, Weight) { log::info!("try-runtime::on_runtime_upgrade spiritnet."); let weight = Executive::try_runtime_upgrade(checks).unwrap(); (weight, BlockWeights::get().max_block) diff --git a/runtimes/standalone/src/lib.rs b/runtimes/standalone/src/lib.rs index 0b0dfb3c1..03f89f32b 100644 --- a/runtimes/standalone/src/lib.rs +++ b/runtimes/standalone/src/lib.rs @@ -35,6 +35,10 @@ use frame_support::{ }; pub use frame_system::Call as SystemCall; use frame_system::EnsureRoot; + +#[cfg(feature = "try-runtime")] +use frame_try_runtime::UpgradeCheckSelect; + use pallet_grandpa::{fg_primitives, AuthorityId as GrandpaId, AuthorityList as GrandpaAuthorityList}; use pallet_transaction_payment::{CurrencyAdapter, FeeDetails}; use sp_api::impl_runtime_apis; @@ -1123,7 +1127,7 @@ impl_runtime_apis! { #[cfg(feature = "try-runtime")] impl frame_try_runtime::TryRuntime for Runtime { - fn on_runtime_upgrade(checks: bool) -> (Weight, Weight) { + fn on_runtime_upgrade(checks: UpgradeCheckSelect) -> (Weight, Weight) { log::info!("try-runtime::on_runtime_upgrade mashnet-node standalone."); let weight = Executive::try_runtime_upgrade(checks).unwrap(); (weight, runtime_common::BlockWeights::get().max_block) From eecde6646ecea4f96d659ff5a3d4aa40cb0509a3 Mon Sep 17 00:00:00 2001 From: Albrecht Date: Mon, 23 Jan 2023 14:47:28 +0100 Subject: [PATCH 26/38] chore: update srtool (#453) --- .gitlab-ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 4e73e516a..a112ac8b8 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -68,7 +68,7 @@ build: build-wasm-peregrine: image: - name: paritytech/srtool:1.64.0-0.9.23 + name: paritytech/srtool:1.66.1-0.9.25 entrypoint: [""] stage: build only: @@ -89,7 +89,7 @@ build-wasm-peregrine: build-wasm-spiritnet: image: - name: paritytech/srtool:1.64.0-0.9.23 + name: paritytech/srtool:1.66.1-0.9.25 entrypoint: [""] stage: build only: From 59f845228c21e0445bc36cd642a5e16e515b2aaf Mon Sep 17 00:00:00 2001 From: Albrecht Date: Mon, 23 Jan 2023 15:50:27 +0100 Subject: [PATCH 27/38] fix: add public credentials to benchmark (#455) Brings the two runtimes back to sync. The diff between the peregrine and spiritnet runtime is now minimal again. Also one comment was outdated and the public credentials are not part of the benchmarks for spiritnet. --- runtimes/peregrine/src/lib.rs | 3 +-- runtimes/spiritnet/src/lib.rs | 9 ++++----- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/runtimes/peregrine/src/lib.rs b/runtimes/peregrine/src/lib.rs index f2147f763..57bfa54be 100644 --- a/runtimes/peregrine/src/lib.rs +++ b/runtimes/peregrine/src/lib.rs @@ -660,7 +660,6 @@ impl parachain_staking::Config for Runtime { type MaxUnstakeRequests = constants::staking::MaxUnstakeRequests; type NetworkRewardRate = constants::staking::NetworkRewardRate; type NetworkRewardStart = constants::staking::NetworkRewardStart; - type NetworkRewardBeneficiary = Treasury; type WeightInfo = weights::parachain_staking::WeightInfo; @@ -1010,8 +1009,8 @@ impl did::DeriveDidCallAuthorizationVerificationKeyRelationship for RuntimeCall RuntimeCall::Did(did::Call::create { .. }) => Err(did::RelationshipDeriveError::NotCallableByDid), RuntimeCall::Did { .. } => Ok(did::DidVerificationKeyRelationship::Authentication), RuntimeCall::Web3Names { .. } => Ok(did::DidVerificationKeyRelationship::Authentication), - RuntimeCall::DidLookup { .. } => Ok(did::DidVerificationKeyRelationship::Authentication), RuntimeCall::PublicCredentials { .. } => Ok(did::DidVerificationKeyRelationship::AssertionMethod), + RuntimeCall::DidLookup { .. } => Ok(did::DidVerificationKeyRelationship::Authentication), RuntimeCall::Utility(pallet_utility::Call::batch { calls }) => single_key_relationship(&calls[..]), RuntimeCall::Utility(pallet_utility::Call::batch_all { calls }) => single_key_relationship(&calls[..]), RuntimeCall::Utility(pallet_utility::Call::force_batch { calls }) => single_key_relationship(&calls[..]), diff --git a/runtimes/spiritnet/src/lib.rs b/runtimes/spiritnet/src/lib.rs index 103e43ab9..2d48a4c01 100644 --- a/runtimes/spiritnet/src/lib.rs +++ b/runtimes/spiritnet/src/lib.rs @@ -72,12 +72,12 @@ use sp_version::NativeVersion; #[cfg(feature = "runtime-benchmarks")] use {frame_system::EnsureSigned, kilt_support::signature::AlwaysVerify, runtime_common::benchmarks::DummySignature}; -#[cfg(test)] -mod tests; - #[cfg(any(feature = "std", test))] pub use sp_runtime::BuildStorage; +#[cfg(test)] +mod tests; + mod weights; mod xcm_config; @@ -222,8 +222,6 @@ impl cumulus_pallet_parachain_system::Config for Runtime { type ReservedDmpWeight = ReservedDmpWeight; type XcmpMessageHandler = XcmpQueue; type ReservedXcmpWeight = ReservedXcmpWeight; - // We temporarily control this via the RelayMigration pallet which can toggle - // between strict and any. type CheckAssociatedRelayNumber = RelayNumberStrictlyIncreases; } @@ -1084,6 +1082,7 @@ mod benches { [pallet_inflation, Inflation] [parachain_staking, ParachainStaking] [pallet_web3_names, Web3Names] + [public_credentials, PublicCredentials] // Substrate [frame_benchmarking::baseline, Baseline::] [frame_system, SystemBench::] From 0a5e46d7a77b224a1462c1b6736fbd1e1343851f Mon Sep 17 00:00:00 2001 From: Antonio Date: Mon, 23 Jan 2023 16:34:58 +0100 Subject: [PATCH 28/38] feat: add block number for CTypes (#440) Fixes https://github.com/KILTprotocol/ticket/issues/2327 and fixes https://github.com/KILTprotocol/ticket/issues/2325. Adds a creation block number to future CTypes, and it introduces a `set_block_number` extrinsic that can be called **by sudo on standalone, Peregrine and Spiritnet**. Co-authored-by: Albrecht --- Cargo.lock | 1 + pallets/attestation/src/benchmarking.rs | 32 +++++++-- pallets/attestation/src/mock.rs | 12 +++- pallets/ctype/src/benchmarking.rs | 29 +++++++- pallets/ctype/src/ctype_entry.rs | 12 ++++ pallets/ctype/src/default_weights.rs | 15 +++- pallets/ctype/src/lib.rs | 47 +++++++++++- pallets/ctype/src/mock.rs | 19 ++++- pallets/ctype/src/tests.rs | 71 ++++++++++++++++++- pallets/delegation/src/benchmarking.rs | 17 ++++- pallets/delegation/src/mock.rs | 11 ++- pallets/did/src/mock.rs | 9 ++- .../public-credentials/src/benchmarking.rs | 37 ++++++++-- pallets/public-credentials/src/mock.rs | 12 +++- runtimes/common/Cargo.toml | 33 +++++---- runtimes/common/src/migrations.rs | 66 +++++++++++++++++ runtimes/peregrine/src/lib.rs | 2 + runtimes/peregrine/src/weights/ctype.rs | 8 ++- runtimes/spiritnet/src/lib.rs | 4 ++ runtimes/spiritnet/src/weights/ctype.rs | 6 ++ runtimes/standalone/src/lib.rs | 1 + 21 files changed, 395 insertions(+), 49 deletions(-) create mode 100644 pallets/ctype/src/ctype_entry.rs diff --git a/Cargo.lock b/Cargo.lock index e61d9cd77..b65013fe8 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -8904,6 +8904,7 @@ name = "runtime-common" version = "1.9.0-dev" dependencies = [ "attestation", + "ctype", "cumulus-primitives-core", "frame-support", "frame-system", diff --git a/pallets/attestation/src/benchmarking.rs b/pallets/attestation/src/benchmarking.rs index 456ee86cf..4447d8992 100644 --- a/pallets/attestation/src/benchmarking.rs +++ b/pallets/attestation/src/benchmarking.rs @@ -21,6 +21,7 @@ use frame_support::traits::{Currency, Get}; use frame_system::RawOrigin; use sp_runtime::traits::Hash; +use ctype::CtypeEntryOf; use kilt_support::traits::GenerateBenchmarkOrigin; use crate::*; @@ -33,6 +34,7 @@ benchmarks! { T: core::fmt::Debug, ::EnsureOrigin: GenerateBenchmarkOrigin, T: ctype::Config, + T::BlockNumber: From } add { @@ -41,7 +43,10 @@ benchmarks! { let claim_hash: T::Hash = T::Hashing::hash(b"claim"); let ctype_hash: T::Hash = T::Hash::default(); - ctype::Ctypes::::insert(ctype_hash, attester.clone()); + ctype::Ctypes::::insert(ctype_hash, CtypeEntryOf:: { + creator: attester.clone(), + created_at: 0u64.into() + }); ::Currency::make_free_balance_be(&sender, ::Deposit::get() + ::Deposit::get()); let origin = ::EnsureOrigin::generate_origin(sender.clone(), attester.clone()); @@ -66,7 +71,10 @@ benchmarks! { let claim_hash: T::Hash = T::Hashing::hash(b"claim"); let ctype_hash: T::Hash = T::Hash::default(); - ctype::Ctypes::::insert(ctype_hash, attester.clone()); + ctype::Ctypes::::insert(ctype_hash, CtypeEntryOf:: { + creator: attester.clone(), + created_at: 0u64.into() + }); ::Currency::make_free_balance_be(&sender, ::Deposit::get() + ::Deposit::get()); let origin = ::EnsureOrigin::generate_origin(sender.clone(), attester.clone()); @@ -92,7 +100,10 @@ benchmarks! { let claim_hash: T::Hash = T::Hashing::hash(b"claim"); let ctype_hash: T::Hash = T::Hash::default(); - ctype::Ctypes::::insert(ctype_hash, attester.clone()); + ctype::Ctypes::::insert(ctype_hash, CtypeEntryOf:: { + creator: attester.clone(), + created_at: 0u64.into() + }); ::Currency::make_free_balance_be(&sender, ::Deposit::get() + ::Deposit::get()); let origin = ::EnsureOrigin::generate_origin(sender.clone(), attester.clone()); @@ -109,7 +120,10 @@ benchmarks! { let claim_hash: T::Hash = T::Hashing::hash(b"claim"); let ctype_hash: T::Hash = T::Hash::default(); - ctype::Ctypes::::insert(ctype_hash, attester.clone()); + ctype::Ctypes::::insert(ctype_hash, CtypeEntryOf:: { + creator: attester.clone(), + created_at: 0u64.into() + }); ::Currency::make_free_balance_be(&sender, ::Deposit::get() + ::Deposit::get()); let origin = ::EnsureOrigin::generate_origin(sender.clone(), attester); @@ -127,7 +141,10 @@ benchmarks! { let claim_hash: T::Hash = T::Hashing::hash(b"claim"); let ctype_hash: T::Hash = T::Hash::default(); - ctype::Ctypes::::insert(ctype_hash, attester.clone()); + ctype::Ctypes::::insert(ctype_hash, CtypeEntryOf:: { + creator: attester.clone(), + created_at: 0u64.into() + }); ::Currency::make_free_balance_be(&deposit_owner_old, ::Deposit::get() + ::Deposit::get()); ::Currency::make_free_balance_be(&deposit_owner_new, ::Deposit::get() + ::Deposit::get()); @@ -154,7 +171,10 @@ benchmarks! { let claim_hash: T::Hash = T::Hashing::hash(b"claim"); let ctype_hash: T::Hash = T::Hash::default(); - ctype::Ctypes::::insert(ctype_hash, attester.clone()); + ctype::Ctypes::::insert(ctype_hash, CtypeEntryOf:: { + creator: attester.clone(), + created_at: 0u64.into() + }); ::Currency::make_free_balance_be(&deposit_owner, ::Deposit::get() + ::Deposit::get()); let origin = ::EnsureOrigin::generate_origin(deposit_owner.clone(), attester.clone()); diff --git a/pallets/attestation/src/mock.rs b/pallets/attestation/src/mock.rs index 510f5f647..37eea8c76 100644 --- a/pallets/attestation/src/mock.rs +++ b/pallets/attestation/src/mock.rs @@ -168,8 +168,8 @@ pub fn insert_attestation(claim_hash: ClaimHashOf, details: Attest /// Mocks that are only used internally #[cfg(test)] pub(crate) mod runtime { - use ctype::CtypeCreatorOf; use frame_support::{parameter_types, weights::constants::RocksDbWeight}; + use frame_system::EnsureSigned; use sp_core::{ed25519, sr25519, Pair}; use sp_runtime::{ testing::Header, @@ -177,6 +177,7 @@ pub(crate) mod runtime { MultiSignature, MultiSigner, }; + use ctype::{CtypeCreatorOf, CtypeEntryOf}; use kilt_support::mock::{mock_origin, SubjectId}; use super::*; @@ -267,6 +268,7 @@ pub(crate) mod runtime { type CtypeCreatorId = SubjectId; type EnsureOrigin = mock_origin::EnsureDoubleOrigin; type OriginSuccess = mock_origin::DoubleOrigin; + type OverarchingOrigin = EnsureSigned; type RuntimeEvent = (); type WeightInfo = (); @@ -366,7 +368,13 @@ pub(crate) mod runtime { ext.execute_with(|| { for ctype in self.ctypes { - ctype::Ctypes::::insert(ctype.0, ctype.1.clone()); + ctype::Ctypes::::insert( + ctype.0, + CtypeEntryOf:: { + creator: ctype.1.clone(), + created_at: System::block_number(), + }, + ); } for (claim_hash, details) in self.attestations { diff --git a/pallets/ctype/src/benchmarking.rs b/pallets/ctype/src/benchmarking.rs index feea85cb1..899510e14 100644 --- a/pallets/ctype/src/benchmarking.rs +++ b/pallets/ctype/src/benchmarking.rs @@ -19,7 +19,7 @@ use frame_benchmarking::{account, benchmarks, impl_benchmark_test_suite}; use frame_support::{ sp_runtime::traits::Hash, - traits::{Currency, Get}, + traits::{Currency, EnsureOrigin, Get}, }; use sp_std::{ convert::{TryFrom, TryInto}, @@ -40,6 +40,7 @@ benchmarks! { <::Currency as Currency>>::Balance: TryFrom, <<::Currency as Currency<::AccountId>>::Balance as TryFrom>::Error: Debug, T::EnsureOrigin: GenerateBenchmarkOrigin, + T::BlockNumber: From, } add { @@ -57,10 +58,32 @@ benchmarks! { }: _(origin, ctype) verify { - let stored_ctype_creator: T::CtypeCreatorId = Ctypes::::get(ctype_hash).expect("CType hash should be present on chain."); + let stored_ctype_entry = Ctypes::::get(ctype_hash).expect("CType hash should be present on chain."); // Verify the CType has the right owner - assert_eq!(stored_ctype_creator, did); + assert_eq!(stored_ctype_entry.creator, did); + } + + set_block_number { + let caller = account("caller", 0, SEED); + let did: T::CtypeCreatorId = account("did", 0, SEED); + + let ctype: Vec = (0u8..u8::MAX).cycle().take(MAX_CTYPE_SIZE.try_into().unwrap()).collect(); + let ctype_hash = ::Hashing::hash(&ctype[..]); + let new_block_number = 500u64.into(); + + let initial_balance = ::Fee::get() * ctype.len().try_into().unwrap() + ::Currency::minimum_balance(); + ::Currency::make_free_balance_be(&caller, initial_balance); + let origin = T::EnsureOrigin::generate_origin(caller, did); + Pallet::::add(origin, ctype).expect("CType creation should not fail."); + let overarching_origin = T::OverarchingOrigin::successful_origin(); + + }: _(overarching_origin, ctype_hash, new_block_number) + verify { + let stored_ctype_entry = Ctypes::::get(ctype_hash).expect("CType hash should be present on chain."); + + // Verify the CType has the right block number + assert_eq!(stored_ctype_entry.created_at, new_block_number); } } diff --git a/pallets/ctype/src/ctype_entry.rs b/pallets/ctype/src/ctype_entry.rs new file mode 100644 index 000000000..6a0cbd2c7 --- /dev/null +++ b/pallets/ctype/src/ctype_entry.rs @@ -0,0 +1,12 @@ +use codec::{Decode, Encode, MaxEncodedLen}; +use frame_support::RuntimeDebug; +use scale_info::TypeInfo; + +/// Creation details of a CType. +#[derive(Encode, Decode, RuntimeDebug, MaxEncodedLen, Eq, PartialEq, TypeInfo)] +pub struct CtypeEntry { + /// Identifier of the creator. + pub creator: Creator, + /// Block number in which the creation tx was dispatched. + pub created_at: BlockNumber, +} diff --git a/pallets/ctype/src/default_weights.rs b/pallets/ctype/src/default_weights.rs index fafe55643..9e2905c44 100644 --- a/pallets/ctype/src/default_weights.rs +++ b/pallets/ctype/src/default_weights.rs @@ -19,7 +19,7 @@ //! Autogenerated weights for ctype //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-11-07, STEPS: {{cmd.steps}}\, REPEAT: {{cmd.repeat}}\, LOW RANGE: {{cmd.lowest_range_values}}\, HIGH RANGE: {{cmd.highest_range_values}}\ +//! DATE: 2022-11-30, STEPS: {{cmd.steps}}\, REPEAT: {{cmd.repeat}}\, LOW RANGE: {{cmd.lowest_range_values}}\, HIGH RANGE: {{cmd.highest_range_values}}\ //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024 // Executed Command: @@ -48,6 +48,7 @@ use sp_std::marker::PhantomData; /// Weight functions needed for ctype. pub trait WeightInfo { fn add(l: u32, ) -> Weight; + fn set_block_number() -> Weight; } /// Weights for ctype using the Substrate node and recommended hardware. @@ -63,6 +64,12 @@ impl WeightInfo for SubstrateWeight { .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } + // Storage: Ctype Ctypes (r:1 w:1) + fn set_block_number() -> Weight { + Weight::from_ref_time(20_685_000 as u64) + .saturating_add(T::DbWeight::get().reads(1 as u64)) + .saturating_add(T::DbWeight::get().writes(1 as u64)) + } } // For backwards compatibility and tests @@ -77,4 +84,10 @@ impl WeightInfo for () { .saturating_add(RocksDbWeight::get().reads(3 as u64)) .saturating_add(RocksDbWeight::get().writes(3 as u64)) } + // Storage: Ctype Ctypes (r:1 w:1) + fn set_block_number() -> Weight { + Weight::from_ref_time(20_685_000 as u64) + .saturating_add(RocksDbWeight::get().reads(1 as u64)) + .saturating_add(RocksDbWeight::get().writes(1 as u64)) + } } diff --git a/pallets/ctype/src/lib.rs b/pallets/ctype/src/lib.rs index 2f24492e4..61758d8a2 100644 --- a/pallets/ctype/src/lib.rs +++ b/pallets/ctype/src/lib.rs @@ -42,6 +42,7 @@ #![cfg_attr(not(feature = "std"), no_std)] +pub mod ctype_entry; pub mod default_weights; #[cfg(any(feature = "mock", test))] @@ -69,12 +70,16 @@ pub mod pallet { use sp_runtime::{traits::Saturating, SaturatedConversion}; use sp_std::vec::Vec; + use crate::ctype_entry::CtypeEntry; + /// The current storage version. const STORAGE_VERSION: StorageVersion = StorageVersion::new(1); /// Type of a CType hash. pub type CtypeHashOf = ::Hash; + pub type CtypeEntryOf = CtypeEntry<::CtypeCreatorId, BlockNumberFor>; + /// Type of a CType creator. pub type CtypeCreatorOf = ::CtypeCreatorId; @@ -86,6 +91,7 @@ pub mod pallet { #[pallet::config] pub trait Config: frame_system::Config { type EnsureOrigin: EnsureOrigin<::RuntimeOrigin, Success = Self::OriginSuccess>; + type OverarchingOrigin: EnsureOrigin<::RuntimeOrigin>; type OriginSuccess: CallSources, CtypeCreatorOf>; type RuntimeEvent: From> + IsType<::RuntimeEvent>; type Currency: Currency>; @@ -105,10 +111,11 @@ pub mod pallet { /// CTypes stored on chain. /// - /// It maps from a CType hash to its creator. + /// It maps from a CType hash to its creator and block number in which it + /// was created. #[pallet::storage] #[pallet::getter(fn ctypes)] - pub type Ctypes = StorageMap<_, Blake2_128Concat, CtypeHashOf, CtypeCreatorOf>; + pub type Ctypes = StorageMap<_, Blake2_128Concat, CtypeHashOf, CtypeEntryOf>; #[pallet::event] #[pallet::generate_deposit(pub(super) fn deposit_event)] @@ -116,6 +123,9 @@ pub mod pallet { /// A new CType has been created. /// \[creator identifier, CType hash\] CTypeCreated(CtypeCreatorOf, CtypeHashOf), + /// Information about a CType has been updated. + /// \[CType hash\] + CTypeUpdated(CtypeHashOf), } #[pallet::error] @@ -177,11 +187,42 @@ pub mod pallet { T::FeeCollector::on_unbalanced(imbalance); log::debug!("Creating CType with hash {:?} and creator {:?}", hash, creator); - Ctypes::::insert(hash, creator.clone()); + Ctypes::::insert( + hash, + CtypeEntryOf:: { + creator: creator.clone(), + created_at: frame_system::Pallet::::block_number(), + }, + ); Self::deposit_event(Event::CTypeCreated(creator, hash)); Ok(()) } + + /// Set the creation block number for a given CType, if found. + /// + /// Emits `CTypeUpdated`. + #[pallet::call_index(1)] + #[pallet::weight(::WeightInfo::set_block_number())] + pub fn set_block_number( + origin: OriginFor, + ctype_hash: CtypeHashOf, + block_number: BlockNumberFor, + ) -> DispatchResult { + T::OverarchingOrigin::ensure_origin(origin)?; + Ctypes::::try_mutate(ctype_hash, |ctype_entry| { + if let Some(ctype_entry) = ctype_entry { + ctype_entry.created_at = block_number; + Ok(()) + } else { + Err(Error::::CTypeNotFound) + } + })?; + + Self::deposit_event(Event::CTypeUpdated(ctype_hash)); + + Ok(()) + } } } diff --git a/pallets/ctype/src/mock.rs b/pallets/ctype/src/mock.rs index eb81a6bcc..e441c4c52 100644 --- a/pallets/ctype/src/mock.rs +++ b/pallets/ctype/src/mock.rs @@ -36,7 +36,8 @@ where #[cfg(test)] pub mod runtime { - use frame_support::{parameter_types, weights::constants::RocksDbWeight}; + use frame_support::{ord_parameter_types, parameter_types, weights::constants::RocksDbWeight}; + use frame_system::EnsureSignedBy; use kilt_support::mock::{mock_origin, SubjectId}; use sp_runtime::{ testing::Header, @@ -44,7 +45,7 @@ pub mod runtime { AccountId32, MultiSignature, }; - use crate::{BalanceOf, Ctypes}; + use crate::{BalanceOf, CtypeEntryOf, Ctypes}; use super::*; @@ -133,9 +134,14 @@ pub mod runtime { pub const Fee: Balance = 500; } + ord_parameter_types! { + pub const OverarchingOrigin: AccountId = ACCOUNT_00; + } + impl Config for Test { type CtypeCreatorId = SubjectId; type EnsureOrigin = mock_origin::EnsureDoubleOrigin; + type OverarchingOrigin = EnsureSignedBy; type OriginSuccess = mock_origin::DoubleOrigin; type RuntimeEvent = (); type WeightInfo = (); @@ -147,6 +153,7 @@ pub mod runtime { pub(crate) const DID_00: SubjectId = SubjectId(AccountId32::new([1u8; 32])); pub(crate) const ACCOUNT_00: AccountId = AccountId::new([1u8; 32]); + pub(crate) const ACCOUNT_01: AccountId = AccountId::new([2u8; 32]); #[derive(Clone, Default)] pub(crate) struct ExtBuilder { @@ -176,7 +183,13 @@ pub mod runtime { ext.execute_with(|| { for (ctype_hash, owner) in self.ctypes_stored.iter() { - Ctypes::::insert(ctype_hash, owner); + Ctypes::::insert( + ctype_hash, + CtypeEntryOf:: { + creator: owner.clone(), + created_at: System::block_number(), + }, + ); } }); diff --git a/pallets/ctype/src/tests.rs b/pallets/ctype/src/tests.rs index 4faff48cc..bd3572029 100644 --- a/pallets/ctype/src/tests.rs +++ b/pallets/ctype/src/tests.rs @@ -17,6 +17,9 @@ // If you feel like getting in touch with us, you can do so at info@botlabs.org use frame_support::{assert_noop, assert_ok, sp_runtime::traits::Hash}; +use frame_system::RawOrigin; +use sp_runtime::DispatchError; + use kilt_support::mock::mock_origin::DoubleOrigin; use crate::{self as ctype, mock::runtime::*}; @@ -34,14 +37,21 @@ fn check_successful_ctype_creation() { .with_balances(vec![(deposit_owner.clone(), initial_balance)]) .build() .execute_with(|| { + System::set_block_number(200); assert_ok!(Ctype::add( DoubleOrigin(deposit_owner.clone(), creator.clone()).into(), ctype )); let stored_ctype_creator = Ctype::ctypes(&ctype_hash).expect("CType hash should be present on chain."); - // Verify the CType has the right owner - assert_eq!(stored_ctype_creator, creator); + // Verify the CType has the right owner and block number + assert_eq!( + stored_ctype_creator, + ctype::CtypeEntryOf:: { + creator, + created_at: 200 + } + ); assert_eq!( Balances::free_balance(deposit_owner), initial_balance.saturating_sub(::Fee::get()) @@ -81,3 +91,60 @@ fn check_duplicate_ctype_creation() { ); }); } + +// set_block_number + +#[test] +fn set_block_number_ok() { + let creator = DID_00; + let ctype = [9u8; 256].to_vec(); + let ctype_hash = ::Hashing::hash(&ctype[..]); + let new_block_number = 500u64; + + ExtBuilder::default() + .with_ctypes(vec![(ctype_hash, creator)]) + .build() + .execute_with(|| { + assert_ok!(Ctype::set_block_number( + RawOrigin::Signed(ACCOUNT_00).into(), + ctype_hash, + new_block_number + )); + assert_eq!( + ctype::Ctypes::::get(ctype_hash) + .expect("CType with provided hash should exist.") + .created_at, + new_block_number + ); + }) +} + +#[test] +fn set_block_number_ctype_not_found() { + let ctype = [9u8; 256].to_vec(); + let ctype_hash = ::Hashing::hash(&ctype[..]); + + ExtBuilder::default().build().execute_with(|| { + assert_noop!( + Ctype::set_block_number(RawOrigin::Signed(ACCOUNT_00).into(), ctype_hash, 100u64), + ctype::Error::::CTypeNotFound + ); + }) +} + +#[test] +fn set_block_number_bad_origin() { + let creator = DID_00; + let ctype = [9u8; 256].to_vec(); + let ctype_hash = ::Hashing::hash(&ctype[..]); + + ExtBuilder::default() + .with_ctypes(vec![(ctype_hash, creator)]) + .build() + .execute_with(|| { + assert_noop!( + Ctype::set_block_number(RawOrigin::Signed(ACCOUNT_01).into(), ctype_hash, 100u64), + DispatchError::BadOrigin + ); + }) +} diff --git a/pallets/delegation/src/benchmarking.rs b/pallets/delegation/src/benchmarking.rs index 7a144ab2d..01133d647 100644 --- a/pallets/delegation/src/benchmarking.rs +++ b/pallets/delegation/src/benchmarking.rs @@ -32,6 +32,7 @@ use sp_runtime::traits::Zero; use sp_std::{num::NonZeroU32, vec::Vec}; use attestation::AttestationAccessControl; +use ctype::CtypeEntryOf; use kilt_support::{signature::VerifySignature, traits::GenerateBenchmarkOrigin}; const SEED: u32 = 0; @@ -61,6 +62,7 @@ where T::DelegationNodeId: From, T::CtypeCreatorId: From, ::EnsureOrigin: GenerateBenchmarkOrigin, + T::BlockNumber: From, { log::info!("create delegation root"); let root_public = sr25519_generate(KeyTypeId(*b"aura"), None); @@ -74,7 +76,13 @@ where ::Currency::minimum_balance() + ::Deposit::get() + ::Deposit::get(), ); - ctype::Ctypes::::insert(ctype_hash, T::CtypeCreatorId::from(root_acc.clone())); + ctype::Ctypes::::insert( + ctype_hash, + CtypeEntryOf:: { + creator: T::CtypeCreatorId::from(root_acc.clone()), + created_at: 0u64.into(), + }, + ); Pallet::::create_hierarchy( ::EnsureOrigin::generate_origin(sender, root_acc.clone()), @@ -192,6 +200,7 @@ where <::DelegationSignatureVerification as VerifySignature>::Payload, )>, ::EnsureOrigin: GenerateBenchmarkOrigin, + T::BlockNumber: From, { let ( DelegationTriplet:: { @@ -227,6 +236,7 @@ benchmarks! { <::DelegationSignatureVerification as VerifySignature>::Payload, )>, ::EnsureOrigin: GenerateBenchmarkOrigin, + T::BlockNumber: From } create_hierarchy { @@ -234,7 +244,10 @@ benchmarks! { let creator: T::DelegationEntityId = account("creator", 0, SEED); let ctype = ::default(); let delegation = generate_delegation_id::(0); - ctype::Ctypes::::insert(ctype, ::CtypeCreatorId::from(creator.clone())); + ctype::Ctypes::::insert(ctype, CtypeEntryOf:: { + creator: T::CtypeCreatorId::from(creator.clone()), + created_at: 0u64.into(), + }); ::Currency::make_free_balance_be( &sender, ::Currency::minimum_balance() + ::Deposit::get(), diff --git a/pallets/delegation/src/mock.rs b/pallets/delegation/src/mock.rs index d98616665..01b95d690 100644 --- a/pallets/delegation/src/mock.rs +++ b/pallets/delegation/src/mock.rs @@ -175,6 +175,7 @@ pub(crate) mod runtime { use codec::Encode; use frame_support::{parameter_types, weights::constants::RocksDbWeight}; + use frame_system::EnsureSigned; use sp_core::{ed25519, sr25519, Pair}; use sp_runtime::{ testing::Header, @@ -183,6 +184,7 @@ pub(crate) mod runtime { }; use attestation::{mock::insert_attestation, AttestationDetails, ClaimHashOf}; + use ctype::CtypeEntryOf; use kilt_support::{ mock::{mock_origin, SubjectId}, signature::EqualVerify, @@ -282,6 +284,7 @@ pub(crate) mod runtime { type CtypeCreatorId = SubjectId; type EnsureOrigin = mock_origin::EnsureDoubleOrigin; type OriginSuccess = mock_origin::DoubleOrigin; + type OverarchingOrigin = EnsureSigned; type RuntimeEvent = (); type WeightInfo = (); @@ -491,7 +494,13 @@ pub(crate) mod runtime { ext.execute_with(|| { for (ctype_hash, owner) in self.ctypes.iter() { - ctype::Ctypes::::insert(ctype_hash, owner); + ctype::Ctypes::::insert( + ctype_hash, + CtypeEntryOf:: { + creator: owner.clone(), + created_at: System::block_number(), + }, + ); } initialize_pallet(self.delegations, self.delegation_hierarchies); diff --git a/pallets/did/src/mock.rs b/pallets/did/src/mock.rs index db38ed8a7..569398cb3 100644 --- a/pallets/did/src/mock.rs +++ b/pallets/did/src/mock.rs @@ -196,6 +196,7 @@ impl ctype::Config for Test { type OriginSuccess = DidRawOrigin; type CtypeCreatorId = DidIdentifier; + type OverarchingOrigin = EnsureSigned; type RuntimeEvent = (); type WeightInfo = (); type Currency = Balances; @@ -472,7 +473,13 @@ impl ExtBuilder { ext.execute_with(|| { for (ctype_hash, owner) in self.ctypes_stored.iter() { - ctype::Ctypes::::insert(ctype_hash, owner); + ctype::Ctypes::::insert( + ctype_hash, + ctype::CtypeEntryOf:: { + creator: owner.to_owned(), + created_at: System::block_number(), + }, + ); } for did in self.dids_stored.iter() { diff --git a/pallets/public-credentials/src/benchmarking.rs b/pallets/public-credentials/src/benchmarking.rs index fa9b96a7f..fbb928efd 100644 --- a/pallets/public-credentials/src/benchmarking.rs +++ b/pallets/public-credentials/src/benchmarking.rs @@ -24,6 +24,7 @@ use frame_support::{ }; use sp_std::{boxed::Box, vec, vec::Vec}; +use ctype::CtypeEntryOf; use kilt_support::{ deposit::Deposit, traits::{GenerateBenchmarkOrigin, GetWorstCase}, @@ -53,6 +54,7 @@ benchmarks! { ::EnsureOrigin: GenerateBenchmarkOrigin, ::SubjectId: GetWorstCase + Into> + sp_std::fmt::Debug, ::CredentialId: Default, + T::BlockNumber: From } add { @@ -70,7 +72,10 @@ benchmarks! { )); let credential_id = generate_credential_id::(&creation_op, &attester); - ctype::Ctypes::::insert(ctype_hash, attester.clone()); + ctype::Ctypes::::insert(ctype_hash, CtypeEntryOf:: { + creator: attester.clone(), + created_at: 0u64.into() + }); reserve_balance::(&sender); let origin = ::EnsureOrigin::generate_origin(sender, attester); }: _(origin, creation_op) @@ -97,7 +102,10 @@ benchmarks! { reserve_balance::(&sender); - ctype::Ctypes::::insert(ctype_hash, attester); + ctype::Ctypes::::insert(ctype_hash, CtypeEntryOf:: { + creator: attester, + created_at: 0u64.into() + }); Pallet::::add(origin.clone(), creation_op).expect("Pallet::add should not fail"); let credential_id_clone = credential_id.clone(); }: _(origin, credential_id_clone, None) @@ -123,7 +131,10 @@ benchmarks! { reserve_balance::(&sender); - ctype::Ctypes::::insert(ctype_hash, attester); + ctype::Ctypes::::insert(ctype_hash, CtypeEntryOf:: { + creator: attester, + created_at: 0u64.into() + }); Pallet::::add(origin.clone(), creation_op).expect("Pallet::add should not fail"); Pallet::::revoke(origin.clone(), credential_id.clone(), None).expect("Pallet::revoke should not fail"); let credential_id_clone = credential_id.clone(); @@ -149,7 +160,10 @@ benchmarks! { reserve_balance::(&sender); - ctype::Ctypes::::insert(ctype_hash, attester); + ctype::Ctypes::::insert(ctype_hash, CtypeEntryOf:: { + creator: attester, + created_at: 0u64.into() + }); Pallet::::add(origin.clone(), creation_op).expect("Pallet::add should not fail"); let credential_id_clone = credential_id.clone(); }: _(origin, credential_id_clone, None) @@ -175,7 +189,10 @@ benchmarks! { reserve_balance::(&sender); - ctype::Ctypes::::insert(ctype_hash, attester); + ctype::Ctypes::::insert(ctype_hash, CtypeEntryOf:: { + creator: attester, + created_at: 0u64.into() + }); Pallet::::add(origin, creation_op).expect("Pallet::add should not fail"); let origin = RawOrigin::Signed(sender); let credential_id_clone = credential_id.clone(); @@ -204,7 +221,10 @@ benchmarks! { reserve_balance::(&deposit_owner_old); reserve_balance::(&deposit_owner_new); - ctype::Ctypes::::insert(ctype_hash, attester.clone()); + ctype::Ctypes::::insert(ctype_hash, CtypeEntryOf:: { + creator: attester.clone(), + created_at: 0u64.into() + }); Pallet::::add(origin, creation_op).expect("Pallet::add should not fail"); let credential_id_clone = credential_id.clone(); let origin = ::EnsureOrigin::generate_origin(deposit_owner_new.clone(), attester); @@ -227,7 +247,10 @@ benchmarks! { let origin = ::EnsureOrigin::generate_origin(deposit_owner.clone(), attester.clone()); reserve_balance::(&deposit_owner); - ctype::Ctypes::::insert(ctype_hash, attester.clone()); + ctype::Ctypes::::insert(ctype_hash, CtypeEntryOf:: { + creator: attester.clone(), + created_at: 0u64.into() + }); let credential_entry = generate_base_credential_entry::( deposit_owner.clone(), diff --git a/pallets/public-credentials/src/mock.rs b/pallets/public-credentials/src/mock.rs index b8aeadbc2..b7d69f3d7 100644 --- a/pallets/public-credentials/src/mock.rs +++ b/pallets/public-credentials/src/mock.rs @@ -100,6 +100,7 @@ pub(crate) mod runtime { traits::{ConstU128, ConstU16, ConstU32, ConstU64}, weights::constants::RocksDbWeight, }; + use frame_system::EnsureSigned; use scale_info::TypeInfo; use sp_core::{sr25519, Pair}; use sp_runtime::{ @@ -110,7 +111,7 @@ pub(crate) mod runtime { use kilt_support::mock::{mock_origin, SubjectId}; - use ctype::{CtypeCreatorOf, CtypeHashOf}; + use ctype::{CtypeCreatorOf, CtypeEntryOf, CtypeHashOf}; use crate::{Config, CredentialEntryOf, Error, InputSubjectIdOf, PublicCredentialsAccessControl}; @@ -333,6 +334,7 @@ pub(crate) mod runtime { type CtypeCreatorId = SubjectId; type EnsureOrigin = mock_origin::EnsureDoubleOrigin; type OriginSuccess = mock_origin::DoubleOrigin; + type OverarchingOrigin = EnsureSigned; type RuntimeEvent = (); type WeightInfo = (); @@ -424,7 +426,13 @@ pub(crate) mod runtime { ext.execute_with(|| { for ctype in self.ctypes { - ctype::Ctypes::::insert(ctype.0, ctype.1.clone()); + ctype::Ctypes::::insert( + ctype.0, + CtypeEntryOf:: { + creator: ctype.1.clone(), + created_at: System::block_number(), + }, + ); } for (subject_id, credential_id, credential_entry) in self.public_credentials { diff --git a/runtimes/common/Cargo.toml b/runtimes/common/Cargo.toml index fb3251f77..91e85925b 100644 --- a/runtimes/common/Cargo.toml +++ b/runtimes/common/Cargo.toml @@ -23,6 +23,7 @@ smallvec.workspace = true # Internal dependencies attestation.workspace = true +ctype.workspace = true kilt-support.workspace = true parachain-staking.workspace = true public-credentials.workspace = true @@ -54,27 +55,29 @@ default = ["std"] fast-gov = [] runtime-benchmarks = [ "attestation/runtime-benchmarks", + "ctype/runtime-benchmarks", "frame-support/runtime-benchmarks", - "frame-system/runtime-benchmarks", + "frame-system/runtime-benchmarks", "kilt-support/runtime-benchmarks", - "pallet-balances/runtime-benchmarks", - "pallet-membership/runtime-benchmarks", + "pallet-balances/runtime-benchmarks", + "pallet-membership/runtime-benchmarks", "parachain-staking/runtime-benchmarks", "polkadot-parachain/runtime-benchmarks", - "public-credentials/runtime-benchmarks", + "public-credentials/runtime-benchmarks", "sp-runtime/runtime-benchmarks", "xcm-builder/runtime-benchmarks", - "xcm-executor/runtime-benchmarks", + "xcm-executor/runtime-benchmarks", ] std = [ "attestation/std", "codec/std", + "ctype/std", "cumulus-primitives-core/std", "frame-support/std", "frame-system/std", "kilt-asset-dids/std", "kilt-support/std", - "log/std", + "log/std", "pallet-authorship/std", "pallet-balances/std", "pallet-membership/std", @@ -93,14 +96,14 @@ std = [ "xcm/std", ] try-runtime = [ - "attestation/try-runtime", + "attestation/try-runtime", "frame-support/try-runtime", - "frame-system/try-runtime", - "kilt-support/try-runtime", - "pallet-authorship/try-runtime", - "pallet-balances/try-runtime", - "pallet-membership/try-runtime", - "pallet-transaction-payment/try-runtime", - "parachain-staking/try-runtime", - "public-credentials/try-runtime", + "frame-system/try-runtime", + "kilt-support/try-runtime", + "pallet-authorship/try-runtime", + "pallet-balances/try-runtime", + "pallet-membership/try-runtime", + "pallet-transaction-payment/try-runtime", + "parachain-staking/try-runtime", + "public-credentials/try-runtime", ] diff --git a/runtimes/common/src/migrations.rs b/runtimes/common/src/migrations.rs index 79e74681a..76f2a8e6b 100644 --- a/runtimes/common/src/migrations.rs +++ b/runtimes/common/src/migrations.rs @@ -15,3 +15,69 @@ // along with this program. If not, see . // If you feel like getting in touch with us, you can do so at info@botlabs.org + +use frame_support::traits::{GetStorageVersion, OnRuntimeUpgrade}; +use sp_runtime::traits::{Get, Zero}; +use sp_std::marker::PhantomData; + +use ctype::{CtypeCreatorOf, CtypeEntryOf}; + +#[cfg(feature = "try-runtime")] +use sp_std::vec::Vec; + +pub struct AddCTypeBlockNumber(PhantomData); + +impl OnRuntimeUpgrade for AddCTypeBlockNumber { + #[cfg(feature = "try-runtime")] + fn pre_upgrade() -> Result, &'static str> { + assert_eq!(ctype::Pallet::::on_chain_storage_version(), 0,); + + // Use iter_keys() on new storage so it won't try to decode values. + let ctypes_to_migrate = ctype::Ctypes::::iter_keys().count() as u64; + + log::info!("🪪 CType pallet pre check: {:?} CTypes to migrate", ctypes_to_migrate); + Ok(ctypes_to_migrate.to_be_bytes().into()) + } + + fn on_runtime_upgrade() -> frame_support::weights::Weight { + let current = ctype::Pallet::::current_storage_version(); + let onchain = ctype::Pallet::::on_chain_storage_version(); + + log::info!( + "💰 Running migration with current storage version {:?} / onchain {:?}", + current, + onchain + ); + + let mut num_translations = 0u64; + let default_block_number = ::BlockNumber::zero(); + + ctype::Ctypes::::translate_values(|old: CtypeCreatorOf| { + num_translations = num_translations.saturating_add(1); + Some(CtypeEntryOf:: { + creator: old, + created_at: default_block_number, + }) + }); + current.put::>(); + + // Num translations + old version read and new version write + T::DbWeight::get().reads_writes(num_translations.saturating_add(1), num_translations.saturating_add(1)) + } + + #[cfg(feature = "try-runtime")] + fn post_upgrade(state: Vec) -> Result<(), &'static str> { + assert_eq!(ctype::Pallet::::on_chain_storage_version(), 1); + + let initial_ctype_count = u64::from_be_bytes(state.try_into().expect("input state should be 8 bytes")); + assert_eq!(initial_ctype_count, ctype::Ctypes::::iter().count() as u64); + // Verify all migrated ctypes can be decoded under the new type. + ctype::Ctypes::::iter_values().for_each(|v| assert!(v.created_at.is_zero())); + + log::info!( + "🪪 CType pallet post checks ok, all {:} CTypes have been migrated ✅", + initial_ctype_count + ); + Ok(()) + } +} diff --git a/runtimes/peregrine/src/lib.rs b/runtimes/peregrine/src/lib.rs index 57bfa54be..9c4309e8f 100644 --- a/runtimes/peregrine/src/lib.rs +++ b/runtimes/peregrine/src/lib.rs @@ -566,6 +566,7 @@ impl ctype::Config for Runtime { type EnsureOrigin = did::EnsureDidOrigin; type OriginSuccess = did::DidRawOrigin; + type OverarchingOrigin = EnsureRoot; type RuntimeEvent = RuntimeEvent; type WeightInfo = weights::ctype::WeightInfo; @@ -1066,6 +1067,7 @@ pub type Executive = frame_executive::Executive< pallet_preimage::migration::v1::Migration, pallet_scheduler::migration::v3::MigrateToV4, pallet_democracy::migrations::v1::Migration, + runtime_common::migrations::AddCTypeBlockNumber, EthereumMigration, ), >; diff --git a/runtimes/peregrine/src/weights/ctype.rs b/runtimes/peregrine/src/weights/ctype.rs index 955569286..cb9bfddb1 100644 --- a/runtimes/peregrine/src/weights/ctype.rs +++ b/runtimes/peregrine/src/weights/ctype.rs @@ -19,7 +19,7 @@ //! Autogenerated weights for ctype //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-11-07, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2022-11-30, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024 // Executed Command: @@ -57,4 +57,10 @@ impl ctype::WeightInfo for WeightInfo { .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } + // Storage: Ctype Ctypes (r:1 w:1) + fn set_block_number() -> Weight { + Weight::from_ref_time(19_549_000 as u64) + .saturating_add(T::DbWeight::get().reads(1 as u64)) + .saturating_add(T::DbWeight::get().writes(1 as u64)) + } } diff --git a/runtimes/spiritnet/src/lib.rs b/runtimes/spiritnet/src/lib.rs index 2d48a4c01..871038318 100644 --- a/runtimes/spiritnet/src/lib.rs +++ b/runtimes/spiritnet/src/lib.rs @@ -561,6 +561,9 @@ impl ctype::Config for Runtime { type EnsureOrigin = did::EnsureDidOrigin; type OriginSuccess = did::DidRawOrigin; + // 3/5 of the technical committees can override the block number of one or more + // CTypes. + type OverarchingOrigin = EnsureRoot; type RuntimeEvent = RuntimeEvent; type WeightInfo = weights::ctype::WeightInfo; @@ -1060,6 +1063,7 @@ pub type Executive = frame_executive::Executive< pallet_preimage::migration::v1::Migration, pallet_scheduler::migration::v3::MigrateToV4, pallet_democracy::migrations::v1::Migration, + runtime_common::migrations::AddCTypeBlockNumber, EthereumMigration, ), >; diff --git a/runtimes/spiritnet/src/weights/ctype.rs b/runtimes/spiritnet/src/weights/ctype.rs index 9125837f4..5104c985d 100644 --- a/runtimes/spiritnet/src/weights/ctype.rs +++ b/runtimes/spiritnet/src/weights/ctype.rs @@ -57,4 +57,10 @@ impl ctype::WeightInfo for WeightInfo { .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } + // Storage: Ctype Ctypes (r:1 w:1) + fn set_block_number() -> Weight { + Weight::from_ref_time(19_549_000 as u64) + .saturating_add(T::DbWeight::get().reads(1 as u64)) + .saturating_add(T::DbWeight::get().writes(1 as u64)) + } } diff --git a/runtimes/standalone/src/lib.rs b/runtimes/standalone/src/lib.rs index 03f89f32b..64a3123a7 100644 --- a/runtimes/standalone/src/lib.rs +++ b/runtimes/standalone/src/lib.rs @@ -356,6 +356,7 @@ impl ctype::Config for Runtime { type CtypeCreatorId = DidIdentifier; type EnsureOrigin = did::EnsureDidOrigin; type OriginSuccess = did::DidRawOrigin; + type OverarchingOrigin = EnsureRoot; type RuntimeEvent = RuntimeEvent; type WeightInfo = (); } From a12b0c8c526ff9e761da2227976617cbbbf11461 Mon Sep 17 00:00:00 2001 From: Antonio Date: Tue, 24 Jan 2023 10:10:37 +0100 Subject: [PATCH 29/38] chore: remove clone runtime (#456) --- Cargo.lock | 95 --- Cargo.toml | 5 +- nodes/parachain/Cargo.toml | 3 - nodes/parachain/res/clone.json | 73 -- nodes/parachain/res/clone2.json | 75 -- nodes/parachain/res/clone3.json | 76 -- nodes/parachain/src/chain_spec.rs | 1 - nodes/parachain/src/chain_spec/clone.rs | 226 ------ nodes/parachain/src/command.rs | 63 +- nodes/parachain/src/service.rs | 15 - runtimes/clone/Cargo.toml | 189 ----- runtimes/clone/build.rs | 27 - runtimes/clone/src/lib.rs | 742 ------------------ runtimes/clone/src/weights/frame_system.rs | 87 -- runtimes/clone/src/weights/mod.rs | 23 - runtimes/clone/src/weights/pallet_balances.rs | 93 --- runtimes/clone/src/weights/pallet_session.rs | 65 -- .../clone/src/weights/pallet_timestamp.rs | 60 -- runtimes/clone/src/weights/pallet_utility.rs | 72 -- runtimes/clone/src/xcm_config.rs | 136 ---- 20 files changed, 4 insertions(+), 2122 deletions(-) delete mode 100644 nodes/parachain/res/clone.json delete mode 100644 nodes/parachain/res/clone2.json delete mode 100644 nodes/parachain/res/clone3.json delete mode 100644 nodes/parachain/src/chain_spec/clone.rs delete mode 100644 runtimes/clone/Cargo.toml delete mode 100644 runtimes/clone/build.rs delete mode 100644 runtimes/clone/src/lib.rs delete mode 100644 runtimes/clone/src/weights/frame_system.rs delete mode 100644 runtimes/clone/src/weights/mod.rs delete mode 100644 runtimes/clone/src/weights/pallet_balances.rs delete mode 100644 runtimes/clone/src/weights/pallet_session.rs delete mode 100644 runtimes/clone/src/weights/pallet_timestamp.rs delete mode 100644 runtimes/clone/src/weights/pallet_utility.rs delete mode 100644 runtimes/clone/src/xcm_config.rs diff --git a/Cargo.lock b/Cargo.lock index b65013fe8..7d2aec799 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -952,65 +952,6 @@ dependencies = [ "os_str_bytes", ] -[[package]] -name = "clone-runtime" -version = "1.9.0-dev" -dependencies = [ - "cumulus-pallet-aura-ext", - "cumulus-pallet-dmp-queue", - "cumulus-pallet-parachain-system", - "cumulus-pallet-session-benchmarking", - "cumulus-pallet-solo-to-para", - "cumulus-pallet-xcm", - "cumulus-pallet-xcmp-queue", - "cumulus-primitives-core", - "cumulus-primitives-timestamp", - "cumulus-primitives-utility", - "frame-benchmarking", - "frame-executive", - "frame-support", - "frame-system", - "frame-system-benchmarking", - "frame-system-rpc-runtime-api", - "frame-try-runtime", - "hex-literal", - "kilt-runtime-api-did", - "kilt-runtime-api-public-credentials", - "log", - "pallet-aura", - "pallet-authorship", - "pallet-balances", - "pallet-collator-selection", - "pallet-did-lookup", - "pallet-session", - "pallet-sudo", - "pallet-timestamp", - "pallet-transaction-payment", - "pallet-transaction-payment-rpc-runtime-api", - "pallet-utility", - "pallet-xcm", - "parachain-info", - "parity-scale-codec", - "public-credentials", - "runtime-common", - "scale-info", - "sp-api", - "sp-block-builder", - "sp-consensus-aura", - "sp-core", - "sp-inherents", - "sp-offchain", - "sp-runtime", - "sp-session", - "sp-std", - "sp-transaction-pool", - "sp-version", - "substrate-wasm-builder", - "xcm", - "xcm-builder", - "xcm-executor", -] - [[package]] name = "coarsetime" version = "0.1.22" @@ -1657,22 +1598,6 @@ dependencies = [ "sp-std", ] -[[package]] -name = "cumulus-pallet-solo-to-para" -version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b" -dependencies = [ - "cumulus-pallet-parachain-system", - "frame-support", - "frame-system", - "pallet-sudo", - "parity-scale-codec", - "polkadot-primitives", - "scale-info", - "sp-runtime", - "sp-std", -] - [[package]] name = "cumulus-pallet-xcm" version = "0.1.0" @@ -3911,7 +3836,6 @@ name = "kilt-parachain" version = "1.9.0-dev" dependencies = [ "clap", - "clone-runtime", "cumulus-client-cli", "cumulus-client-consensus-aura", "cumulus-client-consensus-common", @@ -5720,25 +5644,6 @@ dependencies = [ "sp-std", ] -[[package]] -name = "pallet-collator-selection" -version = "3.0.0" -source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.37#09418fc04c2608b123f36ca80f16df3d2096753b" -dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", - "log", - "pallet-authorship", - "pallet-session", - "parity-scale-codec", - "rand 0.8.5", - "scale-info", - "sp-runtime", - "sp-staking", - "sp-std", -] - [[package]] name = "pallet-collective" version = "4.0.0-dev" diff --git a/Cargo.toml b/Cargo.toml index c9dbe9d58..3fb0bc4c0 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -65,13 +65,12 @@ kilt-runtime-api-staking = {path = "runtime-api/staking", default-features = fal kilt-runtime-api-public-credentials = {path = "runtime-api/public-credentials", default-features = false} # Internal KILT runtimes (with default disabled) -clone-runtime = {path = "runtimes/clone", default-features = false} mashnet-node-runtime = {path = "runtimes/standalone", default-features = false} peregrine-runtime = {path = "runtimes/peregrine", default-features = false} spiritnet-runtime = {path = "runtimes/spiritnet", default-features = false} -# Benchmarking (with default disabled) +# Benchmarking (with default disabled) cumulus-pallet-session-benchmarking = {git = "https://github.com/paritytech/cumulus", default-features = false, branch = "polkadot-v0.9.37"} frame-system-benchmarking = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.37"} @@ -131,7 +130,7 @@ sp-std = {git = "https://github.com/paritytech/substrate", default-features = fa sp-transaction-pool = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.37"} sp-version = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.37"} try-runtime-cli = {git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v0.9.37"} - + # Polkadot (with default disabled) pallet-xcm = {git = "https://github.com/paritytech/polkadot", default-features = false, branch = "release-v0.9.37"} polkadot-parachain = {git = "https://github.com/paritytech/polkadot", default-features = false, branch = "release-v0.9.37"} diff --git a/nodes/parachain/Cargo.toml b/nodes/parachain/Cargo.toml index 87bbb6921..27e9c1bd1 100644 --- a/nodes/parachain/Cargo.toml +++ b/nodes/parachain/Cargo.toml @@ -29,7 +29,6 @@ serde = {workspace = true, features = ["derive"]} serde_json.workspace = true # Internal dependencies -clone-runtime = {workspace = true, features = ["std"]} peregrine-runtime = {workspace = true, features = ["std"]} runtime-common = {workspace = true, features = ["std"]} spiritnet-runtime = {workspace = true, features = ["std"]} @@ -101,7 +100,6 @@ fast-gov = [ "runtime-common/fast-gov", ] runtime-benchmarks = [ - "clone-runtime/runtime-benchmarks", "frame-benchmarking/runtime-benchmarks", "frame-benchmarking-cli/runtime-benchmarks", "polkadot-cli/runtime-benchmarks", @@ -115,7 +113,6 @@ runtime-benchmarks = [ "xcm/runtime-benchmarks", ] try-runtime = [ - "clone-runtime/try-runtime", "peregrine-runtime/try-runtime", "polkadot-cli/try-runtime", "polkadot-service/try-runtime", diff --git a/nodes/parachain/res/clone.json b/nodes/parachain/res/clone.json deleted file mode 100644 index 4415f1dff..000000000 --- a/nodes/parachain/res/clone.json +++ /dev/null @@ -1,73 +0,0 @@ -{ - "name": "KILT", - "id": "cln_kilt", - "chainType": "Live", - "bootNodes": [], - "telemetryEndpoints": [ - [ - "/dns/telemetry-backend.kilt.io/tcp/8080/x-parity-wss/%2Fsubmit", - 0 - ] - ], - "protocolId": "cln1", - "properties": { - "ss58Format": 38, - "tokenDecimals": 15, - "tokenSymbol": "Unit" - }, - "relay_chain": "polkadot", - "para_id": 2057, - "codeSubstitutes": {}, - "genesis": { - "raw": { - "top": { - "0x0d715f2646c8f85767b5d2764bb2782604a74d81251e398fd8a0a4d55023bb3f": "0x09080000", - "0x0d715f2646c8f85767b5d2764bb278264e7b9012096b41c4eb3aaf947f6ea429": "0x0000", - "0x15464cac3378d46f113cd5b7a4d71c84476f594316a7dfe49c1f352d95abdaf1": "0x02000000", - "0x15464cac3378d46f113cd5b7a4d71c844e7b9012096b41c4eb3aaf947f6ea429": "0x0000", - "0x15464cac3378d46f113cd5b7a4d71c845579297f4dfb9609e7e4c2ebab9ce40a": "0x08d8f775301891bc245f2cbf2d64cf1c0e64d16632c02268fd2199c84b09ff7f7b5c7c70470cb16b4702921f0b4e2a7109277354bd3d8e11b63bd7ed70510cf57f", - "0x15464cac3378d46f113cd5b7a4d71c84579f5a43435b04a98d64da0cefe18505": "0x0000e8890423c78a0000000000000000", - "0x26aa394eea5630e07c48ae0c9558cef734abf5cb34d6244378cddbf18e849d96": "0x000000000000000000000000000000000000000000000000", - "0x26aa394eea5630e07c48ae0c9558cef74e7b9012096b41c4eb3aaf947f6ea429": "0x0000", - "0x26aa394eea5630e07c48ae0c9558cef75684a022a34dd8bfa2baaf44f172b710": "0x01", - "0x26aa394eea5630e07c48ae0c9558cef78a42f33323cb5ced3b44dd825fda9fcc": "0x4545454545454545454545454545454545454545454545454545454545454545", - "0x26aa394eea5630e07c48ae0c9558cef7a44704b568d21667356a5a050c118746bb1bdbcacd6ac9340000000000000000": "0x4545454545454545454545454545454545454545454545454545454545454545", - "0x26aa394eea5630e07c48ae0c9558cef7a7fd6c28836b9a28522dc924110cf439": "0x01", - "0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da9c2413896be8a9b02ece67645a0ec5cfcd8f775301891bc245f2cbf2d64cf1c0e64d16632c02268fd2199c84b09ff7f7b": "0x00000000000000000100000001000000000000000000a027128c1c2b0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da9d3f3d7c5541fa578426a188b0c6e2fa15c7c70470cb16b4702921f0b4e2a7109277354bd3d8e11b63bd7ed70510cf57f": "0x00000000000000000100000001000000000000000000a027128c1c2b0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da9f6569206ce68d70874f404ba1606d23214ab94d42fb790854e7c4813af55722e2007ce2070177bbe93d64cabe5f6ca6f": "0x00000000000000000000000001000000000000000000a027128c1c2b0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "0x26aa394eea5630e07c48ae0c9558cef7f9cce9c888469bb1a0dceaa129672ef8": "0x59a7104b494c54", - "0x3a63": "0x", - "0x3a636f6465": "0x52bc537646db8e0528b52ffd0058d4fa033e8f84110e55201c16a503ed5c7149c5157e15fd33c713579cc6bc181eac85f6e4c297b98a23e9adb0cc264e1d412d6dd55438220e008042c02a82e099b08dddc80c87e19a193a7b1186fd71d61242882464efbdb7dc52a694920c6e0fe30c7d0dcd05fc17da30af5db2b771577128bfe415ecea52f82dbfcaebeb7ced82fd7b30b35dfa63576d20856f7d0639c9aa7e8bdba84c38047e0ccff8291a1feb6a6ad2f85757e773a992c6975d95b44edaff62b7efbcf2ae1aa1fefb59f726e3aceaa7fd36197e5e59dff1bb1f728f66bcc958f07773c0a3b0b381345ab1c3d1033f7cd81101a977ceaa7d8ea20440b44acafccccc54283333f33f1e2c04fff3aabf5fc5abeab4fb79f06a69974087f66b0cd3419ad61c68cd41fbfbfb1f8fee685e82c81e0908f3f990000afa7c728a0a409fcf1140748be18fffde79653d7d9f59dca3915b9abdd55c6a7d6bbbc9c407e0589fed4624bed5d5f8f133de884c1aff6dce2affb7c9c08fe1f86febec6db2ab3854bec555697d4c5b5c756afddb64e46716571b40adcfde7675b5087abdc5d5e743ad8f5c7dac2a4208208c64805a5f1fabaa04a8f5353aa023f7e8c50dd16bacb146118d6f711501d43f5bcde2fc7db0a825b9212c1abbbad4ea86d835d658630d5a71288c36bdfb1545576eaf91bd131558f6483d98cfe7081f5a257d3e4750a1ef3586d920ef53bc7a3e3945f4d19a83be7f3c5e4cf672606ee9724b9d57fbef51e715fffb6cb3d5f633d6de9684a0f105ab1eedf7e7ef4d86bbf74a42d00883558fee3bf758c5dc52def6dfd69dbf4d46b28a1f656ee9db22f01608d9a3fc8f7fbfbecf1efffbe6a779dd3d1cde0964fbcb917aa64f8e10ad4ef9e5be94af611ebbd449f7eba4befb43337777a778e5df9f35fc76083be7967257f91b6666a4c7a33ee57fbce2d53e97bdd57ceface2df4de6758f5555ca3c56f1c7b001e63e7f8a57cd2d9dbce247f1ca9b7bf46dfe311cc3cbe1e841d27d49b7c3d143ff7eff76364bbdfbeeead2fd18fefd41f6e8e35127e5cf1eafea7ebf7f4b8b93b95f35ca8f55fe3ee6be0ffb34dd3d567957257dbf9c1351224ca4d59663ea4389885bd6da7b40f66bbfe4555ddaff3e6b8e00b3fffddb863c5655a7efbb93ac7a1fc3596bcb35dd88889a1025421b3d204c36870eb100bacfcf9b0f9e9343f777233273e8bec6ab47f9df466473e87e0c3feeb1eafde3c11dcda4cf069c5ee642f6387b2ed91bc0dc7fffaeecf598fbefdf95ed3f5ed5f7db3d56bd7f8fb3bb923d9f1c1efaacecfd98fbefdf75e30b0b8320276037b070230c37846e1ce146126e18e106106ea0e0c609522db8b1c40d266e3c49959102438a0ba92d525aa484902a43aa072920a47c6083899494540a52515245299f541a2928a4aa48e12095450a8ad4122928378e483161438d140b522e48ad2085021b6648a920f5c446918d31d8382345464a0aa927a4c0481d9112432a899413524da49c48a19142226582548e8d35524ad82823e5e4864e6a27a563230d36ccb0d144ea091b3b36886ca080850c2c676029034b114b1758bcc042c4c2050b0f5874b08286952cac4c61e50b2b5d58195a2163458d152aac5461050c2b6358115a1163e50a2b56580963e58b1528ac4461c5092b44a6354e39263356d2584163c58c95a095314e2738ed9c9c38357162e204e5c4738ac1090627199c8070dae27483930d4e3b3849719ae2f483930f4e5a9ca89c7a70cae284c5e98a130f4e569ca69c7470cac10907a72a4e2f38417172c1a90527169ca49c567052c1e9895394530a4e2838e99c9c9c9438217132c1890426344c61309d612232a5c10486290aa627987c609a627281a9052627253294c650aa42890aa5304a40a51d94ac284d29e960250da519946450e2294151aa412907251b94744a2a28392945292d51825252624a6152618231ad30c39855985198599863cc254c244c2fe64f090d330a521848674c18cc15908a4844a43290c4305d4032838486c9091215485320298194041212483fa423908240aa014906a42890a820fd80c403d20e4850908048342061016dd0658037e02112949ec1488c4885fd623b0346610bc3e80a1bd104ca48b07d61f3c2d6856d8857300a63e302d6b38d11af90b2c136a1e444e482a585cbe77404ab608a11a7c04d4025ac13e2180c255a21569940487581774a4ca4c2600ae2147094055a2644304a43cc04568598053e0154416a0b310c918cd415f089d4175258dc706271819de0274660489d91ba411c8a67dcd8b984c028b011452a0aa92964485855644d644eb29eac061915990d321a64556437c89eb00c81c5272b014b50c6841586eb08d80e56ce3045c16c805561c282c50ca5264a3128458139c1734860603fd811621951289a11bf700d0153e202c3f5858b8cab0c0c89cb8ceb0c01e0701175142ce532028602eec222c3ea82e585bd628bb0586c6018ad6074838d8c5115a3234a4c1891a0add055fa0a3d84920f9a0bac0c2c0dcc8c4b8c4ba86bd056b40dae2e3014f80afc058f81798149015b0276835217262a4020341a2e2bdc80728511a1b881841b4a583298d0d066c88e1805c1240529862d0d0b8dd21764184859208d91228a5228558145b1c103b5b8802c1c5c5b340b5259c0a6307161326134855e012f017f464130091009a32ac02546605859b0aacc265863b494180508654405d31571273a018320180e85bba0cf7079218b413605ec021c8a4c402cc031a010cc02140372016e2136d13c500aa53398cac07060d262250c1b16483ab00a921224272320b41a6b06ecd9327a8da8464403c42206452c6c59d8aa5c40b882b069616405ac067d84e885588508056b288651522376610a4530c42d9470e054f814fe850503c90625322609322e321c643cc876900d21eb418684ec273b424684ac089911b22e322c322db2291910302c643fc872906d91f964596441c8aec0aa60636059c084322b322a990e321f6442c064804581f1b8121b1a5711302b5a0691081ec1d4c43c82450bfb046886f983e983a9c5a4327b30b39858cc2b260fe60ea61573cad4c1ccc1c4c1ac62de60da60d660f64c2a260de614510b118d2846e644f7ac98e1e262e50ca52bac2d906e704a82cde024485b987860ea0163e1c619252c4c54e217d617ae1fac94b16d0152e934ac8861cfd8ccd828644930ed98d4303d614306262898b2180901d6a0a3949e200515e065071d48574019644bdf6244b8b8679a1cd94011218ecc0051a448b6fd8392992245b02b076f5e38783f24d97155f19414e0034540b081223f24f9e187240db071dd004991251c5042a4a66609036c90ccd4d42c6180002e1bbc2633496c92305902848d078e9cae1a3c254b92d81c61e2811f8ad82ca96952248910f408130fd095ab87bba8784d40304353a44991991f962099f9a1481310ccf4a0644992264d662a50c34583f7812442502633344c9660c007ee9ae21599f1c08c0726f0c34c073a70c40202b8a4784d6890cc00816406af898d92192633402849f257144a927000c7258387244913254998d8143153040435420871a40893991f6a927820080d92253541725c3caf494d922336333f149999e14000ae18bc251c5092a4080898cc786088224984a0364a668200c1110958e02f18bc19244a96282972a4481221e80c12254b2260a3c4034b9020a13aae17bc208a1cb139f2c3119b1908942e284290a4e648129b244a92ac5c2ef000929922664c570b1e93250cd01a058f06c9929a0d1499b139f243929a23448cdeced46ce0888d120f70a0880d921926497e5092a448911b37a0152c23a041441f4ef67c7272e8e2f48d08a38051ac106bb9644001a494920152ca02308001f08617c4dd176b768710de006f70d83007f7863738f485ebf0067843c31bb8bb7358086f801042e80b77e10d37b443bfa1bb1742b8bbd0a17bcb86dcdd566f73337c0fbed7ee8cbdf7d682ec8df142287f4088618ef5ee4ef7de8590dd1dc3d87d1742872d2184ab61d8c5240cb326c3ccead62c76e8197b7675c30cf37ebb709bdde94288794cfb746fc810db0160cd3d789b87fb42d8cb0ca1fb2e84beedeced0c777721f3eec275df857bb9bb77f702dc1bb22fefba33c6d3c2f8226159967563eeb0f9f25ecc7d216f372f4396b019c296f03deeeec710c3164a86cbbb7c0088753794d282104a086f5040025afec05a6210ce76ef6e04bc86709310324377f7f51b7670bf788871b79bbd97c7eedae040bcdfb592fdc785f2c57a97fd003efad431725cb3c35d7e6f315f0cb3788e9831e796ee5833c99d5bfa0f9693f7baae0b63b6d6bb21841072ee3574f700767d33087db366aef7da1f31c68619c000b875b8ed0e6f70f785bb72e9ccecbb0d610e108701166efb3aec755fd4e91463745f4fb5fb0ef262ac776ff0f56e878b61dcbdd8fac977bbbb17faebcec1d7df5b2f40fbd04100778fb1ddbdbbbd31e6ebdac5300cc31a63f6ebe2eb626608bbafd97d4d0cfa05bb33f7ed5e6eeedd6e3931ecc2dcd72537c6be8dda758f11ba3b84bbbd9ca603b6edfaee9e7657e39cf33d2d747f71771ddc5d071dbc7570973b80ee6ecc31ef76e776c9ccdbde9877b77bbb3b84edddbbebeeecbbbeeebcbb0ed9bba1b79fdcdd97bbd786dd8528949f628cf1ed2ec7412e8561db18866117f7ee763f87dd03d85dd8a3d7dd3d87cd6105b0cb38340f1e2e2a1e0168d88f877b77c3b89cb74778c30d0e1d3ef87621840d008c1715238f5ddf5df7f55d1b76b9bbf375ee769b7979b9390977e1ee7bca999b9bbd5f7737b7b77be62d613b5c777fcf6f7ce106185a7b04982162a6a648114782a8a18647800e2ca929d20125493ad0812535370a50539384e665470074a872a8620e31003870687931fd5093040824456c6a3c708403333fb86401f071e311c0e608931925331d60d20400a9e763a6499319264204b10449112633442c4132c3a4c891263f20992942009a95017c088164a6098c0604129b231b28024493244a9270406583034998cc1051e400043080017cfc305364898d10206082c4862f62e60725498a2849720408241ce0c0928ee5871926333f3059526465001f334998d8e01044121b251e60d29d3860e3011da72266802862a3240913218a206992240826476c9a04c0d4e4c6f67c2c59c2a48506c9910dd4d42c6182c3ca9119262d2098a1296253c48c921d289b990edc2835b16992a488991cd923809225496c901c69a2e408139b223649820862892a3e1f4524e1c00c1321ba13932333354870987e5032238410478acc74e0089325364d72bc2076eccc0c130e1461b2c4e608922535354772ecb0d251c4920fd8ec5819c047e911a0889225499a309921a2c80f1f0428e26386e648cd068a74404912209a1c01a2884d11334f849299363d0601932541cc0411895032d3386c5cf0834670f6e6c68dbc1b68e4666f6e1a0707facd0dcecd0d1b79373737f0e6261a7938f1e60607c73282b3180ececd3e23377b837383e346decd0d4e1b7937376e04676f6ef8e60607876f6ed8c8cde2dcdcb4919b5d23ef668d3c1ccbc8c391461ece65e4669f91f78c3c1c68e4e14423388bb3377b73c3467096dbc8c3c1c1c171230f678de02cce1a694013ed7b6f836872e4051c89731b8b5a3feaeaead0f8727bdfb4ae4aaa450d0a841042a83d591da04fa1cf069cd2daf882b4bb05149a83571bc718237cc9bc0b5983ee9d0dd3ed68f6b5f797effbda47d95547d127fbfaec6dde3deefad7302f987796942bfde5d695422d8e46fb1bea9bfd52b7ac6e7758661d8df5dafcfd18cebce4c3ec2a53ed4b5de5965c5daa59aff9d71aed6d3d68db55e70e877c6998c7f6bdab44f6fd9dfd198a7f748771db8690de3b1a7fed351257976e7ceca7cf8c3bd2635d757fd2b5c9c42d686671cfad5d489d83f47d896454dbeb21e71f39f819173fa6977b3473988357f09fec61296bce3dba9bb777f75bf758a53d3bbfd3f8cbb77c90dd3e591db6f777ba7538ac8f0f5feb5a3ed43e7ba975d85bdab7d6d5ac938fc18ff1e32613a138f7a8e460a416f7a8bb3bb522cc7a86610ad5e8e92347a145d400f4f924e1439d309f4f123c34a3fb5b85fa5673d0f7f4cd8b61b41f7de4aec7b8cdde367a8d838f71fb16773d73a37f0d3349bf7dd61a0f5e95b6d16759631886d970733432fe3361d8c718bf2dcc8793e9adc8281f4e5d652a1fd555a6fd316c317726ae2e95a6afdf993a9a7ef9dc65596b6f1bd2b47237298e113771544740f997c625a275f4164763fa1bca5c6dbacf1b91a698d52dc7f17788561bde64ac6e88a6752956999a7e47ff78857db56166bacfdcd9308ddc355a0d774713dff4dc559bae5b858efcab53f6ae8e7a886faa4b4dcfdc67acf1f6d9bf07a33504a4f5b163abc3217f7ff4b3617e3e0902f1b9ab44e2f3f3efe643b49e99721d7ddd2a74ffe2e636e4f4dcd1f09b9e74e2ead298fde41fad7c75baa8fdd136243e8dc57ffa2d5a16ff4a579d8e3ee3478d22ff69f7b54d66a3d0acb9c7dd1ca4cc411a9f39a7cf34fad5591df8e336c4faeb475ce41257e35bf07deb66c3c0ee6747eaaaa48f57a3af525aaaacd668d65ab2a389df6f75b52e656d9f2c0f7579f0aac6df7fefd83fc6ba1abb1a2d6b6949c1acd86f67d374d4d1748b7184c03afc6ad334bef5bb115928743b1cf2b1e77eff7d7fdfceade71a8deee8b7af4eb16f6971326d9aee8f9eb18fdb907d9a51571f6e3e6874ff65f4fea36eebfc35ee3d97a6d6f376b5090eb53e7b0c7bdf64b02af4e25ee41eb538486505c1328faa0868240269742a8964d4e28e7bcf85fff1f0eb6671e2cde22c4445217b5dc5a1ef974b6287aae8f331c1100d83dea0cf47091f9ab106791c8a96c25196eeee50b8bf3acbc3a3db2d1456c1ffba5068b5619a7dff56a7365cadce86a9f50b3f7ba42ce6f351620a0d007d3e4ae8d02c6abb0dd9d1bb77d51ffb371b66f4da6f3ce21ebb48edba5efbb77555a3523ed6d568d4b3d73aec7b1b4213dfa977345957975e2998d8d71a8d5a8f75d59f2c0f574763bdf7e0ddef6f7534f1218de118e6cd074823b461ba50badb27abc37bd6d8a9904646e297a961878e1c385a6ea46cb0aca04ea6d2248d362dc32e6945e8cdfb7abc7fdb10bb06a5a23f866b0aa6bbf75c987b74b99bc561662bc0aebe87ef5f4b65ccf73ebca7e9ee7eafdb32bcd7af5fbffef746b0f1b7ab7375bde41577f5f9c3f760acaffcb2835ca98c2929f760511a7eedb21fd31c1f7f43dfd731716ae3cc34e8efe7dfd7afdfd7d4fb7efab67e1ac338bb444c2f0939838c7e7e09df57f88f55eef0dddf59e5eeeffed17728eb7f5d45d1f723234c7e20431e1d62d7a0f2ebfa67cb95cad8f77ad419bf4aff4c7250caceea9aab35a8202f78c1ffbd9565c9b7e257292d6941195d8cccff7575d2d7d57deba1fc6abdb56f3d5bdd6315bc8830f9355e6df7be5f726f657de5e54a654ca7fb94663f862ddf7feb85258a22742732526e5f7f50d7be1280ba0b758ebad4de0deb6b2ac620c00b6da6621a2603edd25f0385bf75b5065a535a5753590a4b5d5d9541be09616a75354541b43fba3f30d0fe086b10e04a1090ad8b41879493caa1b21e2e57516b7d0c5baebdcd07dfd47c40fc61be5dba06e5f32d6906358b4bb1ea8555fd1598dad797cc5d04bec9c4f8686f449cfa4f54ca82b173688317638cbb0ba5fc4caedcdd8d0f63f46745686dce0b9ecbe5f770b6a39324628e8fb290dafc7182064e72402a5ef63429ade84fc2996596c60f39860c215c9671c8d5c9db3d6e8817bd43b10a0db33719fe0c6a1090ee14fa14276420a78c288dc6ae0827486d1ec1b21e90f8f0af07e4d2b04022899720f215003e12f293f820188671f11500ca1ba6fed975753052e8597ccb2308710c008df008ad685930c2bd591ce87ec4ba267f7793891666595657bd7b919331c32e6884c6871fd319d4e0f326c36fbd47ab5bc82ad8bda52fd776179a18a9f1b860a20c2222a20867435893a210c64ec5aa5804555dc61420db571fd9571c28945f3fae7a78aafeee710f88f6f0e78379910fe67af8ef01c11efebe950358d5ef875a4490c04bc308e1005ead4e0f6fb54b3c557f6a9bb2ab93d6171a5f687c8c5b7a71f2b9c017a261e62ed1547effeaf0ea3d95fcfef780bcd7a3fe24da9d76e9af9bca346ee9ee649f4abd6c77b2af92d6dda1cd058541f8b73cd23aeef58059573b0dc8448ec2227023f2d83e177851f881b811b1f6b1c491793fef67cacde2c4b6cc10bb0a048def91ab49d1181fa358a39eba2272b4546470de54ca7b9ce48053204186a12121d2fa67dd4959a12a6f0808af0a8e943744fd631ade5011180b5ed11b7a432bd4c412198d5d17bd1efd2331ecceceaf92f4758ebea6dee9ab8a42d3d7170a4b5f7f506813a316d3b2b6579dbaaa7a3175f585d6f9a3d4d51fd8cfaecaec49a3aea6aeaebe041a66ebb4542aebdeab13ebde73a9524af9ef5d5f53543e1f0a9fcbf5f2ea24579fd60744fb6d62dc9d1bc7b11a4a41093294e081195b8e04434e8eff9c504a2b5a2d1166ae39fc7de776e13e6408e142de5dba9bff8bdddb24abfab262a2524e85262ca1d7638d07d9080e9fcb00be3f20367d04df7a601a3b7f3d208ec5bda78aef9b8c1be1364d44c3652d90a61431c502d2b1802ca02dac265842244bc812b2802c20d21498b9444fcaaa69f2fd25af5ed1cf2383c6af1aed975c11edf2de7f39ffec15d185cc0cf92184b093acdae6e56acd2ba2fedb39ec3687550d835754355a5fd1f22b7a454b0497406406110fccd821628268a3b0f31c6986e7780e1111d18b31c628618c31c68713582f44a9cde785248ee001a57cf81262219f2a6a341a21b9f75ca24b1a8b90351a8df46d519b90b90a8cbffdfb30c277c839cd56f3cd07fffec8c1ef4d06badb700f6dc3947f8866df55820594920d63097551533c597cc25c13ccfdb751e00579ed5225156aa276e99f26aa4d2424442d201d648f570ec3ff1e7ef373b07bfc3ef0ef67cbf13feacecfec4c847f3b6755e3f4ae16f0978329c8d5a76be3ce2a96752ec7dd7c3e35df6097f2a161aeaf92fa43d8551ba710ee604208e1cb5ff8d6ef47aec5c9842fbb97b5b43c99f01f8ddf9b4c8c713722b0d33a5f2b9c7b4f05ffc1ee1941e1efc7f4db883885139572b6f1f8b123c229ec9c422179e257cfa1ee4d44bd87a8a7daa5bfb610f5efa086b1debb5ae33a5ca4e0635d953095a235453b76f56907d1ea527ca406dfb94a9d48a4eff5a84548e0b54bed2023a0a06e04cf1366358287fabfedb10afad7b80ef5879d7310abb38876484a6d215a5d0a741d1dea3c378be30dad903972ce8a725e1551f7224cff2aa9363b0d94d48cd0e9a21274919c9a0eab4657e838adae23b5d9455d94e38425d4433e682e1821a58790e8a18cc2ae8b4665e8a22eeaa11eb2847c87f66772cefa88287c201ac67ad86d0fedaf12723308137e9574ee0ef5af29da6f8856dee991da76f52687eec734ccba522ae7503884e97b3de0bf6d021ce4b54b7d4314766c23297c9e14e82056c745edd21fc3fc33f72bef70f511d1ca3b529b6e232575497dc7b987248c5f4bcd92c2ce7b601aa29317638c711f42b8fd608c1152881d115dbe33b2c7a3fe64156a3fbe73f1b3aad1197db95aa3d1f8bb55a31bb79b304effec69bec9a452fece309746fd670a8be95f2745a52eee66e6e4e41c110407ee2f3fbef38ac61f7e7c8b6b7132fd65f75815dffaccf2c11f72ceaaf82d2d4fa6ffa3d6bb7f6f0e781b3722de699db32a766fbb7430f7abf44d861f4e544ad36e1627329cf256d369fc677d9dd4af5f940f7cabf7549544e15b5d2565ad0de1f7aeaaa87f8e14f5cf2a8a42f819e4aa5749fdb3def79e3773b50645e1472b5bd62c2e836fb97df45e0ffe1876aea286580a3f869de3ee0dd143208d9deaf5e88f612c67ee57950a7ab68c7214f5171752c91e8ffa22e3d2fafed7aaa7f05fcf86ff1a467bf8b261b2875dad79a1d6c7cf2c2e72cf08d3b23e8635ee9f0bfc8c7bcfa5aa287c08217ca15088491dfa46e4a97f84345a5657f34261844a5ea877ce378c23b9c590344a1fda9f3d110c517ee7aa0565fac73473352e85f277abbdd62a0e8dbf91ebaf4bfddf0312dfbbea9c1cc274ef62b8a5c5c9f41550f8b544fb7b132269ecbce7f5e88f2498fb310d39264babf7d0feb7c9f42059b51fa13b8cb1ab7129d42127e9dbdcdf3b252e853aab9ef4a1cf061cdf5236af94d192517bf2c232cd35ad7935cddfa53d2cd3b6918f46cd3b1abda76d4fd31ef74644f47d362291b4c7d5ce795c6521fabe647293a9794da620fa9eca0ff7300fe710f10ed1d00f95202a3b657936a7e805b5f7d0fbe9eaf3a1cbdced0ea3c7d8bc315e23b9dced0e61b4dcb29ad7b21cc66859525e986358f3629825af0bc3b24cdbb6e6dd362cd3b46d1b8d48d3e76cde39376d47da9248dacea96dc974f2d3a9794f2793f64eda433daecec7c2a23d1b294fa59a37952a69cb99b4e54ed90985d296ab2ff4fd0a0fba9fad68cbb16c43367b36dc868de6b561e31ac9d7e3fd8a1c0d0005d9fee35173ec50ff6c0257902b484df96cb40af5f729137e759a2d0f7c44908a12a2edee10c218638c96655956d4a494524ad93bbd1314c43ccc3334b453764a51517d3ed726b3359855d29703a32547433a2ae2ef36a47f5e8f9afdc44eca9c9c1fda14b3caac0aab3c1ba2fe9616b366556826c42a1fb2c8b0aa6c43966258cc8a0aba684509e1a0e2faf8fd59a40cb5ed9935a362425a5142a8a18a22421551e75e108ba2b0801a83b28c04503c1caaa75dfc9b7b8de2a1fed717289e215ab5a1cb8bc91c4aa86136c86e17e88f1714a61f61ae96b3a3512d07eecc9a010135ccbe7f16f48058ef9f4de10111eace802651a7b222ea5ccc8a0a42053d20fc2b48a4d4d0865041a820a6fc1a190c6309b58bbfd466d586aac6615a4c0c8bb9a2f37525076bcaef2750c3601d2aa85dfc2feeaa94ddbd76795d9df44154102a88574dfd5161f0caaac22a67eaa834b421141934feaa5db4212b0dea961ad4b521212d9497fa5b564c268e0a4205f1ea35eff39125b40db132c7a7a2829606f3e7f5f09f403913b8824ca076f18c6dc4604ea01fca2f0540fd2d1ca8f7b0841ac612b2b8db1d426da7982bc5648f7193f1899ba5599b8c8e5582c9ef2102de0ed43f93f275415d6e431eabea0be5e5117ccb3e1a62d77841b2ec31333333335bff387ecb35563986c5fc9aa20206adda10f5af172a885717d38a12a25e3533a8ff4631df57549090856f7554c457bd1efeb26162974acd190667315142acf2871d2a8855fe1e84b95f5141d473303b0f2fb2c7835fefb494e6e99e9e42c5e747d00f16fac1433f887e14fde89c1fad2304f3d0c73d8f88a73c222a8fc8e711fd3c22a09ea11ea29ea21ecee9619d1edee961292bb4535688ca0af9acd0cf0a01ad50d00a09492992395327b5f352543c52b6e7854835f442a9a009441f03fdbcfc50bdbc2a552765a076792f1ba675da85ff7dff3c200de3451372b27782e87efd41f987c541cc43f7eb23a2cc8f2832cf105dee1e38b453e87e5d21cabe42be53184ae9a2ca4094a306b9ca4041767f8b666d1dca9f591ae46aeb04592ebbac08bd79df758d5e90def6e1dec8c85e90c7a36642943f8b4878ef6d6f6f472f66f51e2afee355f0aa7f4af52d28bb0fe56f6f8ee9e39866ab6158ccea3d5f5077c283f1279e8b150fe62fca2e05e527a6f00309945f86505d0b9ad12aa5f0d78c567f82f20351fe8d626aace2df06b08a9d2e8e47eb52e79ef93a077431fe83973badae825f9784a0b105ab1ef526b63266f51e9fe253de03e25f7d0aab54fc68f59e9fd7e36d107e9fc2abb7aa5a037855e74c258189d33a1b26a65df86fa831f9bd8757f2f9bd0a5ec1e7772f78e5df2323ca7be23fda5ffd07e80bca364b65f6ab87515d8872158a63ab9341f92d4e8b4c5ce3d5cb84e8b301c75a59059b2b871c5661e1bcaaaa1f5a6dbca6835c8a6a8d5604152a595cb1050f76b4a87955821006a9d668ab43ab8d45fbe1bf5fcb92cc4358d4ba891cb37619682d03410b5ba54a952a94a3c4a258148b5c05b1885a3d1ec5775c051da5a3f8e828b4bb78f131460e3a39e8e4a0934312ccc5770ee6a04373a092031239e4e490c452a142250b2a7487aec8420b1a140d8af6448342b52d341ded090e3938e4e090e392061c72280e535cd470297249c31616ca42d9270b85ee16abb34fb470055d4157d025852b88623ad71797147888877828f2106d291ec76066e61dcacc516e3bacb2e8b5edb0ca9fd9bab87a4363c579d4b71df86f8b3a5e5001d0e75302a18dc8d6c4ea00e13387837fdba19b0fb5beb90dcaeae0fc684c67ab6d4dac0e8e2397b5102d2b5a0e7854fe904765d7b2c494b42e141c6a49ae5acffe108742cea6a977fb0407eefe648f57fcb26c357eb477931962d7a04296ca0e470ffef287f8cb0e8736579db6e46a3f3ffc8843db8629c481bb48801d63518c69c448142319310ec5d86d95ebeb5621bdf55146b826ec5ff6a5c8f34d5dd5b637fd887bcfc514bbc72e26377555fbcdf4fe8f6b7132b1ae46a318e9b5f725aec5c9cc3a9ba618e9ddfa12d6d1903aecdfbfae3a855fbabed4d58542733d8659dc559ccb14e3ca8f0fb998e3a98c941246d941a028ec68e4636f44952796152dcbf4bb554cdd93dd7d528557bb4f76ab58abf3a4ca5a165c919e8cac2771d767df30f3fbb3aea2a87c1277fdc6cd76691205e68f9e3799ab7bac9a539284602f5d567215452f4eb24afe7255a352ca8fe1f972f67f952a55aa3ca9f284e11442b647cc693984290a2d0e7255a3eebf30088dc28ec63b6d0b285b5c3870e14bbbf4f2e6036671f0a1654128709381311db9eb7a6259509eb53aef51ff85b29b8c5beed5e94bc3c8ced71d76bf9961f61bd1c574dc27ab83bf3f8c698843a1c3c6a464d9d34e27d7713ac9d3a9f42fcbc3ca97fef1aaf42b0fdfc7f2b022b3d24a5771e8ca9738592a49597af970939131bdc2e9d0d1551c7a2abd8fe5e1d1d2ef26533a955ea48f8ec22b5992a7930f292b02a8ec856f04c592faf93ee449f6b70d96540e6dd8e352340f43b1144aa1f105761d05b3f1fb90e5e157ec61573b8af5efc1e47888a3e5c6d714855d2dfde91faf56bece1c9d111c5d4b77a37bedc25f532ff5ae7f0f26d53d7735f5bafabab8ba8a000ab3872fe5afc89587fff2a5d6d529b5373daaab297a692fffc4b53899a5ce06d293a9bb7eb3617afa6a43769b7ca7a78ea6d49daed25f5ddd81a5b3e18af9f0b13c681d4de94fbfcf5b0fa75de96c98669df6a58e46cace87063b1fab038416e9df2633fa18ce78b721d6ef6bdcd2776159dc5e1bb27d843182eaba2b753eda2f67bd91ce2a0feaec125f93a8f9e2f72f6f42b68f1a6914374e9bd60bddcfba9a52d17dacab933eddce478ee3b0f4098a4c72b135e885ff7417ec43635c2abb2d68b754b4b75e662fbff2cbf87013b2146e57e79bfef1eaf4f53df6f37f907eb7ab2f54965e5e7fe21eabaeae3aada797dd5dbf6fe25a9cccd9d568d4e45d7dc1b81627f37555ebb6c37eb72134fb4e4d1dcd34ed8fe68fbafa92615fb9b3613ae36f16f34d6f3d6f3d98ac5367c3b474fdec68f621edeeeaea52a13286a1f66f93c93e86b1682ddc5deba145633dc62608a24f9f0f124b50a14334cba0664447a46909076788a62bb3d2f4f21fafe49b1efee964eaeaf2e6432637535771a8e92517a58c517e8c691357fab7c994ba8a23a5a442b3c7abf52b968747a9f02a3e1ca2927b5966694e2b9c5f5fb6af3b50d9d51a6db390811687fdc53d3a791527afe4f77fc390368ef4911b7db671a49fdcf56f93a162fb18ce32f9919351c618e5cf9d73ca5f6e884785ce07d93e86771b227fd4491267fde4aef9edd2236efbdd64ae69fdc5b985fddb86606ff510329355fb1ae718a7b16affe23e07dd8e0f39f9b2b320478566b13ac0871fb998867eb318342161bb8b8ef2b8e6a83c680e2f1ad53e72fc90bb34ee31ae35ee3f728f03f52d2c7f63075ee5e0cf32ccb22c4c8310838fd5f06b691d8da5c3c7f2a0fdeed0b16363d474bca5a3a3b1742c8e11fdd2cd432bff72343afe86c6b6bae1bf2c0ffdb079757cbf8fe5619fe5d7abdb64ec627f949d0debf8f8f5ea6cb87614ca292feaeb02013b50d6a1e37beb6c9877a08be365cb67377efa581db6864e478763fb868931ad3ccac6b3bc6c47e9bae3f96b47a1bd3ad6c6bf5e39bd8fe5213e57eeeb0eb4eb8eae86de1d2bff75f6afb9aeeef0dc63550d9d8f1ddddd5dd0ccb22c4b47e76375e017de1c5ce5df7f1c1de95bba3ae9dfe8be61525d4cbbf8976c7435c5d2d514a97bedb2d2a1ba3abbd72ea7ced4a3afb204bbca9d0da4f0b5cb2471af5db211f7da45ca661f3bf00afe0e142280c2d70585cf0b0a238470071a19fbc8d51d68efef46c4ea7cac0efd36dc46da7bfb988631d22efe5b575329ababd367bb27e403ee40ab0ddc8162be19d9816e8f80a12ee8f6f5113d2fe8d6551b585f51b5611f3ebca3f8d89c1bc6c1ac540b34a86950a84fa1be3ad4e57b14afe693fed58db25272d07e383954f63648e2e44f0e15b97ed6d1ba243fcb18c3301b668e66832408193e3389a43d591eb2b7e2f481d455a6dbcfaeb2956d19432beb68f8b78f5fb3d85931c27d2d424d0aad9dfd0d8d8c59568cfdf0b51d5abbe1c7f8360c01f819d3ec23573528b45793f4b1cb6afc1abb8e5647033ffbf8b546ebb7f5003f8b5647cbab84d99c76f18f5ba7c1ae2e5b1d8eedf79b751ac6774caf753ad489c08f1fe1474d6779881a9418a1540d8af6b1a3899f3d49e3ea52b8a6d39bbe3ad4204a5af14ffdce63eaaac3f8da163463ee45ba718f32a49183147e845bd6afe9ac0eb1390837a7617c677352bc62fa7ea1e0151cc294d4bed330ced32ebedd0ef5d74a5c4b0ae6e650cb926fad65f55bdb67ac6916ec6c2cbac1e7dd3a1af8d6b6bbab43d7d2e05b5cadd13ce6d0ae2d85fa3b4fc3481eeaafc5b7e87eb5b1e8a643b1ed35b959db579642fd672c35e9ef3937cf98fbdac226c3dc976198fbceaab76f48c73b5390611f652aa56d0eafac055246f9518e48a4d947cc12a4b0bb4ba6e5de53b91be16e329ddcddfdf43c8d7e5e35699a58da745ab1e190cf30f75ffa886cc586cf4dc6570c3d48ef23bcd404b69c98fd44b65bbdbb9bbb9bfb9babddddddcc54b26c9997878c3f63efbe30eca1954a75a65da9f92ff4b14316c41823f46d2447da925ea491e3a7821f02dafe96ca2e9b25f8f380c0ef7fe9cf4a1a10ddad81a8b43aef81dc7249db24981cbe8d88a4f06526adc73077442aad3412a68985658c9188d3d8790faffcbd6333ccfd175e4198a1b215edbdbf642c3950ee22badb165126fe82067f0e8c8679612d79604f28d9e3511b88f27b2f886c98f8af81e89babc5b2772f08103b6f3103158421ab325157c89670842d0673853e1f15ec800a5304a9404a0b5470c416c59c676c4fa6490c32e6893e9f27bc90624efa7c9ed8421b634afa7c9eb8e20b73a3cfe7092a9e304df4f93cf1c4d6c41327c8a4302ffa7c9ed0792227ca0e44237b3ceac887f267398b440ea606ab7893e90c094c0d5621c12afed6a18c04e5ef2c8762452ff47d553d576fd0f7a57ac1bc6771d683c18a48946dd410bb1a00cad725e98515358c9c75a6b022ca8d0969da420d0621bf02ef7ed47a9947dbbdd7637b97bb61e2e37f40fcdfbfc783fccaf43d9796b48b8071ebc1a24b9b091192f60fd169c8a1446c432ced6ee482f77af87b37bf4585c87afe1e6a98f8fc19f41ff0eb01bf47407b2dee05c97220363a63ee57ac681f8ff6f5e0e67e3d207c231fc6f1d65e40846da28926bc90650f0a14285c482732a09e2aa87fd6c32a0fea69182b9b62f5348cf5c3d60ff5dfae873a11b8981d7fb91a4be3faf4057929faea5b3f4bcc6a05593f411dd42efe5610f5b780768b2cf359fe85d1d259694929b3ad09d9ae1493a5688771df4a62ee64214c97625629b1919546f678541e44d41f4be3bd1a0b082362956345dc1c0f7520eaaf63080f26cb792e543225a87f95b4040f06235a42c716acf2a1fecb2d8d71391d5bb0ca7574a1e3470715a6424220cda698524c1d3c0db352b452d4a2834a471f21c87411532c2027d63faba790118794d6eba0c22b48fd756c5185faeb18d29106c3ac0988fc7574b1f305751d3c5fd08d561d3e41d4750851d74106f52055c70ff59756d47105afea4a11cf941e5e551d574ce195bf0e29788551a7554715d4bd07cf5872ac26d0aa834ab480ba95a28d0975a5c8ea587258e5bfa2068b8e10a82f0de6f3815244472c3ad4df9a322bb652449dc7fd31a28631f5987a30221953cf13534f11ed1b40355a3c37807e7aa87750bd01b48c49312f0a5c41e00da02ca75d5230ab0e2a5cceebe1d26197e5b48beba09243fd7550e141d4db901473398d66cbfb50a30a024a814839aceabfe1c4ac2929523025056d524ec35841fa737810a66f9762559b4c40a62f70d0dd8dc2b9d92e37605a2550b5804839a94c0acfd95d520e29c70222e55840a994d0c225a6d07e1c422cba7fd1ed01c186b4d0ed2c1f56f960f64b91b42d1fda5f9b8831296646812b4826a55dba6652688f86684bd3945d0ec20d20dee5dded6d77f7edeedbd576dfc3feedf22637edebeeeebedd7dab698ffdca1e56c906a2b583829abeb77ab6ab561554566b0a951da475a32a23a1915007b1e8b0e898a874d048c844c54425db3151c976a41cc9bf01d45913d9e3514dbcbf53ccde5f2966df7062be9a491915854163c7c42990c5ab16fadeb998f00a4c4645cbc3526e211850fe5df8fccb8d8a3852ce3604d24c8a59331d9d0c4a0bf597b3615e1007a21615ca359342f933290d83c302f0adb73a233608ec70c47f41e0e304819cb4c17cd6e81b82132aa87795a4437954b43f528355fc6049c8195be474a3a2194ca6755444f95b68a398ddd51e6293503b3c4256e50949a083dae5bd241b9f37a85df877bb16277383609c5f5c17b50bf750bb741012bc8a6af02a87577093893b540429fff31ca22eea323c987d2ef1a2f1ebe539677840b240f7b90aabcaf078682c3c1d9a7619de6a9f2a32f51cfe2e7a40967213d1eda207c41abdd723fec5bd76e90e6a971724721ce3fbc3e81b053b0ee40845f678d48cf77b5ba8abd0ed30fa0bbafd05afba835aa806739f6967ad316b0751ef6c670cd9e35171f0a13263addf2633c57c52cc5725ed2d7bad876a302374baa8048fc37e3b8c7356398967870fcda0c63d9a718f66dca3534c4c8a8969dcd28c5bfa1e10be2c9ffade7b6fdf33420a7d8ffdc31e9362ca0b1b096598143366abc5ac269f2132b4985d910d3953cc96a0963076ffbdb79c98afe6712d41ac922d429814d32926c5b4e8fb6c6a3b057d8f61316d38810d3abcbabeda3025550319d4124b131ecc0e09c614e3ea58b840e55f5598d75f5f597e587e1aa625a8ab32db692a9efc96a09630b21fba2c3fcbf2b325ba6f7df1aca0b76f095943bc62babf2c4a7830dd503704052a331f0adf775c4ac358d617569025f42c930f89876691db209d1a454ca99613137e4c635c8d05d415b14ada90c32af9312cbf372a66bbc86718ccda1551f95d51a706c33c9f9c9c1c2482c86f6911a2f04f531a6683c03f51699817043e0bd103b251f82c69f06a1f3e4b11af96c2b791c32ba6f09d20c980428b3e9896a0e7221fbe05f48060143e89e701395108bf85e5c7aac283b141e7b56481cab7ac98b51ba2f2b34d06eef0a14b6556938fe5133f865349e88646722444658bebd0da1264f2a172c79476919f3ac2ac23a2a5326b0db60fc6ac23222a7f34c4ab7df923215e612f7f5485571950cd76a8fcb7f5c09463f18255f27b93c13a961f56c9cf587e9060834ec34877cb87cae7961d4251ee106a17f95b770851b95f5b82a8e4eb25cb0f9557c7f2d32ef2959895e5874a1b74a8fcc743763438f8b40d2a72caf9f2c93951a91cd64352f5ae86074d5d1c8a554fc670026d0a3c23259ac8acf0b32df1c412182a55059f2afc6893e7c925e493d98009690522ac074c585400baba682286c1239f600238851f6b0930a4381576e21266a0a09f7479851ef81a665679840ecf142a250651fb2673cd8679d3c9fa4bff15e30a31b6e8d7fb5890aa7d4e4e0e0982d414751f2851a8bf33cce6e4e4e42c11c41fc5abebfdff0179d4bb5ac3833e56615d955308f3d13ae9eab0cba3d73f860962851d7679b44a7acd54141d292d4e4e542ac74441fa7c52b0025ae7cb9515648fa483f98a00461ab4445f11c07842254dd18cb4b2bebe2ef6ab9bba98f59f434ff1d71ce87b156f32fda6225cf2af1a1e54ba0a529043f7b521cc1ab0e082f943d872e60efa7c50300328f3067d3e2878a2e5cc52199298561836174c1b55d04e3049f4f99cc00baa4d994e9fcf097ea88a570f26e6043eed2269e452286e8e61febe2a075eadfbec8881faa352f4391eecb26fb2629aa8d3e7b37306b56e1667dbcf90492974e050e2f77b8eeb58dc6bf944cf5c9905af5ad6600869f0aa899655320532076a7411af20e4e414b3ca266a18ff666797fdec5d121b551c5e8f473881891ce4200739c8c1e3516fd8799f61dac88b9991781e1049fdadc7aeaf2c6750f89963dd0e9fd703c2ef483caf877f0ba9875716bc76f8505905dd87a41eba2f43e2d141b39616279314032035d0fdec7db653e6d60dec94697de69615a165b9f5f02d0e6e42767415fa501863f75e0f08bf060abb1b761cc88913191b435e3831654ad6bdcb4e74f7107ddf42da9cb2c9a0ef3deeebd1505711821e2517d1f739fe532994949af41c1e2ad57f8e26a2ef53bcaf47abedd4a898fbda26447b45f4a9c16d9693b9efda1493b4c9585acced2a6ac8d25922b949fac9742acd1369b469197649eb743a9d6e8cf685e4a043eca09b2a41f678d41d3e90ab4be2a16f474e982ee13644078d2fbf5a4ea0d86751ebd891785e0fec63183231312c62cf9b1049dfeb817556900544a324f1586104d1fdde642c201d347b0fc80ebabf3998958588c9d2ca4244fd2b8987faf3262487101d14762c44afc703a283ae0544f72b0bd10ebac3a74b904956f503d2abb97b3ff9b8a5fefd3042cf781fad9255cd2d9d382c008dd0010c2e7282c0c709f278d44744df436ebbc2dc2ae6d3aa9af40dc1c90a689db4aaa49750acc2b1ff8ac00328941fc7764298fabf22f0a087367d9f431af47d067e601898f37c9c7c41df63a1f585be20f5fd20c14f687d4048643c393939394170f07c9e4041eb0b8306d9774e081a439c10a2224e08911aabf7ef27af2a0ffafedd40dfbfbf61797892bee7b13cf0a3a8456b0ee69955b5429f0f0d90a0efbba05545df0b416308611883668f087247e12db7347b5e12728614ac7ab4d3f617e7713f5e58d53ce20ec7fb47994aad676ef7c2aafec17ca152ce7e00abfabddd1eb0bb0e9000abba012facda81557d0613a75b19f3fd8f1f3f58d5ffc2aa7e7969980dd2ff23a6012d4377777977791742549d4298469e19d3005ec1aac9d7633fdbc71c631ac039c08ac9ef8b75913dab542f2f3c78ec045ebbb494730e6114adbbe5601efca9546f435ac8be1efbbe0d710920314df0da65089419a269711b12297f46da32ccad6589c93f7713f2964715875adb10f9e4357aafc7eb01bf90652856bddddde5dde55dfedee70ef586bc1763579359c99d37ef14f3bd1eee50c69e56f7337f4cc3e48fe9e66aded0f3e6f5d5e1bd3bd4a0cf4ca9c2a0efb57dbc7a5fd0f74c9b1dc02a2f50a9a72c6ddce5fc790f289e60560448cd5f8f077fa69c629380654b84845951fb33ab26ad38baa2f6dc55949f9bb9b999fba12551b2db23bf5b9a65c96ba9983daa389499ab3bd0f7d8c3b24c63d6e0eb715d98c6aaf7587ff6b8a6283fd45a1ba2bb9f85c5e4ae6a9ab66d329334e74ecc31182dd9bcd8cbf65446d69f35c73e3e3e654ae4e121ed19f66befec19386829f330cfd0d04ed9294545327b06495afa36212f1a4128484a4934f4432588caf27c99d2618c9625a594534a297b9491bdd754a4388c96f4a095a8542b35c6b19e061d5334339000003400631560303820128c07049aa687e20714000f8aa04e62441649d3248751180429838c31c6100088010302233623150011621aee31cd1c914d6e7e1d4607ae7bb995ad07c4a828b44b0489330a41356b3873631a135588b4ffe0863fc91fea3557f3a0d0bf92791a4f3185086af10f35a129271accd1acc9f75eb6bb74145d30cc03b463a1e668581bbbc2e5f4824e805d62ac21ae91c1b08293c52942dd7a38d20984967c2740b9074f4b7b5aa9250eefcd171a060f6fd46516e223cac52f214736ba7453fd0e3eec185b1f9ce5d0b9880dcf4e77a29b2c10db27b30c741939e7e48127b0f10ab32dab2c94ab0ba20a9269aa9892a59427b333c017a9e2bd722aa5b695063cfb186e0a655363a069ccccbd18f2faf7803f6d1e3a8d844dca9bb43b4772d7f827a672209aa93ce1d1c5022f22de2000d2b5e02c1e44b53237a2c72fe88fb330c9c81b432457a6f31ff98a4905251ba82eaafcbddbe147ef89fccaa7b247e3ded3220903ac6303bd3bc60f6a4f6641bbc151f1cf947594ff7b251ff1f9f306008ffbc43ba30081d71cee64f0d50b23c2e2cd388bc9116a2ce3801cc3b6f1cfa02b4a77d10baf3dc97908776b6883d3217a043876ae46129a2fa4c817a71b2cb26d121838ca34147e37a1d5e19a991f7a3e70bc5e3d9a5615bbeec29ff885ae26f0f69705012872b9822b0abc284dee35eeb9f09c596e9e84121acb245e12a1b82fffa9b574bb3c504c25c11702e4675f6ecb6901bf50cdd83691e752e01398c7c7a4818ffb738d1c2bb0b34a9f75b695b4e7566fa0f6955d99ac084421b368e40753404a0ed466139498eece92736504584ecb937e94b8290919ccedf67107575d852d58b4260c82dc3fa4dea31303c9d66c5bf8f7f605d4cdcde58ab9940cd872bff898849c73d8bb0d546c83c47755a1670adfcb9cf9dc55db379904983c7b7b6630271003eb8286b3381d9bfc22531badaad6cfb5838abea79c52bd2a4f7e8ad6762bf8a6c49e026440f02dafc13c4689e2bb21ce8e8d743bf6ca12da92fd5b515dac2d48e0815c75471a0138756f3e7e2fd7008e4f7471c3563fa4d6c653be8c12f480846e8961100df29199217de6c5cd81f73d4d5726ff4ab2f6b717e83fc95a1bd6b15ec978f634cc287b6143babf2587286d1e5cec0a7ce80c1327d242f87bbdef2aecaa12915e6f0834c217053bff98c38c517cd650446a5f57be56b9f515e398827c346e643245c76417ac980e3f8b1b41c7f00dd62d02821dca28863ec23d237f8e954e3252dbdb0b44364b96c31dead8b51904b84cc9acfdeacd6651d98efb2ae557a5edc67d34cc07949f1561d0a3397de1d511893cb2179e071b8e5e2cd62226a898225e1a3443042f7ef7d6a34b6cc59100346631994134df8f8ae0aea35b073b39592b6821068fe0ee68c0624545a86a778864c94728f33b72929ee1e4777297be378911624decd1fc52c4a3d5489ea84327639140b9db115da55dc7d51234705c0e41199ca7311dba3a8f5aefa03b0f189e4a103a8f87c1d8f9edbaa1bc85940cbcdebee581b7007e81daed86804eb900ca0443bcfca64e7d6fe4a7fae1460343a211879101c3c598e3ac72c9e24dceb8593f309e04bb405e19116286f37c853b39b3289cf8668cf0be1a46e1dff60705076daf48f34e47e4626247a954981e4d84178478621c99d932cc077ecb7d94eb4130f8419a14da414002947fa3e41ea9ae5c73c9ba8184f6a3ddbbf72bc5d064ebebe1e7e9b2ce6a9ea6ebc6bb2635adb93c56e7357e914fd04fffa0f7d0b1bf5c9b7df25150f0dcef4505275199e1900292ae1d9251dc1bd61cd2261b1ab6ca5b5ea51eafc193a65027965dbefe95b8fce86606a72369f5275eaf0854edbb2cec6b2477db5f0190694c5a35311fbc502fad10baa3bf85eea1f168f4fed2d065f7d18c78e695886f9855935d5d7714cd693a0c7b24f5d4555472264ebf61b2d69f61faacfa590649fd2c2ae5c91153003dffbf32463b5920a31aa06e0b80bf50bc94ccadb5695f673f97fc4fe72b9ff43439799fea89906487eee2f929a1bf12d2cf1e2345841d505dd097aeb7556f6b7ac75e0415aa44a82c6a13d6825a165a34688f21d10e4dca74ae24766849ad583f967e2f40d5643f32bd38614671ec81fb6434d5621c98ba9d6dbf66e98dd1f61fc14d529296ac3b55389f9b03d1f22f5c308ab615015d5433757129ecd03bdce7b6b546745020f2e203e9a0b34b7d52569c97201c88031facacb183d3a38a9031e81cd51892fef38ca8b1660d0c176d24979b0b9697201f4e65cf5a523de1c4961cef93ab3f95f4b3d35d6d4fbd4975228287be5cbdec284dc4c5a3413c94b534784676e6afadefddbb0a97bcfe142ce8f9f8f27da370cfce656e754a9443dc60e873c6c9bf7bfb264bcc9c60a1bdee8ff81d31aa62269b1d0082cd7fb4c5c20c43290f160d017b71d988c218b555ada7e3d0ee69a2aee9490038aa1314f59dbdc82b8a9967588cd6017936d73cf54d650b316fd2554ace3ab2c44e53ec18f577934da33dccdd5528178725d9bb75c85c87c95b4a667b0f3443fde87023cc5e50141b811d5855a9e36117d3ba1373eccda21eab7d152d26313024cc0fd5700a216631fca2c1b115ceebd1cd7d27bf207134c0de381a1644afc896051083b5999159b34537b8d01c2c7e94c21cb65705d3001a54cc3f602c62c870aae9dfac276ef33f2b559d4cd67470fc991501f01435da66b9e30d4862aabe866e0de0ad481af99bcee56543414ad9a8c4335b8622d0e24811cb72e9155d51397411274da81a5290267a486185c21ce2a1ceed4879c4c26e7ed091ea2b019d6996b63aa0f5a291707aa2bc63b6849338548f8c1434955bd636c6b848b85c9ab4d3b1fff77f902196e10ff45cc55d105e2b22f81990d317496cd9aa4bbf72bc9391a6d82c2a156c79f179813782b7d23d365368910b8e488de824f9f498c7d7dd3deb9fcb9799da254e38936efb78236e0e8e6d6152c9889a2b8399931d105a968fe9435be9d7c467a0ac69df57832d472af85b7b94426ccd3f42566b35cd51af1e79d9341c505fffc39b9d4720412c935834ca8b1051fd54bb0516f64bdb63f64df54f8467ccacb1b65b8b23333334058d161a028b49b8c67423a08563eb6e1c6538e4b58c4f2c2dbc065065fcb26882a5cab88e7a35b4822f2c07696ffbd0fd68b71a233ca0759f92dd099557c3a98a749e1fcf066fb4442896365dafda420901bed38bc4094352922f6bf5568938d2795e8426e659e0ac81740eefec2bb725642a62bdffad17cd5ef88028e063c4a99b977cc153f3a8c518510c11335566896cd31540fc5c1d3214b2bd848bd644939da1e6b98a48612320b2486d85849573925f1b8ad665476b6011d3121ea8cee8172a1852ee78ad235ce7acfe9cab21db41c4168211374ce2d5d141deaa0bcfa54c609b8e7490a8998bade6fb5676ca46975cd8aa1c6e8a64d18575ac528422af2b1b929be175d852b169dc961efa54627a92685b8b6c0beb7bf892001c692e81d0bad2a510cdefe4d0e4379a7849df818ae13bab97e253b65df280f5bf42956f22cf29586d1f09bd325da1cae68d872256cf2fa52eb857a813f4a88cee9bdbdbfc151417c494ae508d55125ed6cfe1800a3a203636a3ccbbd327bbde35dbf57e0e239906177813d07b188904fe02758d30c31a1e8d26ec0d0b819ac306973df90b9b95028c90ecd872ce02a2bdd0c1db5d84f9e483da10a92f19396a3845a1c7b1bf1490695a069345af0d70204aa8ed643061d50435553e9afb70cd72805dbe8b0ebba4cc3d594c958c4b9e4aad5e09896ffa1e06d92f8566f889c65e1c525069e6f7f85564512911b141bd9191ec6eab4b4224a1205fc69e4f1c909a4262ddba9535904181d0aa5c2d4974122091fb01408272ca405cb1c8d308a8e53245a1e947dc5f6a1016e2bce1a3788240fc0cc7b96f92f0318abdda893a8e5c54409baf0f9aeb0764b2035e400f369cb5857b5cc3c943eac3b45d36229db974765c34f0c657738454fad61e15bb24853839342115b89f9774a13e4b127648947d280401f4f9ae3cb9d8d1c11751d34d71d1949fd7d0f9e6dcf575f5b5f6e03d5ba0f28da7d51a415dcd163fb40ec6eb0120a377c24ca6b2ac416ad56107e9369f8ae127e235668b146e612fda090de83a06f8a884fcf5dc5fe94c2c82eebe4b2132bd489e8739c98885a614408bf7e400fb383eec82c0c8e7374515a7cdad5b0eb689402e15642b358ff3ea46bd9dd899c13cd51bb25038a2e04bc7602664451b691b391f87d4f5b8f393fc84b08c4961b49e96c93fe920c612d05b60eba4bb95099b7c4890d7d8d61f453fa4b397579a7e872830d6b22002d40570f55a8cf42ae1eac18db1fe62f342930c072b322b7a20051fa4ae05b873a4e2efd0107df884d7f009d124b77e26b5f5647184a7616865f6c42284c9af421a22621710f2a87c5b5c188a74c9bc5302d1ba3d9f4ee1dc7c2c60bf55c3806ed4ce5e80edf714a43bd9c9e2808854fcf6939c4e04d1d5d665de59f6b98374d30a414263413dacc8b05e475f518874df493b67e4e252989f56e5618ffa11b310a47ed1812849f656985d7e5bc3790b861bf5c94389a103901bda04c1b2a1f504bb74a0b528b2688e320053ca058589cf79c3b5bd02d0869874b56b29780167d388651f714d8f58b8f6a64c54b735dd54d968bb8900a9582b90035d379afd0dc22021240bebc3e710ffc682d549dd125a452225ddda88e9f401223a970571afc8822aa0b85b7b8912c10d75fb4df80ffeea4bee0f4c5b9584c04d8446bc7c556a2d3062cbc3eefa67e40e22d492d9c128c3e097a08431d29b982b29b8f8e451f9042e9a25103aa003412f41d2ecadd14db03cfaec0879eded345536baec89cbb9568aa6005658894a44b24871954740680dbccd95d544be3bd4d1db9408be73503c2668a18ce63cfba835e8767333080824a14d3a87aa216eb332d3ee92264b13daf7a3d42acd6bf5e989e2048ab76cba1e00d3810c4cb46a4a2d87e0c6a7d44f542089f63b1b69323f2449a0c95418f4775ffd6baea8043ac3983a515e54ebd49b39421d34945bce9b85d06cb85b0fd917494ffbb393965c9a7212ed4f7526abac7d6e6648e1acc8d3ab832d58e99c00187bbe091d73006ca4d7a1f02cca4741d22af5f96bdbe3e66038aec0f74d1b6095821d3c358bb59c3d738ba54b62024e152cc06dcac20ac0ddfe7bdf328a5cf0d7b0d2c98078ec2f458c6323d1f4113c7d162039a6cb57b500b72213f3cdd21011f8e75b9a9f2376ebc93c41d4e615138143bf7cb9bcca22712e7f5a60e22616503b8d5fa85d1a3c9f334de11104d33e0181cb29ee5496e0521d87b64f6bd9847cb142a1881200184686150aea015d9445fbd3fde89be02719fe30f6743904fa9b25411443e43e2305fd9d17f0e171e7224e1dfe0a9feb5a253c9affd5b5fc9c9ca151bec37de2327af6f6fd48241a61158903c471e0f42f2a1e985a1034aa24f6f12d4744e596b56fcd3bacc37d1f49b945a4e872f2c927ac8fa5229ef35164225b096421873b2a2f72245b7e5dfb6e9e471c5e08f9ca2b71b97be1a33917eb10859eaf4c91a9bc4e1a05acc5248fdaa9e8312b758d01baa4f2c25b2f6716cfb293ad0ad8a4973efd04db0092eee641236f83c1758f6ef9401a5892206eee9b4d1c1fdd69be420c46549c668092a1a92dfd21bdbc166de9e05f100347b8edf57d7202104cf5f188c2b38690e6351e20136f16ce867fa9771d8be697d8644a488d0eaf69076dc7af72883d647401515d7e1592e8376aadd1805bd82b5e6de5cea70333c4f66c599d9658dfb6633892d8eaf87420916de631462acada73c401644e78238daa921bff81b2732807099e0c03b532da0a28a26a268cd88cc74d55a968e2ad87f4d4fcbc1af27f90318143c9b5b366476de3038b9c386488dd4308756286f52622eb743ae7991d4801279d774b0c322f8955684362f06668f1b24c7452dc2a3fbeb8d248064e35ca5eca1da403103b6eeebbd2690ccbcaa030e630442b9f3b0822d2d5d689456010e3b7d2a39422d02c364507d0f27ed8a6647c792d6cdb2efab95d6ddf94c42d2ea8c16d69a58de4d3184e71335199bc08e7532c6f4e42ec6c532ae518551c2a95941c93da91100e7e1481ba70573513cc044ab90329872cd99d6a91e94d66cace45fcb4c07bc1252cca0e06484de43bd303ffd6856060071f03e4d1c428e813f4432b27244a3cbfad32c352961181f89e72cce9d12e16e0d020e6c37557d1dd04aeefd876f538435bc804bb7239624bf5e631084da2bd30b5e7c5308a9e8dc17d14635dd25ab00c50cc2b522fe915419ef681c3107a21c4df8ef824e1a97f68a0c22bb34655e29de80dc48e88c055e19fb488d3dba20bf9d65e8b95b04998259fd4352cb10e5b29ebe56bd8c2462cde58c1cce06beda6154d583f4a376d25d7c3f71eb98ac8bb883c1442f017e815f4f63102406b2c62bf00a70e75e226fe0ecc5a1ebdf7b1419716dfdf1c0ab4bd3aaca033eafc9c11e40e7ae68152bed3b051b8e68e9f3863b7a0163f7448be4a6461160ed6842e7945e14333a0d651b66d16108003ac5e752a26a2ae94fdc04d138392a8ec9028621ab0da803c7278638c03689c3e66e13024bf0a100e86a158e0c9fa5c85f02fa7116c6f1555e07fd87b00b4caf7cb12a5fe9047dcbac60cd5d9670912cb7232565b0b9bf93712d7fca0424d24680a6f16fd9af143a607f6cb666428f4449a90ca13df4a197e2bd378ad143dde7a02cff1662e223f2d1114a7d58284067eb2571c0fe8fe87a6291fe48023544458f96315c93cb3d6f70629b5525f3b73a942274f331599799b37f52a115e425c811ef4fc8d54755a5167235b48bcb58a6fd517b5fdc667aa7474ab67b7153886ec12a4df4ce26c52af74b433a2823b41857a11bcf268963739adbbd3821e2ae06968c9688e7ac7cdf647c88ea46ce02ac8e84d5100032222a0dca8715c7b4c4e1f73789d54b48ffa160afb0daf47fade9036a7eaea92d9185bdaa147a56d3fbf58ebc761f988ba67abcfca340c6f105c478ebd85bfa958b51eb79995f0ae333426d68c0928abcaa1896a4c319c0038d555ba4ba509159ae65476585304410d2c69f9f95a00e3c58755d1f8558505c5408c5f859e4841e0743b3b65c8d5bdaab2f8985de48aacc174ed277f5e9111ddc43b338d962145eafe5fc0318a93a68219d131f995b638818b896a0dfd200b9c88edc7e0e9cc0040b12a52c964d894a0be774bc2d524d1695a718ca6216f124d97853f7ca07d842631ca8d76f75e70eeb040588712d73c5a4a8885704a775fc714893886874f74edb4a6a6881287d96993f51bb46667a577d92f06c6f34ae8eb2144f1b5fc4578f28de3c70f0d24c8946705dc002ef6744e35ed31e075024bbe90bcb7ab03bbcfd923f267a6552de325c3b92904850c899f46636931605efe43817e539e183d3af8fe75c6c109a541e9400eb5896c6c20addf55cb1274366346d7161af53ed182eac48c362272f6b9b8015f7d7b961f5d102837ce04d0f1c5f49759f1275a07baf1696544d06ac6e54e832c50816817dbd80dc95a65a8f673faf03fa11c5a4e898a3f4e5d0e68a6f415471c104807c010458f36a2ce40d4d886001faae85be05f7924ed9adf70372ac41da44d18b17129d8a7f392955358f6cc2d8260052924fe4f6dbfe96d8dd2200bc9a0330605646189d6b8760d1b0d0ff5f5765b10725297723e8768101639287a532e95102bd373e706f803c37b184fb05fd98e3f2127796cfd86d8bf117b0f45b339582bb16fe23c75edd69223c383dac031975ddc36b89a506d014e767241c38c1c5e68df5c21da5ee36edd61f625c7a0239e68ab2721367a1dc14fadbd4d61cf44b5c90fda6601e01b82ee4606e2c0f3e0c6f09cf69a7437f573e880b2219cf0796352add662b4f02ed5847396fed5434437288349578eb6ca19de11e44ad103e2f394497087ce92551718cbe1738b1026ed10468ad7f55a9099551c57d0698fd819028dae6cf41852b4a2be00af7fd8733cf596b50828e0ec102f7c2763d03a2cd6cc2872aee8d7911744348753f290c71fcf1c09d0790c7a7130db6fcb52dad7a88e3f70c3d1804526403ba21f8cf8f387f381e2a830fb8b7710f370ca82f391ec8a01be2222cd5ff9d412142b228ebc66ae2d825f212d1c42d5c13edc23449aa86ddd7db04e0c33097deaab42b43649175960ae4eeae63f0e854215a7de31f20ff36e0f92186383ce16bfe29632e45d1e3c4a7b6974e50f355d0245170c7fc64e735d64e335bfc983bc94266489703af4dd3c7ae0dca15c7403f2a0a1e781e51c13301c1485de9c4f893e940e0b723fae1b5369345c256efb09c929dc0e5f8a89008de973766b024e0216a6f75aee281a3d3943b0d1773c3fb517c7f5882b35210b66a79bc95e2f1f9a13881ab7a7c03449a2499b5c3f6f470a214b2e59d7fe66e5d889d5e97a2aa69a6bf56ad3d40950fcdc7d5d2bb74a3c526d2b9fd1f33b5ff0abce825bfe8be91d350aecbd42c3cf9f4e59fc109f0060bc97d20a5808d69355eb4d79431b1784bd489cb283b2c4f42e02fe04eb8485d312339bb3ac26bb68a5b3969c0871717cf92733d6e09c06940d0bd1b63ea9b9d4f5eb591f44ef5790857e9aa03ed610d9999b1a1a44fc7ee11fe5eb04cb68fe59b93b91015aef21747480f3e8de1fd7f78f21d7ba0152f4384705223732aca3ddcc459b2aac0c98634a75bcf97e1487f11090c8234d4d2af1246895f4a48af86caa5bcece22e0f56f42919c4f4e953195431ba30bf86c010fd4845e52adc904822012fffe8ddbcb5fa0dee0658622df5d0b33000d30a2c76f005c8786c2645b2f30aa9c77284c531798fcaa7dd436a7b76f5d4c9b9054c1a58536653ce86d2152edc21c4373065d420ec76aed4d50001d5b415782cd42cc6cd957bc243b0ccf5aee86db3ba5d385c779cbd88e72da8edec4a203a9a742ce6f77be2b49f418b28a8650e59e3d4ffac63d887db35e4f6c0cbf65c74a7ee899fa2da9fe16ecf5845afd2680932ee0c608cb93568f4170ac57553855703e2239f1315f94a533259cd137281cbdc30ab970c7e29088556be8a114a5a4291aaed3bb125685c345af276365cdba43cd3ffc22ad090e4f10249e59ee46b48c9a952902e2b869f71f84d074fa8427e6db356e9a20717cc34d9c3916317075f9836c6f9240717c4ba838bb49b038bc117471dd18b9b96613e4929c63ea2462c27020049539302ff2e950ad55592951929cda6dc78858ec92820a7f2ba5eece8f4ae47947246426468a190876a49f2c26d429762873533ac14f51ba1af3d464705e3e8ab933511935c9913acfec3131d9333f437e40d416f89ea7a63fdad7b91c66a7c14302ff237357d8d8c18cd35f5346000d1b7c6b0a47abc708de0f4a3ae07290d23ae5330c669f014438389d3d8216035dc7321682e031f76cca120ce16409a9f37b075ff749c6feea92778d183552b4cd159659c4288808f9500270a9681694725a0ec44cacd0da65a32a708dea9e281c92c4c1372644749ea401e2235a06260b643b6159a96c42ecdabb7899ca655125e2527915e1f185342d32d0e9099d16eab2e6fa411dca3b48740527303a0d2742a0f1fa052cd41cec7c0389347e7f8085c281dd6f3049c3f30b34f455c7933ab040e9e708ba23aa3dbf08dce1252e247e7329e3a6bbb36c80462fe1bf3ae247cb8a0f8abc2d8fa10023787398cefe37069bfa98b22c8181932c723c82a2fc07ca35957bc0f2e415f65875627f0f7c8468e84f09380630dfcc8bdc3e4b2975084bef375bda395d8ed40ab07583052782205ad9d4446977b9e75b1c74b5a0b1787be6e8b8b698c03ad2001e1741c29079b4325b7e5ddd0caece7b4313209a2db37bd37e47820f5224d4190183cef0e7ffe62e3bf9d8e657b12a96cfb39260c1041124054676bf40db2cbef8a214a5227bce2538c10415a88008a4fd2aab3c87aa8e40cc357270197f1ba0d4dc9478bcbc2e3a4f35736213441f72c63bb164ddd6bed0e308d7c1449068f2c5c4a9bfa29c005bd7c9a5e209cb2cf4eef486f90647d03958b8e0eb65438500b3afe4727470c76d6d40a76b054d768f4229ab0b154c69834a3469ec6ae8e74528b489abff4e4894ab28cc82ee8c2d327cde0bc38a03f3f5da7fdbc04ab28b1c9cf0cd6fce3a9c3cc4aef9fa4d3c7340ff9abc1e3a2182598972913ec1501901c98e0d2911c5b6c5596118f0c8dc6ae44e1008a132f6a1a3e36de0eebbb9658a4a56127376d7f2110eb1b80d7a230d307abea5d54861a35fd81caee049b8108f400e1314f0643570d17a9f67753254844109be6c952545f288240569d25f7d8de162895c59eb34c7be4b98b84b7be7bbaed2bb3b920f3722099f7b6435bcd8468656b6c9b630080d18cf91afcc499c45e460452787752e3f267d1ebc33c66d5020aa10d97b6093b72d801b2d508045a230f63e3461a740b593aafa07f03b6047f3cb88ed1ddfc842f3e7a663b783b50eab9626846a2329af481f7176f4a474ea0aafd708e92385ea18a4834d37f421a31ff0a01594e58dc6e82e12854b83b6a6ead84acc3c1fccacb7ea4e4fb4befa87045da7a77411dd5c0239587c80182d7509f4909d2d16ab47070c0ae70083e1b30d5fe8cf7b2028e2b38ab34753cddfb38e2a1cd355601d04a5f02b89c74e2f76494fb448de125bf0b592c602211a6331a9e0641c83127b7cca996e0b8f4652b7bb0aa33e73914082b9f30432049983f181b1c6b2a0a887d6ab00fe7debdcccbe330cbf6c64f2d77138be9ddee09efc481cbefbb9cca4694aac10e24df5987853704fb1e01feeaaeabe0afb84a4051238f9a9aa84722e10f7790baef43dbb5bc4a7a6ab1a10d4d98e9001319119bc664ced98cc250ddf76516b00020b8d077150ff015a1610d28f38d062ab261da0fae1d73ca39dbd8493dce55ff52272e199463183fe6c497ca2ac14cde440469f80e4b4bb6dd3487f12e0bd138a00ce063ce8363550b9b93509512fb89864100c80a70cfd328dd7edd8f008f7817c1015ef566f5d52781fde13c87f6a5df4bb898b0ff2d237a9cdc32886255b1a9afde7423aef7a3efb47ad4b84f8df0d91363ccba2a69570688302c69dc03b77e061dd158a4324a7c422ec4920f2a35c085762e74e514ba5c934882140258f724b0090d49786a8e2cc1add9e304a15200570ef099e0020b07c56a71a2b199768b1e28468f0b319f2b97144461da6841010492c729f0f9c54d58c51822a9e46edcbdb63f8891485be587bec909ebac3af4b9017013cbb91658a93b05ea1774b7eb580144c4ba531cde5839c91413008c6616a5387fa7d8cdb447dc19be3a07b2297ad80ac0a03f44868fd54563e0df3b02ee73cb6f2b74b2ddf7c9e8842859633c7a1c2ba6bf0073e6356a048428333ae7a1c529256ff55d26e9524b8235c4b1cc79afaca0cda3ab59b8261d2fff886af0a47d1387fec410fc7c7341a41aed9e75498c29d45406a2af30e4a3efdaa37d00b7a43e0a74f3ea319f9d16f9e284d13729e23cdbc057d76a62198cabd462085682a9da771fdf7269fb3192cd895857bd985f602ffd75b6b0c92045fcfa3b06f770de0dee8bc7be630aa755c95415606b943005eb45f173ffa9414fa928624e768a34c1259159b4333a48602987947a629923b0dc844ca8c4557c12a950e3db917a4c8d3a0d8dd7d9f452dd656604f84abcd3beb18d9433c067a8f9e31515d9cc7f8b95b6673c667110d90703eaa90c8595fc1777fb10428e80efa0cc6effe4bc65011893d60ab1e14582cce316244550b7b45975432047d8b767cd4ca8301686aef11d1e366a53f247c381549d35510601fcfcebf02bd47cf98a816a0c7f8b45ba602f146dbe808af0f3fdb1309f51b8d19bff66a1a4686b0921a01ce4dadd8d27c9b8df58a539f60a8468fdf7d67c6902a703ce0a34e34d0c19356e9194121fe93b660813c5e4b7b169f1e04f038ffd3bf2e552d6492c68449dfc42048adbedbf1708c040ac037466a69b2eb03889a8920009b4d53efbd8c84749991aa1c29561d43e891e7b11688dabefefd17c8fd9541bab012bedc4c9d322b80db2fa38f115f512606966060a77480cc38c577fbcbe4712068cb709bcf5a49eb40b30613ad52f6af87bb9791c7888fe820ef18164b0974c65934b75e86d388a56656dc85d772a874fd5be3de65f47122382870885ba99f6f702aadd66e5f99324ef8ce26ca5dc96082192426e6a7756e5d861e27c2e40939ce68adb4750fcd1a846795b27f3ddc75993ceef84227c25e30082b5d19b7bacc1f53e8436727fef07cd606018dd2fa6d8ddb653aad586a66c81d6fad526a5e55251ca22a7e334dc2af13fead806cb2a2b878645071cf0bb2b21a23ac44e29a4ba5a9691bbc37f9ad8ba5fd8b811d8967b0cd2b3a022ee55593ba1542e6e9d73a8bd58b2976ef28e58dbe5484ccfc394558bb846102c9b52ef4ee73b39398e86cd75791db75961d4bd85315fa2556384dbbe1d9ae52be08e9a7345769bade4fa4ac63b6948e29b916136c0cb642b5f31fa5f33d535b8b47e1020875c2b644ab9624e88177aaa7111b15ea9757a18fb2aaa3993bc81a3b565b823698eff3e4d1562184079b94d3f7455e45cc6ff55e10ce27a877f92d99a2e1dabe78802c2629836b7d2b86e2f4e9b17965c183e4f75ec219b5169251d3339e96e1d5414f59f2e2cda31fffcf285c672689658d584f86c4865f6965bc8ad485a418d157c10303f08a10ee9227cac3d5559f56269602f19b9a10c3a91b5189386b119c6cf87b8881557f8654176318e842979de5578001376f81a71cb038ccefb64843c6526fa113a12707d462c57ab1de00c29e32219c3be08f2021e248bc225b8b0e193e1f326ef2b78918b5e98a88ab1535f864fbdb52f3ae4b24d9f0028d9d996be2ca8c1a7078d9eac432bacacc6d583c5bad453811b7d6f780c27ae6442637e6bdecaddd544212d57d99c78a3397a64614b88468a54e8524b16f493778cb5ec0c132d7bd7fbbef00eee94d546eb7bdcc517531882f65ee8ba825f2cd0d6fefed333bbfd085528a0cd589c51c6c80f401935f7fc049e86ae0023c9a06b9726c1e84993ef76f19d41b13bbd1209870cffd9809b670c57d41061836e3ed22c20c109abe7ba6d60e06f81381506ed9f7f574048da56153043629e5c07e22372213a1cd6180824084c8220f5e6ab8688946133e2b6b307da9d08cbcaf6fdc150b4739583535c5dac47d1b301ad55a6b9ed6cc6b48144a8167526efa23d6ebf5af160f85160bbd1d4d86b602c81624365e7ce318ea80b2bb84666f9b228b3b30f494d98e7f7264223d94fd49168a3bd183be727747b2b801010c855afd2d376548c7778bec3d1cdc0ee3bf7f8e6df0f86c4dca344a802015fa2e517f18a83390029a79525c65ca4fc1e437ea6bf681ac612c89d549cbd9bab5f91c290a495e5354e79e526808f80608226b44ed9ef54712e40451998a9414d11c0aa38bff0ca0daf5f101c21f6d064f69854a583c5bd9d23e57ee270df32654bab4bff03ca740240852bcf99dd0070224a21c141ac1080f8cf88232d461c84c8717e4e68367c7a6495c8b33c5322a5d68ecba9a715167fcdb0574cb75cf884d2b1fd2451c41484d71789fa898d430ad5d89c419047b49c9ae15d5ebf5b79ed84f32340be23fba574ac7cfe75040bb7f0bdfb6b70a9e5779e03619e0d0b3682402f78109afff23c9bf1184069be3ef7ae4a6871f3ac8c0e9defbe7e4df40f9ba90d3e175ba92643cc00abe8efe5801fb1425d911044a8f0bf30600809f853d8e938f75ed2f217b7f9785c5483c335837f2bd15e56c29625579773d7cc01877e865bcd8b08670eedc76e3f62d50c63992fb8489a5ad839220152ff077931694f4b2263fee569b94371afde3f915c36cbf29bb14eb3ee47f3574ed76de33c8cfede77d533805dfdce26866cf94f3661955e492751e8739d6e1d17531f0755743126a9b8961f98a2882194c9d816c66a3565894b9e5365ca11fdbefc474c44edacb907b9612e0fb6ed811ebf90ef65d22fddb3266838d99701cb1e1ba69609d660b9d9cff2ec42a46ad4cdd78418ad7a4c41a4d233246ec6277316dc642584a5c82ad954853509dc48d4da5e0946cb77e3e29d86e86f1ccac680a81308899a42b1aa5b79536efb18d92565b03642d87c35176553255f79af9ea24c7903bf1d29388290be33b9d6bc7a27c5a9160728458aadd503f459e31592fd2e728b4b2311077d84f192950cf669a6797a9562e6317d7780d3a5974b9997ee9a94e9b263f518851bcaeaba57810e78a564a11bdfdcc2839fe52c8522f2aa2a8829115e9d88b4cf17ea74706fa33622c2c83854d2ca1adc33d1be0580311e933bc4450cd7c4b7d50e056f5cf6c07055092c6ec0bc0ee36a6776276726be8cfbf25765065a299ed109362139501147aba54433ae3ce13ff62c053d56ce525793a2e28b5e7200d50f59eefd4095a238371bd05635b93b2f9dc29c845c359480be81dc63c5dc594b9d1d03a67698d64e357e3f3494077bd31dd818d326e2cb7c3f8cec92d072f6f3866d2947fc5b6ab352f254831039b1a2feac0daf2bcbcf349673e2d2a45271e075e649e09b665947065cee03bb2219d1930db0c2282cd5416c5ba864ae4c3aaccd130e7bbb141cbffc1be7c4e9a9e18a80f4574201b04fde30fc4c1cfef9be79edd307cdf27ca3ba482862c4901872451ce402f0a69b204f56312ed9f02399e492675e85875785ca4db2c3f40d14a1c8d449005185dbe7a94d24e5802814f42d5477bf85fd85cf3d5e78477a994ae7198b0f2c182e7e69eaf268c31464258f6ba090e9a1186f12486808e7adb5f6e528bf8a81f6cd994c060dd90e8138231ad0f941f689f04f34305a12203910673454eec654bec6fb69013e1f12f1aca3906eb9c97c9ee6e892cf45d21614cde6b59e89bf001c3e39b43aab52dc4e12b791a0d21fe35e1fed5ccba57a24e9ab51dd6512fcb5589d6adb124f27e40198612898a8396e120f98cedbb7d3e4582b438c155cb91185002919d82ec9a02118eec5ab11707164670ec7a55e807f805e9f41e62c58b1aa7cabdc7d163d0caaba03c5b504925a60a63806ce375341f7cfee0bef3c7891dd9e3c45d3a3cdd04c79cdd44b8b9384f60a01fc4ed0faa059fd8d4aa09a9d7315a2498f609acd4ab24d0aae0f54a12e6760724a1d044a9e9980fbb9e3942277e48c47e425f96a09b50b2753287ca521d88a96238dcb14b0a1d5dfa2a5d083d2c71d03350f5215d56e2b112c4575272d94de8ed111d4d9f725e8977f85b286eb96a61255be21fbe0d793a21d202183eb9df1ec0f22d940ec5569d69ebfecd46a8a7f466e2c85e2c1a0651024b810888664899bc78f7292a4966de3251256e06547399b8e48423207995bca6086a919ac843cbc6ec3d343ad2bfe04dc1e18775f06250c3a052a2911d71dfcc33306eb4808babf08e9d9f9096bf62102a11e9fd1b51a2a8efef4f27519009586c4f3c03486c80d8889db87b58bf2da9451d47b09c494b12fd2a1145b88794e6fa9788f0423b6452fe2fcd682d05890c95a2dcd8cc7206c433c5df30f522462b66f5dec79aa43ecf5af9a094db6938ad24622ee72206177c70e10127621780f0980ffac3184ad496c4987641c91c83bca741749a804063c13e7ddaffc86ab81153dbf3f43d21bcfdf993373ac018c80f47b8a363494a751c814f0ae26a8f898542c8de13b4cfccbf037c1cc0f038521311f4dfc66211d93be8e56b86846d71df183db72b5c51f7272d24a1b1df85dd8e8a43937da2cadafa2e48e1235521b4fa22280957b1f2071dbe3f90dd3fe78897ef1c558c03f3a5584421fe5eaf3fdbd500179f925d09ee21531e5011e994a3de0b912138ae849dc2109546d98fd51ad915bc0c874f9794c20cb7c29592d0a73b15c9f40ea425b26c4664fcf2f1640b1af63fc1e5a36ee13840d880ebf545119c440a245e919db7a608903c4e6da777aaecd2b18220fc1e8086acdc838fd0f0596ee503ba9ea17acdab439f3eb9d9abee5bec036267a7262db216f738e141b57b21332de222ec7b9fd306d3d2a418c32b309400b162baf21e43a1ae782d0d39294cfc2bac72eba35d037df3d97834f0e091603ac7f55a2eddad0b98401e305dda2810645c1b4802c9d2061eed3362f19e6d6cf41b9ec2d3c139cc8ebaa005d88cbef476b25bb49da024e1395c821dcee207c99a8e05ee8e43a5b5630c44d3fe97183f92dd0a76f1f325fae6e53955b44cf80549d844f459801af847f43aaeb6357efa86d45ffe8a2aa40cde94b8d4407bb732d0deef660820c775be38615bf4c589c13a20ce0e3042ccd6b307ea2570ff1a1c6cd13eb1fab094e01cd7871a89823f00f641876bcceac6a3f44964185e5ed4956280d6903e8f570cc09c02d2e241dbb300972d6deeb50a4c22e3a1270045ccf27282b094b4367c5bc850e1e7a69c3784c9027ce928e49f487bf32c8eebe4b32ba3de1cbd08207b00e433059730e84042b44de85a35ec9cade2c79d06460c215c0450d780c954fe9c69ca051501e18299f2effac08ccf8034662ed3318165bd662a1da9dc870cacf3780912cd7a87c16a77b4e36146eb5ec6a473dc539630e112ca4f9b5039e5b9c58b4f2dd8889fae7be2e5f737684b51032e0b040c4882171439b007a948d48b88b44723c91fa6be88511ce97395fb3706a50d4332b5319140c0200befd7ae81cfb840560c5ed0f477001961612a428b1e3410a2808a95f94540062f8231cf5d4e3525cf73f1191cf055116dd03a22325d42aa17902cac54a3b85f2621a95677d0cb62497400b8589923ae6d95a88c206b41a8722cce98f0ecc0dbc18caa47416b09d696f9e6b224dc71a861d1bbf8daff1d67f32b2da7b1b80275f2e8677a87b4ae2c39f5939b9ddd06158f60ae74f8547a5a61a889285fe01e071acfbce6c0b0479983488e11f105ee930fd2767f477c18b15c1cda678911640a2ed70cc75d86ff830c6bd6fe296a00d5bc577299d74211bbcc3220d73bdfc02ef69413d4875e561881df4e990ffe68abe41e4196b34c528d30ac56fca6b613bd986be1b27266a98d6b24ae3ace7e0f36b72db6b0a480da64cfd971f463213214f65ceb68806d51711b9cd91621c0ae1777e24bb8bb428f79e421c963beaffb2328b5c518ebca66c1f5f9c9be991f71974535421b5a6044dd75cd0c7de0dfdcf28989ed13ad4e181714c883d9dbdacd80413f86ba56482e9241f06897b90b740d0013888679b1776b5082a7d5fb2cc7f350160d99e43cce5bd750443128e30137e5262afb62998645c530fe866c398d6017a43f51a920c2427920ff2660509235481a39926531c1444e66b4787bd92068d795171774f1394a6c4e9de5e7b938211c7964a63d42724209555a27b450745a5066b804bbd0d4d91b589071e7cdeff06a5d3570aa16ff978bcf98ea11b8ed35416766fd07b002ba22f15103009ba9d28a05ba1bf455a26644a527e26bdf170bc9a9c7c3ac903c8222f27170c682e0878849466c22c16ca7147e178d8fd9ca312508a1084e53427177fe663ba5b00309125b7ebf4b522651bf00dda7f566176c356f5e5454bb4686dc0211a221feff4a71c8de5b4788e4a62a7bcecf83ee723e2c23c4f84e228d83ba6823f4e1c72c5c1db829b8f4053d18154ca0e4586f221bb687c16cc09615221d4da3bf876991b4172e5491af60a86f7925f95bb83e9e1f3c99c728f32b4e1aa1f01516b946ad23cec1969fb09e61653ee77f1858a403c00ebe6698325244d442be66a5781c78e7695a75c80bc06ee212070047209d2bef7807f61196c1d85e6bdde22daab73dc3c6371aa623b37e047f9fe2504b5b9a9d1164be46da0e824c2410ce84d6310a1a6b2f9e658c5b95d83dffbd372fa7f06745f338594d5f03812b056a3e68f27c63301d56a34e04703a7a161572dbf4491e0167da6d1e158ec037535b84f76d4bc86cc11a89b53d43c32f19d98fa89491fb6082c0c006182e1d025f0ebe713a56cdadc8b4b3277e51adaa48c8ea1a3224798e03175c3363777a463137137acb8767e0cc65f61fc3b170cfb909d74d38376b73f6e77a52aa9bd0c6cf3a7453ebb3a0d69c681b4634948294e822de83b411c831820cfd76867ee1ca0558583da2afb64679ea50c2d0fed9c00aecbac74109b240c70670447c233abebf01769f0c463e871598cfbbd36dda9732ea450e9bc2c1ae60d604e87901fd9a56464937ba78395df58c61a12c5d1da38178e8c62583ddb503f4645d2061b92ea8049fbc8f1df9809258e8aa8eb7ee43a567a79521883ad4a01bd62eaf41c8cdb576bccc5f1f1a00a2aef274c234a85f9d95c42381124054aa32d5ac751cd97203057ec03e56792c9796051045f90fe0cf6852f57407c0dfc46c161d8247d3593153ea447e204aba3bb48d469a213528de968ad93837735babb1bb234f47300a69a4755f5eb2869592de37a4d1f3000f96cf46ead039d47ebf9077698ffe87b857c5519da9ab804e1414486f3ba53ed6fd89290a535137fb0c1304e9ca2d24153b268bf9a125809194e31b0283c7d2e37f33b9b47a7379fb91af8ca3e4daaf6c40138fba18201bf3a0e683d3a0ab562c7b0f0654ed928b5c04c6465bb8bf0b1fcb5037d8be61ff15713d0b98395464963b37222d3b24fb0df8beac818f88236915f024b4c84d095ed48306e7ae8fe1e38d8cec119f7b538ba19104b50a7acf9f5a34ca141b160ad92afda1bd8fb97e85b157470eafd1726d9c4b9c1bf34cd64c32c0c4ae3b287fe9056557b28d22714d129327349067a9aa469d0cf81ff590d96ab16232fdc074984b7389f6f40eacc2f19ae64aa54574b85a255d04a0f13b6efb15a02e0ddaf71b227efded982b9b25ce08f0f582798e248e7053ad82abd5822336dd821a21e4639d07427f5fce55467e71c4bb8da45e766cbbd7da824e35476c217ad5d091cd1dbdba854b46e9fa71566328de188df9e21b9fa5d8630c78ae9774e9426a1d4c7e342c4541040ff79acdea97a0361d759110d41a6ac902ff7849601e1ff18203fd13067b7bf6311cecce75cb5676a219538e8482dfaa4faad6cc59c48b30140482738a5913f391dcb2225d13d3596ffdf3b5c21cdf6e7abe4768373c8f2c28985bc7c4b09aff4203257cd07dd1e6e427537074fd8375e80251d6b8842cfccedeb2f16deb931ba08f2387f5db7b34485d938901c9bdcde54e383b8ca39a1a52cbe51eb24c0e0d6c11ea1c0d002ee3a636ee3e9733bcffef719bbf8490b791865c950c8ebb8fe0daa778c18bbd73535427ff987ac9b6b5b3a0b006547147bc478af84d5939c1b29465d117cb22393a9356eaffa45eb3fa363e85d05220652953b09bd00bacc659a680824de0c1a5ffaa0e9a4cb58e9b9b7eeab8fd3ab44254b2e2f845ef5087f4c0efb0bfef03d480fb346dff22e313e8ad69e91f30d6f660626bf7905d09db6ff6f803d7c406f3faae5c10f321940e4af1d96cb58131081d003f9d90e8652a4490450d1fc777c71341f4b2639ecfbea2755fded0d94ac75b99a9fcb60eddd727be0247f9a9bb86b5a2e33ae766cb9faf7edaa3e4c4f2c377480da9c8995329a5f1ba8d2824fc057d2ca89e0c78bd6ff3221663a6d03b4fd459b122639ae90ed50c4d572a45df751b9b8349764353c31d091e2f99c371b1ec1aabc58cafc9cc2062a698096c4c310f733e8cd7fd2daa783d11a282e2cd3c012c58e260deee7036b9d3601de9c64c41a98273705905aa1139fec367e228023cf722195b7ff313e11b57701b87b2736407ba16aed18a48987471f5f74772e0b6709c7e5f9a528d0ed77180fef5ba88c76e4d2786d6a2c6be753f4da8ad84636675b67c00eaa63589af9a521f1219334511b071582959c901793946aae4bf085568cec16852d2773a9e1eb07a845cbb4f3b7b313c06f9cc0283f8a9c7395950fc61396089d3b9c3e5ac0750f05cdff4edcfe5d74a4d615a634e9185a95ad03ee3654f3a7ed12401471c7fd201f61d83395b51f9fe280822bc9d26a0aa579b7289c4ea29c9e2aab634427b4a47c44a61ad9503cc906b15d7f5a508c436f0022b8c023846458b7734cd517dbe95c2b8e426a85625ef2ac3b9be4a35714a73923959ec0cf639128d1a4d9eb02c9bb388c1fd542ac536ffdf9f726fa1085f2354c539533a853648d82beb98721d793b1bd743d0cda2510f745fee2d003c8b50cfa377dea31cbbec0e4b3dea3da16c14885741313b77573983533ed55e72171db6bf8c1811205083cfbc0a796766146e7ff764d84ca01858758635e5a077091e34488846928f38e1191e91a59e666e08461b5e90d49fa27135902230e8c5aee7b0a258c31a365b76b6a059cb624f8f39ed7be715934e445b58378bd47628abd3234ee8245d3becc312cbc9c08296a2af5c8feb1088b628e9a118db3235a24abeb27d503a0bd04b456f5fd522e4368d14a0ed3aef75aafc33f7d35726a154ec10261c9f42f527c26407d6b1fa42c559af66c058cc5405d36e724738676272374540b38ee02a63b20db1b8bd7b485baf352568c8daa1f3dc58c1a82f9b4826f22a5e1f3615b8c761cd6ed8fc298ec67cd4d37e71c17f8646facee883adb2aca16fb57157a36d55b49341b1825a248252a2ab6248cab254ede848f950da0d46821f7173c47ec656d6fce1ae46241050500a71c0494d53d9d479668d9cb5219c094d5af8ac1e5a719909543f3ba65ccb2bbe4aeb3147e4c2c373aaf9cdddbbc763ba8682c730174aa71ea2ad37ee1f8f3bc2f6c31b7513779430be3c600506a559739bdda025d70d1b21c4ffa85eab4933864e17e76bf7987c204cac35922f18c1e19a62044f1f0183eb155e13372850acbd2faba58ef10a733b06c3477fb4c1c5538c378ba1b53cd2db2a2c1b894c18ab5e0ad1902ce4a8d4cfe23ad6ab5b88f73efcd184e05552a1171fdca81b35088421e9591ddeb75364beb676c1b1d921e10f5bcdd181b09be7e05e69e0e754ccf319a5fd3ac03c0df2e446962c7534e96b0b106b8e5cc89923a3e51cfcae68b913dd50ade2c883d9f7386f769ee11dd381b9d4b0d8c47d15a37f498f568ef828f80f36e6c1932f973b60ef98963b10f73a016cebe59a22bebd10daada2c6fad464e64b239510249b03ed3dd7ba9a989d1234d7755129d9430ae37d75489745970391a440dbacf191c408e1a78e53acfa361eddf61dea59eb3de4ddae4e2b744eb2eb61ae9d0503baef8b6b2e996e0c741bcd3a3a014a7ff838d6275b01610ec61cc3e79a1236887098c5324a018de8466b093b433daa136423bc5d90ff824eab0bf24a761dc2eed451bff58c419bb094f36c86faefc414333b4113e26bcc76fe2a027da2d4831d25b10eec9c7d80a10048a30e535d9f10eaae1d9557fff088179b9992995168b122606652099f3fce78c259a6dde2ecec8c4c499c4adb833bffabaf3899a00fb0aad2cb8366f296065e50a8ef9aef64790be028fbc3f5bef2f676d69bb413f24f7d4ed685a902c449c8505c2b0bfc9eeceabf219fe9967c67c5ad4557d375cf3d4203f7697bd15d8488a497d0363e6c4c0f06dc065907f431731e3ea5cb8b3bb8fc240cbf4c1f9e0aa8aeb1929108e7a31dd8ff1847ebe6df591887bb5042749f2a2988ebdba1e6e9443cde3ae7a8f362dac243e06f15acdf40936fd894ba14c81354f64e11e10362899384d107b2e2ca7679b78ec051913ad936ee90fed02470285f2d12a5998ac211c867591304cf0290a06ffc3d4878474a02574c5f4e11c85ff433e3e2121d9a2430df3f30b4e0d423242056d0584c3babefea5809773f2ffe45696a70a48bb20c59f09b9795deb1d8b45a4931913e18b724f5cbbc9d9400d4da52d4ea0a5c80d9bed98a7d0813447985bf9e3f52f6cacaffd72fa82ec775e756dc0eae105ae9eba7103984dee6ebf8a72cf6a50647c8221aa3126c35eda235a29cc7e60a794b3f23033719dc64354df0309376951319f74ab28e30737df41e536ebd720545e0aa47c140a19f00b0373ab457c2489c0255e9813a5e9f333e39ed8ccd6eb183e47d7e8cd8db260d878556b2c250754ff98698af12e6f491fdd6d6b8426a34c4490cc02f3534a2fabbe2b61ef8e9c59464904d2bb727151a7ba014442fedb6f0953ef8a662e07207f73f5027c56b5a805b01ae3cbcfefd6fdd4dba3d9bbe117560e816616e2ce0ce1cbb8722f70b1898444440938ede2eb645ca2b29ffadf8837d2b3e1fceff36dc449a0ffc5dd94264638abf278e77974ff2e9141225a916a485212693b1707bd0e0658e071a0ff6d0c99a72799f179ba3edb67017f1317ee59d22f2d5852363da85de562a3f37bc96ece2c99614e9c96c890fdebdaf781ee38d0ce925f9bda0911a2ec34bbc1b5256e3cddec2a98653a32d55f9c1f756ed7edfd9edfa5c9d746ba6169172f0af03ad5f83dea58c525466c7a86fd13b93a243d8860f55a2a1fedc7f80186520f0a0190d6710d3b80f5495a97c7520680fca73406ee94c7ccfb9f1e0b52ee31281feebf9958b57af7554e8b17d4792f30cedf6389d9fa1f26c36233242f43d3163fe13d11f26f399d2d7708a4f3eaf42a2fcd1fae59da6b50a81f71746b26f8795253f893066802080ab87db2c0683776d1ec9fff2cbe042877c0f049554c7f6d17d728115e31c53ad35463ca01d39fb0f2e7d5448e2f5478f5ba92f17e200efe34287f5ca96471ef38b193f2381bf072d63a89e086161ef149078b8602147f6828b0d719d8df93ad72daaffea4d37e1f7abc9866d5f3fd6af8bb75fe3e0ae676326f990125cb1a8598b0d0b2ff338e70b2c476a263b28dbb4330bec3c03f69c39eea8f2cf87a4b50d1a6b7634b088d819fa6986c821e5132ac9b0b84ac0e67ec09719351c74683e114b575793e3ed698065670eb429b43c798000a97fe6cd7a9e595e3d3d4de5da2f7155518cd3399311339a120fa47c888f8f018144565d89bc93458c47a53e2b5531bb72e9c77a2be4f03a010d3c79c1d7af6be5de69242e43a4e24381ceddfaf5423ef774e402421b151e60dd2ff69350c36d901e6511886001dd590a307d1b45645d68f13b1166891bb22db024e13b45a66ff6832aaa5a8777484a768a5743f74bec505a4b4bf587909d36283b48ebaf9525c6bcce2f5b13fb2dcd32629b3da4501d7d32a68941d76ba6531d4f10d60f703bc8b51c2a8d7054a6a4848218660aeee3b5c0f243ef20383f94b6472f8e9aca2cd1ef6c252500a54124e31809f31389bea659086cc56eb9c6c78c3b3cd4e089da42ce4aa02f0a7c84a035113c0a1f10064aabdf6037417700ae29d3045ceb26f9b2990e16458363238c038593adf7a7d1944d91b459851a35d5e503aacb5e0aaa482c256b5e1c7fe15a953e00aed762d5b858ad35152f3ef1c98af7541f10894dc15e9a93ad5bed949bda224f75be650a90be5bac64df254e268428f325710d0db0e6a06dfdb9641ebb9dcbfb4fb2458c4e0e3e3293b773b2fd3528bac5a82e2a7a16683cf06cd745a658ab105ea3dcfbd840247b37d00315c9a2e2e692a28ad20f14ddbfebb50891d7b6316ce19e6853b97f98f155c27c5daa7fbb42eda6a21d41d8277cdd6fb64218c2f838007fa6ef09fa2c9875ab746b26a709feae6e52af7d2279c454b17253d2ee8e4a028383c0f87c54b800f0a52386d7a377bfada5bc9d0eebb0932c37610c7d5ca8e20e06a03a3eadc67b6c0ea542dfd22e626f7d522edd17738031139c7b2f9480a68b08401395802402e386f2ff4bb6ce0e5f45540acd53f69902ddc827ecdb0741c467dcdd3cfcb634427d27af2501777d0009f18003094bcdc472ef61a0b0bbbd12ae46f4d0a4fa883fe5ec7b6e15f7a7a147f71dfc86fc437f4d581e7c98032d4965990dd601903e9e49603302a9ef3fb3b7ff321f4b3710babe30d7df827816b6949f873dc57cea93f7232f4eee1071995b88a13c87d4d06983c9eb65f1142cd50c025fc327720458a5eb37707200181f560cdb2508d025ceab0cc1d6d13ad03e47f31f17386adc5f3ccaf0b886c83909b083a3851923d130035d11362e4bdfe84b7740ebaf47c7d2cf9c34d73eae05e078ac18655e77e98c7f508add68dda8d09072133ae2c95f82ece7ec677715d2a1e51904b5c1e571de6056d6b15cd58a0bc609d425f287e91a7127184f034c2a4583111834885f2311185a0b4a9c0bbcbccd2a5a42ac19b4506029e2033f72d4888fa498bf03927f4a221f0e85fd592ec6495627f5fcc4c48bf6aafde5c4007b69656e38ea98479763de081b504444378b8ad120aebcce492e7351b99c8c3e8f475488a8149ce6782fe554c2d8c627611939f5dd2844c5c1189b5bea65a20938fee0d0d18f3b5eaeba2ca3024143cf7f5a4039c4d04b80d12342e4b03178586eaf6e7674b97025a5c1336cc98a222d0493ffa9efc98521181423069f619cbbbac15f6c6c1feb32f9d3d3f91448ce141264ab863dd239223b2171c2c01fe3e250bec192db0d6283ccdb93a915e6e2d2dd4a597a35b6409044d44346fbea7ed81c9930209760b2740148d4db7b9e01cea5178866b964549eb12a9c7f727c225bc8deb058a1305195340260659c635872499cbe32dffbb58642974b13ce81b1045e2b83ddcd4c52dd471ab18464c740ce98bfe07a64b55f6bdd0a1d0014a9aae21c41c1a026796bc0dc27cc577f652b9dc80ae6c92de31d7c9b96d3ac7deebdb8cd3d50a9fcb686c44a61827efa17a378c328d390e60dc21a398bd2a43151db3cbb985ed365c87aeb28192d2418c10f4529b44d67f028f12713d431b917eeb69e12725ce821b1fd2e20577d9460bfc3638837f36167299a4936caa6db17fa3f2fb3740762e5fff14b576674ad96220c256a4f006a6c41b14a1608dadc59917eee5b99c950efc495ac82164c137014e24f341f23ea8211f6dfe9057fbc0f3d58c61f3e04f4fe1f1c1f160448e65382110a1f10bfec9332696b8d46cfb511d15dc087347a8d5da09f479db2e52a83c5c817d915d4f9f51ccfb22b674872bbc57857f860f7fe8246262ab275ae48b3ab33c4b98d657e851ca94e4d707c45c06214953b303b4d48fc528ec667de93a335d985714eff0a6745c29c0218c9e16e63b44b927c53ab619105c75078a6e4c45d35c385fc272a0686ca9206433356484f50ae6640964783e6ff9f789863a17f288edd7ab4de62f3b08d1c7a645d0e9101b062ebd0448b8732a88195a8e62f5b15099405c594bad87568f6e2329ff30bc368502b80dea3956c1e264cbc06720e4097ddc21f735d0803bd5405c6b469a3fb184436ab408fa83d03fdf274e2eda0ce9d9619ab56427ad5fe7f6fbb8a2a6cc026764209c2bac5a30f2a4a28959f46a0a83d6f970a93cedc243937ee0e0fa8161dfeb63e192a42286a58c66e95631427fa47b6b844d48ef3214ccaa8174212e961004d20b26d8e21ec0fc416034a91e67c55205a16a503e5ad8315dcfa34767803f166512b71c90e103152678a6352cdd43bc60a191754ae5ba303bb0c087b0280c2051cd31ee4f5010997be04fef14038b428efd6ed7739d80e0b56f98dec4db69452a694520ac107a8078207dd8203a9bfceaea7d55b259bb348847debfbb7f7f6df5b37b9dfded375ffde7258c4f6bdfa7bd5e54e38125bcce2ffc33ac682b9eede7d73b33908d372e9dd6c63de7fbdef7adf5bf4a3239bd825c656d4bc71cb5b582a13d9a4da91b5ee2c128b935555d7e2cbb138dddbdb4a97fa63dcbe82ec57e76637862504e34cf599a1b714d3e94b88fd218c67bb21b53e21a9be3ff45fd3a745218162537d3f12f8f1379a1922e9f787329266241edec71ff22f846a67436e71b6a88745c127e91bd949bade067ef5a2df1931923e1228d623a91e3e1228a2ccc63f3e129266a42bb3a91e662495566613df1f896724cd9eb5d0a3e2b31992643d7c4591ac8cc443f5f087540f3324506cfae323f1af7e4844d21fb79fa17f02bf4ff0432ffb143f2413ca7e501f1eb8b700900439449f24005ae4f3fb68f742d804df7d07d854bd7b224ed5984e659f60b24ddb916dff2fd936721ae4b4cd36bd32dda67054bfa21fa1afaaaaf2ca7f04794b31a80bbb068cedb04067dc6fad02e5a102c5818b00129d4cf721acc21a8b18c49c92e94443e88c6b8981f4ef161948ff7efd2eb9ec87e5e99bd7b10a4b65b60734fdad8d528e46ff9a46533355276ed6b24436fbe893f603b4dddb7d688fd0ec8151bb231202d4a7d0fb73aa4f4170509fae8f9cfaa9bc35ceee4f9f76b43f3ffea117c84d5353b5c7fe680d89c674214c7f3ecf737f960d2df9b7645b84591d7cc4f4af32ff976c8bd35f8ef8da27720c9df1df7aea571887a13cfcadd51e28681c2a204d03b9a91a71863046a928085759cb132fdbd467d9d0938f9dc2f4b5c2f4d5c2f4df3aa6f3110ffe28c441d3ffc2949c62b66932dbfe7a976c1b89bec545a328d74fb1324e51e13d83533ae3dfd284ec67ff203a462947a3eab77f3ebafd9ecf7497fd03f21b1785e163650a16366dbbb115bec2a69522c5287e991bc331f77f26363595132595e3640e6052f982ca54c0542a5f3831a54832b1b049533974ccfd86833b48676ed3311768ee9f21b7c6b2b1152c9ba333f7e7c217205760c29acecd88fbb9712a682e0698c8ede7eef314367176b1b63f6215b9010133615803c01424ff26fbb452b4b49f9afb413d4a7c9660735b2e72ace86099bb0bc4c385ceec4329e4b65cc4b95c680f9d4fdc3bf644c9a3dcef0e9bf4f7d70a3eb98caf70697fb19dbbbf3c6c52cdd8ca15f2671151cc980f312173fad43f6e056771a6ae122c0e0491b04836cfffcd60a57520f52d3f82b4824f495ce052471d75d481ea37e251505a7e7fc78e65893287597db5e8c7937e4b45cebd48f4f222f2d1224c3e8b76d036664bf683e8755a0f3ba25aa0411b384166982e3d5e48f5e1a17a79f92ace977fc936f7f288ce04a2ad4cf722ec07f73b5be08edc76ec3c51f2a87ef95663365cda97321312458681440b266f3b76d68635f76b857c21367cf2d43537f571f1612db52e55e6aa66d5baf4b8483e0ca653624576c2fc0bb633071fa21f3e58dbab2d1860d86161d5f70b76cd0eb2e8602b5ea10d2c6163b6b858f1da1cc89eebf233f75b6453b9163267c74e48ca8e296c92bfff62057569df0a72e9b1825c7a5ea6284d8c726dd01e53c897dfe40ba61306dbe9826d2e46a876603058ea2eb72e3d7df2df77f161930ce4fee6a2c6dcb72cacdac07bcf4836fea10f6547960674f82085f2bf41f9e0d0163128e953f51696162c5dda6f71f91d3b3b78b4c7cbefef88c226c65aa60c4dc86dc70e96b9efd2f3b22f99c4426ed2fa17ecba42f6a90afdce4db9f448d3cbefc3e4bc54fff2f2347d0afd0c3d3953c403a38474699ff4f2d5dfa044221bffea5d7a5e8e587300a550fe92f150a15c7adc68478ade05b91f3991a277efa90af310e6127329ac6df53b76764899fb2dd816c392b92fc2b04a4816e44693039be2097e0eaced1492e74683296a45eb045a213d069c2e5d56e8b2424eceb87e8beeb2423bcf60cd53acad53616d7bd8c0fb2a23d954efefd9111c88a0450a55fd0dcaf22ca4e3e9d2e3d233c281e4b969cf8ffac480c39aa21405e7909eea93152b4f7d6aee5b417db2b21d3b5dda0fc5584999594173df7520755acf5598a262c409a176f074691f061db9edd801a2280643fe72b6c91d3b3358f19b2582191ac00996a2d42d924d7644df0b69c82241e9bbbf41598c01717d2fca1a1274a68a82682a0a27b3b3cd084f2fb2f34933a6a928984c22f8a6796760a9cc66c9d084dca0a716a6b4901b4cf184a93ef1fbc39e3ef9401e98625314e77f2fdb05a8f7347dea7f3e789bc8855458833d30d504a6748c9005c70954d650820851708214f2d2428d8e1c56c0420b2e0ce1082e44b8018217725c3045155e1cc1464b17a22a2a247ac0440e98780114bc1091910696b96973650d9bae49461a3f73df063e316a7388274769cfe8b5077f9fe686f8cf1f0632aabf6410850ce6361af5496be6289c983c59d322f631239a1b9888236409238d2a57949004145b93f9611c16a35d6a18b4909b36f7351bf69527fb601faca92894984f53dd4e8aaaaa952bb8304155b58545b1ddd4de57c85255fddfe4a8332c846d323fbb86f94357fa32f55fb64997e90feff66e77a157a96ef40aa55deaee8e1156abfaba6597dc9dc53ae3fe659beb8cbe5f977342eebf98b9bbc72eb5145dd1fda74b3e1c2d974b45aa0e0772dfbf1a237b7067666de567be2805b9dfaadad23120ebdaeeee8a0bb91f7fd4dd1d193eff5e5db7ee6edd3b8bdcf7dfbaa167db6edddeed2fbe086397f43ba821079e84e5a083ffb223721b82e749642221f650ae5baf4ccf7ee8eccac4bc7d7330c5797210c5629e1c9461597122c5b76362b080cf9829c898e38c29c35432e6e099964b8770e09030531f48242df0ef3fe2be33d290ce502b12e259ec928a7e08d12ead0f416e2f14fc158362e3effc2d47b9caf4f23aa196a5a20d541fb323a1af86e0b1891fca8e749537a0c041c5b7fa595403c9bf39b6cbfad2b2ad00c5a21ffe1516150531452da616f07fd90f2e73e78dc38a164c688ffec2063d3d543435a526ca6c1a2be6cf0de24e4d944190dbc89db069739fd93ed57d7e5a5fcb7633dd4ab481a5166b4f984ce64ef1132826bfb2e465c77962055f403a9082e57cce9f4d01d04c7566615863156d26e3a0f240fc058b64e3a4218bc47f1d2301e9ef8c8d7012c58994c94e78ba534e78e61231b84065be4c15630b55f46561df1c3431b5c54c97b9000c82dad8820c24da10020a00d35f8ef18232a6675bcc80a09923d68200338ad1810b244c696a2a074b982d53535434999bfcae62c1288472aa18f1005e89618a86a3faa28509fd46cb126211525fa1a528179c6f1c2a9248e9a4a0507537ff28a6890e367c1af1c8b049534de0d86ea801729233374df1e080676e7ac66c961aa77664938611c71b8e04694816e92bc71566ee65ee67e64dc35219d29023eb060feabd7b2316056503f0ddc3ec480280509e456a690a35a6b0624ec1646a6a8a15b37f666a4ae789b97aa2919273451935d8220d3950fdbc4b484de92831fdbbb44fb0b453299f69a4a7eaccd6107922dcae5ee1bb6fec06f5f3de8b325ea31f895eae975048a3d1587b76b415f3f0b4887eece86a8c64d31f3f66d90dcadab143f4c3a3b0c6ee9cf3e75276cc703546f2efbf4159110ad6f8483b077de212d638e6b05683f9e812c725710914fc844f11b50fabf049461d2df1472a547930f9a58a786811897e38ef165da3eb89426f3d510f15ea4967313e5155da03e16545e76274fedcf3f79c73e7ce7f3c47ba2ad17bab12f550a162cab94fa8d18e13e9bf28ff998be9b8f3b8cee4771ef76c8b3cef3c2c430be47b284312f91e0ae173739ec9ff42a21fce6968a681061a68f0551a22cf626000c942598ecc902fc3a71b68aea8a9b581a53fb977272f33e14e7f55dbb111d6543d39e7dc4cc4de346f162b3281f95d236bbd7b85d76ce35f55ce56596714bbf1652d58aa3dde7bcacb18cf1bb75b45ff6376cf6e31918287090dd29748d20ed3bd72b71cdf2d53c35022c7742ac8c6b24dde3ee93de7667fc3e133fb3d874d4ef8b432006a397a668f924c02ccad819cc9ec7f6e476cea8f615368b68361d3fb86e3b90662addfb3c6b20f5f16a6a1d90eb22d6507e1d128480f8a0aa273b9b0ab84204204091244b70810f7fc401c882fb7facf79b3cb0197130c97f63718d6e7ce266e498214c227bfe79713fd70e8dbaada635f5e46312fd3568c3bbea2052f95991acdbe1512fd70114d672d4f58a91ad03162cd274f01470da4b0627bb77367ef8eee1be3c7f85dbf63dbf295c407595110519b20884ecf82e8ecec066e43b9e273a56567ddbdddbb57de5f97cbb440faa8e993d4585bdf25f424b9a4ef8d5d5ea59f9f4287eaf0f9fd7793d825d8e4ea9c8d625cf0344a737149dd759bb191a69a7805854618e1ab6e394c18b3ed8609b3cd8853c0e25065fa4f4481d0ec4c01cb23eeaaf647c91a7726595399c30be4a63e9ba684f42946f5f1d1bf61baeb19ea394cff1bf47da73f8b7e78639235a054cfa4999a7a41cea4011c525899af321ba7269be03bd6f832986d0b4514084dcfae24defb5f4a9c75f25f4b38d10f8698eebb7d1fb1b64c92c84df5497b75d8e4444657e592123e294aaf2416879daa22df9c538e094b39050612a39f203a312858618e58dba954a420658e8af8549dd119ee57acc8d631a3cef0cfe02286d420f86099db15b587c6978b356b6a107caaccd16e16ac911a725f2f6bbbfbb79d7bbbf7be0ca3afc175b3ec4cba78c708b76eef765fd5d49bbddb9d77b7c76eed56b8b1091db080ee2d7c987b10bc7bfd6a6a696510320e11f735eb75efb9288e0bf8dc736fb8281b85e6ee81a53de009d39751e598d488db55af55fceda58a18c4b00fbcf670085f4a20dd759582e8d8b4df1a2306b127da0342f571ec5cb0f82de6d1324a7ffaf47edd3bfc99fc0e6ba038618f2be901026703e90cff52e1618a7258c49ee816beca2dda370d34f91b88356e038888be61ee2bac8543d55da5a83bf7f6cbb97eef9c73ce39e79c5f61391644675bd1197dabfffde65cbfebffa1611e76b5280b742e8bebddce170b82a6ee14e47ec7c6d4bde1812cdefb627586998abb7b1b8df1dcdd059205bf00b64ff77489bf4787ab7d584fae7b7aba072ee124f06f5f42f8c4da0a6b3badbeda8acb767fac00e109a54441f264e612ffc80c69a5aff0094ee1124329acf15b40ba2e2b5b4b7c9d496a75dc7bef9d73eeb9f7a2d39ed66294237ed668540e309e13425e58ac4e9f9687e73921b7e5592c6ec08385c3c26b3847d3fe475d90100a3a939deeaef328e3fbe04bd560cd41eb12f75c1a9f6a603886657c268ffa040497f8898c21611544baf2fbd0a75da23f939f13b2099de10fd9406e8a85df089bb66d8208106caa9e3f886da2c22ed6a28c6af16bfa444454a3cdb8f9301d057ac227d22751b68daab6b22dced801e880608d89b0c6ef0109c31a16c91aafced401dc5c1b8b10d5cb8b0c73d3a66b9e83136fb6434658cab14b708406ece73a68c2cde13c4ceb12845f75f5afeaeae16f57ff5efbdd0fe977d990ea5f56d325f84b40e2ef42fffe656cb0610dbec548a0d8bc0f3d12f7de2724cfc6dfbd4d88c4190ffeee87f8bb6c48e85fa67509be65fdd5a7eb21fcbd1c48f41e869e545d0a848ec684b0b14ce84013568035f8a20bbe05976cce84dfac41189a225d0a9b366d0a9bb69a9962d3a66754804df07df4e93dfc9a3eb987288da64f8a82ef68fae40f5feb5393841c8162e3befa23d386a948828521a470505576a4dfedb842da232e0eab3cf8e15b6a8a0fdf454dfba40997dbbbd019f8d511f0bd0b3df1a025f855f5f2220336376c6e2e65466b5f94b5185f6f74bc2037f799d0a5688f853f03df07c3b780445de0f0c9b1a3a98923f93d3a74a9513a748c528e46f1b7903ce8495587562a3c61767fa76428257d60d376e97045111d097fe81b4302c5863f942179eff8853a146ae79c0b357c1fec9c7330d4fc4262c82d2649fcf7492a21a17732ac39912ef9e3cc55b25c48cdb790cedccc0f074ba6fb2a895df20b0571a2603457d7eaf5010424d053ec9771a815110f8a821f021fb6a07150e147c9120e792137fdd91c04be64ea00d895f1f87ad58742ffaa7fefbdf75ee855cf7aefbdf7de7bef7de87df53ebe87ef85c0780f08366da4198608e23dd20cdac35d1196ca6c556abe6b99b096c58e8420c3988fbbd8e28b566297de5b2fc27fbf2cc5ea8b57499f5aebd2b368443d2caa42bd6fcc5ff341adc0ed53d5b6395864b6d1ccedadb8649bf6fcb4649ba67c5eb6f192b9fda63ffade6d3f1f8a95748ca250e64ef00ee6e329e66329e67b3cf33d8782b5f71596f31ef66c0e6bef5d67beeff7a11fc88d95ccf7ef7909366d71099bb61aa060d3b650ccf7ef59099bf6df2f146ce27f4a0849e2dfefff3ed6a03ddcbf579997fd50a560c84737393119b6225c482488dfea7d307715e1738d85c27037cbce067c2bf485e4a91f0a917878cf3fc43d691f236d46e281dffa21fdd7f35b6f7d6357b79080ec2c42dac9532709c51869bf7a455d18c9c2482811b006bf6a4c0863f0990b492403016bf0e1fb167221cc7e502066be8271e6d6bfef2222c8ee2cb2c6bcdb7e63a41d1c07070767eebbe91367ee8cd5b6d040f27ee889e4875648329b889e1807c53893a57855c85521f7fc4914e80e49f13018aa5c8cb0ca73ceb3f07e69b01bfc06bfc16e709690550586436e30fc0697b1449689c9bf4b2c0ffed0eb47fd09a24fb14bd78ff7fd561992489f1ae59e4401ffc127ffb0c97a7e217cf2cf35ad6c53acf15768c418a51cc5c83f4b2c0e3b6579f0f3dc76caef923e314f97f8a5e4a4747a987db4cadcf68cb93d4b85b5d494c561c3501efc3c86cef06f0b848b489f1aa56f3537b73ca97e4543165565478840c58c77bac41f9b20f7b74d9d60348d8c7c16d13a66bfbe71fd9660a98cb321f72d1e14e54c90bbbb19cb6c0cd48a66022adaa0a28b22bec00227c651eaa050460e5e100339ae60429afed28809a7ffa84f581245a8820a5c5ca1c50e50fecfa619a6bf0683e96f039b7cfad3f4e98667074868010b42b8628613947f0d9b6498fe3e9c98fe12d0a14f373b52a803093d8803e8893950fe42d8349afe3eecd060fa77804d4ead4c09a34d4d3d71c284616aeac9197393bf044b65a23b4c51566559212b54c5b8288fcff9c5ae79d4f2c11e1d42e89ebb6ca0cbbc1b2f20df737f30bee7ee0fbef73221a2fb832f56316be7683ce7debbb4b41fa3a575191dcdcdc874e7dc3b09ce39e8e0fa841e68d5a00a267ff7653daca7e597836eeef75b8173af7566f739c73ab3df489c3e6ee1498433f4167f54c4e7efb9e73c462947a3d758aba169e9017b140e01261380581ea0392a52ab184109a043e8a07345a1624636e8aefaa8b630325aba8146025a72d8a551354db9732eebf6347c09fb6814a3838d4cea8c9173256c5a42889ddb688e968adcdc7192b0897d49df408e5675ab966d885964882ddcbd65deb70be116e7fbdd6c07b9bbeebe6f570876dfb7eefb7899337fbbbecedf11acfecadca257c360034214858a7d8a5ada2d32c4f42247a667dc1777130d989183158214efce4b6a897f83d1129b5e35fe4d66fec32e558d7f31578d3720e415372b72642ebb111970f1a122df6c7712cd133ec7d1a1e0bde79e8580efb9cabde72ae8e0ab1c840e19c6085fe66c62180477fe5c278b5889eff6b4fa5ad57cbb59dfe9835d4f15b91385103ef8340f381d2884f0c1c7f1f7899247c5cc062eb5100bac6a8e058e019ffc9a87f77b2371aece307cd9dea80bc3638c31c2b9efe210d0bd154057a500c6e88e055e467cfc9e7b8e5fbcf8640397fad503922dc6c111c288b4e67ea53c2e2393bf8b741d74ecc038b3480be1de489c95ce845030f95b4481ac526d5fb499a05b84019f0e05dcacdd52bd0faeb2384ac164576d7fc4a6d6b2f6119b96b3e8ee0afefad041f8babbbbbbbb5be7ce2865786f2d2c45394555f0495515bfbbbbbbbbbbfbab08953518d6dab7bf6fb6bb89a56f41f72408df6bbbbbbbbbbbf039c576aaf2e009b30f74847f7c7d8b8d248e489fdefb07b16f5b1d21f0add016b288125924b608ddc274d7e96151313dfe2120c84db11061d3168360d31603440c9bf693f4b38c5167394a2cf7f6eeeeeeeeeef6f6f276b777dc98ff11cc0826c67bbbbbbbbb7b77777777777bbb5d77b7dc7e4b808e0092633696eede61866bf46bb4ccdd6e84e7c8e738a42a097241d0911c9844ee3a63c173667b4e3482a56ff52e3b47bf76f79272d98d757d050ee79ebfe85707c5fc8f6046303130e67f043382899131c6cb1d4746d33ee6636446d5c56eec2ebbb172af9556bc445204e30e4463df72b11bd205c66504136349f9f2d2305cceddddf67ea60f7d3030e6e032b80c3938ba1a531f429f1863b45a6ac0576037d80d7683e3e0381888e3e039588e26f80a0c8404bbc171f8c09a56b1fc1b03e2d2ef6c3332db096c8371b3b3eb1521b2463385e532958c2680314731237535cc1f9cdb88c0d918676e7cf7ef3766f7ecb21f580872599f7bce332371b2e27811f40596b9c52fac8c3434773fa84ffc3d371bc29f7916e9838b68f202040b5466a533ada7de8296fabb7a91a183304bfd67c7fec16eca2fe68517a2b9af529c987d84d91fa55c99fd57175fcc7e1836a912667b1183a9e929014091936c9cf2460a1d70e10b33a8021840f84136377943114d7a67aea0aadc600d1d1b4081a30658af1223d688325ca426bb0e4674c89e9a6a9264ee68349a9aa222099a322c7d950143ea2fcee9e41204f983fee2cc4d9f9fa752918212e68a30b0454cbde1774c4944f93fcc867150fe8a6d44cc0d053edf9376589df9b2ce36226c24ca7f7b4fda21345f56c465baec89bf2a61d2e8e22cce549724c8fd9dda25fd1515798953c57298f984d00db1966f20a563fa10a216572c22ac25ab11f16c8c2f6ca3d9464deae7bf41b98f7de2b789cfd91128fd47f8636653c5afb248b2a9647683daf7104c0d6ba18c668e68b01b58f397c10a72532c29777f21edeee34d4822409c301e4df960caf424d3156899d07c0d73cb613a3b90432738b3dffa799f518fd454d426d2a5f69cc6e9523f913ef52ed938070b96a02511674a416e1be4831990906b656e958eab32b70ee29c2dfee48494f429ee289006553abb64c2544fa5f3c365c80da62a2a74a67fb16a0ae5d13a2d4ec8add299fd71a77727dbd96c532c539b5bdc99fdcb0576819e2e2d057541b70e35b9efdd205662f6d4e7205c31e626e303465938aea24274840f925841463ad890700ed10d240c51b0b0ac6169010d2564a88cb9c957038c0b8d2db868630b9e2d7668a24879c2b22a77f68edd0cdda7cec8ee6c7bceb946c6aca30eaeacacccb01f32336758376c6666c8aaa7e7bcdd5d67eeafae5c758fe4b0f4147f3fea09fe6652b52ee943cced73ce396ead597ddcdfaa6a35b39202ad20f7f7dd5bea549d6fda2382bb3f5787cf65715fcfe20e9f8be2f0b92ccff973519e83cf6571f85c168f12c5b3b8c3e7a2387c2e8bb661a90c64d16f9a52852d988899db9f4a9c0ab32c6b07392d29eeee7657fe8e5a3079a1aeebe038e71e741d9c20444f8860b9de8982f0bcfe8a55ab8ffee8506182009943c36479fca6e1e4f8e0f34488f3c74487c9e4dfcbca70b26da9e4b86c5b35a467383950f4e3c9fbc06a6a964a14fd801f454178f657578846e1ea744971589ce5c1bfb9a91fc2649718db2998ceb65226cee2b05d280f7e3526bbec0b9de1f76c63ee6ca5e80c7f15a43c5d2b7c031d26091ba5ef2e511ae6be8461c6eccb6834353ea098fb1260539cfb3a54c0c60706c13e9120d898fb46d864cdfd4db24a8638a2059309c780f1c773c0741f9b30dd5f6c3a4d9785ce746a52c074363160f61bb399974cb84e857b6b5f73e65968d349e1319dd359130157e31e0735bd770f01a7664cf7d676bff7de73ce39ef9687f5d892fbd0dc6ae2105c1ad33540679c73ef9c73ce39e73bee55c6bd3146a99d324e49a33d6510a1055928020656606142007393d3e776c3ac31420c333c1bb1b64e660d933f32cf18dae477385d284d774560912401d3b1d062ba10a6d7214fbd65cc78499851cccb6836d09c31fd6f60d31a31fd6b72f021011d2a20648de96fc3262563fafbd001102031fd45400488209e98fe46d8249afe43b0495355e84cff236cb201c78a1b2461130d4ad2d8256cd2140f9030fd178acd6193ab8e155f386193aab1d3c4f45f2bd8a44c98fecbc3264d417163fa6f1436e910a66bea8a28d37fa7b029351703726c8146116f30b10531505b9c2e6f988e838383b304b5e540c3260d230915a67f0d4b4088fe9811f5a4a8665301264f816ac1e3d5d2f4df30cfb0d27cff68660cf375f63af322d0e37d4dff7b1c1402bded985b4df3367b0faad879ef3c5013fcf78e859af66518ed80b0013af3a292f9be017af21d68e9fdab5e64a8990f420875e6abd11ebb1397c02ec44813d2888326e011a4545728f1d4d8895d44e1d4c0027d90f09cb7460c1ac7edbcf1042301c877be2083f5188123047549e30e9e60220248e8e992c6283c30a3981ea4bae5091a2b0a4d8ea822af19585868d2640dd93235d5648b1f486b6aaac918961a4d8ad003293c695ed3c28de96f034d0cd3e7f63463582a2327677c865cc001347f04a8a9e5fd79a8a9df7168e91652bf15fffa21efdf5f191228365646eab75e51ef91903a2309b9be07455d6ffd9521390265889521797ffd95911a497c5267241eaeb7dee67aebfbadec0894ce6cac77d991eaad3f12faeb6f508a52547c45592b5a218a506067cbf7a028f742fc707921ce044bda88915022ad4bfe2e188987ebdf0fb9fe6548a0d8b8b71e0969af1f623dcc90b82cfefb21f09d257226daa80ac10834996f5a739a79618ab230458584685d729dcc73b42de61c604bfe0ae8a15bda548c92cef85747c80d064dff929e5c0a2df957019d33a8f4ac3765392c11d1880800000000f314003028140e080583c1601e0cf31e14000c829c4c72509989d328c65118850c22c41062080080004208ccd490c80601a6417f17e28042870a5fffe83d3afd7681bbdd8662cb6ecf5f5cd4f7d232c9887c67b5ad724c84086869741f17449b4961c02dd6822d4808956d9c1cbc025bcdf7077211e039d194c7f05ebfdd03b76e8736aed61bdc8a861912c705b0a1ae9b533c980b0fa13a432dcbdb06d2ee894e0fc11f99c16706657f310dee409b1d2979c85927d5179cf16eea9d508d8b4460a563319c47cbcc0893182618e723cdaa1e575cf53d56ec79b7ce9248ef8c24c76921a0bf0ca80319b5437fa0d009006f300ceabfc888e5a207bb59c475ef361f280f6123e4bca0ae698d0591568d8d83a8283150118be770f9b057823828126f1c7a4ee9ed29d65b0e8ff7ad0fdfa50f81929eef5f6369594f97da34b96626616835854b604a7cda20f7cd98044973df8939ab57b1d010ed21fcf832db4960932cd8e08ede9254b2a2655c3286c79c187d0cce91513be4518673a2996021485aeac7fe27e82ecd911c3a625bf2d20aa380abe6082206b6bc8e1245265b8792197d0979169276306a443d4dec0b5081b8dc99d3b89cefc6cd2d936e1b0fad5d6c6a725357bbfabb36875bd2396caf25b6d7d41caf413d7e3535b7e72d283dba1a3435353d84468f5aeec43f64da9ba6728f13ccc33666069c9b8c7a2163ed7a4df01432d730ab9f36435d77d9225d89a871cd6804ba8115ad8aa9a48bdb94f1d97ed98676b80202161d168423ddb25fb0a01eb462685b88aa38e75ac5cb216be154b4e2fd023db9c374980ce24c5186622c3a057e8e69269c2d7a76415ac7ca21eb7d1b3246c21a09b09a7e53f7c772612323c17fb74c6f4d7582b4e2456bd952edc3a590cd7ea6428cba1f46d2af5ed90ab42a96c55597ae6c90bb09231f62e1181e892ed3efa2aedca4f1be5f691195bd43dfb8db15d3eb0a26986b3c4a71466c9536daa6e375a7d45ccd271239300f40ce65a2f3aa2a72d777eca138c25014c316f5166ea1eca3e910e8a9832e1d054ca811e07ac92af2114a2f7a90ace750fabe68737ff837212ff39a1e83ee7dc7c5c0cdce6a725e6408789ffd389fdb7aec07e82109807023a9e29a4521548da12fea3f013f2c14d6a2dc70dd1d1ad6f345091908f0adcffe32723fa4c8a4a1db1a7aa902ebeff98fb89642e0278dde9d52816d3d151a93b9447983b253a25b3a66c67bd65d098875ebed506ec9d46e8c500890b180519dd76790a2e3739e5d5784f81b42b2bf5df4a9d168e7a4f0904b661e3e692487acb6e805ff265f0f5a32e645a48680a4326fc1874f05e8967a0b0fb8b798720b6131759c34481545fcbff184256e66670bd7ed3283c67bb87ea0d91d060865abb78832dccddf4631b28844926d2e433cd9c222639bb844fa5c0d3d3c41a7c5986f43cbf69af19de4296e050a2f167a5ccf004b19ff963fb80854d522b74d8165a75934cbcf58166408cfb5e87c833e8e81719d8447515511c46790d2f508bf1f0009a3d3beba5e9663449f2f462bd7f1822917d04362fc92314f97ff0ea9bae8f2f1931dd03c857a4696adbaa320aefb68a297131c51098be4bd512fa7b5dc94fe728cb2abd2274f6108c55d09c3591a56831cae298a35032e5ebb44c5b6314303092529047277683c46c80459e826938de956f10b2230be587dbdb8dd289d6cefc778eb174d45139750ef1843041d77b1030404c3a9c1cb5940a8e4e1d023d18f555799a41f3b09c11e0f9f2424938584df37f819f0feb3b4d633d520d61cb13a2e983657769c0702d08243f3bd408050957543733b2abea303f05b356531035d9a80ed365231eca22ec6d0f8cec6b8d44d741ba16f67fa2293b85a74fb1efacb581f9bcd4d62dbede352a108f4c7bb8ee91f93f8e99de4db4303615599b113fe8377c403b0e36e5dfafaa67ef7f1dc986a1a32c416f8e37552f402d076e3135238f18281ff396a40df2e14857fb838bd1c9073bacc52d6bc61be06c410b527466d015cc32de02c592fb707840564baa4f03f560aa0b6ef60523b0dd041b01e468917ebfcfccd5156b87f66519755ec31d1e16067df94d3f9be1032f9c83614e107a1d21aac455c0b9681acb60425402342f5b2835a3880c709c2cbde4c9605cde5969a10833439f7abbbdc270fe1358386f09b63ba929b8e97f273ef16a63c3098d432128443033aafaae8414acfa2615a655c46107504384664b1a279a59706b3633196b696f1d9733b423e243d4a0a618983010d7ea0a38f0923f79bbeb41fd904a95527c2ecf85e842dd423602951aaa15205d25ba5945846e6202bf572daa5a77b8bc1ea72ce6a1c2e035551271c37d70873b04b29a6617c45056305bb42299e53d12cb5d63105a8adf20e0ee74e1a2c5e3acceab6106026744a168dae16d0c3673cd37d4417fad83b45cf44aaad2532ebd827d684cbace36e066ead75159ff64572f66491470422c43435f35ebc36dddbd47fd7187e957075708f48c087c851506accbcea585983a9dc0dfb6dde5a94004a9ac6d12c795b9e8528907f9d4bc551d304f0dff6fab19d11cba48585758b0fe4e95caa82d53d7a36ca1ed0dd50be841564ae0232bd5405924c52518755454a5df038e9cb07a02e83795804b158e20c165369e1deb5eb6e1a6138b8104eb82482aa152fc114f5d0e839e7fd88128d2c3d8881d71f6e970aa5941536638137aa0fa5b604ba4d20674e431e24ce627bc617bd587e948a4e0808cfd304b28aceb316debb302e958c671371e01f96940932bf9247b154bd71b71fe7db62b4d6e8af88ca9ccab3b2bc626126994f8c3175e0e129a9f89ee209e17b48d809456e1f41a51af85a04315bb5af138d41aca7dcea2c3fca9a73f87c0195b8c2399ec6c98007378e8f8c805ad9d2bd664b49aa8a9046a55feb6f43f38a918333e437fd67c465b105034a0dd11992fdde31db7f7a6465462af2a0121115d775ec4291253cbce342970edc91e4b8af6654cd9d123e6f3edcebe3a7c47ca7ccabe3667254e5e6879eecd832bb6eea59840e93a2fada6115ef0ec037988ba944fa685367b876aaa0b668313d43e7dd04509d20ca23877fed40bc0dff8536f205806796ca4ab4be5e72d5d21efceccbdf2ca7fd14977e0f89fcbe40e57b7879ff477ee88c881ea69e7a41396ec9752bd1754bf49d7a0e1f968003c1a581071d0e806b5163c480f749367216a23f8f03ec840266a016827623be6835434f83d1fb84a44b75fba6815e16401d2e486480ffa39dba0020fb191d68f56cff448e372a7c6bf4ed1f259a38c87752c09dda25a0966c50e09b08fedbe77652dd096355c71393b254a74a9c69c4a4d994983d3cf3b32e62597c089f2cca63f5f30bd909313e40154d2e8507ef8afdb0525f79d86b360fa8a682a5c871ff2fc54eed4f689855f073492d06e18d982004c1f0b45febdde16970fe33c77e77b7c9cee0929b0a53e8512658792ffe5405a31f8e228408ecd439604bcebe4ac8e8f9dff7a7995b1a8ff9d0c0fb05e9e0af8f0c2eb4fe9dabcc3abbf8f77cb149fbdddb23164bb8218866b954e1409038d6811d0bd6101371929396d18e2c0840bffa86ed1a08d479e1f97d22aa6811add63801b885ce38111e4dd5523afbbe90ef7d29414f668afb64deb3ee0401727823f26ef6439c3b8a1c1a019e6020c8fd84fb490d79a8f6bea37591fb2a47af9a18168cc7098c6bf224817b71af28020dc6a1a63a1351e2cc4ae6389f58112e07745f99983fab9d83fc0e038ede50926370b7824b436fd3db487b652fac19bd50683aca5716469f43ae237f68cae25f72aa4b8def7ebd75a02652dc8989bbe370af71a2e837711bb15fe6459a39136d68d41c5d3a98c43009ee0ecfb07b0d865b5ac43211929f0f84b4254b3ebe128c70e2f3efd1cfcb894b3b3b0e78d6cc1e1580a9b7ab8cb55a124188b26a18e3a4b9cfdd33cc1f8d67cefed5664448c23d5ec5ce24daf3368798346f1d100d3148748b90e33c08c3ee30bae2c14f58e7830f97b231d42991cdf9b7339f28e32ac70a2e07215283f4be11391aa203f477dc60acb5f1c9e81cca230c97fc393c71649cf2a48cc74cad0bd08a24d29b769d5d0ff8cfcec2b31d63a51c12cac09bc2ee00b410a5188d21619d43601a5d1ae72d7ae599b0dac5abfaf20bdb1e42ac4a2034014f2d045fc2353c0da62efef81e8c833c4144c33efbf14cf4b8828913f4d94aa8142f8027db14801b939c3c6b515606ae165f21e7e143379342ee30cfc47ac99d53dc2208db56987cd060187cded21fb7a202955f798807355fc5505a9c3ae93e7495621f27e44afee5b6fecd7764213a29b25a72051790eaa6e755062286d0dd53f4d35b4726aff73e1846140b6a6421364b0d36bc65e1db4969955f9c9af000510b305bb2363c08396c1eb61a56a26f57eb191573460cd6ab0b99d7f73fb4f6fdcb54cbb85e953f1709f9b660a38ce790f3b92c1d729b0ff5433fef3acd63046a413bba09cc62f1b76215bb74233cf2ce017c5cc4495184c1060d60014f47f3f427f9042b09dd0c0328466a4e8d9b6511ac59edd4cbc9f29fd1991c6a02e239f1ededb9727bd40ccbd81cb5b5cc6418635395496a14d906b6fa2f7d158d67612f49510d3daf078f8a5785d1abfbfde8c8347d741745c38f15ef73345a031c3f7c75a8d1a8c2bba61edc2943f0d69b7ca7a5618f6d9dfa58b6ba14c838b7e669643790cafb14bd765659299f3e9681a6c400c423ced9a3581074e5f58447555e23a1de6160a2fb3f81d012317d394c7fbe5faf535304811c1a2313204eda09d12b6678d611c8feb0c465506fb9301af9472840177eec0f565e86aa18d9c00bdee0df0044a7aaf73202f27a335183414049613c8c6b57611822a0d4c1bf0d6ae6e7ec890286be7258c2b4d0d851e3e99eb576425033178ca792e6aa018f9320840d9668596412ed697d37ce116fb3793141a6d3be24ecc4d0d1b951b20be8b66f7de6f739a52f54c372faa2d7f7b6f9efa804413067a582bcac59cd60a4656c39221c97e6db16da3aa79e530ba344b5038cb719514932658dd4153d5b53c8f425d8a417f78e0edc10462b6b5c69d2e559f5d382a682dcec304fdf4581314908c12e5bd568b9414ae024da6c6fab40495d5a5988c49a5fc48e7c1b26186bc8f4adb4d0dd84a979fae1b2044180aacd2e56b4fc2774f2554d354f9db63e4aa9918d0090539471d49c752fd049a5395f39ac51694456ee8c0edcf86e5e7cf2ba7a0d675aaf8d992e6332d3026d3b3f8268f0ad7919281cb688a1c228c64e50a26742ac41b888cdc1a7b93c645241774b0124633af79834f7c9f1fa013371b0fb4c7af80ddd2218c93dfb3a87dcfbc67a6c20852a1c7a2ad6bfbc9e8827d90403d3cf8fa5e6e6570d207b7dcd86143b8c876a7f4666823ec69300495f904634a3003ae204fa5428ad81aeaedeb6579e7b4b4c7a6297c3b1d4d33fc424a9dea342e836b2948c40dea64e2e2246eb057f087636ea64fec1c9ca8e1a6784cda4565accbda2ed4313bdb7f13e8eb223f3d447e62bb46ad28aac75918ae48ca7793342043ae0878225bc1049f24f69d8f57f4eac9e3e16a9c8b38f9e2a5b3aa0eaeccf289b87ac2cfeb5f41a17ecda5b484904ad9e8a319d7aa4715f1829b53281dd59e6bc03a779fb28a1704153ac7da8ba241ac1468183ed65aaf9e3f68bebc900d9f1fd661fcdaa09c95409a4507eec00f9fc4cd3aad53e40cb8def82cf1321c150939c47d92e9f2c999ef4e33adaf2b9c547023f7330e0cdd584445539b7d056bd854efda3d6f5cf736ab26a5c79b38fb0d4e3cd35f768b538abf0e79ac209c4a4f48be7a968f71323ad0a27cb470f9196a6b9c83c23d34247e5465d41214fa4b3b4465b61ce5a9a9e09152030faa2a261011f96b849fa484810f42c2d7460a89f89a556423ba6485e6a850bb9aff23157012db3e488cf8e2b9833efe35e1a8a60c55be666a4a9c057d9e45e9a655e007799ad4ba5ab5dc8c13ce746a145efc148e0c4c7870d26180bc6752ec5a774584e66929eb55a582e60086642c67ec7a9b4cc420b18109e3cc5ce240ab382174f16b0f2f8d3d5ce36b23384341709993b7042eafe0d9ad621f4cd39345a19961b7d0a1a591354906c6dd43223b230d5871b145b28bd11cedb8497dbbb6413fd36ba944a23b5dbdf78403be8b8bf5dd64bbab67f1eff67bfa5966827920a0825270fea381a1d95cc851fbd827d72ff55fbe42abc52bf7047408f3235bace239cc7812864ecf876b11c1f425f8e8ae25dedc9c428c6f804ba1007e09b8a0fd7bc04d43a0f647f31cfcac4f224c11c5cc8174382b9b5143b2b3765960cd332754771e78c99c90c04affec6f698906f5914ad2eb552acfbb0d8916fc53877b71af728f405135462f40274547c8a01d8f3138cc4c37ec22c1e1f768f825b6f002a0f5a64757ad7d54e5fec5e67eaa9732be34e85a1cda897275d274f11e75b92ea75537b0a2a3f8f66800bc2839ca390aa9399252c938e0be829a90c1068e2960fb9cc1b4b966090852c8bb7e175cfee6e72d04a0aae0ca99efaad03f8672955cf7c8f03b1decbc87ce1596e15ad31e9eb9edc778717a60bf13655929d228ee159a1d2b3d42bef4afb36c53a4ebf674d6590b75d389c0e637c3f327cfce2e586448fa624c23580fe12104729031481f4fad5de44b094846e0fc8e0d2dca9c4b255a20b710474165280c7ef64f60eab3a9a7e1d4d13c2825917f2fe9891d374cc6d83ecaf5defe4005e0d919ba66028ab28b03a582d9ea18d2ef71f39d791e03a8aea87e23e7c536b9a9e4272ddfb57c414805a7c4f5e8e177aca6c96db4a66401e5de74bfdbdc86cbffc1f1a8d456b2c8e4123370a50640bf742f35f0d39512835ecb12939abe42cb1947bbcb92e1b0ecd47586b9a4523ce0d89687d852e975aac18fe24b059d14364b36373c5360234e3e447f0820603976ab034a61ce9c90041d76424e001ca91a504e07d51e0c51bbc20dbb0abd9d3667950f552a509ffa37fdbb9d803c957fd29a266ef3c5811a8392a521532839d499d5e9078a4808549fcf920a0d5b1c9f059d8c2f5072152b4f4306447a46ff000a643fa165be17426dd03e139872b8f8ee60cff4e2e316bbabf76ed432b3301f11dd8b68ec027c173db620a073b52b7fbee6f68098a8e652afeda896bed5200434eb43ee20ff8d64f2ae904fce1aa3fdb122afb6ee74ac940715e77de52470a4ee716b53a7d0432d02b3f971979f2a3824b1f2ac8fe103cc75ad5fcffc76436fc8bf8d57a6030dfd7e1e6b892b4ea4e385b7d60acbd194f68bef8bc727d95b306a93c7356376e6a435c1c6b5244429fa098e2f91dbcd9c5c944b31e139b4cb42d69a1ac8183e22200ed740454495853b5956741b5b6ae62adb7ff346d87ecfbb1bb4bc2fde5a74ceeb1afffadfdd3c817a5d6a101e6c08d8ba49ac10ac869e1c60d99b8e89137d972f59c9bcd200c12b03d224659e81f1622d1f9348d2f0839e5889371b1aeab7b88a83a9fcbdbb75f52c8d773eca6455ed31528fba7c9a20777124941d82f775db3a6654820c7cefa3e03cf8d1b6ba708d5e4583fa435777bcd801eacfa39f5a7220f59e78d12bc8635313e62447aa1829beec35ad31ede0460ede9c60320ecdd86e5e316940792d3c3dc259d1593d506840b387be3ef2554b9f4fc290f271ae1c1608c13a88a9e50ebe0c290b19ddf4a2516c2be5fac19c09f9d01963264a61c52530aeda0767ea4aa44d88837bf30ffd61658aa56b4a74a66caf639d191345feb8ac02cb91acf2ec34737dffc0a08686a211478efbcbebf0004b7c8b11c0769ec7b5f5e9288b258b2ad151ead63c30812258a14ac44f455a22e0be78807ec3cf12c99652cf286c5a26c8a0126818c7afafdc52cc11fc47f2ab36f9414544b424da7561b599944e33900d692a5a8396ff696001e4b4040ac6c6781fccd5aa21024684a22ba20f300534980200e230b5b8e459db1c6070e989be1ed17fdb292a44a3b961786a46bac572bccd886876ededa21e75ad7d2d231e79d1adb93add10448eaac1a0f1a459064e56389ae64cba303ebf7124c18990f763b0e3e584a2ff7118da9d4933cccf020b0426976016e7a486177140068266c69b9387efeb0fcc1a18a01abd8bfab685f01ec995ade4ad6228c2d21c908a3a5dcc2f00e3f37b954026436e50d12bfc4ee40b2a30c554a0a0e565a1099db57ca66d18a4e5a38774c84751bb7b299b2b8c9f7be465f2714ef5224b21f39338b74a9ec1366c942cdfc5c0bdab094d75340d50dc83717e4645251fddfa2ab6c8e03b3f80dabdf95957ea010011c1be8852568f6ab357c4b07838a683ad0e56ce915e3bcbe1dbab104299db1e8c82ba56aa5f95a854d7fa76035a3ad0043589412eb9a67bddfa1afd98069f56450f2e04a2bff44a7ccd56fdd0840ad699942cf0997061de13582d6ab18f87e32c93ebc64ea8d0d9669510bb17176bf67cb275c327dcbd8c38325b500a7b2a7f3006fb1af5024c43f92b51af830bf26443f71f089c88b036e07754a1aea190d15fc499c56ee78fe5d35eced09272ed36c0534fc0d4f39213c4f363fb3849182be331e1435d61c1368b9b1b7c28f48c816cecbb391ff2924fde09c24ede3e05dec9ad1cf3ce1d9d84dc39753492fc4dfe2696138ec821f3d3b97078a9921e6f1a1d4515fb0d4fede91405c4bf9e4468ceff311d0f502a2e85c2a8c250b343c100e3233c52e08fba81e9d550f467a6505ce1e06b6e7d5ae5ed08f7a5c72d5e7460830a1772995796c1233d5a77a5b96a10fcc83b6a20ef15f623464553715aa9fb39ee256a3660ab173aa71d40f30f2c7e660b40ee650aa106be9aa7e975eef1b025f6c41f39e478558eaa4f4ad6aa093750478f54e1e3312f24ac17de5632e3899587983e9457c6607b3ad7a3d88a4148e93c13379f7c279b57de00ecb6cfbe860386ddf6dcff6c3d6c11642b2e2b09e653a2323d305d86e0b09cdca0233c2dfcc314c4e2d80e80bcd668c946725fd84d2c5e42fff532c3c3363f0ad72a16eb3bad12c4ed3fcba0eb6db8d10902e29319266928c100a83b4f668b1c75342a45b109b5329910bcad5626581ac57b70886ad623b460c2a1eb0bcabe8b0389f80dc3fad8bb8d4b46393aef2c3ae27837888239d48f78073d40433992fb2e0d4572005e137ed70e7c328f1276aecb7d9512f641bfc28940643d4b5f20d8efefdf496173e93da0d9b78c640a367fdee73709cc055f5ac2bc65755dcaab861a33a0dd7af0af0b94c6b2431d40f21b48738c450fd897385bfe82f4303fb9503cac9f0fb6e6f63fce55a9da372fc1dcdc23a6f1044a00561d84867ca8a6e9a7f18f7bac7a12764e54be80ca17aa8a07637f42f8e2a654d3904cc0dbe82ffaabd9b0c5ce13a2a3e245d41d5c2f7c2f664ceaac3616fd310025bf2b33ee7c4f2fa09032f677bdf1c2588a2c469c8de155e251ef2695379ee24f1eeb9eb7e001c2ea62c483e6e5933f48e8cd05f92a801d3f18e6f163a6c251f95a78fddf8fe2c969a99788a10d41b4868a682841da8fe050f1b6bc3be8a722dab1403ce0106f9470b9ae68f941141bd3dc1ee8312df7748eaa1f66d3784a082e217e4a17ebd3c39b3778809622c177dbe1d6e9820ebef496fb0ed7da4f4ff0b77027da9622ea18860f46c58a28a0e38a3b05b85319b5ac706488ff67bbeeb9bed2308479a664bf1d6b74e40847bc6d32dbc8f3f849a4e6f7dac3d5561f04e1ba098c3d6100b1f6ac03567397b11a6723032e21033f589d8d30de892e3c41496550b08b102d053bd9be564060185066ebd3dd0717c0aeecb3040fbcf8fefe668ade01a48afe430a8ae4f076c6e3bb72c2bcf4c1db062607a796cb9ea8ca4fb7d5c204c9a1e5dd743035c0a7412b612ff45c1155a87e2478b36388438674e7862697881fa706049c648a60953181cc4c8216a19011f82083cd4eb8e6e443c75a3fc6e8ea7942731880cc84f01782c53ad005a6f0210eff13692134ebd5df49251e9770ede85f6de768f01ff3f7fb1cdbfa48e85f1746dcfe8ab174dfe71c495553584d3e0273f1117d75bcc89abb95097d0eb9ce5f57249bdf32e9c7b5f296937dda2668aeea0f0d168ab9c7aaa2206bd0758a708e06b3726e8ad6a1052f86a509fdc48d1aec87de75172af5aa816b74b0a75a0dd6f2e7eb6fc0436b0747a46eec2b59fbc1adc78395d02dfc8f6c31d3adde4d5da80aab977ced4969f21f260be44222ef0a0b7e744d8fbf54a5726b4ee32f0b3b8541e45f791697ea8c12c4e9e88bae938e4d98ea112954bed2067da60836fc75214bcb2688c998304393c1b796c4274db065c11739554ff45198faed5b8909ce58dbe2cc32d7e4394aab54b3dced23efd3da88f6f72d4b1659803d4bda5e805329895e8f02cc2f28c97662076734b11806a0427356e1dfe2a8ae3f53502e27d027ce6f40cf1ebf1b9cf9b9dbf2359736675c69fcb882c35069fd59006c2a9d78f6caade782e643ebedb68145cffd5173c83db36deb6cc77f5ce58c90a327c939bd832b834b5f90b4c97c8c0a3d8ffbdf459950be99d5bb59e2ea1678ed0470f040c6da8d5d6ec1e1ac787e961e794f0d7206c6d4345dd69663174f488283afa2840c360aa780695a7c0937cd47d8e56ac0cd0c7e9bad40b52e92b877764857a6909957b2c6a3b5151af74363ff798b7f2178a391f2216809fb12349d6f9b9ce457005e07766bd24c1b739c007e30174d42e270e0561e7f0e05395bbafe96a2c0fd88a9a1670af8eeed9ec135c40efb9971dbdaacb0adf562ed830c81764427f8c3824bd96097d5cadf256826e71b5bb827aac59db5e55a92f7f330a0252ab18ac45c1308498d8aa951ea3c91fc12528245b8d6822625d4462e1d55c180b61a21dab3b3635efe900da49b969d1cea06121ded99576d190cf61b857a7ffe1abb5269cded1a5fe022a9e2457395449468aa11ac5c144ce8438c48a6c2e18d0a84c46858fd7c9db6795a5a478409c2831e5a008d441b7894810c51c5510270ec176510a1b2eb7e59034fe568b53cb8ab71d791b5a9aef4fca2d046f8d3ab03adcf01ccaefa2f13bf3840870b89f92905a254e8c42290073e3f681a50677e7eaa2552c9f9e7e086a0231813e1d06269902aa9b590e1ec2ec940f05ed88b28dca435794c718bda7394f6c8e117e8bc34dac0148e2f1379f60da18f28290221bc2736bcffdb13c5e421c2c780e2cc3fd8579efa6dc618805be465edfdec8f3792cbb3c36b1b79edf99ce94a75ee76c531483eb885f795c9de405b8616bd32d5f5b518e59063865f04fb605404cd3f88fc32a7cd489d1e455163143a65808c40a95d061a6cf51a07c8df29817ea303b72e04b3fc48308ee46a146f1321a05ef2f38bcc3f26e575468a3d68533ee819b69942cd667da45ca0dccf2659cf9d8abbe109c9a0942b147376bb8f1dd8b5864ccedeaa4f934f37558c93aa9a7a069ff2fe751bba1de07d8beec8eef4dea61d2955ca85ce882434376527cb9d39099bcfd7aff2d08e3760a090f828eeb44a0632248e62b610f81d07c324cdc882574ef5896d222faa100e36181bce1b0a8b1087d151ecf795724a0e7f19a6e2f963dd0af9ea8ac507ea9697a5e4defa57caefd4307ba6c7728fd27c809f1244f4a33af4a9d6dc0c15866143d9a274f7bb85556737c06039ae4139c998479f43893f40701ee4a30f9f922a3a1ded2b55461d1c2ac88264fb7d9e48cbc0deccf716ec740299cd6c5aadd05b739d3269b747598762f398b8a2896a3bfc8a05f8ba80c9f65a8c2ba4c0bc7461afafd299b2ee847f67ea3a811beb58aeeddd4e02abcf74974705132824f4aed8ffc72ad9c4a3bd8594686cda3bb60a4f3ca1ad5baf469eda18314fa9efa503dbb2e7999c8074e01eacda12c40cc698ead70f6b45c45431a4c9286d9d2f17d7690f81c321e7088c069c26f90b52edd99cada53966733e6bfe98116a7c4b7567c14951aa2cc774415c9b63b826b7593ee2b2d71341ea8f7a5610e97face03143a6c94e640234877a2a9198dee16cb83c628dfdfb2631272768b01a29d277cd8c1eeb8d864e8d9829688b6a598f4a2ff60d4ce44e6eea1bcbebc72737cfefef888206fda996112489e7f3be6781c05b6157eca3cefa789c8d33120b5798c24cad51ea27b21ace3606b125d99e345d0092f08501ae400f9512748af53dce7f254138ebf8b17834849165a702ce0a394eaefe7f291c3993b4ca569c6f40c485b1dffb67d74b0be7b5b0268efece3c0d573a4bdcd531c169566f662a4f3368b0f11dfe3fb74fb5810382506dbee55fd70e479bb0e323e0e43c2789382dc814bbc97a94322b5f59a26916813610d1f1ace3061d1c5548adb7e9f1783726d853d682e90d2681393049b9197008d541f655868dfcc9cd926ede6f65d8612aebb0fdc01af2823c89c96498b06b4e09b43c6a16c09c267ad2eff8f343f6a632ae2d41a837a7358bf6ebfc6c031982be0e832dfcc94a9ee8fc37075280fd5b4c5770b20530bbdaeb3394c59edcdb4a5a30157d81a7f11d56e490923594d9136fc83b4745114c6d92ac6341195c18d562eb4f6146cafc6189577ebe569fd5594a13cf92ff49ea735ef5cb68a98739b389681f387dc8e85266a81b88775a00e02847f34baf2f97388ee611db03950b0641ab2ded7ef72430cd93fc0b15baacb565a58db54f1346ee09e3622491706800cf8e8e0e42f92b4a904f789799d357b6e46b0b358e26a52353008e64c45eb99724654454530fb4a92fc1a732184bede3f46f63c9a7513087360ef1723181218b52815fbc4e95ac19ac0b76259c3284d0c2eb908c68d798308c6f464540ee25a9f326a53ffc12a582e86570a423c5737a30d570a5546d6f1f62e311085b0fd2c05949266f648615a44e277b3c3957443a722c1f5526ac648242ac5ff810c2cfb62a8072167d5b93baf2aec2bf47adcec67849c14b367e2ee80966db9529feb71d19e44a9c53a29ade33ed2cf155504eaa5b48af092d5378765d68fe5140f741502130c40a89e8b1fa1e3f0cf1226724e488cc7102af8d0302b309e24a0344d60124c8e10eadf088267c7284979c02c094b907ba96e2690d4cf492ba9d702b5007e224f2ffd57267fb2345b509b5bd05eaca9ab93a145602efe7219cf39a888483653be8991ca86e212353deedd6023a240d9651d8404c0088e9f6eb9bca87d70bfde639f65905fe5131f84e804299b5406d807fa796b9a04d5dbfa00857dad1ffff87df586c0860190599ffcee3db30a98d58ce0ef192f9dd492bbdc3ebc7ba663319eb180000ce1dc07fd684ba0fcd67a724809fedc0e9a9ed18b6810ad31e7f06cfe834fa85da840648fadee02c9f8ab4a094a17f03ac3c6aa727757e63bf4154d61c4f7ab271923d3a4edb65591b881d0330b1bc6da8f89e20a54acd63442ba3fe0da13fcb901c8688c0284d03f73a24a2abcd40389edd2a0756f960a843423a0c3042bd804fddf284400f753da14827cbfe5ef75a69ff643037424f3f725cae5cb75fe4d58fc06e3bdafcfc3a2d2014ec33e60c90c308695da0ee19ed0e1b52c78a53de9d9ded0e8435310c9bf6ed91757719fdeac077e6f9607ddb743da8b1640ee435df93c84a9b717953c2a1b78c04e72e611ed956c410ac9ab45ffe0039628aff99576d00f2c8ef7473ade1849c56a4e11ca409799c027c4e1203e5534a1689bda77cb7da4b0691b59e5262d2e55ba904caa7bb565a4c9e696a1043f1da6858653cf1f974310e396356060b5a28a46eab8172b7b0c2d726d406a4cfc7cb57d7dee05eb128792bb5feec318cc53dca649397115073c9038a34cf11a819dc359bde106bc01668a0f9963d7e98256cc60ec1ad155a5768fd6957ba763dd72fbd2fa80dc10441b749fe000b66e7c0fa6b7c14a6de212ccb4540cd2e0530c8728c5f46bab1b14b69b0dadbaf16e3eb757a5b2250cdc0340c9c13f47c31cd0d00200b921e68c223c71cf8d12b62fc7054ad0c6818c0e261de79aec43e3dfa4f116093b7d2e43591cedcc40c823468cde4022f0fc17b5372a12dca96d34ad4ed413506adc0fbab8bb6dd809367fdb197caaec638d332e53c58bb306fe095404cd776fd68897b5ad10e45cf995ac2fa108219b296e3a81828b9a5c027f4f53bb6b53f5e96d836a12721c64ab31d844d0f63382ae5e1fe277c3325efc89a1fec38ff5f36affe77fb8312366d5b25c29a68aee005de495f6c49211d71bdcec364f5ed8e8ce53072f01d7af4ca1453bf2410da3d754df576a098737cdcc7c368504d75cc3c20f918a2398c6fe1c77a22f04a6513c70ba6640afb4abc2b16a8c2ffb03fc3124d8a15aa1464027dfcd73b296cdea7392d2406be88f14854a030730d2d2be29e2cbdbe5c47ddf1df219fdeda34c038667fe1b2199f06f38a2bfd95724dfab88243a3f899c87c5b78c12407401173f2a73995d38f0dc3422c93bc1dd825fee0436d9483cfbfee43e9ec4e7edc9c5bebe4e57811e98b8cd7867ce935b4ead7bf36d5f80dbe12c5ec3139a974e21ae5bfef4557f18c876d092a04fdc7af30170bc1502b45d36c267f21ac2afb7fd1fbddbc3cc8cf06509a44f2cc76d37ff3d0426dc963c4c0e36308f8840f2dfd3b562fe32f1077e023755d2adfeff9143a47aa7465f1a9d8c288657c10caa17d5681804ac46d249d16390419831bdcf4f8b63386f2eed14716b5073541d7e6c0507aac6f0e2228a352369e8768e39e17410c65696cd5f0b442640279ea47f68228aa115564e4c3b5af619e8bfbe0c1a7f3c0b4c83500b3325ede455dbc7c6189a98c34a9869127dca1db07c0e898b01878fbe221b8abde92134eb4771d92dccc2fc17b8752fc6608e055849e2e6df60a824893bfacdb4fa4851b261f5ce4b464a6666ad7a0a3f6977848767fe3056629cd6c53bb54d1203f79e046121485e9924b207d54fba0e34e5620f6f0bb98899c292f3c08801a48841fcf57a646eb23ae7e6ae95211c9856b53ae23180910f0e974382bd9a142f3790161de475ae70445a8445f609a1464c694ebeddc19b7b7bcf2bbd88a67889e1201139da026e83da692316dfe6c10042c2610e07f94c371c7da4d3fce887fcc4c83944a01698934a4c6b38e0610806bbaeb1516028e343e16ed0b180c0bcb691402a5fd6c20e1bcdbc3b25032133e259a74027a3ab9432977791f4d2066c0f54ef9159ed4e28c967e02001f988cd3120b5ef0ab15200356834d9100ba4f11866a49587c0de53df9a099464fa455b3e911f0f15c006ce9801b8fc5e989820047b8106168766e4aec9291ad1145191f68b2f7d104e677214a9067fb6810f9937c0cf49dcdfb4db88089a421f37fa318615a84de52054e937705723ed2716824c0849b676b26738e608eda11178ed2f7af78cf52123e49872f3f96aa4e7ab0a119aaab27506cf3ee2ec4d7a85836250e657a540f091b5f50f6c807f839c5ceebd0c16eb682f00daddf271559b34122e56f45fc71cfb064c9d2e6e395309589eda3e0d17c15ba2b335362e3f04a0d13e2113d8665cb7f47aeeae38c65c3683cdd2c3ec7f3d3359afabb212352656c80d967aec8888413f5fbcc2082555ba2fa00a4bc5dd145665aa13aba411a852b423fc92135ddcf08395872ad83abcc2ba4dce2c88093b4a5476d3f06dc0e4512298216c52557755fa47892d1a671b6ed55d270dbff8c17a87f14bff8278a03cd48e82e3d9981f1e09ba23154d45bb9285a24ee653979699bf73ca1f6fbf2ab99605af13b92b357954f2a0940de4a63a738af3c51aab34a323afe377f5ed05d6963b2336b931db23b2fa2ea484fc9b6f983c454085e21d0401357721cfb53c4c446d3b14949a0e65991625bbc8841d7e9908338a0d59aeb467fb4b0e450fed1d18697ee6e8ca2d65ea96de7774a6e162daf0059915c6f618008feb67a6834b662f91ea4082c9bc353a8a55017b771cb2e39055fdfc7e7122a1db01f9b4a51a4fcc49f462db42b1309405f527068e3edb6bd033eb52e7315edfa3fcfd65edd6253af45794624346b3d2a81bf4d56d5691f5c3a305f960a4e2f18a54c08977b95f12c5d5b9a6aba520b5ba45e8389310558c29122a47ed460ee99a3b932464193581b930719b84d461f956634cf9f61d038a1f1854e9e219b5c8c9d989969ede709e14a0cc0de0c032d9328ae98f994e395505ed9b3ff87827663014cb517a7545f28682a55a0146663f998df80e702a7a9cd8159374027bd16b370c3fc0443b9ad8e9545d8e72c28a79e5fd7d4b9c52bd01bccb12d44fd10365427dcd3233b599f0b22794e564427868619f00e1b8a0d24c21c26f5702c8b0be523d64b85d2debf4366a7956a3d881cf0f0a7766d4b2b777f025cabf3c068d29916543f9c36669407874f891f03bd568ecb24abffda1de701806420916cd8c3ba2e5517d5ee853cfc3930c1444eacdc4e544cf1f033322849d689738df665293498c6d17b4512f0db5af3abd086c51b3d4b63ac0658f9b0dfddb8535040ba79594394a4f3ddccdb4368612749575ab93bd5ce78528f43670342fda3ddb286d41ef3f60ff6b3087d54bfecb2140267bae799e111c514db0261c0d6c9097ac7b56c15178d81ebadf0d35ed4e81fde17609815e20fc5058f06e3a6d2c1fc667f9bc5cc9e056e7f2193a5b62a365e70854b53338d5081a1941ed0eee113d7b6701f444e8f82eab15c6ebaffeb81fb0b61a709f06b19670e3303b31e4891d363076df3dd354abf7c2414c81251cd49112d8eaa1a2b1849ab242939315e40449d6689c05ff6f3b42984f7bd5923e037c102f6766b8a6ed3bcf69f2f87ef947b41186f9649eb20fa9ca5a2e567683e5e78a4ab4cc7abe66b898181b593bc9e7f8eca7172926de29fae0c1d0d746669a8ab1136b4d0c7c236640db1e9c51e2a1beb09056404372a8b98c5f21650897caba89b40f72bdbdbc98651572810a5c1493ae7edc9281879c7e4a20e2a112be6a161836958a5bd3707ba339f7ce3ed9885119605e1eef162ea6c50ed4549b3849ddfb45835112a321a0b63bdb0d315173a8ecc7a57f222d81d39a6067f9e2571e9a38755fce0b4e64ba83152d4e5bbac6075162190effb633a8599b3b48cfe1c95c19f5daf7463531568a1a73606e25c401a86a945553067108a6248009efa22c8607b7397747cf44030afaa271ed295a881ff098c83136913a22a222ecd601546314903d22ff82951c83d90465c009ca1f91400d402773f3bdf310dd2ff1e5609c5c191ca9040aee849f004917e7836d5524124bf90a97aa961a1aa0b875e5d1fbdb6f48d8cf1740bc7f197f1a50ad742e40d65a4aac4e501abb3470b7499a8eb5d7ac00ccf326264a7b8fae44fe855997ee8f1d3687b25207b20309f02a08d01e8521e2b00ba94c1a481872d7d0eb7a95b44a53895f1d63bfe183d4e241325a88d7b6a6434cc06decfbe8f28e8676d24cf7ddfd7d8abc5b0d94acc99fc7eabd17f122c1aef614b6421b434172369e0dd5f2b9bed2124d1d5e24ad27cac4ebb79594942fea1a56f3b822522e59693ce928e930af05b07f51663967abc962c0fb3474973553bdada65126f0c655c57a983f53435d78093796b54b545e19e6330afd4cde301f55145da939f2da372e8760d763d4c4b71521383819d26a0d06a103b2f753a7eb27816ecde882b9f678c8b0bcd7392bc6c81c014904035208d917e108ea99fa26537ee57f66ee39031807ea5ad20333fba825263cc9a8ea4e799e417c1702f5265f0fb6eb1376e3a0249eb9c84b951923260b57f8c28479e9fdc21b7d0a96ae462dcb00d94cf94150da587273aa20dfc43c108bcf23bc4c6cbbaa57f09b82a778fe17ca3c1dfa79c1ef1bb9a888263a311f46f4c2377a44d5dc0fcf8cd083c9279e1019f2ebde6c6fc6a3a517e0957244d6b08444f47a72a698f23242006490f91d4a1d70ed3b0c52bf92b4c7491edabd261f0ba5edb89613f83eccb5074a9a10e0a8181d0d2840ef27ec6b66b6ce54f5723b106661e92d6475e08d7941519ab7fb321a44a361821894609c192214f734332af6a259a528e6db79bcf4025f402938f3fec444571722cd7979e7d26c8faf8fe76b8b2e23299fa219277a3df3c4828a5bfba91636a7aec401ca275c01d36e851a4e666f6a3454f7960baf2bf53f8989208301994c092c44f27dc3d62e56c7b9403b325cbaf97e3b3ba6d95b40db6b2be354bd05cbc1eac9474da827206df75307ad00bcb7650793378754dbfaa9541de1ea466e87531b08a3880840b758e3ef911d2b0aacb1fea01c254a7510eb42f5a3cbab0b1db8849b36cba7699358f4e4e6963e2e9e23eac5e38f9aa28ad6a560fb615373aa43ff4c891d05a3808b994b18e6a6a1d70c26b66b0886b6f6ee1728927a06cc1bc5f44cfe4c9f8ba930647b644bf559a127e6ad3a0529c2d65b428fb8c66d517971e8e6a30c8a727efb8cddb9d3322e8c198504d74b8cf10403a950d1b44c71de347c57a18db3d714e7fc751f3942306c6b0d66225014df15ad57d442df81b9f8fd0bab85339908049f8571944a5f84fc70ba234c8f130aef91a2fa8e743ec48ec12ba18ef3560040a9de8a04fc2402df90f3a538c2c3eaeb6955c4ef89569ddf2305ef87f57b5c191a2e76aefecf02e360b67e07987f1c57e9120ceefc63208578c95f95bb62314561c5fb864b62f044829e5408e8eeb6d837134bc366e347f341909e4e721405bf7b58060915ae4c15925a2525ae77d7a530a42311ab384a447f216f6b638050ecfee39207eaa7c8321bccf1a655f744b56b7eeafddede6e09731e25f618052717cac3844bd036305dadf64accbc47bbddc005e8bd31fcc92c916e76dfe2bc88f3b8f7d4ea43bb74714215c2ab338db0985544fc369f7c94c1e883e534a808bbe864d0ed10cee3c04b8c49f1441c31e42ac30e3a57323de81446bb828b0fd796fbee91adb06361cae59e86def7798eb018e2e84f0e34101e4f44eefc1b17a16c15f7fca2d7fd31895731f2f03d02c59a35766f2a93af39c908b11bd98ebbaf7343dafd28feccc5f3ed8296b39a155da5fc43a37ca8b8fc2c21f8104988dc118ce2901f2e067f3800ea410b912592cc3457d60c8811b1258670e2c4fada2ecedb3bbeefd55e77b8cc8426194fedde1a7535dc29850cbbc45d2955d87811dab5fc214730dcd3b50ad8423871e80e4cfac668c1463a2b9009ae300ab1b2a94cee557499e4544d8034bb6156b924e8d516c4521a2c3a868838b118b227aa63732fc68641b66425742ac8309f86ecd907f16296059dfcf458a26553c5f07f380612cc923615f7b163001bb4eddf071944be661c6104cf82e62388ccc60bd1fb1b798437b5dfefa9201a0123c5432fd26d5fd54afce60a4f8f031521761021dea52aa26f95295423c48dbb726cf1451e4121e1da2ae40b4fa970847d5656c02cd0a452647dc370a38b332d3b3998eccab1db60b6db50045e0fceb44b162cc3eb232a2e7482d520b1bf47cfeff2a5e585178e61c2ac1b84774e1bf3921dd0b5e573cc9463950f74c9c2b94dc40c80a91c7aa0d87b1684acdc770cf3ba2d2a636c104f2eb468c489f92c24dcedc952acda3e8e465ee548bcbdebc28ab97c4da46e9101715f3d9fe0f8086e27c0af64b9082e243e1b3760328de3f8c681e7713538d2b4423c207959760acb6227b64175948c8790f6443f796e3d9d0d6cce7c86debe659388ec5f833ea86a0c96a75b7056e528201b53acdd5543201595e1840495fc88b5a5aef0f2a9d303819c7d57829dbe310344ec2bc4f4bb02c3653ebdb2c35988b29ce69a1110fcac122a79588529020df8d95c2b7ffd4a53bb12ac7b5ffd882d43955fb1ba9e3aabc9f2d5812729d00d982a28bac8546cd6267dd35b5cc2fed9448ff62df3fdf9b14c69809e1e56c5e01b8c8fc967f1a11dfa4a4da6cbeb578563d676ec9b2910da1c31cb46394bf195e6b129d4673f9a52b1010ecbfbacdb778f44e8683049a71c1934b5a10b4f8067ff490a6e2cae40e0c2d2ec201cdd091f451825d7a7fefd14f6d39a269ad7d31d197ff2d17fa4af6b169dfca55703c00a76ea569ac83396fbef7001930119514274aee3a071a3bd06ac89b8e6e5e0dc16e0a340812092757293b3c332c94a7530869eb88d4de1704371334d608d2f77111451f8dd5e87cf6c4b1dfe801720c99cf20c8f1d481c631441856d758b276f824b5e2eb657547f9fcbd895a9d22f30ce3914d0cc1c6c649dd9fee1b9d6978c48083e8dcf47eb23c7fea468b7e68a6238b5cf5c815d86f8ff5546c6c1e3c3e3b1b9091b7522ea1452d4d06e0eb3aadbf7440e4d8b7cdeeaaf86addcafa61a26958063b4c71a8021da8612515e32a291fa1105338942442b4dd165a7db8b14fd490133c4a4078c15f37ed99d5a3f0292079684abfdb6cd5e75a438ada2b2abb0e56ad46c7d884aa7cf7997f1f234c7af594bbea086bd9a3a61ccbcd63611037c09e4898722c545fa46e92e6fef83647447e6243ad507a2a5ca26258a1f78c65b100caed3704273f8872606541a7c733f93725f84aa4f663309ce02735bb30908142c31eabc4578dfcca94f76907884cf537f9f0ec704e1317bb5f477a5f8bf1f699c830175fb5a8b562e5a6ad06d783e9e902bcf9b2032cbf32e4334c7650f9d7dcfd9f8b26543fe42c795fe619947ec4867ef89d329b95b593ac1351fd26a1f94402dbf86b12c8288ea285518fc56340179bb7d777bc2b8eecb07928a483e16355da03f8852358f7945708c6327d7e19ef83287fc7e2f4aee23fe54514b595b9123042853e248463924aa4fb49ed72ae72992cb690f7443cbeca677bcb0f8fa76a3c7f300041f442f16ddd9ee80f0cf331a3a80de3d0f1ca55db99e90142b7478ef26559e7cbb65d9f15677c7267b1603a709ce4a13bacc1d95c40f47823c2c738a429bd55e3da649a2f92678f37b840759d36ed6b0df2a1d336ed4f9c49333a8c65799cb99d180aee32eafc967d6f102b811c799db8bd6ec93d05e61dd0ed8f54f90f315df47b12a1627b5403a01297cba0a2f2b747fe63178ca3e2155d8fe125669ceb66133b425405c1bbea16efc14c44ee6d66e6f7f42477594854b178b0437ea96825111a7f3bc40c47ab82075383116a108607f908e00c10b5903a7b3521dc1ad0e3bb685c4613c280b70fd61b83afe2a66d818d89fa20b12dcc27fe67ba21f7d4dc3f30127d274009a068db6e2de410e83d1fd4585337b4bccfe95b22e12d91b068f1b76115ebcda54997a21427800c3757c2787377bf1074e45970f8cc004fc3ed6c0f9ce29481edd3812d5c6e5f9f09c70238514c38fc4845cf0162594ed698096e314c3dd6640923741c9ac7e4f247199b9430211319c690af63fde186260001c0d45645f9dcfa3fdf00362b8c921542c7b2ae14a75eefcf1c441232a8a5c65f471a1569a17c6384d1addeeb0411f5f9296d489be7f7cc8a9865d97554b601234b8aae03c69a4b6554eafa9a5f39c7ab6f066542e4c5912e9e1ad1b498c650021637f8c922c7789f56b1a4da53e167689568a2a457416f1940f5836f1c7cac1c3663d206769089181bbd997aac4285d1f863e63eb8e31ee0eb11b3b273b6a0a7c58173468295afb9ce1cc226a561801d5bf8bb96b635479140db24f582622aae51363d146d9bf904be688d41753d1d288f500ba8f6929c98e1b2dcc94498b39ba6f5c09e05ae9b620c90c56144cb08f849030c645ab0c270dcba2c2b1a8882313a4611656ea3f60159b3c815c47b1cb3b4ee255daa6896c9d31d15224d0c1018466c7c90c80b3a1e5f2bfb157cdd3e01dac3233d0b5d1e1f8e8cbaf7846143da9d2336ae493ce63ad6162e401f8eaf15edc76b1c8de182422a495eed82bae07006683bc4eb888c54537f198ce9248d71bb0204dd048086d930db2c2412139c83db870ee4f3573a22beaa9f59fc78aff7c3fa6bf3e0461d8655147c387011f765a745a7b29d65dbf1cd701d9e2e30a21a47a949ced85bdde1e181794971412188ecbed83d60b84d1e70acf1252ae40766f84bc4a1b0c336884e3a94d747dd3f6433310aa7f514d1a303747c84474d7561deebfaf5fe52b02411aff2808fd5f453d0484341a427228d7357dd6bb077840939821e97f4caa8b51e5fb5a11061a7eaa395e700b308dbee1200935c990f20ef1cdef250ea04cbf58402b380c0df423ae12e904c306e8f1004c19128a7d680f011daf041a6ae66a9203fc01d3b37eb5a3445b5eb10fa2faf4eaeda3f87645ba75aad02234b490d7064ef030e13b78c1dc7f0f8b9a9e2795531199e664e9548fb30b8708f611c2a0c8598a6aa30fe95c4d6be3ad28c9a2cc734cef8f3250c16e8c1674bbd622cb203a4181b543905df1918ce3412bc1e1ac9050ecfa5a96a0c1b3d2ca4d8d27b45b494c8d7068907d0b77d3546526bede8a36de0349e330097e2fed4afa33b043ffc78ee20e2348ed2faca31b4ba7185957ee1b64a107e7e73f6b6a95608d333cd38a0f5f5a186215a395c49edcb04b4486fa515a0f07c48c392aae7af3b519677ca4c1f6c3b1a41e07eb20fbee2d62c13cd3e6fd5ab0fca131ccfafbcf6b57c8455175e5ce0198b24c571c23fb2e65a98874b99562dac0d3ce20dba2429d4d2b2e349422e41315f40485f33b9b51340039953f8ba0c4659896a00fe403d6c244c04dafa92309820d1573c76c7f85fec0c06dd279861f2ffcbe24b2a7670eda0522bd156543bdb27b98df64631e7c9ddc579d06ce040bc23b3905bf3af8f2c32adf0db499a954d43a2cfdcac6a0b7d2d2494c1f891c43dabeb654f6914e58001d817e34dcb6b5098d21d71e34f50a7434e7373fd93ecf4b71b5e92fe3856666974df72e301803acdbfc40fdbc95dd695f22c95636bae8bc0bccf524e1b64a5fc0ce6e4d8f84eb9742ca6a563912fd6233208024ea5d513e814bdf33835aa24caf3e078a5746c1ca0a8ea01f41f5255cf5aa1527fae8bb2f278aed3dfba120c24b87ff3b420b00538a1eb1f10a80bd766bcdd17f34da7f5e369e40f511dc69ebdbc0d162ed13547f6e9db284b27535f5fbac13d577be201277f459fe6e1dc4f048899edc840f7c49901448310c4e7ff0f6e6acd5f563849f7cbb0609e1cf7d3b8683a232bc1e094fdeefa21759f2e787dd8ff7ce8f75b15607ffc925980db439ecefc14f76d12c6a97c4f8be5f20aff7772d78617ca12afd0870c48add1aeaa3d96def52882f35f25f0b22dbf7ea2ac9f0a0f81cbaa270c06b43cb9571e13335a65a49d58e223b4ca82a48a616904558dfbf60aa95c1ae211fbf4e13ef6a7874154ee70b06b56bac9ef1dfac4ef6d46aa6c95c2373bdf587bf516e7e6add37d9ed2fb5e002e342f29ebf4442d0117e5db781c6b04130908a8af754c15c95747f623b0e5ba4a5b4c5d462a1543eca7f87fb6f77d8a02b1bd385ed3308c8392731ce6cd8f050d87c303516c88cc78d003a404edc4a9732e1de89b171c952158197ca8557363dc50e33bd72080243b8cc3599a1dd88bf979a643db760cd5bf16611b271ee09ba04d6fc307a2319d8afbb3cf8073e865c7b41334bf963cc509d5f14e81504e5d936745769e90e41613bac99fcb037327a2d3eab2e4c8689359ac57d880f5a537dd7059aa1336788841c10ed7eccadd46b3eee23e72a5f10ffdb07b87d33c6e645d1c1fe97304b8b05cee9df46f043e657621fd591897d702f4212347e32f7ab02da43514b82eea75c71cde607d239b3e7708b7c913b2985a2ebbdda48dc97b39d084feba3a015975887712de014db902d20e5908d4b281982a1fee0d19880a2bd6b133b761f5c0ab2525034ece99480dee77d5b96591e1200f7067b8b1a3f97635063914c92d4da3772e3da390b49f6fb93c65b263671048f1c7c5b2e3164a699f79ccbc74fa9745ae3b483a74fa3add2e13acb085895b195d3c3284f53d254058cc6006794c6340fec0ee9f36c09916f8fd2978bf3720c1e0a3b00b3a3820ecc3deafdaf1830e1493a84decc271b632cb4bf58b48c923f54d989176b5ca8a2bf912a6f800335c991152cb85b70b89c9208347a311126d199b598b1d6221634921377565d4b6bd1d864540c899c56feb8ddd02335f6d2dcca26ef9ac527cc68ea51999ce8bab4116b6a7c7817db73a542fe2ccf0f73e7521e3c971f40f3724ce748c844f3ddff2e19b9676672019ca2671190a8591cb9b03c6fe16732157804054de66a765b6c1946c21f2789089f7e49924b6138d6e2dc1e655b366c61ccc92e5e68ebbde3c67cc00535ab715e30931f35ac025f4f1ce472032ac1f28a5a30523a4e079596ce8de21dc5ab33aaa2b849e66a8a5abe80d7dcccbb15ed71dea9d9586a2d99a658e60df0ba005dc1cf7f19c370d431300c833054d5697b96527659f6eaf61d5814a97d9d652405ae5148dbbbadc9bda54c49a66a087a08bf081f97cb5117219ca295993fca20ffd888422c3151b952aa7dfbec3b6a78c4ec07bfa192aaf646e4b356a183bf60987a9c9a55588f5639ae15f367247ecb4e472e2c95c39454e91b91dfe0fa68616fdadb6d36e701d1a67d895236001b7c16f6a69d85a8fe32bf567038e3597abdddfb3383362345e2985f3f425ff3adf14a9e299e107d8b53ee2ed5764ed7d6d334a6cc9ad38f070abd82babe1ed2313819931582949e56932c3248630b1e33a022a59412056462b2199325929283269a0813c60ac630010aa2adc9a9082882f0934d29fd0a152f374b0c5ae044d21330888842802b58e0d0fcbeae087df6fbba128392159c9a72af017984f2f31aad8420226050e4822228496c78102b39e835ee23041de1ce2058f2d06b4a0e84bd768ee9f312a4e1ae6593d69994d760f9d071322ab21c460862e2882c95d69e79d9c3124c30f1b2f42d83947efc1170e2083492925e5d84016a2184cc4b4f4977500b255e3a0fd4ef4b8b13fcf6fbd2c2e7c32ae714997761d46d7a1b06124b582b7e973941dd5f2b3f1cb948b09dabca4ce123635304714257621155a50a4a36617241bd79195d71e2b202f44443c186b2a24a066536e9bc436d91c0b292c58f7449e18cac68c18597336a40e1a41382a28910143130c5a0a8f2a5e7d78804585e517eb13c2154e317cb13afdf504b8c90cec45728df1a22b19994ffd22352d24a044c0c0c1e455f2f6edcdde9859cd75f0c7191844000e5451f4e00bb4c981a462ae11235971a4616113d71269a4916edbe90725f584d5f982a7d618a7ea1fb1782dff40b7b7c64c90ca1b200015645ef587371101daee9d074683a341d9a0e0fc10ff29bc7384b434369be90080e4e109ca839a5b5a65238200eefe1707c389d07f96d87e7e9cc1a47865c6ac7ac71b46d4de89b56038bc54af243a0947c93be9d8364c98e79220c33d2088210863066c5b992b8eae159f9682beed35835247393c7949f4e294f710edf22a7c3b5d498cfe15ba9dfebd7f8b5cefb93f2d3beb0e49bb3cb2f2cf98947e8376fcc77b27a112a3f1a72bcdcbd297d217b75cdab45a87f6048c9533ea4e45c69a5ae792d79c96be92b22a9d3ece03c1246701b23a0502478a13fca47f0c2fa28dfe185abe5514ee3855bc5a352be2f82ebf0525e59bf7b93e30b531f7bf5fd93575d84caf3b4e4b57a58f2ea1bbb164a9a6fd782f60c43c9d9b54a3b8f1e7ddb4e8777a8f7c2fe033ccf2ea517e93cace1f9a321c79f3c646f08f0f057a4f35073ce8374aeb974f6342f64d7e8739f925d9b50fb8a9c3e283a70dee338bc73cee33c1cbb0608b78a67e738c741db66c615b7373e757ae838381c9f0ea9554f0de73e1de8aae786f7d8f09e19ef91f19e5d9b85fd90f6fdea333e3dd539332ee3739747d8bef9fe8d192fe5f5d4f890985c10c41240fcf00415aed50d5b1424849e2d475b0cc18895cc57bd9047e8b76f876748e65dc8f39b4b4fc70ef5e471cc879d6bae753ad259f3e8c74e6386a173fec2d3d77d5038df0e8a8fafb8ef8685ad8cd81c08d3b4f0f2b34e67f3c2f8346c20e4790f68cff3913f1a17346737397bf7020df14d1f4d0bf4a913d19e86fed247bfd7d013463f5d729d33cbbe996973a6cbb66dcbcdf0f3c80fa1a11f8a08a4af12e9487856d237f6a64baf67db4e029f74f6e66703eba37707c3b6121ed6cbf5e3b3048724ac550fcfca0be3734732b6ba72ce2171b39ed2675c1c65d4fd9d297a72d041f318dda4f986da1a29338e4dd1b52f466f8b9b739e11ce6d78c93b12bfe49b0dafe45bf46a681edd4618a30dcda3e643a20d19203078b457731b9152aad9d0341b3213470db781e30783fdf14bedcdf46c871a2e920cacc2e1d389ac0fcd6709cfa96de6068e8f3238736e7c327c6d83b2f19d3c7e6109bf424797a1abccf6e9a6c617d634102e79f165aa17529417d63075f2c212bef342cec8fc709166fca06c0e8467be393b460e9979086b326ad33599b166d24ca6c89152ad65cb3029d54a1a2d516d082dd112a55e72cd1b42292db90c3185f8d38950aa65df0f67d34617dba2b030793b01f4ed9b1351de33df66ec93467d3d7ee1e6820dbf797b21ffe65bf4a86f9f117a247ef48dbde495963c99322a7ba954797ce63c58c5ee3d7f71fbe4db9d6f73be45aea36fbc25947791fed2b7f1515e2843da7961e5bc30f51ba39b429329ba69884932389dfa90a5d4dba2dce871a5a8dbf6458e9c24b66cba3efaa36772ea519d925704d57d74ca1e8d0bbc26670fa3e90be37755ec0d53064b6e72ea0d2939bbec60602ff976dcdec4f54a3ed4f59842894b5f289f86f8f4a369a1c78cc1a93f38d1444a29a5945256d1f221085619fa761e3d00e082a0057fe66de0399959f3a9cc933366e6c9cc9339e3788666d98f4682399d67db10429dcccc739a604e9ecc3ca709e6e4c9cccc5599cdc9cd734e66669e734e9ecccccc3c9999273333334f66669e734e9ecccccc3c99997932334751bbb9ebd827334fe65a6526337336e7cc263347fe345816bf265b33737307a4cff36783adceccc82d5f88ae79d1851d534ba540e6f29c65596c6ef24d7e289f96ba7dbd772bd48f1bc82ab982bfe6ccdd0b350c6a1f97511a8aa03efa74ced90b71be717eb020240622352cf9010a92f2d252c4dfbe9dbc25466cece096692f7c6ff2ce8bbfd1176abe70e6034b429a8e911576fa0af1337ecedb3d213479ac22e6d9378fdd0bec9b73e7820d6f7290559b6f5fc86ff21a0669884f514dd47d55e9f2ec947a2c129f7e4522c8a5c0499a3bce930d1f8e870283387bd35eeaa17a0db87149053e914a07c233748ef4de188da2863de5fb09831dc460b36b6fba7ddaa683e1e31f069b591f4a974b02bd92dff4699b2c35e49f6ffe6127dcca5c918180eaee76da546b22e34935337832e62fcae8d2ddd40741265851c3b2a258835dd67cbcd4f550f3f9c86c8249e6196cebd16361ecd89bd1b1eef9ebd8dec48e6946d1477677cb36837a94c14cacfa90149d1387d84a0c9ebc09bf56827079d1e50ff03be405135478e1fa162c6e8182488b94e15214913a6789162b7a11b1aa01cf1e63110ce72c41c1b670c1b347319c236314b5b06a5f5e7079f608eb1c5e7192185685fd6255019ebd5f9dd34c5f2d84057bb358f5c3aaee25ed62154d37ab9d244d99ca208da49132be5835c4aa7d15bdbe01dfa8ad99b3b2aa3fd9528ba6997c95981c09cfcae45b7b9a9b3cd367f2f6b4cfd43064a552e685f4e7c7433d2614358c2f18ab8c9218641f62d574def2b188630cb6c73fbd65300ceab018130e354c3dc7823e8c44f125a6d268be47df4b3867573c54a787cde254a7685412e6c3fa33fd551e5a73aa494d6ab235ef8e33a3db443f7507ccf1d536b18d349619020b55baecd4657ca543713d619b761c56d170bebf390dcaf74f3499cbcf4c1eee781acde56b4ea3f9ae3a198fa530d85e3d94b79e0cea4e2b82f3a8c705993c96c2364248087d4b86418d5dd4dacabc8d3e0cb64aae160bb110bff806e6c9e676e589cfef8b0a951a24cd3c154519c7c99f55467131d84f9a4add2c312eadacc5aa508a11c3aab05d489dd34eb8bbbd5d9dc34511161446d8b750ecdb935eaceff6f9fe29fa762969e6754cd48cab9a17619d94ed1246897eea0e26eb3b8c92ba9c95c119a3c71823ecd97be527a919db9658755f40f801824f2949dd57128c888ea9fb4a72f2fc494d9e5d32533165a90842cd9e59967de1cc0a2906a7672bd08f323879bebde5171ee19f2d39a29fba83222d537e5f625e9ffa7d8549e3b75ea6ace23407c2b35b4a67158f64707d77e26b4a80417e7d9fc71039bd48b69a8794524ae95744f3ec7306bb87eadbc922f1e317bffd8a641ec6f699b917d2703b7e45b40f4afbc4a935743961b06de7441e5f6be80e95017e6da89772ccfc4604e7bb6f48919ebe727a229045dac34df3ee748230892bce3957a204c90d6356d27b7856f2eba1ce7d5edabc7d931706f9d27783921db3f2c9b1ca5cf38a40c93e1da44ff9499fb1474e397b525ff3446d2ad19c66329d7c373f7922e87c73de3c259d23e159755fcfb69d044c9fb76d0343e74dd430fed870f6e884733a6793b3c7c032a8ba46d38673a703a5f3ad39af8eaa21e35bf56ac87ce1919771205cc30b677819df2e02fbf543f2321f4eec26b0ab9e5259e6437d1c1ef9eaa6cedb7c3b1b9f3368e279538daf3e9bbe30c8d793efcfceb793b7759e92cd91f0ac36252747c2b33a7d3d1ebdd267036b021f10d63a18a847efbc5d6d0e844bdee66d1be7519f9de6f5f0aca88e5d198ec148dd2477ce386215cd5a2103e8638caca772e78c23c761b086079766098c6d79db767bb7d9d4355a077f64130c6a8c7105d36f7796c4b6810c3677b3d4cc60669633c66e546907353a77b3e4b612a3d432ea924a2df32963d21867532762fbcd4dc1d7477bc7ac0965f79842d4614f607ff20cc483effe701c836aa24ff4d91b769fc973913e762dbfe83363cd679d4e447ad95ff4f1911c576a3400420a38305290008d3a7f5f52f848c122fa3163dbd538ce4ccb6664136c767adc1c39666624d846d4f61857032372316ebe44dd338dbef11772daaaa4c714764f58d5f4185f8080fb20a5836f30c28e28ce29bb4f53070fd55ba032ed2cb010d53df7bde98d5a0edd9a77b75c2fb42f12cd96dddddddddddddddddddddddddddddddddddd3d854c2293f414728969934a240e359c9149da8812ab8da86c62a2861e23161b89a296f5b193c88b97ae790c9d43bf48d436d2895071893aa7852deae22516386ffa01c1f5b14631744e942212c5481489f646c6708d32b036d2e91ad118f6463aabea884425d644224a542f41c1462f0b966729b4b3f8a418549244e45367a2d8c16bf28814e74414465c98aa79c13511c5d05114af8f224b0fa088419631a4929cb0e317468f06e9024acaaf08ea37dc31cf098802452384bd7afd90d4e8d52b4d5197e50ac2a01006af54c96074ad88ca31685aa2721ed747e7a5d251e97bf5e8910482ec61ea6595f4332fb98c57bd39e7dab4678e3a79e650d8bbd329a150df91ec4fcedd0a272f52c2983163fee45be44aa7209dc39f0ca72f628005353c32d99b01ec3108abc20de3a32a5c230db02a3c92c5c02af9550c48a7698f34fdc9b022928474f654609b08c414460d590656719ff4781061904a8d5f2b3d42bcdcbe22ed2b645ec2413bc5c1cacbcf24bf90592f594549b01811d2cb88f5f2216a15bd9c0884e1843db2d7bc647220dcdded51df6eba57a404adbf2333c5e053eddbc160d48aa821ce86c3aace21c23da20c32a8fe48a65f2b498af866206a122bbe6b60d5fce84858b5af2a96bc14ced92b8c582c569255dc9716311f3d3af1685485938f51b2296560557422acbaf9c8835534fe350c464f8a4a760837098793cf6a5754a8ab1165a311f221a111b248368a2b43b056eb3c2bf921b921852a64f05a19c12e61f38bba28e01cd1daaf952f48f887f40b531f29c5595265c916ddaf951e29397ead3019e3bbbfb0fe263d4986171bb056d187e722918a0a5aacd50744f514ac39cbb26d4d68faf514368b37929d34104fc0f2e437cbef6be88bdf6217bf188c6afc42225c0c0cf29016dfaf2e5b823edcd816574e5c452b4011f6d1bb1fd4751518ecc160fc21654b9f3de7ec2f9ce1e5440304d3a5cf245f7cd6dc5c6486cfbc6a5f38037b43da35af3dcd67a82f8134f58e3018bf23f2b3af866f0628d569daf7d96550f57ead3019f3ed39a8e1c68eb0ca888c5e039290b2423a43fcc25a532977100c7136568313d51fc7af9525505e280afd11de586c0606a3544fc2e4717aba0cad15255d3ccffc5a513283e72fac11b6511143ea12434242323a423232ba6274a5a883b8c2e58ad195a22b45e1cc53d7348f923acbe54a85f07af655f96df448e3ee56331a9084a6695a03799975944177770cfd49b6b2514ae916caa51e19754969d9d78f148f1c20be4bd88623eb23ab84440c4646469c6a1bff0e4a55c25b4a297fb4582233df94996f24d59e094c84a095ab9a93b88acf0588e7309e99b9243dc79ec1407a26e3d9bde6065a3c3b0f66baba19839a9af87cd1ea41052082be20a2890a29f8620916a88002d81759a820e98b2e4c66523fc492d8663fa4f58b2f4e54680571617202157ef0f941d1698724a47426a832bf2f2c5a9c600103072c680ce0f73545d0941dbf2f2e80b8e0f2fb1263e3f7c505910f8b29d2d00d96d02130c43c3bdd212ea45031cf5dbc3ee45aaf2ea670415ba2bcff0e69e1fa2ef6ecd1f564b6ec962dbba7f439e79ce14c74f584cd2df3f50dfdd4f2f3c5207f492aa18433582490001b6104a31d3ba6d0d0bc74e888e5c821944a21892042110e1c5f886edc9832336364c346528d1a30191957ad422814d2e914d4752f8e23dab698c9e44078c74bd1fad82f79c981f07cd5d69c7ceca99812ab89f4f6e7590c6a4bbebb9b568d25a5e6f3bc813cb4053d6fad0d687bb2b536a01ad490db506b7548ac0ab99f1f279c0fd76403da8a52600fa10f29520cfa9022512e9cd34147cfd4a5b5a8506a8a0751d887b4c87464426290bd66e3522f5da7e7673a2a124d5da8303d31b9a830b94cad28e63439691945c8d4e433fd1049cee4c3206b9a89c5209b96bcdca6975e7fe4657bd6436d2e2c5179965c8b0be2a6b04a73ad24f4d25dcf519e130a2a45217ad6f2ecd3e51406a964990904f094986042e62698608209de5e668294d3048f000420c0943e87b8290c324785c12a358b17d66b2d56851c4b036255986d799ef2e419ccb3732c5685a6246e4997673725b12aa4482631ac0aa78bc5aa906bfd929802155625ad8fa5b1a6493e2dd311ab24528cf55372b5daf4635a62e262322a4529257d49cc73f662558d73c8b5b2d717b1fee6f7d505ecb7ed0616b3ba9a2def79c8b56abac428185605c0d96912aba8b3003c4c0dc01774ced15a6d539a82a5da7890cf33211a121500be955c6de3ee5aa763f3fd986935f88574005f583f017c61ea03e0d5783a74a89953afa96161bf866687be74fab201e085fbfabcb024e5d93dcf887cf7c212d0b318a123f4bb77be8061d512fd7e09dece17304931490cab368adf27c1dbf922e60c169fc1d2c2aacdf2fb23783b5fb4c01ac6657f87b7f3858b913492c2aa1dfa7d1a6fe78b9429730a957d1ddece172aafecd5653f87b7f3a54b4c8b4561d55af9fd94b7f3258a10153a62d5be7e5f046fe7cb115209690bab1af0fb38bc9d2f5b8a4c455f8658c580dfbfe1ed7c19fa42b47d2192c2aa05fcfe8cb7e345ca146e0a1756fdf87d1bde8e172e469d111856a5f0fb35bc1d2f60924e495a58e5e3f765bc1d2f5a60281810ab14f0fbd5dbf102e4aaae28aceaf1fb286fc74b142119a12356e5fcfec9dbf172845403e909ab54bfdf793b5e9e04d908a2c2aa04fc3ee7ed78a1f29a790db10a85dfdfbc1d2f43443788bab00a01bf6ff276bc7489e188edcdfe8e972dac3ac0ef97bc1d2f3b5e8a5e84ae48fc1d2f457bb3ff6b8505431f66ae67cf58d4a7fe64ad97de9e6cd9dd53d3bc35cd67bb1aa85b0c1a7d48632f2406d9513fd4ec0ba3969ef2cc0d54c3e823a7f04f50e7702d225dda39579865592c43925a777f2d06d9bb80117334b3e95c6b7a9c6b4e202dcf5bb83cfb5089891a722d8ac4aa907f3817ab38a31fe762909d6b457996f2ec195379f6c99c8b55dbadcee98058fa744ed73eec1d10e794ba70f7d339a52614896bb57e93626b298d9d906ac8b5909e9d6bb18ae38058c5dec5408e8010c71464929669779cce89818d76bc0039a9e1c272707d5885548055b1738199d97b0bc9420d4b3867bf1092f41c6eecf7b505eb7925a6e8f7487b21bece10cd5f900c6a1e6a9f6b2eb596d267664dd1cf0d8c362fba96b9d043daa5ec76a2534ae4c7cf2f6ca721fe9c3c293b519d8d7848ee2eddddddddddddddddb81e638c5536caaa4a29d5bc57aa648a41ee9fc9bda88d71537b13e9fec68e5c6c945531e2f470906ecef4369b9ffc769f47dec0cc47dbb22a46766dbb393264973dda266ea971bbc091f1a1869587145a466567f945f6dec68162f399c5133885e9a1941c653ca134e9decc29271a47b0a8d2398e8b6dfde3564aa9d636deec7287ac8d85ab32c798394c6566662a314e17d48dec2506a1aee7c455931054496466894daad8b78bb865f7e9cb8cbc656b4293d114354a51e3ce297db4172d8d916f88ae67d75a5acb64d42b4899be901b51a9542a95a81672041d1c91a28176c6b6acda39e7c4e931e737a783b566ecd91766d9ccb2b93730376bdb50f3d5b4a943870e59c6599679f66559e6eb6d59367f582f5b87b5913ed24742b139f3ab611be912051e26306abf11c99c098c3a3f943e524aed0cf0d2a30d953dc2a237831814623088a353674aabab6d247bd49b450c06c1a26c61507a118cc1a0a019650ab1ca5f7a9cacbd91a174c13a87d2f819892930493106272cf6d2e7165685d2e86112f6d2a3d00c62504ad71b4969f4465aa84f5dd3be20d3b51985c6a6d00c72e9d2b53f32972e83d89c989291297d9388b5915e9a9f9597417b237d06bdf48c657a82823256a9cd1c3a0b157cb76f9d4ef7d4e833589c31806f37753a0d63b1583dccfc83089f2194e072032954d8005c83999999b9d4e9300ce8fddb69c3a85c81050fdf57ec0b0b1b7c7b0dab727c3bed741a8c624805426ce103313d10032749115aa7d33f3cfb15571cf578f6acbfee24567477774b9fd10a2bbad8b460e3c21fdfdea3bbbb5bb52f49b082f5ecac42f7922020114512218ce1a406ab131a85efeeeef61d1f5baeaa1083eb01a55a1542e8e08017f85451049358154990e049ab56e1440a241d624adb2cad628b264fa668c12a95c14ab5159f1d9ed82b422c79d6772fb0e2038edfd7152745dbd684d3f5dcc4dab0772b983e7e720a18557e28a770328b042393187ca282415895f120450fc4787e707d4c67b7d91c196b1b769e0a98394c27128875ce04a24d0e38788e7190bd619fdf6c7df367abd450ce9f6797b0fd21bd94929130097bb6591b76064110365d3c67b0d1b0af17063131d38f4b9997be5d1b1a06792d2b02456edc18372e370f4fe9da244bc92cc4e7bcf8db9c1e3f32183bfefa892abbaefcf1d1b31409b94af87d15fd7c2a3d454bd1b171507730580389ba5277488c1f39d7c7461a50d95057d4e8321cb98a0d65850e3efa9e76737232cfbc69a8ef121fba9a5ed2a6973c263d5652d3341afa0591be2fa4ae26a5da076502692cdb362c2515544edced5c40d1205fb6eff66ebc06c0c2150b23bb65b75cb92be9aedc95cd4632989114fa208dee214894814627d9226320728389b15847bb74970fa964498db5bd16db1b20c49ebdc5acecd397dddd245bdcc14a2923952badc418e34e123a49f4112fe6ee1e388d430407097e29b1cd1e76ee4e326a74b9737726fdf4131335fa9c937b88a61c64479dc9a15c2ac86c35a53de8963a7437eeb8ddb11ff8743e70433831d6803ca8c625e5400a31b6322affbec28431e518320c97e77e5f6160d9501835dcd8dba02e1466125746d05017e2711569d66d689ffbd1d0cf0623f6b3815dba0d46689f90f9ad0df26317744e4cb236d175a03d44203efade5031430d9dc3ecedbc8511a54fa459f6da85b07f488cd80f09926c334dd31c478b381587b6cd7ae836481b8c10223f1a6fb761b24b17d29e7d34eb31b44d74304c0c0b34c418820c2856ec4626b02b16da263a47d1458f098ed8a1055c74e45077b547abf92101d2366d13648d584793baab03ac76c59ee24e02bce26d236f9fa0508057fc6ddb44a3c9135bb30175f99486faae4abece71bedb3ac82a9ae9fb3c7cab9de38cfa42228ff21a5e38f3357c636f4f453f7958716a7888832a5de91921f254c3774f5e4f5eeae4613dcd30c81d561c19e79387a95aa3c617ca7ca98a3a7d33a954958e83c14a2e51246ad8863df3bc88ea1df485fb82459ea96d2dd89c35aa816d339999396329a5cc7832b3942c25b3e4b8cc2c9965ef6693690eb6eedee92568a99773ca39658c334b8d20a8d1a74b2f5d99dfe6438d618f29a646ef39e59c52665bb080448c31c6185940420c99c4b63521477901226ee58e1b6bc3bea9cd89442e77bff8f0c6732c4a6d1191518dd3d91504a5eb5e03f2901b18696c41441a5582904694347a5881835e233f1008a3ee8ef841d20f8c5a4f000935773a254ab56ce2645c6c5bc3d2c38eb9a4fc61951356c5ce8565b06331c9b17988fd3b4d4935fef26f5295a0f622689733b2c0f9853d5ce0f1753a6094eab553a2b9c7f30c4288797797a78da6a8615de76dca4c86cec93eaf5d7e9bc6b747c7410de34fffc475df1cedabf9fa3beae08185f5c1811636278c49c27cbb090b19f626fe20b97e360a11f17a9bdf571827bf454e88c18e52bebd2ceb766cd1cbbcf3baaef3e8651defd8b183d9638c125d0c1ec1c0662edf8ea4f31d1ed648b31d9ecd7cd631242cd5694c7ec351d9157582a19dd43f5e73ceb1369ab7e6329a5303bca6f9cfcf4f498656195a35b7e122d8d06669721cb76d9c562a7d2d86c196f16c782278ae11f9f133a7a04ab30c36751cce31a83a9e7e9c27e325afc5ec88e0325ec5a8a16cb568ac37a89541ce29839ca7dce4d15437797c9447531de5357cf36a387b6127452f79d18b67d448e3db3a7c5b3e61b05dba648bc657470e6ff150398fde3006db7b0b83ed6215d740ace29267254f67fb685a909ef90af2739e8fe1e3b4e1dbad40e4c3e82707c23c1f3d227ff28eccb7f11d209e50f2e901e9cdeb24069b93f1c299e7bc7a46744cee02ca6b7c9241ce8134e7e17093b74fe3e9f07278298f4611bc1087b798ad61b02ddbd1606a2fa8a16ce1f81ae906950a8c55bbf9747dd8b06f18abb6e800bf2f349e3c101a4e12f0fb02c3a5c168f97e5f6082ba1566c9ef96df1710847e8b3e9dbd2151b6a6ac9071e692bf303a0df1d9b519676f26f3367ea939e7941825902bd228448c39dae9c416d493cbb83fa74cce3d863ccf9578b44e87529fdee6b4d3a146e487b24553f216e75ba9c4956e7842b888c1f61936faa6eeb0d8e9e0a17f3aa64c4bd4eeba839aa839964a22be47a0a55169326f2cb66431c45a752d20e96295f47630063e67ff748e0422886fffe99c5dad3ae87118e2b9e7193ffcfdfc7050dbb4d30af6e762b04f4154ffb0933aa9f37aea1f0fc1568fcee93c9c096734195494cb7c3fb0b689db1782da17e27cd63f3f7ddabcbd9d70b732149cfa07e6a80f06f330e5435ae4966f9761981038a8732410dbb4f317ca27b47ee1cc87b255515f28a5a4be5052f9e6a06f8f43a857d4ed648b25a57fce70f2fd73c612a0275898708961e971816981f9c9e287f249f4f9fb4aa38cdf3aaf9db04dfcae7f1806f1332da17d7b2883beb5b87d8a0e84e32781d89b4eb6f6a61d35a6b6648bc1fea161dfa377c239bbeaccb766758e05d8a6fda80b6bc1e0a0c03f7af050c31edfce6255748e9e90176880bc0a1e543d0a691ad47089380f02403c1486324a6b7510e755a34ff1f627bb0462d5742108309865524a29813018a2f0058cfcd2e5db2510cb2019257e617dd9d2865037d8e986c863920a20a2b5569a92a994e3f4c0893d640ac4595815145de61da9adb22305861722beddcb19df59bedd537c62196666668e5cd6472c08df2e4ba039725882042e0a107bc1b78f503d1d3d59ac8f1db10b33d228c0b719ae6fa7e974ba7a4cc6e8f0a28ca3ff51060fdf9ea3dec8c1f5c4b7cbf61465189e106307212c4258a2c9157c62666666fe41fac0890922482f5dc878666666c7d1e970d723e506d8e5cab7cf743a9d6232868d0374f149810c2ebebd46a7d3a9278440620c1645c4c06545c5818a8965fe206757642cc942e68c1a521e70b1801e9cc08b1e7471caea010e56282103a430aa9049c2645153f0a0c9b39f702851258b305ec6b8f2440b8e2550b82abd400af3cc5e67523bbc06e48183025210cfcef5e051c10e405c69810145cc1054a07ac2ec66803188bed8c1105aece007263c8f91826737753a8cb35e60f1822a98606d619483d514a9188bc5ca414917dddd5d5a309e73b0c573d191113447445c74f0e48b970ec67c0a0749dc8339072759226e143848e2dbb3facd2899419c3dc400c277dd0011565099624a0ba8a0b29282f9c7337b0f15823073fcd546e15b8c20bea9f816a3cbb7910f3e25b338f8b02315c108c3c9b377110619243c7b35d2c10b231c6c6fc462b198bc76dce8d13940da267a9fd4a814ad5675454b95a29111000000f314002030140e098522a150284ed5dd0f14000d7a9c466e5497c9a3591004310c43c618630020040002440066686646800040c015bd22e5ee6abdf56ed108fe34def0bd0cbd50ff9c0b8e267cb09f135cbd5f2e041da062117b18d06a3b6daa76bd22353cbe7c5978dda942130bdc53420b2020425eb4831a314aff416b2be3e3066b2bbda49936baf56d10f37039e5d484926ee7f018f16cc4ed05d3ead6a25d8bb00ed847e826fdfb283fbf28f0d2d139ea2e0ade8eba5dca68096215e173a717b49988b4b1984600df7a0224b13bc6df371dfe954338d8373ee2be2142f550b281d437bb2ac64342df78ba03e0b3f2455cfac6cfd1f298897c719149c49df32e28d7e301f8bf8b4a51c705ab6d108c351c4cb6a1c32c772be9238adae04df8f836ea9e98e8f016425040c02c32250e98837753752567604fccf8a9a28f073a6e4c6ce1abf6a8f52c9beb262349b12f4f5f909b57b669352003b9f662d5c3daca1c62ac6bd47aae7da3c061a0f7f35f59126ce5f5405cd1bdb9108f9128f7cacf86f504c094cf76da6ad2ed01b38ab8e1c62859ee99fd6385162b0f79456ff5a737408f4f1705e1260e7a43a10ccde3504665ca0ced083fd0038101eff9da80b3185ac37df027e9f0999cf9143c9db808e81a7a351e500ccb4220b64470c72f5c6440781407c934d42b2245c57741fe1f7c57628f90d47c66d738ea61ddcdc9791f1e394c06bea4c68bd70962c0b3d99492f9d973f798cebecbd626b434aa50cb1e37d6d9e405da94c9fcd961f5e3c8e2d45d8d6d84f5c862c09cd29e99160becead68b4dc5d447f9682aa7c15b73f3a2089cf00a2813d5566b5a05f16a8d7dfd0913283697227dc8390868b9c797d232fe8adf704d2bb3330690821309e756a1d00de275836e934687abac7073872d42fd0418a4f6ae4a2423d132f18d5d8b379131dd1251c306c764453a952ec2087e5ffcd25b0c7a52750a451df4b854158550719e5c068159d44460f34429ecad5a44db63e9e2b7ddc855bda6354aafaa4917c70eb6d216c17334d8119a322c80b55b78cf9f431519012cf41646058d44305ba4f996616dfe889ad0b2f21b596ba1252e5213c6c27829ac153e2163b23d029a867216bd89e57a6285c9a3e8c2e3e153ad7a6c0da3d056e0aaae61504957a3d7d22ada207e3752b143439a92de31854c0db3f0573bb6ef463366481080dcc275ad7459c5ebcc5d1e8428c43937c811ff2883f708ed4475c4aed122f9c5407b0ec3fc8c78c03e99af8e0f10eef10c40f4e177e0b3710c81b7020a6b009975e1b99c2184d8483057f30c5f895ac791d1b43cd396d686ec7b58739c0e26e3fbd51d889c92cab9c9ce99242a49c19d7b8ba44e8a75344701b786744e47e5409719ac25bbb01bef4f9e7c6d7f934064b9a43e382eade938ee70e9822b736ccf1b4c53fd70501a5cfc56b4f6e5600f130752b818508c3f97300f83461c8c67ae4597376def84aabafbd4a28d9978601269ce0555643f73f52d3e9c229129dfaa9d44e4960e08b6738aef1fa13d20dab7632271eab33fb8b6c103396d16456cdf4d263f872ba492c317b401db676e15ce222464b215cf91089573ee2dbb206f917624da892fe16c4c67d733fe2524462a32350133dee44eebd21bde281a9a6ab6a25f544df86e30abf6b727d35f4110e86559c05f33eb5a1d3a47f11cf352d56fa8c562c8f64ce9188dad6873b28fc24aaaec0f862028ae8c9f55a89cd8af08189643b252eee577a6441a273005578d4aa6687f62b693a6ac5ad77b933c8c99d99ac9b526ea792bd63c4f411abbc9b2208390712f533ef2b6a6015b99be45f432dc6a864dd3cf88a618e41e0b1d74e2e3f895e5b1f6e388b23e4086e1e3b043ab98861860aefa0ddbf578f1cd47cf6034fbbebeb20be704e7746ad620412cf0fa0b953b8ebc6e38af336cab0f0ca9f3b61fc4bd6eaef175f719bf30d83734c08d2d1853afaf2e5c641441c2822ed535e25889f564a2261c76436e28032505dd3479626d7b4c3879622c38879dd854510825886796f02568d699c1674d13dcbeaf2d373960155e1180119bf19f71ae2ab308b29b84c3a23b443555c2759155d48cbbb2b0b83f31229cfc58ea42d4949ed7492db65120639dc09b26507a3ed21a6502a73dd2d406b78cc5750fbe60c0db8a3bcd55e4f38472248602fc8de0676f7d2e2f83f48cb09a4b9feb80969d136081cffc95cc0c219cefe87751df26d890de6424a5dc43ef8907707f2c58eb7cd50b87b1ce370b0b0760320d5fb11f75cb534af2375f57333ec6e338d8a1f78b16e55f385d92f01e299c6fca1523134109b3cb8f04d61dd2c13de0e10553a51c89568fccb84c59f03c379d9e5d34a1e81f4a8a0938c99c68353a30217254b8a920f0b21a109a758d18c8414d7338d8c6923cd99055e4fa230410283116156584ec934533459001950e4e0e697477067e91f8126e7ed2619ed7fc4e15da6c02c8fde3611ac140b11ee5a9714b5ac0004f2b02f7e1ebd5413f9879b117944a554f316517a63069283f3010d0f8f4a12d1601d44f8e336241150b88b67d06b76681b00f34d1c5d5e77292005c99f2d593b25336ff04bb423e0cd6a05e3e382cd4725cb8ed5cba1ea854d41ad4a0994865449d75431c732098608872fef3629ed8ecbb380cc37f116730a6e2f484e28227a4ac90f6e94d632d980def8c4f079c285f0cb7594167274af35500070d0ee5bc8f159043135320f383c24bc56e4ffa08bee6afbdc1cf6faa5e9e1b99853368c89a23ce7c4c50f202f4fbe215d9299b5d838dbd530f318f8d894d7384864656bbf5d2335eec35f6985e2d73278639fadef2c53b0c29fbb2d0696be2da2734903780e28f7b99f4b63a2e0270494a36d766d86a30933820216c80fef4cd0119e9737e3b9e5d12371c0379e1023a94d1e64863e146e509dcfbea9f308349c8eca99adabcdff4cba0cd382b64b757bc7756903c5544bb864c121ea2e5a17b77d6d7dbfea4e82e48a66e88f6c8869afc2d49f4f0473e25baa587e4ee5c2e18146bbaf7293ff82bc6f02c17f4de2541a5a64e73db753390d00eb71de0b6db810bda2e00b12248ad72644d610c30a60b7c2d410ea1062cd8db0559e9930be6df3981df7891b54798f0ad6c208fff2ac33df3463ecc0cbac54ac906533ec2410f6234feac49228485ff9fb59aeea5c1fbc15723bfd49a8b297c06c6d2f7809a51ef17f02aadeec6b2c5e8d0a78541ab314742f01b43e3adb7b21e027f4da862e77a00599f62df29a26af0d7e8280a8ca8875f8d80c64885c6ab601b0432085a8aa1902f6f88ea7e1aa04ddca8da8338a9dd30b74ee72ed522866338aaa26432d3b42cb687bf8410160363c2a4e79586992d0668caaca624d950dcd8b22cd932ae1fb62b7bc1bddc1ac8ed12d5f924d714e3286fcb19d86684423a152141a36010afb2ede80378bb11522117887eb9a0062d811c4589fec9caea8c88bd006bf4264f49d4c9d028baf63221072517fd1338633699e91d2d5385a4db34e3d5820355b0bc905c67d7f2487b0d36529917454b8e5c09eda6dafab3c00aaea8641e4613b40b1d2a220915bb30da724798096038e53fe3137079466301483800e1a11a40066af46346551e14e6f467c9110ea0fbd98f84fc984b00088253091133ff54b2fa3fdbca6bbc502a6ac6bad65d5e1a85955db2dce2bf55a94668422979ba9abbf325343565071036dd993299027f1e1306ad042cee634b683a8e21033cc37cc1b09b9a7f7e9e3607bb39c64f4c013dbc3705d4b2f30856f7d0e1a62201c178322add2ac7f314a8f3d7c27b9d6738e975324740da3fb912180efbf8bbf7925b4ba3e8641a4557ddc098db1fc7935458b91484841c60472e8b74018fc6b338643c3bd931738456b7c6d37ef31c02a74d9520d668acf1f45c330c7384847c8e79940ce20a79d23711b1c60cd26215da6da1b1d667c1e910b22199677ca7e7d9669bf50b2b8226b2455f72c4516460ed0a6b9bac07918929ed61ca9b4db8f0704a76e4b159b75927bb463577f36f3643c6c6f8604c8bd3f427b0eaec349cb5e336393041c0df93d320c8b21b60057294c94642a2a18b977adae2337076d8588203c43ce7121c11b45fee93068f68a8c3a67723984bb01defc79d29320440c91ddf85d9e5d6b36c99e653260489b31112c30ea3a2147dead20d5227146ddabdb2ed5ad85a2af05b20061ad652dd8e224451935a073e56cfba0289e53814e5e82d9fcc1fa5ec964422c2945ac7920cf9800c19915094448f1e4fd8397dbc9419df5e377b69375dc8fcef2644ac67297896ea6666af067844b01c5ad3ee71bd185ca310778e83ccc6df63ebd905edbbe4770e0d11a30cf6b648fe079c5c2d830e845db7a118802e9c7eb816209d9948cc2b3b0d2dc6b95dd9d8942846e25c9e7ae05e9e351dd1240d27ac5da235b54909a866bc4ee714aec0f7167d00a7fe5b8848ec0b54b18ef06425751540324524226ead9ee0083c87dde5179ae5f24b34089c405894ab6fcaaecb080bc5b151ea460b6586377eaa3d12b8321561ebb34cc40d99fb2c2b47a7576a04f3f2ea206b8a2bfbca3bca8d0b37c2e5333adcc483d3eba28bbe22deb2cb559db68b6c8a066ba4da128fb1f58b420009e2df7d0df44427468eb269b4418a41462a9af241dc5d544d0937fb0343ebf7b9c431b0951ac5125c5d7ecf8281eb637db47de606d89486ce1d698111ae7158e57fe0d9646cdf4c4629ac6b3a819628b1dbb629d0f565638d40db9309fe35dfb2110689a8f3eb79e7b772bfc096e8299b44f667a1a0fcf55186951296fa93b1c83bb2f1de6b72dafb37aeff948f67cd45ab8d29c42fe4ff1eb05f34b9d1e059a1af5a1fea673e0f5da9104302a8a1e10c064085edeb99933537a5a0c9eaf0e4884a1fe41e381e14132965d6b76c879e4087198624b14a0f4e8af3a6421cd4ab24701c159827038fe9f4a13ec7593f082d145902ad8589469ce3a855c646bd7da3cf6a6cd8795dc5667d1e80a1e4cc0da6a12cab1733aa86d725d0a2c2314979a83e9ab5f096574a80cb0715f1ae8abbf8d153da409eddecec066a0bab9fd5a4fecc439ce12c6e0a82f54174ca2c9d486a2b22200430e8d0f660710ff3850c62c0e7a16e3b78f183268282e243f54b882d661b7d596c0186877892b8bc9a6b4e16e2657ca397b6f4526cfb115d0424a06a422e5e73fb6752cb01ebf82714a058b9091ce778af52ae3742957f7924d84293638e74d0f0964a653df2c9d19096106da4d54de6a7e64d9afd3b6ed79e84cdd8e77b39cbf375d4849c87ff4d6656205b210d2d2c05e75604640b47bd3cb6556bb559941449280d0b70f40dd8703ac0520e7b2f6609eddfd6da824815a4fd1cbaf367fb7982c8d0bccfa20b513589b349f56cfcd8f99f31951ffa33c0bab7dea4f8cc3ab44954e1faf3e02b5cb7a0ba1b08a46e6215119dc21bcdc3d558462c871ba847dc8e051f0d622d62d4f8590969a6c2065bddda93fd64caee9907c55ad19d319ddfee9012681e66b1d5bd8ed5d2cda5dcb4c2d5b914ba75250833fe6ad37c1c9d58e605936345bf05a39f6aa03626af43ad0896f158cfeb690c11663a00a494352197e8583288286af095796ed08638007558cd721b24536323bff2476343ed260f581556e9e1ad2a908c4dd626995d0c83e581e21076dcb03ba2f3881be220535bcaff452e62792ce7ca088f41b48df37a0201b1a1fd84f256910b6a9cf9ec2d2c26e809ceaeded144d56a255b3c48b72971df3da8de83b3ae494e0cecac5b833ae2d160463346093ba9660f642db4b30eeb05888364970a802bfe3e288738bc841679202b0c49b027e7ca7f3c25d85ec8e32f3e1d80914513ac655624f1d3d548386167d99b4b1038b4ce9820e3d5f9d230ac04612b38848fef1181fe15360e344ccaa1e30d34b647eedf3f836cff8c40b56910084d8f18f93c8fc8c6d1b600f9f1f416424cfc789b09df0ff4df124e7f40c472c1bd42f63a918986ba8a01d82018ad966f0783f4663b168f1e1a2e4bd92050d1be222b27c38e74782fc41c7460eb0dad2d3a7b19d7bbe3d0487a688ad7c7e5a8c1eb88096e7d58bb70cb249ef16adb1747809d7a3c2aeb4ad4ef77864f0da3e61f0341cfb4d53f5f4d9533407c4dd32c7136a3c472fccd0c1a8fa2963fb86e5210550603bd4594d572a81aac148b5919af67b9bdb1735e46d26c6662741c1e4f042808c0228293cf8982eddc27761957812bdd65bad429c0a16eac02e9432302bcae5210db97da6010dea5b76cf92562aee9d4063cadef50603356c62c7b9d8a0b74219e5ebb5917614d3f43381ca879241dbd79b8ef1afddbdc5e9863be9c688abd06490c221a8d88e63d361a8fa77af000b194d623f68e60778bdd707c100ae8a8b842798104b8ceaea1e2dac86aae55a8c5416d02cd8eae0c7503a4a2f35b719087430078622bf9c72a0c18e24d008371bd680f38001d2522935f5aedcb967efb091a7edc56561169244eb4d1dc9a6e3337733e00afc630109189f26d2ffa3e050cb909f452cc42f3bda45a2fdd8461a961b1ef929566af2ce53f6c36d06bf04e0e004a43a5536241cb68f8704dfe0cf9fb1a1aa4a9e134a655e60f18afa0532a975debce8891bbe07d5b08439818b3ea562af2d4e1e28b8bd2b34fd6a9bcea016867f031e49605c9119c88a4ccedf533abb17227dad0864017c014f712af5b5af272cd5e5012f5e6434a104f500b57ea0ca63c2dbcc8d771f5af1f2fe2d526bb57fafc1880b7c2563079d9ab04b9ca569852e6e096cb44a09f0d869482a5e9c4ad0d16629a8902eb488ebb54f92247cff3be856e0eb52ff91137b0000f1167bf726f280e337078c83d0e3fa7a071fb961bb91ce207d38fb767d222bff3d8e55923719ab8f4e697b2727f483a40f7b881564e66d0fb719957064f01e1a7ca67cc5859c168cf40a9c33037c41639ffccb09739cedc4aae07423207df8353ab2896787421e761c3b860db55238f412c25f378dd917e978b71a0a5cfa126c15175ba018e58a45aee459be07079b2479e151c445cad81e33f680310bb3e388b5ac69e787318848ac3f91856f5ec782036b31eeb778316b9e86a6a28a9781812e3045b84d7a54708515931342f0fd24947620d88f4ef508613475e7e1ecffec7bd088850b89fa00287d562a68a6803cc2c11503f223dd6f490c215d803087a22718d75de1f3574527c381577609af34490ce8a0b5140f9c7519149d615e04015ae4238aaf93b0cd61f149f803c49bd4cfa28722b0a5faa917e70c5f0cf0835c92a39624df5e00e602ae6724e409b56e0a840b6781f81cb69833e5aa5325177d8fc3ae270d001a1c002ff176a30b7cf810de5df50e222af908850c17f6733130962c2ccf756cf5d262bee1abe7165fd8d294e508faf81fd009db683e345504f391ec4824f512d8193568e9d55f27e60e85651fa81a25bc5dc0f86ce8afb0a5d58293d7ee0b20f605a12fb944d9ded50a80d7f6cdff0eff1e17487d0603231d9518c2159a1cd2fd0847093d708ec251d21be57fef6e502e9f9e4e1b5e78cfb584d37100a350b4cd1b097f05adadcda43ea9cc7d691a22948531562bff16a84e695e34a12f3944be928c0b0c3df5038d94fe3129aeaf96a6a95785bd6dab19743284c07ed1dc0a773233b7b13dd633b0ce5c94ef290e0509ea3c6c1cc0388c114e2a93f8b02d3f9a63b32d96723d6c22fe65c3dd09f5cd8daf40324d0a4a04476448e84ea8779c5a2652ebf5e912a8404b2c87c89cf67631dd711ae670f02678d383dd01ea9cd816396abb7ec2cc47b270c258a4a8721ecbc5859807c19c0424c1a2c9f650680e2de3280b140dba5a331c7f0cb480c6b5d18e7f0e1a631afe5d54e990fefbc80375391300e8ae6aae20b4e8d36c0210c9b5d8017bccd8dc605e89b9a8439b43897125f2073b4090ee1e9ac02bcb0762e2426e0f05434cc81e899da8a6dd1f734c2963f4fad05403a716b82455f70942d238d75584e095342d2b539062f7218db80d3c1e3610c42fe55b12e81cf89c122440715c37691aa33e790a0d1ee1709afe29b0e6f775345a9269cac028fa01be906b36edf8069729cb8b40a1593aa6bbcffda21479eebd91db31efdc0647cd6a76b78411a915ff6f15c8a649abb8d391bd78b7ef66a506f7723628f3d6bf59983c86a536652805e1cf5f56e63267fd33592481e34d879868cc311566954630b3046cb7952835ae15375fb14628db7f035608e2d98440d912056b1fbc23ed8a932b4a469de0b59c867e17ef03a682424d29705706f05e2a95708cb935b37eada3c1c588163a1086ad5837fb307d90e3038221038c64fde63444a96a1f817ff59a454e8336827e7ab2751733f3ecb8b7cea10645e34e172724e347cf55c8a7c09a04444c916eb3f939c4e52f3a0d00aa6946c8b1d41439bf803d05b33fb85b9760fed61243f95afd7575628b8af47a19a7ef7488fcde0fb4e2d9f7c786c3c4bfe4412a3925950ed5ab63872269149830e111e600ebc29075a7df8de84f801313045818f9dae4784d654eadd824456076e24322b8aa42e93dc78ec28b5b0c5c4c12b97ecc53b84184206b26e49fdd55039bf0380a299e8e60b51afe7786af694353d73b2c25bb823e8ea085fcdd14bc5fc387067ff1ae97b36aeee4240cc45faac9e340a1e1bef74f52a62aafdf7b0c7f101a7e6ca96bfd0d61dd92eb0a63297d12bbb5617e1bd3eb01033a47e44d73da823828ad0c3c5ad6ea1d75d72c2df1546e37e775946fe2db8d30d08fed43015e9472ec887606018d7e20c0376986426fb5a038bcb15d426e0931ceee12190175e0af2248f1e2e1cdb7ab970f2bb39b7d931a8fc624e79d89703d9d245da4837b76ee8e59d0941e02029e674669f9e1a981262d5a27e2eb5509070fa380bdb207150978b709838523081407c2d3b2af45a0e2917096883f6f6a27fd7a8301895df88d9cf76970571cb50d754d0f5f269da36281e4274ff1036999b9186114017b2a637cdad77e396a08eac2eeb3f5477fdb096435eb5ce86d5a5f6ddacdab9146327ed9c5748f6b7f2f08640da455f6e0fa129b49dbe5ded311d4bed4c75370fe3b1b8dd95cbf0900a47dae9b15b0d4ac89b69e2e521a90db4feab0acb77ece7bbf98d646275c0de617d949d4374ceec689f35cdd1c4d46161cca8ab01585bf4a778d5df001438babcb064ef4355868ba682fd3a9ad9b388635944e425585800d2ae81ee6c682d17ec5f08fa6ab1bc4368e8d0c4e893e463e6bcd702aeaa65190e7cf92eb704dd2403aaf111a8fc0db4c4e21d13360e35b72f06e913a4d211843caae4af1a3b9fffaf00b1fddd068dd869196cccec90f6af536455728c16a4e4a4e763052f948b3376a6ad02eb8ef4a61072dd21d60789965dc8ea177d9c5af7f577c389ff2a8d98b97003916eb5619d06c05bfb4a56d94103d46d16556780509fa05ba38905a394cc820f68aa1977079768d69fd8615f9a3a3d8ccd717f7d9fd121c6717e8aaff9d41a86cd909efb50b699032ca49ca1f9dc340f97b4ebf4d1d185e46b480e50cc02440e8492330da35ba59372f2108cc4976a567cde52e9a4ac17f43fc714bdef57f0bdcd9dd8eec6c366ee9ee0d8d564d0a91b370c800f7523d7c213b8528c5b911242b90270835bb03e196589e0f75cd8fbc4a8da718e69bca5091d28255f55e410d79ef13c726c297e74fd804adf686b5e057f5c2e0bc7e285ae4c111824ce2495ca6ed29805e5e4e464534da12223929aaae2fc93c4f66f7016929096373e24aaab081446d3ba1b532c5554ee2b09ed8c17816742fa33c4a3a5694ec6d0d996216ad4327b6dd73e9e8c454fb94403eb5fb486e49c093d66c1a57d195c03773e0e6f1f08f0cccaf655bf62675279f8ff77211a3ec84aae08946b0d1bcd8ececc62ce6b370a95a342ac22af5191b701d89cd9cd0e3a0505154c87f10d40145e9102b3b3fd6ce459aeb2f44d0e2e1b8a90bb4522bfdb12d11c93af5310c810d650da55df91538eeb063e8786b7c6d7b0ca6e24c0139329f0eb686814edae6128b1d6c69dc0751a3a5436d2bcfcd4e697b5464420797213b292792dc0f431167a07b7205474d83f3cc1a3c5ded7201ec563dc23e874d71d8cd71e2009bf87547aec5e1d015165728d83c9b41e5463bf9f82445ef7efa7c4e006eba1ec452c4778a7183e075dc13cf9ac777f50ca0182c7689f3147de455d037b62fe4cc4fe1710d17872535fe68b93a18cf3ef89e3507b08cacf2447fb45c3427afc656c073eb41a67b0b5a128e2378a0780b884e364711666dfa3148c556453844ace34284af11493c909dd2bb1430118a6344c2fd19e8f0d77811d2bed0615f3f1d089cd76b2068c4054392494ed6c1fe4c772a76ddbe18c181d239008407a2b94d74152a2c927e0f19944d359477d53cfa44546e8f58f009ee158f8d87816256dd15bc5dcdabec3b921fe184966c8ff81b5f3f683131cb1a5f060448c755c9980ccbbf74967aa5d72b60240072c47160c142b55ba1d167dd50f21023431a0d5cda4f53e90ba97eb2329b0822a5827ff10385ec67e7ec7d6774aae3bfbbf0cf958a5307d3593d234f54a1f9b925d94a43f6a9abb1faa15eddc0fbde29b3948b33c7f8bb603418138734ddd5b09755980ae2fc943d03f9260d9f300f21d89e2947ef2f96ca092937d605a2ae67ceb579fd88acda56a0a0d7a231e48749b908f13f389cc286087364e325c828448ed60e0cf3f8e4366f8d89f9787121a0d7d84a8f196e209af25145d8006c9416cc6323ae32ad49ba4ed7e67a2baa295ad95a72a700d84fa8f2ef41ec2bd827433cf37196f4d471098a28ad69cc64f8574342a01b83996dd21ba5e6a27a78b595404f3ce37020a4a620eb4e1211d16053a64e7b700c3988a3e0eb5b65bb57e6d5cac760768d5acc2b8cf669581b36299228bf29f8d67399c953a28390271ea84e27352b72ccce3f63f2db022606e0f01dc841a41e5c720fcb968587df6b0d65097accc9e4d4b906030b6c0cc8242ffd96ce3e4445d1afb7359516b3b3174260b89df02a23108418ffa6b820345ca2bfa034ac496cf5a27c0c2875eef6672b760ceae8d543be088fd9337ecb44bfe952cd8c52ce835f7b23398015f918c162280e6f2c82d2b762209d2da531eafcd350e3fd5ad4f9a897a2cbacbf4c957fe91ad5e63b8cfc988243f058c0d64065f66aca0d430ebe463acb86319b9919395b6392c722b59d1ae27612a5a3f3259310d8c7a31d8e80a24f45a3c8ca819a90d3d4dd8c3abfcb933ff6921d9c495c84309e9754965a9abcc31ca67953be024d13f655cfd71dd35ab6af6c708bd7abfe4524a900468e22a34ec4ae1b809dc66542d54055c9a7ac52c3d2a63b01899c18a307002c8ce3a95044b8bc1245e1b7d11c42183b717b6fd544ce472feb571db57ab40a64ae2596479aa96229b4a685fb4a66d13b0ab29537bc8a13b5ab3767d5288563a74fd3c5ad348ad52cee5f8fdf251246596797106fb4b25e9c7a1146de9b11dee241d0d5274af43e74e9ee76a8a3403d11572409c1c06d2303947cd2a38a00f78a740622eb4d4560e95e98bfa924de453637c872125cb8716404e4bb6498f105ee2b974b87af41e59c49c87c1965587287028dc5453a1c67462adcc66979171572b814d460362c74b1565b07810f5bc2d5f5fa4b6030fd3bd2ea9cd2a2688f8d59d3f458c6211f2a204b6807f29647a8316fc3b2e88a6eb6065609feb90858456d567bca918735671f64e2ce578388771373019a1096c556d0d7e739ebe5713f7cdc4518de90707e53beeb974b384738fbc9dcb23fb796d14b142e00d1b8ac21decfa0a66969c9d29399a3b87150f33a4fdb551f5205e08188b6bd5a2d12ee77c63558117b35bd098c6cff2b0c5395ae89772e0769ce88d1a179c4d3498a610fcc9bb89b9f20787f6dec6546f1e664946eb60f9aa8bac5a253b93d699a317286171a8728e79411d5e3e1d329c5773150e9a1de425013bed17fa45eb94e1ddbf1aa697a1c42d4cce93a7a9f870d77319a40f303915d8e3c907447613fd2847a210b79f918be9621c32d180a12ae005607170a00c146cf74d690393ce5534de0b4121b4ee657b7b94e35c50fa257179c1cbced8db77be413bdfbd315585c00d36d80aa7e6dd7dc54c935046eb68bac8225694987b38371b9f2672a9dd88f66c1c5a96d05e4318de95f446147a3ed593cd51abf30f5a7133e322a249b00e07ed2a22baa91cf4d2a0fb6c190790aedd3c3637e73498e23cc80fb4455d6eca86f40d268045cc1f552bb994fd10a9728af32e2f553116cb1b1c8c31f9887e71a0f64e8d7251f081e4e48c634e8635732d8f945f663d9b32cd20ecb7b4b04189c6605d3aa830d42efa0dacebd06beb714ca05deb6b09249c29d02729b80a8a942acb8949e7dc77a591425bbc384bf846a2927e9330ea6e59bf5248afc85eb0720bc9c54b51185bde57f1373a3f5f0812f94fc4ada1132b2d87b245f80f1707d175b1808a7a6ced4483f8e5f01be3010a7947aa74ffdd6ede618f75b078cad37367da27f48e311e183261c93209664f2238ab92cb06c1335db60e4ce3159ce582ec866d40abe3104d4e3ba59201c50fb26390790773dbc557c40df7f5ddd97fde8a9465032d73225099226ed02c8f3a5c5c7da6d664f0955bbecb3d1fb59656031f6180a05188ef07ff79a0d3370792e2d33e3b209348f0005a8eb8246eb4b0fd8787c5be76b2f9ab4b96eeb7769f76b69ab59ae59053fb84a377a24f19889943dadc9b4be541395497cb70af32557dc0bd8ce58b2d2c7a2e4e70caddc085aa21a71302841fdb7f8c72b1d5b4868a085d87d217cec234aee0262b3bde0fb6c0fc5db09ca6edfec7caff509aca6fd34a83b15f4397d2b04a66d5a02f82f2416174aed38a13b0de96de5a8484979710d55001a921c21a65ef13d753cd6922f91b5a7e9fb283011790c4cfb68604dfcd4aea42a3b37eae24ae0e9382b4056b33433b11875b17af0fcf5739a3900e31be2c53842a8be280e8b3a70614ad64416689d8eea248e4a5b3793036fbee665f58f42d562374144cb70407c5efec66c08d7cd3298a82b346d40fde90be7d45e470cf7cba1c703163a8ae228540d0621ea67a603fd6b46df1c7c35ab364f337acfcd05944cef3e8e3a5765736e2a36ebad860e5f2f8f7d1241b91f39097a79ed385bd35cf0cb55da2329c133e09b543bc5f31b14b1723f779f0d27f396e3c8f8d1e882d14bcc03c862bf5154eae44e6e6ba60a14f81bde3d0beced4b81bfb0aaa512eb31b6af8e0af13ded5fcc477d186a6d11a99b617f38f2c1aa7d5308241bb97d2d35b909e4dbdbf921d7290d69370bc7d9fe4691aea8d9beceda3ec7409da905ad63711f02e2093932c41c0545cc9ad00b5263e749bafa8a61b354854a9215b5222388d4d47a27d31b3e6f0319b32d197a880ca9c15780cf21607ffd07120d981d442554e632806c99a41305892d742a67d5b36a36d5103d08133471c094a3d9258ac27222f0cf64d54420e97fe921df08c6cc03fee641b476e6926cd2781199652f4fc9e21082e84eafec41519ce46c685790d58611ee92695305c6a36711b70220634c5078021a403d39663ffba552a8eb3615fee68cb1fa9606d8be201971038567ab6700462366912194b9c8b4045101c4e31ace84eade0a7bf0844b26ce441d1e9614332031c18bf9a03e836f0f9b5c6dbdf16c2810a8cf49b1d27f9cd9e6aa1b0f3b6212e36a0294ae980f39575ae7f0fc3d235ac7bf1801ef62882daf8d378de83ff0d15d46f6531a30c7b30a2ac948fc341183a66afe32a659c648e8a4797d8e0740e7c15f1a5947c4b4556703b7c018b5437db350b9ea68fe537fc1120c07d9f83402e20e9095d011796149e029c3e2dfe384744705942d076f801d8054168bc26faadaed2836bfcbc0ad2d8ae6b930dcfc4e91a991cb3d24841886d3d32c12ab7112bc212e21917c3297cae1891fd49977f3473c8b9cd9f292d797409fa4ccf7ef3ac4638201bf3ea36c0c684a91ce1b370699d3e430a376c2c46fb04ef7d464ac4dd53609d2f182a9afb002b94967a40685a94a8122355400f9d3b6223e472911ee51a659e3894282a405bb24818c3a1ae71a956dce2a8cbd7af848d361d67f11f1cb7240609e1610ec4c839357f941b1fe6c0c3027630af715ad1fe447def4439e9ca38aa53a9fe5b86dd6bada2e06989d98e632971875f007b0cc6a10fb5349d18a60263e6096180aa644ba184dfa9abe5ab250cc9bf857168faebd50bee84b0533c675c6900486c9bb1b77376f2649653cb11b141798342cc9808b52b24c905c52425e555c515b9c3e2c7cb56b9a78242aa78422e4e54227e9948ba330fd8f0062e1dfb6f7db09f29beaf0ab5e9f4db8cbaec9141c1cb4ab1c33c15c8a90727a22284a449af663b6d65bebca6e11addc5307686b8d07e75f1cf4097f3ec6e37dee6a3a7827b0e21aa9a14a8f6ae4115a08014dcc6c09401d9b684b9ff19980660e54453c967f46f778d95d9f8e878052ccb386833c6db2e84e885bf508d6352230850c3421a2788b3aef7f015eb25af3d7682404656f70700711cfe3986e0434d3900d775f0cae3929ca5c204bb17ada242704412634c7207a8b2bb9f9ccf39f66352affa53521670365fef92bf06427b3908889dc5f679d40fff403595d11abfcd7be394e2964ef958da52c321f1e759694963ce71b3f41d6c56411e6f5fcb7b70e415daba3c9006bd9e6f8925417b61eb3520b7823e511d9006b63a528c3293e08a8b259c6ce75b450e230fbc91018fc8f7124eb511f78f036be086af3d47b8fd6ba03aeacf045d5380c4f42b0980707c0410d9636902312515bdf1291a9953c472a2350523b47f777ef1beec5cc05fef08f56bcee4a8dea831b48e30c76a10ad3f1f12f7da646c00a8949eb51c26fc563180ff017bd0fb58dc63de46907f5ba6af87dc0253b49c2bb6e2dd339e04c22d5750f56b5a80673c69ec576065e0e32384286358d60093f0728cd0f4cb18b0d27e91683c61dce1ced1c6eb4e376a0706e33146296549256342c0708cc5034dbe6f2f3b11e619a05c880cec10a48cd9e102b3300433b524c1422bffd246258ace276b72582a0fdbafed18a56a47f4e13a6f1ed5020e3c32e5f09a44b826451f63214c2b0b19211aaacf925bc0d1f30f9ec4e99c8a42050b4232b30f499e7f989094e68605e1aef85e5deee49006471fe904cb864c37a67f52d15248b9153673ccc1a02458e1c2221769b326aea8a6321a989ff45bdbba8380ac79ee4081ffc8bf98a59ae434177529ea6107a67e5261a7ba72941abe0dbbb5ae37f3c95eb182ca22eb2e33caa4aa19b211d93af4b0ff755c09d2f9545c8d389e52f0df0ff5f2af010fb709db6bae4ee1a4a2199a5531e6c2a712c690c702eefae719325bc72973015a670fbf740b28878cc978e9975a190a5c30fe011c90ba6dc31413d8588716917f8f59691150ad774db180348e44249adf11812e86bd3339ff88bc5f32ab0b27575fb26d9d43a0bc3601dd0329a962555a553cb64fc390acbb7b931e09eb977d212856aa387081d61cca9b52a6f45fb46ccb08c1191383b1bd1bbd2c47d655eef013c21e048529547fadf52004c56ac21d2223cdfbde3c7be9fcd2f79bf0df7a5d652f4cf72e3943dddc10963f3c50e6ddca5fe7abcdd3a6f4aeadb4c6ab6456764a26fc677c884ba9c6181fa47a83f8c51fb6b9d48eddc963a46cc5885a835e9e9eac0b617464bdf46b998f93e0ef72922b6619bb69895717ae364e156365b28d8431f5d7a13361424ec716ae02e96b0a2fa60484bf2b5f6f295abc3ab0e38082cb9c1c755596a3082516242dc231333585b9cd6a1be5d29e3ce7e46a2c63a107452981f34e41502a7414673c068a7eacb67e573c8c9ffa000caf21905525016b77f8dfcb21ca225bbd3c0725de9fd066d3a1fd7e024f81d84bacfa42be61518e74d9b5a45f5d23632d9ee2efe71149f47b9609cd033ea66f34683ca0f577b4587ea03b08f887a05dbd14896c73ce25b0775f8a43929ca183a66b396ab281cc544d926fc2cc66709fce04948dd69f0ac8f408a868d95ed74653c1a554b01964322850bbdcc2855e36feae6a8d26019e64e2b334a5dd12ab9ccfe123a0452f14bd842a6004f404a33b2a0c4d8b3e34e56ba2098e164d40a8d489aeb454ac4475d835c7ea5e733eff71b0579c2fdc8c07e0a2d8ea87e82758fd35d51f94e9c53a6f09ee5a4a3919c8057b8ae38e74c5fb51550c107b1540d23ad2b6e851adc3451fe591602412c8084fbd8b454a8376b0f80fcf8a294a17358feb6c84951b5bb499bd645667fdc3138cf1ee84a5e681026514a3b104b2b197480bd41da18e6f72a1a9c522c2a060da9c5b00e8bcf2e7b0e8c67665b06c8d7fc3b378db7ef636e0faeb9263723f8b0d61bb0623ce91d129fe1f27350ab715193816c090bf945d44d6609150ce6d5f3a7c21a372824e9d0d78463ff79adc2583d8c40843759fa4d7e7f51c99f5c02ceb2b06303526f216154a9eeaca2ece859816d195325692576350d3e3977d943b8fe7a686ae73f921499a28380c709355e57b07d948fbda7409c09ecc8b6cb503b51da49c30ef14be7aa558f9d29d30998d11f9461e28cc34bf0903e06cd55a802d54365f48304b5cdd7ca1ecadc5b698fb8c20efba0f9376a9e117c269ce2cd278560c36601f1084b02a5c390c4820f2743ffa880b53dbb1af61c035bf9667d57a2a9b07330ccb08f5fe9c79c9d3e56dea64b7f01062db7f1eb713d8c4658b712af1747013e46e336f30a608325e6861156987ee02359fdb4a3eb06ef92a550e499a73419037083944c8721747b65314d1fdc995ff529d9bb0cb6994a996f8f5f3816092529b949a9616131b388cde12a53c64544af6772cede1bf8e24a72e28d9aefe82600ac69ca1d93f27b4b218250272b3fbb979957b584f9b388ab3e9fb3ddc40b3e073b43af6a2fce38f8316a3f26b822afa5deeeddef1a9c85452e32ea92df1a8331ef2c48cb24e0503cba7a388a6a6c349bd1fe551b2a6cf42043edbe0bae2b17c38d2af365d96cebac8b8e85fcd2a7c1b666f3852be0305a42111f7dea082076ec0d588eceb6e62b6110142fa3c567a166c74be1a08fbcc97e04edaf5e67fb465dc4084bdb8c420e26586d0b952028c9dd2c8107187746237bbc6dd99aad59486dbd608fb2c84b1dc142c023d14892cdc1baf97dfe8df7445a68e94739950141b9ea283c2f4b7c5368a0cadeca6647f8a10ed950926c30f3f0396874473db182ab53102be9ca9b49f42e24dce15e1ed249b7e318b5179bc102b2c0120506adfd2f7b9bb03f98599b3cbb4ac2f325bc764b389c15f518a57a76680c89b6713fb89ecaafbca32054f4dfe6ef05c2521a1e6c042e16d438c07fa10753cdca011f516f33b631848690948b31787060a59853d4c5caf1d870c20709f6a10722b0428953e6bd61d837c76f2e6b03e8f236c946eaaf14c337869d24266bcd2fb6ad2e200ed6f8e86a715708eb4b531ee7722af786468b200960f32e3d0362dae3522bf13b58ff4d66af4e0d2c7e803fec22da117de32db87b7790412bb0bdd04d5887f3b3b30a03e6fb1f8a99160c059bcd514d0133e2dcaf118bc0018278de271ca4bb5ef3db7227b69f09d7e8b5c50c0f1035bdb40fc036ae471fc6ad54217f6fd314c55d960488cbd12c71878465e11ab16b9ccff37074ec7437b0ff1c17edf13b9c0c58aceecf859d060b8f3899eaed1a39bdcf0d1e55eae0528c7688b9e2d4cc55e556f54a7050080f7ad9f01bc40bbc27d3d93fef573ccf58e765b02dffd04218ef063c5ae44e76a86b794452f7ee94ee79333577fd4d3ec32ebc1fa5a0063fd72878addbf9c02a953701a53c593c5dedb858d94002172d8584552a6c10c7806efb0c4c3507e4b1a5e6433459cdbfb704e759f7752caedbe27a91f43b2e7698340900b5060c3e8ed00e2cb343ea3f7dfd0db61797c797822f57d9eca6e4efa840f4859b6c9e9575bc4fde48a4956eaa63277b9c29f856ee90789aea6c0513f6be4957909127d21f75290e89bcc8a96a6c74f59d844ea74fb7a0c12fde6ff4ccaadba0be99774800949fd25bae142afef4b65d6d18e8693088857ffe33d7f9091517a20c33cd6494a532ffddfd7924cef6d0fc772e9f6df74eb6adc089098e2f4bbfe007e3d12e5c9d08dca53efb67e7809f972e6131f47ae903edee4e18b0ef0763158d9b54f74785f312837fc56e419b0233d408a6448af8135b3d2f667a61b63e808af6a40c4db5a08048611e21edd30c61fcb9e45ca65f31a970fd192f860f5543ba8cfa761f6add4153b434c08a64ed6fc180dc4aec5944be5582d1672ce2b852032fa830da446bab14f40c4ad6c009dbf563935949ca7911d2b64fdbc47533796128acb335345b342fe698763e22a791d91d0302bc5d69b311017696fd91292fc381336069a9680891b453c505122c8d3aec95e04b1b6c48a029a4070c003ae1e02a5e28a954461c90c5183fe24fab7827fe5ddcd593790c2a8a017b6ee5292e6645fbe512c882d30096bab222d5d72fe9807d7eddce2b31620ba0d989a60274070a600b15692b05f952120ed34ff89288a15e1411b81b01e04447a547be4bce8071acc4be5fd02f9cd2264b36c7dad90e8427ce21601ad020e109cd36affc27434e52cdf803755d4c129206aed7e2db71a1b412ceb40ce04d9c78c415e8dd7f399abca259028df124642aed23c1512328b1a11b32a8109ad79bd2c575d5feaef61c42c39345419a5f31d653871ca9a9bfb45466b5f9f3a5f6e9c4d098ee0d6b205905f261974f22cb31bb6cc9ff0dbac8166946c826a84f0884f9d0c4b058cf2ff3a47bc913edb20a078c196245e3be9816b6961e73784fa1ec1e27cb42e6504f11215f16730234ba2ec0d47312fffd041e1d1722a14160b36edc092662c8c28ccb478c75536afd7414d59409e009f43b8092f60b9238a96404378e13ab876e79051ce1f56e06e5d19abf605dcbd693988c26cc6a7a21269a6ba24ffef9a4b28d2ac2c5a2ba203c10ad2457810658c97a089b7accbfa1966953d69f4d471e355ebd8ca6887f9feec6c40e4189042bebbcfa5fadeb2d29eb0c1c15a3b1e5d36adff3946d1a7aab0de9a873ca9fe13daeda01f4c048c6a7022c288a844c1b03b5413f424b8e6f4936363d8e14b2aa9ba402bbb5bbb504bec2690798223849f3d05dfac3cbd2cfcd2ff40cf6abab9e5007e607e16e68574f069d6ace79ca1e110dad2b5fd82d9b3d52a986edebbb5935ca811f43ced7f8ad8154714b519a54d5b87932fc7a32ddd831db319435b06452a7bbf715d7a4eb6f4f61e37ec232fc70d23a4f4d9ecb647aba20a3d57d0b85d2c79f39d32be1c480fc96ac0567f6768c747ba38ec1976aba4e0f948c18a58a9dde24b07e7af436132feb25170fd340e9e7da105da5083086900ae0e5a05737c9cee19b2eea962ec1ab25366a9a5ad198d4b5649f69e42186ca8ef3eafae114dfa70c02ba38f86826d48c2b6bb2ace4c480e950194a19909195464a8976d09ff28db849f7f3a84950c9b4e838ff948c146d13dfbeb7f272d00f84bd81e26842be0f310a8c22607c9438041ad766406e2bf0c309228c6c8bdec72a512734ba2f0e1e07361d089697c30b306cd0f952f920eee7fd9986fbc026fbab5f21d06bb76a7543d3ecd7008af998836d2f1f83e5cef2a2c783b83d2616cccb30950be4e41e28ba02bbbfdd6b98785130f5984befb87b1992e61b7697e6e17fec5128fca2dd046faabe120873453dd3ebf511b373be40af6bed86dbe2a9ad35e02402f77d2e8283b4ecdbe0d229870f366bce031728ed8084eeca19658610825bafa655dbf3b7232651cdcf7203055fc6517b20ad706d2d22c6762c3b04a43e9c2df90f483f64168174a29da52d649a74c6852081c3c3777fa7cb2e86e14acd4ba20e986e21404d1eb1c3d0d5c02103443f88004b9c18b59b0510ab886d2c27da4a2d710230ca4015637a8607604bfe89615ab1222344b7b400fbd776f1f7d45394443a300574b2d8e1d306090403097e862c70c85676c5c20d92cb57c1c35d8e41c9efd17563bb152beec360b0ec153827d23ece4428394cf42ae22a63f76a040ec10ffc17b522705336187519f818e88ac215e6b4d056d7f2b5cb7ef6e52972b82892d739acaa155d1f8c739641a7688b6b76434fd13e1935e8fba3a25a7bbcf939e64c12dda4b0da287b7b2eb20a7f28d30bcc747e92a0261800f2142b50a1e80791bc542dceead1a0499ea45f5e3210c13dffb27b5cf026cfa45c25cb47901feb5cf0d70f236cc12ea08d9d62e61be29dabc4048219b5b80177551be5ac832216a1fb0037040956bd0bfa0f529e20169a63ae055357d56006bbe0104439ba58ba548ad13e4e350a7019ebc080ff7f9f01b4cc470d8c89abaf8d1ede9f010d802fca66b6e7b3addc8a1c2cc1feee009ca21b910c0d7b59d4f4ca47587d2e6172df0486909171837d107315b93968991eab0c104f20124d65c022136c72cd115c743dbff12954a2a254a8e6c7f30940e001b1e8ae97948c2dc051b578ebbbab08eb29364209f24204964a490819502ab48f59a0a88b6f2ebb9b51097a6b26c0a02d87897886f3469e76c9e8813c6807f50996dcc0864ace1d02dd81516dc5d18b5d18b4648739da7e6919224320e37508da635a44f0b427c7468261ffde0b51a75351ebcd293c3af76949b025446db99e3113a0060a5f630ea56ff9b6012ec227080865fdbcfbb4e4b100738033de2f2d106f62c4afef70dfaf62387e05a8de98e92ece0a1dbd6705e59d2023cf72ebd121006e31bcd27d47a311dd9e68e74ef1e7cfebfdef3db5b321ccf7b1550d359f60d3c1923d1189d7c53fa16c3ad9acc4047ec498f13d2846f86a6eff89c09e6e659c2273182bf18b94443b9dfa2fd1323c7bc25dd9109b35a90fe8a42ccbba29d1642ba9ca4a0b8859f0e54d904fcbf0151ac4cd1c6afc1a41a880c6c3a1689f4c5cb50fe5a60557e9ce810d7120a9b472d2180d7dad84f0254533596a9c7461ef31a9fafa6131208b21965da5f6d7cb80774ff2be54e4bb0f1c109e8b8bc710bce3914b0103d79b680b3db415261053681ce0bb245dd6a0282ec7cc9cdd74c7c29ab9e975d9d355d7386be767268d0d859cbeb73891577f2adb37689330f40dd8523d7dbf0d3bfee14fb08dd2f77e79823df267dce757c3d4efde7f5566e7aa9bce7e0af3b1ca4010d20fb6666ab0d3c8b2f0a73e16863d8cfe8b74fe61772bdf270109e84ddcf0b88806150645102fb4c120c820b9f05507fff8df317003cdea76492f448ac9a913750816215d305cdac7a5c126fcc24c38b8f81a957c49a000923420b97ad3a34ca75a678a2ef2168573e7ed6294757887c7ec0e1a40b02e589bdcb648200f5ef086f12a3da15cdba4a41bfaef78459861e75a0ba08eaf9f9893151f2daecc9d9e23e05208a05f39983ea2fb5e14c2cea58aff9960f0db9cb689df386b27bdc8399a8ed91043d45894a794196dcd09780fc91d1c37761f61d7b38f5501672050cfd810071b74e69211349b80ad94a64e2591fd33029b5223dd2ca1b7a1a45cf27fe9bd9b3bf472bebb275ec3c68e47d8573e279021a389f949d603617427e972c5a8b4f5a69bce2de7c3c7be7df9f2de201554c56b7a5e2ec065dc0b2b7a74f259223bc0f40750c81924fc093cf1d0c0d5f33f88d2efa90c777c654c664d3b3600da5678b69e3b5dc90bab4935b83b0efd20d9598eee285fefe19c1e843cf993260996daa2eed4226cdafe4cd14e563882b8d88911fc4502bb21bc19bcab5780550504ea6bd4da484678a63d8bba9feee3f5769ea4d4057438d157db01fc649d48fd67e373de18035aeaf0eeb233824dd1a975249b3bdea843fd15af7a9baed72945580f502d8a6a55727f0cef61ce0aa3a8f40435c419c1d49ae36d36d28bdeafab0b22c722aaffa9cff886907a03c999d7ce91cbc43284e6616c501ae2baeb16c46d64029fe6bdd67932775932e5b0b0c5ca9db51c90296311371124e6b07b47a79c0b8b60931d8fb248d8eb2d9ba1333425e68f6a099bda346ec8ea69e7fcf63ad8d362b6fbe679d80dba3f89eb5a5bf60f90d66a1a30a39795bb575f6eb4c8e32fee497b7fd70b608df9e15b817be6d3c086b9da3d3b900818d9bd6a7cde96b7de8916d6452109c7741506cac2c88fe9f195585377d05cdeb4d6f472ac82968b8c02794fa95cf7eb5607a875a9dfa81e620354344d146d1351d5253775412de236f0e5daaab6d31a80e3b9071f641e6b6a59914b17104c2b695733dc278053f0995c898423b9c6dac857e7cc3ecf0468e79b50b7ad6473068f583aed30bafe49a143daf897ceb6781850f006df55bfae2ec9de5a6eec0de3b80bc77e297d2aa4db87f7050bf3846a005f507f5399bc8c826b13cdc7ed3512c5a0f2260d8ef9a324942f1ca8572dfa10897cc3fa7c89e831a581521e0a082bc54616d58a4ebc2061e0fa0798226c3dc39f599a0c29397a7c5c085bebfb411240e5e964656434a06905db7d5bd3f2d39b99271141db623e2e19f904a4a98714f50fa9403b89783ad77edb2c8b6a5d576a678174d3748b8f0d39cb0311314a556aa563b080f00af41b44da0b8423ab00919e43a01f753160c2498398e1070a4243916abab636e19bf0ab54078c21f9e276bbe30b5945c05b8c3346618f207c3f9029216f59988c519393af3d288ea8012d809e8aa42c7d0b7c285bd51cc8624c17b92714a9c664367a800374825889b53a9460a38bc1115a057d6fd735eaca7811e51085c6e280d2c925a738b861bec2226cb8e42148a2f2f5458ebf4638cae9637537c252e6d5a98bf92f56c2af59f9d07d74b6bc61fb5abb95263aeaed8314dd8dc07a7d4152705fb13bb2753b4b16eba9516043cb1fc61b55524eb641c08bedc9413ef9f93a19cd3c86ce08463e99490ef052a9e93eb5648c68974abd9d8a5c774f5135c4bd4a005501186f91ebfedca3c1e512c872cea08d6fd64f7fbb611efc4fb981ef2d6f6fe33d244656011d015c97b8dd5dc8cec9f014fa27456d3041e4d1a59f0d9164750788a0c387d4ff05cf4df762cef2f12760aa25daca52fea937fb32d486f8bf5b77dc7c20bf375ca79bde23b362d974a0217a8836b029b3b3f068221a6d7f5c8ce9f1f234d77995f855def9222bcb18e93db9e42b0b5d1d8b08bb533ffaf489d6e3171be051c2eda771d6c4e81d790b2258f96e7ca70e87b9eb3655dc901ff9827b73451602e037f4ed0cf4514333a3e1d194982c95818b2ffa4166decb9777b1a34415bba15d0a3444b7cebbe923c9f19c6c03da85e7762a9e004ad0d344aa450d57e081c0e9480209a954140b2f410ad73e7ba82a613bb57fe346bd0e2e22b1ee5cdef5c57dcb746c972a51cb9101d167d21a1056af4163e345870097e70acc1bac22511fe7355d7facf3115f1d577ec071a26862cdd5ab268387c8bb79a36980a53775abd89850f38f00d28ad4103c9dc05e96710a82fd1f021c6376e599180f4b42254362c2e543e2110fbc8bacf1566408e97b5f9c0563dabba908313e4fc251142cc4ee87b8b80da61e5e9da9edf792f289adcdd34ce77ac9041da53b1b394a7eb54c573ee10305e58e2c5e07e10a6771a0b4281ce3ae83d16c5b12e83687ded96da810637074ed9f43767b25b390371c3706d611a87776117889081cac53271c0609195cbad14e0b3dceb454f76b603e3b519499f7598aa509affc640b21ae448eb380ff4f4314672e21536c2e0acb4e3b0ac8b1218d6310825b797388a54ffbc8d99ddfe134616ef2689b34f336baf9db158ffd32c671ab736528cc328925f110fc7317b081de09290949c4be177a8f9a12447b8f31b4b245a9f138d18832ec5c410c374a399d06d195abd88b24ae958f95eb1fa6bbc953fb25abf19d178aab3b853587d8d2e8d054bb5014c8dfb94dc28fb61e93216855c11754a3ef98827a261c3c56725e37dd5b93ed5b17ea8cefec20cdc81ceeb99a4793eba9ddbbb9dd731045ae2b81e3af25360cd922209446cc93fb4cbcbb829651da390d3abcfa5e1a41a4306d06afdbdb9df6d06be5d066ed7e1407ebaa6c700823141e4a204d5a20774334af04c63b4c8010b36ad6b28fe689e8f6285e17294ece6c368388bf4ad9c01ea1b3fe33836665faf0b6ea59dce330300e7e3e0f96b23373c2eeb435a258888e62ac40406962e50cb13fffbd3c9c43f5e1d1a9b4e98b7236412a58014467882e0253da132b46dd6a4edc999ef8947a6de0f86f31212053ab6e94e7830eaf8e6e480b404061237093dd4fd6d2d42d7591a7da10a82b365b22202a4206735c96cd36a2a66e8764d46d9305ac9f7e7351183a90064b2abd7ba8c27c873807795d40234c71eb1aaa17ea1a813cc0afc3e902402d08ba2f3954de78f1dc49cf64ef078c68618fb184296e1474ae652775aac09e8990f20faefdc01db3cca322c0b2c297e0914150e80f47e70835b9deb0e9624bca47c204135829f08c3648b44d0270126192e624b2f39d3a1cb23d83ff98741b6b60a48b0b393f857f6d2136ce01c393d02c9305872f6766376158d659c11f1d939dac51453e08b905f3b3544f60d94615fddd444624ac1b74b91023052c3479ee44fded35cc60063913698b64e7ed3891803a8ef0c38d686e56933cebfcde8cedf59b30e68af4147a7dc871bf91b21586503edc15584e49e1653bd8f26bf4d87b9f5696247284834436098df83bb34b8adead84e4ab54f5161d91380f3ba5744c7e844350a2b832990667d8a5e434908b082e03655645a6d3aa195348358cf9515d12fb64a765cb19c9419f73aa12aa8dc245c0a84c55c629ea277d2e82790023c982088dd19ca2252c000955079bbc3cbbcda8304567edd0327fe83d6c9e02673e241fb874072d0549db1de8b691f57d4fd37a08a8516c989b892dd7d93da0f091b730768d9bc39f05c8c287a0b38c2ba0842dd8fccc039b31d6c81f2569c60ed78cd289823247611f78457ea2fc658fb0cd2fbe5c6582b445656679c6b0f8c8300fa9f9b595f3a3279db2a1b18368cb9bf6dae94922eb8a4e96249b21416a706fc68210fdf2ef9b8657ca4c6537f520daabb7331cd4102b6303669d10ef940a75067c9b266847d9494f117d2a1130fa7da9edd3ef5536b1fc78e968df1dc5b0db087ba45c55d7d60b4c7162e17ccd7300049a344371c9d5f1a741e83bb2b48c8c396106f0ee2c6ec9e793bec915b6bd69c8bd558d163775fa440c7435bd03e7200a7c61c407ccb66f016f3e81bafa1b365aa53b018dc005e36354321551a3408286295dd3806eff62bd5ea805afee3f0df8392796cd52de40cba1c716d6a585638103b2e72bc8203c805f9f4c73ecf4c579d225177f0f0bd69a127637154bc5f9ef38f2d8239245cc0c030d0c3157d9be8921be67f75196439b95edd6d562d670c49015a6b8e2e6b012914064de78b3fe64d5d729b2822504d98172206614bfc21c3f9b8fa9171edf1248f93b98113f34ccf62391b4db8366c4ae20955a668ad9e8a1e62738137d26cf321203c348c36656a6ff3078ac55c88f25f1c6fe6245ac3822bfc01e4ef3b635e62cd040e2088bdd49ccaf4938bddd6f0a598d85569cda7d2c57b22a60b0229f7180d881388ea30888217422e73508af704d00e0358ea51d2f71a9dc44753904e22e5810415e73551a101031586d7137200d0608fc38d056d7c45da5d03a0d54bbd5f6fe18ce53ab8431301745008a50b47170d68d11376b63edadeee3bef06dedf1271743103b58886cf86998710740994276d768adb648e4b853a929c9a5e2069e8afe60781edcf6a091a84e2b2479916c3949f7cfd31ee5acf642026b2346020148330bdc7e7c70471df6aa2aba156fb2b04fa3e1018f823384a4ea06669d6e56162d37010da6d7be841686529a2be70e4606867ee4d577cd1aa061f384e11de88a451f4d0da317d016c58fdf5d1412fd26b5cc8fdbe9a91c1105fed7e0f07241f862707a0914fa65d48a5b7c58d9a2272d4bb846cb5fae35ce25911567710999c899c4ee37d7021ef450b9e9b31a0a53cbddae504465df528b225767e36b4a60447497aa16531a73f8d660b56e0891aa4597cd4ee6bb982b98eb1028748665030c3b7233e56ba0bb433430e337a9d7441e1b64691506e1482917c147a229271b066b54d0ac5590c0b02ab6cb2425461adb6cfe58c24a0276820872b634b16b0226d658ba60834e1070412f5c867ee01138daa82dee4be45275eb7b58bdf80da650ea0c2a6bd4cb5905909db42c94d73ad97671452f6ad8990fa26cc81c78092882bce2d6efde789cec2379d2673f6817bb1f0940b31f185cd249bdf496d1f676b1fb6538ec8fc1ece4c8856724a34641d63f9d5d503ee2e5e58603b337043f92154f253b808e884d3d05a7ebf704ac3a21aeb735915bcab82796914ed84a15ec1ce49d171317ab93f2ac3d23c87a296685f449577918457ceef628e1e76990e6b688f49edb70c0f8fa652895ac388c00d7df9132826bb0f42417c445f28714b0610fd1f1846366cdc319a554fc1d9e940e485d76b10d6560cec829c6819823de0bc1d9cebea472d31f48612666d8e58449858d25388d5642bff22924c2a4a536cfe686611902ba7c512ffd7a30b905b31304ffb26c341b5ea12190e6cc2d0c3b639cb4b781fcfafae8a47f574bcc1ce58e8ec4826a69898a3d8a585466b5a6d46c06d9ace37647210fb1b9ee06bdd5c9f376dbf8d9b53404838708fe6d8e4f4082a56d510b41eeedf91fa89931814f20ba7f7498433dcb2f06719a1200794921bcff9c471223652217a7585c2869faf043d730cc041411c3721168280564be193d52a74bae85fb6a3f5f4eaa3a83c366e30db15205267d17c6e1b656fdb13794099a5acdbb8ca4bb13f4a55fb1edf05f1ea8a22b965f94b60e7bb902c024ab1530dc7cd9f3140c5a441e06afe20f958a82d115b904c258ed04483ac6f9eb9c3651a71334fee72a8670bd20be7fde84fe836e3b8f19d9acfc89681658f4daba608aad58149d44e98f24a835e164c218b7528d5d13a41a6254f6c070d91c193229b204e4545487db830c94d5b9324f9294d50c0936ec88ae4cd0ce1025a1ab66a5b30141ea7039a01baa8dc91269f30e83e29990bfd98145a57646f099329df6ddceb338f8eecaf26502748d002469724c6889d1c77e31630721e7dcb7149f94d5d9f1a1e3e3a76ed7fbcefda8c931aec437edbbbdb967bcb94924c01630681067c06df3df7dd6ffedc79dba6d17f4bd958967ddeb25fca76cfe6086d662d7bc37f5f4b6109d56a19ec257a52fd0d496942a0be9e8a1e8fd8e25360e3d73ca0fdfb39b83bf2c478c776ceb26d8e117485e468c7e27a18771888753f1f2df439b21d927fb21155526c9bc3cd71b7a3400e6ea25147b62f32da46d86f7f647e916c66196dd411ed8b4c6dcedffe08f745b4edb5d16fa326fdaffdfe772154c39cd350174135c451f7376fe44dcedac4329441d9cd2eb9b99b3f1e597481211b225946d9623672d1ddddbde6bde6dd6bde69608cb8d84920c67be1eeee31bce432dce6dd6d647825cf7d739a191aa7717777771a97f19a9a97a9a9a1711af7d188c66b6afc69fc6b7edb9ec6c368fc6b6a62defd63be86262686c6c3689c86e6b711b7cdbd88a1e168f8e90e9a7fe1c18899d936ad4626cbb22c7b2133b3f5c5ccc7eec58ccc6f3231eeee34efee352fc3d5ccbc4ca7fdfcd8390d11113af3fda0799a97799a9fa19199f926832e43bf90ab1ee36d2575dc36d266867d355c23c508a2c6165b0c6bac631471ec993f4ee72e03f25dbe7b26bd63c840636b9371996503813dd785aae6d41de2624be5020b51cc1706a36bfb1cdc476808d6c766160304ac353fe4078915eb5efb7e1facb33748dd635b048e7bed3b0e7b0e7b8ee31ed3b055dc12593572db33f0d010ac41220faebb3466e330188686a5f05bc9fc14388351a31a366aabc03aa1fc8ef4fd1ad81bd8ff90cf3d867df7d22379b1625d06b8c7de0a1145957b0cc37ce469389977825825c7db4ad20d3fd758b39e4c6c961a71ac29fed2cc77a0e10e7d0f9b1c3a58c75f7e6b5f3827a5a52a25e6edb0a981fa9fb0de81454cc61efaa95bb776d15349dfcf318a5814552d9ce6ee2f7e297172fbcec361903ffebe4ddd51cba27072a4a8a558148be29658b19a526c711ea572b7b7280e5a137fc7d8629dde72706adac4fdb4bb403fe9abb1414bd5a8d1f32ff7a9b64fc53b45ff5aa934295d66ef9a9f2c8a77188994ca2a2868c8414141be4c0a8754209c6455fc528198da5f6c51ef268530d421d92325bb3914065b88c4cb4d42529bbbd47e2eaadded08c2d73dbafb1640f0f119e2e288dac93ce9ad4001aadd937ecb3e6371addaeeaa9db3350f927e2379a0144aea0ff41c6878aa8d05c6c7f8502be9605a2c48e23ecca9a42f79990a86f7c2db36c990be100858493f3fce0654fb707a90aa515ed4a6fe52cc6f3176e88f20b1f28ac11dfa837e9058491f83080d4f9c85570cc620429b5b9298e806caaa8e87247d61905949ff0c92be7048253de903195c7d4ec460875e545b460693f96d24b3c9c874ddcb745d0b288945f2b6ce9facbd8103752a1ffa6bbebf588792be5faab6ce8b55c6b0374a105d759746487a7a01d277bf6d4f3dae9b00e9bbaffb4e56a008d599277dec3240fa998d7a3670cc7cd473fa2788957e1e60b07d88c17ed7a23bf71be8101742d4ada4df368e9dabf142aedd3b15d6a1dffdd49b4bfa1a8fc6878234edc3edc244ac23f3fd990fa51f662d000154395972b2246b3315ebcc7c7fb6c33ab4ce78311fbb990f0858e96fd4a375a39cb737e8f7d69224f3d48bb54b1d7d28e3f9163450fa316f637384c62d3434dd8e9c2c0a01ea89f42b43a6927eb7924829d267dd0eee481e23b1349a6869f437114abf1fa4a71ff385a48fe9cfba09909efe46f278c490e8463dca60ccc731c80c923ec65b120fd2b7a42779dd615bbce0a357e85062c6445cc3c9aafdd25f2fc8530d0ff46868866bb434672b1b22bfaabfd02f30f49581619dad61db9c9066a8080a5bd603783e253fec70f09c52f2c398aa2d04b8468f09f6d2e39929eccbbab0a93356c6ea8d29ca58edea2bda8a46c236a09fbb355b34dc5aad6eb932d78e914fed18a12956e6c544b10ae8c7bc98222c039cd806c42fa66869f46fadccd59fbd7ad3a2f6cbadb534fa678bf667cd04ede66e4523349ccc47e8faf3b73163d236896986660f54429aa8e0429aa8809984945a48939089ff0662128ab8a24af9a7f20f06f92b8061caafc9fc4df5a78a61492b5a8190261bc87edb945a41f6d920c13e1b6de2b79981f6d74485ded5103104a5fa5b21c53b6491410743aa5468a33211ab22fbc0ca2e9d599b667f3b8ece2c31b834166dae0d090dfbd52f952b8616656d2c121334ec97abe5beb9b0a841d30187cd096356957f731a78f6467cfed791f8652f2f34dc5aafcaad6501ad2117bfd06356ae23dda49bf0b01be92b7da5af34128d84176924fc88f3b8112fc201dbc5f62aa00e82ac13c67f06c19c2c8775b8e4d1f7c00a820cf23f632f3d26d8d7300aa325f9fd0c84e8beb70f91652e3d42b16d4ee8aa2625c6e16e20fd62efeee64e02b1cea5c10d266aa1fdfa7640f75dd640ae6613b02c9b2e41b04617430d4be1f4e24678410da991244c362e49946441acb2ee886151c67624aeaa841b6a38a50cd528d31f7f79a8d2f9251982062c70064f9ed37dac606336a1ad1849f1dd2ccb300ccb5c669e612e3dfe9f66cc983183d4446b99aeda31859db2512822513b02a17674229c51888516b4ef7701c848cb9ebb1d2f689ae632047dd13ccad847aca6a884a81d87866ce89e303cd4307e89446154fd1e53688e4cd2de66f4b5e00169492f4e991591ee2ee79cd89c53fa6373b2c4a4ff9fe273921c5a0b675996fd66186372b17e8979b7036b0932c8a7fed3ee228182d59d82c516176254b522d48f5881398862755942c8ba0247a1fecd2286b8866dfee684a74c05758b5e88f1c7af340a47cf3f46cf44db70f418f6f1bb0b708ddf8e3e263c5fc328edfba9e6e5b0a99f66df5cafc109ebd621e754c3c6e974aa116b1e8c41c8f22b9cf3d669103fc031c618a3a6699af671341a69dae8dbb4518ca338d262ecee6edf5233037c7ed20f3404634daa73f07aef84ee8725b05b1563827e867edaa7ee1379d86613d38838d6cab52262ad5c2ba265ad5c2ba2578ba7c51a0a5a0501f1bc7c5eaed5106b48c887270245d5b2d6b5ab25f222ea12c3b26cced1c6715d4722d1384363e3050c8701a339c280f1825b2ff418eb85a59521835b9b1bbfb9698e373735dc0b18608c185cf44a9d0462cd899e8c4e02b1ae8ddbd834471b1bedcb30e93d6ce4d9c471f80962a747f7c3b9df91b24e9c33b66b4dfd747adcdc8e5bb9ebd1a8987220f7f11e067fc292ff5017626d3c4807a391373dfa45557716634755479e7f7efe9dcf3c51157718eca8aa1d9f7fb28aa757e891c30783ddc28e0b2cb870a22aaa5c3cfbe2668146f1383d180eacac151e31851a217a05eb734e35346d6d807f62d0071515962862a1b2d2d9028588a6ee94245894e0840c62418faa2b5c557a131ad22ac32eaa4d652bfb18a5c82c8df833a1082abf0caaf219a84df24958d03003aa92ca7023a8cc83ba0518455df271b6a8b28675b6ca0c76aa3c55b95599810e355c2a556e151964a9e18c2adf23f38f5cce034e18ef7638333373617006fb87ccd973866111fb119fe79c31ce189935d6984f393a08dd3ababb3b49144f803d97d99f59d3a836d7d4af7d61570101d4f853eb766833fbfcd43d14247e7c86f2adc0607ffc7c3028e385869c8b04ac14b04eb8bb5bd4de958fa61c11727451f771f6c6560c9cd12307f63d5847ce35f1635f0f2f870e25e8d765166af41c3df804b280866ba307eb84356a60096bd44812a686a5cad3a5c8b4ef580d84d5c188b024b2f8fc0005090d11f1f414f1f4f8f0cfa905b2be684589a6906af2d09e92cfff8040a7a017f8253a7986c02fd19d26fef3c3897d4c751eb67918912c92595807abdccbc7b0602b292527b11ecc07098911612b2c090c0b864423b13a714189ad3022ac0823e2366f248d7caa89bf8d742c5699ca7aa84dfc73525a2afd0f0dd9e09faf978d7ed9e817091ae54141aea07505b98282d6e52d6f01790bc85b40de02f21690b780e40ffb344ace497f22eb27b27e224b16b18f2c621f59c43eb2887d64912ce255a3308ca84dfc3dbceae115c6ab9e55cfaa673527a5a5d23f086244959b87062a1fab98e713fb95b138086320578ddcde922e973f1e8542595459caa28e2aaca756e9491a68483122cc0b31a22abd90faa7aa3b001f8239009258d5d9ee71ad684152c319d54ff59f75e2ac33aa6f152b7ea85be54babb67713478f42d5a9144a0c2a75eb12741d95b4e050e3f34e5102a5c62f08d71264d5045e473f7345167573ae3dae48dd24d7decc92ba611c7b37d96f15171037d9d754edb78c6b6f14a566df9ea6ed8894791107afabec6d15d794aaf5fc6623a3091a7214a851d8cbd7cbb592dc4bfe6e3480bd7c15b0979f9026fc42e4631fb852614efe4290c86b7c195c702bd903b7621d2eaace75e981c5add85bc90002e58ae6ab7aab4d1ec69ef71faa63311294c0e5620b2c591afefe1a585464c117caa861ec29f117c6184453fcc2d1ae628f12b40783b44d25d9450783feddbd538e48a9cea81741536a28aabeaafe6114a27a7baf8eac6a1885aa77aa2356d43052a9de1cb91595222216978575968b2dd5b92ed575f4b0005d45c955d17d11aee3b86ef445b491a67df7fb741b71a3ef485f642375bf711d27033546cf9f752c8dfe1d5e57a37b1b53d43e545be5dc3cb571c052bba7b68ac15671486abf0c20501b9f3675ca7f6889418f82869caaf673aac9f1e46050091a2b57f9376aca09055ca9fda129c7d2e8d794a0380cf6968672e820811046d10c59c0a7b66a0b116b5b0b66a5629dc6e1763824251caa8a2c4757c4baef2b340b8d92df935f60c3c6dee0800316d58168eaefc7624505125ca6acb03494a035186cace49d186c8ffd37ee1ee89ef9e92934b86adb0053bbb9ad68d6094f3970f40f0ca8c8420b2f3b46ac004131c3cc0c49d8e282217670011056481183911ad21ab523112774f126fc931005cc1154c000064d9c288211d9d9b21c501c278234d2d284a7c2c40e4550f161f284921d920c40605f38e51752ffc252f36b0a26449ef8810c48ec288188cc1531b80f1d364e60e50727743185921db2c8506bc4a0a5a280f26ff5aaf980b2a7f89767880c3f43d0400757b04842123186995581e14f627214c2b2102cb8ec14514d6e97eeaeac385c08a263a888f56566180c69a35173f6fb8cef43f8b0591fddb9a62e8190ea4d6c73525a2afd3713b4511363cdabf1b89deb0bf6cb0e81541906c1b0af0442aae45e05d5382786cdea62d0c560fc399bd5ae763597ad58477e315b51a16ce5ca5005eb5ab99243dd9a6bda6402fbf367dd2fec22277434045dd705568a2a3f23c24a32e876946840b3ef7c683eb4df6e870fff4e024cb48fc94f2c024cfc51de0f864d91b62b66ab2dc8332b1b58c1cea5b192cc5b98c8cfc1bd7a9741ea8f7d209ca6451442ac6abf1185d0ab2681f985b17ee1bed7cfd914dfb7bff0393a176dfcdace8cec45e347ca41d4c8ea543732ebc012cbe64e598414e83685a74bdd7e7f76ff9c73ce393316d0af21e5503b4db08dc968fe7a93abf2db939a677384ce0f816c3bfb1bd6ede829b7dadbf7637f1b611f93eeb1ee83814b35c1b08fc9285b927515d8a6e72fbdf998177215903fe5f7be7f1e7318a402e16aaaf6f2fba1d5f9dd5460de54e0477f5be7b740b8ba8d3e679313fad9173e47359f42cb128362d9258649e72adde365c95cb265d6cac77e03a3d163bf82d1ef159e04078e1935bc19989cb1667b65288a1e554a7a9c720f4bf2d3a63864244ae56575f32ec181a324b1ecfbfb13d29f7d43521ccef8a74a7dfc73115754ff589d657b45bf86bf5b0a34a210f70b635704a531858f28c48fdafcccd3be900b3d48dd8f1e10ce198545538c948da03f4312eaca6e268c5efe90d4c48a0c49794352fe426ed83f15fa479f90ed1bfe98f46f94aa2d9c73fb2129f9a35741fee8f747a3df3e21a3ef66b717c2a4473f24b5a3d6324d9b336b8ff20e12b0a8a26160cc93b06dce8cdcf451395e348186bbfaae2ab08e0aacf342ecf8df5c1a518a1ad2b95f98fd2106974add2691fde4354ea7d3ced821e945343ed669404b651fe24cce8b6848398d16d1b08be8c87b341a8d386e4cec766984939979315228a4c60fa76aaa1a95b9dac4998b07163db0e87e98b988ecd43063d5fd6c8ed06c55678f14e22d1ea186250ea772b441acb2ebfe1eb7ed24e84bf7f86e44bfc4bef5c0cdb297eedeef98f48fbfcd536c20d8a8fd1841b07d8d5fbf28a5fcfe763f8741d00b226bc79883bfc6ee8acc0d5c2527e67c8dbffc0f327f0e83fcacc3a898e218c16c919d638c31c618638c31c33846296d741dc148440d69f760eb6f6fbb6b30e8b383199660e2a5d1178ad517bc662d30f1778185a15476aac1287f7e1c8600cfa7fc859040a552a952fe2ecc8f055664826e3ffa18faa83fb20772aada6bbf695ac723fbc2d3fcc2ac4aff70d8c43fabf7571a2aada4a4b2dd30e1df94ffe6a47a58a087ba9f82b8b3afc2eeee1675334ce6609d10d4c13a30ea7ecaf9c4e0823358e7ebee3061634ff360c3228ab9c629d38186a7930dd65996a67d73f42d83239e3f7a161a2584c493d256f071040d97554f93fd0a3db5fb8e3e9e5c89f4e1d7980fc13afa05728af1e8b442e5672f3ff3028045856071f6c6289c4180ca48a8fc3cbf300295471f0b4bd06dd3e80b95a5cea606fad30b4f75fee68d3e369053c53ef398682f3d8e51daf34fcdabc1a659b359f929f69d588a912d355cd79e6a30183d73cd886d73b61dcb60d488a0a10d1cac73330159f965e58f9babc9f0c0a2ca1abedba0867409eeb1917fe3c723a060bcf13d103ff2c41b5c2dbc6adc578d11498d0b864716ad170fd716f5a3106c02228a0f85c1f851287f330e7523613341acd8b756a405177a8671884ac9b5237b66e69b096043ea0bfb1896ad363634d0c552d78536f1473a5b01f2897c22e51321223df420e50e54c8275c84e4936e1f84b874fb20c4a59b08171f849c701172c2453e11924f8c7027eec449b71377e24e9cc82ff249163e0811112222fd89eb209f102142c4550348f2c30f34a46be748b2a2892597184a1669676954a184541275d836dfe90c723ba3aafc59e48adb35171014cb349736dab88e14436566686a705eec8d9b1267d36a13ff26834964bd5c32381b194571155736363738a51b6e7fc301000c0004e085e42100dc064143cdd528771b96a84dfcc5a136b9803a0fa76456b15592c17d3311a84df1e767631718422f3a263128c8e66600323800e056ae58a41c0c809340d01cad099a6b5fcb6251ac0ab527b454f113002795d0f70cc02a169d3df8f8742fefe376d6ed9ed8d362752940f7e26a0a48e07a51d331892a03702027591b9117a295029a38cd032b14b5c0020b48013a175a0740800f04481c366ce8c861ea7accc0a171a3ffd555c962908a1358ea78786d12181a7f9bc1492594062759cbaa35f16bae2e959f892c4aae6a2831cb1fba975c35af12c025a0dba181619035170aa72e4cf75a13774f5894e6ea9044a4b2649172a0b95a735566ed6c28703206f4c46df79a6dba41f76a9464b564752f1b960f8d1f4a191d93d24901ac8005c405700ce0bc48d69af8a5148bea5eddbdaae85e0ceed0f86177838333a31a00cfcf4f544d23b6b07bbb378a0cbbb77bb528326ad8bdddeb5e8a51c3eeed5e4cc2c8b01735746ff7aed1a2746ff7fa604fa0eb3dd10b8d2f69b42899864599d1664634b7910cb765ddddd850a52ff78e933194d475773711c955251297833d13aa1ba7a0f1b1ae9bd3a24c2d4ad6ee4d7bbbb77767349ab07bbbb786730d0799ec0ebb5437c6c22849f776efd6bb7bbb770cefed5eea3cd5dd4bdc122d0af6dcdbbd271b197c63e3deee8d73b3383736324a3160bca8a19991a131a40e87440028202022fce1e4fb77e1630c1293987ce29108a7b6c8dd6c8a53da0d96467fc380614fc418230f22bcdd39ba73d778a546d560133fe3e061339db069f75842cd002f003af1251021cad0962b352ce1a505390ce1c110ac274faac862cb2b1571a84ee507c9ec2c0d45946c5fd30621d820041b8010c4266f3042e5cf8a5827d6991515b5ab68729e15cd55a422080a8d59ddcd366eafb911a9a35d7fdd9ae17677777777a77cc161deb67be3a6da6cdf4f29d566edf77e9729ccd476553f4754bfa213226a7bfed20d6f63446d348ddc8b4b234bfbea2cd7cdbd854dfc5d74030dbbd560b4f7e72fed621d1f693fb36dec79a57134d6ae8dc5a8c208aa944cb7a3b1aee398d298276880687cc28ca6079a1f9a20361a9a6e477f61d0bd5ddd62908b94a061bfba6823629d46cddeb0d46dd51f6e592aaf89bf633a4ce5e7d79a18b51b7244b88ed41f8dfbcc149b4e77bb0c43e3fbf3d6ecdeeebdbddb8d8451a40cf2121a4e4ab149f929a72d0d3a1b354af1889bccf053f9b78c08c87b7cb6f0c9eddda4aa7923579b88ea4e93f8463ea57d569a9ecf8f10a32db801119b187555a9dba5bb94b46e3854de7ca4128a44f6482534cc802acb549b8ca8663d8cca80807c32a017dcf4ba8186313d953fa607d60981f4c4e010e3c33af1f3175057331e0cc3b09f2dee18f7854126b92680b52a3fd6f920b1dac44818ec5142c3ada76e3c2ea4274b42a3ffd2546c8b1a721b4fffc88d479ba9d8aba572f1f4abc79da746ff6c8ed006aaa1ff60e9e9f9d41853bbd4b04688ca2f19a7596231f39d1ff3e334896e872d0c133e4e26b0e0c6094ba67001f5ba53967071424775a72c295a6dc91234c4e09a58e28323684cdd294ba07cf35bc224498d171e94b0c40624501a6663028dd1b282765a38197a88b617e5ea4ee939620974ab3ba58708a19e206a9cd2e3821a509e1a6d2e3a53774acf0c5b1394064c0e5486162e0c9d42c801ade1c10605ed6e80031b647084c2a83bc5061bb822f445dd294a9cd0a25ddd294aacf09a12ce14255094b2ba5394104109971ad21f259962880b27c0d400882c9ab881060bf30a33f04064075a6871850816d408a53092814d36685531820621279e2ca96129e6059192b424394c4dd332c7bcfb4a74428a1620b490410d34a0d2b34994c4199c76b364d9e2872c5a5208c1071ba6c7285e9e82d02589a12483e28332ec6fc3dd9b6540a990a1074130c24b12222c5122ab30a2892a45597ca4e4e0078b2435046b542972a0bc7328c66cc1031341dc90c50d4f48419241e926262d51a255ef449c266e40a38dad08283c4b827082872a5e6a9035ac51dddd3d05be8546d23e418a0d35f8f83004134768d8aa08a15b2705e2d71b228322a2f070042f3e1011e6c868a594a0a0585c4bab97aa3f01031a7cf0c1d00d47a4c2afce93551d8c5a1b8d9aeeeeee930b0d4b59ead676b111cbed6829239f6a129b70e48cd618a3c6ac5423f347e66a646fa6c6e8ddf88db3370a9b57a8742d77453dec18950400002315000020100c8784429150382229bb3e14800d7c96406e521949c3498e03310c631032c618000030002043848866661b005bb77ab29bd951bdb489c61bf261d3cde83e886385c9b607662e62e401ef5cd3bd56a4c4251762baff5e49888b3cc4dcbe70c5b052e0ef4371e3ed6782ed7b57d6dfeea32f31f176d77403ba2363515282e530aad77244496b98607380fdd662a7684bbf37665ff541e346f5017d23035aad9fa154615914eb30d6105b1ed42b6155b8d4fe20d9fffe3c1107c83164fb937fc8d81c31439e63c11bb153d43322cf16251ce098ca4072a5ffedd1d98f1ab52d102e45452248cbd47ba3ee3b613ede18fc50ee039f97a8fec136e6c4b532ac6d712431a91249967ad0ffdc5d4b7641f61ab87798ec0f95c374678281e22e3e3a280a42fd7ef516a79ebea37021c70bf64c3685cdb6de7af6a5965a7b0adffc8ef9adf3dbf5bd1df9e34c2c4c8d4a3d60d4c1861d74de81f21cb9316a4fe99c4f412323ccaa8c73d436cd936a695baa0bdbe4196221b2b320a40748f98c2a7fdf260c5c89aa66c4c23d7c876a600dbd10fa49b78487d2a44bbeeb497c1ce7714ee5635a752554d04b7ba9775f16dd1ad6e2ba08d1a5bd4144c67f6620df693fb50912e3e7a6e5f70019e005f0bc1eebe762557f581031d84af95d2d80f416277a02bd492483563499d3524bab8dc55442404e2609ee76c41e3f62e89520d45021476cc13fc48d60b00c3c6ff02b4d422bea256554518f2f4828dd740b51da075a020bfb11fd1f95298d6e949685c00f78e393019ef2979cc84a830f8ccb43edbc4727c3cb2f3475329ac34398bc755802e7a408c2ce9d8d896490b94eaa481aed502f94e65411510758cee3ebdb7cfe126a7bf5e983b4cda22ce8b88513f7bd74104ed4bfaf911f36acd9607f0b945152264f74a55a246111dd649d04b0ae465d3bd83d4d3a2202937003ca75df2d0e477ddbbad31281b07a756f8af7a8c40f1b2653f35edc11e6670b74d9ca82ae7a1cd54dc4b59f191849b772036077710902cd0a862a83cab0e9da6e14be640c0d7dfd68231f8b2303e5fbda06b5c4cf67cddd8af62c8747f0cb0090118416242e583209102a222077ea26977ce999310decd534ae4ba608e62d5e5c92ce22e0897a0471513eb39d146ff3de5c933fd808bb0ca5e64726323effdfb71fe8f8966722cf904a21cc14a61239b779f4f304471365632149202799406c42cfa406fb898f1dc3387f1afc27321409c096fc42d9607f47fd344e0987755f8798131e8da303b98c21b49ba202b8e747b5c358b42298f5eba43aa2d24b88f170edc0cb2056aa09721cff858c0fb0c006341862e170c0548a6a6e9452fa523802317125698fb22922524db8e7b98580ac3d0609cb706fecf90f46307762e6a2ceda17a936d1ce7ac98420110b94fed1a243de5290e99599402403ca3d0791b09befb1d203501ed32948c1a434c4bb4fe4f7316dd94ca85c1c2adfd5f246922cc69c19f98c56d763340ecabf45c961acb20e4f1bfc939c03ccacd65b0df33f506ae0a8eeffbcbe883423b74583b04cf8bb64aed9c88015fb01eabe969c4085ca973c054699220cc735015fa9330da106898062bc74a6d640f12b4da27bdbf687bd74a9ce086e05e951c3beff272c13fabad49d476b6bee37a4b470e624327b5d4dbcf2529b8102ba4d9803af49f73db8313f86a6a742beb22febdb6267fa15699a9af28f23a81b3bf6e44aa1a9b9d7c62219492b0fba51d4996c55506cb71d0133b085727d59a37269ae8db3f286aa2e1b3f6192ecd938a304dd4c189135c8fe86e5c0de5624f0450f456fbc34d5bff6af39172c0b6faad0904b34911a8bb1987ca368e39414c1a8ebc34da64210e31827876c1d0ce4276527663909a0446128ea8b78cb9af9cbc5a0cb6dfc3ab405629fc4b3644f9475285bc7338554584f01bd788e534cbab178cd10957778762b52ba9f4da1481f3990780422820a38489ca5accfd6cb1a2b8737334972fc4ca6ec9f4f83e480075dc081a6bdd8e02be0955ab715a10317b50fe40fede3682ca6d4fcd5af137afffb02b7b5ddfbfabeac4f124976f2f22bc1b4f7b2b9aa46918a0fb90d3f8e3c01469668252278ddb780823011a65223bc302ee258013b9954d3129b8e5cc484d98b038aa3ea71e4d744aa1323f5f1322e39c0a8769389233ec540bb7f4352db65d1d6521081216046b9955c8bcc4adf9196dba5809d29a90cd631fe24027bc9eca2dae2c01a6708270af2a95f6a78c8c616d60bc0674b46f33b6a54a8d212bff87822de5c9295bb890d21b06c80ce09ee4e8b2cc22d3c99f4d2aae6cafb033a75af7283d6d590c3edaab8e96e496fba405ced10b76e3caf155d6e0d26d85316b7b67aed54da22b005aa121283c337f52b0c47354bf67c76a0c77a195ab0fb6f740f0ace7ee0f7428a83fb3b3007518f8bb99788cf008341874b5cb507057c9d05531e60c6625e592d80a97be78036c89d40ae2f02ccc6085572c587de24704b73656cb55bccc341e6c9f6b380180cabc35620ee11eb1e759b39e2a0d6e070fd094662edd03f555a5d2f58c41bb80070b8ea7d5af5ca07a01e36d37a54ad22e535b75c70837e93306832075969f2c4cf324b00987eec017d2139856acc584299d3c4001cbbff8da06595d0bf3e83268e35ba52282bb8f9b9c9291b5a498b96f56ab4fcd3178fea6db033b715e90860da20cc9a1c1d8861d33a3e62e210d95a8b339d409f7b7a4e6358df49f62666471cf54de9075f10c5bf13623ba0b5beb781e7a23bcdd8f62bdef49cf69c74588c7f53ee7949614011d367bea73a915d3ed921fa8b8567cbafbb9b2878db4022f2ea580d1afff758a05c8c8edf0a54f863814a0e5dbdcf07f4c311df8782007d1d6c5cfe5004da9dac2fbb133f0bcaa44319b805018b2928814bad132e26707b10bf802628cd25c51b5a2bfb664056e476911066292eadc17137a9af85b672808109080b021bccfcca57bcc9e9138d2c65b9c54f0523d4377fd5aae808b5d9614853f06eb88f50c1b2d9ad7a04d4670bee6f6c082d4769b602d3d6d13a1d11b25120a484108da77353f32f96761c379116f0c4695c322e4d52fe47ac5b34d980533714d5ffa8b7e9ecc826c87a1b45776c0f33fc1add4255888c9d91cc5c99c5f651a231988d8a03e93ee53cbe63d2df9e851690ded92840ef24b49e2bad13b3743b2f6ff0821b5f2964b7be5fca7cc7a207c079d9c5c00891b69396806c69fcf3ee6e7aafb60b005e0aa81badafdd26c3d8e3ee4e3d923e19c85f6cab745f20cb31b73d222a73e5aee2ed8ecbabeae1bd08a81eccf082a5ec23ebe57d7bc1877565ae2375e82b5112423f4e990cf8519fa60770fa6ad42400e45a103dfc6236b141484748c4e39961bbeb11595c7703210257ae1403fbdb243e1133dda2df3da6395148d2a9c26c5b7c80a1232c064f463f245e8bb430ccff4acb56ecd5f58ac00f02feb610e17cdc03f03cc4733791a1ee215b431e5125000dd872e85d5249af62a65aa744c964257c323c00bad9926eb9c5e85913cf77f300ea8dd9c1a376ae6321ea818d4f9844e28bde4f202ac2432915a3ddfbdae26120d03c1117d45883168543d238d473b25339144780f2291432e01a0bff9500476c09b1188b1bd59158bb231f9b31f9b2a48f6fa9c2ac3a2903b36b85c867c59ff282ff74b77484e92642a4ff160a0a6ddcecd90f3c07e9e68da8833f709da2988984cbfa54218d59ebfed7bc4ede77ce7c6465ae9c18514cd89165f1787c579b1d893dab24ae5307550092fb34877d83d4352afad6cba6af7500328852498e86942656defdab38bc54f2c9737ddfc5904b1d6bb51019431192e818b09f9e870a02c599b7f1328bf4961cd31104cc8719246cf0420b16ab4ee48e759a8b2cf7e180258f1db6421870b2b35078a351b3adeaa54447994d2b0f5fe44917bfc4a628b97266620bed042c7e46415eb76ac8507da1c7739b0b6c411db19406800dcc64360f4e54c4da98abc210a6a46cf98f97898e3e36f0e9216ca140f8665b3d0833f570de2542ca14c916cd04056534145a586a07cda61621b2dfbdf260717b5cc39b14d002cb8ecae53d4811bf5b5e90637f4630ad088a0fbf758a51b9e393836597658e4315a1b014dc2e8c24062e4eff9e221ff006ea1b4cdb590ba1a56a22f35358509871807494a62b8fda6958f8c6fd51144329e46b071d4f679d314f242ccdd1f40e9f687ae5de26d7c8c9736c227cda401f7ab51b65af966096a4a1251e855812ce94e4481f2515217697d51c12a8dd65792786043ccb16ee6be01cf91b370f0ad8b3798911d957ff50d2760a011359e8b1a63fde23f0be909817d51d564372cee8cd3c7d1b7b2f25fd04ac538c68be12e2badf1c1e881ec98678e13cc3132ce92bc15665366c4cacb3e5a6999d05b5e9f04a6966cbbde4aebee2ce1dc5f7a0ad731aed0fefce6c3eb0a6603c3b5fb8f0727dd0d48ce20c5be0f5f0805163dabaa983a439506d935416ee451073f073342c8ec08302d94b761fb1fca1427a000344a2012d711978c556a490ef73c9281ffd9dd5eaf984daa3962e4934fd6abe2dc2dd001ff8ac7c9340df9dc3b2e119b7804afd84d41f1f78f151010c25dc7b6891fd415cb1176b2cb27e1369c0fe2c8dd789480fa48e753ad5fdcefe1f3336ecd9faec36e605c303d46e9bc0e34e4f298c16f3e24e2aeb7eb1760e832000dbdba66caa4db7173bd70ebb88a88f8981dc65f72752e0b5a5441c20db21fc2ac1d2886ff8d447565c9e05fd18a2b555eea4690da07a2343a05339a1dffba27b1006465c5602f93b9752a187db2778153b11a30441a85e8b16a478083497c45ff33cc3952c811003c2f90fa11c84ca04f8d3e9eb1042691c78ca5f0a0b3afa3975baf50e91a85ed09f6edcd77b7418b59e03f25f740e3b437ad87da3fba774e46838e9c7e31f3d87f28002bc937584b0f9ec502c8f920135053d3bde4cf925de44e690ec441712b5b96ef236bac8a3287bcadfb0ab05c3bfcaa3851aefdf5e9f9d6e2f03bce4fdfe1bd4b074e110eed98e2cf2a1107d1dc873a5b9bd8d88ecb4b736bfb9eb71eace6b8089a159673b5802ca572c7ee7b554186eecc2ddf549b63810604a284030671caf5e18e7b67112dc9dd894f336d953ab5bb60025005a66e35b389732f7ad97bd2a4d3342fd9e38df5c52e8405cfb87a927ba40a97f8c5c473259b1d5b9430ec8928cfb73304a15b573c54024023540dbb37d2484d41ee01e0720e0f89a2f418604c0aeec002dbd7bbec9a0a4a2e294b82770787d298590bb2fa05de41c1b03be7ea7dc2a4ad1fe24f2f3d8cae84abe27acf8c5a18a80d47b933918a626bf29031d93cc4a0dffc2269281068f2455388863438cdd1017722d8dea711f513ab5c008a0894439e897d820b0f33cbc7c9b573542e5f37fcaace4ec4fcf06f6f4aeb1c44b823ee420c09721feda885a68d5f5f5ea449d1e118559e9474642905d4edfd7521b2701ff84ac35a7794de238f194edbe3699171e16f049d9ce71e01c9965ca9acff3b153ffacf6011d10cc66dce798bb191e15227de48279b27de0ae7db6f22c2267d51eb2915f5044202353bb84c9604175b42a8f3495618e377526f0d760993a5c778f39963fcfbaeab5bd245abf44b91cb16267a76691ae85931bb803295cd30fec5b237e9b2a8c5ef39dd563b72f044966ee547bff634659751761c8249c44fbba437212be9b32595fc889561b29744a4673475232a73c92df557de1deb00d4bcadf0f488c2bcded5e31f1d144ea874d4bf082c5f8b1ae0c91a013b8719d8a76ae53a36df06383d52010c8dd5ef039ea30c5a77dc0bf932c631b2686177bf78d97f5053c3431013e548e9294587e53127e794f3e89f113d05bcff3282370452a1fdc8a2cc4c1cb3432c751b55622f566dc35d556de30cad4caa731e38a15a783e192cd6e8f41cd5928f5c96025c0db531f7061ec4dfeb767873e71c24344e67eedeff2c391fd93c365a25496733cef00077413635392e2917797b93ec40b41c04acae76617371d13f00af4ffd8e3e9eab95b5ed2efa30397101971247e109c576cc2bc09b707ee4dc4857885eaf09c80689f55b4efcfa4f80edfc45780b45619adc5db40c4d366690564b3a5fb0abe3045b33fb00e035a30d8d5215cc03a2c8b688df9df94d1b5479bd1dba36c23a056d9cf35d661e5a16f7f84118051ac927e87e169b1de71e1c23f843b527cab52877d375c819824e365af508324dc20b54b766f91167578e20318b3d82e421d2ec4edfbc9214ede3d54a33f09eab054c266b392e7047558e8793ec908c3ae0d62d2a27c37aa777c293cb38f5a2f9964721d565ef9e83ab6755cb5190243079e8cd1d5a468899b21ce4c610604a79cb3d4cefeed73ad24c0f0f31f085314a1bbdf49baaeee073158a561701b3b8736540596901f4dae0095f03b62e0c202bd380906c9351eb19b0d54b2e65056667c71f1718721cac414788c168517143e3a16a3488e4bccbd2456297ee4fa474cc1888bc1a9c6cb53dc9731a803da604507f7cd3432ba4d175e0620024599d08bcefa8fe7f71eabab987d6874abf60af7a68b756c31ac6cb95ff48bb8d91a7b0f937d7289a9df48c5000ed3ffc6a39c659b178116a94e09ea00d68a3002a57a4b022d9b772da23a5113a0c02bb7603021c020f2bf0004e8cb737542cb6b55764903fa041d4220c4a26908389daa738b2ce0993e6d82e618878f8c8392e109802fa4d26369df80df69355bc1af8e300b30d35e5c63b5afa588634a59b5ef8e120c57beb70995da856756ef9e5b18326332fd4a0a558d7944c474180bd880d58cb745949d618a90eea9581cc715a522c6f93ea10859ce3c6eab95480a5eeabe434f715122a3a5a3e99d7ae9836d4abbe48de6fba234c9985a837f0329aa19448e81a01ef202d6980dbc44992a7b7040ec3f01ea983f54df95fc410634f19623c2d9e00a6d01699e22824e74858d58d907a0dece22f18dbe234052588782586095f4c6df381ad24fbbfca99b15d77c20f4df8a42d905e84157f7ba36264342726458b7085fadd4157a3511a8490cf1b4071c05bcc50e3a2d2d3cfcd870c3e1cf84347db87a7750263cf3158f6f16041fc3e84b0e841d97bf81a990cc39e1aed15ccff4d128337c521348117e08ff7f0d7d93f5b920391a7b0dde7dc2b14830a0eb51b57ea43f1295310b8c449061e0e3cc75bc9b706e18808ede70c2042c7727c92d8bfb98c123c0cc5f9d82472a210bcc6c9cc3cd31333b2c24cf37b5f7136004e58e7f97d931d2326e16de55b684e73c9ac7c4be259068a4aa1b0229508be362d434e969c6d25318a29c51324ff1fa38439c96544681288828413a391a590b4284d517c1c0499c4c32cd18e35754ab93bad18c7c21caf6cafafafffa38dab9155d3e8293285faebbd45abd72f7327ca1320d7644011179b86bb917b7c9fbeb488cf7953c61b9ec12a568391faee0d90dc0ce4b5f5b95f4f293348a658ba48590c2f9f0b1ac6b20ead186fad8832827e0e78e6228f9883807fceb4bb7ff3ab97e892d585412d32ba35e22cc3b01d47ca9cde6c21628d838b5f8e8e2316c4f33723f06d3f3b5695c5886a425c681074a080eacfa3396731e4592f04ac6a064f629dca4dc7797ba3d40c4061a635172d8ad523abdf1fa57a6560c311684d1f3f27175a8f1606298b643c553d3c3b3fec5cf1bf12c66992f65b6ab1353460153356140bc779d9af7260c48a32a00139c870310ab4278a609723f76722ca295ff88f989d31077b51c7d24cfb7806e0e7346184746247f1ac4c56a9298d33d3529c965cada20752735c9a3752f2ac49aa75bb0806cc23e49b9765319055eefc93c3c30d35a416eae8c8705b20a1ab9b6b0325e5e311364d0fb2c8f74768c857d00b05926fc260e47dca6dd82b101989f7b2ab2b046540584332e5e8142a4403b452afd478123219ea5fb380dd38a2f6dd4fc2635fb906a84615c724300170f0c81879705fe238453f08a85666109e986a6d3f6206d3c9801623490ed58189c99df9788ac846b955791f4da8ad9dbea57516d492b8716f087df72211f1b11e02476a93d50c02b7ba695c7dfff06a5200d056078a8d12cd63d880557537ea16a587ef76968d98e485a33669ca5cb5e9c05f2b91dfc65d8dca643dc113ef9d658a98da3cda6df43fde270a90a1f5ea36ef93e1f12cbd4e98401c7186b4af8869e9dadd38f15ec08356823860af2648bb764963ea71ee8e507de367353824ef9f36b9a4e0f8b43243b03c2d9c5144267da0b60a3d65b6749947bf9de3a4f82750c1b800181efe2c02477dc072657ea480998e60c092c718531c041320ab14f821c201527bc9783536062f51a905e8548740564dc67e738be527897ee8dd60972ad3cf9683c47009e745d2341ac3fd9c35460394efc432f053e916e2e80833b6f579a52cdceb8b6332af04582b3083091157c33ae72b979bf73c345c01607e7352839648899a7b61c14605589bd134e1c13108ab2bcef53bec1ba3de42db3c6bf1eec3a00c7270c665d350ead95eca5dc73cc0b54e5ca4e7c4462d8b5b9c6924e331e1a95c9a34d0e3e5b91794f2c9b87a6c44f0aeedb32c0750416ab05e967c48c6b6994df1b00a21119f28d34cc3d4add9a3d6f423de93eba2b4f792fefb2f65b5321f6f2a4454ca83bd0e23048560cdcb45c52b36498a417581173f81f215e0dd5d40e030614a9da9e0d41049fb1dac8a372dca1dc1e5fec3477a366d99219829a24d29b2f9e20586d34fd56725971032c619a694d73c2f28c1bf759fcdbf7d7ea84087867c70a2f68ca57306d3e326d4276dc903de812f6beb044bb12298b91bcd6c9a8bb95b6703bf376212b01e8df78fba001d40a6bfe9be6c7d061675221019bf80cbb17304f671728bb7187fc53f014649f3cffec4c386b558288b6fd59aa70f05b4699b2c660c7708e5bdb1cfb999cea9ab1a3dc3c1a1dae2ba5a72149b375f44e50c12e93d3bd5abd8eaad5b9f5133e147f50018432374e21e37b50d4d8cff5fc93646d808b96face9a930f834b722e13fa1dd27b45396a43ff8455539b0f7f736d1bccfdd71e017cee6e47168c144fb5f02fe98754a5def3987874a42a030d05121f81d15465d161793c99ba2b2e3a464ab63dc3681aab024f2b6f80532eeaaab3b89108189d29a6e3c5daefd1fb5d04528e932f7648345716e0010139e83c955faae65795abae36af5f440abe04cd00d621cb731931cfc1f0681297c0478fb6870310af7c9b1bff66e58ba36168ba35124d265ee755fb16ba1dec806f1806c79acbe218c45df3f0cfc629caa3ff35ea44f0c1194ac440eb15ec0100ee1dd3cdf1785e92bee4ba315ce252c216decefe9060a5f26ca143850ea5086a0b58b495d8b5d533b39d005eac0b69487deb6817ca25a1a12c0f4546b03e19324f4a2b1ecab2c67366ea114f5d79f28c04fc0dd626e2ebe11e6e4231583af8738060b173781b2221b76e4ecab2801300a4727f736d647e7986774f8657db4a882e192302a3607cb18306a449959e70515510da342dba1bdb28357392f95c12b534609f9190ae398d66263226905a1daf3d7a13cdc80c07547314c0cf05c061169d6d60ca721ae616f6a635cc1cb0ba1a410b5ad5cf42e7c200869dad0644fac81378bccef021e3f3a37dffa5a765b20713c1365795b45aacffc5f91424a4022dd78c9fa472bcaaf138a5e5b7a0e59382b58b964ec5ae366bb9090bdddaee400d4a4a2baa6a674e66c048dd0f482e06a590582e034774a490d6c9700b33fb8178ba5c0417f1ebe22cf3c4521a3613c4e2e2763c9d21f2b61b05d4b7321bd99c8594a60d2c410a6bc402c7a4800a799df86d0be2ebcf850d1f3951c8edb1d4b0318a85c49d87db41e148cf5569eeea00ab30681dd65a106fb9fee7c0d26c195d2f3b2eae514b253d476301b741b01032c946ee1eb276e3aa7e84392ee4558e08230b3b35d45b255d37d51f053bb7f555d6a02459bdc23f1e28ca0fc856d89ec0135359b56fcda9e8afd10ce9d846ce0a599fdb94d2b49c946ebbd9875cfcfdb75a61125125db22ae8e5344a20af63b37af588b00a5ea605bacbfc718406b0f630b7c785a343e6c554c5f14c77da8b0487108a964dc4d53418a448b58d21c0ccbb5699d9f94a44d9af07115b1eac7fef32f62f0a7a09c38762722797f13e28691549f20ea20c8c7ea25ae2ad3e77b4d8a1a89344d7fde2002286b84590ec526589e120c71be8e2c52369e2d1e16ff899e5315dafb8c85b20809829d954232d5468bc710920891b50fa2da251990afefe377bb4cd4ccaec12fa3a1a5038d85e3f1a2cef2ddc0989311649b7efe1665f243fb368264f38bb376295fdc3e4b4dfe1d21104e2dfa6d9d1ea918fa9537a35a87ab2575f690e54a8d16891ef9ba337bf3266d30a6ad9ddf53efa7dafb542a8354eb163b7c964e1849665f36482618d94f5da9170f38b0060052f1a55afecd2f301a04a9a772b112ac0f32928967302ab5eefb5a5461a63638b235b83fe8d9105c02fe7c7bee4c9a3cf106e98e22132a32ad385fa1180b8920f64f316b2481e8bc106602086eb26d20125d31425d9d161ed8cf35f5a925300f3a38767c22469ce7c2aee4b5f3240454745144a13e72b52645d024bd5d07cdc72f794bf24c9c3c9d04ca894e256d673ce60b7033228a5320cc0968a81690564e617f80365d657901c091f06c5c288fffa768bc1aab024da514e9c28f822b20f3711ce4c3208456802d2fe987e643d3051ce076cb9ef7d43e1179d67be7f1c87db024ab906fb28cdb87a4c30e50be294464bc8094e1fdabed03efac3488e66c54c91864c003a78ca7b19fff62c870a729e3a6277a816f673419a23428e2fe965d6cd4003a1c94c80bd734deb878a7086885b1bda4da25c49b0bf2f64b478ce2e666f4e4f9372943320300c1aa8827e3eb42f93f5c8cce2dc69ae1c0997ea4b3352a0ba216ab247576f489142dc2b3f5be21b43a49122200b446496999a6f2163ce254e5c5e54955ea8e23dd31285afbd84e7b90a6d0b4917f2644b889e432c54d85d232063984e2bc3ee599d848aaf61b4de1dfe235efb522df760bd9ca3f6da6c0810484ba784d4bb1adb146783160c5835386bcd52d2daa940f1130f3359a19d02df01e8d6a64fa653e408a90ca940ca06dae905f9d50601cc7a22b5a3f6a4b062753ed9cb6a8e4d2f2efe5c52d25ac072b2b5760268a005a06adcc4992f0987b27c5b4184cfd28496f4b063a048f2089c3b79902077eaee9c9c03c458f6871da6cf1714092d10440a70b02ee92b23917645225aca9c5b43f321df2d238cf51c7067ad60719cf23cc5ad51680e31d47d58fc6124259452de7cf758fe194624833c141a864390b6991ed05c583c465200ac0b5b8dd4f0d75136c3d878931e4520e8a42d11a8be266d6611f2e09548d99e5982611af8fdfb5fc9b3c98982c666674a6117d45f4fabe09d027fbcdfc33550f9f41917929429134cc31589a334f12c2b22a4a09ec2d0e9f51f049de50bb92aa4ebd5c10da2541d21b106596fecd4bdd974f36d1a816b809ce2c6abdaf1c2a5123d6b7cea4ce262bb983ea97639aabd0c091d1c3a66c1c45df6130c9700a726736e73cb6b506fae073440c39a2157e89d42f2bbca12a03810f9c45c0a2c372b15ea5fd816c604f6d03913894f58e06109adae839136cb603ba83109efc622a3b43dc56c556b3dd4cd1b222952cfc8d60331574b6ea494e5a5d56aa52570df9923949de61e46013e727694e57d0d54f8c6e7a61981e09b78e1a284f543c5ba6609f9fa2b9bb80a0242e16fd234219c33caab915f8f30d235f2d57f8002b2b8a1de9df9496cf5eb982674571f4e6f5b430b17724544767f76a7d05ca0de660bb7631961e2c94d9dc40070684704ce82596cf0fd0790966d05ddcaf98268f538eb46765dbfafd19e8455246e823aa9b3923715eb4fa0fc0b239550c05b32210e40cff5dc0ce5986b2d30acd4f32c15f15ff1b35c5809fe79166856b4952546b145a0423b3ec7c81272919aca27ca908da8f818ad73362d5c429e175fb719dc327779c35392bc5c641fa8b213425ef33ba1fed0292320bf6358fde7ea6b04bb3506219210a998c1bf141b46f13aa69b19b44b78148f985566497ad9347e534caa2e3ad6ca412b50e0c3687cedd4e8733174f2387edb4bd338edc3936e73502af35461028cb9d858d21cb2370046867c1fbab8e1d249090122bdcfc463ecfbde5afcc9fde461c76049384d01685e71888e43aa1ca582c74c9a734e3986862f2af7298db24326a5b4249291c571f51adb01a507427912910055ca928a2c135e897032f8b137fde4380fb966f0c0da23d7d1f744ec095c6fe8b1762605d898800032f6ed8113b2b925c19a50eefd15329885a1c02c2d738a2309811b2cd176f71b1b98e7303045e3a1eb4e8bcdec445b29be9bec587eebbbbb5750faae3d1d05b379202706f00aa74f6b3502f8e6114ff0db061b3edd2c23026b7c62198217dd8f318e2ddc99b10afbc1b90703c6523149e6c990326487732ce6656e85a992e4ed9753ed9222b9aea15b23ee1a04ce3b15c90b37865753e8dd5f9ad74007ae8f12e222582a07e72134ead2c71aa0f0e89cff442b784d04520d8f988353458c694e2716bc711930abb3420859a9a3331c00f3b51d7b1f799bed37ebc5b578b2bfc4c933e3bd820d579aa30b3c9a7ba689b625f58076af92a1c5b8b59d465dc2a353ea51970697ff5ff85289566c1b85c991ea7a06459f03dd73f81c647d2faf48c093a1d0390f2c7d15cede754c7f2c426a1be8a5fd64bbfb047e4cb78957d237e81a7b5a92854b857222448a78ce7523a63bab0151294ea88f295b21b053eb1c23dfbda1ec0e52356a6779639601be0059c9d1ff498affc7e7e0a04cef09d6a0f9412d44cdb6589c827e792620c467b0ae1dd7afa8b64668fd704ce7be0d648e61da63214747af70d117a0c2386b4ae8396d2e3dcec36b9765b13b6df222923d2665dba6978fde3ef4b414b3a89185a4a547e89cea682e43c20e415d8c32e7414ece9991fe7f27211e44b745a70ccd84b658a6a60e0ec44d22402e2d35684965b0cba21149dd8626a4a23ce714ae5de3ef1c687609c9d8c388cbafc792407b9740a14fe949cb9eed5b9a709f7ba91d59283864af8abd88333c562e2e81cfc4c5a0016a0a4ea5bccab1611a8c4c99eb15c7463418f95db832f4b0dc452473ec56d7ca608257df54668eb61f95b138ffc94c06c2e94371096089f58da039fcac5b3de230104370244970bbeb324fda70ea2adecff1a62eac0f7eae02d1d4bd4186b4c7304b7c0a9d4bf87366407c142ff5902c47a34bb0dff25cf4a350c6922d6d151a5c748cffd5de0b5c3e79eda0e086a7f3becb5994ee5c91b1e0ea239308c3548710393507fe817ae3fe5f3bb47b45aafe8794217eaf5edca2b6c2a3e93b6a1e7e2d956fb01d2fdae86755f3f256f351c113f52fe188922ea947d145fb29f6ac76f86f237c6dc8ba67b7501cf0c004202965c69fd066d879d11de34ba07835823e467bfd66eb458ccb2b3354ef9c614bc8027a6f76b088786e95ba90ef2827a153d2636ddbcbcfff550ce35b18b44875bb540d93f17c65fc1c5645b130c4d53fb0ec0589aa8f3d4529ef0f7fc2e09e55ad226aa399901bf0979c6b61b6c9c76172187a5398b4d1bfb0e6406e082b2132be08e2b06f3e2edcffa06dcb0b4aa7cd089c9028d7a52932d7a3854015f3984e067aee1809bd7660dbe367798fb471fcb1422804f480e43af51c1bcc018240516575e1bc739ff7744472d5cc8e80337e63962f968933f1a3ee3772054e95e6c285db16ff14fc730551f6cff96bbcf22ec747d7f0f78d59584cc8c919a62f11023051cc223d46c83e8f4531f6b468aff699acf261c10866a17c78bf10b80ac8b48c6bb39740300d0cfa1cfb8a586e52fc9b39567026a190c93e992381998dcbfa92f214416b1ee8d003cc8bd19e97fd0e017060b0059573a5fc796329c248095ed1c8eea537cd831f0b554925555bc6719990a52f24f06dc1994b9bbb728b6aa687f08e4e735b56aba34e45d2f72b06fb4f3d3ad6390b6b362b993c84fde9149ce2ced8776649b860a84a80c0f581e6075cf79c87fd0ee7d3111e977d9160aedcd72641158ee266e3bc6cc70544c78d93fa64ac299fba4966f1ba559587b765abc59ffb5dcfcbeb8b779b8874cd61b905d10aabce8ac3a7a6c2a76c67534f1663055760ee8d957d664cd4734750845c43d54ab7325d3fda325f8dfe5fe4c3af2b0e439cba9714a14307c73ecf05f00cb003a5f7d2d56be9a82c149a07df49c0e88806f76050d437342e451e69802111ee1ad249196a6b13b3d8b0b36661f4e58274b89e01383afe7bdb561caa0069eac97b81acc8a01052e7df96c55dfcd7ca06f262e6ce1c166a4800b3e51078ee5151e1cb23b0e98cf0e9bd984b8b348d95cf7b756ce8fb6b32f7e498278e40da20eaca0ac2094165979d0a31a70f889833a3f9399740dca64aaa54773aaa0108c9630cc11172dcd39e904a3bdefd181a3aa8f0f82b10b48ceec82366c056e61fca03d1d9c1acd8de188c04ded6140fea81532d6e20d8cb0fe1ca6b3d47f35492ac89c1b722ee51135f89dc71af0ba6547d786d233cdb01454ca9dacf29cb7288ace0102cf385f0d40764e4b49287afc495c5e50de7563c11b56b3286d5107b16bbe5356cf50d4bdf92cfa31781c4be5f7f480f03ca4883fc1a126bd5b69a36de6d4263649085681cc927cbb40375bdd5e235c0ac06ed3886f3ad1fc161bd39c0a513956cdf7e408e1dc480b7fda3d7812f89f52dca8059316b374ef8ca5ca7b7a44e42ca47f56b5c1e7ed14c9297a0b616897461c56ee61fabef86715452d7ec30892f50600cf3f23e3efd36bad4c5e94e5bd7784a0bb0cb1b28e25932a6a69ef9702e82e4724acaa6ad28a5cd6fb12f19f55404bd0cb4c74e0c112ac56af98dff491ff253897cc07bc44055106b2608ae7092a9ec552e191ae1292d828fbb97fab806e97b78e14e85a68fd8e917afcaf7283f16063dae706ae12b475822dac446be1f419b589ee05cc4ac21b8d253f7f70155035c3450a109a4c34ebc9952d2659b87b5731c0c053eb2a508fad4a06edc0d3630a0dee14efc8fd9115da2b8654abe43df17e1ae91dfc8ea2f26143b130b3cf2c54a89c9546ef1f3bf5bd942006f84de920fbc44345491a7b02eb12c842b02d4f0b6b49d755041ad4e2a08f3e80a7d827c791b6eda4e2ba893e6ba1f82336f8d39355525704a04383c537ddecab1e9644c1919fec20ff55ec608d819699e28b7aeb65aa18272990b585b6d59f3631bb5a7833d3783e3aab54c68217237aeb221f91ba8896ca778b088d76cf053edc325b989d5a3c20c9cc4036aa0f0bd3396d04a3905ef66a4e3ce7177303d277d8a47c651b4112b671cfca5fcadab643e650d94d7b98c37977ea38df4f1f42059e3da704eaf79b61855a6af033d7a8c4340999d05ba1391bfb995497e38e588039541fb9b12b1cc9f99a104dc264417d4e1d241cfcb4693ba64d5f9d2ea8b75381c01f4349da8a81d8d4fb17c40f53ce8815bf8a325beb82f61c9179b3573380216203b4d9fe478a99b80c5bb35a8a7beecc98a2c7dd6fa9cf84cda9681993c991d9edfba4c9b7fd6e89cc1e8ae9a65591644b4cbe4c128fd7b30c997c3d66559b099f6eccc247f50b591fe6888e66f52f90bbe17bc8adf1bef611ca5ae0c44e15bae30ac07f755b66e1063679722f3f3b1c834dfe1ee6eb83d8d8e3b8ccbd5dd81f5eac3ed66f910de5eff61b5091f9a4778699a77cf2b80e79af088ea1548004ea596cc3f97616ccbe9bc8ff738183c9240e5005d3ad5d9dccdab1d1aab880ce4024485dd1c46b59ced1ee7ad1add710b654a13044ef8c115805b99b49df74286998d739f3dde2438c1965bdff2a714fc3a876cfa9b0a866339467b1de7b2ade050e48168f03afeaa1e89fdba86eba13ed42b17239c296ff930e4ac25d88c1cd0ae5b14ba42dc8dfdef59810866ce35c96218659a13867c17fa807ff1e046db40bc8103800fc9ce40d6a108a23cb22301fc8099db09ef4ec3eb07db015f91da6a0c04447aecebee18032398baa574cd864b79aba3448c12c6b649ced6a18cc5f16333cc1186a7cf1811b6fa6233ab6393eb9970c6fb941103ddd7a6f420e3b76bad70cb1e8176f2a93af175c6aa1a397f39034c391dc8f7ced6358ca0fe8579cc1580a68b9a21b67f79f3dc53ce13628ca77c89f9c783867654f4003dc43582a47e99cdf4bc25abda67ab6dcdd0de04d7b2c290d749a9f694b43445f0e623a3f972d88b53b75bb71fa321974679f03405bd96fb61f47dc88ebb6a9fb8bb700305922c0d5991498225b30d3daf9cc5f5801e4283440ab8a3f7f6a997e77bf580cd7c2991e2ed953db8c15de999f3fe0fe4fcfd59a510bc2a4cf266b86a80a9399115568e9c946c64460364918791d1e84084b503ad38ca5d8e43eab157480924276121ac47c95c7643fcb0280c170dc977f0218b9d6112d086d1ae1827b09489caaddd26201359849083a9435246ca69cf80f8431546e6f724bacad177ac10aa7d273e0abf8b12ba8af25d21232f4d13b1711c8f743606f369d9832ad40d387dd6822bcc7ab2e08f0d25a39262127b6d3fa01700ae369c702ab16bebc6b89c078948cda9ce3c9714663645c5686b8a25b021419516757df8d4d7908f681491720da67965b4e03b40fdbfd07adec6a37dfe17013d2b1cb5aa2802472346561efe50dc007f2031dc87003918d00d10075260e84e3fe510146e2019806ca86ad7452201b4d6fa46ca21bd532493a6a2d49eb081a57f15ce18bdfbab98a92083dcb8880f7602bbbf61a7a05a5bc048df052bce0a033349257d0f65f7b6baf1c17e9c5b577c4909f59882e20fb5319ad14e400a664c481fefe9869c182b505815f4b12cc56716045eaf88409e960942b039ac005d43d283a1604e5bdb1b979f1f555890de9b074ead54ccc4ddb97779b95147abbf4749d98994755d16fdd6a8936226195588a1d1464d1f1313067965c37b6d7344daa77cded3e58ba81a05854eaea043c2535d4058797d5265566da25efaff112650defcf2a5085d0d33e5ee8b7102192e5a07e64f98aa924f921a610dd72409e134d68c711f31b57f1dfd08cade9968219e5c295497d86956d0b932cf03d7dc9ded988452249f3453d5a26f5e1d6e0470e4c0ab845e7c22af2580250602fa9365d2985314f52ed0792b22a1a98549dfa573d29911798ffcd63693bca3a4675526a4639b1ba3660555ccccd0988c5c66ab6a4ba28b861c91b906fde2bc236ded1b52d97d4405f540a85dbbace7f412761f8a6547c5168f4ce896352ae74ba54860496e2eabf406c4cc0b94e024a444d608a4e38af4287046011b29f7cf03c137fb9d9afc726cfa4df044bf4ab9d57697bf25c6d9dabbf6a82b35a109d5791249c7da1d9dbd3f8dfa529c0aaf32a080ac963396d688091d02016b11cc4a745dce217638c0f1418b2fd379e73c42e704aa6667d967dadc5b0bf30a9ac48cac1ab93dcd00a9d9b80ba021f21dc8e8aedc0e584512a4d0df02675ea0254e18257d3f2d8063674c031b42047baeedc3bfd4146b21ccfad70f9f433ad5cad1e4a0f0b6647a89ffe86832b0a659a617f3209427f1b0cd6faecb75d357755ebbfd9f2cea4f1c9a640b0b01e36e2d884ba53f800248217b770322a547330a178f7b50f6ccc2f24520eba34db89cf5a6b36be13409d737b4071b6173c9a0ba4d5f276f570fda53d78afd38b8eea5205303aed565dab17643d8cf6390fefaa925a4cb9b7d7cb2014c7ae800e1e287709c620b1a3ec3818ae2c98116ec0a9002403e89a306bcdd87f0ef60fc19f9498c4b7c391266391ca127f957a5721339b6b5bb3c938dbf8dd2b327a404369e3539c9dc5baafb0dd073e6b2610bb5af50676e085cbdc660d3e9150fba39fa4eb533bfb30f5609462ab19315757467fa68353344dd1f5843a116f592968b25d8978ad8aa87e3d67613973fae9c92d7e51616d6e234dcf47e31aba7a5b1ddb67900248a12bdd98de0464fb86c7aba541acd4db2843e8b159f507b8af8f2d99c6be289f2fca6329e5be5a7ee3a480a2c1821b9c131fe9b650d31d93ad4c7f7fa938bc431bde334f6537bdf4581019392aa998ecdf55f6165d8a02075bcac9a96f0f6054f569eafe0d38ab2c4f69b0bb4d2052c0e413a9db58a577da253128bd10b77d4b208ff8fdbd74ba7b69406726c216c83a1af3f6b36fcb63e9323e27a364abae6a1ed88d617bb90e50ec0731657e2fbeca7e710bbba7510bf8c41052d131d56682c2730c4877efb2faee0a8b703e4172924090086e3c8c45ed6edc709649451bd2df2fad77603e0cfdd009c148523f5ca141d60c00b143b4a021b521bcab563628bd52e99329e2b8ae1e81e35d9ac67381acd7142c69ee158c8c60cd4dd5f8403d14479ec8cb58529ceddd31e3977705096a1f3b03e383d66466651e8717e783bd2aa744a6e32af11bf1dd807e07bf2298d777b5189e257b11c3a674895ebb1594df6767d08e202d826c5dbf41dd421957168d025bfbf22ee1eda735e84686eec6a81572208572503734c97a79fff28d9a6a12d2b7c47ec47ce99d81e587983ec33b908a9cdcb7f026e3dacc1a79ab3362df84bae81f0cbeae2d003f6d419aeafa447fb7853a8bbe3e106683f5ed0296971fe18ef990a1eced949ed840a8fc6e0b405637dfd3221f6575f3d9ba648e436e5a58c7e64c5183b8a34816b7aadc1473b8d8e6e68f9e96d892e95580fc603d2f978c4e7cef6616d7833951a724d1051ee0599c3e6f084f773606048fce31aea3ddca2cf60ac6d573b04eb66201fedd58e59d5bc2442ea06c84478ddd9332c25e21330e6b1a0d4e720160d5c89e93dbf201ed66d89dd75ab3d45a0d1c8cbfff3211fe277c713f7b01b16cab95596c3bc9e11242e3a13b2537b8b205b064ea0431c9f16c7b3402222520e612394645c7ad84d0d18df4792417493c2740a6b8ee27551c3aa7a54c856fafb97eb1f94ac51d809fc0a83096883587e2ed3e25cd6ba2b4ad2ea0c057697653aeeed8c089fc9ccc934c9c283d861dfa008b33497bd4cd065318a759629ff1e8533f7d2c1953602e40ddcdfacb16e50867ccdcfda25b36f68d725db1b6234f8caa1379b3bbba3d7d84a0ba93bfdc64d61e6d31c1d2392cf0bd951c215dacf4e411209f80d219ddacf9180ab534798c5467796bba3d24262629c37d88ff65069eb7a5e2da5fae373910ae9f548ed0091d109d25907a4a27ca0381d9e9872b61f3d87bbe65c7de5c7daa08f950e687941e621b222a6b351644c97468ed9da8dbe889764ed4086079acb63ae3759967de244ab4194954973289124f0f415fb9e99b269b4ab65c090bf28715a049c78590f49306771d50608f9f3af7f188c5f88d4a3846df91b6251cd7e256c83518ebb0a3eca0b5f229851ac76f6cd1579183c68c846ea8a0284cf7bfb2284b17c6b7bcbdf71789bb776d32cfa91c8b85241a2547e6fded3ed69a5ed2e4baa6e27ad40cf06ff4cf05ee4d92b92ab6f898cd1296706fa8e224c6ca6b32d906401e9b504abbd7a6ff66ac4c5b1ffe017861abed0febe5b11e79495d06ff2cfe86fed0da398e6647e42d62f7f37f2bf6ce18a310233feab9e68c247fb7e5fd9d8e30e0b69588df370eceb1057d630531733292407b146b8d6286c3a184806c2c9ec443203afcb34bdca4b4dd930e7a9455d04a3b8a5c21ed489191a1f10236c253956cd0241173bef20f7862264f629751bd02428ae37a55310b04a15094e41e1e853653f707d8025d326216304291ef96105bab668c0ccfd472a9d758b8b93b85366441f783c9d58cfb0acf184f12b698ab5cb59a52e92e1b4db5706a7c3914b73cdb67a88d960ae803bd6930ad8dda98c0757b9482eda5e41919aaaa5e7ed9ce24be04c3944fff8d40c21bd635669f48bfcf71c70e5388fc05623b9976a35eba5af8188c63a2010d7188684088d02b7f1a2164b5f4e71ce57374ddda6ab0a64a1f53840ce5b6728a9e804a9fb22d28080068901bbc50ba053384f3c1ba91652283abe05a5909168702d4d927d30ef7bc43e7dab708915ddf78e50d07ba366a4f6efd89bf5c6609e5b955010305355f9f0c0ef3fe62af7c2c6818d1c10ee54ae6fb26f989871c2e02b4ef08b92dee9cbd6abb0fdaee2658dec9973aaf5bccd0dbc042f43f1faa09f2c88cd581dbeefbb3dc2586adcf8b862617bc5bfb07d1f78e5fdee2edb4527efc7379956c66c0ef101d06eda5fcf3bbc5b49940f919d06d00a1a8ffa0c19308803ba19cb05df07a1b7f6c53073d5e3953c4321db390b84e99450720e2ba28a47ef926d5696b373eed160bc745a08150f29356e4e3baa3840c984c1b5b3795e02db3611dac7217efe830c9afd9bf27c7f91a155f0d4ec1adb88084d67d18304aaf1dbb6b81b37a8153e5f08dd71d4fb59fcf62675feee3d4e1dce217861af7c145167cc47286e4bdf846c15f168edb5fdafb63400e9cfbb56b57b839b9aac869be49da52e42f20be6c87d122f75a102164634a6a6030b6e3a50a86a9f782d4a5153eb7475d958079e7c83ad0e89c182c7b6ecb6809dd3ea6310fc869745e374f65f29db72c8cda00b9daf9d05422769d57d7ac2ac18ae44960a4657d2ad9bcee72f3fc8575e2aed9890c93c700d6204fe3748c460e2c36f3eae1e0b50a76f28f6ee0caefbe9322f69b00677906b10e334ce359dfeacb9d6b950b270a46ac5a4fd453d9b943839a466d847efd98bf128f70b588c40efde8c28370d19ff208746fb358dd14cd2c197327290622a9760c181c332a381f30680554e44d2ad990ebece66b83c04d2db065489213525ee3522966481fb9c7a7f48e76a88eedfab0d432134361789a363d24e09276ae96d622186efae0c145e797c96b6621203e78c5db02677c8655f3e9004e44c1e2d738e30429a8c60626328b8f3720263f52fe874a8f900989e1835262415e9f92fb4880a6fe35ae50faa3be1a25affeb50ac8a9b2a621d37db8a364ab0da9a52ccedda3e0926c1a91df8debca2c47889c69a0707693ca0040fa29112b466e3479d050ce4a7ea44575d7c1856a77d31fb9830a3ee1bf01aadf1027b544d545a13e8e8bb2c7ae3db484b0647202de91594da809606f1f46abba6c9070e4e74c478801478756a8b530bd8bb7f886db839800e3d9e170b8c4fd50bd0039e554d54cf57d4cc01225921ed693f75ef5112fd8e3ee0381ced3800b9a5fa4e1bf6ec2f1d34a796de7a370a11caae793433045e577ecdd13d818da0da2a1e490704684e5904aede6abec026cef13ecd974e15dea06ffb22e8b2a3534815e7897ab9ace2b23f48fe00e583ace1b1417768cf15d7aeef74a6a85ce891720b825be30ee72c0dd7f32c3862c1c0e692fb888bb9a607241c9620e165e0300afb6d9232dd3ccfd3fa6da49710a64588c5c4c0aec8eb52be6b76e92fd7685e345e2f6cc2070604b3c320e3242282b7392fed4c3babc1e4aa640c1b33c4e324cd47fadcaf64c1a2828a332d4103f6b7da17135b08a705f2608e96228693c18560c28f9160d69790cd86fa6d95caa07c2c389b0307b53db18f11ef6a785ca9a515c28a039e5c9a2a624d18432a3fc5a026ccac451bf914453065235a5c9b1c79749ab050d2e180ca2b0b466bae124576c9ef9e4e2abefe1aea364f0cd63e90bf287828dba6778875bf9194900957096fc993eaf998330928ba4d33e77deaede70f04e069358c61c3d70ce3f4cca52d2a475335c6467e448ac88847f75536b14ffdad8c23d1678aa30cee9f0e530e02458847152c73a6fb08867cab9547206b2067022225211b306bc4440134f73c33d7b477b27e73928f91df873124a887923eef39af3268e8ec23aa7b04099bf850f80690f567ab1ded743270b8bafb4b5576cd6568f57789e19ebaa564535d99534f5757715938ed5836970c6e0047896ad3396692e70be09a1eaf3a09cfa192c6e9cf1e495ffda79fbe80c1e75e15612f95d677f2bb72bc7d51140af8e3a3e4f576d511997e519879065de8d759ccca8bccdb1e0829739f5cac022153ad12b03041b15263fc123416c36f28e0b8c833aeaafce4b9ecbce57b673d3463ae1b83491fac774d5524729e7a8848f6767c721d4357d9f4f6373cf5483609ba438dd12062dae2174eb7f1649466be5fd06819c28f64a725129c7f4b6afd6be3c59171e7481444116d0607e7a6b91b000f848948f03fa6ccacfbfaa50e2f38e68468652d5194525e4e63c76d7dfcad11a593036f8987eb140e3d8467ad28d9c77951df6f4877e5294e32436cac60a6727dd27fec555e48af9cbcd5c192f0015c6170884bdb6e658fefa9218b695327fe79e3217e83878eb1d20c1dff7600c25305112088d4c655ff056a6e29f2dd0d73d4750db785baecc85ebbdd12ccfd0a71534e7c5c71d4a60c813340f2166fa7e3a35b85cd336fadb4092fea99e9fdb3c63ba62b6a12633515c2479d632d5435343e4f1fc3832f4304f41570bcb56c60d0ccbe460cac095e5fa1fe61f5697ace4b9a405688c1519aa5d83cebe15153ed2420f10adaf40238ae00eeafd50c2011ad243c59d7ebdd1fb711314040978f8218369331629deb4168dd1278eb876a72499a3b616dc133f7132daaaa8bb25ae4093bcec1246d703286840b989a6ace3808e89e2d4973ff29e3949f165285cdcaabeaf7362c410f62d2f3a58e5dd9c063c432b6be4ada2ed57f44601bcc2c12cf28197137102f7d92a88e715d0484e9fd5df1fc9a96786f5eb63d3a9074e63aed5575e5b69f8ce4c56b546594e207c6dc147bd055a11d1712c86ee408951ea10ecb935061b8b92e0e7c95d971855b26779361172df469a3d026c3b92cd6b9f776e0b39e7240e76a408daf5d9b1a6b965d1ef005bb996a7c3165fdc4569e8256f976cad2b56ac4ff65bd0fda4dd5a14ac86f59df53b15ac781bf18a53d74722ce63134d37cacd056ccfa90f58dd4a57fc839e9d2d0ca23b970a6156b8a4170a15e5ef337400ece08f37b691d4c6cc5e7644ce8fc27d626d58766f20bd4606ae976b0b7c277e6d7d8a832a6e1e9ca65fc3e795dc1c0e4b794d0af425b6890ca5aa2499845a914b5f595b15180e413d31d8fa4d5488ef1dc4a9d087be63d4979a289fdc49af575daedf7bca031d835425e29e3e5358d524d471dba851b136f3d71b3f639eb4b3c2cac080c7139d1235716c8fa6cd8d1c5cdc80978eadde8b5684d73c34c3c6a8a7d0d97ed915c8e8e28c4e3346791a3132fd76d5bc77c05fcee7f3a077b37ce1b1771e7a4c78dde4e9580d07202401173d81ddd31ca6caebd06426a1e6d71b14c163e5756bafd5940d2c8385c027d4a0abde5b057ed84acf8d48ccc731a966a9f33636d4d051df4eeb06d6dd4815c50ef1871a4b8f1eb19935d242916203035fe9e06bdc1e1b9b750c9402dab5f5555d50d615a70305fde71886a3f231871f828a7489be209e40f1ed9429977e1ecb1eb83aa975539ccba2b06a808afe8149f921cbf500002084318694aa9b40f1f7ca45b13525ef8efdf3f72162dff3109fb62818e55b5bd9b69452ca94920c860540052105a61816be5423cae8dc4b24f4f6a5868111a030c2cf121df84111242ea99b4e199bfb69bf4dddfe51fff77343dc7e1868eddfee2236979f8c373e2914c034894989811e0381ea7b20adf371417fc3719857eb34705fe7037bb5624f1f6ad8538d97f00a10dbe0536dfea41886d1c9b73274e820864d785ac732defb90eb4cba6ffca7651cad218485efe30e69ae718899758e7b0c9968e5f0c8821c7e22edb0b47c9b5c8603b67b4c38fe0b51834162bbb7c3c54c1edbbd1d1a72c430031328253343e6c82c23b48112ec4f7a523d5088142ee303cde8879e1e12e040d59ad47cb860b38b345903763794fd64e2ec6d88cd60fcdaf3bee8029e2c0b01991c6d6ae82c5a0d18ae07dbd560e1c60b359860047836b517595a38e4526b41c2763277234519d84e86e5f6b37083e5d9802e22547cde8b54032a414aea4af776b77b74678790532ead98ad19e64e947885759f799f9fe68f8da9d78f178eec26c17efeb06eff4ecba6f090b2dbd5d78bd4f38a345504949035282b485ea925013d93cb0396e616fd7285f5998f5d94f2ba7da343709b3fee0379fecc9ff9a302c57d3a1528b77da06fc12a509e8d97d2d39c2bc595f20404daeacb7daccb3d4a1be047728837f789ee535ff5e5f5f56cbcfa2462a9faa40de04edcae46a93ecd3d1a6f603b9ae2adbe9a9331468d06a6e48f9138e3cf949fb06f2c82de7b34b1be7e4e8f32fdc77deaabbefce43e34455393a6467692a29cefd53c8dfe8dae8f07a6147301dbea4b498a8b1ae917cedddde1bcc276ee03379a42a107dba5b852b763252dc17f6a7da5527eaaaf578af404dba5b8527cdad4cd9fdbae9e94579b9eb469fe3c1b2f8e328c826af3cbe855f1911d43848e114450b749a9568e93c35aad56abd56a75438c0ff77a178947e659d2736eb3f291993cae97cf0f6ab55aad56abd50d32ee5c4cf3b452ae954ccb154e0e6ba7954aa552a9546ab55aad56abd50d3ecfc7c7a7552b8faf542a954aa552abd56ab55aad5ea9950bef192787b5d3e271a552a9542a956217bbd8c538add40fada9a9e9562a954aa552a9548c0ff77a1789a7d56a3d565c81ed68536b49a4e764ee0a08b0057c24185770240c9ce92713b0ffc09a1dd2c85bdd2d8e4ae001d40108dd2ac21533f01900e1d9e8c8cee32e6f3d1bfef217ae54a3a16c44b5775bcd359d3bfec2124a3959d09f40f85ed07b76402e2ab43f96e9a494ce392786cd0ea6bc949872b2fbc816295fbe2825c911144d12fc967452ea3fb33427377d30ec670b49d4f2812f8670e258e1e4f6d470bc3b357f3d1a772eb93915f56cc86fd2952efa78c010f593b72ca5cf06e8050cb6f2b9b2846626891f0d52b4ff6ae8add46439613bcb3387c4d98ff117b656782be7f6e7f84b7f8e97bac98a71e1d61a5df656a3d031b84fdef297e6994a586f55a902142986924a418c4cc425314890182488a8242a894b442531059189b8242e11834425310689f104f1043148540254234ebcb1dd289e20c6487a11616285a5fc0d2505bdd02205478585435794d45c77b73b0e8558b878e2445601413ca04bcae69c93d23a45cd402010a856f881242b4b84aca08d90d49010b0cc1d5985a52b4a824c50701e1cfcd818f33e1d2159ec402c644014a945c810a0901d5945e6844b10aceb2e4a6a6e656565858565c8901012ae433ca62443a261f7e90c51a21265cb9a64d6092ae467880950c0810a38f0131e0df86810b121f2c35d8932a487a7691525213f84f0c0fb748430f9511433828852efd31952e3445601970840b6c42529e1171f8d7e344039314456445436468a8e7d3a41e05c7a9f4e10ab4b9db4659aa669db36232b954aa5193304109a11800004c071a119df9c74f092b602a04027889a20442551498c4a7278387224c62241884ab0c8894adc8fe460e17e24070b771eb03892738345ce0d1651494e54d204bc813737ee37f006dedc4420d0200618f0f69b945904fb9e52d00818c20deee8ad2f105074c4428a61a0f781618cfd8d0631c62fc43086638491b2e4485f843042875958c042192314810f1419a981bdfc077a51620fb55ae5631f35f99816c32b44b9c5c764a0118b5162b3a324e9175e9ad2851bc6d188f7be8504dd426f8ec298aafcf5cd70e13f2da686e6a08e19d786e6bc86e6dc35c36df85e8cadd1e0a8ef46fbb8fd15fab8d8d71516d0b94285edb8c5a2cfad9d36c1f83e433391c2ec462f69ce579858f8fc91ebbf36f58be18385df0f782ed45e99c2c2679c089bab1baffcc59f43489a73b8b1aa3997ed5835a2a51afa44e221d71948ff2839c8721fd3a40b493560416c6798076ca643a487471042c80f017feca21ebaa2be527def3dbef519c1d2d0a639e7cfafd1734ed92cccfadebfa91de0ceef7f34e647214c972b192204f1ffd998f17f1d57e32ff129b5f6d5f8f4e9bef192e622d7f88995782ff19bb0d1b931bae0c6c779346291948dd4f2f8896b220fec385e718dc719bf4efe9137f2cfa3113f3e4cd96ac47654fe4076cf8c46b1528642dacc8b1ea36b34cdc58470f4e5cd06970561b7bee66e8c88e5e73a86dfb51817c0342763e2f3cb28e58760607ddcc7f9895d90926b138ceb60a16bdc8629b5dc1e6527ceb34cc42211cd635d0e75a6d134279f63d5ad9391e9626238ee9fe492371b9a937f84ed4857925adae42fff99995fe8511736f869668928fdd2a69925b668eec9af35d7b5a75384919bb5e93d6dce19a74145d4081bc2189a8b3ce0cdd11c1196523f71944ace4f3ade4bfc18e3d3adb33cb8f12777630e21d87e8eff4af129b5f675a5dbee70e308f8897d80d008aea94210b1dc828f43a9b54ec2b9907fb42902ef85ff457f60cab244a2be942aecd321e2e7c2ff7beab0e71ce3906b7057820c21dc6abcd00c08acafe4c0f677dfee03ee0ee6be1207237f471c9837195786d71ce4cbefcd3350bcf6e74e7437840f857d0d9b1872df3f950a1bf37885ed78859dc1775a8ca4e2287531b0bd3977e857d4578ab9310fdf832578441337e4e0a71bdca57f7477cff1bfb13969a693c4f7185da8af04bbe5c277286cf7f7fff9c1216c9720b7ea2bb937f3bb44e7f81fc90546e8be68e3e1f8ebfc9a30e94bc0af0a25fc283182035a20112249750eb8bbbb776806be912766dc3ef282bb0b018a164358364178011146507500011bd94106b4a2084e12b98309f8258462fd25dbac3e661ef1635165d020df4b4f62dfd7a6dd4dbb9b0f698c30c2082384adc1a7520821c50e2ab8b5be8c1ef1b907b84fa7084be788eb08cf65177488f48466e0a3620a24502ec01dcb0f6760b1874d6c4807cdb19d7d2f74c342f45f0886f7b8d00ced686846235bb2a47f826328e807dbd15684528ad7a60ac8bbe335f7fea950ff753a4570620d748a24a1530447a7c84aa7c80aa26ed703230253736172605030353c9860cc909c12582119909b399101c980e09c284d714f1234cef39eb62edcb970dbe80be2e56700a815743410461b8c47099b11d7b807e9b6b9dd39ae185d03b95d8fd99146377634a4fb2ddc01db6554468eef32fc433637c4aadde5e02364d35c7cbfe1384c86cfaaaf141fbfc7fcf83de8ecee3ebace9acd2187e6fa69b0dc3df7c7e6e02ffdc38f587e8e811c0c0ba4e762c3c4d44862fd3e9d22486e47a2a2c811372676c7e0e0b384224586d834910411a86c1c511119420884c064092446b4c01491452effa84d32ea4082435a36e0430420d80e4450118104234b6a813da880689d228e50840bc6243f30c610c21f046163440f51a8b4d041b583dbbd8d8a06b7b39f842a8adb7d106c769f8e4ac96f7fa1eae6c228a08eaa04a2fb7454477454292062643a175ebe8fd581664602c5ccdd48d8bce6301929900c5e675094c2e650936a53f617036d0a3daa63201ddb64f56f34f6de63ee1f9864eeeeee8d520d7bd67ad0499bbb9b9b6badb556d601611afb34b785e63f8cb281e686e9a02a1cebe6f7de7b1bf7a0fcfabd7efd46cdcc0f7bfc83fb07a87bafeebdb6d7d46cf0177fa9f568ce6f884d2cfbb4294a9b7e1af5030b581a557e0c8e6249f5bbd16da9f1a45ae7e3d22ccb1ec7bbd92623f43bb6184058193ab2f7cfde3ff4f17d743d2ee86b487b19a86a3e2e48a3c92eb6f10fbcc27cd63a48df9c917ec300d6efb07f1806faaed41dbabbfbeb79fec3abe115debbbff7549befe7d3b8c7dddd1d3e8f51bcf79c44bfb3523a16699c3146f72c3e9532be8cbf43baf5006d533fd730829e4b7a3a2370a263c4cfed460e58f1f1214e9ef3fbe747d4c44ebe73f2365b8f067ff4806db8e2c335914209ecd0420b2b81d98af2235fe6b989aab0dda43f5b11d378f0eda7b33571f48f4c731f602059d4d7a77892a7efb897183b9e6150dfddb478c3a3f6ee8efabad6f7cdbdf88f8718638c31032819f81dc27e7e2f7d73dd44ad2558a2a13e86c9605e4dd131e3b6f3c8f0d4b8cf59784eeee3100c5e0342912fe9a106889af9b17e0f9635962367f3a328a465f3e3fc288a59ac3c992767ec27a8afd4b9cd855f9134079b58c9671d1200b9fe40d8aec685987d2ede0bcc308001908b5273f3fbd96b6ad73e3480b52e724807bfdce4f6a80cfc54f32e5ea7db8369ceb74c8b017e0d66d3a1f083ddd1dfaa8d57cdbdaf8d048977c076fd3a35cb5fe0831e6e71b9e5449b3ac8e21cc671227b9e0d1adb077c65ac006bfd6aae9ff40bec2d5a1de542f8f069dfc669935cd2a6ce6913d3e75a7ad4196ff1a58e5b1db7ea4b82fd8d6e949fb08ddbc1df835f2c3f6c7fd683cdfaf5a44df46b5eaf1765e9c1c27f2b4fb05db3de436635900bbbf6e16d49b01f7dc2b64675128d6a233dc475ccb86c45733034d3489a83cf038a1ae5416cd72f56bffcc439fe029fd29c0b5f177e337936749e0d7fc8cff297cf2119fa5d73ff4ec2768cd3a89c0a304f9b9cb4496a4e2efc566f6c45a3fa479be84398b875a547b115ad36f1c3dc8e5b1db79e5cc83d2d46c2aa1665dd8fa3f6a4cb96c4099b00b9bd75340ce4f637a0df371ce477422cdd81c30e161ecbc7db798f463fcddc263a094a7d294dec747cf9650ff63557e93bcb0e16f4d9b36cc076346b53277aecd94879173da788e687f827ffd4de15cd7f20d63006942e4fb8c1107b134c48bd96f07afc684068e32fcf6bfce5c5293282b424ef081dc60cbabbbcc04bfe781f218410c21619a156f7198212c563f77667017467c25d078a12e8544071487363dda1d3dc38a4b9814e051487343790193ebb4387e290e6a606ac9a126f106f106ff04a5df698fb09b683514e4a31508dcd8bc1ed538eb900661afcd827f8562c6b6f916ff6d180f0054619610e3404437669cd9210b411c9200703de2943bd2a32949f684d4f61f96528898c4ccdac8b5823262472f102c2709cb52ebcc65f665a666986feedf4dba98136d0a605d006da0c8136a317d98bd04c5431455ae32f45a094d664947a66f3628948dfe39c05504ae870c211845266ec82082ce9101e4e0cc21003fcca0635edd8f41f27299431c7cd1331190f358b1fa4b0c10e444107511642647183611886a9e850b398228b1a50acd6f4a008416e7ab8d13982105c802b9c29b25881a8081d90ea8545ece0c2982fb1507159706ef7319488ca4eb06cf9457618638cff7c076e1f35fdf7997576f6f72658b6a31b6932686fb8fe9ef588df14320cdfc1213f6d9ac1d327a852b9542f958f156d5259d227c86239c162c26a725dde71daf4eff26ed327e8f20ea44df25d22ca5fe6d3289dffb82e2edee57ba74f91b6a68b23e95364b192602d6139715dbe556d82f12edfa83e455774754ddb746a8b36b1933e4914aa07f50415e5ba3cf3b409f42ecf397d92d4ba486ac422b92ecf2e329e54635d3fd7e56fe89324f5b87c0c7d9a289a36f148e1dfe573b4894768f4dd63a964543124977f7d727179ae4f53556a130ff82e0ffb345dfeb589477d976709cdb8b02e44f92984f297f9a8bb41a8f253adb0c20a21cb4f2010044110842e3f812845f909a452a15428154ae527104aa552b1fc84b95cac3b3fbafc84b1fc653ea5d6a2fc84a95428154a8552f90943a9542a969fa8cbc572b15cf3a5cb4f94c5922e9674b1a40be527aa52a1542815eace9f2a3f514aada52a510fcb5d4f22593b592a7c47d2beb3743e29654608555261db3a92b675a494adb31bbd2b22152de51f46e85d29994bc5e532ca242b5361b9b024ebce57a92e40aa4c05a47201a9244875e7bf003908a5e202424910ca41a83bdf0506c3a5e2e2922ea7cc72912c6731ebce4f99204ce5223195632a9e2f92ad897a50180a4361a83b3f146568a21e570a8a2472b9e6674858ca62b158296019f7f4cbfcf9e4ce9e14fa529574aa6a556854318c87a2288aa250777e8511649b9b9f35379f3637670a3769ae2f1c697da577a53cf21e7d9436c9f8f95dffdcf9188c91ab847e459bdfa2cd078036bfc6c8463f5d7eaa287f991fb78e526be748e326cdcdc7341c3480babe897a9a9b5f511345aa2891abb9f9f2082bbb10ca05eae9e8fc108a526b5b34e7e9ec8ad6d7ad68138b7e328efdf9dca44da39fd9875ca87c75c95634be5585fd7cc7994f22398ee3506a2d89f4b545f3c7f9a7a0cd571fe7efa2f1e0db2bf88b5c7e4a1145e913e3f8cbfc4eb4c5ed00705de462b9fe9f82d6ff42635673f35d7c68f98a85665a68cb88d5a6173f9f8503b6b32f7ad163a1af00c8b467c3bfbbfbd95b3200a268e565d4dcf9313420773e0af3495aeace67d18cdc0e664563269ac3d83ad2481bbd70b175d6a66c5d26d21e651c663d1befce67f9a1aa78c0c903de10eaceefaaeacea75adf764dc4834763ba1e8df99dc875e7db36c99f4fb3579adb0e5b35c03e547c0251c4d4e8186178c188100958091fe2d517efa11917340217a4e178370610f6ab288380bfc45fe1219e09f4f1a4f2efb5a0f239c080f17e60bc1f180f9aa95f73b4894d35abf56fd48f385ed86e34173f86e66273a2d0b6b275f4559e1b5f3ca8a3238d07ab708ab51ef1c2175a8c56a3b918c3bb5914b6631e4a9ba280d999d119c5c2aff53b1afa2ecb401cfa7aa365da64796472ac7f17736b6c32cdf1b84d11e1f80bda18476395c649347769c61c8fbf846698a77eac9f6df5415b7ddfeaf7c60303dff768d42c5b351793503517596eddd84873f15f4807cbf58d9134976a2e7e132c8ca1de3022489c5cf80e6be9c216d177a394f8303403396553b68e92445b679fc4655bf731325d8fb0ddb339e820d9b9f1f9479bb004dc6780fb68d0100c973be3bef85d346279a24c8c9fd805185b88a51bbfe5c6e7946fd4d249b21b0f4f73f1d909082c0db13c5167fa72a9e430a147a31de2f0907337330de0c348fdd947ea8731a8af141f42b803b273e46fd34304f0b890ef0e863d9807bf8c8724e74adb26a9834413a9c295f2a16c9e2fb0f4bfd426d0cb7f7936eacba7f16c602fa5066e7fc534bea24bbfb32251e5143e85146ebf026eedeec6ad9e813419a07f7707f6f4ab2603b431a0854b9f870fd4c536193a5ab8b485dbef238afb64c8985b99ffa8942e77343975332200001004b315000028100a06846291280ce681c0ee14000f718e42765c381286c338875114c718630c20c61040081832333233431300c084316c30254046ccb04100b03a3639adb1d94452b19a693222f4523609fd99197e4ebd7a610defae13a9f113acd5eec200fa7fba8d0635aaa70afe011a3116dda7a0f46800c882782528e48d9f612901d3f50f7cd23876e2278315c43528237bc571fd3042c674bd23b5cc8db66e77e911dad53add8a09329885099acb76f8e4b63399834e419add606df96a7f8056aee548b4a34d1903007ab2bd31d1b6543068a0c93044c0ab8cc8c4c8a4ff1dd8517717dd921b1b815233c465ae822b90b968d28a4e3cdfeecebc1a4cbaa75e9ca9a9cf7444e445e9d1084bc9db7539b4b28b93fd6101bd15b12b70ab295916bd8e28a66824b607a5455e122af26b2e55bc28d363add5bb4ecdd938556fce7da9e716337347a13bab906588b953562f6fedde656a9818a819fab61af8aad0f8e320acbcab07fb5fb636a6668b2ec4dc4442be94efecf897226c21b83daa5bff2bc14c4c260ffdb51b2f3711ba1a2379be546bf6ae3314c46964731c54affbb25a98ce3e739922b64857d2f920a0c17f7fe3521bf1b40f8155b0600b9953152d8d8efd924ec50cd5baefefcdf02521e1b01a69cf4cb76894c42c10b730dc7ca7474dc6e2757be6bfe7929695ace9ce92ce58e3df4e7fad6958d85a19c82ecdb179d50ab0ceaac132de51328ab7c383007cd7297539e33e03a347083bdab59f2d6b474c659a60a5abaa557c11bd0f8486dd134623f33a7ba800f892354334e785d13c672d342e5bcc527b482a223ca118f89837b5c23ac49c9c5dcef8e14a8671fc80d67a76ce41b8c11ef1b61c12d3dc21719bb1ce0b2e6df3c7a6f2604eec5892acf2f1743b17200690c027361a7a8ab872197a58609571e7a52e296f356775c1d18cf8ae5fad576d412116eb756e5b56fe49138a8e7a33190acbae641782291726cb8d519e28a1366dd0ba4216b613ad3fccb9d41b937dd01a55c644898628130d7b4b23d4e01f6ebfaf9c8766c28f81b948debf18a06643c87c143c84c6fbbd05c85b61ff001c95c0425c4036e01b1209e8dc10279eb521b4d04d44fcf1b511ddab91bd9f7db2c4593133304ab21cda3ed1c58564234cffe016abb2227123a79207055df206c45127f2f00b0ddcc42850ad83eec3a494096e2fabfe787b55368b09876f5dfcec7386d72f921e487bfeb665708fd5850c59d2f6ff9dd63730f5202d5f2d60244667d714b1c2ef3d71a2da2256077803b1a504165d46bf09ada35cc7f29779cd8691fe8706a50e84bc10701bcfbddadc1fae5913349f25f1b627425ee76f6e39f09d439d81f921f0805e8eff54a6b8454b8ec77e5e7c7a75ab49e6e489f3c08fe21384297d8aa8af30a03a315ba03268b437773009ca06598ba50c400950ef0c6a5c74aaf41e41cf1f52c7aa302e6444b3375158c91b705296bbd97d7973263f864893e24e2900ecd3884f8bd2a6bc84c2a56a4d253da2c761f9b53b34b12ca2c202ae32e2e013769eb3a08ab5fd3c1cb142a68722bf4baec8fa53dac5b3b167bd86b1a6dc61ed9a25596fb484bc8a57e8bbaa590ca74089fab9d3166f50dd1d72fea46d947c3fb51f8581cf6e7e4f8a55db5bc3a9351d70d269807486158e0139d0239fd0ac424df15130e85109cb0101ccac37b9334e27e6e3af0ea1f326f3eed1515c7c3e97c4614e3267e4ce7bc7a10b8b37d0e3c87def2c038caec8b2f953bbb55902a0ed548588ae5caa0cca158e54a43844a6fdc23b23938abfc870af320f520087daafdeba9332a452814ef34547397062554a9a155e75196017abf608535fc29b2b560a18c682a3ce24a93063e8638720d984895e0a37e0cecd3f225effa4ef289cd521fbf7d9770544f647331905c1eba3d6ce84f8f02320d55f1fd1283847fa11d595e7138f84891c102f4eee7d45f3702b6bddc7c953e9e7198ec1a9f1d6a23952e5ffdec17a758ac468a634dc938c0f103209f7d85431f565b74ffd94f1975c7167d0f3279dca318b8f2fdac75132d129e18076be4ea5dd4e2585f748547bca508dc83868b8fe1eb754167c9f52eefd317fb0ab83832725cedd50a300502b3ea08d9bb411bf5e9deb3875bacf2b96b6310e36aa0bd5d161735c2f751691f309da25ae28fffa09e12c39b47d68d18a0a1bf265146c52c8fa4d5d0a3fe8c84ca5fbfb9611e5d5146bc821e8e8cbe792865de8f9505714b512fd4ce65c4e4a4892d38fc8d495d6875896b21ba372afe7340fc540ef00e1d3e069fd5378335c038fa3521188030f206cf443e675cf3aa0a3d067ae296c50abff9ea382c0ea0b6cb8a0f1bbcdc61170bb4902941c38d857b60576e2b62e2f8138a08f95f203abb94839ecc9546fb593491ff9b192d7fcaaff44c0a1e5136af0abe9e2f98009599a81ca9596b37a6eb4fbe4d1ecb00af48dae066b8d6ea32d07c2ea1fd8352d29d1e97762b38dd23eab25b87e3de6e939601034aa06b7410cc4b6e660c3898c4a64308705490050b0814262f2378b30569e3174fe37b691cbe0563a3ce5b0e9bf9511b4363f5920943ff732d80e4a85325b061bcc10f4201ad045ed7c28c500a397de6fcf19aa4a374cf5c87c59a7ff7043293605df87c9c17986e8bbaa7501f1494ef107c98e29759584ab06ed47328d42821ae466a1e86d547857cf204e56cf037a52d018e606506cd5403d6c63a6bd87eba749b3e2a48106b8e9644e8bb036f0d44dda43abd5c871eb53bf1df3b639c4bcb80b19657b6d7511a462caae278420174533751f14fc6ad89e81804302f497b31b8bbc05d1d23252db916dcf2a72f6c13801d857eb7313238f469f2ccd3cc43cd312d14abbd83d92788abac82b069fc5cd7798f60dc498a8f74fffcab2eee40e0c690a1e263d0b3b2752e0f76cb2f7509ebc247079883166827d820ceab72227b7756236d0bba2fc680a64044234ba2bb946fba1e84595728faf023c4d3d6a0de0bb7d0a60a28cdb1e05165dce8e182236d06dc9e8f3a2835b2243440b0a3f4a48701a644265b4a6fc743e17070239c1673ab6cbcf41231e8ef1ad4411536270be1423661820f8e6cb0ea0c94e6a3830e92e6e648a390c1d35db8fc88a09b6a49db252bbecb76b4e6bac2677ec6414af5edb90df59be0419b9d105990478808ab3315221a692aaf92cf69770041470acadf513aad84070b50918f3432d77d0b4de9f23666678506f44fee2791ae7d59b05635ecab62c43c0fae2744a1c65bae51bccb9015e480c26234d685f87b3002212ba87f9a9ae062788a4f3d87f9f63bcdce66b6c3ee5440185c0eb986de3c9b6d93a1d0d0eaba098e113bcc6a0b4de7b9cc3c09b6c996fd9ee1a14e7af15d43f9d8c5dc0c780c336589735ef022b8bac5ad156fbac3dc80d1755ae02cad1b65400b8471cf3a8b0ee68eb27baad9caeca990bc8a0d160bc4cbd58d206c4cccc1d154468fcb0a87831df675706a19333701a7ab5ab4a563d3d6faea14a185b95346dd02158798d7de4677781ac4ef054c85acd3586b7ae4f7daea318111ba6ce113dd2c8f9eb7c30d6f114ebbd7ecd775ad4701d5085597a683cb0e8f21b2a358b4bfbfbf9ee1372a1f78707f89802b96d6872938ee280eadea6f5652da71442c8490cdf48b6421b8d05c3811a9e02d97cbf7022bdcf2cf2670598cea79f65d0c6c2982f92efb791fef7adc9eb99cf9f976400830cc1b5690ad878e8b145087bc18be65385941934681de718b0af1423043f90bd36cfd47c7e7253871cf41f2c3b806a0e0f9858a754e375651784d76adcc512d7bd71eecb614df9a79d303c544c4904e44c210c2325025f332b8c1fac1163299a78134722c7adc5b7875e09642e9c1313ccdcad6c6f9192f41c7f211b98d45c0d8e20c228748713bf871f7b27268ec0b10e3975e5fca5e5ec0dfd283546a92bee74f6b2304b3719350c52b1cf69839d8483f9c1662d191c923d1020dccb68660b0f9a40a5042d739f8fa58e39b42d3bbb57ddeb8dc04679f67920594bc660f6069e3846c49552e15188a3e388b6cd184383bf9e872d785b30f3d8ff1c6beefc8e0cfe5beac3e8491fc7cf76f2a018230ac9822420d49e4335be97acc3b39d190d5d146084d8ad793bd0e8ea8a92f9b6214fe31dd7819df847f3fddb06d3bbe103e76c77890759dc797c6cadd42fa90c652399193ec6d502535878bdc574c400f7b23a6eb9df066994c48fab4098d6c6f85e10f8d6827fa8a0b17111325c8a86d9a0598811b98b724263e12c8e5dbe91ea5f50ec22c17d0a513aedc1050a2fe65a70581ed83ae139d467a99d4e078659a587190335bafe1777a99411568298c5711612b19d07d10883084947eb76cc959429600c736d4b94e3f44eb67edee55c037946c1a3c2118dbc042cfa3ce0d24ed16353ee8e4df543e4a4470c1b910d6a965532d11b400f591108d9e51c3dea8b0da57465337546b8fa47c697cd4066b78699297594a7d57c6d0942ca8d860b0adcccea21c7c624e0bb4dc0e333943e7f294fa6f675e10ba807bdde6f66dc0dfefb235dbc949bd6a9eec6e224c7731c782f7829275fbaed6c9fe67492724282c2fa247d3903868667aafd7eb60b111a8b1b13e0ccb141b9f3cce1276b3858341175f1734e1e9060142052ef436f901412170909bdceb3775ad639eccf4c71a6f5f2379a341ff297d8c4ad3b75a09829d1ee434bb8feca73bda244716bf88e06469c1772e65701aa8bdcc6a5d209f36d807c2e65b9859d9ce325a6972811f52e9b99fbca9373ea490078ec4e70d605e73ed066af9e78b4314138a8e06504853eb012513ca00112afba59181334afe5bd227fccd1c9c47bc901540aac093df54f8e099f5fc4e0d830ca47610ca7da0feb20f1124fc51e0c346a3dc30d114b4827fd5c1253aaf2f1ea086ebe5ea019453021a52ee6051a7ebd9ca34fe265c6288177d2c6e60668c25cdf09ff1ea4d078a98af19b052c350f76812b9d1f3ec9283190f3f0e15d9b05d99b09051e0ea5b066c7d3229ea4767b2162f836ccf57affe5c2d52327aa0f635447642caff1953e2e50f45db8ef39dd0277d49cd39b489bf526e43185d90d63215a0b7452074ae80c1bd778c10516bd646ff788b79c01ee60fefe755b97244a2230a70a57a0346158960ba328a0cc5b4c1cb4d7292462c4b22e4f065a3aadd95f373e4af69da4f5ba88cf9de9890db753d9091a8e43aa548e2cf0cff30f90ca3e626e05da23911231a878a6299bfcb9090f98a65e37d82061c5a50441bef9315011fa73e3379caad7e2860623dde49343c3e1ce6c2029c66e8bd017a90784859878c3cc3825cc50054fc7d6c98e6df86d6c04b2532102bf3959827aeff0c394e31d287b02f4568614df92bbb49f334b03af1b9541acc0d5551c746271566d687df8d6e419d38f1016ef01b70e87d02164ed4ec0769e3e47f9cd4e3bdb9dd89c6a1931b8aaebce0088802217638bcb2f39dcf892215c3868215a86e947e1387f0b5602459354612be5d9c0c36413521e4614be946f83e09d8e74adba209c682d157fd1db12b890a5a635483396a1a27f2445139f4e208de9aa6d327b412344b0181b5a997eb642d816e6cf7ec6308466c9c18c479d717c81ca28e5a35784fa89b44c73b5eaae209585ecfcfa6430e8ad709a68a96755159158070e7e5fefae4617a1f85ef6cbff68f97fe8fe5e9098c61bdb3a03594da98ab721d381e892f32c0997cb2aaea63875d8a516ab8f514a1addaab9dfe6849b9b4eef4b8896daa2a5601df8652fe9be1b36255b3f6b4ff217d773ff2979c42eb8578c08a57735c4978dadae81cb9c90a78b22e13696b44fa77f8c4a50c24714de264100b70a24fe74483776ccaec1fe06b24706134932e9fa9afdbd09739d02bd1c596a4c5ac43e8517a3e0dd355e5c87532ed2d9c6596918870869c901405563810f3548a5151a29d3c80c6434fb6268559e2bf62b782579bd1506effeb938aeebe48cf11bd73e3a736db4e7daf0fe3ba7262bd99f4d4da1e2e99b0da176a6d73b8a3512f765ea376bf3949ccf216749d769f39cfa7a8f3c6930fe0b678d6f443668b00a9195164b5b8f13af3824361389191b7ae9c754ada286609a757ced3bf4014e65a4c28d97018f5c48900db10ca681c78eb02ea9a1d9b1e4dff7e5f42e6d779121ad5f0969486119401c2566d0bfd6553115f40359f105ddd17c132c7270fd337544d3d4d573db21e47635acc47fa12360fbca2bbf887a9328cae01aea598ed43103245a61e94185dba24439befa3e17f844f935198a24be4e6a9f51bc1600625fb867009d171d5fc9f31b6e2d304e790210649ccbfad249c3d1fa2f45a3b98c22a3f6c82d510e5ab663c01bd844d47eb5a1fcbc43710788c0c2b84ffa2adb6a363dd5023b5a4aac2556b469f398d850eaa2d9ae84f37feb6f7b4bdeb788a2f6544b1d47e660456a070256bd4d37fafbb429f0ad3a31fbb2ff26abdcfc606baa714465c1d068292bb6ec3590e1c325a1f47b69e96d89d327b89eb95990dc0a529ed8d40f16d7bb2c272ff4c7c2973504748b56e258aa14934e34cb82589ae1cd9de4a61b398c72d2cad38f9779df635ed3e0812130f146bccb702c3fa18b403ecf9357cd9f531ee649281c05c5804957969358d7bd1e41033fe6778007ec60eb7c60f9f133e6350d85eedbdf1984ace633ced49042bca241093236c912113acb5b26cb93175f40283e4ce9c336330db5ea8707b0e1ae9cc8a486ac8e307c52163b8dbc22573ec68529b6c711b063e54e18caf6cbe35be22266e0ad5746abada9ce4ce63080bb33c90d699a42241cafabb6adc4083513b42cdf8911f835f64e3d266272832c0550643dc9100e0720d2120501bf23bc93a1d46be321948f36fd2a5648301190b2bab8bb1980a4e53fd8c20471945e8811878be822b9aa318b7cbd463b6766d133c84abb50ec807d74a08c9544a72fe95e7778f101d6932bdc463649c59949cad0f1c56c67356d00d0f365e89ccf2d5f46455aac001ff596b81379974a8646d6eaa913353e61e183a61a1199c19b8fb3bef4c1005fb57e134933f3584afba41d1d6bbcb626c439189c7777155c3a86e01dd176244af0e968805f7280fbf4f4a55e47d57b51a9e66e3a4a81bdcbe03617e3d3c08d1d2e166b04f3fa84661076e6099bda72c5421386a4b06ad2a5f2093b80c1fde41b30fe15ceb3870e8fd7b609de9aa1a28cd31fcf881d0e4af3316e85d6c01225800dc8312297553c1f1554106660872934b62d593931e681409981850ce73c07ea11134d2b0bc99ee065eea6b015f48d35db2c8f011f16687c987702d37b1ea2680a1beaf62d86ea8371a5af231a9533b2251cb042002b8bac3dac444befd8fca65085d8186c77aa66c9c29e46c58949175232a8547cde0c0b2f1ac10858465299fe840faa2909d4a5b414b2a8710b38e028751c626d0347e5f81b331836905dcca44c5504189c877b3aac76738bd9b31ad2cdeb370cf6be5287f7a6396292a0600f978b33ca42273417cd45fb09ebdd9e9d356a7f8274256bb6bbad1d1b8b0efb7ce5fd60ee69ff0a3dfa5b653ba8a2d877da0fade21b2baa66271b0316b0059d760204281f233ce90ccf0105f7a4259d4645a5c4716a09e69f5dd44fc1b43b16d7fd790ad269a173d5e5c79cc14ae7d6407f7c20dd2a16e8647d40ab62dd3469d256843bd479d536af960ad7d8f4b2f856de856f1b03301bb178ab6a7f91ddeaa9aacac7f4629d3a43ec31ee51e1286037f4d35129a91e4ae1993fcaa587e63456becea48158f9f65842921cc5c30200a08d6e272b9709b15d6ca5c854a5445c251d284c54a56bee2589cce8e48771c1130e685113716598a32b102ff1a82fa58558351ae898f4d23874a7fc6278ed1b67d75eb58eb5703f89d064b0cb8d731834221b769ee8fe8d43061435ed37416963dc2ba34da5f60f03af11c7b8dc0d6cac333bd381092c142c1079cd7f72168d6670c1dae359370f936ff5fd7e24684080b183f7193236d8c73c85ee6ea4dca2407fe529be2a1aa060c9ee53dc4abefdf22c3c658b3b21c47940ebebc4a2ce9f1c5f60abc7c93af7b566cbb33bd29e79b28f436826be849997a02cb81894063deddb91322dad4677147a1d7dc1868fc1d9afc3889e1344d52504dbd3f4746e6c24401501d7cda64b6ce4d1a53a3e7e0e4066815dba21aff184321311ea5802a73034621c88169ada50ad4250d3fd9221b62939384e885f33206a6b1a4ff8bc7821b7dd308151bc9915c436f5cb812e1bf96c33fc013601c30c14642f889348a199a6b53f56c4db6fb2e9694bf821f763ba8ecb5dcc76ce5b1ded5bb9311aa6d883c6d5e81149cd2a155b9d5ec028a24f3c106f225dcada1b2699f97a766187698ae4e2b7050c08548297154e782a830fd3e70a592e77067e13a04fad5cc5bb512f8a23e461738695b8dfe3d10790e286a5f3dfe4fb269cef32c6cd57a205f377c80d8045fc6fcf0d480303571d1448b4b5264d902dd72f53bbe024d50bbeb27be7d504c79b68f088c3aa8eafd9fb25d3f8a6e8775d4970c273de680c642eab73a2815c0b5b4f89e2357a26024cc45dd2dd399265c270ece6e7ebfbd292022f54a24e9b2fb521cc11118ab95b261010dd553038aa95fc002cefe647da70590e6def63c8e303f8642f01565065d593edfa2ec82a2a2057222def1a8923ac13e1fce2e508dba6a8cf3469d6502cd4e60fac49d38335171049addadf8715e8fc54bd6a1107b6bcdaccae67fa82894d2d3cf0d50e410e1600c71ddd18d8152d41c110ccbeb9f159297d9a3d992ae5e694002680752781298d03413584cf20bc9954bb70f5055a6d275d063e80ef612aaeb881abcbdea51248e38107d5672c28d1dc10ab75ac6436edd7d4e173f0c633b41f70912d538aa30ee123cc76712ab1733e65d0a83dfd443587393a0563c09410bc17c42e0d8546d83b4723a71d5407ca47d9f1653e585341fb326b6c00257c985ed41cdcc1001072e2f09c60de7f12b8ed1d9f166daa536855ad7d72ad49ec399c6e1d136792f645825996fdeb50160108d3fc20ee6baeddea1a627903176f37025efc11666a7908d80d084f627943fd47bc3687ae873588888439ce72339e7fd56a7eb131e5791f91f069a9f5d2dee7a3726f929af70a0c3aae4d86452db4b403cea451562a0383f2a3b49a4dfb2349219bb7682417c013d74ec7cf0932ecf1cf4ca3ff373cdd3690e5a0c75bc93f52bf421d931862fd4e67b8f889eb0fcf2982ab8139ebdaa4c84f336b39273870dcd7ebc8b8d3734b1430f7e654a3c37549a4fb9b87c83b420c7d79bf76479823e782b43f8230d8b4a7bda60205b2d163ca894aa739bedc0562270413403ecb5a45caabac89951bf0dfaaee02a3f092729cfacfc499f47c00407217bf1714811b8cb6709aae383718c5611cd7bb74a7ab6561b665ec4b1cbd99541d54ff6c6145673975835b809dac0b43e68b38412350b57dd4b8c2edcd44cfded9574b678139ea8c08e2dc232b8adf31c2f9a81f25de15e1896bf5594aa50e3ba43b0138b4b9a974d33954fef53fce7d9f449bb0a5f27d0d3fb5b8946eff9cae3f382203117f02fcf62de3f70231542a412fae3b0632947ef518c8311c8909da303758b550a85f8f01b5025a70247e5ec5047dba92e5ad6ca0d2c5b5fd894344809d2583f37bff7066ce6bd49c99624c28318cc14d8b9bfb1b804275fd9a6644502402b2ac0435b20828801190b28a804d918d46322eb4f3cc76beca4a70b6ff0188c7958d7555a7988595195467c1d03c045029f9555547675203de2f04de46937f37ab1f088a20aae9f6c5e2480507596eccbffde3009f031daa28dcfbf9b5c363d3cdafcaa9ef5db89bd9d588868561fd0789a51e552977b9ca968b5c2c10d2eae011d77fcc6c18471c3831fc9af18e1c38fffab8fea57d40e573456cdee72118392bbcff606f51082abd7eddc04f93286930596b77c28e7c6bc1346fe17f317342efe90c520f98f85ebe47685c64e4364d420703c3157e241ff7d38f099d26c0de3fd103293e84daec20401457371fa9b8f93fdab0e99da017d06f9f4c63694c911d9466dbf23e447d7a98343e01be1d79dee0c853494235036144a778a7ad382485bddc42a8b8908c43984e66eaa9f072386b00ecac1ae4eed07c470c241606ef69a1402703f471086958f025348e49fe7ff29772040139c03c6948d58a0d7567741463f9e31f94ff72522668e24949a66b33e1c0c1ff602af430f86eed4933d42b339025a18ea5a0603bec31c373960101f2017fb5b7a3f43bca4f2942df7cdeada4f3ca83994d49453a9acb5451f8d76e5db200e0a859b00633b8b52fe4dfb98aac851f4164a5ab449a7c229b58c862b34f37544005c531bedef90f36977c041e1629d46c4180009dd99859c71b9147c1e85f0e85b683a13cb68446c730a2a5b7320eaf21fa00c3b2bb1df88cacf29859a0e8e46b1f9c9ce41ffa957f047438c277d6fff8017d3ff0a22ad946cf3edd97ed87bb8e39af9fcdc5cfba72e1b46e384f18d199068c75782cec27c197b1607a3c23495cc8e8d81a61abaef50c3a805acfdc0bdb920e0707d6d3a81ddba3922b747b35b7268c17ce20f1827608079c182f86746dbdcb680dcb82f3b6ec4672a7396aa4d69698f9b679fcc37c7c839eb26dde04c3a0f6764c956bb22052baba67791fb7659fe457b11071999c737fd26ed36d08bd35918dd95cd92ea47b9a49cf95f70391228e9f389c1c5a3fd66fd3030ccb27df4659059f4284089e06fac0bb66da3b646523506ca7ce4c451228dc09ff084655ea88d54f790735f8e2fb59ff86ed7b94ac3e6966c919c8dd846962172b01f29d32d74a5e80c7022502fad98c5624a0b061d4b8cdfa542ce4cef6108e97e8674ac4cf657c593917541e171f481c53ea765208c9961f9a0649008836728b78a4f382120a57a125be15d5f42a4b5caba9692f1801fd694834415e7a2b25c71cd55fa108555461a682ec8553371ab27d073fa90b38fbee614e00df2bbdeabf84f505ab2c8bd22c8a7b7136333cd17a8b6f1a05fc2e840861a600f2577d32b67f4098f8bcae6d1a46223be1b77ef124597fb689b39f3415aa2b0c86237b9a7118f9e010f9ce490b16f829246538dcfacc757a16b82f53cf2d9b72acbc5e2f318cb03c418f017d6d8fd77115e21074c36d561215f323abcb73b637e1a92fe19b11057b71f4ad60714fd8e596fb7fdbeee3200b9bdb8e66bce4b1b0b9ed38fbdf5b8197b7b86ac5d1119824a52e84ef85b05b1c3cf688a69f300f8bcd0382b11a4093661580f0b987697b5f10eaa43c7d68a69d5aca856c46082add50c0237a6eeb9d8a736ec3e9f9a677a070345d2c9d934f6a2ab6e7c9e66e285f5cc7d9964c8f2df31b71e1c17b49356872248bde91a0aeced92072ff70313c4cb5bf95bd48fa758422c862f76447a457830633c12d3db01e55449477f2c4695a7f43536196d4349e8f0c051f7030c229c5ab657007dd244c7be5690f28d5d00c841e9d5c8b6eed789dc348d35b0eab2dfb59f76810f2ec18af1e662bc256f2c2891042c1893fa72bda2fbb09b183639056127505aab9a141bd6b9f0e64c1826a311e264d2dbe42e8aa7b3bca09979eebe72dee0045ae997143202aecaf96bd6bd3e85ab97c1099f665b3c8a0d5becf08a53a51d94585e61b37adf0a38ccb542e78fc9c89051a3ab7a0978aa5f66b81a18cbe690f268bb84f6c35e6baa4227c2cad4e54b06e172297f78e48deb660ea060cdf90108630def5fda3755ca407be62bcadc9d011b5da71fc6da1ffb38839d126c44c7e852b2d246a5b6b044844474e3ced86808af0844e552c24e4b415313ec75fea0ec392d078e33fd4b9e57ad6f78ea5f2feaef11b37c8c2846ed4ed90820ab6d95cbebf27772e56de06dfbddf06cdc052980d00c5aeca608efb18822e7cfcaec1edc91f568e647cd010ca3799095f609abc8d682ee1cfb81a991fedd86c31466f992c04b539a1959a7f25cb0cae181713b0be0bac6e3586528ddd068d91f6d34054b90a6f54eeab0961c7add4df3b0c3c60845569e082bec357451a8dafaec8ad03b35ea9a4a94a1b007c85fa7379ddcfc4bde0068c7540da7d5dc3206941d372c380f0f9e37f198fc3fce98b845b1d297b19abb9a0601fb9cfd5f08a6de5ecdb2009466163857e0ac750ef18f20b260f348cef924f3464184c8d7fb949491787b265ce608e333660606a96638a0858786a653d4666cafb0a29812a42cdaed712e4dab90aa45058d00543f4262887e7f3de13360c564cb98d73a6ad5e1843047196cd2ed9be631a8b48b2a1353c62e4434bce0dbb59b151280d0e3bf422c439ed34e4d3f7562c61343f344fe2b3632207c394f865c435581a48d0630313c968cfec2e42b30196e776d5b14baac176fb486b2ea41b55a1cd1093dca0c9dca2b976afdaf12932e47ab8331f2e97126515c5b779b2d82c3c758475b2930452a7f1d54e4388657322e3e1a0c72a9cb11d4d3cc423fd4f20d9898df862ff6e39ccd9d1a6d1c6e44c8285961f04270d2a81d43fc042c49dab522c3f290aa2ff55559524818ddb1291025a20e2a9cd9de38160773510f063c55b0641ae0de6731b1e0182bc0972023a51e0e9bea84f65be82d975aeb1b99e744861d763f753df1949fb355eb65fc9a6921b2d169ed861bb75724aace071b7a1ab54080bc0e86649a37d3211fb5f2e63715686d1d29e4e867a1ab5a26e343ac53188d322b92e1089b1485497a0451024af0a8f6a8b824dbcc6325c23032bbddb8eefcdc46a3b453837f72a0f021375bfa5d529c493d9b4b7b811c33d44c45c37d060d98a0e9729231ae2d036edbd068394649a27cdbefb655413b86cbccd8574a57a6b68c469a1b303c35258e1acc6e0d1a662c3c5cd072fb7865884b5b4e27086c90ce16609b176a14f17fe234d5860b9ed0979d2287eeadc10b64d9dc2f6528e03f8059c45e8c9c615b61e724223d06a413d3eade6a0016956e6d4c5b0233a6a4faaa10d8ea82d0c765069678e0d2ab18fd5d1414a88d8159c9186d6e252bf267e4b28a3b6276070ca7d0323949a89c340cb6192df33a48e7ee7a318104dfa282ec449cf315403246586d9c0d2a2e9f39401e19462827f6b83e24ea6a145931c427fd87e9eed526964827d4a57a53cc0408b9006110bc783fa68bf8f7242d8e02691107172564f55162e86deec049d5d43d90e6d64e408df67d596110d7ad6d55ae998a16b905392478f70d30f32475f7055dbde0565b817c9f23e25ff844ef7b99c40b6b27151d5bfd1271cccd4647d832a8c00e38ef42b45b025250a3286a4dee33b427bacb48e134a12318c5cc732da5621c955a5697681252118dcae689f10e6d42560bc6915cff11372d79bd931b2d2204e87874e43dbc91c1ddcce002230db7105e5788efb4c9c3fbf4fa0f0dc6b285f1b14c03c78ec31fc1fd9ca7897ddee8cf5a10258f4ba7a60c873e3eae0f67cf2d0ee77dbc4080220f820ab04ac321fb8011e5bf147e90a36a072c8840e9cb2c3c2cf014a020e2b0bebb78a58d4ddf00379e630598f80427ea2eff6c69d6ebf58ef4b1f453a4a8900b29f00bd3df041c6938314c275c26fb87ef65bf366b612e0b6386cf7b4efd84fe27b2c0187afa26a743b5b8551938e649996e060177488b37da13489c6877fee385cbaaf2321333ec042ab36c5dc19043401c0559b9483f49ee92061a38ce82bb16111527252a3f3d3a02ff436ce63876bac2153e28011d9437423b252352f288bf8531132a3c81dc019c04afc2c05ac82b87ddc1d5e4a85891b700e3b383d76b74a88a27ebede5cb5a39c229f344251b71cfa2c5eece1f89b0292916d9beeed057a8c6494ade630506978e71394a0cf2eb6812e14c26bcbe846648b4842f27c81bd36baea19c304e12803925a9d4e286c852920fb40dbbfb72f34ee21c764986b887c0d9bd3c6d6ae62095fa6930b8901ceafc580f64ff6cbc5a64d92c7903a32681a3392437cc6df8424b701b53fc4f34afe9c17d386090cb5c828de08bcb72d6b00eeba39f5d9c3c11f4215f989abf2026d660502cdc525701c712139e74fe16e62b22bddf6412e2ecd645fcb0944cf99b79df7a9204171a03cd11aa9cc84788b14e7ae680cf7110efa433f2c591c4e27d5bf6b6582b242079517c90bf111680164485acfed74662e73d6a5bbadae6fcdead4d2321c07abdfe4ef3fc761144b8c34993c758c0042f3094398866eaabae2e81a5cc5ade02818a911d5e02d5bea285190cc1a7fb8fed7d1137f7388e3c13bb686bdcfecf938ca8434481db89afdf26ede676e22edef9b2013d8d10ff5e2124bb810197b668c6d51e6086cce63525db835faeebdb9ece674ece318f8771fc7ada6d8024940c4ec86394750392038d15776397419c4dbbe5fec9472459deae9a31e428f7b75e96af6ebbbb92c9f7bbfb25a655c566775cf5fd658a4f5d1af8ec7890d0b0dc0800402f0e3a8d3d06b7f70ab3f9022605d17ae66bfbc9bcb3206f8e7c47d4d80bfff8ec528b61e1faca7e08113cc8e17f826c9af1e620539fc676f39f8e7e55237f703055d54ba59c4d23ac67dbe4f63952617c9d7a12f9a0f76bf534a7a504c13ffcd85fda031762ecb34cf4cabebbc123b44bde8d291ef33e4b388710130474f1a3000422a45fbfb271770e6be09c35cdf14de52928a680a296d7097e0288027d67287c8e79dccff496e8ad5ae857057c729c4a063fd565dde84a2d8d3a446acebc370e07f0790d2422703a7b996a074fbfaa9eb48b1e1a1e4972e7a09b4008bcd3b66e2d8a74b85c998837ac042db1ad64131ac7ae575cf55a2b90e416cc2a7bb732176ed8e91146902c13ce1b08e9056064064df35f8050bef7221a72eb86a75b1bb1c71d6935c880d9d1904dbfa97f76392c1229b5154bbfc489d983991931108f3641fed5b0bb01227096706c0aa2152e6212cee98a88756d0b79674c8e4fe8d28bf5c1409b8a6d1c217d18a31d4256e02eeda41413434f25152583000324aa648aef82f3725cf305559a047d077b891458145362a74c16fbd995b3b93c0aa7f077c0cea7a64eb4afce1274c725d317b0df9ecbd4bfcad873a7e95b86a77dbac20c75f4e8d4c3a1a4ee2eb35a040553b558952955ef61cd91c1c54f6dfe939809cab095d1ce0d1c6be3adcebf6326a42a86596a6b0fb57948167c7536846d989cb162b3651464efcca78a1ac939b18e537eba96183d081c39331491a57652e9c11074e1925b4d4da6e8085a45e6fedf12feaedde1387080f80da343c1c4af0c2b85a6c712afce4f9c461764e13b69411549802383db1c83544f3d8f04b6c0ddd78fecd1af6066e19b62e1d063908a210bde9742d3a68380f174588ac18d8bd04441f99ed26278dd1a02efc70fa3e7cbda08fe43db49a568d96ea622249cdd7f695029b54db1d6a5adaf2d1bc67be623e6a68bb065c565a1cf3743c43cfc140188e8786e53dfda51b225eeaa30f97b4475625c384d1e5caa944cd0890b3001e96998501e999e5c25f0f620b928be07dc8dc3856ed65c539fa3a70789683d1c2246617e6922443ff255e8546aa7a9752b520fae8e37c7d1a6ea4ed051e38e75e10b561ced7284c795ff018f37ddb60748569275e0c2293ee021d3fae7831a5bc6a6ac0e23ae3a5014ebe24ff86715f3c3d3bb2d1ce89001d2e4144a03e8b52e5281dc8d9db029b45d6c7126923e09edc946770f471c59656d0748515e0efb2d55bd7eeca42cdb048543c1afeb6502b5700f23ff2a7934789c3be967a08ff7ab91662c59a6f28400824f2aad165f562e832c76f28c3f2801a306d3a3c50b82f3afd4da8fca2e968dc60c7022ecb56fa5da923d326f16298255f2441198236975851788435ff8d7dd14c53a263c2c6e160bb54a561cfd4a0b39b971b51cc88b238968b06e77ad6e587e05104a70cbe463c35f3765b25d19b5249c51844a9065e9451a2250f1004632eac1c2f7148f1df1fb9c44ae880a09686379046daf04ec0ce2a9a725482c7682b9b04bc434f24017b7c54c78db15a103a86c125b3e601f5d21377c024dcd5c207581885cc09dee33ff9435ca95d5f9f5a68a3e4524fe275cd74045bfc560eb9a441ae8b49e48ca68d4999741a5d753892d2c499b00e2198d6c14c32e2a3e66ca8a74ef771cc8eebc7ab9304fd1942331ae5e8d0bf5a9a139c00bf9e6bc5d4cb3403bf9cfc92bd769bc1e88b52ae8895a0eeaa22d010c990956c492412b6526c9ed2341aa8195a6089ceed553f776d982ba3a6492283b6e26889ce7bd88a85caf8260786d8f37948a0ab27548864c868c8c6c96ca02bd8f27ad3ace75dffb2ac4270bc90425943cc4dbe78607146ad6532853489df1816a6975ca3dce35f375178007aa56d3a503721729f3cb1c856759fae9c2d7e238166b4db4712070074850708785fb3e009254643974a047711271751e032dd019f9fcc31625d606d9870afe47cdb74242f300dbcb4c1bb828a8a35e82bd180e136ad560526815aceab2c92faacf72551001704fab5c5b78b1dc5d84d01514760d8d47f92859f295b6b60ed48ab6521397cb650c9b3584a27b0435e9bb95d164ac4b3ac34a26a8600e65d8da0b0d86735c3ac8f00b512d7d2f6b1cb6a2741da9c30d04f80b4a3226ac78a3f0710d74c70276cf89a7f425403eb4080bb96ad28766df9911cfd709786ddc2b589689980a77c0d7065446180c52a05621878a0f993f5cbcbdc81662d4d0a0b1d5f400b9baa60f964cc9aeaef8f3bd384d0818afa57aa6f721e7e4209f446b5095f787b7b4e4b2c185c41b2c3418bad1c312b0aaa174145f5d03d8acd6e4112186aa67b7f33e1fbae5393a831a41781c297e9510328f8a542ba301c0754dac473c754f45a6d2c7707abbf88592c3a84bf08e4e1173a6cf20b72053f5a7ff1ce032dda39966d2c5fea3baf44966eadea850f9c00f8c8c977416854a9bf84b4dc5f15de80c04ea41fe4b6a805b30f869546068540ab832d9dce04b7db8ed7dfc9656c4c26710a16811e4c752541275851bf070fc68f0b2c3d95713a07ad7829cff877a1500f1ec683112e9e2bf4feb1dc2c20f60a0b467d89ff855f0b8d553a1340c59e7676476cffee45bce14a03f45fefb8f0a2a4a8137789c5e5b4c5abf81653b0b1ba7603bd8cff6aecba117e775d8c7f9879f811ebb2cd3621eb69bf69be759898b705639f145e1edd68956f87d308478f87a0ad978a3dfa49781e65b0f2d8e246f78d8eb1b4257cc9a1f24bc6f2feee9771bb2ad25514ee9cc3aa02bb6d622b8744aa36a380a7410d94804beb172b256637581a3fcde4cc89f95d316fe4f2cafcc7ba5b5cb30adb80701c16c45a3538baadaa6561ecdfa3f61145338601d9d3fad5e0b00c8f56a2c56a88df73fc02fc802ad28b04780bc6d83e6c8d8d4d14378a80291cdb656d5983e272881c571134e2c04b9df40e8eb489d0c8b12ccac4cb5ed13e19445a2e482058e30e44459d982bbb974fd55a259f44c6f84967a3ca901cd41b3a92a5701602e50b921904300268722230f4eed39dd3d1d87d717ee13b0e4b632a96902f631bde453986ce13c2d058193fce82beecb791b831f99c2abd588944711ac74d4d514d13ca5c1f2ec7dba5447c9b508a87492105d4006c1b422b50a31a9774a2eb52f0014c4d1a435b4b45ef70b2346871bca6969c7ba02eb22f836bf03ad56fdc105dfc65b79aff86c7cf7c1196841b15f7450a053e6357c8ca8393820ee947c3c4d43e46d98919bc71391c138651f0498e8992512d178e11b8ba0afb7c9eac24fd5acf3c951aa668cbd241d50bde309e848639b520d281367b6f73900f61cc8ce81f3578289c45bf67956da3087a2030931887232d91811e91049bd7cc26acf4b64d0111121c6ad8a422f7a43524bc0e4607a86ad1d091b552fe47eeb3b81acb0511b05ab3cb77cdadcb1569b60086b342fb859732a8aae926990b146bbd90c67fdc4fc6b798b1c7602896ea4f23b6e6725e53ca6d548625012bea34e219851350ae14f68c63cc522ef55fa35228a68c2f252a59b39711cd0d5a67920851022af6399d34232c0094a5df20b2d3943288bf445a6c89fdb5a8ac433ca4e43a999a86ea9f87a7ec034820661713e235b0171baff796c01abb246a1a4afecc01bea3e412e5fdb01a1d8b76f84e77fe86a633a13f0d6a6ebe20ef82e883b44f3d7e7b516a98f4551536d75cb3a463f419af50aa06b5a25641431a13be05953af41a95fa1a61fc2a683f311aa7699a8f113a0e21b00a193239ee5d0d4cae9ec9108e5a5b2f8862bab9774dcdf67b35abcc3dc7040795c58ae561b919c26f4b3e048983f19522562df0b256b7cbcebd3c6d2c63ca453d54c9122f8a0d11ea60254b0365db922e81b52c412863cb44eb7989921a41f2c2910fbee25e88843fda6c9835ccae848ca637f412144101c319a4d24ae438d4e4f1c298fab66a84201d2168d960e0288c4a792e2038ba8f3c722110ca85e05fe05811fae77d56a8b4e8ecde844464134d57404ae510cdf76be45bec8ffee385032fd47888ab8c12b20a6ebc60946de5853ea4cc480fa5851474a132a309b25b999684da8c6090696505f63d884a4d4179c0c90f3e6ae72ad35682f0b6cec2fa3c0c41650fb8a5e81df9c1ce59ec857104136c625d95ac3c931fd938f9817053c4df46d6a7d0c114fd05928f5a04f8b6b12d58a8abbf9f21fc234330f858baffbc76ceff65c91e8c06c866e4841ef0656a6e8e5c141cfee0f085382788172b5940d37cbd450979632b974231e1c8952f1c1ee0f019c0b1dac60b8ce1d42b5c19f14a79d4fa2efa0a37916bc1dfbbba43b4f6c474941a3b8f9d35d60903d8a2d4854a394d90e924ee30a913a09627803276b96cbd4310d414941f1c7ce0612749c5592939208b95116e421d842048b81a325a68a52510fe0271c8b301cd424e999f79fe59ee7ce8e0f30f8787c1af290c4f6191db5887079ee356c007484812aadfa837c2287fcef073be9fd1a5e85e9df4213829bc1125c1d37fc03f83c28d2d5870f9d115e1406b4db4a1452210a06415df1231f60fd506142cd877b419dd7700c887df518c61dff0c2dce8442f99f422dbdf72d05239df3e44595a5d28f47ef0dcd67eff04ea20d382568de3ada4031f81834a87b4cfc047b34d0d3242df1558c71ff07f73c225bb2b67c397a38dce6aff09e3d695ad7c2b51570e83eb3ce6c7bf3c46472779802938af64aadde1b1ba493e249c9601ae31cec7e0d2df456b05f50290d548da5cecf3bbb9bca6018dfcde66d3dfd9fe3bec1c5748c12824587f247c3f97fe4fbad7eb036b850d125c1499127b91207012e14f23540ddce738931b8ae4a0bb3eb43b062e51b824d78ccf01196e6b6ae06d6d3e4732d0e318482ca0c8d83d173e7b1f55eef3a0fa310e791d69b518bfd3f863e5b6415efe98d7556432b31470cce8906e9c3eee0b27fc5cfc76c1705f64162fa4625f21e9f2ce763f49561a4474b59f8eb53dd7e336d357f78da77be1643976df3dd1e036f7179597126d344b05b7c6a662b29ff6680aba1331b27adaa88a6d53fa08e6a7d8cad77fdf2ee41de6b917f251fe405f4925f2b512e4ba49a88c71d203fd84ca8c2d1d1a52a909b2e2c48ea20fbdae0f90780b2d2806cf3e6586cca0f1e2470b516d1462b917858b648675a21172ae327e3d228c766f051bcf7811fe320637e92595922dc89bdca829dc94cf06f5714b1c09e0734cc0e20a983b35ea03a276124f0d158104b26bacb9328bf2668399a62e7bed477cff6acba3b62642180c3f873b1c2fd8d491a036e663bccd6b20e1d73a84e6ec709961e5ae0ebaa760a864a20bcd518f74ad670bc36578ce9512b5fe49a79d5a9848f55380f2c0c0d81bdfdf80628a66fc390b98fd9b05b3968b0e8f1def6cdc0164823bfd4169b678e74a245c6246dbf9ca71443904930af1f27b25e1da5bbb2876cd5f8e35174d78bddabd7967cf280aa4bc19aad0b53abd0f7600ac2ee46bafd3a2f09b544d74b4d978075b457887bc56a5cf111f22831a2ff4d518abed4a68a30160525616a3894ad027eb6b4c62f3dbee897202f45fb23a71786cc1cdf28a7e3763cd3aef4c07ccb5b591674146e3c428a5872a6fbd2e6672ea534ece9fa7e2cbe4acc0ddb24224d453060c718f9776dcc8da39a4542dbc544549d616715a3bc04a4687bbf0b464b9913fe618bff81b1319dc7e0622bc7d1c0866522a56fc040fa5fd5ac252997f4aa7ecc0c6d3915f2fedd85455a328a0a20cb5942c554f4d75d3fdfc50c0f8dcf40d4a6ad42bf36aa39e6040664f3b53bc0262546d803fc8dca05abcaf718d55a6b4b1739cc3e5d233e836101089b819a5c1235c6677ba3660df7e38d0b04a50ebbb318b12e8d4bc3add6642214755135f447ea580d9545978a9f4944557aa815dafac213b9252ec30cc565b13498fe368fb456b18265801c00a6693e71ca5980d7c440d2e8df6f4743f89e3f568f4a168c029ef9c476a7b4e6e471b7323fa0b94547a6a1dca206ab3166dcc8ce5f1f94c1c9984a7d3e1f24759b00de6ff1048962069f91bf9907f8880f9c808746e76f093861cf775adff91b1747c83c5c9d7aa9f4e0ce5440ccd0aad00b12f0410bc0635ee4555f061fcbdc7ca6f996aaccf86c42a29e21ca503abc7e5bb18dfec913e2dff87f88699a1679cd00b6b16b18d25758472f24695afaf52d88199870eb2a2065d7ab5eafd91a9a7de90e4e71074e1a1058c0505ecd84ac23d2d56e88daa8633d87fdb904ecea1431aed9bba1a9a8fa9f4e65622b61c664c6301610e3e88a4602dfd98ff84ba03374499027a55c5f2e5df2b45ad5fd6227950620ea8a1b177e68b16c999b9995b24678999e82edf5ebd97ef05648b649eb79341e9c5deaffb3a64f51253f59e4690990d75f1ac95b51a38e8833df001850738203b146d971acaf6b5cd29af2f720b3d7211fc08a19271e13ca2a90714d9a743aa128e48502d6788917a5fcb94c879b03583dcb0d771939f4f6d82c0706d344bd9431e4f141c49b04345e76fbab8d34f6f21b396729398c42fbb10d4eaaa84a8295eeabb198410e605db553a505850047c21aa6e8224e62be5cf5ad0b31a15fe19da682bea42514f9e8c661e8c45d3e59a405567633bec52dd2f1651cd774d6f3a14448d11401b4067c02ca08131f15f342f4f43c1adcc5c5a8ac5258fdaa95d2d9e35fb163b36e6f09306f63205145036b5fdb8706f38ce104fb47881ff4476ee113a41d429364466ee4513f0ac160d7849819e956399fe0f6ba388445322c2ec23bc293302ab7ac4e5d31799165effe0ae375d52bfaad24cbf6b17cbf5418425179b47a6e8d76065c11d7a28048991b323101a480f3d45558c15137542b7f0f6ea0a287a893c53a46bb29336885ba3722c0f16f077425bd17a1357e0e2ae136b1e246f7c38d88cc2a2607190d0b5d2d89945d0095acf6e37d41df07122e8d5513d3deb30026ed21a836bb96f76949380242000c7ed165f879743b88e5e909211ab6a03b5ca470541c7fdea43143537410e6365ec285f0dba0acab196108df4d528cc5a34eaaf773403f06c21049c522e2ea96001c6440d1b12504fab5d5f09297d9bc79a9d41b2437c565c451f22a0d50ce898926174c2d766aa39547117cb1b22a5f84bebb6d00bbf7975517b25c6ecbf5cf4032d2b01048dc288255bb8354de73baa1e7b610c9b4e8f93f0a4d6f8797cfb22a5a64034fa2b3e8eed48cd37d40e940b450e9f819fe059283ee84dbdd40ba4a7d3290d7a087723d6c16d34820a2517186456c406f4057a3c5ad021e2f0492321be5624c4f1118d223e58199981b8c051e82930c82890077def12084a45a6457a3c02b8cdbe71e6ec8c121d088ca1718c06bfae45a3f5cc6cf039424a32ee03b178b6033c98028a06da635b505815a539d8da7a8cfbd3ecaa772edae5af2f46e306d2930c558dd5df2b26656555df97994d448dfae136c1fce383a7047eb7071c418818895cd555381fae3f068e5734f2444851b5060c05650afcdf8d98ddad9b88880809d901120603063106209af5c8274340e55aa4b9705baddabe24f4b5f44a76b2d6da37d94f964e988a2b339d66379e0e5336c25584b5918b79035c193564206cc447244fd73c0c504dd8b379337842d8bc9b9fe0fa6c9e8dcddb91e121794740a7363a353e3e3ef0db74984125325c19a0ac6615521306338d16a7e9693acf119130cebcf3e995798c45a25f8bf7f5f65bfc09653e364b7165d0ec06bd7dbd0c57a67eca6ef42d2c8d1c8b0a1c4b8bd93c7a651e962a2c6db024d2b61e6d3dda7a943206dca7616b1647532502bf5798a45be28c44f28c42f29c73c61e79ce8ab148f4cdc50e3e8c8020793f36449a878674c4c174ece1541c4c57ecfe04b4afd42df03d9e3c9fb2854eb3ed14022a5c0f5d7a04575c66236aa3d124e1ed95acdfd0a9c7b3bd2ae4942b53df47997f491e0f4adf04478c316e6a612d06c7327fb106836b310fc27aa4c51c3dea518f46a0df6ffd7b5d199ddd783974d0293bbd6f2f1003e6296b1fc7321f03e6ce9e8d63994e3a1c349e97f03787046358ea95f9adaa27588548e52c527ee63758823c5a3bf551ee911158be7de0139ccb73b0e460eae7db07956cb353af1be62e1926efea7d774326af5e996434423794fdd0daecd91c1880b0c9746c8ad8ecd820b129fdd0337dd86401643764882632bc31ee4f9c823704babf318d42d1b84e6534ee4f64ef48b7803e7f6135f479b36793825526d88680dcc7d88603f5aa10e865bb213749458e8ace1c758bfd7cf3e89a1aee8cfabebc35de8d7778589a8db148f46f9a8bd88c01a63786490cfc9353db7b37468a1b71fa7d8a1a2fdbdf88b9c6ebc9f53542b96628afae0ce85376e3659a6dfdd0a92b63bd665bff7a0c44c1dc49966206bec94d321a57562d9cd108cd03f132e8317d9f4df58b6def479eb394e150896023a2236762fed940977882dbc6860575434561edf383d90002e75ee258e67b0caec57cc56abc5c1f035d60925e999f2a87b0b4c1d27f444de439a1923c7558e03c4522bcd5fef40d7eca6c4498c45e1930ab9915f0064b79cec392927689a3f938a3c471d216f0428d28b274f2ce3d09433a2db82ab82784ae0314024d95a2400ffd56d54323c0d77171e8171402d1870e7ae8d748cdaf5b342272f2c622bb97ec70c8ee21cc611793afb0499edad34b4a65b536ab92ca53790743c2a072ba085db57e1865d6018a6376350242ea96baedee962ddbdeb556a94942282594104229270aa33151d5b5a7beb900fddadf37b681b28ababdcb95b5a726ca4eb666f308d49b7a4fafd3abdc3a3e87adde4d1eb8ef73537e577e32e4d7f9e5075d56dc4a7c8cf171c8ebe5f46ae3e55a61caaaf6cae8539292d5bb5f9daaa4ac248bd6e42dc680a6610fc4cb93a639180aa67a3c8bfafb0aab11bad9f6b2ccf47aea3919f5d3ed6fbc6c3327ddce2482f39343f0b50681eeb304787b794be13200b2eb0d47ae900cf18306383838383838383838383838430c31c4103e7cf8f0e1c3870f1f3e7cf81862882186186234c44cc6b95f6d2a2fb311eb940176ad5559dd69007411218e0ea67d8802e554b6d6c9737ea373b6f65acc6f72bebec6a2c2a0d3ea2b74a16ea57e5e7b2f9c6b513f670de5ba353689c0db233d208fe4605c9e2fdb5ece03d28f24047ea339df15abf13abc75a40d74323d95f2ebdb8ba8e4483bf504ab6041822b5445cb0a22940d5ca128fe2e0c14291ed3af619493563b51d505a56030cf40d9d48ab148647f70b7a4b88b0c47f1ad3a79291ed3317d5dd7f5785dd775fdd7755dd78a5fd7755dd5afebbaae197e5dd77599fcbaaeeb92bfaeebbaf0afebbaaeebbaae8b865fd7755dd7755d17e8d7755dd7755d3e5cdfe1baaeebba2e9594abf875d5784bae832e8ceb42094d54b5267773aa862c94e9aa6e56a04c2b2eeaa64299565cd3cd0cd38acbde984c2bae7a23575c92dee015979c37979437345c32de5c12de802ed937a04bde93065d32ce8782d2324e98727861a838bc3052503c05ebac8944b5cee05a539231863a998a72d26a27aabaa010b6aa9a128a8a1ec59551433eb930a8991391a852918262e448a629aa142c661a309a4cbf4205062a419212ca269443f4036aa2bbbb2feccefce08d9a41717a2a47b7887ee25bad547c3b91a1e46060a647f13b7373b40b2cc1120e2c9166f8699738331373cc449a37dd625d3ee238187bf907052a38971e5e145c4be9bd9033af85bc743e4b7abe90b3705d1795231ee82f7a854e5d219393932b7465a1470b4b116ffd3a45c58bc686bc3235e4ab8a4e87733971795dc6cb4d6506949bb73723793816f90b3b91c915b815f914941e94ecca19f226474bb2c9b7ebf6945501ae74e097e12f1bf826a72076728bd564f94bf6b8b093476c93231b329f6472d49a4a36c16afc90afd71c387ecacb91e471619bf519818819779632e2add73b23de8ab7fe2e0ff1d62d8c0668864abebf9fde039433ef858c32ca5294335946fcfa133706cca2cac57cad188b44f0b721cf6f3664773d62d62f6c8baf7f578798245b590c54c11963a1fc620fc7521fca1803f98032c6ee919b315691aa8c310ad250196313cf94316689d88cb1da3618a33f34636c229919631288cc188b6fe4582a067d702cf531bd03cc18eb1cca541c4bc5d8c398cba10c74abcabec404f4bc175784652877ecc9d2e597c5d6aa9d13e2c0f007271021847ba38c02f746f209f17ec42a7dd08f5a8b9f34c02fdb5c641f3b9e037deca92bf1147c2eaaa5a235f9f9378a0c68ad6d2211afdac141cacf3d16990675edaf41bf61205f590db724fba8bebd4fa71e765dd7755dd9e446f865e728ea14f526ea6535e8373b6535e8b10d3e383da69d2bc9ec3a7680cb61a61c1f94720ae33953aa0bab41bf59bfde1786c94d1a004fcdab438db7242b91df6bbc25309c6391a1a7c44079e8540a4a95826d35e48792bd06fd76fde4271808e037701b0033781d387280998e7b93ecd32fccdeda6a08dd2adb812207786a52a951331f301b01bc8e0c03c15b92830d2605e04ac3ac07b8d24c5000ba44081f75401d5847ef9064071a07ed40e3783404841f471c01a45a5a29b5d6565bad7db5d65a6bada5d51e512dad96da6aeb11b6feb0945a6badb5d65a6badb5d65a6b29a5d65a7b84b5965a6badb5d6fea0d556ac33b538b0d4fe38a2524bada5b6623053fa234e95822aa8663db2b4dee280524a29a595da5a29b5d652fb83566b339f4aadfd61ed29adf5f4d6524bedc8feb0d45a4badadb6566babad96528a036b2da5d65a6b69b5965a6baba5d6566ba9b5b65a4a2db5d4525bada5d6da6aa9b5d6da3a8f4039955a311689fef754f2db54327c4c436ae600bf17f5b580df9c91f9f806409799bd9917179aadb56671666766d3720e07e324b675ee3f0992192916a98ff44de99bbeab205ae05ebc1d35cec11a942c493307788335d90535ef057d4329e4fe0911607b2824f784d5f8c17eba32f5f1f6cea88fb1c6c3209c8bab33c035c87de750fa6fd6cc1a526d0dc27835b90794a4dc8797a496241e1c7b8ad900827a6354b6c5e75ad0db8a523b9da2b65238381d5aa957438a47649c6ea1f6cad077c48945901ccc0c4ae99b4d47140e5a7870894835e240eee52e449a4e0c1072762f3a66cabd1ce39c57460dd9baa5a03a1d344dd37b3a9dea69fd743884063dd97a45c2e7089e5cdf38d891eb1bf4067dd24113d9aac935d8004bf7b2425bfbc01d5804ea6cedb3bd34ec9127e4916755d2f2b3ec5e180d4bdd520110000d8528e5157327be692726ed135f40bfb77edd4197150f7d5a9169336450495591cd77cb3451fa8a22dba28e283b514ac9aa6cc3d824db445686b30c25cb4eb2ebd66ffb00e0cab0b21b2f5fd9f6f274d0b32b03bacdb6d0fb4e65071f464090bc1f1b22cd43433a027d628f7aecc2a8eecae0db5059ec65d84313896e6a0ebc5587876f522e758bbb538fbac6360fec77860040989122b8082042a210aec57ccf20d2989ad1618f1a8a6a56c390e76bbbc052fd732fdae7b598af37629faa309753624d0e24411c681383d8620b4aa0a97fdece1f92ec1d69ad7d1eaeede354babbbbbbbb7bc585d1335c19d0a901c0242caa1615c53a5bacc65b922ff032bc4aaadb41d20f4138d17065748fa2300f9f90527d0653274055b1f6b951f3f4a3dd6fdf44b6d60c6fe07adae7871e680412814220909479680393bbbc52af4c6844e7798a75864568a16c833737db608f7e9007a4c913e6c8b3d687be4dd98a2be3be0fbabb3a50ef17a0aa0da4470da4472f49015a489e8fb1770285423240713a40453198637c7c7c7c7ce09599de2bee8c298bd3d4d304d13b3b1385bd9c8275c6b07de056e445b9569c44550223c145ee26ec741225e8800f5fafc9af5310b3a75e756f0a75efbd759b52d52b33fd5229665c1aa0ac735a93f7fec29c6b01ba09e61c0baca6d02d6ceb212de4764eeba4744eef3492a65664db537163549f4f89af11ca31c3af6676e3e5946c83073d06a6b830ac8a1bc36634e8ed698032c8d39a443931c15e0e3ce814b642c7d806b5009560dbe3017a2d0002e720b23ce4812e12e8157909797e661e4d6ef8dc25a887d6e43bbf220e66ca74b019102fc7b8931d00705c8f07212809e18c130faa9a33716403886a93a98e145208218c10ce995a21c65b8539c0f3030ee6069e33d3c854a27e9b3637a02b331f7fef8c39e9b41304cea5ce12643955e024cca9f03504c1d71ac9a3e5880718c6cf996e51d22dd04694b546768f79bb06ce198823e18f6c23e39d41b368d32d0ede401c073367e4dc91a59c35d5f66977536aa7c9d25108053944e8204707efb97ecc6acb6f2f6212529a4d9b1238252479134448c04ab8c04101cec5055c919701f3d681ec84c44a0837b064775d50b2c26122b7c86e080e4da66c65ad9224adf500574a475e46a3d1e8f5bc2abc24724427a413be244df394bcd2fb796f06c12f6feff50091c02a4b3b9711229b1c153103a464619184fd8837daccc19524a92377a40fe71265106e340318e451d542552cb232d2747a1a6fda05a2f8168d887e729b28e42fd1e1476cfec0934796f2a7e6e849d34496d287899aa4b15492a53c92e537896407ae4839924224902c37399a915205f2041905ee85a4792d644b75daa48ba7e674b2bc939fa72e0cf41066720bbb6eb150c5ec292cbec2ea2136b11d58ead9e9a15b2c22efc015f9b8035d60a927cec411cd7b117bbc16f2a59d1e9a989e812eb134822eb1a7c77b117764cf28eec85aa10e7491333bd0e5914a10f6401d143ba2ec2493bf30d02d2c96e2ce7b0185bc16f225d93c2a1a977878547a6654436e202f2e6e883715ab6e31132cf488519723e882e10c5c919787700447364b4e4ec56855cbaad35aebaad6ad79d35ab479a589c7c1dc637999824e92250b9ccb9b518193a3f7a293bc16f2afc688910f19839cc369f122eced701a08a380d3e24398049c167f613b382dde620b709a0f6e25326006babcb895f81fdc4476d145a73393a576926d51c569f116a6392d9ec2aad3e2270647d08585880485dc30ba4d9627a40985f0301f67b4bebd1c31cbda785959ac29ac094b6151160e960b0b73f90607635d1e01ce45b75cf1074772944822470564f9d0add02debd7c562c8d12bbd244f0a9de38de175010b59fefaf64acec160ebd7e5e541ce2bc37a280b65d6df95b12e39a2992585b426bfd1872effde131c0c0d7aebdbbb1e3ac530f632bc32d62febd77577655cb71ed31873f9c29a14c22cac91c81a0875e203f8840ebcbd92cbf5d24921dde26afc909d63e92bf3aeec9223203fb0410e0d482fc8f25bc4b9ee1c8c0dfa1a3f64fc2df47bea86aeeb4f0834f9d90d0982924cb990117894649771e4213846b24a76437c90f2756a049e2b084c04a148a66a8a19d7ad7bca567d614c13766aaa4297fffd74635cb7eeae0c7a675857c9eeca08fdca52c8e87cfdc604706497dd9561dd0a61d6afab92ad535375ad8732d7da956db28795c951cd81ad578c39c7626554555dec652062a6bfc17ab41e3fef0cebf15d1eac474a1f49d781781b8ebcc9c7ac756216e1cb9be9241b02728ba4cb14a494a74096119e1ba2b9902339ea15f9d224f906d22e2e07f957ba322b8bd966c39d41b0cb5b939a2493e0d1592641d1040b09594a257a87902c7d8a90dfe4cd3749244beb960f2aaff424a6b7a935da588b812c762d56598cb2d864316bb16a316ab1693169ad7d993aa95cb7381b4a5f4264043c0437a4622c3a4dc08bc9d58142a950502857449649ce84e808362267a9568c45a25f6bc7735117766d366fd12666f1a635196d4ed0e0ad795a49c9c1e0cb97656d9a56793ff24fdecb0ac72d5ce145ec792de4372b5feb956d5824fa5d937eb296dd101f4732e5dab917411b8e680357e4ab865d885e74a24d9636c8d27a7cfc166de28d837159a2c0adc8b7a00a51923f80f028d1268f493373fc3451d28afcc585e86ea635f997c3b15c98e44132d2a4da84a6e449444c6479794447d37ed18824478e459e9a3bc0dda4d6e4271029ffe4a34d0c7744a4dd8805d307ef8027c745b515bb15a7bf8b43770d4153b6bd7a674c99de18f4d5a920f4c27857d1dc8dc0b10345324848ee9c20b502122487275749e0974305a1f3c16ab7375d192abf8c1a81a975913b06099283df3462477e763a394a90df1342048f500d65d5ad47cc62f3bebebebe3b63caf5c6a8a74ed50b63526f8aa6e30b6352d3ba0cda2af8f81ebc302485b926821f4d8b7432a27da4f6f2f7ca50f5f6d4bd306c75777018c8f33130c69896f1a13797884b601e9c8be67690e15a30a0353900e7f2b21d20cb5727e0cd15d9417424cbc7235834b3ad66aa2b285d0ae77660404e962e2a668604214941249187b40089bcb99fb7bdbc48190d2f0f8e08b9ca5082676c9b2f063e9ba5787739b0e815f9fafef2cbb41b485724d323d80df9d123cfd86ec638737aa042e9547153b1a9b070798140377ce917c712ef436b58943da0b54da485778701b712ff84ecc8f552a0b5b8bde4f8b7010da864c0bd50c18083998f3558e413ffa2b170216bbc4a8c3c01c8f1d9cc228c90efcdf966752cf3d3050b4dc5c98440045a9b6f6d3ea6b73a7a38dd226d6ebaa55f8f6a6824a102eec5035e8bf9790abcecc02f0f782f96c8ef73674e26e4f7cd25a142a01e4104094240fd9d82c0eb793d0ee6b5d02ee2fd69810b9809d7c4cfcbe1926c8e89cd21d929d23cda05032cf0eba91c16daa407485d0bf53e742df4a177eeec01ad55adb9162edb5e7e234aa4ea3e041ccc734be47eca4a857d031b1089a89eec01adbd22afa9ca591ef99da2b2d703692029f7b0d166833391e6f2703021f7de1157e042d8cbd4857a7a602909055d6254f449c5c45544a4265599723bbaa5f3bbeb812e55d6035c79af156391e8da891c987e833b201012a93a1102dc77798b91d2ed81c147d544bb54d9ebe941833bc74f7ed6f268edd988afc7b1bc77b803beefe8893d6a1c8cfb7b6c8183e9778ade53f6ca74bb1ae00dcee4471f4731d2b40691c80f0269edb150b1efe989a91008e92c4e7a44a090fc883c1d9fd7d31a8bd630dc0169e0e8bde81e3ed8fb69edd963ac0118035a7336e40dda902d76ce05dad0df5f130e06f4d7438524946cab274437812414bfd9f6f7c2e49bf68a90efa79b3825f23d0a2c897c2f5240be3f81807c9fc292efab1af2fdfb956df5c4adec0476572accf5ca7d083b0e52bea75a82e8e14cb76c6f047374cbfb1bb9d02df6e270709a0f2ea04b04dc4ac7e4106194ec24dbaaeb2bd3b1322d946db1623df4dfc3d9f676e4e766fab977d2544f9707aaa9bed78542ddb717028e259e055691006f36c7bf2519de9b6d0dc85463f755d5d8cde095a1b53e4667d003f2cdaa8a81a0fa0670e4505d625485e990a19b066632f5771d5065b01e62f013b6c125e457e136258b632ad945db81376b3842901e0409d283203d0812e487102140e24e964adaf1544f489687ceb1c0c881dc832cc00a8602e5a42505f40d5f8bba77a752b09725d6b9733aa785744b0dba64c992253a0ec635e4914d767c83d7e56502b160626202bb00c780a38e6882c8c352537ea29c9a3478eb1cf7a8109682c14cd98a56140603be9e565a6bad28ec41084f52a6dffa2a8555853a535785d217bb51f349124ae820610585fded8586a7a43598857bf9c6827b718fe2604ebe63061fcecc7052c1a0201a404c64990353aa2448b815f9522fb1d346e821f410159dd3393227050505e60a7b210c660aaadd04ecd13c1009cca0d75c833c588421edb743a5d0ed28aad04bc9a8ec66dbe37959c8f294c20a5f23946106ba4996836b09a6503454ee87b0799a676b1e0a9b0722814824d48a1c89680717c9a9204a6798a1b81009fcaae05c7a465a96c7c1d45f148d739255f952b2ad4754b6754dc720cb876aa5339b47015d99fa4ba1a8e029852f94a7b599b783b2b3b3b3b37362066f1089c9a5c9696662626202911c09cc2aaa0a7b9508c6c9f2d208a9e6401ab816f229582bf17193e5515ebae056a4db9a07ae009a400475f418785cdede0ecf8eccb901f294789c46147374cecf24e1d7e3605eaef17a36a8858caf4c3dec9679094377463d3c6d9e5a3116897e98a3732aec65102681d6e453b098a1732c15702bf223258c60e779a00818b400b3732c30a64f3098a914315fcc061038a74bdd03ac91702de44fb0ce712c5248afc8878423594a2259be263c29bc1f197b78ca1e6296353d04ba322796bd7d3b27c727f0040b7dc2b6b7c43bd239994dc5c124518ecedb099838a8c46c9785450b9d9919000040000315002040100a8604c3e1801ccd34b5fb14000c7c924674589f4ad32cc851108619639401000000000000404060a64801800f9512b651fb1f0b4373d1bdb0fc8d6895850773b32fda2f0a8c8e3aca6ed5e4c32e2ccb96a64a8bbdc63b962fff07fe3d20fe280bba505ab9f863e3d06c7003cd2381133adc67957e483969bc7878cb7a1c87270f17f28fa21949c10f0ee5883703f4cd3bedd5630deeaf10a320c4a619de8a035afbdd4ba13e3c938649ec7081907074613c72f37ac2cdd1212bc2332dd4671bd10a65ba86684c3989ba3e75252636f4ff30ed249cb1b50aa2812827d85f63c932ab3a126ed6aada832d6d0ea08d8d166bdb1764bfc3bb0ec1a80aeab67886e8703555c1ea41c93d4ee64b1783844fc1d76c6e06a4340b97066f1eb40a8e835ca7c06a79efe3564d8af6a246c1245c1b1b88fc2fc12c3087f5f565464342c8d712e31ea4f1e8a5496cb1a2617d8424ee4a1b4fb3c57d43747d0f9c1ec6ce63716a702aec8a4ecdc26d99427534926feb6da11101b96a858f7726182f5ebcf48923adc9de61ebb90a5b939537ec827ac455e2cceb58d1809966c096d916769c024e728151bd3800b54f9ee8242dcc5ec3fd490f0d45eb383c02196fc86225899353635481d6d3047a46bc20cf93e2a6e556fec4b069eb414511f245103c19c822c31dc9794a467b81bd0290657f752f17d2cf0be4870c642af4a573f89125558e5acb7bb8181232ad773e8a69e6b9d8221bf5e3f73597d65506a54a9050dac95fbb9243d2623072c39109890e60a96b2f49ed8ea84bececf35f7c51694f8dc8dc5f254635c1fdeab1ef999144659252a7fc78a0d5d3456e7dc18de116adf51b3ee784d0106ea12a82d0ba8c7e8561a44d52e17dc515964e28ffa43d164c1e7f593a8a7bb486647baa7fd1405a0f488c67f7c56d3e89fbc117fdcf5c403f8b62fadd14ef3b2facdc539e8e8ac25541bb8834f0c4358fc13550a8d0d497222c35379a20b90ce74ec2e864627531430a8d8ab3d68285c14958388922490b6558a1dd518394227f3a4f938bf117b8daadf72fc5cd2f3c774d5a9c5c92630c6ca1c7ef87f42e13ef2e119016f62f86c394d2236c3c6324c2ceff6e6aa5a39cfb1201499eb027a79de59cbe049c1ee508d1de415f17f919261318bebf1515a0bb611ce4c5b2e1e12282b508478024668853588d3f23b9d3e70c3769d3aaccb468216a4166db9a0c78a0c14fc01e0158795bbd9762ea759e947540d14f34c52f5146713513032924e7b4b322c8896b253f6794c0817b22b3e6db30fb9f3cd2681228f0da4a48ba05beb96d4b4014b29cebb195d512b6f6399d601a8264c05ff19e1150fbf6f1b0716efc9408036d42c70a076d6f5fea7f733a49520c9e446599cd5ae7896f43725d77a40571efbe839a6859146b8cba6ca1cc70caae50f65a15037b9ed9d3bafee473dd262d43c35e543c4cc20ef48a99ca2767a5d7bc07e712947516e0d07f6d6218cd29b8ce898d8a4431d34251583fb4bbf9acad1125bc5a07e915ccc5e03ed3e57c7596a5f13ab5b9a157d41696ead89044d1166be02f1039034f0074a3b688b304242d00ac2cbde1f698c5e10a031fe10a445c871f3adab7edc512d47a920e0d788304d1b7001b49ee72be3a36c6e1cec918872b0ab8822d4633ca9130d3ca0d3a396a9be20e8a59fb2e6a064e53c0b85fa50a357e0472e3de9687524c770abe8c9648bff6d0bd44b58fcb8852941c5af21cc76bd40930e8338c37fca79c124a73771a6a7fb78a725b257a3c40effc702eca490e5049caf73fa1b5f9204a79e41464742f1582833568b5c1168ba93bd9a1e0282102261f2c6109677021184e214a9556c1ce9142a7ce84564445874738f7f557a1eca5dcd06aa5d2f55a5b7b3919b6acf710ed08ec13d141ea19148a165dc9338c126b06a213ba3ccbe8b8ce48f48275c50359889e617f45d660c6842085f0e6e89c4a75a865b09e1556a21f3016db02bcf961e883bf3093e8c3b782272194f5e315386f47213173a04d7a2a9a70cfcdcdf05ba3de2b58a41473bef12468d0641b6be91b3f32dde796cc49f65264f511006e1eb62cb4c6a53a64ed85d24076bba21bcf59dbbc9e5dfec5214233b5c39a720c3f26b759211dfd6751d02057c8d839d8b2316feae8f484609dd2da9ae9fa76975f0bd2995f9dd6af59e003cd3dd5003878c459c43d28bf451fc1dd70420ba5ff810ad4bd8c96a9ec723651417743596dd4be8517a034e1b975ab96111ed157a830f6c9c0930092c403a1a4c1c3c69bf0d52ddc46e1b28facf9c21b82721736b1389638e330b3db1486c310410c5d4cec516c9de30f59a0dd78f0359b17a7047cc86c3db1f8be4565778e266a40f8996a294013636569861e052f7c99162a0c5c0cb46d9dd349acbe287fa6dc1494ca65a7ec3e3b6def8ba36ef71abee48d15fade4efcb5452900d2711420cd08b0c82f8d99defdc99849ebddbe6700d4c982c1fb770d8998608d20854e1196f41a83252b6ca08e3d09e114546228908647a07c2326d1ab5b5d2c2ea0cfe6b2d6c510ce3deff1f1dacdbb32c4d87ad645d11cfe4bcc61028b546521b5542d6adc2abf0bc69a31c49c87c5fab12e42a2304e424d33fe2590cb061294274390384a559929f4089123a300c57314d0b1834ab7b4f56948e5356c56ed1f8e63bb0927e8215a58b8c7d9300558227cb89721faad361af3b988197ad9ef24bd005a1159a18766bb02521070716f8f198ad450e118b536525aa737948f8d518f33a06751a25161011d36a931b430314985c50d2642f11522b356aea2b2339416b647656ea06cb5fa9c721d5fcc335c02d73d32dbd35406ac0ac2ed7b276bb8753172a699e2fddc63c1c88f309ab3f4e5a18910759e40169583e0898ffdf01556a9447c716d70bd1ec05cac296a573dccd67d9b9157d5082e2cb6879b63422b8357385f02fe5de154b2e390bab3572054a26832e638364b7d9cc42c5f4d0d1beb0030da682ce422a0ecf062f51947ee80d44114e40e469a2d20f6efd7e24a55673b0cb4a5470f4a3eb16b8e68efe2d35b4881785db883a87a557c7914867388f2c043278d398272ce2801a274c43ac63d729cf03f73a4b7a9781fa054900780411be26869ff0fe389fd4ca933cf67b0d88e683317741dbe81ec9d66e3a683fca96a9ce5ee63ff1d67efdd41de92ae0e98d96a79415e7000ddcc746cddfdaac043b001cb824b30e57c4a174c29b19e7a08430b7a5f37fe48ad928664fe890276a58fd9f2138a4dd010887b36a6588c2d179987ecb69012e01ad7f3ed5270821b2fd9229a69643c579baed172f3bc6fb04b4d4da0dd390d2b42046afc1b1a5c1ab0c399ee7e0ef6e7b6f3832596e1fc12410c99075d12970a7aa65d6a86a2ced813d786990888bd332fd874ea6ad1667cf6bd7ab93942ffb41343757e7cd584b0ec6ffb29ed7a82a6c2c6265acb9354e05800ea302e83f1d90078ccd69c126aa04035609d4c7f9e127c21d9dbc2afe32390f1f234f59b6b9ae204501b8630160723a725e472e602c5583580a1baf3674d5d7459cbbb88397dadd7c785c8ea4a8e6a57e428a971f9e4252b7d543d9876c86fad5fe200eea462bbc0e9e58f153cbdd99dcbeb0e1d0705e1cf48a58bfcb3d4a421ec3bc4939450a928603c42e08b3756816064f4f0159b45bb859d802e8c96fc910a2ee62d0d6a1f26e143b605ed0710cbb30a338fca3b006c2d9e7a03011a76f8e519076aa7ace5dab9037472f34aac55ee589aa6a650b40856fcfb1d808c9daeee72116786b12ac3aa3e09af2b6b080bfb51824d70694962bcd3c222070776e48fe39916c031c80897fae161d6bd17fbe03c88f5797176092ec1bc60717768f8903ff4111da7ba7563189543fd5db7c47ba06f709a5e61e9fd2676dbf58ca3171d7a99ad5e5be6bd21e9cd95d850bdf19de3e6c69dc399721e42e03ce725a670f86c8f0414998309b00f965de9a347c1923b4cab218543a06817a5248e728d4b67e972811d1d16c115bacf089b28d784976ff6a95e2bb4d2bcb754a263e81631dffe599afd123dbb9a50ac69890566c2dcf47fd38239a1c9b61ff37f0399551c64aa01a1b3be75ae5b1a43374232c7d7f74339733e1794be1f7c909663cfeb1342b42b0863c1d2cbcb0e68580e278020b450ae9cdce72f52bc3653aa05bc10b0725630c565a922be34ddfc59f4eae07180d0065aa0068bbe42f6662053a9053a3deccc48386ba0d153625a6539fc16e2757e3f1f6b0dd48711579b5add65fde0bfb82ca228545ec276f235852a3cc7f1c06ddfb595a2d249a6245f24e6004a4cab1658739381db471c4adeb6313489d560aba77edf659d70b027dfffa27627c9e7ed98577e826d80b47b25a762077071d9c222af366d735cbee283133fbda6b5e4a4be75d365a34c7d802c33f33210bee2ff2e422cf6d914404498fb377cb3016ce87acf48a3c8778a2a780e14ab3b04b8d5f2fa27bd5e8d953e7de18cddf26c378d133bb1cfcf33b58ff91f9b3c62a56386348280b8f5b4e402cbac1ce3fd8a0b5de00cdf9476a69c7b455eedff00a0a3724dfe92bb2bb05bbffe99b9a3434e66c10c6dd6cca164d257a17d459ba7493a0b21d768822758a47090e178a0b9728efe2d9f8152236c0ce1a14f33a995797ff0c5169128d038e5b183369a16744c6f9ebda621491b622a3e92eb729dfc3f60901e3efa62773b57898a6e90a1366f8182069ead71faf3454d2aba78495b16b59426bac4762e6a56f3f6087283989da31e7e718f337a8b43c198a6dd71c350ca794b5772f1968720c0c8ce9a908b4f9bd874526a49415eac7de6672917573dbe4f35a3316ae117e05fee8beb1b55beb07aadb8f0c75432d83945dcd8f2492c074668552162e7bb29cc207a722ab1588169dee804d661a1114b2651b7cf108c4d9e16f47d1311ddfdc86d3493c05f893774730b687c4802af06b6a54b4ea173a5cf59268dcf514b04a26c84261d7f54aa14dec2430d9e378cd64d9c10d374f4a98affaf0c75cdddc31c0cf599f26643df85faed9aa4dc8c8d6f38fccfb300fc7f0ce098710126199dd0a8aa76f135d992e0422d6323642f269f01d88cb134a1587656af151d311a7d33e9dd322d1ce3f5a05eb03a75fdbd9c0db917c0d07248a44f5bed9027e5417a780cf6c38754dd9c0ceea1a77e486f8a9632194d4b4008be453d49c03cb6752a3ac0fc5098821321e5819f1668695acb109b0d27373642cf6e2cb6d955cc866e33f0395d34b7edfdbcdd92ed348bbec9c88e96da0bdfb43c43f9c3651b8d1e32c4ebce48537eb14ea0a9f934703e46870e55437d8ee836a065ae3321202e3baec24ae97d4854d75b5d6972ab63c2bcba1836c337449ca15f157afa8af89cecf2f95cefa0e6d195bd231f60a11fc5699d83b0c01f83753c1d610ba424d69a7d9d2562f2b7e9fac7dcf26d448fd89b73702d3d73f80de26b6fac6545dd3514ace2150c8f0e4adc4628296fbd9714a98472f18ccf96e3c2e123f94ef5d3beff42a7caf8be3c8a8d3715bb3da7fd455b7010f53955c162831a1acc1aa7d5d6bbb7f7f553560ff5f9c77057bbd4500985e3d1e08ed6f7cc41455b77fb8d3f2fe7c0623f035f898e8f01008908d0185184f4fe708d38aa0e1b7cd0f9b9843084402ca21e4b9f3c4e6f786a771146293948141d3a74bb5b01eb641dc8811b645d6e30ebcb22dbda9897c9c1c49ddd6ebc3454d2733639f1c34378b9f2b5f0ae3e1c43ba177755dd19046482258ced659cac0ded7cab2ed4226d9458bb1b5ba5e813e504c160e491610f6267054b18ec9e8bbf4296f14e463a414a2874db2ebbaa64567ea7e077097438f09ad46a0f2bc36df1c92bf6f521612816dbb59465f1c1219f761d4833d5246dc64a09d6cc4f36f6c56ae138af220c01e2deee52915fe724b096f65c2d032637e80bc3dbfbee72a390535e40c332323ae3059708c8334f1e643288206bf65ad106f64a1b57a797c4df329316811b65b9faae57bad7f04231c503a04ab6c4fe5b56f8e0f9fbd1abc18e1221d4899755953c2a2e29dde00c71f1b382a333b444596670266c10abebb8d0d4df5b145968c0e0b0eec0010ca8c56b0f6677f56b4ad032a112b42d808cdf5fd094645f99f02d700e50305f41f1c7d96057260e5adf03334237ff8a8e590f180fbc8f7b48421817d3eb0721fe45abf18d5c5564e292677280a37e3ac3e5acf36475d279f5b45ccedbba2a7f27f967d1737425fcf9f31cc5e956137a32ec7cb2b1ba87ace54f616c21c1f12ec807bee2ad9d890798b2db8fcde475931c87fc3a4aabab99ca613ef0b85269dda85645bbb8479afc60b3a4f7dbb4aa5319e80fc263902a8679ca712c8ec686d369552388d1bda12e1b90ada201c07e6a505986a3f9d6223fa903f5257b4aee464116433c94c0c4e2c1015839e6584b985fcdf3f8ac70e27069f14a34fc4b858caef73d5c0e7a2e76ce7eec0082f09d610c81a517b374c448f1a3e4c5d01efef627c97eb6db8a4a1fe28aa4994aaf6e97e6c891a19f9f338c644993cd6b638e780917a0f0775ed88e7984aa1171521872b0150b7a40ba4d0b097fc5436df8f811a4087a3804c919b0cf552e764f3f50342069e61ba7d6b463454788d6892a611a24f6c4e726bb824671354a3d14a82c1f1845fc29ab6738d235f627332647628c54cd2ff51d06da709849f5bbbf4964b9dd19914d00ce5e49dd1968b1f52bf6e77658765439b6d1937b0f29a9995e16937d079d8e45179357d4acf5d9630f21b0a2b8a27fb15025f19f7a78fa750bafc44ecca98695d18360bcf452b55df1288f22ef9cdbd1aec2ffe92122a0f7b60ec6a0bf715220f7f50423a916a6b2852a6ce1163eb6735829d8ad54985d4006507344e0e10e0de642166a85529a3c3feda9fb6f800f9e5682852017d01b39cbd753abeb32507e21d361032f6c93a554f84fd3642c8c4a79a9d01f179728bb253a0e92add5fb707dd413a03ac5c66adb42d1ea67a79a35a047acf0e27f6fd52624ab046d8fd8bf3880ce9b2f82fdfeafcbb48664c773a0819ac77d0b5c40c5019e9c7777e940b103da5754b5aa5a90d977d442afe8bcfef52d2def6685da962a2324d6d7b97e84b235323bff6a75235502b38b9419cb68934b90985c38ed8c93d985c7f16723dbc24663f6efd43470b0f721501d60f72617e69d029c1c63d4108c72cb9103ed7bb977060b25eff0560af580015756820aba2598ea1bc14a3512995a1b6f2829bc5b82bcb7c2795c8770cca2bad862b62bf33dcbe087037c00ea3d7ef43d57e7f75b0123f35c8645e6694cdb32898a2091093d6d165080995cdedeec5c4df9049db3d32293a869da8ec8269990a39d23d34dfb62fd91d06ed1dd33e87021cde88d7c202402772034ece630ff3e06e05991c06af2b573e3bcce5a2150248f286fc355cfd29d59048589e67f742ff803a1028d17050f35ebd48c1e4741627d6bbd34aaf427859836d6cb487b6f15f11ca3fd3a5109f0438208a0143bf78172f807b3ce1294528d493b0bf5a6cf932666d18d227b5f17f035c622590a709de6411eb03c0655c7219cce0e48185b48d86db05e2607584392ec1a6cca61fd718754e4ad14bd9125ed70b62c4ef3c59905db1967080271527fa099af192adfa69b1fc2401c685a78b93e353ddaab0fe0ea40b3d8f3131de00c6ec2d09239e2a0d689049d6624374fae1281a130bee0b38aa37ba7d2e911c1f57580c7ec61ccea7ff7d7eee896677c1be3ec8250e09eb11a71bc21b381ff8374e37e15241c5948b1f3884930102662d004be9359f16f348d75462b5bb3d41f3cc7242ba677b03d7b251a5240fe13ebbf772da4774abca16aa76a74e8adc6fd0d58107d473617378656a83b4bb352b7ba65264ea19976f15290025b18f44f4c0934460290c1c094299d0f539e82944d4e07f20b6c65e2aa658ad7742311874593f59c74bfdf3aebab2a197352a390291f6bb8c1fcce2edef8d188aced51ba30470a0152ec0d91059b3b9be01c6105ce200a05acaafb2cada4ffb1f35a03ac4aa060cb7aabc3b7250327ce70daf2c9b693bb4d59aae2acf9b141eaa1691bf56180f7c624d9f155c8ce5064622a73f73f58ab5b754fe4f6866f6f72d5903aad668e900a2ab71db9b61382b6c5bfa0df90f6f2cfaa596ba9fec4805c0757af974545ca83043f947c7c997f373f3ff030d99eb1a8a7d3e99329d8ff9dbda69ec7bf1d02786f178083fc65cde12aa96d983fa810813c04043c3602e0248052a47fd743bb83df4db214fbb7d053e6b700f8453228c4f04b9c082d1868a38ccc55ccc0160d54b92be1e2f31de3d4fa1a2b79094abe9330c6f87c82216284b8b7f6eb2ae60c9437514e2ddd589add1ed39315dfa67f3f72f5645e9fb2da1b6f3f1379dd1b5f05896665c68b2422805efc97174b7ff313a21357d2cdbbd9b58e82732e598a1a581b858e8d23467bbf71af320b8c3a3fbb608b6ae599aa98ad43df06d5198412ffd07ab866ab86a4140a5a9a5400bef35cd2a851e0fa4b7f7aadf6bd92874c6c8654c943447dac704980565ed07a7f9deb61ccf1009a9dad4cd9d67fd48c314f0b40d223bae838ca320eeb1d54990897c87162d442547aadfce910faaad71acec33d2a02d724ed4a3d7129432db656179838b1993744123600e9f79e01422801bc25d288a194267dda14e250ffe3b041f0f4506f3c8439bf4a9f08e5a07484211c3003cef29c7a631c44b010c4572a11671107a449d0416cf6072ffae0f8c103e4ec1e8a1cf3420bfc59add930111f56d2cbaaa7253fc6d8e73b76e15ec8d08be8276383a5ce85988af1064c70cce06d9ab65039ebf5cfb2394311439091eebe135840b2ce3c53d3acb38aceb38689ffe99017a1300d886853be57f88a1be53ac3850eef78b43f64632db4665a5b70f8f4427cca583c2847409f286e54b9c9f56a76a49d57d187a27de2e8fe6e3c17ea88d083b30175ceb269c9be13f86d74bbd92b1f9266c969f01d5b7f24147fb5412bee38ee0cedc1cf7df0c8461ec6c91d4376f7bb62d1e748128d46cc69198e427a5db4a9dcdabbdb23b5b2fe9c99633c8c91d92089db99d3dfca7086144e4828c3604e311dbfcbc007f9bea7da173938671acfbeb8f5ddc46402f1e3cbd888f55055c7fb5e737b89022963df23d53cbef4b5378579140a23fa607fdbf7ae0037710064dc076fb99abe59c64f266d697f8cf04e43301475bdfe3bbe2e399ff6076b5deaf32660badb668f7cafd0b423a47162fe54185bebd996c1118b319693cc00003cb1f7ebd536eb28f6f92daa89e36ff6e7df0261ffaed7b5507b4ccfa6f02584facd8345cf4bd08ab589fdd6c731a6e2299231ac66e44ea182c597168f1aa3c8249c1af169c60b9f2eab80df0b45615073c042a4a13c4b6154031e0a8dd1054c267ccabe9e74b6b9674637d4c2863d572e0675d493154d801b2baad7c232d2d0094b57c476b196978648e3a2af77417406f4f4fd984db0d9e8f302261e28b0e9277d9928eeed2db3aab106f3b627e0bc5b18a0155178ee51d098eab7e19e14c960999c30f6738cea7f8fda559d97cb8bffd6e2c3c02fd88efda43161b91119656e1d0cbaaa4d26c2d84a9ddf197755b9ad2baf7a1e10c126e0856dba12ca98ff756d7b5d68dd39dfd2186751e3f8714abfd5971afd33c35ebf26d211cd39ed6792779243b0004ea173948a0465534b237963fa01e372bd417d5974a262bb494858012f5ae682c4e03d543c60e5af11ccd0fac48c5a482d69214e23ac344563c53a0f17ccbd3908551e10f8ea063b107e0055fd4e388cfe5dd7b6811d6095945c174f1c1fb4b0debc1a56da21ab4c63884a3cbc6e535a561a579f3dcc143fbdb8aa6ce16a7d53e231d63644af918d68d75d079b9058db28cef3efbc0475188bb498918d2e05b3704ee2b12c84a681bfdb9d59eb929df9d3ed3e46219cace849641975e71218f6cb543b04c2b02389898732db5d165ed94a0451bf69e434f4383104d4ecca9409386405cb00c6c021f75e61880051f11bc90220ba16ad0b94feab96ce2428fcde50d2134374ccf865deb15d2ff1e2209d6e7dca2641384f740c15132aa284b3b0a4db16fa2bc396b4a7927776f59a55aec1c96a0690ce6c54d5a70555269d857d283b98996100acbc64e0ef3740d0065aa724282fa87792414097a73882321d766a3df05e687e7d451f6f8a714e602402ef5ea330d100d9894557c41ad5fea3d55b3e2a97609d0ee86581825d3bce4042a90ee895e3e7c0233bfcc47cb7275a0588c2dd439c82957d1872174c80277058ea866a07ba16e65c165c5c75f2fbbca9dc283baffabe4930836cb0c6125c482bfc3512501d6c082fc28be59ddefd569bae619116a035c8f1d730a3c8d8409affb371c951b5f1bcb36e837127e4861b4eee06d39cef8d4b8efa8de79d151c7016279fe160e5a938041e0754f1f82707f0727c9137f150fce152bdf420682b761e780c1c5ecb27a9917d1bdd4579025cf10565beaeb0314777164e5be7b7754c0358a9bc5ebafc6ba3719e1244a34094bca87b37ba7e16b5b542c0f05dec5aa943ec65131c4c93a1c9414752fa85e0a6df7807fc870ee74c6f60b4a32fc6add4cfdc0848e39796d95891d7d79038de798aee0b17b232681e22c8332c4082e453db8b74c04d6101370e7dff3c52b4b3f6e0ee7be55620124d237e05c398438919ac642bf53d9519a8a782055e61afc4ddc1b2363289219362f1ca3f9a6f88477010de1a4ccbc5e465d581f8618b1c1cf76282d5534ac83960aacb1cd1d228dab4300c3698a9774703fbe12ca542f9eb332a2fdd0c8100ffcf8a28bc15d777dbb258011dd82b1ab70eee6e5841227f6a1e68ea7c863662fe5569febe5733b6aed5dc7e4bf58430aeb247702620ef9fb72469dfaae1a49251a5fe48a32cb6796f34d940d248128947eececbcbc08f5663fa4243799c81a09a7e062e8053102af7175bfbee754ac5c72e9f7bf5e70d496ace136856c37dee4b291c06a33a114ef5732efa0a1d970666840af1c5c894f9e4e0783ce46da25fc3216bc5928c811e8430d4d65ecc0058e69ec4712d4ebad6fdc54125004f6ca719786521fbfbd04c8f5ea7eafce685a2d754821e00b8914bb2b7e70df580ebc0e7f54cc68f3b59bbc00564f458688a67a436cd8544b0a072d30969e40e80247ebea3fed275d4180ec7374ab055a7877d5a6221fb157e0d65c88c4c845fa783d8b3249a8d7660ec57a87da1a80b45a1f6a9ff071ac993118c295074b85603006e5faa9aa14d83c699ff787c11bf5eef8eac0afba934bca924459d0fc1ae6b9a2e47a44689128cf99f513b3317b202af3325ebe068a203a86ff16488fe532bc2018cf3960c2e99d43c48caf0f7be7e1b9a399adf3ffdc9678b3a2682ad5b22aa73444dfca33d68905f88eb6e382cd3425c17ecf7e88b721d88df5560670f6737900d566e9cfcde082eebe629fea16fcbe39e1d0d870740d6d2935201b5a1779d9e5e635f6fb197ff598357aa8cf3c284a453365bd90418714852dadb1a7c604ad5f0ed5cd1cad128acbad2c1367f2b596c9053f0a6649fdb92e009615f9b8dd6accad36e939ab549cb3f201b7bd1ed1e20b3f33ad996f2ccca3717b2fb9bd4c6b0bd40d9afe144f340320d3408754881a4cfe5c567ed13031f655d06a99534cc88c22e22b988c94d984dc5e063f37846c2644bda5976a743619fa5e444d5667cffb0ab6a3de089ccad610109cfed8b5200b181a8afedbffe08a5546c543db8944e513328cab22e7595263131291d2f6b9db8e6140ce0eed017619a02916ea6a089b7bdddf51f26df228b129ea20b34ad1d264d7ba16e6d73f5f58d34ac71dc1dd6e4bd834600ef2f4d8c10631e53874e84a4879d08f187c992069d88a5e7857e1f1db640c9ff50069a2b09fc8196927d42546dd75115d302a9f487145b80a3098213ee2a4f53387e188b87951c3e7605f35788fbf0a3fc365a2c8bb958a02df919b4822d04987f13851251133f114f88d04638d577a28ee0fc58d6133270d693f1287437786bd071840b880d487742fd55d4ef19510e8d8f23b0e7b304d02b60b7368c5413514abc486d2a2c57394f6f4694868f0c987c0d8a13ba138ac209b8bb6f8956cce3ce12f4884eab881e92cc6a2432bd6b1f27a54a4c83629906c2501260ef0603149185d591d34e2d48d732779765122bfbce2448d81926850b16fda01ec5f42c6a46ca8c61b8408c494530bedbd096e9dbcac688b23210563b734b8d3628c15303b1ca3809b20455d191e792b5c909b861930cf1df556132808d28815029512c958b4c1a0bc3145ead0c8299665e5acbbc6933f951c645c562f1f331e88413e738e4053d75a4112263c113d5b61d9f2762d9ae3d4d0ab042c6ff260b725f784eb4a5b8e2c354ef809f8c38d2e003f69288f9ca287765c7360c9a652f5144bbcb9539ffd88387c62d0055d92ec0519e6fb2036407a5bf6121acf79e4f94fe1831c1c52600a881e375d651d815e45c8fea207448a11bd2825f06103a5aa7b722c6da26fc1761436e97447cf76b99d34ed37df272dd9ffaaf64d09da96a5ca67d220f331bead04cf2202a54b40fbd0a7072c407a77de9009bebf9d44896ee4fc76b20057ca4e510d5f065262aeeb3646421d52860cb15d1f2ff1e2bc2562b7a90c22cd7844c41f7a2ecf1aa0013545c7776865c79c03d87c4ba71a312f40254a1569a40e1e232c5278f9d3c62224a8a716a80fb94a028359afff8971a646299fe7dac5a195f8a032b08d89c1334c4c32ba299c142b4d858a68ab68d5eee3d439e49a68bb2b4563f203a18a953b882404281c86845101acfd6de86e6fcb79e62d63af45dd0af8a4b9e048b79a42dff2231a49d664ea9895de46d6d92aa07e76045525d0a6ea633d3227d7458c70f69250eb73eab50085cdc30b13e19550045a9d4cd9d3cc9a1fb10a5d9b9439ecedabf0c25ddcbd7777f91f6b2ed09c126b10c68ddb6c1ac14e92838f645f1688c8293281381bbd272ef03539528f694c710940e85e3a7658e32fb4106f74d1d636597d81f2913522dc29146f64bb9b73b4603c986490211f207e083664fb90f069231d6f8bb19644db698e88ff2f500e5a9416ff4353c4850b13210eda47213bb5fddf794618e9dbd643d986ef81f35419154240209ac8202270ccc403555cae8049d0526e4a3d88a4ce46880539b2b580ecf8669764bc8bdc49249803721bd7babb36ff993288380523d3314d62b5033017783faa33d01bd677a2e0a2e64bcd7ed1aae2110dfd34b2cce6b65b8e57beb10027e42dd15849c52c38f48d79c675214eb325d93370b86baa3946394daa8599d6e498b65032e46aecf2f81d991b288860ab8e9d04b9e18c8e47727d1161982032be2c06c47dee8d730b150825a4bb362bacc7664f8d3c6c921b3a33bf991d03dc3f5d618807f13d353f443302ef313ec4851b22a019ac380c9c93cc64151a6e079f8c90c2a52def7921ed5bf454f0048332839c17f1ef8342bbfe823a01c84830b491e49b61fa3322949cfb28c42eb6effc5a2add8580f722ba0f763da01bc275a34365c5e041a43fcf7155dd5ceb83fa4bbe84d39139992860b748b8685a2282a131e566d4fd6ec91e28e7c815c756d81b34d22609a3d6d53516521ab1872c1bf1bb11e68dedac4dded2c91ce50581a5282794030914463907706105382af660d658b2196bd6b3ebf80d80f498186ba62acf52f524c96706d0090d8d2dafc9a6a20f563c0cc3a96384050d94a58404c8106fbf08754329b4b5df617ff104d162abf0eb87ee41a8b89d5905c31d83f44cb729f2d835fa69c6206557c6fae67048a5554a7596641fffb8731c3744e33ef0e7e5a5fe64796cc9a900ea4283ea8dca79133b1e12b97c9c5a883bf6af95ca030d18c60609882987626fbb489dd7032f74fbcf779985570daff3d933f5aa5eb0e0334efab12850452674a422608caa245659604b689162f2c2b6b25112c09ef1f906ec5ddf6840e21a853918946021a82b224bcabae6c839c514ac838f6b7018b9c19fe6f31cf62952971ae44909c9186d8905c2a263489b8cda9bf689d546843f235ca9a4f11959ccd9f138d993212fc74c4be1a07c08ca48717f20ec6cf1dc4bbc8833001a7dfaedddd7ccbb1f8b0b352e383bf01ad91832db952bc99b1305c39fa0c0a9030def4c6c89af8e3fc8c80fc925d69c04bdcb4e29597d8f6671eb2d5cb1f5a9802af0f537c3f9f8c79d9db95b13863ee9569dcea40b18d449380ee4d0c79d505cd2d158c8d9d70ac1fc9fde85101bfbc80705f77c5d7947914dd4b8460bf7805af55ee516bc3bd3018438349773cddf26e351fd51c41299a79948e4b0fbc264d89aba52d2568d28abb91a21fee224bd0298bc0228cd0af416292324a43f6d97110fd72844f9534927e06457c0d9eb775ef6d3ca8d973f48bb3db4b1fe2d05b4e0f74b2ca5b4762dce6b191a018ab80e6a43700d59b367c790e02f0d4107afba8bfd4df842bfaf2e2ae5b239a9d31fec8b74a12253c03a05ac8179b29c6495521fd9d073ca633592c1e95e052807022be320332b4bd974ae1c8009540dee4c1d10130af18a73438405862a9f482c82200cd3354ea3aade857226db3ea861d42229ecd5347a4a43e738d43fbcfe40a2e52e5ca4e311dd11ed4a40c78085e8919a0d533185a0574c974c0ee778147a9141336c382bea0576ad1003038ec45ab93839fa28035e68e17d408c4390f162c0c94aec4c125e4d7f4de06a848f500725d203dd9715e7c278fab86787db9df6c5a53989b4c3cfdc8f2cbafcc49925fe7835985c877fcca9b832b93212931abbcd9457061740736b7df41a8c1ec8b9c1e94b2996f12f61599d11e80cc9df699c7b6f6dc23097906c07707e44ef79224eb4d074b4c07e886e4ad8d8f04d3c0ab46fa00f817c645da266e8cd6f27f229390d1e069a4a81debec055448fba1f3bb1b19d883b057b91179610486b4ef4e702fa950d50934f82db6ae9bbec8e86f814c2491bdb5c183d9a10eed552f7c522f00ca913777213f96c106e4a311fa643378ccc6722214f0f6c09e40ad5b2980004627b65250a30882427cbd6df4d5d88de5a5bc91305dc3cd48739310a358a09be63183b044e18f171d00181d31722a8e5a80dd6f6de869013e0ccc820bf44649d663fbbc034700a21bf5fe781be78cf12a0646d5d39cffa9ce957208782c550797299f6fb083421d7dc24011d69a58ce153d5be669db15e9267a6871e873352dcc5c4cda62fbfb17705f0e7c535280eb9b22e15aebea6b9b6b841c223b36c0179c295a875b9cb1c17923698a6da1bacca4810add8c0c9267acbf44bf5615913c87a3aa3025eab2638aeb543e8a605783d16ef02e78d43b59d7a05e7a457405e98d339a1fdde6c2479456044f31654aa5fa0caaa21ac129501ce0bddae97479e897fe46fb4a190c9532eea97a42d5866f2d7457a4dd6498d9d0a9156aaf2ba2043009892c10b9353da1f08b3b332484ba365a33bb7b2e07e318a4c8f17c7a417a2e356090d8eece433da973888a77b6d60d0686136e078901839acc73a0942f2fa4785c9d75601b36352e2ca0e6bb59c335b3bda968ebd672ff4753c02edc4d590248b43e85abbdd824de9f5dc10c300ab836cc5975324def544f157aee98af1092a4126ca730792e9af694c9d9ae5088be9b5aec2917deee6d2007161b2ae088346369af90e43912b1c06a96296c997c54a7d1b98c1a1256b1eb0dafd27cd6e2290dbd583af06ea190a459351887956eec9dd9882bd7ae6ad5841629797ce87480e5344f8797edb06048c20c2afccaf4857a34d5f05d652b82328153339e1c476c136779f64920b0b9d0eaa4b0b853ec7ff6cd5854dd7d97d104a34b656fea074c38cbb937b1ec46105645e3cdfeb3513671cad91f51a3dd601bcc5889fb51a19a2a200da7458a9cce2bc6210b4f3cad3eb3e97ffcafd53514756db154d1606b91bdd8461eaff950318c0a9aeee190c03c3715c44089966270cc869bb3772523b9e8a16033f3ca4ca4d4183af00e43b69847ac84e93d226e70838be166c2f6511c893b31b91813b88dc966512bd6f0fb3495edec0b3b177af39c3c49781742954dc2db757b7009d2b93966236162936f64724089db94ca4903a05b6e1881dd30c41bb2307deadeb48f8049e5d9e60594ba9040c5729644c2808e4de45f2b2dcf7268f8670ec9fe502760554647c6344acf7cbb08745bc1486c6886ff39644916a1cb39831cdde6dddbd977a333d6795c2616078e9cea2878c2b0c61ae0d73ef891785815c30eeae20c32cb583d3af0a06889d7095246ce315649e08aa826aec3c660ce150761cd2632671461271c92d5161c098c27159f15c4c1dbc06ff2032770b783ddf065627d024b61ef713d17584e9694f5a57b8390943670679bed392555a37ac2e0254c19497f4e0ade3c75f188e7d81895b15eb7eda4764902a74b901ee76572a9f07bb5a47ed988e80ae8d7ff22f77247bb07f7b5d907d56dfddb8e5e90e7aacd41d37a4b6a696ebd3eddd42d7713efcdc0af9a503c0fc129058c66e569b29544e6c54d5e87f821da94cfd1991841a7e2f7889ec0a29ff320e913563285032a53685ab9bf1c4df6d6d18d9033d5090294069b35f88f640b128ea39bf04862d6bd6273306e5b0b8aa66f743f93186761358ad3c662c61bf8251ff163512c389de3ad938f1644d2bbeaa2cd2c53178439604584a58702c6d0212b71d2be80e75cfb50cafc9d56581f2fea81f160fa0d3a70c12dbf4506a081fca37880e0574ccf89eeef09e57c9e67b96eb64df494ed4316d4d3fc5d061e150d8bba96abed1dd5603c552e44a0475a1b43e16f4705d84739151ca07798d310c236fd91ec04b9fcc1c61f1e0b10cb816bc67079ba2127b2f9a88493feddef8332de79585339dfdaf34a05f03f528465e7fbfd94525a396cca54a464b3e79fa817416b7506e5ff45d2dccabb93318f9cc12eea91e7c6e86efeddc2c9c5f21f259666861c43be4e9b7b14824c9ad485d5847cfd672504a45501650b9b9924ad029a33a2a4e859603c5d08290e26392cf6e124eca9c6cf5f66942e379277dfc3ecfcc1e52195de72f13d5f0e5418a6b2c518a7cfd792f01a78f371e5fa6bb661ba90519e94e5d7c65cc78eb1e304d89333f47bb637402d0c0b7d1ab2e20e61fd38094d43a4b03891b75a0a1cc57256be9c1f182c4c0f5ac3d06e0e84212161938a1a513a524f97445d81a5c4705388d46c68e5a7a1398b4532a095d40d85ad2859693126303a8fd0c4189b87480c8601fd2538910c10bc9c90e5e621d6ee63fac10aad455b4dd918997a585740d286227475c6b09fd85ea32f653473a23959601539981ab30813047d003e99538d8be7849b5e0f83150856079647443ce8fc42232c6a316432b65cae7822747720db95e777319dea8328ca0a67856405b832a6d519ecd74b5d931e3b1ba56734dfe540d14328564c4bba26a57b2063c020d992200c4912ae0dff4b91ba11a1f3a32438c559028106d068db8080f70a90544b0e7e0016471c5f33102299535d38d15ac8a27cbd3105d11551c3172330224fae97b2a0409b10e62432ad3e085724fbb5c793c42c9821b67ebfc943f9595f6816581e36c26641da6fadd44883ed4c004ca9ca8dc44f45994ddc8caa9939cddb2bb5e7bf06ba604da92ba368311f7cf986b47211d477dc74004254342d92cbaacc915cf71270fa4bc22d0d40fb8c01dba92013ffd0a6cdc272e4462f211488dfd67496e89a31b4f5f3d6926442b53fb647ded38514ed98e87ebd23301aecb8136199e8c17b549e78b1e3889eedb950d8cc01b9916718ea20b84e8639563eaba0bf356da4748099880551427fd9eca92f1b9f75dff036f718dea6b70133171a37296af62ad95a17fd49a2c82d9fc3313328b8b011629226d72499c03e509645186931af3c8d9b1f7fda255842a3dcaf629a00ea0420272b99d35ee76db62ccff973271ae512dc18fcf624525299fe9909ac5a187e6d36659ea2db7bdd0217a3e88d5a19a6efd18c6df4e665f0fd8dbd8c614e089185495ea47670f27d780dd07dd2e92a1cab024d24023a8ea915d529b7ab323ea481f4cb666d5de8e2ad543a323fef526b90351c914e6869160e895172b96e4bdd22da696cff027f2673bfd366e8dbbe4126a6cfb638d69dd4e38ffc0d056d0592fa3e5f866dcc049e4247847338cf2be88049238f080886db31b17c72003e0ddea912ab2d89883d1e6b6b0db2b223630c48ae4040c935ca83237ab6e31c6aeb21402e91ce7ca52a902e6818a2411aaf3ec6ded56754d27b0c93c7a698581d291066f422210b60b4981aa4cbd65e255ef1469fb10958ae71266cb9b33ae811487d79ba11bef4f8bf81b86ff7fc85d5d26c52121332c168bc679ee199e851419a4dd94ccdaf869b979e62679a4ad3f85d071b58ee081f69eb1499c5ce080e09a1028f8bfdbf2fa10665b6bf3c23d720f6c7d759c4a6907dbe9242e41a50b0ea2259b6842ddc20c8352848ac80b92712144786462fb19860d1edaa9bc508ea8eb4808a45817c6a8a3849a706cc8f8d8259daf1c9b86e9b23a638d5af9db9fdc96cb153df56295cace0e6443845768e6e7e8d09490d40232db662a59a0155cf590d99a590516760e0d7e3d4aefdd8b372e73430e6d94812737ae59a1c1a6c6273c427f9944ef3b44b4a63d28e79975dc29e0890ec51e71d23b323b9de24643e290909e9dcf094177361950f8943e794e1bd76f5981d5e095c90052b49e1018118537b9050102de94fa8e08b49848032464cf20177f885337b3f403baf8cf6b688f3bd64169671e060df05e0a80c1c6f73e31a696e2c1264132467e111137ac01b7ad33ff63f9ffe4d0ebd5b084f9d030dd2c230ad0e48db40e80a8fc7a8a19fe6c6bb65c0aa11f3a8084db5743ef819d104ab2117d1d310bd7031eb2a059b049397456f75b39b4c99d1f7dd40c721055e291c76c657250c4bd0e5d6a40c0a1a3e0e46be2c296d7da593d23061882ba2e5d3e1d0c12ce2845f9c2246065714746b002c8bef113fec2f412e068409d44cd5a177dc6ffc3464e1a887206f6e994eef3127d629f24dbac604e1d67b58120347eb9b4eab6bd7f85d7838cc99c255cd1ea4b7f9c92f81f29dc99079162eedad18a48eb003dd1a4c4a60494eb5bf4e609f45f453369864561eccd216ff0cbeaec17e335a51603e80e31645d89d779adf52babe3135bc832343ccf03d12ddc2a2f7107a372beacd3b82dc2eee9cd21b57aed4c295577a71e594deb8b8d23a626d75c3fd7a62d04b28fbba05c4b66570e82f193c74570607fd2d8343bf64e2a1d37153063d507aacb9fd67e97da8a70702de2cb4a4e48a5e29147a177f500eda7ff42e98b1494dc3b74c6dd1af28aedfe46ec781fffcae5f3104d947ebbaf59b67b81c4786b7ff92304d5e77334a19585cce2c525b51d42b52e26ee561971352a07ae03389f322b96a3b11dbdff8ac953eb5138920b837490fbfdac1bdfa5fb18cc1599c6a3f1afcf98bcd7b62023b8621cbd0124e5ab011fe4c4cdb1f74093d958de8cf901a3bf48cbdeb9abbd048cce08cfd9143e65462604d5f42c848f7fc892f90f6185bfc29b2abe834680b6ebd1d97dda182db4d56a1256e35fee45ca520eca7b9b25543f5d987b3c9b29323d3d911c5bb948cccf2b3c58e9e5c1d0d552e88c63021b19591384fef71e10d635d8ca1f4a61629a6d8a6ab1c205fc67ad59552ce3ab05797672ee918475930c794d57df473cbb2bb2468ed7db9917b27bcd5cb7dce5c08230aeef3da637ac54c9d1df18a2dcd22fa40c6d4c41f307a39448b68602e96b9e7216c935c35f79ec46a05999d7c87c5f13c83fbe6f5845ef2445e17d7a12157d7f29e34f04e982f056c430986c6e3e64597e8aea4a2de09f776c9e163e67e4e27dabc8932b08dc74092af543674e92d5be1f3663dc2cedf79e0a7416bab77fe0cdd4b4d61a36fdf2f7df4a54f9ffbe6b3ef3ef9eeb3cff481c46bffbf601627514f3601fd29c3b7d0dde4f2ca1ab59082efd72b6531c44c079f590f7d0359243d2f623060476bd4375c0e819eee452d1ea25d44b54b33265d20c71c06505d5c3276a713a74bc6d635c2e992713a1b395c684c074f0e978cab6b8bdba53174fb72b9dcb80e865c2e19abdba119920eae138bc9eb8a26a334aea0d104c5595d57d111194fa72f39c2ca3336e4315397bd2c86e980b6a4d3a851963c70c622519263ae72b7ae69f2471ab22584af7ffda4edd0c9319328318da413cd9e89f353570745a8c0b4a906e1295407c645c2da049201a5b8108906d9c1974ad94493c021b725023b5dfc8504ac496810e6473912aed045061e9e98841f3259d3163b72a5d02c6900bfa2ed2cf02211d2415ee2a6e248d5b3e71ba789b3e448268b3ac063fcf69ad99365aa62477880f0bd90daed49c35a29b4c42c08e90d187f7b070668e6ec8e844834a43ba1c6169fab4e0a25b8f1034f7ca791db1b88a1d4abed6d30fc23d5101d0857c6a058e1834e5608ada28551004100a505b8f858aafe9e892086086211230a51448842d488ce19712a4ceecd65570f25921a905f02305c4db3c4dd564fd41405d688b17f47582aefcba3c4063eea76cacad41beda0cc88c9967924c72721942a86722ec9806b84d291fa54276b030d08df15718cb26a4fd1588255c041aa317e29396699468b12478a191ba9926c0430abb04c2bd15b8111f32df2981fbba2399322761d5aca6534b3cde0d058c9354b96240961bac843778d6ca47bd646f44e26c4a5bf2d3496fb0d45ac3aa15a2e0156cccf2dd4cde7f53ee6178804a487038ac7168a54209c15b5c55973f38c214efe8d58cfb9e0e8a60ae8e4f9eea4dcf2c5150a6f3878cd4db7f353183c1e4c1ecf4000451d1115088048c0c1f30a4e2d5c013bd45a0d8724cacca30ca191365a6a91ed166a12d9bd03e308c1078d08ef11bbec6a7c9108e34c7a966517e54db3abe48db3a784f2cc8d991b3abb59a6de563b73e3e264b2db9bfdddccda6718b78fd037aeb16bc986966c684ca47122bd69292485b286312de34fee451c78834e7f6937cb64b736bb0d1de3b687b898ad063bbedc3e22cbd725ee5ee330e6a2bedc06e5991bdadacbd9d768336edb9ba0464b15db47e8ec978bb9327689ab3337b4bd75cc6d203158bef206a2eddf774dbd8b8452ec9a25474c31670672e30549280506af1876cced1a8daf71db87d6b699f7f53a3999faa841b79f353c6abec7366f24b45fee812e196c5ed7b55d98835ae336d6fb1d7b3f18d1f32a48a480bf4882e8fb0c8a9edfa82843cfabbc5668e9dd61414d7d681aa965b64f2cef1af40ea1b2a7d3f88bdd2665eaef27e8f395087cfb7a0c1b81720cce36bfcf63f61ab7f1df273055a0dee61a42703df6f9ca69d77e5fb9ed43d73cba3e6f8ffd72a3ebf8f70f34ba72cc8b9d3dceb6721b9fb27fb7c7bed7720d21f8669aa9ede7a5bf2c33fdca32d9ef399aa9ef27b76ba6997aca9810f037bf1a99466a9563bf79d3c8539469a4de8e7dde21b62154f2865be566ecee7ca5ec357f43a03111f30eb1edeb6f9eb1db34526f79b3404feceeb03e493d87a879c6eede669c37761aa92f96e564b13e3fa769ba0c230c2d2f1196b6c7380b5fde1d96cae5ccaebd661c46c4768c9bd841dc3e36293e46c4f6c74ecb38a82f5b42979af61037230e4dbb4ade9488cdfa3bd436cb58af3156de355a626ed34c4e067b1da2d2f62ef15dec2e11be32a1a289aec75e71de351a6f1ffafec59694877ef315e25ec4317776ea9843c18d89da66194c08f8fa7a97b8fd72da372e46abd1d8dff6a127e820eefae4f0b5b34cebae37418d9eb7f572f618b77d68ec988bb17962f5c6dcfc629737105d3f2dcb2516a191d03ef4fba39366eaa9c43be38c33ced031210d0f24d68064e60433bcb082195e58010a949c9d223d3e3d3d6bf0e9e942cff543869efad3d3b3861c3d8514e9f1e9e9e9e9b9d620a4e7870c3df5a76707cb8110de454a929465e0a79aadadb7e81630d4f59bc2d4dbd8c5e9f2c24895835afa505bc3c2d17b365123b6014bd308a48f865946fa44e585b11abefa9e4d48e95335cc54cf15f0ae3b3d5aaea1eebc1fe0d5b0ead1f175e7cd9c2a60cea37630d4923455ab5a49a28cae837a7a3d21882c94521445d1f82656927839e2ab1378432232ca188910c9a1a89fecc3272a2b69492bafbc242669263d5d14bb2cd8885d7c2b9105661d3abace927825b23c3740ed0365e3bd8aaf6ba7eb8a0e17da0285e85851d21121c64b119eba016fd8c5c843663bc5ec328cb8563628e69949f02c42af80a1b634a8a58179b66d82c60f1e01b5d305de33c94c3271609bc0455e8e27e0bd25d1f11b17d15b929984dac1456cd898c1c374abd66c7981e784d4837a067989cfaaaa9a311fe38047308bbcd32ce0caf37e9845602a0dab195aa260d6745e8e30f01e693a7a5444c7479e972316e1a19a0e8edd9b3c24714384039623a076b44cac12476bb5246ae7fd20dd46cd92bc55cd17a9903a74acac74dd2f12614ce9cc8c8697080cf70cb7a1ccbcfc64628422f0e81899142147c77861f6b61ba021f59d000d716808298aa2de8d79395a0571da3448953eb56fdcb27d8b66fcc669dc8b754bd5da34b20a6a68a9546e777ad2693b9d2820dafae49ece63d28004e0d0b3bbcab35faf2a587b9b28abe4cdc33dcd5bf494bcb1b66550a6f27b38b0bcf16bb9f93d1c366f914853779116a704104dff2e8fa8448d86f1eea07ec49c58c407ea401c257ee8e91b480dfd12f1bd3bc603026b2cca9aa28857add0f79e54557faf3a0f2b4b6a127abeb6587f79d35715f7289552be57797aefd48c48d3d8c527eaf4de8b70dad2e58310e619abe713f0531ec2f724096e41e730e79c73bef7e69c73ce2c85f7264a4a4aede9f349aff1cd582d71414d93459293cebf696619c8c052010318c018c42006668862aa431410ce48e37befbdf7a438450ad2388161af900d136dd885811a67104218218411c29841f1c1b7cda0568c82026fc90367a4d3ce0805de78de503bd3868202cf89324144fabc203ef8de7ba28908d40b263026302630e6a3135a182584786e2be899459e98103ef85e10f80829173c6a84728272820a5231ca09ca09ca0918442103ea0554901a638c11c60863ccf3c268244a29a59cc09032ca28a59451ca18658c32529a89639cce98cec060502db02ad5c4a56cf0369d31cd894e534629659432c628a59cea20a59452cacab2e29c9224eb4b42c7cb1951480838d26686dad1720a75079d9244a910524ba754a452bc0235497f94034a38a024ceb7ad6841a40591e83590d34aa51e17a27eb2855244a0006a98e70856f49465e647b0a265e46dece80baca483be39a7cb94b38e671dbe071facad3453dbd84958c0f0d187f9809bbf3ca0ca373a4992248a521245258e92a13ed11eb0d443ece40d4cf5b4fc086941942f3421460f9cfc58431429e8708326fcdcfc600b2a9883175b08630649645084285a50818d14842107203c61040c664499220bf3074fb2308316517a8a10c68b8217cec8c20a5dc0c1d90116be78620524fc00073dd011028646c6176180420c8810210c5f08518155f2640a65e84110c480c50e164f602185323cb982064cb8c2dbe248199880831b30b450e2c51670f08639344109426860851fb5460a3ec0c5188410e40945e829a38b0d4031c51a74a4608513a4a8c20f214ab8d8c20b70c8e289345041052068820b28b088c30f6c6e5ea6f0034b418e2d8e20210c33a008c3183a3f1e179cd003c69017b8c0081852a8196204214fc0c2063ef0c21551d842147488029132c210031c2e1e941f3310b1810f841889d2a4006110830e19be8005193b5bfc18438c2144f1049f2148410b1b0c810c2536084216365330f961630947004212317edce0062a5e540021959d0d1d7ffd6e5c420fcfcb11bb18e7e10b4f6ca1cae841838e918a62f33695228a9642c7f8f2e68d1406de37347c376227f3bce979a17cbac0f02f763051dac1f031c659832131c62012c1a20676881119c41e1c3f33d249a441016c8620ca4124b2e94da5219216988aba1861133dd8d427d209a5a96cd0c30d18b10c78ca448410059e3ee336e539611003f76ada75655ade339bc6327b81b8cc6e1876fd727b46df5fdcb5d89ed96c0faaf7cca6efbdb42560c4cccba60941baf40181304ab3af35e3e1e0e561f3f5bb7fe868e99ba607d38e356abf2b6f26703009d76810b7a92538e5babea588523695d0752c61f8572622fbfd758be5984cbabd0ee2f6fd7b052ee91707021dffdeebd2b3db636e748dae1c838fe57b616ee383720d2118e72bcb6cbfee9567248fcdd7265209e114fbebf5e2ec7565f7f69786edf59be58d2f2c65d9af4b3ab97ce2647bcaebc649a0eb1828efec121775ca37f92476d2a55c7196324e92a4bf2b4998db17c6dc757c7c177971bb9e3e0349f692322cdf83328c8b3ae376cd339247ca7e71f7183fe3626ebeb019c9835df9ee19c9f363c98f1c267024cf0b12e9b3652e983ef4f63ae786e58dfdb2ec2dfb7b6b0ffa6367f1e1b4d65ad82dec1734379cad5735c338abd6dd51c9ecf3e63daa9f33e5353ef30ee163c7bfd6a7fd3cce5b09ac5130d226a8d1f6f897db58df1edb6540b7df40767efede45620edf9a404a0570ae2104cf63ec20d0f6793cda6e8f5979b4e51e4f8faecb58df7e65ebdbad2d4f7b7cd0adfd84533686e194e32c937250965139b6184bb92a5865547f8f6b84b2dface60d33ec18c620ec38bbd9dd517d627982f2bef8ca6ace69550771db07869dc616d1310a5ce7b0671bb76f602cdb9e6d79fbf573a06b5cdd2ee268c4b16d7f7702357aa45de67e5ecb35a2c0f733cfadc2b075632aeb2e12c46d9a49f1dfc596758c61347e89aeed34360cbb080b7d3a2805dfb2f0ad1e2ad52f07c25240bf55b657e1644079c66e7b3b70be9ec265c7b8a8356e873285b96ddd04351a742bf0f468fbf5ed16f381fd6abf38192cdfc3cb03f40cc43d5d6d9a99711b88b646d865eef1b17bfc9b27acac5cfd731781848f90d47e00fad6f47cf6807833e5f336f469d1992deec213cfd738a7a669756ab787d1a4ea13db6afd3c4c0d61fb89af8b8bda8a011d3e08c4c426973d04cc146e8ab2d710875f8e39b95ab93a5fbdce5bdb55feaeb5ec7695ab6c36f4f9514ce8f330a1bcdfe7fd3ccc9d31cb7b4e6e66d3a0bb4811b7a306e51869c4f9bc6dfc0d4123aa6c1f7de65de3ef0e11facc54e65efbc57eb989bdd6fa3b310c671e35f51808040281ac5787b15e65d9ccaa57f5d6ccf8e5a873fe5d0a6cc7735e2544a3aaaed53c9aafb78e5de346f3a06bd735338f1a3d0fbaa5af39e7274c36273782113de535fadd6bad5feda23ce7eb6bf41bc5d8cfc3d83c4172ba3d60b56dfb2ad710826d9ed9b6cf2cb3cd5fdcb65b3d26048c51c93668bc7e8ef2aca12168580e5bab61c7b7b5de1df413db635aded5d638a955679c8fd569aeac578e5ede1d94c6b7a6ebb30784850888aff533b26c355e6f238be8f5f8fda0f21a7af65aeb2f771fe230ace61a31c618e38a319652b6574e4b794a7eb113d9d77a189b95806768150cbfe699ad465f2eea1007758883da4220ea37ce1e02ea6b702f7655d3516fab63f62ae254385b2b866197b5f5db6dae0f894ee32e5187ee372c3a8dd3b817a9a8a86417f47a18d04de128cdbbc645562162a5ad3f8b93a9f0c2d4d4575ceb61ae0a931d746b71cd231e9af67a18edaab8568b6b754af3c5ee22ab3a2db767b47de5f6a6eb8559fb5a35acee4d5a5986beaae82b7b6dcfe86a29d5daabe5463cb2dbbf1c1626b35abc31d643b71c3c43bf7b5d1aa71d7397f5d043d9b279c4e3bab587b9327e39b2bf5bcd5a8dfeddbe46d7dc570e1fc469b71ca66d7966d355addca61573231ed7f15f0e9cf5757c982bd769e5aed19ab5fa1a09619f651ef8f5a318fc7a189cf1cb71bd66fc72589c4730d875f306a2abbfd75a5d22859fd1ef13b78dd06f0a29318d8c6343d47d9538500ee16dc32ef1697b5f64c1d4051d26cbd79ed192e5246e66d3566b59a461d8553491246997aebc6b885468a468d8b363bf1ebab45d82a9d1786ffa025da00b84f308f451cc767c980dc7e0830e8341b9e6c21ee236e8ef15c0720d2138fbf5493ac6dd7b298fb64b078db6e363a32df3b00f1dc6661cfa7698507eb1dbf06b34ce7b06cb7e339665a8e32ca3726c66cbf2cca6a94b05bb746354720dd1af633452b45f9a48d3302ec3300c7a764cbba40c746197c6ed19ad1d44aff2fa4b36b6d061b287f2a6b75fb946bb4889d3f0f5a7a2a2f2eba398ecf83059c6b9465f791483fd3a0ca692f7cc764999c6ed990db467f6a6310c3a96300c4f0e4be171af522f0a6da2ba5dbacadd2eac71a11017f5c6ed943cb3ed77616af408f411fef61a0dcaa3d0ef6bf4c5812e7117bc1ccc75e9212ee6c22e7de36040bf8eb918d0955dcb30bb81683bc23e8ab90e3acc9541b946637914231d3b8c94612c6f355a0246cc6c4f096d215d1bb78fd05b880249d9be4a9c8cf4a8b37c8f310cc3b29477cd129d65dcd62376f692acb5d662d8411496f77b483b423f899bb9a1af6fdcbe317343c35f93f414e9a12c3b487a487a4a95a4d0251a296f8a2ee5ad627f6dc7b463879788eb9608fc7b9b49788bf4fe48cb31385f29fbc66dfbf70950bf778915c82e61b7dcb61dcb234dfac58db4e35fd67e639dd96f91ceaeb391768fd0d76fde47b8489a5ddcbebee51a42f0953f655986facd32a06718b7af3c8365976e0c28d3c83452a75c94a74a2874292574e935245dbf3249caae743d0b49f594746557ca24297f521445d9d787f1ee33aefeba8ea8af2fdad8a624819ebd82429bc4690771d837eebaa125c90729082dbd89140aafb87d4357a791929b092deb17186a2925d5414b5256eeb47d3634dd349d443496229195a78c6f1ca1a7532178a072948240513a5f455f5594a251324d52bea1be165cbd4e4e7afc9c95e2b68843fed37b79f7654c338dddcc999beaa9e794d4e5cd40ec0b92e9ef0e2113b3e080120e2891765f5b97126bba834731d5b16315fda65a7a2e51a4a7f7e834518c45d714b784cbcc26a672ca4b40bd459a46d2f44a4080e69c849632a6f15a66220e79f924a2c88b441366cf6566335b22540c586cb01c2c67079f1d7c5470b01d4c870728b01c2c076bc203140310e300470e70e4e588e7c106cbc19a0c408c39e7018e0c400cec888e47622729279a076ce70047b09d23606c09037eb01d6c098bcd136a8fc822259df2a699d4e6b8549c8bfc863baa43ce47ec4820d23255550447032381d8519306fe47ec688a882c524f7a97c8d11df412a5d37a7c2d42b6c0972322cb9b14068c88dde4232e318b9094622c12edb848a007f5eab6aaaa47029196998777c73ce4a00f7452f827296ae29ea414454d0ace494d93ea3a4b867c026f6c470610c934c9699a13899452ca27f0a69cc800c9eca9efc69692bc9d22248e29e00d837481f7e341024e09e1914faf13570418784ed008b4e1463ca4a60e8dc42e1e89d8c120b19b373a4e5fe0fd7878e004df94357a14032f2ff37e8d7e51d229f4d08564337d8137d54922ddc012fdd013137ac250cbaa8a008ab4b5b55415cd17c11f95a78992f20cfa0a423d6fe52db1130c358cf16f7abc949144c8bb44bcd1539aed44a74c6397e783620091f2795818d8138d39c176624709c13b4cdca99fc822a91a4df9f8505062173133e8787879d8d012d413477dc1c3cdcb118ff1503e91058aca12260f2a4b8865e878ca8910bc838699b6501b1a521e6e00a061a6362f47b402533d0370d2a307c0138516eca3238938411d4f303d4d623e0a3ee0817e51f48b020f70780411bbf807a7f4aac7d71eb205bec82751a008d82376f1912542fd747ac8164c2916e9d0c35b4a250c9c1a3e067e7e8a9234dd1dd4c64ea292863ac058ca4b10ca0a3e79e195c81223aec4a8f5d9fa578351ee551144d3d08f891178f428e6feaad775ea5726c17498a7e92d275f23cc7c37c60b53ab7b3ae879faf4e4a29ee2cdd6e5f120a49693875cd4f0f2b097db304fcbcc4cbfa77e3309a653d6dd41ddba3b2e8c84a999c225e0cb414f33a9201a6aa899188152f34888e9d4a9bb837a8cb18abae2369026746503ab5402eab98168788bc3288008e0504075cc0f22a0e6c2690e165072011250c08a1128e9801544ecd08092192b24a0640320b0c2043e9418f120f0388181256583770f131813186f0263ce39a784841ae33bc27befbdf79e9473ce199350a34f08f47b3189910d9fe8e843bf07440afdce6d88061a0aeb90ebebc1d297e31dd6189d18a1c38797435a7944ec82d04fea7839de7da0b1cb2398e1902ca15093a8225d02082384104698449d1857ec5b6a08f3e52cb5af90b352d7b08e5fadbb03d757155718ad4d97c82efb5b75765d8b83da2e715d0920361adf4616ebb65aaba105e9d4f0f2a01527a134ef94335f713b085d2500440363d7b51052d7322807a1a757b8ab8b5e8e09e32e8ec66e9a6e39cc6db19b6a785497e42b1a7aa2a8298879a74de87e7ac566855002dfd32602dfb2e7e5d24917bf6031c0ebacfe96382edff20804be6592077ccb250ef89639417c4b1dfdfe80f88e3d3f7c479f067cc71f1ddfd2a6e55bdeb03c067cc7243e7cc7250bf88e390af88e3a09f88e3b2bdfd189a4e383806ff87380ef6893e33bdef4f01d8918e03b1629c0863902f8863a70073a813c38de8345fe0d717878effdd8f87e3e2359633f27fa61a943bf954e3fea889cf7d29340de54471a81979c8067001c4975de14bbe48d4510c85bf407e47d07e004919d5020f2a6f887bcb1a801798bae23efb764960c8f483ab28532206f8a7dc81b8b1690b7e80ac8fb5d02f24aa608c89be203e48d4539f216bd87bc6f80bcbb02e458645ab28223ef95aecbbb3b01f2be6800798bb000f2c6376c6800f2a638e78d455cdea23feff39077b7c3e47364050079af7436f2ee3ecafba21a798b686450a6188b44798bfe4e25efcee2f6bcd1d6cb24225b82205942fb137f4192f2f83924b22ca1043c237e46a1f2f829e401a1f2336fde0f2099c2850ee2268d6b08c1a1e38b4434240a65ea888d067153a77019f75e02b6f4e9d1a40e618d7b3a6a1157867e57e1c2a0dfdf43c09664680c75caf68c7b128716ca536c99baf0350e679e9779235b885812f7c45f90dc7bfceb9a6e8fa7efbda0c62fd8c4c1c199384e9c3871e2c489138988444447474747474767b29138e26d8ad814b1296253c4a6884d91253b4bf012d1922f59e223a99595aefb45a238f9dce4e4504772a82339d4911cea484e15f8fd7ac5a1b2088f7e114e27144f94884c7a4b3a3a4a4947f289d3662ed9d3121da525525fdc9e7c74fca5aad8d411a8dfbb396f68c14f7791953a9c92ca53489717c8bc794122795680c00a04d6480a0716262660f8282384d4ce0b12195be8cb0ee4829e9bd3f40adacb18e3bbb186c298034806912c90388f0f8db4450ace7e2f46a337e8da31ecf35806d9677bed2e125ea05fa0cf8340df2e8a1de896b37e390c04b29799bfb7f317847da399b1d6c334d2885114230a78b09a521a4a696866ec8c9db1344418866f65697654292cb7024f747b510a37634769c47f76d3e87bed4a1a3a63672c0d9db194ced8197b4412343203b151e3c28c06dd624993b25709db6a448173bdfdbd334654ee659708cb386f2dcb5ca4dd366a43d8922489c6e9c42295d37887c09732c67edd0d0b9165afdc9ed1f5dd18ed77741df45af78c1e5d590361976c7d3726bb44adc4dd5f28e0a1d6eb960229cf2e61f5c25b016a2f2ecbf2cca66bcd3229d8a653f27c9791c63d8687c04384f0c56cb5155feb52b5795f8c626cd9ce4a19b7675ebcefa61cbfa6fc72a0140ebbc6ed4edf7befbd516f114ee1a0166178bb79cf6cdb752fc6f7a06b573c2a7fa1edfbba5b51c938254b1c394fa877b7fd9d26912d5b8ef2d5256a94090704c979a15ef3626141e9bb3b6692792476f3c84c2271ecc86e950147bd3b3d8f5c4165dc4c42058c46700f97d8d1e32c9bda2b0f08c4832f90e5c16e7acc1edf0fdae3f5d3c27e39f079c19d8608df9c0a3e2fe8f8075d9cc07b1e995c4c9d29051d3f914c224c2bde0ff811f4f8e9041d27163a42612e41c7a984b944c7a944c7087a96655996657f57cbefe5006518bbaead56457bd0103b9e0a24d648f3128152518e502a72acf41ef5fcf4892caf85f2cc2e96e8b993339b4496c785911c3da78e9e93870b2362d07b42d17367cf277a5e922f26ea67eb94efbd77f913bbd9e9297a39261095de97f17aaf662f76a3229ee81705365ca16fdecdcdcd0d8d79de5051f07c35e3c10628b17b3a47cfcf9c3a68996d22cbdc58f76450604d3f2e82a033938c515fdeb465a296629b44cf57f81e35a78505969af89172f4cc019e8124444f69899edfd21129899ef29a622e91385e223755f45c92671289638e81df0bfc9e3db347b6cc9d1d1e8963c68fa669fe44962868d0f3d2912b624b68470a12591e939e309248a1a7fe918a409f9e287a4b38d64e19a2d05ba202eb498a3a96ece45c1159e09331f49e59e8c905bd67133d6d744c1ed9023fe79cefa41ae06efee8791db19b33c0f3d30d59d824540e55fafc4badd1564fc8d1d6542b8a22827b50d945062184f509e652547d7579774c15555914e68d270e4b1c455033f02803eff636b3e065534dd14c6d5923ea535312185199be4426b8c7945da8fc7bb1344e32a8d229a594d2f724a7c4a3e42012d51b9165c320621729a5d3bb9c2495efd373d1113b26625703fc6332c1d5f7fb7994523a4d7f8fbee95554adb0ae64db354d7bcaabc6ad70dd11308c96a7c8fe6e4aee62a76526e0cb3c3ca2e15999885d7d72c03e2613f0bc7cf68805deef07f4a8f2f81f91a5be1fa48e5755bd8b2c34444f79e81a17d2429aa6a5a43c140aa5845e8353e2a5ac84ee0e1a9a267a756144a2bf3b04a6c14d2de2464258d7ae3d9d817b958c0413d25d248e4899814397077debd89182c9c0fbfdfc882cdbe3743a4dc75ec0a12c63df2c4b39ed4f245b2e0571d9b3cc02c945628c9b7e386e242f001c2b746c5e26474fcf759165b21eef8ea9b22ceb46ece24f307595652835513f98a34570c10df48637b2c5858aa20e8923be1f9a0448ac914060ac4064d899363cf0391224b2d8cc1b9c245764318710f9d1f18112c5c7c707ca0c326fa6cdceccd17166d44756b5c56e64651e515bb30814e9237f224b0a9189636452115b9e1b7664942e74fcb4b12aaa27b2c4cf41472654a56c8d5626babc0c6563a8fcf216bb99c9c78f2aea3678aaaa932d41220f13254f74fc4b59690962719224e1b181c91178a02b4a4e1628868e8f36380925763f91050a51e5197144d8453773a8276a8a7e20fd2efdf48b92e76555f6c313f4ce1a7ee732620777d0352c27e437b705d0d1fb7eb8f06754d9d9c667400cc3b0d3d861d8df85f0e580c7e069a5735434a2b5417ad7d0524f85530c27801541283758616345902aa25411e55bca68e92a6daca8ae929df1e5789434e94ad949d2955a6aea5a596ad9eaf2a8d55a9787aed6d6cb43deaa28f56a24948e60595cf772bc9f4a1cf1bdea35be2dcb3ab4aad31909d32981e13d6ec39b36a19424499251ba7e304b124e73a2c27b1bbcdca428658f0925697af3d29cc20cc96c7ade254a52b6bdb7c28115499a3c30e30e66122167c861f28425bcc00c3d3aa767be4d64036f50f8d11b9f4a5e80905294521706b8e2b946c0957e4caad8c217b0d48f491561e8fd2158d28f49155780c2a40a2b48135ba2e7379110aa60a2edca6f5481538514d30c02922aca00051f2650e8c17e4da63467acaa2a0a4bbaa0c510f43e195ae000478b17e8fd183079831198f468263c57e45c3f26563021c7c7085a98f164a59a330a38c40928af52e18ceaa63a410627b250494e38d10527c0c05571053dbf451649cf8be6902b8850afe8c1153490e254c64d6f11744105c35671adc0b93cc0a2adc90eec26224293286e105cf563d2c4660b356c31c6165ad431b66082ce1643d82207b50e5b0c11831670f8010ee9c7440b32aec0573f265a84a127147aa08515b4a082def81213b80a8d8087cc9d264982e088c1d344891bd2a02d2315132b78a0a70d139858c1853850229508fda49f939de49c167c3f505ba97d56107c24f1c95a580fef0e3ae1a93bc4fc8d99a793f341437312352b01b524652845ece2931e0a634f84127f9cc05bda50f2c6e6fd701f2f9b783fd05b4f2fe441e520ce912b3848a1914b8a528245a0c0494496e9dd3f919076666a0501c313b1b880b32205bc5fce8d8e08edca17d8312456c6f8f10107c3308671d531178f50611de376c4c1813771ded092bbc1e15e8e8b24577cd06165a63225a978e305c9eca48037d5381303f13d99539a47ac3e82238a38f0267643e28d64851b8963553ed5082347a8c079900845c121af27892991c84b962c316214234710e7481ec121508ad8759b8e7707cc8182f7ebd1461c8104ed49424e7fd31cb9f47082a9655c6217218450923edf84f3e5ed4366eae841ca9913949e2e76ea197404115f173aeee8ac40fa040dbac9932c620b945d6823a6c3bb03093bab0bafbcfe03cbd6c5c51e197f6257ff43b6c09b9b1f8806f863e40a4ba294d3f449074b31f0863716de441638a44864814722cb083ee2c81624782a28f0b665c48e27763d68885d7c107d438d5c01ef508b0b3d76b02ca2c88445b6ec318ad942cc4f9ff28fd8c54c9f538641a00d3c0c0562170f8bdc6f98e47a3ccc02e6c026500776c144959988bf38b8644a5586365216b1cb895dfca66f3c7c4e24a5188b447ff79cd0e7c45ec7686d7dbc40b617241276a3187919997dc82b7a076faa619227f07e4e9a1871041221f011a793878649e6236257861778537d1d9bee54d2b26267a3db52317ad45aeb469dda9da907fd412729cfd801ca0e5176f811224489128c0aec0a2c8910214a261e401b1dbb6ef2026f1d2b2c7b835317c6fd35a26bf2e4a6891851f4bc48e46be30d1787c42e66b26eb92a4d9c48576eebd090ded2296114bd2091a44b8776f202c7f92a0aac43b6bc787748d9c24b36dee818ad0f8e26e28836121838c618638c97125542c406a001a8b4ac9695452e952a12000000f314000028100a894542d168340be358d80714800e839a4a6e529c08a32c485114848c41c61802080000000003668668680000ad5fd2ce18c14c264737f7301a92ed2a2c5c882c41e18faf8e179ebbecc140d6202f09e8a61aa4d70bcb21858875c06d84c324316303ff9f44acca635e93b8f5263be079dad1a99f106002529834dc3346c3b59483ab5e191580b6275e1e456d3658245dbda1cbabea211ab810f88da28b98de36ce9a752f7b34b095a29f94dab4f705df821d59f203519b40d25aa53a13b39bed0e6b86bac1913eb9f10577f68cd4e2d4eb8619d171d1bdff59ad167f57fcd4019c07dbd5c079b7853da48ad31054dc3ebbca1e005db44e636c2a78c2f1219d7fa9333b6b49765c42aa770d12c4bc6488180f1791c4025308cfcf272beee10235f752b47d1097c6517613bf0a129b7efc81b3a71fb8aa1b272a049e5022e5a377de60857703e892d83482a10d27b54dc0c77d76ae441998bde745a85657e06c50091a60830fc1f9ea267951bc99f9bb8053acd9cc16832f360bf361b819a0fcacc64c4993ef91215eaf1e206ce238b73a279ef69d57d834c84b1f94c8bf037e7e9dc7effd847d3f2dcf3b82960b1fb98cf8b17fd6ec997f70a54befbd7351cf3b2be3eb1df4f66fc872b61f792b684348b0e8f158f15123f77d5f093c13cb907ec06a640e58c68129e6ee49c21e95f7d6dc39da8061bfd70c7dc11d3fc1c0811a1ccde041ab75b1c51c7da4170d4867a9548cb1bf5c8e3cf75c6593b8baa1fbea1ca345d59255cb30d06dd7e1c8c5ebef358be2c0d2f9723131e7b305b7d7a2bbf38fc58ce33beac69b7097068fd7be4d68f7e1c09e30652bcc81dcfd0588f858513d1c88c195fb8326962ecd2dfc7e41981180d4fe53806963427500b0069e5a92084ba3d21db04235040351ecef9f6c3a88ed97e50f86e01525ab093dcf92c6828fa726f8b008edb44613ac936fc688ea92e56b2cff095062bb7bda5c5b3559b9056aac4620fd828ab2afcb4d36410752c00a02090e6d8bd9d9d89903299f30ae056957709b6c1c7e359498a42ddb92138e4cd12ab2adadd430a048479467f0dad367101b1061b3e2c9c58450679a9466cbb351ef4287222e0e1d394698e3befb371d6cdde1469e40bcd27d688abfc78aaf358a0f3eb4281be31facd13c99cd837b3a86a4f3a7514a7d779edd7c48fa2e46bb69cac371f42858b0e85ee68c137b8992bbc4e8fb098d7043986e4511801d55566dbcd380ea019b586cab0ec7bb993b57f79073c9f907a2ed166c4d540e20ebab5f5932834655839c8f8711319c7b9729dc0a3b996bf5390e1c308258efe21c8d419c1f26e2698d325c61bed077dc8bb6ba033276404a2901e5dd3145ca332d1fdcce0c48292d027b302233735fdb7daa347d77de06a9d0683c311ff2dd40e32d59d2f3f5672ef64676ef1d7046e5bc1f9d5cef87be6c32817a8d30c3baeb004fa6cfd6d2f535ecc55d4567041d687de48a534925403869791ee80fb9031f2b4903eb5560be336ce02a051affc62bd9147815e05ce025291100d8b28be008b89695fa061bdcc10131b08e9b851600e021c1ab2e494cfba61ece50963620f73f47714a3c50212f097fc22a976d7766cd67bfc4fe0a3a2d1a88195d0692bb70d8e9a54990ac5cd43877d253687079b00cf436f20699f3500a85b73994da5bc66cf2b3a41e6cbc172d7338c8eab138786de3bf3dde0b29101fa51fde77a950d8709141b9e06eae917523b1fd3a1097dcef77659dca6b5944b0ddf049492252af6e447218aea7e9413c1db4650baef30fe0460416bf4d5a449916f2615e6bb5a41f97c21b48dc37aaac3a72468718b1de6a47ff35361adce6c7704f3e0fa944863fe94a1c0b20049d7ca77f83a0122d152e9ca0fb33facf32d83e3b30227464de239cb7a94895ac37b4561ff118bf8d0d45eb2cb77320a871010f1a06011e5e41df28bc6f81cb105e441f1b678dea633d4b36fc0289172efa48cd1775a26c9e02205ee355ab2f149b06a277ea959e33eceea0d9986b761a0bdef3dfb3a3d43a8bfa20ca0014e122b7141483c9a6f25fe94cd350a2ac70293e41199f68f6c53c9b7e1a6412f346013faf2a68828afc66c673a313b416fccf121412af9bf2d5d4cce0153e1abbd3be69fa9c6bd0b8432b85b2ecb3ea728ca226dc868ff21ce40e822ecee38cfa112f5971bc69a3c99c471aa2a604920a288fe9106bad82142c8a4e296be532098b96ca81bd7a182960ac58d496ed0b1b5c929e6826af4ce67f3f32087a01bf6dd6f3199f5468704ed31484f60daabc96428ceac0c3c2184d9a92ec4cf61052e97a0261e3caddf36b26d67b5aa8b1fb0f64af690d73cbf6d8d6203d86231fa28849df108bde8e239a5f6298ce40777ab685279f0d26efcc204c16d7235ea6e6dcd43bac8a54ca5fa309115f75016fc1e0ccbbc736117624e5db5d7a08d6309e5647b21fdc66a5e1e25d8bcc989e5a4f0039bd561a075004f6c784b0b2a5917a494f089ac074c19b0d841dfbd6e7f0e71a841a3a3c158300d56fc2eb094b968b0ff9887cb699a1599d83ed315417dc04019b231f1d698ded61f1ae9e3a6e0b21a286516d56fbbbd5755c714e8a0e7ca98c48f86b7922a8196c5471fda2d9d8fe40b30f4d5c5bd6226915142dfab7e12d028ab458c7b5001b0f0895355f87634503b094105c24e7189001d8c454e530f52bb7b4a80ca6a8406b89ec460d11a2f41912fc62857efb368f8db2e11b0d92a54b4a0fcf6ec0ff84ce4d4eed62464f733d8ab908ee9cf57b6b712f86fc2c9500dc3f670e9d9263bdb3b93ca83f4c6f42cd48bcfa14c9b172d9b12928193ecd625db6db5efb7a5dd5b096da3e028a91d742460d3706debc200a46713775358d5e7c97f99c81370e8b7b04a44bda068f0702b898b05657652b193b0d50fb7c834bab7b8d741ee4f489fa58ed4115f642ffb70c948a8f84a117619de864a9cbee7b9b1a2af86ce880b6c01c9b0d1d719bd5e3f026f9e6d1c3be036b344e2644ffab680dc6fc8c9b0de8793c1d044289b5d2f9ecd349b433375b9feca6af165cb50ada9e016f4f1ba8b04cb4ca8c55dfc300b44bfa87e2dcaaf491ea8e371392fe2406c681987c4dbd9379461888d9395d964f0b47ab064e61ec99c8cac054dc64839bf23eec2179621be30d78d6e25589abb9b1a359876d23d44909bde838e58233537511e3d392fdb1d285eca2e4f34f6830d8b684252ba392cd24d2f93cecd133158041073244204421dd7c8bf904825551a6c611fc89a867a2d01e640b0bce21b2c43811a5d68e1945a67c9a6f7a5295a04aec01f81fe0055cd914f4f267282dfbe7aee6bb0ab12f00a616863fdb263a6c5d0bdc6d9f0c3f33435f518361f6d2f1704a461c388c4087f905d110bf4b999f996ee53a9b51a9a7b6abed385473390ba751d97ba659ae2ad3f7509e2f632e38ad067e8f82bfcaa964150398847bd72c1bb67240ce134ebddb138182143133259080f0608069acfe3f39794b734c01040c79f5ff8784c02d03c7e647c25f4447bde892eabbccc282c3b293eae1503e42136b9b9f16c44558b6defa25e05428870036a3b6912c3138f6e99e920bda36cdba7dea68ab29e261feda454dc80339c9dbc697085cddd1518a16937b8613fb017f49eedb751bdde1aa6cb35db0e8c8bd6a2d6adb720b460512e903fdab8037400178663d6745f2d3191467df3dee20b1ba8171a0ad166b13003645d37db665e7abd5d03d932221cf3956a18b18eaef0272ffb9f5cb0bba7b1c5c5735f4c50a3f697058b15f93854438d3deb61f59bc39e3f3a011eb4c24499a995a80b1e53c9b9db97d5db26d764288bf18962ecb7990f4f57ab7e80c89fbb7fe082967586e1348d934b9b11b6201dd343c5e8835b612771cb405366281072fafc7a0f4b00b74336f03a84ba917801e0f4851611862636efe8a4da9fee7d7d014723e0872881319360866839c059ac3522d24bdfc3984fd77fa9083b0e92884a7b83f5a67976651ef51d15db2d0dcd7b57c0283b97113556049020d140948837a99c9962fd1eee57a8da5d4b1a0e8a6e2276bbb7e77e3b535acafe0e5f46a75c8cc5ebd3703189c210668dda75b4dbd63301fb901706261b91c6de2dc47d9a0bec28b6d1227c7c64e9f69d884cc2ba1ec11d8e0dd2f298eff9cbcfb2ba8031d81870842cbb2f599e327f588a9066644eaeef10981efa347010769f10b36f941c7c19628043ab1d71e46883eeb45df722126e2ba1b9ba1b68234110106627b173e6cefc1c90e8ccf028bbf4cd5b6cc71de3f3548841702e9f03064c4b1414cb13c7a43b7ae6c46efe5524845d91701d1ba5cc3ae92529eb2ea96e623ab62a6157d0b6508b84cf6a8a69b87ce72d628c8c849d1983726123882929cbfbb67815fa122834ea76a842b338143526744d49b08e44fd9e7fd7a1cf61fc9a99d52de7889c3c908669fbcbe6b11d18580dfb10ddc340a4f0d3c14e80a0e6aed8be3241bba9e2d7541c92c243f35daa7eb22b35213720309ca539012b0f789ac8799942dd71d13f1e258bf7a682438f0c65dfd21812b0ffba5ad5c1525c1dedc22241aadbb8900b197506e2e5b356df562392857a330e18b541991b5ddaa3e57d798b411daed6c51df338ff6e66e77d369b301f622b0df82076566af7613ae1d516f60a4ede1c0ad88d34462833ce164b09d3c3be149f0665c0470ce079e4672a2ecdaf2153cb10989547b89c99e3eb79b287b1266ac5ed92833ad6ff131574ca5d6dee2114afd4b3680c3ebf970c86a6e43098b2e380091b06de70a1ab239d86ef57285e1727fa12427cdcde228ad07f936f85a06d9f4714d915190a6d27864677f1aedbb894a5aa096a9fd694ab9f293d9845aab1ae1c1b8565439414c70bc4ab1ed2e39316509ff3991ab7e414c52af64adb49a61f97ab0c09623a4d80af29ab8778b8218f768591633949582631d30de5967a5f0411738e969d9b8b88f68ac148115ab612775d743318849320b4d00e809844b37ccedff2bdecb69119af93f8a5abfa0084fed753ff5b96fbc12ee7eadb7701519baee33a5caf75c4740900472a7abd408fd9921f87084ff5c46bf0235ab6058376042e0bb92105679c6ebd3f20cad413a448e6e9630003d881d55bd786d1ebed5dab4346e198abbc43b8bf2e00ecc9884b283013115c29112efafe82aac4fab5d3d77264ecc305d4a2990a039e1a8df2f272814984016d68e274cb8a2a3beefd709e8bbcaaff99509a8a75f636f5f9045f93ebd35538bb00481b6883e6243d2bb5768b314f2251c44e81091491ca4a257e7a3297603635ea8e19cfa8ffbbb7e41f54096f58ae4261064bc40d8c7ef5fe32e9ed0a649d931e61e94df75ded3e00a0743e7410fbce29c81038c1776bdb39d1fc3a22575d15100c30100e64933fcaadccce6feb802f46c9d6613c57093d40890f35992c0716673c0b4c989a5ef049d7fc5c9ccdca410f597a1aa99066f4fe9efab6c794c0ed42adc5430f896b216281e8aebaf82898fc7568ef715e03b27260a23c25e3ed81aaa13d71f97d6905511c943a6e0cb7077dfd79a81a86dcf8a03d5997b24e4b277be2b3894a4e9e7f31f25666a314070efd65109949c16e76a098f80e81a6a0c02a8491066a16a1bf20067d4d8163f7c065fe5fffe792486784b030f64ca4a09e11c148cde6036dc646c0800cfb8504a9ae13f1fa49d9c2b3e7387ddbb8b3219ccb2a06493cfe001daf2958eba92c9af1e7c2b1eefd83c4ff321a0bef6cc995b9cffcae30990f6ba04b7f4d1eda83ba8b3327b358cb5009ceb3255be7d6e8679f98617e21f464d08aa185f52b3c2c1635b16c7d3e91617679de21fbc62b62d927d4cf93aed9d9a0b8d272ec7479da98bed7ed6cffccd89d9c99e36664703bfd052b0a7e4eae670c9dfb4b9496cbafc0d8d736656e6db2a10603a8003b0150d8a76b534983252138a6dd0d2224542206d71269a9773faf769d8ae0feb3ec20ee69f20faa7d501307ca24c190148e4c8ce73f628adb6cda85a14d9a91f4b7573f2f5a62f14dc12bfc66c78240c5603d9ea710d1b7486453bf54841aa07082796ee1023d274f1141728ca66382a9fd65b70c3a090a5eab3d5fea96b2d50f3bd65e9726dc6a0213d1026402e657fb2d0670120aa180853495b9751f46f90cdf487e16cb4ccac4416023c84f76fe7e1d5f21b063ea7ac75359fb9a288927f5ad7ee3a092d212d9029b972c4a58c6d091cae79fc42fb6e117ac775e6dd75fbcd52877baf5baa5e71aae7274ccdad6229129186e849ac203197036d42e09487d4c51c5743b9821d4a5a23ec2067d969b018a88788317585125d8b4544899d341c370b5466a38a30acf401777fbc19b901d973db74dcc8659de73f77e8a009aff5ba17a0b1d3ae3d543572e6f5f6e998db7aa0749807d9ddb8f0b76a092c979aba07a2650e236e289d2e87f73c8ac94aab5bd848f54ab151355ad239a60938cd92f84db885df53ae6d60a91bba96161966957ca7f7b7af56a468a0a2711302516f1ad2b20abaf90cd1e6bec923f2476890b1fd8ced3a7d48bfcaf2005ffd64ec16d4f9911da32ed3222bd958853ac657d286332434250692ab698e3c4f23f56d24dbe258917d7731bcdff656b1b3440ab4df473b66cc8dd4a718388914c8e446cdc28e61d3a8d34fb7e370b744495954a32ad0d1f0888b1700c04022670e54cff32df3b27f31c55017eb6f5507f04f467faacce95835eed656e0d896c70202e43b830762a07bec0b1ce878fe10921c044ee670f6f1d9d5c3d9e1c640c4173e23d89e6d16b7dad784280ca211b41bc478ee713a6323279c1d0828410c9ce2a5641b0f155d95d40a633f5f543011e95d54bb288d779b1bab987754c17ea756a252963be127be1a49da44ad1c8d935d3eb93fb1153fd459a296958d87d0c7ded017cae8d24dc9887a3adcef30b3f917114957de9e5ace6e731758d810d44f8891e6744db89d0182c74dbb342f93c00c38c29671b24643af8b450e383cd5abacac888a77844ca6ac076852999412dddc57f4df2b688925f60375fe483a211d081a57247b456192a247f05099527c66ae5a3269d2893d381159dfd235697c15f46e8ad016fa96038bee1ec5c2f51277ca48e4ccf2b31c546596eadf5bfb3aa9f9c1ea9674b9f1998585be84182e784a03c5f7780375eeed03de0beaf43fe5e376d8f0f47c4d98d44449c9b1ad24b72aa4a56390d527e9f50395c625a0087f830623cbb3f61181c4ae8414479cdb2d1e52b759540750718c45c8157f204cb8f53e95a00b8da08819d49b81630aebc8f1887dca775c54fd8634ca4ec2a74ab5d3b987d4a61772aafb8879ee85106e8ad8c3fb4154d8ea6bfed394d0dfbfced0d68c07386f81a89777db611d7fc78de3e7d03c4c9b9f8a11cf1a266cb8eadff06cf226a516cc94166a5c7e5a1b80cbcefbfd6d071e63c680c26f65885ccd525be252ba306e9e5a8260dbc929a564b5830c19730e4b806810096e1164209f6fbaca847f4da0e3a87f00294f660065c98b7cdd6bf73944ccf084f3d3ee34b525c290219be16d078103464e2bb52862c9f3f3080f84062009424ad9d3dce6eb83376b1be94492eb878eb3e1d6386a7c19310896be9cf444d00470043d5f2fc08d6beb0f7438e19f699202f27a5c9a18a82e369eea2de056cde1de06272e54e12705ac822c5f25f960d4617715ffa8188dfb9a8fb7e97137c458fa2e17d6a247f2fbef377ab3600f68555d2d03a109540b6a2fdd0b43c7f86a1de4a2c74c8d751f0f3cf5faf0863a3fc0ce1ab99c74d8f8affc93b0988080a577a91134355777cb1cee71f8bb3ffbb06fcb17a379ba24943d5bc75c32aa09dac608ad8dcd23312af31b8d068af8ad3f27e2c40f3486ff290300879004818e0442430591e9f85003736582f9231c932d23d15da121d2076570e3b9c059ec92e416d1229800cfadeb66eb9257e1759a76c95b76ef95426e09195feee8f99cad22cc6149cca5648d4b18ac85883b8faffed3b2c97416f1ab1ca4c9e5c07f2c46a3863c2c2068de89764e8e3e88dbb6702c292a981f42d925059b512426c5192789163c4ae9651392c6a9dd2a02d3fc1b73790bbd80366bfe1bbb3a626d0d4136b934d9effc4d0d28ee3ea3db39c9604429627e34d7981e309e014c5e14339893bff3cb04021a0dae6e2d6936f04e251c13300d6b47474e3a17f367a46fed715bdc5b10999c43d40abb694d4ef05701487eb4164bed41e6d7fa8897423497e03ed88fbc84aaf16c116d09e05dfc42ca648948604535a3674c37c2208560a28bce27142fea5b34a436b6595a9a2117817734559baecc01fbf641d78e6557175ba9720613ffd1b0ba6cd06e2fbbd94f5e99187e7303269a303c352ca3677709e842fb815b4037d7bc71884a5500c5c590a3156543f097679a52494f2d2cab8813e9c05f909f0d5c6b9755d5cfcee4a04453f7c2cfe0fbb0c14c8e0d3cce6f40daa0c1c23e20e1484901b4fcd0260ab5a669f6e1d6864dadcb23601645a370f3e456370e22f9f2d8204056acc6641c8108062072e8e79c9ea8308906d6b49b314fa548af953626b3354303a1a4eec0d2a5597dae262af0d83eb49a036e5ed1eed8b803c76ccaf5fd8c87a3122b88d4c07a6fe7b6ae2a939eded76fdd5816d5e4d974724f8fcbda531d4d6bf845154c7c1ff622fe0eaa70ae53419914056b380d06f78545434b25b3725e1a30c7ff2a9b47c1f37aef3fde2bb7b0d8b840a49c9ba0c69f296a784377c70388d0629766c184415731a126042040f1809a1f17f0eccdc4ea2dfe0ea64ed3aa64b90119bd9b0645104ff868c43baf641abecdd08cb608cca199af217c69fdf1b07ed9ea9e1fb4143891cd8fcbdf8dd9f58297e9b3311bfb76b5c57aa28492c1be61b97910e02ac8af885d84135b4416739dba5d57c841ae213bdd280d181559874c9e93620828768626f9426ed55da07f28d6f45dbadfcc8d20a77c5776260c90bbb18ecedf15fa233e229a92754ab53f38c2264b7bf55b1a612dcc4f5141e0bdc33072dd2299a706be9d162910ddf24d6228a0415d58b79253db5af895e2442a1a6c3ef7142230e3afd56d49f48890b50a283772114292920efa91ad10e1379937f245430a92f2ccb00fea2e6c1b2db6b61e994803af211b92e2014ee784d8a05ea548ef51543b031df5462c69518aedb4119e7c70637275c7430cac4a3a22040cca575473ef007ba679b7362a4225d58d09c18f49af2734a00d00d5bde15c70c7d51a2d394d18954bb9797d621b472b78a1617333335cbf344254a7f61cf5dc99ec5e4fd91c957564b72db5782090a3235aa26bf7858e3c56fa36dcfca1e5044b9428b328c88e366a27273b4b2809e65e7fb160abdaf4018f361c080f2020b30dde6b0e14ad08a0ac059a85b6cab546483b540314720451ff22d8108936247731cfb0095110196b3cfdb2969ac631b555362bacc417918d88f6c9165af6777f6405590ca90e30e35583945979315675a022fe12460b05b930c838453a420d706aaf2cecf9257e322533fdbccaed38b25e1f784c24086c8e92d4928b34255eedb1f431588106d5ef48662530e6e40e4f580b612c9c6a89e4c0c11a662c6b815f2f9bfd23517c5fa665eaee82c09ebb66fa922ff93dc56323d6aeeca41a41325ac0cb42b6b10b88b1f14ccc22773cc3d4c8a41fcf8c00cfa213205fa4d7e7033176613c2122968b0432f7e9de2555a8b5411e49dcf905230f300491959176fec87a8672bb17427ea86011059e2d75522357a308770663823bdebfef59b9021e4de7e165e45407d7afe86c31d5128005d34f4e119025288a8209c0d066abdd218ca33fe30fa7cfa53892d0849a256181464ac284de02793d592bea54bd66814d5119ccea61fde26701c02d7509c2c854f10a9f1d7a0bd0c96ee0b7733344afb62ac4b1b00746104cf3a04408758a0703faaec039b4548fff8e5e7ab2385ebd2d28d285966bd5c44b628a27a9a6bf81040959c67ec1514e5310deef003573f238933ed5ab9f5201af37048f4c768d7398e49b2ea8ef68d02c19ec63431d46414538d51f4bbb735baaaa6765999effe2310c507ee90ff5b8411348f120c41d96eb1ca0245074e2d7af3bf8b7faa7c4b65de3c4e0216d1662eeac073203e5d6d3836a93b1c2fc6829f64e5db72c7cfcd7d64152e1dc562d2e37fe0af2776e2890eaa34663e0d9adbddb30f070a51f0670290e831e706dbcedbb80a7692318776c2e819cb606dccba2ee4d1393201cff005254b18b7f82e0bd90e7071e7dfc2f4fe70939924544b09a9e88646a4398be33bfcb6d28735c07af418f18327e113d0b66f7eb8b40d26b4ea86eb09d33002650940d3d65894a9780d8d07d29413e8a146aa14875afc9ec595d723327acbd41172ad0e8bb28379ca2efe3b48bf5b6d4a9b32e3e7973052e65aa9c57f7f03f112999c7f41632df11b1a8f648dc6b72a30ad00f2c3b504f00ac0a13a673fd26dba81e5237b96014688d7bda5859eee939c9404c6f4a46e43ee326ea0a93706fe353977d4507e89981e9f155e241e4e79cd7e8bb65ad4b378b88287840a10e99f753d2afc4f294a98f12ba2fd4906d29f842f5164220c581e07f276808e69c2ec89f196422ee5d51c6c56b78e271ab4029048e9bf3c5bf385e520b68452ccefb419c4669baa8669a50aa0bb5103a04a13d972f5cb3615f5fe768144e90744f9d32822d397b691a767230b52c9357083106d6d7d33acc58831f91ed750bc357f67297005ba1b3aaf8a3268715f13bb53c2d43755e1eb8a11c727c7194a77551a408dc62088da7d38a4ebc6df70b5b94802ea8877bfbdd1bdba5669be91efdd3f539fb9850e4b6410c5310db90c39a914ad33aa3d781f3f7c19f4894f456c62cbfe7231ec47ff23644b1b0c7826b83688833900cf39c1297ede1a8889098adb03590c4c2b9fdd41d0aa4c50cc3f25997e2e5da8f9be323ec09a534c274e828974faa94e56db14cdd33f131b8c455a59673870af477441160b0bb1144485bcaa4fe43e25d68269c86aa5e84cf69a4b5e3196424670a29c7bcfc83dbd2fda904a33f33acb17d34121d0c0970881b9ff8b45d0896ecf3c900508e6eac14cbf2c623518e1a185088ae9b0ac940a6ad4c5dab4fd7e3c6e6b4041e99210bf5a28247cdaa3d198d0652bb391361f5dfb5748053f25f72aa9d29c503132fe948d75b50126fc13dd59e4e13c010e9afff1187cf87fed283b22f7ce28b12b78b9daf775668e055e4880efb5a2eef5720e3f945606fd36db9ecdd96b656137847b65c37fd70f94af53cd03424105126110a4522377b048153833856625571bdf21f873be0a2bd383617aa05881888445442392f4063b7516b2fc7860938f57067b90ed159b27a8c117140e7fea23921f6373866cffe67b7f6a1fb5c03dbd5cb9276fb6729309806662b108f146c8edc9de4ccee69a607a247e103bfc47698acce3b490fb3d4d707979fc32188682942a28ff266ed8c5ae6b168a615e1556b1c7dd6a0c36c26af73d81a0a6666c388932846e5f2dadceec9b2bbe46a0460f284a097b474d480a7f483697d0720b42848e6bc88543eda17098dd9b4f5e2aca391ceb1641cd583ba929350c0475e723045549a486e650d65675272c69d02ecc397b25713cbfab8eb3af76d04e649ba63a666303546dec8373d3ce3aa62554380e63d92c4d0a90c8ad3f321828602271f94fb5d4abc5d26de2e25ce99e8c7769978bb94f85d4a9c66aa7103d18feb2e03d2590a60b19417f7dfdbf46012433e787cc336ee0d017ce656d7f4fd26387829856387a2322f8ee1c73c8ec6a75e670cf9d9548ac7243541d8e843bc9f965babef9e03e762c0438a5f997ab9b07b6500179b4565bc4cc17171eb7b0d1ce73cb0f1cdfaab9cb68ce183c7332ab9eacde7295e0c23b0d34467231eeacb52922012d6b23f27256ff6cec5485262ff986e2cef1a90836b05911e7db80658921a38486c83f682be513e38878181fd5ed37657cae1a396d3145a4cbfe0d8116148beef10bb47dc3ac733dc570bf5a4b9186729dafdba82104c7ededf4fbf734db5f36cd1657bd7b2d829e9cf33d310c6c88812196c3003d9c648639ea64ac6fcaeb1f0027f2a243e8412ed87bafb6203d2b6d9dc3103a8803f298b3464748c1bf5558c7426e2cd8a04b6b23aa95fff690406063f277597c12464bb422ffbbd8a8559d1fee4dfe8eb0002b02035392288578a20d230f233f4b3b2caffcdcdc315cedc6485d4eb128589dc8874f92ee73a3506a095cd03a87e7244c3f21782a2913eefdd7e41013b48705415ffa793a32eedce7386f59c19cacfef5d148b867d502d0b2aeba2589036e135681181dc710d5c99efe02e293e0c75d9268fc6363c7f2117d3bb801aea698ade9647b97c9c741774a55ec865b05ce65ca0dca66cd262da54d92b3b0637eb154281cec890e44add34ccdb1e2b3ac16cb1f6288239511541d816470b1ef05c8a09bfafc4ade19716ed7d213436412c59c586046f65bfea99a415b13522a7435ce62ad51174e236edd7b46568f941d54ce895955bdb0cf7036a29228a0556df6e72f7f17f5fe1ea1ad5f3bb07e80c4826ffa6002c7f66c1f2f4c7658e512ff0e9af71aa338ca1c73c8d10e5d653db88a05a659626fd83c5b63a56247f3346625378124536f38527b1bd315cd0f00178b5f087e11a0a51882c9b02c36f2f15412323365be6363bd9cad87681472d1557ae4fe5fa01b6be7d87b5fed9f5826d8ff080910198eae661da3b34c8a1586be6220aa6422cd762f8e872a0a9cc25413ee78572788b64428d980207a0956568f5e04c36abafd4349a5a5043f057447ec048af3bf6eb48000edb031cdb63e1bd706ac6d277ed2d5ae19655add56062ba688b3514605cdf1c3ecc29c2f5f1e83d24ae97d591a8ba8987a1b7aba91dba42e53ab080e1977a13d6adc4d5a39f8bd712773b79d327899b42ecbf89c6aaced7af895e97d719665ebb2cef5335d7d16490d3b34288b7297d5043f0207fa790e5d63fdb3edd67b6fde01fe6b2ed5700d83938df10212b406170bb53f9e980f188d264f52a5e10775a53588f86be004fbe36932a4e6a0afaf43b12f845fd5c862cc872de632d3e5f03db6611f9342477cf4a9c2d541671e78380cb53c1103d76941d846c4f05acd196617219dbabcdc633e72bab5083842ad91f128d5b68e82fc860e56a5854e6d690f265ef8a5bd2c79025f8fd7d733bbb1495cba51eff86dd193baa8e03710ea347202e0dc07e513290ff8825aa76d0fee407d6546310a824040966dd62f3debeec03fd36c4ce8f352be086ed91d2eb720937306bd35f0bdf26410d00e236a10b532bc0986cd861dfa3db86ccbb18e638ecc93f40ce6e3141db0162a010d7ca7d35c46a2dee3dc997cb5dff7df1ca5531a8d801e920ad2949d7d1650a25e5794ad5a29ab9ad9958c55d94b4ded14e8c3b2ec9ad99742bc06e287c03b2a78b5c9965a0a27dca9ef0967227f7891d2bb36ae11ef082702daee95c502be8ba96f98077fb8313baa7f4c95f41cc67b9d6e76ac8c9db7fb4bc2f65361e3e86916ce5e1c50a001d51deefa0fd0d3dace023966f76f543374c6f4cedc155213416011ceece4881bb7d7847d64d17b085068c8cfd75842bdaab1e3a08b80eba069ade90cf9d14112356c00b20c62a4a0f7efb51ea0dae99d8afc87b5d45e2a17ab23335427fc00743cb892701efb4ee16be098d741ede938caaef949de5c5fc3a2fd1557e21668702b84ff046e8e20820cf5a11063cf099469b59312baab40cfb944de6d9994568c7803a91bbcf2547f207faaa4e183e99ddb7c6b743636510e623160594c944e267a0e3ef8d265fc15754768846e62344e3b20bec73eff22d4670c29361874720049da8c1de1e8782b533030c0b0a415f88bd3dbe5149381ca61a1f14a68de1a53a8530e3e22884e8a67d4268c7b90961a3ce4b081934341ebb1d2e709a704cd09bfadcec765dffb935e7c3dbf9c716dbe15d8badde83e75bd0b9e2e45e4724d72d9bd8396a36b68614311eecd644327c53dd125d33d2ada4fc734b90a8338a2a4338cc77e3ce41ef3a6cad14176bb8da6c753e5921f4a9a1b05bb2457eea562960d5bfa53beb4e32f3dcaab49476f74bb82c02df1fc36347dd6a6c6eee5a4cbdded74144418a8a4da6ef0ee9fc95a37cae93d8de18950af2e5c4ba151abafd6cd2cd137a9b971803b7dad38a6241e0cb40e4bd196ed663afd7799222571c7fc0351f083378515726eecad3c73aec93149d4c78c44d649e5b05bba97b6d6becb442bb10c63ef5fb0c2d7e32695ed4d9138a6e58055a721373fb63dc80ca13d09b66549ef2cca1e07ff7c3df8f6e2bc6ead45efab05214e8ebc580c58b3ddb3c30558c2b401ce6cdc4bcf00aae6006cd3e829bfd587e17d2922efa841cf3a11f851e9405c1924a3bc1f8291aafab0f4a97dc027d1bd51c77d67d30cb6d91e0a266e46730f0261245d7d5974ec8fcf87b9ab07b8dbdb66f604fd2e680f5eb34c9c3b0d535198583b85536bd7b11b9bdb0dc3e947128c17938964ad7ca725bac4e39b4992818be65e366aab8b0c4414b3c0b6fd65536be0917c3a200d2738879876d8fa0c4f66dfd732da03be59ddb2409063749cf79dd65e1c966cda06e3d52aeacce6564c124e6fb21913b2313a1b47538a49e9b6146f6645b0bbc0b74ec613071c3b4bb41c6cfad3a1c93324d516a56948a8506de922dd50ab86a43c581bcb89a01ae6eac50bfe1d2f872eebc2a40b4386494f8414272c3617166c2ac4ee7e806162f068d86766f566c453021b6027cbe0b2861ad2ea443361d9480fa7fefc668838d3ff3bbbd4106b5479593c5c64cd077bd2133ca01f7e3ec8b0e93c0ee5095d48a93c8ca26c92dfdbb8cf3e6aa227a8de317206018e6404e2f99f2cdcf2ad78d2419171e5c034bbfe4a6902805edcde1e6730002962805ad8c23cb43f203b909a39afe05b61d476aaf8203f7230bfccbf87a874c412ec40d2b458f01c8393843965ea221d1a0b83c91ad2e18089c0184de4c878765e995ab309131deb7c71d436e3291a0284791d0bb4d63f9facba6da46d63451de68c290c65516c50ac05ce3c3516b057d085c6a29e864736294d9f2cffb069b7e3995ec2b6f506cece4037a56a5e8a91738e45e0df04136415d26ea20aa2bdc3aaa67e4027d4b24c8a0e5a99432e66c2a8482540c45e51ad00ad83a73d6acf13c7d72c3d6be30b86f21f4ee42ed19cc6ee899765088a25964c8b850e40e665623ae8b57aa15feb3dc6d138e955d1db89bdf9b4729be4bf01a2a571db8deb13150eda6f446740ab4934a8e8dfc30e3292ab10ed4c957c4a8104ef593833bc348e65e54cdab2d76bd9c87ee159e34cf773055ea8c8fd2d00e298937d5ea864a12b6b413273cb317e483700e927a7a566875b78cafab8941fa02ff36dc284a782b490ad1f9d22a8c602dc24dc96a123c70148899d20fd2c5bc4a686b5e2fe7b4a4d843b94f5fd810545c48b3558a840844932ea7154f08cb9df9d442c42590d55c53906c83dea72e84593e57c6b9d1ccc6430708b7814b25aa9b5a7d7d0a1b1cc6cb8081d8aaad9acc2a05a20066b2f85498c2283f268455e3e4bd77d99ebf63ffc1c463a83984f7a4dbef2a80fa0a09bf0926d635b4ff1192451079260644b84fbd78799aefc562a00faec28039c200d8da336b7bce4fc22d9cb0dea3e670f136a7edd2567de79f70b27f67eb11ae022e0b42f9682fc304d6feb327ff5d261069a4ae8d6eaa88aa55a151bc5eb1f09fdb9055e831b4d86b74ce61ea3192cf07846a1d275a5866ed836a963cc1f3df4acde08f076203022314d285d91f3262b646a53f28dadfd29dc057d1a90380bbc544ac3a23b98824e1d38119847045a981102c5e0efc4de2b8e9a07c04c8580eafbfdb1edd3b6b6b7171155ad755574207a68394ec3433aae8984707f7e28e3ac0d98826aa8c238850e190249e9bb3f14a9140f9f37f48168102a44e03e4f743a4093b4ff213370cabd1721edc23dd782200aa265f8be20b80d9ce1d8db66c2e05191d96e2a454680b03167510fa06760acc32116ac54f61883b0dfafd52e26488725d3bfd1d56a460f4452bd63b5dedfefe1d61354374746eed0838eeabf21ad4a0ab2b4b52cb239ab42b07ba821f55ab3c8ae487a13cac5d1b90b50ff5d757ab45940bfd518478a63541228b03d067083cff4be3bde8f61e027baa2d85d58afd1a12c43d0352974e372f4a6c01f33ab98ca7f0da1a9ee867487ab688e384a7b4c805fbbc9698de83f06371c075a658a4e2f65f0a6038755020794184cb47af48bfc4d96f5b12aa355715c4b48a285fb84bd806ae0ff47c075ea39fee50665684889484f4ecc14457b10ca2751f2059586052473a9fec2faa09a42480312189588e4724af6361ff84d9ca12249d19c7f2cd29a5c0f1de0f4db3d66975ac69d757fc9cb802911004506b917db15c09ba1e1b80da5cc27649506fe5123429d727b2336c73047b2e7a7dc1e278ec70a66561f893b4fc28bee5c5dc82c347450bb7c26e68a7a2d91f155d2f0f8be280355d85d449ca0916eefaa842161566f34b2a448e088b63a9dbed23546fdad4f009f745d8137e8f469df63437fd081e64dd19caa25d17822f646339534214db636d2cb63fe3669362116e158fa7907bd6c8cad396c94c86107beb7512f3cb040457b3274de932f70241157b73e07ab7dd87209db564bc89d1d463510809ddd03fc88016a1efd99f10583e0c113421f7b4044ec108ab6e33a9c883445b17b89f4bec19a02e20bf998d72c1f39f7de5f35fe1ae52ea626daa01401444c2f680f15099e770fd41b683c017e10cb44f18813b1a1e13a4a60fa791f51d1d8ff1fcb57d8e393298102c6a9b8dfeff3880900f782404be1b912d32e990c01eb2ffb7073005d13fe448dcf275a0023b787008d01c4eabad0b4fbe83cc1d31bd7b68fc065cf7eab7300e95d6938b834e4597d024903f87be84e4a187bfe16e7124b067ef42bc482ab6d8a16ab28c0271415e718a8986df8855083a0f0429116e854be6d952503fe005c3d16531ffa990fa99058a3fb6045241364d509fd1b9a58948b0086b811114671c8c0ef484a2bd297b7851e29102b9cc1ab4f08147e5edf1855558e44ee6b0aed504066dc306cc564922832ddaba51e0dea69e5231c525bb355428787bb800d2ba342ee61b518981fc50e680805a5a45e37ac414c71958216d035f8f6c8c745d1fe3f4f966b1be87c6a40bc705a81de26cff1b0700a03665f7f0883f2b16e38d1a966c257ff083ffbe1611495c7c0389c8f83aad73c2e8a01d857bbba7c745b512c568c0167ae0f0d737d50f20fd9dd7a2898f2be1f8d5f03bd104e91a42a2c7d69c81acfe05f4df77db12b3f41b2c3f24d068e77d15685c77ea5b4f120f9ef28daf50694905c7fc5af5952e5e8d4e9983877ce6c4e998df245c2e1146ee33fa2143f4bbb8eb003536ef2163250c5f4ff3cc6c4b60c5138f459a857d3e2e1427b1bdc1ba1e89b8f1fa98616f2aeb9605108f13848c3a6f5a455d5fc6d74324e0164cde1f15e52140adabaa08bcc890035e52691552498477662263750620122261301fcefe21ab5720d5c02cdb23a533298917e645a4e02e30f8c580480ff2795e5bb0bb6f1010e0cfc3214802d8ca75c0a6b00758c7eba01f9b94bf5d691112f7f7d39b3675f990a3b740c1f79ffe6192527285b722a8faf3a386675716affc134f38496a9e12667e708f9c52626b29359cb3622003e3440b2d1028205a8a560f4c382bf2bc14f8f35687fb14e7cced331b5d56f45a7b45a0cdc04fb5313191a4894ff0f893c668e81d7fd178432d95199154393022641ea6f752614c3ff78a47c0f9a49ad02193644d8eb258a5a86ae913fd22a049c3d54e462d5200c87ca122c5ae9be976ae6991ea2963aa9ea1020ada2be363fe3a24c73dd09941443ce4621bf075f1ee7e7848be0532cd8c2874fc0bc51a7dd9210c861aac8f10c27f03e971af85199b46bd1c201fcadd419ff33ec1ec68de1f35510703ad4ec8a5a72130e3ce8e5581f7afaea029c1d833ae831783d3a303026ca4b17dd51c100a3502296781162e738ccd03e367471ec00a6907ee4868d3153865789a1362f4c10b9aef296f09317622d49788ccd7c88c92fc10baa7264bfe5a388d2b670c2b5cd44868a211b6abd9ed91c8b51d2c41e67c5ab494a896041da3074e3b5f142079e4889e876ee4ddad46b84f1d92769301f6f9fc1181beb18720d624664d953585b5fbee211f17a529d3aadd48d287ae75745d08fe8da5bf774827a214d8d58098d663aff4882b933a987d8689f5d685fb5d4202832b89059ff5af0867c78fca48eb14c977441ab7ec83e94a26eef992868cd860a08ca4adfb132b7533b9d9aaa7d32432678ca61f1dd231e8bfab697191c3c945b4619f60394e0f122a8e50e8b53fba3420e8e35821c5650c1bc80fe90c7f1db400e49bef9c5d05e7cda6247a8106d72c466c0753dc8402ddf5bf3e13927df245a5b054c47067737e0a4f964466923722202932decad176b7000469965a644bdaf8a07f5fe84bd8375f74c27c38252489a2a2c395cda5c8b3f23f72b7100bd053d06f2b6abcc4c47aa66b8f7d62dbaa49192105986a8240fc98027f7ec09cfd65f2240d1507a7ff557496519c7146dc4968b09e126ef7ca6fc8940f8949911c6e78f15e5146a7d11db46d96f383a64746c7322d2307b3325f5ba4e0f0b907ce7b170ad55a3e2aa7d43b4c491d5d69bb7fc803084e9a6610c4b17cd3a6811f597774653c6cc55b5991bc04ccbe328c0d34948de7d2e82137eecf4d74abb934d1a1e7bc203d1e20f4407b54cf4d8cb1ccda828494e2e270eb27f7262f65f2dd69737cd48d8db8bbc1193abd774c23267bc0b5bee5e5ccb9ae55ec71a7f45d9a149affd6800ac13a3bcc9174385b24a80d462cda204ba2ba7dde99ce4044730b0e82b5c4b0894e77eea782d7dfbb9cc5e353976c7788bc5e101ade554d30341df561bd57b8f79c4b44b987b172280130e260896cf5592f219e0b910aeaf90f118547e8c44e8cfeebe0356850640426b5d53bebb345b8fd53dc69863960ebcd5a056e01e62e02fe113c6758fe83a05581fed3f7078a65a5a262b5cbba5ba833bceaa38884780b20f701cc0a6452b32e52e834e8d3ea97cd795642a682fce05af57a69203edb46fae2890316dd3ed44fcf8c7dd265ea220650a07a433bd001488ad04272874129ca406b23531f5713565d5341abf255fa3fc6c62eb884da8a9e9f82738d1c7dec526a3fef02716dd66519217a76087631945f2f9069b9b7b677a6cb2eb050e71edd398317698a10313a905376b1d8ab92db3a85018845eb64e493ab380bbbd408976376317c2083f8dc0b18512a79afc4f732ed441e360e95ec5aa3e201101d6b32bfb2d198aeae6c22a7379ef8d90a87014fcf60fd0556debe9eacc6926c078b314bf115547581a4178d31b40e87f098657075f67809ec40fbcf21bab38d359a113c9031384f335308e42fe5740aebd3ac467cced870ff28594a2f54101296b86e71d3a305439665ffd74c94f3ad7b39b9ae0d43de4c1a5a27d3eb73c96202e13f94b6a7779bfed1a6c265bd9be9c7a9374be4c165563e87511b7eddaba02193e92423431307e928f3f1913b9fa34170fe2ce043eb159d7e6d256386e49278f92b4e121bbc81d8ad8881369989740d0770012fb1ae2a2fb89fe44241a4481144e93a25d879b40b0030f005247a46988dc7a5f24879cbc23ed0e935f96c13a6d1c3ede7b17a1c8b240f34b7b17deec147fb1e528c311fdb31178ab3ca47c5fd2392ffa82c795b63f688438ddb055061f8fd0ae85814aaf44c30e449b4ab98cc563ca5acccde7eb05ef67812ac4e3171cb86a2e11b1868d2a23143a38b2985bf342586c109d7ee0171a85d013686559d13cbcf9a8ffd4e5314b8a23292e851603272f31682d8ea7a2427bb912b7d0c66dd34d512e0430347b3f25c78e3d8306b095e2756cdd97648c309887ed3e89f9d2d84bcf723ca57eba3e587c37774e4cdd4a5f8f72c94b83d25ec47da02524fbe41cacc6baecfa12ef3b84fab9b044b600212d350c5997379a98de0f7a60ac8b825b4be7794415ff5f4915daf0a05f49616dcc322527dfb12a7fe954d29c6e77567456010509afb857eda9453210c4e05a4bae4ac102866d70a2aa3b4e60029ee6360929df9e5a2741354e6d11c819e849b36f0f3808739f6478eb91c1dafcbf7b4e0f9fef719427a88d6cb38d7a76de65e1f216f2d9ee54ab611d19fba9e1a1300737c545ce41007f892854c33cd20c25d8593b663b52688b9f9a7c88c89e1b8700bc203f7d99e9e1b70b1d1bf44e00a5f4cb670655a18d7a66b2194030957e49560c64b8c8f2b95d0e3ad7198e81451ff5551af64dadd626094f96a942d6516ef920e95d0f6c00c074703e81da726b35d2209a2f89404d441960faee84b62a6bbc56e48f958b4097d56783bcfe0685d09d1dabb7e6a9301012385aebe3028e75101f43a904055a3d7c3c37f2d3bf173dfd4249b1d08948a53d052546488331212758ee88029289bc9bbee40ccc734ea51fe3415ccd1d0e9ecec110fdd1eaf86bd0ca02eb7e8a00f5860b4b8fa9e6ec1e88b8cbafaff2530fa184fcce0450b42df14c6b7f40e017aacc387e44d2d070c7e3627f462ca5d4e85a0527b11169c23fd94a46d73c92802d11953237e95a7f9018c35bdddebbc955c05998fb96e934c027d71d7d6c408d1d4928836d9088b275aaf8616033e978e9fdbe8fc08ad68cfcd799b63967a43bf65c0c22e72af84a20920a8306b4cd19e18cfcba91565a7e0fe2a582826e2db3f2bee734f57b26d41f9ee7446036c1f0995d3478140a84442a6318058b53d5a7ac4610111fd1f532b0e9a26666fd32f74769b8ceadb33a429f212cdc7d90201a5b72f53161a1d250fbd9a38358f5ed35946af8ae644b446402f3aaa1384f67532a44d1e99a0a481e5cf1f75e9056bbf3495db1577547fa4e2b8843c828921bf227636e1c93e0dc2f0d39732f46da9a0612a88a472240b39ace6a58f257f7351e6b813b734bf6c423e644ac03df8c1a97a182d5f9f1a08f47e8cdb86706761d290cc7daba88488c9d9380ff2603814519a736cf5b5680321b0fa54c2190c59d060985578a99b4bb35d9bee89581f44a7d9304602036366c119c0e6cfb91dd7a715a777eb9f742f62ac083830a468b0500bac274deb2dd2c2869d5f9f1f6fa4e84823bce6b0c4076cf1da5bcf3a25c71538f96505a0846a1a44b9fbf70e6ac7c05ecd133413e6a69b538975e76a7112c72da42a59b002ff720436fe34581ee85928da58308bfe6cb129caf52c4badd948ae2f1454f457c0f5a47354878b18238bf85a408323f4b15b2108776282a78852a50be71251b6288e7ce4c02424efba6266f16a9cb06766192f6b58db1a37c4a3f9a0ec9f2258733d553adc27c15d93dfa2c2479bd3d423f0c180b3bf52df65aa8aeee9fd85507b06b39a305da9e29dc65ccbeec434db3c446a9986d562f03887cc2058c1f47c5c48e8cb6d0b6028fcf3b2ee93226006ca3d87a1b7afef43ecd9ea63b98ef7089924834c74c6a70fc6b53750affa3ff6a60012d2fb76bb99bd8cdddfbade55d703aedea9a0c4585ebbe9625d8baf97016e6de6143cf513f87c1ed77d25596366973fb296fc50b0037f9f4994024ce513bf21b583ba775a4dc5954344d7ba1c71addf0b8cb3992b8ea2decd04c5725f4f67b4823de1bfdc622ee4587833c777e96e23d2b3d8ff05251be5b9392361645ca8e7d2b3c42dc27b9e672a90b49a561e68482869de1f92f96e6217b82c1e0b40fa41112351f1db20b8c92e1494bd7fb80b73ec806a5052cba46c651e49c9b7ab13dda446a49372b403edd7a419fee078749210d2ccb04450900c4ac331610643998f24018eba86e3985c33500978fa2b1ca3654dd78220d76a02c577c24873dfacef84e9c59e10dab3b45e7b86d0862e427e8364fee57b3222523f9cfeaa8f23f08c6bfce46c6dda0fc1e3e9382426edfb6ed919c5d2f72444990c023e0365f879f7278ccd18bad77a21c5981f3be05584a3f4d4ad25126b3faaafd61f1516ca5322470c4a8e9103e4de0c8c388f702f198e43c4d5bdb0ad68da3b0b5ddae441abcc4bd37121a3495d280dfba154853782529310974d3d983bf7c7daf7f66084e4c75bddbd2a2ae0851265ceaf1f2a7dd15d59f7aca57522f2db3b8ebaaff2602a4993ab7086b35bd3c059e6aff593bbced7e24b9226be2e60d5ffd9fcd9161d37f9528cfa960afc6b220ce5f2a2ac7828149765e511334e4dde9940ad5704e0117344de2b1ad8cb23e1f3a257f5f92a9acc4405964e1d1c74c2657c17b6d46e8f60cf3908842e30db4352f34d22741294ed10b67ad6a071a8d9839cf1feb249a9891cea67411c53b70b6e9b0fd15945121f9ba84cf231030642bc4f6c6bc6d103fdce34c61587f14ca1910e8c71b4419fe00614a6e1a5d51244197a485233fceecd17d6070fc6cca71b3e334d0b754f1b03bfab7283cd27a242fac884c87a00469bd06f92b8027696d959413d3d4a135b4e5e2daefe79680d4618fe157e43610291a6eb6f2a0582b451dbbd293caf826d95026a145a9bc4c6aecf312b286c486c7ac65be7e488bf30f867b3fa2c7f96dbcf7dcd84f35a4a89e9801ce113d0a2fc133ade51b7ac7a7a7f531a0de19c19a237f39dba8994c56e9c6f47c5c0881a4ba52f528b005d6af8845e6d00f0a901730673336833cc7f42d938cf3b8a0d6e7db05b3f27067e3a807bda201a909b9d3c56f2b1f5488d1e47b6d4a47dca0e378394f80011fe8956705d557a164750e7535ccf0c5b42427d44f56d689eaadba871092785b91d78a922a1e7e46960b98e007ebdfe2c00d91a0ea73ef404bee837d1d61beae58ac017f8aeeade0bba1cf011086dce4b5f017e647094d3b35dfa9edf0b89118439ccf1fc62036faef38e97635f962f31e2a46d64fc1540f30e0f80de7dd1178675c7ea5189c74d073cb60003101fe714a0113fd0a0f54b51e0dbbc75f428678c1af2ebe49290ee278bd753114d9a852e3782c9628a1d5af984f7d37741bb4eac00449ebc39188de8a292430bc8db725009bc2ca799db0978ed10d9aeddde66b3cf94c3a3d349381f18ab0168f0479a754d10965a3ba955a55f57f846b1b526b04fe4f4a6994ab255e5b6d2133946e7cf846a6a69f6a9405bdb38c424e0eab951d97ca921e57b56cc92cd5827b4dc411f908e8cbbef543520126ebc6405e78b2204bc2e8df80e08fa631c49037d5ce52525fae2c8c06022803812dfc18240df336410c0289f7ad908f93f9134ff967f3e866861c9709219d361132ef78a4aa5459631bc56c63de1812c22e78b2355d0b1801d8033b624e90f371806de5882a97eace33916334c0d010a599cfa66e06174a1e8d56aa59710ac2c837e95ada0aa6646c7402c8bc53d805af46177ad7a46fd1a6f9f8fd74a02920e984c8335ee1525d785428bbd9edc0db41f4c8187387ebf51781f6bd720b61352321647b60caff0997e50e0a289cdc4966e68d421c2e0bb80dd40a3d1f1211d5e39de9cc997b7f7cc675455c7319beb095be47ba480695dbb7d65a334f2eaabbe577fb9136fbcd224c19717746f00ac4aa5e03f762666e97637dac5dd5a42c006297622bfb5e02ff3655b3ff53eeeb20522b9923e938884888b7ba8a42b47cdb3f94e12f0223804f7b9b2c1a5dc62b4e2f54692ab1c6e3b9d4a68aef1f21bd538d6461a4d1f32b25785c7cfe8d2a4c2e3683735616397cb2c738bbbcfc4ff50d140294fa90f164af217604877716a96bd57b653a5ccbba0a80abba9400d76403ccef7e1621b9a1c55743898a84a516ec5518b0cdc8bad63fc8ac63d9120c900dd0fc8824f0c8ff3dc272764914a2cf993d6b03d2447ccce970b97e6c77ef5bf95d4899cbde6c5536b1d55bd9e39d7c82559c9e3e5635f73006136b2f059f58ff4ec75b62eef06de5340c1a1c516f90740eb968bc135ebc6d79b96ad5f89811a92a58213c9a2993beb213093646f04bc72f563076643b5a6c4062976de919f0d84f20f1bf200ba354deb95d08bcec8de53db549b96574fb3ae3ecf14538e826459502982f443c9c33c801df71ab918bcb05c33d72e0d4cc3d1c7083835b6474c5f753174148912a55517acc6ff607fee2c8dda21f0b481f3b533ce893661eb8e4af1690b63409041d8c88ce5f68687277fdf2e65005acc4ac730130abc67936298d1ced59de96cebddd706cdfc0f3966aab27d797c8103351cdd9fd7376e95712279dcd98c6b27c381be3b16e41e73882a232f17645161b543c2b30335c987213b7a6e31102497cb0768e75c05968416fa6d039eeae7ccef0cdc733fe9764a713b1b3a8f4d79d6063276ee3659367e116b8596b742b4fe784a197959352b2dcd137740a9e2ec1adca29188f855551bdf1a070aab26ebd6edd571649557f05734666b2604502a2d6df96a23089031089cf585414d2afe824cd8851374200b502b67a4217d55096bd3d51318d2fd03be904ca6ba9c898a711508035c97b69229556a34c541688bb45de0ec6ebb74920693b9a3872fd10d8bbd83f266db2357ee10e7710c20ad899139bb36c9404cd8161354ecc9ab7049ae4e1cc73663448bb66b837e0a0e45ea8e7504d17705244fb4874192c497d5dc017413e13b46de28261790ca743c2bebc7e9ac4e0fecd73821dc22aca6e12aeef930e7f626b4d483d968c9d1c271a91008a2dfe1966a65b456c61261d5e54f272a6c3ffdcad3301b171d4e91a463938d382dfad3507f13747d9d338a6ac2c9bb42ff62f595609f12f67b609fe7ae3e22d65742137be885643d8ea2dba2cd96e29f34aefa27a5a73bbc02f4e21906d66c001d6619ff6b5b5c9eb7b79fb4480a390105a98052c82315f0d8942eb1061b966b89e3cd3ec6c7ef0d233ab854fc65a74713aaa71c67f8439d680427d53090871d5a74aeab5dfb2ffb40ff001b79f6371bf2f5d4493e87980234b8f9da34c79af00d5cbb29d0c71622a9371dc0aaa643222f206da6157f715fad15c5d078f6ce35990110c4c65f54dc924f641148566714ae1b0d99da4f9be77216e8bd9f716643bf0b5e16e5a0445eb171da9e3ed925eb902a157a995b1455c24fa690b38cbf5eb68c63af10c23bd22f6539fef012834b46f7999492c05907c1772effda17c79024ac9795849c63e43e8f60bf222cc4ecd8d102c657a4e34404a186c56fdfe8ab9bfacc714fc8553058dad8b292de5591a60acd41a6a7544fab0db5b5cb65213db5e581ee3937db96c418cd6a205c82dcfc099a03d048cc3353a9c874f4649f963e5a81bc247c5d7e211f66f194c3c6a501488bf1e360ee3a5f819caad77ba957a0db55234767eb2cc5e9092851d8a75c66ce15210010663a560671b6401187ce54f9a46fc073336cd6c510714aaa398a86d1186addb85bbe49f2b91b9bb5d93141353ea0856a2e3278e63dcfbca70eb124b5bdab9e51bdb2d69e5f740d3cd5b3e54ad3f6ee0878feb6de1a6d0f2b0e4769b51817647a5233388483b59ba445010bb606ab035941a39b171eb73c79ab4d7c443f01ed53430a7d4c84666582818f18d947ddf429ebdfbbcae594633a98cec032e6282cc744de5e278af5422610f0d3ae886d8a61367575b91568ae23cef6486c378c189bbabae23872ae4b62ab5db391fcd50495b834cbcbf426d37ac1b9a1f0b5662d88fa09b8370a4d266a3a010bb6a9c65a6d6290f4c5152e9066e58309784a523dffa831a94ce487f3151f0e756d56f12e9a01cba282f366ceb81aebbc451928ed4dc1133198f5ccd1748147e6beffa6d022ae23797ffe247f142b1c28d7c7996c77b49c435dca7da11d15bdd0112a6c9785cfea496409b28259790d5b582f952e770562d270358c435d35b5d5a04872b033683413d7568d2ea95069ba4de382d7ae9b58a0c52aa8ed14228ada24231799e5c86d640df3c4445f3d8252a224c33ce18599456ff0e2bd48e9523e4e41328aec8362336b2a1d97bbfb21f9a491772486fb21830017cac1629e0ebe6aac365da6e5e1f0fd142fec7e2151264eac6c4edceadd920072448a44baa6e86bd72db9d40cbb1b576f4bc626248e26eee37d8f3d5ac80b340a85e54ac6546b0d0d5ee6eeaf7919ab8840f7841b5664e6a820e760cd10f3131e56eb15093311abdbccff0aaa998089cac65d66fc0ad2c84831f5d2858a67715360495894088214cbc1b2b43cfd2290e8fc36afe533797206f6bad46ec6b8b2a40e75387c6ca34a9c390d0e54d670fb147f0ca9d45868b044194a06eb1c26e881505ffad679c2014099f35053f90324cadcfaa2af51a88496c716ba89d3f5c1d5bab457f4811e3fe3fdb6759e3509e92618b4bc5ae23016a5f42d7f93b04c3ef9e965024686c68b0eba189b4d5f85a15499f696c2ab40b6823d2445979bb2aff6429f38676df91b11b5d5bf95103ebbdc28e568c5f22983d4410993282d3b9ba224186d4fd8bb2a724444eac434ba69e45b8ef9010c4ff9eeaefe4ee1ad9c2bfa7a5c51986458efe6e2989eba07e87748808891b1b006406b12f1804dd0ffc0f43a01e878493d12d9846a79563e02fecc1bd0a0d6b3081bb42b3093eccc4a72bfc3d414a28e45bc247212490301286a6960299ae146896d427c8838a96ad3ffe8cdd5d33cdd41f1d06ee24df8a1745067c7794496fcfcb34dd06ee39326461d6d2f26c081078230896d0a9c048f95c7267e09e94fa24f837cfe73ef6525435662305f31aff23c6c66dcbee1f2d3c1c6f029e5d73c73ec5b230e1d1b8a2a99ca8556497ab5e3a43b6b4c2f55b1cc2654834b265afc54d9a1ad0ac4e78b91c04017fc8beedabddd7d9b768bb802d2259e4461664b0755a37e395a861d71f4b10df048b61c0fe8870cf0ca5f02bd48e1d803542f6f9982718383853d7c6ef7bfd165fd17b571fb1add5caf78fb0c75dbfc9e54d2f8a03fc53e76ab6e1f214eec2724d2698647585c8cb9983e661c90fe540af78b35a7c3f1f1d5608354dd4cf371b74589e31f69f7f1cb55fef2d2c8d66af2071f47ada4ed76563ffaf08f887d048f9eeeaf122b0c84e2abfe14cbd23567f0a3c38706f4e68474612fe3579c803b79f82b9937b711116e30d1382626e4669a6bb748d8c5887dc4645c160df4ba114bca1862c7ca8d0f6da4654eebfcee175bf2727a4663e3e0a7473b53724342942cade10c9aff1bc67d3fa6afa92fc824a48f91f1083990aec54ef050a47058b32f759fea52434f04adc50732881018d88ddd607bc03b8042eea85f859af671ca2692ae31eff6c40878c42f0e477bfed69170bbed7a5cc9829285691aa0f8998d4031366205ce158ab01952aec67eb5478bf5225d4910f97785603bc5e50321d2c7920ce061a975f71429b1c63d35f65338d06979d53b85779b26e1c3f39109ae4935f882c4ee99089022b73862d7ad1c7978e6586db26d55b922cf4f074c83ee8195a9ce427433c09ec7383823c4850a69413611b18c4ccf9d57d155fa527d502e95127a7866cdfe5215056dc6ae53812b59fd67e1ff8f9050acb9a7fd7020396ebdb72b5ebd5702cff36e93638e194bf74eea88797c982f26d5a241e3b7796207a67619ed9222a55a2dc31718140506d6aefa1fe2b661c40dc47e7d8a7d6818e84595aec7c61834202a85b187ac8c15164a96a364ea7de086d19f6c8c98c41cedb7e06ac7e84674508a4546d64059258dd8c4fba52576ff1817344c677ae15d1a8755420570095111c63e64a5e3c9d1db69a113ad009e0411c3cc91fe95b86d75dc507e21a464452332e1d2e19244c4868436004a7c80a4ce859fd7f7fb407cd4bfc46de2900454c7d68c03ace13c3f488b1f307d1aec8dc2f8ba25af7c884d8bebc0ec4ecbb643e8c4cc3804492d497fb76ad0b48c6282653fd113288483a615c36809577656828e9605a42e60997e413193179de8e3d82b851cee19f46b388413a51342e43e7136429424e6d3e1fe0797ed46906197306996c984743ccc8f240d4e8522d945575c094b6325314d7f31175836f1735fe917beecf9ec6c429a995f7823645a13007100461f962e983895b7ae1c23e28820aa19d7c2cf1143486270e044ad570c29ce8c7b2474c32d610f845f023a90fd4c5c6016d2a603232ce33f11c1482cc351faa843e04ab5ba0e415d03d89573b416e5b3da45840390fd41d6d38e8b16f09de065b9de5cf00e9ece86ff64fb368001c470fec35d81bde3c26b68b76f316118d34428d484ecbda5dc52a69452a4049b04cc04fcd0dddd822d9606592008c2dddddddddddd340867a6cbeee6aae62088086a7d7fe243902b7195af56132482f97d324862f885995b5b15cb57a150a8f39589b5c1af533bf8752a7fb62cc4c25008bac0871aa8f181d4830b58851bfcf6847da5047eaa39ff3edfcc10f6c3f412f548445c5ababbdb4b54e5795618174c344513b6031a4d7165b1c4235155fb2313f11453514994894820c857ae02bfeffb7cf5f9eaf3550c613ba0d1148aa6e6a2299a54178c6608a8a8f16777a52112de7c0521fc62585c0948f4e2c1864868e73395679cad20342777764d4cedef54d0bcb4e66baefdeb2768374bb3649aa72a0343b3c431b40121777777777743ee668fa9fd2f6df235d74f50cda7f95c656abe10a9b6c8a3f94ab51fb6885c9a6b183a5d32e0ccb5fe4fc69a8faf7cf5c5b08cfaa5b64bed77f6553b15bfec1a028c407d3a5a7db55ad5b090647ba3db846a7fc69ffde7b88dbb9f4d18b49ba80be536dc210c442511d2318da476bf334c5f234a3dffdc257293b634fe5c2257817e89e006ba9c3d95ff392e478b2a7f18747f53ae4acd3de9225dc45ca20b5ef0125550dcba89eadf8441bb0da87f037295299aa2156f42ce618106a511a289d1c068609c08ed66a79930d3344d13d52291e9c88f928f1189892f46249a4266cc84e176777727cc9ef03b11da694e3027579920f7f83530ae325bda84dfa5b206c647e5ef34a5ca3f2a6b602a4f91088a3428be7690f03bc5a14b4b9b78cd31f4786b1224c20f5d18864395bfcafca3b2c7afc2bfaeb94ae3fc7289c61b1d5875d50fe8ba89c752254d902df392651edd1e175ec8b1578fceee0e6153dc99d8946d6e3f1084f27bd2fb8ef229dc0923d0839eabf89b6af7466af715358513cf33b8607d7c1d5ca1a579ee0e1b7a70e3026cb9a199dc7d693077d764104218638c51a3d9589665591667c33f7bd00e7a3ef2512ad5300db35a954aec41cfa39da7fe6ee6f3b5c9016394a919baced0b57b1d0c7bec493f6fda9e3484def67bd28f43ea2515728ae5fa1b8a60c82760d23c6827572668b1bbcb91a6e6d8537bc2a96516969b5396397c426519cca98c699f8287c6a8f3da90700052b646650c07fee60ee250f973a8fc4e842070b12b9b5de9f8123f42655f4265ffa2b227a132ab3adf4273381c0ee7e76677548ee628cd652d26a3d6a827d943067745c6f7f78f2f7f72cd7a333f8bb1720306f0bc71c08d8d0bf17de380f8ad410de4fed8dd2d74c6bb8940fcb89b06f46720bebf47adeeb0d877c8e0773a62dc3e7ea6cd97daf596d436d36ed4193b1d8f5db383cf0f372ec0b75e6aeaee432dd6b5b61b35db140a371c6806f86715d9dec8a466b32bfc35f808b49bfd34cb66ed9fadd1e662ecef9afdce1ae7dfe05c45621f91a01e0e4705800a2839b0b5b4b5905851a3d16834df1ad77e0ba3c12dcb7a8fe5bf9bcd9ef0c323ec36ef4a6faeb07820e0740308258511212db8824709900003146de0e1f12041c4a1881c96800218089185098860050f171e3b50a0250a1c9240c4082ec0a28a982338258eb17490ed0dec9211636bd46e36e95fde93756f0821c3eed8bfb0ade636f16829ec5519b213dbbfbbdb29ab2da19da7ea604e759ea4f27e4700eeaee9487474e53de16e779f97e6a88e5d15820dccccccfcd04b2cdd54b97495ae92abc0d055ba4a5729140a8542217766f6abc471ffdea9f23b10b4db7c5ee5df7cae326126897a4c95bfab142a954aa1cd893345e7237fa2f6899e8f316ed4638c5124aacdf0fd7da8bc7554b403133d44229168c3571251c08dbba3a0febc2dc1b981738311e836f77ddff77d34a0eb269c0a0687cc92b12c99e84517244d45af6a77aa76bfc5326d79f6c311a00fb01c6f9d07a1f20ad6efd6b1509bb9da9cb5271b6c81de04953f7b2045f5c1a65cb15aac0a24b9890cb3008ff00a4ac8c021c0d09e400f07e79b1c192fc395e164fc089f00fa509b04753852fb2d18d3221999e64ad80c76043be29b2b3820eabfbc024c259999e18028fff20aae9a21828820415ee80be5218b2cbcf0a2e3f1789e4722e202d312fa84887e781ecca1f67f0ebbc2956587da41916784c8049307eda0e7792909468c31c62429216892541142844c2072895c22974c97e93263305dd8886c02a1ddac300614babb27698e8d984208b97b0c7cf9fc0b421f7efc268b4b2510046d4008bd7f3d66665e665e661839c6ddb8117a2c2c10b41c0a42fdadd0075b9a53b909a83996e6bceff338663159c783626406755f8f6f9dc7dd3f1924312fddddfdcefd7d0e3de931023f0fd00ff2af384f098a533540dd52111d660beda65c02f554cf83dd8d2d11638c11268110c21893f04077374f6dc0a0fe102601820624a55cb92af8ef5f9a644daa9abb2e79a9305bdae49a9715b4932ac91b332f332f4b39e58cb576a3a7989999dd9d756055aaf6c4ffb2827699ca53b98a44a56ae60e22821556608105ed5ca5daa02c4bca39293db513547489babdd3e91441b1858ad5111955644125399d644ea7d3e9343a9d4ea7d368341a8dfe39ee743a8d4ea3d3e8d44e741bd286e42a93e426fda5b9396d48321bd275822797e644a7936883ea0c29b133333b333b3b7314f43a89ae93abc09636f177f1f1e3f47289fc27bdfca106619ae34f4551fc31e3a1ea0f93b857dd477596ea9c720e55f7dcc4d973154882246666f6963df1cf92a498dd9d3de7de99f9e426ce51d07513ce4675aafe1c91abcc9936f19f4a260bbd5a2e178ea8fa6f54ae324f6ee22f335134555db55155c7bcea30a9143ba91483070a2597c4b99a2bb9a4271858369530bfa0dd8cb9721ad0effbbeef9b3c380de8c60608217777777777f743ee85964708e1a4298f91b9e99ef4d6e841a30b5dbc34573daaa469bd74581bbb97bbbbbbbbbbff5ebceccc197384524a1925d4b0ae98c61fd6bad73a4fc572c818af18236bf12f4d06b73efec6e85efdca386ea7b9364f5dd775b9fba5c28de7e04bd6e4efe672ffa839749fddb9e11a4969591d4991949a894484c4924c12d39194a73ce52a50e4299148241261d7b4a2a73891a722082302ed22091449911449a96ba429c24149e9165fd372e89c73a41c0f723e8ea20d5510aae228be286111730c558e3f2a4750e5d852f9a1ab583af65566a9f1071bb90a2cf1a4b0e42a9687c20dbba0ff735c894215a853f6d9e14ca7f8c35564891ef34b65df8510ba431f953f93da7eb01157b21cba5f300553f91d453b8e9792e920c7ab8c8d2a7f0d56312c7150d4055c0475e722a8121364596cb50f51736d89e4bbcf3417262d41d20619baa2768fcd0b16ca4dba08ede00955db3a5927d46c14d4bfc7e36ea1b690dc3693cb50ffce3a759e7a41619d8e34d7506683a7e6fa4bd4467f61d4a8d18332a9762e0aed495f413bd94c8d8c605b2db89e063fea2af12283aaabc40f446a8376a5ee097fa963ec0bcbb0c61a6bacbbb72983cf28e85797da51584583b2cd0605b21a349ffd8ecfe6777cf85bd8956e21460b6854c26a0472988fd98423007901eac3df5e873e6c66491298802195dad42710a7c8133808813e5da7545daf4c74e021f4e91c54ddabfc1ee7bfb6ee7beb3cbe494193a0dd5c4d6241b3b6d1dd2c302da4553ca56ee9941d32636aaf4b40a843669450bb8ee9e82db0870aeb01cdf13c427fa190820b53edd604eb673757ebd8e5b0af5c989683d546fc7e28a4a89e2b6e00f081324684c6503b2e0bf0e3c79f57a491031ae30c13bb1ebe15afeb922bb87b0c332aa4b105ede6a458738e6004a0642fd02d772bb3dc7287d6c30b5ef08217841b7f3238cc3722212151c17ba4763c3a92593e8cf0a38847a45adb0801b5e32a778448098172d213748708f1d5cebf1f23ff8210a9fcfec242a613b4e391abbc9b9ce80c34d0ea33f06157e0effe64ba818fdaf1e8064382305137cb2c8d6559524a9e94ead8e53ae6e2b5d1e1353ae4c4dfe888dbee89f534bea070ebfcdde5c7a7b1c58f4eb1b6193eea14df0040630b8ae180ae26860b5eb0cc2628f69811da4b506fdf2c1a66e5c0acd7f5d96e20841b9f3ba01d8fbe90fba785766d55f1318d7313fe4bebe04603833ab05e0ce1833976a9fcfc83632abf7f190804a06a3dd4b4f9d7b5b3861a9f2bcc61fdd4fc5bf05923dc3ad07195fda539ce55d805cc8ca3328ff6841dc6bfe660105ac38e4f7fe7df0bbdad9bac0e68698608b89bafebb2e48c7fc928ed0a7c7fceca55f803c49a7caec26bd2e1e0014a13dc127f4475ce4a0ab1bab64e5e519dbf4361ad328c43ec04728904f81325499276e506eb92047df0420edc5440e2e629144575502824211fad82022a89904f925c490ae4b9a824a9533a2a4b9dd275a41049a4d33049a9ba5c42f9318f72ed267f6aacaa9f9ab5546b724f6043c832423e63c4c855d08321e8837b3a92932cb914d9dee864401b1072561c253133d5bff375625ac573eab0b854ef8044d583c8a1769dd1280820b5ebbc74b839a94ee9b095aa533ac949c299b998a01d67f571b0d5870397e10fb6721323b49f7352f9efc71ff36806aa2ea3b4272b37f1e7b077ca8b8c44d22a344632a65376c81032d55d8688849126d41061d44e9e4244f8a89da44292aa7f84dc291dc7a9705485006bfd1c4e6a5776a5659ce4cab1702ca69862ce1961748f56d430cb183c7077e74e9f5a0c9e39e7e40bd4f9cc31786a8c9d27860b5d24e1a0c631786a7cd7ac34103a840e5d0b6666963352a505ed3215333333af96243179983c20c143e8f77ddff7cd242612cd3c2405bb2c2c50ebfe4b7d5fe65083a010d00e7ea0225d74e130b485070a5b9a7318aa839778403dcff33c67777777777767777677776777f790bbbb333333bb3bb3bbb3bbbbbb3bbbf3c0dd613ed257fa4cdf556a7167ef90a05ef113e7c886794d1f6d73422d9a6234ad22cb111513a794129968326d645317ab0241eee941a30df08b6a8241a8ed8235f1b97533864338da937e68f2199329eb628b2d36a7ab0404bdbccbbb3c0f323307fbbb2b960bb5ae2bd6f9a30e4bc7eb0434fc251dd0d561b1acebad8ed75c774032b890c1858559fd32b890a339ca220a3ad02e0b496daf6b4ea9b134c6b0ebdae4b0a003c9deb5297f7402be4e407f9665d9468e9a933fa0273fd901ed49f340bb2c34ea94904b26ea14d0ae6c84d60c4ff4ea1a90eca706a50bd56836398064722e05693639b0ddebdab59ed818371370ed51e841fe6893fe6b93236e72648466a1d65c9f69a65559e318504b2ea175b10a533b574dcd512d4711480c65a10ec8921d1047664f3aa02cd46521501642a1076ab2b4cbd2668d9aa5c90a1df3e6bdb0ec65a82214000a32e7def501e5b7de9a3bb2a815e144b1b8f70904ca1f1fc28dabcb10429875916da774d32184b0172e5731211847b0a450e112cadf3d54a146a831e044c10fab1e5a0c61831fc2c882470eb0a06c841674fa50c28b2e7e20d580882cb0a81ddddca0825fc00b2b9383018c8030813e6e8211278e4d645e84bef000e80c688e55e6bac98e060177bb4ca9e12560a8f1e7955dd7352da6215659d2c17f37054a2175258905f2eeb66b1b63dc98bf6732f722f4850730a0b98d9ab70ca6c9381b0be36c623436c8546061d75bf2ad392d0cc3300cc3304bbe35afc7ac225c2d8f647b2363e6d6c02e7b03a8abd9ba255271dcd8956b45d3de4d9a4bfdc13626ad6048bd1e0923aad5801d5265370c3870a0a070dca25043761ce192772800078ed9b289dd5d49813deeee0dbbdd5d6dd65ddfefdcdde30ccb042963c6b828d6c9389acd46c3c93a18bd624c19d2046b46a401774ff05d143a0577f714349d82a7068763c48a6c764a8da871ad5153a89e8a826b27541a556a714d361ba8dd8059ad19d5849a5d19a6712d46a535d3685cebd48cc3a91947e3daa6661d8d6b9a9a518d6b59cd62685cc36a668246bb6a66423623a391a190a1a0710d7acd52c80060a30607ee09fc2e420fd47ee620f46ed722eb949bb0cc16ea1277f974fa70708c92556056e7e346f33b055deff8edf13757d0aebd96167df463fba8f1773b210885cf199d59655bc73f522d98a5754e0882c2ad6b971adfb56ed1dae3685da487d016e9a1579db2457c8cba5652a36fedc22e27df3c959ea9f167699a5028d7798e674335bfce6d438c41d7e65bf73ef22f4efe41a85da7be4329224965a1ee902280a84d6a6e5fbe9b805efd3537bf3d1499ced67127ced6b557a2fdc539a907865d5918f6c4e5f380c28f16e7262867e793a93a7f1f8e0fe543a16e78c98498b85df0c3b02b5c7973ffec1bc3e46b304cca4ba3f97e8db6f16fee46738eba809bc49f313edc3823608ffcf8dc56eba38c578a93f02a7e7ba91998d6028b9a63938f50b47c047b02bff31ebb02e481c6e729a84341e3d62d0a7a7b02df3255783242fba19c72ca29a5941b34c1139604eda0099a5c057ea0e72a36f653037f200b12a075029231ac4b3b053f63374f73fe1988dba4b104fa50308430c60865700ff23e27a58c82a3397e9804ddf7812541a50d8264db19628728d13267c4c04be5a7ac041595d901d9b64a896887ec8048ed8d86e65965904b080354f97730cfc02a56ed4a017e54413b945d69cc06d44605b20ff867bf16f0cd0605bc061bf2a10d0a441b9fb8d990db0bf1addfcf8ecf8e4fb66d503eec726faa7805128d3e1852895532a814b675ef991bc5a1a1a07410f46bc72a56c11d0de30fd7614fda4fb02b5cb181270f979fa864aef605b574342300000d9315000028140a0644428140300f0451f30314800c6f80487a524416c8b220477214c4308388318410400000c480316664c8a801d8ceb3712474004e29d32cf3baa1e4c83ede1d4e294e5b5e8edc51d5d491e8390a36bc26b1837e3665ee451b6ad3e08baa379f5bcef180c6f8851b67e319c03fcc1e87fcf6d0dcf1f48013175e09c2c1e7975234bae1b1c9d623bcc983dac8e1b0c6ff4ee4706752d48eb1f9a32ad6938570e052228f2e163e5da80a58b3c2cddf17b04feca65bb8d90adfb0c95ce104fe2096d728ad25a518a5054d7ead74154347f6f004242a4f98571bdc3e85f6c9d9bf8c67cf876fa4ad8b477db9c75056d30d62009b27d4e194ce9d33a17803a16be37d3a56369e0ee4b19858176aeb9f8ea06c6cbf4306b8588a6877d79aade5ba90ecb5d52ac5fdcca64d8351c4dabb8c8e452c0dea7768ad01c4443f24752c2269f47b0eabaee037a51ae25f8dd88a944b7c943bb74a0d95cd3855776652497f02453f93aea883fb4aff719d7338686ffa8652913a13ecfee283e1c8c1461e437eac0fe7a398b5b5b7e95a206cc031a0848886d3a483228b5fac3f7a61fe1fa7b5d8c8f809cc6a2343553c7bcdc25c62f4cf949ae8de2cd9fc32c1196aacef90c645002ed115f7be0716776db5303a0b5800a0e685863bb9cd754ac76ed3b1132486202668af51796223f9731a0907f191e80592760e05d4a58c31845feb550f3260e9fcb1410208ef89a7c7508d2c83a0801a4c6935528d3bfe7aa99bbfafc4dea12048854cef466af107eb752a9afe97e6ce013f39cc177027326b1877a3ff6b1bff4f0cc9b899de45ca4c9b2dc89787a765a65e6d0b22165afe6cbcf71574c40f209bda666a42d006a378e15628deea4c158a4b38b97fc56742905181ccddec839b34748b774a094166ecc144e84b5059d06d63ffa58b0e74d0cb0e845b4c3cb25684af1929fdb47328f188de4735fb7af6d1369d8ed1dec0f46a779d1bd47eee83a81cc9efc70555431cec52276bfcfe0cb7e1d862eba9a963f14d7c945c8066b97a4e7abd34478acf681fc33298422e67b0ad4a3a97919c972b6a44b42c1eeddb1e9cf38d3ac2aa2631f85cce51df7196b9fa08b7786a69ef398d6b28d6f95ed57206de8a230a322842d89c800a817e52b6436d8978ad2b49bf26c98324c36dbb968d67639644b3876a3dff6bf9394ac75834ebef65fb8fc6b75221f9274e1d8377c99dafa52284f2b5832c9f5f0529419e86fbf29ac6792e04f4f00bcc2b58dab25b54518376e7b5a95fe212842400d3c315d4b6bea1848422be92456b0d42a305f637b8b5f065e59995aa7042645f12c14de60a25eb5b20f904b30cee643083138778e6a385abbddb0140a9ae858acbbbcc2bbc188d8242cebbaa524f6240864fa368048a5f5210baa08172b348f8b2a813107656a778beae54377635a8ff870f31045ef31aa587c8a9cf2f0f50fb03b75be3939d06fb0b2c881abe041e3fa6c8db278bc06be65fa7a3ee4b0b5891c8de032858168d9a3d2ae8472f2a7054010b484bc95484ea4fbe92d765ca1f7bcb2f10b701b6ec9a8b672138b86a945d0864118151d9ffe669860a26b40ed0c6af01d24c52e7706e91751de40c98fcc410ca41d69bb71c5cf9ab3ce941d4d6e6fd6d7ab58956dfbb7630d8d16c1d7dc74c41d184bd2c51637ff006bf7d50185fca22e2fea76d1d0e90baabf25ea1aa2b5165e22384090915c477fb7c3cafbfa403dc47452197d261697304536ccfe7a3594a57914977bb991ec7e13a7a09cca90e4a79881584dce027b76d1c81d7add6c01251a6eebd83432ba7545d6d04618608b35c2a1e7ca8c0c63c745fbbdab3829cc66133a9cd98ac0654234709a22c92876a3a5990b3481e14a289d82eb6b171d0be69ba872283dce4cbc27757d0f5296326d831b5af863118816d1c738d220cadaa3deefbc037c488613dc786d394b8455d16c6d24ea51d90634f22bfc03767e2ae7002c840376d8e41e19e6812fcff5a737ffb9ffbcdde79f54dcdde5a37cdfe8845512d9cf29157801aed4ab7e9669b6eb6f54f25e4b3e665e79984823f9598cc7d14dea283c5844a155642b449990ab24c84bacec4c58196570d4a6f9bb490994c6190aeba70d722a5158fba64ff864cf7081820cd3feb3a74c43895c4a7abf21d958600ce10ede9a6529e0e8fd85e440a37c702b98069c58ba1a7b02c00b7231ba543ad4af1c744998698a29b9318a1ef754808f0c2851676b32a63b78606bbe3a5cf4d6afbff05a79610ba466d9633a917dfe2eb00c4de8a8be588abca8470ab153ae00e436ce35b70d0d511b8ec526171534e35cd006d001e91ee45c5667c7803b0f3f4df98051ee8148854a5f95037722a2dbd43b95b6c8b0969ef09cbccbf7c1d62a15a78e6c38858b258036449c4c22a8c483987e49b4fc48267bba2bb03c94fcc58b9341f88a3ef894c89e557ecf4ac95697739a8f2eb823b8f97911b4658f11afbf84d208480ff6b7f4eaa462dcf6f6ab02cdc93e6597c8e939b930d38d145040d93185cc78cef0435aea29d178862ed81c78b484d3fa1f7baaa5d4c1c7cf339865267a04aa994831507456b2e01821889974759c0a060d58e6e36f86c93cf36f86e9befb6f96c8bef36f86c93cf36f96e8bcf36f86e9bcfb6f86c8bef36f8dc1640fadde1880a9f0fb743d6e25980499e6975d8cfe640f99f7607d8ac92098e1bb8900bd35f220310caad7c3ff043ddcbc9fb97f013797cbb69e8aa8acafe0b3448df3f20d3549779cec0f6738f19710184a64e86a6e2126f60bd9ab3770ad809048f55ab75d63b899130335ef3de5e64f0d2b656607e2f7e1731fadbc070fe47b570f73d8083594cf99058773c8af94a67c39468ef52b8da7b5db651c0b296716b8112a6fc3ceccd9884aa9c0b91b0a080d3a8b7d2c6d1839c83a3aa18a47463390774547309b2bd0f5a4b25414bdb9fb51a80f89210f11861a9c0cf47f50f88359ed38865b5bd5d47d4810827416d8812fcfa182d6f24bae7403db27ba4208d6c489592132a6758ba1622a0782a23067aacdfb865ce977a4690f8edf8171750660790ee9cdee1848f59c533496312198d858ae188714b21f6cbb50e385f26f34f14da9356b7c0de3518f5991a99f60a6bb15493b401a1c0c4ce61797d9180361070e433f613131e89f8a499501b4ebeb09d5dd7223f039a5cbdeb41438d283bc867ae072d85cb3ff2b6f050093153885aaa85828bf3bf9e2ff9169e70d1e2756981145ce3c2ed1dd53397868d614159828265df5f1d23871eb8fa9d058f21c1d8cde8018356b4038d373a0f2ae60d93eb5be9b63e01feb14d11ef7c22ad19044343125f635814be80ea1e857ca028bc755c345d60f355b023810fd24f1ed51d81805be1798505148a9e96c9b22fb1cd3a312e6c6781266ea4ccee7fdd70df410bfa388fa4ba1779cacdc44cbd006864470b6b7dba66b7bcea3e178617218d47c43ce72229c231551fde5c384819a5b18a31e5aec61892785ffdd7acef0860f4fb07814417d313f111c93141053a28ad1ae492e9cd5652644cc5659f443528eeb426e49b3cd4683d502e58d862a4d39f827640082dc80c924e304d57f7f3371bd5054c51b6d7edeb1ac1ef3d88afe8a444cb8090582924e985ddf695c8b4370b741a554721e3fe7c6c33ec636475147c6b91396e277a712ca4f70389719e6cf3d06bc6d959ae77e4abe930bd0993440c51b5a520b77491d1311c5341e2b0e8c3755e6beb24683171c4de842ad0413185497691defd7560820aedecb123aaeec0a5746c04458a21f31ea79f1d6c603d732ef440cf50eab15fd07a62b6bbbd5be60436904089523931851022bc7818d38217f8041902490222e2352752c11401fe25f3c31b79791e5c05932d57f099565c0f804f274d88e66e77fa092fbba7e475ae53d9d1aac145bece71455189f41ce525f22e70590c5e20943a057ec2b057c1aa56a700e4da817f52f95b909475ff4416ebd17c2de281327ece78e7cad9d73417d043596c979f204742002ad7b6e0395e0fce678ca040887419e8263891d0c507fda96c0fcd117f588710b08a3a985c8f9bd198b92c14b529e87418125ea0fed155b1521e802fb78d9709602e038f91aebaf7c552a4aee1e0bac0f713ee7a1bfcfbf2be98a23132f4eb298a669687621b5ba1fad33e087644763ec480522fe33b962f919707593e5aedf6381155c4a6cbf36e31d67e79a489e459da2d424d34382e96e37796a7b4bbe504cb342ec7f3cf0ad9a2464f238f61882aa6e76898bc9ed83439e2bd590cf0ccbc64aedec48307173bf2824ea0a52de034ff67020f952c8f747c4b006810693ec1f824b0fad5c8bdea2b58a040ca50ab1a027758eee1735c9f0095ea41ed0a5537c3547bc01fc8e2c79cc0ddf55db6d36e1012d58173df7a3577a7711b76ffa82d37729ff93ce1203f4d4244434eb3af04b470cc5badfaa703d53965826585b2e4ba553362b20fd6513c78cc8c9c1c275995dae1991caf22e296367fd970dcfdb2e2190d24f9c09b525233c43d0dad8efd519aa579c49a547da8e56a31c32411536bf0c84081835c802bd0dfa3b102d79c53ee8b004a1d9ab549d1c8fac6009ce5f490e356472ddaaa79df77310b31a5a9d7fb89f38a18fa328784a4b50db1af136c1e3162f990c3a2f155b5f14e001f7868cfbd23577d3b08ec2bd6231edd49d49fefc7f8d10eac3775ed1d790a46910629dd13f68f002017152205bacfe47f35f490ea5d5c3da04277a939d81b746c0e61df76b173543b86d4c792140924e0ee1098efcfc0bc9c798cce22eb330462907dd049bee2eff34433e60711a86e974808bb73bea2fab3ff6ef59988dd7db597d266658c501c70213a53d2f00b4b99e17d0b8be6d6a37450269e3b9d73bc50956374ae3602ccd60f0eac8ee5fc816b35dcb3038861f50498bdceeb11eb811516171d5eea4c1be7fa3f130f31e4f03cde77a5fa6d95955959f7154cdb56a8c8b6618230bf21696d55d6e0b8d95e50e093f236e663ad2a83ae055a07b257989ec6d31c66af588d2693f8d90b68e21763cd22ab3c801672ff720c411a8275429a54632d197a3ed9ade05513ad82c9129d0b64a8a0f2d894f2cfb5100035b5983e7d87b520de3623cf0ef344b1c6a3d589ef7c54cba11f4df2f3900686eab20aace863dc9649dbafa6e532dfdec603e92160cd9a3f9429a12a3ed93ade803a67ff9224342ddb625c90daddfe537b6136e9adb84aa0552de588986620484f7a83c6aec75ccfc509365e2463b3fe50aab768128e8d515ab847d4b3a5faac52f00ccd1d5043dbc6a4123d4d1e577e653d5a1d2740424503bd594eb005b547139b2bd73fea50f9184376b8281e879c8631d4578b0aeb766491991b3001ee7b01a28b4bef290398eb54c70d7d4daca596d2442bb00487d0b5e16790dcb8147561d14ad3760c07ef5ed30384d80357a05725aa046eac09f1e11750edd62dd6f71b1e6e91d2d8495233d84ca10cd498aa4b63013da16217804fc76e2a0baa01e2449d2b53a149131966842ba862fdc6de03b1a2231f8b138e5adad6ce7ce2e5de0b33ae3c0fd9c78ed391c791418a570a1750110b172daf0a6824522c05cea2f103bf9921ae357ee1e7998a73e61b1cbcbbdcc7d0086c59456e67812d4e2522aaaadc118508cdc010a97c7414d59f6f8a4d17ce2f82fa76dce14838d04ab8d9d75195676e26f33bed2a686ec5bfdc774a42bce7a32938e5f13deef51c4dddfe179520aa9a5e891dadafc2924529f3b636a4460d3de1f0475d3e87701dbaa5953171474823b5b2d78118c888a53498417aee2eab4c1c0e5f47c25141a9ec835639f38e19d460240d40ac50ff394a809dc7195a85936036235383c5eabc927c345f538c0861ec092429bfd010b729d84cfcdd2d01802c309ba8fc4be798e92d20d4807a9f81ff10e47bc23536c53ff1ab113c474ec8d06da283444cbcf58107f3cf1e049c0286b0d231454fe962b00f2fc3f29ca0a3b90aea03f7a2eca9151f35cdea12bcad40969ac00f0d2153e922d2fc44ab3a07addf104b2702ed0125077280597e250f29d8c04745c064a5df2260fdd044ea21b076bb48102f34064c7d3a2e611f397b15d462461d1601734aa8884db855aa2ccf9738a4f268cd0ce99ab9d99ac21528d3b2a02c7b9b5c68ebefce548a6368ab935171d5e8626d43078bf61a97dbea4900d64174beb50a5b20dae4d8ea47ffebabfbb9d491abf5d378b6402d5ac2e7b96f25619789edfd011db1316ef4a5de3a1f6b4d98577e31b245bb2c33c9da9587d30dbe61af2d8c593c9f9470a419dee8cb847d3ab13109a0330e5eec473cf6d689525344cb9187f8b091e586bb181442cb1645a03ecf94a93229cd744990ab60400ad893844ed02430de389ead8bbd30a6638ae5272e850a604212e40adf17e7c7417040c3ffa60bad9001c608f84dee6d27b60eb6e5fd522b7ec84acfd40f89b8d718c772bac892da27593b6482564e1199318cc8aca5bda7b00694890b680ebbb3318d599a08680c01ec4a05213806e97ec71ac771ed36e652a85172f05b7eab2a0ec2f525554464181b6e118e80482402bce66863f1e7ae297656b5fe4782d65623eee4a1819abcab8e9295ecc98adc25a66428ee41422736d685d6589f6247638912c9422deb5e876f2200b6dfebb7841d1084f87c34f26170ef2bec8833b108418e3159b2dd2bcfc4c562cfe217f9066182a810cbe0191ae9cc37a83c5ce71d0371287d4e8fc551c13e38e5a2dedfeb65ed017d1040d282e81e9ccd9faeac2d475091f5b51f3af8a8629fce0a8e26f13a247fc3fb226f335ca8bffcd9f0207448ba88e93d001e03bba5e32ecccdc31f5ad405bfdf6db562c94fabec30f0b57e328863594a5a229c0bda73bc45189441b90b6e78336c26dfb9dbba2e119f562eabc3ce50c04db3088f1c78c1b33418dd2326116c3c9cc94c75f0ac47d08f2a14a7ea6eac93454859ffe1476c3574ade5c70a69799d340a8e6eb0ed9e0c48c7092818b55818583fbd0eee2d5afbc7585c6ffc5c16ea407abbfd8e0255592d5d1e60509a9b5629008893ab08619df0f11e56f216fe82ce57a9fbcfb101d6a88a5e6632ab455ab2ed8f6b520ce4246a344f1c46e2ca006f2d8cdecb5d2b01b48c63a116770b63cb8607dceed9a93a4d950eff113a4cdac2082e902e6d12d7f6370757a3ff6caa17e8e88ca822b0bb1d9cf0cbfd45a894276613be752b7f16e53063908bba5283626ac35da5d4644c0ff643844d5d3068e42261013c04bb8db22292b4ea9924908ae8a2db26f19c0528f53ecbb88925993e5d75bd7a2d98526c5de42f508b0651172f76719083e998928cb9af8b8d82047e4e8480a45a045e02de20b01907bfed41bfb8b67d6b6d2807a9420760da67bd237f5ca7d8fc547a5ff6cc66044c64dee3cfae623b196bf7da9506c99add0b5577e9e6915c0ac99dfebb42055007af8f0ae97a28f902edcf5e590f9571765b1cac15101ffd07508e9d8b6c4d08f93ec666072e4075daf86cef8af8bba1b977fcf8ef8692ad5f9980fac317ea717072a8be60df2d2a8ee3c369c9dfa990c36aa2c41a51fc9f8f7c2fc74061e9a75b94a1136637f1743a339959bd133d88af82f0097655e69c0481886042e1120983a2101a45c0914acc0f05e18f84894fa09ce441dfb964caaa18729b6b751904792771ed0b6df9fb43851025b81102e904e25568bbf8fe988c1102d21ce4bc2a85a38afb66ae80af4aa913f090a78c2b96326ebf00b7b3f9be71a1c6625052450e459ef2458c798d778189124cd144b5d9547992c40c1628f590884cb2f75acd79ab6b404e8e33982319ad267a544902dc170e01bfab32bf7f41c2e4aceb27bf6534b8c7fa383fd30514cf1fe816b188ce8c0b5aac0ef147f1a434e53f0b3e4f31e8d524784f453ae6039148d0ee2427331c6b01b6117cc0b6f9e339d652bfe9c64a6d49b82812ccb8ed76a847869f37968ced6586e7ee83a66725ebc1b00b2cbef8086206b4ff607ec05fe1e73e8e61662bd9d0697eae2815f500b9910a04a69634f1af47f5122391f87eb62045c1fc41eba36fcd5fca9aaf4e228a6ae7fb541d225629b314b30811d59e59e0de9e8ef7cb56002afcf248dfcead38af2210819a881bdb2fe763dde6300aa6c9a9f577eb328564b3fcb0826170dfd10f96de1d160c701d3642cc7d93e9c1bf35bdbfad2abd986fddd716b623dbe53593d51ded4c5c7d806dbfa3e8070e25c83e53e797db6eaf3845152536a8a41713b9a78978c6fecf51444576a888e17eb4e03ed4832769c07d7e01da30c28029b59a137b1f9164f84c9a0020bff4f657e7a8829223c480c8feed5915132f8277469d563150bc20da448e20098d3a495fa5afd7cad1fddb3e826b03d58c004107b7c1746dee6af3b1595cda9f7cf0845bf7fbe2efb99cae1b20f8531c86eb3a26d688fd1aadcec66eab0ebfed45c75e6221a1cf51a59f0e2fa8755cd6bbfc8f3c7a5fec458f30da7f7c48b59f238031a00c07f450d7d8078e8af8c7414769a7c0b1a3f393da5b7f6b3d68e83cccf2ce51e2289156ad4cd1c7c1aaeb72185f3607631823bd724cb4233705aa9e8adebf1b20e859d0f532ffb27890840668e814b0df0813489b8cf4d42b9b4a7f6b3e7f5d058880afae871a35c21555276657b94b898cebfc91f0ce1ead39ee9977467551b9c7e78338e203d7a670c58b004006704cfc50fa75d7838932c5844bb638fc1efc616d7f8395b1c8bcbb1e5d04901b2a73bdcc1024ba0d10e6809eb7a323adfde7f9b09ba19415b3b07dfaf52677f8d25990bc1c0c828b81bc50c11df1c73d1c30966dd388a5ce6a50e0ad915540674af9fac13e1d30ec2b306264c955bc5dcf994d33776d473ab32cfeae4f3e63a52b57b8ea1cb6026af42857b1df97ef041c0709f082d5ec108f867830809e1e7a7a682ea19aa81316cc9633b0c8bf549c43a9c46b59fe7d1e29721235aaf7ade1d49afbe9708d9d50e3ebdb086e0c4c80b8554302387d938b934e46139db017a4bfd53058c5c08c2266bda012d861ed21c26a25c18a9a10a2ea6041f4f5e56f942059d16917ae42a0a4b98f34f4b5fe64c376ebc96f430f03e5b74b552b6ea112886eb759caa55a5d28dd059c4d70f19e7fc60c12b0138f8ba2231d92efbb283e3feb92bff18c28e07eb4c0f954a51d565ff7a7595288e987b820a0b05d3a037761a11740f2402318b44b488190913121766d34ba29ffb14d936d02e86ef65892d302ba29854f9429f98c823717552d1512a8dbcefaa573319f52d48ae706e16dfc4eba83bc9fc42279dce9b7a26c5795472d834e16b20c4216282af5b9f4edd9237d07d0eb9863d5864908e5fbbb62cc54f6d00689eecdb0cb844ad9a1ff0ec1175af045db36a3eb78ed4d6cab10c0a480c8d25daf1f3ac81aa8b08dcf0678a53dadd595d03c591d4158ca0e6465f440864b35926fe159e006defaec1119083915154a5d1b6d5211af6d0402085c96ef7a0a4eb5087e5165adb2f1fee573b335ced2995db78554b613df70384662a81342b4bf514c17d290db90c962504b590068938c258c7bfcbf66e9085e3511ca7688877f38748f8c558fbf0319e31c163c560a5d8e85043946eac7a1a28cd30f7431e442e3f73eecd5dd144c89f4bd8fa5aa8ca796c596661cd63a00fd13d4aea1c1fac23cb403f600f4c50717e4815d4151f793a7fbe26e87de1c7c7d50cc03fecc46f04889efcc37cd1636a780717f2abd05d1d9a2a75e50d2d2285301b53b5ea9264c36fd6e69a54047e5869266a4c2488919617918cf53b24cd6cc64c16bddfbd0c08b9751b30e52751a38dc1fa3bb40ed3add8f439189319d3c3dbcb59396468e00780c43b16d651ece8d0676c39058594fb7c1bd4d6811e8ecc99a4004ca33b0ba0f1aa2f7ce1f5c88e09584617915fb811d2efc883c2d6b7522915f313cb0db4c1d8913b8e669eda30da58e9373b207066bde9172db5ea71c95b52c5abea2c5e70827912342875c920611fe33f59938c89c3621a7ac431401617db8d2cbed238e952c6a563441d7515bd34adc4863d891867905ed044467859eb54ca768a0de5cdce361da2aa95307b73f3f6e8820e8c52c89ebf6832811fd5e3fa0973385c5ee3fc064912511de7eb4dd7a09f4d701f7a0ee390232028ab1808e6ed53e9a06f35b830d7d511e979a8d35a9e302a0936a4a4ea6528613a5b17d6da2f1425a9454863b2239dc5422f17c263e68f9fb4b85dcf91c1b74a129e0d32f5671378e34eb4d68b15cd18e4718e521a460853bb6ac5392bfc4502a5474d1fc4c8392a7e2c3eed3244af828fb5e46ed6b00ba76809a6ddddd966725fafa19f496d2ffc652ea1e3f30f9143aa902bd7428fd13fee2e39ffe08bbbe3b3a80ebdb305461a0009ef70947647afb00d9b389b6f35deb6e09e35f0f65d8186ea90828394b5a5317720d9aaa9fc9f765e6441707a529102b8a0a68cc467ca0c3ad9d1bef1652d49c824a0fd57286d63ddb634bafef4880a501cd5bec3bfd1d29caa50106afccac0a0975be324f169de23094ef632e6e478a56b1344daa12b02c89004705c725505d5156a06cf88b3f8d4f51047c8969779f99544044850c5b687eaf003630a8833599a792129722f591c1d95830f955bafbcc6ecc25e934176073c0394b1ab543b5b926dba6731ee0f4ae915c22b97e3cb6a59fd751329bee22e73140ed2b8b8838d00f7ada85f09ecad6d0ce1bea9212168f3fc3dc88517b662f6c3728b79f805ea11e69dd005a1813e5c41d2f4c4ba1ab3c8b868e0f107f91ba0b8c2ba03511be634443197477c89c1e2ffaf57d59e17a176f4e8b1d311f3ce83987ed7150afce910ae955e5f15e0608fd06329e028b2cb01918e814b86c8f4146c0ec731b182a230cc4e2feff7faf055a3e708bdc092a2fa081089379a736fde5dba342660eec5420150738c293966ec23be50216f7d22d24f0a067c3a2e17a3774fbcf0396fdc643e1ffa19ad9c2ea1971433b74b21c51d6b680059830a21ddec117289be4e1079c5bb44c1fb3c32aa93e12e9b96e2d37a97afca2775aa6fb89c296767e2e594ff5bfcf7505767b4a40182dff0f1bf7314f24b82c651db161f1cd44da986be7cfe220ccb9eacad3532ed7e078df4274aed03dd32871cba3ee6062bbc93573d0566bedd3fb3c2871d016311719c7c33ff9510dedf059b8d1b64c42e3f77ac026a2e7b1bff3be719862ef01ad7e4c8c5ff05170fbce2165574006014bd90c6e0e7152dc0e2dbabffc21977023a1e5b9e510529b21841de3d67686f5a4de9c80164c1a2988b1b4c3933e7f8da13caef8c1a3fce2fbdb63e747f8da228045c99ce04ddf5dfd776dc0134ac863eda09e4087d6cbcb54c17310caa77e90ba9616223f98c68c3081e63c04360e04ecec7ff16f5acb9f1728f6ad65ca846c181c16f19b0f9e486f7dfc3cf8d17f7d5f19243693b59f29baa4b093bc30bcb1a0bc1eb1a3bb9eb2f933eff037ea89065b56cd28ab9979171a2d0723fcfe4fdc2d46c76ab88b2c31bbc4a50976162b1c2268bacd69299dcd6a65b17befbddc5acc67ac1315e60c15ea32ac9ba81f2041e37311ac43a6100b9b46ab890ed974b95318525eeb2ea102f30d0ae9ed7de670593eb47420c2b8d9bc8600c5b6db4f6c5b9df81065c33885ecfbb03c495da1e0b00f37fa2f05c4cc6a96159519a0daff31cdb46c29ebd9c76c57b00542597eaeaf7d5ac38756f9f651c96f25b32fff4916eb818f6436083f3b071d1f585048fc8acd40bcb9b4ba84457ae47c1f71961e8a4fcc2398437ae1ccb3a70b094042a40058e7e18265e8c5d30a66fa90c34a7ad7d2d9fa3b6fc5299817533cc54cbaf451cb674cb100c2ed761b1b02df39bcb2f8d5f2e9fb52f8b334eb8feb3c4a9e9502a69b8ba5174d17274a9c4b47bcf2688af362d351ce3faebe22141b05ac11ed996fe04f5d926fa16328c7ba9eaf1afd1fbe5efa60653fedffa93d68a9a49d4fa274dceec63a5e56c9016334262fbad2c146f4a211f5af42a3bd81c8c9066d68d9bcf851f06807ee08f41ac6508693da077b80597005c4b7296031c3e78d3d6c641709a7e2464ee8d7ec892016dac9ba14161f2c51c8661f2da068e60c392613fc382ee2aef9d8d59abc60ab565a346685bc54258e6f93a6b1e903cdaf50a8aaa511e10b357c925782148f515a7596d64aea6589a53f54a12e4ead6d9cfd68b4ac54f00fc6c2b1e087333786ba565dcb1add4f536496583f8e0f01734df08bba4635005ad8e81d77ee1dca9e7857e2bef6f6c0ad58bdbbd12e2dd6e96bf68158cc0de18cd7fb26be114e6de2c2c94a42e8a965ca17fa49c02b445b5580fe900b8fa423e03f52fc1ae0c4441fe9345238562d62eefda6bb634361eb285881e6d69951ac0f549ed8af39b9faee0723c155dc094180609b5b4ccd2522cfea80950e57ad5821d0387c822e36e96eda7bb63eafac5610f1d5b8de3849c90a06cedcc07ff3568efbd93ba93155775751c490cdc35def60ac9ce52ba23511b138d5421ebb3f5fe27ffe6280dccc8420927e7fcfd29e70f57cb665e0d46e6c42d2030efe7876c38cd8398abb97812a734c635ae32404719b78d055c3de652d75e3ade8d1a44bce98f6eccc6bfcc2c3b552976ece3c1825a7b3728ca871bb1aadad1be13bbacda9766df0db45f1891d88fc987fac4d1f0b92f73226afe97a321d1a484f361149d10604047599db68ed815164cbd291f50a02d5ba64f82026a849c36b10b290dc08cd796572f7d41700d34137263b8dddb57c0f2e69e4e9e2ac069d9314208fe021da0b7bbbfa372424bf1bbe191dc4ed0a8082871729b9f1268e5f39c90e630125a63333ebacb7e4af0c69382244752f2b39dba938b510e3e6fe5d8a1b2e2ebacc651d44cf39ef468d2950ca53b86a420ca38991d569426a0e7efc032fc10852c0277c59432e8cecaf30cddedfee926def4a6712f3fc085d028247591c2c9591ce4a3c2115b4c280f4dfdef1c15eae3b5ca6900709d40db9e81d1d488798d8373ec8a5e6aa0d8854369b1e176ac55a89bba211fcf1929137ffd6059f51c03a28a99816fa79ec8fb2e1d1647be6ceeb3838de4d00894e04ee0e10f64154119c1d7a0ca890c9ff5bd4ed0032ee931e4c5b1bb815d00faaed2c993e73c520f827f907599030a8169b9626d1ac6d0eebd6af94502abb04f69253f3f99258c77b1a2a004c1af570c7174a5c4e6034d2df4a165a11e87e13076a3dfa42b97afe2744991b6e90286a3f231853e0180e247780bbd71e50e8de8504ac53034179fa340b8a790b217800d47a8a2550bf87cf2e9d08304a2254c10c130cd4bbfee38142daeeda24ee449f26d74fb85b3c4206190b3a26259ced592c068a6df1c243a496c523467d1f7ba16cb1cbcd0e113690155e6fbe259905e4f6e510b550b47c89b4900f27d749c991fd71dacdb9aa8af6a130fa50d5a9229aeb7b01c9ac4dbe56e92c880e7e4d4faf07d221ec320d615f03379927cac7ff38384293dd72ae8437210e7921ac6c6c4299b88d50ffff7d2148d00046567f1044964ef1ee8c7f3572547296416e0b3ce7edca4a6eae8320580658d3a2046dbda97b50edb8348b9884b20e9d581ddfbaf0cb84180f68e8e03791b8e56435ee637f5857db4bd0510a4769914017dc86a68eb15d4c1d9c6beae20a330877af089b45b89a925e82bae01bfbc8f618cff08471e5959bafdb29ea9969c9ab373d1d9330957c6b342814acf9577a916795e4530913fbdaa92a48b3e35dba5db62271c03f2c904e3b6df17226638472365b5b887f801580d5b4919d9642bee9f60eb85ace3b9c6707a8cd0490e8e85274a60c44944f930acfd2b90eb681dfb35c9076697adad6418582a2018bcdd46c4a1f3ce9bd72b8a8f1050f1aabb7b94ac62d2da71d8aec0e506d1e61139a561c8f306fd769383a717cd5f45a31f002356f20eebd395acc8d319b1a0009f6a2e107543643b19f0188159cfc4025f063af0dad6a95d1164229ef24bb65c1bb2a130a0a6a448ec59466e5add555e90a3f52e783eb5b293522ca5ec8996a2726cd96261ba1c16f60bc74097fc614930fed34b40de00e976c47ac36a3fbcdb6131055b1b3820a06fc687f572e07ccad4cce6bcdab2ddd204e125a0a5d3c98463e01158817d9054acb7fd57e3f1ff4d34962a24bceeddda37678fcf34f0216e230e9aa0770716c0efc40487804b2c527a178050a54302f4d1ea556af0ca6ff75306740d499594d81a5f1bc4e92d47166e9f2eece336894e33ee9a4440de7afe3a78c206be647111018063067d755b2aaa0418f86e9d0be22851d5bf25e590d0b8cf387f9d61f05800dfa685ffdf5074f6e3547fb36213d979aa57eae76f407ef5e53a982755a3b00c0b1c0271bddf647c56d82a0f6e1a8849a7f3f76fbde9bfefe030e6408d859148bbc606be65a040021f43caaa1e4856455b30115576e94736db2b95ab0030cb954163b3f78a0659230637cec1eae7b288626f114e72a759f440e5ccf6824c2c0888a4936787755bda3590df9844cef65f68e84e57f8651d6839abe004c0603f0a23faede714eba5083c5e2605edd00a8b136e91c42ffb2886de2153379413dcd8f3b0e05ae6457133ffd57254dce18fc63672d55c020b555fd551d0fb8cbd42a163d1bdb34b1065dd5a5f54d8c215494c92a92ec7938a616d78c7389a4d1518096c4cdb837f1fe2288d372890bd4449291160a493f00b5e6b85624e3d04fbd54560aa74042cae0498783d86b980090bd06cd0728603e6da0b1da3bf78e3e50945ce590b2c596c3cf1c60bae0dbb745be34004f8f890a8169c8b031ff28a21c7a1db19aed45f513be5f60e6c0e6661c7788c6e893e3a050d3afee54bd11991d7c8c024f483279686b7b9037f7a8324491cf4e609708fdc7aa9e2a60128f73d36212388f85da67bceccc0d051a3ff2019aced70b9492d66163f8909a7bffaa2e03f1fa73525475770df1469b0c2d4e5f16f1f74ab96e16f8e2f402de6368fcc17a60c3a48906d11c837e04238f57e71f34bc7d14d9b860275a6d32fe6b81324cec8873f2a7590ffdda9f7bf0c5bbd34edefe1e7275f1a12b09d20a7d5cdfb53434e8e0924e06f89a96bf5b3e6b70a1659b41b555a9e4aa73acefad2d88e11cbae7d0f8577cfe27bf1a6dd3e73092787e23e0ca02a1d324b64b100482424d799c2b6416372da609c894285de80435d02d5cf609bda56873858d3ce7bb6015d3d73ee704846131e36fbe9a579dddce90e1a1d11c4751f960dc71a7f3e683be186d0b80776564c82db44be0ecb7186aea118afedd2af67982a029961208834ab01a20782be6d0f9f960c29fdbf0bdc103ba8e6a0718135959cff815a853cda2afafb768b37bbcbb49eefb5e138f579914d6712b56985990360d4685f14772d53053c9dd5ce9502439ac72104857d4a7727ea8a8b23758e1ded874a7382c8e78755821436abd144c18a4702b77c1c90f2bf4f10fe2987e8ed5d7215f7acfccdb5aef126f9021673c02f80562fbc4e9ef9d2de280e8908506f87ae26cf4233fd7942b51769bafdecd6cd67161b4c016b88e0e1a1809a51cb906fc41df04e12f7c897e67891860713eafaa5febb2a232df8fdcc0aaba13458b3f2cb1bfeaf8bbb0b5106af522560a856248a38e6cb6180357bb644613b806600578a6fe1a728d23f0384ba684659e9190c90e3c9000a0273a22861dd9e06e410d725997cd73e0946fa5ace1810dfb9312473eeb79a394a5d7c7b24ae5d84a9316da932b90bc31e2a007193819875b1b1ec769a6a9d5236ffd0ae5af93f6593ee0a6ec256fc275d632ba8c6d3f070531084113cc1c9c2ccfe0fd419e0a2808087339e50c49d6c20bc524b9b13ffe0c27416e4e9ca94cf629ac7f02a011e3837e1a4719a07da36f23cc7a99b6bbae18561d5cfda26f0c3e5199abffce255dfdc44b85b0d09b89ade8c781d2332669d0d21eef69875c88240516201e2a575bf8570d0978c5c8607b18eb0c576d3d16562cb999ffb2aa13d63cb21721fbe6a484003830cd61c3523c453fb7f1a3f8e3a6f23cb2d8b770096d0e6b05f3da80f2140abd2406069279c3242f6aca267ef7d0c46b67e04288d2b6c752d5d363556446094ed07cffc8074786706416c49c11e100cf4e60e68f5c4ce5c69b71f0b9858f0d0c5c2f68311ee1f72986eb44e60429e1bf1cf17eb3eaeceab6ac6c91340906db803471ebcee7a09184a4bc521f2026742540b56fb64ec95c811f5b71e4e451e8ccea019807d72de3414d18827e5ccca551eb59e77a00a66a7179316b23646da30abb4f95e782d4baf25f02f50ad60d774d29ead1e56c32c191b46d01256af35ee76bd6fbfb75b7c342d1cd68afede8beaad4b6b6ba8b56ccffcd28b19c5b9518d66afa5bab80fe24b0d10ba01784e7eb91f7d5a26485f79f951ef9a36f24834a79d6c7016c5a49b15d5f111315d14915860041e7252dfb9a5820ead4236b542a56bf6ee3bb75425c1f999d75d63931dcacfbb5f35a3c5fa42c9c0872916ab3518b35f5307d3d3fb091db1c67d9a1e2c0024ceb4315ec5db1ba33a6c89e4020a48b07e447f834b8221a00028f82f658fdeb8eee6c54c567650c5bfea99e9496a2c67dddf3e523c9a9dfbb0697cbb71faee9ed3d7f237389bb6d5d3de86bcf8a2061a5e03f9fa4572824e0aa616d6e45871ce8c8c3c1043e658d49183bf53021ba5fafc1351d230e7c9f30fd75692924fd068e3278777f2c11f01730a04f55d5a4aae9a4a893a0245f5576283b643d472fd08a63cb53d39dad5adb2eb13436650e75db0e038605aa305344cba425d2216f5ea890e361c98f420b674786c73ae59346ca6c080d3331844d321145c7f89e984257f5c49b2b4358489dff679df07a6e26f39016cb07893076e3a1cc4e34a1244f040c3892c364a8aea747e966c483086742acabd4a64a879e559aa9d592fc5cd8cf9cabc3d3f3980290056dbcf5300d2f016cd091aad5973a632716e37945d4da8a0e009d9cb2d25a225a799b887cfdb2ac32a55a0d8159e7398b044a012d6e8ee9166faf38020bd4b047441a16d75bed00236b4415138a7ea1bb54dc88dc55612cb7b7fb8dedf08e5d45340788b201689a8983f11b0b0985b45165d4a89bb4e64dcf820bce4de88f37571bf906b7e34a1ea8b6ec342c032201e0462f41ddaa1f5b0c1031fda32231a4d8d196e6dabad4cc42fc1008f6580fa9c9f6b7393ccdde23e3ca75be0409e0957c4982c6a93d0bc0c55dbfd5b5a0423155b18637a1b4c33eb9536dd762e50abf1bb95e2ef8d21b573b484d06bd3856a8bc5200bd2222c4f40322b5c4a0defcf110c558b243f4cda910ab184c796b0c2d2679005e20e17d79fba2a1ef1d379527f16e84c362c0450ce0884feaef4ab00383b7cf083331684fc8f2dbc3757efe4b2380e8815694535001406992d13315c0a202e911e081591ae46e0e297d987ef1d2f5dbf2898ea17a0b74380e18a86cee0599ff070b6bb4107ab694f671f9e8f082062ebbf6ae1324b43c9ea57518026718908c83675ad367b0031352e6a2003600d50bdd123dfc4500aaed6d06c7cac82344064c67f85ac70860c84412073b96d4a41b40cf5ad14718a40a2a94d37588c722c06ce0c503f3506be82212a457b4cfb047045e9fcc43c3301727f8898538059610810406630c26be6729f77a9d79b0e25af4397faaaa112627ee571a51970e314cfa0b888f49ba094ee7333c42d9b93ef28d381b48b4384f76179fae41cb875cc587a7c399b48f4d72a8378aa3b06b3832f86411e70de0f5fc391f62443a2c3b278b91ad90d2001b76a803128c02fa2cede90b3d04bdb816236c23ce431aa80547bd9cd508bef8b1de057d98028ccc8a6675bb7b8c3ab0a83a805494c13d8c9a5600de5a2314b83031b3cc4be83a2ab3c69dfa51b597808e7e35dd3492c6a345c5864325e8625397a053c6bc523247bcb8faac27c4dd50dfe7934cd055c63037b8346f33dcd3c0618edf37dbaf9207525c49cf07837e914bf5386df6cab83593c27c31cf343e09cd1aad1499d40220c3168ffc9230dc775f58257976c2cd507114bbac3534e123cdd400deba44210a18324ca811413debd1059e063197337974aaa3dfac9f11a780893322a1e3422708734509be02c87d0e55d43488d6fe340218db48db014fff62c894d15feccd7d33ee7ccff402fb1d4691c1985ba1d1532b19586000d0e9f9801813682e004991906deee7df651713c0280b1ab4288e183893c6d119c8a9a95cea67e9ee41bf0f5c9d6f274a0eacd34e20b3dd1bfbf37f6bbe19881effd1c0df5a40554cb042a891bcbd1613d022544d9cbdc754eaad0aac5881154989ff652b27c508a4180198622cf6d7802d65aa2a6da3dfd223b77b061b97ab2c97e17e96676ffd9f26c803336f51c1f569e002f37a0eb85d7e919d4d5a3663f73412ae672ff4c2cbf3cfd31a80d0bf02acdab7b33393b70a037168a6a92595aaddb982b5f2a150cd4aaaeae8e4d5901363611de0144a9757027f0170aa7a9fcf4e5a926f30ba291a5ae829d0efbaac7ff89d6f014f9ab6acdcb6c8c35230077ff00688239063d5cd5bf4d549e09c32da14f8311daba8a2b04701bda7901501e9b9a21c277a3993b3bfc8688bad2128e8f6f4939ad409008a1849a6db6c33fb6764f0314ef91a6dcb73cd7f54c29d0f63d4d263a8de4485b8846839f4dc29468dbb2115a2efdc9909ac4c53e4f6e8bb5f3a1b0277c048354045ddcb137eef413eac569c026897c636dd507dbcd72c10f5582d2bb553b51b3f0f0012a8ac3915d264b59d0121e323ef31dc5ef92e146110e7a64917e1bd8a58eb602c79cb76d22efd051affb9168dca25d80529f892ee6c1d46a90337c0759c65f0e6faedebcb82dd0d8c8cb39ce1d676a51bbc5e1dcdc598ee1d13b3e8f8f4e89da3e3d62058e6ef5c0adcce8eae7e22284581e8efa25f4292d8132524ba4227c2434986070bbfc67ff704f47d747ad456a8bf76d5139f0669752eba2932b7bc9339bba0041f13399943d2f71f57ff1522eb7827ce86420e9e72cac99f8444e37c24ea3ba07a39a039645c092b1a19e127a7285422f1bdfc88843b87671bc9ce9ae6b0f4691b20c186e78c5435b8c1790655274e0ac0041152a69d627a67d847ceab632c3c83d911721446295aac56e3e3d13771bfb44fc2fc3691f1326484eb71a4540013e480f7717bd488655ad22d5756e7040538373d754773da70ae9b58bde1ec92df7e0fce438173e54c450c42db02900d2acaadf934072a67c2b25e11b0cae6ea020bb12405a768114f9ad856252a7eb407b84ca985370cde40c5b380187d42f6c3d30769d6b0c116878adeb7301c9393b17d4a51310ad89b26a30b6f5cdf678e227ac108dbd98c4d7ed6bfa43fe78932090a1a845230fa54fbb89dfbf28ca770447224b30f37a845a1992056a416a36b29cca91be1cbecb4af40d8e842b8c02e8bbfc0db93a90a614b11a9e5155d060093a1d64a2dd449697d2026a41cf84c9c32b861fd81a29c0773bdf359681c49b9bca8af431b43fa6333a30ce2840abb6d348f34debdb7c693430dcc9bda36ff5001928724c961ec1bcc9ae930581e9d87f8e314940c071dae52d91c9ce719182f1dc51157dd50b0d29e86c33c86be8e0b108d427910f0162bbd48aa0c8dac159137767f61752c3b8c111b2d8d987e3885d35c42f6eb57e282da8b6fd6c5ec2122981b7c34d9e13fd83189823ba9e3408b25b21b8233dc9bd5ebb33e114b98dde4f0384e6c6c78cbf306c685760a3587f9c089cf0a237bc92dec4d1ea3bf15deba3513cbb33d7b4e80364c5cf0b59b2940c527c9de542121164c39522005f588ae65ed89a5f526f5635c99742d61d60bc38828020c821e275d3619cb0db93bf8105598a788e788c5eacce47c3a6fff59e964f3afcde3bbf2750479b4914c70c4e2b360ef998d58be4d2a65beb3cd2bc951153be311595b65100ca0ceb9a955dcc08135835214a13bf66e25e9da5ec4d3d721dd064093ee83462c85501bc50d06dd442868e4493ecca2900608dd6bd223e96ae9e5c3b3c50dc5591745a6b024f683f660f171d720e0553540e1153b1c5e3b8d0c52168f275c9197167b1613be274eb544c4c7431645c945859baf9aea25eec212fe4086f81ef60ef800cb4e3c970171eb27131abe40e2b203d08b4839624cf7b1071e850df4d153be6566f4603284c3f904e2b8eb1b77aef551521598413eb10dc19a5caa4f97e962124b179f4ef7e658c3bb8a8505b939f1e07853f364e8cda47ab8809ff88ea31745d3096b5a26262dcb680205447dc5f7c2edea73086f42b77930305bebf08ac40d54f019cfbd06de04247503eaaf8a895b309a15370791374c01ff9b6939a8bbc164af96921f6d949778c3ef24d6191221f706f146ee2d56b86133769e30150f0660815d1000c360a91855cf2103db7c3b8ffa127e8dfe813d44260b04fc7b831b95f2b6bbb67b4b2953923254086008ba0879f6c86299c6144c3a35849bcc43670b546f058d297ef448638aa01e694c11d4a99e01e59969c89c746a028189111a5304d1ec224ed7b1da070f9afa1d91dcdaf7309193678f11582e274f0f1344f20c1f79dcc6364e131098fbedcb9919dfc4cdc91b4cbff4b1737dc07a071f7a6c164bbb50185406ddc441b68dfea4c1d314034c1f4714371ee0e9e446ab70ed975bcd5ebb1a0ad9ac3d8a0dca8db5a15a435f43b5abd5abe5bc7a9b0fb68d8633c4d190765dad383f68d8f96aee791b77ad1d81bd44d86aefdb6d047abe220a2b4461a1d8b44a13a97bdfc669dcf67d1f4d17bad6ddb7da857ce085f20d8570aff9b63df7d16c96d3388e869cb76979bb7685a785de8afadb507389a2c065d76af53873553773166e4d9336c393ce9f52ea4150a205a1484ae50902163e209f21a86f1e66c91f0d9b71d87ca6697e8ff5ed8ab5b41ed1caf5e90d0b023296fad55a632ca847dca0ae2c9def7200173172398d4021a720972cef32ba60a92e2f742bd3e4dfb9549472f7b7b73d4bece4d9638449b621cf1e233c79eb9490d0fb7b3577fed9ede9b6d108b9f95548880f70a5b3fdd401d604dc6ce98743eb6073bf7dcebecdfd57bbf7feb5e2b4b9f6a430aa6bfb353d7871677b77b7e62bfee58cb6ee0e800700000ad0552412cd90bb6eb6adc9d65afbe1cc34778e15176bdc90bb9fe4aece9eb339ab6ddc0f4cbb2aaa9fb36086ac893b66e868e0bc83ca3eefa04059eb42d4d64ebb9af65dd53aeeb9af867d9f9f0e5a2796fefea1dfbe1af635b1ace91de4509863fb99b93087edec61e905c89ab8a30059a3b5bd8a2cd0b9879bb5ea2f86288785ae06de2270efbdf7de7befbdf7de1760fbf5efbdf7de7befbdf7de7b6f16bae952c11eebd7ea4e43af22a0c76dc31804bfce163b186004f45855466662a05c8c2fefe2537d46b9562268ab5ea19b2ea58d657befbde2caf63c68385f687f99347132c76c6789ea1264fb370bd36465d364df9f9baa6e3969c11093668bfa8c63b9ec7a2d2b6bb53c77f7d4d5e6e6cdfbd1f847b37dd5c58bb2320ac3dfbe4b315fdcb7ef534ca762aabcb728329433642fd4429fa3f61ece79d23e146acf859a0d27eadc57b9b63f57f980fbbd7e45cdc62af7846ea22481e712437e6494ae764ffd0bd97ed7648f46e7fad5a8e15f60e5d2c706b27d923b1fd9134bfaa1eedbbf1af7bb274ff20c6f11e41cdacfbc85393471a5c615695876ae624d88b6105d3775802833caa495000525b1316331665e502e73ce1a846eeaf06693e087ab5c2c2bb0bd57bb05312759815cce39c9e9430d5c5db441f8df0fa27e272353f6c8e5fc39800953d654714e185ac3b9cabde5ee51df759ca4d54aa1a3b4025d9d9ab5f3561db45766de7259739d35814e218e1c295264c89020400862c4894b49e7d34ef4a2bf28287862947087ebf0f26c31c7fc9e336439156e3ed5a17f72a20e6ffef4bf4f3357435f3f247a2e2cb9fa5794c3feccddc67999f372f5425dcd610db5af6f517e866f618e1df9e6e89f65cd0ecff535ba795754c51cf32bc771a2d6bff9d568d6be1c3a534dfbafe4fe7a5c58f6369fb3ee623fd5e1e5764d1473cc173beb4d31477f7dca436e1d9e43e7d0e5951a60c8bb219cd25a7d600320b9fbcf5daddeb67d34f74534f551da71a109761d8cf4aa5d5df5d86d7a74d60aafc7fbefad3b7d8527d2c40e0787cf5df7de87425be867f4177edf27dabeedfbbe6ffb34a025e4f75b336999932d20229caf355fa0904084f27da28f0ea1302759b834473141d7a1685578186f55aba20aad0ad2cd0f7cf08156d27577097c9dc0b11e937413fc0e6bad7fab5745cf76c77e7c8c14a9c0345d6a6dbad91d58cad84646655abdaa6352273c027c9c2af4e58aae5d9c4e5627bb6d0b61eccebd939b48c579c59927e92fb638c3a6477f7a43593bc0fe4e6d571d10082080d842adb5d659ebdcc21a2ab7cad96dceca21716b9db54eafd63aede580d8aeb5d5da6a6db5b646516badd394ad57abb595526befb4b65a5babb5d676fd79148503987e9dd6d67a63b3b5f5f344f57de405273ab04658238ca0d4086b8435c288ed5601070e1c30f0c05941a20fa55218854100021080810ad61e618ff0fe4212b5885a4411ee45d4222a79ef7d7fae8adb477399a8d7ea5084ad49dcbfe2b43a1461a9608fb03b14617528c2ee5084d5a108bb4311568722be186ce04d8bf3f5e75ffdec773fcddb3eee7638a1afe542a8ab9f601f8febe1c3cc86c5a23fe80dbdf1be8f871e2bf0690f00d2d17d1108127d2897f250d8f6f3e90da8cabe28cc129964a8ec81fb72d86a78de443a4db6edeb43f9567c2c28cc0a616f42305516c7e20c912b777353e4b5c9b81b1c1b6473b2cdb6d90d1b3386f18a8f4511af49b6ad813d22f7530ad301a644280c0107f8a6ab6e0f38b7afd72b34c38245caa85fc6d1050a9592328281b280a0cbbf90fb5a1218862f069a037ac4546db3990e72db0a606f73d2aa2bda1f37dccd0df7a355d6be6878dff779d56300a2de784f574a29a56144454153eaf3eb1974d3a54ca13386cbad7e285f825ce8e95bebd1e9359d5fe8fb0bfd46c5177a7cbfd0db39e7b477fb42bf39c1fd9da685bcf58573e58534dffceafb1420adfabeb073ead345654dc63d76d5f3b4593dadd6eabde64d2da43985956293c2e2bc3085d5632bc5a6c96ea5b05c55db435e28c421942b15d886abda150aa9ac498f49e0ce65bfcec5a249b390a5d8b44c3fca96cb14564e619500972929acdc9fa27dab538074caab5a8c858c852c7361cd58f4b1dc1f4ac8855dc6a11014275152b8d1963b183c2de35048a7a9df0bebfdb0d8c9d0210ef4b670e250482753a6e0e47ed117a60069994e699500979d2ba5e539af4e0dc1ef047b1f0d965cc5ce354d28aeec9d8b06ad218fa379ae68f3daeadcd635c52c22edbdaca23204d6869079b0644df417b714579e01e034189490c572dd021c89b489a2583af7a3815c7b4d931298ce72c575d7605a1298ab1c684ed734d8f4abc1a66bb0fb336b160478a5c60c39e87f9e79e6928a2b9f9d8ada8f16ebb1b524ad9a3c5aac53f442e1034f4c91e9bb871e5dd5f9b3b7de4454355730662e6900405e953164ffb28a1968678e33bb98818accd3cc65cd1f0e14c83518500fc9fdd4a398525167cf397bfabdf74e156a459ebd7125d6c412ecad51aea21acab1a63de541d3e24a3fcdfd0958e93662cb4ab08ba28baed945d446e924e9cf69a244a062d56eafae815062b6e29ac0d463f98e480ab82cfbfd6d98a3451d3aa64fee182857d1d54c822bdf4f42933c7bacf023ff20cf9e24c072d75fd7f7e957e36adaf461c07cdfa816ea983ed3459374cb1dceacc3811fb904b7ea83270758b9291030c84dff3bd0f1e400f6caf40d608326e9e69e809a7155fd2d08aff8cfd58a8b9f4cc7084ae8a0c562adde49fa2f08a2270b53e472f2007977154486c0880c19d203c5901e2872b8257aa078f54031a4078a9c1e2872b28faee9a6adfa764e3b2b0c5460cfa3e98d7cd4a992962cde53e8dc9db6777bb7b7bb77bb7bb7bb371161cb0562e0434767603c0259b66d13f1d3e7c2518f75ebc1b66d49f2f6d888bce1206f62a95d5b413cc2022c97f867f064e7064604a10a56f88012ab66425b3ae88880a7c0dd137e3087042660941d7c016b48e4006b3937c02b867022c50784c04178210b5640928527f0605b47fff2ecc1820e98b024978fba4a70557055705550ff98f8adac1f079a2fb8f7d2433218f44b774276287ca2f73c6ff368167d1ed8dd5cadbd74b60d2247f7a009e3df854bb203cdb1720e344dfe63b54ab23f55427624640fb5302464131dc849afa2ff4c936f2e5c8e9bcbcbcbcdcb35c0cac5e940e3e85554f5cb2981a7268eb00b7059f3bbbb7bb5747ea7e87b65e51900eb5e0d50464096f1850341b90489f093cb0d64195f569ab5fa1ebbca7a37f4d7c21c6e7d2fb4e9c0ccaafecdb6fab42ec409f9446f867be5fdaebba17b43dca60d20cfafc69c429ea29095fb3d26cf0a03f5316053b57affbdf7ae4cd186fd2bee3057f6fae89aae568a6ebac478400e083c7b88f0ca3db14c04175dc57c720966961bcd5ad91caced4221eee74763fe8ceec4fa33bcfa90affd10c76d3978e87cc51e3ccf4fc9f3ab21803c45211848d5eaed4f9e586be79327ab6aad15527f7e380ab0aa174837e75bfad58aa95abdfdc91318cd83e6f9e4499efee5ec399b87ce05c8d36d00041d8dd3b4b9eadad3995ca875a2cd015bcedaefae16dea89c48a78cd540f5b470019ef80b98af728377ccd9f63328d7ac6a56fd9d58521bee7168d3bdb52a24c03be62cf3b0b234ba70aeb870ae42b76c1fd9bf86f7ab31807cabe75a5fe3429d1efad64fb4893db4adee3eb46a8520ce1774d3553af767be51656abd41592c166b13e9246bbd406eefb650a7da5aa9adb52ee04667c74cce31e69ad5f6ddfc72e0ac58529bed3ba0b36326f33061fc6b58eb87434dee950d67ae61d93e72d748c9f64b807ffe770b757a68cddd372bd2c41e3adb6bc55a83f4606e4defd65a59ff8ee597801ed5fe6097a88193ec5f93fdc3a126fb7b87336fda779bb63d0d81469ff6d31cb226d2395a0dd41e3a87ca62652af2b8cfc3964fd5bfab5e7ffe56fb72a8ded4459ab8c36b4d1b41d2721fe68b46626be18037374e7e6c1e0b90dceff261bee81cf4df01b96b8f7e090873e4cee9ac71cd3a1b4c7f0bf3a3ac76e1e028c9fd1d242748e3601cdcea5603194267a353fba529a55bdd30cbf4cefd626f1f7a64b54cbf680ab8c4d9a9809d30e2351164498ec9b36705b10ce699cd899cdcef812c2ff63d047f0a78c5a96803fc1d1201ee9f30c0a013addccf32ebc8650940a820e5cc38ce72ff0b1eb9b8a03c180482cb31082e316e6fd464e372ecd9dbe6f17ca1d6d046fbfa3e79a813ef981df815aa65fa7be07e805136786c996e1e36f35041961efbe77b3dc592879a7fe612fc4ecd55ffb88120032a8bc562b17ee6c84fee67195f62504a82e0865ff028b6d94071a4c8fde9526e3836dadf0fd2815fdd1fb929f55adf51332da3c970899a511b54cbcc640197a8dc57466528177433022e7b369bcdaaec067b9d62cfb6ad8dc8fd935e19eace6457966539b9ff3641b930729dac00cfa0eefdfe86b51153d59e44f7e46e267a86caa8db33fbe3a4ac7fbc7f68796f72d726755665f627013fafaccab49f257089659d5dc4236f937d4b50d7911b17cda14474a603f9bcba48b78b364fcbf4cfb0775080e9f74ef3f477911e9bea4c136d9e1d3a649afa7ba779422bc01eeb97378cb67a072797bdc3b302bc93dd5ea1b3d1b92feee2fc19cdc396e9cc8c96e96f29602aa2c699ce63d03ed2948a2c3878cce2e8b40465b99f6526c63ce222045c8e39c64c0f2e4190a55a233897f486de24c9fdf4071eb9502096524a290569eb07973824043c04bc323727dbc5f27333815dd50641c65281cb665556578ad35261e1f44dd9ac6615c96d5381344e6e9b1bd63475a56239659555c51ae464ffc69af5b2787e802290b380063019c97e80a0c0e5c63d81a9921e1be8679ada7982700d9aa67e1c66ae5498a6feb99aab0ae4337c9cc7c9e6a0c0542c5d5681e6cf8f027ce53c33f693fb6ddc9055167436f6612db363041c52012e51252ad79d6d6be226f77b2817d388e338c9015c8e797ca93c2dd66c92fbab4759fe2b36ecd7f71f73807180a72371e469cb8f00514adec5452dfdadadff351c6b1547164d70f93f238b2de02982b80bb8fc100970f9474c779f77de79e774cadae19b13b89c337ae74c86f191dc3ff2a107fd7147aeb9e69abb5fd107276d42d9f76f1e6bebe9e86aba940dcbfddb11bc95b4dc72aaec1791dc4f816c1e0b0da202dcdfac5c5257b842bf614f080148eef9837b84f023f723a0531b134dca512a49eeef506c74fa3bf0abfa28172fe0016cb48cbf8808ec2faa7c004f2301ad49fa9c0108c0cf195d6a91a7efd38bc84ea9484a46c9a774a49424dc098b8444425838247cb5aca05c945a259cf1073592012343a45330502fde3f0ad9b70309a747528cc4841423258181345361a9d8a8fc68d58a1649494ef62701b9aa411858a49a4aadaaf2324b020fe9940c58a760768a843ca14fa756607e6699f70f8f74aa63493aa504a85330de3f5c1232e9d40aea850803464646488362a86268f8b2c57a413e9a92ab47478245259c12905290528b74b5c492b098680b10e6734683b09696533dedac3469a453313e47c8249d8a217f48254b3ab55245121069094909e9879484c404cf5c92366e90e4cb8cc1202b4931f0e5a4006ab023d0286b71c920432ec357067fce54f89aa33f38ce445f6ae1d8b069f1a69fae5aa9ef427bb96aa58a2b0ab8e15d3c8e1bde85f883ce0dd3bbf81f5afc0df471b8f81bfe06f107d3bb10b5d78afee0e2e99bc2058475fe645fc1e1e25b7c8b77216a2e275b842d2e27fb54fb74ea8e8a403c489c6a7f8b4bfb31b5104d5fb30093a8fda864fa9d0643be5da804a484536a955a947248a0c0a66ff146c03031a7ef3a3c3dc90a0fe6ff160cccc7842d396545892d2f18b1c5e5fa685a727af453adf524b6b87af4961749038cf36d69f1823a14c201122488b250507c98995cc5fdd86e7aa45babd47215d9a385a8c54c61059c747d34a410b8499748be5c455ab9900838d9025c92ae2092ac37b9432155c1c5bb105b602ccef0cd304303e1df5c75c3b7f872cb2a2a7f435802d2a4bb1067932ddf429c5d6e39851405aec9337c852f5008388627e104e9f026cf681b6628a10d4d788312b2503e1b3f6bc969798d3fbf16d748e6a4bf0dd8e39ec02c54cfe2a3499d6aadaa3f85a54a267cd5fa01dc2fbefe8c1e8d3e9a1732aa18bc183e1a18a75a6bcc9f6260f062ba6b1573f4cbf8ae431932be45bb04d727c5608889806c4ea950f659c5e967740d4b9284d329fa289853ed46c1f49f6accc7bc8cb0ac1ff35d0c30dfc1a8a89c4ea424a75aebe9740a25506f728b39ea9fbe3b8524252d2d30a7d309a6de25b0c0ca73892b1cc903c87389287490bf92c71501971c6ef126113b39bfe686e93b53c8dd3869df14b6781b32c0f42dc41eb4e5034c08ed20b872363d62a04e59a026b7c8fde8d1e7eca62b446506727d5338575d004a3825972643c6d71046071313131313838a41c1502e60fa28985373289853c3d03e9a3e89a58cb6ede2b90d36d9986e4cac97199943be547e7ea4cbab21e9a7477f0dcc643cc90ab82cb54c805f669f57c0bc82f3ca96577eba2a5cf9bc1a9ac4f0e5aafa5e3f462cbf3e4a2cc1fa30620d5f5586e81fcde9494a3a0523967dfafa95f4c355d449e4d5d07337eb8afa2b30a72f0de95449aec088343ac3945a25209d9a4b50c126abc04a3baeb2b1b01664ff124fc948ab6c44b125a8c044f62f1d69556d9582746a2e11d424fb975c3027d2d5a9327cb9c89c4e512c647f7248a76814d9c357a762be8fa68aa218180d8382f95358ea80a141d6234c889be01976d2a30a8501363dfd52cb6bf81abe862fc1bca2e5248eb98a7ce11f57913027fd659e868fe6c59f6aad327f0acb9957fd8cee96719241ba4818c943c2c81cf245122177c81c7208f92289903ba4abd4225d320f239c9951c9bc50d1d001b90a8481a4d88b9f1f0d017e46a34a983fbdf8d3f777a710fc906098ef53d8191596f55f3c4c28011d5a2ccffc4ca952a9eff7664ae63b244390d37724198688511950804fdf975aae32fdf7252966126558016e517d0de74723f333ba6548a756c02599a5c5d5f2faa0f96266ef421649712497251862a9815986f197896e54596f32cc77a830c6b78c938cd39f7e46df23b8ba6032c2926be612109c524ee9d52919ef5f63c2521019620927a6c3cea870e65358ca8911965ed505b80c5f305f965a30a1eae7470343d4516fb2cccfe8d18b101320c44d7af49f09f1ac479657a5422c13622632789c07f0cae8a78b05d8e2fabe6c71714f901f0d2feff4e845b498ab566e98bec5b7107bace068f12ede85f8c30aa9c5935e4efab7f8b932895acc49fa352b5a6a912e1086c3f450e0128491ae25b9e5f177586a6d3eb8bf6c71852f10d6e262f1270e09c6b14e714fe0927465d3901efd49d7295cf19823022e4938389d2a4dafecef4f0ad22aea6f7a754a65c734a4532a3c3dfae74a8a752a24c57af40f5f7d438b77f131d4185c882d2eafa207c0b7b85654b1abc1e390e08ef4c29a3924b82cb5489793ae926500426df8b2c5954942e0b2d48ae59274ade090e09214c3314cfa4ea5ce70498a99deff419084f3249cc771d2ffc32fb53a3580f7ef4838fefefefe2b0610965a3dfa8f41a670ae4699ab5abc7f39ceb2932dc29799c9e47148c27e534857639371d6a38fb2691a4b407a2ce1f4c821c1dfcfafd41a839c1c4048c2d936124ed9e2c2e197a42bc918e4aa5ef977200c84819d491bc32508cb0ec23ad5443a75dae954e5e9541be9d4e9fd419fd8cca8f70793742ae64749a796742a26a85330ef0f32019b746aa5c5524e09262cb94a386129488ffea7b004841405eea7b9b3e1c52536e060738ba52e079362a424beb1942e397c69f16d0a5f4d7e345dc3cf30c30cdf22c4414e8e785e54b23ffd8e438269676a81f270ac53d7f424d28330579944d245babaeddb815bb5104b357c498a61274c93bf29c44122019446173200620da10d2fa616275b356f4ac3e4429df789584438964b8e05a4925f9e63cd17f59d1a91fde98bbefa8aa5f633fc25e4416d08cbad86b0c464c8a38e61b909202c1d8886b01cfd64ff5258e259f67709cb1150f60f40589686c8fe6218966092ecff61e94033842500c212b784652948f66709cb1561e940b9245d1b29e451fdc1b01c9d905d1643f8cafe308425f61f85254e09cb9726d99f0529e45131e9cafe28218f9a4b1056e2afd4ca1ed364790392b79b527365fa1aa5398d13e4d5a90b94fd57eec5f808afecbf62050f66d2a9d973849bec2cb9c440386805ab0834c8e58a9bec1d4f1190c8e50a20d971e56e62ad1f9c4e951a506671369da257f072c9b13820d959b2895a1f5d53c3a542d02077281c12cc71531512031c151c15dc16382ab82e705ce066dc1638241c15ddf59c73ce19f2c0c173a527fa38684d5f40f3ac3b7aa041e41cb64ca74a47e2410c827882c43c7ba020328526665ce5de6f9c174eedb56f1e57addcd8bca9d1187692deacfcac58d1868d8f93dad7acb4b9d2a1cf020978aebcb7e1a4f6df43e7467ff73d746e6c1f227be8dce0de137bcc7052eba173a37b4eec817252fb4e147b6c628f0f89edf3256a53f981e7aa7fae3871c58a0fe8518b80939af6fd02fc256e1f1fc22a04a6379bd83127b5d79e850b97ed6357d3451373541612ba6d49118e4061c4133e8598c803a3034186d01662e8b69a1b77c19ce5f973e444362537346b6dafd54348c0f47d4e8e09f4339d5fe20ec8169202f617a9003b3705ec3f5fb5ad1cf5835c76f6f9d4859e1cd7495271c3b9bb730bb177f2d87143cd88a5b5d6deba89e5bcf766faae849da20e23a36b6b116e9d1504c592be566bfd49eb975e3ec0b4220f36d3aa84e7d2a91f5fa858e2f68aefbcbff5c8eee1def0ec378e23c1cd8542d0960220160a9ace8f25ad247e2c8101e1093f4a9e683d41c9134a00851b20d8b52390058f7a9ac0934bfc9e1355e0509e3d44d8c9f47f6cc28e93336b9acbf8c284a0276ce0526a775651edc2ed276d01a9393d8aa440a78f15a9cbcb99ec5bad9be8bff368534a43b313d9efe62c533147f79f28240a8942a2d0ec6c09a6ca13e724f1bb484476ab8228609b31cd380a58cbf83beb75387cdf7de829a594524a43a194d1e8bb51586e3954d61c8a02ae197fd77917160a5d58a7e805ba4c6e11fb738fdc9d1bbb3f77c9e5b14036a853a5b53f56895d6299586bdbdd431f7a9b12eef0fbd1d859385fcc4c5576e6244e05f2a14cc559280af866fcf3a3e141e918ce3c7d3e1a1a1aa51575d0a737bcdf3e94cfe9d17fdc453fce62364d7e5fb7fe0097f6bab2bf8db9aa47cd8ac3e179cffdfc6c70e218045b18de7ab4b3ad6d758daee2de7fce72d73d17d2707b16f607f45f31da5939ca223b8b02f61ca2a190ed4101eb653d26082a511386020fe4727a2e141091cba9247bc8d23bbbb07c8259f62dbb169a5c25d864ff4ba4535404d9ffdbbee28c334f613086289da9ea9a63c5e9b1f503dc7d270af1de5a8faa3cb1e634e95f5baeda569dab470a86efa4fba67d2ec7f98286a280a380dd8ed9bdbf8059dbb534c4a800c4c293edec382478eb1429cf1a92fdb8aceba50427095b4a865c3d9babd59bd105db49c22b0945dc88fb64fb467a3c52248f767ae4c9d683396999a0547b4b84d20b1a0987643b8265cb03c63ad58d8874eafe4e091ac9b6047db2fd1b8e5c3dda514eb6dfd36f6591f5186188d71b34838145a7c8568a5c8e9cc060e3a3a04ea504f9a7c8b20d69ee771ed21760560661ae9add20a7715cb712eb493253694e9b75aac42c59a7e80c79e4c4957910c9f65fe10a8e6dc49aab06020677528078526229242b60fb2c1b98a951d064b971d55c61d828f6ca36e6ca7664059bccc2ca96a5952d0b4eb623d9c4ef9f1273d50f20ec2dbde28a0250be3e0e94afe20f3a37b028a60065fb38ea0f2e6e532c537eb2fd2a04b62b38445fbfbe484c893959c351cc49fb200812b10f02814cc022f6e7916cc19d58b6e04fb6e0129027dbd72e1dc5be8e62a31b57addcf01e555cc1517ff0af59d9d1cd88e5a4fdcd95cbda02f3ac22181264f6b2ece0bc60597029510211a75dad6207d4cd5c35571e7632273b2fc8bd3ab498877345cf456737f472bcd7904ecd3ce4869fe7ead4f470bc202e1f10f6f386a04f8f208f93f65dec6a5656c55eaf7bef48a7ca912c7bde0f95d88fab6c280d966018128c64fb1e8f7bdd1dc9464d3a4565d97243b0efc1b6197e24dba79a38eb64ae9a39ede1b86a03ea60ae9a2bebb982ba98773b1e2c963925b04d2bdbd2838996e012d5a393b6deb86a13df490bf6685bf3609db2d9be47a453b3a708ad6cdf03f298b48ae3f18a00952cb6f476b2f562d97a3fd95a8f275bda2ac717904e551c25585b5bd9ce647ffb28161eeba202ea2e4ec013d0ac4cc509b8b85283e6b9c4c509cc25b9068daca3606da915b93d9c80bf8eb9240b99f47b8aacca8066ada8c8aae20a8e55fdc1c75cb2125973c98ae2a036e8cf25996aa10ab04ccab3a70a3cf90a3f9804c9b3a70a4a7a980cc9576092eb23a043b11f0a61e9d8f7d12fc4bfb716b7df9eaed8c022e8e41557eccfd5fd4d5cb1e28a8dfb3bccd5157be8dcb838e86a7bbadac41e3a3bcc95cd0f3a37b6efffe1874d1c9dace00f6d6666ccf5553c80e7ca5f01fef471f4cfdced487474ce25ee0304f784f2f0d0c0602ed76cc63da1e19ee0b27f329d4141b0d98c7b32ddc7e73ad175281c122184e09070483c0e090cbae952d698b5d65a8b434de09b432d5cd2917d2b3a508fcd834e537f8c88aec59ad9417c403d53e06cf3450fa50f998a3c78aed344bf72800359d4042eeb144204315bd10d2011446bd54e182109cfaa8520e205a0954a094378563d668cf4ecac7cd4215cabd932a18a072c98ad2a0bda0337cc8090ade66f1446774d74214fe4a3693be1907052705260249c16421dd7849b0297234e0aee898e9b64a540a63fc97a814cdf391a7261d93c10fca74d78e5b60d6311ac2a99269782d5f2a4a70e5cb037d0060804296bc4c238f4dcbb03b6d736bb6d1887b4b0795c6569b2351fecb928c1972f417fc925985d58f0e87f1cfd0896ca34b5123a6f9b1e385514c81b5dd18a4047c0dee775218ff3364fbb9ef5aae79ee7b5477188bcc69d05144cb0ecef41e092e2d09ceff07e17c3600cc78a804b0c34e78e6e07b2279987af06985bc440d3443b2606e9272606c6bb3c4c95813a15898901030613dd2f5e8432dfa8134aa59a79ff6e2694f1aa7066980a3313ceac7a11cecc82e49f027050c92d9262330c5361aa0cd4e9843a9d645055064c7f2926c4419889cb972d2e5ac281911153510f5363c21225c2d013ea84821123e614e314733a89b3c75348e4d5fdf8329e6064d4ea595791622dae182a9898af7ffa185f927e48b198ef0c1396a7988f51965040a7aa149e83a8d4ecb546494d15a21119000000e314002020140c878442a150349608c2641f14000d839c4e72509988c324896118649031841802000180802120233334c30100d4e5c5ec1ef41539e88f6d6e9aaf208e34aabe200f5d261fbc1acae99e24dc0a29e35c626790f7a8e80aad00a07c8bfa5110ab5b37c0f3a8c2fed81d9604ab6a19ad9e65dbf5e20ffeff1cdedc0428677d96641a4b0323e5dd5b324801d64741c64d54bc70c3b91ca18fbb18698e09c0a5bf1f92f6fb8d13bdee7e4e22fd005f1250b7dbfb996b5a32239a03fb4078230121d01ec1e34e13cb83020836cbe98d7cacd4329a0b54ebb0e7c1286bf49736063af94ff5793f24aa77a55d65118082fea84fa70c859730d0baf8c73e7e36ca6635635e70ea52b5ffd5dd10b85586be99d9adccc8433dd1e0c84b993e8905c07263691cf90a8c5f9c4a98052cae73b2ad6b97e25cca332bbb9c694b9090234501868882f5247c7e3175ff0bfef6c85c6d6c726853daae02702fa668e2f99f67608bebfe5d2f9a65b0de3609d61770100209c05cd67934d7993a3e22d8eb32c5c6cc32e85327668ca2341cf8d1d2428e0fd5c6400c575569d8988b70f43bab2bcc18fe54b3ecd390a0d5a53391fb2328b00822204d0a2f443cad50f015cdcd23096fcdaf9dbe742027c25d3718877007b1c960f65df3bc1b2e94e21911ba5f8b8ce3f88428bff6d34cbca01be127f8ae3feb66840de25c2759f9ded200320dd74035284b53c359485ed3a3ce0b9e367c33cbccfe1da7be897849741a29d7e9104e4ace995dd5c906cf608a1ab3eea2b7a0a222016d8256b2f773444d1f1764839e49710201b99e4d70cb5d69a14780df1861cc38aab8227b6c00dab35949007b0433d2ccacffb9fb4726fe7f67447b047863a3c029fa816c1550817f2e0e22c485e7fffbfb5969d5005d794b2e8a97b78121a08f700e7ba54afc77840bd265a1cd002137774577a88c085016c1f8992b40b25b3f3213be557b20f5ec1600d2b5037969586a5271c92aa5a68ac8b45790deb6031134a8b048a5fe068dd728d2ef9f769457ecf4d5cea7130d1d991551e86289c3042a91f9f97b800a8a505247452960b350a2e79f2b0963f64dd33e00a2d1f5539ba1bd68b34775415f72969168a2823e9209d77c16979c4dc3633b4ace23171e3358b225f8b6e4ea3f3310a49c2fae9ccc4bf52c3311e1ebf857ab3eb2b4217902922c4d801c129780601f26fa369f55fde0db9dd7699f3eb54cb8bbe3a6e0be295eb00058855e43077c6e70aea87a5ec5d3bb444c427bd91cd9ce53598b80c37c7dcd2509b22422328b602210236f78acc853f28b11110cf771068c06261a94a4b26466954f909cb74670014418ef3ff7238fb10950d081e5ff480786c124aec5b077d089575e1c8247f6c8772c806a920419b00c171dce5621d7484f452c803e0ccc5b6bb0b7c2f6ff72de4b14ef5f0864d3efa7c6dd657a18c1b8995b308a64d19562540f11181f800e82839a547087b5e1b12b0d0fd37b3b8a19a13b2dfa69e28c0bd6f1981931de73c1d4c3c75bbcb529d73d123ac9075289e11df051fe442731f3a232e7859e4a5cb03f2441cde0dfa5621bd932d1c6db3f5fcb0cfb5e48315190189b0c180a6fdf90c7b18e9fda3cde4de0c692517141fc65f99bce9c8bec4b621378717cd9d7c879f41905d1b2d805d132e2e7830327656e5e3d7cd77d5d10ae29857fb239a1842d1db50191a3c750eb25c3a1f822ec28b6f48868b3c797280da11bd8ba1c00dec44041a9737503667973f0115940ede884a47294b6aa347780099691f9c7ff587ae757bb077c7bc539ab33978b49fbd62b5500fe397655e588d0ace19f0dcfc9cdcdf9beb234fabc42e86ec1758743ea1edd35a620e8d4cd384b6571ebba0d35232581a4033b41de7fb8666f4190d0ce084a76628421c437047e911e92c59a4587ebad08ddc7682885475925f25140a201e7dd7de8e077982596d8ceaf5b027c0e5cb26427869c9ddfdcbe1f62509337900e1c0a27feb47ac73b3d7723820a206f4fa20b30e17eed4a5af74e963ac313c0d686425ab1fd393705de259bd6c428e50de19bd7f1825532502b1d8001efd45399dfce4b6654380cefce015ac8f84941e55626c17d0b6251a892f3114b1faa438a34a03a6f1eaa3e5ac3a290258bf694a1ae3b394442d5ffeb12a5a03e05a132dc2235fc3d183e69ccf3095439258a6c019708417cdee912182b201279dbc7914032d78c66349b9e754090d7b74310ab945e9fa45407db13744116d75ea6da86e45d192e00b9f4e9e28dde0b7dbc85967466e0ac6e627bb97344c88dd07dc179f1f0bd6d03888bfd76e4bfb85ca4c748686b17d3c235b7af6722c0fd4d87022dd646f2d059174b5e014eb9b6aa620790c858a4d6d81c2f987873489f0515f876db50168588d58f40e5d52a2a6b68ad2f1fe6068f536cd64f8174c1be4487874623da96c764ecf6210f577e8b18cbde36470f5a8b501cb4138a6b43bdc411bcd2dc779f7daabfe8f8f614cd75a364d57172311407c64fe89e6bb0ce9450b3f39382dbf9ddd25ec12341112e281b17bab31e68f88debbf1f1053fc26240b36df84c5c5a4ed37678b12bf80d3979815c139cf770dc825cc4a6bfdbd58eb0314d166da35df8a06fcb81fd935836f2bb06eb42d446ac3657d104f9a5111780b7bec85bcae14784b08ddcedccc24522517421d1b18c04d633618de8ffa843be89837a707d31776403c5a7cdf8c36c82b488533453cca0f4f5b43eb309ea0d14a9b4322a56f8703d0d934d99843d736bd5f8d472d2fa97741b912f755a40e9b5e4f2d4700039e291f81fa34e3f10abf95aec615e2733634bc167bfe94afa7c02ebb449f743cf366c344cb43ab5cdf7389ff944f428771bb5fa04ce0957c42539c1871f6d48ddeaa2a44998aae8931aaaafa3be75f4be8643ee7de3040a43187681118e05b809d4e5566f0b5e1230ed42509d5b49135cf88a2458bb67156349c2551db4497328e227ab53877b63cf05a78259cd52fa3306f746f07828b8e00eb5e83611c041f60afaa5fbc4e1d0f4f152f2425d9b9e958e8e6e649e5cb878de267cbeff77bd5bf81b5ba4389ee5fc5360dc346a113a5583c6c88809d6516a4753613919d88de37c2c10b006044c0f52bc783cc70b349e8fa800be29fc47b61330b39962b2af243b12e5ad4230e916ce4ee449ce32726e8b3278ea98dc5c7e3b0b5e4bd08f2eb1462e58a98c2533bcd8eddc828faacdd3ec0b93bf007aed9bdb8e663831f6fb5042f00f1966bfecc798dd0691e3e19d15a895b72d165255256833d7808938bfbea3dcff097add66febaa850320c382f074f29f0cf74bbbebab74431b8dc90eb994e2da1fd952e21adc32e1da8178cf5b430849a97b29d6a6ec2f2e05a420ee5485481dba1bd5ddf2a1425a6206ae98b2d4c34deff87a65a1993a2aed42dc9325b8cf0ad268a3a0e40ce05a6ee651c2575bdaf6b42511ed21217a31e18afa8add2e184a5be1dd2ae0f649fe5bc4cad45efca6c3db13bb10548e668ecda57b39b07f40f0a6417106fdc93315df0a037a92c56106e0dad0b3771c9b97cbf41aa3a246e80d0d2c9d019bba34446cb1bfcc1a3eab621dca481f0ac897a8e214cf94d437630c41aaa91f848482162f0d8a60b34615122e277705d8de76110840e92eb49ebaf8501afa398286c2d589d68f4508ec2d7e48bcd8e126ae1c057e412a5ebda0b31d759afd2142ecfcfa4384e4afffe42c9dca13b595c766e6674baea784f44d1a34fec83343ea4b893bb472bc65115d93a416dbaf80b6dd13d05fcbb07429b1ebe343ab70eafd77336c5a1031b6298851b96f765480609bac8895bb290a2325fbbd9536c17cba81458ab2d8e4cceacd23da1ef92165dfd5b24968fedbf23f38154652553fdc47fd07393bdf6a971b7c52956931ae55e181b0a139f7a99c0886ad860c967c2fe4c0dbc2e835115fd596b386ab005c8ca980caf2cb29f1c0712f17a3cfed8f7f2df4694e5fb4a9562b67338d8c9c12ca82449182b22f94edd8fa50d667bdd6f43aa85ab49a1a3bb95c08d257d523f48646cb029c10b51bcb99552beaa299b7352bcdf3063331008f120264403e2eab03fa522e28a87b3b9e017ae0770c068897fda0f245208fa0e9aba6ee05a4f4a185124eb2793ee0f4842f435d3e464d1b93214cf7d82a39478c29c151181c081d250400eb05c6f40dbafadf93a162b6e1a9f9a14f8b3495a787a1848687e6549741ff546d72c0faba2b8002fe181c29730ba6174b1b8e3ffb4093f3f24c8e7030f11d5b3f5051f190caa606efeb34412e3b073ed4d3d5848af4755f5d2d8ca6d5f8f2c9d621d9c789e29ff48100e8b548b0a2a7464d27f0c44ca0b3eb591a0398f31d3c4b25e11886e30e386e383306ec04be1264f30c87141d287773057e6025bb4525af8cd7d70db9fb2ae5bd5fdadacea2bfb63940ce03a8a63eb5ff7cb1029f19f5628d20c0ce35ebd53c82bb59f12a66816d3b3c05d416518ae17bc8e7f293471ba26cf81e21f2ce296286266cb303b1618eedac4e933721cdd5950b6878425495721b75906e486cbac3d7bb558c1387763d750055f5fb750c7a4453274a5966a08e28842758ecb385eb3fadca0afc102ab4efe527aa6ff81422932d2691c673d518bd010c2ea0c865514edbb117d07e0ff205ee3c0f59591f85eef39c91390276107cc585c86f5c120992faa25883dc01bf4513555072f817024c56fbfbeccb9736e84befea0c303f8b83b76cc9c0a50c2ab2132e6a9cc1b4f74736c9ca38056c2059719916160972f0c069fe940fd16601b8e7270f9fd5105d7674f70e0fdc5780a2a4f498dce05426fd92b789f57af80fbfe4f10e8b6b40ba7b895a5ad1038453e12a2d6113120664787c42ffca3fe6fcbe898302bd1bce1a4f07d032e86294c3b4ca8917f7d764f42fcd1c94e444413336d0524901cc11684809873ab0c18339ae5f4d8df47204e13d293f5bd12aa7bd1c41bf213e6321cf6f57e5bf24b6899f42b46b483858ce7293110dd432c99660f86b28d51c41c24dbe71b62593e8941b5565d88f400fff18c8fb9c73043de8e8caceb79a79dc8b20807393692c40fc448841fb1bfb3f9ba0561efb1c816ea5477fc2ff01eb15e58b156e78d67b12cedffa21f1bda4403d6974f94cc69054d010bd71e32ad3aaca88095fcfa7166a7622a27ddad4522da227de67b66935a293ff47be2aa1d5ac3ce10127f81c243e0c53503866e447448d9726db7b99d5631fdf60e0794c54daea148c27979446d271ecc075455e0598f7bfd013b1f85b66ee1c5e045b45ec3fb4d292c7317978a30524f8db5050554abf674992213be6508a9494abe23d73f0a9024fd73edb34d6a19bc615c51b4f4c10c456a6d1f203a9cbf7ccc823884473944970ebb7a3c1b74ee5225f704deaf87a06862caefbefb6699c3aa293e5f551e0d2b84d1ce40169ddf803b5998b124897762dd0af1c7acba21daa99fce6288a897321d32ac6519c3ae93820ebe58e92ac78fd4c801380260753725bfd5bfac9b282ac674935f3e5964b14901e7e7f3375e69de5f27d4fe48b410f90decb0ef800e9bdd54aa449bf477ef213cdf2faff23203de57babe529cc46cb0d7bbaacfb2295664c4e1d889c16b0c9ae37ed6098ac67ebcf661621d4dc4441ff4a801aeb83376649f2926615248a4803b93743f66d5751eb77ef9666874b736b1b87bfd955b6b435f4a34870e4cb592e992cf803d30e7a2dbef000bd24d82bf29c365c81c9671a719189432f8abaae9a36193be9f5af36a0ccbb82c130d324727eb24b2845543121583322fd5db0b5ea00560273c375cc10732a29f50a428f8de1e49548b90a5dfaa475830a99b360e419682679ae70c42822144e1d74c0593ae01fd796d430b9358c8fc993fb33a91756c48a20e5d7b103543b1c00aa80aac3794c0fa81a521b8abd0b3941c91250cfb2c6131dc2ac3eb7782a0d4caaab1d41550de6fa4416aba604ee166cdb2b7c91d825967a068a4749cabd0829287b5c0a2ce702af74e856d0ee4b39f4320ce1d891def549064402bf2a8ac7aaad0c3af119407b1c80c383600d60474ead1644b414beac5c044bdb14ac9bfc61291b6dbdd73940c6b439afa36b1128636e87cca55e3d37089507a9ba285a04adc4e1e6794b03befc89498c9a95e7a8522ebe6b85def4ccdca73baa34ca042fa1587bdf94c5975317860d4fb5d128909aa7cbf47449f44e1f3b88e3319b5f0e501b267b824bd1d0702b28d443fcdc5a6161d789fde4bac40db5bd77e5556b298fe51f73c2b32fa208a44b5d36b1db26fff4f4217901fd18463e08edef3a9f325fe142f23bf94f6e26aea55f288df964f4807b57a80efc7d5e5f15bff18d1667d41b8dcca762e3b99bc6a35ea41fc70e96fd351e9a1ffe437d06ebf7b49c0747b912a53daef0a75216562925bab0c991e2d39482d3563862b43b82a57a918b81c5682bda76f9f8d0788f504727627807e3d40553325b24815a794cbbae89efd441c8bdb5648b68254e082680bd72ce37ed739979495527e0db84be43b498446138201ccf017af74b2f7d604c4f9c87422ed54b7004bd2af820fce9c88df970659670d6831a01c69a0b6209119e9ad022a1858daa1630c0dbbc44b9b4711594e7d995f85be047268c3ae9d1abb1037e2dccb0568e4b07311e04813e5ae54570409deb945d297891cc9c6b6386a7c8573da97728015269d68b1001d7320085de2f37a615d523a98fddd40641984439703b44c65fe93620de1d791d3113b6046e17f7e4ecfc4b000a798ac33986c4d00bb56cfdb607039f11d47593d2e3ca3a9ecdd249056e9f8f4718bf8493af3b539664edbf4f6cf9299b8d6a6299e10ee0ed384cdae86aa9f3f469f393156fcca713ea677a48b8d02bca4bf949ed06d19c928a5a5019df143341fdce3c7e0cd036ade00475450349b4b0e06e11496c0ccc62f7cf94c1ef640010e80ac6401c0ab6c64d3786a2d94bebd4a6a3327508efacde9b7256e4d114c7fb69514ccd42a26ea6977a44abbcf411845cf2e31752dade7427ea9d546a459380e1693d1edc54f412c0ec654e67d607f94820e036b0301ea65d9aef0d80b74838165750f2e21a3a5e38518830a53b0acdb8540b9d05f17ab655cf36bd9305f89eb1fe865d5781b2d86c988757ae99fd9a933a5e8394557b60cfa52cad0ac08893507d2df38c5ccaaaed90f16e6e1fa19e8265508b585c1f002f93a85c3b25c082a92facff75e0ca121b424e63a503425ad9291d56b0190a9f81a4cb51ae961ba676b027a3f7420755159b1b64c2da1bdb81c4431553723be3aed8d1a8ecd13b345c919979c229ed3366fc278f8be8dfb4f08df2c6db3a9dbb9e441b853d9fd1cd3d654332d15b824541101d77f284ff9f97744a0aa88255ae18102637b25632c6f4321514dd4b62fa33f5d0da54bca1b7d0f01098127e22784cb34e7a410c4a40d662b6cf6d818a6413ba1ff870c42240bf9f9a2b5d82920065685330c1e5c229d0aec953038734864a16503eab0839c4c009e4fad8a5e430333d04a587d14258eb8cc36164c86613ae0c15e88c3a2432a78a66a72624bb145de35c64f1c302f0a6466ce6cf779a8ad9396aac0557182d7381fedcb3fd120363f41a6f99657b06eb3ef4e46172c710aa34bb27079bb67b052ea603cf8ac78f8e667bbf3abe60dc5df8a5c6853c1279eb40f908f2fbd33518fe6bb89a4defc7a6a333924f6937c40b2501221e68cd200248e23d45b683b111142c824ea84c7ce82e1ad4969fa2fbab9e2055a923209e10a950f44f7889ff183f1d925c6a8bf0af9b8bbb1ea5bd9588ace32d80c0de7093afbf7d49e4f5459b00d54d0d2930f314a287c4d2256b73022251d1350d2ed148aa3222ec9cc25c3e82ae50d571b650a74f3eac23cf8f8f66cb50066084dc2d57e44e4d39b8d01b2e3fd6b5e180002997e4eb4b5ff7668d4e4a4d8253913c4e3153f4d25935e2e5ad2ed20761f60123a5efc56106453e4ab12f3442f0f174cc6b9a2bf8078e458c0fe125990c222c71b20c4a259c69a00b30930c3dd318f098f624aa966e6bcd0d220bada2c930ca28b20133f4a9bd4c79574b7539ed172690316272e033f010c52a9d7e2d8ef75b981b3213c73835fdc8909781f213466eb13bbbfb61947a6f08d1d8ccde8a34d246ccd6e40676af1af47572a8e93c44950e71392b930acc9ada1086f9e6b0ab25e63a7b36bb0b4a61631b06c4b799b7e5e091fa81a5ac2b7cbc36e04f6beea45d9700d4485d934a177b5e6bcb79e36e9b46874050527d60c814c26f64ba8a8cc2524314206f3389f687e138585aa0130252690fa007218fe27bab1dc8310f09832172aab2b1f7f701ed9c33d9ae34443fc3f1a325d5aaec03661f646213b368f231851a2b67b79f114d47ac8de22fdd3dea0400266aa016c3d7cb72a635cc2108bac5a10ec5616052ad006ca01dfae4ae057b557a9abab553076ee4f803464bf446de3b081d86304e3f80c29ec8fc7d7789cb8bfb4656cd8b0c56b5524542c4307d54e3e5cc5190491ef49d82c9d92254a717b21924908950fd983a6df0318b0fe972be60b2e6c5f7215876f037f94b2e447a1e8958ce44094cbc0a1cb61227e29ed53eed5fa86171d3475bae4c5119c2c5e85c44ce446bd3d8b0d25cda85b366c0fa9d844ed06b6145161a84612234ef061ac2a2f29b31c70a45b130869d85429077d7ecd31f6d89c7ed46c23250409f90549e2a4a42693d7b37243b31c1eb4815b4191d2aa848c3ecc48e060182baa645891808f237ed222a19df8f7497ddcf18cbfa1505f4c7a124a32282c9c04da7398f0aeca552a2073db23406594941a4b52b9b8d72dc9541085c450f0a2322ee8dac10460f55d3e0fed3288aead0c7ca765c00955a60459c4874dedefa09432a2c62709d703558c7da403d65d1d992cec7f0e2ecf2c589454ab8820e1d74cfd9199a7415362b5a897464764c54373f406855435dfb9fcc92ea019fcbf94d3addf2933e08ba6ed0f72427512aa3f9dcb0fafb206acfdf1e1f4fbff094e8c4084b7aabcd75ac601fbd43f422c36ba7bde72e2c158ba3bb164de39e2f93cca2aeed3c5961be081ae863d3c463f622d080bec63552a33eb89c2275ffc2780a10e6428aa6e2ed0ed394f890579f47721299778214b29992f9fa0ab1f590b9bd89a477666dd5547701e3f2510215c82a01326227011266560234c537f0b883344c4f5da99f6994c28c0620b1e9d3df0f77a73d7dc3761a19d3bcc3cef010932d66bff0284b036f6fb83362ae559fe20949595d82dbfd1a69db11eece233c20d2437722a2a36e3e8f82036330467bbd27a6fd785f972ccb40eb40dba5c1996925eb5b07659b3f2b07c67283119e102f01e7bbc1a4f4673ec48793adcfd5f36cef17b2641ae6d1f86218dbd3cf25a6bbb3c78f5e861228f93bfeeaacc064db65880b188f1a8ca929dc3d4cbeefb2aa555b16bbde38c4c6809a291c2d9079005dbb306052404262d17490c1f535d52a83aa5c1ef860524007050b58902815b42a900906810be86ce7631744f634ad06195e38a4f2fbf134ac8c2b1f0fbff9f66f1cb834d6103ce1f07584fc93bd7c7705c15ff241b6dc239d44b52c7bfd74edb49290a925c062a4229cc97de067e1b5cad61a193a441bb0663c96b68233d378bbc5d9d2ee2fac9a805126833811bb53cc45f8c33bf860d6abe7e4decd1189746e88a2fe2d207b1f33411400a58cb98ffe9da9c13c5e3451244d25dd31688cef0d7923120c68e7438a3eba880a4d668ee60185511c084b9961897f99dfd49dd0c2a119230d79426b8504ffb4e6f0fc1e3d794c4e55f4ea96995b0495235621bf840363b28b647c4efad505e66ede9145dbc282eec6fab9077624a40875a1f35e2c2d768b01270e0717278ca362b1720e8aa69d91049be9e01c9406a465f0a0838351210d715404128f872b7202f9744bfd7c9771cdd00763354aaeae08bceb0d14a2b5d8873f7593712a3a19fc0b630651ff4c63dd82499727896de3ac3115ad141726002e8e6a7ec62ff834f8bf255a27f778064e98118cf2ef746a73c0c5fc267c01af2b032f642e65f4a19e47d7ecf99e918c60b7da6388162afec929a2db54699250d5bd5da685cdcea1e7f2ce52f6a332b6d0ad0691471e95ec0bc224e728cdef3a7a858bac92c664e46ff0af1024507a5c4f8080b70fb6c27ee809f063c48a334eb86231bee5dc64f623032c52980bd50440ff5c9aa4b580954130bad4e68b0805721e34ff375f937f912cf25dae3dc759345c8d4c0b83660a71f0a2833979a3d858c6284e01056d8906f7825d55b1f9e276badf8e41d79e521c23a72b91ef321e8fcb844ee090a0fa47dd0f455c87e5fd1df4accce9fbd12c01feecc04d0020fa6622b1a3a873504c316127389d1e9fbd2d9e42e47a29136c2c50243be88921f20aa3a60b378220ac39f65f3e928e08905e59908221680c10591c80d8e703404f32e48b8a8899e83d3cb615566c3263073ac46c2fd56e6beaf295297dedcab99764b055859a1d89521aed505ea4b2cd5de9f438f6681656f07ff5d5a8f49f60053628139802e2b82866d067870fefadf5980e06c2db69ae85832c8ec5626adc9f5a52a2a2329fdd5391a067834a89f265a11b2e1cd5f2716dc0e9532a53bf2643733e86b1725abafd398ce53638c3eda8e6bd4ce35b3d2a5d4d1cf428a3b3c1d9da83fd0b1d9fb965a869afc894e92847073744ddcce3ede8d554a0a65ff45a165254392fc3d295960c302198ec21b702dbf2afbbb2b0c19f71451677080fbdd26a2b05ec6d30ccb86b66180453dca77dde9ad7cb1b4bdfe1bbb2a0ab1d36ca4d9bc894b1f433681e8418d9b0b2d216877c4bba80cdc77818c99636a76f248641aa458a2527b276c5042cc097545f9ec03d9fe983368d696ac6231d7f86e4bc7df2958d00be05b4f27b38aa2796b07d1d9974d5d9b77b01e8f08e4c898d4ce5bf559f9c3717cd7bf01f80f5a21b621da9feabf1e319f3d748131f69dcaf9eae32f4233eceb5ce6f889139b3f21c22ad3be38310c3b38f10aa8e0ade7b9f677d16dfbbfb7a2df6a16d41adb7b1c76d8400ee8e0eabed151740ff8e33b92b20f6325752c91d051fcb723605bb357415e1f3dab7dc0d0bf57c42626534c208c5f7ad24a56f9ca09960f99eb54ed9a0215cbdfb469c9076948d3b4010489ed8a4058f60f8cd5da5935fa5b4387ab2ff814e939a376d820c2b6d1da4985de73b72451bf1747089b44bc9a8a5f7637801dc7ba951b8febe23142a7c3e969478a9da477123d1744cf683ec50bdda36279126737f1d615570011e5df2efb17b5a402a3b529773d96ea32fc5f890b9637e73bc48889647129b6c6daa06bb55b2c995d884cfe1f3e12cec8d411762af3fcc3322cce046f938a7258151303646c25f21afe4f41ebace9df61cb4411ce66d91d092308afa972316c8d0f0f92e55754f3bd5a30ec53bb8cca7bbc42fb723604fa5007872b58a1078d200cf3a7c9f026efda2db56c033996418797bf88d7d0995fde7fcc2b221291c83e85b49d87c6ce97e83b32d158a01a4a35a998f8fc0a12b2ce342db8558d04989190c3e3475dc56e97aaeceea4ddde715584a4bef04b36b1ab3bd6b73b1044195a01c460d365c55ac67837af07583ec0cba79433d5a0f3593c9e93b75c2e01e8a17fb7aab05c5c8b54adf65784cd72b3998501c186191ee7bf5c2e40be06f8059a5ba9036f5391ab7ee8087c3397d98bda7cd138cf122cc4cfdfbbb88f644d6e47ffb1e1dd59e962be72a8e5bceae4629fc28a224e57f7244f0b96430fad03d1f0eb4ce9d4fa9cfcd88a5f0706405fdaef280ffdceeed7fcfaf95ca430df45b43f9fc8e8300bd7d3f530e9d52033314ae7b635a9bfd8fe3c0104a88de7eb24028e6e6cb0c9f1722a0e2cb209ac9bfc5d0dbac16129a7a69c4d3b4056e257bdcbd9c6df7d015b7a9ee970ae714dea8138af836284953d1e29c8179a567d0516083eda5da7c17dbb58aec2e02d76e41516332b5be20eb6b2ed0a0c170cda327a59d544294341ca83148971f4ea17e0e708808e1197542f85a18eb5c81f4e11ec19cb5d28dd99dc121056fb0f48831646344711e0ac179003147a87f091ac6a109f0f2fa1e12b80c4855dbea37582ff986053207f9a2b5514f0e66129ee417330ae338293654b4731d5ad640b2f76f5cf5a9b1d5581e3a78e6470ca6e9ea3ccd8247688c280460653bd22b833e89c713d3607bfc671998c83899504b4f1e8e888ba05cc277ec0afee2fa6762a8fd0fc396ce7c87cdc12d5dc5fd0705edf2a6ecaac98375f148da9c906f7b85879a44874d2766a80654c0ea3e4375b5f81927ca22e8e4ab67a0d8ec51eaab8ce6772552506e6349570037421530819a790666422973fb167d8e858ab9d139da3c8ba83eeda0943e587f2dedd180bb35ffbb8ffd9092597ee9b2cfddb7168cb6bbc5f2fba8ad4ac63f0254ca23939697c48858c79c3e2b93c096d9e62725518a6d1e97f4a9bfd9aae4556fa63d45d072dda37986e47005795d9dcc627ca1d81ff6860a747d15a3e6b9994b365496384e0d3b3fa98d9d445c96dd5b8a18f845cf1f1d346bc7753b46f9987b81140b763ea6360a9f74e128888d59b72059ae29b32d448f1c30d4a6c677d95b03202eb70bf6f1f80aee662cc7625688be202746d433dfe864097d41f9dae5667254b5ef8a86cb9dd2fef859d9dc6afa75d647c11dd98144e1788c37289bf9744fd405560ce8061fc93e8e5a9fe7675ceb5a651f2f03b8eac0e603a5ef504a1ed54fb4f883192144b567ad43eb8a9cbfbbb5169f62a1075eefcc5c2c345fbecb0316cef4670fcb10a31b919f9306d98566e177a7ac6884ef9d5fd2c624f2e741514756131d372530b26205f1e64614715aafb4004c268f314a7105cb88627c5436215d328370bbaddc7a69eef570697a5d8db07309a33fdbee37f8efcb038b54d5dcb0af33f9ef4be1dea43c24822efaad356c10b4a289385762b6f0c9ff81dcfb7cc0aefffe4191e7612c4612d98ef51a5ab52f9e5f14562f5722e49719e461a680f072b993a04576e1374df3d038b2c9989ee3724890b4382ee85e36edf22453866ab063a92db7eb4efdc86fbaa71a840ca036140130409aa02a36ddc8ae00e3807bdcbccf1f7073561ca79b0dcbc239d86ca13f15102bc472768159b2876490864e6b40a7664271a6bde4c254cd43db9b9ff2a9f0e7a4a77f25b3759caa998c6cff8916744aa9577801546fba959dcd05bd7ce428c25038c9344cd8865f8ba9adc804ee54325be939203c854871054622db1764e38a97095624f5415107547aaa39fe0a6deaa788cf0cc01a5059796e7c999dd39a5bb9417eb2966d64e2aa732dc1ad0ec339ad7fdb703d279894ef9bae7f087b570c7b4f31044db9fa19aedc94da749edef6cdd507568aea83c2b4be22c50e15b617a86baaeb07d7c58640e77824ed100bce074cbc2b847b6864e3ca72deca802fd7a790ed588c2930057d2e7b27a23d61ed2bbacbe5ab6eed1ddfedb73852f00fe7edde95f1ca7b8761d0c65587831cb88298978ae21695adfe6f3e7ebb33b807328ed3e67741478dcf07930bdb3c05b38dedb99c96a83b8fe17d34f6b4571c45b532cbdc79e2aecad7ae7c025d420d5483f6ad15c92cdf5abcb91b4abdbf0be39dc5adecfbef6d58f5d46fa04bf8c0d3eef5f2cbed4dea1e495754a836e8955e19ec0397684e14aac9b6206cb5fbc3a58fd59a8541de3bdc236ef57b9293e3b616a0088dec2163be1d27b9949a7d2b8790c7ce39d834bd805b38adb83f7a7613a8d50e759e15014e8d6510a4bf04877441280dd53d8bb509a2db978e4a9a1d7b93cc85f579d57440723470d3ceab23da3e4f04b4ba437e16a2a73595b83b670162c2b597f8e9ca45d0b29c3aeb7af32f45a052e0687cf85f070c7980c7f019345045043c2a668765c940499d20e32f578fd7993468669985332ef3215455d1511f241c0834b073675fcc5e25760ebebe4b703f45385421f7987a5c09363dd8e91760e77073290e65e9aa22cf017840bbd6b93e1515a7e0fbca435b4bd8396e303c741dd622f218e0b05b260d3830283abe960cea0149ff680d3e59e48acc4a0f2c234f1992b0df3e8b4dbf3748710b3a23f2e262a2b28e3a225e77e9903e80e0deb026514799c1eb849f9e46fa5126ba53ba95506443284f4cf783800b799e8268560a2c757f58bf9311fd5413d64ebe43df696af20a9ffc1e24231e360e46b1adfcef3bbe346d8d3cf669bfd1fad50e3f09bed8a1347887f4acaff09df1079bebbd5d1d4daefced9a0e019b32a7ad1eba59d6fe1ae857ed4116e6827d406453965a14b1f672925c2c03c8a0e8ab7694e3448db67aa55f37da9a868b161be334d6a9eb36edc8454499c88e6d1105edc316f7ce87c613a1c399a6b17db2765ede16b6c1603c9ee2e7d582a0c38affafa48291995c29e281fdcf8dcfd6091b8e88a4f78fcc242b2deb329192571a98338212af926c8d4d21439f89e9d84916b6d21b03132b5ec5ce68227502c2121c4f95b1d1d0170ae84974fe483ab1bb8168263b2a653e7fcf506634d68d2cc7d689a11db53a213e9cfc57b7b1c91e75c693e01c5fbe8475bb8869122a63bec43640ca8846cde0a9e175113366eb8c19af858810c10c76df2ecb57e8674fb1ee07bcf096567077a164bb90036af29a8376566e6152d58a36450386cb2dc2b0d498bb3e10212554b3cb772c0e2a31cfc8c187665ab5e47f2f7b5509104b809c44fb7351c3700ade520d08734d5a55683cf0c387eff20dfc5cf3bd01c981c06a98f34bb69753d83d0ed437ee1f870e8b36d8ffbbc9bb10639b4f58df963146aa856f827473b43e13098a8b0c11d8e55a18d6583892ff9d557df0b7c4a0173946b17649cd940bad81360a4bc8829bd1716d3171b1ed698c880aa73b7d7926ee7e88930bbb39682bd0430c3828bf7ff052fc9dc4e85c07e85d441c005f7956432d928b495ef0c8329a866fc4868f391ffd27ba6f504bf50d6a88b72ed710e6619f2599f66f1a6f0723eb1a0b6f4ae64a6926b13e16d04e29c8f676db121405a4a734ac8ce424c544d3de1a8d9e36190770a0ffb0eeeb7addd17d609df2a225dc9dd79ea0a7f4c5858bd24e71c431697d256a88744e642b47bf9dbd88e8f98df4fc7bd7db09ad9c4c6d4aef6d669dea00a1c18310d5e846eee72b76a07fee23e45835974a62e30daf906d8d0ed2add9229d19498f3111606b4eb3ff6ec69e9969f42847ca0e42222e6195eb39c4ed2ebcca8fd77cbeff02da4a19336f64cbca86fc6042d555c94451a5d44c2af88702df798b94813e71c3f417bb0860abc7d581f71cda5539e3355c595fbd6c6ea17aa631e949ca0122e145428a9845a2adc004dd4de93686185c29ed6ff6d0d281cfdce24662b2863b9f9df7996c7004d1079543c10cf5c4004746bdd4d62f1dd955e12862bbd133107ed6da48f106f7dfd3118d42403e4b8f6b9583717578259495090018a81047af2c0d64906b44271ab0208587034360fa78166a538f8ebd3d8626f64562148bba908f5d51610d8794a8538b32ed869afa94883ccdc786b14811039daec61d9df15b14993e633ce6f215b3cb3eb0269a3e8a05c108663c6727e696d777fc6592e1a9de7fd76e841c8eaf2672c5efabd2ed4448efb7c5d98bf15d98da1afd0f1442d19cd4812d5378a7b640238aba5c5cd943bed05b352a32095541a40a5c50852b6516e553b644e5ba8da6b7adcb07a71d26b4c5448d193366fbdf85f644d1abdbab392a479f3f0fbd7ce6a0a0d6b58e31953df0cb0ca03d08308d52328f80b64f3fa8351ea6260eaf208195635354f4987cb67db931b05baf2f5d0f460b4f304bc11493a93ac8016adda7fa4096a35df8885824aefca43f0a8a7ced6d6fd08a03014ba93a4e3752d00257f8c5d14a5e52c12d45651679d8fd5b01e01e43f41fc98617e627be6c0aa63f0ef2a026ed761b228b512adf03d9a28ca11778bdad3694492456265a6796321da7ffffe7230ffa763e3e16d0b073ce3787cb4d2af0b5bb657a3e2a0968801ca3449cc94171a013a40edfcd618591bb732d6037440982ea2298d0af7b1a51477ae78df8349744378012f3083a3f0c88d0262679469bdc0543a0f149a105bc57b6494b4863c564410e39bf48b2c972d35a28d3db6571f6db1590dd94ad32e7123bb08dfd7721fa08c40f5d9c4c86140f9e6725e2835df19c76508d624748e49015f106160d86ddb44a9d2123f12c6312674aee672211ffae1bde0bd8c00ef37d3702b452a943eba2fb0835262cb0d416513be33dd92faf9108ffd987f07dc62458c39b764d10a46fae7ea0056d63aebd499ab218a0dd6281aef854fd18efa0813f0a66ca34a0949a624bdfa801156501ffd8f51e31cbba291ef22d59d5f6b32804d4595db6ad6e0b1b35bf809fcb615725b69b537810c8c612470a6bafdc9432503a4706dc329783090b9d8ca8feb1b8c61328b8d9e3d4dca3be1af6e03454f3d08f942ab4492818e836e5ae8c9a07ba816663083992c71dbd4f59832017c2d42c565f420116d8283f2763eeeca8ff8dd61c5fdc7025e86d7032cb932e0f37cfecbd13a3fabe8485e4bef5fbac8d16997b1225b1dd60108869bbb454591bd27ed66f01ae13535ba061c6c61860848e21423575133f3b6e5e4df99d68b54d042cb24a5c836678a571830cfca86aa9e013e33d0893f5108ec1317a45054a7a459e1e0c762803feeab1c8b7137905142fcabc9431a834e0e2526910c184789c318e278a1750bbcc758d85395f3ddcf4b68f844e2fe1f5af6a21bcb472cd75f72588cbabb939313dc8bfd4a8005dedb4e7f68b2587dc176fbb745207305698915549429acc5b06d086deb7d335a71e0c29074522623b2bb239c2c1806fa6d79425f84909fc492fd0745869b884bcdf53f4b40874e566a2a80e21046d8469fe2b29670a11e86008edf9867392cf3fd22d5d7a01015eb90988f0c6ab979e609a9b6e3299ed330e8dbcd17540f6c3124fb8cadbee7f30c3fd45b40e9d85e0f0162fb37cedcc2d61410220c8c45852aa0846680cac7e8ae47313cb03756364041c4dd25a2225449e1a82f1d96446a063147371c603e4c656d330f1bbb4ccf72a8fbbad4fc307e7b0b2d6e26801be5df7174134656ce65a959cfce7d626ffd18403d8e6aadd8338ec97b392fb6d16dd5513c6ad7990132da8fd544baa9eba74b567dd6081a2c35eabe4bd4bbd1e293837ccdd7c1c609ad3fe220ce42755f96107f2db3c5815922698b61975eb0bf2b489a343a4109a0f98fb8fe106f20b62952a7b82f2660bc19d15c1ab756573e84d24f81a8911481d7246666b4a2ffba1ae9e6ee510d08fd63d4f091a9b09a2e0976abc94122a88ccd0b92bfe56e36cf4d3b3959f6e49a5424f53745641e75db7e9df3e8865a1ae59d416f2cbbbfdd9fe564983dbdcda66278118eb9a87bb1aeedf9c4fe1a1c7fb82eec6e490d8c59e81e5660b32a9089449b71fb2d0ec912ee2ef32f2d678f90221b9eaf73f43c6fff71e3c0cd43bb29d533162d3d2fc0eb6c608ff0e2643d4c7e01a8cbe12d7e0ff96987eaa9afc66f9014d51eeb21fe2b0acc27dcfe5710f75e3e16d5a4da74c931164227bcfac7242efa8e3cb3e29f19001c69e14dab375d3f375bd0b12a4f16ada2de4291f8d02b9bfd94f70c727033a740f929632a0e10113e8f4950b849f848c580d993b10199831aeeb49550f98d0f799fd7862a7ddd4f01a4536100132e9997a90b924758415b2aa4ea85952c5c23a386c8283dddc5821422bbd22008495924092f6b14496ae1433ebdc7623f253ac9f93b7969fbb677ce02f28d4d28cc2e8218469826f579f81669421faf508a664c904af7108df7f091a8f1a4d4d6bb913fe2c210297746bf63542541f8812116e5804872ee003e64e42239d75a26316387182ecea2bd2b7ddf8cde3e8da557c3566ab2183b484c9d66e5d3496fd4c872b069cc61960dad59ab1b0abec80ac99bd933caadae7012b2a97e222ca67b926653ce45f553e422fe156740cae44292e109355e3e9968dc540ad98d3b34f7cd8a517b3ce14f73c21abe6d4b3be16da87ab92b81e70fe2450cc40ba8e4b6ce74e0cd3d56bf5140c420f3eab0c1d86c8742f8380a550314f3cee43145d30011813b809cb811bcfe2d9d4fdd1cc868286fa8e7f6aa40b62bac48af9d4768bae2c35dc677045ceabba7265f92b27ccfc2689f3fa1107c041e50e04a92364a1c0827413173c3668b6ebeb99f0eaa151243c40bf2ea6da8a4448a9c757e44c572e38b95ca66d6f7ac4e99cf3d9c84a2f5b54d2c887915b6e53e8090c0ed3ac106c0170a7435dc37677eff86f19c15147b592fd09104f464dbff9fac3711731d75a9ea3e1702f1151f250a183cca21b6a82ce46883d021149c4845e7290b25425933827a546749a59cdb94907c8d0dbf1e662335f253803bbaf42d524200367d89e9b59dedaf6cab870c57bbb683a1e4900ef0807809c53e3bfc432ac2080dfcc49ace7f058795eb9c7ae05ea06c16cd896814b0d055ec704f0ac9d2703d757d416aad08234fb0b77e674486e4abddaa4a7cb6d1572a0290f842dfe5e02c6e807b9e328fbb65ad9932bde0b382e5fac25c041c1cdf934f6e07411b6bddc290397e6fbe6bca871cec76e41ca3a38cf15cfdc6c8538c0c709b31412b2053ac801e947acba2d0f605b9693a2fca43ad587b02c2fbe5945119ac38bf20947e2d49014d89771469af036041dfe8e980145e8986d8d159f423fa4c8324ed8e87913d897b98d751c804a692bc7aa8bf546119075df63dd8e1c997fcb1c6c6be5144acbdb6719520f3530add1f4400622d78421c1c8fff815b6cd1f5fc520256a822ab47836af309e2ee0e2002d37cceaf25a6aa46a386149f90c4df41aa6862c3453fd6b807b74a3b47fb3a5c220517e2fa7c6ccf5466e1daa9de3c6e2ffe9209f2d9c43b29073ea2f55eb9830428f8512262939fbed4c60d6253d8bf3448c2c7fc3040c469f5c67cde9ab58af5895d2129c240697b9a67a1ae2e3050aef11ac416b43e5c7f5743b6f5b9877fdf0f29857cfd3eb2de538b04f7415ad05084f4a7769b41235c7a3113801243336a76dd41bde09141afdd254c7f99053a06fd2ed097b2fe3e2dada78c0c2bcc7760f6c2ee7467fd263b99f0c4707523a5bba6ac3833c7704e9e3e693c42e9a01f9ad812748debeebed67ca3193992283fc315fadaf59e64707dd362b35a3d05c4ea269882cda048af4c144f28235b9720fa2309165495d09c9551925fab1c345c179a1a54a0b4cd2ca47641d99f5477005f7e2beecea337f72b8af9bdc626f56d2375bb32c3c503d6d2406b3da8bb654506636e5792f76ebe16326655890f8d96790a14e49ae4cc5a40a4fa5471298adc37a989dd934231498d852b1bc6f2f5f60989204a7c86ca974942ddc064688e55682b30dd317d23cdf822b2bcb2c781459b612bd7c2843dcb9008937cfcd2feb6a5d2e52dabfb1c8d0b9d6e0dd522d1c082b7fa0e592ec6e7f99055d5a8968f9e3de6586cd7d4b55ddfe6bfcb8adfa8497fe4ee600897f28ec2496b2cf50775154b6938f22ec3b446b03cafeb4498bac8dc101f7a89622436c80945842d6b2a40988bc2452038081ae52b7eaf5a8fc19d91c62e200eea138aaa50062a72192a2f6f7c8cc4a371d033584423b7b54f665dea9dee636bc8ac6e650f984252aa7922f8d5c98ca37c2fcd0c0fbc83f78a792a1c903f87ca96e7152720cb6ef9cd1f65f94c23e8c7f361433cf54310d9c7396dd6434fc7b95900cc876195fc119ac00d7199c79b25c1962261e70b4824054d6a79289f3a9741347d9e1323e22ab0a7a9b89144a5a6a72ee2c1d0574cb7ca68ae53494f49c96be4c0ec9d3fb6266dda504f0c2f20a5eeea40ad904909a1620eec68af7030ac2e7e75459710a82df59b4bffa772a09bf1ade941d383b55e05b16d7fdea2fb9b57716989bb5f2d06e35ea191e42ef84118864123ac1693459b71ff28e7b67e9c5dcd6cab2fd38776394498876f4624e50aad3e115bff57eb33325ac40249c6f6bdc95013ebe0fe5ab4d023649377763bfba583673914854a797458d4a564e9b85aca543e2ed1d3f77674e886a056ca442d65c465017abd93ccd038d67da41b592fc98a9a0b10586d2353579223ec4ff75c74f814bd908bed66f19a54c573d62c068841f464729d723e34bc90def389c0b8ee0bc0cb3b3a8bc5d93b4a9d454ecd8a7dfaccf30d27d40623c2cdef94a5f30cb0d5338cc66a8c8c0f3a1a22ca3dea5a8d3b5d186bb0fef11dccfd8bd348404545a277b61eb5955ff8f2333c1dfb6330e0062d59f243c09ded4896e006f02424afb8cca8ecd3804a5fb31a71411f166d26f95d3f08ed3dd665b97fe154dabf68934c72b6b365734e0e7da5bdfb8b448b7f79dc002d8b55d5a8ca3936e50adb16936dab0bf27762caa088d1b44e87bbd5b9ce21cbdcc3444cb37be34e2867c180a43ddc87ceb86c18ef5cf2072ba5244b5e99233e8d788c5afd1ed4da3d39c22c4ed4666943e0932afcae4e8792be8c546987f871aec3fe20b8a90e9057d78c380665b39826f244fbf49037f2ac0f3c503e91e32b06825edede90c2d56b16f130c5a4f7dec76a935719e677db5832d9a7242d8e794b07fd9dac699a672b5893acbd0e44d5e89bcfe0704ecd590e397216f994b07acc6c804a3a45dab8bf1ac5cf4977fb37256c9ffc08860e51c3204db00d9d6407066d45b7ae492ff4b8f10e406c29061fb0df30c83b5a630054b7bbc181a6ed0b4bef29cd555f265d914776cfebc736cfbda8815b55bc6d6057df9e873e2f6de4eab0d03896dcc35ae18437b9ee4bcc5c753c40d23f218213a980a29a1d47f28b72852113abafaa24b8465a5863f5c99c333077d76b371c0e72473d79bf85611bf9cac6df75e2ad498d5ad99f562332ae0cbd7a2dcf71e8817affee18a4e137b75c683c190588802fcb6b7df08b39fc99884ca9cf694a51cbe8aa7d8a6a6f365d8d658eaf3476a56fbbaedba8a231f3697db4edf20f42eec9192513da354ff9967ba44be1bad91ca709981e7ef399d5904b5b33e65f2ad211da6f043754498e2ffabccc88151aa078ec4628743b3aa9ce651cceaadb608343a2af40b479ab2447a39b7f63ecfe7ff52a240a43e91ba1813b169d0cb392590590c9bed2a23adea6bf8b663321b31118fdf820f0713f175634e038a369725e2f906e16518433a06a344434e08a7eb667cc5b56e9cb6419689e28953a94cc6907f29d1aded74d3049651b97af726cfdbd6a5b1d0749b0516dda96d7e0eea92fedb2f288fd112118ede127ada0aa45d4b531556ffb3c5073f4a22bfac9b68905a3f541aa440a83cc580c99361883ca5cf1e4f16153ae295f5d2131a1ba072968a93c8470016aee6dcaeb92cecf7a488b9b4b2f9a5451b9040b797f25768c3c0a71d9a493e9886173e4d60eb6ab9b464a21303553901f6b0f4db7c8a32d84bb174c7d55f01ec133df52fb1814c20136ff1a018d5042d5d43ebed505253e853365e945861baef210f5a03637fa3ac9e8c34f5d69b965e0a0b0c896900ff428e4a7d83ca2a208783e295aaa65e6701a1ec9921a82ceeae85152c8556817bcf78c8d15b6568d785b20f143517c9689269c804000e755b579beba328d6d9ae9e0b25b1c26e3d2a50594ef2ffe669de731868d0291a150f794a24c89d9d0f1ea725a264155b1345fe27ce0f9997d168e8f260befe6cafc882765e0521b6c3ba8c6bef39345d8e1db31bc2788da4ad8b87531faedb030024fa0030b5b312cf8296f42484498ebc8ef66e9acb5cb93ee1535514792133195ee748d9189f58ffd4d5886591b5e84deddb9d41b61e20655a83e99c303c74cb081f892503f5430a0e47f8655d79b4dcd3b355dfc32373c015071fc42e2dcf515a2205b8fcb653c9dccbe4fb27dfabda051765145a357294478921e52d8dd7dcfdd5df35b5fc56bfbaa36b30f94ae215f6b0ac68a4689d35e6f82daa81c97e5318b2f187b4fedfdb3a938ebde8947d970bb8e91709bbba64cb151930ee116c2c499e58f23b9c99b3d0218fbb0c55e2ff9e8f0560b69eaf6eb226a0436c1902b10f39be4844e9b521e8fffbabd6600ff14a54d39e7213dc1bef39d8bb673699e9a86cc169b0182747fae0874d22230962ddc177d865f731157190871b81e044a10c87d361d1aeaa50bea10bf8abd2aa2b8a2e977f0561b65741550c5f22d6c20fbf727d1f734e1f7cfc13146d6625a1d8d6dd5775cdb2c3354deab19e4d29577e84092b286d286afa9869d194db565e44a8822933ee962cc1ca8bf6ed0c9da1de4905e369b4b4e309fc38318585cf79062d78fafdf1f8a3218229a45749e60d6fe252112ee3af5b46164db900c53ec14977ab3eb1138a8d0ab7de105f59fab2a860acbe5255f2638bbdd95dc22bab0c59cd893b60a58016220e8417fd5c80b2fbdc04f0c5da0f2908fc7c5b38e5b47809fb1fa30bc295e2a42c26b319d13412a3edbc17e995420252de6a8a6a286949d6fe8c381bb052e7c6722e80ca4ac258a5c0b58d54e80ac85259ccfd9c7e2702382429d5d92af64414f98840e74910d3b9b755f40f55903c83abaf81c3a45e16d39d86c9dfe77648fe52fe5bb073b4ade690ae4ae5c22058e67896da3f40bce8cca1dbc5976f3972e4ad7722e3562b1660a1c7ddf5e89f6c4a5c2ad55a1381e6eaa6b0a3fd5b52ef9984a0eb50085bd06901ee9bf00ddb8ddca7608555b6ee4d95ef155ee93159342b0eca508dbd43470b4f07f191b1c111acfa5a0fc8c96bb2fb1e35283fbf47edc537839f3b5a57bd8b9a69bf21f536cf93b70196aff5f5c7c8832d8fa01723017df0dca4e3351d450f45a79fd4c39fd316db0019b455a262937aeaa548a0c70c5f2922cd6930274b6ec4dc80d3996ce6223efbda6b4253a0dc99a8aa8a812eadbdfd7cb5e93973ff5fb68c32139da9f269456e32a793235dfddee7f74bc9b85b59fb79b6998363964a87fe8cfff44464c31f81431fa8af9a1ad8fb6e11e403345c3b9355264fadb94f07b457959bd07799303afce8965b64c21dd4d548bb4e47ee68173ff3c3b5c32b2ef47f1076dac99f219a3da7a6ad91f9c9b7194a810d840ad64b0af3ee1e6073080d99afbb84af04f66fc98f3ae8e071b2819ba8b02c13000f9e2da3837b777d36aba31161980f63cee14f768ff3c447bb8e6a2b69fa4d07917ea59bc23c03f249dec5e5a2685262047eca4c94f3f81b129c347fd39046f1983e529cb4f2933a1b1130149f62d14ae648df1e4b269383b1b319b0fdddfc0064ecf1e14d82c42477205d1ec1288ab2430992f117ddf13b34c836b09d96b741b2d2ffc8e28c34599ee6f8f4a81c07a854c364bbd8ae678d22f59e84e612570ee199e61d1871f56ac253df08f536e7acd028b92747eebb077f960c11bb1120dd36f3c07fd975b7ef4121e3d9ad447649dcc7bcf04e2316d33d91a4f4cd75f46f24937e073cefb853bc6eefa3cde5ede80a81bde25396d56ff5db1596aa513c9dc00bd0599df26a78231e9ea5b0676174e77e1f17b8e6dc26fe6fc1bf5fa60d184b4978af1b6535e62fc3475e4590be3bab66f828ac3c5604bc0cb5bce25878dd9aebd11f9d3d9cb1c697c1315ab93718b15146168b7e9b6f7fec1c3f891b5a014732941621c7b4a251fb1ce4471c8bc78a0f8c4d27996a1e718c5fa5a89cdb84f92ffeb2284f261289e61ab192e66d783de058c7871b056724adb74d56b6c51bdba75eead38d0d9d6c906b8597178f7bfa4e86d46360220e97cdd92723d97b5cd50bf381f66b6cbc9bf8aab93146af4df2baf08cc8fd6d7a578b009af7134fd18d512adc3fb2bf5515cb8824c77dfa9ad046a1f36738ac272e1dc0c68c5e8708d07e88ff7a18cfd99fa601592502723525e8fb44405526be7324733d83605c4ecdd81000b8a1557cd8a90007cb5ba525ef944441878600116c739f0f5c02222cada08c6a49cd9184c6d187371c4dd593302ed42aeecf2902ab53d2ae2305a655e55f3519c59e35baaef2812e450d7cd522a09ee6fc4c59a993c0ae626ba0582a0ab1bc43148a5a188bf9458671452cb6333b97a58a0b9faab9781ff5c1e93a46fd604faad6d5d83092605407d11bce62b273724e1e70fefe89e90f050cafb6a924ef9b4c6413cabe04d856a6f0c41e4be89584f3c43a68b09f33a8023394662bf7712b38d24e024a130f3a975db93050b65b018fea7ddb021c379e2013f85f7691c42942e3d7f2eb3eb72151b068216c8abf01cfcc3e80f115fb9db3b1c1ebe8e91383db7ed10d205516519b319643cd0a19e73e8fc8c376d93eb7a594e4c4f30a2714429a06bd7780aa1f5770b9067c4bc0e369268761c26be88537d2260ba8230c698b32ee95fc329b4b81c6fe5d41237de2d524367646486e70c24256700f083dac108ba0de1a054f9f2334409058e3d55ab6a236697e6738ec5cdbbae6b2606e67283e276e08db6829283d3f7a9bd998b317717b8afce5461157e8432dc21ffb36d6d1a30094bd76726442658590835e47d8b770e3942e23133bf748a05ef26d4bd9c5b4a073691d4b7287f4ce4f1093edc285f951e247fb2983f211bc87c1fcdf7622a192696a58b167efa540945a774cd8f1c72ed5cf6d9f08ef23ac4a60ed76e204c383256821c98acf7ed3be163e567fa07fadd88cfd31c495e29d325ca6aeb173618194d99eef056f5c8ed5c6deea885368862d83f5f7bd889079500ed19c63e86060fe445ee084db1a0629126bce05bca4d3e9be733526400234317be09c1513a441219a8764239a12c899709caca8b009b97d1ecaad2499c4acdd468da21191194e0c327e2d61b94a2e6b103aecba5ba1f324941f4ec170758b6c4c530fb207e05ba32ab7b03cc2389c64cc2010755425a20ce8ccc3f078a82c517d52e6b460b6f8474e1d1b928117b0b09312d75b25feb82e8c244ee6a905cff5d5ea151d98724a5c8407830fa3f6b80641c2075a02c47ceaba9113bfbf4f6ee2eb7058cf2652e4ea35e2ad2c1deda8b30acb4981488918b35c5b7651b351f7bf1789c354a62e094d5218213b6f8369c6c13dd1142aa8979697305f7a87ae88d60fd7bfd166e0ccab13df8537a0f77c202d095a5761569266aaf7a7bd71cbf1ce446ca6c2302cd829047c60e881297a223112e8cd02ebfd71975a5a3055a9424f0fc6410eca5869b2ad123f4c7ac1a8878b7afdbe4357c014400988adc18b4a9afae8b43eb27a055931f564de49db0306bdbea30cf8f30df2c333db41e24064425d28bb47a9c80051f9ac2890dddc91ccb5e01f52fb984c1cd96d2e6f589d91497c995e2ce21eec23584fe6feef3fec9566526201a7df70a63183a9313bc2c095478ac9ce0d92d81b9b9d955941dac4f6705d9551f1c65de4e0ac9c15645270c3ae3b78ad66d53214dda0cb0e1eab88550dd3ca75c5ecaf86c2dc6c3f2c0331f4577f0cf148a15761b75dc58786f2bb53f1dfa6fa6e2878db555be336cff10f5c6e71cbe8c7bd77886141b0e59cd90d17c2b97efed738eab914ffd8c5703b72c5efc51a71da105d5d003cfc8e5f648546e79e49048161056e524f18a11364d8aac4195ead5b098b04af739eab3a75c59d986398e970c735fc0d896145022b4b9092d026e2ed8f58781c0090a0180ecf98ba1abf0e6957851289742555212b128c2e7266788f064d6443e8d25996a7e2d18cd3725b1f3328af641a182573740a16cf41f09e00d7c820e6fcc50b23245cd5efa3dee72029e5627e631170fb40e408dfffda92fc7f7a406d203d7b6e4f5b71867d49196cf1373def67b1daf0d1f41650a38405c1f42df952ef64f4305b492a0698c13309434c1fc2a5a03c83290117fba664831186580ed16e82ac000b4058cf18d77b86c6ba4d30264975c9820a345d0f2f52593404d91bf73922938e7301f86003c4d0eb34115c2dc94ed51117963099900750eecc68831edf1832bfa0b23b561f9b8744601c3d785dc4a2bc376fedfe4f6543049ccd42f4f0eb3f131a8ce89756f8ed07053bf2eb7fa41a1013df8c9a91c38ba5b0d552073072798c742aa6c2bb3991c05f16293dad48118afd8e99d20a38ea214a56626956df1c6a0b51d9cefa26a1a9c765f5949307a58c28a8d55904557f55b52d35f791191d7270ba857aa57b7eb86dc119ced946ebb9f70a55b7a896f85c54c9d8de2b1fc2016f7fe463964d6bf128a2fdb3055b996a4984bf21c9a2cc303c324668d081fe5de63d6f55711a83b5dea705b4d3362119716963c9f6b51a7f7390108717a2f879d3ce78947136d07d8804ec83c06a5abf80232b05bd27a944a2b422f864d39c434909d982d4e5ad070326380cda867abee2352803f39ea3661706ab20759297a710ed2669ede9d68839d093f4305ccf98776ceafa8b61ad21017cd07e721b91c82d3e402c6d4f63e096c1874eec58909ea6d152cb52630f5807dd0af02a42260b53921d243e24bc9256b882b975937c12587b954a77c1ce69bcee6cdfa1f1a3a9afbae05b0e8d78b13d86c08ac14ca82c092509d62348c142640d8a7fe2c6cdd23dd621fbc5ad49808221a153ae85b3579a1b6d7b9a3b657ba3804ccfbbc01b99e8d9f10a6c2fc236aa1326009603a20c35230856bf9396500f30c3903ffa0e1b30461a15d88e4bbf268fd524c98ad0fa476709e353d7c806232d75f869e3bb9c1be4b4fdfc6a99021a1d626fd5553ea997c6aca3b3ccdc349f80fe8f20f007aa75dfd43c8275b7ae7560728d391b62686166197a7aabc05abeedf6a83337fac7ad11b972638f2f31b9a076b1a69a338fcf0e66adb06f483de0bd8bebc3e8653853306c8964bf0c24f87a942354cc0e9b917c6a4c9794afd9779e507ac64a6af1c3757346f863ef3199f4dd21655359c23aec5f17eace5b069ca360657fa668f29b4e4bf4eaf65282e429496ad2ad8eb951558d494104128e3e1df7e3607f14eafff019afaffb2e95d874f38dddcc9adbab2a45d14395093134b8abae752f05f4dfdd61bd5f8cf8203cc37dcb4b73487780db3253e5b8c82a29dee61da1505e90bd25baf653e299bf6ce572329ac46f9d01d8c9367eb3d8163aed9f7c6c9363c0e0b4b50b558fcd411b292686c28f141380a4c018ea7eb559a3953695bb6fff2717a0eaaff2a377488d2f200f59c3487a16aa23d6e3e669aa26572ee5901b6e32c10e3855c0003ab49723e2f6f324c490d4e0c9d33360e8e4164d180f9aac0595971a60e6223b9c5f534b2e8344524b990061e5ffb1fdff65453c4fb06a5a48cc6640deb6a86f08583410c47788223dd9bd403f429b72e6c37c560a8803755cc49942e83fe10dc732a548012e3ae5dab34533b7fc4d1a56fb2f2db01dfe20c5fed51c0b0a94c3034af81e995920d2324e07a9bd8006a421aa6414cfd83a07d17887077509358c177b24772a6b887eafa7c47f84e45841b919c79fbe7a508dee6e6140d68f014e2fc2ecff1e8ec9627d0432180afb106eae36d890c95ed27637b9a59429c914c8094c098409f463b217c14b58034a7f7cfda3472662c3487f91bbbbd9487fb1e3d6dddddd2d657bb5c856d5fb772cfb6bd949d78bf0f4764c2f7fa77ef63ce0a47fe44837eb8856fdf579c01dffcc5bb5b7c240f6f275b2f77684dad3915f3d2b0d73560f5d7f1e301392d34026254bbd76c23f7c7aa0bdeda3629cfee11ffe459ce511d63e49d2b538924101b3a0fa91467b9c54aaff3885cbeca35f16fba1b19f5895d8f799f1dd7cdf0c5f2c168b510d4acc55aaf863f3f3b5e966956653ebe6f54bbbd66450606afea80be43545daf96896ccb13d26f579b95b3ebe2a3ea4effbe8977df58b7db1afc67eb2d80f8dfdc48e887d3f5fec2706468cd2f9a8effb622cfbe897c57e68ec2786143b6a19386ea2116a062b2f6b6103e854745a92840d1cb4b0a14487a3dbbfb5a4992ac69fea653e3ecd3ffcc8f58fb01080b21f9fcc27f309331fefce8f1fb8fe31935eec3b3f7a543b2ada328fef1c9beb5614e3f66743f10636ba87e0dcf1727707821bdfb339ddbbb9904788ced99273297fe28cb27152503db0b1bb9f7a893ca34739e9800ab29a1a2829762363fb81357d8182625335004309356c36441036e609cac9e9c8cab081a2622b1a565433ba70405ce2155c70476ce14a479ccf47a794d2abd180b0c393a8aefa6657f6edd994b358cad94dd9bddd5b7618d499bdb52e36326f493e4703555983ee29e9eaa0062daa5003e4b76bd8f6e1b260c9c90c404658c2e001e4e9010c51520f88c278820630f6908571e43dc17759a8359cf94adbcbbaf9b585ef7a0ef321a0d8d0613fafd7cb0918fff405b75c0a7ff1a578b9fda7a186b53d1971d97242621cee723d8637b8e531f0e7a55deed3acf85f6eff094bf370fb4f3077f15401438920a4f0d2460d5ec08ec1ed3ffdb8eb014a961051861c5f980401ec1d6ef3145ea238e112c6862553c0fe6d8971d20003e4ae56d260d76a5888dc45db10dae18c22a8f0220860bf66d4ad9672fbb523775dc0062d4f9678e1040f3180fd1a52b71ae8364f0c9448a2cb0e6c78438e38c07e4da95b1deb56ff0625680e37e4a0818ba21b18b103d8bf0d75aba3dcfe8dc85d3c4e9890c10dd4a8c2831cf4809dc3eddf8efa352a1a98766d60ffd664e3a20df56f408cc35cdc7ed3162e488cc35adc7e5392bb780c263c40c143185e7e9004ec372975aba1dc7e53cc5d3f5e66c4f004892c926802f69b96bad54f6ebff67217cf943870e0011b4349bc4105ecd77cbad538dc7eeda75f83d22d53fdd06474fb4d44ee6aa48a94b4c4389c8629cb10966ea16ebfc94abf2908884a8685c7edcf88dce542112c8a12616801e508b03f33ea563bb9fdd991bb645eb139e4008af1a007ec9fdbe00f95297e60a20334b0807dc3edcf624adcfe0c4cbb32b0bf36a93f307755253d1c01d321861f62607f0dea56c3e0f6572beee219c2e1ca1731cee0b2240cb0bf0e75ab6de09162451150a8e4c0035216b0bf1a75ab9bdcfe7ad45fb9742b75bb8360d916ca8522318e4a6929f3c97eaadcfe0c4ab786dcd53f44370d30dd62c6a9f1010aa2561ac95d716929692a4d28408cb3e3f64f98bb38cc932849dec8a28b339680fd33a85b5dc3ed9f56dcc55f7ad200fac18a25824803ec9f43dd6a26b77f12b98b004e30a1c2a74709982080fdd3a85b4dc3ed9f47ddeacc630a31103571a4658e26ae80dd3e8cc5d10e9a8091448f1221b097b88b07680b1b7c30041320740103b05f2a75ab95dc7e19eb97602413dc8a545071e38732cbb522871867e6f64b98bbe25192bb38104592162e5dca58ba01d833dc56438b257c80832174a06109d83d3f50fa250fddd26ebf7fc1ad48c4967655b0dfb9748b19a7de8e2f77b11c414002873032c860871ac0fe24eee26932841541f4787125e90ad832dc26610a20f8b0e5073ecc10d4ad8ee1f6bb956ef53b967e835bd1899330b7bfd3e856ac971827bbfd9de4ae08d456dcc5a3441b4a686459c30b1a6801fb7ba85bfdbacd475cba25735be6f6b7146e8580c700621cea5a61a97de21b715664825b0ae08fc85d3c473c81c50e4db0c4e08825c08e73dc86c18c1880cc18224a9725607f44ea560cc26d6e430b2d66c8820718040d81fd51a95b518efe08a65b438cd3378c54da05c48d8668207e472fa6fee86364856ec5303767074db891a48a32b2d0027605a22a013f20f5cc31c60e3e3801761c3c3b48814114414f6c30c40b0e9e1ad4e086142c54c0c0e80bd86fdcfe1b7afb6b199613b2612385f54a37accc3c17c352fa16894b755c4affa3afea41a3c84283015adc85064232144a08e584b0330ceb50d8302eddf85acc86f1c85d0e8bb3bb93cb9d3fd32d7be7db7cf3553d1a8acb8030dcb80ea842802bff44359490e930ef24c32b9a121006943bbf5221e833e571671cd58807cb105aa0c144186dc4a18325da9a2f4313af635ec0dc29647a11368c569a88285a24aeff4cb75457bafae8f57ae500faab7a24d9e0ca975fa15cf9273ba3fae14a39c61a57be4db7204046952bdf47b7980b19f888b7488d61b594f1830140b9f249d02d9a2b7f0522aefc16a4962f6a5cf930744b0157be111faefc9d6ebd7abac53e413431c30d2fb4e8e00a242d3b90418bbb32e8364a0891bb5aa9954450831b76489204051a4d807043eb30a58ea5d15ff42f3a0ce641b16ec918068af8a294c5891c88e8811b31fdb365062d398c133ba6a454d9d5b16e297923d990bbb0217fb15d860d790bab659174a3167d14b1b14d3889e2b09f2111514098a20a11c3592b2c46119d59f163141bb2d28d32e2e0528f7fa0daa84e6ae0d22e6e6924bd5c99c6eca436949d2a10a79a258d386443fe22b4c577a0ef27b9830d3989890d39c98a658f3e892e0f406e667c61aa9215216b905a630b8a9fe88872685d04e595e1dfeea9afa482a68f804f3541c0e703b50f51370201b5679a2526807904ed93c439c0fa4ec438272decda52577e98ba61f5b9f3c3772d9875c43fd83d4b7c40374a764b268071507f23c2e5a376229f0ad6ef0fc7fa54501ba17a2603c408f8583044c0e5f7291802f5fb633802db6f23c47c5873f979700464de7e0880119815403f14c0e597e91ca9f32e58019101a177115ddae7e0f6cb54cc8d0c08696e7c53cd8d3d49e21ca0e99554707b8f2242c0e76f50bfdf893a02750a23c6397dbfc9bd7024ef8215d0ef5c2203fafda81bd0bf753e16accfa8ea53c1eab1c29bcb44d7a9b8f1fdc8bd6e249287caeaa5bb3bc618ab0989ad712c43b9cdddf23cc6d897cb5ace48e3869f961efcdc8f71fcfab318a7df7d00bbace58c30d7c7652d3d0073abbb7874a959643f20433acbd74f526cfc1e363bb0e1f7ddb88b820ee46e7eea0d3cebc417f51cdcfcd4edf9e8cfbf654be9f9700b84fdcb52f86cb9212785df0e2ab67188fb902a120d1c199bb9874a355d769cb1b2e55f3de091bf295ddac45a597a33733471d28920744c7c8ecdfeb1e37792f831c6c8ccdc03131ca62dde302d99b0e0fd754ef576846a3c9d98cf7e6787b792d3dba1f1623e48cf74b53bd9e7fe884c8afb18ef88f53cd444d23c8dc47922128da76bca888d6dc25aa1c8cac3f5af3c78101e21d4a89828c2b297e9b4d7d1993ea63bbded364e2615c42888510aa90a547fea4f7c12e47d417a9ca199148caee9758056d1b10b6fbaabb52ad5ffc73b502f3d15c4bbc34b712f51294eda8f791e70c60b3fc5bd0e8df176325a6374c474dcdb2ef55a123604aa37ec0f7ce8eb781dfa3ab8a72fe3eda4623a062d6a95c3a5b8cb41bd7c7e806029203912ca1363306d586414d78db4f786156920a424a5585cead7f5f6e91ffa3cbaf9aaae7e4d67fa1d317feaec6f9d0c839bd6c5a3220dd4b0a5224bd148935e1c8a56a2510f7da378a42561a3168cc48331e217d7e3122b71120a11dc663e48d37e21baa817b7c0d15e94a12315fca367fbcffa02ca05aeb57797d04ccf7cd3739a900a2290790aab46e9fc93b763faf93bf5e9f3804ebd1a5f2ed34558177f6246467129e9437aa3eba868d49f1f45232c56e250b7b26c468ab86b7eb6bd8f76fa30061579f9fc00c1ae0769ae93a853448a495129b6d4aff6e91f232bbd1a8d4c2fdadc122da03e7e18bd74cbc8cb5d9ee32ce7f161f409a1268cb021a2103aee7974f4559dfd9a2ee66576d45507e9103a0679740caa3a06656a8e23e520199928afc80a4a3a3ea284d0500e85e8a2de0e07c612192de01feebf148f5e40bdfc887261e651cfa89abdca5d42349e0b2830d8d3c3bdfd1efa313fe3addacba9cf377bcf49d1f77e99e70175acdafbfe8cbe8cb713f3a8dfb1e1170249c182ac0c111959f2cad3d4c4a46887a1a12c435ee816fd63969091547017f7566a3e54d130d28f4758377f47579fa6cb7ea6a328ed65b64f75a79a8ec11d1d83341d83331d83a88e411da04cc7e0c6752a38cbffc69fb99c215b8c14c3c67ca37252d1953d2f20ba32af03cd8aaee9e15c7f8e2da422d700ff70ff256c7c67667e61d58f0283dc1379620e50e6e5c774f132ca05ab7297100a0ca6bc9e1efaf53dc6db6ee203dae7ba94c246e9afaa56e6c3bfdc376ad55e0ee7ad9aaff5745a881e36aa207a8132deaa3d9df95cf6f3dbd3a934d509e5a0446896ffecfc6ff887bfe684b51fde5c5f61603ef744eacbbcedfac6f8aa9f41ae5bb59713e30de1fea4514e8f8e1506b8cf5e87fbccdb118af91d1d3aa9a7de8ecca7523f3bfab5cb30407f3e11fad33b22a423f3d91fd1e1b1536f2589645fbd2332ecad64e797c1ecb96e253d141844793d3da7efd1bea73efd9eed7b4cdf93fd7c062b2fddf88a3e3006670acef2246c7ccad348369e962829b6557c9b8e3723f8d1a1085b97701716d95f0d429efbd34f824014fda3338e77a5d4e9bbd71e0b4d65941e0bed31c61a638c49bc1405055d1e978b82882ef5cbff807e5d5ee568cf17051e7093606873b96e5fbd9d95fcdf7e6725bd17506050b5639f07fc1b67d1e7014f6f7a141834793ba7d0a63ebc992083a7a72bf939cea2d27b01050687501ef0b5a34bbd954efdedab27848229a897bf79af6c35bdd506ea6baf63e2bc1da1e9e9d4d7bc9d08d6373d0f1832510eca5b11d11ef5286f750228345ff384e4372a27f35644b6d75ef3564422987d04b3df7e93dd1699a3733133b04df47add36e3a8caeb6e9d0ccc6e520c2b7f05779d9e7e1157c15da9a73fce4bd1a73ffa7d85e5bbcae9317dfd981bbb677bd4f768cfade4a79e073c75a7977f4a793b9c17899c455ffb1d944737addb3a2b2bf9a738b4bdf63adb6b2f5ff37684a4a7a3fd49f3e28e167d9c45a3c7fc83027c1d898927760d628bbf695258f6c2a6b2dcf8a92c9d21f517bd4861d99357d8209d1d756b558223b92b8219971bb3a41b7fe8f2f794f6acb3628c99528a08ca8cfd5fb7face59a7ca8b60d8d3a39e6edeca356fe5ace49ecea682b3667fa775472b7eee7940a4157b2b0c68bfbd8ef6db337b3adb73de8db3e66b1e0fc80332b87dce9a2f945042bc26fe113ff30f3f20cee21511edb7df3c8d2db3d899997a37ce9a534e1fc2f4f8f8847985796947c411e66ef1d41ce6a5258ea5ee584b1c4b1749f37847294d4809e34052e070e5c706d58690e74a2b033892a2288729724c5172858b92045031011b6ae050840c5b8c96ac502144021d90a4a041c58d399654e9628492148459a38b268cb29ce16304f5c229b5f8cf8d2bdfc74d1c5dae6685908a6694664d2865bd603138e2a1862d472d74e9a5af2ae2d238dae099102e1705c1e0aa2e6b8903891bda9f33b896abe56eade5f647a2cb42cfee1923d135d518cb43c5fa1470e3002044577e64a1a594ded38a5380af29d666f7762ae70c9999995b28fef8e5ad9e35333773735de28681dcaf5b2e3fa359966559966551f82c71b32ccbdeb39ed19065599624e86645707cb9199dd32bd2a10a0014052dc96eba8bba5c34058e29d78003e972110dacb8ac050ea51bc30f6041bd8cc302d5651cd9f26f25c25c59b484952b4323afd7ebc2a0baf1745152deecb3964fdd63c1bf2fdfceba503ef5aef058f00f797c0a524c696989f90d9f1b7bb8ac050843117572f7949f5229ee1443b9aeafc718332ee3b2b8a1fc4fdd3a8504507dc39a75aac2fa7b27eee3a98512c2c5aecd287772f7949f52a929bd4fa99c1b72aea14a9057f6e72f79b418e62ba4980db0c9f8c456da55764a2bd58656c579e1cb23ad1ba1bff8e2b87f71cd3fb8cf3e48cb237735cc59fd3dec887bd39b3e6c186c0853a7ea386ffbae2fd785f104ee4a9409a91bfb8647faae4cf01b22b93337decdfde4f9caaf7b2192cbbd73ef9b7d0e09e9729f7ad7e2f4dcd0e57edbc20d2ad7ded46f3127ae93b74606cb57fe7642f9778cd7a22ec0bd73efeecf6d9bf75cc7a150266c3a38d4e964f3f5e7a3613d44b7c2d4c73c0ba96f5803c1381cc77d0cf73217b0cfd9e7b867542ae57d17a658483df71575c2e9b9cf5026a43caec70cb77ea8ea216036d870be52afd9337d18a78b77d2505116f0df7e9b79ae33d1a04cf0dfbced7401ffd3739daaeb71e23ad3733f427f31dce410d7ca502744268c22ca02a7e728ca84edb9e75247a8bb3d4d0580dd1eac7693c1a65e7e4d122b7f065542a7ecfb739dbc8e3a217553bfd9ee0484a0cb685cd6e24696bbd59c54a79a24b6a6c7b2f02cf40861727eb7d8de5c78e4ce74a6db349bce8548ee4c470e4172b2bfedb9dadf16f25c0f0160eaea972ba59db03762730344933fb15b00c51069d9e2e7c788ed48cb1653d060058cd14f18324e476f003d89b1c1078beed11f131bf6f8b085d36df19d894c240d6c171bbe93da9369dc1dd9fb4ba493d230404a29a5f4074b2f17e9e0455829a5453a707129a54f4853910e485cd3e5221d68208b36b6d9b63ec96d6efcc3dfc409f0fe293f4aef05e9425a051d0bfaca4e05f17a26feda63f45cf02bbdca3f9ce7aee6adf7bdbb7866e6cab4b3ecb9bb67738632a373ae7099be8112c2cf73ce29259d73ce49bb5ab339e7949e7dc8cc9c452aef9c734ab7d4514b3c70c5a58dee812b19b822822b1eb8e2812b517ae04a8c1e77d9629b46003267ab8b1d09fdb5088dbae9afff46ce2c88f5f17d935215accd3fcd660f5556e58c355523d5a4050912bda001e575dd63fe628cd5f49cc5516f6ccd6896d11317b65e2e8ac244121675b9280a1524ac1684ad5ea6ba5951141d6e96fdcc7b610b364f7c51824e40d8d4e5a2283e50587bb92887a518bf8dd10dff662ad958babbb34aca295f00de4dd50cac748feeeeb433ded8b072e3bb6cebc5d70df7b6e764d8d0b96fa6752577594fc64083c76e04c28df2d5ddf2c538da8d565897af719a15f604e6a28b6b7aa7007fa9e71ef5413ad5c953d65111b80a1bcaa0a06e51e1a13f8f6c50e98f6f7c2b3f6cfdb231faf49c459c9514d606e2acaf5fb6d991c4ee2bbe5a65c338893f7e515aa1072c2f33c8e0f2fa02763b71fbfbf5c4edef9ef6e9d6f6fddd4476c432f47282830f50195940f104ec268e62904e0a2a74b7bf88182daef6c71e9f992d7008210446288831c06e26aadcfe188f6cbe134c4186929e2739a85203d8433f736cd5797c9c2449b2618c1890c2007b891f2aeee9b618fc84862bb1287ae2c596222842f41022991f5080bb5d95bb624c85c312577bed294a88c6056143550c55ee5225a9714d6ffa6e25c08ba21718ca57bdaac77fa852396172a94c1258df51426a3cea72b32ca6081bc624f9dfebf59281e8f502e3cbee27873b5f764b042e6c1863ae188b4b527e04d3df52bd7129d65f8c3230d8ed7a624375a3b2b48d6c7efccfc7dbf467ca82fef736ff1b12a5f4c3bf366c690c1d9011144058bc4d910e50aebd5ca443cf0dff66c6b6da2debaceaea9a4524b1e31416484cc51c703340e11d1e1bd79fa67aaa9e3071668ceb373071ebd12cf922ca70018325ae7f4ccc0632ba08e93011f67abd98d060858a3708c0c487db5c8a98aca1450d505c07dcfe1b1180d410e6f68f50d4248bdb4f42910d41dc144a48b7d64a80628b9334c870fd516d28e9f25d2bc7ed9fe957457145b8fd46d192a5db5614f9402181db7f0242c2f7f9e82983c60bbea1a9c2f2954aa48c20c1cc20470f21dd5df7738f1bd1548b6670e27a92346e6771fb3394909e4a7a6e5000216daf4c3e72e37acd82cb5217588a2863492bb14555121ff491fdbec8e57ad7dfeb2683191201d793cce0c261c3fac5345a38b76d5549984bd04f32822fb80c3de64afc23c6f8cb976ce8f2a5e4af5d2e92c1ca6576f5bb3bcca3d8e76aed8caa47adb4568f6b96264799d10db5d619550e41d48b27ce55561c7e9c2584c670460f7d6badb522358b939ac577024f949a45554b76a8b5560a447945f1a1eeb259ad453200716bfd999a59a366f1a5508e9ac537ac975a15919d99978b7280ddd0fea6c3cdec2cfb6873ab0ed82042cd400b1aac17540c6c28a184d860030b5b994861b9cb5ac0e0400618180e606670c30773007216dff9363397b580d1c195978ba05071c3bf9142c44065892f4b84e11878b85c4404181f978b5eb1bba5e2affca4f2616d7a6cc97884eac57e51711a314904764d980ebb9c48a73f987bf5dccb5109e0a6d05ffc127ef0650ed1df0cf226acbf78821fc0f9e184e9c89001ceef678a44916025b001a50bbbaaa72e6c58a320aac1b41293dc358160567c22aedcf84cdc24a5a50be31fabee20ecab9c1561bd51244991bae5257ee603a55d51881ffaa55b5cf4fae941936e04c3cf5e378a007ae704a5804505265668a248b7c2e8c48d61cc72a318377e741e427fe2c68fa10ce70ff307c6e98fafc35ebe1c31180e23c20df9a80994242e961bc621e810259ab01c19a65ba17db92b857fb98bc1facae1237f82fe742222877990c3c4601cd3177695137f1593dcc85944ce8a9fa55b44ee72232277b11325016b27dee69b58c9e71064f7f51799601c1318767523c20ac80858d818e4ae5590215e066b3336b6e962fdefaadfbdd0ca221b8b8aaaf85c558f2eaa1ebd42b7e2cfadd69add16da897a0a94db1d7f220f351bd2ad1db7f9630e552374cbde566217d8358459fdad0af2f8d3cd7d02bb54cce2ef0f07b79f999957dcdfc24f96d632c7ebb64a299ce3879bd1c95fdcb5aa8dc4ed236e68739bbd2641b7d8bb17602f6eb3bb7c45c45f5698dcc1d6bfa534236c4b11fcb754f471c344cc5e7b554e1db52a5a9518708d51484409a94da4887ca3d7be75abec94524a2971602ac37e19b54adbad2ef6a517dabe994d36b6d96407fa935b5a618da0fc2252c6a1d0f6f85015fea7290161a2d8a3a3f954f6a7ae6a1df7a64ee6757431cfa8554d90eed13198d25184485215fa932f3f84df411377782d344bbea491710b29a594524a13acc03fa4924b29a59492c7cf8f281754cfc35bd53c0a0ceaf899ef55f634df537fc7abbc558d97a363e6a5bbe8cb554d085ef8577aab1a6f85019a9f791d9a9ff99a9fd9f1266fa7fe8edfc99e46dabbe3e5b6a35bd5fc8ee70169ba558df7353c6a78f050c51e9676c0625772cc4a0f735c221f76b83c54354cd443ecd62b679ee675669ec6db11aa79cddb31fdccd7783a3a7e87b7435f870a8ed0a7f9ac3b22a443f3d9d3fc1193477fc713c93c9adff174c76f3b3a137d990ec575da332a27f5411af53d1bd73138b36ad2244caee02c59f92886a725c7459cd4e828cb663677d4ccd0c8e84059ee69bafa335df63a3aed653ad3db4d074ac689eae9a93fbf277bee519c8ca95cd6dd7d4342ea77acf7294f0795d373fa4d7b53fdacca53135d014ea246443c6221c46a62aa582cc8cad07c1e5df6aa8efb9a2e5565aa1122a32234764c068658cc8522315a65bc9e1eeee7f7a43ecb62bc1865b24a99d24a2997eda48274909691d91c5201e672fde390cd4f43266aa327596b9549c9bcede66d940b27c41bf3283038bf5139d316e1fe7a090be4e68686022df3d9932083cd22412ba8b0e38374a35639d9ebcccfd8adb3666c276f75d7fc9999df419365f67774584f677ef576eacf78925175ca78472aeae5f303040bb2325424168f9ada989c24a4e2a768082b140f9bc156ddfc10ba98e7d1ed785447f35626abab8e41194a63ca093ba5aa869bdc9472ea48bd0e3a53b3e3e7f7d07ccca7e8cd8c978352d1fa3af3ebd77c9d313f33333353b954ca09eb240861970698e5aec4a5abb0f3639ef9878e9779fb338e5ae570de8e900ecd73bf437f87b7c33dcdb30c5a8ebe299099342d8ada2d99ee429ca37ec3bab579b1497cc29afef4df7f6c54f429b2db9fbc4ec87cef5e083b8a2b3f8332c586d16ba0ceb6b061fff84449856c3f175139ba7d44a1d8e6ff204c275f487743361a225f4aa900a4f08d9e7fc8359af4c797fb67878d5db688a37b80cb4545041176e8fcb2bfe8350ceeb16002f55898df16909e8421de135bb130f42dc1df1f86b62d18faf6edef6f2fb6149ef9e8c1d2efdf66dadd678d92e30bd2e7f7ec9ece9e184eeac95620967ea59da5a711bac59e177bb0aab7f1ec69179bf4479f997bbc04d22d7f415eea3db84261439573b770bad3abaeb4b9b3cce894de3f363dc4bd6d4daa54d1aa684668466c3568464801d8e089216e0ce3f5fffe286d818f628cf10561bf7fe43f217e3fd11358ee002e1365a1e1464f844c091b3d5a03cbef4f6c9cda62befcecfb5990efefa54889342efdf9d4ab26488f8b94d872f9f275d5667594c37f8bd148b7faba3be0a86888d8f51894eb3bce9aa991fa090bc40eb48bbe7f0afeddedf4e73fc45dd48b815dcc46ba25af471aa293eb51ca7523d20a13e8cf149cb07f97d85992487664358576c0aa90427f9ec586bc648497541e55de776ddc33a12222687e1053413654c5a4db521829f9507536b8fd2726cccccc73ce49e79c92b97b08828d2f5f7bc3c69fa62aa574297d889ea6bb9c337646c794363da6ca5dba4bca524a29d95629a72719c7634f9f93bfe936fdf1b7942676e796094246372961e387a76b52422a21a3bb64b944ecae9ec191655996d52ba632b446e272d232689644563b7b8dcecc675a989949994c55a34764a78e426476a233737777ca9909ef778b41cd326cf46629e529c62ba75310344dca296b90205a1cb5a377dead4ff5543bef2bb5acd2ed9471cc3fb2af994fca441360568123c35d26d6baef5f639ce89aa6eaf136264a5bb894c66d93b59a4c9d6a8a751612a7d30b42fce7b7cdfd7cdc6c266debb4ee2f55e1d2acf3db976f46c2890cdb91258ac3a9279356333aa5c6385a2c6b941255aa54a952a58ad7ea5d62bb9422dcdc8c0004889cd46dfe7d7c1fcd4ed2f650cd7aa54e7f9f4734ce96eeeceece2625aabbfb747777e92ed99de714228e9aa0d2c496a31865a4737e37d3de29a5572c362999999979ce39a794d2a594d25142bc6366e79fd3594a9f538e8d6dd83d2ee2b65b1cad2d81ad2dc78ded35ce38d560392f1b175bd0b033978ba60ccd604ad0fda6c06eb8c8b22c5996f8f35733babe58910c866e94318a7063946e425f0b644a3723722a9e16e3a9d6f8f392575eaf2410c989492c0675eb0a331551cbed288b382b42a1c222716ca8caff8ea8f7556f158db84b7aabe8551b83f8477f84d25fc718838630cef726b08bc5fc19317f6cc4b1dee8d1cd3f3efd88cabc12e24fea0da9800cec5f976ad8d5db8061df5d2630ab5f8b1f1d7493fc8dcce4fdf903e1288cb6ad6db5d64b755cd7d5d7def4413ca6dbbe85549307c3a4c0566d7f2e8fda0b3f7bffdc0bad761b0810fee11f3330d952160312aa548c13f35e517f7ae6163fc0be66fad16f0170f90b795cd4a9db3aad337561006e554d8161de7e796ad73481cdb83da3123b6b0cacac4f6200804a4244a51601420471140498db3f6bdd627a669001b8dd1d840eb7c300e28ddbef32008174dd2b175cd490450fbed0411935d0947821220195474a0ebe20430a0face8b9a2b3a092541181503280ca262bb5d6d30f5fa29896246d3fc0a1435512a43979922939320d0185ce8054614324ccb0048be26746a564c9594c615c98b89509cbc1925eb2246166fc441f20677185b5e18484254033b012df4a91ff926694665996655936a3bac14bb3f84b4dc3de004675439827e1a7e7bb8172b31cc02ccbb22ccb8c9ac54795042649cde21baa361d581922362fc238110ba38555d9a739f011a9b71367e842e8052231c50009144ac20ec100bbd8dbbb718654a0bf7e6985edf8dd6869d8beee85aa7bc2bcf3373f459405e69d2f6d9ad5ffd1eb98d5cf7afed1af577a4da11fb830e1a5899e1d5130c1e5f21797a31882e36ea97eb6e91e70c51144e00dad7ded06cb414820bafc4576daa51d15f93074998daab8212b15f9d0831b3218e942ac3cc3ba00b3211fdd6063453d44c10416268cb628e2810b6bb18195cb25f4cdaee976a140bc2ec43980d838b5846529bcf0d02d9602074b3d63dd6229c048e34e30d79ffe5c9f5fe5674f64f2d0afde8e10f574fa4ddece0e8f911456401aa2a4c4483af54ddbd7a79ef6a6e7719a75d9d727d26ff28e98bedfeb3fb2a2a80772fafa286f47f59dbcfa65cf60a5a62752dfe41d11d2d1def447b6af4fc4f4a73f7947b410c806507f5ad1ad5b51cfd4ad6cedb838a4c367c6db89404143403e3231c5711fc6201aa01daf7a1eb0e6194cf9cb7c21f371c959ae994cbf23a413bfbee6c9783b5169f3769476a2518c48d5a82299621897ae7faa9bb1aebb955d596fa5135f4827e1800a183760af17c8bdcc0be9a43ee3389f209dec65bc9df6e920a02c6ca095a541eea3b4a4b43493ba197396d3aa54dde43e33dfbf23a4937dea778474747cf63b3e1200659efb196f6766474827f59cb733e3750a69a7879ce5afc35312419936dac21edabc957d1e70497b06356f65bd9c9e99e4acd40be970afd1df71ea9ae7439c1794e44a4a0cd60f1da87a4784744c5fbf0978c4e4ade89f1ef5d55b518f08ea4f8ff276845639f5516090085d8a82460f3d18bd5ea01bf934b83d12ed4fde8a48f6f5abb7ca31652128b10cb2b31cc959ee9ea58624b0c0e2cbeb0532b879479068de2bfbec657eb0d406d8f51bbad2249a46ce72f7a4ebacce97647cb00c42a087088c97361213a551c2abb36c336166e61b2044df74d5b4dc5ea8aa53821103a5304c00cd78d7ceb22c337d9d53fbdeb6fa5ad7b53babd98cee9fb963b1630a99d5166eb42ceb505e5879cb348dbef6f4b39a65d2899091877748212bcf39b3a730dc984ebf75b2db3a4dab2f37faa64ae3dbf437bd14df6006556eed4fd6b0b1cd1836b4d63d03434471b988063d47978b8458e36e2919860d99e873d70e92f883972394c0ec91c427baecf0028558d882c030b92e27d50d59c1bcd18361deed94b3a5ba78b98eef904d9e3e5421e62db3bc3b7dec523fa45ba9efaf408a7b968010cef3d1ac930c341edccdbbe97cf8605bb8b9d59b92793e0fd2f708506f15fb87703e603bf1798c53ba045e453b2c75c7b48421838fc2c49fd26d5c2bab725623e1b54db76c7a22691e494d5a1449c91285135f4e5f12a0a32128434135b1ff9a6a8ce5a192027029653b73a0bba8040d375549ec14a21980400000009314002028140c8744429150281cd375497e14000c7d9448785e1b09d328c87118a58c318610400000c0000110211ac2060040c220a471ccc8a9a87965507c67f4d713fdad6f89e3cd80bd39405574f599e5908e91a35583b2f32ac3c9f428720e14477765b0d49832ca57ae2fed064f8c4bc1aaa7f77d3fef70f1bb8bd595bc1b2da5d5c5367440bd28a90b6742d119022df40376378628c593833ce69343d85e509bd947940739769161222f89669aa25a0fe856ad961f95b41072b80d427fc67894b24e2866f7736e2c9826e6e46be81883e5ae6239f627384657463c64f086505b8dbd6a336e12923b24fa0a29869c9eaccf1c932d0d321ab7963a86982755faf7061d5be5288fc25f9242d49549c7e9ac9ee2a25b2cc51260f5c3eab63acb52c9c1cb2d965b8a713e4096d519dfd09c337b111240db7539030c4919653b559642b8e74f934e0da46ac4807eeac69d63204826d2b438dfa58ab1c417aceda1a71f317ae1ac7a293d4b3673ecb4805a46fe2f6c481e9925ca4105d68417d282b0d65f4a6d2587fee0360386554c1a507c14dd7020a4041a40ff2be192b1584916c9630b3bb70a2f8360c731a3a61f01ca944f1c28e89f4ceb103c8a16fe392cb99482b7f5cce5496e51154b50a1ae017277cdf703c489088450aecd633a47b2a1b28f81f0f034492ec73946afea006c7e91bff501e8acceec427728dd2fcc72ef2ccb372148ff889c27ee74145abb83acbb3f063e0bf349e340f46c87366c2e05f9eb8e1abfcec1830d8a817138d878c80e0f089e557ffabbbfc45f27740a8d797e762f27db96876d17df853d79eed0ddadc3b9c17450651e2dd03793d6f014010eb82b2a3d202f59f1eb4b969ca874e448f6111762d54c69cc2a88a7ae4ba12c21b29dff11c57303814f26fa9e89e79fa7752edf26e95d4c96651f6479d8d52944102783b757ccfcd6182b7805e6aa87d936c891f3278ad7a90a547ab08c9a71a60d0cb0af9fee697ef789079c731840ca0ebb2a5d5cf9cceb8910347aa50d1b5bb7e8bf14f9884238308d152e02b500ca232474a4fd1d8d08dd0cfccf87bb361f4e448347cdc3ce43ef22110d8107ae457bf2a815839b72d490bd05cd27380d6ec3b4885a4bafd9be0e1a5ccd275137dc2e8a4f6728f3322e2eee4c2badb1ddd148df2ad26870d5dbd98aa22adb6831f767cb0b7bb31fbd6cb35ea831aa76a40d249d0bc1d1e74ad53432ea74fb2802441d3c00ff49dab704843ce66ea0c82ec5a273781dea56b775e21a7bfbf9905d369caaa422555f297a8c550a5e991eed8b242eed8ad879f534383cdde76afe61b5de540d87478f747af2f7195bf5b0b0db8f83d548a6f8d3e870dc01a75745d91f3becc4069b4ff61cc631a0029bdf43aeea515816a1d050f807e8a90dd337b88d59c506a0c735cb27227020919760cea356775f9b874a493a8e77fc99ac22a94512cd4d443bd963d56a34a33fbcb4cc91c3028a9ad58560717a2cf46e9ea04881227841578e25ff875bedfde3d2c754d77efbb9b9732214ed67a0c5d5213668c73336c6c4bb8badfc3fd1030e94d3e4ba3a7a953fc5f5b081a8bf705dd8339e008712badb07d3f08d59127d6fbcea88d317b63414bcf529e0c95260a7dbd44d1b572c12ebb88e50aa53629969e27620345749bccf439c52fb0e4f0c700835d10b7f5d1096f29321058886a0368467b8053e4cbc773641f885a4f973b35a0f3694460a58427994dcad604bbcd13d1ba22b65b54c35ab91afcf2fa58ae3871974703295d1c094c5bcb8ebe9f15c449372a3b2a7f35b3f488930afbb918cf7b94a586d0ae924b427de9504232267e649a86133d575751ae9caafdbed424bab1486b9925c53ea65b5f5788349f326d87ce1603a3d38516aad16919e412071df210c58f80130a8f0125a09351bae3f64513e7938b0e7bc2a38810c5c22a86fc94ae3ee1b7a654d0effd9bbdab545db0d170ae9be1ebf871df575af9cfdc08adb7bbd99b86dca0ea544d90b51a6fd667ad9c1021d60698496df681917956fb896fc262bf6cd59bd9ae79feb86bca25920fd9a28dec6b3c46dc5fe17c55ea780e07e6055be9dfbc2589187da37ddf0f1839905f290e4be68a23033815b992774b3c2b70a99ea10c4be8e2519175f4b5c1911c7975e43860388fd414997a44a48b1d1cc17008998eee879b4cff0a278c0cf08297a10bd06f0a166f0c265f8466539f54b4161a98bdca7e786fb14fe312ce1f66232ed430bd193c801e6163b98764ee2af978050748858578b08fd009d5082453412bee146360e5c0806ca41253cb760df126d90c2be6e7b52464bc3b2a139e97e35ef3cf6ad08ffbc643fdcde9aba1eaa6c45996fc89c02b04a7ceb042b5638791fc4413cafecb81e7862268cd5d097ea6276de9a728a30849680131bf8239e96f138be868841c37d43d668c42e78f7c84381f07a14c323668b0b710c1d203755b0f1343954e977432ec6cb115bb5969d4769d762989b2748fd0b11fc70d3e538b0c612a42ea2425670bbd4976a78e86467baa8408a65e282b07c3c0ff783acc95acc019c6640fe15fa1901a768e9c5c4a8fb15388f1d1ff023ab32bfe8be8facaa4859c95f68a89ea2da43e57b630c736072db8175305635e5f2154710770977eefc8504cc1773f77094a2d4dc40f279c03a66c49b78d107f311ba5b9658d710067b3be415eee13a0356f4c3d0a2d9a4d85abb3ad4328fd71b4d5cbdbae51d5931cf897fbe0d33ffc6b9c5a0db919fca18c5eb39e9c6d3014149de73fe88ed43d5a5f61c7dd62f75e997b1fdcced1d5b47d86d0ba65133c6a3a9ca1d5268a0b06a029aa1480e0db71867cfa002538983c0ad7175edb113e1b7b1f7fefef8c63d26affe4eb59a85ea17655322a8c3b6dfa097cc76cf7c6aed9212becf9c3609c926b2e7ba49ef21995de29804c537ca81506b737535e8395b04aeb6fc7965b2be5dbb7c939a02c22637e03713debe27ca667a919c5ed22ae009db4e0120a6d327cbf37cf770c5622c627a2291b89ea0e20976d34c2b7dbc30497b27bf6c63b967eeaaf7729e280e48caa5b5ef24215ad8917791f6369423f517d20336c425b286fc6194e5411e159cb588aeca321522f0ed92873241676e894ca4da43a1ca6082f46eb798a848b28faf4c53f931b924dd82db910b6d3340539f26fa584769a12f787fd694230f5003b30ed176af8158805800c0e72d4b8471936a4c38bc39b8acaa1580893886dd61010bbd8579928330f75fdff955880bb13f31c1bfe0607a342adfc07ddc5c4edd4312855909d9d28885a497051c3779092dfb6bcfe5674510067e67a994cb441b2389e9c00bdd0a2352460834366ac18034034906408d6512f492dfef6b0f9299eb1618b4ea01382d6be7f5d9c92b04492c09aaeb2b4f9fb004bab1d2564ad0c84d6f5a0c2cc78367e4dd397c33258ed020a415e00f6364c549c33366f94aa6c20255d63b6b807b42bece5cf09c6a81d17b66e8f54dd3fe1601c1258d510e3f8ce6e763e07c0e92ebecbda494ac8d2cc6bd87e03d73417d995022cb07bd47a36c419b82d66192a6c8872c17209d2174e6bc5d1861349acf247e8ae00efc0c1de4d8bfb1de3e03f8725d39ac4e2cc1ee7da770938c135def11ac1d77df17d98cda799be8cdeff2c8ec9315672a29804a482bb69260f5764ac67217d1269859f681b4fd104b66461853d9836a3f4abd066bd1d17d07a0067c8e3ff47a209bda29f82b072eb102ff3762ff3839444bea057e2e510274ae07251c3174d5d8f0c45564d026848bed1088d7efe2224e85e816559522b5952387d3f1eb5029cd0ddb0212d4c1aec5e5f847c5b63ffd18bd9c13b82fa9b5e6c515a1bc6c00e03833819263c9596f4147902e1740165c7c45f6fe4c44f51e2a20e41391e19f86a5b34c6d1ffff0113c076cb2d5b5738afee55874c4de148a1ba4c3ff03029153ad05406c3b7611ea3698e0e4cadcfb325015c9d147212f6633354459afe1f13d20620015e79b187e03ca09fac924c8704025e622832e702b82fcdb058ae6ab0ae42610ac75741f521ba5ca3ce557a0c1abf3f3316c35e2bdd439d7180d4c2b3d855ef219aca519c0dde0364c77e05c0f23da919d508c1291f9815c469e8e0ea7b0a08cf238ba9a5f28450bfa7a8f97121f8d5116937126bf39c08ff8acc6b6cf3d6fda989ade7b05a6927ac1466ec72b25fcd789e5e635da17030bb2d8ed84ee9aa42c1e6406685909dcf1ef8816e64dcbeb4dd55fe8d14394c42ea4f40d7306f33c33d2270c22ad7582530f82a96c4189c9edac72632e98d1cb18031894727537497633ac96649a89961c4e36d45a5ae0c12b30d6697543dda890d03dc5830719101396622b67566814898d4f74c11cc3c6d871f06cfd7d8492b1b869efa96e7e6b52e0257b1b20ee801d6b06ddb47dc028444d566b991ec2d26831336e52b09a5e4b1782d861d3c67db71e481e4b1c5533db09b6d6f07ace796b0a9f10fdf06d822204e8ab32b9a5daa138aa1de67f2e504d916899e7d1daa829190032ee3eaee95bf4d26b288a36e7b9ce7d297cc3c6a14da34cd32f94c3258a37fd8e98b7f9ef469136a03e22dc49852fb073202f5bf9888181a0e1055473c152120c0afc651d6aa2375473864848caf66a845cfa7c21ed3b8646454c5e9e530fd0e79f68ec7770b6bc51e1dfc35c6880826e8cbb84a4966718a44577810549a350215b6de720bc21af8b23ef9c11cd47090d1cc56afaf1970c5ba66c70fe1809b2fd99b3254b6cc0c12dfe99e919367a64cdd99b2e7cd4ed1e196a4b7486203ed21cd167e4f650272c5788092671746b2b461285d5c022821c2e399fcab722ecdd4a866ef84d0d4fdf9b00bfef9281dc7d84e8165b6d896748864e20f6df5129264d774ec2220fbc47b8d1ac90ddd5d573d0a6ab69077c8f5c5b32cb00263b8e944df4aebe7d977c7b76aa07579bae3f1156f58f94dc86167fce9c51e90e1271e644b5fc82a8590ea5b1efcb1e5b7bdc0c1b35d311211d0586c15213741400dd43923b91a130a8d474e3724a5f81c755168f7eec8cacbd7cac4a18233712a9b81ea88cafeffc8b064d086f244947fbc4a31818f86fb0207715fd70acd0214e942645707a3fe402fdc181904fa97fe1e56e82e72c707f9f9e5fc757daa775ef461c67649819bb30bf5dc89f73950e070b20776ef26f2941eaf168789e71543e39338bd4c2317eb127e81980bfcc373ec1ada250e3e84a9366f9b8257d51d99bb7e6743520cd5b628ad3cdcd795ec2ce4c057398aea9c699593e2bcd962806b7efff1824ac596d148a503fdbe33fa24ddf862dbdb189e72d6af6c390e530f6866e55ce0f59cbc32d56feebc15cdb044f61ce75dcc34c53999302faf12f37dc581e109f96801e029d23875dbff7a1725212ed68c4270dc652b36d797a4b47b68fa5563503d5b9889a1ae9b92bdd9adfc1a2ed29bba2594e0e89dd93f9495c98f22fa9e6cdecf1598073d604a1abaf72003ed7ea9e2cadb10374fbf45a64991ccb2bf67239c1a42627f79df318b14000eb3ecad9e3d7291d49e35c8bed9594e978e78157170da924101b6dd3c4c4fe1e97c12dfe618f24a621a433332887401f13ff005b42a1707e2edf47dff8d418479461622c9a832e8ae04ec003cd582ffeefff330c2a139b4296132a3b06d5854ae1de228f951bd0e3ae891582af13f72e69ba25e2bf4eb95e2b0a69fc57e2389ddf5c5c4f34565dcb6a0c30012c88ba91f50de718ff3d18053d23b874c111250f715259cc78705391045ca74c9f18c3badca28a20f4d0c9cdffcb363ed5c7220b4da7cb2cd8e04ebc1039f53eb3eba4e3e242dd5403b23882141e402b30da0fd3c284c3f4eef90afacfb3d814b6b85a8beb8cc342f8d9564f356b8ec46ded5933c9c06c761a3ae2efa81b892e2aaca814442c614f1e255730f5c4100b9df12a3ce51a57d57698722206111edec9dce5eab2839ad300e538d902ddefa51a077c7009af885f6a3fc403c926f0696e11f8c19d370e639018cb6e611ad7f541e0d50c99a1026a743d64b52e9dfe981adb5da719fdc6a0cfab2477c0d67691480b8c58929464dd02190260d9c82bd99c470c08c270aed5427ca1d9c9f7b3ea6b7216d0444525fa0d53d3e11af6e9ffbb4bebc8e0e7dd830d4f8c61958f91284222b3632e11a91783f742f34e861f792100d3f64d0085a357c302724e3d534af3135d4fa7addc208874429b6931d888b15be0633f57096d62de0c1aa2690f30bc14547fed44bd3689215e5fdffdf881aee239b99424d355410b1532e06a02e4da5543203191e7092df7f85380d37b84e1223dac06ca06832e5eb76050ea09b3a6eeef064274198d4fbce5640d77f955a0066215f5836abc11041669e0715e4b0e450177e96c4b47c1323cbcd85441663f90b4647b041eda8cddb967eb4c18422b5999f0eed98ba0282d02e8a3e6f0c05f96e96abdfd41506a9a9f51db2def47cc2742d54199370010544fa140bb2d7367b4f40939bf0cc699d022ef56b4a65c6018db1a33b382c07124d465573bf7002444e29f6a49537f9d6575249c8567459948870412b8a9d96abae7acf3c4e1154acaf3422a497f1ec08e121c7058e723267731b47ca464d20a085fda19be166a1e1c51496a33f04622c1b5e66aef9c48ee2a1640da7c9c133fec40316933c233505b9eb659f748e3f149045698beb494544339bbc3aa0515cffa33ef9cbd79f9218943e75880f93d30922dab9289f3c99b6b4c6601fe73bc14e87bb96338404e95209f71cf8db6cf5bc83f34510ca8f62cd9197280ea35be7c6777073e8e176134bde1509a30ff3bf83e07b5fa7ab6defc08620e64f02e2eb278fc105303fe74ceacd160afb4f2d9662b89886f3f196c2d8086e2af253fcda39a8eeac6feb4de200dfc9b3c110d604c0678361e8fd9b8c6dad68e0f00dc17f2b31180598eaaeb5c01b47caea5315f9dd1c0321abc68d53ecd19c4916195a053cce90ed26030fc70e6a83038340a14b871ecfb930cc0a6a1c5325b2e33e833e2dbf6cc3338a63a69996e679b29100800ca709cf11fc1f53f17869981fa900e44a2bda9267bbec394f75eef99d2436105352cc4ae40fcf820a8396299b5e229c5c577505fab73e66f98bc60e829a04d9a255d8b6b5f359e3241953cb40de1e12daa5772bc5a4ff9a16567f535ed3415d89903bb6cca4e3f78cc2b96c04d7776b99dc257179f12fa4e78f6defc67bf5fba1c62050b0fd0de9b1e210d49ef1a6f918fabecd0526eebd39a0a934af43b805500a842086e311e7845f134613b3a40acceb8f3c2e8ff4540f0637163421eb6443006de65cd233bfc795f204202dc5c51ea731368ea574a4b57d780063589237b23816bdf185a366dab22bb8f85a874b8c4fcc1361baa47333dbd3db649a161b780c658e1d4360d9718954cb65170f78e0448457191d8d854f88e91929b46e0237e1447f3ca35004d7553616791f408247a16536bf8b5a24023677207fc74b1bd5f2ec4b7cc9c1f9ce8bc7a8426b07a019c97d26680bc55f0f7dbf5cfc8331ccfab6f62d0493374699a7d41426308feef35163e3828ebc79d88eca31a435a4e297633dda6e905817a36b69238a60c4a6355d981803a15c10e26d47b7f80e1bd1e183b3e794317f26b333373e4ca276baa7b79bff1fd3b54477010a913eabc8ddc885166ad2f01e0651a09372f5aebe7109585260080a6e533cd4c64d7d160169b1386490bf1e750bced9e7bd6516f6e72a72da5f7c60acf536e0c72c652381c6c42e28e4c5b7e183042a4403d422aac75c359603d839b248945f3a3da467b3315e58034b12e15e02112aa3c572e6da5553a869bc4b15d967c3b87f36940576777b789f8de1b57718a9e1a882714c8511cb124e39dee85725b3c7925d6461d75eb5480a8167adcca69d106c631662c157ef1676330be80569d1508378b92309fc205d039c0330ccfa7f0f3ba24b9944aa276c90f17fd94b7f0450f471583a52b8974b3fb70fbc77618f90f3b57796ae10f2e732ec35f9f5bd9b8f503fc796cf2cc1d729385df4737efe9d2648f435d2beb50a45834e6e074a5b920c55ef324ad0e68d7a1a42385c8554d33fb349d36adfab156c2d4e6a3991daf358c1cb02adde31bed41a5edb47a728d3e310ed29b7fac513e489a7f3b118360580a9d56bd95020833e6d79b013653b83e48ef51180820782a0ac8e4566b7379100263d0e8116ec0c57bb635881e1cd55a45e5411248a6cf829d622c061e1fb2ec6f6a990598ae2c165567b15fde593650954eef8347543ac26aba768dd43475e60289da94a356278e17413ba545c3b2e979606316747c0f08ad018878cf49a37fedd3608ff0361adeaddd3a175de7b85e9ab11da7bfb49261c77d6d0a3698bb07ba5a8e35ec519eb97ef0c4719f88f540788ff1dda89945d474d4e540b753b686d41a7ebddeaeb4c0663ce5c8309d1eb1209efe8c8336974e965e1a8ec343e38e0084244d734ef96064fdb57bb952bd15cc111df501782c236aadf24f946e449484aa15c09e73a9b201106275d0c4a9b7df328531e585c8340c9e096eaa51f6ab752107227e55f4ce2a3b403133b4cae9485b292efcdf76b8789aa68a36b5dcfd85f765af5dd990c7b4f6c32d18b1ae227940b10bf1a2211616b5145beee6be462ce9f8cc41a96a2955fc3135a7b2f4d0cb3ee10cd50ed55887314e2398300d3d08fef64b5ae70415516a8f8b5fe35592b95c5e5d764bcb53c70659d841a35e2bfc31d6b6346a4cc65859d6f250875080a50b5be6048d2029e31727f341228d94b3dbc270ddd2b7f5f5c1bbe08309835e8409e7c2fb469ca68ec957b9ef00d49338365b42b86b91804896db27b1a50b08a435a87702c62d653bc0240f0bca215eff534e296bb99e2ee3dc9282046175fa7d980bbda23b360dcf644c653d911534e3614fe87d63e136c172de898db8b5601d8e30d25a051fd9d6156b0108bca34660261bbab310300093f4a71e4eb02889c098ea5b9e67f62d5429bcbe65bc30a59f45efe7c7a28728089bf7008416a6f397f85a5b12b5fa31f06e10ba492db65779037f986ae8c5fb8f3f598ce45e1c225ae96da5a067006cd8246444af9894ba662127e4cc85c613387e240898592c4cb40c71c3bec5bb1b9aeb349941153b231bdc9a0df0a823db7137f22241ff9e31924704349e2b9ea4800ec7da1790d0e72f96db2b81765477c481b9a99beb4dc12257fe332b3446d23ad5aa1738ecdab4a6822ea1552fd3c4cb8ee41a21826cbde890a015ea47df8ce9279a827a55804a1ff6d6120548c7c4d3cb42f6a4ef471460f06bc245bb5bdb24d890e11ca43008a631ed22901b1c49857e62ca4c4086fd4f8e74569b7ca8f450afd1695f17cd46926104f8a80ab6833aa96712d3b5f91305e9d5efb61d0a3ad81288277f4aaa4dd1a9819e277aaab364ab04053799627f2619145a1cbc1bfd21291e1a115aade1c8ac43341192f52ccf95c69b6437b3a5b75a319e10afb9891a2b0d62de0ef827e9ec2f4d75fc2e01f3f35fe792a0ea950e0474b5d0d3e752c2ecd5c00dfe560d2f0023c61323d0fc414c9dbbb7d9ea08394def84fb83dfa51f3393cd5f73d36200c60ec9a2039b3874e1d3b84da6f563054102de6ba8e1f92c859b3969121a5967a1b024131eeea899140a77443c3607396c5d1033872cce0f94ba3d7205cffe31a15e6affa751aba18fd5da0da119e30803d71970cb5c0b114aa25e30a8d323cb8367b942dc3f5ffb985f7bdde04e28854cc845ab155c367fda58d7f19a13a474236ada457fe8a7d0d817634da55097956e1d569a3aa4d456e7f7049c44b7d07ec136a2921ff2b8b10ec49f7b06b7c4e6f3f747e29d3711f6a61a497b2a5c0240d897a146042c8ac90fde1e6ab35058a8ce35cd29d12b12db203232197fcbcb71e124aa21d8c51efe720d71d972314a8e5b54abd5e73d035355e06772364e884d0813a294a66c6b052b4deecb71436a0bc6d3cbe196e40ec453f09be36c46a5f58bfe69c45323b63c3697b4b7f20a191504362f18feb722c1c90089bd74606642388a2c94e9c5d98bff7474a39bd1bf0038118f06054d7d71ab137712f6f68aa505080230fcd0586ce743618ced09ec3c7a5f97e5e50e59e72553e183eebf8343bf9c270057f6ba655aa2026621c64db008ade1a4eecc416b55e8b60e3738a58342b9be110ec3521fd832235df7a21c3f69143c11b9a05b400b4bf90166debc77603b492435f26fa3a70e0c38a44e5168079482e2e65b41ceea5195a308bccd218ba2b3404dc63d6f20da019ea32bd9ff568ef2cafd7fcced7b34f20039b3667bc3b65ad005564d36df2841c20ddfb0200017c196d70ee7ee7ea0e4ac002e2ca22c73114862d1ec72051582a6b2b6a75a12b760ed7ac1156d626dc959d097d8532a67c0c759f930b96950d82f8215890b9b54e1a3eea7675695dfed20902302b77bb8bdb068581b8127e5a170da3920c2620f31d473ece916a7ead9f7e3bdbeeb2f5ff64175f9092591dab451ae51e3a2d06a33f69a908cfbdfac36092848fb93e007e5a254a489ca167467bd42277d4606b030b9b572b68764dfea8e8c5f5da81e23d079282c8ad9ba39d61437ac1ff6d4339e897148321f45ec4537cc24761ced009c86dc8adf86501e5323af19c3da9deb6c86da087b80ae3c136dca521ecfc3a34fecada5324d0e6a00daafe28ff2a60b71cb9315af55b69dbef9054a03708be277bcf1c92dc2929acbeeb1e7de6c26bf1246e4683f169c63d626f53d76336f9574b2972d2d3004ad2dc6429b96c5d770afb49779930ab15928023f33d09e250cf4da8cf0dbf9341fd8b2027f93312f25c59cfbb5adfa97ded53a5688b71de387e11cc458e6c1d215d83c803ee72e76aa9ab0b8ecbd0f0145338c82fc51b3cf64ced0bd11e7d7463fbdf44f07ec65aae47d486ea3f4734b4216cff234c0846492b9b5dd06af1a63b4f33d2249323f0592bb5a41062f695e0985c84dfe6fc447d200fde5f4d620c5aec3d741ddc45134b8b0def72035a66108e1e224aac71ead7d316aa95d13e854fd2e01d5cb21691a6d68ef8944d87cd7d8e9d46ebebd767fbd96bd79a4b062a4c4dd02131540223a341add333646408e60ffca4a54e72b345222056f98d60d0fa315a895406557dd803461d150e0b1fa4b0488583b8d58d26e7f77dd41cd8d4c2f3b509acc87655081f4253459d06f0d332dfeb6a7dbaad2d3e113428b37145a97a01a56435c0e4d95280051e842188648531a98a4439c5d8203acd66abb676c8c2fa81bd895529990e97de9eccd1e5bd3bf5dac92da9f6381f42e49d816d8b56be0a5411233ff126ad7478f4892ec14f4b6c3c4fa35bb6db1fdae01fa56dff88b9640dfddd24f985e482f20083463a9a2b51abe260b80662eb3b60e838e97c283edaee7e0d38434237353c392677f45e7930a0f7723b2b4c4e4054e5d0186c56aa33f13701f44c8f03c13093578881084554c6eec4d8e26793419d200a6619a4c401fe272fb01316ffc675be70db5caaa78335a0ef5be6f310385cf8022fefcaa3ffe7b3cc227343024589774466ca0370e26b7809803236760e43465b5e552c52c503d6e8204183ff3b63f6222b666dac5529c540ef680812348b3f9ed19fc384f4f68338e8d7814ab5f26614c05aa0ee45eda09c7f5f640b80fb82f62b33b47a62cc0b3deb1a7aef4c375721bd7a3c6bc9b299ca4dd934d45a7a03edf8780eabb204935ca41cb831be842b25ee92e020cc2a9ac033ae0215adada6d60068292c21f07a2e69597c5011d5751a8e8521cb4dc4ce3991d1f25f89e93fbae8c15fa21af001777e54204747793b5267545d2f9ab28c144872e0c074e545553a9c37237628f157572c8a80b2954846a99d510f9696d81983be0602319cdc96d0bb07fd46a414bb72265f6147e78a121f81aaa6df409fe05dbf87411bad41ebb71a78ae402ee3976aa024251733e0cc0c48b4dedee0fd40c2f119b45f9114c8fa3fdf6837882a04c3eaa9b9b3912a5eeed52165ba9cbe4c65467cf898291932d82d90c8983dc16b834cc0ecb9f623c099301e5f6b1c60bbe48e0a24007c50c56d4750e241a41b1f6201f7181c4d3f6449f274a9c008a536c63980b464cf3c32daaa0c4be6a6324c0952117fbd156491bc8c4fe3ddba019de302228c846d98c70754fc281ee05722b0eeb1698e1df0d4e53072131b2689d8c6cd52478e610359af6c2a56122c1c6b6695b590e2a2ebc08fadbd3fcd2533fb67482be29e14eb84353744334a0328603ec0169f2bcda5447d94fa525f389b7661fe901b121e232438c93c429c81888e577a4ea3e9a30228ef6f3e242fefa5fce0832c7b18523dee919707f1ff8993c32be7ee31e5539a44b21c49e412b338e6b160ee81a2a45b5c27cccd17b3d87f73a90d9628f2de21f3161919bc7a9a178b33fed7dc68e68614aedbe6470e3cd7f58220bd7261dfc2d5e2a88ae05ba9b2c7fbf6c2926bf35f2b3128e868197d06dbeca74b5bb6362a2702759fb75507818d002737587f03551ee176d9a3041c90694589f3058abbf12eb3de9164b3f5acaca349d22022a4d1fc4e85369ac45551b99a2f6f0f671b85589372ca76a838377fb19cd295792b3bc0150d87e1214b74e4ccb9ec68f0090c48974de11fc09b9bc82ee02d00b92da4eb572fb07b34ef45755231909bad38e0a73362ed6ee17ea2e86b20d53958aed48e31492a6f7d2c8ffb511c682a3370a352cc8326c9bb586ca6a52a913fb31e5f63740eb7d8129e68633196fc75b25804d224313e8cc68d7bf6ece2cb187f52c5e7b2ae64d7e01dd6795caaf0304ee9b74b86207c20e1c721813b1454876d6df3e20fc1d151e8880533281fde4b4a04cd3ceeaa168bce8e0ea07cd76af20bd43282cc89ed3ce4938ee6995dbc95645ad4d583555ce07a4d3faaf9178ccc56c076e97c2fad763ff25c6f248c346ec10ada433ed7f5fb0ec17a926ac1df50fd2604cd9264b656326cb4770a28b2ea5a28366fb26a08016c39377e904199dfaa355118d179528f09caaebfcb084ce39c82063d52659aa2aa4525de495f9f12831f4fa131e9f9d8c6c8ebddec84b23a46c3eb2c08da20316e7984e364d1de254730aa774105a65fafc7f5590705a3f1186b5d2cc2b917ad2962ac51d95b0a10d1c1df2bb6cc05c117135556f31aae39f5923beecea4f5a8e1cbd56096a5930d59cd2fee11fb85c8d97b26bffde089adba7b2de3425ffda51cdf541c059ee91fbe8f45167349eb4ab1c7e5f033daf67123d1f2d6e93730b8c0355410601489c4dccc4cde7a2472cd43886f508412c225c03f20899e44cbb7dea6d77608cbd9c92e6d17166a69ee96f10345e47822b12e1ecc43052a865360cba91b6e9ae7d151258e8ac2002006903aabe5dff23398bdcf99af35831dcc16fca8c309568debfa6bbcaa8454a594cf6cd8619b880b20acc28e00775f9b699d536e3c39fbb51214b3ac556daac9f79dde9ca84bd81d2316be39d6d91eb03121c3540cc3c624007d94421e6fd2bc32c60a707973479a970588102567998c5cd932745c0ab73601e6c7dd00e6d4e39a24c9df3600b8d05a921465d38e1dced6830ac08a72df0ede02466246692b3c810257e37626722a111f9978d7468213cd5aa98d0067bff54dce7630f84641b8ad8f08870cb238304cf4dca0e025ebbdf508b57645f5d91db42290328519a1c1be95a6cfe92ae7c3da6ac706f97dda18b16d261c46d8d0b4672b47d4e800a3521d32f8623b89c74cd12ef7cc4ea0176c0335df771a384f2b304ae09be8f107b2992d68bf69b9987359add938f089e355bd12e9aa5d13638b9c7bf633f94803a24c41da11301f064d10583f341a623585d7eb26785de40da5b51773c282c5f1a51708ba6e3d4169ed978f5af934e008d4a18042ea9787dc11a5062c1c726a82fa7268c770c74b73874b386a7a6ebaaa014efcbfa71063810f1b95ba91beb2b8ec907ff2bd53a94fddb96396e0f1d8bab5ca5859171d457254fcea729f0817be81827de97560e3cb0568d4f46170e9524c42c9438a7f16359f08f7ed69987194aabb5eb694fe6d96319b5679d41b206af3f870b03903d60336a61d70aad0b4ee3613cf4ee0333e985c4464a07943fcf111ee8d02f27069a8c6291076510e0f8fd98f68a9fcb4c328346a0b4a2b8f11c05af8ceb7c66a50d087fc2cbd6b02c333129ed84ccaea564d3d4b09ee891583b1b7782fd2465c024452a624f30b579896365c02e908d30d5de7dae18ec2199efade261895b629513a55446bdf2b55f3450e4da1383af68bc43b7fdbdacec46dff021bfab6149a4a47e43a28181f62f1de453299b560c0a03d922eb0c1d3aaef31273d0cf1eaec49716b5a2ce6cef4037cee16b6adc6cf06e05a7aa681508c6fbcd49697016ab3ff71a832ee0fdc04d2cf17ee4c0d0045910ac357895e635f1dd8235bc788be0825635778054d43a9c7d8b33e71f8893896d19b545fcc228954045b614958e6291ca090a9338ab1a755125adfe4913871150b1d7035325aed29f8ba82652cafd99eef50d0669090356b4302614aeac00424deca6a9f744eb1426fb68021542ebd092a42536568af5d4159c56d9dcef1ee17f9b3c5695faa6874a42a4ca9788f5ac09af342864bc93df32406e47eb0389b384e45119200b6ab22ba381b8ee25783239a3f702c74ff98382d5373c6afb6d196fa7761aaaab6e1530cf62513b1d3f636f690b393886a2f63f89682058c399f68fa4268945c5553a20b4149d628ab2fc292071dbe7ec70df505b60063d5578c6344042597661219d4db9eeb7668f7d0f58a1729a18828bbd290df7b221c8c4b22a9296e058026c26081827680d9f3d82d830f4cca3b03b24829bb96bd9a115cb1ed2fbc2c243e18b817a18103b51e2a7e3f450c390b71fca93873575a4ef5b3599cf305496422130e1626aa6010d431e728661c5fcf04f186f46e803980782919ec3ca8ea9666664aa557ce485992f6818de376677f5b224b953299d8c4f4cb0f27270066e85f333c08b11e9715357470724dd04c5495905edbc90f42a22cac7846948f866a01ae7ae23adde8dc4865ca483abace9f151f847254d6ae9e46b20bc3744900a114347a9178ba17c354d8abf388ed9cfaea87aaa2c296d7e16c5b87a084d40f6f312fa503bf1a712f511cbcef2a21381897412f2522a3baeb85046d140abbd03b6212db4a5ec2308d8ed05d71cb6cf4f186e790774d1ad847c6e906da01d54cb5ba881c9004da33bfab03038d4479e294c15364c8a122c6661b0a705cabf36f8f3faa1c4082bc79550fb57f10a1c51a150752bab4f0301745d5f5192fa133950512796c5b3ab61f5be0219d039bea411f852aabd86594914fdb3bf3add36cc3c6868b28e24cdcc4c0094cf508b2231b15eeda1465fd9fb325c2ffe448fc5e2b58c5353e85b2519f7277b4c38c31054bd488c8e19606cb76ae08a2eb54ee8c2262c5b07380e3c571974032d5de2a6666296af76c460be02a48ff18239d3e0f9599d120cd7fd9799e6957f3e6831b13f877dc2ef009f51443a0e5f24f878edf71166a50130826dd000f8d3274553d1f09ec799f15fce46612a0980a4e1c63e5fb06c24a518eb6843992a6f853fcef962eed6e198a61ac886b3ec94f11cda559192a7fe60e1a497da2c39a0a21cfed7c73392f8ab7b806d5e4989a14780084832aa5d411fd1071a26e9d83c0504e3a9433d51ef157e119dfdc141342e3f0e96354c2faff5fc7c30d7cc126234c6300322cc59d2bf316d007c3e09e56f80cdaee2305b5ec34c9a84b7ee0143466313613810aa7bf3808d3216090c3c244f97116ac312415a6cacfec8f076832c24b74d1b6ca6871880fbeab9c6a84ed245b191f157781988f8b72f4ed44e8ec6e0094225eca9138fa946e385509cab2e6d5346b5801965b624ab2d40b77fb12fe811910d7838d606c783a51ca12342aa5b853fb84270a91683b94037ed29c4c41d8459f63a31e7a0260ab380c9e2d83d8abd9316924bf09b8d3df088b0214f04c0639d12d71b1ec8ee0014af2f852918914744b6cef7a44bfb1e9faab30ebbf49e276562d0d70b9c7f9811ddc07ae97c88e16bd7372554a6cfa54a3c9809056bd82c5cbb5578e00ea4006467d8fc6e040977b754d4b1c5aadd38aaf9d93bcfcacdf34264870e9b4fb09ca86982bb06440051a6e9f793589492616dee9f6b727c1ddcf6e2bae8793fef4c7803b40222c9b17a099885f9a54f36a9a8c2c36e466047d233099f0d1ae6b2e3206dfc5bbbc5a453ad11f06aa1de4dea5cd66e49647c473c16c92e0269533676f6a34a30c0921057939093878d46b3e78c52c5b3fa5bfca218e7b1b23a0b76d1ad4396c46757828f68f37926a9bba2cebfb0d3046ea8d2806cba19e932210b9aaddaf211f498501fb9c69511fed7e02848ff68e811ed24b3dc7312c5e5414a660ce1e4a4c36314cb6a4d664473667eeacf933ebf97f9d060888162a3434c054cb4c3718ecf5b47537c71dc50d32436e4bdb188a7021b5abdaa4353b6017c324dba7109821f5fd0574951453524b27e106d901c8110cf00c1752a7857cac0aa06a6e6fb6d264a12433365458875b0b743cd8a4db5580b7e3e4e85ffe051d0cd164b90554245d12baa12fbfe936b7f7f4c0aa1c7df1ad95231dc8aa3e05c9ad04a64828a9fdf49efa34b73e14173175c58cb4bfd47a816ebf54a022d6c8aba738dda01a0ad4b9abac075f6c707b9c03a733c216879bc8b04979271cdc6ba6c1cfba9c547ee21cbdaf336716659718dab210053ea1ee8adcf4a4a83d5e5606c2eb9959dc3f424f5de9adf7f5eb62f0c975f83251813e6f02e3d2558f632c432e74eaffcdbdf00580bbd99f165f8bf3cb39babe2112173e8114677492913d733e619ab77eaca1d74c3fbf05926c05a89cf8dd2776b530f8dc0b8fb86288118eb1c8f33e15f9305896e5205ff10ee6e69416e2e3512dbf32e0485612a2c772cabfe16c9f78ca9d3bf3e3dc4b4080a71b67d441ae0ce14bf21064607fd8cd8ea03afa042260fcaa6cdb8942ae64123f795aba0ced217f6052a9c36c67a693d7bcf26fea0dfcd33cd30512645d137b8fed7c7e68abcdec02c4b1380088aee9a5d4ab969786edca33fa92d99cf8a3a7fe42e94dd1b3f98788e9f889a2f1a3194b6eca943f3758c0e87f2dab12514af457588524cde7701e64f8760e187a10997396b83c984c9a1bd4b4fce03986d108eef240c5905a76cfd90fedb1d7af7797db119fa53b6792ef13ce1296613336d8beb0afe121418958f361a1e5ca62a5ef953516d2fee43c82d0b7174ae7ef374f848c44dc64444cd9a1404064849d950c06f711b4ec51b4aba67255d6471b40f92dd5f9eb787725998e70965b88c41f4309c8d934d50e83f9a3225f804e397e82ae4261a7f3f05ed80a122ca390e38d64629d4261fc660d4d7bbae0740154bce36936cb130e27cad495ed76088ec296b52bf3be9895f9994b86e63522e575e2a3781b7affdc2aed806784d8632e194de0c3d82a68363e6badca159285388aaeddb88b8902712cb58a94d5a889c78e6f6816920b4d96124bbac03d0ac3d89b395fc1fca5356ffd1d1cd806b36759125247ffd6fe1d63072d5ddce33b22ddd1258fa88d6774c7a2039ec9cf4d7e4c7043fad4e7017e8872310418ef8b1fe109fce14b11ac5c97563d35694d7cd22115085397c605cf047c40c5cbf6b9d6b41acf4a7d524d38fe415fedcba20ace7324aa8ce3620bb8afc18999457d066d7a7de0ab68002a033d6e59abba233f05022810e953b55a83ebdac72a2e3b9aef05c934310bf53cf7b99111660f7dc88f9da243a63d2bc28a3eb64cdcb89e8055e30973d8e1d82ccfa014fb369dd3653c213f4e628789e2bd4f416401cf1e66838a0f1a6a52bb6cf0e6b09e44167e14eb0d63c67ee2264459e43dc8a69d82e3d57f4402efeda84c27191df3c13449256c5a253730f1070a243f8e9ed533e424eb8b6e54e3de0e6b871e1b8890566c4076c35de85c33ddac5b060bf60598f9436d54e2b99436ddc659a5074426b0c549559f676b82021aae0a04e165174c6c9548cf8a88af3d6c98e0e53c49993a23c7fc81f7654cc4803ab3f655489827b1e2280dcc2027230e8bb62f70a6e74c173cd3e5600c96814c98d4628213e8463a0de514b8383f2d4882a088bbe6050210fc4e0056d114ed6ba5527c9019fcf6db57d24eb461df9158220fc99021b6a6062a80bb03eef11a9ac2223421be53366c59e19240c49b1f5cf4043ca47ec77a51d19c738946a0d499e14198ae61630934888df2dff8f126a01ee9875b619a8253986e3c81990dfd1d36924663ebcc893c701e664f968f997494f23a8fa99cf5fc00c4225700902778b7e83e6a1aa3e1494a0fb366fb0f76815643e27747fda04a3eef953ac05761ee4a27ca42ee03b468c1ca1781b88439ab3266acebd395777157df156a5b75af5117df1e699f0b984b6cb3234898d41b85f70c821d2bd209e05ebee6f533e898923dd3c7709e6381431e16aa2188c233c746212ba721945a88dc41281e230a0d42203d4cbaa482045d1ad209ac7108335e2a71d4235d3d2aff38c03e5e196b16bcc7f8611837a390eecbf11abfedc6311430e29a60c082a883e10d64c319431127682817590d9fa74c00e6f33d6f19a8de66d7925289ae1e9f861fb6c1598763605e2a3b4d3cf08ae426ef742d163a364c25405e6e7f07d9ffff69ab49afd4925283a777352fbcd0126c47ea1b9e4ca7740fbbb42036996dad0c9a3d9ddc790e8d9028aead8d0a6ec18ffd7995ec0be4fb0727a21cc6e21049a4ba17ebea4c21bbce6a333643bff2ea2461bfbfd27e34d4daa72d36be8e3fbf7644c8e4bd7644c124b649e17884aba121517a2b0d030f19e6454ac957362c18d924403ccf78016f60fe63d0fb4c06868593d568dbb13da489ea825bb817b3683974ccbfe1c5c3038d539a4709f33d9c6f099aef30aede72831396541a0c470bf7ebae7e5ad52126344c70dc8e2d455e766c567332c0b4a216f90f295e58b0a8c4676b65725362946e1ddfbd4b690d600dcdf9b96f5e13e2111a0b00ea97d479e734f52018191130cb89832178e2516d93f88c41445935d22998521488f382446c0fded751c4b24519e63ffee29d177d172427c969131b912ce7c88c626134ffe302dd8fa04bda1391b30e7a17f7f30e895dc847a5bf131ea87f81e62f96e79ffd56e18f77ae3ed69326f95acb244d2042a620b044f7a60703d7890940246e91cb58bdcd579f21be31c98e1b38f19f280b57ad012a948710c75ffc760ed1c9abd34f1ebbd72b30989bb4da728ac543480aa20fc7ca0805f31f8d1a188b69d0b2128c3a5772fa31397097251ed8441d8ae321b5959b57851fbc4774474cb1c298a51faa4a34d055b3ab17f3e0d28a0f1783837195efc358138a89f3a10e34b5e923ac84590df20721230e62728ae2265aa3dda3a20b062875fab93f003408af0143b1cdfe7fe4324f1360d8921ebe2ddbecc139262273fda9d2083d31b3a0986a42c5ae8115c918d011bb5d18a1d36985d0a8bba59ad9d499dfbd34ec51bcf901d602d149462aef3c68512170b1f79a9c12e1513fc3f2af92da157d1321939006b5b16dac3016572141dca37b099a66bf70c40127a1508ad9be125bbe0e0f03005a754641379bdad9825b4164c3dd90f7028917449ffa0582d080839cfe9245b5bd1ad5176784a7eb921ad311fd32d86e69836780daba3eb37f16867607be8609bf37a9c1efd8e819967028ccdecdf6dd4f4ca7c70fa33334cfdb7742199bb52a0abc92cd175d26894736fc40ff5264d053f70efa5f16c3f004ac970b38fc992fc37bb073963d88c8765a0174fed2d83d67f5934e417a07e8b4fe2759dac38e69c467a74c8ec2c569d4c44f208dafdce9f503e77f26106b494ad673cf7a12c9d1ec5574372e1d98c236b467b2c15d5b645061c45b497e1e17db6107ee0b44d963947dcce7c66a1e7d60d280e368670c543abb43effd4061d56ba9ffc8386a39b9361fe68915fd04dbef30c4922bb8b29c4b42315624074996c252fdb1e873c259f44ce25e7ed5481b85dfd943249c2c87643252222caa75bf9c83858b1e2cfe5a6f1968f8ff7e842950a3cb717b2e2a9b4f7d70b6c013b8c016900224ef200f582edb22b0b1cf274dce1a29ac9bad189bb537d0ea61f04e26c3e7adeecad58fa5a70e4e0225491c6ba04569ba009af640ab78ac4bb0d1052d5a8c930e80e249dbe56afdc6e2882af3cf451dcae85089bd1851da2fdd88860bd0638dce077dc47122bfbc01a84411b73762007a0cfd22436d44734a779848e81ef165fd360893fc3c4678e21345fe6832394e8087f7e7dbd934304a1ad60ff15b1e0216197f06b99b545a66434662c83033533435edb6ba387049dd9732e3e51622721c66a786125869d2c6eedabb8a8435f275910c3909324ba01880ee1c1825bc3beb6b15f9d4b3bbe60f77174e18c6f2f11770c2364016d52e8ea580313bee302179af79814b49816002d913acc34cb6c52e8fadbd5832cc27d14ef3c4ed1fc84f830cc4ab2a156feed2cc772f1e50da358733672568cf36b231b4842d01e34f6004bbaf10b3ef24cea843e8c08aa98499a3c445f4c69022be0879711220a2c4d58ed33136a0f0a99824a656605f44ed66d9ccb08a1576e399b7b12b7d3c2fadd6ec991249f88e343215fa5aeff80467937a6a594d68d43c48a8fd07e3540d1645584ed968f35b17bdf3cdee40644d5003d909dc28498383f9ad007a8fba607b35a42cad20dca9cb2fdc649c4ca0ffa2d01447696020c823fa83b849cbf2ce79e4f2620dae51f6de30870ce1bfe0380a232fc4ee2a84e2829cd2242751011e57a1e5983e4476417c3932d069bba83984008de714f5a244b4302be4a5052daed2e488f27806a9f0ddffcea5e76cf7f7023f5246a4a808830460cbe67691ebb597de98601e0cad2397c791d4564ec04b69e06b40a9d8a1b237191a1f26886ea26c6b4a482d45100745d70cc8c14532a262c849b762d7f96e97ea54ac2b250a76539ccaa2d7e0fd503c64374c86d6b462b385af93eeeb3ff8a3a849dd974744c5ab4fffa603d0d9405b178e6d69b078a124af8984fa5cf2a5c3198f090176e26cba6643501a8d10a39d41cc6fbf54c786426acf2425926edb426c1aec7bc4d84337af58c98bf200edadc13af56e95b3b29c4d040a579b03982b0d7995c6cc24ed00dcf52221c4360d19bcd6dbc1ff554c722efd4a8047ec561dc62dea35ec700c86cdfe8c015b6a9a0bebe2809b0106edee109dafe784acf97d2846ef9289de56df22c5e0b6d4748e263e86e15a8671d0ad7cee2c8425f35e0c1b6b4ee0d255a722a27ee746391d2632503fe0ea4f605e3da75533e0fbce59fd9ac8b5fb427e0c110f261e1cb04e58a5588f90cd8b7f3fe6315f1ea76953686001454c3331fcfc83b5f2491bab99ba0907b06160e5fe22b0c92475bebd1e7c6c8c4df6e9c24bb43db262f250b5bf19235e859c5e209eab6a6c1d5404ebf3d5bb89b1dfc21e8bd83020069a44cfa8f450903233dcd4b6d757eb88d3c27acb9faae8f8ca7a7b192c4129d3a9520f833f66077b4046c6327c6deb30609467d2eaa7e5001f4ded2b72ca70f4e2c30cdc10d2da094f581011c46341b8ae9d9726ad51424366e149e7467f2f0bdf07d4e56a4fbb27b7f30e62565d50c7f7074118d3e2569dc8835f9afabaf8d0de87fa1a10f28141d0a3f666a052640f664e7866cf19bce079c89338801d9feed0436b40f3d3c0aa816c0486f94244e0d2652fd4eb18b74150cf9ef47c92c5d206fda812b8d3e3440a74e5e47bfb1cc5b6bb1ffd44e230bcc6c5eb0b609457f918b0148e2841cf2e964d2019600901a5834809515ad50ea986a74212a574ae6a67578a3ce23c50a2170d6c467120a67233dce03a807907a9c10a56ad2c9108d16940b38ba647904b27c1c1dbca0444bae7dd04423c0739b14275608504624b066844b8645304f90138832f2e4ca503c29003488d0580511cde8c89b8cc59cb34924b56a0c283bdc090ae756809c74b14f5b0adf7bf1f786fddfba66887f3c94a874a48fb9042dc8dc74e124b7c771851ead705ef6c1eb07db3e9c30fe4036addb318c98e184e28ed41af78335dc0dd80cf42f942ff4fdde8092d909f14151151efd9a5a609370d75ed6551ec50ecda8a8b3cf26dbab4c60fd0a9f4609483a598a9674dfcd4b0086b9be9d17ef5ebb5808c44292e4e2d111b2cb9b169a6d74a73e72f985fab6361423372822a296d6446fc6e5a37a61197ee2b6b61f461f99a46c13f214d577d077c6d72fb7fb4bde20b2d2aad8fd7b42ce1335341182772df7df50d475d1064a5913882b0e0655a43a1b7afecf4ab4bb599e998226b476f56fe374e61dd0221c818719a5d44b278306521749153f31276135684582f65530ad36daf945b85a8c01fffdeff97f4bbf513d80860cdad4d78181256638a6217cd185e86bea38a02a3e2451e5291887533c263058282963c37f82b052b61be29dc3aa0d0166368c5493d0589bd8b881fec0be7c49c7b5ceaaabeaa36e96eeab0a07dc607d8776c82c2e67a10d8b744a7e51114523556c8ef4f4700636e75245eb069d528aa433b081d352e68be69834abaff06e72658b8514458266651c8c9f0d6d54d2fbbf053339f25ab1aff79045f6a42d47c32d63e4c288da21632e2cb5c986481dd187cf501768641b9dc01c8964e169802055d0429ec25553a0a4dbf0754d0eae558321090cc84374650307e415bfaaffa07d987c6b6a4bb8c12ba1aff2cf1231830fb8d75a354a0d6f27be63df69bcf940bb752266651d84a352b95bafae184e3c879df7eca15d911c1d366e7bad20db3a722ba1ff08ab46b85e1d32acf64d8a3c0be27d60c292c3dc339aac36397e415072e5832de37c035a98cf7a96f88f0f4413811bd6576117d47ba9ba758a6007260ef0764d18a91b98c10337bf5a9fbf59d12e1e3b311d449730b6ed23e28efd6d0b91e68cacce3269b1134cd3a8a3b23c3381f9ff72577e9d63bced6bb47ba7b1df64c91afa9a6ffa3f0515151b019ca90ee06fef1be9f5a8188139296e4d4616cfd8599c43ee77ece666b482eacdaa895c05cdcd684511d82c342776f6758c392794cdcdf4ce6bfe4d26c254a5d13aa977a19b71c9191ba2f58c45ee124f4f195ad4c4b276a95a569e974af5e2a9531901dc223a2fe0090308ff9a98033b3e854f75b2937f63676ae992e02962077a971bfbf25390f2f2298e712097f5a4f1f3d6bf91986e740d43a1479dec9181c777922b6b856b4dac654c86ef309c7f279cb41d2c5f5c6094d647b6d11aa105db6af5d8de15d806a061613ec2df5a1d2c58a597e6fb22597277531550ae1ab068f4fc24d7b8a9c5347a16782fe26982fb70262d1976b7f75e575193c63f4f70ce98bf1f18a29095bfc99521511b7413260c7110511f07f1863c655370646ccfd015c0f334740a8d6f0acab04cf6dcb2cb40e0449e22437185b28fc41e5e0958a0997216d34001e3fd156705190df7385e3690903c2bc3cd70c43c4724b4351a075b19b2166679b29aff845709905aaa2c7b032a2da5edd5750a9a771fd34a686ea5243ae4f84298afd1f97426c727062e5d2dbc4b385160bbb05111c96ae625625f1d8aa4e6135963ece90807e99648cd8dc3a94e0c50e7028c986a0ca458947c2c21db4deba7cc0c5a54d3b218b40dd5de2c3525095e110029c01568133aad008fb78430bdce70e116f4939b2aaf1fbd953cdf29aa3f6810d2d49b68f922643dbb6c331ebf68c05f26011345b8309bc517b14516c59ce22b7c20ddd832073cecc8daffbd952568fd45bc81580bd4c309716970d382e909761fc42add5d834869f9c2c83b33604e0ce88ab91f38edfacbfd079d78cfa28bca525c9f2f2e561675974e83516997acbab518dea8be71272b967c41d1cd5d45998051dfe23b8a2e5e84116f4cc05d62114b3cdd2fdaf31c9d49420a535f91035cce261cf4f148776fea28f194d21051fe852918e958fe88188abed15f18f7530ccb87e603a218be17a45c0120ab92e97f6c31c449a6a2981ab4589041ce92a582ef8ae12d32bc7802fc1aaeb0c057e3084ead611a720d98c89af57fa0817d17f942314c43c481f06a76844b3217c03c18b1493d9d065f3ff2c99dedb4200c6f9edc103c771b54aeb2bf706e67bc5d5e4d6f8772d7a2a6759b1dd056c05d0d47342c61639aea661798f173649982fe4bbba15b0516e8d19e471b8b0cf4446e5abed93ba4f08048b46983d04cd34d9208e81bc782e2b90af36b2c73ecc278124c6c2b16cfd2177c09507e7c07a71c78a82e8ac3cdeed1621dfd2a7cbffaa5aa8d4aaca9e0d5d0ff4102a65cbd8feaec315a3241402c9208f632490cadc0079596c24c5011978885cdc2a344e4e1039785c786d2cc6d66c1a9a7aae0d951c20458b90ea2a12bafa04ca459dc2310b389b206e8c247f37292a11559c9f9868062ac3c53c55dbf7a330f1d3e0a38e8ef9978efb10f715f04684995a9aa9c76b38c23f2af5060a8b85c9ab7adc40bd50cd260652775eab0721dc1390d8c79de44eca84ce3675ab5f0d4dbaf3da84dad76bceb87130224b80a902a8ad3adedd62944d30ed0b37ba645c89f7b98eec930ca208cbb57d1c6df5fe2ab94fcc6bb17b2d1230075d745c7a29ae16f895c95a705f8807bf70a1bced3f4be7c1bb224f121c64e2bafe9bd04ace5846c559ec77c713a8c354eabbc224345e26ce62b41628006c84247c29ffd2e6ece07f9e2befa5c6ea99833cdd34196243f75b101ba9a58614862526df4a043f8cd1105391010fbf0c8db280a001c5a3fe5e6739f39509cd31f55553540e97fa88f88cf9107af132e3091f5d1caa1421028835b8640a95b4ba73548850db562d3bcb3d73886cec0bea3c9da6218b5997a6e0f1947596056dcac71af23f0433ed09bd1fc030b4529285ee2662acee2926a83758852f444fb451b4b482c998a228519260317dd50a4a853ebfc438921e8ee61854e8641f1de397b34e0cbb188121994b51864426c1a041808ed396b8c0b3a96620418bd29255b7cd8baa6614d8c9213be395d9f9bf36885c74ec097db50da3d4bc6bdb10c992812f80910fe84ce1db70c54f5e436e2e6ee54c3f24473acea89e62d1970d2387d9cb93b63faa3fb4170ee09c18853549ba2f8204761ca9773c2dc366c52c49a1ff91995250d018b8b3c3bac9002a83553f6316a02b8599b6a6377b889fe25e2f062d8071b638032cc71e0bf1ac3fbb50f7997d92d8ef63789be1b22e7012142894fa92f49a8d57dd2e2883095f72c602f996ae136cb032df4c3bf18335b269eb99909718d8a32713399f3b1c204349f0dd6a65a3d0f423bf2855fc20ed78eb124e1c11bbb332d7af45c9721436529cd06e44b92f25b30ccf65ecf9112b2db86b40df94689cbd3a8d0d616d29c0f2e93dbd1f929fed4f98a04119774cb1395082663af0c47896c2f5f4b86803cce5c65e07b91b964a92361c649643b49b344a552b0dbcd49e9466040366c9bbc6184f22d62d829028fe65f862386d111cdf2b78cc595310a2af321a9937673df15a8d2e4642b4173a19e491518928ba0b11c5f0dddff483b71519b9ccf9c92b30296d4f1e705b2cc8fc47dc92da8e8ec9d3f363361278f1acf1cd9896890eb2c04082143df239c8a8638b30b02190ce97da2ec19cf07279c6fd01020429ca77a565d39c476a0e264081eb272a2e936c48e208bd091441660201171a1ae936833096e33a5fd179bb9e090da244e6f0dc7b89367a40112fcfa88cc60492a815fe7719023b2fa6e84dd814f38edfa609360f26d5b9aa03bc4a9f51cc9097012bb3e81fb57b180e05d29ce112740dcdda8942c528bc299c52ae262d7be385dfb3442b78153978cbeb20b6bb1098ebf44e1b9aa53120d19a0ae21dd2c6204cae6a972faa60f46df6cb455483b539c602b71f41c5f216dafaee8d351348526707d61e0ff51c702ffc938c9131996c2250659641f6504c6e4f7d95c21e04c182afa767e4e5c71a42cc3a04cc07632b4cd9fff145113a3af713d47480cddf6ab18ca367e80d50acf8aa4ff73d3e91b4e2bd9f0ae6e620f2c24fd01b49c8918aa7ec7ec97eb359e0e1cb67270f1fd439cdd69e4aec15821f190cb510e13a3de95bf527e7e35e26738d6117ce790c4799c16e524f56881bdc27a3f902e0f52e204e2f1b74fb8ca28d8c40bb01823756ed60bd5d42ea2d7791da35519f98a2382911ddc1ca97a4653cd7011023a18aa74275ea9f008c3377e402ae5e12d892cfd1c64cea34c443fa84195e552e14c72f98d6e78f2e308da9c67eb4e9c824dfc506147f7ef7bd813e8c4a57000ef012401faeeefee5332670da9ea1377aaca6c0fbe0742696ba914be213866f4fb6bcd93c9ec40a768fa6a815ba71fccbc285f18faf992b99edda12b057d7a23487548170a9f4908d10dbf02e167b4f01615223a4a52855e358bd277ee513caddbdf9f924f3554932d1dc68388ffe8bdb89c94a6c89d28934d4fb13b8acb171821db2660708f841ce6cd49056c957ca8e7d4ca8c4034e12791a43ffa66c2f95017767bee77f848c0a21737daf31c7574ca69589f8c0838f8c5daf38675e746aa0f37439d2447b04e09ea3a25cd2526bd8fa588bbca72429242d862fe99232ea9ff2b524136858e0cd6071ac9301e16456a232faface7c4189141bf4557e16a4785602153cd13532ac1a1a5a522a11c39972418a6718fe5ac461e0c25c91636e42a9ea9e4578efdaba0df271068116df08fa212a528a1c9ac5152eb4a9502b2cba6226c3b65b5bb98711b1f69c66fff3f27fe226091107712eb907312410506612ed7f16ea6d4c11401bf6c0d032c1248547d2e7c1f9f5e0e4f8231a834116ca5ff592a60ddaeab240ec03469efe707b23c4d189329ca2bbf9325a81d3da615a752eb523bece97aa101ad0374c0ee64befb519ce34871ffcc194142efa22f2fdd4b53ab7d903a2ebbdf0faefa00fb1cc4e43e0f75eeca1b906495267dca611ac1400fa2762c8023a8bf051a16807b4f845381f956cd05d032810f8a76aa63defc8e1997a75fa531ba2ae809cc8d467bcc3b52fcc1c9d6b83cdeb2e88fddc95df05434bd534aa47aceb0280d78416598e9b675712069b6133644434b7a56c2bbdb5d8bc64fbcbb670511e95fc4a2d4e4042483b6588f4a82fde397a246d6d772af5c7afb9477d30d8831c6a2fa58edb8bb1be4dadd9d5b06b68e0bf208b432a952694d1049465f5d11b769191803a773adf67cb25c904000895f9092531f87cccce340c5663d50914fac5f440938ff350b4edfd5ba5b02f7efe2883d2d0315c9370ef502ad7400ac60a5d77bddc559a7d06404d99264e475d22cb04f0a298c42b95e9d79a0c2cfc9703d082a0261261c29190a2a73ebf3719765ca3214a95ea6149ed27a6eb701466f227150bb60a52058b5cf311d4d342ffe9253b22d36cd00039116d34257de5e14e9000ec3d669db6389666b675221166398458edd59df55bb178771e0e033ecb9909ce79b4bda2aa2e3a4c6e5ab0178e81406dc7d766e316ecaf6a1d29e58ab822985018123ba9ea14a93b8481271bbb2dfe5f31052abaf306f4d0feb2cf51e49cd042b9dad824eb54c59c540f7e32ca9e8dd0d00505bd4e4e2d4f88342e1e1bb192249b9b6e855dbb07284ce39861e6c3973cca5e0917b85a47f0e63395707d79738c8c34a4163469f08377f7cacb030101eb3cab1cfc46c13a4b64d323113b3136e31f9c7e06af6ac8743003787d6614933174788c130fc7b8be7f6804b4d9f84349eb0505ecfabd3e370cdf62e2322dff2b22610eb628c45ffe221a9f7b1a646c6df0b213ac879dee5b323cd60d2cfec90a29db1c1b0c47285ab3ea8f8107f274b287ebe49f9bbe4b85420085b953d30701a1147bf6ff356cc64d2e73a89add42c69d754e115f922e78baa266d938f050aef3b4e7a6bf177bd9165a7b03cb55ecaaec7ea951eee4cbcd350f6aeade490bc54bb84cabde2a41e103f9e341b1c9be06bc3a22f8c64ac821bb845f68ce069068b3740ea858c8c8564ddc2df9317b72cdb73b3921b8826182ee0e3310ac0960206aa61564370ece42cd85d5ec73ec0b3ef9a8aef1ba6ff088e72514fbb971960e20f3101c88e290594bd394928f79267d679e36b241a766208c4df91cfefc8a13cedf28d42dcf904e059f138367777cc61a863d91d00b3084861883ef200abc0ef7513e08d818c868ab15e84c5cec5c830b499b1f2dc9828b96a9b8e5ebbd9cc7290158be8a4bb26715f6fcdf2b67e30d41c23142c69857a996c202a635fdbcd18f89c3cf5334fc4efdcc9195901e081740fd8a2cec70e0ea0462c4c0d5729226de2dd5102231e93f82bd35e527c640f4478fe388801d214429c81b862ce02813c310333a76db77a32dfaa430f2f6129f5223227a7b74984e69d14b18d20c328ccb3fd2611d8359f67d5992e807b3e802282b1e20e031b9471b88c043701e30613e30ee7f359614e1a4d68601307921914ced021281761ec9bac6333221b60124532406ae16d4878a3ef0ef4f5cf36200c3092366a450d7e500a7ec8fb5284245efb521045353f2dc7f8f0fb30db08d788670d217b4e61214f086971b686600362501b2e250be656418387e6ddede9241e3d129539f6034efafabf228199f32f58bd6f00799b603effcccddb482eabca2a9bb140c776e0b2b2dd1cbb8fe7f66a4780addeb9626c56e1f0133c3e4a753d6cd859292b5400d4f3ab3e94f84306876b0f0b8efddc6bc568976cfca5924dabfe215c5d33ee6e9919e9677d4cc9f87c084f6a0e4fc0a728a936aa7b33dd4537f9762afa134ee961c90bd03e8f26772fee327ad07b9385692bb3764a65cdec6bfc1f2700a642def6f6129aa873b781e837001922a561862346e8218a24e9474ecf77995d08dee818baf599a3d74680eefed170886fdf511e34aea03e1ce660fb5c454163c0bf52e223cd428ab9307837f92cabf4a26b23fdbd09433e306845a75120f88904303fb32ca6ae535024e5d070f5f56e14e1967805f1ac2f3f55aced84efc34ee77ad8816d8ebcf3f8a38287fdb27c366d669d90920d31476f00327f67437deb9c57969e5e21a8f0c2f39e5350bfb0e5fe10201e0a81c2e5a083ef4d107deb1f7e4295db730f59fb01a4154c44c31aca98e8527e06377bfb2a1a3b7988aa9e1721d317701ff65a9ff6e3b2fa5faf942185fb4a30fd0e51a61870a978e5f75e9a1462000aeed1cd774f98d6b7449e4f4b5097e1a96bc9ee18c3de02ef1a19d3b0fb00eb4fac25afb9c76bcd1a1a3ff2ee3380b89a2784ce0168b9afedbf437d2c40d714050e4d23d37dcb056373b9faeb4cab06fc9ff5351d66be9819c6ef6eccdb7114f36b01ff0fcc3aa37785a06af2ff8e87f542eab3138fdb9a726d3fad8a1e7eecd52b12ea75589d771047e0a09e10ed5890fc3e00e119ec4f55d54ce9cbc9fc8c9401dc6b022ab4755a5e400ada4a070b5da4b94ef899f976118469c317f8957ac7e56ee8586d2252f59982d32a68aa47e5e1ccee7dc7da160adbb7c63ec1de7780ad13d4ed616518f6a0ee7519aff43cef5d852bfbcb5e15681004ea2609d97bef2d6592524a29033f052105d0052ea98eb76fc802f75703fa1aa0b131dea473efb11e17a8ada106687c0ff0a761e7a6e03863d6dffe83413f3b28c2dcb2c5fdaee8bbe1a1ed6327f46697fe9a7be23fd087640b159f9de366a8e97befbd5d0a6f02ef86d2eae3d763fc390bfe8cf358e9c8c65ef1383bcedface05e7f958eaeb60cc1964a47497617ab800249044c7981c358f1f7000688cdff0a08400014ffef51b713bf1873001f075c0e15730138ce0ba145c1dc01b8f73b179e3bbe5700f703706f00eebd00b8e1bd37bc5700f7b78befbd209dc9b8cf3d051f0cfc22cc7d430a64814785eaeba5b5bb3f8bcf3aa1a27bd5767fef47eb64f433f2821066d5be5af1c9a88fabdc8aea5ce17c31eae34731fea318b34be1f77728aa73f3c598afc73fbf07bc7e4ff071c0e5c760f6a4ea624a8dd9b3f66fc50783eeccbdf714bc7b8ff3fed689bce0e6fded0b14bc7703ce9de2938183e3e16c79778ac7a0049f8c158f430e28c04b5143b7f6f6296ee8ed6d98d0a32ddadfcd9b1b1514fc0479be1cf3541537ffef71b26802e0fda7bce01f3f00de850200a16e590ebc4f3f0eeee3d42f84b959fc053930378b147f3f0dfe2f08aae0b81b2f0cbfe69381f3372107e656118ef759bcfe64ac78ee86a18a183f03aff870068b17616e9ce7a14554878270e470c2191c8bcffb38e0ba0bbc292f80b1e2efcb07593c0b0e580ab07f08adede1dfbcce2743c5e770bc8ff309f86470efcf532900e98c8aeec322541163c50cef57843370424a531152fac1984da428418f74669d509d9bd0df42a13a5c3803ff7d7f8b4475bcf0a998dfdffb62bcfe7ef77180c31715f3df304fc95d968b8af927003315f3bf404dc51412bc4df812845e00f65db16f38e6518229f5ed2befbdfa6ffe9c1f0528f709f06bc0d189b63f0bcc3cf486eacc28905475e14957caf3904ef9c0a16d9d48c2ecc7b0ed7be1f87261dbcfe1a85d856d1f8763b65d38663ac542b14eb61e9a0a59fb73cadfded062b027ce9e7aeb20b6efbd13ff84193902d2406ef9728250e6e742eee9c70137f79671962d92684d6071e4ac10903d79628cc53d01117f018236d62f5cbb14b4fd31638c6d8e4ee684607ecd0fed9a6fc92a6b655d99b4bdb005d6bc17d1994877ffbd073aacf4e3e0fb9af0ab06745f27d2a34caa405bef9a295bc79066cfbf7f3d1eaa436398dadc774a5198ecd6d3df3c1eaa7375bcc7359ff79e75d2f8ca7f65801b3f0fe5bed3dbfb1ad00b2f38deffbe1a197ad77cd7cdafe5d22084d9c4aee964e84e6eaf05cef042105c1f8cf9177f31e65f181c08aeac5f2f8e3b33e877bf8123f53c1b30dafe0caa6bbc6d5fb7c20ffc5d03ce9db3e77935a0dc5fa662ce1e94f65e032fcc207dfac5a0dfa988d17deb5bdf7dd70259df7d9e4fcdb7c0b1268421650bef5bcf533fd6b740b9bd168b7bee3f2fbc5c98a9a847f9b2aae3d1cdeff2f617dcee28ee8befb74da0032ace0810e951ee2ddce0498fb26902519d79efcfc78008f38af68c32cdfe30d84188012ac676b61f631a5810eef8e04da43af75e1cf4bd1c902d36f18adf0e1543d93dc638771d501d5c59a1178e2e29b545a0fbfbedbb0fdc89c9a06d8cea6cf7bfad8622d04bf7e7885b28c2dcddf3d0bb811d50716260ec3e53710e696e6e3f37d0fbaedb404aa3e21602de370273bbf8553cc6a108737be8637f4660bebee8516f1a6b7e433972d4a0349b25d9e0dfbd2acc37e938d73aa71515ddee6cc7d9ce295474ee6913d5a1e19cd24dea4a7a07a90b6905f1dba6915ae10cd225166c486b214da2a23f66d213a9facb6ab57e8d3b4a4c64fb9573adf3bdca7091d9ddf720207b64cd2c1cea065fef5f251764fbca29e5373b7b712a157d6593ed61364baa011df640a43a33a448ad966bb790c449cba2472af44283fa717c8ffe9bcf676e3ef6f3c9396b16f4f723509d394e1bfb7eb759ac411b992600e7170e15af8cf240c4e1e750f1fe4442cf171389a78aacbf4f91a8cef697e61638ca25199501bb5f783002edfea455da947b83a8ced0fd39b709da04d1dcf469cd209afc266d0c45aa2ec49a471d3481dce7b6fb198793e6505482a5ce660779e205206b5df3d354ba5a5b1f859c91f5dccb7ff91acc017375d10a450f63ccbd0330f718638cff856353d3f4390f72deb46efd4fabf51d07ea6fb55aade7401db64016387a4026c3fbbee7a1db7f1eb7e5e7a11dc7e52d37e1b0bd4775bc97fabd13efa226e73c15b79aed37d6b66d2c076cdbb66dbf6d8fc3026d70f0388ee3beef4e9ca879f95353f39d079ef89a9a9a9af7c013e198658579afc1d1033219ac564b83ddb758e0f87df7dee779395b384336e900258a5a8f82630ebe185b69e7b4399672a99ab6de4bbf93e095e0f5289d2ffdbb098e3594608dda566836bdffbd7703e9d9dca0c7398d8c8c8c8cae51b54646b55acd88895137c359444521a36ae45f64ebbd5b388b84a6d0b619d7398ba88ed0f63056a5eb8ff339fcf72d7ebbfd849a79347bc534531f3a67ad36a4c759d3fa55eb40b07908b427948cda5ab6fd59a3a27d9b20fa0ad53c902d82d0f4abf492343bf75a3bedbdf75e7aefbdf7de7beffd7bafa452b4b796d049d68ea979b97fea369feeb7cfa772f9f3e1f0b74187e5fcaeebe6e79373e6400b801fb43e0fc67cf9e9e7799f0fa53454417fc67cfc34bce1a155703001eff3d9c2087c48682b3be036fb39ef680bb29af4a831f01ec7f7786f7f87eadce8d0dcb781dc1cf7c11eb907e1f5f9704f3990e362dccd7961acc2ec8b05780bb2ed2c206d86e87167fe0e06dbe69f200f15bb50821850d12659fb63b48757c615e1362ee851efda65f9b1be68fba3b6b1a2b9afffcaf55d79bab5d6daebeeeef75e9b43456bbb3075f2ce7b67e8a262a53f476dff888ee24c4a5f9b664bc3ce99a593d485957a0abdf73d0abb2fbf7e99cafe8db5355cd2f6fe0d3be9758b670eadb52ee60c7db0a1b58fedbb94675e7b8663de52ca161608274cb654521215db52a9c990ed23a1eccf59c331dcd9c9d57976c4ea42011266ffd61d5a73f0c4d8b23018a2ebd31d6b53458b12ea76e9f27bdad5b540397efa656e813954cca15861f973788dd0e3cedead17065467cc794175469703f2e7df80ea6c9f5fccf9fc2f1b2ada5231bfa462fefa747b1b2b7a0b25c7719cf71d0831fd72b79e05fe68fddd06d6bcd6e18ffe0dac09f5f6add6f79b0659ac16d83deb0347efbbdf3aee79a8b76d5c17e65091a3373c746dedfa399c219b6e934eb274684b45154c64dc263729ebe788a0fc2a916d0b63b50867bb588d8930aeeb3a6ef39bf444f3b5f85aec19e79c71e8b21dbaa7d7b341dae2bfdb7b9de7791d87fdce26629f23beb444362e14529ffb6eceeeedbb6c28478efbfcddd38f03eeeb772f773737b7596f913ba85dddc3fae4b46b75aa4eac241a3765d8bc9b6ba23b1e9b6ba241c983d23bb5a91208d28450b706e8ee7e902d3a203d56a8272aea78a2628daa94559dbece49b6a8df458fb8a9ab351df4589d9c70136eaa4db52967a82bd5c540b9bd9cb57ebdfebd1cf4d440da7bc70e3608b18aabf5a88e8752cad8b6d49bb2c52d5265148ad4a3b7655275215218fd5c6fd8f56f2e0075e1753f7adc8fae4d32792105ea2c37b48549367d1c32a1e2285228d40915296da2b629c9266d8a43b761956d284cef918efeb560a5964efcf53defe5066e8fc1fc73524ae7b40163680813e58a91941033214c983229ab402155d7e15e8117a42a5ea47871aa26560883e486faf8e0a86889c894529132440cc1fd7c6cba51eccb79aea886ccd234eee1e970f7d8df9b5d7fefbd4a481426936a4d4e380325286ea376cb09143f15a4d043ce51810e1b7fcc95645142831c4102c9f6e2e7fcbbbbbb3bc618e322306cfcb1794bc83e4055eb58888254684935c964b21e52566162e6f998276660660f2a284459e2a847900a448089d5e47ccd418120762c65f9c1460c497c314286173fe7ff737777bf3f40a1f078c823ac92ae10392d61c112b5d46477984023436528891a550f43a8a06456a8eceefe82c76cdb2ced0710924b93d7c50a0ba1f0ac8d31c6b84c1285c95a99265dc6e9f5332d3050a9401484c7901067a88067e8138c314662ba485a2ed2d36b05d1dd9d0685c2e494bca4995e19d0b4bc03a1a9436275aaa9c2646e2da17be074346036260435c24879418817aa22a8ac9654592506ab8d5d5a088a8685c0e021091d5c7c5cb181c208a278895204ed31c6180321556132e31d1863ac5fd62d90d18f19c61863a98d670de2ef8b13a4b60c843584b43494d45121e99851205656a9a16ab6b950c993988b36c8067c88e93285e54b0e242200d2f1e2e7fcdbfc1419027263637777f76e87043294f08394203320cd10c416a88f5d99e5b0e3ce0bcd8b9097a257108baa13965e08938498a7a72ba7173fe71fbbbbbb8723b6d85e6c837526858f5d24585a9a0baba520843051e2071aba1095213ae33f1840254a0e49583072e4d483817022a2e2850b530bd314c62987bbfbd51931b387160a934f2f7a44d59f251ad0d5cbdd5d8c1485c92a0a93bb47cc15856d5b108da31b9498419d00c30a5e7e503a83842a6f3f173842c4103c2881a0e9488f53a7ed3ed49ad476d7aa34994c46a4677ce9702f6f74e859dbb24a53d2c62f6bfbee70218b8f2a59825824988b989f25d4fe70a015b3a2d992236ec807251f76149152855ce0c8c71520d01ce160a407737932822efb757777a7f213968e76a049e4f650e2f62a5fd23c751bc618638c797420895211911d433c01d952a366691e40e1c80a47300561a5a8076b49c1c8520a6066158184d2ee3e93c697bbbbcb2a4042dbdd7a0e77c7d90e64b6fdccf6f0b3a2a1febf250a934c5a6e8f104fefdaa1e49445bfb44beb1e9fd2d594d6fa87f0a8ed755ca6e972600e156dc661e68912972ff70718a589229cb8c5b4cecc103345acb5d65a1c18870e3352acb531ea5a92367981dc23381620553d2460a911681097590f09b11d53463d2ed0d8f5090d520f090728334636826cda21eb21e1004be070f22ca002d5833d0b8ee08204e698187290f5e0f71f8104fbf7b187247880845076ff86362760fe36e5c6a2cac10a52cf4c9af44b272f982fadb576932da40d613661b36c21c3186cec8945494b252856fb9523ea4815285a966a80daad2d97a8186df9f958306a1cd6cf668a15245ab6b46264cace965690006d2b426abb822dad0431d95096907418b3a141db0c69ff0cd2d81c15336763d9bb9f8fcd142d33f7f3398efe2cb2a1414bd734491250a02491376ca9f4646a3bb1d141d3e7a1d65a9bbfe64771021cbfcf5f6bb52ca62d955a08a23eb6547a61ca7ef2345d2f7f5c2e97cbe57249192750a040314efd3c346f382ff919849ceddf6d5bf7dadb77df07af5d65ade0f71204e125a9f82d96e881f3b9f99bd59e699cf4dcf6b3c1a2290d27a571827633583dadb5b64a678365ce39edd36dcb2f7f72de3ee79cbf825bc6d8dd69ad93ce7be996ce86c926072d396ac34675ed709c69a8486d5051be4d93a63fce34321b77dea94327593d5840da76774883740a85dd17a850373f904ea14974294ffa5763eeb82bd6e7639ff5f9b030c6dfd9cf076f189cdb5a3a253f15aaf95b1372540806dd39a448b2c5fd2b86227ddfd3ef5e8cf1a622779fbb9fac9f9f0feb3b14de779d64427526d5b2c5cdda067a277eccb34685a848278d8a239d7b7e39d4aed68f7a4acacacf43bb0cce2935a7ee6442c5fb515447eea8cf7b9eda024f80e364cac0dc1a9c4114763f363a8ae8e1042124294c254930c61863fdd22ead7fb0942a32d8985fa6be586d4a3720cda610752293c9824859c549d0146a6ad2e3c895fc83446132a9d6f4e2c7c9670ff75a46a1c60f318c317ef173feed4f0d1a9b6284c4148931ba2f19dcddddddfd63f7889dfd70e1828318a6254a5d723c4da00fa02c15e1b1e34b1247150755ac0a5598ccb907fba585ed62aa262a272a282a29aa2a1731c6186f18638cf192eba0d999e4818525d307eec186171e967e03c2c8a5f54bbbb4ae18637c8d70f7ba74c4044489071f38a86aa8379230e1a16ac32dc65c9ebca4b9b47e6997d63bb25f7777df9682306d7717e24ee3c7959730574d40f120438fd79fed41d9afbbbbd3aeb6ed7a0ff70ba05a5042c7901a52103d5ee309102477f72b511426a7ac7aaea4d95e87380564096d08e35ac2085c646e18d590fdbabbfb0b1468dbb6795094edd9afbbbb6f554a906df7eaee4e698f225a36f807e30a6609f286acf32199a4986cd022fb42844a95dd98dd083233b0d1c4057dc0440d18caf898a289a0891b46aadc58524564c90511207177778f618c71adc26496f868632a1bbbbbbb638c31c61fbb4732a9f2584aa25308d97184c8a36451b3285a9450256383c22419a04c264893197a3d1185c18945f384260acd141a2b34699c460fab315d62b81105868a894c9b390e10114d2cb97bcc5ad5ac9aac9caca01e638c317677778fc1d29e1bc2780929faa55d5a578a73a6c9cac7923496ca686a5621be8b288406c31177f72b5057a4ae545db9aac96ab36ddbb66db39e6596449631414caadcddafae284cca66b40cce08790c7b3e2a3005c491142546c8fc489302121363b18951275985c99cf32f7ece3f7d92d92e551fa3b785e7b0638c312eaa30996d0ed69115fc31c6d8081b14268182866e8f1149c41c4b6617a89b4117298d311e825ba032234daaa06432990f5bb56595274edbbd4a486acb982d52609a7c60a24494a528380841c7cc342a28e15588c264919113a4a189c66aaf808d70b26682cc1eeef30a9111154eb8b34d5355a13f9afc47b6bd870df20357eeaee5040b8290943c394188a120344960a0c58a64329909592a61b9da18d376cebff839ffddc730136294508176abd480e2e4da8d9670dbc5f386260a934e194a4bbdaafe862b51466132032bb39da4cd43398f68dbb66dcb5964109240c79723b37bf173fe392d606c1377caa612134138f44bbbb4a6755c524cf1682149ace63c27f3acdba1f4c44c9319c6d43893c32611b1a50e91727777b741c2674b4a8e2ac642300e80ac04225ab690894ad383af7660d12fedd2da628cf1cb8fbcaea670cc8e5660da11a6098a5a49e58496a9facea55de6433e2007a8cdb6c0c061c71288ec0590d9d59526392041dcdddd67e030c618633035304d609cc04081917211c7bdf7de2dc418638c710d4f3a23c3318acd5c6ba3248711abf981da0724658b19a522618620b221892155439660f59849845c1092429db61c18ff304415303f18631e46beba749e31c1248a0d3738d198ac90f819812522fb7537a230e92423e9172524bd1e07f86596b7bb51d7b66ddb46830d0a9340414349bc870626eeeeeeeeb5a7c964321d5b6d4ba5abdae6a1db05f5d36a35c1cf4f97a64d6d3142014917ecf9a08fc46d7b3e807b2c0529b172267573482086c0a186a4899220aa2380a000a4e82a562593c97eccab2d9578a05d6d16c618836063225646479d45610168a844a599a1882c21e8c166c490e992c3d01f16b8cc0cc4d4dcddddbbd42a27de0f1a46927650e2841c8278e1aa4c992b3336dcddb90c51984cc2044a0f9729628dcbc711aa19884092c264c40da70f08558ecaac4f319cf3d587105d86e8505be28a664395d517647548ffd96172518299688f2f44397a30e108551931325c99b2039922272732998c47954a3d5439715df44bbbb456a20298a02d442c08e141346607109afb9623f788291426973293d6f2cae088a7177fb46c27f2c148cb5394219c9c10e971aaa5243f2bb06236e7b18f24b42260642882cc0d3ea6f0cfbdf75e1ca0284c4a55f5e07025ebc9618663dd8e2bfaa55d5a6713a818283312e8c8d144e80523a0341133032da2c8a8e6d90b34503b30318108971ac2101531440452e63ee40e423e0497e5a844cdd924b154443401405200a3160000280c06054322b1809ce7615aeb0314000c687c4a6652340b4723b2288ae32806411800010000011000402084612022f38c3301e9341ab963bcf279b6e13d94811395d2843f475f8f5d3579e4fb6e2e7f62c86522350f7b748a2f4089be6cd2afee31baebeb044e1b50c24e5d241d5356690eee8689a1552e888f805ee7ac052f4430d0ee339a59d5e2167938741489a98d2527041e7797bb8c9034a4c644c234522e9cc37d001edd8f742b9d4ff522b8a8629894ead54b112362594049cbbb79f98c141e8c9c7460cdb4d55b09e1dcea77a58814e697692011e4a63cbfa69c8116459abeee4bb57a41e163882e70b28587de10b10bad377bb221e16c4b7776d508e64db9eaa1929929cf5914d266f79779bc93251d76ca4000763afc1bdb2aa5993825026e51524e1dbe9d1a1474d1c71a3063c82c1914444c170b96436110140c65ab6323f28ea58a685a6060f29ff8bec4b2d0135d7a437b77898c8fbe1b6864800603e3f851b6b51c440d9ea0f292ecd97c7467e87e965dfc5a8c20e12c9923778f2bd849f72b48ab6872e88f914afe931bbb4d5d11c4d43a8b4b25f3aeaa8ce51d9ae6911305e9fd8d5dcc65f968f8f4a8322044d14c45ee1da9ef77971ceeee324c45d09c147d51e7d49556433f86c0a176597a03456a6042565e279fc757bf57b164673166926bb05833476eff0e38830db17c55daeeef7b69559f86182616fb6836017c11543e3a00feccbe2fd93883eb9fae38462d2ffff3a55e50922317a91b4aef3bf6a550e7ac4437e7d58ca3ccd94ca3239346b70772bd9204706c0ad593e06b34016c9374d703913459b7cbe6fb58fc5d4baf9b7703e38967b7994f33e65e3d5e8abccbd86c3e61650bad92d69325f11bb90ff0b05b1cc8c58cb5ae975d2cf913e68980011f61b77b29988ccbd4e573695ba0f2a61364c307f911ccc308af0e7dc959e024308a7937534ede653bc75d06023f2c1b2b5434aaf4095429a4d4729d3686652589d1156b3471c1f5c3021f448d9bb7a2378426d4be5190eb481d238cf6ffa986f05ab6e187ba914aae1420db5019f1531f5fad4d29400433e178d9f1af0f57e1a3c2e693d6ec68295787d2347c24e95ed072a20b31fe3a89c4a964972eec381fa576b04b4abea2dd02d24a1cc353f04dde096858ca7ce50615a81c2f3e68f7f9840196f21de6d8745fed86d8d99e28d2decc62985f2a59aff97d084db82f37ed4690987570757f1adb9c87e887e07d4bbbaca39dda1e5d48cbfddf2b0ad7ff48056bdc887d620700d8a018d011c8f6fa3d8bfdcf0abdba4db032bf7dfc425d6a67561032a65022e50eb908f8825b36378351956c287b222ffec1047583d05ccf564657cfaede0fd90e1ecdd0db48bc5b1312e6eadad17c9a57eccecf270476ad54df9450ac0c282b47e14e9924e9ef263f9156a4ef223088ffc3f0dfb2a6161d7fc544d732c87ee544be64a904631c1a5f3609039e6b2c6d5167deba1f7dbc2e8905afe505bdd6b6cdd4cd29475a5884e59d468d76a6d580a89e296adc7ee9336b8a3bdfd06b2bac2c5919a45e9a0dac295282ee2286427ea9dff38269d05ceaeba790bd11c2ac044b1ea165ffc85ab62c514ba4b6523efa2881248ad9d9e6e8c0a87ecc6511b685c5127e51cb707104212ee63461d200aefe26bf2b8417763a09a08c3351c1e9362499b5784d440b7c4ba73a88516d4bb7b95e2ca02c4e1a1e7b3db98fe4adefbc35f824cf552fc93367cc3de716da01223d00b65c5e081cad1b3d28d3844ec8fef4b3c55acd0392e9544e68b4e388371fa260292d805b17691e96b4e9e34aa476d0e3bde3860344e0a0a36b0c76b832da3ad4691e8ea814bd686395d3708a2336ab0f1bd13328b3c26a6ee60f27606779d6bb13a85c826dfb4d81fca2da55734b0719f8272c2dcd164f370a7db4bb609efa3c5435b33edf18e36b733aa4eb5d2c9918a74c72762a023b2b9311f50e998d8da72781171209a6026b05d2b350f582cb980ec46012580b9c568606822cca01f47ea454340929ec0ac25ea3799059ba8248ecd1a0df01be1c78361f703206c087324249df014d3447ef93307fa98fb462c8928894e68a6ddc2f937e151d5fda3b3c959defd3a1554607bc9089395e8e126da49a6f4bc5f7fa3df74fe28c4a2f4ed2e5dd5c3e48064f463e39b4b6bdd50d8a9e3190ac20c3094cc43142606873da67bd7a16293cb8305f509342b0483badc41a8ca5d35ab9fa6379d17a35e719605c7b89d61c4f6d600aac4580837e293d82fb01d00bab83b623f71715bcbe512c57df15fd8aab1d801752a6fc60ea7e60cf7b67d24d63dfb5b3a4a938463af2e44d4f35820e2ebec782df90105dd8f2445c3b8dcc137fbb689d939b94d257e8cfb367f2e521af132769f26c269f8766b38d1897124b85d89a3b17ca3d0681005deea2b6b1de359e8fd6e91033ce9101da5b2c38c06fd1feb85acdf0bb593e78441b0cf168481ea257edd338ea5b0835015a8f9cdb9c8f7c94c91d345d8723939f6d0a03cdfc43016a18a8bdc027c5fd122d9a6b6b2c845245f870063d8afc6c9f135b9a734af455dc2348fba107081d808cf9fe9c708896eb597125f1bdd3ff4941d0afc8ad929a864c7a03a94943f1722fe57ceadfb56234fd6c9a07c6ea576368b36d29a5493d36bf9835e624be577948079fac4e6e940f34d1ba49e8b2a0130b492db8c68f01c71ab4eb332792a43e5d08a9107100fe7fb791dfb7fdac6150962fbb115cad85781312b1596de448f93a5dd45df6c3f2e019dff05e57ee92c5c31bd0a68be4c1f4da29a127b777e10ded7baff6504327f611c5c9accc99c5a807eb37c3777047e33aa9ba57adeb358ec46d5d420acbce4d509d8c50e3bac2439f2c437c4bc0cb0c4c53aa3842067c387352b9841fd9340f179cb5907680257e763285164d00df149aac51b631f80bebeb20f04d747efb1987fea0019167a65936090d7ee38922e80f85f7b744130dd5aad607a51f8c2ad540184b478f3edd11740747aa167a04fef591d492bfa45acb0a6ee78267330440ae0fc84c89894f1f41dfb62c8150bcd04701324c82f4867fa74e4e62f9188464448889c97f792361392c8a2752e5c1fcb9a428566160772248bc109d0f7568a76dd18d4bf16dc5afebfdd2a01d3a8145b9b571f28613246796c7aaac4f304e3bf22175d101e35f7a7271611c19e0a9f540216ecb8607d871ee9ce25f5f98d80f2d5b36c3e77ff078c6242dd03e8c47a5ad10704fdefa396152c70c0bbc016549f1a7e4b8329bd22d488168ebe33e5eb93e264f2df7f68282308553a10f7db6ed01cd8490328c1412b31cae9313ee7bb6e211a03b66b8793ae7d8ca3ca8a0631f0ae1ae7202cac33f22b0771ab7259d2494fb10f45a5ada78cf5901d518b54904a7053cb8e358b16cafe7a190867540d64c4cdf7c870e244660182559737c3cb7f783134c4eb27cc2056e51be0b0427a3f7624cf70d1b74588cbbcf25bec7019ec4d253ff82b2d14a1c792fe9741ec5dc46ce9ac15fc937ccbc8f0e60729074a05a2112670a3a293d651be5b3f4301b26cab14135eea4e9e8b5c5ebd19dd4ae8e5eaca23257944c3cb103cf82be6f95c13bf319c8bcf1ce7138b5191152919d9a191ca9a4cc80857d213c6a9acab519c5a3cfe37e0b0155c65e439b211735bb70692582237f640644895b3ca5a020b60e910eaeb1a4328768531c478498a3da44722a93d772b819314aa7ac1fd35b38514a49efcbfc84cd06902224a56bb8e6fd41c091c0deea751a768f4a10c24b23521c3b3c685e0ee39f21a8c754001b5a58006da40564db8f80435ed14687d17c95b428b901d43b34f031cc4743cec2e7b1c972299c831b5cd4b53ca0ec91211b61dc77d8e4269a6a9534f8435430535e859b5d6d507a879a4c4a0da803517d5c04d2266b243b00e19ed4d5dd47e88c5738c9d603ef58c693bc300b1ec7f028c4ac31c4b30e2463ad896fb73f2b011bfb8dac549b413abcfe334e3d08554e2c68f46574d6ba5b236a4e366bb13560171f24726a762b9240501f64b96ca2fe9cecf6bf807e833bc575e15e88044ed9013485e9acfeb5d32e08ad473c6af1a7dd9dd4917b1cdbd4ac6e52f48ffa97c230862538e1dd1653492b531e8e9f106d772e3eafabb9d6f0081219c3f4855e4e65d3201d1d6e2c2f79b702a87042a5a3e3b2c75d1e59f30e9b20745bd30f7ba2d88ca0caa41df2932ed63989c0de648fb0682d0885b405f5ae1fcf769d042ff450beafda4206d3cc23a8e5b8b1742f1622959c83a96b12048584e53a1f3650135ec18632da5f1736383885c6c8d2319ea7a9516652072da67054ba269a24f7929eb14b822d5907f4d2db19d68aed8e1a2c95e0a061edcb347906469670517b531a20f9e403c9519098fa57b7a434ef8aafac5366ed23aeff00c728a1f53d780d53c1d811b168849c5d8e0fdad9281406c3cb755c9d890633b6726513298343ad535d95824cf138cc6ff7ec73c06b91e0fe3bf21bdb6e1a1d8d8260d995aecd56a1bdf04022bbe738a2704559bce11af331a30ce10c28900396e92de846856c2a2cc208f96940f4f5e9598d23c1785afeef161f9a31b1709b26dc51f2b611249f7b0ad638648c1eee883b01538c0ec3c7192d623c84169c43f5514b16cde7362d39fee2aa61c94d34e8b6c44953370babf2256caccff28f37d8625de0ba2085cd3554626fd774175b05edc1c3e8ca7d7b453a89a48af4322749f14a9484c92a6fb7774ea38f7ddb7b1e1fb1dcc5f3edaf0fe9c45ecf1b7c26e046be8b19923d6a798fa90ad7950bf5b8d292741e39503de518faa087aff443bf6218acdad0b4145d051dc1d69a563a8b56b947f30ed1ce66a17778136dbd3c67a3ac90588b467d614a0d273c0801c1289b291997083b81c3407e943cc8c72b98a46e071b3dd85e7752dea051f35a5cda7cd4fdee8b551cd5929998508e911d18ee5ffa253a569288583d4e07e0647358e4e527e290e7f2433b712b9d3aeb51be115ea8909a20bfcf3ab872e5924dde30eb2feba2b31189aa6da044c466c306073e6a34f5dcb209fffc4226be5190128eb6a42b1bf4bd69b0c161375eb7cee97807359ee22f324853ad8735381e1651f437d5a0ee13ab89581a357c4a18c2d817cd819c03ff0650d0aa939bda26449789885e6bf81432e661f6b761ecfbe8aaa2dc82e4818623b8cff6a41a4bac02212fc1a566288444b62033d5bb7904f2d58559fd1ab3b4a2bde0d1266734dba97242821d37a6375551e94248411a3733c401c5d0239b5177fc17aa2fa61ed0af07f327c7b780ffaf241f533a47b0ee0337704d3140986bca7c866e04817c2bae235aebd19598e54a7cec9615aa9c4c6b048111509077ac05662cfeac10d005d529bc3082130247fab21d6942a7ca81b95d53b33669cae2537c2a0a93c145255a1388056f10e907bcbd04a778f07dc30d459ec67b6fef864f9b3c095107b408bea8cf776252b6941039cb6e0679c0380a5aa17373071219de56d01062210765a0d49b593677d9e0448fb0a611f488d8c8d1daf9265261b1d358e99098b82b6e5f2eff15b2e3ac9f1a29646c33e320a0a1e7cfaad6c9c1010d5017d321c7cc05603cb864d4e4324f629dd170776d183fd3a3311aa49933347f870706ed0863544cbb5a46c1a91528a85e087126295e89923059b796a887464983c4bd6f93c1a6005384cb952e68feffd8b90ccd7db9a4e5defc238488cc4592eeb9ef54b58ed513fbe0f584468823bee0bb833710caea418adc3bfba3405d89bed6aa78149dfca6ab89cededceb3cf916195b11a942309c049c6e736ee613b88c0d6a6a52c33b1ad7cf64a850cd91bf9f10649a4047539517353d3300301b92a67c4c737c62dcf2188887e254e4fc79c035827470e2f30f2f906740f27f5454d86d97c0547a7d63092c6e652a8a64d5e6b417e122632ab21b6e25eaffc212b1da011840e28db3a14a234d3499882d096fe15aa7d4c59f49fc2678039dfdf8ffac8c281f7c72c01c8156e4bf1d65deba31d5ae24d39b83cc383a74c46edd76a3e0bcb82034236634fe070b82e3ce0609ae103b4c35f2c3f2cb6008f088119058c236c84b7456664c73f888c52a831aff058d3a2553ab76bb43c0e2fa11869e3a9c3a679d99423225a2d1dab5921361ef415196096a437a864d24fe7f1ec6bc84b6bef1d5f8e95ca305f44941d665840fc5aeccb86794113ae40160545eb6054e41bf6bb764d7ff93eac0d9d8de2aa3845c38ef4cffd40aa7f5b3bee7c39685bac7aadf8a21f27eee37abcd7ab28a04bc9676b8047a0b5ac53e04d7f15a0b2a444810d61b8e513fb610c41acdacfa2dc8b55090e48537f3fe14048bf74e61a8ccd918a5d03bf9285695f08a4534b098379f1f1768ea893264ab2e0a4989d6387d5b1bce61ef26d3cd683a06a950cdef09191c2f2b1b96130c20522752f95405113b16913093c574763835e82d9aa80496852b5901c98693c4e15956d401dc3a8447d049e6e1a43ff22dbab8ac8b0484cf3c9c15b0f496a3d20d97b59d97ef9c07c04fe8d1aa74c20af0c31095faf8311a05aa07b56ec1017410f41908bd4ac0959a1b2c866b561df9fa176d39eddd8f4a62a03d507a200cc7c05319011d89e7b739c8499a44c47c4e34466d16d17e3a51a3a8e6a18b95156abb4382854250dac366b90c972edda052d27a503d65595a66092ab88318fce6a465db1f3ca2202a68ed1e332f49681a05e1953f69d174080a934e1a7f3242941a7f9f2453eaf748da28ad656effc2b46685b3a72008979a238b08da3ad434cee63ee63f66f2e781b503d0ad3fb660c88179c0c6948199049c53c03371f213cef5ab11ace48fb5da427accaa6b5c0ffa84aa08019e2df267a53baf4d7ed29f6cb300c86d8aac53e6ed20f609bb06d33778cd75d042c1a3201d78e837a13b601978f113aae4f4cbc230d7fbe5b60e5afc3402ebc15284e845cffcd0727cb5e4936ee23e7c30cfe44364f2b739a24d805c127ce49d44d19dee87559b591f646d1bffe556ec34f97375214e01a626c3a38155b0d77870f3bf420d5641e92b252f54f03975294e994d48320e7d3140d04667a5f5213dee0d4c5412e9f9a2efb71d27e4258f612d1ef77ed40825d781ac33a0b696f575e473f080a4cad80987780eb5769d519d3672383be5d468f3455b66f9984e484fda186ca33fabe8fb57e04daa7dfa12ded9c1bace2ca2bdf89583dbf1392b1d8cda44d43714a1392fc18d3b7bf7c1afbc4438efe53cee010b36cc6ee35740c112bbd1e45ce0d6c6b8117efb273a774e5925497be4068a4e0ce145c4503126eb900098336c8e2e9c1c97ae8d3c712ac9819742739bca43c3ec9206932e600489656318a3785cb4e08914eb8cda3b18923410792571064b3b0e7ba42b7bc3a121093b76dcaf34e22824b1325ddaba61d7ec31892e1d01f4d2e5305bbf498c22b05659e7c7a714004295f4b76e542eb34077cd50001ce5456adb3ffc929753a418dc69485de2ec0d675f90d0ee47a201b701e508101d3a06aba266cfc64e41944b51ee70ed7ce44b7329ac2cdb088be48bffdc37ccac07afca3875288e78ff91235af7a4ba4c5a6683c33e10f8c8a394d33918d5d6dbc6e7ba25c1d1a3bcc6f549124050b1ee83a0b337106df11c5c2a7de618ae3aacfdb5ca960afe735481020ffddcdf89ebebb035ad4dba25e30daa85d1fdd72829484bd26bfb266631017e0a51a8629a9e0e44cb4fe79229a1bb1f016b6d2f44b43297c18a49d82a2f7688be22db124b6b0111e26a656fef6739369286c2ed82f3b6a2cf978f8cf740cf8f78f1445307fd4d204c46f6a81e38a01a5f4e7a39d6c01b9bc0c1abf26fd668572217524f537692a324a3e84e1e1250c58eefb03e8148653610baf9b908d1ec381bb1502731d99679a578a95ff812cf05cf81bed42d58b5b0e5f424e36d13e39ee23c8763d20c57b3d7212959a29a6bc9ab630ad5c352621c6e80082323039582fd2a2d58c7f6820af1273cee76ced4dcbb2352cbe458572bc746f439b774ffc088f40010c18276ec475f0d42a49e150d5d9ce0a26c6822207f22a08793088f472893485237982b7ec5ce3cf8e1390ec1db6939f5991ec1b728c81471e58e2c9efedeb312230889c0fbbe605c1ffec3f9fefcaae94b4b43295c7a3bcb27e867b4c75294f40b46c10341e83f03157a689ca5c28870d5be02e3c81ec64515ccd93462fa8628e4d079f2f3a89447700ec313dc3ad159136382a70a7d5d1b090599730284157b8a9c396624937ab94a239ba190ce7fa48c1bf592cb83ff63151eb6e5e1eaaf527ee02527d70672f7039af76bd9f496bc0b42c32e5f9302a1ed8912548ba520c9e6a3d4b537750b5a2ea32a3c038b43f27bb836aa4ae88b59feed19677e2a2ea2e78c49e6b245a2ffeb3779f7553d2c461fb66a68165c2173592c216fdc0d209dd5d600d265c4313eb2fae6620c1ce96fb0939b37310061824ad08649e7d0aedc01036e2ede1cce6a04aaf8588bc18cb6701f8af19c6aec4587f49d005134ecebeacae4fbd603cfbea70ade9844793bcf25f7236db7025d59f67f5fdab103b96c59b32f43261074bdbeab281f8c96f3e4452f3902e282e69632663e311c33c4c61fb33e1cb0010da694f0161735f5263e045a58aed174fa54ac62201d0709a02c0964585ed7f8e352e25acd926b8bf32f02c9e5773fcb6b27eb2ea7ee179e42916601f5ac044ead242cf440ca2da9c65d156f83581e3b0aadba63d6ee31a1c0900affd491a61d3b14f00a013ff662538b79722723b24aa5ca1c60326b47ebf53ec90a651a9847494dae5dd4477c3a04c6fba92f6cd1b3c33298da9d5412568693e8ad47c99985f5297f18c4c5d86ded5bdabe2b47f67f2f9d1d3e0782182cfe3150ee2aed8849092892646b5a3df399d147c5888fa0eda02e9d78321d72a6c5488b74bcd2cde022c8ee3a54591af138c48e52081a1f2421ea396eec86566f10ce481823952018e665d0bb9043f7ae16db42a15b3824c99b1e49d7a19504976a74bc2213072ef3ea5bf67f8c2f8b9dce06e7091e70702083012def37735c22d4657fa8ff938838212f517745901c1d5ed6840c16c0134c018ac0901b25a0ace97b5fe2983438e4d2a18f7efb01ceef244e3e5ec4e0a74d5386050c5b971dacdcbd0512ac983457accc5f5841b9bdf5737cb1af2500e004ee5a1a4082ec242334068e33888f4d27058805813732b74291ee803a2f909707105bab79285a438811e855c9ee1a319dad90796d08d6ba7b5282dc0a52c953a8bd8ec87d9cc711b3b96a268fa63a76942b84e8a74276da687b19f6686563e848ed222fe7620730ef215282ed95dd020151860ad085054190c50103fef8b0fe4edc220cf316981a9871b83cecd04df799da2add379f99576551097bc90173d65218536cea8956cb52dfcdcd7c7891dea36ec05fc8446507c52db97c09cdda045c39e0ec4be0a17d7c3aa2d80b1a526c4abb1b944c48cec88d50d43c93b3ae3286a5c034d724d452d42337e2af5a7eb60e22016c0f642fe8879cb5b3847b06846e1f7d5855f56feae6de90aca84cc735c578cdfb3efc5293b8425e389ae8421e5a8149c5a71506c29fa64b3d0639b3fc654b7e0a9887fed2a62eab46df6f714496851abab0b0f89034c442f04586383942f6dfa293e90dc26a9dceb96f09d6e2c72f83e55190924b17616d681f49d481e3748c0208a1f7e20592ba2bd7e4b6b96eea535f062d2acb14d956515e29b28b10417cdcf34b58214576b4ce096b80a948d894fff5e699fcb254a620dda14a4e30ed2c830451a2e42479f9314ad103ba2a04da22fe881789192db169b31a0ca46f1cbf45c72cb43023b53a869e086df1f208270058f3a372df1520f013a7b071ced28b42129e10a120ce757387e2c7bd299d417790a7a16e3d5d81ef911e76c99693074b4bf6daf1aca84d245197c514c2a1b82eb07043b89294433461bfbdfff9e470cc31183c163ba5104aa1942b02017e978d8e2fd69712d6395e0b2d7bcb62942e40805631eb73e0253e313c59b5190d41f85dc8b96207c51bab3427bdcddc442c64f6c78146d34ca70e9703f8baf913e4eb15108bd8aabbd48055306a5abe408023b720fc5c53a028b0574889860743a2d24fd966a94a237ff84d1b6f84d40a4afd80ba1b08237378a08e67d8704b5495d568fd8bc77204c5102b82fffab7961f6bded0c5d6582ecd93c7039f2615e4cd802b7f5106287be0baa0e46898d71e69d36cbf278a1b6fc477697282954317fca24c95bf2197a5eca35488e373b7f4041740eaa1ae21e88b4d545a09102ef63f6df9ff4cc79cf00ce866be7036ddb500508e00c991f72e71ab48e1725085b51cca1e0986cb3772e213b4adb55def4ba9c9ce28aba5e5242c52a8b1aa92d3823386a981091a0feae554c410400aa58acfaf9bb18962ced7993d4c68942a239641f3fae975b37a4a619667f2cfeca3b6d74b694a1f2ec373e5319eb46e7578621547719dcdd775753fb5a215db96682260940bbfc7726bbe0b2469b4809eadc78a54aaf678665fcb89e373620c81b81606c8135fea7957872c677af230ac76a48144b9602e422737a61a571c8413bc961b0bcfc965eb51b9ba340eddb67132adde31068a28184efa88b21f239312ffffcb5740a19eae387b958a010f1e29979ca3fab604b7a211434acf80e542344d55ef1435f67464733e260b2e257a6d4515364ac0b900c8b1373aee9fbb781b72a92585ded426ae18b3b136371389dd9753ee1e8c18a1cc3cd80354efe887f07784202f18bd47448951a237ca62b79612a0b783ebd33f4408b0bdedf527f4e60b05f25f35384f63f7ad7b6a16d6e307c3803843e467724705c9ce26bc2ab60f7190d69a8359a6bde6c7e69530c7a03b91e366874cfccf43896ba210ee2ce0f73b6a58f905921bbe2a87b5f8946a42af31fdb224eb2940a6f38d8231c026267d7719275cfab28f036737d2521a4c4c419efe0a2149ab1b680f39a4158f103a1abe61f5d0fec71bdd939e7f273e805d54fff2c2132d0cce6a295993b9d2e3dc19d66f359a4ea4cc78cad196ab3793c871dbeedba09f9a483545003dc0ef0ddc2518d19608690ec18a6c7830ccfa0ea64a77f801db924b4c0256869236fc783ddafb7c0cbb01da24593c6a36593181805700370d5d5a750c1f896e9cfda2c4c3c98c6f0d79a60d9ee0a7f357978b214c490f34c8cff80a836540afb9ed85e769ee1da117d4dfa3de8551a47fe4fd80496384661ce88f895a356f01bee38ed5344fdd8660e73ab0ed353b47452f16fbba0c10261869edc80d30da56f08d2fc4f501bf8d399856dc8dd015e2a656ea4cc207a896c17cc01f50e85a4620bd6d0ee338cfdd65d0426b10be25b4b9d7257cfaa0b783c9530948283d88c3473fc92bda290df973855d5212be504080b221598aaf5ba6f44b55727a4ae3ecdc3b881a5a844065513b1ff669fa00f624da99cad169e4b2fe047dc836e8cafb8f804e88fec7d5fcbdd9838b956c42016b44e8cfe291914ab6863f9b5d3dddc3c09ecf81fb4a858a4db787d80b414abacc0efbc5fac8c7e0b2605c30ec497612b5ed24ba8cc1b27eee1283be125b73df13f0907fbc5d500e6ae35b9dca40fcc59caeb81882f8623d858c716c1b0b179cf66a84c3b21d8c0fb6101414ce43d16e93d28b221e106ab43422e9bd6258a41ee401d16444dfc210998040ee09a9424c5a6f66d392ff87c840451b5f78c988991ee88d3981413672520c3f93847d0daad03ee9d5653f5baf65033bc6fd867408806e4a85b2295207d38c18aec7d8f9af5dd9d94f8da0922f1030198c1ed99c513dc787fe535a6ded4a59796afd0de82200bc8ba2132ce967ae242ba3a9679ba813e18a08026a8ea5a3ec926045574fdd780c88e838457d0588b796e9626c8d80c7bba5e05a6484f58f827856ec0fecae3e11c150e01c35616fd9121cb64ad5d1da82f059bb9435a981ae14fafbb25e847e793e2594a0858bb8f5762688c5b4fd2c39a7ac6e76a131a6863dae1197d1c5774d1889401969b589fe604ba69e3f8e87b187878920ffa108e53b2525a7c0ed98eca45552ba9eea05be92cc36881a76318f0ec729d70b9e2a9b367b33530295b2367bd4fd49b7f17d5ef6d003b704092a82ac67ecbccde701ee4ff0ae931213b7aa80f42c2039eb18d04be56765c4329ad8c4bf53638af86788a03a2df7158e3920cdce415e731fc671e2eef602e52948947312d28eac761f79f3ca8c0b3484029f94ccc37416b0d5820b2b9d143b4ec4c4701a675f3ae4649f3c31fcd804919e82080e455a7153d6b3fcc0f18c2404699f3a62d957135c516094aa2a5f42b2ffb27a76b5da4e4524e1e7925b7e63f0e833c36e6a04fdbd85819d9e64fbcc4d11348b1aa31908d84b6f7e2996582f0dc76008f236778168e6d51b8006d70919359920329ed8740ccfafa28a65adcbce410764d4db519a22db0c1d12fb2bf11fb31b559697c05023b5ada9fa70136caf0ad883860c39f3047670d88f3bd99979e94ac134d09ed858b34786b948075d710aee3307fb9ed0e12a59c178541447713a889f4ed7a63645f5d30d3f8a27a86c24a5d66ff5fb2a663c65d6c74910d7b7bc3dc45267c8ab71e900be8170572f77c42d954318bac61b10ce02ab34d744db9034c5803b1e9165d58728eba1e5ddd76c3d79dff6eac9b34a90b9fa415afc09d156c57f5b1303840f28978ba324cf3d4f78b736bd6dd384e9a495d98350d2b069c091fc2e15debd3c0597853528b21caeb8513ab7408c5852512e6bfd8caef42bc8b02cb15fa71682299f3fc4fb50ba95b7810d5ff442f2a21a01954b80055d3dcb492832a2391c7fa48f5f9b2f7455a08832a6fdfe5dd16dee7473be4333ace1cdba1fbfb98af77f3c48ab4307decf050361d45e101c8783785be21fefa368c36928a2dd9c214b0694b40587088d9ab1f63416d402e69764b5ed30a8f27904c4f6d6e8c5a46f0684ca7b636ddb33d4e99c9b080e7793147a2380f9adcb75e5f278de9bb2b805ac32967d03b0610d73124b7988a4399d3e67251887409b6fbe52aca7f62286a2c2f2f9992e5468c29515e613272912b6291ea304dc228b9c1c8333e6a7552ce9e1c291a175860a25b1c09fd18fee6716bb405c442f238759179ec30f52b24bd3683731e9228fe02edc1ffda3543e77520aa4b967660655c767f26f85987d5bbddde6629fd0eec390f70bf0cd00fc521cf391cd2faa455b370d51b75b62e74f8f025079871accf2013213ec0cccab34d25eb70d6520c7b427609b424426d5916a6c56148da22dd9ab5a38e3b30e38aae17349fa63d9ac3d4a240c76aa6e53f20dbe6289658f70a623360e361bba26182407826b31916f94ae701c4d6967152a3cd4b81a52b28057d08a1066137b68867ce8fabafcf06a900e131f8e6850490bb77deb2aa80297c12648cd6e285425f9082b906a7783f6f510f3ca696a6c097c1f9c941d1c40ea7e8c3cd3520901bc93e192902e1d4e90a8b3489155acc26d892038bc3d27c3d2492190ae9bccbb3cc617f7f87dbcb3c934c29d5b3352d9e02620a9e11530438531abe565803c1fdfa873e02922d912a0f4c6500235971e19ecd3ca240f1cbe97ac992906ec8f91d542ec980db8f7ce5147633762838badaf6514643d0c26acbe0b4b5e7b410220ebc6d3045a0c02157331aa35802cb59f105ffd96c4e9c682369b32ab795628dd63cd39ed8c37fc2ecb44e41782b095bb4494ba2007419249bca0be61c587503457482c87747f35634157a2b8d8a52138e5ba189b0a090c026eb38bf59a0a8509b2e7f46e1fc6fa5122b819f73e35369d0f493227100a813706e7bb5a3a858ee395fce7bb74676fef6cae84364e1acbbab9c7c455ff2a1cb59bb42c8993fed4115699af3c8795e454bdbe31b135b03fa03949ed7f279d242740665608593b0cf9c48c455109827a868e7a8843bbf064c817b5ae8a41c85044e9871983227dce6df036bdd861600ae0c8914ebc6446537ecc54b5a0734fd2eef3620ec6f084c7c0ef6e80cfa5b15c79c6bee836f79b7bc698bffa72da8a045a6f797109e1c33ce1a706fa54c7d7479f977eb57b91f4e6dc317d765826e8b77bd52c273927725723861e4309fbd5b8098f4e68e726b1825e6b7e08074809bf745f75cca59a1f690486cba91d53dd3d636d85c2c4219c4249df86c72e54db8ea194fb1b191450f6137d8b55bb1872492522a7e1b53e55800c3a6a0516c2345a43b8367df0f844578dfc40ef8a7dcb4367e6fde819e40f3fae5782bd60a77f85ccde9222897d2a1f1c83ac2256ddf8bb449009d4935c739cbc463bc07c1031a8cfc26004b5c1cc0521152863c94c7fd16b090a267761b9c48cf4ec903223ca49659610d6f97838ad305a065cdd8f28042295d80b5b4e6f0c6c3164467f8c00bc68867f7f4a12d78d1da4e250fe24ae1455893ba5920ab30043815956bed5c41d83db9c588749d4c341106f8606fcc13496f3d9f59871e4272e73e86103457b1241b8c9ffd6bdd0e6604f03e0f134373bfd185d73d501ad7efeffbfe0c2e2790e48411405c2ccc8b50dc88a58dcd67ab29317b5fa6e22885bcdff891aca056d1fb0b71926b629bc469354f8470ab5c41e05319870cbe104e78d5d30b8a2dc9a99771e0d00e9d7e5f093b3578f1b10fc84d84e54f5d4fb5b20b028175a182ddabd09cee34121f9c2da9a88af48f32acbb3bcce33ac44045bd3443d9fbcdb5a1c647b83139d89e07ae2f3aac4f3655e828d1399e30f60f106e9fe3c8e2aa731b2a80d65cad8d67f6e3c4acbbc030580883819eaff48811097f76866cc43dc5ad7f9e9badc820854c67a1cb6f2667f7475373794081d2575a2c530ba92eb591920bd0ae79c27b3fc768bdd161f972d1e23d41347ba3e543b3a89ae353784d97479a1988f8f76ef513803b0a877338b5a1982eb460b3ef1fcbb88429083daec1e2cfd457cc59644df07c37c7ee9d91d2dc4afa40c159fe93c672aae9ea673ee50a1bc31d7c1381906bbc66d17064ff51fe6030f8dd9dde87bc49d89b782ee5685d3b1c6cfd5b6dd1602fb7bc748715427b4f7972f4f2df9735c72519244d07f288abf562ed139b2960365c7b8dbdc5098c5202f35ba39a022dd18c12267dc94a1d5eb48697c323acc0be1c3131cdf71ed34ba6903194e0fa4a5704101205e144933cf130c02a167e072ad3a36879cb34e84e8f5be7e9ed302daac726f1cf889ed4c6e4a9ba06abbba2ca52ebcdc4a7264a8aebaddc79555f97bf5aed40a6721ebcdfa9c6e73adcc0776a955d4b9053a90d901110c7db1869abfa618107fa754de6c5b6161d803a59982b39570c94f9040a6e873521f65f2aecda70a8bc43604239c3229a1814d94b482a709a27d9f991a0e25f0b4965fd0b208919a0eb88907c517477aece096b3cfabb5fc9a312b407d94e5808115dd706ce916060491f78308175c29833bd9e9f161a267da291a347850e3508271020db6fe383276558c8b85e2af51c8848453f74e6749638b17ca4b48598430f1d4bbaa3ad7104d865f121f25203cfd3ef8dd15f74d45ed9c6a6c69f54793a91d83936cee2923f3c0ca585ae46f9276c5a810dd1507d8934bb2492897e0c7e6b0a2d0cc457882b2b77bad96e8d2879b612aa4e7746fc4604f6eeb9ef05ceacc68239b5eedf5f0415034a192bcf2ffa5a82bde14f24eea0745223f5486a8fe42f152aebb7061fa01639b2d4a3c0381500f59d4be91c03ce44e454bdad89a2314cc10e316cf10ad46556baa3a6568d062012f82f6b7802256bfac8c3b23a04eb51d9ddae364d4ba1af531bec3946808ee9566899d67963500887029c5348fd77ec2083045d89728efe0c1024ffacbc99a3c818342af3a414580d64846705baba985f0d0af5b449e6f0115d1a9a40577274b458a4fe152f479ecc4c92d47de67e6d2acabcd3274a039cc779c9a888c4f4333098540383a7e5603435cee75b7133ff98b769d37fc799aea020ae3887f34380e544f38b29c82b54ffd1d3ebe26e001246ed2ce0903501760a831f88cf9556ad3aa5663400e280ea9815e22b871632dd9eb631643935b98b3d5732f8c4bc135798b5a1f1309feb63346c3d16d1692c6b41321a61f43dda9b00b2acbdf28de901d93c5fa090a98ca10ee535930aab47099632431344b78f698d6aa2e2f3c761143994402b06afc7ce12fbe6aa8020ff41cd87bd1c8a8a123cef8db1c239539afb695006d44ab775b1ec9dc0cb1ef8b40d713d72e5c9af49c44039ed31e9f4591791a86c08e841650e715f5d6e902651678264108b35886bf4e52ceb02e983c3ce3501036487ba07754537cb422ff6371cf844c2aa263dfba5c7371708654381e1d90ebd5649c679fd93af739714bb98c41a51b30368b21d8d8f1be39a46b390cbb837f5a06a2fd3858e80fb0c68c3e94cd82f62d1d3d5ecc3fb32706c34c9f1fcd1d34488f6f7f7a4f169237c25764df065b8d77d36ef78a888a693df53914d9ba8e706cf3fa8d48c4de333f210315f8d36bde88f65fc1be1ea304434ec694a55f870243f20f12d79c8983b32ad5ac16188ba317422ddc58ce2e3f97157d2d974b15c3cdedb8805c33e8fe1dcc2f9e941673ae176a147eff7b8ea481b49fdb2e0fcd5b9b952ce62619ab85caf65ba015e1d63e6f896e592617239d267eba35acffc412975d9869267e70bc25f47a18561ca57c8a964b58604d7931b771810e2de89f4c78a18d3eecc3452cf7b8fe0debf2bb97a6586da232b6453fa7a30c1d09107da2a12cd5a941e7275dccf93b74ed383dd60037567e4873296fe521832a22ff105db9dede70e1c14997fbd92b1dd6dc149a15ebe953021f2f01c8027d4277217f1999afb99587aeeb76c1b59764f136f5d37d3a1fb51ccbd43cc2419145a3bbfc43ff9e328d5d80e0081015a0688241cd56fea4624fbe71e1675d580b488b4e7bb1ecde4eb932ab65cbdee279d83d4839d4a6b0a93ea571177e98ddb1d8b58910e1017dbb5449fdb508a42e2256fd3af7f080ddc964e014c9feba90935954f78a47a358043393a55428f1f71bdc944eb476ad0655f1f58f69ba69e8aa1709001c222f4ba62221c0ba4e3e24fd9131642368f3256854d1997f3e5e055f085acb3ebe8bd171015d079dc869a1e235f093f34696f7a74fb206915a8f04b5268a379ac5527aa4dde731e64921c01756926e7289a07d4e19b7d4578285faf29f29427166a82d69cbf56668c687135213183799974476737c0ac81d6b9bbc2b05fd2c8c45bfa0d83fec1d57d155cc90734d0b01f3542c017f4306396bf9e9aecc0b83ec9272eddc52c45b439b415746f453001d5fd5e9ae85cb2830cfe6342df6abd13883d9c1c6283281c8e173404f580ec44b513e36ce86d140f43fcfc26d8dce7b5f8a0f1c414b7eb5f92080dc443f9cd9daf9254cdc86efeab97d2d38b168be86ad33bae87d37bb267e3540f84f34c65721b935fdc7ea52719c176fcb1a893544203bdf2fff480cc4b4727d49ae3b9ba381d34f511366535c150978b0ff13ba95711d0877a538fe394ac278a14fd78abba841515d8b8e7664d85a11e9d564b4828d6cb641aa6422c6915b7b0bcbbff252c2e55f97ae6e1eeed34ce05ed758653023792c0bc407af5745f433652dcec1f0cbc06adb0ff5a3e5b522727c3e16cf5c1257dc896887cbdbaa0fe18979388c31b921021a88bff7857ca735e7339740bc2beaa229ccdd00053fa576c8cc8c2d68925cb694829ca5fb490724751a9801ec87f4a8bdd8652da9c8b4a3602098a49b7d32b7612dc1705e0d57a2df7ee6f323548f1f6d7e5602c79fe9e317fe920da83b59e37a654280e1d4298e22203e931678e35536800629e15d849cfb4070d73c876dce63d5d5fc5761ea9c32272a2e7d66af19aecf5e79db69107f6b805157aae37b89d61193751a26b66581d26015a0478995db1ec3f9b75413f3ae8a2689616b9aa1933263468050558f4f5fbffdbd4fdda5687d130735e2422438ce4a6be68b582e2757de7f2a93b205a046dbf199b1db53a74dae3e410ea02d25aa7839293f86cd9a1eb5138fc0c6f0a5de44ccf6c76d6c7dc1c062f3b98e9cc9903540ced5572428d5438368e010c0f1a8f54302565ee148e76beb906424bd2363d384837bb3e3ae682f0ce009cc53baefda46a541319360d8a45780121831ff3926bd996965b9fe8a5f02b7bf21753feba8e522dff62f844ec48f6ff122a4c0f21e471568dcab097890ca510269225d9e0a88f0ed1237490b82196abf303e0ae07415b3f0c296dee12c4424c56bd8e3668af4990f4cf4d2e7c0f9ee1c2ad30a786d3b6ee4c13cddeab4be0229d0798301ce850d3883a40885b26b6999c649d20eb31496322daa4d6671942f12f9cc19a5748d19dba13c68e1fd446e608ba36293111ad73e60b2a4acda2ea156ee6585d4bff85e1d5b3babbc17b7a22989c04e9c97d3015ea2730ed983f326036bba3212080dbc2cd66abc083b9c016fdce2e40be2dc7ae77640d77fb5c51c56437fa2a4d3fa219e0f17ef929e24f444218aa54a152f00686b67dc96c315f571065c7e2dcd3c9ac4e7288e8e546cdf663c75e5dd02ff1616d4eb44eb0fe4eadb9735eff1d44c5f3fda5896c00382049e50edaf628189c7ddbb4c87db5d173d06698eb6f96b598cc1316584c3d248dd4981a670ad54a94b43088194ff70e1e0c3df907a25e489bbd0d720fa4f7e682f2fb3d15e6de52b7de44e83474c8bace21b4b56c0e43b184b6ffb532432771834ee96bf53f5620cfbeb66f37e51cd936da020a539ed5dde477cf2b7510a24420a58548fd8f72fe5e8e4b81ba1eefe61e750ae775852a19de377863f74669834b504c04199bf4d07401435150fd194b2f9956bed7ffd529efdfd773a8aa9f779390fe31e650f4911309a24cbdaaa85e8da88a22a8ab62ad5c838e513e328241555eea655a73990105e4410ba4d5fbba074e2bbb62fef21fa9255c947187932d40dea9cc29afde77d812663f0cd679833e9ddf7562a3578c253754dd272f71321f6765bd08af7ff41e7e829bc1434ad00848e72c17134f340844420fb2c3102ea40632222beb1c7fdacdd2532980c166a1735594f0243b5df71dcfe9034e9a88c6b44e8c97885ad640d5c815538425ecd327b12d09c13a5ab436610f9c5532c93f0c958d2798c41630b7fde351cb3f6e605f11b9bbaa49b1aa9ad0ea8272a1d59456b02c8a2914e68d0163b2875991a494d81573787343e3fd7936e2166cca9c914a34be618d9a3bad03351e61cf7c1f1c9b5a151c204114cc01d8e9a9924be653a344a63e7001e097223cf08489f66194f68ae6d2e7dca88de4c645fdd9892cd55b34d8736f2a7da7fd21ea02159c8cb15ba13d880a1107317331ecfa648466a88c03a586480ba01cb2b8920875b351ec6abc948cecd3cf422565481e872f167fc3575dcc30eb45f7865ada6aa8d9e75419f67cbe600bde74e6e082b4777b9fc98ff0b18766dc96d5cded66649edffd9490cad309ad34cbb0a5b80cdd96a8161b9490e82fbe1391ccf3f7aec2bdaa225436bbfb21d622f09e8ff6e322ceebbca72605bb4f4170f1a5280db0294b5cf79368660c169e091b3fb1ccc41e18b59a164a91f9b5313f19f80ca61e05240da127a787e7488bdb042d9e383d6fe5fbc063ae755a6327329d174cb891b570224e4022a3a86735920962a4e07f123fb6ea2e665e76c590f6277f67c8ec0f0783023426e2a0f4d68d093b7da05377abb16459fb4bf47ee70756600709ed8a582ac20903a750eb0bc11141c75b92aca725182735471449464efdd6dcbbdb74c29c967075207c7061bfdedc17009114c92689dc05014be1c117d15bdcec9bf1df884a44da3f727e2dd51f7360e863957aac44e9f3c79afdb85da6783902fe6c0f026b5cec0850fe9053d946e5ae642e2515d5ce073c7fa530537f0a273d5ee4a169430ee583f0d2839504139a3899a5dc982f272816a5ec9f262064f7432a6fbb2549ff365644aa52829c8998903599a3fe4ca11a85316bef49009cd1f2fcd19c44da973cedfc19151fdc7f9a3e974b7a671515a9c361be26c20e2a9e3844918f8724a0875cc86b2a129973fcbc235fdfc59959e113d675636ceb05c919d46986d5c1eb30edc69c7ac88099341f8ff7ba37241dab645bf2624c59643d27dfc278a0709b55e14566324d4a7da7b685c85c44b51604142b0d690eba7553fedd33f4154a8b64843ef6a199597523d2a9f9f55ab384ab7865c2f5837b78c14eaa66992936ab81ffb52979f0ede7fff795e83bc1adf2d7cd2bd8c8c289248b5f6505a2b89f42f8a323260183588bacf8bdbfad52b4eeb55cce72b8bf5f499419c0dddceb221e7946cf5dcd67a4e3304c3a823893b6522163276a80909c9202caf673bb6e8a45ca24171c5d069097d22b80dd8ea04547fa47518b57b1be73aac807c5dce02d1bdf75d177ade77b6becea993e12bd2a28e9ef21919e4ff7ddfb70fa5b5f62b3c42bfda25f5e977357ce9a172ccf290979c615ef29e2975f4d4eb35741d7c246de25e7e35785d176a4f2f08f3f1bcebbaeefde3befe38eebb7094afdbbdd684da05215f37eb411dffcaed69284ffc65bf85530755dccc6e6fd4ef8dca3f7a8a75b2c989f1b9010681419f1ba00c441d1803f08b3aba80415f96cf8dfe2f4bf5972d9e54e814f2123fb51aa77c868b509571590924a22b3f9c1fbcc431a18e925dfe730a5d94f774d2771c3167383bbbe47cb36d86fb3ee441ca9e683fc3d9a5f94ea47f7a78535b248267bfa0b38087badacb18e904964c440419f62cf7dd8cf72ec3d61eb963c79ca9fc7ce89723a2fffeb34b3ccbaf9723dc8b5e6497749639eb2b9d530f947b9b163dd5391d11896ce72b2eec62dc41b73d1abe1c914b744eafed61f45738229789f9ca4b515a0b27898c9031325f6cc8bead3b0b23c7c416a7b766735e744f58e1f65057ca23d9c8aa51baa64f1d4946b2ecc506edfdddbee85c6d66527441ad28014dc2894f5015158b9aa54dee6ea593311c0daafc9983da3189670a8a6822c50c61b0d21c0bd7340bd18285f0db34aa5b57acbcae58b162a50a1b2e2b55aa5499c2c650952953c010547eb9b1ae98c2ba42ca07635dd1625d3185758514d6155266a66d9413d191caa018af86bc27d336ca6d41315ef1ab7d7a28d336aad118af5eeda36ddf2dbbe54863bce257a64d2dc6ab99b90c8a8d98f48849e5f7e7eeee6e8e636ef599a0d62b595f80e08eff3d118484ae55bf2b59412fd60aa8c8ac210609a4541c57b27050c4c7a48eae64b596f003560b0d242a7725abe5f2aaa8a22b59ad1d18a1ce2b59ad1c7c1fa8db95acd6183404b96244163e26bb920503d81d5f669b640801c2c5d1050b5bdc1a0500ae64b1a0c905c760752184eb015517128f6cf260756165feb892a5850f6e77256b054b34151445e2a57e2510f801c7079b222dce7797912d02580a72a00326b078c1133ede84106f04b5a420018549132726640c602c8092c5092a92b0726a11e49031841428210624b06206a75ee2f6dbf88c0c225882d00dd0384305554eadc40d4480c1186274c08822a238f5dc0824e1b5c40acc6062861a9e8454230d1ab8e00a1467b04005270fc1edce4c3031302f105ee77f8424a46082842c24409da67d2f5d9bf6e721d350b4c08b16ecb8400d23a0d10201084e8003314e48dcb16aa0e33be40851a44e9de46e229a19d004143d5beb0b28522b2a52303398c3b280c12a8b1e40e17a5652743eab285bdccda5edb813ceee3da54ac3a64ce1296c7c413a48793395f289d4a8ac5513ba627151e5b2b8c8d2624589c2a9ecd1836b78782edf264ec2523098bbcb376619a22823e3e2e279934462d7341f24d214452aa994bbbbbbbb77f6dddc24cfde33adddddddddddddbbe7b7bb77bbbbf39d3d5f3064c8d0908c8cb3f37d818cc9983bcbc85089c5dce52e29248552a9a99a2a17172a3131994f9f49fc6ef2255f5b6b6b51baede0f5d2341fce9eddf9493222fc42c830998c6ee726dce40ccf638d3397360011a427db4dc6cd5438e327d1ebd206e0efd7dec3247e6f1c7602cafce775e6333a3953fd5b555257db247bdeec3bc9bc7c89f0bb6d2ea3936df21d3b8ca8fcf2bae49fc094fdfd3dcfefc6bfbfccce1679f2503309603a9ac08193214c19844048482b0137a1c75353a4f8e64fa6699ae68409579b2285135d30ea67045548d1a20c35bc09976ddbb6a1ba24533d2a6edb3625c0b89bf68125545b482743b06cdbb66d9be288bb6d4f37194cb1d3f32d042b849005ad5b7d7fe345dbb66d47f8c98eb0ca8e10253b42d06fdbe6841fd1c60ce8cbcaebca0bcb2b0b1a3b9a9835b1431458aea491c41464b4c08df000c7711cc781206ce30bdeb66d4b83d5259986149ac6944a32a26b22a35161828a938a83c9e988175881032e4c8046134554f14015265ea6353e63eb11c21127a0126bc2106a0086a774d031b001a3b43ab85bcef11d22e1bef9dbe5472f6602d1ca0f13c45871d2223b297d55803869d358a54d6d474cb4c8aa928ff80d01f95c3f546d1a9face0d3a6f149cc509bc6272def76d403bada343e99df76a4f262449edfcb5203aac88e0d29159ad89e90896fd328f337cfff59d1a651c8d3b06ad338c38f7eb268d378fa9115df0ecfffe13cffa7c3f37f0778fecfc7f37f3d9eff8379feaf3edbfc7dfeef4a9b4603bc0ccfffc16278fe0fcb90e7ff62393cff97050794919d1b52a32660cfc784f7d3a61186afb1a24d23cd1760359385e9f9c1286d1a753c3fe8459bc6139e1f0c6ad388c2f383ac368da4e70785da34f200a5b4697c79d1f383ad368d3bc0296d1a5320c0bff0fce015179e837c0bcf0f6269d3188067e1f9473e3eb3649e04f0fc60ccc5c58e3ad7e5c35005073c4ce88301ff85231fdec32eccd97a78db00d1fe49f4f137624844ac411c593b12f950bc114f300d10ff1d604b3e9e86d20c3314b163f8d6869fa1549ae17780423bd2b011f9196c0ebdb1e30c54bca1e143310ceda8c2bf18feef0011b1e313f16f4a33887f2acd70fa1d201aec187e1115ecf86fc3db06f8789852094685922da9607f07c8871d9f941ea601a506dcd0a0c213b15fc3f758c08f21638fbf3687fed801dae107ce8f918f1f3decb8c3c3fc1882335ac08faf0ce801c4ee008df765b039741c7d0c31c07c8f0354193e069b532b90df0182b1e3fd6a733698aac3c76073e80e768c81fe38c07d981f303076f4f1f5074cfd1d201decf8e4c71f00480c3f7e88cda9310c81791d7cd8b1fe01bec70264b0e37d1c20a3ff6c0e0522c3e703480f203e7afc0ed0b5e313202fc3024640fe5bc095c1c7efd0e3711e0c3dc6ee008d3c8ca6afb13934a666d4e1604707bf9a18931d11f0239b53634c38800af862def3015cc1ee008d398c05a03546ecf83d6873bc1bbc1a3bd6fc4c017e07e8b3e30d1b0f3f63732802ec3843638cdcf05fcc7f761cbd17f379bf03c4831d9fc4bc91156662de6473ea8ce977806eb0e3f7464676f4fe86071590c3e3b0420d5d0187ee472bf8832b8cc0df01cac18e4f56781c1450b3c21740013505f81da0ce8ea3cfc18ee0e3f022004c166c0ea53cbc20f2d9f991176c4e9d09e0a1b339dbb563f73ebfc39ced3ee941d462778046048c2e7c0b3687bed08288d4fd820b767ce15bb039b5c505b7230adb91274d163e0136874e120aefd3dd8e277cdb1c8f6707c877808ed8f1c9fc165a58984f6a698185df0142c18efe28f4935e6473b6fb0400272080de272d2fd0161e74fc092d9d1d4f7891cdf12ecf0e5027fa1d2004d8f149cbf3008017ecf82ed89c7a7976805e70e1778074d8b17b1d7614fd096fe33be0e870801c703072830d456a207213ca3c0da1909f210cf2a730007f431b194203f049001f4318e4878401f89a10860284347d12c0cf8441de1406e05f0809e0423880257e1280dd0192b1239f1659881d99a045fe16c220f609009e85300000b0a352d8f262381f48d8f23fc2f92b842d76d4e325fe9870da91ca4bfc2a843cde862f1f863bfec314de47c8e37b842f0f13eef81aa6f0a390c783e1cb7fe18ef7c214be0b79d811aa5fec6867871da552b02397507449a146a5036260b92884db182933aeb827840e4507848a707584da115fc084705d8218d52621bc77510d7dbdee5dbadc945cee75d884d82ef74b9478a188e3c0589b46a836f5ff5c1eed5cfe516ad464d47379a4ba3c7232f239edd861446dd4955e1bd273438afc5d072ebfc773f9bf222e3f88c4e51f2971f9ebd7c4e5980cc2f27ea2968225d016022d32920fe5a5afe7f3b9bc69619fb25043c2e724bf1b1c2fe6a5a0fa77a4afd865c2c51deba5af1a44cfcca657bac4f415e575798ddb0d45fdb6e397baecc55c563144b08e46c4a6838308d6e188983a2ea2a18b5650921f4877fb6ef3fe8e2c24e4422ee442d915d972fb51dcba5ddd2e179216b3df2c2be994b4b8756b1b59d32c922dfcb2a85b12aba44a8643ab2d96abb42866a25167c77a371c566e55a6f40c9fb296735147163a810775cb5c2e7ec92099106db176ac7794656bb8e4d0dd9ebf5dde7f9f7dc3bc07c1d0ff0bfdb52ea42d6ebd59afc54c0b95b49891a0723f5214a7b849b66daf69dcd0e61bef70ca512d661b4fb9d9738c12bad944a150a7ec95dca9aa1e162b1f1c1dcbaf069194724a3945544c6f96928aca9fb5d4a47472cee9a2262a6733cbe6f4efc6a7cfe9b2467b6f6e16227ffa9caea3e2885059caf7397d4ecfe4db74e6030a40f139e79cb3c709da2205a0cc368d3af3dddd85cc6f222800654e3b694fc7190f9257c335f3caa7508c32eebafcb9eb5a805d067962bacb0a664dd74c69a566f66476f64021c489e699d9c34b309b46e080ca3512b64d01fa80e010df2f79396279744ea317fd98025d79c0d5496ca1d25e20a8bd960c01a3c1ebf42d19b9bce42d2fbdf430fafad5328c5b2fd74ba5691fa863ab5af56acd1fda044e508481a030522feda5bd409f6e4a65d3d936d636dbdf61d471fbee6dbcbf0ac8d710e02f7939d2f2a26fb13c3aa7faa2af3fd6ab19a0e54737018e7726dac7672a25d51c4fc2615baca872dbb66d9b05a2b72f493a49a7854fe86fb449d3549b42eaa44bf3d2548f83a00877a451aeff9ca08eb435a994495b540a9d321ba4425dac45dfb27414d5a2ff4e9bda4ebf54ea7ca742b1ebbf29c1a550fa426d2967a9fef447b6ac3288536fd5cf07347cf1c40aac2fbcb8556e3f4975bb07b76390843be4f6c995e828dbc8204398883286665293ec59a6bd04427bf946a7694f33ede5edd6f146e5efe9721e366ba3721cc765410cb9dc4f776e72dc8f93bafb3667367f4e19659452caf9dbf4ad4ed7344dcb9a896e4eaf59c64c042e7e4e295d4a97d27dcee9734a167416906f8124f4d67bd3cf61e7b25fda9087e0a23cc7458dff36e7f662c3e8ce1fdd695f8cdc271bc83ec9bc4f502f3df0497b3e6936e59d324bbd14f29dd39dcceb2ca544a3a343a8fc5953e937f86d6e9b964d17128fdfe9783c8faedef89c73866e2b531174b577f9efbbe77e730f74a28ab6f8a6b4565250d08bdd6153b0248b823dc1eab02e3687b5223b53d466991b1dbdcb3cefb9da33e13b9799999f6e5bea6aa816b5dfbee68822a4102d152b42d6e040e140dd7984840146bb2adaba676c18f8dafb949e01a9263ea945d3acf492d662a5fe95abcd2859664a06d17ed0305a5db0abcd11f8a397273a0a87f0c0e8eb2fa9f6a507f0eb573b447df0e569c9e8abc51959ea25d6399dba8a5aaff6db6bcf2b5ef18a57bce215a3508c42318a51389f47b78e5612fd4d9b296fcdd4ec99aab9d24652cadda74d2df7219fd13969ef2ef798d69a4144643ad453c08178bb5108b04862054b683d2c1d60115dfe4c89a029a498fc94bf8240dee577118c015efee6a7cc510421de26a3327fe513f0c7501d67504a6701fe17227dd9b2fddaa8fd5206915706a09331e3f4699ff6691f9ff6e1502d94cf7c3fdfb3e8998f823f3ea9a57a51adb3eeb42e05b453663ed59d0dbbf3bdb16873d2df42bad16ddb32ba51ed33eab95a9c9b1a32c8fcd11d0d29c45f5facfa4b19a4359fd239272c282828282828887bb8877bb8a7877b6857b57775222de3b6f795cf64a37875eca08efef2f7172c367be86bf39547f1199dd37c0ff299799a7ca7665799afa60fd7a358cf483276709a20b72051b8d2c79d9991e14ac9c2a14bfda390cbfc923b0aaa43b3a30e233248bf0d52080e31dc9653449adb3128b1485a9c5b54791a250cf5a463e6ceb22ccbb22ccbb2d6669611c9946459b7f6228d0647c6e9ed8ae0d0ba9a0613a4b1b410525d4d1b69da74b1b4f081f6b5585bf068acfd6c559b4666829db4c99db8dacbcb9a664559d4b0ef0ea1d787b3bd4d17f199cdbeecc03d70436ccf59e9a54e087ea3b5cf64bc24dfe74a15dab7273aadf3f7973f657a271a6e21a97bd1cb7c99e0d39ff6c8f6fdf624fe6e707676e893ee6771bca4d190f4c2ffbdce69096f7f84fef6ccf6c8f6df665f2379493b71afcaf97b899f7ef6feb5412fe7210ed46d0bba6af6242fed204ff46d5afb91646b8bdadb34b30beaeaf4cb4c13a36b791933bab484f2d4cdef5ac917c4f51e271041b8dcee8370b99e4ba9fda21f8268b159240ae2762e57f43f00217aef455e7f8b7e689191744a18e5448e9eebdfa2efbacd931f03b27fe9410ed1f2f2e529269cbf7d3ab46594eb768c42895e498b8c122d69915ff436cd1f119165f9f3f9e3419e625e7e37b4255cd2f2312fb975bba0d5f5be250cf28ea2afdd59171005956b18454fe241ff63240c3e3dd77b30895f6fa4d77bd0cacfbb79b2c2c7609e3503d8f51ee63bf788a8a3589b46fa1a851faac5ef5e57dae4d5e7a756b21a52d777e37931aadd6ee433a5179fbf43b5c8df8e67c5a77a2febb95a9c5dd4d28f9eabfbd17b0f03f3fc2e9f59c2a7927da92f4fa52f319322eeef28a2c27c7d1f3ec0af480ed647c8777e46bc87b12f46bc8779180b84b5d4cacf16ef05a67ab0cb2e2dbec058227d61bcff7c7c66c77b4c92250318df147c864f724692215961ac2eff977298ea79b0368d9eeb626913b371f9b9c7738f777d3efc78f1f9eb617bd166292fa17033548b1c13be1c8979f145bb2443bdce698255d42162fec7485fe08f30e663ec102d1f11bff4d5223b96caf2ca3b03d4f5be61d7fb76b5899f5a911fb5d2a2c77d37de032a0d2d729fcd0ab8efc6fb1896998342f8ad56dae4597eea6a539616f9c57bbedeaf10be7896bee8152aea0763bdf95347b6fbd18b4d19c4b3b345efdbb3a3e88be02014237a1caf7545cf0223080cd74de14a560b602f3dc85f92c53c0ac80f11f31207c8db748c0d3fbf1de4c7fc0c2fc0d77b1c6ed48f885fd0f33cf98d469ea543e177dc2c845fd0ce980cc258eaf7237d718a8e51db8b491858c2206f27b23e88ac03525095e4e0df2f6f4c284f2d8cf2c270ac3dc291f27f08245cc227edb5af07f9d96bdf4d0b7b39c27e97108c11e1bedbe678b74a025f96ca2f9b3469c2a2498060802cf00420159f1ba01628f88011e4050a4974326c52fb9454b20f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f4f152de0e9640cb38bb3dc7ee7584fefd4ce7c5969b129c82e77fec9825adba4f4536e729c377314e41f4d634e7149444cd4c037498b8d44241a69bc567f43c02a3530cdc81b5960de6e21358eaf86cee1a263ead0e1cd3a28286924ec875d5ed4b17548a7220ff4f1b45dfd82c56460e2eb5da4211a27b9e832ae721ffff19547f1202d9b4e4343434343c3b2032b0e171a1a1a1a191a2d9b4d43434343d382c3733981048b354af64faf3a4a07b5d0fcf9f9f9f9f94102834998849d80420a9e8ba26aca49af72d1c7c52e5a2b89f42f8a322e43335bad56abd5f29f9f9f9f9f9f9f1d2f30de3c318a5352aa542a954aa5a2b59248ffa228e389a8e6f256a9542a958a254c0f8f0a5115b748afa2b45612493555aef2e1815e544e7ce929efec5849af594bdf0b3de93dd5494e72d145974971d7533b957fa39c02a03837edc288ac8b02b2e1ee99bc52f9352ecb6696657303d9a8fc9996655936a73b75ae45ec2edda5d78da1c61a59ac3167a6c6cc8a409933cb626645a0acb146112845a0cc23bad5ec60b7b7d8cb4bdbcbb5a89be72d1fbaf2453634337b8e547f14bdd544b68bc3685402c8c8781e978524add67a84054eb4b914ed6eaf97978cf0eabcccf3be398483f3800ff4465ef5ba55c7a4dbbcbabd977a86c686ade642544ff4e1fa3be03bfbd654a2ab74db485946b7e996cae933cba66773cec91a3da3f2b7cf8d47914a292537a1f2b7142dd1c936dd8e6edaccb23967cf39e7f49e3e7deca6774a0a7244a801c7e5502a372e876a9994e27cf9d9f496ccfdccf514ea64cc98633539bbe3a751bdbf3dd626da3fd62e8b87ea622db28713e5251c8f79891faca2bac7d86e5dcc63dbd8c1ee066b139636a5b6b08b793bd64379969ea24e548bf3797651fbbf8b75b11cab8c496db14185b3e00e142c62c2f5119322a819d79f9a71c3eb3740dd7ab39d336ce0c4063648e3848f9d8145e80b28523a18c39f60c28597a121e173e297a1e1b7f119d9aa8113d7c1b83e9b508499a5585260e04a2883065ddc9e2206123b1023083b18a38bcb1ac38d187456849093db3360230c2574574449628d55184bacd1a2c2648d570dc3074de62c4250186a14e1a565748ae08a2b65541e57b2b040c2090a762a0a57b2b00842a3eab8928545199e944aba9285c595af1cb77339d4ec17392bbe01eb929ce18d1845d5549726aaa74bf27f4e5616aa3b2727c195845712605d9277acdd958ae34a561640946e5a1623b2403d30d960d38cd2e2f6e34cc29d3f73c0333f64a8d44c6302e1ce973ccdb813071206be322cce9f5c73c719655a0f39885abe9dd3c8cba73ee1e432675479f21f6794199c1f290484a4ecc808cdd784cd2c5ac6a36c499777471924120679e70a02383ef36d45507bdeb9d333728cd59cd226c90223ca6bbe9c52e61d676b66b9730eddf99b96c9b469fe9409a24d9cc69d36a8fdb3455fd067d264d571d4350c7c799321552daacb10e0b6f4bb3d33f3bc95f42db6cccb209991d7807dc010d4fe4f34fa198ee6fcbe6f86df73a3d1e83f1a9b215454cf651251473f7f6427d78b84383f550a99baf75fd226d17b71e78f46df775f1846fdbee5b3a371de911deb57179f5638b9a3ff9ed5647a200aaabcdcd727398fafca2063fdcfe1fb91cd7edafa620edf4fcb82787d08556a913671a2b7e9f94284effcbe7c3b51f736bed13b1a8dbed28c429ba03afa916688cd9430783f8dcc1ffd177693fb96979f0ddcb7d8f919e0fbfd07d27422af3fd1779d67e9a873e76c516b31bb59f8322d4e9116efcb588c6648cf2ca1b19956498bee72e8bad0f5e99ec882624212b7359bf6166d4205c27fbe0d6e81c87e5a20b2a73a5f929b69d343209c08ede8fccc06c942c621848c1c1875ae7357fb6d8a3a92e6f77739eefbec23d2fdf75e3f474b8e1ca327d9a4704ffd477a863f10f3bafd2201728c5ab8866bf8e753ae79d9a6d1e8679bc0bfa28e464646dff204c773f8523f7ca996c8950c7642f81b6f305b528b3ab4589beebabf1b1ed5925a94361da5663f92e677f304c7f367a405c7d707c39796e7dbf2208f16bba5a9a84f6ab1aba8fed9cf2f07ff1a7a553a3b485b6c336a06869c0c32dfc3c942e673a8b19079a90c326d7c86da7ba1db39dd6d92f992bd3c795dea7fc97edeacbba8ef2d024b006a016a0152016a019ee073e373e3730395e58067b69697b6961997e78ef40ab589bed2b8fe925d40b8ceddfdb951c140dd015cc962a16e3f193d2015d59bb4a87d37fcdeaa9f6ad2a2b3151ba8745545ed9faa169d6caa10087eea648bf9501f9f16fd559d1264908905fd5182156d1ab7185db569a43baa36f1f5d7b866343259087f5b8d8530d3940dfdfcb4a74ddc63050bf969b1ed18444f8b29edc70aef069a4aa8f42cb7653d2a95aa11000008a0008315000028140e0a45226120089318e1851f14000d769242744e9d8983490ee4308a6220c81003000000000000304629635427005388f5788b1279b352baaf855ecb8de3d2027b8dc49b93bfb30345c92d784dcd649dc10ad7c600081fdd8461e12060fbdca32a2e657402e49a1a273d22450d92f568185a9af45ceb76392c00378a19a759fe8d95e59fb543ffa4a7402067dc957055f72d012d578c0e2db61b7d3047c8ad6b25e15d37cd404c5037404d67d4957045e72d21ad68ec1da623e8a6bb4af0464cef11d219bb135c11bea1b57d44bd3a6fed34466350c7cd8671ad86fcb6bffe1ad7139f1c52500f6192cb9f34bee6e40ee31c505966c9ccefc043c925102b6fd2b5d42a0a4b1d20e2ca5ee025eb6e687c0b127f01f9af94d6d719caa0de1f4c28b4647e830d64889e48def6a402b1afa5c7926221d7fb2640ef9ecdbd0b2259ea2c851cfb73fbdc82c29c448c7fd5b3020e71da0098a9cf8bc8f65028e290b024e895b6fc207e892c8f79aca9619b74b68af074e0c9b81f6862be49622d0bdb8632337687697c9e03a86af51354249e99d588d117ba710e87676bc3a309be0c60ea0c28a9211c71ca05bcccaa733798ee6c7fe0fb23c8786448784328883af815d0c0fb75eda467a4f90145a6689525de6d06e17bac0f5f1369b69146d98ae238dcd7d071157df87f2b54c263df682d13d8273a486fbda83261b3ff3f60df1ed4c5c580bb6b369c4609c7d30e1333bcfd29beb57c8ea0e9c46c02a3818429b12906d08b8b9ac846cc2e9c8a14e4722aa6c1c2279a3ed224c64ec56c8aca7bb8672171ad49654e85e7c32c232b086fbae90830c6c6ffdc40521c60ff40403d4d0006a180806b0141ce8080d100d30d07b356efd11f04307ff71e02958df996ef11e8d60c3e7c78671813fa27175b9c3f02fa51b6593937bd90fa45956b290dff046c1d047e3a6b1d5ffcd0a6eee092d516d39084a8065555036cab01803604324b5caaa5124f6cbc81e2200e38718609e9ebde03d346b8235acf8d8bd0df6467bf4c97def7421dcd6b35ccc0ae3bdcb1d987a59d574e99d6b4b324524d6b050eb6429ece489cb9f54531d78b42d78bd6f57233e03a6ad4c50aef12ae5abdf7cbfefec43f2ee71d32719700bacb90f05c05bf8d70d6e1d5b3af2514d7b8d12460de7194418b16520639aa4c1984284665d0a2a5ca20571862490a65fe58e9b2ca9d2a0ea66aac17e89ecacecc8cf5872dcd5faba0f85883628db9cc608a452001e019980d56ed4c21c0a36715488b23dd00d395880af4d81c969d5a6b7dc8d50ce67c65ebb2d485e99982be2f42ed213e8222ef0198d6c7a03b30a7d295b5f57652234e607d38b305e0cc3f86f8a091881f30d106add1e971a8063848b2440622c5372cabb13a99fdd313f1dc2689750f7b7ab724fdd602b8a6dbc9e1e503234121004efe52b8484c288edb0492200d27b6d8b78aa5e69101330b0656f33d97371b139ff39c009eb231f90cccac480835aaff2941e9288992814a84784c0b016760d48f0bdd39fac0971590e4a011257a0c197a24420fe99efc6bb9dbe185adec3e0c1d9e6f01c28c6517c10f17bce0c3ae7c397e3c11a158796516cdaf1109e139de13335d24d16d927d80ae98c242a997c5f5dd66de39b44a8de3c1e816811516150fc5b82b638b10a9a08a2389b535bffcf105d0c5d085a017bf44f04e2645cb21f90e8ac993f497fad19182d7c4d80b58a3ed329d7e7ec542dfd8c7d423854cf99c21fb21f43777b975e6a8e51615e4a6be7fe87d2aa055409027a401426e89858bc2c3353c5e7e0be5280ff711ec4b3d317e114deb7492cfeb57b33e15b74739d6397521e509d06dabbcd99becec062020a9da89626d849dd7226c6d5055fcf2b6f904c2bac723505ee8db065fa1100a9ded6946d89cce703fd8c2217b18952f9f7ced9aa3314437deb5bee6dcaae4ffaf6ddc67098c94301a6a0a20fb37b2b56fcc9f95f234612ee13ca20564318dc11d7f0ed316f8a0b562eddbbab4866ae122af614eeda5aed6d328ee9130ce3a4822bfc6bd029bc94eee2555c53ef0a09797ec349605d80ebebbf9be4a8b51d5007bad73461456df62122389ead7e56f79dcd703731256d82b1f4a7a7eb407cd0c17f65300e9baf0719d2ba7fdacaf1ca4c7e40dce8d963b6b8db115fb1abdf56bb538cdebef43f816bff928a584d3171e05057b759f555b1081a8d7336f5e1c12a0fe34896f361b24a29ba0efe6c59e6e124bd28b35126f53cf44519f358f1ba8a2670f2ac2183018d1a8bfea5935878fa1b6b086d64e1321ce1fe536981ca8d58c8d9639246b99e0c2eec339e681b8fa503c35f8b1fe8984fe18d93598ac0f50f1719ff50cc088a7a9ef35f79bde8118b3d57fd5a30351b22c4508e6259b917be81baee3db19faee513f68e75adb53f5f37e871ad0c241e7ff33983501a59d602cc506326e94d08a7937d21b5e3256571277e430c499cf1f9375e2864a750e6eadbfb5d8b50ed14daecf7ff49f5fca7b94dc5201af37642e699467c4f2153f861f34711d64623ad0c422f61c52269cffa77ff1c9bb5ec48588438c7df3f255957f448be7a96389ea9345cd0940092924bfed063e152a902c84f78ba52f1e9bb19d403ea98ca4113dd49db1379b357314a15109d61e7c6e358edda4d2c76011f31e8b28c0436453f0a7e505d199604e4f47960531a5549f36784d588228bcf776120f1df550c332aec6ac0845df67c0b38de1925493d2d528de7b9bb0d5c9755110b0f5099af56d0b742a5a42d1c1f65b443bbc8fecc00c245c52d540a79891fbd867608e570610863abfdda6810bdcd46c0dd57259edf23a7fa196a304478e0429bf3272a34e5a9fae575f8f2704ad19125a7de4e9e84035339739fa89fbb7ba652e4cfddf5613f08e7de9f00ee2f479746a019ba2870ec8697ef88851703a56f8afc4129cb125a9e488cc336a355d6dd1541c63545fb35dc63463986d1f1807579b55fb2cb83620c831d5520e85c8c9c833e64b007dc891e46f93e23cc1a82f3732b777cb0cbfa3c56c1c35c0923b362aa2ca30fef940f3fa1557af046b77dc5d5c4b166a6faf7fe56bf2cec6a3de2fc0857586a146597f6a7054b508aaaf8c51a7b073e1f58cd56edf702ec940f05b74e0b16ddb75addab4433927839cd6dab79ef2f4a8658b6a149e759877f244804ebd0dcc57cbd2f611a9302a2e5d84ec105a9cc361f474f581c9cd5ad4305005e474429d41844d2c725f52c57a6bf8152b6584f13eaf701f7a2d7ace25123ab3f17976ce183639200d3cb7bfeaaed0581e7682e79b762b855b238aa78b709c40e533e91d1c12e92b0d66d05954c4327a80135ee7e28953c8440045db20898e0412163cd8678ee51f2e8cf1378f2320b39c71e7f0016bf9c99c920f82280d944026d0ac793125fc644555ed0e9ee3ac367446edc5066bf8cd8e943e2ea25a0321b73f93530cf7807e4d778f90bc6ce53c297db26764fcf9fe45df38b2090b7a639313490e48fe93681c38d39e7e67da59fd12783fbbe88e7dc90b87d531c2003f2a16737e9074a1ecb6031b871995a8b7fac0ca8b7f2dbd3a2d5c0794ac0ee4e2ae7b441f07e5f7939f3cf51c5bc65e800f2f831026beccf5ee49f2314d13eb47f70ac4a9ad7dfcf6da6d008bf94927a2ad02055782ae4c18c0e63ce25c412e361204076f8508bc1ed3340ab5332b0ce9f025f2347e24db2165269093b5ecbe5d910e2920abc3af6c82c8a7010a88433841fc35ecef35047eda68904b1246cdbd9a2d50195888b0ccb397a6b8e3b1a6208c5afd14c5f5806ad5fec88bcd73fba2e3e015fa4c5ba030a2e560b2bb4a59cf15d99d7d9b68cf87cf36d576e0b3f4a15045200e87de12bf600e35b58672828d2802f2bbc62b6869813518dfd175e7b8e7afa0f905529fdb91520b35fbc787c97c389a274a687baceaa1755612b2803343bc7a3118867077b8f628b061ae415bffd4c1317dc6cb49feb550964ed324e6a13ee0ee035347a92efe58ad163bf54b4523bee35bef59e2a56f611a5a97f465e49cecd208efc1a0b40703ed66f06ed5d49b5428368208d861a37b08740c82fb208a84042020c25554e40b444882afabd0ec247135e852f27d44f0ea005c5a46a764bfdf363a318ea2cb3388fd7537cf4bf9cd622e33f4ae296d07d28b84e17a776dd92a46b2c173f68db18026d4ef9e82e29b8fbc81c269ac97e5e4fe5001a4d45b25b74e4d00e920073e751b5802d0814347237dc892698cac5c6801d203e50906bb1a2aa4a9f26a7bae322ee3e5e9abe05617bf99be85105cfc7c4fcc51fe48eec87af624d03e39107df52d613cb8a611f7314dc04bafbac4cf9e3383fc48b1194146a9c288f85af1173efcda4985859664a99c6e4a88b95035f22f10f9d215c600225dfe60ad9e808b0440c7a31e01cd2fc30988c0bb8bbd401512f3e3f8d17215722f5575e9063526ea3c9d4fc716280137d59cf44368b49996acff32d023d271c16540388986626180faa7199a9cbfe77dbe91864311b5cdd0a98242084e1120f239c97e97a4cfad78a4a591e573f0487ae329c0703e8a53fcd7905d5516b47aec01523a24553d665a421d5722b215b5a12d66fb88e71ec8a82da8ba320693020de7028f2d123de5183aa9b318354863ca7902ed27fa892a4f3fe734b12975d033683cacd27bd3cf35e9ba04117109b8c5f1a87a81026854f12050e2879b09c25ae7131b38e0663e482c073a91347edd1b570b6a8388154ed72ea51c979a6485ef795512ce1ac6906ed979850c534ed003985fccd90315d9fd92a5974403c6f998d2772b04111ff1c577ff708a768793dd34f5cbdde86c466e142ca1a514be930a67d1e6c6e54535f7526fac211358c5d9a5e83bec258c5acb01af04849fe2930492d7185db5bb05d5c4aee70fdaea7707d9ca6ac71b43af62a0776fab50e077fbad7605ff47c5b3fc152d8b00c7316e0f99a561d4889a1ce34298fb523c81b3c51fadcc98473c6972c1edcafb6e34f7d4e98895de22e455f35e552cdbf512e1ace4f7dd86c9550cb6e149116bc183ca9e138286f31540b9f54a489eb55aebcf90dcccd31ed569028d50989d6971e14f05ba4a034b8af16bd76d23241461005e94691ab8201a4da6d487329b37d7c0050597acb11ad5222c046f1df77443c1f5e227f3044370e0826e1bb838b2f8a6d3fa839fdf6c6208215f20f9036e76d9343a757cc749bd5bd521ef1602e3297017d6b046f603a18d743de86e7f573f20c0aaa88390fe01c5382b19cd7936572aa1dbc35fcf0e35f88522e01a515a440b4ddd48cebe6967ac1f6fa8a956f36d6a65b9be3ccb46077affe03b4ffcd95c0d3f59d8985150008d0ce38eb03ca0e7b0ca995445473cfaeeb67d69d26fe0b00501c2a52dd5d4a2298c04478b6803c239e43c40a008e40e7a3b18aa26654b51e51ab75e7bd554fd9f6a5675898713bc5625ac8907660302bbbb5ee25ca6c206799a199a0104caeee89eff90a0df7125b88262f0f1f489106734b149e31b66c63d85214d5d554ea9aa00240fa6b3bc09989bef82da93e7b3853584976370228cc4631225cdd08cfabb9df1914b30ab070c6090455be9a1d9353aae4ea42c69c689c14b898116f189cdd54aa92310ba859a11869e20bb1cad24942f9dc2fe6500026ce56decf60110f8d8b64d413b9d266e545d48f2b5d45eb8275c0f58d770d93f6f387649144dc71a28c39c0ade8cbff6fc9bd909d58b913b7910fb77f09478cbb0510eaff506468dad104b4956f48a707f16869edc8ac434a6c34c11c24052d0d51cf1d46cd4f2c00652281145049c9166d6730554d2ac721c65ec864bf7fad230ea2a114b31d04aac109e05eff68e501dcd60ce5e7d120a56a96d47e7ece12d8234114c896614ae81d1f2fe0d1cc30b9eb63fd737a5c74c6453f7f5946c0ff95a0315fb1c91d355fd68df29cc941b637940ca3ab07766b21c3e8560292844138936afb0321a55848f0cb42727760cf3a173d208900673b3e3323d67bf5996a6521f5e3f690779f9fd8d43fcca827b26464d2fe095286ec9f3b6dd02c4827c0b50ecd16b5c4df7870b8801216fe10630f767bbeba4d6142416ef1bad3a258a4bf6cdbf98008ec90fe38e419ed261d38e20a5e8c2512cde8b144dca3dee8765c0afa8d73bcdfb2725f6e0abb534b0461f151dcfd515ab08f1364d77c8f04170bce5c477505243c1ca85d90790276d46164fa25a7b5a699e1b6a5f3fedf6521794ffa0c0d9a53aad1f4ab4c37a3b4f2f474f215b0a164a2c8242a435356bf49678e86685412ea9c4efa43fcd753f4a571a0e4cd250caeb32c76cd481209775e683191ebea840dd85b1a4bc0f62a7ee3ae70c015f734c21592e3248c30912f0421c3454dfd163ed247ab889a02ca3ef0b2dd14c38d5924255e03d0546266f94ea4e55bbfba333c5064dfeef2d6b03f6baeb6d953ca2aa66f15851d0fe2cafca90d0372f2f0ac89eee740bb4c4db9940e0e80506c62e368c7569e84feff6e636081b3accc3e0e9f84a7993349de6845fbf64f80eadf890b1f53c4e223f40428b67b13e320238cb2303351be295ed050cb897683634ed9312b07d996887d5ebfe121af3c1f44e55908226ec867f949dba53f58211a1b3c75c132198ce94e0bca4b738512dda161a13c9b355d2a43192d952577a70ef646fef6b996f3f4d428ecb1f06f9e72d89d31e044e0bb34d7811f5001d49e3473cb02207dbe4f9d003c47bd28e01a3fb0da1d4fbfb454f638447d46688cbed8974cd1f00c23df237e5a7cea510c622109ed19103a10384d28210f42ee0eaebbe5cb821af349960f0e00d3699356ab3c7f27b560ec710a7ad7d02e4d0f1f23c0929b40ebfd2e2974e99beeefca41557edc0e75c465407f151cb4de33a93637990811462e17acf355fe370609337bf4452a398db5b2a5a645b25b14e401393b3e2d8a43bbd32ad4edff192d37f6605bd54492ffd18e70a5572c636ac255c5c87a36ec6b9a5b11eb889ecea6a54840e433f1a4b5eeb30d8089903f21e27483291ddd606635306df439dc8d6911f9b749ab91c326431ab373913103723063da3322f3b0d6e754b98fe81ab290677cec0caa65d62a0863159d9a72efb43ce5fbdae85a0dad6ac8a94c702ba5268ab898ded2f9f902cd0d7143f0db22a20379f5163064c7b281d662ce8326b2f5381c2b9b202b9e428cf3868c5e4027452bfea4a5b7ab617eef8a8dda583c1ab0bc44995c8b5066f6bc004aa22de2325fd419c419c18f1311ad80ef95de98cae91bf1c56891cda69b99e69f2c33dbc067197e32198bb5eefc8b78536eb69d1b531ef25b7d20b6beadf0e2332d8e2d6c9cc604fcd00f47fd4d8b025e29c131376fd724da1270ff09a3168c795cc8860d2de66b0365241da1d2e28aa6f77dd5e9628e7036893fcb473d9d46643f387c6ca02b1f8d4b8e37e0e3fba78c658f6965038b20b58c3828e41ba00ad6f720fcf0357741f7608351d010ff89b3a3992b0131d27b8ea05c531bc9ca67918ed26904e02c27675eccb2652612a9a2364d8b31173f97d66acc47c8507cb4377104d88988fc3ad1ff00de3d94f432289d426e710690c60d9723188dedcb10e5f48f0d69439eb8be0f5cfa57ca194123d7efca86cbbac85d6f6f90e0d0c7847a0d567faa1645eb69afda5dfd6aeb2b6b7db0e83652eb76f2fce0a1b0c17ff9f3612f22869bbdf3d7a8dbbc5aaf6c087d039c684a57b5bdcac6ab07c1aef429499cdde6e7e7ef9cd1353e1e486cbf59d26fa2105d6b283c9070e8c3d1652671c3484088d41ae6d3370941b41622bd84f88c3cdcb4eba2b0af1e5a70179c4ed9826309adbda7abf4c00aa6daf500c2d33c35c9ec8fb2e53dde52c47d9258791238fc03fc2aa4d9abf93d9fa1a9cd23d2efdaf8017449e55879c8ca77ca83d8f94880c7acd6c1b857dfc209a28292b7f07c79733ad3a1830dad17685a1db7da0b662bf77ac08de42341d40e08ec00adf1f6a8acd4cc978eb800dc9437a95e4d732186ac951664576731ea73775f547504b63417e5bdd1ff7a33a29f38c617da74e91cfec2dcac0dd5aa4a5203905919ddda182d5764f0c8f7410d2f58ca4b1efee25292a357f97325840a9f64fee456be26b36190d6ff82da931b8ed90dc2e29d6bea9e8a5ca268657c6b814e544fae13f7457e9c8be9871e2966a358b5947c90b0e4ef833edcc5bb24559ab49922a144815b78cb9c42390b87834b64363335651ff797ac41546403fa5845d3f41eecad216c10789eba64d8121aa9a2af85dffdcd560f3c01849dc876ba836c58ae3c85e5a59c4241a4c27341e9fe65c72ed2f0d6ffdbd93a9f7e2ce640a100ee616c2683b57364fda8aa566076cb05c007d9951aa9027f4b7a90f5bf59ce72bbc58066208a6fb2620d4f1a2bd47fdd41b3a43b3723d58173e298bd20de198c1168e8256a790b69bb406312943a86b366db7158bdc61e6d3b6ab03237854cf1fbe8ad485f9598387a64547421221bb6114674971051e9ac44730f9afc4755401b7da6b0915e83406b3c28f41b6a6c68656de5e04eba33fbdbb747f221441c891ecbe1de7e95cdfc6375e0352ddfc53cd7a175fe46c151d75ee085e60a6a2275faf98242c25fc43197f2d915cbc3ed285af6a5965cfab4f579b0e6eaa553cf83b763b632ec0393d5a4a2c40fd6a684bd5299b600af13cc67afbf8b395bd6a9e5a66156c6beab11cfa8adc9ca8998aba71c881fab58cb355a053cf2f93079c6e63c0dddd8dbf967e094091e2dbbd51b31e328db6d11db0262c682f24bfed33fd5b30d7364662a7384bb47c54dad18903b304779904354aa2ac65b51259822cf6dd4ffed296d4b6043292482db39585f27901fad2987ffda5c2d56c48e6178242e7db03bce4b665bf1a882cc8145044a3c380c2940aa38b779591df9f1871464b0137d9c483abd5cb72289d8b75f7d6298c9b7ce8d043559a6e65f6b953ae1eeaf347e8c1954d4294940ec92367aa2001438b24debc2891078c927effcd484b14742cc86dd87507a99548d37f37a748d5bda0568e61463a93f84d8329bedc81362514418bc01f14733fa9809383520bba42f0ad2834565e3557486e61f3108df93688d35c14d0dc15bd46d43bea338ad93e9d92d0d742ca3001362f7c1bc12cd4eadb4d917eb88f9e154e355a8e6aacf9d4d8d7d4207ea9412ca941e0512357d4d0a1c68d6ae6d3ac3083557680d354a8a18df57ca7e981148d2792ef25a330e5452fa9530435f1e46e9c5c3c989c5bb3b6b479e7e3c6c1bb9d7625f9afbfa43edf11dcd37e0263dde48a1b4dfa624548001be78e4a536fd524e50e8761fcf132358f692293c93b3c8b928a1d4597286c6a97c97a6594abb0286f4ef284afb1f949f147a6439af69aee61ee0bf46793538fc28f70bec6bc9afc2e32b068c54b1fd8f098212810917ca8332bdedb7c31cf131731bd9866276e4839268eb314c080983ee0b0b1e4399f9e452bf64ef3ca49335aed6276ae48fe8a4b7180514714de030ce73f4c9872536ff0de1043495cce4189849967ebf03dcd35835eb2a403909a5034a7d390dc76371822e38b93087f1d732849556071db8d68c18a10392fcebf59645a598e713c56ad59cf8525195cae31faf1ae49b7def50216f49e789ba6a2b9ff3d14b950568f81a37dd7a3c20f793446b9c257c416571575a774e654504bf960a7cb88ab9cbb90aad68f1b5dd6a4908e4bd91d339d8af0168e7796fcf0cdb6cbb93be3bc62b9397fbf5a2b28c08742e193d915295442ebc54ef018eb88c1aa1641e29606fa997c2b109e78011073597283351ba87f843a7ee0e585b3fb26f14f3dcf1402b15a5f1f26b3b68a8793cef477feec80176e81acdb2c97cf5aae9e0936dc38bca8984276e012cac86bb1dc521dfa33ff8c9c39f5331d8e24c35967344f3a52a1b1d0c887e84fe7579415d6b5083f9dd4ec6e8272ce7c28008631a29b4775c9e067da5df69bb773b60d5852d262a09a4945285b8560738e3ad81d719587eefd071b705dd538f085eb0440211feacbdb80f785d1153c56132f9fcdf70d05982dd2b54461683dbd6632aa7004f75129151d7e69e6d5e1f3f73c2d710b1d9e6d5c3e987bd75b92c9a582e7159aac191d0110d74c8f4306a44859c43c68796210e642f2e2fd2b29d5c9c80ee51b0bdd54c0e134fd6380d1af03666d997ce078475c4bde840c5fbf38b9a9f6918aefb10eda5b5cfbed0c05987a39d0d8d8718eea489762fa0ab130c5edfbd1ac853b925c16cf7d1a1f69d8db77e91f657aa2b41500f4f44c77c763adcd2344cb91b4479776dea5c08bbaba90f3489e24bc96029c540fde4a07a448e8a71ca890a152c6611dab4f2e88b1e3fea05e26168c4ea73d96936f6440919965880d6e44c8a4478f592c6e765e6568a1684ff07513d1df41987cb644f42f2cb73edf35ef28ac7a4cd285aba77cb70dd01442b6986d95a9a44ce7aac583eaa1de2e4d45a793d926694ddffcbff8155811a56fe7349763279638a0ce3128b9a079053babed56d7aaa765c5128711f981fcfc99aed0f9a728909b92961b7c59d0c11f17c9343ee5e6a80852ffa44f4dcf8883cea5a557a36f1967d488bb0ea2ba196430e0d42524b1476c63ec7cb0e3b5706d96a084e2964e543e0bcb00edd22fa97c6b7f16e69964bb2204a6532fbf2224f2ce5a86bef0d8901b19907424c56fc83232cdc838b90ed9367adce329b970167f0b6c1788de75dc03f517d03d33e16d34c4e57a31688aeb4084a55196e14cf24083c039755927251bdddddde342cbcc9cbb66fe993fb50ba1a7f68867bc126a06c2c35732713188ff47a66043447fb9ef26c1c9d6490c0e1c6d7bc3d70688c37e75add2fd1793aad20799cf5a7b7266ef23f2e209fa3f4bfa3b9916dc60da60526b8ea83caa56d3f42c356765b1227c67e8a2715631af3a7297c92af41bad9c5b1c192dd0788e2161f27058b31c1834c3d888d59be89c36edea535dec5c2ba630f93984c2f2882e8c26a1256adc8a2b7aa7dd1f0c30b4e92c6060616efa357d164dc2f78ab1d1686f580834d35541ec13879121327229182712910bce3aca5bb11c4a1fc3f85dbf17d2d5237b964e2ff06867e13a3482b90c78682071d2158c41208dc2fef12ee94909f1439ef8ba183e8793007f348717023eccf70c81de18ecf202d14f0358a3e7c2471171c94f9d1d764329ac5fbb78cde855aed0f5a046e0e10986508854d51967d5ce267cc1ce8839327122fc7e1ff771e2558c65acc6c54cc8952c3b5d2c0c8f3a25174e7d633367b08a7f6ca12242456ae6c9b8bdbb1a97517b7e1c131cbd4830a2616c2d80fddd846d014a600febb4335972fc3d030f025bd8035ba00aa5618f20b2149050882ae31c6fc12a24df9579fd2c826bc0a6681de671b2625350ad9cd1dc046d1170836142a41beb3f1749a43b69af16f9ef540bffc4b17781bea7f828da4fa0f7bcd0ae5463d67fec8b7b393abf93f1fee681ea5b95e076f18b6e6f2209512749684c3741ce000f3e23d1ad4115be27b9ef2a2c819f73bb7a11de84300dfa09d7047b580412a4848f52b297da7cf8a23d10346a42a4fdf97c56d24ee8f7a3380368071efd68bfe203ca6c586ececfccfafc4a648981620a6e514b020288529cf32789efb6ca37d54cd808a425b84ad778d50505368a90d76af48645dc7a72baa3b172b15119765ff1861e69830e967bcc32666f246f4297f88b56641aa9dcad76a73a0f4f07461502d2a150882e71d62cc509d9cb83a39ba74c1948d12c8f4e9980da7b5708f18121fe0a9427259e730014b831f9ed5aa6803a0027da0847bbcd1417f6ee20c96a1abe0a64f56427486b46a2f2ba0c5cf6667321c01471071b497ee7322a8722f160ac1d3914937e7ad22acadade0b56e7429270047349cd60a3bc869febdbfdd70026147636122ebf83f5e33cb99dfe00bb5fab2ff2ae386ff77c29350ac15eb5394e94c2f110d5c1048ce3069986b87796c64a3c5ea5c31aac9158d34199074a48f473569ee556e703f40e5c6054b324448976bdf7d61d10918a9e52cf8a8fb847512cbb046e2bdbd56860893478acc769d1675f6e4ff0b989b83bdf6901a777139b931283c3e3132e6862c2ff5c455d142a4b512b80ed8a05652d51c3db763b4b6141b39a75cd50c55a3fe46032918001722b2b8e3359b821bfd497fdf2400498afb927d943ed410b62f5c3bad93c1aa52b546e0f1584d825db104414cdcf8c410f347abd638e414e4dc2ae2f44f08c4630cd201ba62b7c7689a80a56f484e389702069372fe2f7d963a7d856cf405c49a9ed8ff67bd63bf9957f535d046fcb3f2dbdca38bcb424b51006b1db9070e5bbc3d66401ad5f9d0039ad25cd45a433050f782f199384958ff30245b79c5c55d28f44199ed50a4994c4dbdc44cd99cf28624232b6c08b65bfb86e3a450ea501dc4cbee5a36e100e1364383e68df7cd722c1beaa9b3ae73a3bc98071972c6f778e7f5a5e7a976eb30bc7c32d7aba978cd89cca074b39c20a20d6a4a53a779c881cf3b1771c68ade8917d7e973ef375b39a57298b38a330226e9246c547f919a8f01e4ed620250c87d92ba77732ad29a172b1dd5d8ca90dbd6c98a7169965832d130ee656b12652ad757df0bcc848853395b9520552ab05c016272a110e85ed97dec619d2b58e16cb5249c8d732dbc05e02a9714f474c2b30a506299a0a627d26ccdacbda19dfe8cd0170f7a440dca8a0a3a1cb6dfcf19fd6c090fe695a3d02b75ccda4a05cea88192d5a338654691dce0e344fe2effc225af73fca2a00ac25915cf211e03c4e285b65fda4eb581afc7646a4abe9d2376faafe301590c68e499dfacb5b9bba0976a5b378ed51788f9572168e244a6a86168e00a43bfc471a839563d798de4b64137ada7286fa2b9950a08eb863ed9ec128a6a6779bb6d50ad690a76f514b4da99a0f45d5cf78eb7c5a76dd5209aadc91a2b9020fd5716aaa01aa6f0697051760af384d32d99a5eb9991b747875f9cf0d078f97360f0d52a025a89758164ea6dcbef991036b024310d964e75b8b90e0da20b26a74b595568331adc9d1e3bb6ac4ef9c011e84f2fe14838fca7d854ace04680ab1b97883ec3dad06f324d87b5f66ce074c630174b167e391318ac4b114ed00d27702d071a7b8e44f75266e24eb22a8c4109b12d72be69f8161252cd88f3e8a4f1417cdcfd396f411db1e7cb438b1044c3ad6be69ef0539edb271ac88d1084417a5039a218c2d69bbc88ed3551fc970db4946a8056fef659bfb9198dc880cec0e6460372de61bb1d9989dd195679d8ef9ed7c7abcc15c97904e3e3d9d8045773da788e913c7b3e7dff409f67da0ddaaf67d0d0543b321ec73a30c801366d9768d1d27ef64381b030cdc086e991bf7dea6335d83541c936d4d808a366d1e0f300b671acf6d1baae1b3e26d9d559546c1b67803810b9516609bce30f536d42b314d2a9bd682ac46af711bbae8fbefec716aebcd99b4d91de1ded870b7757260dbfe9b19ee532552e8a3f59b069be529551e1fd2d00f6c8b72c0887ad41f53456a616fd332f8ceb36235a6b4066b38b1bb2e776ee64f1f7e49e7f531045e17212d6061a01a4531742878a23ab72c778ea9698007826d71a23fe66dee04307d473d1359396865a163209c3fc3594258e94627c33476e194d005233a90774a146f80e69def5a2080ba0ee415d8c4c2a01e2079687184bdac8e6ddb90a1f86e3bacb51a9af17ed2c3e448e77f898fd7b3a0d3349cdc9091161a1eaa03b71dd8d4bc308c9a85221b0344c4db0e851f07d1f0cb21cea29e7161cd72b8637d82e2d2ab70dd52037da639a0007fdc22e34b32c2c1e57bc9ec30e56379d66d0befaaa2a0aff338b233f782cf288567f7f7cb43e355501cca3409e240a15b62108e26452c433d8b71c345a037200e4b433e9e8654c9ae40528069214963f9f006d1b4538364ffd6f96ec3a10384d5fc699ece776b54f8b850498609da27535eee1b5a3c063301454cd88d5cad6e7c36970e1e569d3e440e4b2b995cbd7c0351e49365d18900aa4a35103c29f968ac7ffddd6698f94dc38fdbd8f769e955e2af8e17088ce0b60cd0483cc525c70b0e6f24de63fdb18fe134e19836deb6523ab3bea05b7a5e087590c23bc11e977407516ce2e4a4a15ed6722d08d825faa34c4e5b3d2c80581e33075216d8243eaa43d959aa103ec07ff7cd19a77cee4db334af95956a943bd4a0910d8f9b0ff0d3618e69ff8e4651d59341c5fb057ae7e2b54ed2b0b413d0e56886fa625506371bb7af5d93e067371a65d2b3ccd79644fee658940a4645b22746cb3038998405c566026f98fd88b5af67615be9e749981a77691b4a634e8889c6d81db6ce20003de4d219c3c6bbfa4cbc8b1282f19285b93f837805523a3d9c636cd6df18e4b501ef632ea75765530ae25931aecbb5e74846b760e529e9b744c8809d3b177be35a5d81c809c8485781e144ae56286ce12afb08f8f21eb7485701de152a789a25adb234d132f591ddf109e96f3e0b97104ec4224177604b7017bc75791608b8a0115bf992bfde243a3770eed1064c15a4e4a0aa1c89253e90ce303d4fce3f9ca0eebb0a3b0d02973a32fd13f941cdb09a784b52801f9c589f963348418a768468919c43e12c10b4e1926200ecbac57426d4b62554d5a657c62416c6fa20b8238bab2831d7887565d21644b7297cf446ae04b289a30238db236aeb25c5e7b1d605b80ae1269046c2ab6747709636b2f5e630ac4bde4371df2f8ca87507570d1ffe753d68e1ad627aecadc667a7ba7e24c72fa64ba3dfc65c44991c7b2c2231b5129314cf0b800cc718b8320ba21ca825eea4798559a8d3516cf93543877e3d8445fa465d64c4e4585cdeccb324bca5553e10d711e7810eecc1f770e29a0aff82320c1a382e1dbd6cd978e0acfa1dee90f67d7d62f3aa072a692092825a7013b99229cb6c28d8d1902248bac3626b32a91929f2a5d49f1ab055830625d6a075c42204485841fb641d991e4b412cc619d65e4957952026bdc905bde794c6bbb727cc77c0f01a990c614ddd286f49852dcc291992524a613e137711cb8e24f35237f8bedbc441d9c759971b5c2421779e23e2452723522d18acd2fbaaa04491e71488e15883fea74cd5b09076e5cb8c573ad9bde90eadf3050ad4c5386723c94e7b12ed7c06a32503030fce6c24704fb524cbbd1a84e200a450162c0902b5082121d841595dac2616ac13c85248e59e1284a04aca5a7c589e9a2754610e80dec262cc85b5d074e0e5fbf16ab3a122c74a1a07bfe777f9ee0b6915f176c6286c6176ae689de7b6a49a944622ae658338398177745c9a6fbb1e1df308230b5a7268fd5939e109f58a7d0776122d56ee732f4f76018ad06930d7210742e75ba4a41f2a319e901068bbb9408c45d13d94c9e1bfcc962c3cca28ab90f2dd905e849ecf05b8920d102cee8e97986b2c2935451377e621579d38aa956ba2ad6f72257b3b28130fb3f75590b4a9cb7ee4a84a4ac08dd18dc7bbe872727a80f1c68005e999fd2eba614b0b9298ee8e1ec7485ac5a86d7b3ef03880f72718c3dc36d9627b7720f6271fe8f24756c53542f1d1759a329557af8aa25771fe3d3fc40ba3ad764a06c78137dae1757f0ca3b516060f6414958f0584c677a0ee067c94297cf86332dd626ef3df4e1299a327ec64eb58ec0b1ff8f20650087c959ccf9eb6cce23a53e0856d23fc8f6a40b3c45c7865ea408ffafce2f6639010dc73c5501b442b5270cf935e9eacd027fc2aacf0d6be6ac3653c86702c36607899acd4a5d0daf560fd34e1c04cfe9ef18ff894af8f79d3a3fe49a70ddf5f175d439990c91d10bec693eebda3f7443742acdfdcc45e569b39085623dd42bd2699a52dd69bd357fa31a64f6008cb004943d0cf9c7f7eb22e49ae2180a257e8291950b0519d580cd85575c3219981833cae73f16433ed4b0bf72a9f4abe554068500b10c3c542bcb93f31a2c72b3346f76f861a0435f902bfd4574c0c0116ac68f100dc86723fc350a84cfe74d5a4796fec66089121f4d1a7ea0d3fa8080ddee94b9c1d841ad2ba4fd58d4d22961a313a00d8cf2c705e587ef8bc7c999a3744c495c02161e1827cc1bfbf40ac4f8d4ca23235206880cc2b00103160b9f530eef3c3daab1520bdb9258e3fb0eb67a58d72b46fe527b512bbd42633062b7bc10ed441403d823f0646bf1c054d585eaa2bc6653cb15ce6ea4560ce4eaf1d95069d627dd4bf1dfb717bacdf6da6ba0f22394b6f23db34afe83007f9512169e224196cfa29b3a5cfe11e1ad71f9db1da16efc9186baa9c89e81e7b9450f1b6c1cb9162d7e17e18e4eefb9f3cbf505c2fdf7972ce763e5e1fcd4a6ce68cd150b7f572d76d26f90ceaa74cda06140f241d2515c4d828501ad0366f4cf2bf354125a9e697c240d5279bf60d04d517008929d8aa7da0098737f4444a1eae492bca0e68809be569823f2754eb9094e0c1bdc49951c7613a1088b42a9d3c4d09ab8fb130b6a8e0b82277089d34a0daa9ee76be8684219516fd3e9719a5c4f31eec22fd74b6b03879e8a23a792042d864ac8b22a7427d66345a5ec0887b18857eadb807ded162ce6af043c6a581fd26bb6e36c527f04210493cf40dacce7696aff43435b50ac92710b932d1bc30bc81d4a86fa3a27691e4ad5196e80b4708ba4790d1bbc9bfefe8a50b097d3937ce383d8b02cca1e5e42122a237880cc52a2c986a8a4f0de0a076541874e35454bd4446685094cc5b461e413a9c47f46ecca369e852689addce5fc075b0a5edae2888e364d03ec4db01eef81a7abbe7c4430be31c874f387709523e754c26b8771441f12a7fcf8e16271d534599eca005fd7d00e34edde2e3c2f0c60702c8b8c301df9b62c9d7ea20533541008931add912ea371121da56ba4746b6397edca1f7f4d831cd71e0a1067ec1cf5a78a3835ba6c62849c458bde48d31af003e2f70edc4d15172863d34cb3f65ea537f06f3d80339286af00c6c641db1420892e15edf4685b2ad48e588ce4913636ce9fc22cc3bca62f36a4f2823df9d3bbfe4ffb4ad614c022b14ae5a5c524293d801143b41e06eb383260b73883a817f9a81b08403719eb8853c105cfa616dca2ffb20332c576920eba347426e79075c33e13295e16f791a08a5ebe81c7260ff7cc7d9135711ad2bac5419e5224197912c1b5a56853da1336299c937a90ba8c936c286877d4983d6820c428c0fbdbb807004ed60510d72175e9e9aafa1217db8fc2f4cfaacab7bdadf517c4c7265ae7325b3898072e8243862041709374a50aa5bdf8b1d5fe7ac1a709ef5b16dc0da0ad1028863781472214d810e9c7e30d1992c6242fbc0c36faa23ac4c970ef3c7b121afd2c76290f8e32b3966848bdd1997697cfb6c3e2da322dba271a905d6abc5dfb2dbc088eb6cf5283ac4a8e54900cab6ae4246b89839d622c89669d28ed509846686a2b9503d8e7899ace5b56d6d12f0b6e7d756a3db1dab9ce25f47ddb84511a451cc548974392fa78f28982344fbf003a7acec775d82b5b63bbe72fdc460822c2025e79dd2ad9b14ae00c85011d66c3ca4ab5b43194e88446debf6c884c41339334bfae42a5e07bb0f4991ec802edfe9ff77139b8a4276f31afc21e32e875494a7f77b641bdc9376f9230b0a028468150b2f8126da5d766e5af4b2ffcea91cfe8421cec538926d4b69a50b397823a6d3ce37ac63906406658c3e2a4aec246e88020bcf5929927a948bea7e79cb8c4d08a739e21638398c3427bc041fab61c38d570554f805e64716388c4ee8b920ebd8ef08afa91b458b168e2c80ae859b9e913e1b855021bc04343ee2ea876e3c92b45b20721996759f5daca3af3d2a68b1848e84cdffdd75f747d09cb768af2c881f1da13356d7a8c3b3d9dfba1c8c558f800ebbd31a4dca6e8379eb70b714c5a35ac38f370e3a87ce87f003aefd374f7c700533360dde9724fa718825b8d14ef3c18987d2d3730126ed611a1b37bd204dcc5f10c5255507f9ec70a08b20528aa8523ae7eca47b0cf6809c433dea7b0d192775da8400217704428ad8341ce075e8ac771ec0914e3358ebc1267863928f308e51921ac5c625a96850069c4e5cec3484458984b7e9e144934404ed2b864d846d64a5bd75226cbfa87585f80df30c49f28ec252bca34a86320dbe11edc600bd4e8750f3c94c952a57f922370f355903f8963831c0678f69068c7ee4d18b9caf35fd89e95a3cbece698886998e81df433331588c6cf01e7a2f03aaf4f183a37616617fb860bf34e28b22113d099b8f0833351cb57b225c339d752e14fb89ca08f2320024469a58983d986e79a2c91c46d23d3483af5a38696bfb69e5a0acb95aca29474351f6a01cbf67999e6cbc0cf46a617835c29a02661815448b0ac88033503f3663d5fd5298d0f9dd86fb0bf3a015966ab7d6b6db1975e266a1ad96d6f76442272b69a6f27439ce43d2a21d76c913010e47a2ce622cb66c973c02863b78dd8cd5a621a2d2f5581f97442680fe87d4363f73d05531b7a50a289e3ca891bfdd375e70ae5e18e07398af8c161c677d100263e1ea99f77810b52b44e587d6c16c6a2a18fc1845fd91fa5a97183c83be2a7758ad90a740f1118eab04d0796d6429c27fe69d231cf625a85f1c62bdbfc08bdf66ade919b65827c7c58ac60268a4ac3714c551392185fbfddab2bf3e7d388d5e7626a0e991dc16984850d8fe3639954ef29900ddd7ba22dd3be3b27d30cc1c70ef23ddc213cc0921013e4adefe817e9a44cf0dd1dfd2eee1b745eb824a3633d23b00d005051842f34fd22d531183500aba3670f254c844e0d2ba6633233d1e98c3371847d271d5a5e5ea22045983fb3cc7bfb42564dca963d1ae3c16680f45536146fa1e7bc7cf85ee0b4660da2be9cea9a46924dcb3d5d38022f7a02807563a57e5a08ccf512e9a2a66d3b98b32e6327c883d1e25ca26b1c1892bcd0ba9c51fbda3a1d32a1d8bfd9407a4f952df00000f4f44938f6c8fec8b73c5ea4119a85c1722faa1c3814cc4ab6cd0c50060054964906921bd7d6e54dfc7ea301ca50bd9659b9035ff29f7f4af4e4fe8aa3d29aa5ea52d2dd0570c47dc3e5f0d1956ed0f47348dd8119b700abc24e0c4a9d6287bdd7d071da654507088bd989582821f10e181a0d8de3d64cabdb21059728c2a7567dea80a60b13cf367f5a7406c9496466dedd4f384a09c0a0c6b135d8d17b5bf02c1162118124cda2dc2e81551d20e55ea0ecf67d8225ba5c1f23bef52bd7a90aa1efef75406738f5eefe5e731d4250c04fff6a986f3ddeedfd664361084bbf816ff2d6dd9a1a4332999e9bda02cdb84c08fe86fa52e6c0341cd5c6e9bb738f0707c2f6b159978d2d14e1362acd899f20c011ba43a79f5606320cf81a7f2d688c35e66727238d62307cf8020bac5d9416bc6e85a1165ae26a08f9a4b2e9bebec01ef6d8525e028d1508b507ac7aeab0f0a0d98a0e01b4fde4b828819d1eb22468699e4a62d11983732033e66e5d9171a766503acc2075f79eabc7785252ca7ac778a2cd014fbb47057c8e6c71897a967a7f5b4f0b1db889ab91e23ca6b53d11cdb6d1987cb738d841f91345786cea47398d19e080659b60f6a0ebf65242ebd39b9b9e2e8e269aa41a11e6f0a30eefc61680b6bbea3ff0af5d2276577e89f9f4a1d11f577fb15b082087893ab4c3635fbdcd87635ae7728b21204bc0d7523ab5bbeedfd06962ea02a84912a21b0270d625bcd054a01a992def0dfcae7dc650ec6296494e9e685e41bd8d29da11a264fd36a2996790896fe0466d62b4fa132d3cb3f8f096716cecbca7ca7f8914175c426fd038e534aca0ce42273d20e9fad511965264b7524e34050782a02a75c536a78cac25f32280fa962779d8635f4b7a255103eee51d9344e119d2b39920e50366f34fd524fd6aa6a1e1ba2b4f1b14d9941e450309cb2a61e980f8a706c25ba491053a08127ec9098bc365738ea0627c47e8894687d698cb3226127b3f7d62a430ceac22970dc48b8be39b26d50f300a234e9f2e32756c38acf92c75b20b5a44b56d2f5e0e61a5989444fb94e1ee6b577125f60e8477b87e06107d7cddac1508f71b886d5f06bf3ad673a698f542254b0369d99c606171c374e87b1e08942b1e309ae2b04ff20e40aa1dbf505b5383f95a5d2a2a9a42c9023abf01adea10bb92f0df49433432b1e1cab3b8385dacb6a2b3c9553f858134124cad194d200f60709515c5a41e2012de6052e138dc633f4a23c578b486a3901f082c3ec2e2d2db92fb8b424c084bde78c86cd60b0749b5930564bf57313ddc67cb2e16e937b2dea5a8dfadfa1a332ba26d5c3a7aaf9f8ada6e04a3e7aba811949c7e2bf828bc0b25911463cd670cedc989a0e3c0097ab8229bf313aac1c94b42b0f4a5bfc08aa68a5ccf295b4b7447a4914f69e6957344ccee8d067eb3640d2d2ecff0a372bf9624eb85f26bb79b9134f7998a4ae2d49c2d44064f22325ab610e7882e0fd2bf21dbe97703a956debc0be34ea087eb134d8fab58f284f618445eef5818046d2ef650444c1a0c41a0764e8fa02b3a8eac08752962ac43ea7781d81515a9074585483646fd1cc696431736f79bf5159fd799627e3111e10c1d1a805f28ea3e63affe36afe2560743f88411e5e85d647d5751b40fa900eec1170070be3bb50ba873f53f2a122b0a16d12d80cdeb135bfa8c8dace563e06faa7219c2e77fe11388729c3da1320c7def6ee5010864a24b4e7d48fc55e0523b3b71b528fcd89827f68dd5c887ff76f12c49f88cf19e1cba75e9658fcdc3a92fc8e301d706685e1c4f624c36d836b581fe42b11419e64a5f4740af47a5620fd14f26d44bf548b3937dba138a23143c32146578e91281df81beaf88fea8318da427e0f3b7fca8ad9f3c8b9fea3ce18b90f7c49efec54d364ff53c80ac5289947d78ecec7c55d3903decdcf40c313617a5363dcb138d668dca17190ed6d89ce287e35426ffea389f30cf92b567a53dc8b9d39aa8decf8b4a9cfbba3b8bd26ff94fef60d43c4b66b3d851fa39dbf41496c420c492704e876c012a3e0526f1ed82d7609ffde8ab253f5aad380bf1a7c0679a313bbd61e56d6ee0a0dcb1699ba5d1449131871a230e23a7269d52e47e9dd7f735e2e791a1662f604444634b16b2560cdd22eb946f13ef17e719a83071ea11ddf0092a937d107e252d4ca996bea6e479feff98ed592b6a0894f58dd26b00b7224b756355809586b60c9ed814e065da4847b092f0623b1c87b0b2f118e2ab825b27a7bf54233c03f09d2205143a359578862e3b4ba0e3007f41aa15b93f787db545c14aba2e1d370b962cc6acc594137857d4ca8acf7640803a01efcbaf0c5436c7118332ccd434c4f67b6688b4b57fb568aac08470f861f3eacb0e781cfc564523fcc66c215f266a80feb7087d19b25844e2c414c731aac6423a414e44658afdd508537a0fbfdee051cd1ef2d256e38cb25fab4745337076b007fb0f871130bb8a50ffb20306e09918cd9e866d8df51219c600bd0ae54707c3d3282b29d8593c8f805091cb1fa2bf58b001df11d809d482c2e231d7069882c0588629770c68632401bbf837d2630c4aa0308b04e38a753abb40b83f2156b47a0d6be10f35befc7b4a31173480933947885b6b6ca91c4062ae685412a26e4217d5770c36f99a9d167b2bf93d769e648f590f2ee7f8cdf405728e7c1a479d58ddc440be4a606d23cfd16b9cb9c53734b6705b6860f2c3672962cca8fb85b6ddc50fa6feef985103621f4431f613cea606d5169d5fad5fb02bdc9b415d8bd55cf502fe43a434339ba1aa0ac0594d1b73b44f61aca2bc366f78012e9f3f661c655aaa6115eb05ec681a4d6a35db322b491d85e772a8ee1cc0c8364471092ba60d43aba826dee048085bc79d18464afd9b09537cfa324358c6043815bf0f030542bef8a11e0459dfa441919f6d037fcb682803b79151f7c2b2397d86a5c7450b8a8570edc67ef23bbc2ef907f0a125dd0a288752f20021c4b4b1d27ae61bc07aeaa6a0dd9dce76c7f73e535a02b2c3d85ce2ff07ccc1799374201421c3f98a0fe75d627ed49ced9225507ac97a6c46af35a7beaa5893aeeea9d0a31398950d985982528ae38d2fef3e923e11a4a16882c15662a861d30676f43a57632812f9907e880f77ec81a8ae2edc4fae63f8e3d22a42b6f6db4bb8f3a1af5d1088decdd7d14f7b91b684a11fda7bb699686e671f8d79c4b434551cb35a0bcb5637cdfee97a452ce80517a7a56996e06e1b29f13ce32c52b511c1725f1f4cdc956dd78e1dbb72386741fc8568054e80e8554ff55a165a49251c9c180c9266e04defc15380f13104c51243a7e2a149bfd5a1cffa10a0662dbcf4f27145d3f64b9ea05cc917d2fc48d0e3c9c8509d7bed7236182fe0d0039647670fbebeeb1a90683b62eecb5a497c8230fd969c877e327e077570fe778ce05ee89024b18949bc7b78ccf8b4354b2b730e90e8887eba77c293045ab9409541f081dfc91fce4de0c3a587e66a25910f282644d4b8cfe2bee683bb103ca41fcd05438c450b6e829ae325e9ccee08eaee3191dbd9d117d98555a8e34e9a2fcd527a8760cdf2fb75a9bdd34ff9ca7e8fdc6c85b7ab14938e4ac063e44c949e81120c0c9909a8b034ba93307423fc80401e5b321944b363c8cc41f3031aa7d4b3ac41fac7e8e51a6d66b653ed1f5eb4a84df6cd11896a621d093bbf7438340346926f61f2165f62430e7c6f40f181cf0dda25a0d8f367cc441dcd3f1c78516f3bf66327b0b68b954d5da411c1a2b8fa46d623e80fdcb1a7088bf5069b63d9204565aae4848dbbb7679c5c176c337230d6b4a644a44414f2713db59062cd2013a5095425e60d611a70319dde22c2ef3d5d1838b1fb6274ad215738ac3a4148336254afc60fd63bb8ef3b5c7d043ef9fead2e04fd1b2038be4d175fc61c7aea56ce708c3335d287f70d4a425158ad096ec03f8ef91511322f7de5bee2de59652269902050405041504255f4df6cda6240b67e1ba926fdb34534916f287f895f4e092910d15c1f540355ff60701f1166f6493bde6086fb9de1f64e32dd8fb8392f0162f475ce5fad8fb8f6cdaa55727904cf69ed57b994db431379becbfc9ccc8cfbaa62161c3929749d10b8f980c21acedafe32a1281d2abcc620fca3f494412a15c192b44f9278948228852652653e569a5547a944759216d472ed44cee0f21fc97e8fed0b723d723c17f71d8854870adb67a60420f5cc2919384d5dd9a11d7a6e196bd357637e8434b7e0f186b5bc3f825528bbdcec135be3b71c1faeb2fd8e325566c2457d842ccf0e7f390997ec43a62d6d1b4c26b0737420cb7d8628b2d72f46abe858297a33f5a9a69763ca4b6837bec95dcff21408598b51f3513f750b39dd461630e3dd65daadf3063dd897dcf2b780ebd15bd6d8d013d8600820312846842092886c074b384be6251e765b97e087b32578bfd4bb421833a518e2c9f70ffe96e946e599eb9eeced42ed96ffbf0352c630db97e976cc6ec553b79438a40085a29fbb62f6e97d07bbb4097504781681ab1fa5cc24b11482af5c44ebbb4b7bcf87862426752dea344c0a033ff1e3d22c787297718ef9a29e55d33bdf8f61bda44a1b308056ebdfb87f4de85f26ef2d0ddc543cd540283e4229fbc774fe4c97bde12bb74f2b0594e0ad01d80939fd0c2261aa8d9cded6cf226a63ff9170f612ff42a4f823d921fe92025c57a95d1c7781bba5430cc2a9d4a0c92514cadbc4a8763bc1da9fc4833753fd24c2a3f8a11c242dfda8dd0d7b72823928ac8aac867452315ecc12ce36d4bc727e2a673bd9803642627a2bc857efca8a3f2f1e712ded23d7eafb2bc378394261000bc3751393e9d89b5de4b22d119957f71bba9bc093ec1b2e44b3453e94b3413cb97a8fc8bee840699fd7570d9bbd0cb78d76ec878936f0d0519ef7f7252e94977b2828c3779131931c65b62fcca7b037871f2d1e4533ec2f8f81f9f05c7128e4b78293e0070c421c9dab51b2aef3fc22a6f1dcb782be39f0699535260a4a4a4fce7e95b5a0bd6a77434c00c434677b282caa77c8a4af7e24e92691f22891143e53f3262c488f1283fb516ac57e9688099446a2d8c3e464703cc325e22483369efb873484341eb64087d7d1948cf03e6d15b1759fbc7c0710547229c25be0a8e477438da601c93d0fe31848161165e8a9f12df04c32218aebc14ff0586444818aa3044c170c74b4ff0704dfee4bd789f8b2e5e84ab46674c3aeaa204531f5e8a5383a96883d479358f52a1ce4547673e1e4c61efd1191eecb8d682b682f5296ff97c7cf884b7ecb44b5ba351e7913ce86bbdf72592e0ce22505771d319dfe267d88359e4f8180f98a9d52b11c713256cafa0741093679451463961bc261545efe47fb21afe35a28d76e89fa77bce0ca086c26ce909e7ac1e8f98e137f42133d08ce4124f3144962f226d487059a2a62841b6b294bf32050f3e3092bdaf6101c1451843cc0e3bd4c45065f896ebe1429a6da48dcd3c518e311391f948cf8670a5547a94479996841042086b77777777776dd890d25ba1bb4308218450745116dc0bcb8a98300cc3a6e571e6d1375a8d5419fea6721ba391ce2835da21022ae22c9db5d88122e8f31204adbc0447429a0604c1f5386ec65bbc91900c9f8be164381fbc6524a45d3ac751ce8db86d165e82b847050b7f7895e2c34b55c30d63699631293329335ea2d170d4baedf8a682d246a4c91a6ce54da7a6ee0e49f5abd2e76d3d19a6eca4e8a4a4321ce51819e51cb9293519c6149a1853888838c547ca0c0ef8b5f362ca8ca6e11825a6f5a1199953b601fabe0c413d1b7cc8cd6458212793e15777afde71315e829c0fa7596b6bf45fdc6b27c3fcfaf2ab4753d2d60e7b0fe6ecb51be5340df8db0e6eca4cbbd487efb5abff12e7633827c39fc93e9f5a9977509e5619c2966e510b23ddbc0af8c750e556b921f6b89c2526526ac5292d6bfe8bbb6b26cbb2329e0b3d881fa4db88b13a25e647e8b3ab2d3f0729cff72e8390e7252a41c68ae5aa73829fe038d9a336b4264a0658ec2776cb82944e5c6d8c9fe08f612be327f8db5a29b4315ef239258d0e13e79034b18998724e1be32cbecaf6badcdaa9699a49fe8cd56ab4b3a7cfa6d150f61f0d929068a6ebe79452078973481a4ae325d090a6e14f89000db12e6b48bb34a5a13491254e520ab6152542645bc6a2294bb195e528e33a70e543b9c21856511a5a9fd34c7495a7104ed9c673eda9696c4ec8fa6e4f912505edd29becb72e6824d1121a29b5e625494fc4a4359426a6e6699b539b78d3e4e77345a2908bcc8566b231949296107bac8c97dc9e3413a5691afea42daeb7d953a634d95745b68fd2b4cb65e18354f273ac955d65063d4a1e1e999e1c7a68b27f0f71e51c0fb7bef878b8316573677aac9ec8e2dffd5e54893aae42d407571bb68bfd7eebee534a896d3b1b843dd87bd4078bbff56f1bc2929e0fe7794e6f4b65df74b69cec3ad92bf9828440db6643334ac24ff0ffe011102f6d3cf7ba308b61f25b833a37c8feb7e48b2cfe1f4c933dd00e08836c224b4a270727d4816ab691cdf6120619d98cdc04931f0cb34a4c4e99c949831db72ccb0223c9c9fea217a8ec7f75b27fe8458afad892b0f112a9069b4d8656568fdc4be3ba5112342553696a046464e325c7820e31b2798105b5a8a4f91758b40be6b934465007721182eb8d4a3e6ff9106955d634d355adfcc13f46251ff551933dd02afb8b30e808156827fb5f1cc2201c504ef64f5d90d593b723241da8c64b241c6c496c404abe6863042af9461da866b341e5ec77c8f812d34c82494498248bd129b2f88370cf4cf61f9d76c8fcc1a01a2f719ae9c7ece6be6747d2135974ae1732c5422a85cf07242b0ea68017107daf525c83842a0e0caeffa851231412f9caff8c52492422812214129218638c76d432e2e0980e70650de225c7c951316b6dce6a405a14c09ea890bbeba601e1e7d6fac5ca69d17a61d5bb5d4e8bd68b7ab7efc869d16a79b7cb69d1e9ddbe92d392deed7246eff61ee9dd8e6d71e147e8eed1bbdd03dff77ddf877dd8877dd8871df930ecc887614730ec887589e093d6775ddff77ddfbdbeeffb48aeeffbbeefc33eecc33eecc38c7c1866e4c33023186664898dfb81fb61e36630cb7180dbc0f544dc0fdb15544a298b38652982ecc38a144e10811b2dcbd9ad3ab27681296860d62a3f76ad5536edaeb562fa8d79d45ca394df4662306c83b340075ce917b6a18604f4401fe0c9880bdfeb9e6849293b76336229c65ec1e1f65b1fb8fddda4df4ddbb32c57fc051888dd955a387774e8fe31c20055c54e6ed40f80e41ab9513fc8c9d7b5a1b1d9acec725e0cd9bb3e0729dfef15bb83fb8fe9ba2e8b3d8761be178f7270ef5b8f87e7db892cf65433614fb18bd9cc6d4898fb5533dddb653e2ecc97b5f87e7feebd6fef7df1aa993ecfd9987df0f51cbedf16cf6c31bcfddd9efbfad662dbd639d7e520e50f87bdca3dd44c275cb7c2ccf7ef7f3a58f1c97db8e11fa0eee476a2ec626f256443a1ab1379c97aab7af6c1106a9c8efadcdb0fbeff692f5d157bae00cc16cdf56ef6b6cf91e5fb57446acd24f1c5bd614f94fb769997fa8f60574a99e52ccb723ddedeee2485cef751e87cbbfbf57efdfbf53f8f7d8f7ce10d7b3cf2c6fd075f5cbd74bdf5ed5fbc47de708e2c6b5dc6030c807d9b59282bd9f266c8fa50335dd0ca5cfb81cdbe57bccef025c48defd889b5355b65f9045080dbb835225596353b4998271e70207b06b016861b7b3500c17ed089fdf5b627db6f9a23a9cecc5cb3ef1a0a30dbcf3cc2d8d9e6592077d3b09d873d465374766a622002371dbf2d198591ec23205114c903c8ee51f8e05b8e143964af6f30a5ab80338a935220391198c1ac00d629370c4afe5266334ab3a719c5302ccb9e6694524abf621b7ac05c5333d1075c5f65a690d26fafb4abf0a56682b93517ea5fdd044e7044160b062f596fbd54c18d7309bb033e8f9aad9f167dcf317b86950a88a31f2ed12a8a5f882c73529c0ec21cdf01b573da86a0a43082da39a1a4e84149d15343071cb40088102d9ce0e101461a614d110945a24a28c8f267d488c207289a2077909152cabf242159765eadd49a8d8ae206c6c88ddad12163d9bb4fe314473213f4402bc2f200565a2b550d01c27741396042885b4202d49022845c516ed4100d0461c488ab6101842a68a870c20754c460ca1514152bc831378a8a252c2904ed0794524641c466670428954e1128d58d7502a53ac26a81520191b900a5ca004a85038a0a26504390801a72854e0d7849ff2ba519325308c1620a2031075ecd5e804146c22071c51129e0780106120bde0251453092e50fc06d4c189becf5133fb20e12d9eb22f94405793ac5ab02d46e344a477fa753e601caf3e30e1e599e3364dfa10301d99b067c1ed68ab748bca39f87b58204320c1d08c8ad2da047f6ae7b06842cf41002b51b107af12d0be4f9365ce00237d01bbcf37af460a18790dc3da3769ebf0cb4f3e277d4548817c8fe9da7ff5bc729bce4ee199ebf7b5c01bea354b1ca13377c549120f2c4f3a53cd28426c02d7a46ffc4708bdcda027a08c97eea19ed271ce42703db9c11bd59db598f68d243c819029021505618415951c461b80f6036b0d17a18eb6777c3490360662793c1582f236162e6eb5061600b407e6b2e4818abd321070e66bec3bcb8c431bb6e01c877e844c4252f45d958fe9c737e63d9b56579f0fd613723c792c90e997bc8d18331c0e851479573d02c2f1d769d151a4c358d5873fda534e276ae5e84f3b16d576cdb76050f0f17040fd7816ddb7878382078381f5c105c073820369e766bb96ddbb66ddbb66ddbb66ddbb6cd721bcfc6b3f1441f2e0edcdc4d4041934956ee26a0b0c9242fc9c4300318605a541194dd524a29a7654939a7ec96114a29a39451240ac52865b4a6cb6e294b48577d79baf0678c2bddf5ba70aeebaa725ad6352f795df1bafcbae095c17a5d715d57a594524a69a5955e34b0ae79c92b565a6ba5f5f20b562d5e4818a17ed1faaf892cf58a3491a529ad6d55558d3e65cc240d828c3d568cd69453c6e6729052479e7cf6b71565102e84568c16ed187b0b820b622051b559e6db39439e35e4d8c91511295d60b3cf243283c8294952deb8211284480b88c43a45396c47beec4f8b6487547504c5df23458bf2925b9b83c3e244167f225e72bab268bd301b6dcc9a149209b421bb2c4fd1865d992813d7466959cd44e34fa77645b99cc8e243a0aa14ac82aaac4dbbc41565c18f1a59fcaf14d8ec33b555ddaadc419e5c72681b34257bc8fea9d8435a7140da25ae6647925b136ec7c8138984e2366c9195b51db91f5091ecd915554516550da88aaaa88aaa6aa892d4118c5465576e573851655776c57da2201929262646079b52ce6b56d92d9dca6e99bdfc38639d525a74ce1839e79c73ceb7b2fbbbaf15c439a3add4af0aa79413b3c0cacae19a53f694725ef2e3c58116989df566d69b7a936937dab437d3ded89b8dab44a00005289084f6786130469b635771b61e8cc70c9f0d359c7040e00518b06be33ea02867134690339a6eee9df313e534829cd174f301c90005205028149a5314e584b991339a48724e922827cc8d9cd174331f0444092ace5eabea549cda026843a6521547fa80051658f01013594df6b79dc969d10c833211cac894ec2a4ed3f0df927033c96386cf861a7a608c064f278027cd6e396238c16a932ee080c00b3b138041c5d91b7bb45c71bc54c49a139b17cf0d653790a9140d2e9429f984dcc9fe1d9170a8340d5915357668642400080a0316002020100a8b4422611807c2548d960f1400106e8c3a6e5e32930a831846710c85310c8310000c0180106388314819640ce30410bf4a8d16cdecd6f388296f051271c7c4e5d4980d43d91f33cee287106ad7efea44572b69639eeb34758112be39fafbab4c028dbca22f765d665e4841186ebb13c45ff187be19b22bb2c5830ecfbe03c0b9f932e29d81ac468dbf0497abd522e7653e1799b6534ad61289fa70991af65d1e0dcb34dfbb638aec558c45ce320c34ec542d35556b280ef94870c518d6e1f6cacb15504d6035d0d23366a4876cad775f90228694e8d79711af845b086e7990e44bc030dd481db51bcc02ebcaf84de626b047c1826a5f28f277eea270d3f483d9ba8a9d22a087fa1b7f53dd698315b69683168609cfbd630e50faa5282dbad9b320fa9a6566d4fd09854db72bc42b021be61cdfce02aad797ae62d9f963e92f6533f2ae8bcee04ddac00e5069f5081048cba038265b52298c3a5ed196864129edac40f90119ac2448d5a55aab4b5c918378ecefcb506363752e44af194104a5fa903dc7ad867664e823137f9651c1a632ccd10283eaf9143ce63da1015519f32353094cde57e2c727d526f63e95612d472fcc40ff5d951feab7135100a18408adcc3aea6272eedb95a407f47042c4d6b92cc3a91f6068bc5870c581063edca2a5952ef574e500d839f1899e51afd73781bccee7a69bc15814e3a3495518f90f8961b518ff46c59697ecce6a914c8ca0aaa42a4cf67bbd0a18de5b80688f69001010733a17af3f37aab6bf2ceae5b60ae9e711a5ec144f55d0cb39f8eeeaf679eef28d15278673c95ec14067a3881d1191884811a966acceb43b887d7feed6e20b112e2f4aaae7ca6fd8715af2d226fa20f70d8badbd09c6af3d3b167601f963f0a26188e130942096f2ea081bd33ea8499b1de456568102375c372f2a59aa540bd6d756f6aa3b06741feeb0a549988ee15dc342c9eebfd295ab2a72a5b73ee0d927b637659cdf28944d73c721c9fdc1fcb5ad00e6ed09e76e4c7b990c6e90484b6ba9472c89522cfb7784d8356a36effa2b293922efa267a87e1bb26e359f058a815a9d70c9a47dfd47f65405dbf723756f13f0b22b0174511e56f1361c0f8d29d3363f25498c8112814b0fcd9ae2ab93418beeb0c9a7caafa4993e84e6e00d8813bf648b231ef28112ecb67c470618f9c2b0a9ea3512e64b6ad0662c181d240c5c6ad18bec097d3dbf9082d150285035fc8bebe1dd9bbea61259ff24f3c4d4d2e3f4310ef0983f3d5d8bccc676ca7a51fbdcac26c6501732949573fa273853ea3014e09b23e611036dbe5340b8a25cb29d9937ce2fa77eab2632574ad667061b9ef9fea4e87dd09413abd7d4f06cc07ef0203db60a246c3fa0518ce3d002c7ea1a2bce50a3345c1cf8122e189dd70422c1603f25e5f5cd851e98179c0fafa20745e751026e3fa97683dfd24c312d586f91964be6531c0dd48b58645263c30119dc6f6ebf7b56635269ca0b7426428ca59d72a2b09f098a8d2baef72abcc44575a5f3289b3835b72bd09ca814e07e436f3445265e0005bf253ca6c29a16515df9820bb9f628ae05a65697958153774a890e06f7d33716ca4b90c0776e91bd9412948eb4f5a7febb59d9359416e47e7f97ea22bdb6579c90bf01a177db742d6c3c18fed884171a4c40d9a3c43048f0a8bc8b89ae9e549ab35dd3cc2c645d9ff51439e4ace41f06aa0bef7dd17341a3deb366c18ce1795ac8cbb3b672511e24e117924250528c6fae0074849ae562eeb595bb610066eb5d377913331ef69ca54a3ac1bd9ec7e714587e9efe193f8287cfdb8b4bc925241b452edb89ebec38798d06460ee311f9772bb21da4f134770bf393683f163e95271919efd468d26a359ff6b85673e30ccf91914d73d1814fd1247ba488edeb8c0eaa8c76c71d0b74a7409d44f88e41b5c9f08db1be6e25422b336a321eafea574fb5504839dc3d0806b07d9b80e85fefbb0ceff0aef2817c080191484ef2f6db786507b87a6d87e7ca8e7cb980ed7edc0bd24050b5767a515c63e9a215613d0351f0e59021b3ae39974f81332bc38d0ed612aea3b6020d20fce003a7d44b31fe8d11b86e397a734f65eb650bbf617404d1132cd6924b8b10c895ae022ef3f614ad080624e85eb932f3391b62acae7af24e38225c6cc27de84722f772661b092b1aa0688adfc5a2a75f157f74154688c5fc9fe27fa82333fbe27956855f65ca0dcb8c62c64888fa434704742af9f8f929f91054de541ade26173356fc883c050b513661e240b82c888427a875feea01c4f25c514942187a9d1d6b2e40ef4858d3ca732c9e86842c7a849310ea9253c3b8ff014b9ece91088aa3eff2a64a21f50bf29ee72251fb23b1175a30fcb617927b2f371aff7cd043c039aa1a007c4bdccee5c049b6df32cfa0c09a882a375348aad173dfaf20355b360acee2ecec6ce5bd0b28f9b8731104266fb07744cea0f2e0ffa2217e0a60b68a66619284da48f71312b183eb821325dd0719a44fb30f8e234037794424698ea16868c90464978374df629eb331390228315ce01265fedde45f27033e9b28dab91b21a117bf41bcad1c016c177a8689fe86a9dcabca178c97b2d33e944cfd3bf227a2121bcbeb2e805b4a17e3b86b267e83446314a0327c182941f3d52c70641b481b0f9dbce7ef27f9f9bd11628732eabc2927492c17c31aa14ac5d56b88b239f4fddfe28768f2554c520800ede6f28b04565ecd9f210afdfb883302219533c5ae884fcd453de2489d94abbd3d68190bc4f8d2912811edd2664633442540b0486badef060cd1aa57e130c00144d4fb6c021bdf0ad6326cc163b24825d5da454d393ab3a8e06ad65781de5c20a2c1339530a458bc0e5d6b185d30d3636e80af2b564ee382d871c438299bfeb63c629b222c1c610221454da48c9082610e2a3d9898123c99ab593a872109527d0040a903d79fc5c20fd85e90032bda13bdc751f8594719e419dc0f6b291ce1a16f9082af99a1102bacf179f2fe622f1f0d773e140b2b33061085578d859da601892145e77d1a31f5124bd2cc38289d98a1de1f8157340cc56108f04f111088d27cbf2196a02a27abe229054acc8f889dedf4d909a95a9cfae0181929f09c2e9601d7675a8dcee0326d2c1a5ed1050b12f04effadabc7fd0c6b638307907928dd50d11071f64be498074d80452a4881a83c5a5ae581efcdbae177d57a15b7529042f9cc96fe206475df68c66c9dfde5bce74248366e26738135281832e535488d18bde34803f27cb255cb902984a49f1f8f03ff8a0f91ba20e70ab39e38e381ad869064a8286e8b0a18a92841a51842912442526b6a1c3018be7168ac945fa3e260f16e7c4a9f3fcbe0628424f4b43399b4e7bb3a40881d364242b4e62f3add94a00c11f3d8a41932b326b6e40c7e7bc8003ff915c4918b3e009d23c387c541e8d23c6503e467b96e9691e1a14f7d45f81c737036e1c8eee1c10cfbfc6890f7a1c36590c28c58b8d402ff470f15dbdc40d893cd857d3256e6431fc09566374b55ab540d06cb18c130f4757268220114b5286e3c01d451b3387183cce913be0e736f6f0e54759f44a75e0c31bc4bbd94ad647f8643d7c6af61bdad32f53b1862983fda70042d2ea411f4d10b0e8bc2088287e5773d0c40362a8f7c2aa0b1f9bf82d2152d6a19f9112dd7a2ebc6bf86c7f6b626b098a020833146045e98461dc1f5190a822ab53b184d892a5b1925ff85675c9f611876721a583a44922c5ea8ddc3e102f528044dd468088b8a2e7c8de0a28afef302c891a4e6c4b94cd1b116af53f14fa6fe7c6fb089867fa2dc5ddb0228c322abb37551a8a131129e92530142c3e764d6eff116f50d762397b6a80d9c56995e09cd85ef6e4dda88fc3990a1f082a5bd5c3aa46bcb70e183bea2a490db5d4a6810099bc9813f282969a50409e4242716a8bd4ea8faa65e137bd66ee71db9ffd0287207675ed228778cc469cd93e20713db4eec202165f701069c6eac82aee184687c1aa90af4a41c4eebe17c95217d30f5a5e6932a6c63a3ba14a712395b88f0e96e68d720ddd7ef38fce09d0e668a4665fbd104609c83f552027f3f2d289c270d2aaa5c87dfc4f710ac24c06bdacd1527cb4ae73c8a3fee56ecf9614f2601ac6f1b26a6d766924468f737ecd3c2b52e6aafcc9ad3775b135f351f587c76ea5ced29daa5673e120c4334245b1e008821350b9f8429db70b56cd99df5db9d79b2afc5a90e04ea648c140e883163f3d5785dd27c874f381ccc9a676b32eb91422a7e0fb18801726327f7aecf3182c7cf717e24cbc3b829628799524dc10a19d640ff584f2a464fb6848db9116de983f6b27c88e93436dad327d3dcc315ac8ca2072d4fa46873957c70ba92204d743df24a647e951feeb2e62797d844e88d67ba53e261466b5559744355bdc1291d0e605caac4262e68896e9e38603e2552a14eea1884403a27ce9edc66f233a139a5d410c30cf2de7ecd3863784c353dd34bc7223398d832480ab27247016599faa14f0edd8459575180a779f4687cd771766782288f73a8a81d386aad13b967c2564c5b817f318ca102db7c72b8b37a20b78a392cb15f538da9f4594da5dfe5a3c6905b720c1136554e98a776ff88c653d67e76d825a3eb993c43a15c48dfecf3fd439927222ca66cc6e376fcbe72f4770ac85dece1957b93aeebdc416c08023d5fc0552deeb8df37cff41f7940054da96e6e17622d5b22cbad9fda885871fbac78020b41be556e4265425718912d3b04ea55a43f801f5ce9505c996621b4f24fb427a0890457a97e5623a4db81624ab95fd2168795030beb888e1e317af8f59ce2a718016cbff2d17488fc94b58bcb255e0d493c6d3999dfe6d2a71195852dc7678a7a7f588dc0346692dc8b532a2b530804dc86ad1e896c1f932d62a8b27a4b07243a839fb62e83aef6556b5516e6e4dccc2b89d5943cac56d355d6fe92c78a73cbc6c01233b5a49a7e8b835859864ea67d73f8b18f6dd892b5e0102848a250da91bd95954c667cc5bc4d43618144881791ba26e52e2c8b80799fc1b6d7b68b4379938013d7160961c97df4c986698d8e0e5464930d6e775195b3128cbf326cd120671fccf0caa5a20a678503f12a70d070fda5909bf83633ef76b1a8ca5b09c6be36b46898b7eb1d066c357435672cacf77701e30c44f0f495840598391c79d8625dd38580f08f82bf4d183b2816abdea418951d93ab3e743438d5cb5d93db3b69e70a42fb12687d8ec93c217acd401d30b915008d003dde93c2ee206fafc6f176caae962423a846a05ea4600696c9853d501919593acd1c2132b2d83858c22978f99c9290915638fa135f0990111fd259584016e24550bfb9b24beb02400e57b0edb5ede2b0bc09e0c4b5454218721f7db261fa46a70315d96483db5954e7ac04635e195a34ccd90533bf72a9a8c259c181980a18345c7f2ff426becd0cbb5d2caaf2560763af0d2f1ae4ed7a8701db0db19a330bebfd5dc03003193c7925c1026c0e471eb6b1d63421a0fca7e06f13e60eca8bd537294765c724755bd2ed6bebe55493e13d88d20a5af9d284788e4f79cebd22161d5879eb7c8ce09ee4b82a8afd3312c8aa9c548a9e3c476d48aad7bf3c22a8ceb9ef3bb26403e297c7413a54ffe5718875309f3e56eb5720aeb16fe1f19747baa295ec6ab2c9daf584c089e5f190e4c9a3449ee05410a723701b27f29b8e954994c02f1900f85202590eb4dedeb45488c5e58e580c321ed03606a441cf690b9a9069bc10286254aed085a2eb331e9870142d82972eab0313c1af60a248f9eb812628229d51b34700af94b9769d00c42032bb580ab91100b27cbbef7bc90efeca5c61195fb107e4090f5403ceebe7f79523525c51cd7e4e24e57382234f28126dec12209e5ea7f092aeecfdbf3282e4d0eb6545b0e3090eba516d1f9ca85f0320ed51b22018d1a16f7b89c5872deffac28bc281cfc77663163f162399869f3fea41fca8d38d4950e6200b81641b9cb0a597f88f5f743fe2f790e356a598aa3486cd3c54a001d8d8a902c2976a31a390c236a3e10eb549f8fca54c9825623123ef98419da10fd0735c0b062af4caaa5832bb79e4f206bcb1d637d43868b29f644bfdb0b75910b435b88f1d57b7f13ad2a60786349bdb0246cd50255c0031974335183c5af107e75581e1101650768bb720119dacfc805191438bd97221bf21362f029319ee11c65640b1a9385c4fd405c1778f79accf09cfbf709cfb3632836e0d6c52982e1c0d29ff88d165f0734a659e408679f9d6c72874a500525bd5b4a0728aab015acc0e0b3f0a3c333aa348bcc07eca67a273c253acface49a7d895464b4edc5e65b2caa43c1a032f53aa94356cd9b1fa6799f4df41270bdcde30076cf9b44b3840af5534dd0985a886ae6b34da66c54fa9344ba95e0296ac90f84ccf0cca1c52ea3a8bc59db4d27420351709887be1d7089e32cb16a5544b3159c6ea5ae5b79db59e33d0310115a7537f47cd4f16ed86123c10d571a34558a5a016786f90eb34580f08316dd62eb44155dfbbba069fab4df08d0b2071423e848d6622189542bd5039c962275e4c1c75505a68eeb022c55d66dddcf845a47450b41ff98867f06bce3cb392e8667f5f5f0209baad165a51dc2b5383e8a1f6afcae229199a9f3988653505bd9a67213e2ac998f58b83ae58711d9bd7a038b84ae522b895df01f3021c27ecc2f4e826219c75bac1c4413ec49c346ce3ad99a4a17c6d51a4335341bd9234035877f371045440af5e3a3c6aee1b636ffe2694df9ec2a3b11b0b5ee3ce3a2c68855e310d9f1e280aa575bd4d37d2cf0147142ddc7165cba5d4ba5b202c9b4d17cf1f6f4c34181e9d671873fa050897f864149566c7d22029583590012346c7092d1b5f24dabeab0e9868903b18eef264498b352cc0147f701760e3354799facb1dd3ad404e10063da2f124f53b3ec8668901462df18e60f860e1d3ed4bfa5cc1ef8542adba8b701ced09d562a71da42e743480b91145023cacea1cacabe0fa7471bfd3e61ef184827664fc2756866b82e91ab1d48a8832a3e6303aeab3752708b589365846deec2801a9371dbcfe7c67c8768332402a1b6a30bd9acbe05240dae274675d4dee58bc5cdc37a96fa22918a411ee031c4ad5c2fe41931117b948675498a1a5df0c16e708bb663b7410eee9b12ae0f897c9a9c4728f4d0d71141743106df33b272a0d9a6458eafc7ad13d80da11a1b5ef2266785ef07687f0e66b769232d8590892df1d65f836ce518899481d3bc94d482b6d454bc463c93eff4227bb20d290a0f9973c7098370641e9444910c55e40f5c16b05cdb886dcb930b9a1c9a60d0911a4fa55b19dc30806aeab34c56b735a5882e606bbc22c506040da7508a55d9aa02c546aee696c7e16210b511014a72b82ad04d789dd31a20bab43132c4569631cbca54617273526ffe051cec0a221ac6a3ff7f8196b3d956a040e6b65733b7d125aa8d51b88200c82316c45bfeb23e2f350ffdd3e315be489f8b4490789389f9c0357d661cea1a6fbe004682f8646fbe6b63dcf79a3fe7f9c7bf7b95a970235221bcba9b2f15ddbcbb28f27afd4dc634d5a37c06a2403aa443158262e6cbb8511dab5a3a4cd64da0304364957033d8fcd17c20a8ed3cfa96789102c71cad4fcd0ed4c5b1732877007c8a8eb0f06f841baeca15eb7200a7a62c3123508dc6f37accd51add715285404f68efb01e5530db3d266ba9922d38d7012e35eb8d641f0db2460bd58eada77b431a75913b0ce5b33365589586f86f2ad4f45b5c7026552d0f997a4e5e6fc1f762b0819520703b150f010664a461bd57db55aaee09bc876f8cf30c00a7359df08d748f504b9e2fed023036187e5585ff4e692677916ed01eff06a66a213c02193e39f000bf5a093903b8ca1a229190f1f90ab99e4557c9c34b5887d279c10060773145bccc125db2770354a756fc1a63ed2e5afdb701123b9ec4e758d483578f0d68f04a2e03539219850e2dc3dbc4434ad908a01e1e1e3b33ba7eaced9f7da6e2d520739ce2602060a0af63b6c680234ceea4164d023519632660a849e637ae8c271ff04c9c8d7857acd07d980c986a31e51350138dc8bfc2472220682bdca0a6c2faf69088a39e33506a489a2a89f65b8fb27ca766901c94ecde8e08e56626e61e0280c3983b57b509c56c79d692a4140a11b12f7eae06b9744bceea8fe0f4c4843b770e1fea734d22ead3cc9bb6d1a0aa5ae4fd1310739c237235bffcf03d09d67966763eb049b0af3b9f61b92721305136145a8336ff45545af126b8f9ec008196c578cc3176876442fe006d9ba08e4702a3218f8e16878d3d76666a12ed5da573898517cae5a3546797a94e235090ff1682aa96c84d5a7d058ec41e7b13cdaa84f1bc5317b9b563474c897304ce137485da81f86667651cc8c9191ad89f4042da2aadf8709175464e31896c02f0638463440dc1a68ac741852c8c983e6f5da087a13b9ffd70f8b8f2ef231941182bca484198a1f1e81ad08a4f4995301939578b57581832433d3e87e1b821a8194a58834cfedea3dfc5d2289631be95594652818793ddf82c4c02adf79dfc2e859a688d99923d9826372702f01e81449111fc97a69ab172b50b56950990fc1f8fdd6d255798f732a6dd4c3af5d7c0c24dd9cab2ef3fcd2ac1df07781e5f8fe2237ca641781e114b6666a83a7c239a4004ba8a101621a59a3ff75239c3c596346187e357aa8623dc16f68fdc18cd222dbfa8dcc19eadb2464440f49ae20f1cd5ef5282334f4ef1d28284955ad55ec91a48287e0961d278f2930937ac85c54e88006641d028d5fb4e25ebb363821752faeaa619fd2700accb7f32c9ef1a088fba23f5f6fd8e00cd2658895c276760a64bd7f39467224d9568dfdc791d042cb7cbaa35a3a05d7c0d87d1dcef828059213ca762fcb7140043135aa94d5801fb3054595660013f8dc607e5c9f14838762796c82c1955b6382c7635c4909267626c52df8f51c0939e48f718150b3c8d10b3740442bdd17b34d4ae8a3cb0ee1de95897a44fcb31cb8d7b3262b76ff0e497c0870b5cc292a1f52b79429ce1a1080316a89d29ba54911c439b8aac167048461ce896cf67061be4ed5d5b710c94ab318825edccab90805c8151715005e07ca2b9b090ddb64b342651269158fb052a95bea619c31a3525cc8fb01b57bf14d8c5671f2674c2c43ca00a33871acc3d22006f1efe922bf8cddd1379d711009311e269e8e79472d1b32796add406b6f288bef3c38c954bfc4ee83a44da46554d9232f2e0e4616e18cf02d1a4aad3da0e4f9eb083cea7a7ae1bc9708e4559943c7db1a3e26024364353234c0e655a543b4877eeaeb5e18791d604ad28a823d378debb9ddef106b0574ba087ad12f5939efba6800067c4f8505ab83b8ac8361c0aae57d96ee5a6445e0b9f20395f5045c79c03bd31e917723a81ecf9df2f24bf4c53a24ff1f5a1e43819d2ef039aca81158f65cf3559f1ba7514188faa850b3c7c087be60a1209082d15704f096b33c010ea94a3228feb9d4f41ec0921d7bdd072b72cf853368371e77565a89f589a14ad9d27562c39f6070ccf72f4e2f59befe395987ba71eda563b16f63ea37ea30fd531690730e54554c3331484c72823b64bcb88422f4fe0b636c16f8590a8776d53a20aa2d788a1bea963638f1733cca7690df40988eaf48b99f725e184d3ebb51db67688b9db7d4b7f7c2a9371e4061e6de877b45969e375fc83550ef68322e65f45a9f59a86f03b756c60b54d0cdee8294b84acf6804dd610dc958840177910ed8c3e78ef54180492abfeac6a426dd0500799f25f8b0012a5593db709a4a29fb80c7cc641175aa63550d59be1d7e9281f5f2dc924fd25133c8d084a247b25918750780acb7513d3937e00e51450ae62ddcbf74502e9bbbe88811053edc639a2643441577d94da119a1f6bec2e2f1a5d7012f5b6744a6f581d3299bb9557cbf71c69f6634064e6b002650f0cbf2e6720ed5cc40678b29b818402d39efcd85e676e5f18d60c18b83a4bcdc7210f0074fd35ff920b1231b8643811f857609bd89c2a37fec25de79f5a82af815cd1a8e63b10816f9f36dffcec0c7df4b00d8a352439210aa1b073e82c25cdd17afd1eea386dd41d1bb41f7ce9d0007d883735be5367b8119e6008cc111c539162eeeab844d5c66bf17f37d04256689b4870b38c22d972ba76cc097a3412eb0467561f4ea6c6a813795906245204e074f564ddf751b9f9f6e6a81d9947e1155f37546b5fa024f3810a1a0dabda9855330ef0892d619162c3a65ae5de4415dc036489afb75027018e24e8063e1c90db9d0faa0f440ae63898ce9453ea6c32d0400f35407d192b504b141d699f3a1ab22e341a59580aa15b55a0ac48d1e32c91576d41f67dffb1e76c6ec534388435f876aaa5cfbc4ec9452b8d542e5267d4cc5ce76335b7a46aa7a03c9b2d5d79460d16d16662d61be307d8c594723645e6b1876a131db7faa02f2b94549035dfefb5eb107e57a070b9d987fba846fd5c2595aa628723b678a5d0b7c268877ce79c370687ac64bfda6c8a223cd822dc38dec5a58cce6104ff034677a7277a6bcaee07a7b9b0821be4c1670a0b1ea287ad6ded015fb97de4bc2bebd5ee3523663617a091e0b812d90c405da7df21bcb5af17800643db8f70961775f2b4806c58bcdb51f0fe7d8a2ee37ef7ed68aee6bf3dfddcccb9bfe9cd7d725c9686eb6655435c2db01118174f76d3daf8eba561fe4503f0ff85e299f3205b2bd52a25581cb7c422915751cb7e233220372d191bd092f6bf559510e8f34bc18382c8c249b6156d691a3b330ac409483712432c77575842fd23467ffd3a6f0df8266ec23af8afc674099a9da00b893beb076880001fa4872b368d6633e8d56e89aef02d3f3f4d265673cde31cf321555ef9d90ad9e64013adaf793d275079da2a0c3cd2ed7f4b3b0ea59a40147c4f29b6ff9f2d4cf0f646d6efb195fe7bda6c02bfcd3fab7705b4254f7af04ece2a92e8120e8e47d7717773324213dd3864fc52bb62feb8438b09eda849a770ae1e48b285a61e6040be213c608ce3436ef81d1198252edf564bcb6e0f74fe0103d7f88236e637dc1c1f419a304bb289970eaebd9d6c984b7bea0fc943460a12a81b5d8f01d73e67367b9e22fb121edef337044246ac4d79158f23b8233c6bd2d8683d77c94975b76536894cf17d123e7515ccb4be37b893ba3961369116d35be76d356854b0c8d056b807e8f7c7d8231501bc729f40643c527726b3b3dce891a3d271537116ef9218898e4b998a01c566606a460e87df2c6c776471cffecfefc187aede3e5c91fdc526d7016b34904a1af4b17a3cbb7a94249644905829bbca62b481b43004f73cf66225a0fe7e90ac50eb58dd3ac7e0fb75f0b49c21d2dd652b7198c592a833a23447ec38f67ef006b705b2b608e20b0f61de0cfc136c662c747ba01d5688f3f3068c301c844e5012fd7177ad27eddb02a3255957d3f78771dc05d1622c319239b79277541ff3e17ae57c2ecc397e44d2de84126ee71541061237094da5b6a0490391ad7626cf5601da99a235a8f67178aa4c7985e3aad86a5a8da007fc597b8da78e5c0d3863087db1d650341c892b6524b2da8fbdceb7e25411afaddb7d7bc67f487cd132ed4011c427b0056ab1ebb85ff5de3987a37f11c4c22ae1c8ac97b08ec5bb7ae207b810abaf878a2f5c5cc596ac5b00126fa55f5c49a66df4c89ad557efbc9b7f3108f0dae4414b039b1aa14766cda7b5f718734696f10dd8510f2b3bf2534373b9af74076330e0acc16fb97ee4f0ac6408f56be2a4b0f0c5c93c09fbb73ffe36c6057dd84b7844b22cba434a8aaf974ccbc1a1541a56161b9ddad9cc0cbe5e1eb30b2bacfe3ddab01ae14012b7067ae52df0788b83d4d7d3caa391d8a17854e6e52031ee35377a37f020abdccc62bb15c52f74f149ed22a10aa4ebcf48cce6a82ba20f218bac97b7737496e035728a10624d0369d8f33811032adb04be83f4b1aa825109a2a8802fb180248325ed25962e758e5004a23f0e959801c3876256d9851efc7c614270d755734ff95e3acec7991b4bb8ee15a631a6b557307800745b258766935a46076301dd0a32f5dab77430e13c21aad9218cd0b1c473480c950a1393601f100099b2e647f1bf35baf6012408a2ae88e2dec4b74b4199511a9806bfe27c2e741dc5ad65356fa64608350f045b6585aef96243134d2bfc9a9bb995907e70dfdba51637087d01c423fe19062dd6a7b55a07e69a1b789628fc927a25055ce1b328ea3fe14fa287d4db0de33c2f7616c6235d1800f66aaeef5e403c81964c7856ab67a7748944f10b91d77d3c9e47b9617c927413206ebe947813d86226705394f341a07c013ae6a74f477144f8e836cfeeb3d09d78f457cc60ca0f0a65e017185fc95ead5f6d91b2e3a10a1e1cb13d5dd722f6b44948a3aa53075dc99769b33a488de68c5878fb754cf1edbe7119150e6af07b9429eeae43a252eb7c2d22fcb7d1b0153ad32886fa2081689d40ff285cd5c736ecdaeb1c881db89a0a038bbe01f6d68c24e7b2a25fd0eea66c0dcb1f8234aa3596d8076ff0097995d858572405db6f3baad5cd3beb8df9ad675b59973be581237f383c93fcd509618022a5799b9e8a903b583d7fc63cf6529373a10f3eed79bc4d9c4f1596e70d07db76f055e3c1dc782584259f53a42758a574f66abfc8535e80edce1e82683fb3a48cad194623bfbab0c7d0632e7c575629be596c58752e65bda8105fef5ca0debf4ee1364a170376d340f250d68408245aab0d4966578f7a10d7d682ccbef9e4a3dc355cdc51542e6b40371b3e76608297770e21a8fc7ab26072e26c3b12196e82f7d5237f303acbb5cbca312c719dffd1527536b3eab64cff259c9eb6bc4aa0f9ad4e735b01424331b588c1819e69a58b181ff4f1906484c892af11f8a4103b2f5f39d272e595ea89601c23c3b833723bd9ad43a24f748375fc71a2fd77ddebd3a3e84705180cc97d130fcafbb2116edf1bcd7fa09d3200b418ced4be1eb9170346bb3073459e7bafddc9c81f7a94a9eb8b5a27653ed446b1cbacc6c29d72bc704b571d43f5b888c9f4f9e5dfeaed12b4df2610ad9df9a94ac9764bcca32b81412b994dea90b548dc3961a764d4c271c70263fc2199739895589e0fbbf9445d5d3f4b117113cd9d997418aca1d52c81fd2e130c594948286a5408df3fdb73a3ca650af140d4eb1530d00e35a59dbdf182e3263e8006d542240ee53f98abdaa76e1afbd0644c90d7b72dc9856acd48755834901d83bd86afb5dd9314588f023788517fce9b2faabd8a56144002da0cac174e96d694ac831d9db36777a270d40447e779a5468873a534c1b9d4f3983c61f895552884d8645d337972f03ce135f4a18bc60f8c0c347d35db70c8a819e5e0c37a396fb4a749f1e950262ae725939bd8b58b3270c99cd6199cd227e0cdd790e8af5d68eae670f953952741468a650307bc599cdae80d335560eef1be4ef470fb2305e88e2e6af06b1a9563392afb15d9778733ef6c1fc819b3bcfb65b0f6b8bab7b524b9e5150fb63cd886f6b03886e9eae1769384f8e02f85c9528ddd49906c98213421fe041a0c42fe0684dfc06a842112e145612d779ab04511d1dcdeef233034372737dba04fcb6522a35af0bb697ecd48de1764dd8256dc113bcb16a835bdc82266209e61d0e2d4598a9feee16405540cb86650aca3e9e0674f0def2f78c3c39ea21f30874d53db606da9f70c39f80ce8c84632823b85a581fa7a394c11d25aea251018b3e565a85c6069c51ea8213aac836815e62c5b09e54aac35bcce46f46b8aba567bb91cc3c72fc61a0442d33c6def56c7944c604db50811ce3c3abc6c1f0baf1c2e08719fb381d024cb2b32187071399ad90290e07503523aa17e72c3c4e59c0cdb0562705d41b9440be3fafae6ccabaede4a29c21235026751e67f3adaf4c83a5014cd7c38beb5b533e28a4ee7eb4faadb35de3089dbcc4f41a420317173deedd6707b7eb30751452d7c7c4708908c3efd6672316b12bdb958e4e5a6d63fc009275d6d48be1b064baacbd903d1753e8300eb3150fdefdab2302011e525cfa737932849650d402f6e828b8cccd2ffbd75f36a51797364d4b45a9ae7db4b80efa346e50f91cdd4ed32612b7d34dac09871b9d16e85e36468f99b41590b2627accb3f545ecd0736b7b94b96e931a24b64c6f0354bc79a0e030f6f2481a71123d6eac4707e6164b0de45d10803315ba2264728afa6f746e17415d4971dbde449ff873d871a0356a9f43288108f3cb4b24c1fdc6c2d94a1ef47decfde05ecf359a0079e269a94648e99daa83400a3df7bac763a61416bc586bc890e1b7c3f7703b3588ff18999a9dd32e48fde8d868a7293d5a748d5b9329ab4524960398648e90e43085617635963f6b188c3895568d8066a858ae68157aa9cc9c592f376fdcc903d2484c4ade493cfac308b0999ee830e0728fc5733893a5e7e559f8ccb70e28838314b998b984d656d0bd368c725baf21e5a9312e2ac53a1296ff8810e968e2abe289e599045d3bf8d3c74fd8243fb75e8b25da6cc67ac4e15092055f2cf40465d031593e0630b58de935b2e53a3ca064e61f50421ddd6cb2fb307f74c2d6093546b496d51e19000b62e1a4aedb48498c62b5a65a28c4a5e9d0374a205fa61d5a4ab8d20f533b6b25ba966b9fb2275e0b31f24ffe36a1cb1862104bdafeddbca7fb27393b58702f12269d6c2d147605036ea596f71e689a546bd4f85c7acdbd2824e04f0f1506fad81a86b44d59b5fbd34e060625366d3f2d44976b9c2ed31e44d20d0665e4c3aeefbf39881f1fee218dfc71d2b7d30966f8214e13bbae5ebc4492b8a58503e078f024c4a5b21f12fc27e458cd18f2d8fcd1eb204acc4a035a61667b5930504a4a07babaaa7abab9fbbafececf603b5adce45d17170df13209630b4b4d4d2b2b55739329fd0552d371a2d531a20a2a1084a122e5b61910efd23a207ceed9e7a748e20ffb725efff43c9b2592904d36d9524a2965922959079607c4071f61a49a46575a6c9523ac72c59d2759586e07f9f6e9dd86c18870a0f7d3b9bb4b79730f587241ec0eb6d5fc48e59b6fa9eedbbc398e73a01da94f7948ac96f3105fd4da3aca3a39c2b96d52553de5f33affb74442d123c1ffb1ea806e16bfeafae3a73aa6e2575dfc2daa569dfcad56ba62f98dd6e2571d6be59b6428a55cb178cd777fd0f26467bbcdbf94f3e6dc07d0b76d731d375233954aa57c83ffa99828ba65d850ae9a85e54a5990d722c7f2185f738ee5ab95e649f457fef56bce7524ac58ce1c68ae3d4073cd6f44ad73ae9ef7d3ab576cd137166b07754ad9b6daa1f558dd3ac7c8b6d2ead473efc8faf4d8d918638d31c6189194dc766ddbb61db6aba27740d1bbab0edd76b5bb7a8dd68ef01bf818c3faf4a368a39390a47aa4067c12fde87184dec0db18d183d0ab2b42e951586fd8d8b654af86f9267d831ccfd685e560281036eb5029365ba58748f199834bf253924ab546a40a91e2f7d77d49fd3feefb90b220ffb523553a41eafc0f7bf4694eafaa912c9390204fc28ffa252cf5c74e93fa531e12a4f31268077cfae8f0c96f441bbb1ffd9263b453ea1cc301484a2f9d210e19bb1d3a2c012922c59747d13b626f0f49c956e940161b8bcced1543c189fa4f7e43083970c9c8f91f3baca7ff41b97638c5e61cfd5bca91f2b841e6c8ee4cb4c33abb7d05358c1d72393416fc8d391c3c5bb761df52f7ea244cb9edf8258c7185141f28477ccd35cf998853de91754d7248f6ad6bfc62f970a337b49bb6799fd26f32f6e700e85abb86a4d4f123ab871bbda3133ded2610f4902043c9645f80afb0a2d9ba3bd60ef7a83a8cffaa0795348c5f8907b8060945dfc4bec46f1c3ab3373da62244b1e9467862d0a5eba5bf7881e47e3ebe48891e4cd3a1eec74abc7425f61b8796624c85942f317cd1c246268b4d999c21852a4264b821c654842806dd084f8ca948c7a81b61801106c4947a44296551a29e521610a6434fc9e390f4e93d711527c0a0c90919ac000934318ef152931e6e8001061cd4709122c63197c962d095b4118c25b2cac65c237ea9478a547a22b09b362fbdcf6ad245b0de67ddc7d216394f3d11f88725dea7f43276f20715de7a4d13c87fd023751f4b52de8ab000a627ef33c14711f887254ffd3bc14b4bbd1e4e643a18220709e7e9839ea1e0a0e0b756d1ae49891dc892945895b93862cb102664d261936c031452c0840a094923b09b6f927530440eb21f0b607a32818c7f581263ff4ef0d49919ea0d119f04bf4908bb89554fc66e6240448001054404a1236392c962ec7dd0637b73217430040e7542682171840ab61852a74e8c75b83e7af4698b72ba84d5ce3b276d9e36fcab61934ef86ca2cb19a34718f548dd52ead15f3146f7e11aadc2d12d980e1d0241bdf99285faf478c696b3b1cbc935a08c86cd37337c51fc2c8bccf53823e5d361416d249d06d77026b2b787ec90751b67bc7ac86aeef3f38d92ff64fc741fae613d3af16ca93cfa33941273de5a07aa1ebf1f08ea0d0bb258a7da6422e67ff2b2314b863b9d3bde0e3666a5c03bb2432e073b7bbb7ca2de1b3da22e29f5c841807abbef48755fca3f98dabaa39aa37a75660868cede674dc0242488ec494879094b9ff290be1264a1459d2f81a39c9820f98d356f721fa49e523ae79452c618bb1b32919d5c0ef8d5a3cd91f27c7239be0e8847ad26f87a641d49e9bff8760775d8ceb22dd533d41b2b2f9968b6cf26a47ff6c2644c7fd1f9e9413da363d3c6cfe9d7355dc54233c8c60c99a107369e2eaf417aacb636adf6bb20b001a5849aaf9e0156c3505fb1d0f81ad446dcd538508a1715aeeaaa366a9713b56cccfae26dd8b4086010bbf9deb1318f0aee6793a8e15f5c037e03f8461dad8df5c3953076d1f6d5df165d4a8c75fb2bba66580233840a60a268b2849b2431e65aaa8639dd0ff634606ed27c7b0c1bdfb78de20ad87a506ea05e7a51c9c62c30b707b0314b0b12fc7e62cdd6aae9dd9500bfbd8f6687c47572a83c9572f648f0f258d57dd4e71995b7ab5cf38ddf21d112ec3e8d8774950a721f54df1c769b6b9d0ac2f634dfbaaf1f32a4b09758f253878f585079ff8985ec1d097e4f66a28fa1b2282367d701f1983a1c41ff7ef444972e015ffad1d3c347efa9c3c72ea979f451f438a797b43d16653ea9ff07fce8d13f76fe9db4bd9c0d042b66fefb608ba429ff25c93ec0e6bfa42532a4ff929220c10a2ff0810d9b8772607824ae53678ba7c1a2e1360b9ea1a058f34de519aa06631ef60cf5441c160d377a7986aa2286874fcf5053cce009f00c3545120958996c764c1c95a584fa3ffa3f40027c98e54618cf1c0ea496790f391c485226fbe6279ea3789ee2b7a9a25c0e5eb3e6379e94522a9bd20829b5b015f4fed8153d10b8d41d7b58c5b03d43b5612242121e8ad0c2c41c223bc458b5b17f49f1a57bc3a2b743368c7a3c5bb2615cb7aa699e72ad5e17e43e88575eaa3ce53529be06e38a8f780c16f4ec7dd423333ffce02335c0f26c7142eede8d2e65329993c86a6239ddcfce364a60bf584d17fed89815c30b4fa6dc171b37133d302185cad395504e80f9023c43b591f31bb3d0dc38697a5c20ce98a802154458bb134e4601b5da968d38e98c524ee9a532b732d030cdce39b5ee523bbb860d34ec037e6b279104ea40d5b6aa86495b35cf4a19f57abd28bdd1b03bddda397b5218e38cdeb5af578cb2a36677cbf6195b2068d896729696523aa7bc3da5b4f5ca29cfe8a81e5b17b02f4a9bc34175f077bdb5f294525229e9bd934e29a78cf485d931726c5da06129a66e297d55afb3cac8eda8ae69b556393be8524ac621a784d193ad410a45926c8dd03678c06af5d0349894933689d45a76ad5a204895a49e4a715a27559693401dcb93cea74a628c31d58235ecba95526a9ed4574a8ec7162f258d33fa8cf1ab9493ce28e594be0632842ce9b0ad6cf96858fb6cc9c56ed90d2343185b26f54ba86aaf610d4992c4817a61414149b5dd0a6ad86dd8946d349d32e42450dd524fea36fa3c5575e8b28da627e39074ea964e9afb3c4341ca2b89f33c4301ea5fcf3314b0fcd6aa69a425f5d70a5bd373d85a529b52adee0eec9899b919426d5f20841d5db891524e3a3b8245add56a2e5648a552a94d956ae2386ec5a25beebdad9d9d2f3c3c3c3cae9e150c7c542e5cb870e1f39243fcfcfcfcbc006a1511c4e1600e0ae26e03d8cd8ea499218933434285aa7b50500593922155ac601149018e7665e8401c354d4bb804d184e5863571acb53f4854a0429628739ed0a288963886c906263470542bac98a43039c1a90201cfb32342dec5f3cc489cea2423d788dc841ff04718212c001729322b2d70c28a28980634c0614a15273a302942b6c9e8fccd679f71c20e2847ffcf2e473f9c4840703207c2ed77cd393dd7776518c9883362106686004296a58d0fb1f617cf58621275441916bc74098326d6ee3c63290a0c576c91a688902b30c4da613ca30248628045c9114584c122c6c3c6425c837a94aaeb7a05c5207e312cbad6b918c6b0e8b553312c322c4ac87de0412f17c3182596bf36b669ae5115edab6434ac6f78d0ba3c7007560ec79d9f6ab396c3c1a53e0813b56bda4f80891a46023e036c1fac280eb1005801296787c135b4d675b95c870ea01d9e1b73eaf040070fd004028a463b5e2ba99fa583e5cded789fd2ef380d1a0deb977f348a5cb87ac4a1c83536f0e8936b04399047eff361e3a317755bec683071a3cba0b141079998a83da8834498a81da883456007ed2f3af8d34125f4e57d301fef73ea2ebcefd5e3b93c9985cb8d0b891a363ca3015f64886201165b70f0126b877078c6026452008125cb0b608688b5b77bd04690caf41b9127a98b586f2e7fb36054548f1d25178486113516f783b29731dbc1320d8310c23147ded4108412b21768c074b68c41239b218528300c850b58bca8e0e4e689295c06cb19199d1962202302c274dab511158c92307d87fc098dd00bf480d00d8c82f0b3f409de2812851550e444a18303154b2db06026c812b2282a5a4050818a3830c830832a5830408521a47082528414384099cf7ff752efbb329fff6054c7df0fbfa942ee80bad64526a26e3bc94474f2100d72f29469cbaa4729ed86653cf8e4edb470bfa21e6d045fc63396963ca1020d57a0ba3cd126d60e8df00c951362aca801942bac48116b874b78c6d2942468808392a61bb6f081677800862a41bc60c90c675c10a3d22e80c0a519838ad8580826257538277bed6e7637bdae157aa5de075b3a65c99e4b2a332253a4c32736f0e114363786fb319bc94636856c2cf4b16c863ce333c0b30f3ddb9faac9ceaa5292872407442f01483be7c7c14f6aad9c3de29cd2fb7afcbfa397bd6acfc544f0b28a6110065d2fafcae6902f2508124a083d107a346c3acba170361692be45c8dd124aeaeaa1e91de74a9613f7b33f1960c463d2d5b0791d76dcb2716f41929c304b820287a0880645454decfc70a3985f4a41112f654e90228dec053176eed9baa331c608a16f1ca75b15a5b4fb807cb55f5277b54a3afaf4ae11883a54f270cc4323b083768eb143023b689f6c44ca17e0795624ce373fc3e6e8372237f4bc6114cdc67da55c29163821aa08173151b098136d8871b296b89361b461b1d289a3c2a47e4a3d201efda35f7a327a71e326461b367abae9ee4804cb4d779cccf20445f7e52e048ba1554df35ca86157852e08255ed3344d63cdfae00eb3b67a4a4ba2699ae617cc6bfecae135cfab07e39e67435c9859b09010c2240816161b6b6d5dd922d65a2b33215c5846b0909809d9e253cf33215338bd66f07a15b18e282a7abd8a8a226b4d77c796b32052e6f32c489387505868990559611624c9bf1a46e795849c6f0f7a7d2e10b0370ddf5e96ff54503656d355cd67282c9ea4940ee3bf253afde3364fbd2667d9d50fc8535b97b6c8894d4fc63f2c9130de99c300ffb02406e33b88a6182b2eb5b9108cbba54f759cdb6ee9b76d537540d635e77c6305f94ff5bc2aa2c16d54fab62d4195a62129fd86147f5b6d6e8f8078549f5e37bfd19555795456b5be6929e7d7525e0eeb9a6b70d4bc74cda76b2a2d954a7947252c3d754de59c04a457efa3aef234bf115f53799fd2ab9c769f7ceaab2e76116603c018d3ca8b301b803a8cdd88484a2fa3af3a8e49a4c843f338ce3fba39f53ece370f68f3ca79409bc7c3d294d7236b2b0f5b7748d7bc8f769fca81346720cdcb317df3cd6ba2cc4b3f4af9465da56a2ec7b66d1e5df336f829a845d5952696442b5560bcac91c248d96f3465efe9d181aaf3c7380450b50e69273f06ae2036961f23748e314623195bbe02643793003fa9bf3b36e0dbe3a8020d5b5c6821990011c585282fd8fb92976f92284c5192dc4aa7ebbe82b6d9942836d71419fccef36c4a99ffae5b91bfb1c6b05b6bbd3b860c1b42eddc2d6d07fd4b8a3962adb552a620e2755d53befc775d0a116a78ae68da11264f2b401133833268a4809162466b45b948a8986204115b887973468a122953d0b49a6866a2bc8962051a96931815e5294a0cd010319bc282142daeb4f4d8b28fe47573638cf1cd5553c3d310727440e3f4f205285ebe40e7a566d1584f0816434abf36bc74d74bbac3c2bcf418b24886f7799e414902830ffd2da15247092746042922c660f68295191431321eb2bd44384ceb84968ac819b34413284f8cb821fe70d15c228a1c795d61c48a30449c41d225fa80c475af909d4109f2d0556d64271120d2f4f01350410b923066bc88a922c6ceae6de7870b9fdecc2fbda0c687269064b1c4133e9c89f19ee9ee285f00a1f514e9c880b1459c383901739f586bad5d3941d21a5285931358416871522ec461621ba289398209cf724c9e0b3eb820036badb528b869c10cb0b0a0094c53111e5c78d25cf8e2c205d6cc35d3248ac9129787bb8224ac98e28414243660a106064db47001054dd3346d2ae136329873821320c284d912d3ca3489d3040aaa695a13364ddeccac19980bf53ccf9eace03f7f58250df264cabdae5750657264868cdd6aad9d3d61e1adb5178a4e79cdbcae6be6e48a573dcf9c38f1df7529afbbc3eb55745f5054f482e73561cc1c81258d13144a62ecdcb30305ca1327c89963c5991dc21415e9a0830eaf578cd7054242b0081217872a50bb64ee7d9e3171cdda19931ede1289dd2779c7c0664cb83c7d9e31c1f29f17a179dd1c5eaf46414a8f43d2995c2925d728aab3ce5ae47efeb5bac710bab5fa9c734eaa05847e558841cf86cdc92edceb7ac518a3112c5c979c73ca1c6e136ad44ef9c5915a21ac900a612d4c39a547d5db03da51bdadb5d65ab7d65a6b354d2b72c1bc44eee7d385da28faa44c3091f204908384cdc7789eb550c3436e188f305d0e8ca470af06b68627dceffe841da5099bbd2bdc8ff5cde21a504900b60ff899bd162e7436c09210361662ee26b9f246b3a4400b565ee879c682ec37166dd941201ef2687a403ba6439f0e3d3a847780427667b855b8995fbdd10a708c5e289015c5edf98a8a4a6c2a4f59d9699a67371b7dbca7fb7a7c8f8f8f7cf906553f6e7fec8ffdb13ff6c7fabc7c4b799ffc547c19dff64bea6d9bf5be94ab5cfae67d29efe9f1aa3a0f578e3437efc7cf6f9e4a799ff495db6e8534bd84a394fbf851cae56aaea65b5fa53ce5ab9487b4bdf0d60b6ebee8befb9ce7e3fc2efca7fb7c14f9f8eae57d3e9ef495f7742b77d17d3d7e45a9affcb31fdd619f3ab7a3936e7d2573305bb66c3f7f69a1cb12528eb4f96782b7de8f9feff14fa6a487b4f967354f6d6edd7e526ad643eaf19a8eb85c73b95cd35cd7351ee92d274284b5f21ddf9c67a77b11b92cefc621a8f2ad4aa6d137e95baa7b81e46e0eebfc9772958e1d9bf7d926cd23675ffe0a6e5e365bd2835c7a28a55b59a7fba8ff233ef53e8f7d476c20b4ce9d2392354513cfb0ee1ff7b0e761d04328b4d303365dd5715d8c18b0363a8a0e935c83c7212cfa23e8fcd5a73a92f4d9fc839d8f8f0b979e7b4297ca656fc190608dd23f1fe7bc8787647d9e79e8f3f1ea37bac7f5570fdf36da49fab8cd2e02f047f8e87dd3eb1192f40ffa8ff84d2a4ed59d804392fef5789f8dd66d8c73ce89a4dc7af51bd1c74372e135a95c7a13e73c9cc72eb579467e622aef88ca895827a2f2546ed989a8d83a11956f4e24c539912de523c4199c97b2d616c9f19d9dad7b91e4527fb1d3c167f957449d06cb2bc0312da987dae5ed4898ef8de002cefdac55b5c33e2ba37f423f5b61ce4797b184cd4b2965f560cb7348e1a68d80bc1c529cf0644ee9e590c24dc362ac4b34ba64db8643c65153746babf390ea4a4bb1eab5d6eab0b326c82420a3cf18bd0fcad9b33be54a87edd6beda7b87cdb60d73c9471f24b71d7a51cb222cc6c71a9283806b2a677530c88b65b497945e754dd7b9eeae5c72524260e5a9ec746db5064e9c42a6e489b422b5c831b28c4c23d9c83872ce64ba1d5316ae7a2cd34695e331bd7a9ff72a971decd99231cf558e4784f23e9717cbdc27ac4b0e07091ff023451673079f8a473be7ccf130e1555ec639ef6b1ed38b50def703feb704cb2655d065c732dce621c19f9eea629986458673aeaa66c2572f46e5f8607eb472bff8047b2eb13090545c2eae77c3334c14e9cc894f517356413efe45373faf9fa09dcbd3d3ba3c3d1bb85c6cc052a287e7be7020f79deedb719e990a4e4fbd7f7e9cc73d9e0ebe3b07eeb9884fde8cce9d030078ce817b4177756fd1063c3d413f2f1f281e17823100184f504f4fa27f4fabea1cf89c01b800fc934a3e7a8c8a8a5131ca1dc600607810cfeaba90900309d92ae4400e24e41df5f0785d51d0cfcbc7a3c3188000dcdb793a0f40007cfc87fc9f9fd78f23b1fee7c7575e7de8cf2b001e100ff71fff71efa8876747c8f3dc5701f03ccf3770a1cbe35e007a7676bca3dbc3e375ce01008a601a353c1d5cd3d341366e7e3a28678a0ece69751ffc96dbfbc275b98b4e460fcf75794545abd5eadb7156c7dfeaf86fc7f22c00e28b1f66298c69a9693834d76d3da061374a393d723b385aa99c5b6c296d4ba552b572bd518b5607a6d534268a72071a032d215a42b4846809d122820d9b1999a8668e3042d9c7a1246664a840f5d03ae2f28cccd38c8c962d656d6aabdae6a55c7623d8ca5ca934624ab9b6022a53ca15ca296ed03206aa65c4e5199925b31b9e66648cf4a0512dda268d729dcc531a31a53c2153ca9352c9e4cc99332dcfb47a988d49d2f26136e6c89813c618998d095226256120868a96999b6ac23b0285b8240ee1b0ee778727ed3017823db547d75eaf8901f39a853bbcc01869f170eff34c8cd37ffe62a8d4188441411829ff7991ad669ce0b0810da594529aaab4d65aeb17a71e621c5fb4d83bad3ccd2698d9971baeb77c325b3be00843970863244c0a2f58339bc99997314272f0d2e5480e4f5ea0785901871871d061cceb35a6e5186edd0007470b3e7b3925b316ccf142a445a6992892536a9ad6127353cfb31ae0e0a8814db5a10b125dd6fce745465ce025462f5d8428f225aa887d9e7529d36536e44b171c98be742133e44b17d6f3ac0b0bbe3ecfba38b5c074cbca8c8b134c341738dfee9a5d50c360f45eaf18348987134c93930665044f7466c0024a144e7292d8c2c31620a0a8b416344d4362cb0c5bbe5c2e3dfc775d06516dad964c0af75561e5025b29b8abe719172b4daae71997273f9f675c5a20b3d9366a8e10428f076d6b39695a9068ee42ee1b0be6683408d3cb212f356b6374400c92224cb481428b256292cd8c0b0b5be8fc7d9e6d891383d60bad285f93f46440b2b06739f2e183bd3d113cc710bac5e9adb49e742d282528ba2f270d053c5c2943e78914b6903519a1658b2d2740d1a8b021d5040d50fce7455ad8369a26036b2d97820a62861c41040b57c06085355a5ca0a507282b2d3368b1014a13cc8592a0a18656130be0d0a045cb29da26f6015b9c666a60a0618629315b849616665a5c68416935cd68f86146830e72bebd35e57e608c98c07188b29aa85747cf04ea91631cfbfcdba52b01a11e7d4a0f08f5b811f0c1310fdd04204ec1340c3e89d2a907340118030a817a1c6ac971a8bd96033b5eb141300fa7b78710db84e92ddb6bf528f09a0ed4e30936bd1b87580dcf6136d149400a41faf410a24fef319db910804298d2a7071403ea519943ea613d8e431460e8403d380e292dc5a0038931070210f57a701c9a1ec721be809294791048bf5edd1d65cb8990d0eccdb9b138610153838d1bcb93afee75526bf9c54374033fa5a0157e0eb582313350b992e6ca9a5691fb7915ba4c37e5fc29875e5335c5e1d0a4b6e3e8487aac0e39a9d23efb5c65a45344a4a8a835e48a0d46aeb4802900cfb32b2c5c2172afeb15f40aaaae86cd1c5ea8f7755df74a3241ecebba5855fc775d02c1b7b5a40a930c525a2b58a623648085116d4ee002850921aa70a912469b28bc30d226882e3b44c1c30c31882a54aaa4c0d22a4caabcd00af2725d980b39d1c05a8bc491beaf2a4492a8224e3afc77fd899315214e2a18d212d25a3273caf2f279e674a561f714b3a638332726154461639a6f66971c18ebc00ee001803833c35266ccd646edd4b3d4524b2db596fad70c73508fb2936d74d45e6dad94cef9c9a74fa5479fd4697b23d5e825789e3422c6d844bc5e42423d5b32c891390ed96aadb5d65a2b5756f3b11aebcdcdcdcdcd3dc54df9c7656c9ad75c078cb2c8d6a308763e8a1e8aa0e8d93baad6b7ee13facdf55bd06ffe6aa31ddfb6cd775cded37dfe3d7e23f6743b2e1e1871f078366474dca4f256d75afe1c163d7bd56fc44d93596c54e5b553791da7cae1a65c5359ae83c5a1767dad1ba7aadf7dcd53f5d62de65ac1dfebfb4a71ad7f4ce9f55c4db13ffb349580b03b46c9e1a81c8e579ccbde75e2b2472f15977daeb856c54da6a636e7f43842cb9f096cc358c6141545303815ca28650c7af8c34453c628a55294d16994314ada559501211ac018ad6a03dec47ce91ca58cab1713b18f70e724c969adb554d6a4b8c991909dfc010d8351dd0dfb4ed34ec3869a3234984d8b80d97c7b47d08b357870a1b8d02d548c1adc18614b63a2df2718eaa594317a575ce89ffccf070ddb509bf60aba34b846356a39772de7ade5bd23feb7d4f139e8c1079b41a387a0b3a2e462e73f8b7a301174dadd19d5701e65f4e7ea1b5ce3024c04dd61b01824243be55adcef6e9ae7c1ed941745db42691e0059370e414ef3366e2787ab52717186ab87e2161716a38d381a366e78d04629d73cba8ed7ca7b6e8b1c101bb12c2909bd28522ef255ac32af9ea143d53368c4a1e93b636ebdd13b62ee8e99ebf0494b01d346dabc96faf4ba9d1cee741d17e01a9b4fbf74ee063ad0462a98fa7cc0fe016d547daabc8fd3a8bc24f9ed480c6b60a20f3ed9c9e17ef0097c0267bc59dc11922c748256dae8f3219f4029908a0d1a3770d866a85816f9b2e30ee218b356d1a8d7a358a99c56522aa594706c854c44a30bbe9e55cff3037e1a5d66a49425b3bfaa7f94524a3f0ba995a8ba7022840dbb63642983e937a40d29a794934606e408fd8409c18112caa0ed5671a14f87d2eb0e3dad9d9339a10efa46e339693e64eaf1e72d65d3b070a6d9626440e85989bfa08fe143e899654c8f512467e7c3c673bfbe7d30544c61b3b5ce5a274bf6c8ae3a17cead73a1c337dbf6599e505ad9b337d0c4644a27a5f33231a63b468e31c6e6ee6e8e346c2cd42fee9bfb15f50c204a30365d298b7420154e2c3a7ce6a0c7dc826ebb2ef67444d40c861666313ccd624861268392190a6457092739332a6066548ccc626033a3f28452bb63fbea4124b0831ed280c0251a9e3aa8942dd784350915a21100000004007315000018100a0844029150284be35c987d14000f83903c664e160a83b118c66110053110640c310600428031c418a4904dd900409fdec82134052fa41223e60bdeb4483d24f9dd9a0784abf86d05665e59a572abdf349c52ea8e1c008bdfc588b59b1d3f35e9ff2263bc0d69cbcf2f0fb71ddd82f17cab51f97413410db06aa83f8aeecaad15b25a6d9448b7e5eac34ed09eff17faf0614794f5c51185eccc2886706b1a1b091f5b73ba0e519c685381db73e6305bd3aaaec5b4be280ff8e165df4dfb6da7085a5f7ce7020d694c57b6594dbfad4f37eb6bc4b34c2c24e3b6243cb51209cdfb2e90b9a1681b20b3d032f57dc1c0a1294c72f27b411b647db156a0337dca7fa4abe2675c0fd2fa4a444bb98fd53a3202304944d8687d01597a90724f9111798a82b3be0ce26c37692dda50bb9d85e2e5f4b27514cbfa92e1a62f6495e743b83d419d5780bc590575177054f72a27197c75206ba956f0f9829169951bad57da80caaa9556eb15c4dcf30a1ee3c36325edcff4de080db7d73ae26c306b612cd07a6c22bd2b832c3605358f0aeb82e0602c064c6c807f089d34324ccd37617c6cd3c56032d67563c8027ad1e3db03ddd24cd5e75dc84196137437bd3d165389cc956ccdd012e8ff6cbd4524459fc4dbe338f99bf6f6577a085bdeae3b863190a185c699072634b33695207174efdf436c07fb3c3c1ab89a44c08d33335280930a1a4e416728dc7826545a443f7d61fb42a249f6c5207db48c65b896742ffe4c4d841539689c00383bbaeb2325eacfbe2c300d33045813ded2021f98e9260259f75614364b63e02cf426f1ec9d0ac1fbc3f590e658d68f76f14f89001a8022b90ab523ba88893f75dbc1860991d6e7c26db3ad24adb7db22f571d10beb3f610a73e188753b12ee93aac1990fc0c1e51bd7ff142158ab434f58fc379c66ed0c7fd733a5f4778841f67ba9b6bacad85012e84344274427aa0a5e55b8463ff1a999a8cbd7213f35d3e4d97b526962172cc5eb08b195b43bf404ce6d80ed566ae304501684dc0af2f0cf3f841fdf1f02c984b4484b6daa31a29a3dcd27f71a2bb146144bfe94cb12df555877006566c7615024961c3e32cd925739ddafc9b48c3eaf4b4519ce757affb22857340a75a27be5e6229d6782d2e525ca151d75ec82e031023a8318b04a0965474bee2a79842bd043b233f1c5621bbe7b2ef3824496d35269e0b9032fc9b1cad7d0131b0b55ea3a4462358d4cd5bbf4d32a5eb72e1c0740f23b69692cfc14e9a9804113a3396634f95a623c2bebc4944d2658d409a85b02352863824c193442b364e72b59ff189b08bfc950f366026dae691197a366708407cfc94749c456378410b1aefb87ba623d5315f6e9e2219850ecbb2808baedffc9fac2b5558426690d6194f3ffeceaf28e8fcfa2dfe1867ebec6f1f5084dc0b86794051f9826ae01abf967a4ac81f9ac1e853350aabfbe3c3e9322652c104e8559321b79b53f8aa73282a8f1c7393626075ec28f373959a4c92213e059f5f8d96e8add0e0c11fca9427d6278110d478dcdc880eaf731a88f2c32586ed732f012295fe09926208c5a258cd5be8be6184f506a99e7424a52e61b2dc81ec35149a5f9af65f2c2934fd243c51a4762456e26e461a53747162d70f8cef465755eec9908586769880ecfae890ca128f88c7c9c42fd06eb24205ba2d692834b89652155dd7a0023616ac6f601a411516d13c4778eda090790fe64120600ce242b718e9b0e76a894d947ff234aae767ae2d87c207ed02f93628679af8465048c03a6c10a9d754d725f823efd656611fa83d8c1730127f98717645071bf3d5cf5296b68c5072ff67f80153ac75902ba0182ee11fc69d97b482620d958b254a54e53def8f204ed5410e25e29b8b879df406f522d822e56bd98224d3cb96fdab16e9055773762d2a508dd4a64321175820a5d1433360e800e156bbc9e811e67f80b86c374a8b27a3b211058d560ee3c2a7016c7ad94083fa97c48ccfe80e399431c0daecff8e3ced902318f3c45d9b0e32de74bdca608016596a0ad5e80c87c17b5d5ba329b46a0494527a6f2587e55f4b16f88708dcb06c1440e42f39194c394e9233f6ef911e9661ca4a31699cb0157df2aff7c1c1352e86898bf318c09aab3947fbbe2b54a009729347e639ac38a8098d2c22be5f6d086494ed854ce366903517b2f604afd073bfbb4533f0d81b2e68646a6f95f7e8a4097c73e03eb9df8f0bfc06a1aaf1dd071fa8c095f544c98e6bb3805153745c2c9748714da410148dded4aeb9fc282512348b0cb510b3a6263f7683e7289f758b1bb67b07f6fec83d0bff130bdc4d6f5fa8343e08d85b4abe4d902c50e3a1eab25408938a610eff40d003dfd297ce30dfc4be9b4b848ff02002b850f44d795570d47da53f4949484b289a81e0311c1288e0d0a9d307e50731d0272cafa347576753ccbe2e7640f97a57e3a63d7917424f4cee471eb39403231d3cf528025614613bf80656590a635bc261410183a1a6746607d3132eeb91c2afdefcd5313e5580464dc236ed0a887acaebc7f40b2eb38c3b85efd547f6e52b247f6c267e7d2d7e7e1d34dbe944d7d22f464278a4afa99622c6d2b0b701682871de2b6b509c5c2a577bcd2fe5dbf8c9a2bff1399eb0710b2095e13da6ac88c7d2aa86a3feeb463f2e07e379bf11664db066129266f5fe343e58354b1284b370a31505d1173580c9220ab8a6101457409b2e4e8baea91e12964e0f98656b544747e8948c5980da45772eb642f9035455b3911b5a1623bfd5ca5029ea68246a06aae901e88d3f1a1c0867dfa4a4195466d10c03d69c0a1026976558422dbb2db57327d4ea78c59a1a5103cc29d3b547bdde385bc9d96c7bd3607d50b32d4dcfa0cfc027cfd0f03f754b69d17bb727c7346174ed37472a88e7d4786699ec116e77ec2353b637fbf6e253e55e54c62b856a2b3763ad9c98df590e06c29aa8dd49078ced5f7799b2932425cd3c6e928564ec62e304689cd68b694a2bc35863e13d71112cb3e269f34ad69a34c7ee3708f26ab40cde7c0a80c313259eb7519cdc8c03fd6bba8b8d0b1a94628614f619ef5296c7dce52bd3852cee25329590717c9808c00e90eec5a8a491a55c0d58ad513571803f50b6b13d216ee44d4766bb7191deffad46d119194dc080670692478cb7082c0800279cca90d932e24d88f999e1a27791430362fe8c406ba703b208097a11062e4be0634e7302c83022cb12d5141d025423dd872a73227b1209cb4c32e4af4b7a974ce18dc9c11c3887749d44b4fe2616d9d6c3190484419051244cfdbd790b3c7cd31a69c4c039872fccf5584316908ff0253f890cc015ec7f64fbac302d80039be7248207d5c8546a5a6f3e738b11faf144fd2d7ffd8ebbfe7b568e036a0487f39fa08451352a1e0b404471c8d2dfc5a391767e0d8017c885663bf539fd5f2f369e987ab63b3f7af83f5542d803e88f6475282e162e7a9f609e9f7d44969d409308dd817f127500aad40cac91b4997e51cc61e8fd1e047f89af1d2e080324b8589439da558ab35781ea8e48d0ef400b8316a0e056691e579e56a19ce582568e7586f7a0792c53b0d6997455687a14f186fac485d8508c8ba33b8bf6471eea458aedd274c0e4c713f29c58afce1b115e98090d025d6666197e8bedc01e3977ff0516cfaba13107dca573c8954941b606b4b5bc906b73ca78a5b07903b86e85f6032b8c28c5f63b501071541d5fa4bfdbe7857e290203f13fd2e6219c799a743cb31848797999a23a49e2920c9fb9f65922c7faae9e88a6372ecccb23802af8376c89c2af294a5296060fbe8a1a50c48fc16b1b07754bb14778f6c5c9867457d17983d2a3eee0588359ad116369fe823cfae25459653126e74b89525d18bd5e64f7446b0573cd6f57ae6cacdbcce309b65db48fef40e18fed3fa6a5a2d51e389ff9ec0a7bfc383d2f19f468f6b407f176bcc5c7a7b6fab2383fb9aa6ee0fb795a69d7cd552ae003ecdc67644f3e32a2a38163631a9cd7316fd04377af648ed1843bef26fd746bdcdf6633d725a404435a33e02cb6202ee028edf7b016c0f29dca7e2a5cf85da4c404f8d9530b2fcbffff4d5e042b5e2c7c339dcb79f40266569c5f0c6c5599196ccc4b2ec10027c0fc8d853447d03e763ce4a802d2fe26bbb00e9e21d056ae91d3d5636b19bd9e42de7345018d4fbe4f859b415ee79017060bce7118108fcbc5734a584d378a8f5cc9fc9c8e971a1260710e88e29d0ecd44977919044ec66b9b7de2c80113eee60157c73d6cf27f443a7a6b38ba75504ae1a11a942c5147af443642a8d39f9251e4329a546b7cf0df74a535eca278fb6b51a2c44a3f59768374423f1a4a2acbaca0dd6d4f48dae8ce8986d9ff73d38f5338ca8b5fa85aab891ca7fbda10c8424d0898e36545d565575324a8c104add592010095722838daebb191c2a41403b0dbe4a9ae98bf1a82625190b8630657f41378f1516c8a9d3a9b6131f9b9affcfe904d9a096b72e645cf4ef2fc173433556b034464418873b49b7ecd914489094e8ce03325e0cd012bc92e2d36506f201e7ecbec459aac1cdc0adf397dbd8edbdd5668e9d54b5845529b2969a344ad4514519abe906b5b58c07da04a7f9c5676506310f2927dbed0a694935c92b1d72176e4dc1cad8964a13510d2d454bec75cd9bff77c14ad215e6fac3a55aef1fc2ebb4417436fe58111c27001461e669ea9d6190dca0d6487f26816cb30efa1fee2cb3a1a0f29042149f86cf6604469be4ca8a404e4b3110808d5922629bb17939c657ba58e0d1188e6505e270edaea29fa694f4ec36a2c3cfa00be8692530cd041f0f370734d09022ba3315b24ed06f478fef2e8103ebb7daaa60650b44aa7f9a3c2beeaa1c8b2d88819c247d0508fa76857fc0aed007ea027de06ed07ff401a91500d105726c83e93dabbe3a3130174de222fd7fcb139949318bd9b420b201c1aab690d408562e40c68676c26d4f3c113eea9e545081d108b2fb1d620ed9f5185691d88bb508c067b80c50dfba1dd4249bea050656614f38e7961a2427d070398018093266d9d8a0a2fe9f7429a62c7c45067d89092ed7fa598c3eeb711739874d784393fb1c0819de6c2c483f29f2ee74a12ed1f02727ced892f621d18fc2fb307991bef92e4dd5de5a026cd85f355680018b75c4289dc0a634ee903b2455cc71760653a90e556e5ec1d4fb02895f63899d984f618e9e65d91b0ee02019eb315b600c25bb0cfc301a3f63bfa9f9052a05e40c05f5eb7aff15aac06cc5537f46206ca4af39bcfabc3c407fed1f54b14ff489faa9580aa8053b62e3cfd1081f707e01e77f425d78c44f1ceec0b49b174ae81d0162083778b89e5db234cb1bbd64fdb22c68a75db7d823dc79b43f340007a62bd637e2003f5ce26609d8cd1ef9c30b8d7305e0e8ba5234f7c138ccae5c1f8120ca9c8b8b58ad6dc6572c46d4402449423d416471e77cd9d0f980de6d2d61b64e05b8ebe966cfdc6740ddee508d6124c233d194db70a721b88f4aafda80079f2afdd313d62ad3f03a560cf094234739eea7a711f8d16d1fe48a169666df4e805e04746444a74b952b55d08cfb70fb23016bb66ee121e6f21350d3937d83dee5bda0bdc63a954d3dd4df6606da90aab9bd41f6d2ecb582c8da82893c843a4604442cd7bb995343a36b4d6f1e486acb5043267283a8b949e113fcc80233b139e82e4e1a9f76f478acd15dd4b61278f5015ba903d9a66053c7bc5b5e8534c0d3176d7581e8a07c519fbf42cbc3aada7ae2e5f40dc2be9046e02583a625616fd1e5d837ecb149e9eb88061f2f90b2edafc8070758ab148ec272a7d9f35631400c91fd6dea0220e1d211b0d52fc8ffab9924873d8eec0dca23d1dff2ac7f0492e9e3f75ac503e545e74e171277d2614cb48d1535e312a2e900cfc61618d0c9b221011d531c1ab06612d3faf85e987e7a520ac0b069f6eeab8df040a1c9da8adcbb845d56a65116e0fc5518385d7e08615612d1f98b1f130f0b8353f5b16e1afb1dc0bc09f630c7b0b1c9da8897d6b4db0a7929a3b93f232bf965010851f5a15b2e2593667237fa279cfa54025db65fbaeb51a1db572f8a14cc3e1f36d762387ba14b94bd587b3342e7034c355f5b40050fa24a909a5fc8ac3286368b8c103140c9c4c6140490d806d3a13fcd7f39315e910731b00fc9a7c4fc1798617c110d679497ef0e36fd00eb0521cb0f5b3e9d6e4c101fb53973e9454b2310c03385e3dcab8b38eb2ebb08efda95616e62f0a8416242f194628a68722d64f5141e8767473ed042093c6b0a235b81a8d0d87efe507dcb036211a0b681d5d3de2e387dc67db0fc2d951addc1d42b1b681490ac54febd29c8db224678950bf4fc811fc7e02c6a5c8d334f49eef01db8be3600cb452e359525e74f3d873daf1acc19054f99eff18301d4a7a7e55ef062248e80285c8e3063742cab28edde326501b1d4d682f2069f9558ade73142e34996d0b577227c0f97bd9901ec3184dc053207d1ceddc7d370919a9dfcddb70bb62606e9bf0376654eb945fdf05d84d0c490b822bd06a6f752105a87645b6b01a78b8217864a76ee5617ba78cc097d1d8f030b24527962b477094c0c684e3fc29858068410c211c6bde30ea3bbc8947598c3f1e8d043c7ec2f619a159040e18425bcda8466a4f7262a605aa7294d0eb17a9a5d2e1109b7ba15b4cdeb6900a01a0ea729fb52282b24b6396cdfbc3a376c6a90d8e22949151460ca09bb8201a99f725a92295a44fb82c1989f2506dd4ede64007b83838b2948e2117e8b50a98293282391252645d7d6d8d155c107501e5b71b4e1dcd0be11d4343c3089a80025270cd9a7ba8654d135b0281aa92fc963b30ea91a09d3013419bf168b3a4ee543578a427164c6d0895499b19d31dc4735c12ea5c40c0168f307b17145ccaaae7c84140e7a1ac01fbf12bef1307228137cdc4c00c0999876cde8ef5518ca869aa0691622a6b2f8cd844841eaee179ef45640a05c2fb1939c898495879e3912158de0a8424904c4e55046acd1846b26fecbaa51f31f31db08d4d1e21b7736cf62c036ec3acbe3ea6d54a82ea528df374167e94653378273a684a54bbab6ed16b7cec0c59f2a076e7219863181aad3346c4e069819421fa8bd599123f1b43737c63257ba620e0747f1b0213cf5a1537931ac9dc026586474411af44d87379ce4adf1507ebc9206c0291f7343cb1adb3ef6646a546650d2194989ceee92f9d86eacd59b52c618c1f495124747e8758d0a31d4b1fceea92e5d595112e0d0590e7cdbe964b6cc482afdc54006a4cd9c05550756cebe5d5e3959f138450ba0bf16f338541ed2b97b506a10d1e1cecd8368afdef213b4110240807062739a5a699a9acca94eb2c4f5d8bf134679242ccaab3dcd9eb854993cf6ccfb39197e5df9baa6b6eb255791ec3c48fbdc898e7bc1ebd49b836b881efe66a4a98b4a5d99ebeae1e157418ef32bbd832ee6f1dba93dbc284bf2e0852dcc242ac56c798139a35a4b8003cb13b9d11d9db8872552303eae674bf2784c6a5101fef7974a8f9d1184d8f69ae140b1c604cf666704421fbad05306a89bb144b65e0210f4c90e29d2cae88c33fa85e2511f887a61dbfe6c66aca727e30ed83a17862efba895d2df6477d3a3fa750eb449c7bf0dd4ea2aaf734ab2000b4900352d88931968a0de1edb08b3336b0bac91d0f5cc783855402e941efe01799eec1fa0707041f01354321055931ec166e56fcfc02d77fc2397aee6d86eabccf08bc212de45f206b7ebc361588db8305a23d7d8e4270a483a4e352d30d38ed8553553f50ff11be01bf058679d0d67bce3cf87d32f716b199331de5ecaa4b01bd33b06439a8feb2aedaccdf00b75c222ebd8b2dac79ce65ff8a8f577efa63205fa44395871723db4354210dba94403a280c2c3a69ace27d29bcecf9cb8765ebf89199363f63413c518df9092b485130321789bd9c45a3830499b34344dfa93761c3736387866c6328b81869275eff804db94fad0b8136165444c1d2b19e2e4c9589c2ecff05078dc08cceed332d51560dddfa165d71d6b41978dbda179afd67808169e0957b7b61ec09b2d5a2b9bca26d870dc731bc88bc59d47c21593d2404a0bf1b9fb6b1ffd146e3068fe2152c4f04311a8ad4e8340283b5c3ef811e92d857c61da1397aa6ec0043c093d5710302f75230e10005b3c41af9c35b0e315f994e6e41d59c8caf31905af12786558dcd220e40113898d43ec83a979cb01db43070ca288bc9c56bddc172f103dff4d8d60db6f702504dba5fece014a117414f5f4b8d892d90f41963fd0ca84db011556c3c2fe6e9fe4a7ee538e8d49a19f6e4004694a8f73b232d237c59b49e5726c21e3149c629f05d7bb9c636ad45e46dc79dfc301eea631dae4a9a1414149ff5ed6ffcccc176bbe5be879cb2c0bba3e6cab902e6edd3c19178efc5118de40150052f8f6634210ce459f65e024dca62f44466fe9b1c33b2a1a615296175306922ae5cb11636d62776042982803fee1599bca3cdae177d67d581b48e26d8e1aee1ec8f37b2f09e025964643c1353f3455e6557b4070808c91eab1e0b8ab698c9693a7da3e84eda8673a7cb1297955ec8dfb03be3287b80263b68c5dffe19e4fe739c737e5068f747366d671467bd47394d75698cf7e48bfcd34bfa7c967ac5234be19f5e62016f45014dc07fe07ad6b7417495276e3d410715f039261caeba9ff401937b99b00cc6e2c02cc79632638b643e74048271da4e97be5dd68817036c70ba7898db10f6aa89d46916e7a71564644259b635cb4d03d64f5564f6ac26660da24ec68fd38afb0f3d309427f808e17781be976390cebd5c19d8f2541e5a115354acc259f455d88bff31581d74e52b7a1a962c2e04a95a50a080cf0a291b755115c952a455a08e90b4e7a8d18af40942ed0ca25c3e5b5e513451c2c54fa146ea20ed0ea6cbfcddbd6938dbd4fafdf06c29b26dc8521ab60056024c31a86a4cc11e8c06f79e085230c9cd3491949d4b41c2b0cab6fba492a4688ed4866fd3469e2ea6aa6d8115a4047da2dc95b5e7f91a10e90724ac28bcc8a0c4076cb653864c7d80ed508a9bec7d255f1b99ce52ca58d0a13c3bea2293b923f8a55d068e20026847761162380a1e8902007dc048afd7444344978fad95a2a4038cfc0e10fdb44d12d40cb45e5f1b8603f123afdb3197c692cca7f3fe52e92562b219e1e6b25065973e812b90999c458a734f59bc044b44007c8a7e0f0186bdf3d50e6e8094c4d2edecf6d8b91c04db958d50f3097b371f0e133e937232a96633623594d853450ab34e0342996a6b15c46ec586df461c8b4c95fa22bcf745a049acbc0145dd951b369b586700d65e9db9dcefb2428543b2115b93dea20b3df92f318afde92a60439562297d5f8164849b1e323b9bbd39322b29d6c5cfbf9114b59947474a172a895ee3e1c9809e54fe246204297775d0e11f61341c2ba22c5790e0a51a8e76b1021d39d9bcbdc962b1265ff81ad90809b0a542f50c38efda1f9130b59c3e621ccb334efc607f795cafb46939c0eba35d356547e67e0b1b6a8fa37450facc03c7c97ab3dbde75ec653fc842e517fa050277ccc7cade3575f93fdab4ce6915c5c8a4cc5abeda86c3d4c115d61c5d41d7589e963cc50c48c89a0ad4d25857204fc92f1792b7510ad5783f6ac85d34a94f3521f8199a9b684c2a5ac2835a386d78862f639472ece2a0286d9f189541f68973de37183f458b5de57503bc448c344b64b4ccd5fd48b44d34553ae804b03732f041c5073280cdae2125bf278fe00c674646d76f19b4ccf8d0904f57cde9cf4a66ee4a4ecce21b24729733a838b5c88de470448f08099d35320e9f3a31964723f8ae92957f1567fff1c95ca3526a2209a2dc8d738f2227eb5589a184d889933fd92dd8030eba6fc73b0ccf151c247317dfa9e09b12bcc399d403e0c5566448c9d549b78ef9bddb05e3806ead93f8bd73cb536859d3105884fe7c7c2b2704686015219ddc921b03fb2ef53b8f59eb4fc85dce97659fa83b92e0b1c31cf28709f8834a7637bdc370e0fec0f293bc03d1c3e40cc7b027e9bac80bedca2405da7778d37d3dcee0949bc9d20c06405f1ee33cf4fe4d3fbb28f4f5eee11686c5132a43f0c6f78f5ebf5d6bd48d427803aded784130e344f14c7035efa2eba78be992bcb461aaa9ac58b4298a3c2eb915d8d393b8a37b66ecd499d9cd62bcf9b398ff336c2c0524f03c17af25f1b099bac9d3a431ba5adbda66a2f15ada3efd11bc49384843d60af52d3cf13b24d9c00b1fcb8b996dec1a86b16c98a7ad99c00018a38216be1d6cd74313d850b14d8196e7e4a98a71e6c6bba9c9e653b6d0609b5e8b63c93b46ecb57dd331626ac6401d4b232a49d18f57c6514c9f24fd345c932d1b5c27655f1c68dd05b28eb1b3744dc78f2764a49479e52f8d472c85932dd1c4638ac26dc3277d47fb7c7faf772dd10fffa98e936adf4fb62f4172602e79f282402aff19f1328e19f9a3ca2cf23802bf12708f4622dae333f4d0226d9159e02ae6c6171a84053c76cdafc8745763c1df237c931ca0f15f9912ddb6af0848a6a683b55d0a8e1379e836d6e9d0b209735c9212266363c7c4dee6e97ed5b74f478d96ebed1b3d8c16d3576f9c685fd2f2e825ca8d7817e1907d62866afa80e70e425eda3a0c46d29f2dbd95ec07a892ab9a74c34b2cbb7c1fc80468595fce852853a00000d6827c99bdd695f99d4a78642383d2d120ea719406a6200c20733ed9a33357fb4a19104fc3546abcf80b4dcbea4fa1c5bbb11906d07fe388a799b251a8274f990f0c657ad2a7bbe8ca8b54f4d20068c26132d2c0eb92ccd961927f437aab849d1c2cf987e6743c459be098b7aaa11d5712d03b94a7dc9043ba37c88332b9d013132f44e82d64ccfb38d2bbe80ec8f75080a2e9e497572b9408e9c7220797c82a3b5e4c320454fa6a6718aae846dd8f45c23b84e7a9a40dba0a87314bb91876b4ac4b23083381fe088678738011829bc5d8c39e3c2659ecbf239aa8dd66e013342929868c70744976c2358465451d5bd0151e0b665547ebd0d93a122a103c6cc30420c6812dcc09c27c739d868827fb83276274e5e032a418883010f80d48296935b1a72ee869113e79879c278be80f6d0847c53899db5fb903d92ed8256fad04acdaf038385f6e64c840b07d01e79c7d0cf61fa4eff349c186f4ef49296996916cbe9cb3b0c30189dc6ee4c73d2f710af15d81d45e5cbea476c859e1e241ac814fbf4c0e326d46cc28a41697b63a1a2558c4f37207863ddb9ee1fa741ad59119de4335dadd7d2a777d1e16cda15cccf8836f485a7ea686b261037d1e0aa10f7786c14f2dba302c002808b771eb4c966ba3f4ae0f36feb8731f533dd9b036450b389df07e89f546de06f14d03ac4ca0950a43a543774c60a8167b8c54d183d74a6f5ea55e0cb8bb94eac37477ad0142f2c74e5a3e967efb831b40ff6c90ec3dcbc31b46519e537d8c9fcd16cf3c31f31cc8c7c2524702f63b11619c4ac12ead05f976fc8928fcf3ca1f277b3544b57f2dd57b1ab5cb559ef37e8a3eef0e293b6268c4f2f58fbb2ea3ae981cbfdb9eb0e1a16783a2e5e17d086c48a3b08d9e687c5379181c289aa9996308db3d48fc391385d326b5efffc4ec11046baa41bad0895bf4c4da71d2fc0890483019a3c9c2b5a43548ddc904bddfe17d9d0b4b8a89972b4712cb33fe088547fc338572a3b0e15b20c6167fbbe983a6930e434cfa33c88de41c228080ed5125e07c865cc0abf2aea23d492f6cc30899fd1ba62ce60a1b84a9875d826dc3dab617ae3cc1d9083b65fd1fb7d9f429ad98365daf4821b136fa6a92db163c224615ed1a1511f2ea714d2d2deae376d8c79a6bd744f17d666aca5d68e6841ddc166de11bfb02d9332a515755ffb52c188ef057cf8d5ad6e23c65d3445af7a03986ac31e70a034cd56c7ffa21667ad5a93ca7d60bcc9a2abd58314ec4a72ec0cc31887cb9c18f908d33eed73b3ae6475bf40bdc0e05a1eb91e0a499832d6c86722432caf73da5912ad15f6940588233fde89e29f0b3307a577686696db924ed75a727790802ac9fffa1e310014c20fadaa176fa6b106c3a4402866a4e68a433d2745ad3f2546f8a1610d1bc86112a9ef035f74f6a5e6d9d4c51fdedbd45d57edf4d0df87feadbf683382db51fae7f956c9db6a51faeac0472cc7918849d78064e70b44bc70180d04708c5191dfcd729432edf8aadb7876bf94922745ef9c75a0cb5b12d4ca498bda277d3099eeeba12ca0e03b0d7ab8a0a89b587fc947d6155f62fe054cade9018ea5036774e7ad8060e07c3d6b297af6a8e14e75a1d39f79ad50d3eefa6127a093a6a4022d24f3b79a082b125f823876f1e9365644bec4790cbcaace8d5437e4804e0fe0ebc088bafcf0b6c55afeb2ceef4a54fd32ec5d4ef9bad5a52498a0c189c245b9d64869884578c2f057c22c5ccaffdbb2d7dc5413a0b2771895b3f7bc790b03db09ec675adc07f0d0413d6ac91163781be73f78f8d13f4e3640a069becb0eef527f19242fb08a8442a7d4f1b7dc3b108d199734fe46bc16bfa99dfad7790a74568ca8c19a6a1491690ef57d78e903561024fdb98bf6927b52cc6c74cbbc8a3ac7e28b248005f65fbf0a6ea94e1f2ac86194a987f2f744b4533f803d76d91f95302badc0051536cad35dda471b41d66a4b7e7b3c9d605d1a437d710218a5e5c40e1328741c1fd0364ef08b5fb10fbdf13adb9e03a0d1a7cd8aac92057709352b138d6da6ed82977a63b75bdf2fce93a533798b4aea418cd24b7e476e026dcb5fa14e3cfafcb6800249742837a766ed4ea7ab16e145b17ed70d6046b03919baac6ed4c98742a943fca22d13300a229c20f091feb053f8349bd77bf5cb2fbd8bf4646b9dafd780083fbab2ecf71a2e88289b9cd1b5f4a1235d388e2deceb39e5df8b90bb48b56d52d2bd9ebf0cf1b293800d073a8b11024c9de5ac44aa802874697695179f07de7ed00a149dc231c3ad9e85dd8fedd0939d8760de3ee7126cd87ee8908ad433a3243daf5a941e863cf6d9f53122d129c7a72ae1547b2b5c3255111e58939c770b6a351a5205c1ca68c063eb6447d27508f9866ac2897d29ccfddf950256058da0f08313c7da674cf7f5ce0b4ffe7026d4344b13bee22d0d80990dedc1d2e00aeb74dfe0d3913162ff649e06f4e84df522ff52bd71720d922267ee9bf0ae456e750e2f8864b648ccc86ac51aedf4f598b158fbdb08be0233a2979ee8012410b990bce31d12ad981e29257f8fd99457d08c628a063781942a207953ad216696a7e2860ad5c850ff146458fa3e700bebed24177f40b05b9420532dd3f5a34d33cb93d73eaf861ef4f24bd87c29d43623cc368bb56323ed6d0e9ec9a238b522e52854277274c3ec52c666b8921bbea37ab901fe02f05ea95374ea324de3b1758c8cace7b3c7bb79ad5503681a6b39b85c337ca4e2b17d3976ea134cda164ff18618eb9ec85e12d26d7aaa91c41269cfc563d3208112e73d029f90a21903d48d021d5a2362dec8039a9fbdf78fd2a5c4788adfa3c16323587d6b646ef8d24a94c4b3d051a850cf777e1f3ab847d32ca38e4bffedeba715e62f1f5e8829cf353b8cfc8e7ba94b80d0269aa79342e5434a37e64ea747517dc4febb72f2892f7f6edb838af392eceb884b806a731e5bbc75683c276352df874c2d8b687e8a6ae3479af0dd0d12ce45cb267a16a856e7bd6dfec3964b4f520ce8d845555af78e8ec6d1d8f9774659bb804d3d3bfd0b080f0511663ca90db41c2406d2c338bc300051a53b60abe93c9ebc412bd14fa28effb6d818a49d802106c4b5666808a3cbf63640cbd5062d556f199d44e9467f8e5b037932ac749004c403f7699b97adf34a365ccbf6ab9d092e0af23805a54fbba50d5a5e32726794d7f0105fc3ab6d2bd746ca19647ec3706da4148e5e6ceb00e6b66adea005d4bbeb20051c7d26ee63cb5a1cd04d5896508e300315c6d87340a6ed7b36a257f6e0696c2a0650b4416b39caf65c7481c448db0d5a7e1ceb7ee4eeb8823ae54517a26a2fd8f7ffd46cd05ab00bb782230a579fea8be134b41ac36026fe8c4e92f88fda43f492dc2c10a83f0cf23a6a5673f5751f143ad05007a2ff8190c44348fd9886a6123cbc41d62bae51091615d6b05743cb3872e31bb46e0064a5741bf4f4a7884766ae429c2cd07f8c56021770112c1ebc5a8f1aace4e5b0dd3e9c28dc1b11853ce778a8b375ee0d5a6342d9f508415a187668399da0251ea015da5e0bb4b63a42ebb6e29298d64353ecbcddc005276e122dc90aa96217dc5a4035f855a482122d05aee8b7e58fa0149b0e12a56789960454ff4bb695800d4d9486d35e321badb3089033cc06cb65114c3b26365af2c1f80c6c8049e31f59826d9b28e802414190e9b83d3fb657217a9d35a73f20929d6ecac32ba3381070c8e168cca05e04f5e8b84a31c3231e5beb972a137067f1a39857e4be6d8a613856443701838cc6384cac9f5b6e9267da7428939842e956c637bf89b747ddbe35772c609b57df549dc4846569b86e1aac678bfad21538cc7ace1973ac771ab0eb89ad30ecc93bba5a5cff3917a92710c2a987edb264f619c155db6805d433a75daccf1f5b1d85952cce269ee2317fbf28f109ea0f09dfbccc93ca0c22877f18610faac93827e567b9e1fcc07364f8ff5688858248475b13b4d949a5ffe4fb94db08eddecec8083149cd2c59c4571c79d7efdab173a2c7b345849192315f5f38ee5751719392c8e9232b47eea0c40698487b8c07ef8b0e643090ff4d7b79774cd681a2c673deaf59337b8298699d96ce5a1cdf783f094db73f0d541d7534d17210b16874286703c74ed3648197ce64f1a5ca228b2b4e7d9f810b9c265253341101f8a9a560a72190bb1a8481b7d5a35b9793b6cda80d65d64f69118673b488b19db0e178941e1b9500ad95e1ea2265a67968ec174572992459e0650e16ad2e82530fc0197448e1837eea0b786d492b02e8960adfde5e24e77285e55e54736fc186294051aaebcd0ca2bd4534cb121e6914ea88df5815d6cbef51426d880cb42aaaeadea64e2b522972728773f340a4c3f4ad2787f8e7687cbed4a1bb894012adb2849ad702103fdb81c25c52296dd6760fb61071dd057de5868e0bd062ab7a2278e9ac2cae9a4d06a43677383b96c02db5d704ab2ebeef209f6d1587704989a3103498617a493c1ff28c4d72fb35b7043c3c3364d268f880279ccc7f42e0c4e6a7dec385b92d74f42b208f9c49382760421bab73d83c1660ed0d92e16477c13f7dd0799242392479752b03025793e8c11c027e20d707d1380f883751d51990182ebae7fcf24848186da46ab71996d83c7864db8e44876efbe97a8c418c8a2c0736622b841f62f024620f91a960e393886e1739f41418debc416791f95d1396cfcfe7f8a45e85c18a1e751e77115748151e63e0407a829a370e6cb6346c9f712d40259b512b70b11f7581803fdeb2a7e6d785a1f0bf6ceb30e76c5c957a2a4ea6ad5b7ca118d07a97da8c20aab4190bcce0162c055d48725f386b69a645669fec286e0e4d95f83c181af7b648a2092fdd2cadf9d0ace1c8cfbb2dbcf25f7bcd0eb2b05b653043fd7b3941b5cf3f0f6ad8ad2d08e90dadfc13fce0a01241fad62d37fabe66afa4d0b400304316fc0cbcd533738adc8eee9dfd1b15005afe3a27aa11ed3754a7172f38e6785646e5c37a428a384237f7960f828e1a7542e8dacc6544e2e1dcb0be2724cc612acc8c821c859ce80d23fe3e3940256783bf5303f7e372b12cba8422ad2e73d54b6dcbc0f477ff709bc9ba618b6bc21ee764a0361efc3d31cbc0847c3724e0ac1a7dabf0293f449ea1d54e0e3643c07967672e00f477724c7969dc3e02038e1a8a5126f93bc1e810c11931cc6cdf7150dbcf3efe81f824f97494eddb5e042efb0b4ae33db35b2ed620a7b09a44972dd351037259c8af5661d2f198f4958de6f879daabdf2f6cc2bfb2e22b85aca311b4a09847e8dcf647b2610dfb5494192895be10f73fc3debce181a8d643ce8f3141939bec4dfb7d39b480cc06e35c6155489df2cda44613678a6e9630feed04114d4c9944de2c1c7676943aa15dbcafe83af507586316920b51b6b2e5f33937e9c6b7eff456d60e6233937c11877639a7b0361e484fd7b1d0d835d97022e7288311b656cf1533e637d58b4560dc56345e28d830d94a9f4e5c4d4d18f728765ac5890255ded52b9e64a726bf3c051a4f61752429804374b74b7fe86328b2ee731295ec84af4ab3906d432165d13ae6ca39dbc642d2e35a879d521f76807a98930eee942a061653b51dd00859744f94c4f53b725a2736d04dc41d265d1463a66788a9bce1032fd7b5f398df8fed7424a99fc5098920ecb71b6d30b8eb42dc8f347a286f6b57ebefb8374bb90fc4afb18987c355adcc9c0dc27301b052603513649d0669698f8c51bc2a459519837f6465fae94cc3ac5f7aabf5baf01890d612e868d14498d8ccc627f4c0481c81f402efd1b701b0ae0ff359b0f3356817796fe99d27bc2b9d9220390a4cb26c0c3aec929fa269c156d8aa8f2872dd5eccdec36bb91521f9e2b391b0a243cbc89179f73d006727a923f917793f32dbcf51ed7c77ebd298d9d854f011f6074696970f6a3595102893c68305fd707842cd1a340bde0a79cd90ea56b3905eb6777aa7e6dc25a68013f2066b39fe7119aff11fe7711ba7e307e3e63ce5d6941e53cc63143fec079f65eefc02d2673d5c28a2f068d7a5967b922e669adec09d30a655ebd18e9e2ddd1e44c197e05c3c41ce5aa1fb8108f852cf24897609dee57c2504e9fe121b5c8625e9c3268db0f67791d8e5689ee121889622b0788a822ec1b3bcdc569a88df2fc4d0977052387eb420bced5d1cf4124e4927d5972b31fc529c8a0ed640086f7b8a87fe82fa9c94b37fbb8029148030b4e2446456f281d445280e43fda752df89978c51fbb9ce1d9f2a0200bb299c75760bc21c4c9c32756252a924cc2563f630e946f781dc0270fe5eb89749ad76b8711ee8127ab42c40d9324964693b0cc2558639eb8834470ff2c5321d51f959ea34f2481b9856929c12053ff46237a9d4d8999f04a77b1dc98617453937aa813fbb74de1b250f7b42dadbc4bffb5de42d2c9006ff4b5c2c7df2b10db4256eb5c86a148b1a6b06dc47f02c550b9a0731828a3705f3985e4b088a5ae93909bc2290f592980f32378ecd1475b0f73c51025214ad41a23f6735b17073628b4d2c291a0084c2aba419a870144650877d139c60958b8dd824c40692c43964929f1351c9f1e5960253ff9aa207b466ce2b4948a0d716c28abb2bb20c604076b4f3d4879edc4b6af243ce93692ae6b6ae17a3b60a5b7aeb706486f04f31dfe8959d63756d86f12b752d7686984910eb2c12db007b2f8ebf4edafe026ee44f7fcb44f68ccd39ab2b1f38eea3dc64e76673eefbb68a1bd4f119aae7aab055678fec4dd69696f2cdc622f5535f2853635585cdf8ff7cd19ce10e74335070a9ed4dec3fc9e494f4330b07a0b6f376412cecf50f59240446c64fc9bd69b22d3787f9769d27a17bf3919283d28b4b8a913af227143e4dd0c8ee8d04d67cc9cab5cb417e8559cf82d11b0049b8f5f32af78f6f59e77c81c3a9f38adc0e070724129b88ad4ec4ed1198187f287b0cd822379f5be8fe902377c02b23c0156c573afa8c2acafaf38993806a1e7b4fdc0f876f2e1871a1a7dad7d47f003843d74211bacaa96dab0ad7603f754495fdb76d82fb72e63d5d252181e7781df3877aa5043210917ae9d863c07a4e797a50cb0a7e62c0ffaa129191c8c7bdc4ef708fb13c90690f8d94291fc5fb88a072591ce18a9e5adff784752126dce92a7be6cc0295796f2b8a0a3b3c091347edd64b0bffe0b83949aaa502dee7d2d2169c5283b910be21b92b2bb3f8902fe55628091246949a0fc925812047686dc3d2adce87fa2f9edda7051160a895ae88dbb8f9e9f54ad327749ab0f9fd7a4d01cba09a59d7cfd5dbb71a1feb4f8f20ff7a801c4b2233d9a9f040b8f3ca93b1254d69c7a00a1e25498cbc5f750d8bd627499403f83e5a9454eea1c0e131d073a5fbef8e5dab6d87cec5ef1c508427ce9e18b38a319d57582cae5eb235abed20828123927c5a82d83318e28613e8dc52f77c12d74d1622b22980d6871fc73cdd0670bf6121e8af5059249d004996d20c9028a7b3702e87f162b83a5370651947adc07a57cdeb85c29b1e77d8b70c63e2be0e65075112ad3595fab161a5c08eefbd586d36a3423f49146de0c79de28bd1d07855a3ec7b7aaf91664803025dc8a660ae071b6dcecb54c374df68b8d65e4971075c566d7ce1a3191c3072c7231512b5edf83566cec04c108a5e7bc2b37c673f30fb0c1b9daebe26e4e7c88fb625cbaac12c14c5ba456a0a1b85dd1e2e1622ef301ad79b001d31f461d762cf2c25042dfea6b6dc60fb8de93759140cba062bd18d240fb9c0601de9022e2095437df311e2c551ac3073decd958b432f5f5be285c6d16af865849bd0669fffd904e54ac54f1587fbcb966262ee58ad857ea1f3367608582cebb5defcc2abb53a6c17ed33f873b6a87db4bd2dab0df636d33832a4e0895921b6d5493d569f7b3cadf4ad0ae26f56cd552fb6371290d7f8b88a0b0485cb2dad9382d4a8bf8219a525d1a6ea2d9c57c2ec89bcc4a7de175f780e4c998dc56139c75580717df371895707536b44ed6627f37c96c63fd871828e5ae4f002bde0565b3b4a0b71594fc5f804d7b75a8c565faf9d35004908bf71ebf8aaf740bc58f372a75d6cd88a188dd0f4b887c854d24bd9185fd8e18aa88ebe2279f21a72bde2d8b79aa40bcb72c32d5e4cff89f34b73758320064055f63deb4e316e85d8275568c5eeea58c22112a5a30f730f76fc5e5dd659525f1663f7a539274594aedc627164005ee8a77b7a5809f1ff7e5e5736e3712508bde285b29ee219914bb05527e32eb6ce5d45af7825529371f71d93cf5e0d18df2ebbe53b3eef0d086bea90578b066713f714762da408b5cadf42458abacb5dc5963e824f84bf2e898d9c13e74848a20487bd29e338fc346ad218cb569be97106d6be81db418977c5984734f1a889eb1a927ac53f0ffd5d1df1c515bbf631f0cdc8ff247431d6dfe90ae4ed58c2809d59c17bb51ccc5e3d8a5298c470bd2a29a4cb624c79c07a290cf9c9ca667656543abf9c1241c28c002433c4af024f0f7ef6de64b1d0a92c4b4a4c59fbe041322c784ead15146e5376805ced159bfd36862f717177d25ee1f6b881a877aa996f008b634424aa0ac1079c8d98d9fd515726b35ddc20de2cb7984f2a43a661f390fb77c65e1f4730794468ecd56b5527ad0738e2b5e988b8c7d7a79dc500a91be371f1ae9e5d5c2f6d750490da32ee85a5330f94f1a392d7fc27ae1dec94ccc79aafe85cae2609ce06e5d1eed7ccc426f7e7c85eaa436c22087dfc9086e233d75686667513daa90e450e7f3f205c812110876eaa37017f31247f4d446288ad0ed88f8408637755516fe978fbfaea7413b011aa99b0c0dd9275837d7d5be5228c1586c9b0e6511ae23bb9cfd542e90f42c91b2d158d9e70973a6a0c8a2e5d13285ecc115151748c8423fe235bf5ef68dbf6fa93401b906aaaf59ef63218fd9b86a74f0ea5641250ead3f6312430fc413f96f5eb163becf011815b95e3e5f825c4aea2b6a221dc4e042e24157a523c88307fe1e0e3e65266883c0ce3009da4554cc185b1d3d078f697fef89ab12acb5dc1607e869e21298124a78b05bc68434cf305508791264c16b10bc06e992de3cb161f771631b27447d8456c2bc3c72c2ec33201ef9624d02b128cc53cdbd3643f49973e4c7336cec9f6c843383bdde93d831d6344373c7e04069c44fbefeea16bc2e9eb06def017c7e6c16c9e3af0ce9403350a69fbf5cfe157dbfeb7056bce92a70b3142208e59fcecee332cb9a924bed23974521b9a72442a251b2273ebd4c41b52b361b689ecb5415af9ae77d43599dde0c4de723358b8c5ff930ec8855607ff24f1aff47938dc54e0789d06af51c2e8c1cfbc0269aa11f2dd3b0cb4ff8d12b295f5c8c7303abad1393196fd21a4c01a13abdd318b22829712ea1be655f84bfa81638e5b004850f837edae6d015a5671c1fe3a19d93cf0121a637ca4b9f5c1a9d385a8ef71b7c2c91f118d9459f0eb6a9ab9cfb4e50ce2dfb48a5b6901bd7d1acd72eac71239175691f7e224a82e98d2e5f46935a5fd752ea5b2b11081d743b521e209c2b694bf4ea206f8cc46ea3267f7ee33977afc43791148efeda70afd25d9a22a158cfb25a3cec59399c180fa5f712b56693a44e6284c585237299377bb7bf0b91469729fd5721d31919786e63460ff9f70e5d35b062d8c8cc00ebee2ddbfe27869f639e0b2e143c47f0d0c5706fbff079e4c743f89488fa7d67d4a73dbc10e02c6d85ca48e09a0b003b3bdf590d2e481d0012db99ee8f9ccfc879865fdc3b203b8b734607568e08f907de81f708b19b4f5f359e36f44202d6ff1228230de435004748de8040e999825d0161503251ad726611eddbf472e9d7d4eb42062cb5175f20bb266d74222e8112666ea5f61e331d402d21585a78b930e0ddc8651c1af54d66123575d5b24a6ff9580596b4f85eda8d8c8f0708d37993856cbd5795c27f9dfd15b46428baffeff7f789a86b905fe6cf406ab81b3e34d349e5301977a5f27a9cc3a654219ece47190a2b98a143ef71679add15d117c94453228b38aed04b1af8a84f22f320531c6025a45a0972f7f57ac93e92fb18438340dfade8c46608e377a551240f8b64069047494b6e26b792597c0d64fda44c927910c1626b2e403245fb581438a9138c9cf268164204db888e8a208b3991e14d279b3ebea575edf6290c75bf22f4d006d13730443de9beeafb87f8c1b2bfa38fc8625dae2bf24d0a76331604dc469074b4eef37d3c7f57e8291ea2fcb8bbf0b16c554b57b061145151f7ea4aaa295e7dd8a0bf299e5077dbe3be95de204567201fa33c7e31620318e981479bc79c82f3d6a71d97bca4d7837a7a9669db6190247162c80fe0166eea1aed953746dba3fd7b37ec0e240176b9b51eaeee98b7b1f536b6684a1b15722c31d54b0a02d6827e2310f03688e31850bb9f13515e02cf00b26363bbe5332595bda90dbada1c7108cd43b003ba5e5f2604e27c3027431ac1d67ae1ea1ee047e8645c09f04168a578482a2169f55c86f48ddfc141d1341295b33c3e9c8b6784096e032e170fb2ab98b6e1d07603a9f8e3b3a9fac71708cb3635834dd844ad9cf65a56101065440c3c8d68225c2d0dbcb2fdcaa632e99d7208eebe210b75448cec7fdade7dbc7866f557c70e3023cc31d21aa7d799dc902530a223a6c33299e6c4cd5450719260b4231f68f093a271745e039c0c861392556cc6e597c4bb8bf8962b0ceac4aa68cd32986e88bdacfd4bc2312f7288d7a018faab37cdfb0d685a3667d8d3bb4eb5d062ca4cd58cab23a333afb1ad2c20cc807bbe353256db6561d7a026d821d5bf95a2cdb0f1ba7be4827cd7e227400427e4a0639102d86a955b214b6b118b33b42fb41d771e6aa0829993cedc0416df3ee8e0a386072221965bbd8445630f388009d60b78f5f8f87ba1c55df580efb9f51acd78a07fb88e1b34980f965f2d4376cb3fbff745e3dfe233bcf86750fac295b0da56fc4316a871c1153fff557fd35cb8157f5fd75e827657c3442d333fd21f865aeca79a78c02d7d6fb1db4a35a80527aa2340c0bcbfc2d4f5a3bce306e3d3511f97e6c4958e3456c97589f51f9e1d5996c1087cc4442ac363994b0150511d7d47a16b1cebad7859ad95021c4bc23316851a048f3abe1325cd62a4e7499fecc4f926610e6c78f0ff2ce072bab765cc62fd2ef8c9f44c4ef66860881e6cc8b31599fc291277c3704cf5a3eeb913faf0a1daf8687d5a17cbb865f06b92945f453ca6831bfdc46dd0252f74b56f9ec253a971a6f20ae8c96912f89657c485b02bf392cd1b011d7504d544988ca079c4b4ec9432461514350ec0bd2f1e80bd3889d39400e79fbc33dc400937f8c0084053b3b2a763a62fd92c0a923849fa7ec940832ac1d94210d63fb78ff433e81c5b94226c7ceaf4a736de850e14209b060becfdcaf1ecc272e515189d589de9e8fa1335cda0e10500069422140332c707b17c9dc84cfe74f84b397e37afc8b8f72cfe2d620bad4bddd783f7beff8f9bc33f1c11b155e8fe3490f9607f3c74996eda6a802345d55a546efca8236cf3e7ac99eb64c793cc7f2907e3eed16b9c86e55658803969225ad0e7838bd6e0fbdcfe05a09629eb35564613c0a3bc0f67e1d023af0474c2bd30d24e2f7ea65e109319de3a8d2aae627242aad88d67c518fee71ad9f82616ea3006508a783458509a22388b9410a3875c3d3a20255ea427f96f4ba0ed04ac59e58667ed9b388980d779ce93c872b48a3e5334598b2b2e5e2282c2bd468bec9a2705356e17a1867e68641f96a528fced7a5ea1f78d9bdf8fbb5c8b093349348b168b2dc5a4c238bb49dfa047e0d7f332f991c03980eed02e49511bf5bf2f895ba66de9e1c59ba56ac38a839b4ebd469d9c4a4b7de853f5ae9601afa93ec5baac6e7946dc45a11cc0224074f4ea90cfc2adf62ce9ea7631db928c85108440bc8f9175abe5c89854e5ec3290142ba4774d99c88c1eb53eb4f4989484d48b5f861833634f011cb6331215f9d41a4601d56ca03c5497c8f9fd43a473a7b12bef4987a248bc371104aecc420ef2620d61b8ac806a3438b361a6499cd106bb9d2ca1fa340bde60e6d4ae1b99e07509244bd37d3e5f28cb087dd4b9d26203798194b3950f4fbf3edb1df0e28187825e28efdce8e5fe6f5e6ee460ad8c5ab28a1fd523fa155adec7857b8cd13749f0ae6eb700dd8c17d726640185c553503f0e4824b7406c56acb6450497cf4c24c360c3a8e3b7314dec6f218b121a30d2277e0ea596ad033a407da5f0dda40543e81de0014dba73ec99223741ab455e7ea46d0b5a2a68ee594e92c6c35de50bb82c85a8d37045a792618b65a9af4409c630a0481f307f79a2254ec68282cc4bb7fc9c82904c83a1caf68a7a7f805c9b92b8b2f83e74e7deffb1a92424e30f3e9d019bb901b1423fe33e10d5233560ce3dda9b74c17e877edf3419ae3bc3c7d0f809ae748b397cc3993f58889f0b1c4cce435204255531961a52780dfb2410115c601a5cd0acef890d2150611cbfc035ac03caf972d8b469f0d894477404fe91bd649fc41da1e7ad8f25ced0853acc60e0ab482512d696de20169e9bf7443637c4d6317efb0647397252dd5f3c2247fe83a0066699c39d5172759093e6ff5e7e5f14aefc116cad26a250206dfd4bd68c21a5aebdb6f85e44d007aa57e4a18bddb23bcc8d75fa160931777ea73a5e5f07e7cc415100dd9e8168ff879e5e9aaf2e4bb077f8d2c1a5d598b66715f46053dc2c01fdbfba97d94f72dc99d97ed748e8c103c0fa92fafbe775c8397b8012983846c6949820f10c83912feab3819ad97992dca489abfa067ed0eb10254f4534707ad54ef11693c75143b57b1401e29b1bf801d6ab7ca8fe80c1b79b3bfa03c521563d3d534d324e5fee5c2ac0e9ad2d95ab07e9d689a1b13c7159fcd353a52871bda0adf2e932443cc9a385aef5c847208f1ee41602b01431192b84aad6c16d1d19d226d8317ca0000e96c976e63876fa1fa37ffb7f908bef49e7f453cd9ffb1c0bdf187b6afd9984fd84bba1edbc5c3264cf07f7950e2d96b1d227018ae6720fd4faf8ac25518af2b0a31e501e466bb4233d0370f7e51430f001069de8d29e6d0b085964d666958ebb92ba7858c16dd6bc95e092ec258166479b034f5b17132db139686bda816355c694fc55dd5ca64fd416865a85adc0e1c472f6046b04ee59e50e57a9fec97186df167bdc85a5e8515972b2d5da24bbef97d4ad82daeeb4e9120e4ea9c0766d84b7d2c8da3af9fe92394ee5392b65eb8146f8421e7924692e8effd509c3300c3864693328e7a603b7c4f09dca8c44f0066180e04e7ae78468bf8868411a689c857f57c7d795b6d39d8c40f89dee28a9f114b40fa21ef3cca9906fc1ba87f9abb477d5d7868ef2033cf71540e8ba50561e65508f67f689b0ee3a35ba550f204fbb3d19466e4b7036b18f0ef0efdd9aedeed637a10173f68578b8d9441968f73390961bcaede6f2e4b461449195ec786aa55902bb436d92c019df4c219ffa4635f12a1a4eb80d07ef4a5e41d8897f662a632b5f0654b0e84f51909adc228ae8e044e59a8da5837b1359afc9d72043a2847fd2fed45f74f728be4f436cfa9e2dd4bf5c986348b2f3284c75f346a078a24997373c8bca076039096b6864cc32556b32ae2f0a1e6462d6e335fe58343610b864f89b6734d7bbb89efdeb86a428764a1fbca724aca8c818d29a1760cabcdf407e93c6913567623ea00502a7a9b789d049a3f2a26940eecc05a591015aa6e2fb970abf55c3248462a6bfb872187177979cdd8cf72b0174d7e3f42d5e23d9f781ec2b9219b09cf39fe40ddaf6b9308d1aba56f4b43f506bb01c1e460f5b49cab210e05cdb62b2a04c065f120fcee7483b2986edd634ca395c603bc83aec63cc44204bdf6f1414958409c8a963ac5325456b38e916f8529a4348c84bdeaccc4e34c9d00a0a9333bd26ebbef76cb4b1864bb0e623360cc02e2cbf2cca6b26b1165ca0cc2349d05e181717331cabfd6d314a499a0c1f6303e65e06ce4ea7536b018e2a85ca945329ac023bdb9a9a44306c9bc37204deb14c6d7829b0d5a25b6fafe1c696b64a86174a1fb9bc09897020fd1a82e6965f987ef2a73b325a60c2eb0b87952f816b453a820cb8e16ef5abff8883523105eec53039fa6983c5c61fd8560d6c3d6d52b8f4f1bac14fd73b14d0bd2d6cf6c02a5a989896e77b207f18c384d3693f7221730ae77b386eb6618b41163081ff9cc6bd5a17975d2e040c6195d9390e7bc99fbf7b96e8e67472e43dc38c1f82e0d319657167a3ef60af2d662908fa261e2d7f2d6db0033b445c98eb75c75740ab8894537e8944d9683b9aac11eb8171c144845f58124b59881766d00c29bab2a49aeed053d7f5fc587ff24d588069a2c7cd6e5173882ba338f4c8b0411dd25594559ed995639dd4ef43f8ce8ac77d0e273b25e981a42338ffafca46d3a9a84b6acf7e0641fccfe620a64dcbfb4e9a16aa6f4d03b1d66ad83dc37612a8cd9680a28f4fc2eb82627206012e454dbf2b510b46965b731ad76efd95fbc41eb72dde6babe694857f666ac06d5dc203ddd5261b3312c2971c374596d6aca63d81e115c818aa3be2381d9b804b96988ac274fd65e8906172749ee64046b74f008e5558c86f836eab961d5d216584f08d87e217d4b312c78e4e8330643d99269e815c109129edcf0922067f611bcc74cb7a6b51e5163eb89c6c368582705c959a4c2df9411142b65e46e708601c1f19527c4e97db18a7e4cc1e7c68df19631ebdfdc5214d1c772502a14c38cdeb5198563df5f5e29158c6e955a5a20c8fead6217ace09a99b7527480c9d41b743070c0ad8f1c516ff62925e8e90a0627a269612b6709cd6b8a451072efee6467bf57688edb9e4aaf7c3f697de683b84be726ef7f56b2c41eb71049ae3e03a590f97ff83706af9eb0032f816769ea2cb2423b24dc5f055e129a942c84ac840cb5a71f65966240a24b3aacf6957818d07474b52353efa0b0cb1cf8525ac6c177c346cf9c094b51fde9cbbdfb2c3559fc674f59abf5a789b9d299e68340cb9f8e7123194eb6d9f6c0eb63b996a94783def07edd7a39e3641617b920849deea78115b04f4b7db7cc163b434e0c3bc30624dad40c505534389485a06c7d9132cd2bcef1bf690d2a97a9734f36aee3b8e1dc1a9be35097e1c70e9ed4a8a5c487ef35fd224e5dfda85a6c53da1ab36a7180749b5f2c238c9d06730a243bd379808588f7e386aabe2bc953a08d12ceca425dbb41a30bc7081303df675400a073e930e587c51696b7481a6caa349ad07ad05f9668875e76aa83e33831580ffc15d309773a326ebdfa330f95ef2117978209082f6618d37b680c438a0a5ea586bbc90781f1239de3abf55138907dbf8fa6957b8d138274da05e9749f9f6fa7ce701f7db52fb1f5cac4dbcdd7ccab7b88475f6a485fd4359ff8bffeaa07254d2beb15baaeb881068535407db5351fed67131d82a7fd6805b3c152ccbc7369c5baf4f6c62f701108d34601e83bea5ba0794b256dc9ca1734643c071935eb4591227abfb1bcbb77f51f7893e3c2255bf394f2bb9c8b3015eae578d154f1646462b91d67982e0c74fceec53db32a3c2c6bae46ae62eb999b6cfcb588b5930183af9a487be547a614726e9acf659734a55ac113a2174513486447b9a28d2734175f37911f8c3b9818ff011822d8c807974afe304a616d23c93efceb963f182202c69d2f4c4a4d609076c3609836cd7788d4e01b5f825b5be3852257c3d91772ae19cdf0d29d772d592d61e24850784d60baca439b92361cd963c5a169ec61a058e70bad3b85313006269520482e9e25af5385bd33156147e6e280391515a1397a2a42163b6462404c8fea61c2e939066ecda7fb22f8b054494aa02dc03b9321db5adff0df71a68a228d0f4e7d9decf16096fdd44ea6faeabd56280219289536e16a22984458ea05748ac8b40ec6abe716c0500ec680cebdfab03ea1143e02e14801b273aa68e271305c1d02ea68e9485e404e424e07b68a34676e5d186a39bd5ed15705bf2472b32303533b03604c2382881c023a1b11efd039117c7f409a9f2d78b02bec3b207b0cfa868cfcb6d83e00a534458e2ee443289349845cc795df16f8043709697befbda594524a996487042f043104f5ef87d6c5e9d07d07a7e918dfc0bf4afcdadb27c1eff7fdb75aae223a6d8a8af07d1b4467731f06d1d9a7d7b80fe90e6d06bf28c31f773ab8ef39e9d06fd783dbdc9330776e628e87cec2f6a73a0ca213fa483ac66d70962ed55a6bad748c6f607505324d3d65ab74ca16d553875f8867d1d19c73ce596d05606cc963ebdb568e107ff9de962ce79cf4432a8740da61b6c265c779e87f984d8d64d44e8400edca333b0f80f6cc69c599e36dc94442ea87555700c6f615b8602ed7eb77f8390a9b2f79c17b817e546245499527de9217a6b0e2c483c1537244449522253a7ebb0e9d5611da31c66cf91de8bb4a91a32b2b5a4488a4a31f761897b6fc05481f64b4c424398c5f40982fdfe88d26f58864bb801572f818673a9de5ad20e90f5f0adfe7a970f1bd411cb1efbd98c62f88293bcc3f63c019922ccba4e8127b22d36259b298951cebc11473c2c58666768c0551948df13030a5891420bc16be58912ccbb24cb54213545ea08d585494d85049816609d728811f7b47dd36c587293c7841ad208604014387448d9aa6699aa66958cbf0c7f84280368e323565954fe79c2f71e69a76afb5b5523aa794f56f86c1d02915e1ee1efa35ac2f0468d3af9a667e63d8228bb25c07d8adcda5e24e9cd202245b5c1005521254f0c85fc59dffb2c205905c497264043c4848b8047bcc6f9b600fcdf46b375ff7c8574dbd0368036de724a8f207da13ec2169cf7cb0873efd09ba77f2a716db96811cfec760cdc8d971e6646be63df1944cbc22b13231321e066256c46254782878412ed7f77916a8548b11b2765c55fafe11d8f75d6eb1e30163e36b2b45b500b5c51c124507224b5194c0b01425e8b5448d588002c6d807b963cc888a3b45e039cec49d1855db1f45464a941e505710c1188b91f204450599173bc68cb2180db1c3fc3ad45923aa8a1c59b235317df7f9de091ee7132e16b85c2b9034fec5d51b9225e8d55d053846b2a43be44ffd72b9505348513f0065c8ff59ad18f8627c9dc878c718945718281a403de1ed1803e2055058d8e1bbe40a387fd411598738e2cdc311954969add6de6aedbd1867f3e24cd336cc659ab66d1cd76d1cd77526d389eb4ca6d3296754193249475494c21c51319d320f2814156f36d9f267660d299a4a4de9a939b4e597c91ccaf3666652298f9b49a568686a6a6c521c4d4d8d8dcdf7ddd87cdfcd0d0e8e6a4557ab297d356f707054aad5cac50bfae2c594fe2222e170aad5ca85fc1713c90b6e8230c43cfd9fd25f69cb3f4ad2c2837c228ba45019a9a40c9924a53047548c7c6852245e64be54fa4163d20f97724e4a2bc62bfca0d61860c06265a001d54083295d038cf2666652291a9a1a8c0136cd773927a5b55a5aadbd17e3ece22cd3b46de3b48de3bace64ea4ca753ce289497519e3733934ad1d0d4d8d87cdfcd0d4e8a9b608dcb667e73255bf28b32e47fd8341fd5449e9e21d0e48b171c298d91d24829a5b4ce49e7a4a8a449299d74523a6b2aa766262a091498ec5f65a434a2c0389d93a2908891d298a1404b16479d204907c4122a8bacf6e20c4759edc5372ac9a12459edb551565b23192f52aa34ca198dc8c8888222fbc707c29e89994b641ab62944c0b793b4b44aeb337b3841931d634614d904d83166440c1b0439c3b226a69e96ece1acdac321d3af1a7b5772987db80d2d46bc36fda2a42dca303577a4f69cd7246b1f725bc3f18c72fd95fcf9582640fefc1c626c4d26ad7a80fcee1d20bf7ba0cd8121dedcd61e6b1cd0d6b41f016fcc5b5373aab045966f5188ef89430407b7adfb0d07a47f03d24f8113ac39daf7553ce6df5ffdc5a1b2895106c660385fcbef5d8f0c4969dfa748499bfbf938543fc1afc7e57eea108882f76b3e036bde037bb890fbfca9d4d3802ad5c77df3f8a74af5383f57bf812a1edcaf9efb9556a9740ea04df32a1e388f7a9c47f940c1798ac4388090befd99cfb2ec71409abf0169fe0343d3671fb31a1d729fd18029cd92adfa3320eec91e95359006d863d21ca773dccf347ed9e5d09e8222f816423470db5e5bdada08dafbd8bd7dd9536ff3b5d879907d0c89cc9d9f03ebfbb2334519f52928755c5a327dd3bc60a4cb39a7ac73b2584c68d0981e13bc29ad937a124aa748e575f9830bb9900bb9d0762f0264892ec58a488a0d41c7d0a55d87a8183ae6ce79e70efcf475604de9182bd44868670e94af81998278db3e03fdedf61a989f03a5e9e3a7b6df36aa436ae94f3b814ceb4a32b0e7be099b82e1dc56a3f6338a9adad5baaf19bdf4a443b9410da53b4a6b58b3d777eaef45eabb0eb7f7913ddd9bb02b18ceed40bc88bb60bbf7cde78757636d6a1fb9a7f691fbea4abfdbb6fa4fbb7730e43eb85675df7fdb41bf7efdfa40e48c226ea37e3dfda9d361bb37d9fadb49873e328c5c72d7e93851aac3d3d6e170a3bd4d30da7d29adf476da2dfd08e488db7053e82343ebb6d33df4b7b7579f3ed21a7a567fd33d3473cf74953b367ffa160c7da6ea7ef7f5fd88dbb05fbf761ac748f699db3ff4997bfbfad96ba0cfecd968d783dbfed9039133b0b596523cf312439bdbf6671d22428988a24dc4102c494408ed6d734b7b3bb1628dfc914a943139a01f1e60b73e6610e504b3d7c0fae235b0bee3bc05e583f0305c8438cf17bf6ddcbdf7823da78de356ef77e3e818b7d1bddf3f7de823391dca2db7b5d65a7b63ea4edf874174c2203add77fa807e4c98352c615b5a6687f27d648fcd9bb02d18ce3daf9cef2dd833f4f9c0be8ddc364b39bb7ebc893b24d46f06d41e06d10983e8d87cfdd0475659d4b27912e60e6e6d5cbef938774c1f9c56fafbbebe445afdc3d061de2eb44adbe80f76ccb76fdf8a711b76c96e0f61bcfc902eed9a758fbfcd9f6c5de91b6dd2aa9346f2977355e78730f4cdbf00bf28c3bea9d331bfe764fa6e5a8a4117dafaafb44ae3f8df4c1d0a01a263226a686f37dafd81715f6bb783757b8fbaeddb482ac637b09fdd986e835b73c7916c32ee00ef47dda0af8b6cb623cd1d57ca4eb9f70f71a6d9a9f9b0b5250933a76a574d8be6539f07c699833f0ca2135e9f58f7d4e77e7e18bac538e7efab9c0ea2b37170329083e8ec93eb93ee0972a30f8a10dfab1e6187e663d31fe1457013c20a65e384401dd8f4ddcbf64090c4530f6200fd04c3faf163d5e18f6a3e9d19902eb16cb2b5593aef9c736a5ca9a492fa54fa93255b7125e7f45863ac1cd011fe9e2bd4575cbdaf265d43bc4d21ea75987448b7e967fe847a1318f70cc76dce1322872d1dd36b5fbf1543ce38bdf6f569b4b4f7402a5bdaa3c0946c699fc18f32b43f99408dd3346b6bdabeff8d99556e4ac9aec34ce567ef337a942dce9d38842774f588352e7d70fee7d63f7a45e4d0b5eb631f6ebbd399009be3bb7d6b7d02acdde32f81f04c90c3cc21655929ad740a91c31c06716d9a9fde169042f009f19e96841b025108b49dee09e2eda0dc164c795642f099e0275b9e951cfe87a4248d6e8420675089397777973436bde1811c02bde2429421df8b42f13c9d7e00912d1f3e02c5e1df87f4217dae17d0810e31cedf7fabe5ba34686c1ea30c2f4a4e65ef862f7fcfa24bd7e3347db225bfeffbbecc0a1264767db0673e056fbcab87fefd1db1867739e8dfdb8a72468c357cbb8d35dcbd2072dcf8eb5fa04d0357703e176b08f16ddfe9fc8bf15fdff331a8699f65f77decce46d0f067f763e7c1d55d8eda757063ab5f2957bb186584a6ed38764419fed508fcbb76dbf6600abb941dc88f0a30b9d4e2842f18b2f69538cb563bfbf0779659eeb3f7d3c96432993ecaf0e7f07649779d7fad752959793ba261aa3dcb65b5cdfedc74e8dad44a6f4abe2fe963ea52d33e55877d4b699e806b57dd439d9639a54c60f62b9b9233f0d19eafe291fdfcfcd987f8b7d40c18669fbd17668f9150daf3534824edcaade48cd8e1b09f81dda7b8c7ef61eab3a7292dbb1ef53713273b1c7646fb195065df9465158ffaf9eb67adb2afe2617aed4dafbd96bdfc535c813d5c8fa653d30bcbfb00a52c96e704d39afde6324dfbbbb2fa932d4f4af6cf409acb207c9a6fa2ee98cb6c966537d358b6f05b8ce96fd7dda76e7c53dfe30b8aa0007cbfdabf34387f131757046344ba3a8c47da756dc7f1a0e4301e619cf3f71db9126fe2356c7f31a0031ae65f69a58725c70ffd258f5edc67ce6ddabda4db7341be7d7fe55867f7577287f27890965357873403c3df59b5363a0acb1697438ed34f42741fc3b5d21edf8d5a49e7964fdd255badeb76d35863d71c6b50fb9462f92b2e257756a958435a3fba5cf6aae470359f0333300c61672fc1cf1bc5659b6d2f43ce6e4f3b1ddba653b225e5539fa903631959d424ef051c889c118be0ff0c0810a1ccaec0d60cd9df85b94400c80453b24e6a04cbd19515b0f08045857d8492162ebb5231d6d2259f734ee9990edd763cb47d3b1d346e4ac7d099638c28c3870c5902524a9913ff4b2be991248d4de79014ce92524a3bdf566b2d68f59c2c1652ea63d5b07e14216e91593bea9ef812c494a788e8199169d44097aa00118a69f921962507dae1d0b121d3dfdc85dca57f2c8b502c8b912d9f3b01992c4321dd1c054c5c3b6200545dc2906218580e30fd4a12b79042569a68a16489144481844908a6d834f80c4d60546c892f2052028659f8d79105488085c80aba14fdb0671813ab7ca009bf12b14801ac562d604ac06010020b18025e463070a90b2c0bec757a390d514908180a60f7881045e0d0e5051652b8928308360d305e7ee436c800db795d11ab027681b8442cc24f8059018b22a2008a8c5ae1882953e030e444034e9a8080c9a6610430ee35046c83fb42c2022bc04b0a2a300cc02217181898025e2cc09ccc2b83d7df7befbdb7857b69ec89a5187502c509db062d601f063501f0279c80c978f14080380511b019af3249302b309500e68b084c0aacf5da008c358017155d605e645ff14b0d910911c0a29628603be86c3105a62474c312b003d47875c0872d3ac08c7c884f99e2e52578218931278a806989449000e6e26584097712860cec0a587c820610300dbc0a1418143029ab2836a480252009a6bd62bce2d112981798015e382f1793442c938211b01e68b018d15c816d31d69060a4f21ddca7edfa547527fd23ab68c7581817b6ce8eb12690ecd8edb0ba95e38d0d00b130493b860619e4fa1afb64e5e9ce83f1bd1906f97e66a273dd52ab9d3952ab83f9b76c397cbfeade7b31d630ee7dc1f6e214021739d2d5f7a97210d12739981f72144cad905d0a8d3d679c71461bd1379872060826f437c78162cbe1fb26c7bbe5f0fde56953f3816fa1778c85d161c7175b8c5143e56041906cc5304eb66f03e4f039ba244c0d2e6361860411d1307b9c81836a95d4d177dd486a50941ccc30d35a6bad1acfe060abeb20dc0f140cb91a69b2fc3873545663fc3333e42aa748cd78a81ce996731091fc36cc444a7dcafeb2c666c2db56d9e5faf4f3124ea664cefc7c24d3d824875846979809fd09d46df98bd872f8d6b21ca9134b3bc6c2046d01ec1873c268575ac16dcb195d32b18ff30e5553e7cd6d1a5c2cd86e8e360711490ee40711c58f06d82acdf1a39d2c8ca54efc3effb17926d299c161ea20e40c0a36ec4fb6dc5d4e30471acc0e94d26ac124c5c028d1275b9431306562cea96f95450c4c0c6064788139014c0b4b8aa89024890f499070d841e98a1d32324bb02862c55056dab6092558103182c21327948c4471030e649a7cd98245112bbe0c5991c5172b5fa07c577c9f8b8ccb5545155504d1a02cbe0879b9018b2247a87081510772084196242ef8928315597861c1cb92255230518689163c31287841920229bc2d36cd620351a8404949c983a2cb1097113cc142932744a2c860440a5a72a8a24b511350c4ba68d976c75817229e7c61becfe584cb05060c1857178c5d2e26be6f0997cb5b4206b9b8c265c8ce768c7171723ffff8b984ad04a21f9b8ef787e847b66df2b79fd13f4c3ff58fbfe9b3ef1e0789d439cf9cfbf4b19e2f6b9ea6e6b9ff21fa91724adf7f46ffb0f9a97fe6db681f34ef345fa369f4cf0d2df5cfcf9cfb29bd75e00fd10f573500fff63ff06ffa8768e67fb6c73fa37f686fbaaf6dfa278499735f7e26f58f0fd142f25dff5cbfefae7f409839f7b3f82757fec813bf843ec4fbc8e317f52ed4693f443fb647e91fe7d99efb0c96903dfe135802d18f4cfbd0ccb98fbf04ed4d60e4e97090703ace9c4d7b910fedfb3844b22ee187c80191a7befdfa9127f4a27d95305202696f51466962a2f261df01ee1b90d3eb012f5b7e48d2e27dd982c4c5f392f464df1d63495836b09d9648726187dc964948624941b1a41aa8912d0693b4a8b42d381531756a460400080000731500002014080704028148248c8351d03e14800a7b7a427e5832128602418ca118866118064000040210040110064110a49032dc738e8b05a662f2820a3dbbc9309748dd3ae825831cb316af2cbc255194e8768266327294222bb5e017b8887ad2e880713a17e8b3f8bbf07417aefa4b5bcd18fa7c8093135d11dee8e573c361b718fdc2fe020a16f55960349307f6dc7f6ca96d1b6421ca294edf50dc1bbad269bbc4904a675dc3055e5f8ceaad44abd6a1be94836e6ab364add15cacd70bc4ae259671529ba9e00aa9b3004ee97c9d2560b7a987928a372e2d56da85c75fc9d8aeeb430985d6812a7a32cd740a05bbbc739bca58aaaead9985b82fb4615d9ab2ada3b964e5682efee522c76b890cd7d0a2f52d5cb1984b4428def34e1cf2982555a7360b978b57166e8bb27e21bde0cda2ed4c658283fa0b80c9a04d8a34c5e1085ca287d6215dca7cd7bbb434b4c98e4587422943380fdc5d2486502210ad435fb2e198ecc2a3bbf4abce0d7ae9409b34e2542cd3aa0e3241a5736c1dd225c2731e443ae2e0185ab5ce9a8094ddf1753fe031e5dd34bf6d0b7c46819eb58f60fb17f1ed34d9df1765eed0f112c7fc133dc066a59251007682253ffccf65b3f988b45c48e86407df3c2b4b27bd6fc9081aacac52ee417d242c7ffe55b1744eb547356e61304ab636c862c142b4a9df6269e1512e10bb2be5bd750029793a748be35988e2c55451a5efb70e8c92bb6360171e15a5bf776c00973e1b9ac58f5974582c91dd79002aa593c331551a9cd621294910d7c65e89b675198b0e77c9ca31cd0b8faed25aad682d707c2b51df6a5d746d81d72e20e62e5db531cd851bdf4a6bb79685eba2ac2f00ea4b49edd0be705fa4eb8b515f4a54ad6b5874b84a568ec6c5f78558b9c8e1555abb34b370d1e2d5c5b94cbe7fd5315660bd24b88671612d9de118b0687521ef0baa56a5326ee316627de1866be954ad43ad44806b5cb48285eb62ae5de4e82ed19a9b4a2b1564dbb410ab0b1cef25ab463b8bf5ba10ea55e9641d62984a57aed682cb85b5c5bc5fe0682dc936c07021d5526219ad63a3e4ab86634d69b02d1b171eaca594e5a46e9446b575d04b52a0e1602a51d16a5e70c3c2fae2ebe2ac0a1e6576a03397c981c7c1ef004e1e514723e0427032deb3e69808f2b22d66a799397be5538e8e1b328342b2525d0d584915eaadd2eb500eca149d7588f4ed6d657952df4dd508b2879b546f6a1364ad30856955d83a917fd2cea4022bfe4968410659c0ecd6c6e2fc488722fb5c8ff33ee8fe077d6b1471fdf43e81df912895a74b6715f42ea15462865c4bd9e439d55d53beb895252b59c8f9c4f7a2aeb86650090673226d1c426dd2a06a46a75416c789a02666aee105bb731fc4df15b9b4044d4a3d5668cc62b7014e7a6083479777e8e5bc7cc2f6fe873a6dc153c18829b32e7b8025db6893595aa08f8dddbfb44eb48d8df65b43a8e16aecd19a0afc94d31a2f1ed9a147557be32cf7b513d9f3f6d9a75069e92ac2c6e166c315806515b0af976b2808f0bee91d18c24f76b259679a2b7ebab0eb7cb3ab1e8714e0fdeeb05a4c8007fd83a33eccb547198600839e0c880013b2d828fe230665778bd57f7bd238044cc2914092a2eb5583a04d0fd60bd6f4a8ac75b75f9902d6de689146fdf94d3d870b19da25bcb28d301e7ad01977c51954d8ca3881ea6606dd29f0f800d41e207b602b7fb5a9a1eb722081515fa05d071e654249c86aabbe29a8ac2c0ba635fbab8e71418b343ea845acc834b98e6660b8f1ce30cdedeef70736004ddc6c8fd106b6c5ce3c69057435a2d8b6690da309934986b1d6aee1f3a41697bc83ba1440868cd2744f38e37dfb1300e001fc66449d90671c880da0862c2b1a8ea7775ae8cabed42f81b4b78d0f177ef17660b3d081c7447f230015e03ffb2a052985d889667bd473cf645ea8632bf1636c917316b0d8ff29ef0c73986acca1094d19ecc781c207607fb1b1aa6d747774faf0285cba24e1090e25c208ba7d0f8276b6f9b042b33dd2be54c129c765970219ece7f88265e8064d35a989e03d6cca2618d98a02822ffc7cb2558df05a1fdf1640ff2004720d8ad990436b6bb9c6d2e28960fea387a868f0f65b8829b06ece64894aa8f14680a0ab72030c02168127a9b7ae184d2e8925904d8efd24ea22bdd370cda2bd09ee46627aae07afc3dfd25cbd6171a068335494b7cc3fd58506d25b9816265946f42c99c058febe6b98972d7c1cc0e8e392bccda8784a8d916317f191ba1e5f487c608de631261263140c69a2fe77875bb747daa38c2daecbe750dbf182ba9822ab9ecf74ce6203bda2df86f40067e898621ead5886f77740d22db8dac77a2ba8010f15336cf6c13e087a54d363e8bfa235978e85b65c4a37c6008ff465c51df8f532575cdf1fdce6e2bf06415308377e151fe58d9502fb6ffa5285a8086f90bee18b212fd64b7273d767981e897aee98a24b245f18b9d8cb273406193d2c9c142ae344034483ffb6015ba8cf08c6dbede562563e0e55e90f8446813ed7cb0bc7340798a0239f0294d8a1d37b8e5454543057781073594e230d52fb69ebad87b039536b6ffa4cccd874bb1945bbbe6457f6e735a62e63c9f5e451979afc62cbe8c165279c8642d6fbe4e51dd80aa11e1eafac4fe49253cff70663cb15ca0d263bf126ea1bc80695ca73f167aca63950558da0c6c907a0d0635f7a5aa337abed457b616bd84d2d810330d84e50f294216e3b2cfbe957927c4cbe80b58668b3b51c3e3e9ca12c13e123c75474d12c8c606ea9f0df5738f1e8a034693f1ca2db7a928d38be22648f63a21a5494b2fd31a083264ba5e89ebdb808b58c309e35aeb39ba5e7fa6c84868270216a8d3836cbda5a8026471a4389929d6e82f2c267f995362718d10843c82b178d8671d54d1b49a3595a74393db718e55092659c326531afed57a93e1873f183f398345eeda875a8034eeb7d72cba6b18d2e588ef416884414d42deac0f00a29654941e8e15d012ea168bb8bd371c1e680677d1a89fe48107425ff254eaa562b63bb690c115a647bc8d3f91a5773ee45b4522ab6f14718622be6366143f807e20a28266dd7d5578f4fb3594a2f50b4972dc865ac797b4ed28564dad7510ce65e2b10a4c2e47f664254daac267dd70e9acaadc6389466314e4f59ac6bdb552ad200c3bd68d0926743f41b259375a03e1122e695cfae9be4c02ba308a02ba486b4746502072277d082ac44210e5b575788acd4b16ae9baa07494dd3f836ccd43f19ea9f5044ca749581cd14835a5722fac090f8eb08db96ef74897c51904ff343277619142105f28a013d0d976ec6ec012286b6990fa78cb934b7de672b59c1dafb051dee0d64f246fc474bde5d1a20db0a52f57258361b953e64a9d511561d583500a97fca5576cd5abb1f2ab33361d8f96d9d385f171a0e75a3edb072353f7bb186c61f3199947fe4849398a30c6c2364d2dac31fa43abd3b0b6a05cf433181e7a3025160c52135fcd7cffd608d625ce9fc4754c42506227f674bd20713030023b97a42fb5847f0b0330434dc4ca9ca75217ea12a2a18e02d1ea6d6bcb2c0245202fe9534111e6023d4f49885d24086e2f215ceadad64237ab30563046783d78d2a916979f2b7f64f31742ef5618437393e384e211fd0c65a61241bd2e8825b948b38e80f2e606bf0b198d445740cd22bb70b0c48ed58473c6828ed1dcd99d9a78cfa56f3adaad733a1393950a968cb65532be95f8d5fd2569a3f9b93e53c26c7af5e8b48735de991bff91c24542d97698c32f725920b2fb8571003bd7f6be0fd36c5ead52b4b81e3c641435dc9e079c125fb24aa5d7303ea4c79cde97f8468ec9cf2717478c517bfecac7d17709a8c96ca41c3769188c2f281d3e3309572f4a387e8dd1228b6488e7759f46c72625020930e45d365ca9749a38f00c3ac7c83cc7fcefbd29654aebb155954c9af666042a9ccf44fd20e2b6ee3583b02ccc09a39362bb5fe26ed873bcc404e6d8ea043a1e446512e05ec0c08a49df11cc505d60b21a097e3ed589da3f9aa67186b4ea767aa4ef6f7d0e449027fe94c766a264a64d1c0b3333bd5c52b60379b76378d1dc21976bf9e7f9f01df1a980988a31f34132d1807f9e0aefd41771f67f8ad14bf7024b0465f58613761eda5e945bd96a0f1fceb12446ec5e7f7b7455f146140c82710c925cac9b2e64a17cb29b099e097c20fe9b9998a7e0092dd8b0b0a32788af7e260e182279d67fb01da23aa86f2cb04ff043e26d00d45324061aea96bd61c5c1d8afbb4f810cfe71139d2f72900d35ef18c86aa10b91184380c32a985ca0aec3f9b72964a6ac42331cc158b4e4bf41bb86d81457b3e445c33d15162d09651851f974723f021de792f418a1b98d124e3ec05d2b846ec84083144a008fddedea65a4f01ce4f968081176869d00d6672b01ccd4ae8e230deeb47f13314384650940063e99ad36558be0c670bf43d2b0f14d449c04c032a21321c197c2db2b5c50a3be7c5ecf3b5ebaaab25a27ca3269f7520f91630ca1bb040eba2d36c599099240d1232a086ecfc360c869c883f33a40bc5cc13132e9f0d307d46cff22a29f5fb020d2a31df58e64cfbb6921d3c715dce3005e415fec19e02c14f84ff60b213eb4d38306cc537f43c8e95a5141e59445622e8674b2e2b188b2a51ef2069bbe0011a7fdc31600ee3b5f06d2b689553890d93efed8afc9cba0e8842f15c53f8644a94180e79d4cfe9640ad616cad75d8fd93421eee23277ec3f71d4050361bd6fb6c855c88dd4f27a5bfeb414fd7f3b58a3c2cbe98650106b411b0f79553511235c1c5471ce008f9e264c375223fd64304eb1c9ab6cc5a5b16a5f39150d472df1849a92904560a721a8b6139d2120e57fb9a44bae29eeed0cc86fc56bff3773bd67640d2d5be32e61244d3b48965a0ddf39264a0ed9341344d79b65b40ef7235a94a167d3964647057f64fd271d9ff5d4f4ae54e68ffe7cb08438a2723a22caff251248d0cb470a3a7571cf4d6d04d57477a0c00d392269044da736426c7cc2c95ab93dfd14dccae049b73ca297cb5471d89473d4b003623961078223f5a20b341e67d4042e7304c88b8cf80df2f451553d7b8b7b5682974c7cdfcce028f14f02dc270356c4a6600082f3404fef53848c908cef6936cf2901482b03fa1c69705746855d2039ee3f54ccf01ee09704f5f5a46ac258a7a4ee647362b44dcc58c7deebe7ee6b0b61f68eab084ffde64366d569a96b41923c3f2b923ec224383e79d2456bf7839810ecee10d93bbcf77f884f1aee59f917ba92713d80d02e246fb3b02e73c9712be6dbf53eb8b7e6174fb42dbd88b00bed370560b0a1fb403cfc2a673fac959067d4762712a01bad9cd00133f41dd1a796fa447aaf1fb5898042c99434b9eed743aca390403f96f4b87e2c06ecf6a20cd5a4e0c7519d792f93d03ee7283241c765dc65df7551a9728c8f91cb8d4b3f95459767f09d0fc4e6e85964f723e188d9b809ee01d7fa1ce16b115a0cf886ee2df2e23c0bafebcad236750c454d5118eab7a23699a37f6548e79016e8db70f77599cc9ec644eb7688041a505bc9421604c3838826521d8d4d6263fb54b96e46a2c82586f177ef3c6c0aff7dfe8f9f3852f6d87cd09a32990acc4565cb068e59fe9ebfed0a55f31923c05f83d010d46757f975c536c0ed0f8b87cc494431053bd9352f72aed51499250a5de59a4573204b1b9108c3617e53ddcef084d3e7560db74d28ad0d818ba5e515e0024b469aed52bad356b23ba2bc20a27553f41df4bde757600f10e951ec44d5bc82f16b82f6e3555023c576a722ee68bd2da3b536b73fb2003ca0fb5c7c296f620c51b795c5e5eada51a9197fb6cfa20eaf73e0766e93d9bb285267247680b9487154f3194dbf64085e24de239d21de68275e2eea4111d722ba76d95542c127d2c4030a20b952dc1feea573f6ab04b546469495cfac4f351681551cd57a8e3ca8741542ca387ad3e7c33d6aeb74f207f621c8bf837eac2037050ffa3851a1546f71b3e60a9e31096b13ee43c0196d1cfbf86a98e271fbf07b9438664d080e56452f1f043edc3002887f90ced344588364d161d55520d5ed6a3b9c95bfcf9745374b17d2f0b34f48b2e5656b746469198de8579beed6733a2412cc6dc0c6eba243f8af8d0cfe43966f35bdf5f5e00b3601b2fc5c828b3b1a247916834c0d50f3395a8fbfcc8a6a88bed419a9d036fa51dfb1458c261fdda54af6c38a6e55f15575d2fc689c5b184e7a5d77a1149afdfb78be91d1587a88463697509ce9b67a75be06d31db0b3da46084ec2dc5a7d33916cc14f53b27b0f2df59a4349d08b98e356a38e4ddb85dd8c29801a21d3aa4eb6a4dfd538d2612f9790ac5f04d371c156189d3b194e4af4483d574a9efcfcc2ff2a239ff7e655be82a8196f5256a1a0417324e441266b97eb057e07b0a97077fcfdabb15b42daca715021015cf038ab86d02efece7e3c1acc7c8c7226d8381e86d2239d20c64c6c40b6a9c1771c8077b1002da546e00be7196e054568b3a534b2d6f0b0840c9ea0a90c11a4b84e330375d93c4bd41428fa407a0a87a425e0e184c6e8f47121892cb30876951d945d691073254820ce1bb30bf91587caaccbcd306c610cad2fc61cd57875b9ead583924090cdf2fbd585682d70e4018ffa424e465f21e715046572298e75a0dcc4c371b5a8120977077ac5e0640131b1aaa91b096d44229d1953d0eca35e2d893029e25a10c6a69ea8a547c5186538645b552476b66beccbeeae52fbbd352b6e2cbdb7f549c7ba3be0e473ef05e37c9b4c0262aed649ddd660046bbc398f7fdd7c76b7d64a8b7afe21f0f445a92315801657b8e33ff379843b5e6119f0b33e85cf702db6cde0d733f8a08aa01ba18ef3dda2319d02f161f16395ed79c00642724f6cdd42d8ef3e8c39f45c522b45efb372961f5932908d0dcbf207af789b65ca72d6aa62077af8cad796914a761c1f11c8ad6f4a3c73f2dec4863abecc82e87d825cd41df2f83d8275b67c5c49635ba276999c9d484788b05d2df65e201c127d41df791a6b9c103bfdef83f76aa3530cac5da5f78d6d6c26429aa5067acfd8576500f1214631be70b0e49f62541c468914d066e47c039d4262291c213e24c79ecc7805c9dc62d8146970ea316a25f1ab0622cbd2c3c8a160d4fe5d59bad7d0d4e6c4f97137a31d5786bb5a6a54393d43373a15d22cc405287869284347f81399e214dcd467f8602ebe586c3747a38836e3ba1981217c179c726dc1d16d58f089bcdf060c2771121e21f22d1978c8134eaed20f65559b10cd42622062860a651c38185c0c07d6bbe8f3471ec83d462750f206b9dd2a27f4c2c670f1f03c627f6181219441f1f74321a4d2cb10f03a1da7da4a9e07a22b36c88b67a8a6f1c6a3291eab420d6203487869af149b26393aa86940348ca572b894da21a952e78a03c0542c4b54f5f9e0279da6531913264cd1fed532618500a362d29ece51e5b5abb52a2f6d4dac1fb99e8449f783d4a8f8e97768036bab6cf8cfb38866059ab439f924a05d3a6de30b512e4ec2d3938ec6d0f23732a8c368c791d162d3f9522302cc9ad431f0871bf234f6ec503aa901bee25ce1c08f6bcedc80ac8c51aa05985b94e2b23814393cbd74029e8f092e37e1d68966e62278c9e322df8a952a8d45a700c2ff8154f46e0ba0ce34e81cc5af15ac5ca0183a36508a2e2e7edef6b422941b11037a886364cea98cd2c9e65fedd1a8d1c06ef9c550d6a43da15c5e4d7bf040b54a0800e5fd84e244107a2fd1599a16949abab53a0112d2211b44d7ecdf0d21b3e0937c6d0da4052f7e4a1c48e845242d51e0bab3300e4c175516bfc0101a950f39c08c261a12b9fd01fa3e132874a20760846882b081618fb7ac5f4280e64a4e0facca0c1914a226c49bc07123f03c1af646b75f23429037d743806e30e8472954b144361d329d20da40de7103a1038e835713ffbc990057e1cfb996f531953c7044fb54601db455647e68b67b8c434e429ae7c07ab7179c7f053ba343244dfd0cf28c099c3a6345b6839af500c0e2cb52d4204af858e793ce3a7a697d06b58329c1f4c44cf296003fdd210c328a2329f778fb88ea8cc790ff410698fea726619ff6bf20f64734c8a561edeaf1f1dcc520051769e9e2b6cf95c03c76c3cd5f82780facfd82a674ad6b698f9c3c2ee4c3814f4c06748747813954c1579d97897b5f088b410340a14b56137ff2828befd7b31742530873208d6f5e2a73be51dd21fa9b40e506d49115100c886e0241ac843e89988cca66369a48f098e87811cef174f267bf11ab236b612ca4112202b8144746a1ae3ddc3c1596c540b7bebd0adb4b339c552f2929d58b9a24613f030897cb2148c08a7974fb21b860582b5f965f187ce7164dc2d28cc25179129abda0a3b5f4613729f5ea997b911cc7bafe542471b21c15ae6a4f61a2514588a7ac488871f213526152c0d47367234726c82ac214a4c49e933b6a6ba00e4535ef384b7eb23afb123760c687ec6cc85f1f59b6c93928cbc09532322aaa9f14172f371451455041c8b9bb58446d604fb5cb8ab3901f6f7531e6c9a1064be12885712e29e0ac31459772ef3dbbb6919f929314bbd28e254c12c117a521fbf6b2516946195f200cf4e56ab1428782c91d05fa79170948aa0802919865414cbddeae40d3b15346c902105a8a3ae1a941a66ba9038c2943b4e7398c2e5618a2221a6b285b2aae2578744cd7a5f1144e6ea44f31b0605bb440500a43738a3f40b41d734b4058b6a4aefa7b2caffc49c0565587a16a004d0f0dcbf44ef9b68640821af6b4d34afa8819c020ccc485335fef4aefd0dcf17853966e8e0336730b1cb84286c96ccccb51cb187428913356013cf6a0b2fd7fa32227722ad30ad2be9fadc81a886f4aab4735e925d01fc8317972de4f0255253b50d34627ceacc9915f75a0e9b0da360ea1733ddb4eed361cdbf251795cf55c75d5c2b8717fe0fe050398d739a4f5bbfcea925ec51b23feba730731314dd33dc5012798a053ddb98a45850304dc4e4317f7675e047cf38636c087a12d5863c3fafb25d2489281586b2c4aa357e5ace251957a86979be5c7acb4ab05fca9f264093aaf11e02365432f85f08164d916a80b3cf8c38d71794641373002618d8ee3a65a79a73c42e9cef9342d04ad00420dcccd1789483edc09ca72a102e162bebd508b552e8103cacf476c8b9631759326706aad1218a7c37796ead289c11acdd53fa4e3ec47f47d2fb465073f0481eb69d4955ba42e3b0adcb5195cf2fc5a2704df0b760ab8a48a6de92b9afdab9ea76077b342f3f32c2767968bfa98865732dc8414040ced5721bfb75b24a955dda044b14e9506f917ca8c727eac3d5970fc12b31e211d2de880d49b3e53281dafcad7576416a3a99301da9189c28439d302975e6214e1a9ba39a1274338b6bf3e275615da67c31e3ade40c9a0cee0188305bd3039fa0386c4b4ce521b5b9bd4a63379079a99cdeb5c34da0e231232835364ca85b35400c4302c418c25bf05c1524842eccccee531746c0eb2209bf66e6a2fc4484045a9be6227b514a8e20382355419c1de2c052b40df7d06117b5e18490e7b77a8b49f9403a896e5669cbf6b20a8ff06466f8a79a52796987a64ce5742ee00ae63684250e9eaf2721437e8befdebde2871daa8f44fc44bb9c2868d718ff8ab253efbe1c5d3024618b10cac6b7efc1f4148083547838209415acf394383852141c6662c487e8e77267147e754d45c128638349119a0c8c685da4cc6af4996a613080c1e47e9cf94f3f1d965aa1d3cbc92730a512572fc778c1010af1ab7344bee98ce77d5a232f9e00fd91cffe92fe320fb86bc1754a3c64a8e09a010381e3b271c0894831f8df4605904b59a07858687eb6c1aab0c8a92dfcd4bc4b902865b94e6534c02b295021938a601e9c7edfe4d061be02c224b24030180f85314cf0b656efa168f9a958c7087e9269542754d086301de0a94ef41e043fb6d1f14cca99c44155dbd35d4a173de81a4649fbf00a5b7b9f7ce9cf42d74cf0dac4dba0974fd794c456baea545d3e86a22b88309c86ec162530a5d0d5c043c13580a6cfae5f3ed09812702edbc01ddb07ae81439cc4f340ffedb2694038657270b44cde0c0049456a1bf1364361ee92a1e8cbaea18999ca4ba8a1988cbc174528158e92158543a674987faaba5310b1f4145a25b498376efe1a51693e246dd13cd52927332a10d0a129ea5daab3df4848e6b9cf8e486de05a8ea45ff8f6bc1b70796151ac8a1313844a60b0dc1adf2065888c5d6449dfa90b3129d75dd96d508084931c1525ad9615ce34d549c15bbc5a4fc2a8ba3a7ad77a5d392da8098900f5646e53132b371168d92cffdd789d13d8b70824ff0359dcb3ebf3c6903af0a5756ce4416d73b9d55df7c31ef74e3caceb66db61dd8aaac37bee0cc100fc3e41bb17d2a3ffd9833802d110bdbe1ee7f802e721ce7ee6b9bf2e636fe894e030848740b5d01b05f184166d5dfd04fe18f48c0a8290e0bcacaa7c5b633faf34a1a795e6fa329f9d76e92551b8757ac4b90fb4be85f0ac2de154f2ab80a800249a53a4462ffb62cdc66d3bcefd43a15130f1dcbbecb06c6cedd21923bf74984fefd6918092dbc02d4a150084f4cbacbfab6ed6c4d5283f6ec0d1f7b3df42eec1bdcb6188b7f5febdd196ecc14e701d75b9f085ae94bad0c5634a14b1dcc1aedf341644f25447197141fac3ad67167451fdb6d736e09bdc27c3bdd5d873ec76e2332309e45089034336f458e8d4b76a7ca67aef8208c01c4406520008e048ef9d6367d38e9d988a98334251eaf43d58c306fdd460305dec10d9566d58febc13a44d7edd9d62e79dd938fc28dc6559140e0f10bc085cfd6ae6cda9525d0263d26b79e76e3d404058ecafaab815fab25ffa8b1b8ae391809e78fa32aacce51fe6c10765cc4c325f4f1ad2b2cf236f2e4e02d9ed404c08e04222ef4c2db56b645fc1d738855dddb250841602996449ae022d8b2fdfeab91bd4b6be7ba8251630d2c374d01a1b03c138baa43aa46f9fb6d4731de6dc07604f1016668de47134c3b247c34e188c975fead6789105142476e98e4fbe57b44945985b866dfbca725b295f0d0c30d9c2c0d972846da7ec2b565f9b805dcb12c2a6839970191162a49ffa6abad5f317288072ddce522b6037b064236b68909c28c18c5ff539d75316c764ebb02216f91247db4de3449478b4477416142d7b2b047cf4cc1489df5ce7c5fb941b0880eb48aff51260a0a8df7f09a666f93618393fc38bfc7686f02291e93be73d0dabf2fc9c2af1f9ed4abd5ed7e0ba43ad27e8b178b93591a37c24d377d1e5f720aaea759de2449b13f98429d8687fc09aadffcfa19f95cf17ca80c4b09b414d7161f64162626c84611ebe99dc88877146902c42aac19a2ef80d42e3b988a30185b6898812e7ca5a16da15c7b1a8468f887326f11ab7ba103e96c7f9364c4f1cb8d38a8109ffc19a4a4084299f528087ec4316c3e305fbb7179e0cfefd810914efe3ff66e4344d9590bbc7aa039e3c372d2ffbe51c4f471df460abce7913848abc4501c65f46122c46090d67218ce8ca5a1060692d44f2049377fe264f1cbf6895e8c5b9c0c3b99146e205464b1ac3d5b968d4384ec048863dde74378201239f424e93cdd0298f4280d2a7ee48c0b12322a03cae4eccd8b7149bf59ec82343d6c8005e83bc2bb72651edca588543598a6e813bcfa8b7655303fe833bcaaa7ec3298f1b2b39d4b75ad7499a4d94ca2b8861974546a1cf0f9a9c6872b1458fb6fe777db2649ab2d7dddd7adb9f81a610a809e8962a6b030fc7170c3f4f3a30448114e2c838d1b437b8434dc887bb6864a8c12c204c12f2b33aa6ab86a0cd8d141cc797da158b7c7ebf6a2c317cd3f817bd4cfccfb22375920759ceb7dd12807188a60ebd77b12438382fc95c06534268208e30efb90c5d208007dd8e65e89eb1185c6e5bda81b9f6325aa0c5460d7f43c885eac13f97d2048eee2ae08be8295316ddd29d924e5a01394a9269e6b49e2c2c07ebc636ae911f1021ea5ff37593d6394517a18bece24cd06dc0d12c8be4b1c3a2c0a30adde330174575f2dadf9620f607daef4b4aa5139984125de7d2463911b9edc143c04b7ed70e00818133431f21458c1598388039f369a852972a56af29525841215690dcd2a34a98ba29bbe3376b968dc8d51e9af110346865b0467ebde1e08f9b4a5d92b3fe15889c62a41004cd7d49711c3518df11310aabcf6396bbbfe5f64f24e02d19ea83c3fd947f081bb93950e22d4386b2bc00df82e8021c6fe85e45195f5fe6a4d314430986be34c006f42bb45c0cd33e0ac846dbe84d14cc757ab7642d941e8ef34fdfe22319e8b6b40df5a49eb65e49a558b5872000fd67e03870a68ada0ae89df9feb5b501da74e7c03cdc599b977883871bef67512fbbde88905a59d4241dde8204ccde8319ed11aecb258c11b52f663d6b84475122f7a0fda1f08653ddb336016679456761c9573531949639da5139930d56a416dc59c659378197e23e1ca2cfe0c07403a01fa138fdfdb0736db50f13df14e80d579bbd71e48c5b4ea746153ac5b77e0dfd2c0ae1fefe86cab6ebcf1e74cebc6e5d4354f1baa58bbc8ed26de1f0881ed26bcdc0d0b2486c8c8779c1d42b78633394fec8e73d4d520a834f2083f8f3a190597cf95918d5ef93e2648d914b769c3cb234688ba07cb03465b219a844636ebecbd73600fbd08a026dfe8412f51e9597172311f25dbdc0f12829f7be2f940231cc0e1b7aeb529b16635a95f37dcae9923e7c0cdd7f88c79a9c030ea3802f427e33affca0261b1180a73e0452a9b39cca576048b8fdd074e7259a3e2135d3842ef52175064ad0071cd044f19d4a8bdb495807f3c2d7a41ce48593a7ceeacf14f1f6b7ccbc5e0219af339504066b2443fd9eff9c73cc6760976d3d8d8e60baef9082712ca0fb551e58d6ad271360b7cf4fc1dfa51115009980a3dc758a1ac8043a6b2213c13a2133d37e5e84697597480043c4372b1e45a42f063eefeb40cefafd28b30fd0c1d293930e7e0989879e5b49aee7a4b1f9137122a5b5b5c63385288a412d851fa3beeeaf9da9dad2b9e02a297640ddac67de5efc89c4aed69c93229f41f889bee74dae9138c6486630c59d470482cd78647ccc1912c28bd31d33e0ce3199429b04dfa77cac762ec8be9466446ebc606aa81779ce5b41f40afe6fdf6e7c5676b88925d7bdc724e5a1e4ad1582e254ec804d70ce074db2ed0287430e947897301cec8dce2d4321b6af32efb92a11165b69cbce56266c7352889d53590c9d6724c407ce01eaa5b06927bb695cdd233b33052277fe47a2af3c4cde6d15b00e7b5c87c85fa26c394f795a190c05483610a83ba09bb4e5a384264f8e5f7566b84f2ee1860f5b038768cd25f8206fe0e1d655857932445b75e9aff250e19b5f33778dd0bc0b176f24f0a094957312e36abf33d0be5bb50a3a3218d77e6f0f8b25a5167eb8c9998e0fd5da3ed8a9e2888af368a8bc9ddc0a5c7a4bc1750c549427125412601e78d050b748ac97062ac072e2780227db0fc09e3724edab1b177c0e8408f478a52c6dcf661adfc32a6d865ddab30605ed42004e3667418c2ab0feacc6d47b58b1c3a0a9a70228ae1dbad718f08eaf4199494823029635b16a4a127d99f80827e12a20371f622181e85f046ec307de82ba45ce3e0697567300524657e06e4ac38b7817d534a1ea88c5b0694ac5689723776b4d0dfa4c12e0448b407e20d646c053521630cd39648ec4ddc8c909a78b7aa15600ffe06a4302cd7276f7bc910047b5b81614659fa9c96c18094def2973ff04617b7242cc1a1bc23fa1d15de3b1bde8be5c52cd9442596015f4ada65e597d5af491ec296de9d2b4684de365e815c07801e045f59321d514e6949b62d694924bef746e38cf54824976beb3163f2c7ecda1c87fe2116367be99388afa5fc6a3d6f27d124eab3f9eb50bf7f84560f4b691390fc88c37b4e4e9a7a55d8845741aaa1b8fac91d51ba82fafe54f7f11fc739569b7c5bf84a308a0fe3cb9c3b61d7014ae998b045d8264c810f1800b8874bc8175ef7852804a048423079d0be080737e04bfb3d2240f2d92c9721eccfe16f397270a3ff5c3ff36a7a2cf2a7a7ee57f9b95745eb39a1e419f972272128d1a24208be81c276ffb43231de133a2d092fe77522688057129faa890e716f71575d8f2a8eb0bcbd5b1caa3b48c06738d1d4f318b8df42159b994832c72804f0d0aeee30a9c38573b7de1653ccb9b08d9d9083e97f1706541cce66d42f8790aecf08d1876af357884c2ff30d9760454195c615ea8c9824c5e65d054cb71b39fb61b44671b7500895ef04fe8bb68e93d32d79554988343c09b46a88d6538de18b8276f3d904e67de4fe376872c64eb7e6f9f6429421c4a7e7ebc34029f058f68fc5d05c2390bba049a72dce18c63d5b1af52afda28027ce978a30502cbc010003bf103f81df5e18e8726f3f81964ac06527c1c07e47e113dfe4bea53e23afef45a2d764e3c6a549486f2c2ad4af4d5c4bb90b94f518c34f71d8f6635cb951deb3fcc00ebd85fe93e603720bc83e1a11223fd295e56d62224854dba46984e26636998f00d81926cb9d5fbae3d905acbabccbad277e33ffd4c0f6fea260ecaac97f55ec0f469afb38591e6981dc7c93b6032f092142ce46a2ec6dd0489d1eb5c1a20a2ac364c8a075eed1bab005bf7c554e8ac3210a354f78f60d6da748bada7b02ec005097c499d289dd52f29d9e1429bea85da884027ddca62c76a4b5f5f9362b449cbbeaad8b50dc53c21ccfcdb0502165ac8000acb806df8e5c9e90ff1d01fd19517563603155a3579f44ea949dbb4c8f14fa58e08592bfeb1ad0fbe2ebe19725045a519d173169d480445bcfe2ec06b06d5c09a52d60fe958feaaf070448edaf1310fb3027025bf0867698b6b9fac886de601ecf153904a87a0fedce453d244e97d0c9a372847d7c324d35e956e09a46b21087873bb3632d02fe9c5332b797143272bbf76ac63871e2af5caef3116764bfd3629364d22373ab6fbee2bbd40f58e3e6f181b0d4d01adcee79bca81755de889b9351b2262e37b70de2c506b2f75153b76f9aecf4919ed65cfb94c71bbb0559291f552d36b86271b2d59e59075becdc263d5e8c0768a77c6feacc7fb775307fd9eccf8b3e14dba5a1cbe9ad28cba69f17a45d60d1dd9018f777b6f6c3de742e300066ba505c13769c201475d30e7d62943ffbaa875888692e7ba1c3f49ebcd60a6cca29838736f42377106e20b4e45459d7d946c6d79bbcb794a60a6312402be35d18c8930362bb494e74a5c6ffc085c79b6abaa81f1e6dbea01a68e218940e0a847c8cbf81ae41fe4a8c94de3151dbfb8b3c27b18d32a23a08add3428ca3f37ca3233c4cabd0276e2e8ad98653c3ec5089f3b0a8b4caf96b21e3696bfaf4af83c1a904b12a834b7289b126085b2a273a80d846c00682d0dead1f8c345916850271dda74c2254afcbba8086a07fa901b42d3c107287fea0918bedd6ccf01f8f345ed5b1e34c3bac53f2ec0f2adaacb60b0b24e4ea174db340d2b0b8ef8edd90a020823f1dac5f853b9858893014f207902157f1dc71fa269e15048e22b9bd2fda96c83b8d473a267f3a2d7edf84047719a618e66aee747a01fb2a970d53808d5da14d47ad534eaaca97753685b20ca36ae6a713de77eda228bac79bfa64bfd5eedd1ee7c988ccb237395bdee9f41f243fd8df0740b16ed520d389a6c3c1d4a2291c0c1a180e0a08fd3c9a417c256120fb59e395d3b0d50e44fbb2837afee9635e211c00ec6e3175312335a1f4cf8fc43a55d0669ee90c95c5c81c121c1515333232b39fb6216b7d6d6fd21b5512633e55dd51ca808e55dccf980095b281c0a67a34361fa91b9eb9e20c2339fe73fef4f0835bbc0a5d863cba6b59ffe952c44720ad10472df558c55bd3c0f444f7881baa11af252fad80d6843f89fec9fa3ce63751ca11431be55755f8ecc18673a3a6f499e2743bf740e8c88c180a2c766cc86f47974cc6423a59286a8d7de28bd683b4b36c4f15e6b6c3985ccc09c3ce5a4420dc8867e45a99163f67acfacc1244004d52dc66b4d496a9b6280356c5af75590d7d5d869c30dd48883e563438faa59f8cf4dfbd1178a405d2011bfa5eb235f1ed61975598e4a783b3e9ae4d4d84c992952edd05c16b8882b6d2fcf35daebb2350d9c4eb76c62063951d67e28b2b8df9f40b87bcb3c9bee7bb345633f63063adc7fd4cbc22ad5dfaff042cfd09ccb455549b6577d323a63259a1ae060f74394453c0cf2dce71135b114a219efde519221d25562b94e794693f247970ab17728fc453202af173dcd056f5f2271e8c63a75491d409b2204b6ade025883355263bc64bff2372cef407e9ab0b7c48ce4d82901b7bb4c9fb751a9ccb8e8391c7e8f2b85072b18d9a69b91687b347bda28da70df84272d738ad8a070f939ae78f8afcb905e460865ade8a35649b31abf95c6951eb24d6fd2af8bb6e05338d05df7ce0fd15f0e78a632d2d8ef999f01ee319d631caed779b1557026629dbeb6aadb4214349fce74c832e5989f299c4a69047b5ba87e32e7422b6d2ceaf018b5172ab2cd23cf46137451bf5c400397cb503d47c2bfe4eb9a6879f783d1151c952c1bf472129cd1ae9046c451c5ab2ae11e626baa5c9448f6b71462d7eb1d63ef5478aef892fa1441a630588b69bb8f2973a38d1027fa69d50bf940d67f7d8cbd232453155b5ea2bc803b8ace628fa812e71bf62416c260a261cbd265683aa3883f6c5b0797066820e957156627e0505ab732f5eaf347e5be4af54e375d7ed250b969acbf55a531310f9afbbb774b25c9a22e6bc43b7924761260c702ac4150d9b83faea13d6e8ce494f7641fba581b86260dc919e980cbc5ea2cf504cd62e5f636289328ff2692611d79e5e22f72f2f59ce3d175b166b0301877ccc33618dc1bdce62a1577f2ba569744186677d7679c685b5d547a465108ca5ad986388f2a091e8886086e101e7dd56245aac3e83478bc53bc833464fcf708953965aae54e97b04e0e72a1967ed3eb0fbb9305a763c845c139b9977765441ac073ba866bb5095c41e5a367942a93a11aeab97333cca880ac0efb201dba07347e51809f60f811c51ed0d881a1cfc20c625939a219495f0d880a8afa9afa9331e7070867d8a9f0d4c3896e33a56ddc24571694fa1dadd790cabc814c98088efe014796ab031bff2e00292e938268d8677225a1fed1ddf70e8b9bf1f86c6cf180427eb12b801c28d21b6b8f7e36c3ca3808c2e71e84806e3d102c77ce4ef046406b31c1772749204447ee1f41dace74f556e62dab0527562788a1190a11fbc5a0efff434c207625769747efd93001a027228d54b7893ab21632e3094c0d2888fcd9c4d66ed1083608e5b329b95bdd89e260f316caa3074854e919a3529e7abf49fd7fdb5fe6eb703e8bc155077ce36bc86bdf7a83e791794c3a031a15967852bd340aca4e7c8331a3346a2c97bd2dc399882a03b603c4183e29021179a81853c2522418122df4d3e800c281177cef6987b29487cacfa706d0356459efad290def5d5a43ec994f0db0aca6868eeeddcb305db25cfba93a9468f70fc01364091d0094334d3a2f535d5a5d51614e585c50457a423dc878c365821c371f3af8bce041be5c1fce0bd545cfbbe0802f4ff02aaf2d5655d50ca424a070a82560b1c3050bc9a68bb23ada4f4253af978be71f279ec4b97517bc03091a424fe508b143084002105ac37fa1d840104401803b2e7f09f406152d7a126f5a7e72241cbf742af6ab7206493584988947b6fb9b7943225194b07c005f305173f0673e40bf921884b5ee699bf7d067aab11702f7893e5c81835e40bf9db873d5e38f3f63c16d4b6af212d18f678b3d5156cdeea6e77e58a6118e6ad2e3207274f5b6ce8e6939439d3a46a56d833c5e8a063fdedebcf3e0d871ed6b06858b42c28cfb8cb39cd342cda170d8bb645cba225658955937ce1481926932406f4b9b07d7266ad2375a065e9c0b09e6c400d8b96a4256949b96db837d9b4347289543a3d0a14c25ea65036f59348b203a591ccb0479d409beede7c32e74e33f6d18cd12b5fc39285368732b4479ec4711d1dae43dfe44879fe918c21853250e86b4104c72f39cb6e968c5efa3d36dfbbb99625bbf28584660748f2c5fcd045d7f8257ee9fb1dc8f91269be96a52b682d8b96a465915d4eee8249d18b041d2fd6d18b05f41222e6c51a92980c976a027b4a09ec1f27cef47ef93c69923d5fbd7c885e3e23642ec717902c6609218c71a26585219c5053c43c6ac2a7091696e30b081a263176c7eeee8edd1d3b080c5d4c9b0bca28c9f105e44be6fad2885176bb63bcd371e559debb634199a5fc1d093e3645aa0a3c5dc7abce18ae1b8cd5a99c567e777753fac5680ce923c6de9c73ce17902a79ce39e79c9d10a6af0fe099e30bc80f550081d202a621cf17909f17902092a873722890d3a9e009c21e9c2c413cc1eb07992c737cfd9822a3ae680227259122c2624295d40f3f7458a0a09020ea942ce974f8b142aa851f27a49efc60a58afce0911a72c599313fc074485c5061b27466828861ca9428506c4899c0448b0f21343e8a1cf968e5e0c3470a6a505bca7446a050e28aa41d4370e08502c10e9d8f272920624051d10349e7a5871194981eae6e480f20292459944045ea280a94172f9d1048a45c2002657424a607d4171c7e6448e9a024091e476ae061828bc708282378e8a05245d78110a861a233dad2c170250a0f74427ce051840a010d585e3862870a29223b7e524d760819b363470f56a09e10d31571420d089430a2736225350210a8297440ada921c564a8eb21020b21100185242290d07d11a1072a89345cc8fc3c21431730479411e20c9529524470520586275a0002a804322f1d3f7cc0027564a68730dd084b40f9406a0992120e745978e871839326a91492bc52e898ac19928ab2c60755c51a17ce743c4811c51794135aba3145a0d001141723560e1d6b061c5c40f9102485488a842c82a476c84284286850524c11a6898e85243a26b0a07ea89272fdd06d81d2f94084d2b22445c30a5d9a13ba1eb060bd80058f140b57dc30c60930a915b874276451220821a67468a2a0b0b021a58349ea04a1ce0345ba22352dd415353e3e803535dd14582b8362224c6a062fdd122d3baea486aae800628828434e7688a13b2249d7c4119415222820d2084909a5e161431a5416655253c2a478f0b2464b37c3152955504b002143948e0a2756c4902a4ad2e508aa03443a23ae1052c3153c9a4893a252c68a30282f28242d5d11575ea8120410dd9528669c0c11439924a8d711541291ee072b847444ace091e2401a549a324dc274287801a22525c215a22a5d0b880e280aca034e7ec470248991235d1022292034425059d0f04092c6a78c0a61a4f04284962e8b2bddab4aaa0504aa4b14229c7425c480a29224e8c80a447caa101254058f2069ba24655247c2a48478b9414b87c3152b55522a00d16111a5b3c1090a0a5c634055c135492a86a0204ea0a1d5f138030489333a72b0a223810a3239cc310a830243c5971ce6e4b894928a2d52fae73878801d665a2d334166948c604606232158951f948899044bcef844192a7cb00012c434d32387f87f5230e02570c7014c8bc820b930325d84503261864c70d53dc1dacf088ecba8c0ea2fc3c4c75c3dcecd918a182172f8391a0a9c4fac9261dd1ca98cc1a2bb5d9219221334e7a418192332456490b2d764ba64afc984d9b68de37a905193bd323fd9f39555015bd3a5613299302e435486c9c6654c12903a860b2b8839264cea0b135dbea049314193689ad6049226d6e00e638deed09a38d28450ca4af57077440eeea0c022a4805c91f221a64ceacbea71c43c914b395211a325879fc3838bce8d491ac3254a0081a3cc8868680cd0982175cc8f241c67845521c22651e689325494c162092e058599969920334a54a9236a4e0a2927c74b0de17993871ca96ca9818724ad2a882491b279623a6eb1c289a201610d1f4a6e2a5ca78a300d813b0220bbe180fefd0b8630ef97228e0b8fbf8a32b48f8f77625e4509bc2f0e67df85b538b65d78b479b3594b0981f17c3893467031bb3b48012a4e3c89f9a70a09dc3f27a8c3cb27080b173d27475adb1207877aaa035d478d580050139912af6c49d32b0075d08e1e438248c10313a87f443254f40946c4576351455c8289144ddb400a2b84e0c0c44708c03c71024946d235442e6d249a29026886238c9c3112b3c432628c940080fa31f202a800406d26487c02861d1a8a3246d218c9622400403c8cf81839a5809e1801ca94146191440b891f869c2491911cc004253880040ba4978f0d3ed85025bf80820f46ba4b0e50848208237f815e675a8958250a23934cb4128225422d04073bd4db4b5bfd0d9472662770d2a534d1a09452fa598edc19d3b2903e955e386b814fd38d5e03ded4880dde68cf03b610823b0b6d882353f9e5c83d364ff09355dcb52c9452ed390dbcd98959d3b49ffff27364fa655f882367b17a8e9c7d3d3663a0fdc2d95f626f5f9fbb2519ef04e6fcd297405a2afd4ecc25b0f458e9b12f8199db7e86b439b2f6f578b97a0eae5d09232021207a5dd795655487b38cea7cad761ec75dd66d3dc9b42853225fd1065291801d48de1609d248859e74821a70cbf255e64ee96ca009fa7493ec4a7ca56a619721807486c46c0bfb0bc54a040489e56ab0c3d8479114a3294756906c1d01875e171579455e91e7535424c568ca911524eb9247f2485ab13e368810cf73f1383056392a1f2b219ee7e27160ac727c7067178f036395638358579177e4b9581549f18a6c10ebc392a1177945597a5151c681616f5b91d5345b6d10a416b888d30db6d6b7415b7fd8e7da660dce20b8e2a8028279b4a7396c23ae8d7a4a1fb595c638f0febc4ccab88bc1cc1a786748ac9b0c35510fb94e1322d7a9df1a6d22d50f8daa58b8be0a08ee6f1b36879d43f0fef80a7b0969126224ace4e58325cb01b84e7c0999e231da02d957032fab117043ae59d3466e2463f49074a32cc1308705c3e6c06ad4bf7d0f6d6005e9d06d35022828bb582a42a81b844251140af59785ba4128d465dd1f140a755dce7a94b3dec3607842e13f7d3dd94cefb66eebb626eeca82eb4bee2139be4a409adccb13eec716f7e3ecf4f184d8d7df406e8b599bb5cdb0fd368c66d782e1c4f864ff844f277c3ae193fd13fe1912e38fd9e21318e6c827fb85335b2cad3d9d7e86dbd82f951e9ffe4d187d93e9f4606863039a26fde83635dbe0ec547a9b9fd834b7cfbe647dc5e50d0cb1af1908da2b8430beaeebba2d8cf15f16be41185fd6fdc1185f97b3f07ba67bed356117f9bee9aba9047ad7b7755bb7755b99124384b201727cb9ccf084d9cfdf40d6324a4d6f4db7863367d041be35acbd497bd335bdd56e688178b897dcd5ec7d0b5a570efb6998c01b329bc20d641eedb98f5703ce7e683b335d30ec5209d4bc5432dd0f9c150c6d904c8a10cbb2ac8f05b23ed66559d65e21f77bade9b38bfa7b2feab3de3e368827afac674a302a81a8041f34390139be5a5372e6fe5262524a5ce5471093f1ba6aaccf4df7d81f3d7af4d81f3b6e3176cf0986f7678237648e1f356ae3adda6b153ffe16d6e6f10efded5b589cfd64afb5d69adcdd4fa753e97402431b109b4a7e2d07e2c8f2765b1ebe53a342745d97755dd745542202c244396b204c04a4659a06865dd6baaf5af7793d5ec69a0686ce2a799eb33cefb66eebb66e8b087b0644eb498ba5261720c7170958a66405e4f822c12594b369596183d86dedafa0f5e90a2acf8d106466e570661c1e5a1bafad2d4cbf5530bcafe99031da050ab98738b2d0857276fa0cac8fb18dfdd317fd850d18ce8c4b2513c8b518015f90ebbb13e6e0e1c0ece76f1f6e3d56be0dd2155490a73f7b0ca3a01076ec8cbd46d7359194a0691ffcad63dbf097c25feab3cfbfbfcd5d55725a966599464d946af4b5ceb4dbea4c6bee721a6dec695ebb5f96dfa01ccac7e1dc6f20639e756318bd3f396cad5dbbaea1c7b810f3c7408935f7984b6f89f5d4715b98bf745709745977e5795d2e7fdb1c750285687fe79eb74d7db1b1efe4cfa289022518f6dc96bb5fa3cc699aa6ddd6656dde3a86a6908c318b66915091905635efb6b2cc41ec3586356765addb86046fab11a0fdbd91ef4379ce9f4512e358a4392b679e976943da97c0d05919fbfaf8b6c0dbcab2ecbaf2a6699a765ba76e914204584eee469b2baf5ce762ddddf49b629ef5e6aeec724a22e0ecffac37309cb36bad27dfb6ed9db559b709adbff59fcd06e4b19f75ef3fc31fb371eba92e0586ee2e70b39fcd9fd8fbcd56839b6068c3fb6ae03fdf595dc17c0c7457e8f7ee9c7e823ca7ee5013f5e1dcf1ed6a60b37f0d0e74303c694679dbbe98adbbf59fee9fb31a015dfba36ff33537adb7ba02da5ed81bedcfe508ca36a7477db14f9fe9e3c5a72f47b6f92a90b1e996ae8dcf7d1ab6f5469fc65972b9bbc7b88abea21806ce1c79d249299dd4dd048c737c29495a750ef7d9f263a4874a071cbeea85e3bfe3f93939e0fff41c4a29a5ee257777fc1697dc4ba5ef92974a252f516a02de9e621827b3ec4bf50be72a633f4366984231f3c50cd0971c5f45a2c8b3c8968cd110b207432fd38b4358808361f5f6af7fb2db69029633a4152e3af76ac1c8ab051f2a738a6e60bfe319fbc96198dcbe860436d8360cdb368a51e03a717bb96d5505ac3d96736e4fe9463d49f39cc075c2984429c656917680cb3ee204d1a7c057fd3b9eb32fdc3eb3ddfe1b70d0c14eccdb73de0ddab74d67bf731ce71c4641fb6adb1a54a9e03d4e378761edc2bff715f528d072035c07c3fce9cc89b1cb108e2ec999a067ff94408d27454d866c82847eda756a9f1034505ff664c0021e701c7420811a3320a004873946ddec6e0986a5dfa60f09194d60ca4af84db4344b4bb4a7539398623a834e3a29edc633680904a9e993b8d24929187d2591e0301ad1ef9131723ea0413fa473d2af6edbdb8f5e1a96524ae757fac2d681bf2867ccf3ca25da77f61a08017fe175869051264f4370f4238e109adc46e4f862418aab86705825a53ddf057c85c5579ed456fac824c5e8095149c9501050d6acee2171f84a0398079e2de0020ee3d10d06949be1d63907e22828259d7376d36ea0a3ccc18a863585dbab8ac0cf237f098edce3e1f0dc448abc52cad2b6d1d8de030982f1c781367933e068a892e07e0f2cf8018d7e1a5be7f96aeb2fcb728faffc2f50c1e82fe6fb0bff6066a0072be0b0f67b7e233f6649413aa9fc9bc1061fc64194207e17cf81c9530a9ca96bbf86c33bad3e7669d4c76ad75abb6a5c778361cfdf8ffbb4dad9a5d15db98f5f7f6673ad5f9b8b9786f6314610039afbfb35908b9f2a090e718e8f39ecc68f59cc406b55583037014e86413b9a5d7c07bea21fccac1a82c368843b8f3123064e8e042c98711cb77d351efbaad5a8edda8c5015dda88f95544830fd10470e4d1fe9d7d955d0ca575dc151cbb28dd29e1ba51bf785394c26d3efc46c026ff0f3983e7b0cb610826f6c983e7b93f63972ada6cfe6c8f7ebb1d9cebc514ae9569fc3288561030ea28cfe6f03550d355a203f5ad0e5879526118bef13877759c62fc688459d0cc330f0e3308ce640dfdf3f2c62188661d897bd8318d06c5ee1799ee70d0d759c73c649a56a090e2b76f134ca1eef10447f1d9192e32b85a4570a4d5e41aed71131d65a6b6595765e1a9bfdb8ede3bc34b60d9cbeb2e1de6ccb5eb357032c5b307af26bb639664b70e8ad2888475e47ace49fdaa330e502d50b1887d9b6b9facb18d102ecebf7558c8b3a187b0c033b1b7083d6a812c1459c148272f65c0aacec2d376d75cefa4a56fa74270379b6cf9e0379ecfbfbb5b17d663ff4f2ddc968f60010a5e73a1fb8d7157cd01906b1b35769ad0e863cdbdb57112b99fe56448adc321bdbfb7f34572dbace07aed52823d69eb22bd03ccb1d1bad79e6ae0deb99b31774de9ed380db6a5f1b6d83be0d14347c7b82a9a2e0ece33f8ebb740d7759d5344d76c6c95c88b3a594925a3056e75431e03027474584fdc1f70c1acd1d4ddfdd793caa9ae0186394a24bbe01ab9860a0222c2b5b2951f50487ed93a38314f8aa55295856159e11773961a98eb0465063e5e5b3e61544ca2b080b8527aa178c7a49a6f9bc0519e538f0ba6891da4a3a08e849969f7513950b875d24cb1e455a876a0895465388902ef9cbf125440a1729474dcfb5f5b72caf403ac8f4b54bbe609580c30692a50f06f2d9bde04d8d0bde94e897e85f0c47e64ad7723d366fd9635f9c2e24b3e0fa21e02d544734c075e2639cce8c1f1c7a391ae144ea320755961a33ecabef4170b885ca081caee6db0f5de42dbe9b9e879afcfb421cd9feb6999cfb786d8e6cbf1e9bb91972da9641e29166350b05202da9862213f6544666cfe9fd2fec10d4d313bf68495a120f3e415e3fac970f160dcb6b596a3b135cc489178cb962d4adf5107fd9aaabaf3a150a583e8e3d01ffaf2a9120223f1288353a0231df6c1b46a57ba9befc5e2620bd8680c9f3ad973d169ee5d75a54740426675f8bc8be4acce66463836d772f68a39cd50a8699f6f1d85c0ce4575c2bbe36b09bedebc70b3c67cf79b65f88a3f570721a5083030f7a34d0c3e5eed71e59adaa2cd5de79ea677e3168286832909fd56ba3e2da18c8a720587d7694b46464027a92fbb114c5c7bcbef661672d6759fbac81a17f960108f2b50fc78dcc319941fc7ea7e1e895c3d011dc7c6ec6b95333bb3dad189535ca08e7677887ec31ec3953ff8c6007961f9d27fb087ce0f9518686fd7c4dfbfec20dd4207b4ccece024d962fc1241de57e2c07a01c801c5f38a0c9218ecef2b5e71e7731b35fbf3ffb35daa87da1f65373917178f93e8e99ed873e59be67db850f6ed36357029b7ddb57eeb32f3e86934b57bba05f6eda0720cc1c41da5d3fc43efb7933c01e739d8ca71ffb426aa3ffdae8c730f93703ecb1ef7b018c8611c10e1cbffec0f9e47e7742fb61d8e8600cb16fcae36f73b44180093a08c3574e064c06737c399992fb863e0833df30e5f9dc0dadb7a69d699bd6158c381986eb508ad9ee963c9c3cc932727cd9008403181c8e800123caf8a03f4609b00fb3c7320cc7ccfd21e611f83887459c0c234a109f08ffa6cfc5efc6c6fcec77e6059d237863a33ffe4e833720ccdc7fc314c19b1b9db10761e6f8374cbf7d8e3caf06fe1d41103a63da874d9047ba0be1a2090a1a7f79a3c5681af8cb9823e8e4da28c3a1d4307f769471c3947dbe943f1dac3470f3b3a19c3d11b386a25c1f8b21733c2707fc60e60627681181109c233f22b2d4b294a1263f6440cc9a8d38eaf44becb54b03ab317b0de6d79f1e6a74ba0d07bd05f611031b37034307a1337d1e8a41e1a2ebdce80880e0b08220749660052b40c515326718b025cb4f1159960cb1c2152227928848f6509d79d1e07acde0828a8a4b34c28b08050d7506690281610aabca135e541082628156449829b8d82b363d20e15049107ad1c0444586ce33abc77911bd904b39be888072f839364a25c2041b98788245111c829c99482a33aa32635463bc027c1c408cf800af8ac23577cde71075f55f715630fcab3f5692fd3bef3543d00a9897e7c9deadaa0bce3ede30e58e12f457395d04a97202c70f6b94e159dee83539ded890f37174c66886235f2a2f51bc62d021e635d445b584eacb14020616131d2078409e255c2a0920668f5193c2451c77e7f1fec2aaf282fda504a7c0f1a74a0a3c75423ab52843fbf937cac86e6c80cb3ad38cded48f99277bfada7753410c1c906946e31a6943ca356b3e8b2acc4b861eaf2641aa28b621204c71848b992a9e40e286207e5e32aca0524215e6b5e44bb639be962419791e97a9e2e24977e9b27bc9d10b3c74f7b74790b177a1ba24be8839345df002507c11330543ec536dc111e4981d032e2f0dea358c2037d85a541f78bdc09291c3dc853bcf5bde72565cc1c0c1b1393b70d89282f89db7fcc371d1458b4a4767291d097557d4b07405d9cb186d06767c1a3b6a59b424d751d39ee7abd62102f6216bdb477e9e4b8a2ece5a39cb2b382febba869ac020ea81c3ee92fbc32e8a16f4f751ad5dd452da2846d939ebb67ed585cacb05352f2553a878d096bb7497aa213ccfb3ac9a21c79712305130fd98c37fdb73ba8389ab982f501226ae620e6596395e99c5d14eccfe9c99968226ca6834392a29caf1d542931c7dc8f195c44c961f769de97110657496ef9783288104b10f2b9e935229a59c724e29250e058afd1365f42ce24ba460ba7421332d69cece9b39d2c3a12b6905891a4763f257495192e3ab60c03d25c7570b52320539be9288c91ac87dcb0db8be8a0976b58043470326b78e2f603c0aef56ed805bfbb0815630727cb5c2542ce0c6914e21d50eb8659719badada452da58b9aa886af3a7b4c2f8d2c033badf37ce5654c6a1fcd98c540175efd55ce045996798ecea991fd072d2f0dff1505d8372077c7d963b9df712ce9e917462cd14a8e11a7331daa8a078c7d566bad55ab75e3b09b9ed32ac7bdb5b1b1f99d986dc09bd3f3d8d43fbd663ad934ce914d5f05b42c6d378edbb4fab4d64aa1f4ab7ac02d1c730cc370e7fe7e5fcb304ddb300c77077557205b4edbb4066a31426374ce1b36950e78f5ab3aebd7629bae8212b96db3f7b4ca73dafe786cfe72dbbd5ffae8a551fa9d982b587fabbfa1029d9aa8a44d17472d5434020008089315000028100a87c3229148284b8278957d14800c7f9a3e724a978d44418ca228886118c818638c010018420830c62043626600c2a88340c33e28356aa1cb95a783f95b116ca2b7ef59cab3700937f35fffdf43b2f2d255223940bbfff9511f1c23478d4eafad2fa8d54d3dcd03939563c0fa64d6ced0e4b5c515016e3f8273c58f11c74528c079f34b911e3879853c863fda3535bcdcbe3fcf48e1e932d35cac55ad1a61ec6fabd88dcf33c77b09dc1d9ceac5bd1cc3580ab604c101065d7cfc397ee5d8acd16150bc9921b1179336930f8e5a734c1490be4bd60419aed559e87896894549e4348956c741347532a5ce6fd669a096710bef72f771affb8f7f644b6effc2ace33cba1b47f54b11e47ecdfd0fe0d076a234190bd349545236ee94daf3af85d7b43368169a6308ca8e10eacf569175207ac72968ffafc8b79fd7143f9d68ac6b180b06405a028452cf604f349d1207d9bc47528eb2953e9c806632fa4b2ee4f9a4f4a15c054caaef3bde25e21499468f7ea154df177c989a27d1e25b4572217925a5242e47e0ba6364142b1e7b5c336ad70f3843e0514250aa36399b00fa17d5309c054c352dd9515b4b597b84d8fb645735c7e77302cff0a0cc4df8dfb15df996fe0d9656b533e9b492cea62e36d0a32a98175eedf3e0e1d03fff917f825ecc3bdb4ecd14ef982ea4f464c184d2b1d83d685fc50122630c3c3a6215da242a2d04c1f8570d08dc49b3fa99c086d63bb16551735f1d341d82e6ebea37d9f2af7743d64b1fb3cb3a7efd2ea4ab57e2b38b0c4f39a28fd9cf25a4794d24cdc2a1528e94ff66b9ce6b11fae93843bdf13782d95d87a6f412b0440996ff9e949a8871519fe3f9b7c79e7bb07c0a2c209541b10a3fce88168d6a3288f2b119581fffc646ff15b9182a97b09c80501a49b091b2a95c5439cd01dbb913db397b7d74bebcb4bc8d0242fddf15f24d0a92414f5e67356bfcb173a1403c0f28e95cdc8417b40524700152a1ae89e9acdacc5c085f0134b1a9b19d00c4009889af0bd4369a26baddbb5227501c49fe8e3b29892217ffd65f507cec857a0e02ea960cfd3f922544f618ca6ab8910ab0e946b2811178eb851c649842e3ee03a1451a58426f71ec71d65fe66c2e3a46b6d440e97c2271b446db4b1076896952c3c7355113692d9daecea3ea39683b73b7c32d35c345380e44a4d4a65fbebc70466c3595641a95f57f7a97746825149111bd356cf882333a895d3968e9d7ee31be0652d423c71d3722daab0805b14bba13d126e5e2b77ab82a8f2584b0efc0dda5d30fb0008c60107f53223cdac9e37a62f35a6c747f2a85382f8c86254d4953d33a24ff2d7de6179423c7ad7ff81ff49030fc78bd43403eb5ce2110699e802b3b934e028cb92fcca92357c72616eab9887957b2eb8407985960eb281a6f849b59e7bf0023b5d10e29ab18bea3ba2562f5e84d8e09a617ddd868b061cc10e03799569a11a13f1cf023533e403d265b7ed8b8ca0c35515fcf6b2e76111c813e111a9904f7dc05b6b655e7904a69a40203fe8ee7d5c746a5c03f3c847243eb6055a69ce4cee1175e2f036f1ce7c07e52bc089e40b02dd699ba9efec9188cebd55c643da95659361ef03bb8b4ddc51230d0ca26fc861fa317b05d971f35fa1f0b380a46fea7858aa62ff509e89ab8b3584533a74186513e0f6001f82cc765e816aea5faff5444625d912f56149e7d40fcb43c39aafa2a79eee257a15fd5ba34ff357310866337f05e0fa7522a54bd018e9f959a128b4fe87da99a9c65b58e681a61ccdb7a67aa9cc024198c040744fcc45348d4c477c74797b29fc18a9a399fff5d3a8dac154fa2a3f2c8d05710ec2daf695be5da1bf48f63d14d09576c9adb0ef12c7d56d3b2d8a031fbeb26e078ae37282904dfc996142741a1a1c80aa8d06efc10282b9ac75a2a8412e9e91c19ebc074e89e2c81a856a22f811e8bbd5fabb877e9e6202e8731a984339a94729a87345a0de835d1deecc630ccfb7cf7eefacbbb35eb4d76c90b692f6bf252d1e1f8e1d877ce0eaf27e26007cc38fb8f6acde9e8667903e6a8a9b7e9c333c440420fc4693fcae8a6df18640b325997a361e7dd206a3640a0fcfdd0cb9e0c378d8c39f0da5a1af1cdab799f5b8b4931af1d4e6947d7df54db682450b8d2d99dccd10ae0c0ec871bd25fd913eb3386a006ef080d65b4427f6bd5a7d3341214029ee4b2d58978854ba8cc20a9292b76d851d3b279c378d3e95b6d9b012b38e1264ca3e3a6e55921f7bf0d514c13fca0355b7a50af9b07a5db2c650f502f3273d162ff260fd4db34ce34574baeafc53592415b3edeaf425f8ef7de37ac4f5753da0823f265e512fed81917a2ffdb416bca608b8281973be351ff0ee32d477f98bf7a3b4bb4b8396fbd236cb98d7586459c8cb81a152050d0c09d9340d7339dd94c6c6075780a678fcd1f81bff348c53cb409b0a638d044416fcc557f5dd232fa86b23f38798ff40bd53a338a1a9c71d90150e8d83a184df94cdddd9ae378f034f739bf3c47f7460805431b3d56b9e308975cf1d8793b7ff7c503b518ef2d725a6f5cdd26ee96660f510c441269ff07f2208f97fadf40438803c5838e8918b3d060a258899a0f08d3dcd0e45c83b04e30600846e00c57f92d99da6f632e3e8167c768b5328e34ab68abfd563fb4068d2f5d7a201a52fb2d8009b0abdf30b79dc4db3c689d91943c0b4c44f70dfcc212d3aa2b6eb48593a28d62cf3de8f201b499ca643712131d745d9fbbf917661ceb541f04685c8d5bac79eca6096c918ea05122a9b68ed8f4ec7e319109d511e06d0d3de60f5aee8e716c92f9a0c91f6464287c061655dfbb115486d0015895c09e407137ef068fec569179c3d6bb1fbbc61efa2bfbaa15ea12c96ab2de0ad0dd79876fe7f71df1e03bfeefd604757f27dacc97a350d3d6abba955edb902c22e9edb8d687ad57a5a9aa7df3493f04a9adc8f221da27bbfd415b8d2b028435fb441ef227c7e660c31300ba21e9d14b7ab327aacc5b8cd0b027ca9f742bce326a239973bb823cb264714c2a1036b8c619590339267214eda236096b02a9900ef12b0c29160b71814c5d69f4c98c45fdf359b7b4c0796fe3d27a091e3ff5d148553d183cd6b56767c183c7f3f2c08be682ec32e951bd6ddd092150f688126fe95a9f4bb5c985948d2692e269688130a72dfef460d58cec53eaf624888618ef73184b23e140da5a705c6103a87f4040935efe6da8210678f98bc9450f156839d92360f7048bb9a70f6c2d564c111fcc2ce80a25cccfc6ba8dbc1890b8b1d089ccf3fe1efcce44f1e851eb57dd8a62ced66a22739235371c02ab8ceeb32998da0f22ada5e81817d7dc309d7ec6d43165baf31a1f641641f0c5d23596a5c4596104d8efdfd9a11e33e5d4b031bd67a8eabc0ec0f7c26ea95d3826c3c7a2bca8c756ea7ce83005fbd951615cfc22f53a79ac125cfc2e42ae3d550955cdaa2d4ec77087102bcc40ed492da09920c9e8e2ddb089c0ec506582f27ad8c46f6e4b968eb0806a98b38d9d282473f994bbd8abb8e104e4856a66d7572d6fe8476b54d7a4816cfbfe7def4624c8eeb943b07c098de231bc922c4e843e4a0049543dc9581ac40a1d0670b9a7cc3b10d461fdf54aebe5da7aa067a5b19832f5415671bb68f6d8e353fd0bbd57d211aa4f3444321e12f0c117efe53e9522cfc99c03d3dba062e54c72b552bd3650eb426e69ac27cd4ca058f719744e1323ff24a7338ebf6bb1908b4b115849ce6c9a5dcb426dc3f50a22645c44850d0c29380fb5d7c5d05b22d8c233bc0834b63f13e0264d72c7ff58df1ffa21b75c844e91ea0935baca3fa64cf42eb8638027b5476a9559fa3c8f4ea341fef415b23d03c7341366a9a4ecd4496f7465aa90f52db18e162c341cd2d8df9d981fda231c5409a1634f189f4095543db0d2aaed33c34764ac424cc977424c0bd3f09ba84750728ffef45d188b624bf7b8a47cd38bca37f7857a4857a978e7efbc7a770909a63542f932c2eebe7d53f3bf3cfe8698a4575e0d25bf4585f6b84c5d7c7d0c836809d50ba0c38c21fbb2b1aadb66d3f754fc3fa62c0f8519584077033fcbc448f79538300987166f64e8872d90b39d678d3ec14abf57ed8981e1b81ed957d3f1add371ab89b30cccf2a95392bffae3a692b0f7cbae52ce1c1a667c09d09b1de75ac305a87eb5a33bbb521bed4639a398f6940b8841111ae50849b780fd41a2c660c872da5f8b28ed40a93f3435ef9055be24dec2e99f5e9977bace685992a9b25c7609e7f4fe2eb6edc10eb366cf8594f52e468784d9f9b2cd6f4ac378de2d17dd470137673a522ec8686f3e09f3381f4e1bd6e083981e17e2c866ae3e1bcc20cb5a468b03b05432c190ec24537548aab288991de9d7413110d8da780847fa3b2de2357a76ec500337713b8c628efaf79c415a2ac12ac830553c41aca2cc8eade04ae3d8b98913b37c4453902f3643d7749133a2271a9f8373b3740790112f4a34608682afe4244eea1ce215b4b86cecb43a1c80c00e2471391ba6372f5d79ae5277203a67046564117c6139980ffd4fc797eb4cce98186a22bdd9a09321228cc4aeae4329a38bd419008f24dd278d12c41b65d0b061b4b68a7c6c55ac29caf233a7ed604c6a078b4b57b3d39c3482987fc24cc771e4e824bcb9a9ae2b1591d739bf4a33fe72a7b56e0a9017de3f94420e368baea32fb1b8f11a2694993c3714b09655a0f14d9ddab18dd256857e340bcfa6f1b3f3e4254565f886a7801f4d239f30a52e3044afbaf70867f3ac89aea7f3cbdbf502506faa7c8de34ea366a1487957399639a0721e564985494a616a7514d884d6f331224f284c0bed9f51dbf6821ecda39e645fe381a06766cdd0ea790cd6013f8fab9c541c1b87b39b856326ec8a3fb706b055155c313e21eb3f593609e94e65fe587e5b27eeecc7a95469fc17cc918a95dcdd9230422c0028dee738f973426b2cf73f4b82921006bd5dd7577a7fb787f0878c583c5a8e678619311d6ba3cf48f00c1fdbbd666a69f72ed01857eec46b9270101fdf3ac3a21dd15831e34b8aa0942fd56ded84b000b9a41faa9581207e1803d80d82d5591ab337651e76eb9eb3a19b4f68d7b0365246d1587be92346d89c201e4e47f185ba28803e40901942131ab3490607e152d25d948f17f48be194af4ac06246ca74106a4b0a97f2956a35720363785d43bac874a250710e0388f1ed01ab733cd2a258ff11559bdc79f07566fb80d19d5e1d0435e7d7c23c1df5fc44141996288bd520212a14642881e453979a2d619698b796521a782d6e15ea385827d574ca751e4638dc2d09ab0721848654dbb3048355e7fe50d020af7b1792c029842f245887177f351ff722d8db45afce8a43e93f1d1848da1664e29a6a9e675acd543ef1dfa279c1d00891346790e2e844e615a21500dc5e6c506688b187158f21843a94153267dbe06ce1f60fc9d0e6d737747fd1400c7580de65c6177da3d6c2311ea1650034f6b001a7b7959a2a1905a55e21a159d7c19bc891e4e0c93aac6c8a345f095c66e019c19f47fef6e23a7a6ee048654e884b0ef6d5c717dea65821e3d486c5ac4816d417c248798015b5c64dc5c26c6a14355dc065c454537a318215a5133450748d6632a3be7ad276a76d8a3139426477e1b6440f8291a94da53f04965c5b26ed5d7469e8e7c66dceb18abd2eb71550beb1c4d1f9d46463353362dafaaa757930eb58147d829d44a372f4335e404ebfd5abbd80e4e4688c59b4bdbb3d13769170bf7cd0f352aee1a3f1c6b2e56c277e447fab6168dda9b366878c7b5570ecc051c6a274f2215863752836ee746ab786fc5641b03ce3bcef0cbabb5880a555370363d4ff709d4992b47352df80dc55ee732214773ac49df76eeb41ddbb141da55a9004e8501a496d7b3757f9474b2f3690f6aeec46d6bccbbdfdbb9bf16e7514ec7cba14960e08dfe43362714b5d5d68167f0d96f5601c26f69e9263a32bac112085a1270e309ba99e66b88c4eabe0a3ccc1e28009f0b032667358f3f000a7657577fe1a6c5e161858044ed48435078c85cac304f19ceec112c058459e60e54f56ee6f0190b49f9155c3fe662086583f0114d674d419fa0629bdb562d1607dcedd39ae871acadb0ddde50525dc2dfc0000d2ba1be350c7815ffc42262c8dd998e622da0b8fcc82c5106d0ef40cd6a2d0bc778238bbd91836e7423437a58014a1753e6aa38f0676b439eb82e8f2be1a39739f94e7c6de83e9b28d142d5c98ebccdecb9ae13acbea8c590b62307edc5fefcb4c12361bfd147708f3988cdf3f530c3a6531edbb21114ce862585a9e8fb15b37fe7644a3288a707b59407e2d9dd19a188ecec1ebfe53acf53422d483a2378676354a998ef0d5278de255b004caadda9640eb8e317bb40cf95b7a83bff95624bb2e376f1718ccbb3511c568f9554d345ccbf7de9419512c4117986cfb7d18fd543820bd82f865240d8cef3285f94ac34f0c5d696b53044407574ba9feb5cb74b04ee8338e9161ab03d301a51c82d1993cd5e589685678f546bca0b69840806b6ea3b269a365473cfe3681b0bf8896094848e9b44c5e4599af5e8af16bdaeff97913bc3dfbcd744a9092ccb77d2139dbdbad0374cbe3f5a6abf75445c42f771cffb5cbddd76dfeb7de0fd5406c3b082ba061d760a691e29385868c09bcc26d2a50d7e03283d8de97ea8425f0f8d2ba8deb1b0f9cf5817c5ee8d335dfcdf3055cb447465a578eb4e2b03a55f1e6428605ba70e0596928736c120dd72dd54d03ebaed8b7e16bf613c4c794694a5f6df70ccd398f6568cd16dfdbe6cbbae6dbae26486608e3a362f195c9ed1a8d3b88a0017f805006b3289dae221a40dc5fd2f00b3744487b1028f6d2f58340af6b2f0d93816f99f336dc345ce6730fac922edbd4666d075b84a5d1e2f54ca715d01c14982fa555545bc7aabf19bf2bfa65dd0dfd65da3066b2475c845fafe64b674716e84f2363f0701976d38db08535dd91dacf53d0f5bed814fc1cff549e194c84780d5fcd0e56dc5566ec00ba6295486cfb0a2be9dd130e00f060eb5486a4187a50195929103221c44f48165eab34cb9f5ad515a44381264248cae487cac8942306218ed16fe3a72b4b7134bf4822614b2f01403de9278fcd048bbd1a7176ca56fcb626c6da8d09d72cdb9c1a5a3ab23b35c4aaa71e68cf95b32a267ac729109950a4b3b4c67b41aea269f27f5d1e7753eb8bc59980e74f76b5b36ca6ba715a2ce22fdc5c6e238f795c3702db7ddbafdee907372ab31181b23b6694db30392d2ef2dd61a48e98f93e8fd4eafd71744368a500b4fecbd71fde233be4fe157e9491a9498dec26c6c327fcacf035c44660428094d3278faaf8f8da961e7276c73e0d37256eae65436ea2f49e6b65a98bea7e01f9a89d581924d9c979a29a3dd96cf11470add5bb34153081c2ae6e03984e58de4273b78c3f67a48240f5eea556f097b053fe645c343462eaee1b127895b1258d15bc27b795af080664b43f8e6baa44cce063f96578b986b06a8de73267362d96464371be163394a62ce127d942543a749f4f14a04649db655877127e10e4d7f6c4956737a81eb3d72dc7a8407df9a6c68c04b9ef828ac521f1df3635e2305b24a642c9b59387f0fc4975c9f756ba9fb44029528d7d51d142877f1f5b2a12d4b9387883f1f26ed7fe27e1669b6bd65c26cbeefd5309992d5c47b7bed76b78529a8922051c3842a1dbe9e009953eaa6f211ac959b65044480a8ff11c6174da76ff78bc71067a312c62c28d4419e4c53204c79af8d8da7666a94c42691f4b95d48e043a00344227694d444464de93419ceb778bae7765d5e8475244f4c1ff0023d5f980a48b8eb04d8ae1caaba0bd9a039f73a0ea7ed56dc49f8c6bd085bcfd7549f9018d4ba67324d3936a9beaa57b0fc0f5ab48d0e9d6a96e0e59608c220839e0dd776a596d8553b523ad506ec2f0180e8c02c0e91583073cb098826331406856793915d3b513b1c1913d7dffd1033ef9e8faa901c6269c41af913738239e290986f166b55496efe2b340b0790d863f499f950f6b79805401c1ce5a2992eafdaa3307531e964e19370518714a2685f99d1442d591f97bca23e124c6be9dec0a2ed790bb549d5a2f4f9e49dfaeb8361ae6a618405fa396694d2d69d15320c5eef15f6c1d337f7752cf2f989436c959128b752abb33b79c87ea8f1d0b4d91d4a218ecac61d0592e82bb59c3bc30c35acd48a90b9782a614960744987a01fd5673722b1b5395282e22b2dc4d9d587039b404b502f9d1d644c1816530608fd200446c28158234633cabfc66682a503b10646550393c2850eb17b40a1e878633d35812e6cb2e9d51e80ee82a86d2704e64f8a53b55398bc9c66673fc3f42378a004db1c5a59a91d0d9488771ea2ca729f4011840f3c60084002df3b7c1b94feaee57cf54f1406b625496da2f10abd35447637446b0e92dad8f78691ced159ce29d45c974f4ef3a86c4a29fc14b17e58178fdf89cdbe312b3497f89568af370f39cde6d4c16281a55be36f442b154affeea57a8ca644e37b5d17e688d38f278a1699b49ff87c6ba1fc50b0a0fe45ae8b50e692dbe8e0d3d77c5bc8d7ce0c35f5c9ead365f2d5bc3210f629a453f975cfb92ecb4e0d29a56f0a3d7fd10d6097babd65fd9d73889ad883e539712142ed78c553008f36e2c97c8a50fd3aa69fcf938f419ec90282c9bed95abe1f5f07fb44f68df726244906e490f6211b23c9943cadf37b6d4d5a59f330cb38d3b47946b10722779e475563e34fb171b38e5e223f9c8fb583549e0c92c50403efec7f5049a18c30d96d068065c066d3de712c9ca981e1514b94aaa71ab8237823bf72ed5bfa81a5e7f93f342aada9dbc8c1bc248abe5bd3a3e8157fbca5985cad20d1bc4534bd402a857dcaf96240301093dca95105855545e47daec3194492c325f8f1ad6ca91a5426c14fd810cd99dac3b152fb9d491f53948dd960efca4ff82fedf0c874fe85362653fba6ad61c3b4a6e1f03a545f8030858884755d42d76968859b55e0f2f2ac1d5efd5c3a156d974d8c4ef365aa566b6758fbcc5b9141550faa560c3717c48db0876fb412a47a68209edd64384040e6dea247fb0bd7aadb1ca406b89f0ced862a63e7e44528791123661488695574bce2c3566edb64a7d88fa50890023e60808e55722d6acc54bd51fa2914f759ee2bbbdfd172cd9aeb30ca1878f6db23f158425e8b28ecb3e586c26ea8fbdd7fb581300f77ffdc3a6163855df9354d781a06b8e81302023a5312e9110342cc493054b62b9b9e1e82e4c8ff40050dec89b58d4aa114f2e550493bfc68b222d35010b7c2e70c71534a889468575eab72ad0a2bd4f52c644ef2a4764232501dfae97142cf6a670ecdab42362afeb044f0770f46f0506a922d39887e43f6673359f346649467a50dac38c887925db3ec1713416d89e59b65263dc60d16980630179789e173ad2a20c2c797b906f252c6d138eb7de9c7948773253a0220491a490df6cc4ef87323d13ce435a1732c774f872c7e103b472051ec534c1a82911e20b6200c133241dfc763863a7e0bc1330f318acdc86f99107c0f0500dbfb08b8823f568c95c7c7c55d2f82a57ead7593149b3ba73fd7750d543a295d84f428aa18460bd75ea0f5de29b96304cf01e55f472bc211a5aaa119b767459819d92f1da74e1428b809d3229efd5044404f75c5d7e5af7144426e6fb654275f62de3673b0082c9d921ba127576d4fe19ccd51ca85f5a2faa300486b8e0047a66c69f550e6ba289f97f2211e542600077e26d1a7fe7c47c1328793a482fc6e27a4f29f72f50f47c220418e02ac0f514925458eddea1a78e033e0a7eec7e1457c060f5d4976288af8e65c5c25000122b7bad13386dc8572ef4445c5ab074b1ac5df20a3355869d29a59e7e3da9b5565957fc0d91ecde1768308bf8a3cd83c491b054a9f11c86d080841d1c3ab3a61a88f1e8af121106860b6eaca9a5bdf242fed43d9789fbbf50df1affbdee01c965fc29edea4a2d824231c39509413d97c12ab32789f9e4516017c35e800db059912ea504895a98aa079a70c4a444a89b33e4863a7650432a0f62141f7e06e36b54490b6c1010ff3208196c0d993c2cf40aecdc2737cc77bc83ad5fc334927ee81b8aab628ba0ed14673267d755f5b2e418cdabbc46c49b5d70079ed0aa28b53e4eae88ad01c887137b497e01be7c96a1bc0403861bd3247b78e92880946ccea5315f743847d8b5d9285bff1a7beef95397a6685cc4b012797318c62ce563400995cbabded53cc824ad11844f2aca3f0f1efb3ed6491356b130ac852cf54c8e2117fcf6de3594949230738183dd304426fcd893ba2a1962356c0af2a0b757340a7ba57ac50340465477459c582dfac46dd386fc8729973d7ea1173197bf3dc119321a9e90a925fcf365a5eaae3cc2267bbe5b37f0f6d1184d7345059aaf2cacdb5d358acbdedd33a550c971ff1235922bd9f12c0f00e5ef16c1da81510335821f23dbf949927cc7a7a95efba093e1c498aed12e4d3f4280674f8312b81872fe86f49083570ee817f04ee3c3f6a21c47b9510089d42a75c8c422769ebf06311e9d22de89a8ecf3d43d10ac5456521fc90296d8cba8b496c9f800b9bf61901d691535a7b27abe30c612ecb8715bfc312229d9ae9ec920f74f55f25fe8397c0ef23ea2528986bf3916f74567ba032b14697233ce8daeb734e1984cee2bd034d27729ce3e07ccef1e72357466b25cc153389e2c1891f94b36ad5f777987e4479653c7401bab605568b00119aa4d353178d8153cd90d59d4b48cd0f50c2136c5e70861b8dbffb841ab361efe991a4f66d2b8c4e204ac8fcd63d574e15746fe138883c7197786c40c4b5b4ba29ebf0622bb6002f6d716dfea70afed0bb9a9d7fe935a719203477658c7c9825799fadb6b69906b16f7680d6d44f4fe5208c31dc7bc877908f4e05ca8f1795625470f101011536092d2d878219220a5e1058826cae55e2228e24a41a74f036b85067b0ab3acf2f871993e169311bea30c45337d0cd16efc604c30a2deb02dcf9379520d800285006c434a7a1df500d743863dec22f81ff065befad2e7238d9be74c116d2b18be5b83e61ac8bf1cc204cedcb0468b6ab36b953a2ca982d99af158141e1e9bd51cc38dc502017f9ab32d8136d62b500d2b814c1d73200fa013e6d958ba797402510260f3b9bab41c2701b2b0f6e6e796178875a72b9ecff5a5154ccfa7afe6e1a77be72d6646f8a3c9aee8cd2aedfa37a318f0eba4bebf3d8a05fcd76f21fd34c0bd4922837858981af2cdc19f8c585f80503c3fe378339eee08c55a247d2bcfa0b9382513f9bbc68b5813a2c72ee3bc829438e6da0ac5891792b7e8de9e8b52c88a16f8163a16b308413d55fa74e4201f676133eb3f4a6719ea803b33f08c0be34225ac82edc35f29954dc1494adf9b2f3c266e10413f6c8520c641e60999de6325c5b176400ecf502315fac831b318fb11cf1f336928158cb7ba10861ac59459d61355149db47bd5dc8111e262461c25fda8e9f915c1900ca4c116941ca531398ab8ab0258365d48bc25bcf118162de854ab3f6a69ac1fa944225240db274660ddfd499f029bc5a9674ac28b395ba91097bab1ca250841197221db68934cff579420fa29200200c6ec81ae33136a7dcdc0dcbaf23550c7ab9c09199dbfdc11130482f78f6dca2a29e53c48241c3eefa3e77de8b20c6bbd526078868678028693b470e009841039904130f58856a3642776d49dbe55d2dde82d288a89a72b5f96567e15cb190c51ddbd6bf8c7a5e7197d7796998360151d7deb0f247151c11edb6371a694810f7a9713f8db630e7889a5a3f5c50f818f02db8766e1c44fa11908a9c98c70db077e3d6622d1c2b645835e7c0f7623dfdafffcb07335610c91c44d38f4534b6fa1fa1acdd8c25bd85318edeabc164eb9230a56990aa181f06736014be681d5f8d636e5dd1af398d2b1f642f428ddfc9020428bbb9950a6fcd364991d97652de6d4bb006ef7d77d351afe91543842f8b823caa98edc87fc28cbfa973342b8c26c989840113071756b30e2304f971612f19a516a15776a1bcf0ae2d74ecc3abd413f372e6f18e9209043e50a5a1a77bdc138a3b43c88cd09446849366c84218660cc89c0e07dc45c78db5c00381d881cdad85627f26c744d66bb9bcb2341c1c4532e9f22dd9b9fb0ae01cc7079aaedd3d3c9d94d275cedc49ae6c6d5ac90576f6cb6872d01205236142ee224e1c20072a635c41e5005e17a2954abebba881b829a498a8ea004aa0f87b89b43989bf67b1d4bf3c7964fd18f4364ef8d8508925353b4afb6c429cbc8cda4be1c34b3d207df670caf141e4e68d3810394e36f2c8cd32d2a88309684cf68c24d358e065fff0aed3616276a3df5d6355d78e00385502be032690cf79f20f2524d3f863c7a46c671af22a2febeceb4452fffe017012f09b61695753b6b210d70b09585c3060e41cdd4c7ecfaf76f7fbcc7f91fa0feb17f2c86dc3e1f63c7cc84c383ef8e227e73772e1bdcb0fcd365fe05f1bae6596c0a04de984cc486c90c0a40e2ee53e9a9cf8239192bdd1feb4a33b65bec01f2694c1d5e12a9dbf20e9636e743f2a18b446c4f64157c3edee12c6d739b924dd2a30cfb17f214f07c25634c7a24b1dc932cab98e9a26106a5ea575b41a0198a21bc4d330ada792418cca7119d68640a98775acd3c2a495cd31d0a10ef2772cfa2a859c30efcd518981956a3616e08303ef430c851aef267135c440de37341f2398404b4e5ce657959de3450eb254a6d26a18927f05ff4d057980c52afa1b1a6707210f36034f0061a2862301b47f70e87a387533c5446f15b5de90c6bc59d70ac42d69462f1c810f5be7e118781685488224a25812f8264f4038d1c00cf9450f0e86a000a1ab19c7937a2778397081ec86fd538f32a961151863784785018802d8fa5162b34ea5c0a778112fc0a91b17f146da2b5de5e00e79642117f3580cc6fcce42e602580cbca4ec0631cc4295c47e47c9bbd52fd2cb919f4f8061120b080315b2660c06acb34d2246b51c509c797afe95b34cf3841e38625752eead71ad5bd1c172f6906a8348b9a74569ac4800674391f55059be4abf0e9e62ad0f37353d6ab9592bd9ecfbcf0ed232dfab60a728ad6e963e8be118cf13ab10ee730d422985e7bb0be5c88bf05a5289126446f0350b085b7c9d56a01ba0d2729294d975427846117db212f2db2c2bbcf960af84ca2797434f5337e22c02648eab866b1ba4fb1da50a29bbd18a7cdf156ab9fc3c39e83c3b926dba5a2432290ab764f33e3032a70f0d5b4bf78e0f40921c5ac451278efcb8c380dad893fc2790f691343aa361454d4b4ff3ae37903cc3dba1317715eac02c96d937ac305213e340dc52ca1cc2f35ff98dcbe7983f3274a8dc8103138aac49b02e321821a8d545444835dbc1ab1b699b9cbe3af37eadb5b754ec4223150e66c64be1ed0e67a20086b04d7fbf7f31691f98e51e40540ffcbc919c7a48d8692102f195012b81ae0fa12fe5e454af164a5c8ac48a4be8ab55a875f8065bce2f752e32a88efb02003bcede47d0796bdbadadfaff592b552059df063ed1f8693dd06a73d86b3c5f9dcf86b6a95fa261bd9f15d0b97b8af60bbf9cd8b4bf7921718344736c0c6a71099ecf7c11e9786d926165fae076974e79d8076e59f402f31e439afa0aa26a32121a009f68495ad9679182679874a0041e09b9b7da89df9b276d3131a2dc564e48a74ae4c4d6562f58ce7dcda2cc56eb975f0f9e2378adec189f4fd25b302b565b616a943b7ec418c279bf24e7932ac94f59c1a271a5b07dc28eb1bcaa2e237749958719f5356bf7abdbbb6e2daf2c095ebce339b0521bd543d42b2362952fe1405e9690d322fc2af2717a41e7400c2235d47a900020bb0ca098faff2f9bec37d63de8b8679e2b213260138ae498e5748819105cf25a29b1f8a2f1242852e61296090649b00285a3d71a6794904ae79ecf4bcdf94c8dc9fe55c5d90ec7e73406d5aea51b74c0af9ced1e78f25fcec7a511002d032a307a6a985acfb8aea2c57a8e488cd619dee6f30747e7798a05e17050944e28668add459430bc77f903e9fa9e3527f7b34ce6b4b3824a48eea38b04abb9db3bd70e72abcbac28751e7453321d5fa7567dd170880db5de9b14abf21906c28b0c751928f418c188df49fd4cfe6cd2e8b021c9f2d1beeb7fe45e9d0b0408fc4f4850eaa83edb64b4084ff160f5fd5f17ac9fbc0ba7904fdb252ee118f9ff221560fae8a6648d2f13f1005df4a9760b404c01dc3913c60dca4567b19794e70144f9804c244c721bf759ecc36c93da53c1ca2f65b9fb00413f5007dd3e8a6f4b686d1129112d2a899b422825a73ce4bfea3386c6dd48861c0babdf239332888dc6709ca468e133aa6d2af57b2b7061f6e0d0867ac5251c5948daf6548a5dc13113ea716c9885cf3121819ec26e951346e44a4aec0ac4a4d3d16b24e3de42b6ee5e78f2136f40fcf6fc4d8a333bebc5c7a9181e38c07e955d80eebb62f1dc444e63e1694f8012823bae03b1df63d7e340db485e96304fcc6198746c430a670b711139d5d6d6257752e5ce6f27c41d5d8f3cd3d5c549276bccaf3aaf43a7cd365eec45314a03193e574abb24a7e64164b942d9d5860ce126efafee18a775a8cbc2cd4c90b4efee9f4996889839ca8a6b837294871389cfca780aa0fa1d04f620ea7985ec4faeea41547c4026ae7ef261caf10b274ea22ab259f6bb9eee60a8cea4fba9255fed228b2237a461f1cd5039d7b01777aee84f6ec7c4b248dcfbcdabc44088b4c054f902dd24c4743bbf1fb0e2d02894c53073bab5eb8d81639ce94a19368f62df6254f36331dfa4ab68d37545435639a7f69dc4f0180fec5ac41d8802d6aa6a08d30652aa695514fe18374b0a1fde335fa886fb41cdd85671acbf26c4158e7945423434aec1dba0075dfc9cbeb7b3457077146908201f998199c11c0fbdbaa7cdbee4a4e866e3782395e2478907ce61c5cef53e943663f256cbcf9429498db48fa9c1d9f5dfd9f8f64b405d832f3d3820900dfff3c39845bf10bc78fadb25f43d0a442c1356757c4376674335541d19e0d59313db9b56865edb6da4418340e4a587e0bd1ed155c50717c171d5d4421dbf79abc47e7859b890aca8e0bafc453faa32b4805283bfbf7aaccc35c7a5e6f9a249c8ec53128b8d20aef4bc4e82bedc04f1a180fa8fe068e26e854b41c7a393190b7b647dc1a074fd90195c58b5f73f630edbb8c6681bfa321189cbd69a96f4646d55a93472d08866bbea2007fd182e818f055e7821c671e14a84b85ef1367a18afed3bc7ff9f174cbd75055be4925f2de7ca3bc57c520a4cc1b4decfb7f337c2de42a9b287353bb5d8a256807247abcbd2e65cb4d044201604d045f63b43eb97c3c459c1a37d8e7aa11817cb72bed72f2b41ab40c4d5b87a259ff9ac91dd1d21fadd414948c14b636a282d5d8a6ab4dfb4e25f657a788b009c1a056c954eb55e56f479cea41365b184998393cd4e487701dffa79fc4f9131eace068c48dfc11eeff35e483349f81a6396257d1311df68d7869bfef4da8b85f1b5e1569d4eb2b7208eba45a16d9e6f4421e1a35ed70c10b75a595ae921a63d022399d7d285262d01e8fd6708638b6e742a01e3c2d5849f810d113cac8d47e4e55ef058faa2fabe6057e76a2ae9949c13104c0840d35f6ca3cf719d1e0dfc46a672a536e1c04c9391ed2e1148ba1e039e41c68e116ae181083f0e61055ee92c85feaa1ddca246424d4f4603eaf1fd26302dfc353411e247ff98a1e37b48febf0fe3d22cc07423d54cde06e7e613e8c73ba65f60a58f3b57512828f48abba74d15c642b5bf2f0ad0c2c6aa29f9223ab0ea51216b49c02d5b5f1f9145da58e581df190715f490b0a1653ff2f596ef49b74faaa511517fb21c9825a456bfa3cc590a5c801db46d0d046f804d054eae6b7bf56b859889364741675437332259f6bd81aa9e7f6596d371ceadf5484e69db3b7b402f12a2ace8ad022a2be82da9e9b9e73af44d891fabb992173153aea39b329e4ea581e40bc6c3103826c65a1f2835b2530f84ce3cc91f03672d6d1d1799281cea0f45048162102438f24dbb878b849df3d3183c6510117e07999eea5c48ca6bdf64d93be1d4b5e24d05f36be147965a343c2b61cd6e63d75a5d86fdee644395730f5023f08bb35f10f04ec7cece5e6780ce6fa28c8ccc4ee767086fe75249a83a4dc0781f088ab13856ba63918684d60e6e273723cb8d59cce1687e77ea533cb132825674991ee4c22e1b3fb8d44f607348238646e805b8b08a0c835451a06e4342e2648a18cd008f2f096120e8916e124a12bdcc876a6a7de8b881fc0fde9eabc062806a62354ce3eedfe2b59736458d32ef8f7476e71bbfb296c05d8e31d0d5fd8e09a11fe1b9081f1e26bf4d50172436f02304234a0c44b44fc3e4b27debf5297432c446578883a87a28c5c7e2898c07b63c9891d86f5ee4ad34a76c8f346e44df56d50aa7108f106f044f3e78c04cf8f8dbc10ce2e6f8f936553aa1db82d923a238a83f3776eee4b563fa366e4dcb3d107ddbbb8eff5c1011bea2c65ce7df4ce2c4834e5ace894730c2bcb95e86dc6414c039eaaba96e458cbb7dcef69a08624fb9c2fce92b4dce967409ffad48f9d77f72bc47bf433dfd8367402394381e7ee4409879272979c8f70b6c03294368c26099eb819e81b3c32f720d13a43a320e14239b2a74f80dbf200da0c45eeb0e96216c5327506d43311d73f0739505ae9fe83a06ac36f576cf4a91b3e4a52182da5ea3dd626e6234eda97e3a294d37c237b09bf56a44632cd616fa58facb63fb001c021710cd87ac405415653d06230a771304302250a8783cddf8c2de8388d07caf3d7e17ac8b979a46860061261c10b997710baad910b779dc5ec39221afebf9e6df8e01fedfaeddaf95ab732f813056f1744dd1a56db73d0af511ed4690d854af0b01eafb0e4edc25ae75d48460fe48b9d961a3866c501735d22a2ad1c1ecd69d4c374c615854a01dec0788a8f9264565bea3c87e5dc16d64563c94a561d282c21eaf88b939523dea474341e0f99d50bf9405f8c158e48f40d3afe12607300b184a3c135956530c8b50865879682f9ce63c2c5adfc2847537314945d631b5aa3b88da250e99fc340131b3881cd8d66e46414bb5b487424d86adb3be414201342bab44cde7f36897399545693286b46173830e82c0b909800763c64ac0cff3d1f92dd924e3114bcdf62d0a29fe967a22c998a0ba0ec0bd86baafc0a0c9c8c115a65d0e6eae894012dfe283bdf47d47d74cab6cd9a1782bcddd7c4e5942b869e22ec92031e2618815cd5b51cdb64c4c38bbb5bd385c5eb40cc2f34ae3a8da861099fda289bb5111155b358836b778ebc33767617d49e9d7205d2f5ae33c12e24d7baf89995f1b49af91e1d0f7570ecd4491895685244465bd704440e5d221a440764e870138d5a4b6ebe2c517e844f641671ed978dd1d36c8c389001887f8cfac10964d0ff01f258ba45c784f5adfbfae12d3de2b11f179ecf80ae505c4012e4bfabce2de4e531643d576bf9114c45dd0f238f4c900d201ae91176a72775f017e1e3c177222371e140c947308b770486a51b834345993380d758f461c861346af7e9420822c3766651a0594db44d8f0fbf4d8af8c797e76c12dae60c349d34f3529159f7818822f31d26ed08cf100a60f38a74cbd1630772c55ddd90ad7338098fbd55158e07f98521a383002673fda53dba032f8107be29b24ed522537e5d459a96e518e128ad9631be809e750f3952ccb77d04d626c6882dfc5f25634939965430e9ec592e88a20d479f23fc0e8ec433e0421356c93cd106220c181c64b30797eac289bd3e172e5928de875bcf4a12f35d2509d53a0a17a1e15e3ab6f9f279d84c2bfafd8283011ff3e6b36f5db93e07227e4978d7c6b0c0e76d94cdda080cf104ee81a2de90b79ff81594a607dd6ff3d69a24362df8e851edfe0a243cd51fa2364a51c91e2dddce065325ea7471faa8b0467e03be1892e307bc4958cc4546ade0b2941943eead2a0c19f788be69bb3d197f43453fc3f8fea7d8c76ff658416d3e5e96a96cd6de5966ca3f2c8394e3e4edb250410505bae01d98ad8e9222cf8a0bb0333daa73d99bc1f822560775e1cc04b376dec1c20cb7e186731b689765f2d4a2689c857efda2e937729d06664c519a90084ca42e15d278f101f46d85c15bbffadb8289b6714510b33405b8e91332e53f31519d103a847cd259cf86c2d2899c2dc88d0d59a0cf878014d64ccc6f6f37e1b65d46e911b0d9079ac29f6cb2d40359ae0a3430f9e36b604ddb1a1018182e9167b86f5b2fe59ac4f8884f263a5f9874c58cd10b8a25fbf88ea7f06dbd359c4598c6ba602547ec095bc9352c3091d6a28f0b9b9c9aa57ec4d880ab26008d6bb19c17d7f9084a25e539130aba672d5870fd610fd34f121d28eb4d2bc6d6085b0142ff0c7109bf58792eda1c96dc1730c548515e9c15abf5f921670b80a47bd6d543370bc36863d560a1fc7ed59804f90bf683b728aa3a0e0377981263b483266364a7dae525f329919544c1a8026ef27f2a440a8fe2ca3583899132fe12486eb83d815ba2e895b88d80e0466866275b01fee7b0af467a5123035234c17459523c25388ad678d53a2cfefaacbb57f1ac5a11f1a5f89ee627ad4258961b44b504b66127f7c16a291a775ead8f865d4cf2a5b87b4d096ed09b625f38101858efea27692c167411262fc011ec94fd026c3dc27c2e04602af38c1484aef04d26347be5e972d54fe2b185c11e7360b364880213b5af2654a193d7619fe0f6631d82451b6615a2a5b8e3f559da766a9513a9a21fd513d0279dacf9131440e6629c548689b5bea8201f812a5240b7553234b7d2028f532cac387c4e0f4db48af722d31171efd01a0f171e1ed0895522a3cf821a32e1563460076592b6e71c5e723b4e001177fee9e35722bbc88cbbd6f228733875d05efacefeabae7ab0ac54bdae4bcef72eeaf883b80a676d9791e228fe0292041d27870ee0e11860151a2510ecca14b6a8178d762020680ffb40008d28ebb8177c1d7d6f4d0d3d3ee361e4e03910f8fd6a95e0e0a12c7e221314b7d843c12fa66a1e94c3c1aca6292b011e205bf590a03e5f4bcaf18b855a2b3dfc62092bb9e79618cbd54fbb6134290f1d4b3e969440ab732bf1f2783ce16491243256f590253129c0f9e911d4e1532458b186eec036d3441838e8c2f16e318a4725dbdceaf3795174528535932624390033a65074760291e0a3fe7f8bfd408625ca638c73b016c9c85847b3878a820ebc10348e58dda6528ac1e31498ae7de343ceb2e9aeda9f0b08acf26c8a4b4e546ddde8f4412bd142a323101ce35d91fb3ba463e38112296d738a5ae3fe6b7cc6cb92f331ed5df7d68cb547ed86e2e72dd1b00916b0702b4bb0f7910b5f6216b4b85f1b10b275a91edfd31b7de9b294ecc94dbe40a28b0054943b775381d5ac157278e7925da41551ffbf2b1016ebdf30253dcd223923eecb6c81d4b7d273c03854d1f0f138e65b2e67893c7b7625ab15e404cdd01636230db47c2358f5a6cd15202a82383ae9c741b30269e7ce646b46be15163f8d789dfc4f2ba5006fca854e83d8cc390e42325c2c466438d8455db1e048987116c31dc9289862c7c3ab761bda5019934bc2610714ff21cfc04b0bb2c6c541fc908f8922471da9e5fb22d8357d3eff183e4ae6f90b71a082636ba3ef33079dda8d1fec07318a26725400579e4bfba46ceedc558f80207ff209351222123094e66b57302e10bd408dca2d27e5c855d021063e21e8cd9039ede8a6ef157e753d8ccee021fd39c45024174932b17425a583275c86c6b52ec94402210643e6c3eff4b149013c6d6209a65d434079a8312592a7399e747a7c0cd76fe530c6e67c6cf437a83d4a840c1acd03f72243828626725b948090022df40ab3568f0e03fc2e2ff00fbabef6a0956ba3647af306cff659551f1a04025c8828ec6524b3ec05588e55c675f94b44ca06f114fc90a02f4a91f6e2025399927e10991c96e8edbb15f85e931e5413a995b11beca047170cc1bca08cd4a48081fe61a082f20fd9fc081213637506a3a11eb9c66a6261fb45376daa940c38bc5fbce1d3f143e6df6d5f2147cc359c98c2f1c11fe056182a68ba1b4a49e655c376a0b46d9647f7119a69a95f7fa07e8ce37cde41d480019e5bbba82ea89629db3055c9c5bec0a0f84c106cbc2b36bbedaa82e920766bea46b02fe7127c17be5d5134d83576b64b10dbe70585bffc75008d4b39740bd192e48a0c2a91bbbdcb63a74dceeee79a5056581c8eb37fb3d6b89af9dc997099f027a19b43c123e0fb062be667730b6cef13013bc3a4f1d4485dc54c7821173582d6c20bc1fcf7bea323fa48498fc43c8f130f3fff8307fc01074cecb2ab475685e7e9c6bf5c2c47d4aa5952aa6088faffbdeae2c7447dfff3c3800157231924e927a28fab8f56c85bfe7d7f8b7047f06ec8706f4bc6aed9553210184ede243a2c0765f422870619c4a18d465aea672bf069223224071227aeb62378ff367dbe915f432a45c1583825a116c0f7704a3209409acf7a6e180943b586460afa194924f8bc8da015090a26f032c42ff938618e71e0a5be7eec6d9e419a09263c230f9bd72b561f36f4c7dd291e58431af89a15b20ca2c5b7b84ead6de065833a64dbc20e32473fc93de25249910e2ef72760d01a45a3d7c01f9215a7a222a4a29d02c29309bea1f08f9faa380d7cff04a8df7de72f43cb92952ed0f519ed247140a91b76abb72ed0562dcbabdf9fa9f28f2c96ab2af8d7d30b070b2ce9563003a7fd6de614dadb487d4aad275247f99712f2a83edd97ef13c5751b1b2389c5c079a0343bbf0b9cb8aed9d029214b9774ba0e2d80cd885c5aa9eac91665c113c77f8486b55ac4c2c4662de447a7f22a61e07472375be683d8a2b8cd1a213329dde94e7f479a3116e5ac2793260b705ce3c3097975ca075903f886d4da19fc5bdead9131bfbb74fbebbe2d83c5fc8e44b939223e6d326fe7bacc1aa83626104b414ac726dd7867345ac83437735c8a2564bff2d576f214d6a099584584dedee36f8f565e33c05586cdc27954049ded49b76560100ee76f62fe2f11253a89b16b169bdcf64eacd2fe4aea50741b3a9e3d8c21d9a484f42a8bd7c6d8b7b7b9d19b91292c4b8c08154c2363cde81d3584f51f9e472cf00d381aeb330da8914988331e6561c66b1a88997e81be840c262cf02b00782090e920b4263d3301a621d729a97a9e64c37b6adcc6a7cfacf47e7da57120d1f77505b30fca74e332ab184802b7b32cdf49b3505b268d2bb372da67d220bf6bc154c2646c2b5bec4d3b68d78169fd79e209adb6261e0c526fc92a06662075b3a5e8c6d2bff8f2136e13e740913d3931c7ffff6c3c699a04321a4865d6fdb435a1e4bdd3c02d5b71998b51e0e6b3a7716d7fbb83f0f62a29c6bd1de74dc1e76aa9c2c1796eae865ab624cbd4d83e579f1875e5af9afc27f0759f7afb69f772f99f9281a246913e58cf8213eb33c2ff42f102ad5814bdd5f2f31338aa289c663fd145c02dfd8801c11e6a6ddf47b73d40ff4fe87efcf226dc292eb75d1dff8be6f01539c3f48e0287482ef61de1fe57b2e1734c1e42457578c63f8d8db4a040e9506ec00f5fd78d6f2e8ca8b06ecdc93343099fdddc8ea34cd70e6011ead50c53482faac73f0cbf500e782df2b71a669b2daf6ece8590087222b204146c4b31c69bfca26cef763486656b32bc1fa447887fb776058461f9b734961167c34e80db5366ff4ff29b9d1052c7e30fd96af43cac75bc6ddcf0705d64089db4f8d300d6c0d20505b67cb7669837b5a59c3bc41ca323898f887f14b6876896c93910e94bf500577f4bad3943028618b2a3a4591a7845819bfebe5716b245c662b0cbeccc0332199aadaf927c692275b42043b35580947af402c4b5a5a87c3a8adfb39100e6855efec5bc931992af78802e9a12855456775dfa8322acb88866adf8bbada17e6bd990f9a469781781bf572265241c253ad36625f28e21ecb38727ce419721dd24f7c606146ee01e85bbf1d9e662d212783745301aaa0940a924e9e7263fb90af5c5d8c33a09cc5a39dd82eccf24e0f165c8b25738c1b8c50eb22f55968aec59a71e6c92dedb67d8b2be70f058016ef6c5346e5404e4a86a8065b3a99b684294563937e8e892281d7c19e2ac9e413637b52b4c9d4b8e2aa7a96de7aa98ebb50a82df7bddf92c2cd0c86a72a155b95035c0835aa52c04def84b7d92ea468a413dc1189ce899b47dcbcd5c046897d51404d90e978b4b938d66307aaec549086987b0de028bdda45768c73974245c5b4f2022e2c5d196430e7bf06b2ce53b3b3b1ed4b5d19d3188053a9342d3ee10dd8e479dc0bc6fe7ee5db7d56bcfdd315d1fc53faffb859ccf5c85dbeb193378fd63fd93eb72690d62bed3c5c57ffa30cc77eee659efb38f47ebeae5da16c67e67db307d447ddd37513e79b7ecdafcfbf411edfd75e8bab4dd8c63c2e79be2ce2c7e8a45ff90fbc47ae35e0b279ba17d541f1d9cd2c7d7fbdf5fbff88fcd06fadfdfa63570bd1a3ec9a4fba49abb2fb4671a8b7333c583fedd337aba8bc94407d29839571e22f00275600f15e60f9cc3ef12bf883ce0e79a0d3abdc8c0e9b9c63ddf36c8a167e3542790620c500e03c1d68824dc90b5e5f962104c44b562d44199582708684a466787720119382816828b06a4b011c3c6e5c641b1b830340c29208f03e35608322005d01fe8ca41f1a4716018044e9f22ca8062abc012dc024100a2e1683e270e05d7a480d08a286d3a992853b3b947090bf4023bf0701c0d89c5b90910c68ae1a395287a145e1010321db70e1127e49224d89861e372e3a0585c50061932ec5c3e0c2e92c28202a4e020cc4a2c4f05a55409278cc23073d99898b6cfaa321958c8c1107158b80e13039260e68c0dcf8785c1f4d000841b46f379f110382a3e22650148200b8a1d80e74be04070488c1e130f4a00e8308acfc7b6b2249975940891872440666c1b870b838ee95340a30325b01d048fe1905d41086a25c2442d59197dbbfd0fad346cc487ed61c2d1e1f2a851378fecd4b6ecc2bec66f23d87a8a8ab36fd37ec383e2f3699c6d3750182fc45bbe57737fb3a836d7d3216559774ce984963becec3935b089ce4ead34528c74d281cbeaf199c4f5d167b0713d3aeb1cea879b0e40e5c4a042efcc13cd811be3de6054cc671f0096c620dd6653d81aa074bca63074b6622d02ac96831cb76d1c580527a230a171cc3071963647d0f4c1888a824ddcb0a0737e9b54b6baa28e833f3a83569b0ec0fc1fb98c334e2a9d601dbc0cf5c83424f9071501858b28b0362fc33c323dc6523f496c07893334721b05469aa0441c987acbcef2108ad86734d9ff71868a4058ecfb59e8dfa07070edc1fa7fc9772a0c0adec71e5bd4dadb5ba45ec40760283c686a9803fa13f480a8c1664de740b7313b7837d04623fceb780b93372993c5747008a0d8131519598c4201808ccde4787e8d9b529d1b00127361446a272d9257232933193328bb3f80c8921e26c92bd62b391969496161980520a46561010da012b51222d9c892e0884fe9140e96c3e62ec87b2cc4e6d44902d5e2853abc2d59c63e69b7431c1ef7e40f714c88b8b2841deedfe0ccbee803acda576b47b76aeb31fd5785cacb364bd20ba9505f84953c416d4b0c31c5b26a12c54fe781226681ded9e150cb597e04d4066e0a7b6f2084c12664bccf6b7dff239073e1b602b6a78ec09d2acfb9b442bdcda3cac11988206d12a1fd87452e0464278e0215cf32d539e77335d23615644b7bc82b35206437d4a8e2167a0f319f171ccfba4fe212c705d87bd548f340337653a015edb72b10f0f41ee22a6dbe3c3aed6d7208aa0be1ee2ccf93da52be470170630531e8442fed334c95911f09ac369f6984a7990212966bdec582878fede4ba56c36e14881dfa75e600e1d38149416c1cd68bd53a262eab30d4d9338a96d8b409713d7fc6d808f843b5c1b52029ca5e7b26827ab9573d380031fca5f4245d1afdf82a8c71ee82f84cdb0dfe388834074481a114a8c26c0d4b00adee41836958add446e272146729df9cb82fcaad0e9f76d8cef0e96410a0537b002be258503d710e286c9071d4107e47f0178c382aecdd5f1bebcc9ebbd76c46822007df4fb5c004553ec7d0be6ef024b04a2df5678d08d0e7b9e02d2ee46b9095e281fdcf3f7f151af2a9bbb2572442c6982ceabaa97554be43ea47c7b78192b304a6624d8cf4fe8b64a8681eb3846a7cbb9e984773889d35b66b67b9125e52266193f1a24a802c2f609353f873e8e8742c915ccc6309b5608f672403ee0075a205ec64ca5e795509b54aa2dee12f2856bf2a1cb5292b2730062a76040ce578d88eb22957e382a7a27fc03eb024c547121a160e32f5383b52f873172d41c7218225fc0cabc7126c56504be57d6536bb3436daf5df8ab14b9c36d85122825fdcebe57fee20387d1c92348d6fa8ca9cc34454c3969b6ed65131c8b572e2c0e8145909b9e0ecaf35df0f417642c8c0086402ad5b748e2ee9d318332f40df82fb55f2a7f83375010af9e1a1fdd00b2f666e9a418589b2e60875db2dd03daba5837f0e25955832c27a630b2ec930ce4e809d81749c1a71528b3faa1e6e5c67d55b6b41b07726e674858ffd508d00dacbbdc1b3adf55dbe2839b9f3ee3475e1debdae5ca612783062bdb2cc766da328adb894b05f91498b41f6c6bc1b96e30748692a3d673e1638d02f2975f373516f8b7b5dbc9b16e35ab0b83117cf1fba92ee3699a65d7decc6c8fa62cc85742ede2fd6332de1fa5c983e8ba9f79674df646011dd8bb72cd67fb1078bef59d47b71af166f17eb9996707f2ceab7b8971d0cdf09d09a5f451f8dc92cf462d1ed16f52eeeb9787771f52e3cee59622ed7fbcca5566f58b300b12ee283aeb45b936962a5b1b4c0b11752d32dfdaed6215349af361cada5d1df705f78d782de0b7b2edcb7f0fa2e72d05b12ee6e386696f66a87a3a5f4a36f1db84adadd799c5962abeeb0d6a5d01be06ed1f1ad448cc39602ad30fad8c705902157c9b91c2137b36924024e1328e25aee6df263b2ec8a45e7b815d548dfae4970f4e312a7abb82e3cde4b8bbbbdc50207314b576bd872316ab14b571b6661d131b6f46ad77261ec16416fcab11b4d645e00009d1257839953ea61face470bf52ef6bef876518f16b737e6f82156bf71037c1e02aa4d713f5ca0926d9b031202b7d87b0c4b7e8d901ea881d50af7056a9b88bc47b0cc63cd1a0844f78aac9b3ad26acb2dccf824e684e775182fc7d38d4feafdeeab0ffb5168760e3805ee5bc11adbe4555555d7f4ededca9baddd32499964925206ef030904cc03f2424cba520719fcb974ef085dba484b76de8bcad5786c949d4be280fb447e2e69754805bfd2a90915e49d775a2cb885bf04970b98bef634d6597f3410f723db5531e5664ee7ea93ec3f56ab401c51f730c5e6aa734f381eed41365489eec6e146211f4e76b1ca634f72e84576abb83be27438314238b7df7dee2e22e913d16f96eb513ef178302ccb3e1f4d0385360ebff7de7bef3d117e2f660f7e2f141289b68de3469f775f9732eab8d1c689b6902864abeabef772f32431b81fd9aeea1ca33bbeb962509204442cfb0f86daeb40f076a20ecbd74d1298c151979263e724f30c9340ae45fa6a0fb2500439c87178424e92444f8be4efd893ca73310e9d7cd32451d4225dc888c3ddad124591fdcade8a73ff42ad1ca6f5fa83e4ad681fc10795b7e29a227cc2bd1ebbc52590e01cec21b37271af8b2707cf908fbe20846015f77aeb5e7673f1bfd1898bebc5c13504578cc42165a40e6984a491a4fbfa0ae1e0cac595aab2f5574b5524eee6fac0af7dc0f15e212f644db03af41dfa11be43328344111e2883f203e5165a446afd11ef7f58d75b8e75d9aa857555978575699c15d6158265d71ff1aab03af881a316f1ac3fe27d14d6f5f68475d9ca847555b784755d0e09ebe25470d422cef547bcffb6eab0aeea5e0e07c6c26608655d211c6b5d9c7babcb64759ff4bfb55575afe55e1c8b7581e0ab4f7024e990e7319b559fab61d82110862432bbcbec32bbcc2eb3cbec2452fbb7b6aaeee570ae90782589ec5ae451d951d951d951d951d951d961b96912cffe3d7bcfdeb3f7ec3dc3f16e228973f186847038f75695b590647afadfdaaaba97c391a6e7eba56fc5d3e6e17d38c2e41c6102d085d82294e004f745c1865f0d1e403804fc6af020c2328627f227fdd17923f5faa0693b7c6664376035e0f6a0e0d6d060af7fd1625271b5e89f80807038f756d589d4d060617ff4d570c056b6beffd656d5bd1cceebab455765c37dd222f236fd9306e253a89a0dd8eb1f5f39486b3a71215648c76e94f3a5e941085f0f3e8010c67822a5749f8152faaf0149922a15f8c1ef72c062b15c2e1e6b2d4579004208efcbd4f021d7f0c1065c6d7c00418607154d06b61a3d886af400aad1030d1cef54a3071d28c0c327562aff7ae315c9ea2b2b7e2c2ca02d685961b62d91f2bafd4345569e7555fc4ea001dc17c2801f7e39e8fb24c07de10970688002283ef15ec45ad2194d0cf6ba18df08e3caac88b7dbca40e8f0ce3bd9de5c7fbffe6dcb0a2f1f0324f4cddb5c1276eb82b7ae205780d7e692975a56b0ac00a1a5e44d4003cbb3bced9e976ea05c817d73a2ba408a8139af34afb46d15d10bb620ecb320dd09a774a734e79d5288385a54e84be9ff75393d15e0f75a80df93f7234c79cbc4df14220eeeeeee3ee79c734e4a29a594feffff7fadb5d65ae31680498362433146a86cf02371b9f5896cdcb761cd1fde47bc97fa16ca4e24ac29aad6d616c0115a53a4d181bd684724a594524a7777779f73ce3927a594524affffffbf439591296bb2cb9cf368502cedf4bfb555752f871382a5488aa4488aa4488adcdddd9de338e7a8ecfeffff6badb556a9599ee5bd17f5ca88f50347b24f62bc7e23b0f082dc85da2e03ad126f256e1ef4523e70845536545810f0246f850340982efb723d804545aa2f2f17045a5076e362f1cb15014ea519d191e198974b021fd723058a13264ad0cb3581103e382d5880b04285f51500c08b5d80505ea0a2405b970bcf5202ab0b3a6dfe56fe2259ff5e6cc0a46f5b4ca6eb1c9390183222a0ea8fbe95397d5a4a60c066f005e9bc74c59c4ca63bdd8a4fd46202df8bbef0bd98d72d26124f961203c050810a7c7fbc3b2d268ea73a4d9133f1742b3f49529d2a15699a2c26967bb993c5a42f8c92dcb86c2c9bbe9913154b090cd8e95a4c6c1539cf928275014f6f31a9afd6cb744d260b5a0cf0fa430302cb8202e00f70df1ce485d7097c3dad7dfb812a36c8ccb61ca092f873fd01371207dcd7319f32cc0fee4b2d2610f7e6ca584c20960177a6f35ed0602f0b92b9a5ad06bb216a11dbc95c8e8ba1ec86e88d50dcd8762ce891781eb359f5b91aa72f9efee07e64bbeae60dcf86a83fb28fd52a10655d37b4216adb69dbe98eed58d73d912cdbb16ca77bebdebab7ee6ddbbab7a64d9b366ddab4a9b4f587e88dc86b416d416d416d416d412069e3845cce953669b3a00fd80bd7d043b70d11eeb821b21ddc6d3b3e6ad99b849f76eae9140bc23d2d2892c0cdf53e60afdfe8e69236480237f0926c3a94015d3030903adc1a1a308d0d165e1951d3017bd18b5917cd28066ff7716cb485b4fc1d7b52793c59480aa7bba38ab3db8b48e4a3243112f0c99d134fa6812007ca9d130f96793e8a44a2289a6e758c1708e05e1f807bd9917b5528dceb72446edcde4805c6bdbeba9c116ec4dec8f4421ec813e1bd782e00702f104c41b81708e756f63dee05c2b9957df87923970b6f0b6f64e392b817c82bf14cbc130fc54bf1aa7b81703035826aea3eeaca7823f68d70740820002328c410b12e1018279850020920212022bc700112c207a7050b90152aaccd054981e284891220209a119dc1746c32180c0683c160309bab5130bc1d8aefbda85cccc6ef9c73ce39ef0592d94c17b39997524a29a5f702c96c2c17b3a137deffffff7b816436978bd9fcadafbefaeaabafd67b8164361b17b3a957ba17c8939ef4a4273d29235d8aa2288aa2ee05527166c361fd7b012f6643d98dcb078e2a714b41113b0c710310314086e8c18611f0ab818251849e8eeeeeeeb1426b98b7d25af129d2784c10e007d8ad0b866201a20915e4751c2d29541c201cef86074b5a56476859f522b59f117b5dd7755dd7452cba00c77b6b85591769a5a496de91e1c0744e4d5a7fce39e79c34e79c73aef54aabe46bb601c7abc2a362c58a0cc70b020853ddb09030b4902d5a74842d5ad48b14992a859f472b080f292bd110d816937fca4a957644745dd761ba8eb2526b34344dd3309ae693d639e79c73524a29a5f4ffffff6bad6d957c85c544370b90951613dd7038cec74767022b214c747301a0052ea40b171da10b17f5f253c66b91a6699aa66939e79c7306814021c09f9ee9991eabfef387bfa5cf8794952897cda85996d58cb6f4f9905256aa15424dd334ed7dd22a3926adedeeeeee73ce39e7a494524ae9ffffffd75aeb87a5e42b2e26fa624c0d6a1abdc38cbea16bc0ef36ca13e993f771e3e2a84be9ac814232f7895b27d33ae96a753ca494952ad43a90e96d9e66863780ad4359935dc6c1e7388e72fd0f292bd108dbe73f111dd5d94eea6a473f25e5210dca4af5d9ea5eeb47bce593d60e350b3ad4d1a14c87a40e758742d227ad527777774b29a594d2dddddde79c73ce4941201008f4cf81a12cb4ae102c42c8d49d7ea10822e2105108209ec843ba659fa8455028cbb22ccb324dd3344dd372ce39e7fc92f5ff22b57e3623cbb22c0347a3d168349238e0e7f3f96834344dd3b4c7b4d0d22795f98dd41772ce39e7dad2277d4a29a594622cca922c68c900814020500951c48298021a3bccc0efc61b9e888c382336b32ccbb22ceb344dd3344d9301aa4d1f0e70bc1b39e79c73fe2a550a6edbb66ddb96cdc8b22cb318063760e468e9933e0d4dd3344dfbff963ee99c73ce39311665594bb2feadadaa7b399c162a264c10c398018eb0e8418931c4178a2002bf0b8778222db48fe0470385445b735996655996b5f02fe5a5a45098038ed7a23d86b24f2bcc39e79cb394422894cdc8b22ccb2c718b1c98963ee98d5712213bd9c94e76b2a394d2963e73ce3967777777b79664bdf5f97c3e9f0fe42010f007fc5890021af85db80326999f6da73ab91e0e76c1ccb92ccbb22ccb3e40e0e8d665297bbfe90c70bc307a420943d90f8931cd3043c5d25b5b55f75208ad6ca596d91b9933b22ccbb26c5a5334e79c2dbbbbbb5b4a29a594d96d96b267cf9e310cc3300c83a318130a937302982206b37703ac413e18c3055fc0ef3ac0e79c734e7777770e8e5a840a6187b82a2270bc6ec1d12c02c75befb4aed8011c67b0ffd656d5bdd0929dc4bd11219c73ce39e79c7377776fd9dddddd3fad6b61188661180a9306c5d691493383bda6c739309495a6e78dd4f044e60fef43a46aac8ba246581709121d96276389aee991927668c7baae64b5c5f5b4b8b7a01552d3344d932ea59452caffffffcfe7f3f97c3e150d8ac7277e3e9fcfe7235d6224fd8cfcd168d4a3d168341a5d2c8569e9935229a594524a7777779fb3bbbbbbdb5298c4300cc3b0e8020e39a594524a29dd7da3302ecd39e79c9376dddddd8d82e2313b14727777f7dc9d3b77eedcb9b394524a2969d7755dd775979762276881177e1e7b4a236d2a231744dc2a969a305bbc99aea3075c0ca2aa97b83d0821cc448c071cef084d53a92066118788bd17f196fcffc30e499449e108d6968df149ab664447a67a757777f739e79c73feffff631886611886450cc3300c8b55aad07f0cf5524a29a5d4a0c4adb76db380c5a9bbbbbbfbd4344dd3342de79c73ce95a969f539ade4fedddd9d94524a293de79cb3bbbbbbcf39e79c93524a29a5eeeeee3ea594524ae91466b294c08ca504de67f95b6bac5d65ad64a611232a12254ed44b953be79c731641dce0b66d1b6ce9186ad2aa19d191f9fab243b177401f43d939e79c7352da755d473b4dd3344dd3b27bf6ecd9b367cf9336a5acf4ffffffeeeeee2e354dd3344dd660ce39e79c94524a29adb5d65a6bd7755d37e79c734effffffff5a6badb5babbbbfb084bc983b15f56244c9c4091c2437a7874841e1eefbdd84f3e9f5ad4344dd3b414936658f3e79cb3144196bd6644c7d398e1c050b47e860343d19f96cf88a1a866444726054aa95bdcffffff7fd7755da741414169d98580524a29a5b5d65a6be5388ee3b82ccbb22ccb2a1e13a594524a65adb5d65affffffbf3e89a9c40914296ebdb8eca0ec4210614b9fb47ecdb22ccb321359966519acb5feffff3fadb536a594524a4d4c15058a299a37c0f17accd1ddcc1cc8b9e178adf9021552858a8e50858a7a7917c696d343021caff5691573f2804d1b58d4cbf438c765007a3c1e8f27764be93eff3f7e8a141e93c79d3c7b9eb935ada656b53c06244a4c353fb426f82b26162d3ea6d7bd219e10d3257e22119bd3d36e613d9b66b04ac8444d70d3c101c74b0247867ea80ef8042a030c09034647080346bd54ae8c483b2d52b12a12a667627305980972de031c2f099e9229a163829b6b7670bc264c1870bc7c84e33dc1690063eab0985056eada91e1c088b88888ec2822522fcebd17af56ce56975a9612f83c53018e57e3202caa9098dea6840e9e9930d529b5f71cc7711cc7494d9335801693af1d190e583b0c65ab101cc77194c350967696755dd775ddb4349612fa9512a6af1d7aa15028140aed00c74ba2a5cf8794b252ad269c00831382e3388eab94953ee79c764e5a6badb5d66f4b5a6e95fc7bf1f5c4f428a6dfa410a5f0f008229bd6a8d48f7943a70802002028d3180000c42010858140ceb3d421dc0314000d3c625a44583626174f05d25018a8e428802800c00010000191011099294a00a6b7b4fc1f2e8029b1904056e4ca93c48d9ed29cc9f3b38ad7b2280b051fe8279d12709f4aa8dd2a9f66adfc9abdd25b1d89269bfeba5a5e968be5593b90ec3d47c4e9c413ace8e5e8f6d482335b1829c274bb56652c740222c4a0c852dfd419ac9a0e13f54fc48f6ba0438ffa0e1c77ec6235367918ce5e26d6bba8dafaec8b499f1413e9ccec16042b8fbb2d48aa0dd019c1aa24f80face9b34c00b084d03d0c3cdd59f3ca587d0f5e38d68283ac3c024eca1e8431e4724c020cab597bef0c948eb034fdee21d331017639d17cf6eb7695eebd7dd105fea1ad63111ab4b4b2a3e296d64dbe6668778431e993bc29377c800e65d177f61ea4468218175b3a0fe5508b6765f73ffe55a68323c06316823a652d4a63febb4772af8839acee8bf23c8c47194520893e1e46aa8661c4abf77328c1b8f73772a511eadc83bcbcbf7ae5ca259b649a6ea8cf9021ab8c8fb9c52f9c7af5adecde51784448835dfb4bfe301406b59ad1f5f009382fb522b6d3a678d818260c4e9700e36a2c82c01f106d386fa9a1ea8d41dede765cf0cd9aba9ec85ca2889942f07d373a625659937503356415638a8dd3b873bc4b141ff8cc176795c8e935b6862271e9903497a242fba095b23d548bac1c8a49e79bf513747a72e4ac96d391a05a65e20d739b9aeac9d05536c0b88e55ff52fbd9dcccd94e5787874fba55f23aa885ab3fad30b570a83b61af70de4ac7c2afd111ad713b0291148fc007cb31a51563b646834d74e0da7814df7464959351bf6e7c5632682c50e781e4c01c2e62a32864f27e7d4740e91355cf45baa0122bd1978f93a1763a8f92d5ecf701e39d24cd8680ae06f23c76ca33a93ce95f433faa942a18a6edf1f07e7f43dfcd7a0c4f9ca8023b922a2fcd7a4b8ff22c277b753626f090a7b0241f8e2ac0eb0afd3c451948748a787e4198ed3f534d53b2be2848af65b29e24f4c65f39d5304bae076570b6716443f66d8ddee6f53f6a4c70b9655cf7e5ceadfd12d64ffc58945a3e726f35e6503dedfc4e2e2d6b4244f905c5071a99804cc5e4a127ba4d8b419e3763b84072127edf4818d95a38209aa9e0023638d57f900dcb9f69440ddd668c27c4d03187e84492f23a6d08f8e753e5c0c57d1e5f9bd9c39813990460cc8e79ae4275937be8b473963d037128f5975912edf0c5ad40c7ba3d0cc5d1a9d5d92b0c8858b9a20206fab6c573e1c171c2aec38575803c776bd5ea674a300bfc122faa1e1b08001910ca5f9159ba785485585939ca34fd37391cbd4c42ef18d2acef3a048035318ead8edadb437c089b997a6198fb576d5238ce8455715818b8efd3a5c0c8cb07836ac68ac209043672f18b1f890ec6a98d635638f23f939b31c835bfe4f77ca47d93af798d0e0fe616f5f102fa600a7a7ce007bd8266933acf385511b718b45a04810c4daa19000c7ad018a001e890a33de977c32b57a95d9bb967e9b94de587f4a23834c02b0dfd8241be08fd69834d1cac42f2113ffa10b12c4e00a23279430cbc608d26b3cb6b1075728b7cb024f9755ff935593ba9be4abf0b596560cc9271e1dcca6727b79ec231a866912ae4b2ac821204e3151f596241e89d7450c3e34708dad8324425603122216f4c5d7bf7557c8ac96b8aaf62c12e7f1b6d82186a217a05a360f87ba514e913420c6dc2f53cc95b08c9f8176b057265ea6ceefe8c7ad1eb62c88adda6d33e3faeb0e2851e26b08f730b3775071b85f415625714e5db93bb7ffbf4cbc315a2884c6ecfb6b686d93bdee480be260c2d71ba34231c7aaee41a8eb083cc4d2c9b366ae7d1845ab57a0834b08a5bb29085aa04fc20a9c6a38e6ef1983e8317c0a1debf6758f507118cf19f73d074a23a5fdc02d5087cf36d28f82c36af2cf09bfe40cf2360b2c10217e794f3efa983f4ec790da8caeffe35a47544b14f2bb76714ed0a8a0406229afc35a60a67a2643375a1dd5e41fcfe7e97d8c09d8b0583e435c33bc784f5fe69df050a440c8a08826467e5d2447f20f0d16c6c0186716df677aa331e7f3eae7af12183103e92410c263308476605938913663ae02a53dcf801f6c350aa634a3ccabcaaa0537782d5d0935549142889b586703a6229820a9b14d42195240a686b101984c367568738cd87a62ba215490d7699a7fcd50e03ef7a1905e3020271002f2c73185af54f535c3b709e48c47457c6e191515fd2108117573755d040aa8a06aca9b2de4e547132efa91cd1692a6f9e2012174272097d4261abf649d6b48fd7fe94cfc346fb50ec75469e14d8fd095457159f85bbffd61192bd9cbc3e83e1eb9f980805689ac25c0470cbe0877eff46e9ed9f074addb01057eea6af92508100a6ff868cd3c69a502ca0b8a21724858d75811905cf29b48e1743418bac2508caab0f7428fe6c185a4534b1f3e9712a23e14281341b88944662ef411319d4de0c2ef9301c781fe7069ed42e8b3a0b9c722fdf8ddcf8fb5f1d8ee31d22eb5ae7120b5654237b7830b97bb3456f93d8607456d6eb48870b171043aaf1e3d9027a4539341278cd6979c2e4e7e2eb2bd89a66032a6a453e9f92d5e4decb7b633f2db2d0e92738881e6a211702ac3563dea76a4d42bbca9c412521ac1a8b362dc294003308fc7b11f2d131d8d2840a764a44e550aa05b7c997800e79e4495e0f408a8a8ac94ad6ae136a0cc413a91dfcbe2e3e099087776da40c2fddd7bfd89c8c96a175df307452a33bcab12fef422468f34b90786572dbcaa2e981260b314bbaf6d94b92bb3f356309147cac4c4d7936ba8a21e2c082a78872a339726a43064ec8216531f3baae7f33bdfcf7056b7406f2efcb968b995101216374bc2d26da49319ee0903199cad3a6a3741689b088fe3692b8b819ee0dc1ea2d9faaeb7d842e69328bfb7e16e8bdce6c0a49525a2458f105d679ff13211c3aa4927b5d18f64029d05d4f83cac03a9f19ca884632d867f2699a18fd5337fd55a7109659fec977ade7dac847234601f5d2f7c8e616514383ff0dd199bdd857185c5bccadf2ee44b16f5954dcc28301f668fb3c4696706ac0adf2b13313de2e5b93a81954d8230965911d7b73f384e36cfdeaa51027578cb73512f1989a5c56fbc3728bebba3cdcd20fc2699d020eea48df131da8528bc74eefbee6a14d67b196b5f1fcdcfe6fc7a9ceed64724146dc397d63a493303cb102a542cf29cab767b73ffe55b647f8a74e2e9613ba48f8ccc013db0d984ecb3546bebfc9ac5154488b1c91ac412371e65b7c9f99144db77b8549bad40c0d9b2ca6bee6e4f8faf9b1ccd858b24096560b0e6eb88040b50b886c3ddfbee045d8a0a71b239affd74c7aad98be3f148cdad8f02979cb14b7416ab765209191bb7d6de40b93807feefb25664664254f804747cfa13035d1a0e5c256c1ee4c51e4f67e1bcd7ce209eb91bd15d58032cbdcc44fbff32c6047c8ab21cd4d5cd210b72a6b4d60c9808ab4d8b14bf4231c365907fdb1ce22e8e9a6d0a40344e78e1675c9ee4a82a715934e2c75359e228173f6b59918f5d107a1e5d96b82a0254fb055279942248690a5212c83c58648f265e933845e903c356e88f3880b253d5615151d3d104064cbe79171eba192528d6584a405ed3ec598b49376081cdda2dae2e6a20aae34178b3550c980089f3bb309b5325f36785cebf3cc3f64cb909071906c9454016fdd18eaa30732f57ec3465108b53531ffc02f58fcb0b1f27fd6a9409ba52eb3d389901d4cb126ec026348dcec425dc4d0f2477ef563f29b509fb115f88de4522182c8fc6eec5c0b6c78e9a6a8d94394c7edf6a595f11acd796a523eef3fcdc313ce2d4ced6105227dd9c1fc2030648f746c08999efe8c3c31526fd65a5aa102ca50078f6bc9df3a32cd1655562ae38fdb271c75f0ea2daec440ed45c9b7348347835d2cd19ae69d7ef0cf20be695a21ad06acec29ee0d5690c76f7e7caabe354eeed1e9d6899faa117649e8c17d9d1f613043809972d43ed7f7f2a6920628554cf82e8347d7089fc2e0deca2c94e51ac472cb4433e65a995bd8238a332a2c39ddb03bab040a9eca8478997feada95168f8a10ffe6021da2366254b2693696975be5589c5fd360d016a931c2a6535422cfb9525a003232e60a62631110d604b860847e7986ef810fdcf12ac0c7cfbe72f5f0d6c9920790e0b9167538f071a7f5e4da5c3858161c3ed65c60f23c1e308f1af444d9c5bd4938f73f08505e9edf1a3f19c5ce5e91184bd0a61c141c8222f143a53748d345b9f8708e90c5c1af108870f6f1214cf99e3643621dc104d2ef615c41bd02d15b591914d22ed21524529d5ef6bf6756919329e25a8676f8aca01e71ea543e438f9a8698d03840af92c6204a9a6633404e63b49e22137cac940b5d0901906bbf916d557964a84e0a6d0bd2bc890e08746a7a48920660d9241c7c72b4adc401047d742d4cb1b392bb2c65b8f2acea48107e0e555e15638b483eb181156ea7c7086e86ff8c3ba239f09c8697a48f87324530c630b65af74b284af92f24cf7e1a451528b86e60e242ebb2b0f9622507b8c92521bacf48b3b036e66f6c1a1791399b22e3d66bc067306e5f03bee1518644f86774d9ebb70a6531d68eeec15eb5e39e50a484e1aa406a600a4a2851289d671d1af4caeb74ea0cfb797580316ab4c9f6991ec14ba7295560d992e2cc5672f72e757b857079573bbe00bc60d523455080172ef8ed20bcf795bbf4f2eb7e35638d4fa20c1eefc635a1773995287aab7493cb4ab14dd1942b3335a22d3dec5946b9b1fd3efc30395a21e226c6b4d7039b5de3e453ada0cdf30b25e3ae284af425918b2f29954d8137dae1dbd4209d6dcc7d0d766ab57f451158c41c9ca75f2ea51581145c48bb76d3ede998ea2294ebe7d8ef19aaee7ca620c443f0836cdbec416c168d30dd3aee2a3846427d7b6f15ac1f558c06f5488a8ba2280e85e0a8830e2930fe8347308b219207c404c4000b96b4a23a8cfe22d5b7550a117fe6343a253853761f25ab9c85e24e0adf3a64a3660555ded376b3d97cc0f5c08e33de7f4df04e6202f4942550bf28017a4a12f8206648bc4cdaf656ea40020b1abda9fe03acc0dda36b8ac5ffce3a75d2c339c51a62428821bc294ae6dc53b6841a04aeeefdf32027dac3dbd3fe1b4c02debd39e21a503902d630afcee6a29f5fb96cea93b12fce060ea9df81af5728ea15ede59a40fd831bb5c4dbc92ae310814c23584c58348c8bcda3dfd215080de14cc09d4f2942f7bfd29330616232d6afaa401b9fd4cd59b1f445e4f397aac08b8f744d121d01b07573035deb5057bdd001442dc047fe8e1495660869bf0854f5dc26e177571a3a54abe97f4107a29aad5dc3016ca1ca47b674af7aa3c31c9f4ccedce99f77a1bbbf740c2cfa5881517f2eb0eb5d0ccc3ca18119c3806ee5bb9b6180de5853ecc69a2a37d654b7b1a6a88d9ddf2737d37917da56798a3e7424ed5adb411f973f4765ef3f6bc384328632cfbe821b6c07b0e375bbe97a97ac913f72b47e1b6c8c85ee4a3fed34af590a630dcf8d0f43a43fb4d01cdeb98d3182679ace256ebe7678495f52c3e300ccd51e86a31446b74a23914ed1659098b10193efcb1cc2f09614e0d70f011e68706e83e3d21db296ed08936d76440dfe3a92b056476f67a6233e92a02c3f42029e130664218f971df59b176af47b0639cdf9260d0ce0d34f83f697e7e0815a13a182b0f874904ff8edd36094702a23141145b36226f266301cad0a1ce19f519b34d23442a10ab16cc5db2bcae5b246326d9b0c58ad9371cc38e7a9150f67accdd91ab5504e4e8729bfe3e387a2174a7cf7c9bcb0e714f07610b6fbfdaf5e571bfa9eaccbe5741a4f72650556e1254186f8db198227cc69db6f7e0a3e9e36f0e060826d230c1636f4e0772581362ad24650af84d19b1a4b0c529911e16e6e0192fc1182cf31a2e35d36fd95e121d5fa81ca61a942f1f69ee064bdce9e29114411087e055eaa6e12e6135025046f31edd42752c29ba987a1f4694addc99e364cbbd0db0839a1e7cb8e3832b9f574cb00b00911d154e4b81722be2c1241933a15ee564e967eadb691902f6797a01890012c8e667644a63057b63cb2d37eda2e3992a0fe2719dc2e27ad82449a2ac06f52f10a0b15657f27bb4e81677d3e6b7f4c0b78eb669e8b5bc0b2bbb8cd1da5f6ef342e9ea9fda540de997f658c60438964cfbf96c352b8d16bbed8c01024cf119c18f94dba9cff44e6f1c8b3706c2a5bc20e136551d829b60d749717e0fa73168935b132ade20fe8a56c174cb1be6699d0d09fb98149401712e4ba806ed2f4ca5f46c171ae1484505bdcd76e4235c588b4858095fe485a869434cdac0936300e0b09111e1e172c03e492cf76e3193adebb8e9f0167aa59526686c13455795aeac3e6c7e0292b1a0389da075c3c742018870d8077c8c083458c0b78f8b3d649feedd694019ba7a39721aa3257853b25665c9ef93ec6831c5874365365a48a19418ac72d0b285f67e3dae04935148bc375b5ddb7a02d4222c88c7fd2f5d5dad38556ac7aa08b0de8bc60815730b4d5fd679a7faa056c2ace6bd05062d4a0a1305c31478b0396a01294a19bedeafaf72baeaf659c284030824d34c155213a3b6f62b4e56bc41cc397f4bd1748571866f8b0450f8d63ba6a303108ece4641244d7f03885c55813a15139aa8196142986c724d15a409b45e05f88470ec1cb19b31370ebf76cb7a4440f67be38a5b188b017bc401413485dffcbd738a418c128520ce24e8a3db2e68b4449c9b47519079522a57f49b415de97d4d43f3eec530e1f5f88e322b9a5c962351dd8a5205975eed736af48007a5f302bd060f2f0f37e9a9098a39b1ab3fa8c23b8264f2f083c96e20ebfcbdf20d6fb5b4aaa61e3528650cdf5fd34eb6fbee1dfcab36662f71b2ffebf14293c99647b2b0c6dda1af413073c0745ca7e22bb52406b2fa60c434e5a63a0b467c2c2cad9ee540750b9024c43e35ed4b5bc0bc1a158d85b58a7d430382dac5a437d8819feac08238ffc967f623da7da9e6e77f8ac4c3b9f1d1ef079aee7e7f4157db22cef19fe02ecf76a0a46fc94909b60d889d31a6e60d9a5c89c9979010abfd0634c84737a5c3ac209cec299517319ed7a3ceb9acce6329944319c0b4212418ef9efe712b57d9fa83d3f8ccd66e0eae6a93225d96bdf8a097e9b1f7ddc01d303b9e7081338dace0fa86d9845d714b9000da506ba75d2d4069603d597be0a9fadd474af9df4f0318bc826cca6bd99af8e53f0b4450ec530f8314816443b3b0bbd3990490ed71c3a5e0631a986f9921711fcca8b68843f5922ec27b01b09cfa2f4abc45b4469bdb45b69bb675ec2410421863268dc0a5800fe90d79aa256d73eddad39ec44307cb5170661cd1286796d811374c923f6300c73bee3c4ad69453bbc64892d658726522b93cb10254f7698505feb091230789c10912c7671f4c86693529092a91984091bcb8a7b8db366bd21fccad009bb32283dbc606492077eae4521c61037517fdf9f39ecfbd90f73cb4abc9593978280301650eee702d4174d3841f0775026f4f6cf66278a82803051a036a24253b84e43c62ae4878f403c4626d79ab2610dacde2ab1291e9f67017c920eb6815986d30670c7a4618629b0db944dc71352c544f99387aabc459f2ec75201414a00d4a0c48f8193d0d332093b051ca06e302a9063ba902ac381cb2eebe07d2b6fc91297b4b3d985100e054be73e8a8e55fffc85525a5d4030bcf6ea05c320245f94570c1ecd3a3dc710919ee594de0e38e8f4007cf50375a92048a31802eaf3762140e3abed24fea958e449ffaa30fc4972abe40394b8b3621f1f4a37f98b776a620d6ae1eb9ba90782cb5650d2731af8004caf69669909e597eae208222224b3ce97aa7afc055e23770fd0f2bd41ff1ec4271007db7ed40102cfb714445786a3495f64be2d0d88ae18e8a60a22481d10c0e7850fc54c8541d204a1dc034ab0e29122daff91cbfc6be0f32121420241cbc81fd2f676fb1687c9471e80a609e64961d12d20d95f98ec1252b64075eebd95ad4339a4e5feff32456d08ec34da9eeea3000075408020cbe625ef3405c3c3dfbb5fca5c0fd366772864be288c9e2d1b239cbd11b1d183cc1d2ecb6d907865d9fbeef2fc705aed87f6d6dbb4383eec068930588986c1291b53b810c328f58f4b13a3c8da0c88c8b916300affdf56bdcf0740634b4630920d0a8187c3057d28d18061c0f30533c292584891cc93199b9c895ffb9dacd51e7222ed147823c5f3dd0551e6844ef339b249e6475b8d3d69bb6c75fea47bdfce7807b919f1d6ccf89ebb8c5e67652ce127c3d05c36d382ff6c34b434f3d8edb94a52b0af4bd5e9f0baeb39c05cb177f7369608df01e8d83f7d17fcb17dfc9e6fc886f9fbbe917507387925ab76cfd236545508fc4b5d80631656fbf037acb6da05bf5d0d48a5e9f34f7de30fadf6866ff067b52bf626f5fe25fb4de7ed6b55da6d8c58633af70767228ccd1cf4fbcc8fbbf340ed546b1b16f67228721726e0ec0b84cc5e37ff4d5cec4f544e5aa98073fa90314508afbbbc3c73d80daf96982e96fd42cee48e15ac3d698c957b19a2e35a4ea5b971bc04ec53d4a9f8742fab5551572f61c5b6b8f1d5d6ac86963674d99a85c6d288055f0bb5f815a8d3a501a97037a414d35023e441939148d17489e90c8a34cd4a80f4136b8c5e41aeb42ca2b8f680bdea1cfaadf3d3b9780c13e2ed17964c278faeb31720051015d7b8e0dc77a784bdee99241583d7f2fa270cd74dd91af4bf70308c63626910862d94306c9c5230968b2578f8776a13ca121bfbb5b5d7fc2d74c758b1b74ff045c3f609d7b669107f9e738766a14e5b6d70b3f76ec86c6a42b4a0cd6a93c6b45dadf7f629ab04b5aceeb2dd5a859e9e35fbdb876b41284b949a7bab942ab4e93892eea7dbb1d6d92f3dedb11aeac959a76bc7637ab455e9df32a4db7b5e5509bf9257ecdbe5eaf078d5f70c60aeb8744f09a6807a9986e8695acf2adb6c4affe10bc3e97bd2a7bae5a9055259745a038150079c123d8484d8347041e8394da12f846ec9d43784cab8b6bbcdcde266fdf62eed9e4a49c6fe307fd6cbf2733a65825b235478c6d308ee3256984f0bf18ee88b9b843976ca4a20e23aa7e7cea737ec42fdb625bc80e82b0723952d918f881c2c909330fbe7228363fcaa01a899b3f6166d6ffd71a7a6dff810f4e3d94ee8b2325252424270b877e94009494948904949668eb295d30449f134c9bb8cbaa60835d2958966f4416ac8e52fe0e55185ff91c585137f9599a3b2717023738bd32388a3247146c88a7dc9862ecabe8665db59a898e4a1073002fc2e1568a338fca1db8aa8ead430bf5bbc96b00d63f851f61c1e49664777eb2cb6c35bd54a7f8de85446df7e72ca2d81775d405d9cc22d6338e5634a4cf3e2f84d29892a21f1cfd95273acba13024e8fd09031d0dbed94dc0a2a8920692bd08663c45c8c255279036737d2705dd6a0da5291d8ab6ee2030ea8e1569f7ecb796aed306a168710762e1b0aa6c5a48d2e426736cae27223e9198ed0e3e4c8bf878ebe8776340f7dd88e5d975fd78f102232a32e4102ded6051a499ca3ab0bec479ccb733a926431a141b077ba46801072922bfeb1c59a84103cd8b751dc904f4f23db4af14e1e2601c7aed1b5ccc3c93cb981aca63a64550b006161fdb61ab1a1a8110ade51a82d4c5749512c52a6559a71cd79fc7b012b7174a93662d8e912c83521693a0020c676490a18d5bd8b08be8cd8cf7b34643ab26644c8499d6ab6192b8b0def3f3a99f9146a3eabcfd5b4fa0d739130178b370e7edce063e7ab3d10cdd9488170c0b221fdb792f18db94cabcda6e30fe65934ac1ad43cadbd0670406b2c6e06417de703ea35e807237a3c0107c66b00106a028f516c29db005a3083d0d621b98fb9405e016165e5cfaf9650f01af816d26ffaace0211406b1e59428b622cfc4a2a53045b8723cc48ea2e2004041195bdd4f5ef9ad88eef4910aa5c3ba03a5f00f498ef7836bcd4341aa5c2989b537a5d22297fe3e05b2d64ba388fa3f5461fe4eef14b904a83e9302cbf864fe1fcd1f00f7d3f7d8bc8ea9ec47eea48b8e0566d7662f28701eac893dba369e3263107c9b6c2028f0022ad1968b90dbf7c33e96f399dd93120754b5df5c1ea9c92344b49d54618652ad65d6363c74664ab29bebaba9e498a7f5086614afe60bd2c984e77166127c4a55284360126e1ddaaac9e2d058c37346bfc41eb9f714287586ee15abfc904f408a7fca9c3c6258a2e0e400973edf50c6d57da1241ada1159ccc3bd8d641d59679ee9136d5ace924dcc8c1436cd3b6d5db6036380d593638c8f2cb7375094426d46d3f70bdbeded5a47e6a9fb8734d346f29ba33814607047a9d4af8c1839332f0848cf9583108e92b5d447849ca3e5ce670a9ee8de816ff096a89329cf8eb047d7b4829432964ac95cb60b839167c2e10ceddde06a9724fad724027bf173a32a1462c7929af7d10a6e0369c765caaea26ac4aa49d06a5297d075e22c4f8095d9b06431d00ff68cf578f079ba1d5394615b626b9fd2f8ddaab1babe53084eb0d44cfbcd23f34caba1fa6bc34acf709f8d9f1342ab3628312270480ef8b7d6b76424b15a0b514692abff67d1a0147b66fc266fac050f3d776493d7f96a952f2346f4b81b45a1127ab96c12c74529c8f5d8049876d3c2c0e59278ae864381e28411a3f935c70ce910f948e799fd61f7ac33bae7555f6996285d43cee6c1f4c815a2b199b8af8a72eb745e74289cc761d93a077f4a47168ba2321b24e566452c3f33fc72693d8f2f0c4b51665a270d4d04812cf7d30e3c4c1e7ac1a1f8d71398c28e00e88d01952cea353e09a7e1f669e3f421687fb11133eaf83e133e8b5e0382e6e13ab6e65fd52683020f2250795c3e0dde47235f2dc9de12bb54e58eb97e3c830c5ed53f103de231b85ebca77f9c90d12790c63d8f7cb8458174b480b22054a61fcb6eb6c1fc377f81214e7937ba4ae15d49386e76e7e2720a384d91eb1830c540cdca834256cceb255ded23423e939c995b2abd29725d898f97b12ea0b1d28ecceb893180b0309ccfcd47f63597a972a6b3a364bad637856f8009279563001e8ec60613e7e0ca1ddb6d5f08f95641531abacb88f6019a2ad907b1dcf6efd09da96d0b734c183db2300a944f901c8330b1b18b626b2acb0f03135c5f90cdb38045f8c2feadaf1b2f40e022bf532492be7b54d6b64de65b390a1c7fca5d359030acd584dc8f4f80e9176ed4fdb62c0273d569897c32efc4babf5b965325c515c3f9567e4ed08f8fe4db0f7996064fb2acc7f0b21ec6b7b1537640124722652e350c7743a773f216f3b5f94045588131f8f2c72b1cefa38134b378d31a2cca99114f798e7adef4f265e4846de7c1b4b1ed5c8798fad69f8d3c38bf64bd292e81c7dd780481180f792d5dfc28ba8de1817fb66115f29da66f072f396bdb0f2779b8c1ef3f8ca69d47cd6ab21bffbe5d2fb8c23a1154fd7094a256294005f6d64a0b5432ba2f7d4f6e6eddd3bd91ee968ec24b9482bfcf92ef41dabfd265af63ebf97491df0e293e5d88761e1593efe5dc4c54a4592f42d58583be73f532f5378ceec678bc7a0a4d0124337765f2438d11aaaf431fa565ff826ffe7e457353c4926057b5acdde67f9a2e4de438bd86b47f52a77f1dcbdfc8dc7faa7dc7270b56b7c7371e1eed9512021b10bcd98e5deb8027961e7f5487763724a1a4c8324879c284002917a08f0f5a331c18989a2148b0cb88c8426cfda48ba541446173054a1205bc74c64481a6290169ad45316b4a9dc38493646d20867e6e9d77a7b7362813cd772893d51f428c2304722c8533b90121cc3ee2cb516de0c0ed5ec815cce0c9c49d1529b4479dd24ffbca6fd538b1ad027adf57cbc85792470fc1e968629f8f8fa08bdd4a08ffb8b3abc8f4e09381ff978d5e763c68ef6bed4d7fb2a81202e37e1dad507bd0b8f57f0a89d9859b3f786cd7aeb0d5c847c6ec549b43c9d081fcb2e1e8aa7fea8a153585c6311e70bf0e7b81b0d8a7206f82bfe63bb4aa56f72fda8ec1e85a945288c061aea2047f0745180fd5ad79d333b00e19d1736acdc254b83ab702d8327069fd08e99a464cd97481d2cfeedc2875a958434a8d315d1458e1e23c191b498a588d529aa3051f423059769e15142e8fb29639f155d32e85b3b66fe08631c2c80afd50e05b08add50c21387f512d9c396b55aa3398c579292692c99722adcc7442767364c7de693d8abaad56ff1ad9cc50bca351879fd4e9ab6554612b2ae9e7b4550b500a0d1f75fcdcb1009ceda327f300ea974cd2dc4857834771666a114de89295554d53dda03f6d73a49008aff6ebbe35731be25a3d9026894380b7a1aaf4383bf42ce748498acf79aef36986c8e8125d5904f0199a74c91aebc99bc3bdbae74f4f87dca271d56c16e0d0862c02c091b1188093d07e90721c7aa4b482c082c294d7584f8d02572d848b280f678c2aba01c71ce1a1e93e997ceb8c48a14242af019ffc847dfa76e0f1a17deb10269026b79d2703a412d033041f92b109e8c3619eaf014e6c01575e802d76fbb80e8d0bc800f23574905f9c43e56023db475953b000f8ee9799e7ad2adb865480bd481fe7ecdc3e89a219ab26ca600f16232414d04485f5689637f5811721925aecd8547c19cc36df39a4b107ada730b0641054544e4316f568a380fbd394f6caf7711f70fae532302f2538894f77fd3dccbb815c048c5a3a54a3123d95a5141fd528950be858d99677afaea4197ce3be4df7daea0cb7bdfd12154aba56eff205082c02afdfbc0e072d4c8dc6a079b2c6496f2e819c8636126e54503fdee51797e76008cffb9dd4a45d555bcdc55207cbff571f13eea7ba311f4e984d3509e4d7fa3dc95d68e493bc5b6d389f859aeb5b96e9be2b0cfc2642f55ef55e2f0f602a916eb60df01d14b13f2d70616386a8c515c43f8e12a5f67e03d133fb2cd6d4ad05a1dc50421f4a801b977648221a0a42f08cdfad16decf1d14b889b31e6026dc43b55273d65a62379bfeb655371b1013309933fc74aedd49a1e3f7ef7095f3ab58e17f007d78ff040d6be7882ee3e215823bcc163773e4d9730413f97f5bf8f731b94a39f38f8750666115b1f0265c80a3595b1eaf28a68ae1686fcb8889687893e9c3d8e2d8a5665c266b01ad896229eeff2bd8313aff84c7da9fc7e8dae3b400c5ca2459ac05478c95d9ce93c083e471d5923088d57bf3622fc807b7ee459fab8618afdda1a4ac4a721c2fe7c408f5e488ec751c9b013eb1876e383ed4c15153ddc2366339d45b04d607bf94f8e76696433a37c112e7aacecccdc338a60cd2936e6dbfbc38ebcf5b3b979f465d0e51a58b9581e85afdfe5c8c083b29f20415d139ee7e5b5d3e1aa6795e187e7e28b4c64d2655ef9d452cafeac6a136e048b5aa5290d6300194edb57d1039680f2a5be3b978333b4c0c58d223014451342ec53d6a96898aad6fb8697dc5369e0775c978e77c329756577d7534c733d0a16902463d244b65934b40840a057d27124e27274c89b59e4da044c9047ff5e74871545d53a6a7427e5417dd484de1e3490daf722f44a25f2c8389c1272c7866ba09be82dc282376ee71e6a356a168f02e8b329d6475e977727866e8f02c8f832edd6468d420de3fef5395442ca135c1860253bd2feae19391ec24b1ba042016836d3a5c0da69afc29759b8d749f40531ac55cd5cde0605aefbbe866f06cd362ca60eaf04fe984d9485506fdd0a8a797446faa04d3d3fab2912dd6f826e04871152a07a892cdcb19bc30a16be2efb56aab4a08967404146614838be69ebfafbd3eb601053840a8a1dca0e5e9ae0b1d4c4160dd34de556f3df51a9d4ac8ae657a135a8576cc8d664a383f7d374b8dea6a6ae042af125efa2e5665d595b4a1855e657cfa6e96f2d49594400b5d25fcb4dd2c65f4535eab85e6207be2302a84a274e2931b67823c4a6acb397ea7e71322093bf454aa39b8760d1d8cdf2000c780faf24bef6f0c95a09fd15f204cf5cb7403aeb49f570fa06fefa5bc18bebc0b0b13689015434fbdb04f9ac7179a13e9a7f24a0cca8f41a5241b2354a150d4efc6698c2640e3670ee5a2de909873ef3eb01a99420478a086b14d0f4f53c6661d1898dec39a3fe88035ecf6a195bf136a52c96e534ef534a5a4574c76ee9b3b336fe69b1eb98468d0868f216e6b99b21ca6f2457ddb050da562715f019c18232249940cfb0961c596619a22fa24e7f8e8ab16e620ed3fa8883376da2cc53cca2ef51798812ac8e55ed04df1983e37d2876f9fd38729bae1c314a288db4dce74a595bc603a417dd1ed63d4c8bd8e4a0d0b384435baf40bf2170ca785550f52025ba5a0faab8837c3bff79852a4b6bc5461a82049a024d280a6d16cf82f440cf26c28a48f571de3c52945d6f9d941e48c237ae5981d289fa5f93385655fe3ed76f2c4ce9516b243d37b002a4b7416a3c2476473232a15ac342afc03894f1a6544b3484aa007b7bb6895d325dce60025cc808811b90321798238023e488901967bfcd76bcfe35c3da481fe3297c8c4de24d4f444794f76090829f5aa0b5d420e9bd6d8cb8098867de71544b2da2a238db9a699b8e1dc358f8c85e77c4cd9a3ec219be31fb3c1314178c5a3f77fedd2c0bebf3bf3e8fb66bc7ef7dc006e1b1b60626ee0e17a86f44c8040c79f730095531f805317a515200a4cfa5028b0bb43147a04a826d356570457c7fe3aae2239f0fb6c359bdd40074d525e821bef345e34892224f9d311512060ad3fda2ce6e154e1071b47d960fc8ec62ace87a527250d7a261e710bf3b56ba6818b15cb8263218c035be4aa6710e8c2707439a3da9d4515c6ce5845252c9f94e56267c735f7339813cea3f304f9d869e57c0db37a3b42ac1512c48d74105b59d5611c61122a016de325fe267493f71d483f09b53cca6d3d1e022baedaa823526a3536d612a3672e5dc26c743437f0c09a721d70e44b280b275106ffd001535189c841bed6981b0b709c6680736762dcdf778a1cece59e360837659f41904f378596fb4b556c7dfde61cc5ed6288482c0f5c4ab6b935c9bd86100974a0bb0ea9138bb44bb1d859f394ec10a671b5a3b63b8a59cad726f9808871dab28c9a63d26ecde67e491eb8838d2e738d3bd6a6ac45a725e075d520a5999f0c9a939d415098d9af8b381003a1487134c1fe4181a669fedd96ca496a705e417e0d70dee749f50db8edbf14edc75e571bef14b058b5ef6e5e7b4627a4b3b683469f04b4bb65690a47dbc4cd378c692d0ed2564aadaf10fb6865ad1d0adb432e9ccaf1201624615265115638d6e7ac70aa70c05ecfc2a9a6f7de4c6c00e23b0b2cd125fc0ec67bab1f4d8c7cbbe1d43a6ab0ded06c2678cc84fb501c6aea1cc91d1b25e194b0bff298ff7491b923d4bb9505d5bdb94c81dcf4ff48e982c7826a65807bbfaad6743864ffd1c5fd7b6c61c2a45cb12938ac8fc6f8e8d42cbf42de040d0f15c2d5ee4132aebb272376143af3288192b8ca2b49af88f9fc54c63d6ad71179c55a286c6e98192485a2a9f170802764488f97a828b185020f97548fa40f3eb46a718260a0a7945dd73c9ed313f6ac73781970443f48da6b51df529cd613c6ec0087755f15248c622ed58da8d279947bca41a45026cd768bc71b651e1760eae4eeac1bb78e0bd55caea05a3666d16821f492fef98ee54191cb0feb673e2a7ec4ab622808f9974308a3954154937edeefd2493a3102175f77dd2c56186813b9498fddd718cb5474145de5f06341253f79a5a155a7857fe9472a3993f8b3294bc6e590ddaeb6b1bb4cefc9c3dbc988e5b7de91b4f817bddabcaaeae25faeaeb48a74c6bf745f8d7fe90899006eb2ca6e098e35cb253a4bffa273bba89b81f9972edf73e1d03c6ded3efff498965196bd6f7fb92c3925efcc02cc3afbb6056565a828c66af917ba2e5c63d429f13158c5f521060b99828a0313da3320e07a6338724fdb4dc06f8d13516db75050fea55b83491befe2dbbf20b6c051c845c71ae551756efaf0dafeb401ca65e1151c8b5cd779959adbdb728af5a4265a2394f475bada51bb2a2f35963fc89c95e6e9ca27eb120344d1949c49e5c7c41d19551fa9ab57074c8e04ae158fccf8c14e6e38159265f87a0066aecf72a6b8aa153e7e00a67cdc810086d5d72353dd0f325c08602e0416d3de7092879a4a36e18223b64d39103ab5b0bdc90a0e9281be61a9c26b932aff50e8a54a870330f7c362bda000831b64af530988791b83ddc33d56d92d02181a0ac7e26a02fe0b2ac093e4067c25ecedb9ed9e4948c1a5c0cdaabb4c73335d63f08d6c2d9e5c42ec1eb2c0f91b4855b5c72545e81e7d9c033057b22cc91f009e0964ab131fd3d2413ffbb8125c89008c4340209860052e5b49351460587af4c417cc19df29ea97e41190737d70c16fa37c028aaec3fa4fbf03b4bbb096f4837222c5b47c45a2141156074d568bdd4bedc8286491ac450c736a1748b3e17fc229cf0a96d85d9ca71647920ac24c05da833bf8e6c19d4cb700fdac2b668054240befef89b345d7cb5924758e10aecb078cd1cb01856a08272d0669cc02f2fa4c98f4f602c0d1ad6490ad6fdcaa2c3540553867bbf1091397bf8f26ddda8f2f2608c947a4c227abc8b228132de157ed7918d395e5557d295ff549fdefcec7e7c1559e4f724316a9fa95b010afec334dddc6d9611c53ea54b060a435245271bbfd4ed2adad4f60f9a23759ead4e4feaba3a7540c6576c60698614bf75ea64970cea30494e31c00514a5b0b78f169e4990565e93fc7a7e804317b70471ce2d97407e98058726c6ec30afd460ef4c43c9aa4e12962824ca27380a762d49c39b6d80ab2ddc956e6652ef68316cf54a4c0ddb7fb5920a1d3016d5cfe9e3ce95138f17bbb01049950966b3513159d6b4414ceacc6f2b31a47b4a132d293133c21565e31402f4b317c845ac49361000c6112aec24246aa232cb7bca514d738c1c4320cabe3b92c8517b3211474e38b6edec1a2fe58f382f98dec8b500c2beb8298675483c00818a26fef7461913ff04dfac01a35b70b33f73978514560f0b29a49a1d3da43da8782b78bf2841766e621ca456b6fc1ea2736cc4f22e55b8f55df3182c50d513fe9a63cdf4f689c65ddd77704c7652c5eec5fe2077b269dc5f58b087a6300417202732593f556674974650305b99d6601e80844550fa348dcf401cbb5549cd86b3cb18eb59b9963dc7c05e240f61b9894e040542de0bfb934d98ea05792cdde113df4ee511b79a3375a236be4a811ae2991dd1d35fc4aa70d4eb42de7e67f07f0e3e810913d4fa8c837ab906d8dffae38ad36171a2d7309eb85a31149f31b8dc4804bbc5e15c4d56510b2e635328230bf105f8c82c4376d415c8599204b8d6346228f4f14122313f1046111572a0bc8dadc989188e3138dc4f855e61cd0f05c001b031ceaf44461318067cf2054adfe6afe4e8d19187d7aa3b1986aa68f61d5a6abcdcf4927f34e9cd2679aa2f54d630aebc3babfa93bcd01e90e31ac730331d461e81220061d5a14b831bd7b1f85aa87506d570908aafc9c69c01c38fb15b4b5792a043b285985e9364879090d2f4dde776f1ba45bed263e413e0c187792e6a1b842d33742b240c92a415150300e05a54e3da1061a448dac411168ed600df71122117336f37a9cd7c955804d1e45d618fbb6dceed0442a97fb0497074dd62037b94501b5ed18f40ac1f125c0c7a52c4f9ddc8dc4af56aa73692d9d954c391d4421aacebc9ca9e3c6e806b9e1b8b05a80c429904bc6f01a8336aabaecfac0d71d35237b0ee9472219559f8628299d1accc73dc5cf78791f38a5fda2ee6acdc49dada2b34899c02914c5d7b755a4e8a1c2d1e4c56a37bb0e648887100f9e6fbe118a3b44c07e5f5606e26834642d9c71683fbb0ed019271dd8d7aae1d0bc63faf818d872a7f4c767d1c1813388ccae802d406f48244e6f0b62a949032f9b0d6284e3fee9a92e69b1b6273894985dbdd845e134ad5e1f5f6ef27447fca9f6ab202a25809270ea404e32828d9f4de67a4661aa6a3e92c6758851d5b1b84dc184286269f1c9fd1c52dfacdcd6c7cd9ed17183fab67a3e55f5b7729160ec72b96f894eba37dafe3e6fde71c78b5a82907053936e35e74d916b2a6690b8817c76a52c0619d072a74161b7933844a08cf872071bc6f07c08306d0d3ee2099192273e5c2fce908cc8a1ed343adff9796e5e749e8cc716673c8ba5a9eac4ebac1dc27b8ef2fc0747f4778e4cd71bdcb6b22e70aed9af842baf9e95628c96b2e1de3be28d1e9867341969ebc6eb8f342eb6ed5582ef5003d845a46966f04a82707af182a58e7849257af00c5b7aac64bba7c9019053798da4def19758b538a3a91999219c55ec4af19758f2a5c7be5f2f87a042d6cef1ed4621902c4d58d43cedadd7b0365da22cf3bfbe15649fc53472423c5ccd1c93a95af52468c08f0d4c07e562c6ff964e3996916507e55a48c2393cca4b394f879c61b3d166112f1cb88a803767227938434417e404ef6d38542a6402fa4ac96ee919f48a104b1cc7347a015ae0742f55709a913a99502235daadcc1b8dae882516a25411fd17f08d048ff196d27a5684908836837216968a77d9a81e84f640c97a21b636006a83ece60a560930f4221cc1036237cceda71868bb4d48da6eb2a5945b4a29652203d702c0025a83a39f1b69f653c44bf59b2f3e6c402e70d34fd2376d403c4682e83f547e867a0b2f954a2613056a72b969877055d2ac73d63818b1f5eff59c37cf2bda1e7d10448fa09f9a942df669fbc119b14b7dda806a7276d8a70d0887268084623620a2aefbb40151e9b287292fc618632ca4628c7372b95c8ec7e3f1783c1ecf4a29aa62821110a2e89ca1f078bc4c793a8731ce39e79c73b95c2e977b98112e876302c9c88eea64c7c3e542911e78fc40138512178a2770606ecb13f1b16f79cce3f1be2a6c4cf191cbe572397a799408a151702894176a1344578039e75c2e97cbe572390b030eb525784002162ad47c80224a911c4ff89ce073536fe48a7a4a9820440a51944ef8e4c81f8efd9a20baa2c9d7d426c2668c31c638e79c737e1870c8fda21481c446190289939b43820651acd0d3e30921d2a3e2c303a501e7c31853c1a1219436a6542288f8e1e1127a9288e1cb19638c31e6f17800248142c5094c6af08881f73039c78e29467cdc9ca51455c97daa1aa1ce23e48c8314584cd1a3034d8a143b22b64f476b34c17345ad1105490e1f2138df85d223c30b42ea8da11e2af4084e5636c89e29369c709224490d2222d0c0844f8d1cf052408b82c88e26884080b244cf8e9e14aa8d971b443a400162879a234fa6f48c30c24d7a6a3836dfa9bd71ce39e79c23c1470783cd39e79c31c618e3cbc4deb8ba229c9c73ce384f8cf1f7fb334d063b54d10385ee8723a2e47a887818ad5331c618efe0547c23a347164afc30f4c1145b38e1a101a704233ae0d4d07dd486886a4a009204ca5562a6098e9ac4142a19c704b81db6a872b302c7e7326162e379c293582db1574b6a7e9cc084070f85205bb6573e7bf564db8ab830c39b5c1efb16b04f5b119c2e7b98eb845761e3e1612b5203b742833840b01a1184cf11d9e673b3f5dce049f02a88ecba1345e16c91658c7bbaa672406f7a5c3ae36083f95227d59a8781fae21c222d305fea83f426e79c73ce595c99909fd440de011fc418638c311649a54d7733bdfe5867a85a5375dc920add4dba4393d01bc52da1358a03dd992ff5779ada1b0882e0cca088fb70381c0e37da806ed0ebf57a3dac33be7b646b3bd46401b5566a4b235d75a2150306eb058b0bbe5a51e5149424612a91c47004de1b197fb7086a3c6d53892486235067fcdd2337dbbec5e9beeffb3e170b8e6d7156db9e0455e6ba32cebad8e7b74dd3eb53da137b9599f1801192bbb7dd702360315b1b507c74fce9dbc2b41d7101a6cf6bbbf5faadd3b720bc4eed3ba7eb459d5fe7539776750f284dc08620237a500e876e890dedd18e86202986ecd2163e6cb14fdb4d0710bbd4a7ed6633c34d06dc06fbb4dd6cb8f160e3c6d3650f73db48766e23b18fc4be0508128068b0921c1f0ec77d8243af6a3b6836133493730f21d8b0600e1aadb506daf4b78d56a3c9e53b65c3c1564397edff7e84731e5049b0a7ee15c52c9a2ef856ac2e5c802d9dca909135a8bb07945a28e1acb6103ab7e5a8b55a6ba3ddfa44b8ca6214819e7cd4177a508f1b94830dfab9b6201f68d091bc0b5757d4ab81be5009c6d99e745e63f7defb7de5146ab3b936db0e1a34fb5808575690aa8ca5734adf2eee6fb6c050f5f9bb9eea26cd5dc53a5dea6ea194ce0afee321b4bd4e530dd029c5feb2689774fb792585d661895a50693d22b43bfa74a75a1e1a76c8d7c3daececfd70d6386b70048e429154325d93c9566a124925d33e99f66944a550b5a8d34fd55e4ab5325387749d7efdf1c32394e447a5f588aa8e4a43546d7810953c439608e99a0ca9511a3a437b501b4aa33ee84cb5ba4a9a31a9e8d28ddb6b3f8cb30647a3500c49a592699b4ee349448da81489460c459aa15a2160b5b2e22e585c882f5830629068c4788b00929ca42c3549998c4e1f0689468c459a91a2314492b495927a77dad225d7fc3b249c96666bd666de0f679ce79d1a244721eeb6bbf1904491744937da2427699ae4dee2244ff3566fca7277abe16a7467f6eca495dafbd16aedbddf87ef8771ce5a835983e0681486e228144512a95432994c22dda731a55a59e9f98222d1a09b06ed77aed01518c009b45e3cb5b8bb4346965c9b915eadd55a1d77f4c1f77d1fc6b41e3a94d7a7ed07293dbc197ffe29b4a40620e041386985ac0b7dbeb365a3ddcd68370f383dfd919479408ca73f9a4211583dfd11955a00eae987331be3e2e987343606088cb7a165566a6a012a1ea1cd8f4a1bc36279f13bdfd818fef43527e9e94f646aa789f212fbe10cc130b495862158c29fadd07ca1cf856c6cfad29344321c811f96c0d297c51309761669975417fae28b184af31a5ba667cd25942b77567d96d3a350f444e27e22bf1e83a4f3c505e9d2793d8bd427f276964da3655eff82cc60ce170c3a98f5171fbec819ee027242bdcb757291b4b7582d17afb1fa27d276161208c92267803c49fee9ffc90f490ecc4eeea7fd8472b5481dfe3160904f6aeb52ff058bcb057771eb527fd551e40a3903e4f43572952a5564563e3c917c369bedd96cd6c32a9e483d9bcd527f7a952af5a5942a55e9b4b7743a91b4a348d3e94faed32f604f3b6b23ab3a59a5c96839d356c8f632b89adab0679f33bcc1aa9108050fb2e953d9ad35d66bfd06a08de338aa46d438a69e3e0f7252a14ea40a8542a15028146a1cc7711c47958a0c1f358ee3388ea38a141f358ee3388e23e951e3388ee3388ee3388ee3a8224d8f1ac7711cc75145ee478de3388ee39872a1c8d17522471d0b1d22a928ba13563b243c6c484ae82b7dda900841c175b80ed7e13a5c87eb701daec375b80ed7e13a4ab80c5c062ec3adf67e58f374c6f7deefda6bafb5d7de7aadbd311930fd5e6b5d3aefe0393c87e7f01c9ec373780ecfe1393c87e7f01c5ce3381c87e3d80f2d39a30119adb158ad5fedfd70e63050d20cddab8b0638f58cfa45016670fb2c8922a5a1ce27cefa961bb6b0f8c7ad8b15b7be2008c3d280bdae39baa931f85e51f3235bc6bbe5f56f1569a52ef62729f32a5bc6632d5f15c075f6c98bb68c839b6b77167c9463b1eb252db03db2c37cb9116f610bf14c216a6fab17f64db5e1376c99bdd9dcb80b7bfe25493065a67509b56fb6329a95655996658969f807f360219c04efe01f9886693c869849124c19546acc14b770bb2ccbb22ccbb22ccbb2c4341bf3d562344cb337db6f8669988669988669988669d5de4cf58be8b5b35f4bcdabd7326ba1699979959806fb8135b935e06be835f47af222eaafa15ac0f8af27af255e432d33afdd6ba885bb352b1e64631aa6956559966509f66ab55aad96daa9665433558d4a47aa4c5149ede64bfd9b8da13230f3a57b15f5faf5d5abb685a665e6b57b0dbd74279bdb4b777be96e2f1d8c06fb81f1c0846049603bb01fb09d8da1322da256f9b3569126652d5dab498dd556cdc65019adf7e6fc45bcd3ab045306d330addc9b73b097cbcdf90ad8037b2ed2e3ffec25dd70cdbad4d7aeda5773d562a41be9f6cda83dd97ca99d8df966d6a5fe6c96dacd52bb596a374bed66a9ddc9c6bad4930deb76b3a4c756bb52bbfbd2d998ab37e7ffb1586af7d2a5762c1a928b4583592c178b86d72c8c66636e8dde9bf37f180d2479cdba68b1652f9d6ef3a72fdd4bd7c16fe16c8cc5e9bd39ff8fc55c2d1c8bc6ba50b0e78efb7765b021b68fa895c1603c3d7c19ec268309852f832581d160357a5ff7972e825de382d96c3693093f93a916918ef83326fe30aed4625dd22c9a16ae856b21d162f2ad26af03c6a65aad97fde847974cb770301a8c360fc824d873c7fdbb342f537a196c487f5b3b6c867940eaebc368a008a0bebe01307c26b061340564b024bdc2763a8c06fb510b181f2ce99e428d64e955dae89b4de365ade4a9e9f46e97fc67b1194defec1ae7f95bec566fbdfeada9b7a6d7b7b88aeb325400fa24fafa4783d5da7bbf0fdf0fe39cb506b306c1d1280cc551288a2452a96422954ca6bd4fa7719fc611854aa554aa95d58a73172e5834296375fdab95a85bb42ee9f91264ebafb12e5a6bad9fe5035fbf7ef0019b5d321a64d75fc066164daf5f635d2a67d1d4f4fabcc6b230ddf5207fd5a654b2a44f1b92a290f6a85450565dc44a66000002121318000020108a0592200b521888a99a1e14000b43624664643a2e93cb6292381c094110064200832000c0000004410c424e31c5e5460058243aa9d2e3c9107c8392a45e021ab8f637f3b8595cefd3b361489b8ebba36d62bdb5ee2d3e7e56b26ed0ebad8cbde4cbe18b1dc7a97857899517b629080a4d3785ba44631893ab4ef5ced9c693bc1e2cfc7826413f3cd8d225255a172eb35d1797efee47c77b7533df35105a1c695e605b19e8c185c92005c03e8419a9307e3d9b61bcced136ee008115c64bc6b05ca0c32e36205ecf90f86e02c53b067b70e9fe00b5a883eeb5981ce52d4dbe16bd6e291ca131ef4326e83916deac77c5a8cb80e37cfd5d3e14cb07d25d805d77f19a686a173ac422b8ab7f6b133844dcb17e3c57ac21df95678a4c350379af2817442d293189582a479538a161240503f832d75b1b5009a81ddd62f8e8a6505c2632e4dae5fe657a8a26c73df76d0b8e13240861a033ec107798f0d3599600cf801afd3cd86c15fd5d2e93737533708525bc17efabedc5a66ec225465f66742b0dba303fc6a7338e6335ecd1fd6869524ef8b931675c10dbc2d5d0db76d1f7462086ec7899ce5d48493d9b68d87c32f0bf8c7499c81bafd8508ea9a41fce38682f5385d92647e7c99b99a9fb1e76d84a0d04082d0e15e1c9bc8cec1babed65720963fbba749f44b6a77828acf5f7deabf31784c96596ba8aa3b861aba008ddb1e02a8a28ae6bede23213090932ccca28af90b38488d5bca33081ce4ce74104a438402f888baf07ae265bf1b532a69707c2dbd8a0cb4cf41fe5bac39c409a99dc13b31fa446a6bf9b31e39b83455d41f9f658d2b8daa256cb73a9456e3e3c32f3016e399d1a3a0648e0d776f4807f0147bbe967938733b2add6266bb989f24b397bd6ec999424f112a5c39729f8262d4bbc54e9f065489e4149122f693d9e4cc1372849ea244acf99218de1f6bdb1448b9789eaaa22069cbc5101fb0f4acbde4c97632348f96fc4e81e3f4f90149b6a86211cb32bf92dccd41b6f2133361349a74f630907f3e9cd20505d4eabdb1ba541b1f772f40dc33af2c789052ee1d586e91a8e88e05464d0cbe7dae0259525f40dad385d0460a97097cf49f59939941beca1647f8ece0b161074bb3c468636f1d1c46a044f9b302058b70a097c03ea961bd0624c7f040d5512ee252e41ac08b021ab6a70b970aa738e6c9a3d77a04162107c1f8518e0bf54bc9141c1cd7c7630c3951600a1394a8925c696dfcf5206219f16e0964bab8c5a409631f339057c5be088f7f91876f0bc5578ac890c03fe34b0ca54bb23ab8640776c6851224037c482cf4848ba9bbb450dda56c0f62ad3691432367491d64bc97e72cdf8156294aea2a6ef6a0b4245c37e9ac7b27d25239d45d742bf1f982030ecf471af9b043c89de5b1a424f38d324004888ddb0418e1b3f83f86966ee5640064866bda28542712ea48851480c96955bd5ea2533491ee3f9645af81505dc320fb67a69dd6a5a530c5d70325b14c7088791bf23b83eef731b12a30a3c27b541ec8287204e62be92293d806ea80aa14e626847c92c1cc900f0ef5630db4707418e024fdcd549870138e18b87633584a64ff94402f4d88af91969926e359630733304d12491186791144e8a53a2a7191a8de40ffa36ea80bb68d9625b0631d732336f2a84bea38155b02099acf0b29e152827cf72a0b8c65320bbfef11c73aa88db70b9b64749e01baa1c50f49136af19816eaf19070b576e44a1e213a1c7e7277c711093838ac1159dc92e0c908493f4232c755ac5242c10c8ae67186056ddf46521d45de9f03fb30a98592067e37fbb19820860132a4b828f1da9be6a0750aa3f5e266bea0870ec6f9ca1d93b89d4e20165f799f2fa741ff5d8f9018cda21001ec5e97c13e3d81c4893754f441e9db8dd0d3b366533a14d124b2f0ac15dc0683d784443f02f46e1c90932f13a5d7d0de0a60694da4348034e3c50b0fe6a169cc4f3d946b61620fd9d65cfb94c206d18229881ee1b58267fab79fb06874449a9b463f196dd1c73f55cfa8c73ac70c86f4504554c6028937e877a6c1cb088819308d4330881b43b29925b3d4b4afe96b19f3469747e0f32951be3e317ed62e7bf05e101c7142ada79b6d94fbcfebb063e443cf969718bc8c97de6f8975961718006dd0d477e290aaa9ed6a0a39b450d1b8bd5cc7048a39fd6003f02244bce34ef51417fa793fe30e32af306d067990e9528377e157a5e3c437c1419a803e24caaf7333bba6bf274b634473ecea1741e57dc027ab469d98c1d4075e507c5c57a2d17917b0baf11e328b7e244ad768260a364b5ec01569d5b8767d778808f85460a4006f814d5d4f100ab73e39b150dfa8151c541cb973902d9321bd209ce501d638fd1b4ac8d4e8d209d76eef1781b615ce9832e89f1968dfe32ad7802c01308f4ba4701fefe51f17d0cc253e2080b83a8e5bf454cf0fc7a10303bbe83d1f74a0b40b5079e38fac462bb99bec704c3f35601fcbad47fa10ff516a6dbcded73fd5634c3e97339d14bb095df2bac4019b24778c416940b85ffe25d2c17f4106460f711512dde699b1d5256701461f1ba792764a1f590a19120a4afe6d2c9f677bf48d47f020337486c375ad76d34542b4181727835b9fba53f97be983629a11e0e50515a1a85a47966fa5c75f22cc81e6614340a9b1ee1f8b50fe60f9b983a8082c21b61163c9d91a73bc525d94ca5f6947481077fabaa0d52219203dd23dc843a527bb0a5506fae67720b2a09f534caa006e06d95168277fe1a14523bef5505e730d1f0434a78c849cca830c00354c3860923eb264761e6ee9b4c6937f35607cf5b1e87592c56b6cc38ab8b071361fb2c3723d926dcc2e11d4347302bc3942d536eed70d0e671c8c2b2e4cdcc5a5c1cb5e3a5cf6ab4e4cdcc595d3c5ab0dc65b6e039db53467c6f8eae1b8c8cb931e30d88490fd0b0cffc183e6e7522fb1330ae9eff2025d8ebb6e9ce7f53410359df7aae63ca9d01d4e177e478c705babc64b7ade6e68a83b3d7a82dd10c09ed6271f083682181d93c1e3ca0dce521bf3f562fedbdd9ea044670afc1461d0dd7582340215ba04234e1b0053e35dd75994d767e012e33c3d472f133040bc1b47179f73b394ba5c4c70ce7d5d19322a35edb8c5d53f666b18a26e8e2b68c1859e382c76a2265182c072071cba681b932d9f07aee4e860b4803a3cbeb3d84849f4fd772debe2eedc371ebd7bd463917d08bc48c137b5cbacc635c4a0ee96aa7dac2afdd0170ec22edf000e1420296426dd0988096dca29c3f9bc18cbe0afbc6802fb0f916540662677e6a0987fa35d2e61ca26ea46995b59d1c59aa612aa5ea920b05f207c3223799c068d00dd10754a00b9436192d6b847b1b42d59e969938c6e15cc8f3e5ecb78e7c4f76f1629bf983bb407ab8ff2eab672bab5fdd03659a81728327ad329cb7c8627aedb2c20bf221ddceab2465ec0ea644ae3f8f96c17142432875e53e0d936acc06af1eee2f210c01764c123b8adb44af240679e6adf71a7412a263f936c831d9d608aac975f463e4b04499c5a3044a1c8e5b226091ab0668148f9cfc8f95317e5fa46ff2bc339d00e3a4afee28a64bae27b056261c17450817898f2d5bdc82468e2f6866c267d147b3d466a5a91bb15c9cab5a623cb879377d3748ae3e1bca0dd5139b77e5c26e5cad0f508a01cfe1404352d08d997da4b6c8417004d1b8207564124a1131f0c2b4c1cf7168a7bde6c9b24982e57213a97fb40559016ce766c4f169e1ec1d019b69d5191bd4bd0031d41833f7358ae48a5cdf1b1548ff8e0d9fa14fadb217081a029e6fe9c9ab7ae9fc6803f72a724cb8e6a03871cd92eef5426c2d004237a7ca86523061731c1264f81cf215d73a72192c2f60dd030b0e0638f65f3c8614c865087ab8c6a79a1913cf186d1408701ea6c37959ce7ada046316d7d1c19af1b55880f3096970ccf16ab6a496c18e4efbf2e8ab158d5ed120eae6bb1dfe0b44920c6194c2daf3b8c41453438e0f646aea659a30de0c8920345f83e359b3149d6e539730812539df020cf6ce1428c0de17ecc6c52fd167bd61711e4fa5db8918944a0dfaad0d167930326e64c4307c29fa007166cccc9859dcc63711fa016552a5a44acb8d689f68033840818002032071ad553b91232d903b384850f0e0064a558c647c067e1a1d35366e04145907b8d1a4a1494b37468e3c346968d2722dd55c49697402b9d1184ee040d15c39b98db823a5fc6415c2b62497a245b594bb33e93e8ba83e400a04e8fa00a67db8fad0275002cbffc17f67846447f9429c37d9160e69c286c57859d71e926dd69e1d2bbc4430b2739bdbcdf76ec141d1c1be8368adab7f4e86908441d1c13e42f3aaea4e5073fecd415f4b40e453d44502a418da9599c8d46ca6c6510e230da476f6b195c889f91d6618482f38e68e28a84c964ca74947f480c0b3c700787e11017a981fd525e0809dd342cb1ac50102cec886581f5893fb0841001d5a403e36d454270ec54348a674a5dc50f931e343c848d71038e6134e1470121a8c46dc39c2054422bc427b6fc3498f1c023131f48b399b58ccfe80c834f43f4127d226cde04c8fcebd830214a0d6cb4fd8f28e9484b1b8940482ad65e736842142b3a9d2ff6ecae6391317478301aa86dd7e05696a9ba89ba7c1a84172b40f7b4d7e79437f2213680cea41eb10b4dcb09070a105a4bb60e29070a3beaf06ba36fee41e84716978c56fef70d9c6d3541ffd320fc2ba54d3b1831b2e5861daf897fb106503bd215199a2863efa65ea2b879c3aae00d54d394d3a3de8b4a8115482b4e42f9d18b4aaeb09116873c13317b6ba14444b65d3918acdbf8a96bf681719fab087adeed1b6f0d00545c643b3b09a7b02ccce0667eab42dda9079af805487c4af4f3469aa87874245d364d03abba49ef47b941a1457ea4ed3372da441888fc9d9647c2314cd147fa93012d14a1dbd328563fa8af259e24d3de256014ccf4cb050487ee5eed40b2cf55a7483906fcd178c00c68b30c087857fda85a1160b430b3367e6b7cf45fb0b869b974585d752e2086221ba5bf1a46b17248d70f462f0803c72c0a071294ac711509bc6887b446fa856ab8f6b228cd4624536fa31aba008a37350522ba1f563848215534dba11769f8936e03501413d151bc1280d71df9f8812007903d4a85b52d3bc1e212d56e38ce358577a08daa0c209bc25fcdac644c90f835d792d5393d9a45158c4951706a9f18c78aa336368e2925c40eede3d1af95f43d85554172f86dda94a6e9d6ceb5a4427f03fb37201c5bc554a6a83049e3b4d75352c162d3379327143968febbb475e3bd07f84357f681662d5506eacdf78d160760a4ce251d23dd9c52926808cb3d21c070f6ab923cf7a1c5d8a29f829120b663e916ca8cc0fe83cbdeb75a1ac05d880e738f32b5d2c62fd2ca7909834d33929990820390cc0a94ca70e951ffa2a8f2c41549ee2863868e1805cee849bdd3a0d5a217e948a1a63fa11b66b6c7ab669f85124f81fe9f84cf11e234d61568fa8d4756a45e17e71570a3e79cbd3c425c547414a07e88840cbf30bc556a84cd007593b26ec2f9b511621b5f0ae751f3fe8a5469c0cad54c25980730cd72e774098405ddfbe6721d24d069e19d389d57c7a0eff31c87f60e6351f1e2f5de778e149a172a1a7095556f3d6d937cd8a6fd73ec2e16b03a8ef8dde8b953b1f47d253269784d92b94a8eb1b1c4fd99d85a766a3922713895399ffa6e6efc198801ff6173a95c7f25d0ebc7455cc1c3680813d8e20cf1c70ddaa9e3f4f1725d9e9b8128d91dfe6f39741756f091c3286767c17742e2daa2547cb4aa345a358c4256e50e605b7c2d8436fa3aeae974d27e1ff851e8868227e5f259b6b5e76f53a14153d1c3ae2a2bfc3b561e90de556c9b999c11cd79617012a8e114573563032f834a30401d85560f413b54b8dbb081401e17c868a25c04c7c6442baa4bf5fc6e470dec06a2220becae71287c21207111416b889a0b0c0654cc621f0d9b522c85a226e3c61ebee0d1b6876b4de9dbb598409dc41a98c18025313afca684f602a1e58195a02532664001cd6fd9a8cd5fcf1a981c8c35affd85b22ea8b79227d467058c67c274fcb2c8e4d489d18c18dcdc311964914ae0f86fceedbb9c77e9710609a97e7ef8f71b21ac29f575cbb2156a9f834cdab060538b22197dbbbb5bcd92d968298d15f6036a39ab110dfbac877d2dea19df2e0909f95d0a57122723b630d9d8b891e48bb3c080b3139bb08526d7be37f940e4a20ece5150a104f260bac4d43161b0a5f8f8c5af181f68968cdcb48ce07192b4772e62caac53e224a5f03e38204f29377a5a5d912aa3d22c1fa5777a20508694609467e03c2e023454b40c47eb765251aa8bc55071de08c7b94f00326e76087ed8a77a33c0c1eacbf7f56b437cbec44b6f356e76d81ee7c6161452f525c684f2ec19387d088e81d6527b3179419c2b505a005a0021f3d10dfcdb3018f1148c7df4c21f52836408744f495bc2f6dbfaf9e5d3a4e7019b3ba984f12c880eb7312f87a7b73fc615ed912ff20d48f2bf81149d71dcc52852320f7f2c3c3ba9519cb4cbed951422793f4d1f930af2c29e6860937cb7ec80779324d65f54fa199a612db54f0a23666dad657e8a60fc3f9b09cd317e401d64dc3fb4a6dcee9fe77bf0671a746b38ca19601b7e265a8c53915a8f3050c2ba7df157e494b04ddff038a06b1d7de0be6248e8ec7a82e0574460256e898c9213098074f7a323c62685d93a68fa579863d7cc14c3e8552f5a4c62f2a28399ab3b5a70a9ce1b8e3dec1a6405e72458241d867c91443350cac00a98995b5ea4a93117a306263b52b5d9ae091eacbf3e959ec8dafbe8917afc63961a4f39826cb2de24626e9488a8e766b2b4a9f1e6cdb294dd6a9cab2f4fb455e8824c11331dac1644b946d1c2f8a25db7e20fd890468d49fe5b0896216b26302c68b726646ce47acede8b1aa91703d61f2cba1b9d699036126ee1328aea8bde263fa40c48a419ace0e71d5a39f6bd090d5adb8739dd89a7465ab019aded691f72e2620e7b648b1618eea0cf93e71eff9581ee51d18cea595b5ae71aab535b3f77f76f20fa86c96fef5ae58b3cbab80200085dc460eb3e6d18c22af696a21faa287b7b69add015dec3bd2c90a0f3def4f03cf06a6fc0cadcdc0e4c441f09bbe79045fd44d40c86eab49d96e8e56172720443e5490f58282d74887b9e4f8acec0c7245e910d2ff0240355b778f231771ef454229dd4516945a33ef14d58d3d928baafae581d7bc5123969f349e13cf95ac7bb66cddcfad742c7ae3060e7d6dcee46ba5e7bc35d8305d62062e9fe314ab11e2db04cd9be058ed258e51fd5de0083b7f7fd1af9b8e03e00af7931c48b4d546fd717976f6a2f5cba77b2bdcadfe3373f334a59047ec292e25d21ee3943eaae0abedb582372878d4786622f54ff7ca294eddbc1e766e30333abd1e7c7c278c24aafe34e49d9883dbd681c8ae95c1802531501eb12308e42da853d72e13193e1ebc7ed6767b65c0384dd93522d0ea5f064e96c96e9bce1867d622e7938d0e1e0d7915bba4202ad3b1cb8e8eef905390e4605064c9c5cb1685d4c0ad5cbbdc8de41d3718d43140bc58cac13fb16d865a0d08f40ea1717a8de3ae8223797995032ef1384c7ff47a8b42af47446c9a75c09f2fe5d29cea54925d1b40e30a17d11f1414a4508e370eb026f4817d5d0ee0b9691ccde38bae0977f2a4711299e0a98152b13d8d40defc2ad6d09a263d8cf601d73eadc8ae6fde9ba8a774efefc4ff47d6a96448132d2e5231534db5b254fe8cbf2fc51e8ee0fef7da4b050e6c6d29f5cc33c0a0b2aa86a4254bca855abd4070a895120cb8d83c94a46a7328561e3e2ac7d0d7e8a85209ad5c48d2d26100ad4cf8872fc32c05956afea6898382414e70e49608f1f39c27810538c5015006d324141d3f632bad45c5cfb162eba82b51e412267c82913b568ff95bc5d56f57f31fca6c871a575ee9a77710f3e6ed7af2a30d334747a7011fa8d298b5ea0df8b2c5d4eb318ae16328e59f524262008ce81a50df2613fbf15e32fe51e9b7fdd7b942247556c6bfcd9f7d940e02a2f3bd3530231225b28f63b42c61efc17487bd55b97bb74d117e0283871204ff6d98ec247ef85e75813c260732c4e59acba28134f92e870c07f76e0b8dce4689ad3441e6acfc7e8e326f559e02a193e1631cb6fc8e373f2375d1e2edf94778a7c231fd6968550dc20ae52f1156fd31850638228fdc524a908c29d85e46d2721401aa73200ae27174d82e7b12c445c491ea878e68c2383c336c976a801254c23093e6b8c8f883a6348512801164527980f6b6a095e9017ffa0e4d30ed74f380a778c73baa41856c8f77bda2bb9247bdfb2d68ede3db0f00eebafe689a87575a4234ed00404d2e53d300b321738353dc9a2c038c32b5291e778ef1349957c08db213f170e430fba8096b7037fbdf45ba4c238ba27c161730d9b8ebf932906239b929bb77c28a8fce175cf66f57e2ede3826535a9df303d4f4cda75c4196a66f0e25089204a2034631dd334d0e0c8b57438f68b22f7f2cb506b44095761b461547ba8976217dbcfaaa3eeee01f6ec19677afe94b3793ee22266e2881ed83fb645e8141f62065281e343f792d03c46b45e4a95ae53ee8ef0f85b2f6d3721ca58c64795474eb2e9e3e61beeb142f11d3b98fed54c6e34f61fc5dc060f569957d4f22777ff13725d391874474063ae789b6971f37049164fca886111e4431e626b3bea54b3319b431843085ed52a0a97ed82424d7ef639fdd4e0147ae6acfd99190d64c8f9fdcdef10a4359d65e9c76bb8ebc8128ed3dbf75b7e4956f775140e6505ef702f072dc9e2138f824c3ff1074af1e7eb49c55d8649c87519f2463597e862b4230c51d62857f40a5076d19856aaca8414ad34561ee9de1c24459284060940053d96613005a6248122a685363e7b3f1b265181362666025930c075b6af969335596cebe021d5d4ad836354c33c655cbf7dfdc2498c16a3266087a7aae0f30e482fcf1e2dcdf5cb2af34127494d642e32d794d4c8d7d3805be71d3cc0835dfc3960556332a5d5cc5b1c3c370ff5f420648ec26d8b51240e249d62e655d5c80b9da2eb48c89fa58a26b91084e010ea04dca79af0501817c98c16e518834ee51632e613b55b83e5bae886774afc2d0a5b8c45c4f00e2745fdba271d32fe380bec95a112165dece46a73c81af3502ec5264d18e3b9862cd9d731ec20159ca1a24ca6c7d8c97cee5414cdd1cc41b9d4d81225c59629d175655a20e910d377177326d539fdd391b36b4d68d2a4fa33013cd0f94f56a4a3e41b001ef9707dc918ca7d461a96858677282252f443908b89551be8696f7d972c86a1421aa1699c5abac06eca6ae834965063781577679448005d78a9a200327e665bd2d4eb3cc0d62772f58296ed59aafa2fe54f93e98e76034b558961d87d3ce14d33a2af211ce57fbebcd44ccca5082bc10c456af72c17dff04ff3aea4b7fe784ec931c8cffb080c6fd3c7f6ec0fab1cd6b438a851e9d42d509a9bca115e7eaf770167792c418d4709eec429a1a7162195fe79a1a7acc3b5b8ce0421c080fb7eabb1432ea16931c11988719aad12731b891f6a6c6ac44872232774c94b036b982c9e29b3a0cdd8501a30a18a85367a83bf6ac0229d44f2ec9de61bba1b37a33c73b6575616e47428c4ada1054a17e17fbca939d79bc5d26037eb4df0ef0bb8edf627f93d2a48828586ca47b4b75114ca20f265026093ac45c34b9fef061a66ef1bf4d78e2f1486c33f4a2c851c0d75e117b5fbd86c69a1b5dcbdedb70cc845423da210eafc4c7b79712c9f4f2fe1ba16c10c36f3d0bdbffc7e0b270a82cf90d0bc3673cbdddb7ecf00dd24d4335a5cf31301646d83b29a8865044e1497868b7ead444849de6b7c706371a83dcb0ffc97465f65755068fecff4a29045db08e56d0f87d4f8746555ea83a8245d811214d316fb62f1f87b4ba650e0fdd5b2ab35f3ff91361caae371b4acf4426b70e54bee758db521ff70fbc80aed44e6e30e6b1ed001a271a32d123dcdaab39b062165437c91157c5a4413d84c4397def27b2d9ce80e3e8335fb9ddb745e1b266d6e49e854784d8d9a0745cab689ce59fd3ec5b5323816599c7de07e923e53c9e651a16dc43fbe95be9bb98a26d697b5a3992067f07a5d71911606a5c4fc33157d263f16a214ca0654caf5bf1a6bd6e13419bd5a9a6ae145767399ccc9431959e058fbc2169c8d334a09815dc27a224f52288ab7d87670a00fd9f82bec5bf8a27b5d2673129f491cec8eff94c74c73948b90dfee2a25f133019e4eec05a1f55987e682bc954dee6bfcbc61a8d0e2eead3a61b60229e6e8154ce0f491c699cee48ba542dedcbc06623b4629a4434980dc9cee7f68bc71dc91fec54e4553b13dcb9a0630f0d09dbfd25e4b2702c66748645e27738bcddf61cf80dc64ab07d247343f1253de6e6856d6ad42822b1de2acbab6dcd3d853f7b08ad810aecee0a2b158820f89546b8ee1e5b2d719808c2ca37799c0340e094b3daa6b70e5602cc0b4273a6adbef3654698476f5d7fa7a91714c5469765317d2624ad0cde2ec029a84379b504b18bfdd16320ebe062f9a8784f860ad37a53d0cfafc92db6d7408b66bdbc2cd162abac599d61c08c53975561821617a0a1fec7445b7d49f935f36f0910e3aca63b47f4583e5158a131575c9fb72416b1cbf0b88af2e6b39b0207e0ab5138276e01325eca30a5fa376020e5c5e202f262546782853aa7518416ec677bcc1b6aae34bc662ed802c0b678e7d9899852419b8095f35af3966b17c09c0f6ff3e0a90908f90809de2b98f6d4fb81665a2b4fc2add8409329cbcf22d1996e8ba854045e6bf6e9703b9110f4aaaa6c0f190c8bc5aa696abbfe19e09bb3204df39a7b5cfe6f27be1319c22e39bd35ef67e8c642ead9920cf6874b4129da38b9ab31fd31d35c325801a1f19c71a2a3aa1da9aee7f2d44363e5483c754a86db72a654b982715d33dbda74be4e3ff00ed7430a08c275ed953312c7fb0af0d6a7da956eeb3a419028cea2563d112a726078b40791db16b509a313d5a528bf6885ca5ef7d37db87e275b85d426b2a8e60d100b7f86148c52a6c71c9489f01e0c26095232c66620574c1a3a16d20860c3ea969fc8d9231a8748b900efed6449513b5edc52abfdd7f4af8b790d70e35fd7138dbff4658cc4d6b70dda337b39c4dd3fb95a464534a52dd439f1847aa0d69d91087700008e5ea280977c0c982ca5d8a41ef32c51d95d388a0d890eabacd000d762b2f33339645c5d34183d07cb836aa4150a5473aec1f2da534caac8f5eddf1e0c764a10a9af32129f878ef28e4c998deecaf9806ae291434e57685d9c2c2746cb1fb9dfb341d7ec23428e3449c85b0c7116b7d5702af3d7a528430484bca71a8d4d6e2b50e79f9bf686084369aa029cb90c3bb2b6ca302c6200933d475e8f93c21a8f32d3e55b5c7de79323c4ea4ddc1c4174ecb81d82447b595799223997b819547d7582c3e1511ae89f6ab1045d8cb6cc78c99440afc628c070cb4a9095b02f786e16d22715b47b939b880e16802c2f2a24ddea45c72ab11aae0cbe7c1f303079f40809569e4c37e58054bda0ade88ab24f7c8032814d34cb2fe21783b2c8c9383626cc1d1461390808a78204f7348bd12d2f669b5fe40c9a125696dd55cbf3130299683c91ac87326e9388dd567750fc85d69212b6166c478adc04d483c06274e50202bae7c638e11685e98c506255ac993117dd1c09ece8ffecf313a0fe7e5ba5c1779b9c06ef98ee3f020c4235f2e57524e5bad82b090c32a210e20c36c82e23f94523b08f08928533bfeecc695db156c5973404c8e3ff73aad12e17383eae136881e9b544a3716d8d99f68d0171887ec61f108a7fd4446c518414fc7924a90bff55c7a44ddfd5e228bc2457625721948227648db0f4a378b76dac059fcd7ccc851a376e4ea1ddeb6ecdeaf129203069010561607c88b0726ce587ffbaabdfb2f165b7253ff389023247158d23f8dde904f53d6f4e0af24dea253bd5902af294e4e59802b31cd90c0c3c258ffd2bc8bf158e08413e51267027bfec33b675657da25abc14a6ed6b3531b9d6123f3c4f9849478ef29f5c00833f9be9d6b328605caf45a6c85fb006c73311ecca1b49f45681f9db847cce1e9f754d3a60a1fdc586c115c6761ae13a062bc4985b1fe84014ea228c61ae2f933aa8c4bfd49550317b91670b2247c72784507749d4dedc7811a91b8dc9d67b7b50f163e98bce08f1229df1c31a2e1a5db5e8d30f49202c4c9754533c50f58239ded281d08b7314a0ae12e44f9656a1633a4ab76366d899b77fdab3c2555abf7b5abd838fe30c053e6efd113861cf204004413661e325fdc5c0e97f029c3b5d925145ac80e5121a548aa4c550c8c01167002a8b4f411360738397de6498c2f8ae84828c78a5a5fecdda2a4861453f6d181bb61f5ca9acbea0d389b3dc4afec8df5b640e7e524e18f096eb8b75ec0539781c7b01d8c71300170e88ae6015bd230a68faccfe2b773c3368502ac4723f6402c78c41d6ef74083f11a2655b02c88390ce0c203913b6478dc7d5a10ba987fee93b4995e02b510c999c59e5e575ca4676f143731e9dba23b5ac260fd16bb0e6df00fd16b57bc47023a70e549617052554d1b98de6ae675aefaf248def585b1ba0fbb751739ebbc8214b98cb262065bb34dcb6be845ef05e8c0ea263658532bc77052371698d0b898d0b8b0cfef6104006389d5107e3888b56b3d96274939d0216d6bdb441211b20991145ad9bd03a0049d048104ac0a2209e188de7e0a655514d1d331ec13fc6ff5b12a4a7eba4bf8a8f5bd49f8585d7dcc18767f848fdabe2f021b351a11bf1f1247906b9c6306b5ba05603d7b501c2d6a8f19d6e97fe2087a75fa9e08acd3103fc5af3965d512877fabf8e21f5961d7c75c5212d7a25468d49f26278a3f178439ec71f7107d3a84096c4e2e5173e6597b5843b6d61b2b3059210d5beb2874dde297dacbebd2b628675d49171a35135d5e5e85467e1ab6c52b0cabb0aaae762a8aabb67065d959ad3756a0d78a7b649b431b76fd19dab05915855a4c63515d6466db17f1c0aed9dbcb29a611453eb0e957cbbd6eb20992173b5c99389d52291335357b65225c49956ab569c521784a22a1d0aaa691bcd8a16c7988813d9aac483e5b7a89c65bdc9a95244076ca4be6b3c8a72f79cbc5b14d4c30b0629f3ea74f583e8be8b9d6fab47216b6a5d2eb429e45f4fc65ff7ad9163bf50ad5a85ea9db6e2b5996b5f44caf5ce98d2dfd667f338ee59734a03e7d07686f1f8554716951396fa1716e3fe33058b1b2566a097e964bf2625f9e51d20c6f4031552845415568ad55855a6bad0acdb22ccb54e8bdf7deab4231c61863ac928955a6cab45ab486d6bc5ea9d43ccd9354a110deb0c78d82f360a05cd69296f1955b72a2b774a94bb85ca2902ad4565e59b524bfb26a697e65516df7fac21ac26e6bd8d927a594f2c31ae407e6cc31e7a414080e1f74e450062b97cc3b3db0579b3bcccc39694dd9586bb3bbc36a0715c658db7670b5388ecb1d8ed30e30adb5e7693862368e9a7c238730c8019343851c332ca072ce150ac7903927a53864ea4aa68795470e53ab9c958ab54aad5ad0eb8b07e2020c2bc4e0861c1ab21438d0816ddb405de2e090c1ea04370082430dfab89f06571f7fcf70833eeedfe1e9e3ef203a98c1eb870e3cd041888bc5d9a1850e30115a9d7eaad6981665a56c6e64b536cbeec5d9bd186b1ad6b46de3b82c5d52a54d4ddb382ee7aed3b9ebb4f66aba4ebf5aa710c0948ad6509a178d79b95429566a9e268d36354dab36d3f8b7b597e2f8325bc73db3614ecff60d5f200f20c32c519f7e980ac354b8d3c39b2d4c853628096c2bee32b781a0ce24a6d397a158e855332d92119d44282d8a11c18460610aac611203ca8039a056855c219e104fc806a1580ff150129f0fd9207483108f0826f40af168d527bc1975354c855c2157c8b5c1c019204dcd2ea8026dc0d4056f401b604dc8a581e8d8ad0167c019300638a3833394c4e7c118e00be00c6803a40167ee05855de86541997a6b6a6a6a6a401950069401654019500694a17a47af6aa661baa55dfaa579340b94e160703344a8d1393a47e3a077bacea1243eaf71d039e81cadd23c7aa573eebdf75e116a42208d566920baa55f9a47af748e26e9328d42aa68554519408ba4555504ad555aa5555aa5555a453918ee54b31757c3c570322f8e869be1505a756fdc9dd716db62db0f3898bec52889cf6f3fd880b0c5b819eeb4c55e2fd106e36070311c0d37c39db6d806db60afd7ebf57abd4c3abdba1a855411a146849a0d46da60afd7ebf57ad5d7bd1b6c836db00db6c136d806a3a9542a95ba36ae4dcd4e97756feecdb9a90d3680580830b253cd9d7167dc125c1bfdde125c13dc1937e7dadc1922045dce2e22ca3e6a7d380c202e6a1e1265e7faae281948a45bafac8ae24223025af4f4ab0e2511011466117df49fa75f75eca75f73c812fb6975814f45d183e2ed9fd1eb911e893828669f5188beed229100e3eb5028d6d04752d247941d1469d7528eb041e047945d04fa0c06d0c59e7ecdb9ae6abdae2a0ae534d632758b95e7a6ae72cd2df6585dd9b6fdfbdc69131ff86951d3b4ced3bcfe145d1857d80d8bd952b3909091144652184941b3b1697afe48a6028c40b16d06a024fa74a64cfbb7b5a70925654eba32e7526a6651bd8ada4da75251122329875451e43679b9e69477d3f4948a626f6eec8d15b21f50619d657ec7515015fbf6a6a27434b544bf46b34985dd4da74f72e3b2bcdbc01e49a376d3e9d8d1dab5b61f5fcbd6f977f371f6fd20c8f77f9a107bf6fda3d6f7875a6e71f6efe97761ffa636f17dad9efd8a1602d3e54b207bccb06f5551bc4eb648485cece9659f529f9f3a7d6c4f5d0ea0ab78c696bb0b7bf6585bb1cc5e8dc236ae94d2b0676bf614863d3b16c6c2207c180b6d60c89021432c00eb1565635138d030220c62c48830a44118f6407fdcdcec98a1efb8a18f3f8202019342d576b0e042ee9089993b5ec21dda91ea5c97383b50d0c7fd57a645a673ce29e79c72cefab6e291d31ec38ec31195eac4ac0f26111a09424b3221207cd2c57ffffee786ed4546b07d40c40f3a3ce091e1059be54227081d95cecdd46151193af60f3b86ad53c305089d541f7f041074f0e808a20383a32366adcd321d193a335da7c60fb2a429a841070e383a78e8c0316dcf7aa61d96b7cf2c7b5a44b5999d2b94ea9065082c9b106f305c99bb4ca15a0562b3efc41bd65a2bd75b1aaf2a1c8363a6de585a6f55d78b6bd1967a6d0f64d8201e119b1c45ecd820166ab0b708562b38810bf6a84b1c1e7ce480871df4edb242e5c00baa0304294c1d342ea40f0147070a74c8e8e38fa041858d18516ba53e6a9d94d2ea8366610f9c9db3779738397672d4d072d0c8916373dcc8b173cca460738400c79017732583fabac459c166721fb70f7c102133c40b24186208152d73e99ab653630062e72132f68a86c726c1f60177898343080f78d83736b659c1c62a1abb055b878da3c6050e15b8608749bf95ec69e52527eccf5fb13fbdb1a5cb4f407df953c648d616ce210d3ba4617730b45469f6e50ff561b13a9d1de75052cfc429b30c636f6ce9584549f42b567558b73fd6d587cae1434d94aa535794140e815539788575ac1dd1d01c20fddeaba5f8f2685137bcb1b5bf9f4bf2b36c242ff6c661f47b1fa6dfef2e372f47e9e56aad97b3d6dacb6559966597bbf7de7b2f8769aa8cab756d680dec7593ca50f3a40a73eee53e7315068ef39213dbe35fd938aba750a9f109db638e65b7292caad39955906508a38908111b0216d5a924717f2fbff75e1122f6032caab3dcdfc48cebcea22a4a682412a2f91f76ed445048848ffbfb11aad32b55b258523fd7177d4b2ccca4168189d4d1a75011110404e4a2a48fc5595445a1b296f6b700b95ab54447a0202489447fa45180829025fa9f0fb2546b87f7e8f3a0b7a3cf99c88380ecac8078f8371abd5e018df857514c1591f7538bc04a1a605ff40eb02fe2de7ee50e107de62bf28bc60cfb023dd3db3b7c1f83f497629304fc57af6857f6126c13b38f97bdd66953ebf46b1b1f4b3db3840a6bc7c9f9fcfc186b9f3149d5273da1e7a798bc64fbef3117abe999f6f8adedfabb1f49aafe7112173b857ebc45ed3b8cf5099d4e1fb958cfde2bf5cc12dde72fc1fe6a13f9e4d4b9ecde9bf54de3a59e4902e69a976be84596524a295d405a3736522e333228971a1928975336a7cd2ebe78d3b63c27973bdd49ed7d9d7ccffb3ef95b4a3ae3c6cd2a87dac084bc6ce8ac6e6cb4766e6ca4e4535ae55bb9ea725a5aabb559766d762fc69ab6616ddb382ee78ecb5da7b5e77ddafbbebd41f0333f200388a4488e9084ba1c91462253863c69add6da2ccbb27befbd18638c6b4c9561b5280dad71bda64dcac4088caa92234cb1ca5a67a6536f707cdc20a134383e74a057383b31754a9bbdd0698c3e865a1a6aa4855047848667dbb0b92e717a10e1a347107cb478c9f993611064d8e8b3aaea8d5a23a35a9b65f7e2ec5e8c356dc39ab66d1c97bb8de372ee3acd75b9ebb4f6bc8ff25497538da930204f9fd45523a74fcaa23a345583dac4fa9c9486ced0530c766387e502a2ba713361a60c9a693363c64c181d9e3e254c084b673529add5da496bb536b3d9bd186b1ad6b68de33297bb4e6bcfd3def7ed0d7e40a19048341a899880440830a1df4751acacb2661ee524581adb516dc2fb9ced48c247ee7566f136c7796f3ded89630bed937e9607d81287c74cb70fe201d3ed7739e6733cc43af7223c3dec74fba0cf1977532f80766f472680446ff9187a8d6f4a62e1de7bee35f876ae70afed6beee52be0fbfd2994011e277efef3de83e04f7d82e5255b7f7eef41b164f312b8cf9f9f7bf03397ff729ec7bfe738cbf79bb38888561cbd8f6b2ef2f26db51c1fb9e52a6aefde7baa4de81ec42df79913454b495cc7fd3661d49f7f54517bc7c70b74fb5ecf9a8fdeaba89d1b79b5dcd66e2d10dbda9c9cedbd4aa27fea12403eb6f071c7780f8add67efad397762e3266c3d7f0ab53f9febc146e7de7a9e7ecf1327303bf8549fa01cc75900d63fffe1a2f67ee707c5fd9ea83f8eb9d1fb5c44b7f6b318ded8f6478beade4f5d82f7fa53eac63d8bcc47169d7bf9dd77b36fa3045c9d02f2b54deb04669f6f693e2059d2193c66a094d60aea128787ebde7b31e6c1e25184f7821523a424560c2c1bbeefdb9ba5c3a88794c4ea197d5a98624849a3d1682422c262595197383ed418d138907c3d946c414c48bac4f141070000510118892180b0879434c59092a6d883c74848a25390476026a8c9d9c9115a7d3431e9407980d9e9965de2ec58bdc063460b2333a810b2607f7078b85a18c180c7101e45c0845e8062c47c4ab0021803ccb621039f0e2e3c96cb05cdeae940d70207f20858e06a7460c341035a0f2c601f82b8b83ee8e085ac076a03b6478c1895f758814c8f1c34d083070aa707909e7589d383062429d854880aebf9a3b54fae05d9a33d5558c7231851614485111546a23cc5978b648015b55d722de60e123d7d5096103db5a9251a8a80c8d30f3fa3b7f988a30f89b78b8cde7b70048e3e8fc011cf401d6c836d6c1fd596feb0ea4794720411904b4aa2a2aaa3e608274a42f6fba617138a92f8b2d42772af197721dbe7e4186b311378729357d71ed647bac409b2d3f3ec465ed82cf3b3de45274a2204b32f425112424231910b25613ff4a224b47f184ab25a4cb71aaadb1f7161675b33f2c3f67ee4873d6a36dd76b0308792ec8a926ca89223d81fb961ff1612ebb68b09e9f6b718be28c9763f76b0d08b92ec8fdcecabd3ed6b710c8574fb9d0edde95603c2d3ad906ead8c9a8a4255ec0a9e52b794ca71146ad72e3f596a2d8dc9abb3d9a0b5d60403b4168326189b591004dfe402da8f359d4c3020f829f463c10fefc7e0fc3ad38be9c5f412da6fde5890981fb1fdcdffbef9dffe3ebcf1aba05dfbb29615ddf7255829d67d27301ff83977dde7fbcf89cbf7f9dcecf3e06b1525f420ffe0fd71f03f1faaa50f88f757ea29f5947a4a3df6a31807b5d6fa6599ce5e77a59e524fa77509a6bf14d327305fe7755d09d6fd77e29242bd4e7f2727abcafef3c0f73e508525d5de7d37ce524fa9a7d453ea69d108921384a6e74fd75a6b9679d97bd4f4b26d2d2bbcf9de9b5cb6f728fd3c4ea9e9444d3028d48f7add7c92aa3d3e4ae047b1e3a617d34b3f5d1978f5a4dd9313c6b8654509568a9dc04c294bb052ecc4456adac9c96afbef8f292a8bbe6655ddcbaf73f61ef4b2f779f3cdcb5aec446eb5524fb8690b6735991f3c3f767ed4f821438897566fd5ee9478622c65cb0a16a693c945fe34c19072a3261798c9bd7cf9a309257547d2c2be5f378de32ab6aee1705f980995d5cc84da4c28cc7fc45feda98f2a368eb3a7ade36de3d5f4627aa9da8908215a42a484a811e214c42b081bd8a66ff4e434b597e2b869a755aa517a72e24e4e52455a7dddaa2792565ddb7e772da4a8acefe3e356b7d71be62a6cc7dc7722898b9d798acaea98fbfb95b3bfa9ea2cf5947aaa4db6f7035986307edf34a54ca89eb92eb33058e2efc4fd9b48927577e79cd83b51fb36277e3bdfa6d0cefbf9a6972dcb9e3fe52cf63dec6dd7eb76ceb46585e96472d94c30fac83d8b9ed9ee6dbf4fdfe4324bd8a726988d3e677a9925bcbf9466b45313aadffc7c54b179f439ba00eef212d3c9e462429950dd84fabccffa84aedbffe6e79c3d7e96cbc7b9ddfcfb668f6daa739cb599fdcc721e7e930beeb49865d9cda6a5da72d3a9c67afdda3d86d5983e75fa5b67b1274cd3cb2cb16ddbdf4c9fd0c5fa9885f4fa9da86233bd48a0c5f43249c87e7bd3c99a50a697efb55f00a4773df4d72688192d21ad1bad9996cec9c95bf5ccab3cbdbeaa102c6a71eaf7c44fd3bfc527d93ed74c73ce998a2cddb3e8d8bbdad32fc5b4ec71d0df4fa1de6b17871e83ba0f691ee8e9d5409c857ef7f835cc5b56e01bc33f4f60faa85f05053d8b8eb3fe3bff9eb8f4516ba09f3a638ab90ada2f7efcf45550ce721ff4f8477d72ea9ab4ea988f1a84f5837e626df3ba39a6e025ddcfd7dbf639633ee2c75f825112f3b52fc56609fc1a3f39613caaa0e3c969eb9510e8bfd0dc36fc3af49cc4c5d655843fa4dfd32bf759341e7a7db5ed3f515ffca1f925984d98b5a8d4f0f226296333120000c316000028140e090423611203491684b50714000f66784a5e5a3c990a25718ce228080221638c018800030800400ca22122020157077ae13319597d5466ae9ac4f8c10fa029ee0fd253084bd934d2817af1848469b8e613f9754c4bc6b8c9a2ed00adff28c0e53081fea33bce7afc774926e0e297a743473ae392ad9abf019dfe81a0b21445fe541b355736aa50b5735b89d88907ebd1bc832ed5b8f0480ec48ed1ac38ea2723ddcf542396ea042555ab2c15ba82d65e322144b1b9b2d83579135b1a89b9eb4ea49bd61311373ab532c4cb651d2805bf11feeb4bb3ba24a556a30c762594407dc26648a23e576be91ff3bf21fa3f067be219998518f4c9ec2e8b145a73a1927c8b41c5474cab7746b3421056f93c8349490bab27b39502b04e30f4138b9f9e9a305a39a6301dc7201adec978b0039e540ba163ce778d966bbd6955f4753c7a84c688451d5af65bfa969287ecf684094bc611569c4eabecd1e71bbf1390e70f4284adc0b81e96f9873449fcad6bde18f00150bd923ea4db19c105434a9629dd8a5dce2ec61696a641dbe1420af72865726f7dd8a232cfe8e53f06016e3ba5bfa4e4c0b048dec9b685e94534db795b5c8110b74bf27bb97be881c9464719f8205c6c7bdf23493f1e50b4c2430293806d8ea42564da494ac6cefb02b7869e5eccec3bde6c74e9653636f9a3577af933dbba0fb114266f17ce5cb2b5ba113df75b1af7475ebfd52d83f82d93fcf9d5460fbc067997de1e78fb4a3022c05329e2ff088767683978bc19c2ec9c2b5be78f74cd7f6ec32b80801c785f344a9f547f910916736dc8d6c0c70f0d07dea1b7dcb17b6098172ea8ab2f0e25f0eeabbff35e1b03dea5c2c85f5c491e8934f0c670b9baf2dcc2ace831cf3ce4d78f27a6273bcdc02bc0805e87219b9996badac7e597c8c7c9675294f26c764e4866c3193cee2bcd233fd1c271cd3b89d9b1e5c1e6e3ea5c962c0404b54f2c641f6e4506f6388a1e78d78ec3e177754dec028f51cd21195b8a5d4cc8bd7aba7d62ba464d0d99c647e34c1e22b221ac64e1d0e55310a2598559b77afc0d34ad07ecbe6c97198ea822073852cbccc3960d279f7559175fd06608b37b78a32b7f79b9d02bfbe884ee7898841fa7ec425b9fa2a560d4c3065699ed8a6e1ed9d6ae470792c07d3cda0f3c488ed05fdd0c2d2740218cb87679bfb8a0bb9b50a70432543163468c72a4ddaddee0fcb265f27f00ffe15d12301fb2a052d079929a4df014ebd3783177f3d47c19fc3eeb297a9716dfe1125c42ecf0a1e86a935c32956dfa8c20aeb1391ae8bd9816621a178d9999e083f70b7f2aef06e134b01c4f985b6ec53744ce98ec8ebf971a8f1a7ab5d1c43bcdc7421d43b32c9c9af4081ebc5f468de635c612dfedf4fe0e5ef5ff997ac81c97450f7a7a1734117516a91dbc09ef8459d232d59b1ee776f0c68db32501ed3e514f037e7fb19a8d9b6360e6c56d46d1e3c114eb0115f352d2f875d1266bc1f558179ed9c44380dad5451dd50c5275cd34100d0617a7539f40c80a89f09f4151e960c89d40b046a6433a68b8fdf07e78ee4b57af11bfb5c520fd9b37f383f7231faa1aea2a5af4e11c4b8fabf781e71c7c7877ad963ba15bbd83d90115d2b67a9136ea5b57910e9cd98a79b6ba430fef728f90bf833c2742f16707640d9f5f30831e783c6094026223c74808140ea95b4fd3ce1fbf9abcdfb43c73b61489d2ffb0a055db4c35b6826a652e598783e4e45450d6226aeb066119a46224dcef4f4fd16fc408d0292a81b467c9338b6806af10487313a26b0f4938f1a7c65fb1ef0c4801673757bcc4f7c5cd156ff10988c0b1be23307ec5be152fed7d1fc58f73a73d6b560f952fe6b10df6ad8aa2be8cd71a10d3bc8af77a3accaac63e4688fadcd637bb991243b1c254943cfaad10f386e8e7c8abd392cd54bc613185ca7f9b47c1526bed0119a978d9cb5da0f2f87ab78a3a4e8f22754a6862ac753741e0b7f37d42f394719c3df000ad9f6197358e610b54e146ada42c402ab5a48b770eb6225d3435401242424dbc733306c01da169e8cf9eef87350c19242574284fa7fbcd391526aaa13c2654e1e9748c6addb2420e2a14924cbb49efe3095ab0d1599dbd0027e5e67affc4fa48d570050c8e4139d936375444c20d39e06af64f0ded10a221d8c7320196681a4627cc1adbf1ee00415c042955afc98cc49c62ebc99f97e7464ed4aedab768e04dd0d37fee19783fbafb1d1a7f5e6190db625bcd8b617655249ec3b46444d9ce15345a8c09d6556c1dad4f3fef8301d25fd8966d7fedf617014ca67eeeabebe98243a5361c9659951aad66e993625d61235bb23fc75c9534b7d33a1fd121c652b0db0218b844a46ea5e06f8cb9a854889ae3d81dc937772638b199eb37e443ae85c1c30a5290de148683e27f30ba8ade48303fc38e46d989f47916dc44066a0d51f3119aa563eb84c1988358f472d858569984d3137a292eb3a52f1df9aa0569e25a3845f8a5d5a7934158825e67d952e84e6ce50c6a5c173bba00734368ebc2e30db116afae079a801a900194396ce985fabf67cbb6b5c08b8466bc3d86406ed581297008c4e0e80c7cd6b5a80a5d1db50a8fcbd66578afe3942ad123a7ac84bfb6496ac7620c5cefc8a414bb453424f95584824447f9bc928979974453dc195502d06a6ffbfbdbec607878d71fe45ff6774743a83307a5398a3e6c3b9d988032844e65fe1a25e42b2d76f33fe1c618fe6570d585c7c0ff44012f4afe67b02e93f085a234ef3fa1328b75067ed60a224f6c3c951f775d6259456519949dea44525bc6dcbbff449b3dc3097b29ee34d2b83ccae91b4df55c6509c436f5875ea5e9ea4b699747391bfe61ea8d5c90ee58682e153c39da8a1ecd644b08c1bdce140793cf0106acee6478174fd1a920e5c3c257d390a55340fa6c7f2f02945d16efae21409993c16d9a85241178378092975b56ac3e1e5434e6fb67267aecd2c838dc832e6d3922f42b7e3f1304288ae0c6039f49e9d2f751acf93afb03281f88a5e7ef4c5e49a7f681fb3e9500a5d32ab19d7394b6bddd79c38395c1afb0501815caf36652f84ac473cdfe3907eb86bb787905dab73d55be2e3582f7a344626959648d2c06e600dfaae06699d6824aa2ff1394562320431cae2336fe463e373c4b63a929048fe2734f1d367101058e022450a86a163081284881db629af30708b3d9cba27ca2638820c59e0fe706142205fd05f277ccfd9a18cd79a6dfb8a56867dcb05106bad8d21cee4d352f9e2e4f2a358315a0a35018481e8e579a190420cd2aa0946e7a583a6e7928617aee317cf5a65a7ed658c2bb5610f59789ee8a2dd0030eec229127f697aa1e3f6f4fc8df2294e6d0dba81a02eaec52785d72244ef02a792f740a4b7dd89b146d053874e81c6a0a246f9ab5dd76b8fb3248e1350ca7ce17b20739b4decbe6b1665de9c0e85bbc0ee746b05d5496b3f30e713e5de2adca3717eddfcde14893bdee436a7913456aea5aa46923243cf3c6099deafb85a6c02c03d069ccb84ee6be26e774c67c9454f2260215f6a3c5d81dd8d103aa344ead53b5e0515944ed646f9320a2f393a6468547de24945d4ec3a535054ece51cc9a9af2df107fc6f2d856614497d2596969feee165be99c46b3c30df514eba69ef0f6a23949175f2687862e2d0220b90e0b3e206c0e4ec194f89a53b30ea8d6dfefa58805d2f27834585e0714e62a7508fbc721704821456af60197b0e6c4d2a83bd44b65eb6232c047eb0170d6ae1cd4fd109d16d1f723883461ab010b11bf3c6c344d006cc17bd1c8806fcfd0e8c230b8d58899e9629a3dc7db3049ef5cf522c6d676581b0944ef60c3e8d1a4c6a928bdfc600b72c1958921fe8f612306dcb72a8375ec447ec8430c71d83ea21c8d8aa9c49a5d78f2067b173089ee7b6763910088a4e2acd03961f39433bbcd4601a0afd736990b02542d2bf6c3cae617f298da76d063eecc1fc9f278e0b7b31089fd157a5c6c96eb41001dd7c9bb1979752c98524534d873891e56eeea7c4633fa9721856f1a5b46bc7c272f101d3e49db2df5fda9558a6a139b996d355afb0c14e798c03dc3d966ba7be0b9ce8ee83a90e4c9a73470df2f8a048a8c538d4e158142166842d70d4d3eb27019beb4e12b2f84a10e19413c265a01c8de6fd291b873dac345293ca74f00e171fba5250037716a13fcb15a2a847542b0b325e028a6901786de9768a8e1cb4368f6b8bf68fcc86f11440d786d85466a66bcb6f4b91f83f3f10dd3cd82d9d4f31ed9b45c334c43dc8b23c95a0c6c63d6ad54bebc1b42151ecb83bfa820f2d5b21ff4d114840cf1ff8b90572f60a8ca6778db9070cbd4db42912b011e1db21accb9360b287971b5700281edf8fd2ac8e9105f9710d46bd5c4b9878e7e15d8f7a94f57640012569b6cb65eef6389a78fecd122e4a219b312df12421e19706d9b2a74a6e7047b1d13ac4b8e082e574e06d97c2b2782d6a61e89c013e25c6d43bf4366c60452438eb348893fd746bb2ffa371a840490dbb8132246b475b01846ef266ffd7b23fe31025a0d3fe6588c318ff9da84239a532bf9b39b5ea5cd91d6003b8c0164f644600fd59cab7bac4bbe9c137a6636775c90eb3a209f6bb4f0ff5c1178c319cdc795e32e5635f520a9966503c4c061a61a495f41b9fcbaaf57b3dbaa9fdc3fc3cdf22165999c1a49046a973d9292abab8ca815ebe76ab9740bd5a59777e5bbb7823e6ae83b89af31daba2e11be4d36ada2f95ec6a40bfab41b7251c65c126f19425712b81aa4c1b6df9ce2bbd43cf12464a2133ee7d5ff154aeb4bbe2adb7a4aea27b49c5a6d9b90704444c416df4d11891d457a23e9c8d3939caaf3c8ef5c4d30331f04d0e94aa4cced89d72d5bc84a99ab2b9491e3c6da5b4a911064a26c1073d713477bb7727a33d7e8d1329707afb7ad6221cc286b9c0ef3fcb5e33eb0e62f5b71882156384f2d4b79bbfd6bc9768c7e2c78ca5bce4e3cd8d6146723a6c0fcddeec1e196f50659f82ef2eaa531a5609ca3399a50b462b359676473fc49bcaed70ea63e17e16e18c954aaf1769991b403ae19ed9db7636e68b89af515c8d2e56f8b9cf056c280f5c678327b8fd5d8a80e0d0900d795c810c8d48729d202d14dba065c5daea65590a9d34073d2de3f270bad0a2e6e7cf1613c40e33b3ad64c975dbb6ceee4026e47806c8f5c9d36da54fb0b0ee3677a090a17ad5944e80a7c092350d6193d10b09078c72307369bff1bf03c1b909afd93d227c4086f8e822f7770a455787884194060d81415a4f647038228a97df8767f0bb29251468222a87e80c8e266426e8d0c6c8dd80f1552a936e9194b8eada7085f62e094f6e128ca34564d3402fe8dd6ce62fbf3c40cfa972f9e340737d5f7f9b5ea80203f48d5eba8de3dbaafaaed66d4f6f53dab59ac952dc6b42113b6cb44a59a2b0a367a9be829f4a8db264a47704eda49c5e4e2091a84fa3d7b3460b3976900ea97aadbfcfcd6b7ab30a6996a786f9540f4e010b046af284d51fe8d78e9cd4709e0dcc77237261474c29900d9b13e64553855adacaa644c1a5451d17f307babcfc65926ab7f37231440d651fef3bf71138cf71cb085090d0ff26374d411630ab4636d9055817fda5a380125395cc817325efd36f6a97ceaf463c9896a87721258e3aa2dc7681f8dd5df62b398fd1f66d06c8088780963aa3f7ba5548b8d99e631d3643acbb822dd14c7faaced6d1e467cbaa89519cc155c51abb5c669862a2a2d7915689641add49e8f629f2983c99af6b6b6a9c0be68083efd11313a34b5db29d8bc97cb85d155da03db55f0b86ac63246d12e0da3b5a7fa453c9306b8c36036ee1a5c3303d40326e649344a1ab14d342c266da6954633d883ec88e231c94a9ddcdb557b90211ad54cc9733b233c763be3260313bcc3cc7185098b06f02ae01d01656d95ecc94788eff0c2e2d493b33999b9cf877be1bdd8e3916443c1f1a9cfaeb9e464df81b8455dc63e33cf4cbd434f5d2ecdf2b66f6b593b113d0ddd093d3623b132a58267d06a0db30d6f02d9ce151d19b247867b150a73e7ec08912be8d434a53b5e4b0ac8e55db559d0afabb9b363f3c4c31f9f1d435e4999a65c80edc02dc5a991675be04fd9d22482140e621271abdf345648c9779217e1bae5ae0f54559234892783e05d1014ff7df5e232375a2804eeb23097f0a534c46c6a10461080d80e053c367e7e59c0f74ce043292ca8f417250ae561891442f206868b830f0d1aabb6edd53d76b3aee1c2c68e9103208a4255c6bddbeb6f7bf719fd2a4424b46abe31f5676c17cd212d5c4c4b11adfda1d89dfd31b3a0d9030e119551a731a8ba403468545a9d19005fd253cc881e6c3dcada3eb21ee3c2d435d9e1135ed1ad9928f7261ac07e353f8d7e9f453923ad288db2e1e1db67215a788ce610499f20336a6601d66f397bd504d96a222c4fc46ccd2ec0fe05bf0fdd59a6053d52e90070fcb00707bcd4ee6ed1f3a47061e67d8eefcf0530b9cde4b4638b126fe452513caf140b23acd81452750f01a2b29fa865c55f72b7d8f1a2880e3915d517ab3337e6201a0d084208dd71eb20465c4a941ffa2b34082631683d93de6250c08fbe288117bd98d0702da18a1452b758d1d06a4bb16e9923024fe2fe50fbade64c04287659b4f94fa6718e81704bf7bacade6becaf1dae2d87f2b281c551e20221418462e5c89525acc3d4cbc42b37fe4338a48bde02852a5211c416c0a8065625fdf9b90d1184efe82a182f9cdefdc2c4708041ec6017d1ed9571c69876dd4f05413839394160c5cffe9c5ebb175389507ad0798521649cc11bc01935ca3a683b06c70676249d8847b49e97ebc7820e8818bcd36233e46f45c1be2987f5d5d3d4648ccef5f6f999d7688f62978613720a5555e9c540d54e74fff1d1469331131a18e2896396a5888a770db629ca2bde2c916fa0b9461ef67722df20ca66ee276b8ab9c8b8d7d3acfceb492896fd14678dbd7a0f2637246e36b9d80e7b692f98464027c5c23c9f15cfde36d0ca04c9cf09622621ad0180b1cdbb588c46d01ecf5ede07e847cbd810cdb3e62e53e2ea604f4845faa1ae98f1ab605dfcff5ecd44f5e41e2e29c88462388478967d82e57f7da316bc0022fdaaa450445e0469707a55d3a456a1217dbac07adbee5e519cf2ee5fef59142878894480d4ce85c1045f24027f0fb692dc2c8532e1c8bc186bc4dc1fa3caaf856f204a2c8131083626aa223593edbc727460c314fe40297e2752486ea4083b3c0168e7112dde2945ad04ebd2f83b85fb37362f6ef9db226ce4b372c148fefa30ef7511d6f531044a80f79a8865ae245ac5d6f28557c0ec6cc1527b5cc0e758e88cb44324351a4ac115bbe568e35e759542a8f10b1bf7119c08956d6825ad4e4b1e9566fa3418726ce562acdb64d7e6e11f98ffd696912260793f9cf6b2192822624056bc591be8bbb1a7b959a70d91060e2d1ef810c435567f4b6b9995ff23b1141be89b053e9905229a212ce2467b4cdaba3193ba493640c3aa6bdc57fe1d55c0ce58692818635e0bd9c254a186872d0c43fb5365a4243879956e9d59c43c5cc416a9c28c2e36980ce147b5414be9142b6c9d558c7b5a68ad4d71a10bf8211fbeab003bb16896d28ca0ad0b8d118892a10fdf78955ce5e3f38769fcb72b6a7a6e1fadec91c1126d60440eda47aa69c8138f92cad7ac838552ecc481bcf9f8415b0c78616e2337b054f6754458a71822eac3936d2b1e1abe58b3bcbe4ed362017db0a00066f8b3a51fbd8c7ff03ef39036203dfe9bd693115ed9492958c921b85c4f7700bdee00f89a1d9000aeef6b0f5decf93703f86f4721fedb7a12b6366c1aeb7cfb21f434367604dce1d44718ccf1ef46c07e20dd958a1bd68039de1d8fe5c1d3717d50e5dd7f49fb139d1b3e22734eb3fc5b9c9da0d203d9e0ba48a2ccb3df2b4b81cd3c66c21ef78836b0211e82f7cec26e9744b331c502ee71abc03e782bb033671a72e407922301c8df075210a3674212fd40a938f428a8e09a824159daac57b12864eca27072f4e9a809707ebf88caf6fe1d74d9f8b455ec293403270a3f7d968b5bf079df18bbe640b574b74ddc36f3e1f20c508be98e082172314c8075c6631509ebd3d8ca60989e92489f154dd2e5a68fcee43ddc08da63ecfc23940ceed5950534bf0c12dbe026551eec8368920d27bc5370724d1f1d153af16f3d1f5ecb8c500d15cf106e141f810dc9a33ad502bc4ff36ee36a76c0b5811cd55c8b26aaa92516fb92f4488bd89866bb8318ec2ed243d83c8da39ee652f6282ba23a4b63eac5e1a1b76915656e1164027f086d09ddac4f9817b4ff625548373578c9b567c98391f5f8b7855c3fed521034c240e4bc14a17e0c711536a3cabc0bc5075d03e99da5fb05949606461518b423f3d04de7013dee24292ad017e31f165b2dbd9ca009122192f9ed09c2ba6081543e455210290db8d57540b11a6ce320d8aa13a7ccf173328395124241177b2e56aaa7361a2fe7ece661d0b0ca797146177fc02cbade4e032f6f9229f14289836d93d2380fcc9da099f696255c22ac85085d36431990e77d572d039b19899259ede3c11ce38040bfda0a765d95c65cb28b926bebbe70ff25232e55693a6d7e0b07eed09dbcbacba4c0cbb67222bd2a496a19b054c8517deca5140d9553449e4b5f4d45c7d47dd6d076038ae20be19f96244fa121aa2a90b06a3a0cd3ec0eef6405c73a2a4f56429a152323cf51c6914d0d04fa377b0a57d11f0a20889a18dea4b5aacc18bd34417da442bac5ad55bc63e2963413443685fe03b5f4eed0cada87965effe12ee9c2d4634b779904f0ebef2731da9711f04b5adc9cce723464f50a39875ec4492b3934ebf7d560f4c6f4f5ca3c525dfe1f0c0e30ca6f6c04965c7bda94448532bb1d477cf2d0292e70708e34f903f770cb4ca2d060d11805c070ddd62c1cb81be033d8ad8f6ca881324b0539b58972bf98c4866bcbb18efe11039036b2203fb03b46ff4cf849b42313c116a30437c9ede0169b606e532de94804d5cc8c4aac7055d696a2f30abc15f16516dbb8f33fe51493060f0ec68b2630cd22cb6c14c43ce87955db14bbb39543b36c4bf93ccaf56de1960c42f4a8ee141843e320011c156596bb78ab45cca73d481e02cba581273857f17eed2525834307188d7942b8b574e990629cb2c7e8ec42167278e4b8c52d65e11744f154087d75c241e04c42d600e4a216bc679144820dc80d3e64d9130c7723cafdceb00da8c345dc1b5704205cf167b87bf275759b21812bbd78adc0e4f013bfa181dbf8679ca8f8f89b9d68d025da41bb0774d09964928162dc9ed06f2745ac9e143669bef543f02cc1eefa160cfc78001a1a6b4d886925d43fcf1684c33ec0f41fafa8e886c064ddb251e47fd6ab009e2afd58f10d581254e0e8b9d88f904e3940d9b1c6e84c2c91eb755e52dc78f6e630b41214b1144bf92c0add1976344812c63b68440a4ace1516882f5e9211e141a432eec279481a4ae83a2231abd8c9bcc5f4123bd1f6a10a7b88ca1d1fccca81b64285f419ea10adf1bedc1643f0217d7864535a50b64fa843b46cc112d49c7461690c5933b9cf4fdb2507f250fa019d830cfd2894ba200f1dd8d99895f133ea50d36e92a9e82c6f066f26b321be463960fc1b387e798694b2021f0ff27acfd3b25ea290f311c4d4fa1c7b30ba1752336b581996a9d42f1cf9e2a6e96ed3768637a5fd9d94bbacd5dc4a4b8ab62518a360c6ec91415473198a541e905f55b39036c7d5c5628700f6f385391942c73e2a600fdd79dd6bfd73873e3276235ca671a288a1d3d2c3f9c65bf91867c6bc1f4565b7370358090b075f5246199401e3794c7b5c13e99f180b4f686ceee15ab63486713b78e5560643e6a279bdaa4ab177fbe4168701fb1e9fd6c7510278dc8dab1e902815ec19cd18e492d962b67773e14434f093efadaf2c7b17c408b4870a563227c78072074981aac105528da31cfeccaba2d6d09cd55b28a0644b350c94a37fe2bdedcecacfafdd2c79763ae91fee701285f7522ce56dc36c78f738c576f9b7696eaa57427077807ec71e5e72a7c63a82678abfd9b85a26175a34f052946b850a9cf5ae361eccb8d30471444d7fae48aa5d1e5a9823688beccf15edb0bcc04bda5d56c6d76d5a3259af725687d9426fefa3d1b41c6e3b6436eeb4ce66f480a3a1f99b9d37dc5983b72a0d78add97f50e26b56bee931687761c6a2850ef94265ceb488de4cbd4b3cdced08e7fea6239c38b92787cf35ccf64e1f68c468f0932c401f300f81d5f1ef9353a2734709b0d9fcc6128165c200e57e4b9d2b1ea32e0780c1b5069035ee0e1e9ca3e1ab1e8e8147920b34a864614bb1d1b99a63801ee015ad88b28885581d53b6a42f439dd87316a8e75cada2f40441270f6866cce5382f6fcb7058ae14ef83225f3111d2bcb0e36a4ecf7a030ad75fae01050005bec76b6c2555ee595e1bae492d74d04c76fb467339fe8db78ca32295a9aa42333ad53768abdc12bba9c832e0ee08a6c23d457f064e9cef9ed271514cae12119449fc4005181672fabb281852c2806bee2cd48854d4e6d01a30b07444cf639458444844a6ba3b280337986ea77472219f12d5aef01a0a2c32e327c93b066300fc44286ab8a86e97fbf3335c108289e0ff39fbd917cebbd47464a694074a8695fefbb8046fca16d88d58efc9f9b1574a177a6d88d6f2633e28bcd1e58491a4b1cc4042be50e88ee216dc7dbd4205ead9f1c5022ffe93afe03174fb07ebb0b0e598e9ddd381af0b9710057bf4bec385d7953201f647456c843f281d1e6a052705fe3142445d0609a1c189ff0726b54ee05686bb6b225d1cbdc1cc4ef9a6825dff0ffe50aba19ebcd86a08a5bcb17787f9fde7d7091e60feeb784f35542f95ffe791d002bb9a2a6bca116810dd313b99f6a1a93829940fc5b565981881f7804f4721c3ee4df4762e85866d14e5faf575e339145752c10b2d4710bf4ec31d29a3a6f428b3c08b1ba8d3cfaf33296ce19427c8bbf63fc302c16b72607612f4148497f49cbb59d716a57366eefc077fb1b17617e07d70623d869fac33d3319005b82262682bc83b37605dee20f09af51be0a70c21a016d32487d3efcf2e98ebc8b78190aa7487ce0f3ae0cc502c728344a1e0f149c79c8dda0d4db63dca769f434595f220018dda250ee10ecafebf58d04c60cc0e04b546ce037d129b5465b98c66af45f689de93343be45ce1bb0fce1a065e4edac021d0c5c38d54c2f5b5fa269df405c628f71afd32836cbd4ab94b47dbc27fe4dee642e79fd2d92369853c8c8a811df5aa5ce366aa5d06ee81f1909c95fe6f5cb86b7cfe3f3578c19947cf8a1dfb070dea391b895ea73860662d29e5753d60af0bb2feb55066c70375215b1b80b68fe88f5a0c658f93d881aae7198066e62612bfa74dc144c80cfc538f195127107191ce3440ac54c99b6622d82d26dead5da8d8c1e1352b35a500e7b415b50a046f383de0f4e906ee7fee7de0b264d2b5be920fdb5130a0d0312184f463536a4f45133cb3223375d15b4819fd287a7710a1d6140a589111e3f485d8345d7c263fd206323f6354fde4b3ead39163dd6a989bfa7458dda998a484adfa402a75385462759c85bf0869d150c6044c17dc15fbe692c850651075bd419a62264dc6d8114ed2c739ea69b75acb53a8ee5696e67f307837b1cddd201a76f018494c80bbf230fb9fc7c3fec0de844e726155afdc86e2c781b8fffe2b26acf4dca7e9ae3a3d7e0b57205aa9e3ab9f703fbe73d9baf410afeaeda84fbfddbddcecd225eebe25040fef2a6a16496ebd3d5bbe9e1ce44d26ce90a30ee3604dccda7458e017ee1dfd01acc92fd939af8a22f7a19879f56edbc3fa7e41510bf9cdf3395084c88f6eaca2d38ac2a61e3ef48d73517436d6d28de7f322d6ebfc785955facf66c6fff1fd8d6624310b2d75a0aac78dc87dc997b25e736f00c0a9cdd75487e4b194ec852e08380f6c4ed38d17e0dd5fa453b1922b60ea13e20ad9ceb421c1b242b90a5875af3389d2229515732afd15f18e85a2a3938908402c1e68faab98b6a5cda73795a746e3575af28d4fa8b9204ca5cbb27fa2c583b1de91621cda7cbcd03e5b570dd92f64cb59aaa4db0720c206f48d2fa7949d8c5d3ada8a44e7c5dd5aad5444069b6d1ca1385aca937792c15b5967e2bcc0f82e72ad7e14e3b801d4e79f2d2251212c78125dfdaac7d021721b117aa43ab234e1813d56b0fd3444e0c2c5b3fc40a9e01b3a405085afe32aa10fea07287f99f2a1fcb0f89c8b1728d362c32526b7a687f8919c35a13fc1c826000eeb8a96063bf5ef2e66638fdfa02d59b0db69fbf6ac5e279f9b2a8d4357f9281dae5ab62d8801a748eda0a30470e6a4e39ca437f22b635154a7a393d12bfdd8661c8e84c81cbfe650fc285dbad528448083b1a56e3772be5ccdd53adce1333b014c17fef6ca0f8c54c4c68f311f0ad414a8f4f948dd0b0b3eb192e5640da41296b7edf5597f31d6a0473d8e03ab811e8efc722c828e2a3d044c0512dcdfa685a803d3a867cfef94cdb7e7337bc493060818f580edd72ff03cb07f6e31bccf04f8a29ee5fc421238b657b48e0d26a2da9c440caefa12414b316dc02c4168ad4c8205d84729ea1164613649810bed7b368a7d7d55d0f488448b4190aad6fd2030a525e42e5befabf18369777444b3ceade336af8b8959aa174d398ffa9d1eba45badb9612ce74b3765136fa3eade804fbac5bfa4a78597b9f46427ced22f97a9b704cf665d24a00764d09e22882a1abe179d8961f5da9bf8b3e7aec361b49ab2ba6d1ed0215590506a690075f6140be8456ab12ddd529b7d098162129bd4ecc28d8b7409889b45273be9d668d132416c5a813085aa8fd66498651f8d5f29bb86cdbc31bb783d1ca419be158caa0a160c14094b1cee228e7f155d601245e65a3ec2c131732675c0c0a9e95d020aed27102a63df1809b9223712ccf4a1df554ac1cc414bcd468c388fabe38337910b206202ccaf343705c1b2a30a57e66a356be38aedc0457bfcf9db543923ea61d7418620b8d6a7333e775f4abf3693b46fb402e218d454b38289999757e2a95c6092cafc38ab1f1d5430089c62ff3f35a50a0052c7862aaf34c0285f98a4ba084ddd381e2d597a62e89be09c6f6a928e130cee07b13a409a2302e2c80fc636875f0a5cf150cdf076c0b3e16093cf75d600e4b122065860b98d61d7eb13123c8389b37933438559c5b76abb80ff6bf883a0104fae6587a7b197607ba9b4e729469e99143085b7542ccd6b57bc68039b15d140c55ca5260f39b6ae24dda7151956315d447c26109e8f9bd7c740658d42dcef7d5bc6537a34c5385ea4e13c2c4c3f4fb86efb0cabb15da648f11229ecc2a4a60015bbd6ac85dba02c60d8e0c74117b2c6a00453b02186ebaeade182e469d85b38ac6cdaaf2dc962c481c35e866d472e53dbc45c06241f2131c4072978d162b753ea919b7a8db4ac8389bb952ee993ec28a2955679220fc88831243cceed7e725f16417670f8aa56019b3612da9c712abb2cb73f6c8416b0863b6d3a949ffb0920b6e1bed640fa7313151b53b10af4ebf5972f16e02a821ecb34ad26cd245a005a2b5f9bde7d4263270eaa3ddd8b33784b2485910a28bf32951c9170fc23cbdd51c61a3ddc5fc08afb912eada7023e4bde6d28e0ad354ca39ab88009e8e31e86cb749882bf7edaabbe53451de317d258ab6d5cce0d35e1c4eed9dc2fa1053bd9d1d017e95a473bd2c6c1a720085626362a50d50a629f1906d7752df57ae1d1064154998e19eb40d5bf6111acb929c5f6b10f5379d4f2b36dc6c66ff21b84094084f008ded336121e3afa16e3053abf9687106b2d96ab1dc05a861daf4a5e01eb5c04404f9eb4293be51d90260d126b6746ab934123d62c67012ddab1abc3010aa4754a5058c891514061936b6e804b646212c3334fe876c842df99d0b341476661d4ee7fb55387708abeae396568a5e9ee41c97936a144d11815367cba67175690fd074141d4bf3115b8e05414c80376c58ecdfa73d00ae323f21dfe660ecee9087862adffe91f73eac506824c5d0e74c0f8a0151f2d7835a4cf07000b32d2b8827e847bdea1c28d7f73796d90e00d6d31f7408980fd7eda455dae50d522887f620a829d5c4526b3dbb69f9d3970e412c97055026340ead2d7f49127df0bb534c100632155420b20426f4c07ce9c51569c36b5850a0872ad652c1157d275349bf7581e45cc72bd5e2869c56b278f36771c0097ed2962ee0802c87dd16a84cf475ff1572b85da64f457884752d7168d97f97e524bf40bbaca418b82d106c3059453f05c97827aa92afdc08e4ffba60d8557481fbaaf8c228982b0d1a361c4b9117943a07f8ea304c111c7e1a805a8fc928d702125202a4c5fcd38aa244d0ef4292c9c41661cb5ad9226591de8d062532d18b2b5c3287240257d39d0da96889b2e99e5ed51c9c48c21e6873b1152e4216f8de5f454f09481f1335a960f5d33564f2f471957f9c58be240a4689da3e3b9f183f62165515c56ab0f3cad051140c4edc083793db34d2ac0be12fa08eab4ef6dccc2265630ec72213ea34c939adfa3454dbf4d36274d870c277fea7f69336ae504fe3b9152b0a9a31a5ad2c86ae38d5598b7ad2662025b96e64dc5e23030d7d70def0b9bccc14cca8b00bada89defe6c8121f64e5712a6efc04b9da67e6c18b31c9931c53bea3d053c9cf3e5b3122a4991709ade1087070ae6f2132dc94504230b3970eceb625c6a58a42c9d241952083aaba192294faaeeda549bb81d581fefbfd559aa7b2c2707befcd79fdf816005f36e6e16f50587c811fe84fd12610ed2ce1a8695414566b1373e477457c81589fd7577969a9652a9a10d5dcb4411918b5d159676fd75f89a859ac37fea19a408418fdbec09b787e10d2af7c8d39b8dbfcf02e918803dec1bf293b8e568fd1b16e2ec22dd34e886c9928000e99f0086d9570f20c60937c7b650846d607eff5e300a23fc9c331c9cb14872105b8628339ee99e47742998db5c4f604192036e8765a4b0413cd364816bb280b09b0a7c73c4408b15ae9b125800b92dbe07841e3d561cb4d18d75c7bfe367b5c4cf145f7f18980417287f7bbb54d5174053abd42111c179e730a60f8defa1504ab5189afdfc019d5a8e6f3971fea46c24787bf4294153b0dc204f1258b790c9d6c709609a0a5c866f29724f1bc224767fa3f31fa5b3816c89d9d334339164fe65a9d5dda9a6ca1f6a08146eeea0118a153ba1e69987041a86276768d54761001a018cabc7dce9a9529c342540426bbd79f0eb1f9d441da6e616ec97e99b89c3a71568e491c5e79d69f757883a26f83fb862ee22b49e3d3fd98f9b3b9728ae4abe8315d95ab8fabca0d7e85afa198229ab94b653288b55b2bc60ae12c054bfeb9b561f63d97ee3677db5bef8af2fc8c193add7fe9fae1bc4722e42208886c41140597dfa1e6107540468778805a45d2d3c1b165a85e4beaa1cbb3178a588b5163c8ed4d853b2951f075ee015df6f9be9b7de8d7a674cbb2203b7e6dc436e8facfaa4b122e95d2df0f61381a37d01b49327031bd10eb0d7c6f1f659f517c56f713c792dc4ae7f975d11cf62d1391222924c905ac57ad09fbda2a4a71b552e412a8f7d624569bcf723c7407ed5a0a63527d11f99163575e3da44f4f5f5d0b890fa745e799b7e87bd4ea16053c6ef623437f5808c8a34f46a12b48fb757593ee70ddfbeb24ac971aae7cc9fc143416d84997f44139faca27b895aa37ede8ecfcf3939f448103280abebdf5469ee6c5d85542034829857008713ccfc0a295020ef157191faab9ea413d91c97ae134d8c78d164cf0338093ce089ed87c78684be84298426f153b22183bf5d328d0d2efe7adafac493903664e7726460154f2b7473f54bf98f2b937cb3840109648ed3d816e9334c8d87668771ea75b1f38da441981f0f8c874d66487a80dc3de76b47d3b5be521b0d0e11c2d4ea32662de2b82afbffeda972159ad5236830043438fcbbef318754c46d80f1cfe150222c80769427e174f7d3089cb154f48451390196fc0ce7089e799474c80f7a528d9df9e9f22c11d5f22ede5cff92fba13ef45f05f3f82e67aa33aad1480a9d6ce56c65e517616f5d2e30008b17e8992be5fd33221e8fa782602982f35cbe184a3bdbc4b48500f6b74d8f292254253c4a481b7fb27160efe939eab931c3b993bef0a6c096020e15c064cb8f1e62a805bb73e0af2cd33af7f24246d583dfff5d5a3bfe568df2d69701909f1a0bea8a4e4c0f0d2afaef804d1d6817eca03ec6b0797736fdeeea0dc906ebd365dec7e691038cdb9344fda8df4356d243cddbbfc9c00972a8524823e271fcb96dffabf6e19888a736a9917e43f053fdfca85b1f5d6e52eea56693c7eb399726078bfc0f3337c3e3dab2038ed7d192c94461d1b2fd9ca4071347a1f752959f52c4808cd4b6c089cf8284af8a6c5a6a24017241a87e6315966079f35a7887672483f2108a4f4c9734a7c9de78d2175a76a1890194051b86e46def8f0b92c795a35de1190bdf0a1098282783f55bad478efd9683ea80ee0c88a9a2dbc945b37e581ae89e0e22f1ba0359b863361f04d7b85c4ba37b79e9f673cde42eb2ec620d4d9d3b7f03f9c87aaa88a4673207de4b75e3cec3a52b47b77def361f6de32b0e997dc3ee8d2895c15907ebedca8fac7c9a56af97e458c0fa92424eec519a93b8b64908a5f60455842e86d22be3111611c2e29033c4a08b6c6262e6a26e090a120b080d43970db37e9a3dd830716745f9f0d5b937fd44e4cb3928959b8a502e54fa0a7e7e60c81d57c8d5596c8c1267c61a1e6f12f757f6af137a16ee3954bc24e848288085eca2ccf89dc0da2498a6d5d0068b76efe6755aa58784663fe8e61731f3a11c38f35c0ced3d413613e66f26b1be91ff714aae5aca855375349d726d7b86d3410b92b19fd32c5897cd812a2756581a8473152941dd00c3d1f4ca44886eeba5fa7be1bbf1c812af96f5e9a869ca9cfe4e618a28633def908c4c0da7b5e261932ee5db1763c808d31e64a4028bf083464cd81806a96c04920e71b3e3417a4064585513b3a026481f88744856547461b2e812832ed68c6c2121cca971dd34688324305694726195cc027c9ad94a9038b362c1f7e8a2132aa62c73797654ad75994593e7e062f653b8edb5c7cc33016390a52467f6e476ce34d3ad45cfe5702a9c48248e7c0651e924cbbc51cd929cd1e1b36dc782b393b65552732dcf52b561cb663ebe045e3504514b6043801802f6d6672cc3c2decaa15c6d12fb6832e20322f0c10fc381e47812e12b9dcd9e942e9da05676e124d0c762537511d1eef719ced936c39834743c63f3710d5f0df46215c21af74e597c6ca6ceaedb30c2422e20c8546e688c7149040f00ccdd1bfda7a156b114c59ec01d07e85d4b57143b0c66397b6ccf0834fb44eba319a6d4584c7fbb415762c4e41df664c6470831a42d74b8526b018b29171986285387e13cdd70b218ca9f618f59aa2652a6b7ebeb59a9b10ae745d2886e7d637004da00786b2277c99f1cd60357c6f64679c3cdb644b228f4c3631d45db21905a3920d083c6d6a16fd13e02164112ffbf7366667d168797eacaf5aac7e903e53da4fb8a2fc639f18dda35ba4bd4955cb011451da772cb5ca3f31a77d842b7fbeca397a5341f46384f6b12dcd2bc92a6495a46da367dad37089258d6d51f916127ab842d33ef6c6551b5d08499490c4d83ada9f6ff164494ff9de92f709d64f280dd8cfa4da7488868dd10c9d010bc5b6340b1f9ef12ca5fb3d4149357adcc5aa918c69dfea7155309e4fdc41616f7703dd6bf435f0e3f54f616c35dd91d9ea9061e2e998cde8608bb8031abd4ab66703024dcad0ab4905a37efb6baa1ed95c4eb7817acfc661daf69d1e7b903b4f636ccf5cccecd63452ffaf2bd0c13c8ed02fcc5ab0a2015e15042e1d3caf68fb84fa48b8d87b36eedd86e60f4165b502804d90fb30a4e0fdafb6a71c157b0506364f108343b05977a895db9a961ecdca44203660cd0db25a060f66f3b59f4843560e8d5dd106c1ac3a29dd18e840cf001fb50606f33744decd81a26a583ae70cb9b631e5812aa3d078224ac18ca1827b3ee4228292335c29f34e58168383192a707c403d098d4aa1b14ec5e30b2b646c617153468b94162ebedf8446e885e7669e67100a2dcce6abc52750cf7eba50c6bb5fa5543b0ca217672a9443c95618c8b68709556e2224b0d281ab28e810e855ba055d0b1506af8a1d29002e8a5736c4851f0cd6e16f4d7998f32f9051158ef54c6673120037e437a66af010731065d2be701822aef4c39c27e1f4588edc40429066311f13c3cfa387c119b106f130ca64c5f7f4617ce75c366bf8f6309e692e4a35fcf230547ed420080836aa2cca3476f6301b4b1605f8b3ac42bd75c7291fa6f612b5344a45ffeb91ca830aef61bcdee8bda14099d4f95b4694789847629f748d397f5efa69c1ee59dfc0c4bf049dc6782d61c6e4aea2d097c1e948fe89729d9870d7971968fc3057d4871de6b93a0240ec1bb4e3d237a9538ccc3cb8e09c3d021a078d18bf9ad332949a881f9ee9026147cc61902e52e261bda48e77ce5386251ac917cd6ee0dc36574ac46ce7013f14b2b562c46c3e363f378df47f1b856cb5478d1a593aea60e8b08d6130818cb3293a31c7889143fdb5b8819aa3eb6c3b6acf148f019a1d83a1bf9e34101c3de740fc11ce11e8a3eec9e52854f29c8a84b2ebd045e8f6a91ae2322a09425266a52cf1282137b7a4e3396ffc2d391d0fa3cb75d3adb4f2df96ca63de9325ad078b6c0175a02e95ae52cad37c26e032b4e3b3a321bc96d627f2b4f8ab69f9346fe418cb947392d97bad381157d47288d8628ee7d4930d1d701ad6847bbe244ec29671276591cb6955eefb7d40858e5fd2f81114b62d05ab5faeb846cdb555e85fb1d3da70b9ba57538ebdc41f19a5ce3c9df44bd38cdba6ffd5699ee1b0df4f953f496cc8944f3b8b04ad468125db46eb7312dee2640f148b9826bdb6428671509e3228fd9497ecf08b99aa999da0609e3cf8a4390a335be7bb20a3470ca58c62dfaf8d004d8038b33110226f2d8fd986e1e3254b3e42a7f2faf14eb8246929d1095d8d3527b1941439ad358038c992b8e064efb81a967f6cba64072e7a4b355f24df976cf72b9596ecf446d31b1e0c4a890f67c48a253b2ef6a44bcdf317934f13ec4f3a0d34df24f5e9dc8cf27d5442255932d9dbeba4ed84b63b52baf3f2ae541e91826e0d69e470cb94123db464577f66b71f23aee890a25f059984f1dea10f0834c65faad146d5a60d197f76a451d708aa88d88799de9435993c20975235aa07b5c6dfa5ef8c97c51b3f69e3a54bdedc1a9a6c9b87e939c9966bb28df4ce0e7157526b382e86019ba8fb86cf6508e29d1b1ee91b157dac1193d313fcd864d22dd43137a0e6a8926f842de9b90c93d82167221cc72666493ff43e6942e4feeb2eb18de28eb182b5ed59159e9400030ab0628e58209695ad0e7f82eee94f6eb7da3d486efdda6184ffe4c48ea0fda9fc4a7b40d663d407dec72e0e790d6306b6a45bd30ddb19654fbace3c7d6acb0a2d31184b28e8d372057077bb82262267ec765be0197ff9e5966c912405e708e708ba0863365f4242d0fc61cee6c95ab2bd5645409da4fbcfd448a6bbe8380dc5367a9b0a5c662e3fb405b8136b5b01c9fd8cf72dde7b64fe321a9a5eb3bd0782b949ac2d9550905983dc368661f8f9bf1feaf4d3d0ae93a08e448408d4441d08542ca1e296cf17a510f2f5a162d769743c61408e9f91d0d3e93bf0457308d5489d777240722da332e455fe9205e4cb852e02cd4b2e56b24dc799630dc8320c2048922b2baba20d78a944a767180082154540a84211e5122a4525113ec8601210fc9024d14c1f12cda499f22af3807c6926cd0496442035d3c615816e5f1281148d2ce1e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e88865e366dc6bd4e50e484e03a45682be1c119ab5996b3ccb64346793d3eb1f227cf0f4fa6f4ee74d9837cd650ed4ba233d940d0eed6cbcb89996c24687762f76e3e77539bcefce92076466c94520cb22902f2e09fd42e41afd34f2a6b9ef09777777777fa902111594a054b0820a35940a47a83084152ae8005dc9abedc96ce3b561c3866f458a7c5e6d9a24b58d8c62e100996570b1b26263f397ed59361cddbc1207a90d15b36f796382f82d2dd5362e839ad4bfe917bbd1d3489eb3e6388eebba8ef33ccfe35efcc66c7edff77d204804240212018980444022603866b32412120989844442222191904848243ce5fc1965b3d9b0c9365adb701c67d3755d67e3799ee7d97cdff77d9f4d79835a8d89a94891f20624089ad8c8f90409a2bbd06318a24e4e08f5a7704ce9d17518872850ff897e711c9f857e51ff89d65a7cad7a3fd12d3ee5f5f9427917ff947a7de640fd086f68f8e39f42fdaff0fd13d0e2534f23e318fff4dc689a983cea497db6a45ea3cc96d4878f6a499d6513e4f8e187a1f912d2e17723ea4d4e160d90a8f35bfc78f6b4f8d4d9c3e2c7384451671ca22d4e8ec5f81a7583c5e979a54f1ef5e3f9f2934339519f513e887f726a518f6638ea31a54f1ffe289ea83f9dce17ea633da2f4ebd3395d5e41eae7c0bccae1834236e08b2ce3a9df04f534f48b347994497eca14dfa4091275fa8f270d4dea5318be1e59344072f9512893ef3e65fa68fda13814872714393e79cae8c97c999c5e183e3c84a2fe246af325342b9b20f56f3ca0c0978fb209d21f8ccd17d00cf519eaef20173e0fcd02dd586c265e30323232323232323232323232323232323232323232323232323232323232323232323272175deac7f145161e5e2ce74b7c939317cd513cbb2ee5a849cad3fab4748476af5a6202ed1eb5bdb884042afeca521168f7a82522b47b5587fa4ec543f9a05a7991dfe2bbf3c5e2412d7eeac53741f9ee2447eac5f1c53719cfee45d1141f2501e49f88a428a29c2d27dfbdd872f2e3a71ea5e5e4e4e1c547f951ec3e914c3973902f9e3de49f9c3d2bcfea2554fcce7ca5c8933b57de9fd3a81b2b2aaa4fbdd802f5a94e85fa0ed58de62876e24967f2e38ba8ee533e8ce29b9c88baeb38bd22af20bb2bae40b7174fe298d22cdd9faf931534e54fccd4a398a81493e5e45f2b2726e7e9c5d3298aa7f1b4bda8940415bf4ba552a6c99246e95e14bb178582f88fa649ea4fc647314f3e659a64d4c47c9127ab973aa120a50dc8ee53a954ca74f4c4eaa5d206e4e8afa153fc04ea40438482a05c4dd64b650eca21650e94685c9679ad9e405ff13beb44532ad42eb3265ecc584bb2e9bd98a12f86b094b096b8d0a4b034c5cce50767769ccb4c0a9eda72d65a731cc7755dd7759ee7799ef77ddff77d35dc8ba99206250dc01aeef3eb7c26c1e97cdad0398345989e57791cb793c73686173713738b289e497492bcd20fbe4662c3dbf4678ed41d6843a3e28bdc78326d682950d0464645f2533f84c9a3fe43b5fc407eea6fc8d47963023eead4a0188a9f637cf14f3c8ce2a991fc459fce120664fe1e7c1adad12f44bbd3450a54bf0f6e28cc5c0e44bdb4711d777aee041a7a31cbab8ddbbaefbb07bb2eec3a9d43c916b3b1967c474f989f91bc1a5204cd27920b34920bc8fc1df8755100d9b8cf85f679de963b2e0e4571fbfcdef6efa81c2e3fb6984c4443c1590bc8fc1c114703817424d0e26f6709504c28d3049502f2a59934939ef1217d489ac9880f09e943f2d5be2459c6fbacf898b20caaa94909ea642919594dac25e74784bc7ae23bf23d9165b8ef8e6499efb7b0fb8e942508bbf00c8fd04c4f10cd6846901ba89bb412a2198db5e405d1a799bea52cf3fa3493be62f61121cbccf021d14c1f126b094b09c86a62622d01b7ed044fbd6926d692d9a7471488eee2051ed95648d204228802f2c505e182e8074132487902b2271402ca80201359c6039d008d6419f189278800ba10b9cc5c7e74276844515196f97e3b7560516982ed4fdde9541691df3bfae2c0f204e4c619c1157148704ae82144a05420c9bc38b048963142489671204c31038550c104aa1f54820b020a71f9713a5d8872380bf21d119100e4c5d20464cff71dea7d7fbad04695739e578e80f4dc5f88662887849b915c0f47e388f86de3c2aedb36ed32d3ff7d3a4737d4bdcbecebbaefbb4e9b61b87ddfb781443f5c689fe9db060241bd8deb4e8e03c28201d2f34e2d747adc73df75dfd0e904a2e8e3b67d5f37e4fdf7aca66df346ef7c7548e72b75122179bf99deb67929d3c4e4dbb6eddbbaf71cedfec56c33fdfb6868d108aabb17cb12903de077373a147cfde4d06f32b096bc40d1f358666407d34ba877f6745f77b29a50a63844b3f48fe286fa9046960b90af0f89c502e4a7595edca6b34c46bd0f29cb802c222043efa59750502b39c13f3d986534aa1f148ba0fa4fe6cba12112aab7b333bbefb411d46708f5488316df8b998a0aab89a584d5c45af262d6a205ab89b584241d255fccb20cc96a622d713d83c5a6dace57cca51c399d36300a56534b5109528eb096a4d4529052965ecc52a24841929224e5086b49102448c817484b31b7579927cfc2448922e5484a4914292a42f40c94e74ea390942359c66c01a259dcab50ff4a2941b94f31558a641521a6ca10340a2129477a40beb8202947c8574b10945342c58994234a30e1c411118204612dd14cba694603d29251dd780551f4f1094de8a30e842962808addc80d6553f3d068b639b9d0322ac79f4edb76fa8d860ecd93d3297b9f32bd149a7a97210c2e909b8cb7016e6896f1ce9727a101822429a3eb662877325d81e629c80c323d816442f3152393922bd091093dc72230a19ac9cb41f905327f59845a8984dc5e532167ad43bd84720b40c0c2102060e1082c009941a2bc1543ace0c48cfc651464caab5eabcc14732c1a8d94cf01719a224e28a2ca6b16cf81c00f907abd8146360f34026a1513e584f2dcafbc88f2e209e54514942e7f0a7844cfd04c1caa62ba8b28a7aef92a2f798cac511453d7dc579cfb4b2a6714512505c95f3297bb73450624ea5f63911e858c4a98fcc9c989c988445ee917026e3e1a79692794e6cb05d5425eeee4c7a27cf2fa47244621aa93b108aab96d5b59d97239450364e4d77ec425af744633da802ce39e9d408e2a6f0299bff3bceaf2a8a2faa11aaee5557fd3f22ad5b79cf9bc91e15bbee5146a7919cea19ad40caa55dfe228ea03001e99c1814600cc93df3eaf34aa6826aff473260ea8d3455eb5982df901f032bcca547dcb0b21c303e05b5e05005306b3c5549960515e693088bf68cec80c0744cf68790d82a0aeb598a0cae48cd0c8ab18902fcec8380316a97c0ca22df48346942caf1f0ca2577e7cb0047e8095d763d1e96758982a2c2a9fbf2c512aa54a56a5acb09463d158c46285a56ca19292a2b2c252962b49a8be85ea59a852664e38149493335f28f9847c4765d49f9843684681274035d369e63572a70b4d762c23104b2ac8fc62b904f2bbb3c71237de9b7c8fee530f9e3dbc3779f0c56d245b7ee83ef50fe83e753ec07b93d3358b8437f4f45a0937d34dfea25f5f32816c3a39eef420c87dc83dc83d0dfde95afe682bb5ae9be112c5711cc7711c9f86ce234743f3d933be89c98f9fc5fce00fd5e87cb6fc103ef837e183a7d012f985c00f753e6f541f7e780a85af023f7422cbbc7c091cc2c48345b20ccb7727cf2171aa9af9fdf6343287c4e2e45f2a0e29af90703516279b571d4a0711f8e18be512481b1d44aa2f55678f256ec2577d0ff06cd10ffecaaf7c79f608cf167db6fcb0f2e00bb1720aa152bdea7422af54465445fca5236be177240aca8b435215c94c20c9a7915545f48c90a659dda7a4a464550d45ebce97667a91230b53a36c5abca8cdd74914fffb3e53450fa15985c58b2c9e866e61b2086949a8427353651a8afa1494178734a2e468a23e656e44a8739be515152458f346925c59c928da6b43d1d090460b69aad3bf421a8aa2bd46b006d6c02420d30cac81b58f0af2a5aa1d215faa5a6d0aa1580371484b5c138724cbe8afa19d15aebcfa4c67b3975f20bf8d9657dd2caf3aeffc875c039e60690572cb33c0f73034c7cc1acb29c85748fb4eef04822499b3aac6216599ef6b3a0af4459a6011c857480b6959868820a1902fa4bd4223421ada6dd92c91884b5190e0871b0b520ded5e4243340be490f2aa7ba96a4868f7aa5a1215534b063f55ad86aeb87fe91344d9c8db4c776c9ee135deb49287b48f6de8e4230fe90f005ed0dfc7b4b4c4c4e42d5874cb0f2c9ff2372c67ca79a36b9ad5bdd86db5bcdad0920a920b82e280c480dcfefbd347b4440ca22c54bfbd1f8368f95b56f9f1b5147e0095dfb6d94b2fa9cc169f4d0f2d4d1f70fb95156e455b61ea2479d57de7dee4acee3587aa4c6d85af58983e20dae2d44bbeea1ec524d24c1ea37b0cf898d5a0bca85b987aa9347d4074e5d4497cd5bdc8ad983a89bf74dd6b28784cf762d7c24c22e5599849d0c09a94579d7aa9d3357fe9be8c02d9a14c4c4c786c63d048250cc8fc1d897a2e850233ca26d44e6039da09e6a11417fa407417e5146320dfb539eaf74a24e49746e03ecb78dcc39031e2f09daf19947badb520964a205fdf91d92744d7be22e74bd790b6d73f54e36d67cb0fdcebbfe15e9f424b6c2fa49f3b5fe0cdf8dc73a710f7e3e9df975090a51848fd9c1091892ce32f2a81667108f7791f52d789a2289a250c48ef5fdf76d243e8f675de7d48cc2f8abceabe2335533cb2753210cb29b4fe973fb171329cb7802cc33d0782ba4c02592281dcdedf88b88d1ccac63b5f475e691edb18ac30329e5cb28bbccacf2de981965320bdfff1876a5aba536889ee3bbb533c876ab825d27b7d32555fce800ccf97f3defb3c0ffc3aaf079796c135837fefc5cc43d9e821af01ae1ebafc3d805d7e24debdf7f93719e80c531e41a0a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a454565156515651565156515651565156515651565156218524494949494949494949494949494949494949494949494949494949494959145d474905e9ef39b878a9d44427502d1a41b558c45ff4975490a512528ae819a922622d25d652622d25d652a9ffc4effbbeaf86eacfa95a4aad889ea16bb5a525a6574aad4bd5344ba7d4f4d7526a29b55a4a4db3f4f94aa9a1fa354753a96d5aeb2748255cd0543e417a4b90fab7ad66ccb97b31cb7988f3df7493e83348f1fcbe074f26a7f3f4204a0127743cff43d9f8382079a5b92282f8771dca6614bbceeb5224ca499722bbaeebcc93d493a9fc26270f4f2eb42cb3d99c9c40bad0f26a48c88973f9c1a24fdf9d7288e8e9647aa8be42fcf1b5155966fc0e6533a6c62e0439d43d28a09b9e4246f514f4866a263de3a5974a29c8cdcc1f9aa077beb414a8cb8f2da62337518890272c3da1881594d0a83f799120ca6f286f924201bf2bf24abf6e12bff3c8fc2993335f2f88d0fc5d7e139449e6150882ff62369ae0768e4d205fccf22a3b173e78be3cf0649a27540eb19482fcf273ac25f935e8230f79daf381e68ea039e79c73ce39e79c73ce39e79c8514150135a957f4ebd5d20ca4914056827cd14ac81018478e1c01c9955f69232512b93da883d466be9a2c2467262da4632ac26d35aec836eb82e86de64f6c668944664d1a4961a07422a5872801674d9b77a70b8d3bc25ff217995c5112e48b3b828822b8239cc6518ef60272731f92a51073090599323f239a25be8929bef82f878e2f8a1dea43755ac95f44d15c1ab556d24a1e08822814eaf38be64b23a1c2a1f0f3ccaeaba9e5a150e740048b50967209091291f5e722381008cacd3e247f81820481bc807c71332099767245d90aa2bb787d464cdcc404d130fcaf84827c6924b46329c54072afbf2159c6898f09b4fb8aa0dd8f68d779a84769a412066471faefd681c9daef69b9acce6f57fcef6f38dd6cec0fa0ee77f3f0ac6ffcedde3a0fa7aedfaf6cfbac70bb77b6fa29e9bdbbc7d2f7e7004e9a8cee438d067c2c7d7fde8dd3dfed0a7b77bcd593ca7b70b7c1dd6da0846870df7e70f71c2751a2c32f4cd01bb73b2696c2dc4730cac0dd599c1c8b781a78aff1fa6e82d1e5eeee7e72f70fb8f9baae589696eebe013108ee31d07e495f591a03cfe8cce8d42063c7c4908991eec49821a306193b34d060c30d36bcc032560693b5cc18de3cabfa6cbae14f8190a1edbaf3b1dbd670f714f70d7377ecd6c5c1ae290f3ec49be74d6f766c9e3675d5d8b158fadeb4bb27bdd9f0bb551eb6eab6f60e41f1bb7d7204a97bdd59631747909a6eb87563f00642dd716bc780761b441cc7603b8e5177df71f2c4c2dd3d48270cc393bae37885ed87c06fd74d1886a7b8dd3e36eedee364688487617882797875c5bfe386617862c12f6a9bbec071bb7d764c4c0d3e31ee0ab3e3f48d611d190c03b75c352686068ec5b16b250118020f73635856230cc3d3ebbeaf0d8ebae315b6b2ad2c68678ddd16078e5959bab355580b0867b75e77e7dd3b709bbe31cef67937bcdf14277eddd86677acb61b76f71b4e823e0ed35ae1767d63a0209ddf3adfa6ad8f5357fc711a8357f5df1dfbb84dd737f5f9ddba0fb76b1ab76e8d1b964d6bc05a40386abb61d149900777f79c0469b8fbd3c0dee5696278ab8e83b363b775f79593de3f8dfaafbbf3ed8fdbf6b4b287571f6a34c05be97edb20f62b63d79407b5dd3bd4fdee985d79d83c290c6f1f36ab93ba78d6fdd306b1599d357eb74f7b237671b46b0cef1d82e218cce6755dad36dd40c46edba635e078c3301ad4a63eb8ee4dbbf2ac6f0e7565539ff686106a5ad37217a0a6352e0e75ebac6f0bd691ed0852d3fdb228fcc2e8ac6c4ceb8563602da09718580b2866c60d36cccc98516366360de996b16d5067d0b03353030c192fb1aba63dac1b8b816399dbd3daae564cbcf2c4b83c6fda8a61d396cbc6bcb02c868606d602c28937cba6b1f875633119fcb261e9bb4343b3616bdcca5e0e09ee1e00273926dc1d759283ddfd7392633d27e75b7785dfedf39b277ddd18feb8ddef2b6b3decf33939dfaea9abf5d2e67818d68e65ad0db4ff45ece259612fded55a5d3fab875f9e15f66cdabe3b6ed787f79bb2adadfe7fa008168a4c90e4ee31eedb18dc8570cf3ab83b8e93da8a38e5597dd20d07c6772e8f5b99dbfa1c10f0ed6671e29dcde2a8acab8fc080733c78378861f573c8e159ab76b330ad17269ac5f8971d76c39f430e1fbb78d6ed82d93cea76f7d03dc3ee0e0127b301dce11766ab6e1bb3f71bebc4c0adbbc6adcdb26e2b666687061b5a32694b466ac30d2a8c19187bd3203373030c15468c1831684861ec191b6e9021436ded98560ccbde1807dcdca881ea406b3c0e0fa4ae4fa36e764d77de0dc3e996b1a9cfe7ecd6c591f3e9b7eee7b056b1f4fd69653434adbbc6b11c39af6e964d5bee8e72ff846c35549cdc70dc9d85935b91bbc72b1b833f274e73c8adc6dd5b38b9b9b83b8a939b0fd056dbf5d9d4c785ed3707f885515d584c6bfbb01e5e57df6ef671f8adf32a2b735df0b33cebb8fb8a939b76f88589613baffbbefbdbf4d5ddbeb278bfdfba6b9cc6ed866d36065b3f5ed3377e9e768de314f6ba3b9f66cfdd6570d269ee7ee2a423e1ee3f2ebbf36e1ff783e2b595c6d216fcc2b4b60fce4ffac6b45e38a6e5b26c1a13f4a6afcecababbe7ee5b76f74e73ee9e75205242134dd808558c28c1222204211d53e8e066070a195318599b9529859923293f200c1882588183d50012e1ccc93a22c691947203303a06efe04287176d08168049f09890886e6436435d7b5710218a2c1e00c9d1cc2f6e5bcdd8c3477eef9ce5dfde33bd46141f14bf90fb3013993dc0df32380ecdcc1f3ad4e80f4d22da56a3ff870e35dc8f7fa3c5d3e9c7f1c3d38bddb811892091f8e36f668ff0b7ed7b9c5e34bd263c9963cbf73aa03dfa9308caef8d44a7f74ca2f17f7c4df8db78cef46fbf9d443d7ce80fcf9926a27dcdf81af50072347bf8d07f3a67faf30fa81bfd3e86266dab091f34695b0df82793e8870e35e1d3b69af137b3e507eec77f807ef13d930864c050cd78f658e2e6f4dbf708dfec71faed69e8d0fc7eab610101c9c3c7807e674f1241f99308e29e7bddf203f7f96f381df93d1ddcffe635b1fd5882870e3f3822daf63fb8b3a77bce5f7c486f09109d87ee5890e80216d8f2676e6b42f46debd99e7b6d6e21c77136f9c3ff40ee0b39fd7de11682678fe6388ed39a137a6d1ffe26e49363fd429dee84c0ee8c750286d0efe3cc9ecefbeed4affc5bcfd7e5cfbf6d3f44f4fc7aebcecd7c63eebdd327bff79dc96305edf1ded1d3c943080d3f9b3c5650ef8c351a3ea8d1f07c71ff024f1e42e87776da3d3fb8651e88a09e2124e423bf7e1fdb732fb4841011ed6bba9bf0bbf7710afdf89aee14f2e1fde9a47d8dfef0f4019eb4afd97c78db77a77e7f1fded68a2c403ec0d20150cfc8ef5eb399b42578e880eacf348e88c69d4bf0d0e1c7123c7440dd08aa19003aa859ddb38460c3818568bb0099898618e26d68297cb5bd3ea180d0529cc8138a8503dde95938409e5e234192573a495e9d4e1ae9d4482c16d8885838dae9b73f892793a3714410a119fd4ee08727470447db946c38ca3204cb102c43b00c319b1529224408cb102c433031152962c332c4b66d33e08620416a21a112aa8e33392648fd2518c8d7ffffff0fc955d844ff40971f5cf6e7389799cb0f17da0be488e0880812847c71438af40c6e9659be39aab3c911010ec9001311b060e47b9692ef7b31433d6fae3df43cff0e6503fcd0594dac252f66a1e96612909b9180cc4f6341ca2cffd5131cb87a627504f593450364b7e9241f1392728a1249d985b2698a1249d9348222544c65d7525377f240d0e50576dbb6df3632c8b621b115194106218b3ef4335fb397370181a08bd54879865743c3df9408c3b008b542091409f99a41bb379257390ab27b4f4553cdb2cccb9bd03c1a51310199b3a13a1b01d233bccfbfcdba99111449b3325833329b999999999951a9691d666186924ce50c18ea5edf376d3dacb63257a75dd5ed93c2afb6a9bad5d465551df7b74feafafdf3ea9bfeb43faeaaee764d631df7e1f4a7f531ecbae0f47d18bb5fd705c7d2165ee1dd6e1e9df45d984d633885b9f0b4abcebbecd7ddd92fbcee7827fd78c3abebe302b4f076d58fd787db74c3d8f4ddb0ed8abdc0dc7787a75d57d8c376bcae3b4ed5556dd3d6ab3baef1b371e4402067c3dc1d392eb0faba3fed8d8781df17586d57f75bf4616238657fffbb71ebaeef66c0c3ecf58ddfedb3db870b10afef8e3dbcbe0472e0157eb78e1c08fc96bdfb6efb3babab95ee4d81954dd7786dd7f525887ddd386559b7f56efcad0c06735bebab6dbae1f5f7ebb67062f0d33ccc56656cab755bdb05ef96fbc63e6665f07e2560b3438e1a343470d0eec161d9fd030109e46cd56dd1e440205edf9f77fbb8fbe75dd8b4e559e157d3ed4a5f5c1ed9c3db67e549bf755df861f461d4bdb2b158aab27bdd717915fef477dcf6c607c1d3aeb158cabedb27878ea01a75c7abceea725f1d3c6b8debdea471ba83109bd549d935f5415f590cbb3da8b18b03e5695757ece250db20dc3dc8dd817cdc5de6eeb1bbc3eefec6dcdd75f7d6dd613deefe72f7d5dd5deecee3bedd5d75d771f714c75d02ee1e01f707b8bb03dc19e04190ee7ee3eea0932e49205d86784eceaf2170195237ccd3ae3dadedaa4143434393810f4ad9fd0ee5e4f42000270d10c46178da55755b5b8d7ddc4a6330b786d73000eb2e3875c7c1d574bb3e6ef70deedec3c91747c02f4c0ccecec1c91733ee6eeab0e334dec1d3ae719bfa6c7603f16e9b03cbe2348671d8ddb6a9ab85136f9e9ce76957df010d275935736f78ab7bb729f76c819e969bc6e90eebce8d344e7770770038c98a803b8c013e47bdb1634137415b0139bf5d71d0ee7977fbe3a6e9c3393cedaab61ba77573de74b3ad87e3cdf3f18d8771b5de74c31ff4a6ed0acbdaedb3f27cfaef76c5dbf5b37fdcd7853f8eed1e78fdd6f661755278557fc77d78b756b5bdf130700136bc5df1bbc0edcab3757ebb181003ed160eda3df1865fddb22de3d1aeaeadf33cedfa71bbd5f55b2bcc6dddd67e9e760d62dfadb6b2f5b7ecbd791818d8e777dc8f37bce3baaf8e1baf2b44cb8561d4c511b415a0ee386dad6c4cb6031cb415e0e2707110c0e5ee9fc6eeebbe9ac1dd74f70938390024df3d386cda72dd5996bb7bc03530801c8e83833380cfc5145c0871a182ddba3bc0a8abca76a8415b01eaaaca76b8289d9cc10a777755d98ed77d5f9b14c75565ae2a8367e8717798a0ddf3ae2a837372529f356ea51ff46e1f1b5795ed00228d53150727de308efaa63f31198eabcae0ada62f4f4c86a36e0ae0c4adb4ddee9e00f72c0293c9ddd5cde30fe0c6edfaaf767d3828fd61d3df6ffa302c7dd3582bdbf91935d410638583e097f44d633b80f8c1dd75b8bb0b4e7bc0e17ab79aee1e705c55e6aa32f8bbd0ba2b0c6f3826de301cb47b7036cf2b8b814d4bcc14c103d7499c0d618111209c00d392bb3b8a922ed0705fb93bc049012cb93b0c181a62c0c078697fdc57c705a72e011cc5ef82d31e667013777f01e000efd6cac2383cedfac66c198fade2b4b68f6fdc262a01c6dd29c04386bba30089bbb79c0cc0020230037798d6bb3854b785b355b7ddeb1bc7c0db678d57d8fac60a3000772780bb6f3e001c5e5d61eafe71dfd7d5f9f408389c04001077198f0d2300878fe174b31fbfad768502869300b011c4eaf00106fed6ddac8ecc557febc4ebbba4af0cfdd7e5e1617860f6c36cd81ab33a2bdc6ed88d1f5e5d3daffbf3412c9b3ecbae3fb00c6e37dcbaad6f37ecba5affca5c073c0c0ccbe2f44d63b1f465aafbc65ebc70e39d9d557d787dd39f5df33070bbf74fbc755e75d777c77480d778f3bcbaeef030afbb53e36d6000275b847cb75af7d51da76a4c5600275b16e06a2bdbd96f0bd922ba3f4ddc6e58501a7b97a7c10992e9d0d0c071bb5b3706736bf0b42b1c04bbe3277d5557bc3240dd71babe711adb40a841a8f1de7113c3ee026258b683ba7f5cb5b561c9a1fc41d9e3ee3780521fda0500a53ec0c0d618deffafbb13cb74de45fdd8c5f13031bc026d78c7054adb1d733fb677cfbbca78ecf7e356e6c2d287c9606bbbc2e09ed7fd8977fb3fbb8501030386069f77e38f37bc77bcba61298e87d9fbdd79b54d9fa75d79dad4d57a970d7fbb5d3faf6e18de3a1fc4b6ee0e980b7feb3edcd372d9673fa8451f46dd309cb660d9c3ebc3abebe6696c6e72e0789820b675e19c9c4f1fdeb0ec5d72dcf883def48d5bb7a5ae304febb2694ecec31b76817776dcada66ffcae78fd7978c3dc562cabf99c1d39db85d954e63ae0737272bec73f021080431aa73bbc8b7ae3d5f12e08c081866687dd3b7080adae1db1d4871d9fc3efd78d77fc8e05c5ffff15782078d69dd6adf1bfd93506735b6e9b939363f3333c4cfa6dfa3beeff76edb8bfd9182c05da0fd3aeaf3e1cafadecd93476e3dfae9b5fdf18de4004c5abbaca78ac0ba889dbbdb6d69d1d19dcde8857d88ded1dd8748ddbbd7d56168dedad80cdcad4ed6aede01182a75d637805b269a16aba77808148df18c866bfb2386d79d61d2c9bd680e1fdaa2aba71643434adf5ddede6c189c136ea6e83a0a1215366fe71fa3b4e63f8d51dc764efebd6805f1875bbe0d4d5ca6268707070e4b8b103081b21706c6ca040e4b8d98183437303c3a1a1815b7785db1d036d1a1ad88ee120180707d6026a71126504b0dacadc1a06a81b68e5017e61deadb2ab4ce705d6027277e1b0bbcfe0ee3feede00274f86d400130326c60bdbbaefead3ee981a689869ed1b74d41b6ea041a6d5da315e82de185e79f61b14af6c1abfae0f3dadedaa712284bbed0f6144124ebc619f954d71627bf7b06cbce125a525ea56571ff78dfdd6f91896c1c4e0ee117092a411ab5b755bedfe20366eedf7755b699caadbd5ae1f83a531bc61eb0d8c581ac3b0358677ab4dd954c7dd5f38991252ddd6cbbedd4f03bf302d7885c5c4c4c8c45067a4333b26060d298c1935b464a835d4206306c69ef1d28257180d0d4c438303e4a40910bc6530bcc6c4b85a3b0e8ad7378dc5c0dc168c8ecc15af3c1f97cea8b4ad7296418d32a61089006680000013140020301c128ac5c2d16028cc332d137d14000a939c5674421747c22809621432c81a430800000181010081c1a4010123ac9850f6d0d6cc29ed37119dd826624acae7f0991041a704b9b936556a307a8ed72a56199158ba026ecc762903cfd932434bc2eac64780061e8ba6aff5bbda1acf6d4b584085e0a723f368920d1b3d4e997ca09ba67d6386bfbb1b0808f3770c9bb220bc5d617f978b9a5c0d9b70b4cd1843770c86c770bd36d013684c33258af5fa7016b1731e14f635213604459542455a96d3b6ee97789a86865838c8f69dc19e9de885971c84da90bb87a26721c45b493226d8d7a14190bb113b9dc6a47122f64dbee31112bfb6a60f9eb165863825884535c36dc27360ca6e6b691953b79de2a11bb26f4e8e040635e182a5e0927cdc488fd9ca60c1f13bb209958b7410ffa42ea7ceeb1aeb146ee197dbdc9f9b059024a8486ab02685eb63551d29bac4ca80173f914b3dddedfe1d88ccbb9828551dcbdd37875036a3f05d9f735d2c6a1cee6f449fa4f131d94ad672b547d436ca20e920785a604b3109027616709fdd23f7228dfa9bb5cc4e86b6fd2de0eeea5c17ef2911efa499984e21eb48342c39e35c42c754d0fbac54e9df9c508c41380c47c77743e70c4510045500c94af8ef161e0734f9f43848ee92320e0470fcf5bcdc7000e87ed662e510823f0327e2d3babb9971cc51781117d5e086f56a6b6943bbac30f29a06a69f6d31c2b719e9c473d2cc669980cff6ac3446aed09de8546f233f3f2e24c4a0e82cc9a6e802692d1687fbdc06a077679edbc343fa2e0cf598d5df26ee8e4bdd1f2a64edeb049ca2f21193cc7793c619a3cd211570aa12eaf29e4663263389aa792dc4c257a601ca685ad761f31f6650834a27d2637900e2ea93643082c0566ec0a1be00eae13b44e6d283ef1827ef21019fbbff6549c0fee836dad9dec3c8bb9cde40c72eac83af38177d06aea8d2dd881bcc7c93c5d40c04c0cacc59cab6cabab911af581a2bbd5ba886e2f0174c6b08ceec063a03ca81c7d434b4c5d6ddffb01188f5b22b8e2ae619f7e8bbd5369bd5235c6fd44246b5202586c29de717d9b97e458c1a3989baf4145617584eae168289729b12b5b30edac08569c76a863d6805015a417ea46fe5695db383ba47a09d0646c4af269af8cb641705e2fa4d0935413fd16da1be7c42b6fef59e3f4221f904b2d783c0b75bf887c2a4acec7ae47a082a126e87e80712df1b6a05072f105e79461231c36d32dedeefe461548e0aef4587add1396f388ea590870658722e134b4f9f6373be705207008a3de3723db7818af063984a430d68946ca6e4b220c351c98c39516ef3f63348d02b679ce602e3c977dddccf0dcbec897a8e0e8c427498bfd4b2bb0aa8a2365e5360fc0412390edc6c9be406948a4f82037cb45626703f310e683f184fde3881e99cd27994aabe4252f64d544daf06c48176c6d76048c68b68c5373b9f586ebda2e649fdc1f5248aa77301f98ce24c2151a7541d653eb58b463e975dac8205ff2f47eed7c971d9f69b7bf6dcab32c2f40553426ee5558564ab4962b1beef74aa23041d608b99e2b67855571adc9aee3f780f43a2b391683c11c7a2e61fbda499789ba0a4874cd9a233eb7837be20743880033c80a70c748593dab7b4967bc01ed027e0ec18dc95266b131e6e2e4f2336079973e1d3cca34f4a71eb4777623b1cc1fa6b22305997c1a7637c1d7b4e22d28a996656f1f18dde3c0ce1e0b4520c0235d98c3f7441d10bc76df5abaab26c53cfb66151a45bba85c837bbbe0362d72cdb45f2a36914fde77e0ae82f134d468356de6cd39a12ce465f176ee6de2b2aca418a09c0eb0b6de8af1cfe9eb75c6c2dd6a0b6560d3e5c700cf68e67ccec17c7b88096b8520c1cc72970d606439df6e6583f503c9fbaad4267d3a81e4cf64bdd8b8e7dbc203779675543a3b07056bc7c4de85958f3e4148a22be5886c3d3d24dedb02dc2d2ba9cb77a88ce05dad210677fe4a51f4ac55b6f78ce0a9793ebdd1fb5ef489c10335720dcd05880defb00453f7ce0b83f590b85d252a1217518f5abcaa8b669869962b49fb497f4add482efb98842d103b6794476a349c032e2caf8b968387877bb72a4c20c5dffd3e7951e6318b48ee248e4ce7e3653dabafd6aefa539d9d7836f10dcecaa108e367de06711a121f982eb10ae5fd705855fa95545818dcd5cc240bc87330c31bc301103ac82fd26f0c4bc8e0814c3b3c1a5f6a54917b1cc67097082e988919bd7d72498f41e549936b4ef4c3d13bba63a8c8ac583b2c9d48f62cc0a789a818c15a8721d4052f138b5dd19c1051ab1232d3241e6754fe96f0a07d026e6e0d633b69f0289c16b2182efa6232a8de8afbd15d4b3a540506eb158f725ac71a3465834be9ca08ce46ade908710fcbb85d86b94b70463ac46a0ec3490aead99bd6b63a1c2fe48468c4c675d3449c73219c3b2dede6a454c6dfbff7c75752301327a5bc8986cc5446adca1c0c4dbd0dc10b938c91b528a31014de0e7523ece737c0ff9685a5d38edfe14b26acb59ed2790fe06d48921a03c0889eda4cac71cdb4ae164c87a07296db737a17918d76627365ea4c0f3c3c50f766207161ba8a46e91e4495151775e3c33ed408843953f44ab942570d54ab1266c2484f30e6d0af3d9ef116265c88335950e66458dc17c46a12cb00da351f5940e4a307b2ee38859bd46e380ca02a94c3f10fa4a1dd1f20f4ada1fdcd9f5e5c897fb2bdd26ea70caaa79cf162902e0420f80c46de7e1b3b24dc630c0ccbaab9282c9981b43244a2f03c3dd11327d8ed48726a12cf78c562edc63d778e93990e325a3e772aa251777939caa0259913261c0835474fa6af607a46ab1f4bb4a8bed6a91f184734c88e7a691715fb77e4c96ac6ba5720a181c297c3890ac64914e2d7f89b8d62f932ca58c52cb980d49cc6ec41446a0afa963930e24207680de454445ef6d11f76ba9c260d9ef89edbf3b982b514e585b984be530999f8322e40e114a4987c7a8f799185f9fd81e1ba0041d2608aa70d54359f4a05151dd23222deb70c33f50f92e28f4512a7d7ecca7513b0c8de964a46021a01f4e6bea2593105105ff14967817550a36aaa12e840ea8bf70b2bdaf03eaffae1eee3b7418fdf3f091bb87841842279c87720b18b83e9e9e23163c12ed922f1895ba9c5b39cdadf5267b53a633c69420b6e4086094a6f021471e2687e3b592ba3706e1c5fcc606b88f26da386150a489757458337f48f42670792b9bb172caed30f13ba743eff813f8956de21d9c7c2e7cc000a5ff92f4cba88523388d0d2f600774a3fa67da3656a08e0420480d2f2f286adfde0a84766c422cc4ee9850a3bf0b78d04b41e120317f85a1c5ca674258e0c64445aafc29ed170ac7b6c0637a1b879088a193013dfd33bab955eb60d6108e561512d069f4006c328af3dd6b20724a4fe7d9fafb2a838675e9225121f71e10db098c77205b7f27bf6698f624427b2fab1ac243db5c7841f4be73ad13424abea7248c0397f696a3d2fbdf276d54561a7f89db4e90b1787a041374e73be9c0abae15845ca9538096340037288ca67feba67bdbdc85d0782ad4db64283d535b708296fbc334cf4d226d6a9735f1a76fe83b82c2d96358ecbd56c2e589bd6d0ee4750ccf7a211fa79bd50cc1870dae6c5a9e2894c30530f9466d28292f6dcbbb7616499857eac13250da584e904be03579c35c3a9817b2f84e97c56e4b8bdd11419e36703cc6d5eedf8559e9ce37c4587a4453c447be5d3d61565aca4f5f45c05fb94b98b3cc0c47cdeb020f3adfe0d0b3c3d3c980aa5c33c5a8443c22973c535d4b4e806e68dbca47a8084d27143458742002964e3508b794e35a3d738ac06023d8c22779381140a79d25eed3b5b5b9decd8205fde7108ef85791752c39494a679418ede7bae4217665b7b17d1213bf1d8cfcdcee0d78865a3a520c611cdc743c4fbf644a81c41c3dd4414cb372b48049c29849d083264f81e227b0838aa3925754011af6b21e3472f5c9deba0e4739e7e2102f10ac3c2181c2ea511c1ba88dd508f396bc38123e99976d675e4becbbe0c00d9fababc52a15ba0bdf4e4c2144a8506908aecfef38528266bd85aba9e0cbf6713b6c9c88549d9831569a5fbc2f89ba8913d94d6c346ab5823bbdec1ddc69e81f0ff128b775e687da7b0ad4243d57c566eb7baae4689475b324ed7745ccb70c539c82a4c5cbaf466e5da4b1a7b82783580cdad8ce6c202da50f8e51d7214bd1a05a72c4d6db6b3ebbb197e53793f1602321371e1ae9a46bcba513458e9b1c12c8a8599437c2cceac21b1e5705e5ee87870327e49bb5b458720a00177ae2896ad24bfdc08690d734404406c8860a1550676e924a918b0650338e7f519b7d43b1fae4953b0f9895052a15b94d994baa4a688df5856270102f4c76a9f63ee439e0207a643c8c3f8d3f456a14d6514b657b46de6d57c64bab36b32ec96b942345f17883eea1c1bd3064ff3fcf31ae94c2d7b589f062d8a59e2749909d8fb92a148a9cb6daec1c60328250f1ab67daa834f0e8915332ef7a28e5c421d2c29925f83a913953861e09b12b0adb7396d84aed8c6be01d5364b5d01f053bb0870825117f2d5d21c0013da6785d99dc2846e9dd0cd770683499ad94df4104ff762db7c85d0dca06a03c1df01c52bf1219aa04e73ccc8c96ab6baa6bcec12ba747e0e913e1ece6acc2b2fb3bbb9cb07a76af722fc0a9ff94cde2c86ae4e65cb1e1b3e75801714eef19ba8388c1eef55195eee0289fe90856adb6f5c7c5d2b74fffaeadc4a9fb25c5512c254283b22875a780bab3e023dd7bbd8259afc0556b96d0249210538537feb282d127073832e7dcf6b981b57759819f451db2b1f93573be6f6b7bd7cd4ab52fceb2475f6851482d797893dfecd84cf6a2aedfb145604e5aa10a96ea30ef4011e1edc93f76e9c7d771bbbe8acf5de5a08c28c4102366d97cc21bd5b542a951f80f0334c24b3754511cba8de31133504cfae043529cab55e9cd90748badce2b45db13106a75e1a3af7f06b0a225ccd01be8c98ba6c7e7a045b79a09671cc23a15af22a18c3a50a0e9e959792f17218261a4321897c2f1a218a6ee89f02dfa5f65880d95ea3c5dc4d1315a3d43120faec254a3e09d588f829d1c24563ef01e205a1c4c455dfa437123f4161b0239e1e02be5cc503a05e149189c034a12b751fe2030e35bba32bab266f5042de8fa4909fe88d59d3438adbb6d187b34157bc5d4c19c7e9c5abd5e451bfcb628ff5dfe773a52bfa1be237afc0e4bff33c493aa8e09eb3fce926ab71b915c074bfc8302e3ec11795a2234329da57b6511fcc66ef147b6cdb7577a12abe72e75e1a9c6d8ee0192177641f159c321764eade14a9f57ca4d953d3f1e9edac9c4f07fabc7726d650b56cec68a24823d0a0f3f4c0b72bd9a054cbd2c323c0e9c5f9cf58149e298fe6af52603df6b93e8b55ff8c52b17a487370976b1b84051ed0fc0d0e3c11d6b8644979c8230a8909be8a9c7e778320410e59dd3aec74e30799fac7c6a7846f12c9bbcde65729d042c8a944e4c9e513ea15c147d7901994272047aa600e198421910a571e21d8be21068de0685dcc85cfee3517ecda6baa2ea56cab3f246f8a7482a1c54f095b54c7533cac5561c418f9b21622bc9d95ff8ce2e588e54ccf527e8b0492afcd677053ca43296f45d790e143e96f35d79dda8285fe0e643f02914d541c22e03369122d4b0acfa4e5c02af3e03ff35da59494bbb3b73c2074660d9200c98f92361abd366c9ccc3f202325500e39d2a0fe3658d404b36a5ed5e461db11f40afd3b7014d306a175b92d30b8a57f53138f41f8be34244d5fde48456a1861ff3c1c35f613a6241d1f37ef6b45b920c4d754795b34e07a9b7084fff1d1da041d2035b23ad567acb6600002daff2cb509063bf6dc4875483c5729c1ca306cf9c0b593d4d6b369483e0ae2b6d270f6123e3ea4c41b41d8440db0e57b86a78bc7f24740983a3a746e6bc04b7c313206aadbdff1aed6e345a1f4f955960beb1ab8d944f564d063ec9f7de51f0fc50f8d959f81e8be64f48bdbb2373f3d859e679cdddad59baef68eb5a18a5a1c12b0367462ec8e5fd85784220240cd0210ecafc385a75a2217c321d9c42f6c2ac96fd9b4e0d422c0dda7317a242adcd38dfa49c204ad72c0ec80d3189d20930c2990fcfb922483f5f246c0412e6929dcfb63b0712f45da735b683a13251924f140a343562e9bcd5ec76f321ee909a266a1f9c33c1bc5a7bee730ef95a2878d1eee05819c1348a7bf103ccd1d1479c19990f2626427bd24a8b3be69caba9e3a756691d28d1a0c1a1d1bbde4a5be2728189da0f5d515231fd232be0daf342e102ad501d563f63c644edaf98168c7e7a9b0337d953a5bd87550dd16e3fdb9e3e0dd470039711e6633bcd44142b101bcc3c98fb1d355408c541b7e255d322f816c6749d6ea2fecf569196aaf63eb81c59d50976737d1a5443ce1e705672d52769fdcc446e1b71896cef2b01237ab9c65eaeafbce7dd286bfaf996de9e1703e8d48ea4c4fcb6ef87dae8f1704acc34a12eb64e05b9326076e99f45a18fbd7a10d6002e0704901927499d9509d8a13400cf6b62754f5530a33714c5539f1c918b93d2a9d8c7fb2ea85e8f37acc4fb9a9491752d4067635a641343180327bf40d8681090e125515d60c19260c66e9e281c88bf965f60cf52a5d8cb6153897d42803187ad2c3b71c9b2e5e44dc4833e276530be4af9234a64b5f15a407eb50b14c8bf366c3501380f5d312b91448d8f2e8b0cdebe07bf21be71d4eedbabde9bf17d8d9645c332a53a8464e295feb54c852a22b2c3de30e9f4ee9692bdb435d5c9bb6f46fca5afc1fdb29b9da843374ef7782bd2f37d5195b8039be5e71bd9156cad120747798b6be5a791e582ffbce683a2acbd30a20b506ea2c3177ed7e369049044cb095bcfb7d10f7e50dc87f523b251201da46057933620ce56b60d6e1683c5677ce153c3d6cf642644c3410418bb710daa3fd53804bf179362ff6ca366fb3c4f7fe6f87bbe06a7abf56228fd4a8870c4dcd594b63d79972a22cac55aa7ecfb7df2cab1bdaf37a5a8a99ecc1df3066d438f6411e79fb2e8ecbb07c5df6fa3241514287caae95fbdcf5002e1a5721ed8e7d4962a3e6811c30d3e684f396d1db0ce3637a0d9c92d105f917f7ce5540624ba04328d52c217caf9f5db4b1e14198bd2f3481e5cc854e71a6a82d7659bec8d0a4edf654a41051e1b10af8f6b64882f165e9eda5cec02e9e76ff0b438ee38496e99df39dd10934007dda4c4f89a17b888507329a45911807b4a1d607801bb9d6d72db20169c5f1837fb19e8e48345793f942e5c4d9312a0df15b0ab544e4916ee63da7c816a5f4af48ce13ecac8ad1221e63bbd86c8b498e8c1955b1daeed3c0c010155fc888b0c04bff67e0c43a03152d2bd3f430c409b086870e10fb4011f04e22268a16701062308370f903fea09b4e084ab1a8a552f1375a993ced6aa422a680905ffd21125df31e890848e4086c7051e4c78748402d00359247a73e1991621d05c01ad6a5d41f3debff85e309bb5004f98b23682d6f2bbb031cbeb0b2d0d20d6b91634988982878978fc7ed6c125b4e0a7d8c43a9024d4f203a8d6397fe2e0b573c70740ea3bd8ddb0124d67def55b38900ba20bf445947d3a7f2e59b8c58619bf7a86c8d4e4adf42c59ab509e8d5bb8f3ca07267a0a75ae8d01c47d2c9cee9a62d89f97eefa2bf28616a218cb088d11c42ce946e22a343af334f9ed3a93763dc3d44e68b191799c02aa9f931c9bab2cfa9a3cffb70eea2d57e68c17a058a933a576b98e2b2f96dd8737ad24f3cb2437b692e9e08150dd4ad23389401903627302d13131c60cf4d9bba7748e133bbd7b016d48c7404f6653052644dd32bd7d89a10fd6aecaeb33f7811467c508b445ed672f65e99dcba54b3d85932b65bf68a839f88b2fb33ca06bcd83b26ba3e50304edbfa1a2a6c7028f5a2bd84b74f0fbc2ea49dc36b87d819a48fbd2a8b6f91102ed009ac769d69e39fcb88b9329865a0256b77677f45e48c9204e1c389c86bb775ef2913e5a2bca34bce0e03e3f2cb174bf11faff16b9a69786f8e5962f764f4b337c882ad0dc090a97f923a26a7e79412461a7805720a6c99a6c5e2d5a56653f8179f24d08fd8162b5e26ceb8169fb2f3ffb574aaf9b76ca970b8e5efe3bd46c03e28b64d39356124371c5cb6b7ddd2c5373ebdc8153e823f293060dee8505963175ae5c6b6f509dc8745dd81160262af50627f44d2d0ed89f68871d95449daa2612e9898a836037031e0d69044d10945f67b36cdf966f0d15e7e212d8d20489d81c95c584516bc972553cb75b583f338d39afb334351e95847990c0142c4e77b50b2155ebd87a1f5a186cdc5bc526d3543a6988ec2eaa3f24004cdb46906e2380fc62d20d6caa1be6ac67d44df1972be141ca1f0e9e9e91a60f40c4d634241ec36fb206b36489114c4f9765b8119276276570898663ddb23d37c7be93b008cad18707551fe7417dbc6028a80573fb7667dc8caa22e1c484aab7c036c634148a0e574b9c86a63194392bd4b220abe7a7ca0c0101d08895d191d469b996b4721ac5e1a05e4b34d64c49e3f08e519130630885e61d43c5035598f74171e290cb9fd148c64f41e7c04577abe4c1a1154cd4766b08774b152e2a094b837f830409f024a2a75158042ad94a94843fd199d6567337004d411db7781c37846e66203df7e49d68863610702dc995f3fd5071d6de82fb192b6d1d53c2ab506fc5f64edb0cbdc963cf1e1d1677715045e73de3f462085984915833441ce7bd1e73224f5df93e12fc4135ec71821f0dc3702d6480e65ab134f55523130b21427f9358e99592663e7227df0223714ef3fc02a86183694b7180b4b5dcde86d2450cd91916fa4f38e80178795cdcf736cfe62142ed8cdb1b3422970b851b63aadb4cecd5fab5206aa8ee45d235967b45bbcba0f528da239f8f7f88316b855b68a5ed473c43ed63c303f390af54914076538248bec1b7eadf22db2247f73032b2242b0c203729c694d1b7b2eaefa3547290d9c1cea2d209939765e9ac73976fd06742f43b3cfc6b83d7f9bf341564f27bf0ea6f46ba6b13a359795a9013eef252d10a5afb22be2302e9de00babd9168cdf1b9193aeb8921ce8f0f544be038b8155947eca2417343a4665bb638977d91e7812922122196f590f5b4ffacfee38bacb411c8ca5097b55768986784788bb5924f45be7f86b8441901020b5fa653e0ffe8b1340da125c96be96ae216c22cbd98202d65a55f6fc22c69cea4b11b2978674a31f41d9d26c17796cc564b1b85683ed0df9763a1722f32ce673f7cdec460cd74e9fc530c850ae384589a35e2ea8319222226da395d216bd809bdcc579880b57f11a8f081592d1a6a605f4a56d22e469bfb65b030d5e6c34b51e40fc7c7d35d3470a2de2f0fd46c7ebe752158d84e48a3bcd6500a21bed4b69ec78ca9117e06adc851204948fbaf8baad349d244f804db2575a87170bbc8baf1a42d120fc2342eeef1a6aed1c613b1ac7b11fbf56a700530f3abd470b40f60fa3123194f4a7cd984a12fc9ee12e12206ca89354026bbd797614f1de9385ff3105f316a11d1ebb9ce7826fb29e768bd2fb77c1ec5d9172a3564f75684eed41568ec0faefeaf3249fbe97fd8c0893fb87b10bba2ca55f0971c0d1326f4c934176a61cda270bb1ce42bbf90fc31dcf3410022276230e5de02618c0e50c5c244e90e4db1bb204b3b203cd30dba1fc7483a79024fa625bc672b061051c79fd9b9bd27c92516d65ecf557a8cc9eff835218a11f2918aa9de11fbe93177e402f948409e546751f5c7a40bb45193029c97d8918665f86111df27c7acf7a045f44a7c4f9884f9c757cc9136f97c737a8501560c19cebd2b41a49e99690477677377e64017381f140509e5b2d77b2932a12a19ced9bc5d8974ecb6b031441856957a924e4cf15b014ef27ea5cf9904cd0c817de25c984e009011bd2e8e06011401571fc81d89075f633aad070081c0f556fe312ce0ffa046fc6a0b98a9370f7c9bf8d640714e5cf9871e119bb1d8293bdb63fbcc2b7875b634edc6bcd08982faca3a50a612d2f91adda6d5f372482fe0695a8ae5ce50c6d041872eb44138283d2b06e3af4b4d6f70bfd6ed54240789526b41817928cf732363b4213033c318b91e254653a64be2d9b1559d7fb78694dbfe3000e439b45cd299414272bbe7c6687a60f244d956a0809d16ccd671e7595e6c61851fc652533c425beb26c1216c670e912be5e4153a1fd38e7536466f18b92212774cf49dbd2f25629ce85a88401e565ea9ee54984be9ea475c2ee3aa8e93e6afc8921ed54fcc2d72c06916849c2337706bda883e3a4b99ec6136a55cb04f3ba63e0df2258cc3b822f78e9c8b6f414e2a0846858acdbb4d4c9ea7531c20c1e769fc1ca035bbcafc12c53f5957d20eac40883580846b5afce523dca10f2fc0ebdd2e9904b42cf9008b060ce3692b5be8660457d352071ecd457b7ff85268c79b646623a44c8a3cb66c93d4b836b5781574dd7d8e2a98c69802b423c3208ffb626dd5781734486564f887fc50dba0fdfbb47591fb3c8f0850b711cd5916ee77ccead727417b8f8c9ae9db1e2c7983a7e9893db4af36ca5dc0fcf3a011d4fd3abe392b82552b9195d42ac2e8d211bb5d52dcec16ce9450cff683ba8d2efdf2f7e89ec450f59438e5cd21f6a420bb9c1bd63fc98945ffaef17e1623d15342208b4fdb526296016fea796adc291fde597121a7e8c6653930ae3f681cdd12b37536fa921fede8dbb1a01b9f39d701c4af22b62454bd5d4d7874a1412216741ff306098599572f26be4c37463720584ee42efa170144a458c5888e8264dc1cb2c42c30ee1a10d1ba5fe9936e45374bb78dfe2d16c756f241f4e8d29fc9b297434de9905d20d918d11cac046c45c5100b913219db46036930d07d82b9b7e67b1a0cba6fd577351b70d78aafcad064903bd67c29232b41dcb7f64d3959f56420adff167a25b8bbaedfe64dc2775a05b698f4a925506df6dda6391081186d41cebb9146e05e46447f85590c46691efb3b4fb593f9988d1ab5d09020988192e501e5305468bd34d07c3a6541d25f2ff469b26d933e6b903705945987c60d3474c5c70db10cb106cdfcb82386216be7cb2df10cca971be2cdc75d416c87a468becc58dc1a3bed26e64ebab35a67ef191778e7e8fd8d45bdad4620691d642f5da5d32d0082d700ed4f27bdfb640d05d7649f915a5a444d238ada68e3b9282285c02976aa09c27215ca0233033ad023340d46d002e472fdf7ef991aeda1105616e34caeb22cbacfac484462a1c758336734d7989c2498773cb9f43a093dd8f473ac2bbf98ff20e81e487f25e14c2afea41ee37e2ecd83c1c751cbc6c30396184e5cf606ee690635d5566eac56dcad9554ce478dc5a109995028fd19cf94eaca3dc70e418e5da936d6d12738ceba10afa2b540845ce29b1f6f53b7c23b6b62b8fc6d2c8b2a1ea3727e70a3611005e0afbf739fe757fcf658f803bd14fb284758997c30a75c3671379197ffb4849cedd5d5100e5bd8268f9cce5e220ec7c88b3798ffe93fc66b87b3c64fce3a503e938d7100a4b2f69ec54588aed9edb191518887f113c05fed1737d52777483f8b6bbb94fce7b87041b29ebe44067710744bee1bde0213ed49b4702a916d4eff222c9598ff3af78d8ed7fef1c98ff1989cb1a3dd22edd092bfc3ce81d2e715c6236394c7089f18fc4ecd6c08b7d17c4ebd6a84d5a19580a1067248186d13cfd4db14d548311ae0417bc90529acca531f359a5199faa25fe7117c1a53370ca64b24b0bd1acb1a9b2157484377b6245113c733e97a74b3620b5038751130850c4dc8eea3b032b989d5ab7f680e84fe7416fff1881595a438f91441ec1c2c917e6aedf7e68a11520a177e13d997f742fcf5fc3cf76061516de6a62e73464f8f1cb2e0990ae0cf5132550231da8ee65975b51ce8fb12fb799707b7561d6a448daa427f847a080881d3948ee2adf4d30289ebdcde1c65d54e3d9e442bd9648313eaeb9ad91739534d408d3aeb54e59f53ceacab6eba0c9342ea214504a93e381986fe48501d75cc80431b0790aa539d70f210c4e8b131617a2d925897b8132290c7be71d9901a45d206d192b3783247773beacfc4d9775c626993ed101642b5c554da79c648a221d3579456fda1ac11502656cd59c326c42c74d2937b8fbf51352f184ce20c9f0a1fdca77c70af9375274b1f262df7dabc676579ee4274068fd64d0580a38dd5c5b7c5d49afb997b4a9571c34f05108f0f9ffe9ea9ba7986f7fd1b494d86c836f0ba31cdaf7e77dd8fb16924a2b0551dbc472eca082e73c981c628ee4ae90505c3a3f3c01ec98ea5a6526571b59b0c80053ba51b93fe91077c526f8de5e51dbd406a1e0ebf23317aa5a54000c4f70890c2a6e975d81f45036e2a25fca36ce7ebeb43bb17296bfec1a561dce7a720685c0060c859068eaa9ac589d0c76768d30f6812c4859b4d97bdbe30b7e9c60237b22ff58f85d6f3a9fc58df16d41fd410e3f7130945ae9ceab7db4672f274ba4c3ee3b7236f1fbd6279d6050252f59b90fee8282b0525dcaa6cb70e43c297fa38c9f18328d8f11971a0eceaad655e87055812c790ac7fe0c2925aa4a8008b176d90b0044a5c8302d741816bb2d3155dd1255de8021d7445a3e812cb029a50a55542204dcff8740e5457d201dfb1c39b5d4a39d906b66b458b1cdae6673158d38115241422242a28d64d4afe5d15d0a4bcd4d0a43c94d071b1ba79613f4cb8de0c4bd01193ba23994080b1337203c85e2449cd568e6f659b82de8c73428a0a65ae45d24cf4ce8db9a2035be31355776d26115d519eaedb075992e512a33780cf0b3b4dc2c8b03ecefef34c14e2ac8d0a01814d6e42e74927791b9bd8e6e976cb6da50c1781969eb75e48901c5bd0e7952a85d55cd5ecf50f9da65082d8ceb83007ce6c7b909584ae8f6b504747259495ec94f07a04ee33401c74b3f6c801f5ee4db367ff2d28f455b2500977e80c1997d09a8091887d2c7ab02f65a68df35a9621efcca6b756a7473d37608784e16618acfee25f1eb54fa389eed733b763b5001e1bc22bd633cc92ad8fefc95d6daaa8e3ff9bb89e4935d8d7ffcef3ac7d7965f243d6ca240073f4384d8dbf3e2f0e934cea44354e66583fc0da0248e82b5986ef5d4864e95c9711452c25709ccb102fe6cf4659712c3910addaf7b9c7fa3a42f1944bbd1e8c559e8ef0a5f9c24e1c79d2cfce8d7aa79353da180ee43c84e40223bfb7d794540e6dcc1f5a5a218f824367385d029b4a3884328da7214e68034feec092cf19f158169fe51a72bc352503504ba80e69d5d9721aeb9ce3431aa2d6f95db676126489a74ac73b10131e46ee3df68d99e13723d28e93b705b4940595b92c8e0090f34d172574ce9fede7f9d8472e63a2f17fcd68003bd412cea8628e23ea994c651d9ad96fb42872242bdbf15693e80c3a4efd403d5cfebbe03e1e4fc7ba9b181483e54c244d8f5e9cab12bf4bd2327e9cad318369866e5137a9282ec36626ace16e0a1980eb55a6f0134220c0742fdf7ed24d9c9c4de6ddc79b02d2286dfc865666e86893348885ac0983f59b555acc687005d65ee3c5f4c1e16af919410bdd84b72a694f1bc506aebb0f5bd8275a33f5808cd0a820e6ef98f50aacb69cdb269d9ab5a780f424090e0aa997f39618b592e4e62829203bfbe11831ce14c2395fe8d4834ef5eb1424ba337aa0a3d744f761b8a72c458fcf770717b68e7d676429eabb9e6c4994bcf779388a1cd316ef8238a4be6b37c68ad8abb9dd37218415e626c7107091c1dbe673f7ea7f3c9e34fb9eada63f15327e94c58c0f51a05497de26618fac9aa4d3e7a1b4c326405f9f58b653512157c412737b9ef9e4c3c239cb834d561b3d851d799bc7de0406fe54073eddbaf353fe41eb3700186434258a7d32f29e1c233538688d32e62d3004d82b5fd97777b5e982084babb8901a9ca1e3f2f77eb0819c2e0d1f1c92d37ecd1c73f67cef643bc41fb93bad58522b350f75e06830da3387959cb99a6055184d6d663424e5a7d96633b567c16bb38d45b41d0260fe395c953ad66f1da628b5efceb95472314d786d0a6e374a02d9e678fbc358df43bf0401f32f9a95db229b2f638a44791f9873477253ad0f13cdf7037cc64dbb76fb86e06c5717587b901246c3b1442fad44da05dc2e4396f7c9c50962a99066eafc90b61b70f947c0fcbf175365bd2d8508c5f1fcb569de11b647d8083a1b5ee55ba7ed8463a34332058528bfcc3a75a4d5a3877d709dd705efc35e2d6866b50bc9639122f762f4d87706b9b58bbd1101577586a58f22f2392876d541ecb73934b62a04ea973734221699252d0ea08eb766312dbd9198030ae3d259288afbcd789d9b26bacdb177a8ef659c73347d22b80c3ec9f575bc8c0c05dacbdcbc3206014812c6b24f7ee7f53d3ace1b141c07cbec1be20e9016b25b375a1f0c38c4f6040c63a7a48a1fdd94b075f293f30900c062a6239b784ac66504e641f324eb7a026ce68683eb2461ae679ea693d9001b33f261c460b95b681f1f828030dee848cb9e7bc32f79077a32e886cb20f9c85191a859ec586bb339720b413c0559c9e57a8d2b5541824864006ee85af0d2971b0fd7a5fbcc2f398baeee32c589c66b15b37f6e0399fcac14ee1f8f5b1205863270c380fd931b3ab506b78d0b9622724e4e677ce1bd93873ea6d6c78dfe9cdb65127f0d349f27b6f95c7dae2696eec6f880746a1324b827ba6e8d53abe1c15bc0ed361a8717be47eda9a88d8e871fe09d445517746c3c5ec1a0e05c50fdbf3764fdfde28fd2b6cf9dd30c6c11977b660d5b6e25ab570378232b14e9b3a27104d2648868a159f59854f87fd1032cfb44ac19091c8340f600ca8e1aef6120881d15dec340307b6abc21230601ec52e30d39ac0063879a776461c58f815a3efbeaa8fbd663a3c95e9262b68a0cf21377646094faf8658ac138333d649c67066c6a44a18e602fd2ad05336557b5335cf3e5f51705ecd3fe9f54d3e9e37b022a93e88b6737af385286e412166a9796c6d6bc73aa776ceb209713f739fd2496ca9f74282b09a4162abc084eb10093e4aec3ed7b561dab5e5b2e17aef3ced07929f164b5730db8c3e97d7949f1a6c5bc4226b562c9b4413d3abb17937122c1cf0a15c1b872e956fe347e010ce74bf5075b465cacbe1e3e9cc0863e44481e9a491d9922908a74c4909ce1c0231a41fe78eb39bdcbf9a31c74b6f3e050f69e3417021fa6f13d9a51212bae478903b686c57c53091148eeaf508701429cacc9fdbb61e756c15e0e2646832bf5bd6f28dbdff470d3872841e7125014a699d4d729af388736b65172d250da54b66e596dfb65d263a06922dca29f0ba3ba5af0c264b786fa140755ffc2fa67edbd67492fead57f059d2a26fd6458b1caa807ed9a7b40692f24044bf203b9dc2170a6a1cedfb95fa08f8634ffde234a9a32c357a30f2bb087e7753b06eef581978724cb7a6b02c3777eb0f10586f69d982dd9de1dcee5f07c5826593f57f2f87459aebeb857dbefc4cd67e3b90d6def317ae455e968f4566feb469d0304d400d76fb6d3d01626a7892f00dc9686a93bea02c01add962f6f6b86de163f30c8ffca5bc2ada9825d45e43c643acef7702b08a29080cc005df0367182a17287c0e71f6e31bc615483aacddcea851cb7e13ce3b85c702d181e965c42088fa35af321b2c3da97235a5cc4c2daa06a789b3d24b781609463e4e3966952058468dc3a4816046dd3c5f41254ae195df58fe52fb1c5e8512688dbf2e0a2596c62114b2f7173205c35d03a34d86339a4b512c6a6ac06365583f8cff0874aa6d8e4fb8e60cd7d89a70bcbc0f4e5575e96bff852da8a59978afa44debe9858a405dbd9878f89bc5d9856b44a06652ac3e923f216249fa2add8ca4310ac87b871e4adf0614950ad5742b1226f4f269bb67484a19185e271c9472183e24184becb1dc0d8441d91fc7e39c964d17cbd729b7413ee82447e6878cff96517923eb86ce22102d8051d5e9186d059b56e745dad99467ee8b0aea0dd5096dde3813d91cdd08223f9c051bb7362b0c889d4d2b4ea894933abc0bf21190cf06a17ef0b899d61f5609b779d59b650d833570f26afb8e1ef7015d2f5d6619da80d12536914b09e90e2e184c98885cd276e97f3ca527247117f62c3538a6226872520b867f755498facd740d6aa02aee5ab7aae29b1286fcd6296a5edea67e7490b7fb571fc52b962a7c259922b391916b74f003f889bbc164be37a8e26853d484a2823712a69cfa9b35ac93384e77069284c86d66ba974882805cb9b85191fc23424b13397fca1fd5e9f75e4a713b3a59341a8c819936085ea4c04653438e9a9f17ca4c41f9af8500971034fa6c10f8d044b30bab99cd454aa1b6df39fdbe445da91f75dee5894cd92938f9db166bac9c58fb908dad41bf338d01fef24f12f269ab5d068e59991a653b8ebd6a7ece8227627fdaf9140b41a5f637712f15058d0703805dc2ac3b76c0b259980c1b893261cbfe15516c7d1ae9d2842c4d9dab186e49a465a90a2bfde63d6323cfe964942590b88d38ce1d51892072416cd7b05ffde2ca666786c852a54afeb0c904e480503370d66a90ed77891e151e8ca695d96a4f7fb20811db7195e53b451805d9919059aa1bff418fa184fb6cc529ca98f8d9714f571fe78c76a8746873c05c7d2c7529acb7bc8c3b45dd898bbb6efb5a18ed03a3b29bb6fc92f74a6b863fc8b8ce4314196721973626b664efc7f6fa3cf1c99343a9ad8560dd604f4966098cabe970724a387af80d7132a97e6a5c5596c310b02215aea2266c40f109d99191b539e69e4fc02ab0493b551b150ccb2d66eb2304bb4af0542e91b9408ba9b957d9914791443d09702afa5762fb9aa9c9f79923e00c61032fbaa3b11e54362c964651b0249b60056e53a2a0c7037e525f7a8ba33bd29fd8168261a1937da651cccec2eb3b91191a41154eaa94bea5a4ef01de3d526ee009276d339fed04c5f0654192c6048381d1b0602632690bd80b3a3ca3b1809b0478d77301160871a2fc88c49107b547921034bc0d8a3e60d3958f021f05d3f17ece9944bc5443d00cfdee51318d11511dc73e80efa2a184bad82b2f900e7e58b9ba5bfb2622a28290a7f67976abf440c03cd1eaaced8e27041e21fc6970266b280dfb14e28f3642580c51ac3efd10902971687890a755147269f6c03fa5f59ab74a30a0cd518daf52dd251a545d92f268ab061673e584ea3a3982828fca6a5c26f26def95b29e3be01112ee158246a25921295e35b29cf9ffc92cb84691dcf97b5dfa0508aacb60ef680d14e17d058ff75fd4b46878046a280f7dc910b66a77522e19a6128e2261d209c1d9fb215c7a7252727b4e6108ca56693f4bb7b376598621aed61a25ea5b7a45d14c24625d13f61a619782198a806be79da0f9520ca2d56b9c16aab25305113127d53844d052f17af67c5d2fd7846da49876be5d5ed20402f7be52e8a8ff45517836932eeec9ea8263749ad71a7132b3e2897d256c7027cc41dfdbe4bd50354675e0ac04e61c744b5c08c40e11ec249667fc1e1cac8bc31ff5129532eca9f87ba01331a182e1524f5d907927b0b13e5b58da4dbbfaf500186c65e7192ea1e88545261a20439f888b82d9a02e7e7ea861243f1b3311088ab5ab582a010d6234b2fa029982cee231b260af889d167f5c8eee49b104d013d4b451427a9d7b866caee2821d523750e37e5670c950da4c1591863d67b00e7d381e54abc160643736059c0468328e2e14f8fec0568fadcf835b9140c8926ce388cb9b28d6d6ba35d8da913d6402051cdf620e16d3a8cf8df1c2fa4718e517378f0f83dc144b98392d786a61fc2e6aee41bb6d30b827ab8fd3ee9399ab85b63e71664eeb655bd3397d506c48b0fc8bd039c54e0a253c74adc6369f2883640a48eed84b68692f263d381e91ca089d0238e01fe55023f941b01c051f877cb48e40f633ff6df397299a911066c1a099f0e0fe0332a8c713fff611678498f19f661b54373c1bf833bd7727327c0f64d2bcc4ab605d301883535eb110cef4c17b34dfad7e72879934782ad58633f2afadc2c73b1026ece2cc02fffe5a4a01a0bd3229e50f420a64eeeb85cb1410922b8fa8cd07ce43660ea3499e9b032c71c517c3ab359fefba291b55b8df08a2deca8d0d22a67ed22f18f024f86c39758a4bcb75735d210b83b45aea9f3a23e5542abbceb4476193d6fbc5c563c84a731898c8c82782b6fc176535db73800dd0b9443958874aba878608e0468a1bf306cdc481da3b3526c70d933c832b4a6ebec0f99f19288e14bec178d8c6dc908b491f4c37433a08dd4da87583671b122710d93bacd10d4762572c3489b6d11b52499d8ed62fbfa9bb53a96280c512c89d77cf2b601ca219caa1c4597196cd1d25e0f87885379099b5543b6fe1afb954e7a1bf10bdd30fca142d0f4630fa7d6491363ea4506d5f23cafc11c0a3594904c0483b1aeac4ecac4ad8a636dfaf1aa268815895f11f184a5618fb5e8be28d51cb38b993627897af2d702dde84b053d89b10fafc0ab9bf3c9e6d89420cfc7211b4230c147fd2afc9ec866ea067e185cdd8de771efc2b796bf2aebf638d0f1ae39a0ce43a211025e41932d94008f111a1732a20b9cf88469b05ae90ebfe597fcd72f3b8bc891ff3219799ead83124913a1c28802cae6de366baba8ec7db0dec82d9a7fbe586f6ecd116573512703aa76138aa559a3adfb53ea344ae4708db0bf1966e07a04390e251299bc366c3d98925d69695cb1a2089c36174239e5de5575eaba5289620c6e0994257b1178865018735cc75f8a06346f6498802ccaffdca842c01713d5861a870b1e8b16ab453d3ddb0b1315125afcbb3038317a6c7d00777491f67e01eac21482d183ce6a5652643fa4eb99826538f082f32fd975c899af1a9d649babd4589981891acc992da3bab97d6f1c4c1654172fc6f1e4c5998a114c333c19a1a783143662f9a181f960fde828d6c23a4181f4c82f471304a94b6e50cbaf2810cc356890b13079c2a95d33aeb35f5710504c1c4ce6e788ad865105c4a56c86a452f2b17233fd130703a8c043d6bd4d9d12c513675fa0c4de6f812b526619383b5a4c7652c141319cc94ed453e6e9431d461e7ce9484c9a02287b471e5cae78352a02c4648510403d6821d3e953b31613def607394ed0fc6896bc2173e941244bcc5f20b3283109bd1a326de2b059fc0ffe4d903826facf9d5775e943437a88309a5da4a80785e21ac0d8cb652a58af7e11e5257957cd8d6f8e324322edc5c48de4fdba14686647062e357e802a7ac6fa48399e1c7dd03d5fc71e8f2d804fddf22052d495e22fb9fada216d1051908681d83e8824f4d38d2c139840a31ac16d2c0d2d098179d0aa15ee3f67d8249c91a63b890d4dfc6017ad4154b5cf14421e7148165b7056c9b4ea940a2119298174e26975515cdae7a74b0800920842c16e97139ec4d9f2d1ce24775ed93c0b9e0113d2c2644a8d75ee01ce9412a888b472c4ac066a4c2e3f4225976ae4012e41fed44ac2e15a5ba0e486323372fd2b7ab61997fb281987153ed7279ebae25f968683971a04c0f7b70300ef6a9d9700910a07b94dab9cd666f0fbd5684a393b51548070f2d316eb0701a94a010a0eee40e8861d160407af2dd6df57f1b71c715bed51ebc510fce5fd24b0a14d674509c40beb8f92f2badc5afc91ec170b3d3ca306a559de72a7014ee06a2da4d3a793ece310a328858c065f9f25ed3714b732b3fc41dc32fa130723a2672d5475a6d143fd92f426e384792319830750c52e236c733ab8b7480ec404f7e918d32ad27e62b7e4fa01b15263708be52b2785db60134dfe6ddb60e20e913aadf5af79da136d832fa8c6eae98a56cdb220f04eb037597e402139056154d5246c816dd5c24f2d6a59057ad73bb9dacc4b2092bbf05b2bd2bcc05d5e6f90864bb139081da786e93b0182babedb3238acc10f0f1cb5d9fd3088912a65618cb7d745d2c3dcd8e0e292ba00b39747186b4393f2d9abeaca8b8190f570243a81f7ea867394a3814ae738bfaf8b2d8d907467014fd64509b11979b8b70f75a548cac9ab220fdb67591d255c66d16494169f5583ade72f372c5d04cfaef2c0f012b65b93cf4bb081500f71a2000880442af45e2c4ed53fdac5f0a1732cc085bf5336306b722eb39222f86f916984c6ee8ea6396c6c926b00926ae09e125ae2f24b52853160a09c1485131091080d4290e980e60fc1c5eaeab933564ca95a70c27e84067d4b971ff55182da3607f87d81620831b900f8b0cf72dbb7f7245161a239a02533682108a7a398b8d9886c9621bd91d8dc0c0a48438c40e1b90fb8e54dd8ba55779c5c93a1937b5cdd07726d3ea2519bc8921a5bc5c2c2285b7e55d214e324f53bb2d3a7c553caa83069955571c23db2916bce15b0d942db0dd20a3fccaa13f4335b66cd94766231b69e52d75da28d3e14ec05aceafc99f0d2aa58dbc8cd49ccd9ebf30ce1265533e943b9446f5233bb30efeba64d44b4d3d5fb1b56e875cc0b813cbe8073a8d751b092083f5f7569ffe5428a806a208323ccf61d72666298ba1257d4615db7199679a1228ee674159f8564a26f5cf73dfcd592d96d73b432d5c6bb8ebc5b163447a0045776fb186b33cb0eaacb878a7d0c03fff7d6a273133edcead039c8e45f445c287b91ec2654c315e7d8e5d7a3206f02090b19ee4a4e264787ce66e01dd81116ab07c541a1a8425c5b451ab9a5410941760a16c1eacb25e9f24034ec9443b2815236cd0005eb3bff0f06ab5f27372785b05044a75d84582488c08cd20febbe85cdecd3ac9c2692e86857e33c05b4ff774135bbbe3e8e71fc1e54ea59a6f4bcfe9e0518f013b3752a87d9fc6ead41432c3942d03422d2cf8bcda994a9dedc4206768c0e96dacfd664685979875491e94b703906c7f7624e8e231f8fafe20062fb79be4dd7599ea0c153ebcb3f6f18579c30eddfcfd2844d13c1a50017ec967c8e75bfeadefd798a465e636859e42e9323a44af5e8381ca6103fc634bbced01996291f9497e0be8c1b2850229b150288171e0c397c95f1749ad3f8e09c68b1427a6ab0c13e15169074e6bc0fc68d8143d433e9fc29e7e44d53fdca2d092ae34566f42f90b40f2ae5f3b14da4da1bad4083d0f76b39e7a80c309f5674e8ada5d7b1e4c2e02d094c39a7b329a0727763aa18b2ec412c6c143368985a13b87f6a14b68b3ee6e6b8d7a91af8ff810ff84225ca385a218871a8c3728cac9132c86677f2bfbc9935b55cf9f8231dc200f89e969036ca885345ad1a01d974a441ed991e86fe8b3923fdd5aeb82c90dc1ae5acb2a7aebe723992bc9f799dceae0a09ac87f40920d13ff48bd9abe3570ca08e0213029d3d056b31901476b56e3102dcdedd7a44a7940404d586c273ea47783f9c8d1114ba4843c4bed8418aed5bdc6b27fc9c913f7911dfca8c3034204c0dfe9c510417e3c7a83aa9ab62d1c09c67e2c33b5ca61062faa6439eee5241d96ca14439a606e8a5d2ab52e0071d0367a9ba615ffe902742834c668460c47ff0b9e1fb65442ab5e38c3c33b4440e02c1e93a19c60ebb03b978e98f6d2c1a1244d1803594dd049e1c050b115210506c4a75c0f5f274182f267c1dc69e2726fce01a91051670ef10e34c56c6899eb9a141683326e954d010896c22f56ed23317d8bcf8bde98e3f97fcd8ee92ed2e496662d195d9c965aa77b30189d66684a48210761147122f813d24f0847bf642984d537ccabfffcf307210c613619861947ca378d56710faeb0f6930b400e3c1780206c9b37df7b3387565b2fcf9d46b9a6ab60827020888c00fd96e617c85764de98bffa2882f8278b1032fa67811e4854a176874a1d3050601404a100003023a252efeb8f112176b6095b9b6acfbdf523191ccb37af5ab4cb6ffcf7b5b982593b530939b7d46f7fd3f5be6973219d7a9f8de2f4f7d6b2e994a5d990c66034add55df534c4c96c1dc130c0794ba5f9a28abc5de3445a1dcace82f9962f7e7d495c998d800dd2055c5f7d42c6c66421b5d2f8b4fea46cf9c9ba55a9875357b5541ad56ff6af6b2da7b4aad9e4551ff67eaa676ea335ea1ff49b25f692e80dc9dc74b5cb86ce147690b3fb68841690b29dcb37d5b2911994a5d998cd5ba09934ba65257c63d636203745b2a5e71d0af77b7eb07a93abd5a755131e96837e914b94927bb490715a2828c145e92c1c24b32637849e6025e923181976478e025992078295b7177165278712f51d18797a800c44b5598bc54450e5eaa42f45215375eaae2c74b5514e1a52ade4b55b4ee7ec28a098736dc84c307dc84430bdc84830cdc84c30e541052524d5e525ff0922ae32575f4928ae325b58997d4d2dd4f6801851554a8c14b2a645e5261f4920a3d5e5261082fa920e4251504e02515ae586961872fbcb443195eda410d2fed108797764881bb0b49c16198028797a6d8e1a5292bf0d2141d788909162f316183092f435c0585202a435e523180975416e025952ebca442869754d8f0920a1d5e523181975456e025951f7869e5f2d28a8b97565470771a4e5a0071a9006585249b132f65a100f770cb341956ebd587d4c43530079681354abdefe9572868383681ecb74ecd5bc4eefd2dabe21507ddcbd21a8acb4bf62b36f77a599cc4e525db2cba5a6913abe74d316a3e6b5fdcc23148dc2fbf7afc1aaf14dc75d0800fec35638b3e45f1c96a1587263f8b85aeec26571b13cd7801ae8c8ae2953da2ea5baedad5fcac559466551495851820c6d5c380190668362d3c1713f74bc7fd5ae2a505f0a0b4803dae20dcaf1c9b163c1670e3eedc2d9253cdc2660b94b85f4024b9703c89ebc6c63d0666060a485d0922ee58120218803ed59c21bdfa2639d7ec103dd1ef5c2126600e1a2f25a0c85d457110be5b68c52b95a97e79d5767db5d5ad7be4e7d2dc22bc4ac08fdf4fc1dd2ccac22bd4990999b8bcadf4598ce65fadd0db4addad9a372bc24c483215e5cbcfe8cd36d6b9d9be31f94f2d16e6fecd5f849ef7f449b4fe4157ebf7b07a67e75fbf09ab772e12499a45084081bb6f4357b36dbeab3ed767b5d745407677b3e88829fe78c1144fb87b698a23a650e28ec365f1ddabdf1bab400a3dfc8e921258f81652a45a8c481443701f5fd53bacd64d32116eb2374e6dd6eff176727c9aa429ba84e877f2676db3f79b66eb03c508a008c3070a263de2e7e3832f8bde530be1557e5de24ba455a18dbfc9cdcc67b5d8f5597a65dd1bc46fef1b4c9cb27ebd9fe8e373f3efcf199107a2bcc95e480fa9e855b1596216e753ab3656c2ee156d57d665f7e754c3ecd5657275b2bdc9bdc3bd998a755f95fa958d81b9bf539ce46629ae6b5329f5592cacba2bac9acfdaa9fbecd6e9fdf25ef56e6dee169b5fde54cc89247f6052aafda7fef3d4ab8daa5865fe0aafecdd1fa4aad81ffa144d4d19561584a67713e934c5e9355176a3695a33c39a3f74718c6a632524f9f32bcc355196662f66723376a3e94dd1fccca45619ffaaea5fe96dc4a965d8565f1d7459ad166924376bad7af52b1915bdf889eed928d1fa2a56b36dbefb66eb9f6e76b354cae766312c7a357b3791cdc22b987bb38d999c82347bd99695e298fd6cabbc2a0a736f769363a2ec8a5917a7697bb2f0abc85fe11df3593e39fa67e77ff3593ea6fe7916dd37aaded1eb0340d53b698a6d84a848410209d50aefdddecf7a678a094bfcb1440e96b8c1122758c2034bc8b104069630638932581ae65e23374687db52f1ea9e74b8244bdf930e5785b99754b141eaa79788284b20b1442a0686c5e4a522801ca050e8b319c5feceaa2e51a88d51acfaac8aa27e087fea7e2171bf7eb87e709f1ff38750e63fc9ff412b56d920816e7dc4a3df87124af02d7315e00a32ba38b24259143dd1ac5747528caeeca92f4bb397458bfefe1056115d01d89af52a76c5f7877499f359ef20b97974fdb959c52459aedad5e608244ea059bc3e8b22a1b9a7297aa2587ba3d8567fd6ecef22f4fc95854a535408a562512294d08a57bf9e80e487110e32aa9fac9fa6d8e6666502d9ac4c20d6ca04d2a79ad362d114659db04538786d6bf0dad6bccfaa6d7a4eee170f45dcaf18f70b8688fbb5830e4422708f514189c88e8b04415480c5075a8874e1ee5889f6a08140832b74e0ee170a4aae0e29531c010377bfa2d8410d31abca4c19ee8ee9e0f850832888446104771fad40451e3e6800167098c0dd57b258c01f170ac825fce0ee97185f8cd1934206ec08ddfdf221015178aa38c01670b8fbd50711ac5022090da041e8ee242d522c0e50dd61840c7e747296ecd62ff1c15080599c474084e466fc6b8b4dc262a5d08db27867b35c5957af265edd23a922bccae1cedc9822bccac1c8113029fae635728f48b120a0d4a6e1a8f55928fbab2b07f70b07203812428670dde0ee486067a062d1151bd92cbdd7cc083764c45c3737e419c53dff49761ed9de2c94bda7464f3465adf013a5521b9797b56acb8b753e699f9ba55828abdaed7da2fba68aeecb62bd732486877be416b93cdcff13a56a74c3dc1e2e0b6551eca7476258280b63a6d844f5702ffba91123f757ad06a12776b76b2a95bad9af419785b2e86d95f714c34259988b04ba655ae98a537485ee8bafdaae32acaad79b4af16addaa4671da06b150f6e2abd9f5599ce2fb7fa252a9168bae1a5d59a9bba25beb1b58287b53dcb22b3a74c3fd548a593c29164ddbd5fd3f6f8dae43a3ee598a48aba9d4767948b12c99147f1632717977f644506e76ea7b37fb40a88250255affe49c9cf2e47fd36cf7ab76cbba7aef53febbd1ab6a149ffa55ec182a1625c2ecbe4fc46a6f56ffb2445a77c771bfc428a140a42270bfe4b541d5687e24291c974c8b4a69ebee325e4a956497e65e92c686fc2a13ff7a53bfa40dcf5a6953080f213984d670c14b425a482d09fd08e9b80a753272c9fc4636ea2444440805f7fc2a8a5a9945669111ac11b864c48cbbc7a0520c732fb9fe555d15bd32a8cb06f7ab06f7ebba5f351861a1aabd6a15abfa038a01b428f67711aad4d6eb23813fcdf8535510badecda2e53d51d586520a1243e5e25a570477d5fd694bc577ff6ac5bbd5e8d0af3d7bcdcc2fdbb24ec6fcac4d994fb1b9654617a9c6d42ec04ded1a6e6a89d0a406f71ddc5b184d5b046eda347013fbb98965b989a5c24dac1b6e6265e02676096e6a5770533be3a6b62d0591dcfdecc3337a8a40ed8850ad1295d17c9ae1ae4f147562e1fbd1738abb6714abd37da6dccf9b3f4fbebed0aa8950e7a9cf12fec3f7ebe1fbe928bd19de4a592cfc55b8fb4e51cc7e46fd9fa557c25d9fea9baa5651ff83599c31fbab9f297d0eee4ec693b20adcfd6af6b22d4b456fc648587cdeffb9c4cc84bbab3a358d6c237bcdde7c80fbdd1bb3329a93a0b92c6ca2885ebdb4aba654f621669b8cf943698a57db1db0832d74b0450edc9d848375c5495d75a5d724f9b7eca3e667778b5545385b759224d5a29480f2c23d4db14d1066dd0f020114173861d115aab3fe104f1149700f52d1b4447db0144a4588ee2956eb15b5e2fc2c5e89f607e56fe92254b82ee7fc9aa18898c13bbbc68922362f49d9c3ddf15df57d22c50cd5c6ac14d63d33d1135d7fe8f22145cc325aca20ca1f2d88d2c64d09a2e80ca1a52826cff2de6b26b3328b568d5a99452800480140cd25b38a0a91da347f70f2aacd6fa2cfbd667b2d8728c2dd4df0d2103d43e00c91835f9245f3af26ea74c97b5ae9354946314b7542a4d3b4a6041484a25781400024865ff2b238e6d47a21181f39a00404cab05619c55a65284ed8c0dd6be01af5263ab4fed638ae23c24d724ed16715ab78f1648df559947400d213a426484b9004406a834a4e8ee07bcd5ae5fd8c0ea1990927aa92931ff6af92fce13eb8fb0a7eda60e1551ceeae017787032319c1556090729520152ab22055af4497559fe8fe4afbdc6c97ed56992a5e91b8ca07f2a3acd634f53dd19baaa8fcbb25c9c4c0b458d6ea511b0d52511b2450f2b9eefe59ab1913fdce0e35394d14e06959a22a1377254ea2728aaa4cd2dd33e0ee6fb87b8b05884a42a060afd9c94b4274f1e8caaa77d5a7b9c2bfb2fb3ebab2eeee461b6528a00d21bce70e8f8149db9d34c536ebe75593a436449279e5d95827e7fcaacd1d25dc1049a2dc9d0d77c780900bb8fb1aeede6201772a4a3ceea6fa7b3f2aab2f64e2f2555465e2950c2662a70eff8d599dfab8bb57c0ddd570f734dc1d0d773fc34b3b534a3b2c05dcdd0c927b19de66e96ee1b5c56b8b4b4cb4283169b9a9b62b7b4f57c5412b4e2fbbd1f4eaf591d8e8109a2f5e3fab285efd8ad3d64cb179357bf1124a3a6eb83b19ee3e86af2b8e100fce4f93274b5898c9fffa8304af2dc66b8b7558ee8eea90dcdb5599977829883e82e8c3fd92eefe450b5e7491a6d864b75ea1588c82c0b35a2c0a0974a38af08a551f65a1e6afab66dd9d8bd68a51133d5ffdd2ddb7d84578b5fe101af4002d50ee1e80fd7fbabbcb0bfb4226caba7b16fb37aa08afdcdd011945b5d66f8f70772cdcbd010c70c25aa138b52962d5b0efb37e9a55ace47d769bb2d6d6a749ab4512a4a239d54a9ecd29c269a2beb9ff66c59fead48665bd69d6ec6f8ff826eab3786c887ec7c4f97ff2afec5673d214db704324e926a2cc4d4440b8894800441070d3d008dc34340437119910aee044dc1d86bdd747370baf3ffbd1f55b21d65789785abf44b5b192ddfa256cd1e7df58677f10eed926cad23fa5242a5cb6d53716c0f1434583d0555f1545e1e081f3011c31347b4f973c5df29670a6b83b110e5ac2717249ad22baa7bcd76c7d96853346b5cc4bb25845744febb7d66f85587f489b1bbd5999407f621f7722dcb8739d1356a73e37ebf7d410e99d0fc23d59dbf4a83fd4c2e90d0f6b6502ad8fa62c944d5b26ff49d8a2df81c25aad4a6e7e63558faa519cf39b7cca42d71ffd93df5471bb774e8a59fd7383597c93f12bc99fd567edd6a7f54bb64dfe15dd7f93737aa0a4fbd312afafa6ed909af359db645523699936459fd51c1c566db58d6a63259bb55a95a8af93a63519bf12f3082647ac6ed88d75f6a7a6ea847d9f8cdef8b05626500edbf2b056ab122153a7485414ab6c5a38fdddfa254238c9e84d0dbbb1ce0f9ebbbb8b5ef26108ebab32e8251f7e705f7fd56e559b6d26d2e969a2415a279040ae1dbfa2dca06a9445b3aacd5f59376b15fbabdb2a2f2c30d2c582124d8f3bbab25bd671992653669947575609774f020921eefef313a402eecec44b3d5460d5665a62b65dc5c0704fb627da939559b43281f24380bd3df470d7d61ca5626084346aa359ccbe4ac4a0ee69c3eca0c43dad9fd5df30ad1742b54a142adb7bff1aa4a2382acca4b45e4ba5991cdcbdc948c81121a84c16af7a7a86d037bfc9fe9bfc79c5e6466f6a929038707777000354f4b242d5a8124bbc34d2e11bbd351a887b52d153ef5cadab83aef502eabc348e3799aa5115bdbfea1511a98c5f85627f93e4fbdc2c95baa7de5f9ab7e666afeaf5e6be8a45d7f587b40d90aaa2417f55f4cc2a3ef535d556ab278b552d26caeaefcb7eebb25a65dd3445d97d7fc52c27f7d7cdfe165af16a7d1613dd1e264d94dc0cefdc2c484557da54d1bb037b250210fcd0230528a8e3024b08a008290000e2d90122490d34b4c0021c1958028d33041000d40c3268b50613641083235653025982118a20254a0b2c9856f0010f6c400e3630a00615083800aa8821a0f0ece4e041020f8c4003582879810bf020c107ea90230e09801105010600043f56900239e280a3024e4cf99c83631ae2470dfa900108eac8c01b6b8c61c5149f51454889022507e70819631a82070940b085165638f1b988207292e01c214d1842f21af481070942e0810cbcb1861a632400014e1011444e0f47c8d0db625030913c901af411831080c0037564e00d35c64880150898c28919a08890e283912c0948d0597282093090a10a29a20082a27d314514ad220ab804325a02a60415246080b4944122031b039bc0c561db48bbb22032231e4697851a3019ae18586018bd70b9406ae162c125051450189548270c31a1340406212f0491e1c5e4c2d2b2c282adaca8a88c2e77184ca1e72abab28c7cd626aab64b804570f71637813e00ed485d98aba2771f69ad78c52af362f7006870c804ae6076bf3dcc5c981e66aed0f70788830974c1ddd95649449665517294acc0f089a1aecfb2986564654ddf7f3d31f7cdb5d552be1b3e213babcfe29b63f2f4b8459fdff3ccf0bd66463c243c159aaeee1706dcaf0bb85f6b9054dcaf1a7433ee3e6e97e6ae6b6b161947710c4770fc466fec466edc466d1c45510c4550fc444fec444edc444d1c43310c4330fc422fec422edc422d1c41110c4110fc400fec400edc400d1c3ff10b3ff0fb3eefeb3eeedb3eed1b3dd10b3dd0fb3ccfeb3ccedb3ccd1b3bb10b3bb0fb3aafeb3aaedb3aad1b39910b3990fb388feb388edb388d1b37710b3770fb366feb366edb366d1b35510b3550fb344feb344edb344d2bd2f69aad5ad508bb3a8988f27282798109c00dc04de2ded3cbe92509f7cb02ee5705dc2f35d0e0feb8240a5267705f70559838a254ea922fa754ea92ecf9e9bd2fa9987bd9f35398540f3df460c37e95c9e2958913a2e79e8810113251350d34b818c86d041b05fc6ef4c9ddeadb324162da9e70cfb24d6f2ad3a68ab933337783b9ee8e833b668249f3c3ddddaf9b30c08880fbf585172cad77b634c5361aca8fc8e870771b726bfd5192a3da58c9ead99cd6caaa389f9aaa13403231db2c8de2f5068b2fb680c22453f4dbe545d5595535cf556b90988a3ce1bed70cb5328b4852d5ab95364d271e9cbc7975e17e41c0f79a193162ae9b07201e3cf76cff7a9fa54d94107e2221fc50dedc68911977a7c21433c76a63a237f129a3ea27a618153c180af85eb39455dfc70462d5f7c148521427c958ad32b101d25befb4e666ebdda9d4c5e8d0cddf4a5b2cdcc2ecfeb94578b54d7485d556beaff1de2c8a8930ab752983f59157f565f1cdbeeefb40ad5e22bd06dd9d4aad2a56dfd4443aaba7531bc939ebb3be6471d0af414139d7676502658cc484c314f7134605509311131fe978497c5443c47d346aa3194632dcd005131b20991e2636403d180e1254bb656d5cbe31526384868fceb0a10259908ab25a29ab7e8aee9b21816e12889d9c9d263550b2d413ddd3d2ecef276259745db18a5e95797daea90622f810aed212fc08a61ac2bd66d769a2210c130d41b87bb6d374a729b629dbdd62a559af7a4c3014e1ebaf8f044ad56a11fbe3ee27b813e1261966f08b5e530c2c88e18d185aa6185677471931c1e0c625334652f428bcb658d528cafddae2015ab85f595c58b87bd18fa9851ea0364e538cda1885f29509a473eb734f33ab4e4bfc9251fd8424499235db1585523f675485425918c5da1b459234269a966d0f8b55d344ff90e4b3783573b81b5f234532c08122462e5edb9a6ba448191c28626406af2d665fc844599a19f39f6c74af1addffe70fa141aa46b12956b1e59bff646516d1d0c4c0d0cc1469242499bf48972489f369d9ea1b9af5f3ca93557409cd8cf94f366d68666502912437947fd5aaa8235679c81f43b0786c1ac2aa310dd1b26d128203939034dcdd4b2c631232c5ddf58e498816248fcd6e9629482b45f54e1020cf7e4c41dad5f4c287e9a50a4789367a4b9d962cd30b2b4845535445746b541bab4c2e65b8982617232697212d1a30b56c91fd4a9bed29d760a28c85b22da8a925852ca555442914b34effe7654fa9fb7fd66455974578656271c2c452635ae18167a9ada24c52acaaef0fdd9856844c2b424c2a76b8672d4cb47e50fecbe29aecd736481584aada75a39b85b9a736a954e1d95e35cc35a9a8dcb36b5239c144b2c3442a72cf762a75359b8a29617e08ab62304c46f33373f2a0b2aa4b13c9dd37d19f57eb1fd30807ee6e1ab5e1ecb76e72ae69d4c59b46534c23d348f3ab62d3c8dd4dd81e8ed7df4ee670df264c8a094b62baf6704fa1347b73aa59d3a59a2e144c6e877b862ac22b1635d19455f437b7f04a0765bf6a5b78d5524d6e84c95df0144bb3fb06c24520acf455b6d54654346bb2843a96c02e610625b840096128c109cf5257265d99402cbcba29328591a4ae0c131ba0ad841a94a092842e587acdebabd8b53d597acd365e4a0287041020a1c8ddb3540b9b9f51a856badd53d7dc4cd5a85e59777d76e3737d229dde9a6cbfcac4ac8d0410903edc86c889890dd006240080a400d1e1081b704ffdaaddbf6698c53729f2ca64fb572b8d572cc62c7a7fd5a7d9e65fbf3df5cdc12bee59f5ba3e8b51acfa3bff6e695447003a428adb8c0ea17fecd15eb5e68f27fee8d957adf943fcc30523f821a42f131b2023b0c0086db87b96311223b09eed31821223f09031929c4392e60f916466378ab5730e1aa4a2f9778b2a42ca3ddb78a345286122e44104963b117c1802191118421143e8867012420d845086109210021477cf549e4ba672b6dbf692a9d49521770baf3e9506a93b19bf12d49066a18af08a0831087078c6c40628080e0882ca8320664c6c8082e082bb03c10f14086d38abbef92b7a8150857b9681907277adbeea07084a3220d09024d1ab7ef07169541b2b61d55f692624f943a4553fb020fc208b1fecfce0851fb8f8c00d1f38e103233e80c1b314fb1b75635e08b32499baa786b9db2ae6cb14fb3e3f2a4f0ae6a67252a954abbcbf424bac4202355115b3fe661fcdfeafe74aaf670fe4e8c1de3a655b7dba6c5b6ead22ea81e6251ee0208b59353a84555f6e74c50330dcb318cdb63c88c28316568b4db18a26c9f60e76808567313b00ca62340b737d7670dd331dfca1f55aa3833c5c075db8a3aaab35ab0396111d688e060ddd1a1db8cbfcca42928339dc537c73f084bb935eca810ffa6acddefff54411bd9a6a5d66a25749f2e70680dca00537f8e2064b6c30041b6cc0064436c8c10628d8805483366a70450d8ef451843e42d04701fac0e9a3e49ead90dc5cad5e15e5b9322a26baa85456db14b3bbbd6992227a15a56a925479ee66afccbd595ba6502a3651a92b732fd9246b6f919a6299ec7deefa2c7d4ab189b2e8da96ab3668c53757265b359135ab3498634503930625cf56eddef8a638e3cd9eeec6b80867061198412ecda0063e4ec087147ca83c4bdd8dc6a4de54612e914e7fd5f77f3db356cad22b8b856f4c2a95a668f6bf2649613e5af670c11e77ec5194e190ae5855965db2d52d1dc63113c244a4a2fc0afbc860063250800c4a190889811b31306370240641608004189001031f3d90a047187a64771ceecdd8bda29bc8fa7bbdec6e83b831dfae2cccfd2134c5df06153d1bf33bc5270c36efe9bc698a5129157faab54c966526fbf7b43f08af3fa44bd6afac132a74f17a8a497dbbb22998bbff0eadff422a467d5ae2bb3356d563d34325fbe1e169a2629beccdd2c9fe5fcffff391d0eb893237ba425f600077706b693649fecc1469241b9bffc40565b80009172871cf62603646e953cd21c91f14ab7593520bba70cf5822aa264abd109aaa4e587003169851a6a95e3fd52aa2d54ab39805be020aac0068054254c0860a885480e383147491829c14f09002219ecacfdef4f72995a332598c2485557c4f3f3763f7aa3557d4bc698a857852994d8c0d0c4fea3746429298d52a37cccdcc156ff4ccc9622e86b92954fed4255915b3db2cfa7b59ad6e99968a9964bb4441100a949c60082778c009969c4006137ca064822ab254d96ed4c6a98d89b8ad484f10ba531b2aa75ab57f55b128d4c6315b4665554c74f36d75cbc4ad22bdb25297355bddcabf6a55ab645a6abbd53f73ae8a31ebbcd9aaa5eadcfe66ddfcef63821fdcb3dd7aa1cbaed0bb89b0289ab67e89096ec64255bb047fb45ea80473ec9d1254e199dec9e30579749107511e35e001081e12c08387048090c00e3fed67b554f4c6a83666f7854163f48a5b698adbddc204a9e8bdc9b9e897ef43028f042a8c80072350a33482284600c4085210010ddc1d082f89e0012230dd9dcccfa22b94f2e6caa452f7943a7972ce2945ee8cbf4979736532989d5154eb859690e44feab25b9b35374bc56c3657264b51566d2f6bfe79fe97ecef2cb55b2f948af149f18f6a63d5d6a79a73871dee357788c1c2bfd6dc31c5dd5de5b9a34773afb9a31482343ea321d0eb238143e081c00ff3597b854b20b8020440ee9ea5566d934271b207810b5eb24304a68caad5bbb12aa326dafad07c9be22734ad5f3263fe93dd7aa13445cbf57b5abfe4b3363db095e29e7d10b6a3881d25f754ccf60116388bae5ebf1066f2812adc33167ed5dd446eaba67c28a50f801ee0c3037178a0e8ea3a72500703ea90a20e25ea8852c70e1d4a70771d2fd1a1061d5878867f65a1dcacb5fe109ae5548c0d0c4f6abb3259cc0fa15bbd1b25498da2581be6a6627c60785297d4ec76655228159ba97b16a57c52a9944d2a15e37379b836303c599b44ef4307cbdde9b8674d07d2e840d9011a3cfbb535cddd7aa1b2dd9a65b56ed282728b142952246357cca64b36ce5e318bf3de78c521c91f9a9cf383caa9e60090bb4791723321ad6b38b0d5fc68bad19cea232d36bfca6451a24d8494f5756e771429f7553f1b5881bb0fd1ab6faeadf621491a136531cb6a85b4d621c99f19ad222ad248d2149b1bc0618e3c7c0e3d87d01c2a78d67a21a257635244afa6606e96e30a39949023679aa69db4edf29062333584ae9fa15c992c06e622b9b9aff25c99eccac8e1a28238f088a38e381210c719470c1a2001cdccc5215bfffc7c372a93c56c303c578666e6e290a1503fd96eaf8a65b78aa6294eb15a3749dd149bf86e567d15dbd6a83656a1d896a5da5809cdcf8cf94f68c476c6fc27459f5522348e08aebb47c4368a6b008e1eec35e3b22de364f4a9a2b8676502d1c4c0ccac4c201e9224c99559047e9c121ab1cd3970b464a002194065e08437e07843e559fefc5a0795e8c5eafa433a88c9cd5aaf6277abd70f5271665badd99bf1af30592b7d830637ecc83656b931851b29a257efdaeaab591bdcc0da30830829f72647eb9b9fc5d26bbe1b1365ac6a43a80d1e360061038c53ab6ffe15caaefa9ef2c5288bde53908a6236341b3c18f843ab1b4da15e08b3a9ab6251cc668c013230f08301f72c15734f390726b587b0aacd4752698a6d5217abed055c7081349c08296c8b892eb02f20a5e602316bece14e849493fa5bad59238e35a4c06b806bc460010f5880e54e8494136b62cd9e32ba5bab2e71dc3d89972c7055c08e0a1455e03a1152ae89ef894ddb2336ca7e506ecbdb4a379ad356e77f811a6ea8914fa78cde2852b234c5e6ab542c8aaf1a3ba4518434c4707722a49ca248c9548db2ea0fadcfb62a5e99288b579a6db19ac650290d25444839459192b1f0ca5e15fb94d0f823cbcffecadaa91f34e840e3093434f76cfdf36c4b13b3844c9c5ebc5958b57ecfcd6274be9acd3e4361eec64467fc41e48c3cdcb320155df5593a030bcfde3c63893360dc3d4845d956b730d1d5eac5ec6963a2fc2b05f27077995f4b1410a34401a02c26bf8a5d5945cfc2dc5caaaffaa1800b2d15afaed63f2533f2f0f587522933c458b11952b2ddee8dd2ec4d333353a491d0d0c4c0705d4b4393a6d886246976cbe76e7c7f6666562610cd4c9146c2eecf2cba4275a0907107195c90a1c4dd33cd962dbc4a5d992c8655dfd42b16ab60fec4dba734c61b63a0c608428c2188e10031a81063a624468bbb67457ea577914f5b69de98a85584d56a918da6ed59937dc62b21ccbe8ac577b3682aa577b2569ae2557fca5a95a9a0bd4aa935d929ff29c537a78a2455bb65a1567da24892a6e644849b90e40f9ba781e03882b9ecdefb3ee45424b962958922491a9264572794cbb6ab1d668e68ddf95f788ae77f230ec3d25491248dd8ee30835251925c599666640cf1e77562c6f8fb6d0b371549b22b4992640f19c6df655c6adf8526f638acd228f24d95474d429224b9597a9419c56ef3ce520b4beffcbc9c552499e2a14791a48a8227ae2bcb326bdc36e2b07b535391e4fa2a0f63ce63893753f372e8899da722c99dff378afd2092a4694292a895ce2a5e5578661741ed7645a16088d98af0aa06980da55354908a0605e9f405221d4adb81880e3039c0e070ba81880d45ae56430c0d4466e0709001a5430cdc4a9ba85f51a84d08fc3896f93b8401e68516ea5138b8705bb88185fc28f0e356b84185936d53d850af42c9800211d37ea1c469bdc27042111332fe1586213408d9d80f7a21c866375af432bca0ab958671e16e6859f1a7660c2c32acac685059358b652079e00ca3224dc4d280811f776d2891db50dc0be1b44405a968d15f87410129383180eb575825a5e08414eefea393b3a474c269a32c2ce4b2424810f78010faa8711e8ac4c010d941871c70b8c1865b030d30bce0420b2caca0420a28984a279830444890179716961515d208bb0071d31052b8690831ea183d11c43de0871e35cec60e7ee085bbb75818d0c33d4865f17e21cca252bcd76c77d1e28e4100033d5d5c400e8c0b6c0b2d500fd062d56ba84c6bfc904116c0c264811634e040e38933ee703751a00d0a8461a3e6acacea244ddb24acdef9b4c4acdec9a956a2f348a04598c9c6c182a557d5c90ac5a9cdeb9f22cc64ff2761f50e8ed63f2cbcfed8403191e107d600acc50077d77cd6dfedfaacd6676502b9630b508013e54fd376c71db3c2f7158eb512c06d6fc5b3a88a9e7fe38e559153144a4ac5c993a635ee1802b029d4f674c7a4c8a83b16c5a77a27bb63503cfbab59c31ec07bc24503805b91735d0baf052040a9532469daee8840ee0ee37ec5200c29f21f81aa9ac544afaad8fc7d77646efe347da28bcff4770aa50d35c1440c0c0e1873b86b4fb6272bb3089be2189425dce7c71d13001600774c09aecb1e58f4597d13d54ff6fae5ea99ac49d88d5f87add12cbdf6a858f5f3ab669273d096e3a4d8445595f93f3f8406bd4e8a5113cd6d102db5c61ddb48e015deed1223dcb11656c47599c8038784dcb156e35abf0483e28eb1eed8f6d62f0122a7a8caa695aa3ceed8caae98e58e1dc15adbb467d3cc98ff641b8a9921c9f559edde3ba728949d53140a1aa4b649d4f6cc44809b98f326caaeb8a795351276c5ac9cd3ca1a89c86dadd8b65ec803db8ce69c9d95563fafb4ca752d0d0dd7cd709d1376abdae69ec47686060270ec207e7d251b1007d40179401f10081402b96343884024b90d6140ee189427487c7678727e6c769c048102aa61b26a74bd50e0020923dbd06eb73be6c4dd5bb01f77776149c1b4051d3b2071013c31c497d8a2250b2ddc00a8110fc835f860002d582086fbccd58264ca028b9d2d1e60ca82660f51e9d438a089fbfaaa8ade23dcd5e1aa9f6ab7071baefae91e3dcc400b07f4f8131f4c5878fe43a46db6d89aff64a3ac9a8db2b0aa83d494b5421b00bafbcf04188086d3ccb0ef93b5ca0019078266010e302d40060594e16eba021077166a5f8126200bdf020b56fd280ab07fbd5aa62a44e0cf6ea1cdfecd3f492e2074dc5dcd79168fdeb97456cdae271717179717152369b12b7a6ba8904200043cc034850a5b9283155280314509771a92e098dd41e89044143fbed72ca34c50b0a00b28a0f80b073043351d20e5e8137e3c91867b51564942207a55650c802ae574ea81a6871b53945118f67c1db2c9cac39eaf73efbdaa94246e5146511f941fb582094840a5012a413dccf070d54f5149487210a00a772fe2260248710202ee181039afea9d5f691ff0e334d1cf0be114498adb2352fc3e6b0f5e1faf38dff77ddff7799ee7799ee7795ed7755dd7755dd7711cc7711cc771dcb66ddbb66ddbb6699cc6699cc6699cc6699cc6699cc68de3388ee3388ea3288aa2288aa2288661188661188621088220088220087edff77ddff77d9fe7799ee7799ee7755dd7755dd7751dc7711cc7711cc76ddbb66ddbb6699aa6699aa669da368ee3388ee3388ea2288aa2288aa2188661188661188620088220088220f87ddff77ddff77d9ee7799ee7799ed7755dd7755dd7751cc7711cc7711cb76ddbb66ddbb669db2886e0e775dcc66495e33e041233eebebe11277a7d00b490e89d476f72da6a28443a7d24368f845e93b86340b05a553346e28e256982e3eed88d3b66d3a48575f48e3b8604ab71c77ec03b9b3838abd566af7a47ad595bd3d46a0d3a84de3c9a4bbcdbf226617feffc2a1166edf55b38bd291e4ab9633db86333eed811370d89a4bbaa51b58dd9ff2556737e6dd9f65c5bb6bc2a7645cb8b55998a6fda6efc254eb3fdac568f6c1413ddb1d01d03b18f081c00e4f8a06e706e786c7670504d789a34c141e1e838b9e1618202aa61429235ea0be99f4fdbac998834ab677382749a735e4583541c9bf500412acaaebaacb9d99bd61cdc31193c092c06f718186fa5bf5e621cf18397a8bd318b55b18aaed0d5dc68beab56fdbdda98e86a25ee57204b70dfee9712ae24dce44f318b9364543fc9af59566b35b9cefb408f0d1fbcb3f91ed8ea1b74ba599dfaa0582c4c9228d61eb7efe3d6ad26717791db9cb46cb14add572ae031a527d86bc6a2a5c86da8bd3e2b7d15d7b522b7b5e993248ab5796cdcaf2108c13d5d571c53a7698d9016ee38ac461861841126230c80bac0dd0765e27e05c18f162aaa9ef0209508dc31cb488bdd4d6ed0efab626b48d2fd02821f24196c50c142450a53d01fa6a0a29387027c5651cd423d122782eb721de0c729f1166c74b38ebba38a341307669129c57bb82192a4516dac642668b770fa9948e7546b13b5aa50ab562dc22bae6b310fd7b5a93b7c4a9d22599940cf6253d53639872463409960af19cac2a82476f059dbac4c20f74b07570e7000c5004c45d8612a42c7dd8b3061d7e45f3d9bb37a3667b32814224293141cd448c1428a924f2fae3149d9a62826f0cc756d942ba2d0e875fd347da28defe95bfb91704fd49aed890900739800b07ac6ee0f0a6af76987e8778630826b280dc53dd1501a6a7bb27fe34fbf499ad6981b65f29fc4fdb2c1d5879b86984203370d71c48f3ed59c56ca62d5fc04a9e8cafa9024d7b534a8f559457835538457bf7149c375ed4c115efda4180a02dc7d6f9cee8b8c272af4480ab56a544ab551153d2f92bd669b4557570cdc2f17b4e0c9c58215b0989ca4119a9ce8ec35cb477ef470dfebaba8f55914b57ad63662fe90e96703ff6b12f585347baa394c765ab867ff107ac7a705aa8d55aa8d554d50e0ceae5ab5afd62cf97bfda15f532cc40b3ccb3222eca72cfe3568a73f04854c7fe85314e919ffba5bb8e7ff44ed1666ed8d53530819534f193c9dbb6a63253434332966554d8322c9475716c5da1fb45798c599eb5a1d11a4699b44efacaf62796e8478b8aec5292ad5ba44ed34e69e8228324210f27f7955bdb3434e0eee9eb1bf714c4a9e3029c1ee7ed1e17e75800340b4e140e824e9c3dd5d890d98920831e124c06b36ca84d53ae36f92e29cfa3c12a88f9ac35aad4a6c7058ab5589fb35c725471ceea82749940f931e8491821e29f0e18b1cd4000462b46026ca0a2b4bb45ce0c574013cacb8194002538580011908408336743881003a0eb0a18a21dc02b658630d9920b8c00017489082316e0460821f287a88c18ac9c68c37bc6542f2879b9074e1ee36ec9ea78909cae85ad6dc53ce9931ff490cd7b5f7c4752d8c79c40a75c42ad7ace198c53798c53759fdf53f08f7987ed080fbd5861a84a6f8914037dbea16d6713fa6a49c65c5e2a41e2e677115d3c5e2275c2a2c5c265c2d1c29f491024834b0602d2d2aa4d175790b58e6985f42907cb89ce5888a637e5dd70853725d2c17765da31524b00bbb5830169a5cd7cac5e2d835241b612b2b302ff7226118a98a8b745dd8cb4504ec7271958b848dfeba8cc0ae0b6b7182c5805dd80a09bb76805dd70a760971b5705d23aca5032a2316132e16ae6b8596d1d5c5b5825d1736425d18e9c5c5c3845c342d974a0ea31e2e160c236da3170cbb624e00af24485b1007604e722c8c8b348221a960d7c8551670cde072cc4ba5925f7e912eecf2c1d58215b92e4c05c346d7d55d46ae964b088661d88acd4504c348d8a58db2202fb4ec700d410106ac01970af6c245ba4697633dd87db9488ea12b7e53d71423b7a10397ffe0016c74ad5c24966bc835c202c35ac8d1258e2e0c235d4c880bcca5725d2c1a69ab41bbb0979516ecbaae8be5bac80bc35e305ab95c30d268e8ba016baf6b2473b904c1ae16960bfb01a301a3019b61e423bf4eb85630ec1a422a8d48d80b18865d2b17e9bc5c72b882a86097ca6542180316c44a1017ec2a5b84b060971057cb758db08b7429b966c0464c062c08c682a95ca30bbbb020180be91aa98cae2bbc4617cce57209b9aeebc84503f63262b95a4817765de475adb080a97091b04b85748d58906b84d1708d461846c248d78861170cd8cbe572b590b0ebbac86b06ec856574915a48d77585f772a148cbcc8807956b74b95c24172e17173248941868b870205d18b682b1fc555a410ba2e4bab00bbbae4bc6599ce55002b9fc80a2fa7dc2070ef278e2c50cce7082f9d07cf8d8c39bd8e00217c28b12bc10180feff1028e2d7a6cd03c3c7c18e1878e0d340801083e64d0462f5c30326213ca08f918924368c3cb05f27129014c05c2057897e0590a0934c8a4c4c04e7b48409fae5684872e4e3fa8217585d4705b40c1bb4881084fa958e1973400f791bbfbc5068dbb3781b2c434938215275e74b8638a0b4b4bcbcacbcb8a4a90d10c2e2c2395d10a427e98d8b9a10566e5a545240939e12209611942083b1a322aa9b06000594c5931016371219d86cc209e31e5e589904c3a99c004e6c5a0e28474adcc70604a0f3a37a60160a417924e8c11a6ece1c4a5429a6af881098c04c34826055378e0634a0d3d4eac700212028c8060c200535e70812244852ca6245981d5b25f8a3065867501229580128bcb68888a10e9005230d142328d643a266ef0854b111538d1f247034cc082a8fc606219494b3e4a1a4da4a002f392e465871529a4222c63136e7801441325a0c28813434c1d28e89812a43db518c010ee848b8d292f804cbcb08c2b2f2d268cc21c204633bc2461612267884f8b92187092bcb82811e29367dc98d202e904beac90290c597909827343111298f2d2a28486328a292aa392cab522c4ca8bca919522353e04695d88b4285979617961c88d4b0ea41d971654906107185828d202b3d36407265e5a32966e4817e6f4b00821b1c0a0428e4017212422f707161796179211952524f1874b2586910d2a2c682e2de668c439e242cb0b0b2e2113363b41bc1618520ea41c56c89852c404d28d0a0f2a34b8e44092e1846d344313533223d7e81cc990462a49dc50c4155a45e38c3ce648030d32c080628900146da1f3cd5411520000f4c4894f8f4e104a48b183d941071c2ec9037504f2031edcc0071a1d6e80e105962e462082094840081c1fc81956101264850e38dea08018130023025e74b18513182246322db2082409432801f0031fc881d209a0023d698ebcb088614515a14b0b58308618e408b6a042909716161962600303523ef3ec04919304870b041cc00028ecf169008d33c85802ca93107441055209f210c2139a1e40179615350af04605be60c015512401012eb8a0826787e608112117123040b03f487e5c1f603820dd00e343658fcb05d80a3015b8a440080ab012607860708cd0c08448465c39b4cca022c39017b016b0152e154c29a8a08099ae12c9042c88ca0be6d2d282b1b0a860a46b745d2b3ee484510ca338a690a69842d25929722f1622305192c0141515212c3bb8800992171ba905216094b102c514928e0b0b2f32b83080292e43900030a22108bb22a425498bb8f2323ae2c28bca1d535ada98a28214265cc2d11641102283292a814c511102830aa608616f88638a8b0b26602c47548ca828e0891582bcd0802648524c39c186136c18c9988cb4b8600aa409151e5a449699d109a3991630a68c986c46565e56cc98320ab20203e914641b5d2421a4d34b12151e5886588161e565c508212a0851c1c505171658861829a1891518466934a162c7141d8c20ad2e4a871948a49013564ca46b2433b221f50c6161056381c21203cb8eca0a265c2b41462a2421a3d1081bb18c5a462e2f3290462c4e585038a1e7c5c4b2c2728d58481ec908e96a79611403132e35a89431c504339830ad906268b969822483266e405d0f64093768010b4a900708ec68837caca80207890f3d845afd810f8c10299dd0c21205003c3b8190000526a8810a0d8b06fc90850c5680c707e460038d0918c9766040cb52111d1c1cc618670dd4baed043bcdcc00789a63196273d3caed03cd374cf1f3b695dfa885e56fa51b65786e38878fb7eefc40dc06ce58143158662d8f9df7b1e199e0a9696007721ea76d5e89817103c31c8ea6067260687ef8029dc87921d6be2b3d7c8ae0b8c6787e588220fe4e9c35d1029ff66309e6d02bb71c7a9c58018cbffbb4f0ebc00e97e6a986273eeecad214cdb313c19cc6779fc7699be6fd0976da88c628be88f1674dcb6399b933ca4d0cb1b98d1ff6bad0d4420a683f821b98356e0b713e433346cefccacef4ba4df3c28d03cbf0b6f00bb5f1b9afe332f87d647c5bee46dc7d5cb8e1f1f4c6e8c4503441f13d70dbc04ff3c410716982a338626fe4728727f063e79da0066e216766fc7512780de7b32c35531c455c6e5c181f36b1b89d59c3a5a97926181a88bf7b2d7c2e2cc13002de09e24e03bd5c7e2006bded8b308b9b179adef65cf879a5e685567e27d789e0e7b02ccfee44d9605d8879f4c0f23c4d71cbdbe67539279a0f601028bdee14cffc6117768fb95045923436333349605c88203e732996a707aa481245923438335714d816e397cb6fd4decb5b298a0f0e813dc0d4c21167cfe346edd3c2f25524c9a22b9486c9c9e6f43343923e98169b5976a3768ee1f7418165d1bdf69d2587356ec367f7a68a2445cc0161d63cefbfd113312c3e4d14c78deb34f0cb5f28fe2506d6000dfc4aee3b4bbc81b8e3b8cc00eec5fcaf795a88b98fc30be8c06dfcb41c72617976db282a8013412e739d098e2367767fc5166add8b2288bfc49ff78509d0c412c4dc99c730775b1e412b30a769dab699581b3b2c765f151a16bfdc34cecc65c79dd8a32234470d04cbefba8ec366d82160f4bc128f63587223d881df1467c979da286211e36f13374d8a119762699626163daffbf2f85814e2366a5de79d9ee699e37f1c064568721c983d91c39b266a23a73ac0a9755c6776f83bbb316b2256d1b02cf64488b553f370586e593ccbd16b31037c288e22e64ed13431a83d676205084d109f5ea871a7e981e7c8e953cd611f0852c508a06d5e69861ede3693e3cecf4e7c7e90f3444fcb19d4c652dc253600f1bf9303bf501439d1c3a3d8848639edccdb286a9f396a27c8c4971bd78ddab89962f885273665e44a0d6b619935fcdfc6718174dd19829ad86d67589abf6d52ae2578ded6fd089ee0f785b91cb5212e2584f834c10dff27e2d0e36858788542923f5712b8cf5f874dadd3baedb399372478180cc3cddc36fc89df79aa8074e18bdf289a66e895e2f971da114a90cb5ea97d6397c5ed478ec9f5c78be5c97127787a6319725ff7837319218f8fcd71c32207fef68d18b55af549f3412a6e72e2d709ba8a90bbf1c30c8aff9527a7899908e098c10c9ea1b68d79fbd786108e196b5f687adde66d5dd8a9489255b1899f34b984008e59dbb23996db67915b3549d23c392d9921499264e155cf15847c8a5de76da37682f81439514592344c2e206c62e8656c7219ecbe2d04dfc9e587f9df9bdbb88518779c26863f2847b0e43c93e3b43034f309fa002cc3923bbff7c4cfd4f2b8a96882daf26f7e7698d1ae1e78dd9f9be78122b761adfb93071b187a9903c16c62d3fbcddcc1f7dd779d7696dbe66d2268ea20c41ee8e1fc1f0ecfaecb5d0e42cfcce0788665f9e5edf3b7c48503eff3c070cc5fe87d5fe97dd9c47503ef3f139fa1788622b8e5e79eb86c509e25f7e1eedb3e5013c333d7e0313e37111ccf0c6ae6f8e53eb2179e9fcb4d3b47d1f34a31e72871d140c4e01866cd2bf3c761b3d32e025c33f0b8cd334190e34ead3bbbeef918bf4efbf016866719729cb95d675c7b8ce09633f769a2079667975f060f829eb799a096bf9c41708cc1f77de7c9e1108fe0f93f8a30f01e6fdf677ae1d6617104b74b0fcefbf2e89de126965813cb176cdf8943319f9b686651fb401549fe9f2a8f139e93cd4c4dcb547f5d5b9b095c2e2837ae14b5d20c31a72249045c2d28f1e89558dc46316f593b4715499ed214db9c664872e68ae26201d7791f98dffceff32772594592344f92e6465739a79f99996b00d70a36fc791bd77da06762117b5945924a5c2ac89df979dec695e7697a38ec687e661670a5c07cfc39dc4c50d432276aa18a243fcd284ad59fe61cd68582cf60386a7fe231ccf80b3d15499224cdda5e27d0bad0d4408eebb8c7a0799a601c31ee34336fe2963b91cb251041cffbbaf0e332e6c24e13f3c023d77160d636f0b57f31c4a3eb72e89d1f1886263e3fdced94b542551709f2087a3f8660d76da7f99a26806b04a2d66919e47efbb28a24358b0ac02582303cf37fb9c4191c4beefcee10c1afc479dcb64d3443713caf107898d33088bdf3bfcf3bb553459234435c20004f0e3ff889d9e4bccf5f17e5b2c3ccb9dc400f7fe8fdd9811c12d70736edbb6d1cc3937b118b5cd9ba3c008edfc6851f9739f1f43ad164d51faa23ec32e63c4f1bc3f21f6370e68ae2a2e3fb1304371177387fdd596e1df03aec7d67e97979dcb6cc0170c39a1682e1d9711d2896a58a247fbc36507266d869a067660c6a66076e737c27c65ef63430972f72e01803d3c32587c7755c087edf983d9cfff4542499d5dfe015c7e89d5b87c5ed2c47cedb464d45924d2e0d7c589679ec46fc719ef69cd773c1d175ff9eb68da5d9e95c19d0422c7626373ed63af0044b1549b64e94d5eaaae47a83d3402d9ba20896e6993f1a9dcb8d4fd4c49313cbb03bc1fff229c4d58686bfd2f3becdf3c4d2f3be5391a4cdc506277e222ecfac7966b97de9a948f2e6c280c6959d288a6119e2733cc16ed5eb8a73c47501effc32b7855f0eb7cdd4b2a962b55892a4d1a74a922814eb5a630cb9b3e3b6933b438f03414e45922814cda725569d90649a629b6b009705bef33870c4e7b79d237ef3ac802772e52672cf9d39f4ba7f3570d6caf173f8791ec781a51903c35e69605ce65334710ecdd3dcc68c46163336f3289e21a87562a6a1898139cd90a4be08709dd16de2d76dddb67de59fe097ea13d55a5992a421491a24a79a19925c9f456758170540ed1b4193cb5c386edcf7e5cb8c2decc4cf1df781dfa97d265691e416d25ab59d349c4f59ed0fcc4cd15546e6bc4e3bf37962acfd1872aa158af77a91519a61d885f83b41f1fc46d05491e411af738d91f399c353fbd103bdadd4624e1ed89ec4f624b630415c629863f6ba710cc5cfcce1a8fd704d60f3baf3fcb8cd1c474f03c551459247e0f490246bd5e492007866ae033d70db38ed1b414d4592347bdbb9c2c86f8a9d688620086e59e3361549d2f85c606ca3e73df875a7c779dff99c8a46e521495547a01b31f81d88b5131435d31c5534afead4862467a05c5f70388365d64633dc4e517c4e45b3597abd21c9bbf1a5f99999615d5e9465f82f9620d78d3f72ddd98598392f0cb5f3fc34cefcf121f0711df7a0b7811a77664e33b9184bb1ec4c1134b7b0eb400e6fe175df65b3fb36113c378f1b1ff07598fbce07df7bcef44a510bcff4c6ee2b4351f3ca72ec3692a459ad72d2b8b2084ff0bb106fb8dbf086bfec80b03bb59003bdb27b2e7f678945d871e1276ea5b96961576ab8015ec77d198e1ee77dce9dc8802d8f660633c638c4db830bf070b961d3e4382f7fdac8890ad040319f65eec45003c5eeafd038eef3349c4fd03cb71713b08566a78de58365098ad90acdccd9fc44700bcfaddbbcb00a537b2f14cb0e0c43f1f34a8f8a7f4d34b7f104bdf2c320ee10507e25189ae099df3bb971e35424995f6d835492a40952d1d60da6816b8a2efc73fcf27fcb61f89c27c5f699e0e79da6568eddf8719d0af5acd6cf1b57148f41d00b436f2bc5efcc5c8622cc9af7855ca765300439d33c80b679388b1f9e5df85a38864f74196b5c87bdad2b41fc1e6880306b9fa67960a9e550c4d9134adbf2d2e32ac0f8dfd9999c27868fc5f11b092062af0b7fc326d875a0168a4e74a5f86fe2d02c43ae3b4b7000da166e238735713b41edff539164908aeeb5357f555192a4f9a08c43c3b64c94604e5c4d80dff67562e79de2378e39d4542499b6290b756a544943936275e539f1eb9c9e9c969cf2ab443c24b9bed08a5733e737f9ac7748f2b356592b7486248bd0932449f2eac1c5c467b0eb4a0ff4421167103caf298f394ffbccfc26a88da0772ed18da6d669df95f9fc2e7c5300590b45ac699c379ea6e9851a0dd04c10017813779d798e60d63a0f9fa78a246794303bd114f18935f3bdf2db7012e0f667e6b61c9e9bf881dfa7224992c4b14162cbe1e975a07996f8cba737b64af03cb76efc12e7dfb60f2ce244d17bf0c3260876d92b893eadcc252e1fe43e6f9ec80d759bf627de3c3177de078e9b56516d587aa356769f186e993bd96fcb5a2ef1739fcb1fcffd8563698edee8996698cb5f3b4e7b710bbf71e4c6ed8f38bf307b5f7ae0197e60399eacefd4382c76dee77559ecb0fedc89a5b6859b98c1ef45f5e33cef1b4f702b353363703596de7fdbc99d5d376e67f7e9f66d1f1e35b30cfffbce17e2c6ffed04733882dc988dc860b9699a56e611f4c2f0cba8796a66698625f78d26f7a7aacbdba8991a0772af7541e0569add8bdab73dc7897fe233f4404ff438b3334730bf389e1a786a5f6add268e65c65f7e5c3633ee36eed3b0697ede79bea681e67bd91b71696a20cea5d86d60f8d80331f7df816506bbf37199bf32b595e2a78ddd58feb8896789023970c4dcb7fdf6fd788a4588e269869ac989e1296e2111a256e66f04478e2b3571f3b0142d87e3277a9df9659cb5708cf295e736e6f233cf328b6306c0b68921e7951d2ecbf1dcca214e7134c7d0c362196edfc98940e267e2ec7161f9e67bde1842f9d11b45b11b73179eda66824fbeedc5f0cbaef344f3044727651ec3affbc7e0387aff538259eb402d9b222e35d3e7d3fe13cbbc6d19e38d139b84671986b8cce0c67d5a2944d88dffe13776e5298260d8e36d5f7986987bcefb44cee329bfb32b454dc39c298627f7ed7025a7955ffe4c53e34cd164a2654f13dffbf087f3b88d3ae688c7b1ebcc51d3460fecbc255cfeedf4349c41b303351cc489cdf03f50e4b4afd33a31e7bd6d0b4fefcf2dfcc6ace44dfc9a66e2932bc1d2db3a20f217e6500cb9edb139fe27c19c3862d32cbb511c470f2734c3b1fc406c72e0f85dbe31b78e0bbbedbbcf0cb328da849af89b88cfd23ccfeef490808fb1a66da7277e6778763563777edb286af8fcf0b871dc0f5dc965aef3f0367e9ea7993e6cd80cb531c49c297a210669be3ccb2c8ae796bbe74a6eeb011cc32ed4ca4dd4466fe3364d4592eaa728f387502469922854cd0c5866b0ecca4d0bb707c3ef3c35aae6c8c871dc6f1cf72558fe884d15499e2892fc21bda221b76f1c33a7e5effb91db445145923a8c2bad51412b0ad522620e34b7f1f4c60d979cf89e8a24515e5886610e3f6dcba0c771dae8a93a90f33ced13ff1cb5f1b7374d154912e93528fbb6af1bbb9cc15203352ffc5345922bbb3d0e3c3b3004bbedec3a9cc75145765ec83da789dcb6719d78869f8a245159c5a81f5a9f24773850d43e51fbbeee033fce0403a243a88470e9c6b91ce59852c41020aa46020000931100304028180d862332c984ce8d090014800165b270a6421a0ac43049619441c6104208000018020001304336c43ac1fef77519687f82f64b7cdf0aedff5597fdba89a94e99f6395fd780f62d68ffe3fb59687f527565be6f4d755fd565f9fe24d595d1bef5ebbe549719ed2b3bfbdc7eeb9a39b75a538c9f55bcc86d32ca6a791d351127d2352c02a7f400a09c8cc87e4d53ae7b6443cc2c490fb7cdb202a1f228413dc4f9c9fb03d138eabb3d72b6c1d7dfa6357b3fcefae64ceab8e4d9db1e9c5fe4c22f35f82c7ad2065698ba84260ab13e3a40f168808e65244b32fce8249fc5f41ef80c2e8460090efa46bb094596dce4738e915af3d820084ec29d9751f594bfa241cb561ef1613de0e591031fc65fb53cb179b00c9e065076e9670958ac4dc47bc05ef0f04a1bb454938b3672d1d1a1c52511019d5b2d3529d1ad84d24f8d9e25942674f472919295d6a18725aa016f6782e76302ee46d130f20792c96aeaa76e5f474e5f9972f220ce00238f552a32a0b5fd947c9ee0334d34ffae0a09bf4faf21faa6504493473d3a596dbf0724f00f964cde3e70e86dc0a52cf8764224ec0a92d96b2e5f5f40e3df5bb3631da8ae0e610e1298a4716c7859c11dedde73bf25b18c950f7ac5e42eeb2d518272cacfda6415e155433b729a7bb20cff6dd77371025b04772e12d2608f272e92a8b4d077764412e9258bcd68490796e2755ba7f165a01fca2294ee81ecb12faa802b56dcd31d7354c447ef74fb7254b1692ca8ce947336ed29c98cff78dc67426026d1015d8f632d7316606840c71e4eb4c3554e40f1c03543764df88c51de26332d1d8a78740bf2aa69472a2a6405bdf58b59ac31d88cd6b3a3663b0b27648f5cef3209eb382d8cb52cf366750bf24e24a1c6e61759c15910eb138c24bf6770ea0f46e83b71f8153f5c2dffcb81ca2e231e2c85ae525f1bf105ee695d08b70252ffb6632cc447f941aecf9ccd06390818f31847aa8258d630a883db53434d70ae2d47e644f0494f467c826dbc5971f775a6730f838dee324cefbd0f9def8b17b6cfb59f73dfe82ce7eda799c9f340d676cafb281abe944da6a065861855e09a8b894863a15ad6aa4dee877d8e65ebbc014e6ca2a403aa0731dabe161c9b35d456115b225710647598e39ca27e1c3fcccd56179d6bdab1e6358ac630c7eeab7093ef4e8868c28e7944e90483bc116d6b90a4c40ed0e7944304e960fe005fadb0ce6d74f30f0ff8e3d0989e8947a81c9476a9ebb23410dd374f61aed8a86a6fd9895f4693e2254648369f8147af3f6f4f72037c41262260696eeac9ba895a08871b67e5bf97b2c7d0a7e7722902d020521054968d628ced8973c19170e5ceb890d34073f025e761a53e7622556d4d0ba0032a8d86cdc568e51ae864f770cced1b1732bfefa12b7a948b278e1ce584ad427de4ec8422201ceb7f7ae281089dfafbf3fccac30c50f01f6a2c63cff4fa10a53f666789a81db92bdfaca9e2d2cd101030bb9594c3083f90086f295e518a0998d44cbe58e62fe21f26e8ff25af7614e5a8bc374688fd004b169bd77783aec0e631e965754de8e45fd66d302d095e1d5633c48354d2ac417088ac3bcc0eeb7cb07983e02429116b22e8bd3b295b325b88ec35f6e670ee4ab9835f0368a22025ccc48aa2ad1d67af40b31978d8afae58529f7cb4c0a33ff100698df0eea820e23bdbcda6891e40ee66493e949831a468384f347b91004a6788a3801772331d4f6ae2144bec6abe320ae88038405e0986fe18451f27250403328afe602b355f21b717705bfe8fbefa7f5708b597652c30e02e800639612d228ccc49b2bd28c5214f2726ff1c6784dde3fad52bc2988884cbcb4a574753b28761c09c380928dead58757db332907a336969c7e4e0386ac700324bda38d8c4a200d05c125ecd879e0f8703c02f34af13a35f367ed65e43b077ee340a2b2d76ff7838b960fe1846976fae1b584179e343805d81aab936b6d0a7e8900ae860900894aaf4398cf8f3f5853bd113231acb484ef098a909e96b85a526f4519e07c8ee773e2a69e344edcb38143857b4ff830005393d06ad2959a5586d9ed4cd06e8e0618810ba34c65d59509d3c235cbffb819d1a9b9bf2a18370af26087a5941deeb07a15e5910e93505b959af86c05a1ff254377847ab17dd825ee296f6e2b464af860b7a595dbad7d7825e1997f79ae842bd942feac56d79af660be965450b51d341e30ae0d13256d64f92aa885814447d73063615f9d2026daf63d5abe1ff1b555065014109204ec5447531202d5fc828a17b0da34cf85f335b6f9909bd56e6e9fd99e357f651da8573d1b51fb0d09ef97fd3a5174a3fbd62a32fa0fc6fb43a3f12ea603a11b5a3c09aad37b4a1444193b39ed85d34d5732584bb256080431a021fcb64ba6166ff84d35e47517243b5b5737017da93c07a034e33ddb8cc1f8fcd444a1e45711762145dbbbb43a8b8df12ef5841327326c7bf76dbafd7e2fff5f0952ed18a74d00825583cbbbbc648494c045607a45f114c38e84623e050e64a9cc96f404a0bdef84187cc224ec40f654889b3fc46b8f2276a88a083832b9ba08665053e7c920535262b50c22756400d6574e07e62630a58a0c98f37b253e074f94a9f680574288d948abcc10d74282225076f344107cb227ef89105294d965fc29556400d6574e07c6223d0a188941cbcd1001d1648f9e38dcc1498409332ae61850d4bbf7c59c1ca48492cb14c4b1cbe66df2b237b6db8a6550f76aee0a2f9e39d74656b733abad2ff312706cc181e42ab18522834a36153ecd64d7397ca532cc5a61e5fb28c123d2cedd335e4280cd0173cbae8fb9eaa23d342779470fb9d2aac4726629be9e24892f60e84a8f4d289a8ed6d587a6f79945c28a2b46c77133629ab533498d476d440c7aacd7bbddc303ab697585b0868264f4956cc4da2ddf82a5f81bffe63724f2447df3ea0a3d1fcd5c09ae36d74bf911c591aa00c595535785afe86d0b87683ea7e1221a346ef5c70662b8d7436767fc14ce332e8e2294d2900f5d86cdb347c83b47c6d14a536c0d6ccc79e32006c6ab3bf51e6007ff24d55946ac0ad7913f7fe81a1a68d0d652b37afb5a7d99058bdf414abb06c51edb67ec35561b0542b4bf5076c66536888b254e7d997bab24646dd066a262aeb54186dc207d1fca118c6aeb1404d9b85f9077f3039cf340018e0f38a313486757b005410c4b52db08ae6cde7ffe0d180062bac5b323a8d45c3d41118d70034781792bcc255fb03180bd115edd02f42aa65f0a05b121f89041def8d94f2755ee1904b37f6d0fec76c1618a3855137de4c40c251adb886b913999ac3bec20d54b3e78655fe795fcfcbe4e1d8675c1ba461678b946203b0448425e1466a8a89c5d67522704969f8be85e67f4adf268884d0f1d85da8eb2ded39044842a8986cf42eb0654beb1319ea4fa351f10e75227da528e30d91b41e90afee449a4aee5125ea2705725e11a5e139792a4fd2a2ec680d2dcd188ac15df21227e95fff970e205d0b1f3ac727790e7a1e4a621a533fd817f7c98a1a91f17f8e3f96b63a645872a8c8f5a1ece5eda0749f3f23e07985573de170c5e96b2a76b997da8143329ebdf5f3b693737ed7737df47cf19ba6035d5bacada25facebe380b47f3981fda2d0a0d61b3a60f245e9d2d5302ed1ea9a7baa790d6ac29b4950ca8667e5ff4b9ae4aca02cf076bc39834c2baa16d24b221da0875efd9018eafb3bb90aed2dfdddbc43297fb7b0bf147dbc3a9601f76b30df53dc9f093299c69dac151dfb9b0e4c77b2275c8d83c2725a2c749f3c00936fbb4352e10b17a91933056d3f1eb6e9c40cf8667b51c930a34862f2c8f6bb58f3aec285ea55709b1dc2a86a43a612c49489aa6cc65840cf84ddd62b7186f010d047106bc46785a13ff3962300c2e40deebe54d1b4840b7529cf07816434f5751cecf98c3e338c25a4169b40084cc0ce213edc93c3ff4b3a6a9ae5385d223f26aa99aba1a7e192515e5d1c680414e129508e3ea5f566b014a947d9d240203259d8b295aef5762ea7490f2ebf32746a92f27680aa5c50537dbb6bdb5d826d7747d130ef1b63e55a7366091755a518e41a7b327dfb527859122d717b1f1a6cfd29301dd4c204fc04d583a0bf12444cd4669feaf45474338297fceb7a2d863abcd443fea35b2a7ac3cafa018104ebb50ae8fd15dcef8829e6c9978a6a9d7fd60d3b0d5954d358a5c11eac1009e39d9a79fd44d7dde16b8c49d25ae6eb282ed6eceb48e8d7c64a002db18c6f9c88b5ca16203f7b98414999f4e8cb7557b07332ca9ab72047b9c65ccbafb218f2312ec080c2c0e0af30ed4468033e49a379908bb636c9f7bbefb05b8a5a5c791dea353bffc566c36da363b2ab494353fff8c23a40e19a05878379059ac9cbdd9c2e5a9915deb1378157733c593de08f78c1cb0da1c1e5ba70caf23928e6eca72e9626ca9393b55f77dad032fa0b7f7e32862aeb659058ac1541dfcf831ed09c6af9fd4a4a6eb88da217f8416d725ec8bde567013ba844dde3207e253cacf4b16430a2fb16d84d7ceb90c05ef399c2dd2d2b673d75c6e2db2a4631f38942a769fe36f1d3b5c5c38709c2635be6756ed8f70d7e70602b37c93ae0ddab80d337377859f1e04c4d1c2d39f011ed9d2794ae40b82484c355c8d68179de56f7287ebf9f2cdfd62b3950d92c571dcb0948acd31ef4d6a98dd68b19bea96ac662282978fa861382db54d65f0ae8233af11645d560a7c6d47ed62c5f36351a8bd6a85e48cfab488f71c2dcd90503fd620822ff746a1d33b7388e682f9adc9019f9bd41695b1f90bf47ede21d5cb0fdf3bc4654f088c35904bae0e4feef982e89c641595e11c86eb9f323924280099f46aef636e325b48e6b93af02e847a7362078f82ce0bfe12295c80ba6481611f6ebbd1409117e86746858ca3bc0eb5521c78048f0d3d40c50c79bd97225ca92537e41f9044106613f5a6f320eb4d3e61314e45aceef1f6a5dd791e7973a29bd99a80e111c4c2274d457c31ae95a105d9ad9c82cd1ded892b5939dcd9363f8f75fbb55f5919df4cfa6e40bcda7e320d850ef6db0cdfbfcef748ca3635b4d2a37ad326dfbaaff38b799e4d02faf94bf041801d9256fa724f3b5a5d1bafdc6e1427daeddabb5ba0e4769a0f6583f760d667920e0e5d301affbd81c5cd92188849c69f12ce76ffd726343df48e4acd5cfc3949c7e7b360e01359aee923fa718014c6c9fd37c7e40434fffd76de1c4c70f4ed17033b03ff168c0a9f00b37d4c58ec5ffbec5cf6e904fc3b4fe07488ef7198e574f7cf6241beaeb653884e06126fcf57ce15df7b89de84a5b600c0a443baaefee21fe9a5eda69d4731cbe76fc40f4aeda2332d7b685584c052a676a65b3afca9047c028d3a3845dde8df1d68eff5f7d220defc9649998e367b9781c836e16453beeaf6100078034b512a2ab60232f0ea722fd6d9c4416888c6c9ce8cb2ea77cf0cf4b87678c940a74c54e6333ad7c6f9d3aa3c53e8d5b882acdde39dbb7f8b3a4382f0c6f8105ee01b8ebff30ffca953c195aa78e94b742d223f32465e57438b96dcf273a872edbe94632f2a64f8ba8b969305b1c0ad09e30d67ca051d0ca89524991858a5c29d73c1485de3c4eecf7a05f4e33bb9222a42c62d65402402b5c73cce8f045ebed02deff065432150f970231d5c77f8150df18458d84d55fa07f2d904d7323e8ddfc232e4c44f68dec3939d1d36f6c49f4c4ef42acc22936a4efe4b996330ab3f94a31aff353ca18fc5093323bf89e223fb6e9ffc8099e60bb6e3324b2f21b8ab2cf6ce65f8d9a338df2da3aec72a66f31a32b0d038b3615b10002e37a1dfcc994b71615ddcab2b3e6cf9910ce92be5c8c5d5d200fa9a4a0c15ccaae855df13a772f9d49a924c13356437f50b4afa4d070bad2c6847613ccdfb035d2b3811a4ccf7f21aa8fac2893baadc6bb2af0c893bb4e4287ec7b13eece07a1ca40b44a75d9cd9f84a5b893498470b6d19ffd0f557cfcc7388a78bfabc4c727c0554f6f66fe78a440991a3c6d53288cb11edff4cad01c7ae50ed11a9843aff984e5b3b251b07f5bba2de76df79b303e2c5be6e1915a3908e444d042437f8b02643622d835b4cac388cda58075d98ee2f5cd6ffa034dd3ae5bc1768ade7eb30c24df88ad77f5d368fd9830eae6d1156f948273b25560b376f6d7fc83a662051cb7314d138e0af54f15de52835e27b9ce4e52687f8fe342b4d0250a8ddc8f256f63fd4e1880ea5b0fd1c85d38fccc27bcdf15ccd424fc837080b04ad04740a6095bbb1e0be6c4dbf51f8480b0eafe0f09db4de1d95c3187a339202cd9fb7af20ee5bc8d945f597c1a7494389c747d59be3709fbea87276050ee78f2a28dadd41ccc3fed3624160629a5b7060bdcd5034174610c6a6da0cace3c0e47ac776346934c8f7d0594703c9792461fe2d3f8985fd221507a2758fccb0625be73ba753fc3eed837dfed19430e870fe3b3bbb7b77b9cdf2f90e615ba6431de49b5ced90c658068ce0ce9080691c537c296c5ec03902fdfba7886a9184b8adc09c857faea5f2853fea749ee2765894714293f10aff28f6af5236a3abf49e87a445ae1391565a7a975bda3a8fc901e128e1246cee5240b3b968ce42324753e9151f490a2d2098a7a5f28287aa25be39e1e65d79415bd5128fe4097aa670aea7f6893fea748ee216585474429ff50aff28cb2fe27723a9f49287a4459e13c157dafa915bdd1a97d4197a26b0aca5f2813fda64bdd2365855f3489ba7c5d0ad2121d371bb615d4a6de6c37b019b85691353555bb4dcd6fb3219e9323ef6bda92fed129fa0349ba7e13a1fd0a7dba4fd324ed277d113e91a4fb87e85aaed1ad7f126d12ffe910e913c93aff89a2ed327d5da7d128fd832e913e93d0ff87689aafe9d277226d09bfe812f983743dff88ac7d893e39a74c4b34445982e87af2ed10d1e49d2165c96f60788db4f411699adfa4a115b59fe9757e46d47d0be7f5790261537433c4ee90d48eddd54c25af539d759a67422629962411b6f3b57481b75ad96dcc2fcf15d48a94c66718a79cdc2e8da771c6a0e1d323356ee7b7141705409347f3fc4e2e6cba1898c71cf24a7ba319ffa43d2bc16e7fdf3b1e357e9cae00a6b0cddb372ab8b7b966308cedd2efc52d63972e3887ea88ae27af872f963348deb3ef92f926db59e0a16655c8b8b48b893d40b9830eb20a02c4ae3e3828f0a1a767bfdf55b8a592d70fa30614561d0b0e3d11a71227dfba03cb39c45eaaa686a38c2817a7b830ecf6d93538293dfed8d23741d869f28ca22946ab9b90fbcd0cc3b428ef535c1f435343071aeb89fea9aa48535ef86c9a6efbe04ac2be0663cf7f283f10a4438b25ea89dac069a6062e4266f3689159824f1c2d2ce53cd1a8242c971af0036bfcdee886c0fd217350e619cbae5f16e97bb4339ca86019617597a69a8d8654b3889232a156717e543d8a9b219d4ed9191377169abc35e2301556db87b416de3908c4a250c8b0abf03303478aad045ded80da20e32ea768ba3746a47b4affebf4621ad47dacd7cc60a8ead7b507ada697836915b37ee34d7d75b70704b8d3d30574273a323cb86c77145a95d271d4cde97103a8b3ce1bcde0693ece1259eeb76c11b2a04c270e6f41102c12015072648d1eec4a84e13b1484161a64afcfc40adaa8b4375867b034f59b7862a8929d507f1e51d43344e36fcc6c76d2ab5a3ef2643f42471b1ca4d610795faa59be56b8a0eaefe77b9c5628118400779e792e5291b3803a0324eea10b7b7596c331b18ab1825d34acca4c8bf7adea542732873cd75b92f5c1a3d7fb2f0ff229df6c922d00550840e35cd5d26081ca448b3df63dce1c72c4d3021683532d10050316886868be4e4bf4a21257f803dd76297d751c35990f08de328b74e8d632c09f65b4f3a29507e3f305b9165a0274b5bf0e7579fd8a7bf0d05b1a6b4905751a293704aea193969327c59dcbfb14724397cbdaf235f8848ea5e02bcf866d92ff5321e6f9556982f8d302766304b6bfdb4f2fef3fbb5172934550fc620a18e1f2de95261976b45e1d7be626ca4e6f0432b80ce87568e409573ab66d8950b22da7dc3820022a400d34684afbfeba3a8bc380bf31d64d651831932b732d6472fc5bfe2620fd1107cae69a986d484ed34d870df6a97534b77f06c99b93a27d7ed0e3f19c9cf8add9c4110066fe7c8cc457e2c0a0bcfe5a71fa7726ef916131aa8f88dcb935f8ad8ddec227e9398784d481b2fcd232eb300e69659f261d1994a8ef14901d68791c2b35cff3687aaa3d8bd506aaacbfff221d3fcbf1acfc2432b4e77bc29d980b4b0e30fb167d40bb9c8c95b0abcf76b9dc57a8006376fb167dab2010187c5f59a3ab327b507504ca4fa9fe943223d327fb8fc64a5edf16fae3a50704d7c087f83fe6a2ef12d7fe2e3e639fcfea61b9d77e5a8df169a7f73424466fd83ef8f87581e1738afc64288092231561694225e3340c061854b1339ec03383c7c8712fc775559a8598a69f3a2561f48668fbd7aea5246dca82730bce92452d2571a344d0a8c5e1b94bccfc3b820ae8f3fee87fd5f32d0a95bf8ba27063c800d81dcf21f250adc34f7efd0005e3b43a714686f1366b1e35b392eb0495aaeec3e1ae6e3c2ec7136d3a0be1cd54d0a4fe5a8a003bba7079ec88418c46ccecc0f79d5812af9f8667258535a34de128700cc4f604236956f5f8ecf0c620c37d32d15ce44290ed1b783cfd303e678a3176195db26667a94eedc267ed4ae67c117fd2f343b09fd6d521d41d73ee815637ef858f30239615e1940b8b9732648c63d3bb4001f5506af969fcb86eb613196e15c8e989f1c13af0b6326e8a1bba22dbbfa559d18af7541c29b64917f52b63a19bf1f5d45ccacf4ccd60bb556937504064c7003189ca9a1ff840e23c4ae82204353eaeefea5f9c94e729f86f435b98a7265365d10ccdaad4ee8c5d0c28c18f6a0a35e36855740090ccd43bc5818be11dc846a3cae1088789d630631de2c80f4b2fe082d49d0b3d3d1b4959642a8c1738b8561698a4962047288ffba7dd1429ef50e318acd2b2f3df0921031a4845d8b851d41d233674944582134994deede560abe0f96fecafc48e7112e876d37d67486f1ba35713c35956b7b221747bd51682c4f99266a6fe0a708023b49146018d7b0922076c2597a370226aa6b45cf7a890c3da2092330668caca4dfc124d776c78df43ce9ffd3648e4ee0cbce05eeba76d279de43ca44aa684ef82947f1217fd3656670e4a217328af3cedb12790327745e5269796f5636704afbfa4174adb3b6fdae2ccb697962df690c1b9232613170fdaedd104977fa219dc89784e1423a29e6903236d5779a3e7382361491ec6a0dc475f18d2afc77c3bcc631b85bd9231d7ca206f8f64e7dbb2c829def83893bdc371a761eb59bb24b15d39683f0d4edddde0095f1ccd8659587b16293ce88b14a9ec99188373eca8a5521e0410b5729a9b9a8203975dbf42e9148713491adf02427692035d41fd3317507f0390017ff6ca61ca48cd9f10b55e8fcaf8fdb54a1cbbfa4d24dd0200af6b0bd65d465fcc4e43382b58f93b89e2a9c49d4b1fdd251aa2e43d08381e578aad7037c67fb593735140771b53da6128fdb52709d6546f94c0226267b5d68deb03c01221c6f1916454e59de4def7ae90115a3c1d1df221fbbdcc65dea612269d687761d35e9442276bbe235c89a1bacf34f13f1295f3999acf6ff666a14963ea95ec7fe3ad661b753f31382a867534542982437112ae01c275b06e5c0a2da73f0fa72736c2cc93eea7b2c204fd460860990fbdd93cc49a6482ac91ced05753f8ec854850ebc36758903b4a081cf37faaa32dca2ae5de9833548e0881ddf048ebcabcb3e027ca40a41de6daac035a8b164d51c4c55c79ecbcf97446f7573349da7600e881e06fe493d95990869add8d1e07a81ffc17f909bc0caaef7adbf83fb86352e35b643a512e269869cb38752426afb1cb307661b1e67019fdc5d66afcb10332f5e0c80863b406957916e768150adf45795290486a13622434d4766d28953e8d20b11a638c8e39869d0a65006badee13f1771bd900fee6e92fb30edd887dad90df2cee7f25fec6ec6a58c6740b3fb42dfa5d74dbd91387e8318b293474e3b7bb1787557ba3d18bc1b5d7a9f56671780e5bca29eba328b114064599e9390674e1039fa84329670c03546f295fe7f59dfd2e696cd9bf86d1baaf6c29d49f1d1fd5f10ca360be5faa988c4d141773d03b49fe5f9c84a540124a6783c80f3d9c8798d41b106d19fa75fbf4db1d81d01d23909a84ce50af5ef28c02a7521da4ec4568ebc4903084956e766aa3d5943fb7620be8977e8e0d20ac5dcf3a4050232a4eb4aa8f294973f594588c374076ba20d6130b5ec2ce81352344e269e11f85441ea9deece067571088f302b48f821308c2af3ccf500cff6c2852f955cefddf54b6a51fd6bff00d90b2e24dc675662c9054c3900e1540c303d289b0da49dd7d67f0f43d629a4291bf75fff391c653dcf28bf16c9aa2dda7e69f41d1984efcfbf4ecfe0c0935a7b380ff7940b609b9a70422589fd2df7deb5cd1cb27f97d4d5ffe18f9aae1ff145af678bc4a05366138505041bed6d7d76621fee7f02c2ed303711c7e22dc7f95b4f5973af40348e85fb0f5dab242f95d060df5df282b1c7a69d08a46468a832321c3717414fe9708cd95bf1c2dbc5c9785f3e11ed8618da2ace8415ac17d418da0ee73829defb3c15285657a145abca8f91f64fef7bf503f337cdf13b2a122069a769da60d20a4893d980048d9dc16f9a3649e07ff5db2979faf651ed2f9e45a82c450f33f30fe2b85a393eae771fde72e707d15d905299f33287ce0c11d86eddf849570d281eecb697663044c4ecb8226baa61bfe7f8cc0f7de4bffcc739dd8ddd176606bfbd8cc1638a0228e90a1a877528e7ac17d1c56ca3a5e9096e00acd0a9314de8655c9cba443b97571f59f0314bc0f65bb73d387d5cae326b2942295acd4c253ad5ed63d14cb124784acd4f3107ed42a2c43d62aa5b646dee2daaac961d0412f9c26aed9c40cdbc38037043fc85b0e7ecd74031602af9f7efe3bff8743895f294c60340e9ba36c213f5de412e70c2c4762934891a63a141a4aa77f5e1d940918fcd967c7779ef5027165ff1bbfcec707c6910f2fe66cdade8d297ab4599eb54adf2e27bad97c52f6634df9ace0f3b05f1f491ca0242c19c9c90ed63f71329078e2fc5e193221e6737a30d95f06e64d59b0cd672e16b2b8447c53587b930e16c0890de6c5a803183587c56dc3583f3da650bce0dbb316885ac7f9805029b0f23169ec9e1a582ca3ba096de302be38fc2a2afcd1a2e36a8761df7e91e28fc4798b8377e3a9f0932b5fb5096442becddb6c91f3da0c77460d5c869e9ba5ad88d9dfbdd0bddb184280786f1636a2f0bdd4a2057321ac1d4036fa1b0aea01a8e800a55dfd9ad3ae95bbe6f34f8420e5bca1d7d17a2908a81aa71fdf65e84cbf2d9d735092f68e8b7bfa05bf64fcd4c795d4ea6c434ead737e8b1191d1417c96970d8cdf098baff3c763cf96fe96f7f238241359c434f54d38d4768a989fd6eeaa4e4bd34718b946b4dbfe6fa0f6ec5196d987727347e873f948ea605322fea5e49c6796ee9c1f2b9706aace6e4d1e3e899a07a386a1af77e08b5c34b2db83c382089ee0e5c7bf5b170c337bf34d228ca9ba7b784dfd2100399d1d82a9fd650ec7e2e645ea981d63fcd577aac456bf308bbb3b66f85c11ea6deae4b51f80904e1e9728472a5b88e0af7a19a7d03c56911f29fcd4725bd419786c359e84907241a18d55c750be5540952bc5ed3941ae19f611f147d3f50c23e980513796017403439221b235f529cc25ed4df18ac70f779a67c0e87ff70a5abae539e6846ac5476e0a2e88812764474df69d7f88504a9d323149c3d7089465b53b14c20a3790ce30f2651a0df8c20919b10e34aa46bcdbc282f476f70f3275085ccf8d9a072ebd309ccfa40a7ffce7649c94b64ff511ea63def6d172163d35b90fdf8b325d029b60e87c24711643c007ef98b6b294603e0c402cdeb5e8e1aa6a397316c81a07254b123e21b4c160f04e89559459349cd7d14e2347a605f801fa854e427386fb7ccc69fe560062d6e1e126718d78f023f035874fd334f366a081436559be895a000fe497d582a20987fedb7a1c3f95741b12b45b86387fdb699f820c51941620c128251a2486818d6a217f9e943832a737fb7d9da77693eeea82910defb05a17c028ab6a0fc55b3aeedfc5efc49bef809f27aa74548cad9c604cf32766c564f3566e7067c4409380eaa03bfe9d1da03874d8ea842901faf28d862398a94482ac30c37d13688c58d5554f129fb799f784bb6f20b40fd988694b11bde549b21032b92da064e7bb829f4a40d8d5904b4ec6812abc05bd720411a35f71dae97bdf9d0e9aba6485db613c319136d999e0430e29425708a8a19c28aa56e7a2f3dd53a2878eb7a5fd4f24218dbe26c2257e89ec2d573774395de8a00c8639730c5364f00794b7d0c62b1edd99cbc258d57138046892c394640d9481ce1db6df6bf8dc0e8b6096588f30a052af1c27d01b06a0c44dfd107913f702d9b82984b73f86599ef7045286545ab4901374b957accd233fced4a1b53895c5aa973b3d3135cbc4a789ab3885058a34ae821d1474f12c432ad7201723c5af4afb745aad2c2415b5d564690b6146119995bf9b048adbcb80ed59e56dd48cb76c3151a9b56b7bfa9955f48d36f3af3123a1b627f23742ef1a0bc7ee19862fe7a3e4244183bce13cd1d9f04adc5c250202160f6d9ac1e0e07dbf46f71a13a7e9807e719bccfa22ece2d36a7c2c9c6a7400ca4bf602094c76fc6e472242b364cf7787fc056dee8e24ee2123a7bd91c772ee633fe5b093c91a1ce6bc60487b6c1b626271e383fcaaae7de04cab1c6fb5f32f4f7d379faa65a0795e6ef68274c6e5ebb8dc5e706671332be7fd58bc7781fec01daa8c8484b0089a707dd01dbe0fe5ee01fb6a3cd5463143b00de4627c5d87af105e3a46cc8998c7e5108278615e1c6324f2b8f237f754c88b2937134a82a55b0167dc1a172f6291f041f5e83652d76f680221181fafa472feefb75f410f9fbd81b456e311c9e35d263c3937dfaa2338efeb8cc30a6d4cfa68b64f128beb25890e56292fcde0f98e74d3c0498cef1741abc979721111b6dbb3c60420b0b16c9484ee52e490c3f8065730e83c28ced7b16cbc25fbaefe8d9dbfa967d9382a886901cecc74bd527cc988b068f5241c74173c628c1299bed729c2fac4224f8161ecf1123962e9d687356869e4bf18a69a69878501caea0d4a1b302a043a3e1668dcdc364b0e45c77d708c936e22a29876568915171db2fd337df34e55476c3077970de3100212d5a11625472699a18e88ded80e628ab71822c75e746c81a63e6a8969d41682137d22a04c4900ec8e06d1ec7ea03128397429180ac6e3c3e0c9010faf81fc7879225420f56e58ca80fa19156215cd8012f7039c79c2e2e6c2c102d015c9eff3de9fe6a90faf4fb276deaf6366dfea024f5ba70170ca48a1ca202359a60ca47cb7876b364b7d73090f86b1bb2d1c590b3d70cba66f9b2a02717548f498c8f02dccc73cd1a56dc264a6e8c16d6845733fb1c8875d8363d1cffa45614079faaeb00a67dff397cf37f488c280ac3681f5006a27edafd78373b9b8f4a5c36d86abe13f884b2a63a2702cf685db2b6ed9f0bc4594a4117fa1f834f9167821cb95ba91a37c8cbc254eaca0324e8e52a0b98b68b54f2f265ccf941b8a783ce050c310c209b679c8917a83057e971af82867a5c73d6ac99e4302765b08e2ddf571caad6d422919ebc2eb5e608807e0b3fbbe9eba04b33a24097cc509360de919b090621cbf777371fbf475dba076e23c7b7c72eebda90c7531d49dbdc214f569f04a61635489438cafc754f382c805b65900f33119ed57cb9a3616dcfab0ef100b0980d803ab8b9227394e15f0522fce7c18b54bfa075547e3c99b9d4abc4ae3ea7bbbfda22ff3ec81b0e797883e9c65e4696b543f5b69919680cfeed9371e48d7faf75dcd9e2e6c9605a395c5712cc0e13ed613fae3cee85df81dcdaef329bcd9a4786035cbc95f4dc01fa407e8f5c890002a7099d5ad0c3edfe5ac94f5c6284b27c95c1a0016b388c10e9f8ce9304129b1e25d998e6a7b4e62824919e40caa5cadc170249d10b899ba9a6f8ae2b88fb479ba23a8fd4a3f6fd9bd6ff57abaaf014ed81653f7475a67be500b49e1b40a1a1dd80162f92fecc83178f8e2f541e5fc5ab9072988e50d008c9b309a38edd4ef1d1160d6de7ed66ce6dc1c73998acbacabc8484b8dcd63053da46961754ba54a3f302e4a1b9466563164aa0620a3818260135467e3e95b2703444f4ef21bbd0d45e8b9afb3cf51936a7fc172b4522f1f3af1fff83bbdea656204e3d0e16916fb331bc653e824163814de9fd9fbc0997f3e5fccec273eb4f9e628a463d2df24e5197fb1f9d0dda17cb25dfa9911965228ceb35707c933f622d84e1e9b31c3ffca3c76438b0b205e1cf1801ac64d9f75efadcf0fa9dabbf6bbeb37d784fa02439503450034c06684b4e13dac7a966ae4ef56fd88fc5d0f06911c0f257eb2d3a7f0025256ce4210a74a9d8a9d815fbe0ec619b18f6e21b0650a29ff4b8d57dd3f3f62b2c2b23ff4f1a816b3d46611bb5d2c3eb9038f76044452fccace40604a5826d4f1b78c023a8b37223d62d4531c59deb4a6bedc8ccef9af6a11a725fd60b414bf22d491040d25471256268943dabc5aab174ea331662e3b6a3b304c927dbac98eec168176c304fd7894d8e4b61bbd7dee2fecf2ed147725eb4085c427ede9ab07514a84736cb4215446f42520dc7d20474c8515e1a61171258e1cec3122ba73c6a64f4818293b7e42096f1385fcb00afbd3c7d57d8e6394068dc5bb0ccf889ca9a91746a0d82841303897e9384b90be7869f4643e920ebdd7ebf1d99ac3d9a29955bcc5b9911476a395b0bf6c1dcf0c34c0182b5b0a9d12dc25aef1bb85e2e1d39e883ed60ccd7d4c7c855b2d97dfe94d4e8b041638a4d1293ed29937d1403d9723a529b6ced079191e5d9fc1543fe7978356f076a83997cd9c4de947f1beb56a2391ddbd72373a4f86203bcb5ca4bad5615832eef47a01f5fccef30ee377882a4878674829d7de2a90e21f530d2d1a63e3503cba917670fb79c08e0afb0d4533797ce0185a7709ae5fc89c48c13f37b36991bd1282f19ec179b889d9eb75c52574861c7bc92c23a6c272f5268ec81b7ac9a1b52ea745365241474d44eb762276c87d15b3234b3be347b2d32e5f50f26c5fb61778fd89b8e1a63e0e6a484cb44a274609e9d843ec95c5b4c0135d0d4df8d68c455e1d961c0de4772dbc2ee3b6433e5fb85b9e605af392737cbf25d542133781196177fadad06abf846ee2585b8033ac5156e3a9db5dc2f670348f5f5ee792adf1e7f7ebc75c4e5cc2c74bee7f22d54125e461d533d1fc412247e2f9f6c280ed6e87af99a6607bad36be0646732c039504e78a9366b6b2361a7199b005b42f05dadd823577b5d86d81fc116273c5d55a7db0c474bd49c14c531fbe7ca2ff5afa50e2db401b7aeb7adec007348273d875ee499279beeee9a607b33c08da6ca2938ce27d91ee9bca66daa5c17840e3af62c83b1d4de1799e39bb9fee31fd32028981b2468e07bb51279ed250c9a0b6248086e52715f6b1b7a32c3e3513cfb31ce2ba26d264018607c75c3d20eadca84bc61e7f31a223d9a9a5e41488995b1f3f7261394d85dfb017209520864115283826c7d612ddf62837ad2cad73b64c4436d123bcc0424a062370c285244e5cdc4ccb5cbb46b00c02c160529d59761237e53dbffed08c6f9219884f8aff01c1189264f112245c3a1e4681587d3a5152a1abec89249b66948656961aad032fad9af1cd4b117204a23daf94db6a356e2167cc3f9bff73cb5fcf790725fcc4b358ecaade06ebba01c92728582203b68f7df0b1be9670030ad50f6ca11e7d9f6f58b845dfe06b454293da6109e326d26161bcb6974a068129626383a20d5257c0647c26634a990bb702cfc4256a52f40e54f101498223accf01d2e59e6ae5ec630a81ca7751d63db56cf077fb676e693ba2be655a713f0857353bbb444cd33636260062ffdf0504fe35d74b3039560ad109c8dc5edc9f3024dec2afbc4842bd244716980464796a6719ee509a643403bda2ddd022d780a502ccc63546228345135291d48e70b7dfcba132efa5e76fe01dda3f83312e2fe9e41c9194080a08a8278f7ac1553442e7c0719d31c82c0a4273dafda34f12899d969ac6385620c5039222a49683777ab1392aaf32b7167140bedb5368afadbc341daa1676ec75c052f1fa0ced516656cb3704044d79824c7a2827e12428e221880ff1eee8de9e1da5c4cba9fa542abfab10eda79244aaa33f428a5536dffb0972464ef9a08b42c95344f4245231e00496f31cf3144b9783f0aaa11425770b102a7a282f7e539c7a2c5f5d66cd7637ca7c16e6e9e9f8f3f0f43a9abde06b17307bfa9992eb103d8d99929eaf1616506ddf31f5624ed5364acac3b87e2aaace3abf665e85a5dfdf32833af6166420c03c11bf2dc841fa22c9b3a0e27d23d6101b8414fc8386569eadda161803e96e94f85ac1de7cb5ef494cefda0179ff71c3e4d64f21cd74507b7fc7cc774e315eb2a6b6594d5155336682a30c6ed9e458879ae15adb11076671691184032f8495e3ce3803dd8ed355ec3aad05bce1c77d41db816a917301c117553af7082c781b05701baba7a25cbc4ee16d17ce47f73fddb9b7464156dba266af1976bd1292b2855393134e911b9b09ea5b80241783a6223d07fcdaadbd2a4ed2e5d70223e7754a136c1f07c17299b6b3fb2575b1bdfa9808d66b1f2746fffc1de9230ac06d7419367f29fc600079999e63bd1288cd40760434b39dbf3acc83c09cc4642fb38319a1170c59cee7c7e0d51a337e8daed51b632f9c7e0c649372ab1b68a7b59a660b7f2e7fb903e60226b0c55ff87b967413181003014b3065e218e8e4a6cec07367f690db90541a197842a0b4f345603922b1995e5270db56bd964928d03c3ea224058084ca21ac1805fff71deb96d8c93e1e31d3c3b62676b72f6100376726422546373a0d0c32dc00710c8f13755c6778aa33d44109e5efc56e611c125cc8a9efc48ed11b29cfb16abf21fe265c7ec685799cd03b09672602cea24554491f8659f1c3010a29256bc22c269aaaf61d031916200cde0667928c145188b15439e88d3dd0e243fcf591095115637e29c88bfdd3f64e0eebe3390b97ecea2696bc8e00775de3f3a22bae0c7490d5488ac14808b1f6393831837a4876f62d585fb2eed386cf6aa18ee01fc5645a7857c5ebb667e4f3be556cd837b6afb1f5ab78ee6471f1fe9dc904d5406f80ea203c0660af71a19bbbf24a5202a867ad0faef60759ccda2dee6c5824867dce65448764ffe19aa1592060aa2a347a3413fd7a798dace756cb75525f52eaf5d43807b70e7ef6c1cf140468f226e1e67713308709e907c442b387e0be8a8241eb382e693357ec4197561d66648c329e5a398e72f3239926eb725d0461eaa6923cda7f35500c48bfdcbe2c31108d3709eeefdc503301b2efeecdabb0350017f884d7ed89e26e679f336b78188a6b8b8f605d3815335d89f71a95b51973420129a791e334a0c94731a126d215804191fccaba071c2657f57a4e9c1e9b504d4a9b32b9f746020c9e08465f60ca5bf54fdfb733b72cbb19d8e0e3e038774a9f46ccf7b3dccc7f7964bc5381c5ad12a99832a94a065e0508a363b945e479fbc2ab04441419980e280cf2a2cdc43ab7d1b03962de16dd2b67a190b656a2878c1f30e8b98d068b9cbc41cdd6239dc08f538ca517b48f150ae750dce9ad97fa348a8e301767ad127c001f83599250793f6a9f0228b1b61afc81f59492c3a880dc496f0685837d1fe5bb4188ab5d62b9c628de6edb1a02e7b1a0bbd1073a7aede95e69de353f0ce8582e0f732b6c08e2eb40b83c5e90e9429b48d3d4099cb91781c9c456a7c989a375951e81b902292ab6e907f922997fd3effac8adf716f1dbb4424147f48c039a5c1454a4a8d98e374687b07a31ad9231104e4b28909be61d8271e7bd39f7d7b422b8ba91eb27e37aa5a530a7a1158f0809a128765bc35c94e498293bccdcfa80f658415522399d2cfc4c6190fbc04b316445d7c059d5437d95079e6e7075e81ea2c9b9c6cce46d9579414f94c37d1821c29bd0256e47af99fe998d985ed62c8393d80756ed7354d12e79261bed056436b6b8d7375f0c03e7301263bb8835abe0c50d84f7ab5eb1ff5f4ec7635bce226b1e8de05d6b272943599f3f5bd489d7517f1f49f93cadeb7882f465ae046d7493c5bd25ce8273cad5f3053e49c501877d2a2a1c059a9f61b488af8df5da6979207d8907d351a694dba03db962365edaa9d7b9e4b445d559783cd14d2a1033e90bdcef60d56ad387460383da7cb323eb24befb7ae35589c9579a94fb0c5041c38d783d09d2b19d70522f2f4ae95421af1279689038505ded79d600d3c3d7a7427de44cedd0eee30aa5a8ab02f4aeff82dc680c9c42a59a615853b4def14eab07c60c30c313c6c7225b1ae3b1d592121452f8974760a98430f8b0728088d044811f4d15279e475244d6f9da866b73cb20379984ed8f50dd1318024a55c6bf156a8e6a5bb6136818c05d16a70ef83c0dfce6e15a9d2c2a9bd0a28fcb3378d28a1973f77c20af2a58c6d08b1c6c939277cfda2c75873fb0dd49d9aaaed854f95cad562b7ef0f16574b9b1f78517936bcf0ad20b4c008de5a0e74b99319958b7616e755d1f8c83f93d4fa0269faa2c6fef2decec8502e695e3403abfeb52512173cd765206e44c85f3496049cd27f90d6f21bb508e52f83e99c869433925a6c45b3e43ad5979225737d3462fc2e06640cb4eaac3ba728301d963a05bfdd6efedd430df8de1960924887fa6c45012acfb10634316d3424d939dbbebbf8d88177eb1cb5d514666de5490fa751d920639d402ecb321fd3aaab28de61e1aa73b732b6b2bc915466a043848fb1635678e440b7c4d6048ad866af507a88b5551734e2c08e25ff4c0875c107fa88581a3d36074f83cb11c1070f2b26d88ba543f0281519a530aa6f9cbb3dd63195da58f071f3e46fe2f75f8a4265fe1a7a7f1f657b2f587b5cb1a03cee0f22a8835d522b8f7e78a798edd9757436826145636d8a652ab1ccf979d472dabf22ad80f132f880acf1f110dbd30fe80f958f57c2f8ad0ce5b613346cb658666e1dd812751c74870db245c45c71f721e17969d6dc704556b05edc2a3c96c75c66d0d8f1e541fe6c0d6636f5230754d27175f94795e668fa389de12e331f8f922c965fae87e0f6cf29388be381e0f25df49b33c490a04dd9a34ad0ad1fdbf0ceb0018df152544510c72b2f97d15ddfc0b4acfdb00de7af4f642f878dfc68d08bb1d701f8dfcc1a55f43c605bf5df3c5c4bb25a1c1ab4622054ff53cbe7190f8b241338f82c37061760af5422cf5c30cf2f651cff0b8376f2b42aa7b36b735306333f950197cebad50e59119a962d2398658f83f01173043814a421d3e204260996c8da8db62fb9458b246761b7a70fa45a1c68c45cebeb6c4c181e7a1e5a036fa6152d088b743baf7c7bb9ceee10dfbb8d0c03d526b5d6c3511dd86510edfe7086923404a9cda9d72db060f9f308c1397b532479ffcb4d36e91ad4fe70c1512c26c6278aaca8ab197a1c88291d3995e1e763ba765e60d65f49290e152572a4462481f439e57ac100e99403e316a0d9bf4c115aed077163d4e236d72e7e1e78c0719912ff6dbb7b357dd88a1e03d38e1823a5a83e272db05a8021a7388b0838bc6d84b02fe598504100a79a30f5c5a0ae5f1b32a00c8c4fddca3c1d180a51e48f247b88273743a0731f20528164aea075e6a1ee81da24ca71a87540d0b9e0f8ee28c42f75c3db7bb9b397883d1cbd37e0b0dee23273551747eea06c7d1e8dcc4ed0c37b776a26cd4cca8111dd2a6113c8487331a33adc61b4e7655e17bebed234b0e356e6d86c8f818c50dec515c5f8ae4a7934fc4a01b046e7483af6ef38c4787bdcbe8f403e8bfcee2c63dabe1dfaed82f5173a6e422a79513fd127cf7c0483db73259bd2d07d954aa27f1a3d1e717bf68c91197c7610634c2c24bd82436149abe86580c90ce3808bb0b7cbe572cfaa3842ca7fe9f24c533767947b01d359cab2423a732f94bd9591f878d92889b4750432343336857268488aa9e6c752972172c739cc69d82f6ea8f66b4351caf93565898d80c3f23e2c29e764a2e4bd4aaeec7df60e34aa77d37054a757293e7f0b1c6dd77d8e17aea26ef31d0df150d0cbbc51cc39d1d9dbf56a32be16640dad7927eb832b21cc6cd0f6045904c4da9fb14599d5601729425c33dce3b362128ae9e65ce78fb1e0ab3092d396a0ba61d046a47de612315e10f70acd8e0aa1d547f4f418c903aa312df40e108e83afc837dbf60ae7844d5f14fcb95c5a124e25a81f9c385e1f9aa679a460046a7c478aa589c9317fc7d6fcc435855547a7f46363f57fb588bc89226857860f9777539deea3f0bece3d5f90e939624e50977ae8467ef6432148648be5aeafa4a39bb67bb59e1fdbf6366a15caf984191fa1e44b4623614acdded06fbe37a23d8b3238813e4a53f75545f58f63e38efe21d6906c7b62e4e565f456950731ee1566e2539cef4dc8a9767eaf4c6d5efa83951e3334f02d925f5dcc14bfc7fb832a619015786781a1b500bfc7c9534416dce8ecb86a91fdef9a959f3744f55ce9d8e6a360f8511f700200fb2aa3bad0e15f35138ff2f05630468afdfcb844c97d25be1e5c571e198ff2f300768530c70ff20b00501641492d6a661c7676c8d364c680f91f5960d491f1c43d0ab1971327bf878c46b94942906ba5f34e7f02d62a8b14451563131205db17bafd752bd454f517874e67a80236e7ed29057ef3beb0a3b8906fd3572d9ba6d1270c3a5bdd867e0126a5095832319bf97ce28b747d4a2b30aa8c7fbf943f2652d82dfbf8fd6ad3080fa0d2c689de6f8515340d41305afa9822772e3f9005a05db9832ed764320d6a1c8c66b734e4ef2fcecb3cf1ece92189f27b2c3021b372862dae2b5c13acc15807879399d66edb75d491d260bb834be1e942d9837767cfdae497bfd555742fd3555e421168dd89095981a2c268e49695115db7cb9ba407fc1709f6b02967edd66bf277beffbb6e6ca9f35c664442024a00da284155bd30075f0bf0cec31433a3b834118a09e91c2899ff637138f26be6a9ce07af950435d0b60a816efe88a80e3e83dd343137e033d377fd4ef9c7283de5aa4fff94fed8f96cfcca425808b7e3463312812531e8354555a04cfa89a5b536f574f9be711707b0d2c38ae1072dcf6d9550bd7420f1bb86331c2257ffefdfd610914ccc11479cc91f4725cad0401418947f4d0b88800e57d8ea68297af5ec6fcc8ad85857c5afc58a3ffb1f1ceb26f7d1928fa1c42b2e5be66ca1a56d5e4e3c45eac9a27badbd09e716870c7b286014cc79bee030910db45dd3232d528f2344f08dbf27d22dcae3a1c32e1f8588aea893c018985c4d87bf0b70a82f10f96abd794ec175ba288e053ab61e82cd892854122a18ac8467f5c209f0eca15afc5f754637d9036ae1b39d5a9ce8f08f697f5552520e35b25b98c15f0f3c82d5f9e1062f891db245407e966b6b3fdc0be881e664467c49cdac91b615a891f7961dcebae2890c8c63b6fecef52d6c704f3346f6ca34130f1db80818a5224d7a0d048957a6d3cc690f4e4152b33e9a479ef469d2a67bd400c97a57b0b29b75f401994a34bd534710b0c3d1f752722173a498e29f5ff8ff66491cce56f0cbab4c4b3121554af80a8a194414dda08c7e0751e68b9deb004d3bf73c9e9d0ef812767f2155419656090f558123cfe35d680580f9020fed5b9fd39df287c5f5ccb4faca3a14f64838d8d6d4237b3a94abf54a705e3ac2abab9fd55136d1107ed1115317cc399be525d84a6d9ecb15131ef0ef9ebf57ac2ab0bbec5713d7828a7e7f97217bed458c6196e2598842237ef1fac0e0d895400ac7cbd3cee834ef63a47e27dcd273d1592b4004d209e0b87d4a650ab79419bdf2fed5f667bda87c631ee0861e204f4bb0a976d0aea7c72826eb277d96c70827a2fa5adeffdb23104207849699a684f04d83de07804c3c1f724ab37a8bb6ab456e62ff17a5817b12eed354168d595a586a15ba72791f2a7ac3c600807e03cbd818b086ef4ed729577b3ecf63127e2c04cc6efc7132ca77f644ad2f47675d759253991f0ee2a9ab4a5e767f435dabf32219bb0d912443e9767d6a3d78f7dcb24e0e63114cadd6f502cf211cc2081d01098f2c1b13e231822054affcbfa79905b3e5ff85de1f1a718c17cf5516ffe60caa78e35102162b261a4164be943a2cb7edf3f503b26f491655a5402dc78d711d905d7909e0d2449644a74d99d75fd6390a5b7e1180c065f0d2260a5706cc53ec6471329f8d0c782132d2ca15cf7064590e0457f0f9257e35a6e479e2b78c7813107490231ea293a82f643e779c00f735ae9d91b13aeafb15f5378cfa6da95b9ee98d84bf31a053199b83331aadd2a2fb676fa468aadf18646c1ef0bf17f0276015948c9e608082c52bd7c01b5b7e142cefc187648d0922431bdb78e5665aac2abd7d0ec86861083eab939cbf502e4066d11673b14377dea5a5cdc7147a3e3c103caf893e1441ae3dc62c3cf276e93ab77e9ba8705f9027c0a7f9753b1e118f0ac1282ca295c918e5002985367043a272e5999156b5a61f420b0b8870779a9898abaa11e321e6478dde5e5de774c5847661512c8594dcdd0b2977f3ebcffd8faa7bd2cdf964e4a043770b79027b28b04eb67370eeb11ceaddf35c8d688d0deef86accde177ec0f84cd9468893658dec199ed0877f27fffa459021d064c357b9b1de748923444cc2d299dcfdfc669346b77b5721bef620259b985861d2e6e35c94e7a1b35429170603e75413b1cd7de754cb5869b2a88cff0d57e0732f6b2f4ee2e36dfb5cfcd293f1fa54bab4c28e3cabdfd5e7abcb17b718b645a7e19803202b439c3321e7a9ab429801fc5028e26b80d64fd8f300fbdd327f0c931eddc86f318922db1be7df9a452806dcaf130779243f310b42faf880f918685194790d3a5b6084c0b5fe2c688daa6981be6703ab9b7a4fe0f2831c241de9eb9d19a809b24a2f84a46b31637e61ceb09e13fbe55850397e30cd9331d32c0fe04e6ea0d278c98a01b7c8ab6e7982f098844d3967949566f47c60825f68e05ac2f0ca89f1fcae0421f3efbbea3dc9c82d9b560c5139fccf315651f36a2879e73bfb3e293fc042f184fef88ed2881050738b2b08e42d607ba2ddec89f71cb0e8172a5e9032cd7c38038795daed1a6edc422b5f0a575cadf55bf4de4c2e4ee66ae180e8f4c61e2a01e8fc0376940d7787624e0fe7b36400c38e215292a12771f10b7c4b72d4ac0fa6d61403eb933c0d5f3b6a0cbce6eaf7e68b061e05aedbeedd3aa13c75604e40247297b016740eebbe99682bf0b9f8e37b7a02d0aecca86280addd58a535d414d56ca26097d0546ad4daac1950264925485ebc03aff5110cc8922632a709be40ce9fa526d1703fd274a34217a6cbc4c9264a8e77a4bf89d63c887f8f4b46ad2a5a7f4d2b6229de406eb14ea0211a2ea2188e6db21609c07cf5aeebb62f8b78308abbe55bc1ff3e08014ee4d3318ab9e6f1bd54991deb3f9f629853072f71f30a65d2588fcb767360c665caea0894fa9bd939ed19860ebdcff90251ee07a7587d1d33b0df2db8bb728cc538ccc83d04345c3ca8a98e4cced42a4031ff2e8663dc807b4be1be9130b7dd47c3878cbe2348735a2076976b736cc664fe07ac69937ab8578f285a151fd6cb39771e8056bb665fc6d10fd29eb56b409c3451e5ac6077ab04694e7cea1e9b526d7b9b7d7ec5234875c3cb0933e266a2ec6f8aa9f9732c76e2f83cfc6f075809e761ee06ef03e8d43e9ee272c07fef483c494852bb180a8bd12e5ef8fbb73e2c6c32bde8632071ab06a3e5478b03692b7188cb5311837d7ef763b435f94f6f86a364d747ab56dd04c23339114f784d4d064982b108ef0cdab647539ed0c889baaa6f11318351395fff79e041167f1dd73b653779e1b020a7a9c0a362fb6752812eb1429d9e402b2542259347568d0fd6b1bfa7509861be7ee22877b0ff094415f72e3f3e7b0a4aafd72d810eee5def51a98575d10cf2de21437869a36b6db48e6f11a820b0847be37d28fda1bdbdb5c5845fcca91e905177c7644fbb8d7ec235b6ab7e19f75679f84e7d40ee1de4cdf00de322a051d786ede62f551c1734417c40c067bc3fa632eb4952eb06f2c47bcf83d2e728fd303b671e06a04139c1db802febda3768ef52bfd9a3790a96cf1cde048beeb2b892b6f44c7087b430758b00b883f0227def2f39c25333f8e3de17187b1faa7c13708fa7fb2d304d45605248ad93b85061e3ad054c617faac4b6df9b1344323f2e1d108925e8a44c2b38f3137220406ff597bf81593c4df686387dbd7b01f1260c393c0ab93d7eceb7fb359872cad6d17d3e4d45eb2d4d0b1fa94cb24c278aab243dadb2d4e555ec9c4bee7a1baf40bfdd8fa7a46d0fef8aa0d50d70e9d4362a8f48a180dfb1ff939aa4a5f7186a5eb78598bb89f030a6882869ebe3972b03d4c0d91e0806643f2b28c926974fc477c692fcf7751101ae5e03b19ce241acc5eacfd448a14f5c42ba130d8035bc741da36a8d76839324f0301e80095a7249a084af4fa78c58d639be253066906221e26a29c7ffb505fe9275592f12b7b9a03402e74a431dbd16b1aea91bc20339d7971051898b1c9abb47793fd94c9f6a93bbf3ca0d157a17ea65e5aa7ad6884922d2011954c0a7b845c042f44f89cf15fdd0c9804c26f868b2789103b458d05d7d98f652e03952322c3b1560cdf2ff5e88b4a02647e859a12ef0bd97b4aca1dda2f0f77179500ea578773ec5ac3e61741a0a8a77503e7eb9ddccf7d5f616b5d7573a8341f37425175c38430df21309960751509f49d28efca40b8803b606a57834ee2a64d5da3e804bef8994acb7bbe58f3943f15a1b18f3b473cacb8e55cf8876bd6db8901e39bade7429f1dba8429d4927155557e55f53b5a7ec651ac78ac7b25c7eb4176fdd0c6092214c79fface35a1a446e6de5adb2a85394e891a27ab445041a8b5889cc4cab36df13d6de52ff4b0b1ea4fed2b283c9e880049c2576113c1a210839d5f072a86dc5d292642688653838aa0fc103a6e0cba36a84b1e58850a0813a5b8528a8df4f77d3610677173a2fc030d4df8785e29ba8ce6ebd50d549843733b0d2e79b7144403a09c32eea667ebf8d89b21cbbf1ab0faa1debde09699ed6cba2a597c42176744a2a26b558d492be4e4caf7781b4d2d480a7380ce9c48f24c87eea96f6e65f41b207a5b60ed46a8303a121f84a82704bba03e0281ac64dfe390820be7b0714575fc5809aeda229906cd237ef0e3b7f23d1d916137864a39126529b1856b51601f6e6cc7c990c6c77cbbb44fa3f2ac6216867f2b5e2a79e65bbb11cf0bac7b43e2427dadaab7f5c46f6508fb1793391f0f1e5f899114bae70c48fb7c39f40cf4a9ac90418e90e24f79fb7ffd6b791275b23412047b8d30c57c8321e825d81ca17e2013f082664dd310b297186bbc4b347db9d30e5514a3993781c265d18e6c51a09f539fcc185c1c6c948c25a5af623b40f3e91a9736042c4896a27b96a57e1c2674ab3a5764126484a3bdb2abf2707c1d536a985ce1ecd4aef8d052e506e8d297584e18261508d544898955a474d2d2de7171fceba9842a63fe8123e79bafb7356b105276d82a3316ad6aee19db35acb91035cf94b1cee8e6519640e9f7aaf707f303c47c4601a49ee71d0ac49c512b1a851889babca8231fd40f515a764a9e4244ec85c7d2ae1c126d8f3f299c1421556b5492b465b78ceecc787492f3f32873b44ee147d0fff6a75c7608e59ec847853c148f95856d13f4a8634c581275939ceb41cf05f01221206f9bdd2c4044ea924ff39d1dd9b9e9c27accb7a57304cc86fe216653001329c8d2464850906912e66ea37e7211b92e7367d03ea86f1e6ae7429f1fcdf9596d7622a39d5406d3934eba7f93e592e5d43b356304d08f14714086ff8faece13c0c676ccf45f14cdcffb5f8ef2e43bae7115c76fea9a79b5b2fb8699133284d7ee12282d96f9beb4b0643fcac8433330ff848c12465c75e4552871ad61a487ef0f39430477d42fd317e0b9d17fb50108940163816bd096f58c47328cc66998bfbf3c39e6da4c0f4d4f14cd03f94909428925be4149dfbb3f1f214b92dfe9e076947c6827628953f489a04162c1c4b2635574e4236b3584c773a7fcc850f83c0b71778a5ab1ff1dec64c444d2086a5dad09c39687616d1c0a203c19dabb543353174df5e87464fe8ad0a602c3719a9f9f949ffce21523ead64b0c1fdc82916da2c97f8e495bdf59ee9047893f284fbb8fd376cb5da524168269d20e7f933f9135e9e4410ca7da26fe318168d9e1267fdd68eec2a8cba80aaa16e01c892af3030129cee8019019cf9b610353f6aa0fe08fa621e123d8172890cdffb57857c8df084eabd83e674bfa38ba470a704bd5e9d1597717c3dadec5a4a0ef4b1cc5c5b591b3c5121037559b4655a46df8f736abd2c8a6df7fcbbecf052be5094b6bea7234dc3feefa6829e87d0e05e7da32224af1746e31bd9f106dd07e6efa39c63c59ece16c47932bc412b15894ee84192141397620a17d5b756493f3776192a9e36157603666c917d0329c9145ede72bd9f82c46741ec603ea6acc628d8635ea4b83dda4ea5954a48774ebeae36cd9bd1b668f333d191989e389cf87a781164315c7bfce0be91efbc01f81a4171a1c4a3073f74b4509829d39f3296f6ef33bb031fcc7ea1961292bec921298f24d27b6c4640bd4fca859d56bff4e06fd18b5067f6d12964e43428e77d010772ff7f268a0cb7a0c7e412e883dab93388fdfadf6218d1d77ee8e69df586e9f85467c0be01444d965e3cfdeaab060e612df3ca9fa6fd7f978703d5d74822c743bab0e557f9f5afcd9088e61c1e21cd5a95850ba5880ff18913443613a3e6f45a5efa9439c6992433491af2f8fe43d5dbe885eac75b09888cced752551e85ba35a5fb1900a71e1366c28c88dc4ba064f609bb5fa2f6ca74dac2df1858ffbb8d67ee440ff1b1a8a36e3b1cea65b43c69c6e5700b65bcdf3857b73f9bdf900e6716da388104dd1aa820148cebfdde5e59729baa51315a20c9e5383f0c2b507575bc54c256191d6ecdb3e0876af079fb592fc2a7f9161b223ad9e626c9545e1d0e91e374bce978b231a0ceaeb5839faa5fa508a36de6f4674b8b64bc9fb7215cd33b660a125199736dfaf52b41c179ada5ce3b75609fb7dbfd4aa1f14c6eef4dc0c96fb7fbfdb6c1656b7e40180edb86c83979d2e8a6ae6e77e12b9d04b3fa2a8377196578b60feadf3e38fe4e7e059f61217e4b61f9446a8b974464367cc728f5cdc035e8fc17718f6e69c98a63003f935e547c5c572bc5bb60d9e7f988db8ed251dbf1a46766d76a5a617697294dea6ea74e29f43205b4e341885e73b266e42d207d5f7170359249baf60a218490172292b24672da0b17bfcedb5a31b6f71132656530e300fa5f788734cc5d25780058a67ba7661afa39fe53f2b20d9102353af808bd6536523c437b457a04d6f2fc5f7e1e6f4cfcca3c29248a64366e9b7f7e745b141d1aa0bbd3d4325b1bde7808b60b625f8b57f77013dc26127e917d3fe2db9a7d9fc517ec573e7bf482154777e6d5d97b3a1fed329200009f5e8634471956a965123625bf8314e1c1bf8698ab689ce5c356e619d6520b275af8e796ae58c98bbbebf313a1efe9ae07225b8f0bf8bcc5edadcdc88c64b3dd87890f971a41a6efa291d439ab6f1f3c9f01f2ebc29b17ede496cebaf8de88d4b63c4ddf49192ca18e9f9d48730127aee35012ec25eec8e50dd1b07d052e85cb740b156a9ce14224c6bee87aed40b4031733a39fb758f0b57cc2061635ca8e75b497023e0e08350771c0f5c7fc582a141cd6e549249776ebc5a796c9116caa87a62d4534597974186cd016fefccf45e5688243f777050f3b2c2cede7b777fe0684bfa0da6e61eb01d9da8c10f5bad06a76ea465f7d6dfe2cbead975bdebe61114d6b20b964964e1989f84dd2b5b0d4bee28cd14d0f47bd1bccf46f510c1c0acb8fa6d0cd3776c9f8ae67d64fe431c9e0a72d7de72f60b4cdc14b44c36cf6eb864f4200fc1b03a88f1c1803fc9fe58ff7643a0cf98828d06e901117a14918c0825498f79a221f544018e5de56736eee4acc07848a2e6ae5f5a3d3edad1ed79b8d90a0804d45ee046b73fb9dddc317a2b9a6380ab9c9e37909cd2160ebfbd9ee14e5bf58cab3ab669609adb5c30e9862c64afc1b37543def961e89cb5521367299119d38f321dd7f96f4bbdac6a5d0662981e4c6818513b3ca584ffbbf395ad6eca7b77ef3f4a8983b0e03a85e14e4ecc1e954b437dedd5c19433850a238fe339d6c394e49e45d60127a39531e40626c2c7f91b0f9007aac00610139591db6c29ea92ca3fa2ed12e43a2f79efd2b8b97901c5e9a6beed9dbd3cb36b07141d6086c049f72d1a09bcc82f0618d29f6ad148fb01826173bb8a7ec03ac777ac87a7deae1a08de7a60c9a77a20218f7cd6b1f277ea964f174d4694d9b9617e00005fa92915bb7ae478a83ea3727187d25328ab6d24176f885209c78afa9b018fd52b2e3639a3072cf02c22ce4e0d5170cf1eb9aa91af46bdc3a0ce457efee5606c89549aa04600520a9986752695141eddf8b7133d0e9ad8cf90cb2efbede1acdef85ef70924df10e84e9f168872fa68a0755102f3afe92e16c97b94b8eeb17e6f65c0c38e7a1233c55fdf851a87cc7ea95b7d3f3cbe6e4a984c6e5e9bb955b4f60329203f127d01704466342429db434e5babc33223198036b0c9bed5415afff2c5fe39d7c80ee61206612e218718f093de65c84b8f3257131603f44435397be224176e3e43053983fae27ade8ec95576bed9bbdce11de3040fd0f2e78259d3dba993d89ce6254c144f644583a86b1496799fae90ff1e798f34c9726bd175d6d49a378333e9298eb40c1461b27d7ec0465cb1468a81ef84aab91a0f4809638c027d130eed1e2a413fe4f3a2b54e0bbbaff0ac9fea9019c47edee244d0478d657cff894943233a6a04278cfd72ec53db322474aec9a26a627f65377f2471dc3f6bac31fce801df3eb21ce27519cf0892c776c63fa588874b03c352a228541d59eb2882dfb9e5b2808ceae8a4364c8ff19627ed9e49d1ea215a86fb1752cb7f1655161a5e2c5b29eb36cbea2d94e146e9ce9cd100722dadd2c3d97a1f66cf2e3c161e44fc3424f7b16643683722531ac0e745f33fb09d629c0a9e8354208b0c18937d6e0c0fb11ff4b774d29bee5093c10eb51f5add7b6a8c076825c98ce07de5f6d7cf9b60245ac0651e29cffc9401f18a725918ffc5d06852c25bc85554a2fcff0e7954a1917c7935ffc74c08c64c64533b9a0cfdba5c5fefd1f7990c019704c0dd2c33e3de4136e1e0db7cf694010df1e62e9a594a1135516902ab7d6bc8f2e60ce5e44f1d75fcea9c52e69117cec0890909a51d9644814f9115a51fee0a0616f694be0143ec22627760751b423a5987388dd5760e9a7cecbfeb5b3f8f166a7d30a5454b7a7a5b69806b4c46e393a143f5ea22277023fc29be768f6bb4535e5d161703ee996003f215fd44167f8422c3f9cdc5d3a683181b421539716fae3a4c40ea32019a2eca77be6e7ed600991c1673c7c38ffba08b741844ec836580840d448dfb91d7d624fd2fd33d28960df6151ab5b6d7af97926194f4b08b1452d9bf7ade29db60254c0a1fd4e2da0c7b000706fd4dcd0fdc60aa2d45bf46150d3221e18ad0709c7c07e458545414c81d79fb5e0ecef60977c3090f195a07837282984f4787db7263ef1eed4f6480bc80da032f01e24a2e09983971b8d9135abc03255bfb513530952c3ac667acabfe817f1620f6e1df00d13a00f2fac1b776304c36069ed5ddb8db366048cd3df0e8b1bc47b3f6c8b8a9d17dc662fd8f4441220682c457ed206817a4fd72bd018249b1a60e1bd706243b6924bc5f3a463f3017df967c3e8a5875d995ff63c3118dd161a72043b0ddf9fdd1fcf2622f96dddc9bd79ec043c5ee14d0ddbd0b1e13d171d1e8e188a3f4c695f53ef5b7fcf0980682851924170617c6cda32427c14826678273f8204898400df463f495b10578fff147969b090d4c0756242a6757c5070be4080a2acb982f53c511f8ad1e0f8d0596a91ddc9ace33129ecca7b6ced892bf3cc8fa4a5df391c0016d460c818b3d7c54c2d315664a8941d43f439638efca761b420950bcc8f10f362b2f4377ee7b214ff288c0e855acddd47adc6db4c383afc041319edb9a4fcf4e5133fc665442dba4f9e865de6e7ab4da6008d6c51ccc09f77bce391183cf88b9b4a6de8280ef68b898861a596ba91872c6f9f43430176b757371514581025833399d4949351373f023a66c6c11f4f2fa04894b2e6b25a53e9f8550cb5d6b26a7af5074270cbc30f7de870362eb65f35cf1c5ead5de46c97a7c5330697bc8023f99fff42420452f294184f3655600d49d4a1006c377296d891fcbf4f6ec36ca983b9b55858e605d9902df050333ca92bfdea3ff81320826380dbaf07f95f7141fc5b587529de47fe93e0afc2646fcfadfa2ef1f0577a0cb19507ddc9be73471e24bddedad71967b1299e87e403eebf53cb6b4141de7a980a67f95637b79eeed7587e8005102902b99c1b8801e225e04f1055d493324221a21e173e9c1a2f3412c0348921979907b71c59fa87877032941c214882725afbea1af5d712c006f93e685f149cf667bbad7d102578abfc60c73c4418aac62e02b2180e9296a1c3db25408b9a059cfcc7a3a06cca2599923df2f5d64ceafe5e5aabaa4ef25d695d8bcd0ff7afabb662f4e875a69f5c6c72bb5662a155d2503e64eafffaa9d61f47e48c90603e292447ab278fbcdde4f4fd7e1665c7ff1e0abfc1025dc9d3b110ce723e50a0e03f6c2d8a1cbfb93d513415f28a4b1f3e0b5fb121d00fc5f6c2214d187d707fe185efc2426cffa82bf7871e01067055129ba7ec4b4352d23f28dc7188608aaca66959c6cb767a252bd027ca67d80fd11440ec6942eeeb4b930aeec82741c4028fe002e4f297adefcb7c17f65d61a924425b1fbcc7ca3182b73036ca090ba6b580cc360bbf5b795f2d1698f757cd8eaba7ad5d4a6020815c527a086ecb85eadc444399b74452e574bef0909686f6928c5402699745a0c6c9c0f033e7905790e3530ae26e93cc3333cc3333cc33346e7ed76b35f5de2644a49dace588810eebf273ba594644ab8da9a70af03101e08c3769bfdf63fdc950e5e0eb30ec69c5f2d16fe3dd8c6149e43b440379750d24b6d8fc966e17d70f9634e8d9b8ffff031c61d6ac8c29f77131ee562dcee5854ab39bb862b2d8dbfc0c25c32cf6c967e053a3cdb77e7a43f8e86480d57dc1b42368bd90a83922e9ec74ffbe7b362d9b3147b27b30651a655606afd3b8c86d15bbe2ab6b78c5935753dc6742a4e32cc66d1aabffe4745a18478fee019d4e5d0293a8d7d325f6cf3285a4cd17f8b7a78deb15eb71486929925174bcb5b555254dab4a032483b9d5f466167dc85b898466b99a2584c7fd0aef12ce63086e2f9987b77b7df31784071abba765e85b6fe138dac6b71c9d7e45de6093e5b959fbe7ddfbf3a81fed85288d578af71c3097633b960327efa34eb26f0a4f5de9288392d53504313e998b30551f795993615336a6422d91e5d36e939a637bf410d4c742aabe3c6f859cf452fb1145aeeb418f40b1f7b4b2c06f317f48f52625a5025da2acfedf77ee1b24c89f6cb663f4baee9ef49545a8cf7aaca601f3a92f8e7ec5e3a219e357e458444029fd379dfa6427bbe21a16ed8345ad2f1cc5a9647a02e9d0cddc1b4410d4778ca3daa886cb371b111c8c576141955eafc2a2307351891b875cc35e249586b16d185908f2f2ddc6831c5410d45e8b12f696659fe376f150a251107fd9eaba737630a2144746af75cee7d398d080f91d2b2cba28b49f87f6f8658b6132d764c191dad16c20e57a133a5758cb902420d42a0f9a5fdf14a7f593483d873480b691ed46f090581061f6d2e07d153990f84dd72fab75e9dd11a01c17bba29f78f712fe6fca11919e5dfe269496d8b1f6af1ccb2b135d736f7c1d84af5a0255b753bf98098af55f17e416686f7d009f555ba37f34b9eea21e9713b9df4a0c54e2ea1461ed89ca666f6e5183e4378b8b747cfbadc9b577a0c6adcc120f26f458b9af574ac502867fc087410a1861d1663c81166f3b1a30b5728943a983bccb4685acdc774c0459337f917847a6a9903d7265f34f52e6fb61c32d99d22fe83d69cfb3868377e9ef4da8948170e5ae7f7c9f3f469fdaef18625a1d5d4b5c28488c9851a6e6894f6f8f598166ab4211f156aa3e6e97771c3065fa36827132f795e6b704da907f1a0c5ab73d490cef42cc992b92fa64dc382feac31859b0669331af278236370d3b4efd438c38297d0cc26bf49f306c4079fec80c7d001c4043a1c888f11e8d0615667fc0874d4c99f6087186a98411d11733167cdd12e5f86b6bc4fac27515e1ef61052830c7eb6d8c1435e73700f8f0ff058810e1b818efa1f88af50630c35c480cefbc29f3c3f3142a8b2821a61a85cb8531ba46f86f581502858030ce7b2f951cf36a17f0a52e30bba24af9465c8e99b0535bcf09ae57f868d8ab7327d0abac095d0c2fdb8066d3b572814339e8c1a5cd0a4081d36c7d5e734418d2d6865f5c13ce89cc5cda9f050410d2d2443a4783acb2b337d16525f17f1eab99026ae50284188f4a80c2922840435b060b50b9b64a866c9a487a0c615cea9437892d3c9a4fb95210c82ca10ae8ca1a38c14d4b082ff99e536f563cd5b150ae51b08e7800337682642c649075050a30af968c5a9d172888b48b3066a50c14f3b1bd4b9badc97d59842f999fa659d11cf3c05210224043b4650430ae588b82063f27b758310e941821a5138eb4e6adb6de9b01b316a40c1ed113ab4f3aef184c48d8bd1cfbf4b9b92138e36aa2db2b7ed4d4d30cec62c77d6786b7502f1a1821d41880009c1192765507660a006136a2ca186126a24a106123050e308358c50a30835885063089cfac93c33e6c133693584a06d38715195fd59ff6058a73c35b73803e3d3597abba273ec86bf4896c8e02e86760ddff1c51a2b4749df17253dd70b34ba6a164d0921e7f302dda22cf34b5b9e4533b20bc425ab0ea625f196e4ba3073c642b4e849c70cdb602417b8e6989bdb3bc7ee0917e55b29a12135c9ecf95b685263aa17b6e388ebb6f85dca96b4453151ca1a8cd4e22a1755d5368b49e6242023b4d8834e0de25a636eba3f4666e1b6942354d98bafa3240b5e3af9b29bb8fff0de905898e94c27212ea80ca5f731028bbf948669df4de15b4a23af48b3bc9ad6a5332eec8aafde2aeb3d74dc2d6530d20a3706394a699df6bc84a0065f020a85470a52b0834231c387950e1d29d811c407114ec1191b18f22f06111f3f849041a10cf94f14ca0e1a971861c5f6d1d3279d325adbac5028471859851e3f6bf2e9f47f1656c3882a72717bc7445d3297c369184985d9da26838edf6edaa8d0833e553aec6f6c6ccd30720ade7372d9e30575da94a6b03ea69642ce3679a5d8e598a2e62de6cd678411527042771693b0dd92e931320a57b43f4bb6b7bb2e4b854279c18828361542bba837e1991b0b4642619647a61733c674610414ca888f5194cac813f727be9049aeca34cbd7e10a1af1847eb7bf1e3f9ba6eb2b144a1d463a81d039f6a978eddade30c28905d1131f365ea9b80336a3470f22ff01368c6ce2d920edf6359686ec9a504dff565996262d9c09ab4cbd542e8fd4a45c30818a4ff2fe56eecfb49750b31cb3b32c8aac78f05f8c358c58e2d3694a543537cf6e95e0eab3f8c9b4c8aa10296186975d7475d02f6613174626c1bec7d0ee9c9a711f49204d46967772331daf48dce2f26978f33f5d43e228ea47657a6ad3611c79c4b94a696e97a50c1d338e704cdfd85d7cdcb72808238d28c108234616f166d0aaf9e5cf6d5a4e8542998049810e830209fc1062868f1eff434811223d7c30a2883eb9b97e365d172626a298b53c95bba772a346184144b5bbdf2fda7c787239c2c821accccc552894213c460ca127d3ae50e67d5a528b315288c54a1b8f496d65f8ec8c1142184e76e81c33ca3e0977303208afefabbf36e58dea150a45032382b8334b25d38d28a91edc9140d8e26fb8cdf4ca502f3c78806007191b781f276550280050c20820d42857dd9ef737e8fc8773105aa72e8c5ae9a41fec164fc7a4a4c9126d1fb4fe98b35ffe7c5285880f1d9cf123f8c11d8404140a85c263840fcb5dfb49fdb32cc92cb807efd3fbcbf2e75313ad42868e15e818c10e213c466508838032a207d7cfa5fe2e1daf9e25088f20432894213cb6881823d001821d1be8c0183bce18c983264266d0df534a8daa42a1b0c0044118c1c3d1eca4da7e1c7d8d0a61e40e7696e8cc3c776da20bc2881d6e7f3397cf0aebd7eb60aeb9931dfda27b471f8cd0019dd790264e3d6bba73589ed12fbe747e76cb212d655299cbd3c675508542a18cc4417755ff8f1d1eedba8a8ec061e40d7cef6f9c67f31803c1881b2a3fd3536d293235c9819136b4e945bf93d6b9b378c8081bfcd09dfee9fb41cc7832b2863b967097dd478e0c9fdd881ab432e599f2722a9de53468311fb55fb2311dac0a85e2831134a4aadfb36a72abb420238c9c21cd1e9a3e68bbf8f7150ac50c97d88752ad29fbf332ac2fec7e8d089d4f2b32f0f5f561f4867a31332c8c8ce19c674d7f5c7c7559332286845697e5b73a3b75751746c280fe0f51ba5e4fe93f81e1355f110bfdb430f205dd7b4fcf6f5035fd32e28553c697e51432a9d0f35428941e4418e982f1e9d36bdfb5e8a82a3dfe44081015bc0746b870eceeb8ecf9948a37e9d871f2ce0f02004061640bcdc9a4d432c4d8ad68870e46b46070778fe142b9fc73e9d8319285a5b1d0a7c185598f170b6cc89123bf5d164f7a5728f465f3f758cb8bf933f88790213e6cc40aef55eea9568dae798d5441002354f04c5e92256cd36447a790d6d3399cdcfedc8ca9fc890646a490e7b6cc94a2538bd955289421ff0371193ae0130a2503235158be91fb3d5a632e9949fc3f7a040ae95196f339669b7f3f21bd1df4e9a46b27b0f1a2cd69edf841689b90aa697b39498d096dfe8ca643e36e3483900f203dcc185942ae213d8b49c8d124ceca8812f094713e55eb6f6b0a480f948483ec9c253151994c6791801cd5fad959b467e93cc2e28638ab8ce63bee3979222108420448085a306204f34f5345859538ab2b140a10fe2104390876f47b100eecf89122e42a9e6e66f65ab44ee5c70fee21e4bd478880dc54974555d3c8101ae51e5bccbaab443e2284eec3e62a7dd2326d148c4caea3ff6c8f66b90506b2f6e54b5bf90b4b85962e6ed427111e5f5c1d641ae13994fce67af1c91b55eb69a38ba57180062fee166464f56541c77319985d6cfe9fcc73e5bcd8d9d245a3b963966dfdc465eae4fdc44f82c000043472716a396a9eb1f3b4aa0c784c400230c0058d5bd8224d3a64d8d6cd9b4e346a51b42083c62c68c8c2a04388307929fb433944c89058241ab050018d57d070058d56d060c59a3768d9d35bbcfb68a5c79b518447193b54f0e80c1e834221e203880f2045281433de0c12d0588599e5581fe53dc6b997862acce144a810d7616e3ea970478d96d7e56b31898b062a50165aa176fe6f9bab5c80c62996aa7fc684a6b61c5b14d030451e4ba47ccb2f8b39b7d02845a67d33b6ecbfcfaba440355c27b70ce9def6c92245d077c08c22403e4063146b97f278fac4b7325fa1509c4fca50030d512493e80a619aa25fed0a85b2e37f200e038d501cb63efe26f768b92250ec254fc6d49e49ffe99940e313b6483d6bd947993c6d09343cc1c5f9a65539a1df4c9d604ddd658d9973c750914083137c78f9d8f9a48f4c5585420983c626cc2ee931cb7c1127354388d0d0c459eeac4a8c6efe343251e76acc27fc64d0d256289410d0c0047b9a6bb4acbfe91fa07109c5ee25351bda4bc4a7618945ba0b9727cc7d4fed031a95f0c59c1743669675bbaa50283f7e700f0fd0a004daa93fe638553e375728141a9338cb691b77e469f3972145bc88193dce3821424312fabf24ec2b838c4d6a8542c1048d48602ac2e665f51242e87f20b6040d48bc31bc985c1e99fbe2ac50288f38ee6fb7543b2e987e2a144a206838a251f5418aeb081a8dc85abb057fed8c395f854261040d4618dcf4acb4a42eb7ab150a6511eb7f4cb26a1a9b49ac081a8938b4e892dc331531ba7981062296b53f7652dd0b2d7d151e42829cb80a809840870e1daee35f8c206500e009340e714b32bc27d9d00e0a850a340cd166a9639d7fab48cf0b71ce52a8923af7c1ff2484e631fbfcfc58de7b2a14cadf80892c3406f1af89b78d2eaec6531244a17aa2fcb4f082f91f88456c8ba771d515a903e2183ee87b41d987887fa8c6c3d399f63b4fb96703e1e893b5c1d20388dda5789173d91fd097655aa1965779f96141c8bc7ff12c53884c1937fa8074f9385a5b2a1b743e183a6a3e25a637cb69ef618fa545f338322edf8b1e124bcb5579317dd8370fd7a894cd55f7a0648987df32f5f4bfbc6426086edcc138132df7cb9ad183921d50f6f2a8d3a7d9f2ea7548c9587d5a3e78cea3a6c3633a66af58f7f8a29dc331f467636baeb69c72386c5ececb1ee3937515316ec4e1061c50ededea92ef709bf306765bd657630bba6ab3811b6ec8b7734c2637566450060c76502834b8d1863635d4a787bb0fa6850dc90f1bbb4cd57ec25dc3616142bae7d3f9d3aa86bee5840a6525c6ac4c43aa79d764e8f499f943432de59e32973a4be9b1336869af79af5d3c999b615fd7e48234699d3d274186f4f81a9cbc19140a056e946171dbc52c7890dfce121938add7254375e6733d86734c652fe618fba50f12432353a789fbad0b230e83a9fa5a52d7dcb9a5150c75ebeccd2719367cf40bd8075b6d6b8f17cce7bd2526436697d505449f8c9d5f1e5d9f0d8f10f448c20d2e1c425e59e5666895538588056e6c018ff5d297b4702e7e430bcb413d53fddcfa56280b076d4168784199dcf822c60d2c9874bc541ec554cbef5738e65cf24ea98bf820c4811b5658922fb2fb2e3c664955f063786b175369774b0566c44b3be7e7ecb99f82ef629e9dd5b4712e78430a7e2aa18316b527265f5670230a07db0d36329fe9d16341e10958e7642e0825656716dc7042096e342105379860bbf4fbb531b32999f4c08d25fc7f63ee1dd44c595d4aa824ec9a31e663d8f49ec60a85c2030964dc38c20d238c71a30837887063087df452fbe8d289edaf22c60d21d808860d603c3268d1825ef79cebf48b43a3e7247b73f9fb6bc317862fada53ee38edfcb192803367aa1666779b3e7e89baeb7c10b94e6c964a27e432b0d828d5db8776edef2a898cc2cba6894cc5dcdde72ceaddac885afe2951fb4655d11e3a23b71eab3284a66ba8c47193bfa85905186116cdc0297b67d64d3e59841560111fe21068502e48910e11fe9c4862dfcd199eeb3de9b0c532dce6d41a6133a89165fb9a45a834bdb1dfa599cba2ddab5de74b65d1699aa4d195f37888a3c16b9b8abe5720c33f73a2c74418b8bd6f6b9e2a55fb159b6a0b49c853d7ddb15fccbe2858f9d089ded56fc1eb3c87dcc3174ac5961db8985c6935175f52ada139bbeca6466dbb42ace3164cbaf5b331aa354d421637cc99d50b1bb6e9a7a69d4d339459d42d73c09113a4bb129bad3a2548be3316ddf52a04fb383d04f3276524981d0715c6ab1fc3fb61cc5315ba7d25333af5d146e9ab2de19af4d210c8555735a55f52f650f0aefe544757ed99ad17dc27cd9d4bdbba70bf2c4d946ddef0b2e2f473bf1a6113a59687896748c13ffcbb2c8dcfbd51fdf042ffb6d566beaceb7266afb9c5bea1c369b359958ca0d3a9acaceb6339838de9ccbc2a9b43d315f02f952a68c2e8f14a1e5db86251eef90adfbe9db2e3b810de80843022bb051091b94409ffa12a9a327427b7ed89844e1e3fbb6594c22d44912d66e92398b872c974a91308cccb69dd4cfd4c69030c7c8b789edf81ce48fd03b5b6e7937e3e7743ba21b4d1a93a6bc2ced4b23f43351428574c16488119f7c4e9d74bc1774cb228c9797ad970529f22e456c52c3737c8971db12f1c669aedafadb8b1a222a9d543ce615f920f2211af790bf496631ce482b4586f40062c310a6b4f9d277553288b512c68e9309c4c04621b810212c4dc8fb1d9310ba9e863af3cc20cee2edb82611df5022413cf25952bb262e6de7dec7491981a85dbf8397082d6b7a80386f343bced68b6bb2326cfce1f8537129b35d830cfd702cfd936a9ae6e2e52b7dd8fd36ad675b1684ae4660830f7d09997bbc46bdabfc1c0431630fceb9fcee62ced9f2447ae0747a51cc5dbc4e5d90132243def390d2f9624ca6c7ca0e7c243c249e42538cf7bef4df1d8c761b6f45ec47d352696e8a0d3bbc2f3eb75f591e3ea78c1d449e8cc5461d52a6b48c09b1d145d3e8c069d1f7d6539a1abdcec18f2247e976929d8f5628941f417a8861430e76d0fbfccfc2713007619ae18410fb9a20407cf4f0800d38ec1d67a4b54be982293760e30dfcc799ea0f593b57bbe14e9dcf3168cddf7a3060a30d9c7e0f9d5b529a393d36ac5daaf3b8fc9234ed7990600ddbc8985d50a13f2fe96a2884687e5958d1396d260d653e7d4ae69352df3168581c31b78cd7a337ab67388636d5399f29255e3343a7c5eca63d32c6598f8d32ec27bc54e73c4f9e932a14ca49901e0fc4c70f12f0b0410634cabe077dda47fb24b0310683da9846ebbe78bfa842a1a40d315c324f55bd25e9b974c6b01186632a0d32fda8ccb56a8542a1810d30dc1aba46d5c24da5507898c17f42848c18d8f842e2e45d78d094077494f1011b5e40840b3a34675117905fb39e1e967bddb50d2e9884fa87df2ccb7619cba00c18ec00818d2d7ca69a99235db4ed0c086c68a133b1a967a74ae3966c64e1f8a55d32dbcf93afb18185f4ad7a0e992d468ba68d2bb4b92bd489cb3d32cf3f6ea036acb078e66c4965a4cb59aa022a73e9173d66bf85b742a1f438e384c8b1410545eee71c97c534b6ae8d292ca36244b438efef624078d890c2823225da2574376fc80336a2d096faece3716b838bd94007fc9b8590f13e4e88f4c106146a15f92bea418fdc74e8a071041b4ff883d0a369366a8eef7860c30966d29deb27c4860c3215b382f7202538c3461316747bbc7b5967422b9b4ec69c8396a0e7163528213f899b8b12d07c7febbc1721454ec2e1eae25a1eb9b7d957281412ec2052648c0d74200c1b48283e94106e72d353843cc4700091226640208c1d36b07184ed344c6d3c19235cfdb9e3d2aa7690cf19368ae09fea98b94ed4680a1101b5d94d280f9fd33c3b84aa2bdfb6bf94b691da1042300acdd62ef7cf59ce72392001c6498a87aeef4caf613090fc4211b74fe529f3e2cb7a81c41708ad3f6b6183a9b1750b24bd583678be099131cb95974007087644818417ea8e4eb12fc9e83ab10a24bbe0ddc5b816e3f2db66150a450a24ba6894e5a7973ccb76d45c9ca59dab0ecf90e06229b4a5fc5342b7606b4393ca24db02d16642fa6661ecc5642d16f5327408fd2d07135628941ffce04f8a0c09f2a37bd0030ae5e481002142420bc5e53dcb792e465bab50283d869cf137e81184488f1a90cc02975d47bc2cb66e7061592c09d19962af3fbe5f89241658656e49c86fe9faef6f00840416c6d4bb0ccac3d4c824af5873cb7527efe7c54dd380c415ff775a17664335868204399901492bb2b60e5a719e5d63a642a1f0b02ba2430224d811041256f0fdb95be4e9795aa70924abf0ac057579c52c6fb41e4002892a38ed74a14a858aa558e991049254d4920e8d6173ff0b26abf418c243c20040114850617cf85217635bb056a0630412d861469013312814000c81e414ff6aabfce75ae1c163033b860c090185927a0c31630a24a6486969c428e999e524da209094a29223f2b40669e3bd02818414a726a1b4f8b78cc2b47b5e99a49e65d20f4844e198968da2a37e9a531e5b4407193b3cb0830724a1586e31caa6b5bae6909b00043b52e03f7c543840a1ece0010928ec2e1d763eae1c20f9c4821c3dbfe51fb665b742a1381007e2430c0a85c413e9e0213c76ce93617a924e706213bc5a7bfd55feeb0ac447a5c7f3c0c7101e9068e257efe08208bd183a42b043088f41a11421c984193eb6b5a446efaf4a8209f4a6a7f0d09c65d313c925d415f51c6d5c6cb97c4bac2166d7e486cefc7625122eba3dbe7c72f28228b185162b65fa72b64c27c1a77f59ce973b6a6e471249cfe288d2eda73ebc48a0ea3ec8b9b6f49605128ada7a6e12594227ab02e411678f88f4965fce7cba8e1d5c207144325ad215d52fa6b1f4808e326c40d208f488fca6f3cedda1f310ec0080134818b1a0fe6eb2fba5b6d122f64edd6739a61f248ab0b2664dab456dc61c104812d1fb7bce2ec6121d44cb090922ca6059b2fa9984b8d821cce2f965ec7ba94e990c714e311f9d5cd6ee0c17021b13a1a38388108cc8cefa4d9f376d3a086fe3f6888d966a6e61124164d57aa24b07bbdc32084920d059e4679df1a0e38be3800410bc98c9a4e8cc983a371390c00e43f2075e43c99b912d67692183c40f7de0e48d8c12a32dc9529380840fc62c284d1fb3f47a26d500c91e126fd617caf4c5d55c1987440f247920c103c91d48ec4006491d48e8403207123990c48184e40dcbf559cc2c7a76037733ef6ae66d26b7c10bf9a3b41874ddd7850d47bb97c388d5d6973b246bc0d2575bbc7ca3a80e891a4c3a756e31c6eb17374f433268b1da47075b0d6a349c745c89fdcba163bd67203183a1c53831952f15923218b62f8d6fb9856ae10a0f1232e04966fede20cd5b3a81908c61415c497bfb38f91ec5a0290d55631e2cc54a1c9084c1feb2ba532dd63e36182c156b2f5def9516e9177659840b326f8bfe97f4c269952ef8c824f2bd9348bab058fd27da92b41777b9909c7a9b9aedfc7758a150b6a0be68b91e710fbb5e0b7b7cfc588b35ee72d0936461d159d88eab7d393c090b9aecb34c7b730c48aef0687850229476c9b36f85ba369428bf0d6a1d0e425285c5968496c44b8d72494b0f122a5432b8d9bebf159229bcb13ea66f580df12a8914529dfbd4c774c5973e0a2450604dcbf2daa64cbd415aa150cc087292cc08722286109227b8c9c4840bfa59f74e27a0b7fbcffb4b9f164527690209139684ccd86526da3a934b605f4d6888cbb1746f4841a2847dacbbf35c10d1b527e1d9947b7a34fb891d21e10fa7fbd4d5c60b253a82f13dc678b2224a7c6c0483fcecb916345683169222a43a643ae172de70310b09118eb9bc6ab442c8d32c2443d83b335d10e3b7a9b42442c842ca8efd7778492883a1b55e96a94d02a3d04de6b25e8651a3f38b337d125ddfe736fff92219f69e3a7747d17d2fd023b647cbd4d4ee86881abcd8dec5fbe4b45414516317a70d323a556b2a25531d444ec6d091881abac85f0eb1bd2664b251ca459de1ddfb5d96ec43898bca5ab6909dad532fbc852e699bb724b264a7c7166eacd715754a018e12072655e03e75d8f4abd31f7a32a1822346860c427b536bb49282339902236f1b2ddfc4548bf5c0440a6949967f4e27fdaa140563b91ceaadcd7d750485cbb2424b1f7378ecf6096bdabf8c2943cbd674c21d4f46cf7c7a2de3a709e8e60f2e78c796c5ec98e08fccc8fca5ba41c80c0642a1f008924c96c085f0d7175eaf2821b70e4a887bfb358f9dfc8f1f383049c22da80c31dfa1b49c44679c10b9810912f26d1579aa99e61a5728941d009083c911d24d17930ea6efb9c10a856262845fb4a0c63ab528629322a0415ff6f4a341cb295778f098c0c9bf804291c0183a784c40023acef0109c3c8f33928f93df71b2c80e1cbf3021024a4f9f6bd2f5a3fe1e829f5b5f744e52283e4c8450c10046c92ffa6f61beabe52c9a0cf9c264522efc65715c564d492f8a17bb285d9051920b0c94e0a2e41625b628a945092dcea0375fe325bd2e6b850785b2a38713f1c127657ca264166f6f927dd9c3d5df4380f86022660009f2430b25b2e0e3c9a43d5ca5afdbb1f8b40891d9c36ffe0bc1a2975bab3a778a28a1c50c1f952115f81f8889e4a0073d0041c92bee8e9a55a3ceb9a0222245c6d01257689afdb27b3a4304440c53d28a5c101fb5abc5adf6ba8415a74bdfe9fd726bdefc144a56816e3eebced42a444a54a18dfa281e7e092949c5bbe3b1478ffeb59e50d197de5fb7e4a5e2ec53d41d3ab4f0a55d573685b1cad694dcd0ff52a714f7e8cea59aa74495a68414796fee97d75aeadc4cc9282e393a29ff0c3b2e964a44e107b7b6d674d56823104a4281ca86142de84a95990325a0f8448927f696bbbbcc712dd63bcce816bc174a3a71c84de271e3677841e7c4821664f235f5add16244807c6f62c1ecc5f27649a82eb942a150281d28d1c4effbe1a90555d966562814a650789c714264c8379030769c3c851285924c2ce9cee6fb5993d0dfb282124c945c02dde8598c518fe382be42a1aca0c4127d9ccd733ad96dc69b39904a2a514289fce73793694c72e56446c9244a24712ed31994facce81660a024122590d84de3c38d26df139a0a8592fec44a1ef109d98cd9976d17af1d5de20883127b9e3f9f6f54a75078b8a0a4117eb68d1bdfef2032f641092338db20f4c7137a355a44de22e374d0a2679cbd44116cd041e852739a352825c2fbfa1cb3ef9e7c542f9420a2fdb0d94ec9b297d35c7208d5e598f4a7f918f1961802f94177563721b3a697320a91de87ee682da74e261122d9b19b116e2ec6a80761a8cc6ead9f94b8940a62d1f2c5f3cb7a27b5dc4149201ad5bb1ed5b2d55bb74109208e7e3fd7354247effeb097be7728153327ad123f1c3f45a850bdcc735397f4a1840fe935e1b2264c9b12a2923d98de3e3233a46e3cf9a4440f49f32d592133285d2b0fe7777e533206edff79fa14e0a0040fb7dcc1d74737bba82e77603c5fbe6bab8ecf6aad7e94d8211d196ba4a5b9a45fea906ed22c65ce72cd77e6241dce95d13d69b5c5277b0e28f149dce82ccb39ca7260d5e436fd6869d02891662166dca0240e03288183fb6040c91bdc47071050e2862009480838c0010a94b4c100256ce8e14348187c52248c0394ac61c8197f830794a8a147034ad2d0c38790301e5082862ff2455050831a7019142839c3103338a0a40c092821430f05948c21022562089280f4f021248c1338a0240c3d7c0809e31b48900594808100255f384089170a50d28500947081117e63a5ae0a8532e406fd952ed982a2634bdb752f79d477e001070ce11d5ea285640eb58f762e9b83d4544916d81591f6a5da59ba53e1f16450283f4ab0f07dbe96a671d172b9bc8f93325c5072857e4c595b48afd3b26c89157a31cde6d797c533df2a3f7e7002e223022555e04593c958ab71c3c72fa1822ec9cb622e995acc92f83d480950c9145013d6d749bc4bb294741084032c2891c2a208799efd72e97db842a1dce07f480f205f21d2e304255178b35fd2b2bc275e8cf912285842cb4189ce90bf2baa9c04e9a1033ee941e46ba0819227bc2dbd98f63ec7b01faa5028a7c4098dd81c5f5233993ede26b86b26eb6ddddce54f084a98604a9680ce729f16dc7e63c960a503254a2856e384b07fd31dba1450287dd2819224203d6d7a4cb26549e7bc182548407830172b46d34d848eb0fec78bd4cc97a5d74a8c60182dca7ca37f096d11523667b2c478eca02522e4a2a329eb153759fd10f80e9961fb3d8768b644086b90a325b9579f5ed604c312fab2498c50a5c7091121414e0c0730d4ce6b79bb494bfaa606387ee1011cbec0d10b15e0e0058e5dc000872e70e4e216d3c6a9afd32eaca772b2888e4403410f1d6b55840414ca0fc43700e2e30785d2c37d780f1d76ee7f03203e48e03e3a40a1f810c2424e7ab80f47040e5c5815323ae8b9a0730eaadce20affcce16116008480c316f968fecd3f2f67ae5d2152648c0a8e5a7c00072d2c774983f09421f5c56771ebdc6b3a0b59aa461f3864c1bba0b9ef62a8dfdb63c10765329d4b2e5908352c92ffce549fe4ae56e815ba4797465fc799ae39e17045d234b4cb5954385a814b4a9e8be944f469972a1cacb8b3c6528f1b17f768158e55bc56a54d88fa9129225345259ab1b1e9ccca4b533852914cf2b5218367f411e900072a101e33bcca3afd8a0ac729fcbe90efb1aeccdadc020e531ceb93505f42a7dd38e12805426e7c9eeb6efd782285fe9a427fe6791dd147b11cfdf4bd2c29b17c0f8728ae5342de0979aaa4862314481319b544c620c6e3a060e4b88a3a2d4b1ef4cb27fad8c2cb399f7e0b17ea302790000e4f605a3dd428d90b1974457074222dd94b4af39fbeed8f831349efcbb2304ff2a1c6b1897a8397aad19684f85ce91e3834b1af6fba28eba2cbdd32844259018e4c24b398314384b60d1d5728142ae0c04423547ae6a4dc6e64f012abea5855484f4ae61687255adfa04a5fc8ca147b8542a94472d3c449199312aabff8a2f3e8b4d3bd704c22b9e127fdd46e93547148c2a03ccdbe8c6629bf419020951e3fdc87157044027dfd963f963e42e6ca137040a2d3314efdfadc748b4101c72318fd316ee79843960ee24085880f160cf9f1230c1d3a88ece0890009c2011d9f031f0068020e47d87ade72aea975ca6f4432b544c7d531213bbe630d3818719c2b254eb85797e62a148a8e1d148a1c702c62c9f3e6a9c7963abe53a150889c7c0e267006002be050043226d974376f17f344ace72dc60faddbf146849b4dc666a7d321ce75f1a2f4c62e714986a842e020c451ce4bf7a7eb7dd94198dab21c2277428a280893ceb27ff8cb277f4b8130bd9cd62d6bfaea96009116bd54bbc9f851aaf4878399485b31a5d9f9f7034a066bf3ce1993527f1ff82dbdcb0fdb1ba2e743c2e408a1daba45cdef21cfddb622937a57ac0774f5f8b56c2f57a79e873b270d997e325d1c1d0fb5dc2fa63d3ba573e37740ba7831276e2e73beed6072f7de1e6fb7efbb0e66bcb628329adedb74403faaaedb470fa7650ec6cd3e257cb4bdae2c876476b153cefb289de338dc3169fb2cbb850b1b86831a7eb3fcb9d8f1f36fe05dc44b1a346fdabc1b7431f36a8c471b7759da605af3b290e5c20694ce7fee8206b18f59d670ccf2a266fc10e9f2ab864a030e34d89f5d9efd97ddef65cf70d0cfd8a2d86b7e929a61d934459e9c6af9752d837a4a29eba0f13cec24035e5a2c957321dfc5720cb97ce796ef7343bb6278cdde64dcccfe4d6218f2106de7eea5dc3c08867c5fd231553e5f30aed727a57b219be5780147179632e9681de7da65a9c30566ef7cbd5ef3697e0bc87029cdac4678df5ac8251ddb4fe89e96d22c1c5e4e0f6236948ee261211dfd526476e8fccf5d0187151267d284968f5d326f55c0be9332a93342e96d54a83736c91ba129b4eaa7cd4aab6987a580ea3593abc152e48d829ef283de965db833a1b09959665d980919da13d27ab9211aebe9253961538babbd0efa445c4d30fdfe7cab6cf86f4d854239f933f807101f14ca0f16010e269cf142ecbfc5d13159950de058020e25a45307ff2c2133e70f25e17067374a59abaa654c8003097bcb4b7623c37aec0f711cc1cc7285bf9cf6f4be748542393909238c1d3bfa57f0e3079b410685b24307388c704b7a748c61fac5d07b1121433480a308cb927ed9a996ad7cd193203d1207114c2e85b25c8fa3594e1d1ed8816308b5e77696657f414ca92a8043088bf473d9d231e8e7590946b65b2d8bb37262bd5301d2e375dc00c62fd694b3712e1b2a6e04861bbe589072bae9e592a3d39cc28d5e2c9d08f718648e11b6dee085ba41766466aefb33150ae58c132264dcd885d72b1eb38acae80c2b27b8a18b47bcc594d559f85f8819cea303140a136ee4e279d7d096b23789f171613a1bbf1bd39ff4660162021d65ecc047fa9313dc021d665efc516d61ca54a198600791204152e0811ddcb0c53b332ee8ed3dd5adca70a3167b96c6afc50f3fbf393768d18baf9d3a5ba61745cb19447cb0e1c62ccea062b9a5bf63c81090203ec87043168adf69c856997c51a3e1462cee9cb72f85fcdbb60e8b73dc1db5d6cebecf96e1c62bcc7e3af3dc7a92eb925ce17a12fbd4192dc56876f0be851bada873957e3997cb4b2ec809375871ec0aa1232764122f01e0093756610935e7e7192f65371d3b8224203db8a10a2c37cf934acb4b6d494532bd858ba962838ca322f5b8f1e4cbaaaf2e47062570c005ca80010b6e9ce2e45e2a4aba891df9628afdd398b57cb622448cc18d52a41d179a34cbdd20456be2acb45c0cb32db6831ba370c40b9b36d3e9575667fc086c7043148a69570f5abc6c555328ec0c1fc22d4ca040b894ef52c77fd1b3fe09fe3e6bc8f6db13e9f7f6f7382a3e3fd4893598dd89f916978f39c189cb215bbe378f66d9c431de2e4f6f862c713581eed394f12f9d5221cdc4419ffccfa59b5a4e1513b7cbbb31b2d14bb8f331e9ecd31515a525ce254d6771d9253d21ac446a64d6dc828b94c0c3fe063bbd90a63a93f8639f5afa8b7cf94f1229f9497b8b1a17638fc4725f8bc1bc5dde6d83c42f5af41123d6e59f1f713697ceace51525b30a41df70449f4e6bcbcdbbebd68aa31b8dc0c4fc4913f2ea33e71961681ba1757a9ea1b308ff4eaab8a59bb04f11bc20eb946a17e96a7922bed28278ba4e9f3fd788582d839666c9cf1a4287c83e574b254a5eb3bc21ba0d2e27e349b9dd0bc18a4e93dfd126dc851069f6ef289e317eabcb20eed3794dd63767464158327bffe5e62e987073ffc98ed8f5c6964bec2fe7e6901aa49a6ab1c4c1f4c9a0f6251f995a2af19d5059ea61f2a35928d1fa06dbb6516e77da491c3e9a41c7e769e1b492d074b65c4c467a2e6d24de53f510215dd6ef1712cb2e78cca045919eef7dc461e531b557c5de681da1fae75acfa26d04367ba6c5638b2eee3202b13a397a5da328e52e82bdfe522f87dd0d73159188ab5551ef9c51dc44382e4b3b3ac2b4209f4584793b75fe173678daec21d84f71599abdf1d11b624f65ebc93ac7b2bd106a74d145e378deda09f1772a2b957d9e5e0fa2cca45a8e1f73660809e2f66ec934f7778c512090a9b9a63a4a66d202883ee7ab5a93cda62f7f489a96b38fc64bab173fe8a9b47042baf401b5ecdc0c97fbdac2077d5b440bafc1a552f78076bf2c1bd265d1a81e102e9b086da9fe259d3cec72d2e6a6df53c98fe2a1b9d9f5a4ac6dbfd33bd452957673cb0e5b07174b4c69614fa375386ee8d42fb9cbe298e8800739f2b229a2e139702fbc7842e872386e38a184de330ebe66bb97bfa89e3be1e02879f99312e61b0c3259fc5575ec5dd30d577e16bd8ebaef6ab6e154fbdd9652afaa4c36986db19d44b4a717cc35709aa252e6acb4fc4935d82eb8f472b4f1539e4c83792e57d89e65e85ca2c12cffe849345c779767c834e43765e50bfa6406cd5e933af12ec94b2ac36b99e469ca30627532a0a3da346e26e9b91e8329ecc57bc3a9a92c86beddb32456deea2d61e03f073b979410fa5ac0905a6d7cc84ca7a5e217fcf9afcf9bf482a2aab45a93deea1cec82de92ceb1c37492f9432ee89e3ef5cca67cf9700bd7661d79b7b1561e6ae13f9551721f4edf855930072d25c5b4a47a0ab1908b7c7fcdd2b9ac1bbc823985c96c77f4b10d5a415d3f5b9763daa07a15d4d0598ed9d454c8c7edfbb41c4da97b0aa632992eae6abe47470ac9977d37e16dd9f189c23f3af3b39c6ec6650f14f61d8defc194d696e709e9ac3963535578fe1c2718e2db830755b3ae394dc8b43c9ee19498d007ef8d6f49c4b45f825a2e5e9aa7e9275d09564b734ab3a56e414930787ebe0c974bb591e06c4c350d0d6e4274044c088d2e2771008c9030cfec1eb4cb520b07a008c578cb264aa8fd770340844f6dec8fe25bb2db000cc19c8316198da2b48d011002fae5cd1bdde474168361dc67b1d7b4713d088cdcb4f8b2aad9223af78bf38c16c75e3587f8ce176730251a674f88f0ae17e808ddd933bea4c5dcf16239e56c5032e7f3c76e172721c4b98b651a1b3b5d2476fb644c276ab1b95c7442ec67f985319d4bb838ab366526193df57e0b3ca91621cfce5c4edb0213a6ffede2f3e3a816e8f671df7fa10532f7949ebe9ceedf5918332ea9ec98abb9b2382ebf739cd7d4dbc6c254b2cbb4a47807a9c1624966396a6d5a85aaf68ac62ccd850dfba94e73c561d7fbf5466b85593c4fcad48b3166d15881963d9670d3822891d92a5c554fb2f9dee62e5305f2736b9fd22bda194b0563a125ad62df561943455d19f4dcb56f5ebd4e9198504afb4a8fe55da638b5252d09cd1665d4550a5674e4c74d8afec7aa445af9c6d028b4fcb8a1a577eb1816853193463d3ff1f32ca1e02a83860e5ea16750d8f11e2e94c7a5ba9f58d2162553c4f8a8d3138ba6fd799fc5d49ceb44724fcbd28ad458721527de17bc94e8de9f52da843129e9c1f47a0e2daf893ac69dfc96b42d8432d18bf13c5dc776e1c784a72de73f6f51f4a697e87f3528d714f7d9128b1219ce6274f8372b918ad5ce2f88bc585222154a3edfc514ffc1493cead36e682954d69238d94b23762fe6f41289f3e6feef5283f80e24b2d07c130f2d97e511ab6817eb5c1e2d590e2894212ba05034872312d24a85929db460ba09c9d1887574bf57b36f5c0e3122d39693d5061579f7c8b188ace5d0d61bce2c73213e7420831c8ab0aa746b95076d9936150a45070fe44f769023116ba6bdfb0d67e9925f240722ccac51b3ed21390e6152a2c43acfe63c19a2ec2f9db7d9fe5c5b85422984a93ea56d7d1022b3e4fc27390881b794f662d05c1a1b1dc4f9564aedb460732713248720b4f4cff0494babacfa218158cca459186ffb0c3b9b910310ca4975596ed97cf1333f72fce1383726c3a8d5cffbe1fe1ca9f99428f562b60f6752ebde52266dbb8c0639f870303dddd16bd4a6677b5083cc25721ba3b99cb9410e3da03933d867d9e5b0fa1609928773b8f3bc1e1f39f0d0671799ae42cf5f58ef70684936760cf57a591b52831c7630c6789f5d5ef435bf86d441115aec6b41b7d8f9341f3f9e888f8a0e7a10f91ad0e194596af93ebbfd2c96630e67cc5276dee7ccba2d7240fcfe8dd0eec401a593b296e48dbf6c520e38b8555b359e223b224e41829c748e3794a1734c838b5cd5780c72b8e1fb98e56b773c980cb720471b36bd16b394927d71336c48e3ab6c9685df15772123c71aceacf1f2c7b4a27a6f359c3c5e9039a7f0d1ba5390230d8b1f3db8f8b520f71d912263a0c1dc9e2c46598b9c129920c719ced27d8795cc17dac10a85c2c38c6e810379325a90c30c7cd01799d69d74e4408e32f452a9f8fb4a533f7e0e3220339c7a4bfaab3a5963e41843d2746fecd754a54320c821865e4b6b7a590c3e5b191be8401939c280e96ecb27842679310b18d041bce6969dfb0961854229822490e30bbce877275ede35979d41448819ef8563fe69315d9c149975176c59d079bd63f4f7137181d1723699f4c468ff780b8cf6a9e60cae293d5539b4d0470d5ae30851165aebd133552dcd75090b67519a5ab4eed4fd9c89fc78a7408e2b2cfe8e66d0d6f10f718542c9810a7258c1b796535308b92d260539a941111c7c07fa5740a1782047157e1521ace54e2f8b16c5c841853a89d39e4bb4e498821f96a9649fb81175e590c22ec9fc78b21373b12a67f0c909e788426a74d041e7e86f223d66e480c218399e504ec8d184fe65918f3d0713722ce14dcdd26f1d971298cda2ca9b96fc83d940c8918484ae57a87449cfbd740e246c195cf20f2f25fc45731cc11d699fd46ed690217b1ef81812821c46c85184b48b7e31cb2ba6be25c261763f42647875ce720ca1ac6bcd1efb992ede1fe41042b39e31b79c94ee24af6018564ab7381fd75fd80726c0d084ec68af6142a6337f510bd2a375dd8ca7dc17cbe8163c58870e1b83bda854ca5bf688964f0f91133e81092f32cd734279bc3c69170f4c769168b81c3bcf5749cdbec144174b42e812a21af54c66bd60928b33d365d670b29aeeeb82092ede4fa3df8452b26f5d2d98dc82f92df531f632c6bbb6d0ab05d994bd4c99c20a85c202935adc19536ce62c7916acae50282b30a10542ead8b5d99db5de83c89bcc827b9d0fd59c29d45e283091851d9b5b525fbb593e63610cca47869d1c65a78382092caa90db1d93ff6959d02a140a853286c92bfa8e31cb5a55e2a194c660e20a3d688e2e4b7abda34b577a0421d2e34560d28a547ccb9e5af816f35ac660c28ab5d2eb5d9683c724fc3098ac02b5cb0cb5349d431d6ba5821d2bd041860e33880c2962030fe35f0c7f4398a8a2519e1ba3393449c51f94d2d14c99a557acc398408729810e33860e43021d6604a848b8a66f6163ee0e9a3539c5b2e852c55609d3d1bf0f9898e22e15b25ed0d3d9dfaa503c60520a3689f5d2d0506fef2a14ca09ff8f0ec38414f65fddeadce56c0c51283c92c928b40ad569f39dd22dbd543260220ab47efbdffc3ab385799c7c0d18088f2106935020973e1b5fd834cd41505432d4e794a36af764269fa8e2653164ad2c3d67e28937f534a58b7762a9d429add1428b7d9b708299d17193e83604934d5c3a3e8c5efba8b72c9ad032abe50711f3c1932699f0447886ccc908cf2c98f8a5ebd4b1b63788bd4c2e51e69241cc84cef2f75628941d2696c8aa6a6c37563c873c05934aa0575627331e5e261dc384128dbc9853c5c49c771623984c621731f79d4bc5cb325628141349a0bf69caabf7d52bee804924b0d39bcce49fee375d8542d9800924f8feddb41aedf31853c4e411ba3c323cdc3e479bcfc411952e4dad196635f249824923164e99cc986458a1505060c288346573126b5adc1ec2268bf88089221edd9c6e359a0a216693442434bfba9df4920d32151f4f2408901e2688283f66f71196a5e43495304c0e817a614e6bd4689a5c546062884dc954e33e52e4e44b854221c3a4106ffa79f3ac11a2de9c555a9683f2d0a4419c4a4b2deeb289cc8b2010ba74830ef598c5140ac4a3e1e5cdb5751b93804843e82c2ea793a73ffe83fb2276cff63bc9987ec8d3773733febfb61905933e60baed655c960713e10ee810c263f8f7f03f09426408005c61c2875abd65d9ed6ea3e8141131d9c32e665a4c1f84a860a28794064f2da574933c585bb649b5e6174e3f30c1c362766c1794e68e7642403e073f03933b98bee3e15677f50f09228442e1e14430b1c3569ec4af63e44b7e9bd401a1252f2dafbca4facb82091d96e4f87a4bffdb7dabc91cfedcbaa5eee5ccc15f8e6022871298c4c1040ecb729c49afb5db51df6085fb8fc8edf24e2537a093bd24caa3b8f0f1b6c12ffb1e256384ed776c28f46d64dbfe667934327494b1c30a266b2883febcd954d979d259c1440d08b50c23e375abaa21629206bba50fdba1397f72e9212668f873ae5ea999515a7d1a4ccee0b718f36c1c0dc2c72d828919381ba5dfb29cd38b3e4dcac087c5c64f1bd694e764e893f6d2ab49afcb1aea71f2ef4730190337bf3aae9b51b3eba3c719a887902120d84164071e3011036a423387310b6b490948109330a82ebcc9b74cb2ed1a18ccb2a4bfb42ccb15224c460f4cbe6099898cbe5eb93d114cbc507816cb4e99121d741332c408265dc8cce5985b107b257aaf5028140a0f1e3ffabd440e265cd85ebf3a8bd137c3640bfb072da996e50f271ebe8189164c5eade29d22fae5c982d964d0671a5c9656b72226584066149149e71ba13eb403932b2c75be501f4ca4b64b72132b28625ed8ebf719038e6aa874300342611c0a0602814000000004a89d6700131308303050240d056311b96097e6001400003e3228484a2e26281a16201607842161381c080743614018140807438240b028c92345196300216abf1f459e8c1d3ea4b4ede968c846d3a3e91eac350cde7ce97ad425806fc859d39e45a02af53692ab6378e6fc3231b0ebb072d8c369b72283c49a57dde61e387e16e5211fe876f2067a39e2fdc2387278a8cda0eeb76cc4e28e6c1f8f83cc3b73c0a4d86d21a3637f260965f07011af6c722431be827f5df334cb81e0c87757474d829c5d9cc62bcb7b33547879f233b459d3e1680f7dd92946976dc3c2adfd0c854d2674679bb82b38a52446f341658ae5a14792d69e8bf13cf76c30208c97c45acd60e60cdef6404a9b686c7cef211599bad0c030f47276733a9b575cbcfd213459eb80997f72734b01809529ac1645ec4164af48dd02f8869c359d9e095ca286e14b142f88885e05803274bb27e0a34b5b519c81ecfff1ef067c41c48057352e6ba16b14423ecbfb9ef5059c6b4b4c9129bd2a51d9e919331483f928cb0bcd883ec4546b463e4c3c98b4b107affd44bef48dd6cc56c4cef4cdcdd541f96859ea1eb2f38a0c5f7c23c8eaaa26567e4b8ddfb9155a27ecb2114cbd85573b9cea64164f8864ff0b430c1f9ee147f1476b7ceaaa611b0b64368c5fc4eea7b9fd243165c5d6bcb5f8911c2cfac894e60c701500c189e7193e02580b78f2a47d56dcfa2ceb268465342aba9e18e581cc38094e3c749760e2ea7af6bc2b1f4471f957c919466c0aea5d3f8d035b00832f7700fad306ae25a3816757ab8dc96b3fc19900fc139f51586c2cb5baccaac59ee4bc9d0ff5ba37ca5a1ab95e7ba8aefda259d0fb6d1bb2d686123f6db53c5514f688a06738cbac03f14f1fad0f8914d0e2490ea183d6fa668d8ece89f6cbceabc6e77d4bcef3e04d63175cf4e91f58397d8130add9f4b08b78ae7c78cf9851e1ec31eef0fedf2c4f452e413cdc9082f18e1b7316e8b2bb7df438a4f5a7ded9ff80c40871755a0bd0a597e4d3329575e1c8064fdc01a5703530bdd6c1158c5bf40d76b9a35f61765758056694e56f3c4fceae78d665d31b78f9113f32be76f93339e16125d2072926265045eb2dbc96143204fa6b0bc6bc8a90098bff98390977d5942a33d5a9949b2b6674d6ccf73eb77aedb4fb55da876c59f43800e6f64de1865a0afda6dce03fa1ddff704778716c2e932ebafc81e4edb39bf10b677edd0224b9bede48adb7507e128a242fbded60b343a2b4e0910f342ca2a95be1d30a73325806e4341afb3c413739e4f1fc8208ac03c61fa8f58805a746a86ae98088e1379cb503889b63ed22facdd3097504ea633e7fcd9dcad57910de532ed79c4d145c35d4710fdc6009a98897a1276f241048204098d754389d9412414d6e634ede447dd13f013d16f8fd927daa044031cee613eb3fadfb693db52b292df41097c57e5a0528bea2cbea58c5e192316d03c1fd36ec718aaa9a2dfc99c13c9d229bd52fc815b46802eba3dac51126192e43f40fb1e6c05dc8b5a88209071525798dce61f7f4c0dc15ea753f3c91e631abde2f24048b8c65eceaa8e9fb98c48a18cc8f13ef0b217ede7246d246a9744ec559c9a2e73678520d1b8e0c966a72075e7c7d6702362ba6792ab522eb992d4610cfd499b7eab741282897445374f9b3674dbe78f52174d72360ac539358e409ffd70e36e15cc9be539026c680176b21b7cf174fec56da901bc8dc557aa75478458640cde80ecd161f7c0dfef459fcb187077dc8526d7ceacb124a82d9650e0e584bd15fee8463ae93386f42e7bfc78802d818cbb0977ae1af48eac1580616a049c178fc291ea8c817808f66b947d75c8383a17328f581ae40ecb272206f4eefa02fb444a072ef3a9dc01e833947eceaf42b03b2d85d90cf7ec042640747b05d45ce3d5533a6c7c4a37a0db5d91a31bec480470677720bea9ab1d6dfb1fb8beef2c62af175e7f473b3cf65d86371d44cff74b02bc274101bf1883742966cb858ca1d0a2fd0ceb89d55a6dbdc3be8c9231284b1c5e61a310540ae940a7bb9b47e857477861f3eab8667040c229980b51606dae8b54ada08d5209c5f3a9eee1e966d284044559decd872666407ff6d83aae38d0989284b200159d2ea5357bbe59d6a6a6f0fb29b459bc7811c457b14e9155efed30ad838b730a1284aa2ab99dd08ef06a26c1e5ee472ddde920eeb10daa119bb8324acac0d74d6d08a283b798eb5c5fa905541d3ae191ea2c85f15eed1f550260c515607a285d54d14a05fb9f8ece9732065cb90e19d4decd44c0fe16eac61c6aebb9659a05c3d1f945d5b19bef3905b69cd8df13b2b2af710bfc80ac98ed0522f27dbca4b08a8d449c1ada092f6393840a22831624c4bb217a50516f55e465dfbdddc965d2e56d96407ae67ff1e760526bb3bfbb4eeea1e5777bbee810b8d5d5dcf9dbfee5cc31ebb1c77d35dce18cba3514bfcdc6acb8ed45733512c5dde8386cba6bf3abbf48f0b9de7452d58a795059d99d0b3e18eaa60879c23b905831adb24a8467e64cf878f98c3c05029f20674d98a05dc45025abb3a44365c00694f0009ea7964309ed67e5201a41131a39b7992f91c0151650e4c464827be1c108be24e074f6d5665c292f531e24bdf0ae9e4d89d08af7322de491cd85341514a49aafb9091c64b32c7bb9a2b636fea4e097e73dabd0dab76e0f2caf7d91d5af7cdc5ca7fdac7c9b98f46fcc4aa01ad88322cc28a0cf6bce9ac539fcc878d6474a185f42538d684dc4ad8a49376bb1c1252623ce6be8aae90b8f10b2e0cfe80a4c2056900d6788f3fe5bf993c28574ae38b36052960df7c978209cbfd7323ef29fd03b104e30f607933d1b13c2cebf837d22582ee0aaf8277397f538ad11b6986254ca15ac12b9dc4dbc5d09cbb3a5fe1e059a29ec35001e07b86e1aac796145fa5736b911c1ba5f70f4f1d0db12316b6c10dedd2cc9cd50c54f2ea740b6a79548187fd90a1ae10985d2490e2836335c32952afeebc182c37601a76bbec7dcdc96c786580d0fbeaceaac51d3f3e7306acba712281e21a86bb0f2ea772e8927af6d1899d1f90a234d24bc308d79a418134a95400cf272b3be8aa601d47fabe51270532b9c886209b7a2d606cfea8f2fe5e04f896953b28ef0a59e4b876ed0468de0306417e4674ce1047be10e9305b2df822696e19067e80458adfa6bc3b602f6ea39eeea4c4b7110e068fea7bbc5be4b79486ca7f5fbf7da969d7315052572775c320962420f4e0fab2e6039f5c918ba88f7b6aa1281f0c801453551d3989c2861e2285c13deee0966b1618567f938f91eccbda5b4abfd4704dffe759f69dd6e4bf00e36dfcae157817a9234559a54654cbdbab7baa741f6b654f765994e516d8dd2815f7eae96f1a075670593097d8984a8a56021cfe660c8030088ea1fbaf628af6877651bcfc2eb08b8690d4557d040d2865f0ea6eae5c28c6ec09f7f7f5834d02d7146bfa4087be3342d0075d1f92605bdf2cd2e55f64f64a671a68620e6e003499e4ac1d37689aaf836e290d5d102209242382c3260f40b9cd09990886299ac996f38af00ecd11a1d6a2d87e995ca2d8f4521ba9d0d0ae0300ae6fd29e0ce451e9094b12c08cae799d886027f6ae4495fc6a5c8da9768a20a9c78bd9189e533ba8e358a34a7ba936310dac802025c03affcc4e95416b530857c2917d429c3b520a6b49df49d327492adad22c64490b4c797524a5693a4b83ce86252ab88afeab50ea6b3438a363f2f43d0a8d80a7e82cae0d6292199290264532e86658bd42bb5b7af9726e714eb9ec8f57dbbc29d1548fb66735424294d44e49477abb4bed6153a35da05a194c249498ba97eb7898ab2169b5ee5c8bc84553cf31f2445608b9886c6a3608a0a545f0e74aa9d4aa49ae455b281ab30e721de977e2bb2a949efb0d9050ea8dcd289738c4b73f614bff142ce3b9c6d16a2d4f05c8f400f95092de2b63bc653bec6e93b9e8438dda1727c0f0c3b45412990504f3169da11b42c4a0b84cd6110f741c3ee64c748d328d247e1336efba93eaf4048ecdaf1245aad96292a0e3f179145716204082292c062191956a7bca346a163806e368644c7c2da50bd5ac8af6a29f850a53a38f6b51c2d2a3ad73c56028072540664af6a78368807ecfdcab99beb4066aeadbea1de5f6fdd93070f1989c9d6cced9c6b3787acbc79d1479f5aae12a2bcf5e01e603e5bf07d4570d31db7d6074cfed0fe099bbe73f65f656b203a45853a127d2eb30b32f81c4fd5352cdc027fd1b91586875ccd6db07e75ee51ebd56595f049bd1db535ddc6b9f755d1ac1d9ac12d58872e5080224accabc4e78c56947fa4c9ec193e237ce89f698c255042920bd13dbd9796cc068b7f2aafe1543a9728cc771f38145fe0aa290dcb811e8b4fb4833e9350156bf4a467b047d161e1a92141be1723036d15249295301773d401d4dbfd56be0dfd0bbaf2745fe6a4bac54f099811a4380a631ec03b45fb05c877282393b430cdaf175c7cb0d81cb01f8f59fd642d0f8a9135f7596390be943d959ad17a2b57410da94d66405d633d980f2e090e60ff9ec2a7ae3394d95e04a1ce5bb50406ca63cfbc93cbe20175c962920064beef00a0f74a44e30b415132e8bbd33448f62b8a127c30a1681138a629bd330200d0969d823a315e5dd714e4a4d0579d67927688037731d32fa03b87920a438e05fb1a09181b67a711c5bfd52997e625116084585ba3c55c092189de8241b8e77fd0f22ff4be6e18c0e30440bfe5bdc6bc60629d5cc1ff440d49b2e9b4a6f368ada0e6c50c08c39ccb8aca490a4b613f4fd03aaa7b81fbf1f59b4c47e6fd427bd5f3179ea9977e347517fd33824869e16f3ee8690b7dc1b53124b854fc8e4407baed95920951ab064306ae06f115f1466adfcb371d3f049bbeb52055aba0a8bcee05f195fe71fc43e7ab9206877158426e2c65674b6d7340d1adab393061b8bc87e3339c3dfc8e418b4269e96cc96ffde1f16dc4771aa7b6cf0ca9d648d599274420cadb5e6955e31a7daa4b901c1f320a67d0d8ac4d7878df71c25872667b116938200fba48489d7664deb88d80cb8dbca9cbdc0b55f7db26e061a21b94e581304acac10367d5525bb10866157d4ef217f530662d5ba1d66828a20ef3b4a0bd7bfe77b570bad781534064b07705049e6b564e6fd4c60e47de6eb9649950a7e561b1e7ceed17afcfba630246cbf8cb16808aa486dd6cabdcd00d0fcd68165bf54d9c3e6de7ae38baa1b659164f4d99e9fb97b1e5dc587d41acfd515039e9d3a9dbe668a1376e04ea01489822a5b89c0a24e36e2e865b8c009a69f20a493228b08e02a760e50ba54362f1c1d17869cf8b02a8b0a21531feedfbd96009c2643f747f0ed0713cf26feadf61482b973115df88b187f652c448371954fc378ca282779332b2b855994a358a439324c1a55d21a5c9a39631c5fa68d9ed261b66a5117067ad6607f753f1ba8ba08bf38f43fd767e7f74a914c45191f51474e944912e68d13acad03ffdaf15878e11fd0f6686f92fb0b7c121a959b95944ca4b9d8bb44b948ab9d6ca380cd58aacf1d0b41766ab1afdc1b9e86378c7c96bd226674b7bf4399185b5ac3bf3a608ade74127625b2e5ab9a598e7e729ba90662b7d40a2802c65f75ad980354571c586784aad03e4bf02e688835400858b60145011d23d3ee22c5e9b00a19f256d1d32d02cbfcf9bb394b8f7ad969bf2f53c4df1acf881c8e2b23ea07e8d027020e136043f1eb358089ef1027008ea8049bb4ab25635960b1538d9c81ca1c01e5c5ff39742b98412f5d7c2eb8d2baca6ae3344adf6ea21b2e62e85238345b1560b15f59b0694f1ff05676b92156beab413a3cca681f981e8294dc3844d129c3d5f14090e51db08520a136992dc24e12550598032082e6c8fc4fd04c14c18818836ce928be90ab0562d30d7e4c512059ba02be597430c60861300686bab54e6c1d40ab2d04c731bc72ceb04cf81a4e67a3fe5921413333ab12bbe7c2fc3fb9b54b1ce9ed89ac2926725c119f963638749fb11aece390d16cd49099409a5b49417fac9b3d4085546c5988e3d57cd2fcc85c2c5865735f3b735fabf633bf6f7bc8e95883e96557c7b42b0c1093948415c62451388d77d9d1f2cfc6547183eccadd6ee86993441afe5c2c9ab21be2cde84aa4badc9e59a7b93e6b2622721ce3d6500b972e17e6c811ed262ff77d02ffad04b3db9064796b71a8cfe56db2b98808c72563b92795bd682d60f8ad878f63044bae280932dcecb6848873bd868f80a3803f7f2162b414b57281804269c38998484f7fee80f9858d502f228aa7bd5727eff946b898fe7b200f02fc73be8f93fad0ac015ca79694aee97a063222c76943bca8a78f160b23cb9c36b0c712b993b82bc1e7e821558ca0eb1447469d8324aac9305d9c609f7544b964fed30a0d5a63cd798d7974b43230c6f412ab2acf397a3a7cfecfeed1812bd10b101ec4a04b12c828996e75189f5e9079300409657bbab6f1e0eb98bb78122b3416415de648c54ab7ba40be5efda5d6753303b7124c50da56e229c6d6d6cf82ae4ebd59137785833f2700d9ebcaa4cfb752f2f9895812a3c2964eafc30b5e54745dc48fd04daec3f11542fcd91ac86abd8f4f123543d27db782c35612fcd71476399c7a12a2d8911b266398801dda6ca3c2824dcca524f50b40e683af74139c56b64f6072d03f6ada835c437c29054b4f5e0299228604b790cf31ffb08b475a976fa48febede5f32be78c09dde931b4be76e214bedab8d425348b95f780b0c260bc8047e0a7e07a87a325fb52ac3f634585d80979f2183025a106f403d879fd119d1bf13eef59a5d278fe64aef51dee3bec06693f3e10322b717ed67494d3e43a092bda659e6df4915be2ac6a9db475f4e87c7a4e1bfbfa2d4ebde3a644a9a04f97e23adfff2d10801d100cf549d6a2ac3449680486c005c63fd8e9afb016726090e63ce92b8fa95b639b36b27fe1c9b9e1288dabb9c70141b246e61e85eb56a7e29fa64a2ea026197c39693bf1e9449531c132c13e8ae665fe453ff7d731cf442145d7433682cd488758a0437e01bd25fda2059adcc9f1dce8bcbdbcbe0631b90f11b54f0985887ff0103a1bf158c862b55b0c860481fd4ede69d5eea871cc2d52a7d2299f08043225863aa00770d0c1ecf775f3f3dbd3ed03d1097cd1e215e9019c283881c342f790926890bb912c1dfd27b61044844dad805226ebfc3eba95000af7b1857f1949c1e3ecd8a674a766b7994d66a5deb5cbb16b912710eeb7c6591400d2ac1b5a1b0b2f952af88b8cf270a15c7493d4cc6327ddf532abd470e50c5a18bc13b4a4295dc9198710a2d5496d37bbd0bc636eae09a8101fd05070f18f7f9b83a0358c29e0c3fa1bf0c61da33894753963254235a97eae70501b95d15510caa4aab94aa29ad152f7bc1f5ad0c4904ec3ae7d807bb4c4ccf1613acd7c5b9ff41ff8847727fd834e7ca5e1825b8ff7759644cae424da741c613c6cbf5b861a84cd6e110244e2a7c6dc449d312177abe2a0dd6e31e26b78c54185f61193e9ba2fa645ffae97c27d4d28a45c5564b36812177917b96d0bc85e50bee4f0fa7d3df5257b71332cf40122e5c5e2eb78b4fb2c3754c30b575923fe0c3c09be95ecbb9970c6ac76dc0a42a44bd6d7cf8a4ed48846e8489b214e02be4d2c660dcf873fc05112221a015ac6646ae41c434a258987ab223111ad54e036506f413f09101bd5f649d24dcdf4ea22b622e2ada40b6f2e22ce22cdbdb56e4d3023298e980c6d761813c0927767c0ddadc50fa9c60d35d9982981cc38aeb7fdef53bce2acb4d99085cac0b2f933f18c627925342f10bba07f3cd6ed3c5d15c41a0ec936e14805e69790085595931e392c72b95a4e9e4bc43824f4332ca656b4662ca44afd29f21a649225351e67e9f462fe12240aeab096dcd385ffcb5a44c27fa29c3482765c5a0ee4acbf3b717be6c4bc5a3a9d1d7cb585c75b1ea3aa96fbc33f973e5996411ad2b46e01b8ac5f10175f4b8c5248795558175fcac94269b5f477ff5d728e28707c2971a5e0f20a613dbe91d30f692dbad1e7c32db16c4e76d2f1159470cb052de14f12dd4fa78db61c3b795c5f5901838c4176d43c4a021810532d3d754eaf9b9d183aeddcfc3068502780d0d2d7596e2fb372a7bd60d24a2bc2d7b47ce001668d6df7c940e72a0c85a74bd3c064af0d6b72e7438b11d29f41f5c4fabb0986d87bd82819aaabb2cf902340cbda73ab4027985a59a298d961908b22c4a34217add22fe67b2bf0c1654afe24d59aeb8fd6762d34be69b988c4b7e6840e49d22cf2c6d3bc6e10105157db778ff06c490285ec7752fa089609c7789495043662ef459826668ce463665a2f80d7cea8e249641c87578802fd3361c74a7eba7ddfe15845e2b605fa666543ba4a0cff4a9959d76b100b72f7d7fa1f0556c2e21e094c9691e833a2e0aaa5948b89c7d9ea3d1a3254838a5169e7e4b7345daf2958532d436743e445a6c3246d1332237a5be3df787a3cf6049ea207900eb621dbb8bc954947757a12df2a06a9a12e649692720c416771013d00279b467d10ed1a97b6c0c1490376a69a63fb0eb779ff1ddd7632442f4d14309a3360d76e1dfc8418501d25fa2b635a4dd2c6a25b7bd1c89eba0954f18c52dc542a6d4ba000afd6e63c5a52129bc30a6472501583993fdc676f54e176a7403c19e9f79a341c681bbe8f0283c335dc4da85dfa23135e4692a24a99548093134cfd21fa70af400240f3285244fa244f003c6965d0656bea826f7c7c2a1e7a93307f64e25abcf54fd6847474424e09e7e17179b25da76ea1040250742f058c0c100ca0ce760f284bf093a588527d90b3b53cbe621f1204050864a42e1888cfca87807a0470a5eb19387ffff72952fb8e1e5a89526ef5da30bb1ca96622ccf5cf2acac3bf8e13337e19a22b8555a4d3eea11349da69becea77b48c1aac489274432750bafaf0461a6ef8630ca17b26e37734261479a7964ba990300bab9b9bad644bfe6aa9276f46f859d0659ec67e13d4dc24c8b862a3deb9ea9d037e4429dc5660f013e7eaadab97505b9183be9d68a7d8b8c4ef5d05ce2344699b2db69d43b4d253de4b43e7454f9b81cc8f8926cd3a84c06c7a02cf235b1ba228b29331a083b244ffc2ad49aa6321391ca7b1d82b56417097f11907855cbc68f2d5f70b7d29fbea205cb22d7237a1776b487527d4c16700d7d2bc63efe45022b6b0045c99ba3fd31953834ac689000da8860e7cdaea6740963d8df3d639e13f36dbb79b5e2d9185c6cec3d023aa29fd45a510969e5e936ee37fde55f2db1592151393993a464fbf283d7e20e51829a5eeb343061d19f0e6a120f341b439d761462305d88458a15a950ba06c0ce9b131f21277c6d3697dddfd0a9f368401cd0119007024b710a8bc65cf341d3393c105205e85c3d05177b2526e9244773526b83b403911c30dc0c848895c11744c566451f39907805f2a9f98f50bc15041e0800d6042ab46ed4da1ad12718d7b607427f23971c0a0371dfa687587f8c953108053b81bb01f04c7a7db6ba8bb008b5159f9c25ef07d4ea56d39ffb4813f015476b2113fc63fb40403c24a6ab8e730d203371b829922223b1daf09fb3d730179c97402de2f2a073ff87a5203a2c7b40c95ca33f71e3b92cfb76e4fa2014eb141324c474b71c83b5b1c2d56cc1c391ffabc64357deb9a41db3774ef908e5a49abb1fc1c56fba7719fd6cb0603acc092d252506f826ce7c5e78b7e4bbc0e300061706be874d1fb00e163bd42e240402374560b10a19605e4a1f7a9c5c6441d7866562c8aaca81d9b7ffacd3349003a3eb863e01960654a45e2fb09bc09a8fe91db797efb104e46f7ba46d6f97d59ff66ca3048fe15bf453d4b07ccee9b932935b5212f351248b3823ecdd3f7cfb30a5ff73a0a10aeeed9bd08493da16404ab31031f7da71d0b35164db0a2eb844cfce4188b51f4abe6b09f66fd32843825b9f968c7ee8d300e5bf38647de230e24751e78fbb422d544b5caab5e6b35a7f13ceb4c86c126a81e4b69e5df87701781d2b2467f05497bae177edf6861927103837376726e309723c01d2986a496399a8bf39e80c4852a729823b7b39ec606dff098f4c94f711083582aabd52840f8743d71e72d3a96667612f148b594a7bb39b7f5df3170800fb6e08dfccc5d5b720c74b44eca7ec3e6b380577db35c6c9093056d66c518a5785b58bc5ca57cd9c0e1ff4b4732e22687723ab410cf91199624c2b102c09a724120c2a142392cec28a25ed5340ee0ae4e4c33bf09ee7a5eed763ea945a381e72d2b2bd07100c88618e702c428316034d4231d6361564f3f1c6ee06fca993e67ff56167c9ca085ec6f16bcc2cde9e2a129445cfcf2a5f1985fc7140fd69bf8680181d4e1eb8840094cc2965d12108aee483f6dfe8846aa21eef76d451d992e0121c5f282dd106727953da269448284ddff22bbbac99a88ee2ab8db46dae6bb3ee366250f38eda5d53a3af9aa275b695597ab02b555b31b7759f6d5ddf9aa1ffb9618ac99d9973aa435f67063c665d1cf0a468c9c9a68d41113823852942bc78113c215541b311cab30f83815d8171ab009e9bc09020c7e43fc524323d6141e11cd7ccd6dbf6f1ed2d71b744774bf65f32ad2db1fa49f595788f7b1fcc7ac3feafe11ada32189684f46ee1c08cd263609b30d1c32d65073642d9a960f95250a3f04397339522cdbe8d096dbeb1e0e2a25c6d9c2992ea421339b8cd279386da82f005e5f193f34f36e4096191e676429191ef72a2f8e70d9b0dcb2f6716d8c73e359390f5247fdcb967ade6d9046c8e7666c663e477838643988eb0641018862ddb67c44b944d180ceca7ffa1e35366123e5d92edb5c7794a8faf23655e22121e2ffd1a92c8f70adb78bc9c56c718c08d9914b72117761bb894bdbcf60659ad0c0d189e7b844bb32613d8571c28b60e2709f83e02adee459d4b860188b3634afcdd74ea4638bbee5f266337bddb237ea7b74c0c6080e60b5b4423b89be7bdc7c57bf5bdf7bf785cfdf7bcaf383ef65d876b01467997bb1d29e215a32d18cd124328436c3de81672cb6e1070408f7720692398f45637b1e8d85b02b8bde03e14a1407f4171d73e4339a860830b1f69d1b84d1773a3c3dca802fd1fafdc731eb6ae6ffe799cf3541cd851fcdbd81fa21664bc17e87906851ac73ce3e8ec40eccb222cad477c0527e08bfbf5f3b03bb68844e868cd5e81c7dc7c475dd042df665764583f428a1ab4b99aac8e6553d2e494e50f41e5eb41f9434f08d91503e5be05c6d136462af621084c85819087f5d886001ba1fc649638b56e8057a3737a8c24dabea4c22a8170d78dd1ca73185b1e8c7beb0a9bf1d1c5bd937269e7237b56dd4b7f1cf61d3a01b85bf0d39b30e5ada62b23c8519901362e964da942aece1b199576d4c4668b343638a296daaaef849924f0db30c8b122f49b6356bd3cea78e18f0c712385556b361c2325694a21c5b64222ee0a300a838800416b81bd4bba42e94e78d2adf412a751e0e4d3fb5343d75f7a2b2e1dae4b486838beac38c8f360052c53c3a7f11a37d032b9b5dbb68d6e1eb7fdd6da3a758adeb4ca6e467a7023b2767baf9709d4f9667786af8f57063d0131762c00f406c296f1c40a5bc84fd516b4c11d3c247e1b408da30699c6625e6daf24aca1803ad05cdc2d8087c4938986b1ea5e8da47ef3681ead3263cb62d5c228ee4202027e2c51dc51dac6fa70043afb6891d25e4db81e0cecf7ca61a1eb6d066e69b3360972b1fa7003f7bb72c3230bd476b795e9ea69a5588e3e5258f1ec0d6434fef6d2b87ac644fc3df6bcb54c68fd9eca3bc386e0cc42b64243354008e8f57ad231da698f02f90e3b15a09234a5d78c401b1cc10101eb7964efcf126bcba8bd1286562ac30219ebe434c3c8de3227d3555ee188383088cc486c7857c9ae9e5c2691f35bdac9644f4cc90b40744d9242ffbed7a54fcc555cfb085dac82c798c181f9e2a359851417555dabf8ef1106c092e26bae42a7ac52b1935fdf57a02b5914decaa6a5344408394cdda76a298a10a6e46055a4d2da9cabe30850999bdb2488102a68a566c9dcb5ad842eec934a554f40cb0450a9a4eacc9275779dbd4e42ef20a01e229b0326cb1079e7182a3d6d9ca8d24a7db68534c948f5e3c7a1d4928d9f3244e281d108b0a0c1491467dd6e94227e3609738bdba9305ab869a69a8e57858ecf4a6250a57952b989dd01f5031612741377135a3daa16304b35706113257a8e7be7b3d23bdc036530a4f8ec39735160f442a9ff9d9d98299466a1f39576a40f5216cd0d7ab2952e94cc0c74fef78a133671737cea522da91130b62d901cd548fc09590224925930d4fe9979eab34dabb64889121fc2d3196460a914a78e12ddb128b611a45cd6ecfe41c42c463affd79cfde4dc3a06c306d77873f64f07d1da6b5b989acc7431ab165e7d8f4f4768bc164b21cb73f784f80e97b5b0cebbf2ad48736855321c05cc2d83a38ba750f85161d337d9fb86c31fe123ce2d5e27182f1b3d4530d963f9cfffcb38843ef73b0563184183e55d0ca10cc425870a97149450ced81293444bf84cb6f6416d1b9063db635882cbbc5a98ee75b6fd8c926481d3d766209fbd904631606f230b01bb90287b8f22c23674d4e30b21b2ff21919e1578e2bacb8a31d0a2d882a7bed2f22a1369e8cad5a90a832eaad462560943b922a9dc45057e47e7c1bde01cd41183c8d5d58ca83d94ddc02afa43ae0cb39674f8fd01d03a9f330f0c00710a03a002bcfa9ecead9a123430363c2b619780447127b0ae8a976ee28b89f7355f02c7c9c1251fd1fe6f5e487c68c2ce455b8a2ec02cf7e100c984a8b6d73f3c330037a10bb9c0a3ff791062eaf54c77d18a9838993aca9cdd7d44230964b992d42eb7fc9be7fad3ad5e12c17f144043947b031494da619379bae7b570b9a275b196402ccf3eaf1128751c30f9a177d7062bdbb38776894b50762a451fcb3de631826e4d0cae9ba837cf0776151fc2614239f9206e08dc74a3a0566e3cea681b9f8ec7c7c20c70036ce51f6a3f633ee2f3758858281ce2d936efea8d90c516438bd73683626aa6532ae9d59c6fdf3f2897b1479e3ff082555bcc2d290fb0bcfcf415148528273be472e530a34c69756a87a0bed23d520649c93dd209c221b6b0d18a17ef6f30fc22637aaa531af788597d61301e0fb9e4c7d75d5048ce906ed5e98548ae17c65d2b6d3f5b4e5870289dc4071ebf9c9f59fe30071e6c17de201ae778cdc4a8c57f4275db40e08795f0c109a1a5850cfe3c25d9dad4b38ed8fe9934d3fe35ae5da615a6e83b1efb1e97d0cb78479eabb3372404ce739324f0606d957a82751145a3529ed66683aef058de9f201a5fedafdbcf931662663f984e138046c110e983b378f08c2e167ee430ee2659e8097c22fd76a4ac672e336bf7adddea49c27d3c5501251c5a3d4d6dcf516ae7870d1ad030941458555552ac182686af7850d5ec435c356f755f92ab040366ac29a7be15e0e9173ef0bb787dfb02176a22a581130df9f595006251527b2727a8355ed7576c5a4021998b0c7161b5c299b283d17986bc33819494769039d842e2840833c6433e6cd94127f149d5ae9834ad82c7413d47c199c00b9280504de057aa40f5398571b41a7a6775e2f2a3de2904f828af335a28252c082a837daf08366605a87da64eb60308cde6dd17e06fc129e38790d7973a95b1adbd23a79e6fdc9f84d93c43c00be902501b5645f88af3333f94292ce13b85a297c856cff9459f5dc7106109e1f9567f0111aa32bbc205165899c1983ab6e5e2166fb93baacbb2beb6c7ccacd8b9b8377bd8fa4d3a139b0c4e97607832e212ec9cd9386421f3f3345ad520ee5f0ae57aa96d4cbece4675a4b81ea93b3bba5bc0d910715064d1745f049d9ebb211b0ee23b9204e1e4b66c7ec36f2d6293679e34c900c3df7994b95d26b84080468a1f11bed58341657cf7d8d40bbbb70696a43b0a10a87504e65e6be41712429d278767b2ed22a4c4c591731b5d1df1c9b0937080a53a31e75c7323be53ecfd9db1ec03ee28270ffbc4e1b0cf6959a43a1c1c05ab3270f0eb100ae9374d3ddc56d60b05aab799acbfa33d91f94fb0df890c76bd111b45f747318d2119d13defd083a229f559767fcb6f998dd9b8936203d4984ca2a8e937aa12612192a3d2fbc970f5c8adc230bf9399b70ca5462cb856496cc1f617e86852368c1eaa0efc50b7a570e212c5b0b175bab0def7045b0e31113dca6d6caa1a758791c129e37bc69f00791d67ea090df844ab7684a6335fbdf769af072f304a1f1d82afd0539a939d1a53c8c5a400015c3203fe4506e00f3040f0a4723c0c3c0c3c0c3c0c3c88e6319b355d1121c3c1c2406445ca8a746388d53fe30c67ff87df5aebdac1bf0358dc0710ef0f470f07093126a6e563baf4f8f828a889e3be55e8eb6dc7cadf073360e3041f1f6aacf13e48438d344080231357a68e36a1616c37ecf1f1b1c6f7e835f64bb0461b25f8f8c0c4694eb37554cdb5d8e08c341e8d1ba8d1382e714dc89bbd7d2f3696d0af2d4d55866804705442bd2e97bace371f3f0e281c9428e773d0ddc9b5c1860308c724c8ea17d982b96467b9c7c747027048a2f6b44a31553eeb8f560047248e8fafd9594d29a9e1860312c66f5d13ad8fcfed3f827f9b092b6b16a9391c8e30cb2c7cc6ad20314f1c8d289b75a61bc95182783d18f1587bfe7c76a5abcf001c8b38063d4be91ca32c49d69081ef0d3e3e6cb0861a18381c8ab83ed858de899f25a6280767b4618383001c89784bbebeb2bde7ef553007673c1b6bec0d10d1aa49b4d869bd98ddc0218eed8e1c394fb63c2186b07ee53f73cef4cee6cfe07c7cb4d13958a38d127ce028841937e2c6f49292a5d3e3e38310c56d9a29add0958af5f8f898008e411075e2c6329db829ad1ebe22f8f860638d2f010e419462def023279f1dfd40f0979ea66725a1f14dc00116c001882d664ad156f62aa1fd837f1761a344d64d9b260e3f2c11dffd64fae44e3d838d3e109e51c226a7fd5f840fc6921be9a42e935ad2630ff8c6177fab147693eaf1f171001c7ad83e72dfb425eaf393072c62ce68afb91d0fda600678e04392cb4972fc7cf31d8e9d1f57db425e1713871ddcabd1d0081b3e49de33486345e00012e0a883a71b626b32a6b8ff2a00071d940d9b7bac260bc031078384e8a6a585dc170e3934335a5d176a1a65d263d790c1c7c7b6b17e461c7ab90bf508e93b6aea21831cf0fb197f836d36fee303026b6c8ffef858637b341c4c65923987113580e30da8ef7448ba7934d0f8c6e1864e354562593d4863021f1f3d486309471b4a97b254bc56c52abfc7c7070170b001c71a8ac15c36ae66ca29733cf00d7c7c38800338d4a0c4ca9a2f1573a7e7a4e1f5dffc2953caf2d7d1e0446a57843c9e8190d2e598cbf2effa86c30cd9a9eefe5db4a6d4f57080ff0c6ef033b8811a5d00357094c1ad5a39bd897899b6000e325c1eb12e7be6632875be4b976fc7f4a8c61a6bacd106e11083b73e7e2d1ad952a3614077ccb2dce75b5a0c188a2616f7ebafe55f4a00c7170e1e743fa493c6fae605c2ba468a9239d1d59d91c6a371c6199ec69f41011c5dd84bfd7babd22a8a040717ce1ded3cee79494efa169430225ed1f2ad5fccae71818f8f5de3716881685e79265df969fd1e67a8d186082e80230b38b000021c57c0618507e0a8020e2ae098020e29e088025dc9e39be4cb768d7040e102389e80c309b9c47441d3cf468b7313deed905515d3cfa4850955badb85cca31235e158c231da4f6b85e8bcdd40c0a184ac43f294af49c22997d6b16b2424b0c13b489eba70fbfd08db64c74dce213dc06184ccbc627d8c08239a22ec5177827e6ece961e0711b4518df855beebd11ec60d6104c37febac7829a234a4e8e006309e96909386f86f15e3bfc8ea5278f5fee675cc0c6ef88214538a1c665a530ebb17eb7ac5afeecc8b675334df676a4a71b30b5d1893853811a367558be7462ece103a2b5f4246f50a2e1c8f4163ce2791c18d5bb439dbc4dc91be2562146ed842ad97ba8ff95a701de327bddec8769dd0a2d50ae13ae4d9528d38e1c62c6ec8e2881df4b3276c8a0c7f702316d9aaa68e317fd3ae071657ac95b3b3cc59e3fe0af6cd4f33e6b12bcbb882d8595a22fcecf223375a718ac15b93ef49eacc41c00a3758c1a76d57dad4aea290235e0c15a2ccbebfa18a33aec6b6a0e9e265dfd5b0c10df60300d0c28d545497dfc4638ef37255027a90c65bc0013d58c304697c0f13f4208db7c0c70700a6700315c41af34ba753932ce614e9b4bce47885fc4901c20d539c2785f649318d48d53eb8510ac3eee50aad16524c3121dc2005129352d5859c1ba330dce6ce1bb632e53e6f88c22cae197e627763f78d50d8dfb95f2a7a5e8f13186e80c293d9cc5e9119d5e29fd8e7b244e694c6ceea821b9ee027735becb89d40bdff2b33e6897f49346e70c2187329df2ac4ce972690801b9bd036e5b8ddd5d1be621f1f68dcd084617b29cca590a7a7914c1499e2e3b34f78778b89573e52d73f7fea0e5f8290f92c566d6c734d5bc2949442f44b1543ca41aa84394537bbc3d76ebe1b94606636c7c4a9b4ad88dc98449b4563dad89a9e4180d8e08624d4b750e36f329b9bca1b9160fa7bcb52f348d25d700312c5946cfd82bc48877de3118986e452963ad3847bc311784e3a5153c6e7c74e8f8f8f1be4e08c1aa8a1061ae64623b030ea5bb1934e4a720409f08003f206236e2cc298c9a0b13cb8cd66371471231120b881881b87b861881b85b84188d45277e89150592d6710ae99e6906df1a6552308f34b9ead8eca8d4010e773d688b0b90108b32e7e9448793b97f407354ad2f7e0a916dffa01b59064b536eac31ae7fbb5b6d20d3e306d96f364ba24a684841b7ba0ff674feb438be8a9871b7920dac345cc3eef9f14008a70030f59ba6021677ff6c6f4246edca1998ee9209a03861b7630663f2ddf659acad7176ed401d74f31e63e898f4bd3a1937496c36494fe970b37e680e490248264154ff3e9f1f151821b72f8634e56f229f771fb086ec4c198ffd9672ce5f270b90187a26d527d7f6774a337a4217f16cb58415637a81fd639f7dc2f43633d8d346eb481750d13f367fe365e72b8c1062b6b2cb1ccaf4d151b6eac81a8816ea4c1948b41a3f4674c4166c20d3470dba21326ae264f56086e9ce1f0f71117d3e33ee5801b66e8d663beafae08669a32ecbadfad31b726a41b64c03c45cff38a49f59f3118d33ac24d0e16438c18886121e3ffdb55b89c30603fe62bb5216f6ebd0106c35fdb258298d607841b5f38b4b75eee906af3666e788128db3974e4149623dde80279e298e7cc9c328948e10617aa08b313db6ec98bdcd80217247623ff946489e971c60d2d14c74c2cfc3a4e8e688f8f8f2cb8319d7d10e9ece10616d0f9982bfcd3e44823e2c615cecb53e973c4a94bd80ae4cb4df177343e7e23c48d2a50739a1524cda5b41d206e50610916336e457380c42b7fb831052507b709b3793c87dd230737a4b045ccadc7e44afc90086e44818e99ae5bef6267d83f70030a48d24a1721995a5d9f83a3811b4f30f6677985cab73b3119b8e104ba2e86947e2f069d0b052670a309cdf9bffb6fa61c46bbc104fcbec3d9e498df7a937063097957fc24f172a9f529a16426122322beac6446b891047c3de35afa8995a5f588c00d249827836f9408f9d2801b47c842c76548133a6772c3084a4ffc3837b7f86ade2882dd9fbae2670815bf41846d2a275255ae509d3320c6300eb126864939e6900a03046204430c60e0b975d179aab3687b8618bfc063a5934c6f8457130509e840096e90037f0b7c7cf8df2007fede04317cb15ece9c4ebd28cb970562f442b38de93ab91a76330ac4e085325142ee49698f7b59418c5d505bc924534ef3a2932ece1fb9d9f8f412c4c8c5faee2ea135c49fdbb860547286e67dee56ed166f466fb1f813b3ad77410c5b2c9665cfb7bfec2e548bec4f528e24261ac4a0c59562c77ed38818b330b99927b18f01c012c49085597a7a9dd278a8e015418c58acd2296c8ad33e8d3153100316696aeed28d79cdcff920c62bf6b5d65c136d2dfa840e62b8829cd976152466ed92dd20462b0e29a7bc1abb732f8666108315c5b3921cac7436650f1b6310631547f170c916ae93e7d140023290000c24e00209b040022a90000a246002066031546128c961c422b77d852b90001588918a729c5d881266546893a42b56d2cf36eb14a6b79d9889311488618a23de26bee52e4a4e4d204629da8fdaf9cacde09b0f8218a4b8ddc2989c95c7d4ce28f49d8e7f5bd71d9b1643144cdc4819c7f45070a159b473f88de4695010aaf2fb86147125e64f68d7f9f2e28ca6a5d713f9663949efc126b89d50cb72e563d8bc39e5441979f5b1dd2bbd6236b158e689dce9ba6ed704d1638857e13ea7afcc04713775e513aff61a13efb4690cbb9437e6ee12f4a60f55fa3a9a5eb384d379c2b7bdc3665a952079ec94be367b4c414a98394abc56d589294293b83a84ad9ab3d06194c42e217ab7ef7ab81c01811891c05287dbd4e2929a7748f0163952bee55bd8fd11afcf47cccd7f5cbc1d517fba9c8e79dbb4ba11c41c7fba91837e669911a50b731a1dc26f89bc88acdd44d3c7574a78155116fb60339b733baf89285cca484d1d344f6d1041aeee4f1fb2e610e714349e7be888f18c21f4ce6a52fff1c9ab2cc417bad2c6bbbe24932444315687c7f70862270ea20a59613da5df8d120aa2eeb451e7736aac040391fe5ba6896ce3192d80207eb774c599c709b13f10e1ac63c84769f9941fbea075ebf7c1b752aa0fa7af46dc524d1b53c507ff72fa1c16527bb077c26d48aff9ad1e0e5baff0f1ac66e279d0bf53d5bef63325090feb8cc6ff5cb9d3eb77e863eca76c24466e881876d0d3573ab1fc95a906885107e39ff5a5451d0d9111830e9748d03c96b129e77328429c8b1eedbe2a97c33edd173506df14f23870799fd2f3efff6c387c63a2eb359546a36f30bfe71055628c12a26e489227f990b4da53e6b4c128e1dd52070d27e761031b3658b4d9ec5c79d660466b8fc93345c9e25103914bbbcf26b7bb77d2a0a709fae59a29a4381adad7eb4ca31abaf719fc489f713a52a5adcd408cf9e76f23c5d49832a429d2737ceb49a621839b97f9cce29466720c6ffa8af58bd8a14b31182d9256eb3a050bc3c04e8a10431c8dfe1c184a91513f76efae735f30c68558b79cd1f4f342176ba36f2384905c17ca974d92c532c7b13c173cd390465c3af764bf05b4535489bfdefef45a50a3a5b01c65f26dfa2c581ff24745e6fa4a8f05e47259da8db776fc0ab4258d1219629aba155aaf90ef365d8572bf64f2f86469662a74a2a99e538c742a4f81b4ae893657958ea5d0cbd7cc7b8821c41b857253926fa40e856b3d6c2a6b5cade94f30877c2f979b9229e84e305e4d4da8e743a54abd730e13ca4871a3fc6cc67e09a560ba695756bb524a489326afcde14944e249b8b7b37cbe8bc9fc4742793c353b324f9747a0d2ab5f8c1f7c3d2314934e5e4c5be6ab8bc0dd5f7d8c152f1d8b41043eb762d8a8d135dc61309b35237977fc8a0a435b8fe89a9234762618a8d44447644ff9060625359de6dff942f88bc26e9ab8d6bb712eed0b5ebd8276d57d457ba14d9c3053377e1b5e18a4d444262f7bc877e15a5ad67b4cb1b3ac8bdeae354286b3d7735165950d5241a3898b7f6b5295f8ef877b8bb25fe792fc167da2b6e8526c8c31998d5a6a71baf61f09891d21430b23c428e1b6e2fc8bb3b8de3386d5e7a4b52cfecbcfe37b29d477b13084ccb50a0b1687de08919ef8154cf20f1e64625768e1737b125df3feb715c56eb7ec9baf7afc6505312b5f885e5f12e2bb0aaf3387942be9a4e0ae2a368f79537fadaba69b8aa425938414b9226e16158b45ca7d9f9c6248ee29de89397463baca3dae290a554995b13f591cb714e646f41082757bf296147665ebfed2e479aa1d8569c249a5c79571c98aa2eb8b1e62f298f77e0d0515637369dcabcb5d4141b6499cac488de5fa892237ba077bb3ebb47aa2f06c9a2b758af1b3da093bb564f018f3a61f9513bb5e4c8a6e7aef39dd84e1b7722e7fcc1553f42376e824dd7afb114428c9fbfdbf56af3e93c18e43b0e53fbd69db453eda83364820811d86288be864b0542d293d3b0a61ca94e81ba25924a98478f2c27bdcd46eaf68c720fe0855fb17762eeb658720fcd08cecd638e3066aace167bc0cd650e3ac604720ea083629b4ac78d4740720f0cc94afa3677cd566c71f8ef39c629acfe551c90776f8617389785131ee4e720730401fcae9373dc42f84c8dc14e5800f5ece49613ea7bd9d6f0f66a74f17dbcbc5e6a207f3494a1b27a865c664471ec8595aa25afcf4bab8043bf050e5cf1b6a9d25d43d68a8a1069f60c71d8e9b2ae4377790acb40d64f00ed86187eb3635a508f556eed58e3af03a1d7db3c535bbbf471b2b828f8f1e6dec0d3e3e7ad0c60e3a3c9de36cb6c7d36a750d35ce8080091cb0c6a7b1c6aff115d83187bbfa3caf45ce094f9fd1c61a3358a30d36d66863871c0cb3b490d359b3f9c461cb2fb5b8dbc3c134efd9e1e4d3fcf46fe893a5dac58a094da51b544b8dabd8f1736d4c1bced1a276b7ff5bd3840dae468b101953b5326bd83f55daa689a694e41d6a38262611d7f9d3d0f7a692ff75cd28e20e346066a7ddddae91d3bfe30ccdcda75f7cf2b0ba9b013f8d5d6f6b47198e318a467d4aca0e326419eae9753c72daec180c171242c8f657f392333e3eda4863066a8860053bc4609a49296848264f610d035f2536172f82a1d429ed8addb9e30b67f1f2bc9b1e4376d10b6ad2ddf1249d2ef8bad93443080da12f17f8d4f9d982bdaf692d677ad3b75af8dd3ee332b8b7e888571a90c18e2c6c1935b262dd5be2c783d7c01abf03353c603bb08099d9ae5af89794e51d57b03b2ee6be4d7758e10a398714c25846eb684715f699e924610715b0abf89f838d4efaa4841d5360834e04afbd08bd7187149ab888db2e8997d2ed8882e947562fc50d49929d71031bacd103053ba0c045aa1db3b023759a03d250030d1cec78c2ded23d318585e471ed70825a91ad2ee7bbb896dfd184b38fe449865cbcbcee60821f6a44266fcb3fcb25942cdd68a4d30d6b2b81906ee9d275ac4f1282604712f21899315c4e3f993c12c89338f9a4a23b8ec085fef59836fdc4b41d46782e2b0751110997fb8e226475fe3953c7ff091e1a3b88508aead2f962c8316e398c3c9da7a74f77e8d27c41873088f239df4ac356d0110cebae43768247d0010c47457384b79873c6d5041dbf4837c3a375c3be502689dfa4703907cb75f4822439396f4d5aa65f75f0a29cafcd91932fc6b7e8d88529febaa48ee161531fd0a10b26c51835b885774bf15c14836ffc44d3cf993c1db8383c65d994a27eb6ebdc42359dcae122a71073c51687ab8e3db3da7b1eab45d9fe3e5f6d568b98685177886e1d2365c93ecdc2944935460af2ed41924573b61d9dadb244cfc582fd70e12e470deef105810e5898d13a58c7a6d06b59043a5ed1c72c8dceb0d1e10acf6fcadd4cb28cecad28c576b59067e7e13e3574b0c23419e3b56e95bdc71e1f1f6db0f16dac0774ac22095ed3e16325df2412a982149265d254316eb43115cb655a4d46655d7650419eb88b1d528e2cfd9dc2df14730ca2c14a5b7b820e531c2b7b6d4fc467f235083a4a61cec977ecc6a46d5340d0410ae284f7e8a8e728b7e91845b3bbb2599f62870feb1005f397473ab5ee3553a13077857ec49cc63dd71ea0b8a3a57c79fefe446d7d237f7d5362614fd4b12e3446de145da58e4eec21a68831764e317ba68313545cd5959c8e55a537b1dd8d5f0cfd2f1d527468c2cb3031734c61d2e42613f4447ecf69113d3788893df75abc9c246614cf25ba0b52232d49c772c512745a4fa4c75689ab6b37da5cb2128fd3400725ceb29d562fef7afd9d0492255a4ad0eeb4944ac2b38b61ab7179ec3a91308da48a28df1d836621718a0d6a9fd7e72e6b1ea1f944a94aa7d955a723ec9e0967b372c13aa41145abd7b43976589f931169e52429aef44dd0e822c8719d3552123b9f8822d0ca192b4b3e11cc6c8687d4ae6add45d08188b2b7e546737eebbf0ed1d96d38cb312c563f437469f2e95e6ad010d542187da3c17f25e4b09d1065a60e6212ca333e398842b4e69ca552ef425e1096c9d626178b532d039156e7d270ebed216600c1d4bee567ab3a29cf1feed028edab771e49a3031d7ee05369c628d7e231357dd0cd52983c9bc3872a6b6cadd19ca80bed21cbf8361d8d173d5b3db026a331fb56f2183f35d09187d2da5adab6569a88a5a1061bfb24a0810e3cd09d53f4107cd36609de6197fa128d833aeca0e6a4105434c74837f6283aeaf047fc8d5ea42b03353c300036760046071da8a03d1d436a3285b4870c64a086076ea006083e3e64a0061a0dd03107628e1a91ce23850ac91e3ae45096f4e735c9e397331d71a0e3c859128b8ded2102d60187723774b2d8b69c5cd7f18643cc7e0e5eea369f718357c9742b55644eb0e868032948bf7fc4cd16de6203c92347db50216b30447245bbdca751630307f46863066bac0a74a841abd8a1535de56f7fd3f05becd2cd3cea40c3397aea749c01bf243aed1b2e49fb3dd06106d6aa652d2afe2b5640d05186353b6ebbbac76ea326d0418672968794f9421ee81843e921ec365b8a926df5f8f8a08018dad2709e2761b493a7c7c747047484c1cedb13bff1e2c14e3566a0030cdcc5640e1672a85ff40ba58c1f3647cb2979645e206c9e6d69ee7d55ba0be68b7ed239f9964ecd85c5f742de7c2ef3106da13c19e2b99df75e8c0e2df47134f72f8cc518212fd091053285f18a1013ed2c21e9c0c2fb7e71e9c3240f377540c715d4a89d2ce571f390990e2b146315a27fb54e4ce12a1cca3e452b49eed65007158e393653c8b0cec93c5cd03105d4b43a33f65c6ebd10418714489b3e68a7345977c620e888829adabe35d6ebe51ceb80c261e95395c6e58beeac0872a0e3096bc8efef2f959f5dd5e184d5d3258d38c134ab6fc25bb94c436e794e5965c291bd3af8688c8e25105e42ceb97cd1a104b297576c860c172b4f82a2b91f319d25216724349f36fa575d0cd92a1d4720a7663d95120d1dd56184a387349b1965db6ed2518436461dadfa8821eea28308ddbec6d798ac52d8cd053986a154ccb31b3526a6b5302cb58f6669f549733418cfaf27db2b59f1ff8081c4ae9dbd0e973ea21e397ed14bba08f51c936d1a397ca1755e05ff0913eef91ce4e845fde22527f13e15626f835d6345d0833678b14ea5644d3e95377572eca29c5372c57d8a612b860a3974d1f77c9fa72c76be12003821472e5689d3f12093b3440d1b397061a7ccbef7734f51b1c7c7c70d20b0861a2250a38d3436f0f1d1833572dc42496a67dfc925f2070ba12002396c51fcbfdbaca1d1662153c8518b45827d14b94f0572d0c20979276cb88fbebee498c5a139f806adb453bb14d2410e591c7442caa331826bf0c4c2e0913e5234ddca6193031679b0cf6e17a26c4ab5a3f133c0001b4ac8f10aaaf2480ced6192c51c053d6803004ec8e18ad2e7b839694b7ae9de8ab6d3d5e5b9e4cf4972b042f11842f834ddae95ead1821cab20226405bb8c3144f073a8e2bc92c36fba708e5438671d966ad33ba49c1ca868e2c4d26d7abda01f17729c8278e196f9fe1d4c2c58c8618a3c62d346908894f395c2f218f259c44f861ca47063cf3d848ed950738e51a49bebd7e2dbc7f47b0e5110369f4d65f758153f394241cde55df24c31c7dc738062db0dd9bcd5118268727ce2ad8f69df166ee74121e4f0849a3a553aa6afbed44ef8a91aa37636ddbe8f134ca848172996bf82bf89bd7735db5cb0df286a828f9d6137a42513e5e7281343ce98284a14f7d649297788b9c4babae612cad3ed4b2c819efca453ad605d914a90f3919374f49490831255ba9fc9d0ab492a14851c933069bceff44770730d147248020f696625a5b7b109e788c4316f8a7942aead709623e480c45559f7a367723cc26c39e7341f31d567e77004973b77e896a41d1ecfd1882e59be8e5136a75296118ca5d518415e04aa7621a7dbca3a851461be2c2271a59efe7312e1974b4895c17d7344883095544ef9510fa14a8a967243d3421004390c915a75f61c2fc2b87e0a719bc47c8a219e45cae62084e1e93f85dba8dab4720cc2ffdcf19912c9210853a6ba90540f843144e284bb3f6989e60084317d4b2bc5549719fec158792e5aa935c8e1875fca63cc74116e26b5831c7d28c2734a85ca92c17b3e28e92a85d94b1bddbe3d94528caf921f92426af5905dc8f12d25b237e319d4e00739f2904969c859470cb1d43672e0618d21c734fa21adb4c4c61dd2b150e192059952dd0e9f274bbd988d6a8bd4e1b0b81a536c322b868d1c74603a4d6ec8d5f4f8f8c8310752876fa54ddfdd76ad91430ec77f893493a4c257b4c7c7c70c72c4c1d0a9243655fecd9681839549428a1bd331a5dc0639deb0e6a4475f895036931bfedf7f4f9d1c6d284489d5143d6642d6c820071bd694b7d252bd46773258c359c24c58db7c0fcfa106a4c2bd86af90ac2adfe3e3c3f7d7d8cf9186254a6a78372d071a88120fe9eb27def9cd71062c6de5d124291f3ce3e3c30313a040083c900112e43083926286c9659f3d8497a30c57dd4bd5050b9f35cb41863392ea87945b0d68000200d0438e3198e2cdfc6e3ea954c91c62a8e2dc97e79ccb2cef39c2707afb6fe5a5f644240718cc886aae1dfd113bcdf185a3e54eb672dc569135871716d9cb3cf61725bbcdd18524a66093a93b22c42e0717c8e5955f533ab3408e2db092c3fbb285686189afa90bbbb37072f9b09315ca24050b6e54ced7d58a60d15f0155ddbdfcfedcdb0a5ade764f93b262ca2adcf23943569190dd5141abfcd1663a498a954fe194ad15de2b4ba1958ec16f431c85e43f22e4eb0a05f42cf58e668a19a47cc263a5a172e9e5ecb413f890e3a2cdfbee279b90fd659b66e5f10a2213acc8e8d4f61bd273b784ca247988ee9dd43d5342d7dd5f53f99216a61c49d026f78534ea1b9fa31c48a0442c726e519d1c92e308050961d13cee0ea0410e23186fa269c4475d5b3811398a6054ac9390724a9e0aa6a1c60c86908308ce8aa4c8fb1f354d6abfc79ea1860cce78df356470831c0001c730ba091a72ca775cf48c36d850a3c7194b041cc278730c216357f575f6d708028e6010ae2787a5d210fb79e300861bb5ac6ef39305dffc225d0f1329d7c9b8ce04387c51bc8ecddb580f29be3d0a20021cbd6063e4b5b48a08b5212f4ae2e9e93ea5caa9bf8b26254b29c2a5e8826469e3a659b071e4e250925ac13e3e455571e0a2b321708b9265ae2c9935c2a4c5610b337fc494cdf163cc128e5a7019e2afa6b0f8ec342de8fbed5c69ed37771ac72c8a1af7b7e88d1f6a9685993a47eb983a5f6f0a472c0cbf5d91f95bc915c7010b3a34cfe4ead4f339fe8aeb3d242789d715e8a6e656d8df8a739c98d368a9f6abcc0ab377b4fd4c635934b20a72ebaf457fbf105955c59bbbcf5533cf3b2e1ca97842bab74a6e51e1e5bddb85f1dd08384ea17ce8d694af4b4ea921e03005b2dd71356d8aa314a9eec69274124c37898314c7942fd8ed5d8e9471148599f2bd2a0f23d9c3210afb672edee796008e50146d72e4cb17e32c79384041844cd88ed429c778dbc8811a3d58343680e31385984d736e42901c369e407243f4701679b5b64ef4fb6e69163308e0e04471d32d5eb382450c994d68488490675296a62beb4106263ef91b5fcd3436808c4ba4fb5fe219497453322c512a0b9f2fa6264599c9a844916be93be44bd49ec9a00429d4a624a96f715526631298e5eac86f4b2feb40408624d29c9b63a418fe35d691c0f6634c95ecec133324c8cf71275b55c87804ae3356df92baf65e03c87004ed21fd6df5fe3e626434627349ffd93923f8cb6ce94ef7e8f722b2e8fc385af7f3b622aa501d21263b118696f4c93b8fcaab8848628a1a9ab3949879082ee2c57f4d1fe38c86f8c34486a8ae10bc540cbb2b29725c0871e6e410ec623fae3208646572d8cd8e20b8900a166545dbac1388c35ce2d755689dd0010469594395687fbcc9f943b13d585cc67c0893e387ba2c6fd0f98b5121a70f495cd9f209397c40d536864b6edbf0efe1e8bcffb3e1e3bfd7035bb99971d37bac9e87bfff66e28d68be1b0fc6a4f5f512a3b6ed3bf83a9121835587b97668dfcfc34f59077c246f2efcc730231daea9e4f953fb6914e790e59835f2433990bbd121079198fbe260947fb5f03792d383c379534c499928e9dd1b886bb5213f871037c50dfbb5d6e78470bf5b1bbe3c399f5b492ad59e0d7dbb8694a3ade1cb320b0fb549cf52832164b9142d3ec79c86f24a62128b59132534942285bb28319f3de4cfa0a56b6d8988f8b819bc4a1effbce365c86eede3994e864e235fb7ecf2a41e43b54183e6941539af185cad8b192e9a6c6cc340795ed09895d8a48281d6b1cbb152a54fe317d6ed8bf457f5b09917fac95c29548a2b4d75c1ca2f1f5322f52e712e1c373adc67a7cb427c0bd6442c8974ef14792db81de32e2d65f967c1dc7a923b9e6fe71c0bc4858be774882df12be417db13397d88395b21eff4b416b66246ae02393f51e137e4ca4a85c6736cfa7ecda9a25368f7c2e25b46fba814aaeedca733fe29c5442193fcffb86ffb21060aa6eb979c73ea8c553ea1bc21659ed555bda0132eb76e771da93861135817b59c2095253c2660559543ec9823c2b6845e73d7b435352ba484b3c648e1463ecc9e04e2a6f1944d73db4b1a0904b38eb3a9732642fa086fe89110f15205998d607871af381a3245998c22ac9b2c756b4c21e4970c229ca35ea78dc79c19330c63d030e375318610238c5c6fcf229bc1f0e3e70929e64cacc9c020f6a49c9c52f81765adb50ee122b657ec8bdbb5c3b344aab6847b81aceceece04bf94302fde4fd9f6ed95b37476f14feeb035be2e4e361bf353fc7d3917a71b9f8ac90b97755c2ce31fab7d73258bdf82cfb1da999c45436e8bb2d65dbc587d9eeb5ae411aadbdd9756655aacad255922c26a8a67618e23ad3fe976a22b0b42b8755989314f8e890555c9fe423e6151873ec9685312ac7cc555213f258414124557106cb4b5f3d70ac347b3866c1976165660517249d55a452f31638ed69836845471d46569ca2ef5e154147f9fbfa9a3a418595410273629e653cb12d95394b4666537c714e5899e44b6be84be14fa744841ac644f155a9bb91e459aab4e25b777492d8ac386ad96be99b76c288c21eff9233bb2aca0d06285cfb74e9152fa8973a607bf1ce309b6376d4579c85e319d6825575cc724274a71ad65612be70a37c1a4c9a0317de9fd4513550aaefb619f91b14cb041f4255ee6e6bf3061b8c994cd62ba52ea12e50493642ba925d6e96c7579e5fa23ad84623ab5fb13a504613944750a13fe3b6612f448dee0ea93f25123097f2f44b81c53638a3191e02b63ca9b8ff9e73290d8da2aef8ecf58b8cc2350f18f4b79379d878c234cd12199c6942c6dc834c2cd0b5f0d9144cac3082458ceab1dde6afe22f096355ffb538b5b11780c97a9aa137149a55bf9e4885123826897dfb21472b53d84661567626452aed6104c86b558684eb16b218821e87bf6b610274a8824869c4d0cd548e5204829536edc7c3944298825867dcc74933ac540d04927a496ffa8a94b4098334a2c994408c9927fb8ae2f47bae0f31f4b3f18165c5eb242bfb2ec0321faed4bda3e8f57f261370f16d634f78628f7d0c62dcda9369e44947ab02b42f61549e6c149f92c3159e5f9c1c39b63ee18ff5376ebef709684659fa674aeedf098ee69ce90e6f35c87d62686149377c83bd3a1180915792684cd3a0723e26de514deb65139345bd7a39e38d4215c8adb77db3b1c4c9ed2aaaa06df70ced3786f1a74032361e6542ceb75886d388767ae8978bd54900d496b04cbd6d1601bae812c9e6c3e65d2bd0bd560c70d6151a9a297c2349c5edbe2e8a5c9e668683f44f4c996ebf27d863a84d7f9e0ab1ed266389445dcc74f0e49be32fc363615e7d254858f0ca4fffe50b29363666f0c8e4ac8c6ca21f7ed89e1eb8e6feb1aec3ebd30905a7b6b235ccca60786d3c789639ff9c2d943104f6bebb9935ed835752fa4aa1df9bae0cf78c70be1f7c9c28534edbb6ed5dabcb6056e23adcbe6538cda6901890931f9b634557659b04255f0f1785a671d169cace531aded6d3d57f8eda766523667762b9099193fc6601d4eaec2ee3932f37b5275900a977c4c6913e6b652a6704bb47ae7dabb470ad7644fcf399728106a31bd66e6898915283cc1257537894a889527941fda64da2a4e70d6ee532e64c618294df842cedab096b5dac384f435c25845cfcace12deb510f5fb2e69ee4a2005c9a995f3ff392d8024b82ed144ddba93bb02408296b2767f2fadb50ae008dba7a79cce363b560118c15f9d9463b6b013560114410b161273eeb9d3a8008850e58e995a43f449cc30d48ae631ba288c3ac698fbddfd44c46018926f254498e40e81d17be5707d79962b67bfc88369148b9a3aac335f54272f31b19bc32ed60bd29c06ffb0f08296ce23173de5baed22919f0a2937556b4c175e8cd78b975e5134cb05269a2c77b0501d31c30539d1d125dd5f52cb6ee1b4460c95c7b554325b909bf92e953d3a46560b35f8484aafe14625468ba663ead8b141ba3fb3d8c3bea826c9ffeecbc2ac9ee793f2b56d3c1606958b8dc9828523f9e2c7fa75a8f42b7eb59046f53c34655d61cf068b8e2985ce682b3c49914a27c454298615f759cef2d09bf7e72aae3c6fb92b55d1fb57b64d76bd0753617f89a9a6888a3c49f89088e818e129b6e0311e2d584b6ba6d043e8fb4815497d95824c21a71c376205918a14c71673ed9cd72848de31749b5a44fc88a2bf58cf343d14645d7eccb92135daa0a0b26e5d27e5c80d7f8255f9d10fb127f00a49eaf9420e97a54eb82e1a35773365658913b9dc87d6ce898e4a9bb8264b7fdc1441af244daca59d1e35e5b40629135c8eb7a937153c8584893bafc47bc9f7a88e2eb17e4eb126967924479630cad76e8c1bfebc429538fd534f262dbec7881264d2fc17523609b2a26c907c2d9a5392d0ef246ee54fe216454229c91a62138284293979f8c93f42330ffa215b273dee08a33a223b2f57f78d403ba94a889fab2e238e9ef0eab17631aa8b20cf555fdbbdd9c628824b1d5942ac983a97883deecdfe7f721c11a56c7baee2f677c943b0d9a3ead2baf24643902a2c526aa510e57858cd6811e2ecabe69d833ac620084b0deee2fea21db5600c411c9e25a6ce353046208af499f2f4c84eec2c20984d3166ccd3a31373fe60c8f27db27f97bc7d36fce0d67408f12f8d597ffa404859d2d1f462cc427cd02c88cd84bba813ef0463ecc14f3116d2d4a2075c62a9a4e49a6a9f9207e28c247353cb1655ae600c3cdcd97230f5b9d475392418e30e4ec832b11f4aa244c6b0039f2ddca56b5a938df7f8f8a883aeb5c95e5d62ae9974b8c285b3d3495bda678f8f0f108c3187d63ff3a4a87b59c5600c39906d3a1e2b6f43fedae3e3230e866e3cc9a137922ba4c7c78707c68003c9d653a7cec5f4d7bd81b0b79b2b6751574737a433aa493733dc6c8cc6186d7023e6df3c31e6bc9263b0c1066aa8118031d6e069cc600769e818430da7caff88e6d25215ebc18031d230061a08c93455ac4558091f8d1bd860033da0001b6cac08ded5a8c0c7c71867682ba74fd9abf376dc199cb3010c60808dddc10ec630839e9157b5b1eff1f1f13358a38d325021a4eff734bdd9d6830c4e6a6e0a639332a78d1c8c819fdfc892b332b97c7a7c7c88e120d3b9cf62225d8745304618b4fabc1513d384083a1b60c875f62ebbacb745f7052dfd6fa5cf2bc1185ea035a5bbfe99cf6b5d05c6e802392d779a8bea4b6eb8f0c4bfcffbd86da128a7ddff2d1396732df8595e26bea514afec08c6c802df16524a227b07c6c0029b743be3c64596ef1618e30a654fd239cc7bac406ba59d106f79a72d1b5481ffbc9be32a7a2e300615ac9bf0942456fe98670c8c31053fe51ccd9369644f06c6904231554a636a958268d4e3e303afa2d09f85ef7caafa10718f8f8f8f0f364e0f36b6c706c6804255b7f27a7f9a36633ca19f38790c2790425d5e9dd8577b7c8c26249afa297fc599409a14d273ed3b780797f087bcac0d9926308612d8fa8a49d286fbfec64882397b7fe87ce8ab0b19030969c4f9860e19e308ea6479c72bd9103ce76fa046b34181318c50e8a5f614b533e5dd19a88182148c51045a2bbeacc71ecd39330611dc1ce29786f0869149889d7eac6bb04318759947f5984a6cff476347300c66aab515ea34760023cb21f17d21e79f39bf403eeeadff935c96d817a4ccae21e687dc90ba5e142a7a22336b94142e5e9039546a53cb21d9f45da8571163b8f018d1df0e5df829b6896c5473d10719b398337659ea7161e424c97b34fccbecb73835b9f984cfd5715e5bacafb199dfd75a6429b25f5af19890901685ac513f2d83aa2599063b66d15654d594fd265b92a88146096cb0431684ef2ccd762f168ef56a4db450b124060bb32306cb9f2de683fa8ac244d14b1a532d24e20a528888a1a96bc5923fbc5da62e8b285941468dd1f6a38fa5bc77ac22eda027d12ab9ead4aa387b7337f90469eb29154a48d9727af7d68b0e2a68f1a0962ffc858eed29b2bb2873955d53509faaa3ee7b8e132da5d0538e6a2149c5ffb49282f774954c3a9bbc73a3206a7bdc87b8921a7951f417ad2abf63869ce3509ca6d5bd82775a953428cadd9d0c99528c3c7fe2b4b2a6173c5c58d70060841d9e68e2dec57f544cd8a9c7c7870e66e016e8c08e4eec96b77317a9916214c20e4e68215945f40d6e6253ab89e94f32eb710538b04313468ef07b7c7c40a0001bd89109fa2c2bfac3ecf1f1c1c60c3e3ed84063066de4c0ecc044361777fa3b391b3c3b2e41ccbc3eebb5e9f6ff1d9658fd356308de3144ca56e2093a7513a1da5f3994a0bc8284d4eaafabd88e4914b2638a64c9f42befef12dca00726908449ab56f2c5129b68396f81bf410f4cb03b22c1465995aedb208164a45dbfe81157557eb11c565ca414810360b0c311e7f874173d96272db31104fb74cb14d637b3ed608416152a96e5dcb18825556d8c9e2743aa4a0f36056aecc0040dd8a18837f57d47575ac59c4ac4160699c0638a6c5717c38429f79924e74b9df031e31285cdf81c3e63d630c31245b5782db5330fcca80451c20a97e2d7d43d092209224b75aeccf85db054c18c4810d39dbcc4d3f99dbb072448697b3d92bedcedef67781a3b02331e61a409f6352293334408096638e27ed7687ba2ad931136a0604623d688a7575217e203331871c7e0933d460c04cc58849973e389b56b857914f1bf7de7e49f381112999108534d9ba698e9895ee9801988388421dee98a39898bcfe7d8e3e303026614a2209539fde84ef8b614c00c429cf6ee154242f42a7b10ac7fcae50b1e96cce4801982286d8deb6b6a4e7a7120cc31568edd8e014451bef92527cf26effd8178d215d38698f1e2f403bf75f143881533fa40240d99f9cc3566b380c00c3e5cf2d1e385857ab06d0fb6c7a8dbd4d1431f39e94ade9cf8b9e4c08c3ca09faa6553542247460433f090588ec1736ced2c5744ccb883a1e1d71be943c792d548633b0366d881146f6312d9cd1c677e80197568b263d8efef0c820133e8c086b88f3123abb9b51630630e72e03c4d4a9b21c58c38980187cfbca327dcd384c46798f106d26f42768a747e4ead196e30a30dc40632630da406828fc56b97640acc4843be9995db9e3ff3a70233d0405f124969b1738652f0e8b25617727aea036698c1036694818f9292e68fbdfeb2456006192c4f3965ebbf64261f09cc188319625824e7b9c97ce156a31e2430230c6680c10839f987f20a714effc2695eeba22609395fda0be804951fb3b75c17eec2769e72f78be474ee72c1aedd750be5cc1bb3aeac05c4477eb3f6fb6788c94251b772824e120b47f84de60cb12bbc5961a2ee59f492c40a6ef75fe8b2081e9636a30ad485c52dadfe94eda9f0fb995bdccb1fe39e0221785bf948a8b7709b21853c2f44048d8eb279ec910333a280aceed6a610c3a6b4f62833a060c613ce331ba274d62bc994194ed8cdb3f6c79823cfa66630a309e5e8d982678d1ca37a98d0fd48fc8ae86035ed12ba90d53b8ac72ce9ab1232950d91e3653327978426cbc3b57b59d8cecc404213d2a6681b64a45eef61c611500fa3529d1d338c7044f58cf2be9cd74c113ed379d5550d6b21ab610611b2cb1793b5aad1fe2b6318c5f8524dbef51aeadea00c61dc9f613a9c87b6f84c833282018ca652bc2c5b3ffd1807caf8c59d3bac364fbae9947dc1b6bec8b78abd28768c6df1d675fb185e94e3a56f93f2e81162240365ec425fb54f1b11f2fbc674d18fa624b5e3a92283833272d17a88ee84b7240465e0824f77eea3771125df2db84531bd49cc921a92ae96610b56be2775fcad49bff628cbc119093039280014caa8c5a7b7993ffebb813268517afd3caefde12c5fb37092a48cba59d26956d428431684908b696c3db130bb5e5d284fdd6d39b038dffd4e52e715c96ecf4b8f86b491e30a6e5fa398fb6a85ff5b413e9f54317e8594e367c5f31ad388685fa7caaf82fab42145985e15c996f4c4cb33ffbca7c2aa8e39412485dcb8a3a28cf288a43fe216f653d46f797721e1a2bb6e0a730a993343690a227a29f64eb3598f1469719302938919e9e17afef528ce7889f97a73bcbe5a14d655a6f4ba19b7378722cddf913353a5fc5106059396316f5367ce31fc09f35de7c5c9cccdf67a6251cf9a58da76e2f1cebcd809ffd6e14411191322ed4cc8d94db0539f47afbac36f34d1bfd9e48cef2096d44cbcfaba9121a69838e78f20165b592aa6973053eabdcdf9bbcd524b381e922c6388d0216f2a61679fd01e3294309366b2906322c76c12dc4657d85f89af979144f177ce2d499ad7c444c214d6837aa8acad1e48141a62f736a53b9d476ce92d6f88793a22b54b1334779c89381bd147b58d50d16444517f2ad452cef0985cc495a3649df2ca1b2d156114cfd9b13a778e9d44246796472f7d527444e0716abf63a82013c54310ce72c2f5858638b96f4e5e51729e1416a294156bb5315bce8710e64ffe31ad6610660bad59c26efd798248c3d9d89be502c1df84fb0fda01821431469fb7cb77767f58724eb4b4396f919c1f9c9043bcd89baf954b1fce3f1f3643d8fd24173e24313567e5d7215aca1eb6589d501f257763450f5cd2ebf090cac356b3d59a23224754f0c0bafe4cb99ac8e777d0d682cfc468ccde0e6589062fbbf89ced3a5c21a6603e31a5e2850ec54eadaad9e80edb1c90d4b953eac2554f2687636bae1c438f43f5df21ab6c3818e7e265acc7aae41b8cd1dd2e4d4a95e1862c66d7d853d9b51a2aa30dfa5bfa0879d31c4e2a830dde481c0b5143504b51196b30ab44a4ece6e12f51196af8ba4f7c2489457fca48c39ab542a59c24c6789781866dc4bef26a6b8768967106e43e53bc52f7ea627c508619dce42167eeceee075d086594618b17729f9484b20c96a00c32dcfe1e02002594310663b6f4b1bec1452cc594218632c270edd4eb24ef64f57e8f8f8f19b00106e4f2fd44b988d37d814819cf62bba4f01a1428c30b95ca944549655929db48438d354e06cae8429f3c67658ffea2118132b8d094a6d8a231b4c60d3050c616d06ce23519626764f43dd8c8c10d265086169c0e9ecba4f55f53668d191c36245046164eb12a99dcc91728030b9d55479fa6a58e3af7f8f8800008cab802b6a92ea9a4a6e989ac4088acff0ae94ae366491955f83d3d0749ab974185723beea773d668d74250c614ec242987f0b31052dc4881b0c973dac7cffb661951a03c67ef3d75910ed12a030a4c58cb90cf182687da3833e8c1c619653c81a8661642accdacc94963d1100195e18422678fbbdc51cf528c0e9e041f1f3af8354e194da0e5f4ce43e494c184247a89e568d35b972b6309a754b94972e466e60c4f63cf4063d7284309f77984c9f1598f8f8f329270fca4cf1562908d45c3056520e10ada61b1f77c7f222728e308c518c2e6ccde1b0904fa51d0af833450508611108f9116cc2c750e4d0f0894000437b0011a651401d9d3998d5e965239169441842426fd2f7e73bdd33d62c06318dd446bebb415adfd6e010f61a0f972a7dfec943a557a9cc1461acf231877bc33bd8b931a6d7c7c40a00420e0199cc103184bc71869b3ad87c72f9078f6a1273fbe30fc27b67ddea480472f4c0d5ade1a2139c58c021ebcc88266686a89adf769178ac6b65f8b9937baa80b25f4bd04919edc71e5020dcfabf1d4c7227270e1778e74bd7ce31ef62dec1812b74a42b25eb2c511295f05b9ceacaaa9c5a549ffdf73c6e81e06020f5a98d6c2a3d4d47d727516c5585e70cdbf9b339e813c64f1c5cf1af3fd29ae23f38885a2512ec645eabc3c3c60418e06775f0f4d127d1eaf285ab6d5102bb404ab78b8023ff7b6287179b4828e3965cd92bd93d6587147b999faf8f05d168f553831fe6247ba7bce3e1a2de0a10a25cedcfdc73574e50481472a487af9b7f552b84f1715fa8b6f32db1096119e82cc49e3b1eb93c4d514ac795eeb66ba145c48ed289eaf29252145d7eaba73b265a7f328f8f4d972d2d23c2a7151e841834d596ca759720310e0118aa7c43de5983f666f0b14fa6a5d44cfdc592c3f71944f7c980df972493c41d28d1eac2246a610d289f2bc4c47d810af4d3dc0831344acec266f2147fe9ba8bafe3675fa9a58df7fdf24679d182a0978642253f74879a5c6c4dfe573591fe2534811018f4b28769a391553b3c905010f4b90834b8ceb79f659f14a5433fabd152d47b6a404785062f518b3a8d07926731e93486c22779e4d1773ee9e0d492015d5736f617abbf758e3db48e32341ae54f575b521b1d588642a299124213c1ea144cd7493b16f79d33d3e3e1ce1867c6cfa9c44b55a17f06844e1f1e62fefe7f013f2021e8c3097ceea2791d5fbb5053c16418e71923cf8451146da7c1ded3a953d7e021e8938e5835ae6082195021e8870dd254c368567bf36021e8738d6f95bde6413fef330047926874a0dd73cb94f83472168eb4819b73b4446c28310e529f3e860eb20f015ebbf8817a1fa35bec70ecef8020f41902e373af5fc6eca6720eedc93d13336d440a365c00310840c296ea64e8e3b9d3f9826fbaca2764c57ed8774f5fc52b59e6a8e2d8f3e1c43d7e664ddf35510022870c00a78f0c198c1834adae01ede88bd1e233d7f85ae07346b965fa9943871f2c84319faba3ebc6b34241e78c8e2f38704023cee80b68965fc8de33df1b00392656d37a3fb06e977c0a30e8758adc78d21738e638f199cd18334760d35ce38010f3af465be521645b4ce0cf098835d6b5ed9aa919b523d3e3edaf83378c8e19077ef71756b42962610011e71e0c2322a877baca8cd030e5649254dddb5413dc9e30de7109d3d6a5c890d8b1bf8a0f993b9878c5dbb0de4a41d2ee71d79b001d79c1c4443ef7b5c1e6b7872d6fc9f5b2fb35c3cd4405b670eb572a7a14e79536ef295d83bf64083d2a1f442d37bccd09fc1099de3a8f9b565da66d85a7f266d169d09410df028c3e1725b262ba997a364b053ec8ba3f3f14a3763285847cbd790642c723cc4f0ac6776d77e5e8e4d183009394cd5a9b5e7e007d05814d48107185cbf909fabb731e2ff025121899aea8d6fd55ee8d32b23a2b72eb0b9f152ea2c1e5cf055358b26b9169d8d3320500a1e5b786dc6b306492f96626e70831c68a1f4611a3e4272c61abf0335d0f81bf4c00456e09185723eec7edc908c1c83853c546acb7aaec256ae80279f8b8c99923a242bdc1e27699262876e088f2af42945532bcb49d3cd54e84f928946779d75508304f081c714fa0ec12cb2a35238590aa58e39de63b0cad6931e1f1f3aa8c119671f8d332000011474c00d3ca250d6a568d9629668bb42a1ca195c264abe3319f83b8f2730359943e81c39dd6c9ca0870955b149d5cf5b8f8f8f18f06882d631ab736fb32c6c9880984b940a3bb124267bacd1021e4b205b50dfb2492ac18af956ff63ca9010e9f171061afb6db0c1021e49e8a2e2f279d4508b3a128aca7cd6f53f2eb51ec18f41da438c396f6a047633fd2a676a789f3c8a60549f90426ff2e429c68308da6f88e92b5ba5630d230d8ddb52a12c011b4b86301489b78e21ec41c80846753163fa100f97f3020c536e138bb8f1185347c62f9c28219c5bbe550d51365e0633b000008a40862ff4d7d6346e27d9a2b139c0c1a3b139c0c1056a40462f8e1b7149ffa2cea43419bc40ac226ac904af90ca1e1f1f2440838c5dfc91466b24633a899933c8d045ef1215b3cf995d5f64e4829472f756e785e48ff52003175d5acb4b49d7ad36de64dc42d357bfdde9912c1f326c615aff08da3b7f125d06c8a88539cdc826f99930b1d0d81a90410b2e6d5b0c8db7246f713266b18b4bfcd8f1fa3e3f6bc8800c5998b6d2e5a7bf3d0a5064c4a290994deee48745af226bea16c3074991f10abec3a46bcdf929396301325c914ea6e68997b5828a9bd35bddc7e43161051bef3364b7b18f90f480c0f935de021f1fe7d778ef0019ab502c2f6e652655305122a966d890910a572ce794f3e5ae8fc840c5c9b735d5722ac7cea72884968b372719a6e8e7faf64354c82805a67d2e1fcf3d458c8e800c52fc7a93eb525f4240c62892ca9123d64c9090bf046488c2e80a49712d9366bc68a0808c501047a26d8459bc58586480e2bbd160ad1e95e79f4f14ed53089d74ef1b5a4fbc6afdb5c13cace728199d682722bac6a8ad38990c4eec9b9224bcc735c345c6268c4c7211afcb1e1f1f9fc60cd8066af4c74709c8d084992b978cf689a4b5f4c8448dfba834eec2e12191481c12868361301818cc7e3600c31308003850200c4743a12c9095f1031400014c2820363c1e1e2816102214120c1087c2815030180804026150302c0c85436f991ec7b1d60131c11416e3ac0f68db953acfbc691d775252e8e2fca4f31c66d92729bb89071c96d5363dbedf8661f4ab13247044672703e2efd6ef21baca2f7215a15725ce4189503b1004d02629e6af41c0f07aebb8aa3431ab87cddf54130a010c32ced2f78ac136ce66cb9c06edeb9832b9f86ba665386cb44f8ac582f77b99839553e3ec336842fe74e996eeb20e02208ce52ea1272e8bcd4a50443e48401c46534704e0fc1a388d62c8442caae38a77247b9fe5ffe22c9f720c979cf6cb678f30a156d54b48f3cae15ba8ed75cc238ea585a2b09635e1092411221193cc17ad38e337c460a097c6177c4168e946ed7c5a2fece99a2bd6f00828e5b530e40b181c5004fa2fdcccb9df8a74aae1fe2c5a3c60cad0c31635788e6b1841f33ad36f67a41f134198d9c666431746c5db57b227fa899f1ca401b16deda90bfa96b731efb7bb162580bbffaa2789dcd060f9b1f8cc2b3126010c329766de74ed7b4ab7921ed11f7f840c46e9e220275d8a29e182552ac6c249c6c780e000dd18d2571f7cdd517cd9c96818b7b5976cc5cb41d1e5fd94ac271b32410deb7ec9239884245a0221653b195183e8488f47260426d23fa1216b9740466607edf7a55624a4a32149278a76b855d058f8df8ddd430f9532f8c2c2775bb79e5733675ad6c276803856b3be7a022ed2a2bf7016d10b0c7aad023f04c62d24db58997d8316d38416f14b65994a7e45c4ba5ce615f052964385ee4a629cd4997999314e5a5a83fc75b4586cafcfdcde989037dd01d673cfdc388c2697886f80d7d83aa963e254e56ddb83db4ba32c8a4f76cd9e92f65b6caad185225b19c6c6c60fda52a31fc869a2bddeda9617332c9be0977e85a31391ff9fa60d4324512f42fcced18a2974358408bc158625b2ad9d758836af4300e950b1df070d06f41934967bc2128176a7bd6a16bd75e7b8c28dba2b1ade6a7662252739bd4f44ace82ea2f23078806b6cdd44559824cc15373f37af0e63594547255e5ce6d397c93dc310de6543204bd1603f9d83d64a36306100f235b8954699982016053ec7e5faf2151d841858748cf2f50530f8daed6055031f4c2ecf04cdaf6249acfc74e6849f9175f3ab4b8056b3cf5ca607da5adb5efb535d3789a35eb1e29e01a653c166d858c0cf54eae04befca90e73dbe61f74e5d8b3a6bc11285d2a4ab5388ec022c273e727e89f9384b1311c46f433b4347870a469cd20ae7743cf8c4210889ff31f770bf6f43bd1e72c205bce4306f64a6d94c75145b77bf799c0b2ee8a2ac710ccd888e13ab8bc16b32fc023b91f097b708956c18e821688008fb6470d5f30f708686eb168eb769f25c93cc9d69cac439944aee9b005a9c8f83fa762ad6667282465cb5ba90d15749a24fbc5e9a758cada4b7980469548ca2f9b26b2c3d871823b35670c72ee64ff22d847551246f7dc917905c27ed7093e1df90c8acefecf4a2f3fa12d61da7a79be6b19ee3ee6bd8ce1800e444c97e4207a261453ce01b678946de7a95361da2bc8c46a29d5c13bda0dd57e49a2f7460c7e2334a07e05036ad27e81d1589cd50d56da49faee5915cef635673093a2d3116bb1567f130c1e8d1e83ba14a7eea664b92b4e9b89963a41c4afc228826374467f852f0c36f630b428a4d5e00bc202e31c60a9de68045a928cf103b4000ce51fff26b00ab4f11438f6e4a9b985158b7a4f5fed24d04859a6e203727061d2e57954e059c8cce9792e19050e1da647cf5272fa6d2103abb02dfc465b142e6bc6b6a479de4bb30f80bbe0de898097c0b36c2ddad2be18e0ff9355cf9bb79afb8682173d81b03485c585cdb9fab60dc86929fb39dcf7a72481c32f819f9c27fe26678ff73202f7d12d2c8c2419da5e304d77e7db011baf9a4d447df3208d93f2372ad65ed42809726e56585fa4d36923243be727ba1500257c99de907d16271fedc83c12dc639e11e763f81d70421bf67c48211bc6d20dc59e5661879bd6dcbf9091acdf1f4d342eeb2a7396db20db0f52022d07e598393539ece532740c5459641860061931a3063d5900ca015de5d6cb5cec1da759c490754124c017eb90ff82d0f652d943a4161630a5ace2b9df8aeaadeb4e9e26f626f7730709dd8510157b39eebd7cd68b616027f77a4b1f96575563d8a0d8ef1dada01ba43c99fc2d81add2185d1e36dd4ce77fef9176e5e3fb53882a969baf0a9b4a59f459bdbe29947d0c15ea6442eb419458ab94b3ff230ec1337219f3a2e960328ff5f1fbc59f86ccf28ee9c80546321ca387c4468459305362ec19699d69824df3f0cc5afaddd0601130c2c770fe45f453368a8b2f1fc970166e750e5f2f474d2b845be89f57458e71bf3ee0acd52a09a3c0aee1c11e6e6400051343ab1cd578a43c40fcd8e87ccee0dca5ea8bef68135da16a5fd1e065b440017cf18d7f0594249023337c2dcc9c0b7f3db8248d83c4be67f697cfcb578544130a44f8a2558e4d43b3b7460d1d4b5f593fad7d961c16067c6f97bcba71eca77022720a0321de64ebfb01b69b9bf2229d73a1075ef1ea0dad3101a0f77bcbb3c36c735330d02d46e84d90a8ff3433260010dcdb4130b3c67e084bda4656c02753c4876f53acc11b312aa3a2f1aa0b30cf3f1bb5e9c8d1f2cec9b1509816a9c58206fc26fa4cc776ad8ab831d98ad7af98d25385a5e0b13aab9ce7e84d598c76873112e9e329096fffef9b3ba669a59273fd1b1b5eff9fc71a4374b9aefd0d4a03d719a6328b16a30d1d639691649c65e2f44c39f8b72ae6d57fc4e4faa89b27672e95485a4ae2d792c4c4a488182f805c13a553c864207c659e460c6a5097805aba9eef7c7a6e6c76c614acc711ead80c112d7b94282734e58f3d0da8fc773a363c81e6165cbf408da482edd73b888bc29844e1a515108e4f5a0903ca610974bf9941c26054f506156cc5dde589ce8ab7c89c5c78490aeb815f942c0e803db789f7386b490c8025eb98511cfe7fa11a10a0bde7b752659ab531871cdef52d8cc7988c236d5639e9e113c802d515c08c7a76511efacdec0d4f33a511657bb62379bb73fc88a1e48f21749a490d5dae31c250853453c3d729682e4be43675153fcc5bd639cb3f9b39694776c184383fe0df83800547806fa2138d797fae35d2b8ebac916db3bb610bd9329e325a56d214afd3207a58a05bb92f5515a0a44513200f858664fdc6cc10eb2a1f2d95a3fdac76acd8e5a361b92cbf4124c2e3ebe87471b776face23836fe0e5479bbcadd5615c46d528d117e4386f2931ea41c2d9a86bbd24422b60fe5df2d287f8e0c477bb36fb5581f68c4acf6e3d1d0f69cdeef94cb6306b1c7c0b7e312bbe4469560135989aac0a6955a88bdc9009ccd7495c04ee57a8ee2b94d41435233bb45130270143a4c1ac40427a2a38c90e7c3e7c62abaad1aa51b725871c55faaac12d8a41fc3e93db6f60562344face697061d33a2f0cef7861bfa985a458224b258005c5c110018308e97acba8b9db876a864ebd61e7d43c116c552d5067034d09eefb32fb8723fb953d78bde2a3d2e98fe36c2b84a6640648cef412645ba880d845367a902ad31d5b17d88f77e23d6cf822d98bc0ce3ca9f31e59a68bf5033bb9542b829e8b8046f5aed5da0ebf8e4310d42426ad607b7d95f8468f71b353549f002807992a0f417f322a74fc9e89ab1e5d42450948f44b4df2ded29fe5f3f5ad5c0ad803879b4e8c96bc8cd0b1b75f1fbce60270b54d6947837cc22f9bc7d2d787e79303056c9a90d7eb0810faddc0038b44799db0dc8539e64291529682f2efb54859efa40c78b75c58f090d814a68011af5c273a7a36c82ff53d2aee736f749972ac6214f3c4a770929e5c12ae262e36aefca63a4d3d0ed3b6b859d488e13e352a280dc96a8f163d77d4ca221f02a5f13a47a6412b5b4647b893ae917de06f95ca479521a98f654778e08030118dc1203777cb12ed6a35490dbdfd78112303e0de199f7646f5ebddc3be6cf4c2debcfc15710e1e54340c0ce446c2e54bfea4e08434476c82d546e27c026237047f906537258319321d47899d65a9ff55650df5d7415a9c1bf8e8c812205aa2bd2a018eb7b19dc817c15a0bffcb1f9e434de3cf505eb6764323d0e605a4c7c2951b7264dc4980039d0462951787526c9e43130c9b1223df5ee88fbba0945777f6ff82a10eef12cf1d30feee4a8a030f4bf83eca03cf8ab40bf9eca756f3275ca33625c75ac5195429aa47ee0d4413f4b62dd51af86b430c22491e9caa4dc36afb764897bea9ae428f170315aaeb845423cbd47d8b459317a360b59151569d24bb1fe95076367acaaf06345eff26691e56eaf168b4be0a4e092932ffb32c66ad62d9bfd248a4b9e5f760d87e2b7e0a336c856aea24a1aaeb7a2fc73b53222fe726d2d11962bc734ebd1517ef3a652fe147d41a07d43c905fd0acc374971b19ac445b326c8d1054aac465da27c8fd5aa575badf61de798bae088fd3338a6f78c26ca00a77efd4aeaaddc2af3d6aeef21e9c28af3744ae0207bacd28ec25f2ee79c33a74c28313e3d35dd515c681d53c9b17ad9290665908b0e14eab53f598e98aa62992887a14536b132b693bc4b26be3ceb18f56a3d65ad14b41caecdf4e9b2cccdf22bd594d19b632a3f11a8cfb70b5f1d18e892f56c9a6dfa72c376c7a946ad2ebf42f57f048b542bd250b7f69e79f3e1633c2c31dc866a07f2556c67dcec4e96cb89136a18fb86e43cecb6cdd397f280436ddfc9b348cca652cf9462c20cce5b7ba9b6d077750fd48784847204f79528405b307d3f66078fd191e987f1a4a607b803ba430016f5ae4f7ce6bc847746e4e4c3d54598e38b34f5a4a201f0b6360ea4e1877d27effd99e061d5a17a882446df4b47e353cd8efbe9610be17db3659cd98f95df30656775d94c190fe18ad79405c830058fb742273dc7245e8a8f2c114be2aa96eef8022c8b3a059b42c5629db634d10382f7c30f71c802b0c7005f7e60d46c3471893c6629b516a985810d754a66b2345dfa2884da560717b063a036b9041900e468dc4fc3f88a28348cd08dfdb17cd11b4ee3b4d3aa58afbf9742a03e203209af3b6689ae142aaa34cf67be174179b98d2e8e2641a289f318c1b1fa8c2805a845061652e0d49ecc37ebbaf18dfb70e807da54e85a606b8a95d657aa04497b6fb85c0862d95aa08948d3a53f611c9e88ae0e4ae2e7dd673906d6a274a7d4e2a3b1f0fb338b01d3839619953e3c88ca27c1ac0bb41b5432304903ad82b5902502990a983215e5dc0a8f3d1d1b5205802b9f52104d547a28d1639b74c078d08135c9b21f0030e4dcbb20d725f78d2fd9207c014e06a9c9e1784e5366844b2ccc46e810b130ffe02cdfacd2f8195048b404e77f108d8110453521d49a9bdbca98365eb1d8827a7ae3ce6149fc9f7b12a26070bd884e8b0cf75549dde4cc320264f38cf143a7772f977f7a2c2969e82dddbb0072bb27a0c9926c4732633e5cf2f0612e21ae9f904ecfa0b306feded25bc64885bff3159ac333201089d9aba9dc6145ab9e226b1e98a5e7425cb02e895ea00cca93776e1bff322cc43a10dcd8de251aea9665b1068405cc5f2175e3429bc30231ba28d6a4a1fef282167a707cf92714849f9f025dd35fe0897dd7b5558cca638848301f41f68d0de449bbf425a52acb853edf981d742ce0b7f49161a211740b070b385851bd8c5dfb579942ba3871e9245b16c5feef2f6d1e607398a3eb210dbcbb89a62bd64cdde462ebb2b575808c5a779d6625f4fa3e217752a8d413afe48fb2f91a50232ce88676cbf714d6b06b3cbd58317b9cc562cad205da531fb9b694d9b37542b52f709b284c37a606303e29f507f5ec9093383dd6183c376d02c2385df4421a9a8c4b051214fbe90a24469f4e37c51ad3c5afa5e4a8afa5d26eafa08c77901b239feb8efe2d99015ca4e2f71efe17a12489bf9f042d05d967c9ceea2e0c0f4b0eaf5c2f5660016cb65aab852bf83c3c5d7519436befcf93580f062dfb5489dd51931c1edb4b428cdd644eb0d3e2ede689407216c39a310c0253c912f8587d09719c3c55b3739019c56b797beede1fe4ea0f07b1e6fd28b9b8f6987ee36f0f5f57ccd2453d35318a8e4d4a043dd2751a1088fecf318b02f49b9699ce9794a7c06ab57da9396c83f3828b2b261b259993e30c1b5d0dce5fa67513d3c1225664ba9a9595908d5c491c9e0c96ee26e3b8e9c24c4b6b623ef336cd4e4544354bf6de6b91937332e5d78dc29a9b00795943a04111320c8cf50099c420637b0a5926cd6748f87fe4a4e36ca56d07b7fe174d77422dcd3d14a4edc166a72b004bc6c5fa51de77dbe6a6939362e65826d320e7b18da05d2790cad7794404c6d2100df4882b1da052936360aa4ce1c7bf59d68feba1bf9da52ff4c566ae4f4f0b5f9038506fc8dc676eb5b2751f8aef05b7356d83f8e843b6faa17dc7f3bc65c299ff641824b4882404a75eaf0c00e57b667df56d21104e41c5a6e0f43f82dce0d74d2b93dbc627064259e452f2e3d5271532d1d93db610bd37584c89ae472938aad14dd1173ed4edd6c23fbdaef8d475041491255aed99fbb32ddabc76f34afcb634474a8e4a63af49f2864d1a47437b2fc41a85a50b1a050ea687e94d184581fb4181a043505f6ec62cd00cedb6a2f9e6c8055c0b25d816effe366e8691615dab17acd22bd758f02bbc222d7f433bb639ba8437c7702ba12c20219865cde670e324c52554c24a2acbf8c10cf4cb96c61b245ca0376f821aafc1c4a73196f47fffb8c047720aae1c813b4044bdbb105cb5693930e5f4ec1c38e16b28e673e9b500d5eaa2cfbb67f7e1038a2347ee4fea2f3145bf882da2b5d829fb5d97ff55b9ecf49d4000b38a657cdea352d5a0496cca428e931a2e22df28e4e09aded8945417056f7a60606bbce4af716b0497eccbdafc7043a7f8873e3f43065dc31f668806bbca227a286f6a3312b0944328999acd3139bf578948a0b8e9040eabb6fc9c6261710820a631bca551e290b118207276e1a5b468ecd96182f90a3611d321aa45a5d61c8f291086eed6cc10cd225d1d1cbcc363c7d34d93ca07af596864c55295d905b2bdb13dbfd2425e70831b14e23d869ab42648b7b56e3d9dc01d7b4f7683f5963e30f182398ef395499411e0cbdff0c49711688bf9fefac17e105c1ea862417d14fc2d060dba3ed8c83da7181904b8dc2765b7248afad094d2cfdd08f5a9e7c503b145782cf10c9011925619183e0101e1ab0213bb6ae91639f2e89045b71342ce05f43e39c27d722e30e851643bcb15bcfc666ea552da7e4d0dc8f3edbad6d513966d0e2ab6660226cbd243d5ec8666fcf699ca521cb09bcd76a3bd32560341684e0fcb1913e60621c515e350754c8d645370cd7ee1148f4e80a22ef9f8e022d9bae1f6a99c65d6c9f7c1f52f643c6fbcbfaf4939661c859a66d40da50409415409ea0607591fccb551ccb093df78ee3a59c6d4c896772c2fab7b0f901e904756a8fdda0a67ef247bc74e1c15930ca591d8375ed3153cae3f14151b2d905d719c349af12b2dd9257760581853677d48810214a2104c439b8cb764e71691699785c2d0a0c90652fe8e1f81bcf3f22dec845f99c3ddbd50526e4e893d9d37f79e6ee5ee13315ef88e7caa15db4642d422f18eed5c58b10b3ce95f2944c3cb28ff824cc4c0bb9ed2c5349a542421dae9a23685fd2407a53aa5fabcc4d23601c5776cbf017b7002c19e2dadcfd7c108b774309e55670efc8b427015d44ff1db570c5f5c08aa7625fd1e5750119b7becd09a5ddfea39fcfcab44898e8020d285374100072882543852256021aa662d49a405d1d4cc4bb452c05d80523ac5a7c96be6069a8851d6f73430f8dbf91f5521473ba40a8ea2352f896783c851308b6dbfe54ee0df7a1f6813c91ce4bc508780507b2b3908c72f85a92b7528086d746b99373aca02ca062141e7e7e08a7ff08125d738df4e3d08225df06e8b7d4245e36ee2a60bd36afe0a133faf41ac9e1fc5001d1c0e75f76a5490331fa79f3e2cc701aa40d5a99199492cf0dd7877c3e521a3d33640bce613e048d3dcef60ac879dc8614769a01679ec1eb5bdb7d37740d40d21c0ef332d3f337fcfd2de6c8cb545f69e3e813e92882f1a9286319870c8e8e21d7498f7cbe4a5082796de9f0ec2d4570049a3724ad6668273c3556be5d9a6799f9eef3ed78f97f6083b15eb5133aa605a49463c4f2ce314ef311b5e99ba1c5c12ded4de30d4f277f974379940785c4afcbf2a05cb58e8a1a58f9c18a3a2c4672c764c81143603d7095684eaeef27f912017e90b345c6cb192e54bc6ceed8e808a6bf3dee8f1b007a673b4e8931b94001144f35271000eb61dc385c44da7e291fd1ab5b6928c2b34c22e52fe40f8a7388ce94170c38eaf0e92c3bf6dbb05c00daac300ab639b90488016593bc81a4745280889157ad0b86ce0fd775cc588b9c7f80daa95ae6348518edd7e8ddcbc66aadce5fc8f4ccb39961201235a84701aa4566a42eb9a2e845e7143cdf3377f81f41ad8a72c2cb265e835185bc821907c65a0744a062b208cc6ef320e0f6b6e2591f4b55c167975e9021248f2047a1970f4296dea0b06df735bb99b5bcfbaa9aa3d54fdfbaada14a7fdbd6ed85b7b407975bfa1a0ca239ab0ca72c2be3e67eed9ca4cc4aaf118add048831756e692522d98a5493a4dbbaf3c7d0eb740547745c6011d62346735cf611f6fb4c88418a25dee9ab43e600ff24170f5770da58b259236b6b544da93d4b53ee30dee24a99f5b4facd45230bb5165fbf023e5f5269bbe430de6b098cf6e0c4b01710d66d21b636e804f4eac7b7927ad088b0e43beb352004429e46f565de19a0738033bd02de3039060c54e53a1b6d618b3c3e3e2ea0fa552536c05b4ff540b44c0f7f53db35dca5bbb50b3377a26238bc1d715762dd480c7c61cacc88dad8828a06e12687a17adb1b12807bca23e1affb245457dde200a8bc15dfc2db7dca8b5fbb1318339282e2f2a347e355355c78728be6667ba706051d1b87cfb681cdad9529db6683394395b0b0e9bc69b3f56c99b05d6c532aa76dd18060aa77e590327f53a3d9e717ef6ba69021a7df0a0586ebd7221d00d721802265d479971a18508fa5c78c940d6bb02ab9161bc60e8206931bbbb826f156e6a875d00ecdb3e6b71556ecb9895d4f0b6eb19ce4b49df15e9e3144f873310b52e996818d7f92c8aeba5e26ae0ef65d75e3c6c55837d6c48c115dc90e2aecd7f57cef4f4c809648e6e493c94f4b12407fd2e005bea83c9640a66c0acda7b54aaedd8768e0f56aeb97b08aef3224d8a3d90d0964616db61ae4a21b5883e4c7b69992687328a966240ccd21394ae7df1ef711afe9903864b04afa39f454fe16cb7c34c2c44bbc69abbabe83c9fc4b9cf0284b49e45cbfe4a87ac80a037fc7cdbce4d9dc70079849437fdaa212699ea9679b459ba58e73c825c86ccd5792250b4611c8a940f126f459605512232df89699ba38f3010ac720eda03a3d6c48ba97bfcdacef59d0401f0b07f47f0f38b97d7f3448bf86c2831b4c1ca310bc633145c14148dbc10b77f10613640883c7e0ec1ec629918e1b2621270d9205be2bee1079c3c06534822f6b2cab42f27b014d0ee4c89206fd1da6e27fdf1686e73c14e5ed9d367ff12746be9d046067f772b26d0fcc41389e68307ae66a60b9dd787f0d1a9e4fb36e7c5ab4cd20d6c4d6fbaa77361a033c893bc62160a343540efac9de3ed22bf003b9f0428f3dfb3a3a7d3a88e50139141470322345b538df3c1e3f372e46d84999677f209924ad96bc1a2d9848aaff69bd028dff31b977beb5c3630d62656190f768c7ee1c61c367a0eace60a3adf71b6f5022519a2410cbe6505a321d2a2f13d9e903e7e8eff4e9d168be4f17620a24607613eaf2ac6053303c994c9d4e2520ebb141b1fde46b134617b4642639aacc791dfdb80e1c5f9da1d9f5c482756391c2db02a182b44b5753b2d6acb22c84b335500028b70710f13ddc8ece7d17b3d666521e7efb524622adf06354babb90759d9f5a462e2010756a810869740c14e5b94907214ebb8b80c1a46faf1bdb79e8400390906d30077ba26b09e3bb26be31a7a29013d541d4d0784a647b2f69705967832ff3ea8e80b71f35dc1281d97f893f0764d67686411e3091649de3dcaf39677c0484bad228162923d2dbfbba6fb49416cf2982e24f1e45e3e5759cec79bceb5d180e3d1e56f9f371560cb0786aca2ef12fd4aa9f170fc484ee57b37235fc1eedbf8a9e6198a49677342c123ea0fe6194300d47c5c751ee151fd5326e12eb43908bea2279204726eceab547ef3a0288cf47007f3155c7e97006e108b13fa100a1c40dc616052f4866039f59055bc264d82330f9172049439088a521ca7553b9b4f81c977d92f0e4dcc408ed314c3e6e19f54b447802f418d7c4ba94bca461cfc48fd112fa709ff046094886a58fb6c3780bb7e86ff79433ce30c0af5d03029805ec5fe5f1599fe43b0aaeef9f0bf050dbbf051adeed63dbbdfd178cd7a95c23b45309c673b0a62c01127b9be8ac79b04cd7eca38b0367abc0bf8d08cd699714d86c372e4c613916f6ec6753141265bdfa9037e282bc9a3b94c06930500e318676791175f6bc06546bc2c1ef3f6a9b9228afa8b801ec7c17c543892add6d5add6bdb15ceea26200bbfd49929f1b1c68610333517ed9e095cb43437b54877d47b8a39108f13591c311e4cdc3fd6ed3a0b93a34a1eee9a906e569a8a71ae12013a8f9478460a610f8854f9062b7c6c2f980193ff67a492225ae66df7fc19d364c16fcf892961905ff9d4060c08e4ed321408cec0e88bae472c59373db49dee194a4fa75924c900b99ef2519a4bb3f0a473b5bde4bba1b33558a2ce14fda46c6b6ee9f05eab56a9f2f6675f9819a2a1e974892bd7d11bce7040942f69e9b44118cb53f1b4c0280b13cb9387c8c1d5942aea78f64a0232cd5e71ff11a442868682448256d51a8b4b715cfce9bbc21b7bf02c0bf4c6e879fd47f137f5fdedbe1b47b82e922c928a9629eb823fa651a66fcaaee7620c776a932808657f6c826aebb88d097707797fdbe2895b4b1c062c428fc50687939a115898e0bef116c31684e0d45115f0b7b664f5854f31465a3d8c58b46c9ef62e76809d77e49dd7c50468f0482d46ebed6b210d7847da50e67c4338b4d0b659df0d2736d038927a75dba88bb310876bdb97e3ea8735753cac4b100b08bab12d0d0b297324fb865d0d9db62f566864ca2e342d294f026bcb15a585bd6cac01e3a7f2faed4f7b3b93c7087bec4b3d21415081118294abf80fcd57e0dc25538b660942f82ad92b86c9dddcb309a5116e2b68b0e94f3381a570377efdb2a1ed133e89ec166815d700c3f496552d207482b8f8494be493ae54a0e16cb9697b8dd8a18930cbc36ab0856dd34236f2217808d5b583776eda56e1e070dee2cfd5ff40519b9047d75d83e319a7a4efac0be12ba4f26b893698a3321645ed5bdbb9be12f47fc0f43442f9aa298cafd9be57f4eb04a0d5e7faef5064f1171e22161d23c126740d77febf85f9c50d4084a335ec0cb63706d12cc44f32fe2d09442f58a53188c7d3e72cfb56b143286da1f0779afccfc9e7016ffb2d66a9745804431408c6a4544ee1e37f4fbd4fe92deaaafa583413b7fc0a8a7482d40a990b8617977cdb2ab37b5882f4fcb47279028ba14b9e8add697f9c114543d745d26e88ac1f17939a26a8f8becd7811156b0a9233c364282e7f36ae1320c31067c31820cc202fa92cce4e0eb9b31e5b644957fa33f0690d2f808621707db900cb29a85928664a31f477b04cdc9dfafac46be6f205d11f435e9628ff05b53c0fff015feff91fa1eb553174f1d215c5f09361650602396ab9b6b9ac730da73a90180e25f5ab870e62059a4c73ace83c82cafecc521d98b96d5458b9d96e0e24f1dc32080c4ac46e7f8bd4eda14015fc4d65016e4f570bba961468f3191bd7b322f32bda8b5ee3b0bb9cbcc55c213b06ccfe4295362186b0ee2559810247ba440f49cd1db9944da0bb94dcc6f142b8a8c466d97015a5a2c07037b84c307dcef04ca747a39726017cb26dac97c4a4478fb08ff7fab21db36aa69117f583e799dc62d21fd83792c0009f1f9983b2af47d472c2eb88c4549f16666940e385f2ca7e4f2f56752b72afcd73b7b04eaf166d4b0c8f6179910360896ec0dc12c17f4c698b7d57fb1e762cb0722e5cf98dcb7fdbedc1d5b74a2c0a1249e48e72d3de55efc71a2d6993fc1100a0ca43ab7040af86c458d40e1c65ec84b9ee0c44b4d1028bc0c84142fc46526808c450b0d48da605af3e0b0ab9c6fc38819e61dc72fd75c6324c7cc29f9bb967f0058465f01692b22b77781fba8af236a961008dbc5ab0ca57267e724dcf3ce14b440720e9c78b009a024eb0815e10c32c1ab2208dc105806873880f1f3f35c7157f069e63e82d8d09e92bd01c8f57df7e4880afe0159a2d530162e2700198677274cb21bdc4105bb56cb51af930b6349296f2d8ef94640c3744ac7335636a4fadd6244d4ea65c163abdd33dcc4234d5490e4066798ae3eeb5b5f831ca812916438bed382cd88799ebb3f1a7696744d9cb65c7324154ae1811e43bd39c7b96282f47c6a867062321c186c84cbc605a0114130258759955f5523bb6214502cfca22fad58f1f17fd204d9349f01ed62ee920063e9d11b24908fb8fcb2af9538cee12c507d9ae2f26c08ba435816255d7ff1a1961b412a6533ef83046d21e14d3e521de04877b31c53f80d5168090cfc84e9731d1eb4ad2a5cf327df114a6665c213d9ccfe88f9d2f8fa1d7cee43d319c0e184361c3ff216bbe0b702bba5774c7ec5214e30737a8509007978bd73056243979c714f836f621550bf548f4512184f9180b4133838ca7a6e4c64f94251d0f838eeea2b7857aa54a785625b384803e2011a8be01dfb3a0978a1d9876515535d8189e532c36c78fc47b2ac35c60d8045186359e6b7d88f2c689c7cc313442e6b42aed3f23b08ba102fcb78f813e7dcff425d8229704e7098a375382d96e9f216eab4c3c05c8a48bbd3b8bc71298b12c6aba25a473f032ba0a5f9499450c3562b365bdf70693fd46dc2154ef6be6fc9339def81d9dbd522892680777ed6309d4d260c22ff3bd6491afe7f170c7c56c0309dd22d1931e67083c5ebd49b9bf8bb3b6583f77aa03cee3d27bc686650ae5cd18c1d61a6a0de3c7c54ae79cbc38dd63bf94e6728673d076b9b1be3b360bb424c3727fe1b9de87515b515a085c6eb823cded5a084bd493fc6750693eb9f612bbcb5695735065da5c561d4e1593571b3cc7d255378bab0f639bbfcd4fef80a3d355de28a210fa8ea6d5338e22d62cf1fef809309fca64b593fa22616d24a15552f8f389f99f1b9a0df5e0dd65da48e59cdeaa20ff45a73a8b8ec94b3a201349142a7951c08adf2406894721310908a072e9d9b4851787cc854d3d4a84e1591e97d720bbb36b53906ae6fa9532d8cda6e2757f8b5ad4eb6e155eda63443e5a805322616bfef2d5dcf0bbd823b77a9db7a41d12733dff87af6279ee520fde05d5fee75def3cdbdcb5bbe4bdd3d050e77e344c46478b1c385b11b0b0f191ce8a86fa5ee1de8fee8d02ec42e9458321842afdf909cce95ed9874ae0c5323d2a07e7b42fa56a64acdaa14d4bc2e9be9cb45c9b396c8926db7060bcbba50a0471c9bbf654e099dfa17473aeec41360f6e06ed3f9f80ee3b6d1c2ec1ca4e049431e8dd472dd40b9c033f2a31c62448ee31fec9298122c3708f48e12c385b5d31737587dde0134292b8049f82f7718a83bec9b31bd74e9d2ca92e70c4b07ee307fe23c9327cf31a9ebdcdd674d6300caa6481c3570b46438000c30c000030c30c040b29e6a84c5690b41b09432a50039ee2b40496de6244929934c494ff3029cc627d1c8911c26a542a301a401af01af28b6a9943bf6fa8c1abbd2c8d622f47f8cb86b6d5ae160c3ca2aaaf0fe5bf4d027f488fc5361cb9b355dffcf7ebda3d2ea35851e428c4eb5eccd298ecb7e3b25e5f4a5d78d29a831c46ff79cb6a7b44b41a8a57fd6d58f312e2305a9b51e63cc4e9b51906ac63c31b7267b2b218ab24d21536b7771f26488216c42514d79daa418999b364fb001e5ad27c79afbba25d5286d3ef97eb58dabd129326fc093e494505aaf1099adc73a799a2dbdff857cc309bab7ecf5a272226c3649e55eb7df5f68b96f146c3471458f2dca849e43bf303313c73cb7bd5b73536f69041b4c507727f4fd4b79ed43329b4b56a37eeb17636f2cf94dbdde9f693d6c8cbdb0a98493ab5b4a17bf5e874809e3e2b6721dca7fa80e55d84cb2af187bfe1a31c54a9524cafda17fbb3e9f3dd4485e35f5fe947d73b99890a0f652fdb67fe460f3c866d37674f7d04a2d3547723ddfb4aefb5d7b483592d996b92b85bdcb6c1971eb6f59f27ab85904a9f4cd55f6ebfcf7dc28b22c2df24adde5de7a776193482ad75cca96ec3688ac6cd4c876b76d0ec186566df2f756db9f6e0c49ce94ecef9e377d89b004bb9462fb56b54543ef69f715330c8e168b185ae449b1eaf7cb9385277d86dd9839b145ea60c194629f50b36c85a99d2b56626ea1fa2bd79c7b7cacd897d8acaa101df663a70ae5dcad965e424df5b45191f41baa7b22c5c899c291e26a4df1b1efbe4be18a9235a6dc97ab998909609313c5372a3e7b438ffd4b77a050aa10bf778fde4bcd749e48c90addb1878b35c57c9ce06499efc81cb74d3cc269823d612ed5cb5b25f567825779a24474749650564ab5266a68577b3d4aa0568db0dd354fce0c9d24562245a859ab466235c3d7e590a7eb223e47ac72762b915a2b9b6325738c706a5511e563aa1bba250303f3c42902117186486e933fb6889e10d8146bc5c78c69fd7910fc4bf523472d316d7f251c20d82287d9d042a86d711eb4f3834ba98d523986be52afe3c3e9419bae5ecb1b63aef751058707f71e35728d53e25cacedd05e313267e53e3af83e53a99e62c6cfdec9a17137d9537d7adb541f1cf086b5cf7aa14766dcde1b05b0c5b1e1d4c0d8e5535daa8e06746660a8ad7287bf48c68223036b4cd552e4c8215bdf4e0c8d1d2bd74ce91d189eae77749efd9ea6c54d8ddd52e8d0125409259348c28d9dd779cae7d4b23b91f03ec7146bed56fd4324e34ce80f0e248f6c5bb5505f6a4fbdc5e348fb7ecf94e36ace9baa46dc438d9f2ff9e3526cfb30f21c264facd9afa24e6e11b6f675316aa47ab962471166558b5339534e9deb490421b2c98f9dcbd21dd2fefb2a55fb446465435ebeecf7af3172ea5c2ba41f9963c9d44a84384c4cf9bf33b2dbd706d9c43a3ff1b2bbe6fe324790f5dd5ccaef67fdf05fe68213085bea71732ec2d46db503c81f2f1fbad7ae68fd5b5fc78fb7b25ba3520e9d9b5b1f2cb1e7aedb3f21948d878fb5abb5b79ca1dea33df3355e8b15eefed22393adcae6543ac6a89a071e4dd34abd2c3b2d6dd7eee86cdd92ab4d9cf813da51071d73b8448a397d4fc911472a9598a9fff4a458a615b040c0c56dd982858babc1e248e0e236808171247071078e37745d4a9fdfdea25dbbb01c375a42c7d2f2fe6a03f1fde26143994ac9a1c79bfede4b670d54230d44e39c6106da7d464f1119da77eb94f18ae5be2aa548c6184a21a3b2dcf6d592a61861e001c3b5cb7c56849497433d5fac5cd772932518c78b649c52e3a4db5db0a3bb42d9d41e2eda2efa0b0d207260d1814c4c05185080852c5b1cc007523d8016f81a9a2e5c08088005772001006a68ba743040008e84ee42c296ce728000345c10000100035e86e0d7c4c87cb5b7dc31976189bac0c068715c6252986931cdb53093a567dea140a3c18b103a53934586a6636210780942552f968cda6972ba280384a35c0f316532e4da4ce687d68cafdb7ab5f9e203ab4d4c576277c3a5d93253c305bdf4a0313107bcf0808296dfa1c6d1e8c0020aafc56929e025079da9e122439305079da94961a6dda03335ed042d5d62621078b1e1a586171ab2d7afc4ee31b4f621e7f032830c29b14bcee9226f8ece5f62788181595b4adcf4eb933a9e57befd32758ded5aa494baa289902aa41a6aad30e685169766622af5b3a2e82b212fcf5fb9daabb0841eb2bf457b544985d32647fdeab5a3cf3ea838779e485d5739f7eba7f83365d676ee63cad37e7d991e73373d54cad2d64ee1a7860e29eafd63ec5f6b764641a4ede9dbd54ddb9528c835bf225ef78db1ed0c4e288f89b84d3bad2a3b270303b365464b3aa06023faa4c969625bef42733e49445d693dc6fc8e8f27ae1b32efcc5f094e27f9bd7c15733b7d4d2e0303c38793762e9931233b9b247b8b7eb5e6a8bb983b2d5d68bc0b0d0c0c4d0447934ece4dab97d1c9041374c9b6c55aaf620181c4a8711d32861022322212e14a63a1848418a510324a315575071240402188e3380843200c421086811043082104194288228410a29849db06e67ad2b00193d6b768525a25ab068db7a50a978d97052630683e87f6e1d2c28f9a8b6dc46e502c843ed8fccd9a4ddea06cc99b89a6077bf5ee70d196005b60b61cf6b0dcdf88f285780bad690b148f5255907d1490a331c6a9f849e254139fb90828dedd5d9b11520e2c713e302533a2ae8184887694b778a2f5c41c05ab48aac7e1ff2a1a5b48671f5da7448eb1b3dd959e11c2c022122df530c264ef88168bc45bb94b16b2fadaf363ebfb1d45e2f390f107fd684417d1e97124b1406aaee6efb2c223fd451339ad64e9906a31b8c7d2f9133536c1417594fe5319d8662d5e14fa73705e63e4d89c9e6326f3c59add2d1c3b82f9c9ef0ccfbd3cf166aac9b343df03558096546dfcfe1e550824b1b24b57f25bfc712bbc3f74610eb05397f1c099e09aaa47b0bfcb76ec40df29cadf237cace4e86ceeb3c774f03fd2b36ffde70b34933f2372a49ac718c7345c25d330c9a4ad4a5503c1579d1b5849ab831d1c8ed7b7abaa1430c3f5502c82761b7266279c5a4fc0d28c1b7ed38a847b2d257404a1d5922e53ac07288a35423b5bc4a1f4845811843a9adfcc1ad1951ad77247b39959532167e3cc02e006ab3b856de53a0e9e02ccf4a0585b4b34b71d60512d8dbf02a5284b026f12112786fc27f4f10a1283677e33cc807fb803f889465cbdd3273a4ec35ddcb166945b721ac8eb41ecaa4d74b6bf568cf62ee788516cbc20a8596273629a67d03f86b195ef7d14d971612e18a8dac9ba0be16263388ca1998da4b593d28ed7a0d948e80a217084361d44a8fd802ff310eb4f7f4c7a9c30a6e474f7cc21d884db365e248578f9de375b085dedc9f7b2f92b738adc5b9303e09c7c2c60f33a1e5a5fae344cf92c6518a7787c1c9a82b1d38e8d593cb1751484c801654ca22c62690d0db892219382eb11d10dc29a44e7b410891a35686f60795eec36a9186e1bdd0c5d275703c3b15e81d6c4c50b9714f49fb01594b79611ad65504ba0f5ccf16ecfbe58f7d20e41eabb43daca77035fab3e8df32e38014950fc48731e05cb63a811d670e16f606812be934b7a40b779e07a034f0d2be5bd252dd343d684360f953d4366a2a62fc8917317c7dec635fc2a5816e292b2881067058cbf7b2b7f730128887e46b840513ec07652620c4b2a1f1735b03cda44dd59839c199c957ea6ce19090e1e3aa9da743f2bee862be58d362bc845a2ddad701f411adb05393e7d2de689fa409c2fb38810e38a0ee972165b81ca52143c95577ddb2ca1a033abc76ba033142db5a97e86dfb4cc1b40fdfa0a814d093916439f6d9bca748035b428829486aa9f220062f516d354a052a377fe05bdcd7507231b16602fe6114e7e37cae6e5c40efda61e624712eadb6163718637ab5f21e121a28019dffd9d75985316f50f87015ca646a38d5af02bf28c7575f132f6725818080bb22005983669fb1f2513439bd8d18317102f69f78d1fe04f30447ca7ef18e0cdfc982cce31b809b0c2a7dc36fba592e9777ccd3ee795f8a16d843a14d6310a20b4a6a6c41da039a91b8602431812bb1105195719e78435480cca1caae994bb499798c811c175a5a394107714f0ab39752a4dc256d372fd0028ca4ec1914b013bea1c42958d667e1d2a0d865e757b8337739eac1e6f6828ca01a1b0a8b6036389dbb1d2e13b0c4d089abc52d39fbffde8b952ef406f265ebe6a25ba4ce8520f0e83295ddbd2959bc3e7ffefc70d7db0b6f5173733551289010ab6dba1fc9665414ab830ac24c28801b32c33aad0f6cb08d0e5753446aacaf42bddaf92924158188227b99474e8e14628bc993d49056d9a6594508949b20873", - "0x3a65787472696e7369635f696e646578": "0x00000000", - "0x3c311d57d4daf52904616cf69648081e4e7b9012096b41c4eb3aaf947f6ea429": "0x0000", - "0x3c311d57d4daf52904616cf69648081e5e0621c4869aa60c02be9adcc98a0d1d": "0x0888245cdf5b5b517c48b0057e17c94c7ff71eeb7ba4665b3d07accdc0c3064915487cf837b45261c45c45a38e66be1fb80dc7d755094b44661632ec30d3a5db01", - "0x3f1467a096bcd71a5b6a0c8155e208104e7b9012096b41c4eb3aaf947f6ea429": "0x0000", - "0x45323df7cc47150b3930e2666b0aa3134e7b9012096b41c4eb3aaf947f6ea429": "0x0100", - "0x57f8dc2f5ab09467896f47300f0424384e7b9012096b41c4eb3aaf947f6ea429": "0x0000", - "0x57f8dc2f5ab09467896f47300f0424385e0621c4869aa60c02be9adcc98a0d1d": "0x0888245cdf5b5b517c48b0057e17c94c7ff71eeb7ba4665b3d07accdc0c3064915487cf837b45261c45c45a38e66be1fb80dc7d755094b44661632ec30d3a5db01", - "0x5c0d1176a568c1f92944340dbfed9e9c4e7b9012096b41c4eb3aaf947f6ea429": "0x0000", - "0x5c0d1176a568c1f92944340dbfed9e9c530ebca703c85910e7164cb7d1c9e47b": "0x14ab94d42fb790854e7c4813af55722e2007ce2070177bbe93d64cabe5f6ca6f", - "0x79e2fe5d327165001f8232643023ed8b4e7b9012096b41c4eb3aaf947f6ea429": "0x0000", - "0x7b3237373ffdfeb1cab4222e3b520d6b4e7b9012096b41c4eb3aaf947f6ea429": "0x0100", - "0xc2261276cc9d1f8598ea4b6a74b15c2f308ce9615de0775a82f8a94dc3d285a1": "0x01", - "0xc2261276cc9d1f8598ea4b6a74b15c2f4e7b9012096b41c4eb3aaf947f6ea429": "0x0000", - "0xc2261276cc9d1f8598ea4b6a74b15c2f57c875e4cff74148e4628f264b974c80": "0x0000e07636a455810600000000000000", - "0xcd5c1f6df63bc97f4a8ce37f14a50ca74e7b9012096b41c4eb3aaf947f6ea429": "0x0000", - "0xcec5070d609dd3497f72bde07fc96ba04c014e6bf8b8c2c011e7290b85696bb32e08c80a03a157175c7c70470cb16b4702921f0b4e2a7109277354bd3d8e11b63bd7ed70510cf57f": "0x487cf837b45261c45c45a38e66be1fb80dc7d755094b44661632ec30d3a5db01", - "0xcec5070d609dd3497f72bde07fc96ba04c014e6bf8b8c2c011e7290b85696bb35884b65da9c67e67d8f775301891bc245f2cbf2d64cf1c0e64d16632c02268fd2199c84b09ff7f7b": "0x88245cdf5b5b517c48b0057e17c94c7ff71eeb7ba4665b3d07accdc0c3064915", - "0xcec5070d609dd3497f72bde07fc96ba04e7b9012096b41c4eb3aaf947f6ea429": "0x0000", - "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa19503258a6a86894e3206175726180487cf837b45261c45c45a38e66be1fb80dc7d755094b44661632ec30d3a5db01": "0x5c7c70470cb16b4702921f0b4e2a7109277354bd3d8e11b63bd7ed70510cf57f", - "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa1950e0bdb19872c269b0617572618088245cdf5b5b517c48b0057e17c94c7ff71eeb7ba4665b3d07accdc0c3064915": "0xd8f775301891bc245f2cbf2d64cf1c0e64d16632c02268fd2199c84b09ff7f7b", - "0xcec5070d609dd3497f72bde07fc96ba088dcde934c658227ee1dfafcd6e16903": "0x08d8f775301891bc245f2cbf2d64cf1c0e64d16632c02268fd2199c84b09ff7f7b5c7c70470cb16b4702921f0b4e2a7109277354bd3d8e11b63bd7ed70510cf57f", - "0xcec5070d609dd3497f72bde07fc96ba0e0cdd062e6eaf24295ad4ccfc41d4609": "0x08d8f775301891bc245f2cbf2d64cf1c0e64d16632c02268fd2199c84b09ff7f7b88245cdf5b5b517c48b0057e17c94c7ff71eeb7ba4665b3d07accdc0c30649155c7c70470cb16b4702921f0b4e2a7109277354bd3d8e11b63bd7ed70510cf57f487cf837b45261c45c45a38e66be1fb80dc7d755094b44661632ec30d3a5db01", - "0xd57bce545fb382c34570e5dfbf338f5e4e7b9012096b41c4eb3aaf947f6ea429": "0x0000", - "0xd5e1a2fa16732ce6906189438c0a82c64e7b9012096b41c4eb3aaf947f6ea429": "0x0000", - "0xe38f185207498abb5c213d0fb059b3d84e7b9012096b41c4eb3aaf947f6ea429": "0x0000", - "0xe38f185207498abb5c213d0fb059b3d86323ae84c43568be0d1394d5d0d522c4": "0x02000000", - "0xf0c365c3cf59d671eb72da0e7a4113c44e7b9012096b41c4eb3aaf947f6ea429": "0x0000" - }, - "childrenDefault": {} - } - } -} diff --git a/nodes/parachain/res/clone2.json b/nodes/parachain/res/clone2.json deleted file mode 100644 index ea75fd590..000000000 --- a/nodes/parachain/res/clone2.json +++ /dev/null @@ -1,75 +0,0 @@ -{ - "name": "Clone2", - "id": "cln_kilt2", - "chainType": "Live", - "bootNodes": [ - ], - "telemetryEndpoints": [ - [ - "/dns/telemetry-backend.kilt.io/tcp/8080/x-parity-wss/%2Fsubmit", - 0 - ] - ], - "protocolId": "cln2", - "properties": { - "ss58Format": 38, - "tokenDecimals": 15, - "tokenSymbol": "Unit" - }, - "relay_chain": "polkadot", - "para_id": 2086, - "codeSubstitutes": {}, - "genesis": { - "raw": { - "top": { - "0x0d715f2646c8f85767b5d2764bb2782604a74d81251e398fd8a0a4d55023bb3f": "0x26080000", - "0x0d715f2646c8f85767b5d2764bb278264e7b9012096b41c4eb3aaf947f6ea429": "0x0000", - "0x15464cac3378d46f113cd5b7a4d71c84476f594316a7dfe49c1f352d95abdaf1": "0x02000000", - "0x15464cac3378d46f113cd5b7a4d71c844e7b9012096b41c4eb3aaf947f6ea429": "0x0000", - "0x15464cac3378d46f113cd5b7a4d71c845579297f4dfb9609e7e4c2ebab9ce40a": "0x08d8f775301891bc245f2cbf2d64cf1c0e64d16632c02268fd2199c84b09ff7f7b5c7c70470cb16b4702921f0b4e2a7109277354bd3d8e11b63bd7ed70510cf57f", - "0x15464cac3378d46f113cd5b7a4d71c84579f5a43435b04a98d64da0cefe18505": "0x0000e8890423c78a0000000000000000", - "0x26aa394eea5630e07c48ae0c9558cef734abf5cb34d6244378cddbf18e849d96": "0x000000000000000000000000000000000000000000000000", - "0x26aa394eea5630e07c48ae0c9558cef74e7b9012096b41c4eb3aaf947f6ea429": "0x0000", - "0x26aa394eea5630e07c48ae0c9558cef75684a022a34dd8bfa2baaf44f172b710": "0x01", - "0x26aa394eea5630e07c48ae0c9558cef78a42f33323cb5ced3b44dd825fda9fcc": "0x4545454545454545454545454545454545454545454545454545454545454545", - "0x26aa394eea5630e07c48ae0c9558cef7a44704b568d21667356a5a050c118746bb1bdbcacd6ac9340000000000000000": "0x4545454545454545454545454545454545454545454545454545454545454545", - "0x26aa394eea5630e07c48ae0c9558cef7a7fd6c28836b9a28522dc924110cf439": "0x01", - "0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da9c2413896be8a9b02ece67645a0ec5cfcd8f775301891bc245f2cbf2d64cf1c0e64d16632c02268fd2199c84b09ff7f7b": "0x00000000000000000100000001000000000000000000a027128c1c2b0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da9d3f3d7c5541fa578426a188b0c6e2fa15c7c70470cb16b4702921f0b4e2a7109277354bd3d8e11b63bd7ed70510cf57f": "0x00000000000000000100000001000000000000000000a027128c1c2b0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da9f6569206ce68d70874f404ba1606d23214ab94d42fb790854e7c4813af55722e2007ce2070177bbe93d64cabe5f6ca6f": "0x00000000000000000000000001000000000000000000a027128c1c2b0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "0x26aa394eea5630e07c48ae0c9558cef7f9cce9c888469bb1a0dceaa129672ef8": "0x59a7104b494c54", - "0x3a63": "0x", - "0x3a636f6465": "0x52bc537646db8e0528b52ffd0058b41b038aa963be55200c434a1b7fbab93a0590267dc5a0291498e568e31af441949471654044500ffb8a73437be3a1b37800c21b50abd08083df994e575b7cfac787953ca6586e9bab691652e23cef7f50eb265b23229b4476776fda01ec0cad0a5b0a55abe052615ba940b53f7cd6fba089cf340a09d0fef01f5744ce66da7f085eb8bdf781ff8eff60ecbd8541db75fcf7377616c6de03e1f8ef1f4744c2d8fb982d8cbd1f82176ede41bdbd0f9a389456816a7ff8dcfba089cf340a09d0fef09d338267da7f83414fc37f5c119f69ff21380487e0107cdd83b1f72f08cc48583f0b64d0e118f7c1fb7eb0fffba7dd9701f67fffb4ebff60d07eeff9c1d8fbf732771ef741cd9ef4abf70961fff74ff389c3b7e44086ca670e1f31f8c8e103c7270b9f373e5af8f0e0f304bbc1470b4c0e9f1a6071c0dc80cd011b033605830366a7c7130c0ad818d81330316074c0dcf85481a981ad8195004606660606051303930216055606c6047301e604cc09860596060c071813b02b3029b0237ca6c092f0a101a6042c8ccf0c3e54605f60546053606f60706034c08c802d01430236032c0b0c0cac09560556430f1e604df4f00166430f2e3d72e8c1d4a3a987941e30f4c4d133470f1d3d6d7ac2f478e171a7e7859e273d23e87181071c3cecf444e9b1c2e30d1e73f09083071d3ca678acc1830e8f393cdce0a1068f387aa4f4c0f072e271078f3aaf1a7aa8f44c79ddf0eae2c5c56b8817095e42bc8278757901f1fae1c5e5b5e595c52bcd6b8917989712af245e48bc8e789d794df132f392e255e6558257142f322fa81714af275e4ebc9a7831f112f30af3b2e255c58b8ad79857112f225e6c5e5ebcd4bc7878f5f07a7a6979e9f0cae145e535e565e555e565838b8e6b0dd7152e33ae2a5c625c615c41b874705d69c9d19a6abdd1a2d3c2a275450b4dcb0a1e75b4a06839d11ad30ad332d3aaa225458b04ad215a5e5a3fb4beb48e686dc175701cd80e9ec2736039b01bf84e6b86d3c06560345c38e0283c068bc161f012f8081710980bfe827fc0537014bc057b61d561b5c1fa82d586c586e505ab0bd615ac26584bb0e8b0c4b0aa6045c122c302c33a8315865586c5a489c1922279903dacca701db15223bb582de1626315c3ca87d596550f2b2e2b1e5640ac7e58bdb0a2b2e9c0b9b9457070564d3d316c376c38603aac282b301b1bf369bba3674d8f9a1e260620806dca3231c1d8d2b89c7ac4d02aa2d544eb891615ab27b432586c6c625650249dd6995b65e582d442ae9164c8372f1ca89aeb065d138588416872e816b70ed58272a18d21e19071dc37ee1d54ce6c639bb8514835a417ad382e38361bec14db74839038482c328b4542e6b0d5b02223b5a8ee50c9518da1224355868a0e9519aa28d6189613aa336e139443d322dab172825b630545c5c824e8176e8e2b852d4185b2919169e419b20cb9052e02dfc1a243b353dd54303432ea0d328a6b478b73dbe0b27051b8295c1397032703e703d703c703a785db817be274e0aa70347052b81bb62db81a3826ce060e07ce0ae7c451d9b8d8d46c6b362db818b8193818b82b1c966dca46656b5a69593d695d3420b433ec1acb855563bbb05bd836968d1675bd6824584da185c16af016580b9c066781b1c0576034d80a5c05a6029fc1536033580a5c0697004781c960280c057e023b21e3b0e658895985d9ba6c336c5856504834564c684258316c18da0f3d555a6b7aaef4d460bfa8555a5c50396051f89042a75452361738353e6e7cd24427681af40d7533c59871b011148c9519ae89f9054d825bc2f5438f199cdac4906ce4183d90f0c1f27a61739a512e299307ebc3dd22afb83ea874b05c545ab8309b0caa1c6416d00de9747bb05b5c77e40d580dfb039e738de0c644345e3b4829b616ae548b4bec1293b0545c30b0ace0b6a8b2f430dd2eae296818cd0b1b84ab0b6c88cdca2a0aeece560546024965838a75bc9a301c08c71d02d68171f8e400f3628d70bd61a3688121d3d8aa68d991726418d00e77850b8b96867ab147c839b68a960f120c579afb038c0a1f1dec97fa44aa5935c1c921919058a8e4b05d601bf20bda0457c7b5a645c4e5e293e5c2c16b6e999e26d9c685841cc202e1ca42bae1e8542ad68bcf0eb6083b84144372e1638325812502db21cd706101abe352f3c2724970bb706d7181f091414651297c7070696185806f5c2156637cae5c227a28010343c269cdb96f7a24c19212a201070460956072b9ae9fabacd0603472828403452720312aa1a8e87a54b2c4a8a848a5c2b28a510fc7339e92230aa2196f09071e28fa00078a941c295172b4801eb18c24454c485852242989890294921825253151c000a29ce7c4e848e9a8099312945240f28a64bc254c8e949034494149911293242745472768244d52d03ce2185d14e339f980115291932223254c9218292972f201a31196303972e2c4880215c438cf034727e82646484d985cc04817c378464a48941c252151a1c82805a31424a0c4a8031d405281014438cf095212a31292bc794e94961835312a61c9d147374b8e48f811c178498e9c2c396aa2b48251d107924e380149511323254947290c414ac224690890f8c57392748444c948499191110917c4368f09094b8e8a3ed0c42805148a8e4ed04a4b8c4cf800920854e0239b67946409932545488a8e4ed0464996308180d29214982449a227885e3c138a902821518244c9e801add805088e92901c291d2d39e211b9784849982471a0c848298524462b18b9e29ad7848902b6e746491c40a2b42405128a949218353952b2e4a8a8c8c767bea966ee78d24f761fd46ca65d167de8fc61fee027789573ce4984010c2032279149643e11ac8df1461bb3b168a3fda93546b731b7b5c6623666ad8db6da588516c6fae3d6c6acad6e63b158b5b5d658dd6d75b7eeb6c6bc7a75775b6dad71c66a61f41865b530c2f7ec7bf7bde7d2c21a2ff4c981b5f7d60b6d745c63bcf042eb33d6e7d0d60d62ac5505ab6a8bd1aa6e8d36c6185532462aab437aef0657f74a0ca3b5ee4ee416de6aab7bb517b8fb0222aeb55e17f25addda58abb511c60a61adf7565861f5586bacf07ab56eddad75eb1e15506b8d165608a1d758a157782196176eabab52a962bcb5da0837afd1278c305eb76ee1bd6e1d5a68e3b3d14e3b217cf145186b75bfd542afee30c826e0c618ed7b73881e4a00070898d25a3bad8d1d20843839b8715e6b71ac355a6bad8dd15a6e5aebb65608b7ebb55e5b7bd4aa41fb02a15e876e3f801b0706889ae6b0d689a16fdbb641e85e6b74776badc71a1d00ee1ea416409b4073bf3656ddad508caed5eaf03dbfd5ef9510b320bc15c659eb8d705523b4b5c218a1165ff418fd02f718617495adae8a31c218ddeb7b198883a0aa69d1ab07175c906bad6e7375f70ea26feeb072b045cda1bb4f30011020d5aba669b956afd5d66add2757dd1d883b74a7397bcdd56da435c61f779fcb715cdd6c8cf1d55aed73cf5e6b0480bb6bb04e7cef7661bc57f33ae18d304268a37d40dc5621b56eb0418db1d619eb0531c678ebad314e182fdc600318a30771f7ba01108fa881a6d5ead01dde9c6b758f5bf558adb5134678a143b86dee7eefbd375e08e1b6d56d8310c218371ce386ad8d55558431c2a879adb5fef88f13c01d66100100000c0600000158fb532d6c01a087b5b1d61ab55c6bb5b118add56a8cd57ab4134c506b0512354d8b2fe76a6d8c35c66863b1eaeeb6d65c6b85ee1e63bdc0dd551354af5eb700681a003659ddbd56afee41dc618c16c4ea155ae01e63ce40668dd6bd5af7aefa683ef7de0b638dd1d6689f7dd65aaf5e6bad7e6b8db57afdeab04218638c10c2f8628cb5c608638db5aa2a9c3656ebb5be577de2f091233e13fc6d60d48484a2264c9490246192948404c80359c148c992a3a22547484a484202094c72054a8c9a182969c2a428c8032146474d940460c291d292149a64202428a530815109454a4b8e9a9c5094c4c99109402e68f9703e909220e1405212130150e063020a26f0f90144b584c9915212244e962069a254a4746482094c625a06f26389d109272001d241d0042b30f1801205411e08f91f0510b2419110232424491c28eac092a3129c2029e1554a4d902839b94088053ede06464a489a182d31ea40132700f079428c9c38316a7282094c9214353152814912a32645489c28496254b401529007424e4862e444889690440909078a4a7072b4e488041809474d8c542832c0061e78204489511113a5133ed0248905f46d60a4825152d10a484ca8a0c7dba0034c928a3ab0e4a8031d6092e4c34152d21112508f930b783c214a4c98f0284162d424f60123a422a5158c9660a0291975e082d7dbc0899293a3158c0420648523128c9a9c00a4c212a3d87a1b142d6172e4a489910a454d901825252932ea0092264c949c1429493a2a21499152520a4848305252a4b482d18f0a4b8ca2ebc10f3461628291095485254651005c14502e2dc9b82332bf47642e73d6928c72a91e59f2a525994c2e45d994b96c091e794b3228937069696949469796969664beb4348fbca5a5a525d9924c1e91f9924c26531d912df991e74764be24932dc964f1c85b72996c6969491e91f9d2125c8a47ded2123cf2ea9127d38e3c99cc1e5972991f79322a9b47de3bb2e44b4bf088cc653278e4c964f088ccdf1199cb3c1e7932994c268f3c991f91b9cc8f14914cf87bcf4d7082e405de59187bd21dce0b402e1b48444b67a42a38a6ddf06ba35aa1b4823b77ee68fcdbb27ee3d56fd87b2fd76f203d5bbf0ba0a7125583fbd82bef18902b6f20bdb12e402bef02a81ee76defb3565ade1f8128c4e50d06bbf9bdf9d2a8f2b6d6da7f4ffb0dd3f641e9f97eb4b75ab6dd7ebd5f1a1d9f523de9a45acae89294d538a528a5943efc39a7d349298d3316a34f3080f1a49b14ce30e894f3062ae646fff84660e7f94151ebfb80fe7ced7da0fdac7040790168887d1ccc8762ff851fa252e9b9a4eae8e360c2b904b5fcab6979523d2f95747a30599074565aeba4d3975c36a50c82494b54541c296ac0201a65cc4fd24eeaeb1e5f7246e6cbaf5d849c11389bcd664a7004996356821a3e0a71ba9321650e125e1330e7fc6835c59ac234a5f3ebdfd959186b43a5d93ff29e95a6ab306313dc6c4b6336939a1343137362b0128a1780dc35dcbe4df6e4d48b8256ce8b2263c34f0ecf0af7ca9bb21b8e8ad2d2c3b8fb9c93ce39a1f549e71274ca1d28a55d124c533a29a5b30e7d928b16a80e696c9cede94a3bb08f00fb3f6e026fc88b3f12c6d1f025c41866e398b1e10d8b9a18a91da5a68c1347cb9ac68b2620970e1259b4f08484fff3fa3ea0318e11a0a659be0ce85359edde8bd1871c916441ceac147d369bcd5488b2e9b1cac518c768fd63128f768f7ec7ea249e2a61f87d205fe8e7fc2804f4f57584c118108cc5b700f67fae6f7c0e5732cb97c1fc3df57c0f8196eff469c903b38347f26899a515a549843e0a09b873e78ea66edfdf3922fa11a62b7eafe6ad34357d99691b98527a554fa3791ed1f4e70fc53bb7c915794db384b1f9555269b374804cd7ac34a7963036b36bcde5ec5d8fd6562aeb640b631177f7d60dfeece084dd7eca11c9d96decf975283ccaa3fa02478e08fe9d8f7b80a45386e14fefcc14ef4c196f8a993110a33c36efcc3be34fb08e79474e29c39c73ce4ce79c93422ce694f30d7dcc33dda7ff84734e9fd01d4f6beb3b7dff59f3fc3bbf7244734e48b3844e3fa7dc1784e9bb1453943725df4b0ae509cf1022de94a60e2174f86eed5fdb6dabdd765b6af78716c6e84f48f3eb76d29bca7bd3f14dcdf1e6e8f97b5b8123a2d9673016df8299d271d3fb4d3d691dbea937e552cec6ceecd4c634359b829b47cba9a90d473b3c9ba659326161924c76c3712a4ed9591dbcf1f8d3971da5db5d767bd34e3de309c3f2e5dfb755eda57c0c9352cab74fe5cfa75f3b1f3660f9363f18a35fff5623f26727618cbefca7eb4b8ea8ca87b252ae08cd8fde80fdb7e588e04fcc03dbe4f6645856a4f7e625a02144cc593fc6f47c3d61f35f14daa2d005d2f5e9dfda5918a3836bfd21b875ff7ee6dfeebd9f1dd3f3310ca637d6de06d2f3042ddff13cf274d6ee695a6b4e02b2fa711348cbbc046516ca28f705611e99774ccb07027beebe79f4bcb3db725b2dff467fefc94fe2a9b77671abdd9dcf6194abf73280bf796407f38bf537d6fcf1c8798fc512616a9a6336b8431e9e33e244394531459d11b5c61957cf1ca7e20e712a4e45456959e320e1827422c8fcf9d7378ce586a592d4fe9223e2ef9967be77930736bbfddadd6107258cc1c711a1e07ac24c3b14de84c1b49f2f95a49e8f6175300f4cebe67c3bbfbe3f9d6fe9fca7e9538e88c649a7734566de32e784fde59c73621e18443f3e4c6625f9a066b31911a54fb30a524fa97f66f1040e7cc87a30480a2de1d96cd6c21022e0bf7f13097e7c7fd9cdfcfefaf0710386ffb4fc081f720e906928e17345e0c71cdd75b050d2290451d20906e9249da2e40d56d32cbba8dec82eb28b74924e166adef7ec3f9b97b62144b86739f3cfb7302869d373c281e7fc21483bfb6274d39405dbbdf7431f7245a4b69acabc57805c11abe50fc54a67f7749d33276d9a56ba6999259e3036353d3a7fb74400a2e945633e69df1cfb24998610212511f85b3269fab2dbba08d5ef65b057d0f21f1781177f7664a3e90f4116b268c9c293b4036f169eb4a479b3e0a4658cd2f46147b39cbfe52cc6a918a5628c8a318e961fd944a1fa32ef24c9c4067d8a357d2d6f0cd3f46ddeb0d7f467deaf231bbda5d38382436aae52f1273e45239d768ca3b7749a52324926fbb4e43219a90d552a4ab160254a41895251ca8dc806a76796b30d0d3993b32815a5aa5490ed5674fc6be3eae32a2f85308408f99123927983b1f823442db3e488b8df05d87e6ff0eeef9f177f54bf3b2dadf67b1382c59ff8dba7fe860d85a0a5b483e56fab370c8b42ef0d45210cc49f17f45e6c57a0e773795700d3f3b7bc61376ffc7e5479dbf8b3ad96b7d5fb41d9bcb1764e04a86b4e7a19c4dfc2c0fefbb1d1f169f75e4cfe93f9b1a0e5fb7e74b4841c11a5b5e6a410f4a44b42d0324bb772e1ccc2f20244ad79a9a659c18b862fbb5dd368f9d3052c7f28c22ea9a6d110ee9696ffde07b3a619a366a1e9ef960856cf5ce3bc0ce2cb27b0ffae71746ce27ad73872689a936a1a5bd36809595e2212565ab14c51b4d27c14ea9d3b77f4dc3cefa599f6975378bbd386333da72502f57b19cc7f9c04e090177ff68bd23343ef6067e39669fa6e6987e36f988ebf9f949e5f4214aa3ff3569a5d7d03cfdf566f33632b5afe86bd28bdbd8b8e1f3909c42135c3a9f8131fda81fd37b422bbfda4f4865646b030e64feda669deee322b593ddf392372369be9397f6615ac9630f6ac9656249455dce701969ab25e90fda074fc222bcc6633287aaf309bcd9e6820b47f1c104c3f44cb4bb02144ccbc4bd0f365b7615afede34be8f01aee50fc1a138bb24989e1f9f6f0f06c57f7fefe360de320d5f6f1e2dff41a1177fecef4d4bf9120ae1f8135fe69d04d3f26557e73c8e88cc16cf8ff36ddef66dace7d7bcb1861c11cd31188b2fdbc0fe4371764da4de311dff71440f06cd8ff263fc0b39a249df3923f5ce9d3b76689a9360b393fa7152e625302d61cc1f3e28fd2c5872198532cb93347a5b0de1430861180d2184ffe40b024f80ff30280683b684c1a0f8416090ebf88449c7dfa0501ce27a6300f506a2e3c797302848cc48402600b1d0e00735822cfa41b56047ef9886cf817e502d40e9c711e12188f106836010fdf71206d5d7ef6fed9ea69debfb3cc0f56bdc9c23a20e90d5bfce15a15ff3a64fff42ae08d6f41f27614cfee388e60f41fa8fbb8fb379cbb4fdda6d5b7f28d66e4b5dff7144f66fedf60274fdfb382def15b4f6b5db0f4ad7a7dd7e30b6c209251cc180aebf1f8ced08e8fa9b3220d2ee69ad4321deb973674ad3afdd0e41cbbfbed54ebe91aaabed50a89ae6edba6614fcce9d3b77f496e94995a29ef9c1d8e6d1fe40fa5920b32e5db8eff545751fcb0c7e502d78d116063da816bae8f71b14f221ef6130e841cda69ede40f4fb17e40ddd87c18341ef5ff734ec5c7be71a764f4b1804fffdf5eb8f736f8940c71a187b3a468e08e6f75a22d0e106c69ef68fdd8d1bec5c43ceff71320fc1c71159188bd73779e1e61c049e86ef6aeed310be439887a0ccdd01d7df3b1613186a16476fa9e15b7f6b5f147af06763edbfb196ee4a628431c6186384f0ad86f9c708f0e5439837fc0883ecd7f0ef0bc2f77980dffb3f8ee8bd7322ac309bcd5ad02f3f18db56c3bf707b30283e0cf20763f087a07712c6e0778037d6103e0c06f9f3c0207ff818063d187b4f3f4e762a54a09dc8ac8e6f75cc3f46882f3fbecc4aae3d7fccdbb57f1098915e3f0b64d1bd8bfbf40bb2b1867f2d0cda3e7cd880fdf7a6e1eff80fc636c0fef1df3fce883f52cc16c6b6d4de45cdc5d12a6cabeb9b77526fef83262ea55108b600dab2de3d6f206d5b6fb57f750fc6f6eb6dccf2fd5d9d0f1b30ce499b76c9bc8174fdd5ab3a1f36e097f7e62a7fa95d19096797ff0aff2a6f207db3eaf1abf29653532d23e177b9b283796525a85bdae38ce49e3d8cb676de3bbdbabbd75c7f0822d557fd100ce3512c840113068cbbbbb5bf3dcceb05068cb5f63d090b260c0cb26edfc1581bc66d1260c27894b6ee60e404d2b6036dc13808db1d8c6b30ff560c83e8f50dc320fb91c575aca7ddeaefa5f45e6a29a56e1f3bc64fb17df687a07344ecafde76acae3e66fd501c82ac8e7bfcf127c62caeaf7dad8feb03c1f66d183061c048d57c91e0cab44781a22f7013c58bf6d10f2aca157de336a7a49d280535cd3e07c6a66b9a3d0ac66676393036b5df2e47d7a75b6afa5bcb74fee44470ed2ed5bffbadc7f4a31007ff4121fc2ed73f1804f3deb42bef27c4bdeb57dd7b3fae9c1ffc71bd74b97e7bcef5f25fe7c306acca499b56b17ecbef5b9d0f1bf0cd4a51ab9ef532b7de392248f6a556652456deae5daffaf7bed5cadb9ba646d25ef5f5213782aaba5ecb48f6a78e9c91a9adcba56cffb87fdcfd21689ffeece8cfd733a6a7b576dad9d9f7b98447cf8c64e110faf5837a1247dfb93daed62251b76432142247545defae9fefcad73bfaf771aebc65daf5de51a7d49ffee488e8507475ad7f1c512b6f99fb7d30a8caa7e9940383e84fefde9d5c915b3721ee77d2b6a23f89e6bbd63dcdeab4bf1f85f0c7bf99d569cf7538feb080e026807ff59023d2f28331dc3df863376d599df68f1381eb9c23d2feda6ef368fbb4b3af7516c6e2663bd53f8e88eaed0fc18df7eba829118631ffadb3aa6e83317f0d88f6c7ff2c68fab3cb753eed862295194edc669bdb98ad497bd1d299b4b4ef7960107ed6fb15fddce9520d773cacce3eee785ed5f9d74e7bdac5874c5b6cd939652ca854bf31a936273a592ad5dc98ac50152b23c129c541b84f29c4acc774b2f286734eeec29f74ce9b91e08d1bcd55c6029dfe1b139d4e7ac7fb4b9a4215ede66f9b15bda3ca087d8f71dbad49c7bf1beaeb5630eb73bc9bd27a9d8e30ff52ef2edca490cf36987f70ef1f21531492565cbf41262de7d3bc8bcca74fe7d38dc941a05b13a5746bc21c91ed6946a27f9fb575dbf55cbd8b7e7cbdeb3922f3916ade9ee38c6c7af274b6d27fc5974fb566d72a4ffadbc611f9187d61f7a8e6baa7e1d4b49bf3e9e46efc8dc935a04f3922f5b58fddfca158dd6751485af1190c0641fddeb3c0a049046a569456a2907cf26c45cbdf5a9d8f2bd8677a43a75aed57af35266d70dbe656aab5aade55ae4ada9c497bad9b14d7c09336d5d3998e3b3a69f9f2290ad9a75ab5ff56aa9afbd56f67d22aee37d5fd3aa5b7d5dc6fe8a4e5e38ed54918e3f256aabafe2a6f67d2f42df792cbdb26c541f09b37292ad5538e48b5356d52a417fd2c90b5bc471b9f6d9e0d6407d16f63a0df036941db6b35c632375e89ddffe0791f3def1333fc1affc6bff5c6bf305270f396e95b23ac0f2bb81408d914fc4f0af286fafe107c4fe848083ac63c1fc20833d27deee3cf0e60101019bb8db58c85f91e81e67bdcf1496fcafd929eb54ea0199df4aedcfb04bfe315fb1bfe9c79c72b9afeb5da4fb759096a2d23c5e77ec2ac04b5c3d0ec5726ca0ef4cc9bcee7e6cd943b1285de8fb73e5ee5f3f81f0ca2e0e33bf7002e0b710de6d7dc6da92bc833ff801f85865c3c9ea7c7f714893f7fbe7346e2cffa400ec2f43977054f7fc72bda378e48fd99918c6c425c03efc1e335e377f17705f9551c91f848b582d738239b8ed5aa6ade1dfebca58e795760cbe87bbb4735ec9ebe31de6eea79bbf833725908906b105ff38e3e05ddf61374fe4331ce09a4db10f6f24766bd8fbcb17e9ffc51089687e28ffc568fbc613d79c358f9c51f1e99276f9c5ffc79659790fb71f5dbb68ec41f985bdd8b3f98d5bdf8a35a752ffed86abfc67abf5aee2fb709e90006cdef6087a0272ea3e74b18f41e1a3da7e67e2b6dcfbb034d9fcb48f3abde7ef376da818e5c919b85b806f127d433e61ff6fd69acffe2fd17b91f8a4247e28f7c2e6f18ece68deb8b23c441a84f67077a2bcd0eb4fffd2db9a73f3922f791b8ac7ac919d9f4fd231d68ee43882aa339f9d0682e6fa5b9df941007e1d6576521ae017d8f57e6ac73ce2a64fa6c09ca5415e682fcbb81e8b75fbfc72a2ab4bdea5ff08a1c7defdb541c9177aa7f51083fe779f55ab7b196b1b0f4fca3f643515bb9e68a79cb74745f69bf8a5a3d8caef8da0fc177c1cdf3926324e657de50af8480a28dee3123addebe67cf77b5058141ad7f306b157eadf0ab94def4b50ec9fe928635fe9541afefd9a3a816adfdfa2eba9560de2e47d38ff60a8ef163d43292bffde8150a6da9b5bd692defa48dda7ae10614851ef7f70136ff88abc7518805e143a8c1d75c8ede156e97a3c9d1f555aadf3822af871909befdfbaaf731e4a13d8f4a7bbda6bdd4328fccf3b21c51bda2efaa7b54c7eee9d5aa9b1aae3a7f186d553dede0d78ebeabab3fbbed6e100ec156b7e16bffa2d07cc9651c8566fefc600c67b9fa6d6dde30276dabeec1d8b52bb771fbe582c020f82f3ecc74a569da47bdca48f0eb6b796bf9094dfa8f7b40d5ba2de76fa5a8e16bef5c91e80f5ff3fcc37e7deaf2a567a93d5d3df75beaba7a5a7faef27db97ab9cada7359fed6bdf713b5f654fb5beb478ea8cad12a38b58e4208b50e42a96da5b67bef07fe835a72195d72994f9e312f40d19b66fd9817d0680ff4837ae18abe8f25057e502ec8d131fda05c18a3ef6345e107e5821d7db57b93060283384829a5f321b5b4939dd3f70929fc492d7d29b312d41e6d46f2df5ebefdebdbfcdf288f7e56bbb2d3fe3eefb47faca8b7cc55c6c292db2d022ddf2a697f77d25b09d60e69fb252dbb5d24eafbde6daf2edd4a7d9851887abbbe19a9fe6604bfff10bc4ad095a06e19c17943bd7d2b6fe84d1ab2f2b63ada6ebbdeea6f2fb911362861fe6181a2d0e3573dc05fe65dc45fbe7ce78cc0772607413efda1a87df8b0012b412db712dcdea4e96bdd76ad3dc71161bdcc48f2b7df58dd76ed54f558c2c717b25e15f3962c6d8cbeb57b54dbeee9ea5ebba96537f54b2353fb17b97af3ce995c03ed67279f76f36f479fbe729340a6fd6df39623d0f7bc5d4bd93deddceae3e328b4ca1f7fe273ff60d0f612fec097d7878f2b3869d348f2ed5723967bf95273f9477dfaf3b7fcf6e74edaf4f6f72d47c41f697bd557cec8a6fd81b68fbfd9bf2ec541f0bc9dc8b47dd5d37f30a8496bdd93ddd3b69b54d7ee69d9ed0f68f9f73984ab1d022da79652d72257d3ec525c83996fc46e5c16fc0b3ba20a289800c80f1f3eb01e3d3c785eae1666adb8edaa345be99411facbe0fde350f03b1a88f843d0dd637eef477bb7e43208e11b39fe3d7cb71663987eaf1ff75e0fc1288217637ccffbbd8cf1fdfcf8628c31c6f7f21df73d102074d7e005c1dfcfefeb2c8cf97b7fd9c298cbdc89c097f2c19732c3d87bef4d29a78491895cffbd20edf77c09f3967a4e39ffcda7ef09d9dfcf6adab998b0d57084aa91e0bf177ffc8722acdd5692eff7a623fc385f13a96556921116719f07b80121d0feb225421d75c0d8d3f24929a594f2e54b299fca8c84e9e48df5f3bce9eff977facf87f086c1f03718e4efe3d3ee05cddffe0fc6a48b094b247f0963312520230a1b3bd878c2628b21150e1550b680920a1a6178d4f04a234e1a6f6864c268a1d65a6bb55640b1a2c98a2b5664b1620b7d5f589951b018e20d259e88a28b943770e68073c7a221a55479a3c4155cea58c3cd0c3308a75b030e61daa011228e3674c200436a0987810281da61b6819a53b42bce982206206651e2f8228c2a615c7966b298d96266882b5498b18346162f32c821c51739d8d90188366c50a194522ac50cfe3c262b85152c85134c8aa78f3d795d017245cd0c0bf83295c31738709ea4c1a68e1b2cd8b0894d9452aac5c1a4299d4e4a54aab861451d18e894f102ca1050bec0a17024d31b3370d162a68a146bd61842bbd0340c2eb0d61e2e8652ea71aed47973c51b39b434959104175b44416d516746b1b1326ca04615356ec030cc8331843d2c9c308fcc9921783086611e8c63d0f224c709284468e932668c21740d993a50f8d002a25078893fcf5aa838bace57adbcc8cc4006cbc73ec8d34c051248ec20a58c156f0ca96ac8303d10a469b8a0f384184d4f5cf070079517b6b0438e771e6c25005f4c59b78499b6c79c2f585cc0a20519ce88a30b2da6e200a9aa566bad158c170a260c050345c19ca160d2c01f1a9b9aa6699a06c5d0164c57bbf1c69aa73a319041439a17d4c8c0e61911a5a254289d414bd41b349edce0c0c5109a85d41c6d5ef260299b834c092c7140d920e58b285ac0820d378028105980d8a2b95ec092859a35cad0b9228e2386d42b824823883a201b69c61873ce39a3788912260a54943351d24461134b339bcd5ca09452fac518f8f3caa059a30d7de146d362d44e0d1c9581520d34190175831d348029c1108a66d6c514235ed47b9ad96c36c51fd41d4cbad6285d6badb56218e6c1783e29414b12b332c658339363059433c84099017820b7834a1a9aa45a70c24283191f94c03f9bcd4680c41af8f334126e2c4e52638930eab83365072aaa90833fd6212b9cd5280c6083450f4e6fa4c46ca1820e1924d488aa8f7d907fcbc45384943b5ab89186cb9d3351de155bd2504ae338a5946a71f4837ad345531a474b4a29a570a4348563e9a4540d14f8f39aae685a4d968f9416a16974e1a5ca3245172b300cf3601c299d1f63aa4481e1b4851a3a66dee0029d90e282619807e3f76aa5d6219030220b326f94008d9b21550a2e188679305ed3c31317eea801c55317755851a68d377ae05040130e5394e9618d3a5f4a10471a1ffb20ff3d4f6af5a9f2405ec74b32335c99aa1dec504c7db0a1861a34a298a1a68a183b4368149a929103cd13bdcf79a9e30b942f4df8cb15d8e387128b549cd96c46e549e907c5461d527a3af1a10c1fc4b4d08411b321958c941b67b48892869c273878a8c229cc901a060f5273f0c329aa9a2500331091461c3fd8218587046c60483aa66401838d136d966803862904a831a6071e30ac51c574dd91c39711dc1165c71b07a834a431420469c081c41a6440b9228a10da78b243103fb0916207165ce44801a18d237c48ce54adb5d68a619807e3d5140ecca8c18757555a375d6bad550c9b2926ce141305938261980763fc50c2301fc8eb40416a0e1c70b862454c1c1fd84029a574a80c4de39a1e9b2e4a8ce1450b9c385818a00c366594c14612b5416526c4541a33c61460f5b10ff2afaab5561cc5562c1ffb20ff91075b2601a821020a991fbc386307a133a6b8826198073f6cd598628118548a38e3449d18e008823e4c512b908d3423880d68f0d1030859a8d0c1258a184458e181141a1e3682de384183992f64bea0d1011c7438d5b2451417c050430a150eb41c4283a6d161354a29a56398341da2462a43cc81a50e1ad2d0d1869020964e4a29a53489335a1269b424d8685a149fa8a8d188a34521a246196d7278e1872b4ab0c1185794f1c61a4454c1050d6fb8e081883240769698b5860bb200424c9c3b98c0cca14117233cba01720579f9b10ff24f29a5943e10e50287d6404d4ae14469faaa5a6bad4740c19f77c61e91061fc106f67504628ee8c14b9b2937dc188200669ad0b4d65a6b8d32bd542a2000a329072e5ae82023860caa14de638b353440823476c061c30532b2c0a08e1c64134e0fe3c1540d86611e8cdbfc1413c5836f1618867930ae020599304e2ed01db8840953022fa4a8a18bd300d810a2d65a555059bae85a1f88760134a5aaa8d00792740061bd4817c24438bbb0f1329bcd62886cf483e2c10a1b1597178290cddeb0a2868a2c30b4d922002e75381310b4329bcd64d074adb55615937e503438e95a99f416c3cf0c8e136478a032c6183f3f70f9e1cbeab58562e1a2c4982eda3851c34c875815778b12391c200d1a1de43cd99184990ba0608d035611a2f8e107273b594c3127006adce8a6873964c0f2851b23a80200749edec73ec84b29303851470c33e2a812459007aa53a479cd9f66b39994a9aab556551afda0acb0a36b4da3310cf3602c9dd610c1a4050c37ec6451c78234524d975a3a690c3e460cc103bc4d135cd10519388552ab0615aa2c69e680c9214bd49d3ab98b15188679308e1b93aef83d7ef1ceb895d96c06c33ba31f1931a4de1959834ccb152c6068c2a2c393353a28356dc60813372a72a27041e6090e4e5491e1d7e8e2030705cb0f73dc61031d289e70a2822f6476b843a6a14f7cb4f822a584000b1456d051051c6c40a1e089281ea89af917449a6937237694d0a20535a8c811c504417c519b9e1d1da2e47043184d6fbe00812aa30e339e40f942dde6b081bba04fae3cd952c58727ead49133a4fed015ca8c2abade5185d8409b26a448e385319cccf820c306159109067586cdadb5d6cac499f8f3f49c566379a194524af10b43dce8d0e6490b117372f079e262450503931bcea8e20d144ddc2006d6c417649a9003c4cccad394524a1f99229e661106ce8827237c80c3aa313c6004b33158c8518698307aaca123856198076389a6cdfb001624ab9539c64ca9a2cd94316deaf498c1058ea481071d1a6248438a0d70a478a499f3e463b4678e12578aac091cc660e2cb1c42c8a185070a9d2a0f24ed70d79357173a6c3982043fe99c73cee79973ce29450efc7973ec0c49a903ca500c4d158807c3d895b2a4660d325bb891e345172f2e67d4c130cc83b19dc105b5e50e2ef8a5163e5e4fe8d0a16b9424acbe2c3bab16a198e2cfd39a66f5a6378fa655e800d038c3840b4f5576b8a1a5e9e328283bd4a117402a2dce6c367b61c886f1404d29a5b40cfc7968ec1aec062607fe54bdc39c98ae15480f41d59462a5c87184952eb8a061028fe0298aa6699aa6f910a7ce1cc1441d4eb4b1c37ae2a2450c0f04a71b3e94723b00d1200f63d44a129c30b46489428c183bab3264d670fad807f997b5d64a29a5d43ed9420a87991a5cca88610647460d3ae0d0792059c71d3ae38c103e3801e1a5888d0e185aa555f2c0987c39050b2e607cb0428c2a628eb864e88a61980763aa378fae55e0804263c7073a8ad8010d1514973264e6d880f14730ee0bb231a5d4d24929ad4f9f070ac92134a629a594c298ac21035fa0d434c10102cb1a8d8cd41a335ba8034c5f96ac2e04349bcd9e0cd9305d250c8a5fdfc220edebf3fcfbc083781ab812a968e0cf5b037f9e1e92c20dfc797a630dd34350d5058131f95af73016e55151270c173a35f820c59b21d5ea5aa7f8a22ba5943e9ab7a594524abf76311893fb8904b12ff194211b88ae4376104dc21a2aa6d4c881f243992155d7c7669cd035ef24a08731f9950e7e7abf1d2281e00e4c6ef400f4838a02a5b792a6e3cf15306082b1aa2d064c302651a8ba2e692831609a4f6f373f761840710de4c30e83997c0c5e700d64d5a11235c61a47906f9f887c9b653a765bc6873fe353998e4a50cf2c4476b2e94ec5b5dbfbea1bbd71f3ee39478482dfd122b8b6f907039eb64fe4699b7dcc80addede24d3d576bb3e94ff7e08caf4ec94a29643f18c9432fb9394d9b34899dd49caec57a4cc6e45caec4d506e6f7a2feff72a20fbdcaffe41a1fbb67bf0e766ae5be5bde97b5f266dfa71b4bed42f236d0ffe7bfa901be1d1fb1e66a45a9f943ee37def6d15cfdac92a6bed966c7a662499b787b1f8639ac6c8a6a6264d366d07147f22cddb216744956fede6cf5ae7ac3f7f72447328d24ed3a4d4daf4aa3349f9de04832691f4ea2eb7d44051c8e68f3f72e6f702c78f71c3340b792852d9245ffe1c8a28c439255dd5b9f76daf979ce0f5b2af57eb811c849e6ffd8341adeff9f9421c849edbeac95ba67bbed5d956cbdad6db9f1c911d8a3ddd0413e42dd3afd60b71109e6ebd7344ad570bc80a895760906dd9d74b8875d91d82b6d1edc35c42ec2b7e84f5f0b9ac386717b9253ec12cae678e4e304681668e57540f7bffd9e3e76fd503f9f9c3078fdf303df36efdeb1f0ceaf98d81e4233fb28ffce2cfe5915ffc81bf61cfe769ffde1f993ef961deb097b5bc43d0d3daefb13d3fffed47bbe58dedf6aee7c91ba66d6fffd5f9b001b7b2d2d42f57d69edb309bb957466ae597d67a2def0e7a6425b855428438085b466afd6b8497f76425a86fdebeb5cdca83475e0a328488d53f8e68f543f042e788d4f7df3ad74f53d50b37da71bf11e19e0a1de1c950aedcca44db7b57ff48bc3b8896f087fe6679f0db2f8e08dcd38db5a25cb7e10aa4fd6f7e31edafca42665126975ce69aaf236c47271a79269681da66878231d736fb1818cb1e06c6e8f6f5ed7d4ba75bcf1bbfeb1f0c7afd7eafb2019973a804aa998a1331cc398948064600048004e316403030180e88c543aaaaf91c14001071924c564c340e46c2a11086811c83300cc0000cc2008000420030cc32aad600edb519ecd3a6ec5fb0965fdf72a3badc12ba33ce5412ee8c7a4364b43151f9faf319cf7e47bc82abf6e63659555fbccc196fc02d797517bc73719ed4f1a4473c805a0ecad0e56277eb3b31a4966be7b38cea7bcc247e009bf66ccd73d9ce122b02c5874da7f01fab279abe15bbba95cfaca732d8e347e196a4fba309dd26fb2add1305776ecbd20a298cedd296ff10ce32dea4e8598e1b45db4b4923f516b2b4ec0dcab9b0524c723877b9ead456fa59979b771312064f2ec32a6a192d77045c426f4a30d9d34c86cb3ca3d7280cb4bfe83705d7f429b7b98c6cd7da7111698e4ab700de61f370b24962aca585b5a3382f300b5652581e52223a20c0ef2cd598d92ca50bf7544bd00816e953824ef79db80a0b6d9f9edaed79be3b0729b4a06ba731bd8590a5945251be8f19f71dab8bc727d9624ecad5d856dd5892ddf587a45af585282947ca78496fd791e09510a897885eea7ca111924249add4e95b584a8f124ebbb5f8b7a06b457994e546ab5802a87983c45179f6924dcb3497b7ef1b1a5d5c03465c8a9eb4b119289a7e48354489d58ff35a60281c8ca88e8ec6b17a42cda5637fdfc4a1c0ed58409e0a976d51068c61cfa5eee71784cd7ec0f101392317534e99266ea6290ce3353de1fd110223c27c70da3f46a3717ff681cecc146ddcbce1726b31a8da49f3c724ab6cffe8686b93292a15e6e2a7ca5354db5c0f3e8b2f3282c581bd696f94e0d41021851699043552e849a261f7a9d82774f217b04cce5e58ee4b2439c92b19738d12e2c09461096656d47be4d793b5601a226ac1cdf27ca01718d25f8d98ac290981bf4f5b418e0942068f79044cff01288935427f0e0a9e3d7190b4c07789e43cd0860939bd766bd9540c019b049465eef641bb4cc517c968d49be97acdd5291fa98b3fc55eb37acd0bafede4b6de83f3ab14180ababadec9b831abf67d041e2e6b901ffbc0307f6f21106d76356d58b24b7ee0ab197a0efbb58aa5832c3496e0d7069968303b847f758595e11f06552168b1ed9ff0bfe2af1de8284b87a0b556e2cfb0e0fab718785e0e9ea4c8864d86944a091c8d9ad8d2d33ef742aabb075637dcfc4dd7d95ec14b00b95a5784ceed99af509a8351decd59b61e89508df1fe619a9364a2200a7f0ca1133ac02cfa08eba3bee08d1dc8934a8ee28b7d359348e8fc50336d17cf4f4c965be32dc5642134aa6f83e3d7760701b6be0258c4606097689c613b0f558d3eb587fde4814d7225cf7a144273e624b2e0f051d95b20bb150f409c0090ec8008e949299512c6ef2fec5638de62b028f29fe3834c5d29905d3b15b0c9ce025a9c96d383a4214294b58af9db2a791c49f1192e8281429026f99d5ad51edbac94cd464a95bc60ed09a209b98b3a0b9754eab8bceb9f2ba2465b51603965b5646420962a8e77c04d641be730f242d94bb21a9c66488bc63f5bdca1bdbaa008dd329e3e087c30b502325dea84f2252059835096c0f3da46629b0c84826f910bf503f440ad2f8f9f9c8dbcc94671c1c6625cd471db364ee0badce6fe209f2c2015523ee5d3c2d9781cb864d95980d0c4575e317312abf6b886f503a5c663f4b10eebd1a58270e30d22d688dbeac15c77028ede013a7704862c3453e8370a9a4f010308fce12067f6347d1757dd2a974b4193a0c9faf875080804e93baf49ae2b65070d6cf086efd4739cae9981363d120d75b85546d1227919bfac6281b9222748ae508ee1d7dfbe1418fe3c3ce7ce1b6b257e93d8115bb458aff0489d14e9397b8e00b4444f7c00d16069e6ccaa88c6979ed824375ac570d80303ea109c226fa04ee73aa465327720208757468a65a2ec174821bb98d4b25df3c0456196b1a46b4e2efc0688add5e28352602de378052b8c943d141c6180d25d0d5303183ba1427aad78bc3f7ff4ab9dd6ff3a975f5ca77889e86d0ba6e9c00f17c4631c1abee1a00630d82904003fad0f133e01f702a05cb1978594d4a6a261801628c084d70dce4edcba1fb407492b88b004050d115fee242b73cdc815e8ebf91222c92c6838f136b2e184b3226c0ac526960ca67a1f21fd0a215d6b0b544d01886d31581805aa95d8cdcbcf576121dc1eefcdbde0702005d77ea38d2a9ae3388019906121932c1e19957343974c3da25286353bcdac34d0b6815d11482f3d98affd801ff1364e1c2dd6278543a5dc9ed60b323be2a2a3360cb60f41f30689ae893dc3a7dcaeea135e2e9c53e2abee84685a29aa43ce7048b0d10c5ef76e56fbf0e483828f3eb2c270ba904c46729d21b82f9412fe16465f51e21dfb156f2d94c7106ebac263a17151300466878d8058c1155d820e4f569c7236786b393920867b49c6cfe5c59fb27a8fbf22ab9b8e27347cf7f50354238a36132d833731e6a77f4eb32a9f0c2b1584e525eb31f280cf4d362986ce79708b9cafb090235af7d4473b1dc9754c40ae2d34d1df73a2b991acb5a6303b7b643665a7b65a6396a43102bd04d272a4ac77d540d5dcf683b172a2ea45f163d2482c17938f4d4b365e5b3f3c5092a553633202040fa6dc213ea4b1a4f40b8420ab6d669d537b66dc62cccb7ad054a89006f74cec64fc3d3a04d50b2c83d5b4df56d6070e77073a0156f4eaba04c9a25566c9a88e37cce0f2722c627251ebc4cfdb42973edd862a9b99a939480aea6903cc1feebbdc7225f4250100a1451a526e2e3519ad40d47a79a31449c1dd6c85a0727b329e65928c570590edd8905f77e3c4f29fe01f4359b65615d6423a433c88964fa0b9493c7fb5d345385ae983db5ffb3b8366475c0f0f68f163cae9b08456529ac34b6f62d24a04f2b532a09fc136d05b4cb85726d6a6d8ee3e18d8c3e241890030666c359c923fa3ac2cfb224ec0cd3b38d86ee344eadc3a9fe787cd850772df2e8d4a8631f5819a68f3b164a2f0f01bd7e83d86b492ad7f21acf4c1d5ae238178765b7d237fdb9cc046111f345c9a4236e026ccbf3dedd936810596b88be486cde5f8d19e27369ad65577a8a80efa2c5131f08ffb7bd62c12863772d5f1dd7ec29a312b86c208ac90f7afae102ce372c44eaffbb7e36c63d4f1cc29cb01b4660aca7bcff3da75a73c88fda2fe6caca2642292ce4e12cd755a15108f25625ec5a4e8f534112f840ecc268a8d1265badcce5d91e2bad4acb57d0136ca3d21588a3825c13b64b2d494ddf9d3cc8f1de9a3fc1b2aecb4dcc6312af221bc24de993fcc3903c4017e056b1092918ccf867c056b89fa9c43aab6378d22d19cef92c9c64ec848423b27eaf9f7f58fef2d513c4d5335ac5c61f9715078835ba3f202675fd0ac52fb8a089d7acf95a04252e79969aabd579970853093801f429a514344530e1f8d0ef3c4d2550f31050eace9ed1a382602342d68ad153acb6006ea8b22a0bf65799d63fc9a81565743aae3bfa9809c27d9394ab2adc06f28760f419def7f3b1caf3b278ed69d20d8720723bfc6a8b3228794d9ed238df49f569e62026b18be5bae7bf659bbd7fd755c3eafeb63f910834a069c2806d455330d30cefd80f302b5526fa06a057d88b8ba3303447641742cbc6eb1936c563916207464758c613c2ad31fbfa39781113b75130dce134d626776c18841298f5d44f7b9110c52e0f54c957f52dd08eba57d8e0429e76ce065b9b13466847fd4d90de806132038831e3d5282cafc0ca199dac73cab38500fd253e9237aea6ac399c56d9e6abb8fb0da0066dbdc6a8dafa4c0ef5e20ec17b77883ffa543c14a89e2825bf2f7ef725f97055d25546a9d8e70d9ab423114d2327b8e41c872d1e7481d8da5bc4c8038fd2491e2d4ef2e09dc134944043d18b9718215841f9040a5d348559ce98e4bb95d8e681d9ab9eab0d4048876febd94d7838233d951be301e78d3a62beb23940f287b7de952e27712c8c1347b1cd48467dd6f9300d19a1566974c90059ecd4860b4e0a2f92a99ab5e34e5925025147752c4ae48142cad3738b0b4823e1273b8f103895a0cc1b5db70fbdda34761a4a0808754a6b3106b47f8e087792ee2e54faf5d51833ae055d66d57b8cac84e6aca9e9cdee8f522a07a386f44a3d80dc0711c13836280e9a43f416c7c698ec7521dc76f65e41e5bcef742897e997a683ff86c93ec736b19621c9dad45cb277366cb9c24148c722b83c7247bc9b5fe1fc3c54c7206c370c2966eb5ced9d209c6d32f384e27d39aa28d6296a6b685eb90e51a44b3d680036e1dc9ed9029b17a5f043f58609ea2866c2424f3d633c49a6ecd6613bc2c9457da0b4cc3084792248882cbac91c5ee8c4a0e0f355d186235b3c4dc46c783cdf8e9d8e7b5253b8f0a2d90efdbdb83c8ef195d2142ca9bb81c32510105d279456d3fbb9508a51488a09cd38ac8707760eb925718f7220fc6faef5171fc9e051979d3fc66be4eed692cac7b82898c6675409f74e0ddfe3d99cfa2e1cc51cafeb21525a6cf57bea66fc8b93070ccbb2882f6f90cc698ed9a96d17f0db8157623dd66251057eb0e732040ac512fb4195db4b4badb68fae6fada8f9dd62d681df1b6658d7e88ded6ca0d68521461db44120cc54547204c84955a9063456a674224103e90028befc935f3395e48c97bc42771307c629a875f4fc85124d802e8072d4e02e999e9c618226a913a88e639cbd61b6379f82342c0efb6a23d7b0a93a539f9f8bea57d408c0e6ac023318e8159700092ae757a488b6b7a3520c2f2cfffbeb157f931fd0fb98ff8a5932c468bef9775c7a970818dd38844c70b6b786a8c5547bf6cd982ed107a2d976e28c0cd58546f5eb30c24d1c90a980f2f70d872cdcd33a06390126458d7b1a97f2b3425aa6d0a63958846cd022a2d3d48a8f219dbe8ed173c505ad29f32d5d510aafc78a0f6451958c8a6a42442bdcc583f55c6e40154f589f7ec928aa042a41467f9d188bc54b2a66903745b56a67ea8b91641b1adfded7a89077268341da211be5dee4f1a87ffe5ea0196765d4803535172d1870f9fcb236ede6f5673757897648641d54009c50d6aa1234f2aec3b7c3de040f9ae7e87c7e96905c475bd7f7e64315898d430318cc504dcfb4b75090776b6a7fe2e3cd64960d44a161b1cba5ac27fe88612f2bf051350457412275745f35b09d0be1d9812509ed028d76a8091428b5d38a26fde70d7aafd647caa7738f1a68d7697d3aeb21dd45d98855e32964b4422b85f33068ad686df32a22fe0579676aa70602b569326673d9e0d05ed522ac681daceabd0607675b2c1de38418b37e2b1caec593780f76d0e9d0809fbcf843524f0aaa56191a042c031e66243bfeb19d18319c588525d9a67148e3b72c79a512bb6d553d68c7dae316e5efa31c8165032d187af399adec407a9e673b2b91bb1584e279853eecad1597c2ff576ff5c1502024216dc08b50d13ebab09b44a755edb8816cc0050580f8a4a02061453fa35eb30a892dabeb4dc41228f8636ac19403deea79a36954c9c91990627ff49da2a467174436c3679bd69d9d200cfee7ca884b3e9ad1995c54c9a00e2c7efee2d4a01536f365644bb8b931e8b89b85879d6531c4a9e60125d7924b3224a27316ddaf6bd048c7c6031d204229a4b16a38b8ab8dae0b547970883539a6df11db465a8c7e2dd3ad70b289531dbade28f2e8142cf252ed615c3077c40edbd8f75435bffacaf7e279774b73b0ab5052839d0ee2ec981f46e2054aaf4077d7071dc09d8a927e43bd1440c9cafab16444d09fae54fc68132c85f9860a9b72a2c0602b648e9a094e21ad4924987d199b785c96e665e3c20a69ccc157bddc21a9b73058191b45d8196c876bc06e3cf8633619a5cea23e033b3f686f112720ee1904e4d5a96254c2de2779e02d6293b788e375528270a67fda6e7430a667d2fed1e6d06ed720f4b7c8478b1e04dbc6703f90d545f513d94500bddfa01b1754a59b6a1f8fffe8bd5427f846949ec79b7a8491d9756d34de2b47a13fe514edceff091eb85d82fe15a959300ea04a3986b95c462722e1900b4d4e65a4782f3dc93a33949f52a4b463126cf73b1ab0bbe7b013cd8222436abe85e48efa1b2d21733ae2c77bcf3f0bfa8078b07ae336d333451cb9cb430cd66a41bcebef967d41eb5d16d24b52a624764ee0f2970d3bf848cd8971635c1f8e0dd39c5ed37ff11c1a940dcf8a8eaa84143452b770e5f0f2c99933e89dd24bbd1194084a9976f9dc14ab008dbede44c0fe9a24a90f9c65a371b9fcdc6e75676f7afc1f7fc36a2682b24e425d92ec2ba7012f1f6ab07abba8d180edc47f14341f85bf1f7953c0a6590f58f1b48308635cb79e026af3586004d2289014f8c1d780b9cee713c92ba7d08f7ea0c5f1089ea05668332f7aeb75d4cda8c9a525d92120e63ceaa1105c0546d1488b00c52512c411da479e42efb47bb15105dbb302027c25b1810496a863d7e37172f8b30b6b875323596251c378e42c539c1788d2d59505379ddc9da3ca9dc591b6a7113e356676b7729f872be5c48e29f1e22dbd1c144adc98a1da896af6745c72955ec50d702c19a8be002768d5455bad18eeee6603128544621185119d8393753a971c6b310c60bb4a3c60dcfca190416766a8795c95be7c7f9a1f8597d1d6856b610919141004e22dee3d3db221e3e2b1c12a6b0496ac3ff3f195fe786740821eaf23cb75593e4fb6ab135b9794564909f85c1d89d1aeb24da3320611ead239238b085df6baa72a37e95fa532f3a3241526311549389a8770749540051776d67aadcf9ab965dbd50cb99974f21734588bf95acaa2aa4c304cf107cb79f5df94992287cc2680ea0040c8ec30188dd0c586593b7520dbccaabf2fc5da5040031829bb0a3a1abf049cdf084d6a0ad728a5992aa56241c07cd96fd1e51e3e556e1b50331be1cae858557013d06b6f5c564e519dd85043443c4c4d4de49fd2946fd288ce74d4e6d153852e34cb1c30feadadb131c1539d068b50e0913e3e3b39e2925274a33c66e3053d58fce9bb30d8a9daf9ed9cff42cf74a01bd0a11759e7115f383d0f53db535fab37f2a43201f80864d607eab7ea944ec7cd985b2c43458a422c819a4436baedeaccba00f55435797aa07cbed61ddcff1029819f43dc9c8992870ce7c39938dbea1b52f28c3bc740269eafb760632a65b454f9ad1189006fa4b20d5d0b4988311ba26c0098655c8030c06ed29fe90130864d29b0d2a1e1c901a45a17fcd2f5888f281de4974444f36b75ebc91b00d916e94096caf4e5239349b82d920a2378b728cf3defe83317fb68b5943775410e01c3dd6c75c90a8d0901dcf20b95e2ddfe2029bb185eb6e30e86395b0f92278b613eb4fbde15c3e32e0b1cfa24402f09eccf0ef6ca63d0131e858da1cd1410cbb81771af2f3dc36f5b4e6fca08b4a8a9768964ba3d370a28912321b122b9b3b5a7d48d5dcca5a9442108d2db6b977881e9b13e9cbec1a35d0a81a6fb88ec60fc07903843980372286220489eb7a1d0fa4a12337f463e936d61a76a4933e3eeda80f61f4b84dab58b18c0562d626eb27538f69e811e4cfb436609ac6793c3adf19ed0236d7de89b5c045d153d4fe48248b001eb0f9141f12aaf49d3574aaa027c1408e35bed427ed655c98309f5f1124aad429cd213a025146e28652325c3e32a91590ece7ee57adad2104482ca5d9ac2bac4afabbc297204f38065e3d7002dc1eb34a820557dc56e7630a7e9d65b468a18c9ac62727688d7c1a51d760eb772ab026ad44b14ceee40f90fe65bb9f373cfb031f0c3ce18b7c07e2b6b36c55401f8dbca0207f0b081763a3ab5726a1705c71cd422be576cda9860bbe606e34fc805ec010a5f4432f40add91cb1646bba0ed3a40c190e2f4010af144a46938074dc53e2349f171a8423fa2e43567e381a33861716b322956d1789a34c777522ef50239dbaaa290acd12f8ad4041687906dab0d819c35ed3457246d843236c826322adb034d0f37116fbe0622045062c21ae905e3a75c0fe3afe2c9ea6433cbba7f034ed31f302528e0ca7411827b9335fc04712377a60476a9419db6509d214cfec08df2bafecb8d15ab29e8295d95daf5beaed199847d72d3ce47a9d2f6a8ae54a10db414ddbcb35b6deff4aa2a56c9231e2b6710f14d345698e5be163a00e445d08d2c8da8eb2a692bc166307c0003750c762df2234c9db377fcceaf831c00230cb6218b08547ccf5eff6d300352e327447b260a70239b4d60cc83a73e571142013a2e3c60667f7d285fd76f6f67f3a3bd0ec17751a2fd99dbe1296c4c0bae461b7833de178e2187e0edf7ec8e6ebbd8c089fd6c71121b5594a6416539a6a8a0e36b941da4730f24b1ca6c3914b552c8d0c489f91841c9469c1a779856709737486c17699a1e792ae0e96794ba605999372d3e19b5489caf33707cb7e62e7f9e539ddb38e8f6a6bcb672fb5b71cdf5118edf1453736b43b91424836494a73c6c6a40425dc1dae738edc89ef07c5d6e00eb98c20bfa42bc431fbe320860ca950090b5836608cc292527f6c3d399434ba322c79fc28bbff5821cd5b1caf607cbf1400000a28c779fa1de1be344ee468b5ec9815e3d7aa4ddf6529e02f91a6b01ae25bbf39e78b59f0b900df81b9a08e8e9397dc912f50d5a9fcfc2d565e63257d302fa14bd42f5c687f3e168973781bd1ea275a0b76d9435b18ba6b93f06529108358890cc2ef23ebf6a94be19019d6b54341681bc32efa3b076dc7b1ea9c45b3e65cd9229afb199b9f9415fb3a3b734256e640874b9a916cc05c0c9fc7f88a97db4e72862d1442e373900f603c724bedc53f46eeeab4b7d69d8532422bb67b0f44ebbc5ec85a95cfbf73a72a6a47c9df39b4f99a58ac311d9ae3bd8ce9ca9390fad63a1d4ada108ce9b868378088b66731331decc00f246379e905220a1e91dac6f9e7cfd2d990a7ac4495454ff685cc80a8181a9746e4219fbec113930c4aa9794cafb6938d4303d3b7603b6439e40eb79838e90d1d0f019c40cd0cc09bf1cca2eb975ec9d40d1ad66fbb09488fd416fc2d37294b4f4b8231d9afbdf82ac521793d49cbc43a9c2164a5b1457cce26b3c6dda491a7071d754099011534b5344baea50117c7336a9f845b5cb8d383bbcec5ae2b730fc05dc78d047bf525fa3fe481aee60eb75e975a26fad57f870784c2eb6e2c7a5dc07bce830455b1a767dbf1d5738abd480fba2c3ddc0b0aab276dae651b9fb63ba76d66686d6e45e9bcf646e8d2b6ea8be4c741bd5b291c9e7b56ee6c862faa9f17d6a0d633b3779dd7b6143d401b974d98b952521a684b83851a685179742150afd3d22028384c9a7c74ac81478f4c23bdce5a6a76e8431381178ad286dafffe831bb31b3e670f2d0ee2ce9b85fc50375c33e1ee185ca28c38ab5cd67bef4a7d975fa85f16cf1c039b97172a2bf09f9ecc70e0db0ea45da618c331b3c2f8c1981e21b328a511575cb80cc294325ffa509b06cefd66ff3bec0aa73860a0f468f4e6f9325d5ef02009e028163828f52700557dcae46fff7fa96ef8efcb0405ee0a159243532022de2a55797335af0ef90b87f262c17ee5fdf2e855243bb0b3e9556534cd83df0a292b7690d7a154652cb20f1f8443f9d7194a4c4d9b73186228f54cdedfd3ff685a2b9964934fd5b84132fe14842beec6f0d87eb46d10564a0841262a9f7f81fe7c79f789e79bfbd671c4252200119dbfd1674f33934501f0eae52f863ebe94ef2250bb825a217f57a08ea6aa55222cc9f4e24c4c3b8eadf3ac3bc197cf2c941f94053e1db482531a3fbca486579795f89b05933c91a05877833ca51e8cb2795da17141018de844f4cbecba02c7799d542e6514480ab90a014ad961d75e34a254232f85cb71a739597ceab526eb8d4b8507f8e9f50d4ff5b8a3832738eb300d0037be96c809b32fbf382b3ec74f398bf822a5f3b22fa8d68766f2f2159a675dc8e45dce8d72d4e523200c26ffabf94d69358a076b2b53162adf6db73428651b9e3449b819964fd55eb2424f2492ad7d7c531121310244d85679b6a53b6cf826a7ad373cf149cc645ef72f7997e8b21064e005459acb49afe034e5a2ed825152ccf405d3f8052f4e1f127dab145189afa2bb86fd84b283d8c9764d0ec080ff92076f0e3eb1aef858449b6b8d235a8ad40739bee115b411abecb04e7f9883969a90a3d02ad70a920d05f0404bf96d610578b3b52018520c58194748ae54f9283d45e475b98a825785765655c2f1ab8723373d1162a488ef625b0abbf0167bf6f0e9b4832a755275034c2ec44243849520e3105a205ee907735e3b7cffe19d7ae6c351b3da8d7ffb6800bd5e42b83c4de508c76b93d758f55693cc157e8e02aac013dd5ef6f984bcaa1fb73584b7b209cee48fe38a22078e97dccf63757ed59695772eeb0508448571be9a1fe80bdcad403867e57aafa8e435492203cc800f505228b756be4248ffd7e3854842e928433e4c692eca3a6146d21b16c2b75e1919020a6707e4e6c0c31f7f37f4c8bf44f9081f05a94826e6ba82966447aaef3aba2c43bab78579a57c3969ba2727f5043060ad39454f061bbe864fc9e16885c62a2a2e967baa2cf6721c568a2f829c3d7770727a7518c115847e81ce02cb21a8d16b68fdbdf58beb293179250fe10e22a7e4e04eb67f4a4ead60ab137da78ec477b31bc4c0ca8d6ec4f6e47a6f647e140196123cab5b946eebf5b3ee228fa6eb91d43149eba112ebbd638f919aad36e81d00a44e888a65407f390ea2242fed8a5215d93615e9b79c5cfd097d6e044c43facf83579128227209e62311d4a5ba7bdd7da5372fd80c7447ff1104dcffd8b2b9643574010ef610b117dd0a96189c13dc6a0c36e1fa7571cb3cb8ca7008f531cb0a1570f602aa26fc947a3021f7c443dace2e32d4c9e16ab72e555035f76c43043c1c44899808d2b3b39dd081efcd2b229399236ab17983fa6fd4def2c86c7333ee1e2b57f4d9a4532233ac087239d004966c97b82540990b6599f3084684ca75f02aa58e13090a56733cef7dbc5ab94d4906500eddee7a099238160f417741a21d1961f72f2dc745d4f307bad16d19f1e5381346a745878c905c432c52890115a3e36b618849d4b9de26aeb7c4b5ece995e818bb1d1abb286523d3dfc78da291217877c7c42ca1d5bcd5e2478cb4256ca5ff4fa4e4ae083d9582dfef2aea5a97d010836953884c671cc60da1f9ae52e1b0a7eff553121e5ab179810a755dc3ffff6b51359dfde29bc41aa75770cfef871004d468ee15e04c0ce333ed9fe6af79944cd917f60e7187298bb8e082d56241acfbf50989c4401b9d17743108c88e0b0fe668e3a22ea0751dc4a95c8e11e520505eee188bb6007bd712df506d501082788b8ccbd7b902b1e42307d2e42fc4f4470d737d893dc7386d897352439b6009b70fefc30111049196c31a63c3b03d38ad6ac5c9febe0ea5c88fb5e4b0cb22af90bb1938e0b0474555aae81cb46715a8fbc8a310948d0113af8e50a9f3c85309c4945300bf3ba5941a805839bb11a42516313ee23c30a3565ca4b1d7bd15c014530050b5a52e8f1a5756b69f2bc61db46a6b0d50a5adab1e2c21b3dd10dffaa955460a80b3191fc2d1b438d08e88a96e775428ae4ece46369b8512381fe215c2df708f0509fcab695031d0859d7f545be5259e19b7ceced03bee6fc9cefc19e6db3a6cbfee0494864526e3e5fada61c3ba309d95a489372f8f654031d0632b62b6150556dff81283c9e9fd5123b15407a91f60a87cbc27514d4b2402a19420a287fe4477f3df06cd1af0d34929c8fa26254400eea8e497358d4f4d641bcdf6b4c587e0dafad80cf4b533fdb59c17f7ac68cf73a7416459ed62a9cbccf33abb5436a7d2e4f03340c1f89722c1e16065829f8394e8b0ee4a38248e67b46e271a77c0e1efd9a429bf0ca8ec63251138827199ebe667a81ce32a5faa646df9c6ea7acd8b2d1d85dc0da562c50d282412164ec2631dfe4778ac1ae60409165ee1907cc180edc5dea57143a4ab1550a913a96e084b1bc11f582f111e2348c3800eb739dd545c77718f5ad246ca4e895167c55c6211ea6f942eb5851895c2f5574e8da15348a63b234df63d42b8a50969baf5d9e91dc09180f42b7d3b9607919bf865d7f1cf2e1f10e812f103f7982999880228368ba62d7736ac8acae07368084d87d27eece5e383cba484f09fe2e7dfbb594aff26895b63f709b95a564cd430f6ad8dace27aa77298e0bfac402cf4ea84c87f4a875377025c9b9242fae5c563f347a583aa0b0735543dccbc100e2cefe81dd60a352db4fe9e32a9675a0e3db1fe82c3669c3ae9a91db62822976705f82382985b5810c36882bac410b91f172304a60fb6b4d2de74c73e8a7981070aec7789f91d45de43a314d5dddc4dfaa32422ededeb43bd066c7125411a0e198fcd2db68be9007017ec7ef41e37bab54585edbdaba3849d353c390adc73c7dd26f50633853cdd3fb6541b604c5ff156fc599354b2333c9d380cdd9310d8ebbe2a23e9cfacbc6303819d614a1ed0f96ce0890ccae5b36bda87ba44755efeec01914bec14120c8d2d83270d31baf7cc17f4cdf239f8b5cbe29314c4ab81bd05c07257f593bba12f34eae494e9de27dd2ea231eb7cca6ebc71c072fcba9ce53492d3d419cc6323aabc0b2362ca8963e974456e86153f7bc326ce1b84dfbfccc829048188e05f629b472996372606314c49a993a0f62d09f268e142de10814a9a2412bd982070560ab3e960b4792aa3d9c26958d2500938ac382c3842a586d42436239e02eeacf368e73b184936eec3e512407c95d7542e19af59d59828e0d185a86106be57fc91723158af9ba497f9d56b8d1adf84a7518634672481bf11c011289566d52d38d2ac7fa9fd70564aa1a3261aab39944768ac332294139a0ba488565f0909b75767649933082310f21c272f11d748ece8609d30f2ea638a616095a5647a5acfa25bdcece3f25104da7f4d8acbb19e012ede34a440c08ac52e621a2288125a0b58a4fd0d658c86961660c5cb3906bba863a631f19f307e9d4125b717fa4dde5d8c7df0ea7e46cb31f86d8b60dd1f135803ba9febcfe3687f22b8fe78a7b17a81243e96cbd84f845ac6562b08800484ebe8478f0fabcb7f401376c0e91f44e49f8e9eb3afe0e47195601f1ee14617b0e7e53b7d1b6dd54f0d91a9ad132074497e27d40d031e88f6a1119d102b907dcbecd60d45eda14b4876748e34a090b05094021806c88e68280aa912013be71c62428a3de706922b61dcf1c7b310e852a6c30b49756f697830f5ee1ab26a8e7e7831eeba15e2dd1b39f77e3545764012608a01e97f3c8199c1174200b52ed283ab337d2c8ceb74ca09ee1cc5ba7588030cc3beac9ef15d676e2a6e06e954ea408b20172fda960455fbd2338b6a04cb0b103e18a92178f3ee1bc44bf1d638311d88909c3c73c10fe9f6e99e1f358432da63d8a113aba157b470131c0013c0c4b22c195b34df87056812b03f2ca6f1b3db2ce4aa947a381073bc818b3c9013ae7ae5779fee99e2df3a2547873d1a95d723463227fe5ae45a361033a939992112ad15209a11630412ab9ff4a9956f4648c4a026ac5a5741b988d1422af0402b65d3e836af88241a3c3c2df1cd8879da99cc0fdd00a612adf487a8161c63e3e9c50478875289c6786c244bb1a186121ba0b113cb0d754b9684ee83f00d1a5e7dedc06ad2f3640ea6c539e42b20863f8776adaf2c1996b0085e64440c06c1ede9b1957d42586d6e723406df3d48120ee306866805b18c8b4a81094cda3b28b4d87b951e717c6d3530d905942c661427c33260da546b032fa58c1f708f9721d863a373befdac3ae9f1c80cb2633eeea9a612f4a47e0c23575db2fbdad191bc943f6234445966cb2237ad972883f8e3ed338649ee0b115c5c8f3d7420fd04f73eaa9bc407a4c9fb93743d3223f7f406c3c2e111ffd5a0eac30824e08093373ef854f9d7cc94853ec3f575eb09439c5ad741ca76c958d3d1045c4b92355797da4b274d5d55fe122396110f9adc56bac3436a52096d3fa18c190751d6f7b38e31726e097eb2a7cf4c5b55e77c7a071ffae7dfe40a70af6fd497ecb8a2fc1dccfb097d06aef9bb0da0539da0f51b177e61631c9fff0eb8ad6e2fdfef61484db3c3eea044d721104e868eb5397855dcb15f9d9c696af492e5e4c7d2d8c666805dea6d43581a2bb67728b32158bd91b8668f033da18cee5e6769e3cf83be98a15f5a9043350a57f3ae82c81af2944b247247f323ded3eea6799e2917903367934f39c7942b26e5ad2ab0966f2062af6095b16298f143f10e2f3ba1161bd393dba845397e93484caa53c5b58b89d81474a8a5446fadf1ba6252944a5e2da1f7a8702f8dde3ecf1278ec7736c0184b83b3135e15170be4f468d922d0d91943889e13313751b4fc820f9b5db1def348825fd8485604c2aa10e47899c300485ed577af61c282595f2f4b23ca1ac4faae22e4b83cf9cd0dab15d0e4a9facd6e3e965b54cc504ba7a0f6423449825d3c4c636210ec34c9f512d7570a9eac5306909f65020ab90e6ff268cabd580b24f75fe62f4fbf8a1496c79f27340c1ca00a2e556c997c1a0582971d35ab61cf9f36e5cc0237b2849c58d4a45e3605628d85c66e0cec39e528e9b3901f8130b03c6d341e388e27d35c2617709fc438d6c2fe10119706132e3bc9e7998dc015bbac0407c3b495821368a23bc17a262235172f4ca61695181acdbfaf4a061289cf0bde22b4c352bb8a8f81e82675f49a333c894f2ffdb3dd7674242a32e726604309c300cedc10c8e18082de60b256f0df73c18de59866fc6580cd06547981036975477256162ae724b92c8cf375a984423be4eb8c1346ca869a547ca09b5ae281da933766d214f914751895f1e25521c27a81f08ba0540db05408842f31124ac6e4d0b01ddd7f675bd72f2dd399267c537545a7bbcb182f77f40bf5f023b8da72a4237ba1ca60e4eaafdd2123429fba18526b972b2bb26b5bcc4fa573aac08c1889cd8e3f04d23f723c73d8c8da6db095c5dc9a1fa0de710fa0347adf6c7cff31c99348838af351e61f5a87e2b0c4193864dfc0ce7ba67f0366272242dd1971cd65d82181040cd149198317224952173efdfa482229d191710031f2ed4bfc000bb2818f18af2a810f68ce355c9f162ebfae0459762670b0e2eae069b61f46c5b3d9563646aa84fcbffdd1c576158a7d64da2136f64f643cee013d59ad414aed9e6967a6a7703d0c7b67247a0365da42b7d09ab8aa07fdc661a4f80d468a7f91244a44b229c4a015d43bbff474d67d62a55c6ec6c7f665b0210d0fb518d80ec95bc7ef6fd879efaf8c47d5ddd1e7b066d4be63b6f578cbb5707fa707c9180f4ded8a3bfd71ee954afcc900f37e8f12f302d0af7c32c46a41a10947fcb0268e387f6e54881cde1261af0c3b8cf2b336227a58e295fce43cbb1306fd6f6c6cdd2028c2cd60dc2fb18cad827c687f8dd1a3bcb494911d6fd7e1e1baa7f02147fee2af60f653f7d1dbdfc0b3c40913fd531219d0f9dbe04e531215eebac8734a0f42f3927e01e8d6f70db72e388cc98b81d536d1cd1b1374ddcc3acd07fbfbd0d9649fbd0b03488e0eab2e457cfb5af18169c04dc878c7f170fa7148a766369f600c81908e226659be03af04c6761e232b46e8e6fb76312a12571069ee15cc41ea94144c99eb09c245ceaeee3b5bc6c75ab754d226c6e0d54a3b7604e8dc4dc54e2346e0b9739e7eea0c9eee971a955aaa09364331726e526bace35bc757637f9eae41c7f5b14badc172e7ee98c17dda41331bf906df2a2cc308ab3462b722114d414dba686e6f62422a133fdefd7ba8afb5dd19acb073ae3020e2981ae50da48642f023dcf7db8fe0e27d6d8642221e5bf64a2d7882c478e238f46a8441995bcea1b4bfc823d00683050dd8708321007ceb09838cc707058447ef268b7676b7715f6a9b0e2c974acd4ae75ec5e8f179c01be78fd0bd007315cc6110101d71eeb912a6509bf05bb5c4100e1b54351b4af6ea665e35f650eab147eece28ab9924285e86f75aa2dbf285f123e9de78cdb798e2441205381bfb3c3e2a0f756649c6be2938779a143e7ac093d23ecd9132210015560a861c56f78b1ae2aa6c2074cb35a15b47e4da436cb5acc03e942f65e9688c1ca946906425680265d10583dd9fdcc5d7eecc170c8c97f42384822b1ccdee146076404db567cebe6c9b505eea216e88dc812c34a44f4965db380c8ad1df8ab44b12e6eb35be34b667d70de2baeec441995a08d2947712c7303a48d910b676afb17680972029518d7496b83342f37f200a7febee4d4724c3a5dea455bdaea4f26fb559953e28e4fa47fdb2731e3b5d993665944361119f9e1b63736b1ec2ba73d2668aae55ae1390cd2c3bf427b06f738c8ce22929c02a030888127508c08fc7f5b009c8cc0082e95bb29d90c143623e82599d9c9fb883da9c90a444dcacd201eeb75676c91b1291c60d4c8ee66f55f83fe82af0fc845bbb5cb235d73959ff10f5dae37cf39f188fe78b1023b918179a483eaef05342a90524961eb78e0d2ef93326bffb8a2c747ce7615dcae885e4c2c672328a1e5e81b3bf90fc60fe3fa447230ec5de874b3cd806d15b75d8d7203c91e109604615f5820ad3f9c0832d834d6438e2b17e42aa9e10bcb2f29a92e93428c2ad996d6a47461669fd653e2baa2b93004c4fa942807650bba5ebca00f18bde8ede8e9c7d9025d8e518b4bfabb99c58e8b585e2b4f82da76111f0293154d159074bb184f923d82bb33613f45777bba2971de0a85dd2116f5c2e1665385ad58e0ccd7a45cf1a7010467a3544fa78823c50aca75d1e9e7910fb3cc8ca3a383053572838e0e292f96fb65617b4708b7637560c0f287e991fa0b5eb5ff84e63660761c50ba65d45af94a827b11215ec6c4197db993c13b03f387a27b13c858cab584c8829a0fddd4f8c7a2e58617e76fb577eed0c3dee0e002a6336c731ff3721db703b51b128dd3d5e5e9912f86ad966a91d9915382abaf807a0692ce2bf30b2e1c43f3be9e4eb8f1446f7ec125220a5077e76a77738118d07b699d9a436384e9b18d6faa8c4520b5e5d210e91a57bd4080d2fc8164243ad7dd1daa64d205b0fedca6217bf265a07d93e6282c11453763f5d887fab8a26a4b9d2ef7eb1895585fbd8b50fc002f73742e99d94eb498d1d1ce63397cd2863505f3acc19463bf895bb6b9fb1304da5e278a8ac6006412b50398c3fb8332bdc84de2937e4e44087aa179c8351951003938c592366da8c2a732e25e99036a981a4ff6f23a515b13723ec4527af408c3f0200810f8199bf53d54bb86bf42787fd548b992bf0b4a8077a97d7a4d4d4d3d8bf36e58fb5bfc6df777017ed80c31d01d2c5ddb7b5a982e8b86b58e0a4909fde9210b1c36c7957df591c6c1fb9c78e23f5ac50cc0bfd28b968a754593b957bfd2b1a1ce5ba417dc475f29f7618081ad78fe191bfbded1750ad83560d6637921ab7fd526a49bc1c321379f93e3cf0a8ae02f74ae1fd2b94287ab70b5f17ced556752ea9de90dc91549e0af2b55518b3fe723d00825aa0146a774f354413fd0f8b0e1594ed5da2d742cc5ec991a2907fc003b5db7518cadfcede6f49a56a4f77adb6e4e382f22b067478ef641cdd9b0b47ce2ed300efa816323f5eef8c6565f22aed14877093fcaa0194fc0b27f5c84a1cec03c34ccb37c4e1dc512d82ec9daf5f3888b71be92fd3c4e4c1d32b27358bec44593ffe2e45c595e675ee64d6c316142588370b0641b4dbe12e1da06699a79449385a55c7424e8ca9a5739e1b1b036754832e7400d9be2df1175b70ace93c3bfb39e185bb7b4fc6238d83b66d075d5d72ee83631d347c7eb2b9b57630f7f0535e160afc34acd18236d8d831549e0affb2a46a856dc70b130435a9f886686c625c9f9620ed2f931859da271fc0c9559b9f090821c9f813732dbb5af092547587e4b5b8669a71c0f80d2c15fdbb48ae702be8962737094e0001537646bf3a166810a2b2254af20e4a06c3e3f814d076e49966767aa1e0a85e4feba43a2fc4aa2b67e2925158f29c38edeba225b6b7d158874847ba51d84dd6019463b1be7fe774a1c5ad5ef375fac98abe240d58644f598b0018c10bffb80f611cc3599a2939d304a8f54290f61e72b86206545cd344ea148c644eb12c02394c988c0e5fd840e5315c6102e1b1dbf580a9de6812408150edd5a1432b57c33530106effa2c7afc2c0f4f4dd1aa0eeeb7d5732a4bfaa7c975d09a9a19df9ca996278d50b9c209a1c488ec7b366a89e18e473315da2943a09057a47d0d47b015664f86034a0171d788e18dfca6a068581f475a50add91003c2bcac26f60e129d9d848b31a4cbed1480b1e945279e395460e92e1af4b0b31fe9f981b813c91a14ee6c766c683128f65c0048fd3e091572f86b56855e498851f042c908abd21d44b4ab2a40bd2a3e7a2ffb624065792e5e5c6f164849c0b009164af051e15899236093174f0162416285229eee2d2dcf16fd310a1de67a8ab44b4beb8a30dbe330a30cbcef1eb2df55288f6901829b395e68ef3f7d507ff6250267eb3695b85829ea98db932598d01c32d6740d15432c2ff3672c29c364659ebfee43d027ae86d5e59405812a503daeda6ca4d75f9e638b3bc8283a9367db0a295d29655194e04d79b378cad8954f4b45e01e041f8607f0ee1e5ede0ddb0825b11e4a6b43105cb51b7aeb50de6ea7ffbb8c15122b4fd2f1bd97bef2da59432a594028b0683056905759164a1c4435a52075017491b6cd4243f205505d44de2832f784857f88f92caef4dda831a6691646149657f52f9812af7ae16b4f39fae533f7c53aafc9da7442f85062c4cd1dcd68e07f8b5e3a0cadfa37d5e413bd1a9f2f7160d0337ac399e69d0ee070b07790c57b123fe1c4c241d07f9e046ab1deb94c2c831c35499d3d0a9fcacb32efc108776ac53f9753686ad44debb46c4e667de33141df39e9f739ed667f488ff62ccb5ad391ec333fc6c6a98edad53550be8d7ae5357dd24375041ed3c28858627439adbcab2dad66b05b4a3371ee33e1d9744955fca7f2a93ea7ed7a9cadfc277fef38038a24e3d509c7ab09392b5a3957963e8ae6ccc763b2a6511f1900f1f50f736fafcd57befa9e86ddddc7ebc545173cc73865ff496f28b78340c3f9426d457df8b960a40a408430820b001832035523b0520d8a8ea7b1b3c860230708286922a8094a031f33e87865936ea7b0cb451df67a061607d8fb270757980e0a92a757980d0a91d7d19d44d5a074a584149e649400ebc20a3a6765c652ad330fceca4b2176338a9fc2e744ccff00c955ff41ce7c20b0cf3e3f38c06be0a18d577d546d05717491b6bd44e24f218ce47fcec58ed56238649dddb5cf5dc72537b1ecdbdc0d0cfdd4f9bd46ea8f1581ff9d6cdca998a12cab9c0bf5dbbdb6042e53dc11f18883bd4627b447d84c2ba3c3549d48e4641516abc6e4f7dcf4f4710285cf5bde8fd374c02ea7b2e8815ea7b175edecb340c0f98e509d2467d0f818689f5bd94ba3c41c8a8a1ba3c41502d6835c4a829839740e182ae1748f8a92975bd08e3499d3170ddefd1316f667b56c50830d47df0892ad730fefb9cd1f8ab8031e5cf1f2d49a0575d9e2092d4672ea84a15478280811354475d9e208270029d58e02694250d16c2a473682604253c959fd095ba3c3554d4ae826675796a6650f9b98659118b46a140bbe77f7ece8586e94495078835ea7befb5961ef1ab0081caba3c352fa85e97a7a654b785371f2fec0f8d1b314039c1811226426c8a3002193c52b80211930a7e60032c3471040d2c76a2c04495c11ad71372a084c4c54d107a8070de193e639c7c4661f3a678b992a47ab4497e6612202a52020a3c48c5288fc81a9b9c97ace57b8c9f17e31840353acf9324354984245122c990b5e264458ffce2f445cf17a82f7cbe4855373edae96c448c4f78e1934fcb3ff72dff41a494524ac731448cb3b92631aa7821a484a40a42a08e98896a58410770c7473b9f9452ae516523991146593171523179528d5123f2319cb0718a365032113d3d5ad4f4a129d1cf03714404bd54590449e6547bb485b5a09a34c78918638c514a29938831c6928f76422710e1393eda19638c3136038e3cf72dff969472e5091c358801cf105ad08414842898d104e88819618c314623a4ca884d55c518a31124bcd3e9086c84139c408525a39452f200419ea024249ac44694e4e6b92326142a4e54f45081a2c2075ad5124df8c10635b1802345c8c28a251c210d9c34d61043720154bd23e87710d88a1acf7dcbbf8c31c61857f031c6f884901ead12437a3c01453ff72dff386410293358c12d828e908ed81cb939528a9c941242082b28848e4ac618638c524a29a594524af904b8839f97524aeb94aa524a29d7d820062291482ce03d3d31c5063961869d214686b06142a4093f5250729343229190987b2ad5dc1c21a5cca2860a2f90c418e310aa3a84aa5ab10248a508413e4faae004194fa0818521a4114900638a2e5880061758106144144e64c10429d8bc9071468fb692d1645277b216195478ee5b3e8b30968b928f764a299164b1935ad24407c088420da220528414682ce1090f49902da4947247c9ce921d263b67ec34891cc4f9c0125204018484148ee89c31a4aaaaaaaafe05725180e8634829a509e5a39d4ebf859052d200d280e2b0d01b2026ef04c6921e1c5c6a1d128994c472a92e12209a70898cd8055017415e90bcb071b9e409f98112556001118ad0041127947085115e98d1a4084d7e526d9031139310638c156a488d318ed1f37e4322915cb03d75910c99a2a7f6e80a3e29a5946190601836308c1b1846e9a59452ca328a5419839421441942ae9815acaaaafa59555555554d00c51e4d04916c6e628f1794629c31c6d8c6e90929a584528b2a2d3074208e139c274bd42c21640925529090d10289203058430a15086106146240d1c46ff0c191218a301dd17383d40a8f9452ca24ce80493481493811d17f4fbc84b4d0d162478b93163d6f530233725c4045144d847051869015e8b8c20879848ab764946ea4891127469ed4887e05f4bb892a4081aa703e3f9de30f4638bb3d05b1ce0f7c5ab7a720d679fe5cebf614e4ad757b924b50fede9dbcbbd5e419049188d26eeef3c6ffde73addbeabec61dddadf3877fb9e32080eac3abba2975dfbe7c3bda7fcedd7bb8cd1713bf7b0fdfb78f765eae696f9bbb2ebec4c5b1abea763ae6775a35c02a6063a89bc6f57dd3e601c20567377c957ff5dcb4ad420dbcefd15a851ba8fefc1ec33b825f9da0faf344d98da19d9bdd472707eea0f2abc2835f9bbba77e674585c35fff8eab350dd39dea4e75a76246b35a6605ed98d4437358a3bc879e3f44d57f87e6e05faef5d084f2d01c7cdf7a680e7e8f6626f461ca7722eb3b1aa21b33698e83af6243bf6e9da194ad13b1c947f09d9934cc928ee119f8dce3318daa7eb3c804da710f0e2850ffae51157e0bf2bb4ef1cfbac06793c7708f8fe0575b3751b68e86b68e720ffcca087df07debd6a75367fc340cf6f01ba8619c344c50c3640fdf490d633dfc2bd3aac7b4eae36ab3394bdb1a2b5e52e1bb8635c7d58e7b2a9ccd59413b92cf49a908fe0e1ef366e0f72087405be0e6c3b3be98b8e10942aa2875795410a4aecab52ddd45aafed7fa3c4ad42373b32f75bfe3eafefa3bc947fe205820e72ed9d888f667836ad7a5fd118928e59b49aa3eb4e3202c5a588272aa76550e6452dd83bae953fd3b2e59361e334d0bb441f23b26b18d3cf554393edd06ede4a93eb12efeac5532d8173c675d94d06e5639d57f9adcbb6962b975a2e7addb1fae76d354fd3b6905af1d6463b01d05b10cbc2ff0fbf31596b3b030f075889ca588ea9dd7ad1b9ba7768c45cf5c24584571ed02283fd726d50b65364cf7ef3b2c501fdc8f993b7ed776dcf0f8617d75b31b9844daec863d55e6fa34ae5618b4ffba7a40fbbbfda9fc9916b4bf6ba9fc212f6a2ad03320f0113769a649b55d06b1b26065c1f87e070eee971251935605e7945080b0e4409ec72597730dfe237000d31a3ab3813ba3f1edb93fccaba0976b538a5d179f10425805eda69472ce397f668af8cf8cc6ddddb5e7cd8f5fd8873062590d6837fd67c374d765522b6b4beafad47d1b9a5b777725ee9387d7b38bcac4a0dd0c53367ba80352dfba6c94d8c4bc08ad5c0a9d0ba3c26f403b162f423b6cca885261efe5f397198d6f0edf73e8eeeeee1ee3acaabfaa58c58e05fe849b4b9fb3b2b06e836e73bead377b555916e6daf552f7afc5b0ccb58ed6d0187cde0cd7c5b2321bb862cded5f173653c4ffca687cbbfa5debbfb635f7e85a87d5e85adca036026f0cc3de63d9f68368a6883f96d1f8066f407bebb02c0b8550502846237cde299c32431d90fa2e18e5acbcf95a2cf482830ad7b6747eaacd20f018f9fb529b8f908185f00bfd6bfdfaaf0fdd2011a96e6fefefe031d347fd36700d5d47c059f80b36d66d50cf6880bf0387cdc76b6e9babedd330d737095e25c1e38c86ac5e1b9fa630fbe7a45424eaefbe76b37ba9fd2c8465e02d78d7a5ebdaf116b5757cd4bf533ae5f4986a374aa73693dab192dadfb50ff734d76f69dc4573fdaef1695dfa790b968191ec0bfd9d645dfa3be6020381c7f8cc7e8848f59c598067aa2d053fccccad4d3eea0f0151fe8e4f2510551e44d57b66b31a5e1dc166a1fab6ebb2f9c38b09ea2707023d32b948d0a46e51d5fa6bb5add60fa6bff517636150ce637ca8dedffa97f1189eb18ae850bdbf0ff2e7772f75dbb1ef0fad6dc76e3b28107fbe057aaaf5d7d476c6b59db91cb37640bbe959057846fe6a5d2ff6660fedd8e781eb0eec75905f7df65ca7b663df8722d7fb50bd7c1f8a649b0eefe7fbb063b71dd8a643f572dbb1f4da7498ffde87b7edd8ed9bb37e7dd4cd3a333f5e81eeb85efeceecb8b61d14a85ebe05aa979b0f4574f09fefc3fbea2d305fbedc7cf09fbf33fbdd57ab1291dfa3a7c7c8b7deb27e5baccdc7a2ea0e00c8639702889cdacdcacd9b989e096a69e6c0b57d05da71ce1695bf8baa055b34d7279ab7cd9d08506ceed4fe2b9b38b00bcb79cd02850cd78e1b5edd5d9745797533f6eb924112168af2bfcab14b0694217c4fca24e26c988e9d9977637f779f5e611b035b310802124390780f06e1c18e89f7e090073b269040a263a263e2fdbbb9d64dbe53f29bbaafed8351ce37a737cf19e58cd8cecabab08761de8c6115b6d68565a1170a79732884651b0242d13a27d57daa759daafb292a4f45c59b55547ceafe4e4f9b3aa7497d03f4d3e3b3c33a7cc3394c0af2e73fdbb3757baadcedfe1e8c2f466f8e91dbfd3d08a37c527ab3940fc628e59c95f52ccb9b2d4bceaab2acebc2b29765de9c65d6856159160aa1d047a93753ca218c515030a614e3149595b7b2e2cd2b2b2ad8b2acd6d1c58103db1ca2271279b3489482b1a682f1cab5c292d5c095b51b590dd70d8c351c590d5c37c7cb91c39b73e4a842f3c60c2140c9a5d33018e60f6217908f0c4a91aa0dd08fa3e48f6fc378894acc5175df7deabe25b51e3d32324fca86a9eafe73117d119703a541d61cd6450874c2f0f252331bb8c2aa13c127fba3b63e22427de404d5a1b97e1adf5c7819c75596b4b06d1825755f4e952f47fec89b9f0b83d8bc306c1ba6615e0e3ea2c90102f465751b861b26bbac0adb4ba7ee009e5f455cdbd2a9a46afff5aaeff3c6001f5647edd44e9a2e4de6f87bef55c0d2bc3e8dc8f5ae39c65ac718e3c3586329a5646d5d9b5a4d117e217e66fea5cd39a7f5446c7ec6fa1ecddb456a8e99dddfbbf6e395de4226e083fef0aae951bfffd4abaaaaaaafebba60866559160494a889825d99dc2e524a28932bd8caca4a46f33e25e31b984b416f6434fed79cb147ef3ef3c32020dcdd8524f9dba3ddfd951cc2677e18046a3f5e49969a5329635dfa21132a655495ec57296363d8294b7393251f3591f9aebd0809a8d08f1cd2a3e64c6eb294039bdaceb0162bd4785df82f1d981ba1ef7560ac59f56944acd7a99d6beee3a3feab93a52a5fbe4a46237f48c0b5bb48d70ecc4bb4f27691d66509a0fabe0ba13cc6fa53ed664551a09ab1b68be4a3fe1e2d42828a4e4f7d6f37860b63adc27660accd8b07c69aac529b524a19bd8a50f4a150282487c81c59ca321a47c992a3dc518eba52b094941477ea9e923d16161696951c3972e4c0d102d6c2fc16267f0b35cdb594cf9a480934bed47e78d065d35c5f3a321a595a977ed10fed423fb5bfbb48b53f14d4309d2cd5fe6912026a18f9fd21270dd3fd7836fdb2b431ac5f5b55d694f1ca54527507f043c747009fab67681e30baf4517ff71db7df4f3da6878ffa9bb7e71068ae5f6a71ebd180fe865acb7290ab1003bf1c6cc9c0bb48f47539e0db5bd415577f8cdb0f2ccf1b2ff3f232cff7be3e7dfa7477ff7db2aaaaddc9ccccdb7cf9abf130ebecd1733e6c3d26fe626f9fd4adb12c2d053d6209d0b72968ae7f6add4373fd3950acb9fe8e85f4e0a3aee9ce82815e64e2efa135e83e7fee3c7baed930cc323eda538d917b913f37e6bddc3affeee7fe34de80f40f0da4dd93c0bf1d33333f6414547e73e1ec36f2deb3d635a932fc86ddf0fbd7479328bffbefacfdce4f2e186a656e6b698e3bff27ddfdabafdc44161b741f6b4ebefcf521fba3432366f363c8bc75719bfcd069ed0ba5ff3933bfe508b5badd832fa3815d557d1b82af1dbaddd56329badfbdbabbbb5eb9459dfdab6afdd77f727559d5ee647f5f6d93ebb2b38bea6c18f667cc7fd6ad108d6b360cffdc987ede3af9fe97a455a2541ff2e3f4117f6beffd69bb1fb7275a97595f7ff736df7617fec0ce4970771e2c57370396a2fedd9bdf59f3c70cd57acb9ad677efe77b0f5f7316ccfbcefaf997a5cd67bd5b0fdfdadc8a96656d5db54d7f1965ea3efce5197f0a7570cd6a6add9e8258877f3aa77dfcc61f8c72ca19c43afcd339edf36094519e825887032c4374c8eecc674c2d3e86bd1612edf6d4836e4f7e2c6463688ff61f137ffeab61c742eaca3d2dcc70b0f65f5683fcf89e9908e6d19b8cc7cce64dd442659c7bc37ab4dc7bad8916f5ca40795bb9127577ca29e777335439b78ea5f6773054b975d54efee5df7d57a2617ca7469b6bdf68733b0310b45b54b7a71c9c7b57dbef60a8efbded0206fef7ab00d728d069487da97baa6952798478520f50972788356aa72ac3c72026a4858e9954fe39b78e5195b7fe98e160d5b76130ab217eff7bcce6f563421ae67d4b6dbbe94ad486f9d5180a15f0f3cef0f38eef547e36f1140da3d330749b6d3a66b7ee66af535960c1451451c413aeabdba021a3430c31040eae706d5f9711eeee672996e76308618c91a55c67666666e6f79f1fcf86e59cf3a245b81e33bf97a8bbbff720843446e78d99b745eedb0f1ec4ccfc50aca05ea2dd9c56b795ba5607163810628476b3b215b49bdd12d59d10d47b9b3bf40303f1661df0b3e1eeb9bbb7bbbffff8f7e69c4da0bdd9dddd87b8a4a05ea20da459060cd40459ecea1f98a8b1cd7c6b2d1383f60facb2d4ad6fc34245dabdb1cae3fb8b940fd04fcf8ecfce9c403f3d3b3e3bdcf48532b7fb7b10c639e79ca6cb9b50a95197074a9842152d4cc19a8b75797086106b73e598410e23947fb1eda9bdb933c433c0c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1010ddc9983604e3da9fd1ef4ce689bda0fbba63f9ed15ccf10a7dcd9d445ed87a78eaee4e9f014d5ab2a6fae66884d312ed0649b8a877e4b89ae3c34d733b4836575324b6a3f86ea6c86101394ac06ae3334d73324834282573b45d42a2bfdf6c6bb714366814cec4468d7a51cfe261612c0cf4ef54f03759093dcc66432994c26d30e2f40dccfa7443e32ebd445fedc8b973cc74daee33b7e92113e97919191919191d9d57161548545e64c13d511edfc89eb7969d48fc96432994ca61d647cd42f2323232323d3a9fe010a7292db44f89a656464646464645254708822ff000535a96f4aa552a9542a994c2693c964da0108a84dadd33b7dea9e46c16732994c2613efb0400bb4400bb4400b842307a6630744eda04ea81e140ac53e9ce294c96432994c40414d6a9bbee9d2f3cd6432994c26530b3b0080bd9952a9542a954a9cf2517f2a95e21d3e710fa3d88753dea552a9542a31a738c5294e718a539caafd0b8000603ef302c4fd7c0ad5d3a849a948f4cf712f9dcc24511bd1cd97b89cfd6514157d694eb7299560e995bc2400cc89d09e69d4722f2b53f777f7b751a1ad9bd9d64d6ceba8b575a26aeb4473ebbefbb875dcd6bdd4f99886addf502a12fd739cdb4c8f711b1ff5d35055b75917256cb0f5989dd9bf6695f105b4b8b6e5f2986aa6f39eea2387c25144306983ea4ca5524bae6bb17577f757f17c7ec54062fba6bbc84731f0ba2c47f8e07befbd07bb7fbbbbbb4f629bedd2ecefe6f8356557d3dddd2d6cb3dd3a14fc5866acf6e39568f657449bdbf7defdbd09caef3d7777afac907f4683b52842c8b12e384b70966609cb4a19bc4af02a5da510ca4412821084c0597276b7bdb2f8e28cd763605d7096e02ccd129695327895e055ba4a219499a4776499c09a1baf0bec2a8492a2e20fe6e0e641f751a294520853fcc19b07dd472945850bcaef2f5051515159595959598190c51f1441e941f7c1c2c2c292d1bc5d086ff88322283de83e4a377c450c185019965fe8668fcaf2687f3966eef0687f6ac1310fc556edfa98ac0b0f0d0d4d1ad7b674584eedbf76177b504e6b63b0faa151fd1feaaa6f9b3bebd2ef4ee0e017f658c5c30e4029e821886b3226616ffe004173fd3fac430e19c0808f0738b0a9fa7e06d110aa73a7b9d8c58e600f5676c3acb0aa2e14cc4b5409db3cd443a1aee0877a4b9e4feddf878a40738db2a1b9de9e9494941495b753e70e04acacc7a5e21c23bf9bdadca24773c70a2a43e4c547fd4dbcacacacacb074cbbf0b1cc7c2c2c272835968734cf01089ea8df83722fc1b190d4c818d07913c0807b6be43f300fa760696cba8742c998a621632532302000040001317000028140c8944a3691a8659ec0314800d6488445a4e389247c4b1380ac53006621806610080010000c8006094441221a500e128ffe4c345e6a0d8d0e98d358cad54cb82c44892b151ac75d2783c3bcaff2ade3877a4fce0d53a3a0c5781ba1779b7374b2b8df209d5cf0ce2acf3d7746e55538fe8b42246f644713b603ee2e52453f2876295647578a7426a301b3556c81e9fd373cfa1c7521f360c613295d7f9545cf42f0c139140be5405551d99ba52486828084004cd815cddc5561dfbe0f08a6834c0288b12d282af84601176fe5d60aef25fd7a7e00b1a31d220574920da9fc5a1031951413a7f6dcb71aeb25ddac0d61772fccd7635a94990779e39349fcf0fd67fe533ecac6199e5c52e533a417cb9c185b122930645e74178a2b1351b3ff9a8cae1620a31d54067c4ec5bc80eb0c888f3ffc99f2acd19ae8f214ca7cca79f0f54fb3e551d0f710c104455584cfdd4d3f3ee971eab511cb18ae2610c17a3acda4dbd77a371d20b460dd10825b87412c7d593d8405cea5432eacf46bcb40a19a4edc44b35e48d150d7e40127bf10d13422d6b08a965160f3c43c504b37af3d9db87de847d847ff587bc0618bd03f6e11cb68992e70450de65917ed901e28a7503c611ced81d8878c26bd0311cd373a8091280c27a9d2776173f8337cc66127b86f031e40339f11c3c86f95acb53c3c5b1547157bba4bf91aad508b21bbb458d2865c09b51edd71e42f022aa5ccf3afaa8d7b6de90b06b8a0a2031a19e609725287841e28246eee5d1e1d258896c7b906a95f0342f46f531d4330f8e2cdb4109e828fd91452d9468d042247118a446cc8da741785973978e772339f718ead51ef0d27d8105a8810b03649875154894232bfe24e75abc8abbb287f70613035c36745a3292977d60831d25c6b4d743dc424b683102bafbeebc5c5209678de15b5cd025b6c0d79a994249190190c3a3a80038e2feef131a8ea5a1f4e708778629d7da743136da1b5439a6861e94bbd6b276163356a297e73f9105fdf2fecfd5baacc89f31a48eb00112bbb8995875885e0c32b8af034dbf02a83d35ffc643478e89fcfbc8e512132fe0550e944a5cec6f9818dc562d137a98f077d4b393c9291a4372fa454de6af4ad857a0026f656a04d10ef3bdd9c926ccf9badeb87ac59ddb41c22e807cc16b5d726ce4965677293115a55a00dd3a7fdfccb257cf55ff9559ecb4deeecc83d643e192ebbf160b421b3613409bde1c7095c13f9ec5061f6961d303abaf054e7af6bff4f02d7bd4e8b75dffba87b07bee9daf2ba2e9f0a0619cdecc2956f15ae1f1e98d3a507182874af3d8670ce221212d7b8937eb2acd8f650f80aad2621506ede20d236f5f91158eb684d3ce05121a492e187e2331f0b398fe0bbb87e43eed26b0ac58b34f9247c63ceb416a5b26f98b7abc2a7f99c2e22bf45ba1068f9350807c3076ad7a8cf434adcc06e0447e0fb117fd7ca7e316244b70677b8c62a08750a2d430f6b27ff9229ce2b4636a1ac650beb31e9723d2486162482eae91b82a2514191c41e0b86feb94f0bcd26dcd0b1170e8922950a374a1dcc7e8328172c70798d7f785b579021f78bb69494320516937b99200e789bf4a7fd527ac35470a8fa05aee61ad972b02dbd5c95bc7f72169c57e7dba727ff3755ab4a9437b70a0167c57b3fae9a32a4eb0767c05904ea5f751ca6696350bd73c2a0acd4ac872c03289924be06df2b212ca78268dc7e84682611c46b93d75e7d1e1263a827a5c603b0971c1a7171f5ef2e305484a6c49866f8bc7b01dd176aec53f4dfbad72ab7b82c610440a8e47c4ae54e5a28d089685123f905d117261bdc1c9c6242647279bec04c9fb1daab865f7e9e46a9cb81155704de4909b1b59d8dc9b4c8ab0d8025e61d64f447e6bfb4a4fb6a39e7b6c963e1d9c72aec7505f6b579456769d95d05084c77724f090a470bb2799623447fc1457c2311a56e9c4c52c87f476031d3df7d92bdde9667586fbd7b5f98b578977d2f0dce277009d9907cea5bf72a7d268a8a450a3899b27cbea1a2de3977f894a61a3512e5c532bbfecdb684e79502abe516f348e0a474399eb539be698a3fd52d7f2351dede3a8a77febad8a6a141eadc423f268c47609d5a39d0010c977691ddd75ad15838fb662b74692d1472ba553bd620151717bc6afa3201c9d94995320251669aa636326492ac63f5a3b1eae01bc6cd967e2a617e4c61b308034daef30b9b2dfed933c4cf44808a4393114a445b83fda1093ac72c2202d8b0884345a2314d21cb765481b40e1e902e21facf5b2d3b54216f90d3397800b0270c9c0587f80018004fd1d04120576384622b3a0e4d0b9158e937f37577268b0e4b857631bfbca5ce5fdd592087d7ba53f9d450b6a4399402fa88476c61942629d35426e4eb9278a2dd507ee0419ba2282b52ef76039889b50f518bb083edd584271919539d42374e97c09e3c4628fa0cfc845f809c562fd4644ebc8681319af51c8ed20c698693cfb93694d1c574f7c6fe88d58ace1c10f04ae7c9b5e62b5c4ba33a855d649a096d2f1ac93a4cacfd09d039fb528a1258d240b96d0c6240bd1b45af852fd05e09bb177931621d2818a071c1f95bd15f543e12e81734f5c890b17cdf1a6d987b0985144125134d8e3746efa833894464223576eb9358036ad9e381ce13ef5b11a9cc94bf9d85e873363621048d6036eb69b5fb571ac1746ec5ec278e8a22e866306e7fcf043d64523e98707525aa2a03537a00d9d0c51de860c5685544b8b4eda315c40b5debab73503694c41872590b174ff71ebb9b7651096cbc08b22d90794a34234d20ecedc7a2d3047f3acf057b98748ee835d3dbba13d8acf61307f1a6816c65a6c3026d9329e460dbc1cb27a9d94b598615c648db08ef95a79d488e0f6a711e5f112b11f41215938db3fd88cbd4e46f1e1883d82dc74fc53c703e539549dc415c0c0d9122560418e546e7f328a578d5c22a97328924624df5797b61a82e5111cdee8016519431366e88a09b6b6f11f378cf9001e43c016e9fa0b0a2804af95c88c16a2841b10fc8380d34c60c7b1c0dfcd40d1ba4d46eb5f8076f2f51f3c32a27b17047cdc4fa0f4f82c0e3905dea075bef45ebdb7e7fa2fe6a18b7c961cb7f13753503e77aae7128253cca1c3b642f65cb27a9b9caff91ef7ea2e511091d3373d6f13101b900026d2fe0c33a57fb4913a2172c035446aaf6fea35c506460a0a664b804577b5e9f6c255b76dc900586ea46aa462b7c3d0281012c1758bc0c2a0b793842b3a9c801af03aa23d2e2e9a37f3ceee9a4bdfc5a356d37844b79af25371d7081cde7db4c799c49a765b758c47b2a95eacfebfa88c83f18c6f8c1823c63746d71ae98ad63870cdd209b6a021bee183346e3c3028e74cbc2a07a91691c8d589fc60f917af968b42242e07daeaca497fa4e4cbdece3be1bf5074b42a980aa12c92d357a2f88b2d392db7a7c57b91a235f4e75a4e8bb6415bdd7552810fc169eb232af710e0806763ab113a5096d0dbcca2fff1818d8321356b5a33c321537503d3c98ce0f6a3c663ec8d8331c3486b68615c6d636a2378159c115ab4d75f18e77c1f56d9660209630a51db2626f5ddfcd4a37cd9f82444f605b2375e24a588800424fff835c13c178ddee88952d686732d126ba156949c11f9b130bfc876ca9ad409d115b2688945744a4d0a31391425cd6ea02ce094448540831c6846b6454d13a54ad9cd8a4033a116ec66226160863ecf1e9d463fa0368152b2095d893fe4a040d1043d96bf0925340109208188b18480c7de6c37fdab272ed0d1fa50192b7dbce902d12ecfe9c2bca2fe2e4139c324047793eae2062ce52cbb857ed3c06242b372372832c79722f11093e5a37c5d583c4444c22fff473bdf21dcaa521dd6cba17856624f37c667b5b51da5ccc59bad3fe8386d5f55fb7830fa148fce1d345ddeb8f2c0081c0bfe177dfabfb1326ec601c6d3cb6c96637f1c2f263d09f13ab62f6d9fd14183f99d6e1d2e831f6802c3a76c98524a3aeb9896a912a40f8227a9bc27b251eeb8dc702eefbf77a816a525ba6407089ceded59a38a46d12402c9b1759121cd4311f764a718f8af2b08e3a37aadf6125902142aa9936f155e408d9656908eac100d80c2759ed4c3b0810468bf64ce5d843984f5112ebcada13b6ada781b1d01f5250fb845edd6aceea5543c1e6dc5cd7ddc50c370f6becc1eeb68c566272b0ac3becee38d7b0a23b30547187d08d8c852aafdcfb22dad3bf4bcc6a943345abc0b0523b54c67df76ceb29a3cffd734a6ca525370ca57accfb90dd92d021ec8bc58ef76ff1a3b993f34bdde5e54c79eabe234c556690d1eaf41f1b4f65770ab74cee4516c2cd318b3bfd9060d06366fd68f38d5eaca6194be53f89989af885e423ac4240812704228f41fd29976f7f10bb041d02122b70a3dbd3e798180ee0517e16ea19d18d4a7ef7c6b59303eb741c19901776d614c65e928ad7a58d9d3661ff506b034f8b9d223048db6ed6d7637eb2f7bea6fe89f7152f44806440cf01285288e507f1389b63104e9353faf1eb24a9d402d2228a821eadffe9e4531f91566a780ff05fdb0e2930343f1b5a0cc0f481ed38816650bececda50aab72d88d471019a0304758f6768d4c2053cd1e084f0c206ce845cbd7917be14dff5222cd6ca2a1eba84b6be0c9fd14770f3626a3daa823270cd8e79b6eed4b0d313b43db53ec52ce2eb8ed14a58407e6525542cb67fdb88b5862db77387e00a1cf52735aacee80f912eafcfee7c5a69744e729eb7d999381241b1e68fa408cff2e70b1d7496febc711cf0733b6aacb93596fbf57c73c25e5fb8a5d209dff6f6f114d0c2d58136dd9e7612ecd4857361c58a6e50a28daa1a560b5e9bf158803c5d9fd9f336b476e3520236b5d665da094111f71e8d7a6b9ccb0a1e68cb59a20484026b6b3414d732c999395a2f0625aa7f79b83c238136364d3a5af7fbbf2c754317e837363b472460724f63ef9cc5e4d9dd8d22d333ba7528ec05dd9c6318b03c8d2fc3334bbc99c668719e0682b921387aaea9530ead26a677471432fe08ae9114165512af9c92b5d640d64b9a9471cae705a6a25cc1371a3263bcc55fca8adc06e967c4b159533c9e97731829f46fd65e40b8da13232dc80d3473683e80f73098766025bb2d314f1f87e726438af170084cc4853619b5f91e5c1c52779b846c0adbbf47d9c62f3e150ce54409a8f21037f3321f0b61ea4d48e6752421af74edbf7423ba4564f829ff942c4940b603a500c0225d9e9b5c0a309efede5ecc51bc329e9d3f8836ffd206214a2fc7c8254ad30c8d1ede070a8294608a1449d8995a66d7ab418f86bbbdbf298a3aeb4f090181c370fdda129aea0977bdc5137d851b0649c2041f4481631f49d736d56893a55cdbec1bba033060da310c5d53f36ae8526494d3eba46d1582c3a1e0635c7b1a0d7c7fef041ddd0f2bb328b44d91eecdc70b96bc2b5d4f5edd395c828dc014a5ec10e21ac96ea4eca2174bbdf1f58f25d842784aef7eef88fa7a239ede362f652015cc2aaf88b88f9e3179f504fc83381a0b49802db853c553fce74f0cf0983734ecd05eb5fb6efb3ac0d48c0257fa1e2f5782c0063a5eb85a20ea3f6432e15c2d953812656f6699dd9267693b9513c24aa3d8cf46dbc74d141c5b6cfe5dfa281172770ff981f4888850e1f5a43816bbb2976477d8e0888c51ab72fd56e5c0d2c47e2208c004dc304e5c748d6dc00e6d9c6dbaf9d9fcb76301d4a802c2273bd7b8bd15de2b9beadad556431355de62ac583d5ffdd0de6b006dad89a7e456d38300e8a2c4468552a0346c38ea7d83be61d4c4425dea806aeb0dbd98b4163457ae13e0ed0107d5bb9981dafb64f5c6470565d0dc5be1227dbe7d6b5f4a215ceee359487d15f778981e617f9b0e1ec4533a1722856eedf21d23c1f0a2f5341c44633e071613d22759deaa1c6349a807749e66a55b96fee4928c6a5c52a802c009eef5213e2a05b8528faeb26d3ec4c67b9cc7180eb8ef7a3b132f7c54a174b0c9b5a4f52f1220e849a16332353f1015b4407f281b8a642d1a344031c6933ffa8b12c20516307fbce2189b5b266def723e1cd048adda36264d9ea83f1f23dddb398ec825f732180b4e7ecc2362ee6cb757ef73ade81aa1bde366a7d88f47d57d511cc84a7c0add12f82843a03e2809ee143b94a01e94d41c17da407147cf909a43a07a5c086bc48c1aee33a6bffb30a1dbde3b3adc097b2cec018bb472d27a6e60e93e47a4f083f8cc766b3dc78181cfce02e87e7cdf23126e5e5b4c7fef82fd476bb19f47ccbcf9f1ff3f68b385e8ba7c1afb9f91a2f4970620d10ad6a1b1416b8cbae4816e9c132941b4f38979d7544c1ed27833d7f846ee679827cec6e8e94727dd483f71a1e27d5763662bcf003bc3ab829680e1d1803e9054fdfb7a67b1968abbc016d8418a168197f98c79cd56d54954abf857f25395d88d4b1f0e5bd30d05cc12c489e815287349faa7dcc5009cf25aa6c81a6d06063c11fce905c8d2e2c90767ff100379ad7a6be0f5df565ac420e7443fba8fe616d089ea151f09acbfb87f0a9a1ad888b2d9bb89432950a1bd8443b85eb6f47fbb6b6c80b5f7ef91e2f5910a7757bd0f2bb44d1613305549f64b518512d9553508c3e162ddb99364dbe0f4fd2e4027ddc2f4ab1b1df4da3e1027668d973b0f89b8b49cb3d5029419f775d88cf56adc45353754401dd26d6138e66531653e03e420aaa0830741c861e3be959c0257d0e10f811326f1621f0d11ce25adb0c35c8cdf9481f8640fb6dc83f71b62b8071180d5eba79bd35e8457e4f7855166d89d3b7c519a8fb3a2c003361af577e4ee2eb1321856946bbc00d5f0f1f515bf7f5ce541e534061e3b9c4480b1cd2c4d348799c59735e44ff39236b39b456203f465f6de47d0152c18c88c54c589c28928021e6d6a3dbede12ad0530e7a4cb085726e7acc1e6f7541eedb8c6bc91f21c52eaa3ec608304b965bbec7339725695889dc535dd40ee62dc91136fb9f6457162aee0ecc548cdeae9c547bc9fafe531e7ba96758ec5f11ac378d017cbfac2212ed160ac4b72ca6658f529765f18b6b55a476b5fc9bc1bae85eb671b0a7d29274056d2d7ec9b85b430e331527e0ae9ab429d52f9cc76bc65ec76ad0c0b6fb081dac3b444c99e9a7d145ff6f82bb34021498b72b8357e5c4575830412438fd2bd2fa3f1a9d2ed9a4d28d08b6712cd3172c2dbd3ac14ccb591b21b4302390ea35201924165bc67661720f9f0ae188e74d9b9f4655d9d6cb9f4abd3377366b08542c703a2f199d67772884bb0dd404e973200c032e3497be17b76db7837c6405b07a5162b8fa5171ff37a3ed654946d41267897e0f0274bb40351990e423685b269623aae58474ca7cb58e427d25e66f386cd42fe6a2252e5f3ba4e8a4058de67849af43637256f72a70a001e96f743889b06cae701febb1c5426d13003516f34a904e12ea07875640ecd143d240124e86186c851970839246fe794d83c34286f987d3b8f2d1cca3701e426375a962be133bdc2d04e54c933b84ba110696d791f6987c3f70dfbd73e71b0a5bf6da235ac83aab3f3b6e08ebad20968f4b3b444e1796202233cf918654ee7f7821085eab4564a8507f3823815ab20e6f15dd35ea0e7d041a0ab7a2574d4bc96e0fe54c748a4061a4c732914faacd138ae069a6dd98ad4ab30c78116602398fe93751a68d3663c57ae2b26d42bcadf1e3ab7dbf57910dd732c5a66402186aa0d08b8e2f3f0756847f88928cc4701813c3ab80d20d41d0ea5a642473b070508fb3fdc5527e34a38c7d094414126368fd9bf7b86bbc9075e0c4ff609795106b6198f6fd1161e9cb83fc8e0e0e5480d90b0c55aa2904d74ebb889470bbf2cfc32010dd25ec167076b29017419a8512f94169218aa4e4635cb60d756e4441d3333c7a1c200a6c25ecc2d37448c5b4cd9a377041d3b1043485dac15ce43ad944a29ab43e5bee29d35515ed52b85ceee57c3ceb9cb9d0d182787713ed2a12209f9979891cab730aa3fffb00eab0660b3c1a70434e6c08b80ff974bc01db696e762273bd09704e49b0821f9726803cb1982c82def12bdd83641bdb7892bd832528ccb7d549ed3653114080771c30c40fe4eb99d95a1c2ef5454a30ca0d77a0732f7b5be2316fe98399dbc1870a6ff1117fe67944aa216a29cdb1e4be819aea1cd6ccec954925594f11b532621d806433766e57fb601f27d4ddb63e286ee7b5af52783264a1e02d0aee357f0da5dabfb3fe71ec5468d6bf325085f2cd2b8b9fb6961559f8e793e71868a7f91677e2d00c8d585c5d2b43014177843ca12619c96c9c9d9e234f84fe4565ed3fb728becf0d81980411b4f00469e090b3096619701009e166e658c60cc9827240798334e78b691aec1327c7c73e3609994f79cda6806ad0b618fc4c650f76823c80912ee0c14b19341b62bb106ffc5a76480b8fb3959a1e36c162347874b8880b4afab115e03188341e51dbb4b98313e785555630192408d1cd54cc063af913252d471a16af704ebc26cea0e0b3420be0f81dccab9762e58d0df61d4a8b6063741112f2af070f13e410a9682c8adbdfef42ef18d9882ab7b169c6233af8c15854c315421a180ad5e2fe72f2070a89932636b705b78d25917c5c5939187a0d23a584986bff911f1112b4826ed8319b9747eadee640130e48ec7dad0f262df1787c318a2c8993fcdf12bcb843f2db7744e8ddac26286e7c2d256840457155e84eb86354be8f470365378026fd080f2b7316519b9c85ab18203eab5b6ec495fcac0402165d825b7fdca1c36ebb193d5c4589d10a64deb35fbfd169244f1c0b08ae92a05e22430ae54f62073211d26ae6d0b06da4bbfec9cf3974f0d5cdf4ad9e89e2c4ad316fa4c77ec57b6d51563ca8cebcfa950fba3c953ea9901b86d30fc1de9f12e7bbb9ff386c52b13b6547307aab2c9de3fa2e6c6fefa5472e67fda30b17e89dcc8d15682e8dd5c5ce145df4f41922390704521942a96d1aaaec1a18b9705503b65d2f344c6320ff01513ac7f1379b6d372c4c01da8e94ddddb0c42e00d3c7b3a0352f1d5128ab123d04cdb11a2d57047284574050615e521c2a68d854dc9d03c0cd61d1cbe071a64e1232f7283cbbd19e787f82b88d388cee0581e54178b1c9deac37784e5586394dc6cb18108b073cc053797a12c9edfef1c8a817336883939b9c42becdd0837f89e5511bf17206140a2027560b72ea24a3b0e71f3a3c76a806484eff41192899e4e4b1a48362d8beb6970a78ff8f4ae73e681a6edbed5753d46ff30b3bcbc53f73328c55e691a394a34d66969f0803e3da1d37fffb6e8191bcdcf5738e810b3c762c24c9c9e6b80d61bbcd30196a63e7ac23ad2ca868f879dd58f72308f046d7908a307f961b32b56f10e72755c2243701320e6192d8247edd7c9fa40ad80c97bb7afc131249c9236ece2ae30c6801d61405f410692f72b98153451ecfa2bbbdc9a14880cd6122436965ed3902f94f6c44d8904d185c79ee61d794a10aa836d139fe094e9221582c8fad96f7d6b19cddb11f449e4e8cbf39b772579f031128dfda0b6c6179c24fd2be58a4df0c1c30286a5512741be38033862196fff1ffc19485697c24931e6446b885db859ffdceafcc09218ebfc4355c0bc99088a2839425ae8ebdf5ab6228a23140103f8b5afd205e22bf87ccc793ebd55b990319f803698c6ac10296016375809e476962fd9b430c0ee4988bc303b9bf68f0a6def1ce78263322111cdb8c74b8d2f009f139428804209b5dc4e2b71187dcc8253e0df52fac0faccafe6149a8326aea630996865e05f245ec8c794adb2d2746e8353be34aef03f63f3087cf00e23c649e7ac5d1ab4aa7b3087e00f4b90efa13e1f14095fc1f8eb80f2db8b8075ac5050d098526a18a9cca2d4a5f5e8b0bf31f722915d3a54d183c24ce18013687dd0211db061d00f3ccc4f4853c03a7b090cf8d847278bc35c54d2a1f10a71be5ac98de4c649dbe077918ec2c52d751c52ba4d3f8735c721e34728c30c2e919431f631be2a71d8fe5cffbac8b0a0436a32a79f66dc1e61b4b76818f51139bad0c85293e8c435f1ecb01d9270b925af5000170426178737b3c357eb88035ee35acdcae487dd664bf4da251ac4ad8f94d42dcd180181771867d712a18768dc00fab2e6488ae84207f87bb2a7818ca6655c47c0fcdb92d3233f9f01f423f30aa9fcfb55af27d14348ab91f2560fa79dd46e2d38779b122d189429c1c0c5c525bf4db586f342ec2ea5439159034873b06c27eabacc2761e61cb04739fbc60658c658c4d8cd1b050033b1cd474a03e927ab510a0bb7444af285ffd09360279ab0a8737fc99b6bafa76a9e7e5c4f74c591ec169851953369fdcd8007dc81506991f16e4a18a65f98cfc11aab80e9856aa7a92f22d00968b44a2acfc0ad6919d2a272d146c96da928cd19e4b4949ebcf627581cd31a55595d4c8248e9ba5e4d3763057aa29c3343d1356dce700ddc69dba50cfaaf950652be7aea744215cf4ddb5249130bdd464c2ae3e46744d3fbb4f2ff3c0185eee39ba2742f0b6d1417b8432f05d5d9934f76302079746363683aa58244d9ce1a0f47c629fb239dbd65bf01bf223a77ce8ea886ce2e58182cc4d8814ab450cefadb8cad9c305768c87f9fb01993b557226c10c8c6835b3d747288779ae873421d8b89177127ed3f96b2379e388ad34296fada733893982060ed34714e344d7d3a9ba56e16567426d002322086b7cbdc12dc2d719be8e176a00a7b004818a3d40db26a8c5fd6c6d47fedc26db5d8d21647faebee189e698d75ca17d1148dd18131e28c27bba318bdc00fbee38c3c3cf519831aa682560181169d582f6ec45f39d2c87872688bc6df154645235ebc47ab5e74dfcb28e0b14ad4e420943e2c87a040e4d3742137b88fe78e3cdd0027675ed63a75ff88bd060a1e85d3d4a29757b82fa0770a3b3cb949123e8dc6453f590ab5e916c37661b12405247fd1a1c4ad279a120d56fb936a11858b32963f4c77c22b70f01c6b4f5307f27d26e002d5afda943fd8ff0f304220e02ee9b0e695d2243612a967638e7bbdb3d0c65277d7f9f94d0a6ed4f47c3448a9830b3a2e72bb6ffa1625772a35d9d20e5a78977aaa1ec41aa2b204fabe7245668265e37126a08d2e1efa9d2cdd0e0d7b0a0bfe109d981fa5ba43ced79f0cec398389337e61fa3dbf9156f682315f10de099eb1f8e7727e746d4eeeba743a0807ecf540efc837f8d9ca7dcc2670bd2d4f524aba2607f4c674f3fd21d32116de3c3becc14180131aa075657d8b3cae0742641d9b91e688fdc3ec20e7cf3332609854849d4b9226702e7ebbd026dd0e0051c2c51d8d8711109cf3d7da19713a247d479c205a1063c02d546d3fa5deb78ad6c9cfcf8ac109fb8bf59876831cc5b870edb8520a18712ff3ed6d0b8673077c9cd6cab8d665a27269b1d390cace89d24950d319f9fee693a3d8bd8282415962de670956ce1e4a546de38f317d64d62fc044e0f665c2cc1ac48e01f3ea783884d6a07999278a3b2eb06a0d4c227e068da512b9cc74b6ba874e6aa089993cc17bc28f7a3b704365aed1bff7d132c8e6dc519fa0160eec2a6ef35527e6ff60609a9c7262a47c317441c2aa92b5aefd9a7d800125cbf78f049bc95767e2a40da941534bf960e74f8160f6672adbc1cc0d6a284c5bd521d7624f9a8b0b45a55e97a2e8b14ab5b579624094eeab114073afa77db8f26377a98379f6b655e132899830f4dc8a7fd39120dbf1b63903d59619b0a0aaf00579900f51555cb906d2abeb742220015ea45d28489452707a6421ca821e4d84e27b546599d097657bf2f9e41fca054f20f1dc52267ecda01c31cf727587f1574b71c71fb9e809cc7d2c8ae24cd14d847675802d0f20a52cb859936322f68e7a36824e088c0ef1b0af7f455d349d463e6066cf2d5fabb33bfe2c4207eff140d60ec6fb091c0f49bbe433e60de9a7308c2250e38ef8cc11d72e705ba102648222104514575b66574464dafe671f1d44a24792b2ab851006d469783194100ac59f093268427cd7d72d42dcb764d9f33fd9857ac0401958b785ae2d97e6f07583b81793b760de3fe9280cd558858231a57ebcb66335a35a0452280304ef185daa7cfeeea876540dc080fd06f21e3320893ec30ffdcf245441f08f496c4aebd209b0c657234127b694bf658d4f705453f7fdcd934f5f59fef07e03f54edb6d0fad5c729ce053766003cdb4b174de7940c343d6d3884934d54890ab7f5b3b56f153d103e8be252da203c199e446df2da356b77d5c72c3fee21c14ee75c2db7cfd079e7fe91bc8ec431a1138f089028bc635b882b9a0077062b0b5571aa804001760ae777318e781d08d3f61c05423159fc0aca8d2bca6ce01fc88f6985dbaa066ccf0b92061605075c05afe47906e0a3a73440c33a4456f97b2aa7370a31b8ab23e1aec0a8edc064a1898a30b88e05ba16a74a363bbfdc70eef4385654334ba51e396a108da01c8feb10ec1b341d452920784559434f3ad156912174445b464070f1ff4cc22086fde486e1846dce8c9244df91c83ae354a4956f668b5c75231fb9a9b8f6e0f7adfe5881420bf50016b24cad0626982093efe8082615f5502ec0ab7411fbc97a77919a850166a2bde00c889d5004995ccb0392edf78fe8d7c19e17d4ac0e00be5b322604c1f118f4d713593cd6a8ef3524dcb51578143efc1ff350f8595cc320bfe35aa06aa518eab686917ebf3e5955a417dd2ea49bdbfc9b747bfb571861c57c4e2375513526b2b1eb008f32347576bc0740284052f08e281ebdc0f15cc9a23a263adc902ad4ff3b0929947b25e9ceb614d12619d6fe1800f4bd6e8cc33b11b26fd2c842beb15bcd65ea0807106722bea4a8b1868968b212d49440a8f213e767edba6356c4013f86ba6a0b208438ed951caf63e4abadd630c7a2b8365ec9205f67d5e10c84681ae5694b156e13275d05382801a6bf5ba81de44fd0af6ee9a16abac3489d5fed4f1e8878dc14fa1ff8117f1852eef11718b474fedf4ff8a45185d1650caee8f52072ae38b952b5ac960a073b00a2daa1da1c9fd7be00dbe48d70f442186e88dd1a3da91e8f240c7ae91f2bf0466051524e424b81f38056d999d9144bf423fc7197571f584236a9dcdf92b67f8d7bf00ae6e02c5745c153b23ef29c28f1ed922b9e4a3860b331208cbc02e23d17346b495624eb85113be8ca029951133f26440efaa841ada8aa58c9ef04da3928041179954b372eb63bb3bbb0035bc7a4e47a5aa129ccc80b40a988d1b9e2987ba15fc2e0aea5bbfaff8656ec780f6f31c481cc0e972e4b5ef73a2422cf490117b8affb747b0b794102745ace0add817248cf6567eb1e990da0e0e37ce7cdc6551f0929914b18076fc22c847072c7393036cfd6900fb633542755502c5056f02aabcdcd8d4c99bfdb2cc4386fbae742c0474e5659d11eaceaac87da2a2fd989d997debc35ba38ac99bb73b48afa3f902e8322defb366e651a32c76bd3c3b014a640fc1b0cf02d4b3592b4fc6f585cf81f1b87b648a44b82f0b0e3a3657e0ecd6615165bf37014cf9052e92d46e891f82abf515d170148ebb6fc33276e0cd125f96f389e41b59e6493b3597c1653609b47033d02806e619dad744515d5da860d8ea28e1a057073fd4844ef13371081069a2a15cb9ae97dc20ef9aea6f75c889526da5f4db912c83fef0fd24799d53d26fdd8cc761809724df930c7a26b0e55c25ca5e95b9c4c5346428904e4dedca34646169a93a8db7d39740e64362bdfa0557ded9f973f3230e743aca2508f0bbbc1b920156a7df73e4e89b5256ade149fd7468ebc84b79c0dc9c7699aaa9fdabbc06b38c6abfbbfd1cd995eca1276fcc1410a8641dd22ef166fdb68bd41583e0fda4213f3f26179db2543abd252d42eda3bd0533de1e167593075e5d9d23815e60437a8d7b39911e51cf36914821a41ec6a9000bce06b86a87e52c0957a7d5ddc403597620e4b745121eecf6b54df3928693df5930952b0bc3e1e3ac42ba1fa52dca1f06a41f23b088b61e88a612d614bf460869afd93e6e4e84845a8f4a326e22abeebb813f64b4cca953aa6b0f2d936695ee679aebd8e6926abc4e83385e0ed9bc5d0a75e5e736bf4b4977e643e338ce7b03d0187a2451053ffe5bf644aaf3c8b4db8a12daae0556535d5701d845cf0ef0846edded2b6c376014db7f0d2e9d0e5e993fde9756d828ea006b860123ac832fe1f11b5d9ec5be7539f9b16b3b9afe3e494fd7aae55bc4f6b22267b5e24818618efe061f3a611e6a38405544f4c6c5cee81d81462d7ad7beedec4352e40b690d1fc755b856882e0b3055415719a517e44ff1c24cd6f106895882ebea62a7aacb559db4a2c85cff361f2b08b6f41cc6f6adc5a309de5e13230237998bbd4c0cd22478a6564a33be8b804793c4825f16bac98fb9b26fba32098ce3c8f49f09b02c7043da569f59012cb47c453be4e033a501688d4e94f984f37385c3e3635e13eaaa6c8cfb41961d919cb807f00b2355f83ed973c1359ca6b5ea49f5ffc3b920403cca61ddf96ee4758f63c0a081e58b3436c4e84eb261015330885538a804ca31d63f1f1775478b23f94186ab4d6a39179a07f23f31e03a10f687a923dc0e19bb950d15abe7e02c1f2090d478d5286a0dfbeccc6e461db97125b3d328d24925587df31a98bb9f99b5037dd07f5224e4ea3a5da0bc08bcd257b3615de0c6ea03749ec1ec2c326b4d1aa29f505c8054cbeadca5fb14d9f3212f0d3307181f79b15193e85be55ab69581bf407199316e7e4e3ded393ad2a6569719a8351efda3cec3c116e2620ba4d66ca35ae8567fbf9a49baab3bfd50b521068a217109293384d375dcaf60198aafdb3a3c0b13d03732a1be0d702f91e82a2b00f03775e11f166545bd3d4a6ec04f9e6faf67ba8eb33cf3b253aa3fe70943e48168c8750c594b096c9926d2a4c17144a99065eceb969c2271f507888cc1d475ce60494d22000318f96e9029ebe13ae3e8ce8c88fad4ece91f0b11766880f04059396cd1bea4857ee41bd8bf1e8b40233099753d673a8c914365f82e52e6d817028fcc2950b05ca969510c6e30ef28b0a34a6e024fc4b496935667646330dcf256f19032ddb300c5e495c5c0b660e008d1c38a17b50d0bac9ecb8282964601b20e356fb371628f8a0d6987d1963bbdf29072c4268728d7dcab1dc216bfe63c65bb1424fe07f0f9434487c126b1161f71d9f932d68b8df87d97b5ffb62cb1962d2cfd4706b40daadeb08801d8df8c734bb7f2abc663ad28bb930560a860988a03ca92e3d3f5b46e7f281b85ce38b6a06fe03473158aa80bed49947f66252b08c179134b21c67a7ccd5cb4eec72f92e363ae3e309935747f305a96f1b10fb46bd3cad4651a9c496d15f3d71c4400c58f7e76ab95b62678ece7b1ebc5dbc411637ab7c2e96cdead7d96d50d825a8e50dec1c7b6124a119d08435a7a22c882a52d48823163dd244ae844eda3b82a88c8b3f090d8efaa68813abb7933038a7ac3f659fd267aaae9c380216ca3e9e0d48f30d0e6afce21b5265c95e4e50cef6b14a09b7b600839f2e64a10e9c71a30fa50eff2f039048c9d5842806b9e474e4b95afc88a28d7a2c2b6e70636371e8d1d47ac0ee9ee1f1c219e20e4c9713666e410da6e6fb08b9a4c47c28ce41eefb7175aa50f2af5a7537c4d488fe31e8a348452d51f7ba9c7377e5ad2875ce284b26eeb4865d0e7806fc86898a921da8894289bcb111d00944ad858e07b744ec3960537b76290b4ae234add4439a8ca61c4777461115be4d708f482d85e959c89b8b12f27170ffc561b9dcad0ec35da209eb29a327baecb6539c5fe14d1eee49585f680c438c37719100b68f19b23e748354750aff90443a8ff8e244b5b1a41b1a0097e4032ae9e545f1df80e47f81c1a2c783d516825448f3f77c093871a378ac6e18b91b64eebd3f903fa8201033194940bd3778791c491abe0509ecae9c1e18a8a5e0cf6898fed9773d13c2ca8c97ca93bccd2a3566b8ff348db6985e476878d7190a6548a0a6e0d68f8ebb31ce408730555a445ac552702e8f6508e9a964991fe085768a521160c6f4b5bd9eb2f93924371e57240ee21fe00bd70621a1e2bd0ed6b8ea2941d75b88c519760e3f3b7d7c41d51d4c69141c4c57458d94dba9bb6ca3ccad509b077a8ffdd387907cdfebd6bc6fc43919a480f23da27779c9923caa75e22ca08398221d5f646c0fa7426df61d0f429e529e4914cafa8d60bc45d32929093fb8e753e32b4cd1d6ba8dd7ac04a35a066907501d7349d8258e139f2cfbfdbff6af106927b04e05c5f553365b20e81f90577af48bce10a0f7af2abc374a70dfa1cd076972bed7ebdf1af8f1e1f013964369707183900c59856c41b40379f9b6ee4c6b679ae573ae32c6866a91ca7bd626542cc342b615ca014adc1ce287a582dfa366ac56f9fc036247847253b77854f4a321bf0ea0846a1bf37a1a6f378504cb78a640c40a422590915ffe0a7d10872a1fdfb892436e1ce42347360659af217b9b960eb895d8dbf6dd0c2ed145686f321b319fc6171c2955383c8187e9a5b4141b43be05c16307b2549df30dd1beb957001c01197b2c76fc30946b9930748b8c37b07611ea379be3f8a2f7e30379a3bd10e91f1bf15865d851cbe68d120fa3e875bf2dfa346c5f26a4e25c33a798c6ad23095689d95067b3f3bab59cf156b80bcaab86b148c12b87156010481468db57cda33e32fe0f5dd74f42e2555d9d7c9d2be4f0247d89dc649652429ffed50e996733053524c0e875e2f8e2376f3aeccb06c41ba43e1e150fac0d7c2d3787bd50b885880cc0ed0e6cb7c5e4ce3b9cc684ce0d6146749c160a5bf2b47ce36227786650a5f58e4c794f6bf3324e0e135c3df8185bfe75ec9237a2ab40beb18e94dbc933380c4bc8ae0fe339f2c7be0dd6bcc7a876627387f7d6fcc46cfd651df1e0d27c1b27105cf331b0ac42d1d0b4e2edf1d83d93c18a9dced21eb8d463b09a8afe71b2da94098713be915def769d9333904aa89b41707a4b1ac592317bc8ad8616b9156008ea92edd8548fc769c0c5fa54073f3a71de5ae2572e367ec048596c5501645fd284052e934955f74169b0cdbd8f6335f10adfdde842842dca1ae81ea892cce3fdf2bda83e17b67d0803af51f3b59ca4f30c67ac22e51a14ec1cef7de26a8700bdf0efc618fdada1286a6a160be4ed9e8a738b4aa7879492fca6f08eb94f4b9fb25589505f308e432038ac336885b40da11a7032fa41b2316b5f1aef82e78577c2bbc1a84f3b6d374ffe0ae5761369abffdf52f7fee7029761c7a5f45a84f11bb06eac10fe4162ce2fec50e3076100fc65b9ccec17556ef6bc660da1f1a0909697bef6e72ef2d654a2915085d08ae0836b40edddc618e5ca7775cfb7498de2e3d07b44ffe5e309fa1499a63b3676bddbd9ced6b86ac402247524a29a5946168230695d985f3e30fdc321038e918cbf8f1808b60958e390058327fc16d9332d9cbb295c316d33209763bc1451e946babbe88ac524a19c1a6c27aec34a8653477cb98711be13c49287bf4dadddd2ebbbdbb71a0fc6c662070bb2eedfc2319dff282fd3b30662ab63129c118b932b7339f84417b08b7383ccff33ccff33c8f52907b1ec83dcf730a0a792019ef799ee7518f528f7a59f7f94cdc3d524aa9e7799ee7814020100804fa388852ea518f7a9fe614443dcfa9e7f9c729f53c8f52ea51faed7b20cff39ce3baf6603cd9997cb5ffe3f26688c7ed70a79b7c1f4a297590d77deb423d729f0f0ecff38f07e3799ee7eb799ee779f4603c8f76ac01a5a00e9e530781d57390d74ed5e03975ce03f94b839c03d1cf73703bf41cf4614e3fe9f3257e3217f699f8e0b06cb3cdb298c5184ed0768e9e793b77742cf3a87dfc8d613146308612945d1d62bcdd18e6f9b83c975dbc74511131ef8f753afbfa38f5a681dfe3300da6b47f7c9f5b5e5e97ce395fb08a7c6df05c8a5c7eb55fe41cf771607e8e08c6e93be7d69b6095c04fef3e1d9d63ce7d3cf0739c6fbedbb6692f98e780ef3d9af846906f941203c1cdb96df3c81b3d9b7f8ef81bc87dfc265fb743f89aef771ae61e775e3d5fcc3dd7c103b743ce31c91b3d212ea53d4b69f7dc9fe3388e8471be9ff6a22291bf34f789c0ed70b9b981e028630d547e7178ccfc098904964581241dc698a1928968dea494f67e7e37d5f99ccb21342f9debba6ff3c9329dfbea8ee7baaeebba6f76c875d8b77957b16d0b941febfc2562dd57a76fbe79309caf07f297de98a0ebce3230c944e4eb72c28838c06f02a6d4b05a084c69a7ce9fe4eb3e1d3ae7815f3af7e9305d3a8771bef964ef06cea5748ef3f56ae0b01cfc9dbff4266966e4d93dd676e8f93e0ef07720113e280e4daad49ff8e82a2debc547224e1f7d86167df517619d37692b756c7c6c7918da676852c5bcf3e82febe279f45f171d30e772742fa3778374ce713004f59c945e8eee93db4a1569d9c7017e6c57721b7bf2629ed66f8d1ddc0fbc238b2758e056a5b6cd3791dfdfe7f8e4529921caf9e6575c6997200cbfba855f935f917dc02a4ef20eb6d48982f0d3452bab58d5a422ac923e8ad8c7ae26c5aa32a39dbbd0bae521e4b31a54ed9aa675f70f19df96ba6657daa56c146c89bbe8955e5205bf3a74d1aea9f9c6b63d75c7cfefe277e876083f3a27e9f0f31164977cc91ba3a7fef0db361b4f2fb6dd6d79ee463c7184664c41ebe8634b87311402d2610c4d4142be1e4c08b4f9b81e0d21e778a6b7633ef6915f7df460b6c31058e5137265f4cc7c942ca507e42f0dfa3ad5a111ea92f90fc5810d68fee32197797dc841ce699dc6ea32d74713b9a56cc5cd6e3d18b90a7df2074424aa4971240394ad7eb3555cd9217c904b200e088152080894a8184c501d78e06f55f83198a03a809c07fe90d32ef2b5aac3184bd01a7efc7499870373e9dea425d090d7d1cfe8307a08f488436b289b639498a7539ead3a0c819587f921af72153df36042a00a94a90e23a59452faf938fd7cb0a021af7295fa68b32ea14f73d0c7afb1a81cd26174ea55ae34972b69a449218f2e59ebf2f9f86511d62507bf420ef2e89c7743c83fce791cf4652d5e0d21ff801f30c4810d502ff290b3e780908bfcf3ed73a04ff4c1d061005e9481421f07f841600ea06f9f82f226e4a14ffe6059a2679e5c2d4bf498a2fbe9015d1c99d6ef879cdb3a660f868b1df685dcf3d57e0ff5e8724893c0ae430caca3c76e7c5cca26857c7d65803e64aa9d0ff9b72e200f859cb7b4a69073b2f37c268e7d1f672fe41275d3a4ad7ba4534d0279f438038aa344cd4f97ab75e98f487ef3ba473e3ae893463a8c1e030a0a72caf99123dff1ce6bb6fae871f642a0afb15896985a9658030a02750839c82958434ebd762ae4a0d077837f97853ac75d08e4c150b0768fbdf7d5acf5d1bbaf36f7e990db17bdd3a98f3ebf2a817c746ddae8c0401b398c62499aa2fb3613ea5015a273214bd16806779437b4631f3f27bbf66c50a93326361a852d846b29a3c0f9e6384418f976eeb5cd2b79525fddc3419f71f867fdeddda0d26106a6643ec10e03c3c9811c9fe7184618df797fb565bf850134e460811d7a8899790225245584d51f9df37c3141381fc24d41da436e76326fb082bfb9f7f173db0d2a6015811e1d01adfeb1867e0c46078efde938d8fbfabb6ff70075b3a19df3f66cf8c06f1e3689f3c881b57f731b3250a5430ef06b1f155d1c22887cbbc632f00d1fcd5983e98039f8b31001cb125d0373841dcbd04074ecc898477af6c1503f70037b09b62ccbb6047595f0d5698263c7b19f83c38802183fea907f896c51f3a31cf257c6b274a41d3a7ffcfbe5e0305ed4e16859da513e3fa08b13821e5f3b910c3a5a172ee42f16606cb17165b97d70ab523399673afda531a081588adede3228b2a62518b4c69b6f1f1d76a33aec9a656907c89760cf74d8a7afb2a6a32982984c5ce92dd0da333dd3a4254e27537b56d3ad052efbe8b5860c920f10bd7e31c61957a2ac3bbe63a7795579c9c5602ec60ef9d5f06527e32d89bc9365a3ed87e75c7eabc262010858a9a1c73871907fbc8be1d53b25e9b5f3d2c358128dc00a80678f01560078303f094ddc055004eeae642513100462e0ee0a0519dc7d89dc97e387ef740efe0e5877601df7d0a9a679a9b82647ca1c3d7ce6f507deb1cdd1d3f1f81d3047fca983bfbfb54fb20cbb07a8dfb3479fb1c6b3fc2823c6cc5ffa07e68c813f84a6202dffd53be40fbc63fec03b5ae372b08a3d99887359b83d2fdf0c1f0d28dacbe1202502580a6358331342ba9bbb3bfa7a4b93805b959408f8c052b031658ef9106c0a3201cd3167d3fa34c0cbe483015ea6d911827afccdc206069ddf2c523aa841f88bc3448fc75962c92fce123d587e719438f214b4a5961b1a2b7250821700a10b5374f66cd07e3be410d0c551c2c84b8f8e79dcd1dd29e06e7887614b8b8a0a3f20ce49697b385af495e58c19add2de38e20d5e1689430c150207068303ec320f4796038a92046d6ff66eace6e1983b3b9ef606a7c08924f34b370f494489242291904850255209aecb422641ab482211b998f12bea19281f41e98da16895cfdb91a7c045e7e24c9c89bbbbdb5dd335ec31334797abbb9ba5161ca38df424e66921b5a0fcdc476a41773117149931f3d239aea394f755d4122179e95309cdbccae7a45751ebd98b52621896655996699aa6695937e79c73ce38136758acaee91a978b6dd82627a7e3c1442bd079c2326d7a708038541838e72986aec3156676694934241d4aadd5e13ca5665442eb3c5581566e15ab10b9c044ae2a7abdf42ae289759daf225627e547c7b3ba7d8b9620aa41c515e951c44354e3fadab966b630687fad5862537b11888e8122565c91cec9d00e0828772715addceaf4d2b9552cb14be758eba2b974ae08ebd28a915bd1571c71392f4d130c5a452c112b732166b4a47389589d4bc4ea5cbd22bd765d922e69adb8227d76b476aedab93a1f94aeaa0b32d485d3fbd315fdf8a2556b79910a54b52cd257a797741557ba05b48a582bd5b7cf02bc748d002f3d5b79e95a2b96b496d6d23a462931ac8b4a686f41dbfbcbb22cf3b44ed3b076cd8369d00719ecb49e7d3bc41ce9dcec26e6136b9f44660c2f5d86cb22b1e5969e3571eccbe00f5266bbbb3bebeeac5bf36dd764d7a1e4ae0aea75744384af9deba557d1125eba88b52e9ba8f5b2765478e9710a74bd8a582fb31b9cb906fec09645fa8c250c9c93c67985192c6be86026469a186b222adac49b9862cd16758d5ee189a62586160f6954e18062df8c333168cd62ef7d655d131985b10bfb2ab7a409a3893959877db5576fe24fe280d6f9d857a3cc9bf8eb78d614b9a397845bd3aa54ae2584dd95409ac46e3324d519a137aa262d2992a2db7c0f91a9edaaa055a28c7cdd149275d9bea50f268af092895df9410c5a7cb760f12d63f02d59f0ed345ba24bbf4a26dae3146690cf29fb955f7678d00569005f3acc89258f5a94280964890ef7b72078d02a51d2c6a64a1b944445d5b2ac4b94b469d292640841ab44511150896a121059a449d25193661295f9aa564660d8ab3cf22d91a4709549be5dfb3a1d5d93966b4d2a706b5ac94aac14a9d0f570f8532562568a78f7d72bf09f0ecf455e57420c65f700a11e2b684b0509460535d261bbea03f9c4a775691a1a24dfde4ff8e05ea2c3277aa59ba69b3db3345c4c908c011d76ea436666178da69c74e38c0eb9a3a31d58fa8e7ae8f0448fa0598ad6cd49a2487b5dd0e0894fc02f4e0c5e4feb9c40bebd1bcdb021ca648c3fb0cf5b4053a2afa91b7d0f41db3776a4011d2541f3ed33568a541a09ad1628c2244edf6e03064ead0dee81b62c18724d506f16d1d0095ac30e6d749b92436c18366232974e458e2de7d848877013a604adb463286d05b42f15813ab0e7417ec8bfe5508f5e63f8f60e91687dbb8d1fd2d983e96c7428451dcb8c06364082880a9b9100123434e08848fa106ec26cbedd860d18bc8bb1cb76b3f07b2e4bb7abc3572ba09deb96a0dc29416bbbfad524fed9ae24295ab1999958eab9d80c36a38a2519855d69e7624a2f9e6240b4cab52cae9517e3faf69719301bd92901b541826bd88710916705ad7da362f50da36e7a4893d6535de4e31af6a100cf0c6de7efbb093b48cabb2ed8a9bee9b06bdf30906569ef9b5862537ba7382628cf302aaedcd07ced1b19da7ef3b18565818b0992613221608e71d77998cf61cb0c65507a87ed317ea30e7b0627024ae2e8e1c7d0a43a1ae57cfb8cd0060354aca031d0d0613b87362a03be5d64e38321f480d03a1acda022155496c9e9e1c8b7fbb052142337468e7123c798b16758966519f711b49dab019d698905c165a74d04b4f6103ae549cac89926d53ef589c8b7778c3cc918b944f7f8a6f98e9139c976c59264f0d4a7930465fbec5666273905ab85012012a04012d18bd54a82d6c96141f9488bb52c0fe08240a56b59da71eccb282c4bfb9ad624e37c89a535b5c7940c65b0c6576b59acd4ae70c8e125a1e06286709374cc57a5ca54dbb402dae5d737ad80f65804ad9303026db1f95a5edecc99996fef5a60582222084453a419426bf8eda10d993262bef3a96589abc0c041a2370e984b5f53e4180fe34afbac026519900bda5ef9d4dba0f3cc1573917cbba422952e2648f421dcc474d40a68374982ce0e1be404adf48ba0956ac1b169556a9f3866638c1b7d37db6cb3dd8d0bca19d01e62093b3529720c679bd3a44ae91146be5dd4830f5d6a9388415ee6e5654dd3365b18b08abe878f63c079057d35a9ce2e6677ea24c1b14906946b689a541bc5333cd3a4c53962c8b7f312b39bc14f306ae341dbfbf4956bbe14f6f5201cf1c4773b0dad6f6f4093f60b1c23546f127d6be15b982fd630d8a01dc66f33824622bf59d8e0e6db6f80f14493843c0ffd1b909b816e7c91a443ee2572dc35aa497b832a9c7effc617409ab437e002c9efdf0083a64929d1f92378030c9adf5677f451021a283467f68d33b03d1b3470327f1cc74e4774cd3b1f0fdad771ce3537d17668123be699e7806fce8da9eabba5c90c9a68269889bfb46602e688af3903c0d1b260ae9180d64dd59189633ec3ba688e6dc87741be4b7df7e31e9f26e06cef467ccdb16561b0fd25f287be0a80f738e8aba3f738fd2a7d8f7f3e1dd87b73d4fb3f38ef401158bb99411dba9d3597b24399f94bf7ef8b6edb727303c151c67589dffc7534efafeef8e93dbbd65f4aedb14fdd1d73da967418638cf96f5bd2618c5783943292ab82562ee67bcbe9c2eed6b6b4e57cbe6b0c0064601dc0f7b6cddf4099134b71d2d8ea1c81b2c45cd8b36fe7b42e72b787c1c8dcb1bd23c3e6b57f37829b69ebdc74aef3f16f9f0e1ee6f7b248dfe2073e5e162927b79cedda8d2b96326fc6a20a96257e00f360b46f4ddce9011d53066e395b0e6f7b78599ceb5d16cc938a1e15b28792c8851225910bcabe3c78f028e20b6ec5a138202f9d437528599143c592c6d968a858d2549a4af6282262b147e6bc5957ffd16f754d85055a3596a662458df5d2b5151623792851a2648b2da4cc162a55e5f5d25fbb75b1bbbd3a945b4e8792e357f372f5d269dcaccbf6920b818a3bed8af44a038b20b6b4bdb822304ebdccb221b2ccf9a331a443596910a1a1a271d3a16c71a713998c464d2cb990e3420eca4c9953731a3734862c79e9345c34bae8120bf1924e83489316078a242f69d418791a29d64b1aad973492bcf44a43f5d2a7c6348434a9ba905363836a52a521c4a64955c68a868f26ed165e86f19506901b247772f2c1b373daea351772a2cc240f5ae7ecd65643c44ec994a1fc9a64ef86069e9c3a94eec2920e2b0d1bbcf44805ba38249879cf89cc4bc75240ab0b392f6b5e4ae9db2b9642a8ed0513425d81ca58d54cab91b18a2bd26584502f234b86f4aea01d08744c988c15778a2b5205b4d2b8f94e28dc89c6cd4be9346e545ed1d3848e57df0ff93975187da4a27584f9081bf9f8a864c6080b547a1d31380a82d650681532127dd725e5f9a5e31452189ca6e9047a5a7d4e23ce873c31f3e7f43969abcf495b8d462db602b72a3564f3d1536e68cfde798f19d45220a028345a7cf515948340c7c4d1c49518394e57c8a6063256cdec31b3c73133332f332f73c7dce9306f77deb7cf4deee3f7badded7c739ea80ea7ef32b358f1d73514909f5e359b9f91d5811e249e96a7155927322732a19bc8f2b44237a11b6e2674c3cdcce9992e6325bb147051ba04e3915e891e35d6b35a5f23cb73c2a4bdbdd27562d8877d5442f9bf95e9ee8eacba38562cf9c659418fcf117f03fd5c119625f2a035b6ba2331c6d647c786a01d8f741823928fb13d91c5b196256630a0555b71aab81239950c68f4c86a52bfb68aaeadb4555c2d4b9c5c2b6b41a5ec5109658f3d6e41636ba4a25b391a4f4e93e491cf401df2ab2787e6b5d573dda1fcfa0483564f1274b00cfc1d5b517c3b33e6c9f93e270f07f632085a3919991e282f7dd2585a93b6fa9b6faf1ccdb77334b1949203e6039b303025f3edee7eb3b8228a9760fdc87c7b723c4b76826e2c2972f2e42081d6f8d593f3edb145b11d7048620b87c88a2b3c33d03a6d5ee3abe3204a13944ddb273b5fcc892b1da38b15d3a46c499332c73c988cd995837dcbd38b522fb22ce69cbe5897263c7b23e9d08b95212e610f10df8b25f18659bf3cb93ee7f59cb32edac6951859a6eccb5c3ad600fef8f1c729d03a5beec03aab825b95cacdbc748e63eb2392e778241a798e469a14232bb69a40d9fbc14e05b446d6cbc8e26672b855a90448fd748eeb2eae07c3b9121ab7a0cb1ee71dc7cc5ba7b393f94477735ef9a9f91752cf61dd63fc5109f5aea05bf7f1731fffae4b775c4bedee2eef2eaf6fbe9b7b57d0d9e1a2125a3daf2b68c64920680da55c522609560505978039354e4a280a0be508b3ef3ad683ee0eda0a85d5e14469795750e95d41b557d255416b0d9975d9bcd6b0194df1d3043f7db782bed6903951d540e2e7890fb6f4c224025542073c81c24fcfb2403bdef17aa2aa2173a28a25141683dc0c7b3f763a0a0be5484f8f2f156fa986ccae4c67af51c4964017e8d935234bc29c5d632dbbd6d25c4dea67257e6aa9d46334b1a469463496d6dabe50ea884fcd73d9c7269910682b105cd2834dc57a50cc5fe2b639f681391dce1aa70ea7bff4f438ddd3825630e7a783d3c1255ddad46c3de62636d1e42696d684f9c96b5dbcc7fca48b939c26f1631ee3d4a47eec888f091edb120a4b5badcbf6987f6ad6c5e431cc514e54da11b6544366a234e127e8fae99c0783bd907a79a23594d25299bfb40c214097677a5a3f51a4cc57145628f5f3059bb8220304b47a5ef244eb0e52a6bed0ba01737623b47a5e3fdde36a12fb744fab499b4ff7206912e7d3512a37f3d3d7b3a1ff3b29d2e1044f541d4ee74e541c7732626ac848a9a57e7a4794175ad9cf175a71653aa3b05e68a1b07e7a2c757c3acaec8027aab8329d0b5a4f543f6bc8fcf45599a00e044845192c9874fadcfea8eca0d20389eec7c9430385115ccba3a9a2884d349ae2668a5447af20a243058b4b89600691d9782002ad8a57c708466455d84c1a9710184aa5d16c4123a990c9844822ee9413080a7342a6e948347af96113a507d3a1b144a590524e2b96b0e289b8b1443729714640c54b29dd29cd0baaa6e9c80435738a4633a808fbc5a959c157ead305274875898cba333b728a1a9aae0105801728a0fe8b2345111a07f4855f1c2966d02690e2044a4881041554fbc59182882034c62f4e1456484581e486b64c51b0e2cabea64521020ebdfcc58982c7576ff982338112b247e6d1e549ca345102662968c4c0c862bae83228b02f9660d815689df1154bd263cbad3be40c674070938baa6e9e1bb9a3e05272c07c380011704e26cc7798bc1f94761d6ed402f5cde20a239e59460f6d48e0025dc24e30005922315dc384afbb4a35d1c5af8cdf8d2f504048ebebb449021040a7c232b48b7ec1f84e10b4862efc66d14417bf355c23dc0b6b29c3496c08b485bdb2b8012bbe68b85516398081139a06127598127d6f3024c9b3a744f0c60d6870242e4e13457e9d861cba246d5492fcfaaec710236d40f0755331ddcce2a420055fb7c86f78030c9aefc617a8efc617403a74d1fa0d309ee82cb08882b46deb881f479e7f187936b113469edbc11c1cc67746405d0084131c6ba01b4b84b474c82fbd5f4b870da6acefb7ffecf0a031803387d64dbdc439997769e830e2d0616c061b40030e3374084387b18304aa43461ed4638821860ea3b774185be2cb0cab22ed8a99999b999b196b516602fa32c307dcecb609cc28c1f3f928a11fd6b3472f87ce4c42694c502636263726439a449d1de45c0e97f3517d54a021dbc23e6dac0b3ffb3c020579a5a06f5ff4f17fbefaf181090b9edde40b718b75180c1f55fcacbc136567c0c7c8b373dcd79940e6124cc941fae61be8039360c9152993f41da697eeaa8821134b1de75c1e575c61f77cdc046562b32e20673711d2a4fe3c3f52d16a82723dfb47051275c820904e8156ca39e8eb9ee6d9a54063a9e39bf373eaa3a2206717310da8e32090b7c4d2e6282a1a1ce20a7b0ac83bbec3e4793948ef7c54201fb82bbc5226e91c7b381a043ea063faa8b0d114d4732c07f3caa5807a2e53db27e9276f3ae48e6326a86a725363ccc8af8303e6045a5b18f0c2fbf308b4bfb6fc9ad8e324684fa032c629ae24812e7be78c75dcc65f24c510e87813c8bc03a6e4d0f141061eb42065eaf80e1337b7a058ff47f5518d6a687f5d152bc62976be35ad094342652a96b8d991294f3d3b97134b1c68828a2becdb9c1d4ab99c679f2dba5f4d5098cfd36632b1892beca121b49aa06ec8c73a34d4b9c14a4d50282dc9a10d11448c40247bd2c06fe4d7356db5c59c73729e1fdcaa54941a148aceaca49135b1e5718faf4824e3b44e77b794d2e3d283f14c495dbe0cc68ca25997659907333d736e99390eb53cdac7b92f26087fb69cedf551f535c4f2e19d6cac8df5f94e8cf44a6f413b9d8ddbb66dd37c3d8e36cf429ebd630f2109691f831f99edf3b0e2cac9f37279271ad3935533d534ea1aedcc4e0765ebccd9c932e9899d996d5be69b0793753a2124dfce855c5dc8e575a1239d4ce7eb69fed2db447dbbe7b339b98944b623bdd21b2b86ce8e73d6c9ba1995d08e9781272be638231d76a72344e7db415b9db04e56285260519cac50a4989e2969da51a45897ddb6a0559bf95e49b33b7d635c97b9819e5588453f24daf4b836e3795bc73d0fa673d2be1f1f66f043f3798ccc7c7bf76d5cf13e8feb73a29e1cd48758a067d5a10c998db51d6952c7dbb75688154b1fef10eb037a56315a40eb36fa36ae64337edacf2f54f3857c7ca1edbbf9f6884a7d7b68b5362b229ed5e7f3e1665e31d98bf30e0ca16404416bc8b3fade58a123bd928121966773cf06fe105f9ed091192ca6f30ab53aec10abc393d5b24041ab67c5faae27abef95912665ac234d9a27ab75d929bf8de54dcf3e4acd0f7287fca177b4560023b81899996577cf8e31eeae4bce24e6c1ecf2621826b32c9bb2d3346d86fb6824a29399797b55c2d07dc6687797b29455701faaa4f33c6f08254a3e9f0fa5140402c95028e4c130681232015113131313131900e8f1118d46947673327337a93ca984a1fb8cedc63070698c317252938c614360183336c2c02aa218a6f1468f6b33ac0aba608d48629267cfb28c6adc7efc5cc6cfc54eaa80b247af06edeb0656d2accfcf5e3bf594a133231aafa91aaae5316ec5a5385511ed46bbe9b0b1ffd47cd55c2d160d92d7becf13bdd25f7fa67d3141321f02f5556b69ac6fef7c355dd26ee24a7beadb8693f93cb1592637897dfbac436a1e067e683adce7689a377a58d366be330cc376884b3cd7a3431c54cf1858632b6a335dda8e3934a71a19d4b79cb1a1f92a5147b42fa39d9ae76f3d493a6ccfebdbe3c2c1d3e27a74d83253fbd6d4d13ee675c8e7643a9434cf7266cee7a494326a9aa6655886456cc61cfac547f25524e4db330e732ecb84a058f40cfc7c1f9a0e3f4e9480d6cf87e6db3f374daa1f27be51403e364d12223f4eac0b8f646428629a8ccd99e6a91bf84f4a005bf0ca909d7e47339c43fe3939e7fad35a6b6ddbb64dd3349f9f0f3b4c1dcf3c980df360b409747cbee69ca675ce7376e064f64d2b4d13b707c35e0ed359bb40872938c495cc31005a607241b1219c0e761ee667a99408ac6bde1fbf9f3b166398e3104b3eb8c64250eab61e93405cc19ca05be4f7311ce20a36ab40f9a643cc33906d3ac4309f5c504e15f172bd5cae941c7c488900bb74c9d17798e2b71d50ca8dc5f1e1faf606ebe2f8683d0ffd39f87fac2f8e0fffa17770efc0ad4ae5462a2a53aca592d0aaa55e4bc552bb744d154bd1a56bab26f5cb4cb379295db3d1847489ae67d1b30c23d2a1a602b55487d2e7112d55f383ccb95d172dee3055da2a36be653bf32ccbb24c740ab32cd3b22cf355c9401df605052584cca4e0b98f0ed1e933e7817f6557a457ba809758849d18ea5f377cb9022ebed297d2b320e8be9450e33b44184015dfed40464a2f1504293e0043fc868516bbb0b1e4290b62484c46f60c933344c05444805f1c1500c1070abe5297fd92823b5886b19452480f23ac38fd20c8cb489022d40429128420316020b4fbc50912a423a5c40932c54b29ddb50c0b6df0909e5f9c202508d24411adb8b2de49c2c793c4d3deec66070994bdb3f9fa9452fa76beaaf23b638c8e496e3669c33a518b39b5d9a4dd2c462a2516e3728c9c16d15bf5e43edd7abb9c8bb24798f5cd50cf1e2850f6f8f1781db7d148a386abe118a38c31c3640d571fc518a39cad6d315911ca1e31cca58c319bab6d42d41863d45a2e0d82b24b2c8b3166dd36c416b3bebbbbde0fb896166ef36c8e46b2f33a12a39d168e63423667b698e7f3a11b10148461bca1941e584c4e5068b2f441d61db225d422514ad06ac3444ac936644eceeb902d12942825508e4d8a1f1a3a89218932712186c424aa49981794bda54912081724ea24e650de803899353407b2872ca287922db49671bb6e73ad331a619ea733a2487810689306ce25d030cbb20ccb3e746aac050acabede30ebc073a1688261a06a5d308fe147e74c56cf5e5cfd6a6074712b21190c0a3289114d3a99c4c98e30b91b66595683fc0c94ae0d04943dec68819e7412091aa3e3ce16a8ab49d13b5aa0ec5c8c8ddb56b3f13481d734294f1f9479b94d51f690de810f22a0a0222c3011680c2514a12ee8000a3498010a6cb040c1085a80021e9c051aca4253414d906441a9117e019d45fa09ead980072708c24450f98b7382297a86767e714e5073021a13a034cc93fa9cbca854cc957649913a452300000000a31400203018128a0683e1689687caf00314800c8c98466e5218c9c3288851248394010410408001202022203233220300f970afc26223ddc5d344ad616a8b5b959b4d5a6652d359da4e3737e189e245838215d68e4152a31349099ea089dc8ba20a179650249fba60339685904b14676d080501c48cd100d7d4ad256aa026757b0b1201f787319c913a4294318c7640958526d932cec39146bd354012e365d05da1abddfd4b7bb64ba92185f8c0ff5edb6000ab9928fdd371bfe37b11c95dd7e8a95b846bdfd44f1a908807ed7d0792eebfffa4fbfac226584b0f644a242d1cb0b8c2575b824907c022bf3ae6546286fdf94a577720217d1b3635a15cee0a2a5ae14f044f74999898b7404f500e3ae7385a40b0b18629f4030fda94251f9ba1e4e5490ddbc1333f5ca6a548899aaab3d87ab2494452f672720e01ccc4ba4bd0ae55ac2b22d542873abed7372476db1235ffcdbffb3c67d5790381a841568cd88bc6adb6534b36e54f72f796637de5cbf379197db9b0924574b902c4e1f4d7f25585dfc9dc5eb4029aec22e73b88cd5a31aa16194170bbc1d4f069ead42251ac1495a5c2ae178386e25cdd9bef44749b09dab722bebe0a7784049ee7811bd11f631f9f71c73cbbb31a05254cf413a3336309f5ebca17cd16917d95ce069656f37711fdd7556cc980c65186eb2b49af18cc8ac72dd8ff364806535b0ce255a84f4fcd4d3ef958e31061194abde2af79c7a6615a6214f2fdfc032f8c60fd83ca9363794ab6283160322e407c3d630090f3b70357426e7fff26d4d5b180a59693de60acfc31b630348d6d01012c03b8e8af8d84dae3d7d962d5520b0335c98db690cc6572dbcd9a7224e6945028eb3fd51088b5e2feab6c8f9e7dc380d4375854504238ddf22c1f38fb70cfb0ffe9f8bb7e1773d157ef92bca2e0e77c6c425fe1c7fae47830120ebea354ebe272e9272348d407bdef7fc4c48e397798738b9ec762cc6b34864b9c43cb883759bef32b0a9e236661093bc1b096a13b576d1a248635ab3c2025b797691223f5254a058d61c1754b52dda6177f792c7600bab3761809b1be877bfb1bcc353f04a0ed7e1d19888bea52479794afd56f6b8a718ec941ab8680c16a09706887bca69b5f177d430d60050463a1fd4ad2a59f96d876ddbc1dbbbf288e539e2bebe2ebf074bd5a411abca592796d250e8d2876b4b7d44f40405a84a96a4ab31095c29ecd4a5ffdfc97e4c98dcaead755929ef0894df8dc9311bfb99a0115ceebc71f5f5deffb082d208da781ac096be3111ea67d6da7c76efbc8b5129b6ec1271b50b044494c37295c67b69393c5a7d1131f6826ffaf124f258d35369017e84e3a776d089ac9275b7f74eaccb5bb7607c4821273e2fa5e8d14d235fa5d95f58257b3c56261adb7057342800451f3ad70462f6107d32f8b9628ff8256d25e3a18192902439523e6b0b9651019639a5ac80420dbabb25344fa1004bdd6491f4eaa54d8e89ac1128dfdca5ac731225ea0e5e0b6c85cb28b0f51bca77f239ff92de9a23857e0413fb5741c1c0f59c32235a32d85558df8e73ddf3d996ef3544b1f366fe188583a32308517c653668cdf95b0fbdfe13748acf2ad9d57ceeffdbee7a7a7cd7af98549281f4b700a22a86060eae48f86e7c7b7d20667bfb42d935b6fca4e67834534d1de6c23d9c30e4c1631eef2951c894547fadddad2d1def1008324af84c6ea2b5d72e1ce5da380ef86e92e452b13f1094e6e4000ed709432188ede0916e99eb2abc0ef95ddd0983282558acea43bd9568a7ad24f1593242fe5cd916a476f5e692e9a1d2407b983170ab9407c078222f4ab31bfd1e307f0728ebea4d4010dedfcfe1c7a07c69bcd33a5987da0278c0e0f767a9f98fb9d2414019e78d82c6565667c3d7846b2854a3b9f2f3d9a84242d19deadfaa7b99cc91a6c82ff2c207f41b55dca4ac5cadb62d5137b9875f4209854b32a0ecc25662644b12bebc6a22afda944565f6ea915e31089888aa0a5736f15ac3212d9a6ffa002e8fd888852fb403458b041da4d6c5b94d44b443da3cee6f61063b295a00955c509f46966d59fd1518d533864f1a63ad58a13e02c04b3e1235bdf0e7458099155044d842375113cd9cd196dd0a844860bc1d7208375207a69f88f50c930a92717f727d49304c5fd0bedcaf21abdcbeddcce4fd7352ab3a9832ac8e624fcdd5fc068090c60eb766b0c4c141e5a61727c086d6d9201271d6d0c68667f7e3499f26684b502352cf2e4f851779d158cbf2bbe634c7d886861083074583bfe0a803f8d3557618d4e775657ce7db3684207507bbc4046b66aecbd69deb10868a63961724c5f0db9dc786c4c3ad24ac95fa6c18dfdf6c627852236448b2417a06edf9cc3d5fcd0bc40b2009f4a8305246b13156bfcf2d39acc35d947844f8d9fa160b2522ab9cd0dcb223360e1821e6daa590c8185284ed3bf7e9e013237dacc8c0021dbc1e2340a4a048ec116b104fc237490a4e13fa2ceef392c5795fb90a1b1488ab902d75d17a2c45a43e9ee3dea5297b8ce8a7fdc94723f5bec3a54fe527e193394601fdaedfccabfe2d2b2be72e1fac7f8c622266dbc54a60cc222a0e78be448831c575612a425eefb12638d444910cabe446cc712229e867dc1e317a03dd0d0ff468f3eaab5e486cf3b192d8626986e1cbfac982df7f21a98d12748f74a69867d07df74bc8f4d81e312fd707c77c44fcee6514dba576eae93935b25b3af039ac8fdef66941938d4fa47faac5b584d41ceee6c127cf7d302f94a77d6dad6f4e201ef0e8daf2f0000fb9d00fa89b800db744ab9817e41b5e691207d7a250195630b20844c314eafc1b388095c2eb97c8b73811336498b4c989344dcca062d7f7bb5cef0cd4381b5a3acde4a6718a46134669b75c934b3440983ad4a42fca6158d99017549563363a27d724a4ed658432c582d71775185a144e71c11dc2430863e6cf2d179354a0fe1bda1d4f45a0dc5302c66b03ea5421c31419de8fc2a57131ecd97d75fda43e79df481da605618ec4e3d46e7773c7442bde032a168cb9965354ff2b9eb8ba275afa4b4a3b92132bb224b3ddadb26cfb1646bcc9939a288ccaceabd306ac419c83bca62d68ceb374a7a7738f9d3c1a28e3c3b80fc898c54442ecd7653bd3bb1912f5219c657f597b277fb0880b18e3392a73bfdd833923126c1c8bad0eb010b37805e4d2f556c152cb5fdafd195b11559359e5a0272379c544e0c42cb7ee7291e15d99aa3429dbb353c9e214bee5d3958a0a51089f62c352d10a0580aafda46c29709bb3aa9c412acaaa686161f664b62a36a2e13e1c8b47852cd41683e914160d555059ed3fdd26e107164625bd3aeb4780a042c8128cfd85b12fa3457974e3fd3496fa6b8354657ead2d3a8e3e9c771972c0a03eb4699619faefc347e50c9c7e99bfe6a6e6022212f99cad2bff878e348246a2a12ee5073638aba95e99659eff38649e1b0dcd393ba1e407d62b2f9837a8e59783f6b0057c1020a32107f147aa47506a65fdfd0a5c423432a608108f9a76fdb8818dbd259d134f1c26b508bbc089cdba537f06f0391f85980d43eb4f017e850bc2c857ff27df38937d830fb54eef90c21672a8c31d921e26291be51828340af86e7bac1c17fb71d21205a7fe6e0ee6a3cda49445a393b7635a14fa0e7de8d32058a672c3259802b2f4320d5712b0e5105c7cff1004bd9149668ff8bbadb5acb498b50b84eb9889b1ebca2d7b9382af6af83400bb70c16f2e400959072c5bde9e889a3ca66650a3c5dff900f36349620194af11f0648573b58f36085ac7055837f1cd0ffbcf42e85ba39779bdf56afc9f544a2ffc0e8d212040a8447baed6598da568e5daa80d7303fc16de4195449612f7c2ad7cd28fe6bca9fb9eceea45495b67947385a66bc91e390b5955dec1687329f016e5e29124a4064064401774ef94a500d28922b9df97e6c45b6f8d58f59917c774161ac1f9d55bc140f380538eac9a3c134ed05f2ffae1133854c5904b99e96b24cd8194ed95e8f5f127e2269c23b4a3035673bc70c0ea400153231055fcb68000c631716cf32b4a3dc36c72f32f1a0cf820b0fe9253883bb6ff5db3c314d0fd69764d0590a004e55291e0b3555eebcd8f628b5955fd2ec1e115f0f1469e4efe37417c1a86692d0182cd454720597dfc4c86b1b4ec6e846f75174349be7bc67baa0bb9e33f93974b1f17781da7873571e77d69168206d3f8a0ddd312f5fed808782d744b215bfdae442f309ce61e2403b6ceb4a7a5d92847db8fdd93e1e26617f7fa5d166e134b975abe99d9618fb63a4d18dce8d0b56d8bc6139d70569f1c548f73c9a2bc52f5a45c15ce415c4478dca9f2e1f631984fe8650192f8266fd23e67fa69d1cf0141b0d23af1bf0234ec2eb61bbd9d734eb5407706ebfc1220541b883d5900ea8d56c155ba0367385a3f48d33f3e4bc5d43cf7ca021c5ac2cf1781a30bce3d08c43f38f0545993099cbbd46c460efa0975c37560189c1ce8140205ad3039f17005c573c9870f72bd1864670609f49e3b66024c7a749e3e61bcc751215c8cae43e290689f95b4ee9b62918a0ee5cbe90934c018553ba1f1f13208cb62e525396bd3bb74e388b34f17b05f653cabc3ca9c7b499c1116df54389be3d493cbc06e432621dff5777a940644c5d2cefbfac54b78bccc40b4f7603774a5ccaf0a15f3be23e56743543eafe1f900e0bc57def4427ae138a8ed2b4d2b3e458bbdf52f2d6760c5d57b880ca917a0e4036f22c2571638f2dccf9e60da2726c6b7c142e5757fb06f88934a8118cadd2d6561d3aa6ab027ba796697dabbe112ca4dd175e2f954f5a38237a3320f392aaac12c4ff665ce08a4e9a9c4196944d8b57c2e9829323e82ba5890cb79a1b5631d70770a897891110d79253b24dbcc5826e1177e001d96df03013fe3dd5052a8374dac273875bee18b12a6fb75d84b79f9d7a46b705c2b65e3921db26ea0e1c7740a2b37bc9c7f36a8fd391525d7e5570904a835ac2a67c4fb95e08539e4a10c531ab6ee00f38dc33da86ae08c40a0643f7e82896728049232868a1e972ef8c42c9492f82c1c8a25d617518d7855f98bb9889d6582aadc561d8e642155405c49b93fdf54df7155c68220a0117f33c87b0ffcbb7403546dfa7ab6a9dea8b3f638907aba5cecbb5610994c5bc2e7eee9e58c489f8390526809e16ffab0693e6f752e5ac1220973a65f0458af3cbbb571a15bd7e3c346de45da79406ccde8b6fd2999c7451644a89bcd8bf4e65e190e1b0461a60ce557095cee4f69648798c9fd38935fb9592e80d706d3314d932168f313a222dd182dd13888dafb39776d696fb21686fe604fc965d27780ff81cec7841ac9c4a2dafb8f2a1ca78e5fcb221d3e313cfac4bee14ad9b88cefdd1a12674bc8a198a7223612f2147e942eed27630da7b587f90b43a5f82f35846cd0e260b7a4823138bc1c07c6f1546adf73f6cadc24df01b54554cc44d96287271a14ec4787571ecc590481f286cf3267f1c1f04184c6c2372158c9e4b62cd8dc41e4af3f46426104308a22377f38a553fd152d810d51c48bcc80ef885443c401fe9e0dd40bec20eae9817d926d4c8a24252e444183a1e27ca9889f2973892c65d8d94be5de4ef032de3e65c5c8d3ee1520a6a07f9ebf50761f1572f2c469074137b7c43997e277a4d739265bf1f8aa5004ab91399c5903af37f7815f8a64504a5d3df240628dad55dfe01dafe41c0fca843dc893f8141bbaf8d97e764dc860c9fbdb09b2724c8602fe02848d94713c713ea5ed4600d8e3d7bccef892a82a5f44833a044be022a10f2d229880c103f2c4deca378f757b380f9e56969f8069437c4341dd09571cf7904b1a3ea153c24d4ea27bad64b545515ee1fae0e68fd043cd1dc9b7ea762125d570226e21ebfa6c8736fcb433401eedb294c780ad202eac1928d9ef4c073a91557a712764be3123747fe8adbfd7de69eb99292b9c25a9e316118d06a3b2891ad94406be231ff9cce27aeba6f046993354ed27ab0c625a838e0adb6b48eeaa065be4a8948eb53e09fef9ca77fe01dcb7f9fab22c7e2303bda23a789739ae747fd1e25f61aa030cd728a087517e6f473a15f183da4df4da6f6792e6e5f599ec634cc6e5241a739ff8ae54723e7e21e3dfc75078a2ebaa62114260d9b71afe0b979087245b8a68ff49fa84118f98c2d300df7ccc0fdd30ee2ced3c0078bd3bc16da336aae9d406da0940321b93dd6a7a7ec1c5530b45572b1273a10c1275d999b6bb61766a93977939503b7faecee38b7958d6e10cbd136b9b830bbfc965c054a7be63b3fca93d627da17438f95784953f8f4fab185ce45bd48a926997ed92f11ea13f4edb92f2dac70e4a85e861e8626fb0ad07fb9fde663a5063f669e0aabb56633f35052f0d55208dcf08312c6cc25621f376430e3e9c6268e6d7b708802193865e20df532140b08ff033fccb1ca1d4acbc730711eaab9390a1992e93b73759e823655a0f860088dbac7eb624e62ac3de9f2e103bcc79ab835c332b85112a9a5e556e549bd5063f6a3b86b8b67af732237aca2bb7c889ab06eaaf36fde6111784c63d418297b4366bfa35907952d87237f2e0f52d968f2a12da64a96ca0174ee69984e9504cccc34b6320f4097f2bf4d81ec699a8f48395e48c5ea685212835c85a45ecfb7756db67245703a5d888b40ccad983fe75f3bbeffbfae09c43e9cc9fb3673f0c4b89d2d1a6f83244f09e917bf589fdd744c678b6e10b2090154c8dd49c03d98911c8d5cc0e83310bd0fc5f5e1948c8ce9830ba036c1e43ca10731874ac9ef8329ddda0cd80e1e19264c07890ecb21d11adf36539a8da182fac3898e1dbd32bd86597e2d9314dfae5911c50b7c531d914b3464e73569fcf5f6c107fede310220395e63e3b30577f1dad7685d04f69adb959d23ffbd90c7e5f767f8b48916c0ff3c167956b45c8dd12e5a88704c5c7ebb6410243d56a786df3174f35fbee669bd80ceb3cedec5d4b21c4913c5f068f378d533a42e09138d7d64baa89b1992af00b42ac72012c2881885c23846a783ecfc119eff96eb406fa1fe89778a2fe1bf64382d18464d4f6676ad097a114fd482135922cfa60dac873687055ec2a90437a9d04430fa0782f9ab1acb5649e533b31590bc68ab0c92a8ba025e76121dcb3e39ee551427128e4c94ba93b26ab9472f12c088c56ee8573a1c32296a8e1ccf72d21e05b63d556d4c087efb2759a8d2184f43f5a721915f75778e1b4dc070189d15bb7808e9c43f5a275e04804fb7198ba34cea3b090527ddab3ce3f7acc293d4ec2ac84a194e4a95bdd11f2bcecfe360904aed0ac731144d659e13131bfe7f3f85a89fd06d0d15deef8639129b72d2ab4f25584809fedc9187a01add81a16e6153e449082802c1936a1b6a643f856bdc1255c74a0e234cebd84b4bd029f8725275fa9d826a274e1a52af8949e1c804a87c9233888b461bdd4017acdda55867b2f90e5d8623b52840667756336870f1e74c81428b973f68b12e9ef21450cc74698996698f3545482f7ebe1070998a9ef02cf79fc0466e6e38f250287a8748fe8de39d3bcd5d206080bcb344caf6fefd06c1e846d9ea339a6b2b66c9ae1e9dfa5b997aa7e0210041d427e72fb87ca09ae46c0e44fcf410cd1f4208bfee498913297004d2632f907f8641a23a0a6af18af951202284420d09d33080a7b7788431bd55b25b28092e0eb411e47f4e16da06b0d1e23b593aa87341b0c056c07733d7815e97599440a1cdc5972a91d67d42f15842c15c5e342f1f2974e3f68d3d7c77989f2213026ca2faea1a6dc6ed69154535fae0bd8f127729ee5a55a69143793c29935fc89e7f6e40799d81f4825fdb8f34c114bbdc692b67bed0a8144ff27e665c88cb9e273bf37b61f22d5612b8bf5c9251fdc8c3bef5471f90be1630896fb2bddc93c6fe96d729785bb4e394c9b23aa053c8fa5b0f888f109920b8bd9f419ea32a0011057948838ffcd441b46696448674614060b91f9808b0a8d911080962272cade5d1c80469991a9df424ce2fd486835790c4591ec00c64460178f33cf96ec38ca49173c23aa35958d7118d622e3ccfd74539e3104be3fd2d943618496b4e7309dac87a916493c2233357d7f91a37cc15e96b84f34779807a35b6fbcd29dae820a62856bf0b603c06e0bfe154fa00bd37f34fc5498d06d81a34a85a4e1bb1ac772f503d263bbe8616901cd1fd2878badb1106b152c56e4312265ec2721e3980e4723e4af8603442021e4dbfbf4e89d1b61d91ec217ae02abc3b829641446cf244821114b764cf76007003d458da3ae962230d5b108aa4fe46290e11a6a850f7ed291de0595a4cf906e7639addb590ec89690b2154ca7895a7945580296a224412d67b393d4223692207227dc79331ce052a3c5ef5511d5e1196e6e917a29a76580620e33ed313475477137682241191db408a617a61655ae20db53448ca1ea97e1a3f469c0f244ca580558828f8dd1f3b02df6d4f61d21b671801f56fa57b02d7187928cd749b700ac64c9edb5014e4de7e5e7aa54417667836a5bf90e64c309c7e87089447c0d9e4d187461d9e1db0c6dc992af4484ba019839ffcd77b713c9308709a674b364cc3205777a512b0df0ce8a3c1fb218a3538b31626d319a2a8291c7494ea987ee1ab8cc3972c10146395b9b7595fb518e887f0d3aeb8579d4acbc15327579bbe8e047a6cf6f6cb8f30c415aa3bbb45eafb3ec20490664203f96ff4b3b8fce79ad5d7fc7c0512827692b5881f8ddcc593d7560fc221de17809e4bff41fdfdb7d387a2e3707fbab8e81e7c00aecbce2cbcc7565bed30cf5aaf3f04da2f0c9866a3ac7c0875a9f45d246e48cfd514696ab144451175bf10ec7ea3e553214ac01a60f89f02115868650e5697bbb6030cf45d6a71c23ed420467916d2a52c803fa1e2f3575afadb66b55f555fd746e6e1cbdcd05dbb3b3bd6698072c8dc9e74bdc30de02db693a8c0e3a21818a6a1dc6e062a6dc6dde1defc809c3cfbc2c6c232183f78ff4c8b1ecf1d10a70ea68f0aea83328633b13bc8f1dea898f354e534617d789971db42fb70bdf847d70ab9e5502956f61576c9bb4a91c2911b28e68398ab5346dc03a9ce512111876d276d244c6ce87710d1c5dab32099cae63a0ccb0df240452115178d46741434058088a61d0cea1524e31afe93d7b277c2962373bec5bde11ac41b854e4158898e9c11e895e9384010ced7b6dba92d309d0eb46e4e2e3e36df666b99d4ec855e44366c166fdf9a1821d80cec2548ba141288e3dfb3704c7d7305eccc592cbb317fa2183932c0eb31bbc70e6fe5badd880ba6bfd187d9f0aca15f4af0b2ad2fc547b640f8ae112a682d9b42c11915f49ce6a69a4187d8fd39014c403bac8186dd6a43e1b488b881ea71c3544c7a560268bc745f740e695c99bd7442c7ad92e011582014e9e30eb93565c64258af3bfc905664c0a50caebc9cd488d3bf81b50b2767e1308eadcb3706f4f04667bfb195182c48ff704dcce15dc1d1fcb0f8a68f02f08981a03bd3dba0adc67922a91148d497feea1a3c109a3c92a262c21d9e43d5c11e251b4730ba5679f1504ea2625370400cd156337b44dc0200219f85892197eb508de40ced45733c8d599423acf498011f99b52179ccf04c78702f780d414af9b70a518b8d2e17ccecd6ac6400a0d571279b25c0fa253d239b500b46db1d89b0dca205be78b82de9719c6373217c8c53967a2882bfed1c79952340a20e1d20afdbc9ea711e22a0ced29193b931038f0821fd1d7cf53b2bcd7e236d9c9e9601a1ab6d0bd91eea0701806f5b9d1534aa9c6cc570ac488776703840252ee5b9699bbf1667283b9ae37542f310e039df8145e6ed58430fce165daa28b8704fb43e8deca78b270c540a6d2bdc234a3971cc83d668f45e152b5610414b0d656e9707cfe9f282d76d85f5ac561d76140d979e33489e2b3cfc6c481542ea338e7357f79a995ce743a35810a814c24d85f41f5b0d45d032113a126dbe131b336efab0a642071ec57521c7418dc580962d2ef6428d8e7d9dee170cc18126ed6b131f76c5b3d660d1af177ace79df0ffb739036ece167930bd9b9445aba84e07b2c2ea9f29a4794041f3b777f15774e1d0d868d21077bd74ca304894ebd07a9d0f5dfd7252cc577650710ac3a71ada2383e8e9f3ba1ad25671cd7134c8dc621396bfa008d82c854c0cc3f37a2ae29b62ed3460549778aa3b1d9e02b6ecae7431f73ebccb357af0cc38ee8e30bd4de12cfec37283f47b8a7080d7396ed0b91530bb6c02e0f93dfcba67becc190728f85e3b1e9ddca28cee00c9678839ee9b2b224ecbfb780bd58236a2ac0e98ab50a13818aa8b8cdd63dd6920672fd5b44e3b84ba27fa9a1c1ef044fa06c8a2e66ffab8be1896a3bb02cf16f68a9bc348c196fb0b754ec21aab0104788810b219f913826fb1f9d81f338a514900ef52aeed0ada63a11ba0cc6e7553cc9b2594a753e36140258b8ce9794eb080882f96c7f1cc045dff74143e17ec5a1f5d723f5b59e80a205a40476f58fe2e52e2120d3a16653ae2ca26dd86e5dc1cad5d634fa2a53eb19e5f60d94861c0cfad5835d5251477566ca826bb73c8ea0d84bbafd78f5186b0268d2b47daca363d611235cd065902e1b38f13ca4ede555212f705c930b66af855d56b32e8b8adc101f22e785382e49e2575c88d8063fa0ef2f2fc396a649561a493c59f2e17796ab5ba8c7941347cce1dfc8b5b68ff4b54e48ef83100c1449e437c34f77591fb85ad1520d7ae4a6415c66478411169a1ff2e0886b74d9397b0448af0ab398eb2a24a20e67b05e02f95dcd4bad33c9a550835831760de65cbaf3b8c63a891f841f00709af5bf1359634518ec2aa1d0c74287365c83e1efc62796e1220e5dc38bfbd2eca4d92e8522a04b32c6961d3f968b25bad43c6047b957f14c61b3b34917256e55077473e8623531d76e2025e25a8c2034c78cc0c5517785bfa9a5f01ced48de098b3eb39e24947edae91a6d19090f668d260de740f7d753526d31381573055a97e01a317fc67611fafbe6138c449022b81771b6d2b6adaa4afe18ba85afc0516ea9bbd44e90eaa67c73a5102759ac2b68bd2d9e6472258d8958d9a98e180ae3928f2237a7806bcc2f422f9717a4db1e8be082d8e60c12d10f3c25c8974edb22aa378ccc9088237d1c19b48207be084ca653e02e33ca1325d436011854e84cdbfb9ead2682b397fbe3ba5e25cc1744303a2822007b58210c8045b1840bf6bd23ec8596bcef79fef926f1edeb5a87b4ae5fd5dea4954b3f89dad33df4fa700585cce7ed77499c4a666b0ebdfe961dbce20372a7a869e4e639ecd6f1794dcdb300bf8794f91b2e8437caa056f57713b512e1aa168f370fc3831cf84b0a2f4db63ec527200ea9a354f15e380111b4730ad7c7b3917614a566c1bd0b6336f7fbf82bd2eea2553c1cd582f1cdeb369e55e4ae44afdcc3a9d3897be65916a79f2688ec35de58d74b5fa17593e0ebf58f832885cda31a00e260309d6ecaf38b93043b281b4f1371fe266255c3c1e24198766c10b197a04da50a9237dd0f043f62dcd6dd5b7aebc21ac0d6b1adc41ab24a53d88ee61cd6f837d3a5869d4b0dfb8075b0662c69c6d58783e85fcdac44effd99fd82fc698ae87ae2a5c897704a762e64d61a5fac69c18abd00fdc600556b209f0a7c5320529cdc9cf7a611ac02c7f2db7eae7b4308b6484b551ad261c77b0385ad16561de5224ff01d8f3b66b083be9a9e7c04ab846eb477b2379534c1a1aea99a55e204c9dec0755323e9236dd81ce39ff14da829e18106b046fdca4fc161e2ed8d65d854230a82252a82b7169502dde8deb0ef5bb1b74262e4b3b05cc6210a651cc65ba982f5538117e35aacf01dbf314b0f7e4506c569eab8d613a3e3959e3ab46a938a685e64a793e7a3cafe2d291fb3319df4a4ae9c9c0eac10fdb01ef578928fc5291b5681bda0f506de6f0afd7c14279c2f75796b776c0800b5fcf09bd88c50c5144e241cb2947f2d38b979c8703b75c34e3ad6514414e32d888cfa269531e9bc1209d44e509274744c93e784e1c3bb84f1c98c09017de993180caa7a33789c6942757b5e1f593d5e6fd2a6ae85f33e4f1e3cc433e498340b7ea72274f4eff9e8c7d74f9966a8e829da8d11cd5d78cce9d9e3be0e0aaef8a215daf282e81ee5bf013cd32e3483ef4383773cab27a30620aaf024281f804247af1141d9e769f93572408531d18d576506fa7f46383873744b92c6113880eb0d43e83933d6b1922221a6da03598b47e1391c3aa1db546dc6533883f2f3c29f268ac9fbf8f9311fb6b030cd06cf00e162d8282271e66d2820f4b9a65070e423d3d8ea734826b05131a02832f2d4790fa0d6061084fdedbd86fb79320e24e4401430f431ccb9a4579c916aae0e22a7023a1daed85c97e11823560d3bc3a7912bd5a0bdcf2d1066aa4a0f18e0eed29dc1165612d53602496ae4c0303932e4278123ed7cf69643dc44c21537772115c55abc7c10f2c3f6dc3539c542c6dcd5cc2b2a62139eb95a0299bd2f28b9ac7ca904851137a972084cc6ec5bac5f88d68837e4ef3708b965826a9d302b4d73fb7840335a67e594c1fe352e4581d4b93a2e8d63719ecf47810281fcca03a0e3db44e5cad85286ad884907060908facf7f95ad150c4392abe3594ebed9272b3da1ae039d6e2b324a44afa447fa1d714bfe828e9a5169ba462ca8a049b53cca3350c82f32928c3997e44fbff11a27556c6a0b11b747125d840558de24fb899f678520b3a732c6e53fb2691f1217331c968fed0b4b09f003525e7fd26156af0701f7a2d9f804f85bfa80a5c250c1f3db406145fbb6cf0cd3be60b487c1da7b19aca7c4a8d894a903315f52e0e9532747d05db2314e28708cce7d64de264cdb8d19fb9c82a6f148652cdccd5b6b70ab6684b4a104fa626a7ea2752b716308f7c51f188955532b81d2336b8fe99b9ef955fd7bcc71704fe3166a45f71dac70cdbd25c0c6b7b1db240592577a7fe75139458ce72be7c0f9cd7eda6664c8b61cc9f80ce8940f5491213e6dc8e79d09a1d7d7967873e48be0a94232762e0fbfbb21f7e03e7e3487ab6a5589b4644064d9a20d83558a5347dabe36d132ea2018af0362b4e18e220a71f004f83b873c21ece117de58bf388130ad8bdaa9c5efc814d50a16aac3337e6c2948a31740de4f7e342e250ebdf2597c9006239a386636937e52b066500a76288d6d9e30e480e72fa3f08c859ce1001ddc72ff831a04be46003e77331a7e7047c9c5700f398def77362b3fe07cd1de19bf51ce49857c700021612a0daff989a7bdacbe904bd1d61027d1e955ea3d24fc793eaf7f75be5f32544449b5d742c2de720a64435885b179613ea2d7c95c2b502c18618a4d3791b3024c55b1d764b6a8869c0166d21db0af356dbaa7d9713e20e497b5d5fb90010f33817f9b0fca167c15732bddd0260324296223374c73dcc5a466876adead0a1d0a77bf00bbc8b2580918b23b39cafb6a7b0a903aef3f0df12204c13739bf20be8e0fc37d31fe97c3c7c28a1a43d029dce1ffcc2b2133e97ad3874b7a4a2e7b7917d839f5a237263e61c21feec1003c4e6f5e7417d83ee11bfc09a65e2876f3a3d846bbffa6584409e3efdfa9176814608fb5ca6998e368228eb507fb98e2aefb30932f5e97f73b96b827e48c2e6da511ea5d88d9f066aef47f691e7dc49c503a8fb170bb75937f9ccbd45ff1e1eb105c996d15102485a723287ca2d3ca178403025a6f124a86e0c786b361c00b24bbc61b2cd313d56dd761be94b5c1cfaf8cc64b16781ee75b5aeba19a7cada26df005a369657e8d2aad5a08a964ad2405f5c12387368336d0edbc9d90e6aff300a9135fd80d827ec86c70dee005091398f0ece86c62af3ecb21417ee42085cdcade8a239cff47d7ab031d5bb7bf11440f911d63476e394aeacdaa967e2bbb29631ef40a336541b5560cbe684027e7dab0f9e56d5cf5e75b60765cf861e112c21f336b5202c10a3369fcfbc2ed33305509bb8d63393f1f88b0c688e201a9d39c0c0bb6bbf82f3c39b660a7d668ddefffcbcb2e51b9f9dba347fa27169a9d2bf13319d63d157eeee8001d39a033f5cee701a0f941e247b8acaed46048a45bc425abb22c351276102c939a18a6729111d3d22633d5f43121c01722be7eebfd37be8df7ecb99ba94d35b5e926ca8cc68241efa8c573113c5d20b9bf6e9ef871ccebc2a164c7450f67b236362e3bbbfec846a35385d2e91fc9735c99d58fa48c4e417224473c956efb7b433f5594f322b63a33dcbff4615d2158765841f95bff86d1d44726fb5625c3a1aec7da75f7e129124f8216c9c39c66b3345169ed90d49f41eb490d95b93acf321fbf3a58b7e03b584169c502e0da96ae10d64996a1f5741fbcd7d8ec28e730b976d7f53f2578a308dc4bb8495667581b9e43cfa8c97f01134185866765eaa685a889fa8f821fddd96ef91a06709abf1a04fd1627624053fafbca43b70d83a8c983dfa3a56edc66efc61d6601876083549b259f8500868c88091e66e7ca98873662c02ec767ad513f2a65fa45c5a3bcc606e78be5487ee1678a17438059418db98cd5c2a3e0131ea53dda44f924796770070e38c1fafad8bf302229bf00be1b977d8ec554860fbab8ceb57e2a3461e9dfbb2cfcab597a1c9192ca4c3b03e92108093e7ba232addc8c3afea0a116c3eaa5a4f57ef4d6d46ca8a00cc0c86f9c454bcf6643c7ff670305411b09409d83c7c6b5f7902dc089c6acb94bc2d160e80cef8fa07d35b6ab37cb6ffdca3013c1ef2d1ae7e7b11d2266708864e9560c6d465ea29e7c43a9502843a87b3852857fefbad13b6a59117c0ab5b4243c8dd84f0680427616540913caa0f31751618b5b3b78b682241c0ee01b0668f900b5b9a34b184a7da0921c669f630dedf2ce20fe44863f374a78445f099e352ab88994adec762e076db2bfc1f410b4e3843ba3b99dea3999d4372ceec1931a716e0c4e522cc23631635405904e87719861efc3c518dc4a9c8025553623f11a9f87c97e0dd438cc3888ec030d7123c55edafc67575344883e8b59a71511bcb517705b4bf23c11a6f1a669ac1b44d03159c9be20d2c736715daf1f3d2fc76d46bdbd9702d93aabe63aa3eb8d2ce11ab88985d249970915fe605f584b4e55e95c9ca1213195e06639d38c476e673bc06d3bdfe97f198355f6fa03033cee5c81cad840069f646991d51cff0eda0c51a010c194ccd9ca0c396721b28e131080c6424543a310c2a07917e170a9efb747181a0b150d0d4e5700049885283a9e777d3efb43d0d1214615639b3556847e657aeb519a5d35472a39d4dad69dd0c6d1b24c40e2d378029e8296472395151af6f41b270f999595fceab0e173f0ed04a1bc094097005d2563795fe48599b63797c8393e0295be19b5ada5018a5ee4725ed13c854c7edd508917105815b1dc2b6535987729ed601c102a6efc2d1da5cfbc69358463cfe0d4206ab8b95981005901bcbc1bf3dcccb849ec0d0eca0986f003d547a16a9352224a424ddd95114394862910d3c726527f51419ddd38de203b8d163a743da6a9eec416915273c4a8a7b28a67a2fabc1869f643c3694bd60a808f7135fbd4ed2e628c5ef2351d2a9ec221c2903466946d5900170f6f5046df8a40877d9dcc3e4856b23b40b8b57dc1d765a96296e06aac341afccafcd622d131ad1ce06c1cdda9479c3775cd818a3f60c867882d97de4f8bb6011d576fa44dc8015c5ef961735f4e151e99f67375364f938549c4162f0f4ff01dbdaf8b290a83a1d4350ffd1187751f75e9d76fad778602ea4822d52ac1a7db67aceecfb169e081da5181e9233ed53b53ac5f73f398c5d6b4120f60ab936727f040d514148965f3930f504c0d006f94368ad3744935a8b2874dd24d4ae36877ce872f389bdab8855c3cffe90515177a5ddbf9c6cdfd1306f916987e2e08e07b0ae8c438bc038cac6ce1463c1a4ef752e7543549475ca773e2fa0da86f2fd678a96fc863984f448f86807d89be950723a9e78b0f07dff55ce996c14da6feb2bbffe9ceb90ea45a9213455c94215d7fb34b3c2f1a4cc373680b9291812d4acbe9f0358d53b599b27aa84558c6671c34b8ca8fa1f90bfc87b38daf398ff5218ea9610a4bb1d5a9cc3b344245096ed2ec98cd8a216fed2615bc565a26654dfa8d6877ebdff80c1edeb0694ca5e5728830cab72488b9650048b204fc38aaa0e62c428d8ad2e3e4abf2901faf3e030e0c50612de022516326c7961c6ec7055d028ee4b84c65aafa233edad4b8b33484c07890eb43f40b9521c6f1b02c8db1b9688cb748efdbdd90d641065142082fbc04ab86d2c297261e95fb5ec2b6ef9ce0ea20a07f38e9a7deb76b64f82a9d4e534fc89a224aba83b1a88b1e955f41ff8268ba9b9028a2b866fe73e1db47d481bcc99083ab06d71432a6cefce7ad95abe0f09e2a663dd25ca5ea3ad823554b6c33a0c80ec83cde30f3f1cd99f5addc49ee6cf067c56f985db6219a282a4f6df6c3e19dd2a15b1fb48e0f438feb0668067658d005da82c5d74f5ba47e12d548e34bd34b69a830e81d105fbb3fdb3baeaf6def4c45f7b5d11035a1daf0b3b553ae9efaf47d95e826d6346af8c8e493e88bff600839bd38a638551bfe50652cc3ab200641dca7ffe9ceb2ffc8cd43c9fdbc7c32dbdf30c7508db40c684c4f65ac270986917f07f8840a60c1dd27675f6550e62c63bc7b8f0916b4360e360980d69ce447df059b646be80250589d01eae6b6afafb5628ed4404bf511073d587c6e73fe809eeda617ea9b6ab7c0d308822abf2ed7d9d869819decaf07957902dc4739b9560204657c172412e12b5871374bcc25ce451c45f3b9837b9b9238a1434db419ec0429501adb865e27c1380309453e80c38b9284f3f9638d5289a07d602d46097af712fb801610158741bd4f52220f621897f3d8a50ea4df56a185057dd710395f019e662bef080d3b96b4c295687e577eb21f5bd66e035887897d4a4e080d5e350dabf769cc1f9b1e6e4c0d9a4cd7817f61ce18e87db9af94ea569111fba155e43e311e7e94f61b6dbb4c4c473b2380a5ffceb6745522f04cf4d40248eec6229d1a43097aee12da2c18885c5a1a916da1cce1887d738fddf160d8646c63e229fb296750539e5e66d5a751a74ac157ed3aa346031f030307052fa9cee3c7e76a1f5e97a88fce4004903401b7a4e0964060329b8f1c190b0110e2502f638160b13832bd2e76368c77a6fdfa0f11e4bbd608fb95bffce9a0a98d9cfd7ae88b6f8deb44ccdd4a8f285616f55d9bfe4536d8b3189f9f41c4cf3137cd4f4f278b947a812780fc31ee61a2d98a163c12efe28d8916fed84165a592233bd66420b59183fe0c7053cd002359017a7f329d95cdc10e1653146b29dab86a648c74042d49768be0effa41736cc0e6ca415197b1f7822817780e8b39980393d43b2316742be01e5da9f523582ac06b81774df98af8e3c8ec80b49d17e03bfcc374e338ae72f4331a693083de4ab75e13d0d27b63fc2b397204e41f6d9c681dd9cdae70c97fbb3bc662b660b7dcf1b6d6587f616118da510312d04d15313ce2de3b9092010fb657e9ca59327a4a1c784eec012bc41103e2687d3e53efc3a350e2bab2a30f063400f8bece9d6630f03e3994b5d0fcbcd184f8a9108162bc1f59ed909d85a51076cd0c951237946834fc1a302bf0497bb96c9a74a0d8dd9f11cdf28c86024172d0c266f53997502a3c557940e0316cb21771a6c12c0fef552bb0772779f7fffe27dbf350eb6b0f19bbc30ed61f611b3bacdff5df9516b0d6c26e9c6d5ea062b7eec53d3be16f8aaa77cecf2f520fa7830ddcd792070ec769a2802dad69ae302568b878830557811b693b6850dc351e859de7b927503910f076d2b1f54b67acf9448714bcc05fbb17042cf26c97d4954f1987a035f98d8759834f06400e1a11440b3528392818f0a41f3dd9c610d2088993744ea69a2e8d548a4f8ea0544e784eec2ac5b7dd9ddcefa95f3ca51ace0611f46442a5bb45a348c2a9a624141a444d800df5d37888a485d5a7505d5d23eca58653f352d5c54bf176320b82234553725250e1f03a61ecbafebb3d0ae468e815a0caeee6e754ab60e100bff4642a467b5242b12cee2a6ef1c36fbf5b46e8d4044235c8b96f764e007407bdac2235a122f4b1dd7edc530bfcbf6729c8f90639aa0df0c22477f47fd239e446c9e9d3fd94b52be36ae02032389954f7ffc09cf6e1e5bc4841a6f216c99c53a7b7aa985b5bd75b73c3c890dfcd51a1781faeeaf74a4a206d47396bfb54fb2a3ddc69c003e9a808afa7d678e4a6b0edee479a8ed6b1f71ab6b9267816960a258b909e6961834bde7f6f53c48c631a4381656f2e7e239ff2bbd6469574b3ca6b1f2136aa86c6908baf472b895263039bffeb945827737262a11de1007ef7dda86242f4cd979019b8eed6e9bb6b7ab743ae3f0ce3e28ad38253878dda2bc8b85cd4d315fb66b4c31698e03bfa9e2e79426088c7eedc037b9637cf45880b3f09c11f9f55c04152301b41788e1f2cb072c7f2028328355c4c60879fb91c9d53f73d6033e59b1fbfacbc4336f9baf8cca98a028e0006654fa1dc1d9a5ea1db0df46dce4e0ca2801c3d929322ba4d0396fb8575e85d49627624b700a8c716b1bd5444a90862b5784211e08138bc5a22c554a233eac95bb9673c1c1e137e6ebaa28e51b89ff40f213c503d3d27ebd506ea9a817f0875e449478bdfb2babbe136e7edf543ad1cfb229f5c307879b5a09a02bee7be12105eda78d94062ad082aaac48717cda253b227c11432c1b5897e468b0949985ba4f76ccbd9d0286bb24fc916e49fba29e493f041579b63e87d3b381a6bb8be1d798c70a555ef8172cab372ee25bb3b6398f729c963180063db034f3338bd0a07d485e8254d8e8cb74874fee1dfd412f73c50e504ccff53cda3ce3bc9661cbbc57da22e611a7aa06db6052981e22a3a4445858bf0e106cf8315a5feef24f3c7818e6f7130a361db27d0b904593fb2e758d0fef29917ca8fcce6b86f107026932e2693f2e5fdbd97264d8c6c1f4ba23f4b9cbe71674265df319a41f8154d1c2cd794b839ba03ff202ff0b603a53cb8bfe95b1cca425c5a3f78dd9b032a6ca768db0b258bbc4c8e9a941ee52b4fd87ef789822a972ff778185551561c6e69c6c2685095e0f8db0c9c049166fefdedf2ff6a784067f0ce0441e33b3c196de644fffce5eed3f41a0182dfe295c4f6e016882511babc7adb4cab57db9ef4e989faab96be58aa16801f9e219cbed29283cb4037efd1832f3d1c96b71c0d7530089e9a402514892b41595a0224c62a1235e6af686acd00ff891036e72711784f8582469ff9e4ecf24cee6ff8d68dfa1ca6ed5510f6cbf2b4b8a6fc0d552c3e6ee6ef6eee44ac90cfb8e7e92ea32b20200b9cb8604726f84104fff272a365c023f67f6a338e5a105da5495a24bb1a0bc0ac62ae458a39e3e987a3518cdb84e9e9aad89cf3ca5130414827819f6d5660f1144440b91ad9f3bad2bbe1e351e636f72bf538c7675d8b862acadb290af5e9ac85e41848716c984c70a1c4026ef8b51261c3b4ec0ee57fd934d28d04b8f9be12dc88eb9056537a30d56db18bc0af4e496a059bbf2d67f04bc2f9ee9259fcff67702d76b97555ac2a4b9ed545258e86fa178d4cc379a9eb27f72b79696f1148861c310c9aa949decbef245cc90947de9453a313d30897ae674c5522e692abbe77eed7d74c57e700946f6a5fa0021b7658c18dba879d1aac24a4dada0d0e9f41914ac074dd8b979f8f9420002d6892b45feea4ea637df708e4691a7f1227906366f181d4f223c18d5a647ab459d618020343af4ca73bf660bb0334a5c1528a2e04a88d8ab17885dd8aa160050c8bd1c301596ff8a14226d4d46291ac48e6d41924c9ec472e63d06d4961b0415ae0940c897832efa17b0ec0ea84151e39f80bba640a2c536b4979f60e60d35ca9062f5984e6c7d66ec69d4415089e9532593f71681f009b9f1860f7e31a8d220da3d772809a54fc59baa1afef8bf95ce66cc837b7f1fd45f6dd316d8fbd1ef75dfd72dcb81c36901c236a91835a9d86513d35bd792bf88b591c14665fbaadfff61a95861b33a8a9f9442a43f8be12e6a97720e40b52ef2c5ee2ac4c6474836a1652541427b8d79c79a5c6d5dfa126f7b2b5915597e35e5634dccc006cd6897a1a97f70c894aab3d296054d3f3b34f61df0e96bc49abdfb34541862ca63c87f431406eab00aec6b700edbba01d71d7d3783d16c7617dc54e350f78ad602acdc933ed4bb3a42fa25fbe16f4ed7a9c1db085d52308b638f11a917adc3de91ab5ba10dc9fdd7a3997c51cf58369806640c7d3467192217fefb1364cf5bd8d35aae1a3c817ee1a9368dbee27c3ddff8ea81c91858e869c774741e4e04f99944a2bfd405cc19baf89dc6eb6748940e7792273269a7cddb36548400f1c224f29ed3b79d7145e20591105c1b8660b5ffc2c2f1f501f7b608db527f2fee713f51d572c6df40e031cf3b4115e5b66103c01f2ad8a71219cba66ae80d07fd50a9d74808ba3ed3eee94c49b882070ad135b8ebee62add28e8cf86ba9b640641db4f1e83959edc8caac51f55a9a172aecee92de24dcb2bae0c56da6656aee58cda914c015e810ffe7e11d6f4faabbb70a3cc17739137179e76ad4f2d2a59f1b23738befab5a6a212c38d39b1de43ff80db4db3284aa3a69e708b0d6b67073b691b2cc27fe9f21f15ed098880335abe8b9483609bd50352022c1f3c21aaacf16fdf04a809a76576c8d05a5eec71784f5b356d9ad1275920a92e3d8e6df03a16598bf9ebc1e5f8b5e72df5ebcf38984cc645a824694196b5bb298d5a6eba9adb31ec0f2c8afcc5d6df9df8870dff5dbe71711541e627c81daffb7326ba0c5dee83abf64e508a563bce75ab5580bee09724541ccc0b069092172a06d2b617b539f7c2dc6a620a33c29bf6f1f60c66d39ae44355ee3f61fa81b6a97f99eb2e847701567b47a9e52e9dd9ddcfb3e7a8b3186cec210e35d600ca48f4d4d0c0400bd7b557611d433a5f73c0b9cc312a7b4dc5a9436e22e043f174f997c919f1507ee2a593d929efb60b26f96e0d66d04d27674f80a566e4d6deada523c17257d7b32c18fe0faa9c1028af6c9c54d09609db41eca8277b789ecb688188951b272481984b57334749db100ea170c3cdd05148b54e1bdef7bc788ad78914bb35792a970125ba767e5fb0e12ed870be34dc40420dde5190588f66ccfaac5162e7b156f60e046a96f3ce57a72994a9a43abb52c1481294ed7b189a5ec8e31d836edaf2117fa1bb25e8d2c43b0280420437a2735fa807088806aaae486eb45548f1c18164c053e9fa2f2bccc883ea8a4e7ccb7e9603bd2cc2a72fc6548b6f75f3d90f236a3665c4caa560ac1ccee5894065fd4f0a8dd698500a9e957532f129efbf192854878fb7f12254617ca9f91fd7325b43e95fcc9ff7cba77024f3e5f49cde6100ffc46b9d64f2e26100d672d609b372ac5a688176d28cde8c7ee0cecc7e1c1db9f7fcdd68ee075ae2008d579d20665c3e606dd073f2d87252c62ddab23a832b56eabb01ca10a8ff5a953e93a1f1d0cf6a49399b762be687ee500e79910aeec23543ab68416585fccfe746d7f2a44611579409f050f3a4c262dbd3382b635ac51f67297ad58d5650560b735b82df0d533a200ef5d1fb92a0a29ca9edde1b1ed50fa5f7ae402fed3fc1979b1d8511452fe8935a695979d2703ad7828f92862fa9cf4bbe452318d7a971045833a584deaff93083c3667c12d620910fbe08edfe9d45416b6039b2095fef7db1a09e2a18761e42de8761895ee4cc731ec2f070ffd82e6af23efe03babf82ecaf01a9fc1ac6d05fac2d36bbf7be312264c32b0a80b089eb0c691b2197a8d9e9319ac4fea0580f5f108faadcf041835b96e6c747a0686cf7c9b1d9727eb3d3e45584fd7dcf76edcd072af072aa8be3ac8243c0cfb7f2133c49105bbb63ce5c61a927a86f239f96120900e60a8d4cbdbb8270ba3f18953aa3409a75e44cb226c1d94a9d91b282b5d9dfe4cc96ee954e0a1fbf531212f6cf3c7e106457296ed5ec7af7efc66f6da164f97a988d3a64a45d3f327367e3ef6da73855d11f2093404845cda95ea8459e5e1b4a69af3f8b5db1d82bb8488b71e4f137c9b6231179dc5f9686ad14cbde582faed9f1bb91235d3c4c0b7c16c48351312fdbf5096b5f5260f4e9bed1d371c647f4beaef37e16422b4150943c3d4a72f3f3e62d54323e0bd09045628b40f5b3dd931b0734415619be4bbd1dbf2293aa3a9604bfe3586e3a81dac658699c02686085db4202dfe3b3b151ae951066f84c23843f7a2c65cdb365de2d814e02bb4ac3d1df084da67b9f0c13fd8ba37b393c18b6fbf336daa98187a9c2b641fe5269687a56cb5aaba29dde3bb27d9dcddfa968b24435912c3f4aef9579182a70852872c629eeb295e9c0a5fbf9c9cedf5417662b1a78b39f1c5dc1d9a1a4845328b901be1c3e43eedd1d64f12f39eedb487911b42aa54e9906d74927141084baac0eaa83d2dedc08d4c2fdb1ab0a21fc51eb9bbff7532410e4ebc39c68d795a0e195ef265c3182ac5c8b52a0c7139e99e96624e8ff6c8f1039eab3add5ece9a3994b74ba70f82bca743cb14c0572c0c91cea46550e4f534a96589219d01ebfa4be409b1be73649e0ea2198c0666ff45764573df31934ccd914d3475013f9f674183661e8a158f61afe0798d9c9e03b77e048f0582812372a24e8de52913cb5ea5162646f89ae4d8866836fa1de393cd1239b312ee1bf779a6d76c8910782d0a70061f8f2b0e6ee9e4cd036efc60af3911ac47c8aca39d168a05b7a31fb4a4c0411e4e3279ae47407fbff494dbad7dd1d1c49eb75cb12d45adf39b4621094226156d8e503621daf6bf59a45d4e77600594ba110d85e912392615c5fe663b6d338a1cc2e53695e5395fcd7f0cb171b05d8c06db9c7ef9fdc78d806a60e8f22fd8bc2b410eb9bbf6795ff9a3ce3257571dd47d77f3d6e547785f676cf76a2585b80ee7f9978282d5b10e76e48b9f2d89767e421661949268d69ff8061d43fcadaf0626d2425d1ca9d6cbb4faa3189cf509754eaf1bab44ddccf7cbe829fabb1defdddcd4cc0df263e2f89c9160045e7b995783139e43c3d935e6560790d1a29140b05868b729fca7bb28918fde2ee500c553b6048d8d2241f208be040f3a227d87c1f623207189efede03ef825822f2d9de1a4a36fe244e1e117bff5491ba005ac9cd19404c1d2dac314bbe5666f678c58912de5de6a5f59acc82f3e7da048575ec6aa13543bd1f56f43cb9393e0f7aad51d2d1a52901c5266a8ca83ab223b993cb5259eac000e7131975e47165d48c0b16e865ceac42d15462fcc22508406cb04567b0523107a6e2cef842f7cbe05b5c633a4761a9cfc1401ade15748ba2b9fc7aa2fb6faca45e6d677dd94ed8c74db65a7adf23ab136681deb9282dc7c4968665b8ce8f430fb16cd5e1216ca5e633a4488d5dcc56f5829d31f5b561512d399a77a429a441aa56803973434fa1cc5cc89b225fcf23c702b9eb7ca14d394b9c01a39700d70c9bdb776341f24b67db560bcb6c4a8b60687e9205e5b55ee74967d8652c8210f5e41993fce757ae45ad65bb609997dce1d459f259458ffcab9f910130db2bd113255b9a23dd67842e7f8eac31b13d2650149d30d2af47481cf88537fb093eca4b153ce8c6ecffc914134c1357b562fc57ce85dbd3fc3c5d775b4214cf9af98c20f601f4ecb345f6b33b8b71eb70d6eed427d4e321116cba7dadb7b65be42d73bed939890c36b34a0dae68068c0739c87eaacf63528140ce3c9ced3e1e9a66e594939d7ea95b826bc614a293a741b69eeadfea4d89db01652d32fce5fe86f0316e7665074c549ea80f68e4000051f194d4483f0b952a8686a16a196afd3ae93de769952e0cc9726731e72fbe087ba4707066d4d377d17f43d7be7366d3be4d81a07be92039cd60f38a69fea426e2c97c01faadfedd052ac761f6a91e7c47293ffed2770dd9bbe508f012d1f25ce357e3ed39a60866e3605c7d00f847d60c44af2b1438ed0fb2390c9d6873efa59f18874416e8a102a4d9b99ee531e410fac0e76eba73988b52ce62d4806add8d7b57ee9881e8563962a75e68a9fe03ea9c1b6aa7cf0d5a37fdb8909369fd8d5a420fdda4b4c4ea664ccaab3e4f48df3433e404c5695749f9df42327387ddf35b38c06732fc52d9071f95d8c859e11b914523e2ef610965c292a3430e090836eee9f6e307333955aafda822322e32a6d702794031955639151a4b05d1465c5ca6855399820fdeed14fd871f121656a003baf8b964991025e82d47dc9dd712b936e4612167dc0340d1b133c3a46b8296b67df9733c738939cca180c6501bca318b575c93544c979f7e070835478c9985afdc50015e198f632a74657fb6994349270b94247525759540c212068169c616fa12181c0e3613d9450725252f8cce05d2b2346f098b4b9b01accf020a1986695720dc19a5031decc71cab66885c1af3c1aad88cb244cdd6d57457832df6aa872cf9977d9cb74b04b83c9981871a560c80000428858a3a2390e0bffbbeb8dbf525ae32ddb3742feca9b89faef842dade9b6cb9b79429c914a50684065306a92f5640440c1a3b55a0c890c20ab268e2c8105420040388bc942007292cc1075ee4c0081c94a1e493c284327aa044100e9a4062a720448e2dacc00b240cdd6028c9113580210b5360c109642ca10646e820610ca023a890820740e02940131a80614a148e9e70a5882c5588a24913531043680c9c2442e8e086af9412c9269c6db28938eb3b29fbefc6700773352fd898efe5d2bbdbc129b22c6bd2a971ce6d2e9a8b8b0b89f49996a847fc59a21e3a1081487600aa4bb444abdad55ed92220aea9f1e749fce12f68408c838238adbb98e9793b38d9cbcb4bbf40e18fa3943246a1171ab4ee6262d6b34bf057a4a55442a15fa9d9c31f4f1ffef866e3824e2066c21fc798182710d7c8679f4f56cf3e8b2618ec130ad7ecd00b543f43cf44cf3cf48232beced4f36988c90abece29cf12fe704d9d4c1e0aae81a7e7c9846beaec79e61106263d7309bea6b08d15106867d869803ea7d8cde86e1468d9b61c197bd338cdda489e595b05301c27ed4d20200cdbc1f1d2b2093481a225ad6859524619732c896d9667d856010c67465447848a3f31683227058dde8446c781450fbbf813635050745ecbab3306750ce208856d7a7059a096736250cb85c4276d3932d6d05c430d35d410e1d6b0a2f942b63295533a823819c284434585bf37ba8fbf76d91d916e01f13ce4390809fa9d9840fa3e2cb283233d76d9a620db8d029ef4edd8835d45c149fa919d13eaa787070911464e3829d8c1e93ae62c0d29247e531cc4dd3db40df462b976ee76e879ed3c3045eaa1ecd507addbaf27d0fd3a3915ab705d1773129e554c714150155fd4404945d0181ffcd2f9a52f77956fcfbc5b7ea5e0e0f42414e55ad56258319625bd555c23bfbda9a8be3dfa700d146c0399587515a36f0e8900bef62a32b124c73515e6db1bcb374c53b164af5ad54e2fa3ab0922d6d974361d4f67b28e85a32375602cab02945a315a9b0effa7b3e9409db9b167d8850d2113a2a3a313bde3c220784867e7117944c8bd11feef4098011a36303c03bdc2c8185b6e4085c467cbe79613635c0937075c1ae8e2c2d170999e3234384b8b9275d8991173f995f9cf44030d4d50cfb22d2792e614d9726bc1089e24a5df1f84e183e7688cd1a365e1a7bb3bfaf4ccba35040a3d5e96102cf7cd7e2ccb6836cbd812f5f4f70447bfd610625b1125698c44f1c49cf415faf55eb510e05e2d4c5c11638c710774695c44f07367a40422ca6e2f16818b98a95e90692e920bc983286314ed314ec0870b1e70d1a4db617b918b96305fdc2046c85256cfd7ea5ac1cb0836d3e08f25731c7f1c256644cf1e33d48f4ca867d8c1e08f2fd5656469f1a7c6e4e0cc056de2097acff1d436994aea00d33a724b7b57b6e544d95d8dea620c5ad2524497510674414137274e649a8bdc32554b2ce2399e8eaccd95ea88c473aa8fb89ee1c8a9da466e8e768e5e9d93e362145a2f231a91f00c27a1957b8636191556edb0a8d6635097189acad74cc519194531ba8c549cd18b0c7306a85a15ab68d02aa34cc51f1351de1c7bcdd2aa5b061528f965c2ef1651b0f8acc4313bb0b737fb0e0e7f65c0affb3340ab332ba2bb614768ad81536ff885a93590d04a512ac856f24e29a543d97179498cb22e89b22ed1015cdeb6bc6aed96073d8efb00e71b6471b1193b131d6ee4600ed647ef1821dc7448cf1eb734d12519745ea93e99606bf1801f26aee9ee7619e72f897d02c5b3478ec26c2a92f47c14847a66e7bc2c494305d0ab7001142b8ea3543233afe423716653d872b83490b5f5ed1602ede64faed96dda4fc862cdc6e6c9de0e1c02323cc2144fa680e2c912f489926f877199efd377477a78d436bc5d80bdc80d2b9ce8c540e855ffd69ad04abff9693c719b3e2b41e8d40abf3d7499af392e0fbe3db6cf9e6fd7a408e3db61ba063df8761a5cf3eddadcb0c261ce818ce497ae0d0c0b2339200d50cff30c1c1f757c247a13d7ac94a01c7c7bf407fcd81c708bac44ae917142e519274601a38c8c61980feddf2d96a4b8df2d965431018108ca1494833970925f27ec3b98044e781c871dae14284c7cfd90d075eeb8397b381bbf52aa1083f42b458b187ce5ae141bc96276b0a25b3418492bd0f58c74057d79c236488e94b264c99205a75b1cfa0b10d7d0cd659775944edab3dda4f46d7371d976f4d651e7cdc756e15bbc209bef67565764bfe044154e3a341041374501ccc5c531dfc1f35ddcc5abd269919ff7a18d5efad605910e4b5250d94e3deb6e079e813e7fc480e2a006cff505a807dc81bf1f60a08efac1355bddd4e6955228589a12773f55226a9be8611e37ea30dd3eed82800fa363878e1ef077f007b5ce6288e125eb30ef3ecaaef09613724e4a39cefdfb648f9c93528e73974492c83af54caa6dac3929e538f7efb34e7352ca71ee1f4fdb58ab6e54db5c26d3f7b9731ca5d68a674e4a39cefd02423d41b7abf1673e8c45971103f53cb3ecb17ef5d0ab247a6e49245742a7e7788a42f024f42c85faabb57adeba6aadfe095ae9d675955a1a24f995b56f7739a9e2789e57e3800d0177fa9a9142c386cd308826cd39bdda4ef248822418bbb8e55cecf159ca8fdbde90f8cca5c93b18e423c87a6949a8e5f3adcc54432f484e92726a34871612d06ff1daefd0ab5a9779063b92675dd5fe312f9524a944826cb110ba65ae5df0e9a6c1cf846c1ec410a72fb9e6246fe9840ca18f79e61969cb21f9dc74d8e03fd6c9e6a5b1fc614f18cdb2c215a76fd7f112878731789d79d83d5c6fd11e561817f7fcc58bc1ab3adef2cca583efee5e953ebd721c6de9267f966f9dc69fe55a473b18fe2c277575e7491eb71c92c38d8774ac5dfaa063c65b5bce6539890e63479c2d3e8151a87cc0c3bb139e21724ae1d5b76b79dcddfefdfd8de59967191214be65c992576f36af7e1a361df220813c1009d75c579665be9b65df67a6cf6e3ecb327668043bc9ab37a62b3e2966e0826797493c7b43873cda8a56984ab5cdeea636c5a5561956c613269c3c61c2c90e9aa85a8ec25065472a958faa894aa552b59061846a3bd2c0a035531d85a1ca8e54a9d3a338eedbf570b8634deaacdbe34c47287c6935896b7a00033e0e0e7cfdd1987247cf4cae01c1ceb04323cf6e7995b3f2ec92b56082a61e9686bda5085a61cf36ecf978b4a739891f85a8d9839f67bfa6a05cd3b1af29b26c7a96f975912ef6d884d62bf58c491a99e7a44e087c766cc6d20f3ff941ad7a564e56ab3054ab998295a62223b5856164d5b372b25aad565a184656972a4ba9c8486daa14ca0ba84fcd2de2734921a51704baa579dba679d6cd2c14bee675ea68aef1c796b74ecbc297190d59e670cbc9501f8da001aa2e29a8b47e0822dd6a954e4b93f198d76844b76a7be85d475b14747aa6da1cd0a1b74b23b1ebe8d933552935dbba92ad4cb511f4bc97d1bc52cb135da2cfc6cc8a4bf4a982fe107d9aa0f532ba8ca24f6625fabc102d8d14b4c6bc107d8ccf65147d2ea317221b415a642b53699c9e3d9bbbd4e82d974eb926f334cdcb9c6484c2cf5c8bf05aaf578a644367909c64f45533f2ec75c6435f9f49d01a8336c77ccba557af940ef6707ad58ce8cc871ef5591a27688509f27998201ef363d0d2b05f31687642e057ea43f9b33ccd9b91c6e96a0b08d9cac8e896af5f54d01faed4079993afd9024af9738755824897373726d3f7edc638e7b64be303dc2640e15b96c320d1db631014564479662b98541a306f79d65abc518009876fc63baf33aa0b4422085890c2ef7e5508b63cd6b91611d98f8fd834fd62febb7d7971d7e5fa60fab5989f440deeae65599605215cb90be14a3a8431c608a577843e681f8de0d82e2daf524aa95951d62171217310a215638cbb1b638cd1e32e5260456955cbb2ac18bb63f48d315adbad0e3bd21b123ff258be6b5db2bb7b5e5d775fbbf12d4fa685a04489d6c5114740249040620c9e78c4939522168d52292533642c110b774596956411b4b611843032f38c5a37174167a760c6932c82ae7a5648565d955fd572d71524928825628958e2eece08350e4266a6dd10c6c81e4fa08a47a03364863c47a7236859aa222d8db40acad375653690444822a491ac248990444822e2d136eff83c3c82cc263882478944228dc0c803999921334366c8ddccdb47a73eeabac0314bc412b3d03ac340ad58b1622562b9926956ac94d102065a61a29578d4c3b3b70fdcb3b70c538e9c067f34e8e2d26cdda523d0951245d1fb2061169e786e0621635e40093ec66dd997e5d57bf226fb8b18638cdb31c6a549a84bea12ef19188e525391c97484c934798a80f3f2e9d9b546f07cbe264002f8d08bde0fdc5b5e90e8f107ee83f4bc986b90d96cbe9eddc4187dda20c1c109584e805cdfede00e397403b5d858933cd334ef86cc7653e30f45a1cb70cd27bb2b0b0288df7cd09f9e5db2ab3408fad3ab40bc7505b9dcdae60d2abdbdc11fec9e50c0a104a82084a104158e8870058b0bc4306a12042851b248f2c447882daad082054c14a55659804b968004162e7ac0a0c20a7e9a10c20a54c0a08413b2e0420e9c0099084112a72c788696a0859225760c213e80052bb6b04205262ca18316ec1784f082134458fc3ce1892828258490610a2c78c10738e0c2084948e286065bd0000c2b849ec0a4c702623471a42809493871050bb490e94093209e19088188b496524a2613cbba2eafb665c5c8a4bb5b09b45e454a984455b63235f6205d13eeb0bc2e10fc3186fde06f087f0fe08fddd248d78c997308d710e16fc88f9ed775919cb79ccbf9bae20f8bfe8fb6a134455334455374c7037a5c8e6118b67177be8bf1517fe03e48f49de72d27c2487144cbf2622e0d07d7440f3ae3e08fb9a62fcb6a4b4a4b6a934e27eded514a292501014589bc55043b55807bd265a16605aeebbaaeee2cae613eb9bb8b7c7b15f3e95911147e74eeee6bf7bb3c630d92fa227daf6da4f113e667a45d3992e5edd4c05b330236fe820b250d30efae6ab17d7a36af2b143ebc62b4d672edb119d9e6f20bfa34f51136185dab6bd533bb5bfaa2a8943ad5389a75e7a7572f979ec9ee5aad9eab60e1a103208bbebcb0c1b334ec25a36b7555014016523ab401802c7aca3374309efd2a4a42eba4f141d4f81a0fbdb9343c75683cb4c153c3436f9e96865d06f452d950342f950d465189e9248f1dc798e5d548e13733dcb2b85996655ee4cf6a98277541da63850f73f9d4d806f3cb21d6c9f00cfbe6d82c6f77e622b2b2d3f8b3bab3c096205ab708f60f9f087dbcdaae79a6753d90d0181f31118844f8f36179b43c88049e7474803e1b3b845084b8a6c5d9611488e29a21ae21395604f38af0c71814ca98ad28310f4e0f2281503a18853f14cc6f5d854b3c0ceac19c73eefca6e9e6ebbcd19c5d871f419a076950d3bac819845f8c8ff6209ee9773e835a4b100c6ae1d921201ae081034054b9c15fb7fc614be5395a1268efd2400f689d737edffc9b87589386b035f4d4a367d8e78fd8d8e53d4e74fa24c20510d1ef955f2ea2e8e233d6e0c64307feba8875771342d8ded2871d0c7fbc4540da66ce2df21e3afc98aeed9c91bd9808c487eec3dbf9b949cfac18b71c083d1afcb1b761419999dd4f571259b6da6e8ecc2b89b453eaabdb2b8c7ec6ef1657ac3e939ad6c5f8d07cf3cdab9b6bbef3d9b679f46dd3d9cfac6e7ac69b6b9ef5ca8e5f6e3afc9b1704ccf23119a691361efc5ab7b0e3879e75136e3c489ad6559dfd203eb46b1e5df37e686f276d3970d3e9879e79933fd8f5679d10b834970f891fbb20248ffef3f0e14ba941cf2fc98b8940f796137d36eced96206096979f79d65a07b30c61e449cea727e590be6acf98856d4b039746e36ad8a1b584200bf0d159d2001f0f2cf9c127034b30d0c36703391fd0610907b6013f76e6ceaf09f6acb770172e5c1f3866b163c78e5d61bedbe32859d6c343dfe546e0310ec5871ce48e60a0f5c6a22416ea5df2722bc618dd8a321886498cc69824462dc2a82c498a4d2291480cb7a4c106c05d9a3a213333efd5528b78ec9c836c6ffc0d6de7d2ac6b10f29603e406c7d26cef945f0df0a7a3bd9ba559c7d131b6c4ecd2c840256d9465cc8b832ccbd639d81cf4dedddd8d2b3d0dc65b9779e81b89323ec5c8cc1cf80552693c07fd0e01c56f85539603bf432c01a90c995e93177f21917ce19103bcc6531be1786dd57b177dec4501f663affdc56b3bbcf64f03bc361003bc76d002bcb6900eaf8dcac13787575629c02baf6ebcf2918dd73ed5786d9e04f8e2f0ca4108f0ca4207f0ca281cbc3291c92ba70ce0958b24d1ea06aff088c62b9f6e78659e0278e51e0278659f19affc73120a80578892f10a8904e015a66cf00a8b06e0151a7d159e3caf90a7f30a7bdc2bf4b1e115fed4f00a816af00a836878dda398baaa196bad8864f0baa817afdf6f75980b682315964b92cf23077875c689e3bd87c37eecec05608f3f738757276d805729c700af72be00afba0e2f07af9abe68e6f0eaa40af02ae56ebccab98d57fdabf1ea97000f0249a2b68113875727458057297700af728e8357fd3379f53380376ff0eaa4345ea5dc0daf725e00affa4700af7e33dea96dd8c712327d5e357d03f0eae73678d539017895a3325ea501384dcfab93765ea59c7b95731b5ef5af8657bf1a3c6b7501b54d9b6878d5f4c578f5731abceadc0caf729c57e903c09b93ba789572d4ab9ccfe05547c9e0e1c49eb64142c58bbb7812c7a102c6d9a312ae111204ccf233381232387b34627390e128f26c0eeab3147960ba17a79df54b4313f4c5d767f00cdb72667871eb6586178f76f202a25d7c986e71a8bdea7fe976066ff9e39fa1dba591c100b5a5f0103e4c0c5eea5cba208638fd8be72406ef6a59daed2f4ee4699b2e925d12c7a1c25adf3cb3b69c2d5a9606bfa583bf8bd3d2eddfcc4929c7b9c79f3929e5388f4501d087708d90f8d54444830182729cfbf7994c7b43c409ea3fc3af942023fc109e813e57142a814b3c102da0fe576061327dcb156c00f4fc2bc58a233c7b95c29436942dd790c0fa20eb1b80ec8686e9f39dd9d2d66c65aafc795eb6891d801ca4d7eef707cc417a115a5e8c517ae8d923cc2166b106d8c1d2b4d0d2c4af51c8088d55e2515cedf0e39b599b5871f8932c62090aacdaa60270869d65115358f18fa5f1a44faa27b53aa2179d4aa5a237d35f7bdfa6e40f6c0b0632eb42a0cbdcf8b8043319325fc810fab10549ac010a30636bbefdd87132e8c59ea561cf624fdb74016d2cef06cf704f9d9b1168bf90f8ac6d46a072ae689d41c097a7a561a9802254a652124806f10724e146a08d507632258bf8034a3d914529fe80e413ae09e29a93d149a6644a08e46415fe581eadf89b556895a92f525ce332f5ec105b42659004925fa0350219c168b4d1a8ab3c347a213ee8633e779bde0f4b3ef9aebc0c92405f9d3a2e678f52ac0db62e2ed84b2976861de32a812c4f0b09a439a112e8d9bf5659278e42b632753b4581d6b973177677777777b72f64c8cd9119c2eee6febc7b6514687737b76a658c94eb5385f96050b0cd34aaf2c573aa6254b8667f60c594679ee7ed074146be624c8ebe62489e5deee68333a99d903c2f9cfc79d0bb8ea0107d9686b1afce2d4bfa117db9b842e5978b2b436f327d9f3bc7d119b433483e81d6a99a4175492e3cb020e16f7faa9e7daab8a6421886879e8f8f8b13faf2fb832ac0f81ddcaaaec22b982b5046c9b3b79d361e10a188502894101414142128425084a0044109f23d42af17127f7e32ef38f1743a9d7e70a2efae27446e3971cb899b636d7af44c7b0adba23aa3e5089d2f247e7fdfdfe6f0b134eded336b030138d3de7589b826d46f8ff0fdf5589a760c0975f9958285aa7715bb61944099101f32ff728c040d00658c9794b2a55f9875f976d7c517fbbca08c10c222ba3e391a218b011d7281122c68c809a1d833e4044a5b0d2961842ac3850665e4046a0b1b305172a5b0e8612caac8b0d0a2670b7ead222c6f814265177540b1f071d90195b88aa2444b412182252bac283513d916018102e8c9cfeec29eeb824a56d503d4007fdc91072121212035062a592206fe40a027fc15c13c6f39308e41ebaa1e88067898dd1b1381865e8db911b38304f18340b883bf865d8c1042293d6e8471bd0ac4cb20f1e6c626059dfcc538866abb4841ad8cbaa42ea951a5c6951a4749923cf1842c3d294129052549f284aae6544295503556355600f829a54a445cd36de38812aa842a0dd938c2062658f206a01b6c9c4aa8d2900d4c8831de006403134a402520febabd7a153d0f1ba5d40d40a5d40c6849280147a992d0ac39f560ca898a9309a6bd46b9f906e49b7263e361db348d79f853c2df894fd23a9d8618d64c8d6d6e6233b3942ea9882779d337525ad03b3df389794e2b2086f0cc6988f649622cb8d1d123f57d56d07a63823cf40cfb5013d4d716e29a1d6a12a589b8668794307aeee2f90b03ddb9d15b0e0f5adc1a6eed2d4ea4e4915a3a36e28f8ff8cb88c0a3234885bf157fdc67dd51bdf9bd61eb8526e470a8b02cb7dc0a2ac41fa768f3580e39063a64f22cd4363c18b528418d180cfe8c54d03378f454f8ab8ce4d979681bc8d3463c5b50e6946cd21666a7f1e74f726ecdebdcbcd216af1ce9088df18179c94b986cf12af7d6e655fa9665d11d9df95faa9c1dfcb5efe51269bbc635d31bc32caf2db861de10f9734e2f26026f79313eac1e5e7a74c6daf8d0034482c3956faf33dfbebb55be1d05a1cbeed8cb257ab0e76a123be919478f56c387e199b676b79ddedcc98258e7c78f3d3d2797b7e51c043abb370fe13a4d10ec85c5e918362f1050cdeaee42b63215eb79e87c5dfee307fe740fcf2d3edb667a8b5781782eb2c473919e67af5e3d88a0ed90097fdc11e12f86473fe690097fd081c06ea10671623767077ffae7e761d6a215e10f08901620fc41af73751dbdd6d5bdf2b05534f4e01acca1ebf0836218909e818e598e49c7b00aa33c367fd973327de7c51e9f3de62ec607effc4296e16f9340ab0c0f8823553f570f1dc8d143e779e8d8e9211412bfc2283ca055e6a70c7ff00b0adb933dfc41dfb4a090b11e96a427fae7d93405ad8bd234bf81b1e9413395bcc4c310145d0c3d91c2c11fcbd29cb4d4614e3b06e2ef097f3e2cda91bc9479e59f1e5aeb64be3b1efea9ab5a946c138e67e9d5a9b557e905bdcad1e81dd77559ce323854c429dab726d0ca3f911ffa0eccec520255fe81cc3f1c0f7f4a98401e14142c85d6f9432215e152429a33a8442dd67549ec14950800000000d314000028140c08c502a1582c10b4791f14000b7b94447a5c1b48a4690ea3380a21640c208010400c000306466848442000f76bfd0443b3ef39746a364a9b52340d10675057484a03f8a16f80df08dcb6b702775a257fc0497ebb2523b2114f6a9dbd1684c632eedd64036eb7f9f25bdbe4ec1ce80993bc0746154f158cb623693c9adf7186cbcffedcc369dc334197a011a13dd6b596e8e60a34bcff6b8c1823a5455c947be5105f43f0fa70dbc833c9bff369cfbe9006f930698fc1b714cc05efa212209e053db2dcdb60a95f76451103eb08b0dbd9f346d10df031a0143118267a6a94e19bb1c94f8bb32f3c48ade5ca42b4a8cdedfb60076eddab009a2fa7ab1b55fa4d4b297f047b50e8fabafa9c0788eee06dedc4a8732f5226d91d5de9fee48245c73613bb73a1133c79cb03c452418e69500dd5955c2dbf91a0c05adf06ddbafcf086fc326736335b4bc986ab390ba0448f1f85fd2a5b0f224fba873b4d923b5ad3913e81d814c68a1606da95077273c5c84aaf507aaef2cc246c90962c982e895023458646feb73d30a0425341bff5e21f15ae7dade1aa498dfdd7100ae7da0e3ae6787d6dadce33c1e9d9673226690cb409a38c2dcef366a663513c67d6085b4c53239c301e04869fc380a5ced4b43b42524e6967fb5087a28957944796472b35352c32ea20d2186ccab383bc9e544ee26dd39eb6e092896c8ae41c597752f41e5cb2ce07c9d743a327bf296a5f4978be12ec87c3f4cea8f1566993bdff98975d443b9cd7e242d8037930ebc7243819dbc9ce35cc799c26312e43137b26cf97aecb9b75bac29322775c31650c9dff0ad6181138fbe1f76d667619d38042bf6030c87339f4e6a24fb18c772a596c8e47dcd764909f48456adc91a69c9c92d88e335fed517ed098c254c5597f78fce37cca99f080d85e5addaed2a97af624014845bef44115dd5617827cfc411134a9e8ef4a0a1391a2f026f8d2948a2725214870a005fac5272823ddfefa36ec1e96436a6bcaff8423f2872a165983bbbdf79d4e5fa1d12536f5d603bc7e76b8e0eab6d41a06b7ad32a713eaf307531014fdd717706678ad8a2278ea5ea3e6c2dfc942d27e77e4872af4f736a6d8d385e2127cd5a3f55e97e117b92428295ebe17b963902c9cfba05893de64714fbef12747fb11063bd18a3b0b8bd356b9c7addd2ddedede35d89fb9a074a1b076bee3fade76608dab455f3b7f6fc5c22b0a1947f1b84565578701ea78bbe696acb42e4450ecd1c9f554abab266a40dbfa946533b3db03d3f23ed0685cecd96967d21d18cab663fb93d0fd26b3755217df4f2188d7b595543244ca51f5ffdc3a9ea68ed03e861b0cb441552f2ed6e8467ba4da91c026d2bac78bc4da08a11e3365c50267f302a0c96c90a9149bcd33897b1ec51ed4a6f5d5fc876f9de3b81edc698b7e007580c1159eb11a5759b65cca3ccdf2026426a4430420aa598b7e7f5fa40089d3d0a4a8a31aea26518f9ed4723abc331e97afc3acdbc4cb4daaad9348a6e95d75c07c2d2ee28d6d52dacbc5edbcb8177b3e1c6d352d63f0def52698871ccf47312261f27da9b3aa25a329aca6eb720776a77b255840365f0a0a4539fc31aa41593d1ee2ff44399bf1389f8b743434cc3062d1040a9a157091c9e1ff2e22d4d7bbaafc54648d2027249d4c9a764d00b993de9a70bb6b37c364805dd3a06f64d7499c6a9fe2fe8aae4b6b951a58266e9c2fc958ec6f326fc0f99efd194cdfd6015c69a3c9e72f48f46b18582acc1729e115fed565003821d8e8ac5def8ca78da87c71bdc0df90bd8a4e92bedf683337cff1307216ebfe85f8fc9e250e4c222eb72442b061ee9d8b315271e858121c0cc94973d4115a16e1664ef00dfc3d60fed13d50664ea652c0c42820547a62c5b062c5a8a071839e530c71d77fde7bad66c0c360efdc3b3996d55189f130b3f31426e3c609622c4338c61f1bcd29183c13bf9bba735f027d3ecc5ac115c118f9511acd9ae8838827f6f5f7fdc41e7ec4ca8ce88f0d96f9c6eada9ed03c206fa0b5c0e353c93f3d33453f800acdd858472fae089471e11a0883827482a4f9700b5a8274a00de6bc9a1af72f01e8667f7e52aecb9b594a7dcf023bcb208b20afbe6fbb30f55e66a8fb3bd069ab74d4ac84eec178bdb77568ff1b60f7b3f92a3ba5a249894183321f3f357efa2aea6e578bbe4a44d9a539c50a87bcae944be1ecf376db33efa7c6e50ae6b0d981324872e341f28f5a7c43b5e812347ed19c43c464747ab77c159dc53b29adb0f50ef7cad49dea677661e4dd89313e812e4dafff9b41801a8a6a838d7c8fa12c937094fd60a3e33eba1f2eba62f22fcd1a2e8c468c85b9ecbde2431d34fb1bcd572ba94badf87dd36e7f35353edb3eecc81abd236b218f7886bd024d1dbf7a5a5dca34d1628b17679418cdaf64671a20a4326f81a82a32f86ba532e4af20d1c6d1294490cd998e5dce0f8fa89767e19f18dcb76a1f2631a40f6e39bda8c3171e2c30f474b13b75bd5f6718fc2d0e1ecad2a3fa566fa6cc96c7063e5d040bfce8b4264da46773eb79b95ad674e6117ff120e8f0e4b4efa981d2a5857184ec4e90130e40dec9aeee06ee618416d3ffc8d82e40472de5054f889577270421536c7de4aae2357319b6b89583c035fd712da2f1937e251480eaee29a19355204c0246e040f2102275f04eb2e967f0885f85d8d9d834afdda2b199139dc8ef677994000c9c347638611e2198057c67108139c988cfeb9bfc054d394734970047ed07d084d6d05e38e4c5482a3e75d782e62a747ea82da0f3f292f7ce195a39ab256b09c8a0d7ff6a6eed78b47be2a36d69dcfd9001d384b9194df00bb379cb5f2e74ba14e869e6a671ac20f4fd9ddf34de3fc2ddf1ecbde59b10f063981b8fc1665686a0151709d68957f0a4053c240884a55b7c966d22fc708e9fb844fd21e64dcef8f66f3b5efe16c8cedc2d3541ffaf4d460b68a55e874c1ce7370ffef881105cd07a1a09407a4f8ee0e8880c3628d7de603092d86deae4f95b52656a4549d485c8827607860e37f9b2adc9d8308d30c37b7f10a6e76e72822b2f38d543a051b7d748332e2cc105596682b0730b318169997faea2a7229c61f477ec46cc321bd3628c5539b70579f0c36c822d7bc0980d75041d5ff8ebe08b2bfbe7d3d88b00e42a461b17702d606be1ee9d63bc320538ef808a11fddce3682d23bd2885c20ccaac57546e197a651966b9a855e6b5680a898ed6a6ee7f8f0427a72497667d3208444c3cdc3598850c51e34cfbd1dc9b2381ac20ce8080781484a34e70aee5db382a8f4c5b167a4d040afad15b7e29a1fa0eb5257982c1b94c4bc031557191989ab1bd4c2e68bbd7437b3418a57b11dc0d6376a7147734d69a61745a4b5148f7491a2a355f8c0a5ea153c7587093055612604e41c1fc4e1aa89c3ddc3629cec94f698ee714056e4a284a853fe670e3a88808756fea9e604cbca86979823c916cd6508813f2cdb219f6e41af8957f2b29340b3cc4ed885f4f84ddf489312795535fa7df307379183c41ff32870546a8c43beaff8a3574caa398a5c126e60957f4914c1e2a795469d3343291e4bf9c40e37e894e95eaa9b2c758002eebe9f4e8d97319a322f8f10b0af254bd7701f2ed9352b44dba32c4d0c4a45d8dfc8235ab49afe16092d67828fcc2c69b8dbab55cfb8ce907bf7becd4441fc161f6e8dac52ac2dd99edd2256d2a67c47bd248fbceef55bd1c0018384e24bc9074642fb848e9e160cc6644905a85cda5ab407b40867adb84e24fd12a37421c7c204a16cd3c3eda1285fbb126f90e6accea71c729888061803f00e6c0e0b9e0c25820ecaf00eb364b58a701cd9d78bbc8fa3a54eeacfc27c78e7b8a056b41a6c553010ccff38cd048dd2e98e681a254674c431a3dfc16ae004e45b07103b4295f75f5a76ceef32cfb0c32a1a17a62c1cae7ba34640ede3dfd9d6c1d3139bc71d21e81e68cad961c5019b0167e86b481fbe210c5c74b9ab35238732bdcfe006eb18a3ad4b6a1055fdc84475b5675efbaf879019a639e3b7043c1c3db4029b741aea8b90a2fdbf4b507ece07df10e589af76a062be929cba010bc63a8575b2411fa0d65b251ab5145581b4b9be620b7961033888c086d644fdaba9a92f003a7cab6bb3a75ba62b77ff8ff8a50d042d95e7dc66c35afc499f0d5a21985dde3eb28fbac8aecda63f31453354cb1f9209439cdd838542b944dca263065646a49d76b67b76758063b1173097de9bf8ca6db779c67ded201f35dbd719c8a448a03ec9117a83f6a210419688245990009b49c5547812203307d415f1a8da383bc835a0e4cb36b75069b4438799041ce8df25e804de23e98282ffa3f374d19946eafa8c6ea05b06b2645d9d7b5279ca7d77ca17f4ccc6a058b8ac5a2f454f1b6f75121dd94fda65bf0969b4e329b33920bdb16dc22147cf0a599ab33bd64311c586fe628d57c5b7c0ce400f354ba791924af98898690f12cec017d58b73e80945aa73689e548a9c9e8adab030a3c0ee0528916135af500bb5b7c4b58860b30e0a286f2148298abb40509a96d5967cf85d51e71ad2b9cd784e38357244bd8f2067ecd604ab6a880d9d6797d7fd10e4685595d80b6edf158410ed0025dd28cd32baaf5a9a9da42628eb27197046a0a8257bbf7a9f4bd5f1dc3f652760e5afa0cf8c507d2fb724db445d3609f894e21a81739e30deda012b7ce2d8bddfb9dde8e6e1d85342cf4a64fddd37f60cb467c9f7d3f80c338883f51d2154a9542987072489c81cd2b54eb5ef052323cae0b2e483a5f03de3c2cd0e7de09b39968f7fcf2a14e01a4fef80039e3170498b89430d0a8e69ff5f8dcbbdc38cf85b80e9555fa20444e4cee916aa5dff9acf1abc752c2fc89235ae9f4720e1328df06dab001a81b711caf64f7881dc39594c84a261c63df1fd913599550245ae1c5be18bcd0644be863fc545183c7f4cb6a85a9b07c7383451d9d5dd2c8e740491fb7869cf84991feaca0d84df4f0a2a9b90e5579b52373e9e3a2778f1b9884ee4201d24cb7cf7d995cd846e0a2c20ee3ee0ba3e35157303ecb1b05e131962ae1a2988a890b338603ed67175b01db0cb794e5d0122187ed5b6e7a12e75d8f15ee2914e43518ada73eaf505abfb282406230a1364a1b91b9cfb6d19cd5720a6c68d454e306686cc808a4de0a77e8344a8649eeb2cf45234ec15bf27d465ffb8690478c1c2c1d431359ad6a3d03c57bbd8e0f10ffb069676420df4030eac25526a1e77e15c4686bd102054c77c4b9b7270338afde04b1e7d4ab51f5ed61e361f7f279f08ada5e34c7ae3d401977e6bf1fc82abebf6c896dcbeb0f94a768ad6b432277fcdb890a9737ba7ca3ff865309de06b1c40828b85b2350b384e0ffd5965f5232adc7d9844041a9d2a124268678f1da3424149d7ff0da7e06d8eda98147745d42108c5fb5b317d82e6ee9dd25adec8128cb1fa10bbb8aad7d2391c104feccea2855991aa47f3ad102277ba25c5ec4c537a0eb5c29358adcfb598fc6ec3955c56ad42f27a582f9e3b7bfab78dbfa625059123e888030fb8fbd53da509ec4f21503717ee0b190fdab892d28d73cb56bb86bfae6dc76f401896e0655c60b4041a47c44b7a0b81bd305941ce2b372f6828739f0ee198361c119b4ecb9fc384725d9bc9a91aef817387175b52db20aa1d3c79f07e7606e92d61fa20c79d3950c9114b0fa508d01731cbedcbac0eeb5516c63281132bcbba18258903d227f387789250a7d0bb0eeb740e46f1e3ea738065c7196f1937728d7a0c1197902e81c95be6b3023edaeafb1c37947c0d8eabedbfb81e0477cb64af05d16fb3cec4846632ad4da57860252ba10365347ba609a0fd530100430d0294e1ff3e81815069fbd63d58c9ed3ade631e42961256099cef8c299eff51510c14b7f4d0a68845f632ab20c005cd86264130ec6eaa93f6b7e2f0594884a652b16c346ecc55233ae43896a06fddf2a8b5abf0bc498c3647fcb6939382b22bdfe390cb9a02fb9b33cf92505b1b17b28702b8cb10930ec69123d916db28e1990959e0a9e038bfac8ff0ddde34a390cdea0b67fb2583438379fbd254a7f37990e13bcaa979c579df5c11248b77d4888617df09b0ad8d9ff3010d7d079edc78f7b1efc6414da852a4c944eb226b5ce9dd0ca3d5716b084ea16b5007593a23e635643aec2e0f3c4d5c20e5091196e622b88ef10d25470f12605fddf932ec2e9736e0a3ab8db3820ce7c7a5a4d8ad1e5c5e073938ee7036abc42c4ac202b023a2183c4579595e3052dd9050a16a4953617bf4a0d44afd0d27606ced05b375023d02b23d4af0b19838f5fd6f3154cf85995b6ded5562a027fac259b59883fa6743007be76a2a3846db9fc398ddd1de3ffa61be11b24e3448310cae5bbdff772938677b94cb5fe7011cf8c89545150fb853d99b0fac3dce26067fa7edb1daa277570e973bf9ac5e3b40f844c41b4e409339fb87e9255f149b4b40f20fd5925dcec111c9d91f1e8c5d2d834a1d97bcb446e6027ca951ead11493423669bd3f9704a45da215c82a5db312b7714848f2db5f8d1f5c4b66a884b9c72b898451f3c567f82ae106f30f5a03d949ed9f2ae8574e208da3fabb35a85995534270a81024d0e19bf7472c2c985bf4bada7e85f9638e25c0b0ee1a3ce1731b7a2867bd199e6ba9decdcf91eb177345561f05e89f1eb4a6e80cfa03c176b33a1af3d2a4a9f09b6168e484bb391a6dacb1cccb23d9f7a1c502a1b5ac789616ce3fca17af468a8f4982835ba3994c904076e4b493367e040debe7c3dcacec6e0a67547043b8cae33a39270b7cc265a8a2429db5985cfa597c984ccab299c3cffcb5b2743dce0c7d3a377f522c7c3c2f70a5cf410300bc40f874834889ffe617491d54c401a705099dc3ec06de5c9463f3419e4435792780ace26af6b19a88e39cf1e118ec7c66113db3ca9ec8d011db3640c67d9707aaf9f660eca4046193d06e3813c52b3d9f4e4aa18ee1563e4b9b5340cd5d3f31593b4a5b4c6954abc575dd7e0f8ba349de35de90a77e68b6e9846a5d85fc9117dff25dd2122a03029c95dff95a22d3b0e610647c92f9108f29fe8c5538119c0eb29fb49cf88a10d010d3ce1bbe13a676fc0f90dc252857647304128f63a8af5184c0c8c5d1c0cab557389bf7e033d8422ee65d16d9da30fa12237cdacecfec5eb629956497967287360fd6036d43e5321a89d21e881fd3990252bfec60441e9b68c406a75fa063937db4cfaa51a2aa485041a71a2ac3074a8b4025cea61b24ebe8d4adf3fee140b0e4996933ec0db988c9da607041e7c784b4ba7342315c3ae4e65d8c4918da97d3d65271cbf3b4eb1c1a4b966503b475a5ce634326d8da415db82a9cfcb417f138e3f7185470fc40f72246139ece2e5070aece803b14e5b4cbf50f7dc395708b4c6577b25ad8d057dbfda8408287f3df8e444ad60085a2963bf811da82d0aa6a1911284c23e5b526bb121efe15a10f6ff06bb5ed108adf9e3db5b84eacac7f300b8f5318f295976a3f1d2cae45ddd4f58fcc59dd5c8f349c88ec303da7330e2e953fbd02678478dbf8513f24a729d0211ce79a1a2cc8bb9498b5b04a6e523d89dc044cd101f6fdd75682c52bb13b19919466537d573c5ae11f6ac2da5a1b6fa1f3f16d664ae10d337de6dae1d76721e8db3fa368b283f0bd92e4a387c668ad9aea52776a2103ec35389c367e04064260f12ac413c4164d8cf8012a06089884c0254f3e9cc118a8e8457994620100f6ee823c05ba9ca5ed6a929250832f9cbce8d4f196b0629d60958ad378060698a942a59e4ea09c7c1b5302f1a8f54f6acc088426d19fc589b3282bb7f4f272c193ab12e838ad1876103e611d4a3403eda0b016311621d9483465cf60b5caa33a946d06845cf5f2d0f9d2ceb139972afa5a1709ee1dac7a6bffd5e52125e10855722a953a82b45d1e1f3d09b25d84ec5909ccd8eddd6bd11679cea264b2348479d1e28bfaa41467572427c170aa5a5546950962368ebd5f239b52093757a8aa0e9310b1d5037947b2e33abf39100f22aa27df9d112bd2f8abe5509532e29a6f61210dde8154949b95b40890034eec1ce2e2273d45c068a3ec45c6de6602ca14727e702880957dad9ed2299cbb576156ba6dc0cf336268f2a05fa20b63a0893386529f545f5040f7409c96d36213a250db39d2258732735690f6295153a91f264ca87bb56f9afd12434964eb040786b6badfa54b0b540397f12ca2f0cba35136d96b414290f47a696e432adf768e95af7388f289312cb756cb7c65a30aac24c9d52ad0abb940b2b1452e0c0ad6faa506c02bf45dc80fb4aba610c3bca3d70e5db220e067f668b6b5241bc736c5784be11c90ecbec124852cb36c125a28382bba9b8168c0a239a15e798f052179635eb09db39132eae9bd8eb43c47511fffa88793de25f3b31f4a14621463ea48ffc43ad71c01e189fc89788f9d3b313aa9e4d4dba0281f0b94d3f8fb186c1c237e7dd2a84a3cf1cabc0461d1dda9e37eb7ab778f8f1299bddb733970c6c0b178f79416839505b03d400f9ca7a153b40ba3db5740cda3f3b78c89a6b19166deec24fea100a1e42de462fa35596414cbfcd3dc89a69191684eeafd84f8d82b13c56f66a8947825bf67dfe21fa6bd69858689fb445d0f00348e3c4b8f13244db1f4770eccd03c3f08e400054ab228b43a8b5a4784a46a676fa4d1b3a98e1a044e481da262a50029a426410fa0b19ad1f87dbce0c9184ce1dc9d0f9cdd4f8a7bca58aadbea1c82a469c37885000c30965515b68be2771490491cf3dc995690a1eaa2834a9d5111664e2ef055807d5c908d7d8215c4b2c3e7958058d197c4c7bfcc6658496aa0952365b01dd6fb8b7bbf4d5ed8dd8b1210fb0945960386bbfcb5e2fecec04e33655ea1f83095f9768cb876c2828bae10141c8f3a254c543333a05c4f9e8366eb942da0032bc2be7de1610304d0d9f84865ffe498632a11153b000b0884d6176c9660402872dc6599640c5da30a0d227d023db9672407bf0d238d22f05d3a9a1090f3813b99c10bab4bd7ed9898b0c1b431c4492ec7c72d2c50880a0a7cf62183bce41d04c16f6f3547134d7920053102bef4bb9adc1dcf97cf28c7d6121886ff70f3b66524656960ae9e91b384a86b2d65c870faae6764f2a9d39bbe2787911c96d9e1719ac07401601f9f37e3e16fb198a5e034e7ec861dc9e94566b332bd7b674a9601807717580fc46cc6e0d5213f88a339c8d6994c0acd5bb49af48c183f5b5ec08cfb85dc25ab5223999defbcd342fafee03a85a7b9da95264680325ac405c47b5b640aab56261f4eff92055d518199d6a39ad3a31e755d18a94aec792dd4916a88b962d0df8a0609177035528993bdec8ebdd655b696d9e9f0350530f7914dcc181ffa53e5d286305ab801dc5f9c2329cd5b74f2dc3f766e50b9af8d26016e788b3a99583e2b3655fde906ea77ef0b0ff878081cd845515698bcbc276cc9757eff2eabf8813e04a06ccce371326d04d6a8034d7f3c1c3ccfbce246a4803c1d15bc2418932fc56629b5566a66904c8044056b9c23104fc7704bd8b6156b811d4ed353bd5fef01feaf6009c1d0011f8a951c9022b356c68be9d04156944f6e00f80e2611c12fa410ad977d76048f3f9cff05c2fbce53dc944fa5b15759ff4502ddcf0951805c89e05d11580da008643bd3802328bc401d9f24cab8d9058963e587bee9bcaf451609055cb3f26c37680950b7e4533a720f2081f66f28e6744561fb5fad0c85e5708144ad86e2b988240845db8bbece09aa1aa00c4abce4e6ca2ee40d40438d142993d45e2e50813d373d4ec66ead4ec007802d04db5a7025cdb31d3d86932c5007a2c8a6841270f9cf9ff8a2652ba5931881c63fa546619fa986a550518b7f833f1b7ff4e4d9f67fbd93e72cbd9398908ee7ec1e558bc548506946352caffc2ccb19b15e14463d9d8fd104efa422b637b9159add85ea85720da5f3c7b9130a44afc2136c493faba3f665416e0d9120d6c69f5955361903c1f3e851d17bbff9a56f0e3b57ebf4d2ddd715a734c403b4b7b43edf85632fb87dea032402e1701e946881060f4abbe4191c8da689630a17d67e406edb0a66f44c730ad8141a00dce790447357042dd6e049537fb89e21dfd0f72508a5a20828d45615345daeaaeaf00c9a3e1c3b3d0578c4358bafb9c1d661b4ef62a7e55fc14cd6a8de3950cf687a4dc7541e7a1566e2e5c1497ec8f0d38b246701d26bfc9fbcd3ccdd707b2178e78169bbb038a69db6af9a174e80cf503ecdc0bbe9484d13c94f95c72d1480e10f72ffb6bdd77d2f8cb62e41f72481a406f37afa9be47af8a47e0088ef8980880b1c6ef8147f1a06bf8e3a7ef33c1e438c34300e4e5044440db36063dfa43cc49c298d2c73ad37cc81198f957730cd68b96f40bda25f9872434dde47e519fed328d07594e0c5a1e25f5a9db7991a857fe67cf9fd572320f16417721e4479308f8fd7ca60902d45cea08b54f5d0233dc9512b5764e5dc30577218be81bef0fc65d1ef99e6a298ff2415c57e013281bd159812aa0550f1164ca339f27d19d4d9ad6a2c2fcfd51b2eecb860bf902772c5d95c2de4479e16b0cb4e37bf39c05bf74f1e31762af624208f25516a076e004bdf6df071b6ff6e50117a56dd648c9bf4e2afb2a94c4aaef1f1fc32a68fde067838334bdd46650f34968877b4e16001e5dcdf74c13b10bc13c9459628949d967bcc0036bca9819497e3d6b5b08073a003529b40e9a353058bfdf83db5814534ee61336048c49b0f4c16c0f2e86530d81c6c83c47b26d79304071f87d09e3f7508b9036ddea06f2d624bbe0df60d2e46ccc000102c30f8278035f653e8dd6920e02c1289986d7b512dee1b262abe5559197211f32d1d43558175927a0682e32c27301a139c57fc98c48f92cef1a19a904f017c5af7ef3e45f04157eb05e6bb7bc060095fde93474100e62ee150588235ba5dde663cabdafab59c1233909f10b7e8c9649a164ea804c769ca8f18fb3d7866d1843b4b4bdef137468414ebf8e871a31666616260e942ab669b5697d00edce4c05e5c11ddee5e31961c5f9809ec44ca69c5ae3d733640802a79bfc810cda28717ce007f1d7fe66f1895f16c29044652cad3b71e65bc4b71470855bc0839fc75a601f55b905a15043d00bd2c304e86084f5465cd0ec334e6d921dc67f1ae5d6215adc63f1af0ce004a4a70eaa51b354b025fc2fa87448c08e68793905dd04223d4cccd6cbb4332e9ac007c3a569840c7d48dfc52c299c82893e73290625c62f5e894756b2f2648f79265fed90249f0e1e2df47e0faa366fcf8faa1aab2e4a15e6f45c7319fc104825ee25303d622ed725fa9e658558e369566b3dfc27ef7d710d5821f3a5a518190d2e6254d33333d7cb9306fe642a7de977164d78a6e7b567135cbf0aaa502913896e726bd48267bff9079ece7e6cdbf4f73f872c87a3d6b44e34e1c04b1f2862c3de7c768ab39149625718893062ca7148961f19c9184df241ab33859bbaae242ca15b2e343a2b1ba8f06607fba25f7352c97b082a3c44b7794b3a000ee60b63cea95916c5d4b968959aecd4bc751996d630ac17746a14734eda47b7e1c23fb530ae18af9d5b7861bddbbea1dfc5cb47655f8d140fbcd85b69dd592e3bdab1033170e6ee3722115ede142babc075cbcbfa411abae915a7995a403c4c592f20bf644e883a355f6e2fcaa97acff2b7674506b10005d7b4e2e16362c663d616ba93cc8c7eb1a1a5e1dac89f9a45fab93b89506067cd224233b97c15167d8d35d12fe2a34b5d2033a4ec54c674788f484d0926f080082199a6910d89c630b18f30b8c184a63e3cd25172ec14118a233d2e59a4f4c71ac1ab7734d211c8944b19b98e0c8cd65d21e2ef4c56997af98074a22583536967ef1dd8f2483a85164c7e9bfb41811e6b8029a45d145f858d57e1e0b21ec5318b941d1de45e7c6fb03b4164ee9d43ec17c6e89e0ecd5e291638c6aef4b3bfb142c155e0a2ff1796eeff8cd1252bed22f97696eb9f1c1f9a576a4c8269acc064f1d5642b1d243f8faa42bdf26504e981de80c01fa892c5abce4573b3de0518634093ac30c3325ef9e3b3b2f59a2bc13ab2a368830156e6300fdb557a24b20ec26b930123b60a504b5f051616725da78444cc036f1809167a15720d91810aa55bb417d3beedf7697c74dfbb337f8e26c55da2f8ccfdcd083d576c3ce3ed7441bc4bd5025a1ebd67b9aec42513d6ed52c3051b0d1b352e6de6dc4176a029537ac7ccc0895b566b9ef3f7441c1a342025e29f085a68f49ec5bdf43a55749125d1742865fc424f43442b8efa0b5b0280079c62b3fca2597e235c34befddc1ebc686b871f2e3e1af5b0ca6fc32d8e2823874b98be6f6272358c7963c731738a4239c2236f884bc6390e4c99c4b82c3b88042a7d240654a326f9e18a0267c1647e3876f99eacdea4ab16e6e26036de37e7b88bb8140dd974fc05c95e38298200988546f7bf678a5c61e0e6e866dc1cf0ad0ebdb7312c4eb7dca87bedb19e5b5e7e991022b8b33135d13e0561bb0143e9cd5b87e004de24051e82fbe55e42ae3146b78f6bb0bd4437495c1918c8d0bd7935c14a11d47f2a445f4872493f1d1527fdffe8c9c1e8c7616907ef3d82173e023fe1ca1e7f1a2934f8058ca2f62a99bfd9f60a4ff0a18bfdc07dc15caadc1ce0dcd9ea5d40ded432f8a7c43be58938ce961f80d91c4d467635993530647478946017eea1ae60b3bb2855fbc7d0b588185fd5e6a31ead825f7a2c2063dee75745856daf4c9959ce0e5e527470e38e201d68bdcef5f41264c711b2478e005a3c5b69f2aed2623ca16525e436ecf02de6937b80252e4c6576a8548c317577f80ee9b7460db5b08d1f3a02c6ccf0bd843b186cdc3379508bdbc09d8a6e15e3b4831650a9cc2ac681d4d7d36a10da5c4d3f79ca280f7f8e94db2dbeea59063b1620225d69a6e4251fdcd37732060eaaf2eaff94da86262c65e1842c5a98e291b5bba847b9cb6ccc879f7bc10105bc079ed48b1d03cae0cba76065aad05e21e5d3953b49478e31257faf65e15f50fcbcecbbe7b54867423f4760e2ad0e53385a034a76c2e2e7a9cdc186fecfae8128a1c1c18a8673ca31a0622110e4d85b54522aef455736a2318d91f9ad4562d7f2744a7cf090111ec9bee739a667c7909bf6417d3af383637c5a272ce484a7bdcfbb241a1e3d5db93eb8eb93f1f14a3c27232465d9bbf41553a881c227c425f6e8dbb051bf11776114510bd2b1a4c6c80df72da4ae029f43021d335f6f1fa685d15ac3d72d9ab0da67da19cd195f8ae03ce2fee9cb29af452ca9c789a92d1cf2d775e0bd8f668f5f10de37a030ba12b7ae70661cbd8e51c94bbf7d25051b4178da8428116784d456e18df5acf4c365f65a5716e8c0299e6c04951843fce2d832859a41caea6f1b66a6c3effc0221080a4235cf21c6576557fa6c5ae91c564251c4b0ee42793caeeb0f4363dc54c3802e8df0d237d670284bae16482b1ed521e4491c44abc75bcd2b3a2e5bb2971456fde1969ee74eadf95f459bc9a74f9ffb5462b45fd000218465b338f1fd8d8577c2b2b322f37f72d983e3530c663c0f3394c94057627cafbb6be858ffe3ccf51404152331130903d0b2239f071ead53ba6403c256b01886a0a4742a48b8baec2740a3d3f4d592e7decac665a2606f0f1a369f343444a1697d40320d08b6b4b7bcf91111517c6b1e21035eb756eccc43b0284586975d8ba9971d43d854c795826fa5dbb9bb231d3fa4841cbee7073c503cb092aee74f4e82359578a1d8c130c05ae071e8ad03c4151ca833c65392cdf1673cde7e9eb0c00a8bcd121eb451036bfc7207ce42687316b531f260510ad48b71afb046fa19b213b2ce109d0df75ed4cec8a15572d4b7ee05089b9ee06a64103a816eaab02f4ac4153367c449fe39a13d04d57da0f703a41b17dae03838665c13704912e8c0412244d6fb21f5cc844e842255603ee29b3190593024b6223e5f9daf61ea466c24ac7427248e9a600835eb94c7366da596ca5c6b4a50d7de4deebef42b1e1b468217d7354e15a3ef73463d24766fc936a51afc9c8ecd6607b575845089e2781a03a6724df912d1d10a4815ea7fd3971583a1cbb4d1ec8e1be3f7a0f94d0e8d248c86ba4b6e1786b3047f4402eb082204cea3c0e88a15f79bc96784809a7554da5f2271e0f7ea17e50883984ae84d83a67e8c14402320518fb378420b2acdbd4fa7f8f0df6aa1aab77d5549796fcf1b4e87d574f4038774f8833f0c55ba9361cec99e83cf49ed5e2334c4662e6b336016da8c5626cba1c8b4220b5525bd7a9977550c6f93a4a6fd6d184d396000d17ffa3424f94f0edc26862c9a502b9665edf71d4a725121af29068c7b88141b8b8b37ae356228226e44686cec90ce0306db66e12259d444e8b3446c1396abf8748f54abb7282924aefa79531ffea5469c1911ea2c415879d609a138b929283fb0910c3b8aea4fab1e5f5ce8f197272a8483bfce72d19f040a6706851bd210bffcc8b72590d33ef971abd0624dc7de009af78af274d8127e3585e41a293f2f6e35717ede74f485d02ccecb507b10892c293e3183e880ca173449e11d945575d31980921d7c6fdeb621eee427326356e08f931b6b454a9f7541a7d05587057dafed1f92fbabec3a28130654faa60df0d05ff73e71f08b1b7f48e17f2bb17f6227ae145628187fa2eecbece5830b9f295d87fefd38ab58f69095227e5014d3fc5947cb64acbc615d4be258d23090ddb736829460280711166f784ff29a3c4b00d29905fb8e73361896eec4c478377a7e14b861e74a694ce7b160e224f37d601faf067aa0ccabf15f080427c57e1f67c884380300b2469da535872086c5b6dba222a23806694e49d803194ac4c39ccc659aca5215f7f14d028afe729fbe5a55564740786afb567fa184a7b64dc2c5841a40d753ba0cff5eb4c3b8fb3d058673fbb15e017a7cf05df7194c189e793a89ecc47330cf50cda1d546cb43f8ad375260c391cb41e6f8add9e1a1229b1c4c5ffb4795067f8d635b83bcc18f5e2cca24b01dcd6a27664b26d1a387fd257deb8e28dbfc0d395f28ff5789262ed07753c633fb6be49248cbc00ca157473515b097a1c30802a9c1e13b491b17381a2b8140ed41866cb54c0af8c17d61501cfc2ab2e63e3f364da905f8722a812c3e1c70ebd5fc893bd8790085ef161f99e6820392ae0e384aa64682daffae2e956b505f247a3d10df7d731dacbede6f832700a5bca23c2eeaa52381503d6bbc4570afc2efd8be54a7502be804a9d4aaa4a7c577939a3150330171824a859b719bf1d47f4a18bae0cf12a58bccd7c7b5245fd01f54ffbfa849f4b55b17e0969ddbc9316a5f17b5bb92af3c502e84d36fc7d5b9dd16c6d63c90637a66c9ead7e0813ea655f1b55a753a4f42806c9f455407f373d0ecbafd42595d8ea213424e2fdea807bf430cf89d8a9a1d23e62823478e04c90c7e937e4365550dfc7af2d6adb1f9adf675379692c5304bc0c98ef743e7fd635a8699994bb6ce8222a91d8114e386974696a42436502ee8ac0544654ef5d3c6f710d691a0452ef312dfcf81c7a0e1c25f559aab96cb4be89a5896dcc0a38f4801f9e3121112926c8207f7cf465145e7dad87b39b3f27392c119c3f07d99320a4a4cb426059b68e4c3dff18a62115ff614e2f9839228db63fed1e9fc58772e63a2575760e81248c3c920057a0b0338a4dce7dd804c762401fa82d0cc242464a73f93fe1761fa509ccf73620b5b7924e5ce6ea0153070548ac898ea4cb550135e86c9a0bbef183cd0c33a9fc137462a546c8881062adf4ea1cd72f365d36434f7c79de83bf5ba309ca2efb699c351b0f23064798db7fff115b53cbb4d26df8362e4f2b89069caacbb90f5a14de1fd3ad6daf4187618dd83d06d8163b7157610728690352042aefc2cf88833f87ee5137a1936cdc1434c9943f54e2cbf72c3fa2cc07672beb762056adcd47fdded02808e33910e060274174f331c834e70f4f992447456ff39207eb0e22d83e833a4b6b9d6abd360d2e3ba28636698ccbc3c30e0baa527011c9c660cb54c89682cb13f2a45808d3c6555ecfe0c740a24d37ce1e87a41a723d9d58d0d2203f0e96e6eeb28a6920ded47ea639a6048b403344497d12617031f4b9015ee13bf5d1d51d1f15b4d4c17816f9114fe9248498dc1c3a80a23e55277fc3e975567f2148e1565ee6ccfc2a51a5b946fe3aea22883cabb26c4f5f1fbe5b977593497d16150178fe7897d17b3158c41b43d33cd85f45798225ac572726b1176a880cdc1e28a5a3037ae23c10142808211eaef2de11e2806bfcf06436cdb3c81f024c3c2a242e5ddb0ab8c60013728c55b3237f8977f32a907a595b5e210a70dc54b99107e32fd9c037b6e99712ea0949b29631ac94a62897a46ce78816989a660b488c51cb047896eab42763a34de54029d0689f8f45160928e29801786a8e3fd27a3004e0bd0e78cf18837b2ae462283e03df2612bf1cd77cdc6982f1f34c257bff88d322c4caf8a1af8f21c540aab46b5a7c719bffb8f66f0a3246cdc219cfc4a9b85ea8933baa54cf295a2c89d5062a24eeef65dcb33005bbe87fe4c7c77204671ad76dd3abc447f00c2a7e42fdedcfccf49d4693c95244c24980c989b1380b9bd92bc4e6ba69466b2237e59d48d25792a7eab095684f94ead0ca013687e6a9e4b2112457c9788dd9ea2f122f88eb3d9e1474520a8fd297b261e5a33c50d13442c490fd36b003560cbf7d09f89dd272136091310c8e449f0c8f7dc1d90c5eb39891377c049fd318b77a5c5793e4ee4077a75bcac73ccc7e3d02230e9228392118b69fddff865c5c5754b23ead86ccb665d0fbff33193bfda7a7665637bb797db7ce74b6caef9c2eca07d031fdd5e6c224a876ac9a754fe763c543b2c1ab6320c31fcdfa55063462cc2376242874a2e0f369f657e0f05f48883cab6e3ac9850fc747c49e51a5363f78fd8bf1db982195055cf59ef17891572b3d951fe38c06dad0b58b0a596c6ecc76b91d2d883e48189d4c6c3552228a868a3b0dca6cb6ebb6d849ebb2dda08ee1d9e05a8925e06f55d8ce60bb3af22bf1543f437f2803758f50fb3817dc7d00d3dd141a199d8b7257cc9cd4e3c447abcb28c870fdaeec9ae2070db59e8a26761528f0aa76d35b681e19badaac4caf37f916c3a1b5625b09431770242881841ae3e666a19658f3aea1f2a50bf46ab112b3571fb2f5f76db2854a9154fffc80bc1977287bd5df532a4c29f3c394fc6e9c416247d619b7ec7908d3ff210a5c28182fd962e617318faed4cc4938aa7fd2c998e12dd878c4dab1fa0234c1fe05ade3c911ec629cfed9cb26cfdcaebb898b8b392b7906092ed3a452b072587471dd3942d71e5a89f013b986cdc9348bd8b5952cf3b2be3e0585350b997a2daf9c5266a3bf6a916951d4d4e4718921e159ac2f453d26dbf2692b47f97eb974237564125d639bc0dfd7df5354ce9edba0ca9df70432f28f0e39f0f85f8f9c45a5486d5e04c71014802c6774f669723d201ba9ba1742af2093cab72b911228e6346d034ff217ae52310692994bce771aacd2d871232ea1e441cf21d490ce5591d4e0b284afeb49be920bcdce72d6304a6357276c2ea382fbea96f89048c8ce4a7373cfb4d8f2a5bdf82db471dabb304d233fef5900229552281bd9d163c23942e5a500772024040a19f72473d13c815dfe9a37ac241feb6ac732a044b5ce8fe57a51d77d16e8c4e7b8ca8eb063970f9bbc2e7320e1836b63e41927acf28dd023b82402c53dd31ccb33db93b65534af0e0f36e6452d5ae9522056521ecfeb3861a7c4729afe8d77c48a0d1b91f6b35d27222bad319581026d170ff7d6b1f1820a4b0a8de95c25d2c90dac62dc0d2a3a66baa022734092864465e0cb825acd5cf0afd787257f034cf5af9de4b2c97c55cc2af08ff121339c885e0dd7c344aa2b1327626a85e9f4ffdd6280a4a43c513cc1c387a87491c404311deef6d4203b4ef8de3a520a0443c4d4c3bf5af82319f3130744da13c3a66b2bc6c4299eafa0da5807aaeedf98d3bd82c1eb9695ec725e75eff027ce77460e25c76692e92720d968d4bb60cfd4128875976df14492d678953fe4e801fd339bc515635d32744c2c48b54eedf9e9e8434eebf9816c19b2c6e4d51a89b54c0d30abe29cbfd957d16efc45d2daec87b930965b47ccd2e7e3ebdb0e0f362cd4878d7992b4b38c10b13bd7b276139ca08303acd3707620a89581e2d2990e74a3a7ae6633e98abb8e1b29168043efa23562bcb1667af171d3afacd1bff12cc7f3295cfb959855e11535175075169a858a27f30a194af540fd1d8c72c81a8ff4b22ba080b864a38c99bff25e88ebdc887a609256342a554d1df09bba459390a02f93231fc602e748e89dd61ef5977cc8e332674d4b0a9c835451e603daa7687912161488fb9bcf253b5a184b5010f1eedb35ecf041fa221f4f6c12667333441b31c98dcda842978d314eecabb3f8d2babd2f4181ea57814697146bcf4cac0c8831a5591d45380ba32b99f9468a5d8bce592689f52cfec4c6742c068728352a5d6062ea808bdea8851f113c266d0bf68d8772fc654d94cd4518ebe300399cd0aaaa405e2c1c147fa31bb0c542602f263a315c78f373a406517e916109e253dc5b8fbfd2cf71cd17c704befebffd0d7480c40ec9a5e9b21da463422208136263c243f7a81eedfbe6c5002e38f4d8740f2ee2628800fd4d269ba706adf6a04c8f08944a743abb304a9532571ee0c98c11b82ff8e0204a483e5d18cd6bacbe5453a2467b3b811153bf863f543f723b75fbb37deba4369b8373e640424ab672b7515fa941926c9ec5f167a024f27a64446a66896824d1bebc84c38902ad09e74ee101f59a453b50253412b2a010921af086b77797796eaa5b78030880119ed20bbde5b3fdacf7f70871ed63cb3f4e8ed54d9c365a3f7b8007b5581b28baa6da844ad8ee269f81c380120e93c0870803af8e70b6e00db8fcaa63bbd9258ebc15b19027764dc43d99e87dbc92e24f67b0c1e47e64aad0210ed30e4aeab985855bc0dee10641781f6b482b6febc91bc47f12d028f3db3a031ee5bf047fa7400d4c3a799de37a58f2c68970735825f3b9e99fc17778a776f2173e7dd9d5a09147d52264ece5a1d62c2c629235599ecd5782d66d07052027328d8d75ed57b4e5248e9ec0aa12e87439873e61ddfca70d6000b4ec47e0f9f0c1064b0c917cd3a9f2a3f1539f3cca0826ab7c9995ad867dce48120af6f8d89a3190c5feaf1509f06d6fbb6825a63e1d1d088f23318977911bad451d25e7b10feb099a191a3624998803c28515e8e245e0aeef34095b661d0beeee58c73ad0af3683c41d284a1a0bc3ecadb70dc5179ed7da6963abd7a746810fdae2e75fbb8e28729c960f7c304e1e5680e2163b3f255789df0054f35129e54bb02e520e11daa79a71a495a7cbbd34bf297354a0ccb0c7e11a8b85ba5f7919e25ec63f8c53134411d003e0bbac5b49871f74d34801c33b432e6f8c94eea99759d904b3f264626257eb6b5bc885a4fc75612b4418db57260b2a41e1421680f4ca613287a20073f31597a0c6c719431da0eda6eddaf32a1274419f4c67de16c4c04d7cab8b9a5759cee8399484b70cfe47dc56a6f5bc60a642c900553a5974fc281f6acaea13c1e309b66927f99013e56b41dd4df5e38ff4106f8f323d5aca22de19af02edfd92abdcffbeb51bbc9d2591df0f7ae51d56b1aaa7a3e967126141507029713015726bb34807152c64d45cace853ad2aa2c3e7c4c960090c6c4184b5eea2cab6811bdabf020323cfe4953b6ce6c3381fa2c36a31d69a3712a43ed08e0f53294805c09ad7018a3c041584ba3c0742d570ecc980f6e1247541aad52cb9bc4a1e3a7e18c80e5f705f06df6889b1b46fd664f5c4c7775b5629caf953808f842d50feb5c3a2e7b2c2ebd05d88b436db050ed7045fdc8dda95dd455e1f0df81afed7b692b1f9cdda5790e8b79c5730a35a38d2c7b30f01543bfcfb9c066e1cd1c7cc9944fc90a5958e3049e9599792501374d0b6aeaa58a0d474980c17f7cd49915ec58821d53608ab767289ef976161dba4ec7926b94c16f32d219cb944d047c439ab777ea348454c2a772ee263d5b13492b6a7c1a657606c1f990283a3ecf2978a02ab09c1e322261ad32e682add0048417313a6b29f056e41b0d0631572cc159de2e4442a931cb1d7da305b87738b1b16ca2376e7194377a26859506ba58e747345f6e02d620e9ca8c19782728c890522cb866b59298e9d47504599dcf8a78ebec47ce21e20ef3a8f1b3271baa16c97c2f340e6be5da1d1107a78114b67a2dca3926b665f6862d6191a428a92a58397c27cf1f287678e6a9e7aaff2f296abc495decce967dc6d800d71d5574ba066d5aceef4af49ebccaa365dd0982b70f36fbdd1ed4e2e465125e648507192e4b47d151f8e08044d2505755847630804a4c4be0e5b8da74a3954f3bfd6e62f2c86ce48b4dcfae4221ec24378fe80b7e42666d4031984a4ca1dba8f351a0d9a8bd5e7993ebb01152d1fd706363d09e3fd23b45dbe7172dc711197f4bd9047563de5c501de1a1d5e240b0330ec08b13c9cd0476929e1a01f1b095ad17e51e3a51c8c4703f34dad8346a71805a7a92e6709722486264d05bca7726d836ff77c67657093b2c8e1b34d1721e741a9e20263ff945ce888d60482380dc80916ac6bbfc6b0c3cb15271d91e75c3fe23021d182063860d809a244f301d7721d4339d3e30138f78ebd1c6d826c527ad62f928cd7ad0f9d19eba6ee6072facd9b4111e5179d2e40ff7e60b530e340bf79d401682bc52ca0f04180918e8f448d7dfc1ff9ff1720a4b9846abf4d311a0983e651c4ad9b8ef24729b69514f8a732fdfa0c27a33c993e260935f9478b01fc19c6e27a6d2e20603c92c190e9886b2b283802fa6da470956f90c82728edc4f51227d5ddcc94276dcaa7dc1f8e95cd6d7d16d48347ae96ae210b22c9119a880e199d96e054d17a1bc934a4f5e3897519f6bee6cafa80737976969e8547ba59927d7d8f8e760a02afd32355a9e06bd0d754f5039cb0e0eb253c14f224b0239a00a6463f54d143518e9bcbe48b1ab8c49baade22bf9cacf8d1590c16b110e734036e7973e987ee26856138cf40572f52b8b31e16414188f7b941d00a12befda49a35768540ed2eb90fb8b56553dc48948806d0fb9a13f586e0dda4412fa85169aa9501f30401900a189316e8264ed223148e73c40e47f816fedd2339e93aa05eddb4c062ec030ff739e41142b3e0a738c43cff4c79da215e0a3cb086eaa1b0093e283f5fe2132c01e469940c01620022f67c245a9b39a0063c17990f1bfb036801275c95af4051132c18c7338c16c0288e1c294ab5d12e45e7d53bd3e18d73b480aea140e57379d5e4e0ad4d978df42e190dcb281a063737f6d7fe364af8654457cee0e57d598d7ccfbf6c65cb7695b5e8886264adcb999120c88a7b5ddd43190e935805d2bae0319d3ae60c6a272d7314ab18fc86a7d1716d6a56eb4ddb0f997de432903fda3d542c7209849a765e07db922972eecef501b00db5c26555be0a0517a58f7c29820afa02068d9abcb6bde2c4c1fac5c38e5937f482e66fb9c558ae82ee85d0ccfe00af5c5226c4e990db9a43320981491f017c41445f5da310d03120ca2726d17f492dcb297d923d75ab44371aeb639e686cf727678a51e7ee5c7b776a8c49e693160b880a69c4abd178e3507528d65cb4b15d629f9ae902e1d6799353df60343a8defacfee004975a543f60ffe2a2c538c62e786c1a3595da7fa4e1f03bc21dede0df778c2c4f2476768465f64d1d78a78ed380df790e08f646676eeb1e9361e82bd9fbbbe454f8d0d71ce603938086db80fea7a7109f802385167d1e1e174a5d47c38ca651296f8b792a2ec03f2f26a716deb9ac2f61e08ede7f76beb1fcdedeb34ecd30a02c4f6eb9194143e3cf5c660c14cb493161e70d42eb207e18ade2cf6ae4ed030e1db400edd0b2b7f03eedc8238e16227b00b24d8037d4a171309b8c7b6f5dea1ab1d114d0600d96c832b009a59e1825c3cb9022f3dc2018afebe3e74245fe87a5ae2e079c5ad6c7ad2549fad702a2afa5bcf91fdcc8c0fad496f7578882be009cddfeb1e61b077008d064e23bba21634e120bd18a795ee375d2bbfe8fffe839ab1bebdcabdc62a9ccde1d670f356ba3232d23c56bb8cd97e90cf2c0004fe795134f5a1117f6fef0049667e54d0f6498e9e03420b0a13c14c075041ca7b7100467c75e5bce4c08d6250db3f2789ba3030b4889ef10df9f17feef7067859b620b4b72a7ec50323c3120a2f70f397b9662d21fe65e4d74f98ae59b7ba98da94a686219f6dd98f5722cbe2b4b516a84f8f03720e394e615b70b28e939bb06e8ee832bd41bfae598038a6f2e30a8f401d691bf99c171cd4680177e82ce99aa392a5b0ecbd293853975cd16b390e7a218154b335f0c5b54df30ac4410e7eef532052b74b11b4413811a388ef666026eb764c7a5c1a333ae393d61887be8ed0befd13e9f7a060f90d7871d7c087356761db043d3248e318d8de3d8a2ec2fdbf4b7fc49152dbfd82158651c3b91a674d037e16e7505163f2491a18e06490972b7373a2714bd650b20fa7c30b2374e371c20b38846c87ffae9b7f092141ad5e763f3c92bcf4389dc59218b1bfb680719d960936501b6f225c3d7160bd26c1374d263b2094760eb51ac1ca68b2fe267e987d8c21ab46965130108a63cd9a0e1ab72f9cf149a2c45af83e48a68cb43ea0ac27be0c0afc1f02fa90114f5e5014daa603c1863293c9967c0a7dee20b8ca0266acf3368eff4f45c13e8be7587eb9facb214012ef6badaeacbfe04898ae1872d7ca208c0288cd5f5b2101f015a472b9fa18cadfa451317b10de8bad8b1e65a211d24b8d6cb9b74c292519ef04cc04a00433f5f39049d1e60a1d9632c63b0fbbfb704034d90756620b30b21f6eb1cbedbe45e830cc1dbb307777777777f7734bb9c5efeee5fabd2fe7dcc23817614040502d1575ccda1a15b5b5286abfd098a8df7db4f6ee6b1ad8a3fe49bb5b035b03bba4994e528b57b74b0c8469f15239a8734c4b61989672e968374834152b47c38152f9b1b8bea1c05582b04cd3346da7f26b1a1226c55755ed49d55695752abbd8e39cca7177e3c638c3ca334a65afc89c59a93450033550033550033530877e5a0aacfc9fabb49496d252aaaebbf239787c81480fa65832021768c51313f4a7bbbb8824b5fdbbbbbbdb8a3a802494a80d68960a6e9cc40087255620581e4aa8317c74ebda249102977528a9957fdc878c011d4310fbd9ef13b43fc3e22eb6cb4265f8c48f357ec1174e1403aa81fec835de6891a4ae0416861abb6fc11a390e780aa217747cfe2e2878aa773f44357e9ca2e2a85fbc52bffe5839d1169413107fb71f5fbbbb0832f9b850c0e3420107a2bdff0b309e49f339824650848d007a1efc3c18468c18313e6e3d623c0ff620a11e882f2ac45107e24e0112e3e68205e24b067ab458d47d8d09ea7a3921a6ee7b8ed01350884e2af6dc692ccff2fe52ee602ffae0183779ce8c9160d10091c0d9f64483c40c66c6194081e50681e8a4cee8f1cdcdcf98e565bce4e2c6f2327eb71e339e85cbc1de8cce85b18e870c0e872a9fa0d1c6064242a2e7770601415d883ae86fd4f1e265c4b8f560791e0c9282b2bc8c1c3970e078655f330d84ff66bf8c07819b33589e3918dfdf0cee234306772d6095e577f3c1f22c32583a0cb0178383c1a9c0e58836f6e509e8d782ac0b70fe72acc024d1ef3f2047d4e123d6ecf957a38147eb6d52d08f2bbf0a4ca2ddee05d8dbcf6e8051a3121a15d4197a1015f4ff4363a5ce6e195c90f55a85382e550b5495704cab3db1549fc52c66ffe568ceb24cf43c7f8c70e5ca956f73e1dffa237b1f5cb3ecd37160ebd6025667e743e961409d0b772ac05c8047dc568d87205a1a09e81031a89cbd0b4c92751fc8a96e0dbf44285ad1268969c16f93a0b648dd8f33e31ce08322a4fd0b306987d4adc12497598b70e295d5a88409991a43a80413dd6f66d0e182061973c7193367dc73cec69884550135daa45a4c5ad50526acba0fa4b432a0dd7ab03051d20308e341518f11d43f6e15f0f704413714a69446e268f26741bc651f3707708fec3fbbcd8ebf3fe3be15ea96381ffc57e00c8cf6553801fdcac26a54626448fdb6442306fab54c1a0ff7fc9a8f0b053a20de01f980092e2042051304bf7f3c42e3f3d73271c860ab5189912342a851494d0e6a77f7d11b70510508338558a2f2f66391ec7002619a5b5856b1727048888a6112e8a5199a1a242e637ae1843a3b6118ea788c971c7470f501692e9ff92ea37d3edafb49a74326bd1886c84bacb2ea1d22951986ff333557e730694b50d9e64858e76b2f41ff79d1f2f235a0fdfc4f7b5017d903b1c7ef32b5a7c124f99ed754fe38a3f23f0e26c51890ea884ce4a2657384ced464b798448549bb038d68631fc4b50ed7af0e25670fea6c7482f65a373b63a9cb990e9f2f6442ff375f5059c0427b838dd8a9b1891a6d8c30a262a00ada2d0cb0c74604f1c596e73451d568d32455f75b6090882146d0d880dd11e59c9fcf33e7de2e597a88a0dd71c0ab777208b0f633d7dcccdc5977c65cf767dc936be1e3ae05af58e7c206d8dbdfb2a09ff62094ab51c91061ed67826e804901547414f5eb9ed4f1498ddf4de2ebc3c5eaeeee208e5f29a594ae130b0e28f9d8ea32ecd5606fbd146d84d4c7f7fd3e74e71c0b5c3f2ffdbb0f0fd271d146fdc4f652f7d1c60efdb297471dae8ea418a9881e9b7ac4de05d59a7c7a0a36a5874a4543b33333d8941ed81497ebf5c2a62c96fa8464a0feb17e18e479bed2d98b3ab6b2f4007d969384ae71ebe1b1c7d3ab1fed12d0e7da392408642419c0638f610c50838b1ebf29eee8c5eb17d9cdf94d518d514aa15f0e77dfcddd9bfde238c4113f09663cb5250ee8e72c1693a278eb04ce85441bfcb341a83c54decf4d2288c0539e8a3a9c8a7724e28b57e15cb80d3cf573162b86be34492d746c4fc022b0d5230c6f11d8fd37994207ecb840db24c40d754b61e6d061e8cdb968071a6d5c37f57354a5524735da6491aa1f51acf1813e91e4556878c80bb35e25ded49d01c2f234fe536219f9192743f600c0b0ec230038202fc0bcc0619f659d0cd93787759d65dd8b3d24aa1d3537ecd1e806b1e0b88a3d47bd8be865fcf6ecd96868cbe3ab1ef187ba6f470dfd8bef2df41c7a3aaaa1f7846a4bb4117a1e3ce752cf6ad4a3851ec6c77818a19e9fcfe7139ab373cac1e0bc08e72fb86f851d35c68768709b0da8cb648fe9cf10a1462535aceae93edc8b9f2f1e84a73bd4438dfa8046f6267b9f6ff98d73a1bf3d8c17712ef445bff5b3dcfce6603c88fb7c85719da26109b55dfa45f09d1042978f2284e061897ebedf51ec1561af5f4c5ad0fc9d9ecf51f097efc3bbf82f54073d8fe6c17d80bd317f39cc579f17dcc7523f4f39167a883e85ed6174cede67860b2702170217d616ee934258f02c503542a9d1c605a57e1a24e262ddad1f8419ef50f825c2f44be7300aa65d9a088af8a1aec807fa815015a7731514fa7948b7e797429814e3dc34ae7fb55fedb73db237b46d7b8d47c7d5b4dfb6ed79f0d65b0f6d7e7329b406fa777dec1529df07f672851d95035be587fe85ba31268761ebdd3fb2fa7da076aa2eb71f3709ec91bd81bdfcadd91bfbcda1b047f6c6be7cd04beea35a7dda051ecd1b0a59c5bea6d803fdc82ab387a33f39d1b7f6bbf5107591bd2dd2345c0b5b7b682fe25cb48fd5f3a0478920829e41cd016ab49901f8128710240c953fe74165d9dd75d7cdc24d24d405fb8e02ca0b6e4098ec439d97ef3009d4f245d8509b858b38e2f7200e86094851417535da5089a9ed6a17c65a8c105054acdbdb4151da8575ed6a574ff093315d8b0fd9c71d6d03fdfaf9ca57ab9a3d0db5bc97237bd4d73d50d1bfe81ad523a6ddf79feef364f7e1c0ba2f8788871593b826891afa3cb6c51072a15ed4a150dd7d3fa43291cab248e5664183de7dbe3369f7b1d4cf432aea3e2953b94129a472831408fa2dcb53040de28ad6b268eab2b0d0c122678bf84ee5772068f6fdb2461bd712f593719dc3a3eeae5dec71779326896a8385a9469b2b5623d468734558dbd52faeb3e372de0ef57377ce45b4116dd022f45b5688aa4e7fa02efe914aedbf6162aa06a8f126494d0ebf4418a6a16609085ae1121b4c2ca0d87f78eb217f59fdb2353ce247d2ba79622405d57f08873866a01f8ecacbaafc5f3f6731a91f022e397604a16c44a7fa16f1f84063133e90a91bb742d82b01c166e6a4b4a5e5dfeb9985d97ea09f874c3231693d6412d7aaf3aa32a6cad29e78bfb9ddeede978f496e4b32a05fdca97cc203ae08ab196d35a3ad66b45567306ca92dd52f33d5237ed5c4a1ab962df54dcf57beda5a2227a6eeaef122a846cd0ce531ecb9ba5f3b3d727747b1a8d4b017619cca1cb78798e4aedcdd8dbb1b775daee495519662626274704d31b41f7394cb65d89331ec955028d34a50901a6ab0b1717777774929a5bb111a7be4d20194a47bdbbb3bfcd1a024a226b220b43b0b4275d856ad4d4cb6b76c5735a1fe9f56d24afde1a42d2595ccbebbb8abc29d27edaedaef37dddeaadd1ea5f6f66aaa1ef5bac9e3a6dedd7fcf937199d8aeee5e4dd52fdebb56ea51bfaf6aff6c42f7bf0db5a168668aaa5a706a6f2899ea32ecb9ca55db4ac443a8d5d115636c35b164c94736b730cd45183927955276524ab90c02c2b7f4f5ebfb598814d4ed3ef7eef8a35a2de6067493459326a0cc25cb6277777777777f169757cb762a97e9f0a87fb92c644fd3326d4e199edafc28a15fb69f6dd7b157d362dced36ee6edccde26759dc5d0f651916e3feb7427cb52b8c31c6ee5ede7c786a16461bfd1f25f4fb8461bf64adee0f6ba976f70bfca8301a641559c58a156c062b6e034643633334c6dd5d87ecb90d3a2113a025b00e5f4bd0d70f26c6c230962c4921542418a5f592322e9dca8fc565b138f30ac00888de9a10e38dedbecea2ee8d48eaad62d104b9926b57e732d815ea2caf428aca3288532216f1c5533d62ad090e656fb03ce537f0930fae6e8a36bc6883bde3bab33c96a7fa058ae3507f58928343a9bc9cd7b0678a3684d45365b14caa0f0d4d3441bfd6d1a101294163abc37ed1ac8e12546787bd19369376da76e8375bb3e5a2a169e5206179ca574ec555fe449b399d4e27eda49dfac54110044110f411b59376d24ea07602b513a89d66ab47fcb3b543bf0d04fb659e7ac41ba89d5e3495c6695e9b2904e6b8a4d0be4237cc96cc2534c715867309d5093518d0d8a3ce716930a0b147ab13de30410c5b8c48e52127f6183b65dfade3a7130e14223c8453959f54de132f093218c89e2fb6debbbb5d94006331c67db1a7b3bba1f70f28f60c237fdf4fae53ebbcd83b9d5e136c49e9c1d98efbd52f544dccf6ce16a9bbdeebc1a15f87a015d0f0d52fc69498c9320c9b93d214ccd60565962999922e26e9f0cb9437dbaafb12c9aaea6e4e5d9cba50eabe776ab3ce39f568dff393f72ddaf4ee6ba9fdef79bd5c6c62e7a65d9ef73b65833d0271eafed605fd640aac2b5355a6646a06f4c44b4a9152a4142b567660452ecc8b2441864725f6e2e6c353bde435d0eed85ddc7b7777777777df7bf749882fb9d6e1d1e6bce837abef807ed3257bf70aee6a2bb4bfeb6eb1b7bbdc61b4b1ef35d0fe6fb7c3114498961696f6929798c47ee3425cc64d8e72247e72229e17317e0d51c71ab9a99f9f628c31bebc9699997a801a6f4c904385817e13f404f5126f618d0298326055482958151826052685948251f101612c6c0afab16052c82a5a8cf1dff3e6a4140707262485f6c7bde1ff4d9cd939ec6dc7ff244e378e7c613112ca13b9922eb92359924ae5ef8dd1414a5b5afe8571ebf325bbd99d365beafe7b9e4e15da3aecc53877dbd532312ec2f4abffe57d8bdc094813179242f7a3c49912a743ae75d86389c3abd1f4d6c3a75b5474144d1ac74bd8f74deaf7b525bb0f84bf1ffb254608705012c488ce922b60be1e38c44c44160d883a6265661077d44b583da9fda08e4287dafdf1d42daa17fb422c01a2345a9e48320514230800143554ac6ef8547ef62aa59f4346fd4aa834494c0aa22d349cdc549ef2a487cacfe2821c2adfa0f27f0d1b17fca046266048a0c1f41c91b134253860a5e90414195967309339d1e2c12b0d5a98135decd0150b1ae944071ab80638b5062b1ec5fa4dea840721262743e450a9b468403343365871c40e0f52429248a9605190520293fe353c12be061299c721c3c735c161f8fc8417fd1f0e1cb357cc3838263efd2eee273089a30c5aa6ca5f0c2bff0398146d9c38558eab9d98350476570391bd086266f9bcf5d820e0ec65ff6dcdba6f851d75b714322dd33a1ffb5a16b30cabc1c231492a3eb1463fb7bbef6a2f541e2cbfe704496d07ca718575b720d6e91ea5836ab4323d77af2f93694e84a85d5bb3a1fb1fada112a0f6ec1d3f947a28228a941a249c0286c1ccccccac6d3dd886a6f6b7cdaaf6b3b4283941eda7a1648bda5f834921546f0737b080e8a20a16d868b12808a29531f143e587e295a3f263239430440c3c3e51d98609b08e5444547ea731404e90627567520054422a3fcff8c44363a57f61b6eaa0f23b934600e564498e04e1429524090d3948b2e406cec1ca93bc4087e522ec519c49b290e19183305c8233b7e84844101bdcddb51bb0ea4a41440e4b54373a336ab4a9d9e126642df36a9a866553be0643157a89c07ec98cc411eacb31050e283c269fe4951d914da93dbbcfdbcf325446537bdd8383944217467e96ca521912fc218490a57c087b7d8a1df2ce8570f775e883ecdab5b55ab4256ab5a89886f00b08ad1c2259aa775c60494898a598f4d14cc5a44f9421c96e445107b76bf18935a414ba3becf56ffd668d3164af57aea883b92cda70765f18261c57875e72930ff1e5a96a293eb1c607c343afd08e12adda2f42896af8a565258a5162251212a37e2250747250892af513cda896c8a17ea222a2e5908b499fe71532e9cb4239211dcf15baa8d08fbdf24209c15a18cfab474150fe2ff4f274a157d81f61fa3f20ed8ff5fb803054a1578f3ae48a36648692322b42a4f667ac8c0abfc898c96a98146d9a10526f6a673438b55b49d48da60956fdb228b5b3546d7fb598f4853a0a9376a6f609ea875eb53fe4caa20efe7e18abec658515db0fb61f306182833389cc21f3344f47e8044306411a2432a898d24c8d6908084e991933c1ddffe44cf008fd40261078024dfd92e9f08ea9ee83c07ec95ca00820e860dd9f993cd8c22d7cbd6204ad402010288b817e53a5c2992bd6549d70a010510d99493d41d59c4eb3a6f2cf38b31828aa5f2608653a81503320d454ed89575a4d288aac4263ecda158a42fbdd95b385132729eadfae5e6666f054a4d49ca2fddd75c850784aae19e8ea24c3abd3e9743ab968685c2e79924474a42927942539e425635c2e8fc953f294fac553a9542a954a75cb441b9e92a7e429a53ca594a794f29456dd9fcdf06d617fe8d42f73eecc18aac9844e9a90d029ec97b96285add01586a1a744e3a261cf5deeda4ebd10810d8d3d9a618629537abbbbb7bbb7b77b71a856d2b67777777777b7777b7777b77777ddb4bbbbddddddbbddddbbdbbbbbbbbbddbdfbbd3f71e8eeeeeeeeeebe08dbdb4c28131a0409fdf73c10121ad93381aab8bb3b0d544a29dd69a02e58b2a4b55a6530d053bf745832adcc8aa54c9417145628635a39ab156bb55aad56ab7ef199d56ab55acdcccccccccc682b6da505946aa8444dd656390a15d10000202000c315000028100a06844281509cca8aaa1f14800b70864a74483a964863418e0431888218630c320018020c010610820c0d596d01dfbc6bad48f0f5bb577e9b9bc0702d00c523419892f35ef08ef29436ccc287ee75305c1bf4d34926f39945c71f0f69aefccda62bb1686904a866ad0acc93149a811b23b87006f2bda6e7c37868522f333be5375032b91b3dafd8987b2ff73f61510d84c082c9f1c997741712a0dafc3b65b88d70937d8127f3cbd3da69fbf12a85b204997f746cea637ea4d92a2b36d92c56e6672c946dd919dc461f93a2fdda1a9e305e975d5d2604bd7d405031a56db41b358ea6d466e8f7d05eb593fe8acf737521045b05177e2a34442aebe5e46180ef59bc140a2139f01aefd7b68e2ce0f7f21634ea0abc1ba1623bb9f7a1463941f36513660cf29c4231ad6f6bf397fc44ce1e96b512c46028404c57af3af3db67e4e8bbda7c943c36245a53391946e1ecc7906ecb13ac401f91b8e9ec0788296e4a80a0a82fb584e5b4723878e2421364c80813af0ed26d3f6256c01eff88b5c898f0598a8a20631d51502306555a26c3c4de31266b3421f22a9aebee6a2d70093b4e14f910a68dd6db4fadcfb185e91ef499fd880297a822529da0a3d45dad051ed1dd9368c1df23036e2f51d5b9cb763130193efef8877387603017566e8526d6c8f74bce512dedccea2bf1349968284f4fa264c87227daa2c6e2f21bb0e577d890212af0c42aececaba1bc14dab37f4db07d52908295129412d3648ea6d564c30554231e0220ab08f1bd630cf307bd4ce82f47fa05ae99c9641d6d32d6c01ace965c76711b097159826e557d4b2b0e5763aaa5832a7aa87a6520e444592d8f3a02ae98c40904bcc3f0f4e59b4461c9131d8799e169d937bc6c47b55ab26c0caef96a61582ddbf2c1abfadbd58a68eabfefa5ccb3a995e66f523332cf58ac788126a9a895018763d5c306a72fac0f7813107547fc9ac70b561caa4fac2dd6249d88bce2d490fb6ebc8bc8271fdb6064e37e23e137a24fe9cb8a0297c2858996a4d326f3805b293ade9bb0eef584c04f1f7bf30b44d3bdfdba17fdf3207f3db47a7bdc10534addf12cc49280d597dc7f7031d2bf72da69d5620951cb85883555eb93e06a788fe217bf301a5ef11bbf313f94a5bb368fa9da5c3d15c3428401eb9a0162b43caed2bc3b8caa563158200b1f68084533287984e9b01a873a8ce36499e29add8ab6180ed14a78346db2dfee0fd5321d7f0fca48ffe77165d6debfcc19aa3eaa34107ddbd4fbeaf7328d75d4e6f4ad55045520fd8edb14c1e4b6e4c0b95357df542bc98f824b587a326cfcf7a16c434acd567d4ec8076c8e884cbb08fa0665ca378f95f113a94f653d0377c70d7870ef97f27be7dbe9a875ce8d26218d774b004d90e390270e3a8aa2668ca4e545215edcc6a92f477e9a754037c28bda7483e327ffe81a0263de1c788d8307e226ced0cfdb43e30472712173075ddc4f9ef8acfa32720000c252b57b59e39a279667461b8e98a7861a3f185826c2492273472f7e1c71508bcf26a5c54031206a64870f10cb948004ba8e9ff8c25549f510104f0eeadb0c2680948fd32a13622112fe0b324a1491bb3f2166cfa5085db1738bf44496043f063835df98c39f30b6f7774740cc35ce634c603ecece019461a91a3bd72788c4010e103694b7f6c3ad86dc2f6b560e9b049033ab8948d160138869da5993f9ec32cff08686f0b3619ec48c1a3aae068d57a13603129471ebc27c7d310be1c857a5f4ab77f1f86cc2dcdc9355e0987d725058f744f7914a8d997519b625bde9b6a14d068162714c79a2b43c0e624b23f24e6b02784eca137d45bc296906547d3f7bf4943b81ce68e01b699c634eb0e6c73027a7c5bf630553e74c0dddddf2a4aef085abbb29b0e135d6d222b786d2e8b2b6485d83d439871eef78ab92965bc71b20e2e5c7c7e97077c3875a8badc1ccc235430a733a3be2f654ac578ff6be8929fcdf4cf326f04d48f63608eb25f6949b1a83b4c2f0433d8c81969ccdc75018f1a6c5724f4d872fb419b2b28811115836ba3a53a36261258094a0de9325e229303dc989e22008e8f17b72108be23bba0bb002fa9eb20d65e497333ffc5d25d6efbb3e8670ac8fc6dadde84a746504c63269510054dadc96c7d55721b62323c54f556d6b3e4fa4b9d5f2094754bdb82012f8ebd53e0402612b2d445bec3e4c21e174aa2b0ad72e5b80aa500846813ddd23c8c215ca0e84485dd107f56eab30caff91a2e7009494bb9b48788b6981eb4dbf6879a33f7024358a8eaad76491efa3c996c9c1a859d510000edff8a6d255ac4a37ad69984a3721e1a61342e8fa341b5161083fbff84f0d273fc363013b719579ffd37bd3edbcbe53a6d014b5b543abfe6b4012472bb7212be2f7b38da2b4759dc709f21dd6c13d2fb2648d31b511b52d27a1b5d0a2638a699d9030cfcae724b2d25a4cd6522717dfe0363256afca4521eaa21ce16cad0688c3fd0f8fe7156dcc62fb2fef83e7781fb650a38abd67706e21e53a2a8740b05cb73223df2ecf93f14589f196761358df19c9760ee2ee00733264aaf4b8932912fce45006ca5e985ddefee380b0ec8a8bcad1654ef48ab7a16db7f1e0f2d684a0cf0b57a1387cfac8cc4dfcebebe89a2bc5aca4ceb42578a309348b5c15cd17ee1e8c045daa25462b84bf7a9d9620e6e0dd7bb8b7108a7460efa6b09f7c7384d543e7c391f25b9940bb242fe095fe6c03ba32a6d0cb7cf794f2e34a12813ed0375b29d095a8417da69f4b29502b52233d20c14c2c1bc671b9cf94ca8b7a4c3295f0117489a4c53c695cbd100fb298e27f23252e125bf285d432488a8c4539bdcf95ae80176e8b551e791869eb7dca1d300a52a20307791ffe8212a1ab92f8743e603db16b19df628165b725ad13ac88b405341ab6a862756c94c58e2dbbecb5e3464d05c101a4a809fc7516d987fbbfffe06696b8a76557ff93a71b7b688fc3d2ffc7616281a0273983c2caa7e94cbc4b0952c15ab6ef8993f50d58810bf0a6f78cc2ded08854d2c8b3d67ec5543f8db8f51a85ebc5e0acd548a05480fbb7b63b451f491c4a2b5b45f711d9936bc262ce435917b7b4adbac3142c46594d41f4a14f1a3e6ea131c13aaf33e15ec448f18b4f7b89105cced49a904c42a77bf64438f564fd0c6ad11749d3e7c472c753f17cefd0c415a2e94f7e032313e2f2bbe55b24cf910f612e3f71501e4e2c30b806e54e46c5f589123927ddbd39ad9b07185d4f3a7cf6abf831c251e651f58433664fbc7559b8d0c4479afd7e7c3032bc8cde169d99c2c81e26b225be5f0f8f03e9effa8cb0f967affed069fd4794b0c84104daf7aa8d6674acb511442f7e06d2c22939133d3edffcadd5012b7611e15b57e19bb7393ac09595643900bbb079d9e83d03ae7028117bd9f5c2ddbecd8002a75aeca6e7e59046fcb01be1e6d4dd885a87b5dc1ce2be2c7f0b2423e10670672a5cc4f6446706ad3331b137d535a3e88c0f155834bd7ef28a96de23d59e3a943f252cb73f159181afa843a31d0e36628189e726bc1237ac4264c0a516c02c073ac68616d9431c700900c22070057bd0859c7f9d158bdabd5d1b91af795bf8ade51fc2c1781cac27a22f4178d48082b0df100474003acdaed28a170dc78a3b5f83c20b6b58d7085bffe805d176e18b8c2229c6567950e4c4b85abf91a4cdc8451de7665ea52c26fc3309398d68606b379b9198203aab3d41a70cacdeea93dd87b549844ccd3e7fd623012b3444af0757f26274317fef13283763420ff3c0ea6387846f2a3365667b231120507f9eece6d10a72c8ea5a984272306c287a2833ff16b56b9552398c56490370332daa54a7f369e54972a0b4a3c41f7563c4a6f6eb72afb2327103193402c99b3a6fbaa694fc32d11c64fe4fb82ef950eeb88676d58949a6a71e5db4636ffa9bfe22fa7e0092e64d4319ad1b6d0c25a97e912cafd03bc5a8f8725d05b8421d6ab21bba794e07c17e3673c052870461efa2e7006c67a6c80c56b047995bda565967896745271245ebd064cff157bb0219856245a4f45b44a642452f04cf2c051e07b8e8c197bbcfa99cdb1692120d15898a266a0bedcdd8d9844b08a6647a19de511a28438d700d854bbe6da511bab06dafbb42bec8054b6475625b69026b63cdf76a37227e090cc3c6ac105b5136312344e234b0d6f7018bf873c2b2f84a395c5e900e68169db817eadf04af48256c5df23da9813358467d408a74375e5323d2a05bcc7cb96aebc9c247b306794094e1dbca85b6d2807de58a1dcd70c70900183828bac36d19b6940a94786bc265e74252137003663f027d4dd5c54f3de480fff039f423920e0237308386a14bc2a1fd1274308160bb6d66c440bd67d7876a248b9e179a2f8b8bd12a278e597a0719cd55da30ea0106b9b5056aa06889ed743f5d4a21c191c2ce99de2c9db2f3aa7f70fec3239e699465e77b1ae8d9bf3330ebf08f4bbf15927c5ca7579773e39067bc0b1235e3d2ff88ff336d2a376947eb3041c4172e63f5fd4c210c30e8810a9a451029fea7042b5fb4007341fa29f96a0fb8ddfe91e024995c1f8f12c6598e9f207fa2558ea5f51c38a419cedc2f9bdb2b3ca3c40b5e54223d4a4042a465070a0ccabf657169805049a77e326d27bd65fd29d421990775904d4051dbb9b38c927a0c27e168ef08364b59734f248f0929d041b00fdabdc6b369a2c9a3d05f0df026a3447653bf63e2cb14d898a749d04fc95d564cbdd7fe6ccb2879693105dd51174a4ace257f14a8fd5cbb987614c39adadd265c4e8cea05838466db07a3c475b4bf1214d34363343bb1a7e640d7483ea1efc6bbc972488bd101ee91f00352ac760d363a091ed7cfc47ebe9872689e7031d8516bb6cdc3793cad0eb2b2a6a487c163c5e275bdcc8db915628affae89421ef17320c626888482908b29dae95477ec6085c742b2c4ca5c563f0d1c5b622e001b8ba4034e4076e516eb74f87d8d92b931556e99bfd91dea1ee9961f102be9c0a52d54b14b26080efe5cf01ebc199fd2f5adb3e2795e4c58064f163ce22211c9b39564f86495dc13b23857530e9a2a7d20ce63524008f96587fd8d3c1dccf357d76aa2d7fa62da62cf6741f4d77c1204bc319090123ac0d01e6160a362d53f95f83dac19e4cd4aaa8cea5a9d0f79123c323a4de66dedc0dcb2251db264f5c0b9e770c4bda3f6bc645738222da38be093c854c19591db10519dc316bf84584bd7a4a7657815eec9c9936c14edaff824eb14b471439e5b514f6c8d785012bc129d08bff92ac1a612830cd1c1342401f4b77aecba93b961392286a051e83ef2ec254c49db3058b3462382c88636fc0debad672fcc9af5d9186ce03360ce0a159af274d77d0f2acab6551dc2dacdf97b246957294d6053b010fa7bd4aa7f04016d2688557baaa0212aec25db2771bf07d08f1e540b600d8e730d2d289e9197dea698781a97b8e1983a6916fede1748a8f81f6322cef63b38d86094de321ee220007ddc19307c2b9c08a5d7b4b9acb833c7ae9453788effa8931f6a3dce29b9aa608b58084ef3c5db44a152c1a45dc03f872e29f69d2e714ea88dd777aa1a70b4c162d5512ddda8895d42603f0171430debc1a49b2f51129517a76edba9992c3096179bcd1ab64a2afce4f8ae2ad7a000908fe3fc431e60ee016faf2d1018af561ede71e4f95e6025f3fd501a89d10916f3186023eaa9107a9389d250c2ba80e762d46a3e2d8e58d22da86ba479a24e1dda53fda1173afc03fa3304d1275e69f37fa9911d9c1121dc271448a0e6d813de499439f56f6ed749c441a51a194944374cf0845a17a4c64c19089d23042c993d8e79c00a68b8e94771e200ebea5b06b71b90903b8737fce8b8bc143a10cff21e69bfa66c019de6b1f4f78514149888d7ce127eea3dc61f8436a47d9d402d73dc06749e093be94eea8673b0571e3259057cdd3351a1cca003304b2fa5a9dce88db2e50341dedb5fe32f6d40919551093b6883ffe6cf55884919c10c27ef4dc9b8da51630ca4d4cc4d70b9a194eccd416ec79796f948e1143e6e54c9695c2531c99aef660fe30b51d3ccf99b444653b61e13d138d87e6afa7a7a9b97c4f1732aaf557266998f3d77896c382e09862615505b724552df30898c1f219c6c7f805d6db9288290d6be5d4038e0ad4b1a54a29f405973c7b8da59b2af2370d97ca30ea395e1f3c37e691e7d2e18c5ca762b20ff55ace303d3acbba5602d062d761e7bae1de2c272dd66c7ec3237f3719f485ed0e1064e4f8f4e4623d2eb91553af8b1f8dd9ca48bdd7bef6741002a72870570765436b6ff7153ffcd680e553371cd54bb02e6f4f19927cdf379be4cd5a739a59f4c69ad5d0421939eae5fe49afd69303fff649c7ec45da3ee10e39705796b7e5014ab4925888f8e82bbb1656bc21e50834b855d53077bc43f96fb37f9fb7a8dbeb9a8413595772b396d2680e1bc0a2c347bbc880d4b210fd571844858e06bceffe49dade7eae2f5ad71dd367c26044ee81235be4ea57d804b598835bdd5e7cd2764744300f94aea2b485bf8176145198bbb349d8d8f44d62d7359521dc2c4d06fe4972b1b400828435468ae739960732c9b6d0cd77770f9d4ad940f506261751c4220fea84f0f82dfaba837703161bd7910da195a3624d250c12fa0019b194243041c6c274e1ff09e8f4db1f34f970292079037e5d9319438e1f8cbc056da147f18c4e6208ef12da072f41b41254b30f7d30e42fda250baec9c0336619bd4107c1788512c34ad2ceb471a02d1485853bc4280d94ad1cf5d099886cb14f74054deae5c4a60d88608032cfd3992e6899c6bbefa9912c72ff99c20230cb3b631bc13e156c8d9ca2e4191ce5d70b5c96c4ccd48d70ebaf109eade5d41c627284eba280cd124d623263c3626e7511ff22006ee0cfde0ac0347ff74014466ba977f9338f5ed3b5778a143e193789e3f95175768c68b77c3690deff9aa160c721b2cec2e73a08166d6737c40d54e02769e486591457238a8a7b2c39be87d32198348c029973af7cb8984325eee5598220b11420c7ec81c4a3a36be1c133b5f9234a425c918b189d20e0de1d312f8896b71e012c37f0381c7309c178fdabdb93a5b8576cde1b2b106d558547be5f64a16ed87ca296e986039fb637d23c040bea0c0033237c1bb5ca2cd5094a1f87001063ebd8483f49bd9a3b1eec28091b180e2b548554856201c3fe56ff3eb4df8f3e68a3a6161c281af46b822a313a371697fea7e8f0c93d893144264c0e2f5c937f85788f0e03d57d643f6836a77540d8b1e7cdfc3ea6910ae8c15341e1d16a15869a18185ab9c989f8ea785984a11f78e2f218de7f48fe022bdf8b97f0544984b5e1a8f86cd03579f80d187f4f9ce3c196ff043220e37baf6b33dee141ea5a26ad9fe2a960a19967d519795643f2517df468181714ab07e57df4e6ad8b7bd9159e22e7c2d719a7942a4d6e5d3939d2bd622b555a3f752833d8813484959511445d2c9a2c415aed0e12255e6598dcbbf0c1b2a8abf570fee621092ab7521224623149f215b35f0f80aa07ed683b891d9504b430a961f6d6dc6b202609df1a10867f3363ef28893bf886bfc02e6239d34180b9288e9121e35b11e2219e9528e9a1893324ef44526551fd9d38bf59f61b3e867cb68128a2fb8a59229f7b3bfcc050bc339006a080912bd87414e4f1c7d143500e63441d32d61d73f9c294481be3be2e2298e981a9f1efea9377cb3f3826581bb20eae8e513ee4bf053fd4b4e79f033811f06377206844692cb0ba2e40444cb344c22b79bc054f93b9532b5bd68d789cd62869fc3292377a365ce260e32c61afe754d0995e6a4f9cdbfb132067e6ebf7e2a72c7199fca4d7ed0c8db8f348c18ec1161f703564277c790dab301036c2ada0deb485d2d7c7c242be788dcfae7eeff54d044ba695c8366039d5f0a069f28c85ec28fb3527e487970de09a85afc37eee2667abebaecc7d5a5ac63c142446148e3d67adcd5c793d07345f4d0731d223aaeea9f46bfd03b5c68d7412e9ed6d5b43cff50a77e7d9d6576b8d64f5566e7695d8e4ea0922b1138e4191dd15f6969b14799a98a9a043bfdb914275245b94f3132d4d391bae745817a98467332823b6ba93b2efb263b9b0f5c62778784bc93784b0a24cba5f171de1cabaf25f5bab6a1db7fdecd99ab2b9f0a851f56d7b77dfa29ba7fa33858440f4e0d7e5a9e243c410c73543789261edb2237863fd87a10ffb33a21d05cfaf9a3a22aba7a6cfc0e88997fba0d3acbb5becf747cba4bb532a89ac18aae52a5226bd5680e757ce5fced1a9327c0e2722f22f315759390e5c073fecdcd422a24e2346a227863948a5fef8a1f54a765424c1d4bfe501907f222fddae5840cddfa33069edb614a683c8f9fd31adfde9353a9ba1ccd36704acaec91b13a9f73038214edc9e323cf3d59c1e994de66565ca604f21c18541b8547789f4f8a69083f958606962289bff9b459aa85d00b011a033908531c31e273166f2210513b200d0382bc57e988036477cf87d337b71b2801488f35827ab79966b1a3757348cb4227724e8b9a5572fa3f5321c0d0aa1811be3ab04eba0c790110985ab5ac29d48cf2857088ac31a493fa544be49b31068c419f175c5d4d3108ffbb54802bca229071157fc61f70d4948faa77bbc070f3887f69b57e909460f6dec35af11aa62deb7745ac0b1c735b77c9643b972950190a55ae58043f7e8f00f404ac9d74410804cb265da490b9d1569e10c99464c16f2f0fbb08cce4f49eaa5ee6ad959ca9c4b28e6c51e0ac182841509ef877f1d57cc0b6ca742a1b556576bde678f27e05f28005ccd0f5aac8d95cc818db2c962f6385094db31b46148bc22fcad18b92bd744a89a95f2ece1dc7ded9fa4dd73acb5b1f2412b04d21dd617f3e382523b8ec983cd201702ac323ed8953f6928def16a94db87bff7f70ef6c42639e47a1253e5593149cfb26c8e45d9bb67522939523e972aef2b2cde283cc8f27f6b1823fabfc316d10623945b1b89a7d1c64a38f1606a62e188135e812e20b4aefc934387f1b16bc5553761288cdc476806ba09f6871f13c26c62fbe1158924e2bf99f6ad0d642edb7dd09dd816503fcbad614356a131877fca9ee73b83d400ff4072a16a8a68b3c58f253e7d08d2f544722f856a59705b22f0e75714c4cc730fe29a62a4967e5af508c1218ec605411939cce5aacfed2c0bcc74ade7760bfd0ff93cd736d8a9f1fb63c60e7601b17de7d478d78d9b0eca000940b3871b2df5cbe6b4d4fc81583be441603c5d809b311fe110c115ffd59579c250c131bf1058626b2b3b33c7a19aaf8720e5ff67b13203a37ecb5a03d5720e081dc01e0d79bc73049c1ad4f198c2f04b07d01e2b2f148b89d3023bea0d8e32fd8fc97e73338e94935463027e333c3809ac9ca2f8eaad6b9cf10a19085928ed9f47c7c7e9366eab6c84e189bb8611a83433bdae52787410a9ec82108fcc7c010275d96740ef1fc1754d689f1fb4b8fb451e36db62994220b0c8066aa2451ea8b4b8499cfada7262d566d26f4c9fce09db0b0585161554fe511944b0dc6ea68ff908745960da153f27cf6be63606ff53efb865aa6a07c5dfa659601dffc7390fa00c606957a4e4cd8b462ebd45c9d50f3256012a2f91c251ec8fdab82e1f0c9ba2658f585d84926eb4a809e8e00bb127752e1da047ed84b32f3cc83ded67e4e78c9d981e942cf36011464218309f145bbf6c8c44b229078151633c852ca18282f41e19cf0130afcbe89a8a93d800089eccc41c76500f0525ab14eb01ca3e4cc5e1534b247e6bbcb9ae4bc142b25c34d27fb46fd7f8fb2bec38a296c07f3902e5ccdb677cecaaa7dd0910d38abf2e44968169b684a6dbb6617a0a3a8e92768e628c34478c3ea744c5ad28cbaa289d9cafaa7ce2a6d15d73a761b2137ca0b3ad7a515530ebe4508ebc5f7c237cdb5757fe9f5d64c68fdc107b08251e31e69d0f9465eadf6542f967a5db6bb6dba22c206e77873d3379180e9f404fceb6ea490ad018abcf13fd3dbf87647062066a046d4bba0139c1a554fef4605b0b52a06deae8e608388bcb2065256fa16efaa8900da0e4e5e8cadf80ee0ac2bac7dea14a0899e0d6bb6e15da366f5b98db80e5b71dc0e5c84ba040de6293eddbf437c090283c82011c5b536e0ec06298847a111ea861e41f9ca5119defbc5d9dee33a7f0312f1e2ef8f72574a33334dc842900a06926a4408a38adfca2ba4637aabc9dc28304f9423f889e18a246db8c12d5e3e4b486ce937c83bfe898a79c40b2a70356ee43edd0903aecee76c5242f5c790415cdd038d419403aba901296cc2fffb48998fd2bbcd5af3c100cac1946c34e70824dad183d67864bd80737ea96bf21cab557038309ef4e0d0a776c030125580e6389042fc58865d6de4edc3a23d1c5dc47f3a2e1ca6ee4095df68aa0ba4f573ce6657dee774bd44ba203e73f0ef810d8eb18c273e70806d0be9350f3d1b2d2de810d790dcb9b6c7f59fb9e8e184fef61b2238bb27981cb4684bfc694b1bb279b77e8cdb6d229407baa7289e7ce8c81391764f7d3378c54be96ee57d6e77b1b1203b4286e35030b659d35cef412a98a872654520db8359dbe0a559ff1d6abab307b7c9e7629f35c501461be46b3371cf7e3cf869d8ddb14b2831e3fc19bc6ec6b067f473dc921d45149889f186d6a14ec4906fa5e02a2aa020200db8c798fd5a5f5f744f47b7b42338c4bbcf49a2c0687bd66b2ec1c56672b65e5dbed371832b26e3a7eff38874d36756d550f06430ca6de2acd47a2e745bdfbbbfc526f68dc82bb592de97a3981138666640a50f19e318cf57feeb4e0b4ede68999040ef13062d34fa1f6cac24d00b79e476853421debe410134c5da235cb437b3e29b12a59e7ca8f1314cf878140a53a01952983b6cacb0f4e7bfd0596e0c35db6e50f2addcfa4ea042d84d6b5cc6d273fb7a07a475c5b5cd58da78f7bc661735b74bf3b8f1972c9e8c3011855173fbb7351476d7762276974bed6965d0dc0e909ec116161d645d996f730a666a9321c0af28b0f722a979d3b1fec01094196c474cde1a48c240288056500de73fcb8a10090664e9bbca324c34d282e1da461d944db7dd7159d698588f4c8db45464559a0ae0440cbf7d0a6955addd73e48e744eb085ab83d07683d2554fef5c140a4e2da3f61811482442e3f11c5d33d26d769462fc46ca87a057854d8513daf5ac9d01bf49cc3a1186ab05a05bcfacb918cbe572b25368d0e3a86b86faf34467d2b6dbbb37ab6701f58201cffa4c2ee173cd904c0235eb468b81c0fcc47ab3501b35406d4ce27a94685642bab39fdfb99bc4b233162e8f936b1156b7ee919d8bb5796e4266863b50ef3e872c20ed8ba53c2a1ee5217b6e5bc18e85b3abb43db8761f8f852248fae930976af6b86ff6063ff17902392201792485c989a09034f970ce1f6184491c3e77e485c123670a7421bf0cc9436825de0a326d4e9799a626e44b790da03c774342fc4306a30b5489096bcd07fb06ec2e82bcc493ad1a8527b26ddf259902f3a0012470ec554905b45aad4e04afc8190fa2cf59f1296c8f41cc304b42ac05383e49fd6731628346a7d31d2af0dd571a51fa1e2ae6dc08410066407976c0b7538e2eab38890a670889e5200213df635ef9fcc52f0f9f74f5dc500d818be27a09547a7eabea8e57281e2085df83d5a423811aad1dd310f40f8240d7022d18f356f1c933b830bfed339f9cb6081b5dcde5e1ddb5b8b886ec8f5cf2e9786f01eb211118f1a63579ed5f714d1ae420695d3f8b2e73a1176fc6daba7b20654cda14c2c4e628eaf41066e41f8cc91428f34d14dcaa614d9609714da5516ddd962fc9e07ffc650cdeab09f0bd4ebf1b12087180667b953890e5e65d3bfb6942962673b5a1ae7de382db50a4be0fc0013a5dec3e1d6206333666430dff62997d116c13f355b4879781f5a16bca73a1067f3bf3f9b1bb4b757a5b7a276343181a45bf90c332cf481c711e816a569a443fff46aa4a04e8b8ffbe7d6006440ebb06db1eebd0d32ae174036816496c1c3a768eb121588e02c943210d415fa2e1ba62cf609f270391723b22ae3fde59fc721fe3799843d602a019aecfbfcaace787ef4c4e5cda952fd520343baac63d714292cb1516a5812e22460a6435b5e7f78be594a65b47d8bf7e87389b1731068d0332a2075075c4b1aab4e0001d1cb8700ffdc338345b1158e46e492c8b235e3aadcfb229dda658f27840668248f840bc56fe617ddc9f6195c7e3aa41ab03509b80b6f7a86a5d8bbaa76394d64f88bad8a923123d3c30d57e28946a5d116e37824e39f139166b3af27c1c23b411869740144ad20ea699d1133fef9ab37bf1ebd8b023f4bededf30ba10e30b5097e0381005a8a45f64336e3e566fbcba64bb9714b05b7af9bc7692f4575c2e105f68796ca6d713c62d924edc48dd6d1c7a916b235f28f3bed29bbda390435427e36d22f18c1cfc3c8919fe1fc31bf366f8854c4085636702022480550c18f69b4e9b785a5997d6e2e9530771a5585fee902e0ff8f4d117b69693092940ecd65d9dba4d1723b42f652aaa14b951fa2b51a0c8ced089054545de78edfa414cba770193c445591ca24f23c47a65f9ff9fae813ac5c5638b290816d6c5258fdaa50f890ae5648f80de9254828780208db2bc4e50686a9be382bd2f6737383415d7c0804998b05fc6b83ad97bee3ae46afa68d5e667e97b111968f158c88a7365c62091fd2f7dbcbba595f8bbb4b34462a639fde6a917e87b23a60b66f0138e5be7d04350e9052b9468a8f48c8a99787902e18a4a1f7f7da5145df0952b6f58af29096d75044a7fe8192bb4471d0efa139cd2649bfd87bf86440b01835489c637ad18ee33d73d4bde612a681d38b4d9970e94bc0d545e7a8fc41018a3c1a936458dae01849b229676b8ad63920ee0e25e8dadae46311153d6b88bc8f89c5df4196c452069a6a3cf47b4f21de430b5abe7943eae3332a6c0d935e55571c38da18db72dd79c0ee544416105ba71b30694a16f2a3e956ea0f429045f1f2c10392d980aa85dc62694b1959be11f067e0b046e4e00897a9746050ad1f730c67350763af01803bb7e68b52b484b0fd7544301c7542849c7881e60c2ca17adfc5e7548ea06b709d480d877468660958ab1a4286012b2208c5c1358753803d4f0a4d8e51f400e3dced15d20620fd1aad170d7e5a63284f40f4578118abdb83adef4505d936f3c4ca8fb118f85fb5ea0c6a8f3fc3dc4bfd209647e7bd3f704f4954bdb60cc8d17d34d0fcbd5ec20dd2335477cec078f1ab61425084bed369a745f61701dd3d8deb68cce63b61f1f654e0e52572e0319b4f9115734aeb4ead012aee3ae9cb5a4ff183d7abb56840724d24442a512193100be65339b6b8b7f94980b7d4202805dd51c03ff2fb96bd9e2f23c023c890c48067403198df1047f9e7619c7b80a10098c5aac31750aea1be136f8284b209d3b072dc01619ab1c7dd518302fdb095a4e7d4160065a613bdde5465f98411f0c7f2bb2be607eee80072f8722de27457ca34b819acf7920539ee3900d45949adf62a3440cdba82f5f80b220fd9c6aaf8080eae610f8afb109c549b7078484f1991ce7f2b7c4c7248864400c461dd036da7de0d50ec578691fc0d219b2065f200f562551f6f2b554a530bd1b9252ae0b453b0f2cd81dcde7492175b56a7b88ff7f94d99e47d8036b08f4bd9e13067a2a69b377c24a8b2070d8203a54f429c4d0e579c0a99d73d47eb0aa14c06a31ffdbca654b40f258e532166ab6f2ba18a9f1874160942d55cbfd7d0c58c3899012062a88599922f6316bd1638c4fd121bcff8652f6bf00df41a3b4cb56700c4b1cc58a9a1385752e29486cd5c0434c1fa174f79142530a720da483084437776f589a1d5518aeff7f34bd9dedbde35a321ac598d6fc23f89455b6029c40f02cbe177ed275579c5a029a8638f9dc9c7d2436466487476755505564dad60fd94c21d33690aa005fb3199ed7b63a510028d829ff990fbf644f40843f215fa515200573617a7315cdaa0c2fbed9c8c330d19684fba29949f6464773a469ac89975a15d38736d9832993720e8e49940cb7b914d0485dfacee78fab06f81a09c287fbb6395bdfc13f348b783c1592416b16bc21601f687d47a9381d162783b26cddab38bd4c58031cdba1021c09e8197e0e58dc5d14fe622eccc7b291ac830c602c829543de8cf225aad4629e54c1f8d33eb3b6083897ce34fb26af716342ec966dee965d6d542ce8df9c4b69e45aaf66609b56c80335dffd04885e8db8f05d134d14b68aad7fb9e82a1af548399a1f7fa43046415fb15c66f031d4d62e9bda02396dcada122a2fb0de8cf6858400a1f11f641c12dbd662f011b92c10f008713e5aeca0968b7ea3000ad46250c9d5538291f24bb5839f41de93ee746038b1bda072ce02f9ea0dc82295d0dcf44558024cbc59c1f4010c14253cac419603bfaf4067810c907abb0ae8d226cb3e2f31ad603711f980da6275a8e06a58f0f5e9cb5f9b039379b9825d8bbc518c0e5a61329c50bf687168dc5ac866f7eb867841d55365935a7f022556ea741f1fb7fc437e20b62977c044c98c18363f24af27fc5c11ffbf93181ffa066f4789bb6a51230a27267972e790e4a9dfb800ad631d2efe3e4844424c4f175d753f8df8671ec715378e44b9e034a52b9f18af3ea00bf9f6b9bf7b9e8c8f65c29709f9fe8aaa54690c88bb86761a9d03446b826a766cbe4450b90806e4317366330e4c8fe88d9eef64a90e832de1ac6ea75cd8401f8f80b48b7d062f6ff41111148def24593eeb37a5d0f82aad7b81ab907d755ddf728a98359b8d2ff62510bbc2c05b420ecb7514a5b929eb7074cb3b1e54de7a726ad696ddf4d2e125708487df24c27282e076505e791953d25a84b8805708babb3049a2798165e18d92f804d7740850096c8e424d5734ad8f5a17c882797f080d74c16b572bbd06b5487c5525d83712651993abb463c82472cc0e91040f3e4924d81d8dad3c935a463ee054b3af6904fbef7d80d99df0427ed09b4d39883c7d1b56759f7d0ecfae61f49480ca82656394e22fb30b1a77c02d38fb70f2e2d0fde5af3ccc0e5b3da3ba883e4e702b768b7fe8fe262c3260c92601d32a7f4d0517580c96d70b0232897b479c5516fde0fc04b946d2da373d11aef70170bf1a55e94541d2c3c124f7521f95cf2505550999019d93e339dbbbb811f091fed466b2a7743ba658a9cd523f2d7120f13bf17b44673c50207496c960ef4cc34b023fbe631e1160d491e3c3ab0afa4652f3e3e6f0dca447e80ff5f194f680dbfd11e8aaf0cee2d75751c680c7f302de6642cc4049430be28ef427d482e15029c8aa25ecfc3fd8cfd2b3e193fcb603986dfd297d4633632b64f394c6ac54023957d62727a1f5c8fab3b5786e37da14cf66306862e726ffb6b7114c07b27fce11182b1c382b0737648011ae2bec7a9bf11bb64b1abf84006fc6ae2f598de059df9e6d8d05c7cc4cb6bbe53d25acc04c54c41064568aae5e47b9c7e3c9f7fc6ea978643436efa53364319fd915d44eba9d8e58ed6e2fe46110a945c4a68139f7fa68baa56f123f8f586a8a48c2909be231c9a307183b0d89ad440fce1411d34c78fcdf8748baf38e7c827fc264c609dc01d703edd1a217675c2eec8becdc91ecef034a303ef52148ee3379b46280415ac40042ac3820ac7aec34c5d808fea3c6ea40ef0fb1d7fe972c1631e5ec7266c11968ecf4a01ed4565b9810e21c5391a0e5afc4aa6c9cafc45b70f4008e003581c5724a3c815235462b9f98148b1d41a4e05fa87f0043a45133ef61be75732abbbf251a44ec6044662b714dc70e434b8e3f23c496ac650bef699525137e0aa2f21e600add8b6b1d6357e9aad80f0d5dd0cc203b5e46e63813f07e84afa34795b5809ad7dc3a6ca6899168b78f46ca682b6eed99d51e4ccbaf5a3ad96e76aa5a6da47392050607535dc5f71efa21a5e3506baab8889dd6136737519d1783e854077494d786d2ddb11c49df4b2c0cbb8bc390e9f1ce24511e91c088272773748c85d4f2a31b9b89bae22d26d106cb2ac4ab9a1f83acf2da79242b506e7c55a4556b1da065e6dcd637cb4564e7f812e89a5805a37bba26d3976ddbe82ae56df367e68e8b85b61e7ea091c54176aadae86ed2eedfd818be546a9a53299ffc3e9d7b0253a90776288b766eb11293e52f2a02eaa797ef8f1a979a58912b7f303246c1828ebddfe3d8685c049d06954f18abb04ce1aa331517861da05eb2fb22b6d4872059ef630674cdd9ad6e97e798f52a8ecc7eceec2cc290db12e38846d7482513af4493238dbf43e74f6beda910bf0ca716f731219f1b0ec654a91906d61a562999b1f43e3d1a2083e3072e7d9919b62192788c247e39173bedb3413a183ec81483874edc9c362e8cbcdf85e6c443947f69f1e455cdf0398b5369fe1d3613c8b69f9a74b569812515932553a6e61be9a02c21cabf7a18b60398e6a90e2f44d81fb9d3e3da3aebc037b62bd352a9c57c5b54724052e2b6a454944aad02b6b9f01f8cdedb89e0cc2c5c1c03734fa9afb50ab6123f093be12067683cde56f8e1c3593c0d5f9a606b7e90f378669e3c7bdaec7850cefb4754886cfc285ec7cf1061a6640be52e452da32c64a6a5c077c9414a7d82847d874e2db23d8dd39805dbbe3f50ddccb723e0d361ff5d1ab56f7359cafc40f39771f1af22f695e8d9129cfb331753e8fd5d65b3892aabfca9e4966089d02aa38266fa92abfdb5d8bf5a0e8cc9f040bc983c5378558864a1b5d2a37f7f8ea5c53a4e21421dda9c971536d8c0928db52135514c31971ee462d55ef8112f75e5e7881493215daf2fc2bcd449db10e36ec88c1ed809c6fbfa9fd71b7720c9a82e32ffe9c80aaa1bf93323ef8b0b87b34bc396bb2e4972c7c78033984ecc7d3c45b4690a84ae5e1936259635f67e736789d5b63224d0f0ecb257c133d7ca768d18a60b5341ff1a335bccc9632ab6f92708921e865c26be9ec100b40c53813becae0bd1e6b278b033e5a4917d5e9db59a16a3462c32877b4e74c8140d6dfa4ac7e78cab3e4510de4be99be228320905f6f38605de8b7c71e6a9f6124efd17770cdc15aa88518f18136a9a097c1dd425bf1be4422a9b916dd6fbcec39067eef75cd905b0ccbc6de49ec2589d48ddb5d778ef6b6bc57fc034bdb177a9fd8c80acc9d72b7af76666c56184e9b24b026ed86137dfa38060864ddffdaaeb63b70da9a65bc828381a07ea58eca524acf9d5c0171840255fd72430a7041f5ce102ca614e7a5b3016564d07f2586ce66eae8658143568977d10473acb243df827e52d084af28f31caba837d6e382170e27b9e7f54e7d477721e1d1ca6c3d7e1544a5fb04021ceffbfcbdee0f6373ee2da26fcb43110238dacddbbad6d29a54c49cab407b80736070dce26490d2e3538e9fbbf3c7981420346f3fe347e1a7405f168b04783aea106c1f7a7e183c68f0657d3c34c329e8118cb3046ea963f0dc64bb092ae850377becc2931bfc2872a99d267009aa787633bee97f429b9e6f20225fb8735f29cf999657e3eaa5d2fb3fefca70b1faa64a7878181f919548c8596ecf2b7aa74e5d6428d007057d66095f997974f19b94bc663c9264bb6699d034caf190f57255cf92e7cf8e17b45b4e12f83ef927f297834548061adf00280d6c7420b745a6ff9d174dab82ec525e5b684a6a0a41601bc29289431c83ebfb1fd01e098058077903138d45cc0e10d00de61dac0a1cf6ae0506b01873e630187a859f6ff70b802cbfe2d1ca292b23f0070887990fd5760e190c64ff687c1a10a38bc1e0ef192ec8ff1e3d06729e050a3817798f905cbb2bf0b0e594464ff15de61fab7e0f0e65025cbfe2a1cd208cafe291c5e161cb28ab23f0a38f4a5195f52f647e11da60c962cfb9f807798394c195d1ccbee487629d47a6419145a226b941bdb37e189a7a76d757e786bbd495769a948f65f195af9d12e96a3fba4c16864c947f69b74975682b2cb232d6a90c315a1ec5aec20872b3eb25f3a4d42484332a206433bcb41261e0d4a27b81c9a827c480e5d72680ab251d43a62aaf491e40ad0215d4ad9ee2d393f532fbc2f39cec8b1a33731bf6c97b55a3772fc9861bae5ff39ea8719f07a503dfd568338c86f75cbb1a6699aa679392c8c0a1257e68f5d2b87ccf2b7e8f94715a0a34618bd1c5503f3e98dfa528b2fb5ec7939ac07647ef53e86eb2fd6dcf061728c14051d3e49d97d3ce11d5d27bbf9d58a1bc6251d1a94f1fd3cb46b06ea53dfa2fa66c929f7145df753fee3a7f2ada2f29ac792555e7a214b0effbee5bc9b2f63c6a35e7be99af12b26ef1910b3e6d5c826538e1e3c03b91ff3ca9ffe620d9c72681faebc50cbabbfb101f942e151f81d3b7a7c18c30645d8c20b30c218e3757a209647c1fb135ec75738e6160ce4f42abc82c31bf9040fa65bf159b00ff2b5238ef10a52bd522f710e20292f88fb285c2f88d40be83e0a5e10da0b48f32f3e10d0f57a4e2950810b8820810d7840f4f221ca828401b4a4891462087945141ee87eea8158bceb5ffcd303a53c96d7bc67f13414228efda1649ce0994e1f33bdbf9d7077f18eee7b74bcba1da7efd1f13a79276fc7e925a69c0a0ee313b9bfe3b06f1807b9e2c17303a4f4809cbc983719e3cafd961857b86e496f9a7e4e19c4e8d1e0caf4f24d9e0c62f4884882a06429b523184c06317ac4c0d4f061ea983e48cdd4693103e2887823455044ec8744923d1e159944a6121949d6c36bb44bb90a821ba6e68f06b9a0083391a4a4b3ce34146c2b9eb9c2e133a7b7ea70e6950cd1481648391ac90289178d6411eb970a0c6664882733233d7c1cedc094c5502a0ba13692c5125834398a42f3c016fdc8068e320f9e420386b8bb811bfec3b46b264627660889824a0417ad56c31f3f7f8b7dc6161cbe5bf6608b0d3afdf94efb757a025b6cea8442a15e50223061b694734c326b92e573355e44b2c92f92432e26a9c205593ea752841b9354b124e798a40a25b92bb0a984aa7c55ea53a07dfdaa4cd734eb534a77771a2d12051832590d5b6ceba44f3f52ab691605b42718954e3a7f40270a5ce6c08b368b234c74e9d4d07149b553fb15db9b495f7ef2ea70ad6b19d068f42ab568358b44e5cbdcd5b2fad29390ba625fb231a1582cdbecb5079a7f1748f431e7920eaeb7bb40c628638cb276f7e8616c131b20669f451bf1377777e7ba15a5a451932db54c5b100e413dd641a094ea20bbbbeb0c91028b943d162b80c73c268483ada3369b75ab3922dcd093f26cca8c7270e5cbeedc9fcfa4cb16b146516806a5eee440903c5129978bc2e287dce568e48a2739bcff130e91d2e5be374738846c974be7a4265b06b14518ed67d67ea57d7c99c0954db980ab6d453fe619ceb8deb7f7b6c1bd1da709c5139e26ad0416a36e07b86eb5f75ea7155bd3d94d7b767777cbbfeeeeeeeeee4a67d7a63dbbbb3bc638bb638cb1d24adb8e11bdd0ddce39e79c53ced93571e505ae348aaf52c411e69cdeb26b09c221a494d293ef321c628a39648b3061cbc9c9ccb9683352d125635f002a723843c625199331215c39a9b79c44d3084d3bcd699ad30494848414491f90c15d8972f2aca8e204fddd6ac1b464de26b0226645d1d04b2c88fc8b5604d1345b294cabc6c324c128871f538190d2ee4dcdd4fcaf89913553b69850d1daeb4e75777777b7104bb27f1545647f94ffa704b0129d480241bc992591fd670a9aca890ed000421190b2ffcb55b51091c51b17198422181180ec44e041f65f753b7e71134b2d531021042f0ce105d95f75672cf1012c52dd8e6bdd11089dd2dddddd4d452033131bb4c0d2edf8490a2625f87277773f0add4e774cc060468b0a2db23faadbf114912e640c800a2770a8f821fb9fc00021cc9c2029411460204102b972055dd10d8d105ff285c004143b7d429ae20718a6a841ee47a5843044ee77b93f061846484c20820441234862a50927a2ca0e6430c8fd29a7286ea8c90f82922964489c90fb2f2ae512450bb9bfeb810f28a26c51c418415c81840a1119444e005238a102083e8822082a68410a231d630213fc781106121296f023b50483c138302408774f43c81d052cb72c0ad92a0a274c96fc800a2352b0004ce586e288dc35ddaa66e289d4620e98647f7b5340310185ac354f680155c9feb04496a82ad92336ce1a615570439425aa5968416c912db2452e57fcb875d700f9838e1c270ed25ef32be669d86b7ec4a10f39f63073fdd5012451ae9e7ba10f3cf7355fa76bf572a864ea01993a728c2f611296fd73265b84096d1459934ed72d2a8043bff6fd03c0a1cc0318c0cbae6c8b1bdea418736c34581a23f3305fe6ee1290cad3bb49d1c6cd4d27450c31d8d0d8d0bc6f3873be4e6ba69b9b17522e2998fecf01716c685a2d97cb7572cdc4c4e480600e087ecc3836343436343436204e8efc9eb49c082365b75a8ecb45c1cfa1b42b58411b1c9a8a53696aa5b10153bee6859a02489da31c17258a295fdc208eeb66eefa925ef8186f3e763b379ff3f4fd054af1b7f425e57ce79a837f907dc6e2e79d01f03102e01dc72a9655ac8497f0131cc583793f1e8f97a597272f4a2f492f4d5e66aad50c0ac0318cc4128ab114cf0da06b430383528338ae18de7fa39d03faf5a90471e7b33e64c96a08e2aa3e8c347e9a060fa13c1dfc8dd29fd3d208a2c1a35b4ee38747e347b7bcafe83372d7cc77941dc736bca4c1093e7ddaedd04fe914a083a3204ef9c10db53c6764286043b788c4990d0d8d0d0dcdc70cc3c4714d178ecb15838783b10c092fc14a64d20b392c7ca8d296c8ba5595eeca6ff224a3a7602493c98491b012bc04c7583295918b8c9c4919b9044a19a9280f2aadabc98ad2a00bf6b3028f065d2b08add063051f0daea8f741f9a27c4fbea54fa905e8c61cb25e6637e4c0627d44f12666952ca985071d5a8298c1a922ff5a70c1b286e28dcc322a997b76f918c197596cf9bbb08a561e23b92bbe7e665e867ecdc7d78a7a2b1a74bee671e87c8de7238447e66bde67e675bce8df948fa3e6755ec7f391f91acf0679c9b744eef2a979f932380398db717d85a3e6677ee66b3c4be4df0c56c9fcf3664604d1f90295ccca64663c99d8d520e359d9e9743a9966ce713c8284664241411b27db582c196be62ed52bc95d32b15ddd6fddc7998f3343734ead47b7a4a7f9c03177b1643d7646064b222072c8bf24fe38f632ab54356b9d9bac74aa640d862f4c9cd592e56fdb8c7c975254b814ac0423e198942b97bb323ff34b57e56367009650b4e16f872e4843b34d5c5fc6860d1b363edaf858831fbb1d17f83458c524a45e0e3328bb3cd50cf454b2134e388149b79caa64aa194bc6847b73cd0108c0cfa0bcadeca8f91a6f062583fa92601ae663b703c5fdcd5d3a3ff3a1965348e1753056d29fc7febc19cffb50cb325a387075e4f8327b99a980ee6a5e1c94f10c987f2f45565e8e565e8ca20dff95eec68b4a55e363a792a1a0f8e73127a48c5028d4cda3ba9d1b4a63788a63b7f3c2eb340adb8c25eb967f494931c8c0f0b1db81e1753a75d460087e7dff183ecce12865d42d7f2de882df9d415c018b94e90b9f322ae21f7f4610e7e76b11bcf9f95c046d7ebe459a9485893b9340922c2cb8f57b1c7397ccdf0fbf24198f65898bf314ab9a34b8d29aa8662f442b1bd00d2f8ecdc682f32c2c303c4bb70303ce571cde3c4e0bd7d2d2d2ede4b85c54e5cac9b1f96d621b9b76fd26633743faaedf5a726c6c5c2b2ec6d8ede0bc4e574a279d73067dce7f4b49be28ca31891751b24c8e49a06491af0a5cdde26e77e665bccb23f3335e8f3351420fd84be637196c12f24f06cbee64902497c68732488c2b29a106327d191c5f37a9c19c1c4a29a5d44543e372b95c2e1aeac5955f6d7ef36cdef370deeb76706c6cb04d8e8d0d8e0d8ec7552dbe22dfd167f415b198b066297cec58b26fa9c17006651976b97e7a2d3f3785a5fa71bf2277c9bc7ffe54feff997ffe3f65bce8dfcb6c3e8d173ee885a9385f6639bfa990f32aa860f32a743b363939969b38e77bd2a0cb0b733e07b479cfb1f1bc45bb4257607ddca44107411cc34a1a8c499e04e59624bce4ae1f5a6444f6c750709476fda42479d283eceffdb46be2250dc6244ea0647fec0f561aaa642c260d4a17647f569306259197994aa6b9729ed4bcc170340f23f33032e0c3743b60a594d27cc5610e34309d0164a601577e546871a52bf3332f1fc7dc850f3517de850f537965c83fef5833565237c109b292585058492c194bc662c29ab194584b2c26ac26ac194b89b5c492e1184b46836f7eeb766e381c836185bb32776124bf337761997fdb0a173b1a9aefa498146f754e70825896d4a06b73e198712c07c77270cc58091266d260cefbe3598e0be325a08791ba8599cc529eb8e1cb0ce755ba1d1a2f8719946dfec6802f0cf8be805760ddc28f7383af0dbe4fbac571e07e8a7542f6df50dcfd5025ab59dcf0eb64e8f297c402120b4b563c323ff3335ecf0ac7ccd77c8de7b35205997955917ffe331f5f329e45f24fbe8e97fc2d881be2988a283b2b658443e65346ac16ef65fcbc816355893b3f54c95e66aadf5a66fcf7325bc9fedbe98a1bb264f96bd22d7f96ac62d4cbf8d8c9d065ea9d8854440d86df4cf5a35d12e6ffcd1a6401a95b4d1a644146bf248a5f661dc3ccd7fc8aae6a3c95cc3f6fe55578950c857aaa6a6d00e0ae2c57a51be2184b36714b66017265cc87aa0fc7644c98b070653366fccb6f2c255845dd7256901b2c22ffb0128cd42da57b3f763836bd2f2985093754c988dc55f3feac20ee9a4919a1f0110523fffc516015a11ec71aacc1716b81ab4a975583e56b06b3885841b27fca88e53fbc2c6f24e3b17c78338af5218ed1f8e9d6cbac415f72c397d9cbac5bdedde0862fb3f92fb3dbfbac9e7b1cdb5bcf877adad7c761e96fdfc1e069697c6d38be4ef1155f33c8d87c9c8a36e6c7341dd22d13eca75c7261ad57da434437f867bf628ae7349d4cfef4e7d44ef84e4d932677d3d78ffef471f8530f87e9ab77c3b66afb32c85dabf656346c4f9f677bfafdd4eb11d21e0ffdeaf5f89cbe3ee5bec747888fb77a1dafef967d0eb7fcb3bf592bbdf036953f9dd2c4cc5d3e4278ea9fde87fe7ceb53ffb4b3eae7994f9fe7b46a8f86f9d4b38fe3f4d5abc13fbb3df792eb64d65a6b6d0b65dbd32dfb1d87ed6fd8fec9fe944812d62d6aed734ddc505afb5226639224670d86314a4f83f67570577dfb37b88bbe7dd56083bbe2cb3eb5c15df3edd7e02e5fdde811c243dff43d99a78ff871b28323d8cbe4f5f8530244eea6df7e8dc491d1857efb3811d4de7e4e04e55b140f727794ee295193b26cdf24948244ec8bea967f4c8d96fa19fc9bc135ed5eed757a06778f53648f4f64a7afd37e3431b7c40d63ac8606436e86e64e307dfa4fefd847084fffc9f3f1a7eda7af94525a4ff6759a524aa9ada7766ec80d5d6888af9f1fedebff98de7eec6e9c9ec2746bdee0df8492e7d4bab82d4fe3e2369dbf4dae07cf714e89a70713bf5845905047437cd9afe10b2eaea8421624f4dd6ad5208106c369c3944d7fd4aad953adb5d65a4fd554b75a6badb5d65aeb9fea9b6cad9573a2d6150f0d862d19d0a1d65a7fd5126f66142658ae3f3327816ed50e22d71f72955f70916bf750ae44b5b6aaa852b3d5c935fd7c59458d7ff589593fac9146724856439472978cf957bfa806d17258a3d554cc35ed5eef4ede0d530bae8cc51b99ba22575945ae728a5ce513b94a28b97eac95a75bf54d588305d5d0adfab326e5fa1c0b6e2863b97e7da9a441a4064396250d867149ae5f25d85fe7fbcfaf1f59e20dfdfa11a67a389860d23520c42bb36318fad5c9b5afbd9444374cafd3ed26cd567a3926a80ed9b389cdfed63d713bc7d3694543fd7e1c14f76f8fc37f7bc79ca7ac6490799543e61c57afc62bf9a68f2f0eaf5e1b5ebd34fb3a7dc2d14d38badf88feb9d6c5bdc1b3a15bf6adb51e0e71a98b5486703bc723400cc9f2630a52a61f6b54e5384f4b5c10a145464441864cae8ba16ae7504dd1516c88d11025bec4dd6599fe1226512ac9a858b7e8471452a6dc917f540a2445f2d19214526a96334519752b8524b524a764997ec5a8a26e512299de3a5d96b638f269821224d460913c831ccee0d1c3eb5b0f05a5411950fc51b04c7fa7fee6d8b1b84239754437bb6da615128f542cd3542af524d3145236d9a006c32b046b50ca20cfe0318bf20e48327da3150ecd0725145fd5c9ed56f253bec32bf9dd03e978f90c98bb56f2ef8c2077ada4b7a2c15fe579fc555ebe8ad723447a3c297fbd9ef929af94efe9debd95c42958a3b47aa9a32e763b377e3a2ffa376524e5969f1ba68ee8bb0811411494e832e4aef8ba4799a26646397429ca140546a61fbaf4c8d44528d3d08528539720991ea58e6efca8bcbf8c99bb7c52dd5359bd150d293f1f47cacff93e2a9e8ca54c1fc7fc944ff17cdc4bc948ca347594e9a78edcb5c2d1fdfcf99d2763e6dfc4a8997ff453a91412faa9a554949492542a954aa5aa44cde80c35d433bd158ef9dd779e8fc7ae06f75043fed19f1e4ac83ffa3aad11e57012a5729c29454e7e687509627414832222182071d93f7ba6b72d7141ee8a2fc71ccc3f774e091e5c9194db734115731673465c9106632ed22dba7dc51c57d460e482604e09ae48c6a58efca37faa3825eb165df1780ac93ffaee6d4bfed1d7f1a2a9a395ba714c1a0c67c072acc1964c9f9b71494f6e5117b24c9f437297ad3360337e1a944699d62bc2d491b6c3cc261c6e4c320d8a449a0be22eed457f5bda8edc155f45327dae08ca36f32db62165ea48b92ae1f620caf45b8e52a0b8613c6a1c35fed139e42ecd8b69d1d82475d42dfa1c934dca144d1d71470dd24c9fd3e247a6cf2d7151da653aa2cf2979729469c8c532e5669952ee49a61c52a66f2b515183618d5183613c9a3fe8cf2030a09348a6947e8dbbfce9ebb86bbecb9c1f14950e6bdc449856f78c5dd700aeb1366533b1adfa63cee11fd6efc173dc31bf47c76b3ec51a989fc33f34797dfad3ebf49cf38174bca60764bfbef63a6e0a6f64cde60032bd20e603513ae753a0491f683e1005f22f7efcec83d4d13ec8ae13688b30e173316ff4bb737bb4bdba843b356dcefe298b2f6f4503a5d1f38971528f7e7c752ac7ac667f0dee5acd8faf18dbbd981ff9b3575727977e7d298724d10d7b830c224ff9439ef18b3c231779ce1aa23c5fc3f2355d7c7ea578f642e6cb1b1a9c2e394cffd688643b936d7eecaf8f43fef47c3c1f213c3e31f59e0dee5ac5afafe3d52f9f477a3d42a2c723bf7a3ddacbfa3df25ffd3a5eda75214bc8d48f1c45619fa77ebfe9e52abe8f10fa3efdf57d84983c9ef9f27dea2a7a2bebd1d05f9fa7bfc6f0481953bbb8762ad92176881d6287d82176881d6287d82176881d62876c2a5589078faa74956a16573e5795aa129018a594b2a5942da5f4f67090de8ffd1136099b8445c22651b3b02cb02bb0402c1255c926b1c14c181c5b9435b81a2a52b6cb6a64333946262f48f92e858f277cd4c0877dba3d0fd212712595b2e352bab74f533a1cd2b7cdbdfdbcd14d4a69a52fb1491fdd9af6e547cbc4dd22cddd4090ec6f8bb8618d3c354d33f578715b81e99647fd1b4ad85fe4f9a66e01a6ee00f24fdd01e45bcf7a517ba9bdd5300e6976cd8bb60799ad57a35bee4d0578f1c4b97a297ef31b8a09e6412db2a565888b43ffe7b097e450b7667b92a85b2cefe13df294bd24bd5e72286e288b62464de4df7ced672f69309c473986d4e0cd617d6a8424de98eab7519e387099b56e01feeddf9f1df720b12c22729724d2df94488ae6cf2faa9d5ba8c11e0df6d036bba227ed25ef256f22bf79cc5c42399bf9e06eb6c88ddc927f2bbb0fffc1c5413e0f928504b77f127167b7a69cd907eb231515153566196211ba6113c5d84bfd45f480704fdac579eea3979c87fff4d20158b93d49a45b7387d9b368633e921bf6522ff513ba1476943cbf63f1c6a483787352d2ef1dc3db9ffa372f94dd029a8b59e2b035ffd41da0bf710f147faeb398a9529ef31df78f6c3b87725645bc318274f5927ff36743c1a28b3c3f4ad904fb3add4bee6a1d3c91e7f714d9617976157906752cda986f6970c3265aca73cef7a106c326eaa5069f34d83fddf2116f626e2879761335f8a3c120b2489eef320679ba2789c8593faca17921ccdf549c15d5c8a12c82c9a12c5282849b3efa6db7d3dbe562bf4a25a3d4beb526f3a7166dccc9236601fd0ee6a81ffee6b862eee76a38e4c0e185ea5e8c359e4eb442b24595d8904a28330ef4799059be25e2865af4f777adbd8aebb38ce09e9e7b96216eca6befaf99e28dcae390f2f26d0eed5370b700fb52be8a7dfa316aa604c064e9cd6e592fd64dce188fc1161fab10e1c6244e624e8e724ce2a49dfcc83189931e99e698c4c9077297631227b0548e1e0652c2d05036c6769f95466da250327c2352d940a7a417baca0624cc96020d69d249c798344a0f50d073524a29a5de9c3b269df40493ee9893524a29a5de9c3ba41c5262663299e69cf6064d11c3e36c0a18266b4d41b8f180e8d2395272a499349396f2cf87c974ba89a7d3e6299787314d540e286ddb36905eff3413dc59b988c4715cd73a7d5cc95135e7e499d93d951fb62e9a6a9f629b0a900a900a900a900a900a900a900a100c0683c16030180c0683c16030180c0683c16030180c0683c16030180c0683996c108f903393e99a669884b8618d15c20a71b2429cac10272bc4c90a7102c20a715201c20a715201e2a4028469e6e38a1f7a34e1870fc82eee09603409b8e8a22b640beea9084782c0c4d5723c02fb812ce2da1c8fc06204801d8d8134826d3375b7663fec1c6d543a6b8edc3d9fa1d65a3deceeeda2b3bbbbe9eceed6babb9b0528ba6c7de9dd58e97477f7f6185bde11694e2a5b359b0a527070e5cfd8a2b57e60ce3ae3b4951e9993ce2373da4a7d4c5be9914a67a53e2ab5951e99b6d22373faf0318fcc692bf5316da547bad8224cb7cf1aaf09c7f875dd016eee7cce4935d07ec8c9f74f0221a32482514aab9d44301d6e88491ca59ac9235294f58cf642d8020c16e343bad01f7e397ed8820dd58004e4c6ac3e8888644ae7552f944886a817ca251736649b8b47f7db6402f23a35351289c669da9b347b327d6a7e6825917f8d2361d2853e6113104d163192383206d185254433f0c2ceee49a314244655cea60eeba823486d4a29943795f872424c8dce0ab2fc0234a8e5c953830df26f685046184fc02dcb97411968b0befc9e309ac8f648b6da4e8521d3d7bac8f4b9065d99ba20d39fdd0e8de000f27ca7c91e05165dd115af0e2be71154caeaee1d655a93690e326d451b34e6f9117000fd1bf41f10211041f9941e21d35a257daad9504a9fd2893491a48eae26e754228b3188b4a00546289a9206738921a4ae0423062980216b65d30e26184279ce5824220720cf26e420cfe7a609c975f9132679ced7b88b4ab93c4cab464c1579feccfc9a17740a3083026e6891270ef2fc1a24604311793e051a3ce5f937e4a043903c9f8706bb3c8d2cc105797e4f8335605e38f1d3e04b901579e6c9042cf27cd9430e35188d60d124cf48e405d28f06e392203ff294450d462350c6c8f32591f9d2a8c168e40b1de4f9b24883472f5d0b0959c29c73cea945391b5ce1c90b72cb13105b7539bdb982d944ae43b9d6772f9c29c8f57b068936ead72857d69771d2fceb6f512582fdd5431939d4a66cec6074b1e42482dad7772f22685f959251dbe392b8a1a6cda32db4182221b04704311df140356249f3c110f4c83a414210f3085975a285083c1b01a34f602368a3199f8c8004326a53239af917b5274140705520941a23a669a8944b8c18b211c414a1a484109466c085520e849484d040b85b8e46949290b85a8e46949c8881646da5b363c4d8f12d317ef2fc1a0f93c512618c91c38f39b271ff38b7f7d14694fb0004cc303f011154f9f90d8860ca4f2af25451c11a5ef96fda738fa37e7d6ef356fedbcabdd50dee1d105fdc6fcf793e3d42706c9e4f7dee396fe54f5fc7cb47fb957b2b1ab8df9e87fbedfd37af47887b3cdb53afc7f4dbf79c9e7b1daff88a2fede36b939ddc214702644ef91d7654fe8605e4eaa5e1d5ab9bc1bfe9634503f7f57170f4039992a8744c76464dcc32443422000000004315003028100c090563c16018a471b2fc14800a729a506a543294c723390ec3380a628c310610030821c018638c418688540267f3ef0f1a5c099432fcf625e9eb62ab330849d07b4bc907c0715dab30aabdbf4003b44d2b3caa6732e4c391b46d264c725e1112c408e9de61e500b2f371408803704a9079b12cb21f7c99900f86690ebb05b3b89c400413ce8008aa16f187ed0a4eea0024fe3688c3deb9cd0222a2fdaefcc68000698870a562a54b564360475f8d5bd6891fe24fb9450c15cb84ba8074e344a08508655e5405ead5e35e46d3abb6a197c429a15793d5c1d9753148e43d98041f8926ce744f86e24c7f27bcc61a342b0c01f81ffc7dc2251134f26a3da8af2acfb58be393447134f017158c365bc7b892704af5081f2c2a6314333b0cca8bdfa58f456e1fed320fffaa318e3b6200bca83a8b719fab36e7082ee1af85318d59f56d49117266519ef1d559030ecce702c6fc03236803f4f5c8bf42da62226343d915271c4cd2c7c260bc50adb4acf0e8354c11fa3d35cdecfb2ea06b66275bf066e3977242170cdb2b00611c97761f5d3389f3f9eb8565013c30a89dd49aeae5d4d65eae3ee8961b40c4621fe48d6c70396b50da30fbae05299376658490c3232f8fbb994c468fbb9959f743a3da88e6f850011bb3bb1a65f310f16868c72639a16b87959199b5a5dc6af0e14efc12119a8e84d56a48cf36ea46dbd16f52c7f941017b7199cbb8cda04be0950d2c9ab32fca9645bc5e2c25bc2f23a3da1e8b0505e430110fb3d6ea31e6ff45c3d5a64acff8a043d3ab3507dde1d47185c8128c7ae4f43192483e79c34b2d5d720b531732628c614f60a27224ab6adeb17c75522d38b3b4b40dc196002128a32198af6a3e02b9b3f848620bbdb60cee47506f78d447fa3cef56721e056abf30c4f4da85d0d9ca922afa6387ec9f529059becf7cb55c2521584c59d1e4e4d0fa05871975769d5c83ec1a689b14dc3d5253841b4a7e57e526206428a8d712f94db7c709ef862c1d48754757dc20a3bc049e3587c882129233a02019591d92f3b099efe74e345ae014a424971fb5ed508892247a4a7001d515856ffb20168e9caeca8aacea074665838d3a81e50cbebb255c119c24bb34c9259c0cfd08bba05d0130ba034a8c2d65041fa10f20c9f5b847d738941901aa1db29af2596b75e9b7967e9c72fea485bb54bcabe9c5916e14c131d6cbe0761c9b89fe850a84402f9e3d842a4cb438ee6a00df014cadbced46a147397d4e0caa715771af6897a9489865a1bb97e2764ea07da6c423639a89d1904f3a60385adbb44c4ece3c826362a8d69e3953a54243d4c7b896201af90b003fc3e18e60fd9d7cea8dacc3c20e9196e872913509b214669b19a0f6d9539e87209399078177cecb253ecec49d44b28156b9a1c1c571dd628817c0dc937c162dcbab0bc13e019058bf90b14eb9476891f8346ff4d989817120dc344661835330f3b8d322af9820b1eb1f5c4ed20172ec55fd6c298e1f65f2d6e7eafa0d84ed54f2a8af4361c13872fb2724421186dc0c15a38482c71f735e838db8979fdc0797790bc3c31e99efe02213a76d8331b47bdfcd70f34d7792a2c873c80302361e10fab442c8551608a7f8c36ce0c873374692a5372a2eaf89353a97afbc56eacb01ac4ee73c5bdf35a09b3a04b30ebbcf8f84c45d48ee566cd83faadb058b2e48aa1669e2c9ad99903572c5693087c1cb4abf315fabfa48f17901faf1bd7cf7beaf0833fb59d2a1eb6742845cbbb38601fd556455163ec2d767202acd34bf6f952f9e2fdfc5d58780d9ebc6b170bf99b5ba89d1263880babbdf3b41f1bf858dd2edb8ce98be7566dc841052ba4a9dd0ad18666f669c223d0604175bcc4ac513d73ae8d32f05bb33e2fa4d595f7708b6d57a749e7b62fb158ddf011e175dba83c4d29b4023debb0b2a3ffcd9d7b5def39046e37f37e32f1fd5b670eb7df949080b8539a7b98fa604565a289028f0d582dc6c67175f4b9d10e1d1e3e00b134a1efdd89202c0e8024f7bda39416335e4beb7178b1a985e66ac6cf5e5d51de878533432320226b59d6b3030f688ea24604bdc8c8ed8589ed806d0792de4413ee4378f18daffe9a95bef1826f384c29eeb42ceb89c302edaae4e8da172735bc891fc710297adae73af8d26d0657effac6e84146f8298a2a73c4cebd5fe1d6495e62925fc9c41d509462a98b4d0d9a48948d2918c8abaf6022a3039e8936b6b375086ca4fdf6e609f3c6c226a4ee06c9276129088580accf5ee3059f3240c6da117976f18bfbd05e2689322d86781cb26e10f38330dced7d50281426cacdb6b98a030654e2abd7cc9eff4364412a44071f2e921aeb41d29861bbfe6823f05f0df1cde617b52b14cb6f1cd81e322c467ba632b39d914c4bc157619f89d1a3472801f44ed2768274a390d267846b6271feb2bd4c452ed3dcb2456a34663128586522d0da052c6897564f411b4943a67c801d0854ba036200401fa12d1cd8c9db16a4db4bceb872d14b00f00a916f599050526a7f34ea9d4fbcfd933fe5c435f94a6fadcda9015d3c1d88b82ac30c51b7e7c313600134c90090d63abd0c965eda053ace90257dc9c61153cc8815a5a838c1265925552e31600581df6dff03b23495e1316040ad752dfead0da8faca9b19aec9397cde747f6a311ce211dc59acef26dbebff1c7643db1d54b875a31ad2d7241e3f93805ee0dfce2203f5e0a8ea2f9830d592f6b4b478d8341e947586cc4687c6aec14761ea225eb343208e42dc6eee1fa2479df279d00870527a77e47d40c110463b69207a5c57c178cce9058f33a952148b5849b9c17e2124a02f8657140c43dd337ddc73d0b87feac0a88182e51f9e59660871c4de00ca96b3d3e69fd141c6d1aa788d57d2f996a43d714591d166a9b4576329fb2dcb17bab26285049f7243520fe496486e47bb9a6acaa77747878e2a4f47b2333150e9aa6f5f1183b77e493ab8ed6d61e271eddbd26c41f63fca670804a1a87c6bd850ae29c93d3ebfce3f065b072a934be89a75f1aa83687d55a2a57fb40e705dc9b620a7ef1a30b3b60277c803080f04fe63c54c6851955758a57f406583f5650a68e7370c327d8337247e0d2594e989eb372e71be3661fe447f8a6e342a0ac433f701d3cf650f58cd013ac74c6247c2f72a3437a04b43a57846311dd38821e231ac155e1b1b3a6438046e7ded6dd7819a5f4a731391d1b84d8300c1270071963c37749fde26a2a19c422e96c427d8bf2241ec46db90c6a005c349a8370b6f3dc90cb3400a20163a3112aa401b0cad43af857d178be76221a00740e523c197bf7d350ba8006c022232af44728348a87750b73816bfa4c5084e13557d90177f1394371b0b997bc1630e72b009f73b12b614c09427d9ec7381aaf0373b43a1b30fe45aa59f2836caf1b5b2c39332eb8ed05e2152530e43860ab2208525c6350f5cdd56feedd81f8a2e40cb960362f195b90c897ef3d1b6cc4c8d5d4b0bd7aa25be8319b6f70f8058b451e66f9e41516abc21762633c5640fbe69e3b165f2cf90277d4f8982d516a6877a4622fd39acebbff61b482375ff2b37b426cde283da38f1dc321f9670004e4e89861431a63de176a00741bf3a8685978f78b96930e15cf84d250f2783b525b38e317751a1de772fefd3c215712e48a31729b12a62dd96b5e19355db0cb425f82e5ab6d022a133f1dede417632c1f6e0ab51ca81c14968564a0209641f0fa3b528767e8602f1a2de831857253fb0e8e2319fb95d3c367eb524612e7bfd44351868746ccd3fd13a6ef292265db1941dcc910f77be080a2f137fa9ad8b4560e7b890f75eddfa3d7e0825b80c0d9f4df6ec643b659e14f72b7bb66c1341967dcd0e39d8994733b475d6f5f2518ae1a06f3aef01ef5c90014bf01596dd36dbf3925c4c4807745da7fffb621ade87eb3ec782804260fde38881ac0971f4c81d3c787a3f6d206fb324c466e65e613bc65afc312d917ee4128f0105b884dbf73290a3d106968e92430affbe1e0130713773ac1f5e4766a921b1fa5f4e8a58ac152ecd99bf4ef3bbf007e79ace48ff10c36d328f37ce7c0e94504f036bbb9c772872cbdf289ae1da0b90f1d4e5235c803fdeddf0eb43bf946627f9188a1610b83dddaf7f3525b0170a7608b5348e2fba96d3c45699a6eefc98938c88f5a50cf99aebdc1467b8ab0f086b649fbc0f20f3cf10d55d6e15f89cf551a57112b77a262246e40ed889f3a4136c4a4295a75f8f7e9c3c7ec36e911d023349f3f70e9027fc45695f450160f8cd3837045db440a8756ce9988c7148ba711a1a923c9699034d16faf0260a9b7fd765f4464de119c251f569a6782e172bf131f3a14bf0c71ba9735c19024a22ae709a8d9becf197aa2c586e6566f0b3159b67f723a14a69776288f9e5e2fc0c66b8eb32e12be0d204147864a010e98f83f08b286c529e47ba7cc433a4c8f97e7eeae3a138fa2e24326d44ff9c61225762729fd46495416c05df34ee5f96757f60f8618631da2120e01489de86199c5f47040f7a128168a1ade2e9053412767df495d1b05d72e819ed006d2d3405e3a1020189cb823a986a2d943d277c0fc587100d128240afcff05ef86f362959d65beb85738b30322c4cdbf5224b4f1aeb517871414800009fcf8bf7ad630368c1d2ce107b6a2a425b06238995a08aad52546c630176946867638a6622cf02fb4fe7d6af0e074ed1bf735ee9dd999d8b270606cd33e72afc7ad6ca0497bffe9ce164c7c27a58386780bc59719c6d82b81d82bdf6797967603cbe1cc708addcf161846c916f7c7d227e1fcd4f2e52989c1a564c1cb4ce315ed9e00fd571348c0af5ccd2a8c75c15758082fff1b9eee7c025a25f520f614a53e1f64b56cb9dd954ec49a949611a97fbb80a6e52c693952163d0ae50f96c884ccd7d876ceef472db5384d4ac8afb0b9958ed74177df4e5a77f0f201ff4151e1c1d8f5738a2de1722b906897fff04cb46b8d051e61d0e0b55629e80d5e4d352fa85e92eb2f028f9033d6c17b668c799b0478a2e3556f8474a360aca8004b472b1c54cf12863939264c36891449138c0216aa4f518b49f7d699813d20e02aa673295c60b6cd07942f97fcce2326db6fc908bf350dfe58dd88f437e7ad68c31f815394ba1c5603738ac8c57641116ceb975169693ce7ce4408aef435fbc44b95098c79c4c7a6c01e12b3a60675ab7c06fe82c3fc1026c645a6bdc45917cbdcac0ca69090f7fde38608efde91514ef3da06649c00ae7e4f5e6bccf366c07b9b2f2e3402abdca0f7ad0db180c247c1144af9979993c0a624464c1f1666381c5e46b2c2703a0d0e81ccb59e295d079b492235b199d3b33678799369018aa0c0ea0bd006779138d24842f84a01f6e189d6a759d388fbb7ee0bd63fa7be842fc14daf62ad3969a130315e88c487c0726138961790c6a58a9e4ee69732f1b65daa973036d455a0472fdf2ccc5555e12b085693307f15b45d78ab64802e06ec831373a3c4756402b4cf134309202e487792af38ab298e4ff47a3bb428e1bb440c814995114248b9c227bb0f8fdad5379615472b42215926e0939924d34571a4cd26227eb12deb5953b8041c634dc67cc6040d723802627c1d0b2d92403bb7656de1cbb12625c9eea68cd3bf55408b9ead47d3bf75c242da42a5574c709e7f81ef135e06437c5fb8cf09af5726f58a5ef20c961d6311c566cde31a14f7a5f201f0d2b395806101570875689d8092784b9d2c070b27399100f3e625a9f89d6c4da885dd89b50be3386b2938f651db08a8486c665d27b6bcba38c801e46f2736e36a1111a8ff50ccae634c35ffae44e908d5740876fdbe8009dbdef46e9276c93a9ed99ab6872eabac6ee3e5b28b7ef5d497608631deea861b0a0375525a3874437b9c6cf8961bcec61964eae5aff18b5d9e4ac0722264d54aaa485fd54e6d3d38d2aff24154c869bbe99f6ccc78e8aac94097438238330e1108b07bd573891d82cf2a18d00f4c3fca317b290f88785e4be24a78660d1418979da5a46f791ffb9bddde06b72f8f464f8bec64fe5734e203db41285fb39bc4d85ff8f0919776d47c645cb040f6ae73386d0bdec004f0fa58df0b8ff8dda1489df0f6a441b9aeb27fd1828fe8d244da0ebf1517f36c1800b9ee78e3cca2dd3a9bb9c910408e8a8480977499483e8cacbc79ff61c47d477b90918f314310bb3dcb698921fec01ca7a31ad70c550921e70a8879771380e5febc0f0a49483fc0859dc5f49a5148420c7ac0d0ac22958afe1504da9d5e139a6d33bab3b4945e5c986953e46a4dd4263a3c0dcb4416e2ed7b1bd2cc61cd2aa411ccfb7ba5477eef76b2915978e72a2507876020d2f82b9990950febafa5053e44a5c1d0bfa75552df57b1f60ccef64970d26e0c3edd49fdb20f411e326ca461b6c1347ef36f8c101d50160e204296d82cb5a95fde743a9404c74354868d5fb55b2bd0b755e06d3043b103ebdac7aa23d88108082174e243a7d6419c4c93763035af0d2d762494df14caf25c0b742d2ee806e7db8bc2204022dca11561efb8aadcf1415152f32fed61c8f9dab7916c958c81b976f832c680d1abbc0b7ccc35e930184b2a76cbcf0162da486b4d8f4d082ca7f06367f36864eab068bc2c305895bbe74cd203e4f4ef67a2a7258664762927f6a0d6acc4da48ea8a965de54c2a31805916bc5afd575fdacfc6bb78153f2b304c17f61d05899cc131485a04069910c843b963856483e677bf28766365c6aeb9e9106fa8b8cd162411dfe7b4c04fa91b86d5f90e88ea2a08721c34bf89d02fbbf8973c07f8961548bc4779423d8b0db91e18e3e259fe80c5aae5a2d292a28217093556869dc52f00811f971474512218a80cb5cf230de56cae5f77507587b7e4ca6be404b7aaa8ac83f64072ce88be033cb9ba4f700eed3e4feabe14f914a3a742aefaca390ee74a3e9a26b0d2caa3c1f2cc7b177181d3a7645b19f8a347cab060625aaef7574b700a202235a0b5a83466cd3f4f7af474ebbc5fe993b561df35d91d00cacccc49a1c3ce632a29b882fdd3b887d65143fc82de211abf7e77f3ff9c50b687bd23c1f1eb3112e319a9a28d42cb6bc94e53b88060ceaf954383645c0f4ec101caccdc7f353a725c6c490b76c499667b042055da9e0a3e0a31ba9b124eeae60f177f21675748da683682616e5e2fc8e8f9e51a146d24e61dfd6d0dd28590aafa1147fcdd6f1fd3108b5cfa8d673218215f210b3bbd768870ed9778dc4f17d1b168198dfcd1201dae4174a5d7bc281e03297235501e417ad546e9865c32a9dff322f88ee791c108b2041c04735c50e833bd6d819e53907c24f79365617e78165d43d03784580ea55ffc83b0667bbe30632af8b04903a1ff2a81bdf2a1561298517eb2104bf87032cacf6bcc8aabcd43450bcec63cf436a77a4adc544d128bce331908e7e14d5ecfc3a25562b334403308281146be8a78bd6c48bba3c34216d43b91727cbfb1e88a556bc19b6a74d38663d6f86f58c66b7d935357ca51ed2c2b5ae7027393bf581b7cd4ef25fa31050485ebecaac575d5aeb914e21b99d9bbd3ba2a8189bcbe54dff06b62f62e54bc3332ac615d4807f561b370d57c258a2a1e44b752b6850ab42427b443eb2f486f509e158d3604d5fc4cd157b18489751e3a3bd1b3b102df03188d0b0a8da9ba73c07cd99c4d93b4c8916891fbe2a44806a1a1742981e53641872de28cdddd58148cb4549f489404d56f700d374f401a25a03fb5a4779199c4a08906d492457f72ac791d1808f5cd133ace51f645c985c169f8b292a252becf8da888a13b9a1b3293b1b758820e9ba2943951c5091577a8102eea7d271add055bc112a958a5f67d5fd6466b9597f32ee9f621e09e79559e54550cf45221c74c4d0b0447993e0008ee124a8f56a7eaccd3369ba18235f515f3a3dc19fc84e47d99813bfaf79d03fc4684141ab7b1e7341ce04fe615c1b89e851e1c2da221715a8458f666e1612207d0c17c4eb6e1998b1862cc947974382d46217c3caf44439aa5fbcf0a728b3e370086649b3d52b3040e50f11ea39f234007a77a85949cf1653f3cd2b08d83286e01aafda73d5df1b840baf60f384c4327e036198da9759eecc9e2107c089a89eebc9906e122381154f856fcde4ba60d63927e477ad6de3778d92ba1b1f0ec38021b2426a800efc185db6288cd57cce164151457964c047bcda17bf32f788dfb560bb5276595e97da0bd447077c53e69211b3dc1d4b3a5fbe6ed9d63c2ed8eacf33c6cb56787758463b48c85241168936780d4e3791d377923fa07d9fa49e5014883dc9c365cd5f6836ef685df44debe7880a479dfd4e42a7a77d4df839608d16c6520327d51e260c7fc8f4fa3aad77ba20873636eb4ad82bbd33786c7b7e076418b0bf8872d210a0ba01086b65165662eaad329b9a5e78d689e874e04583a6a402e6629c7b081348fa66a627eda09cce40300698a6a094ff03290b983dfdde577a714186e1782fa1db80bd6ef8b51bf80b1b8ff5ac17d8a0d45c9c1f603134d407720cfea1f8c88e43e32906c0af8e31a8613f208c1d4c1a5debd43601ef8249857b688a117e1f3bb2af7007b260f057ead183bd55ab95cdade02db9e271d5e9d2551ea8d633797059f36086ef982d8daf54aefc4f342a5ff59e62523c2453a425c17bf33765e939d3977b08e9b49c1bc17a41d399c8a93119c62436fa7dd7a38bbb209dedf8f16654d7c2f5ef68152849e4028f1c10d1915087c017ef100a8ac48b220fe0cf422156fa04c33bd567d04d85cdd6a25f81c76cca7eb4f99abc624aa3a139b6685c976650dd0bbc37f5972d0402a0bdee9561d1cec9a6923c338e41ad3a62ab25528a752fc989d384cdfe0a6065bb91970aa987cd9bf872261810087443e78e4a321de9cadc76aae397455d6cc70b084d707b8258a96ee1805459a698f0110512537345427098935f4a88527e78504f338529f69ef40c487868495b77c8c9412d31a0705f07fb000358cd270852a8b9eee78354db0ef392db2c426430b069edeada016d6fab6b8ccf5011e4879c2a0814e1664eac0b4259deedbdb914081c2f05dfeecf1194a9a7e59e2de99a002dc84ca59d0399b9f42f6486e15574cdb09033a20be369f3ff43cb69a5325cfca6bbefa2570fad5fe33282211c038d1222582192903ff5b01f9667ac896803d336a50c8430d2278b72da35831cb75723ab876efa886f434737a2662ccdc9676dcdb0686c1e54a275195db2520876993f989a5307a164e1696cc8ce0971a49cf0286795531416643d8495cb6eac8337884da9b461f50a48975c184285993eb1bb28860be173c2948aeea48e07ce7e1b876060d79360dc6a909dce82b3ad2bb80b1ba5ec314c6a9b60890cffad9a475e1e2d0cd9770becf8779b60cdee756dfd82e631041fa1b59d48cbb1ba4982edb3e810b482d07463a6843ccb397f4da36a603aff8dc5d3f4ebcc258f67e1a38729ef50008defb2a34278f898b91f64eb63ec4539d9d1bad39d9c13138f1bf8b09d9f01901730232f78785a8b1fb44cdb9575da35fc99c467c5b1e027b05e6582f7a56803bf606494416c55e68c0314b3ad581d20d3e0f21ed6a99b1497c687e647a98cb61745848ecd38df006566911f3d5e8a8d7ea6f9951ccd3eb524dad0a7a0ed50253296f1d40d0fa19610684f8c45a7dd5a117746f9852bb46f1a8fec09c0132baf366cdfc196f87fcbee7c089b0206ae8aac2816b72d2feed42a308a01149d3de4df47c4fc9cd9e21613a5031b50a60cad66e5b6c3f3e2a3b82fa88e5a9dae05b138156248ac28e479e70f49f72b8101ea51ae6db958109cc3103de8bfb7010de2c57e38e8d0d98950645be12a2e8dd843322fa04846aa0787f042be22a4f54fa4197e7ec806d90b24792482896c40ae0118598c9f402a64cb1fc513d9431eabbdee5b64c5662c807b9f4ddbb4206037d70fd6308bf403263698c4a3080daae39c5fc86074713ad4427ff3c3e35919c2d64cf9a510b3cc067074b5e57fd02bf2cd9ef1a396c6756dd13045fe91e17635dbf3b633f4f1c0ed4797c6178acbaf4ca2166780a9e0ba006fe53bad82094aa772bb0f628a0e11851d115e6ef4288c62f794929508029ddfa2936c9a4e33b0c18e683d1d0abc8d9956cd10a08f3499dde3a13af922709fff905348941c9489b07f51ec6bff0aa4a31f888b99ce08c975725a6c028995a735efa6a05856b2553d9ebb043d1cffeeba0b31d30c5e7e61e1b7162ec76ee8b39da8be4dc4a40f777c345924c7bf7cb6fa797e981dba22019a8edb89694eb3af15ad119f6b3514b61f6361ee2db99c97bb918b1771619c01d19ffb60d97eac0c5fb3e4fa9c050426950a54120bb37ea1d3faf12047a877315c981ed7c5a96a61272d9303487508f37b22c292742baf21d0c31ee947935045d89db3b88248249d5dd1f7987fbce2546ecc5a4db94237bef0a108413956a00d03fe95191a1f10060a9c12b7469790b399373a3e4f99f694537b5a932b5930a54666869a6112840b2aeb7ca75a83def3406503816b43f1a62f2a6cc4237d791d716a9439b42c0e243b1dcc688eeb50ae93401677e58380ea2a06c59ed06e0643151d72b0e6b19eb3b86be8722bf3bc7ec4557b4f2bfcb60dd5933df558b821fd2d9263447c586d476cb30807cae4045f3c48d7dc1ff4552c3c5a04e85eb51ef3115f1d116a1ad7a0bce2dbdad14ba2198d6de9657341141c6bce369271eb04e8997f4aacf1be469d1ac118a1a58db6c92d91096e0a971015c54446823eaa6111f2cea1b21511aff4124dde3e30524bb8c5c4ab039f566b4a190006534d50281a62ed4d7b7bfbfddc20922125522d7426b9d5454cac9bc8dde46d10f08762f788fe9cc5663be41481eda5ce3193ae38d8342e78234a3f31d8724437aa6556b4112e73ca0dc8d110752cda149ca5dedc2168c4d288bdc4ea229df360ddb01204f35ce9e424a61353d573e95c469ee6951626f960264c5ce18fd69fa143bacdb86d041d45adaaf3cf355e6061620d9ceed094b499cc16e03dddd2db91044e4c1eb0d966945cef3cf2e26eef970525fd9c04728c3ce4ba88bdea87f83ca261fbdee74e0581c2e4a3d1a353f169745655c8c6cefd9afcd0dbe95f58b04fa3ba472144b949758924f42cd0d08848f90c9e3db403e69dc7dba2de9773a3e0c2a4c6d394f74791639e3a4bed686b3e9549e08346dc9a1d88d168050b900cd13f1e8ab211bfe4f9e525a0cccb8a0d10b0d0ae3d291576f651e451a1d855ecc870e54f61f5d5f56d8a1d2c3fdfb18fad0a0663857b5ed1ac95d22dcea43b2994d04c795a7647bbb2ca736236d10f8815048f5a29f2350b472f20a7e3cd701f3ebe238f7f74a399d8494af547c1e8ffab52d0fe2a9910170fed1734c5bb8ede10cf28588b9c28e5be23b208156e82b96fa3b8a49f9a7d6a492c7291d49a747e12fc55632ece71eae3901ccadf6a534ec6e12b2a2b3d837b52f47f2b653fb52eeaab8b38dbd52e1bcd8b546cc5feaf1b017230ba9b77a08c3fec14da9d03031a7809f0d701ca0af8c5252676561f3819c92fd95587596aef091004a8731f89674373caf7e2d046b4c2021ec471f8d62f7ffcc848066bc41cbb866d45dacd066c463bb3613d73124e75561d2df2fcd28d6bd9702cd8cf215e2e5e23d65340829234fb522c7f082b0060f1acad7dbbe6d760e130510818e8c7a9b0faa52c9cbb00f3472ac97d8379a653f4d79e0615d891a8e0c1a0ca1ad2eead0a4db5775d786e6ca16e084027693c19e0ba49d23259aa670c3b78bc329c581986f51c282d58924bf8505e8b2ae29ad1f5b93fa091a514a01803a9aacd2e927f7c433de704b4249b51118d71954dca6dd96de48d60f2f61f84120cacd0b1a5102d1a34fa6f134b4d654046fbc7a31f8a602d37444bd14e6994aaa6b5cd2eb093ab6af30c694f540781d1fa575945d91a4372eb9d91611e03ff69eaf51d81be8a5cb4b47a806b200c4858eaa06808454a110cd9c482a2b2193cc57613259eb7c494656c7c555cdd09572d79bfa568fbac57c5f976f2c3dd45994e69de3a4419285a6e29dddb5ca8750012549ee6f557792286bd5e35ee4156179eb05c2063d8a1cc96ca0635e5168457bd6d212c9d371bb9d00a0a071e476c5e728f606cc23ddb3db12857ca7215a7658c10fda79c2d8d39697e02f44c35c397c952b5f1f2084138c6be2c935752d041720e54596cd6c450971c635abcaa2b083fb041a0d6215920956cd00bd588c1a15009d67e5ba532933c19a24987ebecb857bf7f6ec30f61ed973c14936a704881aab871942027ebdd7e1fe89bb522bb2097705a947d6f14cad8170dad77e852c80d4114b4ab73271dd743e5555384a52c13be17756adb0fc62f3265a31a4f10d31ed5094d7f0c11c4240b986ab41c81a2e02c1c168ef891fbbec144b4ac8f7355154b4eff74011922ccca9236537777d48c645f68b1d946ffeab8e1dfaae268c3d11df50cbe60b5d9967f663f605638ba98caa14d0121510e95cdb45650e0d151b014c1c5a5ae687d4d02b7468c63d081b4e83577f889580536da82fde213a3e56a23c965331793e4e422a2ddaca079aae9b51cdeac75f6622929364a84311cd1d584ed8cf4aeec4ea37631556f0db0c7f4449f738845c1422268c1587c2b37c734efdbbbb218e0c89af50aec888c9091d2f2a877fcdcd63b17f341f6e6b87bc5dfd07f0b2e673afe640bea661ad4a6254a67112d678072171596d01f83901cce42c2ac2e19c556b844c680f547da9034e129aca7860954d514605900738b74db2299aa4528fed98b78aa13ab36962084d34a2c04e3f2705474726752d2280845d7806e8f6f145396bd88749b75d9ce04b10c191fa4d5aad54e1039d20ae9617e66e0366a561df7f7ff2b3b1f73f23efdf7f477a0b224085fb4686d198003a57119dfd07e2d75e8e9f38607c9dacef0843a50d1436e109c8154fa623374c0ce5692fa5c8a07ea29adad2196304d8be9daeb7e13e3b395c5be25effd38e8f98100e863da4da64ed73b28dc7d29a772fd533712a63a9aeff43ff82e88f900a7e9255e48956a8b94adf45a5aaccce3e7c24aac4ef0537e97f30e13f708c8a9ea2c1717389507c2b410c854dd7207fa98076ef6f3ac40dc5624419c13648f8e7a014b6bc6378c0cc9a6a9dc9c4d3a2cc5b2f33be865064a1afc95467533611e98c408ab86ff806e9c63f0a69f2d0b107364436268011c635354a09d68c35fa6b77a9460ca6a38986fb283135b66d71470862428bbf61b66d33bbaa94214a026598e3e56a6498f7adc6ab72f4cc700b0410f8de0d82b27f72ed0b1950be3580aa127e64d6599983b8990bc1f728aac79288b60a3ae3e3533544891603a6d06d80e5a2cae68e3631abe547081ec2916de0490bd26e6e601f39cb0d06dda7ccb241c31b8563ad8730b5cb1b133d6fe106769a36f454ff4f71176e30a2d583b91b8d08079b7b1c79d666d80366d3a33a7f85cebc67f810011c9ec566d6009b99b38e9dc2c21d1957c4ce86cc6873cc5e436eed46625401c4c168ee9785c31c208c93da6ffaed3c27a39ab624c860a6299ab74f1b7217557b090c8e1823247d677b013d3d816125403d895607569f8e5ef9b9f1214e7c90616232e7e07dd818b2756bb6bdb3903e6fb1622e8cf9c88ecb79a8e75156caa3e0180bd3fdc820ef7eee4c80711910e2504f0e621016a2744f51042a94581974b56b052490328114ccb1f7d290d11afd72cca32d769b3eb968563321decb766c42267d7311539f07b5d5d6f01921f749e4626d8a17c8fead6d340e0e78a5709780c870010f4819a1607ab7c924d8086f6ea0292851e5b220cb8ec0cbfd9b828de968d6261936123682eeba81b9bcd42ef70ae6ac613ffc737411d0acd21e859202d55d63b18574d7a7c14d83860e193697b543d2636211daaeada2d3b1107c915d495d3ebb4e6f57e0a9d8f87c55c50e1ee0dc99d6684e15844abe73da4716d5b160f24fb4a91e58d6b4777742d62e54484cd4f409fb1fbe8d5503267148ea649ca0e2a9a1a36d4130d342f8834d03b749f2383abe39e2a9f1e8b18b05883a3aa222fcc67f8fe744a9ee536a0654a794e2690967bada5c4873406f7b0f1a601be62283c9d77121067b6cb559ba3f1cd981bd3f3030afbc0950a8cc06bbf60b8a7826d94381e1f8052e66397037e42d1a7aebbd6014999bcdd741dc84aa58874a2b1fcca8c8fe8e97432a12604ceaf573fd5e393a6a88f9862e04f4809b95283477e37524aa8df8d72ad261fa03f6a684f1e0843c33696843354a853081c840425f0fdfd2ce49fe2092d9d210060d78ad506a1be32003e458d89d900b37020cc82b121dff00e20b580c6094c34bea711f54803ad72fc1c61be6de6f1ccad5034c6f871d241527d2eb3cd462660c9dc72c34961f4ba0af62a23ac4da41a03db3021404dc33a07d812f259df924809b5c2b6f12e944c80ece82976dc8e1dad2584d01984de780c6fb87b5674be71539642ec1072013e95470d0fc39000a443b3e8b2d40d16d88444e549e7cf8db303771908645e541254ebc62db5816e498fbdd42daa88df9163aa3b100c47d13ba813d7ded568b6d967cd1b928f969db714e4c4b0d262b227c81481a022a565cc7167e0c4d41fc63f0d3bf03dc366225e4f27206b3e7c21b9518af1c4ca4409fea345733da61699b0466e494d08a5ec9516f8c139fd2eb48126ee844c6be7027d03859542caca5e83ea8d0b6affd1b6aa3ec3b7e87a44f9bac617e8252a746f919136ada85cce081191fd9d610081a2ded03573e35b722841621a5fbc5dd903c32409278d14eebdb5113180fe051d7fea9f9811cc2f629c08ff69e06763168d145a74f9d62276de063237fc3ed7d47b17d2a91f3c124b15260a3783e744c554b4482fd598ced112d03318cbcb5601069eb4438483bd4c2fba3a1d035418ce25211d8b5113934ba9b3b619aa2e415c65a3b7869fbe9dee6d183caa58cde281abdfc8c5323eb6d17b00da47905a05917a741eb3a7868b703eab11ea5731c8cda81c68f1eeaddff58107ccc95e100c246d3ed8c0e39784e925342bd5e0c5184964363fbf4ac23b5157b2b7dec7014273c9fec0a46f42c5af40a84d5eed9ff9a2c0663a16871a51890a31a5ae0eb3836ce02e23742b71cdef8f2b688d8931b00045066f45b9a89305661f59400885f61dc4d19a3b31a48578d00e594080d58b89d94731f6862e7a614a431937591887ef018a3a5397de52afa9d059c3d3814b627927ea6b773e32e3dde16506cf8667f9344a80c799e8e938fd7d6bcd2fbf5895d8a0c87ff5ab8b4e272030988a23605361c7afb6953516435f1fed7f8a91e393204ca5787fa7d4f5b668ffb47018df50154c7058c357acc06a8d2493d9f8b827d52892b08e39cb8db50b364cdfa7ec33f69333c4c3d42bbdf3f6cab61a6bc4dd173792b8885ae9b06791ffbcedb99c8125ac97d6d2703d9718d6ecf67958d0653c99515c52a449e21ae5ca4f229cb3ad1d992d25f2e4ee1c64eaf804b65033e8843bd80fabc9a4baab7de56933092518e95a09badbdb21a2fa6a914272581564ce26a43cbb5e88d52237badf9524d39b8db42754201d2f5203733fdd9e30f33101acb9aa63e551c87979031467e356509bb2b7261076665348a4854b0b267fc1fd4c6ae927c4d7fdb36a4842123644525609667160bc637e5f5763aa70c9771c187a97861538023ec7fdf0f33f067e0e65c445e3390a52ef2a386d35696e29e8a93b644482d504a9bb1454ed53cf3255b508758ad6e82e300055722493400bb285cb142be38ed35bfb9c010b79eaf7dc06880184bcf9428f8662bd415a50c0ccbe872a2d518a38dd476bd825c56299767ac7430b0e2f87da41ee463630528396088858292ae80755f5140a495afe2d0f5311d6ea12eea442079d83b7393e6d5b8b0b42563303e571fd8097b47d5b03aa2bc1830c6a1a510bdd0f9ff0ea0a376181c579c01af8e9b538a2e33174ab4d832828a5ca2d931d62cc000102c6d55086fe3e6afd80d30dab98fbf72b5674420ff1f418a0c84559be05e06fcc76948ba3f1cf5fa5e7ebc5e2a9ba5d02185b83c6da0953524e52cac1649cce10a2c35e5f253f330900a67204a98c208b48935dab6edaa550bbc281c486f91689a805f3477320254686ddf0a460162a2bfe9db6300322cdf3bf2acc92b48cab93e88b92e26a0b254de34bb0f9fbead190f7bb5c18c8f9803e8f572c2ca7310761285a27ae51f1489bfce4a46a078e458d7e8a17c2d33ed1f24edc906186a6fea0bd169802443df88950db78b841b9a8dd737efb9896f66a99f266f4a79ee47af8c5aa1e769e83d75384b2892f9121470576958948bd3fd4325090df9b183f3eaaa24ce29371b45477fed38c6d6502683d5850849ba3f365951eb8c306a6deb06a944f5eedc4ba5ed46907d5ffda3f09a5695c9d28106da4f587fae3364b2a8171bfe2368781a17aca7efd8b67fe17f78ea082e16a56685991618b1507fcc62abb3accee6d18478be8fad3dfd7b1588109e474448145b6070ae1816a362b78843805e2f8f4e8bf765af4b50a7763c1cac0629b8cf0430fd289caeb98bf6abb2d4474fa4e638a1e690ac5787007f18f3086e16096edcfa4c4f47cebd52ebc805d9184b18ec311e62272b713c910cfade2cd354f8a6413e582f6686a0e379d754d503b8a21a1a1f9d04bf127989baa53e58e58d5c177d139d4d614518e2cf57e97a69ec637ea315cc4cf6b53284e08e94e4a83b82d1c8973b97b0bd922ff7ca27af73f27539e43da931a9374134e49f508e5c0a799aaf412b86c2c14294a5891eb6606370455151821421fa12bf3cd69d4c977e49d3a18c9aab069bd50bad46d201e0c381437320bfff78816d700a01fa99f834740e552f14ca08c42f1639614fada1380fdc0d4622f806d914b4a525d06e86ff683e979bbbbfc3fdb3a4b3d6979791c64f43514c897b70297e9a081d2e873affa6551d1a8fc8e383113bacf1c206c0b71794fb3a26cf79b9a8ae37f55a02b48ef91ce3862e91bde3e0d06279f9bdd639c0c61453f2e563adfea44fe569b59890c7cc1fd66ee20ad25fac661721c9caa9addc427cc39eb919a46016cd007d8530989bdcbc22bd0f13f8a87b90b9e9a6422de8c68d897a1864a3ea5ef0d3961d826163d30f71e6e19f7f529f87fc4060151444834a01e516ed5a7984a79ebd07c4a7968ef7c1502d600efbae65432278f6155f41819d730a29e9c47b13ce1774a0f48f7bf88e9c04c3e1bca3e791cb35f9446209cef906123d4ba611ed8103cf64629e0609571390547fb828fa2f812ef4e091c4561feb73867b86c5821f3f3f3bb235e9edc5e4146f9a2c6f40bbcb6e226cc27827d66dc8ba1cc49768651204d5e12e1a89330baa288d15d0afe9b3b7ab873db87bae2531a8a8105b2483b5833b5947304a6ca2162e801be43682cce01f08465a8cd389d2f228009552e0e54a00e066282ec89098d314d036f7f228caaedc93c8d677691c600152f1079b0a5810ac2404b04fa3d193a6a9c804f0926a81b1f3b9267eaaaac7716a0ff1014e40190522f75397ecf686743c090cfc35c402f5fdce86597802dddc69124275a7eb59492b5d2da3e08c605eed704da5e4d6d75aa3da95c37b34787a0f18867418fbe2645b2ff8fe8d79b46d245d6a4311c632348110e253f27e3d909c061ae050c460634d10e6d62a3ee8060e62c39144faa25e067c58788ba03d249c1ada1b1445da3c964eaf1e13383611858b90ffa3168a9395f53ece6f68320462aacec0610493a40731a408ec7bc6dcbbc400068ff13351b8d85bc08f5c52b06212f65ef7afb5d87c1bd5d96190cd3b4555b7770a8223ed32381742d927a60ba3189bb3bc65f0314413dcaab21293e171c21a05f3501ec60fdf5328be1229a8596b46f0ef9e992b6cb46eac36c981d9b9483373055f365c18a0cc84e35d79a526968d482757701b724872851e8c40aacf8a030ebd612afb4acfc7178138300d826f86233f4bf50f23b5675388f81f6311299534fc2e80e259ca40bbff9aa7ded9ac2ebbc038778d1ae7a2e2a3e523c2023429db813a36f22ea6c8f050e945daca4f31731ee788e4f34e4efe4d8914c6c50610dd4c4a73cfa050405fdd38a154814e1bd4abb03772394906b15e41aa1f5ba51f89cfad54b4a6b72b5c44cb9c292dffb3c88a9d82268c3de9cbb26f5edc46d21a7515180a4fa16282f32941aeb39df01697e60b3df9d5bf395c8f3f530b1aa43b9820a288d2dc927ac8ff357751a7b3d1121af82bead9895cd18f781b72dc58820290e25c7bd1f6e755281f5dd6a1a7d6fbac1c2fbbb70899dc13186ad69b53e35fec2c68739832af0fc4dec0e2faa1151e208987601e729579deea9821cae9f5b6cd5ad65d8bc2a046d5578e3c765dbebcacf42037da724a2ee97703922bbbb19721431ca4169756ee0b849e62b3fe6198c601853ec9bb4a4578c7dcb0781013019423d087accdf219781022509b5881c95a0005593e365944e32d3567de019db88b10223d258862f2c54026b001359a24dcf2608feaf00e13d489d1e8b7c965bb368d592c64479cddc39c25a9c88394b3396b19cb6a4461791cc9fc684d4947248982df031ad8bedfbb857611eec22299b1cf50a991e102a7069a177cce90113978ad2f743db0bea2f1b0ff41d80fd5b2679fb39677ff628c605b505c6f039e3aa2668f771b83207f011e4716eda28113c3e72b86d037b81489c3c20dbdff46ea696ae09f011d19bc0a02ad95b9b58b6c470210b2df91fb8d2b146769010d38c71c015828633aae9b235006264643878a7e7825517ad8514a053ba32cad23ee59f308cedc4dcaee1a9b05113d7e68e92d4823be3a2c331bb2d7b6254da48c7763abee7ec214b0985d12006fc166a3d6f0a82905e285577dc263ed91ca11cb113f036a77b39297e78eed964bb0dc800d5a4aeedfeee8de233e0eaed1d0ea4ad1a6425b7c8972ef58aac23f821567df08c6c85470b960914b6d06cb7cd2b7df62bed59740038e0edb2d1baaa79c7256c7ebf677b25b90b604ebe49cfce363b6bdc41d85d675bcf09a5dbcbc02a6c2037d95c6cd74d7c0339c499cdbcfb34fe66d1d6cdfb628a23922a6dbcc13b25ebb25082cf520c16b8bcf9046622c8660e7a00ed7a1da21ff88db48f76616c2bc1df66d706cdaac9861032afe902af6267373d9adc6df465e9cf8a5d62062c1e90263e13488733a2f80708174a6eefcd091268f0791362e228dac267d080acaaa149c3ab5eeaf0c109f2eec5efe81a3faa1c1eff267c28680e4530f3665922108d38691bd979c264fb7d0ecb5d54ab60329158299d6cea97e5473651a811b6a763ec51bfa53b27032cc4ab11da2b0ffe5711cbf4239f76143403c4ff008ba20a146dc76d8da1f7a1882cbf56a7609ca337cb8c972af32cb9ca3f64a13f8805ebd86179bb76aad1447117033ae217375aef3fe40d1eb7c859c3dbb8d03e64bd2059b68342597d02439637cc4b615c4dc6edd0608694383933c2d4a931287017ea5d9e275d50f34ebf6407d2b919909f0f3233284817d8567324d14c2e14c836813ee130f87852d33b17a60d776837c8c90a2ff964ebd26cba2313c6599e538dd00d3690c6ead7918b915aeaa26269d456f0cec5e5dac0d46a44d55c1552939b5178bb33cfd99a50777d2a7e3af127e4114073444867edde39b67b96bbfc700d09e977d32e3053bd0ccefd9c064c317ebb688116bfd5edd68fc649e1fb87f917810121f86a80fdc4cf9f0b5706c735cad1326e89069ff368703d7cbbf19b20cf043643f93fda3054240f4b0140e936134d48234fac35fff67afe8b975370ca4427218143bf6460906ba9c4af5b0fede949c99df466d3e195ef612e988c86c01cc24be6c9a171318ca7f7336ce8f0593b380400c4321f3055f9af8b0ab7ed9f31ae1bbe5226533988f81713327299ab070819f5ea1b83b00498e4c021b3b11873c76c41ff597fe683e4184c06ecc17d9a806751d9cfbec40bea1aab8b71e77a713b65909de569ab82af50ed9ddd7f7c8161bef7863e61e41a10d78978fc4eea8cf5baf480e78032a818aa0928dcc3c0b099e32fa3b5376eb315238aa9c8e279ef2597fd8690e088043f34a0cae375840e2bac6da6865c46118c019c1c2ff68017a63b54af2750c9a2e05df231079b205635c764049644d4081d06fba32a69673a52dc64e31d5a37b92cd6c2ab22667788abb6406c04b760f7a8e93511a73484a19147e8630f2309640929146a182a9674e4d77f400120752826b06dd6fe90c488dad22f03fa32dc1c5825acff6a162f204b6b475e9e6c1c764a8704d1841ccd725e381e44bf7a9631da5c63393bb41d9be4373b1140e949b3c677fccb489867a947589a1101b398047f61e47c19e23cb03045a2fd562ee7d51d084fa9e841af630945162003467167339f22f1e07291737fe21ef836d4909259d0fd82899b7ec074c0c5e04e6518231ec39603910bdfb0491c74b2fa91a5085628d73aa9e04d85008eb7d9042d5e491139181cc305baa639810359bc6078f20ed530972733a6c6d48d00807ee25120ea3401464236407eb8064ed2e6cfe96a307f97c45139eafc285d875921412bddc2184b49573116ae449c8f3f0a0c7f3dbe46f1df51945a29798fb9858c4efad5937e6066883e597a779e4efa6bfcbff23a2795cc54a4b7d24bcf9f97d166a3865beff9ac8aa9ce10afdb659c01de1f4ec9f44b38ee177a12b4fe1c327068f0d765f4055be4964e1f75dee57ca0a8445b8a0a038915a4fc569110f961c44b178f45e012855c978f04fd2156f7708987a273cfbde27b8801ac04503e13ffa44da6b043f0417de404f3edbe23db3cd0b7b4345c6e6199b9899b587ce4a28f42f583ede16bbad3bf4a3ef138b47aec3e2ace22aeffe7b1fdca37cff8a309c10e622f91503ce359d2161417df1a0e0bd82be4e49e7c5ebd04f3f10ebf09fd048b6c4da9363b51a227a4f9b76686dea6e260bed215556bf7bd7f5e89866f0606a3bf208135ab83a77d0ae1473849c6509ece167c2dc58f447950d5aa7cc798d724ca16545c62b44efb97be743ffecaef37b4e29d66a8252c266cdae85120cf58f27641d958f818d2b9f89c8c1928658e0a2f184387d240fb1b7849ab32bc67734c3536abdc273c927603c971f9bd421673b6fd969bd687c254b020969e51ccae0d999e7ed48273d3ced2e48327f10e99310f8f10be2f87e5c4e1a66154048784ea203c57ed49c716500ff2d2f70804526701b5e4f96dc75cff006c94880e6e091495a166b099b71dd68eed8df0cc92e97160e17e3265d008bf5c1445bbad306f7476a1633738acf345b406d3cadac988431a67ae8b92744c4f25cb8176d07ed5ffaf4c399b9033821e12b9540cde19d845b9643641003bcc096acdd4d46c3695e352f0742c40101f53a27071f6b6001d8995bb99f87c1a4b6a714371be5dc2bfea659494435fb6c6b08bfc90870af8ddeac9a8fbe60ae73003b34851ef32b041c6a49e9a61caa806e1d5b57aeb00115199390076e4860ad216c0d0db285ee0f35c8cca549253f7d10b386cbf31a4213c4360e0dd677553b9d885e270e44d9a4040ca6b042eeae432dca6a2f33d834f6d79574b1b6ae4f9684953f9534f0ecd0fdbc0af1d23e8b13918fc5b37444948c265c841cfd1470810dae4b033eb2c08351dffe7ca2e54483694d59c29d21e8d4e21059743a2fcd49b438ee576819f80d48ae8f960572895cdde82e89a3398ae5eaa79e2623ace8e4377a7886845be160c306241f7a76b731900b0a31229dc0538cb7f14bd24b3582fed218c7dac81764ae2c7cae13668ac0dacbd1257e74ad20a45a41e6212fe52de83aa00cf0897d16493eda8ecb847f1f37eb50c6f8c02585f1cec46d02cec75879fa774ae0c9604066105b56da4ed176d5fa7e42021ba22a38960fbd0fefbd1a66b409ade500f3efeb3d07443d9d42995772720d97f008fffec8d2f04aa0f96425b725bb72872aa0dfd72bb22c0cfe58d3eb3c01967c53c5859c1c40a9b488935f2798faf0013716e67019c58a036c5071f58400916a1630aecbe0b954469b6a18b883fa19ec5202aae8e95b5a80d818a5036d6523321d04981ba65eceed142342ace5813cc2d1be3a686be71666e78eed6e0a948a6126e2eb967ed26f96ff324cf70ddfaa069af25a84c0d60fa8dcea634cb4b017364c9e4cad354924d97bef9da49452a62465a205ab056c05cfb263d64209ea7c7ab1e0c9b3c5df792227a99aeefcf0cea97c4e313694a49abc89ed00a2112faa3e227e053f6e18e5a44e55d6857dc8fa82aa12a5b57e3e9d14541689f8510b1fe2378be489f815bc82adb5967a6badb5ffd65a6b47bcb5d65aebadb5d682de5a6bedc85b6bad8d6fadb5b6beb5d65a6badb524de5a6badb5d65aecadb5d65a6b61d88fc15a6badb527266fed3bfbd8c5c2da920e55510fbdb0d3e4f115ed784a286bf11851428db0150fab841a61291e206a84751e23d4084b79c411364e1e75848d92878d9107091b210f1b9b076623f3c06cbc4818b311ca5752c294f4e1fbfb62f121c47fc8f8863e1f4a41197663320223726b6d68ba158c7252a72aebc23ad5e33a4fa86e0722394258f3437c88cb4589eb34928b454522f9541fcbe44349cd14617dc8e02591e1b8f3479864d8a9638854a51e756c7c8a603d3033b3cd2e1287e6775250b78a54915814e2e7573658f47910bf51cbe43792164e1fe22f125f362e1e75439886310d652ee8610e16590ffa2ec22308a10d08714078c3057de7b0a8c483be85f008d253058dece01134997e98664c35312cfa077dbbf0089e4efd72ead209e682be71b0483ee899088f22a951e6d31e2a17b9a0e7212cf23ce899864791da54d033e859078f22cde1eef87141cf2516953ce899c4a3485b2ae85f1116bd07fde381479244ba211121f57041ff84b0887ad03f191e496aaa3417f4ef061e4953a3cc1c261d395c103f48c47f5a401f8347f27353792005b9a077008f2609068b668c78d0c7c0a21917c99b544a283e2617f48e2708f4211ecdd2098b66c0073de4d13435ca7c50f5325e162e7dd083b858804c17927a747de6c312a5b54e8a8214a4203cf588a220052918493da2a848452ac6528f282a52918ad1d423f7e8d1633cf5c83d7af428493d72972e5dca528f9cd25a4925538fe8e9643a994ea63b5f9e7a444d267932c993499e483da2a512a9442a91eea4a446994f69adb484dd984e9f4fadd374e7a7d2f99f4e890cbb219d689aa66d9f4cdb3e1d6dab1a48dbe8fd808d649dff92eb4f1deb3472029158d234428128498d541eca1aa140942cddf9966a8a04a224d594c74b7c04e4d29b3ed39bdf99949740d24beda5371f93776b9b1376439a3fff8a2232ece6d43961a7d3e9ceb76c50e1ddda869a4c26d308b7de0da3cc9f3723f8d292a4a5a6252e5d2495bb104a9a244abaf32b18a9caa1d9f9d9e10b4932beb2b9a28fa499e445fcfc8d73ee7c2f21e991eb3f94ee7c131d773e89162c929fa71e55243ae75724d9abe1d07c6f0dbb21cdcfa762a71a54ea44dd50a73bff2235a5b5ba5fc1ced72473b76d58d4425834b7fa21e3db41589491dcdc89d59fff6a5844f2d3facb33f215c8fa90bd5b95e677ccfccf27a66328adf5f371ff2d742b93ac5da87f44365de542fda06cc6bb35d0eb4ef463a71e751eeb61fefc0d2b72278953ff8fc8f86df64c1c9a0fcadced3731a126242616d99f0fe20475ab8f3df6fe6f8645eece8a8495792e338966f94844ecc38b68b9f35bc870dcf921e67fb2973b1f44c6438ebb99f890bd190e997489b67d483212ebd1b65a3bda66612fa63593c9ad8840a8a0f6b36ba63b67c07b55a53b9f667cb9334c092e659e5ccafc7efe0d3bddf97556d34853600815df7772a2997029ef7557fdd8cd1900b18174816c20e7ba37616979dcafe57befbdf7de7bf2f5eb7eef758cafbb6177d367f2ff21f95cf1f5ebeeeeee8ef1bd96efbdf7de7befc9d7af3b7677c7d84e4a1ce98263e335eceeeeee1aaf4170003ae728b43eef3d66e6eeee9cae10c217086d802f17be0baa73efd1961c1294b287480cbc68a0be07274c377ca990d00fbef72864e6f7de7befbdf7628c71c84d8c314a28a5a4d09ad3e4ff43f22131a994526a41483a0985dee44d3ef559efbd6a354945df55af4bf65f178b869fc72c49a4ba4ea75fbf5a6bf5783c1e2b2d8410c2d76fda4c178e306120a38043d5992e982e78c17c8124120a2109637238f02506917a0379d8544020b814ce9d1879c92e8c22611058c457c21a99198ef92159eab852f2777ea3dff98d6f985a76b9b89e1f7b77b5a8cfaf62d11decb2835d54accefac795bfc2c5a5f26666666666666666e6c798999999999999991900170b373347c63eb2a95239913038bf4fef86a2288a7a814a41a950988c18d7b914ed62a17ebadbd92503a5c199c197a6b4d6cf07be84322257b20b3529970458f453ff1372ae27f514fa7477e7e94e69f3657426f517cb7c4aa3f15a78a52e2ef005f92fbc3003b28d2b9dab5eb066f64e2ee531e129819edecd9354fa4eef749abff54fed95400fe6e9e090a495cafb7e142a4e7007089d5ec8c7a679045f1a457e77c3746dd84de26269dadd0d43f56ff35beb1c3a269a5c2ea86643ccf53cfd4a85556537c8c9d9381ac7b0a7123abd900fa5afc22336358afc108a0f7d9ee10b7ce147e262a19a0a8754bcb0887efc0de680f231eca36672b980dae6f9f8f4475c2cf4b18661934b31f10ca3c8b7284935f97cc8b4b1e94d6cfa40e58f54832264bcdb791af0facbe85cff2d4439a1d2a794d6d057c1f45558547d08c5873eef98f2885de8a57d0120e262a1913efdadc67d94ca4e6280e1b243c82b529ae1213862dc4a10b7c2b773b815f6ccb99416bad37ffd0c786f78696dfb4a853577a84dd323766914f9b40a619713c75cd93dd8df5a0a57fef583baf10d6ec5513a831370b18027702972c6ab16f01c635b8dabe26af1e2526c262306f69f8b853e3f884b06fa43c8a5cf3f526badb5624032ce813b219fca5e4c4ccd8be1bf4a2e179dc7bef20a34a0efd4d8e452e437a02f6befe452a4333915a1217ffa08a90dc328f2378b925493cfc99b08b907e181ba35cc06e3e49ad8c43339a80d035f1a0718b7425ffe8708e1f15c2df8521827d735ffea37fe7e9a39eb62e4f9ab77b5b09edfd5cec85b6f8d682f3a4fc7f5f21f0c8b3a5a0c0e5d0e876e8e0a3570486a264a536d3e424e590c1c8783630307bc5c60cf1a8d77afefabc5f520beeaab53afefac607ed65ed8afda8beb41686f078bb0976f3d9d9797f64e1f326b24db105075268623bfa2f292813effbc643c1aeff9e14bf594d6faf9fcbfd0ccc14983bab1e9ca67d3d58091e7f7ab01f5f92bce485e040d78f9d38057c6c3b9f465742efd92c72e16eca7b6f177feba583c4f351a5ca28990a1fec88f682fac463d557bd1d1de8943f26b789c6199f55726dfa5472ae84cadf90479c783cb95ff4efc924dc8af525855065f38245d8a7c862c7029f2a10adc09f934eb51e7c0756b989ff9fca8bde3cadfe08bfc7c2a3ff51b7d6a06ec1c58e4aeac2e1754a3f1eed4a83685da30d205a6213f17311949961f085880e2c6f8ce79740d5d43e79ce09480fd8d0bbb9c567f83aa28aa5a7fa3b2aaeab1ef40e76f581decadeb31ad031f186e5c32988ffdf5d85bbfbdab0922643381c2a9b8eeb1cc65b451e25b91fa46893f33faf363463518638c71ce8f3fe3bb19f962216184d1f31c62163f82300a8b1f19983522d31d39deb7bff49727a88f9b9bbba98cdbebf7585e334876d1fff871f55d3d57cc5c699aa3ad3999bda05fc3bbfe204c50e753772bd543eb2bf9d577b6c9af28f94e6d52bed38cc6bb54a3f21d0a9aca75685e5adcbfeab813e858040365ef6b81ded7b4fa77a955dd4ab7e7c29f33bae0efd8d17afe77b1f05b31b3628c96e63a3e953920d2f7ec05f535bc5b85426ec57af8286ee57af82658c4fed56f282ef697fff59c6d98b63d37837f752d7f79b9f0af9eca208d7729a7dacc64d49c8ddc4107191f3e7cf8f0e1c3870f1f3e7cf8d041071d74e8d1a3478f1e3d7af4e8d1a3870e3ae8a0830e3b363073eb656af17bda0c78670daae390f50014dd6e851d87f899d0915fcd9fcf02b872e4a44c117a27e4286b17a20e85bea42fe96f7f25fdedd39d4b69e8bd974bffd1f79e13eafb18ff99b8314227e28f3f5750b77737117d0170a3b6c1702c54a31c8a1cb71ad7baf1463ecb77d773993baa0c7147bc3583cf05de9a350c97427f05c7d0b776b41397421f667c2bbc1dedb22cf8c2e5ffc4d34b717d42b513b377b5a01aac3ed606a574e91ab565e4d85175e0572e3eead1504b88187de2449299fb62e1c8cc3160744e93355c2c62c8544adb50dc79e27aa29ac52890999fbbda63c2a118323e931a0befbdf7de7baf9a3b54f8eebf470f4841df89b681103e20026ec5c5867cd9a5703b0108101e509f3e67f6ae53a793ce49511e29a54edddddda953a7ee734eea40a84fead3a903a14e27a53ee79c73ce39e79c73ce39e79c73ce39e79c73ce39e79c734e3aa9bbbbbbbbbbbbbbbb53d8c4a6fb0902cc49a90371a73edddddde774777777a7eeeeeeeeeeeeeeeeee7e72b1b8bb5377cf288979c229a51a2d002dc0a4ef199d3100103a9dfee5c2e7c84793d25a278514be46311a2189cb45c4281d51959511cde83f7d4a2745291715ee7466ce39e77c3aa7533a2775151515ea4ea989fb741fe14e455c2ea8fb572926cdfafa7477777777777777a7eeeeeeeeeeeeeeeeee232e16777717e10fba587c3a9dee3e27757777777777777777ea4eddddddddddddddddbd858bc5a9bb839821fc83a750a18014202e167ffe0f970ceeee24934eead367dc7d4e77779f17c57cba773a14f3399d4ea73e833fbf9c4e2975a7532bf98b5a3edd57a853bf5c38fdc0121ed6e97cf5ac1a31f739132fc37fb3c07d9a0c1762d10bfa210eb969adb5d66a32a877ed5d0beabbce5127833efab46a6a32fce9cff7d5d52ae74e12020e86ea2e041c0c91e4eb63245fd54a623319fe9b47b3cf170bf890c5035ab3a11f033560e8afe4d5c201e1b2702ee5e5779ee46be7ab11926c2b71df88f64fdb60389bfb4286ff662fd0ef2e75d7035aebd66e5c0fed4f9b55bf95b85bed5c96d692c9a0b417b4d681fe7ed7be46cc9d9a0d2f0b30c8207e4b4d9300122e3f1682bab9d3a5a147b0fbe18dbe71a3fe8d4fa3bc8fe11a2f6233f27d777f7777d532dec0a1eb52f0bfb982fab6779fbc585e3f972e55ef461797a6b46b2d29b93073871a45e05668d4e8f252f0cbc8c3955b44c2ed9f3f7f8b31577e8c893baef48b85fafe79c9407dcb40791c818c29b832b6c081ae84304fbec817f972a50c64d12ea578437431c148082325cca5de37fac254a34e308acb3fa7fff6a6d36a53e14c93cee7f93c21bf708e1dd4ada30bbfc0e0704b2c9a2cf3b9d43a58c4f05dda5f3ca50873259c2e572439d92833b4e6e3885ca7f2283ea115dd94460572af4bc10f6ff51f1313131313536bad353e6733f82186611886613360c6590df55e5ff18a0e7d656666eeeeee6ee7208452ca58656c9a71293cd0813b217f05df98def43111b1d87a1816515aebe71323733cb991dd92efce36725cecfdfdb10e359f9a74523fa99fd4cfeea7b374e963f4a1cbc5be9be6ca5cfa8c3db75ceca78f9ceb79ea83a67241009667ee364cc334ccb5c1179c21f0b4c117158633f047ef60ab61308dd25c0bc0c5821b8645d7a595080d80a2b21530302ff0caf912d65c95cf6fa110bffd47c46fd5e4a789c62894b6f50edac28f1a42d3deb19f34e0a55e46e7524f317777f7bfdcfd9dbbbf8abbbbbbbbbb63d707e062c1dc7d43e1e9fc0580cb4547db5e898b057bdf3acf4f29a594524a29a59452fadac582a2c4703894f28f5183004ca05cca5fcb2a14272c2abbe1fd2b912b5fd62236da09ee847ccea020bf779c84c07c60d8c4a6fefcd45c4341c3e752c09777425a177f6565ee7e603ae9878c12e2e8ab60d187a7292efd171c7d15b7623da59432f5252e164a514a67c3603f9f62320d035f5e65666666666666e6bf587007880d45ae00ae036283cdad50589d3185396686fc38ed8039cc77b9a1b082ca6ff6646653c7805e03589045d3009eb190f1b240efbc76501bfe4e6b970b66530ce4370e1fac6f9aae0ed039703bf0c10eaace7bcfc5dfdeed0969e0b282ca5fbd24dc3c123e44a840b84e072a57c54d801ba940177d2b16022d1edc98725d89eb40d7955c0e45ce3d711d901b30177e57944551948d2241546464646ab7b48dd6001789252ed23ada06e7bc3769eabb9b24495277e7157144665e78783235c66c1107ce09cd1dea1392136a19f2c1b9916d5cbe81fdfcb982fb82e080b851741911592e3f883a3886f82dd67ca0cdc98f1b3f8e5ea56b7fa3e8fe0084f0a78a0d272279f8afc589aaaf4560b8512c39e80037e21c15378a363622fbf027108313791e3e039c09378aa7037cdc28e2586e24490dffc4859ca8fe88f510f6bc586043089b8686e6c93c4dc8b5b816171f9a1ac566d5773212cf3a5ffdadacfe4846736c4e38365bdcdac6b56994134e24757489394e3831e620f528dac453a3e47829248e77227e8e1b9f4ca3c4a72d35e2d8f448924e0d71da14c2e6a3e5649fb75f33cf471b89e3a5803fde89f83612c78d9f1a98862243482e1565310dd7c091f78c24eb7ccdac7f32dd234882303ea511a7c457fd0a428ffded79322b3dd47ade236329ea28cd26b915eafaad3570e3bf1e5de4e2c08d547c38917c29ba88b37945a0794130f1e0c667237b2d2e04ffd323180e057e0f173efc6c022e04bfca687021f8368bc185e07bc60017824f438f1ca0e2d223130e053e0f0e3ad3015c6efc91ccb950d53678e242f03d59c885e05b197521f83283a51e7d2c87027f7c24b91c3f42e8f9ed5d9879dcadb6391315e179fa9ec732119ecac3361cc4c3345ce3563c1f9f81e098864536e280884c13629070230c116ef474dee3796b51596533cee1227c85ced124680ff40dfb1be738b7e23c6f3f5e33cc882e3cdfd11c873aeff977b1789eccf4bc1b0ec5dfe677dc0a15dcca8bf99edfda7ee76756ed7b3c6f6dcddcb559d374b2168247eb1a1023a8138409eac639ee52d2e48be559ed676672b89eeb66665e645aaebb352e901b43eec975406cd4d8974364aae9713ce08008324088d1c18dbf45183b43468c4bfde6f9fa95e729873cef3c9a75d5d4473befc9aeaf1e7bbdadd7c9bd7e503d4f533cd9bb9eccdd6b3ed7781e7a1ebebc64f03cf43cf43c6c1afb35bc2d7eec1a79c1b719a52a2aba08022e731c61214621b81c84507ce8c9b04ad3c4ef1ae61c2aadb67ddaa36d2e5093a6ba18851f32386ebcf1aeb03d29946e6e74097263b7bc9a47a4055f8f73299cf36e8e5b7177cdc7ac5892b1144bee19e6d9e5991553794679e69e51cfa667d2b3e80ec33d7bb7f2b870724670ae07d7e5e03a37e77cc13995d7a2ad65adad9c7b31871b5d94b8791e3e416a0dcd0c4da34499436bfd7cfe49d24665ede6778b25a8451d9e2c9640b0a06e92246db0688b36d1c6add48f2f492c7a51473db9e1461c2cc23e3e1761d1f5d18a4bb0e1c6d33b117ff3a66994f8945a6dab34375e6ee83a2036706ee5d8b907b1adc6c639f7a5e3d35045f15131399ad6c18d9e87251d6ec5dda78343899f03da0321dcf8398f077609fdd891838e96108d49054549c9e5a2c4bd1e42edb57028fec361b3f7233ed3f4d0343447e886c7f1611b37c62237c621a1ffd03c199712bf9a3da8f63714f75d4dc3a1f836eb1a1ed42d966e8cffe2c7128b74b0c8f3f163fc88c38dcf55e02cb8110d8d12ade0725e8a88f34ec48f2413e480e0461c0e586b4333c8b7d2da6c8e9090d88e7dabad6011f0e7c3f76422e07bde7e55d9d8c252e25a0fb811888fff5a58643fc28fdb09e8c36bb9eef65ade0f9712df664f26a74720b4770387123f96c4ab49dad62e272618f9cdbe7f85c154120ec5af35f5ddedc944fb2b78249b517fe4abce48228c240f337f3224dac91dc964c4b8f6af1f3c991f36732e056a9be7e7bbb00678eb3f1c6e856fa4a17101dff3f49201bee75d33c0f7bc7de8c968bc6bb5ed0526c3c9bdfe7aea69881f71e0471887409c1bdfd5a74f7235a06f89a5d2234a6bfd7c9c54b9d1852b7f73e13afb30f3bccd36f8f4dfd502de5c8fb69dc038b9f5d6ac731fcce152e8776ecdb01cecd6ec0a72dd9a5931d6ad59d538aa5b336a08756be6337e6b46b9446fcd6691796b2685c85bb3974ca8d46bdbe87296291a190800009316000038100a868462b1404aa240cd3e14800d718048705c4013c7c3510ec348902106116000000000000020023054450045f43eddbc5f6dfcfe13acb27d486d72940fd168cb288a85fae0cd935ddf8c758049635b95d2b81fe777c67b2f00d248f5af72a71f67eb374cb1a87d78efe703361c03048d1291bd350424fc7f93e0e6190c39a8d6fa03f697b1cd46ea1f81dc8c1b50d5cfdb89edaa11fcd0a61300e072418af8aeff2b2416a6d050164224cb4749671d742741bca81f411f21c8ec9ffa1b69a91834f0791982cf075657cca48d74ce378e9f9990cc27844e89b8dc3f2b5303c4fe591e9c44a53a1e3e8b0d54c9736facaebef53e67731221037d6fea7d6825c82d4278e227fd761422c6a7ef37cffddf3833616e38f29913c09bbc742f19ac9fbcde265826631ae9767ebbdb3fd362b1ef6775d9953890951e9c3ce9d31b8d1c61411c31f64cab54efed95343601106bceb344ac7b99cf3762f8523980a91a6a162a79a284df5129096132a9df8484b613015af219d316b3207aa4ddd316cfe98d5fb0ad6fb6c9c3c6017fa96fc2814551aa6b0d212310d0ed01021feaf0ecec67d0b269e2d9dee91737800b301fc3106c3f9210cdb29ac847736988b56916d986ba25b8a27657d3050cac371dda107e7ead1554c09da4d6c8027048a387b2b29bf5a24208a53efb71db10d8be797322bacf237c5c7ebb272e2a901d100b8bbb896b55941b784177bc0542071451f2666c652d686dc6f827bc7a471cab6b7d5a611d08b8d47510c8a97498b464c028d0f81336feae0b8fe3b21a9cf74a975e1d7fd678b9aecd2961cc9eeeada28e9aa8d57a49ddd339d3d6cd1c48223c72eba3a42804e32034a1becd069d513e655fc6e2da443c499a2b8935100ac7579e8bbbf9354cd2ff114931e0111711405373d7f1fb6fec56868b416e0f889f39098348912ad21f2d3d4f494d56a3a6a248b9b13492645b0be5404376198a9752e535abbee9331a89aeb1ae227cddd59a8e31b51ba76523de9b526dfc37a4cc08c2eb32b36f0bc9ce64aaf44e7c74aeeeff1fc2f79337c676b9a257400a2b094691552cd45f8910886aa6d5148df49b8a6ef4163a6cd54777d139397716076851e19f52871461c09d330de2f8becc948632ca412a8de3e4f0fb1743171b20f56f3d068ec5373eab37463858d581b1f9e2686f93a20e1c07a8156d7fa3c22fb68cb349fd60997053854208f284455ee697b6cb2229c096503527d19e3344043c12f09a839c08570588a6e63713e349acf47435ca3eaca8e1825adbe976d0b54d1c1420462f13c38337548b699f2334bd7b3a327d7067b1c95b38c66ba23a1d05a2cc4d789342af8d90f38367d71e70231de43d9168cdde1b9b2680ce7b3ef9fe64c6396f9fac89c2ab1d69e995f83d531aa2744856f04d656dcd6e2509e4b388a4a450900b01c1ae485f5b9d3f4166f0cd4e776c9d9f61bccf1b458ae79523484f3336dedf95807ea5536e098b7a9b72c5f4d27e3b23bba056aa0ce1a3f45d2ea7bec000380512ed27c707f0732f26673b6dfa99e273e462273c12464f1ac798c97b22be9c2d8d631292d29b3a58d32f0a9cdbe473a7519ddcdcddefff44a7775a419eb7cfffbab186d4e55f5af5883b459e141ca48278dd9a4659d1bfc7a017a61db2065974a5ce255cef078bd036f7483d9a4fee42e834749e645cd932edac9e88f48d0d0cfbbe6675c866ae3fc12d4bca3b59bd313e09a92fdcb3575f7258e912e1a028b6fcabca8fa01f0aabfbf00b9d31ca689cb08d02f722aba1ceee5bc3e728387996f3aac07910b941a5fdacc82297509f0c73a9f4085a85fb8629950edaec91be4da7cf26c168643e28a652129ac52d703d8ab2cdf7fe9093e4cb37bb6582f6d0e89cd4f7b369dcf295fc3f3e22a3a38c9a2ea9957d7f09caa0b55551d79f27a8c55e1d9cf63a4c3feb65f5416cc78ea1c68afd4b36eb7cad46bd0d0a870494a8cb64956fd3c8d6ba7ca29610355ea4ece3dc2822835c831bf0230e6edb1bb22ac11bcb6f2ff2748e80c4df7fc97bc111988c3e6bac2012191e423482a6d4ad28ff50719aa6519f1ce66cdf6e21a622b528bfba602c5c924e4433111d06b0dad5cf705721c790b375313eab4050074d8b9e5eaf146d00e3cc2a788d300318187dd50bfe30299e09a35b0b9c2d68b6e2d7f9da14d4f48e2778167b514eb594d3aec36d2869bac9c716a35f2950d2aa4870afe3e8d63e042d111f8a360f795e1d788e021bd9809bd1bfeea50fcb48e204965b96ed3ee75eca0c7068563960fa2e634e813ca766e1bf49bc98c6ddc20a48e7c18958c61cc85752ed010393e9057308a6a6574e74ba8a1bfcea9a083f7d59b6ba81e82b81e63514a82ffa600d504def5e9d8133caedce9dc6a475f20c110969e03e06a70480fb82389bb153d0b48eee58978037a2cbab03b592568769ebb72fb9b6dac1ea9a2bcfe0bed95727949b02a8b6f067001b91f5bc369aa8efb861f1709b7d2a98191b8a15612824ab6ddf4ccd0e9635d33d094fc730eded44ecf8120f2a5bafa49af1882120041681d0e88f9cd02550f238688b279a7c28aa3b438195226d5dd08e519bb2b63883ce9e9405eff76a944a141ac50b5ccc3307a6ce13e5a6d3007d08daa11c3560f5bc6300c614fe2a052e793011653e9c85b5ecce500fb65129e2c46a66c3b36dfe71e115d3c4f0741516b8dc2fa942e113b8fd4873a1a35b6e9668920b8247e5ff8c3dd1d1c82aaed08f0f908094a0904f16c02da84c5a41bc9abc4fb5f8b002375db42759dddc2f667c397c8651abc9504f16bd296c9d8f570abc93d28ae0ea5f6493f25b2f2fd119bfae6df52c0291f6e55fc5a94227b3737d8a07777aef9ca513a95936dd73fb33313082de5fe8508d24382ca8fd5d55404e8f4bb5f3e4aee9688d61bb1094b5baeb45c587ccce42357cf89f4b7c735a8f8c617e41300a9a1d7da9cacd7e7410e1c3fda0c39f05e7338971cecdd7a223a6a07534050042b04d00f3fe3a6115dc11631c65c939e4e0b13e69329dfa477fe84ce18cc7b4f3f8473e9bfd9370c13180f2f1e8921a3e395f72c3887941192301356b02048fbe43a9f39741fb09e989a8a5771d7b426db03876b0124519f00a1d711d691d3fd3ead0c266a48ea1631d23741b3bce845b3b9245f4f8c2c05ae11d6880071ec980271e90008f3c5003cf3cd0010f3d705ac0caea61719b3d7054c74bd5f8e123e5978f00ee526d8814cf0ed0853ac0a81f29d8d1d05c0e7de32dd9f780bb3e4277db9d384735f287f9a949d6c8e8d176b3b89a495611989214a6eb08db9b5f0b33eba0c71afd2c74a20e84a7ea9d4db79dd635c3287c67e003f464ad2e2076712b4cb3563d29f6917f1b970013a4e6a7da420b09c497631e1e54d2d2df21ad78f0730c3de546aec88ed8c3b88613499c37523866a544a23fd8245c21c49d72998e5f0a811e81e34d87def2a1772a77d3f325ac9aceb36fdb645a1b1af8306d04437625136469c54a96f2030c44c184754fbc4ab02b8cd41c8e421aca90e4bda4db7c18119019fa026a06a81af83fd73bb141ee7be4eff8e8a8ab2f653317d4647a02728df928272d405c64a31baed5b8ca807d37d569f70c0ce9e208d09a5b250bca26d16b8818a239b10d209126e392e8d3c7233d36d443e9582e644b7343201888ae9cc3d9edf05ab596efa4d4f680c949b030bbd3f0f86538dc76669dbfcc45d757e91340760c5b89b99cef5c6519302a65e01e20ba09bb413b8500aa7362970cc00d6fd4451d7e9803b0506311495b5cc7d6091511b5e573a656eaf9163a9482000f19bc0cbbb30d08061d683f417531b2172373a150580378a630b4041bc5ee4cd0b8bd4b9edd9981044e931c6378852524379cb0f8316c92014a143414e795afefbede491d25ddaccf826439b859122f96789b1febabbef6668ad89bffa098f1b68697ec5f75887720296faa8b20cbb36f492273e79e68798d5b2189945b1ec498db2f8d329dcfe73ae50fd7d4612f1e5d7e152fcb67ef984ef92f0f977af0f0ba4ce5c6e87b36a714c4e365f5b9541d8a261213b743d83daaf08022cdbcab7f8d3046bf331d53044d87b1a6b939008aa20b0db90927727652949f8b85ab54fac94ff9f0aeddf47e028b833a10f51816780c35d169d95a9eb8051f22e8dd09b5b76cd2fc471fdcf7c5fe2d8b6bc9c3a8fd67ed52ba3fe7a49f5a89608cb929235e8c77ee493a0a69304f260c68a8b419b8171bc65ee1851e93e6e36c75a15b720ee9572c5ae4ce316e5d68f293964ab15ed597ff34983266492c3d99971c558077288de45700fcdc9598131a517638c0fdc31d1da780c25dca825a1e34415578ded2710b4ba7cc03bd2d29f392730fab1c4f19c488b536981554e1b49bd883fd61e762f11bc0c6b5c7f7f51b576dc9d99aeeaf5939e2c7c3c57421fd949c7726172c5fdb84499f91eda10d46db8d4c588d3138b271f007b264f1cc34750277bcdc25b630dc27600a9f27c2c44af90fe034bac3c27bb4d581e1c37d6f8ea1d077204c377af8d33018da66068e3b1892c7371641d2f56c26569fba8542c4b96b4084e6df9339f4fe0fbd8a89de7e4d8143c43c4af04b32f5a58900e5126608024fd765a71fac5118c5866154d28b742453e1c27b9dee533dd99df44add3e80fb7b80f063a8a6ad207ab97db5d0671111a308b6db04153c9cdeee5e545017304e162d94ca8e32287b977bf3cd95b0eb28f1fd0c96332806d4020b4940ca9ea9f7ff98d78cc410f3245aa33f3e45089e8234cc1418bffd3e06649c22fb3d4be6ada41d767a2694c8a666e3d25f4b0f10505e5a3c8465b5fd5b396713357af43413c3b814222267677eddd375f625af4909327c8e6b1243e5a3ed3d0ba8453c8aeab6cb7db76266abe2b5d3fad276368553c1edb88c36602015172c5a30a72147901498357a67e7bdb7cb178a2a35bf3559355918bd986435b94236d61355eb50ae875a19cd4c5a7d9c2130fc8145ca0a66021f924d562a88433df211f8c5ccade401019664700ca1fc504a51db1a62bd219fb9bee088e67fcb142c6ec02aa557494424bee98521c79eb1f17ff7edf012cba07b514af16abddf88c0db3c6a3add59d187857ca05ecc560016f9d6f8c01c251aa82b1999a1bfa4ce27141c1a1f0b7aa4e11a576958b4739fd26b8ee3b0ffa2a172d2b3ac9cee86641c4d666cc0f379dbebdd2b7777141fa5111e0eea24d7178495f17daca64e47c01da994388858a86efed38b7c65b6bb017aaf09334095bd74e5e18699d8a02bb68baa8c82b2130f82ead248360f5385af04d6b510554b217d3485d2cc0a1dc395bac1b20057544567a325a74ffdc0ddda41efae0cc88c6dc7fdc3e22ed102f57ff4b17103798e1b5fc339220886dd87dcc0dd65ace8fb465c114353ca3b7601507a664a50298be4e0c8c1b917030f1e1796e91f53c20a7924074787cebc08d8d3c31570367f109d50f85ab0d4bd482e6bd62909b57d6124cf8c2aa0b366676252cf0f7fae8aaa9c45fd2828a5b7e09103b85e09fec074e6fc6f8ffb8b05f84bc060ebaec7909e6f5e658163ae21afebe3edf7d1aa6a7fe3f0c9f33c9893fbc5eb56798a142a2a91db74e6eb186e1a789b3ad450204ee39eace7c1a55b6d933fd3de161b586daa036308978bd4547adc7a366ec82ff1561402c73f833fa0272ef4385545c6cd9d7c508dd89dfb6badfe4effddb5e0ca3eb71f669568c28a54bf057029e9491eea0d79b29553047262182fb9133fdf51f6d39c61ba5f7f5447c32f1105dac1fe3fc0d4b68ae98164baf3d048654f2549bbd00ab90aaddc29a23c3c8879bbb94ce3b9448368617905e373b6aa8e3bb58a7c9401be40223ec53193580f0c325b3be3f7b7039a5a7b018e88773406e923410606d0a2e8e42a3d27aac6331c66e7bb041deae452a845bcd23d263c92235ca890d00d7b798f8114c967c7b86847ea3fe40808a8766d28f8c31d40f60305362d0f16a4ba3369ef2aa448482534775ef423e60fe02b3f53a31813ac126017ce4e0e3b7911e98099c5d87af23f4c125794d0454ece0e4e7b01db82f779e1eedee4b0b19b43fb3a53b1587ed04db53490f15fc7146e931dff7392e27c1535b5043dc63b6169937f1b2fe46fe247a0af5c2c7981a79ccc391ba5494a8b80ffac3b914262452ba758554a49b27f527a490c4196eeaf4f208df098452e2803ab640a4778b0d3abaebfbf1be2f4585fccc87dca10f6aaa5ce8eb508610e7c49ffd66205e4169dba2004cb4f66afa22837707bd2bec6c7f8d1ae7f95f35935e217063700ac1c1e428295d8a99e9abca5f2600bf4a559b4530fc653211c301105e62279956d925e93ab7bfb512c839173976cf6e4b10f0437287c363160ee2af7e549c5a011fccde2af92c1c2fb0d555691410d9833d0273631ea840b3f56a166c207cc193ee2ac3b604e1b6fb731f6dd2bd5dcd3ec6336e45a86435f96b34d1c1988adc50b1cf0a018516358946e094d04077244cab59682491e6862602957489432a4f8cf0735510f5a44608039a6162c76a51b958ceb2092f6ccb11bebcb88b89baafba7a544bcb98ec7900421d06dfac56dcd9a916553a340affbd71b58b69d764e64bf2204a5202ba6cb0e757fdaec0863ae7bb0bab18729118eb6d7d330470167f955ac63ef3e4d0e0909c740c23bcdebf83064d708e31509337c3c53da3f382aeec71cd2fece2bcaa58b547ffba04dd75cd434c8b6dd6800fb8db762ec78f6fd1a4ad58cdc30d30f13dea8d00a7f5eb97ab412b479e4ac1ea1580f61c9395eede81442088ca5e75585ca3ca2cd75d069afeca0ef60b9fe513bd179e3db7acc5dbb80fd9d87fb8335c4eb04088fb425e69fb0aef62dee4d9891664e2edcf2773039091290d6e19e39fdefbe0a03e72bb084055177fc4c451f0cdfcf8620f8f233dbf6cc260249bbb9790775aa30803fa42273240c31672a34904824879402b879dac7b59b8278231518557e9253cfce8736a9b8ec4c3467fa19b79129c769203b4100faa04a1d51d04312cd40193e006d5bcb1c138721da4d794caf81dc18145f8149d3f0c985e5031681ca3869f25e6d68a03a8a329f838ce9fd0e4e89efb1f331ba729c1add74f0fc5ef39f36983abc7a6c31bf155266c21022145e90e5d4b2d86132028e4fe10712652e61beac73c409d37d51b1a551f10ca6c2f6f0bbe7d5cb0ae8cc474f13386491954f9fee136a020325c283e2b894d032cea1fc6a9216540cfa286dc159043fa04cf56ee4a37cbd309d0d031f6001280000ec0088c344dd80adc523861f7a4f205478d499992e8d7abc28d794af2f0c0b51c67190db6269bb6904ec58939c7dcbe3d676bf0bae3a6cd9009b653ef9a4a22d836f801970388cb8ed5f689182e022c2e791453771034c7b935630b2153240a3555e92506e69ee6030508b07e762d0fa2ec586ecf1092e783911b823d87642d6f64bf5bb1e16189e108ab341fc65d896f0ad7ff9b2bc0d569ea69ac6071a021637e68f783b4e864c4e8c53f363a423421c9a65b1a409cdbfbed141c75a485e097c78569c28ae90d34ff2038b1ea5e13132038016e45d3199fbc3f52e1919b7b7e140f30e5b417a76e1dd4184f77333e6a291d3c9d83eb44d971d93b26d4e1dab8f373df22bc059b5c3b124461add4ea143009c27d8f4162323ecee4f431f6d04de4879ba169545a83f3a613861392859d3edc8d6c15569fa89b0375b369fd56b192656a5411a3ccbf14e3fcd565c852dde0aff4949a050265f06358f08590dc163cc0019252774b693a57f4c24911cf773bd40ef83a7df7a9b29dda1d0ae657bded2dddcc58daf58a69cd6fbe897da1d0c8592918aab65d6b49eef92a1b288fca24147501a7aac1fa67e3b830815e95bd181ddffe70ee64dc2001db5ce1a2d58e4e76f2496278420cf4da161dd8f52aaccf9898699851b5a3798b64a7aa7b36a0357a19f4d5ef8c00d0078e7d36b8d49ae69893560e353caf1bc9dbd35a2fd271a7ae158c2b6e74c198ab3a5ae33ff1818c0c5081a30016b4e101148c5efc193e854192ca17c296a235813d75e72743c080e0e77783757593a0ae2ecfc5d32d043b83cde0f8ce90c736bb3e4dc041d4240711a9d2468cea5ab6d3b0bf7f6d56f9b90317de2b198db3807c557877f085822b6a69b318466612fd76c0b9f1da29f87a58495463450c99641b0ddbe431adfc394d3c4bc6a873ea1a866db8a6c1168101e215aa0ebadded38f3cdc96fe089fb63abd500c22b070c38a70b329ca161c522f8bd90c90417ae8a402226d0d78388e20ff34a065b9b49ed93f1e1e79d535ea434c668a02ae1cdd27720e090628a868b8715746a2cf949b5ce07571613e7fa322e5ab2bbeddbd45991cd2ff6c8e6230dae43870fbc4a7db2f5fc3fcf63c6b3c86cb489082d006234c76d13670b3d74505ec65e8176f16b8fcc77fe1f421c83e23ad1ee81ac323353f9d4e62c8ad637d503658bc1a4b402c4444ee91bd12ccf417e7d7dcba54745672780d8f3f4424a0e520a9d1c5de1a311752bbdfa40f9299c8198c8be337b72b8d01da3c246de37154e25be2808db9b1e478fba5e63fb8bb14fa50e147630386d761116d8b2ba8f18d36e4bc73ed8a668f9bb2e0cbde627591bafa8cab01c083aa204265e0586bf3b3c82b75704462f22007a32dae44e339a66a2093cbf954da66ef5f5c70d6c47b41384149008ff630d71c8686230690bad1219d8b11f849f22235cec8b12c9427a628ec68f7ff2fc64e00720202cd57cf50d071f755918228408d4e92aa7819f7690c141a9186fd92df124f6463c6c3eb261c6ed030067fc080e1f12e285898227c5d6eb5a7da9d2265f9f31169d481339ba3b7207c5d221eed41c0e13fff25d9a9bb7f192a8868827e9b3f37c4cd0df5f0aec0c8042ec7f607358356588f7c24b05946decb29c7283f16d7f5439f828447e41464b44d7be8b4c48a12f2421209fd21396688b6aabebf9f98cccbd23f93f9f99a8f333088d03846fb03e22bce0f6eed1210dd8d9002fb2b3a613c8f3fbb10b522798a768092bbf34c7a30a6031257a0ace87a2ff8e8231f005fbd359a3ec705eaca30e810a3ab6871ed5a05be32459a88da27d4278d9a644e276519bb759b1a27c4f2e27930832dd550382ab9eb92a179165682857a28a15da33a7dc6f5e73e702e081dd2cea6e23b5e9650ecdf964fe99b4944509f6c65017b3284fa940d8490970cfa74ee84483494797e4d08a3a12c3c7ed5b5757a9aae52a79116c1cd4cbc73a67f0b476dab4af1cb9dcd86813b17fe4100bd617fb1977e23ac69fb965bfe62223f1c101f1d896a2cf194d6c69ded9762b7fd5588a4f9854b5582d4be163d6575740ae7d155848e78ddfb651ff59dc29c47f0d27b2c57fb35413816dedf908bdd3158ad2b025452019de31cd18a76269599972998017d8b2c1ab75c2077ec15261ec34b0dde43ce5ee1a7ec369c9c7f994ac9fd1018d1ec77951a121e11d918c132a66aabe26c1d858ea4690c3ed7484465bf06234e47e85f05a5a0a0e453a5ceeb90b8a7c924eadaa0d1f933248846bf41dbda828b79ff6467d477bc19c52812afcf29a76a0700193970ca55ebd0091851039ac09109d4d912f382d8b9a9b15696a4cd91a8d13bae91e907152fc1c9d86ce4a427efd8ff9b0de0c26a58070dd1854809c8644c9ac75709d7f320d5108d0fcac08de6c83cb4ba8688fcc28acabd84c8f6387a7e7579b5a7a8d9cb15464060d62ca38ab88e6d1096aec3b359274be467b75b529ecd00400936430c80c827970873455e2da92080ce09791fc570fd1b8974fd3a51ed5e976dd20a1b99d0cc5f341ad10a4e2215528a1131f3ab4ed83497b2ad3861642331222827effdf4f934d4880ecfa640a6c47b09040954286960fbf4d714683a79a3e0df374b650647d8575ec3deacd385aa867105c0c4366fee663a836280ec44dde4c027cb662645a68030eaea0e93fbc285058b364bf054b47021cdd33152c499f63302023252189be4222dc090aad500f332bb20fb9016658e380a96154943c2343875ae18ed00884c185319f53bb635b83ca1933c0bef2ada180353111d413cf6cc3ae1a27219342e1e3eecc64cb5d66e71b7e2e0007d38639e1a317777386af2a0cc72c98293b0d81ea77892879f5e892746ee286de31d3362b5ce19434788e924744f5ee8134c4d3a75ee30a434e699e9461b52d9185ab072c8f2def90d9bb821325a8b3bf5f4f2fe22bcca507a1b765e589bf4420ff05e72ece4c96f6db4e9a755e262e1650288dc29d246beb3984c896e0d8a07eec9424d5de493260084aab43b9fec4ed49cb995d17a800f738a0562f924d176966364c16afb94014eb0ecfbdc58c3b78e4586214b5289693871e0a94c01f07ca5a97e88808eb7ec10c10fa0fe7fa74faa6261113165a836004c633118a0179c4a17ecd7b0a5d2179f4da7f687e79e68066a146c8c25f33dedc935585402b691b0a9c2d22054ff8c3895f2b8028a7976059b8f95d7b432123e53d7c445852a8e202f14183275f16c1473b175ca5df15ced3b63fda134277e851d8c30329410eec244b501236e3abfbee7cf774e255a3101f06cb070a2a65c21ad9b97b468b79c09e6baf282e3dbcf42b69e1770121abcebbefb50ef479442c20ee824ad6bb21deb4a8206536e1a9f7f0710b250ac8337930dd4c3aab639c83be6168118ede1ce99ad5fac0d214a8a75de2338078b73a031562f579ea1be265f0b1f53c4888085a35c41539e7355a7faba0cf64b2729f85a795e7d8768aba296b62668eba070a2ca4498fdb9f15e4de889273a8e6f3a3f824f617f711666905d15f7729abf1c64268d1775108b18c4599e3f087892833f3051a99dc3110c57c3d5c5e07761efd10368df5219b6c9869aff4044895b39686865b39e655bc2afaee28f46e727856c92a734b98f24c94d092a50f213df26e087169ce8ddb3c855b02b809ad19582dd145ca09cb4b62e9abb0c11a3049bbc2ab65234f1c2b1a7e97062bdc428bb3c529f9005569d4e224d50faf37a8c710e3150bdd2a0ca63bf78bbd8ed701bc6dd6f5eefa5062e3622b53d85573655a1c8b8604b05d683858114eec3e035265dfea62e63c8dfe9d71930526918bb457f4524f323ff78ff986db1aa6e4ff7511c71d029b676457b56ae1cf94f1b10a47197c17efa4d74b983892457930096491e9b45a0330c7f2b20f62fae6c1512d7bf3a3c9327017c64fa42cceb3e85b28a149bc73b26148940a4e6932a638a656afd57d9ef7737a2f62348cb3462db3303d90589b043433a174175252554d9c20a741782e776bab46fa4a790dc58a178b4b1220c928ea7a933cbcadb8666d97b1e5503bfd04c2a72f127f794264143877cf17e655efe4379c4a1e70847a0d333c61dcaaaf365be959075a98ccc853f17ad625d142dd77fd5aca1bac5109043868f8b46ea6fbc97c206270d42a31c62edfaf6882b440cf2469c6f8a22d327f295e20f02624415df0f5f1632ba162872da52ec1c0af0d0370349fc73a8f0275d9f6053392c2a46e55016203d9172f0c529dd84376227172aa723ff26908c82919ce639cee78187f23e9b515b55442a60b29ce34820a02eeb365bbfd909bdec6c1a20873ea8822579d0558d6938553029aa580d46e6a7d03094a841744138c4414cea4d42ec81ad3e0c734792c6b56817155662a370b4e039bd246b9dd5e355738c10a41542c99502c00465da054188e1ce142086084a1359049e85f8ce11adebbce240a77a2747fce19ac79db7dc3395f08bb0e856eebbd0a1f60de090adf081a77cc0f52ea154343f51e578fef48aa6a8c40e8575513d1d1df05f412b910a01a9e92876b311983226a0424d8c303abbc02654c908157214c43cd1b70773604886a85e11eb2143d02c0ed0765a16724302ff24b4c1004b71e37ad41b84b6e9b9816d8984a69bd412eaa122bc304ab75f947baa5d9524da4232838cc391ac539431517e4e4ad3d34cc6c85f454f6d2c1aaf217c63514a744ae2363c6b7b48e501c525626d69374dac50377d502942df68a0cbb25e4225102832f8ccbe0c53915ae4ee1681be2a2b53c5e72b49e03424075b3aab9329c4ca2adf84f96358ae5ed740b5456135b21702bac7d99a2b6a3a7e0074c606f879a90302318ddb97487b8e0a632e2d904a59ce4777b8bc5127fb0dc232c9daf953c9769e95f5043321fd5ad07a5c23862824f658381c2898fee230fd39f2203d3da89e6487833113e42f43b3504a354a63184c528c4a08363c0f8db77e700ddeb12a05c956f0bf1df0c75db87c500ef98390cefd39cf8203e146f0eeb017ec0b219e88d192f325da90f97c5522a0e8cfa24324213e40cd6a083bef2b5454299664600a6c660b66602257c0e37dd218fd8b5674f6f526a6f6451bbeacb936a3b563735555b7f0320315efcb9f5f0b639806b6d0af52125e3533516fa1d7ba91eaf7252266ef70d4430bc1e262420d25322bb5a2bba2d50b49a798c51ecd3f8821769e234e27c393d4894ba6062db3fbb81047c7c867c1a5562a34f070a1db9d7a98fdd6b92c3e6925fe517bc5deecc41704b924f60f0d312d155f47a3c306d0cb85b007d3501aea49aac493cacbf45674e3e93bb7c06a1765f6a76fc83e2e0ae4bac73e81bf48efa054988cd23785cae8e589e9e21ad084d061097c0573a771b38350c67f63d2a75581d91466db0f0a8660d1105ce95f5626e498cec51239e41094a9a6b475a22d2866ad8028656711e0f1512aa4fbaefd40736586fb0c8ffb58a378b33938240361b16804ce48d7b477b487665d94b378a6e9a88c12cfc2d3487b761609cf5dd4acf8d000dd17b929e941cbccc9363f6e6de8acfe4b3aac60bea732df954aa777259d2b6e3889599118d0bd73f0be218278578afd177f15c3bb92cb7fff7121e05de97068ba1499689712ffe1a5ccc83e3858e8223c79eafd9332a5a2c45f99d1070a4449c8decedc03fb6f4626802f1d7939d51305ba3171431b6d6c65f0cdd805ca6443887b08f2264c948c1f480c350783a7510d2d093b0042b412c7d26896467dc01b57481a24daae01819c0287b481be70a04f7e1d330c73ec604d5fc1ec5dd634caac69d7f25d4a02c51a2abd35557399708923acdc4fe7821de9501dddba64d42abd26056818deaab194ac4185918f14890be2c1ce31e3ca9652d7d7d05101297b57027412855b2402eb589e3e9f842c4829d25c51b5d774df7fab18341ff6a238b1bd46a6f75bd04a51c2484ead8f4f8ce8cb5a070fd99a9aaef4063a71b0f8341090a13eb6a6ed35381480c3c1a002494c8c6a0272ce37e4aa43487bcbef73abffa56fb5c6e74995415d5bf84ae2d351d0d5591c1036ef4c4aad08821e061a63fb33e3dad147cbb3288098a4cc6703a2427271658c99909ba1e807052db464ecee775a62540b44c302d9ee40584106634c91ffa43fcfe0e738cc2e5f6275a506525706e006cb80203dca7f05aaf1416a6b071eee723dd8144f84a1752c8b318eca3f9cd4ea53f223a859f1f557fea5cf953f730507ef8189956caee62e9afffa19fd064d3edc2ba6f942be92437fe6fe2640906568e5da140a10a678a1eb86b9d00b05cae8396f9136aca0dbcf4ca071fbc5e0e598ba90fe8848c56b147ecd64f0fd40093330dfe4f8d4f350113da683a04c03d80f6f2e2efbf888b5b23d7c404949d024a00fabf7b4e3afb737c1b19615f77973734b560687fe66cd7d6c2eae4437fd2d7a33005ecc1b84d2af48807ecbc8a1db56dce7ce8d2b5d193cfad59afba8e35e560f10bd6b6ffde35e1f1af120a19285e65ae7eb99087c874ea0ed925f562816a4ae314a436bb5d111f78f6b7951b0a1b2cc056e4f7ea2836ecdf30d2512c8071138280cbd1ef15b0359f55945c5f743abd516d66c0418782838656602887d4288cc30a029161787b2aa73f02baefa7be4b8b56e6a99c6f9692d2858d03f08471fa8351cc53e84f295d541feb2ce6c200eabb206de171e3df7ae10d8d91d990f89cb8f715f7f521a4c0ac19edd4c00ee4c836370bb885cc367d25f3850f481041d827e8352edd6b75b40c2fdbc86ce2ce01b810ca4f765e5b1814955bcc7f2457a8b5f92037370da8ddacdc2ba5da3838711287d971544a86c050b57657ee36bff471426aacb75e32906c5871f2526eb4941353fd1d9f38a28d0094a980cd0d24a5912b80a9889d82305a85a1ce7e03b22f57f2175291651ac345da183efe6f91832bdfc661c7aa21ac23e1b2a7c51a270d245765fad04cfd80983f41adaaaa01f9be760d1c410f683beeba155ca106d890629d53b48c9af724fe0a88a97b3b63b93884269a8bc575c1765a096f0e31f5370b155f464c4ca0919a858fae05109f2da3e23460441766da0fac98239f209b796cf01ecfd20cbed48ec2915e436987ee5c73875511ddee601412fdcf9dff6609e74a9a650ebdebb4d52d13e84260f72e1a103da0ce98990654bce3105b71af3bd8d296072295fa1b3686a6c69c40a08a422710b4dd47a3a940459585cb0efcbfdb8e66b2f6ebede878bef7d71051f99bcfa0710fa8c138d7d7c895d2d9a14c4c8bbbbe0e264bd36d64b1c40f91ab8ec33ee494af62f02560b8191fb78075114ec001ae3330eb8e4167fc768d77e1f88ceb19fa788aef597c28f44fccf0ee934aeb3d9077ad7d3f769c47555ab9023d1ff65c33b8e08ce6eb441a85e85188d7aab705dc788a73bea4affea48047e3d0e32126906b2b7abec3cc39d5d1515152a92ae47e3ec40602bed723d323f5a89b88f064271eac590f012e0f3bf0b055c8f5d8dace43406658e0d8d429c03fc1af280137f354190649307a8456b112b03226cf7c834f3f20d8ac8166713093506f13f6c106f9d0de9130cc7407599f86fd120bfac56751c1633d18f0013c01d601eccc390ee246c59c17974edb4b5f0f910dad6235c5a1c1802e5cacaecdb6833fbd1c48abd7bcd0a29250a3408bf094242f9a0d441b228e4127542028f0fbc2e246c4ecf8bb941d731543e7c97c6d9a05caba9b9311c07b5451c2f456e725848d057874dd60b799683dbb0c23e530762923ef2f0272203171023b1229a7ddc07379ffb70d9d71e5c7dbb0f70b1f72163603c10e00bbf17a527a8c17e921fd89a6ff53015a3c22a626c324c97faf7f2b26565c87c3b74a2a9f7ef657c7d27109fb695493f49c81dc3a03e550c013248e69573be3c3a0895ccdabdf441ca625b2dc1355492b528c5108f6a748b94f4b6792787ce7142d828d93fcce69347122b17e58117bb9baacf47f33a9895cb51d9a6cee38217e5a6a2695671902407e55b4274bb6fa4e5d166223959000fd6d6c04a54599160590534e69f0e1df0063d4f90f4548a981f0af321f038ad9f0c3c289e21d3fa8422d445cf3b7e6d9b0401dc6857bff3c2a2cb002a06c36170fcd3cd600db17b4a27302a18a8d85035195c802a273ce6d9984b9871ba84a5714afe603b51406a360c2c344643bb1e6e4a75baf9731448cf19015a0aa060683024ae62904b34befc75084f22cd089aa51df894640f42114042f77543c7b3ebe0a7871d88a187bc1ef73ca4bc88d6c1869e38691528a43dd0b0428b1e8619680ed087e68e16d08244b1595934904f93c59407407d817e7fc16e47396ca5359f29ac004d25364db4ac1748312f1a112e33fe135782d33f564d92301ff4f295bc4eb3400a8ab05005618921bebee602abf877e39c977bd952deed402128e84740532f02233ce8c5a612220281ab56f4ed0424279e8ef48b608b147d155b10860fe05d4507a1b0c01b9b26440c9e8a0a2f24f6de65b7daefea1840d511ff737a44bc7c75d4ab36b081ea2b32de2f2b392cae495c7998c541c3546e1f85e253109f1072e705efd79a4906e15c8d03b52be5777c48d08331bd200e5892418a29b48ce53d4dd2345c4848654c09d362c1d108030bead845bb994ffd3e119769db33adb1660cd67f716758d4586dcc8e077102972e2d1684618c768ca71d0c37908e2ac5a8edd40f15bc4c56d61969803c45a341b65aad64159bd5b74bf0c2d0a223ac1b641665ec03bc12fcb94bd6e003a3984e63206eab818d54f1ce984074094c7f3acfd8325b5701849de581d6ea68eec0e21ff614ced024967363c9fe67943f94452b2cc108ed2036addbac162538a02d0324f17251c7d6dcd66d0fc5e78b5554e6662ab16428841c94b9654960a596ad82f0dd2db652004bb2f49a2621204068a55a1c8340d920e9c7ffc0682c58714c6f2badd90621f3d1f85ea98b7abb11c4443c63ca2f4a5372f905d78e56a5bab6a491366beb355cb04d8c50038edf0f5ae49cc57942e06ff49c179935818d00ffb9b265369b71248d01694e76ac18780ce1d1091f8c1b598275497f64807d157810c0f7099ef3029eef24ec298560cf901ed9e9243bb14eec5b259227e408ac36a5a9dc1be308f388f6e9a5be8b3f8940cb8262db49d0e15acedaa9528ab05b3cb43430435386f99df09d54c3dafaf822f16e6b87c667976eec434fb9c8fda3ba7000771756aaf0678f667a677970fdb31ae5653aee710485b4ed1ab8b5378556dacaa38ec403dfe2fa2e865608a953b9a90a5414a250ccf93cee74eedc42e003b635c112b4a441f42ecb0e4b3f4eab19ddacfff7b598fe3156077935d77f910035e6169d3be82c706f175119473932843ebcacff539ab4b5090842db05e9c58f0fdcd4e806baf86ec2df88c907a7ac45aa6420b0f96676c147d37d8922e2950049d2b94b4123fa078ffdcd80cb4ad448f7ac352646a3413c7013ac52eb9b0929649bc8a264a734b1115a4d52ef6de130818bf92b9ea4ca0fc1a63b3d8569d7352bc3a01bbd8bee2683b56a741d297410ad634e25cc2e4a58d3e3091dcc07cc881b6c3362a86e3df68da4762e4a49b8a4aa4a200a472024177e801b5df28cce837e31fc6cc83330b575f2e5c5059ec2522132640df9df5e28ab3124b8b5f2ddc81cff112c95ad2f0b7753504cb426699ae35b34286a2725cabfc38ce02167edf69f0302bf76f838a7ea1eaaed411c4184606d2eed52ce0508bf6299d62858948222ddb928b78b73f9c8551ba6a20206160a1c2bfdcc57ad4dd9dd265f68d7921c6f5fe02c985efaa37713f385bd5105b5850a8da00308b7ab435d3bda3fb92433af1961188d48f44d7403689725741d68dd2b659b330d20430be0c2b53084714f3f6d70292f90bca753c38832dbda651dc53e12e45cb389dce556922440c80c003e814931cded0aba04f33cc29d2f74200678e5b3105fcb58eda242fbcd800bef1f011f97a0ad343641bcca54cfb6144484acb0128fcb80d67e750b5d321a809c3bb1fcb3b1d9cc85c14f6ed4caeff10ecabe0448ae5cb3d27a1734ab97343830057553aa90ed60e5219279970db94c82e5c5778bb7662e29f86489c446459890de844d57815dac0517a5cf334bcb35d8acbd2a124a1a85580bd227074a1acd36b4cf0cb39cd2eefe01fc38008f1ba9055edb968f09cc2540505d3d4bb8f9be2c787853e7b6b4e6543226860d4e1994bc6faa2c1eaf3e99d2cc0e61f4ce5837ecebed5ce681725aea82d05bb40c4f8163ff37691753014efdc1ff2a90f4ef2fbfaf71e01a12939a6126a95c204007dd820855626da121a3e721468d8b91e9ac8a286cc06b92e8c5ca28a7231a18e29625019d685638074d6dbecc0baa03f097d107a0406c522b14469cc490333eae98e6dca878b2bcca9f895b509d823566114452b8c8155c3b1b06a63cae0f7de89595da1840e811e7d095dfc1e7d82c2d24469e812a8dce62d233eb7a7f009a3615d40677c813650ff3104c3986061d999d91a3c0208fc637f4e440b321d3cf9e2cefee2a47dd453262d5aa315adff370ba61ebb120e12d872a1c4f76ed7b53881fdac513088cd700c1308cf4f7b3e04e96cc1f9c1f5196657706fad0d3e6d3193f672a6118383235d168b709b22b30d9d5e0d5390eb1972f9da86ac39a86e346d2e9268c8b86524a95cef88840e0290618997eed8dab62f0b9d1ff50fd2893810680eff83a34940641d5a86d8867d402aac91a3efea09c37d134d3430d6dd52944db9a715fe8e15ed48634e806a4f0dba4426de1ce10716e85afc63ad8fe54e6ff250fb9f1ae41fad8ecb334803850f85429597634f3e86b154063176b5d8adf50d89df8ecc4569ee1ea0a95f2b71baa0b49437f004240827799de9cee23a851491b5c7891fd661aa88cd8beeaa8534bf78fcf0d963a81f621e35359f29dfb1e3ecb243a3b165ab91adc20ecf197d6bf0070eb090725a9a39ab4ab53c83f73f5055aa15ac1bcbcf19d424750da20f7bcadd382e3b93dd350175ef50f5a0d676454d1eeed87fc217bda96cabc81fe7ec319057e9da7e08d44c7cb467c8c99231c9e6f603e0563b510d65d2f28f61cdd90ed9f63d13d0f57d12216250d486f5434472ff00737f7003c02d4cf02cafd45625a40d819a5034d4a5c5d5888efb7bcf1ca5ab072c1221c4c56a7da7d1c33253589a166d5d16ef2200ab98d3f71561e3787f625c2fd03fadb9d32488ed5c6503e8002e0edec9cf86aaf53e518cd966f9b2464efbd899452ca94520a0906df0542065be7402d829feac47a97c75e07aeaecdd09c3fa66151f92d8c49fc39293d9dde877c215cddface9becf074939d1d4cb386862a7f63e994135956d75098c47fd2aab8c9b6d25343854211a5b2974a25ee9fbd616fd282c9ef3cd8f3fbcee2bc3cbf1b591cebf9b230eb5f34aea38c06ebdddfb2ac17b9838bf6f5cab4fe71d1b0ac7f96581c1cb0ca9b073d0508957dc755ae82b5e18f81f72c51f9b3adf32495a154f6a9fc3320a02f0ff3d667af03f3438debcc11945f063e0cdcb099245de4d35858bf41bcba143517aed329a9ed747da472f3f48c2e6d5d8dcb73f6fcf434298fd93cad02e2363b4966ec9c96346d258da4329556d1d53e9d4e75ec43a453bc84a1c871150fe707623d632b6c8531c7fd672fcbf98de5b09246fdd9e2acad7bd5b9195f73f27f4135673de616e61806b3cc1fc31eb37aec8dc7d0316bff0f5977f0ea5f33a38bfa2e9ed15ce6f2b453d8f39b4e6ca3adb00bfcfc17a63590d6519a634c93ef827d866d58733c80daf500aaa4a7de719b9f4e959ebf9f2c4ef6fcecc3cfbd73daba39b375d4f4325b777a6c631b323ffa81cc4651b18fd19aa8d89b1250b1a707a8d8936e2af657002af6405c753dc36cffc24cd2301bec4bda37876d9d0f4e2a06316ce3512f2d3e490322fe101f70c47f190c96863d69b3a1625bf76357d76fb580b87e880f38ae22d7660f88ef1ab675d3d23a0de854eb733cc67f3fd2765a063a40fee818f47fdaafaf1c5e0668c1942953a29812c5942951482185139067b154087b8760c0f849851d2b79dfbdf9eb2d37a9eba12e84705580934da7752f624cdf2d900ca9f41dcd5c5685721bf8978cc6950641e484311ef339edee8e65714c2f303b2fdfbd6ed67d79f80203030333c2e29c9257a49f89697b4d6dfb07fef89cf4f41c7caea935cd953419cdeb05b1e9ee2619ebb3f998cb05c3abd6e99fa6513baf0183c5689b693bcc6a6a220aa02058b95e601da5c27ff18284755643006ae979d3ba2e14b287df59ac8dec61ccc36f2c8b637a38277dbf4e4158ce275d304858548855a9c28a7ea2a13ca9f3fd2f53ffb450fff44f3f899931c9e092e6f53291e616152ae92117f20a499fe4397aa29be4d52523e38bd26325f797d9bc4ab6753c54190a154a9f9b7f9052f58df4bcf50f9d5be567abb8c0908981bd4eb9d6584c3dd443def550d743a4d9432ee442907b525ee8b4faf121ffc132196e5a70c9bc2aab740eb45e625d806fd2fa676ffa49dbc0e72050394151e1476122b0122867c153602eae192cd3741042177a13ea3f2928354fc1ba00df992cb99153e87a08d55b7aa8b13407bf75be751c4bbf0abfa3e1431c92e7393d22cd45cf2668e74343fd3347e810ccc35f98975bc3344cc334cc779c0b4193e6f57a81491e50df71154f6ee5497ce0ca498535f08e578bb33ea70f6530f895bd819246fad0dec02cbe4b56c37c7f9aed98734e29df87263d3d122c44aec770680eee4d05d6063ef7b0911fa464d1027a4e9b30f89a764913d01fe883aebff32bab6a1db7812ea3a1c5990fff45ed7aa8c2efce7a7fd3d64d2afcd6f191ccd675cfb5759da44d50e1bf6d8b1ff332daab9ed5305fcaf77771b1de856635985c463fe295e9e9e6435aa69215547e60369fd9843a39fdfc00c5f0ca5538749595f36ab5b24cd8a57195d11ae5aaa6b489190545d526c2aaad5451e17716037dff99c1fccb5fae8dfe622ccb64aeec83946ab6b9fc94c1accfae183bb2a74f37ebb3cc05d2c368978b4ce95d3299eb05c633ef611f65de0729d5b7d18f590df331b8edc05566ebfc499fe332190ca3994c86d1e643fee87d90e0a5718dd14c1a8cd6b1920a7f74f027fd455dba86d24fb4075de858044268254185df3faec2a16de063405bfc70b182578c76de1890744373f0b1ae2c6571ac2d86d12684eb74871f5fb8c70c742a7cee31feeb545f3cd8caf758c864e647ca6ae0f7de5bafd77cd2a5bbfb73772f82b0c88b6234ae1016412b2cce0e1416b18d7e18a3c42626fc98a4535ba392256535c47f9fc5f7b4ec04820e51215c27edb89319dbb99de43f35ae309e0fe4c9e00e14d4e1c3a24e59911abc60f7b4d6483c495185ee0393a849e04bd2a975259df2599c2218772a8c3df147b15bceefb8ca192d6b34a3d4a14c4cd1092be391485827a376edc356baf6e151bb1fa88e7631dd832efc4b70d4fc37ff452cc6f72c8bdfbc26d6393417b7f87c3dcfad67468304a2e3fddcdecfbf760b1d60cde1da82708570632457d41a8ba1c93dd45b74d14c0868e73a44fa7de7facebedf7f589ca90529612fb56cfe35e79c7f7d4e674a2e8d7d9a34d76f694c83e67e7809a9b6439e4182e6c0fd9f4e94ba768363da3667921e6bcbcef576773e8c99bbdbbdc899df7b3fb4ebde31fa50fcc1874644d7122e655c872fc2ff716aa84d0861c4a6926b6b3a997984c6bfa2f552b3de47d75f9b5cedcdf5d70c288caee453afdd9b6b837104b5b6d5dc301922b6c26b1591b8b900be67dc39d4eefd8f538570c32610ad735d5b9a5776dd999797995f77cf873d779f4cf37f329d4c4ce3afc8d3a9e1b8a7799a9ad3bc421773a7ef7129ce213d4e44c4b7777777775ed99d953799235c5bb3356adc58525de5402f746a8342a084ca0ad1a0765ba52704546ab758aa3351c36dfc058a79c771334ed4e450ae3d006d80042a7333628cfc31cadf9edabeaf37547ed9f32b6f286e05b4a3f142a73a1a502ce968d050a244ed4eb581a254c7729588405d940842c90ae57f2e2dc4166216f72c282d9ee5e4594e355a3c0be759b8a12193c9bdddddddbdbbb3447feeedeeeeeeddcd5bdcbdb79c4eeeed5c857b11a863ee1d9bb5a050455b2424b4a5a8684b6f71eea2b7f8160cd3223dcb949e65deb8a185c889f66d176fcb02e00260153b3b439ec58750282da793168e2dc42c3535bda5b730cf4bd2de457b952d52a46ce92d263769d9a17831f38b21c4ab0edf98c8f858dbfabc4516819e62c8c06cead4db84ccba32b8bf90ae3a84cceafeaffa1663c7f3f65e4ba79afbf50ed945175d7051dfc6c49f9d975cccbf9ef96fd6bfefe3da4e6dd5bafd99b9be0c06ef0c6eafb91ccb42d87561a32f3247733ef6fbd41a5d58f645ac0c7bebc22ef8d85f8fbdf59e468dc7b4d5a684ef717bcd69d0dddda13f747f9aff12be01710ad47f9d775ef3f35e0213280fefe12a203e7af7ecdda723a0ba0740bafb4f771ffefad2e623c87cbf2eff69199024127c28a5945b91f8d0fa1c67221f937f597134820f7e91f7a32f12e51719c59fd2a3437fce9161dc158fd5f5a47ff021a0bedf55499c2c006bf3febd03bc1b33ed1865a8d1df2c47ecde015ce1b67dec7ea02add7c0481354af85d69e3f7f973f4132b695b4959d43a1e151b5dd766447e9139a5fc29af2f32bab6d3c3ed5d656dbb36fca339e726b75df828b855813eb84b2b17951b6bc3734a2b3e078c9c7e21beab76831bdc368b30c0f8007d8ffae81f2343c80ec5b535ceecbd0dc869265cd74208e110fcc5421f334f2fa2f93f994e261adadd2d5745e48afa73f7d934ff27d38906c6d8d021841042d810420821e518a5bb3b6c086374a2213d5088860e2184104208196e72057d860851d40061524cab57a3b99db7d735f6e6f1b0d9d0dc490bdf3a7aa5371ed6e67d0f1e18a1d235cba1b9f73f7c40bb1a3f44033518581b353cccd3749b1a8be3f53d3703356bde1300649fc882289139eaf0384658f3d37b44a09b35720f37f181103ef7707c4ee243083f2ab0366c6017e2c7cf6171268d5ec306b66145e52f5a11f15f2184b938ce4e6cf08c585f64648de05b46e417893246ea2a23f38bc829e55bbf7f9ad6cfd15b237feb476ffdfc9aba281a75910405f153bb1b3bdda606e7fdb6a77977777bf706a40fafe1939508300b7bcb178badd866bd5b56c97ab74e3fba08acca9b08d5d81b9bcade6150b555b1cfdaf0fb166c554084a8bec32e6c0aa664096887bdf59865bd65591daa5acf285815c72ca81d4cb560667e535215df6d60efef9b82ef9b0dcd59ece3aab8fdcbd6cd9fd9ba8c6d645969c3b6aeab6f5dfd512252ddb94965f6f9a512bdc7e270b548daa5fd9021a79365fd6c3634e71bd61c0b35c78f6dbc6aee87af5d97c6c2ea9fbda18276dea48b5e9074aaeb1de7f19ed263cf441607a6f4ce5ea404a371952598977ed21cff4b292b95de1a2a619141cf7ec873fe49ab78644f63c268f035a79ddec16aef3469e216d64bec0db791b5e1ef242a3f162e8fb180763be4aa97ef99efcf6171b0da0f24fbee54b1ec3b5ab10cc3fed4a917fffddfdb85ccc73c8c160393d33130303032321f13132313f330b4202b13f302e6f4a3d36f46037da1bd7ad262ec18d11ffd5608f8cf6c3cdca69f36e43dca6dfa99a0310fffe53b8e72413f874e99f677ee522d346663b2f3385c36d29bb4951accafd6b9aa245f349777d97a78394eb5ad251e1d5eb75ad47ef9da6aa74ec11f7df7ef0eafcecd878cdbdc81f5027a4d57a126377540bf76fb021854285736d03e70fbc02398182841a2040992a022900415c11354044fefee3e2fb3cc11ead5d429ac694753fb7deb23ec9a24b3152c2b99172ef3ee2e3cc29c3a92482973ea8bee716312b8bb3becc1b5351dfb83ac8a7fc242adec0d4e058abd416362d6017243952a555e039d98d0117c3f8755c4b8dbf2eef2ee7bbc41fc3d9f3a3a3cc070837267aadd160581e9fe984bd07e3755fe9fadb1b082c5867eafdff7bb41636d2e1fda4de7cfad93dbecc8ff4cfe34f69c8090a20342509e8062042e8812541f154c6cea06191185080fd48efe1450a7e75ae5dc0c140d268810a276279e42bb6e10113bb5e33814ecc6a9fd3488da6f3af57fa70c50fbb90ed4fe194fa3d169873a576b11e507cde432e2d402ace7c4024bc90c0d3a0a5811274601156d8429a8f84184af869b11d453f4bec6eb06290145901240b57b54f428a88d819a3d474c7aa2264afb081226985bd7f72ce452df9f9e9b81a2a61dd48e3e4cc285a980eeaf44bdecc01498f0c01545536ea0821ef0600aa1d8819e238878ef4d41024a11239c6424b9224fa5ba41499ea857dda0245aa21350fc005815cd21c0f635cdc5209ea0832445ac10b2c29224703094218ed4b775a3ed07aabef7de7b25294bb07ed818441682fa9e40a23e6e34b29ea9abaceddd6674f11400e80914d427650af56d59cc089fd417f3042a8e407285285a4cc1f1fe3bc540f50511c183fa62d40d2222092248c06f64c59119f8f8f8f8f86c4d27801eab2b01ed4a259fe9990c32aa25a385b5b100b43710fe56f2d99bf7304a4d3a25610b2a3fdc9a54fe9c2ef9c8a8170c1847d09209ea6ba1f25ffb1705261254fef5a48c50ca075f6631b0b075107ec702508531b620809eb70a220819434766e0e323c435aff0f0f4eeee6394be7965d2e904e5c7b22c0b829e9eaf70a9543a3d1777def798dd97979f051680eaebd8c74b40df93a387990c326a9cdfc929aaf557a4a9712bf9ec4d0ca8653d8c4e86a85ad626851e7fdc84e44a46bd767158a8fc1309dac9106132259f18682a849b0cd1dee0c89061a12e0b40921d8855a7628c718b315f07d616477ec432b7e0a2ee7215eec3e850aa11d1072a8ca3d7626f20d1dec07fffd1c2d3eec5bb239758c4da067ef7b8ca4f274a897a30e7ade1665c726706c3cc32dfa64b7c1411db88c2e2486153d7c3f72aac0a7b589aa9f2bb166ae744727db97541bea5c91f6992c8e883781ca3cd05f161bcce5cbe7bf4b845b8aa0b8037228a496041c707491624c5064057bc644ea4b8828c1c01288be759a4d8e2ada24881c587884e142a4a00c508d6cf4827c888132541453cb9323ff0525b112d1051f5dd28b689ba09a8fb0758d5a321ad933e95b6ee44a90eb675dc8fb6f6d9481b6f3af849bf9d226db0bbb70edb9b9537f77f3ac187bf449234ea3f7dcef9de4a29a5ccb0bf485a57e9ee17934aa45237ab63d8769ced2055ce7494eaceae5d0f5d63e8f03adf2bd7cbbd92b46e56fe81aa9885619dbabe0b40756f1f6faf5aa8ff6c8edf8afcd929fa4475bbfbcd48411ea8521989ba413c3ef5f24c86571f8a738c7bdf23c5d0e1d5df494f7a47e2523e893e097bd2924afa12e97d087b49a4ca275d914f1a0249a5b5f4974be90586946535cdb9c36024edd51923e8d6f81796b977cc9594d1e0eebf990ecf5e6a58b623d34192de3ebdc4e5fbbb89cfe2bc7c7f27b13824972f91b08c06d253fa241289f47407aea58d6a3e4a4f7a2bdb813de947998e1269bb648a54eb3bad97b40f096807754a0f752011b8b338a46f68c4ca689079a93d69a3698e4911c39e74a2698eb71bcda5fadf4fa77c905e7e8fb21d1c0549c568c05ece4c0769dfca55ebf265c85fb96a714c6c6fe48c11b4f4f16790d02893c5e0a5f72769afc26c47a996fe72cd797aea3aa16ed0104bea05038b81cd20a1f169b01910501f42b8fa883220c9d49c7bbdd8dba45d2da74946735fbbe77723b4bf8da0fdbe357333b1bfce3dafd0a193dbf8f7f8bc2574dfe97e37f79d36e7cbcc4eb43653636cee53de9d745f9397e4f53c9feee4f37c7a9c2a59277a4ea0d7c8e9ebea1101dee914121cb82daa14b10ef35c1176a7193824e3b0de0ccdf9e86d39a8f0c931e71b5e63becfd9395a8d1bcd798ef7ac91e33fe3c403c5d578b50637034785e35ef451099c582762601b261daaa5cad7a068f8c8475b837b1e516ce814bbcb0a503d3ae5281e29391ca66e101248a0f8a0c2179c2a5ceed9c08924b4584415fed543b4b735171272d87995d35fccec4ab8ec0dff4b6781da1fa7b6389c54f89b6cd243bbd984ee0dbb6017a8fdb0f60cada24434582a346d51e1a942f8820ed46ea354089b704194dacda8f01fb745d4fd96a069a2bbbbb3e0667477c7e78e393ec7f7c1df734ee6c9dcdddd71cb6102ed777777f7a77182216a4777f5ac784e73fe829452be0f9eeffbf168d77fb45d3de21d2d54fe39e251f3dcde86d2729ab3c165051448c8d68347732e52a02ba040aaf0d0a96eb7b75df1704a6112384adda7599cadfb1e738e4ef1d639cd758ee63a47a7e2d67d8c71ebe0e7c8c9792147479893a3eb0625c184d7842747c05cd7c5d87c1f3d5459db6bca8fb68a55d6f7bb9b9a6326f2a1f6da861f763430d00db00faf7b70f5fba5fd6f58482b6887aa0ff5efbdf7de09aead190275ed29e0da1a29441f421cd7bedf2d68f7f5fdf3ca2a6847e77bbcbab6666293f64fbad0af1963cc296b77777777f794f1046bd4a841a5fbb7d1e67a5e31e772ff2854871a05d58eaeaa38a1c3535fd46da20ba27a95b85a3a754e417dae680f1c78ef3f04be6f3120e03dc06dfd1707673cde36dd8661e0b16ec3d60aa8b395ebda6df70173b6045b75f766eb90705d9615949fd7aebbbb5fcf9d5650fe66cb0a2a04c3c7f06535c217254ac3c8ec1bef2061a9031eaad77b326e706d3cbbd03f650e19b23a1ff36813c9b30d36b22ef42fa9ad64888f72b60f4d1326058d20c3186b6aefb44505def1d7bc8f6846698249104620c154a0b06e9011491860444f0d3783bfe6033e150abb573394fd5146c8dd04e07df1c264e29e3f8426b87af25f98dcd47bfe850f37661a66c8e2a484ea4f84ea99e58436840fbe14295614feef9e0277f7e7d0a5c7bfc155726329d09fbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbfb288b7965944594a32bf4ca08cb858d9c306a02ed4ca32bd389379da09d3541fdc40c85153bc5cf8da5b8cdfbc9524a3a84aad829ea7ba88c07e736cfaa97101617945b9c1de21b5cc54faccdfbd174a1ce52ea7b52f6e6bd1505ed58ca04b6ca56c96e602955463a57e02c1ea5818116abd5aea26b30822172a61062c00792041da9c26908a25682caba4147aeb01234a66ed0112a4ba0af6ed09115038e4809322245504fd1d7c8e5fe5133503378667cdd2025546a47abbc8755fce19c33ce6dc2f7714209237c2b1e36740a0b9ee6b6f2b71225b34a1430a0fa7eb89daba24fa11408d453937f392f56dfaba0be24a808eaa347eaabdd4e62c2ff80b42c8699fa809ae3edfdb84d15e8e2e0ef1ed1fb47e4aa27b4d2de90dbbc8f70a7533c4fea7bf803a3b42a6615f4c392fa8896d4079bd4c7443f40513be8a43e8be8872b6a079fd4e710f6232aea54f784a04ea7ba3754b7785cd40789bc1d1cefdf90ab5ca8d268ee0adac19dfabeb70eeee434f79e0ac530a0511017fc20247e6af692ff6ae8ee31c62cde2082e66c359aa3a66c47f69233199858519331c678fd68341a8d5eceed1a029f87db740e26e88c3ffa1810d8c71edb7a80bf2fb70a7935b3a86984fd66d94b17520c5a7a1c3ad5a14894923ec70cfd3c3a456b7f0e4086f43391fe1e4e4ba44bebacce706d397a508ceb9ce66e34d78b63d4f1e5e6dfd11ade864d69fdc0929bd103071a1f0525658545fc4e75b3465b1c8c63ba6a06e1a1be2043eadb4cd4895270bd9f0fb3cd8eb045735ea64e4129a59452ca09a50cb2a81fcd1541816c3940a1d8c96ddad45c5b1f642d4b4a29e7fc856fe1d601a9f3e76af1a516ff7a19ae77791898ad13f22acccbfc05a3bd768a02857918262ebf99cc766a0ee6b318e2cbada40d611ca5e724301ad53aaef4fd001281e6b6a0376c3d9aa3a51c7e740a069a4ea8740dd894b9848a660000c314000030100a868482b148200f244ddc0714800c818e447458984aa45910a3380a196208018010000001c610181a28211300b173f96b1d03bb75caaa858baec6bbe79c45a1664b51b83119094d437f71fd0b4c02a781a0bf64ad844e0784275dfa6400ccfb817a248040558f07f088b51318fa88beef8ba55bbacea3973a9a40eb9f235e14409a6347d6ed3fa27f7f737790dcded114c6c7bec7ef1411e61860a5aa811ad0e429ac35dd0e97ca05845db7db2a8753b4a7b0fd7e0f0b967f2c96acff5f3149beb215892bf71f7bf63201e85044f657152cf374155ac499ba98f9d7cdb2fe5999a65d045cf5d8c6838621fcf815b7d55bacd0a6cd2cf1184d68c4d4ef50f48c51914b16c1e8f0da55b9928adbabd5879ebb2f4683c3b2219c4414b50c49f811bf18127c02449ca68ba5b487ac94eaa214f8ca45bbf23adc224669d355380429a349bec5637c6aac7188766ae416b6fef681524bfa6035373bb5fd62e85f8d359a82027af42f4357046d03cb8c66684c741e46d872dc27fe013662cbcf14ed518cd5192c57086da8ebba2cfe34771349c47d13dcea30a54e57f8276642e62916a526f4990c2ae1f92664d0279c154c357868d11c2821e753e6bf4bc4997c1f0ac20262d2f0807360693e6e8d6460561d91e779ce431790943cc1fa70c76c6e24aa4407c727738c12ea48c372040da8392924240787e91e09cc785283267d42ecfbfc031fda6dc1db3008a2b6cd0c652eca876d4bdbee143a37db96e8d90c6c4b2f3d064fc4119959107d13cfbed6548c8cea2dea969a220b76bdfc2a1b1eda11785d1c9aa43b059ea708cbce161ba527f485e6d61ec4842248c337b28d0a4cc5200b24b82546745af49399329a3224c0607013ebadea97350a679b25ad630d0862dc9223299d27375ceaba8c15a2f1bbe12c08a7dbf426f2572a96fc65e1627423069db7622056a31262e802196b8ddb473742b2224d4d6c02e7a4f54673f1b06950873e9a36d16848ccf4f1d4376c584f61e247a7973ec867123034661b35a1b0aa2690c4d45c3650b3654a3603919720fc2a8cec09eb5008ad84fd672a16fc7f8aa577a8cc73d4bfe677051c5229e4ad91acc5ecc729d4483489b436374d51afb35f8db43b8b5cd13e4708562c6fa47214ffd32ae9912cba5c15fd67778ddeb6fed9044cfb5eda0ab8a3deb5120e4710ca08301a7fde3f0a198089e0efb1715e6f65fd60d892025532ab1db6c65660a0d9fd95a82abd4c7b848be49499e34c42199a0568bcaf467ec6e8cec7e5e4824e69ae17a4c9555c6d5fc68c372211fcf55b524618c669b1877e00d859740bf5d3286cfa6a4e85f07a0a17d266753f6dd48569ce3b9f6afe118c390fc41a9df20292809e4f9121a599437003ce70d9e3ef146823e1fe0be140f41026d4c00f8e5856997c2ec05375f4fb3c8f6ed9a726ec87f1ccf1044719285384e2131b17e9fd9e9d79ac5dc2d71ddb5a1051d043b6cbfe517b6f9df68b97a2147abb93c67789eef261403496d56093a5620201c8d7d9ab6643c91f11691bbdecdc36b3f7286de76955938a0f01a9cae78af171ad86ed3d4d85b613edf776293b2e6b47e1c5a7eb4ec94315c3f799792f0c16aafaa0e3ba54982dc9019677e509643ba50aa235094087e462f613d8bb7e8ec4d3b31c2e6b3a2c407ca27f1de2001b82a1fe7675159e9c6b45c460e2e4d33f8ce6cc305a9c9b8a718e57108c4c18c68043ceb25f8226c8bdd0e3383c01571cd78686a710b6ed17bd8c5e7a0049b040fd37555918636ca8dcc7fee34f15be02fe2d3b2650483cb8b8f8be1cc00fa76305e1a8770a1da14f08d102accc7997dcdd4359764f3115cfb34c65c811b5415587c372bd223462a247a4255c827ad5e0db39d7180397cc76ed5e9c07c58a4f94b8894b19dfc460c66682ed00c8f39d8c8982a8477a5fe7744503a64427e8fd0b262a5e2fc772c66c66ebff9c4a33825903b6310d0b151295d1a21f0cc8a72a0afeb44f9d82b9799abff72c33799fe34830810cba17a291f7c4103b2a896d8c1b79ec74f0e85f4f8906b8ebdf34179fd5f913c4d4a941c80bcae49b7dbcf3d2c079e176ca7df99028f25e4407407b9458ba5906d18e92974dffc28399bc703eccadf67064ad6cc8cb671932521787f12cc91b33e9bf82b3bfc1422129be923bbf3948b8e2845b5f8aca1424f0cde53e560e6b7bdd22831d500b67a762cfc7a98f1c7f7232a0d011a320968b38ab598161c91abbaa3c38c877667ba44403d04ae9d2eb06984b7ead0d43570cf87541610bd08a9e587df56729bf7f08ff2c1e20e40b1c440d5fdc2d580059d21afa3022680c61e3e8c0c320be476d13efc3961eef2cd6852145f31c7dea33865c378d6598901c7b5b62ed559ff65e6893dcf5dcba17decf1a1b30fc812499666dbf2c4add94f96fdbef81dbb6f382b7fb1420d23f39cbd67eae1c99d90741d257eac9a27c95535fcc672cb1e795bb64e38cdc7e3a08dff150a208a524f2946f4d491ad9be343959c10345a79c8f62a29e4e814b1192728f315677fee0241a99eb427e65594815cd89b145c7d1e04d3288aa62d45edf3510fb0d49b657adc7a870f7868015e6f1a06783caabbbf2b2c5ee964f6838f61a98638adc08bd747df49603b8ae1aaf4d53d7cef45d2664aa5340b6dd0f53dd8b6b77ddaac2401cbe4d69519b4062b9ae18bfe3dab9e3fb26298dfa51544d7b5a7ae8dbb93d29e48cc529e26100d470d32f89200b8bb6c809e50cae9e2954bdf609c72d655b647c781975f869b7800edc7c876a6d7ce4e6dee2c4c3c41aaac66a8cf3d99157a84a9bf47b846632f746634a939c027a576250d42a8d2f25d55e061ad25a0f5c2bfb6605f9f4322c73a352a375b1ab2fc4b74a691d2925313a776408e4069382fac881c2982bd312286e077642416f6fa6a82da5068222929d74a8a3e21ce66587c690e45b765ebd0becbc392ba8d67a9476e02465028e79fa7f00326bf6322c47d588cb0e9bc824804c4b110fcdb679d108eff35374968fd683750fe411b930981012285fba8145dc4e93689ddf30c0b40b600a134801a6323089104d858694b8a93b0d40e80ea75998d6bc6f3f180a58667bc26dc457b1faa353279a73caade8ac42bd203ff120d803877946b24e64c80f05b3037c6ee4737cb41342a4258c6117efc0d25f38298c3f389781f0862ab48be2f038120b613ef8e353bc40163299ff517022c19c36fe482198b9ad09b05dea6af20bd0410705a251ebfb351cf887f04451b61148868fe67bf7fcf05b8a8557359f68f47359070c51ad23065b3e48d273c045814b26b0416ce8c55da30f4c7ad75f2a1c22794b3538c287e8ef53cc1f9346198ff98fb7f74c2cf016a106103c003141ce5c38a4902ba7017ab29ff0bd4d07e7934e408830a4ba29419328c110c41e00134c11564c87259119373372c5113c7dca2ba37a09532af3cbd19ddf42210104eb1838c6e20d614e341ac78d2ebe9360de2baf17786698b0821e126c8183baeebc3f5a3e6c91312ed4211938f6b240e807411a2d5adcdb5d4f2b7df26c7bb7577ce4e25d1bdc43224cb6a9740340d0ca2cc01ac6d154c50ad45504bacca7125e428428109014ef8d75b1b35c7d30f9635186214450a012b15ad553323df8054fdbd19a0a55c2e6c5eaaf16da893f8d54a4b764bc0b97b904291873bc6ccde0fe619fb987366850c9ff025600ebfdc5512ddf2c1692caaf1e26e635006e332902e0e98446a4bfd8b76dcbd41b5e9a89ef3b6b138278296986164b4a2589521f9829578d67454ef08b1865c111e4ec074bb1adb7e225873662bc17d67345951d21fea9835449892067589418d63c408ce0f82d8301541a8930b7fa2b38b6603cf7654e4e9f4e041c62475ea8bf4c42491a682290809423ca9b04155bb3a96a67480fd55afdd55795b17bd1f31a8f5b622ae6b9007c9542d7e13480908d448aae933f5a21930a6e0af49a90a1a6b69ab8d124b7103bdc6a854cf89e06153eb2f3977851d84c635748d76ba4f889a181969386d09a145d517351c35b6da5922290943b4145ec8db8853410ed46ac40e91440a4c6948076fb3974b6184667e1034579ce502e6177b69a192942220c62f449c7d6e990de112f250cf1b4b621ef43511e80dca81ac26d95f4228c690ee293c912e30eb827dd249a95a249e962517e4d20d95e682d6445147e1e94ba2aa3137a14a9a7fb57286430f0db1a51802a29b45f9f7c57284330f04ecf5c0663f90c17d21b928a7a2589e20cb7009288ce4c7b4baf9555f87b6dbe683eb9373bd1eb5af59d7aba4d6e7b2cd5e7b28d534534603a2d82f391e785579afee06860cebb156b00f6fef42bbdec25575d528f4c42f92423c9df360e16464ae2ce13c0445d29ba228df94e850ca356ba4409121484761b1c3104172044240a7db586e52f2465b06689991e46a7b535d4c6778f49394ca442a42b31e97a4c0cedc311353a1dc1fc68b2919e0ab5e877926b652e635990bf39b41963619dbfa040aa1bf5d70bd3c35140e85d97e2089e1c5a1376ae40f394bbc71436cdcb6d0d8d08bff165539cf0bc146c8a9308d33c1b1bdce1d2c7c2162656ff6e8aa3a3511324b8c881e369c23cec2ba1c781fe651ebecc1f4a62af14e8e049dc73fa4f031c9a2f98aee5cac945d1f821445cf54bd99d045d5c8eb86126ef21b2ee4ec9747992519d21c9ece51cfad954d3f572a1ae762e2931e8df4417e19ec246bef21f30fd5b45a962dfd8054318604a7f5084ba64f1175a6e9c4942b677e6be1f3e1889672e22dd255ba824b423961b42c9f973f385b6077af19a94e3ba6fec0b7c75b20bcaadb3ca4d37825007a87e66872c6bda8f5d9f775f3eb521b6de3da86943760b94ed6e440c1aed5c12949671fa334adca97f02033826f14db212c857d0cc660bc8cdbfb70331d561766396183ce30967b5168581a93ad65c2c1cd44c59b08340e157b121c6f391f28302bb5a4904ebd633eb27d338e65f940be266ca3333bde99696553a636ee24a5798921c6015ff1f2e663bee35a161082aa41cf852c21e2d36e4167d5008f4d62101cfe6fd996e4a2a28c78b69927a7becdb64cceb18ac7dd193600bcadb9b9e159f9282e5477c0907170aff63aa99d5b265dea31f93515b86887d51131526fc9870eaa63ff9e3d9feff5c17008c3f262c02aecb4656c4694cd5cbd8500d634aad738fe929c3645d17dce43e12e300e0a6f96f2401c9316d5199eee461b5b99796d52a787b0264468357761f4df4cf7967180fa81098c7f81ab86a85ea5b2dad6a5d321bf0b62ef812daa125848449aba1c33bd46374891aef1ba18a4936aa57e147e8d45bffa9fa2e8d5b4b7d9ca56cbbcfeff76b88b43e3064153d87a9e8c860a209e2c6a48ccd4489815d811b3ae078220b43a44696f5809331705bd3d0ab7a43a8aca8189932b924cfe561d05724282838ca9140f35adec2dea3d9afcd09edb7596e3515a99102f45f72757470d84dd543915df254e2560d844ceb7d33a32786b41c6999e5a830c5212f45121f9617afdd569bd490881adcc736e25a6cc3487294d7aee4dc44c52b29b7b19d8823e1312e9c014a5019e534448c960506679685f02a3830c9200c60a4b5de3586e71fe2a4340378b0ede737dbb57cc488cd17077701e82d766b625ad8f3743177b37b2835de220be8af66c35ce15d45ed5ca676a9cb945e54a710e956515fe9c8f6612d9a19cded4c84534bb00228cf6bbfb11e109a2ff2f7c79758026785c021b9f7520cf2c4d11be9b38935001608f09ad9122d0fdb7ccb737ec0fba60d6b1546b296d03030f98427e88d9b6f93b24da3b215fb4a7d57f1fdd9c5cc6994f0ca280febb21a11d2a58b665debb25014b4ae87cfe909f67d65fc10f024b698d66b70a4eb0bcc126533c64eda661ddc40a6001434c6154947ad3b2545609888a889ce903e12d8d05577119c0245deb0488bbda63ce9d6b0ee3011c4862e7a93348a1a363cf289a88540540d55846c712118c0c612b45ee4d7c08cebcc8c9b9210fbe57a5297e1432a0064b0ce5b1b13fb9f7f0d0b7cb3c4b6bdf732b7c8690bad01cc81bc8c65122b6073b9b1b569f38e12d75f54a34c968417c75d09c9881cb7d1c636190bb781c1264c2348935ffbfa34cace6f15b40f2e8071de9afb93fd31c6294a6ae20d05e0f9a76d02ad3f26ce00d0182d635a163457808f7fcc1921f856c91d052b7801cb6209e6c1a9702ff3e13a99366c5d01ec28977c0b44ee625f50d7913137c925a009395ed5b6208c3b55be3bd79985020151d5e559b981f80feea1e140b1e93568ae2b2ee3901ab63adbfa49da2d8791782b039fb5243702da9784e1bd60dc3ab937f05e31f65de8246c1b6b66914cab61a9ac4a8511f49813352e4190753bdb7330aaa2924be69c2974fce49f399d29bf796826156784e5ca67fd831e6d51a6271a81606d1ff5845b9e2adca8879b06d69679d8d35c77180192d3258f92391817efaded95b20c516886af29b62c96cf550d0765ec290d2e84418a1a5901a16ec44007abda6fb326a82eba6fd8c2f7e71e1006298117f9e860e47dee241c0d8a726b52cfd35c236d3cef0cf27d0ccbbbfddcb1b4a5290b8c535e79411b98a1f03c9f5f80add1a13e708ba3572287aa9be3281119ad6201ba463c515867ece31132c126e3b942558f6fa49fb8f4cc9edc2adfebde40409aa5d3bd83af1c89ffbeb1681953872fc1b0af2540f004e6dc81009eeb14ef7fefb752a6d8e6fb48d485070cece3f87072e586c1959b97ca01aeb5c94df48dabb86da0943d16ade79840f6621c65df0648bf0be1ddcc82f169386388c3b86b55be62540ad9225bf6f87acf351e92a77e9fb82664fa1b9474a5e5409ff573cf638b8020f8d78837b477388b21a7dd080d30f130c8c0cfa8b8366415b68fa4d3d2e9c48abc34502ed05bce0f102a347c5cf7a61fb5dae90f12fc75839a5bcaebafdd962e42a5ab09017c50ee9edf7b2a1b309ad2a84cb57ecdbb9cb63eb5f797db0dab2009b9f37d201d2e3207ac8834cc47ca1e66d9181f8d831a540d1605ca15f019f286e6b9586cdb9914a2085bdbe90058647d5f249d187f5bf22763895d1ae80a73666c6c6531cd6f16f6993320c2ffecd8e599bab28f959ed4adf03f52f5215137b35d29eb99118caa7f0dbc86305a760eedc22fecdeeed36f5ca0e657b8d2aae0ce387a5d0282ca5b454ad6ddac3d0dee5f33d0364bf1e238025c6c5e80cb2fe021b72a98900704f161a22b27afcc3d791ea7a692b5c2101bbde3f17e46be5508cbb5e5c02bbd21abd3529cbb203d5ed80ef7584388b83a5ad4b3e5e0a547703e646b318276ea941726b06a3ff62dd79d4cc4826ad889a3ec2433d1963f39f7e765c21e842c1a2b25c75565fcdb50ac73106f93fb6164752ca6626f99ca57e947afefe2b68b965a1248bba3551710e8175bfd453a0fdfa30f4159443b2aea36d33e4f786d3c0186fe1d960d9ce19556b869bb24970a331cdda8c1165fb61c7950fd0ef852b5f5b69d9df3834ca55eb76ed9ba47238c5cde6cb7b5798377b15693aa36eadc765672ec0c727395c45b3def82d55552258273d4b6c917cb403a00c4433eb70dfc44413a615905b9660186a4266e3db79ca2c1e573a684b6b7c988f9518fdb078c7d8ec63f20400632454ac1d24e9049d0530d6a62a2bf0803ed69855b2dc296e5c3cb71519aab15615976845d3696c0134f146322e9ad3a8eefe22692e29a2f728fb0f04f5b43407f11ab1cfd165772a1b9a5b0a812d90ba3f0b851fec22442a32fe294535429c0b2207420f1a9b52554e49b3798eca4512e0751926475f94a8dcae0aec8c3fa36c9cbfd2df63e1c3fdb6a6f3b19748493bcd094e40fa683f4833b7ff11e81f3dae4b94abcb621b8ab73e3b4ce631f841b0b2cc7d8c2d1c6dac890040c9ccd5d2cddfef39d49e60bd9b0c63a4b008e48ac7bfb7b76043ff82679d2a4c13e5875778ce413e10a7a6f894f0a36454a3656c6863ef05ed1f4b3b88bf09b934c5558631aea259f45e160b3947c7655a66ebda6647fa848501d5f9c8c3d5320898408857debffccba4a8a0fa47927af874171d5411335da6eccb4d4ce1ad2dd7fdc50513741d3561f5ebf4b63bfa1a34fc6847dad4209a218561db724eb7718e34126a695c04932d747c0095e0d380e4dcd99a55a4d98ac639184781cefe7e853965421682de91bb8e7f9515f637db31e949f35fbec2b2506c73011687b88da03db9422e20aaec69d8609f25200aa5feb05a6032a408463f2b8596dcc8f9cb9121f8b5a57a249df68b7d9a7601740070a05e28a0c200e6a638e4684cc648560f95b655568d394551f0f375a7cf65d4246365d2c4724c749434611ec9d3bc4e242aba98e38172aae3e5313c22afa9914a24a2d47fc1c85b47d4136a2d3f529b1058eefd477d914f3599be3471d7a810f1b243ae08b11b68f1cb5b2105b931180b9bf563db1292a9bb467581f5bcb283f9c6ef7a74ad5cb919dca66a65ef4db0c73224ca087490eb1859cd269deb67c2453afdef711145fdc4ebc27368d76c9240481789bed2c24f3d4ab475b1aba304120a05f9b8fb7db6c520d06958995ac34079ed59d6f016b2648b6a5b2416db9d37c5fc57485c8c57f38d9c2e91ee630d9b7c77c1f4c64fa27084ce5e6c780ce720eba81d66c3ad606560bc62c6d1f3b8823c9904596eb8753b877b9c9d41b9ceb31f91771367825124e9a5efef09b1fa6334ef051a53fd319c8ba8da601472d572e5e23d93e935229407aff4246de36ba1424c431daaead26eb12d2091af566f2507c0be7e53bd6eeb5e419b760402c1436520681a3dace1a78bf61e0094ff3d03a0ce710635b683c2b8cd4d8de68dc6fa3b482ade2a2db74a0c4691254b0fab2dce3d2d847b2beb90f58d58047bd8f1de4a280c6c52af30fce4e7ea50a3221f9570a044b3ab531c658322874722485716abfaa1921494cd2775f17478c4a808609d9f88ee7d6caa84d74806764fa87c08bde7a3f79e4e843c5119ea85a5602461d88842c1919e60454c4dc4a6a23b2dbc65529ae82673bc772d02ede24c2162dbb983de6aa64591351611bb61aeae63c82f7b1fed40c0b4faedb417bf2234a1049ec0d33bbc0826655a6967116ec98237ec0a7455f9dd10c249b4cb3be1084bb595b330b418cfa5186f864c157190969039233846e91b2adc2b3054aaf8744b717350a3452ff8ba606809d77539b81ad0d7b695b2e02920dc64da46519b99327a35e1adcae931c07ec485b8381a93a65e4c79f172303695447ec4c66e758e6c6e676312712fe55075808aeea8f7b444b4c37df3178abbdde1b1860885fed83a529e609f855fc2e33817f877800898a693e1dbb3467e7274219088db547cbc6245be158ef5463e471ac4f5ff008c7d4d231080872a57095459f86289a8e1ca85e553d98a2f7d9ea5dfb793d7387c3937aa8617665a692795bb5390c7e2905525ccf4dc0447aa3ec8d8d962e183823bbc169c98e620b70300699ad3e90fd8a45baef4b3e22ebd61b79652e7ec2cfd0e787a5c5774385ae0f5792b42fa1aa0f23b3d6eda494ec868ede28bee30fab616c9429e7dbd5595de0b82a49ec40cbe14581effad5b8a31f35788a0d3c33c800ee71337a3db0d7bf3d4aa65d72b5d584405c1abdbc8c0b4955a3972ebb7b8f277d83b1d3919c361c8dc91eb2ad62413e00ca256552eb46d3b1f09a02d3c1d65dd8bcd79716cdebe7aa87cfbf3c0fcdd980e628eb068a58c3fac2d82705ccaa5f759ddda21bcdf5a7df77424bb868faf7069f0bdd305ac80f94d06c34aad7bc38d1d1c46f2c294a34981f176b4f3ef5d1b5de5e3857ac0035afac178e6dd26b5c7dcbe4911ce00dd3bac8418dd80d6f93ad1ce2ae4e26772b2ddf05d84655bd37d46b270b577792f2450d80d6caee07a0ab4fd7cb9d59a026f4cc8d6503513724f8c15693bd6a627239d52861d20234a003eebf3bd395b66517a7a5499b7ad9e7e40b1bed4b77667f2dfbb7881594f14ca27825b65d72a262587554a63699e4d0b25233228948244d8df5c9873040a3342ee508f5fcd17d6a23d7ebb8e6fa70b01ebc2fb1be1065817919a362d54c1cc1890676d0a576d5f612257f44a4ae198ede2da25adae0f6b14e443e45a9d85a1a460cf4ef4d87ef74e8dff95542e8836abd102a194215e580a1b862c5fde3ee2ef16ee5c5691bb6ce58335c1ee905a6146769d40fa2877740069f5f46e7e5e1fc85d5636ec42b129dbe363f70edad1439950c08e49663644e9906064e9d5990db40363b1a7f8c2c8b84f8adb50c3207e392be94252cb38bd646978c604041766379e3c0cd5b4635bdfd238829745580c7fc1248a5ca8f9458ce7870980826c38a780ad029c2ae4fd8914b51f23b59ec630bf9872a3c04746eec3bf4a27a1e46ec03a8719da9133a4b27b11c84fa61ae1ffd8ae411f053a82328d97fdaa1561c808c3a3ebe8cacfb50d6957b3b679d5491c1b91484c6fc64b35cab0820316752034046ac5bed9e0fbb43861321bdbf08ca956a40c9734c9a790533d60360394b4e7eec2f721c22aabdbec01dc7ba0dfeb062ec2f223a530be835f8b8766e85979c40b0f35935f9837e38bd8534557fec65b17c9612f8f1177fcfd0d22ec15a40c0755f4dab597a7dc747c8f40bff4c6e626d2f8e3aeb638214e1c6d98f90161fad380af040331266be8b5b7e84a69fd666b55c9b1c6fefc9ee52ce26d19eb6e35a102384bf7b0e611c0c1087557ea7741c9730f0f4662e9ad0796b1130916ca0ebc14adcf1f33ea5fbce61ef8cf5f41a276735f7d3b6dbd4431d5415a1b1285463da68d31a4cd068eb0ecda2700fd4a6a6656e6c71b0c55cf0c339f50da4f0d15dd2e3a4bc270ff874b9b968c8740b10070cb348644a662b1ccf3356f263a35a1b62b66402f000dabb408748bc1244e907cd78f14e92dfd9b466219160fd7b94f29289aa77b682c2e87061312b5b0d218624dc2c653da06332316f20d09c41d627862cf0080f3dfaf500c4d764bedef18f31b54eb7279bbf2c5313db15369bd085384c66e444e64483601615dd9b0350d40a5af6fb19e1cef5bdc52838db2132ca081a599ee65a8ac5c9f2866edf86c3a7cd0f15b0a5635001d9414c51e4e3c841e6b6141a61f83161bfbd36de2c97d08473babdb9e8f4c495a5465ddbd0c3d1de7c6c895db98d257e5e94e5c8d89eb9714fc9d793a3c17890a6160fa6314efc93e644f7c08bd216e6fd5a4f26b4a4e088e08885850988d397912e198c8f0ba6187fcc22643aa0fa07085c3382090c937ad160e7c2c984293589737ba428ef6251d4efcfdebd15157b509e05a4b51f7f36583b6c07a722b86889762cef156179a8cea1e7f6186a466e0dd19a4261fdfb715e3caf1b3a686adbec1f4d917216cded061437be19a054ae8880172093aec8d51b8ee07bd18958174dc48570e5edfb50350ab687464eb70456840c555a0a15918e0cef8f421c4b20ae2f49840d6ae1ab77ba664f19a3bc387a211a6e29f41db7ab60a7b6197a92d8250a6ae6fbee9ed6dfd548504b0ae44d2c7d51c1bd7c9a3e1f07217a8c64f3fc58e44048483ae89d895591f1401f838dde990ea308359e7b64f8db28440c2105860031bfbbd534536ddc1043497e1cedcfe4767db719248492a5a6e3ee70da379ca5852c53171e79660bbd2bf9018723a0e0414720e190c1d1203fd4ca42210cb7ff50cc0f406f1fb4b93fd305d872bd51950acd4b654d060efa9c1664b1fe49f51526f0004145dab04c0c375423fc172e40f5892c80063012b432fc9bd06db5eb406bfc2f0711ac7e88e6f6047cea743c1b9f204fa1f93458fec75381b940068dbbd6b7aa39c5e0817dfbb60a4251ed98fdfc788297cd20640083e05ded4a4ab2281b9a4c013fe00af75d516dd37796e56957a0cfb13da8fedfc2575971083d2abea3d4cb10912f51423ffc24e7689d7e492ea4beaab773307c127d43d4b7ad1562251ccdd18ec2fb7a139a1a21c148f4fca32139acef2e86aff676dc0890fa9ccf05c76db857ede2ce4190feecd5837cfc050f63b750f56c7f7b4585e32f7f623a8076ed77fb9efcab5d72b91184197378f684d3925fc671e802752d69cbf92c228cb34d5e8fc364b0a16ca88e97a57ae71ae587bc164c805a89c3f8067bebefff653a50da69fb965bc06c02378b45d94934e0909845f68d4183c4f49400b7ef83cd50bc4ea5dd667db327cfc0ea298a3cd1af08d9f648187641994143f92f15ef93375303de8c1e49bf28af0454cd8e48adb8ca40f2b8df2c9913c970e3d9f52872de62fc3ecf1ba3a8997cc2cb9619389eadc36c0e5819aa433b2affd189248a8888afefb6295787ef3f71d7b089b8868e5a82aea0cf0f387850c25a83728ee731248fa9ce070be3537f7803a10bd0394520544ff24273740e4f37da1f8f8549845ccb53ea8dbc9cb41c24c14170f2b205ae4c004d6eb5124b986a697730cd4c491c9da1a31100bc448ac153c7433c406e8f19e39c7c2a42392b0d89308160013e8dedad72a537eb0b5b447e6df141c5b76e6e3ab3e42682ddc48af6f08be680979f2311bd4215f6e83c6c2a2aab671ffbb66884246ddf6d49a4c00744f0db1f420ead0ddf9b40eec5f7e688a3fbf91cd6435a9d10d78a5029dc6195854615e697349ac0d28768e277a543941dc26e0506a993e719cbb508beec070d0c0685c984dca0944db5224c5c8602ef1ffb98cd9c5c4ff1bd85c36bba240a0f09a071ebfb848030fd98e574889c445c217218bab9520088e565029237eb8cfef601c102e453870fc1d6ab78ad655e63fecb4603dce324100b20c485c08e0d175f12d69bf5edc9a9e04d08809e7ecb455fef0566ec2834bbdb0278756bcd5d78f14a1a471a6027e281d0416ffec393c6caa31dad37020ee4d2dcc7d7f7f302d8bdf60ed00b067f47f949484a1318b30c915c8fdc7bc6f9fe93a2a79d58b1900d8d0c6044373a877a04a8b456788fdbb0c4cc968270dbd6e4c6194346812f7eae1cc19f19161abfc51137d2b9ba4149ca40e43803ae9b85c5ec9dff63668fc526b041a9418419ae1d6d6713371aa28ea61c7a68912b8be771769b4d6cd0daa48950b45dc5001d05cfa85d59392a40bf6efe003f8840a688ecdb28dd951551de4e82e2d05afccd9b73e354b3e4dc829a457650c04acfe21a22207b07ff5563db17d239c2291402c9eae7d76417157e0875540f300f8de94029e9021140077f37d2086377b61a4c188a1ca8a1e4cd81bb4f25a7cf2804bc79985750e91f03f79be0c2090b974b23343e6c84bcd73503fc8010204084a600c1af188336633e8c61730437d32fd181ca6f8db16e773c57dbd32bc8f3bb6e1797628324cc648f2960958e27228acc6b8cf9733c4d28a3d4844271b9ff13c0c23a6ed1beafc4fefd08878c5c9b0ddaa756b1023af3c3af778d3c26f4b7b2921000ba3f3d39fae579aa9939d68d57e47414ff4917766a8170f77cd8efc525cab8acc064f81c5ed2c7317178585d79dac088e31cd5a6e2060c894812400d0eaaeb6553968bd50460017314bb21c0922f455dcb8a8ef02f374d0095c26a386bfd6365cdd2d3f910c9605f416c529cc126883d9505c56df545f12da4c3a155fa6fc54cf4fbb15f1af5605246212bc120876a78989fae2d7be467dcc085ed021aef0a4af5267e21783fabc9cac441332986f76ac838240daf52235682ad19af10c58e0bd31a22a6df1ac7da26a3c6cc16ee653a6b583c43bd23f8773e5e75b666a7310c75d371a7e3ca94b2105aade18fe57240e51f2bf300adde4696383553a50a827b7eb5fcff03becc4200a02cda7dfefdb6608ea11acabd93cd603ac2fd944b8c1f64f8a0a3025697ba46664742edafafc2fdd485ace6bc81d70e48fe1cd01f95d13b1a3bb475abffb9752cf6b5824c46c829d0ade0117780dec4588e8f78c4a4b532f34a838fb26eeb7fee0037d200e9a6d450f7656a5095982878336a2d05b5b8da0d3613b09bc3f32be1ee544c4a5946461013761b807303875e42c43209e0a314261302731e9a3d3a8bb284cc11a7a016a89555a2a6335cbd393de4eaf908fb2bd8dd8a3d6c085161f1ca23b9fc181b8b182b93d34904c00a30f6e44165f7b247a69330a30c59504a1766874c674dec3383d652733559cb3e2b1a144c6141bb7c0638b2ae99b9b7de3ae48acd1d9ac4e433a15d4dc16796ed4c0420f337612c02d2d33c4ec2da7ad74332e9b1763e447e02aea7f87848ebe3ff6f028d478158b563257198f7cf0bdf0b442e00baad9fc6b4acbc76e48429e74b7326acfdf2865715047f7009e676cddf40650950536cd4c10bbdc5ff106b9625902e48fcf1c3ad2ad51acd1289f5dce746d428be5fdfb5c111b0a70bc84de5ad61b26510bfd879eb8f3b929ee2ae79692096801babf93920fde0f838f5c3689caed8f7f68d6ac7f38619493e0e3cd0f0f16c1f9d1fb41c9b0fb880e885b28c751c1ee4a891db30f115e5461a56fbe51f6a56c0f2bffac5220b407eb8ba0fafb6d70938447e03526fff3ba43e2a933c009446003c4ff0d153668a7bdfa8d26b71c0839505cced4c1c4b16459d4374a01dd55e0250ad4fd065a5198794dee3e48966e87581e8c764dde34ba0209a93c458fbc7fb08d5ecc86102d282b072c7a463668cb5369f9a9ace5f4322700d51e0f912d1719910b157568fc7bc09a26d4e9261e691c9f1122d154ab8dfcb219132709d3169a21b687482b94da30659ac75e67d06a6d43341385cbc63e484ad035a614ecf245303d9c5215562837ba75c75efa5534e8a080e0bd022ba63408e41316e94693670481d33c250c66237279676ed29ed59bb6edc30d1056474e4ba2aa8b85035a47dee0693ee51f7ebfe0e51b74168e7c47697c59f9dbe8968be0acfba1f6c88b15d14e4fbd2c46a8935663d5fd4192d305a605f736ca2362c0023f23459174d13f45164fe4c2ff6e4c0d15e1f022e6e6e5b312a6aff4d0f43739c904fa9b91569e5bd1c6361b893001def0daee9f6ba57e40fbe610c04a33a482b9229721f74fd592799aadd2af1535c13a875289b5c2c59d3508d9750a366da1d945c5af65a73987fd74b5a9c20dbb59ec606f3119eb2bfce3f3fd51addc1ea64d558e047dda89731a4341c701a75b0d610834db0ddbb34a84ccdc6008b29d59a1b5ded5a44721bd3c3f6424383cf436f4c13e972a1c6bc35787c5812f85b93598d7a809a70bccc0a862379ddfd64caa861195a3de8cd340a915fd61e0e7238bc813e4b39676323e9de0aee16d67e64dc9661539d1ff023ad22a35457a17006b25eda40e218b2abf7bb204e17164e8c8adebb31f7c05b3721b2e42bd3841af07886e17a6ff2da446570a86382d31bc985fa70423a9707f79420da59ce0f80ced12cac8669d298e04a71ee70ccba22fac0e01c7ef2e61ce1acd5ad1ec6a7b590d68483d5137b99a992de28033437955d2280931a38472b863be92020da44054afc2d0ac854ae8fe3e4baa74aae7106bb0cfd5ac1bfe16e29baef69bce875559f12b2a11c33541a369e9f65fdfc768f367ccecd9b276d9101327f83116798b6e03527cafa0d76d38888666e93d9cf9883e86617e474cf4becfef239d39709e5566bf9ad1c8ccaada6a32991160666d4ad140c577cddf4f95f00b2bbfd89223c545aeeda6e953edbcc58a8df58b3562811d4a98bb1d56f641cd627100ad40ed56f8883aeca08623ffd86c877e24bb198684f810cf19c491a7be837b24e28454bfc5c7298c6d06f4c4fcd263d195a04d3b811c766ed52a88a73cf5a8083262ab9d89276266b3209b118c491ff31e1866e353d49932a8f867dfd5dd0c3c17e2d7ecf4e07b2801a4c2ab35ec8459ef485403acda3180b6dcf1d12bcc381714135d162f736049627d99db9100e16b82244f9be8a2b7f726f09922855b0075add3b23b0618b94f677a6bb5a5668544039a3054c2e77905428939e265ae7887ba427a9ccef47d20c49f47230c277e7d637f0c4ad00b019f7b56a2f88557f7f76f5222308ba097458c1034c85e7813f9d43d3801360d2188bcd01c70b7d062befe7e06a1308bfc5417defbe50c0ab7ec3ed0fe1e23ca7c07bdeba00f9ec1996f428732c4630aede7d1e46e7c3cd05b52a32f72bea737868a6cff103a13e07d37832585f0baab878bad4f78783d40510a1d4916453a3a21f91ef501a94cabb5851860934651c820efe331a2962436268ada2122c09f2781defd90ada8a209990cad5011b97dc8e5a4e24c5c610b629a51fbbf909670194b947daf61bb430c326c84661d102eb4c9c4a219d0b061ee4b4bd5db14ebfce4581435c23c8b93fcb37709b261d1ffb4c205e94c77e4bd8885acc2709e6deb416f3b18376fc172ed641a700168852c44abb01a29a06202b3b054cd3282ec9865c18ba42b640e0391d301e116863be1ba13e23f1afd0be7dfeeb3595b5b988cb057efc0d10c602ce99851f855f00b8d941cdc2fe3c9ab8166bdd24505f25062275d45b3d0631c25e500ca3f569c788d3d5b6249b19624e4e769c307a39a10cf99dd7c025d90011137ebb6fc67790f0ddac972598d40a5b2e5d133c2748ad02037568aa3b44be60df685d6749349338b16fde32f795a3c79c9058a342c2f857c92b8674369bfa7d0ce897a18b6dc0f1d797e81ca4098907d13d985eeb8792088024ecc7fa7dd9b8fcd92930c5ac4e427fb0fab38025064a040a10ec76b77229f45aa0938d42a3cdb037237489a171a742bfbedc947323f8dd267acea3ebb8617018063b2cafd840aa03d7caf11cdddc7d1fee6b8a85df1ed5a91f22eccf2634348f2d259030d5c384b2f386a403bda5ae1110a577637ba833fd54de4bb40f4f8a7f34397e2237255a9661d9e1d3826c7d18a8d664bab100acf5ecde8220c6567a783febeca4c3e86574577b42c42b115bbd69a8b66e9a6db79d0a54c1cf2403eacfb9252179a869a5d887e99e1d7ff86ccb2767154b2312fcfba9bd05644005c7303868705f2a666f30925cd6a67f3716a5acc73edd6141dbbd0170d3c590b46666188bdba24a6d81fd583dcf509e67d60cff316dd3ec008b1cc8705c767cf6b9806b3801e9143580b245fb81079cc1632b3b9aa1789512d7911b51b8cc464d92d3a104847d4b4bf472a192e1236a7f64c3f76293220f73a82578d16c7d79ef13fc3dcba82bf22c485bb58ad9a827fef43ed90b5da9d4085b946774846e706469e8b7d3a958ec29e4ba9b020d437672f94a06e83545cff4aed47631a1f51a16d72c49e67aeaf9a4d1347ee123bf88df181ed269bbd5681ae7e1c46d686fdb3338f6951d828606be6580c3e6c4c88eed564b1a23047d5d8145e177d29e6ae2bc2fa97707147d0f8ae8d47f6d25878fedac96bb4bc165f7ceb90cc40937b381703dbc8ab0e60be25692c802aff9f3d6b25678164d4c2e375ff37d6a7af3212497ddc1705aed9eadf96e795403c74db15a6feb4e1e706bbf6addfe898c4da6d4b9d28e53775535a0b1691fd8c38e5c2aa2c9e9ed4a879b4d2cf1c60b865759bbda6245405f25d83e25aaa0d29737ce578ecd37a6e2058608320ae58289d4dcb7439d3957443c56b8f322e263d85b61e07df13ab43436d04df2997c924117799c29b38624c5fbe6d984a7f60def093491cd3ad20b98e6079ed8364427f2fe037f854dd599c8feb215562547bf29f1d2624abd0c42afd8a7e1cfc10b6dc2a2042250a4d67263d6c81449363c64f2a2752a53a19b41109e63a789ccc0d3c60b9b5478be4b636547c584a07aaf6baf2621abb3e8d00967d391018b65ef952710c452d45ba0840256a1d61efc3cda8bd09d8ea4097dd366497d9aead46593213b3b4d6fa9145811dd6bd34a6b42a5f74b75ad84f60eb82d623f12a89279219347ab479770bc25c95119a3a88078fa7a2ae2d12cd770857faed5b4e6d860d3d93069335cc0c5633db3059e56d4c0c65ef7f6ea647b67960f798cf8e3a57d5ca020202181092f03dbbde9bb504ac10eb5cad74139f211b5a44aeb4bf143ed49ba56c75232fa62a6e58abe1c590a3f21d2715fdfe8708f985f4172640abf1fcb032fc2e7066055b192520149490f5079ba71192d5a1a30d764758158ffab9dc75a5659c5b3f64a840f7f2e1191e4155e0b6f5d53132f8eb440dca3cfc16a3ea755f2ad1ac4ce904cc1755e97ac87823143d789f9f301dc543c97004a4949aa3c3645db0d194ae0120f6bcecb14bfec354d9d0535d3113ed9f02b0d1ef02522b432dbf059bfd7cd97e557e010f672bdc40362f5f580b348bc71cedd4f2812dd0a2a494ec7308167621a2886ab36c117416e4328b04593c52dd28e786538c8dfcc376f967af3daec3028aef1659686c1039e9227ae75e6a19417550298029250ee01570762ca748775e6af4688c97f2e345e3d078b09a68f08fb0ec45c6a123db2b72dfd1bb92becd42cf2ba2cf71cafef45c51e4a917587256ea0475645e3cb31f0de22bc9945d5b99e5962837c68b2855447f1c7edfc37c00d621e6bd1243f59658935f824e3a21c8c600b5017f805bc8be45aafcffc301ea4943b8f8dd20d77a590157b5631553f8ccc94ae6415af6829c602babb8fe910f3da8bfd58d77c0fabae1a5f3e7daf75e8abc84b82ef9bb622fc1564d2729e46d920d5d0014c5622b25c666983945a5cbc3c4f951529fb5796a1d0175ab6eac02335a56f4dd0f5204d1f430dd8efd115f572d0edef3b4fa7803e8e20e645c47953dd350ef488564ae3527e78a5578b7854c0e7050545a09e25d0c10313ce8908a3f4bc051452dcce58c572b6f64105b63d87d46b394a1ce095c5824262515ee7037372f3e35c679b45d88389bac28ca5ed54e49c3cc21b00edb34c56adc62c545f2adb6f19249c39a016ad89a2c5c1d1674e7c851fbeb5f1d6a199933c2e0dd8932615745a514e8d7a33afe91aa4ea66f599863debe5f81635e5dfc07110b1644046e5040a11a87dc93c6e378325f2990efd43bf11fe2e309b9659701981e8c9f55c9fa106f604acc4bc17da8a08bde18bd553cac51087c1658fb632ec547fd469d74c5701cf60000e1280447f94a143b21b64936cfb301a2af589c77ad496c1b050e6856ba89b99814ec44458e5fec93b581b133738f31bbb2d1d5bd78fba3e050d9e3205db34d9a44acc1abd2687d9be9b8fe3265b50dee2ccb18961cc64197ac77e0cccc76101291e0a57c6286c085d33248698fe46e8da8757ac8732e807e8352a5b6bca58b26bba4299824fc2e80faebb6fd69d12f53751cb5c9a254034babe9782a0f9b7ad555d834c10a355c2f710fbb04f5a554e257517b5d77356b1344b861fe313734c520ad3f73993ba1d77fc5bb9ca79e98ae1f7a8c7eced3c66e4ff1c01fb5ce31df14170ee23948538185046335d10c2a960ee6493c6d6cb53ebb7878478e9f038bdaec4faeb2b575bcb9ef7473f97b139cf074027ca532e0208d40b4e17c6518b2d2aa687839b0f483db6f0aaee002990b2fc2a6d44cb6679fb79c8bc593a411f67f944d4497fc59dd242c6b42af45ab7bf72f61993d9b0ddf93ec5d19423ca25c4c6b58e7f3998037e58872e8a536da84ea8a394dbeb093aa2ba748d933b8d4e4cba21dafeddec02b71cb6843129d85f37811bc246a417c3018a5fdfc6e7473285cbaf31c46c0f1f986df34e206b11082c2c4b6b1e40b70ed67790bd625e946f86bd70b741e4beef57146283b8f98b8c7627a6201ad1db68bef54c33618d015a019e0971a45525f02caea08f6c38d0d43810e915721c62b080308744c4e2e0e5761a13c36b418d38a79077c8ca001bb3c2a068e32b7200a9aba6da1d84a868f6da719e461a0a8a3ee87a000dd048f6b2af20f773917d92f5225cf6f6d283dbfbd1c2fe95b4bf8ad59f2b5505f7729d47d9acc9a84c189105cf09b196e914233c28c35e4297e4d358556f6ccc639e7f460c74ab3e612aea098ac5230fee4b592d8041719ec2f099eafd643e8cafab9846aca51cf5fe4a446821185360e1e9ddf8e2429eeb503fba3805240f01c583308ab5cf1206a07a265f4c55a4152190cdf769c93b5fa8d058c3ada4c27c0f1b51c124fc1414ed6775cacf9262b9b02157d8a55fa55c642b3dda5905681cc3ab5930c0c4467ca44e4f6765864834512a3f87e39c0515be18af49a49dc4ccc77e45990509651d670ed5384416f67d78118cab69f8873bb82b6a92ef06aefa191917f075b79de8669a04ba4a7e9be96ecd85c01ce17e1fe48cc42cd18078be8341aadb96cc8d821f78723502bbadb031a3de3f0a6823b2168486d8cc481ddaa9b87a95c6db78fe4c13e4b17c137d6c73f7476ff8030cd94fdb59fa9df5005be2ad6faff6b09c86b088739a7c8174e40750fa4512a19b31961cd908fb18dcdc4eab1f78851822c4ce8854cf4938f1975b8daec7b0940f94e8dcec720faaef2fd21fc34c07480fd3f2ae2c64ddc53f058cc5e21e5a0bbf3423aa19fe1100b314c119b63a883a06a39df15d989b17a305955ce9943f766dcd417487d4ce26ee3f1d75750bbe11c1598da0df1fdeccf5844b47f5e575938cda7b9eba2ed6562576fd3bd959b30f0ef636bd8327e5f54702e06d710d7d36794cebc49f091d964aa3f8ecc5847828323e8955eb43c2a53fc6d91354f1326587d434cee3fbd4df3b51d33357308d7434e9db82d04a749748e19720b7785c62a29a980372d05a0427ef6c3fbc46859c86be256cae03aaa170b3c7556f4e40c494d93104f4b69b5179e5c4f668e46c96cea18c355ac6396d20e7d7ffd564658789522afe80e16fc0820f3023fca8bbf8b030012bcf28fb98c4ae4da92c78b16637488c5405b2914137cc99003adb0036d0dd453e6b8dd868607313486a01aa1247f1f4dfa8b9c64c8b275fc469630e40f961b9298d7dfd70e644296b26099a1b7a8431a8ec1aa394759b10092a89b976214aa520fde4cc2e20150c4f00e1ff239142c2111fd1eb62456c91996714fdcb8762562ca0033398e7099ced6d3416b15469ff7645bfc7d3f77eef97cf6deb304317baf22cc704b60cd1d3e16658bcdfe85a5c0b485597e02de3dbf2322fff13286cc6825dfaee0b44b2d36e415f98263dce2dcce50ef0ab9640a5ce681eeee37b2ec6e7cf32e5bdaa2ae81469460919b6663bac5c8f4963977d52c46ed3e2016b6b09b9c4374c5bb9eff955ad69d184082cbda736daedb79adafbbb5aa71aff1b0ff3f489148f393519baebd3b1a66f0553e4161e100926982f1f45e6d11a6eba466de936b46fd8c28860937c5bda535658151d2d5c0863b5e8b7a11d2084f70c01b890113ef30cefa306ac5c665dcf396d60c4f888f589599fd6a5d4921f612742bfdad715c05253eddc85bf620ee349cdff4e15905b68448836416f0ea2941463da0fffe30a7aac198869aeae74212f3ddfbba2518f5a7e095ec6a0b30ccbcebb181f54cd045d549f74ad81d2db2c79d18313d2cb5548ac24d3b3cfb93f63544956275391e6b36236e0207b04e7807d5f196f5606f9b68a53ae145ad92d489d2295c0dd4a69f7f952a1e20728783c8687e7447d0d097d141996e70aaf7e80763d83b1e9c5bccc744dc29fd31d1637d5c447d62cc76778b20b655831cacda200e2e9d06d294c690968099c4c7e999003c3f7892e40eae082d72168546cac0c73bc1c8cdeb2b9e2c4575cd7fedd1faefc388765668d2b16cfac2bf37f1d9500059035d62bdbdc31179951cd17e50e5bda9a17d58e133deaa21b560277ec668cd5390acd1b7a66fdda4bba40cac46585ab3a9d0d2e09b7c13877f37a73a11e25b8d1cb52fe7d8fc966d535e318c95528c1e86ec286a3814edf812e5acbb457f274794a42a133bc36a433c0a69423051f241ac28661126f48b1389f0696f51ca24c24ead6bb39bee7dd7acc6b6e9192c7217c5365431e81f805a604435979ad002de5ead99b6eb9eefd93a9ba2a971e1da222139d83998ce18ceaf932d3c6336d4ec8e7d37a7530dc4fa7f8c0debb910f3e906895cf4d2f597c0323b64988406ee626db4018154a10a75e801d6bceffbcd569df3c28a03919ff5fb6e2ddfe09d66b84bea80477a1cd4a6ee8372bebf4767a7d12814698861911c4ebd5e17f0a6c70d683f6b7bd230ac0cda258647cfacb3cd9c4979b748c6b3324987d1780de2ec913c7b96056a1b152eef5819c87e57a2dbc96f31344f9ef99e212621636fc09f543b268ba4a7f2c7d3a4c6b26c9e21cb2f5a7e074abfadf08b2ca66ab86583c05f35b8c5a6e5dab6a85eac1a6efcd125af5de24155ac78366eb2c9e01e4aef3a17f2b74460b01d185874299a1e7cc4d6d8794d7d1317b7a2a13ba1259a8f9f56ea6794cd15d78b22efedc289c5d83a41b36199a3affd1e16b4cc2aa0a3a8dda4c74ea8fec989cb2a9b5058f89d5351eb51ecac0da75bf8930619595de4bcd317754cc63756540a498e8644612461a8c2066b7482a2c1195201d2bcfb2cb930e8d3090612f7c0be204864141ae5c7f5d686f9070f5d59d94bf9f678952ec05b2a5432374141392a4d29107f47e24a6f09b295dc185d1b1426e331a9d813a7d48bd898e05f0a496a4e211823d2513965fa931c43a5d8d934d755b2c57c5abb55c4fdbed682343b87836b47e9eae09f8020ca9f0003c4b3fb4a0e2a2df551a44404019a84bb6139cf74a049af801a4ef84568ea0997bfba50e8cf4fdf071c86958b7e4b6f2c5a741c58448924c49bc5bba10774d2ef7aee6a7d33f9ae89166ec6d82083018db2b850491efa6ac61aa0175565bc12a3c57ce745637dad2a244d1edfeeaf4dc49d26cbd41dd857b02780d199bc2e6d12303a1a014d9b15102d706b1610106ce87e80259d05db21ba0d020bd1168b99adcbfe71ecb225ec373d899cbd56edd1b3e8079a2fc3920859d76151ad8164026861572247ec8827e6bc7aa79664f12e5fcf70c02a32bf9faaf404a887de4710ce457119d5b5380333849db78c59165b9445592300e03600dc702dd29c200c43faba995750d68cc01b14906f5e785afe33dfa948a2f458552c178606c47ed08b9e45a49c0e859a28bf93decfdfa55d03b09ba1774279a2a27b5e4287ebd348ff6d35b87bd8591cc2eaaf387d14772bf693262b8b37f89f609e0d9f17a69513b7d03b9343f5decb73282fea453daf6144a2f16ddea6531b00c3a32b2aff275558fc24d1bbb0a7a2ce60ce1d3d7fb38f60850e7ad06e4e5800ac0b3df6a66e5d3ffb58953e3f4d59a7ea1a055efee525c0bf18a76243320e60cd787e75f0219245c9f421ef0580c7c58d25e4617a43b21fe5b9931451b8ed2aa8b9f62a04df23b87b8a795a1e72b56780131e9264fe5cf3dce5c2321fb43cd5ebb58a3811890b912c95185a1fa8c04f4438957b092cd424d463da5c46bc5cdee2995673f03431c4cbc4a0e48b4c2cb608681ab47673f5e0f8600ea6155f933ff261d575d63651f87ae8a29acf6cfbc2aaf1be5ec3d46802ff9d8053bf0528bff888155a9b79e59a3fe1f3ebe2f5c6bc557887d95efe35d0b8c63036a484a725930181aa503cb0c10854a902f95492d55c964d2c8bb218bd456c43dd990a63a94ec2e0ea95ac8577147fde75767dd17e98ee791cfc0fef9b036092cc6df16f8ce4612aed5e2c4577b71e1a2c9f05914d2f6967bcbbda54c29a5c4062707d0067f0181b6a4807ed2ba327bfad468dc58da507ba6b2a6bd4d5bbb71d03d4606f85023e61d91f6ac9747d0b94d6fac366c311284c8f6b01eab826aff6dca6459ef1fe4665494477bd64c9bb8b366bc238aa45a1e0ffe8054cd47d5b44b6bcd35ed61d3782e63bda6fddc34274112c9086fdae48cb467bd67d5d460dd3733e37d775fc9234205fd4a25988f21626d951a9444aa6ad2e2de6ab0b021a4a1bd18b525144aa7f1a47ca71112b3a834fed57da519b64784c1c6c4134c48f4c5d476872d9c0407a761215606be092a843f5b94b414413f1ef2c1199292967e484a4a3d87397e1c56867f892e20506835313706062531a5c2ff3a5d737777df18a799f12671c669e48c5fdd32eca00fc87d319021ec7c6c5950ef9748053168fff7ee531b75254726a14a2a2fa9fb3131c6fd92d730ce2afe6093991c5aeff717ffadda478c07f463549bd84a4ace2bb053410a0a9f670b9615cfd97dcca4194a6e53210614761f17b11546714cd45e7c2b9c9052bf5e2b9cf8a9f1db4abce21d17ed34cdde441c8018872832ce47f79919cffb671c47ed781185a146c9968d922990525fa81b84441055a7bd18ad376243dd27ad8036afdcddddddfd3f0fd5318c72148a51f219b5401235533f46792e23fff3a09c160efb230817d39e9cddf78c72192f64f446e130aac66f549ba495366572ebd5a8ac518dc2699395b3d3262bbe58bf15b37098a73d16badca7c6177363f871d81f5cb9f3f1d9503fec8dd850e1fc8d03c1f62d52b67073fe644efeb67520d89e39d96ddf077cc37ec3b08ec707c1586757a63c87c2ffa4d4a22cd5145f695eb509fbf8add3a6eca34b8a79b48e399bee9d284629d3018490e1946204866118267d2014232475297d8caa7e3f238798bb346efd4c0d84bf6c590f698cdd17ffeaac08635c0e09f4a1bbc1e0e5208b65dbf96dda831aae06795b2cb429948113d1954e9b00a3bc62ae2b5ab1273e69092ac3d2908161fd85f0da7581827f927f297419f896c38ffef023b43ad896d5c9e68a8cc8c0c5c58247301a50f8ab55082fcbba2c7e2ec2dc3541e88e7221f84281bbbb2371ee1558d0b2a215a18f1752055cc952b66cf67135b9be87484a599da8327715a01a8c0b857288c06977a6bbbbbbbbbbbbc7484969a9f4ef7933335e8d37e345d0af546124842998dbdc5dbbbbbbbbbbdb8a3066bbdd1e2e5cd7975aec18af78b50f58a557202de39dd69bdcee16de1e5c3de7d1a6cf87ee099bd7bde8ddc1d8f0c701da036a2e2b4e1ed8a60ea399dbc491baac4cff7afd5f4c5d4f5bb95e3f7370bd66666666088500f24be8ba66a081879c1bdcddbda64d1f05c29b0ffd6a68b687ff0605fd5688a6d24003774040650344e2050603e00f335ed7655d16f501a4651c0350d080052d2b5a11bae602b332fc3006725baadf910a9b08929678196bf978a839f000e5041b5a9083cbbd75258115b10bc32426af18b82b43bd89866c695d3f240cd75bb68358b161130cc8bd91969497bcfc866f22b72bc3b2dd8780d18abe0ba798fd1be3961599999999999963f8775bd8af2a31fa099401fc4f68fff2b39409383f699a1f8bee8b654dc002fcacc328e0cf8012269599addecf4154993b82f9a73d9664d0ee803c8cc901ae560688c829a520d713e9ee1721d6f37387a4eab06f7dab6229bd95486cea9d1c2307ee0ecf9c4b7b6fd34dae6b3df69eb9fdf9e57fa522fc96f7df5b5c93eb5d9ae6faabd2d276b10cbadfdc0399bf52a9bb617ad799ebddce07a803dddd1f7ac79b0c2db747638982faca55edc927d0fdcf554380113216748425392d5e603dc8965cef1886cd4043a756b5462b6ddaf47d0c95062e87630c351707d705ff9af8ed823f903659dd036953e4b179e7790ebb129502dd890e7db0403cc39f81be249fb724463be1f1e8ab2f39c3a42609230981ae28cc2a127e51dbe10edc814a80681c6849b7f415dc8143d0ef5a5d2b238710c71f76d25312678c998f716608193a6cb89e6b5a2cc9a2de200909e6c62ce417160a941d54977e830fd665283864007b7f2246da24dfbf575521a683f5d74f0cc320103e462cc1200739655912a52879921a0a2ac24a75675494fa3191121dd48faf705010abfa71bfd0dc2dd8e7c8baafa4ca80112bb537fe91a32ee32fc9a09055d708ac18631c66bf9a1d5a2f66657cccc4b032acad5cef33526397430f153214823f7f8c5bd7fac7cbe3cff055048cc2b527144aa9cdbf56f393da3e4256157a12eb04c8a0b09363f41053fec67c33bc03bb709ff5fcdc95ac2f927d13cceab687f5596fcd3a9b76691aec635ac699fed5c922ca3fe349ec111c071833e3a3666666c64773ef599145cbcccc8c6118863d675986619ffdc4b22cc398dddd3de6b8549cf678f8388dcb8dffdaf4725f0a83fe576abee2a40636b4e9abb961dd39069b1a206dfabaff49eeb17e60285051501a5630124b5491a2b46ed0124d44b04411cd03bad50d5a4267e605934638e332db34903d6ff9a2bbbb3b426b0a7777b7a243b88c054606c5602771873af8aa3def827e97ea52b509cbb56a137f472199b98876fd7efbbbeb2101394037fe3bc3d3604337c372fcfe4dae3933f992651884104208218410931cc3561a5a06328410c21afe1a206d823cda83de77a5f6e04b20dadf5f41712e12482989c8d66b8f63da1b22c632c251fb630d243e4045bc0015c515264c6ebe0742fdbc58259a80c23066d4ce7ea0c41615562823b07a4218445c51f282326e786893e28a00f44021847353a3b690a4a2049b082103274af88800cad00296c07129c1c8c8c5144125587ddd202296b800064a80e0851532caf8410d254c340b46e0e00948d4a00c2910f1152e4ae0ec0b1910dd533484222f9ce073c41365f8e092456845a852b77e251594c5a2c58b2528134a50f2c3164788610453a95f0966b360072c69c1942c96c8220a29f44052e9a6c20058506392465e2b60a648f1f344ce4f0f14b6e041fdbceaa3d6200a55d00a4bb58c28449080470918fc4008dec18c4107e856d94b50ae71836d5bc003ddca54053338483b583021c615294811cae492184701fd4a1f87b8260736c892822e664083295807f5f3aa8f1a6f08e975759f452a51abfbe2d6dd81c431438797e448494b154af83134cd76c35f169818360ecfffbf5b0356a845e29158f97935f9f25d6777dfed7e776ea1c3405365b2bbbbbbbbbbbbccfbbbbb5c4ce66cb6071020e8fec7c3f276bd88efb47104e342a13bd4a1d66f5dc975da38a241d088c4dc7d61ff83153ec3e52c6ee1858e43b81689ef1de416366e8f8d6fc57719b64a53ff07b99391bba8b7bfb2a4b96284f2822ef3fef067fb4798f662273be85c17617e41bbbbbb9940bbbb7b05b4bbbb3b0aeffb3534a1d0e55e0233d1c9986e2132a2e5c857a35632b70fdc53bb2f9e8cc893c8a6d04fd6015c73b71c398ca0cd2329fd1991c66f9cb5246aa5ecad2c8b31c618e70d0d87e67ff95f3624d73b8ce3afec258eb770fc8d1c998d8ff1af17fcd40542dd201700d539430003687b0016743c0164646abc8eb78aa27cebe700b6212cb9ad02d884641fa594bc3fac97f19ab34c83f92c005b0362fc59a36d5bd615e3000410a300628c311100314600c418e3c7f85f4c7c2c5e31c66c85ad86f8d9efd84eb1eb243eb4e6299528b5acdf6159aa6afd671155ebb58fc26ac75683ffa5b2b0b469a5a3c6c7f5d3f135de2a6ad327ad549b8abc65fd7cd986b00d1b5f736c42e45f97e420904b6afd76633b75cd8c6835fb6fa64aed61ded21ec7feb8f1d6c328f6c705f31af731d71b5b03aec781e32f0dc7dbf48d972ebabccb5f5cebd468bdd3a67feb797ff00d145012f4b94104fd604f75f9f9e3c68d12cce7908cc3ba6cbc7443c7ebd0b2dd7981929ae3afef4d488ebfba1df814bb4fc75fffbf9b0c3ade86cb773328d462fcde84c4c7f15a0e5c5f5eaacbc71d3b4a597643eb56781a5b0d38fe46b703d752f7c57ff9195b0d393ef31576742f43747cf65957e4caa1a32bf2f247b8e278e969134cf76538ba2259cbb609c9e60b1aef8f538e8fbfcfbdfcdc4d86d8bdb065c1589f03a95add8d376d35941ec7bbb0d590bdd5edc0305ceb0479e95e86e428a2e5e88ae0e8fa08d792f5d876e229dc3801fd5a07426993d65937baef7a15decaba22d7b60db1f1f1b54dc8d5f54e9bda79a77c15b86dcf06e7d2bdc897ddc701a85147a5ffd9a831b5d518638cdf122d295fd6e0b6d2e028f74912f7594a54eb5ba44dfbe87492945f5627a5724b2ab4945819f85354f85af7959ea8d06aa2c2bf3a383b29f067833eedc1e64959df3c10722a769f840f81c0581dc56ca85794d2b2ac974666aab5960e96e9c1e1fa673fcda5e6a0b6f75ecbf4c78d3c9a46fbfe5cba4ed2b3eb7eabffea9ed47eaf7fda2709fac12138d4405fbbaf6e9c0a89ae8e4d4cfe8df99a57ccbbdddd0b638cab2b2a4bebd6a6fb27922a7faa60857e9b8a2a70415ba881da34a54df083442b66ddfeb4d73e53852da29c7263776f12407233a10a5a60ffb54fbcdea6d96783deb19323e8c7a98b73f1f84ad378ee9eea1cccb5ee632c9ea4b4f49e37b32927ccddfdf32325a5a5d27fcaaf3228bf0dd5c84cedca29fe864666f809770c063bb1c25365878ace141c294dc4bd6666c6f3febd2184707f50ec2184966659df4c5d18b55de6f8ca9336f9f0cffc9df1893ef4fa6fa61681fffcc4e5a7083fc63ffcf3e422a25bd9a7ba90eeb09fbb3540723dc2b54891185bbacfb6133f9671fca43dff9f23cc5815347effd657f8493b29eab1c25365878a7be3d4d44faa3d8f5a5010ab97f54e394bef507363bedddde53a179b826e5012a91bdab4d7b7e9faeb7d34cdc6f098f201a9d7feb57bfd755dd7f76f8feb31185c440ec5089ef8bf3f82f8efe79052c72ff7c83af165b073039ee8b33de21148d08f57bce215af7815f7499b3ecf499bd8ad4e8757176775bcda1e31f4e70be96974333a17d208e47af3773e1fd938d83c689c6f4260cd660f553eacb2833406171a039d3fc32d2a53a8aa05e7cf6e24558bdb106b8867c1a99f0f3fd438853a7da85ad78ec4a730856ae3363d442d72fd56c915b9ba9721d1eaa0735c2323c9b88970668610bac0a7ceff3a7fc2ede1f650ca2d48f6720b627dcbc7872cd9c413d3b04d48d788a3c22050b2d5652edb679ed332fd8ed35efb0e8fefb4493e8ff795659b0c5fe7de641d0f773c3c7fbef6d7352757ebb9cea959560c72fd267fdbb616b9c96ddbb69f7293db455424d3dbcb964de3facae45ae5323b4a5a78b69dfd4132410b69dbb6b76952cbf6c4c76568582454dcf5d15e633b63833fa1c6c4e644141089b9fb368dc3d7971adfbf6bc93063c65b5b9019cf48acc95b280c2d3cb40c89d4ed3e030d36b42933459bf6e2c7d05e9c6102db6afbb48b34de6b703a70d5213277245618677cd0c81968e07d4aa965413a7f91cc9f41e8db34ec868f2581d28f1e8ec85dd4b8c50c3e428d3f27d778ae8934d6fe99e66a667c7435bba46d2971dce3d3de159b511eb7208ddaba4f523abbafe41dd49ccc109f9770cf8d5aa3e325edc5df4dc88dca4c26afb7304f7b9909287d1ba7c16db0632bed45145605bd5137c88955a5ff01a9d447a5bfcda3524a29a54f1f6e412829d6d4cccc78deecbeffc6a8a0dfae3eca43901345353ee7b850b7870d1d75eb0680c6babe41683981a2b28ed6b469617c0a83fc8f478dd10a8fcbc82f5d25148fdb80ca9eec452707c36477f3b7bb17ddd0a5923353e9e6d265c5ee920b5f1d9f30738278f83f16da6c0f20eded6b40f0f0da5bc81cd3de9a628c5da96d1cc1b850e72dd5e508859413c4dfc4b79e5d70815906949f21d7dd8645baeb6ad34dc418a3af337fed97dc3d83b931b108ec3771b03df83a1c91b59f779095ff08ebc0ffb24e54b19c1455eb6366ac876993aa5a37166f32d8807e3fc36ffdc7c8ec8ff9d6f7d81fd85b9ef4a15a13e3b8b6d09696dabf429dbce377eca8fd0aa8b33f9bfa92fdd622d84bd60d81a1cad701094ec5ba172130540943ed4762833af7e5e5eab6c2ca7581545386adcdcce32360e6ee20274eda87303726ebe6ddddedf8b36fc8dbbbbdbdcb919937c2ef1833cee178714eb6c2389c4ac465fc2dee08ab568565d53852ec54df95b5383b5783745f6a30a03ada3b0f6de2617b9fbb2b3ba73df7b4c6a99865591673777737f6ebc20ce59c3f279c70c20961c3978df324c38c1ccb14f4db1411233b738c1a404ca03f36013a7f13ffdb80e8ccdcc4ff48d8c2107f996b627de474e48dd591acb48c77241409d5a675c292502494cbb8cac5f0253818eb823f7b4a4302fd662ae52995a615d14b057382f89b9c20e8cd45222275b106f0b73852111601fe912365b12ef8f7769a953b126a7bf8cf14fb7745a1fac3a921817e17911319414255f754af8689413f292577c3872cbb65bd06505d00f8e048ba652ab50426e617bdab3181f97d4a171e58593d70f7ddddf514d8b8bbfbee1352c3ef86bb5b03cf16e1f12348eeeeee4cf80429255ca1c0952556bbebbfeb1ce07130bca7b998abda5d0d0c1dd5452486bbabaaab2a77e7aa30f82272920d55fe216b51d58598bd050dfb77a7f27f7de9ece854e8d950534169e45c70046143351f2dc333345038b30bd43898a4b9a9f85d237715b50c5f17a047706ad39470a52ea2ed34eb45b43df85d0574ffbbbcbbb7e7d00f7363bea9aa3da1403f5ff90a47f5031228d1247223e8e72b58e1548db1055db18039e18548cd545d2d68fd348795a49aee7b59117aa748f1e76e55abd64b6c7731c95d024ec22dc85feee3ba5d026e41bee5fd3c5cef5cefec85c48a1009c60e0532ac90568c215332858921c190298c093225ad20630c4c0c8c09dd7363b7d57b407283848b0f3908e13317a13bfc98ef9f397340e0fedd10f64ce519cded036737c22e0d8df5d63b97a3236fe26357103537f0baae17d9d9007feb0df4264ad93589361eb92a320da19467d23e0d4908f4c3d986907ed7f7bbd700dcee751d0bab549b16069438f0bb54385309ca0ec4aebbefee6e336bb1bcdb64eea0b514e55f86bbda5f7677775f274c29bb6df8247519d2e0ec426bf985c32232ba4381bd5983c9cbca6a9c86c80c2e52288647e5610bca3248f9bc0591315ecb5c0eeb44d4c1d1e1246d8abf847b7af0cdc994493023d4851209d28118d08f75be8542edefad580760da2b9562d6933f83d3b04ecb3844a7b56e7616a8515a49dad389f96faf79b0d8b6a0cfcbccd6c718f73f20f172eee96e99fec65222e2828b33126fa05a7b7fdc33d987a190827e9b3ad2a68fa1a8fd5b198afd615946daebaff1f6da0894e510f3fa177c200590dc5473b76f4f95ba9b0d6d0f95bad9f670c10410bbed2c332af4862760817dd6519281dddd50c9629145142c1810524ce0424b30100b2a94d0d425888a20506183fad18f3498bb0d21c6e37144a3d05985a5a0580f5a0c4a82a2b57092055ddd20095ba133ca00021ac308ea059501b50175cf6bc08228495857600c2194220508d413ae044549021841517ed04e0445c1013b098a02452b098ac282284b783ca224015bea06451922288a4e0d55edbfac5c4417ea326aaf654aaadce1f2601a2c93bfb5a14ba9df345a69ce59d5e29ac0295507087524866110c06eb24eaa306cce39af9273966516e7d5e29ae87cce13dcb991a6699aaf98d98da4af208e6a7ba4a64aee8f75a3b96ddb96695ad643b5ed9221b05a5a562d3a2b9c95b6b1bbaf5c6785b3eaee9612f280803302792c9c2370a4cb6ba85fe2ec8fcd542555cab74da7652d6fc1c15a70eab5bb32a7bad1aabd6ed1b2254aaa1ed84d55490b22c9a35e4f2261bbd7af0c5a6d92bdc411aafd43285a89705453e5323d55388e70526a62b9baa96a69f1540b964ba65653f6c414d08f94aafda4152945ba425291b0a8aacb9efdb111d21aaa8e0388410e7c80aa9b032a5768d4cd01152d8460ea06ad20091215ba412cb85237680550eab739a9fd35ea06b100557976640f1755ea277ba67041a5d2f094a12b4c86ea0631119a44b3a8f65fa1a47edd293ed0a99394f344fc20fe66fb8df9369fda7fc3a2a0a437ac95165ae87cd0161ad1e6426d8609c487ec914eda857e1a470c6ddb4218e79cedc4dbc7425956384b68b76d2d2ab53fab4ab584da6b9d98982c3b00000051d7a9384ee8ff68688515b2e0ecd801a443c70a0626f5f27284ca914308070e2355a974a473e306910a2af8d8b001e4e2b2aa51030a0d1a43336618a1287d9b3e1de1ec8fad75b720a4b7e993516a7f6c6df9ad9b13d44702c99e25928974227faa8422576e92ea527a2825953aed35f314baa864445951369455c9ac6443599515d06f0e6d4a9a06fa38ca6789ce4e69d3a9bde1486d45445355cdca8e92140681b69e367d5348880a509bbecc674a5665eec89e69658797d44ff6cc25ed7529eb69afbf6ecc4c5d0d2eecb22539708659c1502d28c050d8d00b302a750a260405507b18144ccab6c567cec86adb82ce2122d51c6a53770a358b664a1275b248c3c9a9fd53d5134b0b106e2d6c1c5c0e6edb368da66a626142bfcc8a327c6ae6d3a66f42f96913d06504a54ddf8c94366d50133db57b3e6b0e01e117b0f8ec8f9e9b1d6a9393fdb150843225b5339eda139b52b3254d036ffa9b4319930ff3a9d80f26a5a8f625f4cd26766a8fba414c88aa56a506c0a47dbf645280ef973e6deaf1fd420290f9af44ebe4f1db02f86d9acc47aa9c666fda09cac2dbd0defe009eb7202c7437b4b7bf2da0ded5cfc2d75c422c74407a702e3e4e535a997d1edd2709f0eb325f008e720528400162f772c2ea7eddce09c07d5486f3a9fd1ef72dd0003801709fac52fb03d0237fa01c91a72c396de254dd1ac39db2e4e864d1c992a44dfc45dd0a00ee942549969dde4e5976acb4899350b776dce9c80a916fa723a22b6d6224d4ad1c773abaa282dbe94835a54d5c54b73e773a9a2214b7d391109536f111ead615b8d31195a3216b3b1d0d19b5898d50b7eee04e47465970aeed9405474a9bd88bba5507773a920224b7d3111096363151dd0ac39d8eb0ac8e56456de22eead617ee745494cab6d351eaa84a9b988bba3507773aaa72849adbe90835a54d5c84ba150777329a22a46d272321a32b6d622b756b893b195d31526ddbc9487594d326dea26ebdc19d8e728e745ab6d3918e9536b11675ab0adcc9c80a11693b19113d69136751b7dae04e464f7ce87632f291d22646d5ad2edcc9480ad08ced640484a54d4c84bab5067732c2b2a2b19d8c563f6de221d4ad34b893d10f941adbc9080a9536b110ead619dcc988ca90cb76321aaad226ae52b752ee6454c50865633b19a18cdac458d4ad24ee64647484a3c2763ac2d91e5b4f46456de220d4ad2ddcc9a8a8bdad27a354bdb19d8c52db636b100f0dfa2f1d974ebd14859cd4fe4d7b9b8670ce39e7c30e32813dedf5279dd41ed0d87d5dc545fed0af7b2214a7813b2d7b7a683b16239853fbafb40c47d9e3844995da566a17d57e2a9fecf99c473ad178b2939ed97d524aed8ffea465fa7b608fd368553421ad4ad3604c5a46c86992f01c9a43b567d53d55f8f54e5c89c4607fc64926edc99f2a9f58b23bd871d7c91e1a49d06f0e0d5569d3e6c3f9c048269c0011d325f6c2153843ded4a1f0e506ef61afd8b9f10ec9cdd4a1b0e10d6429a5a5eceb41d883c7e8df11708c1877614acd2e94b2a599fc37a65d93d28b9a15637829177acfdc60f6f6faf6eefa8edfb14301b0a5a56585eeae91a7507771e2166479ddfdc57f6b11eec5bb2130f4762f421e86badd14ea841b214b3260bc2496b16bed65279073c216b8b9122bd4abcb6185b99d68cd81555f7360a27a7184b37fb8aceb27e43ecf22b5ede4f5f3c71edb86c46bb7065cb3fbfcfdb397db90d834a8195744fe568c2b22bb9721f0635705d4abcb4101f562d80e5b38d07507cb3f6262cc19b6c67b8dce07ede6091aef5b10d25f9a8cd405e63f8f44256f8fc9b3935236c0abeca01cd275762e3f77830092247c7e688211563c21842e6e6abce45cba4fab5246ca305f7eb571c905a02da8340e17353565880682004000c314000020100a06444291502c1e9535c53e14800d83944676569b89c324c6511c8410328400020000048080c00ccdcc38085b6b100d66d6a55bf4f50d7545905402cfa3c4074d17bd4c3908c2e18494d589e92266b1b05228a0dbd1277bf130d45a050bb4876641aa5916e7738491bf7e012226215b870a0f433b6a83e3f68c72a1a29f9c78c62870777e280e70c697e5399640625cd0b929962f8f92038f9520f7ef27576bb45875d2fa45edd5765715e5fd8c84576f4e1c8a7dbc47930f8525de1354db49059c3d48bc8fc0a1677bf5ace3ed9721abeb83006251505e08ffbe4aac0150979755e99804a4a55f224de87f7d34355e1f1a793f0a5f6743a608b64a70fe22d8fe4f47d665eb40e03a16d4391d2b38674f6eb5e8473eb26a2457be9c79dc682d22d35144005f24d7943a0eebeebdebfe7d031d8aff27651b0d19adb3ef36ab476611ea12b3d53c4808f6f88f4f5855de6c077f2e4cc59d99bff1da45e14e83797cbe87073f227783596ebdd52b030c9a196748503969c474b1b29996e5e5a69c39a88751f91299cb1351c42421aa3c6cb51406e6e160dea6969eb5e7daf95ce59983bf746ef230b6062aa9ceaa5f9f181150a013f79828161c592e623c50621dbba97bf31a5badd9b6057eb486a0b238467f2bd3055c25278ea878b0ea9c943a12a62d47cbf2ad997e486e0d1657d5932151c885a5a527bbaec12886a15cc13fcc49f903d8f4ca3b96ee3ea3a8ee46f40c329e5a9f66e8d08f70071e16bca6b3689ce768d05b73c8a13dd6578d205a241e7dd492eec164bf2f46b4796f15033f40b3fa10894d9ad350e9a245490c672b9aa5ee99add1fe95cfb3dfb8b474a15c8bbeceaa6ecb3c68af4e232cfef41f72818269bccd724e40e8ae9e8e72aab90b35cdafdc601c62bb0ca18223f29a9e90fdd98e23f45b533287bd1ad5a5a6130c17ca2b55189f6f6082308844910a062620433fd81af04b468669146c4950a6551c3bd4c243c860f36c2997a201c648b90ca2f9ba568a30b01f01b1ba50bc2b1e949d108fcaaabdfef4dff343231d372085ec4b7e922d9e22d6d4c11b27df178d2b780c617c231cb26f56264258312f4273aafd147ec6063205c655c97459223344f8d08814de36ded943ee76a6d485e7b629ea3d517fea653ca310799a13c2dd3c107a28781bc96dbf5daa100dba44b1e3bb576cb1fc17aa4f64bcc59fd498a2deab03cf79a5205d02ca29a00fc6c46182cb8d17e30cc22ee1f072e2704b5b46655e415bcde2cb854d22d275ed83b7325b371d69c4d1763e19db61952e4852c3935aa948c3128ee4db66fa41e75fc2f28b65924d871eb8370130e2dd6ab5330c8b59f003044ce08a338901c9ee73cce5666f05ab0e70897b90a37c590e5d917d5b71431d12848acd6aaf412eb0e9f2ae2df09b727007b9b84eed2c0903f0554f33489e3261e21ef46e44650f446ee4ff5f1cb8bc4bc67400bd7aec213f57a2554a7ff18b7bf03cf4f1b4d6d750104f16f827f7e31778b4c0af89dcfff160e03605cfd58c60de4dbcfabff24aa5a45d9676ee950710ef601294c35b5eb013c5fe0674f34ede8d0202366f8bb3fa200c53db3a02f9211c5e76f8901ab6dfc0111195a3d0b744b87edc04da24a53490cfcafabc37e930c61f7d5df69da661e48a42787de333788ab7f5859f2fddcf80dd3031c21f889d9299b9951a2b3cb4ace87614c87712875b612808ecbc11e711b0ff74f858fcc78cebd825ab33064db87bd00bed4356d16473bdbcaef735da8e6c8cc50ea8a9db5b40da27d1ef54807e85a82dbba01c1c1f3b7cb4435131f4fcf567762de23b497b7e83c624bace48c0e0ac7b22702d466360fc220c244a4465599f19c3ecf42e84645a15c4277d461c2b04feced1587d16fc23e781125824a7010a7449fd4d41344789480eebe395789de3d42e012dc2b963027a94b76922f6a7f4f14d5c09f7719db88ee11eef09933d89ff818233bf030fc51b00071bc576400e4e8ae9800ecf14eb001cfc14d7011c5c2ade36a01b5745cf0f3e8d55b7f3e005a1c7bfd585a9143ce8bec6bf2e8a61d7b806e85b4c7963d688f25584988743eb19b73d38b9a26d62105216132fe6e401929a29dfe93ac38bbbcbaeba791e5679b408fc3c48f2a18a6c73cc121b8a53c5094433e3c50cb6485eec15d2ae667fbbec78a8d515e9bea9165587ea1815637da520f71624b914698075a5940f5a36d863a5b9ca04c08a758ea709ea6ae9c4fcad331affa25200cd4ec951e9a620e72a2903e4885888228b249fef5f291100826c433357042a99a2cd9f7a9a28b4a72169ef479c30f9a8a5381574d7b60cdb99facf0b294e4914eb4b7d754866947bb3ccdd24a4ad4a2124855cebbd1f44230a32c342fff74ec7668d887e5340462a8cb514763791e4ed28ee5ba8fed94b0ad21658edce151d18b5196a8c8b59a8c9ebcdee9f3713e444f50865acc53c934624772971d50f25076036cd23f710ac1063517253452d4a1af39d33044fa544c1d6c8f10b0ae53f6c9f69dd93e767119cc33b9c73a7df71f7a21149c47c7d6c46a37fc37c872a5a04a7954932c653811d45e5bdd6670f9b045a4bc362c1a5e47f499c88608fb3eea68c51e641f9004b573f17ffb186c310d86997006838e2cdb2901413623529a1e99957ee57d765bd5245625aac262bcb601dfe39b6590ce82403395d8aa860884a0bb1bb3157970dbac4b4cffc9c81b348125f066a5b5e6fcbdafd9b51c3d9f3ab40f53e0506037f820519b8c09e23a99519ccc8eea2146bc05dedb9a0cb52ebe97725a28bd71a939d79eba4d91f74c6b4df3e2464b1afa88ce2fb0ebb5ce47eaa2b021cb9c4eaf9432df64bce48ba12b7dcca118e1d2b731427a692369d0c33acfdb574f604e8782fbe78b705ef149dbf6175f7ac1796b4f2636420adc6d79a3c3560816cb4a5f8615b1b7d4c9d589ab92e90c8139f32f38d9c0f2c44f2e82b13fd4051a30d5d3b5c0cac3726bb296f699c633104d32bc003ee199f49b598babb67a2a8c5d0d5c881ba7a408580b41015cc3f92f851ab132241dccc149d85538d14dd45f597da3068f9d8ce6a1cf186d8631b9bee24dffb150faf8dccabe2206d51af12ce9fb386f59660eb3820d9df5969aac371c27864edcc9e878c91f6a5199ce84cc00963b819f61ce790ac962d501b9cb0915ce18abe17f0f7255374e09e150d5c4645034b379ad0d58636e83d2b1ab88c44da3b8bbb325510b8bb02dad73ac503bb3d10fbb205a87d6d5520b0594a0a8c859203675164e03a28086c562507661b1ad0ab31d318a9ee1f0cc9be3cc4186e3b7f8875490a67e41354917a118c421c00fa575bf615164bf87d901ea699368e29cce8cec52d9a2723e04822724a132dd2b990b2479ac7a25eb2011ba6e33bd8fb240c219454ef63974ba926890153fdc510209452071670eca492b9669de38ad92b02aec36418d84367d6b41ad9446352ad8c8e5ad6cba73d6719abc3baef91e6b811d79f534c6e3457427c077e5d4332fe26ab671893e2341c69cac5e7f3f185f216f016b7c8ced9ec15f3bb512cc169f6f9608c303ccfc737c8ef7c130e237676242744ce8732205f2ff5b5d8c3642a8270bb884eb4733f2a835e40a474b31bcdc71b108d495c4194b2b06bd620db9e9201b36deb9ec14d53d47255d9085c3512b337efd0907187ca18ca90c4e4987f49d276a21a6b056aca842608ad3c68be2084661001269465f9f8310ab1ff8b3319eeee49b55d31c61d9643ce363ff8d1f703d99f46876a9fceb7d48c2495a41d2873e3203872422082766fb0d43f65ae053c189400271f52f1d81d7d1a2aac680cf1e11af9ef8a89ee5698b8ef29d1dfe25fac52d4e2f3eb9c67866d3d58f1735868627d6660026eaad319da43133868529979a70ad1668ec0de87ad8b126975e4abd81580af71704e1cac0b374674a2b4fbff90c934cf76b05e81fc0593ec2151e6374e3446c45fa1bb20463599b5cd33519ce815f411768d6d5c815372c145d7da437fc462c844a1bf634c171d9cade6d42be49557c77019675be2a1010f091b26e27528c3b008464b885cd6055f7ba6d92c95fdb2f7d859c2a4db7ff0b8c8e53e633126804f613d160bc472f556d4767a2990f002ac53e61460c6db91ca50ab80bb9024b8e505c8fb8d309f84f1eb88a5c59b4238e4d9ef22338ba73e1a250598e8da4ac2dd4591971b815cc3484f1f8b19f925b133d85362083c2dd077f3f676797804d99c1bb3b32074f992d5f226846cf130bd455499ff288034d4e4e085a12b3bf362fdc2f3d56fca4c7b4aec8385708d163b7f76ab39d7368c0960601f84bf3eaf5ab895a31f511457b2a9495879216d804e6c05be662a3c692dcaa4172c2088f238344210ee66a24c79ea64c22b3c5d2e098e9eaba716cfc6d2cff8f2d38df8b47221467e8f969d32e833eab4489a363939a4f15cd25dfbcf35534fb143ac675fd09f467223612421cca46ce26361008161fb5eca5bf1b56b103fe12c435611b2bcdc2ff004cad3ece84667a2571e147f1bc0ab008d302ecd4af1fe7b3cfe0b5a3da5de4ca8dfebe1fc266647bdf07fb9cf9dafb526538ba73f547ce30311594178d65fb6c48ed667d3ee4b09d21677eeef7a00e8e2c13f8c8f8f72fa3a2f75fe0df930f8e3a1978921e6dc02477a059dbb2998a0138b48d9ee5d6c79466a0b8c4529f12b5072d9399c93a55c18fa070e2e8928850d5bda72b0703c34fe5282eb31a49cc98a6c36e7b71b321419d38b6a156dc050c856bf0cc034089f606defea5c08d439f731f9ae8071315b64d86c3a438e87c6fc70e087ae31ec377967ab6007bf56a52a04a715fac4a565e51e4b6b99257ab0dd6e7f939c07e864d75b3453f148f9037f497d4a1746b02146c7e49f4acb9a26191a3013806e77710a569a166f5365ec7ed88c5c596ed880c83d92d655175efc1521814fd420b387b2492addffe783c9925ba7d3aa542200da80d4bec012a5ae3eed8cc1ae3043fdee7606d4153b92fb48f05b2084207360c8aa24d2de8b36cbb052b92a817fb1d7a5d543fea52f69fbd2225535e0454144a8fa3b661d4072d8a9d6d868e68a7af71a88036a76437262a0422fd4cae4a195d396eb0ecab489197334839ab06a71600f0fa6003ec80188ec197d54ad448bdbfa04adda87f2dba28ade029a760a234c8df9ed43bd4f4b3b4c3d85ccc80be2d2ed67959066165734c505183e70f9c2fec5a456bff30d587deb93a5e236bf5aafaf6997842ce213e7e5df832798f5e82ee9b6317f931630fcdfb5e2d00c9c55229018da159e128ab6a64b76563710e8ee64056bce45ef2dfbcc2707e6baa94060c6a82c3b7e9723ee1b9aa41a9d1b9feb0726ab39a50a63df5771fb09f2914a20bdcd44f1f313dbd67d5437103af421bafe5fc6e094b04d84fb871a5239f27f05dbd83ad534f45710e367784ba32dc5867ec08a9881bd3a6a4ba920ac4d77c7ce70a0a142a4138f70610d5395e98f0c5c3cc7c1c02826ae0c3d01927164c055f3d1504c407a830a3678d75b816ce77658af45355a53363ad10872034fc8fabc863144c799383d107dea5cb66cfde8489d30da8d006d7474ad115a380b7da400c690710c3cc47b47f8c09a7f273480fe8a116e668e77aa8089e5f94e3e1ee8015244476da7cfd537b4fa50f98956a4652d6e49c3d054498b201df9faeb810005f30436b42404fd8e2914ef9c91fabfc9c0d0d46c9396afacb95fd050cdac64f24252ddd1b2131d8b601125843f87fa2a4912e203426d3b61848c21d3ef223c481262ddaf51b08a63a64a0947684ebf9fa1c5b2a0eaa020a1d7d166e9562334936e03969c1c21acebe7ab46882749fe54316082609b8169cce209f94cd7dc5dfd298e7f8329dd97914a98d15b75fa7b8c0bddb8c535436377996ea75353b644ea333faa480ae0362203c16b5e44c1238918396786c22a837fe3a5b3af5a63d7a6b1aa05edfcb6ccd614b3c4f22601ea3827381036380a5717adc886be01ed8a35c58be1c98b8734c473ce43235f42d014caebe3df56a81a0df5be08c881c02f276a948fdf08d653cfa801ceec9b89ee67f1c04532daaf5e95e05a7a510eb9013825f2a8045aa9eac88e84a762d6125dfbc8ceb6abb24acd516cb32278d513c37daca66eec5193e7c9598e8b86edd72f2b79fd09ce462e96a65db37198abc56a1b8a32d5c693476a8dd24d310772e5c7b423b71a29863f7902768ae834a5548e2ee7a45d00f5580b61ecc2a1018614d4600301a51e676022b90399123de13a43e35510aa16d8426b0298f6fb287842e59685aa96a3a9e007618ca35bceb067917190d5d634200807acc0c8710b36141d19a623686a29d51588171629a9cf5c14b3a64ac196e0b04cdba03415ada547827c46d70891bf68afb633e9b88252dcc3dafbdb6c8cc5cce4f1263b3cb2df7a3d0d60731ea9c62026a46b9bcc51d6f9fc6935234b993368edc129b4e0d579493bf13418305299187210b6092bf70d470d1f82ed60f0e1ff93f53e2d40adc56ab2d6ffda59195d3a32e67eb3dc75f295f04b838a145eb93b410d3acb91ed08d0845ee1cbf948a5f12acfe7d3a6e693db82aca40cac0eda7a6524596981f9784d4db3c9a4fc7cb9159c7a7de1c29ac38d4889d9c36e7b8dbe7e7ffa807a956293e82d06f40757ce90dc5c961aca85f4935450cfc434501f4ec0c9982bb0127d0089391274c8d55e03b4407b82bdf2bfd805af332f9136f6cadf1cf222d8be1004783d260671bae40c6e2800c5b1abd838ccf4b4945dddc5feaf698d372c4ae0366dc6e10e2f723332aa34f937b9a54a99a22e30ca175cf215e8d131054cb1687367f7582dbca4a115cf2ea7e9d0ae26a081700fb8edd55b31dd1f922519f13ac35904548b7653ba3368cfd4c6b728c43daf034b57ef1b93b6dff2b0acde7ba62cb12301489202c63f389c92c71ff68765b25a616ae25d18b2e387c8020717e81792346466c101b25610ea6d43972b228fe7103abb94d3711f7b8452a4fa8e498235d32bfb1b9904a1fc624721956f3051a87a24df1d1f05886225cb6e2bb9b8b31924dae462c1e249b5d41d9cb10495f94c4a953b0cec1d43a9c2610cd16c1276e499b1aba7f52a0d2f5d119b3713171a18d0ba37e4e983a801d74f8b3d2824f9362f2c7ee4a6ace6ae11defffd19cff46dd23e27df7de1ab9c12c474c37d580e2bbea68abc3f8e4713519ab02cb52ff29907c5fd91cff1749c4d9e67e1d29725651b2c838497003706fc1e8930b8119096a8f1d286396638c62a403f9eed3eb99f59d94e8966efeccfebf0f0a9c06947375139558048d53f638f79f1eb040e20680620ac1496d0bbf0ad4b79251f423de36afc68800ba60bb6843815202d112d513801f8606b0e0c4b15c0686d4c4b6d94132d59a29d9a36817f7f68e0ca0f379145b8223b5db224c4b3997d32a6154857316e8e3bc29b4118783d3dbd74bf8e23dc9006090e9faf5d6e6e23d359770311222cac0f03678a479bd7d23269862c3717cb51b9a98a76c1564105a7891b346a5ed04939797774c0e6003ba59f2a391ae7d509a6fcae6e65c0b538b22d722015361995a685d0501bcd0f1db566970174ae5c0a1d242851a8a91a5eb03f17af37e4a4bfdd199ab3426304aa7ed3003563aa69a705df7e7dc145e13d8718374c1631666c1f08564ec8a0afc024d1a97d746dec460283194f18ef022bdf3be3f6f980cf529bd529f9b9f431440c3c44a9d660176f1b2a18e49473bd62f57c3bf2952d770ee97247cb31a42182c4742beeee56fea87732cfba82b99be7e746addb5dc9c959066d0ab3ceb732dff107d6e46391108994e7d8362b4e04f81305d4b59017d95f9a8fb3917b652bef29e177d6c804655d2ede4b633ab491af044d226b65e911fcb1498e88b9446d35c3f51289635df53b2fe4805e7c14d6aa944386cac1d8119a4582561a95ee7c7274b7779e521992c0db1856bf8dfcd29ba4fc9588051b4a05b27156dffe68eae698570d989ef10b8d39f44162d36399a4a334c726dc168a607fe0514f2dbeb9c2e98e0b46e90d4957e94c8e1f755b86a79a809885d2655f9c8b1000971062528551b9fa29c0199100e132aa6a006f7f4403d73b344b2c54b563cb35ff8e9936c5c86d3387495c15612792a132ba4d4b9a88a5a6210b4b4ba2976aecc52218a5e017fec98db3d0a406c649009b3cc1cce809706170009f9be058342d9449c91ec4074699daa1564a4083ce3d5a8c7c7fb1473a3c617aad635ffc5ebb4867e9155144727ba70ea9d4b67071aa24e47364f3e978aff8096bd9ad628557c3bff304a5167188a91f53d4276cb8bdd47af82cf7e378f555dc5cddc02835a3adb6a61d7cce87973bde6b13e527dff61bea5e49ad234d56ac61e896921b84c6155b9675f5aed7c189dff859e3c5eb7513719479bde6c7144bf0ca13c80b042f02404bf20037d56fb094691221d33223a50f8a25bac6841d3ae61dbfd9b4d0c5b7fcc948e937e15a2d4ce2063c21c5ffa36c286e9c5a0ba4fc81cd1572dd768b8ed0409fb75b5182c69e7a7792570c939dbe2702dc62c415508019a9493392b7acf082c2296125ba11c81142bb22253ae6f620947b6478b071d18c9c20a52b925040e7ff7602008377473b917bd1286e5affb6cb8ee7677442f7ef9a6c6ed238cd15b6948619f74ed15792d0ccd9486061a358598f3448c92d18543799820295e1d0763a79820a220f5d66c168c059965cc0af1c5d218f131f5da134249a3ee7c9181ce548beecc948b51292e5a067da8f2e80e3595c672c483e6c606f93d2310dfe34259c8a26873b29dfa6659cb12a60a4ef65e9a79b70e2c308cb182ad4f82a4b0295b2899fa43e68d37c58a2fc0705ddb870e3449881fc38605ffc911958094964e49184c0707494f52c090517c78507e1d1d9e568868e71c41ccdaf8f565cea49feac0a5baba7432d7b6afb8d8b4feb7a8c771bf058526da0fb9b9e0f61d6973f50c950c38802ec194a76bc9485a1093c97aea590381c876da39fae0f0c87f0f4270d171bddd9cfc65cd21426a4b7039c98824f4b340ae912a09874978c68511892c6af8460d6621d3fd588d50c5c7ba7fdc40b8ae58559861fe0d44611e47a3c3318121be863e030aa20ec15cc663fb1cc18fde0d080811e29a7c56a30813dfdc1304275a5474d2fd3ba0e8901b1a0f0d438a2247060a886ca81d43989a716d27a8bba76312651beda5fdaba217c6522a9fa9e58ed4321fac01f743570802200ba44c854abaa32e0fd1787461aa0be2a357dc32065ac7624343f911b78565237e8d18576bef45c979f1bc18dc02b0d9087c271c99098a4b76e81f1bb9847c63f42c7d529fd0239c7583c7aabf970f38ec51035de94cde0a53c150035845920c00b2f9fe7b51e1e1df1e16cba7722d8a842146ee6be673accd5861eaf7b46c23e969c67a070ffc0caf40774ebcffbb957b6292625b97245076ebd71f16e798547ac42100ba51d93fbb6239ae44b4d20e1ebf748901bcaabbc3eba28e6718182855786c81125205c2573afffca3d7e64466838ee0d6010ec8ee1679bc61f513479c974284dfdb8ef107c8c7fa5438c8c3c9ba8bf42be3dee43312fe024d89a707c72ffeb56ba3867de075d2ddc65e2a46e5d7bcfe07fa69ab5ed76ba7dd043ac7d2e8e47dabbecc844d454236687360f7c675c547b8545665a6f40b39a2aa8434846e451b2d00816d4731605929c429bf32baa534dc9470a213d8f1250ad2ac332d6bd4009655649f91ab34d4db83b1026727ae5a665f656d4c570ab31baa3a33bc7842da7f8146748e1e3eb38e5cb01f8d82518350370f752df3706be167388b261156339e294bc1263857b19a7c70d589942f9bb043fc11423c6efd6da3ef350e32ef38a4b0e164c64ee41dfac0c271bed6d8571c4ab23b0f77b4499710a460cce4000b828f831af4092a2f5d6aec7be9c7629ebc7dc619098fc2fedde406a2e0501f438a8fab093179cc47dec71799cd5a384405fe63a79bc0385a4e72095d7c7db7462287b16d1ec51637a530d4c0af80588fb26ee9881a0c81ab23f158d03b6c2fd1edf3e8e366b1cc7ed225132652960faa55adab2496023c5e6b467daeeb857a6101088ba9579d40a7f58bb7913dc663cc4dd4f6120b4ad963ea933bbeaa09a86d8e1ce2f5edd993e9a0012d6fef9880942126df03a39db75d594202154c9b81d77f30b776a76c88596d3f701ff2a75e72b828002c00d6198cdd83498122d27b2e8f92144c536d7b88d6120ffbf7f172b25350c43d1d66fa581512580d0d1cf866d8054a0212da86094c5a3fa89322404ce3119162057f971486e01943e442977a2a3f9ecdf20547e2156923d2c562ed2356016280182bdf3b6e3d25e3dca7106f8858dacb49a2764c321701ac26046b79eef49bb1adaaba7e22aec0e772a9334d00b04b27493fed4d544b22e3e6c4e74c7fb61dff66a290f98d658a14416e34eb648f81d4412ec8ec3b785884ae9b9c8fca119f864070aab1edf10993a305af4f8856a1890dbc67eb935faaa1b2d8a8db2c2d8def2dc903bcee37f1add141e8f616539aac70b1e4a6ee85f046a19654226c9ecc9c8f444809aea9e948516696deb794256d61585acd1b306e559b1ea5f3a1ffb19a9f92036099c744a6a6e45e0c66b76ae950dd86ad0ad063aef90ec5001536005f5f495df92ce69c224a1cf0f892532b22bac87a014f2458c48017546fca42db2aa7bebe46a9cdb3dfc991cb202798251dec25831fb5dc7bb541524d641199732383a11f4bfff54d81919a7cc4b31fb46da7bf1890e3ab51f833c7c0be5427a063b23954834962ce16ee565b35d2352189656b97110bed67c6e02350f9ec0c52b9846f332be1690abca430ff4b77a97d1eb8bd5027b219abdb2748d3b14a91529d56bc8051df06d01a3c237b246b751c8205c2f8a9ac6543d4174e780831809bea1f8b7fdc2d323a532158d8e045e95565759eac48dbfd8dd5ea3a2b134bf9ba2bf3544061759ea2af56c63eca88ed2d75591e0310f33a344fa8409b9a4bebe680b3d021947073950e692eb485aca7db89e52d8f9e4e7b340ef8b6a82eef9e27545ee57a6c2e9dd44a0cea8e53d0a54f82da4c7c124c8a48c665d814319060f9200bd49af630b0c12d9593bff0b288abd8e3c59d71fbce580299c59751f20c631558af287516b625dc4be4acfdea6b9c83313cd830bc2212cfcc40fa0af7d9e602cad230bc21c76d62b20d838e7e1973f1a37643fecddd15b618ca3d21d370c5531dbd932dd158d7910d6153eff9540af4a90fed6a65fe2b73e441f3208f2cda8a7c5a9328066344d6c464bd162e6f5fc7e3b931945c1a0ea6285c18c4afb00a96030a38cfe502f8513b88b197523a079248a3220b23ba9a8b21820a45cd8f00f0a58c3d549b8d6a4bd3f966996069c21af154b115a6e97aa5ba6aa7689cc6df3422cda8c58b417fc8adde1fcf69bb78c6ab2c941c2902a4b52f945882909a297491b83f104affc22f33092eb2128513daff6586e5be6b42368f2d7d59d84966b315cec5247bfc7d070c5ae632844691c9dd8adff89e38a89c6b7aafc7ec408297d7d12a014453a2338832736b07b074a2e57178b4d934979f92c84c3118f70eb6364afb503b1808b82a546c7dc48f9f9a5125c7a725b527b814d4c796a6e2b99bf917d3cd50b97f421e212c52ced6e4c05e3d04e19eb3c1619c4700b81ef907e4c30a01e55c1955a9966fc5ea81e6582e901bdebb56fa484cc661caad19afa24ee234534969576749ac9858972e16efb587189cfe8cd36c0110c7727017e5e9f947b2f85edcec0c28fcbed3ee2b37aa00c7098ed721901e746fe44a3ab03a5d96646a14432ba1164525503b5d9c6d79b68279a94ada9f2c590a36d879e75c079a8d92281cc45c3dd76f5a95084187b0c3e04495c01ca4502b2dcbf99b9ea76fbf29981b9a02ca8bae93fff39e0e8b3b863f158c1dfedf23d1b863810262c82e3c2cb0a32184ade1323ba20595391bb0fcfea7458eb8e21d2db6e0864ac8fc52522aeecb2badd0b2f118ff303a169f0a91258165df8c6b25acdb12866b23b38e6ce157011ac60bb7499f1f3d283a847a8f51aa8e180b6c3fb42c269a47fec3c65bb3b0c44093e8348a8a538cacc4d634ceae0caf4414912e959936d8d2f7685b77c7ea87802057376ed126b262fb77cc0382eadcc524e2af8386cf65f3148b1f4a2d911003d1da50b75dc397d243e06bf934c940c023fbb61665c3da0fa58c4c9ac370bc25c5cdc5ca7a25af13b8a8580aecb819485406e9341840615880fb2cc8f03a92e4e659bf4881841837e104d5d2a6c19ec8cb2c9cab6988baea1fc4dcdb0f31900da558e6b7101eda39c62bd8eee3768b427e03ac6392161aaba801fd01728db38855b91f919b3a6a464c2c384f6bf958db82a735fdd32a1b4d4d35c68285d25d5aa8c22e22a78281305bdeae9e42a53c080f3edc9239b1f789416b52d208395dc20197bab2e044bb9c784d0755915678d31fc87cd1060a3eae50cde309e3d50ee27a0a856931ebc1bc831a6dfc63c9d2ce21ab6d53c164f00e16106c2c8e2511c23c2064fc08423d670bc18c4e84ed5413ad2c26941880bab539a021d56692a0734f3949ccda480c21e90e0f731e1e33bfa6a9d897dad008d6d60740b217f6888dc99faf229762409beb3cce99c16230989919452a15e927c73bd4b1dafb39b6ef147cdd2e5eae7ecdbb79f4365c11bdd3dc54da85de2b0a2afe3bb0405bd88d91d46d7a3f387bedc50b9c2170ba3da666065523f1383552a361c05175353170c1b350e1d8cf4b11230d8e26d0fbe3903e77bb6321015456b18228519031966a635a9e394e057c3147b778af5959aafacdcf7ebbd19b1eabdb884ebfdbf5969cca6ba9823279cac0bf08e0c0759d7bff63d51469090991819d97bd3249f79ac65d78fcb805e2aba574f469885c74c2b9f2092a5a7b1d26398402c44c653e90b2b92ef655a9a9d46a0a2ec6f739895989c96d797f9b85cf47d759cea7edc5b0a8b1be37f7fe1d5552fa65bd50f2608afcee5cac8b001082b9179042c9d452c8a632df75d8b81641db94c16f1e1d116a61f6338bbe392d19516cdd9944971c0a345ffc6f31493f345209c575725d9079b14937ac68079c806bba4568deab0b494c324fe7174d61436c9230cca4783b9c0478d56e0d0343c1917a6bf1df4640aea0e654e32976b22b3ab17ebace1c56abfbcdde178bee079b7f03e0fc27b5eadef8ee4c5bb8d15e731ee4e81f631de8425578f2c1436530a56896dda9803f777c5cd95f9d710fa01338ad634025328613ec4cf9ba3bc014a236f80db57aa78726f65a06ca4633ee8b73c2e244008905cb750ea8b37e29fc62d491396c46aecd359d3be2907e55d809226fbb01474bb80a627e303c6095a4254d0bc6a49c84d7855dc878fe38a514dd5fd9b9c429e738698df2c26f23cb621213aae3130324b20b3a32720b860f5e75468f5e4fabf618c3615185bb7842f08874b77b7c2af9b0f768e73928c840f6457c093342018b7bd41a38a8253db016e86de557cdb1681218bb576b8e8bb3a5dc59542629145b369c2c797e59138447f5d634b9a644321f80cbce62865af2516a17b9b48ee5037e4381d6455a999334d610444448bf8bce64e805dd6956d48cd13457f6bbb06dda859bc03fb485d15c7284cbd7505e8b26cbeb7a11a6303628ef9c23e4b7f45793044051586469c99389ffe8a444c6f10f38c35d45b69a867ea3e0e8aeb10d90ff33702a8a9985f9526c4f7382e97971a82e159954c9b76b9fc8b6672a8f753b1a2de1739978b267eb742ed3bd4ac3204e28cc3e8cf686e35db43c1c893daa7c8583cfa03be22440fbeada85896b02da1113d60625cced9e5795b8b53b00e7b8017e4e8aa9b4254a513bbb38f00a0b6de10051d55c0f34a598d2ca64736528841cc9e16d100ff9ce61b75dd29c2fc6c93925d05834931615bd42a24533ecde099afc4aa0cdd56cb1aa272bdf3ee2086977c950d03a200bf262f05c2a3d27621b028657b9a426226b3b25de9d8287ee43c0b43da00ecf60451d5d338539de797a873dd540cd899d87c5f3bb8e8fbc430a5e4c6f36fbb0db38cc006ba84d5791eb9b5201360a5e30c5422684c7399d9f46bf481b0b5a23c571e703b4c7ca2a602df4a558471e56f537f1fee1aa2d981b5b9dc75bbdf2037f4efb8fbea8a79dbb8ef44fbef25dfcf4aa5dca743446e16b2fb07fa46d1c05bdc86dc03bbc21d6ad4a433f71742acb01c8849e4e92e421cb3c9a4f508997bf839b3f69bb17cd4110169e564ef2cc9c6ec4bc8609328c152df51c45b64ccf847c4ba249ed2210dc128a9e45fad491ebf87af62227c09a85b8e9b9ebf4b8866f0c197f29d1bc8e48ae9a7469728f00eaa62d2058a70d0ff1f5ea6da21bea03923e996287237aa178965f463998a105592375fe00d42a9f84ec4113d400f063d31ce054a92f173a1437c2e6452a8b87fa48d0d4490021719c52741df38aadf4a580379ced2e2cf56fea861e0a33382e67f12c41992eb7542b25bdf0135f967728e980e34f340adb2cd6613b2c1671c89e1c13416a358f24a31f0fe0069950d33782651861a902c18ed07bfc3a032619d8750d4a2855c88fc5586a2f70c92d0a389c47193eee396607c1fcdeeab2222429f409737bd14904fc1ca23c580f2244a962158a0ee9e74215ae286ca3263fd9c8be1da47d7dd8c82d022375f9d1b214738ee0992d12ff963f3121210284ee4c5edc1c53d077843e91d8fbc8498dca973fa8112c7610d5eefe96ccf9d2c8903fe5fc364a56595834815656f3a24bfc0e2d44b924152611535303a6d7dbb9693e060f8071429cb437849f025c934af588e71b5f6eb4446b409e2316eb94fe093a301b024d1367905eacb47080bb02a5d87bd8fb1ab12bad9138859b5d5c5a0c0db931dcf99e0981f9304382cde31a5de036f0b6a292fd706a41b21a332c04685534cf0396be3d50b4af370c44612fe974d4e8f5f87d9e628ac12a165b9ed64706d7eb262bd93db3a8015222efd570a3ac46bd6c2830767c569ff3ad351d882ccbb4e4541d52b05a43f059135bdb7f0f98937e73494be345f2788bea4c874df366e0c6472646c85fd8adfc0706f6af8220a7007b98bea899f140a2ad0e3a288a111916f751b25ca9d1d1c934d88cbeb897d26afed71a45c9a8df43f14cdda0fdf7a931c5aacc30a37a9efba9adba2a9e578ff774502855baa27ba580ef271fc298225b9a5a341ba13b06dd43e47037f61c3e94c5de11c0ccd02d5bd8aed491204d7e9d0c3b8ab17a5f3ce45a889c54d5047bc8e8836ff76fc9a4e6493abd258aeb2a059a6428cb0fdea8e9b7a89227f7531f5189c36d00025d4b31c9517d3958b5bd6e44017427e90f87f19f89144464dd9f9ddf50155ed05b54317851e298cd5c0c819de6df453d6dc14fcc55dda9596542950efb09de68cefc64e1a5f8186b43cbd1cd45b406828c20c2fe13af8c2d037b51f5cc8ad62189fec03db09c09b5f73a2496934198d3a26a56916a3e0b665e5e83b78da3a84ef50f56bf8ec19691b5b07539be003372d3e699b342bb1fcffb2f6de103b7809cd1338c2b48de546e2fc82bee0cfd1e3c113a60e0029f6a54bbd97db39a899768cc7399fa6ec83c14e92014f55f118c701ca8f1176c77176bf78f505cbdc2a18522edf3667534ada403094e08637f797baf4ece8c534ccc8be30087bc43b4201f779918f98860e47b45c0c2a696732fee70b367ab5a03478574e65b2ddf8f4df92849e8178baa6d3a5b0c7a4c325ca0efbde196e2aa7f9038497d3632cc4843d59218c35dbfc2a3c08c051e6b84f50b2eada2d320373eec4e12546df518264d5b96d3b4805b7834a4e78174aa1ec3e2c97a6ec30276f385a103ef11862866a50908c4b1cb63845f5e7b49ed307058a6515d69627e8f2a95eec776771110798d9e54495c84c97dc14b69d10399c78bdfc530ae14956069eaa124345fe947a32868adec3e9a91011e0721a91c75a387e2784ed737142806c30f52405a5235599e1c40caee295702d23a354cdfad6485c1e7d1a55cb9a20b2cfb1a009a0eb463ce9b5008dd6dae4598b4227e120e095dd626f446b91c8c535adb1f8a6b1b0af0123bcdb500d3cd32c72a49911b839c07e6b13d03bd9e688b30daae65de1ae4730b772db5178f9551e4c7ded651955055deb5fc93a99cb467184f49e3d28a527311a9fab8a0953c5870b2d51594a9425dab1516f823dcc01e5a84a2513be9b8df3cdaea66690c857039319f595dde438c5236567d041673698e22cc7477b84a9da000cf0ca1ec206b6658043c045b06205a003d8c92aced8a14d4d1520e97ddcfae6ca20396a9ad670b0b246d26252e719bf5c15d12d2eab2a9c701b43775a2bb14c34a43ed561782bcfc7d4ed574e33dc450915d5cede73396c911df1a83f9d7c38da820f1bcb2a39c82df4dba5ed90a1105cec165b6e4b1070c0b9ae26f83e17d0d5abfffa0b47597e0104d1d3f597989113b2a93ffe54abb075e2ee65baa85e782b9c0ac07e49f86a0953caf114d07e85ca4a758159e660601c943e0cb4d5c279ed7ffebbf22e51521106715d0908640d42671f2fe88c8a08e1314b7a5dd985eea60be2059c1f89df11972e0c36ffe60b04ffa28909869405d5b93aa56da1e0e59b617afc078bf40f7ea9ac1e05126cae5b1c18cdc672bfd785c15ae926052e3950458bdc9e896eba7a402d52d09f3a786f64f1f6e20b01f3bcc5d80a4b2f2cc83b1feacde027052bf69d15ae845ec57306814449e69d184c38018cbc7a0776aa198fc6d862bf8094b7b53525f05c1ef6cd126c9031ec4209889cde6479d8c56b4de06f44c36766ed2b14d7c71a5cfeeaf13e04026de58c1964ab468bc1cbc9be5468c137abbe743c4a17a2c1d3921c685adae3d2e56296acf7fdab85c365f7cb08783ebd67f1ff55ad16a58d4fc0b95b6b66569ac3d1c9b53017e6415b43f2c48b62407b6b5e745298db5e9b14114564763d79d4c8d0240499df646cc2daeca40c14b502e39bfb4679ffdb8885d5ba765a8ea01b8a2456f3d9dd56548d5a582dac07067ade3a753771e20fab2dbf9ee06d6433985855ae416632a451b78e7a0dc3d75ee498d8f8972c674e8678ee001f34f18d771d74b4bfc0c910d8b95d20ddd21384293fb803f9ad1b5a2ce1f7dc049adc987bb7d23448e2eb390ad1476ae6af7375d4a49bcff366065f84e55f23b4ffc7c33130ea2081eb24288091094c3911a4df23716c9471e04a781a1aebbb5b5ccffab6d9cf8227004232dafa1e9bfca37b0505f6a08322b00fa1dfdae480aa8f307a9d1b37a3647d1fac38852df52f9ac12c1226eee9413c1d5301a10f352724420af1c8540bf2c47582b90711f53afc44c34d77776f45d022e15ec1627b914d5100eca7827eb77c4347ccffd5798fd77756986f9d90d3c3420abd41303de3f83b5642377b194b2df2d35005acc803ec24e0b71b6e9309993c2dea43957b5d4cee2cf320a9d59956ce8e742fc112259754a20174f7c1ae882be27ddbfc464b14cd860ee2917a1362820cea8b094944d117ae0ea248a797dc64374ae4a4a6946971d1c5aa3575221eec2f21fc08023800d6ece914fe592c5250b4233c1a0f46564729b3f4c13fc83e2df1f56be04b50db4e82ae68c558761eb60c1be3aff9f7af71047951a5f9c2898a75f748832ccc81524a84939a11ff78b4a0979ccd8ee3d289dbcc7b8cf673c22c3d7277377aaab8c0fa562f0a3191a83523376fca97f2bec146f9e33f571df141a909092095af895c5d358ee09d8ceb86a02e8c77407d3fdaf2d304c4b1536abfdc68aa4ef79048c100a4318cdc8e41bffa91aaac0230fd39180db1564e245b09353b523f08822520517747360eaeb2c8d87ff7e7b1ec35d74c438bf7132e2bed72ebbec99165f0ec9f1a708e8b0b3c1c4fb24593fa3120051e9a716f3d7d76e4cb0908a2e0ad47635bcc896e86763ae7e506588022a7023d654d6474a63833d0f53b80c8b01fdd8a8e3fe253c1e40af25a5731c7d616779022764241e05ae49e801cd291a8bc56d1812515b1bbbe54515c255ea463310253bda3ada6611eb4a92930f3818696ff27c6ee5cce2a355e2c43e607638dac371181f6ec94c972e8e05704cc84248990f2b965c6bd7796f11374ed58723f678d6b9d518988665eaeaa35d9ff2a32790c995d94465488c41b0d8c9c7116333b18dfa0ee43ccd142ad89b1132aadf08e98a2ff3710173dc613a96f02b8686e752d36336d920da18a323ed0df595bcf82efae1e7291cd7f91d9b963cd0272bbb723efc53bdd24a6d2e10b7c87316adb73384ab9e3e103c6195470356a9f2a34c280005ed54b629cbef6a0e992807fa26ef25b1edea9739d0ca131b7dbf2c82d70d608e527ad6e46e7cd0c6efd79975fa55abe9512a9dbbd09595023851a2d7490b3b97e35b476d3cb41cd97691fc5ad6675f7ef6a868be2eb8e99e26bbbd12100d05ce3b0a6ceee97cef9a6ed49254ca44c1dd8ab314844a6bcc6c910a979a23ea1969682bff850592b387760a0da04d8c3645957cda726787ade48666d16665679d973fde6e07d3c5db77c0930940021ccae77acee1e67abeee4129bf8ebcd1fcfcfc20722aeb7d5fb47a14871d39815ab32b1b52b6d1f2365c8103cd9aac314d422580c570d05fc03e61ac752367038664ca811cc3715deae05e1345265df699aab54f9a75949db5e6f79bfa43c06c9dc446f52940895a652961ed0407d929687e2956aea641c1841159c32e0a44e2344a002c91427c43ec0cb44ca4a2f5de7731c1b8b8a054cc1e9501ee25da254554f1f1ace22e60b8c941468fc17fa49fd7e626f1d255e5603896005fcef84c12ed2d9e688c41b068e99e40fffc5a66eda08f7798ed2082498df4ef16ee0b54a5a1d401022e755037fe929cb869ffa54fcbae024106258577f947644c642b0a81c2ae3ff5c7c323a5283ef86c7f186a297608635c616f88f68469c90e8825cf815982b764a76a8c14ff529943cd481d345625090f96f652bbe212f4c2800b0f40aa9500a5e9bf22ff458fc15e38d85b546cdf4689b9ab6eaaff4a358700912e98f1ebf2196c6282628d9055bda30ab717c47b5780f68508555ad4e8c10a47694c9c588cf6312535da6bc8c554ec0f55384ace416ebab33a93a8ba007ff4b5de08426c5d8cca25984f1b40036262a83ccde09f9e314992b7d00f26d8b55971e806035c83028240ff2315d8cc6592cdeff97f9c00b430646056a7efe6ae09aa43f9bf67e1ada31f274052636bbbf07910a77eea809ed99c2b5c07d298071f2ad8292cc2531c5ed1667f3496dac1b071176d653c2389dd78eff0498d234713ccef86282211b1f3d47709949614c2a922447b047d05a2805417d638b66c902b78700bf6c6a0a8c03843e51c4174a8c4f112453ed152810cc52cdebcd24149bfbb2c83e5dbded31ff558748d305198c978fefdb516e822c5725a92a379661882c05d361bbac400dd928bda650c4a4941379f4c79f1e30fe67e8984218d8a80058046882f8ec481eba9689406baf095ad4623a61d019b43e56caf31ea9391f11e4564d82f9684e0d7974630f5d6b3f2b77f89200d5cf0435d6296e38c0044bd84ba37f1a7e8eb98328c30a64804676c9bfd87d21cd9a1d5f6e8043d8334814f93d6410d221aa00b88b9b031ff387c4ff3c04bde045d6ca71208d87558f925a6c53f0a211bf74b3e35ba4788958c4ff783c79986798fc49c099e27d27a35e6a897c9c466583d37e6e6e93bf592ca6e302819b304d92ece0508bef0c620ac4897c8bf1172365996b10177fc1a6dc5c57f38b7ab80379d4445945dc4390a357883199a8e25e9821ab00086606562069162f30c9414f14b4ae401718d03f2b0bbe4cd0dbea2d78f6543b0c7b7465aac4c83a844e561b1368c9a822f7c4c9588a714b8c904000d2d7eb747b4b149adeed4ba7fece96e318e41ab8d08f5755d761f8b1ed2f13928897911b434701cbf856f19a2480add3edc94a9388d331d16dc12f1cefa0fad83263ef3dc77ef660badcfbea279e2ddc87efec540c789378aa4e519f033786e121b32c0840e9f6e32b5ec02df797002626de3f65a0b8fe4dbb4b0843aec611558cc2b1635760645891f7c697b31cef99f7f6e3889fcc3c050122d7d321020d10201239382e1e19210ad98a0a43508d035e382b958ef5d8c7adf3db193943ddc783f72349f0f30a184b8ed438cd0ef2095ebe3c1885d5d5dc383ecc7d79ea17c4b2800c1927938cfa398c204c740f9fadb3869f7d1492d8a07c88112ccb95e1985a45fa1b1a90fb233d4f0089c5cc55e5ea66ec140f08bfeb820a060c1cda49424d2eaf0463a280fcdd9776f272ce2f0f9ea6146d0ebc700ebc6936e8706ff1e8bf75a3635cab954443e2b72c6f123aa94762ded407ca23cabea253823b47b67668c00eaba118f4e791a55040db900e5216a8c34a6632685803bd0784e5225be8d718677d16c51742037e4060a381240935e088c0b0efe9b264410e421d73aaf63665e6b9d096e90d0447fb7581ea4973716ef8e23d4016ac21f7a586764cf2e701a0fd9a85d36a92d0729a06dc13264e7f9018c2265889c96fa8b1b1514e26715c10881b82f5e06aecb81f18cb4c72c5b88df4db8a7aa73b60980bd8dcbf0be0f91efffe064c8b65dbf6609ca66d3ba1a2b33169c3269015308de147bb2b20a4ccd874d960ddcd9e8a8886f3304ff0fdc8e5a380f57c021e8e827fa1cc0114ba269e8299b4d22bf4ffdc0d9d755c18924dad83e2c4c79c6f52a1d103002be17f4606c90d89be9ae42565cf4e1b79ce4aea239a69b255f76ae71bee8ea7722b40cffec0ea62c7b3bd4e8d342e49c18399e22271641fc0d24595287d436bb04dfb02c49e72995074ea96adfef7f523002f243d801786e35ad3a4ac7401e0c3df94d5e5867c83d2ff15e4244f2492b786db503e09ce05856cbf2b68607067c2098ade48f9d320e01b6c197b92b4e39575937e4ce95474e7952ab83ea5a05f016d08848b4c975ff36843b66baf7dfdfa7be1a4fe79acc331b252a86c87a75a73b57cdcafa89e06000f3f0b72c347fb877b162a33001dbd2ca2cbff7c9092d7da0950dd768dbf62a0a6ce4562fdc52b54bca5a1c0269e1a92b84f757fc940936e83ff0da909df3de85736012578c719e71537d4d03295cb6ca453b067a38aae444db95f991540a369ceac1f618c129a018038d138f225b0bc7ae32d5fbda3cbbf3ea08a43aeca111a4ce7497f568217786008ce817b6b5ad81dedcc05808e23e9c85d771e73bcc10d586184b409fe1a04823a332c68d53e8b2ced3d057d41d6c9f6ba5159b8e5f624163105e0c36d6250b7d7bb6218a70e7dd987646a20a5063cc958f5b57fcfe0490cf5f90d4a241e90a53bf704a1e54ce682606d93b05c6ab6e1962b9f8392e1a469aedf041201b0f853f69f182506e1832138abdaa02d1510e113bcca448f72c3c3a5133b5a2dd34be4475bc1a18a9d4807b6ffdae074214be2913daacfa49c6c5ece5a8d6ef01c7d58332bad11dbfa3f5b991a37f38a0d02f08375721159b7558b0aeeef676ea0f1c8c13855d6991e29cfb04956c58481216604d5dc374b535a31d026de922547aa48e221d97bd848c8b764d65e3a21b68e914e25dc5e78a46b0b0b54bb648fc2fb244e9f475e3d3efabab92a27c69a5ba247b346ae18c22952bfc5a094e57d1a33d441be90e5a417fb0aa15ce147b6906ffde4f3b902365c48399a26785a2b05d574c4cc4f7458a9466ccf6e115f85bad9b9330b9ab70c5107ae2ed9f5a8b4cd6584435efbe25ccdf77d538c37154b74a3a1dd55869ef33994a5312989a4fc2a6dfc7f17fbeef1c1484744d65579db2e8a6a0805cf1302fab1dfa778bc395abcdd0ee23978183471e420c94f0ebc8b18aa570825df738fdd0a989a49eebdab04b5bb866db7cab6150c3f51218018b1d0a57979811e1d4fa0feacf6774daf2ea5354e924d7073191676e4bf4c79dcf34fb3045510be3e9187042091b63c90b3d10f2ad6e4fd1d2ad07e9fc4367a2045a67c7ae05d617fdc0083276b6d3d2392053f8435899982d6119e48430a86e7fd536bb00b0da44c0876a3272e10143704ced711dd5659baddd081e31914678e4f0c8c3d73797d61bdf4385ed7488f1a4c710ec58cedf9b5f5e7aa7ebd2d8cb59d05a4918b80162904c45e23a007598b6ba3a54a2c76f62683fb5fe0f29c0f3977143c04b178b877a10e1456db27e92103ab659520fae55dcc5967d5c663eab1fae54f85abf5b00b986f5e54196987174c796ab5d2da7640be405291a460fa941de26ada015ad1c8ab53e3b90f5ee071ff665fa755ac02ebd6d8b4070328bd013fa08652827ea0beb784ab09643bf814b309c0692668480e4befd2209065136b11f43e0342c568365c29351b42d630b5f85763d20cee7ce135e42c6cf735e8d844c7bcfc1b3aa7ea2c9f939ed19b2afff382478e5ab7d894012fed74d245c6098392d6b078e9df08faf9e7c6074a22d73191955012cf3361ae5c1c688bcf84e3a291d3d11b00cad3ab9389175cc2f652fc5ca0b3c4063f37c8f79e45506bbb0c56901e6958b51eb1fd22a0900639eb3e7b5f55cee098c87d0de67e4349ada13d406c55903c35d246637bfd662887cf7d3c2e9d6e66240f596b6107291cea15da896d27b414681f959aea39cb56d76c80f9fe0b35f7d5348e264b1127a295a939f984938ad688d5167cc4876f57a09730cf51f1c795fa8558a9529abbdd31cf35291415baa04a1303f68f4c20057621ee4c15492d6841e5a40eb254e762ce31c367ad8dea6238e30a7353c8408b6ebcd23b3d3d91eab3b0b052d72ca0a91c6f6b21dc7aace5e0e55152ac077793642dbabf22336fff60050bf37f4f494027deaa2cd006a5dc09a9d736fccda67a5b2401ba68410d9ef5901bdff691fe6e959413f175582671856b34ed0e385a6ba6d567568a9aab93d36e9b5e4c0fc482a2bce2a200571214353e8c0a63d857156cc43bbe2334226b3c374781c914a30df825b27fdab5b92b4b98cce5a2c3ee86c28f76a9ef4c68259886f35bd780ffee5e2f200a33d0140e44142a7b68cafa6ad5874fd536373b687e5ff74a6170f355c59d5497a257cdc7eea64538acb9566118651ea33bce109a291e62388b2ee5041cb8374f1071e67cb6932cc115dc2b2a4ef374252866d381888dacd541413fcdcb532825f8cb2000541ea07b7c53c8a80a086db53586c398045034065b7fb3422b01c585882386db8faaf4ccbf05ae0308ce18dbbc40e79807437cfa04986c283dafc420f612deb2140c38cfc08042fb23071a00329c7fb4c4fe11f61c20333a8f9d165ea024c4ac8948e0ac397d7d2a7ff174ad6f4a8b48177032ff255f0d9115671c2af416e3c0acfc6c2b99872d5b5cbc743ae3242dd595e52293550c80dbc28abab4d6c401884c70705d7e74ddf98f344fb2b610a0ad1ec82a6d1980978f3236f45e0947eef3166738fed2f813bb20789f854545bde1b628f79209fbbfc5d80698d9701a0eaa53828b3005d31641b314c2f8961a9497b623e73762e5613fb774a1ad7cb8c8b2f6136aaa5487126e414c60f16128047be642a9e26d7868b1cc16fc2569c3f5c4683b5cc40a225ab05a804b2adfcfb38d9699cb1b8862f29472105f43114138f893193483f8ae1609a2d452a761a265dd8fab281d2c37c5bd050d4d842ad703cc1d73872be320215570a2f78d5ce4731f8520404aa28138de69d628683e6995fdb24dd1ed256d2b9437eee41164ad5db436f8459c58c9667785a1113e6edef1240c9ebb7acf00818639ef7d7af26c1d9876121fe1f2d8d0e790663b5e204a4bc8eb4bc5502b2e6e0b4419a07fdb96d62ea1f1355deb2b4a42ce25828410086722bded1964285291240e4a2cf34e94a44aa97a039200199880f02c634a6ae166f8eac2f24a53a6b0d635b0e7606cac1aa7d701d4c08db1eb1e17778ddf57c75185db5e5b45f631f15b679306bcad23bfb9946abaa29f42bca6224e3a01f09fd009a2cd85d35eb8296aadc6d461f38b44fb9eab8de788adf71cbe3ed0e3c096c740b1821d09c4259964cc0a85977533d4e7c95f25065f59493947490cd7961428ea1368bd69b0bb5754d772faed4736415d5d970b8bcd3d4764cbb8dabcd7675b4872accc024b9f406c66fda2d72d702e170a3841922f2183a71f7a7f5e4c7a02efc70c62667bbcd51490c481f03b18ace10762a1524e6f810ee033a76d7754d93c7f98d8649559c4124c120e5293e5200fb9ab9b236dc7442a424406bb09392de458a6bc89bdc27b6e2658ded3c86891b635599fa51d20f5355eb1cf0dd64d4f5a26dc86aea00909df91aec5619ec6a66304a26770ac71604ede07dd54f1beddaec78d2001da3ea177cdeff5fc3b6b82d26fc69f656f92fa9d11e568206e07b0d583c8ad33a214132289ffe9e92aaa122cc19c38d3e3522782fdbae95701e44ae2707a30f004133c0191ffc532da9a23cc954f15afe24a6edce321184715ce1b39180613c73eb1113f8b6eea5577b06317a1656539f543fbac95c363f167de61623cb9187ed991f8e3a5802a6e36642dbb37f783688b95aae06a74320bc72526665fccc411b161b8c7c3db96339039b31b24ccb09ac2580928eefbfaf6191fd035c9d3f8aea13516fe333be5bcca453a36acf194d6d510b0c76d36b238ee4ac994804e63dcbc006bb2086c82db5eed8fcc0aa7a7bedc460e58838dc5ed778c8ddc3ba577938b7fcf41b810cbc300d60955802e3a203ccd8e9f7128484da9f15cf077e11d1db3df58af514e4f72ddb4ae315fab3c5ad4ba197c68b866b6716a2d77d0160468e260238b73268879e6a01e65c00e11966e521751bae94c484df41cb2da81b9ede18076ea198600c5ea94a2e85aa381bbc81a08d60513020f1cae4f05a9c2632736ad0c4e7bc9628cfa452f1a632e939d4a6847d3411456201890f576a752b02a403fb0d1c50d94aa45f534241f962c8099615216c10f29b07fa7dfa42f1228a56a4ccfc3a8c61b15dacd843a25483ff8a179f4ac99fe9b5a3013fa0c3158861f9e93a38f3ac8d4e1122c0194136a26bf86f858d7d4e455af6654e5a5f26468fd249f2aa5d34bc657d13796e2a02a985f201397d0455bd457149131f873351b53c57a6bf2585d6882d633dc72983ff64c4ec7b8d9d2eaa38f1e88eb9c0c1dbcb66af3ba347346ecd934d7e67d42a91c1de74fde208826ea6f9269781166c8896aaaf7700d269e242cb56b841363484a08fc59fcc2ab4e0ad354187e6516609d5151a8638119edb24a1f56ecc22b89cfa4ca5793f512d53b0de0621902149f5dc8737e1689dc26896ac3e1d3b9f65460f338d042b825caf20293125711fb1624224af26483788d034dc8c390341385ce9a3991a2a4526dc06f6952cd53a99cbbdf4d69cc902da454aab75219aa5307294b8c2b7dedb060368bf3f521266658ea292cfed42424a6f0a69c88430c8123bea3325e8a5def1fa2cd6b448d33ca101578e9f0fd708a310ff61ff84c659b21fd1ae1ef72c8ab436d2b134928794dc76c39f24d7bbd02e10e7895da28892dc0447e863f16502d213847cb2eed651d0b434006b22acaba67ab39c62a825a1ee2d22500ec7dc44d35df095bbeffd17b4e6e9edbb3c47e545349aa0c5b9bc4bb05a8df8a10f445e24baf6d13631bb24071a78d200597cc2d380bff816b1eec8ff41e993eb01baa4ad52e1ae22c799340d81a870e377a04223c027072a55363ffbd9bc63f430f4e5304b56921e0d5f41f96cfc0e0689c51900232ed8a7dac99a62abc025f546c8075bfebae5aaaceff8a37085d91754dacaf8dad3511a15ca5520f69a5573b5a49be8c56a608cf0f22e4916fb4f848c830ea1a77b742e0aa0348b11a363f244118ed02b168ad350875bfb9d3afd7b6ea5365d25644079648d4cee5334cca62932a95f8ded335ca3bb2fa68cdcc674641f3122aaa386e741451b28e217a7ba2ca635b9582d28420a1aac244a8cd63846828a8d2538a6d42f10c02f8eda1a22c1ac549bfd66954ce10f3d5a7f9ed9d8f2588bc7bcc24a8523c245cd328fd66398adf53e7c12eb1fd2c35a183a1ff320920f52d748c2cd0c0c7892c3ee083c75206eb44b678b07e33dca15218652ba44e28876d930e9d1504d23aa6f9ded1fd29e859d21eb2a6ccdf8afa44bd8547bc5d0935ac66d4bd546c8e01212f0d85e9db589545afb71b93ab9700191dca8f4356d7902ec9e47eb6683004eadddb72c77e7d7c3c34f88bd41abe36ff71ae2d1d0fdd2d3c8437ad3b1f801d5e7b16754526b9201379ce4c670120136d41ccc500dee1b75c9ed6370102e805c8bd7578c76324970ddd626a4a9845226614be0d7f174ff8095f8e815103f7b7baca67dc8280c07bbb1c583fbf6c3a6585d25dd024bad2bb62334c802da7101621700ce139844875e167dc93f5deb36b41a006cb619e938e3b017502e476388b344f86468e035a636c1a98d62019352d1a5bf3de45b313b8e6f7999fd5183bb83cd507916f671bde4547e8f2c05ca8840be8560c173f9c991ab4a981481b486323621c69aee0b441cda021bdf6b9521b92c63bbaa2341a64fd94e5b38d06c57ecba96a9c62b05c32e4661a384a23ffd6e5b43dbe4484eb9445a028a4b4d7cf81528f73b0785784c29fd282c2f66862d3fe217aee48c30c452654758b77b433001085c8522092147678f5d9de053bfbf039197361799f2a73671f5aedf524d13f0c120554abff6063c66e4952145003951802af6fa15370d5a42a3924ee04cdbde5c26cbd4b17609efc712ddb2ee2e84ea880b038f174e308410a62cacf206932a1061ea5e38f74562b21a3368f3f2e3e2acfbd60ede8ed1096d3ac822fe7e99057d8c6fc582fece3f168456f07427283caf88f393d77076919ced92712e6d3c1201aabcdfb887c4f76d5b04be318ed79238eecc728c24deb8fc98a727ee9be8215960983103199de2d4374f9a7d05303dfadcd6cd54ae11726787053ce66fdcb6ff8c5342a7fd7a28f7ae53cbdaa04c6a890a557d8ea554600a6eba6abf89875497a9d32669a665cc23c79c6be101dc1e9a2d157f8a12bfac2a9221f7752123346553900065e84975407a621a241e7074ce8458bbe3f66390d57f4bce1fa55db3151ccd08e4dc3c0c066d8afaef10c3623d7c8eb23cc9caf625cbbc1513964ddc02ec821276120682ef73c33c3ad7b675a45cad037e394db409d708f2328312424aa84203119a5bfcdcdf7fe077e538cac8737a14c9fdf0f93cc90c9175d00cb1f42b74464e0216160de61a749d11ef8c1c6e7621e650f343b5da034a2cc91060cccf10500502065b0c0408826f28dae3539e2c6f927e46d00bd6989ad1d588e13813f1381d1406626320d189693fba02d0d664341c8012d1ee31d36fdab3ef10fc8b866d8c820bda6af004867927da355eba0a0298922c8cbd2f0dde429665d42fbc639cf7ebc6196a30d060d00133c1b20149e75ef79931ee47a34279a1468ad1e8473c7cedc105ad919b0c1e18e6f1b15ff2bfa4514e6f001a76098b6419aa9434c8cd0c6e990b171bd228228c29acb8c9382eb48f0ef88c9a5c2cc40fd04616a642d921b396b24dc3f8940108fdf47f8277c4b10e2223a1da8b3a38f2a607c84bae12928609d0ad625754b9f5a56aed115ebdb8012d868b5c1a253167c5821436f7285dea467dd053d71aa01131b872308dbdedfade412f47a68bcac3ee1559886445167ea9f199142ebff3f2a9a4ab4ade14c0a61a502f1a2591451df4b4a3f9c4a07bf3f35d4c9346b28be89e5342ec688b45943beaf5aee5296036eaad4a0990eddb7b07cbbb1afe56c2707691c888e4f69b684a481a9bebf49ef60a9c0d0780b418f81d109de729127329451c45d28bd44010a83cd8e79d3c8a59bb53c9d802bdb714e436e8ece2db4a750fc33a81e2d3e90b6012137ad7dc8ab210ca21e91460a57af4d74ed11e5fedafe7423d8ac164fa49f2e9e6461160fb11d3d34a1360f46eb7947b6011895e041c0749858b4021091daf9c0b85a05d286ccedb62df17f93241d0240be0886c3d2543aac112d7b2b7425f34e1a0ceae7346907c5e0090f2a52febf25e83943c157c6bd008e4e155c8a9955f079f27afce040e7dfcd746c51821832c99a63ce538d2e54c3e9dd9034b855adf441542c62cc3de8b5065a25aff6e9f035b6dc794c60f47e8313631b1afc8d186bdf2496082c8015897ccb33c5ddeefefc2c2247ffa3531bc392ec53df8d06dfebc98c2b264dffe1cc4cd77e7ad353e1339f0e617349f98ddad48a04d9869ceba57d0e19307c639f00de208a0702eb4a643604af12a4d0d0a8d23c4c7eb71c38bff447386291b1af136487e3b7b3c5172d2d83b8f28b55e0db272d35fa5f2a5bd61b5512db2b385e91ea3335e86b457366065b7a80c3cc09398ef69259777232e84973649b2835620058eccb8194c58cd76b992daaba3b1f94681693a911a5301c71846aa4991e38a88fce8e85077748615e6f3e08ab1ff645e73a16a63bf12608e504e8440b4b148d642fd1009ef14cf54480994816b99e1609ca1b851e83a0a3787d6d023359b46cf6ca838ec48ce179cc126bdace5813b8100a9850a45a2e748483e1215203529ba3b3e17d15e955d4853ecba1af71288cfe02aa2a8e6e5930d03a4a0721ce3679497c6e2cb26183c7d9a1955faf7be6b62f5ea039a53ccc50f4f582d2251a05f685bb04661aafcf032ac98c0f3398a5f613bb80594cc4355a58d9b7386ec637a97594da4a577edb7bef2db79432a594029206ee0617070f5b259f6f3a87615d5741fae940205a5e7bc9aeb2dd7ba9e36f1546605a3e5f684da3030fde6985323353cf611d9d25438ef47017ac080a9fff2f9d1f9507f51c9d0b15abec1544c91c803ce747122865d4e5a5feb23b54fb3d5a82a96a3cdd7fc639e7f4195b7403400e9b0a0914a9c52ccbe62f6a6e95c8b6dafc8f88f611857d8642b23e7d42cdb58e857dade6cc9933675659bcc07641dc470983b298c385823651f0236abe447d1b0af167c702cfc728cc878beae6a944b6aabd447d3715fbd8b180f54c1c1458d86eebec360891ad6a1dcefc5dc1cec1990febec7eb86aa26c146242da50e5e84bbbcc2fa59cd3994ecee41cbb49c4976a1483c6ffa6145b1855afae145eb254cdb78d09dd5ee04c17d27792326b42afd3cbbadde74a5c90d311cc9d90a0d77f5308260483415877f21cfe20d8f95c4205c1df94280c28d30e869386a9fdae38cb5e7ed6e16cf6b1c3d92ec8dbb10bc3267b376d9eb5f5828439081ae22116792a0bfb4436ec31f6f1c98afdb28f0f56ecfaf9fb70896cb0735af4eb942daac3c681b63b6a9888f01ee5e57f75bbea9f14675f27762b9ced84fcaa1fc3418c0a3bcf59ea246d7770539fdb63ffdba41fe1831da8d7219dda7af3219d32c2bcdddc1efc5198fcf4ee18c2a069355913da937a10421e3a5e8cddeded0e2037d775ba68068465403403a21f3d5aa3f6989967409999dd86ff9b3e978fab2ea6dded0ba62945d4ef5ada2ec70fb4c544774736aadfe98b4d476d96c1d75d08f7da6baf0b4219e1b5a4f26f9fa1cf20d0fcbff20a5e8cde8ef63c144fe4ed667b445022f714dda8afffdbf37e87d7dccc6af05098420f3f47d1766905a517c2ff1d5ff9813020ea1f51447ca97e65667ea8d3604cf09cb511408db1d90477f78766402225627045ca9649861453a070589b9999999999b923056204c2dfe4413443656e45a139845d103cade4d559610441f04bb08211af2e9d1fad8211d046702405f04bb082d108ccf20cd53e7b56423f219585eb89e8d48861cd913075ea858de045b6d3312bf45392d10f1a4e50ffaea0af645c14afe06e4bd9213a16c98b4dfae9e8b88a579b754198105761ddccb2990dc97e05571da161ad30158498a1df2ecd0c09aa0375741652eefb9a7935cbe4d7a0d67368e865068d1faf3106b0aa10ac8eddc97e7af737539540d6adb03d7a40e189db018dd508841a2a437d426af6cc05c988e854f9172a08fb8842fde89c9e75d67e8ae9b0246507f55b2694ce8ff6185e308341fb8000e9144eacdd6d3624981113eba773a5872d474e34312da17be4449113433f748fa8982943fbc9d0ee1320a4d35052748ff2e264f7dde8a8f12557c276cac103ede971ee84f81f4fd748e133dcd329c6ebe8892a0da87b5445a97a39bb03dfadb0ea1e3dd15479d43d7a424b9dae1200aaba574df0280fdf1d507e1d9de3cf9db60712fa799e8eabe4cae50ef159c9ce37d8cb53e8d78d828727f5dba5cf1b42f317037f77777777772f197dd781fcd0f17870565a588a98d43d6a2249fde6111364ea741513551942a262a324b5b32441bf662ad28284e42a7a52d42909886915921aa62698d4b6612a48970fb9964e7550edf72157f90f1014f46ba666f2c1f16f2647d2629c356d687b38524a1e3a2a7a22812a2fefd9bc830e2114419b8fa164c03e9312fbad73621886ed8561d73b8fda3f9c4b827e6cc4499dba867acc101375eafaa22c1fa37aa9c5b4d74d667b1c4185869ac9bbcc93a4b8d12041af86edcdce8ca010ce0927ec687b3ee7a6c9c843d30808babb4329dffdba7ee5f50e2fb8bb2b235c4fb269f2a4c663841042d872b3974f1f077e10f635bf4baf9fdcf69f0e9abf4151aca43df79fad4961cd8dcdcd0d0e7a83c3663a9d5ca5bda21b37a23471e3868fe2c0879b6653f3383636f4270d8aeb0684023748d4abae535d041b5ac3489dfa78a86aa1d97a55f1afbe41ec07c84a9a5b2dfab05b63324b06815bf3cf4527b7b8f50339e9b291420649dd2cac3195d6cdc2e2a2ded4274935304a497baafc1ed85ee42fedc1a4f66056045df810a9539f3fa9f021e42c9d031f6aa9f05bac16fc96125c0262aa10c2ef72fc4099a744d131a8dc092fd46eedf1d7557e0f2a84f1a71110ad7b54c5055086ea1e5541f23fd53daa3254b52e015e0f214f4fda5e0fdb6c7bcc49edf13c032793b63b78376e77f873b813f49b35f663b3d2f6e24629f522d5f13b3c2e09ea0189a74e75d7a8a353da3f0f9d56ed6ab6b74931d223b7bdb67538266cddbe84c550dffc5ce0aafd86cac1039d15cb1ed5531bc5e335ebf806f6211f437d9ca4ca1fc1b98bdb837f8d201a4138013de0b0ea87ac4eb5141c645c54e446457ded1707729506cc38f142841858c02062d5ef429d6a256abf0f35accdadfe56721e2334d4396a7f2375527f77e9d48ddadf406c2a04eb2d183fbb236b7f2769173c870195a96c8a01eb19f54ad10aa8fd812c72480206ac32496459753395e9d424520111aa267080bfebc75fb0da25e8944eed5fa13985569df8a402ed82066404352d69ca22c9cbaaa3d47e9dfe1f98169443837edee42a3792ddacf213a14a291f08055a0557f28518198909723952a78ca413f4eba5ca38b228f9e0a8f07778271d300b175b242048f4824495122e41bfce82c632e8d73f955f4aa11c1bee5c90d0eabfc3d3d1fe9b451a353eec94036afc79448d0fa8f1480b303546e682b814f4e32c9a17fa71177ab1e877d1406112140adda4a047f43b556ecea8fa52019e30f3c1a6eaefb0898d3f793fc50d60a5410afad2aa9bce498a5f985dbb360e69933528e55006084a460c7cd8a5c636ba44f913d9069b43db648b7eebdbb60941a733471f8dc531c66e5f02a21fad82caaadd40bf1d53fb39c6ce978cf0f6e88750b47555773d0bb5704b1c6131aadcc2e742e58ec72bdc1efc3086186acd10f4838b03d3d06186a615c3c0c40cad555fb14517a355eb40c4c6d24ae5c513a3d5112059ae14ad5e803d00adb641f87aaaca8a104dabcd7e64980834c9c0b46a2368b3ebb0e4ea015ae1ae44a931031a659157acc0d13e6b78752824b9a761aee6734de5ff08f07111c07484e055d8c7ee68cf1f80ddd99e5fbb6e7ccd63381e7b0e25039f595d3f7dfdbf9afa4d568538501ec53ae0ca82d07f03e55ed601fd3528cf624148da1e6db43d72aa70082bbf4a53eebf037c3fea266111b8be1d3500abaaf9fd02ec0ecdef2fc0c786a0fdbecd4600fbd5860ae25e4305d5bc0dcab9d89c7e8af229e68ae3587355f39ee4aa1a2432f099d57c1ae60a7b5772a4ddd9bedfa9d810b4efebb3f72e3602d7f74f4f7225941ba11c09e554ec3a20eb3eaf41edf72e16847e0cc5a2178a3557d74bd497f3e95051f97d8a2540652e56c5fd1e7bf8058e72fe3033777733333faa99d01a02b4c69798992714666a77ea847edfaf1fa537271d73ce0b4e25e69c3fe7195dd479460d223cd11b2b3ff5a37f04997fe3eee3815b7d4e4a996a3e101a0902bf04e648e04a54fbbaae94e9ea1e6141525fc8fccf86a0d8cfff74741c9bddfa0b52762f0cd5fe177c2acfec31b5bb73a13d1d1c021b09a171d8e640e7df1c8855a882caefcced495a94a7d33f54e230e3cac0fd2fdb433e1139e96dec83268ce4aeed2688078b2873326acfcce4a713e5d6c74b4e274a3354c54030b16c76138b73524ae3837119741e16a0a753a66d3f3ecfa35777e868fd7bdeb4a26e8f0b876d9b4173bde6e8c93999a93d2d94391a6ed3b88cc3b8c97197e4220739e738ae39de004d27411c5e78e8d6c3973ac5efac647b52f717b26ab89298e17384dcb1009fff92c125037a822b89e5c7eb9a7f25edcef5cd4698ff722639c8c8c8c8c001131050069435c99a646864646459c694a19101654db23332a0ec8cac8cac0c0a9499a16d1999ec06f4bbc9cac8c8d096d9056d5be3ddcd48095e21fbe02f61deb4d7ec84ebc2222d14f119ea0958e56e730cf143c49896e7ac3b2b880b487ef43b7584ee1e3728f73b42082184d299723f4d14b9bb4f911c817097c24310d089787098c21277e8292c7198c212e8443c384c61093ce2f0d91d3a0f0e53c0d16ad2246b12d4aafddaee32337777675fe8e62ad8da2db55526704e3f5780598b26ca4496b54398033f83d185c991b0d5c95a025b589880c2aa369fe5d2da7c5c3559d18a070101a26dd426fed0d1e1686c6e401e9e4729a553c77571ff5913fa2dd2b49938e60dab235c2456abd542da1654025b37ed758bfed01b3776219c38d8218b95a4bd9eac0dc774df5a386a0021c738390acc8b17e803174e075a58490ac38354724c0900bc361a183ec07a76166d5390bd9957cc24947fb5deaea0fcebeebe9b9661f392d89824dcade4d3a19c24cee928175c8581cdf12621dbc3db60d2de320aed53230d19d45f9b82fa675d50ff55cd951b71c103c5155f185185115c0891c48d295bb4013f8c1e9a78b1c394318ab88022a71441170ad531429ffcb92cc0079f212e2c275e68f1e446091f1edabf1556ada8678027279a38c386267ab0c3142d039b211bb4a199c008861ca411831dd07082c4073be422e8f024f4a35e3c03b22850d2807c45d6ef87bbbb3b00d0803d782f3283a506135798702184770c1c8b6ebf5447e8a0c61161c020092cab16aa1fadee51b8309a9776a047e6efee0aab421b43dda0b69dbb9e6f8ec2553f22357e3c5276458ed4e8ed2daf9d57d7a027fb21f1b3dfcfba2350b61b92bdd61dd1fe48f63d3868b991060da38cb0c34024326cd810f41fcea7ec83ffcb6654837208cf3ef85158f76da88fa77e472afc4511d90235f460053b2c7a62585a43491565c288e1c1aab3a04066b0c022ca1039ccd0494c4110f940030d4b4298c1a2e7270d9f2ac2f800c50ba8f4961e2224aad8014a9925626863d557d4be628b2e6080c20c25b20cadfa55e8546bf1a1441b649288e2a58b0fabb6a2966044c30f558008c3065aacfa5de8545751fbd9c7553d4e84ba00e20b2b4958d2583515b563d34fef05ec896378c25ab00ffd93e278a6328f78c0611ec24cd1214c94a13046d4c5c2bce08600c0fe12a6c5140606ac03a34c0e37dd846e639aa0db173e43a91629c058620918425380e1831860d8d05350ad0739500e0770498c8cad2c757962e98a105400758f96843acb129015f4a6eed152122e43b93363502e072d03fde00b4f0133051a609ca85009bcea1e8111021325cb41278a243a3c1e3ed03d8a62a87ea72880ea374f3a3c1e3842a0cf0afbeed724caff429d201ffe442161cd158675f3212afe083e5350e57549078c51b70bc2917f648d562b80bf820853d0fba511ae38db09892fbb0cec6aa396a32c49909c740041f7280bd35116a0dabf75661953fbb72c49ea77d231a47d56d7afab22ca5fa24e88ef97075d1dfc11dc851a573e0b2d78ddc7519743010175bba015c014f4f633673a8435c275cf9c59c1dd5d9ede800456b03b07dac2cadcde46bafa8600ff7337c2b551d83367785a0275bb752533081b236f1d45a106d391143ae020eb255168502ec77e5fdb95d61b94c550ac75980d0a2216e3ea420d8158c70b42bc502a6cdd7aceabb09f23085a649be6ef98dab3ea59f56b148544fbf59c2c0710b4c836551eaff277b5cb00125ccb1c05519243c1019857f857e4e05f180a4a0b2d3dba3be46866d742c72a9868eb2a28f2874010206c1f323bde1c887d2aa80d054608394208512ab0a014015259e0f17abd577b56f3b5e54ec0ba8f91cca7014a112095c719e015d5535b7efd024401478ddc05bccecd397f3951505ae8cbdd67a4b9ba16ba46293b281d0ea16da77ab69c7db50fe97ddc058ec0d80214e2fb124bd5bfa73a57424ff5f7ebb579cdd915f17a01ce023d173b0e50685cc4cf98a9fc5cc4cf9c81a8abe3f5220be0856aa14f803e3e953b23f27966f5d1ef9cff065be82aafdfddce42bbaf00385874ebdb5c2f5d8784369cbc7341a4f31ab1a1ed8ed8bd6676217c9e19bbbbbbbb618c32ca28635cc825414fd3b7efd68955c86c73e28d13642dc8eb92ad4b5e328d2a603421339951e0074208b18a4d0ecbae98a162f52a51bd39f1afacde3801add87785f0e2d14160e789c03b498fbc3d2ad6317b80dec86bce4b6ab941cee52e79492ba0e30843a382250b119824d4078b152c5296640d2ff8271433c49a75b1da8172fc5cadba2cf8cb3a9d2e16ababf1f903d59f2fd8f1f6885da3cc2416cd19b2a072bc7c03535be9aafd5791e7e8e05f8ebd5177eb6e437ebfbad879d37c3d50aabfb632c68623b4d6fa41a3196303e557aace6da1fcdd6bf4195c039a81a1e2e9162c70b8d2436b416dd8e03498d01b5e244127171db040c1b6f042234617f803174e0dcadf5050fea611e37d8efd7dd8dd4d13c307736e9950e3e2ba7290351b1594bf77779bc3a650261807a1db230c6d4bc03fddc733570774ebba0e287f4f26762e43732c474881f0c41955ad86c5c0218b2acc58eddbb4683f514990e4e70c2398a891a4b4fadc688daa8429229394c58acf8abbca97dd81f5045efd4e499d9af167e6dd7df12711cf9166e74628cf82056d7e8ecaa69cca7afc54aad47eeec7556ec4017144dc13ae6877d64bf5212a6f5d6cca87d82aad72a12d0bd7ea543fc7ea54cfc000657650520333a66c4962d5bf35f56f4cfddb984e6d4bfd9bd2ee68e9e22c1f9612a07e4da8533b46edd7868c5ce54f6841c38c32455068b16a276abf96b4b15afddb4fa7362057e9dc50454c0f5ba4f062cbaa7f13ea5453e9d7b455bf4666236a55b6ead77efab5a6dd592eb53f2bda9dcca83f43ea148fda9f25f5674a1e458b29b6a451d4032656fdd9984e654cfd59994ca8f66740aeea26acc855bd648429ed0ea6a555f34749a7b8da9fb5fa335653a7b64bea677772f49be12a0e2861c425c91741407459f5cfa24e613d329801083166c470f1030eabfe89d4a96ea27f7669d5b5ea9f642653d3ee78b51ff37155cf125abe2461e1e0e50b56a7368dda8fb5fab19f4e8950fb3120579d60090664ccec80640c0eab7e4ca853cd44edc786fa31a24ed5b8aa919e5c4445bb2380da7f19f55f48fd5752ffa5d429106aef1a538e38c2883284dad061d57f8de9542fc10483329dca6afff5e3aa1e1aba8086a416d9a553abb43ba731b28975b5fa2f25b2c855fdf3238d3e492696e9d4ee4e00583f4272a85f12754ac955ede3b3d43e63563fbbf341ed8f40fd51a8539b45ed8f43fdb1a83510069423c28881c6184babfe88d4a926aafdf14a92abc9553cc627b2866e7a8ffaa1523f5c7215112b8a80c18917367c105af5c3319dea299dea876538290902a9e6aa957667f68fda276c91040b5110600431b48684b2e08107257e26d065e992f1e6a4e3880bd376c505236c0cc37410850f973102a87b14851a5c94ec5866f95a6fdd17c7c89006ce5f2e08bfb6abc4913c2f468eb163202804a4fa42c8dbf3763d73412acd476ddb9847e8a865599675963d67dd6c4ffb8d5a1769b28f27d8266e69341a8d46a3d134d616c8aab0dfff668d3cac0a734ac4d6ede67c3188eaaf716068ac942b0543af4a39eee36f5bf7c28dc61d67cc9c316bd9e3b8b979ed06f5cdaa611b0786c24ab5ece550a7582e4932b24a54925a64914c924a528ccce2d217a352fc12c5443231ba431a8e5c9022ac753826d64dfca8dd596e82adf6fc87956495bb260e0c95d508b387da9a65cfa86f91e2904664918264dc10ec3daee63527edb9923bcddfa079a974232a2d179bb6874ba14e02b5e7ffc536e8172550f5233dabedfd316e035887a36dbf9c90adf326118d43d51f8b4db36dde9f3f02316ade884a4a4660ad411961e7ca81a19e7196b1943c130d66aabb5f3ef402231613f5db2fd5575964d954873af5c9235692eacb0697fac127d5b5a81f24aa8e055175ce61723f9e07e4b988ec7785f1a620d0c6873fed5d36a0da6b5dd0f6316e0f95b46a7b7fd8ea140a3ae91c6fb96aae7c17a83d1f2495d37b8ef3c50b86c2871a447160681789dc7d40aa57e85d53c604f8a0ada149d1d6d0d4d0d4d0a4683cd036ad49db01fd6e3435b42bbbe3934915bee6386c0ff89fbb0deb035ea1f169b8a0cea2b1fb76a9f551676d0ff812a9c2771fdaafa53d787974f7e81eff9ad7bce635afeb8a57079160d246445d0557f021c4d9d5115e4d2893baec4dafeffafaaec3eef67951b30dba3f89e8fe4644a3130abdd88f61a8bf969414b116c4d8cddf55ec7086c82338fdf177253b9cee84c8bfb04e8993921ad219ba63ea2f862af32e1b61942a3f4c41db1d9af7b03dfa3fe76092e77445f95c306c4e5f2d30b52f1bd685c8a522b92493e4925cfabcffd3a96bea9058def242fd3f99f49dea8e49e22eed35548249cf3f75a038980d67f450fb39478e1f2817c140bfcb99ba0f106ce944db14c5b02c7b2d9399cc6426e5c4e8124a84c98ee8c763b40e674877647bed7b56dcf7acf879cceef4e95491a01b11bda98bda70a01a5399f6980c1763bce5b28595212eb39cc4ba840958195a0f561cfffee5b245e5a4f6b8b98b12faf53b45b9a1324189d4de10e2cb87f2b74e61d8cb4e02c006544a23f38bbce053332ca28cf0c8c8a5d083aaeee39b446eea8adb276b0c89fff4fdcb752fdc4029a17c18310cf38e5bfcf3c48996315a9678bb4859860d3351e0a0a84a66fda81f05fab9a24bfd98758516fe61a23d413918a8111e5abd871dd607ff377fa07b64c593fa792b491559b8855941a67edeb2424ce577250ee4643732d7d825c0afd2b91c3cd0f8db5eac31761ff44061f7f9bb73ab3d0cebd4a93dacdb6640a50d096d280943b3d7b223ca72553f776d42713640d3827e9ae554e80e6748bff65a7704c79ffb5d75873344fbfeee8ee0acb40ec73b21da6fbfab9e55cf8aa6e3d68d2a947321ff4179cb7318c3817edd9ca018660695eeeede499e595b982cc8bfaef7f1d6f6e0d7aa50d963380cf8aa3ba6f8198ac28febd3defe2e517bbb05a87ecce2a32d3f959f93780b7bc1e7b15e8ce6eba991eb44f98fe0b36e7bb073a1bd5d57d21e33f39fbe32bfff788b93e8919e55ffe72d213d03ba3f043f707213bfdba594cdabd2b1a9db5d9d8e778605e9b8eb74f7f1c4ef9475468260dd058258bf9a1d4ed3302719d4bb8fc80d8e4e136666fe867196e1ccddddddde3560e1a4ee11164aea51dda32d49758b51952d83134d2b2a54a7eaeccec6835d77667e9df67a8a9c45598022ec56bd63a11f05f9ddd3817514fcbe64e73fab773a3e502af53bcd35ea2f1ace907df8b03bb2531c15e1b3daef59a1e218741bfe478920a2fb591394de30dbe03ba0ab13e1d3ac41298e772726285b383183968fcfea3d879f7592b2e486173ca89d4451ed4e4767a9c14072210901b5fc098c289b5a8464d412a2554ccd9a6a92d05489ca983ce7421915090dd52489515e524a795d139b734ea821a9fd184b9342a5cc9a3429f4bb84747857c36a8f515cbd58104208f4056e5f68966affc69d20ab52a5c9cc48a19fe6d3e4bbf0570786e215a370d47533f5db80246a578cba5165d3189fea4cd5dd59def56b8913fe4008fdbaae4b7a748fb3a63f7ad4aea424edb53b0d35ad1a560d3fd0afe6a7f67f3535d4fe6102d429279daaa96177b61bdbee8e8e6b67cd106c002cf1d3fa69b55aac168b35056b0a9f297c04b08363f7446f4e3a26a4e20af651f7880a18487106530bf0db9859297061851208516104137480bc04888022064c6a40449a43a8d48df5453d0c15d1400000004314000020100c06042291401c181590f6f60114000d888e407256960884490ec3408a52061143083106100086880ccd9046890021cd55b8b947c574427f872f26fe7125d31002e0e67a5632233cd472364ded0524abd13ba829fbfec51ca016eecf348cd82b30de5e4b438f516e5dd9850d14d837b8d1cc5e3641b7ac54402a9b81ca66379312a6b651c054b6a9da1d36b6ad3e48e95900d3bd4f1a7f720a08af563d5eadeaa85ee51b508bd5694e2be09544255472772af306dc0a3dacaaccce7c544bfa2acddc2addc11427937c6a611072bcf727d55be7b271b4794b4b5f8c2c0a381608727f822879b8ce755361c9fe3d586ffb23bf42ae0c3fef869ecd99fefca37e974b5f279b68b3d939fbfaf5df2ca8dd6a30573738f87ec904dbc57bce50c7d37a93007d04f66f508d7eb19f91178038bc2171c172767913f4b92228e45d0ed976a45bc55983e122fb588dbf1048dd0e65edbca70b14c30433ef4ff20072f2a5121c9b542b2a22b06a94dae7e9330de298667c37cf09bc635c76f8b2f119cbd70d3385e5e79718d88413688af4d9828fb3167e9de18be37d1bb2bbeb7994a8576c670f19ae7dc9a8fb27c31ea43f8e0019eb0c487a99b92b89f634020131a1db30cca94c94f502b4e0dc9fa004782c7a92a049ae2437c93ff328ffbc89039d991349c1bf7fc2c02256138e1bcd09cde7ea3eb7bea1ec52a7741d1241817c804027396b4f15144523df8e99204df92803c16d361625c312e28e288c60477e192afd0a85a6532091acbe158c16b0d62d505679e10942fdf24e0d1ed2089791251dcfad142da17a005e22184b994b3ceccb6c244e7c8259cbcbe41013c23323d24938d07f3932b34adc6c164632b930e8414f081ef4854f6659736ebd3178890123ba20a18beac28dbccad88567d51077d9983e1b20312db2b880b72a4884dee8cb29132f9a7a080e9ed23e66e57ec69878457a01725ccede5d10553adbc600c8aab2151a5c5a6d37704cced8e1e26bf8b86e933957140fc07aa986bb9f2a6c1f45fae26558992256debbbb61b472cd83aab8fca1b4e69282394f575cfb3f9adbc7afcd7aad5b9da254b65aa1927c5479ac2a682679ff91c5d73c83289507e2bed52445d3bd9f0859f33a5ec27873c08be8413da7b382b84b072b0b6a8ec1d32887dc7fb72b461f838e3df15c36d617cde9b51d262548931525a20a4cdf7903592bd6b69eaea154ee6639a20666fcb0631869d19b41cc42a5a547f1780949a1bbb86c867246c9b946deec0d4252d4ef727f943b98f3cde8150eeff3f86f42d5e1a85cd1b5185f84580e272e721ff79b0c0787ef30e9ad625c7c5f6f3735f272020700c3d50679680893f18db7640cbcf713414a186b6044a83ebfa2ce4916f4b55f7d593bb81d2cb27ef8c123d4517df875ed3c2c365f1a398e86db855d1019b8be668a6a1776f21a257226e039af665694c57dfd004c1ac3718ab8d06fe4463a1e7a3685c636be5bf162165ed07f4e52fbb3b1d3592780bf1e4d938586f1adfcd0c95ace8be2840f2d93997e8fd5542cdd01f135106c16e1f7de0e4fff8f2e62d5d2fc6eac5c1bae4ed0c506d47b066e6bc230d42e4b09a95fa4ea5fb6da65e9b0d60f3d6c9b521bbad7d2ed451fab62bd821773024dcf9a91ad82988b8693d551bbabdbf4033f9fbf1d5cf98e498e0c325e5cec8dd3511b924e2fe8ee12bd25754fbe1610633d9402f06bbedcc192ff2869e3a3007c539e1103f053369b43b4410fa9c658c4e499f0031c80bf33e11999b35d99348b74919a7e0817a38794c6587875c2930813baa09bec4b35e4938dcbc89bbff489c24685eb84c9561b6af3745c28fc86014215925b6f9d7a86217476df039b4abf5e2481e7c7895244d3ff035960420bf6965c594a8e630380bf575278731e4863a4532831e09414986948712ba3ab600c454de1751299e0449544dd07ebee76c29b47477e4879a25db69543e6c3c2396dbb6feb80e4e9d6f8a130f81027341db9f97e5a70fa324d0f2d173ce60a5628b192bc0bc7658c95febdc802ce7204718f3d0b64e45e78868d2d3e680e2d3a8ef0c04ace06dc7530791d913e3654a603718018aa1246b0616721e0ab5437249ee2c0c14bbf0200a7fa717075d881f8f4f52698a92aa2e290de4e33bb7092337acd293b3b2d57856d69be7f666ea517555270f2a02b3458aa4b06c3c4210e6d4083350205eb97baab7874c866c1dcaec28032a4047c65d633819b8ef5dc9cacca7bb340cce5ffd7643431b09172cb9af063a24d8dfa600efc023fa37b0a0603a48f5a0a6caf75c538057c566a9330e3f4702c0c36319be79eb7fdfb1e244e2a604cd0005922797fa6338b759009541715d038d190e610c61ea1fba262627f9593091b38e56776fa1705460887f4fa07258b1efe7f9fcdce776c511a1442d777897c9afc820340d379a7dba4ff1fc93297da8da737ec5becf57ff6b7ddc76d7190f52322448571e50cf109bff6127a18ab8f975f0f686cf76cc1bcbf9dc46fa4cfb854dafd3de36251fade9fefd65c640d65ffc07bc6ebd23b10e7760e4886ea99c6a092c66515cf1a81ea3970b6f9b50b06dd593bafdf0b621bf9145fe468c00b2b1c3ec805040b164dbf133bf57ec1e99bbfa9a97a956d80612c6243d24c0b43258186500d1f6ed0ba0aaa9cacdb7e9f407c5e1c8dc8b0b1d57f3b18191dc1280485cd5c679c5e14df1897d9585bcda37dbbf5d39ed0118afe6fd5d3cc519486c987c6ef8c661675cdd4b1271e1382573bfec8212d98a4a7168e8837896b7e9a32d00b84ba27a2f32a65736fc90b6fe600347dc48d4fd96088289f208ecfdbc104076d4c89b9ba60cd3c0ec9c70fbe5c1e25e4f611c77705c70441d5c95d606cc62b64d6e244648ead3f33d21b2034c4a9ed3be5e4ea1f8aa946dce226e7b23903e49a7abb4b23bec54a0da341f99d3d6420dfa9ce2ab308081285428e919b586750de87bd4fc741af169da43352f48d8e9461afd65d5a2c93a54d70bfa6160dd1ec7fa529aefd08683e0ad974cd7737f42be29b13a6912de95f93ea1e61b93577b8c623c195ab76adbd1190a79101e324d39bf7bc970cb91fce9e8d8bf9b77acfd0fdb13ad88f6c9af5c20e67442a31ae9625f27e028257bca964b32b5d514be16ac19d956e0ddea965cc7d26717db2fd59636215aeba17f8fb864684d0a3cbae68d304e4a14b33ec857c193fa09c9276a3efebf5fbfafb3add284efd1d783e77490f7787eee5ae0f60a33231dd6311e5077e88d5fcf0cc9f46453524b521143f428b7d270df41394656cc0ecf09046cf3c668e72446d35e25811ae3eca3f8596ab9d6dd0fa72865b5702f720bae2d129b039c6f4e368e48e265c6b4a17443cdd564dedc5b861efb81922a74acde6e559ceab5a4bf034369d2a7dd96dfbb3311186bd1e024cafe533f7ae78f911aef40b00ce8830d37d39c0012b98e193949799205828d2f36f24d4ade63a4888badfa88b912556266e304ba4d4ebaa54447b493ec76c4b215360fd3844511af8c602f906b8ceb1af6106b6fa955f831a18078eaa14e2ec0eb7adaaf353deb495f87077057b847acb34c449b1efc5b2c3b510f55c46244c2da289f1124db16e28d9769dbf478853ef274d3c05ea204345ec75d1852af928424b618edbd972f89e2c7181d901dfbd5055353d57d0e11f00d8f4825d676d47e8e44d2654c4bbfdd52c844f0445d1eac79fc2645a24a5b864f4f3a371d9f4873aea642ca281894d18ac3037d55d34ed6025d4f30abb39650b1099dced8ccca3c60dc520128f4b2ad41683a9e9e333a9c9ac346fdbf32410f17de4d5ce49d56d320a6543473ae8e148c852afa6197fbc04b5d72d734d2d5f78ae329d414cd9b1a5c965103e1a2d91991b2adfe9a05f7a26965af4383f834624393df2acec23f8ece7dadd9865aea92183b7cebefdf7ef5dbef33e5e2c788a48daa3e286f4e8c10a6fe1667b1f3203392c86e11f98a1d90ba097a0a0c738395657be0ced58b633b2c864a23a3d32445cdc771947917fe142f42f257aa486c90e44b9be741049ed00411578917f5f0e92c8d61f9ba580a9d21878ec22b4d6280c64f1000eb222107ecc65b43ba40eb107c55f2ce2a3b343782ca211fff331914534154fab830cf1b4c4ac87539e9a534fc4032ba3ffab131ebd41d31d642ba840746d0756ef255f5a91d510081e033e529a3447bea0e4a88321495abb8f474651e50fff60c5df473ff8ca8dc8eff3df0968972eb9c831e12fb698add3d38f7c7f4b04033a4bf4202a29d8c2e9424ed8320ebcb5e13723ece768b631135b112959e9d82e80e607644050c5347158dde8551ac673374281ede853685a07a3631d001836ec624fb207ea332a5798b64e29c8fc209e0890a4e32db6a15ff530fa905b364c6fd1d6efcb78cb051bff2e97c8733a5b1125b0272aeb92e5063da0e6743764db9c71515bc3595e3f5679d1dae142442ae629f5ca4e1578a9d90045be5f4bf23513b17dd36839d58a46f96c90e265e63ef6b454a81ae1dfce1641e6eb1a00a178168602000efa212116573d27866fbac34fb8a83b69622447050e3208f208038f8a4197b08fecc396c1626435574a1290a8362ddf84eb2e2b7092ad18b1d862ea69606b8fd15038d3f0a0ec30d5db2eb0928397856b407bfe98f67cfc8205183f06bc03b4234c2284c70860724ce64b875a5bffc6ce6f6b542f6aa503a8e0e4257085c2e19735f00fa324fe6c919dc63a6a9504925dfed022057fbab3a0bd2d5a3cc1d10ad5e3428b7a865a7a987c0d48ed3c7b8e13ddebe4ab145a5a4fcda900a6d8d4d77379e0a0147888c486a82beba3adba100606a5ee7a937fab7b9cf3ef86bb6ce43ca3e40769b4e552367446c2a899123b58f284843cb3ab3561e0880ca76b4016bc200d0d40cfd0b9b556011c662e0ce115a4dfd950ba8729237394471c8d50aa8102dd955eaf34ec679bbdf23543ffdf38fc3496af7869f9c0a704b0018df9174831a6ae524c3ca9c7b2ff7bdbe8503a91a9f01249e48f7a01fa357ffa158bed39f0d5c505e77ae59d0c94572e943f3e9187f177725d8133701854e254dc0ac181eb90a1365479e5e56ba58def453c66cc27bdb61e5f6e4460de551a9d1b68eb58ede6a53930e55f7f04153e88ce84431d917e980a854c51aa469af40e13287fdaf8ae8f860e7f2490f7337540f2eea79b6940cb8004cd49e6f5e3107fd51f64971e9c84e58ba1b858def56cd486fcb9cd602225373dca6cc58863a3a764500a362c706a735a920ab8e9f092830b63ef9aeb5fb5763b520aec5968fc341ecd8f40e92f415342e3480adf6d155298e6558758b14adc8573065dde755ac4b30e3ae00595a69300de1392c7f9c7759a63a51ff0cca0b890a2db9096f7db02ddc5ad924c6bb617e42e5e3fc3e57c980eacdaebe139868a8a80f9c44c6511fe5016e3feb35903a53e93dcf0b3fefc3f7e6fc76c9c004734eb45b0f5afb067a52e267671e0cc81a6f5ed790846383248034b6a6f958aea6e0e00f9dedd605bfbdd7d48114760de47d07e8cc185de4a265fde621951f7301d66e9470a6bf9b61c10a3c6be11f389542a3ad88d7b13dc715310df4dc8034419cbecd448a52711e2a52c3de82c367895456786c4836be9815d91f9d0852381e32a91df607114a37fa05fbd79fd308aa846b07d8da17e42c63872737ea2b741c4fee0ce523653ebd2a81d7023a87d2ea40fd4ec6efff55b6f5e780902ba472233c95c9200abc7f9ee10cddb2a79c791eb057c5fa2e7095565302ffef64bf1cd00cca2416e50f3bd5cf6c5c5f47125014dfbbcc30904f4efbcc377ff401472b67481a3d10476e4e5ef972e63075c7f8e07eec11e37d90a1e49b0218ad6847fa9360bf53b3b3cd0ef0e048b031c178de4a919ec01516da115897a2a57a350f01cfdfe21d54e89728a92e032b969a1c47f9af498fdde27b141b8620034c22d04715c0dfa61b6f7c3474cf8e887fcc56149668215fcc375ee0605c55f2107f208209a0f5a052777e78723b6da3ad50fe0f42253f482f1998dd8e6732645c2aa14cc18073306818c73f0e01917ec5ba888ddcc5799f532d31805ccc9a1cad8fc52315697cf094468f29eaf1d5e6c3537f82e3fa35b8e525b25288a5064fc0080a67c8148fb53d4b4b5dc4fd6f243ec4849bf72ec5f24cb97ddcf71c175b8f349a35bfcb5520e78c8e03a6434025723bff3694b454f4a01f78de220fa7e47f5409561512320b30d8bdb2c0f149d67702c4b57ef3830bad62ba4b9e81d86fd9c35e2c4b570ddcc6b4a1276371042af3f57a4c322ddae5ef14b4ea579689b25438500781dfc105645c9ce6634beffdbe6809090d41a66cfafcc6d2be9440b7475c99de85a2e6e1a551aebca7d9bcbaf0b42cf043b2539aff998089200b5972f622e939377eff05ce60ffeb01dc15991a0fdd30b7c74aa43417e63673a4c48795518e02c56f7e51b9262f01e77d498cf2609625999cc2f93038fd81f70a120a1b2735027c954cdd0422548f5fea80653b6be253829de24a19f07f18beb0cbf90881ba0225c0974b9f20e79770c9d5d57cf02940915a6862804de41293052c2f683d94156ad9a4443142e41b25b084f8a8ec6e2577cb6c659c40f5760ed3a6984fff484196756fd59b972847f555c1efbdb32d1020dcbed129477345e05034e4348d114705a81a0e1015c18bf074eef83dee8de8fa4c964478e7607204286115db48555f843c905fc4da861270e47eec055599091112832eaed4849c9ed583ef9197ac60c648025ad8c88e46c543b69cc76728f887870eefac583f2ca2c0275eb2789d9731c34c94e46807d7617f30670342ce520444338a66c7e17ee72f846439f78fe45a664ed43916e1c646a371ca9a0f20e8d1dea6ad77fc9c1d21f64cb33a6ea79393bc0e2e6bcca0d3ac0ccc400a2a23e0fa66e3dbbfde210abc7c7ec312b58d4911c8f7b7c70ce387fc25ea1d9c7c3c1d05afd034f8d2ddd2732c48068d0f2b09017aaf92c3b29307a90d71d58cb32dc8fab120cb4eba3e464d1b130b93eab95deff230654f0e9f542f2e491d3e04406e38653d2f8cd72937f6fc5074027c267fec2ce78b9f5bcc3fb7ea87cc442bd6aabc591380c8d7c555129a3bdf84c99a05c1443e42b52aea810f0811d61f2b5e62c3b3cc100fe139c962ef16795ebbcf908fa17b9680934f522a06eaeb3dfcfe930803c86fbf06d68c646a69f77224851d9d8961cd5219890ba17877a4ae0162b0b082b74ec74a1da2f121cba35fc3f7e8c69d5c322da1b5cdc9cfcb4e2f57af7404b9e7d1c64fa25da9144480da1eff6c8ad54036221871859116676b30d85c1afdaf1211b254dd7bcb1463a0d1375752204592b4b4efcf1dbb0894262fafe0c21aa8505f8cb148f12137aa79fe09d59b3693fe6989f163b0efc105a8fcfe02530813c276e207d8b6be4424cd5d075a326167ea7a81317ac356e53ef9896255658299349a24138e89503a938e222490ad788dbac19b122932f5f2600dcf014971f4500e8b1255b231785b1a4022d6382d1e4f6371213c9404931d68ef8a146b348fe751d7b96314531b85b04659cb9ddf4d613ed09ec2d8a20a9d3be93423662cd0c156901c55403bcc038b78181e3348f578816072096098eb5a6cdddd37ae8ba17111b0655069a69a07c9a2b7e8ce294fd90569cb4cd0e8a1237223e7c955887c132b5dab4756069726264773b4fa2967875deafe1aeeeb739216b56ce764ad5decaaa44e32e2ecb7b713dcc5c1c61011214e1e28a87148189dc18a2a23769e1293ef3c17d6155408d82c6267624a6e5acdef84e0eadc95f919970b3d48e90c85c8f1875ea1f75e91f535f08bd263a7401c30d3fe549d112d2061fc229eaba23db672dca43cdc838bd6505c568a2fab44cdd26128c40023c31b00e72e7c690b88608447d94b90fb92a36b01c1594e39f3890bd8117181015bd01568d97895bfec2d7433447aa8461a42005ae69fe5d3011d4b471028cd0cc420c109c9e14d168da5b930f252a77d30893ef0c2bebabe9db2c63caeb2b9b8b24ad51d888687b53fb729fff853ca30163ca673c6dc9c9de9ef216c1401aab5ceae4b0704291fb10d57b33f81adc2efc1e0851e31364f1187cde267c10008e78907c893322de6c12f7ed43464ee33d3bc42034aaf43eb81468ffed3179bb5f5b6bc818e0642b44a6e0ec5b1945cdffb88b2b8698ec76f0f46e95fcce10fa26094a50232ed8ebfae6b0b5167a281053b1c8a0413026ab8dfdf607ae96a3ce30b6e5edf892a3257308d6285cf89bf14db1cf301be13502a5cf3e74f4651ac8864debfba0ed51cb12c5a91a02a809af17b300e192a5904a8d3c8d1d2de60fa6206aaf5360c2f8c6741df1f6704a4ca264f34ef47af64fae2fa686ebeccf4f187f3aa5196dd0279de80c5f646afeed053e5a4cbd58178044c8a20f47b3c7f6ea5669a72aabf6f06d5d28009c12e0bf6cbbb9630a58d77c6f713f7a9f2da93a45cdfd8bfe9e9b62c049f2a8a009a488a4dd3cdf52d6916403ef78caf48d88ed29cbfcfcf12939c32ef6e0d3f370ce919c7b307ba0fa510f0c3f4da00b46e887d881fe70bcd4cc73ad52c3d7bbbf0f3aafabf567fb8702a2ee10dc2cb9b0f92dc4a994864ea3c8ab11d95f550572f23c7f7a3ee925aeec831588f6196929d4bcfd4eb4b907b6a36a7b55aa9bf8622bbac62a6dde4d4fac661567dad95ba1a81db7321ceaf880fd2b61692a3e9197574b4efc90a83a6813cdb66c4a62720277e76a765e67f217aeda2b6ff17b2ea9452015ee66f3014c6a0d460d45a5d5aa0a34cf667351f150dc8da8603041b12a5f817480180d97affb4f264e736a04e10d8955afa964d8b0a795d5ccc3a419c64fa3c935056c0d7d792aabd04cfa23f8e5e5a3191b37ff432d2aac8b50400e73836a4bf5a226756ee8012ba070b40f0a9d00681dcf85668018e55bc946076fce97196c4cd3ab574423859ea0aefd14e3d50bd54c52e37f1d8e3aeac1c56bb9548c6990c488babcb6179d615799d3099a8ef84b4d8240959e51909178a5399204d2405cca9950cc9180cb46b414e3f013474278c71ddb4002a78962bb062811cd87c1e616a8c14458edef2208c62f87f8c2264b327ec5243cd800e2bcacc287c58704c098368abb25663fafbd0d18478c129df0779bab0867353d4c22ecc498306fceaeafbff3889e4acd011c3cca6b666f2d96adf473c4954c21ab4b23f1701f3c901d01c5ece31bc1522fbd5bedaeac4525011a07682c29b65f12604cefc239393655ace8668168bda96e3bba4412d4fb039eb4a3d0ded2c840a62f07aa27f1d4d2c3e312f1029fb60d0c077989469be913a551fd31bab40622324c1422c609037108b4136b9b1292209c90f4624c61db1cd26182e4f0f47b6e125bf514887620c0f325070458ed2951cc0769d43f5a5ab8d02234a18294ea3d92f7c1c6f576648d6107867e543df8eb9c471bb2000f08a580f38423c7732f24140083048b2c8816de5e1bf6e66b5ca815134bfd3c8ecc365d1a7d3001a431933b8ff4e23caf9151c462f2f1cd047f80563eb83a59d1d3637ca0af67ea59605495a2cf860ae9d2e82c24f74c4b9b7a10616bcff8400568223a519cfc20f7964f120a03cb781e485097f38c90c915823ab79a252e818983bd8b78358718515df8154ddd00a96919e32b0396a0ee3a45973b71edcb509b97a53f01870a55337f714c2962a420da2c16e2d8266b7c3eed80b7786346c3f260ddcd3086d1965d09f9c6b8e84e654c80dbb10a72099b57a469b18e900b05edaf9a010ebf58c3c4117dc630026ddb3b7f4fc8defc4927d762b72106100299962e946e83e787fb03f71f242e45087fb78cca6a2808efb805c2d3563f6d51c1c50a58dcae9b6f7e1660738c5539367b86bd85a1a5f076c3a0555972d0bc9352de7742ef5751411785242ad08bb306057cb6a085757d4d0bfec1ded3b5d436d3cf60fadbd6a78add1c4fc16d2fb605bfa481d0a31de5401cac23a08a4e2f7e66b7d7d68e3152d6cdbacd5837e740b23418317a67085975185c8781a551fd8bd8e5de6a6e7fa3d8376e8b7c43e9fc5f73fbb5bf4312f8998f6e756edfa8d4641295cc9c575af260a7098ec4d9fd6cda763cd4ff8cc193c15718109eb64200805edad3650334ddaf8a6e8c857b1d4b5d7319343146ca520be72d32a05132d7bead9abea56423e6c64007ffd1d557cad4f46fe10cc7e2b9eee4d1e755fbabd7cd2928977c669ede92f046e7faae58d9d53ec944df02a06c4c54b623e59f59b079978b6681a9474336925ea6468b900288c06f0f75286e6a481b77226b60b3499bcf1fb4837bf2393f36d6d3ae3ddfe5c85b5951c051f1d3e0c4f3a4cadb5460c073e836346e671dbb8ebcf9f69580087af8adb7d963dcbb09e568971d2b8860cf972a927711d24d1c5c74b81f4f143d930022b09284a5639f637b59b34b9ef6c057409b3324cd85910f435dc7dfde06a1c245238da10599a1c1720d407a18b3e398401af4bb30200df462e4d542cb336e4122211b16a5561d4e5b8575dafc030824a5f77c5dd737d71e51aa219c2cf3a48356b3181d89e2f8a774b90919ba270234a9b43da9c70597a4e61f5fd00096b36f30b0f842beaa0f874fdc5db6c1023359a1e27651c26cd988984740624d87f27a3a65a0ba7e27790d657d0caa2b921efdae254ec15359d949e31ecc03bcb82da20c3cb0354e87a83e072dbdc88a493dcb00c2b4f5e1925b00bcc44a81b1b094b6b40dd333636bdc26e2ab1d41d8f0c0ebe48dc8b532fd83d0c1c9ec6c5d003bd21b48bedf655c142e41fe92bd7ff6e6e3af2b4597d07b02f8008a822cd75d3afb5bf051627b5b01212d35362c72ca3d2de7b1dfea03633502886c57db702b940d52e0b0899455d5c9e43d5e43f43ffcf40ec7d24130c386945bc2a99a41607072a339cd406fc7f133667c5cfceb3cac8e104ad895d17d99dd83f7a0ee5a67910d65c9a5e465bd614a3c1cdc19d64a26578a140545aaa59995d783f4574f8286f1bbced0be667b4301791028641f90d632e195f1eea84c719501d0b979292a67453dbbf0e2eb8db39239c747ef11697dc092642375c9a7dc851183579796cef32c9c7f61d8792836b9553c82fe5aed15a96b2c77f908503c5bd0313c84d596da359814cdbe9c0dba6c7c1f4ecb6d66e9c7664ab2558eb851072e25b98432eb11e9b580882d6e10b76d8de41804c2a959ad4c4162600ee1775cfadbfedd50bc08b4e625bdf9a103f0c18cce35f841563c9140b536b8c3c465acacd3ccfc383a6c3ca1ccd198ea7b22b36a5e7f24ea3929285cb0430e7178b3a2aa0f74011548bfc55323ab95ba51c68c5fc1c2d65b5143feb56318f0d6dfc8493e6f92e933af79b17ba08d026f3bd98f0c11e88feb5be11bacf7619e99a922d98314959aac90b91df8db2355d90bd101e1e393c04d52c51b4845eedb1fb94f6a4101b8bc7da9372793119196511fbcf23188f877a838ceaf9d97a009351bc523fa92baeacb1f7319165435f6b07d6c1cda888ee1a31b04b278b12265ad5d17574d71b7bfe8f3e1c4ea129438fcc8cf62dd9d78892a188e2dea23c3b73cacc89d4c7d0a6a7ab253b6af5616d98c9f785a19cf2f68232018ebf17967af1139e1578f8130c7380191f6fd5d9d322ccf21ec19b7c2a33835a7949ea0172be62c4916bbef81d52638b884358974d8bd3c2e1408cbdd3b1d23252b9a0e2f584d002dab8b58b91ab1d6bc6113e51b42262c9ae0fc6698cc60cbc5bd97a6f539e82f68838c1d70705d76e6f484d1679c95ae1c06286b0f9242831e29af49499feb6e0353067153076cb2e25855585b6ff64192d8274e2144dd3cbe87a2b2e943539b4dd5cad857dc9fe4d09f0e04081d258e84d02e7b1f88ed794c749d1004db0f4d188adf2c0839b755d587c39605d4b04f0baf030d0e4b2cb8ad03985155da280a9f1ac61f266f55412bc91b41d95e1638e6136bd212cd3e38a23ef9ccd82f9807e362c9c743c983ca251117c2065c99eb8bdab1fe2366b61b65beb2be8ce6365f03044aee8f7a0ec65708fac0d75bf3ad350e218b733874cbc1ae70b430fa16f051c8a05a3e9bb3b1a704d72023c01e1d9bc3eca4b5742cc52b3a32a860560d48909eda8f0110db90732b1da197aa1f5c257668eb6f5bf5b154de760f397f62ed11c7fdcc9d059f8aaf35cc710740b34735685200b5643bfa86a1bf0dce53f3a459ae3dd3cfabc0a74a4d552e0418c1e57ddd2a68e1eb37ce0d1a9225d83e9e3f6d23f6c167c1b292fda43ed67a62ed99bf6e5f526bd97b675f0a8bc1d4514f4ce1c080603ffe77ee97e502a09e6541a269e15d344ff0c8ca7e222a47da9a3fa9eb1ad661d8cb46b0f4ddba7c02c44ee24f6fa9694e4415e113ed87f0c759013341933f23bf895eb7e51b2a3635d3f66c1fceda1b904db2bfff7f1b7f5e54e90d9c62eaed42109edfe42f3ef5a371d29c0f44697ee90026c7b6aa6b86da0412a2ac6ef569aba122804289b26ba230721ce4d0c89016f10114dea28ad62c4ce683cda23dfdd4142028fa4c6018b526c870fd42840e5fa6fe88125fecdb1c08a00725f97885e86c615f98844012bb16d1b74b042406d32d838af3607e58d7f313308c72b98eabc2080599b667c03e418b452f56de9d6ec4c44860010ce874a64dd42cdf17a74d08fb403722ef956852f19d79428b9249cd0867aeb4b5475bc6e449e47feb6f40724b359be944ca05ed1b842fa23b9a4521484b9cd8543302bcf155745ea21ed955c0ed80e8031221e964ee49270dd35bf307cf775cd496e21be82a2c230fd1453cefaaf147571cf95e65e721328c4de445453f6836670c62ad2efc855a283a701a76d8dbec5b493b4da59e6d6fddfab84918835e6181de2e00b59e8cf028ebae1d5d791c7118082b84eb7c8c2286ce463a27ef345a0099182c82738d1dd8c9d6cdd9b48eaba9c44a2917667e0210cb85eccd268b4bccf3bae374699d2ae19584dfbb128c8813a6aaf36ce8b8a5ce619116a8a87a8e96a8f47989f1769ce7a53930ac0d0c62b4928960a48dc226e65425c53896ff11db3b36b10dd22d09529009fc9ce0637b7438aba00264b6c119cb323e519f1a0bc279a4804ecb1ebf88e6f8fdb5a39a100ea6d5b38ce1a74dae46e801e507027496d1a4d92229a6ad1c7cb33c31c0c1a435152606d5f3039ecaa43fce65ef125b86dbeb9660ce96a706def5bd9c2908a6f3da932e29ae99fb81727ebf25cdc69cd68405881c48ed0daeedb45c1a645bca24b5789ddf6812e5efceb4878d2692911bd4f896681f46f87be0833a4095051e2bb4b678c411149f853b9d741510ad72da815d7a37890654c152eb0e6a551754f3b75d8fd7b635f78345f00d76c1ca9faff6c3006a2edf264b22891d57a9a69947bb5d2fb12bca363e5e52b680070be9db11cc676fcebcf1bc937db53d934f116fc0eace9117494c441ae30898acef0a384bba62b1d2f4a589fe197a45d81603fff6beac404a30766efa9a5127322289cd2c9b3e6a7370875f370ed3277afee34bf2b6f23f1a7a310801bf477911367b9e5c20ee7c5579a13a401bc24feb98eb90b33aad2688c54f9ef8c8264ce6730ec53ddfa79dcda9552ae84f7379ed570ce73603b7f25f8ce163462be86dc5f7d6d2123dc024f36fdf8924df4dc8e2544d4d9abb4ec6bc7694bc1dbe71c80ec376101f13cd4ab5e7ff3af176842fa1678db3cf691f766c69788d3e9015d073df9656498465e3dda1000fd066f9a846f1d325c2edcf751b7820b1e7e7100fdfed63aef58eb70bbcc3aebf219dc94c1a189f00294e8b0fbf13fba25ea718f4f6c0bd6dcf1d10765d8965cdaa50daea47dc5f128708e6dc6dc36b4bf12928a52557670cbebf88e62c4b95dea183329df14361932998305c1709caba3c7a95782bf3144e7f3e545c43195cd05d04221fc6b588a8e6188395ab981cda189b25ed2105990068346d946089bba5cfd57d8d433b573ccd6bdbea1cf18e5b1f61a70cb0c2d5a873e99dd141ea48d0386a243bbfd289b52a61ad8493fac393a83b4eaddee4d9ec9a09d3eb79d060f82232187a94c1f717c22224954be54d529bd78249f624315d9df4263022a5fd4f0f7fc209971da3475712273d9d623dedc9d331c916d215a54ef98cb5cc490f199e4d8679ff1e2d1ffb0442010e1f666ecfb2b7d556b51ae219a9b0fa84149d357912f8369d53cb8ac0eaae178cc65f4cac20bd89da23fb31ba45aaecb8625d2eb4328f306f964126f8d3fb93e79fc01b86ff1e4dc9dfdfe5be76a85d13f283382cfc4eb2d7fc21fdc6d5dd457a4b8e1ef90a0039d76cec88aab0146ae660e47f9494f1ee5cb356ce609c6bd67a760ed1063d248d5111136602c0ce35e9fc27f16a8ac4ce9396ce4cd29aa06d0e06218cb5a249641061ee0a53ecd74bcd2802c4cac862e25c3b4ffe7d1b6200075fab3046ab208d68524263637f60c745e7bf612f339b5310b9d29e67a7f319f469fed8f859085e64e47607692bf380f985e3b023dddf9578ec9e77c9655145c4acb949e8abd3fcab3b32a58fbe5c71d97aa651c43fcadd77618bc3eba9fbe29d4642b92c02b40b3a429d176988ab230c5ad9f271bfb6ceb96be0f6b6977dce7cfabd75c2ef81ddb42b96ff89cce057823f2e5715777bfb614113f311f79b00dfa485bb62baa6d64d6eb1f969f091a545f49676dd194e7cd2718dd3f87d3cf9f677f1dd3e2ab361a6245a5e3525fa1ad99608c7ebf852880375d11906b975b40f232fed742ea4e3b358bdb21ef1f29705ee057a03cde574aef5293b9dde717b4a8469bad6a3eebec86b0bf2ff8d5f0693e8a979c0b33d29ab2c6f66ff2aeba89552c5cbd5ef5959267357ac1984d0e27c60e476b47211ee231ad60fc9cb52d667a0770275ac16abf61dc0fe2fb2a53a83d0f505eb3859570acad23e6e1444eb87e46529eb33d03b813ae60b0c62b00c3cdcbd99f5c6e223c24f99a71d4e66f63990544a882d5ae326dbab91653254ebc32744d504c1379e8f0dfef9ffbe6916cab9f451f6e0f5b183a8d8a2ba11b61469c88c03d6137deac0836668cadd99c754385b98eeb59be7152bd78b94fb8ec3eb556a57a47fe2c8edc0bf8d9dc7b7bf83b7b2b99c2dc738329367836d604705ab9cdd697f3c152b3767197d8bc7ba5bd8a1df131ff0581161240ff23ef345a13f70b02006710c8e80f433225fe2e5151e83c7748f762de4a87668f2327cb9c27ad93bb9f807eb2739156564bf9e55f02f173b4a6a416cc1c043b680fc30d78df472dd9f900745cafe9da30d146b4abb5a138aff1e847967134069e4e9223f5675a8e0e6e0829f6055a711dd8bea046dadc676cf7a61e926f4d6d806b622b6bd55a9577abb64ebfbab28b2497bf004158e33a9530e02ce287909b38de9dea77ba88b1146ce7d201448747dfd314af086b91c2ac3ad88910c5629681eae6fc507baef0549bf4b668ee48c3798842eabb80a9328c9bb6d0bd4069166af9089291c72a7de6641ba7c6371fe40f8e7f43cfd500f38691f200078d97d006853185a82f6433c6af4ae8f27d5e2335ae9f0c6835431f6aecae383f395c6ba3b53661536f4f9d24d777a0c3398acf16105d95d3fe50245656867f085aa9cecc51bc718d2c291bd8803572de29181fb6197b30e453855d4b7562356922bd53b157c0e46a8fd2112e15ed885c9eea449ffa7a0b89ed79b42994fbeba03fa2cc10c1f902817d35bf0387811a24bbeb954441689e748c8b2791201734dff9afc80936df2e16838d7fe8f4021f7d8686d8faf3fb50114285ead7a30520ba9fb37b5c4cdd836430aa993339824e4660d4567b14f4dd89d0eb79470dd17ec190142ce0a63848d735f68de5a4c99966e1faaab52ca064a005cb95b27435df7f6222a34db279a15162928d8ba4daae882f696ca066db17ea76d64d50b8abae7d682837299f71e772e399ba5471d5f59b1582cf1250f45fde88f1baeb41c563a9bf5925cf7a5666edc0baeba4b60369c38c2d4e931c18116933fdaa916cc4ec755dcd28e8254c778a9d4aa57323ee443a2763f35e1ea7ce8516eeee53463c3aae16d865c053e739dcdea707a1d89c9ef7d50494a3109feaf226ba2224bca8657b20feeffa94edeff65e4d44c9ae68c9a580b113510badc2714801ab3ec9806b83f1b38b32dae1c58c52eb3e30548b0798005ad0ecf80763e838263081915472c82a1535e90dc705a267a45a9c830ea17305f8414d949685fe0c7c2156de04e0d7c68413dd0029876b6d4c5d1a10fcd99c870c6a8f42e008aa3f8753d1324c80d03c53c374a575c9b098e424a4f8130551235205dfd75269daddf4e47d575d444961df5442ca87629190a12dc12e41da841700c890ab6978c093cb5c2dfe4c54296205ca7cea93101dd41cbec619e564847b4e03f47c00bdaa0e50d97838e5ebd17ebe18b0061e028d996747dff2afd5fcf1c167398e4da14a04455b714d64289f1714a17a1096dc92e4b0e1e67129825ca79643f6a4b4ccd71b7d190796426e642602e2c6dde6c9818eca5220770a2b4056ff4e16fbc1660a7368d59541493ff10f640fd3a362873e2396a41092510a0d0d9296a1b4e8416926e64aa6418dbddd1552bc2c679a3a9f0ae78954036ba60631f773312fcc88f50720a78269016746131fdc310037130ccb7438af953bceeeed9cfa21bcdc8326dbc2328bc2553d69fed977edc1a8339d8cd88dc0269946900c9f4272be6ed3d3ef03ab3b913f332c22236f2ecb622816222dc8086e7c76083a967a9e310aa77681dc7789dc76535c2048c8761fc1b380d480d04b0b956020a5b0eb10ea67318bb4a770769bcc832701719d4ab0b1b7fefc8d24c803dc159de6cfc13db6aa73554a91785c34879c52fadb8682b9331a7511ac6b275ad0546f4ba9d2cfb07dc0dcfb5f32d9c2e4081515298693cb5e9121d6cdeab4ea760daf07abedeeb27eab91e5dfd80f46e18a2a49583ab85ce67d141a5e58b1e98b47b59602547df7a50dc2af503e4a48782d39b7acea27987ed82a987857fc81b63b204c778b3461687932190d97ffb0feca87b3d2afef0b50c45e30097a1568d5d636e07d614dee951409a71dd2cb474667f976e042aa66edd04fd4f7d61b47d2d40837d9864133f64b0ee4570a4879ad1467dd57ad54eca8f9c125abca759a22f18fd4714bc17b90fab8264279892421e6c8c7100353d143381190e1b672a114c9162122068623c5c0a911d244111748ea1d04025d51bffa6296889c9d950ff8929c9d8902973f344532e2cc922da780eca821e0b54e9178d5677f61343ef1d7fa27322513b2d38c695b044a8d992184c1f4254b585ff35cf87585f60f3839f70a15bcc75c3948bb11a6e735c3c2d9befc48e622bb8780e41796236dcce3db1b40d16d164a32daf13b70ca9a0aeae5ba6ae3fc6e88221623a5af2c8526ea9ee70ce00087c133d066679a61b69cf69a9410235d44eb76e3bdcbf1c8aac900f971f55d6725f0480d974af9e169c646412dca3c4ca076e451781edf7b3b63a9b565c94e54bd551086dd0d5dec99dec52c4cb2786137c4f6078c7c0fe7ea37b4876ecaa9cd8046d1e4cfc6d9d046c8258f7819570cd60cda13635d4648f9fa0a17e047ad596ca855527393a7bfea16e9e1e8be645763f8731851cad0a9f9cc7583270015e7c31eb235e2cdee307b48b34a5318621847f26d0c066313ce5d928aa1a881481230e8a015ae1d92f29ffaca13914b6764174e7987ca73728f4e3d7c67400056a1c0ec73814e354a64f7c8638c0e4e41cbbbefa56f022db720ae8d0d882c8dbce9c89a546f9afa5b21bc1823cb191c9321ea5f9b4b304b7132811eed617c0db35b9335a2baf1ba4d029ab15aaab7be75293070e7d6b559f1afa12161b225950d7392ff70d36a179f620fe748b9ae2fbe5eb363862411afec32145540037309d69e56085ef7d945d8f85938d171fd7a2e4144a2b0ba23b57032883ad360f4af92238a2dca5227af9a546b0a223083c46208b99046698ce5758f84b4aa7817e4912271931ce850bd71c97678e35bb70cef05a3e4f6467c72cf609c00034a40281fb16295ea3d3343387d99db396d1314e73ccbc51ec91c6edd85f394abf11b4bd7c42fab6303f592de504ceaeb65242b361e06a4fae97ab3840e5d1da5a1271261ad54072627e02e9a8220c8138b737a30dd795e192f24a1f901dd40136507e1fa42dcd164af33957bd89475da09e78c8e83a444eb354d57c8406fef745ba48f1da248fc0aea6e64a6566485713bfa7e89f93e7318fc6f790fc25382b43658c1598e41f8a280c2d41d2875e435acf4502962b8b861991f2b6f8147baca4556007a10f634a44fb4c76a821ee07a65c754374172b8c39a0940ebdbafc8a15ce5a06a4ccaa2c683b0aa2d0f7d7f190fd4cfc6dc64f29633c3f4a9eff6441056ef1266eb41f133c2b90103e87e42a4c087f1f6af7a2f08b7b6a64f5e2d52dc4c8c99563fbdae3459357db561c7418af3109d57f612b5e8a0d2312f82fc26fdecf523748a9b484591fe815b1e88284cc8ec9e82f7da563f87ebcde2752f69defb26b9d97401780918d858d502dd53550eca0d177f55abf669ec2387d825988398addbb2d21018b38b185f0f55cc4c2e4f82b072779356347f9fdfea20b93c41b2c093e43fb1526735b3b2e04b5f5fbcb9b6b70fb45daba0d54de5c6adc5eac7bf309b5cf0f41ae6f7da6b3ae61586056f11c554d191085e03e396a37d4668edcd98ccb9a61eabefabc881d856ded70f2331a2449e78af38bd7e632d1567fd89bfcda4460ce25edc575e24692a830e9c14f375f2dede5afd19a69dd14592707ae1e6a4db29d886ae34fa6f3b12045cc4a043f50b66f5f0f497dc29502ebb0ee1d08aadb7934b002abaf7f2a2133622f7897109c67ac1251a5de817448b174ad9f223ab6e34d096472ca48ad674eaab3cbb0255ec41a8d5e8f3d099e2b9ee92b297f61ecc11bf2fa37f60c2f2931af3388eb94b3867cbed9ab7ac93150dea5d2a5571d6a7defc994ac77c84a64bae17af7a9b6a2e6e74108a54e79a66a3c2cfaf298f9ee3269fb86dd74b7f7c243bfd223670cf127633f4be01c5aff8f02f9eba0a910c8501244b03c789042b68238e1210ded06226becbea2bbf5734d19eadb2c3db2949f57b9ffb3b8222d104b59e7b091a7ba2d6e013736a3efdf83a3991c20221e9859b7ee60fae254802b105b0a13fdd92719ace9abd4272727b1b4542fdccb7e2e9a55e64972ebf46e6033abd4d0155a851667bfd40932e2f10e12502e69dc6f1c67376c7a03f1621caf6b382a757bc172809fe3fb68262ac193eeb8e96b7460b05cf9c56d7f7f70eac15a1f0ad5b94d8abc6e27df2b6b6c4b89c2a69a0855b57d0e7d6d11d26c0bdca470f4751c0a1aefe6119bebefb65512b831a986f2570733fbab4c37c2104e1a6b63d0b366c104a9414fcb816418e077791bb44cc0495b8f9ac6af0b49bfae7d924422908128d93ce2b60b81066df2c6272ff892ded6183205157226d1b96d6442716fc6c874ff880a31320bc5ea02ed89bb33b99a8a7f8c8d4581498a4be0f82186db6943e704f6f29aa7621d1b15b5cb902922a839113184f01efe405a8cc98b5c2c105b808ca38510f8edd1750120630c7fc7b242dee0fcbdbf6edb9f373342b34498bfa29cc9f5b7d63f118822032bd24bc59c3b0c42ace8d5fed29bf2ddeb3fc51e8ed3badae81d6ec3930e0434b50eb9eda37aaa10d93c601c47d6401c3e896b391a30c99fd9cbc84445dac895b110f0451fdbee4f06102f5ed6927b1306327fe6637bdd04d6ec86ea4c486d917503244697c07c46208e168b782750db73900a0398c356f981bfb74c90b2c891fae294705788b1000a2d96207a46c4e2198c6f0bbb9ffb866f5a058fbba12d3532d61dbf5e4da200dcd5c1c068677671791a8358fc8b928a22b46745b4905bf638c2f8ce4c5bcb28cd89a5b7c6677c44d66ecd481c35a2754782c7c7328e4f0152b50b03dd5ca8e16c7c26d450c3872291c60dbb27671e4e07fb38545fbb7ed7eba1c5a45893ba8b848157c17195450d85d6623e86a8863b6d6a7fb88c0117efaadfa37f7970cead9bd55e856c7ad1c0dbc67a148fe690002948360763aac2db08820dcd8697e169b041e4622fb5d311ffe2dc37305f845e0c8dbbb1c0cee8d1255d54867735d40d0a178bf35acbd33840b08616786a97f27a01c0c1d507586936e5008b9b70e2378db4196fcb65f4371ec0c117601f6c2a7e114a74e36256f040b152c45f7161cd9839616fcee627f6246b0a49799a6fbc7d555143187b536ed8a99d26acaed2ef81a9235dab7d6cdcbea67f1fc73ee863036a2a9b3a8ca4ae24e530e4d2c84d7510667dcfddea202ec2872c15eb374061910bcd98fb1c9321ef2400bcdef3be300118ea1aa7084637400523396b56d0b63094890af88a441a7ec02f7580042cafba593c7efecae600abecca2a6b3ac7581caa73cd946bd137522d90ac9b118d49100e339f0002308bbaad2131df4d3a720cc00e1750d6605f41516a22221e835503a44147d9e6070b00096137b32d93e06785b9ac608be159326b64547b61c063f095e617383fc19d193e3f392616a8e9291ea125f609ab1a1aeba701c691b5f1d36d1056eed1698c52b04f9fb6d711b2c4051dc7e478334e3fb443db5cceca369f5d1048eb9348d83841382dc7e1d4ca82aac47a0ceb4ee993dab65e4f92951e1ba612ae80416a02af112b25384ce36dbe5174019ebae1f1b5751ca10b5225c1fb16961c1e120b15ba76d0d8533298869024f1477f369e5889ccb7b67d913059e46d647683b2107023c56ea485e491f8812045c85dcd62b60da1cb0a009a69e1be0145c76210fa76f2c80c93782abd05d5e2543e2b0bf7e7604ef48e0f7d806992ae0871fd355c15f3dd2fb9ecc9207e8ba01779fb6247dbc1f488b1df1207d43c1c29b5199758aa5fca66d441707e290a54d0e8862675a60449b7db2d1b2c77507816fcb1b6ca4dda9e27d6a75dc5478db71acc56d1e6d00a8d0e538a25104ae9cf3f3316804aae7946ce3d328aedc8bba8ba74302bfad1ba790e41fc7bc36254df8e65f79bb7baf3ac582e9c20d721c42b5f9f8e13d796f46edf5a5477a9c326c9517a8b0f44e5f64c6564f63bd13479c4b0e8cfa167a641448fef47ba4c9755720c9a8d6af0554aaf4147621e60b28cb632bb73e5e92b5965cc4158fb131a1a07109afadfbf1a6ee7e8ee69825ef85a33757e4292e960db635f4105860eb0f31fc7ff2b8afecbb529d5ab6305d4f4646cbf71be0d112a2987e458a34462a52f9eade750cca8e85b216a5a211a8d18ae240759d44e4cfc6d43beed96406b4c0b3ca2ace9f108c5119c0f8ac68d4c3cb8820a733d0b3a25655b04bed9cba407c0c3cb373bf1b76a106a2e69545034eec844a679b5b1cbcf75c5fc5fab8ca82fb5452e00bf16b3dbafd8886db485cc9277f67af9ab590bd3bf8ce15120688fc3f467c46e4530eef1612b27518d499f3e58f4faf670901364339beb55c3310394bf938fd26cb4b7b07e0601ce90e01392d60bde1f2cca092c2c1a172a1061462b34920c0f0cd74535c67788f364bd19bd4c542067c4a2a7775ba30d44d30c321c0bb44d2087d5b2ceb02313662c0adf5bf333a2b0d5f6cd061335c8f18113096d481440c966a8b188df633862801a6a05ac7e3e3da226983d79bc48ec02de3bf66f82d8b48172ab94f6eff2f808fa04cb1d0ba3fd541ea94745b3f96ea9988ffb80245161e4044512f7ed6df03fdd0050405a95aa5b7f1f4d02d3ef0df73650f1035da33676b4c2e863e05e8feec7266436af4baab2c6e6191d6a7ee5d28758cdd9eab549543e71e24228a1363d6b534026db3a3cbf7475eba6f219977c8ed977947b45220feb221f24d1bc470aed3cfdafe21f25a5557c85980aa41cf5e57aea10a6ba8cfa52e64caa4cdcb6b81cd8d7c49614c0a150a13bed04f915f928770b7a15cd256848b17c32be775c594cf8e535c7eef894f5b46afd46b0346fa4623d9f19501b39aa360525a10f636aa89910fdf062d59bcb6a9f9953af3b2e47370031d12b106b2cc5a17cc30a29b70cd3ccf791c4d632d2eb48003ab8464756f5119acbc4e6a88f25ac69087b8313ac7799ecf8138577ac908b2d85421665c94dd041a3fa46d114e55f737973aaa348f7888a198b68048732dc769957517c925153da07a95b0cbc643eda620b2518822e377faeb1d3da64797efbe54cac4dd2de1108ca051b050b81c02c2e90f032faff2a9b43f51236cf529e587a861be420795df3ad80901240c5b3350ca47e57b98224bf8b10a1f9ec1b344cf6fa2772f6a9cfe537730da9dd153671e7522800fe96f875676ba630ba3170bb4520afe5ec7b5cae2266976790acf46f11782d1c812c55ed06a086dca339ac5e6b4ebfffc5589e4a27a5d3b2dc00187fb830f83d6c49cfc7cf01bcbce68690f308c76947d5f7849c4d00cec4f29d41395cbf517df7c6df3f9268cc137b875ea4bde95258372855c4490d9cc4c789a2aa7bb18793ced3f2c1816ad396b4bcede4fd919b33e8a5e60c707894e5788323de56aa968f3dffdab7263d164368ece70c84284ad9f0cd4275be2cba9cb2f524e681e7022f3c9f8cbfa20966833ae5b5f42e7b68b3d9a04526b30bec06a23c836c6a2314f0cf1854f139d9f6784d12f8790c23a109cfc0ff4b9a24f146692728cfa1b31c6d50919dff42a6d7bfbe926e5d015874a6fa79c64e021763c212bc91bf6946dce9b5cef5ee884658b7eae2115fa46e509a3ac1f1f4327445e09b530d36de75e6342a50ade4cc704c28c741eaa914f0b180870830ed776d259c7317492d2b8a1280f053092bd92113dbc5a3a5037567ba627d58951e457040f6c29b0955323a0e429ee1f36cb545788e4820cd8903d27806c2116735327f2a6fbab144f1aa293b0fdbfe7925921e7e6438451cab4620c6c501861c1fad087922fae9443805091aac071526e84287a4838a97c24e90b89fce2c5855cea09d7dcbee16c48d1ccc27a2c9497d9db6729da65cd37817b879de77274a05f072b865e9f0310d0c5c0f69d4d84575eeeb947de0b8e740990966ed3328afd438b2c7dda3db173a3a1ca40b94cbe06436f190625de0e3a0009d7965ece79a5f0ee4ac10f15a8384284f352c5c7cf082113c5263239d48b9798c5593065a701c5d846df50ed11d12dc1c6b5f653e7421644c1b1f544e23e23328e5ebffc453f448c21ba898725946789011d8575e2c1cce342a37e7e6df44746d15f5e5e752853fb928fe4f55a63e1886745f34da5434c6b713df135299f6af9715d1878b808ff9917e2183f935f003c83b6fd777abd48a640cf0ca18c3fc8bbebbd2b8e96e05eb806000f814243a8326549883dd51f9d9f362a20d5b3a46ba8c1d18f87c8bd5bf0badee1f470815e10a3c2c03fbd86e8f0a0dc906ba2d72606cb2ca80e29db2ff4204fe52a70f290ba448f02f78f34c88010414a6b8764f4697e4639d94c8ec8fb115501f1390204ab1b980883a40587e40b62cf023dd1d44c42d4cd6b22d308c708c4760ce9c5cef1debe970eb2b982e1729dcce69a9ba988c08dd553d3e5ab0a4ee7624c26afd050622a288fc8e3a469fb9329cac460ec1979c54721bdfa75b3a3f600f880af8c9b1c6c3569372d148e814e14e4cf8e675e3337c90288f71c60cf2bae10e32a3cf0fe840fdf4d1b94a31a22512b0c2dee8228fa79d0bd53fc574be0d6570ca956930fa3912ac75b8b82d2629298ecff850b5c3cd79e54ff07970c3d14b79aa1c3662d87198facdc92ec7c6ebb6e595a1990fb64af2eacde683c8e524df43ce07ad7b845f282786c46cb7e2ac857e62d82e5643a76450224de2749a3f97349075da9747eb33df33c83f120120e25b00a658dad16ccc14fc8ed3d18f6bb4180766a6869a47950d37cc6c2c8d279719e953f22c240bd28834400ab59890c38a3874c8d704ab58cfaed9d0bee1e95c3eb30102f5b9656e467a2a016de641d7f19166c743bd9521fd3489316f16bdef13eef19ca16a57d7f7e1eb0af6af6550ea62cb42ceea358c3ff446088ddfa22f80a12bc2854275f70e6fb6898dc82719934bd7f139ec5ea8b9ded1ee94f92890d2f90f116377e727ff3bc075fe236f1076913fc49b74ef87f0a4b1cb7459531226e266f022c65a20a8cf046aa4b02224976e73545c2c64ea9b7692b55fa1b9884793ef46a8c3336b49cffa596f92f79ca5dabd0c79bf7c3364a248fa5b210e56408ba69938b4e92987a0a0e5ea8448461ef4df6c02f16c8d5448984484c8c70a7a3435fc8c570986750bf8518a36536242726582f880148fb50fae1e4140eaa9290f538e443b72c92e1fe206c10aa3c2a15677b5dbea6c999783bf7ed8c12e46724628b9f8bd4435024297dcf58e22ad9d32c4dd9a7537653e378d83d4117fd9f76fa8cec11a487fabb901f3f3eb15fcc629436e507705644802caa711575f4050aaa20e692bfdf56be6c9eb8960fb32e766d1d442aa402060154d76458f79f09439223455fd793498268a183d02505b0d3a1f13d89175f3e061e6031e05bf2b6e3aa89d617070471f63442a2f77306279255bc592bd9b6cb9b794494a1943056b05790565ae94cae02a63ce2c66cf253b5f97b5d65a6bad5558a02a70aa78e93d838668a02287c6a82561d3cf459b7eaa5567afd76b042414316c7f28a2d8fe6095f16dff9c12a158b2fd5f3e88036c0fa27981248a23f68c0182c8286d7f1b52dcb0fd53a061c107db1fc703588862fb4b20488a2d760e22dbdf852ac384edffc215dbdf5565bcfce9cd144eb63f055265cc24db9f2a69c1f609056c86ed4f77fce90cb2d8fe74489541dab13de78c6b8198e2e4344d70200548664bf8d044950169065f5851ccae6d6e10c2c78f0e5b10c103cf134e24883baed9c9376166bc85bf0e8b2188f397be14b32ee999d54cbdedee2bd0eecadcd9a037d57d1bd2815c7535cd8ddb90b249fad093177992e0531c6775ff2e9f9afaa3ff1ebfa75d3e35de83dad582b3baf77e347a4fbb5e7056f7235db5cbe6c2a1a7b3ca4953dd721661edf2a9f1a9011fbfab2ba7cde553e250ff06dd0288245e64adba87f73c7a8cbe3ed62e0a7356f7a0a631677557535a5d75b4e6acaef3d848bf5cc9131a484ffb90a2e0e1f2b9e1fd2479789ac226e97d7defc1ffba77d1c9a3c70feaaf7b1711e491f6a919b9e68c07187ec891762067753fc92a2489068890bdc8920e6d6ff49f22798697b49e0dad1e13f6eb4f8c477fdfe53d7e1b521c8d34ce9ab48d47ef6d48d710c69e765ded9ad13624163f24b9d328cc6d9a3124a7c53923cf187faba90fb10ad2cd0424b181b0ebe3273cb0eba79ec062572a7695c111db001e824a2d0a646af8b30762071fa3b6b97fa97dea490ffee8bb184989e71ebf2e71f640771063c5fd8bfe516917dda245cda257744aa3c2cf625dcad89dceea6073b0e0c744eebadfe142de56871c66095c6cc6700fda90ef7739cc029c5e9bfb6e3cbdb6d5a1cba92ff1fb518ecb72bce7debda82d0fafbe14f57416676f36c7719ca66dee4bbb636376480ef718e72c8ab35f715ce94b9a4709f3d080f7f95d59ab6e9478e42ffd245dde671a4f636751d524b1b3b8f764c836e637ca4379284f8edbed4603937288c1f71bf73887bacc22fecec6b2fdb140b38f1bd9580fee5de69c0dc9bd37da90f6e516f6a41ed6ef4a0dabfd959080c2dbf471124e283123288b28dc12338c8c36fd0b83a00f78c0326182124dd840daf4eb0c65c4101fdc2bb0da3e32a59f676c7a648b938dd3dcc3f7f22fd35a6badb5d65d67bfc137614acbb3b7df7c7edcc82b0f06f327727f2b8f0ddfbedfd456882d4a97ab932ebfd4dd4c5fb52903c925bd43d2435aa19e6e99c8b80578742166091668c6d8b721fbd799b728c6398be2bfbdc96432994c46653487e6e4e4d01c9ac3c2acd530983f91fb3bc2396fe7562ab70c241baa7940f8e538deb221ed7b8ec79ce7da781e76f14d9892be4a6bbf04ed972412ca12cb9e1eec09d342c09e6509143791695da9ec12db1877b890f702664c7d05cc1252a8acfae5016a92d5ccae07d835a6be90a3aeea24cb79b3397c3bde1b474fa90d6f55728eee3f0bde52798f5bf096cad32a15b8fffe46f758f3c0dffda779f8d4e0efb4cae3d13da755de93dec75d1aee69d411fdd9859183d709a424ee488329d834ea38e3acc96919674d4aad05f24d988fae60c670d4875902f71ff5defbf996e4432ee78cc686b3384aa9b627f0a1a15d724f42c2c11af2fd91379e5ebb7adada90ef8b35a4c14fa37a32e4e730f61eb9a43f3ff555ed07dcddddddfd48a65fe9ac5e04dda352dc8f046e71b882de8cf1dd430d3c996e777755896e7f1b17ecc6e1a5ba415e8d0392ee5ebdfef828230fc0157c416d0942bbbebf70ee3c004ddae2840e18890c4cac70b2e3030643d424dc0a84a04e0cd995abc13382e30312341081cd00c8cf0c0b203e0005cda478e0c7360345649cece064c82ccfa02543f09e414b76b6bd73c61435388ee3a8f58a1210401818181810401021ac218208228428d0edbf5a85357cc94cd42600e14d7c45b5dec4e2676b29b53a56c75a1d6b29ed216ad2c45a2226acce911eab4369939e239436e9394229d191263db0233db02356a7c7eadc70611706a31476611706b346608658b264688497987b6fb776ada0adb0e8d64837427496d850bbd7dd86dab5426ced0aa9d56a16a6086b29b53a56c75a1d6b29ed2162c2c45a2226acce911eab4369939e239436e9394229d191263db0233db02356a7c7eadc70611706a31476611706b3415667a7490f91b594f610d9ab73abb03a4444441f48f988d8baf2f14d98f2746773ce9be4d2ea4fbe2799ebbc9b37fac09054caa6132af5a2b26273560d1c68ade826a4057469a13467d1199db9b8b8b8a85e44154b8c95181da85cd10138a1e4d2bb7d674130bbf16a2ab322d35a49d38c5b42d4271aa3210e9487c756f7d00a904a8803fd71517d607a8901ce3babd9f001f83dc9309e0dbcdb7caf8bd9aa2f0f8c5d5f1e801f91fca30850eaeb652b6f2de3fada81c1c2a251836148698ead361402f81111017c21c74d85a6421ce8eb13015c814decf2d6be21274345ab112b0409b050ab4008610b1f005e02e0b8264800407034c0cc4c0268b0421b23801c697342322b313cc16ed73a99fe3702f811c931e0add51ff535ef6cce3a20d6fa2d098beecceb8c049004122e095ed455e9dd4a9009c3088b423066cbbb9162d8f5d6e8f56edebab59a77dbb5c67d25805f16596686455d58e4ad7bb9f086452eb5baaaffd5f2b7843888a28c09d5040150010cc0c9aeb5c9aa7faf98adb06886454f7658c4d532fd321c00f812e38564ede9b5e7071fdcc066139b504add41b7f6525a826e6f1fee321efa2e60a5649f734e6f01ad88ab8c39e72c9156b293920a88ab8c39e734510bb352f2b4399c1299be459db8effcd47543388532a9a4f28a4a2993c25289644df974e292c8f4afbb8be09cd341776ff94673b2ac88a2e76e5be69cf805bcc08eaaf2ff628018a005d841777dd04ac92e78e7de0148670cf71ef806dcddef83be015c65585ab6d65a3b821f0f12734e9c653ed015e603106026082a971691654525853a99728914be64d6130b380006811d0486cb5dee0aa131901f055593ace4a79367ada4f7a0f73e7177a711c46b60f774515c398b0027b86cd7325964975dada5b535c2cace695de64f648046030d90e882865a0fb4efbc10490014448a2984f041054f9e202d14db6ef103aea26797f9a5802f0cc409204e004122c5c43761be6f8a4cb4eb77b48e46f35b4703ad925c76b48e5629cde29b30254a86834cbbcd35a0db3a68184976e9347b3deccfbdc54a503bf6a276a8acfae1a8149a42ab5131d47bdc7577777777f7fe8e65053c54e87ace506dfb39ac6173fe44707aa0b57fbbeb3140b759afd9afb4e5342a056d7d5f5fb4f6bf71d2d1f691ce181163bc73efe82f4f5d5514ac0b6ba082a082ec1adb01f553658c5041e68cebe1ce03703a6dfa14b3c57d358535ec83b9ca506d6bedcb788be509d18bc4262e0cc310ac39e75c8a010ae75444772d9d769a827aa16e5028146a87baaaf72dea07153b853550b0a05c3a6dd71205dbf5fd5bd8bf1df6577e3f94260b059b33a6e752a54d9fa28257ecea1a25b35625e79b30dfacf5b93ac75fdd7f2eca04268b52fab4851923442ea7ed7354d3d6e9324fdb4dfd2e32ae637dff9afaae77970d39391e977b9f9aab55ddfb733cb056755aa542fdfb35fe9c5675bfbac1cd092944363c3182ac7fb5aad33b6aee73bfc22469388b3e0d0a1940c003074ea084acef22823cc9b984e4b46bc66d388b0a809ca4ff0a14fba0a4cf0a94ac5f35fda15cf7c48429656658e3339d30a5485deddf74666cbd0a21fbea3263d7017bcf3de7a43f9d756d9db7babf6b9b3dda21dbbfb61af1edc8af1111993e56610ca5c8be37c685f24399efcfec5b53e286b72028512eb660aacaa851f6fd0ad2705aa50225a7ea06c703fbbc33a656a57c3bc0d7be3f614aaf9bd445a659f4d6f7febf69cd7cecacb2d2b63f0fed06c6416bcef257d58c3efc50bb404d875c55e3fde847daf5693a73cf71d60d1a6ff4b88635a31f693a446774d6d2733c2dae9c65ffa3d1cab35535d3e62cff59e91cea66d873684699e6390e739677ee4edb9eed7f744eaa5200a7c2e068876c479350aeb2d76b5726b31e5edb7f6ced9eacec49da73cf5a726f944dde6717ec526ffaa5ee60bbec3925fb97e32e41d835ac5f9a3348f9cb18739650daeac1aebfcb965d4dbbe652a9542a957269741238f25ab8d13e6d979ae9bd0dd9813204ca0e941d283b50688042837d6d20bf40104307623b1dc8e510c4fed8971d9b226c4430d1a28618a4a8c1ed8709482e80fc48c18d0c467e68c0811d195818e144c891580c50b698c104323e46b811c1608319846e50811635fa81d5131cb6fd1172ea898f2ca6d89d273784b067101425f6b767501651ea574ae9687f0e566f9fe03f63e67797db5f0772777f18ececfe3c10fbfe46a0f7812310fcc213bc8f342bb6955a197c773563eebdf7ea4b6f897fd615c614c094d27aeb6d39bd44749842c40d3c3f4e88a8202b142345beda82143c99a206c1431653752584f382194021198827f2b7a7108e0a84706042383208fd8042a710fab1040ca11fb3a01708fd60018ed00f1e2a847e74a05a21e4230742314811f26183ed7b0af9f06297f9ef10df37a9e9043092c450af04369b68ab55992d073f58cc20c4b55295cc2d3886f178cc7f1cc865b566bb15f94be6b6b27d4da4cd38ce2efa7b4eec36d3d1662a6d06abc5662a5763f50748363483c16030180c168bc562b1582cc7bc559e985f1b0c0683c160305a8bc562b1582c6683d5623f1828cbc4a19fad68b40683c1603018ac466bb4467f604530180c0683c18a2a4ce6b6b27d4da4e5199e43b2599dd5599dcd663275ca7289eb0ce72c8aff2b9f0171705c1680299f68ef4a0fa7d2d3d1d2c2dc56f4b2387b5a2e158e4e1b69454ea3f70b2c2c0c51aaf52844dba3c062d3a2c06253dacd6d4e9b1d291cf1d83d4ec18662cc433bd9ee86bce64bf6b439946ec859b493710ec56f401ca76d96f325b33c327d60be7d4e892fb27d7b799b98caf64663b4dbcbdb449aca21267d5f7a11b81a3d0c674745186675c3f8f10bc9b645ef738a9bfdb8cde290cbd48f58a33457027e253a677c43189b4e9e0acd6258a34bc166dfdb93cbfc2c208d0708dc402e7347bb9f1fff814975dd8fb79c46fb715aa55f7acd6577d437e73457525935654956b754175a5b4e7356add9efd571203c4183a02ba0ec00ec1974850bac0bf57ef5af9a02f7eb5b06587df544c105baeb7d7bafae968aac42c1dd6a150af5757818957ead2b05d44aeb172e1f17f7da255a6b758ffbf86a1ffc93746bb5488a22bb7c6e903c3aeda293fded737a66b55d5bd7389c55e7507d5d1bea35e8fbec9c98d2ce9615005573e35d5a284b8080afcfc867248cfae1e023f211f9887c53be291f18df94cf08f8fac2f870f081f111f9a6583164c525434b649bd225b65ddaf3c812da7e156deb36c705a52af23cc264c811263b4c7ed0d57278045a113404f5c310bc83f30a6aadee43b0edc1549b7147d89e134875baaec3d88e46a3d1f72d29b2a53d83ac804105a4a1172b4c62e04e0e101c1b4b37c41d817730a844b4407989965a516601c2a57be244655fe2cb8d09179649111c63c90fdb6b43f00e66015756565658589ac0c228f46bf25e109c0fb15392d10bc2a28c68700666196632a5890f1fcc181aec079a143551b26198cc982c11c404e841b005350132e38eb06184000a692144480b1d1df6ce983a6346011448f64251cdf6b85e8e8c1639fdc468341a8d9603e3c12f8e5c89543a8d2cc47e709c68299507d0680ec0415b59399154307722d990a9d32d6917876564085065542adc27fd8dee4f299c70483872686cccbab2757583fad3d350a502e9f1d7901e6b978fe95da827bd49d7949ed3aed3979ef4dc587afca7c71cfe4ef338e1174e0e8c07074d16c22e3734ebbadb5d6e8525a57242859467bcbf32925e65c49f1abb478da33f8ddee7ef4d4fa3b28c935c1927a9324e321572dcbcb48638668cbfcfcd0dfefb37dd933e7cd2bbcddaa4390e939e7b4ebbba27bd0d596bad6102b8d2bbb22ee99afb24ed0af57c9a1bf0bfd17bf83b6c437b8c6caa058da029989e3e0bb71c5866484696c56f99b11faa1aefbb8cddb78ca417c712cb38c9d3a8b2a851651ffc49ce50556954d538c9f0f4828c6c486626c768d234366ea322f2cad3b046eabb6b05405b9d76618611396ed477e45731bd8a5e6192197329d2dfbf297df726fc965bd158ab6a7dae2b7df72ed25f7fbcb38d6e4ca1ba8dfc9f833668012ace76150df72b7c1c6831c6a7d21d3f8f77d750c702e836fd0a93bc5f439afbb2bac25ce41919951085d19699317597325505eeefdf387d679280aa3e794755d5342db0b0329d6552d1a8ea776f43aa6af735f7bbd4dfafba066767a5f26837f6d6fd54ea5754babf5fd3e577a1b2aeb929fd3c50daf457abec8dee4f9a87494fadb2a3efd2a8b2a45165354df8c2c981f1c47e8072ccdbcc7b549bdae3b3a95c2ee2f3ff300d7867fbe39d2a83056f959e068d65d4975fcacc4c19e5418ddde771f4a9d1fbd308be69fc48a849a6c64996461686680ce1286118cec1395c024627b2dd3b6c1299aaac5c8ea4adab1fc04d5a123306a58c03664cb520ce5914ff573b583e7c1aeab01f6a0b501d2c25d287ef2d9f15ad638512e9ddf45a55fff436a48a2ebf44227d7dd249bbba999d3a8da4378d251c730615bf985188b697482a15b84f7d0df729edf2a9ef223df728ed2afd254de324bf3c52f2aa6848ba869ac616bd7070609adb788fce86f6c0369523e57cd3cb21d3a460efbdd706ce954816441e22979d6dd352914dbf54a4d26aa724885c8adbf5a8874ca376b32a437582d3bca33ff2efb2eaec2c2a43d7156d6a2bc97cbe09537a3fd49553a12a638892a3cfd1f225a5b97c496b2c2f3e4ecd19b96f19ef8b237e96d1fbd2983f1c4f0f8ea6ff46148dea324eb2659ca4384e92659c64699ce424bf1cee3c4539bc358be8d0c86a0a447f7e8ac8251dbae1fefecc6958cc886814133bb1fdaf7fff8d8ac82a4fa3d216f7f34b70076d719a2ea16fb0fd279551a9062a4562c6cc982e327dfade2bd3cf79096c77ace8b04fd216a09bf434d4b1a255f56f141106d93d49d394febde5a3a275ac30c99b1beef1dfdcf7de8eba0fdf7f26abea836f43a674f9aada7d0d076a97f7f75db85ccdb837d2570e67f9a346cae32cffd348737cdeb2d3a1a2da8af6e2d0cbbf929e16f95ec8d1bd3fcda13c94cce1ad49fa0b2707c653d23737e0df8cfe063ff737dfdf787fd3fd258d164fd27eb5a28f0e39cb735df97b2ff76c2a47120281ac0a244242a42c51bdb0c1c045110eae0c1a49921b98dc10d12354bbd8a28b8ebb30ab11564680c882065358610489cac516338826dc40b7f8d18540a603f4082433b0d65afba9407b473ccff33c0f0785840824405c195a9034812489d5c2067bdb17edbfd562cafe641e468b275ad4a0187927d374d9b55256fd4967cc7cec995a466a2d0efdaddb76f29cb6729556af6eaad452a2597fc2f89c32a6db7650a04e2f2d01c012c76cf236f62528d44d678cbbbbb78c337c2afa9394c1b9d60850ba3ff0159576a8c40cb935b1846a6604000000d315000028100c088522a1300ea5c1acf70e14800c6f8e42685638948543598ec3300e621806420800041800944106218568cc06001036269c8514299e47c3928b208493d6423b690e894a88f5ada8cffc07cb839348cd52c47c14702dfced0463695866f568ebf1691ae8c6fed66db63746a20de07a8aa757809304f2b23f8eaac3e645f04b5e3f51409883331c0f8a1e5d6eb7a4aea6be8c58df83352932cdbadb6e82233e7c14cc6e4dadb9e6013b1c70fae3c4066750eb57ba6aa98f95ce1cc37ea3f5f3c91aa5318dd1731d535aca57352bdfcecb234d7f2c38c4188d6895b715b8b989b44db7805c672ae90a979125c1ccd84ed59571857084e9f58037a0775b56da6fdb26824f006d1199c77e9042cef62cb9df92f9b61e241936feedf1958b712d860a5993637d7aa82d5b3bfb9ebfc1a54ae4133472e043e7c2c5b17f5ac516e4b34830d55cca82495835d9cc974e0f945f894e2b96c6a734643ca1e12d90820a43b3f45fce3e4e2cb88923df77b63c67b2a5de59d2ac9dcc06f3b4187e83dacd0a757af0f429e4b4d8cf7a716b44ea3367a98c1629e11098a532a3d49190d1c74290d6d193cad09838e413a643326191d11636714e0ff0199635170d04ed306bd97c4606443b34723cdd91e9a810113d11b0c5c717ea21200ac64a3c90db01427b094ab9ed18c58e56c8ebeecbffc445e887704f98aea351818e7e0b0a84dad5960b2abbb0e3c5b3290c157b817bfc828fdb0e6a317510e4c9c51e19179b535be492203c9a189612564b8297ba12132aa5a1abb4e87cc177c5b1a1a729ec719d0137904d60947ad6b41f90e93c69c1edbdef1ab461e220abd866ba06d8dc28f55d87d7007890f06e2b8671910a3a1759e1f5082a33b539b02df25b6f1eb018809a517e0a791bd8b6ecc22c7d68424325d817e093b2fb5a278ef717eccaadfa1e8b8c3c43d2008b319a24174bee5db1e95eadf9420cf611af8372647a387d83b8050ce15436f0fa64c8b8574af88cf5066db8f81213eafe9100f971f1f131082b52e42a78e610027eb6924ce1b5d2e65ff8532f1472cf4d2fafcdababd23376746a3e8f99b0cbb0b5669ec4ef9ef3f585997faaa55524d7d2d698c9afcb27e8dad9fd3abeb06d88e4ab1885b28685ec39598b5dbaab2bd56c1cf04db02b78f25a2e2a526229185c5bf4cdfd9d8adea132c5726ca3162a0fa9e8bc5500d4857fd63ff9c4e2c042059fa0d37cb72b48d322dcccc8634dbdc62b465398be00f6aff06d7351e4bcdf9469c497a714875de8069081ea1b7a7f7b4a203fc2ab3af2b14cb47dc2cf9be918ca317e4643843786d954f0dcc44413c8c091cb1d908129f8ac0533c6751599c534843e84f199fe2ad7ecbd8dec1d5f1dd96bb0fafb34742cb35043446a961e503371cd48f52affcdf0445b1b5b8d1b15389ab01dea0f3108ebc169b84fcae571840ef1d05834f62860b5683714e49ba2da1fe7209518c00c9b219b6921f4ed58a6401ecc6ebef254e6b127784d6d401b8aa5d245a0d2630c00fde56d8adffe1d6d312d5b2555c5dc125b7d36d0f1e1646e2cb6fa60f999952d80aa48664745265acee5e34f59188d6e1e33bede65e24c838ffabb34b4424eab960a32bd0dfec28eccc13a6b84618642f3acef7c3a515b5fa300896578421e1c07b5c6b83440d33ca60e2b559c99933ea5ff3240f966682dd96061f0fdea2ce7924c385b52e4699b44d063ad6b869a2a5315573724024156d834bc0c85cd138761091252023632a8c79804c3606c207940ca7da07125bf2f8849b206d182515852e3f49dd63296a87550f94a4098589a7b418535d7e0d8d274cca4b5d62831b646b6ca8f751680aca38343fba31fb01be32d018700f9de01c5a892f9248afeb37617b015ab2ca8e88526091887e5338bac23544339489340b55af2a537e6f9c88aefdea73768923637ca8e9dfd672fedf9e0abec7e7471d22573ac7073e2fb64000ea2d803985ad6ede1223f0513158d19753b38091a876cf10dc52b1970c77ebc11abe3ceb8695559e006ec326af7e2e61aa1edac892f0a0aa66d8e6353312d7dca8c9a690893c68a4d227b10be8b589e91c0c6e8fce92e0a5323fd1c6e65fa165cd17853610ef6b1140f6826718d3084e08286893709e8ee803e759d757c7a95d26384ca07f2ff0580ab2572fb98dc60028191b742a7a8e2a434e08671dadffe26577ec58bea9145792c7b6e30afe0e847b83bbee21524a2b94a9397625d2bc28677f62ec022f75318e414754471a7ae18f46c58c6d6f0724098b8a2101abfc7aea9a9e000d2f7226d9372bcdfb1edb4aa8564d649eda0668adce8df345171d5726185ccb5719afc2d8af8e68eb130a6604139836579a0d9380b60357a9a0d7ab85b57560eb83041122edf983838829b5d2d0448f0bf5e0d8758a1156ca8cef844c235dc44f8519431086ad91c9e696e35925400cc2eef31adee8d2135eadb3a90da0eb6bb3a3e558a866565442711227ea802a1f76e919427d4e1b3e18a21829cea3200c2617b957612b0f29acda754a229066af242f6db20256d9ac7d0932e6a24d8d54b949bb502b59023b4f8d31488fc4ba959b4052b9f12a13470ab8eaa6c93affbf7578ecfccbf839c271b69931fc7dd6e03f3cc00911df6ae5286da223366d2ff52b1ac4745626e6620a25463eda67eb28b18dd0852cd6c7552a7ed6dd7f92cf6b4b06591cf686af30ccb769bd2ed97356a507cc53e3f90700712b6aa4a93dc343c169f54d7bc81505aa4f73dda0da669d3d23a16fd828d9d79da916f2194530065a6f85bf0119586c6acabfe576e14efdde72f35ace87435abbd78fbe360ee131f4f57118d71cf3b5c2b8571459b659fb988b0e4cca222d0095a950e85d2c405808818521635f79998b5a566a09dd82bf40159ae6d59e94136371a53454637aeca888a4b7da6a83cd38a9909a58b114c9bd030e7d4c910ec9ad48ba180ddc578c52320f8fdba7a01352dea7da87dbd4bb2f3fc1f252db5c94a32faafb134d3d5c1687252c47e7153bd239f52d624f65e3b4945b202501dcceb8233e3b9cdd761c3329551a32985168d270c3c2744b1e469c2108747db964a89e94708222559066d7b6e2327224b576ef614550783f10ccea4bc59fc74c17599b9b34d944d6f4643f58c4610012f63ec0fc2e69e7356032c97e67006d8e04c8cbab699808c94730a633587048d2ff1fc678b07118402e121e7632b0b4e35a7a8a4e7d3a905697079e7fb5d0a55018e23d8095f1baf51df7477cbcfc1cec410389aaff49c6bd71b5f8f87f3d50e3a47604d86d874c4e307ba7a7079e2919e26b56817ffa19bbddb98b3ed20135049aeaa6d85d6d66b7da32de6fc8f17c31d8a0d771007d9ba24153fa26b127a167da1fb34adcdc5309addc0bb9ec96e3250ca2e9f3a4c4c0646eb87214ce8baaf09d229d5d6e4ae4904c6677d7da2409a1425c5106e36e0eee8508c43913094c6ef918d654ee9ca9a0b90bcc9d9b30f530414e402bad4cee4802bc61d121b4b4da32ff662da464b68d2d55da1cb57b27bb0ed1292ed297f72773356797201417742a0e39c4fa5e2e956a644cb760e5177871a98dc68a4a25fe74673432cc86612ef6f99322d7c6857228fe4a35b14fb72bc0d762c7e1b3673be9f0cf505bd1e34ac65c5cabc249ab60871200fda53a37f2daecfef783b8576401d8a27f70ae5d43f220932f575551aee933d3f0b6b76d069701c1b9c65afbe971d187c0c827c5a0976fdcb3246ae4bc2367f999254eee821584aefa0abb0c421535b765ce2cfa866e860d11a0779196979a0011440a4076f55c6b7352751c053a2304b4e4a4888ce1796d463f89e0ab9f503820ae72ad5be3a37041db9fb1a6d106ab8e45334afb70561b3257dbe0a3e2b614341dcb81359bfca0d2aacf0a5b597b871220edd2236476defb8805ef90127fcdafc697f617316f7da3dd6dd967132b0faa15688e24b7c270cca51a20cfd26018e71187f5ad3870cd8077289dad127e821538693c5c8aa64cc595f15deaa1a799ea9b0497e53cc7a7d2e79f4aacace663113d9655711100a9131538871e6c1599f3c8acaf19515c5aba911f31915ae77002b7a8c9008b27d6aeac878a9e47444c2ead86fb3a57f08315d8891df9ef50b51d306115affd21380fa10c072bb1d7e548f80f7e78493e74ebd1ced97226e5ed0aa17b49195d9a20c9db2320b006ef715c50b1afebf53c91600da92e0bbd11f4ebf07c63fc5c9bfc0050fd864d50ba6e1865a9041f5de0696fedb3e1b4f97c56c97813cb10e59754681d9b4fa5be94fe69968c8ec7d225c9f83ccde6f2e540b6e0691756f032edd620ce41984c510dc4e798256098ffd1e3a82918fde080740f1e6065280292b6652a6b52c78de33de668aa29d8fcc0a7107f830fa1ad628ffe74fe05a14afdc6af7b5c90cc8749a6217845ec12cb034487e3f7584a6a70a8dce7ec271657ec58dcade10d075eb39652efa3786818e115ede6d9b6a58f3225351893db48e2a4cc3c51600802498135f73d21aad6ac617a4b10c7685a5d5bfd31a2934d609bd233beb0995dbca3fed9ce2e8c4a11c39b7dc76a8622c5489629fac9b7e1bbbbba5720c9d83627cd0fb8d11cc76179bd282ed3fd8a3ee477353207e7b5d775a151dbceca97baa1e1b3cb4eb9fc6f2a77709e76b74c90c7404e62dcf5ab24e264489604586933e1ceb55258c6b76140c615b1a621ab48ca60056aad79e2f1c38f531bb5b2e68b36b0b40011470e4b65cf21af91196a623ac3861e1cf22212a378f80172e82c5a34d7d6f9e48e2d3192e68713bca56e4d804587d0e63fefa23aa1ab785f7ee910cb81956bb1221f66b92f72cfa5cb36f1b1022e949ee587cb727670e01de77e9eaf3f702d67758ba5fae250582df5ac3272661e644af2ff852bdde5a596de137ddb3d2cb029dc1b121e00356131c67fa5028d0311c2bc23f557f5f2abe194229c9b38de5e1a618fe72b2300457af2b51c295062b80848f28f66f93ec809b1bcbbc6c4b5e6b45ad0b9d2bc1645a8a432d069147ce662e640a6fc4506f44a8ebcd7f561c2561818fc87c631248fb7814a4c8a9d111b4cf92e013e86464e06bb2aef491d446ab35128f192e3182e92b4c5dd2498d42378238d647219065944ba7c899bb8a87e0dfa509a865d1b87712f833a99aee166ad416f00f2663ccc965ca09f4d41d1346fdc0977a8a499804f70dc68260ada37ecdf6ea8f820efe753cc106466527729c373b81690c5df9c79360e2f5687e2f5eb5b497e2c6924d9f393bb425a6e403fef3b2f09215e9a965c5b19d89d6e61124abbb4c755709e0039c0f7b6955719c1f3173f9ab476ef08eb11c7c3c22ea2e0b8c9427a94f00538cd3532e54fef12b9b43251c75afdbcde1bf918a0909791e2189c6d9135c8a86e5dbe09b47d0b24a1892101734fc2ed841021d94e77d84cebf4180abde2f4a85b945dba380f4ae80900b4f0238bfd51a27143d003ad0901153b8fbe526d475cd3f16dd9eaa233608536970006e3c4053184fc733db2922a8f5224f2cac97843b8e470c8c0af0ae43cd9bf90d5f00a3a5452f135e573b1c77b8cba4fea4a5e487ea8574eb95a4853e177e65efdbb84ece98b0073f0fd501afeaced90323bd18b53d97642285f109b16809fb14eb90694c6e9341bc772d83b4ecea1b68e539465bb539a251122b50e9b831cbef58376978037d41195ea6490a1fb827604ab9da039e8286d379a07b907b9207cd7024965eccdbfb0ae881d6d0166afc94909f326e8a3065e177352552075494888fb769ae8297ed6be245d85f3db93277c82351ff9cb385a86b73180d9637307b5862ee418ae466efd17d0092753dba700a9118fd7b49cc466135f4499edcc7506d2b2fdbf18adae0cf7202c6aeff3bd17bc8d0a34bd62971a791437e03ec73696a641eac920023709861b413f688c23013b3fa1ab0d65be756cb43630262eca007861f339ccdb189657c88df17f810ecaceea12225da43fa9eaf876c116ac1c4da8debb6632e1268804ade8603870bd22ea98fcf097c04bf4aa9804a288e1387c7cf60871108e64079f9fbeacea14a74d74aa4a20402c4cfd68c245828d0388ae5f169dfad13edebb803b123e5bbf252793994b807344892398ffd7197fce76092a4cfd6b545edb0659f79f086df20c175e9c593ed84b1260952c1e8dbedbd10f6a3c30f1a7a3410d043ffad60a73208b3c982e00ae5a22cb033c10943dc06315cb9aea9d6cda1c5a394d7f896ce6d87e1877ecebf808e8ad479e7b02167fed82ee59c2242c5f8c65b6b0275778cb4387bfa3be9a2737b2a899b508841231d35786f4f0b8534edad0e29cac0c528613d1bd259da47fdb9cabe4b902f12069a86c18274ff19a69994f39fcda7f4d81a192c841e8b421d23f802b02d232ef323691157d9f2ff9830a9b6ff02ed27eb92ae5616be634fdf5f93fdd4ebc417711a8e4cbbe1daad60773969b51c5f15a20222f956ec8e783de212e66d585ac51259eb8d24c0edb056f2c29c5dd9fe3ed53ed89ce4a929a29a977d70f3cddbfcdbe197a176fd4cfd646f7c2d2a61e0196f06fff5e77b4707046773cd5f17f099d83872f50dbe53bf5837e0c8ab1ddfd8b586f800dc236c142c890f536781d1dc5eb3b1aa57e45ab4bdb03bb219e277d42644b1180b4f1998441279e7ec53da8ff66147a61ce85084485a7ae3d5d2566098283c03187be7d8f6cc99c9c86daa9a7a925d3a14b217afce40db466408e3fc7406ca24895d09aa7fa47df345eb7a24b5e2ea8c9d06dcc9cc57d31674fbb38034e1a0ba9223086e9a625c7a39c9a40ea1809bc87005c93d6e0c0094126d1332ec8883b515ea2a825a68ac7aa0381a4397db053a0c2cc0ede1a104d2772fa71a6d3418d529c95587177d03b60063dd1d807fc6bd554d357dc6d79489348844d0e1cf5c7096a597c3bb09f9426926728d5bc918b06bbd80d62a2cf7b3eb2090ba02daad3c9cd4883a1312d0f1b09d8a10627ad34e5c979f104e4c0013467338477a1b5d3edb074e248936c0b30051575d44b5facc938e5adf5843d791326f7798f174b83e6341e91409d4112c8df12ffbea5c0b76ebe0b3cca6aac7042d4fbb32d2c32464fcdf7414608cf193fd63a11ae9f37ee759a397b373342f12ceb3661bb41936215bc831ca813515b004905dc0132ac434279e65536c5ae5c5e9c9636995eaa287731c74d5557093234e06c87c7b79345718c716bd3843027ab834d935b403a8eb22a3b84d388aff8b0bedeec992e168b8f83c342b409589197b403d5d6ebf8790110ef0f8237a1cff2e8cf49c58c0998345bcbf1bfc13b744b4efb7732101825129483a128b67908620c72ee41d7543d63dfc2380de24e70168930fb6d5927b8080f99ad142076663668f3e98d78a005ac9a6dd2361b0374922d943866269a088135590a85c716848a65cd98b549b7c0326905332428130003283b62acfdb788bb99cdb73f4402ab9d6aa8d06d49daf06fcade1c83b8dc165aaea472dfa169ce68cb67ea84e219d0da43a81be7db2d5f87d7e5d8b8a0ff0ebb8dade936942c39d80a1e869d00f8e6df6242626cf503b2692c661302183ecf31c1f56489fc9bac77840070b5bdaf5e4608fc1d343590e67f31aa5ecbfa53de3afab11dfe9aea2b5d6c2af410c9a1b3f9b209f6cf6a4425cd7b125f44ebfa79483d77c97e780f98a7714cac95cf34d8653b8ba5efa273ed4f77f618a2ea0ed651c485bf1adc5316f131b871470bc5d3fc47027d4007e5d45b967c045ccff9e6122c152fe813a27f3997baf38fb4cd0d00b5944ddc0b762edbf18ce580900ddb761a3c1c685b6ffbcb66d76c1647ece159309e6a3cf6fe5f04be5b5b7a3d44ab4547b0e4a28eeccd87ef720ea7d83a32fe1520f0fa6fc2eef31c9e18b3b215ea0bd4607f507062e83eb561c949a822a920f06fb4db1ebefdaab92fc341b8cf7b868ed88526f3fe926622aa6efab6480ba5c84719f04db6ae94036a2daf2f125ca65e4d47d0305ac98f7a8eb3097388868aa07ca1d69a2b30313e1ff29fcb3916b11480b1e8e9e8120ef39eb44fba9a1d8542df23abeda9b034ce8f2a8aa5fb6eae6ed20fb6555e659dc300bd821b5c585e7ac94dc26ad482776ed8057413c6e1da7074e758c25d3fd1ef2bd13cd37f73c9feb4392841aece1c62d4250ed06ab9b41b826a40aac8f629bac488cb9da9e50c0840497f1b7e869b6f113e947e0416a6b082b40887874978df50b4314b02315291708246683d36cb988305b4c65791e5ebc31d93102e93de182ec97608d3c91fc0f54a2b4bd074d8aa686da0f62fd684af8491ee1e0e85ef1b5f3b022ea127d4876b430c89e519c5130bdb97f178aeb19ce0e6ff012e4561275f23873df3b00a98de393b7cc676c184d5f16c1ba24f4cc03af0df81e0bc44cc70d2e9bbea2e8d333a1e97cfff796c115885d7acfe8f90477817a11a55766520bc579f29344b864424c20e8e1ff0d8a868df7fc972e34e27b6ba053f0c6e14f0b919d83ceb7d47a7d19e148adcd6439c048599f7384173f7fdd9357cb17946d31055f7c52a01a9aa7bc17a2c39dbac833093263c12b21842a8947cfcf631cf3d3034d68494147838695f3da88a221b2195652baa985e3c6e0fb249243418bb2e244b233137deed2aca9a5fc84068a4dc19a21e22c1875cc388dfbb8c71d1cd781b17d0c0dfd6b11fb220f2aa5ac77371e13875e20fe146e05b9fc54f9d331c38f95aa057ae5acec870488c420641b573da98e49505fef1e42832e97309c6e54d1f29f4b89a19efd867c47d250cc0f763a4ff36c0ced9b51cf51ba5dc167abe98b19fe9f1c6c22e1396e61f96d8a724545026a1b828e55a7338ee8202df92e89a2e6befab9f61cd19cd22035349bcd98a02e50f0752384f345964d1703a8db73d13de727295e7c01819c9daa3529fa24eed8aa6b3e46eeaf8e6d4b23aedb2ded162f98172f0b1f092d754dc1f49d86976dcc57bc68407b0a1ee9bb7bb4f1916f56ebfbfcd27bc9f6a5a0abbef5194c2713987a12f97ab6860d05a587976b6e90b68bf8b084fd8ddc6345edfe681419e0c9facf1520318d62f2ae1f520ae37186c358fe33ac150f9ad27f634e408d864fce020ba611d83202887c3db178645f40088f919cd1a5a6d93bd104a5d42cb6bff69aa83a157d79aad3843ef4d8940e6be1479b84b16e56ca6e39b0cff98ef289509607cdb36bdb55017c4c9e39ad748ec0f9ea4c4fc920c4e1a659c9d7f3f22bf1bd299f83a64a09553351e0f53468ce26af32cff4d91f4d8c757759c98e476ad0d5ea0145e603ec79739f868b75e1eda2c832324ddd184b4021facd786f80762f01d4aa7640ba5bc5de562f615cd55b6d5f323879fbae82bc5120cbae374fd937a1512163ecb78e1add18546c341586c65743e299e6f46977754d28bc07ec9dfe67779bd6743d3a8be581423ac3146c6d166a9732190c68732fa689ea6741089ca6d18c22a0a17f6136067481ce6a5491eb92e486521521c2dd8eaa97e8ee87523aa8f23b1baf0de70a33e89ee481f424d23296cde7d318036c4839a555b92d1d7f2c2b06f15b0d08ac68689afb09a76c56c884cc619deb3b336dfc714d4c63c888b8f1960e6aec7759c05d7c56e0afc6800adcd7894f80e84254248110d48755ad209c45730b3bcdb4da1f11d4183a8e7dd60e91bfd1f487e1261fec4d7822789bfcb737c844e90389566daea1552c9dae61211dc35edcc97cd49205fcdb7d0dd4a158604b825faa4a051204884b0e87cc6427e61a3f4720f6ffc8cd3731e082537794fa61c53c5dcf609983b4240cd4d3618bb06a3d8b46b8b04f9a2f554a4d89e1475810e89f3571e0b5a1d2564d34c5624d27326b96af6d9993868f62221a6266e2bef7bba862adab02d4f5b122bf351844715f4970024003e2e3c485561b9c8a8ae0243a2df4e97619c1f005f347ec772bb1a7bb0a20578c1c84318bd0b726ea6b854c883e701fcce7b524b44060ec1684be3a17cf43ead2975a0c43a2988f8cb070e6debf9b2debb1515aeffd2c2c4d392ead37d3e0863d6660856bc8854047c626ea83aa522360dc2a2facc07c886175bc7e804bc8b34c5cdc6996ce102f48be6ce2293934bb505fe2c5563a28bd1759d0d40b0047733708d32382e54ec3d41e35d2d518b50a94c8c99222695b40864fa7b4c07efaa5a7545aac0712c636c4da36c258a90aea593bdcd3d1626d203df58839a94f412a2ea412b6467041a02afb94044f5d25b6235b788804aa5228197502bef57a4d0124c18848665a0283246e321cce101d018e1990ddf6b40618a8d2609373da3c0ea1c449fb6d6c77d988b9a06c80418fc368bdeac15a64ea583c04848062e6b54796049ac66281085bfa7e9240038d658033ad1b311b4b5815d381ec345116facf81c101cb7421361455a0652b41684571521a37eaaf850202378d445065043a1e0b82101d24957321a032a4c683c7f98d933a22f1f8528259c6f874f198515f1ba7509a1519688634425e5db76b483c5301ebada31e2c1eb27f7959dfb26936990ed9e42a42340b574d1d2f92f77af9d09f5a655d60313c76bb4bf4d33f5ff2e4e384adf43ac4600d21e51d1521c924f943cd962c98a6a6ac15acda067d5d216fe91f3cf5252d579303c4da31e5c7f084aea613ffa52a53216b4cafa6c7ab56f649d03f9bc473866fab85142600ea4bc04fe2e6a550e2a6a13d17107fcc406e619c0529653cb8822413150a35d77ae0174525886a8440b1b238a6675c5b6c20f19c97ceaffd75e47c2ea1830d36025e6d0bf40a0fce237dc54557087c066b67ea224dd85a0823585b33b9a39a2d702fcd61c24eac527675159f7decb6138df5baf7ecc41468a3e186e9a4f821c77170438a2e5ab9f82a52e52f6984a4466faeceffd0989ddb79b069651fd068e143b76927f19f4d4ed393d02fc51d747cf6ebd56630b4a8b007694abf42c97d54dcf1cfc42d3cb70cb35c0a0adb740a394e4d06e1be7dca298e66a6cd711079293c7d971a450268d2833fb9bc06663e4106eda4d4730b377aa9e0272f34aaa9c282655307cf355208739edc649ef29877e2da4e8caba580ef4ed2fffbb6455acb3c92ecf0612a9bc6eb607c3847ea82525a35d80692d57b5aff9613cb86e4cddd4f0f018793b4885d8855abe5121950880619a8aeb68ac52be47933cd2fadcdb128137c571949ef40dff710aecacbce97970372e1bc29806ec809d094d9b28330a169b32a1a5e9808a91e9fe7aec602e135a0df604efd211ebfca2c40fd58f49116e0cf7585c1c09ebd109080b8937aabb7fc43539f5f25914445765314e646dc6740404aa39f19375617d069411f6b1ee1a4a72deb24f84e212bc868965b5fe0c9a6ae6c725a4d19173d1293c515aaab62e02eac0b76c53be4b8e26d1eaaffd55b8da3ec734a73b472c5d138e9d4c88d35e4146d8039e944bd4d978977abf615ebd54f4911b3dfba3c31d2c4eef6070edafc41ed69b0313a90e6f5fc90e2b76f37c350f4ba135a3160e2bf5cb945904468f5c535334b0bb1e341bd10329a682acc71fc9fa989a940ec2385f8a86042087779e8bb4dd916048b119ce18b5e54fde093c7c37a5a90211887c3747a75c296ac162e25c189efe292ac1f220b27d9a92874dd01a2c86a0115baebdbfdb48291736072c6a94174ea987045ff439fd63b352356c61da218ab0a2118185dde44099ead9b1b741bc4b9681f11438052ff74b50c12f292bec5f087b548377d658a2ab68fcc7808d5fb6b4220e5986c75e69aa2f4abc72fced13e385560fc91a46006284f0a0e873b43d2463b3c4c88fd7886a425e0da05dac25eb4ca8594cfde437a2880b2aa5c5399a9038a5462203870e356ac159130987e9d8ce1dc80a45c2bbf289793fee8dc7dc6fa6d42e2f96e3217c14dcc15728caf4f3e944217045dc4ef1e2d489a54a0c2a5dbb2ab5af88d513836973b872f79fa9e0d1305d844eefcdad998a29922a53fd17d855e58becb91981897f45b77c199a4a91905f0d5854a65c38b5ed704b2b5d1012fa2c4b4d7bc77c8d0308ea239e4f51729c016f64e34ffaee5364e20bd77956121834cdc38c6a6796de5510a5dde3cc9c792690f011420568dc071daad6b3dfea442eca72170cbd4e986be1e81cfe3e94d4dc6c5ff79f12ad2128b5b35ae594adbe762fab6dc4ab4647017f0be1cb89facceeca5430212e74259dd1ab78f592b9cdb407f5ce115b56483bedbba25bc1c0b9aa8e1f6ecd1c0d7c43ce42388b0a9ca530da08dbfd105031cac5352c25483da0f00032ecee500208ad6a2fb0298b5a7ecc50c8f1d528cfaaf3bd1ff95109a8a1df7a58026d8ff4d672acad2debac33c2cca335de277362b0d4adcc59e77185d37fbf1d8fefb2d3275173fe04b009476b6e24a129550087b0dd9ebdb54f3119c13d88dc218555f837748c9049c5f8678f42ad583579cb4496e35c981084829a3b504a26cea52ad5d8235c71c77fe7bdce42ea65640b004fbec60e055e6dd4099669d43969cc84b0d144620dabca691545b00a1c39b8cc23f25145d6400ec896e55ac3312d92a35d22a5aff9083e71cabdcfba0535359924e3ddd27e382fcb45957d46747a3a815faf8590ef31e6b60fb022d2e34e9bb5538a31f02a75a8e8c41dbb917905811a30a4f3dbbbe289e29c7b2f7675ebfb7e0681d871ea26694869340a4d0df754af6ac7725f466ea26a0c06983fbc3fa5c9fc2ec0c815d885cccc2a40e5abea1cd47289d7d679c88dce5ed4620e156cc86d330aa5c43d0576430a03310f439cdfa74de771f6df8c6477a4414877362718bbee7d4fbb500a7106ee8ef863cb3073363054e3dc852491f6b8e7f0048995ca14e67c7963399531ebf05479a987a4905ca4728735c5accecf1419babb6163d4c639b7f12f0125b187ad6ce84270cbc6c32c292f2785b7292251c23736d122c7fc224c4632ea0bb648418dfa14fc6692e5b0ee814995dc2e5471cfa7bd171cffc24bb991c2347377230263da28fd4ae0dafeca2b9c72ec1e98037267fd82b0a5171fe320e617e80ca2a6c47549cb91a148d5349e30b2be3e479e3fc3acdc2ff312c848ecefe0147953c34067bb09bea5c011780c043ac53c9c1f992a032c680612a8b578c0fd3885f1372697ba6ca27f183a353f664c971194136f54593763dbc645d12e6617199f7de5c4c902052a2391aa92de473bf412f88dafbfcf206119da7b93a3a8f1c3a14df7d274bec7d8f270221ce9a154b56605dd95ee04c46591ee633c4397970d92578708743fe9b53ba79edf71d6371824af2f8a944455d2bfe66336e65d9ce7d05ee2b07ec1bceccc646808c2a48401939a01f5c523acfd1234c10a1dc18a7bb460c9cd0906983c71457826227a83eb6bc6f0bfcf16e36730fd534805cbe827e9f077060cdde8c8ede0f19965a62306ef8e36364936970029d811072436e018e4f6c88c32a2f4bcafdb7c9fb00a9b8b9e5f91e08956633b386b8d15fcaf04f31e897b866c55b08ad276df714d62793354ac4cc187990f43666ac7a23912acb1a80ce83e7c1f437f68e3b8387637641ca442c55b5a0700ceae9bc54168e0b5f59fe0c2f94990bc7d13e94391ce3034c729022c73414387f381593992f2472b1901130650bf94d1f28e71fe412cb3d4faf9e8d7164a0d1ab05ab514e4c02f8d9987d8c3ccd5d412677f3450ee057d03005860048f41a844f65d8d85206b4587a0cd9a13c74d96a12598299c4aeaf9b8dabb50bbf81dc8b2ce8959392a5b97321ffa1d14807d47423685461e37aaea3d7602ae9b976d3fd5e3e6554d0b1c7b45bd280bf7d12d9095e95d994f7e9e0d64b6dfdd486b97e5bdc0d985e38ddc0fffff37924d7363d74eca822a72916fec04219f3fc3ace57ff7d827b35c82ee25fb05df12948a756ca869e2f2b839d24376dce143172fa04f1d1ced8d2b01b05c827d71c1264140b33ec99cde18fcb4200e7e56a643ea497690fd0b9a641816cd7a33fabbd0d9170cf6b8ef14f434ccdfa6c98a2affa8a8f2dc63753e56502f580f5072ffc54b6d117801136735401ccceaef2069b78b454922ac1b3ee5756ae6e1969bf56bfe684bfc7732ede4ecb71c724acceef8c6fdd51945527e28d507828d7668d1042dce07171df71c9f01d6a5b8610f09dc9aa99e8c7c0829e112861e7eec897661fc5b6988fe4a0eb0afe2af2e1faea76f43c12d9afafd4add638e6c5d86624b891dd3c0e5d72ed1cd17cd61e4ecb18f8f87995f9cace16f7be51e9d6b559a1cea0bc88ab95143587a2b0405ac708a9da0610fce0ae79c63cd3ea24792ba2b020517f7effa8cc40523fff03b7739e859d71521d03973e0edb3da7bf43fa159fb74e87a405e59a27e841471530606605aed658ba3d0ad486774d9aa578ff59f9975e37890e49db1f0152ba3f811e1d9708749cf97d19bcb0dba68720e385be63c2d8683ecbbc2957d5d7e3ca04ac5da080a65cb518e208c9a0fc9d68a19be50f1409f3c79c47d781f830689597c607499e20fac3dce5e54c4ea211db0f47c62afb7e491d72ab362e7214d391d108d3fcb1507fc09a7043d3fef4f1687a6444600a4c9f04ea8ba68f8f870cef00b3e0bb99d474950f7807a82ac0878c0744c78e4bed7102c1a9d49b77225064fd0e7484ec17fc6bc3eb7bba9b17e580fddb9770bbf2c1b123086845a6ac6c9723573001b43e2ab69c21da8e0dbcfe3b341ed50bb05b1223e717915702265e23fbd24dc43e94357249006a12931e8688004ac05c4ac4fd8a722af5cab8c6d8fa48a968edc9e15eac474a52554f4eff2c72b5e3151d518479dcc03461006b55301c424b3d580dff31bd282469a3e02cbf6b013172c5a6d7b4edd5c0c155716e1eb083a10c1a01447efd400f824481d8799e365e327eb3790198e2c87a2ea31dbd5e4357ad3f4e0139e06e867c78e76dd5395329dccedfc62311c70f4b60cb8644230360a54b67a1215aca429b9f678147e7f58c78593015042906e0ee43f8e9bb6e1099bf6c879ce1f4c7a3c48a96c13f83b00a0d01c4c89d5a85eb13b689e7b78f18ec1b9baadf76a6fc5f121142498811ca8e44da955db3923b363523b4799cf792375f834c607abecc7727c45dc5e63f32dbf8a566acbc90492202f60d2de5a5ebb8af910718d9543c3c5843c55f436aed3eb6cfe393cbd262acf46d28743d4dd6fb3c42c5a0b5cf213975cb7fb275e4e71d3944d736721992226520be4db1a0c4b33d66ff0b4604e6f0c0016cdb848fd11105421fa5298948a48cc45cab0152b33a61ca9471a22e9cc57ddec02fd8199b785b006138d970a028bc2eb987e895978232440ac843428dc0cfbc8f05ea153ee444823fbf4b03adb5b727bf46296c8ccb3e59ab7828c303b5f45b7caf880f3ba5a6ca74e688078ae7a73e4d147a4eb8ed6b5af58451404f9528cb645c0205671d8aedaa3e9e25ca20bbb62541ef09cfb5cf29630ada24d5e99feb979f4785b5cb87dcf08c8af0479b3adf89c19c6b6b4da6b3aeef0b43983de6842992a1c21c56b07e456e6781ea16266217272196265076a8dd7bcbcf78c17271826cab38607760107d61eeb74437f1f491eca1a18797b1c76074c45d5c6d2cd06a15b18842eff2f3ed36a143622559f3bdac260c9af70c574a454d6444a03b009e119593e067a60aeec29ea3bb24902e1b8429e61917b846e7a0559c93069ca898d87a5b720b8837e68471d1c3e94b7fdcd22881048cd040ba025b488310cd6fbcec7c1312fc39e0d19574cc78b563d0d50d450fd8f4d3a92950f88c11f78c3dfae49d63a09dc8a8f58a1aa8adacb0edb56d458ed06900ba497bf7d892670a4474beb6ff290a868f132217631a3bff2479889f10653078705fdcab7608d970fa98c3ceaec5560a7bdcac85ff2bfd0b796b465510f0e3c2c6e561455b3e81d6e9fb4713e7c96d76f5cc5727ba1d03fb255961b5dc45e34c34dd610e1b621b6a504e1fd6bb54df054dcf820afc878d3010ff4aeb70ed1a333f87f6e0bd1d3a38532d1dd29f9bdaa8426684ec0345e5442f771f20013fc2a1a61b6f5f330ec8060d2382cad9d1306eff7d81291da1d739ae666378ac5b816a54af2eca8fe333e773ead0fb3a2a78819da6072789740712bc93826e927e85bf1855748ee30e43e293e6e43637a8709f19de9608894ab9d6177b9e81871fc55d06e6dafb38fae7bcdbddae6c5cc14f5f7a14b2d9d792a575fe1bf1db768f42d9a5aca2b2c26db9e06bf87e064b09de993ce10ae181eb00e8687f93923b5e5bacced49cd2ab50c5f9bbb1e282455d49f9803b909868607323148d276c1ae09f4118800d4de2d237df8804756ed906ae05ab4f838b43a3cdde9a3894529802aad7ee817537468bb53155dafac37ae1dbe035a6b95c34700934d128781a697503f6cb2d43a5e84aafcdc6f7e88e2549d3c3202ef2db9f944261a9296d1781d5526ab41621ec4206700a6dcbe3576cd550be3eacddd1691d12d575a55949660627358d05e4a43f8cc9e34d4428a9f74635bc38622a91c69a38509942e97234c46a25e238e910d7d60f6a0e1f9353b64adccc356445df3dc23689b4e335c45150bf1c54313a0e98c159eecc03755d428ab0114d38c0af9f46715c13674e50d4f366d5d7a7074e8590a08adacf5a41a01c66e2ad113858d23735b5899bc6a84079d89fb27eb6908b7a757fec551d259a468038c2f4a92ca4fd9a9ecd2025fd15dba28a97dae0630c2e9722e01a7359bb59420fc344821286d1d19c008408483ea633626886f1886144a783520957a31cee0f9332687a6ad5089da5dd983dcb8b1d9d80b30808a2700838506cfab120c588b1ae23687015dc390abd0e3f09f39c786c3bfcc407000f5545b3ce2d96dcceb8a0751ba65ab0c2505186e38cfe130205cbd1944a9e8adfc5c2eb7eff1e0484d7c4824e354d94d4c76e2bef545ea394532c059c26b6e445491c623f5ae3dea361520c396350b774ce83b1d9a3697961cbdc90c47036a1c26f27627a8bdae87874e174c30d88fb9a97fb485849f0c0b7ec35c53782407c39ebe80c8017f41b51ed882fbf21210455fcdd24bc85b7dc0677846645c718d69adb3e0f21cfc1f463bc3b3c448e06456eee210c026343f0d01b1be00cfd6c522f129976588a6492ede4404cee8953b42a5c4620d5af1f32f4c4e20e0a0e6888b4c0aeb4eee881eef64413a26e113d6a33fd5e5596c06b46568636a937a463a42e9c412a693db15096817410e4eece99c494698c28aea9e1f50cca1d20936ce902a338d2e03aba24bfdba74336e2614adbc41bc76f163eb49ae40220965ce54f9e7fceb743779e7cd974a20746db16904be8bcc7f266cd20f68e9ea2ba7bbe93db58817a88b1866fd1b203bdb49f64462f902ef408827a3b21c73cb4a8daa2476a97477fa9c456d5710ad73b84a5bc86857d74be329f263e86b7204d907bb938870f387def5e6ccf21e067b3e3eced501e20992916f18df1362497011cad6607b7ec80459381b11408fa9e693979eddd987bb81075435fe4079b8a41870d091dbf5a5b23533939d289adad9b164c7b33099d3ce66f560b73ca3667d307f7ad28ad3e07b52b012d770e6050e78f29eec2b012a0df7f72af1f9887e14145c7c279399669ca99bc96c8c0bd4ba6483d4c8cf245bbdb8071088379e6db6173806f448ea66db573eec5150b6a3792b7c56caf6a5ebdd969ffb4f157dd5e2e2c5c967a98c8dcd9eefa4a7c1fb1c7bdfcf00a053b83df1d107dd20450683c45baeb70c59ab460007a2e12fd8e484be7ec7bffb444df7df6327ca5dc1199619419e1a6a1b5675caea7d6a30265b2d13eb1f148121cb290777192f68086a71d2b6df2bf2e3d62ca14316b590e077321098e9024d98b0d3b24c160e7664c76ccc77f9231b94d9f3bcd614b5abbacbd200d03250a08a1e5d6500b6df1e7a73b83a7c9d0eb4ecc7d8a2a6863529a1450f4944b8dfc6d87a09bdf5cf3f28f09edda0b3bd40b8a63a7d92119315020eecf55fb4e915dac86bdf04e83299e6901afa9d22d09cc9a0fb9582a74fc8184a3a1d6e91278e7528c8814de51b77ece9f851070797a093ff43a0d1c38015cc818f80114c1f36e3af17988e5fa701e8b45b6ee83c389bbe90d2c81c895bb2231437003978a965d3de97da629fcc9acecfe1394ea9778967f0210c01a24e082f12cf15cf2c8404645939425d3fa831bc0ca11cd0fe414639efb959420bb19c0945b30805108025226c8aefb19d03ede614d722406715ece7fc0cd5f571b3d2f50cc3c85582328437d620a05108dafb729209965e106f71e45ee617274758e4b1511c96366f0b76591f235f8fc3d2016c9d498cab7d790489950a94278084215c7fd9493e8fb30c3072af944858da2ee7bc227ba72a08151bc411a2999c6e40010180ad529b40df47d90055c64032a519a745a30165aa503d97e9e6b2428ea3ff3c3efc56649077573d61a1c2aefd61aead1014a1c73588b5c2648f1799a9e11acb2120073f43eef6bac4b412bda2f6cf4e2bdc6830d7ebe5bdda6dd2c498c46089164efbdf79672cb245392019b070a07f806f573a21b5dc87a131e17620eb2b1095a624512aa88e209255c70418928aa28ea5ac302c2aea1afe4694abd83ee949d9d9d233830aba2d4cf4bbdf384dbdf3c4d93f9b4926ed1ef672222250822064020410b2b46fcf4146e3f23f1dc7e8ec242fc3648e0870ab71f0724ddeddf41a7bb9f7b9e508228bca00823202b2dc069306e3f0715e136bd8c1463563be0c2891a4cc18722616881d3596eff4d1157bb94c80f14ac28d1208b10415270fa8b30b6d86efb80e4bafb6f3ed4e0fab7f8ab8a5c87e2fa7f106640780016aef693cbd1542a25dcecbd692c8450c0c02b566149d44ff5f2a9bc1e5070e9e7d06f9acf5ff53fe39be6bf6724eefcf9cee54cd4149c8b918c767a6821479e9ca81f4fe129ab9d9d1d1f8a767670f8ddd258c34aac1486123a6e7ceeb6a89f0a76d0dd90b88c67676430843dff3d3e3d78420917082033dd7b8823b29c65ad0c015c50c2832e218883a31241e51eae584971698c32c81045ad42e543f0a8870f412b375e91842aa298b3a742241b4aaf745640195e182bb8f15de80aaaa111708c304670e31490b8f15bea0a318c5092e229c050c28d8faa3505ad217220832278b020c10bd40c7e3809010c206efc8a39b124e5f6135dbcc046173db81dc50b1544e145162edcfe191d3642b7ff859b2fbeb8fd3034135980704d5c4e43a4546604114cd3f9920c6e7c2ea3e286147a5849810827a4a074754461c9ed8fe162c96d1f7091c54dc0eddf6c6e16050f5ec8a4d8828819b72f4883248c71390e97c0d2841b9f36c10496d6e472fa892b5658b85dbbbbbb5b225d69c18def0f60e203135df8e00b2c70d05d684ce8b0ac5657766e7c6f1aefc68fa9aebbbbbb0ec08a1437623fa837acb476dc6e5590d63b6ea37f50f420ea1797962e64420b2917c29a7e664a95b01480002a60d849052b237dfa502b55aae2233d094371723958aca94a5848e0537aae2225882c798214e0785b416445911547557584104aa8a2042526b4f80109a6605368556a51cd30e241d2927c6842d292265cd122a8db854c34014b27a9da8e932a48eef7bc842a2d40a2761732512506f77ba52a443f55928081e7487accea06b75cbfdfcf34014286cf12f226e7e41b31f46f7afa8cf3ea0c284208739c3e536e7e3973dd3fc67d6367c67a1ccab80454dd77b85065a80a547ee47224778238fcbae4f57ff279f1e51d2b3a929882f3d5efddab00558e32ce28a3b2f544a55738104794eeee113ba970ed951e85a0947421134a47f79badcb7fe34226948026f51b1f263ec4b9fedb54376a0c4c82f0052aa5526981359ca403d6c8960db02612d1d0a25e9c3d3cd9f2d12bfe18b26091419e6cf58a33b0021cf99f6cd980b202479efaa16cc59a0ba915c31750fca0c2dcec06150ad10aa4d0e5a45823510065f85940c4e597465c4ee2294a2d884346c9ed30ee1752d3f8e5bfa2f0cf1d9fae6117b02e295940b97c255dc6f9fe5abaac032776908f2612689a8f8db8fccc34b8fccc475c7ee6271f0f212ab9fcfc451b5c7efe1c8bfcb93f70473f3f0d308a9419f78347100b8845c7fde0118fcf1217f763a06be82292ad1e5f5d8a353e969678a947b4c1f5321211b5622b06c5a021c01d1d112a8c8f9dcb0fe343fe158b88624d2c228a3510878b18491fa19aa1a2018c3fbc6e3fa65746c01d5d112acceac6ea32cc8c8eac49fd662e8ccd4dcba6757906c5a0a2c198ad0635c2a791b117545ee2dec0570f7a513a830c39ea9e170dcc700567a87ad59fead6dbaf1a8accea21f48032dd33c01a159481df6f03e14f01e10d4d236f7f906e863234240a46b755f392904a8f580343715a0ab7b768e8f5059a067a350c016270070f78738010c7a7c2c1cf1f612010e17bc6a369a60d6888caee3afc3593379303676011845e9cafda80ea57b788d523bd01d5279899cb612297818e60f69ad022fbf5c83fddd21de5bb7bee9e39c15a509f7add6a50dfbdafce48208a60e08e02dce4c6a74daea3a2172518254e4905a593928bd25432a1fec5d657c1c678ced23fb94c9374993bc4c8de8fce93408ca2ca1dd49691baa45fde10a9e44aed427050922dafea5ed5e2c1f425df3f15e351cf43bf7e275d9e088e8c88faf936fc44d5df8aa838c01dac4a5245f0710f2d547e365d1435e6c01a2130c01dfdb18b3b10072f2aeaeb438823f5a7377dcb7f5089be7c9deb63484f47c2f898d3e52107210e7722c3b3a1be8ba743bdfa3a313c18477d4b0af510b81ee581c0890da6970f829307e325bf7a203079900e393521b1bb7c7e86a269dc1f07e8dfd17fb118ea5356fbce667fb2dc9becf6b333e1e0ee97f47eb02701198f51c6bc202de3efd4b98a148e0188a34a747777f7182fa5a7011612c3bbe4cba84f9f07f5d8b7b8e97d9efca214fb93a7837aec75ea53a7ee36dfa92782a3c5808911a3e56f080274fdba040d691ab8041225d7a1920b7c099f246e8c96f65172fd61709806ccd99ff2744e3f1ff3744c7f81c0f4f4ab0581131b4cf5e983e0e4991e7b08540f3ef6a6aec3f1c1c3c33d8fb683d9cc0671d70d51c6217744da3b281a8cd18270526e641ce923cac4874b3dcce22021a2a2eeebabece951d43451d4421c4dfa60a4241f493b48cec3e186a52aa91857e700aeb93c9d8e084b56746087a59803f72ecf9c909677798d39eea62dada76fa133ce94f73dedbaeb519ecec9833af5b331715e0fab152434f4053599f61f7621f4a24c2c8ad17ad77cbe3c788b8adabb69eca7720fe5a2c6e833a0d79c5409259400820621840c21cc1c8bf4da628caeba308ac51869d340cab0d2a835b739775ec439ecb8adfb987a220c18c8966cb5985bb2255b2d7a31f1e3c70f972bd817553acee43cc44315a840055420a59442482162b6b3c47ffce727c61fff712803e3453d7a41f1cbdd3d286f7ea4ac71c9755d974bbff9914c9042482979fcc89b1f29258f1f79f323a5e4f1236f7e38194a8010ca16d75ce49c93dcc5cd8d72d8a5b5328e158465e12129a4499d1d787678c7877bb867e3b82138b49438392588c6dd50a5e34c1717f110d3806ba4100fc9271827039d215e2a9d7652883371270ec54324e88132fd520809ac91ad56096e633d588f0e30a15833e10ef98df5603d5e4b02d12c74892ed9e0a357fdb5d67a42c919482159843ce236f39064e6273c44c3508fa31387e21ddce6212c4a21212994d9a0502854aaa56fac563a666652a954aa2506cf50a962fe5bae968b2e71313817b6010f1d016be8d2520eae149242512607017563ba94a56b2e4ffaf434d683f9748d6c22856a9042dda66518b721799441d4eccccc35b4bad51d614bd7fe999b99180cdd66e6ed8b3a2f85381ae951a7ecbfea173ec7783d6bafc98d39ed9b99796e91d3bebb9dd37ed3a27e2a0ddb24a7bd8ad3be93eed6b51cb6d7aead2be5b4dfbe706fbe0c65a70925a1b258d452af7c5ac642d4122a0b6ae9464ef3523dccecc30ac110f54bb57a6e7fa910dc6e01a5829a66497f2a0470075c2ded6c168338fa2f6c66f46ada8659ec9eb4ceba669954ce564b311b2fca3231b538cb574b0175aa1561ec3e22d3b616f5d3848422d584e669c338eba57c3a0554b7ba41cb97b37cb5540f4cf9f4aa533dcd692d1893faa8ccf63c4ef534a19ec7e95e6bd2355d675340527a0f13d36ff04e77e77e723d6f7964d7bd54eb4afd34fe2fea8ceb9e26640abaf15f3e4de8f666b5eebe3b9fd348f5bf896eb99feea9d69226d4422d3519d29e348d4cf5c466ddcdf2d52c5fa8caa0b6719d09a3a9e6191d66b7fbf2a2247e0e7c2f85f1390e31112a61b650bafd9a6f5575217c863b2e2bef079978bcb5569469970183fa69acebba2ca494d239e7640cc3307a79ec6831eca99d4bb22ccb98e712779f42bdeaa05ef58e69c72fdf813be085490bef65e38d96c97ccc3acd4c3b1a93092194927300868379dadc86a85f4c92f0e2388e3dd34e8cd1a394ddf49b36cf7519c9feeac95059a8a07e1a4b0b6a9a0f95c56d9612ada501354d86ca02ee080af2349669672ee919a4b13456bcb4ecba4ca5c7ad8bea1b509d4a536650c6e548a51b2dcc81591047ef98924c3b5d12c4c18a35f35963ed68ac19c472ecb2f45e765ee9f29a14cbb40ea5e455e12ea59472fae5ee2e9db767c9cc31083eb11b3117d678afce9ab66ccc42e93ab3a5577426ee602bf2e4c8755781004f822822d5c311568c683d1a30420b9e1ca10b15e0a0880ee34913259ed8206675e3889594d1912b3345b8322e343a6254032d3a51f9bf965b37daccdc53b8630bdd2a73e4015c6d7025dfa5d3b80db9d1e14ad21d9c639cc1630fbd0fd3300ca391a3b443e465388b80a87ea15c9e44bde267e7d130227c4408ddf6e8157fdcada4423843d552372aa5d34821505733751f80dbc6700eee191bbc3cafd6db8fea86a2410354057ce0c677baa96e78b4575df929d3c87e6baf64d0b9b15e7ee4c7950fad370f88a0c198ef21f4c8d5106b0c302aea485dc1ef227f5d36d775fde57dfcd393fc6e3f08d99d30d19e734e8a65afd9229ad4b6d7344dfbb69b67a1d4a4a5af35cd2636e97c3941757639827f668b64cf6d9bf637cd6598dd3ecbb2ec31bb79dadf44c85d9f611e5340fbf99d8d68302693e2544a1df3b54dd336b79a5bcdfb68965d8ff98def95cc9126d8c4d01417723298dc8f6c52d4af7eed18010de2408f1a9030477c7f762f07ff21f4621047d480d5a1af6b80af0cbeb383c155c797b139762c245ef7288c0cf2facbeb1ea43752a1c187315dd775dd3c02aa55627dc80780dc4c0379c51fa9344d3fbba0b8cbecaba0aaa7cb14f32e15a6f1723956b9b087cf8d5c0fc1e58f50b8228b5805ee307d04e3f2c72d2e8771397671990b8e4aa6bfe9aeebbaae7bc8d5cec62976c32c9d17ccda7e2f1769ce2052ae7342f891cb817fdde057549b7497f16af99f478ece0c37d6f7e3fef1c2f7ef67861f0afc7c3fdfcff713a307e18a336c0a8dbd6003a3df958ee6665c4e06d41bab95bcae03d498ff6bca19937a4bc52e843212e300c5b2a39b9ba24cbbec6949348b585761e48a7e8211291da566171a1991c2c88813487e504d171a19e1276abdd0c8889091204ae7256356373e66e97e3fd3836f08216d7b593a765281bbbb9bbb019bbaa4cab0e71545379e4e9e0bf428c78dd006e2c8a27e949e4e556366e6ac0735fae9e369462e27fb1e54fadf7333c029a8b8da53b8aaff37fd42c76558152ceee5ac040173ce39e7cf30d9ceba20a1f66f3f28cdaac954376bdaacc9e36cd7751bfd9bfe5ed1985e21e900ebe0b73cfc985e61dfd9ef1566c21e3b61d88906ac7b0cc3b0c75ef5334e53aa77265bc4f4a8d3c9f41065eaece94d2693e93b7bf23e5aaba95aed4d1d8cc13c201049892445fe6dbf9829e774e8cc1ee37d040dc6f815e5c6ccd0b2d75adbeb3568a1134996d2a5d48f8f5aad564bb65ab1868f5a2d3ef223222844da0cdcd1ec711113b55ad717b9fca8c74544bd7226ba4e6bfd8bcbe122229e8138fc311ad4f8d867ff5528267de93ee57afa8d5d7136466327443daa7c74bd7aed1650af9c5bbde2947c5f2a7deef598fd780a954ba320b10b93f9dc3aca995e164ab5881110d94867e9524a29a594f2a594f0af8c52dee0562e9b8a0663111b7fd8a29c4d1042da465f633af9358db91c8ee3cfec056e08d283fb6144e5d71e72d93717bfebb89c18bbb91ef0661e4c7c20de4b10af3d4d518d7bb612e895bb7345aa8fa6813eb2bf891f8ce24f69ad2a1597c3ffc2f6471e677b6f7a4cb6ef0fa2ea9ff2ce99f799eb9b0ee7fcc7059a0636a99f0d775fa7cff6a657fc42affc316b646344bdbc1d8d04f4a90b12f5ab57a30f396e08d55d8c50b38faf7af1d7b48f5163aad1ccdd5d5e73ced728a5543e46edf46e784caf9c0823e861133f8ce9962ca577337a15a3e72a1efddc45349e225085e3047ab7eab6108e5de375696b19f9f023870db9e472a2b749972254ff46e22ddb1d6b52fbfd67cb6bba53d985eafe8038dca3312219f954b9d00889d2cc8546488a6ea40ea9ea76af68ac7101caf83b7d423e939e872ff46af29c2f5451e3b74d47ef46af880057704a2ca2587df82daf99e0c5befaddd3ef157d938de915f5a8077b459fd4cfc6a6693ed5a55fcc0a86a6f95a68a0dfe35731dfa2a26fb22e5154ef157df8ed62848a6559a67d101f77e3beb345ba3fd5da3d3c591d22389d86d9fa5dd7758fd98a7d87bdc9d499acf61da671d9e67dafb2ccd34cb75f82a8b1e3530f0844922ed060f4a1c250a8c5b67047ea1bee8802ee487933096df964080929ca54d23430ff32816efc6f2eb9f1198923478e1c69acf0cde5d0f8e67200f0b063e0246cb9be5bf51f36e3fbe51b893719cf3030300ef35fd344b88279863230ef302ff9b22f27a01b122abc2fff926dcce5a4bec6c7b05f8c7771791bd7d3b8be86cbdb78edb4b958be352c5f0d422ea7c6500daf860d196ca326e66b783686be365e73e93276363e86548c21f5549be1a29a42a50a164a1acaa586fdf8b2f01a845c8e4c8d170b63dd0849d0bd1e2946894846ea178bbec92a8a464d333fc21b6b7c7cf9a469bcb7ff5199ff2494d50f05e03f6974e34fd6644dd6644d568dbf69cd6593799777e17264de85cb11c2b7c6f3e80b004f07bffd424cb7bd8f91bc540c2cfccb438e070bdf0f0343270bfff22f2c449ea6b1f131e6b767a4a601c04798a679791a1f57f8f81f5fc6c6a15ec55fd918001b897a15b9186a7cbf8badf15a5b165e63e1f95f07bf3468ac4083068d3ffdfc8bc60a2c783033d4781a4fa3860744f5433ab57d7f8a61c3468d3fb160e38598ae0d1b3fe32557c3f5353c1df8c6e06a70791b9e0e7c59f0be7ed5dfc4cae570278e07e701493d7d20aa1fc2d7e5b5181becb76163ab57f1636c046a99f8356c5c62a3908d4d7a15b9ff74dcf86f79a957f157b08ca5f905c67295662abd8aaf8aef627986e5247e7998ff627dd37f11e94619df623fbe2d4fb9c98238e2c724ea8b375b2ad8a9a457f125871455de47af0b23c52ac39b2cec3f46fa26ab8aa446e2289c24b9192e1717ef8bf1a818f0a62ccaa3164e56778cf471964f75b1089917355db611260746485857fedffef6e8d1a3cbab63641a38a6573ee3ec2a1e7fa5f7518eb49fa5141a8c71ec6fba85aeff0dbd0377f0fb770fb0a685a28cffe59de47aa3e0fa9187f591b75054c9e856ea27a324f52a22411c511245991afe4a2fda891fe33718f5f3a2db973df6238ae448423fb444e07335136c9aa67487cdc7379f96edd7c7293fcad72057c3f603e7e897d26e3d9c234a1e1c0fcb450df080d73d1ef0328132c6186554d5ebd0fbae87f1fa78454c5239a59417943246ea4a3418c451940f1a2551ba6d1404d06d6f48df0da8ee10d56d22cc39d097d86f010dc63c6bdd772f4da60aabfdac90d81e10f80dbf7f7951e25e902cc8461f7e9917247ed75fcf99dbecfdb5ee33fb65cfde10f73e9d4b1fcbb69b79c6fd6661af34cf5ebbde9fca101db34084e800e9879d1512830cb9cd164606ce30d969ee0181ef59f605811e951e86c9d0367bb965d6ed87d5003f7b489ff37fe7bc9afdf5980db2ddbebc0f087c58433ff480f4c3e721ee0589fd1066866f1884ed40db01c66665b3926503da80342f808036a06d886d88ad8b6d88deac80b165d9bcd8bad880b621362e36a08d8bedca7605689382b66d5b6c58ead7b25dd9ac6c1f5db8f03f025c2c41570f3d4be626b15418d4182ba6699e4ef6d8bbb5817ee6e9d028d3ff396de686a7eef3004e7339fe98a57f1325b700ffcb03223d8ec21050b845c5f48a57bcfefaa227db03d29783112f90c84c99998d6c3edb0f75f3b91b94cd070b6de77eeda3e2581c109c0f0704c7ba5c11c7e25859826054605166344d634937ebc192a0a0c1588325dd2f484cca908eae7bdf109929c86491596a61e7b63024b3d4c2ceb5a479d76036334444483c4182c889b4d068d7603f245e6feea14cc58a069b86d5c23d5bb31a08ced1fdd15eed031b08d8acdb45b75952d0be21d8957f374ae3ec99459193e1c691ebddc6f9d2dee0e11cfe3b1dbf5f4aaddba3cb36c56fbfd1736f10dd9b8ef6c68e7bdbd8dd7e2dd1644993254b8c4cb0c4c8044046260052e27e0e95b8aec475587481b83773d1c5e8a9aaa092591160c6059b2220ddf2080f7831a6eeee3cbbe3e51242e9105e1c5cc1ff62fcee6e082184144238913033a9c001adaada526b1441143d454629c88219e9a008f64223218a2e77a1910e803063d3343ff3424debb88d757b1f43848825948698f4b0850b7870dae7f6579c5efd774fd16a2250d0c2a1a088a1462660b109762e3452a2e4fae042a31238714ff0003ad00b77e8a0ba70877fcff5ffdce80928d7ef10d5e59fe2fa9ddf5af480c4ef0bef7ce87f79108cf680c4f7e8d18fc8e5ff22111adf17aea4a0078787e6097caba3fb0df1fb0589492decc86491599299420b3b2dec20b1f96c3d9b8f0d368f1b75773aaf4b931fb1289ca3e543ae068c0aced14e9b0896d4ab1632afa4fe4d24a5621ba83697539a519af963975bfa973fa4ee7fb94fe71ba300e54308217c1eee5580b617e4a8e446a319cec17fc17e680bc03998889286dd9283974a20a29229314662ba00518993fac1a426a2b8beed75c9eba27249b90395ebba2e2a31ca9ed73395db4a2ef7708ebe62ecabe5d557528931f625854a1709d2f20395264bc8c08913cc9723c2675eb85dd4af92c11551bf5547b8c3bdadfc683b3297d3354c29a38c912fbf06a38e28638c3de65f560894364ebb9928ce1b79b8f3234204b9098595df76c2f433d1e52af709e7883f23129c23fef54545bd35843b5c44f2924f84bdc798e680e80a8161cce855d75ef1541fe22d4840b72ee4415191a4904258b51274815740e17e10698a138adc0f4a89cd5f24c161494628f0a143462d2c2e842e90d5022523143011fb29a441830f30636b7925e923ffa354a5f59d269e966997588c73cec9166218a5942d675996615104f2bafae7fc38354dd32876c5282592ab255d5e2f312afdcaeee5997662cfe3cc37f174cd9c96a3b66d5bdc308a4d8c6ed463ecbaae93313233333333532a637477778f3146ea5b967a696cb37b5926d83523a58f7139547230b8b0896117bd24473b7a490e87ed752fcb24be0c9257eaa7b134d652acd19676a0366b40a173f92089120e0fb34ab43aad848a1e1c1e667ec04208c70991eb52bc20c2e121879528ecb80e44fa610787871c601c49c2816d806fbb2828f5a3100a3d688208c72d5b1d273a3cc4973f2f8f07295f7a351a805f833a929882c345f18ae6ee421c3a84de94cb3e304551a15112a4eb842c21284a1244f482a22b800b9b58b2e426196a4ec7f49c6071d2e43621039e0b9b68c2ba3617365184102e73392e48155e9f710942757152afd7665ceca9c5927a45b5c7926ea29079b18f484baf58451972fda6c1b22cb3dcea55904b102aac4b6e6bec4c48c2bad028c90ee4c185462ca2cb1262b52e3462f5dc8f81b8d068044b57835c8e8b152e546a6f1ca574fb54dc28b7c9d3f6295b24f52d2854ea618bd5218293facd6ad1a23e954aa53e5a949782a9bfe9949431384ea636033ef74162302c5248694bfcce944a6911657a6883a8f8ed8cfdd12bfece06e9153f6777b019c64f2dffb417e6a4f2752f5e0fd5db0b9cdddd9fd05cac6066eecb16b91ea3f47a78a70e119ceb5d5aea7d74ce6bdafeab9d23373fa1b928c125091566cd23bbb604c9d2abe6e9157c172a6a733cba79244fa1c178241aa9ae6930e6eb295d531f26d1d486d232f247d02dd3630da58bdaa807d326e225ca4b57336d261397d3cdc9b3e583a86ec6e5b4b4642d5943691afadd3afde9f49a77faccf3b8e6b20fa2baf49dcba1af65339b7452ce83a1da53edb1ef3ed569264b9b340d37db94c9d2e723cd39b629cff4d49a68afe4863a6ab59a267b27cab889cd9e2df7268bd5ccb6c4ff2ac3eeb067cb586039dca457920a53895c0e3e04450e7cf9abfc1faba661cfb7af89267b2baaa47edd82817239a6e7afb6fe91c7a94c5577e66018866118e63161525fa7692007db001fbd54e34cafd3345c3d1e2713fb8f797e984cde54617646af56bd929cc98b29527925bf89ba7b88ddc46c355f3e0c3f746e740db336efab975994551b8a94ac04a8697afa70cc726152b3efdef4dcea2c6425da765946d4ab8962cd2acac89752c9b49c447ee611313d664db9b086165d7ca0b92c0175e4ae1aaaeef199c9dcbadf34f831dfab394d73cecd44c3dc3e9fc6a8e44db7443d2bd190000000001315000020100a86440291582c14e7d138f714000d7d8e3e76521a89e35110a44008828c3106014308210620630c0dd1681c00964b22d070413226327ecbc58eccdcb162db86149918a90e388ae97ed89285418268e2e1a3fcb00d72d738e7a58f006fb346c8f301d16a2bfc0d4d174c8d6d64c36f06495be0b6848a28bb1c4dc4201b26cb5a2ee95686d5222959691cd513d23d07f94755253e3a4ac561c5796aad3180c7724b5bfe6e2163e2702f332c323e861406d329acdab205b79a7c1bc5cc51654fe1f0e418457f981754664797fab47924819a09b3e47a5884ddf5096d0d15504e324f372b148ddd4d92756c3132b48522a707cf073c88543569d1e19c65d084e00a6a88859a42240a7818de2707a2d9fd1a65cc96c76bf06ea37ac0a706e72476c96e0ba50b4eeaa62a65d712e0d17b9a86f097a176c78d3090c5b2642a64b32313a8dcb25070499cc1294c219640551789d8eaee8732ec6992fd17fa4443816276b79d8f91552f55033513a6c0dbb2414f3191ba30b4e5783011e8ac712bc4bebe034a79968a0d1351c54850e56240c024566ef02f8035071670a1d872087103868c7dd47826925c7752c642d52f0a042947dcd549de7acbba73d9c824dc484ea92be3e2653d0e690968dc2ca5c8ae0a70f737ff8e8c6a9f177a444b81626b77734489690161af5ed560f7fcd3c5a25995c4ddf594266f72d6a56ff0ac6d0c5ab80ba5f6afdd0c3373ccd5014be45d8ce7a3c53156ff0071ab4c6926ff1658bd79f0ada5517ec76d3e32e43d6d05451802116a632e5cffdb355860b2a89b2d9ab0dd5cd7df033f15da1e60996a8cfbb21ae7bfda8a55ba8727111eba7b60f479211fff6b5fa19a8d92c0bc1b85190ea07f6951cdeab9eeca0942617c1774dd17251a15d1dabf98db19fbbd37b478736375318e2f8b63596ddec43596b6805a071255e22620a18f0b3ca049b1628b5be8200b4cdf74afeb6e871aee9a2cc1d60e07b1bdd2ad05ee2314939c6079c34b52b34d0d09c6f2f63ee8e4b254246c82ada25ed9e0e60d55350830153d3b11cdf75fc05f1a8a15cdc3ad6354f5458bf151c511589d1ff4250169978eea82f732ae2ab9682bacd9aa2c54b2672dedc6834d9d1335ac16da170f73a4595d7830a9faf45f5ab529642fd00d808c39067febaf09b90b2777ba322720b502098270e73f4bc028cd0344f4c667e8d30c34ae95ece622ed818f2cad43cc11cc9121890b7d9354b04ffbc64a4e73f89666b6242d819ea176d1d62f574b3a483faa594437d0b0ccd02080118257d9bd48ad68b948cd50503e9398351b50a66ea88d0ad2bfcab88f9699bfe988e9e08279f8571ac9e2eff53f70a1651c4d149792937ec70e6616e96ef13fd81f995999a1e0ac28bd45db85e92a61898aa5b1b574db65e45aa2d8d5c4bf138bb95edb6f7e74efcb0afc8f3993ddaf70650ff9177df385ffb58215a835bce68a1715d2d569514dfc564ab340d47be48ecf4b873c001124bf45ff0795d4438d00e07d2f95b5d67f7b90a15202fc3a3a7474b4e8745cc23483e1dca11697043aec0c4875cbf655927932e88ba50a81ff12e094e63ca5f17f69fc59521847ecc439001062ccc8d41bd547f346d187aae4458f8ab67edf003032196f83d9f2a47763ccbd17a04dc22b4fd817149ab288191ffc503b81fec291f1c1a7ffd17106f6a3181b6bc67136593c20a194b5206afd5f56e85a61a669f0f7f0be5e4632e76a099b350e6fd0152ff67000e2148e8a5dceff3b8a8dca8a12104ba5ff2843468d44c920840b5ce643d647534b95a5276c7070807ddba0cda7d0a3a93760b4ed9714c0651fb9b7239c1e67dcdc2a6d21fe0c535ac867505082d7775e3268bf0b4b847a80fe10106ea08537cd89e28337e0f55ebda6ecb22fce23d3bf0b9736efd3b7d34d6c417cc580a573a170f80b1cdb319e41b600283a9d8a6b36fbc612fa66c4630b70e0986a2b241a071b9fa7a1ef006dd1606ab582701c1c90f84c47279cbbf7312df41c3b360dba4fc778e40b5183391d43ee78a034c6693879e764667d1a116b9736c853c692373330e95f05072a51ae3c02490002884d0f26f39eea176352a144dc1e05de4ce7b91bf01d9d532add81d15adc8c61788a47fbe222ea548edaf8ad306d71bee455b8b0ba42338cb7c11abbb4f6ed940b68f83a5fb83b0e3cc6d6bbe6c1e4b93f1b174c507151b72e23b828a4021de4696df264fe081597a365d87bc7e7da7378625b60677c3a1b920ecb67b87065d7091673fa9fd30a5adb808aca893cac6ffdb0ee583cb23a03dd1f051731267df308e9f9a37f138d132ff0e8006d42da0d86d93ff6ad7bf5d89afd01c37b115131c6a4df238c5fde57bcd3b149dc5dda4c057109c33f40e75a407db5a44ab0b42e13a9a73e9aba000d5ec99aa0a25479110452003bab6a31bdf3276926e8a2d17f98068cf9f2b9781a42e12c0a0ec44f01575d01eeed9722c9683b566400f76b6b0615713429d859c9aaa6fceaee7164c350733440243a17f974cf9ca83712d306b1e9a8d8f3027593c92c3f8cba1b447622018304d3fabea6fe62635c27feda817347966236e3401735fba74e5c3930998b2c564de23f7c32b7e23c7ddb882d80386915ea6a290c9668debd25789a7f48443afbe3e7040051d08f3618cef0035d90eeb5e0c87bf63f856917a269cfcd07f71ae87a836ec72859082ba4068decdaa219a74a58f59acd2a5d826fb5096760e0a42b9a66c9d629706b17697f46d5ccbe5cd1bc4dc77151f03412f8c25454d55dd83c7f715fda56634e2f28716a76a53bcb904fb884dca6b65d344896e0068cf2d36374afebda886f0a6c4b2bc70ed56804869eed687d4aae470fe73cd8573d9b65b8329095ede83923efd46eae515a1c685aca00df69e5809cb23d17498faea58b61d6083b9ce3511349a75dfdd59ed08df28fb08feeeda63171cbf28dcb6020926f27c03e58fe4d12e7861aadf2d95970cd4e89ff7e6b18960e5767471c7f19d7f80649dfe71542001025b11e6382c47e0a59f9ac6c2a4a9a4eed2ce30bc775a33403e9f6cad142ce4567ab29e540561df124825f18e59e19f05a38a8b91973d8ec50a5156b6291ac76cc82d7072732268f146b920ab748be3de40c663d329a8fc7188730ce02fd13ae7515d559a7b68931bde1c24a76e6126a167ec32fff67b2e58b0e3366a3efec48371005febf9e9d36fa3e934c225e4acb5fd8b4a858a009f235648cfef3db0c3d5dcf67fa1a2b281fe89163f091c3315f45f8b0557f0d3621547e8246dec0a97483e3f5c4dcc30728359fbadaa23001a9c2c09676766091328fa3995f867e4ba18a1242cb0e1582630e760c98a847c2fdd334cb6efd286f6854972aca9fb1bc25b76a37a00945c01ef016d4b27f8dea46a00701d89ad03367f9dd5a05ba1f544d18a68c4ae73c0df8d3e33f36f454a0cca0c26b89bfbfe3700f842cfe77c9076530f240e93088d662c06cb7b0f80764d7cdd1ad84f1e046a98703882b0606e114b67cdc54de1c117b5d99f8fdb74b30f613d474933a5f716e17e55cb8e651b1df4980c5a651723aa4c52dc1836e3d18f33944b6bb4805aaf8d2347847c07e35c05f1c0001a8724ac3b63b7f6f7700bfc93ca0093a4e7cb66965ee8641037117e01ea7b04c7ffdbf3b4ce16012464cd350668bcf094a35a881f00f5d5eac4f9d7bb3f51d2378a3b62263e4e337d3865706a5cec22a24770bf14a072ffee0ceed2121213d3af322f85f44dc92b9778e9f80aeef9d45dc6ff46ca8de8c66780e6f5aca51285cff2964255dfaf1003ba97ec1b5375009c46112a7f08f939af9ff7ab30a2dbed93ff229add3db0e80316fb06d52a3d4630f25b6d18169d73ed2fbb17c5f39b4e7f81b4ddcc14825277d43056b8ad0d7aec367930f8c235ac59018d5615fbf89b31d5b5f495c21e6cd61b5a58e666effc40a5e7eb0c50e49975d0bf852140bfb627bc5e205a95e48f87ba19e77adb31cdf9bb86dbd2457984e8f22f6b5956cdbdb276a6c0900cb14105799d267fb77d2c16c8b8d0a004fe53892fe8807e72a7052c7d7e0c2f19c893d49b760ef2b8b058c094f8d4f3e5f3a0793254f3fcbb13895250503ec8f97fdff95b04d45cc0ac7e7571782b320a25bba4c4cd8b6ce07750494f1ef4d8daa732c1bef881b609baa981eb4a35f054f45a4917b7ff23fb6476f423d47a7a14cb2f239d9cea87bed1b687a12a18e30de4f75d5b1575e7319e24e921565919e34bd70f939b53ac2adb4a531228148342fb388595a3249a203b08424801031418273501d92192bd7f2883e79ab25b79e23c64eca783ad44361e42ac7819696980340bb0c6c3b49d50e03d933af59390780e0cd47cc0148c30fe0f8f9f6f7050657d50611d8f5d2ae373058c0f8c136f70500d71aa4001ddf7d31ed0d62bf8d0f25827a33c280b8479934afd5d74e571ffa18cd0a19ef1c802e2e1e26f94db3b9e10ce83f3bcdcff1b017d9d9cdcd66311d7ef62d2c1c6cf20abeebf7c5d38e8ba845ef8fbe8a816e181b98f94fa4de3aba6302e79301f02b1e64eaa2131fa4886426e39bab72ee20fb21442f95df3276658bdd1094a16500cc23acf6ef95fe9e1b16d18b4ff44588dfc5d56600a8de611aa1135e40b8f031b3ebfa1b87b703646b28174ad95622c66f40162e9b09ba0a8588c56ff4df1c607135b4e9b2f93aa0fb19002954e678337a2debc520c9f9ea843528dc8abcabef4d016c550d6d3a357954e90da5ed00b8273d593372a36560834de12c50157d02aa9ae8e5958ac1866049caff8d514072a07f3bdc6c963edcef27b4960d6a11151819fd2f429eff9140b1dd16aff442291a4728d2db8c156b74cfbd63c9514741ed4434b54cf657e2f13907d4634c030aba928474cc90f02fc8a0b1cfe4f97f64184f776f457c6388e2d251a54a77c365db5aa7c802dd8ae133b89c1930e061b04fc7b84b290c18d1af773cbfebe76b0c3d9ca12717e1ee4e84d21d3644c2a881d45e1c82b17d7f977393ddc4548fdba00b30960ebc878196c2c209d82f301abd1da349d908c57cd0a28c246e934be774742c0dd1581c1777504e3e92262a8d274caaa4b80f29e9ec318b10874b0b4d7e862c9fef9a6ae5c17741bbdac88dd34f98c31d7af4f4a62cb1ff21ba2027cc9f0f7c9c6082537523358999c8a7247b66600290805bc191e88e8ee813e56faa72702461272288a2eebeda82637da4002cde76e12c91b9be61113ddb04897218ce51783e77d6380394f8a27341324c5b01c59f93acdaacf18f0424970df47f1f122cc149dd77fd6df32572b52e2409ab82404b3a1ff2862a138ba5708aa0e1213617d541319fc714d23dd90ad831bffa504386921fda13eca5101a5a8b284d256d8633d8eaacd800106f707ea89ed4006d61d0615acd3a51a26d3b86d2f43829781d0e234d06d596bbb2022bbe1b93beea0b628edc05eda658d4a6254f8f2830131cf5c0805795dc523b2405ff9e0dce3574a70268dcd33a7f0ed0244336611d70f510b3e90f9065c298a1b5ccb59ed2322e1be6e4fcb39f196a6d0c6a5a8c11f7aa9ce51a89f7d62604e2b9d6c5cc8e9ab55df0f47e7a69425a1de19769a0981b56dbee1511b28a7695b7d3bdfd77a54d5d097978e9fe9b35d650e91fc7ab9d129c946b3996ffc9bd585557fb40d53e6b78b507c4fe9902909e1af71ba310375561c14b8301d28229336f55b62d51fc984e0c7da753befe5bf5f22a7b738f1c077ccb85286f808c500808a2a8613c0645839a672e1b2fb44e147cae533080ec8a0579ec6fd7aa74dd56d5b184b0c6f17204202865bee86c02a8c0fab7ff39706709887864ef44ce0cd58b4be3f6b4ee09dc2fca68fc0b3fbd60e8ada58806148884c76e1e12f9d257de46a7aab469d0ebcc305daf7adfcd3fca8b3347f3bc7fca653fcc5b64d6c2cf95371c34988589c28415a216a9878a8fe801d87c606273141682984e469a0e75433b72e130505f497a0ce1bdb41283125a5df20ab08deca68eb3a58d6d8d3af1965960d67249a802431da61bca753a9727a009db2b555b676d6d794272238dd896435675f22f90011316fb99dbac0ce9afd23004601e160959c8dc5a767135c9de2d0cf9271970d79ad06ff25938ef694fd5af371371c877dc53041e3b922370e172edf94813b9e06ce538227683e44614c50ea437c3df1bf576c860735f40b4f0976bc375c84940adc51857b9c7a26479eaa63c0680e6b7e009aa3fa94a3eb30a7fb14db8763001454d75dbd1bb6a0af05583c9978fff5ff34ab147441bc5e1bd28d109035a0c68f6011f885f0fd6814bd33446a3ebdae75a9b7c00a0619deabd165db0f7d56e118457b5f02391e4f4be1973d2e5a1cd74b39e35ba0913c76f58be5a6f57db79d58ba66458708b8cb7c1cc32768fbbcf6ebcef198ea9a4935e30498b2b40e7cf291522e555d27d0a7a42c0f4fb58b05dd0cd4b35b0a0115c751182ebf299e131c33bba654d50bf3f77f3546984552a8ab30e4e2f09e911036acdb9ed33883c48606022ca24149f59771b35cea55a562c1d5e2e8a30b61dc0b892d7edacf55d506b10181865cdb184c0e7b6f6b2512bfd70b9361adca39c120a4c36081dbd2358d960c1ca3184c76a2c74959cb99153911774ee04542846b9707e5dfdf02b28a98158d02390ff48bba30446eaa800a134b8d425ed2694c6c83363b1674e325b24e2f161539d6e50c7c05781e5f5d1d3e813145c5ebf75d6c3b6d283f4df4fd6a09a26bee1a12ce9e9eaae51b410da9e8af07f3b262beb9c46691da854e44912a4d7b4470607947a7e74d8419a6379f7b621bd956ac267260695a7659d5a1aa018942e6edafa68924b07d0121aebbc848018e9973e14c4b28e0824656210bb127e5721e093e769ef3dce3b29b5a401612bc4abd6fa12d3490418948cbf2757c11b211d30d55c1557a5900fbc9c5a49aa9e63870979830287f21de3d0a50efe94e69e2cc19946eadc8d71300ea07083b19ecd0560bb59bc808936b9fba16ed61b561e07c8e384cb49bf3ae155e3000eb37141997405b8b345136840d4572e5da1481402aa194b4b8de3f0f81df61f34d3072e0c578d21d54cac333058bead5ba1e94cf1efc1b57c416a6b84e1f1f341545158a4ad32f09a4e21fd37a831a0ff65e22523909ebc58f473ca1c38267c833e7dff93b5ae9e9c3fe01e6a42608663072a59bf7d5904d45ae432e6e71e46367123f7e501f39bc178fe4b5354944080d7385ba9722c245a25001608c46afc962c13ec540ba5badad6bee0473235000856397a51f73551bf1e53a76bb60474f168b035b72b206f87e6f593cfd9096c5a4132ee0079f063dd469dbe7879f556812cf4aed6acb22d466e21b94e9ae4dabc89583a33472efc621f0f9b8ccab4a211e1b3e462c131e70b804d9478fc420a7f8b15ede7974ba1feaed45f6f6af41b2a2a0f963621a181feb2fdeb2721c4d68d125239f57c7d414da26e7742e40b6b1260c5610108d44a3223980ec0cfa087c6d5d52659cfcfe1e36993f2129fc5cdcece8437b4a7e03168dd03464ab5027e16d7ba813ef0693a4e8c89610787c668e344e8cd7a4083f54ce0610969bbff3951c458cd361437c45e4c03aea08d48caf5a791eb62bdd6011ff1fa5f0b8aee7eda0107daec5d956d57d415dffc53cb033e3eecae44b52463a552beaf850b09831f9a47160eed222dec62982e7ea6ef3bf70b7b7843645878ad8ea0422a08237e925d48240f1350103516beb8436b5d2ae8625f011c588ddf39cb1a71bbbff43209cc53350cd499c7d41159a6d35abc561455b61667a348a90398698f9ee94ab31f78d0201db51a816eefac01f6e0d3dfb30ebeb44006d068ca957bbd01569f5404239b90db924e6771078237873494aba7e6bc38a6f68fe31285076404690f18ce539d3161916dca99fdfca269babe742efdadf41ba42e57d74d85a2d7f41f3bfaa0da55a5037ef4199223f3393486db07e645b65aa398b89971c778cf07e919f5ac079144249e2606726dc6eeddf16770a39a734f799596a7fbffb63af74cfad9b94eb67cfb2e56478089148aa33dfe877b1961963c795b513acbc17f05e9f614bdfa276f1fa6b3f9bc628b4e7143aca5c5eaa73d90ac0bda2505d9a2d3abd603202d1c4ae074a399a1a565154f1189b6d6dabf95a8ebf4308bda2a94fc9f0242b346c497e809554acbc842ec558a88ae6de618ce560595ec77ff57f636dfecc6121d1fb3081bbd19553e31285f7143a6dc218cf68bcf8a0a50bd167021bd9009a0d5404eaeec43bcc6b5c415d90dbd852e3628306ec96723af488b3091a2461017cdbbb6638f4dcf7c2eca65e3430f9a19e4276bf38aae2a120bff184f472e64c39eee20b5e438dddf90699a418c607506e1aaee3843bf873d2b5ce91d2c6b93e2113db8006a0a4c96711816e5fce227d6da1ed3fdf689579151937bb45514a985852885112c627f530036a9d6131cb6effc9c2d239ecd5a4dc1e173648b801ef2fea0de771e533a26a79fe64635689a6156c40d4e2034400c3837fd4bd8ad0aa5df488ca2afe5a75cce7df3b40db3fea043789deb45277faf04ad3a109308f9b00cca22bdf77edcc02f850093998595520a26a75262063fe5f9bacce763357f81afcd05c084c6a206a96ef9a7bd9b0c732f46e6b872c5d3dd353c05e172201dbde567099616ca833e8ce89bf059349191edded8904e6aa23b4fb635bc198769c878357d0e961a80bc58d74ec740900680730a0d5cb32b056744b294f0506cc7774c1c56467604f7fe9ed1fc4a6170906e7d0b1d309744b167d831436cc0dc423df1a593b2567e68c84a91e68d8457552c4dd9a08e2a9498ec2f5c95bf54cac569d15556493a8715145068efcfbbfe5ccc9d991c254e7d9b98408e21852c0896e2fe034b97223802305a80082304b484f9f359006838c2447488e391ee5a998258be0b58d2f28a2083611617c77f5d86d4dc74e7e591394bde41c44d6c42c929052bb95044f2b588e36f62b821eab1645e1260eb3ef4117541e3e321a064c830aec8175c119ff5f1a87e1cf8603ec8687f6d448c6f354fab02085685488b6de3884f5193df440f3c1ac053fa2e200b5775b93a0b8fc5219734eca986aeb951c10b6c5c4620265218db7faf0bbf3b341e38a85a35497ce4de61e514f40a1a9069d2e87efd1ae5f2e540fe50c09d096b17c0e4c9eafcc0ee928f735239cbb42e6509c4b749a603c0fe81cd1aa443dbb3ce75523cec3eb39cb614bc73bb81bcb9710b0f47fcb2b6ab29a53cefc4e3609bb45fab72cd39ac23fafa6ca0daa7ed05a178c7e69f98a5bbf9a7d8e49daa39ddf320f95d06f480ab8e0bfa8d26620b636da29deeaa9da6a3a9e993f827c2af1f474820d0316fb1cc233b36ce0f2cf92e28ffa1dd1f94da71a37a85ecbfc0445df9270a6bc019f36056f49b1faa68e168a8379f206c8593fa638b37d502663d50c3b99b9b43002a98f8912e4ead7758db1aa74b453651a69ff542dd2b11e451032c3e49212995f60f50a842d849b28b6439fcb40c88d3c5eed4f07cd75dff14335a7de4aea6114dfb6003405bac390e0b3ebbc84b75867fd1ed37bdc11eb898c594a63d8f36a5bb0b1e2c518f0caa7f1bc44dde2640b3e68071d004622f815101f5e8f5d14a3159c471f5e5a47734129c721972984cb0dfb2d2ba22252e3a0fd6e84904f58f8e0dd1ce3c9ad25ccdc6bc51c6f8c5e36a5ab235507f275f57abdc4940c8b6ac6f432a5e3e0653131021b8d766e1cd017de010bae87140a77eaf48927109abf80fcfc96c1e8ab051056d56b555f5b8b65c133fc9ea805413a22eeab25d8d0bfbe1a3a81fd2d5ff7a73030789b9485054b1e241c9d5265519d590cc6ffb41a6e345d8347873f9e6a49406e8b2a0acf42cb1021853f0c9540a44438af4ed4871342f29e37ce41a8a52162f6408cc21dd34ec1957a104747807422b3634f1e2d61f32e5973d4d821c97739a130945ab5df62cfd77605d57145cf54326a6d1783f23933557e9056c585b51ba6e089cfbe8d44819a1b4fa6abe9d546e5fd8935cbaad5d0e250cc1c22e45a37b33d06719927ef6734fe5cf1476df54f6ad162f0ac13df208e746786c1a2f3f018cb77bd34a7e9f4bd47aad7477d3971c1feb0bb20cb3eaf5683e16d5cf53d6a8006b8cedd0edff7bf2a7a5369ce7ab695b0f66a8225e235ba88b864dd0c03148e5171bc13c0a075e24cea1da05d5c4a8ba4a23e29e1c737451c4d7c0ce29dbd7195579455cbcc91272c69a7b6a7659fcd837302a4279c45848df932402d893d9249e2ed8595a1d2ef3102ca7d492b8ce37b8dbb61d85ef27f329510c9a0f6e86851d6d9954dc68530e0aa4d413f77f4956217f1cf64df91cc70a616ff8c3aa8dd7629cbfa604a3764fc08376e5868346952e52155304c0953bffb6d346e4b2c757fe4723b1a3c5d6d01e55bff01a66d11bffe6b2d546a22433cf8c4cc9827338e1213e02e06104b11af431017f298b69c809eeffb7d0c216dae1bf07ff351990d902439f599752b371f5b5a1224e24b7611afff19f7d035fea83190977282da79537b955b797654d865d9ea5bbb63a87c27ecc1919ae9c26ebfec0ad1c2c965d18ad68bdfc9d68bf4237080c392feaeb944191692d554235693784e404c92cebe962f3ba5304de42c24216d4217436fa290fcacf0b6d03db24cb54fbf029a02fd7f89dcc4f6fa59860438bd43c4456805f8c88f4656ec61373c9d3cbdf8b38b56004bcefccabe929e78f790ab9f749b7f86ea5de391c36d0213faf0c779431ce073d58701107ef4147876c11fb229a0bdd53eea10889c0c480bc38af6e66177805463cc9eec2ecb5d3f494b143eaeff8ecf05d935ec6cbde08f28f059cc368588808902bf27fb6ab5da2390412950c5749f30a235bed84906dd5c3ff20dee8cd471fd6948b08bd81ce5af9a5bf314190ce65efc10505cd7ca2053f05a9c19aff243c3dc179db28e2e114f98acd7deca9e71c154fbee546c130ea50a9856978b582b317f372bf6ee72500727cfcfd2a1d8b23fa6bcb95785fdf8b20eb63dc9f53526f56ac0f638b590cd05ead439e5bcdb2b638b325f9163702378ed2d907ac3d2341a37c2ccf6f25048f0d8f43cdbe8dcd71e5f27e9bfc951456650ee2ac2dbe73276364781d962f66b75bc42cc2b5fcd2c789bd423a5f89036ed96c5d2ff295671d19698350e9963f771e08c9bfcb86c63306771d804c147ca54423c60dabe24448e1b075f27b26d6fbc93ea4b1a1ac0852c2d872156d595d25929a4974a2b1ea8a32a20b1fa7fcb36f9d677c6fd05cc84920d6b87248f20a2c3698756f48bb8e10f75ec52f7c344c3a3d72aa8f7c740b6b859a74db6d30e8b11fe2a3fc93eab384cecc14703f493085f76b5b232065c5cc2fd93407fbfe3139b6f8bc3d5d0e769fc944b8f4829130afde7c849fa828f495f997175296b7ba9ccb604eee00e2578d34eb6dea1eee10a35ef40d92041af41169224702d1fa7fcd0d846b4c9a99cc94642ddbcf419e6ad2778779e9ac245ce2ff03ab7c833ac347cc82e444c4049fce265a789bd1bfc6438095e2aa8c4814d2cf1136e12793158a16650a5b8de00acdac321e7643b9a5d6df6294537929c411c44552825255321d192a5143b799786bbcddf0a090483720a355c58b915651af590880e73c540e62aa8de979d6512d074ac81819318fdce96accde3fd26beafb9ea4b97516a974c98c100dc28b44fb0d9e957ea404c70f35d8cc6961077e0173822d70d1ed3ae0bd1c63de9ffb7031e71106ae4adc238eadab169860a369e81d397adf84f0238733eaa944e7e73d533dd7c1e57d046a0d77cd841d8502227e7083263dcb01db308fbc01615b98bf86e3970aaf0df7a9a377f9ea10f2c1066f5426e19578b76ebef7eb9ff0d5319932a262a4e3ef84589206deb3081f4a2ddfc6325eedd68bbdbdc238a9a4ddcc7dc0489c8baff5c11094a864e762b39fc3882c4cf1dee1cb7a61fecdd6ff2a966dc32d733bd0c5284b6ed2dcfa6e8ca431bceddde2ae419500b4e5c0455b67f67a6d936848b3e00c4e2288b2605986cc253fefd61e493f44214c240331fe31dd0c3c501b95400975f5aace7a9fa186419e539acb7a6babae0d7db189d41d552b26d239370056b2fdc84ff5505f6d5db5848127827e839538234e80bbbcf2ef5710d720c370acb6089fecdcde4f70bbbda6fdb66a8e3ec389c3f661e4197a3b972c53315c025e0128fb44d712a09bf875b2bbc6702457e48e68bdf520bc8fc4521d21b196c4745f4cb7e746649215e8e34e8649b4041bafd31bf86965dd83cc1baa5fe623c7f6860e16409b35c7c2062688537fd4cf3d2e1f161692a6e2a1400f3e022c8423081d1ced0cb5929f7ba09dbda0453ae5d965e37882d02ebd5bab31d436826d818ece3e5b022cfde9cd87db185dab38acb8d03a1cb5c4cd754cb718ce54ad3ba9b9589da359c75bdaa1955c7aa33b5e940b37aa9f8c7439014625c277721ec46e958175ba06e70c6c5c399ea5cb53acc2f2ed921918800b1128026ee362de913e7ba68e72c7a9b9510e90e9be87f602839bd15a7ab7b16255c204d63675d652db0b7f9bff1907e409cf9c1897ca233cdead0a44e4ccfb9bffdcd011c60dbc6c563b86b258b650774367ec1963d4320c5fcf2d0f9ac1bf578ab4d76aa470e63912af0294cfda5e63048fb557fb83bc66a77451c9f50740cf48ac6c6898da9754ed15d43ec893ac64d787d8c3322adfd09169c50c17b17fcaffb535428dde41f1bb37cb4c4819212deace6ccdc8bf93b46348f43466ab8dc91d3b9bb8c5d3384664fbc4a86affd033f16e47f07c96c0304c59fe2c3a97eba6e4a55053be6e1b18ada00f7b0ffdc43e62737b47c58b941e0a7f5547ce1e53f3272d08faab3a5ad41bd759defa197b778e5971d33318fe273e7f805c340e59c9bbc24a191ff74cc0283c7062f278f9101104231e5e94cfbcbdb97db6064fde1c9fcabb4bccb588cc6064b2ed45d0de6c5f848ab2748531b815d8e58f6a8041e4ba184edd215e4b33b03528f464a0c8270ce9c3c19f5f9a1a7c034b01ef0b2a358995ac4042f7c1b546b8cfe33623f9433a8e311268a5cdf093656a9ced29bb74c77ca8ea61a8e159c2bdb21a3a21602226690a11d1117b48eab8882a3857c5665581e6e3d3cb685c41a87bc54331ffc988fdb20bb3c32e299ad5c2dbffdb0c93a47f8dc6ea8ac13c3edf89d081b3236f2ca4a30f602a49173f95a9996a617b321868864e010883dd3bde8308bc4d987e1d456d7587f5f08462008aafb34d0403b82c8a375a9a46b708af0731c41796c5cab454988ec2c69dcf4bf3f79cb0b6a8d598b8d53464494e79806a1023bf8e08c602dc40f1b2bd96d1f809ab057a214abfb27f2335b5ce3c000bd231299d985676cd7f028bf6c1ae1f56ef63cd75c9308beb8a2c99934426e1928fab9bc7dd47f14b2e29af0dbf22e7e6f3a54bb4829d74748382f0ef65a7e8b898afe4d10a8310622f8328e32fb69e8c9f026e14fefb7d553eafd31a22c1c45ccb30f93d0e8d17c5b800284ab9654bbd8cada4df2fbfee8a8ad3e11c6f0f4c92fc726e0c287ec6e6da0333323e497a6046cc540fa18d7d317a4494104ce9df1e98d3cf607b0d685b368f226b53ae48e729275c7291988ccdc9446d730c6300ed974e9374c209332e97a71dac9d9d2ef489bf0f9be8dcba8c9cf91adb2ce3c8d95c6fa63cd17081621cf97db94fc8c5df21f90b2c5d61aa27096a59dc668b6de5eb266e8236440fd204f4c81ab8300d422f2e92138f39c0fe08bd5b08d2dcbfbe0c6dfe80e7e94ad1f3bb10cef4203254a26fa6df2ffc33dfcd341b50e06c333db86f50600eb153681e939e979eb696776ceeecf03a8c65982bbf20b1fe6e326ea3c449e11af539ad1be040438e282985f963882061238afeb55e92d3d1abd0c814a54a30442d553dc809c948e1b4db72db80f843bf0d3df459e09c6df0f50182475227e711ee4fbc848c6079ceed48a8beec3ffd562cc6ac107ece2f5549642393e145b73c462f5661f7d435e3c844f21d5c3e48f0732c1f5664825cfdc5e75b76909ad2e1053704fe5bfdcda9f22aecf036f5f37a81a99457f2ffa064d0c2e8ab0167bb1fec94371fe080c7d3269238d0469053f84bec624652449fe6558c5b3f9c9d7c944483fce85cc0a2dd00218f7c719145b292bd196e153a1e7892c972db4f6e8d50a2657ee04981a0013b56588d6d468fb5bebb88fdd3f6552175f2a7c3ab4454108eaed201fc8772b45f19004168da716297e04ad1f110102b0949e439fd92aa57a5764f9cdda5c8b7d32fe84d1a7fedb3f12b8b126fbadcbfffb3113c3e6951a8156fb0bb19fca8d24bf5f57e4268d4331da3e767746aee40195c0d2469638029ef3eb614f3c40f157aa8e895811ee3fbfbdda0235eeec8d257d385c9b097865f7b6cfd65d10b9895dfafbeb408d67a5d36c103a2f4e85bd8060273437170eb8a27cd1537ff3d756c0872d248e7373ec78f9e347b6bc0f2fa768dbca0a7eba6a701e6cdb21267b122bfa6b03a11e6726f4e7bedb9d3198fbe0213c73571fc92e146e58f17294fd0d3a1e0172065c0f5c0b322c27fdbb4f5cb15985ee8536405b8f20ae9d77248ffe3f22f80c957444f6b43de0f96bd1e5c9e627ab416f27dd2e58447c2d3d75cdee3df1d148d0e9116c514e6dc19683f76a2e28fd4680654a9fdf6c4afd9f01f1294c5115061d3df7332968e32a54d36a485491b4594cf22b646f4128c1987806b66470779a2b13d74fc7687d3202b8a964d7756003ce90aa9835909c1695964cd5307dce111fc7d1f9a35cfd5ea08aa43c00f0e9dc939b6b72dbced0978c3c29b0418bcfa75f8f8f876ccafc2c2706f8c76c1865cfff7458e43c6d450a8093762c99aa1ccfa5d852a3209002f1f138c4a85d347b4406df22fd68de0051731cb5a504732c199cfa12b4a1a8b1dbf6224e10c25823e6a3c919a1e964a9996c5d176f6caa4f87580503a769c2076b264ea0f72298d3c48a1bcff8b142ed4133e196053fe924910660be595122459d59e9a82e27968927afc2688052ba09b1c7476e2ce57a2ea409d75332f6d2d48dbb4da95c14f6fa4aa7e2e9dd5a4c887785448e847b20642f1512b5577a52caa81fe79c18a49eed90351aa79e62cec6be5e238c9afd0d9d5faaa2232e3cfa12d3c69e940ef3708b6a301526683a0092c442fc84b76461038bee9fbd3c59593b01ca2e8879c78fc70b921f7ab8b2b57c87240ffb6455f8391078795933d1fe763cfda94ca74b03546bc843a9292debb864701f326d628c97743069965f3faeeb846b74d20170733b0c10a267e914d92a8c79477341a764e9c2278e3b1827ac736cdda098183b29a0b62c8bed580c93e1bc14edfd7d4533c87fbac28d978307e8371a1b94accb0ace459e90a41b8928740ae67c8e2fa02e132dbdae731e79da615b4b9e6e867b3e42c8ad2afe4434efb5075b3151256cc5614a84be1165f0fc5a7113041ad1c17dbc6bcfadc6f8bb267aa5a1de070b48c5d49443ebd0cc451b624d29c430310dca2424a79cef9e848a52281091ad6f2d6d514451685e48c139803408c6e8e5ecb12e64360ac89b12f8fad1c62f9a2fcdea2259fad865d7876b7db737d631c2ede2e564f63e3b262bb37671e6600fdd3d84b4a6ecd68680d5132e399909d58b720e272f88891fb28b172af8432626f4e69ea654f4af4f963b19ac249160f6f4d08210cb89bfc2926aee81490d4429ef3f329074546bfa6fe8ac70806145ac5dd833b090e2ba98261359c30483e8b5393122b0f64c2debb28366c5a9105e610c68436e172bfcd152289dbe312bd874b593f7bd00184a35a6d8d2734a68543e20b0672d5f666953d1055953d4805c1baf98bd2a191510e87c13081291f64aa9a89fa05e27d8ce6cf530fb0763f943dfff48b06c0dad85131d61b577cb42d371100069748f1a6cadd541d91289589c3eabb151477c18916c287327377b88f8019b8931b8c152106356a8412b85fe04a22cacd49bb19ba2bc8a86a06efa759a18315e7964758ccee86bb326523b1103831d9e46110301c02f9422068bae7aa3395452a97373fc4d1fc094ab041e40061a36d58c1f66ebcd64dd4965d5abc86eba43558fa97daebe19f6c13bf94c1a51e9279f35f153ee96a08ee6903e622adb48febc6cd78439671aeb26a5f3256999c76cf4f264d4401a1bcbd95e5c20c4611838f14b9fc749813b4f92a3f037966f77043c34dd607bb4bfa60ab9c0b3a9ad894e9fb81688cb3a7ce1c30b837b545146a073b6754397176a30b82a906d6bb4c28784172edbfcce00802424ad100310dda9122cadbbdc5ba3f6238e8325d3c18643310267644c4421a291730200d7ac3d224d69c2c013e571ad5a4ee136851b71ac84d5b1696233807acb57528ee097dbcd21398ddce19407ed2de62bcf71e4e5d34a971195017ef50d6267490f12c99abd86413b3cd94455cea54a483fa04f6c58913b486074e7924a20c690fea30e7ad836688388835fed6ce5cad3ea5d06ff86eb1593f89a9f673b4078688499319220e2a706fbef12c09def24d844a763da83152c85f78476038e9ab118d4f3ce1574dc83336c941a7655575552d1d94e561855b8596fe374a97970241c9b67f044e721153cb8daf8a19fe02724f461ce7124737585022b2521039ee02e308f1607fe679e4401cf8bca7c772faf4882062f3fcba400513687b9765784f71925477615c90df171e63f245b9e464d80c8c48e54974a4f65d22091873f120f9febf8b5e85715b1a4eeebdde5f81f0f681648cc1c06f71c8cb8d2f56cd422682446b528cc44c5442c891166d4c86524797a0dd90460ac4559fe32d2383209e6c1098693a6514bbb65622b88c58eeedafd807eda78780519e24e25f0a143004378e56875f702b693172b337dcb93601cfc955bd5ea105f5d6c87f8cdf00004dfcb4d3fb7a00cb2bff9f9ce29a112cc5cb624cd3a6009f1b7d65cae6975820a6f8264ef764aac3d7cb63d8f32af7809605c9ca9820a9449446079fca1986307b9d1e2fa32cfbc480b6025f8128de9fc2a96165b10fb2edceb7dac460f2fd44cb1359ceedfbc30511bae4756828a2ea5a5c2f816a73c9961a0ab9105f7310cad7398c9cc4dfc90cb7387596a8d08db962ba2bb43fb2fc1d41f8850578d1d54b83eebaac588b8f301703dfa5fad1a5d13bdbf596eaf8af25352e62a51402172a3acd62eba38bc17d48e07066f9a47fcac1808108684cad5a82702e6b057c5f0219bca121ce7acb06077e1b7250e7c9f2a53ae9083570e093b65855ddf33b4382134026844d57a9a78617ff42f4b3c8e2312f09f4aea8d4ab0f5ee1199267835fac255b0fbc7f47fbdcde8f1b71d86aee1eb585db10cd66969995fa13567c63d18b043f753aa76dffb229937ffe4525d5240bb092e7faaef8268b4974fca26d27a0e0b2ac03bc54959e1150dd3988ea33328500744b7da0ebd49f8e15aba2ae8f5c0776cf4432390798f96bc46debbf6fb0f07909faaba00de3123a6f9b861f1595d68c1f513cf09d3f9e5eeacf6a3c747496136f01100b42c2c9ce3edaad0727a6d8f6036c986099c5f6e9b74711b605e2735297f2c2b492a79984f57458ba8d938ecac999b2829c6113998f7c923ae64389be81b8a8a24a29d6088cdf0b1019fae774a255246e1088dfd3a2e7d739f6762f090e4a738c10e861f1210f72d40efdd2cceeb08f040a3d6687252443616afb103b39162efcadebebd2284e4cec00b7db423623e149325de695cce79d89d2a05e88cb99c169e234c98d99ebca40f09c73f1da3f4e4ab35365fbea77331f7da8c14346a719247069b93e4fe25671bfca7d671c876ca042ec45fe1e02c4c89b69c0b6d410954b52df0322347f3490c0970d1a476c0227e60d93ecceef9caeede3624f903b614ae1516905f5a6d7fde30bad44e70b457f723cd24d222af102357ee34feec2610a7801a5f4f237f58243279a36198814e90453adab71e91b075f1e8359ee46394dde264c40d7c8478a642794e4477e187bd83f3e54678db77aeef733d7587d598d709786492ec60bf056ad9664b136b561578d01c65893e9ee817aad176259a4ce202a6cff3213ab73534d19cd702f956e166c8bacc5a08ea18f7ffb8f82bd95a37f0f9958f0c3c28b1452d738e067199eefe6ecf247233b3a261a1336a959748bd28a0cc97e74fee204f4fc2c79a1cb47e470b7ffe4fc349a346bd3374705cffb1a79fdbe399de686f5ba04d33091b1f588b7564aa19c61a1687637f8ce455cedc14bc7bc1668b2802a3eb2afa7293d648b890038c9ca8538aba9345408c182aaca3b00b523686a168c46cdff1d22659dfd7a95125c6be1ed48b866368e1af142f021ad66eb11768e809c53c3af66f176b6800e02ef610c450687837f1ed445f44b03bdf60440810c4b8b4b18c383c5200092252fc2b266540cf044e9cb663d30ef3264e8ab971ebab08659eb36041608729ad6772adbf6b2fc4c2d989ce0c78e4547e6766ee331226e7d1b7176dcf46dede801ec732f0c5507daab8080d04eed44314653c6cbf47c1cf79be97ebac7cdd012f1f7ef4218c5af5550003af69b0553e033bbebbfc9bb70afa2255be24efcdb919f4042195b5a6bfd35eabca4d7c3179ac1d892e8aac6657133905030d0a70fb7f877d720c154c99324bb6837ad936f2d841681797f7f0b8e48e6c87eca310b3432e7c6303add0d2b9a865204fe0e4a98260521fce6f1df5d8d0774db4229ae4c5820972f25e926c09cc9671acaa62fb56d6ca72f9248b78efc8fe520d81344ded0eee0819927680f8ff6faa58106359408ff923bd323a25b18a09404af4032140042ef73d29938dc1df0967f36b292ea98a4ca03d4630dd2368e89631dbe81c42a2cd5d59cc5a6b1380b7492889455ac43136ed445bab246b53a14b8a6bc46f0ee0d0d26bad61b7984acc02d3c63bfbf4636b1bdf6ea80ca91549957e303a61a82a7abae67aa996aaf60da4f0922e0a56b73045a2d8e2c97fa1fa1169b0827cf2b99b6d67e573bc15a29428720a48a7201557b716c0ee80183a5222f450d4a2c86badae73867cdab982a5d8261e2f758bf2595097bba64a03f431402880e3fda373a6308a1d6c768d2e304d1e4aafcdc96973246e6b156968e1b4db9ea90af1cb2ed842642c5bf565b962dc563dff5604905a7c8c9ff01c24d54c1df30ed4432f836c231537cb6c3f015c0762171830a5b7d2d747e91f92d0222a7e3acf7879afd04e2b29048fb3e48de9ef2fadae9f921c4e6073d4cce489b7f20a7fc32420584cb661bebb12d121912d566b58cb3edabeb303a3b71445b4021765c26e602b5876974ca36522a63fa57e9a2f91a416c2ba4806f06c8c5ee778109f8f836f8c58f4df56dd950a17bab6139f829d49e12cfd458d91d4baade13f5281b1a5533a4675027e8409f9a16d159a85bd4a376fa2996042b190f934dcdd59939d0f94d1214786d97deff39dbffb6b2924deca4a792f1809d940f0a111726db5813093f25db8349649c4d9a8e0bd75103ff850698a4e1eba0826803281290998cf7d1bb112e17b5f622c11bf437dc84b29984ddcfc73b877d8de77c0d925e5c7744fb20b6c9fa8046f82f3bbac88d681f164e7d64a99ea29c49bf21f46619b501b88dfb1851cb317f6a190fdea85c0fd9959ca1bca4073e472baa571580bc9c20669c0c726622d3ae3d59c00d6015db62f79f3909e1b767563fc845f5b20138f865e89476531b4a485380c5d3739ebe5b13b3b03b64da0b4428cbebec931b923db25cb74eb618a4cf22f408a4cee697623f71485ff6fa72b97f81a047aa1c0d852f731bfb5e5d88ddbabd686f66d062becdbee411cee62834fb518bf682b3cd11b873a182a194b9a76efd13c32e0ef53d184506701afa8f6099a3dc1cd2d0b7c6c41aa13bde3a32cc5f063c720fcf8b015f4d633e475ce1ab67a279c86343d53ed484230db1a4978aad36949a933e3cd05061874bfa40a81cc52629ccecf66d6e50a5ffc49544b3433dedf868aae81c80310d0375c3a3a769d6833027f3691fbb3f851a381a500608500c2cf9b21bcbce8c3e96d33ab1db99a8d216e8c19669231b754136c9f872dd0a9524f8d86c4f8103b214c041ee9d00b2ac6a4f255ecbbbf638973b881ed3249e7056b0d7f9cb5202daffd40525a3788c76790276f1bcbe18053e88c437bd2aed45809ae7bb9b9a009dea0044d25e2a58503dcd0f32f47900c1b4d399a0ca74dfd4bbcce2fbe6c345e7663c246eb87c93898d46119fb8621762500283512ebab6cbb5a788c621be020f9d6965a4a10fd86e4a04984de1e4f4b812a3b1584c8bb88f8eba11279f4efbedd93c75e51461759b1f9997f7757bd33fa80b8b58a7063a19497b222a2b8ac7006a8ee9d1600fd94de4c3c58f668cccd9b4480fd0961e4d3fda2c687094f0834303a6146240a833b2746010e2920b6ba0bbee2f32f3d990044e62d616435d8717be78fe8faecf1b1a11258a557f914871ac6674580bab21024c17469e1906ff05633fc50f2a15735757851bd957b95699a347c4a6dbaca102d7d9161bc82e4627d6a79f5380fb647b7c2a4ac567d40ec0056d70c0fd1e40a180acaa7d7b74485ab8164a17d07f80ff56e960a09c5b98bbf90877f819f7f828b79a4fffe7e72a121d2d05dd0f6d723d2ffb5b3d9f5e77ef753b871f56dbb4fa9b6510bb804049ae008c7debbe745e5da535098207058bef2f3a8be1a9fbb59dbb2b7bc618f5f32677341b985b913ad003110be1d70eb2296752b03bdbcf9b6c08d81d9a0b3eaf9adafc2c8f0cd09886bdc599bbd397ee85756c0bf86566e804f6354430125a7e08d985f2542b3780fc477d7a2cdcc2d26f2b43db688cf6c4af6a320b7b949eddbe2c149cd4a9f026ff670a94153abbf0bf493e06a9c76869ae7a6cdf6b30f6e0fd86a82692ccef4defc9acbbbacf63cd613a556205e859e8951000b8cb6abdeb80d34f5502e527b84ebe0c19730589803bfc9fb5958b6ccba9186916399b01e72456ff47d3a17f015ebdc3dc19142a7547ad27d1b420404b6a51415fba4733a942b3aa432562f4781fc538b64c08b943bc9e20f19fe9508d902ea38e765bc72b1482af65154c2d03d4b6950658a2fcd6e1ac2b79c81fe87583068cd0730103b0a78cd4faca2873833d9267851393b12db78e0c7aa5563d136d14efd8c68c63cfc5ad2e0514b8fd7f13acd06cf5ebe922890dce9dd0662f40733810806b20a0635258e29fd94272a44d81aa7dc10764d0123a7174d4a91a192dcd7bdaeac734e9e04276fc0d31b65ab5ea66de55402f803c4145ec79c769b52b04bb73373c5f501be7a2027aad702b5ab518f9b86aa53adbd676876ee910508573433d706f04636b167f74ae5dfe51f8f164ff5e9f61369146122b33021668b20068b8a5868475f14a497f86d89555e7182e8f551847fe2620306d2e604abb48a976523c3bcc1ee813b19149bd3424be1ef76ef7dd868c47094739636c4d3bf79c12f7181f88e1437cfb27943233412f5e87a382d922319e53d7145b2800e8487106f722b2d8c9bf3e01b26e33f0aea84660c0afda6cbf47a9580dab1bbdb9c63ec646e5ab7c1c290554421c485338343ee4466f53ec24e6c9f6b5125e3b2424c05b3c73a89903ac27ce8be487303482c5efa46fb2de2d693c3a972266d0e9e3a075fcd8ae0d2dcda0f20df2cce6913c8101b60a7204603d56b090c4e29a3ac84a7ddfbfb0cd422889ec1e96a92663b18dff2902153c2186aa6965401f8c3dde7a75f7fe8fda8d95719b145ea5a4f7aed28d92596068926515f66eaa1459b53d278c810adeff2c422b5cfe762737691688d9e0b45417a1089b6c7b1590c888ac4bd4cf863cdfeb8e698eb0428e9bc03ca7d828d36fb59dca95217be5a8516b3abadb495bf9a94b31b8a5ca6dda5e1b403721626e62136e02f86f71a214cbb6101197dfb0353428829f1512b78db3dccc4fa2764d3dea3ebf37df01584642d00573a8028c15e746c522091448f91fdfa79bb0025cab0a244d28eb1630145e1564b1a8eaf6fdb1fb4c123bedc8cf311b3c4c711542fe6708e9347b522a029a0c9c5a3f2eaf32415647f1b95c14292911e5f295c8c1195824a958f1feeefe0af8253c609189882bb0ba47f9e1432f65ee0246db03ea256f1c2f996c9b3290533ac6e6dc506ea1bc537da293c6e2028c88dae68fe52a029df62508d941a591a479554f955a4bd3e12c03555930e71aa2f8a412d3104bc529f636582adba492122198b243506e54b89a8aea5198c055485f5f8874bf2c182c8e343e9f95d90433c41ff21175a7def9c0c842a3f5cf6c712163614a1186da4d4410107a80529a16a5ccb6f31f2d5ff71c80cca507d60f49459030898b7879b3d2441b0a5298009515e5bbd5c7bc301b7793146213e71e92d34e5250ec1d97be7a5a6880899eec69464f50e30c28bc60680b402e615be98c27a3398a690ee4e6f9d44cfc044463b2ff9e281852d6fecf2f24d223420057482d38b92bac065da7b914003caa0c4ed8999cf8148f3e863be07953c990fae920ec6b13a23bae36b629083c1ee622bb92c24aa17ced75b35d05955ea98ec5499f165d995d2d0669e6e302dafd41b75739bad326624eb4bb653c0323c01c8f0f72cbfaf79cf0b8f4234102a5812d51d971c039a522aa038081c6354c5fbfeac0dd9270a0ddc53d592695aa715e370eaa8ce310eb5b9d99e8f0537c579f1b147f975738317c900cac38d6e98400cab0daee352c06d32bc0f0abea27ba8a769848beb57970af8709c9269cd0613d3144aff44fe6d1d847823eed36dae64c67f93cded275b91bf3c6ddaaba1e309360ebffb27d8bc6bdf15b6123a260ece2e320912fd1ef4c0999c8dc2af1cd317fbacb5afd93fc929699ffc207046f86a2c8911b7ba874bd1835bd12cd268a6250133954dd97bcc2f968a73b8b2612a2d82d6e781d720a83d80a0a6b8d40ac3123c950f8965a388660acb06b110e9de8fba9db8357d93c554e92eafdddf4804823c716c598bca7b1f800bf7a7ca35a1c5a2471498dfbe51de1c937c33e2cd9108978b10fc67444bc462898313136397007520be20502f98312b3bcb342afa48b2d2aacdb47fcffa6ef70f3350a85b13844989ac89549ee50c6bdf7cc72218d80ad9d63a5f2cd8908c3553c445167433a8e91d2c10e6d04dab795759b87157155c9ffb1856f50940ef56a3abf21488e3c15b16c0a7fda049ed3e627dfbf0e4de9052ac45a15788aad1ffa6ab3e8bd5720e69686775758cff03e5b424223a8815e56311ca133243617b987e225b780c7b97191d88aba6f5cd76c392283e570989d6d2d361a9197a9998ad310007e7310ca264ca29040e1faeb27d48944802410e840b2485068f844ff17047c7d72c0c9ffc3dc5d1b47ab8db4bb799a9465dd6b84e13a9ddb5d6414c1509db2d0a5133e1ab6149677f6e77fb349c7efb6b12138b73deaad5a40d431bac1e58bd64e84c571ba1254b08880956b4fce3963746d3627591183fbef59ba17cbb95955a3ce2b62b8b36806a2e8daa2344bf715e8cd6c527fdf18934e22f6e40650709c68946eb5a1bd20fa30c9d1e575bf438dc1f747c99b0abdbd6539cabe628407506085af08996250b2648fd87c485b6472c1fb6cb3a68060a1e77fd223f68fa0fcbbb208e84b2753c9ece4669099e51d429293455013f6f0769d6425904d44cc4e26991906f78b5e93d329fef5c9f7fbf188529a7ab06909f5f6c784252410bf36d948654b34afc26131b29a71c99e6d1c85f54d42936bb0e07453df99c2befc80a74713a4638e76d01576b4f3e9e48b7590446320cd35c228e3b1d1e7b2290ced8e0c242dcbc502cc56d8d3871104db2eb062d2c775359512a318bb43468cb1d702552f71a02217be20ce03a807780588af311c204f4cf612c4b149d078b08f66b8980ea8182338624b3bb498b178986288672f9bbe90780e9f3b66ec236c0c86aef2de5546a414e29066ad2f780c8fd8ab0c0ec4e211368ed1f9859bac273ba1cb6d2c1973f4d6953d3a43ec32179ff4e244b289ead246d4baf68533d2e1f832f2ea564ef25cd9efe51f5e768151e610ffad3381d09a128b27dd4794ef26d5813808e7d8c0082ffed271ac4595316c0701004e68458ca00fc82989dcde108df901a7a0117aae453ba76c3cd185431a1bab666506e60c50fbe21dc41ca5c30d60fd6e7f83d118308711c2db321932fec6310753a1ad11d96b5caff62d2e27d5bb6dba62ebef7206af8f18853fd7063b2cd92d6ad0939bb78cd2ee833d5007bb2206f618970f01d0be7019b0291e7b17cbb9fa3394ba5e73331a1f0f82e42746300f793ce2cdb911a6ed01535495ecb6c92db686533b66ac10f749c5791e11345489d7b3f4a55a1b263b92c0652d8014e807003d44eff60bfe64473e1b1ca1a3496598266aa9e6b8dcc8853e640e517112903a7c61002800c518abe36b86242b4423824eae5e7ffc60cca2193f0c9715d11be87c3ff68e2941f811c2a1941b4c32a38536710a2e085089d0d1160d4302195284814c047c3bf18b4c3f66c3f12a0dcb28657fc5da12f8f602f13624a0a3676d90466406be0763f9326fed7e2f38ba33ab39d2f49be9a6e509681ca173212297bcc2bf85c99c792bc4c401a66315ad6bfe9e6b243af3b37b7f6ec428d01abf7886ab7bfbd22578a8fdd193e99d0fb904a966dfa839b26f842aa0d5ab0cfbae3c75d9f73299a0bade71b44c3078e17524f3f3410fab5fd87cb0f07313d0da30d6606d3b5d0053023de7107835a42e1a87222d5bd60e1ae7ce07bd17c705d47ba49768f5981811fcf53c3fc5475e28821c787aceacabd03619b04ac41e4287601f059f6e74397620224735d5139b8d8f3e7e6d85b66e6ae36083549499277c2d6240c75c5eeedaa8408ae5f913978068ec7bc0bf3662cd5dc999dec53d859d815c1622c9b2b29071329e5fa5baac17fe7f7d55fd6baf5ef6339111311bab8d9136bde411ae551a2ed21ca2ee15813bda242fc0e48f06167241faee99bb14a94563f79aaac6fd2d4087c75d5db0ca1aa5e4adba4de3303f2f630292305df143b44104dd3ed1e43251ff081d113806ccde67260d38b6b35daad65a2329b60de6a8003b9bae66aa5f91949b82e0a1eb03c789e4efcd6adb9cc459cc543f540bf751f82f79cbb849110e65bd1036a1bf32b48caf3438c55fefdd9b9d81996e42dd508152797c61eb2a007274979f8fcfc66c10b2a6fd916a3361b44826367eb418d1dac7a241300f776b6d20eefa1de98cec02a4b01842651c9ea01887448db15d2f47b1e8e62d4e5b40b6b28ea8045c9a04216b3645dbb024e82f80a4bf63246fece9bf24463581144b7db024cf22a198e28c427198c9f78e2984ef3fac47a6fc5bcc6b0ebce7604a24f5c96762cfef68b4bdbe4e5776b2debbcc2f26dc399d6a58bf1d31d6f323e88f214066245cb230a600d8be0fd1d18ef65777d1977e8203b0be67476c705578489e04cf152334d3d4581c0f1e0b1c0b2eca55bbf964291ba28b6810fb0fcd3fcc2562908c48043d7ffac4cbceb524484a43ca863b3c8b7140399c381a001d1607ecfe6838e6a3fcd204e27075fc858376ab212dedf39a8907bbf7504249a6248b8798a3a2eab9b1f8794ebbc74c9c73fec11025e0e605ce3282c60b9af31fe970ada2e8f4f36d9783683f69d687a9856aa7310baad4ef07b21008031439fac6bd74e511050a06111afa73cfd625605efa7d3497e3f118154f05a950b6e12897b55b9ae2fe86d08ad0440a5f58511d56b4cfc0e4c1c1a6cd22256d48664bb0c9cb148e9b682302de8d859110d3973f5fe422c9e02db9d77a9c5280fe30ca970c6d10285b1ad1140f9680aced8fab048e761e0eb935030d0a177011088a95ea891713a82fa1df65b203b633e926b4d129c48eb1e8f9c9e9d95631529e225f9820b117931a4786eeb0c91dd12f0e0ef48a32a88bdcd9a14b3388668c2bec08668e1d271b8c6cff3f06dae0818e823ab64e8c370436da8bc73a46f1aba3e14e9f397705ca4f4d17c1ff14f519fcd7842a25801b3c602835d9e0dac28e0df29c0a393e07a1c3b9f36430f96a3acbd35b08d795b86bdc927c8fe3b89fd44eb078211c54f64adb3c775f3d8995747b78c21ae4e6d1651f4fbc0d66c2c5a094c3025b9dac781615f605fefb4afd2ebb47ab0d320256af2e3ab17df76d8d18d21f95b052d387ee7108d38a2681b974cca15e8c5428518406fe6de6b12197c323fd365f28b5d14a949909bb2f9bf49e54a268b4d1e8a490dba343f7497262b4e20d8f3e2b65c7b920c6c320de145345426bc9d67889de1a06a37b5d263145f74f1877d037fd20e82be424144e15abe53272e34aca4ff568cca47aee2bfa8f8a99604e53901a46c7d2196bdbe4d5dfab146808c6e187b85bd946cdee6309be7ebc64aa23272389c4bb84cf96d35650aba2a6a2e4f390fc684f9596387dc30980fa2a0cb070883351730c0658d6f5bb38f9912fd8b8402b641dae7d8a41ee1f01b0b3e8f4aeb2a1d932259a76150ba3a0658e34688859e634cbcd36243f6445d1b26d409d7c053ea7e58beb6aff094e9fd3d806b3c96f3b8c874cab08c9e6eca76fccb3e0f24fa3d548e38286c49efe49b54a507913a4ce7e3a054f44738fbe6cb56c840f6a612f0786e9e15b6cc88ea86585879ad4c24925549c888acd9d3d71009f9f29cd3ec669d966f7b3ec2d0b0b2269e662ff40d0f3ce695540e01a0e09ea009074a75348318dbb43fc17ee5d367355bac52124ae78a9dce015d36696b8eade23b43e2f178e955c426f9edbfcb902dd1c922a33ac28124097279210728c61c6902724ecfc48f8960c62b4abd9f8d63fd41eb72df2b20a573ba1561ccd681cdbe03c03f28026d0af857dec21ae33c8578b45206afd5d206f07165d6c4497029c142d3ed963eee8165ced35fceef110c0f3afdd0d75d37cfc1089bdfd6bd5b6b5805a39db402936ffb35eb9b65731688056a8f62d9e6becc6590220b00595333c4c13365e5ce4268d0459107df79e7dfee029a4d864a1d2cbb4d793891f36f3c7b6d59f68d28c42574e8cb69418af0eaa4d3db361f1c461772989d7ec83bdf21c450f0077085062fe3b0033f1bc50b2adea33e610566bea0291f813cdbd9be30ac096117ddb33c8cdc15a7f02cfdef79f3644d8e2577995ad05392979f2a7e3f8a39f00edd2373cc530cd0d0c909d6b7756ba8a17ffe18e8895424fc089560c032c12953c87fd10fdecf922ada50edb3a9cdd56c28942e4f75470a554a6af769d857e6a54c00d5f81578eba47c23c7cdfcea1692634a5c9ce10ab35916f7c5a95421a17f74a17ce7df43359da30547c126b18769af1a0d36999dfccb0d4e880e33fc214c37cfbb6f31663f4e5ac9fba7c7070c8c9f6ec9b9f72a2d45b12b385f683277fdc7221c6a52977b5e090fbb3978372534a5ef9d864b955f8bf82f732c355a80afc7c4e7b74561f44f8c84108ba610e2074001308ed2a00c215243abad9d9ee7494bd924a7b00175cf29b717d71032e4776fa4ccae3d9ea416276d4d305436c3d7d4138c1beb5739a07e3d3d56f71f93ff45ab06a4ab67c734446628ba4d24ce96644073cc940cb542b24553d0d98c7864e37c11ea5808515b14d7cf2ef602e74d2f966febf46944ad31d21d89075232ac27980bf9d4369f1c0b3712e5b647a269edfba83cc5e0ad611c34c1c6a0c3725199d8605fe2984cdc044199ba38ffd31e06ca60fb6dce1198b7507a6d3db13d387f24d241d0d6979025351b60aa8ee770075a8aa2283707d01707dd09d3405da641ee3aebcfdba7762c8ce0082d175a20cffb60f083a615ae3e358570c05734ec8380cc83651f93ec8710516090bd653cb824582bd66836d33e1cc1496ee7ccdd1bc023b43a8924aa7e1cd2d43ae9ae9d104b5ddbe7fb2307a46d9db068102ff7074a0291b50a5a369e2c0291b805bf9a10e1a12fc3c20bba04775281b2e441e7a50421b86d5da0084687567c8a4cc4d7732e7f62acaffb803f7481d16e0c4426a3290e377fd10d089aa61b9a9c10c46cfcdc11ba3d68e0fb04bb4f26a2e86d8245fe6f847977ac3c670a87120ba9b9cf225d41f5c1c8222c1b90cc2b923cd80d63a5e0071ae7a093b162155e8935ff5dcaf29f5d9025818e8c31f5d17f8a199555a698771aaa65a438402118ed96a708f4e3b5663dd720b2f72c8cc488d1048177fc5d16e4b7981ad869b7c74ca37de0c0ee9c41d8dc1e3553b336d28fe56c5ce539cbc29470d4af52811618ee54b39c694f17c7470e8afa313f6ea93c563c195289a07f3b91def4848d971bc34b579b58c635c3c089a9a10a8904781b490ead0340c9e70f4df4dc4a2ad9021559e55c80961804bbc50d385ff05bd69912ad99c001ac39449d2e33014fecd09e4c62ca3f9a90f7096ca65025a51a43f0e7f5c15a7901d688c0a26feaccd91e4a7f42956e807f0d5222a219a1c34a0a2f6a8acea360304a6033add4a925a20543a4e070d185293e78bf271682de906dda7293472fedad182a2a3c9d849536a143903df476663480512c9f1358818e5308001c0b9ec818c13c10d172a48ef28afda573a0b3c950b75aa0f1fd52dc9de72ef2db7dc522629033c090809dd08495efefde2a91d804712f3d43ef21f2c8ca736ce7f5f3c6cf2f22f93977f6178f9f785977fbd977fafbfdc057823593cb5f5af746eb4b4b0e382114b780cb045894f890b062275f95ebe07f3d426c0b3f0f2bd2f9eda457e8597efc588bc7c2f8c0a2fdf1bf2d4c6f1f2bd303cb54d2fdf23f2d4a679f91e194fed1c2fdf2bf2d42ee1c397ef95e1a9dde37fbc7ccfc8539b84f7f1f23d333cb5f3d778f99fcb535bf5435efe97c5537b009f7af99f8ea7b6cda3f0f23f2d9eda0078212fff139aaa1cba4ae1e57f3b376e641340200ff8097a0d78125862c0fb0043708aa6803f01fc3fe1713ec99be0e40079cffba513f23ec09bf049de479e821fc747c901a47fd4034e0073eb67878f244fb1bbf4478ec890b7097f420ca823790afed68f097923d10e90770c7f244fb149f23e623f099237e14d30216f208f7a1350dffa8921ef9eff24e0917f1cf008ceb77e90e46dc2cb00246fd4c7f02738002c59d00710f0843ce582404ee801df87034ae0931c9004c9b77ebcbc81bc9399f7097f80bfe03db5b07dbc913cc59e5a3f4d4e4cf2be3f4fde0c4f4dbe746a8149e93d1a6ededecfd37b036e4d6efd6c23bfca53ec0effe6068617dc577f93a7e09a6ffdccbc8dbce729da7418fe264fb14df2beb1a7178cfc3ccd799afead1f18f2ee39fd0b3537a76f214fc1372dcc87c1ff85bf349056791b792635a1ad59f928d5787993fed678f75b3f46f2eea9f9150d61cdfba0c1c8ea5b3fa5bcbd6f42cafb3e93c720a6b9f5b311b0557816f2144bc36ffdb8b0246f5c22b14055c8fbc987548525e1971680f32e3d89fec700ac23b77eb60b7b05cb8201f2263d56f27d2ce4cdc21359e15b3fa4bc9568087822798a7d9237114b0da0e4499444fa28e9fbd60f02f2eea16f001d44e8aba083880adffa519237e90df0bd92c70b70e197e860c1ea58a2a394b78fc73a4af85b3f2ee4dda3e3972c80051dbfc2025858e15b3f61dea577216ffc4bfe47901d42f2146b1130e4878f1da18f040cc953f08e191010e6299ace3b7c1f3bbe063845d33d0af8c123b77ef6939d7a14f2143b04851f396ad41892ca7bc8a390a7601e291f79d36809f81c3b84fc0c798add9183e67decf0e1a3c60e1f35bef59380bc7b763c0a3c84ecf81c3c5010f2ad1f9abc7d3c4d8dcff13ff2144df704313db1ba87c710cb030138dec423ccdbf43ff294abb395d64ff8e35b3f4ff2eee1f108083224ef1ed7af787c2a4fc1da4aeb6748ea5b3f38f20e1f8729ef1f4e0e20430c4d98c0f0820b4b0ca024092880470206e08f80368f0302e08d800558815aae52f81bd0e65b0001f02c800458012ce2ab149e0868f32a8000f821a02a050e2067ae52c8ad1f01e44fc8431980fcbd3c948f0268937b82bc10100041f207042ce14f007bbc0920098f02f3876009ff03ecf13e4012be0698bf0496f018ecf1249084ffc0fc1e5842fe787ae46f0b09f9f30173feb878281f046bfec1d3f3006b7e07787a1d604dfe804ef90b9a28f937404ee700ab981db03043d3805a16ae314f68133889d801b6038d03ac3e4c612486a6424747217de3e58dfced7828a7901e61068cfa6d80377cefe55d45df7991b8febed3d3e7ae7afeaeb921875da5c653da7fe0df9ba5b8d6b41d4f7d3c9ef2877d5b3e9f8f8b961f90965f172dbf202d3f2f9f90962c1d8988e1113194ef21a1e57f23d0f2494a68f9f847cb2f390185963b31888cbaf45dbdb5aeddb93cf70ae5c8d506ce95bd3b59f0eb6d5d3bae1e9bc551d2ba569b11f8259018da3722f07bded747cbbb6323d6838aeca86855309559457e469ce8bc1860f951abd956eb324ba669328b965eb44b03b32c328b95190bba160ff227b869a4a014241e69202a0ad3c4082cc6561802c466888e3f5dca1c2b153d9a7b02aaaca4be5e0f7847a1d4a4ff337b5521a433934b293d18a4ae719387d95733f04d4663d0d58902fcbebde65cd7758f24ea2e9fee43997f3970cbab8f70bf7158a410ed25b8a9d540fbde022d3abeac3042d75719ba4c195c8d9eaa2417a2ee29450f07d2e36df3a478673178030c6cbfb347b2c72fc5f10ce6f0671e0efe0c5bacafabe8cae6dd6dfbea6d7bea29cdc3b11ef7dd77f63b6f4957bfbe057bec6f514c1abfa7a46afb5d77a5f702977b6a7c5783f4ee1d21bd25794b488fbff3b0f799b69e12fc244c227d156d9fb43ddef648a6ed777eed6355e9ad7d5b467a249b3ff0645f6afb25f064332d81add2f7f0ab52feb19fe3fbfcb31f29473169920537be16dcb186ac51a38ac1fedbc5a0d424306a9cefb34fda3a0fa480d4de10aebfa5e84dfa28577ff8ab86dffb400a7e20e9cbd7c379025cbf9bd1d5646ff7d5aef3ef2589447a245193f2093f14d2db27715f457fe096fafb0dc42009dcf6c8f7dec5228574bf819bdef8b5b5d69a4efb6dab9d63197861e9f84a81514cc7570a40a03b52ec11b92af08eb11c2a3204613c51b4d29e8a6481171f60ad7ea0746fdfbf498c357cef52b20fac019c8187382425ebbcbff11a3cf549fd8151cf305572e52cd8a2bfffbaec521097400c56f0fb09de9720e9294883a7be27bd24c92c2543f27d3f3d9c2faf70f3100f7fc0afb35a916c381b19bacb3743563002ef38240116eafbd7e0a9f93b8a8db6b947cbae5fd5ea9f6b15ed6665ce509c010caee0287f090e0102cf96bc51cee0a9a96a8105014fc55712ee3478caf58e44461c20d2517e46533b859b5893a93a99767c0d99640632a443ed29784a3e0faddd104058338c39246503e202e202e202d28336ab5b202c0febdff8fce9d3e704e272779f5a12d36705514756cf215419d491118d5ec8296526cb509983a7eed3972e4f755a95c08d62b467b6cd369d66f676aa4ed3df897dcf393ff373fc6dce4eb6b75bb6785659c9bf433ca497524a3f870baf82288cc62e0f5aa6693503815e48c43475ad6629784a4611f70a9afa1b695220a1032baa3c3a58dc30045bb0e0e982434a7fbdd912a631398fa805102de700ae3abe4070456efb028195560f8d03aad5ccb41d2186de747c1d1146ab8b3d3219899c96d4a74fb3974bc7571547fa041d5f4388d1af30f4ebf87a79d11deda697dd2ca3afc11035bd1a0c51d7689f66d243529f566a65a675cd5bbaf6b74004aae8a8ab12af6096e51eba031dbdd143e2df45ea7d41629f76767b2db3600f1d3d2625e89ae3e43669a9d49b1ef1f814cc74acb987a679aae0882f4658b87cbc16e01d86af228c28500a2f1b582c8c29774d0fa315e88c000b016f5bb150175e62b2b234229d2e753ad0c51e41540fa0b103414f90a0dded0664adbd3a426c61783a120c61c314712ae88076b49d20a6a57ae1b2647c4e60a4e345100b4b98a0202c1a00631414840e98a020248200333463aac1636c9ea6918562139e318961897189d111b36312c3f3627c1c15f154c5217cf0c08c96da31b031b1314363881c15f51663081e30867802e36008d88ca906bf1682df4054da4ba77128475af9e287b5a2b21531b4fa91ef54fb747777eb25718109ec1fda7c98796760d759f65ec874f634f77014ec65868111e58fb225f7dfa618c43fc22ccb6916e604ac2c88beb86ee039e99c734ed344cd3967cde89c2ebf32b00bb09c73ced0aaac16ba60ce39e5dc86b0bab3527377eaee9e454a29a5eeeeeed1dde9c7482995d2ddddddddcdd8b4e836a96d536ccd227529e5cc1bbd02b65384287aa0028a3362b8a4e30b8a3182c09b8e2f28624084391d5f50809101a63abea0d8220a2860500875898159a2cb17a39a2f6524d0a3046c3a017d2ab3e9f500cf7a14896c5aebcab07267d1604dd43c9a28f95e19781e1d656d57bde79176b485c1bb33d2f4adde9a914b03bba3dbba2c2b04ecdd91a6df1dd900eac11fdb787c4dbc2467020de849ea7285b563c6005f4f64d1f3b5cd0aa01b4cc10122277cb470220837f46f4120e2072aba20c38b2df3871f1c6c4275033c2bf93643e4df4c558cc94ff2029a5fd0c0712d9ac842fb4f3076a0fdfdb958a1fdafa73011da7fe6f5c303ed5fe3af1258a1fdf56ae20a15db163eda5b10066f1b026182871274e7c40b8818180e1889d18356812b0759bcf82c7186f61233d205f6320118a1a53b1ee042035ca3e3cb032f20e301327e1082e54588219c0c36e9f812824bdc5e7ad3b2dae86fdbf6fb7b6c39dca2c851d1c86e7184598e8a3197a3e2fc9710431e9033a62f3e8e8a40fa4bd0e63be01a3abe84d0411447d66a357b99200c22928862099b010ad3da6f1a044d83a80f34a547192b73d5df140735a06334fd285512a05d6cb048840679ca4686f4292cc864a714b259ea090e892bbf1c28570ebadec01b2b0a9b2a6ba78d87f4e76f1a4483a6aa490df2cb08b12d14468ba8d10e30c86424ba4f501b2291a8a5a6f3e93799aacf1d0cf0a67ee4a996ab62164034be9470d18ff40b8dd1214d5fab99cddcc00b734b01be2cee055d4cabd546c3269b06de24bd2d8d52ca6cc6b1c9df43b7214522f2e7169dbf1703ec9f0d1bf8a3744838ce82516634ddb6e0a7ff5912137846478a01cc3dfd08337d0df0f65c12173cd53dcda2e95bfb81f10cfcfd97ed2e61265e0e70d45c0dbfb2468d5f8187d33de702cc6d27fa519f8e484def77e0ae32356b9f626bc9609b716a23e2755df4968050f0530f894ce3c35f3e29e1fe7b245c8dbc4b39ca8cc679d3ef49a48cddebbee3a2f4f979f97660b4d2c3a1a74c67a6899aaf5fe582a3e6639a9318817f9ab06f33a8c2c7a549d0b18a9e1d8bb194696028f2e9cb0c65fb0c659bf7e61d458ade5e7ea5148422bfd64d890e5a6200871884ee4ddbe75e829df77888bfc9c688e421565304c43d129545e4d3afb2882c12b5d5ded59ee7799e0fb0f75eb64bbc27e19fe0e993e0e9cb4764913871a812d224e5f9f9176f7c08f8fec6147fdf8127d24b4dea4e24ab834d19dfdff805693d9cd2a3c0d7bf03b71884be04a914427f82f54a5093f677941b35c907d7194ff4a9f47c5a2269a64ef5a6f3da89b8af886f03df06bc1b7c1bf0c6f08abc22afc8c22291ad08073588e9312a2d66bbd0d38af66e20ddddbdc827e663444c7bf66e90d92c1ed6fa1b123ad3bae5e2e1b440d6c7c369c960f7d13b6e84b43b96472302ce5e3e14f9d6080fa776e4a1e4b13c3b67c420f3ed0e8f2c523dcb832adac7535b3b43cfd7b66de9f933572904dc51aef694f8cbb73a9e92dbba7559fa52b4942857dbef34b0a7beb559dcba3c658d7014d5d635adce9c3648cf6e5e6f0cbc6d4c7fa11e86fa6761da9156c6c3f982bf6d79ca2b1498be851de9f9da199148a4a0fde2e1dca4c07b0e0d79ca2d2c660bf3703e1616a6a7fb448c6390f976c658df0b7a7862154700e958c5113d279a5fd39bf602c91481b5da8c315e972ea09f4930ea4f0738524e4ab9a96809da2d6794662f65cdb2a752cacfb2a9454aad6972c66a6b96e5283df4cc643aabd234144ae79c93a6a8f5104baccef9eda0664bc9661763eca216ebf6db472f72b97ed7699f7db591426a00a490fa599d5a3cacdaa66db596da8b670f8d040980b27065b165867eecb16dc4b4ac399dbe7ba7bc20942833dafb28335afbc09efadb16ecd7affff5a4f4706eded28332df9bf76f90f7750eda67a0682fb5169f05d83f3d893ad480a7cf3c2633bf0a38be94084347fda6bf019e5f33f34b4f86f8a7979e0c7155f3d8cb0196dafbefbbf935dfe15de576f2e250c7cf2e3ba52fbd9428a39b526300df9fdbbaf4cee5f1f03d5796f948eaddd9aaf65053f5cfe325cfddd2f201beae7c591e5a34f0ffbe2cef513fbf9423579f4ff7e3eae383565ea181e4100297febe0f1fa52f792e5479e1878f25f34bf9b4647ee94b19ca0fad344fa57b75b49cf1f00a4d556beaa4e2abc7486a1a2dff7e51453044f1b504172dfffaccd2bd3a9eda578b7cc99af2a309efcdb0e379bcf49e70cf23539f89c2a1298f87b2063c39a9791ecf23e7509e89925ff35556d42b03eb50f33bbc7007787a72fa9aafc93ad03f7d5c4defc8d4d6e5a1dc66805592a50490a6d1f1a58490123c5a7b92b33c25dfb62e68592d0fe7e6e14c2378ca399ff3a6be2fa3109a33f58ff91d0e25f7707e7c77af6719c3fbd9c680f69450fde3afc784ea92055c97e2fc7cbc8f1c6390fbacfbf26dcb533ff2aea2e705c3df3c9cf9353266f3bb61eafb2d4fcd2cdfb23c15bebc4680af033ccd6c5d368b0ebea57c776a8051f9f7dd89414ec8f704d6bc835bd6807125bde821ee4ee0e949fc1cfba73fe59c9a676daf434de635d9fc4f60fc1a1b45b8c691a92fc61867eda808e3b899eec4209707d7f86d5d6113d8f5be3b77e7f24422517b39ca8c267df6929443e91f750d1857745b1ce0c6da04107c12df3e8dabae9377e6dbf1f067aedba0bdff083fe7cc11ed67fedbb9e1fac6efbbf37aaf757ad1afe5c543e905bc656abc786a97f194e7af8b873208bc427f8f6a58a7204fed1e1d3f5fbe27e4a9dd438f78fccc1fd0c7f2d4eed9f19ebfa01d27461c8047862d31f800e1720290095d502fb7003e591793fed2c348c4374c1487ac672f83ef7b5fbb7c9af934b99fffe59c1a26ca5f46f014ff8b9de27f5f659593c5ee9d7cd7fdd7659b89ca3e27ebc289ca6c0c82038e41fcb7f9dee54e4f3297e344c969b5e8c940a4230954329a15f143b0106c03b5af44c0519f9ab4fce597b4d4a77aaaf573ee735fbbdfbeca6a7e86d3a4d5e2fee6d6f65dbe99280eb43965434e593ec5c0fdf659969d6cdfe59c38b78c274ae3b2163b3038c62048a2ceeac77860a2260166c97cb0eb34c353525659c4a5900f4821ac982b8c2b0c2b0c2b0c0bcc1198a3193c6383ce39638cf5875aab84a2e74b9af99c46766aadd5888ece4499c97c4e5a9a892a9b1aed36db2633d1d84dca9f4fb170136c29428b26b06821850eb4a882092d624344df83eaf81aea80de6f03264bad758a2fa6885406643417381b9a5ad5b450d334ed67de8a6ba2b049cc16585e0736b86a590f15c7110fb258810f888c78b0aa22d0f571b5d4071e4d1f884da425e8f88aa1a13f1d5fb13270b683be40f4109d813dc09f9b97fc1d50adb55a5beb0e34568c910229a5fc1e606cd158c717185af47e9bcc8aa7ee530c9e192aa22225a5b266354a184c168137160ce1a9e32be6c507673abe6227d0220605ad89f16c44624a5c4d5f3197be3abeb62843679051205ad5b42a7130260d2ec6e8c0066388743866888b10e4d0f105a625660cbddf663231e31453e80f8b90220b572286c5132e2652d0830da058257181a34d27dec022f4da82670a1f6d082b22f51ea25c2c5996c06024c7021c3f6a2e777777d6e482b730657851f5223d7768f5222ffa41baeec5725d398854a71e5121b27aa4351faa85ea5021ea513dea40f4c6e0ed59f496a2d51bf774bc2c5ebdba7b3a73cee91b782f5c86c5bb1cc7711c934e7397e36e9cf3fe66d27db1745d8785f494f35eba64118c7fbb54df7b1fe72dadb784d3374b2c5248f69a87e4bef69de7691e8ed7c97b4df1bb99e7827b5beaecab5d62995266c9bcc825b0cc52b368e965599e8cceb6c22872014ba379cb7df567ebd72d7565d2e94a02fcfdfe9b69a9cd8d2be9b205dffb8df43548deefe5108cf32665f9d55bc2e92f7b48bed7a2f870aabc61f470fbec331260fa1784e9ed6f66b781320a29c4dfca2eb248d45516895abe0c2ad24a6019b4ab484fbe4d3d82d4c5016069f3a2c2c6e4b618b7d823dca8cdece1be0bdf62ca755dc76dd13d0ad5609bdc183ca9dd6a46e70e5d76b56c777ff3f6b7bbf7765acddc8a4d8ff0a317c1c09c4d1152661e8e9ca94f339a6373dfe51c4274ef9e928fbafb3967de5cb694cecf620fea686c41aabfaa9f652af55d74d5cabe07bb921105fad173425735f7c0036995bdaf6e9c92709a64394614e8dff87489451707805bf04418dd16e316674c9148f693e6b7d79e7bf7947ce4e4966da614f46fc5e9a1f6f1f6d8cf31a7d5a4d6b41d36f1d40ca1f640c2e038b5f91d81e96bf6b5e8f4878e16c92fbd8f2e3de97734d62598c62e387ac18234e9fdbbd8c56e0ae99b4960e9b92c5855c3fe8ac0de479cb7f596c82f3db749effd05a32681485c679c0f7847a1dadd18e95ec7b8edc6defdcdc3b9b694b7a5f6c6bef570ec8da7fc82f63326a0d63a0f09d6f74b60e9337067ef4971cd63b2a368d2cc0d320d5dea3e7a7899e0ee6fa6b7efc72781506e8e32a3b3ff3e8b9a7a4be46747b8effe03a3cc586cfad0a6ab2014ffee37707af7de0802a60fc531ddd753e24f7a5d02a5b636defbd3c3b95a3ca4517bf97af7637741db037c7ffad725fe1d785ad23de949df7d4702bfefa2872fb865e949e02ee5233106f19ef437d303b7c7e0f7241dbd8f7beebd7b73c665bba344fac9ee0799592bbd6646ff6cc6f02bd8a308bcdfb329630f6536050d469acc20dfada7a24b917afb01deef6f438f5e57ae800923f49aacbaed527dcd5a6ba794657858e9b6d1355aee1de629cfb28bec023fa5945209e405069a537b0ae240ab6b16742f1ed62317f22021bc2590ae2f8166fd3869069463dbbca810d2f5f1b416e3589f4e16d1952b60c2c434fdcefdc382aba6c99687346fac392f1eca4ebb1f162c6b942d7a834c63bb59b63c945d60eebd9f73ce4cb2bcc0f7bbe77eface762fbb6aa093488067769dec2e18ce303699b6cc94b200fbc757153ada3959871035d7f11f3c8bffe03a3498374e77d94417630ed97cfa56ea0b00858f038803d8397ac7778fde12ac3d6f1b688ca8f856eccfb752b36c656a79dba077744f4949e71851907489d4aefd73e86792e61f8f2e6936c6566bfdf81ab8e99c64e69c642296e89242e2cf196b8c119464e69c734e1a67568220bae85b50f1830b4a0f9518730727c8c3fc4ae9cf39f3740ccce94fc50f3b9a041da9b0a285961e13fa1e5fe6aec5439459b86099b78d8eafc570fc2a32a3ad2e92c8d0a0d0cf54b1484b2d35ec48d7176a860d79f4cf7a06228d3cc91ca24a85d6965af4cca13b928b9e1fb9cd876610521f298211aaea9fcd4f3255354bd765220722f49441c82b330726b0f45f92697f97066c724ff63438eae8284ed4e98976eaa99a87d4372bb88632189b4cf34dd2a7e6c56b0543377cc0b77b5551a44d352b807d01fa128bf198534e1e73ce18444383c61863b41a0571763a29ad1e4e8c313f8f6cce2cb3a28bd3868969e6324a7c8098d12214ad2009fc016d51018f163ca3e34b055976e0a5cc109a909e9108d5935a3d6d68f4f262869e77ce15322a5fd08a8a843e04ca9c94d5da2c337582c5225a51b9588c7ce415daa54fe884f6ea96c88689925a94c0439eda6118fe4053556d903948974f0ce2afc543df91f60c2c75c2571255a888f237c530dc11e6e323fd0c6cb5cc7fe35a9dafbdf4b27c443ed54e332771c151fed3637232e953b65df1bb05fe70aa945898f4d19648de1858edfe9d37cad29121849993c6f918e3bcfd37f91f18a3ccdbbffbe9e1d8e7ee7bb76da0cc52327d5fb6d005efee35a59a3677a8e3674efb0a374360db64bd8f5145fafbdd733ab4bfa4d94edf032fd871e0aed13bb435f5645f417a5d957d0b3d9918dadd254eccd3b3cd096c1a4249875782242a0680145ac4a4e0d1fe99b4e1c48bee404115da7f6604da7f568182969eb30a2b8a31468085180ffc00d3e19e38c30b213f90408118599021841e809840785d7e02532557d1026580c881886207f6056632711c073381393a185d51b43271b02f2719e2e9b4e3779c603e1a4d0e8d8bcd11a6ebc674ddb801ab4668e05ae429ad1a69343f7f5e894472609145b27435afa3a6e66b6840d71dcda91a9d4ed568aa389811cc28874b2156d38051e36438346d03e3ca045640c805ae158e1be00833300e365d1cccc753360cec0a2cbec4b8c9c13818ec0bd8fc6a7011ab0eb04f201669d76184cf3939a9f9ed6bb2952a2b9adf9ee637d695859adf5c181dbfb92f7ac76feea511b626bce34d3a724d8e238c60eddfcc5a6b8662bf9b774e6bad562dd875cf04f61f01cca1d20310b1d508344f937368a817835c753434e0e9090dcdc4916538324a7b686ad0e0b7f1343670e000a5ce288964030797fdf48e783abb99238053ca08e368a5d9a851dad1f531b8b1f5bcbfdf81bbe66ced9455aab5b1a58b513ea5947e311b1b144ac74d8354948b88a2efc980024f4eb615caf081b5dabecaaadbc0d393edef5f2ad45dc1dbc2a891cb47d36a6dbddabef5d07ebd3e1ed2ccc395c1d488f620aaa82ba2e49b68700906d8e5a9f802430a2ddf96218bb8ea7bf9d686a165d1547d99a220a2e47b9b8da8a08d06d1a0db8329350aa3e553f08a48040b59c4be7cfbc553da6bd5666124359a2a6ba9914b21525bd8544597d27ea1a5cb2cd3bf409372a518732a114f0cad72b6a722856004b4fab9516a1fe1bb18ab0edcc109c4226d33941863d1c97653cfcb04d634d5dad4b4af441c2e72b23d29e790fef484248f266a3e29cba1899ad2a8c3e257f0e6828a6abcbd616938214fe1f81c7fca5bea1c397a98e373743740d73840eb210eb08764e3f7744d15a9f4dc93403b51d3355595e8734d03ba1422df04e2002d11fe34e66e18e939f336cc22cffb11c0a8371ca8e6c04ab4afde5c9006e2abbdefb2ccdaccb356c62ddbd1f633901ee19a639458a4efc728e9a9472516ad7ebea71ecef7db8d5e2ca16fb61e5e12e06fa712bd26515024427f3e87024e0a59c4fe7cce8ba7b49f9c10f7dd7339e64954b9a06f0bbcb1ad4453c5054dd4fc69bffde95d332964834111b5b916442e48cb2f195d2ab2561b4f7c31bcf1fc28352d334a24464b69294ca33092963188bc1251140c2d6de074f49a4860a2288c3303ef288948808590534e602e994024932710c9e82538a4f91328a3a34432ba273e992fd6ff9691deec911f6366d18f4f641a2b995994be5c511da84432abcc8a6456f2897c69860d8688cad800a6e3ab065ff48b0665e824419abe0b1da987f5933d151edefda795d9fefc27359f329bf3e3a43e912bfb726573ce8f0c71d5f2d741079bc389a2b3082d4707e6cb7fe21f637305dd9c5b0c42dfc6203e25982e8b4742394c151ee1c3353ecebc37a1c153db779fc530997c3c55337987ffa5bc4d39cb99e7f12893dbb66d74eb3a3b258e9ad4b221f7c1400c925d200ab9402ce23b1cd934dda233ab655996fd0b6a8e61faf3274a4aa059a54e7b4402e28b918020f940f2e18b917ee82e6903a42c78cf907cf8bea8166393e93f0cbb2cfc868538519446229ccf6c9219d930514753759fbad04f96e4199a2a69c2dd15bc5d280ae9781389c83789c15cd01ac3b1480ec91944147d9b373e435399866b20fc89a2ff98f47d8177ac2206a1bfa74f1185d00c0cbc63182d7f7a4836ddc45751ce20aa6ee40d34953cd0549e817fcb3434750d68fa3f5535662b07c689baf952de6147caffe58da967ea72df4b9769fe221483d0efb0d8b1c67ebb90a66f83b518d3b9d12d87313a6935a299f7eac84cd815fc3a891b3db782b7dd725f0c233432656c5021319af8586280b117d71cc92c2c068999c70a13c610f5981757ae1720e82af73d92786a874d56902cbde36b0ba5c110fd3dc2a9f2a77f6bb83f75dd0c3494d194621efa4590a6425ae3f9628cde324b57b98e03770e409a7be9e1703d5ad64d0fa7fb28d4bdd460d975afebbae953c6fb6d0ce81883745a0ca6a3e4d96ac0336d0e1a32f0be3c4753c53dc53b9a621d4d73982e4d59b17e187392719f79de214ccbbc752e0f2dba3c72bb5d34fd0d04ba3cce45d3a71103e3207560590e53656d0dccc230bd3c1d07d2a289a25f416b612e0c2bca7a300e5466a5221a1adfb468aa64444d4a465124e2b448d222ea599e4313b527d19d7fb7f8683af3f66d81816cf327e8569c3146472bced8a227789259884e612118e160e98eca48b7370da1bb79e70d888a585a6629ae6fd034056813fa4ea16bbc606606ba7a96fb81ee2cf7dd40d2f22d78b7809e76305a810611b406725ae6cba3e3d00c0af8a1a114864422178918843e7d15a2ea262151f4298dde97c7e479df274a326f4eefcba387c4168801d37be6f27c5a609b2b6580f7e5d19911e699a4a24824cea108cecba369a6290c86d0f46fec86e1aa11802e174fc5570c82f4be5e34bd3e42312ed4e381c1157adf301748d39f2e6991a736104d9f6e9b14caf094dbc08c4804bd69991780d8601e1d4990b4c403120f8987c4e39521abfe62584615b79574dca28acb32a2e46f343436976876512e2c0d16836c81e5471aca9a2a1b51fed66a3986c0a7253ca0ccd77be69392d7f25fa7269187b348866e832b5dfc404bba7299c6d37c521557aeb78f1d7ab56fe8ec774cd56c440c510ca39ed98818325148d4534b3ae56b4218d9f9eaa61a2e8ab47f1227aebad1c35d73a7b1181afe71c103bde3978c7a6ae6fa2b01758da34c510c2223665044c4d25604b574b4228a2e443a5a718224b4c7221119440c42aadf9d4e4db88f5a862aabce7b0089b67b9b734ef4c3ee73ecdf9721ae3ec7f455565f65757f7b19ae09ff1e92ade2eafeb6f2447f8689aa34e320435c35c9394926aa56599db2e786743d39b13f13e8f99e7e9759da771f570bb0cfbd93ed499f3d49aeec8eb0265f3e3de14e4b563fd973b989964f4fbae79ecba72772a5bd5c69dfbdec40a91383d42f4981b7c7a86baa32348e78582c166b8715abc65a6d00a1470444abfa3ee4447ec499418433beb05cde8eae1efb5ad005163aacd59e41ba7211a68b176bb5270cd5812274567bc6e690ae2f81a9aa794b57296f5334d2f57e7d59f1571f5d5f7a1ef3b06e6fefe3589356abfbef5bdc934ef4f157595df0be93eee29c43cad33551f5b9cff16ac7811d7854653559279a4f3174cfbd93eeb9a7cfe59c1f9a9d707f73910f4d54fd1c235dbfcb44ba76b189aa32539b73f6db635eabc89f2aa804cd3496454d32a56804000000005314000028140e8844e27038281a16ecc2f20114800b909a467a4c97c8b32087611442c620420c20841030604064848686090268ea387e55aa7bec15bbcd20dc0f7a2ad94ee282b83bb65f15e2e1b6aba7b2f03a8d4b2b9e59b626c526ef9dad0e83ffbeb1e0883c61bc03e5df468d1b644293da5821abc8410902345e4c82630aab272387ddb4845c34306d278a200b523da3d6d9582ea81ca6c8df4a013467f234069922edf8793651ecc8a53fab48ca288220e19883d1a53ea27bf76ce0f7687142f26436e22d3e99ad9780039664e3af50a0717cdec6afedfe38688d5a522f059651ded8d0414f3733c908e7076c76790079ed5fad97be314eeb9a790ba03340da460e29877327ad553347f699a786d3b541d0868c6621b3a30f58c224627e6a494d266863fc77b101d57f1f89e7daf2c794fe09c669b5b8240b1c9a61b90941073dd2e4228d11b198a9c7e28cb5b8e369fac253c391c3216458e4b89d610974b525deaaa8ef316da646a81da8cbab1d117c069b08a46b1ef844067e58736b800dc07b818a0a7074d59db1011f825741ebda4ebd1270cd2e58d20112873879dedbd18bfd31d7e5c9d0450b94ae4a974ab6a3b573ce5c9003dad916ff80f224c02b9865186a190f4325382834ccd072749fd9ce252151bb99ba50a5471cbd3545b8995f9eab1a082723db0999f1bfbb9621232fbec4bd7fea7e35dba7b58d5637ed299f72e75e9e084a132ebe02502f0686d422b52afa56493d2a000e0ca1743bf5a6713fd6b851bd2ace5625afcfb22849c895b9e28ec47ffb51ee597f48b6ff21d1119a10bbac913ea4231587e576cc9d99db6259c0f55ed9626d96e190651c1eb96802a56bac2d58671fb984cf733dabd651b6702d73368001c2a09c5cab04e419f894b659574663459e6d5ebeaa50209f3b5cd9a690bb110b35e36866961d6c1e6ff8c4befd5dfd07da938e6c6b3c99951f5f76b070c6c6bd4ceb2d4c82656405e9a984e4b5eed8038ee5e92ffd39f5d85eb7204ee9710990dc870adb3faa14325ab52b71c09c72cd3ce52256eab07cc06a29ec313e711b689c6a9a4ea435b3e000b027aa2d762635cbecb6a209110548b10203b21a8d71a441271a395e3dbdc7b3c11b185587ccccbbb7fae316f22dd545b87735390fdce859cf6c5b461f5c363607ba80068ba00bd689e4b76fa55f489e29917b8553d26273f38cefa2f45b01b71a9d3a5c1d147456490cd8886a752ff5cbc9827b3e96b18efab39f397ea77cf888b03f51b8f4e30e8ad15e36200093a18819ca2af555efdb30b2088830740d0ca743485112447993d898ab8fb1c6da4d9b3cd7f3807f82b3a78f07b46e933aa2780829937412fce30fa3ac13df06e266dcb80d4486ad57731e47b81b0c85e8916a73316f54c24efff9702e2c7a7b138460ae6413919092de60b70411b8091a1fe5772d1f4118e9b68582542b871bfabcb51f959787c860a06217f7d4a9aff1bcf3cc4cbaf2dc58e458bed2ad6a9ee00a9a08bd6bb891440faaf8704435660f63e29afa8ecc74ae74bad75f6f78ec70c873447c3a7867fae4cefd50484e42a68cb6864c2950844d2c4ef49af00754ef1378dbf72e6f8dc8e9c574219e2cc798de9d8855614cf55e5f92af52d725d2ea9ba78c5d12bdd1c4c2946dbc79835e8fc6be8bb9869fc79e6ea3f6ee414dad019042702b3c48facd8690877080103b4d5118acec497966286532221a56a13ee5b3bac7f3ad06d969dd321fea18e590688572c5f609dccbe1fdc0b1980924bc86d25d7d4a5fbf18edd7d8f96b6a5dd97eb1667c3bb36cad2deffdcdcd651e9a6bab1c609a2a67b4866c5c08231dd6c24c2a972cae98cd59d3689020984aecafc450bd3dee0fdba46a951eb73351aafdecd8231a4852816c1a0f84bfc0a1d2b587ffd5f58f1c549e6bb9d61d980fc07d7f37c07430613a4efd8b063185cab390c86cefa3eccb5ed01834f46c1521266bf82cc29c25083a7ff077a82fcc11f587c1867992d11cd164acd10e0f855ec98c9c90034288888ac55508e46eef105f9d94fd9270ad0ed0d672d5a7d59bb3f40a42fc0b64355134dda9f5ae0e40d1936fc32ec92d7a224c6fe3b118dc411c91fd14997acb6768aa158e89fa01978c2af68274664bae393dec001efbed90230e5626bdf998b80059a7b8cc80df3ddf7c74f25ce986b78b68d91d62fac96fb79d2a8ba01e9180d0fed30aece2586cf80966f804af6d1dd22fbffe25aab1f22c08456ed2509ff3154a3a8ac541fc7e7711a055d475abd2bce3270e8929f9a40611ed00368280e07a68c65f6e46a4078cd27ad188157c63079f0cf4e1b45c547ff29f3e0d877852e452a46469131baa7e998dabddcbfe6ed6e37eeacca980135512b4952382488805e0e823161d2b2a0384295098e575a72281cd5df70d73e2cbd073c5d212cc2dd64278df1823715c92b817234dd6ccbeffb32aa53374bc442e3291b1e75b8c9f61014288b7dcd1aa79225d40ac5bff08103fbc4e55768188a474a23af09dcb25bfea30345b0eed5efb8125dcad2547b36bd30642ff0db1e4c5692564736e0e49523b3064f9fe58933a4ae7a9532ddfc5e8d1dfbbbdb6caa8a1f3dea58cb376e676c36537929428b057423e47bbfb48dd75ce17d60273d40bce4f55ea0358d1b879c169afea4543479a942a1dab1f103e9de654082b6cf9bd4e0b1534b9eecea9da4b6b702a132c7e93b958a72db31c6b3ef466d136e0f5d57d225c222631afab93fa31bde1bd160d67df79c83f4d549bf9e1580038ae701c454854bdd9f1069a5f1a338d8989a12c0ab0b779ca67f89aacb18d8d15e4e6950d889c6464940c47e715a8c2c6a38722ed7de0da17096dfe0020c41930966236ff58ec5ee63a0ca55e2aa47913ed2276a23f3b1eaa8161f383b055b1028367dc02ce885288e2db5252bc8928ba3570e0e49ed62cdd698cc892d5a401e1c9cd4ca7d51a721520d1b49c85708dcef454419cb068ec679c9c4c5cab56ce04ee43a8c26d24b871d46159a61ec5a5ca169b9a3c6877f04fd2bd80222c5e2448860dba072a47bce75babe4f3945b5e3266018947016ebe9d9af9b7b5ecdcf82786cb904b206b00a4220d1a748d653cb33d9ef475a57048d29167517cd48b5f5624e522e8b011d06f6b885a29f4f560eb627df4c285257892aeaed5a78c80df9f02bbcf755d6a53ca11babb51a717048b58a226140f8ad3897eaaed010f511460b69690ab89a291cebd3ae62f4393ea00e91ef70019993ede52efcb5d1076b22b96249caebb76a09631a67408f4d669245cbc510477ace9fb396d51d84a3eb734d2637589232993eab162b7e792879c11860f52026def7e4bdd5cd6b97c43c9515fbea260ae37a6de7ab177bc27a0a5d13b2be65b2fa6fd59bcf57abb5923ce467ab2d528e29cf53affbef55aa37847826cbecdecf46d480ab7a1567328455bc2c7ccc466da27d13db047423cb546db4abce6fb131d6c0835e1d39a6a939d4ddd8250344c205cf3dc15dcd1f0bee981a673ba493ac62a165bddaeee02fe0e1e2fbf532842c21b51d720eac257c3004529952574e0ed13544e65dba1e68eb7ad731551e2a015e05650f3a1503f9ad326d3691bacc030d160aa032f60dc32be42bb43b5f398d2f485fc56d56a688e9e0bf27a7da0e2cdda50484f9a6c3a6bbe451fb103c197165995dca7da30dc2095cc210289c2ffa450faccc23a80accacd1b8be44145d10a068acf57263fbb49b4b7a7bd6ef5950a37f1a8d1694f6022e320f309026d2da450b825c336cd968b6e6c5c4cf70733196b05b6da808774f66ee10cf3cee63e54b447dc123cd48eb44987c6d583db7c7ee06694004667b1787b894888c4e3e6726ad716998c6b8f2aaa6b02bfe7c8db97b9e282b9c76057a25607dfdd98e5b603c3b0ce58fb142bd8a01457990518efecad980f76727c354da344e3557ae3ae6092312bfb35cf86259e30f48ecc7cd3cbe21359879b6b4cbc4ac95def5ba66d79991d957c0fad9b0d3f2dae0408e2efd8f4fee9519bccd4b5686b525efbcb76a4f88531fd7671644274b411581568fc3111ddfaabc87128e11aa6b4719a6505bd56a52745869a1954ab883ebb69155156ca6943689a225ee13852ee9312cb6c6ba5f705fc86557b0a5672afcf9104d32499c265adc0f1ebed700f98ef7f8163e185faf8bbe618e62c9bef74d17dabe3f9c2b6ac7b68472609f9aecd806cea0f6506136e9c93dc20a0a3e13a8c730928ac5948345141cbd3d6d8d4c06db95deb9d5c7b6beb936ae3a4418e112eb395f74b2757e44711ade6610ec32f2f86e46c944a4aa15bcc98853828996535d29838bb6cdf3137de508eb963771511eaf30708886525a8ef07830a761c24fd6c57b5f132cb68e5d0f5c57f438d4a0fa01c3fa37f751b82f2183f2d3621583ff7730ddf98635ddf232e8f0fe8b57b01648a1db63cff2bbb93bd30a83a97b49e25feb26b38607dd242ad21c5e9dd9769bb01b9538aba034bd835f057614abd80cde4e68b087f04606e4c1ec394e51018cb25e517255a0128e62d5483f50504efab4e1d0b5673b7ba41ef2398505bcb7163f6a33feac68445724921f488b9771a4826130c8baa704ddd1162e0ed372e33add044abe44530a6d9e6e4cb4978f3e12f33d022b411973c8215f4aa197c4a13163c674b61a4b99db12d45b605aa299d1ea14f9262576ce3dbae19a155724c0149564402d7caae05e09e5f186797fff4a2fe48ed089c67930629b1398953e5f7b5f8ddec8b9ecd6366be9b663f1803e06814d091ae0a2246344c0ed482e6e6931b77c1d3b48ecc538a4f4423eb9516bac4d8a5e4c259b9f6d3f6679af5ba482d168be551dcd07dc0807453414f91770c0fe1de8ab7ce3d35423e9ca27703c7e841c2a02ea46388426d5b94ab249b350f49d242c7e9b0d326ea942c567840d218997a835a5a9479409cb2bc0564ad05c7742aaa94144d407187c5b048217db69829b826d96ee2653be17bb25d348a80dfa002019c0c6acfa486a821e44b30379c7e214a00bff060b6100b712f1f1862c5ae09ddf7eb47fb7671c4b3585ac3c079b50ef4a106ca8ef3b997c70c16067ad3f65f2f467354dabba25f9084634c4c9633904305acebce1c7f05c66e5d1fa204233010932b0c109b16ac7f39a35d31615eafd696797bbd6f31ef9bfcbe10218879781edbb48c57200b8330ef9617154893a82cc0ac1c74c0034faa2aa7561a027dac4e9f972db608f1b0dff96ef04b5220b3ea2d8ec2a31750bffafac1d0f783c3db69ec8b906a77dbab018245b44fe05f4aa337941f651c20b15be616220dd0f6ad98da966b391db382ea0e870b174b097a29c160fc26a401333dc89cf13fbe7fbe9599237d79e04fe59c02d5fba222becc1c80f8d5f39609821e67152213aae508bd0d2d133eb272c4f1d818721ff0b9dfb86100c923dfea90fe0de655abbe71b39d3af294b9df1a744835ece016a5f1ea3a5f9ce78a64d7c99e33ba2afd504bc3585d36636142ca082a5a7b6ff7865bbc691bb679724cf0acb1a2ec545ea30c7a3f22909b29a643cd711fc966d8b390eb276498ea1322925ecb981a858a1be719e4500a01bfa58cc33b0b5166a9eae6f1e48448c0af29cce704908216adec4acde7a8f8f25247939724b0ad18adba90c03e8e665c48381f46df9603d1186288774fa7af079c9614b9752d06cb8edc0c2ec3216aec57f59ba8fa58510ebb5a67af63969db966799c0752a6463abace4956a3d816bde377c69be0b2d960080ce621cc520cca1b9f661b21371313ddf33a821d122797673a2b89092ca884755f2f8e986f25380f03869b2b9d239c08e151df5b8379b252a49dabb96366f4c9b087b7a2c66618f892536008574fd05137dc08ed963eb12d2e7269f2161ea3e8f7f7a672725fe6407da15aa8b9103a1591dd886e45204f22672fbcfa1348fb68951ca2e89643ac21bf1a14e17e20300b7f76ae0c3068dab75c5f330cd045ba5503ca75340f952ba9691775ad092032e76a07616485dbf97a3a2a98fa6e83fedcac458794861712a21c30bf1078b2abee26330c42f3ba85092734da8bf95006b3fa964412cfde7b8506b36cfdb38a28daa97025512aa8b36d38a28ba5754e6869e562ee05a5456da53ad40edb770d65a2c078c7cc03a18fd6af71994f510333f75ec8cfc6cac678682f16e53fdebbf3a9893f811d88dbdb4f82cffa04a7be856c2fc41dd805fae95c80043421408ee86a198312fbad8c4e2949e2d2ffec4fc9a9b4a0bac831b6f368a34b02ffdd47d991258c206708fb885cf21bbacc5fbf90cc7fe45ebc8fc99b22a3bba809426babae70fccf793f1c1b375ad89b3304da1dfe43f1704d2793b967bc74d5dadfb51a3aff1db88a9f411f8a8a86085237765362643b37166a5464a47dbf625c06185235193e3aa17270a1d686c7eab2b281562251825d8b399272e98d8f3ad69a2686a3224aa5791345c2f83eac10d3ca9340acd666c6e989d5366e5a1fcd3f7ff41bdd347e00c32e0df117c58abcd3b061665f3c72a0847e7c0a420aeef8f29aceae3a42fa42edb53045c50cd958d4e44953452e1564f5db3192fa8c9ce0856c7313ff2e8678cead0133ba72679d5525423a7761e303cae7bd1910b621cb0a5bb13ae8644925106c8911bdc779fd360c2bc3da0887da95e6adbfa9402f1a42b6398b7829435730f57e0fb8cefc0f5ef943e46df2432ab01e198987a33269455bc8c662536721fff91ce63cd2722ec6d752b5d5558b4dfaa0858d74eccb0a18ad43587d02c2be2fa3173cc34aeeef18e6bdbff62da7eebe009cce3da9ee5046c75c6387e0c6c2aacb0ec9d1d86c28681aa08076f02e521c83cb071091baf84a8de587b7052bf7c2305b7f500a45f36b830ac103fb228120b86d47f1ca095d750a56d49fe300dbc655cd9f62c3276d8b1767bef7182cb29baa37e11b52095df869dc267e2b2b05248d1a661efe1a9dc8403b046bb810f69c335a1c87ebe27240c5ffd63dfbbcc25af4820103b65e30eed0dda07d051ea1553b6265ab981865850f63c07df5439c3145fd5ec9c1962ce24c7fc2aa6795b9a1a48b15a830c4ccefe953bc1749acfdeb6298f8e6eac07f28ec9f2fb3b274b23fe1ad16c142e428504b8f326d7b147219835f3a80f109bc67ef5d53cb91728670309c512a7cd4fe873509dfe56e86eeed56a2e41d01ff114d777f05bc5b26a809660b66152a6d5f3f1fb818a8f8268da56fa8042042b6d0ad416851e51bdf2567f9c3ae8f03c60710e6df91bda30d004292e7a5d1a8da43e2ba501c5c88b847c0a17456d5444ce673a3077ef233151b630a879cfe4fdc3b1fda98c047f6d93ff5181550ade99cecb56d43b98cd920014b42a04dd5167ad6c2684ae39b4ab97e8500b9912a22f360fd24c85c9e50190edef767ae285990eb508f2a6272c9e8ab901048f1cac09777eea38aa00d14273fa557b7ed3ffc758aab8251ce180ebf479d925faeb950a0e9d4f81e78154425987849e925109cade60576efd7b7bf0a472382e5519e7c1ef59eeb180a48ac7c3844c6145a69a3c24941f9a56d4d3e632a754f25b1ad40f8e84d70e3108902e541c0c3c3b3bb7681906777989228b1090d0cf944913702e95da9353dd22f657e4810c5c509908708fbc494cdc6e82432a14a2b9626d9ed3b609f2448c40d3485faf8149954734a9b4358ac4721e60013c6302cf911a2382116f675269d419bd2184abcf5e3bb090d3aff9dfc4543b95bc50246c3c8443d7275ec938221d2a5ee9dd36a951b8ab5aabe6e5835d6515019f8c7fff02ec428ff6ab4de4c29f6553320ed02051e0eb7f2153b6369d432e901b8dc751bd8fd2db711db2454381800878270fdabfbb86885ed31499e79a451ce75d01e73fb480de7bb25a76e80e010af10a6476c0a32c31efc5bb74b36927c7c13c32a311549de4300643ba938f32728ad479ce8a3b5c60f4811a1f992c64cff88b345ec720aa5cfb45afa9f4d48f3ffcc3649a657fcf0ea973f87911a738496c6db1478e6ba1856ebd7b23663d85c58a15574c524f0c3da4eb94cd3e8fe388f3740d14df95b4ea36e3a032476092233bb41c02a8d3d3851e831eab1f867b3913c33328f7c48276e2fd289042b89ba27318bba9ef75842d1927d59f317e07e0192571a311ac735bc3772230c371a0c1f3dc53f38df801f47a67f5ddd201ad0be19808b6d46864c6792caacbbe272375eeef6e17aef56ed0defadf54d6a1dca5d8ceeadf2973a3132b75458e3bae31ab85f3623f0c97cf5b4bcdc6ca794e4336869c77b8306750ec7d01baf1dbd609dbe4a1280582082bb88aacb145527c9bf819e02539602104359e69c89e5330d853e062205d514748346f28471d8dc46ad55c4159083fe162d9e2928480e475757f83eef913525012363c026755af9618d728fc8cc9f94b64dea426d7a74a6db2f5fd2dbf6b0e634e56656e6db778b5a42d3e4c72df930c9769380c8e734b67dfc735896abd023e4818e95fe97ac2ac5550061afddf5a109be09103a93a60ec97c35519737f5d892d101efa306f40f37662ca11a16feab91ecb2e7f2e3220b7925f8bddc535c60e4248e282e78897c1a5fff5153e41b9306a5e1c13feddd0acf1024cade366c7958efe663defc1cbbf96168054d7dc4cecb080b6947da02a1aa3f92f43b66966fd5c6ae59be4457213d7e51bbc31bb893f9bd04bfecc9d2ea032913225bd9ad66eb11b88632f2ed9fcd3d4bbaf66a1192e493b81297478bfc98d2f83bc279f253d4883869a151399ad021da23777a7e44d5a93310b7ed51e1b22d6536fce37d3aee71fd1b19b6df90f228cf3b846639942cf69b7878abeffd932793d49e8493a278ab9750a1b6a50b3e3c2d7cb49a8b0d8237cfe55c41e08533887ba199a57c59a38e97fb38a2bd5743031bf392e5776109416d69274c5cf3ac7b9f376ff8edcd763ac952e96e436674bc4accd14ec1c6eae7fc91d62c3e8e4da4132e3533ee7e5a35f603a640a4f50cca6ae7682f96c09ce2e5b97fa020feaa4f02df01610dfb9b461bc98c0bcbead164716259a6a84b182c330f7e3d3d60ce1f1dfef75f7de8dc1cb3f2cd8f7559fd4f2f5b1177edbf81e4d1abf0fc6b12f8fa8b1b885c65610793071824a076e7be4281ad1ef80441928beacd109609353da3880b3892dd0e7a47a2b5277a452e3809004c4f427b44343be81f8f1deb135320df327a90b85fa560fa8c20283fe808d40430997e99ea7d17dbc6457c4100e80f3ff07185e5e060a50bec50fd1bff039d7ae07374a217c33e30b2e7b5a1449df8182631f1f559faf8d482217eb28001c837261ce3d1ef5375fd24e4f5fc4c9bd7b6f994b6ef9bcd938e3223e1187f98fc5f7417a24e94d32508475fc783e3267894a997f97ad70e8ec746fc46aea24087ca0019120422d7f564b061311b23d726e76fb106ef4a8a34b7a9d5086cc32e865e29392df63379c2d1f0a1f9010c32a895a5e8308f388e9e6334a8d5ed5ecb80abec6cc4243e535e69055aa7b42adbd944eafa4c55fb4fe08f4427a907656793e230e4569a6bb56dbc605f37f63196e873f3f3c7cb074e9f33da016183b74f2b34ddbfc366d3baeaf070314bfaccac47045be12412d5a59dab168335a10c30c9c2103a13ed2dd2d01bdb74ac4aaa94f0876154f2402138c66e5293b5024826f628d217c36e1beac89e88ac5a8501fb197faff592f3990eaf88db4b17ae75f4bbf10dac47c763fa109a838beead973049d2ebf19043b505a362d68368949a86703cd39f6a3c43e94de36e08e73cbcbdc161a00f806adf5b3e2b16979b17943329a64462f48cb5fa63f41777872c78aa2e76b053d59ba3ffad1d823781b1a7b06d20d01e01f0d75228e955d70cb30760041cfbe73f84773e0f7b5ffa5e5d0f9ce1bec91c7a11fa390c68963b13124a31b6a2a64875b2cd3318628b2288f26614d358b3f6c8dd9de1555d57dc5395209147ec7a71506c4247b25e0e0b4c280554690bba2dc675bb73dcdbcfbcd3126ec15281e2c43b6a431024a8bb31a92f7054922f94b031c36da834748ca236383b5021555e251054ab04356d4a26f22ab076f8e7dd10a4ae8464850d286f03f2840ecd163fbab345778cf6b4d6040ae832bef156d8d0104625a42e23f7a477d74336cfa4e7ec6bccd9de784f35a83092e72401759a24523573bedf610b1fdad34ce4407ad8b869e4a14164ad911ce2de43a1e062414e94681e3b798cc400bc9a1bb96d9d7cc25bb2b83464a14d6830509588a9223b461adb296067f2ed76e8bc25b34879c3e20d74e24d4d8e9a93f7478d995332e1c2bd8c4b547b4fc5415fb1543d8b66ad2d05feb47591dc3f6f791a5f9e17db46abd4098836d6cfedb4a4e31ca425ab5e120e6ed0e47e4f22102b679faa23cc24e406eb14b6b65a63dea77e0b0a8f438b8968920a1a6f74dc092e1bdebe4ee16291f3c000f103e469510d66e5ce2bdea296a3966c94d87200ecc6e1a0bae88763645ee6091ef42a6d12dc57ffe7565831cdea918cc60931629d6aff22b3cfeeeaa0e63faea00168f170fe50a18b46b925bae1a98204932afd8bb27880d9e2134789397200bfbbafeb26a8afe7371739fee740518807c751f0bad744c3de9754e40aed45d3de8dc00a46d1dd6ea42255543eceda42f6d47d2320f92bbf3c9e98d155267ff819e21411d88d9337a164ce2b4e9a0ba233bdcaecbc899a434ef82ca8c3ac9ae2aa29b04c9a94276da8d03b1342f33f650ba7700baed277eddc79273a86bb308897ee4ea68d1c4ed991c3deb1198d3dd5fdb2300d97131936c4286ff69860823a45ee489dbd29d345bf69f855e3ff28d72a2c9ee21d8c608fb6c47b4f29f4009eb80b7786cf1239d5ed94a2d40969d9946257ba76e893193a36bc02555cdc813f72206600f0537a71fd723f0fd09afb01c1d4fbdae3bd75a11bbf44086e46cadca4d0e4950a8d8dce1157d01aa06cf5b09030a1ad14786fe8de854f472e10ab53400ccf6daf1e6eed34dda35535060e0f80fa37aca04bcf9c2e05dea3ac5f254747aab01fb00d07adc8b4d85a0d54325b58b608df4932c14701da55418ebe8c3af86eb79d6cf93d00c1a122a96b73a4eff68da4353b42e3932d52078509ed0f5630bcad78d34f8c22feb52b9ee4e6c063927324e6a145d2cfa024ad58b263841ed0f66cadecb641d94b7da82757d06ccfb942987fd72b5812b9c567c1d9b215af36dfa3c661f0186cf1fe2f662b49062b3aad9637de2980a137e60bf85830fe14080bb4a74b271823fc8118c7d0852fe4c9f95d743ab77db2331b749d64aa0117ff815be4ea98cd9fce496bb39ea1882bd7cf78a4f7ce0db17142c23d58b4488f11cbef0353c13686bd95a9dcc210a0e306c95e27eca690ca82708a85f6419513484736aaa9810dedcf7e5e53412015f331f9e7dfd115e12e9b1c23203df2b78e54bc83bcd0dba170f52d35f2aeaa348e8650a77032eae7408b055946c50fee15b9430728e30e618726a8855cb58600846025230f1d7c89db802c5edb08c3010d0c070f42181a00c5ca7b61150cb85c438ab617a78e0727054c33c3dfc19cf8e27d08b4978496f347c59a6eca2009f0589a4085c110de490e0fe4705087151878a695c4f1c30fcb5c1c130fa82cc3f63659b8bbf0f286c5168d07b741946c92edf9e176f4d06394213106486e833234cbd75a243883bfbba05c170b05009b52a32d772d98bf54cca9fefcb97ef968d3d6ac2b0f0343ca61c10d7c9a2f03306e8047f2d3d3410a2a225b9c4b9355f71f0da8b9d159e7fdc6fc91f357a05c2c4dd5435a7eeddf80ba5bbec33b350e1459f72bda3b9bd3c572a881ceb4e41debfa6c57e0c8103532ff7ab4f18d227f85f445f2af1515ece94ee3a415ac74beeca64ef4d315b3676e13a993cc61bf1d699330e42627550d05ee764a5150a4ef804c3ca54038f693c3ae6a0db7129585181b6f71998d18a5ae5e433e43a9183802f980bf835deb0488e11edb54b6e3ba3c60654bdbc8fa2f321d3990a84330443a8b4b6b3fb4f20fad600c4158fd02c40a987bc9df09b4b1e43791eb858d64c51ce312b8d74040580baa2877c62967ae9a5a607d450a1d0297996dfd39dd0be71b576ed0ed07592fef493f81f2747a60a84f5fbe62d2179237dc45aeebb78ab3eb4b6c916214938380913ce4b284f4f2070a48748d3e0cea67d2c2e5ebf31b1a7ac3d2fb9a90efe1d20f6dc99f60f3a965b47c8a09eb27c3e3c41f381dae376dd403f5574f9247910998598ddaccf5e39cf5c1a11fe3cdfa80d5a364ff37b42964662cfe51b609e8f773ab954c6a45dd2b98996ec5b058db140143562acae04a47f4757fa8a23f20660309e1c2d2ea7bedd626250716a59a549fb04bfa8151bd9de83e6edf3118178a6d6939ecc9710dd52e04242a7bd578ed63a945cedac2c42dbb7057c6d6c4dfa9e026464f1ead16aaf17fe9ccda9b2f7882ffc8ba4c90da0ded82d1bafc0634b9e35ad172f432e8494d2fedf7d301fc349ec615d475d9fb02e032705b9de52e67f6332d2aa0a893855b762192e12e114ebdc32f966d4316fd697b422b5a36d8ad2a40c3d227e3756298db6c85046d343123dc36917a4f82c32fa91d6f0957ba05035b8718aeff63488d317f24087ca06358ccfdcc5b2466e504323f994fa01e769079e69b6e406122cd24471d85fd9c56cb2147bf1041d12c0ef40b0cc73f79ee4c4d2f20812102d082fb8648c73162ac60d663480d9707f204bfcb3fe78480dcdd3029d5861a94d14eb6f2bd96498f942bf7da98aafee3297f8703c2b1afcd2f1c9c7eab43eaa53b55a209a608fa777ea8da9bc575d2817d4bb82034a838087231687e04cc4db1d07195068a25b50486761e2f687d1a7be92a3d589eb856268f03d779e607026ee0eb12fec0ff7fa371bfb2de501df3765408231bb4a04878d5d22abbdff926dac08080e1cfa33f070275815983c98a6b3b59ad41307a063c943f7b4171b513ab5684b4abde6ff63d7bef4449e3584545641c0ce8c019688e1ee35b99806763f1c99dc0240ab46a54c4870dbc4985763fe03c80114e275a891a20adedac7a0f82eca7fe82516bee1e163c9d94a45c80bbf405a7ceea5be27329e583bf9b23abcb46b0b5b2a9c948a4bb27b3840e97eccadb1276bc874a9b7b0842b8b06d89ac48229cf11bfb5ca687c27d5c3db938095ef22412969f6102fb5073b7c7309146604939e04d9d072efe4a7185065982886593183f827dbf44b16b6fb69a4b5768bd8370bfa527bd7d4919595c71214a8d1771ea43c9eb8a7b37913ee831c2045db211054211327a25bffdd27dd71f846a983f1c0411fd2e501c05294f5848c6da2fa1ddf34ce39a5679368e47b4cdf0ed972eb8c56603b77383abe3a504b34fdeea117852e563bc59c8994eb32de0f7056cdef7206ccee8f05e2ff2a14782949125650517f15e9c88fb1b7297c039f490a7510cf0161fd4d37f67560fe48e36fe077ae8b0d47f7d4ba34b2975f0260ba7394dee08725929bc3e2118fedde8883416ce84869d14fb9a1ed5f6d7585d8b8aa05b0cb3281a730f333c4f17663e3a150a231a64ee582b21bccf485427045eacde0dbd126609998350124d923ac7947f17070326119a74bcecb4f52603033d516f4b66049cbb389f53c2677a7ade7504834fb1c2c2139e9f19eecc9319d2306ac574834a6266326c0e8a0cec38af0a6ab23a8cfc5a455a7665951652c355c5ed06b615c049f61fe0c7bf4c714f7c919a32f21dc5755c3513225d18c9dc5e55329f96ead4355becee8c02d4ac0766c635a0f681ee971051275a48691ccba50be257e082bbcf8e466b86622537a4ce9347b02db07670564930ae4a1263bf31b15f857e8b2445a22a5ccc30395808b9ec8f1584ee87917ba5ee322cb35a18e55c8e5675a8aa39a2d6ca81ca06bc8a7583cba113a98fb116c1ddb99ee615f8bf37f0ec5dc851d9f53a991a3a752c4d71d898a520386f3af6f0fd109c2676564aa5848ddc4f4f0db59c1b79caea84a7971194c81423d5a16ab00273e480c7e3be187304ab890c61c9b7b95ccd2d29960447d4e75e6ff5713187521883aa48b97acac1b0083289274082feaeccebe9f6f310a21e4eeb9abaab0ddd8d936bfa838014410ea4092ec6ddc7c1a9d3bbe2ff10a690c54884c0a3c913291dbb028d42f0ba00d3f6cf9c165fc5b6466714cc1781260dce955380955e8a2ef1f7554d06eae841df517afd5f26e540ee25aef1eda09dffe13afb1fbc0dbacfdf25dc71d458b7e5cc756dd90464f48b3e3cb33a751e8c9d9f6e04e7719702fd5a6072dfd39e383c980dd1d6e4a371c90fd92d1cbba2e9ce77c2950d667377c27fc77e09e41aa502340b2776a7514f945c310c29f54266490d20587aad3d07934599644c4e76b1fcbf4b679985026339fb92dfb806205c05e304e8b702b33c8a8bc13168925a2e8edccfa2740930b39e5e354a35c67dd1550dbe3f9e6ca4be42725f4a50c87dcd5bca90a4233796de95eda0998ee22f6dc374dc210e6c94169ccc319688d89957aad50186de0657efa5858745483ce15f0008053e8b3ceeb08eec8539cb38e3a43babf63624e2dbe0c03444ac59e7c7d320b0b5f612100e9d4904979301ad83ee395107e28678d0e9a4d0726904b0740eb004ba352a352b1cae9cb60546440be2611154fab8533c07b0f153c4d4332eafa772728c04dadf59a1ef090556e8c2ee38fbd20b9e99b580ae3c51360b649888a70fc19de34e27fbf8481d9bf2568c3c57487b1856ab75a79019e0da6155183df2a125bdc5bb3c311b6c0c1b4f17bdaf26a05c5402aa9a375e3495cda773232f1ecd9c46df362a05e9c5a9eb53cb961e857e6ed4f004d713eeb1234432f97d6e7924ae19a177000e590b81467e5936f6f0aebaadd81053bb057cc6603efce203b62d09f8379c09da48c12890e6aa5a7f40b2184262ddcab276808b4412b169e1d1f0e823e1487fde74aa1bb20798d75baf6b7287e41b760433337570f57ff72ca6ba8860da39a5280965a87da98b473cc889ddfdc24dc38cabf81d41d434f512f029afca77306a04c7f940a032b9f1db710742d0302604ab4edd46a76b2ac5e02bc73f772c69102e3b847ee55e174837348180c351cc716244b8e95d31db6f19c505a76f67b95296236d90f3de29837de401f9075a4d33524bc62ca4ad54cd81c27cd43113d71736b36a74f07121d4d330294b5d97dc3d62082c31937e9ff69828536371f086ff9e35fa8f195b3a8758896ccc2dc6a63c6b3a7ac8b8eb3f6878e228a4ba7551d727f24a9357441666caca38171862b714a320b46cb7ee72fe177dee1f43efab3d85e48a44172b641bd53b33e04b63b174f68244ab64af69d006ec660991f83ded7568ef7daf3bf025ab0c072904b76ba20d6c5d542293ac896289f7964eb5a958653aacddb0fc3fbaddd393b1cf02912e9de9848b28fd651ecf4aa8eddf6c1a5fa53647bd727233233ed06d9eadd1a91c795ab900849b8507dd6edab66f8e7d436ab1201bb347a0516cb48ec5b43df279debabb446fbf8cf827aef4e689344a1ee3d0a848b6a4d1a225819a692e998e48a12ff8d5fb77469c23d1fb9e733c06a5522f135c2d8dfaa35f47b52b745c0fb2a22348608f2e14d09170ef9b741da63f6242d5f3fb99ff421d6708274ca14bc3f05fc44322508127ae1f0b0bf118e010643300db0c04b0e362a16ea15070548ac2322d0be51dc1199e1af129e6deb176137d1038124e744dbd4591204d0c6bcc4c5d0efa49d2992c5111f24621613c2cd1f8bea7892fce66676aed70bb698b1e659d2e2fec2dbad4199d50fcc8461e009580c3a01363e4a459c7790d4e2935a767484b56642179381aa4997e88239393901040b7b2c0924e858b591fa9450e0e9c4066f3049ac6740751913e50eeb62ee6183a56360dfc2e2dda0413fb725138d21e27c7fdc4dc6402b8e00ae92715a62178a8458ab69f8dc4f07ba8711c6c640d969f160085e77f1bc9a86ae01e2444bd3b21d4fe4c93de47b22d2181015f561b0653014573bbbfb4c049c1b47b78a1c884eed3144069438da450fb520a8fd34169f581162050af882b1ed7e973210e94c7905626f5221dc11498038d442584479ac2d187c808984b89c1de8a9ea1f68c84bef0f08567a7c8b1861c3b2403788547ed37e452d8a24b43234bf6908f7961755584ababeed91fe197e8890e220c582701de163b675ffc0c537c0db3ef8d465d14d4e41866619497d9fbc1cff4c72f40588dfdf7aa58b2086e36ea91a5ca7f5e947b63dce59ca99c6a537c75cd5f1ebc507402eaa3dcc861dbfeffb492fdb4f61f3de164e0d782eaa55d468eb99ca3e23168d7295b7f60f4ca5179d3c52a8ce655c02d81fa3f5ae937a47990ff88acd113489b5bf41b28afbaeff951f59c502323b6da8cf43e44ea510d2eff3391a777a1c32212784f3c0385407fb99a976d9bc01f039df53ec03a8856f3ffc52711e90e7b388f90e68624c39a628f72ae5efeb0a23799c66d61d46d4cd68332ba6b1d2882683da242f54f67b99b892aca90be30b4ea7ea04444380aa651a2d20f2ab4ce4d67dc9f85d3e043046981de21dae4d91325f5a069538240f12877fc2a73f752eedf1678560131d631d24d26b5e3cea25c4fda86ac4009252763b5692f3fe1d8c414257309b289a9ca828df426660c86e7fa9939195f85c6e999751c73ff869457bb48c4be9a574a511e26aec481df9797730574b024b1e81379cc18c43be8c662529ca78bec1dd90df6e4d7d4000d6b96f990054b2a0f78c07b378e8c05440268cf14670d042cc66c5652c4094e236ef3c65aefdab7212b02d0e3e7affbce3372c065d99ceffa78475d01891c36f06d6fab4906cbfc9177b3974ca51c9135307238cd0225ce072e2a769f57bc59611c2b91a930c77459489936ce620ae1d7012c14a53294a99b2917031cdd10370d7283d74a3c4def720eb4a1fe715d7c2219c110260b0e2ecfca9e15ede065e1895960388ea42c8b40b4db5e4601ac30b3bd0e69f081b3ae8abc6d0add6438d7658efcf434dc3ca0aab91638055965c504b4fe88c1f5cfb20b8fe9cbce02b609f39fa669b1bd8f7812b4bc0c9022d6ffff7fc227dc36d1603a769c735cb177090696c284ffe19f78a488e5140c7625b89cecbce8ee3c636216653b39fac64591bd681d523680e5c3d5e2c7f2dbb095bece13052e506a876a13cad46fc7cab742124ced87cb97059bf6fefc79829a736e8d1ffa2f98ed7ca10674e5ed0a4ec832a91c70647ff8be86c6978be3f529e92144de6559abc067a98fb8cc7e15ed1227fb59a38834c1f4d736ac086490806d876a354655914900cb77346384b9235a687cbc17afce6dbedb0e4466b08202acf05fee2830df9c0f80dbc3f0d613fda2ca6d3b5365d6553a569768603281334deeded42a50512c2850f11b169dfcdbf20ccacc9e62f77bc6b5e04c8c2f93dc498f3a9bf26420c0086a40fcec333235e07171eee8adb29f33c6824b5f3d79a1ea79acec67bb702742f4e4887387fe2b5b961ed2c7d7bf1ce57f6a8eb6e2ac7f4ded8742e18700abdaee6fd26be388f63ff0bb8a96f982aed75f273f1f0456799380e74c8372a4e0f9d704e6320f72557ff5c1f909724a9cf8f64adf2fa79fa8435641447c5d13246d1d47c904f191a4682f665bcbc55161ab5289965136ce7d95ae79fc236c7630fd6420e4b5a772447fa9c04c94f468fce1cc3595d55e53a72c449ff1ea43cce67de30c3cce5de6eca64c04924c8a8d8296b9cc2e22e33beb13e76b2c58791a301fb193b1d811c3864cd3c54f053093da2b65dd7a8bf5db728950242ab6f6923533de3133a6fed40855d97d9104942a5ebc30aeb9a52f14d763cabf7a8b952233bda889fc9352005855610b4cdbaf970b1825cbfb32ef68056e5f56614a8c69cd06e5ed5d8841d925d1d46dcbd91426c150d786b15ecf4f9a103feb2e468cc229ec8ab898f7a5805e504af44bbdb84e52893cf1f90697c5374f5d1b1c77418d2ce96b53d879e240cdb512c82c0515529fbaa8d48fe8f3ac12bcab0a82c54ffcb9d870e9b834f5f850f5db65cdd471453cbda482ab294b7187394b8c18632015462faa7ccf459a73823b379313219d0e0d9ce44ecc5465d8ce3831b93e0af12cb4cf511849e0969467735d6cabd234ee0d304e65e60070190cd9896d93378df00440304b19c4f837c586197a304d8378e884041d33203fad31a1ab2bcb6c6e13550933e1082cafc2ee9cc9a381213380b3d1382f74f9992102d4c3b4cd027e9b87e977db06cd3addcf191ce91c42330b6bd2e4807cc01255e28e99938836e37e69ac14f71b40986239205bcbabac9c08c31bb0c0cd97b96e5588150208c39ab6ce3f1f45030e4b51a2415ed0ff52a9b364dc2f3595cabe9ff34ac64e9ae8c3a56ff97c052bbd08097fbf178168ab498bda8553399262d388e186aea201c433f7dedd2439038709a21d1308e197b804e269332d9ba0d07232d29fd749702dc981756756f38037110dfd224a646b1b0b4187ba0491749bc51d21aabad2c6822087104713ed29b5372f9389cc079b295145862d98bcd0ebc330527611d1e11e130b0469243624a2b6cba502cf30fda0e3a4024e8a1f0312b5a95c1d9a12e9c70170f9fe20bc0d63e90543303b47d2b078cbc527dafe2861462b84a39dc5081490448254bccaea86ef0fbe79a81ba24e6c7f302e637806e36265fe5cf321df1fb574a0adaec681a367743b21cd11acf35d54d30c93c84947c9aa99b5667e0d244625f5fba34f4ff8a9363f419bbd5151fc997e255d6dd77b25c5553e454908018707d16c0f0db91f7b1b56c8c4e8a8809759dd4395347845533b1bd66b436cf374fcbf0a413759f51da28d0f630dc6880f8c702c923e1082f08ab065de168251980c79fab1087fb9a0caf2212ebb76c453f55f2c66fb215f16685e8edc5b9d21d3d977dbce3910d4b5f30301aa58f1a8211eb8b3b8ce0adbb18729bb4c6764a6668f95fb4e1fe44caf4fea639f17561b808c721d07840ef66abf011a8ad742d8a833e7eac783ceb60fe07810d2d21cdcde56cbfd747789a458930733e948be8e79a5007bab30b0cc2dcfe4c1141efa35865d3cc78c5fe3eacc2e208136587ed4895b23bf2b79708f7e3649f7d0781db958eb179ce191d8ddb8041ad6b0345d44a8e342860180365466705f6d69bec399060ab72c531b365c38e433298f5aec485c60ccf6d06fe459e9856e22a9b85a2a4b07c2fab5d47a6ee25adca686a1d3061447196ff384553cff037181acb09bc69bcf903795313652ed25f4a1c31352a29be98ae374f8f90e9108790f09ec1f3cf9858551ceafb2a167b4ffd425d7a0dbc06158eab83b3fb36cd0dc962efd590eda720f5b68ddf16a5ebcb88521181153697a1a3583781efa246f8a3b64f7c14258a97774edb0015c9a249af7a4745d9ffb84c9fbcf126d3a11e9dc23e6f92f81a400f63682ce1389fbbe7f96e34e4b767c96cf9730c4968fa8f35788f009c409e46acc445233eca52b3dca894b23dc45f5e29f09f899856cd1c0c5c1bce45fdc42b015cfb8c24e65f40ffc037908119069b24427c0b08f70101390b4c9bf0b3e83e0add1b4d183ca0ccd8f6b3a50a42a0d5176667905fa777de8ccf61d7f148ae3d9f62dd0dd3438e1be89bcf23dccc19cf30fe34188fa9f10c75e8538849c10382c236f7f3fde9dec5221914ec890271ed20c396a4ca7f044855ceecd7633dfb0fe09d465e6252cf0b9dd22ed60fc28f9c0390cc9dcc1d26e14b6344421062589f498e3e06f61a6844c15a96bbc2bb74c7d5741e2a5e0d73c5a9accab2e0ee5678fe125745f24573bce853a0c989e714b04cfd101bed12e7418daf06b808d902c94914edd8add82054a261a70052754fa30c4a4e0422c557d28897aca46745132b2c11758f20a2b59eb5787424fa0a7fdf4012770f2cc389ef208dd0ecfaa7e28f8f8d6abd4b0f3211e81c4777f00091fca3a404081de5a413b12c3c19d5a15ff11e8ff10b4e8f167d68f6e1257db13e21043f60a87d4c54df502a84428fb1ead745d6aa6d2ed7cdf08bc0985fe358c0e0301a5a759c4037bc657e0466ee9eb719cd18d7a503e4e79105a197e1d99a8b128e9cd72c0383b5606ee7cf40f3fd42d00785dfee2b9f22d92312b43b0c4107c187d16bf81a42fe2b32124972a5b1a706af4ea2a98c4a99bec54a961151d205ac85d6b4e3ce90a8f020ced027fc8e0f4780db03adcaf46016e985cbfba81a00bd31989f8e519ecda634b131163e4a566af90f22ed0ebf254420803410c5de4a316015374e9e4abc22058021919b5a8310466ede8a46ccac38bd4a095b634378097f48c7b65595e9b089ec7d7afb94c6cb5ec50a21bcb20b9a000dba463b859083bb205e333cdc2c200751dcd3d35040941c5b55238a42754e59c63d227faed56613800a7e5b863c18a3576d5c9e9430b3f34e851a0dee057bbe7dfd54acb1e8257a0f4cc6fbd15ade9b913a8ee73211a1ed2dcb63f536be98c94a2833d7bd56db12bd82364f6f3fb888c5e9886f5dad6c3eb989504d7f4dc3e08691d516bc6b868d0771023ce11330d916ed8396aedf5fd2e5e874939125b84a1d76a8bd2cc345c07eda850de8e81c2ddb162368d73a4f13232438cdf8951f431c6714ab8614d104e25ed1e2e2c368244b16d06628323853b76de92daaaf2c783bb7363aedf827c605062d9545dd535b38ea6bb656443831a77f34eaf4a45e235fa31fc41d653b6bac37d7646648593c28316964ba18dc37dbf779d30d5c6b54a4dd73d01b076eaa913ede3e34f56dfa78e986fb5b2e29d5d1247d6c18b1137274d29a386c97d074fddab23d9efd21e0507ae4ac3fb11e7bd46d7008779d3007350709a071550a093cb7bffc015533d7d44b72bbe1ef93e82bcb5af1bcc720164af198214ec06077b361fd95f89f4a06325233be8a268208b610847ff140a4899c467a09f7a0b34aed640ce8c3e748bc94eb0bb6afeea6d9497ecaaa0b4a0a267567c889323b48c6145bfb16c3c378823fde0923a0afc1f8207382bdf82d0ab7947aff5da58e1812a2d67178ac4971bc9f390d6c6324b98cc38155176a6e6db74daa62a699dd90bf337e8499a76a54174da5bb73e290e93bb9cbb8c8eb9560d22b913c39d29ca050d36fdd490566284d094ae225db56f540d73304b01c87fb2bea675aca03055daf4ce2d364900941fe7109fe71ea234ddc34bc6d703188da224615a4f37bc6299a2826642c6a57911486e41f7c7160a47e25916e2546990df676b0a380e4d7b38e2069f8424852b6fd79475057e5a66ddb6fe5b6e4b2b02ae40f1fc50c07b373142ae35c43be27277cc46ae0b9e2603e82aef8bba33c99acc01e6ecf00e5503368d05449566322179754d92f44088481427cca5280865ba121ee3f52f4aacc82bb4074e84f3ddee6b93550c9fd6f949e8c30c783abde2c20be16111fadc203bea5136126204c5b94ae8a0b2c1fd3aa87d4c1c6f394dfd309f238900f075fa3a53cb5f16364a676520bd3319f41e62b49b977eaf3104fc17841f44b1a2fe80c4786cd621e8004b7ba3f99f326443cebe87a90e5df0fbb96c3fb9ff14c4e35d57be304a108d428943a1608b15a23c4628caf79747cd63cecf45e62fde10257fff8bfdd92d4203808471e043393eff78bb70bcd2b8570e9163bde235fb3a13be28d735b339b47c6007bd5b60e819500a9bb8945ab6c35715a2b5968a4a63b87169557e5876ce75e14fd6b4eecbff70ae8353737cdf464daa52dac4faf413d4ae365746c215a286b480b5279ad1fd68ff21aaf293d6ad8adbb60511a501441cbe3d24d849082c10f5e9999630d692f48ae131f6348a07888ca11677f5d60ca0fcd1208c184209ecebbece6ba9a61b06d2e435706b8bf79c2562ab87dfde8d3e7fd8dcea3497a9471172cd95517ba5e33325982c8ec9b17360ee29702ca9ba2cc241429b1c165f798f6bd885bcb51a2b239cc54614181a48379c502e0fe5e566e1a58f790f7126d1c63d799105a6730c406700101424dd6320e6a1c23db8937946610cb5d4532282a90c54449bee0923a583a195978ed27d83765f4685b1e2382b32c08bde4cc358f8e658b1441957a5bb2cfd30023e6e71fbf8eb86c260ffbf0e8139c4a485f80d47303d945dc991084bcfbb1b079b7ebb5c3741a43401827b0e7a30c4b7b00d51f50d12cd11b20ef471bdeb4ff718e66586c7e7a433e3282b671df2608bf7e25046749a165357e4b8f276a434e30754359ad18da0afedaa8c78e2cdc0a088447aadd239878718679455e85c751ed5387117d858aa2d2fe251dfaadf1ef0239bfb1a4be868ea220277de68f1843c2d60295e09b1fd1f8ffa93adaeeeb2afc3731d39ce883474d1373613918c6cf47560eb6980afb5cc0678742f05aab03f0f9e0a45bcb691650586cf06635a1e46ee647a92109926e19dc017ea2b05d493b9e68eb1e4672ddef2d2c5e1fda90b18de42270b2018612871a6bfb2af1697ab488bc5a68cab137038cd19f456fc9c3750d83469f0d9428d4c1428bbb6232f07c39c2087cf8ac64c9200bac911dae2d5736310a5e80511ad8c3a3a6aa67b7fa9194f88e39a3c884b9da20f1913b3ed6b13ad138f39a1517f2b1aee8e97b03fddc52558fc0ae66c9f8a94da0101f979dcc624e7f65e8971d3df502e845b32778851eb70abb5983adb626fbec6d3d33b5150087f0a599da151c58019ff04a339f1b049d31cf61fedcc14fe4786b397df4781b32e933d022cad311729be37bf206e03b7e847822b199d80378e8612aa10cdb208a942a2be9da9e2e5802ad42a12f67ba5d18a4ee3102b53d9c639d2498b7fa2677ed01f4c9aa97283a3cefc59d40741baa0fa62fb6bcaf6f5833fe79af7b81fe32b0e215b231f327605631c80a427aff0b97eed53038fa4c3e11d0c17898b437f2484baf194d0a834d4be728d155281b93a535e692316904cfc1489203d052aa29772bdf08acba08a6774828fd347258e0ceaed4dd188ddf6996ed4360779c2a0e4757b6066457656223bb29f4555ed92c2191caeb9398908d562b68104c18f80e6bd31940052b240ef8e29d04cd247a1950c7f536960f25f148b1493e4feccc0340a6ba104dd44d44685ffe36334edd68cf09ad50f51710655a730ce880318d709cd16f823065b8fd26e3e4a3d01c8e5a01048522be2eeb413c34d8ead75a8110cad22fca2d86af1508c209f89b7b406da9a719822755ac54ffd946b5005c8f16395e3962de3c142c91a1e642abc06f326bd8e82246cf85128602c72bbebf4188531451c1ad29c063423c38b755a77c22e9c8aadbeb275b4cbac941deb2b511576b4325cf9aa4dabf8876772f1d45b7fbc4c21060579fae74269263223df2d88537c179ddae3ca227c14c2ccb8fe2747ac8a395d01e8dbc12187d259885ecddee9f72513fd4a18341ab9a14309813ed523bb178a491754c0535bccadcf8767cf7fcb23db67020d41b5df3d14e86603f712c3e390dcb064f2446366f3a5c6a025c6fd9b31dc7ca06d38f4281a887de4f2ed45b416f9bcd9b6c62b4328def70d1c77634a73989525ad0c63cebdc179b8d2dbc6fa0d186c7d50d822528c09169b96a412221221008f964af5132d4b2e739bb73d9a4f41ec580f0ef4cbb17bb3be2a0cb7db126c3a04b42cb5de64cc133854242db9d46d5ae222ea6eba6dd5cbcde07d78bb7248f08b833b51ae695a6eab047b25c5e04ec9f343e6f7e385e1363ace7e5142b7d2f6e669abd370e168db776af2b4356e58a7110ab75372376fef970a80b2f5b117a7aa7b5a528a108190ca3532e3ea80474c684a7303c0abc1e2c9596f23dc997c84b79904113a84b02609350e32d9eeef97a1bc7aa265ca65ee770928db838ee8ae17f9cd7f26a267389e948eeb95ba98350380503f5d75985992026ebe6d050b5143245e4cea02b2f3961f2b0e78d2c6747b03409afd3dbc2a9cad6363ab9f1f4a4ec6772bf1556fe769aee840657831ba0f8c79c92cf9c875c9e5106e5172e123e3600a902be16c20797ec2712e371e5dfffa2fdf86b9f1503ef41a331cbbe917144669d88ef67d30d1625190aac334098a42317a60d0bb3b9bb9dcf5cc6884774c6f9500300d1dbcbe61653f7f84427e61966990c9b901084dcfc6f8f2e88422cf42678582e5b428caae964309cb11d249845baf7df37f943c2ea2cfe92bfbcbfcf8c19ba16fce22d592842c4bdc0ad0c837f1ad15c0ee4b08de5239ae31253e245d2a2cc9275819de570287ce852a37e9d6586c218af78ba202b9ef27ea05fe251ad67dc126caeec8a1688ac8dda7d8fe3dc0d27da607b2b84e770fda35007bf5646a468e99a27cf86d9236138ab0ba91ecce829a2fc56c49c2bda584462f2e0885628e50f985fa499f43f8e821b027d0c4ad21c9be6094592b6621d9a98b69d11f32f6770d2e2624ca414ae70887739279ff95ebcbf43d7ac59a0c0b45c77cda91c0b35f9b6bf47f8f603a59e483ee8132b85977169a3e26a328bc13c9c73e5f222c27992239a16fc7da3c0e1d8f3b0e3ad8e8385cfcdc0afe1fe7c0199f813cf63659a448830e47eb240cfa4177fd7570dc04c2a0f63b52b13d5af7729c847e3b69ee9c744acb6b892e4544615d1c8cbb6fd5f0307152152e03700db361e942a77d7936a728e7d44b84a48a5741286a1bf405d1e87b32076b4a1ccee76826cf58e1370fcddfc1b1ad606f12e6adea7e691c5b2f8c73ec7f84c1786d53529dafaf299066c8810a6086df0836820869ee23c015005569e7fa95ccbc5ffeed025cf9ca93ff934330ed7ca5a59364726e667a77cb3e71d0bfb420b375760cc2d60040663119c80b19e826a16b6d5496c938325c6c7162e6cfa1fa6f1218e809242f29cccd97ac8b0e6784c37cb13ad9aab5eac1b5a15a34a9a7aa1fe264c3f64f58d22ef3af5b65bd7ac9422fc86ef376fd93c36ddeb7e029eff01023172fc385ae94fbf8e763371b6e01b43151e3095a1d1b2d7d2782d7d77fcc2353c4fa5784ec15116b63f3837fc048d6d9f7211b5d4de68224bf5ee9e369526c2e34e631a3b48ce14fb0fc101a563fe5d5e4389f6531e6d1bf9c29ea34b1e7cc27f183624e63ee1c3717ea057e50357b72eed89bee943c66ef5e3fedc4177f156a893834b94c0eb00c41087bf65d424fc2653b69c88bd9e8a471292043d362bd0b3b8301cef35a8cb349a197f2139a32ee5577b0bdee169c00c3438174a7fa3c82b4077f524963c1f8576a3fcdd133a7b87979c048d4485765f1a47ad09cc77113a965e25e239ffec21ab9d8cc10c35aa57994e78d2f41747ef0bd166b10fe0350064784efde6251a41be9ececb22dbd810f30da1b83f6d5cc1d1fc6fdb82e5234e9f38a7eaa5d9cd85c3a0343677385fd2b2041bf20c23527e1e9bc51c50d2ab74e0539b257796ad97fe0c19af2355513e9cab44508e52bad6f7122c17c3eab277a7a73e50e0c1ff286c66734e7d9fa921c42420ad45e7cec378508c0f30f2c64bdbdd29e60fe8f891c3dbe929c5fb919dad2efa919cc65a43397d027f25e473f1eb0a0251e77f944f889daf960fa7dd6b9ebcfb4f3c64ac505c15959ba6a91e265a81f1e9432c681667f99615141c7ddeff93ba63c47bf817fa148d35186897882b9126a38ff8d0615d92d2ba131fddce4a934be19ba50678cfec2f4d0ae33e27c3beee62ba680cd14d0b6880880c128b1ec78d8fd1ab184deae157b5c17046fa61b21ca6c1de64ae94d1b17ea4eb19a86a157c8358e2fed4cdd7459bb8eb4e4c7f8478e30f4a04e043698bf9813a6507c7b022f0bd41090375efa1756bd2bfbfb429a8947773e02832efd0e3a5f0775c1ed854cc5853faa4060df8c749c9d2de9b297eae7f7ffbc1970d70626c265aed60822bf901ccc0260d57ff3f75e0637571d93c61ab4dba6256ce6f4838a55ec3d00187e1a1920e736eebbb8dc8d5771135dd851a0e4ad59a0e28f00114622617f45a1d36ac42bc4e56690718be4fb8d94075f38c20b456298b5f1d93e0c366a3f8493ad35a97e228fa3d3b6b8e7efd05ab2a33e26a8dc71cfd3a724c0ece4331bd5a0e3aaad1717133f816770106fea5f8337b4c9856d98514daeb3332f0090264d8aa0ccd7ba945922a48439a5786891afd43d54e00c0e208356dc2bbfffd7957d26e974209b47e44c62601565179a79f8d2403e300c2aa591c018f3d770632431cd4f070464a7728c018559e01acc4d69cb2c08903a70de998388c13523d614b886cc93d14727e7c15c4e93dea60cc24e23074b897253e5c6c4b4d18dc1370466d33b402e778a7327bfcc5ec8e5bfc70c44622d4933540602dc18b73393830b3b21c364411cbe2a256144ed42f212048b59aa3180b7e0d683c9e784f770b27c13b302465b40f7a01fe692e0f8c9de59bc79f925465f2bde053b0918582aa1a0ca841503580d18ac9dab99ae5be7764bc119006c213f663c7f2cb45d24a251fd9f3887603d9dbcf0a067c06a7e2bc0165b455d34f8aa750b5a1251b1c0c1465870cca6046cac0cfdb635cd0a1282babc1387dfb2479a8527c69e482c11d10ac45475e11207fcfb3836efba7c13a04504e1517464966428c438bb8646383b1c2ed2975bc7c18765a9071a763a0d4420bc86913379722b2e716f42b6802f453497bbc7d4237603e106f5e897d756c061b6c229b3fd2827b624075fa94f3910b5a51576484f783279c2d10333633a1128456df1f24287b8f9e0ade25bbc2265d18d3e4789a962e4cd3feab1227f5cb359a3976c88c5cee84d166e7c566dd161c7ccfef4700087caa2f627268b1c9eafbce8eb809fccfeba40e9138a7e1145a0462399587075730458e3a3e51d1fe5ab49efcd7d6984f3dcaf25d5404059eb014f3db6cc43f130053d2d39458ac048d8aef8df46e149285a46fe1534fdfa3c61e20a76457f77db625351c0bdf2aba2261c73d000bb3c5ef24720fc9a9c8aad8eb4bdea38f9c4b22066753f8a308de44654243fc10d52344282f8a318c865498054884d0899d64719ce8f9751a09c2cebde7e84dd4cb4fe32262059a9894f09c085f544fffe492a9c708f097068fc63dcfb227904acb84504efde95077850ab9f9c91cb84b079b1af068a799557f41e9fab71557e648418b8688cbb984fc30d5501c8fb7001ee19e05e41029726c4d2f02693f70ad70fec65d27ba74fd84818e3388fcb690fda9fde58fb134f1f8961397eb44ac0527fc0966d2131c04ddc4a4823bfc0f762e256553a8118b73b3370fdcea22800065e5549489adec65bd0a86e8dfbaa90da1c493bac7833c89c1338b8e66203ed55391abff110d7f6b70abdaf71372ac0a9090a6ff118e454b5f23ef1699b84cf8fc717d50b43aa109eec1225a60a4d0c474771f95804d2d261b0c782a54a6efc4e4bebecaccc79b0c89b49f275ef983f884ae9b2dc1e804837c1cfd6922772de29c2447f7a5ab477bcae6ce6c45cd3569409aba2919d8863305b2df836933fc77b5ffdb530641498c1f89b01131cd495bc95f0a61fc153a779f714b801d5d2caba8ceba13dfcd3f58c51abf0931ad27468a238068b42ce12a91eaddaefc4812fef378fc7b3490bbfe1c5b67ecc5eb6b2ac9b132ef62c19f5a62b7876e46917427bbad86084859954bce82895ad6c5342eb198e25b042640cea94f9360d0803994f3257ca7dea0fb89820ba98d205f5ebca57b091a570e2d856590a1715e9da543473a8ad73af0118460e2b15e6218e8b88c9075a2f8fe06ac5f38d526e5cc0b7d9838d5894ee375ea44ca355c705730af5c5711cd50713dcc147b1ea597ccfdf70be1eba85dbba1add8d3dba7e26f4bf1022fb6224de7ce59c25993c68d2ab7ed4a2ce0df86721b0311bb6d16f5b714ea3cc1f572937d662640e5e263c5d1148748b7dd786cd4c2cd63544b7c935e2266cc4d360f15a71162e225712f1ce49e21ee4a90e41af3c39c760baddf52352fa397bf0026820e18114bb906df45bb6ae841b81e9232553f2c13efa3d4e172bd01912a6559225ba7565d4b34d99c545d73aae8a153144139a58cc17aa517a94ea54e2b69e5f998ed44d04c8a0f61b2b2f8c45e93d8a0704420d4c6a88ac469f6bc1a67c44e857ee9dca06d2007c5fd487a9c46aa0c93a5ad8a912926336ef91b35a13a68637d38001eb83ba1981662c5920ea8441e005f4d2f6ff6f1643c8c03fc7f0ed5e2c58045bc9faa1fdcd047852f4865e897135e81eb0076b7a67e9d737972bf3984f7611a0c8535c59544f42857b778485a5ac500e5fd2a34b0b160df299270dad8fef9b5d01ed5494377779305fb15ec31c95009c8a708db98827e57c09b13afe2325dee3d366556ac2ad4301de05324fc1a12a85e4b00710966b838052940b68c42cf8761368dfc58571263681ea6bb6e826af05e5f4f40d6cf27e8116dc7c4c630557589256eff9960fdaa4623d856e3489be14fbdbf2fb9085ab00d4b2ad9acebe0973f59ad06adc90c74cbe666807003b96ba58bf9b494be408f32869815e78a47fef28d9d72e405af562f485370b0be1d027ea28c35ee7c432bcfa5ab51f8141efabc6cc3f40d6717c25ee90a8d30e29a71e83c867a97f7212fbc140fab45076648d9c9476eb6d7f3bea14f5c8b464d061999230b9fbf96dabc21a35783dc6cf3c5a89c58ccd3cdbfd53df3956c501dc92e17effcfa2a3cdff6a019d00bf64cd06638081521008023b3b1c2715a426ef989173831c1a3540c569466fc8ca536327adbd2fd7361b8c36728310bb5f23d2d9eeb9b4354c8f01c8658eeba8787942b28b758f27c43fe4864002069403bced036a43c79f5630dcd5241d5f259322e02cd55925e4ef46391f42011d5ca51424b465313f091d0c32b31df706b5ffaf6175710317843084e448ed2934df5ec1745eecfcfacb477fdfec83f5b7dd6c23ad914dc8de9b1042c8de7b6f19120a2009200a56c7e79e0fd7f9ba9199deba87eb84643abaa7c1aefd62d78e610949f71a969084fd66587d3f537cbdcbce47d6400632f5f80c28bfabc4cf0e945042092524b5b4b4b4b4a86c37028e0eea7cf860b93c0bcbbb9b250b0bcb3b52f69133ae838169794b4b4b4bcbe8dba8ea2e0cccbc64a0ed922faef3904abeabb1db444bae4feecac956fd9b92af787939ebc51dda4bded24bdc556c735dd56305473352e66a7a85a2697a398807ba9c2c022adfc42c7748275f70d1f9528aa690b3a1a1de392777122bb9a796585f52db560feaa81eb3d3db6038c84a0e9d623484659161d750c8101e9e6b48031e07ee421a30be730072778d2e06203b85b5823668a65fa28742179dee6496cb3725af9c520aabcc34625ccc12660933b430893bfaecf005e28e3e94c32467dc94dc383088c1d74b586f53bd2b4116e1202b19fbcadbf6a8b24df52068e845a7a1876f1b819c0cb14df54ede57896daacb57fa7a6c83612548dc1b81c37d758a030246bf6febe3978197bbc7611e7723a0e517634adc7900bc63cce7ab1883c3efc5e1f3ab82c3b71b710fba110d8df07c1e07ae218d005c1463409fbf5c002e13030000ae85eb1a0a99fa88eb3a8b4c611a110bd7d5f44e0e22278b5e7572f7cb0aee4418be3ec4d5ab70d5c619f1b92c2c47ae75eb55b6620cce909e620517d0d00632cc38634ae9be0823724a44a8d2c5f514721d8533d67b58978f7686ca304b096dd06331d67ac6c9cea2b8f2231ef4f014efe4a987caaaf0174ef274120628795ede39e565e09c39aff230a133c6d85c956f0befd3e3bb7b52011963bc3798a1235f052184d38cd38ddc216fd3b2aa22d641fd4df239254e26364e37e1603ee1d18f697a4e69b279d5eb11f39b8f9c4dccb46d55bd07a74c9932657edad1d5c4c9e6980fdfc89cdbb67c175a2953c9c301a58437b10aefbdf9de83f09a735ed39ab18ab38a71cef868c5d8d6144f7115764275aabb259da6897639b2c825a78b92a7fe887093cd21a594b3c834c953dcf53cc9966768c1b3b49567eec1e78517508082118c30c5144f3cd15913da49178ae439ab078223d815b02b208104122d20235b02dbc176b09d4c894c89cc48a6047685ec48d6826c89cc08b69329d147bcb404c6085f09d277b10b41ee174419dac0446fb1106610b3b1bae4a63cabcfd71aebac5e88a215c510f3f4a28b1cba8885794d4aa8f93985f1c409568011e55be4891647b24b7eb7b967839c8218638c71ce175f8c321e615531ca18e30ca6aa1f638c31c678b78fa449a2a882368ec3b386205f841276c7964177c7eeee4e42be27df0e4862844f9053ce297296f1dedbe19aae794927b20839e584819cf5824e6411ef2199cf05514219e149355caada526560d5553bd7755d9775e306246167dcc01819931291e263d55fe4be5131a0039d037c1fb618a00da843e41579433e505346cd0712704dd7bce456b355579453bd20960d49553684c52846af09562a90204182040992f790cc293c18a54c000c8c0e37e4145dfe1aa449b5886613555bf30adddddddddddd5406159c2fc69662780f897c4fbe1d90441a4cb94f4d199b983429dcf8ceed840a62c83077a20ee6860e0910b574355a200d91a8aaa88a8a4a68674bb8fd240c4f3c01c318397e6a01271468a39f440123cf28393e8ab9d338a412d21ede87edef966252febd631807270748131f1a9081d23bf238dab14bfc23fbfdc538574278ec3ebc773c92ef428ca418b2278ccf613c1f8c73efc187bf5df2017b868558f2e33ebb10dab1fb90dd734f077381cf3dcf294dc7b81248e58f49a5f38c246162a4c2d434413aa0772fc90acb5b9e531a758f09f52725c39e1d3b8571de4e8671a0e0bc2678476ba2dd07058b9f8f1b5ddf46171e4d00defec7fb46dd4eafa0743145186c48a2a353daaef2253f40b7b7f6db7fd86f3af62a1807ea6098c4887d0775ac9124a2475028aa7cdb2ec238a26f0781be611c118ea01899441af1217cc42ba9c4262ddc8863e156b477497b179968dbbb78dfa50b7ae83925957bc260393cce921ff6da7196fc58b93d0e931c4fe40125d12fc659f2e39e05e3b0fc5ec3384b7e68bf188705c3269146bcb68303991cf14a223c77b277297b07996478743da7049b60ef12864717f63164674219f9f04af6af649f5dfb921f77c96802d8b3ffc0aee354f117fe815dc338100a8e37c4a970134aa4110f9a62c0de4128181662c98f0e4ac9f12c30b842647824313c92d887cf3dff609c25231fd829d0250cfb308dc144196210032c74744ad1081158d22ee4de83473e581f998d674172bb1493e4f89824d230820a8010852844d1b010422ed6b1b7ef62926905494a5da23105248ae001154c24c6492491468c314a8442c4959d342235225c6a1a234f6298f1138a84c9dddc216224c709498e53921ca72a729cb0c871dac913173956dc4922710c0bcf9d38a14c4e141b30a449a94b5dea5237778ce41680900be58a179a912d0c9952607c8c7781f7016d740c56238a0e5ac47e15fc06bf10a59cd17427932292b22a32263816dd91a73bafa251a0c01530dc8eee74932d53638cf1b04422c788d418595212497c13c6e8447402494412239268d11daa05e52247f93255c1beacb89d4412638658a5235e5af296c0c30725e46e7ea1fc44f941f8076b7e9efcb6fc2077e547b5e897786a05cee657ed7891a319f76548a7d02f318652818ee1d40b2b340b5ad7dc3b92eed01dba43773224b1e90edda15a549d2230e6d3847a31864442c1a05c5029748c3a8442c9f11209b49104dae8a47c4246d132cbda7039613e73931aee7ce3c8fdd231a5d737da0939bea351f565b7c84822510449b189cc0e31c693c489173b39be636311e16b89357294466417e893e22179449e8e1428376216b71f8b402b68e3461aafbb1fc304da7dab98aa08096477f7ac660c68cbbe524a1989b82ac5ec7461f689fa022a83e9b23e519faa574dd7755dd7755d13f5a99a9460418a0bfade9b40620ce9038fc83372c5002edc70d74e32eccee1dd70691cd6679362cc93c2b6081e56c16402b074e1570514f7bd7b55c06c3d0948c8d3df1599825003f1c60d181812a91b4a43b922575664ea54524f871b372a48554149c718634318c55b79a2082184726ed387f2549a75af8c62d5da8ad1ecba965679a8cfb44d908c10aec418e34a5d11b160368b2fd00ada6089a16656ad88726852c9a04c71b369481b44fe27538b5e35725aa634cb14c332c56ae46cae99de1a399aa9463f95b232fdd0ad468eca14542337cd4c4355542317335da9918399b6ac8c5830d92ff2f904f36d21c2e3302524bdc34e741c663fca402c99c82c2384f06d41313060858171dfe56115d36150ec0b189db043783d63777777f71020094259465f58b88f1ab9ef9594325610367c39f41f920b0b8f31c6b9048826a294524a25689471bb4d5c291f73c477b1a17390c71d8168a25282666fb63c581f031820ab1c5c80929f8d5032106f2e21e376190019102fa3e4f7ec134396468ebcce414a26e08b91461e0df8255e0ccc0b3284c1000c92694aa1a2f0e808213acee847006e3d00d8889cd2e8d647ef6e1ea203d99561b8ba2eb471ddebc25d7571b75eb4267f40efaaec3955e1b2d0d3aec2650f711d296317c3b0cf330ee64ee4b915611184b3cd730c775bf6d4cbd1d0d76ae9bd18a7691e0cfb7cae87d6fcf9877a6a72509c1db3b552aeab59765996b85bc69e65d96d867542726559e256b9abd972d6d56c3b5840450794d2877abb4420158fa54dd334611886cd955fcfb895afa8a84cdb36699886fef554455c0d7d4e41dca5c2dd7ea998865d9a0774cb33fdbaa05bb7405765ba0aee7a7ac59d4c0c711dcc9076ad67a9079de6b0a6d767b80380b43db0bc5e6f79c5dda8e2ed1aaddcfdc6656feaa17ddbf1a664fb2c9bb08e37255bbcbdfe7e3e9fcf0e7a158fc743ebb36c8bc0f529fbfd9cce927d253b9575e35454aee151f67a3acafeb986617894611d199ba6691aed085df49c4d7ba86a38b9eeb038c35a9c1ba772d9ab6016266e166d8feb19a6b93e619a95ca7516d76cb9feaebcb3150c007c1333cb5bb01cb1d08cb3d99469d3bd7d56abcd617d9a2cbeb84e599da65aa7699aae5b97f5c8f2ee93ebb566407d39c0fafa0ada18bdbe421ba1d7dfc6017a55f9e7b462150eab37cbb23a579e71219b3725835e6f7dbdf59fe7640e8319e39e0af7727d0ca8875ae5b4cee1f3fae93ef97316dcc1dcd50c3fa7210ec43dbb83d25aefb3473b7337ecf52bcf70bd4ae8a2ab685ff9dc862eba08873ea0d707a11d846fbf7c9e93eb47a398c6fa655dd65b065a999e7234d6e50ecf3f97db661f84dd6a566b56a36561ec32b072f732f1a2b2b6b5b8cba935cb5e6b5641af6e338df5ebb27e514a336e87e7d99f9df16438c3a31d9e2c27cb409567dc9b92db6e9bc64948f2dc721bbdca556c86473399cd326be5640b63af9cfd87d39e711784a9d35733ce72b4723bb699ad5fb6d7efd870c53939da19cf3f9790948d7878fef9c783b38a4733f5da83d0f0ed17fb8a6fbf64cf19cddcd7efa839395bd665a205220b1705de58a15bd6e7d7f3b1b6873809495d7fac77979335ed32115453a784966559505a96651d5a2cd082d6ca2d6841cbde0a8283666f4debc6b24037d6647dd6d47c6fd554aba65ab86359b12ccbb22ccbb22ccb82d62bcbb2de16b40e2d0bde886c6096285bcf56b5ac836e85ac6f5608d7d49b8cc5638fd30d08773595baa92a0dd7d49afac307f20d8453ca29712d2d0912fa8cf17b5f3da71ebdf89c525c07b3e7f614d7451d19d65ebb126091a9773762c814d59e0ff60f754ddb30c5e5e4cb755415b9ebd760445040511435a987342d447da314b5123a457d2e3a853b150a3ba53ca7aef5b0afd79e79f08cc5af54a6fd42e0a369d9a753d7b87b7aecb5fed91e141e69a76e47da3dc75eb17bb05bdce124c9d46b575f69d8fd5cc3349f5b4c03ba86e19a6c9a2b1aa512a21b956554b5f5d9358cd15354562d4551144595d1f61847eff1648f910b68633ba6720c831e3a0571d8e71888cb7e3fb8d334ce738c8319490e8130ecdd8d5e401286314c354c5f69bd4cf4702d03b1b7c56a3da6715d76358e45bb4cccb88ebeba077badd86b96dd73316cffe1ee35ce7339983d5c47b1552b768b799e71f69a760f3763b37b9948ebaf5fae13627127848bdcd54428197b7739f432917b557425688293649a739a589b81dda4bcc49d762a391aec3053da17df578a3b0d7c7e7b643f2469b7d7344dfb9669d6befce17e23451e11a89252822e2dee46220fcb0a68e673d9a39e1eb37894e1998a29b6f41faeab74bb46376aede7f37b0cd32e4f47daeb471a9ea99862ac9efa5cba9d629aed1aa6f1d4cd7a3c23d12dcb0ae856843b90c4b07b6b468ffd826c86618aedb5b5c7952b8645d1258cb9e7dba987bbd0f600bd21c9f36c8f5d91f60bfa2169fbcb8f312a8fdb76154e421adb7611eeaa1ea0edc2abdd7bfabef55e6b435739d655a1ccdaab784e5dfb1cde0b027133f56a5c56ffd1320e668deb3cf5721d7dd58e71f557e3662ac6ac7d666fc6c94fd4baa8e95ed63c5846ad76cb5114969d3a65395aedfd58c9ddcdf3c1b2dfcf6f4d6ecbd56cb95e26566badcdb2dbabd86f1645d9edf6e26ee5dd83ca2de856748bbb90dd346aa642db23a32e757ab76c6f4312760dc3f795bb6f2b81ec9efa04a2ae727b8da31897fd725d4dbedabb4b35ae3ee3b05bae6a5c9669af99f9d86b406a2ed7693c605c9765d8f38b693cc7300de8b7cb70cd963d14e87df8ec0c08afa8dcde8bb00ce19b98b75b15ae1392a9cb6597bad8a528edd9ef46dd5e8aca30dc59ea5a8ab2971445519fb9727dd6d5e40d035530e6dedede7b2eee9ee532fb86ddb53d3e3bb467efed977b57de7ab0e7f4d91e9fbf8b21c983ab956d5cd7c7382a6b9b6d59abb1e1f9f5700d49d7da6f6f88bb2a5fdc61ef7b3cb8abba266b5ccd96b35a314d767a39ed4c768ae1cb69b71c8535e330edf71a4d3d3da59e3ffbf9dd7057f3e17664bfb7bf95a3bf2ac63c1ccc96ded2de90746f2f0335ae2129cb308bbb9681957bf9ba2e1377a89120212fe7c58d0caa1dc4754032e89f4b293fbfb8bbf94a0b244bdcdd67d49e5afbcf0fa2d1fea4b5f2969e5e2b4137527bf3341b03fdf532f2028cf07ec7f044be177d0c45b27c1dc314593e74d91cd72995af22907c13334de8f218ee5adeb6877a8945979e8f2e71a7f2ee2171e82c2c4c5c1aecf798bdc77067737390510e2227db63da078f40a7f9dc1e84ed3f566297d7ec29d77dde8780e7a0cb4009d86b9fe4316efbf6fb6c0f8947a0cb7323d0edefe9088479e83cca40cf40a7202c21c9de721d10f9e1e179b06f9885898b61d9c3738b693c07611ad1ef47721d866f64f6604df46644b85b30f68bbbc65205dfc41c3a76697bc8574c435c2724cb7bed54e32e2721296afff49059f6d0d97737318730765a55cde6b82e961fdc61bf891a766c2fa5948fd5b33357b6d7b8eb1fae03923fd006f6fb0ac6acfc4680e4b9e4ee3d1c88eb5c36dce5e4ed1a96891ed03da06307819efd7185ab200dd01bc680de16023979b4c96ff2d86586bb6b3dbc6c31cd75d999ebc37537b2b2b2bd0cd4dea918c0c8f4da077739f9f3cb615c0724636f18c3f2ec0d63568e651804c25d75bfc2c9448ceb544efdc305793974686760b698463bfdb33cde351e44d731eef38deb80e47b0fd7bd1cfa1cfbe7d82fdc9004babd88a3f9600949a03e86b38738cf2fb75d26e68deb54f00d3d8555e33afa2072f2e796b69540e711e8d941b7dc768cbbff70ddcb9f6b5c07246b0771f7d8861b92b4db671c8d76ec2fb9f185a402e4889f6c4233302ee4416e276368916192dc4ed8f0834ccaed448c2833374548c95d8e11ba1128c184dc7f1918370621b713339ac8af496e27646c910d90db091945e47e76c79505946ca3814b0a14d9460896bb1b2f6c412483dcdd482103ea85dcdda8c00b3d0ed005107217041680905b47c7f694dcb77919ea8c919f9fe17c828228792a21bf7889bb274424915dce88c75442869f4a8839ba20a0c8f5388f20a02874e090b9a984fcb81b08cf03d24018f168e63d7ec77bc437343f192249be810ff2727c8edcf30dcd91c8a3198691abac80dc83b75e9da2a7b96ec15a0f217561c561ef2d324c9e93055fc769b57c93c4ec29adeaf4ea6d46beb00820d98bc870724a191030d9e6e5204ab25348c6c5c8304d8ad0401253a64c9952ca4eab7e30ca6aea2723665f71ed45de81cdcb1def9645a1e541a68a553553615ced33a821d35831aec3c874568cab87437a27082a0781d90340d82c0cb7be6d06865b2f03bd98f13d09dfa30480d5c3644ab96a1f63be5eedafdf4c39be83f97ae58088bf997864207336385cb4bb6b5cd57b639c2516f2722abc6860adb5b69ede5a6beddbc5964129a5f4ba754a29a56f172a86655996559dba655996f576b1ce405114459d259b02455114f576a1be8010c2f9867056fd32cf924de1cacf5b8d2307fc7c578d63be5d66bbd06e18e42c46ae5fb2da2fd959b29d8bdd663bf77ab673a767cf6e1b47e7ec2f83426336337d9aa8c3578fd4ab778c5d511355bdc2cf3290a3304df5f9d843152315637cb4c1393cccbab8f08ee2214751957ac541782a5655f5b63340727c47dc5da3ba0cacaad3c4c703715373fccd94e32310a8815cd588c7d5652224bd537f9f1e7504da53abf254ea68273f68f564847d9cfc6c626efb70244e7e4d51d0867af0e13865ca9429379006b9b946ea0c913b781baa8c21a6e420150dd7599fb8dac107a16e530d2162880c449029bf07a1721039b0eb4fbfb0cd2b23cb2c9b5c264e975d03c23cbd6b40c0a68bef97037210c2c3bf577f4150934dcc9226fee5786c8353d580037d06cdb2b8106b2768a8e2bdf70d645934c941a6682b36653aefb581cac77739ef8a7fdd3172fdf70b8c9ca9deaf12b540523fd32e87134152dfe224bd248df0c5918e98ad5bf8fdd217a6a96efdd95479ba65332f6efc5f55715d75eb518a93e91fd7c9083b08bc5b97893638f056b48939665ddc78189be25ef2c4f5fc3b95a70364ea5154a0f099152e0df502e48ec2af082415e940e30002262be9e77418fede8d271e72c44b699ec8a7f42eb72ccfc2d2c4ed6a324ceeb63c5f85db3518b23c4eff461a39a516e30921c840084ca0e8e89466971ea72375c0821a1041832394861cf1527a27f229f5902360693a11071071400967c98f771c1f3b384b70e61fc679a41169341b50d0042566c8420eba408552973ac70550380214505cc1450fd65082c9d7d129bd22d046018cc81ad06e1c1d4c4e66037e9258041d65fa429678ea2a4b8aa0c25df59a1c2aa4e4098ba0a360047738d52327a39044aee8f44e48eedee3f49a9c27722582060c114147c1489ede9920cb0a8ba0a3e409fb900209396c9104890629724b6e276840222bc1e90bc979a244e9a86c818a22c6a0a3537a3671ca94ac4407002bb0c1912440dc00e92859894e0e5b2441274803863429814e47c148a9df99204fedc40c57e49b979510d1514a14d6e928a5c6387d21228062065818a20c1d9dd2c43a433a9c3ce16e726d7dc8618b2ba6f8a075610b3738a38829534acdc396239e53131aa5e4e6dfa3aa391f5f7177ce09baa0e19cc1bcb47953a609a1d07ebbc82a3e529c1e6f4daf26518ca13973c018cc377d349232a0a697239442fb72368e97130049d30c2dc830b1abb22c6e757d9e1463e8fc8dc6f17ea92ea451fde22a48a37a1563449046653d044618b94b409e0f358e98db89198c74a5d5c7e7760206945c8da8c70cf3c889199ac8edc40c2ec8226bf64b770c02edac073f689a3eecbfebe81fc2531ccd74f8fe746e7aeb980ea7ae7f75f4af391a1dd4afb63d50bf7aa8f265538221440ca1936d3a129061c6941c44ef48712405b91f444eeecbc2d78e2b4fd334e79452c6182184af5faa69753c1d5753fdebd3eab8ba473ca8f7fbd469ac25c8144d751b9cdcc55c51ddf46c6a35b7133314c9b25f668ef5a618f206b431611230c18892e7d421cf6d36198276bfeed701dad5f627da0df2918270a2643ea003750b401bed048c2699fa0fcd05d583dc6db99ba3b4785d88b49029eac14ba14292410a943021786f298311329ca1fd6172ab93bc891ac7cb0f808fa296c8035440a6852b21a955227cdd6d81afa3f1436209c629f2cdb0bbf5592a72aad822892ad4e0822fa2a8a0d456ab90243111e46f90ca304586afa143864c7a62276578224b2c82a422b433265cf813807666c585af180f9c90218a127c51841684610a4c8e5043a92bede7ee33f2cd75ae2a4d42d27511b441294a599645dd489fdd117990252455ea26c27e48bc446ac98dbbe9dd30db3ca05f5158bbaa2bada75621c90592286cf37a12c578d2f56613cf8670dfdb6644b85d35c9f04486108ab2dc2e3008ed9cc8d2529c4839028477184cf20132ed6c0c710d50e0c18705d6f083588a24319eb80b49031f0863967690bbd6624963116576f133524727de196975b4131d9d0c3110362d454727df78f27c0c2349ee6072bda247c049183a5996244c965a6c394e9181b8a979f6000284cd0332ec17f89b09da00a27f33f1c8800d0e360fc8af5fe0c3dd35a0d551d908e45811add8c59f20cfe3082184904908c45d4e7e6c8a667a37df8f33118f784021327cbfc39f3ecb83cc1f238f4c0a9ddfc70085cfbc061564792b26ee9e19f98caed17f53ba467f4220c78a0c75ba467f88fcaaa505da990fb03454910629a87022250c29516260a90502a19df1a02fcfc6753fe40da4f2d1ba5a6f298aa2eec60324659e67599665d4870269f8878ce56c5ce7e292df3ddc34238661589cd8431fec2a18c68281be72ac315c65f73c3bb69dd24eb96418d6fdda53c72e13b32e7b1f0212f050cf3c75a4dddef32c267bbe1557dcfd90a9dfecd505759e7b310de815d37c7e29aef3e01a970cfab0ac50158f8ae7de9addf3abe2a917c33c1e8efe90b5969ab1cbcf3da71feeaabc2109b481b0672e35301d32760c53390f90e4f9783cd743c3e3f15c84bbeb7948a5c6c5e3f1782e033d3fb83cdf67ac25632df982ded08668e3441953b92adb41dbd5bacfab679bc7a3a2c2cd80da72dd0f1efb8dd33eb8c6c5633d5cf743f6dc723319be9a8b96d5b8e41cc9a9e2071715151d7c5eb92ea7abc95ae8a217bd389a7b982fcedec375a47c5d9cbddaebd7755dd7d5d8e7ef5974dd770cd10bfb85bb2d63da27be791d745d855e8f2abf2ad0af2bf4955fb813bdbab0ca7d462f777f71d8761dc4c3e3796dcb03fb8547f7d7b5cbc0cfb35abb9a3cba58c35d4dbefec1d9afd70b7735db754ad58bc36ead158f5896b8f7d7b17b6c0442b7a1639f4ea7672540d5cb79429e2bf48a6942b79866fb7de83ab66d1768054b11f6b63dae8370f7b28aca756f7665f5baee3395ab5ed70d2ef0e2881a6e12991aac4b032044dc40e706581c61821192d064a7aaaa9514dc2089253018e30c661cc1245ec1440c9808425502014ce83051e4ea5c162820f79325bc9055723f59020a94129971443b77749e7183242e0ed0832774a2008219daa086260319ae88410d9a50c2912e8e8831ce1d9de37cdc4807cc79723a607ed3e6e5f7c88ddec3f0c79d789b73e20d926e0549f03bfc785080e122c6442b3c618b2ae82cf94216257851c7e41cd9d902164b04c10744a04209fe1d93030328dc70861647108103284af0a48ea9400aa43045912d74418437947668bbc8c6314559ef266ab94b9f6b69516f4deadaa4f869be289fddf11651de5e7c3162d9457215c7d0d4a758e5699a26991db47beffdbced5195a2289be3c22145e890009a7b7acffa86e897aaaa6c0e7be521fa055a6de509f40b7cf702f2e6426a984aa307d00cb8de2f40e3b0b47befe58187d1f6919993871d78f88ce66804894022b008b4b1696d736431cd4376ebc11d4ef6fcc68d1ba177221f91060e003c7e368e96c74f8f01a347dcd5e890e33f5c27f367881b9f801b00e0de907e816fe19e11fd023fe2de112f077816ee118124f8151f51843b5208779fae823b119c2a29b6281b155c74cc038440831d1ebc818a2b82d0310dd0594315a658f2822ab628c1cbec006d7c2e133f3a3710c68cdb397b3b3b3b3e380be8e0fe785172bba713ff749a4012ccdb79ef19018930fcc00a60d0790119ba0c2a8c40051d1db060a78a4e03135304210929a29c21068dc51453d029430752d031e20724c1f9898344f2c475cb264d40e8907946e6f986f464011f4fe7edec44d9796fa7c99339420d6d70420a0ccab8428c9c162cf18421bed0d949c2e44712628001050db85083373820892dd62085135dace18ae70492e09f4e687af2ed74d6c9dd6b22c35ff2716f7a9dc3748b8bfd32bde264bf4c7f3a3166368de92d4d80f264f3047528fca6374df061815f130f0f2efc0f0ef8f0a2ca3051e8744c8e913324b1031c38f1c119be50827f443aa69aa1086d4083136e88620d25f867a4637262e005325c5144c911cec8a204ff90744c07a0a881159860440753b0a29404929e91197100026d9757c548bd29232680a9432ee20e52353ac91327923491ef2231a1c89b82db70621dc9062a7bc68e1d7b856a4b945b561266d934a47c87c3cb000040c2a1c321cfe7a3d2def111ab2ae20e94df73479325c45bbfbcdbb5494d7a5b96b7563a6486d80627cb1f3f7c40d2bc94e90cb45b52c8c3a3210f6d8e2725a431ef902bfb88eb80f736489a3e388c67d086b40b47bec8a2236600016da87160569615e71717b5e825bbde3ba7e92e414a29a5bc5a0420e9c25719edcc64a59ce69c739a73ce69923398acbe942268639a28eab2b81b2d8ba2a6484d5555e2c89d739ae6344d19a91d50956559945565da8fe91645fdba288aa238592daba2a82bb49a8ef059014a38c91f408a8ada0720e9fae12175e7afab8a1657bd6e19638c32468aaa28ea5247629caa4ac60dd37c40528cd0b22015dbcec439cd28eea5e6d47e802469bd219de69cf555b7fb5e1928a79cbab8f7521668519c7e37cae69826aade29a594534a29e7bc024218a3d46420e946f8de54e193124219638c32c618e524bbbbe17cb263c319468c713a454d4d0729e59c994e51b6e734a39c728b168ab2e4ad575525273180bc2c905ebf27df9c7242ed069220be815966fb2e5f8cfd5e84791e4a096fa28cdddd0fcbc0862f0b719a34b0a3739c5e55d33451724e524e71ce18e734a39c3282414a29e784da0e33cea9aaa6e94df04d394d524e73ce39cd39e734bdcff90523468e5014d57880a40b49d27ad50f771524cddfc04c51fd64ffa00725ab28723f51428bdc899e28e1448923b99f285146ee444f9488226fe5c84c5514f5e69b7460602e11303022d12d4224f270e1462bf201b20086135120a189299a94fabd152952e44912523c61c1134f5850e4c90a748ac408b140dba5af1a1fb93aa5245555f7760781a5bc8dbd3a787969a5fd7589d53aaadddd57d2ce47a656e818165af9b572ad5c2bd7ca758544552563bea095f6f1d9eb17eeaa57c77c64cac9ee970a5f5c570373ef6da890bc887a1034d543a7a92ef5eebaf5c236d4afdfeab0bab80adb48ac0489d18da875347aada3bab11c74233c3702c492855642bf22dc8530fcbdb7aa7e6f57fd5657adf8cacf54d5afeb92d646569dd24cb72c4d5cec6f4aeeecaf73557ef692f6107718b65849ad94420a21acaec35f185a98aaa82745a43c295224cf571548c9735e0a99d4e4098374b9456e875197815849d52e5db2bc942da02c6d963fb4a15d7e768c8fb87d2edfd90592ba1f3db779325e27411b34fd5048c5835dae0a6ebe876f4bb2799dc49e7bde58629bf72e54efc136eff19e4b5943f75c06fa8831220cc2a19c7de22e94bbde9926d72eaf468e91c6e655ae887a9c9c523de54c506dde3b90acb5de889c52c54658aff03d0f611b15ac84fe6d9c92fa0f37ad0b135929518c04a594524a29a5f4d78de8d71b71590712632a868934e0adaa82c910c2c41cdacb197b07d3c1e478b9ed0d48eae995cd11cfb12c71a7c3e8981ef10d1626ee74ec72aa98c84b14be8134e0330e889981848690f0241bfd24054872e702f3b294524a29a59452ea38e3483f71228a1c53621d671c81a48e54089533e3a70b3a82873e4efdc21056d5a1756bba25132b6a82d2c845e2cabf77cb96875cc021b44d35b32977ce6992d3e6a07a401d1d1d9d4c4d78c4030781597241248a31c6f8182384f330cab9411b4f87d29209ce32c8c8ca803062f8ccd001e68a7e17520d8bb22c7c1748ba49ac5c31856ce1aec255350412a9aaa8abaa2c155896f50adaf864eb378a6c5db4836ce15358b45dd25d9ea48088dc1d868c6e2c32373c4142e7099123d9185875445555469e2001452646e686ed091264c857ee274840c9dd7d944224cad82012c1c0646d808181398081c9c21089b230a21b60a21b60e27b5c54b63e2132040567e46ce7f69321723f41c11b7257e53e7c828230b2c8c6183a3996606f1fe8c71f641fe4ae3a412169e67e32041229e50b90bb77f89c690ac9f29dd5437f214f58c95b725427244f1595438594d2c43a1d0523b10099beb61728408e5618420d6af33214438b7c805c3f0fb9205e86879687ce16a6991c07c44d956d7a8a8efaeb17c523105db09b3e6f710d5f6f9dd249adbfe474160ff95a2f03e9a93f8edee2eaa3e551bdfac3dd2faf83f8f5cbbbf517cfd0b979d3835fd0aeb2362e6a83245f4ebe38fb8acbc994523aaa6edd4ea793fca434e75996c5d9e0d098293dcd8807f5292595513ca88ca2d6f5ced6857554b76e41d9c9b2d2cc5bf515f7b2755d17a60922270791936b0f59b175abe289eb6484477423e09586603fa21b01d35f492656ce0607e3bac4d9441e16a6b16ddf4d978113eeec291ed1cb5b3ca29847359dbb4ed15415c5a3a2aab633d3e9e9c87a8f2cac639e9ee24e0d4db23ccdd54daf75eaa0b7e8e32d6cf3a64ca77f3957106b1c6dc52a851a8844263b8039faf1beae34f902e4781aeb34754f2ff2c40de926530c98898c3c71431e73736d469ea6d3d9503e89519781978974c64c736461b81dcf90a99c73cac070fbb322610d931f0703a318a884ccb7b4410c99aa1111000000001315002020140c87c462c16034cb335dcd1d14001095984466489548a324c75118a50c31c62002080084801180999a01080412283ae73b226d2ebde3b20564d63dc01dd19d8f6ba2c40e133ab15e171eb96aa01f437a973805cc458894a7a93bf58030943434477cafffd32391e8219db8375282f51d97cdcf2f1e7e4462b87b082158b1c01044291c504220cea53d6956c758e95f2d47958004d02a8946cb9d518996a46e842719bd279f00e14f480ed6deeb61f90f90d7059e08fb377a08bf321e0fd6c7e08d6db37ca5ca14d6a658a153c9de94818836a1d81c0912c860fa7ba2f4f7445ad58523845e10a3e3b67efcee9eb4bfea3cf93f2ff47ec3114029544bb666a026a7598401885fb0b161da7995725e6a44d7c4069c8793950d9e21f9f96958ab5836877ae666ff34a29332f461196c343198c50edde3722775b4748265580878527e24ffa6b5cf1ca4fd26ef5e59d46cf5f09ee9e1a161e4f1a9fc54af50a6128a1b0452c16af6f82c631069188f02310c5a00cca0b0f8ba6286c03c5547a784b111ca30a75428ca0a72cc9a9247f5e0f91f0de1a06a00c2511802deb6690f91dde2aaf55899c887a10ede968e05fd3216c563fadd63b5496adbd427d875c75de408b8e97d82b91d3cd6118e6f8053de921c43ef485086411f9f0a37b04203690e3390d5e4d8598c3f2bb20be0c440c4aa450e8760e7a54ad3e2ef1149a230ae209094cbc817d63b0eceb1e7804e3d4a67b50f458b2a3d27629667a80cf6a7d749b760d3a0d4cf10589081d16c96a9d6be4e96f846eeec95fb6fb4158f5f8407186ed49032735eb1012ceaa51eec9900d31c8929b3c59f939590dd623cd2f3ed6287ef1f4bbe14cb9e7ae2312e7bf0b27db290a05f2a1e6841899b948d1071cd4d979baf73e50dd455be30885bb624e0ad5cd6bff9a10dc0170b759b86f77a0ec6828260940131156dcffe688598362dd445e7f72abfbea88170cea46db772ed6e88bea365516a252afe3ab7909519ae403a37b12890fe3e0c4569dc14fd9b2b817816dcdebcea24698c14aaf93902c64e2772f7c11a75c8814af397a806ed13549a15536ab0257c2a234819e6a7d1571fb17cfc0db17faf3cd5d3f9b2b0a5d644409c506d7bbf2d17ac6f7c192952a776509c8159857c31a409a2eea30d7e06a8bf389db058bca7b76350249ee347a16f5fc901a4c18d20464cddb79ff8cf0cb4ec34c1fd83cd062e58630a861e9e6009e86fcd7af538cda4c94581801fab6c67916f113702b63e9ed4f98d5c5c307e45fd9fbf5451719967cc47668835cf3f474fb9c905caf0665cd403dace288ccb1c75bec8f80eb1639f2b7cd7aec28b75a2da815682830203443751167e39b1533a5c307313ee79b49c38206ac26828910c19b50090e5325094d9195c36eae237d4ac5f2c4485f424c41df3d7f2ea9d32cf262ffba4bfbc8512a04dbe36bb18d78b16ede7f7625ff02de414370dc37f58844ebbc58ec78271ff46d99a9f8c7fed0a8fb58a9c9e01a0ab4086a0c413e55b656613deb4f8297dd5e4dd8aec26aee6eded25f580c23b8bb708deb1219ec1eabc55b8454bc8e2d16af50d90a7d86b2c263d89c6a02b4ce68cc3c1ea867d30f891e0bb746c06325ef619f8c3ff5a64c3b81bb7435bf8c919083aacc9b15712ba1a58f3802553ada5b41b128761ef1de10ddf42ad2aac7e0f0120b5e4e2447754b38a93730c68b1ae9302e821d8265d8dd15c5b9524f6b91c80abc2221904b2af4ad920377069404b1b77c80f0be7391d7f8e56cfcaaa3ca1c64281592d8a7329971e4303a1515d923b8e5aba8cf7604b7abe15be502347a7b107ee1f49bb59f0d6381467b0dbad02f4b11321b1ae7ac28810993afadd0cf28a3b964e8195bcf124cad175268fa8773d33065c67c6db34665415624a8947e2505ef5c53595f09ba5a68c990a7e3638d78ae41d208b5a2906363fa323509cf5f4678272b977b02adfe464c0243dc62c215e2b160caa34dc2def1cfd810cf9315252cc96154d1e324fe0f4c42c3158fe2263cad69e85bbbbc7459c570f406f12cd203a9a4166687e00bd63c6337fb7fbeaa8efd08af3e5740e081e4c73cd7ac7333b6f2193c869860788a455aa3b875d8e7ec313fb945129a8d901cb80344e618983c396989c6f27a71523a6096779695b77376192028aac99e9d0cc7635342fe103fb04f2ada39a28f1c64ff2cd55e4dc216b2ce7e30efecc34f59374c4b3bc96c071917f05d80587ff1e2826dc4ac5956fd71d641d30b2417b33deba7928dbb8cf800d7ffadeb94184f94648c2707f7f76afa0dbc104c7a83752698787c316175bde8cb7938fe7cf6444618f080d3fdce58458f2a6c04d312f00abdebc4bad52cf03e16f5f111828aa2436a05902e0a9017fb362985b2b5e5930b20493c617411e55072c25804f87222b8bf501a608383d693b792d6abc19ce334f08c4e77783234fbcb9d161e2091afbf6c4d23848aa2e23edf982c6c71a8c24a749a568562439a5568480a8c70415dc5f2a8ce291811452039dd6925bfa2652b44484666a030592fa8129b93f07892bcbf4c4ce01dd18b5ddbc6a1f6e28f163180b2fa482e121a94859345ec2399146bd7e1ccc067ac79e74f137df49152f6209b456751f90a38aefa014c96a95c82292080bbb7e91ea9e7127574e2bb5d35c1f97531e3e5844ac05f009e1821f18920da9c06fbca4edf01352b52873d2c0fb9764b8a9e40cd98283c5214bf9f24997ff34597f4e51d89d24c5010c583b489b0484eb58e9ca855428b1044e66d549ae8eb55bfb2a7a5dc4e3a1821149355ab10312c9fe4caed3321350eed12e7396f8562ed81c076e0004bf6533a2e171359c7821f1ba6a5f8396803965c620d2b86a6e5631ae7b62b74c0f75377775d0c46ed22ea605629a5d88b731c89c6efe6081337ae418d10e00a1109e4c42522540cdd94100d968a89e7bd61fca131736dace522a232e7476908dfe024929b128a5b1593f3604fb735a5ad9709d3827b8f83e909b00a4e3ae51bff0be259aad0159c97331cfd0ccfe20f28e77d0d18b91c71d5df0eacc682c3609cfc33d841fd93118f7c13d2de1ed1d04f1e36156119d5fc15f7730a9915bb22937f344b0a5114ffab27765efc144fbe39a8346f9fb0cdc8175ad53e6210edffa8c6292588109b8015d7ee0071f305e8d44fbc9614524b1a5e223ba478399b7d92797e2318741cd9253d86243a511053a261d4c1e17155b15dba4f2ba28df69a7d01846c056d369dbe1afda665e987bbf2612054940f443b8c108902f0d27baffc27d3545a6379f6860e1bebd5b0082d703fa5301f78584764148a9c7d970905750dc587c1a641e9118b4601f8fb4d986cdda969bc79b409766cd03780766de548af55672a284e76d69820e6d9de7608afc08adb791706fdd872da1f9171289879afb8cbc4910604e58328213f0e2b0582390e08d4053e9fe45bfce03ad5057a7344f18d12a690f93b40eaadfc279aa0f9e8158709354c67dd9576da1fc60def8ae2194e8afc5a56f85d6ccf87a359caf986486f21c17042198a76cbd200d3a12de7911e876325e02022ed02ff991f496ea2c7250f0e556aeb0ae9217efa91b825ac521cf9a2b08b09b1805d91390c11ab55f26b85924eca2f862afe750bdfd40f54a8efaf22f50ef5a1eb7480c0f6ffe990ccafdaaa1cf546ad6c139c9e951dab46de9ad02ff9146c0f4d222aec92bcf688d3e4d23c83430316d41a10bb75959fd6a6028c091e662304d29f0e1f1b525bacef602f37739bef11827932a1669c6c17708448ce7902b9eccb3b3b22ec23fe48720b21c7fbdfdbf8c10a21d908f9ecc13a2b9e99ea322be43ac1890335b9e036ba97706693922157b3b292c9d63ab48e59927560f20e2f144c22a2716d51ea27224404c4cba12ce6b5a2e5f4639c0ec3534206f43792899854aa8449ac467f2aa3f745cec38380daa8da224f086e5f7856e8a32d0af5b392efd7b78f391321d3d4c5f41fa1703c02b90d317b4b54e3d083c9e5bebcfc6246384a7c20652c5232a6a14a3c013cab5188f5bf83409cecc0d760e1c1db31295660c57e50b941268d3f0ef6f96b5ac4969c58cc40d3e26d3453ed0c45807041e470611da7030cdc8ea0044f8f1d8ab51675c29101ed8bafc92145d18e9cd18a48f58cd72005965f444919c567cb39c464d3ce184fc30f7e5df1aff89e04c5bd4bf2d3f901211696ea62de5c6fb381cf7cf81792913543a1d1ddbf75bf56170595a54f0d9220894228886dcbf7ceabaf69f25bdb3a36dad2299f6a85d840012310f1e187c0ae6e781de7cb77c38109658bcbd9616e76c3c2f02e1c5da63847f009ceba1f77d5bea4d71320e7fb4989938d340dae218da2a4329f51d314958de8f2d578706f5cb853b05246d47aaca8a90238f76c2c0f9cc70af5700c8d8c57ef83723f83286848fcfad54c1ce8401a9801838ec4966fba869b18664f6a359e013ec80d08c8fb06eee3fba2eaa168308121f8c26c62b5caca8b450ac68e806ed44fc208b0bb27bf58d9e4bcf9920e2fa06ae8e7afd0fef7b37256274af635ac7cee45711a3f1e56655b2117a80b9b592f711b94cafb1d4a4d94d19295064fbaae593ce10100144f1a629d45a0a03bc46b1e2301c1d44ee338182fac0e069758da2f013690e2a18a369c4e5f8984ab13f93aa189d7e3d8d033f79f8d6a3a1419a64639eef45643c5e534165c7fdf956e12af6be638deef261963d660ddfccacf81587e2f5bd598b3bcd79cddce875edd00c9a7549b2c1d40f214d5159404007af1eddc79fc67d1b98f99c41d9711d5371c867fc9de869c0ac527356572d5052bbeb5c866468bbb02a359d7fb7ed4b77336e5201c675d011b70e86dd2eb1025fc01b608f7cbe0188a8d3ce51d7de6198e9b8a05c0b544f0926523208389bff5f740a0c30592a13ca34feaf2f9c1ca9922334830147b3c98665b5001ae3593740de55576b305d27cc9a53dd3cd30af1e8d90fef96460a9a9ad43e96defd636bc3fdbbe74408bcadb594f88bb8aa1b6b147393dabc8f64fd37b14cbeb0a1ef798ed6943fa205a00107b3cd5333242453e1d94824f67bfedee1398c275ec55f5e0e08ba51179c3fbf3e9b0f3f0513ef1c23642b0f8b5eb006ad385b8f7e55f26476f3a299f75bd06077643ff5de4ad36a450d2567a23338379bd2191bc21d5989bac1aac4d9ffa4f90dd2d9757812c23e2360128ccc15e02a3aa9a0e05f6725157525e68294c14b5be6945a0c07c910e7a937415d2a97b8b774e712f383d942104ca6c8d7a220c58d5ebe165dbcda04a40a27cdd7d26e9495c4e3366861687224584af2debf7c9cfb007daa5ff21e52d91ceacf1bf3b58891cf9a8e3bbcc23216a8119ee4f58a3d59f081901adaae2b840485855f7df82aa337b0cf37d007d713fa144027ec2cf433e5ded883ffb0076f54e17ad171e03ee5c30b50b86ac89885338bddb174947049b14039fc86490030d811ec5d601ecfaede30c9dcd3b459678bab0f471ef1422591103540eb0160a5439c9e7e2f54b4dc42c8a4fde5feb37af836bcd79c3c3687ef27caba1fac5c9d3361308699b9caa6c08a64ec191884b1783f73d2b48d39b39d14200f84ace508e286b69fb47af8901d62334dde040f300c2fc5ca556a53928920b21acd16a179dab84db2da82d3a0f30834cb4fc3d1e442e542b3e42f69ddad3118b7e2333d9a4e9f90873be65f0871863a9a65c32163b25c96125d617abded75158fe389046673ee4a5d19fe9bbdaefa9861de1148a34f5649cebc13f9bb5e7d7cf4653b3456e5f0fc8f81df826d942f32cee2a0e7b521e9d83f2839c8d0a5325cf9612361dbe10fb4abe413e9b59b2f6b57e7839b604b80ec181f5dd1b291d014fff46c6e46e6d3e54eab183eacf458f81e31ef425a1f2da34a512a660c11b8d47d64749afd3d6bc54b68966a29a75a59fb5a4e3a328a3f5ae311aa6a8797e0a78e8fab77347fc26fbebb870834675d915bf3e5f9a315d129a233de46a6f8f20d09665f030e962cfb1c5cc5bcd5dbdb450912d4707975114872a0d3d59d06390e53d1a60a7aca5c56422e2683b8b9ecec7aae4c020c2758e8848470bb323f560a3d660da083929ea3dfb4bfcab4aa00da88e59c07569391563599d8e5bbd573985551fdada1c8909a823546ba55b34347f752f66e2bba46b106988393bd6799375d51c7fe570a51241c52ad2852316a8e1f72a5648c5d0b8106a6f4219f1a6943ccb9f11674189d78adcb0d0206108b21ab4be1690adf3a6f30fef92b751776eb8a9f382af1058d95d1d98142f6cce40238bb20f87cc30dbc9317ca5356eb635331479eb3af65d9bd410977f1577b1235f520d7f430b989d508d5475ca44077ed2ec32333680ffaf495c79389874f3d48db891e07f79ca607d0d82b9786c6f6ca222f4d9d0aefb7094a9188c494cd2581bffcaaecc822816e12db49a7fb42cf3037c3cc499638b4572cf598b2b96a0c909ec618f79542cce17150a56bc6df6975390efa32e2c799cedbc1de3673aa1144507cfbe95f8dbe2315741bea988ff9e5437a32a1d5abc9020e0474307f663a531fbb4637970d374163341aca48b05001b315b31d62db806e888e89a4ce0780b8ab9656e7225d769d65e81ea0671ee6c75fbee12334c7007e31bdeaf6e18e3820929d15729bf2b4f1c4ce90386830e5036b2a1e3fe2f258e1fb9b464882d871a65434ca6527c7dbb86591d51f0ceb71ca6989a48bfceae72ac6037adcba45cb22d26b6b1b80ff61599e7dd7a3ba988d4ca49e167b3ac4b8c70e1d0c88e79d887acc7f944907631509dd3b1c8550fedfd1608381d5ee61c9043ed41f296cf6ea1c9ac944dc8f6d2b251d135ddee530b282a6df378f8f8084a7040e7f21e5ef27fce99b06e768dd3b1f8cd829ba2cca0b21d0171c4efc3309584e5109135dbac415470bd07cbac9c492bfb29d60b100faf44a83936fc7ea3314e661c3bc915052c706fac845435a98e0b63f12391fd8a1249cc970a705a66bc05a4e73771f6cf64259bdd64edcd32e3e704a42bc3b31a83cf7a31ab259cb6182fdee8906c8b5a72450391b60ffc47caa39ad6afadb5e94ae48a4fbbd4baf215d7a0a690adf6f4b0cc4c65fc0a01b6cb370a1110605fd8981492e977a923eac1fc8f757f4e6809dd04eaa5339fc825d017403e9f39f1933e82cc8f1468d46c037bbb16f904a980c4849e37d91ea51b8add5ae5f1c23d0297a7a9c1a10ac6d16a973305c5cadf15ce8cb536dc46a54154d3e3b89df788ed04ca0f414784327505e27a6b1148ea6e0ea71e78ada6ce41d17d12940bd16b74d1f1b6fcf02208f250bbd74b0684679fdb294a0dce39566a3ffbaeeecc83000b0d07de1c345dbc9150bb9bf2b360202e5d3091125f4fb0db241b85a09d06292d191de414ef021635f23564844d98a3eaa212b439d5d50813450d97bd08c07ae33ea419181490846bc048ccaf123c80daea754feafd37a84047d6d983ddd50e6002a279378020c7d14520dd9e9672b2b837e6d5dcc6694805c916900e2e90222cc0201223192dda8ba287b6678007e45c9fa83c06af013be227316452a10bca28734b488634560eddc86ece3e4220680189bc05390b830062b6b4f3510245cd215c18a40e4fcd712694e05715b64fdba8e406bab0ae475cb28b149782e86ae7f3c6f8176474a95b94102105f4c2f33e5136a156cffa896d2d3e118a37c0a5054b5b4018302479a38b50afcf51ad905442b4e6af42d59fce88bd7897e037fbee1bebe1204bdb76fbac0f26c39bd65f84f9365a6429cca1cdb05c6c363806e6c702b80f4acd0a752136e454dc7e843d383d1f1aedefe9f56e2212d164ea993dc86b73815b5df7f7379946b30e7ef270b374d1f99b76b808a62c8b57d222be54f4270f81be4bdd9a01c2b3f8ea153eb51cc7b13c09c87ab63e102e38b341546021626015e6462af5a1d9e1dd3096064b39be20794314c801e13962225f1dd95dfc11a9556fcc2e650040c9906b0f2878ab8635641238bb4106f743b5500adb7c0b704b4fa9fc0f89132eeb214be5a370fbc68775f1d57e9b8fab9573257c82362d74a619aff9e76073aa61b4af918fbb43ded14140ce5a78b515e45427e7d25ac6984a8ca8c78324c2e402d9a4ddae2b1c0fc0710ad3b8041abff49cc30d0154b95945b3d29f7082e3900f5e303a8a1d44d7a2022e20fbc392f28b62fafb52e1402e6d18fa95d7744a31284942632c3cb82999696ad46727f8b0887ee5a8c957f68cc030b186650af4d10307a9b2fdc3bcc2bfa2cebc8dcdff5c021d90e382ec8710fe85ed03a01ef2f1f848f7922670830638164431cbc0a4435afbc240b7d7b0e4994c7e00b8287b9ce2ade03c8af28b8e2425a60cb9dfdfa596f1ee374c7fce403901f4d3228cf7b48c3f612e42445e1915f5b18750451590ad42dd19c215a320634b6dd7397a2211e898c446782cb56c07bb513812ca003d245f7fbfe3f741aeb02286358aa21fa70fedf1d53c6407bd29b87f4edd31aa822a76fd343d0459d491d0926072a2b511342873c5dca86ddae412ec0843def7d48f9fe3a31bac4b51cafeb378a824eb4223c63ce370299d8200b77f15cf2c629f20da99421e5f4cd3f3ccb3a77925fa32bd8ef19030f559ffc652e978bc03053f544fe803325324b0dc303d72bc98c9d40c4f079eb9f96904d442c90bf30bbf76e76189f919ad29d3139a7685a24a9c8ac6957f7e726356de227e5fb82a49bbb4dd3902467b2637af15b438a1aba217580297a2600a6ddf9aead4a3763892caa4987f0b38ef75005be85a66ce231397394c29c3f9cfb67366f4910844d2fdcadcde5e073a184f3186d8a9202ae158a54abcb4d2d54350e0416c9b0168064d2a77341bedd73b7405713c5d44ad1f34f81f70ce16cd36fe96a2637d56c9b021f51b6e1569a67a039a4b9bf084eba194615b1421c0eda36c91c85ad41c0b7862336059faeb3c410314865fdc2a1b84701cbe8ccf29c8ee0c1d45a2122ced6ad97aab4888568375e5625521c3ab8bf29d807b797975c2d68202768bb3170a5c2f1c1a2fb654e2b5329b0757f9d11858b9d824d64834621d0aa27fc67240029a6a48825d852a9a647c70d94cc83a26ffe3226545df98b0967abd150ff6aa8593951b90ea27e3403119cc2a91e14316b3fddff1f0d6b1095e42cad4e7c44f9e46b97f2e40a5e9a9bbd4a2b430ec7a1a428d27a045ee2a4c9fad46a8e4db6f77a40080269f7d641b0e54fb585ccd91bb15fedd4f270c6d36de32877416a30819b13bae0679bdcebded49088c6a5ecf125d020d32300713cbd2f28cf0094ae68b3e49c070b7b7be420cea9d9beda1a730cb224b63046928c02c47b0373fa7a9ee2ca30d17f43cde57fd4ac182044ffe29c7370cf5083448524dbf108e0584a478e0c5f87852d391e9a01025b794bc808b57016231d3af9f7555c56eedd94cacb9c60f91a10197315af4af89cc59f242c2fd7bdd846885fe1dbf25d5a11390b75606c167356f99001bce5a2f38675017673c3b51955c4d9f0d02d1ee99d8d15222ceaf85c6406cb1ea75a01d6a5b03e21d5af5ce816681347b217576369885b963459145fab7f1d5bdfd1d38325edb605082f81ccfc79c6d8c9e0c37114da2f552a4dd329018c454308dfa70e366af394c0b30600f5a4c69760a52a01a0ec36211bafaaad07fdac3ee2d1087ed1d17668f62e883e5db6b644f475d7829e232a5ed656b1e6e1d47fd01a46523fa7a0499206fee0d234fa5e6ebc1bd1a8c9a49943b2d3fd3d8e486261e902087c565267110874009246dffba7056d96e1670f5388a71fc3624c5a248cc43a61e6103e31538163a291418185c8d1c23d4ca5205a680f21405293c830b70e44bc9b41e5938482fc0627541be061bc3da031c499f141c3fc0741885eefe102b0bea2edc160d0509e418aba9c7bd4ade633e5ee8c0c02f235880ac4eed64cc6c1bd91a358ddc82883286fcf0a4641d4fc0681c7b197ad654f8596c44f4e74499c27cce1db404cfd1b028695c7d536537fb3cc654029c50bc7f55c06e6ad33c26094b025f037e2d7a41961217b7a4d073b956cabb80aabbd037278db74bbaacf21480ae83c184965dfb5234221db90c994a2fea6603134b2ade8e7490916614b6bbcb8c76135654d41b1d3bf9d3f24769be933a9b4ed7021727313ff34a0f983702d0369b125e28e060349fac096e45c998df0c23cdd7c574c95d6623e611da2a59adc5bb48a5f3eb36181cce2b2ab50aa97f251c461249cb2089d7b5786b2ff8e321c838338c8e6182187754f89190dc732cd1fe653259405d13c3a49fa3ed90387c345ef1c24a06c0a3bc2ceed329e2f52063574780adcf7186f8c39c2b8a3610ab96f42421a8fd2830fbc28908ed47930d698f844905d6f8c717a89b390658320de651302453a0afe832f394e148fdcc6aa4f5a334cb0dba389e251c5cc6dd6e78b9d471fb3e2eab240a160fb67f2fe880eaa45723e0e953127f27702db1168ef0d2a105e52459d867aa1f8912b2ba000078c99f8c64303599813d3da468eda4d29b6a205413e46a3f8b808bf71d6a5586bfd5774921dec5e3bc6efae4558d72ef2fc50c7e84610d5954002e64a9c0a310a84358e349750c13b178758f40c2a8281c6358b87f802374afdede2c4bf056309c10cbce886c6ebc425985e887b482862f2fb07ed65eaa874162d984d5fc857a15e880205e0b562709b8fc26d10c2550d25226e6a6ad52e81566bc95d06c0c3b200f5a9787d1edea1e72814174da36335dbd4fb97e61eb61383fa35099ca6bab731ebf4738f212af85fda13f449d4a06bf2cf8463ae0b4ed5e927a9acb702a53d6c5b2eacc3c9e399bc194754e40237c1113688258ee17d890a37daf57a4633555604f9a9287e43ab68e1d18b8e34c2e1196b453967fc4323813503af5fe3298aa26762a9d37d94a80ba4d86c16599dd6bc0a65d874a8813a711820f1c251753cff7cb7b183321cd6653af9b1428632469b8f68a64d01cc02acaadc4a88277456c2de9b54b6a7a01e1d2e99ebcd3c649d95841c097df52d4db7d33fd96bee36da359afb98697cb20d095064c7da938d3bd8ef64dbe340a12f447f2bf74746ff0d19b46a513f949b989c32f832fc69aa725c0846ea9ad5c4afc72d43e7ebf0c3a791ac6b00485a055b9ef4c2422ef4abc39a16c6d33bc8bea19b13d90bb32b9d73d52338bdefd2fd7e914522d50d1cce087104198f95ad4613a8c68a0d2048bcbf2b12103b1aa6f0b6ba3bbc1e69c196269e985d48f4baaa326bdd0f3e69e157ef155c5e4b322d0bb3d7c5e928f4d5a2a8b07414e3cd82996deaa49b5d40a064ed4cbb9c3ebce9f320f18b230b3e097f4207ce72e06d1bf248b2b7b0c81f0f6e7e4d9fcdb39f652adf2f56c4ec4bbfbca52be9154f89e087a546ff90c11753c2bb7330c3b861590bdeba5e2d6b55294a3af859eaaf62f6803d25470801015881983421692839d42266ac046c4017e1b12910fab9adc7b0a8a41d3c535446705a97b1d1b01f45ed160b2d4ff3e7bbe32e0576ec23f25af3948a55e313bc50eb84865da23e3127b3bc015e7c8f656ddefd2f9b30fe2a5df2c846eb7165df749f2f7108a57acbc695cc998c3a9a95f4628d34fb8c8c2b5d8b0a7a172db0c58943d504502db929bf78cd9ce3219f72dafe31dcdef724790eb3cbe187c01ab095b43accb5c4c67c3586d1b1fef8cc460c595a009a813c0611133a0904795e0493152b172a057a1990a0aab17f91f8cb27cbbdbca4862c0e5f60706dc1cfcf8ecbfa94b9a53de623e1ee040caef4c6f9bcc4337bddc7106abd45a290006cb842d1dd510e5031e122dd8f58090b8dee8dd20ad3a06c7aca730712eafa6e5cecaf7867266c6e3c7873a9d13331c6e6256c33c5fc1c5fd7298975ffa485dbd30d58b250491a708eb8600b76bc6f14c317f979a1d2c035f7e2e5c1a58403e35d22a97025f79542d5aea8712edaf437c6a5ef0c5a2e6f938d4007776a2538242d131b8d9955c18a5798e0356425458bbe767117f9b5a233ac3712490a5d18dc2f3fb5245fdb9711ad67ec80a8e1b955fc4078f296211f0d82630b01c7ae40696ab4b0a293fe03797221f551eeebc3ddfc9d6763327257c6df0a3c496edc04922753873b5d685c2259a7ddd878529e74b8c8ec273288ef044e5d92b44ea276accee14da3fab83baf58b85e197fbbc8008f96cf86c2ccb00b348211a90a1c4e2172dca91fe4e44a44a61f6b44fae67afe2805c16e8db54118aec23a44d203fc83c98e8a8135d1123169eaedc29a36100c6e16d4f17b2497d2b3f9c2bf96517d95fa28e0ce3999324af57d3027381424f3b9988427802b3e6e5a3ca7a6e4cdc94d4b81012941b42271411641a9758edbacd306ea6debe2894fb2da49475cca2b36092033010330d431f7c54a8cb93f269d50949258472c4e8640990d6e8cc2fb7c3790f2f33201deb804c8364fe47ec907e17391434b16f083f3f5d9eeeae14970d530f675d2a51890bed9c3d2cf1728fc38014b6cf3a15af19208155842f796ad0755c05bcc1b13931250020c035540232098e06e8e4177dc4a3a08cdc0b6bc28c75523e84221cffc294281635df82be8e343a0decf6ee8f8d198c9ec64ecc721bdef08e3f5ecde57d00e74f1c4f51fcdade71293544df40a8fae64a663f7808c11f9680aefad20ba20fd53814bc4f500fbdc60386955fd6cf53c635b1f44198cb49269b0b47aa6106eec0186e2576a41999bd254dc1f0e8af45445bca79220b7b795a72e06b22efcbe484b5a167b41e4d4ce74dcd2a22ad4703e2b5aaaa6bafc914b298e5bb73a6bbfb34eb5cb27d2b025abbb67ee0fe23072f2b7ac582dd1108a27bdaa697a7d506e24af1b4eb757984d52bd57c483fc0f04ea42a72261cdfc38d4cdaa326fde7800211c7831c0514e250db9fb811e90464395dc2965e5fa47e2fee79f6e97855001fa92f2a0dbd9e7852e462c8778b25b83fd88cb5f81ecde9f6b85b3a45c95f420640544c8375c75a07b92dd49e85b96e170eaa80c2040ca74d6dbefe5bf6e744a33b0653074c0f530040ba5c7d33c0d9b36d0252277c34cd64b2669535fd0162abbeb2bee077113aa18169d0ce219fd5f1731c8bb35993b7b692fc83f32f14b404e6d4586d3fc3ba6eaa701b812e40ce5e87e65691bb6f08fd70025081b72da167d8411316edd9b49bd866e877dd8e8cdc4927d9a2828eef365380d808bc040f2ad0bddeeae6f34265b991b222ba14c985298ded19ec1b70ff9f5d41462164d6e174d70f6de746239099bbfb51001e45ca8d9b8d3401155aa812cbb0dddcbc0f0ed01f39197e17d1f599940bedb056bcbe1c7c5167df6f4967eb13a8e77f1855eeced52f27a2aef8656861c00f7b4b8da223fe1f15cdc7a8203eac01e7547012a7604b29bc598681305d4bedb9834aa8b9778af8e781ce987242de58355718afe0ebfd42f3f304c6486cbddd310f57ae3316a60ae2d9b778f53b6bb8fb07a06eb4fefa695e13ec15e8b5303a6db6973344f92f6f03ad21675853b0190c33ad2df4f3377ac5802641cfc8197c36029a303171a8fb081f143b4293e0c935d0050721a460593b27a5cd5935610782801241615c8ec21da03289474385fb09fe601bb7b88211148a1f7dc518e25028d2e87241a2a5623a2a3ce416eddbc39850e80241556cd91f29668de2fcf8a9ddeba6f68cef3909194d39a5ee3af26e3c37e49c42b4cccd4bdeeccca4f823de38dc16ac279cfb4894eec243008d51992d450581c60394a2081f756ed26f81a6f20cdaa72de77cf6913cca519b7cf46e90562529f45815b36412324bb48a6b7157e09e28e862959ef496c427ab5e5d013226f9049c80638194709ba0750e2515e2c20628c68ce460b8597ba54596976e3e4a29ad0647081607f168edfd8e20948983af43964917e031c56f9815b401da9732ab7bb2ee5b5cff6b5abd4808b793f0655753893569946d6e74ee6e0e8029a768bda1ef0afb636e8ed040c40782706a00775940022d41591b53ff411a17bac16940975335874a505964d71a2ed0cc969be2ad410a43ea5c93cf9dfdcc5b600b52118a67a26799fc608f24ff3bbb10572dfc99e0ea3f7fb5458adba6660da90d87597f91c77a2c207bc8bcaab83e16b956f8e89ab8473bebf430de67d1e3fc34d8b17dfcb7d34c0472764d45f05e739989256c12adc6cb4535bbc4a8626f822f0c8ca047e5b146cf1e27f6c9438d3890ea14b7b8f0949ab95454f3f90486ba7593969cb4e02acaa3e2949d79afa7814d623359d08e507a878bfacdd9193ae9828c843eabeac95d45b2e0c79903492f24771c56272b8e3b1acb84015c325bd5034807128e5bb71d45cc2b33ba7b9bf187f82ea6c5578f73b33848efeaa90ba32af8b91f19ce621e9e0ee7b325dabdb20edfadc291c926189729e4e49c17ce81dcc9e4d7be89a207bc21793ce208f670624ca080b59165a290a807f0f638443480a1499bc92e8a4bd1a1857bc4ebee6304c6c9d4875387b30531d6cba8ca6ced83e36e8c93af668ebba9e78bf3e0f5c7eae4fc14665817a4a06627a9e1ffbabe53e087c48bed9a51949ea3bb57acf890313ed3d790b7362984fa269fa28329da9505296e0ca3632b6efca32efd68fce3a2084a42609555ca5af645ae9e13a60e0ef7ed7162cd47a9c814af82a7ddbf15e9bcf0fac8d39f0e6c26fc18d556366661d09c49dd914882388663cc1583687b3380c854e861dd581b38ca813ac93260ca2748265a442a409936b4a55a82bd695c5efd846ff80fe56f0679ec2afa3ffb26c6adca900ab4769d6ce17fd5327089b7b392ceecfa7a078df71c2fce8104d533a09ae60a2c960d387c6e7ed7bf0a3db07e64013ae60346b46bbe884935fc7a7efd1fdec97242fd93aaa048f46c4d0d1d29bf687f0078da5c469b98857f305cdf50650e88fcec5f068f3a7f91258a749763130a839156c67522949fbdf99bb43d84bcfd9f7a56aadd2bb0357125cf02a14ca65f54f9677eae243c747d78a0bb8a84b41b8329ceb5b029eb8510d18aabec190a559dd9fadd8d5e523a7ee178f18ff80d74cad220a128bc26a95b8126f56a4426b484c31930df57a43423108981b60c5ec9cc7327a2ec3aaca6bb204816f99c2809a2ffc5989b0e1a101b37b75dc47cb816b559bd6d47301e5b33da1a2d92e15abeb5380c789616cdf0df048ae8cc4fe10ae146c843edc1827b1c066977e1b9837841d7a27b87873038e9951af9229496b12a400bc4a0262094ada52bfdccf733f37938840121c935d6999d59c8369e85b2388c6b4bb763f041b9f3e5f79a6e17af7edbbfae0e8aba3d2d0be75430ba767f7880ffbd0dcd3fd1ef0e4167df0acf487d2ba2d0c060febb48818891e65d41f586d1075f85964e135c5996b8b275a4b2aa54375baa74f472d38201562bffb2db8bd3c836ba5d8c5a66280f5dc3a2c2f1d77747005b40e76e35471f3cf5fab806a5119fc2c6d560d69b3b0077fe0227755d0a005189f8ce1d71e1d0fcb2eff97c7bdfc99f1607175075df7ed816304d32394a57098126a65e2fa42d29c1d3426422197813a106175d6c90c5d10829eb4357b59f3bfa7e328b74e16e492ec446a48f697309a469071d0aee0a32761706b5d724b0e35bd7e5dd861dfa7bfa0ec56a16de8062301fc99cf4f3a60ca5cbbda99d5abc754a21da1cb57ab41adb6e912e47106141b98dc5a3286826e663f2e6f7053b5c0e3b8bd4b913a68c0df7db8745643607a0875d8b5dda6865b8441da591f74fdece305ad037ec4bb304eda6486eddde9a7b516314b3f21859a401f3dc3a633339155892759268e216dc5cd860bdc2cf1291590da4271100637c9e137b2b65f6e605766cf16672714fd5ac8e23e0bce72cf59941110d94bed0be117331d092a6138c24a5f1c8512c8777acef5402a3cd1984a97e7de3940b5c76075fe3c1046158451a4c8450c4b3ae5d93f0f4ed07aaad903fdf3f83bb40eed23d6c84ebab62218a10d574a05adf363d55b3743236dc82d0974690c7d0ad50a6dca3292ed5d4578f484214252e55101237bd5f32076a9f302d916c98fbf8d3a5ea72ffeeb5773101e9938376a97bda17be0f0a90a3ce32d863c54b84e3bf55c1de6b6553ac6c4961d574f050bf9fd7a74240ca62a3507b71f0ae2dbb08fea1338eec253c09010b0b54375e45a9c415169d20f9fcafc3ea5b33b10f7763e98462b86e405b7da4484887afe119cb11ce94209937a2ac9e33fc26a230609855b80c387fed4d81726e7d0787ed61af1af62f3120876f2301a133a4495e73e91bd9ed30650ef4195c8343a89ff880e3d221f836ec345dc9eda71af0cf871563a2a688b2de14a05d7a357b0cc51032f0ea08a06ab541177a63c074be7567271d02a133f9181b4821944e22e1af9d1fb83c889e98e737bb0990901b4f9cbbcd42e897e7239150d4aab87a10b0cb9ef22db2148fc32ccb993efe26300679d0c00e1dfb951cdd9a64b89cc5b48a6d30edd056ef4351c4d5eeb774cd7a3a9788b9f4e71deac3776dd50ed385b57dd1b7d19991abc1f4c97602ac0293e5d28b53b1591a3182f47c318385c2981d5e5e05c5f31a20d06e25fff9befd2757491732f24f76fcbb6433e517ed0b1103b10235cf37753188a938ac42f6eb0d8164217f1fff905cb769e7e9319b12394a6b4ab3c5526190df506dd306b277b6e33b801ff3326e38f450c36dcbfe0159a282f05c52b68c2888780b6a2aa2380dc271525a45140d1edfb690651ec1b4d8ac6113b6dbb1bd39b46468c3883b7c626dfb1bf9f19e8a80a7a4e14fbe181ad5d91b079c45c41b8ee2fc96b3b6020b76cc874541b6caab6fcc494cd873220244590036f40b12af55dccf5138bd808d47aacabf139eb15f2518b5845bd3d4009f2325218c70124a05889ed7f505425ab73dfecca1faa91237b68355237d3de3f71f08dedc09189566acf354842c4db4f85985c2bd1779132d18b222ef8b90a240247d143d6128d0f6a3b83bcf2977f1196bf67d17a0e48271d436aad836711b9ef7e14a59464dbcd863b39ba508db6bf0db1e0ffef903c8cb015ba63185fe4678475d41a73d856636952a0b4aa1b685d2f8a628c4f39708d5cf11fb19bc5c438014b97ab311bb9ba1f03093aa0af45daa50fe3d7028fb48c4fee79069ba681d0b0014e4caac900f205848ca8f7357f1059d857d654298b095de47cca68c5414e60be72ed77c8430391ae12586806b6e3b5c4923e34a6019879027a5300db6cfecb9d6fc1d21de7f9aa97215e4055c573226a73b26bf21275106d0a6ca6a63c7c494fac6021aefabbf5357985f6f1742cd312bc640d00c6b751a034182b26d2d84838300c668b52c63aced88c80205b975ddc8e36350ab7c296450dbd83c9ffc6340a87fa8318b88e23dd31e41f4b90858fb752f143dfe0c288b9c110e28f61fe95ea649f8e8fe287065b378360646413aad01d256e535e830474b797ebcb0dee1fd55ef1d3cdc04a50a44a012fed3a52e14bd08beeaaeafde54bfbc8af3f1577d310bffcb401f6a5d5b7e7c1215b804b689e37fdd25d96e910f40b8822a4020fea69e60ee25a967bcbd49574059a7c4d5aafc952f5a9ae5ff44cd6f31f77f8745f00af5d9432e1bbc7f7891b6adc9785e2d739c5c0fa6a4a4b15edfa19e814badad8eaa39fb8b6edff82447272a3e4810eac4e1064f95a15faff45f5526a930be2fd14e1c89fb408e99a2a50bd509b2ad851d365f572011a709645522fa0391ecaa8b5cd087cf791653292184215dba859475ec018ea1b528830efa27b7006f07b3a83460754a7ddf12e6822c9c208e38a78e2cdfef17f0893bbbe3390e372791705b4c36bbb6d8af10586f4c956c97b7e1d8573a42bab0f40fd3ca5e5d106ee229600e85d96fde98e8f33debc9d88775912d16ad92ecb7c09e3e4cbd2766ad9500c28bc901549964786b54431cf0a0ddaed4a49785841abbd46765d2e21b046548a1369ce3669295f885b930c0b76b08a562a15a3b8f1ba2cd0c1dad6ae209a70c54af3c4d4c1aca72e823b837eb581b4cdb97a0b61c5b980fd809596ac9da3ba880e56f4622b3ee6f9712e2b4b83ffef45d4dc2e451a2376b5723705cb994896a8a2b6beb357abc461a6823b47f761a662134f2f132197d868d50747ad26061f8e31850f6819f9d2caaedf829728a12c7216882d9e104b51fcd8629322416ae5f3e114c948164fcc970aef7af0a4d3883e0988f1b3976208c61e1c6ec3e1624f6b4713b1bbc852b62cb43986c9c0852269462061d0b4c4fb15a5f1e00984db652ba52c066e4c46705cbcd94301fdb8d1e4c247d046d406ececb8808b2b85ce640b693219c6c8c61810e671af5ebd68e9b1dd648484bd37812211e8d0289d590a5c952856cb83ee0ba95cbc84c1e6ee78ca3c25f3edfb3156e57450353c501c70528450130f17b18cadd78288c51b6ccfcb731e958ab9d789ebc492e716083b19bcf18d32b9c9af6d68c93040a1bb4a0c6eac2232d20afcf3f13a5c444799758796a3e88a53942d3f085b22165923c4004c571b704d9b6817321b90e8d314178c0e2cd2aa18925320e02e80a157fe04f979fedd7e459bb9809ee4b485e795554a15aecec7465e1bc8b3e8df21e9d2656381493fe3aebee030e716c7f8ffeec0d421a9058c5e32dd941b708419150087df329fb3cdd0684b28e116838018564a1a00e13370d314e403fa3bc9dece0a65e6a20cf5410fac7f8332e2b0e305b65823ee48dfe4fd09f1a57348b4fa2610547d3bbaa1a77b833ed94c540e48361848f647afb5cef8291f8614124efb6a9403c444850ce9b2328baacbcb4aac7410c9ae5aaa08035587934cb9060ab435ba87b5fdb47387a683d8d920bcc2b177957265816bec1a28139f9d0893ea911103b9c8e5924ac5e41e2ec468b6e7896378a2536b4477748e0519e53146318b411d6eba940ed552970151381f12702d270be6ff72302b5f4ba9f5d787db240890658ff55fa39e47beb8360ee54c6e03bfe3ecf5a6e5b416610a75f21403b6d01f51f5479b04a918275b4ea4f9c1d2f18ff0660e73144e3ec52fe312cfc126a0f58eee3fb62cf6ee23d7324694e2bba3d304e365efce127b4d5111048a3e7939731d6f4af209f0ef1c093a5ad4dbf0346805bf1a0e5e3a0955acfc469bde49221cf189370068b59f07eda2a91a6c3eeaffa762eb082b5b149f509c66d62118b918dd4497baf83474ed07244d85308e511bdffdac47ecb36e511e68cf5b3acbc3bfc07bab4378a6fd926d3554338107d3438c367c9c2c6af9e59ca5ec6036058a2af8e1e25704d3e0f9da1219e3b6c51cebc9fdae34f94ccb703e223316195f58b05854bd7b14440708c538ce5c0ee47a9607d4b3e7e81860a647af6374d20779ccece1146480d9c8636a80441444d97312b58b91e4939aa481cec5439f454dac21885055b6027fffd3e166c0c37710c175c31be55d88b607c5e18fef2544a64df241cd45e70a4a52d2d547a200ec50632845700ea8a5153ae2ef44e30654a9accc35960c992901d5ffbc448b76a85258135ef9c9b9882a4c503d31c9693b9fd4a0a258eec9f8f78b6dc4df505a279a7274304a8e2fed4b858949d971bc59859cb5a5fc27ed700102c81b0ac408fc8a0bc6d4196d0c9553e0d4571ff58a5651c56672978f602351b878b8fc148f1615cb1bb1de6510448d1bd69d12e7ab923038c9b2c7e513aa94eac7b792b66c3f9d71d4bb437c17fa7ebd4f0372b20db273a995bff037aad88eff0d1ad1e2dd1c21ad6e4a2d8ca07b4cf6629831d81341a340db010461b9d2d9150d1e7dcf6c8816b127b6c007d367a86beef4fb42fa7416d8e55f5be9f091e73d35e340a75192da2432e74e33a69c81121ee085055918382d190096c63895f3759ecf35b073ca8aed0d68ddb614921f637bd641e9c831788fedf99386ec23b7833b6b90724af3f3c859f52eeea6fd725c99415db9b1192a1ea04f4e64818a27edea88e74632789c24b7887bcc35c689bbb59cca13bb29e840710d69b5fd398a9a08a6d63aa98a16509f080a70df8a4b775ead833e5812db097ddc3a380b0087ef9f2731badc2f88d423926f9f746366c83920c343c0a9200f44eaf62b97bbb28dd64553fc45d7e7dfa389a29059057dd5e5d24bf4be0994fd997407afb4d3e76b08921799b2b50bf0a1f28bd373f89f4522e144e32a5d89a40445188890d22ab1dcec725e6b60320c6cb86e9884185bb4641b6b81dc9c3055ddef48c9c96e765ad8cf5462431bba86747c741ad38ff5f3d4e35e24c0a4636b4892ffadea681a6f15e64ec78d91563eac96cb05c2cd41173df65a6766b7cb28d35423811cce241e6886c575bc109b1f1eb40271387ad0cc8bb81d8ef12ba846eb34c6b3cbb820518c7117c325a7207b97ce0b87243dd7ea901c1b8de257bae52a86bbb57eafaef6b8503191a6d0db23699dfea32b0a42589006de637edc09a8e136bc646b9db09c09b7000d01837e73a3de58142f0221bf3d04a196723064755f9cc3a5ea80b751472f8bce4bf6184ec5cd2dca3255475143fd2d9f469f48463bb25d86f536d741e87a169d89fb505ac61652231cc3f64d0ed4c1f08440cc27ee393700f7d9db8a9689d3bf4a9151427094af7227b092d6ec2c2dc10cc148a15965eeca05bc3d264e73f4d1133b0b49ac8d47e72fea74942bf9f68a24ee0e1cc519c093fc100605366352a73dcbe43e3bc2527551edf7d39524120eb1c49ef203d996df2b6c46a1a8a915d8d5f40efb58a35263fead14a591e7fe2e74b44aa51de66d6d172f96aef515b1dba098784bb2422f1bd4ab44f4c28ed569cd8b3408c9e3e43c309aead8895aad7e0a5bda20807c9ead6341169666860fa5bd6ff14eb7547552cbe743cc528916c3ea76f5328f84a6cd289af71509864645dcc0e41037051da8eaca8c1081af66c5d6f4fca22bb741e14e7990508500450f08f62f3e4d6cfd4d33fcc23b316525525b4cf054693fe787cd1f05a3c2c1510e1c62bf6c32010497729b1623ded492c3a1a391700ab2a1f9b2de3d73ca78f80e211e80556fc9810ab6a8a57ae891ac31e65ede8aa31fb5bfd45e9f1d318c5ef45bb3aa0a18aeb826df84e06eb9dbd41b672697e910519e050f4ef51b643675940b86993559f3634ed32a238c707e0271b0a7ac2ae2d42875f3d14f841cc02616e14da15d892a2342c316acdd98f40b62e0228dd719388524971057c147607476410d931e34045d402b06f022df2a5428e6d8913be033f7457011b2d157dc9e1267926162cc784a1b324e110da859b6e45d6c594b3bac31d3d92a9f881c3e662946f59ab63611f76ff0bd5d9b5d253d99c96c42f4c8996cd0f2c15943caa320fd848d47f95b316cad4d158bf6217132c31e814639d42711ec275902d6fefd89bb796b3e25bbd2c3b574c7d1dac04aaa5074bd2f4da5a88e72e0a5f4b02c355db6b8e4cafad98a5bb4783d8a648aa79aa5ce6f2cc5627f187164e3f040d9294f2e7e3621e0f582da4b869b4d8568c1efffc13c0512507e3e3868a7e684f091ea65a832ae0756933656f8384ba6fefb75b264fec462fb1e28a7a1b685e18849461ef7c11592e48d24fbafcb1bc416e2bd9660205b87a78381a361d3b47e06b4963ecf36e64fecc2c2cc0b74f9e043205058daf4aaed7aa541bd8484c5790b0f2632611d148ab3ba1f96e98d2875df803b6ace54cd54494f50c52bf64c1570bff86061b7e43d656bf073d9d65a084743381b5a4bf6d442dce0adab0470edf9b56b0ba5a4697e9703aaf58bd7dc3b98ebb26a0eeb6bcf3eaaacd940e8327f769b07ff95efdfd87f2228306c412ff7c38913303cb1fbe98d55575f103dd896007d13ccf4ca34af6b705f4625853bea87bac2bc3ecb4540e3480db201459050860124b5368898a61fac399ae16e2e044c0a0011eb5458446829a826960f902303f22bb3d84e985f41c0ae6b6434ea4e64060a6d6f2b110989564481d2bdcf7a21431d0297298f98f5b22315b7c07013fca93b722f8985f99c73d71125524539e3bb455f886c8545e7de62ed5ba269b678b1be5c855ea44f8942042fc7f8ba0215f6a08c00bf21a88ab28b13e596276dd2586f9311265cbec6bb20b36dfeec1ccd73e01a579587a8e2cd0b3c1fea7afe69f6e9e2fc605ad272f4bdf20d0b8d633d5cce6b03ef062a8dbc9aba69ce4f3f78db0dd2fd0e402dbf8efbcbd5a2858ce80fef02fd962ee3515d10a4b1b0e131538bcfbd7000d5cbb714f2d98e6a028e37245176032f0dd8de8ec8cd5376cba78cc285f35ab375b1c4c10d8d0b21a581847bdf97fef85ff72743ae2839722bbf64486943ededde722f48fd95f0eea6e88ea0fb7e1243276a58038a63493733745983a4d257c7c03fce1e93024243bb9e0860a1cd60cbb23e8a1edc6d2d805b2010c880df406c92fa5fad2977c53f6835565a28686563992ebfed24a70c15249e2bb0e596631c4275cdd24ff2fa625ae59ba4c6c8139f1aa41eafca79e9263a69dbc73137a61823d1ce89e898f2cb7606bd57b1bfe29f25471b2e4f4f2588fb10d42f1f495d29c6fd560c89855faec75c6d186dea92f3d0290d0d1386448899253600a98494e8cef2a3cea053a9fe394911c4419529cb3a7fc091ee09bd8278fa370dafcaeff02fc8265eb047446851ad9184be8f5c1b65447322ecb92b2151327874c9d4bc47aa031b87bc619339dddc24641cc80e4b2a58ef3d9d1e8aede894df7d2886de075432287b2522049527a9295be2d36a09efe046475a516d9048487456490a7624b8bd511e5e5554564d2bc6ba7c507f338c14279e2a63d320e6c74579aa30083c248f5bd208dab3c29e476705798f88122531df1e7230e6929d677956d8072754728a682e2256f468f442368fb580fe35388a68bb6119bd8878eb5dd4de90a388079569ba89a265b9c7d19e0c8b1d99a6b2f4c297977f1e6f199b15f70532dbcfcf6a40a4e99137402e860f46425c9d1ffc748523261b048234021b01336c0b44a1e84018c6a6d6e105891425c276ac9d05b5d3f157975fe6b598cfe8b7928712efe22cadef25bbe9895d41a5c9f02f56e4e0d90c40aeb542bce7c83ee2e9f72be21cd758a20f1895c121864562a20de839a9baa5c45871398936a9a99030aba696ad7b287e24ba829728c02359b7415597fd2cf6bfc7710cae435bd60d0d09ec855e7d4e073701d901274d0fc03764cb5e6b547cd1fd462aae93d55f4b633b4e5ead62cbedf55613aac48dd1d01221e1c7a2aaed37bee1a85c22f4396df47f776fc9809aad4c584355adc6a9642775450e34c93a84ea7a3608333d96cb89cd73063808bde4f292894e2d3b3f21af9f4b7f29ba672e66c7409f9c3e226cf123661c80e8220dc8ba1cd4890cfa5b781584a18741ba520e3cefe693e690fa5b24e9421d660be38b051429dc297a9680487c56b0e296692cb36b50b4743ff3040e226912e2781f916eb507ea564a98370eed8841a828e1c9859ac591e46588224f7ee20265a11f28f77ef78a389e3fb34250d2aaabc2cf179c3e73559d5a5c719a792552a9b97c61f4e3badd7afe2bd90e898387942d4cdd9e08db9af9fa06f6352e627f2461a9653db579231a4d1b2a0d5f0c30a5321df08dc686caa5b476b2a41ad5c4709a7b40ca4bed75be971b4fe8ca8295d45b85cf02e288707f0e317a9bccd8b6851b14382c522ac2e8743bafc7dd6c514bdafb40694a2433d915cfd362ce6817fae9b74830e8a46500ee8d03c066ae46304350c93a66a3357e4945293b40ba8d77bd89520aa8192ff3ce4d6c2868aebcd7ab0b7012a4339bc82a10ae48722803275a08f7da0144415f83a6ec63ff3f6b2228bbc6380fb9e232278bfd3b8c1ea83ec1d681a840b37ee99eda0f540c25ae348ec680d6252b79738186e70695cc193009cdb94cb36c52732cfd9ae5ada7fc8016552148e7e081ae813b59f587b1f8fdba9d2179dfa3fd26d8572ccd39a76f387c4b0fa9464f6075b9cf8cba5e975e412f4bf6d7ddd4ef217b3d42399b733339b507ba17feeba5684c89ab6fe9b4f5a457cd9b09ea05f8b7915afe0af93279ad2e04481c5a6ac5399780c2d7a0d16dc648df2fe84f013f384118629d23037bfda3010ea040d0a5fd510563718c2616ca10d3601eba2b7795181f8e547c7d809971713232dc43dabc8895d2aa4cf1de134e688fd849770bfe524d74fc8a682477387002c443a07f225198547a0ec7265630da41123c42aafb2a5c07853ae1d336b57d26553502a5802b96a1891dccc56b91187ad82fd25b9af3f10a4e0b645afa357a11e67175bc8ccda9b73e510d32cab33c3f06383493c04a9e25bbb657388e968aeda6b5dde1cd366d4a690f559a008605d3bec4907b3eaab310afa7d65b316cbe89bad09374cd6b55111dba2d7cbdf1187003654991ef126b973e459c863a1f038c3e836451b6b383897ee9432499482ad2ae56d48b20e03002066e90a8f1ba10fee311460f89a4fa49b3c41e007951d84b93772bd1bf7fbf1a7e6ad43d02002c916b001b2c2cd1441f40d12e0849b8ac428011477623b7cd0b14164699f0b3ee61098c859ab3315a490a2ff45599bdd1f4d44747ad429373e3022f042ec7a4f2abfd34e125f9a3f9934067bda0cf22402aaa394dd8d2cca2bbf22c2e3d2422107b949d28992dc92b19f64eb93ef11191c095fb1d29a40da185597c6db5df6986668b9f3a24f173d92aaaa6d3e8bfbbe34b657d5bbaa3fa94812cb732f1486688d794407b0a356f5b5a5b79489be2d2b13c217204a75561ca3d3bd0ff67973a69861d63c24aabc29eb42ecefad4284f4b8bd48f457481c69d85c8253a7863653aea29ca12fbb74ec1f2000c5acff54b40e9ff52599e9c512954e8b81437bf47d524223c2553f633bd56dccdcced4b1ab843b3c63f29df1be2c17a299230a07e0bb46e8b4a62929bff386747ab521c50110b4451e363952c71e2ca00fb5ca859cbfe13370a7a1da89eed2fc3e0195d0b7e571e0ab0c09d25aa0ec7a6078e216994bff25d3928b43411529406f8fe24f73db66f8f0e7407761d92267aca65922613bd2b5c836c4fa74e49fc850fe3e9986388eba62fc947f4e28c2b90b3797e81198eac0155dcd2333aacb10c308f54b0f41c662e7e21fb817ec0bff5632bd74f4911808815ca39aaecbef2ebbe6f0819acb2723d9cebc0906ef1030dcb090d115742f9c030a403f216c992373574051e86423431d8c13ec4a31913f2f81f9a29e305e582495c503bc5d6e7c1b13892e486ceb47691b6a7d5054fb3ca2d45d1c1794ece2de8a88d96218ec5f1027e765d636724038091acf609bbc9fff2c2b97dd620dcc67393737797148910834a5660651145b2d2ccbb1f2df6ad74fa72d9265bd7bc07258015df8fce012a2c9d6343543b000c94d976b40305127f74f91c84e035d1729711bf01194199df13f0b5d9a5b5f743e9e879af304ec10174c306bc918273ad4e785a30926362c5262c52a003f8fa94c5f09b469212c228820c4053d6558cf4bc89adfbfb3aba728fe4b496d1fcc62be86dc2badd4418aa515aebfa0288f4e0de4cd491d58054d7f75758908c892a07e0df1d5816b299b0ae3870eee4ae7ffdc6946bff9cb6d424a385e8f53028bca82f3300bcbeacae39929df3e22bc9b2655d43496a4fb30c1b6aa2b6455c6975c32aba47126bb9699c6ae916b9711b4eb536fe665478e96aa4563ec84124fec668bbdf7204dbfd266e49c4ae9412f09bb3dfa64151c533385ca7507752d6837aa2e8506203145948e7548dc24a0d699d5de5e4e143f72f015bc8b16f45b05fb4e4705d5705cfdcd67627524dc143b94d6a0821a4595b60829bbee98cfb347116e7ec3809dd764db4003d8b8db5e7d53d7a31afe8d94323289f8a4067b7ebf129e67d8430e21982e8de2caba30fd172de63c315e6aae7f258f91877e4cd596788e9a3b834b8c091aa217a3dbc9e39771cf3c5abd788b30322bcfb12b58a035000f66bcf94c2082c606ea34fc0f50ea33a47064fce88ad0d1b699e6cda1ed67c8b94dc548f88f1d2e97877793522571145efd9087d9c6173d7be7b7dfdbc6bbccd91c13a0e3495ff4bec1efd600104e74aac9acf1882fe9065aebbd9faceb78ada98f2d186738cfbb369cc8c0d48878d07687bf6b7c85a3b5b2bd99a36b32767a552a0098ba5d3ef908030fc080ccf36cea560ff0d6c2cbe3bc9e1694f940fe222e0de0322a908bd4ac5bc1361c2c272ddc561cc031eed8815a8d4f3021c085fcb21b1c94b9cbc024b74978a34c304d89539117340e58ca9111008192b7078bd2aff8274662246052ae97a33959f9985271543d6b30f4d1fb659c4cee3f085399d72322e24641bcec6ef011470337f05790669fc21dff9c5e14fabc5f148c14a6862477c387eb2b0cf8be692269336fbb9ad9defb31bc4107098203e3672545f204fe11b548b37dd34d97333783505edb77e548b010964e049ccc8aa539fdb50172c39ba003f5ff70c8e40a1fce01a7f0a389802fdb8c14439fcc2171125b200c9cfb2d75be60123668c89dba70c86d827aa45142d00726c31a1472dc80a6e2f16ac0779df334edc796dcad5b7ffb3fe2015f067c305ddafaed5004f36cb21c6e8e88bda51c102ef0f4bd6f8d40d2bc6dc617bc46618d8b1ac98b6d7e1ca358677ee206d6c470beb2f2b6cdf50780daa017ac68f4b4f2578949ddf674b3e6fe6f21714608ee31aacb587798c30c8c23660d587ce21e8a2e6ac0287c29dd331d8884d1ceebff630c86bf098e20e9ed7c8785dde95501bce2ede2c9443dd3f00c325d6ac08be7b5aa333f3e352c547bcdf4e2542513ff6e0c68915de3e6848d33c931ff5ed03fabf5fb8d3b27bb06c4c0ba631a47c3e4cc6cc79e84ca462c72e0f7a4e6330611c5801e20bcc8a0a238034f9bfbed217c9016ca28eaa6d92f121f895558dcc0566504300a194f7829f5cdd7beb101ca5172b63f3d052d9ac80cd4814452708294ba4ae221fa249e305aa4498fd773db65b1588f0b41b20b299a2cb877278336677283f90d7c9ddabb5594122a75f0e53a52c7f762a10c0ec9a348892cd8ec18899998782012e482f8f4f510414d856680ce20081ae68623dc5c528698fa40649fc51d45ff214da38791391e81856e31adb08a6087419d89e8ab13441411f7523bae19de3e06e886a8cb4bf667206a0fa66f32614a1052e0773aa1f0916076fe6d7815dfca44a54afe80729d32c013dc9e7a38713ec0ee4c9eecb85dd6015457efe9d83d590a8c640bb0c2daca6c88fa1571ca8b0b3e831979672575d869746f0af4e0e01f69c7b3a7f7decbf8c5e1fd6ccbc84748993ccb72980f01581c822147503fc45570d353d08f9bab9fe48cd99501702041970c8a133bcbe4c613de9be7ae69c4d7aae462e0cf0464d8c1c9247085b345e3fe542abb6b9fd7a4012a96f43ebb08a5a493f657c61e0c6df488c6fa1c3c231cafb013bbcc62da4b8a3073a82f05255872b070c54aff0ebb384b29eba1fc7999e3acbf5e9a80a564a79fe34379b8ce9e48039630f450e86b69641735e7fd20a380adaaa18434457b4a00f3e507909f2f04e931d8370b4768d68221d820460e3aa585780570faa82ce88961ef97b5f670a51292d61ee976362640574dff6cee3e409fe71663612c4be9450541162ff91f4d4a116b241973cdb560bb90b21f62baddad477917d9e3625f6652efb15369a73e1aad4d3abae7bd22a536e4b49e00a9dab3f83838a275024fe5ba3990c442034d0718058a93f31cf8be56a865b49fdbd08ded73fd35fb637d40b78675f1f1e8c35be2ca96f12e9df9d2be32df8a1daaa2ffb5313ac6091443c8aca8ae9bdffaef1f9fa4b0c021de89c22c688323c9cdfb00991277634cf3b3f6444fdc661f38eca505e40f0f117f020bc0310f930df6e2005c2d24eb6ea2cb348d3ef791463ed356a1887ace09cb9379141c207a96ed3d8091b5112edd2f774c5ef7c0d04514dff83c4d0367b5db235dc5bfaa286549640520902fed408185924f5450c3bce4b4f9eaa67bf61174b50862904d1319564a7847bf3ce34727c79d9a5ddc6b9800da9a176f1bdd95678b360d4a916eae62b65b8ea9bbf3c8bd59383cdbc7ce893e2f366fe1dbc83556c3c4a003a095bcfa43a69f329aad46101c2dbfc4ecb7afb9bc71b78f40e092cd507ae0ce9f708e7d347e8f9a0d901bbd7c9ed88f0777fcca93a25e5725e86382b5fd2ae6ea7a40129e7fd4151a77de441cad6794ecf5baca6646148a8cd046d9ad18c468079fe7327c83b64b005855e5f20518de720744c395aab5c2903c1f010a99d71af2a65fe58725770c37cf8c597056acbd40aa184f90bf19560e543e6d51f1b498627b36d2ff9ea847b857bb98da4a0a919be136b4ea1209c2e6a014f4affb7a637f708c1bceda2300ebd99a4bba637d742388673cdb853edcbca8e83a1c7db244872d73861c70cc89833733b877976339afc9495465cb85617ff8972d4859aa91610f375fb633d90fb2094f30e39914039f4e791411e371a62e289b54632d85a570b949e9654ed878e20120b7634025f82e131fe0e26da1b4151ccafb9e70d1c6c4b94c62f4f7723ba042bbe9f607e4369695a271dbcd9cad176075e63068c52be3b83c9fbd1020b46804002081461313d083ac7dd899bf3e1314a46948c926630ad34b8f440e7428933a160575a4c533426c2983fe41e88f8d97321e37a00b28ad60e0b40f3d5ed482e1d38d20e6fb532a17e459881044fdec3ff1b6a4a903e3ffa0a7580f7cf09142601f291080d19d54c279511b0038c570b8c31a5462179af7d20af8faf2cb2905850b2900c8ab45257225d085b5cb8a7fe9f9f9a268683666fdbdff39a4fcaf80e3711219e0a3b0dc21f9083cf6ee1182b7feb017508caf14379cea7150ddd214ab5551e47dae9a6d8feabaadaca673eedeaba69ca56df56c420d6b94a89d38564c15fdbc62470967b606737de1ed12ddfbc3d0ad5b0aefb5f00ce9ffc2b4b7caf2164e871ce26a192d8125ec530bdab438a26e123b2e93efeee727f40f508812e1544bf69494810ad645af4f0b5d9e9a09e9bc192ee29992a1e4adbf8ed48494e44255e66e54a02dafd27568eacef4acd4de05fa8e429d7b0e8ab654281c713c9c7f81c3359929d825cc99cda0860717ab9f84d7dd70008038f4e78106b66b59645a11a76cf285156d7061c070e069ed41ff76965e43d291ab85c3235c5d5765554080287238400f08e81df98f881015e18e18b193e18f81f03bf31c103033d98e11723bc31e31703bf60c01761bc76a6ba174e53dfafc9c33dd756a25fcb54d796b7ed5cf0bf92ddbdd450642151a1e3ae6d913aecd8435bda748dab187ddfe12a247ce3a11df19a6dfc51e145953239db80dfcdf8891a8b9afaf613bc9f39c35f22263cc19ba591ffcc52ac3e68eed5d34b594a3c91f4fedc9dfe617ec2df40cee7fdbb4c14015f09b8698423fa35fd4c49a7f848e66c3345bae0effbafa458bbd83030c2beaa7af7f7e9cb1039ef6a686062a0a95b6f10907fb2d1afd08a3a6c164477f549977b187dc9045f0868adb6f6a63a2bd54caed3555bf4d11c8638cea4a1da860ad2264838aaffab8dc572972171491e2ff31b85d15332c2f6f1bba5fd7c5260ac9f8fca0c06a9c4024d931f104b0a4f262240f3e297bbe99e728003dbfe7635c4c8ac6f8d10dbaf9028bbd95e1e26b6a50c966195a180004723ef84e4885f19ea842cde20bb6590df0709c2c9a488ecd7273bbeab98ac640c9c66505f68a83a46e4c866d294f335fd0693bb53ba6bdaa7320da13489794a7a5e97c7b73e3b28c3c00258ff29d5028538766604640a10ae0d31d6e13329b53e9183129f9ae8279b87d265d8807b2e473b0e172583c85f9dd2b77031629c00343cf8e5c8ca6894db83b4f0edec805c0daa539c586826621c2243690adb6a07a4673e9b403ddfc51ea3a258819e7e14d753e407b18454ed08c161a76e9a19db822dc0bd744b5d023ec0cef2a756611670bf29d993762e2bcba5a36ed9c27a722fad317a0ced0c9cb9bd0558a1212f8a4fd46519de6fefefd8a9605f5f0904b8bff23160b1afdbec31cddfa7f05a04997285705236bda1bd308f1506e68751358f8cc7226fee086f1a7414b5675533554f4c09f759d092a354a6ad91ecf5221c8f9512405e824a7048bbccc1d3ae964611d5d0349014c7124271f396ea9811bc118dea2892b04609faeeade5dd889a34b503d6370708a6c822e8390bbe23cb1b4bf8c1d811a093a049fab76bb73f57a61f6eca25803816b0c7da601daf7bf1d1ab1b2601f493ed0f555e90e343959bec95aa513b499de818e0f159a2614c7c5c2db04a212225493b84c60233ee85ae4efcc895ca14eccc673606df2c8c9a314dbac279df36a28bc803f6497cc07aea5ff862488bf31bf1b1a597b73afdd4b5cdcfc7618391fe16059727de4752cf3e329686288ce8164e5cc884499eab64c4740421c32081cd99ffd6ce2ed29432d642be66735b820d62b62397e9602fbc37b48c18bddacdbffe1a90edae9c51765000276c59db865d43fd22dcc15050722bf10d0f8dac23d713d6b0fadff0d7d6845a28126b6bc462be06984b03d161b8b9d4e1797c1d692c0148a9a806861a6c7473147d8ef263d8d932d2f07af06a909b289f7f4069de8baaa0db3a6150a5ab6a56c68091d0aeef6d77431f881241ea97916fb575e097cca53fca376d787c6a94b8234d4baadcc9e166d81570be4e07ceb792c3937cf7bfa9afefb3b4819285d402db2af49872db2f570acb746d156a0f6b7a9a2fded1497d1ae1cd04a4942426111aa49802cac1115d5d400ccad21cfd2e3d8cef464ad41ad8c247aea5c85d2bef8fd44d91bfb4bd00a2aa29252e943fc4b4defa3b2a5e2c6736c420ff0acd0b73d1ffc56c63107d602d89b272a6cad455745a0fa1d96923f377b3b66537111122a594524a29030306a005ea05bbbfa831597d1a0a4d18335ae60524fdfb2c93d0fc28a7005152812a6100f39d90440983961286a2f28531e50b54ca17d2006597963bc4694c6b08f8d3defbc31272b8f631d56697495b38575294a42e9de4ffe4e7e6dc05c2f6de3a85bdf796326bf306e4aea41d9de47fe48d123a5322f074821c324943208981925224a5481bed3b2274e46606334ea6a03953260a5414356d3e22144a141044c1a10dab88f521ca8f2847dabc29a59c91d225a9d66a2ba57b6f152c32886d5bbf8ba0de5b89ee6742c5f8082b064b8e203f7c9c196205264ba890e14a0c4172a2458790365044504269bac004aa533e39817e8c04bda7cfd289984efeb88f944fa8ca273bde702538706636058988084660c218de86bf79b28184132832e430648c15d343e9a40b152a247ae8930a06a32647967a7c51b2639f3a8d376f6838010b4a5688b4d0f001743620c8661ced65f3d3e488b6d3040514a89ae8e0527befd58e1e78f87630d9c2840756126dcd6685db31bf3089c2e40341885e110a26449834013242972371d474412a0a811313236d8e931ebb8b1148474b602882bf30879032c10e3b3869a10b191e904a24329aa6691afe2101343250a10029c9c75418242b483504a1699a869484c4833062a7cfb2899b391e1194731708db7aefa8bdf7e67aef5d3601a2efbd3517421b0172974f9f65931b7ad767d964a993fc916849664d5480528488a31d40300d088ee310e308a66b2a20a8943173822b4f40506a1ca5a472ce4ff7452143e1402ce1b6de5b73349cf7592e21d25fdbe592207debd89b8fe07233b15289123df7592aa1eae48f3d44f11f403016abf8070b67b470c6329c0c08dacbc95439b12a27f6175fbb6d9b9225b1be6d9bb8a7b6ad4ca2a36f4a606cdba6711f94e8b040131c4252658166d7f8722830459fe51135e5913478490d327257d07dee8493ac7e9f5f6b2d6bba1835d658f3259cfcaef57f0d22b90acd6b107e8c31c679ac3c283552c6e2c9845b5a291147f8c5187bc9bc0927c19e415896f59ce94f0b5a53aa693eb3e9d7229126b5f8da4057913eae7beffd7befbdb7a669bbcb104efed720fcf863b7d23c2231a607a0cff248929023475d459fa50b6bfa7c224a388a0e24a100ae14092779c7f841eec2dfc57009bb720fb0a60bea420a2ec6ec7df2234e7f5e605be8809bb1e971247e5fd47937045c88eab13e4b2357ea4bc625c24fc5d706f8452937f3223c071428f12adc0ce4582a37e24617c9c55379489fe68aaa38364e95d9aa2a5be2a49d55ad5e6fa3bab5697c401f588bebec7c5c67c7848bc7042b053b3a7c08f6df0ac9d6ebf8e8bce8f33a2fea84b47f483b3783303d8a17a92814fea338218a30bee27c34a1b32395666a0d15d7ea743e664105167c6944c78cc9ce9638798358a72077c83d7a146fc193b7a8025b058027ef8f6edf3a5927eb649dacd35b5081050fd359f18fc5fe15db3af6af7fc544a21d1d311c613ea0051500e0bfbe4ef82952f4bc066ef7f1017d5e0456f7117ff5ba27fb804329c4978c7f9ff779916847a71513c5ff550a5114dfc4c7b8ce8b29765a2d9188efe888e1a338e1d5909a0829549545ed84542acd2ba4533f215de31352aa24425ab53dcaadf016247562b1774472731d0b7a2e711c57ab958e8e48b69ec51237eb84fd892a8fa87090e9624bc2abadd2b1e8362623bf266e2b266dbb60139db25d2885f51a6bd6379cb5bf5786652235f1a53d16bbef44dba4897b6b400456df5e043b67ce566d123a7e1c3d51d2d23446aaa806d5a22add95919ffbad7ef7e59191ed344f8665aa3297e6f1c8408cd9b5e79e56192574ee9b6a9027a3cac8a265e28a5471b9a39e03587dce159bfe17d53ecd15768b2284b6a9caeca418afeedb31952ce18a593869674c1307e933c556a2d5fe649c6be6349444d6507e859360c720e864d7cc249258f242a9c41939676c0eb4debcb76ec55b96b282e0a590279decb31452a4d3e77b534aabe561baf75e9c7b80d89dd65a6fad1482c4b66d5cb7f558759ee7792b56ee00e79c7fad561157a7a3a3a3e3da594de9e9787878787ac01b829fcec7c7c7e7e7f56531d1c1bc214a610ff38644a073ba8f17839af0b8139d0de94f6f9642ac9443c07464b8add34182af10145bcb26d400d56f0d67fad5f6d619abc8e2866689eabccf320b982f1c699f9472451d38aaccaf4254a3c6fc2a86f00ba0210477e6bc236731ea4c3e2b39f7fc2d09d198cc26131499210d1c2d3e8c0c71c6088d8c91edcb95a74efe2867e3a061f15688218936559cc60031a10721b02cc142656985c50716234b5c641fe332e5ca102e35345d3183c3de5bdb4d64ef04a0c0870c3fca5c798a82b183a8c1043528f12d7d5cca2b3174aecff28a9329dc8c7d3570b252232b944b9816e8d5812d217334acd08402ab154bc86f270c0ae346950e289b252f3a60e0bf7f0347d681238bb31e80a45a3afd12707cbe5265f4e9917d3d80c27875901f6371ac547038da27c55fbf032b9680bfdefa5a8b55f438c0ffa231bb2316b9059a5553ca7e0644e8e03e0dfcd3ebe0d5012ee13e165ff961bc68e8df22d0d8220426fd1b39604c0b8403c6f438786591067d2c7a70e38a55dc1608c7b5370837eb0ce338c30cd4cea104a006a86266c8ea81cf52896ad2261d7ce2660daa41358b3befbcf3ce7be7df5424ca6fedcdfab7d6b9ef2773cf7d3f89b3b58f3fd7ffe9695104dd8932697f841cbd5e339cbb40980b84711c268ae62077717ebd2cd92077d100a593bcd37bc58c937f494b41ac3cf9a6eca2191b3470a4dcb8d9018ad4d296a51c344dd334ac01d13415408e084196252047d8004343b34465e90319059f25a4a528df12d9c7683062c2d67beb2029540eba340d3c7ccc4161c94d27f91f2d89396189cc8e7229aadf3ecb25a819944a2b437a530902a74f06ae5fdb9acff063c2b79f7dd2d79bd634ca59912422bad4bbaf43a2bbe77c4d3e24fb5505925e6b2d3f30a4d75a6ba552cb0f80a919db69a78b4f5adb70b3f259e549152b6eb859ab2031aa7254f429f992a8bca132358ed57e496cc55f922a2756e5c4f69c138bf3f23b1af59075afc34e2465bca586ec5a6a6495eaeeabb65424bb5eb95aa33e1f58aa77f9e9d701be9f9c52a0d40bfba2ee9087537449b1ffa2e23ba34470a39e734ead755863ec5b08e3289263d72c97c7fdcc804505aa94dbed5f9be1cb0337631ca7b59e734eadb5d65a4fa83e45a209b55f8b332433e87b730e823f6575b7f83cc0b72767d3984e5e0df4dc136bf58a9994d66aedc5390f4d5bb483094c815bd116ed68f1a9c06dfe84f0f97865a7573bcbdd0d6bdd9c73ce3de79c2409ddee4eca287b1e3afb606b6f586bed5f4a29accaecc7a35efd41ac47e6b8dd81f0463170ae987f89d8b8586badef256dd8cd19915d55409f7fc30f08a73f27d5a2e207a77f6539b47c2b4ca67e5b7c2d70fa1f8f167b468e5de757a84505a2df62bad03fb7961ace6d76c33f8634e60afa99575cc158169574d517d3c58ad509c92c2cb6ebf64638c92d1fb71f696c4c03aa8ca589a0d752c3b7a7ad90eb3be2a44cf62dac505115eded2ba0066daf410daacf8924ac13c9ef435cad9141dfb86deb9085c5362b713febf8a70cac421ae06f15c1f38d2ac3463d6acb08de8ae25feb7dd5a73f3080ed2692fc451cb6d470fc1a78305d6c8fff3bc241a8400de2a47460a0dea841640d59a75f1f3f090de044728ef186b268e3764aad84f500a4ab93f4a8a5a6da7a64eb51758163c0460dc21b3f4d2aaa723368f1428b3526d3ed2e1857d1f14f7dc54e9be79c0fb2c0bd982b3268f1418c851ab18e65311ef8de7b9fc2b86f08a78fc93d4b30adb57ab25071af0cf3c81ca658dcd695a78b166eee7f3cc8eee3612bad957efe4a6bb59352274e0a46156ad48306a5b5d64aa9ac3720ac31e27f51b1510f8a9fa394d28aa5a6d46da382d216dd52bae7d7a92905b5c609e87695e9d7e28c5d3ac30ecd07fbbd74e295fde99a73f616549cd59a523b99bafd808cf57983523ae754516bc4fa9c56c43f73ce73d2bfb446067d5a71d6984c9dfe14e77e32ef7c3bedc7e343c2e9d3286ecf39e7b51706c26774ef87826d3264fe7c3b38398215c70d0ae3fe8d2a2120a068d6ede3d053d3a3e29c1ffd16ce68e18c59c880192385c5e80d99a8a55616314b8c89a21c2792f46ae9f56349508f86b48fb122a6aa4f5835b232f0d9593ced687839ad53f0dcb66ddbb66ddbb4fd7b86b7ba6cc5d6daaf77841c5fffbef6dba675ce18df6b2d59337e1dfebe5704dd89ee6312ff0839fafd19ba502466aa931349afaf802a4461943d3ce9754c4b8993530a043c83825fe0e4bfad9604edf5866cacf502af5f6bbd3680e013101c4727e37841abc9ad32d92cd644ca7ae79a421387247efca0c4114e659080511f36855ecac70a3fc000516109860fdcac41349c95abe10c0b723624bafc3ef636c04f45a2fa56dce073f41c9dd6f0453f47b7e18c5a89ec13ddb7f5ad2b052d2a617808f3e582305ec230e93022e85a33b931806160e8247f17b6f643d33413bc91a36d4f47684f42f0a71e564f4cddd3159d3ecb30475a095a31f0300b23a655057c42d2344dd35e3e9678222242c5acf43825d97132da3c6ef6de2d296f070f6278706a358981cb7698da618ee7031208b6905a48496425e066dd481816ba3f35cdd5ae7228fafe79bbb6b5cef84ea0fa2d0fb490d8a22f607a7c592af225c9516b85fb63ef5da6f6597e51a1d50298d917312d223df6de4880716ab1d06ae1449fa597355ed274923f12cca2ca2c1e85d47ce7a5145cc2e79d73ce396bb55320d801101cc75690716c25a91b542520d80262e18c16ced80252e5c4aa9cd80cc21cb541f7da8a419db3ee39135097e0bc38955eca568f39e79c2d1f7cce39b17c73be146c9dbf38f8da0f052d1db5a5837e4bcc7d02255440b4972b6d70d65bdb73564595a62a12940d7271d65b6f9d7185ba38eb5c4595a62a12ce78ceaaa8d2d49df8da5955fd3a672d1e74d630c7a69a09487c4b7c4b7c4b7c4b7c724a2f4654be13f0597a492abd1c75396aa2f229c167d9a5aaec925476a12a9bac582021d2a429751853e97f4ca662ebbd75ab88ef2ead1d39b44c68f559ea10830eb34efe58dd7033f6747e6eb848749fdb7b31ce595f9cb3d67b6b7a6f4ddb386ddb38aeebbccb759de7ad56acce5bad582ccebf3855504d4c53699a98b2b662f12bdf679b7afd96656ad927aeeb72d94a5db4566befc5bcfb5a2d1d1d97abd5e9b85c3b3b3c3c3dae6e8787a7a707047d78ba1e10f4f1f9f979c12e0c662b85819dcfcfcfeb05839938714f9cb0959ef8e95e300b3361a2bb216983f4fa277e54d90d51acf9fb6f2bfda95ebf096acc956aa52ac5a948aa8e38555053699a986614c9d6bf547e50237aa738a8b231a138a0b55a7b2fde7be3bacef3562bd6fe501453a488c50050c1ada0025b6905fb6be9e8b85c3b3b3c29f6ea3eadd6de8b71be3867adf7d636bd356ddb38aef3aee7d94a3d6fe3bacef3562b6fc56271fe7d2d1dfeb55a3a3a2ed70ecfe5e1b195f2f0ecf0f4f480a08fcfcfebbe5eb6d2d7abbbe14e679fc78bc1f1f4f4743704bd18b467007637f4f162d00efbb93f3fb6d29f1f6d05eed5fdd6097cf20dd5ab959a40111b366c2a6663e18c16cef81551ea00c33755ea3045072949a50e4c467e49a00391cf081d7c742ef24f0110cb41ee029994ec3f2fe2a8beec6332a9fa5688bf56e600b5c2a638247d6a38efb3cca1a9e7303ba2bca1d4d2c91ff5172230522e419954c600c51fecfa3ed65a6b2e4d988b13c69b01a48890e57bf9bd17eb4099b917ff10172dec9ba6d46181e6c6400cc0458a0b114394496380218410a2ca895539b18a85b070460b674473839913cedc3026853341dc80e5061098b1d70c102307ff63321554db9ab63f1ff8d6677943d2cb6e40d219df28d9c7664a66463af9a35199321597c9f983e239db4035644355059addfba16306e4fba116b1c50d0a4f6b50d87d965bd26c0962c7d31633454f5b80d8f124a6dcf2a5eb3ecb2d4c3d7c4e2068afd3162b7d92e9f85f55bb2615da8f5f458b0de315683e19eb78dcb65c299bfacd4a2d3b74d1d2c4850b0e9a910bcce2c0b0841137495453595ec832c352a709d134cd882c3eb214d142a593fcaf0f5bc90a9583bad4e201adb5d6fabb81affa2cb514f55b66a9ca62822db5524a29ad94528d83d2f6d619cf14d8f081a53571907c7081718b10f3e1a0a1d1fe63ffdc547cf6fdf87374fa2d740638b4df4d1723504eeffd9a76bbbddd5edbffa26afa6de4ae65407b1bb96ffb35fdd3638016bd056c9e062ff0e317d67678d5e9d00673057eb273d5b94058c7ef69ef79d65a7bfbd6f2df1776d6206c67d41c1eb5463ed63707619d521afeb4c03d6f88b33606a65e0b084eee1e86b76fe190a57683d29ae27b7a43940373e6cc79ea18888730762c128d148adb60156a0fab419a97df5583f68f6eff2543b324e7fa3957e8e884ae90d4be456abfa974fb2e34483aee60de507e2df4443ae70ad2f5f5ed6bcfadbaea0de5a73affa26aaffcabd7f6d7ffc2970cccc557fe978cd5466307856134e705a4f6f559212c24ea883671bb2c9ad7b315042779cf34d62dc681df9fbdf61b8610eb5424d2a294fd5984d91ceb3ac76a0d2d2e1306797b778155b7edcce3038ed28f1ad2c95b9e817266c8192a7d5616388e6529ed1dceb4539ac60c539f6514542f409f6554945eb463ef8dedef3dd44ac3afcdfa3716c5d68cdfc7e26e99e1e494e23438a841148323a29e74de95e670b352ce03fd9a071e04d1c21d0e59d105ab329908387d721cadd0ae40f3eb8cfac003aa820d5d299441229326481ffb2c7d40d3a38aba00fa2c81a8eaf8b9ac657a6fad54d3faefec97b2b9a19d228fb1bb8ab982c6164ecea96e01bb37e720f8bdce0a34c77eaf14452ac19c95563b77b0b65a6badb5b6d64a2f95d3a2459513ab7262365838164ecb066aa9c54897aa73acd874c17f32715895b9561ce05ecdab36d47e0bf189df42ec853f9fc3fa203c0a13e4b6273a6bed5d636f9c2e24623d8e6e6d47bf0335cb5e361403ef33c965d6772259edfca1b3d65a8f057bfb640d163091483fab93398b34c70d1c374e27ebdba8443d8fa3e7b0567b93c01a93974a6b91bc543df7fc8bdac38214ffe14988040b84a9d2b85b28cd28598305897b1e5bdc732b095668cb36e73aeeb3623d1541f1053efe4a9d60ff22d9e3f32844929b78893da20336b09f3fe7351483fc54a47a613b89e2eb93978a7b31f25391887ecfb3bc199dc5fb61a28fb8125f2cd1c9c29e1c3b3e11825e0cbb7acfe60db479a60f135fe28f8f15c955e70de1cee970e60e86b3eb9c69889f66b0a7de359400f9730d2d75ea9eec896950833e2c4495aa524fa74e56884e59a0ebe424a4f395040b84c51a2c3ae691edbc0bd409a7056a85d3026d2d766f599a8dfe4472ec98cfea7412730d169d955922117efdf43b3cc5cb861280be8dba7ffbfc245caa41f05f369240a77a7a38bf74eaeacf3558f4eec91a2c3aebb7eec9dbc9cc4370aea0bfbd18dd13b144926a6f46d7bb27c10af94c207a4716faadeaf78a640d165dff4a24c7bf6c2806dd6543d5359c31de5abc6c2801320e9c6365c55955ef7afe3b839a4119f532506594ca4c75aed3e72eb00beb6f21bff439eeb570abab9ff9de9b6fa64888f4e3e837246dcf3fefc5afe5d758761389eceb19dbe3efc94f14c9daf57bdbb5b69358e418e34b9f1a3d45d249ee6d5422ef71741c92b6737fe95f91a443722539ce3ea96990cefd1ec2ad68a3766ba3762d62a2fbde63eef13fed1ca0b3689f3e871fbf0735887ec69f45d6933408cb8b911fafbc19f8b9cb12491b55fc6981f3ea7931ee136591f59d37a3ebf78a248b0ed159d7f65e7baf27d2ec01f77445bdac3fd3ec8944f7b9cfcf7ad7104edad0f07322d1d528c575034ea42afc4bbff7383fb6513bf544eef16bbfcd28fc449cb8fdf566a84031a0f9b5f7c07a43dac65d6b7203fd3ec9817e5f8bdb72abd429b9fb53aae9e282b9823e9d2be89323a5f46d106a75d0a7555668c2a05f75d09fb61e755a933aad4a9dd62b9dd659a7b442755aa53aad539d562a99053b6d02c11080e038d2308ee009dc2c43935801c196157bad04999ca834ed1935296444340002127316000018100a0744e2702008024d97dc0714000b6f884278582e1346a3811c845114c44010830008c310638021c620e494349504dd3388a3883ca970ccd8df715188861b571258818d7bb4ed03566b17040c119123cd79f893bda3107507d8b5523d22a7ecc1b9e15f39c2a85db1cd10541428344ee114f7082749138cca8853595cb29e52c10a21b6a222fe05c6a9ca6e82053757595f4b6d2da5e1af548865d0c5e8f2c14284cdf78a5c5b3a55e4e326fa55e62d2bd1d8bd1a5b99e6330733494b7996eb098a2f52e95778fe56fbb6a4c3ae305b1168fa6a5a3bff52780543e4ac5337b58a02f3c50db5fabc930c14ca65811fddcfe29336f64603ccf65ce9d0d6968c35cbca61424603464740d64687f9ae727c726e4c0c6394c406f9ed557ecbd6437dae05d57104d2062c9083c2b9381cc29aa9ea2ae30db2426aa288381a014fe6c92c5c039b533dc7d2a21a08301d20e83a5caa979f0c036dbf9daa6a3594ad6ac57a2c47c548e741784af3a453057ba80aab2d2bfaad40612e2f73c24ea4209a07fcc3b6a55894a5f2b4d5c0125c22799b84a256c7c2c243dd5959c50bd2a1dacdc6060a1c2cbb6dc554737e75a00d27ffd337736086b6beff67624e91d063aeb13449e6380cd93fd1058a853ae4e90c862711511b875005852a590d5892b1096b1831b9c22fd6b4624b910f92617d65bb377524b88ea1ead78b37c1700782a840db0b003178cfc268c815f311c82f683dfd74f893e81242c9a6f2481dfd3d1ec95cf227737ebccc366056185b731b63aacc25a42f19091b4fb62750421b6e281f02aa931904b5002a40513a7ddd7fcc84241d4fadf5a0b2344dfa0d1facf3c9381eb76a89c3ff458c02164cf6f08c7322bfdd9b828eeeaa132f8444e017120ce1ff9b793479b2c4ad22e633a50b2615faaf3b0a8771301b7c60d3e342d16e5de0bfa64c1b46909db798c9d71a91e6cd80242f3029b26cd5f765056a1c31f29b9b97776ea037c7f78cb3dc6148a045fbdb985ad353572ff9d52fd7de4a58e498d14c82e478038de902c30b761b81708d98347122ae669c5e9ec71ba533e8abadd68e7877450e902181988db74df750e99e21c97c933b431c3c098db3508825480a185f00662ec93c6227045dee8acfd05368338646820a54fc29102a75dde3ffa50ebd30f3a1055195419942aa9bdc59e960c981917e863c491d40f2824d99c23ff16848d0accaa19ce3fc61abc6c41140e0105f5659aed48862883395fa1cabf5a7cb362d230a090dd79a2e8753c13334c31e25bff24492b1809a49d55958618b5637b0190a9f44341b9d0165e178af1d69f4af07100d78e17d171835191166f91ef6a1834c877c12bf85d10769c309db38e8c9493e2781472c163d6b68711e68dd4a7ff3ab585aa2b08b501d3221ccb0b76efbf6050402eb2490b18c733e6cd0a9a3d5b5a609b30e0f3d2376287629c33cee03debaf194605e36165bc4c91290328fd8324818d74afdd3295789a5033d34b2af4e39afa61089ec58f746a243500c4f26ff9f0325280c18e1d0f10a3f491da433e5a13af125208b35c8d72c3e2ffb3042a47096a0d6521367abdc0094c51f5bcaa4e3af6d106a1bc3c7139abca78ba63788ae2891064ff6b87d5dd95c0f6742488248a68f377081b4f1e6e6e4489c202b40baf028e305adeaae5633833018f7cb91b33b4c4cb98633667af8a5a07872869d94b6ab75940c7df4ec96d0cc4e1c4b57c6f3a5d25ff68efa55ab2c76734f3593062de49994300f3cd345f157983866507f58c60bb95f631eb979340ac92b7e78928035334d2786456b2fe1c2cd3e2b215fc6b1c99bf7ef2ac7c29848499149cffa76c24ea1504f2fa68d94a1e5ccaeabd6ae9ee95e3dd9dae64030839ee4ab13579457d6e5f7c1164e03d6c97b2a2bd976549c76a35155a6c06fdaeb29810812e61a157e8cd3e5c7786f7b9a543f197f090543600700b84ff8c47f8bc609bf2202afcb473342eb7e3a98328b6102b1de3ed536d69b15aee3224bb1e890893fc7e0828581d07caf2941c2b46f258c990bc8a24b983038659e7ea916fc481f308f9cb248183f4764445d74baec74436c2521629e150ec94988f8ece6090d6af65138268425876143e1b259da01d8a02dde20e8121920caa51f1eb961432751d81268184efca05b6f8b6143ad5f26bd877311085b16d8f1f8a8d51cb8584d69f6bc0a00a22f95ecb8b840e1766d0138dc7158e98a4a211ff8e1aa4ee0ce9a18fffd5f2cfc96be345379b515d1438f7e94e86e51e4a318e26b95d9693d8ef59f4860dc8a16db3f47b49311085b8790d024e131c18ac49dd606c990a75f2c4713d769d8c140a139cc87303f3777f0843ea3ab17ec245c47b5663c863d15c51d7c453352f383cc0dd08b66f2fd161ea9dd201cd28f7aece0e8b17ece426d62a7d907e838c3879dd20b6f0a99803ed3bd051cbcf732391bb6b0ee9c3fb27f2da440c3c118ee337de116ac4732bf2dc9d0afb5189b21a068c5231b5bb6a91983bbe0e856ecd2572162867373628b2bf0eff0eb498ddc0f373c4bb9894a6c9f0243396ae429a81646c98a2b7de7bfe09e255342ea8777fac4e03e5bb1160cf1e45b710239013234edc9b51af4d6a9a2455a40a2c887f8223072abe1a00db9ca8ad6773091ae9b05a5df9611ea901da3681a350fc38e148fdefe559e8449eb6b4fdd2fe0ab26fb63f23e798ed3b1d4ed55b02e5f85c17f10bfeb8ad506aaa5daf92b5f3b5e236b491cb2b27d61e5d14651ae444d530539a3ade5e5ed8bba01885ffa2a439d0591326f20abeb19f4a9bc89d4033d93e920df2ab52ef058608a0b181fe0d202cb233dabf8e27c4f8363c2a3fd3f00bf79ec61b268776cf2b1d2c025c16410a07fa4bb4b5458f61e18d3fc04222fc2e4d18f672ddb64ef17bc5ddde66665aaec9fba0de5e788c691d8a18439485c85a9932f819c761254ebaba81e39467b0b4d4c5c5605d69e9b7c1670973ed8898e701aec46a7f42d64e90070dab9759f98529d1452f01ac6a3d31301aef96343d10582b3d87308c6717208f362d7ddb318341228e1704b6b40cdb25e4d40767d3c418348c1a20b6aa9a9c16671818409e9fef73d342c369c9e19fd6ae6cc8348a875e8e5a81020a8c47fc68f6d455217d33f9a450df06229f6f58439cf6f7f888c0a3cc1e0654da97fbd7e963e0edf3c10da8b880f83779ad3b03e7b8fb23984c0ee084108628931d7a8dde7ea14b07fab7de16ab89d2308d1917ce00555ce021c9c02300ce982ede3031b9d85eff604eaf50ccc84a7de640e39ad846a04c3c16530744b76faa6025937004665afffa6f3c9aadec0bc23533a133923b4f19d8e8afcaec6135a202f600277110645088cbbfc30e4922608c2c7bb2d3a523cfbfc8e0019d9ec969d76544c8e6a6013e708e134246a1f42fb399e492a9b235a72a8fa3829e24951aa3539fe656e59994f2134e6c11de6030373ec23fdc26c3439cbc36922a14244e608c08b15352a1d2d2ee5b8303467e693d430bbb0c5460a6072ed18ed1de0b7c5dca283075b1f72f36ba58af9a5eb4b58bbed2e0fa718c9fd303f69a2bf29b10a8dc25321291213610c99f89e08ab6ae09f063cbf7e5b263827d61962689f3c757a695fcaafcea457003bb2e714c184534130fc21d09624245afb941881f4f3d24120df5865c5f342d2fa4087577650268ba3a51644eaba34a918174ca9840fdbc33dc95ffc9789137d82ece15ae9919ad87f0683fe9431de308f090905ead224186419cd4026abc66b7bc9fab1b7928c9e0ac8024f3efc3e0ee7d9ebe960c73d524b9f46014c5c949731c7ee37ac80070f941dbeb711f31690c65bfc59c8c7406272f167417dea03f713a5c5aa4ec4f3921abcde4f9b8eb5394389c8e94c72cd856e9f31907d328db0c574a83b3b4d662ca8d0d1830651b0af73b6c0e4dcb4d1dc8a62561350370466dfaf1e3ae90264779d28a4a4efd28649327c8c8b4b4b2e21d577f34a7781956429abeee1980acc356647ea4cd846d3281fa82196d46e4269064fb633a8e9ef14a6de24951424169d06de1c044de66a3f26b9046ac8910ea5aa3951f21cf8407de0dd4158795ef4954d369de74553e15da01de25c2bcecc52aa2e73f41af3157685ec2063dbfd52d16909d46300655a38f3abc9e7dd943e7ff7abce89b89d68f6eb5081f6951f4faf0a7ca2ac09691c93aac9cc9ffebb231f29f0f5096514b0930df44e30a90b49b2e8b21eda8559057e30f3b64ee92edd847d05cd8465b2568af4f782291f405fce36751f0c6d2558a285d6c9315da1ab2f6bd93414a8c8c57a32aefbed4a8111d226e1d423b79641160b80880743478062b88511b3518a73d0e3ea0f865e625e20a47b5bab244a6c6f1d8ccadeeeba508b06b3c78b15580d6e75d665af4e762d87f1857ed268669994b12ec61a9214740e9260712c73693ec0bf9a492a0f9a504989c698562c256b3079397d43d078ba33204ad5c71e69f2c8237086a6e38d6f0e65712b116cce821d8cfda0bfc7ff5d56c3b5f4d848d2cfbaccc83dbe84994eb38e188880ca8d5ce092212dafecb8275c77b4d9fec7374d0c83e2a8cf48aaf52e355151247b694d4b5732094e435fb9a87422636dd3ea7e6550ac96aa8ebd251626897357d266041c48c8ab952cfd45e43eac815442a7f8e15a136a87b2f28ee4fb8a41b47a54b86dc22bd9070d9c4cb8543523e7b586e497e3bb591b55678fb117e75d2b8a37c5b06b3b76043cd0e76c54a7841fe2db29cd869f9460d82d1003834ad8b89c4b2e5552c3700de2eccdd7f300ed7eb44ee8d7f2e163aba8b0e8cb23407fc3654168ef84c18eff5c5df798a686f5bb28383234facce38188d1c1a58819a373318a059ae2b1dbf09f43cfc26d671f356ae1d6cd0e1a242b8d4edfcba7bba0a64a54e8d95d1065efd445b2d832954064b1f15ca0c0bcb8bd1b0595dac506ee6ffe063d92f1bd38b1a75e24a22b1d0be3c4d09ecdd9a1236623eac14cff7ed32b023a82164f9c6d9dfb2e34908f425ca44df1a082e3c481f84c80b015804b6fdfc089c5c951527e7aeaca7044ea0183a322c001d3e1c4bd042e31e64048f5a480755b1bc39eb5895ea40b6e195f1a2c8951d6e841fad7dc9bd813c8f416e5592673c8470d1368032fd299dc2607254cbc1b983ea5855748e0cc1241e1147111e7165882cf395b488d91a6fc7cc86cc52e9242e58fbf17231562a4694ff3450ac7f2453210ced3954b33d20ca56e543520e82cc408f3ea2a99b4fa0373c40b354ed1f8c8d77b891d217c6047f6ed246fef3ce7b505275b775a4af0686d849cc3a57f5b775380493ea4043b209627540c3bf04373fe3015bd4bbdc5499d82418d14805164ae30f8e5efec1dd7ed54a90ebf1c0c254a038d841058986afd849c8e7b1b2e62247c28413cec4b1308cfe2536088ad9feacd1f59815f8bdc35b4af205a5781bca014d96bb85bdcce8f8d6e6c416b96c44922007b2159d80dfb417bd791b5187d3d1355ec2965c4d9839343883820ea419bee37367967c9ab34f3148892811ced743a6435b733f62bc1e2222da4c432197032c1df9dab34ce2431f7a85653e387c45e84b181ea188d5120be908d9588883d49a424e5178ae8c2443f1f7a36e3df404362654200bc52b06739836cf948119e4016c528ddc4b2e13f2a233359fe4614814ddfc3f942b5a3ee7086c59a80696cd5e80924fb53c23ee6bcc8d01c3f6804b080a3b413d047d27f0bd546ce7122624142b7fe176fa484338082610804c56c7f2cef382261e0bc44b8b046ac2a64fb96c837b833d9fee688ef8adf9a2b333056eb904ddc280282707b912922d2289c5562d961f9b7d4af30152cd665113e6fd59d3266eb42360154a327faaea7825d5e08855ededda2df1444fe82e3b28eb2f697e10ab971177806336e31add1e0be769d98052007471cb9a71b573b592adda88502ea452bb46efc8e84a04f86c928f7e143cbe4c71226c54bca891d11b1bc645c418f987e4b81adcac55cc9d7171dfdfb0eb4d8655fd5e440f124dfd622d96a85e17c16d31c0bbbf300ddb745d0410d96a7a917b178d10b809bacbc684c37927e253abfd684839f6e9dd999258b9226571bbc4c63b9896c9434116f21764a030c0622384b5716a8d00edf9f949907956da84db90759c4392eed0d080c14d112bd773ff1c8d65a8fe77181cc770552f9b0f42b27fd95cd7b3f922d7f38a9c0d31f8eb57711451df95b60fc1cce9acd3abecf4d5eac153cde0cb7b137f0524f49adf5c6939748f366b0bcd283c80ccb52d8230c96eb4327d4d3b3057bc0a283bc0c45917bd440349f1e02269d965610bdf223f7a837a3a4c6cd9696aa03a27c2781926aeaf36b3ef4ccf7169a9316acfd42fecaf963227b08f47363bff1dc745e24f4e21a3c0adeed8e2098a986ac3134d7b17745e391f840ee58312dc426f2e998da0832e890f84854bccdfc3dbedbadbc6d9c81fdaa6e4147d1c93eb2c2dca9ef86325911dabc2dfec612b401140722bfca6fcd5db2ca80672980d028c3e66ba98933e5c151146fb3b3a661d6a95bcd267f623c22cdb3563d77ed7de3fe499ca9f2d58f7b27ff26c2f7a746eeb06db13c88c94e560ef945d29d608bff91c4108534c6f0662b7188d046fc79809f58e79b00322af707a092293ec5f72eb7cc7f8aa5fe423787030143d72d7aa230419fcec03e4bbb39446701ee7c61f5900091d10af9af0a427f3d6f05247a29fa7c8cb36c0dcf1d51c4a44e3ad813babc282074a5d4a67463043b0b202c45f90128c60fbac3d45b7263f5f7969dab9a427866466f9dfaf285966eabaad83d4786a1cce9f9219ab9b267f35263b22a8be2ba1162f31bb3b9d307973f44aa7d134ffec9bab98f2cacf01c79ea7f0ec97a23f53a01585f0aa1e54f8ef3b699e1f969928535c63697d7c632f7a1ebcdb6951fc742cec0df9c251c7e9ef86ed6bc4e549d5cffe0e25d379f15c65e56636e866caf1f065053c7d815584b77cba8687e201e06451f4d450d21be33b6759fe0db38e852c54626282a2370c7b3908949d062036ab5f3cb17b0cf323432f9751ce0b213b207f856f84630259ed49481760a0b29114336f886d9601c4fb5ce0a23c820fc8e1dc02cb31e5416754b141f9f47a0d88aa040a125f2992407ce099f89f6a57934c1e738a8ff60d890345094eaf5bcfc0ce687ad7308a71d0901621259665a14e183d97ce3b5f9afddb6e3f29083adc3fdde4b1b27c09ce6323f15d23f6e8b92bdf610e0b05410c28bd808d58d54f695e0a86ff834de2e019266eebdc4a33c5dc1b2125914c164d9e2455a969bc9881be3e4366ef0d3e2a3b42614a604bd757631c87eea062318567aab053e835d1b2b11aaf11fa535ae03e36ab0d1604dd98a460e40ee8d5465b4728a3b03202c45e90128e9c3cbabdc6b932c4542b850e3565bda46cce1b5959502841dc0b5fa0d6c0317c7c56dd381ccd2da858515370a945a6a5f52d348cf0843702555ec9f6d3351ce9b6c468e5d82704c03e142d4c9ee644906dba73d125223238514ae7255e2c7c3cdd95a16470d196a60fcfae88cd084b4107b5d293d03b4607482111029a03a9a236ab023d0425d745d9d18d19380b6906b970518901336c45c953880cde5d1503a6c56255e80158bf88c442e4181ebe413501f29d2de7206f16401fa5f5a536c766dd16267d76fa547d7cbcfe234a3349e8ab73c4b7971548a3f6b9b7e00711c0db8849a68b532414714db4e483f9956d7e82ff9abbb88e3370f7abbb98edd78232909bc545bb23f7900fe48b32fe44d2b8346f8c5ad1dd8cff6f12519f3366ff3c6780ecedbc3eab95f61dd4143b6c48b0665a7b50cc83f16ae1aef239596294d77c718ec5f515d551bdd85164bf7048567eef440293e3b76afbb7485f113d25464d1439a41f6032f7b35b60c48b14f735058ede5d287d3f6a06e3bebab193f5c502b2a0c0bb4649fdaaf22541afc37ace6404c1c38d22d22dc7f6b19396859f966681a91fc89cda8a15812f02605e5a3f6c75fc1300cfc55fe03e20a7e1a26e7b44c89f14c67541566a7ec2abaf90400804ad4977f9c43c802d2f441fd4c7e6cffc61d012a14fd2ebf4be866d562b341735c805ee1802d97963454bfda3f96aea6a9822609c8cf657789a3d8fd253be25f706478443b9859adf54b63d5e37ac7d9f47c49f86860820ec0dad9e0e69a3f872e02bc156595003bf7a5250c8af04164452b75a66e2c68f92774977e324ac21f7641516926d7303fd1111462accc8b4db5f4653478cea0c3e0b31e0a5ee1734d68fc360e16c681631bcb347bd803249876ac47b6729926af1ed32c905b8f030a5c06769858ef14c431dee8cae3b99af7611c501895c37446bd61e237145d7d88c50230c43e33d694ed60cf85534c0f23cae361af0cdbe738a8ad0e61ec06b2b199c631e224fe2ddef1bf38ae293c2600344949397a77fc5ca0cfb80551c830ab7577d455bd430066dfbcf40fd7846d4c2f71835655f83be235622f457be7163b7d5ee43cd50ea1bf1beeb7ff92a9ce58cc9a0329c93a14d655e30bdaefe8553baa6369a94550871ef2c1a34ff6e0581f1951d92c910e01bd94d31ed1215628b9d49345bbbf05a23fb35af6bc74ce04efbc5e9d05c9bf6878f757d10dd25a3b63ffeb968fb244f0217894bada149a833297590dfaafe8d3ae3e85b1a0753d26b823ccc7d1c2a8119a230d8b3f9eeb14b2a3a3973837a582517dad310d43df3fedf13916a1cd98a60235476b7e6b0cfcffa9ed51ba807718732053cf521b05f1ce7d52ce209d4a30c83aed476ac253bed1ac3a90536e126ff917e07d780c4589a26be793e775840d89eba8f9881099794a085d3afcec53ba1ea0acd202d37dea772702af63454d258a378d0666d84e73999eb745df7e959e7056ba94f3cd4bfe8a6b937ae243b25bbaf7c67f8590df8037966da33c9bbb1ac1b6e8248b427d9fd152b95422e2d6600654f34d1567353ebfb7fc2d4a9b1acb7bbb0db813b1feac89f54755ecf3908f18f5c248eebbade62a5bba9b9531abc85ae4583fa875c523907d08d012b6757a1bd0936919b7160994db032420f5b8fd8c2e4ed59426fa6ea3db44df4a0bf87ab6e704bfb037b934396c8d8eff23ff8e4c880e7e201837a6aa038f32208da30f6e8056556c72639b29979690006618028c9ff926f3c207c94ac5c81e82adfa7b81fd1489a99223b17fc121154bd184b3669b62e8771e0e7ab2b41863ab526be590e7fa8494ecfabe993d0bcffe72a1c6bc456c068df6c74f3076d4d00d644e073c670e960008b7ccb9095ad383117b1aca30a2843b094e7d036c87eebfde83408271cbbdfdf3bc5c2912f79de0349e1159b8dc51e3630cef3949bdbac01743531bf945a567a6aa224d2cc8c8dbcc3f972f416c67d300beb1e0ddff0d9992b336bcddb70d0d00be89d8de42945ecd31cf6d5e3597ab78294629351b7473a5b1472047d0a3e9087eb6fcfa4dc520c3358e7318e96a71e2749c2b59092d71d78a15ced883efab10969bebee880b8384c7dcde39ef86842541e5a11c1822a0095268dd61d06c9c2c524399806c4f4ddb6d213ad107f6eb5eab2f1679dc525cccaf75e729407e83b814d1dd7809640afba231d96f0b71ce7f3f5fafe0b169cbedb79e1c5393b0f5a3358949788d316f6b65ed0ab35f5c5a4c28156ef84b9ac8d7da908a2cefd7d77fa172d747135f1c06e7410f54870e5ee381c98064e31d4ee89a56e751f0bff6c4d38d6d10b4358ab187e36b3545e8b3d8c3d8075b893c7dd9a4e92eceaca6a2752f65831c842ef15c9046901f71492fee88d9fa91237ba12a2406a7cd923684122af2f2b6ed87fc5202e20b1687d21c95b24bdb3712115fb03b6812f7fe418856a48b27ca1cfbd6e74ca111cef13f55eaa4e434b0bf595105f799e85463a1a275451d7da04a779b3a33119259b51fd2bd3d4396f02e771dd1cc2d003f66aa8da484766d92363d3ce33be969cd2b98084d8d539222ab049c6e9dac803c77af7c3b30a8c4779fc211b59e9e92a8b4f80716b02e51a9e5556a482bf4b5495d1a48525a179076e83c9f5a3f2c7835782b3a05edb8e9016101d390f772ce7e41883ec9ef74ada03909a6c58972de63f72973bffb9f308246746e58c56cbec6c0278b66eca0a6b8aff962bcb8f687689d1bc742ab4af3d55818666ea5fdeb663d9f5ee99b8be85e6d3a9183afca8b8696304e16a6b1e68ffcc0148d672a0a335071918a4f79d2005425f0e75dbb7970639c9f588303315ccb31b5ba13fad6ba74d56c7a1cb0cad169aae96fd0b8d132cbdd21b9531712bd086031a5b017ad82d9ec0a30a5642ddeb069aeab4470666c8cddb72eac0531a2abf90883a8db9a4a6a19ed79fdd38f8e5a5d1a3b951991f101f1556a4317c35035f92f3e2d3899be047dda1fc3863e315c0593d8dfe3ab0fad30c141ec10dfc27770dc48c14a3bc4aff211a359e4b469109f044f4cd2b696be28660d0b7e3033bd9695d44b1bc0d01977402c8f91b27d86d049d9a2e2f81d8302295820b2c522d0180eae9bb3fec5ff9c75aa2f64368b568f324ca6b6a8729751198ee8a12253dedcfa535523f45c06b36de8ad4c26b8b4a34bcb0b3fd5841b7636565f26f67848ff9e62b56e1ad3ec52acf23391531b5d5035c48204523fb07baab9521cd5c9b703555eeaba97b8b508e13270480d554f923fc85bfe2493845333909ffd577a54412423b7bc918898593689225cf97d4ef0f2525ea03f7248c0ac66dc7fd9e98470def70b21bfc0d068e0676a24bbcd8848c2d3e1ee42ef11d9d04f236f49e41b50e86f284fdcc1112ad7253efcf6766435308c6d50829e9d50908aa247817a831844c1571ac1eb68da7a74090ec2a0daddc7afb8305ca4f55e11ffa9eb8a967f88c2385a9948e971394c65c25b448ae391832582cbcae05c5507b67f593daa60e88830f439a86840e8f6a87c03387aa8e4a7abc004c13554ae56ffcc821514650e8b4d6876bf4093aecf8ecf44d86296e54ca44085a102bf1b5c03ffb8dcff41722e3d032063cb96eb98158de0a6460d4563446b02c344e3dcd6c44a52ff7a190c43529d04a785713d68f8846d294fec8d6b9a59d8dd5c24897150df1e0db6c1858b5e16c02aa3c02e081a384abf12645acad747c04f03515a3962800321700065d79854f1b5179301eae15029c29e0ba0eafbc162527d036b5898becb97c24761db0a53058ee415dfd22bae4ad2fbbe889c6001edd2df946222e2fca49424fdc52b360f2e7b1a5244b6b4f6a9e7136e5017930d83c73c8d2767a3266142c30a6f4e93187c63589e0ba389667dfe4f7842f4660c452cf310d3993bd03da954b94117244bc0e2f354980ae92eef0802f8dce051666049f59183da860c2843a750777de0902157a07d84a59e814e2f5f516be5c791ea9662b8ce8af31e506a7065e662f752e75f3ac5e84e310a1aeebb88b606c051a7f1b1ddbc088dfce4b614e11aecbff9adf6f582fe066f4966e9e4efa88d381851edd4d175425def6f50bdfdd826facffbb4291adea0b91f3343c63d0c4d9bc7588d0aca84899aacd84c3969cf70adce65c1d368ddba41f41c6a598a2da3dcdef7570a6e6500a4b80afe452fdce8d6c824b47c775318e6b3d75ed259fb8963420a9ea2d3799f61d955e7e6259d60e52ee978c2e37a7e3196c34e9a844e499c7760c8bc1c5c2336e9a00db19416bebd3edd772803f7c29011e1c387b183e4c9c04df3255057c025621fb906b2a22a3aa86c99725345f532d25bc7bca039be31a2d3d761e2fb3192e0160aa35ab0e147c11ce2234ce266f10a4ef3a78d9581829e2fc6fd0b2bb2dd42b912ad0c0ac9d7020bdbb668af475552513bf513858d082ab499322aa7cd1ad8377bc05db2d7f30f8ef1cfd488154a5df9dc20ae74dc8881c7545e31665e543c2c6d3a062b7d4da86bc41e8fe40eb80551d6fa67bc8b7a2104b91821b6a9611a4c5a8260c1750d4b48a91334938b8414a5b29dafcc4269589b5c51ddecd132599effe44f8d85528434a03cb333b18b7fc83ac8f37cb18ec2bd67e07a36790bdb425bb7913a9c7a2a650bdc6ffba2fb7b172ecc58efeda4d14b264811c9c6e414c18059909f81d01ec09c29980b5198922d6c7b5c701a049c31f73a4da49d96b3e59d2d0a144e70cf569edc02a34ec43c4d74d43885bf2d46ca04ffb5728d3e7cb750a1e9a61a3d0549e22f1b72a245009310b95b814bde98b766b48c549e4695a225d54357ac76d0fc44391f84df2833566190fc07a46db04227fbd56727e694f06757d052ef4faf04b32dc5cd0802759d210ce24ea20e5db0ceb13000471aa3698b3cc087302eca7e54949ace0a358dfe879355c0e14fe819d6c0598e4b7c8e414dc37d3df132ab34a036a8439507a452e8166d108e8ff16209867627f3a7bb30247ccd83ef6590022cdd5a39a275174bc0b4900e8fc252ab66a772bbbf69020966b0a093c29fb69c03b00dfec701881c6b88824710357d4da22dc852df0f818d684a0095221fd9e79630203efc2cef065adffb0b63e073423cd0b0931d01a8065e343696586d5ff3ad4a1d3891ce067dfffb3c31bd864cc34b1ac262bc0871f3e47a275cace01619069e4b93630863cdbd8b039fb89b09e8467d6741cdc223a20aea1bd5f2343fce337f2443a4c0a2848a2d825eef98cce55aa9cb3df40001a3d8d12a286df225d507d9409f0018c42df97cea4e614a2a797c9f0e9e0c45edd20a7bca3b9dc3efc5be34c596f595e0cd3bdaa1c2633f5148560a1525b2179ec1145d8c6921eff51b391d716f7776b9bb5a1d1bd35bb8c61a1aa7c07a197d7896d680abd49851c0cca2f84b34b676ee0e7367f39a6015ca3db5b23f2ea2dcc3a4b5ec5ea203e3bd43896a8fa2e20fa07245cc83db8b67170372534bfa8119d1058a53347c9881ed5394fcd8c71126de38b697e448ee9791aaf1f68b0a3e18d1a99bde45ee99592937149c9190a4e77cfbdc620734450c3f505ecef2a04f85a56409c1013d69127fdb63896b6e9bd4ec55ef76193ca01d5e1cbebb98bc883f993300a77c1c24b3a4b176f413813953ccb1616885122d4e4866a77291e5036e33cd59361928702fc828ca20012771e1666cc33ca97f22c57bed0eed453a43689a2340682f8d468243b65564c2141b47a1646856090c8cf0c987494a2b012ad8070e489f0defbb2cec30d97c2f4a01a21b159940216ec79469a8a37004200615e870f48c835b459837035d7321510c7c7e0b86f6759dc89d6443e70da92e232a02906c4e950dbd9bfd997297c9494161b4183634c2965a7d5292345db6c9b302cd4d2517f8a3b38094cb1739104988ce6772a3bf15e5a5ec083f18c69b729e5264c2bf207804928d2c920fa8090f18381bce35261188333881a365ae305a1bd19d0bfdde4aeb425029177e23da0fec3306e80ecaaa10c21ba9f0b5d28c337948504119dc6e17536db2326d0a08dacb10ad5c052390e08ac22a1a5a7ec289fd9c9b81ba690907e0cb2e82ec8be1b2ee8a14a57d86d195b84b35196e98416622be04774dc3a2ec2a7ce2d75ebe4a0d92be30338de99094f249e30cdc335761b6d6874e8134de092b7abe7316a90f88d3e82a250d4d5ba20aaa5d479154001b5a2d7184a03b11878e85d432a063be744e1599b1d1ab281f2f3c555b7cdfeec6ecc12b89f595c9b1adf68d4d17b71913653d67914461a4ad253f3b235f90161f6303df9646d1e5d23ed8c6ff57a4f42a29dc4d52475b1c21310bd14404455fcfa929b4eac5f24173b4626b4e626830b7a7cbcfceb142423aa730dfb76be9a1a0621c48350e8d4f7676b2fd4c5a380bc285adca0fff201fe823f8e10fe187ec079fdcc101ef3e6c7802fa8840b187965e1fc125dab36fbbc874c01e62cd9c105847d1ecc1f8fee00545c7f2f7646f8f1108c3cceeb74c182b96a16821647105f6fb80e7495a44b0f97e1d24b2187356e04c7063db2b700de200321eca2e0e59cebaa67b1dd084b0d65d367303ffbc35f0f8fcef8fd896647d67ea8db66d7a90fca1a11f8e7ae87f0561245f5bccb971a8737b2f905cf012e9b85f5a6a2cde6d950e813665cfeb721bd67731e323f8a9e85f1b01043825f31a1e0f0e4647978c2d7c6b24de4043b4199960b367a7374e3405fced142c82c43c0a1a63d84625a9f0ace766af552a5ecc16bdfedd2177f0a6f95b382d752e2a604bea2d94f9c3efa1b5acf8421903901e45fd28f7ac5e29a60b719d47c819f13c389a659823fd113a6529b423ba9c37f2abc75c2a41f6d81f39a6e7ffcb39146b217f104a550db1729819aa59f0f3bb32dcb317509637c9aaecbd8e942ef2cb52c97aeff177bfdd1e6eed99976b1f4adf4ff00b0dd7a090bf8bca8ca1c8f8fa32c82b4228e40b14c62634ec4e1424ee25dfbbabea069aa3c8e35508b3ea3180bb71148e3b6bb7ea90de17bc7192272517fc01c0943865ca645f5dc0ae8ad978be542f0e0c47666f70c1e50250174615ab57526cab0ddb3a059c3cbcd312254cc99aff5d4a5dba99f9d4854ba7dc20ee4ec1d109e92eca2eaabdfa7a2bed7cd890de64eaac8948135cd2ffd0751bccbb4ce565a664732795bdc3a93de8bf90e5bb8216cd836614e6f8643b54772a9a44fc58f18127345c73fa35757fdf361acce7f608d396ebea7f3e0f5f7871fb2c9d714124f5bdb7d99c1c19efdb14ad4eaf5dce1646446f664efd2775471c3367bcba72fcc22610630ab495f77c12f1a022944029c17f30f89c19b8e8808398d62a5e2d8cf567423cbbb1991cefcad8af3a9010847c4ec31a96a24e0e4bd3149a6b07a3c1a3c71811d15416827ce29d87b8037acfaa219856ecc9d7c490b85339cc01014db1af6dc6ad89dda1d8543ee689717aebf7323f9cfcb2ee978984223a36fe794f2d4eb3d7b12cb846b26a720d7e22a384cb0d6f727b0c9c960bf1d0e3d23d65e9bb99268440424789af2c0b51724d78f1786f7b5876b077a3c3c65a09b079d3619bc92acbb9bcb7421702f948cc2631571e72bc7cf955f5eb81d1e9ce23578a8d6ea9d2a10f1af6823df22c59ef0649550022b986d08d19f276064b2d0627081825a7e179d70f8239850348ccdcb2a61a05eb843483ec6e79099aff15709ec44da15c85f5617bee3e8ce2bfbb8d1cb120efb6287140d1ae902c7c13369ea12be2e4ae6791169f29fe3d261490631e9d0837966ae41b5557c5f6721518cd8899b8a43f3d8c7ae9ebb55dd15fd2d301f5fb6060ad9ca681ab60425ccb156238d268edb82ea7618fd92570f0794b0481994f9905e924198689a6e1972c73ee3f9af1124484e0c6146ec5cd8d6a19882d3a53bf483eb7a1125b5e010f77d8e61f5880493e71b109ea58e54d13e60716a64fb374c7a1509782680028c084a6d20c120514f7e78db8fde6528fc69246bb2a99ca9d06dd8f6aecafae702404e0d69b41972fb0619824fb5d20168a07eeb29b7d424428971a4892fc2444b9aa27faa6cfdbb0e50ef805d57088108640abb826238fa3bbbec83f876869133d8af1ffa1b031c9bad0f1238c0ff8f298eb6f35d4f53b614951f864c2d7b73899fc289f35476339a779a4bc8e89d98a428c9c74d21b47e86033c2a3a59500ad5bfd5e4e2a722491936e9bfe1b10c4b5641f9689eb4fea787a001dbd753dc72ed906a1006e8daa484da80aa1eac950cafe7f46ecb291f39ea55a06de1934514c2686535ec184f7694829538bb006bbd56f38e8f1900041ec7501f9534cc4e83c08680dd26663c1d10577974d47585c36c99ac7ca2a1dd6231603bbbae7c4ba7cf646106749a3198d52986f882af022f71d6c5e0b6e12a2664cfc02cf4aec7544d8bee4e26a4328abc930d0ee1874b71d78b6e947002218e56da1875074c8e2a5116b930bd041b82d94e4eb7e95b30eee71b1c04d094b2db09467109a5b80e284a33448be21cfa21efd6ad3512159c36238a62a168f6414019ea575d540d34b14dd14decba7c9e1b12220a92bc1f0892ba392bf2c19f334808cf9380ef392fe20c17db54c6174490281cb54f15dab30174a7cf477a14bd1082b5c401e105f7980c6ebdb07394685db141401b7b329fdb2078580cb4b8bc921bb9575a14f60677bc49da5670d49105c7a4edb9953eda751f606cd2cd56b9d326f5dfa126a3b0e1cab305773c7433e487f2935054b1479c60c0aa698a0de27a06669bbb2bdb369f106fa2cba80d7a81c03801d348ebbda982df0b484dba533e4a14e206a5d1678d15256cc6d906add705ca4269f3e9705d155d0ed51299bfc6df023ed0ec77690bbf45e322a8547100d37855db22fff37f7b9eee6992164e3e9c0911bcc4878bc737f4cc780bc3fe372fda6df954b9a4798adfd2a0195e0b153616469a26cbb42b528686c0a5a429862d20b17da8b0786d10fe6c81ea5777a608c5f0ea324baa0a49a8dfd4e0e7a9f6ae78a2fd3db5512c4a95078e6d1781d9598afa409576c7158b414fab6c1bd04cd6ecec8baed8f71a71a19b42263e0fbb49509f838aef8a1da94cca1c1e09295cfb557a717124fd6a123789bb8b62486851f9d5c2f343f75a658d8b69197f6e49211bd30185b6cac73e5c221681b75116b4f36db682f6c294e622997dae9a30c7d5941e4a8a0a222a1491c35f1ad79184fc25c05dcfb088717a1c5b2282578e154189c136b78dc26b06613127887072b89082d06dee126aca2b8cdbb47fb22c8e2598e8609095ea1c3c3a1d56e41e2aba3648e9dfbd280d851bb38a94d082ed947a435795e4ae5b32721cd0a294a0da3a1e0ae77078f0274de653a9fd0ccb1fd9e12aaee50cd4e5d1fddd8f012440f9e6d468ade6002b619706d1b38a4f24617c21ba797e158091e35804463a2c10e1018aa51cb342750ecf257de61235ccd427633258070811a69c614e52569dac237b3c91b5068d4e1b7ca938705027cd417d542165057bd804c9dbb82262b0db89f1b0f71a95a4f5c106f145f4a081126d2931b9338c595796919021b93d4744d5853228f5cbade10cc17dc54950a893f70cc895b4f55aac7d42439e18f6d598a9df9c5938e8bb6ecff5d57bd7643cd8e1b3074c4cea233e917599fd6ddc5139872387899d7ffc01a61a7f6bb2b69a3ebb38be1e7537618f99d4424aa7b0f221b50aeee5f0826e3a282191efab16c6f32883d12800e9301ec4a3446f2d5243187e3aea9d6406b7a982d0ea506886808a9cf9a1470fdb50ae0ca7e558cf7017cf3d5dd957de2dcb21628f45eddb1a744e297c2ad98659925f2ea82ace274055c0037368f09cb7f96c25748c7e651f11be1ebfe41a58566c469bef2b2c939cc2de5015091a047bae0445ffd41a9f2d0d572cde477e4e9fe280896cddc9b59596cd93dbb8da21cca82c492ddee9cf0ac06a5b4cd13811c4f6c346ec1885b390c3c2bfe4484a76d27f8f8dac9f8fd6a4bd764da0d7a544a19070f516ebbef3c3a629c5cdf922ffe3bad2a3ad0e3058a7c91d4812ace12e10a7962fa09daff8d109c0b8e16ce5f6a58b96aa1b693bb07ce10c7b1401ebd74d0122e8636333bd7e214730489c430cb4b05c1f63ef4dc384572c49608abc002b93c7a4bb5f49b3cb421bc7e688dad44ccb8be59b2e53f887c1485a3681f95ffa88ce2d53697990c26c17ce01b18e3217dacac1563c61a1bb9a0729d5c4073600305c2063a0cd0d3a90e39def002c2cd81bbce742029ab429919f70a11235822cbd455188f54485a923c91385861d310ff3f32232d42e66a61a17e463695f4987449ae90e151ab28ac83943fa240356a551b0909857a18734760df7856217117f0f8c3f2afa830fbb14242144d9c706848d0a402fc9b2b24ab4495a290fe0e514984c4f450ee4769894fa03e77d376c0ec8a48555cca69921b7531824dadfe1e288443de5fc6c398e2da1e739f681ad850f30288ac6930b92caa465cbe92f2d6c6a678094ca6474cf898de17b583cb30c4471ea71f070a3c845a69531fb95956eafec9c36a70e9c43789f52cc16ef1c47b367f2c3677c595d6ad02203a310de5afeae6ff61473c407a3a4c1188c43cce33a37cd3607e7504918994378044fed2a5273881c92dd64fd9308992417892c952560938d898e9a6cb1961b497601f4fe1b442a81c4539c56d5bb83ca5f793e98ed4a9675766b18db84ec392512aee6f393e7f2e0e829dc4743dea77d3ad210e117f62fbe3e43754234fbd01041ef8d1bf7a8a132c6ab46e9b0db86abc5cca87e6b81d9ce0c0289036e7979fc5dbfd5881f1b76f920bfb4f08f556daaa21bc128cf3432caf1371a3141acdea0b94243150130dd25087fea2f4bf4b600d7ec659c25a810cd430e9f6c3cac94109266f896badcfb27206801bbb94d172ce522ca561129109b4f9ec5e587fdd9314f7b58751ac6c79787a7bf3a8f9a5efb33597dca6dc89847d99c553d6d666eb31e9dacaa9bcba3a418c555a8a1760dca0ac24a9038c1a1f7bb2590a31ce34959da820acb66259ac538fbe4465601b421364c7aee9206d696d5b9defaf460e5c248e148a561885388a3f6f3bca0c65c48a8c35e33d3e07ceb563d9c22cf6cfec535dd4880e00825ae1caee8e4a547c804ac1b489b2ff1091599c8365220b6f87d5ae01f8707d302a897835c8f788550fc8ee5d94037ec9ac857ee0887041cd296df9ffe0d8fa207c49cbb05a9b74313b2a8be286fe68dcf670073de204b3bfe21a5f70e5039250b382e5b0683ef63f09df5b0faa6712c7370c9b854e1ea42557b3ec1188e0a263d417fe1ab7a1553ae8b36d668d5158e61a32d2f267e8f67dac86ce2336576142615d0d6374d9f4555a60cf2fa77807ce7d2bbcbbda59c3cf1d6df8593e5bdcb336e7018b8e320e61f32d963a6f898fe5542db3ca7060f0a474384abd008aa47828ab9ecd0d21a0c228236453421f10cfc194201f902873a97b59e6f2c18f82bc876d761c61b072f54be862b10f00db829b22cd86b556de15e37557deb0f2aaed469ce820790d403408ae02c2188ea6a0ba28b752453515b504ec7cb2c324d4565ba2ccd2e484c8f8a63f74bc5ddfe62b74b44b88c11fcba64f37e275d93331dd5d31a6702763993f1d1663b0f13a3b4677b16076431df30aafecfac06c8a3805ba1a7b4e6fb478b125fa09ccce0bc993d37de50c52bd95b527f4737adf80c8055124e32a9a364c4480731f634912ee95e766ea5acf68eb8783d64d748d754407c91258c6e741d3424154ff23ed340058d20efeb44d426d23ce45f389d68c09ac83001638f915ad02c24ddfe897d6005a529cb644b0c2fc27507ab06a0ebba020411bab0c13053eed030904efc877564fbdff63bcfefcc464aa21345ef5e111dbec6f4e8501fea200e7ce68b8a8b887837d4883a06c79abbadb356757b4617c42dc95dce2d58017bc68d891f51803434734a1e9432545a5761eb6da2773c85c9ea1b7d99d1c8bce940a7d1b065fc19d809e57f10b0c93c31c9c270810679dcfab6c79c10bd63610c62efeeefdf6c740a22cab4ef2abea3ad57c90968f4a1ed8f70e495a308ebff5e726dd962658c75483c97e6900e4b2d93369f939ee7071e5dc9e90d568342dc108997cf3191059533682db51ce818012087331abdfe9e1cbdbfd34e2de2e4b7ddac086c8f675598a082458f0e2b6fb36e742c53122250935d07e953cd9a09d76e77111f4b5b2c0514ddb1a382173b9b424b068a0277b56b8b48445829d80e96ccbf0db5c2809bc032dd12e24052bb67ed7cd869bcf11c24173740c06ff7866c37753230f9f89c5342256ff4e0a069fb9cd3828c80ee564813738152e412d8a5df5dc50a50734b591ed35284a0ac1c8732b263f9694cbf80bad5290b0d993e20f82d04f6ff37cc4b932bf274ec32b28be8ded977daefba399b8442bbc2be411b07a6060655ee2c1d5fb25dd0f0fb2fd4038455250ef17233a2cb79827a0cb8910a853a68ed6eb249d853ef3e3e49a10506c7db1f81ac89b261cacbe544c7f34f3f68b2189f01764518bd9c66d507abf8ccefcd7ee0b288b40211ab21147bc0bfc623c0904024eef17624ac10d5460a96ac6871c9b0011f47e39131d073b56589048c7cc39ae7f237a85ed8c8519a35340bd5fb846c338ba45395a5363628886e56de193548c5588c43c2ab4e9fd720ab64504f82f2cca804d01eafd924bf795cd2f9011d7bf0a23299494dc38609c944b61bb887ae279f4785b27846210f6882255613f2cce0fa7c63488ca46e8c310c02e96370dc2de384122f7597859338adbac841223e1d3fbe59022d6f15b07c06ca22a961ad443adddb29f3aa2fae1ee2368cee2475fda418479e231b14d90bdd5c72040f29eb22491f57e412ded258c678b31d3870efe8e94cca5f90bdd61f2302e53fb65754641a7b8782eea87864bab453bbc6d04fc508802ea2fc1d27fbc9e8c9d6579b49b915b4c6c15ccfc282c751e815a4895d45f561e47fd6948448251fd0537505ffaadf7e8b3007b66805b977ff92bfa4e22d7ec0dd042a49f8d2390502dffc2e52ea2dff691aa07dee5863864e8feecb9f05170463d3bf5023fe22a38f65d08813ee78135cce248e01523c4eedc365fd49fd71b1fdad4ac38c87cede600a1dada230e8dceda9b0069bbf096f7fd88e77582115a4b4d80fd695790b38bf9e91d1661c697cb87cad25c5662a50f6502094d2f0c4b2d0787630c8f762d90fe1fd42ba61e66f46811d3670a90166be8ac068821aa64ef1a2efe822af79592fad61bcf2c19d8ae28f0501c8d836a567aeeceaf09d5a365842421ab4cd3546271541c85c44118c9089c76897a77ca758f8966e883771e88e64deadde84982d2429dc093f4d7a2f71568fb54e198a80b0282609099096073548c0592d8aaeadd080e7fe14028d1c7789fed53a85a18e19a3d75aaa9e054245d85720a6294c7044a3fe54bb5d9dfba25330548b796cbda2d26e6ef00d019eab3df59b510e881333c50f0e36b34d9fddb3da398e2e4881cd0c8ca4bfe7b6fe39bee4b224ddb8598b58ffa4d3d0c280b1e1c053ca9639aee0c2877c7cdc7c3edc5477e49677cf79488c0e3fcb3e3e991756d6724546db37d8ebd2b43f90e88bbbadd5a410ac1d6ff0a185d8ddf322b4c7594c7de55ea2b3de3696f4a40bc61efab91749aa15d7aec5d5fc1c509b4e977a9670f06fcb4efea935ce41d152db4994188a15711f4e6057404e8b102283051bf0b7cb740918bbc488b5ca422527457b49397fdab34221c60cca8a3fdd88bb15fbbde453df0257eee60fb5b82ba5fb92e4b4e3669046453f89592acde853167775ef3a4027f9f661bb60179a4433d1f6dd9a75819045fb5422babf32b05d9bd0b47e8ae7915e68cd6096b5f65ca9aee14f8fbedf66109686e1aecfbed3bb001e8170decfbf69db009b40b1de6f9f69d814d41000f60b90e767a20958a12c51606aaa86efaff28ee52bc741cfdec273c4cbc65fca3fe093ae916497bc7dca02eb424ec4bd49c298beff71662ba79cbf49c3236317030049401ea2621405a400ab1d31c8f229ae1a4c3cb92b602f0ff40f62a02ce1780679741d61131878a0dece1e56636722a5ca1250b071c44ed3bc095ef00f7a29e3158ca2a82f47dc4d4b8994d7ecaa554de0b2352ff4b84668d69424d44844829a50c9603c0031d049da94bdbb5ba91e18d828c61e76ddfd9c89034c5df23d42e8a24bafb0e2aeaa0e2e7a0e2d744504c571a07bd723eee601dc677efba9b31d030ee12f5f3d8b0f87ab1340077746c8f45623de5c81836b7d133f841145f675dabd140cff33c1004c1eff33ccf03f1d372fe86d040e3f7799ee791e87a8ed7edefd3350f60f7707a1bd1f7ca0c0fa29df7fb5b29e8385dbfa781eb5e2ff48ff639685703ca797144bd0753fcb417bf93c89df61c740ecd670599aeaa2d0cbf6f4b539eae20e76753777698da3fe1063af8dfe8e5e0260ce58d632ad2ba0fd1b37bbc16e25af91409e55b1eda01f36de4e2575bb012754e9c5a4d6badf58f3abf96e2786ba398ae3731eb310cdca4ae4bead80a03493849c9b6c5bfec337bac77505b6c8f457111db9235064c2b4c57fb3ae2c216bbfbcc1edb631908fcb00319f86814f8ba104dd279561335ae98beef87bb4b836eea01dc35500770279ee8fe08508d964ffdfb9e08e8ff9ee7bf1a5005f3de0a3afda1ceaa1f44d2bfdf5a3cbaf81aa8c26b94c26f3427fc9dae6008f175bad6c68de2176b1fbe2f1f44cbdf4183441bda53e141e8ef744f853fff76da6b94e769684f04c4e779f179d29e0aa90713ddf63d11389ffff9fcf97eefc907c13f51db4780da9e02bad61e7c130ddaf9dbc19daee283246a437fd020f0f98a6a08aa6530ede93a80e37800eb70ac6b30c45a5da71ad4af5f4bca0701134974e7a14b5f8f399f87aaf996b51e0214dcd728d0da797f4374e92ad4a37fef7b6fbfa36938be2c75863c9636253cfc75e4b13de1fb7d7206f9f5f89d28e20be4afbd05f28be888aee177df832fde2d3d24a13b07dd95b49c73e24d631f1c22e7cec39e8731c69ed68f31de7b6f8cbd347f873190067eefbd4f12dd4fceb7cbb75743bc9dd7618c73cef9e727b7114531ef7bee51bdf7de11ea4e73c628077efa4d83f2b5ba9f51d08a78758655ed378778fded47cf3fb187ef86fb36337c55bbd6dd6b4e024c49e4ad33f056506b8f033f3d68b469f195dbc278b7bbbbe1ea2d7ce523f06f2b2f6b6c039444bee5d7de0736c071dcbf5f4d74bcbb46410f2df3adc31b9028ea90b1466d5ef8fa5960e2c5c03387b186ae1a7aed35c818748a31c618d73834e1e38f1b801db3b782f135f411bd59e7997566656920a62b08d2d29577e97a9edfa55dbaaa5dce386be830a5f18330d1c10f20667b7e9b182f3119be9ee749157a622e4e0c92de3db8a241fa37877c0bdaff3d889a87fd1f7e00871a10089d31dcbb017b7703c65a0227097ce5bbf38c410ae357a9ecef8a6e56805ef9eebaaeeb52fdde7e4c96a0b51e930420459fdf2d02004be54f27e0f8378812f0bb3dafeb3e1fde79523de414cec33de05ee1e4774740819bbc684ac577c819883a56e50f799e36112208eef00b22e777ebdc0e83204e7378d1d49915a02fc985e32b0d5debabafc6e0e20bd6eff74afe8c6b60a207dc477e3fd103ee22d766da2f4e2c49bf1388f75e71c743ae2bdfae58918e3bd983f3711f8951612190476be02bd8f7de446e53bf38139afa857e716263faad81f0521abf1cc4908b25750abaafebbaeff3c0aeeb467548fc78d1d44e45506a6b8f6bdc01ec2088ef4dbf4ea5c2def1ef8ba63aef39f6b1c9295c7309440fb8e71eb1cbb70fdf5bfe3360fde2ce6ce916f48b3b93a38bb816628fda04e67dedd929ef632f9ad24553389354f80af1f2a2a97cff9e997c0201a33a5a3c4c4acfe9171756d5f1f39be69cf50efb122696b398787397f579ddd6596ce827e722462d0d2b2f7840ddd051240e54189459539852980a1332c8089142b42485a5ca99540e9a1e9ad128eb117ad1306bca62268b64cdac28f34432ad88b214e6418a273070d8e8009699e941b2e0fde2cc1031e384c679b6384f553d525552e9ad88b612228c392f4f1fcde2ca2895696a5255d2e83c4923320518d8578e2c220273439e205380c501cb9d278af3545592485555951c3a4f72e8ec0bca4b88190c105e6bbe7475217a5293fba2827346807e715f57bea89c67ee3ccbdea8ea9bf37ca3aa6a5495ac48021b5e433dec17e7c5a30d17bb95c30d578e346d9ef4af5f5cd7d6f737c4afff96101ffc102d3125424c2f2a34252214c5fce293a9889cd7a910ae3d8f13f738d716bedf0fa6fa45b128a74253224c0a6f8e4fe1c7cf8ff1ef17817fefc74fa62222789d0a7d381552b585efcda7909adfe374ccdf97a958437b2a00bef822c01753a129f285c4079f4c45d03ee77b9a980a6da02d7c9f3fcca9101e4a31c69f5321a12911e1e35448032ff4f9fbaed68a876c7f3be00f27d56ca8d09408f1775221dc41fcf1395a227cf075d0125322c21443690bdf835f2207bd1d6a3c4edcfb8e8a0a8a9696109ab2c0ed00a625babf1d564cd5bfaea72eaa9c23d543010f63ab108826f0fe748c8de93da6dfa8fa8dbab5a2f78bdb1a02fbc58d71b3d5b491c49b451d321d7ae027fa4850e337bc21c66a7813c51cf4f37aadeb3a68d72fee91a3dd8bb41a50edd3bbe7a0bb67d427df50cdd1f7469f6fcc4131971cf4f61aef7c74fe2efc3a0f6b68f76346c5efd0db734e497c10bbcf614677c7618a710af61afea0ccac69af575aeabd4fc690f362464a1d3fcc153b5432fef57b3564a3afaaaa6aadaf869ebad65ad519764e0d8002ca8b2d5a2cceca98951d79462a3a177b06923ebb71e663c5991123af7d66d557feac124eb6e1241b8e94e47d4f479d94d24e6fa6120fcdb2fef63fdc8c0b12f632239362d7fac5e55af4f5d530c65f0fc4185f5c8655eb175766a4acab6ccbdebbf3cacacad69821894fb51d291a8d268a565e11b32c332e3a35201d1d1dcecdc4ccc8d0ce94b146654e485ebb4c8ac209345d67e05018eaa2c2301cc3918688979c871d0a0bc66a8cd930bfc0939737546c127111c813869450b91e144edcfe2777a3e7f48bcbc9e8ebab448fea84e1175756d4bf32b1be825dfde272577253724b72b8d332b6cce90166659e918b19e30dd0c799912d9142d11994b32d675ae769e63c55d52ca3aafbaa7b39c0d664d1bac2b232d1ec9e2770fbfd11cb42c49bbf4d12521b281ca24e17bfa99966a7c1ba42c31877fbc7bf3f3eb7bbe1c3edb75b411e7f7e7e7c44f4470c12539ff3cc18d6f0cf11630f47138c870fbe97068129f7b60c9147e7085f6f6cd6f4f5a7e713a76608ef2adc44c4e7a9aa6657361bb3d9a8b7aae6ceecca6665362b955ace7681d1de68692c599ba5bd892c9836cadd12423b810158327072ed89b602b6a8adf0dd254b3930d4fd02e28cb0945b66694b0b17048690dcd19134383a54597bb5982c4e72e462b9644f2d4a688f5a11dadb4489e7019a7be5ae11d39eac9911b098a176c5fdc25ace80d06218002bd6fab02cdc48692fb0415c5c8901692f99344e5a7d348037626c6ea028f315656447aff1c35291816bfc68b9b4580aa96595b459ed015805249918d285cd10a89c92190e8a9075a88f6a695860b119975b65aaa92501abf8d252c0be81d36ab5655a94c56a3ccff3bc0fe25cae6b956b376ba46dd2f2286b05c0763dda336d0676497ba58bb281bd2438a9d29ad0e2af0bd81b274c4b810d2372d506c758d35ac13a9850b516b0616ada125aae3603560745bbf3edfb888ca550fabe6f48ffd0ac79bda448ab810d007b4f60823bb85d985a8ce48e2de07ab1d122809dc1418b4f0080997664c3b4ba4600966d79d83659eded4aba674b209819d512a930365b42aaf40f2220d92db8ca4bebc6479bc3a669311b305c1bb263ee14bcd5c35ead29ed076d030ac08299c00016ef40e300f642b1c2d1426913c0b269dfb4254ba5dd613d163f69411805a8c104a34d10316d5804b1fa5a08bd98726a7d44ad790232a4c6d21dabd2010292085f4c5ffbc7d8980e35a6655f38b5297b960213dd27433016acd6ab5559ac312ca4abddf26a6d595a0c5809d80b065bb966a69705e657ebbd8831be0f828e51307bddae4960eda4883702f0fbd713072000f4ac10767f777e8c769dac53a37b7177d7b1d3faa63f3cffd5167abc140449293cd53332ee8c1bad71c717c3ce379c77da93d38b7bd791f2f5c916ce283ee65b41e37fbf6e334499ae397be9de296dfc6fff3a026fb487a681cea08a21889d913006fb774eaad53ed87ea7a30d9724f9ebeef983bcd4f6b4ec89694aa6ebcee96a0bad3acdeb34f4f631e7effa46bb9e7fe78c66247c417ef03bf47750fce21ef38bdbd8e1a76990779eaada82fe35bdda42f8670fda4ffbcfabfdeef9549d41036d413f96da53daaf23ce757fa07dd0487b0dc631cd2f3006b41008672fcd2ff005574b9b10b50d0c7b15e3cb550c1b57ed9aab56ca558c221afe95863fa886dd74ae83eeaf7f9fe33db86be93a625c371e5b8c48638b08b85c2d3de962bf574b23c08082a254a54306578f189bca18d258d2d552111dfb5e8c2fc6b8f4b9774dead3efd5928d2ee21ad0bd18e37cab7dc0f7861fdfdbd51a5f7db5d6a947464189e7bf7f37c619cc69c015778c2f983bbdd1553fc6186370c569e765717e767b5f2d1df5bdf7de7bef120deffabd5a52515e2da128adde983e389abe7bfabd52ba72a5044553a91af4cef9027e069cea852ba51f5df77ba5d4a39fc1d157150d8df28cb5523a3249504251c29b13c6cca7af2a616260297b4899c204cc9172cc07530e924c0db3478ca824172b928a62e44a5063ea28a346ab64a1a5d442650cceb48284e4025236d191e401b9a6890c068c1c30545c3133b9ac29db84396d9963b8946659250d27a68d11cc2f42ccf028c544915e3820f242e9cd8b152ae2706103c384d24597c9c48bb9a58472e809e9c68af422622e859075837d02632aab5cb4d07271e2879b12051a11bc4c10c09841ae9444a23c2d31911829435526912a49e8800c6bc92e24a4194844660bc7444a3303ac7c22862b8b99654aaec95755a9e2471905840fa0cc27325a1cbd387194424c1910b213664aa431545b4cac2a2eaeca23229843414c233bc8341f50cd287db44882d3c2e8c51995134c2162a5145759a48b0985042eacf283245a434835534d3658380d592ac282050d1643268e36669333a51b3267be9854ac90264029952831b38a98523d4a2c383ca0417661bd561c95612b50ac79439a8d951c7cdd08439e6129914831a79898478e5cf9909163488d1431ca2d23175b8c8acc1ab9d2899aa9324bb4ca56cb0d2a2418ce647988a48ce221101376905b51e592d30b2693878aa372870a22f24bce74425606092b8d701d7931b55849128514c3c4acaa3243002265072eca8b536983a92cc511994b41a494339dc84a306125111729e6852c63a5ec1245061313570504480965871925ca347212632a2a3a625244541ee58cc8c830615fb884782947b0528e89e20113b3a8cae40008196747f923ca4ce1447e319559888eb08888aae4d8909957c2ca165c71bc78b192230a141332556612101176906351699c50309521a038c28282880493333b202b61849538b8cc295ecc1d56ca1a514a2b4ccc11aaca80941dec20b5a248384ee616d39213474d27884a1072250f32b30b07c3c27090ab64fa625e6131a55021df38e9b22acd048ed2a8942a1c3252c968461010082000e31600002010088545e2308e6339a82dee01140009619a30663c1c238be27030100a44310c43310c03300803300002000044710cc4705dbe006656f4b810b20f9c1b36bad1559e57ff0adf31dc868706d7e60a6bed57f60e3b2d5f1320e7f73a406f16fc510f1d700f01581e90365d421c3abcd2bd2a1da5a91620ad45d07d43f3802813f7a74b98ce1df4386f0c9eec63fa9822ad4befdea90666bed6eee950dd5c3283b93e444edcce55fdb60ccb15ff42c8f967e38fc38cf6a82d12811bd412751fde25f289a548faa26ee46151115976b77e3262443d104c76d1558958a2968267a729626526aa1a9124913a3859b41a4317113c186ce511b3dc51996286abc11b4d08fd549b50369f1bb8d144940e942b483983299ac32ac79a41a67378bede119769a87cccd87b2cae1b47c50b716b78d803a637886d4b01a60a4bd46346336d859207a8f51dd5b3dfb6b9cd38d07851d4250b673d25f3cb06b2321962f53cf4cbc57a1841e6a7eae04f64c29b67d3c760e0667ae4b10f248c0f2d6cba589401842efb53ea0c8acb301af1254dfdf4c516ae5309002778651a48bbb9f7b86970aa6bb9a8b9fc5bf603a7b677121bd9e14006f8f1667aedecd3512454f42a66c048daea9722cbfb118fae62192e47218a8f2529fd6079273c303aa8be674d05795b47868dd579679b9a2d94f3bcd774648cd1f211419275e0b04c88412363fa7429d9b921f4494a40c634ceecf1effef30f3ffc35870e53be13fa800d0a757c8baba7099f3730a9e076d09f5b3dc33f9d86d58b47eb37260005220fa4096192e85a1a9b1bda9db0ba96e01dca2bbde40d67b3fffcd108dfe13b669489d4b03150291d43497807e715c03de81fbdac239e29a2d44f8d8bc6ceec66810e935178cbcda001b75897147799ca1173a41afcb700ac3c3f4cc2d3fd604bdfc842c2bcb1ba7f1557227c26ef7dfd0517b0ed1f32018de1c226bf168bc131a7f0dc15e2a37bff7e06c85889a3c0df82c0718546fc9efaf502fd87de2b38ffef4b125077ddefcb13d8ebc45c42ae29089de0efda8a28ecc806998f763a452f71218716e31bf344ddbab01323738b8cc3e3d89a70168e493a595c63034466175de7951a5d2744e8e6fb5af56bd0cc96595a7b596020c9055d8d043a399468df1dea6206ba321d148110a474f037a1ba410ddd37a5f86059f595e985a41a0c1b739825cd6fdc4385d9e482dbeace203510e7b56693044edeab83a2c9811ad96d8570088ee74a580913eeb2ebc04ae74c50faa1a42cd7794adf656ae06ab36cec33b5fc110adb339a2d59aae860c1e5402561d6035fa5379cb5c5d8e37126fc76c9f69cd5024723a4fa3ce5b4c92d9ba56026fb78e1f390ae815ce9d2d61cbd6674b250fbb54a497fe42609ca4ed6b3f33f55937fb951fc27b22e653a7172cfcf2e39e241bd17db5eb7659787e63c97134a815d35b558ddfdc2aeef1e19621134a8e540b8e5bd08a752ce347e55580dda6fc96a430caacb098ae73ea4dfecc1d5de6e5381a89b72ebac3b7f64a11091c3712c8d7cdb323dc68ee480c5d4beebba5d5de7719dd820858bef49cc76ddcb62e343f3ca517894320e704bc75c138c94f2402377028eeb9c1fd7f72f130616e75a2a64631c99c39f42820ef72a96f23b250cd24a6a05afe8c538314d4b3b82b7f975629a26f3962cf3eb0265ab3470d57542489929fb1ae1a91029a8ae6873dc6da7367eddaac194ce50e1d9b89108ab53a245900105537b9c4232653cf65e1226c44a0c8c99b100efb6bc9fcc0a4889cd8d226c19ea30cab3f4589f3d244de68c0e8ca2fac87c1ae894378eb6a37c0569b2aa59bd5fc1956efbaa983d497806594b238af8c30974ac372cc9f0aac507f6a78408d3bcc55b003d62d0c4ac8c20c158fd38314d4b2b03675d15a1cfb246c7e4588b90c7bb24067f8a49c685b5334953cba5c3fa6cbb320218de16949795747823ef628c94a4cabc4d0c31ae61ff0a34227c95626f1b338930a5ad096cde6f1a3acf746eb1556be3c976c915c1f41de5d1d87184a172ccd665cfa10c53d56dd1cea24e4226ce746d5df29dca98ce16d70461cda6fbf97de767fab52f5bf289aa32f67ba3821cad5b99c0ea48521cdad1fba0c9b1a83de425af76f6a724f501b7e63a8e0c15d559984c70119468aef99dc93c41c4eba0bc4743caff1620976005aa7750813cc7859884e14dd92504107ec0d2bbde3d77cd85b74d52dec77d76a009b358e98429ca6c4ab4a1b3932e7d0155167808e33399d0ae573e2b3846737ee34b5c999e8c6c569a8c09750ee9c65d80a4b732075ceb585e5e9e8c5c45278642223d3a78c81ad031b4568ec00a75ba42f253e50c8a74368030f9b69217fe5c7fe04beaff524c8c375119a381e63f4a084ccd34227dc48662dbd05332da6c4935d5a54eaff649ef650cf59a6aa088a28282aeb87c4e1ca642f080372ec71321e942d52100213f093889f08dde6b1110acc95172f067ea9606a9cd3c8ffb4dbbfade87991a2a79f36c7e1a8840901253ed78b55040aceed6efe18f51c028774d387622015e880020d26e736b50a3ccdeea9b3dcb8103ce80aefdca60a1f41f7ab8b77f867f02c8d6f7247d0af3b13bf9d5dd210afcd830614b15fe687e5902cc1d9446b7352b2ffd184661288990857122c08d5aa082bccad20eddbe1c4b1511b9428badfa52ef09005bec19c4eec5d013c328119124889fdd1b1b3b8348cfa64ad6f2f5d4785982f1d2705798be9e3ed5372aaf4328e1cc59401c74564c508cbc0cac88dadedf27cdbfa5b9d8cb7ebf563ac062ffdb007e3bf1d926af9885abc401a8b68cf262e32ac9c250e0305d0c6a1407762a0855364c676ac13b59dc907f906280e0d66dc3dc65ff1f9793855d51be850d80ae4e0f8c03de4216f7bdb25346096e8139ecfabc402a8a7a1485fe6b4fc561ba324cf2afd976043822000320ea87be5cb373a57fe2779c7052d8af93da3d869e6b761d29b0849c43830551e26a7289b9463c399202295fff1120dd077a398da9eb85451d4f9744dcd6abe7cf4a5f9dc65887940456b7e5f99700f33a26c1015f484bfe561a689fd611b318d0fe8c3386156158ea5287bcfe6f41d6808614af4afa13739594031bbcbf3d84b46e1316d5e06ed78f1e0ac384b78b96fd3048d51398d3f0170494f21a2f182341fcdb24c72c03d156343458a8ee8726fc8b6002465c3e268649de0072ee10523c168984c032a005bca47c0ca90b4cb55302c081c3063bf7d89394ccb8f74edcd5d235b83b280ee98ca38ca1ba084e11771dc7b406e651dde377693d4d5acc09337a6d372a13c653b28d4485223e3e10195cea725ce8a081e032c0354785308254c315ea02ac6d6aa98a1295af691bc287fc22a6d9e56a3e52a06a8ea2432d05b639039909092cdd9c3981f81ede09c12235b5b2ca8973745f2512d02f44b53a3cca858f38e87e1c0f28632ab800214f248937089763eacc80d50b79ec042fa1758cc70dbf667a2c51bca17aee03fd72143760ea5f4edfdd905c5e3346197c2fbdb0ca2b2772f5651eefb93016f9b54092254b40c65619d3cacfe5fa13d5744ee1f92f356d8ce5c3752656d0b641f55e1270627b6374935516ccacc4959a1bd72a5881331f7e5a15705f94cd78b58ded49f1aa9662e5ea56ca6eef83c35348c46d3251341a8b47a5ef632089f5919a481583ede7287c654862c975500315341cd5a13c53bd268782077bee94d0c9793f6e584739ddaa223e06c4306662f6490a9e70c47743a1fb1ba7d36353de62b1be3a68a6512ec02ccd511c43a4b9120fac71423b6568bd781c604c87a1f1f8453743001400c5953f39ca27983a0d1aa768645c5a16b8d41357a6a928bba37888e22d031a123ab54d68b421963a18b850435bc61562b8d33843ece98c5242f89682448616822f873435c4392212bc9fa06b171234d84964604352879be06742032a6456076309fdbd656ca152738b76d95041d891b769893d12dd09ce0414893a122609fd84ee8483046409a19d08fe39218a36a2c97a16de972cb31054f164e98eea09216ca748c01085729afe4401891312fb09ce843d26908a84ac6e9dd0e389e152435b2d64c249823b289b2dcf7d26ac4be494a09a89d1db10a52d03168276f6093612fd4f201d87e0ae97445189d304df9d503117226cb34964b02138edbcc0430d6d195708eece13bd6b62f4374452cb8087c40e71c299089d10da04525388a50d272adec45f5b08d8ce447587b4740af086e925c142cbe085269d3a314a02a813315243bf775e1443cc6d04134773a1ff70731543d4b8031a86bce3fc9a879a6f2fe4217c4b59d15f937337c33cc790341e456de0cc825d1eb368439938ba86be9d9048c0d043c0da79a29b847702a11331e821b57b2051a9135ea442e45a062d6e5f2824e23a3b01fb3f4476eea81ea2b951b70c3b763c6b54a521f63602166f176e9a41e19e8dbf58a8e8ef2e7d9e05c46591f89600d189ba5643d45b062804abd378862eced1c50f255caf135d1c8708db5ef042c836cac4d151e8e7dc13f82140b40c35f46f0e0a5a08ad5b48bc0fc515445c9e2560e84302da6d42db1331fed0dfbaa37b08fdd64b09187ec86e1b7d82d12121225a86126273db4478a260821909d14fc4e043427753a23d613d137589428db58c5e08e17a9dd0100999dced891faaa433ba86feaebdd842e8ad57a28566e4bc49da109c0fce377a84b67b17cf08a63b49de57c845bed1f596b4a2bd0c754b288604d84af1bd4bdea16252644022910b512c078f50a82e794494314b459794a5d77973224700bdd9352b1e358eaee950b32d631862bec19087f0b4f9091c121a12d53ea1f1876c377b126189e212619e38ba85feb36554439d5be284c616fab95125647102461f3261cbb0420677a03f43de8d22114a890c3e64864e81d650c55a8619f238a24c68ac426f6df9c47609644498423a769be68b40e70dddb615a0bc9b317653af44c6658877f3253a3711630b01b83e4d1ce585286c19ac90c71da347e8535335718a092ffa500b5ac6158239a7247aa2212d6c12309ad0694db8090d7708969ca27868dc3a2991e10c911c2e3aea362901c30d916d59d1c8595202862744be6526f49bd0100f99ccdd8217aa64cb504266771afa90d11c8c35f4e3969186caa0bb032b5478cba06383917dfc6e727c43a94d323767509245ab16de5951bdcb23f642eee64868bc4a95445732bcec7aa9d62ffe87bd69fb08e36b79d98724a59a9cb2653b436548603b0d4f08ea9a4349b7eb84174721e22d833f04e9d68991125524a026944abc3ba1d10d61b983ce3c8451cb908484ce66a28d047d13314421b84bde84a285d0b2c963c2a86a087bcb100a91ba1d7586305a4f892a8834a2d838029efe0bcaa7058b468695b72a181786a41ebbbd62945697781a6a44f31aa3c0bac18e2659829fc1dec27eb7f2665595d0cb686143f1c623bf3373a93003f88313f9b0e90476352c3e58c7e91f9a59ef4814204de0609169162678b2826ebed84428032a2306587aa1cb0958e2377acf46983453e1c24bc697eeefe2edd37d08f80ff19f7987b1957bafff6d71903f14882caa088295cfd6077ed9f31eec5c7d26b24c4a39091289ac1836d1f73cca5295e5e3fe41817626e7879cf494c91640898a9ebc27d649cc580d3563518d6ed75932d9781c1c2fe182f2e054b5f94f522bfb39db65a50db59aa09cbb5f39d992fc7a1857be843f4b601c7a2766b99accbf5d4664bea98d4aadb4c0dba58ef011a7bd25d1561f3ac047e636dcd5e936db6a2327a0a80d791fdc413d6f4af51ce55d064c34b68e66884479e6d5d7a0510cd3f6d65e7e2185720dc9f375dfe807ad3e0a10023fc31531d84075708f4d82035b3310f0f83013c801139c782966bad9afcb0f1b7338084d1d55f0cc580fc380f291bc49245d842ee322328a6d662944e1c2da2cff962d973fc5cb5569812f9a42376522a5ad72b9cdd89bd06e162e6d542ad7827ab727584232fc1b0ac52098411d749eb865de43f2414085613c4888b21732260589f67793b73420a95febd9bf63d01572adc956291e52ded4338ea5c49468109bd9958826a0927b2bf4a4548e3b60abede8ecec9480690a50e1c1754b02cd33040cfa09ab323d6e6b97e3d503e0190de5a00e2d4129acc46196ab0990b4cb5edff749402f9612958a3606c0a7aad361fdf04e42e00d546afd353576e5ccf7e10fc004400dd0d71aef6bfcf425d5c83014940a4f95a384c8078f3bc867f2a544ae8a9b36ce1b93f2d50b37e4ce710defa28fc94a907347c8df109fb1dea680ca490c390bd6f4039b287abd450c4ea70d81f3477503212a0b5a8490d052bdbcdc0ba4ea44f4dc7614986d06bcc4d6e7cf85b753a918459a60b23b43f36e75467baf044cf0fd868ed50100ec3cd2a956d660ba28f2e018ed85399c9d9f7d9c87c789304d86f7c64e55ace937b226fae2e731d74c32b2b7a7f3f564a2fa3afaf3fa58d698dc85ff98cf28205859e691d05410dcf040c3dc24be33db435fd459534a31acc74dae83656ca49a812aa6e1c47338a8eca1951a575acdc9117b340e43abdccd3e78b66438593cc1f0b9e21716ee4597aa348cd41bb97aedf776978c95b4a0f48fdab0378084ff7367439b97ec15863530ce82d33a144d60a963fc4542e60d30929c1d0b76020640783bcc75ea2c7f640eb40f786f78693d098fba689a61d5c681f9b6db2b82a35e4d1cc76615b4be1249d760c41cfc79c8f9f5d288ae125cfedb9647606b550ab102e1ce70e2c0a6df26c739e132e0a942ccdee105a7de69df30f7028782657d587510ac513f4adba7ba0b4da896c8a85f2fd36f10e0344da917990c5ba4d591e0944aad5672bf62becc5fbd62dbc868bb7d2e8aed3c25fd401f0f1da84850a7328143e98c0654364bdf1b8117b67ebef2e87468a8d3b11224e1beddbaafafd714137a1e800ce0910e72b2c62ca2925a1894f083c1055154aba2d8e0b255ec611684631ac1ef9f8b9b072df931de5e642efa55710ae5d08d043a5898977e0c5131f9b2f5229401b64471878a446f07942c0ea71ab3c80e3e8907fdb3ec6d2f5e72e90572e3837afce27190e5912439c3a7e39ee147aa616d039de4c9d706403a1c6140cdc84e1643e32cb2be110506cc2783ee27ec520d20983e78e268f17f2388955d6de78901ec70a0c7850cb90023dd94d0380ec66c4ef93b4351711294e16875e2909fab15165c363e829993d8f95aabeeb7d1c679677ea7a1c62fbef36ada1d86ec9d84014579c50bce4830be8244c9bf801e7188800178aae76fc8b0abc481030c4d8403ac1c3f3e6ba9398942a9826a86b3e5b7790b83bcc44d4089a8f7973034b6b85253488f7918e079314cd092a5902436b8d71d1439d10cbe8001eae2bb3092cc21da7c0938570b8dc314328db62be4d7c0b85e12f0bc900872a4e5e56c2d516fde662a1260a5af15e47d7104a2c7c018033f61a2dc2ff1823309e0b38de488e4f014a2c800e929da5992c710d54c098758662401884f57138a1743e74945e03fb945c88d008520cd4a636741a0b45e83455cd4b602803872fafc2e34691e44934dde5128513366b31d8409a5bcc00b2e82bb41fadc491bcf010b58c9f6123e719580425e165091297ef1bddf9dd6797164c2d7c8cc4bb0643712bd2c75d588bceabb0ec532da8e4c63f1646e4078fc7d45fdb6aa7e7a11887b8a3ddbe953b65f44272e7b49308de9184fdf92b7969b624510b8960d7336d9ab9cbb7cd832ce35ee211add3464b52a7560e3af7c95ccb5b5cd236fd1b1be5265d1ae828360cd13ed362f9165cd0af88eb6c0aa12b2c67b842b9b17305bbe874276016495f947b65445a70720ffd3f631baa4f0e01de1a02b5198ff1bf1ef5e31a97bad75feec83acf84532c1922c1a2cbf67edbaa0fb7d3f613053f7d4ca059cf1a352697450ca5dc08c1f2824cf6b070a25f1820241deb20a0924dd53cba671e35c91299f548d21ca7ad56c7287240a907fb9f12deaa6c201aece84687f925c5cb644812c3b82ae839c831566ed878f6096ff1a496713a0325dbc930a36cd7bb922f5f28e143e8d2ac76849fcb55c48aa46af9f8c97f6b0b73591b04a101c60950361b49f2e334a04b157bfdd22eb9d2e5ea77de5b74bdc8e08ace6c16e93b099442701e792a98add671fda5417fe258a572a765b7fbfd098ebb62bbca095a97b66ac8118de4cd8252f508d8bab5fd20f38a94d00d29aaaf1ea9783a85e167e5286fc5fc66b0201e8d9d680b2bdc45b7bd8996eba3320460330039be26086591ea8653c9b5f960b9e39da067150f21e87f5219e6039b7f538bb1c24faa71fc4d460832afeb90573ba31fce3600e6851f3b8a18cc4a13c73804d8c50183b9ad29435190562253c0f5649802141d236a304d354955abae1b0248cc68829d7baa6b0c4b4c821a132c48eebfa01ac338f79a44bb7eb9edbea6a50e56b606b92b6bfeb017384243ade64b9a9b5de4659b330985ca6f4a1112599a48c9d419154f4fa0d70ebf60f68237e756e72062d04f6a8e8a592f010117704b18e18be34490f33c486a3450c70a122ab73396c8eb1e8b3f045e2d2849c282de4c4f1a1886cce695ce6b621d4e550417d4cbf618a1cffc8ccbb656db36a98a0cc13eaf00e51ec10998ee0def4d095361b3258819a72c4799c5f94f6d7288a5f89b7fe6b9ac1d792fd6e76daedc09b7f8d6ca76f53c927615995b9aed772d5a4053e15fbb12d4f941ffe30e37a3767d9c42533de1d33b4132fe1bac660c4a996989f2934087ec5aad09a6a69df0e3b5b492729dea849355a58222e680ce9bf5da37bfb6a639cd9257ddc3437801f637ec4627e46c07290d3cabe8eb214331a536dcc6afd36c3e244ea242114a8707ae2100c7a9f3ccc276d9d28f26a4cf6c3b352948400d5320bc09b9269da83208ac6ef4ad6da38a2a9893fa248c27ea4e2124f44051de6c95dc48d320e4e959d2d136d136b0c00acfdf07927c65792cecda1dc0a71456f46a9a6bd568ac0c82c7dccfaf1bfcf48fd3e0049f18cfc8537199aeabf9637be95b561ac0277d2366f92e6b54fe0cc36ef03edd1d1cf566fc1138a9780165221362129ab281f28648f5b91013c8cea7ba2ae5cdfddff9030924c2e0b740c7f19297eac65b68e4b0e845ef9b17265b1d941e9b1386094c6957329a54e70f3a5ec762e43b4883ddfcf52b2b83aa2e73049bbdb6433939007a1956f32a25ad3423cda1b1a2b5b8035b5129b6fc35012f15e43c01094298bb02600fd45e3419d947885ad5e5159bc3fac041fe02b912bd63f1792a706531d0ff7cd6b5ec43a0066a9b52bf64e95e01909ad9d3e2b9ec8d9af21ae438ff861f2adc807a852bcadd8cfe31aeb7deed1ae6571eff170cfa74a671be1eb13c4079866742d6280ac937a618acb44ebe20380c3de17dcffde828e78d290d19d21eb0464187aedd9ee3e1b0f71278a31abb2ec075746889a8752a82f2c44f87c9051408f38ea2a0141de53e8646a4f31182c5cc4329484b934b2d6cad616545df0ad9cda562de5e3b0a7c41b07ad214beae8a90c97cc3d4d55905a19876a48ce08aee875d2a868b248914f89788acd16f81905f0c580021b4925698b3d3267765c841467e64b8591a4934ca65ed8304e349a0b4632a63d4b0bdaabdebcc8f10f541e02ab6c83c26435d9a0c5643c8f4c663dcb64c7205b17c7982c9fe71940759a182432593f22679ea6d2647f218710622b8fd4017c217c05d33c1aed671fcfc1ec6bccb68e2a1fc69688de2af815a99786862e889e382c2097e410ccc8b6b080d402efdfbf1cccf6c33181fe53312a6b78c6438fc2f5d3b48bd5225bfedcfc788e59c06148b5845ede59f14f9bd36722d3f84e7b027f3580a937dce98decf0f2181c045548c86e659fcd85e1688a6c373069dbc4031124f83b8136ba72cc6fab0edda07d251b4952c34e72e0ff1f4c0d6523bbadbe357c8472f9d985689831cccb9c2fe566d012b6ca3fbda081874baf32e45a3b0a55d31baaa42510e18b9523a7f119ef1fac5a416fa007d35f276aab8d8f959243199b4a58f552c9373977206d732ba9878df293d95c8f1993cc7a8231dcae6a010955e566a4a31ade4e0f30f203659cb22c8897d2ebdb0d304df2b9647aab1d2ed18d8fe7bdc24a69db000cc084f640a7c2e48862a355835abd1fe60badd25ba98592334f637c8887547d5d202cf6c79ef17bc8b0b09fea4ce3b03eb90b54d1ff10da88649b46eab11f789c2d47dddbe6a679b09e6924346bb28704340d2444896a5db2ddc810ff544c525ebf28bb4ca0340df157afdff0ca1aab2029cb850ef5e0dbb8538d5cedc54a69031861a8ccbfd94ad1ce35a364ff2ff9aacd19a114462756565c4692b8e8147b6bc9946c8efbd2302476a96c0bfd92f291cfac204ae671d9b5e339f083e24cb28fad9b01e6e31644e73a3611468df31a9352615a21550476e674dec51fd36115881bf511540ac4edabb32f8dc8ed0dd9116a549c052cd9cccdf6ffba6120c1084625c3b0a19234590be5e2a625408b9057685bcf9db1056b5abe8d92ae3a5a066bcf863cc256edf35881d063237a516223c686ae886e73fa0c3a0afc226253e93c0031506cb99a4f5f05038e6487ad2429b43c85c186913a4a95539107e998b8e9c44078fc849d5b31d2dbea6682229142032b0d9c7a2241218f7ddd7fd88223e85d71b00c19a214d766962b6c18d1b9ce8cc37bd2aeac9ebcf09e8ff20ac5e6debec60aa41ffd04787221aa662d290d554645c8203c1b169a691170b6582de3f0bb16815914dbb3f812e14f10c2f2140153ee42bf487ef06ec353dcb83f03d5711ce8e6046c47515d6f28c364f233045867eab2b02a45c8376a3478c6f9ee640ffe660ef4cf69c7484fbc6d0dccc8617b0caf2ca6ca48b3a394d8f43be8d4365d61657befcbabbcbcfd049a4ed169b68a9fc7f5b84edcc3f47daf3cb73d3131611d07e2869df398320d5625e7a82bddb6a136268525958c819fbc347cbc7d750c8da0464e2d6d1d52ffe900854ae6074666aab7a724f84d236b8034dc68517b679173b6b099dc7a3c676f7adb6cd01f352cebe266ded9dfc8af73aadd85d8a199be29ab7629c02acd6e77f7c720941e6215b6758942c175d6f5907051ebf2afe7fead3d3d9afc27ab57b60690b3e1675ac97ad3d4aa3085faec85062065d374ae8563f8e4fcb36969bb0e31c829b7e45bccf7b583c21489ebc1dcc0e9451b50ddd820f3fe785b22990e43f15393674c7f4f3792d220f414e90d212d187bca91add10dcdebbb8e805918b09fc22f290cf05dc9683433bbe72f722a50e53daf886943586968727f23f2fc63c8347b65d7c2426d75c3c32ecce078f42661d1cb73c7e9c7972c541950c6cb34c85fa2e43d9cf21f471fd5aeb70183ab674c757c6254ad100e8aba81fdb06aed1908fb92e52e54e4126fddf46986e8df0651e9eb4327e041d53c5de70796d8d0810105a252de126114f9e74859145c2e5f1914205bf1da8990bfc2791c60474f25d95233eb3c74cfc85ca1ddadbe17ab45d4bd023dce8a7137ec55e61372551168e69c4b8eaabdf0ff9e33cd0986d5d4a99e7762343cdb74637327be328669f173f24eb9f1067a2b677ce922f45ee49ea287f5d3cbe7eb6290a6c08bb2ab271bf0e30c16f3b63ea59e29af301ff8d4c8b340bc02e72664efcf2986e0d05a35a56f828d05a583fbc01726bad50d06ff4aa21985952ae15eaad11231e3fd6f993812bd27c7a7df2c815f215929379f4063e6e25ced1392a02c11712e5bfc2e3895062f4a700f6bc3430e7bc8afab8ca3a4a4fc6cb9adce1f493885a41d617d695c9b3a47d58ec432dd5af23674f90c95b2e5c702a4f026affa551ece602a0ad284f0ca7daeef793f21cc154963e2cfe4c8e7faf0d5e780bb3671381e2474b334afbd550cf8b550cce3ab93749651332d293b4a34795f03514aab14c8fb1b83d82fac0393fe4f29278408b693e2b04db3323d53ba42b6b7b7add32bc0837f010d96edf4f46ae4117022c58bcac85ce8dc1ef30020421b51bf9a51da5eaeefcbd9c0e9e68b56115e9f0658326d52d8daf7a314b553c89b97b3a99acf8d6c1a454a8207a2da26e471c2d4297ffb788ec5e4157a28221df7d01607ee4f54348a3aada245adad3168c91558a8e12dc44a2827a35db1e81e42bc0fea6b8052cd06940d95684f831e8e4ad0b7e5adb83c8b6d437161763a342cb071110f219772162bd9724ea9e61c93340c1f54c65e1fc8818a6688462d989c5fb57a57048330108c4dbcf5909414f4291d0bf2299eb1a7f775a51be9512d6fbc753d49bdac153a219c83039a52267257405ed1a60d49a3409be39c045be8bd529becf26fc166d97edb0178393b3fcbb3ece6a6943f2b2280c9811bdd1ccd945061f3eac23f83712973c49f3992d129dcd51887793cdf8201b5119aad68628d6c4224b2bb772619cb06d3065507d6b7d0874f2f7cebdfbbe01aa3b488748a4bec06c3895422c56c34e789f4e230271cad774ee15b1e8c65304ce068c251c641b1491f21d6492ffb21e4247780358cf0ba11788571d074eff84815c37ef31f0abc50d429b0610c7e4ae0e7421cf4be499f1f58c72e6f881b7d740a7c71732e3fb0feaf4465a40b56a420b7d2224e53cc54911aa282ce08fb4e277bb227cb83d3698a992a5243541990a77aaa67450693fdf081b51ecde4e4419f22ac68f9c05a8f6672f2201ed8b61ecde4e441d98f0cc8c9a6ace74f53d853f6238339d9d3e964bdf93efb51b193765dd7d26cf663f584545febb1ebb136487dac6bdf5ab2596b4a5ff6d9816db13ee2dca657f136b98ceb659c7a8a199781dd3afa37f3665e15f3aba85320b6eeab3cd94a744ccb748ccb5042c665d06f2bb6cc2748bf15fb66171eefc8914f0f2c7d87b3863f3bb0fddee44fdeab3837ced547a7f4ad281b883a2606658317fcde0464057edf4a38149022337ac5547d748ab46e1539749a09265737bd191d431f10ccfaebde775faafea0d4220bd2a2456cd1a2c567302db2202d5a64301990162d5a64a36fe130af91d877ce799216244f49a096fdc87e44dbd48813ee196087ca8112107bffc2dd3f6bad9d245b4b964f9f882aadfd5a67cfdc75b3fe927166f572ea93d427b124f549ecab3cdbbfb56cdee16a21aef639a34a42f22adea9bfd9bc25e13ce7e60a23399c49623bf539d076b29d247647e5dcebe76fb6ea23db1cd581e1eb66f9d60b7f3aab8f4e89f00d23ce574ef5517d70389caf224e2571385554471c0ea7c2588ead9b8c63dda6561fd547f5517d8c26143ac8021f003b940e52574b9e0f9f086cc57731c6b730a30ff105b1952d761982086b7316a405fb87b3cd6335fbdadfc3ede5f13011b8c5e201fbec55dcf6706cd5aef6d6df6c6a73b20ced6713fa6664bfb9eea977cb7e744a5fe8207a3376e1f4ec82cc281b653059900c260362adb556d3acc358ad3a96550cc36e76189721f9cdb6f3fe24377b700b92b7dfc23b1ead62d98fec47f623fb01ad2a7210240730a422a4217801d8a148a5f7decbce96be6f799fab308e3e065d867095d412dfe17696735d450d017f78737597c7c38dc9cf15c3305a3196f816f4eaeeee9b9fb57e56337b33e7eea89b0cf316e17cdd1e135b37bbe0ea43b3f55138942a4c1555980a536a51b53e7b69748dac129e93de0a696d51ad2daab5faa83eaa8feaa3248d904638a0c1810a1b003b140e647050c20cc00e75832b30c69919e64ce2dc373bae945edac263084cdff5cb462e43dc23f77575f36f56fa4db2aedf795dd965f0ec58cbbad9832d7a339def7c867dfa249b73148b7efdcea5d76e1425efd070ee31f1e666ebcaee0e0d4fac3396ecd282cd877f5d96456f4b7f96a37f5e1d188e4f26f3e9844ebc442a67248bd4ab7eb0fab2b2cd9a9dd775e51358457ccee9f3ddb2c22fb7884cffec5bb4b8d952c518e3c5fca38cd1e7ecb686b455c4afb6863404dab2625e966afacd96aa8348ef1196734a2767cbdad45330457fb0884cef7f9e9b294967be35645aaab654d352e17ecbea742c229dd2f03d9b16b7f6eccc7fa9393df79de6bc2d48eea9732d22dd7d8930e6ee6e11b186ccb766c5f9957275467e78337a46f5927a256dde9e29f54c6ebbb900625d9178e7ad16912cfef54deb45af1d754e8bc8cc72974a16364d6ac60f2a57c415c94d631d94fd0faec84bc1b7885844aeebb254d89a734e8bc85b991c5163968d5a88e84fa87c1fb7cb6e39601b9d9b7f6f978f1e0ab4af431fc37a66305910cb71e6b41a889c9cdb62fd6808602fed672bdfb3c718afccb08f32c6987ddca1b90ce13183f12c08cecf3177cf620604e7ee7f96757336c2ef7b388e9803c1525ecc5f4ad9d84b2975c4c7e4a3147ecc6ef6e3bef0d1c647d54731c697d9c8b35136c2fed7963396faf2b6c8c79e53ddde92fc17fb3d1e493ec3f82d7d6bcc61730ebaf23defa109b6b89724de2c828a599bc39915e3cb98612f83b9545ec7527cc71cf8b0f46640930996e03f17406cbfc4ebd47a4fb3ec87bbb77b679674186c51da39decd7e748a95b317f4e73f8f89c1f0a1099aa0c972183c356d5a3196c33c0d5b36fb91fd987366237c599665653f48da85119c87e264e2524ad952a97b7b754c52d9304d6f4bd3f66896e5389452daa496da18a5df3de78856ebb076c7deecb87ee766774ae9fcfab0ab7fd3d05fddfdb045b2612c4efdca9116fa5bcc397f412bb32131dadd4d6b6f2da2728b8f6df2555eb70f935a6bcd7463df8ccd7d5769c52df0e94ff84d6ffb68f9f19f7e94f55ea14aafdb3ea4b428a5b47d3cbb0612f7d335c299eceef857c7283dbb8a3784b78763b7406ecbcfefeb6688b5e7e83b926cb1cb10445cef30970771efb857ffea40aece55717f157f19d20dc1ce5581237ec1a70a2f8bd6856d2c8a616fc3b1d63e8bc3f6bee87c8ba5dfe16459c7727eb3c14eea8561244aa95c42ffc70a167e7477d9524af9eed2b2f025a57cce4f6ccbdddd16912d9f5c56933afac3273e53b0f2e76f9c6eb0bd0a571de7411842583fcbb2c738b6d3e9743a4f3b4fbf73e9936c483a2acf614efdaece415875241737b08fbd97b469777c0a617c2eb381bbfb83ce4152de4cdb05c307238c31c2e81e046bb1432d21c2f1555cf0db1abbe80babd4670af6b305ebfec1a7815dc841ae57dcfd5f99418c3146f7eaeece79171de0b5abd75abdc618045ba5b45ec5e7a4196610964d7a1b91709239f540063b5489090c4b42b08c43ccbfd63aa81de037d31d9ab7fbcd3d6610ec7bff7efbaac09c7fb0f0fcf97338f87338f847d350493801950413d146c13eb41e87057a7019f21fb4a005a10521944e5a56742a1972192fe43b2c1d0fb0f933d6b359c04173cb5776ab8a79c065b45f8f4977fad8f63cb043c38e591695f2ce37d13e50d80cb280cb880fa2e1f263f47701154044b1f2e1071c165871600a9bddccaaaf4a318c3a177fd7637dddf766808862e5c30f0ec26181cc46cdaeefdf6caeefc7ae6fe94d377d6ccb3d30e7a2ef35b601e2a1f8d5d7d518104dab831c10e724ecafd78d352685cd6ed50f441036fa1de6ba7a9b13ef00c2413e03718420bcf35d20a258addc45becd16b0f8ee84260921b8b1801d2a08557c668a6029e0049b43afe3cf46c307399dbf3879f317ec74369b8dc59dcde318866d0d7090bf7b9cef6c3eaacd10383e12d68eaba2b1efc517dfebcc46ecdcaa75de1fe7af2bdb2172fe72998d0f13ecfb1d15c757b941d8786f23be8ae7cee6d11ce4aef8bafbf6c3cde6399cb7f60577beb71cfffaec551ee56c1ebcd92c8e0e671b12d643eb52c051fcdd83dd670936d307c2f03d1a76f17db6430f1f371fde693e0e123e51d844d0f8c3049bbd8b590669466ffdcdf611838d8f59cda41dbcb2ab669bcde6591cdedc179ce7cc8df52e38dbd4bf9e5e588c31bb2e7471033ae70d45190cebc7ba3dd8c7cc86fbd89436b5a8eb9b777c369d45bba9dbac2dd7ef2d62acddbb5dbbb6dcd66f51778bbabbbbfededcf691c2f6c0d9bdf568268f4fa4fb3a35cfbcd57ec2601b805327d9a40707c5c7613dd9e47f705084f81363a9c767a83c949869d00bfffaf91670180eebe5534a2dcbea1ed5227af0c1850f5b0f1f226c60e5dd550b8c70deb94f16acfb67e1cbefe19ee7d2b9cd614ee5463719a58c4cc476df2496f2a55461970576a823aa800e4797ff47acba083682fd3cc1de229ee6307180f914c1e270773aa7fb9c3e9d7be9dbec3add945b9c420d5431281a5881024242d580e608253ea892a8c6bab1a2ae30941364b335d6a20f106ce688acecc27135ae9ff563fdf8f5c6cfb0ac627f614eefcbcdc5121c418137ec503620f985c4b444bfe29d8d1c240017d3b5b5900e42721013f87d8eb05900ff66d427804f4c6c3fbd2230171f1a9b41b45a0fcc26ae2b756ccb2e59963d8bc3d97db1f996ece36737fea66eb9b37b7d8cbe6f17a5b05f0b3e63a0efe24306ebf913ec505afebd7198f39ee1b8aee75cd7d9b7703e7e16395d6ff6b56ede5bd6ac19aa29ab394c110c083223071b460e31a17e00e3832c707c9f8275281f5c81e35f3eb08246b7cf9fd6e99f2f96785bae16fad7673ae2b52eb2a601e069aee970509bb3873b4a08101cff7a212b789fb1c41c57c4d47232ac7fd4d580198ec66285f7fa860ebb211044e3f77173fc321deec81196ebe97d91a32dc75896833ac62abdb135b61ebb686739daa9786739e85b173a98ab0a98f38f14ecfc13f9f1dd5b4acbcea72fb3412dcb3a994d78fd7e6f47743cdc75ef619f23581a0ab98f13d63f8742eff83e8855dcc121446f71f8498275ceb91a4dd3346d6646ba7b10be071f7cd1bd941f2a60dcdc4d4660a97be8f5c0e5cfa68f32e2841dca081994112c902520f8b143198105c65e8defb2a8634a3aeb8c2edf332b87c4365e6e485c9788ba32047f58e35b3162ecc97719b118b0cc067d15d2ba61978debbad77c6bbbacfad916b1cb7890b85ea7bdaf78be11282352187bf5336341345a73199e61603f028ace6cf4dff8a02cfcf852d65931a5ef353ce5532731e61c605dca256cdffab529177850c208c00eb5832fe0b8c3654008a1bb43e8d02184175297d9be04e895c505639b73b8d677c1ef6939b0286912b6bf3ae8fa08c1c2eb2184d9a55dbf0dc5e28ab640051c8ef1e7c7df3cf70d0e121304be856ebe7c6b3e36af77260e6e75ce12e6cffaf7deb3ac6745299fdee960cbfb78bf215c01c67171503fc4ee6336e77c1687e77d41bf653efc79dd633ab31befc1779faafab8de655dcfc2b08dc5e180ee59f22df9d87d3fe9b51ca61bdc5c683b2ac69e94d2677198de1701aa91eacd78a987f29e526b35edffa55e2a63aa131dbd1923fc5e6e5ac0efa355126333751d146724e0ada3d805a8f9cb20ec32961f600e6575ce39b70ad150c1d1c30f550cb1e28d3cb652e8badbdd0ba0100d151c3d543144e5b19542083f00818891031e9871271a2134a4707e0e7c00080f14a135444305078c06fc14d85581fd4d3cb652eb0b9a270c34269ae7f2824663a2615d3021831113b7715657e0fe07c20686653678f4118ce262f867fd8e471f79f70484a2e204c5d57020570345c519b0e62020361415352436c04a7c108333a4a284a26284a2e205a8992c1c754516dd117b0cdbae7f1b756f8bd77d0fad17c4bbf93d1b30bb57050cba9b2decee0abfef1476d8e1d37b8a7ac1efbb06b7103c26367131dcc25d6db4a72488cd8fdf65640f76f7f79cc33aca9ff66d993eb5e8bf6c07ea7a40685df0ca76e87ff833db21dba13fb341514e90c91cb5ef5927585e788223e6a1ff7942130652fe25ff1222840361a786a8aca0b0e57af9fed8cc74b49432cb71bdbcea0dc79ee9787452fa917e9c02bb19ea1cd5d153bc2c479c7162aceb0dc7d031a52fe90a80d0bc9f636002cfa753e0f9f4c90e49a763ab27bbd1273c65ccbcb574321defa9a59fe590f4beb89efe0dc7f331c72a6f66ebaa76128a000e1f80d83182158c8260e85905522d2aa3854e2bd3d1f3af6dd27e39e473d8eec5cd892303266481fb83340106c36410f4adcf8d2d3cadbfb0755f14e27d0f1e73ca2602b7bb7b5fc27f6ed0a580c10e75121285115c5d0665c2488a1a8c79f548e94357c3e520008e17702f298d273b28d1c17cc9e92fa9817defbc257e8fc6f34b7060e137bddebaeed6f8653bc89f54366c2334f8fd53cd98565807ec50529c708ffa98749767cecd39ea325731eb4d700f0d67df03e2fa59c34c34cecb7731b2afd7d39e9be36cfac615841010dfd8f473b6837c99dfcbf92e5c00b12dfd72cb8fb5cc72f44bf9de653bc8ef2be18d1e0dc3d118f71d3ccbf1de1bc2f786305e3716d8126870bfc7ef7e1815467bc716af3cf8c7c77c2300defab6f4fbfb85e120f7ae061615bed8a196c0041602621e5dd31b0f0e86d07accead892be4563b4dc0976990d1e305c8684586cdcee2d4108ae811d4a09222964a4088283e877f3e59cced5c8b096e8c03676b2ba130cc3c570ef55304283230bfcf9f3ddd64730a57de34663e79ea5ef0b2120eee7c171f7058fc6f28580d83d0f0e7617663cf8f7158287f8ee0ad112de96e717ba0a30c799998142c5a36bacf67f1c1d7ebddb0835aaabe14ec01a517e9437b7dbe13d7ce87ee912980acf974940258106d397f0412ef60df14000dcb7012e4a786043af0ad6c2cf7a007eb03aeb647474f37998375bd5ad1aa17b66034ef8f4e9bf8c47bb10bd83f7e8958c02732e834797e4c066ea0faf108ddfa57703da16b0705ad20255075250062be840d406368841f5c417de13abc7821217a09c40998694b4204bc0134ea05a1c015d90011618b1840bb0b082a80b2b56168a30420694d2fa840a3a6878e285521a8618a4504e68a144051196b800f427a82788e00d76a8276670fe50758212d10015645093c413ba808628b0a0692cd0b49215685a490a9e1b42cf0da1074b52f0dc107a6e0899a668c289225c21e305e75ec0e19a0108c45072c206662032839a21282464816aa20559a09af801aed8a19ac0c1097327d9ca9f724ef72d737a9d330d763ee4c1c1ed62cc8d3ee82878ef63847eccf1e0f7682c5bba9347c5870d2826aa4031b12a8232c29050088b50e8b3866c47e041b8bce0f82e513cf7e27d56c131be779f0eaf830e1370e731c6985dded647b06f990814f80b6ed7ee6d2276f7eeceaf04b01fc1ce512da09070050a092fda278b0f1ce015d4601dceffc9c2e6ff13100c6805ec6fb3c0fe1e0d65042c4a587f768fefd15f64831bac7bf8898385efe25b0f3f7335e6c388cda8830e38d277b865fed521011cef8b1c12c0f12580fddd911739de3b720436a12614fad468daf3e8fe3e35b01f3ff8cf9f036c053c80fba1fbe7ee53d0283814873307df9081c2a1382c6f8e2fe1196c09761fc0fd0e52474b7013c10c9f32ace49c3f20bcfec3df390c7410744fdee904827060b33bf5abb47bda87dce33f7c3b3159c51dd413526ae5ac210e0aec3f6f6e1d17eee92c95cbe89fef6a0e7271eb171dd8dc31d5515c8bdea6b5004809c8cc0bb981cd3d638a993199629490d16c8b5a547d784c7cd5848c124b1881fdc561a4d39b9b06f76798fd705309dcff288c96c981cdbdc2fdb94dbdf2a7d47b0637147d72d9c47a1c26fbf1a097588689b14f1316fe122429d8d8429ae4404ec68d258a70a0e72b3042831d8a082a29b043110108c6382c0e63d150b48c1157a38d60a7841eb0e783abd13e3c1bf1c517e1730e88abd1cec5783ac0fcb1a0e1321b9f947538b710aa046b5d8627a49d445076272341308eff272504bbff40c1f6177123350e9a4d02b55b61044bdd474db02f45b21bc1fd4ee332aef09a9283fa4305db454820185bc802c9cfc9768c2fe2bbbeef4305db38bb137e4cb483a686a24d2d83bd3aaf074af9926e11c72d7bb0ac260ed294d04fa35bce9eae34b17f72880b38c607df7befbd474ba552a9547a40ad514b8090b1b420f98ebd24c9d580ef2f73e066582537773a9f9b0100801cee4d6549829092dc7f57de799fdebeae7295ab5ce52a08d4122176862a0065db586e06e7dd73aeac8243f1df5834ebd80a004da6502c7af37301f6be32a51561f314a5de14994c2693c9647a7933588dfa6282353171452a1162a788526b35ed1f040a512c5310a6600aa6600aa6602ac618638cabb85abdf762cc7b3106d64013a5d66ada3f08044d0f46399fbe8a5b2ec6d5ddada231439d166cbf3b71eb452b5e307fcc377a7246649aa6e4aa016419a02bd809090820237c9b5c8202609745e1269bc0001dcbd9647193870069259f1c3c2de4269f00e505a043004c5eb8989b4cc4015040062800014e0670e90643407f431fda0c6670648fb5056356fabc23ddbcbf61e177a98b11d359f611148a210c7a06b487824919339c1b4f1399b1689f3d16ebcc58dac578df2e86fc98b1409c65367a58010b58401f8a7b99b1449c3d36ab65652cd9cc5824ce2eab62194bc6f2de662c9be77ccd585efb052de7e4f2986099c56aedec067590cb2e38cb58329ab1509c3d6639abfdc128a7b5c9beb31edc432929826d7924e0f7966998e04c3146027a3de22939c2c608482cf7e9a93060adc47741ba560fe5c15294efa712f8658f0706bfc79c052deb795b74e311b91847d86b75a994b09cd49b61459e6ff1241dfb9c94ab31f1c356644f6e056e56a51899cdcab4599d36ab4c490f6545696c8df62f1c1287f4469cd44389f1dc4c65ace971409c944af450deb522ab897e6445efa9de53bda77a4ff59eea3dd57baa37df7cf3cd37df7cf3523d9494ab01df9e9e3d3d7b7af6f454d79edea502851ef4973e7b92b19b958a845f7348ce49e1e79c54d388f07b5614691e7c2a232f4ed233e24e27fca43df94a6f25322f5faa5ee92d536be3e0f6663ca70d890aeb3fc2e6594ae152c912b63360adbcd4431182cdb384dfbbd29b01ffe619e3ee2c9510c1f65f35325113fd08440a956840ab57cd985e4423522926640454f334dacaaa688a6a2bd0bd598a91319d9a46e6453422c5984ebd3abd8846a4520cc9532f95f214a59b781f8d212e029f29043e5bed4133de55ae06f62de333b59a0329e0bde46a541772292e012e868381806f1a572323002d0035000551147a00da3254009f5340af59e75ac6d5d87cff08728a73e15e38131700a783d33ea78070e77147b3aef32aae86fdaed122870840a0c60368ccb8394586031ac08005a4845212100346ca015040062840cac900eef6293a04c0e4858b949492cff390e4b079489e526b358de44948b6fc6680fbdfcc087be24b29a594f273ca569f64933fa7699aa6699aa6697e4ef16cd9936cf3e9fb3be79ca39f53364fb2d1b79ce52c6739cb59d6e714cfc67992cdfaeb738abbdce52e77b9cbb3d927d9aeef743a9d4ea7f339c5c29eadc5a52e463fc9d6b9763bb9189b4d067395146e28c2187aa0051a2963b84201d8a1664cde493c8f31c6181d9b4ac8b7a68545e9927891e3088e37c7f642077c170c712be1a0d71896ae1b30d6632ec218bd5fa41b88bd67372c0c2f1425613d880c85e0f7d646b70c65de119cdf8c8ed8023fce173ae0cb37e36234a6422839c2ba477aa527633acdd058d1a0a15143e35f40a2182a634d3ff36a681bb12f9ae8472092899eec8c967a156845139201c57c4923d9d10c4d5995b67a1a900844e3431ae889607c9ef2951455d99546e3e0cb88442a95626264644ceecda856d839e7de28063be7dccc8c7b71cecdcca4522ad56a4523e3de39e7dcbb151a2b4a636bb4f742e38968cc9510782986ca589376fa9a540d86ae46ae74cc9bd135b48dd817e3a3981813577af566bc37d1939d59a57aa5ead50aaff07bb8c11527bd192f5464471ae94b24dc315b76125ef1d49b5113a201ad5ea5b5a59a7d0df421100dba991709295a71272f2a200efeee39e0336d808617f0f915f01914fa1c9234019f2d961a8ccf8f80773984f29982b4027c7e027c06e119c203f84c31b5db630ac23ad0987cb6d8d2b0f5d8ca206c85b09541f87acde2122f5d9f431803612c3fc6b4a77ad4b21d0d00bfa160f7a2c09ebd9b7928fed40137536b3506dcacfd026e7e05501cba398455fc4f2fa797d3cbe9e514c2237833a0e9a1f8a3b8336272464ca0939b4318d60c40e6ca6c32f0cadc0cd2e1e6108e310fc59f5a939bada6bd8b9b1f04809b41dacda1b87a28feb4e466fab9d96a39dcacfd8340245e92a487e21feadc1c02813837bfb6b959b3f566ebff46d9536aada6fd679edd149cdf68aebc19122dd9184de657e04b8c2ff125bec497f8924378059aa434499334499334adc09a3961cd843513d64c5833df4a8c793328b556d3fe41a018ecef2b71f5a11008f4af69d6f68a243d4aadd5b47f10e892945a9bf716ae1b7531ac7eda34d84b50a65e029ac0dc49ae23fc6662b0433dc184f301b0433d0106c317b81974f45044ae86f52f0a93a908324188e9412907f83d6906d85a715f72847501b78cc5c2d69d2a17e33d1d794a0a08f4af696ea6e4082b7a28ef4b82603316a3cca8640e374539643303002000b315000030100a06c362a1489a6639acec1d14000f84945478501b89e3300629c48c318420002200202000223032d80401ea0868a5383fdf608367a7ff7eb1602a2d9666b6184546920439d1561cb7c45959ce3b49516546e80dc3514eec2b23f0fe11c85162aa19bed5565f66c4a80545b838de634723473d1b702c3684114b30ce0373429c30ce98130a119e27e2843863ce106734229c67c41971c29c114e9e427c54e5b1b45832c5b46786e67baf7c695471f77a6b2eb2c80d9bb8fbab385a9e0f4a95eff72870cc1981ca5e9ebe79340d49585693489880f1a0a0f9b9d380fdd1706c8704ce27e3e42c8536b46f11e82986f18a4ae0182641b0e20c38b028c74909366efc057be0c36f2b3cfb50847667177ae085f2a9d180d0a528c53d2f97fc06359ffdef03d2334af087f61c2a02cffbab1f89ec1c6cf0c3a5d3ed33776452c9a9a5a60f0b9ceea27c7a38c5b3666e8b0d61c018b108e23c11679c13e68438a311c178204e9813c419714223caf1449c1127c419e68c4284f18c39214e98b3676e3e497eb12ebe23a6ebedfa1aafb24aec7a6ed4227ef93a2bcbb0f8c1a1f90d2fa3ab400385729cf0b017e514be548501d51bebd23eafae846f75615bca176ab4ca372657ffb79d2f14d0740b86caf159481a6f27ef04db4eb25ad37f4bb9c9a67bad61bfedf3e763902697eacc41615c0efa741007296c9168ccb41983b5700cb60803c2882108e7893861ce1867c4198508e30973469c10e79893a7402a5269b5f853f174307d16cca4c1a8663c634e9813e28471768a15de2df62373ca9da1ce48515f9c3b09027953259b1492ae16c01c5e431f87e454c82f30929f83d5435489a4ed81347a5e97486268851a590710697bab1b3b9fb921e2aab83aa6ce4c15c0ddaf358cc8b5bda369626d467ab2f8d4dbb0e3a7f0f601d01e6bbb204a3b887e25db0bb7ba7ec9271f5396440264b45fccf8a4e92e761662a0ea114d46e41dc5996958e6ac6e760dad7f84200de1bc4d917c0278a702db2d510cfeb97a06aa91dbbe41d9a7f357cbfb991d02b9ddc3e40c39c1ce8c99793a63f68958562d96f8c72f7f3c3a366d98dc162a81f7ad4f1ef61c4f8ebde72e217b58b6898212f0551745149c38bed115471091d83e3c137ebfbdaf1e1127758310088a2f3fcf30f9afb1cec4fe1f167ee96f63f0f36f8288122d2e26c53efb13180785d68cdca79f587a11d5ffe5bc7fbbea7f51efd95f06777a7ace737a53ff6372e9526fa8f5aae65c5ef3a8c9dd66e87c32cf1f70147544a84e0fda91f92d83756e0a2e22c22a30dd2d2d1805fe2fc0330aa2911f8d422629a898828d6284aaf5bb93d633fa3b7661ab0a2a63ca82c57f8ac61ec2292eb401ff6c7a45ac29847fc2801daa0a0a566bb31bb176128c68f3ace38334ab6080bee5ada0a9702a259bde421f4ffc1331dd5dc247dba6cea970aeb980347defcafbae0cadf9c8753edabe667a04ac0446079f0af0a1f7935605dde7da9132c839dde9e946eb7b37b908c5a07abfe9ac64f588f80b1e7e22418556482567b7a6c71f518ab2de2b67fd03fa8a7af6a9c565a3cd76439e2036375a1bd14d457a59e78de93b403169a9b5cd3cdc2a6c87bf97ee5cfa32f1bbc31e8a046276b96f5ad99af17971fa6d9d8efcc2968e53622fb1505eaf7e020d961053361bea9a813223a8a1e11fb3d83960ce6c9cf817f715e1bf1dc81c9ff02add98b96facd9825e5adb6437935fd42bbcf9cb762669e283dd2016ed9724bb24c15ed20c7b3a105b5a33fec36b9290321440caae58d8c654bfafd3d7d2a1f6dfbec68c771b0dc877fa5e53ae0efc2ca565cc88de28cbe03068edc7426bceb0fc0c8608151ffeb6d60a10a77de03e1eee8d6dac564f86bfdd55a4283e03a10030ad6da78c862b15e0a399f4a6c6e8bf391efc99f4c8796fcadc279764a5dbe31190c088abcb468dd180c05333a89638d858a520301b8bf2ee27e870056cb021ee6f3cea1d1c3ebec380b161b7fe8652f187fc14a41087578aa48c7817b1e7ea1608af1a94dd0f6f051806010cda6f7f6317b0a86858097012a5a40f8ef819e35b5b68325071d7b647631ef13bc33ee00908a3f4edcc41ae20e570f19f562d0658cd5e158b06607c1b3e99c1f6f49bba59da11115a919a49963521db1427aa341e224641ed601bdc0eb6813608b037783cd5186706e397e7ec619a0b0894eb015ad496efd1d65beb2dc6bd8477d13fe100c4a7b125554f1b83c1f23d73b0c5f50ff0f55b20725d6b3ec08e7290b2bb5bdd85cebb6e7927df858b21d8a82ad80a67f8caaeafdb8a2114838a679a607392e62f9b9cff01ceaf18c2ad0c246f008d1aea6f55664965617f8cf2efd17dc51094368c3c3b723ce43f556379c14c2d0b50216651d7d7f4ae6c19bab301a6fa18cf5df45e0515ef004edd00ffa583b34f52c4547695df52502633370dfb5c3495f0e119444a25fa74199dbb3f41e964b58785475b4b508788056edcb4ffd4754bb998419ea9a4a390c745ec1e10f3c028a728f7f75fe156e623bb06f28ccdae37093c180eefee5f8e93e9b57b0bfb153a5e1a14878409ae860997621aaff8d7026f91bf7ccbdd313bf11c7b282e362de8a166ad4b269ef8f7e20d3b391e8843e0103a2c86f8c3484c1ab89de6dd98030ed76ba7103f599b7b37348a6d0676c53746490cc6f1f537c714958eff123b6ecaef385efe6a3d9424b8e49dfcf3aa764b4919639a4a51d9468175b471f7540a3a6739f46b04f86e7c49652b59f0bf4b67c9dcbccbf85defe09316451e936e654df1b6c04bde2658901e6d2e597363ae05b095eb0c96e4dabbd681a327a8f89a877bb7e7520967deb578c67499bcf77defe2e3c884bcbd33e8e755f18bd2f68e72da3a3890ba23732b6db4f33980757abe40029e3fb07cec3a882648900ff13fbcbe6c804ba5e2fc60505b271173be1bd2b9f333cbca424e3f05b3ae065c056184414b4cd916eaeaac9130d4963f89980ba1222621d82b49b8b6b7843f7052c20a7149d80e370027c370819f27dc46521d6b8b1a998556a3def3f96a76cf25bd03cd3f9714ce0874494f6b80b1929d1127345723127282ad74cc68a5aee0a5c5eddea795d250d465cbe079125d28a05e9b7d95401f5a6256a8144bfc0e20cdbe2e09758b8f17ba4681f608de483c329c29b18f9646c09ab48107a431c1738b22cb468e6cd2d2aed4cdb6eb122216e6ab924e86988ee5bce6e967aa5c610500ce54e7b45b09a2b72410f601a913689d453b32cb9b019fa7b7ec9476f22ed3c0cd725a88494e4153a9dd892466622506529394f3dd76ff0735a0b4633f5550c9081557566ba89483db6b57aacd2174ddebffa08694f4f8b31a2683507045df8736a2e46bfe95a028081d17fa3fb09152bc57d2873a080d1192095c710a5a393e69ac2487db6c1a716a8581066fd0ec8e962935ea298d84eac90ee1d78910344bfc9c52ded30dbabd0678b9af92235b62f27dbf3d8413875fe7bf800df945c00dc06d7e857800beb92f429be14be40738a7f2066d5d3da0d157e9d8197b3663ad9d6db2be420bd088240bb7a68d54a25073c171fe2238539be0b976d83942ae926365ac8add9c3a19031e66e1d2dd5a63fa7951a6132c5adb8a1fcb6f8da9a2ca84d018dcd9024642b486092bcc67edcb6e53db08ed933c4e25136a23d8a2808690b6715001af1b21fb76c3c7500de74bd7b614e28fdf19695067c5a5397ec2485c392821e0046383951dc96de98869f7631e852f2603624b34b16d7b0ee3c15de9fae432655250173a8bbc9bacd1d17fb728bbffe46623be404f5ac8f112ef4da474ba8b9cfdc8bd8f6d69114d114487188d0ad03489d4deec312ed8c9a5d1bed72420c630f1941d7dfe80f20d42c25425c9114af551da577aa03767455cf5858f0adaa17d1f1e5d2fa068da7dd91ee57888d2d9879ae19cbf3c0da3d5f451c999db99275ecd1b47cd4a8d1fcad09b981cc23d49cde9159277e08a0f5b84d7052ce6ee558a35bb06b6e1bb7efddf8c669495ee6913ba55e2813d6655deb35fcbdb22b2cc8d98985089bf2da770fd16c9beaf5106d9bee5d6a498321389fcc743e3061aab1b8e38f331c132a50494cd6da81c33f9c1579641feefa25bf166ff85f4e44d54eae0be5a650292760f5e720df0d7d32be1178f6226290ca57618f3f98f141dc514c088c2d6dd45fbd9d40f39568efd3fd481ad386be25455cabc9b073e9c94587c8bd8a18c6a7fb714c9a919c0509af6cdb9b2dee6a0f36768a260cf5a587f674750f1143e8749601284f0341aebacb06f2c6afd9e977dd41e0b404a109f6d013ab52f440c8e54bb262624feff6097e72b721bffa3469d006cf75b45ea2752e4d2057a6adde7476a4ff863d603efda5ab855d974d3e76abb031cd6386713377fdf85666f3092cfa2f5dc249674603e4b0ea5f3f10fb4e1f2d0704e4c5c069fe1731d17c910ca60c85ada426d8d7e70071e2c5f51e4b7040b0d235182980cc576010039c7394a3467388b0a6717572c00ae972b83c72531e736f896e6f260b6976a03d010a5d3355b71626d4274fb913242e1e1c20fd506a3dc3ae2733c4377e17542c2da9d77ffee13942a54756aa3eec4287c6d82fca6e56b0be4534f846edd9aef52d79790f4c71d2611216fb51cf3dbe7f4d2ccae55966367de9bca9d117810e46882f9903ed1344c79a6ae4bcd967f9ba4de0077b61d9567403a8034572deb78e87c0d872fd601efc6a0b502893b4b2ebf02280bda7570b24c8cf659a66653a6258ad64448ed03b594856a0dc0d72c9288071c85ee2782072b5937cf97b1c8c0dde46c6b891e6f910192307ae368c7fee5de2ca0376731e6d819a22a4737730b63437f090c870ae12d8f758f86f40e48754331beab95b06981df24bf12817fcc61680d4ec69547efdd3f4d2e8ff932cfa4dd1c3cf04e1866d9f99df12a10f3630aeecba1229d16aa7253d7b0d3bf4c01dfc8f81fd9179741bfaa522d3804a5a3a9afb6b11e303d62b0871aeae260d7f0ba747cc11ee9a3a0a29a234d565ae6b698b8daaf624848743f1b4de65528aa527d2e3a8006b266eb4a62dbc3e19d518833c5235772a8d8a605d3c885dce1293c969f0d36c4754da06a915c19e51f5e2fa6fe1ab13d38e391c420bc6596220cd39ec7239f07de7842c7db2d189b1251c4f038695610d13e930e43e606ffb0a9515463d9e26fc0d19046fa060025246b26ba5106b9d69c06b3f812aa00ac5daf64c827a41d6f34893da7b2817392f32883b0e8640b59e05ada6803b34f1f02af1f89fd226c97b0b1a07ac81761a95d8cf352533ddfe1fb62dbc2b7d09e0e2e6f024413215ba1ddb3b48abc85ea1456601db850228704e8941a352369028f7ef212115cacbde0d00903f4e15c682166c6e0eae716aa47ee290e63a48a467d470986a229dc688107959f71a1514466f4ab5aea69d35168c16c2a1dca709d8ed1fab914769918cd68515ca8e1b74ddd84595ca83bf85c3570d80a439f58019ab99eb2d1ace91d66d9c9b4dfcbee75f95e9d8f843d310bde39d7536a8f30aa855ecfa4c5015485c95a8cc1fd277bedcc638af1c92684a0b162d454fc07c698171a8a2fde05aba0cfc60ad5dbb178042c899a92abd335d3c9e16cf6cb0343bd5d58143e24b3833cdaf1f297490786d6a803411d876178ec79173493ba52a5ff52a4522516a7ca138752e52e4e35488100696260282dc1f6f0f4db79500dcc5b93ac1a9cd02d2dfd7d52aa21addb2b6b5f722bd99760a8fb89580113c05d506cba9359b5a5bff9ce24569c3449fd85b0917622adbce55432dac7eb8b7864646c8c85580899ea31817ef648aad8db0b6ab0456601eb0c65eb2e777adedfe9c41ac28d0fbd9d9546a5ed62010d8bddf7a0a4bee5cdcb928fb42dd9aa2fbfd0101f69896bdd767c1ab3ae9171fe5cf8853ff24d5002eb310bd74498ed7034b48e05b7b50b06b07b4493682557350d1d7ca4a08515d264d67840485aac1f8180f7d74557b50ccfc09c94bbd77a8a9c2d5b8679cceff8f13c6883e109e3797880feb4f948b0130f34569dc7013f43da44c21e5eb5707b0e24c21bf1403c100f36c631dd38c3dc6e85751a8932add86dc2814b5f08f023bc083f328ed47f0e0a62f2c9892706020b557a79b070f25cee5d00910283064f07995ee9c0890341e69f05eb87cd649758dfa4c286bbf6a1e0d4e6d1d01256870a4408eb69a173300255429c9933c70908a5f76a76e925364e183342bf80bad3de275a47aef7801b395701ace3a8de3a7723dbd841b3d8650e57ab857dfa4b92626a7ba18d9cabd416b0d9231a08dd30a08b72f443736c3f7d1b42e18ec39564d64f5aaaec1fa4142978a4a9b711f38c4d771251f686b5cdea2427dc8431a147ff888552afdcb18c9e7667997f00363b83b1e4128f4d4bd7b30c6cfed09203bf7943792d9c35513f3b4b62995ccd443021b571e17f68f2c28e1c12acce156818a6aba84c31cc8e38631dd603ac8f65215fe8026b7ca99eda2631415072839b5555f466d55ae8208e2a0f100a768f4073c3303e5103b2c30532734a678bce1233650dec8c653f62fd9518817a02082c568d02e7bf6fbcacae721ee727c5131442ac7495141373b1c84eb42bdf45680e5c189fe90a03577e25253c395fdce97c115a6577bd1c548cb6f691199b1885eaa7d9d85341cf16fa05088951a5f11c992249770f37b477f9eb93ae1a79a211e52c4bb019b3e2b6c7e9aa90814a9200cdf58ad41fbd132aca293175738d76a007838c63c2588859d51f5fc700bf61fa0df11dc1265584974b9767f819108cf7f86708ed8f4b405f3788578c730efcb698227c0299523f538d735c455e83c7b5c0ad2edd2449ab7bdcd020b032b5923d31f376574e68ecf49d8b2c92d98cf9f386ce1117e0f05a0d1a18624452a1b0a2354a194444fb46d3a37545284e943332ef9a8a77c45d316738885729caa9600503c50e1072c713db708a12826689082e5d39f2184df81804882d68cf788e1ec4b300b0b117d94b50e637f1e23bbc585edf83513efe4c8ffc93572991c281f60046b25255cbf846121121b044a607a1a0cbc93b1ba05044c9ebacd86b9c5260a83045f1dcb65906f390bea121a9c4d3b6ef81c15044fc515dfa6fa4c798a61c99b064265fa4d2465dc1df6965d88dd16ccee54466a161dc39e63e8c4d9fec6b3b528eadeb1c4b65f1ea9ddcd194d3288212ceca4eee5633c41156eb890c23c6c1df726a05d0348dcf056b1cd41500ef4f14a2b60950b62123aa43c41e52aaeafbd7b0903e134218696178ac9576c946c54c11325e50c69d66dbeec30c009681d19314c4a882ba664789f60714d884b2108b84be78880c2785dbf0398c8fe490dd2f21ea76f3c6bc96156b8e77e00a64db3034b2c04381c0eb526d965d7e9f9172a2d83bc235247832d43b294e3acb84da73ed05cfd18d0faffd3701f0453616c691ff5e8d2421a5a5a4dd3c6cd9061cb0c0199781dae788857dc2de9a7e6f038e5819639f3be34b9e26220ff921a0eb1c9f816ec2cf927191bcb2129f55fbbfe200fb36f2afaa1d569ecfb896828223baf14df960954ae6d719e22ba629490d83c3b5171c70af5e0d40afaf2e561af8f29ca01a0b8a0a1a463f2fce19eeca63243bd54a8bff51a13cab74460343538dc0253aefc2a44e998b8a169edd97cbd0cd57a20c9310a9e393e5fcfc04461b4c494f8b760e41cb07cc18e49e2ce042969c200ec27a0b907ac68e400149fa1bf1578cbc183239d04c3d6aff7c7bca0f580ef26712d4d6d0d6e118413914c003b0b60953d406965d9d9aad06c71708af7625b75ac6fe150b0fa3ef3aa848e809043ab21b19f646dbd04a88e68a410c49257b739805bd2fc7f9676c5c73cee7ec8c364f168e0b5a398421b2b6dab5870a03073294286f39412b1a97ef7b8da5cdcb1b22e0412b304a33af2636d04baf57b0a06f1861868e8110889757662c7b6b97d06bf217f667c47a5c2d26abbbabd7e1ffcf25f17945f2ba3d0da0cc19da9b28c98612f2ea1c5e4e80dab7c3c4e339ae250cc19319ef85425d89c15d771db1cf836d87c7d8662964f8ee7cf7bb6c9986e29c2e7d0b21bd6f0afe25164d2de4cef208a9b5fd62cad325b9ab1881084a9131354e11afe0096520e519f39f9fb6e40b7e53a3e060f2701170ccc2354947226767adff7c16e21ecb1e0e7f9ea64e2bdf90cc9c5e6c212cbd707a2c09fe6e6c5ded3220492bc4a3cbe61cab3942082a14cf1b7325ba10f1b27e738bc210a651c8f296b861c1779dc51822695ae2c579efae89ae9177a0b0c47f397152af8425af0ee279cd3a757976d7e2129e022bd836e1940864aaa0398f22e05ffb72eb522a31c03f3788230eb1b1b69a5286f6665fe93faa02353a8cab90f82df018fc34a38b088a007cd43c3bb8e4869e252d2133a660b08b02929ff5e18af224cc5cbea8bceb0b7e77ae4a037f2411f6553a1d8894b05435e0c1824701e5636d21a00a68e33ad8fc82b9a528b1658f73c986a169a30009b6c44e3dbb5f5b5b6b97f88f4e739c34fdcb4199fc0e8b420a40a5e6579547f3f4206602e708edd68af0db5587a716a98dfbf347b2bb239ed974a1a3bb6762c70417598e4134ffd4cbc674986280f6efdc52cb98b083c04a60f0b8bf8f4efe69ad2c4645a7a5d02fc26179a5db90a621f56f228855680e1016fc04043e9ff5b196a2bc811b316d213c19d88988a764b3fe23e572cac87c236139c773d394e7b027e106729af62f2daaa602113e739ab80deb6365d0a6764c72112be8b0a9c0effa22eb7e905e6ac704df278593fca5966e8cb083a4d4e95a5383511d02e4d183f8861e49cceeefd63267778a9af1e8525984d8fb850ee4a252330a4b67fe5ee3d921026006ebf763fc7e4f0978d9d1ab703a200346918bfef43ae74f937027fc8685629eb45ea516492b2096ecdec7a21abc408ea8a73705458870ce04702074066438a8f1e8ee6daaba118336806ca1d84be24765c23a2a4ed2e373a5db98aed4b1a4596a50689d0c5cd4a9d1a4a1ded1e988065e0c7652ccfe1e84410d348f32388ac293060c8b8581f23fc584139ec69852ea51bd48a6d3e7b5845f212ddf12f12d529b5150d4c956e07c522a982131c1ba692d6490ea38e30ea40d096cc7d4bab066b56a18e5f9f801e417ead57af9bd46d786bcc49a5abc54132de919b9bcca682312d19a830c78f70de18b169045eff4768765a629ae7f8974742b80a0790691d0808bf949c6f9a9187e8ec28eb9be820d389cf5c17ee418c69ccfacbfc18603379603f904990c0d2d6971ccdd5d580e8ae00ed56fe27ce3dc52286738745182d4217f7d31691c6f98038730be07d41ef026ec6b223418a4d9aa801477f72d9e46c72e01b7140975b0c387ffe03d07e9663ed3779ed80691998c90d283413af0be0f0796df2246eea9294731fe6475099a5766809f70bfe413d66a4a5a2b5d27dedbbdfeb2b9b736890833bd596290d84520921778b98ec55d1bfbfa5fbd96bbbbd533253e2b6f2613b33c427430357bb261716bab3a2b442a81a5317ca13ac1224f6c22144eb547cf2e3011ddb400754b16771f4ab7b0ec7351606cf6dc73936a1da268c18f2a415f0ef872114a174ed1ecc1764861b9074c8bc1d78480977635d5610bd26b2c82bea5d78e60e5f0c24a35ca89870682f5248fd1d74a7bd7e96b5a6c11d2eac7127946632f5d8f71eca920d8b40fffc42175b12ea17c20b44d414b8950a1bf4d776e77fe188a800bd5416a8b605eb7517ae33476519566cfaf66b803543a007429018cffebf09c9d19047824e2f8392bb1d144c4cd705300f6e54fd2db264c7712f6740f1771d569fc71155827eb15cbd3146916687ae7466a21a10313f063cb743ab32d5e7ba6a1a64066e1605e4b97cc89cc2815518172f2ecc289ca10971acceb39c3e54aeb7a4045c691f36ea3536db99184d73952a61e1371d839fa83404b644c622d3285d7f36c8eb681a8c66f448f8f57c35ca01221fb39cb15e019e4f579f867ddff484050f203574ceab66af13993c368869f78e6dc8fff60c5b375bd202d68a41f653896a7ef5abee78e3ffcdd3d9aff8cd3e0cc94586a67512adea707ce7025c0f0043c43a011ed369e0ff96516117dc637817aedd86bfe0469920123be255f6ba8f5b4d051f5c9ee7eb71327291908c4ceca2d32adf25a2a3d5959231e8ec145bc08f4ad143d1492a550126affa4a71bc8b32050903bf5bf61793c2ec248be4e8e8237730a3fb237347aaf4246a0594618b70a09ef457d2249a8c144b14fdf160b73a18bfc4ea87a8c5023052f1c05e8a9de790b09f2ed40ade5b4e46a1207345f26e93e95ccd553fe02a796b7bc1530906f59f007896836d6b69fd60590a753d1d1c9cadee09ea248079a3b5dea730acbb87530d1736e70eac3052f82f118f1d6bb5e4235944981b91c512496591709100fda9fbfbbd02edab7bbf5860142ad9236f1ae0e491a08666923f904f1efe3bd9a9aa89165c17e50b87d4384e420427d4e5cd06679194624fa1f8ad66a1dcc5f70a3456261eea96771e36f28994df05193703d81477d6a1f7540d0dd1658a2970ec8c35fc546bac986edde6976b9301679bddfd065afe2c2acd017a738202e69ba66a27def7fe553ee4df03b68663a9446bfaa64a16071b0465368350895baa554a76414741be81ad6c3ad40218408bda056fe0a89d11857db8b5e968b789a3617b0ba41213b9eb597bdd23e2116629d1d7446bf3624860977674fda61da87bf205044ac5eb5a84a4909307a9b5a3faac4accc56a284f5d63c93d4c8b293e28f312a13fbff46af48f62d94d5450e9e4bd95afd46521b2fc6d479f889461174a6fe1f8683e92636ea9fe4ddbac580bde9f3c98dc0f49a95105dde2bec0179476b5568ba09b04f4bc905b5b97adc11be4094fc2241991c12ee8b9c38dbdf1133cbcc67504214006bc481ddb3d58899f68de02b7f0ca2961dce5bc819f659b1cf3f5c291668025e8a7128ea1df05cd2cb0056cc62f73e24f4be92414646f6302f3fc7ed10745f295526329802c328f63ab7f2f5aad5db963f23f49173d159c0fa0d72465e9550b3dc280a3b08156f8b4ef0153b5ce1bd036b238cc970af027917f4423fe0b9e8677a95e7cf3652ac32ea131b11baae25f4c5d6e5d823a62e4a9c587ad2c9fed4a1f64c2c172444b41a433179a13f17d91ec1a25c648ded5d54cc23b86f71a47e726cb60e950185ef7cf4ed9fee775d3c199edcbb408fb0320a0f1b39cf18a3d7ca9833b2f7375c28e90adb1cfd2116d131ff3070ee90786124910e5173d9a1eefe3c2c00abbebf483329a81e0fb0bc01ba1e991cdc27f3860c363d4853a58a83ba987ab1e9893fb8a658cd44bc14b350a477a055555f9729b695d6097cec67c4460d00812003fa9198b82f107d9332541ace2897de21d1d7bd97a5b7d4c90fd8a7c750fe62c39cbde6227546c23d317c8acca8ce586a390e7a9e6d0f0b16fa7d1d0ea3a8252510cf5b5ddb38782f21df573340ea39fb1949ec8783385794ae9dccc5b8aba8cca2d8770b889fae863523ee6a764d80c6727bb3ae3db0bcd1150fd7e9b6ff9e59e29592192278abfca0a6c3449993bc39cd0af0f261b7aa6c11c016897ef5be91a7a6370dba598a9e97de4827be9b2a2162c2018a2561e96ba24c00412093370eb887d74351ebe8f6f6829bda6431913eea8c031bb245e0df0c4d8a4dcc48e6492bbd586156051c23a90ed73778697874d8bdd59340c100f4b1d546f4e2dd947b905c8537b91d38dc8225d56933f03998d89393d40f0aa026b718faa88e38cacf53c4ce06dd7c80811ea3c76bfbe0a04d03d04f60676681aedc7d3ed4e692d60b9f1b7cdcdd6d2e544ca170e72a7eb82524c35024dfe1758c2f4975b47808db5c0658a8e30a421a3cbd0c7065104bef4582de104bdcfb5eec01b8eec24c39db2c17aeaf718ce9d53e880e35850c5ec3eac125109648bfa9a0988663e4f646e9d845be3019204bc456cf07a6e053a88731f922c89d629ca8645e098eb1a5cd35278ece9c9b22da88ce620342e18edc269c2fd26e8dd976819985a9789727336f16521a92f81b06c0e393b4002ece98238d9ca8fd9340b7b540892d9de14cf9c5e6c2102d78ed2e93620b0c7627ddf0b2dd2b1d6e087c54e1c6151f71a3695b777621e8ea6af7ecfbe243cf5740710562c2432826b1ab094cb9347d0af7051193139fb2623e245e241ba3933994d28e981c0ea577021f28cec5544400070ef5c4e5bc433e006d207ba99da00fe338f800d94aed7892f2d5574641e7c9faf244e451cddbb0e0da783b6c8a5672ec8360d2c7ddb669dca42e35ee70df6a0cbc97d6d1136821e839bd2568b74c9b493ded65def4749f843cf8602c95cb1451bd7cc6b3f71a0c13a56f039b1fe93b9ef14c6f91e8e681c2aa0f9af78209909916e5be685d891ab5304ac9ff81e0295495ddcf4c2e477cd8c262a7aaeb0847b644e9770d30838df88b24c770c121a25386a64a6a161aff9734b97750ed0b66ce8a75bfa766fbf9ce0381cc1be184625b154c9cede2d3a41c5d3a7d5baecda9e9f3a0efed07d1982a220c05236f3fa9a74fe9cd46b7fb37026ac20539eda3d02880cde9e18985f4c4da0529835b5b0b3d92a0928a89206d93fdef33fde88afd2d69ce4cab3ce2258df473c62272fdec65567b2690a3bdfb9903ffbfdbc28d681f5906d89dbabcc4ea471e9f11e589cddf2e0a70c970a62dba94e9b66c9478cd512d60c7b31ef312a42e120121a48ed194594ebe5cac7ea26cfb6310ee33805b8b93ccd6a4507c5e94377bbe837e825792b5655c7b3ba309c36710b4df0988c3df9948d6e3c57352aa5a180961952e823edeb9979a3556fa8e64327e1195616eeb7828a55f13674175776b7918b73dbcf3d5edf5ceb91802a985247203fa8e71559c5fd3cc6a049a2a206f2feec7a68d26cd0a88e8d350654adba1cb516a3c176694dd7a12328a46eb201522187b9c015b3307a70ddd5cca8a016d9f39e2e01fdaef015dff529885522d2add7a945faee1b4bfd73c66715acaf505d3a24865a04a99cb94a762a5bd6977dd9d757d1facee1c54920ae8d5e300414087e7df7dbdab2fc217c9af3d33d78e41bad16a4890056597f73474b8248eb8544ea63a531f813a47e19e23f6a85b8ba77f0999c54d6b64abe634fff7af03521a153d11174b1064aae87b728bdc28c53cbd2262e0975525207bbc7e807bbd549155fa4d6251161c9813fea711c78e49d699a8b436db60590fc25f21e8153a0bdf401976280c4ef2ff510b082caada3165fbcc8ed5ec26268709239f9323e76815c8cee0e8a5d8acb288bbf88f93680334fa6894b42f29e751dd9687c2a15f3af77ee38ab74b21e33c141b0fad43019f1dd9c49eea802fa49e00e1b9339063707cd762916f8e89b611d3fdc633a588227a95807629626765035fa83fc12d1465388dcff98414903584155122b142d3a27f54fb4d282719fa29a58923608b1239924734432197d0eb0da4bf178d9a7ca1e27fbee123cf7c2f8e43d25d9a4843fe4e06833362d0d3540bc636cce769a2882478fc4a67bca65df7fcb0a7e46d986efc69bd8dee121d7fd496b54afabb5dd3f0ae8f78bcd2b6aba5cdf7afa1fffe8205688d6fea45babbb811e1360860e7622ff3dd772ecef6a0142ea723bcdafc0875f1fe0ab80782c0192d860aea2a20f367d0e00ae3067c78078bc2ec44ec36b4d61f486816043654f1bfe8b82dceff4f445a8fc8d152c64049e9a2da7a059e8ce0182244f65988d900f8a7cc2e6d883c520f924a93d3de9849b4892ddd07839cf3f056142414d188b2b34a7dfe3e5fb4e833d3e0bf466cd9b463b87fe2987f222191b8676212a15646e99bd6619031c0866101cb502f105df66177bc5c57ea6ee07334204405bb12ad7800f10c341b5a0149dabb70213936fba8883885f2434692cbefac2e91e0e03c70892ce51f85b1654e3c8b3a5b6d5286834116c73f6a418a0d8d1292b70d9aa74343c4fd88a4c5e47c0d2db27e2883fc48f2aec88a004326c6e7c61ee12bb008884b0df4b6656fbd4bd3140dff4862a38c5345873098c043183f618305ddbe6d61fee1209a75ec6ef925f2d15aa0c30022981f46d1932b9e9cd383fdd51f3fb33c0ef3560cf96d7a806854fa0371808566a7ba2b9b90ef97a9ff2898395c82c945c1ba4276c341cc5d4990e444fc47c433173b5850e1e35939da84f11f297af64142445119ff7aafda8f94fa358c3cf9f4e46ee817a0f0842efa67d642fd6339a6f65b429340387d60d4f08e023a47e32017b48a22b1392e08072babd6d88d0bc5e2ce005bcb0a35dbdbf058486418184682922dff576aeeb22747c088a5b4ed007a95c69e708345987c7c03ddec698a1c76063cf6b0e6827b3c3c4d2e3ebcc948572f9666ab7c3d226301bd300aa7dfa763d8e25511e7b1948a0c43db2c5aba66a0bb46d8e0bd493d47859d9de707cb7b11be097c33b22f1fe701148256957375567f8566042704572a1e710eb608dd80c32f5b3c4104e8bd630ccecace832ebea2d2de1508d89c3f167890b8e5f0842a5cd262fb1fc42d71f05b915f62a65b517e18baa548f2cbc311cb4b189dae393ae2adf32e569f6191fda16db5a48d82418052a5c91dca891d4603dd8dffd89fc0d0f0cf6a8a64a018885548b1a73b2f03622883e945d05323b8069606361b10a3e158b8b22ca7b5f9c744e5b52c8f9562865df51d01cba1a92587977ac0d0c8ec5b03aa97a66ddaee0995257bfa9ba40e7052f396f90b319dfa91ce8df0cb5f00025f7c5d6d5089b506e65f8d5873726a624868dda1810d98aade8b11fdd8feeffb1edf2b1bbfbd02b1c3da0414570535b647b2695dc0ab44ba6afa0c344c0930627996e2627a92f3105ef272e0ae638c6fcf983d07b8e568f74e095a8efbc056205a0feff05fb17e8c778adcbb20654ae07c59ede31895c135f0042ef09ab6061bfd4fbb0a9ed459d2460eef92a570c4edda55b535f61fd40f2e4a723a857a101e9e1c6bfabba675fdc4bac364923858e739402fceaef2e90aa16871e9221135e466ce34867649be3f5d085f9ef4f0218acfedb485d780a6cae08534cf0ef1b449e4981e131f57dca9e2d6db22e94e20d8c22b4ad1ef27a353169cfd851ba8c0a080f5cc2b11a5faaba4569904579a96a4c6a9196ade545c8ebf358bb0b4e9b7bde5c62730f09ae004e4f1c6893c530b504e1fbca43e91bd90b8700ec2ce887bf194f6fb32bc27e2d684151bb1c3e1c5c4c7005a974685a08e3196dedd1ece16e859c55abb6257ea52e1286c609cf7752f65d45da6397649a77f2aa1cb3a4cf90872162a64d99e42b69855260e478e4e5340af04fffa8709792f95e45af1284600dc754a82ce9e84da2485f19c95b51522f6e03e1007486aefee2d98327a656600e702fa6042be6ce775b930cb1554bfc6bdd2ce38043b99c295c50c2648c1bdc6408266e1175fc8ca738cc267c5f1d5d50140b3fa177fffd0da2e68c7188917350eee484a3fc90a643991db3b01a86370c792a05958fb4568e917829d900591cb82c8ba81352420c90aaa36263660d567ed92afa7ec88f380d630c09cf887e97860dfc39e06abefd193f24f17d16d1f145a006070b1fb4dfd9469d6a3494344a640da1322f424d24c79a8dfba4d999accce86ca77716e7ae9e1937b79a05ab34fb258774ec4b3900bb931957817878d3cd0f415330c37651048f69060d0ac06612b14ac4f265f0f5d71ae523976201b67f86146f6ac9c3af5e3944df5f41253c457df172668ef99fafcf8f406911dd6cca8c31989e73ba3ed810c1b14aa4e51d07d59c3bafb12359b8a4c585f580fb94166eca82893c96e5511f9f0ec58d701423be3c947e56603240b294486751a3b9dda65f354bdea161c14582cf633d912537afcddd124aa1ad07c8393fafe16a9032ce325598bd44cc90eba2ec5d6f248739579e2396ff1388c0da8310515a640ec107e538fe3258e4202626f782f275174c7a264d1a60c91523543bec115fb630e541f33a35f49161d67087fd7d519a72a4d9bb69d3413dd52a4d2e6f54bdb525a5a73c4d37feafa5d4b4e30b9fbfcc7b3f8133a7f41dfc44e3cd43f61cf72600c9dd947198e941e4051d717348ff5e29b6f4d3d5e1ae0496c186399655b107c1e8a2156b98a2bead37efd4a9eabc4d10a6e60609e9c422c423578c1d320e8d750108f0fe6903d7fbf6edf911190c9d909e073347e7fc7d070c822645354cc617eeff120dfdb3a3a864aab7640bf9b294c3b3a2c347e2106213c916b97301a180f7d8ec55e15b45538cb150ef807b2cf1b9c4a1c11ed756c935d1e02c55c393ae17ff01ec159a4a43bc91ddaea504440d172a6ff88c98e68feb4b64eb594f51b8fc0491ad695ed8f8c15fa59afd31e24f4e1e73a66551ae9710a8be886c8c773fc00a00f47ec99f748436818f88b07600da2d3b11e2a5b6e85cac82b0c1dd3fb65681c1139144b736534016f18967e096b4c342f4d3e4001529781f5dda5178827a9d39f922c9a666bea17d52efc2e90d49165e9857a20e8a6cd1c4c3661bdc0f645aeb1d2706c1df8eb42fdf7a9cfacc29de26ca82e71a432f179192684a964c94cb47804975cd3f548d0817de114dd85726eaaddf0153d3e747d02f50db97abc60390e682cc2e97d320fe86e694dc00916aca104bf2e75812de73be6e3c1d03e2af60c006ad640a1e9c47c69f60977aec4674f31b6a014451e5ae979b480eb79d84d111ad26efcc102f3b5062d43e5456b0c628ea43867e002f59b65790a087e8cb2da103df98780568a748e257b7ce515c88288024a1e849d16471bbdf03a312eb546540613a12b8169f4870fdf29722b546da65170b125ae28de2f9b4b53a1c8a81a004867425649cb9d581980789d420350fb4170d0351950f14dcbfa9cf5ad8c27bacc16214453d5a9cb20003261bf3f1ca99215dfa52102e86197d0b1ab311278c6ebd598ad38fb0bc42b2c7928542c1cd46dd0f720da74a9a42d519e564e6e226c99c40f079e395fb38bb98c328cf26a9bdd4cccbe24ec76ebe888872aea92fefacc81cf2d995c9be6ffe192d01c303d8f6d8e51b47aac2b6927f1d4e2957fc119b773e5ed88df9bf20c77de1d0b5c20e9e63342cda51c827fc494f54f89cac46bd9489188464c905e28607aa6de1d33e82df8fa9102fa3a5801344b2c47cb5677d0198182b1c3d85d3eb57b963d12d90f39254462b3f408acb34339354a89e6ba1e3a08e7f4c48fd0d8f9f9ab218a046a36fdad84c22305df13d8ad5ff2395833304e5a05fd0d1019c80cf950bc1de4f3536042db9bb69ebfb483365257d269fec63769a1007e29b55993f294cd118a254a9e8dfad0dcbd2b93d33f80598d3379cedf0b438662879497eb120b11700f204322cc0194ffe11179c904261095768bc88e34e101e82c80bd473c613c7d86758d742b70f1095ff739088034e363a8cbfebbad161cdccf59e18060d8261647d244fc1efd7bae801cc39b33649ff211d61d027c03a2fb47fce5ce54c2207dfb857d9c098e584b899e5fe8f537ae0796e257fcb5a921479b13d7e1f57b3f1314d5d0636df8e625e1cc550a971290635f52e267259f4736f59aafeb17ef3fa3ab7c3e74fb9579facd79cf812df4cf8b50ebc4598964004b0978c396a25159ebcc72c9c1c13284a50f7ba85122ee4e58579887935de3b1be6f726848273af407118e06fdf5771a1bbaeae34323e6a16478747bedb138007d8964613802f6c43e584c400a59109b3a4032c201e78c4e09e497cc810151c2f8a117f62fa4622a1887807f09f8aa48972f573bd5d6095833bcdf6896bb01eec70b8e27d2578530e0e28f6c71d3911a2f493ca0337496a488293d2695a2ac002b74e719725a7fe57277f4c97b85544ac20a023bde730396008f67cf075285948e6b544c610efcd3ff088eb18571d8d9092eabfa6a2b18ef7bd076ce7162d0d6aaa080814b64cf874963c007021a24b673cc553e690062b0b70b16508c6e76a37eaad232a98e0de00276276743a5ee5041d884bc345e77c693ab482ecde2b37a026718ad9b5cabb7cb92dd80ccda4444131f839f908d3fae351076358d233ac8d242167091d6ec9a0b62ed0c8cdef0fd72c07e6f283d8a5b2d10dac4999793d88c21195aad5d9cee743eee69979fb710d86fc70fa1d76e120d1a7cf890a6341d0d9ab504e22419835ec511c657aaa6383162f541aa43ad56ce043dc49f3a943d0ec52c2c614daa7dc67c8fa397629d3df8182d635b1e6d34dc4167600c5811d4ae2787f7013f6580628ba45d65a305745fa1017b9ad6c5a07903b8c39643b51a8890264ead8d6b5343ba8752641f09d29d24de476c7bb884d18dbbc1f07387380d006c0a6b201627444b2b4443adacce9df23e3d5229ee61773432f712a263059b85a082fffa72f45547c08319ad56a959b0b8da707ef97382d0ef05b2a8cfe9e256c6bee44660248380acd3ba9eaf8a01d93319d775381a5b4df67b02a661f6833f8a0a12714af2ade844d404dff2b0379458c5ac0f860d834bf1d58c93a43af16399c166be5faab313667f0548ff90937c87d95e8c946f3809a4849662b51769b6c0211c3012dcc18fc8e0ca9c45979d3e972bf02e5663764b76da4f17a637bd9fef48833eb2ab60b35eb8ef8ff7b1427639144d4160d1ea1dfbf469aa37920eeed6bf06e1da6f70b4a21d64d48c00f05902844eaf48aa19e9e817bffccb5abff635dfbcae2e7f06bf0bc2d20bd7f6e80465be1264a9c5ec806e54defbbed9fc95ffc15737d6ab48b571cff8c5d30aeae52094766dcaf57041ffe1f58641c86017f6e381b21d702bcdb0185a2c17aa2af667e3309cceb619269de0229db7c95266a412fec562af896e9564acfc8649494a9f4671e034282c5ee4ce32a08f5723ac8d6ce5b54f216835dba0f6059b9418996e6a277d46f32471fff86abea2575ffbb2a76e3cb1a5b14f80cc0c15845536e547d9ead3d5b2fb45996547c760f8d3efe7db940ff822676cc48a0986629989f4ead1bf2854125d6c90a0c6c1c46a1b8f1e792c68263a4cca31354225fc05675ca2dff62d779380f4c9ec8d0da7cf551034a32ed666090a7a08841c924221f583fe6db0f800bd9c024abdc46c260b11d6ae7d9e2a5669ef8bdfe0bcb2397bb2dbd9366972b8a548076c0a9b8be1eadd74bdd39e8961bc292f281fbe513131f8835c4250db6c484877c981be766ca8e2e8ab95fc989f3329bb5304197cd9ebd64de0e4883c827973b67c0565738da00a62bf6f1641b7d9153afcc54692580a5c41f8ffc1f00f5d39330764698238246976a07063cec339c6dce4014aef431e1da6b053d2144e6fcf6cfe2541688cfe8e00cd0212047738eb07e2a113d492a46dfed051ac9495832f0dac37f1edf56964ff78868b59069e36172f3ee7e6f5a0c3b3b1830837ef461a8eb4227a34b9b7444490b2cae349c2b06ecf5d420cbc8f085fa2931a95fd81632d39e683e0a62bb87ae0a54aed6f8230dc91df7ca312cd0f5775b78acdda63a87d85c07696ccc0be870f2a459ae6f32d7d3cfc90d88445f40276ac6a2c9a5957f610cb90c84bb0313399ddb56643611cd85f72201ba3ecb7a2cdea63a43ed8de870ba874d104f1fca5186b520b7cd9c0c9a52e5e704d2ed08fd9f804f10031cc33348d37889831ba63c302dc141c2ac9f293697683a648476470f672ebdb930f9ea5ae7e96174185b66833d9b348f9c33f0e4d2991b029eb4f4923b6973f6983a411f89131b53e5b8234d59622a42d9c43efa605f4b9bc6b620bf7737eb9b46433500bbd2b11b152c8932d079405529582eedbe5aa7273210fbea3381bc44b9733e73539ff692f8a14cd979495d365108531c16c241b5bf7f2630d1ab1f87177f7d83b95c22d15cb7fc50bcf35c12d28ab6818ffd1d579c596f404a53cb8bd807fdf51989d8f7e2a8570b9103cdda029404e9920d77fcb74e03f9879ac5e421730eb81561aeae222f4c6e0016f8a7a047ec8b1cb5438a245d6af77e5eff61ac510b4d8c1e9fc0018e993bbf2fc7f961798cd10c6b104a0801dcb4feb109a659692ecc1693681b933f84473cd390b6962cf201e203fb4059693f30b0262536cd780814d94e59283c374962522bb6f8844241056619bdaa79f081e1e3d2b690e4984c6e0a4f53685a7c37c8a4ee4081f0cf85846541b751eb9ba44f173e980fb1ea276dffec36c162115a7609152a6a6220b6eeff16e6576f2234b10e43d55372a71ce764f218b36131b131a8b08cb9afbf112957fe326da7a113183552eb38a65dad130dc62923e02c0b4b463f276a482a12cb19f4a35d423219960d161f2883e7c70996920a702af58d82f72a9bd0da9ef7ceb6d059413a1e80e44932e7651287a60a518404646db5a44eb8815abf9f29d8559aacf2237c8d00b765cc94c6691a4aaf46b5c9376a3af5a347720f1b47d63fbbf0ca3461ff9da5f9ba396542b96c9f748fa51484203419dc5f19f04067950c67b150e6c69e385b5d96e6fdca3d82b95c2635e8fd74d201b49175c043a9ed926aa1a0a41f96eb02be520629fa6a55da8fd32114b0c3429400ae41f5bfa144453b12f0b0b79b1f6ff264b7584492835015c9d38f518153669aab4ca43453a2d75cc2b114a2131ac5bca96b86cf941ba9c9f6b9f6a94121dce8c988ad57ab099556952cb512fa901dbfe52924ae8260d70b6f9fc0f31e0886de2a1e6dd0be2739a9126b42c282ff575e9ad1a2916fedb8f2fd4196ab5dcf98cfc3d670630b42c8eee7e96ed0dfa622e0580e0665ce743c9a8302f1b3f132a5aa0a50038974712fe4868846c04c380b7a30ed8a24ec4a34c307ca23368216e15b1ebd859be3101c37899f0948cf6717d83dac5c5c098945908b463df5066b2cbc8c32c104fbe9ed27dddb2704ae3812c4be960be595b059811e02b7b2068b8ca000a83de6192d93b62a0f18161f395dc0efa102fae1feabc8c1877a53f01fde009887ba6407680029f083c04ced272680c30c91f3c8c2260007174d0def5037f3a8d0e3e552035f8d7227dfe0b95f6b1bea940d500ddda18a5575f69aeb888c547723eb859ba2d393762a639a2af764204ace8fb8e8c6be24ee3294ba295bfdecd70f6df476f7b930fc3f29f23db292e8b94a2526795499c6e56e421806f8683ba424994f745f65dc627d64a61d601bd9f4fc21d903458d0c773e881f88130514316e83fc2c842d6f77f4b069ab496e67e33d2f631e8453c42f2d67c0531a25b6351e2fbbdcfb33e5f0be0abd76bc7189c92b2a568e942ce8386d6f7600b6b7548a181a94e4a179b50aff7829aecaaf6d4221b0d966dc4b279872cfebf3c5820b3bcacfac2d2aa93c140ed09e3f3aba1e1ac256052e94c24a98dc4f6e0d8d26fdb714a93a0d45e2bf5c1691b0986862013cd2647e5228aa6f6c348060b4fa545c35dc191dc8be7b6e638498166cd6ae379ea066c7bd752e1ddc1b44b1ba8b92c60162e0ef9b45a1e8e3c49909f142d363102e96af63ee7d833e164924f52183b93f5e656a36410af99362bbe4b0a6790df45bf909261c663f8c0569b9384525153b50fb74ac00a508eb2274b90e40aec6106d4bbd350f266c02d5ee0646aa820fe627a3af77365ff82c9b5c6634b9a6a929d9da9d6db5969ea01d89e38af0090cc5b5d7119127e8f6042c9210b9042ca23426bf2ebe003e9148168a329d2b84cfd1157a08119d6bfe7cbbc12a6e131b3d24890d223acddf4f17492d19b068ab713b702fa96619897ed4d128681b0561a34b6dcf02c5bfba366935e7ac893bb4060b49aae544c6ed277cf4b3771eeb763b748497c43646c00f6cddfe5589935f145d273a5bd9cc22016bbe5a7ab3fb227310ca2ba63e1c20fc8550bdf669a3b1c8b72772359fee30678c5a08943066c20ddaf65d3a7b895e84920dfb7b9e4b494c966c360695f8d9450463308abd8dbbb6c6718c844b3b3f51cf7823571cb9bdc01434473635e1b9fd60140ced6d7176c82492d7f59b53a9a4a5f70bed46792fec2f320ab7b2e88521a2992658720da93c5731b3536d95e15db002b13cd1d6b1ac9c2113b9c1366b35b4a68b2c3d3e5756ba3c10d7471c20ca45f0eb45c85cb144ad324f25622dfcd1bf6bb8261d04bc73c0b42ee8f99c1bfe13fb1f9333843f820f33f013b9b382361297e278395c1be88e716eab67a4917c2785e22abfdb280044c454a2adb39d4d594289ef8f0b844870ad5bd9c0d7fdf33cf950e02443e5906a156fb6fd4308e1ff4625120fb80230a28eebd884518dfc711f03cfa00a9346ad05aa35b04c1f5349e2a7f4df7a7fb65770aec9974b219fba68645a5108480656e3818bcc36a96c464873b7163e4116fa4a4302fe42771c0db4f827c48a49dd51511e8c6f5836b1e2fa042461cc0cd8cb505e7a7de0d1cc693a98f7caad09b3d4767c782e4b7143cd1246f29dff0a6bc9b81477773e01690058f6b39157c743104144499fa9f46f27d311f93bf1bd60eff412670e39ce503d98a83c994e2fac0bc8377dc502b32d99780444077d516e671477412fe112576637e4d2d69f3415f17f205bc9b99dd90040b8b8eb445c27825d1246613beef3ee1e6461a644d864aff96b70312f678baa32ee44e212f28831b49ad310ddfeec272a60ccbe6aed4fe48f57e0a03de60a7a958bbaf58e9d7472d3d478e8235ef7b874d3c053c58352fe5334d54429a2166c84d4879290ffd8ce7a94302224905df8ce11c58419cd4f7b203693bf4ec306e2081aa46c1516592f4caf8ad08fedd22c194e34ae1ca0f4597ce23030ca21b8871be74860266e6c11511cf9e3dab37a9eb82a0611589c8acf805adc908be6160932574237cad4d95ca34f58aca814477a4871512fc1188c19a22a3c1a892f5c71e816ccddf72475ed15f209920e50ed3cb00e9dc1819f0ea6010590fb022f1f57de63b021bd049a409aec891d17b40ec8fbec9a9d183a95e176cd96445f179d49c65b052acba0961afbac40a0d041b2acc79a4b19024d99323e9e33713945927fe881469a648022c8681680d4d3e430dce1fcaff4402071c4badee81c34482f62ecf6434cfc27ba8912ba01deab0962cd287e1611a0ff9059419096034b611299a74d420a814db68b7dd6ee1654de2754e262f58d5c45e90cbdcd1329bc3f06b9d84527082f2b8ecc6e2aabc8964a67dbfc953fed624e435ce3a6cad1426dee8016c44e4df43e2a4f1609879b22e448818cd2e45b2629b3a55183866f3704c4ce77f3ed13e4ff0f6f7420d5c7efb37b22efe050b46f21fd35a5d0c165327ab3630235f4dbfe6da80ebc7c54293a6c0a8580fffb4723caa4d523d9ab80c51a91edf106f1c819ab0e6fe5ee19ef0635b6d44ad0f1ddebad10c940a5ed18348a8c277bf8e37a4d00fd209ca6501710651dcdac78cb6ca45cffdc75b62421889ed69277e1c13e5fd5068ab16491bdccf7444e8d2efa1906bdad20c4063f1bb86498c42024c62f48946a599c4443ad017827eb7b6ede29011113a7e1f5c15417e56cc7f163f634884d3936c48a88950156f90c6fcc18cfe32e7e890f8112f347826b5467aee0c546e8e429d6e269961edcd13dec578cb3ea82ed41c4ca9eaa7ad0f057a119c492a674f824e54a119a667c195c27cd2e06b8208a1c321a1bc191ca21858d3eff799e257c1fba0fd55a6e2bb493d3c394215f76491d94a7a313c979fc30e3f345832e7039947ef299f1c0203575acc3f0e937c5554a88ea99db083c5a9396b8c3f19f56683aca8a3a632f2a2aaf5fa08ff24ddb11f077be0c9247973e98843573adaf2c0c28e4c37d1fc22d1b4e278ab8f04ac3c3017375f32027f60e3e426e382a20db7103ab2829b0ed33fdf607b32e5febc5243f10a25487163def2a42859633026fd96446e7b002a0faff6ce1d9db12220b41c7303c101abce3b057e2b7d20c0b740e42a9b28b40a403dd0959e0ee8776a5959c0a0d3dab41d10f71d7f4725aaa9444e170a8cf3cae6c6c99a26851a4a357119d1e038de6d5a4ccee89ae05a44d93f9c11788e5e821899896331d794103920c349d4dc1c38a9ea22369fac2bc24922a37a80a04f943fa1e2073dab4e68c2f24e1859a8efa107ffe92c3d3a742d3ddb3992a1e29ffb6ade110c78197385c36a4a81ce59975498edf1615850fed045f19e243f6317cb1a3ba2f2368abcfdfa1c9a2ca15eb7e391a126856eb77d5b605f5c8630fbe07711b65b837103e52e0af500f8048b98be931a987e1da7d3e0a72426ad8bbe2b82080d604dfa427d81d74b240afef56a395add2d8014d530ccf921de1f4cc2376e2c8291f261d6c81655779519ed716395d55c081835067cded4c2947c5c88c3c90cf605e119e53524c66ce8b0cb70e709ffbca669295ca9fdfa5e44bb72d3ceb2f4c6f970b6c3d16fc5ad727b97e7e88c3a8cb1ea0e89b6813c174040550611ab684d2fac222803dc844089eb77d13c4c2770059499814b538626e71712ad30851f4924fcd50e07177c744211360c3542d3da8a74c190d4c3a0be2f600dbf89815b47dfc90d217902d0d5075824c452436ee40902fd027e5e89067249b18c76fcbdab9d0b92424a8db817a0fcb60009c6da195e02a8e17253d89951f91f5bdd386c3aae8c69d950ef718bac6f249aa587b3cb47a46f7298abbcd1f3d61a9ea1922b223b5bcc599792ae8e242c8ce7d3499bf7d4b0a83fd236ea4f88c1396c05cee0154f5c35c14efac9b656c07d65d80043661b1409d0f158757fdf8be14febdc2aca81b3dcc451f6b1447fe956008db831a3e8296f2b7739af2ac4e488a802154c74b9893d20491581a678b83697ad1850d56ead448edafaa494effeddb0b2c1014179ec953c258309ebcc12030f9981798be18b08d515057b5b2fa71dfacd8a6d99c8bab81a3c4f0b25f8a9c4fbfaa3dfd639936f339f8e740f059798a681df47794f1a68c1d5903e0a876ad1dc074599598679cd7fbe27e2f55e9166c002f6e483b2c66e6da815a78f0449d7f081bc40010a88a63540bbc4c4c4e08cc3725ec68a35b967d9744a2ca5143aad002e130b54e8d456212c23247430826f8858c26fa220be06e0c98e307902886a2a2610d5828b5309fabf4cb65c4ab51bb923917c8d7eb576fe5b77239873790a22fc66bc2153e7cf9a06321f628f42fd1e79b3e4c061be1e036730dc425d3250e0f4281b6c439b29d8dca575fe5226f723472fe517415c7262a1a6d5f9cfea5c89e09bcbc583fca22be1484f51f795b6caae50c8e2f2f3f4d5f87a202fd86fc0370d2b27f922c8fb92f6bb49db47f8f6d8ef997541db0c407f8403ca8e432906b70d345af1d9bbaa4d0f243475f970a02a309f99bbf2b8a9df1b15fa98b868227d8b3e905b05921e62413630e7021fdccf4bdab04627f9af7a25126c1950a6281435b260fbe015058e8ad16ab26413ad32831f858f169fc8f15383a6a396b0e18013182e8b0bccc0ed945aa06b9deee90fd0bc3ead213b600d7c925e3138e78a41a5c802355cc0e9e128f256bc47d2792b49087482e582a49632d50ea1976fc8604e5042080a07429ad189006a74984cde4a0d487abb37cd252bbfb35fe1feb06493d5b5aa905c7d7bb26aa4b8e2210592dad78f787cd444c745206e3480b29e7cd3f8772c85401439c0301a5762a742c7d5ed0cce9ea58fed2d1f4d1e4ed4a7756100f016a3751537895db711bd19764d96e3e74b79638a3d16fa05702f330d681932990f9b36aa04621e9dbd20656a15c8912444db774eb2eab6c8fe84f81ab9848a0dfa5339ed2034d3045cd7f1c412627f4e490e78594f0fae2f56b45441a8fcfe503821f91fb253d9c8db54b99b5c268485b02ba52ad53af3e2ea1cb7bef18f83c9e8a72c6be68eab5960571b0f4981c3ff38f0e4a93804bf0e9d4ecad1ddd1b8f6281953864a832fed1c765a500688e3b7ad6b7a3cd2ee99ba39433c2f204a22c7bf9862acdda6cf37dc00570dc66ade4642ff0122e684da32cc76c0ba2c94c8be208eda336f98a606399f098ed7d5d2c486bbf17b4d153263e023b560d7cab449a1737c25e576dd1734626c30cf6fd97d3692f7083b6e4f1071e8cc5cc9c78d96b7f01d8c82fb5c945428f13da7b1e37b30cf3c46cef64ca9c88659c03ffe7ddf19e08a26df4f15de460ef8d4614de841fa2b9ee85ac0d26056e0743fb9cca47b34f82b7705961dafbbd35a408822e6f0f5889e592ba578d59941cf669e0f81ec8b20610713ffdfbabde096adf8ab8ffe520868d97004911e72f3a96175ce488d6a9f2a03d7dff02946e03c154bc07601d7112cca59808aa6f78822f0e498ae1fb208fe059e42a75803014b1a9111a3fcbfe28fa3a393a537175e47dc69df87b092c500c81c3aac0081f1f6db7232af3a81e0e9ffa9e711842557ce44b1e8d0cb8ab043b75502eaf86be958bce25ba92ed09a43f5bd4fac9f74686c9878aceda63fe6c251f8e1e89d2d4f2c6823625be716af2788805f531fa8bd014084a5ca2ca69aca63621fc50ce908236ac375d9c7147cb6b8df8ff0d725ec21c610884a0f110028130f1365941589e3dbd0347d78032ca62be829ef344c0669f5e5f3869cb242e1f0b6db742e678c1fc0d0c460535f566233db67deb617009d23d6ff0cd76ada77193c510193cf7996f8276b48ab237840fc0da22d8c8193ee322a2ccd04d23e0eebcf9cd8c7e3fefd41c7db079c2aae9507a36c0c5f748b3bac3142073984430e9768e795170726945ca66f0ff2c5adb1f29a43fde9506ad114afb66a5031be1814abc1bf35d84dc740143e70b875446ac6ac4463f67db49c135305b9dfb685672920e59ce83d8c714cdbcede7cb7ae7306b715c78b2da22aeffb78c554ef02c147bbac3b02a0e0b8701ce65ae4dac37966fd61277491f77ec423281036270e8c6c83ac69032a475ff524fca3599a35d37f91922440a536b01c678c89817a5a1541da0054513bb930db774c0d22b7749e5e5659db5bd20052fc29d673631e141adb2f8cf92caaceacb0819f3fc1dc2258b6d0852598c9bf84bab060ceb910ddebb49c8a25ae4d7f31263fea448f9c3968bb62781cd04ec54a16695c614f09402ccb369ee0da94c11611e99552481b5484b9cfb4adcda784d912f8ca43a2844c53d0cfe9a05c1c1514f06df8fa40c54269bfdb72a7e0fd9214d8c9bd71c867626beef5d64d3cb020509796e74e23a2e812b6cd5f0de4e4d7480907bdb5aec78098b6e47a10f8e8160948fe967250dea7249dc440d1e2ba62af4faa312f8aa70756e74a7a1f9a7650db07844dd855e4529e9e9c511fb07327cedf03993d8a90962ffe9d4c68824eb186789fa74692b2f29592f10d7d32dc8ff5152b7309a46f2183963d291d9afc39f3a3e49563109276adc296894b9c8d1f4eb5f9d8d8fa73af8f62475b1424d725601ffd9e98612492fd7fe5fbfc2f6c79dbeb4a91b80ab1ac618bed513df6c1ffc7ee1ac248e2264e77fb88558c21699de4cd5278eb352c57efbbe507844badd49b30614353872500683ea44698244c937d42ac946dd29da998ed8bc9160eee2cbdff82afacd01ac3fd241cc61326c3f8971782e93909e3761ec23c83b2f311003ba250d2f76d83e23d3f4709aab49ac23c7549aa3e0bf6bacc54d9255b51f4bb122f9a19382af8b511cd248dd681022b73456f2d5c23b8b09a8564ace1099d500ee1294c544e01ecee67ea2383be514a11920662446cc8c72afc2cd95a2469ef48425e89a9005871761cb94c8724693d2f1c0ddc15936b855fac71be9e94a8fd18b0d774a0f227e5029493396d3bc71d2761c6985f7a057bc3f5282c069b48c0535f9361edeac5b8c211b93a99da11684c264d352c049693b75a02b0a004b680d9a9d5ad388cdf384f2b72e5e8d39a09584cb1c466c17a245dc913bb79cccc6a56609d3e2709af33a6915454958aa8de75149765ffaa4be9eb51db8af1d1758cba4f27b8ee72b22895859a2de290df143b09f686ba85def19d6b1db6203f10ddec8711cdbf46ab71df9e036586c6ab86261bd1853bccf4e961ccfc4333b4c81c6ba096cb9feb1beb9a0c767d63ffc5cd07332781ba692a94095e9074371b5b9f026742ac906c5152a299af0ebfb884b21f7cbac178009a2ba6071f83e9a31b01925f05a848ac2830cfea4988f01d80327ff919184d3a5ff443a630b61486de38da80fa3e948803cae8e040e8856f91cf815afafdb5d6685d65688a0834e8be28b2851c485e2612cf7d0e195a241d1cbd77e6c1e36976aa8343013f85504f07c7f125f3185f84745c0d9b29428d45e3572ef5538e5d2ba7a90c8a1ba344016c40576444df554a5b2563e879295d316ee9147d2df8b65d99054d47e18294918feb20b6bfcbaa6afa91c3c5ce42286b073efee8c2577ad73a6f1ed4f43c9cc36d42fa3dc3693ab390e1208d6c883fee34898c93dca1f7aaaeddf6b3ebc67795433b843cde19c570023ed0851a271f11c770d891b79577640fa2a19898a342250149e59973cb27e63829dc08b5b0b065f6f926f49af6b90de4a361bf6cc6f9b4418387d91f3e7bd419d17ee007e568ba677b49f600e4e264ea0790d707c00014bd53ffe6b8d851d1eec7a20b58a44b125304753a2bbbc4188717938130c161da352a92544df29100ff4e0af5bc995907db489436972d38334042722f68ef5607018ec4d8fc6190bb7e91494b9204d62b644d58868f36cfe14df62a401f167952e3731cab333b3e7bc3d81409ce3cd679e4232023a8735e25ff48dc70163a9af2c389919d4e644e07b76fd886b096d249cfa56e80bba9663a14571fec0c3a605417394a81f8133123c46dde1384c34638f8f0eb975a383aeb38ea908071068bb216b038308d34df2333013db8ef49f4d49599128aa47e56e0618771a9d15a1549272b3910b1eb30e631b0a050e4ff4f1e1b0096bde77878e0fd6764bfeb701708333cc6d36c3fbac25848ec96bb4d5036c3a964873c71998cdb71e09ce1d98ead86602046b9f78b7bff612567a4fbbc74bc1d6d4d50d98fca095b397638f0d68c857e53657bce656277b9403c4813c947fee1013fba031473eaf647023cb486d670d5cba3571593d65d723a0fd6621b071b3c281274c329e9e0e680c7b462f4586dc7302187f9f1f46363e161ce7f076134d8c62d250b0795787833f20801033510e36b3622d893bc268698b4f3e255f884d94bc9f7194547d2e3f791dd423041b57e7a024485700109ec822c1815a8212900ad2dd77ff071c9a2ddf9dda067186bbbb6d04d1a8fbbe75810cb143e662fed094b1005354916a57052eabcb8439a7b0ecfd512109f029942f3979762c65ebd1e715b9c9c32c512d4b8ca62a76758aa6be6087be022498cbd3f200e8ae6c963f9566cd2b088cf8872418a1b483be14df7469c4a2b9e0c0cfb1a58529da039634f1a14b0159296bd5e75cef09324b8c88ea84952c6198185ca4843f7e0001f62f577ad73e7ac09113b010ec9894ca6498ff91d5421ba254d901c43d97058c978a1b490645af9f9b8aa5c793960d0ee3d88edcfc207be684664f708fcb2dac7958b2f8a103b0b10f13da4aa880f36510789feae5008605c4107216af5da2d56113dfce6ac5357e2067faf2aa5525bc1774aff4c487c0cb635bccec40599895d3fd9e14c18ea73e961ffc0367c5149fd0dcd208b8ab9eb44c14c4cf74439d8458e648aade6e61218e605fc2f5e67eec0df8b1241a858b65fb4b287c656674d2a646e4d9ba3cd49465e104eaca36014cbee22256c7760ed246a054447a983bd45a1c74409606f672c75878babd2a619d5452665388c56ac754700b4b28bce880e7b45ef6ad88ae028411ebd847258e1a2637ec738a34956902ce2bcd4529c26534c8d49006acc53a684308ecaecf083d66360d6b15861fe65043c2e1bdf58f103fe8d09e58622a6b0917a072ef801403129d660159038883c44045222696f0cfda685906ab6a692b3887956663aa991063d7a92f15943ffe45319225cc48921e0e7d50b09b4e94936dc49e6270649b9a327a7bd989573a478dcd619bbfab0bb1dfdc458bbb8ba4ab9716d45f71363e2770ee2c42b62484b3f31466a2f8dcc4374fa1303f38b05764b9946a45912b18e8874cf65d672cc24922f07111d8845a4ad019af2183051709c713affa75680e82725c6f0d6e810260d4bad12fa7d1c2f4af54bdbc02dac53d69f82c2edb449ff9ffe8b098d8b098dc904e5629977bb5be45241a164afdd3d41fce2bf91b08a7a4993322599a49432d002d902c30231b3fdeda494524aa9bbbbbbffffff7fadb5d65aadb59600924e1df1c01e3a804dd6f4993ccc2513c98c8183da5401e6cc22b04a97fc5e32cba17931abd57716a15b11df8a4cbbc9d4f8a54cf429880046a3241539095cb3757167ef8b937aad5fca443f6bdd6a2c65a29771d25abbe452ceb228dbfc7568a8469f5226b2304369da56676aa4feb6674b66b64eb3259aad395bada6fe5634e79c73ceeeeeeea694524aa9bbbbbb7fadb5d65a6b8d3195b2383a00b3a9c8e1cc16644d9e09821c4376915c64101530a7c67775d5cbe40a25b1c6ba6961560bc8d5f8de7befbd55b4d55a6b0e273553e4b1b67a4b3ccff34ef1f57abd5eaf972826ae562bec8331c6d8146436f5af5a5f088105e1de7befb5b3a97ffdffff7fd356dab21f2c168bc5622580d505a4c82238e8c3c3120e6a1209ccf921fd557316875057e3b9914570a40ab35a402ecff33ccff33a638c31c6f887dd7634cb825e7052ab71efbdf7de6a459f2db95c2e97cbe52df13ccfcb64d7755d176bc898d9d43184a0fa608c31c6b5d6d9d4e79c73cee97299b6d2966d9add5ed65a6bad0d3262008b9c0f25f1d5c91224086374e1a016b9c09c2093ae2ace58a8960674e39a9fe7799ee7799d73ce39e720a2d77cdb8938705223d59a652894a6456da754932220de7befbd5744c16cb55a2d6f89e7795e2549978c31cda61942f09ad4ba4be7ce9d3bffffcfa67eefbdf7524a29a534db445bdd56abd56ab58a54703036c1412945f870508b3cc09cb8e22618aa37e34115d154b18b1efd3ccff33ccf5b51c1c9ac9469f5e3154e6a3e26f5283295b28ae300a6c472a22c43a134ede316b79b8966fb12cff33ccff3cd81dc7d36dde69c73ced9dddddd9766f7d27bebd6755dd7755d7c3980791160b28b5e441263e01ac61222081cd438802db8036b96a1501a4e7ccd1a9471d94175e1a446371f83939ad57cdb9130705249a624ab35cb50282ffeb67516d10f4210443ffad18f7ef4a3945254d65a6ba9cbd9d4dfda9f4d3de79c334d4f4fcfec9c8ffcffffbfb5d65a6bbfeffbbecff33ccff34636d8ffffffb7b5d65a6b6badb5d6fa00dcc09143eb1c3b1f917136f5b7d57a9ee7799e0dcff33ccf5a6badb52a954aa5527ddff7ddc0acb5f3ffffff6d603670e000da82939acd4b6a50cc214e6aa92f9c8b93dae650e8681d3aa68c3a745818a845393bfac0496d5b4d1dfea4e3a426000d03581857d1ef23526badb556954aa552c939bb29f55aabcc91c306b3d130ea41ead1cdb7f99bdde81435006016671b98b53707a6c51456e386c51a0036c00e02301a25900b0c72da1ccc919dcb09a0ab26ddbae9f34fdd08072b61f14d3d9cd4148839fdea99c87c913f41deb40f1f53461f3e2c4c06318de79939a30da580abac779e448d1f3583939a0274e8b44016192ca6769c87931a033e24a67628cde2039321012965a2694d393427a7a7ccc9b130f4833da0b5194abbb1907a487052a36171409cd46ae80f27b5510d06533b74c5490d0026d46300b3de18d6effbbeeffb1ae32d9104a4da7795abdc665329b31f4da5ec6bce39e78ca3f375b40056ed6cc156abd56ab5c4e0a45643d3d3d3c017f47ddff7d952f6b6ca9c624ca5ccddadb5d65a3bb7deae4eadf606561b075653398072d8d86035a5556171524bf593adb76dcab86d16a67175d941fafabeeffbbe2fe79c73ceb2934c7052d3ac7d98bfa0effbbeefab25d16cda25e79c73a6254ae9bdf7de7badd57ad3a9984d69d01b0d9cd474a87404100066533bed715213a08793da4800cca606e8213b7ac78e29e38e1d16a66f0e663faee0db2a402c65a2c789df2401f15a4b99c87eee9273cea69c6d6d99538ca9a9bf757777f7ffffffafb5d65aabb5766e3a7500ec531a64e1a476f3dd104000f6a99d998144a98d0ac03e65c00f8fe6c163cac8838785a9fe034e208c31c618df7befbd97c5621550bf9489dead873384b4c65226fa2fcea65eab2d6522fbb2cea65ee3973291b531621f8c31c675a3feb6654e01238431c17fdc47f9c10145a57b0a1a2e321a27b00c91850a2d422f2bb29d8c46898c26892c8a943c04f5d337968351a47cb90275258a12af2852ce407db5842dad1c92a8705835c1924cd1e1a34ca121ca1256a0a8a0ae48c19c16638c6000237738548bc80e624743c7db4110d843c2585d72045f9cd4309885f4c3daf8eafeffffff319a9ed7483abfb2eeeeeeee0e47180926cbe26b08273593bc31b2883ca1f316f1057b481857f127b6a22b421171f421ae600fa9bd6a24416badad29c841fc16735197cbe5728982c42043434343435edf3b134dec8331c61837edeeeeee5a6bad75b55aad56abd588a6c7662557abd56ab56adaa6fedaf5f59aafd7ebf582c94aa62f757777f7cdaee8ce7bef9c73ce39b352d75dd7755d27998869efeeeeeece34bb4a262aea3ce79c73ce9e1e1b9fad16a594524aef9c77de79e79d77deeeeeeefe39e79c7336cc10498714b5b882b5abfff2e7b7fcaa485766922ef98593da496619333e59056561a40bc618e3e924bb279cd466300d4a22213dd9233bd8436a3ab5d61a6b66abdb3fbea29d3d4dd4dfd2ccc89c2cb594524a29adb5d65abbaeebbaaeebe45bd1e8aba974b32bbaf3f6bddddddd4dd3235dd3e5724d1248b3e9534a29a594bacfbef7de7bef089b6fa97b26caddddddddd3d3d38383de7befa594524a29c618638cfd064629a59452efeeee6e5a32612f924e24e96856da69dbced6e884cdcca06a00b861615077de7befbd4ea42bba5c2e579c4d6b53ff182dcd8ccca9c61b632ab9a5999139d59c73cef9ffffff6bcf969c627c359532777777cf39e34be9a5975e7ae9a5d77f7e2913b9e79c73ce19638c316e8c31c6b8b7b8bbbbfbffffff5b6badb5d6dddddde9ffffff7fdff77d1fa594524a67483a30926095b3b511aac6c60d1c39a04ddbd84c196d6c2c0c8472c286947e58628c31c6fe37da7befbddf4ea8e7559a1999faa71853e92dcd8c4c3dc5984a5f035fa4aa852f99f5040aa0275f9527380e89344455f47ae290782150a4004620918b2dd46ceafed58a44236c4482a9015323ab513295b01853cc8904e426864481cccc0c0daa06801accc60d1c3948406e50a7d48e03401848a5606a870717351c2420373748149c60ca86018deb546aca98aa994d85815a0f8de0f4269e2ad8d4dfbfc26a4523d108236124981de94198114c8d1a184c653055822dd9e5fc6a61178e2b3814b728e59cddb446396737a5ded4fdbf56fbd55a916834c248a211869148303035628d1a58cc4aa693cc0c4d853da0b65363463127121038430242637f2816ac7f7777f7ffffffffcf27765e6264e61b8c442bd2dd8fb80aeea32952d8d0cec4b578ca44d820a88bc189922d4e8002af2091a1b25396f9ffffb32c25c3cb3412b180c26af24315faefeeeeeefefdc7d33c16284102173e582c71f20218531cf9232afc1616b2983254fd85dc855ec84a17b14c91ffff5f44fc2283cc2209c58a514501032af987288ee802c2fdb2c28f0cf4c948e3ff73ffffff77fffe3f2ffd2fe4eeeeeeffffff42548ce9e50728a69044c98f0b4eaa80b18af2c594145298e28311aac58a7ba1ee9e9118d961feffffbbbbbb0b5541dd0bfdffff7777771712721712d2701e8599971899f90623d5fdfbff4fc311452149e822c56a1154257e7989912924df60e4ffffffdddddd5f48c3b1ac48e4071a43aa2d4398d46082173f5a7ebe48123e5861061e226a50b29261d505949f2b2dff3fff3ef7efeb999347a74b0a378721202d4fb8007a22a8c90fb53f98c1052955cc30441558f0b0c5162de4081e80d1821033881c31454b0b284144c260fd7c49524693235cb2f87192e4ffff8fa8feafe5e7042b247081e2c50a1fa2c5ca91d8753b60f8d4d084909f209e782981c6079ee7f3734584d70c52b60c692d4b58b141fe3f16505855dafd002b8e984033450892a7643069e10227a0dc3054305cf193658a1132426adc51a0a20488244b0411f1e961c4b9964161e2ff422ef4eeffffffee423c4accd00405213f60e1824428d6fc40f925d24012895410c27d42650c2c7caed050318133428560694d39715f029516a07841b2430c495e137c10f75ad664891face0cc003479f3ffffefee0edddd1de7e6e6bb35ba693c0f7081058b0a42000597d1a884f0dab2190102100083190000c200108581480f5baacc3a1480092254564274301a2c402e1549e2704a9262281620c010620830c0004418522acf030ca7815f01cd10544f7889faa10a4440e88a57244803ba97aa16222c904895f11138a5e58c90b3dc6f822f30256deea8ca01692cb1d1095daf15498c86032957848b2c8e79370cba86dcb8d6c82da762dd88d7023d057e85a2329eb16f4e8774bc45568b4c6ac919db677153c3b306915140cb3f17e8068e858d65540dac602033d5f06a7abb8e82ae30cf61fca23355192dc2c1e4547f74bfc6e80f2b601ce9f59ea02139146154db1d8311c2b68bfb5b52a0543b318dc85bcc837d7597c084f49893d40ecff3ea32a15b9a8e113148bbed61ba8eb5e7940ea230caff2902792fb6a7cec7b1742e055e7fd242bdf3b88fb4149865a0db14c1873faa7934cc4de0f6a83553d0167fcf47aef3a54be97c68799735b7fbe90fd47988334e8b69f77b29b417474f78570594e5b1a8dbd598fc6965a93674ced2707e9828851f2b0ed4dd1ef000e11abf6192927e6658eb280157c6d3a1fe3d7b18d091b25098edb6b1a3cae05350860f50dec54ff192956fea38aa514aaf7a56a9a36dd942f78211a466c67e4e98f51cc1bf482ef3e8fe710a450126de76bf6d423254ce3fff7c6589050d1341016c2fad21823c65176006e93e6f5cfc0567d748c48abcc85cb8d670ad1ebeed8f2effd1828b9321c6098bfc1aa7c8923eb4ba50e6cd93a9f6116dc09a9470d6afeacf01b374ac2330b6b9b4fca32c3efeffa30f3c2a4fd20ba7b19ad68b02d9856c00bf477854da84d47434544e012c4f98ba94c26638735deb52ecbabb947fa06aa1708b52442bf9db74412a97a60014288b8b51f3a8d67051e3cb506c4a763273cb584ec67e5d15bbb5ee3bde3502cc705f828cc12041d2a09320345705dae5fc4ff2642dc79eabe8f3233abb773e09ceb7df2c1caedffa244f08554ef3ff9aa23713e4bc906d596c67556f93d540cc0105a15de683b570724846cd290db4e08cfcae6a9a72e3df742b9b2823b7afd1d21aa99881aa07b11bccb37a3c735731083537f62b45d2f34b9050532058cc5bbc4c58648b5965b628ac4a79541071c1bab8a406c1fd044d25258183585dbab6078e60f91198365389dd63d04d08a7b0fbbc5d4a6fbc8a466822fd2571a994474e4a185e3403803a37227e01e574d2d92f018be912cd252c388a87fa7ad47100d78bd39b91229559560bfd727174d87c40323305a426fe75fb8ea9e107d14ca197b416a858939e1fa2cfd77f170d300bd04b0edc113d4da400126c3261b06cb98046e6bb74241cb75c7dde456ae08daf012b479226b2f507a8804a77adb846ece51d8e2ca6a4d1b829588642b7d7aab1ea5c9c60354ea99eafd8a45154dce0062b7b711aca2e9c24479351cb259b6954ca40a437d2624bcc8d3e978df6d9d26a3d48233d43e4937bdcf7f54354e98aa9d81019967cb118ff882bead86b89cb353779dba1aaf7439a2ae9d4a437e337cadae5315346cd705154c691c07e8a972580a343ada5e59c18806e971be1cb30f9bb35e53167905326871e67b10eeac61c20e80d5f1c658983e26f3f638a7108d3d87a35b7fc5eb6e75735cec45899aac13e72d60bd8e61aad0831825703688eaa693801031c6e25ba1836f5fe7e75f18a2e9b24c0eae73e6e9bfbbd238c2923efd06884dd28f56b4a8bd7698eaee4fe7003bea46d26229359da0198bab9c4dcd0f79d59d0504b647d28c0661d2ddc148fc2b08b3d071b79ee59eee6f613e9b4d316d8f1da081d9ab5ceb036a5a0e1a2b90fb8518663ec4e011db9064accc0b304aecd94582467afb678cb4f0f5601648496f3253bd9aea3f009eb5864e48996f299566e7120b318d3a3e3b61acc4de33264d34700694d414886ff1be137d82ee3f11a1f92010192669ce9bed7225ecc53ce147d887387bd3d1d2a89db94d8bee471648f9a8f90b71b9282f538ec9066ed67d4bb6c54bd782665264770ecd3881dec4741a22b01da046e3221c330bb70c3117e740530ebda8da78691e8b669b925552d131d043505ca52c5bb2f817d6458b50d9f78e376104bc1c0318c732b45af034c55aa98554a248878dc7e48ad17e17fcf0b52d63d4d6d7e8e0c1aff0379dd98ee16f06bd0a62f44646fe9fadd6062970b494036a61e371aa6bf89cea5b49a23242b39bf8a0087365cd5de4562f18c0351d9962b07cf38999596dd161dff7a1f7a6504967dafcb1843da83f2cf80f0768a752992a00742b55c710bcf51774d73e8541c78834c0942e55ccfb1db70b7d59cc0ca4ba8107ca125a8ae2b111b89c119b7849586f7264d1663943ddac1747c6c18a4eef1a135a501022427f6799799f892bd5083db2586b1b912810d6ddcd6e290be424f5102654d458ae114098f6f27b39af9efad3fd630cbd3502a1c352022e38db2adf0fd9e7e43a3893d84896cb5b0d4a8c5ea3270e1bffee94c912b7961514254c42f5360b8aff9cfc9a996b817084a2b16fc02ca771766a2245cadb566aa1656be0056ae13acdaa63d9c6839e2d423a2b9157a079a22647be5bcac464a355144b9dc7d89d3801af9f580805986b06a80afb5561ce96f6d1703eb83e7437870c74745bf9557b61c4028bc1b8097b5139169fdca07883f21c1712a264d3ee3650dc29385f7370c60d1674e91dc2b4a0d8ad822d5934bea092f41c7fdf168cc57e52a9ee056f44edae51b31f25d45b12202b9d86fd0f5a7df59e96e6d6d5c18488bc22f4e9b22bd097624960b719395c25a1cfb71fc893593116a9d54dd8935d1c9d3c3b807d5f142173ab6026a999825d92bd78492cce6f01dc20c620dc64109347f4fac855192af6052f86f3302e3d6671f4ddf43610386cee6add1d5266df6871cdac4ecc5927c3ebd2f27993e157208bfb3502b3a3e2d261f977ee8238d3d63069775115dd166787193866c564cfee7a249c4c539f9122467a374d0aba5cb689cf896cf25249c132af7ccf3bcd4150ee4c676409ff8c074da09c0a4bc13a3d3a44812db1b19e67a119eff38e0358b4f233c341102a90f0a8d526f7dd5727ba01af0320e1710ef62d9dca1d7a437a0683f97551fc94e54218770943b44352d6d152ffbe65e47ff298efcf140b842fdb85cb839db746c79d4efb6812a31503d905dd551d8cd9726fff31272e310c4c9e4c154598b85120f6f3af32daa7406c201191977fc79e61258e5225b88b19485d63d21e7dc74e8e484548f6e2d7780302f9d9e6f2f4e6b5b638a74f192390c173a0c54991ff9cb1df6d01d0a35a0e9a783b76fcf2d7a298b3d86d9851b554e5b3780ab788130af98b9bdcfc02ab49ceeb5a410174a01b6b572df49b0e82bedcd43aa044e8bc1b85a4de022f0ccf6ee1ee78e5c33f8191e553d599e44c80d58c631e2f887076db0a8e26610aaa39dee1d246049a232ec127fb1ca96e883137f621dd0ed410bd5723a1e976a4405ad2b56e5fc4d6190e9125d7d76c277584aeccd8a90c377b92c9866350856c47c8390a3c8897f01451702d65499415c80cfc647ecff71101d83306a87b37adad8ef3d862745b3b49d32eed1772a4a5cc82637d7fe3c48ee5cb6c4441ca61e1141cfff2d643cd9caac3e8ac66f9dd6b06d9c03d8bd0a92a96427dd4af6eff6e7b9429c0085cf89921658834827bf2ff22402deb3964133669a39160ba11645c9aa1a53b22bb3335121ffdff812debd6292489c32146bf272ed38e6545a1c04ca8ad83c8164d4aa5e6820d1adc8c089fc81a0f13146bc80be1468f04739efbf9697a4196202b303b50e72f96fa1c09237109f4e05ed557111430105275238872ed1744dc88903ffbc6c37571d9d07226d029cd057151db207ed49281b683b22fe823ff9c5f1a8136164134b68310512c437af0f2d1e31bc31854039c5d08e06ea152734dca70b173e714348aa21db4b643d2a9fe10d3ec5979663ea73386a1de1613955d7e714ef2b14d61214ae4e02456c47f07a8002320d29651dcaaf107f32eca40758857555be579764402fb400ed34a186d92f541c4199fc14f956b4e3282aa3326a9cd7507043234028d22a3130c79b05466188a4f7bec99badef9a4e0fe976397fd8c06815c15876bafc188c245f45b0300174578373be113100dff37fb7390936bb263af08179f8284e5ea761254e4cd5fe4b083864e01360a0ef50cbb8db2205c8987f1ee36bb6b76dc300431d2db65700d7a3274a3d4ce38df57710675345e603307261a68eb959f1ea7ec19ba4982fcb7249ea1114ba80214652981c4e561864f8c03bee94d1e35486fd56699ab73297f59506892a676b0a4ea6a56b8b25807de0565b8fd81b2a2d95b7f2bc852484aca6688810868756e10b58d6ff02b6506472ca00ae9aed1bf8df806ffdd0d1a3126d9ab489f9b9cd8cc0e9c194f4eeabbaf3bf7af5bd6e7a2219205c72db69660693f599a224ccca0118916dfdb603384b11fdc3cbf381fb0466df581edecb6003a124b805db67f14e5d5d43f2b0b5eb234fa86e74a313e0edc1bcc2c0f0b3fc3a7de2eb35d100d5f264014e2bc6d0105af4db1b3ec08d0fc36282e26b0a28f753deb86845b5f49ef91d9aa66a2c40d1028df1c0e76bfe13a5aaace91b49d5e18a5ca80ee43d5543c459a4e3d9abae8e420422af83feb01e973e2a45dc6160f0ab47743cf57de2ae69f0b016e4fd802b172eae6d3d6ba2b7153884a031a2b4185fc7dc3f51058e72b05f40eef0a1a20a61fd80af6b245770eb683297bea1dcb232a42dbda1646c8aa597a6e1645a9a368610f6b0bec94ae137a1b256cd66b6fd1b3b4980cb8ba23d3082cedda4f7b65f9b5c1943437b552c065dead4b8f93fb5accd400804d9e0d6c2ddf429c443451ddab6a56477ce2f8d07e7c013e783cba1c257758a23ab08bfa14343a6985f8d4601b07250af62057e7841cef0146deedf0b6c2f4e2ebb3d302697f4faca149658af7f6c0c8648e0a12a128712468206ca91d808c76c8a0d325124e80ae1dc54652d55ab9737bee20d2e4b37a6e1d903698f85d308d023c1929f0b0b6d687d80694ff549a4a222729657413296aea16cc22d940d98b05b2c5816293a3adecdfd08c7d76f3eb45b9f6f7ce85f6fb8de86e7b1a378f00569e5fc20a84604e1366970cc7a3831834647012dfcb222b8b2b1d1822ecd78b8855cd19c1d06dbf2657e436e8899a50faded3c491f476cca5f50b4045118c195650a11d88d7f6cec43102d936847792791bd942f29e50c423b3e93529a2dae30a9e60d5c11531401be04101b3043ce18e59131085307c306b33712a6f252b694fe6f137b0914a0a13912766e3471841d5af82e51be08f32c33223837f26cca66a12fe776e92b75db2814449ddf9ae337908e7bebeb46d4a483e259d6cdec8d6a34ee2432ab3ff69bb300d17ccfae47b87de1d1ef8cf67eee871b5030d9d348d7ed56f7ee08312e54484ff3fbbfa88af6450104a5b41514c30bb7c42d502b48c1e40a581b6c05a2d259410615aca083d82ac88aa3ad1a232fe2ff5c85a39789f44a25fd1c1e595e895a87b169af1e6c9fbc1942914432546ff59e1d6f54593d3f10593f5f5d1bba7185d71e46f1160b2f2750e84ea4a8b86487d16aa80a6452f9cfd56ecc65d93b3caec2aa1b571e5e77f663650671169b526f010be83d5751faa734121217b05083b68aa50ba5ff97194a830cc0830a17c037206404263d8e419f31fef7a901d275bc54af12e1e859c653dace95e10fc75146c1ab2dbf1faadf71cbf17acb0bd275520a3797698b6e8aa64ce672efcb03c4930cf2de1fc95d0c2d333036ca745b486a2e3c0dcca5fcd826b53db6f5468ad6b93551590cfcf70e0c79abc1a573f94f4d6e915cbfb13452f6dc7df01fc557a46e3463ddd3a0ddd4037c545a569629fef753a65e590f3fe0376a22306a6aec0ea2a01950a8dd4c6de274e9e271d4480ad4b9c2a71e513c93fbd8130e4962eb1d71c49a6394ae29334c6fa8d31bd3b525a7d0133e904345c225d332d2a3012527ee32470ac6f986706f3cc5d1f88f2054f858a0ca46d95c9b86236d8293907559a60ecafaa6b7601100ceea071f98d485ec84fe8fffd7e91f2fb08a8f5b73b3d19720bcb4281798a8188f5506978b4442c627762a96f72cc46d5db4d0eb61f4392d6fce20c9f8af18cc02bf5f82860642df4c3e6198de2b2e519b2fd052de84d252556cbbf5d0700106a566032afe8d04297d4e35577299881efba4d69b59d8882024324e1842645edb72673e4db1c0010ee1975fa60fdb66e1af5af478f35fcd9b891802a6298660948921743a22e67eacc7a4c0c552e85d602c30b663d80f8ff320cb4f2e7bf9a52c8cf00c359e0ff94d2b8fd85355182ac781b0adfcf4c683796c25acd867295dac74b7c46d813cfd78147af617421342afa6598ae01b68b902370630a8e17affc67c8a26e2b922c3923d730a03733507abe0fae2888a2389a9977c4244f330ceb4e7688d54e49617648a44c7cd965338c80d4b7a6ae0a6b518f71852e76680d08b47f92a068ab0420aefabbc94eb2a6600b6caa15456c14c8843b84092e68a211c5dd55fa612fd135b6f44f4e67e37a494ee6772560f285134499127aa200820495e93dd3f3fdefde24146191c0070cb6b0e9934d662362f0508ce20b28064966cc0d203f1d05f1a846ad4a842dc8065a2a77961a90ff8a0304f45b21be2641337069d5f447234be6cad2582bc22dcbea0daea817a0fead8e0816bd0578f49e3d9dcc7de10326fc8a208a564c2809231e74d4505f89959cf5fd69748f2a83eca1f1d3b98b63565d00867dc874b69635f373abda00e3280d3cfe452c37296c6a44a2c8174fe880584b50b177bd226e10bf56afb1904ccc500e4b123d79feb85d4e721a38f24b614d3230373d45049ecbccf7242bb929164711492fb92c0ccd66a473346af84832d44fdf848135e4d006cea47305c5fd1123c3506d1f47fea610ed9cd3635f3a71f2052f797eec0e2a089875ff66dc4dcf5b03ef92af7aa2ef008a9a72ce9086966f1d101bf8fe66b7415cdf4c41596d3830009b449bedb5bdc3d80a618f08087f88d5364c688ff543c95ac61ffd3d5735a604d8c4ec13bbbbf07ee30335a41fb9d651a74c359a4457eb3e43d93bdcf1a65b8e570c723ce93844417a8fd9f87cf676a3119271d4ff6a5c9987604ac0282f702c6933466b2a1cd5a230f59cecc986d769e0bd524acd2eb4baf589a6b334d0109f5b4c846d6ec074b4b96b72cb48f6601c0f8f16ead5c61dfff50e860c4444e11eb57c551ea62852839c5666c8de2beb6418a806e907e2606897df318692fb13f42c1df84f64a9e4fa518b635891c6e26cd11a1fe67dda10d9477fe5895943da71339b70fe4c29837dd880993286c9596f5a0151c04bf50d070495b2f518517591dea5bf5323fb6a45d097de45009a34c52de8a625644d81e6131812e8e28f2c0d2c2021d8a8f16737c4954103f9572922bb6f3f5a963043d42c8d5063c81fe41c211f71f2431fe4475ab7fd69e61334688e2042734aafa5d8dd8b4aae9d790f42c2717a287f8ce94f40c0c087dc3e09a650c64759281fee4839a19b001e6970e60aa7109da075e2b9bbcd0336a17ca873231cf9a4c1a63ce0dcc885b66dbd5a14982a60b2420332b01d151ea72972edab049ca2e1780c8a7675691b3d66e58f397936c681257e61bc429f7512f94c09be2cb763265d549f6b87a82cfccca21ab01d9e4b5bdbd54e462a8bd1a4de683148c0a113bf3039b37ebda88e2e567d5c3a90bb0baadeaf2685694cf6bcb5d6b5c79025228108724ac5b0c47bcbea497aa6dd06a11004b40fd224a1701119f4b033d06125991147095e681f101fbef202d85135ea69fc9033dcdf4aabecb8cba6113a23840a9c47ce49237d4940ee91e021aea4eaee5d6c3e372b0c9627fd55bf679478d4ef4df69b89426cb815247a42ab65adaf0f131eb81f670a85d880aed2b6cccfec6ce13dfcab15b0a422fecbec438d657dc39a1344ff72602a59a24eab588fc278385054a48a34663097b71de8129541144a97060d68c4606a096f049cf1a8664b3c2f724a789c52f9194b8d36c1da3af01224f949a615acb005430a2d611ceb54ab83adcce3607172aafc3edcc38ea90a6b72dbf40a54c1cd3340399d6729486d650e2b4f79f29ed51706fd87d62f83acb8e7c0465185415ef30b806f7409511cb5b0ab5e607d7cc8ea586775459adbaefbdf692fcdfe79dee0f1daf34dc7559ec6eefd5caa1e3295e2524e01b46a5eaa317edce1339c0fd3fe190b43cb53ea78868a016498882a9a45ca0d9485a6e0d10b06284d4506c217004ac962b9152274988938713ba7721116cd3c57c31fe67289cf381b3af409834f691540ecf249c3c2c049e18bacf8015776a2fa9cdbd404ed3ae7ecd254f9ea5bc79b247cfa45c244ac209f341b00de599eaf39388ed8565a5f4dc870ea9fd3da793f769e868942fe3ccd56e832d132eb9b1cd1e4c776a7d438bf511f0977ed3a714842fa2f7a2ca008dbb4832534984d916fcef994110e50cfc36cb7c503caba8134ef5219f61a2a6f613c2bef4bafe184889d25487e4f44fd3931e938f289a640d1f011a504748f6d5b83c34eb1a7cd43c135d9e89263c60050388badb6839ca3542f9c401f797991ec1923e1c971706c359bbbd960a9963c0a523bd8509199d6b011b0cc97b012c00fd8f91a7f3340dfd19f12d0bfb2d8d9c3fc7832656b7181662fa1f13952efa0b9ba61fa9a852f7fd68dd5568110ae68b373840b05c424f0382c561cd3cd868671ed01811ef6408e57aa9b1c3f8a50600ad9881baa886abc374a88751010c2340a0ba155432bce630e42a1ca35c089c6be8dd7f84640d9bde390d2b5f540079c84046a7fe276929f70a7cf7c7be625f2f6883e07f0ac07301ff8981f76d1ce28a6a91b832de2c8ca6bc6b625b7e2af41a56517692154037457caea0a3aca31830d0338aa8ed87e107b4a0150af21e8067544149d50a6c0bc746d1b7fa6cba754e6d5b7e3ad9c209f86374efe680c094201c9ebc0cb0190c3c120162e44185489c8c46acd9965dbd0600eebb141efdb2da8b10bf9256ac578db5c68af9ec861ccf682412fd3cc70e57f70c42c24afe20af263d48d3914020e720a46b4467b7d518f41aa5a98f85a50cfaa1222d9bcd4c88486aa08c6b624d40d84f4d0713d0b842944bf5a9a1af9aca19151641c3acdf69386df37d6a4ce12c59aa593b09bfdc360860d86d70ed26c146c409aa21b9871049399c48336d9147ae8c187ea7ec72e77411d5f4eab0a4a55124069b6f172bea5c46faa26b22410313fff32c11b98512d8ac9288f4dd326b3e3cf7866090584ba359df3f382be2c2dfe2905512f0251cc59eb2540ee730e5fec49189aa036d05c2d9d00f3fba5004b4278a2c59c7e517cdafff27a070c8b38bb3b6d5dba1c31798f376ceec85795fb38476ccdba144c64a58144eeee95007b398d83cf856a3aba6d946aa0c2d6d8da64b6b85d641ae297c34fa14f867cc1968ee2ba052a3db872b57651a23dde39e9a00b64ef904b4ea8b181d66355d384f09aab47f48fb209d093b0462448421543c10cdd62031fe2e5497d5966a396f94adaf4e12650080e453eadd1fc433ae556286dbfbcda8f3f48ca5d3d088be618333f4771391d7db0ec66ed13fe4b6f0e3b6ac2db56d62be8c9b10e705ca31230977e21fe88bfd84424a9980bca4972614bdd6522a30a5e5878f7842dabbacb18a5e1d7b4351fc9d9ec3f5788ed21fca71eec41414568031e7be3538cded1a1ec44d9d4f5f52fabe7de601ccc5080d47018c48f3886b62887905f646054daddc5a633b02bd511939acb4fa0b02c8db7ac9e59a6a0187ee53c6d89256138070efefd22759c5826c584d776920e09f0e01f422cfb56bd6fa940a71cca7c19f00dda7812b016a89c824422b380a583703565a2acc2a1071835f0e34445f55723dffcf0d821a6c23a8f246a7ee862b2b7803d1a84d924a99d2da3df5a2174048f0c9bca08b17f072786c3b78af0e5f3774e265978d211a8737327b6642499026173a132b10e68ad25cb153eb373aba222f8378bc86bc636045c30433ae197cd87e702c998489d5df5d2e5a5c331b4ba205e3b425377749924774e33384e84a6fd3070dcff869dd3dc55b96f9afac5cb9639bf92779f6415daa3fa650cd051972ead428a48429aed8fcb3035130cbbb9d5d3d8f901b8eb650a75d26df665b9d362c1776998aa42b34711491087db0a998b38196feb2b08c63064b4c14c2b862178f28071b90c815c9c8500339fa1e40ae56c9138e3763ee79d819b3db8b10cac877def34f814e0d74d0af610c577da056114947159f52a9e8f443c5ebdf398e24797b6607efb1e9b3f4c7655c3cb818e7a0826445aaa1f454f1ccff2dc52340442b31c2b59948e4fe1a3197229b5eb3c560a854e0670912e4264d7b66d833b5064284dde50a639607194440aefca2c86c5f6350ea6a7f0cd0b79f1d4ef8265372670458a92d2eb7dd3d7a878621390af74c2d24887322bad97b9c5d870842ac44a408e09a0638762509193219d4e06c1d02007505e2191b443734363635343ffa4fd207546a3cc363f383f6338834336cc32cb17420bc50c1415abed34663f0d4222c709986ff16d9aad000a5c08513f181a55e1d90fdb2818d03192872ee023be5f24095ff70641ac4ab8a2af50509b1230b414fb191e8c06e704ed88797e50747a575e16b87d67ce7219487ce34e7ab1ba50bbc58f5f562bf2d0223795e58b9150cc6b2ffcc81a0e5558f236ccd1b9a04d7098cca08022265dcb29afa09fbcf9fb946785eaf50229f467ca56e98aa4c319f181f41b47dc707299e07a9c53e91e40c58b5c288f60a8f35462adce5c31363f4ff205a2ee92a04ce39e14f99839b6209a88a9132499406b7b074fa8b873c61ccdbc65852a7f23bf4c161896245d8a815eb7c11ff399584d67d404c144bd6b10c5d894891625f13528c818f14ab54e50bdb305703047d260b8ed29f4af41949380713642b990ed5438bf9bea40a782ec73958687290c890fbef8c51a212f64553814618053f487422f4826b53a31b3e232b5c37e86504852559503ef4dfc0f00deb43211e2e3f6a51295bb003e98b511ec8333f615a06902b0480b0dfca6273d366711457689ac408629321e788d8ab008e7e356278a867ca606597dd81717d42a17d43e3f40729df4579512c8567ac13dd1c9cc6a9d69c1e6226b881308d9b6f49022e7d10504fa6267c9a19ce2759147c92aaf9d920a08f04406b86abd0d6ce54a4111f3fcebd4dd909b124b98152da9ac50366c798e00481c10b0f10d31014241fe5e25a60e6f0a2719427b15fa7cb335c8b1ac00fe8e69309aa762e808267596cd93497e0fbfba4524163d8e47eaabbe2a1f47fec75d8c6a2b771382ca42300b3328b26f16729b939047191cc37ae5f164356e4181aa2d260345f1b6d4b40a9845f85c712a84e86cbd66d5863917d6247adfc7f754cfacff0816008b477b4130a657ea95cf63c1aa3bbb53cc940852472efe49c6fb4b53861f901a41dff278fe988c3b17841b34aebabdc49a23488c7fca1847a2fa1d9836e4219966c1758927f28b1ab6206aa7dfe448114aaadbf5a8e1550d7fff2a2aa490327006d1d6f50648046850854d31ea95ab2182af741c531c4df20c861a2f575a6208b3602ef89f4d325e147ba4eca4b87f3d120e4f32cbb229664f79beb836d084332cc0d561952fbae1b9d04d42702871d32e32d72f4a8fc7df517b1ef8dff135bb61976ed1ec31510f803eac0b902d20f4d88e146bfe824256402a3fea13bb1df0857882235223a9be2ad35145845a6c408341794dcfcf20db889abd080aebc1951b04051492f096096401bc0255bc9e3d9169c8991dfc00e386056aa583d02716dc25b14b792a34db7a544cd079448bf3b89e41b93a0157000a9f02262a81edc8ce751456295b5a9fc1a30ffcf440d6c17d0d13c9b0fb54ab96dd5e37fc14eab330f06e95e3d6a188c8975468b41f6ac1fecb68f6b72f7315419f9556627514c85624fb65345ce4f725f25faa0549a1567437918cc4d475657c40ee536bd07b0661ae8f8e82173542d5675950f86d5bf56b41674f4d4907ba0b5413618f9acd4eff9b1240af4266195257db5585f0d31407b89a421447efb1e624444a24460ff5ac617598501453f4be5259540443813b57f7483f9c6d059983250049446185849383065f0002089f979f0e9a37603cac21c64bb930318bf86898ec8de19c9ce8cc9c67c8b72de5ef091955d550c570093278d1cbdbe00b67d7a4b6100b20f0106f6e85788a8c91d1e8a127fc2bdda99d91d985162194060d900e08c3891ad4c327728a84be66343b493353c2f0d65a03ceedfdaf0e79bd536687d6c94ae079cfa1e2d57167a529f800c4a22c4236f9ece35949ff065c086cc80ffbc80dcabf0b91012f29cc98f8af7fa8a10fde4d4a545597998b81cae9cc515600a9c88490a55f77370b1f57f9d4c33f4220fff6c0d76b3625a2df15b167490240b4fd3c702ab4fb1d0d41d16f22a3ff836c101467c322acec75dd97a6b15cde6da7610ec0b4ac7ad577cb9bd6fd9d8167cfbd2b1cef4ede2637df3db73c8baf2b78791750c70874bd6314031411cc604ce4d03c06dd96a2ffc7dd9ac1681df105b0d4e508297d790df097ef8fe3bbee78122bacfde3dc86e0271336fd3f93470fec1d8cd90ce675e1b3b2fce4e7db6614f2fdbdec50eaa433620c7565c2f21932174b1754977a6f27eb10b8594bc70ceb9ab33233cef660c6327a798c261de6dbc78d0a1211086a65919263721220201c78b6d46e5ab0964430f0f75f97b4de36e6cc1b75eaae89ba4a511ee66d73f2f9ed466e6e904da561163c3a117bc54b9328779485c40e235bcdd7a309d86d837f6ec7e97df74f26e87f1016948beb81baa73779f32eb1eddca752bd0937f73049f10aa8bd33bc920f38495c053750a9d122ea144e36eab14b902affd9ab0ec882ef0f9c3ecc1a417ad2f2bc15c1f98e4f6f4e7a9b037421f7d37db3e63666950d1be5e57dbf4a06d6db0b759c965e54056e91ab0673b03fce0c34239899816ca1eee6ec71973ea98db15abb5b4649ea95f1dfcd2af055ce817aba5f32bf62a0b23c2ddf280dcc497f28ca2423201035da1d9b0fa862077e91204a6d767322d7dd3343382eafc31df69f9fc3c199d33996d058160b59a4e0106baf0214e3d8ac1e3360340059b223808c5d1f4301412009b32ed6e20a47938823a9ee83b76bcff73e9d2a58158055b262f5cf80b712ed46261300a5a302b95a3d23558ff76a9307018a56b098e38faa6c0c8c377c8576bfcf6d01970d79db2787dc3ead9357e76abfac7bc0185c059168f0c1885d72279f2142841a9f180bfdfd211d4b95fed38138c3457d69d38a41e74e03f0111412201ad45d15494812cb79451ad1e95e18a5e650a70bb321320c73275f307417f102811022ee3b27c2e63b66097392bc9cb04a36c1af165f0f7886f8f498714b2798b1d4f3c3b76cf2d0b76ac874a827bfa8c5561ce2e80979755bfcb52d74b4a13c63da2b2b97783ce93eb6114eaf2fd22d617a56828caeacf4422b4aabb2afbe129f5c6ac77fdd8fe6ad0d320402cb6c156291be30c52b97153ff5abda784363074d3b6aa535059023bc489a8bb44a2a221c0484dd64d4cd73bc6786c468e91345da87a42a3b8e931be3506edb9bf92ca85252683ad8bed8b0cc4e488e07b8f53d02a8caf711b9d710b5a11cf93259799966afa7f52ec6ffb941a32fba849da44eba56307d396ae34bad390d808c8c28d9c8c70344a4f8eae0c7434a56747a7108665f2347e1d768444c86c409af39aad6b6708315fddf78590eb968b75b2e7c02de4391d0f23c489e47a7bcca48eee1db4d76bdb70362ebd03a0d6503696a6614da39b40ff28a15882ec1279088b0bc060615cb19a2b45bf7ff01a915837fe5e45056431712e3b33edf0d93e558b2ec6fa7ef3c246656eb0c7d4ddf0def3eee485cb01805548cc84df8fddcb7a4ce8531d10be6c4819ab6fb3e12b75d12eeeafcaa56a7a33ae5fe78434019069dd4ccd158da70e6dc7ad9d53375961216ca183c70acb38ca5062880a345f2bcb683e794660e968087b02035e03cf5330d700cc2836363bd9603567a31c3cc294c252e95e2335d4bd26a2aa639c486d03ab60af86b617da41ae825c43fccabb9fdfb1a02037f8626dfaba5fdfc3251c012f82d329056dc5959ac5414d70e590739846f179248122e09a344d203ad565d01d032a0f220f3ac2827e6448959fd2476b0c0ad28fafa403ed940e2c5c42f594606582a851f1c6848a8bbbce09206ca63ba0f0a99b1a5d9f345785d9724553217570a75d5e969ac9f63dcb2e7397bacc20748d3f853f1ed8b104362238d3a392cc2a8b5379ab67f697306fa5b976729ee3b2ee322433b6dc99610b75dfabb7e371c023d41cc4c300116d37ecc06a4598a071747899e24ad27119580479037eca51728648451c307c17936f8177201b18c5ef3de2e329b6f419788156892e9f02bfe75d2779fac23463c2003f5c0aff06cc7b8783928262749a0a8525a7cf9824c42275046caf85088532cfaca5ce16d9a8d8c32cf6dd39ba143ee956ead9f9d9a81a69fa3ea1823f6648a448499e9e185d43f46aea18d10c7a6f381969f479c9c08caedd7935853d4489d0c5e278149662198141065d75eec40878afd180df6169bdc876df4a683eb1c4144ad9ee999557531e3a6a8d50c839a005f6e923f448aba56184133db61e44c44c9e5bb76e01fb642ad91e8430d900cf24a0a09e6f6149c3e686d232304d59bf8d3831f75a92a7544c0f60a876678cd20861686ee640d93c9454d2f1162f40eaab9992b8a8617c559fb4126edbacae99253cb0560c963bc0be60cff0c51f7b7255dafbf9a1ad814bbce5062961dc20123066674b2e87d9fd1e9cbf019a11853860705611370779b72d5c37243a06199fcdc7473be0947b0e556d13531bc882d881c7b638476a2342d326d61acc150ea245949310e5410d4ad6062a8d0b63e993291424e40323c1861f057031a3918da16c2804b1a9090959d9dd2b576e29a59401720387034e039f0bde6b27b4d79d266a3f1f011c03b4f1ea5ef31e049f6a17ba91c4f7dd6b24be27f18d26c0dfb4edb1c6715ce05e1b5fe0fe1b5fe0e2c81340b9f7da381a6f1575e3a83352c0f6fd5e386edd6f541f607bed374ddcc49b715aa60f701730d2bfbd36ee7184816cea056c1a056cef346facbdfb2edb6cef3e8bbc07bbe3ca327bcf86e8a7da44f7e3e83375ce7fdc73beef1b4730dc92d6ba9fbaa3afa564d074ed3bcfd3ef89fa3d6f3f06b7f185aeb340ab739e33763f7fd3de7fe0f6a0f8bd27ea3dc2704b7da4fd046218d1edbbee3791efd8dd8f6e498b7cc7dec65106b89faf89d90458bd02a5055a7dfe75ef356f4ae78691cdff45570af7e3656f18251beebd77095bbb21082b3a80a1f2c186d94ad839b648c6498c9b3efa91bbb2e92c6361f6a6c8091dfed9ef647aeed9e955cf127bd2af5906e26559c6b417fea2c1ac2f5425a02f487022a4e7fca2a5a3bfa8e9a3fc6215521146a9d66aed8a148c1baeebba3086815ac939675a0ac60a864a9bfa888b810283c53bba430c18849d1829dca3d4d2493b618c983ee27a7d71a3c3b881a1a38f76afbfc34e0c1791aeeb3acf4bc58841e3ed60e338a45e903ea6cc669eb5a618a12147eb5e977e3f85919b7a81824eb32f19f8f52010d8880030bc831725e8228b61d80b12740cc344b6e49a644a845e7fe3d0eb257a46ce53a8bdbe30756aef12e61c49d4f9753e1d7b0c949acc804102cc12f28b4444e5d6482a0ecce010b3b93e53312a3cecaecf540c4b0f7beb331573039b9df5998af12106060d31ab3efa11201cb1573bc696d930373690fb4cc10cc10333251c4407aed2865b44ce39e7fc41840d733a8159816135c881862ca594f3476affd032c3cbfdfa4cfdf0d27b58d966d63d6178390c7bf32fe7ff9ce3e8a422a314fa9c2528967b0c94da20b65937faa00ae8d7a2f2d077c83e48c1c8a46066747e03c3b1711b700e299dd75aadbd6c0b111b7d971c4de837cf5c5b1018fba1887bef75a5604a29180d60189673ea0796d40f248539757fa560e3345c744e1ec4b415e339f6888bea63e5665b9dcbb0299dd5725c86cd65d8d785314e46b78f71192686af9bf366290cb6d5e9575a85401b6057b6047dba43a75f59aa6d39615b5c2b3ab52756a5b1f7c2984dc6583ee54ccbb42d66e3b4add4e374e7edcfdb1fc8093bb7d3b19576c01ace4da71fb6c28ec749ada92c75c5a525e665a5922d1d15a5966e2008866316c17194693df503926dd97bd523b80b236ee9887a84483d4284bba0965a2336113688c0849d04accf948d2268d8a89d7c087b5eab625b58945559174baad894d28675d3729159a95c58352a97167bef75618c5d186358ce59a669dbc6717ae338adbbceab36f6c492acc9a2d4b2dad41dea8baaaeaa8c8adae186745353ea8a4aba69b9c8744a5954455d50543aa52c2bd44451a68cd99a3a2e1931b4566befbd68b5f6deebc2f7c218c372ceb09c659ab671dac6715a779da73bcfdbfb03414e18763a1e1e1f1e4e87009e2aaa1ee77595da69afae8eb0a8469893c342a3875aabb5a08b8da3291a3218638c6134489a86123a1a3b56297815f12a5af1e079dede590e7815ad86f0006bf850e1e101e2f1f1b17ae9f499aa4182681b84782e4870b4468d903e533570f02aa2207da66ca4e07da66cb0c0c60d445d838debe083c2091e122120fcc3a31372c06f6719c31746821f789de6362dab613b31bfa9424a1f796898ba87fbe60ab4d7bcfb4cd120e590baa103079c132a0072f3ef90064b08407aa881d360832e647aced9a3e79c73b6010d21682821a4b1c3039c1426d0041ef85e80b2573c70c05be5c0866e2583835e0d3102ae06106c2a3ea09123c86c9022d770f101ac460d1b700d1c395c356e6eb83652a8b02c38dd20858d1e94523656fdea336523061612831a848df38007fb9a73cee73cd8a39cb55d711870d8dfb734f64b2c5379c9ce2a6de528933852b72199d4ade52a8a6a828ddb6a863de24a241d7d74b952b7cf952a49fd5c49386aef357224fb0285843087102d45ccd0410a8821748f3e5340c408419224499224499224499224499224499224499224499224499224c975e03a701daabd17ce46e02a5c85ab7015aec255b80a57e12a1e57d9236bea2d7095bdaa29ac568babec99318aaf80af80afc0c457916864449fa80eb039ef7dc2869d5e8fa77e3d714dd0a9c26cc0c9de400b2120d895d32730ae824db50971f66a629ec866b626ae246419b3d6e28b5f7bafbdd6663bdf3b42ad768ddc0c45f1036a2db926c809a55c88ebbae69cb3ce79819365758c31ae950b61df9f747694c64fb06bccbc269829865a154da9276e638faceaa49a1c47c19e7f358a6952359a7a84fadbd68d42c691f6fa7b4ddc5ef05ed3c61860b8a5eecdae3dfaf6d66d0e80a5771fb2e86b394c5d7b4eea5d6a464aef3047bbdf95a4ebf6771f9f17107e37ee8e7b8fefc651e77315d571bf01aaf6de6be0770134b6e4aaea05d1842c104dc8f294f636794ae3e84d9ed20847d910694bae29efcdf9bf4894891c654bf00eec11888666f31781687a03b2ffac6c895de5bdef38e2fc5f24f2946c099a75ace37edd500bdb356a47a1504bdf7e14528d4231db8f422f213284a2f7731f81b403f60c102091482493ed3131fce8d081b3dac4c417c6955a9cbbec29793eabffac3e353e36280bd7d7ffc85492fbf5513afe849fcf07fcac3eab101922e70a1debd71d855af4b7b500a116cc15c2af1f72016581f3f547f824c00eed1f855e7a0db1f410497b68a592809f73eea198691400f441b10395a79cb2495ea2ca16144d66ed923f49442233cb46f196578954d554ebaa9b5000d0d7627689a9b3ccba6aedbdd7bd30c6b09c332c6799a66ddac6715a779da73bcfdbfbdb1f08723861d8e9787c7c700e021292c50e97ffe383cb22d72744b208a24fe4a9c28c9dff4db644ce39674fc996649ff3672e586c1cf119bb7a4abdbe897b4aa65e9fa33ca5fa219a1b03765515386664fa4ccdbc746a843e533fb8d153fa38475605fedcac46314df8572e5a4e636b347385efe96b37e60a283c7d0d0765e1e3e96b359584f3f4b5962d3961f10179fa1bc9969ccc407798b038e169c8261ea54ad241d94c95247cfa1acb9678fe2484c46fec644bf87371da12f47bf1c5f0c38bc368b20d667f9b5bb66db6d26dcbbafaf8316d42eb9503b1e963afd3dc6f97abe256c5ecb72eebaeffb84fccba47b42fb5047d8e84f81141368e58bb7da92499dfb047b9d75a6ba5b3621d67fc44ac7beaa75be0d8caa9dc27e2fe89570711471d40ef11f3ed21bb944d404f4294c09c2a442003a44ee2379078c24716df87707e1cb1164691f6cf67e455543fd1f6109185e8114f5888e27fff2f7ed60a88a18b3f750be2f8b47f9cf123eac01f05914e15ea9f20be48226404e123b725ea7f88930260547bfd4fac9d237a88272cbe9f01dbb1638789c76f9fc829f7f54c2291c2ffbef31ba75be884a1c87e9f483b47f4bef11b6dfa5ea75b1e09dccc577bf6b9a5e08ec619c1676cfaf4de7b5db5d6fa57005c008220d8013920183e7d3ee3eb703eb1c3e170381c0e87038220088260a7236ecf0141100441b02372cf0141100441b023eae78020088220d811bbe78020088220d811bde78020088220d811f773401004031eafa9a9c1b89acdfe9c384e60b8a5e983cbc808ccc8088f11e928740ba8c0410f8c704184102726f32787c68ccd8e1924fc30530e313344cd8c0e19cc10518499968c1926ccdcdc141080400ad1f4fa16654fd654d258124d5da1585ab2bdf7ba30c62e8c312c67cc61396799a66d2d5ca669dbc6717ae338ad3b92e3744993c5bdb92c7e285525cb6a2a592ad40a454934e5ca34e76cef54795cfe99c5d19fb2ce5b1400ebb85f97bf74d1f62dd6ce673057a00165c17e7d8ee21cc5653a6fc9388ab7a82458eed762dca6651f87f3987afd19de84a5bd74e7d421754aba63eaa0842d8efa76f098bed3f7f26955c80a6d429b304778d3439b4a027e98232c4268d34109cbd046ab40dee2c1598e0a59212b6b7d2b5f8abdf0a7fa583e14fe5abe161f19b2748dbec1e4b7e25bf1a9f856fab7a29280ffa9f872f8567c2dbe946f05c61cce85e5fd4e1693dfe93b7da7eff49dbed377aa5a46c7d84bd368962eb58d5e7d274d04da4a88d42ffa45fba065ba7ea924e06b1fb40bfda255da46c7e8178c31c63844865f8a56e91a4da34b6da363f48b0e91211c8a69a255b6044423d22aabb54aabb44aabb44aabaa86a291ec556aa466d24ea596a2add04a5a855db04c99dd643759111a4acf6e2a09f859111913b21b6d8546ca6ecab293b5341168262d455ba191b29bac95b5cab22ccbb2f4703aa65714d3244486c8ac25ca5a65599665694b8cb356d6ca5a592b6b65adac555128140a855b60167b91f00ab76055af3ff10b46652dd08d88082e128957f00a6e016ed1316e0176015ec12f9805af845017c9432395655996658949ec825b700c7ec12c78059398e41709050ed328a6092704318a3fab9015b2cab22ccbb22ccbb22c4b4cda920b85129198b417b398c424263189494c62b2daab02e900b1ec256202b54448222591135089c9904b48e69a32500da8067403a4a3836a2a09f8a01b201ca01a9113100b54734da60f3e636312936559966559662d140a854285acce4987d4317550c232b409592a5b424d54ac9109a201ddf4fa15d4b222259113100b5403a2f94e2a104d880cb9845a4231a197104b6825444e1542962da1261f1d9ff23f591c7d3e3255543f285b424d3eab9cf7e6fcff39fc59a39826982cb316566ece3db256d61af5e3cb5eadc2a80c328ef6c738e2fc39214babb48a922ed265bfd315b26cc9b537e7ff221129647d275ba27e278dedcd63c8baa09477a85431b4d6ce29110000005000b317000020140e0a44499a863090221b1f14800b4d6c4660763e998c6511390a441908a430440c200418420c00c0200588ca3602227176ce8fd347f721a549941193b9494809aec349dcbd3e9112ec205babae1725d0da1e59cb3b248aa52989c20d2208c35c10c1c0c8186c818563091641a2d3951cef97465c69b93fec0897465ad0da5a969699cce47fe6f051a2c04be243e01a347103f1fb64385e920c17489720707fd3aa7832613895eb89a0d5aa862700e585f13dd9d1ba03135caab7a24875d0b1bcb5a610c51e85e8f510092ef937f79ee7bf6da6352575c8e1618ad8bc7509c826bd85e611a06b71d3fbe696b00a8249fe3703a63f45a67a869c162a9024c53239f3140f0b2f4687eba9b2bd8ad313013140f9414009b9579d13ec757d36462ca5c6b76d7e36a234ff9e76fc87f83763c49cd1d84ba9ffb938db4de6e3666aa2a410ea769960e6a413934aef19afb0afd1445345c02710138861aaeb86fa82abf34318ce8f72a82919a905fad8a79deada15af2a84f55f7576f7cc547e8c92f5ce9dbbe10dd7b0cf962610d52569ed103279b4b2a79c45d38701553f43176eeff43052d1fff3bff797565d4cdd9e0675d4edb6e2a707e87b8662215b4a14451cfd98254b8f61b4c0e10e7c2a01af0be8437db63ad59df7c23e55b655a144ce5c7ec4f7d2c5211706b5a62fbb92f2b945a754bf61f39167f68b5a88d255704404e9a4497b3d2571ed6844db99e85cce50e16b5f0776b914c037315912977592955f01d54e8a0fe46a56ca3be60c33e27933d24834e5c91e7f8f8a5094e7908d22a3aa33478a185a89d0acfb27c44c9248133fbf11f0f3b7d8e084259d59affcfda6e7f2fada706fcdc9601dd193a802f9bf4392adbe5c0d903b65c1b392ee18ea246c733b0be7adfe3753f0e591863fbfb663afdac3461f90703d9c57626bb07df8ec43dd1b027da9547afa22eb58c5c3b9286b88c51b82366cd818e9c032366a43c24a3fc142b3301e72c003032e2b83345c411f8950e18eb13624e7d2515e3be798bf4689f18cc9125aebaccf90541079829c0d483c93a742fa58fe1d9e73750b5b6d1ed6e56476c9b58bd82252a0a5c22cee22734181497deecb28acf6cc7ed0c54e2165faec55bf9b5ee0224d1fd8057cee94bb88dfe2241aeb1a5f79846b37f117a95304be2b82688591eba8e5489212110dc68b1cf945837ba247535bdb39840f69da95e13049683d7600b7202fbd019b898d76b372a0d31e56cb62fc844298b003abf7cb5852b25904e9d16059c41c3b779d38b89a7fbe148b3ee1caa02b90ba96dc92de1255b5e58194f953b8201fa580bf40fcd328eff888bd21108c3a848fe12c046a5197f8186084a028ea341f8330080a539ed954e803814e4cf8fb914e3392f331dce5b4526c11a1f88f39c2453d1fadde10b981c312298586b1b1f91814fd09169aa5f195239e18705d1924e10a9a49940e5f94bd203857fbe6de7fdef95521e6c6cb2158acc847504a47798671144667b0808b7bd0c01f9778119b3587b106b639d1e144c01003f0a6f3631bd08e933bf4a693ffcd167d1e69d2e4dcb16e561b3fcec941603566a5bf1fe73d666928afb17a57b86b9dfc6413f86421ed9549b5a90570484685c571cce19e9d1890c688a6b113079865c12a2d0835db1406be4aa89f9515cb2a5d5e5a7f1f1f8c3d9cdba8184230ce76a83fcf42c5460343389c52a1c123438ab4c38233881369120b99e0bce121e4c4dca1613f112f5b9933ced6650e6ff7f1d08ab9950ac40066da53a8ee41fa77dc32b877edc2fbcca9bedf0d617b5366c0db6de6baf1943bef0d04502341c80fabfb46d74c5c688e6a40aa1023be70b126e07d1538cbb31e8a9324e598f71054fd21504bdee3542a2801d9e0fd011a4096db19c0a6a0fd639af741580a3aca56461275b59184f7212e27487140c471866c082e0a786f7943c60d1e4ed2105e8ca5c2fbd3284eb0c14ccd5b66b1c5ec61f960bf71f04d4840965ec3c6de4696501727690162eb146e2e52cfabc6b467b385188d97824a8298f7a085bb006292b92c81d87fc36310f8db7300b6ce53d933f39309c69241e4b3b09bb0302e4d196989887cdf3268472901bea6d977bb546a7691fd2548cba087b35964f97e7e07841192954cbe9fb798500e1b01778579876f0552e5a0b94293f42141347f533059cd62c9e68855541e6265bf9e318d61ec9b25e0385b00de052e31f50b7cff6dc61c2f7ba20b701ad0c61274243c250ae37e83620d1267e251e7839aa5b3b649a4f73d501d6ab61a0b9887e4e07551e80d2df839a8cced80e4ae07cbc30f8438561699ab7e81558e08aebbd5282f5961e18587720286658c08cc07ef9a0bd23897c66304d09202a30284d28a83472c0ad6b5a838e762b0e64542a6abf183fdd974bcde5105aa98e2ad66715037f6864128dfeb2ef25106792ed98d1db6092b9c66ed8c299ab51309b684e03614c7e1b72d0949d748d6609cefa33873f1f3cea181c96078f01f51678c98aa66e0bafd8eccbf242088d8c9d81a8d1b5251b7f13b1488c8818c411073721c87e3a5435a470f65ca344a9d319812dbd06f481969fe9a19f365ce56dbe03b63e2d2fc9e369c650c3f826c1c5782359593858def19d3bbe48190bf2ab7c1af1dbd658cebcb26d2ee8bece7230f48152c6316da60b471bf365903360347654c40ff933a3c0be72f476062b1a5769020356827d1eaa86ff1c70ed82e0dc029c3cf76947d34560ae6c062c68466d29d9e872781c7d5a96d5ef370b59f15ce46323dab7954e3d1c674a033388b12114121a3464cba31ae80f691125ed79a7fa783a7261471f7e434bc71e49b05c3c674ee00315ab2d27463ba2d2694c346c05d61be5af13de99b35a23cec8234b224c2cc924e42e1386ecc9f33b061101cd559e8448645b764857428f7a55359c020435127ea01621cb20bced885a55d0b75fc1d45e5aef576cf74b7c25dfa0ab19259a5bbedcf7012ff411da5961c1d2c66d0e97c5621e3d417b425db4e1ebc1a4b906ba84fa4c98c35c56457da82f4b41c12a95db8ad56a1de5a2dcdc22275a5de6096371ddd0806377bea29274fa7130fea5c89d857383097c4993c8ca359438ee65c399975e618591a4a0ce3328143b4b91ad1b9ccfb93d00a35da56cbd1e8aa36963b52c33287ec88fda8dd483fc3a10c6e8cee4686132297426cf3dfb086d22e48c047392433cc06a02b53e969da2730f0e444147f10fa712d10080704549c805e74657a1ad8e4e27c1a1f330550410824ce6facbc67f971a79db743f90f4686a609ce78d90863bc7df8dee3bfaecc4b9f9e704dc88d33134d7da52782ae2f4f7ff68627165fc39deadccf4ed4272ad0f423aa2bfbbfb495fa3b913e58f2e3b728bcb2cb1b4236383894e4f065ece295d59be32448cdd41c338b2d661fcb06fb1907fb24b0fb5b9ba56f6d7c651aaae5002175e084b24b6c1a4a50e608b1315e015bd4d195818a09df86ec6344b62d6821d6151bf5184a58a38fde363a6d732ac8fe07021b145280381177b1b9989c651a818e24c5d73e56e74f9f43bb55737b0b69f9647137070d59f6df11df8464406759340ecf5831cabb3422785e06a83dfe93760d479479df90064f4f96596259281cc72cfb2ca2c9bf3122499384006ec29a4a27a0dc7a829600284aeb45b46693034dec42e2b6bccf6bba5c23d9ed786fc24a7c66fb3ff93673f9f568e5e2b241274b88dbc2f9e2c7dc4437790b782e3f7e1b79fdad48bc95379105ce84192bdfae4a54e81f9cf0c383cb9443b6c36d9776b5c4704d29bbdb127edf4f63feb10979178434de8fff793bb6f52e4cdd9b7d93d22a77e977b8e5c8cdbb2ea118217427664496ade27043fc5c8fb9718bf6816130170e9b3c404cb29698e48c6291758b19199650008170af20e1ca32f3dbbfe58c6b49acc64899fe9d726d26ad03410964e1e1990aa0017cec62fd4f7f1b9a6b299662edbc1edbe52e5271dbfb0323aac508589c00ac4f3758f5d5aaabfe45c885fc968e8038d8174bf04bff041b1ba6e1d254eb6dda2530487a08c2658ed62d4d29f91ac9ac34838f4a2dcea4dd30150a334d1344d8f3fecc5f60026e86c91a08cd4af621cb59541de3a54921c213ecaf88ab7660f1beeeaa350be7b2346f4a21a466c386446771f2a6ec212eaf85587a8f0d5d942c0cfd39d26878f06569f6390410dbfe4a3ef626249ad2fc746929f57b1171fce4c4597496e6bd1b723708b82ab9a0652c60697693fb24b8e76078e68025e672570d6e9e02858218ce189dd85681a5a99f305d07e72f8a7f886c28e648e032560142d8716982c636d22f8038889d331ac1cdbeb0106d5d9ea67819dc45805410cfb948a4c2af54bb84a78906d49cd4108139939dbe6f0ebaf873a44bef4f2a74d3d49ca61b8776c59d3bfd4ff3ef71591e3642f7aaf27f55e781364247c45a5844ea925a20bbf488303d4ea759c86c03104125cd562071c92904f1b8ab3cdda616cada42d964a6e834fa4074fa14368dcacf24fd47657bfcfceaae7faee9dfea74dcfacd25fdc74a5bf8bcfaaeff2ca97d8d14fe2a741ad501b05c82caec4cf1402137c2d028424fc64ca4e75326d8530c6ce2e453279e5aa71eb4ebc167ac439c88954744fb8ddd27a949629a7aea5207529d3021eb8603c28e321fe1790f88e59105be633d833d87f356e3e5964d7a99065f732f17d13b10e9cbb8eb74d0fef1bab0d4197f1d6be431e41881d52dcbab5ad64c801dca1b85cb09275855e5b39c8419fa1262889be0127c02cf360a3abf3c1b0e883e48ec1473dd0d2e68b613116800a4d15b33cc9bf9c747431ea071f0a086b10717a1fc354e083b48e0cec3f46749b248e47c664c3a4d68c5a64edf782431d4a771f88e585f026df3bdab0c713f744e19efbad40d4749420f0710e5bf70e8e29aa68b870671243c7a27b446a73376ab8c42efec55a96fc335140dbe881fe55894c7ae922024eabf85e2c1195f99b56be11adeb1aa28c92d765e14f05885e732a8d954f48477cdda44c80731c183ba790dd2540ebfde02c87de25fffca3d855ee19118e1ce21996ae18786af5e22110dc056fe77d656d1e5a00fbd16236b8bca90b86a8a3c1dbfcf2c3005718e59886a3cc6f4a6bd11b40ea369d79e6476cf79075f744d0629b0e9aeee75c4cc719ac7aef6a1816a80b94b80f600f1f4d778c6d8e448cb379407bb73862a618d3224e5f29fb59a086eca79571442e1045b08172477fd811e38c746d8370c9ec8b008bfc49b8ba084d50faf2c3c05cd023717a8950d2625509b5760b5e5102ab2cda9d9dc0655a06df5a3a6f212c3dd849950854031a548a87602395e73060ba7b79d3257d0e363ae934cdf3d1856d73c665214b30d156d50e1bf2d63eaea2523f5729c3f9498a4d24e42dc404ee67eb7d9b42619976b429ec82f251dee287bf1ba76e2834de376820c3bc2b0da08bb3fd5d48232e13a38c4439984c177d594e1793aff2e20e43a40c43fbf7518737bf5e488a9cab73f2a03d9fff4f5a8a3134d6d168fe7a2a85586b1aefc433197baf79fbb5c0d9b437102abe8a1b063dc2b55dabc591a5bba5164211e8237e0d98b239d6f7da127b1ef756926f5ae08b9581d12cff8b4dcdeac91b1414a8ec2da465b9b6051e4b2098c10963aa77d1276d999608379444eb6c40676601c14819d07b1c97be73d727ce6847d50c6bee4de68b90f8a8b8e59d74523b43333fa7891792214ede9fd384dc8c66baa3f9f42237456f261becf0936648210b93942864383878aaf80e137e1e77006ffca471d360906b447e20ac686880784f0a676e481bf72fbb3f3c7f6419f1789e7096b51e6901a7250bad9142c42ac61ddf1f9f5057f1d99c51e95be71aa4d5f0188b3ea01d627c409bbf74b2c414ca4d730138908bd768d33d4824e5521686b93dc7eae87feb8118c0409c3c18c40c72a8db3d5c00307d581b81eaec8265c5481b1640341c7c4657a17cdf36c1a25f3bfa112636f2e3630cb3130db986696d0b33fe682b887232a64bd399b46b3cf07419b09c64578d212e6af31eb54662f05d83bc6b28cf135ef362052d6dd67341b16b1ed859652c3022371faec0accddee6da4b928de51d3fd2ce5525356d74c015b1f738ec36c71f9c98127dd86db9f60f2f27a75dadc8141bcc4b973dc78bd1068359542eb1288d7c37e28ca423782d7bf41f47660d0f0bb7e8ff5abda7238e9f79dd6c79073d7530db74dcc6a48d6dbf5ce943db78699533131d243ea1c2094871e52ad72874376632eb20fcc968d04edeab8015d6691f9d712a2aeab87fcdc7b0cb068faadadbea9deda34e5e965c831b5362af65bd5e1e47d4c7eb5b1d2aad9a709f8fa42faee8aaff7cdb797753d218fedc47d976e12f3ad5364d3d02cfd4972f91063535dd573873c65b1695eddbbf9aefa9f9a68d56c7aae6a65072244c64f66592cf352bdb60b2285911fea6d61d37447b02d806698d9d36ae1ab754ba82540332cb3577e7fd1cd7444e4df5405a460f979673d1138a97f9355081dc5c93685d880dec5b60e6d82a03d4b5bd4207a591cf419d2bc163b287670d1e153ab38dd8f96846445f03f8d60c9382f4d65b6057768a631e727917b1f65f215e25e31e8ed53d2909d4225ff90081029e68984ebfc0646d06fd9f486cb960441f84b8a4e7f2877955c4fc9de8cdbc8ce8b1f56ab815383dd8a611c7d32909b2e0603d5d638b866e2ab5fee65a691fbc8faa73bc19684d2a622873ebae29915f56a1047ee55b96b77b55d800e61af12362b28b67b6bcb4ba76e4010ab4203becf64bea1f7119a1826e607e3f801afcbc1de5caed4dd50c646e1385b2e9795be05daa53cdc64be4c842b009f385176e69aadb75f67dc6e3586729fb6600f09d71128d6f4fda8f8070c4b23ca4a1615d9640fc7e161a5eb68a708169a03f823d84ce88a8009ceca4e94d41eca9127e19706f0e33ec338d5409510170dc2cb1b81969243d37ba02c889e1dd767f1560d5a438d6419a8e64a32b558755526022f0759df3d7271634abf23c77c1c8497b419bd91632a931d5ba6930de13775e9e07f55fdbaca8039c46e624f6f0ab3e3eed90581806ee48771999cdf269aff4e5086601378637f620d675089e4fe4995580836128a46c97e7fa393563fc0de6ee18ba84080c1a7f922ea8c881384671db2d6efed595d39a35195bcf12c0ebedf1bf59433422564b86676f9ddbd9932130749203e0dfafabd1320056658e9959207332b88032c1b1a4122e404cd7f3cd3b6a22a6ff565c5e777fd2888226e9ccf3aeb13cdce3c99c83b77f6d6bcd90bc0b4baf2091c4fa7a2db101a627bc1e9540b37392195c9e0c42380a078a2c9854126dc27650f03f93594c53ead92d25ce96abe52a1c0e5b3d5531e740ff3844f0a331e15ceadf245665838e9ae5f1b326d73c902f8b1ad212a049a209592f149181c25dda7909244007b554a638b5f20fdcb97bfc1c26093912511ad707636aa2568a84b4afb9b563fb19a2c4f0558c6732a7faf5908cfba96afb3c5157fb8ceced2d9644cd09918eb317d6fa1ba0fda6263ab63db336112d5f214d0bf5ef3989510310a1a3b8f4d856e9469da94518bdfc8b5b928fe467c23fef62dd74bb4a7e04d5428dc30b943342c558df92d3fa9f4bb92b6ec7de44ba5ea0b2cbf92baf4363e1b0216b177a04beaf2f7d1637a529fef02e301a28da977fbab73a41be89ab6f42edac84fc8441bb83aa6ced5f4b26ad0a240f49b6863eaddfefa77eabba871f5b6c68d53dcf93e4cc9541629ae9812a7b8bcf2d2916738ab7743d5b70959d324b74e116084db322bc928bf46ebd5b2954b5ad0448276f9c774bc2ba2841dc48b4599150f0007035fbf0fb41a2c6057c23d8f5db5aa337d532665a4fcfc0ebe7c004cd87b35efa0e62e8b1f7f0d6ba5452d2a29df41f90e6295d7fefb596a9fd61f361851abf0306f6d9ec0d76434b9d7cce18f779ec7962779193690d60e08f79b378666d5c68caa1874606366b9c40a6aed1e324d949aaf77c9658fc51b659b892ef71145200c26c250df2ff622abe35923f051d18117c66536a0555013ce809d8021218b3bad7418abb805c5e892380049eb7c61f5ef528765a3daf80bdf02e0b73cad96432be8fa3cd8c41f0816715d6a4bc8b65a54c6cc0ecb5ef47b31e0810e1842ab0ed565995f8a7d6d49e147087ba118af4a8b8f8a43ea2714887c7399ad87eea525b3f282c7e4a60ba61c4572730232992c201133abfd145088451453a34793aa880eebc4ba9e2fad5f809dbcf68056ab0671f7eeea15f86996d50bd05559b51a2eb31109b2822ba639b4abac999fb0c12550ba3ea9adab18fadae3ba0938ae6e430d2adfa5eacf3bf3c3934663847164749807f6587f061baafadd961051ec7004872e91a36f6f26972ad02b13f2ddc04ffb3547b0434e2d33236c4d79c67251994dc6d3ba072cd21f95e3fb1a8288aa327be3dfe70b70b168d4b1898e3aa2febcba3c350264ce6fb70a1bfaf2521b50e7bcb1256bb8dca823ae0a4f625dc3f75262c75a74fce6a475c2889e6bedb0c134a384486a852d1111909711209be5cce5ad888d2f496a815070cc822a16b14644c9222b848820cdd658535d1e28044143ab26ef80a6e40741ed24c18367c3fd9e047810c2eefc83c0bdc6bb97b02b07952ba1289108abc9f1ee2ff56b22109798846377abb21b0dcdf5ff4fcce387fb3524d7e837ecd87111812d69e08c9d491d6a96764ed4c399db9a92db9bb86ebac4bcc7b7e4a03ef8927c344d7ab8b9039a6ee98544a54b9a097292e4e03a1a0c08f44de4f300a653eda9031082aa767a612bdc9ca67ddca033e9f9bb24f6f361edf0c42aac4a8d1010598683f05dff79544d11c46787a480faae2daabf895084fd241519f8aef41d5221d2e4121c4e420ffbe8ccb4481feab4023e45e6703ef4374cc9a83b30841bde10829ae0caf0fe24caad054eca781f70b0ac5ac7ebfbf6e8dcef812e6315cd15fa3ac04c7b288535f5c4a43e21d61c839403d806abe5ba521dc875339c8376d62f53cb69617ffef51dc011eecccddbaa3764b2de70c18d71dbfe7c8040cc5fab92dc46383f68f60a22fa56fcc45797dfafcd655899226958d0ce391ea066e6633f875979d893cb6c3cf6e43a3b8fb50c6e72a4d3fa65e5320b9fb5a6d0d76fcea0c7a8924996061f9c09031be5ed1ab144a3549bcecfdc66bcbc224707082415e2a3a903e91765dec150f7914f21d3bad2252298c8ec382d8fe008390482964ae91758dc2c5b07015b3d23d149c4221cdb95039f6c6457555438af8c10fe45b121d7c2dc8554c0268366578dda9188891a64865fbb34b406775229296553c9b3f5e4c15ee6d3785b4607432d6aa46e30116e5b37c3ddc476337188f99b23fa3e562f518cb95f1fa2fbc7968154fbd67ae44c6fbe89e85eb5bb10bc500f880eb80ae04be2107abe2e5445a3c9619287d42eb97776997b32c532f13e20cd9b3d03bd6d9233997d8eecb0d7602beba198c5fa3ce2a56fdc83b99c7fcd97223b96eda845a1a866eb13f8b6ec8431bec2587c0ed98321ba32fa32f7c35cbee531da53b4c7a5f091716edd0d6fbea5b1f83cd2a3293c33ceb677c352bee5b1bffb7e97f9f5f43ffcb263a78fbab54bbce611e561e721e160dfdbea7427ec8f4ceb894bb2e5ea1fedd1a895b6848d27fbf09421d5c93400cdc61e039ab96615e80fb03b28af72f64e7ff9a19bebcf6f2d42940490a27ac00d500fd2083f5206693c8e504f109f6cf366ca2f3fdaf1654474e45595cce551ab0f5629cf1ac25f6b3dbdee9feed9189a6295fb3081d962efed1ad3e0f9273e8bc76a412afffc1dfc22d115089e81803adfea026dfd269736b4556efb5d7585b1131a4233a26d5d9245cb22bfa942059ea25134e49caa5ddf911f556fd126ff235f9b23cdb5f546bdf41236f6fc21c07c5b67cd3c93a10c3dbf0ccecbb0e6cbbf7ab9def21833b88fe27d35a87fcc37197c641ede540cc2ecf180ab16d4f3391fbc77d87f656dee08701f858e7cf50318e8e6aca8d0e060145783e278259bbc07692a9d2ea3bd2e985f5367549e6987f5672bcd52114f7c29c663a3bf63674b0e7147c2bfab93dcecffd1f3524363f55a6e82bfab93df2cb521b6281ce014f2ec012cc65ed90197cfa920b27eac64752c759d54649f021dd4a88f593a722b11af9d46f4185688abc0706f1d88dae20243907f084e46283b9079a70035cb2a160076b805466615ee69cdd960c572262268295a102477086ac9706711126133fdebc86e5a77c53bbbe629a43f59713d127306794c17debf4513c9a47e3164b4558908a0d3c70ea77d7a000e4dcd55a951f710011a090c6d73d48560fe4195d94a53e951446b76ef66eb4d8fc11b626631b00e67057cf559d645c2407b1f1e74cd1468929ed296faddb73d1cb6b437a5217caab7bee67d1d511ce10017a6cd605dcaa71a88c144c54c0ddd04d6405ade033e8684ea68ea90e4a1ead4de48aa89590afa4c0839f70045bca94b04e2923d4965b3ea65efbc53dfb541e1260f89a106302b6b175f433ced9b372b2b7c33e552a739dc8f047752e24e28bfeb7e4c00276d0c482c3dbfaa9155b3e633099fe613356ad34b99e79f4b2f7f0700a808a81d4954f48e6f7e29c067e2c6dab5b33eb976b798c7e968c8253895d6f0cfb59b9fb194bb706f62863a7e8524614217ba0330f6804a7656d246616b3213c42f29d678d211d8ec2eb213af212f4cdc5fa6049f1ba68bb43821d06148938ff8f047a258aa148d100dad9c87a5519c2a615997e7cd2debf4114a8a862741fd3b47325900805d999f941c78142b6aa51e0e38716dd4cb816377648097a4f50cca24223721bea6f244c3ab954a057aff5a12fd00cfc2a049296120af17edecb347c0aaeae6cacbbea17ebf8d5aacd419ef49226e7512a2833085595f91d88e989ee14ec9b3177a9d8368debf7046cac185a3dbe01e2e9b6f3388b19a6e472700c907494a2b2b0be5f02e37146c0671783b04484942176c49537b79682a61e2e388c3c4f6cb52c73fe9ea42ab32569e0c7773a10ff5d534e6041317bfe173faff121a7fda3109157f283d78330829a53fd12f53e875c79dcd0747c2120e33a510f240027c8e0954fa547f948c5e9fc6c1836424e1d4ec68e28ec380229a3ae4cc384ae8cb4edee37189f017abcaa4c8111483ba128267e8f772e34feb3753d9134c3343e46685b194d48d4ae51f785e4967590b66a576a3b9a9dbef379d99b37997612dead3947e2544ad24789d9ffdfd8a5d566d4dcd7f180e9863c5257b88218c369b75b8d4df5ebe89e11badee821f11ea770d166fce60974649023e44405fcfa9e459c4d0d37f65ec9e3be10911c013faa61388f58b19873c6d80e7b4bbf7a31a8fbdf26a485b90082a59e51a13df2353d6c4bfe8823e5d68cd3c19f7ca2bc3d251ed35fc516e738c0fb11ac12a4710a8bd6afc18e3bcf647b104a21225b30c118649afdcf833e7c57d14d81beb73b901a336bee724d42b4f14974c9150590dcdd29149f9839a1a80f745867022417a2fc84765dedd83f33c7b95e48f0ef182f0435eb0a3488403c3f82fb3fd8acdfb7104f0697904701f4bbe0ba2983010cb380ae610277388236fc0faa30c63c41f8cde2ac03943521bd0e29156b81b2a6cd25ce6a38169cc482dbf66650f5ba7743521cfa65f43c6dafd90d7b85356922f78f1608e3efacf06ee57d5a9d20a252bc1b0cfd5d3e2c52a51eaaa5571c786068bbecf92816168912a2e231fec612f0dab2db122516ad29c2882cf528eddae90850a044cf4d962698deb28510dd93db0c168da28c31b596c2baf0113b3032a2bfb02507721569525d80b060d79ab850c083cbfc600549da0673e24c9d4fe5824e6c83bb2668b3e20c98a72cb166c9518ad81b8082f4cf99b375e761ec2cf4de5d27303b784bd49decb8005901895f457594af5dd6a217b1ccef745c4c51a1428e8ea0704bb63775825020bce26da6d894821b1e462d8fed440d2b186f89339817e50b1f98fb4008b8528d739d019b17195c79fb48213a85877723031a5d267b8803520c8cd1f79bf1263f3c472bb82de47265dd744f324b71322ab157403ea122cb039393f0692f9bdb25a29b6e01bad702489fc3d7d157b374dfa1961f18e4200202dd60a0ba9800177f8049fd028117143ff69bce770eff04a7f714c47a5ec3f4b927031bc2eae79c2ff1cbacefac780e922644741f088235aa6067f8db9c4f10151e23f1609475d5fc9ae5fa49e1430839e26a61954008344e927510125fb3e574f7726e6accd307d30c063863f7dd439553b240ad999a5101e9599facd4f5ab9e454453f313afac982a4eea06f496ec360d06f819c938c82b320623c46e3d3b81c703993e083592c540b011e922b8b63121d99a5984a72d01bb378ba2e7f28da5d68ca195e300945dbd7b934b16a66ad5b8b03f8842a674618675c491885c2eab7a7c5c0d330d799ef28caa2f17812d051a44eff2c0ba6b81f090ec48b5fbcd1279397257bfd1686a93f6d454080ff295b110aae3a19fb139c7382159fe3c2d3439003fbed6505f4caf0944edef9c8e2709438b66dbfca01e3032f70ff7879a89dce7535ae4acc3f0bc15e39e77fc1b17200641466a943853e5c139cc50afc1ebd95ad1e0e2e54d1f2eaf52fadce4fd06c24f45810fbab3cdfeb3412a1d8280428ae6ac13ca3d77b8d795d48fd17140f52542a66ba0040cf629a111143981e3c91f7b82be16ea2cf90ecb36f8ed7ad3bb779e9d2ae9ea5362d4c6e7a8154b9030c135d40cdeb897dd4ec68679ae5c1406eaffbfe5c69a1a41ae2b7cf9ed2064949e9a68811b13afe6df5d9c08612393c7096960c6ec0f0f5e348e737d615eae9c90f461dd0c005004a8b3b224d5e0d3b7ad20113ea2c288ad174b9808ec7d42594c160e57f266538b42c46073b01be5c6466632d6aade5d85474f9896e768e6c1e5c4f8edfa26ad7c133db73bfa9bb2c6f47c756a4491bae0ba6cbcdd98d0f6ed960c5ab01c7164cedf991c01bc20dcec95cb66549c45d50a273362da7a1f40574b36f14fb5e49c78ecebc5fbbc9d95718458e1b6f7f34572f2a7811a472247b757a662a64a6d70c6afa88cb01c5de9ee7436b286a7f22d2011c739926e7db6c1a899ac19126cb5309dbc7c21a6fe21f4df6ded16ce39b3d3bc265bda30f323548473a42a84b613e98dab5a2b12be0643f99e262230fc18efa6d76ad40eadfd8e113a482915c89688d1d3739b656a297ddc8fb61d858585046895a652096da0d9895dfe548a28bbe05f55521f30a4e99d9d77437935d534ead2ab8567d3f22f88d15e9da81e45bf5adc3ded524ce0c54704afbaf63dde87ce3f95d3ae4596c3d1342645b9a7f837798100dbd08e5fac86290da2513a287d223bbbdaea2c4741bf8e06062b5534230538de7a1ca54e082fb282afb3e89a4d84b86aee4227440096115fb88ccdebe326e1235e212c17e78ed856faf5c1b19a88e7130621970ce4e185d48feb37e78280a4c5e0e348d2457db67eb3d90142015430f8515568e6178af1da117eb55b6eab22ddc308189a21ff0dfcec3a38634eddae1918c6856fbf078320721fff518354eb0d0272d34707f375ffef531da4e782bc4de57b1989c7977ec5fd5016787b88ed64b73f6ef10b508ef21d9089e15ae5cdfcc4565f6100c8a80fa231f1eb05db8c5c7726288866360251896427fbadba062591ffda37fae69792cba42dedf7fe109ebb6f7017d9c1d7245714ff97e14ee76a8c7feab7f0ad26416f4547b456b5c0f5469417a1261e77ae8f7dfbe5005a9801d0447905bdbc7147497643785e73e5cc05c190238ea643868abc4da6e93812970a7822b695383eecd469976d34faee124ddca452151d6cb6e0a820d887333e16779d8073305bc67047e559c04ff8b519ab2364e2c275e734d24802fa2fcb806b1ad9128217e34bffbd1c505627355b20f989ad42e9d4fe06d25a650850d0cd5703c686d38d2d2f4d4a55398fae7ff04a74d3346ac56e7a328cfe984e2ede3166b8f97bda7645578cfad1ba3931f44e57bb5957e73a2514fb2ce48793ebb1472b418ac56fb968e752f7ff7c2d951d14f03dbb03a43b967d1adc0d392b30231aaab4477cf431e699a06299f5c0c5b983df52339979ac35d41bcadf1ff3343b1e95b929b691081751c7c4915586bc360b32a172150f618e573cf54d8d3646f914e4fd6421df93279f4d8c81fbf700a3cb7f20a9891e841b2018f586c5fa37e42edfcc46abc330713e12a98d06d85529c46ccaa8c3210f6be60c5e76845aa4bf228c3ede61e6523616507786f9b52555c6ccc51edd614af56f43beefb710a9ed666b9d69e4ef3ffd4fa1c0e9f6d2a199345c65159948ae7a716baecca3fb029977343585e33193557e46609341eb4ea2b33028c5d15cfda1a4461d64a815184f4c40634b2d3f3e85c9ea5b5ecb2c172bc3838f5704d5101824d7affea98bd54e31d8862734a8d7e08eb4ad66c1d3a2cd0d19dc3acd9e49b8f1ec43be582981945e897c90b9514e8732bf73edc12657cbbb4333c020acfb39589d25c8de4f67a10740950670c8528fc868af6fd59a99ab0de18730107aef9304840c5a149682aaf211b6cf5b1b2a936d8a6f8d385d804a2346b294e11fdef0139aaf6cda72b9e7ab37daeadf9823d2ce4eda9428bc4a8a4d12b2054c9edbd48677668d6a45790972bd918d8e7255609bf9edf2a60f50ba87bd541c5edf0af4a315978895841a89c2ad89d0ef5d092fba9028e49c1f4b71692737be3cbaf60f24087e7a7a6d10271f0720a8e3e5ae990ae58db80daf3aecf15a28ef9b2e0b2bf21da2b931e97ae871666d700c109afbb20afb404a09961657ce9364e12a70ac8ec29801f6c13fa5abd00d54b3404762133ff7357edec93da549d973b3cd2e8c305f639be368ce2c253b8a71b7852f59f616fa0ca05a1927673f64593e7ab53093bf81386501602cca002aac58d585d7054514d1bb829691940ed0e9fe09a6e4a2fa3a7d61ab1b5112b6c502e3081ece537a2daa9dcf660fd4fc4a1621711aee26fa8f08192b581927507f70abd611bf776633e01984b42879927a9f3025d0d3333bb0921228944766faedc0186057605610518d8aea1bbcd812716e5647f98a19c449640b72f1f30c8f33f5c907dceaff467d52f52db17eee30559febc5412089c69462cfe7d3326269feae994472cd9731797110ba4a119b1642f6789627a032c0af09c2f49a4184b94489189ee9520948da716b5648f84bb36c517a28e7085f850c7fbf65968ab65a89a8a5af2e4461e10b55cd90baeef3d6263b7ae6998282eeb06308d2a958d4dcc4c71cacc24afe7fa78a39484521f5bcd64adde52c0921416fef259dc9018fce5cbe05acb70f5d4f3a976e1284739d521f64dead3b7f5e9573dfa52c4122953c812772f9173ce594229a5b444d65a6bad25d25a6badb525d25ddc259592277952a96262e2173f9a19e2119bead197535c9a0ba9af6ff1881d032c913862f229178fd82826e0f01de5a5f84e83cf6c03461861841112a768e4b4d4705f522f7e23a54ae598821cc58804296de8b071c38380308853103ac8c4a082a809421584cd8a8d2fcb324db3f162c3c5060c3e02164de1468b54cd4ec9a47080653740b045f1860e104694f21b962083173a20c20d4618c2072516f5c0b66438c1bad1b22ccbb23e1bc6b011233503286018e15760623b8e5cb237afaf368e18a5f39bdf1561f3e30da008478eff13daf8b4f000f0f39f4f5d2b06bc37bf54c97b6eb31d459243180024c9f79cc69e2f2e27def39705bce72705bce7300978cf6310e0d2c6007245e22b1b1640d29888341bc21a154dc89ee85f7f570cd0de9db7446f4d004892f2e7cb3da1bd9b17a0bd2c5280f6449f00ed3d0901da239940c9bf07d0decdb9051d4f94c64962ea742240cbe9de9c459df644a998fa9c44bad4182791264c904802d0f7e62c120140db930913249248746fe7944f1ea7cf49a664b674268b1cb921f4f2a70dd085d02aff6a05c47de0e7e17b787cbe7e3c3e9aa3f614e7b775ecf89bcac6f7077ae4d8f1433876bc113768eb7c6c2cd4b064aeb438fc2cd31add2d38c9bc376791e8670b578542a14e4e425b5a4e2da79653cba9e5d472a2f7e62c12d114a5a134d1c549ea276b9ca4c67849fee7f2b97c2e9fcbe7226f16c998aaf292b4264c9048ff2251ce2a695dc6ba8c7519eb32f62403850cbdf9b2770ab5659c289b92a7962d256da99bd26ce99486aa62be2de73763e217b325ad31be33ceabaa2d9f134121db53c679d6cb557bd75bec0f395b009ba221ba2dddb8b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9097d28fbecab9599ae92d923b90c69c31aa96598c638bc3f1de802d6f90a7c5ebec8e341a197301e5ce83b5cdd1f500e3d0de590a699868581d9f2e70e71353c05f2403908c2153e1f0eee0e2737888617c187b0e10e813cb40b8f067d3890ded949e87b5ebe87db8e7292141e3ebf815ebed390231598211eb143df79f95e0478800be43d04e802f66e935f823e737577b00ffd060a8140211009ea36d2c486999b1b4400efb78f2873fee9c8bd71708738983f2c789d9db9b83b1fedc2a3abd5b6df34ae7eb7d7406c2dc6d5ede2369ceb90c12ee3651dd9bb36f4b2d8c6658f7173e32c43a13dceb07b310dd3fef1e26c2ce7de95711a62c10ff9054b8944b22b8024c9b7ac16748cd6d721e4b829097c617aca607dcd95eddc95c168301a39e291644849226d126ee32427dc51bae6977dc249a60c9501b1b1f1550d9902beda2671fe947112ec74616244322f63e32553633c648fe45d992d9fd4c9110f436d49ca58eada614b6d0c61fd2c4772a7a33d15bedaf9b74b04ef9af2d7f70cc6cd6d2f1f13ed2d6628b62db559b67411073205e6ca36a15f9fd65f31653b58287db8a3bedf8804d9c3354ea265f4b1d4a66f7978a569fa27fcb77579b8d2fc59d52612021335217b9e1282523a6bad57aeacb5a226642fdf7b2f76e7271235216339cb66fc2c4311638c2f448610b46d9b084422e7dce974e29cd0638c31c6185dc208e18b629005da3b99d523bfda5a3dda443ef6f56dde282b228efd28c2b2bdec4fa4e769d856665fe38ba46cef44cee0db8b1b7b3e66998c22dfcefe3ac9f6f6c4b3529bd4f7bc7d4f85e7b79bd55ef61a04ea7b3e5aaf45e0ea1a827dfcccb26fbfb49223f1ef9770a20bf6af16f9acc8e7897c3b7e3cbf653058f6b3cf83e090b38fa1772e64ff93bd9699ea9b5cedc5ac5eeb41b794f3895f5ac16cacbef5645fc2892cd8af99e9d63fe1b7b49224fb9cafb046bf73b16bfd8d17cbfe5ada2be544173af53d52cdae7a4e4f7b249a6d5f9b54fcb15a120d2a662f64f1aba342acc7de5e38f7edc9a4d9dec9d420386415d9dbc7341bfb0dbb6f31efc2d9f4b5524e74017bfca515c622dfbeaa556bddd6d5a59cc882d557ab912897833e802184104208217c690327b5d55ad7c2f0c2192683653532360cbea66d19da40f90208991a191266b5430583468d0c8c540d1918311442085fa6a4d7c038a5fb9c94d6496bb5f65ecb5ecbba2e8cb10b63589669da9669db9673a7e3899e4f0b21d841111c818036f420797c7c6091831c8422b8838bfecd09134329adb5d668adb523156415b83cd9a8224c8c474e0571c306380d5cc1350a87ee91b6b84c0c267cb70020dbfb16b69c2f2ec854319820c323bcf4045b9a607b201c2918b57ccce00942e4d0830d78c31842e060874c0ef2b6618c1c281dac846849f1418816db7b1355c050a676900110b2093629870a82c031440d4e840d12e2a0424b8477429d43454594413970d8d7863172b06c2f7f75c13e8445040e2ae450992c62e4427e6ebab1b4b0ee487dd219e58cd4968f451886f6a58bba21de30c7a48f7155e42eaf9daa815ebada6992903ddb625b9ce4befc985997c539eaee94db4889e275ae8468c1041753c81f1bf820e71ffcb08424c058822a09d963c318386a58e128018e171ff0bfc10d12c74c0d11070de94bc4c071041c32b6f7266c60286fdca081cc0d1979c31837720c21dfd0a18679c3450d37a45e56b60d63dcf8ee45d900113df0a1c60eab0d185172e90dfbde2cca202fbfdbc02603914f39d9876c03a78820b2e8cb36e6262f211f21e3641b3036d8f0a106231beae30d4693941ef2027df926fab2ea1094ed99698638c01fbec965b089fefc18a5672fd03fe2e3d7f91146e9f0e147217840e8298c655c84933d4bb3b1c89243b961992ddfb7150fcad2a0b673715b199244b91ae911526aade6a16c4b2349f2a3d744bdb188244ec36b244994626964d81a3942c3eea93d5e58f09c307b492295281165b86f3f85dfeb738a442639e9570ddd1f6f210e807bbe09eea943fc5d4fbf417a880965d700e3ed7a78d15aebb50f5331c412d3fd0a358808b2a5b17a7d4c214b2e29ebe5eef59a73ce7a3da698c5514a29ad57adb5d65a2fcebeb88b4daac2c8d34a25134357e20769f4a803b55e8f2f1797ae16b5ebdbfa283b6636e405ebed9b2ced8fb2a79428d7710d86253c12f07a1958493de548adbad65a310c85ea5b6fbd28c35ee68a93803c402fd9676477ee035a7112ffd0200f0d02bd6c2ec42f2ec43ff42838a22f96c0ec63853f3eb84f8e8f8d246da86bae402fd167f1d9525ef2307d6e401249bec76389d52cc5e7062cc9df90004bee98cd1e8f277633cf777e7a3ca61fffc951c3f4f9d05b0e8fc7d5f449e9cd53c49290f631fb58712131cc0fbd0cf343d7cf772d43e8b15e813f84572f1b8afba4b88b835e027dacf608af42ff413949288a765c79e965abd9504e826988f6eea614447b6eb33dbcb2abfa23edddfa222baaefa157fb2554bd8fcd96fff170dec75399f3e60af5f04afb586df9f6e56753f62dce639025533b8a9bf64526c8feb6a220f15936d7008f58642fef941ca36805c3121384a36f9111134f2d6e940827c7776ccffbf0c60a31ec2997a2f2253ce0e761a6aeaf68b6a4a9819e8a25938bdb45376ed48c3e352fdd0a068274d63a5a41ae10ae504f2c4fd9f3216a07214f13fd1325461ae37ceb6f6ddc1406fadd6729b54fa9739615adb537a553e9562c07719cb765d73827d5b365e4835c5f83e09067cb8e2bf4099f3ffde201c6108bb16230b396a2586bff842cad62a41845ed9cb5b7692fca0c8694c8d518ebc6699a8d31d2af55e4b35666d4826c729f6eef6ea7fbfdb31cf98f245076853338467d477d3a0a42a62adc665f0a38dda59b7118c64bfe1887ef5b14868d80903d8b1afd205b07b97c2547aa45c9910bd2225bd56df6759cabfdfef5578ef8f6bf1e8ed9fe1767a1b6ff0a6d29479f568f62990d03e098113ab65be9be2ea5fb3a956ea5d3e9be4e65dbbe4bd9befb3a956e458e6cddd7a97c8c1707a4ea3e12aa1348d5a9843ed02ab4d2ad8076807042292055a772592469de963d4f3737d9bb30f1453224697eac91a429a2812bcc07a9f20e9cfc2724b602a9e448fcbc43a492249c15487584eccdd39eb3d210ed00a968d4c8a163870ea7d34aa732575a5c5e48603d600c3127acecdf304613606c4cb115d343723e835f97c8f7f161c17071d715e385229e708bf37898a1f0b82e2ceb67aed2fa19eefca5d59772443e39924b398e2d069d241441517b27f32f6deda521331436ea90973dff552b7bb4618c28e8d83862a3166493f874ef4f4a8e7c50281f1b39522d8d4f0d3992438e5c3dff532347eed71fad20e3872e2355d67ea4cade5d31c9f820aef321cea384bce1d0d8f3f3717212cfcf0b3b7d6a425c0888835edab2f7369c8f18eee3c47dc0ec89bd879d3e3592347f84ca35c465cf17de078c3d1ffbd4ecf9f785ec0106102c2e4e224be60a7dc2ad137ee9195c157fe66f86bcd020338a4161e62dfeb6c5dff2b6d92c92b2d18df3f24659816d5f5a9570b04d8465eb6098677b8f48cae6f1d0f77c40dfd19e276fbaf39e07793c1d3bf356ca29e594724a397393f609517881024beec49fb36bd199d376eea4282b3a9def523ad3d3e960ddd7b1743a7f427a6667b3f96d477bf1b335bf53e9543a954e657e15c7dd7da334a39f61225f2907cbb2d22afb124e26c2b2611a869556d86f222959f627a486659b08fd4dfbeb249dd736acc39dcc8d3d8695724a39a59c528e6bd2f210851a5180c928d5e86bb253b12c94155a7ccd7a2d6e9a667df7752c9af627e426352c3e88679a17b1cf384b7ea7d2a9742afee5e0faad70da682d940ea543e9503afcd8b580d0925d0a4bbcae6ee5ba389016b9ca6bdd6b45b94e81081c2274100104113d10f169ef9ffbf58f5afa47931956ec68e38cb1b42ae1b0c06a1f5a981221acf26bad5772202d72cdea5b8b4dcd3ea637adc2515a66a19766294794258a35ef8b85d996c877fd8a7c97c847aa7947e1f7bfaf71a49a7dadcfda236d9bf62ced282f9d4c10ccc2fabae65b967b29a79453ca81d930007856171d2a1d343a6274b4e8f89e20e37edbca6e2566895d9754ca6ec5ea56326835080ef3f3ecb738b1ae6bce0f04876cf589b5ed7b27967ba7d2a9f8fd36d5f6c75bec62ba958d2fec9b297bb2701643fb1897ed83e00cab31762956c3a2fd197fce6a69134cfbf89dca6ba94de66b1602f3b5d732c6126545f7752956d7625eb3fbba94e8c2ec58aa855d58a7125dd0beca4d6fda93ddcaaef8bd49b5776269f22f0981abea902dbbaf4ba174657b27b25bd9b4c75b7c8cbf53a957668a56c59f6d9c311b4b0eee6b4e3a9fce4bb3dfa5586cb6c891ece9772ab4d2f82eb3a9bb4f92e863ceb1b72bc7b1b6c9fcec610643c43b3a95e842b5ac4a3318309cede11d2756a7d2a94416e85bdf7db35be9543655f6a1c23c01c6135286a031c48b21726c2cf26dadc675b8ca7738aa721917ff66bf71fe999b0f62811ee38caf7d7cb2af08cb7d88f12ce158ac69a51cef449ec8edf98ff5342d127fcc40b403193366ccf83ef798983927a594a652723463c68c1933668c66c8d18c193366cc9861492d6b08b01a7204842c1f7bc6c25338334148f2779aa58038e3c7933ea6f8bd460d13d68e51da51a31fe4d82262595726cbb4e4bb9e2b72045b7fe9c9a2e74afc98433e95b3c684d93f9a41f6486cb9e5cf9729a3fcf962433aca41f6070141be57f4130604153099a24f38b50a23103d88214df14a5335515325514b94a022114d61b39ceb9c26b96fdcf2b1652d6902c2cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc0c2cf118b67920de0a97bd690fbfe679cc61f931d6de0a97ed218a8a138ea9709bec4eb7eda124f9b57d08e31f6d1fdabeb37d96239bf6ce6f398b40e87fcbfee337ed79e0cf8f3f1b36e1d730bde10764eff9135202586b1ab73dfee810cf6f8f433c8f85787403f0638f3dfecf632e1f9056e136156b93ec3dda64f4d96814f23e3a9f431a77368cc3f0863d9bf6d8e38ef634b0b7cf6fc12c0298e6d15ede70de7edbb0dfb66d2485bc6d3a4b926707f18ff650b4e711d56cd07b3290c7a33d156ea3694c9b5c72c3f8b79c39ed73eebc7dcfb6c265831ea43d15f0314ecb9f4d63ffd134ceeb68156ee3e1fc58f656b88c7490b72dbf06f785df7a0d8f74903d156ee3a9709b139a0d3100b3c2c57ddb34201e31e7cb60bf4e16b6c629afe7f9f13d47c2a6543bca512126b8a50e896f22a7cf392747299db5d63a1f5bcc396badb5778e7860b91ef1603ebe64e62ea696d25f6628624421250a774731da010a4a29a5286aadb55614a31da4522a554ccc6807539232536632b9a6c15162a7071896c8aecb41b4a73dbeb2fb756269304ed5f6ff1451b3b3ff284266fb7f8a486d7f8fff95fe79d737f4ae3d90e74d32ec170cda671688fbf2c7d967cebb1e7e8665f869c66ddb6b2b32185c8764fc1a17923b5c48d6a31f72f657e72fce5be157b669101cb2a6336d827dfe136b67efd6c6f4fcc85e662f7c7c5efb4c7b504f903ef1ed79eda33d9c47c3f6ebca1c7f96dda335bfb2c7597b9a67d0dfafbb8fa490fd254c1130ee9cf59d8efff67d5bfb3a9f3714a31fb2a6bd13eb72fff8578c225ef6f59e658d03c1216bdbd7cf1d77ed33f6367d6239e75dd8396fc537fa213bb64e2c3cfa217b27d6ce4eac930f03df8a6fc387f7c4f2889b0e23228c88006344849b1e542e27d6fbecbef93490784b11a574f739e7a494525a6badb5da12fa781be16084835b421f5b72c6ed82ea29e50b537b3c62d310515cde11600c3129e38e59dcdbd233c4232c1772bd897d11e410eb354c35facb999d5e936f6b82dbfa9a39006ecb91b0eb4fab7df62cb0c76fb39018b4cf5e064d675a064c7bca4bf5b1f694c9b26fbd70d5b7daa10fb9d287da7648d8fe344c142ba70bec36715af37a916fc33ba79e73be94a59505c2d258190b13b3e9a8872cbf87ec28afe1a96b6be6a4b725855a6b65943abefc1a65caa62bfb7e92444734c892de164a029df30963f845f6e63d9d5cee69badcd374d9219b58a77b9223d7bd3dc8917a61c81119398269686460dda55cddd7a9e89b8324b948d28b8b1c994f5fe488fd78d1fb323ac5bfe8a5af174c971727981d729c39cc97a9c38b134ca7d2b18c78f3c6c89199c3e9e6705f4c977bea542edda558dde7e25900e56a2fc6e9d2a9d4601a6e2347e63b2a25cab905da672a4d5f1eb2e72a27b1a88b1ab9c0a250b6864dd91c72a45a1d562547b2d50ae7be2ee1441656a51c6d6548128dada19123326c8d1cb11f2d6a6be408f6fea31658d41ac1c055342317e4b855bec357ee3f535652b6136cb66755d6468e789666ab5224b1c4dfcab04ea8e12a8b2ae594706e69e5aa52ceb5dc05a23d0b7831baaa94f359c7508061090f6b793c3a6513fb7457fb3a99aba8c48e7446bd753412800010005315000028140e8884429150928449a02f1f14800d828e44704c1b4843f2240a618c41921863000000002000203230320400fa5dc28607b430e46e7d302b7b77e64e54bf44097d3927217f66be7273ee1256fff2c7819ebb82075254ea5a08bfb72c0829c11d29240e07e2328620fb65924ab541244436e87c1aacea7676a57e1f0818617a4088cd0ad539a4aae15b0c88a8b6dfaff4c04711a6da9b5b8f221fbea5320591fbfe552be2ce03511f54f519f2d3b41ed19b19a2763ceec334a037ae34b58ba65196de5f7620dc1d88ed28cfb2291d5730f544896626273dd64dbaf3bacf9b7da6a89e0dd9735b0fdeb4ba9bf96e6872255e74bc03c56699be71d7741fccdcf4a374dfbeb53c00b2dcd4d3ea7d005975a03263a0545c2040de2b15dffb20ffa8485fed6302e3aed859cfcae36b9958d15c17724d97a10ceedd7901b22fa62fd1f46f75670448387767553994dec3fef24d0492e5ab86d95ece7e2b23bb74c48a1f94fd7b605a6505105c86dda75f8562d08ba306feef971504b7d1adf00af08f7f2a36d0190f766ba285a2489aadd175b48b28452d2aa32700de5307363039402306dc7c9b4a1d1e185e07216c167472ca183a78be0b529b905eef09aa0fc09ff16bf13b0ae8df390c450b6275916aa8596d2ac3d2be05682df07e768e6a9747a74697e33e0fa822a3dcd11f6919cb62ca5122e6324fb509708bd68fdd05ab3d15a562a672e1eca7138a4874b05ac9be0496adedd9b1939c824d2b65fb921b66c8af068946ddec4e010dc621b6db2db4fa40343e15eb01d79c7e0f9f5aaf4539b7ea9b076ff6fcee5f84c3aced13becfef67df6823799e2ddedfe7839e33cd9b83aed73216454f5dac7811c278ddce946862d1f3d939ff771611405bf5ff8c89f1cbd072908b415524a03067b1341242560c1c5669cc116884c4e0c24f27b15ad460a7c97e00cf86262ecc60103497955c557e66a145144c26d22f8479f761212f2f862f77e3d9874d73756253bfc70ff74d2d3fad26934d841a975ca9061d9f85f1c90fc8cdb286d5956ccb190fd56ce1963afe0415ca2d411ee38acc2dcbacbb1c8419c98a496215862c79778186490f60c5f5156eb7d460564237cc14e360816eea8f6f4676dbbf17c80083060d44737f7cf0f1cde7483bf7eeba77ef9e60040914587040c12b5069e7c127116514662b5d751af23840f8889310fb92b92c40b50265ebcd81febdd856488b865518f9ecfc1c3df01aad0f64015483e1cc8e91ae62df275e63e55e6c0a619a22b0c1648a7a17b73feb11325025d6d0d039cd8f8129ea2d2069b80ffc43bc02c63f86e98f04a38fa1c226b6480449980fbce5dfc4745b2ea66b2f020cf070ccab5e6d638dea381632d359485e19b5747af98c865498712cff7354ea4e58b2e0fea629a997624b0c8f36cc01a607d484dd2e750744336c05ca908905c77395f3b8852a0971ac56edcfcd5143e9c1600973ea25bfab408cc3e10ea9bfbda35c3196a631a5937ed80a7f19c131397819460f84f1bd5875d7312fc56fd4b442b210b6993da57527a34842d24ac8bc6058ca2a2789e10ad63ad11bb6381a7c62e8d68355e7c315723a31a676e3891d2cd6ee0a13ed81fc2f2ae75690b62b18ab9cf838e9b02150d040b4908466adb70a74ac5e3e881daeda49813ac7dc55314c0e182d73fbfdc26bb7aebf34f63fee8e76d905307c717e2ff68a8da09c00b2c2d6b9adaf974e3953395f7c3313b86306b1c61c394205c0c0682e2c3b820873eb05a1efea98c1892c0e184a2d1fb3faee31b127962581fd37e4a34dd85b05f5770a29e05fab7741960adb4d946977e5ac63805d6e2f0b1ea389b59391ecce10b45a0a11a379dae957180fa4b069299fe3ca359aeac7f692fcd35bc2cf36f45eac71df6a1df2ae68d9b35a3e403952277727303b2f1b7b000586a8f76223aeb49778680b3259d55d4fe0f72ff67eb18115f762cfcc7bcd27f1a579f74ca0cd5fb36632655642367c38f0bb17bb0256edfee524ae7bb86639ad8f6d555db81565684e0fc26d4895b96f18555ebee117dc2848cf41b6a7ba48e1777c380f875ecba89d54ec6615b92156779268897e7a3577a58f04b528928df54cd7be1cdd4488fdd83cba1079d4bc8793373288dc69202aae89d0515d0bde08d0b4fba4a3e4cf1a4d7bb0b81dd79f14a842d34a66c179ad1a3cd49168da829fd07b6399f2324ec968dadb169c3019a95993eb03c1099a564fc3f10c0e30161f4dabd86ed21f6ac36d2f954d6cceca4d91ed53274aa06989fc58b5de280f022da8f54a6d8aec5933cfb7daa0698f0acbe749ba891bb69b44e8a4b84abc1359421337596c6a0b26d50acc2f25e4943196ea72f520269561d4433f92716453154ed822ed362230cc260139de46dc47b9591562105abcff2cb20ee4d632e21588631afc8124b18646f54ee755ab334f62a60611cc35f586335cd58d0f32d370fe50b6cc555dee3061f6fda1c13d324edc0a7d0cbeb4c4494523964d1a33706c2cb4ea3f09eb0617bfc173654c3ffcf7828cf61903e46c94f7fbe28465de9d207ce90f887e07dcaa8dc908892f4484191abf3e2e0f86d25562eb1597af43011a656aaae40630fa6c2418e2fbae581883f54562a59cae57226ff20a78f45492f902575495f66860654b2450e267034d7bcb8cd4b6996de7f2c3affee6479c5834235503cab4f3f8bf1c573000d38f0126df651f9f6faae38cd49e3d88248d02c69311561028f55f78946cc957ae8ffbd8e1ad7638fb676991526c970cf31ce611486a4a392a786c8c715e03f5288b835667600092aa1c3b2e6f1faedd87153a4775935321d18748bdf2a1b0a23e104852293aa85172399cec24a9cef53fb24a23a37e3f600a2fb3c81b5e1993542b1ec7cef04b6076eac6af6bf79fbc094326b496ed6211ebabaa018c958bbdaf52e7d25519a19ec124f597923604a25967fa167af5aae0a8b598a47e62954676486092ba4b207552cea9740e316abdef955357cfd9a97c008eb63b79926a4645dc1aa2f8492a5ac4e4fd4ee13ad75752a395fe41fc233741b26be5a6bdf6924a0b27e5962c7a39cc4c6aba0945cea4a2bd3e6c64b89bc628a841937aab20e1e74dd13baa7f0232e0ce8edb2f177df87f93db98a854348834cc2557eec6026eaaeb26d0a40edbaa069fb0174d07cbb226687a935252d1023796dcb757175366b1ae7452cfb139ce46ee489d74a9d69b8e15442577ac49902ff417c427f5958552fb51772856ca5b3294aa9f0cb53bc5dfe181502aebc9026001863d77f67ceb641178c7a174ccd44ba552d203ce19f72d272769b72200209311874cb621333fff395798c3453dff39992c6a2fcac36dcd80b635473040d0a77c4ee5a2921cb18619b50d5fa93b924c8ef93b1164442d2cd3b09d300c9da15bfee5dc880f8e621396e5d3222af58a9262c76eae11f1748da2b47bef2ee696219e322a207df78efb9bba3d88358f4cf95e55d6482a5898a672bc95f800104b8302115cc5124501c94c5153d3cd2ad8b0c4b221fcd708613fdca5addd611f991bef00cd9be4ce8c5ee4650fa13cd03a56caf99013ddbe5f3be6f776dd2de8207f2a9fba9238e354db70749ce2a0032d96ae2cf3b15085b20bc6de558e819a02fcc23f5808aac921d3f255ea9eb746bdce159039d35bc390bbb352aa9bdf27f3f18332a6503d40bc549d28bb871b2c9ebcc815c6d8e19be4f5a983f947662f633c96e99efa216cf3352badc835ae7eded0a28a528668350d4faa93098bd2aebf54ef3c1cdea37d567a821807114933d7f9a0989da509c872a207903cfd7ad7f6356cc07d195e7defba5d212ec24828e6b168e1685f4de3068f97581aba509a601aa8f22a4299bc71d505349272db03f08eae0fef3db858af8887ed8d2db51bdac344ccdc54d64c7015f20921edef0f133b4339963059ad9dc12c2a63b41a5a098afbca7969f68e4801bfb77e1f8eb80fee47c8035191663a57a5769a80213b279ba396fda25cbfef095ed9b58a2602e33d56d0b03ded5fc04cf145b9260d5eb7b2afcc7ce966db3ed8f2b11738c9428bc0975d6a6189bc4635c8f335fdf3741a6373a55c1025acbc268baa4f46a200c21c0f8947fcaf8f4a1809b81c0c91d636c9095339f242537a985e9a70a1d8b73f45f98841672bcfb7068e8aaa0c5d55137da3c852ba2d4ac6b5c807676a1ff31e89190ab90373bf610b3cc2e41d5bf2b7ca8aa0d60ee056d2087a0dadc611f2b1c4c50161f2d87391ed1560ee8d3c0339a509605edfa8fa29f999578e8895054bf6be1570d657eb9f1868807fc0b2c260b2eb2382aa0d20ac595c3854010884d3a948f9f87076c7ebc0a1995705de0d6d03496001f4b3d32032f589af4aa7eceda9721039c75df43553b93c3191b2ca548d0487c2ec8d174d163c36101a1115ababdb3481f654ea96fc071a20b177b34c94867fd8242823fcb13869c8e2f5f7c4b4b3e2d1908dcb41ba5c910de9cf3939991f09013dbe489e1ff60641bea16c37f3523dcef444bb71e32e0e19ff864b113248ad9acb0933c8e38aab315ebbfbb5dacf3cb39e72c4d7e3d8334f6a95f86024b06b5cf6dca5b21559ebf50597f4de820729aabbec0dc4e46d987851c8fdbc125f2d754dc4b5b0c71c64f1c7f0536b2ab0d0d9f3f9ce8ae22b026db20792088ba00cc60446cb42cc4e1257c4214dc582a8f226c68ccea3691ba5618dae5021d96f4e7f28909a25e7f85a8cf3db7829e78518749e7a76e1c3e28f5c51408cd504355786d35e5416d30565054864b8d8f6dac6e19cf30475c7dc4c3d5bae1111ed4ac4d15620496ec4e94918b9979af4bf2432f2d989213036064ef4c17b502ab486f3ccb173861802a735537255b44846f3fa9753993913c982030ed56b0ae46219d129016ebfd9b294391796157391377d5fe215f391825cb4ca253687b43b0a2928d70681207b5e7b1ead5d9d352023cfa78e070228c2c819d3f27523f547e7c20738dc24b9e3410dc0f53273cc3d357a8e0fbcd4db8a7cc87f2f73155cadc417796df134b32f584ca2acb5a91f568d87bdd04d4e440b6f45fa65a0d4284629b11d023dabf7a43cc127d98a4c1b4f6b4fca3c2250e3089f2765627a1779fd6aa33c23c64f01a63c65e0bf189ae23445ba860f5f88f42591ee5489c4567576b4954d95c0e4b79def81663eea628e2d348099d0f2cda8ee9f513df85c75af9286a347e019d5d7c84d4b07374e1c8397b95816090dca521fbe3ff400a381f166378c4237e497572baeff198984e28fabb3dc22f030c30ec547c0b754377e80a37c600610a6b63875adc8e35c975804f80dcbee84ab5342a64a097b74052b54ec377564058203bd3c608c9da0fc1aa15ab2d34b3bb0b57fd0daed4d0c0cb1c23277f21aa17a583e0e07043ec6964712ffa829f205ea1bcddb87e67b6f6797d523c00f3436a222f14e97118d94f2831622d884effbad4bfb0cb2b0aa68c406e11b070dc81f9880942fdf09887d7c6e449f734656220d9e711914b3d312ddc3af955c1135f1b9224ae1f98473ab63b80e3043694e87ffac53d291a60f3b5e782e50c521f66c0597a3237b8a2b8c0d4a7d122de8990f2066409cdb4f87c897299ee2489f2792a447b309600846d4bc08d8bb4357a6c36bb5b294cc349c32b04a12bd58676633f2a0547e12edb933cbbb6b76993076e24de49cfaf64a51a5cacb07dbc4cc1d4b36538b5353b6d52875c5f0df18f679f4e6b663241dde6c9fca70e77b2e16479da36125a1575220e81613437c4fa4fc2b0d0d56a93bdb937bfac30b2583297f5ca4968e215bfde8044496566d317fa18a08a6d78f4e24d02deb5fcae689008689d0b7f385b51043fd7505a2da773d2ab83235f4bad7043dc274d973555006de3442af0b4ee998c7ea3330c23f66d02f24fe664586d9803d3177e99774ce3299c602613af25106d8c50bfb177b743d42046962ce76dccd872dd4b3ed5318f82bac3fd6d538b97cd6c4fe93578b25d0b83adf32bdf1d30907fd80ec5ad3c939fcb10d9fc93e60f53353e9c98bf9b6d1357d665933bf7089fa859be29c80d1e58a7b54eec8686b976197485a924a1b6c869db60718ba42aa10b13d1cf2ca46b98fd552659494ce50a137f9d7f73f5a9873a34055f4b419a15b4390a7300f5de008452afcd368151a1e73dec16bf68e8f774dd2d061bb6af9536c2003d6e9ea4f0cb358e3e58318a625cfd957a90075c0c73e2dfb09096cea8f0870f82c85b573ff4e90ff27b23a74c19a619ec0757d33d6e22116f0be6b828845cc102e0b00d4755b4ec15e6d78b93f25e53fe3ae3dbe828c6dddd04939c784f4192c239c221bffcd72e578632312bd84447221c34aeab071e18a502244ce7221a3a773040878f2192c23cbc1191048c8363abf46ca8acc9b4c47ea0408eeca2484f50a777227ca6f3b42dd256c6c906039ee3ff0c5c02da2e240a43cdd68fda2576ab9406a8f1463f03fb227094ec512fdf549e9ff6650c5bcf3b7de3be17854476b96582f569125e954c133d56af779a45305ae24379b201ed51e0ddb943c4068dca251412c149b47d715e46179c73d34b9dc094c9a3ac2ac2821df9c46eee43872aa8489a60fc150fb3a2c295c06ffd32277b04dbcf6e48790b10cbcc2855cd3ddb845c55d7b21192df53bd0953ce62914ee8dc2cc6a58661c4aab23eb566893c32690ced89449e2319ba1b08b24955d0671f9214ac0031a97a8932c298ee1778cda6e8cc5328d002a8c234fea5fc7ab3ec8ef78adde9c62744100729bc8a9a811a1e610a9140660bc9aea11ea14d3f98d648085375791c3ae3b93cf648f6342d7786f3373855c4c581e7790362eba190cd4f40c4fc8d15a0c74abdba2a0851e1e7435c256b8dece3c6d7bebac69ec2c84455d51603a445c3c353f20dbe2c16aa12bdda314865a712a8ea33bf3212246532bae6dd835354e5a09a8141f4bf18fd0dae670a43c8c3790ca4a742437578809ffc208d4e70fc38f6ba378ee5aaa5d01c9377303fffe8127357c6eac7fa806597ee83dacbe26577688f0af7c6e52894eb834ec5643767b6e0f82e033b440114c75a70bb56e257ed0e9b5197af5f2c173194652efa8599f4fb947e12f90efa109fb90fd24754996011715fbf3c39dc1a1c112838c8d11c9cdc639f828a426be4048d83c447d331cfdc3aa18158b9a327ddd2aa57964f73401522bc5ca3cf8ae34cfc80f4e95625a9e9bc72be55541fb4a0b66a4087f0b932753bf6aa54a425f23fdd849f5a1b76fc505057f7cf58d267fa47567bda4d7bfe7106c9e8edd78431ccd088254db7c780fdde532482192b00ec6b51e6bf84bfbc0f8f84bc711e58ad1343ccf14b4e56332129b4efdc07fa79247d14a1e24fc5f3124819d1f53f4c0d12a16dfde1d560a7e6b6fc476ea23ef652836a59ee39d3c86e23fee2d12903fcc03bfd201a5a118e1fe10c9936a2dba537caf0f6315c7a5e758bf0c11dcb99da2fbd979e4939c960f8a438ecb38f724d91986aa18c7ea48f550f49229300fcea62c150d5a182986c7b8687d258e62adaae12fcfa21d3d94420dd3f39c8b1748ec57b100c01400e65829801123cf638008183178ba9b263d2d2b9b3f0bb22089ae3420ef612b21e9a02e46333c5db33f9e7c112768147b49ad8629a2512d1591389416f494ccc104da8b7826e5ec1a85b08697dcc735e145ac4af616771143319aee22062fc8afb76343923efdff76cc8294938423b8db458c741f2c1e0c9cb24a2b1d8583f554a04e0797e323eea2eefa6e90d8fcc1d6a786d14bbf61c3a3e04b8f6b70ff8815a5d3409f4b9b38fd6ad0846be2191a8c647322a0beb99f57bd79ba95d6141accef17b69a050a93a0257549393ae961bb6763e5306b19682ec4c5906d293cc3a6e5b6a8c8a27338ea481c1629bed35b760da0b0315c12374eb4fd5d12c0cb4e03533859e9e6e1ab303e8559e1e2668007bb2cbcea8cd5a241ab0b1a3687e2ef043cd4f0a5794672f9caf9663cac56292526e5b2dbca0e20ef89507bb2164a065d83b4c83857e1d344aaad9f9352e6ffbb160dc8871ee454a041622c09454e031b619960e76ddfac3dfbc7375f49b09e83384394b9309904895deb6c7ded5c6fb2b9b5d3311d8697056ec64646081247d8cb6cc76079af0a6d897869ca8e1fdfccb52df8cd02897b1b48096f4e207137736461891f5100ec8059da3d68df870f6c0e485c17e7afc199225163b30a2357cdacec94f9af304f1d5f9438db0e208ff7fd394fdb61a0c714260ad71cacc444c5c4a6536841f40c83a3f7171a02bd16b51564bf8bffa5a515a4d5564c55dfc5ea9c8f7d46ab971217ebc0563220dec7be199c0b963629c7b67a911d14d156dbf3f32ef652e5af64802c10b074d9575fddf9599f6b65d55d7c835aa4ce2c5e3e3874179fb58960d5cb6ea8d35794692a7172bd414670f9ba1d559128c5e63991fbdd34b0b0df1f697b2c3cdba77b55db63de2fdbfcdc732f3917fa2032ebe92263f2b27ca09534557700342e369d15eb0f87bae762c801c5b0ac8420e0ec876a2a41f010a6900614c7e96908cd9f7ed6c655caa8cde802fd2b27ee5c3fa7c0b61f7aa2f9a8bef16f0029868d1f58cb72073efe20f31f2040f11106d75ffc805d7cf15c990e34daf9d51ed3c88fa262a148e496cf0132706fa4f84f9cc0c8c23ca5ec64efcece3bb7472e1ff250a7cac4eb1ac98ec2210dc0fe890353dfcbb1143ea06ebda7bc8e6e6e70b70324ac6e0e7e24a1220045f06679f8b36d0477994855bafec40a868608330f6b8ba89750836978d485e8e7bc064914ba8742361b78392269678b0aea595e19d8208bcfdd083755647b4747711a31f4d3b2d9b2ed7a515d71e92f4c8f23a358bffce1c310f962b98d1f545aa023b7e8b30433edc84c2333dec2d752be30fbfcda1f4663117677f2df71626bd7f2455ab685b5e639f8ead3863587ee0481225759f63b0bda3e81e9d93730d455c09c70a3722324c9f7e9b0a3d910c853dfdd28e42cdf982d864084264d16b1c88102542a59d22a6a8d643b5b2cefd81019d382731c66821a794b2b16cd8be2458f5d6b947114216ede7b67861c4911ce69cf8f7edefbb23e0a72d52837c4144b3d73798822a6d806d9f5b2d8ff25346afca98e39ad618a0964f48711e6c12f1cb79f2f89e9bb82ccb037e9de52f5759b2523360c3951100cb425f9a598b29418248ce7652d2856b1632a0f8808f765bc55dacdf555998b7f9212a7aec76355d026b53fe583ae9def7b5ebdf32b9ec1ef823c68ed9025c959629ebc4a0e5e581ce8139d6139fc83cf5e17e4a540829f507a9ee2d2dcbf2c9f7867094492e6e8fe9fb2ff7486f55c007d5b8c584c00c95fcb385d2d4b6feab7d9c22af94a3ca369d26c59ea63789562322154a0c14230ed45b5f227b5c76dbd8978b7acc734f0776e09f8146e6b4cbcbd85b3fa39367458b5868d37efd54532d4206f0c659559465955ddc2961afc0d306300db4b7bc986c705fd080d1c35e54715d79c22b3da44378c1e6cf364edc11e745d4d55140baf246e6ed992a7c8ef6d2337a9b3ac8bfc3080f7c1695caa8446e60e9a65cb0cc27c779735c571b36c29a1501117bebf307387120725fc867cb89ae24ada50dbf353c74f34378a37c21165cbd7c669f6635458dff6ba0eec97221e7af58a29344805143a1ce74ff926df7b0efe9eeb1a80e30330794f4cae36ed947fadc545737692b7e8b8385b58cac2d95273d371b83e561ecca6476c3b8dbb752149942d03db6c6197da1d677fb08af7e85f90a3eafed8479b911cd016392bbf5f0a0fd85147f515a41ee06c69364e4f6948885bf21e67d2391a0f0089944f78f4bb4d49bdf75377eecbd902074515af70fc7714a3b344935078071e28e4b9ff144de7da265f5fbf1e40f9502d97ab5c0c1bdab5c194ae3a70aa0dd3fe737a7970fdc79f16419fd5d993f36f1791ef93e9cf1313cabac357a62d970e545b14d22cc85837a4da13a922f2b45deee7f916ca97b670a5cfa1b7edd296ad56fbdd635b67786b851b8172e7d6f80156e5025a5ebfb87475ef24653cdcad4723227e1be8932a5fb21493692c5bce17409b7cde123f7b2b49afb71e95ccef8998d7f017c6fe5500c93a575960b9c223259018152b5f34dcfb1baf7584e3d1f31ee823f43e68957d98cf36152239307fb32c642b3107cfc56ae15b2e8fb9c6bd765f6ba33e9f3b67246e286bfecf2ac0b8782a520e202ee5b535c0796a065699e291c77e7482cdfd8c95189132c806c030f4a69718ec6fb521bcae8f096b254926e62a4c76dfdd18005e658cc3f3efa8c23bff9f5bf3bfdba6b994e6356567725857ee79e0c7e80253c5186e7768e98740180a62955e5cbcabc729b584158b82be3f874b93deaf6219d156316978811865639a1bd6e0c150f99c468dcac1f018d7a6a2c387e6618625b2ccbf551e56faba0b0125481bc329baec52256e43647dda47b098fbe0d127abf28cf88be8603898862799b60909cd25f170b780e6005a900c517f0cb1952c9197be8a8d3429e3fedaaac1cab04d6c003b2ed43d1b7b66cfcf648709a53e616e0557d6e747ee07bf8a98adc504498beaa72c93441cafd12dd6029c5152bcb11e975ee0d5b105c5fd97600d716d912d59634517091aa4569a04bde85b293bc2a21659b458d73968b25d9bebc12233c0d3ea23ec109fdfec98c272ebae21e36e1f85a2586209b915cc53dbc2f77b20364377abe05934f14db1d8f9de388dee4100e5ebad2be5daa96cb7f42ac6feecddb7210d7a4994d255781fabaefb8d7864962b3ad8a9fe66c824108bac7a57234dad8af34313944a416141d3c5e1d234c3d2ee98660b17206e77fc75558680f4ae7c86b6647556b0bbe23cbaec42fb83f35385248cafec3ec15db8db0542a4e513ec07c1b70ae44c8acf9cb04b61817aa3ea2237c9f58db23c494496201dd856d83b35f6d73ed1845bf8073903f664208985a3eb5288c973c5289243342fef14ae28c677363a042e2fd3bfce0b710ac4432289ca6535e28c1a987a0216a4362536c75e132f1834ddbded710732fb7a21ecc6b735e3c9fd39821462132a39520c98ca7f358e91de5c145d758d0f3b85a0bd5d1d37f1fc47e2fe11a232451201ca26106632fb8e8d3466e5baad6753c647b132c360582cadd55efc8eb1514dab2314d7fe0230d36a1c7ae9d3e4aad59ad82756505c3c215e0d327f6e0000144eb3ab83cc3e32a396e46e4e37770382e6b5027fb5293181a504bc8f10eeb623047bc33a32cd5fc98f6c3091afb6fd421ed41cf2c99ac106f548f0231c3bfb168503aa96cc3f8d4c2f19a4751815234dcf99d79003dca09009e87d701aaf76dcaedf6d9d6f16992f16fb12910b6ce6e596d40643b9c07cdf297b8ecae07c3ad7fd42b507ca5f1aacd4dcf867e81daf55154d2204dad393b8f70cf9488418a9a051c50c4775042793af7a316050ffa6824b1573aff3ea1704181b4dbc3ebbbaa0928ddcbd5cfb9bdb9d2837a0391a90900c1be29435b113a21ae76bd02894d299bf9b567e73fd0e1782e5973151ddefb093e326bcf73ba427c780b614d9fa679840fbb2174a4618716ccc3ec592a4c66df0e475360c0f805928786e380a99fa76f210d7883e0a9c2f192a72711f46458894885128051e97f34576ad1b6a10eab286317086654d963ab974cd9c54620a3440f2c6aaae443ae7c2ac300e5be15b0345379a7699ce4b1882cdb01e939a1349854c9955cc7185f8b9d523e4b981d6b2d4ad692233c5b9fa7466e537c6cec2fa20105191f6908a67c59cb677b05ab34545387f7d4ab342ef039e0adacf22352523879c0ec6a38a80e07cd1b7dc248f5f183b4e59c0149d74515a8dcfb266edc7e99a566387b47cc5dca36fff37eb9da5061b952f1ddf39efc4929087f38a32eef8386f14cb49d7254e4627d576f09cd42fa8ff07ea2aede3ee4432c6d481ea293ecac6664ed1963d713fc88ff1f1e1e4da0e3a029960f8d8fcb116c88cd1ff73c1268f03fad064480bd3c4f38fdf23490cfa499abbb806c9466db4f1a0714c7cda1a986a5c7897300cb7b801a93a64f7276ceaef8fb75b303eed20af8b477aca773581d5e610e93175ead1835d2b0f80a12617865a0023c1138a4c8cb7fd3eeacc7d1730a125dc6f5fd92d061adb3fc4bf1e2302180a44faf3ab5f4639f417906f0e4a7ebb815f30057650b77376b4622d1faeac261d8f9dd0d49c97bc14a6c0ca6862c46eeecca8385aff811b0bb17841bc4af7529e075ddf3c7175aa3e177031d77fad92c6eafffc78a5e0375c5148e9048f860dbb84aebd1819eef96f4bd41768524209fe492fb6c907851996cc9840c0e76d88be9da42f57cdb4aea6f561d9aa0a2e106b0f538f01383faa138e7a47da3cee96f819b3303b23f3637b8bff585ed94619f81f00881eb898324540a7f534f947775c13950c0166ca12954e8f103f2fd488e8f54b1ef6538af7d3416a8d90fda66c216d49b46dd3b557da6382d59bb81d48accea65259bdb017b7e013218acaf97f4bbfe05469ca33beee2d4c99c37ae44e5d3b22de2a0d81d555e6da2ea979ecd245451bc73afc9c72edd8c3e84a375ed8499e3a9723733db0b09615d019a6a8355f0d81a3ebdd6b0b34b695cdc7d0dc09b40e61c6323660c2901cef6c79e278309708c8ca01fae7409496c2de7232f3eabe8985754e112474652973158435891b8ad862b31589e0b0916d3f83da70c3d97798dd5f2ee71932f7c0efdf4f0613663f2229436bed2261ac795d80e4d7c650abc3e7a3e793c281a338b343d34e984d43b0fe69f445fb0c5d6b41609246993bce5f4656337287076fb98a73ecdccc4c06eab166eca522a12a1aada36981161917bf9bf65cc1fc63bbe643e17ec152e3f78925236260bda12ea0114ea452a7fb46b0d062d851861208dce67637aea3837533241a52841c21dc0517f740127687d477c28e0bc583499ced78f5437dca60757d120801ababc5f64f67614ec92557a43baaae5d41576935a3311f88a06007e61111985dee29a88f82b61bf4a21bb5e38d9ebf82ecef10bddb4ccf3e15373baffc36fab8927f9b43e1eb619bd4c54e5903702cf80a7e2d4f3ea290028ec345a20367b6ff457a327bff2b4ac9298e175b23b3d123f3ea385b733f21451e2f53d5b301e76d3b01f71ecca25d4cef9f55a5c3c01d66df3e0d90200e9cfd9a3d25865b6ba5ffdf296fd1e7eaec282570d5e3dcc84bb86ea5900a8a851d87ec57a2a7753dd2d06376075d8381725990599f07a7a0d609e5fc8178b9605d2bb344d70c21f6dd1ff38d22ea1d3c03906a775022402a8e50ada1e17c179406f4f8a777262e3cc8b1650e225773482a21837770827c5c4ccf412488c909722a6d464cfc4b30d9a34d79ef0ddc72486152a8cb395f935aeb885b463b49164fac77097469522824a296a659bbd7e55556a2c82646fa9997720626c54d2df66b5adc298a918ad79125576f18f071a46212323bf16edaf773dabc7649a539326b490b7bf6adf2719f6afae64e701fb0aa8a29a38b344710bae4d90420c6b60062a1acb4bf7248fcda37aa7497315f660c9f4af0def8d265f7269ed70f1cde57c9f7bdf0a615fd98818bb61405046c43648c47e06ca16418daea82ff5eb9d7bfa8f129a39e24b0831e922bd03855a36bcbca3e03e92eaf55ae9d5c28ec7a96aae234b8f21ba69ab79b71e33f3550b07a7eed061bcb4f188bf0c46e81c7ebf18398f061463a7c68c81d9cd03c91f5bddbe3221684e6d0e5ac583b772918ad6b43c3c1ffae1e6913833acfa6cd378af58c0e2252b31a89cec7a4795f6fd0dcb1a09a4d5fea633ac1ed555ed9a435e2c039e3461a84ea030f45b50a479686ff5cc7b447955af8a08456f6d20f798d8aa20c2e640475088f1008b8ea6f1fe87b4ff0cdb6375e558fc6087cf55c4c3026f9c8313418c83f6b66e59bdae9e2b6c83415c8ba69b75bc3696ad38b14eb9f425e7e75399ec3f640ae174f4204b01d96c2f85ca92a3bf37c33c6a966eebd419c0ed54e3315f45b916130b1d3bc489101eb3e95f9929b29169282d94fa07408019090619c5f5c3e8c55a64dd1f165d99a494f10a1b097da435b08a60c4678c88c56a9ae38fb029028b768fda524ae4f24198d5b44bb0c9b9f4d5305ea4c27f84562bddd5ac838567fe9d2a1348c20dd58399d22bee120ec304cf9a069653a4d1a3adf589ce455be2b3d5e01b7166873a8ce1dc5c2ee7c7c4edec798b374ffb4b9265c8b6eb3a3e1a2558378b076a7ae6d27bda145270f4f9fd92c0412d8713c6ba6f6efc2c3998b571a0344b709ffb7d21f1ba8932fdaa02a262fc6d7eb80b349d64f3ca2c465489a57f1924f5ab17da235589b9dff953ce4aa7ecf9f5347afd93e799241ace6a7cffa20d5d1319a7d14839a35d78cfa09b36e6633a0a29b9131d7504b5d5dabf9608dcb2c8164bce2b853e9d4cc4eb554d3b75156cff4e7c25aa94dea734d61e2686c4e5922eb311b3a77489a3e2592be416690f09ca8d4e2caab596ce3c8ca4b7b30e1e8270bb9811e092dc7b3a3a5d63e8a2fdb95f7c390c9c40b6f4c473ce0f4ade9cda86c062abee51a354ee04cb0b486a9733ee8e173d041910513039bac4646b137bf9a06afe071c0ac7ce1f6e0c7ca78505c70f953688ee69e4f26a72b16b0c9f462fcb0dc3e4caa0dc5b4bdc7c926b7bdca4e0e163a2f8fa1dc9efba3802b75e7303f7b61d06da5c995c40144ab90ead11dd0b335e9a8eaf550e84410a72494eeecd3045cab9ff4a0391dd6ecfc7ca429e619b4869e9126a9a173eeb2777a121e984c8545f56aba39e955a1b1260136388c8f2fd9a64e2a6646d9769df817291b29ede890a5d5a5cd01d691d2a77344828ac361f4ffabd07f1a08381a2a427eea2cd5b8bf7a80839cc53500c542d8b2b90c2d3425e9dbeb8c217800cc82dad107600d6fafab95f0060b49c8b61bef0586978926b56abcaa645175d1b94cfc19512d0de2a9472c7053b51cd54743f6aa330da7cf59067e0462be92b46e19edff87e0af3bc4925cc51aedc7c2e9e14847e16383541929416e563a8639bc129409a49f5f5ff0e9ea7de104ba9a6171a060965f86f96916bc3e2c50ccffa44f45c709288208d1fbbc33915ef62cbf0dc3ddecc66475accfd863056a733532b956b6610bdf3ee80cd94dc9b1fe631e7d724ca346ae54d7cb4c8c2c4640a2d31d22c70b966aac6ca939877456eb18bc54b47441a768d5de1bb6675d275ca031655e7f4591ea91baa29883d9da13905e18c57c5d0c2c7a66ec793a6c6d2ea25a0a57d879820c4c9a5a1a819eea37b832eb0bb4f286b81d998b8e9da0fcfaa95f593c2e2ce77e05f72e205d1629188bc2dea613ebcc6f02b6506d4569ff39a53d3aa605498f13cfb87154898698dc2bf7ba231b188188cd0de787ce7e55ad2fecb8129969c45166f72e8382f5c6f72543e20dced12609c1a8fe2a7dbbcec7c69bab6d0130571f06b43e96b8b3ce47e7a5525867aef043be4014b0cb1989a782a21e755c5bd0bba0817d4032d516b58534d33f00ed96cbe7060c95553008353356166f65da870ab29d5da9eb30f88463338611d7ce730d1048af9a046ebdf262fbe7a938e1426e35649ef279f72e131836401a2fdb1206c6ac7099b8c1c14e3465e22ec19247395b67fb33a73e82c1b002ddedd5b074cdf83af7a58f892a5c8a83b8397a01cbe568e5f47d3a176ae2150369a7b919b8d00329b2cf95f8aa932f4539b33845f6407d209553bec51669db6eb4f3d66c51ae2315baddf82d8d2a20042544054d5c0ae21d0e0055cef4e684c784756deb6c2c45f69544e72d0a435180f944eca41a023df9cadb341e1072339473f2a8df3c82c208f6c2ea73cb75ae8d67e7cc050a9240b480a3951821d8278b6d01a14c4c02ca01fdf869e4413efd6df60084c73daed672a82832c15e5195bde34572d42db76813fa8d7a97cbe4192a31273b075c04c1b1f496f49ebaf69d8f71143d3995d41efcb2789d1dcfafd9366d9d1613e6593fdfbec20ab58cf86c7b4309221ccfd72489dbbe876f4a265f911f8215836e87868705ace515d5307d48b9b76d006e54dd97d268b1fcb07192c7b08e8a12b99444543dea67b0ce634c9deb9ee366ca80067add8321483bcef0f01e887d631edcd9b2e2036684b590db63034a4a2f5d922d8fcd89e615d3203ec81c66b00598c0086a8f639b7f34171831d28a0af91be225a00a95b05699be397ff23e790b3299632db76059080446449f491d0280d3726d65ef539bb792c8a40b94be2c300290aac865d76c3acaccd8c91a5349b3d6326a29ef89688088157574b0fc71de34499c8576b0bfe901e13f859b65865c9125049be0649974660150d7d6a64e76c764bd83510c7a24e4a74d11f1e5d49f3596e849b0f05e07fd512987a558b24bc4c2502fe3109ce25018a2e3136ae52f63780f94ad01a64e615d83620a333132e4851d49410de14747cade1692803b0425f7b0d0ac2731eeace2f869849b516667837c6b96c3f321c4495e3df99233ff401f2e18dc3c11eb33c0492ea92caa1ecd63fb059f1593dc1e76f2782457b29ab2ad930004db04e6c23066267808b34ba330c63ec530f14608f2f2a871174ace68b38376d19324e05065011023510ea6a0adf50c85ecc0ced9db03e3531fba64d29cc403851f529e984025cd95503c5eb4e5170adac54608d1cbf464aeffd0eac4c86ec486c884145a75c2b7a2569f53ca1a210c70141f20cbcbd0694425e1b986bc8d0d748224a03644f9fa3995400dbc67b9a871b081c12144be0c01e3765b88013c4715f02dca7f32c2d009b8ddba18fded6a6df7fdfbcb87981d946bf2317786f1273bef4bc14ca52dbd355545ea97cf1df52c82f880438766afc7bf34bdcf8dc100550c1c4565e4d25b0db72212fd8bfefecf164c2f66630673b03fa9642cc63cd5c3c38e3db925dc14a7a4f25506a7c5ec807b2516af5e91afaff13f64c41223b566a76f4bedb2c39eec9bb0f7a2e5aee2a9348f0407155cc13d132a9a3787f43f972897d90b7092f7a651ea39d5163564fb64efac2f89590a25957173edd4f09bf20c292de1d0edabaafed54924eee7d825f2c82089966c938ca243e606e6235fdde7c5b701a13099cf682bb1c32f14d2594f4893c42c8efda3b5eb4e924dbc161e41dd5bb19550888432979823faae4c9ec3bd28ccb2acd896e8a23e3c61c5ddc5d615725b5548c77f373785f2d80a6095d3a0d3258bdf02ec36e35fed51bc4baea890247664c5dd323e404ab4ad2454f0cd6be96d6d712f32838e2e69d99ec39cccfec00f5909dd86f3a99976a24c7446b1fb53fb4fc331f5fcc32bea4b5faf9618b95c3c613fa85b873599af567200fb3374abdb4e6fa4dc5e271111e3bda26d2b81dd3421a7c2d142368e642b1150d303809362f43d2a4df354500be5eb2d72703743fe162cb6c0b107f3ef65ca4096e5253d4cfda76031f5c58270806514eec6971f038a95d1c712f5c7dab4d54cbac2d254ec3fd8d8df6d4ed9df63014a4c624edff2a3520b87599ab0e44e15368cd53e8635e5f4789e3c3e8e5238897c5296502cdb0cc1a6b43ac6f19e35e94e876cc326e22a547e991c30c105375678d068f6e46e6c6853ab04ec532f28fb8fa9b5bfc195d93fb4e4bdf3011e7bb2135d50165adf499d4fcfba1bdae26ecc87bcb74f203d26a8ed29300a7bd21abdc1834017e922ea461ed379a2f63c8022d1d98fdd3cb4905c881e61b28224686ed5658db96007a4d31d8ad710870f29321f7c3e497d50d625e214f136f788fa01e6bbe084e4b66c8d32f3b89c9a0078b3514b985ede66664901185e51abf99cef7f3b90cde8619afb57a07b88515e4a262abc69d85672b2d5554044b6b25896f2a7a5f49c451fb8c5a1ccf95bf3534a1584d29b9c9f29764cd2b9a84d415e4a490d0104dc4a87a1490b2638a45569429f92f4a3a6a3d790827170539e8750b1660eb31c4a84d44b566f567b8b0abddc30569565a47b33537dc2b102171dc63d1f937d0147ff2901376d6896b9583b2f8a2b9beaa647fe25099728aec4779022211cd82559a1b02af64dc46bfebdb244dc5bab1bd4895d1c8d382ee1e0056f8270616097433f735a371706ec72df7cce7082739256806dbaef0ccf5ea3bb8a92c609b18f1260372852dfa92b1ba2a1beb3727ccd72a7efac0e87c124a1787d67c47d8d5e470ac907bd7cbe13dfeca6ccf31dd2de41b1ce7716ba498c70bea3251e74da7c275ae78a3ae93b9406d8c87c4c9a87372af07716a4dd88a5ee3b9f3fdf81e2d23f257c67d398fe44da3b6ba931864eef686fae38128eb8e53f44c577a8a3bbd1487c6741fa0788f88ebef584fbc377a057ff8c0cdf5911decd5c64972d4820ece33baa2ee91f8eef84acc728d6f80e19af9f30c4fb96d68de7e23b247d7eb277f99df9fbda8d02f8e72b086ee13e5d76b1f842c37752306f3ba86452e8a018299f4c8310128a6eb2d02021c7a2d88bcf9eafb7d5311e3be0c7790956e8af098614667a08051efccf759cb1d11b5dc72e8494184b7b525db605eddb801c392a10329b71c853358d05b8a2473cff6c6f1ca84f97057f6b89ee851ac52617573670ba504fffe81d303f0183022539e0dd74515282811fd4c478ba1c6804d8209a1378ba5c13829742c1629b8b53bdd4427605d3e5bc09a0b3d1c303a60b89085444718529d09d750f587e8cb18c0af9d46bbad85dc08bdcd1c7355d4824a083a6b0a64bbe527f4d171f074c7203dcc6c3b8a6cbe206eca7a9d89d2e421620196875f74e975809e861533fa5f64f945e383e77f849a42f5d62d638c67cee78430486fe474c7f9cc526e29a2e7add2eea5c936c4d97b3852380e0355dfc1a26d77441732f10ddc182eb8c1220b97ea5b3d324a1f9ebc20b90dee99266fc108970245b24b4bce18246f3b903a9cce773c7af1770f2b9d3d7dff4a58bb4fd5d6f9a00fb78689dcaa29b665bd365b5f2d799497faa1c27f4be4dcbe75fcfe9c66f1ea07bbf8f64c50abaaf2f80d993801784e5fed68e71f657b8e1f94085db31455ef1fcf8f4c78e003e8db04a936ce229eba6403322ce9842066194067fd675a0761fd6db8f3096fdd4ac1236168b9e2612506a268c8904404f1ee3f9b55b31a8e50d05fa8e474c370e10069f3551de8e615bc49068601dcb144b2223e8b9c3220b6cacb82a5286716085516b87b010466d792f40ee2d684ec8736b303838380bfe89cef701b3c682972709e35c990539c21405042ca453f6c587e295e27bb603ea9b4bd6c4a5bd049000d8754f2b75670cfb4515d9c2f777f04a2ecadddca86968ea3bd6bb5330960d1a9ddb8f95104d371a75454c9f6ad4c73d0fbee1b9ab7470bed893044558c64b6ab4aabdd95b6e95b9180a86dd925f3bfcf3b05be2d86908c17152e3541e0f0fd38e5dbad74e38f0cbacbcf9be00447d1c0d3e4b4dbd2de6fd60ee5866685f17090fdf38da63b8d8e9aa7911ae2fb429f74ba270addcd50ec1ffdffb50086e6411bf4fd63a8bb67e5289cb9e9d4265a89414b2c95c8f688935eeaa62a172410f94a41d72a2081383f65095958cbf952d21c5e0ac9600e0f8a5b4e0addac9937476aa0ca3a984250452d6708c1c19531770af50d4c8b97ac8c99d24f4cb1e92c12e42ac9e517dd6cc352f0445593942df91b77283cc6a063c926edbd874aceccba757eca0dafe246e136d23a83f441154152acffb5012e342f5550572db9e900bd7c37963c45dbfcfee87bf0521c41101c70bf1ed29703387ae9201b80804efcc87880a39cf1d6f45565a23ffb1f724fcaf9d9d13d2e6230b1b81225bde2f07689ea396c493e5a13e952b051159d202a9c479825b5dcde2332106eab07cc48b85b567572e85913c44d7f25a4d96e2c03cd2bb2d2b87c2481e4a7d948d3e30dbb1ced21c94e43cb42fa037522cb7e194826682c6c1ebc5637e2d824fe0cb65c12958526ce5ab15df1331ec1b62c0e5aff90b59ca261b0d0e540044214b292b472264c1bfb62b913d4214ab453c1c3473d3609d6c70ab06ddc8709c0e9aa1f29e17d1e884006f54b036b40a6fcf57dfecab7ab9a261637b4050456054f0cf2e32b1fd1fd427b23357df878357b9d595bbd40ee7c38d69f065edcc042a8239d0d85a680273c974bb6973dfda88cf534ff11d44d8309ff83619ca60fdd4ce4141a50df7e2e84dbd4f5f37a8c664cef82b913101aac937cb49ef9941c72f4f7a47c2f463c24ea17bb67c3af0d0c44768cfe3866c094655f75a1405182e28cf3c719e2bb1960962f98e94ff47e4e70065ba9e975d51e00f338984ab621a33ce584a2c513e77b099518707c7b109c78067d0d2f36dcd0c0a7a31eaf5dad81207004ebfb034cb5ff083f8fc635b5471df136bd8759cb1edb8852d47c5ca4864050b89b70a8f0d25bf6b62778fc4d4fe9ab006473701d50d8b475f5abe4a86ab6c5aa4029865bc6e31027b3aad8a92c8d5118866405c67c1d93185147c8f0819548406878cdf5693d798561894ee794014a72eb2260fef4cb1ab4652860b400cf4d431dcf2f0ad886c1baec271ba93136370e0b057c50583d7be64897923f097853a495fb4219706bc1b583d3e94cd69003b44065aace345b355b9bde33a7b15476a6d453232a2465f3acfd53689b122217db5230d4de8be69e3b11bb141c8b477c2d182c38f13f9975f6966ceefa1e05fd2b2c4e71027f4afc5552b36a2be19e95feaeb2a09a7bfcb30dc7e085670b6568ce45b36ace0c84da87c1040f57ce99084b28b968b9fdbd24ff96e5b9f878e75800944cacfc5b79157c6e8fe189c9b4a4ddd96d9b1d1ec73ecf5d7258b3b2ef38c2883db8446eee20de30111cb0252bb4f177dc629177b3d26e1630944007826871f3e8ba41f32851e1fe353181106aee3e3de0c8e6344ddeeba30ad4e0283cb7bdb59bc32d1107ccf6eb32108dfebe3135021b23a24ca8aa53ab2ec3ba7d7dfea032102d8b3a1fb211a104199f67ab04e8331faf1ef1c645874411db9785c2cfb94bd50eafcf859b23d8090d6c6740a438424bf15b81244c427bc6645f9856dffbd8b5f7898163f16fdec112a821b1005f4e4c6ba2304860b499f846a7118c952c52b0ed1beb37b2c46b4239e65e6a4d6f134fe2d5654b3c26c7c869f1b41fd3546087ab9efbd4cdc16a76853248c571647abe62d25c6a05f11e74223493ad4e13a40543eb54e0d4ff6d77b1e71508a28dbb58a5289ad63ab4b13d9997b637ead8cbf11a71a528f14ea9180b35cf3ee9ef02250d2de79198aa569f0bad71ec20cd0e0077fd73172896244fc928209468d20ecbcd6001fa62d1c51f313fab1ec0565bf76f8f458bde1620f769e3ad6f8490a2d502b33895cdaff01a6fc6b0f9fd6ef4933c2ef01373d67a32b3733423011cc855504b5832e2499a7ea0a59bb9536756287e7b6c408018598955e65c2edc9e34136c0493644b2b99bf590a33c3b271480301b28ec4bab488b7156c0c65e31893f68caee31442615286ef2fdcb1c3e9384a8d0513a41093cc062753000019210239cac79431c9705e88b76cc4c2c5e112b8b21a6d2fdcdb57f3add5ee15d8f9409e6c388b584a1f9779565735e450516a11fd1c1bf32687ac12fe119b02f4cf13b0d940873e8774aaab41e54378a07672633471b6c728fed6e2d1e09a4e76441549610206106c7a71c39b270b27bb76144a3304997df4dbf8252990fcaa0302dc1f3622c9e908e2c7b7b9bee66f943a4115725d9c02f2c781ee0680975c4ca7b082e2ac60708cb3c0018718e5e964829c6e0094ada25c095de0f94c5093745e895feeaddf728aef40648a3f7cf376bac481a307d4c1a71882a42895dbdfb152962aa3ab29c0fa461f47132b661b7d1e2d08b925719b93bbed7ee21ae574f6c7ff8838d857f86eedbd8cd6e68ee3ef848cd92746a14047c45e7603d9a2b62bb758d817485d9b9d355995da60d4a18d4d6a8529fdde081941c2758a5fd36242c55155a25ec915da188c5be7d0a906ada3574c28ed642ad4277c48d3d157bbd56026d084b7c0aa590127896cfcecd90909279b10ef8034de13bc32a066761a02b60f3f4ebec526c8022313e547e457f8e24571fc2a441da2116aa0a95bc2a0318f8dfd4b39633a2fc21e694dab3835a8fedb70f8e72ab2d47bd43173ce2835d00f4d16220f8513757656deb65adbcbf64807ca93e286c87e49169fe190bd6f5f322a30fac89cd8d989333f3a5f79ec87b242a01c4f403daae0bc05620985d4d0702bbfbb85b229af6fc9adaffdf6efe22b7e56aa5591db3eb75837899898c46051ad92d25a389ece24b379276373919cb19b05e7de747247a433b613f364fe67de06f11a7e866b3f32b6cb37650237bef14780d370b5c0b4f38e101dc692b6007040d0f04359440753e5ebc63361cce4fab22ce373fa91a0706c651302ea992a7385514151128df38540c942295113ce0749e524531da703a3782071c1f4a1ee33e9d6f30fea26a9c97178f89f1d48b1b6d38a92830a828301ee39b8a88946fa8cd8978710ec6eb684cfea28ab1e1e23c80419d3351e3fc1413e5c54faa28316e84e3a47c8b591575bef9b68a4244119da756455d14231c27c63b190578312a228ae8fc6555d439e7838c4fe75c4c4a65b4e1a41ca532da7050fea28a62040f382937da7036950d1f4a1ee30ae8a2a080808213b322e2099f17df9c8894ab8878f1eda46a9c940aa532e209273c802ebee1d4e080e7a4cf00baac8298a871ce44ade425ef4aceb94f4909e79b8c9292b78c92ce4f3080a9f10154061c084c8d10789cc3a0a040f5a9bb64aa8952aa29aa31a2642a9590e0585d42a23485096febadc8a8896eb0e3542524505044214319c68004c2d068b9510436b7917d3aad689250de282f358d169aa41b45323b0d05d71d4d775670ac5291093cce6b18753eba2b1c4d3b6b8a128a3545e763f3e67a5543039e69034d9d15a52578451e120e2b3f5c7080c1db401717e7d1590c416de06905d456701ce73c3a8b227085d45960e17128242d1e500c1212c86511839405784b600c12e740314820d00d8d749a011510a6052743995e5627144a16066f035f9cdcb6cdb7cd9bb26d4b6c5494d862366f8a47c5057451998ab410753e7efcd0f243cb0f2d32b2bbc2f938a55a5001af7002448ab1c2b1b82c9ec94f308c6014713d62ac340172ee3272ac194f7821c7e25c088ec56d60c759e17c2b321559b9823a8ab152c4b17efcf8f1e3c78f19475d97c262e35c9478dee632902ba19c8615100de49e24f1440a912cbcce534a702c4e45c4b16c08e9c0946f4a803f4f8c789b88c46c3825152a4b47b3c9f846a5f3e1795460688879c2b17e7e68f8e158322a2014928b16304605d465301131026e57523f274f993c95da6890025b26890b14d0060fe7cd812e8e857703c7da704c5990c0cd7fb4809b1b81db962a9242831b50e00d303033489e490ac7da9c63f51429292f23e8c1188e7a3086228cc10a48c386192c3ca01f2615079a540db6f01a8ed5e1e058dd0f223f5bcc0c173c2f0c4762b8a21453e27ca038f7992c5e0dfec2817e7435c450e1585d8c956e995e3c1819250bb40e2ebcdb5056361a563a1f282a3a9a0ed5c93881269fe1302f323b33bc191e67e23c181935644151d1f9e8909ac65b7547cde2b2740ece537547dd2c53b78d0b0f46460d26eee49cf7c07133f0643c864ae763c3e99c80319968701893c905e4a0c42cd1844b8c15ae47e7041a4ddc1215ae85779c772d62aac4c0f4b66d32335df038e74e5c4cc94886cb30d5f017ee53c35fbcf01a2b6ee563c36bd85841c169e1335478e1351ce80708e4a01419078077282a7e703d5a78e740b81e30005079be79ceb13a1994b750fd00d203c752d9e0dc06b7e12f5436b8950d1f5e780d6762c36df01afec206950dd50b14158ed5a1a6b44d57b2f20394d2f9a8e1a9173fc0ae860a35a5a3e9fc85aa64a5871f553ca09295981f282a1905c6e81ca5048d19ef1c35a59be1318ee240eb30c3bb182a2ffe03864ac68c0ce79c86cc0e0d190e2383868c13777a71f21a62a89c4e315460c49071f21a4e35c850755966689c689c7cc6e92443c5c40b8ff1c261bc38790da7d3c9817e78256f460acfe427219dd7a23996ccc9511ec8d279ea0750ef00888cf1d14038c06e6b61aa61c48c183cce61b8cee42dbc070ed5f930ad649c0893d3e028224e2ed3320a30390d2b059c5c66d51d8d8737f0a52b43a9a8d3d2361d90cf68c1d3f2b202ea8ea674a50e857af19792a35440ac2a2e2733c0f40d40348e623893fb90c9f8cbeae5e5e5a5a37979215f4a4620b70a7a711a6880e1ba94a3dc27e5a854070306ca5326530c37cdb82855e13246aa18dfbc07ae7425860b07827154bac2b1aae058471ccbe42d134346491494a71c66260ba628309c86c35811f1844fca613811289fe1339cc68a88d4ca46b7b2e1c30c473993192b26303ce52987e1305634b002a34adb98bc231414305d570350e90a8c2a5af03cef818351a5f39172a38ec6e42fba15ccaa611cc918ad803a24202f460c97214386c3c4705d7714d3a962c4c4709718de432743d53152464cc048a960acba2b1d0d27e32f6a5095ae00c580de8b4ac65ba86890596d451c4b0ca8a3530c2763943292314a19c17871a094d18b8c11500cea087584b2028554843a421db988c1038271d45458e101c1383ac2e24926e258a65296921653e90ad78303c1d29552155c8fce8f40d315328e65223996c9e8882e196d513896c9571cc77148782edea980c85211c73255e9684c8d5ad530c2e41b10ca0369366e060b0f2865e4b23abda0501c8ca3d215ae878b1f754900813cd515201414a0c95f8e3ca09451ca88eb81c49454135c0f1b5cca28a504089432024d1ba79a4182016acfe2a13cb5d5b872049a1c88c6b14cfe8463995050743426940908c6d115d0e4308e60588164f218455c0f17371d81a6ee48c9815c5628d456c439508cc949ce47e39868bc14c141e95c0260a5db705c5c90b2644142eaed1453c3860f335e83339959a198f4918988490c5e698a4c494a156f032a49d97189f2440ccf2810c60bdfbcab6286671448a35b323cc6bb26b40e327c8329eab2bc50c5704e750269a884509bcf98519a71456705c732b9a95b4bd3984ae00b557745b360a88450608c5597a5592677a18ad221750e933fa088221c170ed3c550755968a88450e08c556745b3b8ce0a937752e81b93c39862a898a8c161a8983042e1d4e02f545d165577d436269f2983670282e2302d3815507765460a8f7353a9d48253c9f856ea9cc0d1504a598129f90c16537831a073de0c92e7cd4cc1738feb51721c3c80bcac608025ef542755c90bbd5901b9155077d475c93bf72979b77af2c4e64f3a2fad7c60bce4a5d59392c3acdac5850ad0a58917c03801c24051723909c1644a6d2f2f2f7e5201bda866a4f04edb4965f2cdc5a58a24702c972b260772a142550407652b994400d337f414403d453783f423236264e60ade8c15bccd3b490c8a8302d67080577228382fa955ca9fa050ab272e2b2838351a008363791c8b9b898247c386287840fe232362844877dd95380ebc81e3b60ec9d49d1ed075dda246914b8b1a45a81a45a8d4b671def910ae6b0e7581a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4339861cb962d5bb66cd9b265cb962d5bb66cd9b265cb962d5bb66cd9b265cb962d5bb67030dd3d2306afbd7980e91b80661cd100ec60ac80dd8c18bc192c78402f8e5e54e97cb4a80273d402e6a805cc510b98a3162ddc05c6c5c5c5c5e508ec9c7b71f4e2a84ae7a33b3a7a71646a71d4d1742f8e5a1c819d1fbd387a0173f4e2a8a3e9560df4e208ec7cc6d1d6812e4b378654d78d21b565c60b335e984982d7ad3813c775599854345a6692e001959a7381e1dc85e33aae8b39752793c94a110ae5b279decbcbcbcb763abdcc6cc1e34e3449289aa49898171a2d2e521e15a0b702caa51a9e6f2e562fa0e7b98bc378a70ea9cb8263759d1619d5cc163c1807a211c379899be246114dd276c39d4e2e2a54cc4c17bc1b45dd490730a92c55b268c9320528862a5e5028140a856a818241a1502d505ecaa506949742a150a8928baa06cf535ed718d10228e535d414799e0b7751e4057481721799212edcc5615c48e1585d0daad29493e904765978eec2bb2bb81e2e64765c985ca83653d3e058704d88013b2c70608705a4ce47d76599d982b735b8a938a74105e48130200ccc0aa86b0258e2fc05556344aaa66843a1bcc688ebb1f936c305afc6e8b4c998bc0de60531e0c9bb6d536de009c5711cc7711cc7711cc7711cc7711cc7a1bc221a462e8535050747e528cb142870340b45c3731a2cc7c1320267aef0364775538e7eb8e0704d701c1252952a5b9189db5433dca69ab9c2e3362b2d909841420c14306580d182a2625ad51885a06d1c45854a0c3ca0520890e0920841b78c64e06d4650705874256e860a1e0d2f2f302e30ab1b2e5d70b9128507d47501ecfc0a1094ae0bdd6ab03b6d5cca65d5261c2a36285ba93b020c8a8a05bc22ae07125c8f4645013923243ae738209414b054e45205e872a56da8e001958aa4c8c0032a1501a1a4c49436955167926919552ae52eaa192a7838356a48f14adeb940e142039717802637f9e9e5858b898951cd48e1c1a4fce41c4d12ab8a104c0e14d35d5195ba1c6c31bdf96963010a0536aae8856683c22b39106be33818dce6e29c8b37684281dbb6a5363f75a3382d30479d153354f038a018afdb294141a1563352782ecef9892669bbe93a2bc06e6e05307d03900b12d8b912a00aec1e60410b08b3c5ac6ecc44e1624a755076564eb633c0a866a4f05e9cdb6484a41c657217242e0bdd65691b5a608484942e4b12563c0a5051418d1a1aa062891ceca0076140ea0118763023a509377448a846a15caab0a24372a9a243ea9098e00175481d92143c939f501dd2067249809bcf48c103ea9060ac744bc082050b162c58b060c182050b162c58b060c182050b162c58b060c182050b162c58b060c182050b96ee6d46095ea93b9a6dc329c22915713d388e8617ef1c02291b3ebc78e73e2fab954f6ae34a4338ae430de9ba92771a42a44193cb4986c889e7b46282d73538933b016e26d4cc9107c444e74c389c6ef3aea894042b940ee12642dcb763898310c25fe6c33aeaee2084f02fc8daec1997400eb2a2e8f697e5fb63fd9ea1af2fded2f6b45a41449a67a69541d61a69b57c8058d91091c521c929b2603c960b0e50f457fb203b96783a4d38f43564390e430a90457fb300b800421440e7c38103470d8e1c6e000f49728aa1bf10cd5388de1f81709b8f86e59fe91d721c1dff9ac46d3e3ccebfe3c3b447002cc480002b20400908700920a4bb8bb477c3961b547003c407f0ddff4a61361f4d0e5612b70902c407f0b97a5c339faf06a3e2d3f0e3d2ed58f60c5992ccb8d21a929c6290f83231ccd62e998ebff6416ec712e7fab25c82323c652e1a92fbaf59597532fe181d3fcf8c734993e149245b7b5d58a4b8d29b893e888f8e1d417e9440c467d204870ed7e14719c448f463ed6e18dd5d83ee4e407b03f8c148d2f2a5e3cbf1e9b0b1b04a6d9e9c22bed9a1e387f839bcc61c72d0d143143f87cdcc8adfab94651aabdd1b1bbb53fc6e6422fda19b9f59d90d9eb23c9504b9f6de9d99f8d3e3003a882469b55aad9948f4a31c79bc01d0b0b26266c55ccea19d15132b293535790e81ab232a2dfd91e49c35da53f5e06b4f35a5891035323c651e84101f6ddeec75f6a87a3cc99be82f97d6c79fd17cadd790b472f44933f59afb425f6395cee943bc07016441001b10c090006411002a4d84f0f1c7b736e635f2355ff6d21c539ff5be908d1df1af46be28c696e62fcbb8b4f763758e34b9b43fa3d966bf965eda38ff4eafd4595f8dc4a5a5427f691f9bd7662c4e92e642da0b408e1cda0380160034010025dd4408279a33af216799c5e935992cf1cf68aee5adbd7cfcfcb1b1f4fb79fe8d39a6b23c3e005a08a03d1b906a6ca8014f7b36e44c96f57105bbbba63d1b026043d7dd3fb4674305367eba9b0851432bff65b3d7dccf9384e14ae7ec65629e33cfb6e2b7632e5f597c1ad18e8d971a2fa811f617d22cf19a91c76b58e1df32cfe9b14a85a6cc6b092b471d42929c39a1cf1f6b5923888ef66ac44c274b66983013c54cd82439455b5d1f3473e8b24c83661ee7aabd191b6878818612dd4d8420a7e8354f9293e63523f52084f864629e344c473c65e3dfcf98c6fefa0b613abe107df1efe36a69f8af0fdd6da33d1a0be8eec6d11e8d6fc651773711a25a9aeb0bddcf659d339f7ead8b34cf99cde5acb2189d39a6321fff463c6533989831c48c1bba8910aec3e3b5fba513af0942886fe8abdfd2de189d59ebe3d368f68e8ee7d0f471ca4019596448e9feeec360e54b9c34ec30eb41e2247d62da94dd57e25fa54e6347b7f9fb8fb2fc4b8ca9fd1b80f664c8babf58a5d7c29274f74d7b3270f437d6d2c25eac7f1f16434ba5b3fbf9478c438ef66254e9feb25f0babff2f7fa129abd539736b7dbafb487b31c2eec693147f749b65629d367f73ba9b487b31bc6ffcfc97763f570aa43d1853f47da14ac3100695ee56d21e0c251fcdcb32fe4b23aa53f44cbfd8f7acfa4234e62ff381c1caf5f1a93d182dba1b88f65e54e96e7b1d66bd3687dc569f179753ac79f23565e2fc5bcb1187f65e18f5773f9314867d5e00f970391d4f99d7c6f9979c9ea9bf5829f6919253a852c734d3193512240849ce9c562b488cc2aacdc1b51ec7d37d800099893f19ff1804c44182d0b080ccc41f20441607882033f1074810233493e591f1990021b2383a76942e7a78593e4cdd661feba42fcb360761b0bb77b4e729e00c2db2d022891639bcb4d7e286862a78b4474313ddfd65ea30eb377e66f10d1daaa536d7483c876a37b2ad371cbf1d1d531959c2307e512cb183dedaf14982e4fb71ceaab5f583669e4d9f95334a34672fcb183f4965b9dacfb4d9e73c1d67ea95fe2b7411cd9945f2d54872d6c86afd5aaf919f9fa4cdace8e38b1ec6f02cf4fbb2fcb2218fd5b1521f3f536c693fd6177aafe0e735e3d718c55e43ced8c4f8673efd65b4c850e9fea6d70f9a992467cdf8b52c65d9c7910ad94bc3d4f13facbb6fb427b3d3dd49da8b0983d75e8c156292e8ef2fc53fe25789bd46e63bfd876c8ed529138fe4fc78adce3b637f1d975ebb1fab96745bffd2d2c92fa1a13d183074f76c0f260902b40763616ce81f4b52ac14530aa3d9569f3ede39742d0c663dd7d2c6e8df17b2d85f96efc3709dd7a7bb91b4f742029bf65e845ebcbbbf275f13d3d16d8e554a9613f6a3eb5fb5390bdde6a3a943b606d5d231f54c7b519c5ea738737df1af676c6774b462fd23393f2fcb2cd8c43e3d7f4f77fbd05e6aa7bb5dda4b05e9ee9ef6505ae86e6f0f1584ee0e6a0f15a28674f7ab3d972ab854a0bbc5f65c6aba1b01ed9da6806aef84a5bb99b4778ad2dd3fed9d6abadba73dd39524babfc75326de927624e7a7a656a7c3a8d7b8cd673bfb6bf3e17f987b6dd26422950dc1acdb5ca9cd57cbb4d9dbeab579c4bf7f58cd661f1f975e13ebdf5b8afeb23cfb4c3de34b615ffd97dbec369f8e1d238f08865ea7dfaf1f835977d05b61ed4e2a52d8d77f856ef3d526f99795e327f46bbd86e663fd9086e6fb58f34e255e93ebdfa984a5e327f47f798d24a74869b5ec244981f02f137dae56d4f15698f18fa1db7c47727e4af189dec73a87e61d65993ef99ab4297e41985ecff35f5e9b331feb63c7639d4e9274c8efd3eccbb2d7d429cb3efef85f1dd3bf76e6301eff1c663dcc744649d750e8d7c2bc36696e737db7d969a5d784b3cfd4e5fa878530ebd766f1853cc421f51fe7cc31f51f29aed673fd596dd2fc5fc857e994d9ec954e99e8e4142de92fcb3eb317e6383fc6d37f66b1e76b694fbe4f77ebb467124077f768af8485ee9e69af448557a2a2bb5bb457b241772f69af44f687f3b5345a89dd33fe3c49d74c240adde61bff45af887ff458a5ff724c5fe6e3ad50b464e8365fb67689ffcb332e8f782bac3446af0ddda6bbbf23393f0eb35e2dc5f78564b1d25e597659a6433e7e9e22ade56c6645ff97d729569af18f7e27598a34df49f3e979cab293a4cd443bdc0b67a4bb5ded755ac8334685e697e414f2f0ab4512faf46a3da461d1e61daa65ab552dcdb424a18f4f9253dc5e38dc14a5732dade83b04f1faa42bc39e748da4ed9cd04097989c8e90f1e83bece034acfae4275e3c812372b80d8c7cec3bece05916a32ffb3e36fe10dd1d447b5c37bedf8fb6defcdffcbac1d5d22c3e495af1e6003b74f4e0a143dcd103c603f6d231754c1f399ec7f4a163070f1de38e91070e588f1f61b01d39dc881997f726013e3c39a01230c78138d148bd353e4927ec3ec632dd2e40d87266b4b7b9ba3b467b1b95eece94a4610ff30cbd0da7bb65b4b7d574770ded6d42443f56eae414b2b3bf3be0fb8d767623be108d63caf2faa403f17ff9489656869da6bb53dddcd8dd34dadb4af87e79063b75f7d65c5f7bef7b9d3e7ebd65feebd5d23c73fdd993b419f54ce7cd1eab34e739bb16e6933b75b70ded355177bb68af93e8ee214bc2ee0b59af652a4eda14f1fdc417720dcd7b235e7c235a929c37b53bef8b92dd6dea4addcdf11045093080c190d40c2b4ed044f183274a9e60031f581178602186dc61a9acf0838a1743a88f0c53ae4042466089d48f154d087250f16246025f47c33a37f00064040112a09070da82044c5b292a02bb3b25d10026c8e425991d6e050465556a104ab72100a69dc09850511cd000d0c97606230d72ce953618944aa5926fdb16b479c95d9c3c01da1c01504e4f84b8dcf91353677a02bef826830028202ac814645a059ddc64f2d2aa03e27c0b2a397902964a5dd795ba52a954eaba924c91169c73bef9e62613c0f4b66d1d90cac9665aa94a7e5a09717ef292ca090d30885be50e3c79832f2b274fc0946fa91550c981502b274f40975550c93937759b77aaee1620e7a88da3010caaf3f1e449119c775ec4e6257ff2c49328468e63f249b9c98b40f98baf9e18e138a6d593224efeb24aad8a40ad8c1c672be2b432ad3a6f2fe2b455cec8a814c5a8b432028733a2e49b73aa28464f38e1010c32a2b40a94a4b221b7d94127551a674ce98bcaeca5798dcc769c41a455e244ec5ade99e7f8c368c599a70e8d083423684b6838ec91b5d2dfcfac38ce1ba395352398aba556029df1cc665ce6cc3c47d7385f46a3d91ea962f8422b1b0ae9a4d5fcc366e3a4d11cd684ff3057e8ff309068cec66a5f758aeeefe562458286e59892b1f62acccc8999acfbf3215b45ffd8f89e27f8fd2d63b21895c52aadb5bc9896a4c8f21fe9ac4928facbfe2fa779b1c6179a329ac922870421053d11f4d3fde130749b439c53e991108f3f9bd1b15a9c9a98137ed5fa0bcd27df3f92b4e2ebb8c66a5f417c80c0928cd4855d40579ac72b1090949ef807205a37ae64295429500fdd3a3c2e03623d9ddd5742f3d774789c1e7537b5d2dd74896efc798e74ac53f4a187b9b53e54882c8b0e457b694eb319bbac02b2b2bbbf3d99d74db3779cdd97e55bc268f68e310dc464e4d75cda9b4abf253032d0f6601680f5d0dd5f589be28f2e17ad3468ce3c87c3ac83fe551bb397e6f7339eb0fb439674f0938993863fe99de81c8c438d12dcf32d21da1ba13026d1fdb988e6cc459b8944353253919234a2f7b1366736f642f6358f7c3f2bf19cd5ea14b1204e11c19cf65e49af1fbc9ae80f88d06dbc46cec41fda9c7918b6c271e2846e7324e7e748ce0f7ee5bc50dd3db63797087f56e2bf99fafd0cfbd9cc8a7fbd366779ce4cc572fcfbe5c49904982dba1bd65e7882d0f5cd3c75befcd28750c75b6ef3d1a7e112dbec236933ccfa7da1da247f499eae5c1f8f8fcb9167dea9e4da7b3f880c4f22323c6521912ff49a567a7521b5abcaf7a2d8a792234b8878055d44ddfd91b31ca9101d2b75f902b404593f92f37305970b90d2fd59c90288ba17f0d3dddf3871168063012fbac78933f2b45ae20bb55a63c62e1a1e7946ea1a1f972ed77863953651d2fd8d7562da04858580e2cb2f9d0821040e415c6002410809c246103014300405604001a20278e8eeaf26f15638e6fa423b1f2eef0b8547bc15fe10ba4d0b7fb5394bf2a1633c6964ac52910addef9979ea8cf3898cf3890c41b14bc8d25c447386c4e56af22301384880944e80925a26c0bf23393f75c8eafc68e9fec61f2bffa23f5428fefab11f5a77fffc7cf80707fd417d3f04b93fce27d26ab986be02f103fca4584b87d9e94a6478120972ad2c97609068499c5c7f668fb45a3e43b666810916260e60d283c9f603163f88e007f287193f70fd7d617eecba4f8e75cade556de81f3473abf5c3487542875996e798d1fc2bccdfe3539384d322617998ebdf97559ed0ff158e96de57322b67b4d22361ede5b4d9ccf85f19878aa7ecf194d186a0e4ac14e622ad93c6e3f769fe62b5efe30759a14a7f46730f2ef3ccd835b317e6fabf309b7da8747f3e3fdd6d732d7fb4e743e3a3b199e53d547c34d752a129fb17a6b31e27babf6ced63b047ecf168b58c9f9c950af9aa151fdbec780ef52c89c21229ddfd616cc99bcb5aa3b3e3b97c0d612b1bf2253d2ce9ee8f06ffc37c38f2018aee1eba31407b3e1061a279048f3f9b15890f446cfed2707c40f593e5f832110b39d8ddadf694585132a595c8baa9ccadcdce448901babbc959cbf4ffc25c435f5d435f5b2d1fd2da57922592f8906408922cfaab4df2be909d95184fc79368e788158ef0e008058ef8307264e40923a211af485211a4224b1481520407044c01013140c045400e9e32747f331c1db7b576edec675e6912b771f720f1aba5998ee3f41a4eafcd211c74ed90bbc2b196e4ccb8d4b91f8bd19b97b886bebaaa6db5861e494de2fe244961ff723a7a761bf7af9629d1584bfbf259be6a73889c43f3baea145da1dbb8b7967ca513551febc4e3cfcce336dff7b8e8b9a4557a9f666bc829d24cafe8d9569cebcfcad89d5e75dce6bbb606871b7e232d9d5092670a1e25faf349926489d75e33e77bf1e533a63d9e13912a448c208263c813861c31c435e4668800841041c8901001ecfc60c7a807e0fe657c29c6e13e2ee75fcfb84480d37c7933cb69ff41feb9ce3bcb8ce7939e27d1e7da7da1779ac7e484b1a6e83578caf0584b9893e474cd27adb5f9609446c5ef13f37b0daec1f76b75d65eb4bfb4d2d66ac69f7eff5543137e7973f842949c2eda7f50c872fc4175e629cbd8f5e46bbabc46563bc55cdf5f96776ce854d1dd3bede96c40a7884e29e7a8bf305b7b43c794267cb15a242caf2127cd75c8927eadff5fd8472fcd5e1a6d3a4dc843ce6c7dc22767b6d95f962d262749d26ffcbf42c2f9ca212227494e0f385be8ee6fb4b2fcb30190b32cfbbe2c9637636f95b646801c72f8823cdbfa4dc23088d913245a234b70b578fefd87d51fc25e984bc474f67f61e3bd4f613c2f741fff9291be58273971706cf7c85106c14a5a2d1f204416c785a7f84c0ed01e18a5fbcb38543b8471f84194ac3f74f78bf67ab8d203047ac0c183153c5480075a87e367274bd8fd2127c99a904726e68913be2cd3ca3bebf41aebe31f7eb1ce8c67a578a9e82439839284be437b418210c489203f417a8715ec50b483017cb407248b2f7c95d835fe0cf11caad191e3869218c5610ed7485a19fe2bcb2e9ac972e6c2250db6a993a4d130bd19fff55ce7908f5eda5ac635227b69a167b1b4b5f1afad5616ab747c3c5f36b55ae25ada9ac378bcce58b5e49c34fffbcd6ad58ee5639a8f0f24082037b4747f342c3c5dad9685551e205a2d1f57b676c9eca13d1d86e810c3062d5a6b26872d39b82007a2fea8e7d0e4b0920821c999f378e2b45aad96eb67f3c2c249abbd30cbbf58a577666baf630ae3f968669ee3cc3ff34a493a8526cb357ee8ad5c67c6d58afe2f12bd7bb615dbd4ea1c8f9074c2c4f922497bc5f9a4950dcd6636c3eccba78ff57b72f8f99c4665f87e1db23c39e0a87dd0921f5a30c5487e4c3122f941d4fde1da07f9e749458bf19c51c73864ea167bcd0b51f2b1d7be08ccda4bf3d1041f2cf021d4dd0568cf87121f313dae0c69af87057afc74d738cce29915ffe5364ff00b71ed837a0e1083ee66b577000a1ca0e70037781c81c7133c12c083dbf1c40e227614e9f07e1d4a52fb22a1b7467a9fe62dfc995e205e3a6e13d684b8f64532d12309bd268425197998b45a3ea1b7f0387fc94b8788c21c539789948547eaaa7d50ab856b5fa4d5f2c1195b11f40f3fad96bdf641957a489323c76d3e199e193bcb6b6416ff529afb2469efacf36735929c252e593efb8c6b18ff1dc7e918075cba0e8f5f9be7a456fcd767a2af34d7d2b3f830d8671c2e0d66d53e083fc64bc839bbb6d6aecd73ac73e643ce6bef7d2cc39348abe523c353666195c7c22a7575f70dede96842479108ea08db2ba8a307dafc0beaa0d14fa34d99d72439b4cc9156b6c21c531ecfbfe28f43962479682f8792fe669ea3cfac68536d753c65433e8e54a4654f77e3b487e30b3ab48783c9926bafcd093d5629494e91ee88f366222138887c3c1c3e38bcef87f2bf7c36abbfece605ddddb15bd2eadbfb43d8549f20b50f0af2253999d4be0810f199d4be0849d2d77d253f5a91478fb2bb01d0de4d0f34eddda03ad3d97f437c387c356c7ed0dd46dab321c266fc6af7856a685e88e2ea98b65a22a6b356cb52170d878e49728a2c0f697a5849426fd9ecca8f5d758aa1c388c29eb0c70de039363a6c687487343982ee9cfd759bfa41f3487783edd54ce12f83813554ba61f67b6a3e031c194089eefe3e4fb214c929ce5b8ae2fdb1968e6b1ff42a312edde66ced92eb0f84dfb871e3c64744617f6938df99f1c4b3cf24498b1800bc71c58d29dc384277abdabbc182ee1e407b3728708348fb17245af24592252ccfbf1908ffc6fab4cf73b8cd4723fe68c51c6e23cbb1faa48739a1ff7dd990873439ac24a1db7ce18f560cb11d3d9776b46290f6689268f3658e71c8f567d55e2a54df6be46bf61883af07e26393e630ebdfb3f378ca943c9e321a1629cde699a7cecc737cb1da8a2fbe3f2b71b562aea5cd81fd129ceb5391c260259e77a7d5f259a2e3b2638983b45a3eae91b4341ea644ef5fadc3a88f4f494c47d2ea50cb34d71f03be03101fe96c5ba9bc37019468583a98e460828349f71680ee0d00dd9b0ddd9b8deead46f736d3bdd1e8de66746f32bab718dd1b8ceeed45f75643f7e6626bd1bdd1b0c56c2fdd5baa7b43756f2edddba97b33756fa5eeadebdeb8ee6d3b8319babb0c64d8420b8561379123b0fa836571d2663627c7086568199e4052dd50da330291c6f7bbf100be4f31be9f48d46a15210b9d43c86d2e47f25ad87ddad79dcfb89c32a29d1ff29c5d2ba408313ed6fd031fd0a02b0f6d26fee432097e7abff401d348fcb1a9448627119f99a7cef8194f235a62c4d0dd61a0d2dd60e80a0cc108bedf8bf5317e17d7a2bb6bed090107ddf863e387e1e841a2cd53a7f1fd64b56cb5821001cfd3e6b45c2e2449787a96ec3071ed0c019724f1e971b95a5fe86e2f743716dd8dd45e10707841b8a10bddcd852d00c10a208ca0fb65e30fb6d0b71c872c091369cc1a996d323b9042777fb53a18b463d933d6bec848c7b2e7070498a20c78baec58dab1c4533c693b963d36b4d97845776ba1bbb3d0dd58e876f94088b764781219e7cb6a9992335f7be4de9da0243b9b1118384108bac777a2c3f843f65efbcae56c461dcf210aa3a39de930e9cd349b3d4fa2ef8d88c69f6b64bdd35fc8be787eb44870749e5e1f1feb6cb55eb3f2e6f4e6a4bb15d01e0f5af87ed7e6793f533b9678071d681d24c1e980a8db5b282d4ffc480207b2179822286acc0a905a005296eeee1aca10861ece7006ae2406d31342d39b2af0c5aabd439eeb0ff9cf6c8f7ff855629958e7c531f980d24a51b40e1b1f975dfa4012ba2394be920d0dab9669b37761fad53ec8a5d2a193d25d5177970338f019bf52b2da0af656001a16bedf8d0ea11bf1621d44aef16578923d639eb45f92bf075b2319973ae30fd9b1eedc40093768720353f3f818219a47be19cdf81d367ab6489e66dde62f7ff5a1af383e1c9f0e21b73d48fcabb366f6e06a1d078996ac55d03f3c31f5af46568bc3109761edce9bab1543c73098fd715e8ae35f189636011e86a113e11e24c8cc53c76baed7f4009951590f6d1ee9f11dfc693506f8b530775bc330dcf101b8cd98369b448f33ada5cf122395e7852809d2fe8bc42a9daf2345d8ed2d57554b1f470a25de9222c6932255a58afe3c880751015125096fa99e7c015145acd2538588b76a68b457a5abc24591258aa3f696ebbeabe6c65bb0bf37b82469b7c4ae9a286a104513e3673afe155d95ba66225114a8188021065474378d8be5de9279a56e83ee8e010330494e573785010ef0fd72397b8d30c0d12ce86e28ba7b05ddad0254773be10a41f61d76f05b8a5d48c30ab22e4c3f1aec4f685c5e83590578e235aedacbe5fa70a53be32b197fbc53c45407ec11e2821d5ab083eeaee9de36d05b129556a05afa8405541ab443bcc622d986dcc67a9b3dd1dda56e277afbf1a0b0a275be6a69a54dc2562b0cc2ff7bfc0b4387599ca70cf4efab751d7aef0b591afba14faca5ad354fd950fe9a675b499266ec7fe70ffe1707dd39bb9fe7d037b157ea98de3bc54a27f6b1ce715af2657f68e697753c87e6f558a536cb306d56fc9a98923363afa9b998e6fc98ca3225e7fdd9cb687446c76f12fe6873861e4918c4ccf6848e291eafad3cfe91985aafa07f194fd22fbd8ea9370931c5f7958441c0a84c9cef30eb639dde6afdb5a28b86bde5561cfa8a5f6cb2a3932427c8e522c91f0aa2491076c86ba68d8de117a2b16a2d760cfa0fb14a69b424359cf195c4288eb53e334f1d2660b64832b6447ab245025a2463fd61091e3ecfdc13ab34d729f4e42f095daefcb11b2c41a4aa5dfa1affeb123a3ddc114b74ebd8d13d9b904007ddfd785ab207dfefbe6b2612b946a0a59160700443e81e41d95fed830ce0e1c8f3b49a4fed8bfc07cda10f5dd586773e293ace1f9389773ef6da9d95be7ec862ec99f641e20bf9d3b1f2f88771b816e34a63ff72207cfc32e36ba9ec5f1eabd73a7e2ad299ad567c8f555a23cbebe31f86597b95f0801649ed8b8c3ab8f6452c921040c9f6e2fbd9cc44a26a29bed635138940e0031038d1de1a2b0df21a6fb5ca6e0ae03074777d20cb0780f081087cc001dd5f185a127ff9b1d75e8866717aedbed0cebcf39653891928c181166b79b3d7602a44c7fb63120770e0ca8f5daef187a0e2acef0120b4e7e95f56a2af1e1081078ada5b9e27cd97b50f6275c7010fc460a003441aa8d2d9bc93e663c78e1c14d7b04d0a50d0dd4d74f709babb89727280283fb6f787f0dacb44c51429f733bdb95654c2141edd0dd8c00e36a0047e9226a4bb53a6ee3eb50b1fa268173e5869173e38d12e7c604177d3e61dda008df6166dde21b7b956e2c42a1d494be4330fd10ecd5a24f7c76b5bad1c4216c937ce97f9483e858d5e79dc0819a041372e9d3c0e02e48a95162103b8467ed8ab1d6be62d41bf5688932f8aeb639f98065d3b34844b5cffb195897e4b9b00fff09d34daf472b497e6376e64181de7d0e3f887693cd0fc31a73afee5b80b30d0448b4fc344b9d5c2f34e9a8dcd3696b4d8d5dd10e8ee07747794ee7e801dcb9e21e2d37a82c427f209125f9643d229e448fed89d3e3d394fa3cdeb533f68fa3cbe3ffe68c5af8d8fa436ce1f72fd1e50ca13dddda954ea65fc1c84bfcc27954abde4fa423b5278742a957af952a9d40b8dcd58a70dbed9217463e9f761d18eac2638084fa5522fb5acb9f2581f578086fe6aaf5c27bd53c8bfda1c1f929c393391c835d6c714800205ae782be31f4bd7675b9180c10f42c6fa3de33ff99af5079e6c91d4326db6f34b7270adce23d6fa8c1347b446c689d36391f4802e6f0249e86e5b1d024a4ca1f3e39948643313896ec6f9f29103c7ebe6c7eb98cfe30f30fad001fbb103070f1b9acd046e4c2046024190c00e3a0c853c0c93f84773e386cb445aad7b05aa74814a07a6d05d85ee2dddbd80f624608303ba7b6b40775feb386833e319cddddd756f5ef7e6450089ee8e00d9238d804fdd31e4aabd5c231d23c0a3bb5a1a01ef08a0ba7b74654b62a32cdd790aa171ed835c2fe8fb41d70eb960306b34e5f32c6aec321a1b7b46468c78b4118deec6249df947d73fcca8d46d61f58aee3ea28a23763004258f70c2d5db0a8e905952bcc1373fda6a93bfcaf09c1df1d3de113947b0badb5b6ef3387106d0dd3474b71b31027c3ffc2225b12b56e9bdf9d2c98f2ef185309ddde04ce70d6eb5ba9ba83d0828816f64e2e75aa677d26e6e5a9896b3ccf3f44bd25c87f16f09fbd1279424f4565242f7104eba3f50c503948000aaeb2389a284f6567d6fd5fbb967ba3724bd0531be13d7e1d2dc6b2fdfa670a5deae44d9ba9bde9ce3dba1e3c361f31a6d9ede8cef27fe682bbd998827bd057577d8de036cc0f7abdd5cff863667407ca4b399bd42c68f558a2d99337ea6bd2882f84b27bfa43e2d49ced023a1cd2e912c4e207008cdc41f223cd71299aed9679edacd75a7b3d8bca41e034c036ae8fa41e27c7da53271ce6c6ef00bd14c67f4d26e7ef4e80183fd8f9b1c3a260e1f3b441ee38e1d3c7ee0781f369fe7cdf855e27933d14e0f49ce1cd055b65a22bd5f3f46db19bffed0ad81a2228a466fe1a799ba041a89ee407737690f4a12fa45c94cf436f396f306dfc078fce8f1ead1e326478f1c1396c3078f1d3c603a741c208703d8dce05cda9b4c6350a4e856a9c8f9d8e79212740afb99edf96a91f8e8ccc41fda4cfcf961dea9c4fa58d2f6f4e4d0a80cdbb1ecc15ed303e45af2355f466a99b45aad962b8be575b9ea8f2395b9286dba68b8d582918fc75aa624cde5bc93e6b2d965498b5db824cb59293e76d9b1c4ae6a290e02a4d50a2252f2552aa1d140eb33d6d2e2b45a9fe7156f703c7dde1204326f39f3078934f3544b2b259a33a239c3d7d2fcfaf185680cffc3aa756572cac467321389c64a8b3cad965dd76617d19c05014264715aadf189ecabd5cad8ce5c79ba820401223e939d275fa5d519a9ebfe7893fc1014bb88e64c070ea12024397380ccc49f562b87d0f8e37c99cbc96cac74ca72666575b95c252b5ffb9a6e539b64ce92ad80399cd3f194f9648caf7ce36329b0ac6b79dd663a8469ec4ed25f967cd17cb0774b6c65f7a8bb2d92db447fe30f41e78f56f4b9b2ee6fc4d422b934ba9b16ab019e27a8542fccd6a924269d52884630000000531200203020168c468432c164987208f71400057bbe60924819885996c320848c51c600000000406000604030180000cb91df169d5f8c84d0eeb469a280d298ff62eea7c8bd9f48aebe6bd604b11d6776f30b02ef7b84baddff72602456e6d0fd76bc43ce4b3baabd04ef86f05a07fa59502f099df266e7cba5663f91ff4e2664d8d3152aff6ce1d9d613a9bfde3bf659faaac6114a0c5c7ee4f14812e8f3ffc023e8772aed8e38e4cb4d9d20dbd305781cd5c73f7dee899fd22925622923b1920ca59fb805037e6b5996c5e0b6bc4a15c741c01aaf800ce3e8b9dd91f06177530a358a8bd366ca5d29423a59642f507ac2f88d6897ada1e5d97205d99fb73d6edc41005fa575874b63af5b68d21140bb2fedde59129e4e3fa14d1145ae65d9859e8a8336b7bd0670752d37ed1457a99c37e0aa6e32b6f791e43886410706669562de9aa072c4c84d49d0b65979b7a748375bf40fd708f75345450d42c2a41f41115e2c1f8e31d0f1f814f2dd02f05346c0ec911262b8604958efb87d1026fa07d39f33765e8d37c797600c57eb559dec62f607bc844a2435299bd95cc443704f3b2c94aff86c489c4141cb096a5a8a5e1b8890f026d29d1ffcec914443f149116119da7e849415cd203500a3b740cb5ee89f878b200f037d5bbcf8af26c874abea3c3cf71c376104ee9f1a322c7a1315383ab4523c8486421757c39902a0b31c884e5cd68bd6bff5c39c9c0e301302a2a8749b9bcfbd5490bfdfa6914af1819598de7993132f340e588c026b3583106cc70feda195951c3a2ea597be51f4a9b6879f06d46253e21802b5d72b635ad98f350d7c058803b20c6e7be9cea897fb820141053146e1bb35014c2a479ca542e2ee432e6119adf9adbb06f4e5ed7544a709290e05e48953db2a51810b11f0339b57272a125e31837874bc58c9a592a975eefcf0c99e9c07cfd0e69916f69e59b73f53939366bf244b44ae8ead284a4ac3a76d6981830b610b7f9939d9c3a609d870b852ba598224741acde73008f4be52f94d713a6cb0739e0f22a2c9d29106108e7c137688a7bb65a913ffe3cffedecf4b4b10be4fbe18acc08a7b64fdde4cd9072396d222de812600afee776bb42abbf5febb76a8a63364647e74a5d467bc67bcfb1175fcf871dbc1f7b018eb1c17de48b514ac844d25bf4eebe266b807f3aa58cf0ec9f33ee7f7202ce2179491225928b329701b19a0163628fbfd3a6a1f69575fdff5d00788055f1646d76be87de63c7b208ee33f87d5dd868f76f0ef7fce813e8bc801231cdb883e05c8e312461f300fd82480fac6e2b0ab4e893275af433f5acfa341e0ea6f3c6b11a4d744e5780aeafe8e7ef774b16d508b7892e1b5aee2bbf7b579ae3ceb8d38b95e939cd93cfd8749b2c85fadc82d84337d0826b566fdebbcd06ae4d0579d44528ed31fa56bc4d8156cb5285d21238cd77b1a75190743e4f63a9d38b9833a762f8417fc86ca2036ebc287f9f1658b669c7ac90aaf9dc7b17671a9f48ca1b86999d091cafa5b5d1f24d8179341b9c7dc1c0c8610ff0b2250dee692dff90dc6392439450592ee7a8dba235781a5bab318d4592bf866d803d98908752b2a17b632fca603c1ddd33c3086f5c96dab05e133f1131a51fc74841e6556a66c99621504ffc58b1ac79af7d742828eaddc7ba53158bcbe35d8c3290bba1bc08e6d3a6f5232e715a152200ed4560a51ed9a8b387b22a46bd6008c079edc853f287d49fee46318e07d8e3d9f8b05a40fda08bed3a3a038885f38dc3a180435fe64321fc0c124ddaaa52bf5fddf30de54319421b103498e72673a7d4ea0a517c1bf490d81a323ea370386eb3ed9677b9432a75cc4199c17902ef2daa4994aa85e533c851a4fd91f7e3fdd826cc12d394d12c9e3b8b4a0e05481b864465071b5d60a7cb26facd01b6be46f03eddf417e8a82707ed00a5de82efcc5faea59b602fab0e6e44f81f47e62b01bbbc07b7dd93d1703befbc066718561593482760b78fe63fdc8a37d31bdb421bcf1c07c927b493969b92d794037e63371e68b3cd3eb9c7d8fc7782da12d53c1ba7e4ccea3c783e6e7f2c1db9941e88307b69397137423207feb20c749f622b1185f719c700ff8424d28b5bd1c3e1d7b4ea288f803470532c7bc19fdc25f8c753e2cbf16a27c7f46982af196424164a0bd94414fb3c17cfda02c2b667f99fa14671e45b1bb8d5919d2baabc18dce4ac1a2c351c907555dac494f6a236de9d1f720d27dc170f2db0bbee3711f5825a6fc03891d92def7f9c33a5c4ac6ed160338f09ee724a60ce35e2046451e4b604fdab2cc537e92b6f148b80f837f8b732441bcc142de161f852650e72186ff3f78cd9e0dd95066c8b09fbf2e4a0991c66e60ec59d9c139a1a74c9362e83114212e4d164cdb751eaae46aa9318428067718eccfe87db529fc128c8c2ac600708977ccb1b72b18cc2fde8b8118091bcee0decfeccde468fafba50cb84618edb2a98add4cb45193fc7c957ed8c3acdfb35840cf89d47e8608d08d31c8685d718bf0bc55820f0f29c3517606570e4d1705b452e18b829c7a84d489145e905eeba412a4e9f967e2b993fba76470c15a4144f3e9d9b434b7d5616c26fa6214b181f6c0320471441623310d23bdbcaa012437c67e645a36a6239c84c9e9717f133957c08065705ed6b7b770b7fd32a1850ca369ace0f8b56a068a9ece3873169b0b6f48687f859c084d80b5ef27f1e05890ca685c981b800afc48c6ad8bc2df702ff52eb3308e9e198d8e29da96707c3982ccb74f5822409dba713095059c900df3f0a8e48d585f04d56be06af5040e616d5e4700a174d449c0938079c47c59c463738271f9e3fbd2e9fd6d3f4e56419c600a72508d150aa45c8972c783491d0cac9473aecb9e18733d76f43cbcc0d78ec586ae72cd502fa79835e0a481cd106b646483a910977c20f5eb4a4c88466d5b22dda0e25dfa8539cb15e25f20bd878fe46a4b47e31a23d09816bdab5e71de9faae00a24c2dc8ac3ef4ca855096c9a50c6fc564a93c8de130192adc78a950440381b10efa0946cb150d19f5384ab2319ed680503953c5395f0261d27afd05d06209bc58eb404ddea2fa877c25c82d84c790bedcd0ad16fb600a491b455251f9ef083c302e6201e2d9b4f8602ae11c2ab8fd923ce24809508a688d1889139881b76d4543116e8743b50e1f3c32c4556c093bf1d0a3f641b84a5ce0ba16ce4b46370e97728573be54224943d118239a8cca78d73c595ee42b7967249fe8438cd1e5e82cbd5b3cc44438fa5254a430556f675be645d85706cc39ae78ce8ae44a2448f49f71dc0ed6f4c1e6767022017c81a7ea470eef5f407941b0ae86e45c24dc277456a6f02ae3ddc1552cc5d9d88fdda88c4bfb9d1330110b9a2974afef38996f2fb93c975970f6990c89299fcf1de11cc6596cb453cd7790c196b9c6647099d280e111e9f301ad7b9c1e0a0b081c90dcd6c8da3ddea675566068c703870492a6863af8f88106228a13a1100b448289e1756bc8ea3bcca1f3d97c030310116e08cc84540a2fc0ac4d1ddf08ce8a2673435d0cbfe20d3710099d0cb91cea81afddc66546a7eb5506453a4ab6722ade1af9849fec8ed2f7e6f83cb19e5e8036518081db25032f11e9678b79bfc1b181b38a48843464e3a1d67f1dfecb9ec39783f343a0a73c6fa0d74e5d00d02500ecfd5f9bef373547d307bd8748c3bd85864325be20804b1d59aaeb2f16b2488c4b07a0cae72a64d49f2cccfb1091d952943835460bd7b9306cc357d4406ea0711094b7770c4c90f13c16f434cd911d84f4423e4eb19b6337f6532b3457cead9adcd6d86819315acafcd4354569b79088cfa43953caa6d215f6557e077c943ac512ad584b11dce54646368865fd6bad88fd4017c618ac547a9dcbf500e16acec18486b46f0cc63da11a2a766072c51220908e58884fe6e8e4786b1b84cb522da1cbe65d5cad22997ba5886a7f276f93aaa873ba5d29842e4cd07c518cbd4c25502dd5b4c490bafd7a2ec3d017c30a0a4a218a7b48ab00e64bfb0e9e635c03c0797665ebf4a36cf0845526e62397f4623e687c8c2ee5790618567b2355d06710876551eb3547a6594102b001a4d33bc6a1a46b661b0a261b49c1d21a0248e615db27468239eab3b51d109fbaac091731ed2580bdc3749b912d27ff801f766e02c9e8a651c4c46c5c01842ad297992eb744d4c76fee14d7118b935ec9f9d5306f4d7a7c93ca4fc5a3c678bca8c7d49b595018e2f31be58e3f8530d87302ceef42558d6b5f53043cbab621e2c9d475d5b6c57ab5cc70dbc0b51602801a343a8c2bda0a399adc56508f96095893caa5358caa1defe4c920eafaf7c54d8162275192ebcc0e1f9d1d164ed5cb3bc651a86bc4d0d2f6084e7c2f882dc17dc4d66c1f7c7eaf083cfb1541295c7120e6b4c98cdec80a889ff569e600aec08188749647a8dcd76894c8a4f5936be48b2ee54401d7d599a98e35608e6afec516d711effa0d0b466e4b0686a1a39117d4b2b3e9a49974b55b28b1b841675220ef961aa0e214c87f850a98c0a2c6c5306c424e950d3fb051af0756c07d13c242587a24a5f003a464b6259247f9831828f69e52763c55a4fabbf4e593c500038701d6aec1ba087443aa509100f9f4042c2d6af59e59a7d47772f85e0d41af6c3702d9afd4b0a145a7a111c3f1305045f65819ae66f262252d03fc5293d1b3ae7046f0b997dc92f920c87f537f50d75a798d65c942f69208c4d95e1ffc4c087afc1e3ac2ef49e9628b97468c54da6d61009fb9b1b7de15887a4e8ee81c489d5d14d741315245b01a75b20d2e6d5660ec9801bba03b6b669158bed0f2c5b5e221397e280d05cd105743d75d57090d1764f7126d2f568a3f3771c9b67a438d8a70c8339ee62be16a597d38ebbf3f8bffb99c93933e0e3d6047deee5cfcf439dcc43bd6501b8e1c76feee93bd6e48db5b6795846f8de202a4445433ba165dd33726964cf82c92fca50ecd89a4aaad88e25f705ccf003b51824850d5231956f399454b1531873c0b1e1b12120489d28f95ef4787698696dee8b5b9def4a0e7f7e110176a24b9fa267cb0d312232f21ca3ed918d9be2adaf602a385483aa44849a15392a200c165639bfad72ae29a016d28f66a9e7a8422ef28ce73c91d4bac4cedc347facc0a6d13131f8640a7a1fb9fdb0a859a94a801278fcf3270e8745fd65294305b61a89b92a8c8d30e595293b594da8edd1e85157bd98bddd6db08f4fc534d6354e733b56789c256aa79d017de7e6f97bb9251de2437e6d7607e13d71956ab7302555d2ee5dcc0f8507f176c9f8dc04e236791c81130b2a8fca2fbf8e4245442e02a2cb9201a9f698d782901d80f9750f16cd7875934cdd099b74613efc47ea8061d2d68d645e98e5a613e0dedfe6b8e46cdfc114c46655f1cc1ba11f83cca326ca3c33c4a20dd80b38cbc9feacbb1e740112565f02dffe911a19c0b93764048e63035a922b9ddf0c7cfa4d57d32b84a304c140cec6f9da5f175e35e36643cb41afda5f057d9d02187c3b8c516b24f31123cbc3f70eed62437092c82e4dbbb8ee03361e960dcd9893898a8dc94bdb7d2880139645721dea8402cfe37372e07a667f60fbcea7a2d0bfa6383e396894f89ad8be62d9ecf3579ea31c9fcbe4d6eb8a1838ea98d656b7601258e593b0ec6c160af8e5da54efbcf4b9dec778779b935d66a92fd49abecaae1c47326d02c23fafd1a04c3c4a551731eb57b9663d1cb06f63fb374d8f7c8fd3de8f1f258c33c303794f7f81a5d1f30d25860ca88b1b4dc2fae9e9d85d46b37e54e273bde19bcb0810283af9ab54ad2bea93eadc08a11dd04e561f26300d4a72ee258738ab4e51b8a3067a0dc6f0b1d6c244dfceafabd9268023e2293489fc1607fb5017b89618277ea531e8b9e21b855e0c7258062960d0ff65315f2e72a501f1d975ce514c51e4b9a39a307f3d62c48321c59755b1ed8249cc60a14d6bcbb7dfc27e0fa57bccf0e4f7984e4a769f16c1bc9b9c3d9f3967d6f1b10c87b5940050a4581ce13a25d61c5fea7940b685b004d10a03d2008e733efae098c1f62e2f94041243108d7477791e73890348510045ba155f83755c6b95d60baf9dee91cea7e1f9dc77df86aad1bf11a559355f690c67fbd907b7188da3a50f733f574326cae5f310cb10c073c4403bb01cf014b3c0b9993ea87c5591e2ea2c77c2a978c480c033438809aea7f73ecb5e987e5e3bcdf3590bc0e59e76c04b1f687338d613844ace8d6a659717f49741d8f830271138cd8fdb0150805d8039d7dedf10a22a1d996d944f599656048d7da22f5c00ae1efdc1c9614ff6f88c9d3e96af7af64e747e97f0fbf5365efddad805cfc083b0fc91e5d2a9ce8739aa54c244b6cc584e08e881dc7025625e4ef7f2fcbd66edd549d4d21ad8e35c9804ad3aa62e5fad45edcda9f59756b3cc8a818e2ba42e25636b5971ba28773d1b309e5ce356d1bf176c29273ffa4872b94098e14250d6f70e46d8d6f75a2438c0a6e0f899f5d9b5154de79f5865072e78f345e2de91ccc09f826a5b60c33361ba125f0a73cc25d0c650b17aaf5e8207e888999a335210a6fbe8aa8cce836ee67a102f0a92ccd75fc8dc6bbc1f67ff598b9c5a06265df64e9890d70db2599160474f01bb16bedb2ae2353564028aee26900eec3865748fdc374df7fa77e37b20b9a6e39223e095af714bd277eafa9b17e54b4204a93d04c31a2d99e5e41f1495cf28acfd8dab04e11fc11ae0c779cd3fa4e2ef53e5f5f9bb3ea8a4a16a795425c86d991874282992b1d8bd6b05c87977c5a59516870159e196d55d0458b580accb0c854e0a5e378e73a6951c37d2323082bfc368feb386d2b0e8cca69f2b9af5f286df709acfab7b5bbc6c43538c6ab52d6f54c2aace3c87eec666e47121c01c44313269c72f215efba16761328052dab94e40ccb5d815b24f7da70ba351bb4bdd6bd7e09332bace288cab8759d5b6aeb80a20c2f00c57e557c10c5dfbb6f4be93537ddf14b4bce08f29641e4ec70ec440239931ecd6a0a9fc116e2e2f10b44504d5b6e0b1695b7259285e4f642eb0f614af40a8e5bc237c13923970611a7527061574f469d4065aa200c6c379ee02cc5bc83de1430204c0e00e2782a64d2417c0ed5b8638808e3d92415d9baf6ba7c951efa844b8457a4f58c8c89785658332f839c58ad9941d6c9a98a2c047a7ae8b164e9915c235189c2cf2dff3ddc21278eaec5a48404f95e106a2888d3ed4b61e8c219bd6b372817f3f2e0ca5c37c2fa5fabf51b56665699587389f278fc0ce297345df7a640e03ea23dcc4c14a2369f4e0936465c3731bcd5927d27f30cc5321e7f83fbc416b7d5c61ce3b9d28110a992d5bce803583a07dc25ad29ca17281f4348a6a94430ec6521ba65e3d28fec389fa3f66c2930e3abb01a2ff963754e0677f78622ecde46b0ae3dc46d65dc6de91e76bce3d41076fb77f1195cecc6b40f624a22735b0053bd65e27a4c3bd82989740b02abe37eb9531a8135a6e917b8d8f83e8c6b88aedc3ce8eb1c1eb0504a9c89840aab4eff4d992481943f88fd5072ea5e75d4d311ce8fe77a154f09f2afbe95a0de5fce1b28f683a36d174d0b47e6baa0458ce28811e4ace14e3c475446d80c9a780321967e1d11e113061f599ac4001dc4c808a2a04d271db68c06a8b802c3b58892aba9829734038e21efdf6b8c2d63ea159f135625b3a1f47f1921da02aca4b006a288a8740295a7931edeefa792f3073bb182a0fc53f37924f9a7e0ad70066f942ea03d06981e45e14411fee429fe32e0cce2ca3ad7994243730d41f00c8a97284ac59f941a88bddafcb670e8b815e6eb952de139a5a22cd56bf417ba094467154cee33612e13a29e78ee60ce4967bd216898800274da002176a13c581932fd6a518ecc289c16b40dc4dba096352ce5835182d3900d20e7f6a075aaa37035b8bb98b62c855b1c7eb2cb7ee0c32b08fb77a18b6b1781c3c82ccb89ee770fafcb4f583bc6664303c4b09db59f23809758a1fcb0bc3506bc663b12e5db0ebbe18a116f604f9910c3a5dcba43eb936be097149dfb27fa1ba0540d682f5f5b109ff0b397bddbf2a6549ad5ab90a75703e769f7e5cea1197b707b74a5c38ec16c3cecc7c9c83d9dc80abc9b524d6bc5d4c5a91999a612c1b5d617397113ca8761cef21174f3fb54fab3542a29fa143eab3c4251ee9e62c19ec46e91f7aa1bfff018f5971c3c4b70b3fda2e62fdd21630e79a9967b44999840d8f9ff8c27b486eaf8dc2746f36558f79217ed2f1f8bfe5e0ca6f1359a8e6bcf690a9aff8784d3477c561512e11433fc133d138dededec5de2fa7566c64b4dcc0695d694d2ee965ed5a218b794747dd8a43c98bbe64de6d030a2f17ca7c10b03b24c06923cb589eb5b3be5052df17998859b53aaaa3c1c123d820532e91a377fab480a614ec44b2297d3339de351436be74fcc30ee465bacfeccb9b35bac3bebc2888bfe4e90e42ab704d552e7d9c8c8a72e7ca0c2b548142d422c66d68f1081809bc8665911dd7890e33696fee788779a42cc3391a946051bb216eee2cb26ba7cce6c00083a322070d38c99b95da1a88df391806dd3cf36dc067186569f03d385b9d8a66317b249b1294eb258693592126d53859c08d149c93d863cc89d45755565d00916850520ffb00f7977e4fcfb5fe86f26b92a29757d94026719f3866e3760144ab9a4f48adb2368a038b5d1923ed735165586808a70c1d3cafe0b5a1b116a25c6f8081011c418293341dc6ae983da9d26a269ebd887adce6820b17e979d6dbf979e8fe88a928e70620ff734825cea41df640895e839d6cc035b65b48c0c6f22344fa605bda35c27bac0ab2d199024e41601a38d94a3cfad39a4471210ad7dbe4157037e8e91044c8563cbd3b32d3c0be0a6597cb633353ea29e6c705d4a03fd65d02c81d233549b328fe70e07616358ca89e2f345fe589abef3e7e3e03463f77b76390cda0d5f345cd9924a73d97ecf55ecb93395505e2bd752fc49ddfd368add9cc152880f0977f2677f06bac39017cdfe4eb2312ac9863910e14b94dda7d0611b59c05316f22f24e76517c19510f215237d95f78c59404200a6cc2a2e16060c3fff990ee2f2d761bcf35bb0932c98ba9d943676e04a6b18e66d22760d071119fab5859c694792e00ea4bdecd0d6a98d1fb3eb931106cf0f4a05d1de2051c88225d51129421d21da168dcd467d35c92d08fbffd296c5311bb73ee3b4949ce1923c423d263675d90bcce6da46a2fe706cbaf9c5099421d666e579f42fe95361cbc86b2c02124c27eee221e567007be69a1555a307131a2491013890b440c6629d9b97736980c16c160983295e92d665e07279c9c3f2fc414d2832941711e33c63a18ad578941a83e829c69f7c06a4492a1cdbe8f95dd9b0c99bb8ca16b09933b78d5de63bc71f1045082c1ae315d6aa9717e61800f9ee0790fd11b7b140bc9365bc66ab38a099907bc3087adda30b72c04564665eda60d29b9c61c644c019cacd92c8d2bb0b30a4c3e20e802526accc631684fc60cec1e4742c7ecb5e20de4960a45c8bfdbec35c8d6f8a0ff592d17a419f7da0ed1df39cfb4abbad8d9d8f45f1c54d3659787e4e889797c7f5dfda9840dc84330df43e3f3c4d752a207cb182b04fa214a8feb5fdd32ce1d913bdc48e1bcd4f2686518556bdd0e12d8e62c3e9914f3c56f1b437d597ed5b2ec63c78fa65e83534ac78a64966ad8fabe6cc2a3f4aa896b3291e32025f25d86eee4b3a66adb0dd527771e832764734af603c62f333e6263d16ad8432b9e92e409f60967df9d014c911b9543ee91f8ca8179971a86809020d7ca4eb951b488536452f101c735c2bc5af0a7b41abf85207b56b3aeacaa80e2e18f7800e97a81cd8c2fbc479ce3cb8b89a2d02d0f386c3feff6a8dd056a6e81fa5b415b3eb233f11651b54e4ee67644d7cc4e0ef3ab15fc267b38b1e206ba38a482d940830441b7c1f3c76424e0c25a4848080aa1ad0c43a82e1858d296c26e82ecd70c332304f5ab0340e991812a25cc0f0cc4959f7e310e5238ff9a98d830e94f81b83375e053bbe44bf80bdc014ad04008b74c5735e43ae214d4febb321464f5c526d45e83477f103acdaf718d2f887c49e2cd7401a44407f6243205f8621b2f8ddd39e3772d53e478156c5c7e23b0867a9b612818423e130dc712217ff71b74601986313ea547124f2c69d15e11656548c176149d1272524d014a00712bfcb10a9c4f6f858fb8ec0a5715962c4a7e4689f4ff96db16b6d7a16b10187e8dfe1db72cb2a7bbfe65a8ee36f6bc674e6bdd842ccb8169f78d52bb5a5b750ce6b1d1b810aef95f5a2aee2440e18dbe480784ad55a97ad67d364a01a7710ad004ae4d58392a3a3a8d261dd5df2eeae140eac7598b6c606c8a85a7ec80e47fd46bd070793e5a18ef93597475982b60f39d5818ed85b17d7ab721c07e12f537ccf052f0d5f82d55d23d107a0db81376cc4a3ea4354647e2fc59a59bbbab02a86641637b548241f27239a80874f0a467e77456338cf589427d60155a9e280704d81c5cdeb33eaa7dc3d9d01acd0dbcd1512ef74a3c2c1f55a89a9998e68ac86e6ae80b1f03800242d3ae198206bdc5ee49ac8c708579284628cce1666731ceec6907f54788163d20ba011d3e9d72b77a75e2dba3a6db1cc0da892f01062fd7cd1fcb39501ee3e36ec55bbe15815884bf1a3f5760bada38938419eef7c9332e058e0a8ef2c674d167c868cf6a869defca653c2a784bc18762c779ffdbe7108b4f2c2686c6947b003527e62bf7fb882efb7a1e6ff428941200dceeff02e94ac016a4bdcebb425c081e464fea66e28b8fa39c573cd9b51d6bbadee154a80e803bbbe48a8635d41d8f9b6df0dbf8b856fdc5918ff0063297f550400399d6ef91d006deba6ebab7d5676a1fc0d5cbaa2713586fb3f3cf9bf583f0725805f7a1707b384ff73e602baa702b5f6a51c8f3fff5655c2ee649ea4243c430123ead794aecb200d82f9f6f5f13027c3a3680b557fe9ddb0718be3cc88435fcb46208edbdd474455741293e7ca682c6bcfa9a001482ebb924a24d60eb09b8a69e237d3337559af497f99cc00a1de5cb78e489e1da00b8c029101b15914675fb177c3a7893e0a8743fc73b5dcd0c40a5b088fb488f1530d709b653ec9e72904a6fa710c33554dd6651275c0519124c2281d6a02698cbd364cfc5b976cbaf731bb5cb221ef80d992ae5495664c1f23251005e910908f335e80e186848c5b135b1e6a10483f1fb3e3e9049de74d0bfa7b560c0f8d0f23fa83becfe87bc7b12d2347a08cbec670ccf416569dbb82381ac1fb861d87b5dd62d315a46f603748ef3fd8828dd79d4646308f97d21d505eccab2a0887df836a24a31a33c772313d8e76b8b67405b11433483d68b07f2b0fc07429daac39f2d3b5f095a0f3ce3c943e6c7bf7ad2e83c6a1d656ac953464c22cfa8c0e4301dbb6a0c22ae97bd3ca790d4acf27708c159a7455f298c48618f3687d96eaae70020af5fb1c7c7b2f0849ee6cbea5eb2ff752f09ccfa6c4697cdd1a48bfd45b8a01b444be09e38efbc7a116a6bf179833c539d7b09f567138532fc81742068c8c1e6df2ea4e7efa9f87304f505e2aeaf48fca71582ee50c43cdb589e4643adb6c934d261aa0685965c0b68802bd4dc814ada1207210796542f22349d4562132e9aa5e04600c05df6f38d15e647880631fb8338ac08b1f1059e2e7b88f23808713e4d600f9643d79b7dc0577021ec477a732cf2e4f54f88173be13111c31bb5e58d95c368c348d03f4f57916824b659032aaa9a298f060cfce825338238cb33b1f9d0e5a723de5d6e1d3ecf96b38a2e452dd39890f3142cf5e199b35a237164d2aa2054e8e7a1dd74ddc701d1d2de9bbf052cf36fea70ba038226ec3f5f7e20138105750f9c6b43476a68c9c8b3fb447e564524f850d0ec30acb1c21f140c926da47faccf38d1fb6b521681f2656b8f3afc39864a43ced105daf24dd82908fda5fa3c4e8c062c6bd428e7a417cea70bdbc46b4fc95df9f3812cacd7bbddb5b15a556ea913550053ba5c123640ee415ddc8e87fd58e74ada8bda3c1bf4b36ea34cad53d28ec9e1d1417a263aa92eab9e0dd3d52f9e211e8488cc73e556c212b9afe95613e9b187b0d39f9e5f37fe803e111e00a4fb7a3961e8fa8e2424112f9cafbd1a4ae675aa651862ee13946b1225d4014a9e3ce78d4af9d04eb10c03cebb1b3f51cee521c5ce25c4a384b1914132382016a196e106a10957ceb598ae051fe4defa50cd36f44b02497fb18fa70386604a0bba1ffc29e342ffe78379b02a56b9e406a0871c38739f53f03b541e528b0a2715138b1cfa3e54cc9b71166806302691ffdbe45b85d2fd70811847bb0d0628eb756fa19fbe78e1e998a7314c0f183e9ffac0713c9e9da91384ba4b425c022e11681c80cb0f561355411c9567a0455498bf095bd1c34cc4ed12dd0df4ad37c6c2398510e2cfba2624c3160fc60a675c1c541a922334c2d448fddc9103d1bdaf4fb357fb95b54e2befd5bae5bc40bc491967fd70cfc99d35f555a6b3a80085065e61a67fa972bb81a3d5deaf87d26a28c6a6862411ff807620580befce25f337c55496895a56fc387a4fd76703057ced64a12060b41dd60c8a2336dc4ebd5b8a271f080aac9911e178091da92548865826bff0141282b6d9fcb9b890b4682a7d2e966bcd50d03e66da085ff76a357980b78f6ca1e72180c76116efb010a7ebc808be5542a578c8e89f97864155007b4bb936463f60eefb57714e3af623b645272c9b835496a967257342e7a5701b639eb3bfce233411008cb70c43b0b5c5297eafaaee02e54bf0e5c98fafe3ca16ba38f0f51c480d56988ba818bf34097999de63efab02831048231d718ad1de6b8e08c5f5ab60a7796b7417398e34fde811f9d8af61dafd61fbf028118886a5e1e1a8b62c06d7d11f16856c7d4f0d44bbbf114092ab55fb0bfb60781bba9aedcd63d4d3b9477ccafa75e6ed5f26e3275086d826cec4c0b92692313b091fb324f6487c614be9face0cba828b824c1268c4508805f615e3269779fac4abffe3725968d174df7cf55bcf076272ccad983195a704ae923291a7cd2acc01892420a5701eff69291ba5df9c769c1d7e3ac876963ce81be537aafd3b288ca5dae158de4334d49d70b91ebd3e27d4746055d536472933a43011ed390814ffc6501eadfaa97ec7c37d0b7b743a53fb6828adf53e49ff1266d74fed8f8ea7f6055e8fced03223475e19a2b4bcb2c608e433a1ca8c7b8ab330464500706f5a8640130018fc534ce10c59f8e5671a1ad71af9dd77044e189e4c5f7413b941ae22cfe45c4053748328ec6ce46a11540c333adacc4fda7c87aaa22ccae9fa02971fca390b43860b9f767e0f0afe23dd7890018c041c8a78e60cbf849217ebac3ecf831323b3824b7298a60c763a1510e7a60c6f3a58bc673ec2e19d4e12d09d668b9655c3e4dca301287c309664dc38b25071b22f3f0f5dc062a582ee15c098684567fafe502c57087f5ef1798cd249345a9b32875f42ab152db78147134c0ad766ea67670e33ae73c096e822a26591641f102dddcf05d684ece30e6ae711f930645fa38913b37872128362384caf5b12d7c7a8b8d14c8915d859cd2bb53ab257d11f70fcc80ab27ba6396329ca8d5064456a40047701488df83819d6215c4334a96674ffebfd7a22f4b6c0fdfddf0476cef3589253b33a69129319c0f7c0778294ff6d5018314caeaa336eabb3e6d7b9fa269017c2db9e1263fabb509d01ea3390feeafb6076535d3b817733661e01a745dca2e8913e77b7233e61a4a93d80edf650396d7dbb80f9e58fab7d69f4675bc1ece97a1b18bb9921287c6e58e154a50f6c122b3b80ef33c2f074aac0f0226691dabf76c93a7d3414ceec59d046c4e5bb0d6cbaabe9d9b0b3890fbcefdd1f4664d8cfa2a1bebc2b87a44da404c586314c2a83e7531ef5888a0f444c866662f69bc380667b23f9b8123e3f135b8a83b133cf485e0543769d01d664af0c0fa013192232252f2e83b14dbb841f02604a8e58d17ae3ad943166d61bfee2b3bc7313e9482ef8be056578b17595156069af81c4d4e54ca2d34cbec22f17f1b550a2c3bc29ca332856f6cbcdfe0151a4d7f7926c673fe7e4ecd947d64940c0fa9b4f6ddde6e55ad79bf2b895dc0fdd44cb8065d3bcd0e5a7cc7c761d6a628d77b0a51a902d903054b8700c1c2d17cbb87bdb6ad088daea845d797ff5403e964fd24c34d82c784fc2c24317f6ecbc731533b4e1c346314f85c8f7b74afe4cf42163a86f875a53d9063906b93dc3fa39f4e9ebe2144c12f45e3b9302590a146451a3994c373b1a0e57534a45769a3f720068b797d74f27c168a9c5303bcd7250f26cacdfa12cf36f2a0b62c4972e4ab9503c8cc0ca8ed69d66a1dd012d71b2bc6a62d9c2bc9fa2530b852a2dbe485e5a9bc98ed5b5b423e695c2ecaee65c16db7c8783ef5ac7b8a7f6c0513c91aaa70181937afbb061554639df8c926f534a5480f7fbc61bf46abf3c74d34f12b6a6155fced80bb8c6c679be16bf45136d38f5ae9717fd15324387fa3485ca6813468459eb724f4ba884ad691ac6b386425a3d48376501d5915161f1e96961377f671f9e2efe8c8596f1d12788c4e90863fac48c2174a8e801417eb12cb82afbd374db38000c58c8564629ae537a13c7a86cc2b8bf9b09685f52fa3609ef449f8fee164a7f38fe7aee35f3ae8374bdee04e3d32967f6ffd6d45fd25480cda7eeca194a3039d68f6cc15fe07f90fdbb6784133ced4d0ca515710ba57e902d0e8057e57e03716aa037e0ab68e2354a19d2bc0f6bad3141a74cacad7f422fb37dc3d05c364337491f5020a663d2994661af8da6652ffc950fe97aea30dc38bc4c8c4e69b283b18aa0a868d1cb3270113d52126989235c85e5b16a5e0fa3d2a904ca602cfccf8a6c0c6b4ace5d84bf6b435f4ce4dca18f5e05080ac980bd4df6b2cf44ca7e0733ac50c85e63d2bd497293e1f6640d49b55b6718133e35c7a80e7cc9b14e54dc840e148157ec1fcc0846c83358340d388a8738be59474d0490932672c98ad6ce23b56033d8384f85657bedb645c0f540e67a4e626b13421bd4478ea773d5fe67f1e674b6fc9e7a92eb127ce261a264c7c1517952ea50bfa41cb0e985e440bf336863968babb7ad5319c07c99c0ae75eae0535b720c5157062acd90fa75e6d46342d6b2a3f535bd2c2ceb997719929079bf48026e39e001d4ea3101a9e7035e4f8d0051d09713150ecb02f5cae1204a05a9171a5f4e3bacb05363517047ff4d254237810324207322393d60f0eb5f907f8145ce9a93e61e81b6a7a7fe65dc1d0279206a8a7343244811790f45b31e9c4322bbd0ddf82643ae16a9bd628806ddc8c45f3f979ce3e265f64faa430f81d04128ff1a0b521643ae28ff3f5fe7a8258232cc753e6d5a9433078da8eb8600c64090131d1fd854edcf662040750a45d1d673fe1c618fce189cb325044f8215d43fd808145c92a4b0857e1a83b38a2b63f9bb2ff86ee00fd78b45a1ea05322bd6edf74590263d1a573a3e40ec9350cdabcb39449f682fe2160ee1c3e261bb91584585c7939cdf509f52a14fd4921416763321b6d6dd35ba60f3808b40ed22bee2d8b1127fbc2f4403e4fe07aff4970fb2b91e199f5cd3c64973f0f1032c77893cdfe85016343f2bf7eb3b4deb0484feb7062d8fb7ca74f55016ee486d37abd74098f134f782b87c4cfa991b2b0f093a8b954d06f8ff0463b9a80c9c1a13251afd36db01c1d388c6200d62b191621154f9f796a54e0840a11d4179f71015448a79bf4395d9d2eebf2b045f20521ef0eed2ae33c7005f44a7dba28d7dcd5b2f44d4a7d279c4191c9a2f186de3166e597d9d690232e090457a22c7cf6faf8503e9b30de45697fa530704786d9a6a2aee00006a9204f855e90074f20483d231dadd889642f3fcbefd2784ec1210c71d4879103405523d9b9da86cdd5bc3a4ea0a4df860ff5e26861e0486f499168b36b1021a45776073a86904625f5562848cf67b1bf90315a5ce33f4442bfdeb4d2c150889ca0097b9c6fb3fd49228272d11c105e2dcf625c480279ff1f50ba08987057165bec482e6b3c0385ded3e3a957fd9886e913b1bff326ee5cf61d4893b099eecf28a95febeb73ed992e5d1e00b13b09874935bc5c0dba88d0b6f9ee6fd8d2efb840310a7c9f2f2a34bf6036ade45103e805cd850adf21b70a05d6883a48c9085d43c440fdb138f46fe098f5c85ed166259a9b359f123f2d3c6e7beb1e4b1c72e4efd7f9aff83c0cbde434d6bc8740d93c29912b55ee11630eb0ae186f09a3f44407f4bb0458e6609375a4299f91afbd07ea619f1277f5f413851e4f139c3db69a09a05182aa70fd527b25eb69a584625a562953e0d27822ff8f833c6df0397aefdbad13261be079c906d9d728a2bf6fcfdfc117efc6549c61cc4b3f76545946187d002e055f22271688837aab33447be2e0dec757e1bbffdfcd005bb34d20522b4e048b2d1d1adff7fd2c4db2d17e7c3520666f2e28d1b5ed5ac546f771da6a86f5c236085d8761dc46df9d40f04831b874471436edc920e7c3267f75b4ba18e5c9b2111d11758142fb117be487598a00afa87cc25da9438fc09f949fe208bffc1d9cf0ebb362a417a03c3b58e8b964756d4f8355c06d1472ca96a842a972abd8bfd97bd44593056d2bad104ebbfa528e23e4c30e12aaf9e4cacb11b160b269019333a15e59d189732bfcba9275050c4ff94b1e3a39f227c6fba108a5da3e33fc8a319d2a53eec708b61d1ab0343d71f625e0076e9037a450e7063bad9f3f353a4e63ca80ca5307c0b2d095b2d0d5ec2488ab320524ab68d0d2dc4528dee0b17d0094b3c097b97357c156c0ca424361f06a91651462d9017dd033e967c2551e968bb2269d9306b3aa6d4041c9878e9b7ab5f2a75f362f1fd6ee0775e7836b0c1549d804e9b2065ecd4b26843cdf396cb9569f48663b251a8bcbed5193b6c75e1018b5a22a106015b29811f0917afdc0104693afbbff7a49955eee2c1fde657fd69f464dc1b8f2b0f2d748e36c1d432761474c62bfaf46f355cc1f1a16950966fe2ff26bcf8230935d825e12f35b91cfbdcc835456f18abb503b97d0bdbe481d52f9b5fc34e5ca12d828bdd624de947750c167460d8d86afb9bbc3ef3670bd01b047eb1a362cb80b99e1b6aa9bfebc22432718cb303d5bacebec620d975cc3a5fcc492e9d8c353a3b4cb7915deea391a7fafe0057a000afd303a346bb90374e613c01de82344f99693c0906d9c3be3b4f05ddfaaf93d6ad055bb2921b6b3c74c0e676f3b532511634a1e83284791c0c505cd8a34331bde62fb0d3f76ff4db9c2d96ed417ea20e76baa218ab84b35b1c428daf0ac8dfe55d8899c55f303789c1f7e146ca5362aa2fcd5ef25131b95547bf4fa5f174ed916a1617e3b42395b9108160e40706c5699c746e3db625c71e8c6e3ca147cfa2704ea5862bb36f052cc8dcfe1bf0dde26205a1282185b24e67dd8e0f7330d468c24cabce2b83d818e60ec8d80b6987155ba936d431060a372d82da1808176f5295632296b7074fc0970f66ee38adeca9ee5af9f1bbbc5c65192c1a7b46c9b82952980258d9f4f55dad84857921ee557a8f3a597d2e84c737920e350352170dda06116a0411708ab054bc7d57e5bfa15a21059dc80ae12a552d44bdf9af6876c1507bda37a682cdfdf8b21cdb1c0444bd04e764266a1e58611a6d44d3296fff4d513461c6daaa96bad649ca64a1de29703e02ca8bc45218e4b19a4fd0123498ce5fa358a97c1dba0a789ea39a3e9b17eaf7ee51391dbcf85cea05d8b8bfd8c254e8054ac10ff0c4b3b7cd50fc00f4de7ff769c65d1496144ec015e64750cadb0d3394577703f331c819330247dbffc19b34407148efe00d33f707f791f6ad3264d962015c02d782603c07d6ab8327b672069f6c87815830b8a89de646d2fa30039f6798f68c929ec473425b51c15098bbf86facddc9a9c06073ce67f21b6f45e2e66d501087a4787e1ba1a8e1076371d01aed0fd9185ad539daaf61899a75d75c8a19254d31a1d82906baa062bcf6cef618920ed8e65a9e0680eba541cd7bc8378f1f6c133d6d2dbe4d506a44e5b3c736ec0cc36e81e82a26598ab6089e68f009215bb05c68787bc5220b84ad5d9d7dac43f7fedaf682d172934c3c81501b20156441d04375692909aa31b012fad19ff5947156ff155d58c9b08ea2fc67332a9acb0a3d2836caf24bddd154a73e3649e13a5683aad3c587b7bc67800ec57c556c8f579f8d574925a53b1a1b8b7dea91f53d46ca828fd7f6fea7d339e47da7f091863482fc69be501c2b6abf35749fd58d45f192af55efa21514b34c592093694a47fdfd73b1386972d340ba34a774509b945d89fb310d85b20d0921d2fa0c45c1d30618e82ed35d404f7c4e47b3a3bfceed3c9f309482ed4bb556157df14d8441aaef24989b0d0b8cf9430a93032affb166b84df553fe032e3b2c73018624c91d18bf9c6a9fc529df6bb66bdfae2db2c041e19816ee4d032c409ab75d88ba16418f4119bb054e7c1f64a3c16033aa213588dc8d141c69640cbf75a593856bc0f097117e61a65b92df33520d280be3c187e7703c0781aa6e5ab44f0d0941e4e87aa4ca87703eea9a5207eb9aea13b57fa4faa45f7677f433f650fa6a6d98234dd8aa30efbb26ba2556b47123934f4f87a9c9dadd597ce7cac0da7193d71fdbdf0b5d50b8e6aca1b7db0b7298e651e7276255585282bcf8fb02b0ce72010f14bcec7600c2bd8cebf3c4c893686e4987592f3744ce01e7de935b331b5beb4dce515356c64c9dd6da10b2c90ebea45c36c91240969e577c36b0146dc4ca19c3eb26a00ab559e6cc0bdbf8ebdc91ad0d1fa892c653df666e74c6f86d40552ff05980ffebd352eafa5cd9993772cd0cd30b02c5b1f0b562f406dc81168d95b7922fd4b3977e5a01ab2ba955e1271803bcefd02f8fdd53f6b98901a8e426b2b8da0ad38e946fe84f6d79cd07ad42c950b0945954fce7759e6cbad46aedf199c6f8ebd1b60317890d4dcbff1ab45ba858605a56ab592db5b492d75ee46d8c0d594db6ecfd950131bcb812f740552b46d9624290f63b67cdcd4ac2ede234329635a86a6c4f3503930d1794c55f6c6671ee3aca59ff35814f29b16dc890eb3fb809819fb49b4bbaaef9e2530e4007fbf55d81ab3348601b69e30d7d818d75b74f644a1e42b443eacf49cb5475f208fb7ab8e8aae31792caa78258d3002908b1aa7565d1ad0d2ffa8acb4534a3f38dc66d7851b3f836c868f5aa689f6a74a8b2f8b9a07e222b1d66a166a68e2e96061fe7420cd65b130cae2589ca41b70cb71dff84a19866b511bf05a8b23963dca4e2500c6b04962ecf009d1ed7a674977a4d9462c602f43b3efbc4c74d5db1d81c8818d0c811f8796d9ca063ae517e73be09a716eb88aec1b52ea01e21355c112f750e7a423fbccd7aa4ba4e4a0fb02148ca605ac0aa3074587a5e2367f4fde5a28e37ac26ddfde911bdc522877b8df0f3fb35cb6885ece6c72c162c44c7f04fdb5c57d76b0dacaf10bd4d9651e6ce124d3b79951cfb3fd240b4dbdd6b6320857c81a0050b8a241ac6942a6e9a55116862d7f4e45e24da432ca798ab47b843ea63c46b946f9cd361e1e5b77397514724fa764e4716e50d426bc1f3572eaca46aacfce55b022d0d7968a7a1eba650bc215730c534a7dd36443dbb20172694a88e7c406031f772ce2d56e0f79b4614a4eee70578afe0a5a8126bca20a44a15df4ad71a082fe435c7bb9e5077b6f37ac606b5082b8977440d0db2fc1d22bb5aa68dbf87e01e2511021f6fe587e336ac6410c48e15b85100601119b92b44b63d8b2fd1abcb8a49b9cdcdd7136ce2b7723fd55f9da37abd0e1e1041b466bf1337387858f113a59de8d63992ef84347cad3abbea4d3a1076898588344f02d5f65273c3baeeb73c9c9158efd1316bb45045d20a22f849e1d86318213993e55a9ba0dceb8fb90b14f3eca4f7336fba89f31f0caf3a3241c4357d6d1912cae086d74ac281cae8f85e012ddd46ea951f91c3be8a8a250bd17c564bbf943cd726f988ac249ab729b438e22181490ddee04ee84d9a5bed80d71e35da227329fc37f47de177e7f012823e0c7452929a425042bc3546995603766e68afed7fa35a6a2ef06ec1c9419042d020f333d66bcb6473885ae0b7ea92f1c61e5428c37905744110206ce5ae2258b4925b2f34943ead5d20f49a0d42ca8fde278b3c0a2a1a2eb837e7c139fabd0625341cf535273dfa456c2b60913102c94906d24392c605c5921156992113d44f69766c230e177e7b90af9507336568b0c8a1bf16dbb326fdf196d84ae621a2bd1cbc163b1f252422b6172869605949882bc021a8fa64a519ac62b7cb4a22aad526dfb05669820cd67e2848e1e648b8d8477366fd48a6e5f670f78704775855c0917bbc56eeb04424be44a8b4bb506dbfad418de457755ef2c2a433d69dae70494464ee34832c29037f51d38be7ebd6ad4fdf0f796a1f18da50abb845bc3672e3b016b05f617c89ce2cb5627c7d65420d587690fbf6dcfa309b4eddb1c577535f1fa8647a1028df4577e1a235da8421a13c3f0a4c8b755f8bdce180e182699ac72da90d3588edee8f30c10634d98c53ba663d662ed0118402ce52bd0b493b74ea314bdd1912640a72206845749a284fc6091c106d206bb461c0ddc0f134c9f821047efbf4a9a0e1bb015755e058224c4bb955144a4175ac02f0f2dd0131180e5ea41929e24e0bf3de5b5e48c160a7743d572f959ca62328442960cbb5fbecbd86466e0d758f9b192932509de3124b94bed59abbec687b3451ef12c9979d1dfa49e7f9100707c20d76428026631edaa12c17d205ebe8ac0231ee2c6fe29d0ad2b70adddd2fa82c1433e10478a5e660bf1d24c41a15a7c50cab8c7fbacb5e3a89f96068187c0bd766c5ef952b23f56c0470d1e5b88b10766ae280f9bab93c10f0a253e4bd16eff50f43a6f02674f42c3692a35c0e89e464639d8d8eb69efb342715e5b1869fce3196db9183b4c5debcdf232c2c7ddf62886f11433cd9726718a6410a1c47f0a7633820c9e8d59fc6303b7986abda0ab4f9d6f91909048f46d163b6e884f59162c92cf365500b50ff8d031c8a75a1a3b493390244a112c683158bce1c303ea98a2d6d78d4666e8847809eb689d2e53ce7abc17b7397978bb621040dfe81a4587a1f6f6807dcd0b3c8b6321cc1d436451095fe373ed682ec967b21ab842fd0f9500958dba50b5496af92fa7512f72b639b7d083420cecb4f53753c3d5532587f5c95160e1c3cd4a70366ba42dea33452f86ad0a29a63f5f881a6adc70935bd49b1db23dd0b7c2e1b87d5e16431a9fd40aa9a61a0dd430c0515ef5fc5fa3b59f18d03d5573bf68a0bb0e166666548698120ab438fdcda1ee5d56e078132c341e2b104f6b0def784055a7eae73ed33938e057b2e98f17803965fde46561a905142ad006cb044ffeb84c4c8093c4b712bccf655854309c75af59742a340f14154ea8930148e38d159d0ecc150bd952bcc160b116ce6ee0cdd89452b681dcf94aa27a1a904ecadfa84f3529d89a6d5112ec1637de3c882610ad73099b00910f6950a118a29d5f3beb5c642a52eb2ea404dbc7c9e401709785899a221d3bd2f27bb96ac87c89ce3f3d2484d50a3777d30a4550667b6c9736b5601269c58e4cf319977d9ef455441f177bb9ba4def2b66a93f05018dd53f79c166fa83c5a536f26dc6f2d679509ca0480656ba9b8643abbe4c6783ec8142e0a610c3934d0d971b28ed63890821b5df6d7256c6e50002e5e424602a33d7638b6c81a2010a917016e918819b4b569649416e85b608116e02bd5e100729aaf1df585b3b680cb2aac40f619cb3d560addc92406c5546119dacf9d3a22a218867e499b8fbab6dfff1e62df1eb1447b8523778a527df5ae4910bb7105a183c708db928a214d77e0094cf9b61722bb5a940e15ca50bbac739725d333b26622508701acbc88962d6f9423ab31eeca8d98e36c2d28713f3df338b771c564991fa9a092667c0df7fdd73b4fc157293b28da2682732f7514550a254aa7a2e6acf7e340d58a990ec8b596e1d268086b84faff03c818157b963162f02eae103021046b20e7a557c42e578e17305446ddad7ff40caa8691021e6357c5818963c5347bdfe65642db859380ab99c768a3ee95183f3b0c1b0f68f91c704f7e1303c9cf6a2748d05ac3eabda6198a24ad42ada99965e32bb169808566bb08f00ddeecd3f35f8be649374d5edc6db31c3d4d6608d90186f22b45cbd1a36c1962881a985911aa58f05721e733705ff5b15411684f355b453d63cf982d1abf9d5c2910d81097c6acc30b0c85aa7f3553421bef0820a3aa17c070cd3bb33edeeac76b854b8e0f1276f2242ea1890285593244e20fe12cc5407cdd3aa946206948333ba3855e0e84dca0bf22b72ec2e7a000ce1a204b026f32b56656a2bee2122481d78b0e4e2b68abf780bb63138e9f684d1420c9abfccce31bbda83934bf8baa22935efa3e002eebb5438e3c7f341cf4da8634d5a20f9ef25372b892611a28d4f5ebb479a58bf7f8ad6bb1288513050bd8345eb9fb963c30dd606907895010bddd51e57348b4e4b4156054b9937e2c0c6d4d526bc78087d33c17fe17a021208ed4cf1925242099ca22d07223ae51e838c3c340b7bad906ec2400b751b0a1a894c1a14aaeb70b286ef477295e37d4041c45814c11f1dd70578c0265e367e85c401e9c877d4b6538f84f515bcc53cad4a2e2975dba56fc73d0b210d6b7342c2d2c10d001ae0b247a77150c20751bea38488373d828baf5416534f76c1c457727892eb2bb5801bd4d8c2711cdf20b7a83f16cc5036340ca7e71903f4d34363a119014f7e1ef0381c475a776efa1d9cdeda35426be8724ec658012d4718b514e3c8e2b1798dc0d40c29adf7d09f97a8a8058401c9b79b1080454f1714a3fce456658de7dae52e9762086d45d031a4c8f55effade0c57b49ad9e40e89efdab58fba57576be88a0a37fa148b33fdb8c40589fd0b8047020018446227721537cda202374810e05a40ee800582815f7dff8997635fe564c0b126641113b57cc7de773c2e94e1422cd5369135364b848083eac2c8f1c72f28592841c3402380072c92472d90ed2a7f61f28e1d5cd2c73d31885a0b99a0307265a43ad1121180a90b1ff559134f25cb55202ef7e1e29c6e8af246419085fed310548b7b356e2d970a0ef2e032585b84251487d216815e81313a204f0000b08d39b7987fb69722b8bcf857eb77e212b97d0904aec1a239f583fe3bc045f25fe2722f3533ba6bf19064c0c57e0d51aba5e7bd063cc09082c337933b857a04905100e1e736e167d279742076c86eb71202b301fa3777b1830de1b20d9162ecbef5112ef0a50d39961f6fe6a85ff58f0b71555e0ee7c104ea05034ea646afca5f4ae24658418cf3c1626faa5f14c4065a4e1d019447f89078f4d4a818862b06ad01003b79d6e97b5da6c3415f08a2fb3171f9f6df8c93584f6038cb783e37ce3a93de1542c5994407c2bd65a9535c408abb851658833e0ffc4e3e08805d7380834c570698009f468926fea31ba18bc6df0f688c49a448509cab27a1b49494228006ee4e40a557c2caa12450940b26815295a0b2535aa6ba5ff8d120eef53d25083e3f3a05c1b7fedf6fda94cdfbbe71bbc9949492e18910f2e83d477518dcf26828f015e53610f633dc72cad45018cc264a6d205c8fe610077aa2a2b1d71ec53daa3a214afbb00026e7c0dd1247155dff8c7d17bf546df6fe3d13e116ccd9328a0d5921816b3501b61a3b2048dbe4b6d122697a2653577032a6aa15bafa0eb3e57f6efc017cc188ed6ea4fe2ce3c75cc4a06d95f10e4acb86c5f2c7a6763af523378b2b3cc2ec94c17268d02c1a8eaedaeb9a31cdfa36c76f5ab5dd760c4f03e88e0f749b407d0f3adcda20cbf80196ed70dd276c0d9e6c007c5a1859dc51ba324bb6ca6ec9391c43a1f5f195ead0f33a3c863f6d1d1c273b75a6a0a2ea318e7c11a809dae053b49cb33f2fc76cc4d55ad7ce5df480f5fcd2b312d13c364bf3eabff43e6305d8c4e8250fce9a88ac5d83abb2bb3a0a3338f892273d15dfd0720d4c786ba0f730d430fbfe38b0d5c1fd9791e26e3d7c49612203e08b22d092661d9cfc8491ca630921caec13bbec048fd88d2afac5a0d370417fa6dc44ffdafff23f5140ac075d4a619fd340f7e9fe36d0c6c4875a76a81fc4230ee6691ea9da023792bc253ae53aa059e5a486e681724557ae037df60dc173217071d8421c217acf41d7cd176e2986e8caeab67f64b9dae157d88f4059f005340084b54ef33dae3d9bd4706fecf2a5fc7c00fff3641c3b5cb08e9a25f04eba2bf0931d4b7d264425ea10d2b5c2ea12b3c702cbe0b70194b3285a04513548591d0820e213896795fc515d32b272cbf3f30cb9dca276a2b95040dba580b47f54f10591f09590279e29a9b3064442310c3cdf89e479a7f30c96912a9ef607389a9de2668073e790444343a3dfa63fee85d2e14c60c822ea0142883e542ad9873a2162bd9b4a9ecf0029fa77aacb6f384010263bdb433fcf3c1d111e9bfcce8dd5309418aad23657b8d95132126966f243e77ac7dcd5a5bb7f1754c33544c33caa613a89508a1d21708606f2614b58e00a780a55fd213f34ab22f3f365deb117673809ab5b92b1b26e3b83f42f2768934c68d95552a897c72250fb6cf14446f40e3ef6d0ca4921937e8da0b73e347dcd14b0918fe19d4cfcdc508ec19694730fcfd5227131c65347f3dd02e15b42f6a80d2eb038cf9bb6c023aa07cf9318d1bbee4c92e60747a721ec7501203658a5a417fb010689b81e6cb801b31cab3a4680851d84424e1141752b11932df7bb7941d80078ec0d023255409609741d28396c47aa6e5dca922a43453094931b3e024875a58bce2e24c6fe25c522607a46444c412b2e2f741b6f6eadb37cdbab79c2ba1aa93fb4781db760c3c7cac28d1c450003d149549f7d980a44d8c00e0fe495a0dc1d42878fa119264f4bb52e1d960a9b019f705417a0d03f9ce20281db0bb5652ee04390dc307a087029aa87c19f52fe98197690a650369049103ed75a889d142660402c8f28cd71ee1645ee4a36340ad299bdea44f693ef06a4cc138dd4e720615cdf42ae7b965dfd2e62705eff7515fa7c628099ff9b8397c083642c9b23cf0c41b428a920c68522b0a0ebbb17ea3e566dc31ef7f672eec7ff89583b4ecbbd9c8b62f4e736b1dd742c8117af5a075c86e3518e85021922c8fdc9b4f734d0e45ca42c56acf6d56696b8615403c72135e7560699e0594399a76abdee2bef104eda816bd0400aecf24b27807ada575ca30ef6109fd2dc07f6111fc9c7fa08fc6f72412f459b512e22312a2a76c01699681e40bdc43de8bc60f0ac9a6c493984b7a1d421406ec714847c52d243900b7220f4cf87509fcb80e9fc216c97ad32b472ac9aed806384b7a1be22406e271a47bc530644c0deaf34840447349eb25108618ebea0a34af8a10c8aa18ce6470489e9e121c88c2418825c697dc85a0e5e90b307135407f89f3c09838d4d438204b29e90d0c76da67cc1cedfe4061b9256f25b7376184e00c49fcd1eeb515e379a1288d31bdc92ca685e2a2d24784d7ceadace3fd22e6cfcebf92f8ef0e03db33d4953d2b5ec48eca2a255e2dd524ab2c4c682aeed927ccf2f6efabc5bec2544d7056f2cd714756d4f6de4bb8684c7592e8188af0d67bc19ded48787ff52d71bb2fd8becdbaefe3dcf2018c6a865ff04720e87498bfe541917a0735312495bcecf88fe5f96003ead7b01d80d53ca4b859f677b2a7a843ad3d4207a913c67cdd8516af0d14feff00de13674aecb533b0fe4418388195fb62b92820e233f2b633b201e0cd60c2dd652627def0f38a81120bdc48062d6e12f9b9270d3b3203454c46766309798ea07d25f2087c75d84829234b19861b7496d8d8374e16b80bf315b3fb7667fd4531b4baac8e4156fa71014224ca48c2cd252a836f4dc42b21064e798e0bf8e7843944a2ec0435987e0996ff9cbe7187018a8cf16689b5dff972541baae25c9c35fd9ee094d3e8039f2095ede4efe7da3b5ed5e8d5a11113a68d8312e39cda1c89d86da5a595e018a93bed7a278b2328b7c4840ab659f783ccf89cbb8d4537bcd2f13ac848aeabdc161b4a1081a543191efc0ce248773d89c97dc462616e3ad18ba5859c3e0a47788be0c40842b0c9aada11cf68ddecba3bb2a34d5822440bcb501bc0d271f4b4700131b33a96799a8cf0ef9f274c03b91c47d863cc29fa0a6df46ffda0e7a13e47a463d07df3287ed80792b03a626e0f57371d20c73139f028ff35d2e47a1268a7e60ff77678af7944806baa8f582a754869bf565af35082c29eb5365e33b17a01082259239c0518452de1d83f6390d86d5e3b51b8acccb705b0db1aedaa9dcb19ca9c7836cfc70717589377fe38743119bd1fabb263a0c677f694f9e7445debb831997ecb9feb10bc72b547b8206267a27a98e759e46a2c8844982b929639286e15794f70edf9b9a7e7ea64af01fd3a70c229b6dc4ae4256239cde6ecc34041420eeb64ae3615bc69a03f6fe52f761918630e42157793e0c253ef0069a8761a0197a9823af25f3fba4025eba3082a9a91baf30b07d899d1bfa6df203e45071b2e3046630f7be1426790a47b35032ace81f9605f33116600e055eb0b0fbfdcaae81a1c0570042d36fff2519608119ec000c276e8208fafc082068da55912019797866e47e8779bc8db1101d3d466aef3126e16354fc1534b21969714b10c4e4ed1e36b0702eeeb81e89eb43083ab6e2baff002be2d9f4e1e71322212ec4c41700f03708704ba81c600290fbf75e1ce87deff11c2ad2c5430d05cb39f64ff3e01b822b782587ef7455f3999819e73cc4776600adfcd2f0ed3308cb4ead046775d34f41a7ccc3b1b3debb06ebaed2b8db6cc068d1cf528f51dbedcfa4683c2c9e4900ed57a52d40d0e00e6358e9d096221304d6ff6673567b4fb9717ef900d91b99afd6f2aa7c7e14b5f5bbf600cd91a1b36191baeb0ea66b80c047f7863eb3432d6f0a5a27bd56f9dc682c660a5cf5b680ef895a4595dc55d9fdc0ccc8126436f54da1014ddb216d1d6dfa9f4b25061d89663e3ff5c42f05534bf38f88c7d1a007b857a040a8b840d439e779fc8a3e20dfc19ebc1156f4f02d39d91267aa191dd779ee111005488048584e5433ec3cf29a67db12a732b905c9e53d775fe5d6001f1101be42f00ebe8c5afeb39bdf4f35be30648247d2603ada17aa093c6a3a877b93029cf829f19f0121d3a82efa813eb3b8d8bcd297c88e9156a331cd4c0466ac08fa87766978b59a741e5513fe26d5e43b30ae60a05d1704998efd15838236b260099ba3858b6f0cadc4263b272bcdb1610df4fee51fff17b11ebcff260552a2ce6cc8ff3ede6ef99d7c09033de8fb7cb1171ecf47651206346d8d9f1971f8c22d0acbf7681a0f9c4f40a548e70eaa74bdfae3fba57b3cf3b244fab436a8e79354f9fe03a4bdcc56932d6abc791af7077f0650be1532d70c69e536a68a24926b21692aca83fc8b94b39aad3f81f9ac088fad7be2a04ab81560f4d504767ff3b8862005e4b9426d0e769ee20011d4b160c5216acf608af28037e6c368a8894a342640299522f14f60a52821a54b0c134089ca50e99560624c92d2550225a05c2548c4275a29944a69958112a834baf8330837e3368d8c93d90eb6746a78544503ed192ed0b9e8615a85b1ec940954cb8692fae2d1c20d1c396e3b7c667d98bc09fc4466d0c6652f0ab7d468476a6742d8455d64d35acebeef773d35bc3e6019350bd40b48dacfd412d1be669fa69ce5762dd32706b28f173fcfea488c5a2c0cb112d4070478e94c5096dba17531fca85e58376f0e00aaa10ad4827ac546e417dd3f150c6c6fb851004a052a42d915c933bbca170c1f57a5807f006b4e9b89b723723969db3188e17312f4cbac0c74823585535aaa94815bfbaad88ccf2ba67fbfa221fe53da59b3f5968a45a5a96188630206d186fc01657baa9a1a1f0449f0006aa925f69545eb992084b6506303941d13f5ad7c9285a39a16d5941891333ffb9f467066a56d332ad60fec7795a5c65c1f196b59e2b9737073977758afbab0b79b130429042eaf45c5114f1058ab366dfcf5ffb0b731873fed0bfb0ffaafff1f7b3dff5c7afe1c872abcdc196245c6ba9141d636935cb97958746188b32c7558a6e0fb8956767777b77a076b9de838148fda5c16f3f868cdc80e87151612880f56cc0f2023ac99cf27f440433e1f0b890bd4b222f48830e0d342ed138715021d09c57c2c508b51801504ab7d5a4d4d4db39a15b23ed6122c9acf1096f589f97c4096152d25168d55e4f3f97c649858427c3ea18fe54037446ca009c232f2c20d9f34ac988f0d56c80259ed63e5331a6285dac724d3463ad618a0d68309ac86440a3e204bc60acd58462c901a9f0fcd05b22cc8fa7c42a34f112147ac18cb9a71a1c783b33e4364683e966559339675599f0f0f403296904f08e4c5f2e1c36359a0249610221f8b66c6fa20f1d9e1b3c34707500335cb054be6f3b18c846a40a18f0d9fcfc792b142db12f2834524e663c5582d54cbb22c0b874f00648808f95898a6c8ccc762c2a2b12cd0c70a59502c1d3ef793c387c867e6136381ac8ff521f2990959a0189065550b641db18458452ccb2ac2dae133043463d184ac8f655d962533c327062bf4b16242d6fd10b1409f1d2c10e8f3097d42d6fd7cac1b3e432c21164de86359d665e9f0193203b2423421cbb2eac8aa61081a1c10113116c81262856ab08408b9884081c30e160042d6e723f39979ab460647048a657dac8f655949da4c4bb526b26005d204aa8db6f801c81e5be0088205b4b81f0e8b1f4068577ad84163028e193c132e8366050e3ddab0d20356a58a1f0308444a0f3b3c41093f7270178e1a945c6f6102d50f233fd41e8658d40feb0a54270b0ea0232cb41b9d2aec9044678e8f0d102480d98cdc1044bc61c3041e7446457818d1f0427b0306299a4ecc196d14d2a235506bad592068ed8a088929325b0c01c2056184ccd0d0c80c1922134304a4839019500c48862259b0a0e203cd119921343654c4052b5464e689222b9011504d4c0eb458238c4c0b9f1921211b233a580b8419b2a5880ed9b480c547e210a32564c9e094208c11529a88b4f8848684a42011240c10b6b0622e110f4860f109dd004a62833044f81186072b5bc8e042125c8094c0a28b30360869a2480c6b847922438a261b228530382b214ae8a0513323046424a64be80b31b0a009894049221645788090216eb005cd2069b4f02112838468e686967828ecc802869823439e0c0942268ad01033378b3be050228b1994a1640b23590a182708438467b3a18511e882e5813036502c86cc5c9921342d806a1425403a0c7932834514235868a0e0e0e4c91021508a60d1387784a121644387c85c3018911942c4890f534820cc101a283be030c2c4806a622c19266486c4142133c4922388f0081182068acc90191b8c3411f243888a101a62c821881b661882e608952b41603184e666261a89358a959922a1991b622e1015522424c4088919213343424a6296085924ac181c403dc4cce084d064d07552440d3443661052b160428588a43912fa21f4834c1d61866821d4248688981d84fc10cac18507d2218b30374a2cd00625098162acf0610a0460a80b58608f11d871813a22008601080026ebb23feb4c1185009cd8a2058b1529018072d97824082000300aa50005596042128a70440e103edc60c3cc1b3078811c1260c2c911970e3214212273023df0a8c01c7244000270bcd18696234228b961638d2c58010a58004c58820848181a6598764e114366e638c38c2a440739a0638eeb521a622032846626071c3cd081285e57a11280284f9c38808c2fba780108130417b0401d0668624ba535c4109ac11e4fd8926304153223838103e09181072c00016158e186031c5046152a39450851c4aac2870a9f4142818c96f0012454848f1f3140b076f0c1c1e706426c50848fcf0c3e32f8e801bac0a74b6800d60f343ac4e460c4860f0d1f19ac184430c4bcf0115935a1163e4462867c84d0d07c6666623e210b645932cd880b201c402108131a234c488acc10236b260a58d448204c4c4c919920768045088e17a2a148042620034698901421330cc9a1062dc20879222400d00e44563245689ed0589921a0226a1812e38230341f081343145808a9a0369c50a48f303159081353e4861b8429b2f221046184d4d0c267a68818253109f042062236a49145488c302ef4e0420fa0242225343588b290450c1134760607e402088726026140539e1299213214080322227343c886c80359a122219b214f6288987942e60699213203281243911884d420648699274057c842e606901d59c4ac200c100308ed8c4840e810ba8ab820230a59a0242026212b466690f9cc343183c30c9518195ab06488806242454020d0073403a201091992430834a365e60517ac0c11cdc8cc58a099900c29095934368070c042080f311308d30205b010c98470a0699245a88f2c7c208d5a16b050041de460067bb060053c5cb09c618693248e30a26228262c418910352ed0cc4021802a54b210033e68c043194e8d349058a30f1cc8400522f0c005e4507213c40278566564aa283421901ed8800f1470c0000598220a013851858a124f78d8818619f4c8c30017b040010840d221070cc5430b7dfc808a9d3059c082205288020a1a6610e14005292081083cd0010c9441c617a4299e68a20a95283288410a60000235a0f060073288810a502082104820026170a1451302c1810d4410023d32b04598d7519c888c04f2c710fa60010af2c06303749c31c66bd2145140d1441427455c48444664100316b4c1c6195bbc9e2200519e3829e26ac148a8fd310419c4a00529c8038f0d60800e34c8d8428a004431a288abca87e40551a865e18f21fca0052c48010af2c0030374a0710619636c11049214511ca1e4c60a5590b2840b2df8200733c408c38926dc03c608a3074c058464018485cf1562aaf0a102cd0442757ce8f8c861c1cf0339eb8648121011a0d10c3c7c72b07098b9016483554388066b062130bcf002a826e48291166a8cdc50c40622390c110999a19199f9c8c8c4c480ac1b2e0aa04caa9492d75836a1780c70a1ae2dba90d0191d19a14c45f4a85ce5a53c7202607709a27b84db83d64646e08c8e188133ea7253978d6b466b6dd583a5b8b9b981220a14991bee08a5fad5ca534a542b91f5815d4129af7c07c967150f1685c8ae21b25b348dfa958fb251149b6504e6f54bfb43cb54374a44d50915082315b655ad5919a0b1f468cdcaa3350b0f0e587fd008b4d6ee1be58c542a9e3cc4bdf6d64befbcf2c60befbbee5e6b6db5d44e2b6db4d03eebecadb6d64aebacb2c60aebabae5e6a69a5944e2a69a4903eeae89d76d649e79c72c609e79b6e5e696595544e296594503ee9e48d36d648e38c32c608e38b2e5e686185144e286184103ee8e07df6d547df7cf2c507df7bee5d675d75d44d275d74d03de71c1897a96e7678504a563b5b0a2886d81c1972840023028cac188d6c86d80cb162341a8d46ad5977b4667da035cb031ca03aa38be2e8d0194474c820a2d9878ecee81a62a3a333ba56fb4fa3d1101d24a3d5fed3111d238c30a287ec4b79d5010e88261d738c6c8410a2cb0cd3da35a59846b45166fad395f160239e292a4ca572928468d6d0dacd8dc4821444245fd0908c707046efc8281446088cd016a130a12f26396a4d74c5009ae80a2d9ae80a3c78d044570869a22b5c135d11802a83102301c4d21757c177e392a0be602a5ccabc1499ac32d5cdc3285aeb696d954ae9cc90f1a26899ea2623a93e954dabdfb942872933ad3c4339a6cabe332a42078ceffc30c2192101e33b3f28a1e2c8c9f479a46444854e6bd6183e816dd541471544cea6b432a95c4996c2ae681f2b5a6ba526525280d61a154a6268adf5a055594437504852c6cd1eadb59b0b886ee410dd786133ba6e745a6b374a886e626ba30b2b7d19d964aa1bd5af52ae9dd49347d7ca4b5f4636364868cd66c786869bec743a9d1cf3643da993c676b22cf31393b792a96e483b19cc75a1b09d1d2c93444d4699ea26c34340110d710da14434440badb527264fa1b458735872b46649a0350d888e304174a48a238034254ab22a131d41c1113854a34f615985ad485dfcbf74f16fa2b5f65c545e62e2208c5ffc8a8e02e635ca45426869a4cc4f2727654e1ae2d44441cc91a96e7632ff927d274161ed05199a34910c589a48862f12431cb5d5c4c1a4d5c491a5d5c4a1d36ae22040ab89238d5613471bad260e0cb4d66680a1c890d66a443898d1443848a08970004113e1b04713e1308426c2219026caa135510e439a28075113e5d0430c456a0059d26a0089d26a0091a2d500626a3580f0b41a40b2683580a0d15a7381861764b86303ade60e13b49a3b62d06aeef8a3d5dcb1845683476b3578c0d06af0382243831b1d68356e88a0d5b8818256e3060d5a8d1b4668ad1581e1869a414aad669055ab19448b5633c8025acd201a683583c0a0852146625e202246915623860ead460c225a8d18b4d5888144ab11634aab114300ad468c52ab1163a7d588c145ab11238d5623861bad468c3a5a6b3bd8b06129114313323cb1821001e08d56df8d4bb2c23095b5436b531001e08794efb4e00305d23040ce9747594e34d269cd8223477f2a6552adb26b27f32f38d61ba21eae10f590a271a335cb01ad596db46635a0358b8d26eac146d4c3c85aa3358b01698860c481466f5c128d7295bbb9372f497e2fa793ef644d010d0f110f7d8878104010443b0401dba8285a2fa1f2e5bfe434d10eb23594c9b9f82843f1a846456419e58cc0f8ce0e356d44024b8d93af4cf9bda47c8774d3253beed11965a8d10d189fa20345cfe9267329a31b9b9e9509c5b3b383e523231b53f6e59f605896154625d3bfc2a88484e8e070b3423d9615eab1781227933f11dda04564830fb2ac30d414264e64232c3b2d19dde8a87474466ef2d273ea49f94e8fafb251f6a52c2330be934d3b8eead1a3c73ccb5626ffb2c2309cc48b7814365af928bbc9669c9362a8d1174cc56594e9e8b80ae536d9635f56a31b4ca336f62525282ccacab9bc8a0b171f8db0ec6427b427b132ed98a48c443158a1b5f62903f4c4817400e510436a0a1327925899c2c4092b1f2755c8bc0821509e41788860b0a3b51b2e28d3c9948d6e50a6d1a504952854ae2c69820a110c48b4d678f0c21e8d0aa217c4b8417d0a33b9aa891a0f68030c91e8052f64080ad328476123d41291e88a4435ad0160b4f251c6056572510d109aa8e604a29a37dae8b2e9e1c1d79531e18232655a6e20aa71ad3525bb88095a1b1be0f908e18293d6daa3302a2b0cbba2bff89522a21650edba763218232f68a32bd30fc6d49e682223de1a4964c407519101b4d67668a222528a10111509a9544e7446a88cb4fa8cb4fa4ca3304ceac9abcf9c6422a13013a9356b01ad590a68cd4ac09625523ee55f952589218886fcb0061a5598328c8acf9228c9567f3a2d1155318326aa229026b2e2b5d66868ad883644e34188d6da15f5d034510f0f4dd4434513f550a0897a5cd0443d5168a22a7068a22aae26aa828926aa024c13558181d6ac30c0f802041f10e491012f9af8d0f191c3eae2e633ec944760563c5c46a314869d9a1032e4e6553e1aadfc89902137a84fa57676b0ec2adf2965d463d41e9ddce45eac298268536eb3603842c381486605e6ad038071d2daaab52f9a14c5d84c75736a51a088421eb0b868cddaa259473c2a50a097eb6a0dd56aa2009254a260b9b2847e8d31c9b2cf99078be84300d1470b169135052b7662c182eae2239409c33efa82a1ba8c6ef2a7b2d169e5839d59e6c3aba6c58265a4ff4689116e7283f29c615fb9de58297328ab4c85e251a546abecf5093bb2339a22e526bbb22046a39b52aaa4f3aa159223a3cf4efe6474a303238f8e4ee6bfe3289d55869d30d46885c27236a5b6490789cd756539a253ca5ef5abdf1bdbc94c282fe5df71d52a7b2ea8d2eabdfcc974ca4956252ea65336ad325336a596e0f8ab8e8c463e6574b3ca4ca7914e4e169c1d7f150afb1d2ccb7806b0b1242b1e6c847119ad3014182c89d14d129469e45598b2d116ccca4699469f99bea8beb4c256594637aab729650e4507cb0849264496f29d23a3d14de653b860abd18a27757224d9af7af008653a926519dd3489c2b353fea5eb779c4afe14962858964cff53c95816264d501815fd315040018dd61a1b5a94322f61543c20081c82a0218819825c21082648491092205a04c9d25a4b61474623252324408c6c80185d296c6403c4e8c86874490185203982fc80e488b7cb895661f9af601b95a96ea4f0431b5d56161616ad5961da9728cc81254b7e2fa4dfa23f334101cae964daa4947f2923ad78b0d567a4d3c9d485d445e53b5d06603a9d3c5b2515b6b2b8b466edf762e2d25a3380f5966ecdcad9ff6ead8521406b166ead59ae4d968e459282c6074dd069adc1d110a39467923e6129cf4128d2901cd1b263f2131330a925abc702e5b160b9e2e44a13ff1313fdfae12a7329dae456fe9f3041869b0c5ba54cabd1c64ca7d48eebe860a3d40e0f1e390a33d9605846373a29d34af5a62f7d29020911a32246438c8818fd6fd2919111a39469455afda9082429d3ea483e792619311aadfea444c9e855188a8bc96695f1a874747446373d78648324655a1d195561ca92f49c547e32eda07854495628cf3a27df516528cce4271e2eaf426129d36ae4271f61ab918e4ecfcaa433529930cc879469353a39cf4a65f2e2c3e8573ca91dafa2b3329d7876968c6e74b0d516cc0ab6faecbfa07eb532a9546e1a994a7994bd17d5631919210a4650a3b5d66e74be60281d9d37226294e924f92fa3ac898d8d46d9eab164252e2628189645bfd6a72afa7ff4e5515866a37f956aad19b1a690a2a9bea478461af5a395103ccd9a43082e6c31051186d05af32d44b023f31511c0a8decbc80f22e0dce03efeb0820efed0a3c90cfe90e2c5f4476645081ec8a27ad557414261a8242b304f72158f5b51b4663d613dd19a2580d6ac2730d50b00855109c2085a03438bd5675304e14886a9be0aed7f1a61abd13695b226fc28f9e182d69a8b53c01d958fac64aa9b3c6fde4d4c925f6339890b49200102449bb02daa3f9d9cc9caf7e85158113bd909263bd9096ca3a2acc0387115cf1257f12cb102a5354b8927ad594e5ab39a3069cd4ac25ad2876c0dc90dfab06240e4066aa8804688375a6b1f6c32026b8210107084d69ac507862888620c2a7cd05ab3c240020f485431381368ad7da43839e28f3084084390d61a488632f658421a6ae84183d69acc1a0a18c4e2e3c20212ad356b8e07d06105863c56505b6bd611684051c58c2fdad0a3b5660d210a675c61853484505b6b21367466185072c100fac82225ca1259cf2ff1e1c3caf9ecf103302c245ab38e68a7130f95d3c999b8187c00a5c607458ae4a0b556ca2bdfb1d20311f4a0014d67a47ad346a3075d985cd77591b2e041032a60e5907a54ef05cb99a9c96f8fc20ec2c84e64a897929d96648f45afb013962c7b6d52a5769a64bef226a653eaffc90acc5351bd95259f79c98a6e02a396d48e0aca178c4ad6e44f29932a0b9645f7fc12af3126abc7a24d4db03491da514129650ec58a8eb2ca5c8af68792a99842c54e9355e652b8b895ccca92ace797d04700d05a0f37b092a94e9eb1d64ead91f1850d4ed05abc79372fc9c9db013070835111d808eff0a872c69322612b9489a4519fb3d75da6b406e522e993a9942f0b88d61a4d6b51f8c2c7890ffb26d56aa4c276def157adb2d19b54abd6ac1f0040a40335c823f5bdc51e31dc4e6395c0b51ae2299f437db58e03dfafcf6fdc595658690470c4f8dac7dab9e85c42c0564a31d6f1e1eafce303b4e39b71d4764ee92c8470643a2775f1c95ca3f4fdc6cbfcf4b99bd5ebb3ef86abd4697dd66de7916607cceba275ce5a7a6b7dde06ad13dbed10ce68a3df06dcf854fa7e3ee3f51cd988174e18ef847f2fde6b607829c5eee68da53b6480c4d9e60d617e18eaab468d76d6f770ddf7b97c6938fdf8f42d7e50daeade0230bdba6e5961aed26d05cc57a3fff66c7196f613705f5be8f13576fda446c0d77aab84f7612cf7a391b5ddd977d6d9d2faee1977cb4af1ce70ffa46fcdc031be0cddfd2df7c5b58c6bb196d9cd4a1fbf5332a8b5d9ad6387fff08e63483d9ddd73423ba15f31a26bfda4ceeff49d0f86e1a06fe7f9468ddf6fe74ad7e5e5bab22dd7755da46a811165b5eedad74ecf59b52e5d977e14cf75e5ecec44f9d8617d112fb4795af94eadccef85d44e5fba497396124e5a227daa270b1e5617d7faae335e7739eb98f701ee63ebafb57c796f97920bfd60cc98660a9dccbfe11612d71773f40823c617bb2e271e7c5d39392747a9aae8477da992da31e15c97d5034b0bcff733a6765ee976429d858eeff05a8af595b05e2cdefe08b775373bbce5cb56983a5f6e9f303bcfdbc25aba2e2e2853a6e2c9af4299ae2be7b9682739db5f8acd169b256c563c53ae4bf55d54beb3ffca6b8c0ace75bdc650d7755d9f2d0c80619e3bca6d33d44e635d00591dd67a7a86ff50da4a8067b76feb1cde672fb6f40abff53deb72422ab57632c7099c0058319d73504a5a2fbedbb95bc575d5b979bdea4b697e58ba2e6c453aa2273e29e77cf9ed5de99c198cc6f1e9e31ddf670b3d96aecb09ce978b1dd63ca7a3d3278daf745dd7e58489173c679dd7ddbd27b4d9661e9ded9456c699a5aed1520c455a551ae78656c2176d749c45bce3acfecee1b96955d59bafa3b05a5725dd54584baf432d1fa4156698a2fa552ce795aed2fa6e63d0caebd7e73fbc7f6314c672fe75976aedaccfdfb951eebff4513addd7a94f135e2c2375d3d6bdf3ee726974ecb15e5a9d953f809758eb1c6bcd713b0ab3c9594929a5f15e27f1cd25adb7ae3553fc71deed5c68bdd061eaa8fd57f5c37bba586995d4ba8eb6ee7773ef7bb18e144259f58b59e7e82c7d5a29f41c778c31cffc15bf6d318410de5cdd9ccfeaf7fc7f566a29d431eb99751ca69fa1ceb1c2acaf73128ecf23cd97da89e7db53bcebef7dcb299dddf6a590f7550bf5d5d59dbe360a5c7f5f2ddfeb5d1fcb0b8585f5415aefbb7956014c87f2ceaa37d63ee73fa127c653cedf77e71dab130f46f724d4f59f7613da269ccd105ebdf3dcb4de8db7c8970eb5851bde87d16ad93ad79f14ea2825ccb566a13a47d75bbed5eff562a136ff6fb8777efac57ae531f6e9e0d769eb7c940968ef8b7fddf3bb5d75d44a86db41975d8d584ef755f27fad14fba46fded754e0f5873f62b8ef7e14ce29516f09b176d2abbfbba55c977166afd1d5995d5d226a3db1dc195bf86a8e01f05c3586d8abacf6e39351e0a6f17ed4713bdc314728ceee1badcb1a62bd7155023fbd6b96f3f5ced5e9937adf9559c3e9f3ea279db8745affe7ebb07d39c22657bbce6e3ab7703b7e265b7b9e2e460ab7d5b926e1d6d5b7d639bce3db7389ae59ba2769ac9f63740f890877d64f3ae9207ef18f88af23cd39677779ee1cfd9ec510ebd7ae5fae46bcb3f7623ae783f4428933ffee5ca3bb0a9fc6e84ad785fa1329bf17d25f57be48a42545e40b2995ceb9fcd8665af7c6482bd329952db9a2fe1bdfd5bae3c3a4eb7a2fd84ece8dfa5917619ed1af7e3296ae8b6477308cc4454522d1544ce1dd70d797704fecbe745d24491dc5d7d91cef7badd45d29ceede0d5b7c2ecdc9b3f61e9babe602a2e37324a4b27cc9066bf516358ba2ed52a8b8ff373fd13c78da3bcb574c11c1d8e523f07a396d6e9d2759134ca4998be2e2a0f3abcb13fb530d278f72c5d5729e3499154d8beae9c25365ffcca7521e1e2db9eb19ef662bfbabad275a9bc9449d795735dab9dddc468c5b313044e114a68d50eff455db7a6f9e2d275e5589e20704828d375a956297733dfe995585efaaa9ed84bd7b5525dd775199124532ae1b6eebdbbe3de5ec248d7675415d493ebbaae2c855d9bb76fb7a33b6779e19b5eba2ed5a388c018becbf22fc6ae521d4bd795e9ff8cb47a2ed79573e5ba76308d7255c971b22148198f8a44ba01c9ce0e4754d8ca73106214840f40e827d10987f8c10700ec158f0e3e3cd297483da87c25c4c8061e6ed861081d6ec861071c6cb821071b8ed4e0030d38cc90830c92ea100318eccb6a0718e884a3172c7c24f85dfc84495c4a2391103510002e3c12102dc01d2c935e4522bd2e74c254feac1a3952a4874402001130bec3c39047c24e242e2813172ed8c90621d1d16442ccc01586c9687fd591189bd0eab908017ad9101fe8ac4722adc03c9276c31b2fd4800deb771c157aa1061168ad65911265891a176c3253ca8b58671421d2528085042c69cf29b9496243c410488e08f103007ce861c4c30e3ae480c30d36d440c30c32c400c30ba21a175a30526488900fcd67464634c5a989a6e881e5029017445a0aaa20c69206021c3810476badc74a89f428c205b5f2ac8baf4827cf54375904685afb40208f3070e0c184a6e48e24dc91834bff0ae3d2dae7011f38dc20bde1466b2aec037cb41f441f60b281176c400d0df4407523ca001432e007132df49f4e3c545afba8d1b206b4f601c3067c1916d5673caa4ff160d9c94e7c6b9f355afb48c100357e654299761afa646ae2745ad2da6701bbcae9b4a4b58f02b2d63e0940f1ecd63e08d0a6d63e68fc09a3a25bfb9cf1ab57e52561cc9065344b067d5b34187b5c358618183b25713af150f94105b268edf38517faa930a1b0957f7914ca8bf86c442589fed3e9bf8c7c9f3ed321392f488ea0a29cb66a85d2723af13c596154fe847d8551d1270cca5761c202c6a7644e5afb7491c254282d3b263f31792c0b189f92fd3f5961549c60589694abb26894161e8ccae700603e5a7cb858e2a48e2434b7e56da94386d6da07cc670b18b516597cb0f848d1da274c6b9f2f0658a93cd5daa700dad4da87000d4b6b9f2b3e557c7a5a83514b0ae635cac19e5fa2e7973829a14fa612939e13aa8a8ae764e5b309db92a91eeffc14d59355e62f65b5044b612a2b282f65791536454731817172f26c4295f267792f262e2fe5e4a66cd23c0118c075b91ed492d63e5fbcb4d67cc7339e25b21c9cfc5b9e1724d7a5fa144f96e993a9097d323561e282e27982e2d93a8a14f4d96c5aa9dc4a8fc69258a93ca5a3f4682c090b1f8fe5e9f92e92f268938e42650743bddec1502b140f9661e4c9c9811107462dab0c853119d9581e9c9c2c38f9b7c4d142005ef5509e13d089e88474623a419da84e58275afb905afb4cd1da478a28b22558a85489928509152d012039b1648a0a33bd00811528795ea068add17c04d01a4f36fad69a9019182050d38248a2005e1831c003b2acc146ebc23400111c14e0e1882ee01885e00dd95a7ba2b5d100d11a39596b2529ade5881c50824c7593df8bea5128d3a80838026284fa931b19d1c308f5279966c900c18820b0c1801dc268cd4adb7284a80dfd278c4da82c5f302699e5c9bf2533a59664a694a3302e28d329b5636ac0b3318446ca7270b2d7188a0d516b4d899c357a440cb84296d5631131400e35acd09a1a63a4d182b6c6022c2fbcd8828a5779112d60d4ac2e9848fd2aeb92ad7ea4b37caa0a46454acf7719a9301b214284081982f2247a562ad3684902bce002012b40630f38d0a8d21a10569ca1466bed87794620ad91c25c6185194d5a6bbeca3e56ca70ad59707caafc40c616ad811191615bc3c610630c23b411ca3402a351998ae6cba362b4100015858d8d1139468c9080d1a623abfd52ae2baa2aabfd5246a3d1081585152330da447a2efa494f3041096234a0851138448c507f224d09d1008c537b8da146adb5219a080cdb445f5cd11a9d10fb92e5bbf829092d277f2c2a2bae7a57399973ce39a794524a29a59431c618638c31420821841042f8de7befbdf79e830e3ae8a0830e3ae8a0830ede7befbdf7de6badb5d65a6b6dadb5d65a6bad94524a29a594ce39e79c73ce29a594524a29658c31c618638c104208218410bef7de7bef39e79c73ce39f7eebdf7de7befb5d65a6badb5b6d65a6badb5564a29a594524ae79c73ce39e794524a29a59432c618638c3146082184104208df7befbdf79e7bd7563a65846fca4e94f684c800605a6baa57924d5a30d50ba027098cca9b9ae8130fd6c417ecf4493079d2dac7c90a43a13e53ae6054a4b4d63e4bb4f609c0951e9712a5b50f94d63e4628d19a673a3b71b2c305656292a9302a196a898a27670cb5c4e4c5d4c4dfa4bf64a8af0253ed154fa6513c4ff4a3be782a537d8f9f46277f1446a5b58f93dfc1b0b4f669d2da87496b9f2496b486c24c281e24d9ffc68e8af22a9e15cfd6bf72ade259e15169a532e1d10dca47279ecc1ffbe926fb1586ca8ae062ca7a5a6b1f245afb1cd1da27a789c0e4e063044e6b27e7a1420a2702888285d4c449932a4ca838215da972e58a139213295a9a5499427262c994eb5a82fa2e58963ff1686c8acdd9f955142ed849477994890bca09932f612039d25a63e3a4b2e6f03247cb54373d9894659efa04f1016285729469c7a4ca99498f767850bf93f9971106850bcab4526178c9e8e6bdb84f4cd6da07f4f97cacd65a13fd275ff9136c95ea516518b5673aabf45f9714725259016dc2b6bc2a5b61a76c859db048cab32ad21a2995f2eb22a5b2fbe684aa2c7b62e1d342d386ead49a2a0799ea6685326129d2759152591511151368266ce12365aa4f9dbe04238f858f878a5b85496b1615a6d0da49a57292b1d36949ea0b00a85ef08217bc2094430f2d468d18314458110d8b694a0f8a0f540cad6d54c9534a7a56834821bb32e2f2d9a8b4f2d4e8745a725dad5982486107023b464e5674090d800a3a21149a0fa88d4c83b4d648609c2901a61f4c42724a9943c1e192f5f8e9f5174c9f302c935425d20e0f0a8cef680c461e2eda0af4725d38ec2b32d58d29e52427c0c8f343680d0bc64e496827bff28cc298e828d7f54cc0d042a4ed1069d932145ab302b198b084d6da4e76225ba27fe75751767e15255b999ac038c05e3469226c95682207e44f235f22723b5a6b3799c855ad6918795ceaf4d1dacde9f45f321fd9987c6f6c04e67bb24f026e412d795bbe3c151d494a81287b2e5c78b2910d15477224b8c5911ce96dc9fecae9b42467a629ff4f64ac680a2f5a6bafe259f9ef914e86e22179e9827a932a49cf7769adbe1b79e39270c14e4968cd42426bd6119a680a1d2388a660a2b5866d5494283da7546a49162e28936a8585c975e5d75886912787a4fa1418dfc169e233c73930f2e080f19d9367890295657ecaaeab0e289ab4662a4287a4c2483aa352664299f628894c7593ad4c3bd610362aca941eb792fd1318955f99545fb4bf2aeb712bff9b94f5782acbfc940530abe8891164aa1b5dc413565acb548f22a97e6522ed7c2a5392dfcb13b3899c08d35ab37ee08396a96e4e7ef2ab892fede6e64688d59fb2d37b69e23abd973f91ae4c7553cabc54cabcb4e504adad5458291b61d8eafa4cf55e5eb5c5e2c10efe554f50df055b89b408d2b218e04b9943c9c9c139f90a8555615261a51cd275bd49b522a5322ed98eaf5cc3c8732586d389e7094645f5a555155f7993265daac0c8e327fa783295699f300c93b2cf4132b2a9a2476bad0a8d880a085a6b288c4a912685d604fd8f312a4188a4f4e066f5d98f9cb4a0b5d6a4d4b00416ad7d0e122edaa4c24b46363a0a4efe2d4860e419d9c0c8732453b143a26247b766b1a0356b052a0880164b32d394158669ff2b27d7fe5756d809cb5761c2828a92da514161e224b5a382d29a8502eb0426688df4d745c2a2843860e8810d8e788011fe60c11c3ac08142061903d070608888033238639447151fd4133a90031742f800102e702185013d9861042aa08d0d6c2089136a58400d31b0011d4d0a40832c6018f10399118c4004458a94f880124a889e4ce0490c4e02e97102a63527a3d65a0f99952bbef226248d7ad53f17b7226a02446b5608505c4c27ff2a4cd98a07eb71293590303a6d6667a6858cb0da4c8b115933cd052b6606ab058b06866a032520b4c3cc8786262604b2ac46c3e7a67d9ac544e808abcd1411d33ecdb22cd0078a65cd581fcb02c954f1b13ed6cc67862b962563cdb48f65e406f4919139326464853e9f901956c8b23e43ac287c2c212dc60a7d406f5903f858d68746cb07878ff591097d2c247c2c4be6633161d16059a00f8d096240332d583358960c3420eb0d4be663591f10c9fa848608919f22560e4dd0c5bddded84d4cdf853d8aee1d5517b7c47eb75a5eb7a604083c47d9dd27b737cd4e1cfd27575010962f59c39c3379db49b425cda3179a60249e1beaed161f79eb5cef2f180a220a98b8fc6ec2c94f56d57baae15080a97ba5cad5beaafa38cb2745d54bc14d013a8fcace3d47b6f9b730e121b49796c2c8f8de53912009013404d709c9dbdefdd8e34ee87c3041488fefc6c8dd6abd54eaf2e5d17154e4e6e5aa9dcca75a576ae8098b00425509a63d6ef46c70ebac3a51c5495eb426149a09bfe9ed6e3dbff39e652cea3b01393eb6a0284040c33a6113af724deb1d6520a5335b9ae2c3829d0116cc490beeb889d85f64fda9493f3271d0555e5bab22e18564262e39cfc29c593e5084e0619a106048836ed002a823635a101440412b6515198302102f4070ca021904c29194042c87abe4b0fa020907800f9614a2d69a24a0f20203c172e9e8508501fd90fb211c80738807a40ca01c40321403b2099524b46201d7c466128536ac96714a60328075344201cc800bac10b201b1401f1e13696b3ca7adfd5d3e21ad8e7ee6b6b77d677eefb34b84e61d6d1abcd5a5ea767903d528add9655bfa9632e5d9726ed80f6c0d1e5cef4df938fe1b425900c66859e5dc779e973fd6429a35c8563a0abd5746e8f77c3e04569e3de79c2eafce17f01a5f1fdf3ffae96d2ad5d30e18bf7c1b9f17bdf0fb70053b89f86ee31e69f9b0591ce5ce1cc127b765e7d05f6d65bf7471c9f86f4561564c736c3c7d069b8a147014a41bdd5596dff2b7ef77c3f014241f48df763ed28adaea5dbfea70c3a01ccaeadabd1ba3ba1fb6b02e73ee359a38bf731fc5cba2e6c452a653c2929a012b875fb3af559ddd60c71290a88041a5e472dbeef503b8abf745d9f51ee45fb75e530e9927d8545d58409d008f6bbf346d73eb79c56cbd275adb2230112817cdfcf3a4d6b86505e5aba2e949f525843c1c9af3126380f0ac16f19ffa57df86a8da9e338018160bf9b6984d95efb8eca5b3a9d9c545aa55e67901e4edafaa6cd2f6e5dff79e9ba7276fee46407533dc99fc2725d3b7f7a9c29a03ce6f3a739ca6df7cb7e231ef33fefacaff6e89c6b780786f5d6b8dffdad5a5a5cbaae15cab36fc902fa40cd19e3ecaeae5e377e5dba2e15b6c566099cebbaae94ef5c017960675b9fd74da975e832bf0ebc75f052adb7753cab7d1c782dafac2ea5c61acba8c2542a27d73505b4819d2dad39ca6c3d3ab9e5d3c0ccbff7ae52d297e7330294812b1dc51bbf769f21c6c0c52edd4db7b5757f1b6e901dd75f4b8daf8bf6b5b6ae057481e9d0f39c7aef9a9dbebfe4099005e895be237cf7b47df877e9ba7272a00055806e391dc6d54a2db393b3745d294ca549bfc393930547cbe31e9f725d2b13ca84e2213deef19debdaf91d29200ae47c6f8691e25cdf762fa3029a00c68fbef7d8bde85e96b60e87eba4d0491a3dc397e9804fb195ce79be6eb1aca51c2e3cf89b640902c781e6c0fa7d757aa5ddfe39070a488e08298dd9465bb17c5767094c7756c32cdfbe70ba9b7138fdbe5eb79b6e3adff18b807cacbdba3ba3c63163e9050802f3abfeaa2ba6966e2bff01326bdf15daf92c9c1fa10904c7832edaa7a9d65bcee7fa8d4a5fca6c639577cea8b11b95e2282f756e3f578bad0362958ed6a96d7c2fa59b1bd446865fb3d378526bffcad80087f585d23eaff19d9b8f0b880d77a1864f62a759e2aced16a035dcabafda774e4b8f756f06d058a97ecfbdd79dabcca5ebcac10252e355bd29c4346ea86576d7c2029446c6d5e196185797be692d5dd70ea6daa41e15ce0ea67ad2a3ca72e190400bc05253f8f663edd9da1d650052c0c4156ee7ef3eff8aa3ccb1d00025e04eb7b9def9567fb53923e04ae851665a9dcd766734e08553bfdbfadeda9f673cab639dd367b45f1f7433b6f3ab5d6e0c9f7c13de322ca416cffbb4ab746a59c9b8cfee2a7f46b75abbcf31dc3e8d6ed248b176b83e31e6b4af9f9c55de8c1f3a5018efd4b1bc593bc5cf79058141a347b7d2ab8e17c72733ab0bd0178ee227e7e78d1feaf7cd06c80b173dc69da98cbfdff6a706a80b9faf71d63eb57312665cfa15cab958011d40ea5b9dbc32baacf6d5274d0171417d4f48a1bdf5466b1d2d5d17cf8602da423aad58cb076d7df6565dbaae158a0723697f9512202da2950fdd8dbfdfcbeeeed27525715dd745fa952f01651175d6f8b98c74ef0cb52b5d574e0ece9fb0bb01c2c239f736e69ddd76903e0685b159538f51fb9493529c85e87cc35ce7944f6209bd745d39487cb030ef5b1ca553f78867c5a5ebca69c0e70af2428fd965cd0fdff9b8745dff1b55454b151b26384b7a3293ebc2b1e4f85841e2eceab6385f67a396ba745d0420c0ab7832ec94adb0c28c4f15ea9e6fb796ee1fd6d367e9ba7272a2d864c1c1b1b4f850e15df9a69575d67de3bf51e6a31c1b9bd3c999d8e05c178e85c6670a9e738d5eebbbd32db4791007e5d68e6574f26e7f2ac8bb76be1ce5c719afd5520af3ed9ce3dbf667ae50c228dcfa76fafdcfbbbac72e3ba5764ca50f14eaa5363f8eced178a9579b52e6506c702c323e4fc0fe5c5ea736bb8d1d854ea0fe2f5f58a58e53eeac4ba99ed575e58c54d81ea57ab290a2f83401478fd03a1767a672eb40dcedfaf6c1ac5f4acf4cf8fa1a5b0a5daef859bc84ec19c6fcf665f6ecae048b6dc4cf3a57a384d0771230d694cea9f16b9bdd6e24ecfaffaa8ed0fd9dbbee2358ff58dd7d3b57bce7dc46b0aee3f34de9c36e5fb90191d61f63ebe8ae987adc45a0f7d617a19d72620ae12602de19bfbd1bbbea55bbfdc77309a3bd4fd2396fde437817f7bb2c69b6d4ff85901da6f1c2d750c2593f08f5f173f5e3fbb9efd37ec4a85fef9c297e7f4e3f101cadfadff5bf72bacedfc74b1d35c415fb767be6ff81f55be98df6d9f74195546fe9f673acf0d9ef417ef0febdf03a9c5f9ccf83ebb6abae5e1ba98319fe0ee494ae699e13e7eab07b1dfc7ebb62face3ddab9750e1e57b78f357c87f1748d03a831cd4ffef68a23befa06b246bdfdafd3d706595afaf661589d7fa69a0ff8b28e92428d298c54ea1a40871abb7b67bc6f6bd434a0f1f973fc744e4df7d333702fc6681fbdd2cd689fde83462ab1dbefaecbbd779601c5305b3c378ccfbdbb730cfef794f8c1a7b1c4fa330ceec5bee59c996ebff6f30bb48e35d357a586f1b1ce2eb0f4d2ad5deb8c359c3ab7e0beadd1f5c498053f7f3eccd05a691dfb0aa4add867863bbef8feaac09fccf73a1aedbbdf29f0fa1e53eaf251e9d8a280beb736df0bab95d4d51368b755e2cf18bb7a9f09f2bb3eb15be8b63f474b70377697f53af9ecf34882e79e67ba27a4d4f51d81a63fa17d1931ddf141115888298c6eb38b19ee10d8baa386f2c197525f10488c617530d6ebb34297f5b01b3f97f39b0fc698771efe516fa7777657ea8c07f5978f4e6c73ae2fff8ef8b86a8cb7672b29d61fc8d83ab76dae72df1ab3071eee5c5dbe4e5327bf0393625c5d6b8a6575cf39e0303f3d29c5f84eeaec069ebedae677257411ceaa0139abffbcef9b3e7e1970ed71cf492f96af1dc5807d59e6bcb17655cf29ed70ffd1664aa1fdf968bc4075aeeecfb47eb5905ae0c91d9fd63bda796d8415d859db39b7e31d21de14906e6f942eb7cdeeaac313c87353af72d6e7b1c65d47bdb96abbb1ef9aef7e3a28ce11c34af7a4cfe53c077dd823feec1eaf96580e9773be1762081fdcef12d87fdf536c2bb556be1b87749cb3a570da986f049e5a6c2b76699d8318029aea7c6f8e7bd3b9bd3e00ffff473afd3e68311cd1451d9d95d7239d3edff83da9a510532769a4cf0d773b6eaae59b18baeb801da56f5de7bc9156ebbc0d38258c5bd6ead9fdee06dc3b379d193afcac3b66c363943167e714dabfbe06b4d3653b1d471d5d65407e8fa9cb566b08efb36ab8883f5e77257d3ade9a46b6d63d5397719e95c60538965b53b7e18cee41a800bff737dc0ee3fb73ee2620677a699c8e56fca84580d55eddfe1dab744d371a11632c2bbccf4d57e39f111dfb8c51e26865d6da0cb7e5b477477d63a63297416dac306a285de39d3119734a37297cefde89dfc778f1ee7ddf855febbe62389b717ed74da8ebb5370c5da3d3aab19d31be5b30ec74eeb0fb94f13dac5f64a7addbf0baba5d622fec43bc9f85d061ab1dedc2526d9fddb4e20c6d8507a036bbcf9cedd318ffe3825a0ce3578767f57c9ddda2ca289d8c7ae2d7f0bd1675e64de1b5164a7b61cee2e60c6fbeef629f36622c288efb378d11beff7fc25068ed965adea7b3da2cec096db5d9397ca795160b37d28a9feae832d237aff01bc2bc6ddcd1fa74d20a524beaef2dce50625d855baddf1d257e3c6b7d54a8dad5285fe7fce07457a790dfc6afe7fbe713c63dc87efad9377374eeb3bf20f373adf9599ff3412c85ebd81d7ed6f994baea28eca9a5fc6c6ffceb3686828dd0efb4143b08ef7d826bd73a5af7e49cd63a2167089dc40eb17b2e7a13669c31466b1defbff406f2287d2bb1578debbb4cf8fb57ca5af383153abb046be16b2b657e78672a95f0d4bd773ffbdbec5e4c8243f9b8d6a8a5cbf81009d646a7a19556d26add3b827659e5dcb9421bf73682b4593b7ff07386373a0a88ccf53e6c777d07e52ec29cf8fda9b6dadd7c89509f95f8e2ec1a6a5cf71f134bb9657dfb2285530fc1cd17b73b76b6bebd85609da4b1ba93d9b7bc41b01b5ee74ec33a29aed98f8a7d62bc5dcd70bf8a8180f78e7bca783176d77a1f3ff753af17663be9fec1ab18568b6fbef61ff6c18b7fb15b9793520a6d0f6cfca975ddafafd6990754e24ae9bbfeb6b5afeee0698713578c5db490521d449f19539969dc13e71c40872ebfca78dddd78e2403f97ae9f63e812537903bbb5ae0e7bae383b6d03e7acdbcf17cba71f8c7c60774f428c69a5fb5258839fcfddbaeb3fcf313e1a48a875bcd6efc7f7ea0c5c4769f3d331beced3cd3df0be555f97143ab9a90c64ccf4e7a5bf9ffd18604dfde3b515eebf73c3e0f57479e64a1dca495f50a984da651d1f5e1c5d807f6b1aabcf4d2385df028733f5ea22cecee76b16482df5df7776c2e87a05d8464c2585f2d269df5401d5f4c63b23bd5e3dca14647ae7b592ca7cf1942890f1ee99add3ed34437882fcf67baa1f4b8b2d7e26a08edf3eed2c95f759274b80ff3d95f7ddbcdf6d125cb779d397ddbffbb947e0d5411ba7b6cecaec5a04eeae95afce1b7d4a9a4300dfbb7a6f1ce14ff720b8ffde9eb8ea3d7776580ffc363f85f0dfdc5e6f1e16663d1dd61e638dd4e2119fbbfadd28f5dbfce41d16cedfd7a173d95fc70fec972f95b856a723760f381b3de2fd9952fc167620df391fbbfcda9d732f72206acff4ea1aa7d3ba813ae77ef145975b3fac012831764c27cc9edd6660daf9f0754771b57962c0ea4c777ef8b0fd0bedf8ac6184114fbcdfbb7d81fb5bc22da9c74cabd31678ef3d666ab77c593aaec0cf9b21760ded9b3a5300defa3b3fb7165bec13c013420da58373ebe86e1dfe5e7697f5db38cb68e988f9bae8b6f47f1e7d8e6ab58cb866df2e6f39687cc849ad8d2eebd578e6796bf06ebbf9dca4b0fec3950694fa8314ca9f12da1ca1cc0c648d2f6996f0cef720dce36d1dddda77e7dffbf6cb805ebf9f71c4cf397438c7804a271d7d3647b737a41b064fefdff9564a237deba801645e80dd7eae71def6ca57a5cb42c605534b49b1a4da492f645ab0fdbebe4fa37dfa45772cd892c2eb6cb6d8febe7a05d36d58a9a34e4e0ba5477d858c0aa4ae735e1c739e723e585f0a72a519dffaf2f6ea905a2b645030ddaeeedfc64827bd729f20e3f9733ec5b7cebc6f368185f1617fd3569fda3a59027a1fadf79dc6f9d53ee4428604d46248e7d39e5fceab5fe9bab89019c18e995e0cb38bfb5d6b9f43460455db8877dd34466c69d572c88440e6acefc4155e99efd51b043adf3aedb6374bf9784740460fea96bae933c38cb7be370f8c777df21dc6bcb1abb809193c5ea5515b8fd57ecddb271b327744e81e94d94909a1c558ae21f301f7e88615d248217ef960e9bab06840c60373ba39778534de6773c6a5ebca2a20d3011bafbe2f6fdef23a3971e9bac0f80eb657af441d321cc812ce68a98ddaa176db2d4066031063b7db5dc62debcb5cc868c0dfbb7531d3ace7d4543e91c9807e5befa9a58376d6499f0c06a286eef58cdb418f4e5b1218193b1c751961dd73db482fd4177877f18def421da9fb2871e890b1409d5863f8b0d459474cb30dce75e15876c854e0be0abf7acdd5ad76cf95aeab0a0e93eb4212a18d9500190accf952c7f951fbae534e00ef8a1fa61abf5dc77671d76aa77c9b0e9bdddd7d5047bf99da9f43bab737f64cad834eda9763467c1f84faba1925ad2f01a7fe9e377558cf8adfc781dfbd35eef89eb5167e04dc56ec9cccf9bdd7326b08d42caba3f35a48f3dc543f20cae76ebefa95ea3aa186e3ab747b4bc730cf3a9d7e6342c77afefb272dae32bba1dddd10e73d25ddbf6176c0933a679cdf7c5ee3d4b80d07dddb792d9e54fe67dc80afef556d9d8c515b87988dfdffd0493b5fddce625fa34ae8f0e18cf5f54ba533e0e5b71e6bbd0fce899dab8177bc143bcf52e6ecee4d03ffbfb4b76afaaeeb7817f07286d7cd2be7bdefc2ab806723b5fa399ef5627b6d0260dd6f527cf1c4ae6946c086aefdc1ecafce5a6d4583baa330ee18dd93be653d43c7ecf6bbfd18622c6535e3a385d31fcd316ffb622d63ba27dd75ede2c64f6a321e7e33db0aed9bd5561f03cff89c7bf4b918534b3b218d4e527cfd86811dce5cddae2f6bde160c7875de193ee7943e69bf88aeee87ebced30bea71526bb75bba9fcf2ede0164b8a831ce492f75bf4fe748b7d06f5e4aa1b44ec2aa1d95d182ba74fa6dfc9bce1ae194c9c25d5ce35bcf38467d5dca6061efbb28357ee76cf62a65c2bc2cdd8d92ea4c71bd5466c15d9e99d6e964d671e78885297d5adf36eb2b64275fb58e6efc769d115a41db475fb4f9a73b287315268e5eafbcd0650d1d53c16e4b2774bb520d9ddb29c40ce20491c275355f876daed85dc328440ddd338d50caebac7b50887942b6914e672db518cef73d7e4299aeebe401887182d62fbafe27632e5d7f5d2a9e0ce5a44a4c133cee2b7f6e7ff8fee18b09e437a5b4e6089f42edf66e11c384fc7ece29effd67edac4b80f6299d6eeb7a1f7e322a61d33b69ded05acf993a19474c12b2a5f1669d27c698463cd58841827c4e6ec772be081de3197384aae9cc3e5dcbe810565bba2e8d32edebcad128d393ebfa22c608326a2ce9c6dbba286fd530f2ecf0a09488014466cff1c9adf5d3a75d2ec274ea545288299d97661a43840d9d479769ad35ffdef98ffa249e0ea9ae5ee3cdd151556cb2e0808919c2cb3df5bbba6e7ce167bb458c109ccb6d318e9b52f9a8fb20c0770da176fb9fa944fa2a4c5915317e6489dfab344f8d9f5c174f0c10b2de5057ad29a512de1cfbf8c175d39fac5fe993dbe69a80181fc8fc55cf7f34dbfce4bb2e627af0714eb9abb371f360efaf1b4a5861dcfe51c7ec404a4b9dbcce42572bcd313a90efdd4178a173fa4859c4e420c7779db5c3f239b6d86a79273138709b3ee8e8732735cc39e60693e29b75962ff1bc587a8c0db6a4fecfddad14d3fc361fbfa1f57cf5d373d3fa35789fe56b176174f56b7e1a405aa9c5943e18efdb9c67f0d8d19ae583ef607457ef315f6fb8e3dcf621751bcbe05f7eedaffa95393ae731780e27ac933aab61851906ee5d3fea1c7e78e6eaee0bb29cdb55b8e79551eae9027aff520bafcb37bb1b5b90e5b54edbf91ef5e8cfb220666aa7fcfc30ccf66dba82dfd9d27c1fbcf1dddda902b7f1bed75f9cd29dbe3205f4d209ddd6a7dddd8d025db1cbd73abb21bebe4f7035b5556b7f77f18b309a403a5be5c5cf9fdbf67e092ac5baee8727fe78b183247834577721bc7b3f8c6b8e1941d5bea9aebfbdeaf9de2ce5e8fc292c2b30bfc406c788006f09297d17feb3f7d61d82981f76a79dbb55df791f041056f7ed5262c73547adc7cb0c1fdbfbf1beae30e711a5bd186f7c337d3ab7e3e1f6cb34eab775eeffea77787df7177af40fb8bb173fceb8b5b5565f0fbcb7f941edf1ce799dda0ed058a18cd6f15b4bb7ad1cd00fc78df3bc1bd32927dd808efac6079dde92e29c35e01443bdb7bed3add33066c0edecdabee8a29e7766989325060333d77f57f1a478bb37b71d4e3f7a9dbb2fff02fbeeb7af528ff14177a905b0e7a86976392bf0fa4efd1b5217dfcc105260cf8be5bb832f63f9fb4d20d62b67ce764a7761b475e0d75e21d4f83a3a7374a59c14a66a0225868e1d6b950edbeda6cefbe770f76cd55b5797f2ba87e5b00e4a0b6f7dd761c6b64ac045ec58d7f8dccd503b1a07a5d7c22df5abf4ddde33024f1f8ceef052fc513ff8240602310fa0f2caf8207457ef18a984e365eb4e4a6725aed8abc34922e60dbf2e1f5af7553f49b71b307b9c97560c639d933ae0d658e5aeff38eb79df6ea3624c73a5d6dd78dd8c0da0545fb79d96ee694d2166034798adb652ba9516caba868d56c3fdbe6ebf32cac9804af55f38e37391faab6adcf753e6f9d5c97ba38c694057f576f4797d1db5bf9c285dc42c20be57a184fb239c1ba34cbe5212a30097ef74fce0ccf85dde9d8088f3be9152b929de4ee7931804e8e8f99f66adadcb4e331a57bfc5593f2bb1c59e25939833f6bdd731d5d7beceaf9a016ff66bdfa3d44e8a9d2cc35fd44f3b1b3f66e9139291adb4fe9ac65929b4fbc58cf130cdf46775da319e734b8c1830da09bd3ac7f8d5b7e50be38121ab7bbd6f8cfef01def2662be88f122a60b2731077028237e526e37a97d471f176f8bcfb75659b18dd83ea5f9498c165862b288c1624a4c982c48fc6aa4d5a7dc3066cb44080b57b04215e48bf1fae339dd67b7e7931015a63088ad31bfffebded51b9d15646bf71eb5a6f9e9f42ca570b78ddbd128e176f6515bbaae5ff5e0234251706a7f62fb5c5769e56728d897f0c6293d5ea7d54e03849ea0ff393b1f7e1aefb5b53ae17dd55abbbcf2c21b2b3c7245a809fbbe77d55a3bf7ad170742df63e7f76e6c7d6f6c858a920547f5ab2839d6162126bc1def7b3ae68ce7dc1bcc75e53cb1d162130527e553567e7a725da85fadfcb4af2bbb2ed5af4caad012ae9b2fcee72efdbaafdd4aa8743edf126e7f1ae6fc49f87fd7fafba7f1f6fc1a091467eb506b3bf79e30eb23bc38b5cc97eee8783f998d202b943fdfe76921bc170372a7eb2ce9a5d3516ab717e1637455e20bb51321ee2d9dadd975cd7342ff036bbfd0bdef27ddd2bf43702aa78b78eb97f5bdbd42906fceabedd414c3a7f00641467aa5861f6396ef65ebc7bdae65fe77a59eaf7105c2beb55abf3542e71cbeb50f1baddb37a5ab756319eb0fdc5dbf1eb5d43e907b52eda43fdf1bea1e40df4fb1eb18b59b2e290f30de39def8b3da29e7de019c91fedf0ddd5aeb5607f9ed9bb7a49fb3b438ca1cd48771fcece08e7acb8d83fadcc35cdf951aee5b6ff09cc5cfe983f2513967b4c1dc34eb599fd7a8dd3fe4235ee8acebe955bfc3bb0639be17ffbe43a91dbd8f0659ebabf3f37f3703aba1a4afe69b77fc8bdd1eeedfab584b1833f4bcb70cae636bdfd338f7b397de1c8a81763b237e336e29e3762449d82c39b225040389ebe35cb196383bbdb18d8ab27a252e54e805dbe38db4ce5badae32cb12095b5d9793900bdc4618edcbcf9fad6f63e9ba7252ae6ae2bab2845a9025d476cf9c697d2cb8765b87efbcef1fcc0eb5023a3d5efcaefad61b6eed422a9816d6eb12e65df5675ca7845230ddd248b38befb6745866a90c89100ab0844ea0256402fbe2fcacf5cfb9b7d35009ecdb57e19cd5ea77fd3409fe6aa8e56387739ceed29ed008b0bbb92badef5d11ec8c6386b5426843e0ced65be18db442975f0541749ce78cefec85dafa932b213df4dd39d63c23ce3b3ffbbc84f270ba6f8cb5c6399f742d9908e111ebf44bab3b5c27b67fdd08dde1586f3bb1f4baddbbfe1f8033c6fc72caa7f6e54d1b10f2007e31cafb64cdb0caad25d40157a58615d309b74b8b1f4b8803793b756ef33f2aa3ef474068033152af0fe9738a239535a40177678cef5e7ed4f7df0e65e0e6ea72b6306a48a5c5210c506af16b98317e195d4224ee8a8d63c2c65939724aed98487f4af1ac485616213bb0d38f6e4b3fd7ac5dda5211a10b68bd5f439753dfeca6bba5ebca9808596047e8fcebd4f8a363984bd755015bff6af7533e68eb9cef8a10052e8cd4fea4ceddbc3a5bd30955e58cd00432bd5aebfaeaa4d3f194a5ebba225447a53b47ed627c4a6fcd9b8e6733b4735aeddc7b9a75688e3a1d8c0fdd533af3d3938a901c50cb3cddb5e3b8edb68ee488939004b2dbd9d57cabfebce3bfeb82a9501cd45a6c1d7507b73ff757452802f6af3bbae7b32ef1bfc429400802344ffc0e3f74f0e59efb01faebd5d7f1434f85e0d8b7ee4b7d62fb56e35c4bd7755d39aa3785deb8cfdd5cedd5afb78d5f426ee4b713c25aebd74bffbd12e955a9ebca71826345c801b142eaa6fefcf0c4ef23a679d208b57123f427dfeaeab094593e20d480a95dc42e5a49f3fe2be1e70684d8b8ef32cd5e5dd4766a8ded08ad315f76f5416d235c59758418e0aab630ea7f0d6bce74ab319ddb57eb9b359dae427c0aa541b5d572fade373af6ed0a105a00ac53df081dbe0935869b002105b8e9d8b9c3eae8742a7502760801213442673c881def0a5fcc0fbf9b5584cc7035e6b72ef58637d6f84ad7d5132ac35dde95be3be777857a2f2132a44b89dfdbe89e5d962f8cd01821314261ec872f4ff9608cb46eab4bd775436084be0879316da6ffaabe0ffdeb467d46435d4498e37cbd65d60f66274bd775257480b9fdfdf68b238cf2e52b5d97951017ffdcae5f61b66ec2eaa484b698fb59996dce5446ed393bd9098d7a2c4e84b4d052e78f3b5f39bf3ac6a5ebea5141096501afc4185248a72e5d578e941016524f4971ac1962afaf32110a13ef74efe36bfba5eb6202cac2c7399d5feb4f2b7e87a5eb6a02c2c2bbb4ce7af5d5744e573115a02b3cbcd19fde292b9e38df14c80ad87ead7aceace7576b65e9ba48a413769496eb3a9d9c8916a02a6819b5861a524be9b41452c106982da864cf2995a130895110c32008c25132a20100006313003048241c0cc562d1a05861ec0014800153786a9a3e2c930983b13810465110c33010c32008c00010032108122a489de403913028ba6ccb33688abcc86d89acdb65427fa705a653267abb05e996740033440d442b4b7a3f0b0f7a9463030a1f5a428a71a88d0eea1c3af0b34bd38f4bc3f865483034b39dd63c44d659cd8f36d6c6a85d9023edae7103c5abb8d85d1f0d34db361ec966a1d7a913cde44459f91c30af8e5f67380b7ac006488b096f4e165ffb1afd6b156365183d895bf52e2c789ca3c0fd713a55fdcd622b38b310331f8b6e8001782edecdd7bf80d3c81ed772c66bd549727540fa18638bdd177894d58f0e839191cd57552282e927074b028648f44e8e0c105ef9d46d9a8402671ca317e9c2483acbd056d3921d50588edf5c1527106a9c39aa747ca2f828bce0676cead2195c6f9d9b08d342c2cd1aa3972456d6e51e9c06d726d44c6a97ac97a91c170d93ade6f54549a318aa85475ef623c340aa48434d3e5a9a59e5b4d9281431f53981720e238d3cbbd522592b2af14445584e926de69c271f69fad32bf0120aa8fe2fe33c64bb4f0e44b0fa7ca954503ddce0e3dd43b6984889741264a3bcb907f979d104fe7a23d8ff86185c965e3738d5fff2b715a7285564383aaa478ec4ee7480566e73abc19fdbeccd258c1da11bfcffd01fecebdb5c4959b67e437266b6c1dfd33fceff833e2188175b37962067d7941f2584171f1a39db8cf24fd998bb1d0c0b2f55d30ea30f350c46a72f0d290fa387daa606873786748791a7b50763c38b431ad2718b9a07e3e1b5698ac21884ead50d9c78686d458f41d741cc2ceaf4236e2e433a2cf4d3dda5b7c7fb7f29e5082e7d1033d704d41ce0e580f400234fad297353454a6c588f29d543c42c41f72693a5bd8da17136d8975776d6107c46990bcaf233316bd443e175c448062e3ca3aa3ccc05128171d091672bf959c53424618571bd7807f257f5a070a631026d681493c4b7a9970547c45ea3c721837c423bda90f02d70941a771ed270848196a5072bac72e92c25f8c267dd37e5f8cd70d6ac83c4f3461615ce5a240e73814a35cec2d506be3fa7a75cc9c827198cba11158d8555ea6c090e4e0706ee79cd8563bd780c38c3fa04190272e0c0c5024b659740aba1a290119bc7afd38481dd2c2114b843fffb5257437a028c1357a47f70f6e5643251dd6045eed6005676efae5747bcf9665c8769d15351a7de4f026367775f2ea82df3b7a2ea2d2a9cff774643bf2e51547c2981fd7ba10366bbe9a384345077491d5f47e6021c560509c48f7a5653ae0755542e1728d166dad7b7a54487b27f7501b519049d2ba1833e606b10d268843e6b4ec4382e294837efcf07001b6444933ec91e19610a1634af6b7214fb4c5385cb648bce56175a2e5b57b0a06029a945078b09960d969d5a58b0a2606dc1e2a55622ac395845b07caa652475cbd68147b933f74d569d9c49e2bd5daea4bbef9194bf0339c23cc80b7393ff27dc9ffc38107b8ae3b33e0d19b254c83ce24fc71e083ee1e8e0d794f0b438385a7d822be303195b8edf1ccf5c983617f7fe23347f0133187623c2f6d7dc1181c199b29050dcaa3648a54c9cba596a89bc5c6fab93cb98721a82a98ed949b47582f61a4451071a2179327b1261ef168045438cab6e34c588fc16ed77d75c688c9918afe3d1b2043d8232e8b4b142796900da618666801719e2d014fd056de3601b45e3729a84203d5e7175cb29cb3874143edffef74ae4ab4656d06a15204dc81d28acc752ea761d74bcfd49f0a6548de7b2253523a6bf7fe87a8e59896c388f4cc8f0b49ca3217af9f1a1448aac2ce16b2a38028319f2a5adcbe7e2327d88edd723e7c8e9b6adfc11b26ba5a4423b698a714c37450708bb0957ea7a2bf9d21a088e61c668777a30178c9261a6001f6326b895795d558457d095540a9cb5b89a8a1e7ba6d034bcdab7c04dcb91b0f56024969c49b02d8b76d14056452162b3b1f810fee3d5b476055083f22b88df5c45f02528c1533d3fe91f71271248295f271dd587b82e189dd9f19890467f26c7d27532512b2d112300ddc9a9ba8efe4240181546e3f70e498541b83b95dea33db24acb15089e504b40023add5b31a555cade9a65454a9529285b50baa0b854e54ae6cbd6ed18fa42b3c50d171a2a342d345eda40a1d1821aa22cb30964e6f409d4348404280cd09e424c80c800f50079290404480f4224e90027a0fa9b0525ee8b70b184828b4381c6d2e8847a9adc1cfd2c5a302691a1b843e079e7460af6927f3293460e43ff65367a74192e8821da9696b4b1604fa9c71077d4c11b464455014625c6fa8f263521ba8a9d272eda0ac8b1bfdacf3fcf5aca1d5e27692e128a4f4b59769b18b2e79dd28606eaed183163741b67f157672855a5c3c2b15a600a85120d0d51f5943a97429b8fd75841a3dbe864a719b42d66f48785e1dd94bf23a82ebc0e55a4d25b855f46649b1eeac2d75a4a5442f2f38a58a39b1985e99528e189e16942fbd0180d816092445c9989f03b505872f473d44e14731f854e0a09203f24301bcf1c386374ed6d5a5a1f4680b9f3363e83493b4290aab68065c5454718d1ccf94712a8028aa842c315c51d365ad947dd049a2352cab59df9754644591cf91ffa0c53685614db8039de9f568891143dce8b86566f0103bd4952c1554e7e6f302013fed18bbfc22947f562bfc435490f51f359c2f6287e399b50fde1a75d7defdfff2cfd8d467e45cb394bdf4e3e2d2b7112883f97c8f4569a57a61f677d9569a32df2eff058d762b24eba06b83586b384e0e0e86290c15a11deb0a2fbb05f62da93be520268242a1f9dc68603cc10da5f6deba2e1ad644abed142545bfe709235d0dfb1a391cc5b60c8feab7d41a66582e098cb898e1f4e4769debefb6d03958db857b9597c02c8a9471aa5e802cb143991ebc1c882b59436d0af721ebeafdcf09688dc1c43ccee9d1b8f0c6076779dac5961ae531d78193c3939c84422365d97ae10032ef7705f7f81abd70cbed7f7759025b196aef0089cf22269eaec2a636a0e568c921f22eb7735cd7ee4e948b7ca646bc03c7ccb1c792c6fc2b6a4f882a9e963a6d3967f9a2a31b30c416b8654ff05125f4651cff4ab1c16798d64f8ccd20075c9e0b1e0577eb626eb3d79232ac073bfda1ece0316e06800a9c72a00c084ef3b133b03371594a240c04e4841bdfa318a548905dc6bd368dc23fd2233ba4e24b90ed391e9ee6780abca770dfcf630e093e086a702852140c107a322e302833c52aae59e02108b9a754efd0bf4ba0b2d91ab1290563926798a571961c9d052027b20aac9dfdad7f9bb2a6b9bf134d566fa7c13a72f446028811d4484dff2ebc41a57b3bee8c3d99b4a3a1828ebeb4b0cfe85f2205375fa649c18f0dbe99c2aa0ed9c726b94ab2746e1435002cb9a6e14fb3632dedc6bb48ac7cf593a89d9f9634cbe9a4f1b86243a4acc5649fc8502bb3e7a57e59c926726de0f0a811a1e2ef2df772a7efada35d2f86cdd3f344af245bc5ee8ea9d75ecd5163a40f0afc68e1508fe896b4cd4d6b3393c512412880ec39f6b50b89d7122f8885c535fe5de1540582b3a7e322ffccb9585a0465c5472c25da516ddd8e58778e6c4292013a36afdc63fb98470bd218efefebaafced114be1ededd9597ece72774b2a1bf49e9a4a522cd1dce28eea968f9a307a86d12dbbb06442e11254af5c76f51299fdca5622a62fbe425da54a636b770f1ef719341acd624f24a65961b41a09c73f2f047ad3bc6475c54c3e77b18eab6bea4219abe9c6ba9db008c10c54138da79b74b72cbce39129d439d1e6403d126694f3f8454df699cece168d077c0c882ad112200d3e325f00871356c84530478585cc3d68a445f90190dca7dfce861a84186a418abd0b73a7b137601143cbb18ef4c9b03079b6e5956ba8be6a420061fdbd2862e5da241594ce93436dd0604ea4a4278a56bebfec738a37455e1ae9fab8fae85ffe8b238e8a391482acceedb5252a2424c787c02118f658f08b8d20dd5088082eef9560b4821981fbae0a9e6ba92114b0d5dc46f98a77841d73fd18c2e985451e5e07035abfd780a8c2bf2441cf0551484f390c60c6f2727da207a4b6408c142ed33ca90b5f29c2c4d745deb6a9e6a2e3ebf91ee02d3dae47eeb32d834332566f7ed7af896b80b2e2dfe6488bd15d756b42197f3555324995f5244ab62c73b09148653b5a3adb677a44ae08038e19ad00dba8368c6d383f2acfcabb71e5cd64a4821dda24bef52d4e74c6318442870257aeb3ee340c05ad4b216358702f810f88866ac2aa339866a5d6d6f436f477748ea9a8d32f36139d82cba2c4c4fb86190338421ac033c5846847c4d9edcbbecf6d646370f545d0221ec3ef9f147cb68e7480d10c3eb184760cb6fee268c5ef3bdd95a3f3b9b2cb3d02402eaffa71a0712d063e0de0744d5d179fddb9ca652fc88d37a3efc87f443133f60708112b02a0df8d6e82836b93bf32c25344f172fa74d150c22d852faf52379d897851a169ecc868617112792dd48b257ff4f1e5df58b259f8069d13d0877142cdaa561c32c740cd1facc97495f06fb36812721cd5f01008a1fd80baec15521161bf6b6d0a413a3f862b8852f9a3257c5e7f49eb894104da667c42a4a6be4782e4905ff21e5a0fa427c0b3ab79129ead191ba5d0b8856405d6c806a42e595eb71b3c9ad6d0f1a52bf9e26edce30378d7f462836cd680c850211df4aa3b7ce25ef36ba84b39104c711c5d435c2e56e0109235eb4a8ef6e63770dc712369725810c575a2c942ff67517c32ade0c20abeb60d59b7ef01d9ddeec376aa40456cb2f8c8d84b039b3f27e9866716bf454ad4be0ed5aacfc251810197e2a671b2d424d3ce31459675ff0e3f0f3dbda99f1e4713eed85b49caacc6651ce19228e122d9f8fe3f380429e13321b1a44518a0e1c1504929d90b584d1aaf6521be7e4f653541012d055ee80888304b0d99629856b18bf3ac23518699767391e5d131c97ebd069ff7a564c01239ab26e0e3d810370b947f7a8a31a1f865514c5b62a73e0871a6782507a6c4072bc1449ddb6453c061186ea327ba8c60f31cd3bce3eb3a159c9d930e3059dd66022b43d0fe38c27d73235a7ddd0bef04452fd05e3918b3fb0fc466a8cfef2ddfe7d541434432d80bcc917c529e98813548d9e58cbef07fea0e20af7abe002346e4595738eca8aac17f1136d92888fa08a6aba5a39a2a02f9a1de9408b4d0b840509b756524fabd84b9c0c398864c54ed484ed642e0a2a687f5f082b2bffcbda149f50bca07885f609946b90be4bcde467beaa2230b54c1e83de49d77491665e517a2435812647c3bc98a9210fe1d4ecd48f35d48a8a129392b91d15185cc06279c01a23aeb97a1eeed1aa6aa9f5b5a6f739f05580485a25f5e6200e6694a254485f317c9f035b28209a46d69c0854b36dcab1dcddc260bca8e265765dd4676327dba61c8bba378cc7838a350245e290aeb63906c192af7fafbb55e04dc8e858ee6901c6d6624e7930da9c5412cc1f72d0b4447a0043c0dac0274970466e59e0271470486e5b60261470a8dc98da05c3f248706d70492052633663cd191c27b7004bd6747964680355b65b8c3d0f06cdb64e7a8a99799b6208ec8a6179647125b82478a4a2100584843dc9a327e4ae009e609a4c24ca0e85d4320854885e19ec9208d48e661864491b468022d1dd0e09c80b0eca8d2e5060514cc85b8b59029924c399f5c682bda0a15474fb15b40226c9684bcc3012a80f606881028b62a279146d28154dbfa0a1ad90bec7f8a185b4aa00b3899c4e52d1938046525dfa89b691aad34fd0c6564df76114d0c8564b376314d0c8564bb79893075facc0e298a878186bcbc09c80bc8293a08da45aba19a344db0733642c211f53d5044c0728b0684dc8dbc10c816caa48970d42d43222f48319ca5034e3a428a40288164413161c941b16ac049644464a5438b30381faeddeaedc282bf0d75967fa4edbec36cf465ce107a688db94d26d81a51f536f7d1d15ab601d31a043285aebd7d4baeb49cf0316b2ba289e69bdcfc45b648ea9fb0b3969889ae09c4d88bf92b0bf31615fa169d1119a2b323a72f46f5d473defce17a07f97f97695602908b9ce6747991165e932d0baa732eeca36301dae0942c76305af1dcf996f1afca00cf6c288c79583e8bb47cc69823930d83a418b36ed421c6892bb5c70905351ec8891595942ee2eca775400e4796f8a01cd0e102c388e52cef0192ce7f0d72d1a581c44cf08004568e02053f060496934832b0ace0ea89f6ac2080b2018701ca5d81fde88258148a2d739bf323f070e730b049600a20daeecfe0c381650d0f0015d168838b8fafcccfd21e004406da06157308030c0c180122ebf80e5852880afcbc088bdca7a33143c061816cafd54ee221fe36090872a3bdcadc64d483eb280db5e5ecb0c8e7f46531adc975e0cc3802c12f1fca614580c1bcde756ad57bd3777d72c4598ce075676acfc525d4ea3ec327888f25f8bda8f7f438077e23cebb8214755d8ef92c68c48c6a324352c375dd083611c6c6a3751efbd8e4bb252fc5eaba62528ac7ada16055c9d8b72c6246dec8fd3e6ed8757c3a2c0added3f471d4599f6e46ec48d8e922e43649d1505b26f22d435daabea11363581a4cdd2286819b8c93cb73d65198ed05b1c33f828ec313c35e31dcca11c8b74c495031a0c83984e726ab38256e04a187482b2410729fd12b1ab9424aaf17e3812888490401e313f4ecf54c9a385e1306521b96d51703b043c32049b48e8aa8bd856d01a1c406f47680501b3b4c04035e1b42d401c36c5bb6080cc025ebd4af2a9117c1799108002a3cc0d4a3ea0df44a355b87710769663b0d0a04b9751c9f80575c5627c12d33820cd9f32172df70faa1b1655e0693d7922d19692b36759d9d40e95c7c266ea86d7d55e1cc9f87130d0d59637f6be8b0cc8c7018da3ab6dd704cd03c0cfa0921f17a502a42e2a4c25682a0d0e9f5249bb474f926d8cb05c5c6c7af81d41adfd5fc289c500219d9c1982e3d46af213b20857fa8cc531ff9f91d1d5de0f685614f63cd636a0ca6c70c602d1c44fe497d966aba0002bc06fe44c7921874134c79e05c98ae79a818d57061b1f7a764a0ef8fc5c2dd860985a7162b3e7d47147efcae38c87a2e80dbe76d8fe9d64d28df9eccd3769a74aa34a72a61f59fd510f629d85d0fb11e6104c99ad713ec25e4f9570caa91b9909dc9b6de7895c74982eccace784b194cc5040d7f47c890bef7cb3c619018b30804fecaea124d6c38c63d7c78fc3438fce88caeb0f5bec2edd51a505dd22798cb1b160b07e849f7d56e75b1e4beb5435d5cdefaf72cbf55463e18cc1fef83de292f9e376e5304812bff52c1ca1b805498a63c3feccca2b049d832c369baad23589f3d5bb4199a6e3f90409e80ca78191c205bcd22c795340c0bd24ea3ec7125361643ad78a5f961dd6a16eb565d669c307fe00ffad9188644b498bec7942c7def342c740c35f70397e981854d9f5ad099e955ee6aef65789e0651390801191421a689c1cb3d58d92d4ff46c545f85bc938e9471b50faa8dc7ec59fb41c359d69d3f3e18536452404288f57d150a718b000979adbc55ec72b2486c189c00dce17eaab792c4bd3eab293f05cd316bbd6bbd644d272364090ff86f043370963159fdad4985bbf0561e63153646a296c59ac3146cdee0b3e8834e2d92ab3d20cf0f70e6f8499e628fe4508a79c0d43c28f57f45569d1a2fe7a05d456436cfd0888ed11d41f3f68dfbf4b179a4bc49e410d63990f7aa38c78a66967862830d74ef1e9d6333af5947c38df03f988ec97d638d431f7df59c27b1407c64f380ee3d28d35b11d94dc9b89b3e0c59ac2752f7095b15d692013557c08cf746963ca53d3c922015a9c92f1da9550ccd53054d70a5cb924656b5660a1e66a88827da2b65c2596ad2dc05f8ce453a302ada7ff4d9df34116b173af70d5b7a935660a6089153bd7c0282f902ec235b38161c63d7153487ea7fc7969625bc08cd6c7a4932d545c20e5f0f042918d93138128d46c8a42d4b8588f84cd4a7e72ec831222129e8bc464d5c20eaf2611325d772e9d6626bf21fe6ff08c6aabe05e7d105640869ac69b38e2e9b120c1967f12d4f03a8b001dd7dac22876ab59e6b84db5e7760266fe8c9ccfa32bbfe66811aee658a4e98c93584c992696814874cd52272dface081519b473e9e9c80556db44de402f4db0bf3703694b569143339ee6b6b4df6c1c862e90630ed9aeba90f3a7dad13e859c5e98cfa032c74e4d2e335978c6dd0ae775681d5d83cb9cad17059f939e184e65763ee100c2aa9cf96fb14fea300633f1abf6eb479df02f1b27f98630662d6cbe94fc169509699c4f1c27f1c56e534b0abba9d3d0f52ad24eebb55b6b72d1b0073bafb4389d3aa9ac70b70c46fb066f687777c4c10030d62b37304b7dbb95407dad69fe8a81ba9679861cd8330d0ae6b04201374694739b2821905ae9996d09371882cfe614ce96f098c4057f6baeb8859739c596e70c85dc75404cd0e0e069458682d04a1962f768694a4f64b154ec7d74a0c8d25ce69899b8c408d0366958d4139b31c921e6c5dae3109a0756188da4412169ce9a8370622e7f322abf07df079ce46ba673ebfa2d7b2fe73b1d4f2dd8c7ae262ebe2ae4b2788c3d1f7182db6784be7fd1adc7344f4d17f2179780f7e191553d61867e17cc726a6a31ae4b3747c533539ad5fc02b4d74917cea21928eb4567a8fc6da64bc308810a868e6ffa4533b58714cb93d9aabbe0c8d4e5b89547bc9fab33c64c3ce7406f026fc92158c375f7c72af9737f907a1bbf72a67c7eef1eb6ee11ef4d97aed21a61516aa9fa5a97692f9d0db8c7ac76e4d4fdaa966d29fe7d66ff4e5ad1d303d6e7de8f4e8a0668285fb7c228c1c0f718cb53c03881cc4aa675ae4bc83076007a285087f5b698a8a12daa716ce6181410c9f6866927b39a2bfe56e1b9aadc1bd17f8e25da3038ed74be1691d6bffa974600bcbbe0e3c326963ab2178682b899f0c698ac2a05d678ff17e17d96e5c7c86edf06def7ec0d9ccf563bf6298bedffe5d13bc7cf6921b79945f582d2fed5827beca79e9f229f2e579d44bdc795dbd40db6d61b3074acd5ae2128018057757428cb1bbf73140b1c02906606bc7c351c7d793f2d973c4d355bbbf4ca57bd0ea27d373593986ace884b4da389840e5ab5d987d7164f6240e2e5c2d23433819a98fffbee38005f14666106eec5b807b7001ad16ab5fa17ccb0c3e5ee2608ac7c4fa871f2872ab66ea6e438fdeea2e543cd4afd111efe206f51dfe83b43f6efc254dc2d1b089ae8389ad83ede77efd26fa07c3038da63d60effb7e697827ab436bd9771a4fb61a9f3ae39ee3f645edd31eb3b042f60dc6d7023afc6bbf3c0c2a9684c1df99dbdde2ae7bcf2ba747c6b9e2fe7e991b66b32c0dede55a0437e6ce821e86e56af3f310eeeb958757b4604943c8bcb064745b6a707778768c93f963e2a0e782286b2cada23c088e592b0899d68d9dd918360922303600e8fbb94ef2aabfa0acbbbbc4cba5f9b2711407cef3a2a1018d9e3ebe12d07fa0a3980f82bdfd0e941fe3436ed61fceff0738e8d1a4f6f55db347a16d3691cd86273c5d1e753e27fe2b21e5c49bbf2e2fde56983822bf4cc81c4ce8a675e8e1bcd7f7516c73a16030a889f3cb4863d80fa7c3995fbc0639f8ce5f0daa0932b2c88aa7c0ab430d06350fce87d3ade905d7c23d76b0a626bf6c7114b8efb615387ed9c2eb4061e9aad32e6aff4added5eb16345aaa3a8bf11cf82e83ffbb7f0c47e9bf4ccf81691549379c01ace38382725ee96344736fb2fde27d30eeaacdc1226850de34dd1dbd00d192c590b9b3be486feb74c860e372622bf3dde63dd7de27d7b643da437c72978981feaddb162c2ce03c43248b565757b88cb041ec1e3c314f666fa3130245ede13f7d4be95421b46b34de22191fe1eaa9c3d77fc39e415e28df840e468193244138b4d8b44294a7932fc826ed9906d62fb37d0338178a3c610395c8687c3554010e3a8cb48a7a3877b8f927afaf83e741a31372be0450175b31b85329d8dc137a2bf433681f79c4d2d93c8c2bd5dc53a80b63bcba777dfc5b9e8a73193a83484c8622b3be951bebdb06a2e383c7f501b43ccf105b2cc2db10b40a982c2931752c0d1ab28c03c45181ca42e3a3d61859d1fa8014d83d441c1026aa37312fa4344cdb2b2c038d9ed4d930db5868704d58ece44d40727217a93b020758090f0f29804787b2004ba0d1007520b0bcd6f4921c777e200534a51505895f0e0c40a7e72560936085205068ba84c0f88a8a707e214e360217aa8a8c8f58c1cf07628ac6e2a2ed1b49c8e9b77b645a26d47b6b3630bffda96ac9da916356a2b8be2e92b04e0236f848106d20bc386ab151b3d670d7b7eaa0ed43c585d78a898aaf363b2f4a76742e98dc38ad3860915bf3e4b0e7d77541cec6eb8282c5571e1d9f7a4b0a3ef8561cdd38a8186ab163b3f651d93eba5fea3b120b83c753bdb3478625c59fa39bc5aa173f0d58480628cba1cb279d763cbe8249fd77b32508660de68f7dccb7ffb7cf6652a213764a6f122d4738a3792e8bd1d277409bfe1c2e0315fbc949ed741f17c02ed8d556273192b0f6a2fc078599e460e435672d2ce81af08cd8e4c7967b940e94a626e38974dc52c96a030e7c6539079ffe460436e7e9e5b8584594a5e389da206e65e43dd31953929d5cc56d8ff4479374639361b46cdf2b4f05a398cafff6f4a428a61953865f8198409ca242e0975e21e1f6baf46f11327109cf88183693939c5f1d9ae416673b1a4ba6e758c59b1b1aa2ff4d41f23fefcfe6a7755512b2de812c269adbd8cdc7e7e4923a34956ed2ce95be0615f86e94551817fc735ad05a05f0c8e6f4c42f42d54fd0336a2387df89c38a0001d8fbea8e7898b0a44dd908530a84cd541d88c0101990225db22e83beb0cbc908d63136f922b19c6cab00c2eca930e5ecd8d138c29e244f6f430b62130dcd69513ff9485169e5789f751c7ea408028e1b73770c2c116a54b0a8cb297547ea433a87493048f95cd53e81cc0b82a10345750b457a7e5e73803abf69018ce0c6408e0a3d8d9d80aa07bf348e30b49db4996d04e956a72a69145ac96c1b645b0663049cecdced6b694a321b66a83cb8b4fbcb80033feeb451586890aca3f230167d98d73df0cc8ceade9bb7d9b80961afab6b8c071ce1b818af22481c8fade0860ac2c34d3e6d3ff756d75cdf560d9850b4bfab2ac09a18c00a5a070b3649aabfece2d2dfa9084b79d241e105598860146ffa92188bc85edcaf6dc923ca82a616770a3040805fdbf27ab13aea2fba6090ccf20871a500bca37155d752f51a9b385e23f093b0001d33fccbebcc0f783de700179eef86ac3007ea5e216a549e2a8b3d576ba58cafd9fa963ec67759ff0b4ceedadb618af34f0a8bd43442d061f1d55ba3742a5aa446d9c82f60e01e80b35d58c8513acb16499d1cda00a5e9093a8420469c7b2794a608a2f9818927813fd112d362a4f9c4848aa2a505d5c814bbca3241f020da4d71ec85a207c35e03edbecca68f817ef1a23ce08c2e4604df2fba16e79f08640b8ae14ff73d1503c13289c625bd01b2168a98831bd846a30173290504047556c7246b02ed990df1af1fe4dcf497f3d96025ac31f2f3bd52ed224d1d97a1599cda61754093cb95b0217eb3dc8e0a1056d13228208be2a9e2e74f602a04a4fbcba297a3f9ce38b617c15d89c253f51c4fd87edb4936d53c601aa7be1e3c06e0c9adcf207775828f7a2be8f4d36e4fcb7b6fd3a22fb2c0a32aa4bba6f788766a1c953b4a852ecc8f14beaa20deb63196fc994fe0e7046fb22d71d1261e533f17aea23d1e9d3f1245a8ec1dc14c6ef9a2ef9104e17bc5a3146d35bddd068745aeda1c1ed05d156afc1ea0e8d3aaa47765512c43a8ca9590f3d3db252d89797345b27533c6777433ed4f4853ee66e996f9a4162cef547f1c6d2f779bb033bdd9b0591def8f4a1d78d03b46bf5e992241a19f30065ca5e5ccd93c210d039639480841748ff31a3d8b97e290170a33cd519edd45ca3bc5cb0384f722b782bbb33a4e5da8babc12c152432b2fa848bee5c485e93097be568bcd2b5e53079ff99d86516f383df1cfe3e3525c516174ea377dc548ce30334e77cb399f9ae024277e75e003de585205e6743bc00801bc026495e9224df3752d3d237c90ee3655228cb1b83244a45571c238208fa586ec3848781b8db87c3571a2144da454165e2a3805a7a1650e435a7338f098fa0ec5016015b6828ebd99ee490824f911a2e9fd8ba059372947f68e55ab13dde8a8434416aa94074491143698c70fb28434ca895ba9ba92d0b9273bafd147cf595e88aa1e4526a846fcbc9e109abc368dd60bc524f1bdda3ae347ac175e76f5a490f22a4e756d7dbd48ba25a0a76ff0d941e26ab7b9efc707468098b5faec865dd94897f9259bcfb28dd5572e147c751d212b05c15a0c7bd56bebb7f93fa5993e492c7b1b7c3b7b1934b586e9876567c8f1a2f21037d9e5684fd144ad4cfd366cf94902111fe2d9343e2daffbc23f89b8a93180290c453ef8b887e77ead817e3eee15d904ab9aac340d8cd086a8df183b508554109b327fd1927cd02db4e59677f3577c7bc222e7900523f5de42a04c59fad77da42880661795ac4aba3a3f8b2643f6d424dc5721d973959344b8e86e625eab12aee52fea76fef9f4b0dd87357711598452d828849b54da3b964a1206f4064062cbd1c7570f2605cabccbfd7446481c177539ef72e98038c6962c915b2a5b813b71e7806c36b13c79f9da3decaf0b2353642a5304f1d9b52d7acb2787db583c33ca5e0b8d0a776ec1be2f175be38d7d100aa8b636410b351b9617f5bde8ba67404b9facaa8b967605157e4be0a3e1bacbfd9d02e47f31bb1fec1c69ac17142d353011ca26c4638d0a88793e3ffac8a5169fdcf8eb1aaf8d09138045b9f6eeb8cf8a480769ef28ee7a4bed0726af2d29e28279140f03744d66f501da411edac511e2d44c7f2274d18f151140c6bedb610ff5145ebce9457d44bf272b3cf404ff419566c9f7b4e7c9ead72fa372d11ed135aabfde20c622a23fe30ec6b9bcc271a2810869d107893ef1538280fac2cabbcfa1eba7c0dad32684598037a88c50c4d1b12d7d7ea22cd164804cc71380f4bd61c73b2f19727d30fe25d58ac0c488f23fe1bbba011c39b8ea8d51b928f315818e85bcab6b7940a7cd688f4c574335e7dae78dbd2e20dd99c14dd97c289c4516d921c252efcfb1941a912cf66ffffe543ead86bdcb61f0aae46a516985e033471d15559a2d5735032d9c32ab763a41433009c2f9d16cb1b0e8a30392730440f9a8c80d27dfdd5385c67cae752391d90dc547b0c371c3dbb73d29204ab6474447428c401b454f92cf978669cbe0b4afc5c02c3a8d1303012cf751c7ecb38abb6a4249d8896b62adfbdf236e5c4780e22f348edd8ea60b5d8ea049bee958bb06411d77f00ac07fbd832f72e4a5c5bfcadffacb76638b8c6385546ba5eb38da6057751726f0b7fc7c29a567858088dcae589bd0ecc65e2b6e61cc5a58eae669d2e5e6d08e2b70084263ae4dc4dcb24b095933aeea208c938eb733f819ff8eae109fd389b4cb55a12ad3a0530e38215fa1fd1a3b3da4dcb2175f673b28367addee2b22bb48f47c3a9988e1ca34f8445d17c6bd49720c9d664951bcd8291e01512eb69456d37a7b4ea6e1cfe983f315c1aa5931f9fa9fe8797e009675607b38059abfa33998571b96b8987896b67ffdaebe9e32824261c6becdae41784e467a0f3fa300735e57adc28aa31924ca36d64c0d16f8d9274413dd18f7318b7e44aa1950c389419cc1ba853507a0eed1659a0d1217378bb2dc4a92ad501f5de0f869dc7f4e255697a49978f2f7ff684a9668113ed3862580f27dd851d8a87ea9086bda1aa9a6132d7e2e4616b340d805b3974ec6a8f386a6a1c905554fd041fab240064158d368be3d146a41bd70cee70a724da5c0e8f96eca6d8232863270b21408a641c18bf555b7162f68723fea1c334bd3ef13cfe90fc47b781044c761fc33345c868c8d5d7500c8233f1e13d9b6bdd3c2c2401c541bc3b0a65dcc64fc8877f156f0456447934926d9a083bd38ca27b9960e4d24dc861784f9166e22c327b850243e1ce869453501873a228f9c9dc5054ad51c7d62d6954dfbb7e4801380679ca33c2b5219dd6d561368510996bf3e1650974bd6b28df57b083a62f90b59e7f81ef7680cb6fd5c75562b9bfd4f407d84a2f4cc6b66531f43b184755ba43ac916139dd79d534747a1021f1d961df27282145634d164ef620ad2c7e418d0ef837614413eb7f161fb6a4064638bffba99bae7fbd8ef7f4bdedf9c33e30f46b3818f31660dac477c149062a89d08f5f6cbe563da74dbf73f1b2f1d7144c697a975fc3fd5bfe1d66fa01a86367a790ca18ad7d62ee5bafbd7824671e0bda68bff02af314661932d0c7714d82288736f41fc8e44b0484a13ffe024636bc2e3529563a995f0d7546d8bf5efea971ee821d465998fa0dca39e0ba003dd6a21593963acf24d3091e4b42bcb6ee787e31fdda63e8c1e6950effc177ef6c8bfea409bb40f5aca19b2ece6a2c1120069d80055a0815b4d1e4e54c272001fc2fddca84da3acc251113784793de57b5fc53bf6ca58da323d261ce40f3c7d7f24bbc270ecdd9c2117258dee91159d3e9bd2144eafad07f6e5cf2f6f4a0f4f6da98c05998207f187d706193867c8b3160f3bf33f2b12caa8d7cc4015ed6d8f4ffee3237c49585b5ed5cdfb0d05d7844295e143dfdcc7f36caeb5bb9676e2b95ffff73fa4ca81a72bc3b09837f4ea6d532ed413295ddedfbdb78f77f33ddda69479269e168b1f73761828f60fb7de211463389712b365998ac1b736518ca2e27b67490e0cc890f84493f3c59370e7a48580f7fe6fc4ed62075eeb493b5ed42c38e408d0326dd7602f56e644c1486e317da0c0ecf8a479d15320de1fe4da4ef999a068fccbe9b996d2cd65367ff6bf9eed5dfd51de67c31ea5808307711c3f7e3436d834af82ab7bc55a196c5f3e4a91a823c8b5c30c0169f4557dbceaa8bdf3f2f52eb424bf1b93e756861b5e7ceba677b697144c3c736119e0977d9a6160efe1cc6215019177c5cdc26cb10913624351c04f1ddbc3db7b5eb523b6886d1e6914b010130093439c9f712cf1c613a20a12993e653e8ad85683156a26614a36cfbd96224cc0c34333ea9a2b3c092820f673d7626b87598c765e30006665b5d0f202f05bdaa71f2fd6c80259a899c40013a0c9ba45965ec4b8f8163bb0b65532c6b411caf22829f7cd1a4b8830dd567658712cf5e7c26113095d234a73d71da2ae1d7c34f9ff2aca7e269f7c0f6472bcc367d879f90b6026973636e9aa1c9df5d01cc3417e869b250dcdaacb90f8ee1e37d85ec264e14c2b1ce508a7dd9247b14d9013c0a91ac4312df3c3227e7e0d0c5b07acce2f2612da2c754307283f7c2c7541b5ee7d9fca24ea4019c93fc84289c9e68299e75fdaa6b02dce0cb6afdb915c3022e987fb653efd33222208839c3485eb4b7c258c55295a5afd2331858c0dad9be6a314bdcedb6568c1c79eb82de1275fff9654069f772fb7f1c754be39e8bd21d0423e907fc74921b322710127ea80e26d33851e18e76dfcf6c5a4873f878e93978984dd046dbb3a8ad0c50b2b3e183e6d0f2e0fbb0f4602ad3005b20c7fbc9c81e95f14d912816f6490c125174b7ceabb52faa78de310233ff814ea57f63d7a91f8ae9738e3f5c9aef2edb6816bafb470c79e41867cf668cee6986cab81c30f54fe9efb68bc932e24207ea7bb2fdb8ed8c2104798b61a61e90e46dcbacf99d4d87d511d2c29704996f6e6d3f971e9b26763813e5cd7a93bef7a45797ba1477c3536324dc3b0fed106cc91b9c414f6e2b4abce6211177a83e576066fbcf9abebf76cde8b89c84683f8e35fde6cadfe9cf0951a0ef95cb8e1591a71d7790a6e7e0590642f2182afb63f861480f753534b4b6e6cf3e725aa0e9bab42bef93793bd0276bc687bab168d80f08934e436b0b9c5d215c920f578ae93ee65699aab5fd280c5ee19a67d1d0c19c435005799c9575e381d32c67b089632cebbe7202f71b16eff1cb4e0e4eca01c8fe56ce4597272f0fe8cf36080413fd10cdd7a94ba57bcc155cf0a24fe37c56a356dbbe6857b74c2e4bfc23ecc0b9006d578945835084793aac21f08a73a0d46a8f60d7d5448f72cc8b807d369c6550d37a496fd6df2524a3fde68fcaa800bca8a3e1a1d8c8af2a6b0ee7f95e14e0c7a31b530e05032c8519e3d41e87a947ccece250a22b5f771d33b7e841b846d294b43a03f28e2f24d6ad23939fa17575548fe8b059863a7f380cd5bda665cdf81e7b6d7767382d970185c52477d2f3da2528d5ea0ecb4b4f10b970e5c026cce0e0d65eb3163a025bed9785dc3763e729169532cc442bb5c31d3b5d8ddd760ca6d1c6eec09ce06653f49ad7f67f97dc7487af7724bebb363a86b03cb97a58ee3b9371b838499f430b081a199ee598e093292e548bbc0275d035d026c4b4a1a566a2a3650525631f65ea72852a56b3a547586aa5a80c30834f729e8545e038546012e0e02e1e1a553dcf3c4b6c60f63277658132b300802235bff6f812fac98d1bf31e4acb0e4548c3d95b3518c9b2e2f6342680036a16d1537eb0db340b49184c06f0589e3fae476fc8fa387dc97a0107a479a46dc896aa6fad2abc4706a0b7d0169721c9b5b1ce13bb6c76251a3a1bcb7faab68da91711ef22d7d9f63339ccee6c2c842033dd3df19b15ccb0e0a27cc4a55423b9c195b744e40dad33d245bafae290b469f320fba9118c549bd54bf851f6dce05d3fdb883a3eb114622fc7af267490a2fe82fbb4715de4b291330d287e0fadc21b882ac630da3ad4ad248db22d8d9df64d7334131134e92309a13408868f67d8e50db95a50e06c57df8cb8887893ebe7005f4f5ce1aa4d020ae4b685b1ae1450f86202fdee2f058efaad716be1604ab3140c8c5b9084d59a9c57562a9211fd0209d9fee3fadd29e60b78a61f26a8086ed254e539bd45aea0c63ddb66e4c3834f7cf341f354dfe97dc5184ec8b82c60ef2026c901a1cb94f8a95381a32e10b45a7e2f923dd5ef36c1234ca14b7a6fbc927dc403eb6d8616727f506bf45e99a3761fc749ef7bae7a6a0d42a034b57b1b6916c419e4c6c2ecfe9344930e17a58de7c72005263a4ee277da1bb5d7dbe368f4051aa5efd28c91d8ca38186d06f3d98257a611720818d0ddf33bdf8b3f895f1d8aaff2f1b08043752901e01c08fb57b7d123081aa3b82599d597a74901c60887152e5df166e5ff120b7bca724dee997cb7e327c824983743f9fa1830e2fc180b63b039a9e56f8fae56bb82e54d22cae4e188306261e6b257d68100cc16224c523a3923f93dbc19dcbc2f8411df930e6b120b78f24e303d892b2cf668476d1df230d6468635c7e9af5bbfcd62849ad59cf3db7bf4d3f0cb1ce2f8e8d484807e11158bbcf072d573cef6e81ad06b9c588d502409c7dec4ab7dece18590cf9722fbae9b1a4490c0409712aa2c001a2b9e0239b61be935326f449c99d924ddf0fd39e2ad694836e81b0aecefe4ba3649c052e82ef32e78720215a8abc44ce72fec26284c01f6e840601ad027a74aeefe0c1e7f906d2c6864064181009d390b722a1d98cb4c94336213e5404f131872f1678b1db9466033a8d2d384362b806e870a793ae8882175ccfa18da1d402ebabd726466cce7bdfca21bd128c5fddb5e30a5015370fceedc343b4fcc222e698df91c11e50018d9b5b13e9ccdf3b57a787b20f28163fd310199bfc962aa4f4a758dd03f6aafdbd236d21f9064699166744db3c93d7dc374e64416e2df2e204c9f740bb751ecca3ef9355cddaea9fc6356c2200b9ae9584f07e0e4c59420ff9fe7619efdcc4766108e45a3d12ce9a36e66666613f82a028371ff8990578c39b8a546bc99fee1ed118f228963b5c635b36641f628d9a114eb7eca1eb90b8038d74a63e96b64bc48b2a947f1ad6bf44115e49548baefa7c4efbd37f2f9af4dceed13c166b2d7837f7e3929ccb8e378c214e32241c9df5f58beb628e18b77e5940a98ce38a830bf543a7dbee1b5d7c671c32531621e204cbd741fb3cf8da14e204493afb4ca96cdc67f99aeff48bfaa4c16cf00fe1f518db9c60865994c68e062da8299a816482f52c7c306a4e7a503d49601792eca56eab39e8fda80e4fe18a6e9b007f529d00d6f96e20f1a430dd625f5b0e92f014bd9459d3873a724b4f963908ba3c15b84b3971510a387082f4040ad0c81f0e2271990a19597766043bb299ec048192a54545dc829fbdab9d292621de3abfeb2ea821c947fd0c8fad930a18919a53ef6721435ce4fcb18b3b39ec1f1caa0cfe4d10e6b00b64749c453cf2000440cbe4b5b1047a74027de1533172c5fd19bda1069842c7eff335ca4761921d9c27744453c4c57383166254b85d7fa2d2c2691acc042a3b4307621128000d4c238b379ceddc2131eae4a7b2a90bb044ac97e3bd5924039005005f592c5c584821a00327a0e99621a91126996b073aa01f50a63dba5d69052730fe33d8b68e8f2ff2ba2bcd6cdf2490b722a41929d725d101a91d17a7cc832b19a8ec4804e38c4897e0e3fa86c809928ea7a24b012d91dba600394d1cc50687303093516dffc8323ba1c3ed59523b7ce7c49affab0a6dc753224d4926e12358e7c92766905daa77b0cf517df974be4b8fba755c7d93b972db4b37815f2c228b79bb7c103c61b26769d570b03b796ec67aaae08519b70ffffe63fb8804a21bf1e79d5f92f93c5ddbe79504f5b106783d28f326076b9493b16736f1234b293280378f68b690207cdeb84db509b6c84ce7e3fe6821b38d6883055edeb004529fa02ed7b3c1687544f1a7bd9db039ff16b884e5059c376f6965168484cd894247e4b4fff7c0b264e77815fbc02249052ebb6ea1e7ccb9c4aaae9afc593deca6e3697a71e8aef3bbf04928c4607da333f4f7180fc1f6946b2be4cf3ecb92533e42ae5bd57db02f851d7d13fd422bdc2fe5c390068085588104906f18632c635a3df4994dc541107a54737b4b66d4acd677820954af561dbd28d003a54dd4ae49636db5f6d819011ad4b3d7ce0e0ed1d1564393144f4b0ee343211c5f062f0e32e2256651bfca33088c4dbd35931dd0cc1076c1f908e04ad21426f8d95c9ec91488e9f36a1e02116d3839176b20a497cd68933a514f90d0ad58f25b70ff49a7d2a0ea02916b6f71a816cf43eb338df208e69a019b1ba9f2d823a18d3fbfa2374b0e1cab8b7d045f3ba5aabfbb05cfd5a8977143984d72373d79d34a8315cfb09e0cacefbceb1fbfaf366cc8d5bcded7b72ebbe1f49bfdb592a0db2f66620def7fb469be026993e8826db08a1fce25b1ef9be6ea189f6f94abaf5e7a347a1e9e3f24909f457f0a852291d9ac0c18ae80ef956d3ed2fe1bd8a7f9528e19a4c8eae22011bef7482b5da548e34dfc6bc0be9f977554d27adf529d95776fe0cdc5ff0adfc36b13be7980e47f8ca8a35319004d630d08ae66f83f7d40636bdf0148a323a990d777f2d6e622765557fc1278cdf0c30458b31add701734c5cd806c64830516513ad93b875329605e1f14e2d90fee51ad160cc5882f029827dee8b13362df6666568a2114f42f0e292516fa075f7f729ea364f899c6fadadef2653c1dd6d1e395b93bdf00c6df0fe41c9f9ce6d0dbe00c2c93a366526354d6edff1d1b2bf8b953446d8799ad633aeb3107b1e3bca711b45cab393826b6212cd4ac70507048b1b6347bf8aa1c11b28e22b8b7f71b98d2f587531f616dc8863a6a8cdd3bf5be0727516e6afb0fc91d229f6153e1f61716617f6fd6268323088bc2153fac70d9fef0c735a6f68230c9d74a36936fc27c58cb6a66dc51d3ba3f0eee0cd169ff2aea487cb43b64b8dd7cacb53682ddde60b108b31a8460fe986fa8b99b3f4149d8cd4579f4e9022de7e7334d628cf9916b6749ee4656991a846648f8fbeaa901cae9df11bf953e40201c8eb167ff839ec84373faf93ff8031fec964ec58d3497ff5c2059f8cd3e6a5ff379e919a556dde3a4e85916fc99a4f2a0794964967b132f69125f0016c2c50dcfb85b96324a84791816527b07e354f149924ce8eb9d9a83d5aded70cf57a754083d963a4a2759a9934d15570665eba28b00bc49ff8ca7c444fa5e54c7613d37df1d468bfd0cf7bf67842f7122aaa0299f2ab8d6da51038124eb501e94220888e9a1945650f3bda4947f737b98f90dfc18ce47f8db96abb773d911fe10ee20202c647740e86fd6f0e92fe5fbde6935c113319352229ab6c5c1c6c0367a9f053dc1477c21708b93e0436981aadacb6da3b1f6a01a11deb72e80ee5aaaa9aa306634e84e1aa71bbe3dc54e5ee8ff076d278872957535dde09601352ddda061688179a20a631a277d86e2178344623d568d19b95535c4ce725847d0e21cc5005f8b1645e5611f904d910868a0e2f8aedf4c5ce950f2efe4ff15dc030c53eed8c19dac8bf2676958a84c372d13795c928e23c8befe0e88de2692cd648397939839c4d3415d36429add511b1156236384949ca4f320f00f86bcfe4b363a7d39736b54c7f28b451f767a0e277ce4577e1bc2d590a0c99ecb9ee3da1a3f64931ac987af11b98bfb8691fc643cbde8b799dac19f4ddf43c80de503caf37faa234e04ee1fda7ab4d6514016ef746efa5e092b6fc8ad4b20bb89d715d52be61fada6897d05007cd6669581611faed5a27ea9fd97e30bbf558873c4e0d5c86e147598f59fe5305e422547a2d420f25bbc31b9374ed25b17ec5dcbdf5e4092f0fe79426a36ab361b1f3adff317ebecb7d4690f42595b9a1978e746b236ffe33a3e6185932322b8f3128f232dddadb4c7f69a676966d27bef98a8a218300b1131bdbb7298d6002b45f04f112b081564fe6de3608a63d8a36d685ab36cc1ba7fb385189df606a5a596df846e8896fc567ed1467f83a4c323d7dc3b366521123e8b8d529e4a939b70879ac7d8a7a847783111371a21103585dcf9e3f066fb0d37cddb6e455a7263d8fbe154b57a8a81fafc46271c9e3fcfd0deb98a7f616ae9b9212ed91108e583b4ca050506c7d7f58b3bb53d18dbbdbcc08e66e5710d7acd8b153b1d45b19bedf71608631b544e52e5b4fb0c486e5deed3c445015e34d5f6f3ce7ceed39a4e1a3f79a6cbd1bd108d863ab1e5c2395ab3ed243e4ef6ad789675629fea7f349536cc4f87905b5ae1e3decd2e6ed1b5578338122a0389cd7134c3cababf03fb6ff9dfa12f7991efc96958b8a22c9adf9db557fe43a854baee71440e3511aa0905298a0f936352792c4eb039cdf5f75d75f250f9b8b847572bdd486768a5a537d8bf28df88bf5062bc400d720c97c8bfe8ea325d2ddc49658c6527fc6a724f172f68b4caa76c20d647eb0bb65f61d9372b4af81f746baf60028b65cd9d2d525142395688bdd9dcfdfbd0db65114ea89acff420988aa7a4465958855e61a3df5f624441a5e096493c2e0fa94983aed71702357c31d4ca72b3b44df10bee92858d93226681a0913bae92984381448401c01700572dbc0d5cb92615d1a2699518e398229e6c376e2f067290099b08fb45014ab615c180aae74004f1dba086ce516507053fa64c9fafb65341888d14b70752cab7ab2bd61e877d5c5f6d4ab9d9713371cea127d1f2859eb982461ea15604bf2992b63a0e4a2f669e559b06333dc3ac5e2a7590f4c8a1113d861e90235f476c93266e3a9ab2784c5e772296027d9bc64aa28584d61be0b2f4f6338ac4f711ed0b339d0580cfd6eb01b75fa64d7ec810df5526752185b44cb53d75c333b0a0dc5f1d0d6dfe0099866741929266bf75d64a79c96abcc6cb566c46106c0398a5d3e7bd79fcf3487a51d4814923f41cd6b9abf00b3359dc7146b6d7e6cc524b8c46f883e2068c5f99350fb9f75556c902b667b73866cc3cd3eb5443793bcc164eff228db036c8137704a3d519a3fe9d44112fe8d84f66a954640645b9d06a2de3391d17145c0bbb69ccabb12a4e3e806d39b75773c661ebc2c68f0b865650040f623ee9d3ad8393375625c08f4e37f89154920bc11acdda1fc5a847401effb1d14ef37c1c7abc656d310ad3f729c692ffb1ebe9ca2406e78442afbc0e1f919bac3ce8ef161a701923dab148ce4b24b36432ede3a05dc21037e54851d0e3940b026c3013c0c3c0c3c0c3c0cbcc6f05bbb6f169f467e4a29a508cb0435f42dde49ca94a44cb809f5fb679c71c619e7d01a21eaeed6bfbf1b190efd0d1d0edaa811d3d92554b2ad838cb37164ad049452f12d57778ccc68120ce9bef27ec2ab340909b95e560d9a646aded01172f34e9d3d6b77f446d0b2a3ea9f07f9d25d11568f1d4cab3ab524c2b13cc88d671a36976708c539113217c5b7462384a2c95d1396a9df848250b7556c1e59a2de0102f2a6729cafaa1b99fd00f99d4669fe14b7f9e2836dd55ba4fd3d4843b3e6e9379d9fad1a3cf8d6dccd2ac644cb3c2450630789b90a9ff305ddd1a00ecefa6c49096d0de3b91c64da26e26457b8c84c0d1cd4c12fc8f87c3986566e81b8860d22b397ff466d40c316ba7b8b85d328be16d682f731d9b7147796428b52d37aa8fb79166b9faafb341bf3e6230b7ee6fdeb4d1a0b7b662f7d36757f6a038b4d84a789b8533ac6ef1528d5e616a75a257aba425dcdf7c932fb728933a0d18abf925b3a1739d349ca8aa37bdd9ecaaa8c5d1068ac0219c325f54998be2aa9826b13fa1657c4738e52513a2b352a8ba74c96e11ad0a1031aa830e6c6e58e38cfff14d88b12aee6696d476f8a5a75ac74536758894bd1a8eb59a7b039864e8ae39e9bb4b8cf4e3266148e70b960e3ad28384023143440818a2e3db9feb4dff11378790c27dbc5fa82460a343c61bd7edae8b6ab265ba043a040a31398d097ae927a8b9d4d9c68bb749bcc1e932acdd9c4299cae9ca94674a64e13266141359be5123a87997047bf936ad79dc91f13a7cc95f15a1becf643e312c5bcfb9e3d6efca7f48f1e2a2406ea858e32868c2106057e744047ffe8a1011d3acc4a19ae011d2588efc0020d4bb449bbad457fd663adc42df229d8a74a3e22e231060d4ab4b7e92d280db254a7980674141fdb041a93d04dc85d8694b34fb2248aed317f08cfea3a9d121e3fa01189c25be75f11bfe1f255c243880a8100007640031279a9cc392f8fe69c27021d1a681f1204c8176390d13e011e6390d1de41a0f1884d980a2acea91c76e70d683842f1a42a2f4dffae4d1bd068845ddadde4523c5951668469aaad41c45a031a8b38cfac8a767967885ec7173b28b04306341471b7aac9cce6fb78190b88408706760ca191882a9567ca5cab2d6242c427b466cc0d1daff6e4018021d0388479442f6b54780cf5e1808621909f7fda469f1c95ed06340a51e779d2ad267e4bd484a8d4763c657eb5955f1a83d0929bbc1196a2734510fcc612bf9f2a259349209217cffba646e5785932994c68002219a761b74c5ccf2e2588c61f68f801fd9fa465ae2a295f29994c68f4410bf54dfd5de5771e1a7cb8643e87cd749ec348630fbd96bab4a5ef436327080d3d985d466b8c215485f2e4412fb597f763ed959478d0e7cb356e3491a17187bc366c6cd50334ecc0a7178dde2907cdf1ac839d2ea74c79ab6432113281c9440834e850d98c7d68de6a36e51c92a556ae72cdfa2f86861c10ff4d9a76e4c97e0c8d389c62cb5ead3e051a7030a98d61931059c293f40d2725e7831a15f39dc450a0e18674b6d60cda2928a53c1d3ba440a30dba6c8afb3988af9c6434d8a0956cb98daf9e5a64c040630dd825b9d43a22057480c1021a6a403fd6e99c92584a194f439d337710a37b41c68d86cb5bcdac92fa4bca3d03a2824cb2a5cf8325d50ce8ae2444e8d42b9fc532ec39e39b7a4fef3d1f19fc7d75cdbfc7b085919bee54ca3dae183621e792bc51f3d13961704e5625994ea514b580c1509ec2e8bdd24b757dc1af3e7d1f75732f6e74eca0e18582bccb380de966a3e334ba50cea983aa53c284f8d50206b20118d0e0829a538a29f3a639b043bd040046a0b10553ca299b7353a1a6d68239c7a0b3e9ff337c9985b773c45705f1747f3a800186d0c08227946edda64dda22ba82c96230a133d4c50a7f95501b2a7b5c44af2308007a40a30a88cb72c1d73711d001811d3f7a6889042693316850210fb61bfe498a9cd04b26131e4180f08081d29842426bd8dfdb8fa1d3278545ae7fb8982c7cfc181a51b053bf4e9fe5efdc3a0d28381744a5dce629c335c0021a4f38c596da0fa7d245d17082bb7b162a942c79d354133a19e2641679a7de672620948c4147e75c21aa2ea1ffb2d170baf95fa592c9a47d00f141430948d54fa7b455ade4db050a6824a14b7a666d737e7939890612ced9f564bbfd3d2fa6643229c35bc0630c158347102028a0718432996e8e516456a9dc681881461138539deb4fc9133b1d0d22ec7ab5efbb2922d61ec2f1ed538ee5fe7f110bc1f41c3f5765c973df209c9ef3632d7bfada150886d0a2e4d6a47ee7f3078810c2c62a9958b7910f2a7dd9a53a3f2f3dd803cdc47bca532964fce3412ae6484baf3143846e075d47ddb6ce513efba383c4e54fe3a32c4c261d1a3958533e4bcf8287fc86060ebe4cd14679acba9cb75bb4326fa155335ba4b395bce453aa0c965a142fed7c9866cd22541c98410bc3fb5330f7f73e6761322ddd2274361d2c2f0b2dbdd24a6312ead18e053207dba0f3a653336258e8977179c3eec705ed2bae9472e80abea93d77c5d9f2c7e7a9bad568b6424fd92f7f299e9a536205e71e637fb493ba1fada24a2ba29e4345b55c1526b99d727eac2bc3a9c037436e84a75557880ab63bc3a81473cab69f02ef0f32667e3a99eb4c716ae524739a3515e552ece5354af542449f48f1c7a75bdab98fb97346b19f387931c5e7ae91280c322fc7d29a367c188a9497bc9ef451f98e818211d7a14cf45518ff13092bebecf5b35a9d271879327cef78596ba51365eaf5af5cead4744e1494bd0895b19473376112f738aac6830a224df8a126355d530ca2ab07ccc8442dea46e7b6929a298e892b05e9aea143de975a32993060c625ae2c63af39b6bee8748625109d4394eb67cb5d292593090cfcc76472332a81681c3d26acc4427b4a269311cca0444a781c25b31fb6a77c07c124f4a0b1d38cdfc9db5a126bc920964a877c0c62c96422867f312312a6d47349597a78a51c04332061b838aa6af633e84a84e8054a84684907663c0271df27649d4ab1834982198e40c6b273bca910976e23dcf8301fb92163ea98124620543a6195467f7cb61771a538aa793659f8debc47103014614c8f297910cac7e358d285173ac008c18c446cd6fafbfb1696b247446939e3333c5cfe708231e3109e8f76efd7788b31640867b554ba26cb549a2e2944a6928bc6d81454e7353083109bcbae56d49019b306918e5b56f858f3f05941545ee1fcc45b9ffa800419226403de40381008f3c3372b9da714b412831e0f083ebf998ef72fe99bfb03166f2a9be9e283a784952733fc7026d5782bda26421f40785460461fd83c6f57a25f3474e34322afe7a486ece6caef01cba0312264c7748b83b163887f9133f460779fdc8712ad4a67c9643244f380ce2f9d528ea783c610f2a3070f0accc003eba7bb3c4c93e7162330e30ebb879dd88d15a352c60ee8a022de724a398dca7160461d921d8bafb278f9792e69c00c3a7cc1e4990c1fcc6cac3934961fdb5afeb1bacac1b8ac3629633a7336714834776f1e7da57e3b386ce1e1f57aef5c5e7c831e3407d79f0f22bb9fe186b46966c57c4adcdaa8844710203cfc470f1f3f7a7431a30da8f51454308b721eab0dcc60c32593daa71993119fe2c58c35cc50c38c34cc4043d1d4c9ac6719ea6332e9f143d18c33f8253ef75ff9d93a2d336c524eb57dbb35b656caa0c794f2e7eb6f183d9d800c6bd68ba36b47d73a29e8e20006388105668c6186183830230c5ecc0043f982176674610617666c6186166664e10433b0705d0ca1623d97e668c960c6150c974e2e6f4ea57f8960030d840365ccb0c22954f8f077fa949fb80a7fbe38fd9b594a5ba6c29ffccc831026de399ec2712e567626afbdfc4aa1bbd041f4e758c96432a48718626c60c71032bc88c0042030230ae7d57ecd18ee4c99b08b0a08600819621000023b5830030a69b0131a43e3d56c663cc134fd60b215bf31496738a118a3976d41da8433647431a9264afa378309d9859b7dc9cc088f29c28c259c1bf64cedcd8aaa959075feb85e5ba9d7a39a91043ee58aaed7dc14e217c20c249462c38d4a4b49d63b2acc384297763bdec97ef2d318c14ceab34fb5b4b57c4298518436e5cdce39cb63c63b08338850bc4c4194c6fa3f8d0f014d5af4e5a4a75535e78319422886373bed6f29b372c96402811941a8fc63ce393b8c7ffc338070fe1fe5f9c2081dd5523299ccf841f27a1773e35bde906160860fd6f2b53e992f79f8bf6432b1c08c1e6832d4b38d363b7d493598c183348658d927133a25d18c1d18af9f4b4c83bcde870fe54181193aa8df4c84e5c7b22043253372806cccd426db6e3d4908196488c1a38c204366e0e0d8b59f2c6c98aecc4b26134770718bcf923cb91ded2b76104c26ee6395115cd822f1b1fb926e3d4d39553299d422b1981b19f4c55777e08216dd7a18a5513e76735f3299f4888113828b5994c4c94c75a7640ef5944c2682e04216b128dfe23456880e60801dc5052cd8a04477b4ad4b2613de210693800a5cbce21c2f498b1b365a0ed0851932741860033b6ec0852bd21af229c953d91ee2618ca15e9408d10b242e5a719cb3cc2c32964c2617d8f185f70802c66402002070c18aaa32699c7afb5fce2521f8d181c9448c1e6170b18ae468578687f4e076177fe0421585de325d6273c80b1a0f7f810f2022e0820b5488808b53dcf797b5fb174ca3290617a6e0a2145c8c8293de9aa6a5731a953a68012e44a1284b193aab9dccfb89c124680017a16046095bbb78a734f306c2810e5c60070826931d32e00214cc5c650ddaa2272e7fe1002e3e8195544d594785a8a4954c264084fc0022810a6840c705764460025eec28830b4f20aeb32d635e85c04527ac78ed497ab6076b730c2e38e1e6677fb1da8f31e85c6c22fddaa5f73e87c88de14213c8d257a92d8c2ee96f26d8f9d129e30609592e3051b8b8041796f073cdb6ccaf62ae2f994c4a86fc984cbae0a212afa68c7d62c38aa65cc96452c652800b4a78c1c524b89004179108011790e0e2115c38e292a6b3bbcb69517a6e84e12f542d6abf88f503a7fea484aa90a273efc38d432c3258ae7d3e9dec2f63480f1e370c61ea1cbed7a7b634e385503407212f57f04eb71ae206210e4a3cbea953e30b0122881b8360edd73608cfe19df10324847702714310a7544ae56514ed31de253702711a3d8b33d6dd0044739d495cca26fcded3511dd0511cd0515ee8a80de8280de8a80c30e1c61f50f2f36b5c96bb1d9d1b7ed8849790fd8eaaa93237fac0a8701bb3bff6cefc061f50f2c39fd2f3ed5cc88d3d146a534555d78cd1f20d3ddcc8831933e6d4f2b579315e329928e1061e52aac46eb2a0b547ce92c9e40e7e129ed546c744b86107d3ff0999c2927a9e5e6ed481b5cff4a995a9fc22dca043973165f67cb97495c60837e6e06f0c752995fa5db0245032a4c70884f8f001011d3a86c4c087fc0022011dfe821e43b8218737a97c7c0dbef1399f4cba28c18d387839a9c9147d4b791730e05050bada979f4c5d956fe8355f52394df129bf92c9840637dc905892323a2bbe25fa365ca152e78a6dc1fa4a6c402db8c9bc9a7ad7760d1cb8a1864c6a6bfaf0f1ecab6ea441cf7ab141f9486b7fd1e0a83d0bda7468a5486f9c81eb390f65722a6d5d6e98a1edfe1c2e741a7d3597c1eb97517da9240362f74c5d0e8f4999c670dccaa5d093d167946270430c69da8faa9829c80c0b0e37c26005df8fff79693a6d18d071011d16d051011d14d031011d12d011011d103040df0043565631565d339ce5bf600a31dad3c8cf0babc77841644bd55535821b5d603b6697bf1c53505ae54295d32efec51cabcb1b5be052e5ee8fe96c44fb7d430b9be5c72cf23fe9e81ee4461674db784f52a36dac1b0b57d00b93ed20b3a7f61d042eb87185c63ad86ae5ee3bd9deb0826d3247a63d71a3475985f27b4ea663292f4b56b2e2e30615b6ba396972add5b3690a86fc31d3cdde754a75500ac7530faa2ee7a1f41f858412af1984527973335068739b122676ce7f6cc18d27a0aae2751063954c2681b8e184b3c38cdc2561ca44ea83bdc71032881b4d30346f5ab595c918316e30a1d2965b9467ce31d7a8053796e07ada58f1cf476b4609e8aca3fc2f4dc68d24d436e26edd7a3a7b500c6e2001ad9e65a274676d33f58d239c629fb6aa9d5265bbe086111499b46af0329127a6be518452c772eb644428ddfe0611d0f1f30799f2e5ce752a0181b93184641855a1519357cef50c6e0801b7ec1e740815467caa643211c18d20a839536da6a46c47e754027f0308e898da73ae8ed198ffc1f5c12afee7e441a5bc0f1a2f959ed3f346973d28e6c9d15ef1fd8290f340cb9ff1f4c6306159ddc196827cd50713bd26ea2053f2df1ae7e3a74c0cfd31997401e4f9460e0eb263d8b0159bb5ea0d1c6ce95eb47ad2ccf1a38d5bf4f53b7f1e0ce23e7cb8c0862d8a41a6c67dbb1cc532820c69818d5a1c7d7ce673309d59942593c90e00a0c1062d1411a541d8e94d9d56c964626316c7af98d2c87a120d9a92c9e46dc8a28d6297bf4ea513a663818d58643b9a3cac8819b3b9878f25630c1e30d0203c32600316cf6868b958fa92c94488c780023a4427b0836dbce2b4566f5d9e3b5cb4c4b0e10a9385ea91262a46364d011827d871011bad383bc7347a6de64cb5688315c5a57c7dfff7589d543299f02823c8906363153654910a1ba8b0710a1ba6b0510a1ba4b0310a1ba2b0118a649b163537172d9359d2c564c2a387f4d0206054c206284e1a1f26e3056542f3a3870e11030a363e513e9d5cf3a68b2db57b025d9b25a794de99be9d2889f4a4640e723b65488c1e254214f08219cce002363861504246fa5d3ad56e08195e201b9bb893d4b02f724a7b9e4a26931f15281b9a40f6a5d39a66ae167a261095bf3b5bb30c1b98485be4e9db6b34d5f94b9ca4abd8e7282db155d9ece7cfe5e2a74ad8a004db26bc17d8984449c7dc41a768a1bb4456b02109a3b596503906a9416bc6b011894299a92c9a5aa4bc0912a5e0e9ded4f65dfb7e44963acb4263da115f27351d197472991b9112afbf1495ecf36404974d4dffe9bcc59616d1bec5f870cae253ea14c19e8fb2fe189dce3c8930c7e4fd84aca0b237884825cd3b9395b541c7da60e310c651a9feef95bce63304be1a66440575317921ea58baeb33892f13b56432f1316c1082cd5c356fcf24e6fa41fc1bcaa4e7d1fd250bc254dfb08d7e5fff7920f82af16c7bfbd324406826e3ff654ce655f51fee6cc1475b9ab6dffde0cbc6850615b345dd873364708dd162744ce243aae2c9a9bd56730defa120bd4ad3379f9696f470267d5eb9b25ee486f2d0a8eb6cef22771ac7c39ff66f476953417b7687f269fb6bd5147e7fb143f1e9953f9a50956355073bd574847c8f93e5d241bf0d57f163552c57259349172ab03187ea36d9e5b3bcf1435522860d39fca7a72ea650cb9769818d386449c98b61dd4bdca6b8103814a6a1348ad2bda2e13758e11b425efe76b8ea0647355b29bba436b86e71af457e8f7c8e0dac8ffe7b4d59acf4b3062dbb66af8f0b42c6b7a106d3d2e810656be9522a0d7fb985351dc3972a311aaa4cfd2bcad37f16e519ccbf4ccf1aa2ab573443a92af47605931ae32943e15663e9e6e55cb55860830cfec8cd349e49a50e9d31f0ed71994e27d95d323154b1e645d337e996260cdee5beb8cfe4b17e72810d3034fab9ea79d62f943b67562b9ba9a86d49175d1cc0033a0ca0c3870fd5d1c5010ca0a331d0451941bc8b32be471017c18e1d07c9d8b1a3061f6c7821e5662262bcc3bfec60ec70327ce80b6c74a11b5115ddaf3b6b2e142c4f6753ebb45183b670b4a0f9eef368281953329980b183816c6032994cbab0a185d248cb7aa7e27d7f858c31843cc046166c60c1c615da2c513248f70f299f152ae91a44646d43eaa731b023c8050040041b5530c9a9ca31be96cc9cb30d2a9c43890c4fe927ff727cd89882af41994ce3bb351797b22105121b51b873a720ade253fcdf406c40410df2db2714e7d47ed8ecc933ae93490f1b4ea864e7720d2f1f8486dd4613d4ad149b82cef077796d304119f51e2edbe727195b821f4a28e1356661561d1b4a38e9fbafa0474da38fc2b091842ae57841ffc7d9de4fc96482369070cc276274c4f979fc47c8ea76ce73ac26e52523149ebfd6d4c392ee8cc78fe721861085010f1e408634c0461118cf19f67255ae7c5a329988a1ce6305368870fbc5ae96ac10bd6dc96432997421867a90215fa0c0c61050e262e6d1f4b2cbfd0e0bd8104217d35509b33708fa9dd7768cbcd318640308c599c524bbb634fb0764c80f0c4c263b3460e30799884d15e23ef5afea832fa9ef87a50b7a2dd9033cccc7ce1e1a1e9c9be2c78e1e9d35a82a606307568c9ee563388db5b80d1d2c1e536b66b7ce7d511b39e0e3d7bd3435c813261b38604ce7cfd775b559a15ba0d3dee7a06d5b6022c4ce6f4ef9edad4551d7c44615d16542a445ba75c342a51c3c93ce2c92f61eee74324bafcb82eb982ca87f99fac9c4e20cea34e3e23e5d52a9018b2afb5dea0eba5265ff8a3a764cdd952f366de70a7b93d6ac20fd47def6a34708760019f203033b1a50a315cb6b9abd07f1f7f4a78003026000182728438304d11aacc064ce6521f494fb654a261331c81032997451631535545123153550514e51c314354a51831435465143143542c1ab5abaa43ffb68566a80a24f4a93fdb68986ad7594e11a2811a217d011801ed4f844b9735c5196ef4e452e38a8e189e5520ae9a62d2b6469353af1a7b814d4d23e67c309f3448b7eacb4ea5bda4415d65bf9c46adb7c9a3847ac5876fcb471cfc45a1a372e884b9a635503138e968ca5d73a8c1a9740a914e4c5ce952e9ed9c08f1a96f872fc6cf11cfbc4657cd4a844425c2cfd23b792dad7a3062534a5546f9e9778b0538d4924b3da267f54dcd37949f8a9a535feb66bcaea109d80196a4422b9192f87b6acf3ea94f00032848767a00624b639ab4f11aba7d3e6117f9c12fa4ded88d6c9115faeb8db41e86b3e69146a3402cf8e497df8d62f8da9c1883a9aedee693201418d45202be6a0e53648d3d9d65084db9a62882db3d8f92a428d4414a3ba79cd95506222420d441c52b3f568d00f91cae49a79c584946b3551c310babdc69873cef74e7b210e7ef25e45eb997b9c106ac7a821d4b792c73d88ed2e53d6a0a723342c88924ebfef1d6e204e8faef9a23ed47b09084c7d43e62fd59939fc43fdef25bba25a6c0efaa1307df192ec601f10734a59b846cdb973f880977c38fbb457999a3da826fd84aa189e36ab2efc50430fcd58ac12b2db3c60a6f993c7349be48bf0f0bba7a772afedf5cf1d1c990fd2c3353b2034ded909715f694d35eaf0c6dc3362ed4a27d7e8d0ddb5c6947f3ab5a9ccc14eea4c3646a6a83d964c263b6ac8c1d4f0d853419bc73cd788c3e9175e94d645cfbfb650030e97e5986b34e476f8b705ee4226930bd478c37f729e3258f2ceaf3fa0861b0e2a548eb3304297250da9d186a4ed761e919a9d622c994c780829c35bc003c890306ab0e1349e39349e680dc6682b536a797e1dfc1a6a485d5992276a73a7bc7a0b7ed448035771b945a735d080f864d2cdbb338e6f5650e30c5cdf7b4c77319e5daba086194c37b9d215a37e26af8479d42883f11e83f60f3515a712329988a00619cc679637e9d815ba849c50630c67fdc7789ba4298f4d0d31a0bf9209cba499d27d1ed408c31ed4f786557f8ff121d40003a753ce95ec36ced4a7800f6a7cc1a07410f7e96d3a9fade105c4bd5976cd177bfacb1a5d5053dbb72825732195d1efe6d9db9eb3648cb185b4458d93a13f5a3aa5855378cb209efb2ccaa846160c3afcd6dbc788266b60c152df53d93475c7ff2bd8e7397ff7a5683a6c85ea82cce622ee613955c0f4977dd6784c7a39152c37659bf621bada29682b624d85f85e8b52e04f53d0ba9dfdcfe92898631a0b323bcf7a1014ce4f4a35b3c6cf97c24f4066b0741a5433dec90925df8a69a4569ebc095b96fe13da3e798b4c60d545fb0109dd3a66313385b8501312d6fbb66d427cd21b1de2c39b8409aa25e931a80c7a6de3244b706dfb3cad9b86e9954409c68faf316f735aea2c99004912b07351a35478d9903e09123acf772797ae41944d72042f488c4052843667924f9966e4e25832993c808408244338c738e9fd17cf2fde228433fc3c8911514a8a69039220d49f59a9a4c659400204fbf4eea3666a8f6609c90f487ca0776f88052ff5ed33490f50b963586aeade241b121e1cb3b3adf246fb1f61194876e06828d7d72ea940a203c3cf729818533986912407cd88572a0ff329679b0407581a0bcb7aa9a9e4768b2bba6c2839199e1cc1882dfadafddf91974c262218a9c5b57aa961672db423b4705c2fa87bd0f9ccfcc82c121ac52da8e43189d864e17dc60fdbbe1efc2b4618894532e7e58874d1e7a12b994c26132f4660918c16b7fe563d945db230f20a2edf94f6df5968da541871c5ee959ff3e9a826ea482b50d30df33f9f157b5e06fbd6f63e7582c2c82a14996ea1b2c7f461a92a0ce39f42d4ee6f4e553299504008100f940ce931825498ede193cadacd4fd11154f041c91a75dbbd55474e517652a535db614afb238c98a236255f6a73efb563238c94c2987450ffcbbca5448a3d9956a8c77ffff8d0fee1427e8c8c0299e407178bf399ba0f728111516ca3935fca1ef1f016e8101e23a1e0c00828ea1365c413e8ebb7c8cf3ef16c29994c000084914ea045095f13b554dbe8082752b5bc5a41864636514cebacfd5ecd39353b463461a8f6b8fbe229652a65e21366963c6f968ab919c1042a333726a97f5ae31db98423ba4e477e48f9bbb83062093ebb598707cf39995a42c64825fed832428aba20f5542e8c50a2119b3a73695f9a3d2781679ad59c1b83c88d616044125a2ab5982a7fcad192103012094d0555397dbc49f336032390784e83da8c1b4b7a9fc81843bd008013461e71a78f107622da6ae412187411c4c3d01fea0516461c91e9cb97ff66d94ff646944af5dbf5275f5113234616a1ad7e8ea6e4d55a5a8380a1434763a075ec0000184614f1c9537ac95da3fd77849144d85e31c9670711bcc6ee184d3cec9ad0c8218e257f6df36798306288728ffa86f90e2fb616c298323c5ddc58c152f24608a1a9e55d3d91c134d785185d94a141824000023b76f40e7611f8f0a1627c3199ec80c1c8204ada343f3ff4836ef58311411445688daaa0971dcb92c9a40b09ec98c14820d60fd1a09379d7e851092380c0d3422e26612b61e40fc8c6d1e164454bbcd021011d60ecf862c40f45b9f94a17a2512d37d20763c7eead647805e5f301291adf6a21cc5dd73d24f62e738a0e57cad6831de7d4929b9509531ef8f71ff5feb360bac40352342519d54c8dd777e02dcf6287949c2bcd419d868cd4814fe67fc13797dc10e950bbe524a3dcc25b4c19998329dc53ce6decd4eb878cc8a12484b4b34ce2f3e72364240ec5d8b2f0a5ad2f8cc0a1137ea7934c491b8cbca1ceac31952eddc7e0ee60c40dab7812dab633b65c520d46da800e9b29efe3c96b93b3e19463a7922242c4c6a4359884a6c8ddacfc185183ab39548590ff75f209329286b3c66ee7990a0dfa87fe95cc31a5e59833a839e709ed3e4aa8183383e641a6e5a674191acbcc1e534c5fcc2b19eecd3966ee9ce542e7633864dd8c8a5f667f12901131a4aed6a95334c6873e1286ff3386eed83989c851c964720011e8d08001c40012a402391801c329b689b220f2ccb333f285ca4f6897e577c40b878c9f8f26e283b2e018235d30df054bffc1e68261a9e62ca8d756788c6c41ffa0ca75bb2d8e728c1e3048c188164c4dfaa637c84a2693203118c9821f3a86d212a7e2864cc60816122de615fc722c564ec9642264e40a7f4cfab5373325edb102f26ddf9ae7d36bf84b26932af8e7b173857acc939f202354285bf2af586d99f1df14bccbf6fbd13ee8ce12901129e0214a54a50d5faa3b171205be82ec34c22c628c40c1183567af972bd568f91879821b3e4a7b74957f314b26132770d2e262c39768fd9c266ccad229997454857c2b18618279ee46fce2cdb4934b70777d2c9f4a2d1a4d2d185102fae2a4dc9558f96749b0c2d949cf41c56d084b26931e234838fedcade3bbf9fd7784c4bef4fcc7d871bb13c688115cb7b253b9a35a9717528473dcdb3b696dd354eae1c387f42881018f211e06114a299da52bf51f9a9f91217832a559fecce62c0a217d3a46e520ef72fe1704b52b67f38f554d2a3e02045c348ad55dbadfcfe1911f24a7e5b7a6376f875d32998c41068f160001e2238df8e0de54326fdabf8fd73ea063033b3680467a60d6a4e38e089b53268ff0e01027ac3466ccbca717230890efc2c3f8a12078f50d8431b2832d9bead83f7d4407dda628b1b1bc2f873407bfadf8d7f92599373482834636bc5252a3213f2ae11164c81840824c2626728b563d760a27de2e09b5882d6a410b0a88cca2c842241686b92c21c3acfc6927131f3e9c6121f20a115788b442841522ab7880882a4452810e4b6a47c5bae86d08195efca84089082adc1f599d6a53062d422e831e423020720a45e7906f9b1953a436c913aaea6633560f9152985954e8526da62772115274a131768feefd92b3149151a07fa12d57fe5f4e598a88284ede6125464ecd2af622a1308f86ba8affd83e958880e2b7cadc303f63dffb27dafc51329f7d58c75dc413a9fa5239d62aeb44b2f1b5e5b949eba85411e184e14f9dca953c7474a920b209e4e5bc967ee3173f1c05114d142faaf3e457ae78cf011d17d87104914c3c56ed6259229f3ab804114c9c72a6c5acd5b1cc7e24885ca21c648cd1547c99b8dd12e81ce4bfc78cbdd5c192c944a412a8195379d4f994c0c32f7b993eeb8c7b12e77c312235654dcd2a89df7346d1320de6238ac4e7397479f68de1540c24f478d34d8b4158321f6165e85bdddfa4719923ae10629397b89472834a26130b8834e2d8a4aa5bae5432a1800823befe5217442ec6385a090444167112a269ceacbddabe92c96432e9e24514c17a65ff9fed6dc7a0034412614acd71164f86564b7a82082212325365ae5cff332a2543c2f8e1191039847ebf41e7c96076a57540c41075a9119743f939102944d6b95b7d55c1e54e427039ae77e9541396734406914a9dbaf35b9ec32c41d4197455b89ab7a0359140686b2eda71499a96b06432d92102082c69cba04d854a269389c81f8ef2a3562c9ff61ca717227e38dca7d03b71f720a32593890644fab0d6795a0b7d9d79f32593090544f870b898166bad3ba5ce9980c81eac9c9197feb27a1801113dfcad65394e5959062119227938e5ca97d3b42a8207936cca7917e5829da564327980c81d8a77399c2595620ea9974c2676f0b572ee379d2d7080481d4e9ec16666e4a30b113ab84927eb1b379de70744e6d06b698edb14964da722721089032a6bb43b09cd8c9d29e9e14380fce02102874ce6c7e8f24179bd56020191379c5e44a7bc79ce2f424220e2864cc938eb908d481bb0f1bca4a9a992595632997c21c28694898a62731a63ce6b38060ff1e3dd234dab86a3be77906e6235a24e03ba7ba2b7c32af385d1c0c7d0147c46c7f7339c2d864c61362679416a0635ca09fd9f46654095ce9959161f3d4f226448af467f50fe794ed53ffc05ae02913114c673f7bde3a9088f8e31d48b761e4248212206d409b110f92746bead83023b44c2507d6e50ca829a7a6b75ec00f23f44c0d0ccc5183a5f5944951420f285aa82960d0d4f96272ff1c2baa172ecd592e9dd253f44ba80c5a81f54d7e9d273ef10112e64daa7c26e99eab4b9c816ce412cc65e4d9b47847220a20566f4cc664c2b32bf33814816dcbc311d9db7c54b594690213b8600010202112c9c61234ea77519755a912be81e32324258caa346112bec66f3dd9933a22fec81481544a82032054486f4d8fb29a99b2b857252511ee3fdd4841905ce2a63e57f3728138242f18289ed917362744fc0f7f407652672b1d5173ac0d8c104112728afad6193501a3d77ae20d2044dd827b1a582aa3ecb18d2430c224cd0f4e6d9eaf85a10598231546b0eed273e26ad12b00b4db2a40653f65191249435733263ce794cb714112468e154d6b2f6cc27ca8202912370fe2bf2f2a77bb114233cbe36e2ce94da38158fee814811cef9651e84dfc9b0f228637974c1630c2117d831240614984c86c4c04588f0a9e5d5eea0828a291419426265299452696e9a830110094c263b0211219cabcc4dccb85f8804410408efbdd8feac8741309970900988fc00599dd45cf6bece6289f8e053d23d581ca572ea01223de8d742c58ddc4f77e664e264b8c0274001111e9cf48e10a1514e693b0119e2150002c6064476605cfc30dbf25366b5880e8c21baee1f7f4129158c239203111cdce2862d4a2d687163163764712316376071e315375c71a315e83c2a6851deb95dd4ac78f43d4f5bc8ab40e64e9b3dc3720ea72abc3ad11c9fca946e978ace52743d6913a192750315d885ad18c3d76318ed29be7bcd1fec4d5ed8668a5363ad595c8a0ddc20c58d51145f6d934cea695354255ddc104515732a8d8da2b537e5c78d509cecdfa379e5d6914181a81c714976e67cdfbae0c62790a9f2dd9c0529227a4f144b27e5614bf5299d7702ada4de754ccce7e6047a4f93ea7cfa497fcedfd8c4494e2b6b875a135690617c4dbf699953c9649289532b7988dec7dca48489f326cd7cb1622a6fcc6f5cc23afb5c6eb24269d92d81e9983ce50e5942998abd0005372aa1aa6df0247b454c6b94d082577956f5521f7e203726917ffaa9f0972f9e9eec86248c7ea79673e64a2613211808c33930998060c70e10ecb0a24307087600e931444150460484b85760480f1f637c31990871ff1d0168c48d4814f5efcbdf5a434e3720a16b7f8a93a35ae1c6234cdf9e3b7adaa5c54d126e3802cdbe22648ab1452e3fc18d46f41a4c7a90e12e7d8b371881fbd69ee78dd9935483f8901b8b6046e6ac41a8a41d4e265d00b9a108349e55259dfe771bd4811b89283b741036ff3f224203b5a55a1058caad25f473641c6d201c612526fa3db38d8c901c80380961397e3073fc213d22d4e7ab730c610a92c30fb77b091399ae1e39fa70bb7d0e3aeec207aefc72c51863c9dd23468e3d28aa734fbaa8b075427a704bb8099562ef74274b2693cf91875a7c64ba883b0f230f23071e341993bbb63b8c3be4bb96db6165dd192ee91c762807abbc8dcfa29ea31e6432f11c75f04585d59c47e6f4f0fee8c183c764b2010844a0031bb0400e3a749ef654e465bdce97630e9fc951227da439e4d07e1ad9e341968ca7cc1107eb45c818d961542973c0c15439ef7b85d5d039c71b36f1a827fa73d8145b0e375c7f49c88bdeb15372b4e12a0f9ac4cfff9d9c99830d9e146139cb5cbfebceb186c3c4a7243d08f51acf1c6a40b7e9fbba4cc1e2ad3418d49bc99495335e1934147356524cd7bb5c9a0539ce50d0f514eb36e5ad8a61fce8d1871c6668f7de3587adfb5bbe6432e171831c65284ceae914640adf29f512e501240c1ae420837e21636ccb79c964220448090fc5418e3198d9e63e1a9488c7a30639c46012b23ceb9a664d22c439c250505e69a37e4b5aea604093ad296da233eac7c0c8f10537d7d24991b9120278208717ca53d9db10e6e8c237268496cf163173954c20071712f5f3d94c8caaecfd16eacacea074fedde9b5805a1dafd76a0d7b168ce26f494ba89a170b894da9d13746d5cd5d0115b64d356691ef296e05fef2ba78988d0eb50aa9b66bb651f993c6940aa59dd2556964961fd3148efd8f963a667f83a4a06aa8984a08cf173c280a55e9bed6cb7c497c8442597a1f9326ef0929d172db7b3a4e28d986f374396f6b9b26e0f1466eed46dc46c3844b2ea536112fe1f831a8702ff5cf2b413ff5f45e41d32b549280d0ce29e5ebec6eb372202171313c79e67a8436f787cb2993c308bb998dca7c4147ddcd398a50a9ada5795275e7560e22149b1f361ff34e092fc710be544adb28cf295e0c2ab1400e21a8273d6857f733d13f471032b1de6ae6396ac73d071038db96d994d4bd9a25c70fb63a3b5f3dbb97bb7db0a913ade69ee6e88129bfa99a7dcdad67e6e041f6495c5ff80efb91e7d8c1a64d7eb83e93b5760e1d149a929b0c4d73e4a0faaff8cef97d739c72e000bf70a55b279bb546386e7147d3a7d1f392a9ece1b0455947bc7e6687ecb23000472d0abf6352bc4f68688d16e9d2d25135e5a7e3a3031cb3e836494d29fc2537d9dc00872cbc916922a7631ad570c4627d1935e2829fec7c3860b1c92c3a8eb6f71505133a164c2f385cf1d999d7e94eeb17e50370b4e28aa5daf4796fb0bce36045719370b3a44e365685011cab30ef05cd90622a1e4f557ca1462595692dd97da9482fdbea7f8e93d76a173850614c79c5a3c899bcc0718a6b4d074de108152c28e5e71fc41b82c904481097c10f203f3880a3145eac20f4069d0fe2e48683147ea8183e57b40d3b67102fe120ea5f0419f2c564f2638c5198f6ee5e59e423068f1fee630c202c0a74d67450a9c5760d454a5e775c2f8b16cd5332993800072814f561714dc533f59696f00ec3f109c39f8c1ea2adb28fa98487901e938927b0fb98a7fa47c75a528906096332e9043a45df2b091533967288901d050727fe2ddffe94bc4d60316f8e6896acedecd1c415c4ec6b379b99fa2613fc7ec5d715d39674374ca493d268b184a988d2964becf173cc554ad3c4fc92c9c4f0e0110619eb6d094506cb21d45d788a0e1c953893129356375f3ae512c0410983945139a98e76b913444b98079036382691caa4d55e3cc5b5f892f0e5f637ad2d9f6f164724127a37f4892cfdfba9121c90409727efd329f74e9d258fd8e3caa7cdb059000e4798d3456d27f3f1942b41c2681d6332112308900a1c8e469883a57ca9e3056d4a2d994c921532780c11e311808311a7676af6b6907954b864323948060f171244c75844dba6298658b7441128d1994f650b3f2af98940a9a0f773a9b7144d265f4c7020e2783a343daee7efcc92c9e4106bdca4cdd45a3299400087215037ab16365c2e4fd292560f4c264282f817380a919d368d5165427415277b5adff2870e811d13c031087cbefd46ff4910d5b8789f0cfd23e359822310779d347ddae4846c908790fe410690451c8068ed93fe3f1332860efa439eb62c67e508395997f8e120bb33980e22f47f001c7df05438b3919b7632a8f0c1937577596c3c2e26c5e8b10754b0df1ff94ae3abeba13432c86c9025f3db06471e4ca941a6ca32ed7db9c70ff5c00e10e0c04396e9730270dc2155b9128b6131c9ac2800871dac9cde5d3ddd8e8ecc0570d40119766b495a10dad3c5418735f367edfc691776193f20309994f1430b8e39a4bfa2a5f198ae44e7944c2603c021071c71f0d308a54d8730068d81c9c4c3f8a141766400071c8cedaf137bba6446bf648704c600c2040082e30d5cd4cd3967b4761fdb0d8d0c2a4fa38dce1d4413c0d18674e9ec8bdba7447e9a0d5e4e99f73675d6704a1fadbf3a56036b49255d954c5c0a323c1e80230dc9e469493767069945c39b223685f08de33e974c264382f0f8e13e78c4c09b4704709c01b51d72e5e1da475570980119e485ce0afa62eb2d03fefda382fa594f9d2583a6eda46dfa670bb28e0193e5963b894ec2639018dc784a8711d584c10d5aa784ce8fdcb881e14a39c633ef685e50f9c26f972dee06b15c3d8c202e06027078c1145370db1a61b9a3ed429fc2dd56732ec99279101e1e44c780c08e20fee307062480830b686b0f99fdbfd3b6e5411e80630b9d958cb6b48f553060a02070000e2d1c63d81c25aef5b55338b280030b65fa66f71c21640c238e2b9cea3c6bd6140f325f2a80c30a8cce7231ee7cf3fc5b85f5c2590e7f42c80c230e2ab0395ab24ae24ac88ac131052cd97fc8ff78bca497c2d9e7448c287d32d61485fd934afad77615e4080aceedb8c7abf78454ec74acaaa9503ac609e86a5dceaa14d1b435010713c460127000c71270282109389080e308388c80a308388870021c4378db4367abe8903bd510210428388460ef68cce1e28c28dbe008427e51cef5a298ca8e7000a18a3ba674d81091228e1fd4e9c752e814a663fe6a80c30729dfac15d34e83f2bf07669b57f848d50f9d06387890564c9a5153be98f26707eb09ad4b5921ef74d581f1e257a132c67e4ec900470efcddd463a357d4e912070e52a1eb825cf9ce1bf55b944656921d849a0cb21a12443d40620b3fa798a2f9b9f7232403925a647ba5d94dfba3684a8b75ec434ee33ded5bca68201198451f5a325746c764b243043abed021c6102164b0a021e05e81f6211e461005830f24b2b04ff493a9b2d2bb16c81e4862c1ea9bf5c86c3edd62c964a20712586c6a399dc6fe80207905639ffea1c92a35ae92c944c7100974102fe121ea850e1e7f2071059beec14f3d2ee972495a91fd98a8a421b2c72f3b48588125a51d73f8c9d341b88ad7f66d35356eab6b4854f1767edb5cd38e7f4a9254209e5d3eaf954c264ca8e854ece6954e97e389a75846869222a66244e4a6b84e8ffe3cda1b909422713a74786ae9e4662283841488e6125a42e9a067ef28f47ed15c1d3b342011c56f29b3f4c7a7746521090576b9955631850414d8cf27cd41c3675f0c06249f28c6ecbca1c5ef3674249e50c4a97c8f9e3ec3d25120e9849ac9cc37a8cda0b69170c217b360fe9925d9445519362d8f5813f6f87d4e253ed8c78f0e4832914a42e537693a275f4b8903483091cc96c4543e2d03482e71e79cad21637a4b29a9643221b144964286eddba9f59d8300f94a24348e651b2534652e9150e2321355f24f98cc694e2215b6ac4e07a173856ac80f6749a04a530837a564b4b0f1984c26401289acdfa38dac5851cc2304124820bbbe79d458d0b12e46207984234eef5b9722c366c6870f95c010481ae1bacfed5d5a93621941864c265d9411648810e71f10d811c431f003488f2147202159849d564badd5583efb9474e15f4c263000e2c307047494f1c327b0a38c2060fcf01230caf8e113984c0070041245b831c3adc35346ada844042489204104c921f0532735b67fb6be6cc964f21ec46e4062082fae45d1177e5b64b610a8cd15a51f6314e1311a90100219592a9a27176125ac01c920da5825bbc39af6dc4b072482784d8eaab66e9361a61c9004a2a4cbb23b6fa8184a880410efc70b3a8facd5fc3fc91f584bbffb41d5c6ec28891f0e325c8ed59caeab8d1748fa90d6301919454e28cdf321791d378dba6c0c2fb740b28773e96732f1d3933926d1437549ce6ac6e64b954c20c9437ea53d5d06bfa0a526c18329acacce7495d40c49eec0f6a8d03e1532aab93c20b1035ae99ed54f9f4ac152873ae74cc7fc279af48f81f78f2890d0c1b312f74955c807ddc901c91cda12ab68412c83fa45023a48402207e395a9d39dbe38f841c718ebd493b70b091cd03866713fbc6a8f12c91b0c1b55e397a716697b0ac0380118246ef8563d8f6a0aa35a834a26131f246d5863d544ea89840dbae8fdc61854f9d6b986e4c309353aebc37c6706246ab8648d88452fafd03942768441920645cf29d17225e27f840655376cf9abae8b87cfc05c75464fa179fab219b2242e7a12264de3c5ca709e302b0d652221c3f97ea3deede365ea6348d53e482d4bf183c8c59006a99a5e940e9e825b4286101e2461604df75d66e94e496b4a7af8f0a1ffa3470148c090929be15d429ef69ee40bebd5c8d416e692674f02122f144644c43fa758296a17b6b9f5a047cb9ceaf505091710425dd8f86e223648b7604c5b8f31eae7923d8180440b87ee95f4bc99216478918542edc4863bb5f1dd7580040b67fd7cb1cb2a35e5fe0ad995f214dbf2ac7bda49acb0edc764f1f569e6ff084c60470426d0ce3ac61765b806c020a942e9d2448be9d458c9a5423d7ff2d1939016a3a6c40024532856ced162536e89b448a19a8b1965ec8e42328f6613529314193a5048844c1d5ee3232b689e70a85817e366693ac60a8913028f64a8543163f258200c08036150180004039c2f2d631208303054248c8583f1b8545ae701140001443624544a2c2c2820161a8cc4e190381c0c0684c14020080804c421511446e23c4b54591300a089c5afd972cb7231f61513c5d165e64216745bbd70067fd6017fe28ffcf8c2711142327c0691eb808cadfb8e280aeff958866cd29098fcb68a06f3111aef9267dcae174ea1bee4aeec50a3972dce004b222ab4db6edb39824fab96f07f5bc01955abe31e0711ec0aec5b87c0d7588cbc8b28991f57906663a84b880557d1047e0bb8974e61113cf4856ed9b606dc3ccd5576ac35b17cf27c05c0d0208585bdd79e3bedacce1ea020c8ea3dbaed5269478974c8a127ad65f5ae49187306f4c072ef1fd37c5bbc45353521c3997cf233ce682dbdbddf33f25853d4e84e7eb36818f8cd56448b63dc75157808300a05f60e4bb78f73fbbcd2c0fb0320406027b4a584e00729cc915f64ef1108b61f9317fdebedfd3ab57f7cf78d09bb091ce5b9a54dc92a819ec4650dd27a1385edf1961d7bb49120981cf26682cdde33188e244b68ade8d267952d388a7a02c32d7a0c624ec8b6e8a614d6b7cf66581ca31874170f0e416e47dec12efdd689aacc8221faedc94c528d78bce891a63a19e7ff9116778ebab75b9531655769c63e87fff63d62a4c3c30ea871fc4559a38b120f0ab569123d939d62155fd86bee2939ff8c1889652647aabf8ecc30c93685de41814211885ae7a4044abec0577d48238f7531b8050e4520f7acb1ed5f234b95be3be84ac6f3ba8979f15d83e530db1970d15262b612244486c121823b62bbed61bd317f9d285a2cd7a431b82ae1e472f03552894503584b26d72adfdfa2097e2ac39cc17245e4b384a2fc99a6df8e9ddb8caad6b91409810b098be6a18b81b4ebe81a216332f3de9a4b184f8845922a0e1d2a8baf5225f9da8624e5b2061bfc320db192c99ae9fd6326a1a6f22b841095147c54645f65dd150cc5a655dcad723e8ed03046a8de016809c84682aad9a4cf47ea9211383b564c948c07faba5ab710f195a4549073a5a04835c111a3efbb1768dd086a28555d9cae9fe82a7a3938333a09466b2bacb7a2b96000c0d3ce5c5b3895319c1436e133f03e2465da353608081f491105365f0d85b905b829f0da22f94a295cf11aa4906c7f4d5eb326df302d2346ffdaaa2b2ae152b7217588e2661e892ce58461d2e67b3f510e63b6594616e172b7a8e093111753bcc98fb9912605aac0653451ca584c88c0e2458c4e675b7464664584d453fa1d50b40fb906678e2b81041359395dd48335aefb726e4ded9670494b252e0725df71dc5b234bca062221d369a0dbe80f6395fc2e404fff93f676ff53351cb62c393e5967d1ae64c8157cdccc66167098cf0b986243553a5c164601f8b71f65f027d885ddac042912766d031bce2bb27bb865e24c2dc7c34456cd9d933f8f13f6e9a7bab10506149cd4766f93e09a4cb2a2af53fc48442ed7e478c2b1750b6204d82f3c332fadd6f75bc00e1afc5f4f51c9e3f5598af57c6b1ca22778f758ac5ffc98e0ce81b1390ca48951e014e51fc00e8f50f184c9290102b6011f3f7a045d9fc9e619dedbc5cf385882cd01762fa750bc2e5278e741d688ee706f99baaec767676f03d3de37e8468a393f43418c373927967d0993bfd4f073cecf48b933e0d2f76f534dd46b3b9c21c8e6ca0deeb5344073c0fb6f280ca8b806e10cfd0620f2144b30b6ba78a8d0848a4519cbece414830510d15f339a357bc79a295df096b4c64d648f17d288783fad973abac0eec89948d771bba07f20bf823c74545c64907f5fbe25a54f80e2d6fe0bedf60561a99ee810d8b4643d8fb07a880b46f0dc2d6da9beee7c2a2fce92584647fb8e41faa92c20accce466066e847f553f7c71267bc8a844f7481fbba0f36689496f7b4bef91338419b924ae780f12b2bf51473fb63643f3ad4521efa584e403a798952cb0c297cb6f287bb92283a2192e5afb7c3400962a32a7702097e30266c1621aebd8723e33d2857b2a3e5ed10f147540980b2cb6b98a45f221d95b490d3b146704da74bddd426d7c443946007762362cc25472273c7a215d2643c8fd8ee19197d67986226348239861da49a04ffbdffadbcdec2d59cd7925a42a70bea17ed8443715f60d2adee3b0e242c1fc0e5cbcc36141f4309d5122818ad93eb35dbea9a57c6665c28c23be0be075f1bbc10a22808dd12d06c1a3bf15d6ae28e9603c9b54f7d2e11ed9c17d0b9201fc89be4ddf5c065fdcad8080af1e890e40c2d8d214fd5332d0c4d86d2081b9442d5fa734585220c38a815494685d2898834682c151d021939031f1a285f367038f51f576830d88c04cc45a25c9e39e38722d3d7fd9b511d0080b3dd699a74a4e2f57623398a4ea38c1acb715853085c983e40b5e7bb8d99613b9aab80a704af4df20c88f6d9b4fb2633c4b703735721200cfbf6b875949d1a2f7459916db2830fcff7db022a05304352af6f9ecc6d6bb82d5760348b21007de5ab472f5ca8ff00ef8796138840e0ff23151ca97007c5862351dc7cc1c501f90c9984d41912b108302d9bb8c71c15fc3b2071cbde61426f1c2751a567223aa74585015b84177c803899978e07697615e85feda5105da1cc5875bbd4b4bb23eaf5320ae7b4ba6c56e74d9a002da12bf5c31d6697ecbe5d9889a761bfd2cf001fee05864e9d2ed805fa16da232b1f59bcb26f6014a9be94667d1bacbd73a2a557d130ea6deedd93aa0de0d7f71d0304143da00afdcbb20d89f8bee9e36264809ebe61d9738b0f8de7af27053bc341cc856d3acb738fc37548ad24edec13b14ea3bee5e5f447d7b2fe24ccb31bbdd8242026b7a464bf48fb8f2a905ccd07cb62acd62752755855728326b311e0877e9325edf94b121b9c0c3614a1480956358411210bd52009eb3883c65f9ae5b912fdcbf11435826f7e09740f68eac1286bd3e2dfe6e53cf88bffe13ef8df3867f33ed96bacd5998642379d2c5a49bcf219c16c61f33fbb79daa24648f67bf02738de5818b6d260f1d2844701234fddd16e3a74fccc4669154e2a8df4560bed2b21df923f0c091d2ba69c59675097a9623c84a247be4e17084f6b6f81b76d7ebcb4504d76b1bb8e3452c897adec784a8760e2108495222ce36960f1e27e23cd06a8286424d45a749434f544004c174f53ed1f553e5d8cbd0c57bebd97b1b9ad2e501e82dcc51ec4e56df3516ac17a1241673cb9d70cca9971e0a7a213492ce712cc2562d1f9af614dd638e5723492f66af997fd553aba0b418a1d1f19b389e1f218324d0f8a04e756987d0704bcc1da498126dd539b87deb6f5dfa31c18312c3d3d7f7d9d7d7813ec0b57b289380e3d9d9ef80b127e83396b79098b0c69d54bfa5d294751c3884223d8b0312823304c5fb67930ba813d9ce8a5ecb494ea44df498e20f8f88328579934d037a8fa9373cfcf8e9eb1c670e9c55817c94d3cd526d1da4aacecd52bf5f35d78ac1a1be0014436c0abc40b86e98b35eaae17816f9dc854b6ae5d5af0405c30afa9f56aca501ee31ccbf37082e669e34eebe1086dedb9ec0ce4180bca5fd773b259f7a70ede4da023eae3ed4a021bb291d45e7213ccb052ae32ce470b86f2c458873696d67ff28cc06b4adca672ecc6f9503a48da9fb90a052814dda4bc0aabb6a389ce93875837363e28abfde7b223c7e385c0c056ca05eae17cc2bc8fe8616c00148f2adf4898fca01034eb2f521290c4267740fbfdc3118326d1d9b7c610847de9b53224d68c5688a1ae8bef07d8d217d7cf2e38da0fa994db8314d3f48b593e90649494682f5eb95336e4648e4da2dda654aad40b8fecfa5d1e0f7b35f1d81ff3fcb9244c0725ab20bfe5fe6b83abbab02f335b6018d329b0edb3f9b12021cfafea14d3682ec93be397e60943f8c9353deff8a68008f1e3ba4738b13106e61da7a372082813824b463669f00c44973cff966250323867b95c5487bf5c325647d5ff1e6a1f98157dafe15897a36e0349ad3f3a6d01552c2ef07d74e74c8813a157983427ea946859eed33754e74a8d6a0f2c825f92284405228f5ce7c4e8765b3cda6a4aa06a00e59ee748b63e9d65b70d4eb78a9aaad3f80183d8d07c10ab4e5f12f1fa3b79298a502e12a1668cce0468c6397c1617562bb415f50fc06aae593c6289c2a3549f2c6e3a2e884017f9b30fbb663daae1ac9894b2cb7e87a940f9f2872bac056307edbf9eccfa2859e04f224e2bb337829111f8726ae27a5dda4e10701ef0858cbc782066fbe047a5cd741258e54666d7246746059809901a98335d7087801df90ba0ed5f916e243f920fed2c01ed52a7878ea2d76cc81a54d852d44fd7d59908e6c2558fbbc2e652aa13c7da4af40f2f9d96d4ffe238551230250c6a7898fb10652fbd240afe97b753c589c3c3161ccf80a943665ec2bee5cd3196d74c4574ab0de8c20b0b94cab89a61cf2db562a0acd9deb943b30dd1707b25dc546c2400ab75d92f45403d930c8458460f4893bd46e37b65ad2474a70e8e1212279574a76d3ca3c457dc31d39780c8de20dea53a66f7422d0e9fed48b1becc3948e992bf588c2dae35f25a9669da1e9924fd85944c98b72f2ec195f46d55e897a96440ca8206325aefd467327bfb5abe5650f1841e5b6638aacd42367464a7594550c41c2d8dcd49ccccf3d81f1be98131da6ad479bb309fedc3c36e5a0bb04cb666edac897f0a950587a671d38a7674722c0ae0211ee31fcb16ac7bbb9a7b508365d8d6279a304b12e8ff9cf565111795bc5a2693ed7371fce40bb3096fc8d6df440dd578ef7e893bac995d4bef7259ede5f28bcb2f3486a8741da9cb05a3c8488bf5ca868b58f1cd479d2d590d299ac2dd79069c1dc3d11258c1f889ceef449bc0d554759840917bb5f13c7184d164d32aa3777fc59d7eb1019970881a1a41acf684d15539681ffa4a3158574efbb1f3af089ff017ab1cdc0df9ec1ce0198e1627073f1331383757ea0f1d4b9fac8b0c3adb38ec712c006aaa10506917aa8bcf84673c453b6a36fedc61c69f431bf91591c71ba02a66b9d218102cb87bcd439eba8a7ddd1671ad1ab9196951a77a7e49b1deceb1aa3d99171b9e15cff2db42d32817493884eede6194f2e5eb518c0f7f143c76711f700d5f3508cc5b36cbc3a87805cb300dec1e9119b917c47d8bca622881d9e10571d5a534c1c6d846e545c615a3081e93a58ca283a049c127e8c9c2cd1d5bd84bb141a05a130f4556d2f4752ac03f1676dedf2945c6765dfce58de089c0e291521858b1af955e9b115f47704b5d55772cff90a6488852372599e3371e6b7c2c7d0b7ff8ad4a33e237b8276288c5ec6777ee597dacc1feb920ba9ef3e4701ad825adad118d5a0998332f22b1f6c3239c5960946f1ede0c08128028057c832a2595b6c7e5188d88024068bfa6a0189cbda1726356aee18d014cd819ae1aaec84d17473514984973710adc94a8a63c53ab1a137b806f1057cca0f3562086a345d99fc06c1cf373df7533a961795e40a6801d12e9c51b3bade888c60fca97e1b5b58e36d5bd27f330bf6213700c441a6e1dfb8b75b71706f5e80329cbc1c397df7c70643acfde31c685d51611844f824a20115f4699e82ca4c9ef94d20adbe61087c3c0927c674467e6bcf34154c892359d983bfd01c30550938118846fad1e6172b91fd6fee10fb971929bca8d5b2b13b1be70bcfdb51cbf6a87c8b2fda1d19ff888a7fdb63ddc43772e33c0b6cdc6cdd8fd33890aaa87cb3a54070b2160e21f31730fca94bba5e90a6abde02b4815298b008fe9fab017c378dbb5533e23defcb30233607874ef3f26229093b31f134b522016040575cec2c787d17068d4a39e801ea78ce780627fec98a29bababe3c6f73130f84fbd49b32cf4ae0a7156acd9089a7a956db7cacc6101e2c1c12c1788b6554d542f458ec15460dd7a4135225531b78af3c395be0dc21e759abddbacaee43f4c5bbc41a089c244f04f6188a12c508e93be675c2835a6ed01b6e5013f73682429505630c90c3311303c823b4d412a684d4d707726ea104da878ad27b54b992c04a746ccdaba0ecf3365e7f815f25d1004c2e4fb7c2072ed6555962c11b084b711d75cd01dfb0fa1b22bf536aeb7618ef359670329e160e1f1dcf33aff80fea7999a23835bc1f3fc39da565a94335c5a954782ed98ce356174c737adeb8f8ffa0a635016a74e65a6d0f6cdd4fa5973553cabf15a0a45dfa44e75c61cf48b421f770b55e6bf812dfe326bc0e1f2be5d02f24e1932fc9f0fa9333738370062d7bf511d42c3605105bdd44d9d5bad04ac4334735e9ccf654ecd7e60a0b8311f0dfaa9036a97f65efc477bbae07be70baf4fe5379311e48f62124f5e8be0ce60a5946c518882906c7b8d0e0780e20ed34614799cfb6aa41afdda50c5102d77aaca59659901bcbb102b1f4c07f6a90e0c237e426efb530409dea75a0456dd9d0caa6f5f6ad45572f15fa153494e29768e493dbe6ac02917eb08a5ef8c0734542787d26e159d471e4e68aea1e452b3457b207cdb07ac530a46494ff223553b86992c7ec254f988c0014d2c2a36c1eecfa4ec2f01fad691434d997543293d85c5a8d6d3217af67fa5dee3222c58b9ce97026c6c8cf343470ef2941e1bc315075610311c800eb5408f0240eda8d403186c0b2be184f60e84700b006c692bcc2276cebef66f9f4cd0fa9d6b554104ecd21e1fe8d52eb0d196364546c095f7dfb71201dc89c6498fb157a8aeeaadfd8cf7b635784e5fae01b556965e3f5ec9ea255fe4690ee15870536528fd620067247247d07ca65833d53a9dcfad082b6cc2427ab18e7bb2a061ab1345268c0cd484550b0b974a7c980153b32e048081d733e1eebc55cbf94434c0e42f262ee8a0410c4546467f505890deca21d56ea0eafb0ac4318233fb4bd25369367ffed53b65398e86c365f4bad739e88caf695fae696bf7d02bedac552cfa459acc8ab9553f6ca79e06140f5b48cb675bdb33bf7b9eefdb8a1a9372b813b7f59fa0634cb0dcdb8c0e247b91e9da748cbba8a24190668f914f3831fddf79c12c2018e7fc21c52eb4bd2ed696a4fd3ee23a16166a6238118c1f17acf5a08e1b7463eae4d178480682c8858a82903999796969d7ca76ffa52caff1528f92c47b2daf9537900c40208d249ee572741ac0b646524c86e73af611eec9c90be1332d15bfd2c3679b457922e6db85b33e4c4f8d33a50c18f890f47bf5d7ab51ae3ee5861fe3bb5311090f2110c4448319388c82cbd10fd7a522b4fe8aeace46c45b948b1668b3c87cfa60214de2652646680464aa4a4651e7e7d581b8ad6927f3e84f5a880c5594a100b669eeb3c1ade5622d9f10874c91bba50cca62270f4fa9890bb84f442203a0b1b596d59d73a17edc80e7ddb510601e97ea0f0e8559aa9425fe9b615c4668de9973a5a7830d0e26fba8676e173c0d5e18d091e1e4743d89d00bad2cd8e2936358bc67de7ac7f4d7bdca3cf1ae425b7958d4fb8eaa251cbeeca51615d9cb6a06e671192994503d922eeb058415e1a5478e7192f50c0752a5d1952958598bd0668041689d04ccba5fc3c631e54e598527fd8ec665c31bb9e9f425919b1c51ee6433766a85cc5d4219427b704e25b86aed2d7410aee9ab60a5981bfb529d2f19b8e64f78b893b771fec6b1e2e7b81538d862fe8a4e64ef8e7b6b5f861d893088b24e39b4676ff0682b7d23d52b077d6f60881f20a2880a51bd9e7e1baa23f0583a2fa0d2aa8b0190f7767a45a3abb1d015fa3fb3df7a5efc3b0dbb0282a078f80b9603cb443e9386928ca57344cc9bef90e4d20643c1c434cfa676f4a4353f6890f5ba564eed758301e09629b93eb47d2d3a4687dd6650b3fe024f979ddda24d7a8ddc6237fbd949b99d2b4fc1f85b86278960fc34ec873e7031f78bdbde2a1faacf4434e0210bf59fd7889ec02942d701aabe1266e6b887b826d41634927f56aad4b195e637ba8ce9ee69761b7318e9d683d9c8bb59aab9f3ca326180a4cbf2aad9dc64c7730cad05c4666821841412ce12b6aee454171ec45ab9f46b8d6af151412106fdf552db536b6f60cd871466bc0af89ea3151923e432530c86d633f0366acb18c06e2b3525808c60b518c0fd8d0ac1b9e321d28d032c21544eb6f0aeea1085ad12595cb0dec2cd190a551304b8287292272913ab45f755ba2080e427e6b3403f85e280d93f516237c45247361afe9fd0333e4a893548f96802839b416122a103ed731a35310f7cafbefc4a7663648f408ceea5273c351b58786c27f5b6092fd90025e6810362bc178cc1e8d7216fefeec1cdc72f2f8bf460dc5ea20a7ce09ebb4bf166f2723d1525d929d562945db2ab80869ff0d69269cd7a5aab80042bf8a099d325a42a06e60d5727a3a9ad2c9e669828dae8e62d78afa2371447ac1c3bfc1d8b1aa6a9a09eb19808a76b925412a915bf799826abda263c5451588400fb51ba5d3c0fb7f0046d806aa3c534653e82b75aa64d4966f39363d3d8092eb325b237bfd23fb1acb5d39468dbb1e19e1491e54a7008d7d77584fc2e74e00999b547045e19f4d0a0ea9a46a02291241b7cae268d8eee06112108620c4b64a92cf0303a8816b35016328681804607a4957683ab5155345895c5b1d1224ca150592ccf18535b544d80d6195e22b02fb49cbcaabf630fdaf561b4371b207e465201639ee69baf24c045d014d120bb35912b2b81b0845c4578043a398d6d956f0bd4b869a1cf74f03abd151dca7253bf7afbfe74ba51cb4a88601c32ee52b47b8e640b6db7f79183a7a1577dd120c5eb2045c8a661e20eb5203ca61ed57c5c7ff64984ab7395e8359ffd80aa109f15cb15c9c01b67260f08ece222ceeecc4899e942bb9381bffedd93852b967e9d97af2457ade147b1d2c8e7ca2a99c8e3b80867340439b59a73845d86db9c5fd405cc8ce002010425e132475c250d9739df18c6beb26dfe87b9fad1ba543a211c5d3438019da54696c65953af160302db325468787927843c9a76a380a3972d20791b05f75b2ddadf9d4ddcec2ea616db0c718b662b8f2e1f59233ec1ea5b520187bc3a5263d8df570d5dc7ac7498fc4a596563c09d4c43503a0ada354aa9ea43f1e9a13caa04f1892d502da989989df87c5a531f195f8a575541454f7d94abb4b5374978e6cbbfabd8aef4ba11f1360f12404dbcd82123b894b4975488d00b1cc038bc26609e570d7d7dc05ab239447adec63016ffd38a539aea2d090d5e7e08a94c36174f4e43df76a5c8a0ed46fbb2791b70b29a38819c75b2bd34454f419989f9e2653b0bf4e8b8cb13f88a0ae0817294a8d64e961fef89de55af0ad9c0e4d6f23b4b1c0b55a9bf725599cbf1e4717242dc879f4a9aa72a81d5876cd86961736747690443fa31439f5d1a38344fa61b1fcad4883a45f0fb0150559435ed54e07338beb01a9ddeab8963751861076f914326de961b3303d3e7c794f9dccfbd8b2c21202c68d784e653873096a7a8a23c4800cc011242995717e06fd40f1c1cc09448eca2dc5a54a8a269ab88b746fbc99ef35b8c0fa1fa894057ee2a067525ce89fb2bd59e7311201395b95736148479d1f2b994c7d61cfc22c58275812d43fb73be8c542c06bd405c7ac87892c02a9c43044c80ccc155045f0a68db8d8586e3e3a3a341f6cfa930caf4564ca23241016cb04f16f33a9299edfbd09540a02ac2845221aba06d8ceecd67fd7e2feb5d3a9085aabae1c9696594c6913fde67f7ec0a996349b0732d684dd75c7c0518449275d8eb0a7d9e5f82dc5e7d9c58330919115b08fc3f7d0fdc1d5464cf19f1c74227d3728165737f19ead6d736e6471f3fb2c8d043409e0278701b2086051bc1775db6afe1abc58508f7f0c408fd97d48ab992b416d5849357c2936bb78fcca78a7ef4f0c532d45ff8cb3f753888ef20f1f1672e53d599426a0919543436794c34501faf9126105a72af54d5560ed0e50a4f06d3ead5675161e95294c696955575940aca333081b3329bccaa11ec1476b02462cb0ee3a548e4d3769690abcec3fe947c0601b01d0c8544b23d0872b2a4e62ac0c258f1fc7de7559297e91785892a813b3292ea6341d4c8f5993b796e266893d969eee128febbb5690011ce6da7a0a310abf8ade109cab2599dc0734607a3b3898e3fbeed8401d324dc37e7296758e0b5366bf90f59ae7d7668c353e738dc8d4977e0696d253bbce8d489e78733a882539813bed121c6a380e0c762c3da3e6ecfa33eb8bec4f8d4ff8bd2d451f3537160837af0bc774d3d38ccca4f284f571daaac1dec84a3d8007cb4b9b112c15ed38b7863958508fed7eb6d4d9bc64c7585e07b6869da3c3b7aac6dfb96c9471e5a33888a1cbb673fc1ff542328f260bc43b2ed0eca2050b4283498b14e3649118e38965c6dd24aba1a38e6f287e6bd335064b66ad5a9e3a72d588776217386b558483c9ef0bf3e8345a9c164e7b4971fc0ae6083352c2eff5a29ed45ca64a19ea05ae12c70dc9cddaa57c3cffef3e7507f2d9f0d8c299668508516a40022ad691ff013d939afd1983ee2b6d71ac2e74249619de0c1ea338b2403b473b425cbafafc4022bd4489af7f06209b3fb8f0fcd6125aa0d095cba7b0c8ff57bcba137616776c02b668bcb302e323b41994c977225f7aa4e507b144b4cc751e4c0cda16d4b03a086acd8e4ff4ddddacc0b830f87b67f73a861f460e60441135c713bc686c5665f734319952f599ec7facf57b365a4c25f2d8a3a965fd4701b42ee24c1a6a5e06a10a846824a446ca43514352d36fa77eac5893f027c27ed7b3ae75d7352375cadec86a2cfca6f18e7b82daca0e8caff49edaac6359cf3fb97e6e3e0ce4898ccfcad173ef29da5d09538f45a9686ef80b0dc53065af011fde72127f21cfce72c9ecc1c617e676683c4df55657e2dc57b440e19546480b29e74849973a9e41d9917f0468d0a6831905262af5698054bb13f884da9c684a2299d20e31b4da40bbfc77e0f0ecdb20a5c7a352cb942e7aeb54283103eb8606a8babbee3f7e19264ada47b11f9342c59a09c36ef8dda9cbe1243edf5da050194ab357a6c1328aeff1008b8f15c5246842dc894ecd9e4218b12c5f796a3fe43217fa4a5a549d53d438bf9d2208cbd0d7d20ddbfacd687b9d8919f182f715222855201309616276ac7d56476af24aecc4d1112ae10ee7fdb6f667f18fcec00e1ac09c54dc29992863e6177ff9caa37c5fa99b5c16929bd577ca42a1989827c26f1425f5972efd1e7429e3a68e0a885b3eb717dabfc058ace9d1bd611b8cda7255c6f4b568e69b7dfb26263594452f84691f3c16bb8414602ae6137cd07c6a7a74c6a4f388b5478226d9f398462d34bb43e65fda7173cdbbb0c05fecc41eb27b250b15b69d0211fe2a7a842c9e5aefd1b4a3e68bccc8af6cad6c3c643473390923e300ec0709c13ff18b25c206076f3417f48f24822db6414257948b803e2c9e6ecf64d3c7174889675f7b28eeadffe2e8dee48f5ba94794f972d299a8187b60bd8c1d03de12a24542c9082a9df35f0216772ec37ae4e092510a99effcd82e36822732912f927a28320d1e456df37ffddb333a5f9ea0db5d181ca4568afb82a5e9adff658674801be1a7d1768cdb76abcdba98b69568ba597b61db69b6bdaa6deb595b98275c7980a036dcda866eda9aee693357f75117a229a3793963081632eab83c58cd3581ec4210934430a86e226eeabb2c79b149b93b5d5db0f02ee8689d95b3d55c4c30df0701b5341dfa82131f08a8c70565215522784770d9ea19d7e6fb50a55c47e2a7a9b11f25857a28df2c309df7fac695a015dbf889b39cb1220569f9ed85b48b426eb77f7d6e9fee03b901f8091b116c64e2b1b8c3d745963cf681ecb4a6670131b35c52797dee5add2e7df68a556a6c7ff749d344ca256ab06690720190edaea23162e0ee70e272cebc605be473dafc535c6bc720881b9c410c5ef82851cb61d1d35be5bd23a8f17e45b27891632592b3b716ae5be3942d34a6f1c431c069a54b05f4f14d1469abc3001e82b637a9c561c00d4141ce0182b875b292a168b9c335af6b38acee930472e7004a2f1c1fe37f0a624908031fc3ef46e0fce5162eec9684cdc3ab19a20810f50ad01f964225179da3cbbd46675d52035804b60dd220a81c1c5d908c95ce3037499a4ccc9311f29477e9e3948c92a790bb7c193d9ded23c134490a934bdf87f7d4c7908daf8b43988c38144412c292f43e308251b13a51cbd69040561b05d84d858384c072537c51cc0ee19d2c6681833fe4fa0bfdc27aee8f2818cff250e5b9af175aaec825176cbace04320e2eb856037fddac0a4e0a09e475f98f365216637758db6cfe4532bb225d8c0d72b0d8d92f1e86afbce0ddb4b1bb3b34986d0d145345dea10805d71714ae53df7544620164fd0ac7bc0b2190f491d3091ca3e72d243382223fa77ac56862544234fd0f3a3152aaf1e791fa6fba6fafc3b791ecf4d521e3e8250a9c0515e143be7bf22cfcabd5e51da1cfabd930888034694621244496340727324fdd82a3f76d9260e1c0362136e7aa59da58d0ca02c6d4d79bb73994e68092aa9468d09dc3d382e896a1a869727eafcbd40e6941c72780ed0f48368bb5b511d00b98e70b3805bbf89941138923cb2b278a895dd9d743eb739dadcae60d4071450d584a69ef48c200ae8ae30e0e2ec89ee5810085a04dd230e07061d0b06310e737ab2d8b59f401806549d40942c86b0e061f73dda11466083f0422b2016296d36217529af2a744e070186cd63687435964deebdd1f451e3cf580e33dbc3a59230f703e364e090ba81f5e841b324a136c383421a3ca0b5789f77e7bd87b7c27d52528e57f65f31d0853d9b596808c3b43b9ebc190c5fbbca5142007f8950b0138dd8ea90d02a05e4dca73570fb50dfb0a33bd5821d04d8f25ce628e391164c1cbbc869b4b3f4d40cd5bd216e32df1cbc46a6fb9cf11c5e6c08acc1afba15ca937bfc8ad315846b38ba83f5ed19d111b55fb17eeb5d0c417c11e27cd76b8f1cb8b545b170248e3fa25c13845208c68e9578b52c06607eadfc69841a56a9ab70162c23e06a7b21a72582e0c652edcc7263f2cea7b90eb50aa6d1c815fe48c87d8c37d417ebbe49cc5a13964fadc40d348cd70cab599456250585d80f35ffff7af52c4679cee6db421be3ddd4264803c7c904373ae67d68737d647ec778a5e5ec7edcfc746308dc6acf2acc028bd3de0496abf69a0b688fdb9c084c29adb246e3e48e4c7449fb308b8e5cb54448993f8743765dd03d39da6e1240fa738a7c2d22679dab1adea03b42a122bd5b4c6b7096cbda45de023c71952083a914220cc4541b93cd79a632b61aa10cec95c7ee492f1fe68b83e2984114346e35840325687731ba7bd19a4febb852b297325201d28f1f6ee55c6b1d00c45eef8b2bec92081e6a3e1b795e8b787e12e64eec6916e1ea9f837987eead0ba0f7f5798a850c52722aae4cd130c3875f83d43560cbd5e45fc3f73c529fa0cd5e420e5ceab5d4a2b53d28c5bdcd09bb0a9744171dc512d55a47d33f7f8979519fd547aeed279652822a572a5e03789cb8779a2b13bebd4232bf095aff23da7d89aaea448d92669c8c2a0a01910c7ff38103a40b04e34585ecbee95ffdbb476e50d5a4d1a85c44670c6d2165ef048609859c0ae1c567c4345e8dc66304d2a9d564452b1218af4de60795d34ca7c25828ece6437a2c566a7c107aab6e1e49e71454ca7bcc94279d3148bddd86a6f002d37eceb57a09b6d97757b20ebf64d351230fee6dd12e31826e6db4abc54c73fa3a484c0619c7e0656cecea37e42f36b853c8fc489ebfb017b45284cf578acf50be917a4f1d5c1e8919b26197c21cc764e034bc1d3845111ec0fe31699ce206652f813d445f3c3448b7bd6f1617e8f94f470cd6e5d494d2ce23d56ee0796352c8c022e682b222437e6c4a7346057a4e493c4900031b02aa9d261c26f09cc74aa2bd9918034ae9b6d075f66b53c3486a298a1800e1915aa8e16bd0e5509ff42365f40880c2b646fa93c3d6b5b90952f613b938cc13bda0ae8329aac606511ac6fd3e043127e238275fa30fe8d109d62c1cc23969a6b2e13b2e55b859b9cd099081ea75047e30406920846d2c46e116d60163363a380a3cc046907194c4975e8f53b8949f16f76197a1e9c24b2e5bf3eb0eb80da3aa921e8ba172793296496b1e8ed937ab214a09e6c3c793320052a0f4d9c693e5d8a587c6e1b710b29b6b8d1020c80a996eccc3f60645854b52de71bd68ea71f0b11c5012b0ec09f90c70994b130107ef699e627503ce72d2807717fea233bcc848d24b2b48c61e50b855795df745fd0b7768bc5c7e5638be66178868ca83c89ce13a7f7a7f1587f91c73e7e0164e901024880998ef0c70d29625dd6f4a23d8c98cebfd5de24152dd9e772a08f306811bfe7e66cd7add014a0744a0435abb82e19bed2548f84ac33f06baf1b8922a9a9d9d1b3fc1138c3a199f35785dc698300e96aa7557f8cb5d54eb8c5a93d8b69aa4f8c562c2988885974c86a3eb17d85d4f89b9b32421c37e176386991dff4c928babb19b8525464d2319571524c3c0b7870a9203c5429ae4965a952632fd02f2260aea8fce087a7235444b4be7a12dd68218eef812d218635c397a572f4eb9bf36f7c455f89ded19b4050f60d3836eec00d18619c459ee4e6ded2143dca3bc15619e5ff24aee1b643aac226b6b8f204053c522a0da937439020f42f95beb12787aa87f390f56a20051a00418221aec879d8c4cb88f2438ecc6950b298c9c028d627296de33d704ee068f8bcbbe0a9313066d1a6407a42341a9005e5934e62120a5f04898796585f69cd13164ece27df9e8899f14ec9e66fc644697300ad085350328e3459e86333417350ae44c0a68270bc216e3c2eff1b86197f2ba69f6b7909d4d20f79ef6e4fce855377744804ef2f6d10c6f19aa3e7b526a5228655844be2c408766c0e3da601d27ac7496cf6b7d06474bb6094e570db924a47df839dd84e9e344e8bbf78d4b10bc7c63f3f5be68348c63352071d75c54a89684a8e6352f8d774584ac5c6bad02c291dc4f36921f5ecee9299fcf1037a3034bae46d3d12886c7e1541647ca04282e54786b9f054c43181fd27a3a07c6966e01d24ca02c4c497618fe5c24e3189aef260741ac11a619798d1ede47891c4d8645f718ddd20acf0da92a2b55607134893edd65194a398952d57fce7c48a4e15e69967b9791ce3295b418278e7184bb5817bc6903429054944bf4ada1ef40a9c2e027e4e45763e353d64a20956f71451803f21e32df94a8035dd9fa755bf5fc1a40b9eba705a444028e7c1fc108b6002dfccf86bd9dbe1bc39a1e22a0a7190f9e1525dfe80951a00eae5b306b841ed414809128fb8efc7f81a5f9c6e5f3d4db4907b6d96c087ed5bd01c17c929185f9785142e04ade17ef0789d22614b42b17e5ac8ac233e82ec1223aac14ea56fd043e7931cb72eb3e6bb11c9707fc6878cb0e71bb9e96394be37720dad9b8694f84b55d6977cdc59de26317a96a9fac4d6297e05da78e7952f6e2d27cc119bf04e8234ab7b76d16a08db6eea74a3522eef4d06361f04dc75274eb91839b0dcb1a4abf1a2c6b7af7b07da20d135bb37c07873a0a28d48d4557c5c95e16a7c5c6d80ac56af8698c58165b8b42c2872af4938fde0fe5a9997993fe03ecb8ccdf0013392684c2050440f7c7b916601c810d2aedbdd154d87029ee5847f0c3330b0a490030000000000000040900effb3e6ffff5a6d2525258c0082b7dc69d3a67890890f82010000bf59fbbd6dfd106cc550700c180c880c49dad78e91111ece630519007945173e32e455cc99b781b822692d2ffde66a123e0569c59f351ecf37aefa3f5618837b7aff3ff1b33c9055dc1af99ea71e6798c1461b074415a4ce89e1d5211d25c4430d1d3c3c0d1ecec33900928a64c9ccda0ca3a1f54645152697e0bb1fff620ee414468de87d48b79cd2e139e0a1c68f8cc800c414d7799674c1345efc9c330b7200528ad34935965a434ec9d77b077c0d20b4404148a145dfc94152c3b8c7a3f037cfedb9cb887fa2402c692531982836bea6a0023cd8b8014828187f59f77a111489773097f1a89b53ee03209fb0249b3b49ded20a9f04c41385b4cafc501593970e0485811a3e680105403a91b83975f22cafddd672223fd98b6ddb36c185de24864eff000768a2dda4727576522a5626562b137a6652e36212139b1cb929f6899eb4b34b248ca7932ddeb8a736a916805882b58e71c62f7c4ca2090b402a516559ae9c9adad7bd1a6aac0b4028710a6f99363f6e029049584166b3e5142c9515009104d7f7d75de1a5ee3d061209d793ee9f944a7cf3bc830d4dc1c8c80e36748d911120b00102893d27fdf827f37bd93da24b7131b33689931b0371049f8305b15839830ad288a237e95c9a94e2ff04c2082f95d75d5dec7cec17a1e8a5d89ab35644396b57dd7fe550cf26a2dc512b2c66df79cb10a1d488061b9b930cfb21ded32465cbf134842e9d4c622d4d5bfc0ab198d7c5ab9fd4bd4b08c2d6a48bf9a3ef9a18c820b6cea1e4ffb20a882092dfc48de2b729c7cd07c2249b5f9a3e4d762c01e187e62ecbd59bfb64903fd4e9b184135398acb8fa0113b376f6606d52c2a60fe71c9ab1f249b5af313e3c6b9eaa51ea27e4dfc3a9644d26bda564560f783e4d6edd1b9f4f3289852007207928bcbacec931fa8a6d3ff010f0701fa8518203c143da67a6fbadbbd92a2077a062a58ffc08594b292076303684096f614d8e790352877ec5a2e9f848875eae574af2cbcf8acda1a06ff2a64ed298b831723857927ae5e4f8052071e0bc4ecc712f2d5c7815e8f634d4388379000207db62b0fe2b499037589b5b552e3263c3bf041037ac97f6652f15994f0e1340dae0c6446a92a415840d56a77f0e69714b2d650dc74b3146fd3f0151c31d3ae5969d94535e0a240d8917623d8e668efa29081adccbd93df3095ea21e90332c722689547b7689198819d82d7b3521ff843413a40c75a778e894f3eea713103230f199d25aabf98f34867333c712e2ab2fa42a064fca7b3955772f89658f30808461efeecf5e958305103018dd1b527f791240be80ae6bfae45f379e424f00f142a1f3e4af7fca996207d28563646b67177f4b99837001cbf63727fa46af5d205b486c0bde156f4fac24836841ed0f3695d3c22f3f5968ff3209ad498e9af7028205a66b2d678e7d052aa5b733938496d8d90a0916eaf34a12267e4daa707e3671faeadc5cb40c80506151d9309f52889e59a7a05c3231beefa4e4a4814841d74eadd9bedc9d649028e4af2372d1d971fb39010814dab4a351b3976c123905204fc8afb3658d58ea4bf704204e3867ecc91b6535fa6f204db8d294989c5b67b2074098d064093e1ee9a921802ce1df24d96f7a5f0965f4f31cff11240976de93b326e90f4014409090a65b5deed47cee199023e4e92ef58f8efde72411408c6090f02feb990f65623e8a51ce24aee12ef898ed1fc458752b6bcc4bcad87018e58d2ae93ea628e1e40f61dcb3a5490eb55ebf3018bac64a227a6960a841f3ba9ac4ed89497e71e74a2a6b2509f6b7f9c251cb6defbbd221772fcc1d3a4db544778c8cf0228df2702969846dac3b76e19ed4955c56f9d0c5d7276d3e7fb5cf96e023177ae67c0aad539bbdc485abd596e450265bc7f2166e79685b2a934ad2164c7dd6c9bed9a49f925a987ef5638eb995172bb4c05dbc53cc1f4a6cf78f5960f926a6934ad0a0252c0b2dd76449f2bd65ec24b130c684e6e0362c1839315622ee4f0ae72b4a25f75dd2f3b8c2e4b317ae5f698591392adb2fbd47cbb1e2bd92b6224dcee8965a0566317c569614ffac2ab6bdd0bab7616cf3948ab58269b84942ff658f8aa26ab0cfac49b2d8d72992a2c6b0a097257a3c47f830c5ada239dbee7fd1fb52f89955532a65bff90a293ed95276a8cf0a5fcd28eeca396cf8a85ad54f1474927734a99fe5db640f3e426170991233ad84132c030a3267c95f968347a5fc89b3357d307befedfe78022931dfd0e616db539db882b94f6bd08d27689c684be4447531f162beece063139a5df44c92705b27f53af8d0c431e6741b72dfda339f897fd3746b05933ee516135596f4cf9baf77d2bec4a15d121797b544b9cd840e53639d9db3c3d7d0a1e3011f95d8ba3d5364f5e775f08c371f94b03ab7a3c5b4e1a4b277948f4958b9247da9a9de4b0ed428c1027ae802ce87240ea7f1c424e9d8f09e1d39c8811a2558438d138c8ce4408d3328f01189a4f26418d7bbff36f98044aaf349eb72ff78c4f1f562f6c3116f8e96f69da43fe9cb8e91918f46146e499811cbe695093366bdbe7d2ca2954c572197e9f2de061a1538a30d138c8cc4e0431194dc25ad33393e9626e28c39c9f64c27c56441c456f2ed686acaabb3f9388449635a8d9fe184390f3f0c71c92606f5aff1af9cfe2884254997b1490e103e089168e59e11d619c6a7217c0ce2982a6ac630e9122eb5e04310bd5d7eb796fccd4bffe0231099248959f1eee3d91b00445a6af21213b351c11d23237f3852ff733ae6e2f794861a667cf8a124f8be8b690eb12afb90f9657589ab8b3e890f996fcef9f234fb9bf41e9213dabb63d29859991e8af7d3ca65ddff1fca837762c81c6a3cbfa53c1e6cbbbacfe029af527a07ab6d3778baeee78c1f7648b62ce93122f7dbfda843255f66f45b9b467a46f8a083a7255957d6c1449b081f73a865bd54dc53b69d243df40c0e7cc8e14b271fff4654d75380a029f888039b7d442ad763ee5d3ee0e07bccf31a4fca2da17c43bd212e5f29c5f2621f6e48960d5737c1d2f3497eb421a932414bccb12329d3071b8e6f62aaa794f39a5936f858832585cd3974ae935f4c7da8c158934d0a22bf173ed2b0c792378cdebee6e91f68a84d7effec633addf5c7194a52d4245ebc4b973778820f3350b2893312b1567ad9322495f6364c6c3ec890997c7274aeec630c98668b3956b61a7c8821a1f2526f2e0f83314532edeac7a41d0683d5b9d3099dbd494ef385c47016aa579bfd93b6e3c30bbb56768ed9ee75d2268d8f2e609f61c2f5a2efb6e66b00a1056d7c70812a9392747c868d9d71349487a6c0d700420b80c0c6c716ceadde5875c93baa65850f2d10af15e2b93f4335ff91853f57167b7c60a14b77b296d96dc76be850830d1e6aa4e0e30a7adede2426a9522fc0c087151ecb2e26bd495f49acaff051052cde8ddea95785f33fa8f07b558ba76a561e4fa91e54e1630ac7da9953ab78930f7d48212df992e6fdb418de8dc147148efedb4ae1f2ac5af8030af5df5b4e52764f9ba31f4f386c45af907bb1ddac3ec3cdf8400f267c38e193339874e1e636bc7d0110d80800143e9ab09dcc5a1a8d2d9f7a26f49f1576929958f5a98f252465966f35f91d34f850822a6e92e4c96bd2517f2421c172c6bcdb2c51ddfd400253c2c9bdf14be4e473c6c711f8132f9bcf1683a7590b1f46f8bcd54ceea978618c62b026ee985a5a9192b266188318fbd5945cb5f13186814936ebc9244f72da398630d4327936e6c7e07deb18c1505ac63785b10d3f296300e3a98dca949ba9b21be3179ae64d827bb875b398317c514cbdd92e6339e97663f4a2ecde21fd3d6e6edabc3094b469fe7c43e948bbe8fcbbe54d2c499298eae22c13a324a94345fd3217e4668d8ae9782f1e5c5c2665e794395f0917bf0519dae4dd924a6c6188d0364fd65dda26b5c83d4b107339b1a25bb4e03e947dc949cc0caf31618c5928994e4ce3be9a53cf31648188571253f27b8c58949be7633a9bc780c5b526b9c7efeb1c5d26618c579c528e6888fae826e55d71142d1bfbd6b4e2b34e95b3a7b8ce2cb1c27a5993a47e71154aa69cada3c4edcd7955583165adeab8ab5f27a928f6e4791293cffe4f54ecf14dccd3679dc4903945d9367ae7ccd2492f9aa298237916563e099f3246299c8ae9ced39e9a7c79527c26947a3a1ff578e3280a6d62ac08bbd38a21511c4c0a16db2b76b3e8a130c528a917744cc363a038fb92e79a244fe5eb7c82a964735e7d42da89275ced106a399bdde4f4189dd06bed729487a88a35062792a583c76754d4f3e8189b38a598939aa09b3dd7561843134ae7286379e54c7c7a6927ee5d4ac9ddc11898b856be4ceafcf63f970fc6b844139f2f7b984b1ad7c41247a6b496d2455a89e14aec71a264eab30ab50d25b0c81acdd88110c698443b7ff26f7dcc56620c1b634842e9d8fa6ee9475e363d22817555388e59bc4cb5ae4135abdcfda9d327a9862d7d4e397a4adef749431f2a9de744fb7c0e1af07ff18f2687cfe045e7ba08b90e13c366c0e554a224fb9d36e1326c69b3682591c9c06f4c82a6ac5fc12c1e43c2fa8ba5f49e75e362d82b4a3ae9aa944b87e18c9ff7e64fdeb20c86b5b66c6a83a52bf70b9e286e1b2fda068f7aa1c8d1288b6717e82b4b9fa2479f875c78347fa46dda77c86c0119c9de0f9ef4c4b5e0caf47767ca19ef2cf01baac2c2ddc15d4bb8f60a89db1d1a4d4a5d65ad15e8b818d7675a4a4e6d15bc1f8fe12725c3e954b83d2b67c7a7a0bce57c4d61c5e59642da9e04b54ce1fad351a84c124c4a43e130d139af435fd2f909fa7e586c4e6931b113ec942d5e85b7097e7b5ec613c4a4ca32a1eef293a2af638cea12128da92ae754c297e5e3b5a225e9249c939c6d2fcaf7460709499f6173f0e92f1f8f604a69ded13164184193d753b09f4b9fc41443b91363ac901673528871485ffa96f468f30de33ee9f5f3cf49bac2f8f24a8ef9c282b6c1604664ce826e5955c058532a314f2e29914a7fe1c91525e6aa35dd90fa6239bfb93cd915d3efc5397605cd5f39dad7bc302e357ef88c623eefc24c2e9567b2a3d2ac0b369de6a0f9cd0555d2a466dbed4c595cbcd61e6de7bc85f36336f553d53ada02f79d90de60d6820af718e3dad53b4c5a18fd72ec68d6e1a6246751ee9c6d34ba948552b2a45ee69c4ab83216fae6b10abb32a1a28485315b4e12763dc7bc5fc1c7b22a39a98264d81545f4a75becce1cdf56a0319e7e6b57e55c59e1e5bda051544dde731545abdade5415e37a5491fb6e9d6b4e2af26017621d935319541847de4e4e1af15c720aac63d8a05ed1d7534c61f298e69378a5285586b55c2df19d9182ad799f4ad2198529ef4acea48b02abbc6f19263d4d3414d456b0cdcb2cfb27288a17c3c620f6d796fc0416ee5ba624bab2c713ec863f6d193b7149f7974d0c9a2f643881a6281f3c93e026cab98caf7539df16d48467ea1ea5bd734c0f3351a78b8d396e924d32c44427a5e8ce21c34bf4c962c79bb79eff2df19fc95ba7eaa9d6af04d71d2b9ec698c2e994c05fd6a4b40f92774f02193fd738b224de2edf11ff3ad913094273ca05938504ea9da4acda3ea28b5d1f4e564f82a88e385430b9534ad8fc4f23c8913db9b3b9a5141941b66cc72a59c4962439495797220e2d1924fba3ed5989783294f4614e0c22b2ff6d0f538de1277388c4c458e2650b0b291943b8397d21968c6b9da1a7a4734254b2cfc91d5a24f21e845f49ab4eecb620b120f2fd198b39e2b1d2407c3357e16b7b299f80d832097aff27c91ffeb92449f275925c4ae207b284cc25d97d55c5923e2895534e2b27f7ed94f0e1dc241b7efa1e4af677d9a773b3e97ac042358d5d94a71ccf831dbb5272c8ef93733c1499364b4ef61d32ad93120d161f643b501d9a93c1fac489ebe06ceaf4b29a6a351dced03ad71e73f5b27348d232add3c4e46fe55032613a8d7d92b724e370bcd8a0f93d25aa84c319c74387a958aff00d87447938dfa8551a37e8257d3ec962da40ba5e4fa9747f4c296c484e512eadf56bb8a3dc64fff8d4e0c7ca1d32653d31cc4b039d2a1e36779dd4e5a121ab8f5fbd95ffc4f0ce505cf489966b375f9233437ea19d574fdaca7265c8c66622cd3b32183bc74d3f939abcdd18ccce719ee3ae466a2786fd537e48cbacded585a11cb32d4caa5c1da4030316566a3e2ca57cfd0bdac9d77d52df68dd0be71893d852277e5abd0ba61c635ef848abd5b9e04da7eb27933293f41698cffad13acf97642d60c1a56a2c2efcde2cecfbde7629783a4db1d0c93a13254939b99f2b641e5746359565ceb182f229e53975aa90ec17e38793df29910a64a8cbcdcaa9248653d0c23e89d51db3a69182f13be809257eaf2751a0a47426c9979ffc924021513b6fd4297982b3e9a3de465df4e2843e2759d244f570da35e1f1932ac598bb158d0944e966bbdd3d336b09bd47f7a818bdd3a594509674a27facadd6ca9270acd69b4977621243a60024e8a97fdea4adf71c99028e405fea5dcb498a39ae002360295dd2ec5779ec2f067d21b3e55cf9f2f3c43088e5a0a5fd30cc39fc455b9b931217469f3b86335943d5a78361f549f27c4fc0f0ede4cce1dca34df617ebff9eedec9894ab2f3cb1c424e1a3bd20a3c8c99afc63db8617bfd426cffb1e9631bb309a4bc58feed2f944177fbc8919db24170779cd26bd56e497e0e2681d2fa62434c3e516f87a5be610fb7e72658b2bcb5a5db45a94b2938ffc5f975cb4d8ea73ec586266ba67518ca4cff9e693d2b26033cbbf9ae89e6d2c8e8d33d2bba9a4940a16c665eda475ffbd51bda24bff98429790737957ac2f26a64d7d2b56915b0b53979d9d15478f879d24af828dacb69cb34ad0b02aecf0ced3993983c5a938c927aeb129b4e54585c9c7cf82f6966c82a728a7559a89557e42688a45936ab87c163d9952a4d984e9ba9002d5a94baaad61b664146a78b6942c7a46b188a2ccf9ebff35953e147faa6069524dbc010a63346de750929011279fd03c939432c6a9bf9ad0f044193f7bffc5be9262f49d68bdc6ccf5cefe3ac6897e46a37ff48decf42692f29299e5b318325d1adcd004b19599d96ffa6626124dea92b46871c63c98d0e4645a6b49be7cb9dfb8449aeca5b543278d0a774ce086256e54e2c9c88a97d17653d22981e6b0e77531e58c35d010011036d0a387a6a0d5e0c0c80810f6c62492acd3d62e2c5bd6d38cff1788e0031fd0e1831b92f8c3a4cf499b7644e297dfad7c49f64d9e67a30d48b417e2e9fcb31d23238fe0356ed35c653db39423d4d550fa395b9a6db947235a99bacb29093102736dfda053ef95bf4524ada79c31a751d1d072e08622500fd1eda9d2449877e3e5ccc6dcf141c47169b3735676787f0f81c61cded367df74fb3184fe9f57dee389251622c18d427c9d2c674b1fe66bc20edc20041bdfebc3cf89076e0cc2baa9cea359294709df1084662705cb6e171753cc076e04a2984e8e1bcf9278fde11d20b8018867939c6a627d3e39f71d232326b13f5c21dbe4189563733b7ae80e11dcf0c3526952be94684265bd6364a40f6cf2d03a4bcff759f221ed3f93dec4924cca6cc7c8c8096eecc1cfb367e5f1e28da6768c8ce0e0861eacf7ebaf95be9c4a72c7c8481e8aff8b5652096ee0010d35d438c08d3b741a66f8208d363e6ed8c1d41ae5b53dfdbe1e67b80e1e6ae8b851873d6f2c3145dbf5f4d11d232321b84187243169ee73f80ea19b911135cc98433923dea9435d8c9fe480650d365f2daa31f51e71602d5894d9ec972a977060bcc3bc96ec9d3e2f2ab8f10636c654cdd93c49e93d2eb8e10635d9cf5b3a0537da405cc591b375a99cb3e0061bfa3caf63ea3a26788c0c6eaca178dbe8f64847467ae84883c70a6ea8e132792bbcf5d45d986fa4a1bce9d2628aa91f43ba81865b45cda4b6943fcd3d8355a297e7e42896be32c3296789155f3bda7a4a0337ca90e5c7e6fb2e73ef023638c90d32e0396e2a0f8b5a72fa6e8cc113d373b5fe4b7b866f88e1380fbea17326e1527a0337c240c5942587c69a6a1081e02438e30618a88e66b7a957838d3580c083bff0a56b6f9d74f9265a7470c30bfa6ad8e9db183e3e76a193e37e9448c9868bd9c10d2e106352aaf62db172f469dcd84267d29ffff8f87998b560ec797d195993ee380b9d94ef83e94ab69cb86364e40616cc304f7292db4413d5be7185d60429496e518dbdd60ad8ef67cdfa9c5e4ba9021e4c960d1a3cff6a8a0af7d47d9222a61b53782ad33c4b98070c6e48c17c616d74ab1385d304f5beda110aa534f27d29afa7d6f784ed4d2c7af36a6c9350e08613acaee9b41cca3db9d7042a8931850be9ce60011b6a9cd1038d1b4c30677abe992488ee992c81dab4267bde7d7fa56e28c19362b7672ea1834c9c04423ffba7605a3e2575821b4860d6646e83fe5faf2703378e502731ab3f64fe852db961847fdf2b759eafcf1d334831d0eb306dff13d5c22486e1c2bd6928d1bf37388c3f8536a9adb030c83517cfb49c605c69e354c8df4f925a80b18be77d79c9e859f2179f6b26d193da84a7df17ce54b615519f17397b91787dbdc12c1d002480f0e2b4f5fb1793dce6ca16016417e5ee3f17b1983349bc6364a4076674074800a28b5cfe7d7c3aa27cd3b9488892a424573fb124215c2ceae93cda345ddee416a7d9d02689dbb18559738592538769a861c608406a6164da78ea4c19632f02105a2446e53af92b388bfcd3657cd6d1db14441678ebc6cb5ae7584e128b75277ed7a4f2c64b81c556c2d9a9fd1d90a87c2dedee7499703f029d8d4e59ddecdd3aa2acafcfa8246caab6117d893968cf550aee614496b9fb412fc99b9d45dc256a8757599284cf14f1c52456fbd126a3b344b86b3f1a757f615286883dea426e49b9634c1fc29cc6e45ec5ef52d610b7e5bcef91f79e6b21b4d54f15af1bef28210a712d31835c9266ac41bc714f9398b34bf75782487ad58b1f37a7caaf02d1c60c1ed7c430ee3620a8b1f4d165fee1e85c132b6b62f4fd40ade45f8689b8e9f421e16285e628692b4b84830fdb665b56592e31b3250838f650afb579d854d659ff22e0d0037642ca5989195bafb100471e18132d93e7d3133aa5003001071ebafb93934ac9ab553c38ee80c30ee9cffeef9498c389193dea40054bd2c5789b41872354fb6ce664c7c8080f3576701aea3c3680630e9f07d10cb7f6ad28d948430d1e0f021c72a0c429cf49ccf6b4d6e81918c011074dc324e3549b60f2c7638d0fe0804372feb5d1becf77f468630d0de0788399f293767a99d578d93132d2230338dc50cba6868fed4c157c0fe06883a57549bcf38e669213e060c35e492b6d27318ea9576b584ba395568afc9921c0a106437687f8b64fb5aac191063ee5e9b19c1e0538d040e71ce3a7ef4956db719ce17462fc5e58de45b57198c1ba4cb79ba5ad35fe86a30c86994da6e675e020c399d92997ec97c4c2be230d3d230585630cc951ffff64f718b7a11ef80a46467ae03c1e871890ca0869932ff12b83230c5b89dd2996bbfe952738c0600916f7674d707cc1954fb1664938592fd97186f2c0e1054eb2cddcb1987a4f6ec7c8888e2e6c5231bbe55cd9b9a4f4502ed03963903de136c979f6d03374aca1068fae018e2d547b41ec3a7dcf5b430d17e0d082d2be19e27de23517607f411a2fc091056c34a5d2b23eedff765c800527e0818233706081fa8d1adca25d92e29e018e2bf017e3d4d36677ab170738ace0872849123c54642ada230d1ae0a8c2bdbb1f26599acd75b0e0043dd2701c544047cafcc299c620e28e91910bb0e0043a704ce192c89852e8d897e3fc38a49087b8b4a42fe159bb1ce08802df49bd263e774cd902031c5060a4d33d65e367cbe117e07882375666d9fe931c34c2e184432b4976b05cff8f37e1e830cb5762888309b449850b7e2d8e25945238d33769936c973a010e255cb2df56f6249e93a67024a18e8e0ae6a1d3988670206109cbbf395789e308e64b6bf29b6d08d90f117018c13417d2fe3534a7d0d1b1464831888b71d47b0e21c6d13feb535e3d8cc22bd8497de2799d2a0cfbc42ccdd629dc781f128c52259dd89c9510609c938698aecdffc27c6d71d2fb6a86120af1855e62aa7a77971493dc10427a614c274b5b38135c3eb66364e4d5cfa041082f2ac9ccb7a47d17c514634e15be75629ce8c29989f3ca9073fd2b17e54c2d292da2b326c7c55616a4ab64ed16ff987829b4844b276a0b3a37faeb758ab99dbb082e10528b5be4f227c134b4b82499ef28bd192ec99945e6fde12ff54fc5f6b278630e0d9129d324938d45f99394a4b83926c6db61418926d12125742ceb5718efba641d4bd2821057606a1f7ae463fcfcb15650f92162ea6eebe45a41082b4a216b1fd1d32a4c31d7dfa90eef7fd9c1c3d948c35561b0cd69f396a9c83de653f5bce944b784a0823cb13f654abf1e9ee414c795c9b9cebe0621a6b0f2ad4ae6b2da746283905214ee5d6b3bb23cbc860621a4682fcfa5f8fd19ada151ac276325d544899fc4768c8cb820441489bdaf9e2aeb0e188484e254366b534275c4be2a08014572cc671ec3078d904f94c3f8c916b536baf1104f6877325139d7219dd036e548b3cf423851abdfa7745163c99f0fd94492385249e870bd9d358d104dd061a3669526ef4b392199b8737a7ad270be29279848e6e4ea3bc5b2c579f80e1fe80843c825d2cd413fa54aaebb1d4b1c23333dea8c4b67a8871a67702590fccf6934774a9cd464a9f1d64ca2df70e16ba2f5f5a369f840d78000092ab0869a204412799ec5948bbb778c1778410564101209c5d24f56dee8c97483c4bd7339e6fed624dcc923d2bd6b93d4f3b6cf7184e9a1cc5653949a60c2218de824298ef5aa95509e248411e5afd8709be1265e6711845574ed5a3093446987228c78bd32692f4ff24cc49ed7baad2d7ddd7988a8676c66aa27ad833482904314438613158d4953dc0d51089d39292dca88c885783cacc45725b1c4d71042249c2469dbe57510b96dde184dde6839918d364cc0c3d910010f420491e872b2097d9a90401011169dc9ab128400624d99a52af969fee90e337400210df581a7a183871a3a5c10f287463de77849f43bc10af143b2d8a7e893d209b7e1c848481f0ccbf831feb369e38681103eec9e7ee2f7ca45f513b287937825f86c8b7a30c5a4c1bfa4cd839afcd34e4a77e87978703eef6434d3244a6c217750335332ee146287044d159bd72a21753089154ccce6e771f217420773960d7e25485777fc0c7dc11d42e670e6e8cecfef71b1878e5384c8e1d8277cf79a1ca32fb3c61a6dc4c1cefb9732daaa77d274741a66ac0184166021040e69da977e4e4fc5147e83baef99952acf758e86b8613349ceb626759c4953481b92c24992bc49c386cf3c578a379ffbf4600710f043c81a72951199a8ce257dad06bd6ec2bca5bc4ff8768c8cf460073a4800879034b0dfb1354bb6b449b0d160768e92e358fd94680eda3be40cf44992c12cb466e0f2dc54ae4cd9c143d7d0818390321cd4bec258b4df092919e8afb2d4ca93ccc4981d232334081983d6ab6e52dcb0f1b213c3274a7f8c3a15322fb66344c719ea6cf4984148189e2939bdc74cc2660b062fbb7b86a9933797ec174c5286ff7b0e15d71d2f14277ece744c39a61143bae0e5bd7c654a5ec529840b99f8a572f2153642b670de94c2e927ef7cb27c84102d5cd6296bd376e733b40d1e9ca16df0c0033b60dfc1811d84640193f4b3209627c77f3342b0d067ee9c4abde53e25577046c8157c0ff57782681cc935c40ad4f6897f92b4dd613f178454c1e80cbad9b6693eaf1d21542843c974eb8b66f17cc814ca10d2e929f825313f440a9a5bee38258486cf210842a250ea14f422fc42b9e676100285564cedb2a7fe9c82a5439ec0fa5944254d1d4eeef0c841881358adea3b9393b81d9f8534012b93e5fe2c8d897d33a14fe9bf334fb8cc3e97f0093fa3316fec3493d3811025ec1753bce5fc25c68849b8339385cbcb2696664290b086f7245ae7953c331f21dd4fa193493d2c3f214620b5cf344fdad6afbd18ea56d04bf17196b4258318568544879f8bab5092310cc35492b43477c8926f16f4503284814921cee436e51232b52318477f97c71c39136b91018c33b868897baec69824e317a5f39a9292f8ba9bc363016cb4814606c8f085e1e3952c49faefd96364f4820a21252d669d52d6bc3876de247a49611d4a761777cc3af1e32d76ba892e4ed5247aacf066e71519b9d8356bfd94d893810b3a89ff761a9de5a243c62d12a5c3fa63ae768c8ca461c6a2a1068f8cb0800c5b187b3faa299b42e525a3165f4c5de1a2a446db5e0564d0621591cbab8e136b271490310bfee49ade0a1f2f2b7e060bc89085d1639a181ba33e2323231678b8d926ab74f1cac3c2de9c5933ca4ac62bf63457495eb75bbdf10464b822316f65c8b8197359ba1564ebf9ef86c88a62c9e7920d1619ab28c969f95b4e224315dd7b7f8ca76931ffa9482d989847eec49f1f15e5e8df12b22965b94f71de692f696753286b193c42ff6ee652d43153f8f0f691984951aa9af2fb947ae21d45fff13e1262e17b8aa2e07a1ff9e72f5986624d5f61fbc407851d3e27d70b96336bfe13bf46ab48d94f9333ef89f3b88889299d28a68fa1c6c43129799c28ed738eaa5f887d13bd4f059bf454526c9a3863b5992c6d42ca9970dbbc84d694da277a4c205b79935c789deb12c96d6e152587add05ba2f029c973f266e8c62bd1ff9b4659c7f20e25149bfbdfecacfe24c8c8a0f1a32f54c89248d53f674a82cfeb1a8924b378b7da27d8782051eb6ffefb0bbab279c451a39e38fe39e2eed49e377b8de0249d2dab98ef2f234aa942ea999825d44514d7e7f4db4e0c8b29c274329a5aa5adfa4a4449922c59e5fa4c3f22f890958df13bcf7e0853a5a0194bc80d5170fdfbf1be10a589e135e71022379999dbccb6ca208e3727d775ce3a5a0b82f529c13d67662b0e84a1f35b4bc874ee0322cdcf6163dad3b9fd83a6d3e625a86b26fd405716cf3871f7a168af49f4f0c1eb94f894bd8493c53d14737669bb11b3317a283f34bde58ea1844c1e12aa47f23ac62cd9a4f160da9cb4d2b35a39ea3b749b12b65fd525bd1d120d25e5a7b26015af83a1957fd167bf3c743063b2cba436d1e01cac5bbdbc95968356e1a4de6a8f29eb382467aa0f66321cb6fe7c4f7255b48cdfb097e027e57f6238d70de49467934c92e4a8d936b8517bef347712a465430f388b005204ccc816e0800500e10c3676e4c08c34224012284602c50066a3471b3c081000206c04da130000367ab4b1820104c073a06de4200d3de30002e8c1c3b98d5683c71a08700100ba2c39de5247b918f68e32a0759b426992375d727790a10c3b59573debb56a658ce1247d49ef395992a35e83d1f02a430ca743c701ca08c399c1068f1d3dced0a103016580e1cc60e38c1d3d54870e0494f18533838d56030d2fb0e13dba008435b87079bdc99f2e93a54eef38566d8c8ca0e13c74f4c08cd6d166f448c30c367894a08c2d780fd440030d47c3006568e1cc60a30766741b3a7420a08c2cac8106a3e16814a00c2c240932f3953a68aa247d856b63e49b694cb9652bc30aedc7f51472a6b74ebe0a6d8c9fa3b74961ee3154f8c414b7914b52a7efca98421952b0a434eb4d7499ac168562644c36c9af61df08ca80c259ee4245d3168d52c613caf322121a4e746fdbe8518613d8f43a692a7d788cd91d23236534e1b50e276bc7af9c1a33500613d88d71e366b37c6796b184a4fc17535edf26cb294309755a93828ace8558b663dbe83132d203036524a1b8b1aaf9df5619651ca10c23148318340c6104030b9ee24f3f28020cd3fd7e58ffd8f7b5fa0eb40522bfe0aba474fea322bee8c53b531ee2ab8bf0a237d7b85c8df9a946915d70bed94bca5a52d56b4e20a28bb7bca7cd730e4d524724176d2ec94f294ede0d9d082efa8a962a67497f558fc82dd0deaf8af1183e62115be0f67579a3d52f5dbc16ea0533399796583592082d4ed237269998e6aef51388cc4216d686c754266f64c5b128a78ef1cfd5d4f3fa22b03863f2a2de94dc5ebdc82bf4e039c2542633e5b8c24bb529da8592e3844e2b488d313ee5e2a4f8253b4620c20aae7c2ca37ace4b7c4520b20a252e6ca8333d1f4f4981882a52a1791223a26e7398188ba022313d326a1233674f3cc5d13713e9d16343c41445c95d7a9df9b5f2860722a5e03f59685dd8584e93c213b2a3323d5cce8d8e02df33ff09299bf15014a100057da228a1f1b38c9ee8c46726d4ec7d6eca7b88a00239e0e12610e1c42634b1a6ec2e1e2dbea436453271774949ca6927114c54e289294d443fe7882fc1798921feca4c3c7d4bb025acf87d1cdf8cab1294a8494822126db2f0a07aa325d90a893a9785fef1bdf9503f41e411c64a729cb7bd24babb8823a811c4885a0429a2129106220ea1597f771cb37cd2ba864872ff50e92abe804821744f82e5ba598a99341142d42004e1873131fbfec352584502610593e29c8b766aa5016156f81c4f9879291b4320f20742b39be09bd19e49124088f8e1187b6ac3fa7396a0f661f5183e642a49840fe6934c943f71cf5a5f913d30199fc39f249749a6881ea894b11ec5c4edac7c1e10d3e8fc0a1fc2a716c1036396dea14fc227abfccdd31ddbc186193a02100b113b9ca2f5496fdd56b2b5227570f2439778d8184b4d840e79c9379213fb196358640e498cae65f3892f8b44e4600a8d6f1bf62dc6892271386f92295391934c0c89c0c1fda4c14bd898ecd51479c3de258da7befa18b944dc609de7de4adf6df0a4cd7b116e5182081bf2b84f3176f7c9519388ac81f5db3977ffa8e6ea8e058c8c9441440d25920642c3b99fee727ab67f8a45ce80264930695bac3e564ac40cc730ab54bbf1062265384fb66dcdfc69fa836664a892acdd32b726c512dc2132065385c7d8291fffb8568901332d35d18eab57390d44c2b0878ed7a61373bec464031130185661ff3dbe8f684a03225f703e7a4d0893fa4b8a1641c40be609a9e37b429656475df8743233336765b6493e10e182c8160a9e42e472e6ceea4d08225a50b3a57479bcb2864e240b5e3a31e885933dcdab225840562c6fe65b3749b52b6c95ddfe3d196a1e5ba1f4e8f14c8c5279494e0f44aa70ee8a538f95870815eeacb315551f56cc74ae1f884ca1a470d48692ca1c43538aa2504916f22e4e2ebf2409059127909f57c3fbb56733be828813aef4ac39fbdd58107fc7059a070a5e20d204523dbe68c5ecb513ed1819e9763678a8a1021126943d4b65f824b7e1f55282c812ceb7aa12dfa89cc229051125d8aa9ad74f4c41730c5210449290dc492f47e7e8022248384d3e42be3b26103942514eb213d33dabd7562246488c394eea5cb80224c8510c620c431887948a91e90f26f7b9a30123c8118c428638e1dd5259851d1887c7a626296a4c99dd5ff829b74f28d1d75399be285e8d86c976cafb622fb8b826ecdfb626a94c7841f987fe8a29466b4cefa238e9f5ca9d6dd5365d64bac15c7397bc4d968b93181b356cd2c9bbbc8d1cb8a05b189d36c5e335545437871cb67053ce92a2eba4b35aec2fb8408f0a801b72d48216decd75ea7855628ecd2c64a1bde54554fd811cb1c0a2fea5933f66ea94ca010b2ae6a4e15d213cee7e4542c525b52ae1e42c31395c71ca1a537a4e1977e46f85dbf95ac2f986dc500e56ac4215994995b41b64e3c704395261cd47cf20ee9da2152afa247e95772ab33d3a0522155729edb924e9638a3fd72a85b45c8e52a09e21db6ba297499e14f7e5a72c3989297919c51eb2f923ade51ca238775627a932a35cfc04c008394291b847b56ca11ca0b8e4d8e44183db5dd88c34d448431904393eb125978af775c902393c919d68212d5c54eedbf4811c9d68774e90bafc18b43c1dc8c1894d68a57b71829b4c2087267264c2d71c6c363be7283a63828d39d66db83b297a97d8a2d8050b169fb5ca1c9628dcc9d1c39f95e4c64e90a312e959f8b098c4387d9312858e31c9d83993d02c47eabdb894e92809e35bc7d48698ba9cc91189ff3246691bed53cf7240a21364d6bf74dd2f4b3ac8f1882ac8b476d40bdf6c751ace82cee1884658c257ce59b11d39185165bf4b42b6f8bdc92f22bd8bafba9aece4441199248adcce6513f1b4e74f6b93b692dc752007222acbb963ec9acbdbc9439c5ad37266afc466c6106579d977c60ba17fa5c8ee260f134388635fba41d8e2257a279a20924bc8a417430b8423f6be22f731b608082a27b93bb4cc642cfa835fb319ec4bce0fef59a4a965d5d76b7d585b35eac91ffd20071fecacd92d774e9f7dd943e1bbb2dc4929de55ad87be764f8c9a5c4bb9e501f918faaf6faefd171e92bd9cee73cc6761a21c77b0632a73ffaaac739cc30e576ffae5678f30e973d4c1bd98c7725fcf899e5c8073d0a1ed9473b394e44f9fe79843d6696545c3c4ca5a1d39e4f0999c93b49656af52a339e200877a43e57043b581ce299d609fda5aa603831c6c20e6af565463cc38b918e45843a12429a4325fbfe2450dd785998d993a542c6113e448430972a0a1d89652b23fc11e29c87186f3773c51f5ce0a7298a10c55c6b4d6b99275bf77ac2007190c516eb69d3f4cb3cf3186ce848ae217a5e9395789e1933fb73543446c5c728461b3f2a9b00fa757971d6de400c3177278c14ea972679bb653e42e202a99629cfca63e6371c1bc9f7bc99390e9d76ea1349a448fefd5267969a1141f3a51e5666992a0214716eeee4ed76d429b6cea8e1c58f084ccc9743a6c7389e7b8425d255e5c899e7592f639ac805474bd1822f24aee2ab0d132c4332651362f357250c1a8f9ad55525a12a593630a07099d92490db626d11a39a4e0b69889c54a1bcb500739a250d8a4491236e65cc0ae0d1d6d34200052c80105f6048deb963d2d4acc060f4d8108723c8133512c595a35976c9da0bc9f06cd21bf1367130a9af6d254f674c28620c8c184ab3379f48d7f29d1e558c2255995fc596f95342b3994607a8bafdf27d1ff525090230965eeb8ed1c4df57b43831c48e062e7d09bbeb22ac91d398ea0f566c8c6dc97387318e11c266ce7ac93aac12f8666313a75cc1083d454d124cb4a99d40fe34f2291bedd339a17869796319eb30743d39cf83a1d1809bbaaed49724f3dfb177b940a7f2fb62fcc395df6b38a0cfd722fccdc20aad226570599177efcabdf4cfa213edec59fe3a7e8e2ee9b695de49a72d6c2e24fcfb94072fa3245492143c5c5212c5ece35ded8676ff19497145b9023b1761596b35b5b0b4ffbce35bd9bfcd3d2a2be39494e19d64fba7516eb674a519695059a2cf22bbdd4e590c6824e72aec5796ec9322c922a9e55ca212c66f98a82bce74837134aaca42bb61c25e7cb91ceedb682d03c6e82bbac48ac7ca9637256f1798a592a4c5ccda28a4b4e9c17ed1375b754f06d121a623ba8306dca23925ba99e9d53201763f89bee95a98e29a8193b4135788a884e2936292966d52785312e8925e9c6dc313e8aa44fc96cd2fc7fe7280ad365f59afe1c56530c05a5952daf2629d72082a2306949d8aa2c3d39fc847182472dc9fe3247e8097399cb4a7736495fd3892de6cf2dfb9fc3040d276c29a173da2a933b6336612c0f93b3c764c924319a782f6cb6de73ce1b994c1cb42635ff98702d6e766e30c91e2f71092f9f4ac824c959b3c42961c134099bc9a4924aa81397e37b67fbb20b25b064d1d2853f09fc73cedd277b92d872de269f0c47a213ce84caca61721c2f8b0ea864cd03e2c1217150281287c24000387cd16b0000931308004054200c8623c1381175ed0314000156261a303822142e12122418100a0683e16030140a844281402814168682a1c7384f13b9e601659f796fffdb52d51ac3bb817bad1f8dc066ecd91faa7623d507e7d47665176772cb6375dc791d5ecadf124ba6329c2b7f24023e3a297d73746978358043916c4db18ed61944bf61a6e05d49dffbb81a48c09ec21086bfe4b2931da7e049a22e15b761225869d74fa39ca91a21d1955db5205a4cde479ec56afaf35bd0181f33688747215cab29541afe197166bdabc42867ece30e087e24f0332533525cad20e33dc5610c086ba6709aa7e5a902c31526c92a05929289cc935e0dd80fa2590bbb090c091a43327e49c11fbea6ed2e11c851bda8a44df604a28d5b6e34cf89078cb3c3a56f053c11aca9a787498d1d356dfc716ec47a6532c00bfa764d8255ad5704a76e872c60e9fda016da69f9c675618c61c76a591560fd179209e521602c821f6888684eefb787800f432e8dba0e99a16eb7a755448cc0cc885ccbc5858af08222ae7e84c04f83d53748c4318f042214184bd2d307476bd1534fb94fc0c18e368fc288c1f11c9fb53bd80da2850f5d8d5a15d2f32f6118f66c05eaf14b6bb4b57bc8f6cefd1a2c416c7135e49fadb853f6cc19b8ac50dd07855a2846eb364ee4fdb53b6b4267a41c0e5599b27a8c60714b4529abfec2cc9f3e3e613506ff48daa254b4fb0e11b5285c49c7591cb5fac80eb67a6c1f816c9e3896b44e3ee32ed9b595f21d6364b5e77d0767247b4d7a3e85ed18bec159fe156cbe21c97da3d27497790592ba16faa79c3cf2a02fe6e5d773f443d44f208edfc4cc4bd6b4abd37707be439a3dcebb31f0f0fb8208a1c3468e4ba6e32e5e0d18006d6fa281c62f6eaeb10cdf1580d3c7bcd35e54ab12769b77ebe85869ec373aec1f819a8498e6c01be66e16fb2d930f3f33bc471503a39534bf39e54c05daab5dbc579b31c3a03d08cd7d1b741d1fa141946d0fb1c2db629d43f991a2e32222d0c97a35a3bd48237951bd648e333a58fe8161ce2ad9a3d5a15fb7addcc9fb96c575f0d08ceaa60485117fdfff70a3816ebf9a7066d221a996c3c7cb29e592f241e11c5710e1afd5f34289be902ce659db79f5088ca3b77c0ee9d9a7b32b1a29ea4bf1a16709f71ed2edd0fd985efa6afed55d4aa160447afa1b107514285534d515d2de1095fccfbbc41db8b8ed0f7ec1d75c2f68a6c36c02a232153f91a7147c4251e258d95479e49f0541665d547db883618f0670f2c5a1ba47249f11da2b62ffa06c063fa2f854e9ae061a9cd627e49a183cc802b23a80d3e210828e8de178e2308201688e03b56197a6bf36bc893101fe8d2ce4236f67502233ed7be913b8a9a3b704f74fe525851c8bb28c684d2d248cd29eb49d9e0971cfdcb5dea2043764653c4a68c565c625a25462e71d75719f2b5c2ffe89cb0769a113ffbfc77357390cc3e3f72d4ea990d710d22c7188fe32f24699d035970dd60706877136c3b0faaf2b353753de8a1e3a61e03b42d35b42003851f600ba6e365d708ad6ae5d011c8296a01d10c88425f5a1f158bea76804e7ec212f7a903a830282c8e8eccde3897d2181cabee51923424aaca396a8c9354be94c3d87df4d4d1f615d0257f6fc0303a5ef2eefa010712ac0e5a89dad1632574cdd87858115f43d381e157bdee4eacb01486f76223d3dbe87dc44469683ba17bcd31b3d8bc6ffdf80e7767142c2d052bb4b4a483fe8c2054d85dc3cf6388732b1a8ee9017b48b090cf8318861c659d052e4353467932c68b34938ed7cd414616b8eabfa5b59ea9a520b83d5a02bec2c5d291fb8ba2e3e98e93a1f0b0ec8f99377701e78e6876bdfa72364aace44e9a361390eda00dd860d5ef035c503bcba76550533c0f83892dda2da0b31eef60c37651175769d2e836c33807c02ec92a9ed63f7140debca4dcad86ae975a9fd6e9118de3423daeb002fbbc75e08d937670f6284966374640aa083e316f0bda24828ad6b2b06287b25afeff550f400060a3bea3b5176dab665e18c2e3cace827da4cef7f83bcfc27ed7bec41bb33cb3fdad23abfb99902e7b82a67b5201df604ee52fcabd814b7e59e117bb88a2835963f541162388fd95c703f578a9963f6f4869a3d05dcdd863141fc5e65ef86aa55ec186503be1cae2009d09a6cc894890dff4b7195ee86999409a85eb06a75a717d91de3f8a3f299978d95fba6c688bed5c9d6c2bfd027ce0e67b68773e38d2669c1f0d229f9992f4549b4d07397d814768d1eb2c34f438f68ed439ceef0826b23d7608532461286de1be18e3b299421a386c81f1b8c5f666b15765653ebf0b6b2d4f84475f9d07475131d5cc64616eb5bc275bce243d0c2699d5278d9842a7532fd8a2bd83f59b7943faca69cbb183f52a2e337193a63ceec70199c1e403dc173bd396a126fddd3514cb0354eca8545c444f1c823b51276b72310a3f0a7c67a80afefd0b0c832c623f185d20f1231559e56d0d403d43b83ce1bfaa7ead3f088094f0eb83ab01fb0c17e52cd5a304bf1a80dca558c8abde8fe38061d5e47f9c6d0bc63add80638cf56481b0845fe350fe55cb80955c7704d2f4e21fa2a237017ea01381cb7be5728e2fc83384f0d5311743d44f35c043fabb316935e77c845600b20b55bd192a4799cf98361103923d83babd22220977f792a74b894f0497605d8ae57ad93d705604f28b75b7e6aa283ad33bc59d4315240bf440ba37530ebeb14e5e6efb385ca50a646d4f9e5917a356bf1ce32dd128cf0f2de35b04f5901b97641e2c648174b3b5bcdf125235f89c0440e38c5f4c82b6be9cae76a9a5acf6e1a7acb98aa4363cd38fae3ffe980d9ee295b83416358c33520ce6f89bfd5d81fa0c539ad7188f797ba260f5cfd27ff79ce0dfc14b2ef06d3157961f75d5b78c86ede331e8faba9c1ddf733c7f2535617857354e5ae79b8cc20f185d2ebbff2bd6256957c692a67160609fc15514fdb8ebce6a6bb3edec4fda3e4c9af0acbc22b09710d693cfbb57655069456d669a286e4bc6c03455a2d109d2a84beb11eed2c4a7b16bf74ae9a012ac2c846301cbf82dc633466265fb70dd3eea1344a68b550b4a89fd8acad0e04390c2cb189fdc0a4398512db5d2b21e699eaf60627e70a25faa6138bc4c66a9c6f11227635f5cdc41a24ee6dd20d385ee1f5675fc8e112f4ce49c8defd28fcecdb3dbe92690c9fc95996480bf57aa2cf5f202cbd70246057f605ed91977c95821de74fb04ed095e74a952b69d07e51e1d8eec3e694403d028f2c7053ef0b1dd401c8e382550901b34284eda74c495dabaf148a629af554b06791a0a9ed58488925ee9b37805a770aa993e4498093d9eb9c10ba5564d54d3cb511045de3761a2d0e6f4dda2127c648a22be56a06539da7ddb853b01a63b47e085fd2d1e1c6425b9ec4754dc4d84f925cb2365027b1363da9f501d93a04c73e6f079c0e441276c0a21fc47f96232a0bdb5bbdb2c7eaa5635dc5d40f170f36056099586f8af24e429abba4c7bdc7f72ced02750afa7760d806f184b05d6b92e251cf5e4cfe4cdc0a8c733e514b749f08e5d4f8597c36c8ffaf8c27a732131b7083a78bd5014b0bd5e08f519acdf157021ba1ff0f22b4cc1ee567655acddfa1550462c54ca8181c8fe1c155a3c4e1f78c596c16521c2f1cc043e2a7f487b1e339c916b29a1207cd9e21d2f5ef8512da4d7de90ae1eb292b197465b32814d2892fafaed1e75b6f1665b3760f0f90dbaa00fc8df32ac9751c639e4b5942af3b38085b6250469626e52c9c90a0833a5ed4a331e4a62f25cb58b99c1f7daee530d69a43c7fa71f64e1c1c6c24e9196a056db65e4f6a48a7e26b67af23a56c8386b288a310cc0e55b16db8c2f19b0f87ad83e8a1cdf4683f6808c40cd95166af0614e384a99b9d4b008a8116bce93a0e9874de83a1189a71666c9d29a7f673559030a1afc6156c03f5f105b0ab501114ec807c46da889079b0f89a67641c7f83252745bbbbf13cc5c862b0185d2cb062469a618267832e45e01da6370d00645f44f6851dbe042920941d01786c172f099a04373d4e2e9f65d1c0a3b22489669f19270aca5412fcdfd13c4e80055f5841669652ebe0e5e04329f97df0b69874b18ad3ceea19148b965a203bfb0bbb167840dce95fe700ddd35db329316e5fc27167e6c6b12174a32aff5e555a7797ca7b6ab18afe0667e71cf39e57fd880d23ba45c3f12c2f01ec5b9a4bb5e43ad73936cc7dda34554c082ca351b0a70938bfd20dc250bc72240200f0f11de2c28b2f7e1a19f9153517bebafc06d6059f7d7e10a3550b9c1520af0b9ddb321ad82341420fb2723d259ab609725cd448e18eed6079630130d3a6cd890d7b987a2d3e44128df13c5adbc29071f23006f55c9fd42b7890e013db6bb728f0ec5828ceb08e4e1e541c9ae1e9a0bff79d5f753074c6e603b349606130d22d30169c8e0fbb0323ef79db61fd8770a5585e65dfa68d37ae4e3a69b4792a90b9c70aa17c5a06f8d457901181f39041235ea591c0ec29066956f06c2225a2cfed898746ab0f302d45608fb4e3dc77a03af551201ab67921aa2c0beff687b637effbc1955bab0aa9a01f9a1f9b75d46bd4f2073beadc93087e0d687a20a5f6935662d8bededc904d72be75c93d0fd2d451516fca215c3590d45c03e44f061fbcf23825ad7129578b523ac8eaad3de491211f040eeb752f540641ed717fdc14af8f4206824aec0bf58c0bace7198c23a11ffa3622620c491be90cb8e056310d858b0c40c9a5f181792cda33f3ef5331e73504a265c3bcd4b00b13354f775d835612eef72f970998c11ef31fe0a6b6c335dcaff42e392630afc5c7f5980b682bc8ce56f2081c887376b5d013588b8367b58afcdc8e391661a631c415d5e84591f9e866849dcd79175b2237ef194bc4d6b3565a2826f305eee23116efde75a6daad80646a4a9d16f446d9d73f184411c299a73a9a95b0beb87bba8b6d85a1f93a36687e37a2d952c50ce87cf09ffbc074bd917b0cbe70afdbaaf0e37ac55dc572b5f2d8656efb5d84c2b480fa95a922e53f82efff1e5015cc2d52bb59a936eddd549110aa52ca8f3567de114fe38a698251c02b50a380d0f3b99bdbbbaf95df68a41183b6bb5f8df1ed03f6053b4facfbd279ece35bc96ca9df14c35ca2ad8d3af192334350a07cd0641ae2a82862bea9ffadd063897d8684aeba586bac587737c569b8054485e404f54d702a3109c8a586d57768b847867cdb225b08b1de774da5b0ac1f5b7a8f99be40ace61fbb73db00d29e60348e788fb7542f9300d870bf4754c2bfa8fdea188d10d4e37429ba8e1ae08b426d52001f6413a11a10219dcd71c7d659ea4b6ca99d6a96c4cc939549cce2b545345ccd53fac69476aebf28b8f689c848a0c39886fca344b3e86121ae0d48ba40e8539af2439013af7fbb56dfa2a22d813a39ffae9f840a489cc098a12440c4876b72a1792416667e55921be8577c06138d162be65a00c2484779daef2705ed22038bd617629e898341e8ed92eced2f1bfdf3017e32d50a2d33bab9584bad285f9be942ff4dfe2c4a4aba4a0436e20fb8996b2fb77076c7728db9bb04ec7278c4c43ca7e293e82311efa986361f0ea81d9eb270fc53c217f65979464dfc14d62f0a30ffd689fb8839f8dad670edf26ddd52571be944be3abea4a31d944624c01e15bc382515a98f0149692549cdc2522fbe957a59f5446eb0d815a2464cc475b6405b9b0f056e929c4b1c92db5420376cdd4702df01e661ef95329926e66610a4d165361a84ca46699283afef869509908130ddb1f5c10d67bb3b96d86625c62f72684962b76952663629d263a717d79419fbfa86b4091168cea5a5ae1074d8ae9421acd15523f53942ff521828d0eace4e0447b1fe7a26fd3608e061a1205ce8d2d8fa10a4efd0259e6a0ad45aa7a8a75c82cf4c9b05c68204fb83aa422a221cbd4a087ab845408ed71179e90fd2dfb9546a58393126332fee4f0dc74d0f013a3df17fc9c2481e4fb160a2050a0cd7ffa9c5048968c006630c4fd539884ba9002313312e78b503151528ac5f7db06489d15883f60cdbfd7fc470e8fb1136358b059dbc355221ec77fa17a1568e918caae2af5065dc9807a30628a9a3101c3b3be740512ef77f8d8362482af4e52be316b9ef98835c239892b6244a4141c1b5715e8ce689b3acbdc9a9bbe9157ebc0d0d903e3d6d6343dcf783556b7555036dc28a69d116a77a0d2a2bd66499bf26eb799fd969c515f01b3eaf4c039a54ef01eb16837255623d71262e8532bbac6cef99f95f04b3ea5f3f6b46ffb55bb6e6498995398ef7c19825cef2fe66d7be41f0cc5a88ce97cbb4c9e67ad1887e6b407b6ede7df1dbac12fa7d974450d105cd1800fb28292ba888f80235e45d6259f3f0aad5385b36d1aea1c8921a533d4932a5b5b7ced971294659178f40974fde00d9b58c32c354ad79716d53dcef59cb0dd13cf9d2694786387dfe9559485fc5164b6c9069ea505ab6159166856a28617ef485b443659d35a9685862abe1d773d69d838b94063bd65bfd3abd5cf0e720b91de853cae86c5539eda2f826f5d758451bdb0f8850d11dab8275ea44b152aec9de89f322c3446bf075f4b10e308eb0fd2a305d7d60289ceb52da41b9449fa80a8470defc48fb9f1d4433dd1a340fb10a8534e967503a7b3d9f4e7948206b755794209de877b2612a43959701077b283323a33a53d562e9f6aae15a7bb0c04017791650758cb9273245e9479387887c9d83d7d92e84f9ef433ecc67ca1477de841e7201a91869e735e73c689e9d5e42b33f178ec4730e134bc5d307136484a1fbd08030820ace53fef24fe0405ef32d51dc4e555336ac2ac6b171daa85866ac917b788fb3045cf4c8115b8e26aef0543ef4c60422f01e75998af72072784782992cbe4b88849df8b542a1134c6aec7024c0e6fae932c92de1224953e1b269b617c1569e999c49459d7f1ae341c772247da1a793a30698e8f01e98f9ac28d595603729e77504d5f2f66f0db37454c123d2a703495189d2257b66fab4ae6fe6059e7ba7f1da5715e68d14a9fac035345e4722ed67475ce86a0135610335cc15db40dd6259d681b382dd334d6bad4283ee5d99b8e8d32e5f2ef12daefd7ac65e92405f5eee692dd7a1338beb066618b8108284de415d965046cbd4b2977119fc7499dcdf2da36a84abb2c596a1adc4e5fb60b9c7500da0d24d372ddbf83520bb228d4f7d08ce2371ee4866690d7ced8b2c1d72135588c30c279b8261f9170d99cdd969f5fca9dbe8ca8a3ce9621cc12967cb343839562575004eacae633e0545f65bebf7fdbaccad471af9afb41ea3d09e99d1f777f6ff80f1ec8fef89b960fc7b4701f35543f332a6bc8a9ca0411272835316052e8264266962bf540f1683f636dab52d2bf086d10b1a9deebcd5cf89a8ae0f3234eb7dea68584b30bdfa6b81f774211318a2359113c8140896513cb403c075125df092a087b0420093252b7b6bb8f1d9154f631b19fee8a9045cec8852de1b3b06bf605adc23d4b4a34af1286782575fb6d0efe75e9f53fabcd48c008ed74348c619d2b41bc43f6de8153d6a3acc63e03ed8eb82536884ce4495daf126d1b0ae495f79be99cad44b8f06c0e4129b24314ad301a5710668809e1acdc23db8d7121bdeaf40cb43bf96a56c4963877b66a652dce73274950024e5c8db82bcae2fd611e9624c302ba03f4b85d9f0cc669fa0aa7c7c8998566603160013ba8834eed805f3a7379e0edca9cf8b8a94ea9c74815948435d96a38f544b1326b46fac726f64976cfd5655bad0e24ba3e7ee25354d26ceea85e517e852c34cff6015e5902a0be44ecc7e9481fa96f0e13c7a872345c1eb9f93df8ab161d18a93013929a26fc2200fc5a2bcebf161200f18997a7f9b0391f6bcc8cd08328fad4d6664e8aa5cfc4956315bef208fc1fc67b06c0f39e6f19a7988626da990b5263abf4d98ee600bd0bea392c45c4ce8c2cdcadd80becddfe45b7363ce0c923e9da6c01ccf3f2342abd4725686681ac22af185c039439f60ac78b60f559dcf23d36e7c3e957e570cd8182e3969cfed54084ffdf1936e98a6173283259bd74686879b104753e2cd997b238ebdbd59eb77224142f3b12e767ab5bbca231bab7f34ad9d24d3d5594a0e9a40a40d7ad791f3061a68ead9857369522b337912929aec61807bf7d617da30092cf79f683561f93db7e461b186022c0ecf91b08ce98146bff698b06cad3afbbe463690862773a3212645175821292b4f4eaf92f51d7d3e19f5592738c1b5bc633b379e11f9547185fe219cd2b64b5314519115d24147414195fd56128e691b60375c752ad1bb8330b4c82cf23fc893a459b3607c2c6ec17f3f56e17320a5ce6788b3e150eba136e39e14b0a339288142f0b3820547b4821aba3d5ccb5be0c53fe74eb0856cadbe2b320aefe469a76901d2c7e90b745be7e584aeafd580def2e78d2ceb96c15d214817b03a65df9f2aa42c1c96bbf7a5486551d5334f731b9fbc81409545f59a158b2e32703580e54d6c6cf0f3ad3e75f83e8262361ea491306a5ad722831e72cf45f6fbaf74f1d7d3b29013fcbd16506c0a6e76bea877a7fe814f77b220d1906a3fa0100283d8abcfa74b081222f09af52a39e5e0993db000e356efc0c32c8c37b28e07bca5c93d5ef72d68606ca086861bca338c8106b802801b0270408661e4e14d6fa9ec85c50687f977452db7d215b14a8982498013468a07d2d2745a35480d5c6a355f5fd52fcdbdae5ec90d488cd5bb671c6de09deeceeca03ac3a88dd47dbd29cd0ccc2c5a978c6e727538969cbdee040a917de8907c7f5bd02e6b0820d8e49ac20a6f03bcd8c679eae4ac7275e7453d33b55fe6d2a01759caab9ed4fccf248542725bc9b7a876f23807dd4d5e0b0797e62f755bcbe8316e38ad8c62f780b0817a90d2a2aaa48ed276b0eb7f6bc5f188ea61892a1fe8a611b361a2c220d20582e90e08dd916bf64aa241c9bbe6bb939d4a7fa567b5208266a79442609d58400c7c8f5514930cfa7d8ca4abc1f03365874a333463deade8193e7e87a858ad8e6c0e534d451a0d475ef22dd064f7b258fefb2be74f550084aba736cf0f6a638b50a928ad001cc55d5431009a21f013509a6e3fcdbc3806a2a9d5817dca3578b0bbb57e76c1e8aa200eae10e42ea97200e6f3babce1dda97e10192c66126695ea1e595ecd2676b3c5376cc325e5f93a60a29aba43114f8a2dc6643eda06c849ef23cc6663370bb705d261c8bb07f4ebd57c610ecf3962cb2dadf5f42af7902c8cf4b52a76d6543d08bb0c37a9471a485429ca8577013f81db3bad362590c51a24a770060e76471e7a88ae35abe497df3200c634e484eea13dbfeb1ac96969e6b6d1c13fb9074c6f217c542d394cbbccdf02b778bc71a21a8b821bf33d4a3d1546592da116555c27efb199789272956dafc2ef8cba9fdb205b4808b3e653b43c62ccb7f0e356de64f1244fc7e880c462eb158ce18f18a9552e380c6e8d9d121aebd873f38c6f02a355a6b361f582f3e67edfa3ee950e05447402eba1e74935413d861283f9326a8dc2eb32702fd0337254a08e45fcc3231a45ba4d8461e59c2e0eea047844766582dcd46aee5ac9dc9c4837506f7a08e43b943cb8c7c58448170b5d9a8e1b3241af399e3bf06ae66d3653a4602b57c98cc24d5f41ff2e32f62a698ebbd5bb0480a51311750ce209086c6f0564edb1144033fce74ecca8c6980c29a38f1eede742b8ac563a10cb6e81482b004a3e7447c79f7386b26cfbf57a8c7fd1394b5a1c9174ce82734d900bc1163e25afd38e9ee737af55fb49745c6277457e15ac9e2b86c89e9be83abfafbe43f1681374a79d76fee537bcaf27e10a7fdc14eec0b5a4a628f097b5ae6729aa0dacfd8ff2c26eda37864d4651a7df811980ee1a28127dbbd2854f36f7feff645536ab9b4c81e333e8c151a4570352a559e123010e9325df3c956e272b0d3c4550ea50f4503be64e0393663037c72e2ab040ab68424c312a558b1349cf6f21919b4da3c682d3b432fbd7d5b98fd5a0667ba4b7c911da8d8124f46dfda840c1da7f0e97fa5cc2bf34fbdd1a11bd1abe3ea34097e3e5f8e49dfee4e0b9ad69bf1f3feef75cdf8b7d4193246717b5582b0a1b80771149da7e18e27e93bd9609d6fc501dca536ac9bb7348b00550175f38ed58c328ca832626e75a3f5859357e4b9be4341776ecee2f3eb74c30a501379c09029c0ae97f06cd0bc22bd9133b4abfce5bd784f1399b10adc164c6f39844a8e24b32390684d83f9d87314d008ca07946a7605c95418b0445632f05182fd71e7dd08b0a63e2ac60c29cb774e33d3290c1e729d1ef42ad081676017fbf9e348531a344fe7108d5d88942ccc3bc625d81ef1d03f1a9ee1627ce5a66c12e1caf1a1c2a6ecc10181fcf8a477ae26b88018190825a8dc5151715baeb80c1115e7183f0da1a34d400cf01b9a39a800f3189944ce4081264af9972540ed7f54b6b3fcb7c176d7ca1383472390b7337d75a386dd018a4ffd55e47eb66474fa6e344a1b984f6239c3f1cf38718dbc588db80cadbabed99dceb37350c7cfb7b290b632b7210adfe1ab2619d375478230e60f44d3e8301484bc03f8892c6657c0e0a719502c252897bd9b5d44d606f4a67b7c33f30d38449a3585cbad0b6d43c66e5f8488acd473432a654828fbe29ff8d2aac1f41cb338f92cadcf724c3361eca4c6c1fb32e1bec2cda220dbdba9f42846f42e5ce63e440a2717444c073d5f2f5eb6db70bace5272ed24b31529c36cf07078da954dd37698efb00bcd169f29a85d523d6bcc842309181fb624d1767776a4956569c658982039cb4307872279dfcf76f9f8419a7822920562ad5e850b779b3a880f7369a17ad21d82985db603e19f14d31a85d5b3b7691783389087f8727f8c6a708a1732a291206d80c8c47d15808ead40db4bc45858f934555bd11a64f462a492450159d4d09ed1b7167f46d2659cea6ea61fa7df38e2909f6c0d24019cd71cc629003292f407af8294cd194d97fdcafd3917956efb56ec8401735722003", - "0x3a65787472696e7369635f696e646578": "0x00000000", - "0x3c311d57d4daf52904616cf69648081e4e7b9012096b41c4eb3aaf947f6ea429": "0x0000", - "0x3c311d57d4daf52904616cf69648081e5e0621c4869aa60c02be9adcc98a0d1d": "0x0888245cdf5b5b517c48b0057e17c94c7ff71eeb7ba4665b3d07accdc0c3064915487cf837b45261c45c45a38e66be1fb80dc7d755094b44661632ec30d3a5db01", - "0x3f1467a096bcd71a5b6a0c8155e208104e7b9012096b41c4eb3aaf947f6ea429": "0x0000", - "0x45323df7cc47150b3930e2666b0aa3134e7b9012096b41c4eb3aaf947f6ea429": "0x0100", - "0x57f8dc2f5ab09467896f47300f0424384e7b9012096b41c4eb3aaf947f6ea429": "0x0000", - "0x57f8dc2f5ab09467896f47300f0424385e0621c4869aa60c02be9adcc98a0d1d": "0x0888245cdf5b5b517c48b0057e17c94c7ff71eeb7ba4665b3d07accdc0c3064915487cf837b45261c45c45a38e66be1fb80dc7d755094b44661632ec30d3a5db01", - "0x5c0d1176a568c1f92944340dbfed9e9c4e7b9012096b41c4eb3aaf947f6ea429": "0x0000", - "0x5c0d1176a568c1f92944340dbfed9e9c530ebca703c85910e7164cb7d1c9e47b": "0x14ab94d42fb790854e7c4813af55722e2007ce2070177bbe93d64cabe5f6ca6f", - "0x79e2fe5d327165001f8232643023ed8b4e7b9012096b41c4eb3aaf947f6ea429": "0x0000", - "0x7b3237373ffdfeb1cab4222e3b520d6b4e7b9012096b41c4eb3aaf947f6ea429": "0x0100", - "0xc1728aff8713a0128694fcc5292d45494e7b9012096b41c4eb3aaf947f6ea429": "0x0000", - "0xc2261276cc9d1f8598ea4b6a74b15c2f308ce9615de0775a82f8a94dc3d285a1": "0x01", - "0xc2261276cc9d1f8598ea4b6a74b15c2f4e7b9012096b41c4eb3aaf947f6ea429": "0x0000", - "0xc2261276cc9d1f8598ea4b6a74b15c2f57c875e4cff74148e4628f264b974c80": "0x0000e07636a455810600000000000000", - "0xcd5c1f6df63bc97f4a8ce37f14a50ca74e7b9012096b41c4eb3aaf947f6ea429": "0x0000", - "0xcec5070d609dd3497f72bde07fc96ba04c014e6bf8b8c2c011e7290b85696bb32e08c80a03a157175c7c70470cb16b4702921f0b4e2a7109277354bd3d8e11b63bd7ed70510cf57f": "0x487cf837b45261c45c45a38e66be1fb80dc7d755094b44661632ec30d3a5db01", - "0xcec5070d609dd3497f72bde07fc96ba04c014e6bf8b8c2c011e7290b85696bb35884b65da9c67e67d8f775301891bc245f2cbf2d64cf1c0e64d16632c02268fd2199c84b09ff7f7b": "0x88245cdf5b5b517c48b0057e17c94c7ff71eeb7ba4665b3d07accdc0c3064915", - "0xcec5070d609dd3497f72bde07fc96ba04e7b9012096b41c4eb3aaf947f6ea429": "0x0000", - "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa19503258a6a86894e3206175726180487cf837b45261c45c45a38e66be1fb80dc7d755094b44661632ec30d3a5db01": "0x5c7c70470cb16b4702921f0b4e2a7109277354bd3d8e11b63bd7ed70510cf57f", - "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa1950e0bdb19872c269b0617572618088245cdf5b5b517c48b0057e17c94c7ff71eeb7ba4665b3d07accdc0c3064915": "0xd8f775301891bc245f2cbf2d64cf1c0e64d16632c02268fd2199c84b09ff7f7b", - "0xcec5070d609dd3497f72bde07fc96ba088dcde934c658227ee1dfafcd6e16903": "0x08d8f775301891bc245f2cbf2d64cf1c0e64d16632c02268fd2199c84b09ff7f7b5c7c70470cb16b4702921f0b4e2a7109277354bd3d8e11b63bd7ed70510cf57f", - "0xcec5070d609dd3497f72bde07fc96ba0e0cdd062e6eaf24295ad4ccfc41d4609": "0x08d8f775301891bc245f2cbf2d64cf1c0e64d16632c02268fd2199c84b09ff7f7b88245cdf5b5b517c48b0057e17c94c7ff71eeb7ba4665b3d07accdc0c30649155c7c70470cb16b4702921f0b4e2a7109277354bd3d8e11b63bd7ed70510cf57f487cf837b45261c45c45a38e66be1fb80dc7d755094b44661632ec30d3a5db01", - "0xd57bce545fb382c34570e5dfbf338f5e4e7b9012096b41c4eb3aaf947f6ea429": "0x0000", - "0xd5e1a2fa16732ce6906189438c0a82c64e7b9012096b41c4eb3aaf947f6ea429": "0x0000", - "0xe38f185207498abb5c213d0fb059b3d84e7b9012096b41c4eb3aaf947f6ea429": "0x0000", - "0xe38f185207498abb5c213d0fb059b3d86323ae84c43568be0d1394d5d0d522c4": "0x02000000", - "0xf0c365c3cf59d671eb72da0e7a4113c44e7b9012096b41c4eb3aaf947f6ea429": "0x0000" - }, - "childrenDefault": {} - } - } -} diff --git a/nodes/parachain/res/clone3.json b/nodes/parachain/res/clone3.json deleted file mode 100644 index 5be8ecbae..000000000 --- a/nodes/parachain/res/clone3.json +++ /dev/null @@ -1,76 +0,0 @@ -{ - "name": "Clone3", - "id": "cln_kilt3", - "chainType": "Live", - "bootNodes": [ - "/ip4/127.0.0.1/tcp/30333/p2p/12D3KooWC8iihFtrDykKLZcVMAS8rnUEaSDkkqJ7w4iEkfid4hVv" - ], - "telemetryEndpoints": [ - [ - "/dns/telemetry-backend.kilt.io/tcp/8080/x-parity-wss/%2Fsubmit", - 0 - ] - ], - "protocolId": null, - "properties": { - "ss58Format": 38, - "tokenDecimals": 15, - "tokenSymbol": "JUNK" - }, - "relay_chain": "kusama", - "para_id": 2224, - "codeSubstitutes": {}, - "genesis": { - "raw": { - "top": { - "0x0d715f2646c8f85767b5d2764bb2782604a74d81251e398fd8a0a4d55023bb3f": "0xb0080000", - "0x0d715f2646c8f85767b5d2764bb278264e7b9012096b41c4eb3aaf947f6ea429": "0x0000", - "0x15464cac3378d46f113cd5b7a4d71c84476f594316a7dfe49c1f352d95abdaf1": "0x02000000", - "0x15464cac3378d46f113cd5b7a4d71c844e7b9012096b41c4eb3aaf947f6ea429": "0x0000", - "0x15464cac3378d46f113cd5b7a4d71c845579297f4dfb9609e7e4c2ebab9ce40a": "0x08d8f775301891bc245f2cbf2d64cf1c0e64d16632c02268fd2199c84b09ff7f7b5c7c70470cb16b4702921f0b4e2a7109277354bd3d8e11b63bd7ed70510cf57f", - "0x15464cac3378d46f113cd5b7a4d71c84579f5a43435b04a98d64da0cefe18505": "0x0000e8890423c78a0000000000000000", - "0x26aa394eea5630e07c48ae0c9558cef734abf5cb34d6244378cddbf18e849d96": "0x000000000000000000000000000000000000000000000000", - "0x26aa394eea5630e07c48ae0c9558cef74e7b9012096b41c4eb3aaf947f6ea429": "0x0000", - "0x26aa394eea5630e07c48ae0c9558cef75684a022a34dd8bfa2baaf44f172b710": "0x01", - "0x26aa394eea5630e07c48ae0c9558cef78a42f33323cb5ced3b44dd825fda9fcc": "0x4545454545454545454545454545454545454545454545454545454545454545", - "0x26aa394eea5630e07c48ae0c9558cef7a44704b568d21667356a5a050c118746bb1bdbcacd6ac9340000000000000000": "0x4545454545454545454545454545454545454545454545454545454545454545", - "0x26aa394eea5630e07c48ae0c9558cef7a7fd6c28836b9a28522dc924110cf439": "0x01", - "0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da9c2413896be8a9b02ece67645a0ec5cfcd8f775301891bc245f2cbf2d64cf1c0e64d16632c02268fd2199c84b09ff7f7b": "0x00000000000000000100000001000000000000000000a027128c1c2b0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da9d3f3d7c5541fa578426a188b0c6e2fa15c7c70470cb16b4702921f0b4e2a7109277354bd3d8e11b63bd7ed70510cf57f": "0x00000000000000000100000001000000000000000000a027128c1c2b0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da9f6569206ce68d70874f404ba1606d23214ab94d42fb790854e7c4813af55722e2007ce2070177bbe93d64cabe5f6ca6f": "0x00000000000000000000000001000000000000000000a027128c1c2b0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "0x26aa394eea5630e07c48ae0c9558cef7f9cce9c888469bb1a0dceaa129672ef8": "0x81a7104b494c54", - "0x3a63": "0x", - "0x3a636f6465": "0x52bc537646db8e0528b52ffd00589c3b03eace4fc455204e3b4a07b5ab146f01f87c361a7dbefd9d6c8bedba0c3c0d405a2f8256b57faa0923e2cc7cf84175b3c36c095d298070a1f27e792c546e2af6717767a7919ab731e481ac9a856d841049c8de7b6f29a54c522619530d1a0be20aef2fdf3152e7c6b04bd22ff1d77048c4469fa11098ecee6283190ef96e8ebfd9e8f3fdd88173fb3f2ec7ffe4c3f8eae0f6cb870f3b25fd4612dbf8fa3cc3078a5b7b3253ee299fc0a5a091291dcb521490fbe36fcdb5e7998346a634549652f309acdc1fbf8346a6742c4b51403e81cbfdf153d0c8948e65290ac827d0dc1f5f058d4ce95896a280dc1f1f76493c16cbfd40718b1c8446fa3ff930bee0dbe8f375960f7f939e8d2ff83d573e7cd821f1f8822fb18d2ff840718b5c7b3173d0c89476ca27d0dc1fbf8346a6742c4b5140ee8fdf9d921bcbfd5cf481393eec92742cf70345a008148122f4607cc187432236ba190a81c58e686c306e90e7f6c387d90639b8fdf061b6f5c3e8f3c16f0ce30b3e7c58b7ce069d625f32ac1bfcb9fdf061b64346f7b04315daced30e1c3b66ec9cd921b373821d25769676b0f8b063c78aebc97587cb0c57182e325c287095e102c325860f2c2e205c5f5c3cb8d0b8ce709dc025876b0997095c3ab8c2b88670ede0eac1e5838f365c607cbce1838deb071f79f888e34ae38ab948e0030f1f503ea25c51ae373edef870e3aac345830f395c675c38b8dcf8a8c35583cb8b8f385c5d5c36b87270c9e0bac1a5822b0a1f77f8c8e212c287161f707cb0e0a34a8f377ac4d103aa479b1e64f478ea71460f287ae4d063061d16e8b4a1b3868e1b3a6c74c6d02143e70d1d3a74c4d03943e749070d1d3374b8d0d942470b9d307456a053860e1c3a6f5873e8b440070c1d2856948e1cac3a5a30b45e6835b55c686d69b5d0626ab1d05a6a81698569e5d0c2a17543cb86560d2d2f2d245a635a47b44ad032a255448b889698d6102d215a246805d1e2a1b543eb4b4b87569996122d32ad1e5a5a5a4aad2c2d2cad245a5c5a31b4aab4acb45460e5c18ac382c38283f5060b8ad58645074b052c2c5844b0c0b08460d5c0f2c2d2b2ca63f56685c68a8bd516ab2c5654ac8458916015c42a8c4e1aab1b5635acbcac6458f5b002b3e261a5b4d2b26a616565b565e5c2aacacde26e71d35c2eae17b78b8bc525e38e715170a3b853acecb8525c2f77862bc3e5725d6065b92adc2dd78a8a0d959a5be5b6a052812a052a32aa245448a8c6a88e5005a1a24115838a0a950c2a205439a87050c1a03a818a8bea4b2a051b1b291c566ba4acb8556852a4aeb0d274693a369d1b5d1bdd1b1d1b1d54d726550575937d31ddd0a2ba29ba2c7ac0b16261d56565835ccac45059d195e1989077a4acf430418f257a7c198000b826b829b43a6a1ccd0a77859362b504cb8b555406a7b251d7904fab1f3431b636ac3be89b0d0a2a877442369175319fd89c66139389cc0b5fc1b16c57f89b6d8d0d86ce862d0609876481ea0b95175a1cee86bfe16d2810ce665bd37171282d051a09b4305a109a105a15da101a111a1837425b42d545e54513a3d1a08121b56c3b744db38b5419ba45e6348198324c1db8a64d052d868e694544c602d9020925d748343230661d97a95bd3ad91c190bd909161996c0b9605bbc52ed9176c53560605930121df742c5c3158582e0b3d5a9062e278486149ad90ca22d5d8eed89eba16b23ba818324aba590121db90665832ac18d91656181d3b74ee9859cc34348fe94416c67682cd0c070727067706f7c441712ce0a2383ab839b838b8379c1c9c1b2e0d4e0dae0c8e0da7c4b1c18dc1b5c1b5e1d4706e7068702c705ab8252e0b6706d7028e0c6e0df7c606c616c6f6058de373d03158305c236e1197882be60e7185b824b841dc3017cc05e2fe707db83d5c1eee0ef7cbd5e1e67071b8375c1b6e0d3a73acc4582da916261d3b51ec249102433eb14531e77005b103c5619972646f6c586c3e4ca8950a538a79c6ef703b26149a1d5b1beec6e57035add834a31347964766876443c2f1e1c51587a54686c78c799c151b5e446d6333837a912bc832b632323a68170d8af554e7c8eab868b22867438ee16d686d680d32cba54205269b43a78d06478a850c0aaac30d63155ba16175a1c13077906aa41cdd16ba834ca37ba173614b837ee962a0386872b0dc985c641d5914f28dd9e5924969b949a494e05c58a5e1c46c555c2f686824966d8c0dcc7685a5a4bd71c120d7983f543a641bd70cf20c19474a89da3073a05a501e7cd82095261753cd46c6f6856504cd8195446a296502494607038b0b656327467dd8a9e22a62b5a4e38675c4aa8e0d8dd518c98655840b8e9c43ba21e9d859c1f5853687b4c36587c6856507bd8185c42686fee032b39db1a382e666e70a6bcc36848f1a5c74d01e582548d20024aa3447421062c002b2021280001054571421520002a87498496c9d616b656451125161d281a1284c8848181ada5a3a79423434a4a9aa402a435431d8640889c803548e9814213d2172423465014d8a8e3a60820484a4e2c09bca033a29c22085077c52800f0c81a003434e8a9c382962808f149c264350467892e4e808ca02909a101d1d4159c0005277402a4445484553a0908064029356ca0ef8044a111293292638194282724465a8284a6632c584ac93aac34b45412a2020321aa23244e4044a1322274354404024c213284554a810552083141df0034551f21422a3295030a0c44bcd0187884c203261024e883ce001261618404a0e48c5a80911094dde402a484f88a61091f0a4e8536e9e148d002415076c5244e549d11424148886407014250a93a129444e8e8a4c08326a02e52828480a0e48e5a888091291932122a2113448414128233c291a02c1142213a40c1545c9484f884a0001130958e0536d20519327509e0c31192a8a92899a3c811201a427264069d2245f907a039630c4048989132648441058a5dc0841d1119322a4a227453a2936263421428188956a034e81b2002e73038d9a4039eac0101112132745474c4e48c1263aea0013a427268c3084d484684a9193274543433b40e8101505589a32846dd02916cb0d933b749299643a4a5797524aa11042109252480a49c800776f6be7ac33ba0b71b71300d67dceb642bcad0b116285586ba7752bc463b4734e00b4b55688f5b642840871eb6ebbdbbbbbad0b99b3dbad775bb7ee534e9fd3a78db3e7dc6c9c73c61921b4105608616f36faacb189486b6bf53aa3b5adf239bb639c35d6e9ddee76b69c2e67163dd3e6b459f5d9d60330ed9c7366db9cdce61d9dab558ba95a3755841d7d7a5b6bdbda9ebe80b6b1bad5a0bb83a6bbcadd6b1720b67bdb69a77b77cf28a7db5abb7d4e8feeddde6ebbbbadb5d6764fcfeed36df4eee81e67f7f4e81e6b546d356aa99a65d99cd5ddcea8b5cf9671c659dbb6ed5adbf68c36c639619c765a08ad945dddc6ee8eb6038b803ae7b4104a20052400014440909bb5565a2be488912989d429abb5aae93ee7b4b693d6b6758fd1ddfd47d56afbb8db39bd0fe006f0392fa039f6a776ec38a9bbfb8c52a5699a5663ac2e9fd47b4e9fcc7a67717aee5a13f9606ade1d21ecea5deb165577c6583d4ee95e674cb9cfe8b3dda7b51e4c8fd3a3105b00eade0e61439fdd17ac8a58221d38a5b447030dbce9d6b5eee8443477a73476b77b13a00707de4e299ddddd9e37a75b77db3da7f5d9d3dd8bb4d6ee8e3c3c1b0c8047009367ba9d93baed6eef87749fd6e79cdeded1a5aa56adc6e92e6307a07a77b7f2ba57d6dbfd05a506d3ab579fd303d033002ee3acd1baf7bcc07b3529ec8e1d63c7eab95b6ba7c7a869dd5d678d316a9a6b5a8c31cea9a9e6d454d5c20cce19679c4ddbdda17bb74f6b216dcd67776b3dbda7b542844c6a6db76d3b2fa0ed360e71ef6e00b80fe99ed39331d6e8de735a217376f7b4d65aebeeb94ff76e9f367adbe9d37b66d65ea0e14929a5dad6ed792b9fd4e79c3ebd6bad35ce397dfa9c135a0b675b6bbdbd1d42efea3edddbdfbda3c738638c704e77f739e3f46cc619a316678cedd33df328ed74dbee10fa0e193b66c80b60072514213d31610a5e8d8064c20544240c213d299a1265a80995a2128264e084680a91932950867c3e284254340549001ab076ba1f464d9874e0e8088a0030f871010617ec0409923d815284d4840995274ca6200d21159550029417c52b204f88a2446112c4039f0b5080f201240c7c3e28f2410c50a483a12244464c8e3a30e481274524506142c2674853982051d1a0881020484ca6103d21f2c0142a00f8018b1051a14234254a09509a0c4d213a014a13a229434ca838694234d48191cf0745a23421a2f2c391d0048949078648a052f4a468849d118aa6109d3074800e3ef8a08813a2212848514030a589100e76407402d1d1100a4c4ac8c0053bf00094a3210f3c29f28007a01ced14e0e8a8c8a8c787063d6011242850749c30219af2020191d110120a444f36a01ed02007764005894a110a440268c12228148d4034254a0f8bc8034ca64041a232e4e4a888842643484726301981c8090f2c018326229a32c2d01428484c9a40393a621284854444e54f78422457b083a127508aa84c213a61680a13a2a32643281039795234f4a48809094d461801ca10120a44f884274492052308a6402981a8047ac2132229802e8ae84be05c02eb2abb6d09ac610dab305512ac936a52120ce69e2461b03993603129094693929292604949302909d6b0a4b92429090683694b60bd04d649b0b824a96172094c6a182c2929c997c03a292926c92530a99740182cab4b200c669724355c026bba04c2089b4b923a29292e817109ac6130985c02613018cc9740582f8135ac9720f1300d21ec12a8308101ef1ea53dbbbbf19d7daf50cd32fb743efd6a71fdad2af19f9ec717fdfade09d55829c590aaf14e28febc39ae346a4802861e680e2dc272378e48a7a45058eec2c145096f42b2956bfc25c572bf67b95f77f9622ccf99613781180425cf07d7e48963f4acb49f0b2acf2741fed49fb8c364f91f92cd735a71e7eca6ec0fd7e42f3675181954718c9233c426f73e0895bfd8c45debd6666faa8252ea1db9329d940acdd88b8b18c8d810647bc2f66c1b4eea0912f392ae3bdfca9feda8c70ce73de499bf7910f2400d7fae0cf644c9fe7d7b9ef42445988d9ea589d20ce2c48993ebcbfb9f55fd77f374e5f9adff5e79b2feeb59fd67803c1fd25c9ffe563d0b55d0fdab85bf570f0b7f3df9bbd9002bfc1940fb8b3fbbbd8acb6e8739976bc3106ad8daecbf9bed4398fde7cad6294fc893bdcdf0f779c9677f2069bdef29a5d9715392c3aa9c50aa96dfbf499cc39c93d6add65a259d73467aa63be6e4a841ffe6f4bbd7fd1d71b97f4e2ecf9ef846d7bd2ed7b4effed7e5ffdd9ce38a2fe9fef5dba77f9dfe30cfaf9dd09c3e3d76499c467b735c1cf72db87ce28f843cdfbdcf959dcbee3ebd23579e332772d9dfdfa32bfbfb09aec768717d5599af76b92bfb0d358d7c4ae1cbe64cb75fb8fdb0a3000c8292c7e393abca2727ee7e2e99819150367f12eae9297b1a2f6098344e1fe8f43154baa49ee7ad39f9de2999ef5f3d193b25318ae05862a498e34b917176a7e14589211fbc52e60489e9974739b95bda1cbda39cead5f57179fe8546fc7f5ef2c8a39c2b5efef4d81cb9eab9ba9ef8928f81cbfdd763e34b6e2efd134176082985d9735c3979d299931dfb6ce262650c5d8c4b2216834e57ace438fe5ed93f880b76f7979329fd8d7a9f67df644308fd8f7232fd38b7e9496e7a9fe7283d052107f1bf9c1cdd8bed499194c2fadf85d9774ef6f72baebb556555feeecc13bf4e70fbbfd7ab23c547399e039de89739e79cd8e99c73d2b8c49c64d020041da2b29121c8d6443fc135b02e704d16b806aed182bb504d0e0ada138c8251700d5c939f64991ae412b54223f4e767d048e684f5ae60e909b2b000f3afd8c7f2419a966792e6515880196752ccfe5b96e1f9d13c7d73d831353f9829389d95d63ae9eca4864df720625646712928c928176494bdf6cbc9514f7057bec9e1f2c4ae34842b79fe5cc972372acac6968050e67ed8f31d1a419251c44e84982976c8019d997af5207cd18f9d90a7e01849762c168b9d20674b179ed67459d3b4468d355da8b1e589659424818c92516bd63c55280995429384f222a124540a649b2e4fec31ce631e935012aa42fdc4870fe7cbf8fdf2dddb8173e34f0c3f7e5412bf7f6befc70e1e373eccfe327e8cf1bb24f15b764331c1588b93b82031dd13db9f479c1316be2897690ad68b5d12cf6e33452189cd954e0fe63af1c8131f719966d8512efb9d51326d70c8fcf95bfb7524ddef9d50e39cf9edcd9edd1dbd2fc68e33e24b37d88920dde5ca9c5e578e2bf3926e2c16ab1224663eb4dff3ebf7536f07ce9d6fb71f3b78dcf930d3a79d109d2f279ddd259998c3de692cb8fdee41f89a9e429edf0f246197c46f4ef4a12fdf55a9e7899dc689c5152bb943327f6bcf74839cec8460fca93f27fe903ccf49c59d937adb5639d821e98f3fbd98e38adef779cef9401148b6f721798edf4f3b21ffeef41a434f0aa4395a0eb7ffbbb2138abf4d08f8748ce4797e774aa0532c16cbf304f7fc6e86ca889a0605236a1a196a9a59d35451b1c834762104c913d7a7ad4c7da2f529cb9f5ed3d434d955468cf96295b8cf95327df7be243443c8c1878204a0e4f9e417993e50dcbe146e80f1c574bf14be64a7f84ba14bf697ee7d724da61f3d7aedbdf33f8fd9ff649484926bb2bb248ffc4f3e657ff985fca9eff83b72a5ec6fe3ebaee0fa7f3673d725a5e692992b4b8b3f57fe5c9fe94ffc7dfe5c597e913fe83481185471853241972c3ff9943fef62b9aba4f425a9612ee90cb58dc8329c04d104899938be64ea3f23dd7f45f214409ef6bfcf933e843e22c097fccff37c0c7fae078d703fffc29f1ec9237fbe853fd9cf87d088f6f31bfa3420bee44ffc1d4134b9562f6ead12e8913f511a107d5a4904e8d32cc0977c570a7faeeeda9e4c7b327dcdeb9c7916f2cc8f227f2ee4992fbf59803e10be3e99edcb6fa5e803e1cbbe7c088d40c8c1f77742a82c5f02f2a79b248f7c6b611ac9f3b9f207d364f91be775eea6ed5d2eb875d3f69fcd5f376509a3c8f389871d531cf62007f337fc610e64fff6f21c92bf35a735e499599e8ebf0f7897c466fadb6c1853107230dfe2aff3c41096fdfb6327e40f24e9ac1eccb4567c04d1e449e7fc899f4034d9b1b711190a81cda48651697b90bfc1ae019d912612fa521410274e9cfa6ebf7fdb20e7dd09d197db7f2eedbf0b254ff610fe5cc923bfe20f6966fa8ee91497d24bdf95e96ff873dd4c5fc312f27c36d3cff06733a418c6d7fcb924d39f0f24b7c9cd2ec9678a3dbee6c74e287e7da7157f9d2df65a31d2a44ff109337b7c4ddc396b8f6df0836b33b54e59fe960485582ca6943f1462b158960ca63eecc0287d50c549de25488c6317c19a1cdfbdcfbb5c7f2019bd23ef92e3631b5f5272d0bf1fc61f287924ec22fe6039fed7d91f4223f41d7f47de25fbbb57a1801d12c796863cff5b856033c51e0672205ffb72fb3f0f93e503c9e94de9fc799828827de92f7d76a7a4c68913a78e4cf19177999ecdb073c74fbc4bf6f88ad6294321490df328d96cd0e766f912b15c9163c41226c70f6ee7feee84e66f2a3864a3de7c2022f4cb972f3b21fad3abbf45cebd13a20fbb10e6570c14a9d7d33dd83500d28e3b6c50b5c3854e58bae499a1d30a4e19b27c68f76bc21674e54b257b830eb8b073002cbbc3ba19506601433e70912a3864839dfb9b831fbb07c0b211c4529232fc2f3ebcedc40a3e64e8b4c295fcd9ec3f800c9dae7c9127dd7eecd8e1b5770f80658faffe2d72d4930fbb103a5358eef99b774253c24e883e50b4d10708c52174a64fb18daf7e98fba7d7190e716c74a3972da81fb651ff273fb6b76347370c61830ef0cce54d45a76cf93e2992f8d1074808f1e54bfafd1e7dbef946f2fde9d3b7d1270a512e3b6dd0017753f9af8044868d6d7cf9fb6f2a202949d9dfbf85a474760ce3ab5fbe54d9e8233fbe3f8c3ede0979770f8065e9b2031b8c3e51724f193ef43618ada4c99fcd317e8c3196c931c6f8d0e1901865832a1e6efc8f3eafe8f3b92bfac81f127d3a4b2b4a593e177f6450e76f8398bf2059be7c8f3e432436ea29a14715e64227156ec8d0a9ca9bfcbd72fc0264e854c529c34ee802c57bb9e8137de8c3f7e8533fc3dfaa0733f53a6ff0835bbf4aae3b21fa0058fdadbb24f42bfee8d3df6297e466fab0f3f8f2879dd07ca0481f761bec2cfe60d97ef53e5b1f4856eff35c1f7642f6b7ea7d0cc8f537d865f84321675fbd0f3ae5fad4fb607ca11085842519c8f53f185f9f0472fd8f3640520fe6cc9322e3c4891395e957ef0321fb6fcd55cf5f49cdd57a526aa6f8eb5cb1948e13274e9cfcc1f2a448324f185f5f4eeeefc95008ccb6afb0c156176d832a1e2e74aa6244b6d1073a550993e173f1a783e0bba20f748a45c1fc05c9f0e11008b4c10d60f4810f3d98a3d7b9bdced183d9a34f7cf85b6f0dbbee15122b6ae20b66293ba188215c21b1c226be60ee97de26b9e8758e5d3fec1c0345d809d9f8925b73be45aebb08c01cbfb5d8608ef13b460c61dd0fd8fadb53cd709d624ff9f31cdff65b0be50f8c3cdfcdfddfcddeed44ca28a59452ca18dfe688818810df3f46fcc59771c8f739fe067dee063fb8f0fb612704bfbb105088c5625532c430be3e9be36f9183d1477ef469185ff181627b1e5ff13db8dfcd31be2bfa747f4ef4e98f7fa30f8c2ff8f1b7e6da831976ee9d9041a602b359becd1203114106557bd821d168a64277ab5ae67ddbb7b80c19d7664b886d831c8c4a70f267e894c588bc4d0e76ad965fd06a7927d45a7d4f1fe9f1ab87d167f53d7e7e913ed2036f2bcffe06bb1ef883e51ebff2acfdd5cadad5db9f9d9005923dbc0b1e764217e00f965b0f1457abef4e68b5c1e8d3c25fe7955b3bbfc84b2ed1c7fe5c79b6f5459a48e52ccb7e2064bbc4836ffe1217ab484b68ba7cec6c2a393dfa5b640d32745a1a828558dec9d069494dde2437c3b80ff24bbca1f3c4b24b7cd19e3e02f3c4924b7c51cdf5fdf3f3ece3e77fdacf2e840ef213c80f1dfcadbef530faf4f8ef06c14b80e01ff8ea602879e27f2eb803b387f0e797ece08ff87341fcc13319fe40c8d3daefe1c1f8fa7afcfcb72fadbd967bd6e7e0cf95716fbfe5edc0b92b8c34738b85b3efbc1d38f7e2cf6571f7dd2131b2efb9858d56b895ad3ef38191e2a7e16e72d868f52d115add0323c5dccffd0a1bd99f59764a66b6b84813e1540f751eeae0a4214162520f3ba1d403c52d7687a47e3fe7758699b6d1ee3924ddd39f2539d8898557d889fbf6ea2f91db904c7f89fcf1c8439fb3393748a62fbf3d1843e89e722f5529cf3b8f8baf7ecebbb527f72bf76bf8bb597e6e497f7ab8fe7cea0149ea3826619ed430d66c1da1ea2698f2a60a127dba87bf79a494d2f9915aea7ddddf3d23b5ef8f91626e6cd4cfbdbf7d8e7e3919da2cfb0d768ea1973d5439aed6df5a7fdb25739f941d6ed67a6cefa6fc455b9fbbdf76f395928bbf98b95fe12f6277efebccd5e7bc1381f38881d81ef9f39afbbbfb53ef3a24aa776ce4cf3da7d2fefadda2ea35893f57654de4ad7ad06b77766fe6779b64cb1ccd7e7abe79d4b95eea2333c8b4ff59fcb908f41bbb0773777ee54f0a770fa38f6377237ffb5589eddebfc340ead39fcfd99fdc6f6f39ac7de55e72f8dbec6b4f9bc93d98ad3769ae1ecceeeeb9d2e99bbc6e363864fb5c197e4132fc3ec3bfda0ff75aab23976e35ed690fe5cf557dd7f833efbbb0149260bfcc1e4866a9ce58127fb02c3b957d2af551b2b2078abdd44758f1cb697d4e6ce12fe6d44f8fc4df1127bb25364abdfdc61d87449cd5f8b5eb77fcdadf50f9a39f7946f6937294bfc162fdc6bd2693f62bebbf56635b4da62f5d4a2c65868dfaedcbae9e338ebe7da0d8d9f6c81fb841c0460c44a6feca9fbfaf4ad21f3f7eccbe95fa48fc0cabc95f7d20f96307cefd5a4da626d7d7bcafb3f65c87a4f5111bc5b7bfb5eabfdcfe469dec73b4acf559f69ee14f077f392ddb09552e794b79304b0fd22c3d9853dd296fe698f2fa63bfc50d145ba98954eda917bf7af4595efde9710f243bc695f7c59fef1dbef267e2973cfe17abf06773a7e24f8fe4f1b7f88bf8884b7930be369b6a2bbfde3aae978644fc1d7159f632a7b051fcfa19fe32fc3553863f9376e432eff3f91f92ccf1b38e4cf5a97cf9d3837ba98f644f53dffde7b9a69ed69f1d927ea314dede7b52a9ec3b7fae99f2872473f6f43bfb0d77ad2f3ba1da6ab2966531c6cc8b592f419e089d664e13dce49ae098b211d97f6ba5ec167e4ef4b9affae6926177d96876bd1c9567ff7a39af79fdd5cb9e7af2a3122757764e580a9af69c92c6758955a5695f6b7c4e896a2a6c14e7521fd99ed278557fe954e12fce3931fdaddbe24f3ae7868de226395a6129d0d9cf29d1d9257f72fba44ca336fbb9a6fc494d8926e5171f7f1c5396bfc5bcc5abfaaf9932c572fb28ad54fed65484f99bb745ce7f3a167f7af12906d27dbf8c4af2c79b58cf45a5ecf329fe92cca74fe7534ea98f508e8952fa21c58f63ba1d12ee2936a2bfbd8af3bece33f52cdc445fb69a95ea90cc37aa98fbae53c2e599e3d94abf25dfbfd4f78a59f8f3499fe33aa16e226fd18334771ecc7166eacd3c9fce6e93cf293511fab443523f7be9cd0792b53b267fbca93be68a3e31c3ef1ba2cf4412b34a7693fcf12f8d9bb2bffcfe95b763c7ed58fe62975aedd7ae551e7191e396fac8d7b9ce0fa9d6aa7d1f715a6b475c2be5ae9147626ea989f411d718887ded692ccb4f7e913f56f2b87fa935f77f4835779ffaaf95b276c4e5feef88cbdd73dadb0e496f5f3b255ceea8fcd9dcfd17bb64ffebc1f8ea5ee5797c75f843aab97e0a7fad94e9dbeefdbbfa1cfe6ce696fa486f985bd2b4a79d90c631714bbe6a1f606c70c8d7b1ecbfc1f8e57c41be21197e1b402e43ca7df65b642ed79767966ec81f64e8a4454dd682447e65e8a485296f5075e642272d67f29637c9256f1be4b44e487ad943f9f34072fe478fdf91387e95bfc9dfea267f8bb262b0e10f96b72a63fd98c1860136da8af491f8f33f0cfef127b928911803fcc5bc3d5084f0670908594a3c3f4619b1d1f6ddcb9fbfa538f720fa0479285d7adfcdb01492647f4f1ff94690e73752969ffc923ffad533ea3e294fef4b22f356f107cbb57ff6f4917e29bbe40f4b91f9ebbc6123d829f962eebeff82893fc925d3df6cf6b37f5a8c1473868de4773f23468ab95d577cf0cc07c2e7419ef8a3f3bb6fc3b4fbf6be5e227f2090b73f5edbf9fb30fa60f0f2bb83c0fc8abdcf7306786220f1e50f104be7737c7c0f0824913f5ffefcfa3d7d647e955cf2fc3278fa9fe492fb33efeb9c3dd721a93fb19192afb3c4459a48fbd0694df99efc2f03fc5a8744be51cde0b34e099765b5f5b58a3fef3ee7c1f87afc7996f8cbc09ec9dbe6419aa307f326e57b334f6fe6adb9cd933f95cc2c3b5ca48948afa789c8cf9e7af3dba38f81c7fd055e3f90941eccdbc6cd091483785ffcfa0f04abfe07fe6efe1dfcf2c78581248fffca07fe5c3df0e7526128797470cea730943c2dccfaecbfbd4cfd6755ffddd5cf12c913f1ca8392e7aa3c2879b49407258fadf6abacdbd7ff9062b6dd6f1d57a48f7ced41f499efc107429ef74c8657e4893fa43973f71fd2fc1a7f1e64fa3f76ecb8483177d8687ecd1ffdad21507f9b4f3dc8f2eb779764c3459a88fc193d4b0cc47e3ffd25f2bd760f247f96481eff0e7f2ed786bf5bf153f6f72fd247ead3e941fe90a607b99162debe7bfab343b2bd51a7bd774ab8bcfd120f72f720ac39933b8757e4ae3ef5e7bc0f2916e9231bfeb4efe792330f4e0fe6eacd6c3d98a7f781a0634c7d22c8b37af361976456cfb34db2e58a8b34118a67c7921a46931ad64911a655d70a9f3755fc2d7a421960704110203f765c3e7ae8e4b458abab4a75dca665b6d2e93236e4003eeca4749c0c463e50b4167eae1f8921e4e9879f7327352cc64806ce034a29f1077fbeff27e1cf97f08da694524a09ebd820fc91df6fe14ffcc6f7aaa407250ffce841c993145b031b8446ba91400e203c12633711e813ff83bd41cfc657c36f886d7c35ac1bc9c4f521f4c9fe9beff8dbe67c0ae18ffd2fbedb4c3db7398a50b3517c08254f3f908cd5fb903cd209a778768ce4321211dfdddd5bb1b9f1dd2184f1259ceed3a334c1063fb80e1041ee9f1e5fbe4272054e7cc1ecd0dddddddfdfdd9fb61b10fad08f524aad16f8bb19bee38ffe377f9bfdf3e3c436bee2a6c38dcf459f862f9f7ad067fed70fe36b5bb1b96ed4eff10524dbb3f105bdbb0c6bad4cbd4ce12410a477ff19203bf75f07d979b27bd92d0777ea7f2e201050c05d1790fcc980e4919f419edfe12f83fcb932e7dae0ccb0d317d02984982b3efaf245964fdda11b593e1e203808d9f116e70d3488e93ceb54c07c6933a5ae4ce9fcfadbf46c7c4d4129a5bfe41b23cd4c2bc52e99b021c8e64477cf39e99c33da8e934e3c74e8c2c39819b9f87c61833e170a46397cff0dd687154665da31c668ed6fd6fb6c6eeb7d9ebbbf23fde94991d8a1f71dc1280cadfd38ee6df48151585c7fb76cf2fc8f4341f248dcb10a87cb1f8c826e3bc22818d550fdc5966534edb40224e60ade7800116b643186093ad4f090469c367ae890f718bc20411a5cc62861c41d71f0c8692314470d7348a11483a20d1a765831a3bc8e91eb75dd9c0b2fadb5562c964e4a29a566c0893cf04a969f985cf28c2be4d002860c9cd898428c981dd0d872c61c4354125c6085275c1002892a8a28f3e4c60b9aa6582ca6254393a113154e683250cc6684c30c135d9e1ea2c9b9f1736e53186b4479c20d384dc4d280e9c18c3ad0d0c1db5833297d838a4c35a0ee81a593524a6966e68858a6544bcccaabc6bc011a03c72271e522c1e4fa5a6bad339421e67e741b6aad557372b345ae7526e0cd995cafebe6dceb596268b208020a3368aa781154c940a3cd1b2a54b5fab8ae9b73afd75aeb1061240fb45689fa92961ac6f87ac688ccbf6881523174f0c1c218a6d632e44a182c762862052ba8b8a30517c250834b5b1b36c0451b31a0ce28838da8200a869b13c494126f948053e6ca2dc3e4fa2c9468adb5d65a6badf57be22ce2b79cabf44db158ec0557cad04c531aa5acf500c775dd9c7b5b80f520c6c9872aac4831060abe90c149539a958b53e481686c9afb85ebe9d7bca07a72cd5ca20ce09481a2c68591655996654b0e70c10a0b68888911e7092f7a58c10cab00acf91ecd97281379a0935de22ee1fa5a6badb4d65a6badf547d3115213e25fb40281ca02cda0b9c2424fadb5d6239c220f440374449ae9e2d2c5096aadb5562fbe684e9471c2c9093494524ad744a8c60e2efc90060d4b4cc10417d77573ee754a29a5f4471b2f524cb1e58d3adc2401c41678dcd03dc1e689374fc081e28acb0ba59472f12479a0ddb68411f303104ba0d9428c2682a8165d383975610518ef39178ed1b688c00a15984003ce196ae4b1823169c684d1536bad51cc69b124f1af1ff23f959ab270610507347018220b2d946aadb5d6ef99417413ac061ca460a2830737784853ab8fee05a03269c808f1b4461b386011460d60721143cca0e15c30a2c6892fd694611345531055c1993267ce441f1c1450405044c596aeebe6dceb8aae45bba1d60664b1058c15bc38a34d97a09a825c9db8ae9b73afacb5de9763dc1e7374200594962fa09ad822882bee30c18b4d9117bad0020e1e5d4c61451e2cc40db0a8b556cd4c95a85c6badb5d67a5d37e7de4c865a7110a2093878ac70a5863a826a153f10b16593e18a362ab870459b2a5358a1020e2a74b450bad3c206b8d8b1466c4c0e5da440c3c443c704f4a679f03d7d476a87bafef543feb55aebab0c1fa098c8418c1a37c8c091430b5010450c0c2d6a40b2e28c3269e400050e5153c8214447b500039c2b4ab8d0054d1566a468e345d635fc8d18708d303e4638c1851b3b568ef0020a8c1244187126d328aa50f145abb5d65ac93441e60c992bc86c41660cfac232e79cd9a4b5d65a6badb556159638820723c08872e36688207a021a32adb5d65ab35428a794d2165ad09485e8584f8cc562b1a6089d80808ae594150fd8c8957ae1c0871b74980307214c8046508dc20519fef543feb7306678adb57e516bad35883092075a793faef0e305d3c462b11528a594aa201679a0525317157c893c59f692940ba54cb94881b2a3861ab8342d4147103543436f71f3021967bc69030e3c9482ea181baed40a82993134dc9751c85ac38821570d8c38e00a8268e530c40c5ac6ec30831605c8a142067686acd25a3578924f193a9df1f4e459a8f4c0821e96a8c24411b10438a1a1c6e98a494399c8039d66a6018d2be7ca1e88186286589c2d3a44d181802dccf021b6f0461c6a33a594524a29a57488ad66d0736ed306516454ae0d10178c29c6084a296593655916981333648902020e3674a00104332dc0618da72f02b0a6870e798f419585993c9040c3c4041e41f548ae6dcae80195c3b604db6105555c91420e1f8018c38809a49873ce393f67ce39e71624ea9626ea963375cb1575cb1675cb18b5f66c4b1e04c1c414d77573eeb5301c20d71464d11e640f8ae1078bf690e64b2c165b826932744a53260da594525a464f0cf3c590ffd70ff98f5b504a29a55e6badd58c9832b982e9a9b556a733d3e98ae9b485eb5f3fe4ffb394524a69adb5d6fa3d330769959240e3e50e37c6d4c18601a0aeebe6dc6b83cc208da094ba7a62b198154a2955e286c8037d00526288ebca5c4cd0430a9ee2d0a1c41b363f5544add1406b94ba137ea0638c3551bcf0c6071f239cb8ae9b736faa85379c60e2090c307a78d3e58335dcb8034b0f8d4269c8db3363d4a6242dde30b38231d478d1850767d880034b1763ca38238a36aa9cf14401cea8f91e9a86524ac93c6564d66459164a8fda50c20c38715ad0818a205a245325cef4e44d65b399c1a7582c8625cbb2b75996655996c310910722619bb8675c57449e1cb678654a7ba40ff763b1980a2d441391076621ced85bd7a0824b0f0d5cb4561f3e64805d7963050e3ce038a20b1d1dbcc952e51625aec059c18aa61cd470a347cbbf7ec87f77c50b1076e431831b503ce104113872b8e35f3fe41dea5f3fe49ffe70e24205f8468e1d9ad820a3c20c6e08505100d54fb1586c0ba594d20c2a4333566ec89442cd2e2304c1051a2a80a1883892e0404949a90532b8561021727565b9a3005b8c21011d64c49102a60d32a02edcc0068e162ba880098ba501b4c1e27b1c4e8b630166831b24b002ce0acedc2100224c705d37e75e5f82fd90861d46b8a0022b6e7ee0818a82d3328c2cdbe25f3fe49faea14666c52996861a24b070d3060a5e488489fa1ecfa3c787fc162d8b195dacc024434c8d067028551a9a8c8a10238b374c634ea026006b76280d9203d501b6a04d1619b2b079828b390060073442a153ea63870a068a2ee11ed0304d89030d0aa84803861dba18e2b4461a4b27a599524a2910693220bec88078ca8058f3d606f8450f6ab481823661a09823880ac9548a37124b14a3c99994bc49228b2a6d6ca9230a7c06166164d12aadb5d6ea441ac903ed86a5872092b82efc802206334c44adb0593aa98e160a238285253c66e8e18a364804512fd338be441d5cd415470d5eb47a0304e8b8238e3774807a0389bf03ca0979c44d1c6f84e1b4c58c3132d8620c7b29a596fedc582c5685525a9f664f61a694529a9ff8227960ce329be3cb35aa85522834a8510519503041c3124114834ca188650ac552a6135b0fba5ebcccb956e96bf0218e9a3af03033e6823647d89d187ca862cb11719e302308d40c4e69c4ee4b303e6b57823e57e6335f8e1179a01acbe60235f126f2c0fcb9f29c5ae6ddf8525280154b4e9c4185952a558054011534460e607cc1410c1b1b7e3479f9f1a039e4e34b6611a2451b3f78b1f403102dd881030b10b0052851b4800d30d4a041070a5c60a0aaf0f2af1ff2f7290b51f2c0c1cd125e6ae812850fa7302ec0f1c4fff7f81d704df68abb6b9a582cd642d0e7caf56b7d9b137db4afffd0480fc9358b5babe641a7386a727d08d764a09879d3bbf1e55de0531c2fb65c01b5030b96e8e1e4b4c5998d7a2eeafed44e7c69fe72ac047d41720dfa86e4fa50fe908003123116a0b1454c4d507d1b7d7472fd1bcbd58cd20ab9e2efa8e7c6977f357361feae0df28fcec434441e40864e2c34e50f29cbf2270a1b28c557cd7603a5f8722935d7a41c7d03a5f9749bf3a5b7c19526e21fbd0d62fe1b606922b5631255ca2a45f0b78fc4df6258b6de944f615922c53c7191261261b39b8acd72f06b7374935c7b30d7ee84a4749c6c7fb318480360b68f04668b77a2aecd5f33c172b5de573ffac3078ab03c3d24991d48a27177dc5fdc71dfe08ebb8b3b6e2eeeb89b941c37537c4dff9a0942dce3b6fbd4c3f8b3f16cb8f352f8e3f2b6fd11976147eb7b86d8888373c6874f3f762240bac18fd8a856e8d47dca0beb9dd5f3ea4fb83cb19163ae09a626989832d8acdaec913c147f1d3b25dafc592bd3ec842690a45e962dd5ca04ebc36f25f76fa6e8d30979d76effb1df11d7237f2c7effce13bf75e1caff3e054cdd63f2f79f40723a4dc541bd39a3fc8d848a6c3a53dc6be26b52dc6ae26b66f529fd2fc374364b7bb8fd8ac6fbac883f2eb3ba677dca83908785318c3c2c67e18ffb8ef5fed0db8173357cc4654df51cfc95b703e76e184966ed55ef78a5612315fe3ab35e7bf8f0572bfc359351f69a5623667dc6a2dd751e9d9fe72b4f6bedb4d3b3f3494e9ed8c8bef6b5aa5952b3546badacef56c3c24bdd1eed2535d1a77ba95b4d6da525355deb926a29555fe565bfbdfcb92f7fc35f4eb6afba924705a6a3c0fdd4c74ee85eabf2b2875d08da5b1e9a9333cfc697fdf63e2e5bfbddb7f75fcd929a25354b715e30363baf7034f24c74ea6c7137115f167799afcbe48ffbfa767b8bbf2e331b7ff7590fa34feb3ff8dadf3780eabbf1d793edea6df6adacf55662ffcff6b38eb8cc72fcf5e4faa9d7bc1d3817e28f6bacf57b6661a38b59fda9fb29fcf564ba61edef6bf8f39969868deeb3be7eec4460d516468a7995fdc546ddb8c9d432d9dac921d97e7ba0b8cdea75edeeae13d7078a46f5b52ed36b52c02b5837ed7e187d90e823ac67fdfc568b4537ebd1df60c7c21f2cb3de7a94beb594daa73f3b210a2459deea6127b4028a4dc6da2ed31609da64ba4cf4a1bd265bdadd64a24f6af674475c93a14da689ccdfaaa77de6c17ca30fdd9abbd1c7befc973faace533df552bf3d84713098ee81e2b6d9a79ea596526affde7bedfd06a3f441dd03c5ee90d84f61abf2ea5f2ffbce533d90048a2aaffbfb9247761e8c3cf6bb13ca6efdccf39aa5a8240a9a892331ca31c7d08c6024000009f316403030180e090524aaa0ca3a140010729450564e970743d1408ce3388c411806400006610002803100186595455a00c0060114fcfa5fb51fe1ea80b333a151aba824642f9e230e4ded8583af4684a437da2d19ddeb22ea25e1ee5a480cc54560c8be290d874b5869b42b4e9026e6075bd3d923c51988896507bfb5733f3fef4b9c57d7b74a87b91a03065f23a5755de34317bbb10b050485c7dcb33ff9a4f147820549ec115f581272ec817a875cd01783fac8128550fa1019e82f4736481cc9c6a529df995971a42d87c343bae2342b57f80d954fe727e308dfb2b81bd44103af8089b608c5a24cfaaf1d9a651be93cfe81431e061cfe36bb464a76961ff0867b8155e313eef3a46d46b1fdca6993472cc0cc27fd19679fa25e873e77b7dd083730e87250a446ec17e82848846aa4a37e47f3b326e9de03375f0c0e1e9442eb4209ef1bbec22589672a0780102ddab5541f263ca725123a1230b218406fd336af1073e05fdbc1ae7bb62f26847afbdb7ae26f666b348a99b8417a1ebb0282ea3f5ec56837422f96350746c5031f883accea456d1fe235c6ae6da02d0ad09c361cad60c43875eb322fc4035d270117fc07f783eb245551813cd6f9caadb259041e3974c2dc4e4b6a0ca7785348e5eabdc9161dcc890a05507aaa9c4268e1623400e2f974b86dd33d830183b0135fcb4d22b42f1358ec0c8d2119dd03491ddfc6d052f7c18daaa58242cea950ea8c80e07a49538d5e49bd8fa406cea8c4f10a581e78daa97598a129dfc1ea07498bec1de38039515df00b17ee48ae5426086749dc06bc9404b3af25d122ec012e67195390f24e2ce3ce7111f112793d60c97ef8954d724ffad264daa114891f9560369bdf2fc2a3e04877ca030b3a8b90b6a66355643f231cc54ed8a5b63739fc080db08a659e910b4d2932fc5340187f9435846d1a53b56f89ca1de80b4f4007a0dc352daf8aa90b17bec8845e9288adedcc24f1a12130d0b6e6a65a30c737d901a1b5e64693cc46466e0c7362cf1db6f5bd8136310ce14a15d8de0852154fd9241e899df32178f4722ff52bfc2b1e6af1a1a508d50e2ba470079cf837a80ed7f86041b3913cda6f2b9e887b22b1a1ece3ade8d18fb0143c177d6f5a5cd94562d8bdd2a6a38ef39b75c82e4a216fcb75e1bdf7354a97d77c17a0f8b3060ab809966291612fd15e0b3a796144957d63bb4ed81bf386b48fd4309b0b24d561efae8c373ab855aaed23f45cfc763ff3940c083014625ed19b025f8ae57b5e4fd2ea63f235ed34565232ea276e7a01d53b313b77b30af35e870b9d10d905ec25133120241d884d8901f43232c7c6f30987c4b914e3239752f15987b214c297813e42261f4388091dddb310f31105f75c86bc30d56882f2df1c301b6a42c4f7c873da76ee60fa760ea0825ff8a57819beb5d8a3a03ff5885a56ab4b8b58c81b021c9ea7dde5a1aea0012a5d22a6c8029261f51072482c56d58915a31e748f06b1495a203a978ca4253677d8f7b3877195ef3731aeb44fdb3768f53eae8922ac22576333cd752523e5d39c072db025324235e5457221503fb99111fa5c681c01f564c76de56c598430e9dc8037456dd5091a146cffeaee3a60382787f7f02ccd87321d6dc39d7e901f0d5bf54cbcc383a98225d4ae7554e262719a8bde09ac8420e6779610618ffb8b3033eda22d41f67fd6ae2b54613627bfdc4a7ec6bbf6d639f1af68fec4624a95da529f3da7ecf6c8cad5ed4e86242efac5e76cc30d21264c629b6775289c292fea36e9f8c000b93d151072caf34b40844afaca08a4cd08f0616935bc568046e7335f71874ac31b08b662bdd11206647b052e69e8d6cb520edb35f83bcd955831720b26131df278e82db3561bc78e9aa6f3f9abdcc301f2b1ebb89693e32d139a5665159496e6424e9b42dcc06ebf2d340f6c8c89dad5a4d74ebf2569e651368934e20ea59b85b339b9f0719e1c5048f1e7718960387696ba9dc589479856ad77eb0dc9197d384a2edc9975d9aa112a8f75196957419af782d4c4e055209d6b687bd7a57dccb3e9c0f34eb4e95b49ecca9b93b543e9f3c2cfb5e3f8c7e514bea7a7b97bb181f1bcfb125c40135730e77e9acf4dfc5450c330240e708989ec367dfaafb020618a8510ca0962a018cf6425041d17d80ecde045529fc49f1f5a98464896fdab410bbbbb0b0993a87318d1a82d051d7fd952f03305d61eb9312a75a2a1b31731d3004e64405bd5d310d7981a6a69ad10709759140c17b4b04b669a66340f3f93a5a6f1a7efbbb0882da6e2991c341e5478c9cc9833e7448d6c2c67ebf72de9c39e6ab09179dc16fc5b59cb8df7454ef71312356da5175a9762848c2f00a6f2aafba53ef6dd08b5884e6359fc408893f08a58b9ae7f8e5b97028db5e0db4ce0f779158884faab667fec305fa222c280fac3116cce7a5952c69ae68688a2a4461aa692af6996f27b1f4424c7fb5f682c06210710b55071848018dc45b7c9d2642ea7bb8108cf00bb1cff38686cf3e2dfbc838b4848b5a86dfd791321041fe79977d07aa1fc4cac836b08e875f87b52f3536353ebacc50de88ffb1056116d7e8268c5b845e77077695bd8e19626f1e7a201912475572042ab25eeb6b0685dfa26d4ea08739442b56321acc10d138051a9affc0542c90349c0863218823e4e609daec93e7e3670fc080f7585a2e6671ce78cfceda8db89fe6b320463ffd76fa9ddf6268a842b0dfaea6e0a00b450698fedd43c32487c36cc8559e093ff10bd8214e37142b3740b6149d2e8de56391936f377a55d43ad08ddef4539064d95bb2ecd1a174ac2ea9d3c635461b6332de9e4515bae53984fcfdd35a79e6c7a99a8853e18b059a1abe2c14c5e2bfa359bb5525f540f8fdd29dd0daac8144e3ccc4dcc73a8b6684c851522a10448a234ca5770299192eb0a4f3e0066c410374e18cd17d018238b74031f9f759f973f23242f93db0f5cdb545adf6b8711465f6288880e589dd9f3fa27c09889d5405c03c14d8c66be454bb3957cc593d3e54bdf4f17ea9be416e123964e25206203d644f4ec296c8e1316aba9740e223f83afd28b64bcb9045c53fc25fafad2b47c7b043ebde519fc6c620a0aa170232e46331b95d21fe4e3be90240b0bd1cb730b6df74e806026779202710938dc4f3986ace748058dc915c5258a01c5273991291b81238b893f4386196d0b7ab862de78fd0ac68ae579883e6949d4c78369e617470a9f2aaa3c0c5e26222032ac05b1b1260b3bd472bce9e3d4fc62bda44bb33d7041fa9a862d7d113712d19cfd086d2a2314d5269003816aa3d753696543002ed8ee7b8feb1687cc136f60bb6078e5810869a3db47f627dd3f2e680a4fdfd41d4b3dd327d869f5b876dd9e4495a2e095eaa38c535e82c512673f9c88a646349508c90dc89307be171f69c7a5e0d33f8d09995147a5895a9d18e776eb043f06bc29b6b7e195bf2ac42242786ee2812840bf97b6a0828329ad206fea717b34343d63306fb49599eb872d0115c06419f008f7e716be28c1973213d58f595e4253742ac6826e20ec867f6064ecd7b0e3d711ca375ccc3260799018fd050cb2930d01ab8532f36f7ed0c5be7e2705fa01b7179d5098e6a5055d3350c06064ce64c6d7e358c6eea0c4c3e7f0b2f522f324881006d0d5549d0ee0a66478be9d6387abc382ccc3514af78913c8a65e220ad0b7cb4183033d350d48d33b15b2f4312245510957132eab550e921fa58ded0ff5db409ba63f6599409b47693fbbc59baf8892c1955c98d1db3c443c376f6747fdf711f3363767b1defe71e0db723392c4187a7a3ded588602398f4ff603d188942ed7bbf75d51516a53d8f773b3784e1614c469bc6529c830b9ccd1e31322e007d6a956b885dbe0b2c8af8c536b49bcf4c38ad74d88a002713986ede615d13577f99afeafdf49104c428abb62b34ba75c5bcfb493091661168edd222a8ce71d19a32a2236e30ff2431712bb7d2ac09770e7b13382902d99d4a0ee70ab5ba78e16c613145b7e7d5860f3ec0bc6031849634ff155ebd47bae880ae9c854cb91fe4c82bf615544add71f82783af3888a109f1e556595285f269aa3ccff8cdc428dc9160a0d793f224b62df1a9a5b677e6c985cb12230661cf4ec6ae6c9286eea81235b4e990d4c8bdb0619872c544e1ce76aea4959330f223fbcf07be11aa48bcf15d8e400e489d7e4c59006a6f7474c363d0b70a520a507f162913e24c7b55516bdffbd9b8374f47386970ed01620016665453ad15dd3546dd421d50caf8fc583d35bdc525953ee2232592fa107e2e9bcda7bdd09e31fe4889b344a8dad5e6afb9fd629bf9f5a609088f223882a9a8a86000a3fcc766b434665da244e8a5e03b2bbbfedc7071a8169c4c16f7079e0e01d070e88213ee1b0d82b6bfea5aa22960480e5d9f026036a1efb09c98397074ef03f0858d91252e636c1e8f358a6ac20c81a71df0820250bcd7117874064652769049271953a462b5c10277fd26759740147bb3b59df956494355cc16f161c04f0806647abff2bcddd948ba3bcb4bbf210d16485445fcc07a944ecf4305112061113eeb3b3f47f52ecf070d6c103836c7e1652b52295065bb8638a16f31d8905ed2b3382aaa98007fa877c9e1cac3be059c8be9955675019a9ea58dbcd2e4e045616c2f0f8dc7346085c824688d33ef6dafa6d62f6abe67d28ce4f5fe509dada0aac2666c300baf41e24eecac6355aef88859f6962b7eed85949aa896b4cb7052fd4ddf34540fa9008501c49bab1e33775f00552b40db1b58ad30517dcb7425c6802e699c55a06576781a40669f4237eeb428db696fff372b087e6bb4e3bbaba8ac3dc600877b5a481a023e8627acde72e59920b867215ffbc293feb5790763904191f0c41d07bc8c9ce256e1a185bcfc7a140ad3e2d238ab8624b367cc9b72d6b23c00d476055e37989e0139409122612ddf61f65fb94baafb4c951c2a6f485c99f75ed3d2bf2b7d769fedf891090c02962c083b334d4bf53074d8056e7f2c9b7756ec425d090cc1cee90697484bb06788433dfcd651df5f62a8ebe5b1f1f613d82937324b89b2900c789ec3b24db136af63065aeb7f00e21082ce388c6d2d994e1eae862f5dfcb89b80e4bc481a603d60ed9d5f7d91e3e23dc169c85728d704b62c79e116e86a71892a527842492b0b960a3c69f949245f1b8dfc6ac12224547cc38fbda3fcc90928614fde9f71cd65f68423228a9e40896a9492a2e64d972da3ca8fdba72a6b97a4cba9cc6d48741fd125435e715892a1aaffc669e9e8f0f861b0ec3277716abd2b46b82879643146f5a0c8646960896a438f48f7fb1978c89dce38e1b0fbf1b4d4eb29ce28cf367eaad90dc0e50d6825882e3b44f38d901b00e19b611fd4c3ffbaf92c00a727accec155ea2ee59c19d25a5e3ca7f712bbc97890e3bfd515b31d56448eb103721345e79e79253c152a68e06fe4e3b87a099359d1e1bf2f79ae506958ed719cd910d89136c2b1ba33d02095ddf9de239887718e1c848e1f0ca5b51fc35b3e60301ae7a34d98aac3476d151b04b8d5cfd7425223d746b02651f65f84a8e87ef8f04850d475dab530752fccdc3a07bab73231421965a0a3ac4a114b974211019eee401534907e15811b946a9586bc78270f03519b34e0c60713c897520ca327826009905db1222eac5e2784541a8a8fc47f58ba9df12d57a480cf3cbc80ec228649d4509fe94eaa734a06e11dda507157e5650547a899f5b3b0ccf540405e75c66b18911739020e1f3b6a6e7a2eefead545fb835e8593ca85c252109030a81526b40197bad2ded1ac99028ee21061f5118613376dc1fd1e4b7d285a8168ae4c6d4cefb063063139a33e5eb952636f4b2342b315e07d646c9c155d597400aff4818b3986c01e8c89b868c7271c83ba8c30a2b9a5185b9338fdbe141eccade7c9564bcebb8672424af0c163a6db6bc9ea625bc5c049de06243868161a03f35aa3dad7491e4185f3e446684cb249d1f13ccd96d6243992f97a286e3e2e9da140416f2cd413d0c46fb7878453bd3dc7d585fe492481d046e0552a345cc7e426cfb8578aa4161aef5d13c15cc3796d687102f1b9345b5fbdc2779e04818dce8b704ce88f4418ddd402c58358b0574c6a9d9dd008795cc0cfa7a3f5b7b288f1afeaf9970806f875a1fd9bd6302a08949c4ba42bc5aae6c2701c585a4f8a1f8d0049e0e00f21e9908414cdc0ef4394908c4498e14feeb01ff8910b6d08968e3a6faf10a0305fc74aa4c1e2eea42869a744fce17b8504e5044567e8c42bf0b76bbea1cc9cc9151d940722963e87b053d3a7636b8b87b6b0ef9544ce7f4a71260b4d3204e7793dc8bc759fd804863678849a66e2b7671bceb038517e00a0dd59898b76da01cb6335f5ee0c94de4b7571bb8ed053942b09180029dd0c817e31b6002d936f1d7a24fc08a92f1f36253c81a47aa458f11c1950e2b8f3e91041a1bf43ca65ce69bdc0bb8b33c5acfb640c8e7fa28b1a3b6348520f7b405a43702e543d8bc45414843e99a731fcaf01202226c2304b4d89b6dc21305877bcf29ba7617d3b5cb914a713b2b264f6051be380f9321cf1b51d591711849f721b82cc9408a6bd9186c7a77a594624ee86d997efd1aa481655cd921931077912482366a391aabd55df21b78a94d63c9717030a2ffadb403d24dab9a6107c7903484798803b3ec050cd371294a1a36bdf05acddb557582d3c0b3c1045f13b98e1722af1325033b6ea1afc2a4fc23eeb5323185d13ea10e3499c91ace802816532824095a19b1e1c848db29d06a405782b38aad9eabeeac3cc0b066d43868800f0e1b018dc3f627896299a2a4df6853dca04447d67a82601819be5ce9e103c9576caec9fe0c93acd8e7077bc859058ae30ed212924cc36addeabb42a26cf159176bb1c26fae309d64fef6f1cc02ec4f1bbd2e3e38d1548ca2e24e58d09fc9bff5cf769b3bcb1c0a62466d5afe5572c5c1cfd19ebf2557bd89896da1e8b650b1de32fe60a0248eebc2d2d3c605aa7c7d24740a073eab9cff087506f37e32ce0e4f8b6e5617c62140f40cbd4eaf8be06744fe44e86a4eccb9185558a469dbcc6328904a2e50b7345863a119c5fc0a0f93279d91372134418f900b01f4ea7a970df43b198cb5c34257182eecfcb53d45aa5d41bbe905fdd9e682214f71e38204fd8e21473a6a9efac08ac7c2050d64de61fa4c2acaab810db031135918547cfe706ac647a875c2e6fa1c9ade9d13c57ad3bb79a7b0c9a84ab8864dd4bdb118cb55e903893b1fb0e186fc3e1ddee180f60f22f6a033460fd91bd430132cd59e3f3470160cfed0e862eb32896e2ba94a97e8abb86e2389b74b5d82b89f59715cc99cba1c7cecb83ce9688cacc086551685c475c34a63532fdc9ff26c5812bb6301f965606b058cb697e58a81d65537e6c91b0b8503d2cbf8d128efa23392db9763758834bda269e8921ea312db78485ae918c4ce4fe82f2286ea906145a271872c2e9b41c3f478431d855d11246ea743f1e0c9988a1d241bc4cffc31ee93bc487e9b912a86a13283f88cd360526a7b5d75765b461f0e8f1140f4b83991f15b48adc065f08ca215cfe02f255131586704cb35537fcef0a419ac12c3eaae30eb83d79acc7cb051cb879296c582d7ffcd1b8a97e5c60e27a9a413c8670f32996068400984b478013e9cd9ed2e2cc6a008706728ae6a3925d26ea734b44bc530dde27a6f447099d3cf5ed52ba62dbd460cb4e9938490661dc317234790512cd647c41d5276e0ba6c6d4ef5d9e9ad67c9f4569cde66a3cea15d8b02b9d06a1d066a2eb49c5a412c379560a468a6bba84c3a75b0e7acf2e9be31106dcdf34293644401434417f432795f8b9b003c29127133fad40423a9dcd069a586267822cc29723231e5a2808b9e373c5456a098cdcd2a12e91eec691e7e3fb418a4c0509e148ca623dac976f8c56e960bc82c6aa6b06e237e7d42a1eed36d536edf104d34dba817705cb9ce2a47e28ee2b508d2841146e2511549ee65312cb804316d1c871ee9200ab68550abca817aa578a7553ab6c91ab2edded632fd661f29045e67634f8a95f9c4b202ebfb32f9cbef45dd16bf671a0e20e3a227b6cd62f139b5ac7edad3c4a46736f9426a32849e151187aee57f21b479ecd3b3ed0a70c8aad9c66d590a35ab7e855d37a4e853c2676a24776975ee51a77ed582895eb9c2eae11444ed798ec869d30a59d5ea97304edee488c744e3baa7804569e855464148748d911425cfbaf783e43e387036df064549f1050442bd3b144388279918dddb5b9297bed19750b617c1c6d2e2e9bc1b3457e458205b8b226975e5afd55b89bc3442cb685d09e613e0d7b0640c223caed39f3e445fe4c62b9a254d8ac880ad6cd404b95a4cd9492ca99e39eb255b12f7d2fbca9411474b95e025c7df89db11ad1ccc8ba989ff7117f774463b27b02e59bb06232ae0231d5992aed88f2a6d8f7cf800ac7236f266d51c4ae5c51e19773f0492028d1da744ce0612ffcb102caee4b0c5a6abc4863cf04dfabd2162f849fd8f2a50468615aaef13231ba24b519e2a8a3ddb5b0370c693b472305cc56e58378ea8a29955dd348249b13aa2b6ff22712b7a641ead190df50b2bfa748a3bd6fe0bfba2f5e86522e32d3089866201d390d26b9e96f9e8d3600208830131a7c37e74f4806030ebc3caae4d6be1577de7e71d556de6796b2ca073eb5571d185d8408b66a63b02c539fd153c0c7993119e047fe5d4f7756ad146a57ef8316756bd0e9ec414744945e38d8069a321f6de68db80cfd5eaa11b89b96cc5eeaa6185a85ba7f6e2705f5303071bd18dbc142a13fa89117a811341083d51e1c0d97d8d43c5a0dd00cb1244156f9201346564deb09fea5e5f136a0a3a8342565e9e09d9748381458229d7328ae3d5101ece477e0cfb0fbe31e51235a411ae09a2612bab249e52385d14e2371c9aeb1506878d60f09b990c4921fd160f25f689c5690a3adcffc7c11da3aab0ec59206a8ee95e5da648a53f398cc94738f89aac51bdb5f61a80cff913a21544330b783a274e62e1473ec82aa219ea0512b0e617f38a4ed5d3a7d0855a843c352c16291321f5607bdf08336eecd0da404ca2e885259d3d805c69742e1ac5278b92b14dd0234539bc240c50db938b92c4458b1c519ed5ddf6df7626aae4c0802ce01969a076b3519703da2bf596eb24b2ce50dbcca8875e91f77aac29ed237e09fd9aa0a8dc0a19e64a61bd35231ad9dca684b2723ab4a89de39102ba6197c31250234c593f1d822ae2df0be3cb641731fa0ac579baf69c3f1c73648b99c60f3ec7681a187aeadf6542857e14f30b764e9defcf5a615cde919c7fe232856eaea6f4ac643795023f9778efd6881b138e45e704426cb8d072b518177662ea25f25dbe181d2f81c75e37d30a81d3d83bd8026022639f8609e4c0be5d3fab89b9d4c958e510a0b92b4f7ee44d7c07c90f10b39176b0e7b782a945ddd37b4304ce0bc6cdcf7af2927792240b300a4d4212d842e05208597d31f57970723228c6f9c3601b133a1c02f1daf39bf276fdc08c5be08223735f3fc23de9e9c2f8361feaa1057971776dcb7746b6628bb79bf579fbbe53114e46ca08283fe6b4e67e8cc8423d615b2cf4960efbfb50a82a189fe663cfe8b9bea1e9f2c30bb01dd48af228f9bd94d499d98b8c36ed405e5d128e189cd87347c1915d70c91bb35733c8321a056449c19574131725f92226b9b3c1e6e9a7e38b95336c1bc7972533569433d24739968608f973324c04db8a54689513e4821cfcd11849bceac78168bcbc6c6b096df6a176c1c0bd71b14463d1845154cc16b29b51f974998a042d4a9f336072d07664ffb477eca8147f5eaffa6dd044687bb85c66639051f3845692bee4d3e48249db0d203d8b4984810fb4a93421ddefdbe392cb44600b563bae0ec9251a02492f6060906dac7af0cd6c8c8f18e70bd1fe3cd7a0281c4248afed46c299bf37b0c25d02a17acbecf2e5862fb35056de4fd391ac7b02a7570a450e7133290625bc4d2de3768ca5b53a643777c10a0b8ec36fa4194d4baa50688f6ce533c711486e8333f5c60f0c20cb2dbc4d0252a58fe44b77e8d729a7f9c4bbb4a2cded4948c5b8eb5a590aba28337a2692329e1e60618addb3608a56f28ea10cbe291609ea8b641a8ff58f6041e5ca958df9131ddb544c5b4d3f06d0068cb6209ce139217cf515b2b783a9dea4050a1ab5f473e1019410f01c0924ef8aa70bc28e4479e7b84c48372a0bf6787d2f07743124a0152de804501fcdaba047f97c76e14515f78e35eb4e7fc6a26626397a60245c76e01649b416f746fb7244bfa06c49e180524737f52294c02c84dfed793b6a3288a2a5cd34faa5a930a54cea384340768e763398c84b6b1f6899c61639750d6b7d7102312156228be0563c5b6121115bc96b6b746bced838ba26e91cc77ebfd00689b2f5ffca7e694e3fd8c25016e5f846bd1ddd5152e86557c7d071caca628eed642d8f272880a7055425777862935bb5568d1c4bce43b477ce1cb9cf6aa58a921eef41cf79bedfd5f420ac27cdbb05dfdfbba9d2b754fcc20afc6b0c591fb467b178eec7b40e52c65eb64fe76636d26f3a2ee92329115791361dd3d179f6cf83562c7c14bc31c9c7e50feea5039e848495a8ea2d8a17fa837a18e62c4df110b50db3793c19a58ac30424a5dcce9cffb25bb6db4a39b49c33ded0ed10c404f8c940b6193459f8676990cd8baa01acd03f46faeed94c03d6d098c992734c0abbe6879d9e6588a7f53c2124fa9e1193ac58a73068b2c9bd7179b632da9e7694f2ba3696d232a65a0cb6582684c380e95483137f6ff0a6c8ec0738c7dac8bd37774423421ed4a3b93e535a337d4aa4f79f5097ae29beeb16709375d3d50212b49fc18a57c3d31db594bc553a2e0b408fb47f82aac9fc2b21e6402287bd56683737f0d679784ce8350c17ee7b3343fdab2c9c225aeccbb3592f6d3f5f4483d339b3c743a26d1dceb09ee9801485248479a326040adabb3829a21e344dc11acce3d514785e21135b6f039400f6e532bad85b001e307f22109a7876d12dce62e7d92ebf19378031eb4e310b6d9fb37be5bdffbd28bfc9882cf03691049637db03c51e1af236682eb7e3f4026c07a93dcaa5227d20ff08a94713d2b18e5c3b96ce9f249b849b4b5fde8c0f94bec5ffb2f7aafeaed79e732ba6f8ae19ba7e40560e5771002851e8fe5af6ff730ffe4b50a3caf0092a43305653f811b4528a6db976b96a3cb9b35a55a2f2093ea4a19f3241b2ad5738caa089926cffeb1d5fb221de46ed21d1fedecb61a22c8a50f019048a312088a3f66f70146a621bc8841e33702b463b93ff715a85d64e084610b081123ea9e83f642bd97648364eb6514c0920ef6f9cb02d012e15f13d0370e099fd25e32677168f81d70f8e4e19f155052a87e5d7fa70eb8ec6e4d0ff3809e2604b4cc88f4df96c1ec1ad6762e91fe4167e7a55564015d6ec94254b6bb4baac27328ea7eb701732cfc7b3a0c4d3e2f722cb170c35034cf39dd17501b8f1606da92d94253e50f856b1050b44f75855616683d8e096004f903491a6499f9cc814e5ee0c88c655ca5317f591d77a4a8e127bbf6f1d7203f46ec76670653ad37acef472860927b1815a639f3712b538bd2febabf8a1c1b5939e9aee685cfed59a76756ac0fdde52876909d3f80bbf76d1c505175837b7d0e0976d3c6ea26ff1db6e1ba0e4975cd7d92a67b8298a2b2c9aca8397ee298714522cb46d309681ecf3f6b4c507fefec8765513ee815e36a0988f31b0427e53320117929092812f64c65fe463f44dc36618e62a9a6ba0ff14d6b2c19443a0e26d05af93c3a91b5c6c8cf03322fc24fec0fe9fdbd315456874c3d67688d8728a758bc994a86c76124cf387e3569d81219bc1e6f16b742b8ecadd08961e29cb4740218030121114f5f06acd3c130f54e8791ad0655f3e172b2817b1b0bb5d958bab27d8dc113a15e301e4b20805d7656e80107f8cecd2568b586b2d8ecf732860f092bd6a165473759f9c1f707421e146104904448589eab3133d9de603c639342f2584ff71bd436cbd1e8a078047d4bae9a460017899b49ea856818b7b30ee0db1f6440120d72f9e084128dd7c452b9e9013c18fae018f624500207b6b7e821534f13eeab1d598fce3231114f92bbc3ec93ab2042e2dffc69d6918f52d9eb1c9028ca2d0da1c6fbe9b970a87b6b75de1baf0d64b3fcbd59aafc2234b21b56a2b0062aaee843b4fadc0fbb74330103444e3b28608cd3a403c5110a0598188e60a003cab303010dcf675fe7e5fd0edb01c23c8f53829717820c75bf9ee94b2e9dd43a3f480eaf95b91e74c406a701afce1bc9be06cc7db44d8f24e339386e8608cd98a9545980967ae28be064aff23f385c4ee5104c6a8c274a5ba7810734b42ddc10a11a1195b62a4a7e0e85fc9563872f995d0a8f823b36a551ef8625d3e9efb41fa102e046096cf53ac4077d1e5fd4297dcaccc863b6201d0b7283c1a7ceb482e402c3a0ecd1ca8961b0b854511c1281ab126afff02b9fb1eafdfb586b124a4bb0aa43a7075bd1109c4b2a69ebd13fe49701c0bc9f327ec7ce5446f82421bda3174cbfc1a41c17f3e7d0f01a364c11d6242644f027d08804405391e77095610640b489ca241224c4fbe0260e133ece5db69e60b17501d82965f66002b89a3319bf0310cde532d4a2bcc6b021df339aebe02d9381690e1adc5514bae09a2eff4dfdb9d779c19c23b1e209c75c9e8c82dc5cf4f16cd92bdd1be833b5ebc3dd72016964e816d8380cac6bb25ea810ad60e87fe356b210271f52b29d1d64f8f843b4d754c4941a97f239c067c38cfec4ed898180dff998bf80770e234fc0209174d75a8960d03c1ad59977c6beade657f6f7cbf44d90af04a5fba8300bb615fcbd5047b25de538aff99d312011892fa97526771e08f80a3cccdac96c740f1d26ea1d1ced6bf1f837b055195dbd62f6d47f4dcbe615ee7a7c8893115b3ddfadb33e2d941fa8f493cf12b8e0f5ff8a87998aeeea3a31392a0495005845b2e6e0f2a3bee00d912ca5d265b4670cf6f0c90f0529793c40c113abba837e3b7c183d36f36a7cb0d978e1686014af395509840246cdbfa6bff220b51db6ce5f9948a3fef5fbc6d32c0c08037478a1d9364ffa84525a47ddcff4f82db01cee06a7ed004c596381b9257da4863b72c799514b045823f66d777ed49bfecaf39d7054b7b63ae2dad230aa68f853cd91b91fdfd929f49b1dcd239b5c652f0f7c493b3e6f0ff2c514e00913e18cd036d56b399f28d01f1a8d040ea3c395106b089b9c83f77a7a7d741889c27d5f0c92e21af9568d52f99098c2bdb2c6d074602823f72696fcb792e1374a7891948c84e3c757babbc3dedfcdd2cce5307751d6fdee9ce25b235ce70d34e39209b02067adb01dbf29ce95dfc1b978d020ba988fa4b678e8ae1625c743a0a6a668de7c76723afaca204794657ede4c8faeda45b31c7d2eafe45a64b3c6e6ef3d292afadb965f717858ed032ba89058465eee010623b3d3a082002b73cb87942508a8ad0855c3f135d5969959c1c943dfa95596c488b1e421f7fefc69bdad3e8151f4ab6d824526c5d71bdfbe838af2ad6b54ca44f17824b6efacea9ad5bc67bf6b01a425c6a34379f7284d7f1423340eb0283d8d9f5eb0dca67ba370136add0b823a11549833e401842a57e18843a0061e0f8c9d9e7479f6d9d791b0131e61a051f4d01dd9d2bb9e678c41c388388b70a89f421d54d6f5e24cbba63e15a35046c12059ab63df4cdec19306e41bcd086e1a271938fa1fedbae857808d3f8300e7b74472d146f5d65f632b9da0bca466d038b877d75d4eb4c91f80ffb1a8215456b3dd35c0637dd38ffc97c15224b68362a18d8747c27a7b05395459117b416057b2f4d600f34c1ed7fe4c4648aa873059ec2c4e541b9bcb6d89a695f648dc759a8233f37a9c5a4556e72ad459d7c1b61926b8e7beed4d3ed9060465c1ab2982bf5f51ff8759ec9c91a9fc1c736b89ab5c710db760fce007b991c3ab63a108637665bd4a90f0b13cdd50ca7281b7a112312e52ecc115ab1e2f32afcc98dfb2b6b70d90dc48cfcb574d4e975e29dab4576b196b0e08117028e7721b00639ce05b4ff051dd6693910564fbe87a283ee3baa5afb2e4793644b71b07fa1a70f0e2588eecf51eb40b8708c093b9068bd0484788a63c2a6d2383aebca7c0916db928384b2d7fcc37e9898a6f41102f76e1d449953ade0afab3ed0c92ab3dde0dad067aa044eb13c5007f9e70f4e1c376fb268728ad51465da59bb75cb215a32249064481d6060533a04e4165d92e69864257c031b6ecbe0aaf60cd406707efb520cdad66411385f4b706060e2c8197ebf9f89958aae2c11b2aadb65a1447c1a0e101d5aafe03850021cf2fad0cadab2e0f3dabeb84d75e0661c5dd2a9e7b90a2680a5d387a56247e3800c86a3d082a16466a990d2586c4d2912152610170641f60509e329d7d0006296e7b04865376325af44e17910f809504997b34cb9b2b773967a3d2a8b9465d302ca4962c0479772768aa7b744022937dbd096ae046a76afd99b9d7ef596c645143188faf22a4f943e738871860d8b70dbe6674c31e04560a6a9b1132463511e52f8b94b181be87bab6a12cbb53db79a586ec83d5ec8efa799a4c413d088bbf849aaa4da0ea820ecb44d6c72edc8c2c7f0d80cc989c274f5db8327a60e1c6f41c58c972093cf7e0cfc11c5ee0cd9b3c6645e682500bb0320c2ab428beba85661c0237a5f95525cefa78f804472fdf3388a37e4dc7f9db6633f5c002cfde43e63d7bac09459316729fc612094768a29052240e6087767b5b81b782267cbe312a048333681710415f75be1c1a63c58bca544732231372402a82959e4a89723211b6f4c6f6442918d834c0125806dade636b39b2c9572ef5f387600d959c4618cee0930360b24e88b4cf1304c6d80ff328dd8b2994c6f61a8f2504095d090745c0e2ca1e69e1cf200cae0af6670c547be9398013cec1812e1ff78b68c494a2fa9e54f564d0f3ad848df7c074a323e611eca1b84040ca943770bd174bdf6478111aee91749ca92c82c63f45e0d48803efa326520d25aad05d205e9071c4fa022b946b621f7468e44e3a277fd5a51945a43070e3ce166ec68256f38526a47922005203a72ca19dbc893892d20f6e82a63f8a67fb5b94e5ff97f724d04e013d8bed451a2704449abc4e0b18d7324d531b15dc051d2f1bf6936e050efd8c5c84716941f832444406e97545f3bcf8a5cfe6be850d8c02f34fe230bdd30d8ef9cf6843da644b3e064c2d78d3e86fde7c3049725521e995c2c39a0cb905d2567cff82571a361e62e76166fec72d21db86ce9c88ed3e1f25e51c7fc1fa3126fdac8a163d3276a7a165abc7328473a6a50242f0574935dc5a817bd3b6078196c47ed424bbc9fe931efc37ae89119a5a3d71286e9e12cfde0e67d7de668a5de1815c570e8b666f4d70496a7bc353395911881e64841d75aabf5fcd1290010b48679c50c850ba245b4ae09947b683275e7d8b7b0c67566156001addfdc2941d20e4d4cd2d192b1422bf23254c4397838be4903d359ef479c55eed11e509f18e1e142064cffdfe448e42380d213fa07d8fc56b083bf0e28f24d4e5a464f99a753cd9b09dddc7e6ca9d3b1b618db508dfc5b3c7a46a90017120c83296adb7c544ec5b9e11a962e107cdcf338083df07a2a141350837279248536b712e700436ce335272301a45d18ae84205cce2e571d0750309b74c8508d4ee0e58f70fde6fbe97eeadcd555ea53cc37c59561c984ca0d587b6bbf08560b10202a108b395e376f507c20d40ddd66be6128f7a5b414c3c7c6d5e64ca00146403e1aceb9ffac8ef5d23413779f1e8d0208426b8fff2d0e5e883698a928641453693cad2720023979e53f71ae7d194ebe4f803eb68d00db27433d9f4dc577ace28915c342e090b6b1ceead32917250ae12d56fd3d9e94fc1e4d54c1f544ae71c92ab918f30da07704cb80c93c1ae7070b9c9ca45829935ff85dfec1f7f287c4accee413f1e626783121b3b57f353ce25131f38e29d01e6af4d5f976695570aa706aa58e0bc9865686df188fba1c9315ef3d4c9ad9aeb83e8565860c2797045df390ed569578eac0f1a906e56fc25197040daf1ccc3af2cf0852623bcee494e16020c8214a341588b17f03f89a89d9424b3b76911d7fdf162f9cf8a483fa401b22473252c34ec7a31a7869acac4aed55b2742a5578cea881994314615acaab0a20c62d33997ace86570566fd538f31c33aa7cf673cd5b246a2c81a5c1aa110197554b3162c0e5b1972b80ed8f973774b06bac93e864da02372016cfa211399b065006bb8ac6c7c3a9592da75a633158c6e71f21e5e99912e1c069e9ea14c142969dcae184d1356b4c76970e2da1ef26a98f30507fc1862eccb84cc17943c42832b49834fbe30b1871b7faf115ff13368024e190ec74c3d3be612f694e8c8428c8a178b732f48fdc8a2c432c14c4275a7e70a42610a6620d9a86f6ef4f3ed9073265662117acc37296ad2bf45c7c29476bb160b37c8271234cc2481d98d313f241a0654b6e77df47a67d3a28f9dbe63a06c4956e86f870d1c31e0acbc42c3c00fe96fd25cff9cb9f348ac6dd1243bc8aedd8ca80834907961dffd82786d40e415b00db8972c1126c820d2014aa381bfeeb7942a8a9d46547c01c31478a1be04b91bc0bb9c10cf13ae40816b16e050e57425d8b9f3682701c9e9d8047aa7af0d750e92141fe36a73e5bf43b0fdc39f1773ed5643be3a68ff6ffb03d1d86d63105f16d4091a85b0441d995af9bf27f3a7f9221279076439c7c56f6ab46cf73041745e7dd8f7d25d47cdfde14e44b750575e62a4c27f7e1dc37f26d6fa6eed080027942725ac591f12c05350c2657a0c1256c8f1e020b3ddb43192f48b5a05828fe8ef2e006972ab8f8d022c727c62680c7f7eae4822508a4caf8fac0627a178d252d5ca37c3c927eb9214fcaebce0398d8a635003058d3bd1ec6c0716ed8d66255b1a6fa5f32148ceb20557b132b3895d834d73dd9f85675f29f8cf4c4134790f317b354907fd513907c84f84919778b28f311379a6b465b554764c66467c6e28e7765c66834fa7780f21a6bdb461be5b5e8cd0c8641756de9fc2bae31aeeb8ee3111b57cba9f76f0ce0ae2036d6fb08d8ea384dbf46f321355246965526c8cc1811caf86661bd9b000bf3bcb31a3271f733d3a649e37485d8a8441ea18aa5a1f107d93c4bf6fd81f22a92bb95c1558229f8342d3a6262053ca80681ad19e392d1af4de88c9a3d648662045baa61e30609b7d36e4ed3beacca35ba7969184ec1c512604d219528ecd368b9065426ba24140aa465a52835faa082fe472fcd7b4d908233732ebfc40d542d4e1d04d03756d778b102ac4a83d20a9ef75ccd4faa451d413fe1500dd719229681e8717280a04270479aa47193423bcebbd838237f9b0f0d6e1c433fc91951c0b579af9a0ad1b91f7c6cb51262ba9980aaff1cf418d8b0d890a8eabf689c15367f67475ed93bd695fcb0b728d837f7ab7c1f294c8396659cfde52740364ecf34dd6b0d557783268b38f679962f8675824a5f60b9cd2afaf8a880733a83b2e7dc422f1dbff11681beecad11a18abc9d8560d74a10f55e69b13d3af952c3ffee1c8d005b59bb88e003b917e31214f75c341fffa4ea9c5d2087a03784fc3380987f8bb87d8c2c671ec52f6acbe1337a40ea521a005cc38945864607da36d2f2d2fa29da215ef3601bf78aaa1a5c35f51b3a4d9905811a7d202c59442681291af82305b808c1b95978cf68778eff03ea680a88a6a07315a88feab19c26e2eae1daff386fa784dca362ea9caa26136c2983f3990bfaf38f10f28ad3eaf5b93122eb5c85e4a6d365bd2ab1b9ac74b742c925fca36ecf0e3083b11e8459afff790795252a5877076aaa64e11b6e7dbb05658de70568c9419dd67325c2decfae95ea6f6cb630fb46e2cfb5ca82206b2ddbe38c950115ebac8c581d1b930d99a6482618aa9513f45fcec956945f81e5d9785f2bbfd7dc4159cbf11483f397483a2a910285970d3aac1de49dd959d42955acb9934f4651542b155f619e36048acaaccdc0691608e405dd1feb00582c4879380ff26f721cb66b7dd4abe7395e85b1f78e7e027707bf19bf886794dadd0948872b6a321777ca0a4fa3bc3fd69a6ffe1fcd34bc85cfe92efa7151f162651d5e4ffdec0a8f706cb61276dacdea879895cb76e986fd7cdcbce9224fb27c833a66a3539840da3f63b435d8adf6eb23a429d919b8a4cb1985123532a720565362953d25a62530463bf7892be54fec575eebf391c24356efb2061c165e950b348797e572572b82b565e80d0f77b3fa5dc3b5e51a896f0f5cfedd87157a84560f464fd9c5a5136095d856a293f6994d293b9ea3afc5a14b141ba110d3a9d6e858f63eb75384cf3919557129f0afda8192ed12c9e2fd52c8d6a859e34e910567dbe0c83b28ad0f3240e242bdab81dae82c0cd116a0ef4a625678ea43b5723784eeff5d6c516a3ffda9a7fbe8b72cf4578a38a2141d2d72fd9bbb7293701a24c6d2cff230ff01c0960c9991703c8ac172e131c4237a51b54c7f508d99db280f40c2e43d782d75a49d05d38548df00f124b558a5879fd7825192bd1a9d56d79d8f71d1ddb59e909723d704b40b0cc66b83ba02ccac66be605163b33819879beb89f751b6ece65cc78fa7390f101e19c1e28a37a28454ae87df4835e7fb0f4b810298feba17da190b6c7f24ef0e05b45c4cbe7b9dcc94b010ec5af07cdd1056c882365016b7ed56d5a553b2b7a40945f884c6952dcb1fe0cd5f0d36d101a3fc0f77939e852711ca9919dc2d53176081ca01d2b7a153a6896c88699d680030c0adf90ebb6c24931eab5ff232cb1287860680374d7c5e5e5fcbda40618f3ba1d60b4282a30220b9296bac638b99664c441ce9a6c1e0c1955c8470a14592cad63ec9580f483a056185c447c4533ef325b0c97c386116200550d29d752c50850143b5ad223f7184e4cdb16d6e61d6af75135bcd7a3944557f4be5534723cbe27bd5df7f674c1f4761d7ddfbe85f8f691f9cd197958d55f55506c1cced7a67324e8504aeb792fb1c35699c21b5920f076c173144b47191fdfe5bd3c6da5c2d54e1f341882f1c129580eddbecaf300a4182d3af37236c7c8e1d94942a9cea70372315f095d2a85843c1236ea0d8536d2b56225269d5bca70a93476d536c354213c625bab297c54624b6a0c954e7cc2d7bd5552241d041c1518e5eb263534b268c3ac50f428c01658cf3a89cb2e4c3ad307e645722c8ebfcffd61be38035f462b408297a487ca9a046f6e0609a90488f63992b84127960836fecfb20d5138f0fb49a377913e7db6a8851fa1b4ab148e5c35fab4669974c4fa8cd9ae325418bc46f9ec36136d0ed82e52808144cfb2c7fc7fd146d648b82bc4dc99c85c2817259a2fd03dc60256fab350fb03041d027adce95d5c501416a7039e40bd2119e7fd848babc0a056fd20761c79da8dc28282606ecd62741660a75ae4c8a90b79562ba4bb563d43191f420821009af173bd0960353be415e81ff8d09a4d6130dc0eb738942982bcb4b6f7de5b4a29654a2905a806620557055d36b36992db988bdb18e764e5516b78359be952ffe450951fcd9ba9dd9c357bef3d9752ca0823f487aec5e93f340b69ce79dda99d1351fb63966919fcec872e758c0fe13f20d43f7236e42a54e35c08d5a57e6c9309055996fe5703da8552b5bf0ba16a7fe8a65dba5090daa922ede2df1fb2691722daa5b32157fda1205b637dc5dfc99bdace53b3994ce41cd7dd1a13cae7cd5182ba11d4d0d301bb004e6831c00f605fe822a094805fe9d23573916cb4d4f7de9bbf9cf1c0cc8c3d537fc1487f5dfc50f01e0cea63020bea232931df8c1b7458a52ece0d4d545a17e78622e48b4b544f34513de1635b9de47da128fbb21d8d4a53462c3818dd23d1e7bfde7b4f478fd44d928d963aea12730ccf2ebda5947fc442bbf0734090faeafbd1fb6f17e651df9712d02eafea2882064868c2a346c80e86c4bc876917de51dfbf3083fa3e02ed72d5f731f8cb019030a187143ce1082aba88796f8176e11beafb0d0c51df77a05d607d8fa694eae2dcf0842aaa8b7343126a47fffd74119a48c3c0087ea2f5e09b724ec941d0ac2e4e8f206af77c032aaa8bd38305b5a30f054501a3764f9da02b2ca91d7d24d09984da3db5a12942a81dfd2a9048020760e03083da3df581c38fdad16f02871b6a29c227ebe2f0a042f5ba383c7ee2d322db900be8328105907a5297092545eaacc12f2f6673f61215b180ba30c2117f9780ba5fe24dc65f64c4b4b1525f1384a8df3ac801c541a0b42e4e0e336c84caf0e921e8b6d32ea02875717a18a1f212aad5c5e9c144fdcafcfc93b5fa46f5e1f450a2f2e99949a314e861d0ee99ff4b0968976e547176c4a0bef79e5b6913bfa80805d5c5e9b1830aebe2f4b841dd1526cdd02273b00e76a8c3d3820709136785c3c269e1f0e0f4c412ec0105851541a81182843080601454715dd7755d39d0ec30120284269a2a8718080106353948c22730bc803f4819068ba668d5e86f272ed1b3c4cf91d39199e7249a082b8f31462bda0822dab4d50824267da1239a42974a29a5742a28b12427a7872cb2082208121db4d8898960a89070431634b882739ce6743a0991524a89e5d4556206a72a654ea591c66803246c7044d4636b82c5902758b093da224656c108124688f02d1daf48a134a51e68940863e5b3830a2e68be6892440d3b21460f44c022c61885d4084909b1117223442524e7fa2b66f12d0dbb6054db9c4ea7162ca3ea2ad18387515b36da297a600e3d3d50520521a27082121fa8c04ac273e28813503891c4091d27766014424451240a22a240228a234ed8a187c78f2328e10a1a7831851f2e546a600223c0e051ede801101a48c18ad549c9a00814440107374a7e5293050dd8c2668b1b1ef48848f899592e78180283267e3091648b98e8458d4aa210a5d069d34ab133a56042a568327a1c686a4ea7130f73552f50d17416e3145fd438038fc2098b1950c1022374e8820b26788022854a3aa22994d64005aa14c8e0891f213cc1075cd4e00696e20603a29a028b8e31c6cb8a2435c6b7b3f2da0a5290c5144c76f06188149668f263ca7124354852486c90dc2051c59ea2c64d3be18e1954a8714618e70ad5a6ad49d9d4d58dc718e364b1cd4d8b94522a51c1aa2487fa6a312548be0516f18af0c0538c31ead45c3aa94bc746e766a4a3fa528c3146558d17ac420756b103ab6002ab68f252094fdcf1002c766091821db4bc247a563ec4c4977ee5bf094198420845f0e1c18a081751f0e287964b2584102bbf5ffa95ff2cc618639452f861b12092c412a84001112178800214ac7833323e2b38d9e0679505123ea91e01acd8ad6856cb05a33c22158fb08947dcc42354f1889c18a59452caebbaaeeb0a22958041102090f080fa220a4bfc7842173f828097124a922051496832e4480eaa90628b15fb88318630b488c18f27865c018498e8841f805089c115bdc30a7e24c610e800460d80ccfcf8808b98c8a4c62e5840ec0ff79c4ea71fbcaa208aec0f93255c6104101eb4d00187219af0850d8410421f7cf0c1071f7c902d3008260fc916396946a4f82b75934223159c059f090010f802ab06ee700d418b20e840e49483174c50d284922756383899c90185c39015e8a0892534412257e0c39020501062a5da2146f22c8b6d4ea7930ebeacba2a243ccbf2b7c44d8c911990042ac4c4977ee59ff2a07f4073e520e5cb0d8c78424af9514a2999e8814cfcc0264eb08919d8040d84d845473485d2d4977ee5ff4bbff2bd450662d0041ec060a287881b2d7e7278495c30851d418a50e14514743842165d2411638cb1c6a64d7ba3cab95ea859954e607cc0c38e18f80c71438f98b8a4064bbae861c60ce60f502fd002872aac68b2d3e4072a78dc5b35855617d7cbcfc0f59284c3880cfef371bcbf3e03f3e54b120efff91bb3df7dc588c87fa1fd453ef618f6bb829166d855dd01e878ec4364bb3560d82a020ea33ee697d7b26cf71e923ace24f7de4b16487aeecfde3a600e6ea6428890215262e0ca59fff01fb49b49eabe64d57db9aafbfe8366445aac1e9e9c1bd6cda55da04b74f5f0e4dcb06eb8690b8d977c304629e7c4aeeda2f442b946978c0b8a193534b4c358294a33e329379de0eb7c47fbce7bb0f72331935777f77b0ff46f9301cd477f37f9ea0c64661ab518e326333f7eb6cc198b5aa0dfcda11639ae32f419c7c3087f8f8f0965a7da8ffd603d426c2a180b63895839b53fc4a9246953ffa0d78565188661f27763b6a94c44e5d7b813ed7cc689586ee2971c934233180762b9e904eae1d95424539555339592bea4d7bcae19d835e715e303f9352386c5c73699f8e3ba443bb53f13f168229e4dd3b419ed7793ff42633355fb415c91daafa9d8d4fe4de5c68f603a6d6a8cc5043aafe79451d4e6a5b90f7a6d91a4b2ea12b35ca924e9525f17908bb321572aac2eb5ca6a0610cbd2375059cd006282e6fcfe19406c8dc57ed06cfeee43ed3e140ff3d77d6b4c0c5c311809b47253bf0c14ed54562216e56a78ad4d10f79266dbb0ebb74de69af9f94124c44c0225a199a9fd1ab76eda38104fe844413fb5533e2809b4ead2680b8c85e9b4cbf5fd584bc4f297d0cf2a625de08a0991402b1928da6139b51b71eba63835e7649d9c08c48984e852ffc6896cdcd48f7137b5df53aada2f5af98f0d687504b4ea52284424db8dbf5c6362a063349228355a02c5581927d26953ffb6c944928805d2ae07610fc2f8413a5d6a299fb9d7027abde46c788fa8d5a516b1baa4b27a29da813a11abf6835aedd2a9ac6aaf928058ed22bf1fa4d32e9d0de7e957596d8de565e19f72e60763d5fe6cdb2668eb8c1a7e3a5e8ed6d112012bc89699f975f76c77dfdd7f50e3f8e026b3cb0b218cf16defbe949b0c9358f81f8d52e89c7393e1ed5d2995fe591885767799df11b4499d168a812bddb6c7bf6d32ccfcaf07ca3d7af741dfee4c098542a3fd652144293d3939093dd17bd1136d324c5aef6766e6663e01aaf23b4f67a349282294138a12026d5a865d53a2a0a0a0ec0aa01cacc35b003eb25d4ff98da39ca6eeef8351ce37a737cfdd2827b7f3c232ed699a376b6f2f6db14cdb400f04f266d072ddd3b6d5b4e516d453f7335028a42dd7f969b9ae5b75ff44f444226f16b1eafe4d4ea7baa64f4dd3c393c3ba611ba6e11a3efd702fcb9ff36c0ea95b55dd5fee767f0fc617a337476ef7f7208cf249e9cdf2c118a59cf3c21e86793326e77561589669dbdb366fdeb04cd3b60d040ad147a9375390c6a190c6946a7c2242792828de8c22d21645db94e53aba2a2adaca18bdd1c89b47271a73cca1642829291a73313618388ba131a7b2c1c075653c1932bc59c604cd65d94e46f8bc39c604292095ed4a1752d5fe2c6534a2549b9399b549df69a554fa6741663febee8690b4d4dd3d7bdadb7f9bcc9220fcdd7f3dd0fd853f2cfc571e311c41529742218cde23791d14b518f9e326f38ea04bea7ca705356752f963749eca1f5b9599a98c7f26fdc12839ae99e63b507edf2620eb7ef7503575bf4bf197adc1355679823f6728cd08f535a5544b85d9aaf67733536539b5dfa19037f2a64b1cac35b5933c2d162a67b5e3dcabd2b9ae912332f331d84b8e87919892acda7f71abda2f6bfa45deb8a95f55bbbf933637b51fe3423fb4a93f931ba706e3c320b7f51d416b787283a4c76d751f344365a8e6751033ef334dedb8bbbbbbbbeb1ff73d0352331f5dba644e6548eabc45dd39ae92a6a7f2fb0fea5433937a3436a8dabd54bf8e477ad554fe6cd39c2b8849971ad4531bc4630150cb4d998f2eb5fba0ddac012fb4db2feaf2c0b813b4896dd0b71777822ef1a9f68d2ef5e3a05a97f6a7631f37dcd43c9a4f5deae79e1775b2d92ef2fd3329e577dc8da3658139d859c97bcf5cd7a7ca9fc16fd80dbf7f67e82094dffd77d67ee72fb2d92ebbbf1ce33f0a21a9832f1f84a4eef6215bff2575bdbdfddb306ee2774e1504776f5dd6c1cd5164f1fd678ccb5137f17b746ef73d74d3fb47da7d1d2f0737afb25d79f2bbf7f66778da026a7dee2b58d07d2c09baaf7589a59c41f6477fb55b95cd6b5e537236ccd335cd721a7f30ca29e70fdb304fd734ebc128a354fdb00d4fd7c008bbd9adea876d781ee4ba55fdb0cdf3e75cb7aa9f0805cacd75ab8a50a0fcddcd29afc9730819893efc2c729c8c2fdd1449efbb489a5b9d63bc7560e5401a44bf221bdc7fe7e503fced4a9547bb74b7ba5bdd2d1a22f79bcc72af4bf0b719daf1e94697b45ef90d8fd3c6a8fad3d025f899733796a0feddf6d8d025f84ebad13af4e1c97723ec3b0aa224d6e95209fe0913fa75eb049d90ba11a7dc04df598793f40bc7c0e71c7fe9959b60af2afceb77833c68c7392a5150ffae57ad2abfeb16f32c0b7c4ef90be7b809fe45ea6688d45110a9a39c03ff72017ddf75abc27752b7ac6eedf0b48bf6f0bba75d9ab44bf6f0fba75db687efa776c11e7eb671d76bdcf571e3c5492a7ce7b452ed38678676279f93d2d1bf18f837a0137405926670d5d659901b1c1ea91aaa8bb3c3a6ae28db952e3b55ff8cf5ab514e0753776e4ba9eeaf9fdce40f82ed71fe71937fa3666646cbb33ca311a54c334fd505b4e39f2256f88272ab76570dd4a9ee3f8dea26abfa778cc266fc65a6b6677fe4777ce219a99a71d5b0bc07da49550d6259fc99bb64b02d78cdb208a1ddbc6aaaff642a49dde89904495da9763355fd3ba9aafe3c85ad517bc7be686bfa6117785be0f7672a2c87b12ef07d858e7f5a87ea8cf2ba75214eedb8888ec94ef01a922d032873ed53cd42d09fdf773cd49f7f6760d27b40d07dcc1dbf733426f0f8617d75b709f0e9b4db04565599b57679010542fbbbe5a9fcd912dabf05e1f1aa83c04dec2f7d8ae9537519482c3a165dc2a74181b70f0811f3eb9a4ef8bfd0d249247ff848bbe33aa0471d7686c15f0410a030c4c0b537197f9a1fa1ee3ee8b2f88410c223544a49dddddd9f373f6e21066dbb8176d3fb67bb74d7d5a95b994b5237862eadbb3b14ee3e6d781b7376b55d41bb064c29dfb26451452f1f4b641a8e2b41bb14159d32862eedf9cb4dc6490edf73e8eeeeee1ee3bcb22b5e317e97027f42924b9ff3c2b4ed816e979cd4e9b82e2c6ba99b69dad651185a83a04e47dd65c1322dc6887fb6c978bf733d72aed36a742ea6681a8f1dda28c688bfb6c97812db0602854254a37bc22713d4e978198c725ede9cade6aee245b62b9dab6a3308fc25feb62cafc005f6c12df485fd2e0bd5df4b83bf4c37b56f31300c0de367de03f54d02ef6950c09f9f4933bc2ed566b54bf6ace24d025bcd48ac6acdfe39291d8d3afedacd6ea9fdec835d6024b885fe46a276eca3ca671a7fe91b94aaa673d87bc5ab533b86a2599cd3a5235dea871cab96a59f91601758896da1bf975896fe8e93a820f0178fd9cfbcbd4144e6f396018e99a413e48891a44eb9a97f1302e5ef58554930aa368c2aec98dd607855041b4685a4651d0f5b42f9fbdd753c8f49b21afad4edaa629f2db7f5d261fa639fb196a2257fc171bd3ff60fe32f1c83c3880cd7fbe3903fbf6ba9241a1889c692685c20fefc0cc0f79f3915fb6c6e4ce6da9503eda66f18e018f9cb75cdd89b1d4463df06ae34b49741fef5db739d1c8d7d1c46b2c771bd7c1c4636920cefe7e3907fbd733496444323c970bd24d1589a916498ff1ec723d158d27709fb98f9980f4a237bf91b432323d1b8403e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3ed8810a985b5fd47eff793b3d53fb61f3e88f3b5d6a6eb973ea48ed87aa8e0e45edfe59e47ad7e5cdd704712ac6ed993c73d9d08f31906a43979a060c834952fbb5556f0d00e9843618b836a04b0d13aae1f59f8c5ab4c18092b2315e8c1830db93e21611b46b940c7f530309e067b79aa77bfac74f3e934aa552a9548a86969e12cfb7462c1847798da7dcc66f5c25237c0e030303030303b32b641a15a5c89a99a236a39b5795725a7ac5934aa552a9140d303030303030dd6a9e9e1f3ff94c84af616060606060604e442aa3c83c3d3f4d8342a15028148a5334f4f474aa6dfaa6559dd32bf852a9542a95621ab6677bb6677bb6474586b6020db8ba59a95639abd58ab5e256abd56ab5b8c5a9542ad5f3d3a79e699a463929954aa552a9d40c1a00d05e0c9f5028140a854271cb4dfd93d2d1e8bf546ae19be5555df646a15028148ab9c52d6e718b5bdce256ed5f000440f398969e12cfb736a75793d2d1e8bf546a699879a233239a47956a7845475f42cd39834241d443394a009a13413ba6572dbfbbcbe3db2b10a99b1ba99b1aa9a319a9a318a91b5da46e3449dd771f495de991ba963a5fe3b4a5a17434fa2f957ca6f6f4179f7153ff557d66597a66b4f5978dd9cfe6b5b1067890ed4ae62f57cc7ed66eca01e5efa6af1887fda973c8902149b8d7b9bbfbc5f339c6446a1def7b89dff98fdcc4bc2c0b1f7cefbdf720e4baaffb04caff767777df93da6ebb32fbbb9813bedddd9d4ed9d7e40cd3301ac8ecef8876695f0773f01e3f52bfbbbb3b766120df24805527edb22c0d15c10896c1b904ce257389b62dd960b604664bb225a0d05c428e1c391ca58a2299f6ae9d77ed5c3b1b6807f4b49da7ed683b21fa784c6002132c61dd33cdfdb3fa48f36659fa7d080a78dc22d3deb5f3ae9d6b6703ed809eb6f3b41d6de7fddc1f509d375dca62d70449372a7c87d79585a808e541cfd902fabbb173727272e22e7ad0b780fe6eec88509ed0020505052525252525c53dc6835e811d16463ba31831e0c7d864a0bbab3ce815d881fe6eeca8bc7ffb3a45886c573aada6f667bbdbfe6094736b6075b5a8cc33bcb104b2eaa479e336c0a076d94043cf096efc308f8d4f7ce26c80a04bfd3c1bcb6081550736c0fa80075a2317965be8664e5d36ed2fbfcc1b36edfcfde9037e792b7ec1aa04ba3e9d65d1a2d7041f2b01766d14f03a49bc2cb0af4de6fda021ad7b6ff556ab25deea0257cc8b4ce84bd2a57eab0a74a957316c0ea5949ebc9bc8846211c0b61756b5353c7e4727126d9a3743a00ee3a6fe25d2e2a6fe2c5a44229108a557fe13502aa1a0a0a0a4700aed523f0ba3514a4afc9498b2c93c8fa1f977afce9b7943654240dfe326125d9aaadaf38603338ba1615706da65d16aea0ee0794a8d0b198d09bcba5b77e3954ed4aafdd9abafd111c387d557efa67632256bfcbdf73080797d1c91ec9deb18636429a5646e9d9bf3332ee331e7c4fe856666767fef9c8d877a5b043e98f16853bff3d4ecbaaeabb32ccbe0b66d0b04cad5cc3649ca4e2727d02651341494f7289bccfb938d6368ee83c698312ecc56bafb4339843c40cec643495497445714115d715db25f74c5d6d829519324516e6a22f39dfb918a76209e0ec4237f60de2449a2646893db18e66285d90a9a3741dfafa03187d5c711c1de6d6ae73cce72537fc6f5cb176d3292a706ae5d76ca68f8aaf6572665a76521d253df77a095bf60aaece42b8c949ddca412d96c8d05bddd1a99c6dc4543636e56c9b1a03127ab7c2ea594f182a307814020f9834b89ea92af24ca57bef2ec443b393971a77eb2bd9494941414193264c850993163fe8cc93f8347975aca91107eb2996c854d46a296a57f54040afa69974ea26af3306997d8d3a45d248a9fef756153c66c03895a750790a3e323002beb8f919423e599c4cbcccbbe3e7dfa744fa9eebfdb305c2f0219461861d46b7732333369ca5fce8659e79cedb21e9580a804cc992b5ad63944330200080000b317002028140a0985699a8471d2f914000e6280425a4e3a1107e4b13808c63806622086011884010000400c218651244de249005df4462842aece8f909efbed0fb1f4fa504fc8a1fb11d274bf83f4e00fa0ee18a309b9ba1f216df1070ef78468ba5cc28f989e23f6c628422ee10fd66fc4355dab5d6cec466de64becbcbd566ef60d2cacbc171bd37af546ec39ad9e5a5267a95c102bf7dab2b8f4210bc7c227e4b64cd2477724c87c3503b49c46e4c93724a0e15b865dd83cf11dfc1df0ae5b8b90d73da806a3f2d861111cf57080fec9b56f921feb77219b736266f3ac18dd119273fe5b6268d008fc7ede7210bd39729967ffcb27160035890416f6a27fcb3975874b6d5962b8e89cc5cbebc89dfecdf8620aac8d0be7c7840cee072a154930dcdf39d72f0b27d3ce8813b0d8f53678711864b0989b0caa14f6641c934194651cea5292190d689d53ef076abdd32b078699023a4b66db727ab750876121bdd14d4da928368d83011402aee085c32dd710737c3b337ea5bfc23de1fe27e8cca4f16ccdd2eca7237f3bc22b6d486a330ef128eed482790bfb2ccd1d81cbd3483514339a4d814c2cea4664d56cf1826543924d8bd36a336e9e4691ad232c2878903acffcbbe073409d84b3816112314a987ee0219b5dc56c14ef9dff1b991fefa89cad44efb90e3fed858aa70ef908e2358c1d07583fa30ba8e65ea315024b474c78878dff33c5bb07000e02bc9d007156808516b0660c6833efde80991002c8318122ca02f02503ce810342f88095ef4b3cd278f7ea1218753201737cbda33c2976d13a990e1441289cf40b58d1b8b9259703096d4caa190b799708415be15292a753dc68c05fd998a7bec78b080bd31013564bcdb6c2502a3c43d80426ee48008467ff02add2e748a5de830ee0b522500e9c5ac1c8505b6c5ba4787a361e2c02555b2d2f14709b9f0c49c9ed568d0deef6a05d82bbc994358e6329cc2b262c755103b80d75442bdc5c5489e59d0b90948e61809a3161b53b02d72f04b15d10d27e1169a415fbf3455b03e38adfd8bb2a46be4ed7c774c57b2e5c6132792da2a1290929ae75faedcb44186ff8289518e53043ae566b914591036d92d1743a4442b566b5fe39439b33556f6fbbddac14956bc973af1b2e26b0f368311b8fcfd8ac57a71cb30fb38e2a24ae676c989159123dc363cf4fd5ba34c9b51a036dc4e0ba4db280137a8b4c1a19489ec6096dbabd46ab004bacdbcca21fc832397e939735cf9b210dd3de81dbc37ce5aa5cf11f708deb1a0fd7ca756bfee65f0d23d636e767d80e0d43095165c968ed34ad655c30042344f549b717828ec2dc9c55fbb2ed7e5d95d295e77f880512eccc83916be5676ead5724206f642bfeb494d7c4829d310cb398100f91bc369fd5e242d9ea467e182157895661bbf14bd06ec5f51bf50765519a49e30452e40095675b2c2f517f654ba348e70434820d3e3e1433cbe1a51a22ad37415ccff12681a78f553e9a1c8aec0028fdbef3ae3bdedd3b225809f10961b35758bd2eb970ece8a3b8ac7ce58d05131decd0458f9825b2da895a2f55c59159ea6d76ac78bd718b39c90af4fb08028523c9929fe5e23f2254c6fbe6421c2d4b777be011cac5501b40bb69fea646bd410c28f093518faa57031e5a9d8f176fa0144d64aa2a48e2c1f8b328500bfde5817ce53523ac1eecf715f24f6b8e6757da75f69246e5958f9ba25a4ef65047802506e4515150ef6913a6431ca905b2a4440ad9671a4b363c53774843d47f4dfd65291b74c60e2f8200154a72c3c30f349047f51250436fa380e7b5c5231a6369c205065c8fe1cd48c4c2f1bf755a330ab9da05532e9fa493aad68086441b04be2c3306000c9b16c57ef372b33883a04bb8673b47aa96e2a6d7b5aeb21fc47b4f56f48592534cedec5a2dc155a0b2e4b746a536ec471b83231d4f887aef48e018d3d940520992091b44a1202d521c2cb51a8ba97d9caf350568ce64699ba48901c84bd801e66dbafbac0bf409c5d94492d76c9a6454ddc33584bace8eea52176263196f918f5d183157bc8a7de44851882d9cf9a1e7ab6e6dc9af8d57ea53e24425fa9c80f60da3dbe1f75d2dc2f37bc632b37e8dc472f79b279815e8ba6952275ed4e03caa240760d37024d2f70740407f04b0ba339c6ba74eda76cc98867acabf403f26472c7892fc55c4f611ac7154d148725142b070bfe7096caee8b3271764c2af2f994ea4dd366874dbae19dd6cdc7bea7fb87d298d8862c237704a7361f266909097aee19483b6edf5f71a7fb1e7cfa460bbd396f46d61747de77f9e83b910451dcd5f5387c233bd089195807241af199f2d677a30940dc10b7a99856b8930bec192de799434bce2f5d2aee1d818aec60fa4a81fca99a374f28bdfd0a9599b2d78e736372cc29734aafac491b7b1dc32011f6d5fc63c34a968d47e661b1e5ea1a9035890c5729a7cf4b3a7637831a71e713a0456f749ba15d90b616ec8336893b705e8f29b8a594b4244e64b023ee28dba39c76a5b37a64af38d2cd11df56c8f9eae9679ce2705d63f446635d65cb0b83f15b0a5129f68428f606d904600ea6c08007995a1482286f24d7750e04b2ca09bef9e70deede9ff5c72ab38078f5a6eb81104a3045e033bfc6fd44afbae986e52a8a7fb1d4bdd2e3fb5f1a546388a0f56a6865b2f8d376984cb6aeb765205f63ae3a6e903918e6faa74fb5d996eaea8a5fb3faaaa2d7b6ef16a4a6bdf28b5b2ebadf1a6c6dbd71ace8dc5244da5dc0c33458608d6e235157db34f944aca5983aea9ca0a9dfa4501084359d63a3b66ad0d394fff8d9a0f679428e488611d7cd3118d81e6302fba33b9712a80e281fbd17d02c33091d831b3f0fd75cd0b08d4302e0d0262844102f7a703edd51857b492d4fb05519a24e7e39c6867527d7d22e5f2dbec0b0ec77acaca32d79887d9965c4d38ac1fadd76e6ebb54bb9879057a83cb4941ce05b79081170739ffd8a5f61eb945d0dba689fb9811c96eb0f1f77aacdf4f7eff7d612e77696f8604ab06578f4374ce1d14b53b78d80bdb77684b3b8cf068e628029670f9c69014b393cb41520e1f6bf24ce5fd2b8ac29cdce12242dc3b5baa2ed1884adfe275e7ae5102f21f4e0cb422b56e46277621d7c914309d8a79500a5406352d36a435731232b6b6e1492c7ba61164a7c9bc7a7a6863a4984352c432dfaa1ad9c9c4ed3ab393a73bee761d9fe335818c5875724cd2f9b52b09bf3fc7d4ebf50f62eacaa818277b49df084ada2a56f61a4d07ad0945b9e2b5dce0432b5cf10e033ffdd53c9a49cbbce5ed26f1ed0ac7b6f2d4f0325dbefecb70a1eb5bf453864ee3586826425a773506df078ae3738b3fe234a0e42d82c1feb4f4e19729058f3ee1663b4326419b48d9de69943cf5c533ac8384b7d356d7e6a52d4ad2ed7a4f75c970d7193661c7d2095806541e3eb915e18a532d5b0d6a822a9b87812bde4735e61f9c21fec94b7b60bbb09e8ba72bfe80aa1eb8a7101ec040235390bd4e11687561e100748f415f0c562df3960710634e0483190c2ef8f056f7fe1d4b009828ca74f502bbe8bbf2a3ea1bdbc8ea207d0c5477b906960c8df6aa3b98958cdc8e9c85574ca1d5c40b7a205f7d94e0835cd261ba1ae0575145067b8e8afa894fa21428d18c9e1ea8a3f7c72c13180b6ab9b24c40fe7625ef263343be4405a5e7ce90583b8f12e64fa775dd376e53b7b2736512735349d3e7f7967704bbcae9615f5aa593b349c15e1d94ad952940567a56de22cbc49105e4010c9a2b84811a71724075e1ac7cd8a6fd57d785c7365dc422ec4c376cc0342f55861a859772cd6c4b7e07e0a5016b4c9958582bf75fb255a5cabcec106a950fbea668853eb945d92737a9dfdaa6d1bd670cd513f5729ba3eb9a0e3e7938ce32e6ad569da9cba9b76ad0a890c56d72b7b8dde5184e02a11c996cd57146b929a7d0d31e00a3207e089f4db47218dc5886c37fb783786b34bca18b37dc8082b5e1339aa7b29252cb2097cc2d11fbca540f0de294d8ad90c37f24d3e4cc43b50c5e835eacdfed7824f294f329236d93282b874df8b187719ebad82c9552183d1c0cd38131940df13effaee7274a0c0e96f1d49454da972155e2d42cb86c7065cc60bfc7977faffc5acc2971ff54f347ebfabcdb37b534d139ac6acd8b3b62c182cfb260a11ecf3c33260c466764f89ba5a072d67ba6bb4bd370ba1f54478bd1210da40168b5aef4255877d05afe3f14aa5178418639160dde0f6ede987da42ddbb3dfbff2155e2cd5ecb12e52aa80948f1c56731a2a7937ee4b9655d6a13885309f37b63ba2da6ee8e0ba0181dfeec126b0d14ec1f5126604022fc37cc32979727714715c877662932c303fe255a683ed72aa49aa4e6ae1605cf281aad869b6efbc655319994d6f94297a43f214943a03d577fbdb9351609146db5decb192fc94d2145f0955fbd0c4686749324eeb369b5dd777d6a87c0fbcb6441255aacd5e7de109b8e71c74fa6d4d211ed2ee4828622d9c15d714f2f6f97912244c735793924d8b8940a83852f3c6ff508d8d37130ef142181059361ad5ad692b407fe16bf5f09425c0dce49b67cd31f0d5dcb1120d5441f1af177ca38a63324201b85923da33989f24f64957426212b07039b46219cfc1d71558c7fa5f9812d439389bf5b09361441bbc57cda6180add8fbb2d1c14163c2b7b76644fe1d5b2337dbd35f71fa687d73f2a9a68aa588d6acced6392ce36050efe81b4b336b33be39e33775e2df9972d92dc71fa9019238fb5a1b59c63c457e603326a442463830cb9d66bdc5b07cda8283c78a700704d700af8d15e8a16815c26c61b25a548030de6496a991ec42daca2e3ce16816dc366ccd93ba076a7858ee96de87b894be40bfc6a7754367f6ca050333b282bb0b79465ff55be553649694e0d85b3f251b51d61122e7a41f88c4da72964c3fa845eaf7a59e5fff5116c51b45813dd426e536bdc057190592109fb2c09c4ad138a7aba4cb0f1bd8ee8e15d4378d77b0ba2354ec854e1262b87118569b9d74f7d08b3187ab945f29dad6664efacb34f81caa7444b6571e6d2c2450dcb20534b740ab3f03aa28cc26ac9d987e59ffa7a35830156aaf28d99a9d382c1924bcb99085450b870b60d0e1279faaed05e4b4c69235ea18caca041ed2bb452bab466b71f1aceae952ff152554b47f323cfbb4a8a110f6a16d6722094782813dafa55cc340163c55e8979fc55e54b8f302b2669bcd2458fc12eb6b2682a1eda29652872a4bf3365b4fd3e714d1f74b31ae7b06d7295aab31f6d56179d6b44765601646b04066f15ad3ec367569bb5ac094b332b1f821516076603bc7d63a5b1107b273fbcb10aaa12a54575aedd0760bb474e5110bbc2646dbc15043a19148c15843fadc2bf98d729149dc12ecb409184145adbaf2a391b3511877ca72200745ed3d8ff89adcba96260301821621d04521f1e70c7e267c73c2df6d1a2cd80d28a3ff52e9f2dd62c7651205676f6cd1a07af097ec75d51c2d291431bc2a18923c1884213f6df39a8aadbb25cc941900a6a903422f7e1a4006db69eb9f6ada45f21a76df7de2a4a1685f1c9d5d32e67afe86d61d984abc5d76a9a47ce209a8b1a1882c63d4f5811dc5da22a37c69d4e58f9196afa3d33df1ecac8f650ee27a3a8c781ee5ea74847bf6a9f5d95fe48557655a4c94570a2a439d9a00749d66c3bb9d6424b174aae0ec941672000bda74278bfc7ba4d70aa285738d715c9e2830826d349976c404dee6372840535f093a01c2acc313913ea90144304b3998680fa10d677a40e26aeb6a431750ccc119b9551ae5bc8658c081810fd6212ebaccb54039ec9aea325cf7db6dc709016302c0cb92d25f464072dc5e4859d48586da9ced27b10b61239576adb0153de568d7605ea45030ca614114351799467eba1226c1e35336ac54fe451db0102073eed10480573912d63c2027006894ba837d5ed0867e2925d1a03bb0c72cc1e60abbb2fa77680812b5978a2e4c6a7b716688921ff1ed527dad6ef5e53765cc794f40a98a22f081ad33c62dd32f98bb4cdc862e68c1fe5cecd98e72aeab5569a3c1221e424a0b519f1303552094eb43cd6214981f4487b45e4c6239a2977d4158ff10a682de2fe7d224002fa4122c60ebaf67050efe569eeac1a9ffd632406ce505d40da51b6cfd9c8b602dc97c49639a050b88488563fe9dc04d5a685685da0ecedf79d2245108a5d198f7892751309c7db1b1c3d85d36454ac22a271a91b5654562f12f6e7281a8bea20690f71baa0a281ac57c2160ee94019cd05a6a4766ad51594cff897581a21549f7e9686a92d4e51dba8f252f457062d3283e38c4c7f0dc0e33947398a690382f61a9afdf830056086b195f02a765c44b6c2f2f3a6ad2c4d97bf64263f01bc8e9b855b7ba08935492123be33afc870e110b5e146dcc520e6b5d486f773bcf134be65e3f5513246501a846f127ead251d51594b20401d77b1c65294ae32368ba2df7daf90715d0332572d897f5d778a42fdbbfad1781f80122d2a1e2563f40025a4232bf1f24044e676254eb9470b7d9f0189281aa78fd4defac09c79f12a3ef67145973f3d0a600396c618495f8c0c1b618c578aef94bd48fc2e95cc1719e2c298b550b07d8e0cbe5ed94996c91340448b75571a023193a954ed1adfb550845bbf0c87ba9032b2ac1389f3f66893c80989bd4966e3b66419ce2e45a1070acaec9349bc27a516f887638be7c655573a290b063473c544157480cab56b02f2ec97d978c14569fcddcdc7703f25363c1a8075396397eb9d52b2dff4a066068c3825e490a2f294e555e962372b374940a81e0daddb9cb0233dac0e3bd99a9b253216f7403b93a6d86efcc50c22219977e9929e0542eebe6ec51290d610a06ebe95ac5b45e9d9c8ce7f9c23b207153d953df12db6d9dc3599c4891231d4742370d422b8291a58bacc3be2029031727ff9462bf4030d970c3d3e8bd6a8896f0d85bfd388e143b0519482fe5525714f66446fbcc7b06663ebb571d2e3f7c9a998f8cb3dd478051c8bb31a64328553199064f4f2a431eb22a8e6f1f4cbceda099c76323eb6d2dc614facd8e6b449a17ab8a01d0d9722314de2783ff36da657181b8d2c7fce21fe8ee52b36651bfc952de8b9d80dc00c8f644ef676e7e810bcd7a235c1d63628b6726b66a76ffbb881ec25bc684ba638412759dccfd251e2c3a8845c31c6e7714bb4bd7ebe4de44c00b2a800163d54eb421218826be7b4ef0200de185d862d08cbd8d7e8e772ed727217495147da1c7d8c1bf834465ddeac966e98a5ebca88f57c9c0c25646810f76976843293c46a02eaa32c5bae1c952cab50fb3f688164d5b31b090d009f176718e7f89e79193fcc808b504aa42a62511704c2a4f3dfb8018450cd600dd01fd971b9c1ca5d4d5e6790098006711649045580b77159f3148fc2964fde0cf663f081a54d8299e013792040da9a5f1adc9d4059329208751c1aac64acce32f9bee3f4e13270331bd53c3e4f72f369e1687634d7440955993e2fe937821690e71c4c60d34b8ef93623e530802e6eba4fc22935b7819c3b71794dc7147d4c44c469adb4a49ac16e0fbac6410d7c36dbf9ae9564f8001e3def0d64bccfee54f63f4dabe5b26b154879216c846ef2c7e122a001ed87c068ab39c035dc35b2cb151e6104acdda2dafc5c856725ab7391f178604ed6fbb1e5bae24af894ca22940aaa56ad29ba33f0a67f2c783a87db5b1ee9c89aca3d6b68510dceb9a866158e397fdad1610315066d44d6d4316f9b54c0fbe339ff13654de9271d75851627b2102c447d378d77fbca84e8303e24e3825a49bb3772ae834915aef7f6f7067f48fc69dc1dbb1efc6509023814cdea2d00d6945ed0f26ed5b35c005a4613af927a5dbd00f0a085be0b0a46eb7407ecdd57daaf31f95ddf4de340f84d3b306bfa905555a35e540180ee8725d116f9bf8f85879bd3ae4889086c1aea7c892229d7082370a4f80ce9c5d61106850873e44db4793ac5a3861a333e101e15220ad086192f0d1676ad86ab50abf2524035a674a146234cd9788d0d0361aed9440df7adc57b0b954c741b9681867e3ac6f56d937847f682dbfec66a82aa7d69306ae5769c99b7efc541a98e4879a8b595fd58c65a14b6a6287c6b02c0227a000e02788ee248e5c57180717e8a08ad9aee14493572e48e8e992b3553e11b1c0015533716cb44a6dbebc9b4f076ee4c219f16628b2a11e83e436e0d498d1f57f0266a4e818bc23266d0d5a0ceda96ebb615e253f87409e68a82c11825c039d0c52267acfe222373a25780e37bf547da672404da106dbd074a9819997c3887cecdae70abc5f6121e205a6656e510149d18d77cb0f6edb90984909e5808e5d0cae5862b32af2a91b2db30363fd25f367ad4105b188cecc7601adb34da1d5df9a0d9c090f44ba74e910c4e3f02ea9d3fb90f8f0e04440d64dc7f6323716c7a94f7a403484838073783a05a40a8b311a2ca844ed51f2f7cc7c903ad1143cc93381b24b4358866081acb1026cd6ae992a532a899a3591c7bb96546e18c4d201cb6cb33dd235cae3aa810e51649e26915c8c50b1403622b41a257c6a0c1202aa5002ba1961097c95d0c92b4dc91bfe1fa5b6305b72ff8cb45c1505a100fe5ee29585303df67803ff6d0d3bfcd2a8ce9fdc5726ce8b584242b639fc1d6a4aa69394a4426b34d55d0cf431670b2eb3b58dc37d528b478459ff9c6c944ab9611ba71d0967f89040ffe7d5314578fad6c149507468d4fd91af6d1da0a469b76b9e84f204e52d11a06405b2934ce4414671cdd96790dcc38b23002ae7d54197f22352c20875ae9eb28319e6b18afe9b8636d9dc38b33b77af96117672cf719c0f77ad5c3a82c7e62b078e2b89c7b500cd238a75194555eab0c949437068c2a1eb8b9d4c0a0e232361519dae686a29a074065805d0907727c71cd84a3ebd4d310521cbaf758976229b1794551adc055c008503cdcde1327bbe97954920bc99e4baf4770e28902a189576e0426fe4359f8294b9c2cedc6f69f50d418c3c3628a782a8fc0314c12fe29aec80d037a5f26c046470927148a7c766d3f0aca5bd0a19f8d289839062ffeeb9ab1ac051f6195aec2d72a9f2a059502c7d388424efbcd7aa35b723d402df2b810cd416a188960df546056ae1d5638bb8ad009ff64c28d96cc477315cf2d4a47ef103e1ee06a552fda89805ce207924e78acc3aef728d73ed244e9f75d90790d884f4060b4c4cb3446a1a00cbe363b140864f5177e344922ff2ed747dc860f4192f23dd19fc9ebb9669904ac9c605b4e6cb6c73705da8d79e5ea38b5d5e5d7bc5ee03e25247493c599bc6f6e30b717bd8806f05f7ef642d327323870b332a25aa893eaa0fb78ec14aff4829d3e6fa9a2a43161c10a535b591ec661182f6be7a0498857ebe1645114e01b5b719321a1dc138c8ebf0e92f68036cb4a94a12bacfd7497657821a951465dbc1ea27031732aa6f18835505ffff4ae5a524f46b192cb573a364bfff37284afb9c99fe96d9e1be981ff97aa4e56c98319e394bf573ccbe42b457f36fa5298a8d93e3f8001201984603c8e8263ccea86d5d81775ea47b72d27bbe291142caec437f3120e83781048a0670dabb8ad03e37d4d3d3469651083a97bbbba23ffb72f01bb0e3795efda19205e2f851e094b95aa24da3f0e43a90341d9c331b14a969162fe6b82bc984d6b1e47eef80bf45ed48bb32b878ad35ea73d30285078a948c4d61ccbb12998bb86b496776c45b9752d4e1a99879e37ccce9d658a90f378d1fb693629f8fdcc13a5844e98cfd24df96986784d50c48a67a2e6308ea7274f2d088a59c08bbf7a182f48be4ba315555cf1774a5b15fd01e3a0b7973466dce7be1fea0096f9071f7922dfdc0ae90fe2f8609a29594cbb5da283a585c4b529812ed9f5241f88f2654c262da284b1d444d12484c0d1de0185129736e71405362c9896021ec741a7192cb451d54b53a3a2a5e29a04773ae1f8c22791bec05452c40103eb0d84465cb7f71eaef27129d68dfb32a33326f9cb2b9c22a69f65ed226e43999a58497182cbdf85f05d098f54205fdc49772040e9335882a9aba975df0583d5b02e66b2334ab97ba70cd2d53af3403faf220a2bfa67e7556d9ad98afc5f85ce94c7275e99217df959b27a2ca4cf0408b21354f46801e5d3786834f4704aa732bef030ab6179adc7d1bd5aa9f5374fd30e0c5f2b67b730dccd40d1fadd981c8da61770e38150df27f90be0010bcdac7c40a1e87a8ec676f528558cd7cfcc23d58027eed403683471578ccc71cc4ca3a98d0b8b7d3480c77e05e709f60d420d9c7a92fa77c59059c4524fc900dbda89458949cef56b188aa308bc9eeaedec239934631415397f584c2a180a661cbb212777cad5a8161c15c2498f45b2690b317c77706bb0f0e986a16d35058a3969de9242d5f97c0c66cf4c22f6eff1c25ea8108a4c04f346fe6d3566dea5fe8598b8a3263565d7aa4cbd0b2299a6b64b00e5091f2c38e74d5ebeacee6846b4ff5e6bbbe7b48329ee008ffcb576b6f13652351bc28b032e358112cbc59fa72a2c51c5c2d1c69dfcc140401806fc92db7e4402a8c5300bf6d71767ab41d9a84b7589103e1380aa208400325a46de4bf5a954118a587ab5b670e15e8c719e33ce6ff9056ebc25ed040d9680df56549a82f70a2f7cf73956ee25a99791088cbcbcb2e3ffdfbf8ded12b3e271f7cad1a6c12812df1f6b91228b46a2d9b2e37a28f3e3bfeff847403fc7fc9bbaff30b286a5b469c168557b6db436fb6b6fc351da6d359f1bbdc5fcb435c3e8edae1ad5c6de739f9666586ddbedf96bfd51ebfed79ecb8faecf7f7cab6a7e139b2009a2496af22e41b47bf654345cc50378ca2fdcf14cc06453c8a6920e847f3207d70753cd7f5b5fd3eda53206f16e5ba241a415cf28e0e0f87be667b7543f16d5de091c2a8716da29e61aca5321a29e269dd08c612af5fa9165ebf66b231bb3108f18d98008b6ac03866b793d3fb246587faacb1d5493595e39651cc46beeb752b0517a25f44fd983f929b65c38c07df6ff1dfb75792bd7c3f2a3585e77b3bffcb9935f9e1396a2b5b6ad4c2319cb9bf91106bc7a50aa2d4a6a0759db8041259c3063904eebccdc468cd42f88217ccddfa9e906a695837a63fef03c7f02cd698ca545efdbf913684e632c2d7adfce9f40731a6369d1fbf6c24d7ebbe517cf8846df39a27c34a6fbae6640218f8f5522c82b394a1ac072a168e73127871083f3fc789a3a5a1178827d4b70a15bb5a7c42d37fdf89871d0af59129b20b2ba79ddd7a1baa00681e3ea22b14ec6b205523dbec9ed96490f10cf19bc7dc2f82b3eccaf0f0018d8ef21163f34a36bf9e7b8811a9d5a8a25f1a1172f5d72f48510428821fd2b7fb2b8ca25390e82e4543adaa948d09c92bbae38042461ea69ae770629f0c8fad83754569e4a903e99a4fe6044fefe2daf748c18b2c4fa7ee24c64a7ddb182a7f8294ac44571a56f8e46890e0b174a787f906db94bc83acd6d895d085fa5a33135908fe64f29609cc450c79ee7f2b088f375fc730ffe50898802c81a50a8e6873fc739ff0bd6b1552fdaf36db46e20701451d89e199f9229001dd71217253d08aa8d0a50492e78a47c9be5734f19b2a4c43c335046684cf5015c402c3ba134bb25f8989744d3ca3d9d71f1ffb4c89729870490098796245524a524e9e2be31a6ba315a5832b95dc09eefc5dd7d142c5868b019ec8d2d00da9fa4d87a4ba034d4f978c664437fc8323de51710b3385c6cfa3d42a815f432d2f13643df6b7c5d3292df0901761b11bb4db08aa931fb312b7dfd85efaeb426a8f7027e1693dcaaafaa1772d22555a4115d589ca4a6bf3897d7d769e2a68b27bbbb1dda33f86d4ee8ffa87c4be2cb50737a8a4065bc73ad7ba537398222d981dc63d916ac372708443c4228e3b8da76bc0c6b11f895de5dae74cb1ed9373dd51696eb31186b4a8f4ceaa9c2a5f7482941d6a44bf997ce27e27049a5063a768460235e62424ce0d306cb58877eba253743dc8598b5b3ad4ebdc78cd1ba89ea01a8f5fde31a0431047cdd3476132c07ee7016a7f76b136e03f9a099b7b9c7fbda54a7aca23726957bcef20f51a56647097fd19a7295ddc7332611d04217959116a1ca192b238d20f639ba97d8f948fcc9d152689ca56307084daead0e57d42372e59b34f5faf7ed7b840375155e8f8554736799dff5e8358966ebf251892290a7054baaf3e6f296ab9c1f771d2559e970b7af8dfa5fa1451b922201a92f10f4384b50a6b6ea0476252de0ffd112d25a53cb71966a43348cf77011e0f78aca27d1831f431753abdfa15ab56bf5f872bfdd1ed80ceb1cbb57fcafdd2a938ab5078a45a175cee5279d292dfc812e274910ec8a81b89cc500d1a12f8d11ec86f51ca0aea4a1b5da5edd1759a7576896c82dd4899ab1a6aa9e94a207f353617fff9f68b9d4e4af3ddc4f8f0070207b417818394e5e63565f83ba2ccfa14270072ae5aafc81d63889309cdf00f3c5e7ffe333e05082364255080ab4598087e49dd305b511dfdccdb8585cdbf2987e0c2ec2b5422b7c292e769e6fa48f9fe4fe5d38330c9846ccc45a5794b0e7a6568940c4e189d44b3eaef5abed55eebea7908aafd109aa57be4c8ca74b6e5613bc1a0de88d12de10d183948715505a36fd5bf33d7c9622b4d903e6ef855017e65b9cf0786becd62f35572f6c3e4c87d8b82cd92aad1f5f096e957c241c11562f0d3065f732b307a361baa50316e6546157411fd66716393fd6f08522e0a8cf3a272de4d841e32e28d7e4886ed7a0e53a1e24e4ce92a5448038bedeee131237069cb7e904caa7f33c4f02350635c99f1125399ead94d5e41986deb5838997216c95e952357890ad693e0b3f9bd8ad18ac4f3ffbdc063e9ba3e9e4ecb645893641b450d28933d8b56b539d1583cfac31b1c18d88429fc0d35f5dc7aeaf44ca74eeb823c955ae0b2a8ab2aaf4776b6588279dc128142941df5b00d82b1314538a9a56914a09fbafccba19d6d0bb3eafb1c63b0c1b3f83b34a4d5e3fb954eed2f7d0aae5a1720154df1e18bedda354e1ffe03a51ad915d7d4e94f51fb38a0f5c3bea156eb2ca98da6c44e2d80f18c8fdc264f4d42163e584cf24119c6311048fe3d0322dc81ec388745889aceddd200df8cc5f080938e86dfd2d107ca47ada1f8505278cc3975f7491bb0da87ef825e85c2a866baa05bbc7f14e5f996d40454b9d90f7c6a105e314e1c594869d143535a5c1143613f7141efc7209b863a9cfdf1ed8122212cf05a04ee0bacb10edd068be07ce96a9c61a77547c29e4b969055468a774a030de341c203350c0ecaec2baea3fdaf90d70a0d9de37ea4f22a6e165b23e84683f2088aa84c23f20156d59a477b29dc2f76955212654e8d011e6aa7bec5fb64cd2b620d59e5b0a7161af430699bd1c9df7b898a3cea193a9a38f314b962bff984ced3f62ce222a8d637b6fdf716949bc1e09353cf13bc07ac09f0cd45bda095d13f702834d34e1375509869fccf5e5681302ae2261adbdc63daa3fb60177e38a270a5f61de9e532e492560298afd4a52d4d41ec69bb277d390a4eabf1ef01c3899121b03191d5fedcc245547586d55f66b982a036b93f86fdcdaaa0f97791509f027f177591cb76547b10eb01d79d4e51b0f9ed672e0320529121e8884c5250dc775ade8e4741f37c055ae894a75dd0e541298b99f015c122f5df057a07fd86dbffd19d60383f2ba4c33a83829370f48a4f060b351a0d9fadec6fcee914ea4b538f936799452a2ee931cdb8103bd49904c363b65a6df887bbf3207fdd98f88ccbdb9dbef8aae0dac7fb019edfa3424ab23eb910c241a23ba02f1e653093c50568f425c49e98604b4c3870022f096e8bb284aa685a64f03cf10aeb383edede1ad43b39cb44ec588b274754726380c98cfd09ec578733800e90dc7927c7d4f3db8be933480694e3d0a14dea55920d30951b0542619fda6815dfb41fa53708aa279b83aa2bc4b71630c56d2ff6d390979dcbd6035b53ae24cecc4a4576ba46db845c545ad83fadf23af9909b5a6ba40b94e70588332e260d31bbb164eb82785101f8051019d57a1c693a4b41c5956460ea058c6c60575a0a3fb1208ac3d3d9fd59e686c0c15225caf86db093cf2a8b3212a77653f73d5f695a612b122a787901f859d560d61bf13e75acb3bfbd117ebca6a0a5dfcff0f58b6c2f2d8076b8498332f32fea8933ad4be260f8d477f97f7a1c6bc0129861176338e0716c1062de4d1b22b0fd2c4dd3fedddd6557b83c9911ddf708923d43ac55a46497d451821deca65027d02b4ca41dc466a73072d35e0cc424f88a4512bbc011dcfa64e98c02bd681be8df1be70eaa08d2393c8c4794b95dc63bd68c0ed8282e7909299e191012dae2bfd9a912ca723c7da3bf436122596626a9a07fd57b2205a16b38d366ccc3f0dab46c911a30e6f28e34ed7a467399965e770ea2eed27271465f1e7b7c57ede4975d657ab1b83dfc6d3c6b58ee751fafcf1088dbba2ed1d3a74977d120700b8de9274ed4c3e0787829961c110b916be6d01d43436655d5966898a8e60dbb4b393a1305aedb7a044e0ea8dc48fa4398d0a1145015b00af2d38697cfe6e9f6be135d5ba05ede693735481e39a1a06c7decbf84a956e06752d38c634d55535563ddd0446ddbe06c70a626ad0e6b136347c22ea6c8fd1e4e2f019a18597c39494efd9b22af34c0836b20f856eb5a7099b0c3413539e567dc5920f7492df846bf9cda1933fb21a7e66776feb4945e554d4d08f28c8976342f0cabb800874f560ae5b336c4bd949745c268be56e07f1f48583521fd9ac37c757a72bddda4205febb52ce339f9cd5343196614744a45d8b3b679f98a6a06f317a9c48625504f9ff31bc03b0ee83200ad8be884e65f01137e208aebf52ef344b8b48aad6144b380776d21a4a4e6f511a7f582af7cddc448571d86df778f6a68ed90e43444a40de68028a523791dbb4a876dd3c3cf92ad4f8c4a2934e3528630ed6346253a037752636a60904027d1ee2f873052a2d267ac8a68140ada9dba023834e11d17442698a20b1c6667bd32ab5b6fce5893875b4e770fe9ac1ecde2f7114d6cf0b24e25f2beeb86bdca897e4609dd087460ba94fe4ffed096eacc524aa3d5f02c02a0ea830e8111280b7f0d2a0bb9c26fd0ee84994c54f6aea6505002206bacba9c72038812d37c5074b2915674ced271040f75642ed34e9a46f84a04ce62c8f8d7e37c76056825094149ffb4ceeec9a4efd38829393ea89b608b69fbed2cdaec0d9394693d0c1a3cfd72bf09af42e10fe205318f981048b330a10972bd71cee793cdb814a3299531de3e3ca1ecfda7ee766141713995da64db0599cb4bb6d45708bccd5d11652915a0a8c26cdea66caf9b5f5c48352458696462f18332181aea217a2fcff68b55be9b41fa33c8f189a002b12a70b0c5482719016c03527a901473282bace35b0cbaa3f7b3d11ab00471292e0cd6c9d398ca540a689d5403de9096df7407d473492b94ccc4e61b19aa793016e5e12d8d2d31e26ba64798749b526d1235b5561bdb7300e4ee815ca377a5612a590da06a106ddc05e29203b98c1d9c38625cc69d8a99b163639805902180ac20dc46726df4ea24c35606078243358caecdf3ae8ebcaef2f5ad60dc681e2442c1b97a39dedbe6788dea10c65ceb95d73c6c3100a3f24295f91e6081618439f8b4643d7abd85842478d72f3d8ac84321ced219aa55cbcc17967cbab9533a5df97c70563c716c0eac01119b998da46a367bac49d3f8a1fc9aeb03478545d20a735b405c4cc02ba4c22715730da15a703094826852f2f6cbf80c704d1b7b86f8139a619fc153c4836cace2a246c7d4170272dc851a62dee478aa00d726f476573a5b46358a6ac544bc3364b3c85e7582397b1b63013848484b4bddb9adc7bcb94520ad0062e07fc06a8962c39d8770c4cd32398fc2584a733391dc358f23c9ee2d9df7bce290ce3680bbfc73350981d83cfc0c1aeb8bb419c8c83d338cf96b268cec01fe3573bd27dfb4ae16ef42df7e7fd5bed16cd25acf32a8099d042323265992155153de1ae6dd8904b3aa9f32d1279b636accce49ba3bcea7b9379513c7d2db2f916917c394e71f705094a931f91b83042143f72911b917a4cc37a349fefebe7dbf414e6526550d34de6a944dcf3222341e1ae4f385e34492fd2f76407917c56bc1c1b66442349f699a77b1b664423d193ec8b3c72dc0577ed228e79b8b351469cddf7a58db81aeede2ee2f6a39f22e73c31fa3c7d94de4e88b34bf1763f4bc429bf54dc89e43c71279273e645de7e6d3222c9235f8abb2691482412693472d268d44d88229f4f957aa8a33ea2436b09f161c15d3bc99faafdf5a88f11b7ffa2a03e90ecca371d443ef24ce491bb5e3621221fc991ecb830c2932fb9c877db41e4251f71fa59e44a1c0feeba744507623fca0a90e4db51918bb8e785bab45fdb53791127a7542a9ee9e80651b53042e7f5459e695a5b5a0d6e72f4f687854be54e6b702639f747fe767218a5afe297aa5bda411e724e318ae4ed6f0631fa53a90ffed6a1e3748a11ea684b3be6978a51256fbfbe605454b9549b4c49451ee93e7a16b9f8196b91d32f71ef3392c6a98fe89d2d73ef5a2292476e1f8ccf7c6a946f27b5df40418c4ed23c4a940ff9e6f332692618442472d326239239b86b7f58c4797a11b96e4206f022d9adc81507e9453f26e845225f85d11f22c73619de4491e32cd4a553ead2de4c88511a117974929c2227f9e494c8a367220ec8beaa0bc9b3d544d1499e91b8c80111899cc4591eb9e730a6473270b2f6b809439c9aefc9b743a8f3ed98ea07eb67f7ed16c73bd4877e7b054e0df37eb47bc846854d65b4671da32e7faf5a349d722cf7d381b3a7f1368465e680d6e9d431938cdf2b42e621d7a2891499753d688311a5e26f10ffcb79d381655e72e57228354b76100824a35fcf320e49a791c66bcedc7cf9171c72a8400f479430b18922c78a54173dfced9988634245e62af01f54b07719045dce72ca0ff9c6ed67211d58e434c92d66214eff16c26fc9fc1064378e5fe35411304343d833e76d88093ee41da3b221fc211f7249163981d8c7465244d5a20913cf8eddb03a8c9e91ec5f1d6783bab4631249b737f010dcdc6b899e5f1c8f690220d63ff9a22ea05574966e057222539679d5e07c7b16e1f3182ee243c33c6fe71a46adaee0361167ef7c7bc65270d79cc338ead25dd32dbdc37b8b6d98e6e7c3c19940ff78d2aae99676224eb6f96e671b66826f2e9c45a3d7b3b94dfeadf5def3e5659627eed47b340ce4284f2c4ec41e0da32c575bd33ead993b7187edf3515dcd0adb758dc0fcaa5923160cc8c16ec9b1ae698fa589383515133b75d64edff36da230915bd45f731a77aa8a327a99e52f7b03a899685788410c62aeec93c727606f004955b8aaed9063c762cbc89d6adcb1e3b08238553535c543c340c831ca3cfebdb7cf7924a0b9a8ab94947f794dd560f1353e6f80572d8870c2b3cfafd5646e945f7f10cab9aabfe464bfb621a17fecd616e4f2e75acd63d79abc4d86314e717ebd99f809797ca560627df5c7faeef4ceaf6fce13463d5f5f1d46c557de1a8651d5edb18ff58317fdf24c2f55c7bae5e9d5bc04cf420105145fc8b26e02c8166f6e6e8c60469671d16499d9b7892e7c6b59d6755d8b618b4108b3e884b7bbdeddef3dcbb2aeebdd5cbbdd72494fd92d427c30c41cf2c914078f115ac04511e284bfddcccb22de2064bd5677777777ff1ce1dd7678ddddcddb453489ad446438c37b0311ee98a040b5ccf2e68e682753c69a6e2d99dbac10f988f6a6d77f52dbc8e06ed6b8b97909d98d27ba0aa02bbc72d1052efc499ba47177bd72d185326ab21b35715db52b329b760d0838dd72d32dead64e5c7f9875697be1ba7c60b3f55a7ba97fd6949a6fb7766adef5d2da3b08aef13d9e47c3a786415cb7d495537599d8ce3f54afdafac1767777dcacd045cab22ccbe2e2edcc956d32fd9cb1d740a8c2b2aa1023d3485615ef08d6b3aaa8c2b27600a38a2354c183ae0276d74022d396b7583d6352b015b65acc673b079f4edc714379598a876c070cee18fb79c67eb20b83dacdc3a1019eb08579342b9f691a06be2234b79f81b47e2c6a19d5c522bd15826c93c15c2d1f3025f047a92b309f91a6ea01e693e5603b88ddc28e4d01b59069242bcb7e1e11cf8f465bd851a03098a2e63be2790aa66a18a93afd34cc531f6dc909e193a76e613ff920c2c7845bf89da4c479cac1309914fed9c0d54d22a924e567f6a39cfd3ce6d32d3e59a818f3f939f9a8fca8aa571300fdc87eba85bd75ba7b13f2de27fbe18e7b10d767f6a3108e563bc396e98b4c19ea83ba32f8beea9684475ef6627e62a1e2f3f7d6f2bef6dafd231a17a17aa9aabef7545515093597bfcbb22ccb8297657563d8255f77715917e6f3baaeabbbdf7bef793f7ff0b972f0790cb77297fce1bd2593bc7f2968410bb42e9e78a2c9420105145f60c12322aeebcdcd0d0bcc78d9e869315a96c5bc8fdf7ba71d64d9e8391167fb34d9ddc7ccf069ddcf09f81ea67a9a121d4cc504a6e2e0a3393d27ae6b75d9ac56b0ea315e7f4ca7c6b6f056f0de7baa0adf6aa75d668eddbbef3d53097edecd12bccc9cbed5aefeb984689bfe794ac48c075d3c27cfc9b3c946cfc973f29c3c22b479e6467f88d01f123cc18216bc153c9b26b27d353b1f33f332f3b22b2b33fb5322f2919ec291e13d272f89f792881322115fcdab894dde1199f68c10bd224cafe611c11c4fcfde35a248e15c0eeea6e09eba6cdda31c44d5620a4cbca53e745fa18c51833e423659650346a0ef3d0c75f9dc86f45bde90adfee2bdf774aeb5bbdef1092108230461b06b5e013771778a158810bef49c4e55389d7aad0681b0cb9f43eeaec0f019db0188fd958fbbbda491e70b829737d218f30d3657cf7ae0f0ef3d08c384072f407901168c3274550ee3ae987e50523d567bced2ede0c1a890679a964916e5a0c61d0c94a5c34c2747e2c36f42e243cf305724f1a19c3efc8519c1fcdae00e46619654b983bbede660156c20c61092900229648184179ec0400e0f74908512b2e0032d6e94cc1c9106142e7ca1660b1584c1022d729085124df4a8565e702208281c81061736606421099c268238801226413860044b28410b5708c215292082094c0481353146194b60411598c0c20a94b08c208a0b7e70051456d842197eb0040c5cf0842c6c5410060da2582741480183166cc488810da2b089a244a53441c294255450469427940842797a44a1e68c2e9e50e1a48924788c40c70a4448c1c9108c8086cd221144cd125d68820d14ae10c6144d82a040179c4041cf139c40b1833d4209122a9481851680e18427ab35c24a81198060862dc4d0c2942d42891621089d82929927d240020c44ecd4e08a1ad404c1819c32c208c211b8f0e409113828090212907801183d31d8429355810354b7f81963100bd76177cc1ed94f8c72c0fbebc67b851953cac07cd7432365b9367695bc0dc124dce5b2d57ce37ed85cc5415c1215ae315f57719ffab32a982fe646562506f322ad714fe51421744c4e151515df74d0f146542c1b2a362492c66103d2bff2a42e965f6588229f271b6ef911f581f9fad4f17cca7c46133bb401534316e916cb4d52bba534a38a9ca791af9c3a7eebf5220db3dab26ead9736eac8318ee5378641dc7e899b90c4cd18b9791a7153c736b51fac3f6d9a3449cc27f3ae11665fcce7ee328aa5f52e8f61fe502824e1ebf2f210dbaf8ba88f7e5e0e84397373066ebf8e31b732848d302f6877999bd0418e7146e00eec70d98b587e8451985b902163ccac7bc9b5814b76e6b254bc78cfdf7befbdf75ed7ede8c102b56e9728aff59ed5cbbe2b5f1891b1d020a55d6d83944abe9b4ca9542a954aa552a91463f452297aa9547252ac518aa452c9542a95482512a9442a8db46b0b62f97367547ba9542a954aa552a914638c31c69147128954229548250e3a29924a2527954a3e7212a9a4e2a592ab90545448a412a9144b25936b25de644a4fb3b8928bb8c92ff2b78385e5ad7167c9797acb47fe445c0db7b891eb56f2183645920ac954839bfb221513c9331289d35789a552a944f252a9149d14491e4ba454332192a49192933cca59f258729297a267ab95369928a7f6d64b7d3c9975e9a5d7d557db4023b26ffbe5ececcbedd6e58d71fb6c59dd2d6d9011f7872d4b34834c4750367f50feb9e98bf7b7ba1f54e86a2433f228c3322c57d847ae9fe9eab6a8e431ac79e62aa7c975c8e6cff426cf320e08f848fa0c34af399187ae713f686e79c625d9cf320f39e621d7502884c558db0edc5b52c5b549ae8de344fa07b2a40c7916b274bc9190f76a8b4240fa91f487e4be0aa71de91e737d8dd3b77c5b7fdca9e67373b57c7375239b54eeb2b7daa252b6c27eadb06fee9f6559e6fb56e6ca61aa6832790c679c69797988edd750b0bc6a6184cf1ba16a620511edc980141b6588ebfd84903ba356d8f9f7fdc784fb993f2851fcf34cd3b8904317e81937673ed3344dd3383833cde242aefdc47dcb555d348f694be326f490873699cc7523790c83c210d57d6fd857f1567f50c604c4be8a5c11a25849aeb047df976244f324fbcf33ce08f4e7999579c8e16e3a64fe9e6799eb2624b390ec6b1ec3a117af2f7e7debf9f5d146591f20f6352d8e1823f2c0a8195dcab7b3bc10a1f39d82ef2354df1e0186d91feda69ffe264b73468560403bbe5f9e077b0418352dd7bc3d467d6cdefeeae319b13c43a2fdeb4d87e7997301e5c967ef6d4834ee852276b100b16fe9f34de67da6cd70d512654b76e66a1b65c89465b2ce3313afaf9f2dcd0f4b8eb7539e77d52dec526657fc024f276bb5ea65c2f2646fb74d82c26826273cbc419ccbb33c8ceae2f5d3adfd7116b73f1c1989db77d5e9d0e7e91445d7e51a17b9bb3ce34cdc5d1ee2de2613f2dd80580e6ab78ee03071fce538f4ccf6de9390872cd37bc8a7e633de20f229f2d9bfbe726a9c9679b65cc8336e6afd201f8dacd028045abef887b865ae61fb71d3f6332efb6173244b687ee41aa3340fb908e49967a14d260477e3fe666a35af5a965ffe7e3719f8ca280cb32ed3d32e2da8b88a5f1ee2e6abf9902b07019f1f3efbe7bd7b3aeed8677b6100edd867ab70fa26c667e33cc067e738c067eb34c067efe0e0b35337f86c1f3ef987013e79d5c3274f81f1d934289f5db300e5e1937514e0937712e0935336f8649e179fac42804feeb1785607f0b9535c7c32cd0e9f5c63009f6c53009f7cd3e29371687604e073532c3e9767003e575583cfed2180cff5e9ae1d1ae9736b389f6be33ef74687cfc5a1c1e7e604c0e7eae4f0a92bfdc131b5e7c6b5e2a9e153532af3254e3fe56c4ca8b8dc0a399c020139e1833fe484fc3668c7ce6e0090b33f1c1823278c0f90339e1c20e7a901120779837c3d0de343b7b0431f72c2c80039e3a9879c278791d33b949cdd02a465d3309b63f1401e72c2a80039e32901729edc0639bd7b91b3438084079013461739e369879c2737809cde1540ceae45d2340cdf5c3b2f9d9c2f1d01e4ecbc0639fd3400394f9145ce28001a28e5849193339e5cce93eb90d33b1ae4ec0220af1596d3309dea16f6971c72be742b72760e0039fd8443ce533cc9196f48082349ce788a729e6cc81af2c7b369182654a838c9e4ecaf09a37e40b269bc0d3f427d0011bf86b3bf22f4861a535e8dfa883e7a35264ec523773d8e33a28aabdbf00cb4c9d850f14bc5868ab4b01c9ac8bd37716ac3ec1549e587d4afc2a90da9dcf1dbe0545d6a703f24899f0504ccbe827ee4f64d2512876409cdabc8294a32c330917ae4469cfe7835dc63712af01f545cea9b67d726b3bd4d02fb226e5f7f8838fd1eec10c6783a3d9c8783f30c618ca793fbeb793d968d4d8e4d8e4d8e4d8e4d8e4fc35810c6783ab95b3c16cf45d32decd74eb7b04318e3e9e4de75170d84319e4eee5d4dc35cab4e350cf6f2d275eea7d3b5aab9563510c678ea1496d3292ca7533b88cacd87037f5f0fe6c33936cf6cd95c3f2d9ee7b678acd50ecdf3a3793b4bb3f36cf5ebb57ae6e6b57ae5de0e2296b371dc8c20d1b5db19e6a10721c64d6159368096ec4c632d57e8ee6d5e244a74f1ececdd2108a10c7138ce08f9e3326b93097508726f93c1fcf298667fcfd6fbc769cb24ef99999d6740cb4dc02ec7bc889763f0b2e414cf5762aa5e2f604cdcb23e4dfc18c5cfda19f1524c742ddc64dedbd5d4c723914e399ca5214b8ed3653108629aea04bd92260e96ee25db645e6893c0cc6f4058180571d0c3af2b371d0adc829b6b8512e1044e92388193248280935ad9acd058adc4f8594961a5fd8041b5fda85662e0fc102b9b151aabd56aa58931c40afbc9543f60506d3faa14cbcc4103a3cfd389d00a71351c980a6a38a2cfd486c091449c4fe7e960aac7026d084c156fd4850c719a746edea4f37430d5d3893739688c90061969907146a62c53878e2a0da9cfa4a68538ed89fb993369310d39fb23854234a43e2383b4efe6621241f06edeba96f0511fd61604f40b7d666458ef06fe4a159e7612e78a0acfafdcc0c77cd4856f7c547874e8607d6531c4104d8c52231554b52c5f6ef619718ff48f916594b66d9a67700a1306d15ce38e2f6f91ee5f0eb509001f3b4afd04c0ef8f7546b42e10f4cfaf3462f90567ff58b2b720a25f07f97c453c5b41b65f894dd189d0b31ff5b1be52d525fb89dc5d521ba9605f65d854a7ea0c6314e2be655d45140c8bdbbff4a7038c820d310cc3306c5f3ea02dec4328191a86f752c44ac5b936acdd366dd336736d52181c02c39cbaa553ddc11df370465d1236a843adf5d6a21e75922bcbb8d3722f5a88fb97e7e08efd85512b4772f6e83a4d4e677d61d432d9e7b14c188535d665915d15c62ceb3e7bf9acc767ae0a13e3bbc9640bb345680b7b163dae78d9c1b343393b1bc4e0d92f394f4f3cbbb54e76e5f4d58410e7aa5410c608a4a526a7781ec3723982ccc054cf9f848c7a7ea120820053bd1108195edca5448cda6beb3b06b47af47879e93af7d32946a83e3655977764b71de2fe75b991e7edcfb54862a545124db440420a9bfef2acbb07035e6ce85a9c3be198a4d55dec882370e10aafdacd20febade84afafaf1364ca126154dc64e25438e596c87173e6e7f39d5de693e5add08d0dddc83808af5518935bf0c2967c48f596f264c1001b5a66e7379ce422cf6ee078cb27e92d159fa0b7f62dcb61c3984e72ea78cc6fc8a9638b6e43cef82a5e434ef826a922555b4a9224a56acb4893311de2902c7988647f7993c138c5372b9ec599a2aad9bd652151f297eb929f51de164128555dd87f10c247bac77c7ac9ce84b0501445544f17765d0db1d39691f1f00fe4984385812fdfaa7d821e3b754b038c52ee76ca9495b22bee768afa4811c5b5d32ddcddd7e5571971873b7e51e2dc1a6d6b2e47ad4cb22fb3cebe398c5a599f1bc5f34ec3f4e0b355214e0d0cee7cb8fb59cf76ca4be16e329367efa161b6866ba48822aa60480c36345d47469c3d5e7ae816ee0e0b9b6f443a9b1d345b0fcddba6695cd38469acd3671cd3f4e0e56e07a39e3586af1d42c8a71f5458965b4e467c34568f1e96755935da730d8df653573e24e1169e41646e9ab5404a64aa1e2252e43cc151d5b5c1b026fa53e4f5eb41eeecec584e64ae6c939fcbc4cae2ec738b333d6f329b4263422219e8e1a763917eba32e457ce951d2b3140bc37b29a4617cf31dcb52e73efedae65f9d3b74fe5f4613b01e4eef9d068c40955bbf875cd8c4523b6f370f36ede4db7b46b9e695c0e2b429e5f7ec995214fc9bbe432a15966df9bf5d5592bb0d814a3a0302ae420214052085e1a46cd99dde10e0af3f52c1094cb64ade0160bee52dc997ee3e632f1da03618ca793c29e971e9ab34b80071d4dd3348db396dd8a9037225f1e8dd51942642792811e3ae003a37a8c67dfc1aa529e73d0a1a56640c178f617440861077bf4f80955a00e25611b07e6e5659b12a7a634cd7b9c4c1b4c916e61ed65e4a31e9ecf972dc640b3451898f0e08ead118471c4813c729cc34fb81372452ee4a3ac486b1ccbf7d41f4d59fdc2a307a396a1d6d83ec678e5149733cb0f2a5eb74d69dfa810f9d72bc0ecd65a399399714e35dc6d138e626e4a8a18c409218438a1d012326599209b5f8861ce438cbf386df92cf22c72d830d04572faf02c0413cf42d83ccb89e54085d80e8a823be69470b702a41fe41b0577eb12e0743733a2b63f1e077fba65375f9cde90e3e064224d08ee88101111d9b80957d894d7b8a96784009083049c87080279afd6419783bc41a07585af2ca780ae106317c28ecd7c0c67ccad08e19957cc99453733e264017271fb03fec0d5af1399f2eb35bfbe209affe27f783fadc56293419c2c0f59b85b3344fe96968d0be2fa3a83ae25cb5648061ac390d358dbe02904a3105784807ce42390756d573c7988f3c7f42786bb17db3546416f086354959de902760325b182c0bfe48a90abc85b32e2509823dcd2de5e6499d870c6b7cf161de3db27f7eda7530acae89234e6919ec46880a219a546291ac6a0e10c1aa6d0b0ba8133528d787418314a8d5223283a8ca8210a07c839800e9a516a04a586281c20a786288c9e8cac18e98c727a623d0f44c74875809c918a0c71b4b3802923d5680745f3938a4afe12029405f8b013e8c260a083200682a85ddd64d013e892f34589fb0dca5e9665997cdc5da60f9930871ac3804097746fb99428cf5cdd69282a62ca9343b7b043c8c36b90af9c570e5988d0a1128b0b9d28af67bc7291039fcf58db0d8804fc710fd4cdf5eeb6d4f8ab3d441ac2187b7290000f50b3508cbd0eb22b5786bc5f17b231dcb1cfbce5d9f5de26b31a776f650eee589eb62222333b0de644731037591eb4ffba5b886f39410e3d1323ee3f67ee6e4cb5db5063a1ee357d391e9a5eec790a5d2c0f33f0171ca2e3b1f750882b5b6b0635acb055b7a8eae88b519451cf4845430386393605facc43392d0e5b4d6cf53c460c73e173acdfb8a2312f74d4a80bfbc8075b316a8c1b57583a6e5cd1519ed7c17876ace7351127ccf14868781a7e25845b901c34cf3e75d404e057421a75c1c610b19f1a7a20cdcfd7e0f3968811140ac9d91ec388fbcbbcdb93976b0fe28cb4bfb96f6218cc21c438166e614be3cee125a1c6dd8bd56d04c8b3c7595ad6fb266e69d7470ac2c40abf7ee8a6484428e118def3c7bd6f28a7c0bcb17576e7246499fa0c857cd418a7364f1ec7ab1636a9cf2c4de3568468bef926e7e69acf7cb66dfe7c7b9b4c6f41f4b38b839e71d69a81348be3b7b620fc9b44b269fc4a06d242ba1cff629ef1ef0624a469dc0ca26fe4486b1204ededa14de6796893d1824838438ef972fd19f7c3aa0be649de3fce48688b2c6a7e7fb7484d09c995210d3799e7596f6b8b906c1a6f659eb5c66d1aaf8c9a4b86f89067341f9209c99575fda93d83421c92fd0bb4a9cbaa4b6b8c62df0b0a1808c3034a340044103d70000c0b5ce0037b82980e441168180ff013cbb79fd65b5555f5a925b5354975168b1f4f915f571581a75edf7b50deaf2e771171eed094d524b25fdb04403fb45b58623930ccc2fc7aef5dca8235892010c802c5f79a784f7ba69fcb0abd0e8542215e1d3133abba4cc8cccc8a89a610afeaa252f90734ef3173075ed559e77589143f37cab3b70faf1d785dc2c4af9499840619ef2e2beffa207395baaaababdacbefbd374dcab5dcb78c4596f120e77bd81ec333affcb23699ea8edfa1a9b6cb447af050176d8df29a01ee70586551fb06a4bf650f7551e7c19dc6f7442baa2eba72b26c935f57d93eed21b7b889c35b36fc967cb6fc72bf387e7d455a343dc93157911387bf3c99b1a8946c7695554f324533000080000315002028100c08c642b1602c4dc4651f14800c8a924a6e5c9947b33c475120848c3106000008000022302032431a1100a00694d44697d248eca78cb80d45ef0b1a19e0f99590d538d5a701a6072022a9152bdca13518dc76621d040db68fe5098b6c33b1db51e1d203af40946ce82c3f1c57189f79159df7ea51a84da690ce8f931a706480c85ed90283f0ddf5ba8d91db464f4b4031f3f26fdccf47ff4ec32932aba27a8c26be5e9831b858f71825fa61fd3f487ff1352dea24bef757c0841ba9bf83b9cebaa79f1aada38cc83d125dcc134a30e0742e4e0e3643d2e44f41a40490589f9985369b54ad17284b249e6ba838c06a7d06a3b2f1d232330c3ada5a100c1482cc54047e3aa83df2e9c27d43e927a4f1ef20185037c02c87a1803a7689cf68b77a9d2de2809e7784361cc7c1e49158d976b211076ff6ee21397054542bab294858814daf9a72aaec8112441c3836ea0d4db92c5f28fc4e18524d8d7a759590952c4800a602ac1963b4fb7824d0efade6920bfb65a3d9509fec45e8d9748d86b23af91811ee78c42c41dfc0060e575da3b5b0e432f340c6bfd0f23ea8ce95c2187270b89e0b9ceeb970ec688bdb54ab4e24abff0207ea26896bb140f3e69c0babc444f64c6cfc709eeb12c4f673454c60e144138005c861b547100f0611d141d69be64d5148d5b4a0354f04782bd51cc0822c36bc21e0986de1159674d3668f7ef6a5b98dbcd2a521f2be8afdc6c2c3b4334ce4fe3b6a595300ecfde1deb967b417aa291352c713ed473963c69825c59d11c5f2a8cf5eeb70868eaec9a74887391ce0b6c7a10dae3f352e754bb3140d53863b8967b96c2dfc6d76df662762f9f0c146083ea0bfb19e9b83b82790026e5e657deae3799858bc4792ae92f6b70a96375925773fcf1591326ca755e078b471e2c78b2087e4bd22c83bb81f50c15907396aba5942e8511f7d8349239dcd6183cdd900e741f3dce849cdf6e4d53a05521b7a58bb788157f9070f1f706d54f443d5e36bc7786fc8e84e00d1a123bb62282acc4baa7cd4206fe0ed7a7ceb001e6473a852df17f9e511eb183aa4a479cdc6df6d4258eb302dbec811969064afcad47221fef810beee0ba8556923e415181c0fa39812ed1c22bf3870225e6e5cccaa25914138412929e3f4827b25260787f799d22b7c470d63607a82d734149c3088fac8a3995d6ed83629aa6f8a6314b7130e527836f7e0a19574e477eb42db0f0de2de85094afe4e41e127d2e3790f7d728aade52136907d5160954241c5a0d40c590fe02d9a91124d8e936404f7b4a454130898c028c55926c04cb050d636999626b53000077d94529852ac29602c647409f517cb87056d2bc4f4ec3983c125189ce1549f93f8c086192c06f434f6c0e98ce51801141da3dc94c43b584eaf56dd729167c37625ca102be07e91349945b7079e0ebd760b42bbfdf8871d0c2d4189a34e91f9ad7a0cfce396c4cfee0a1b67c83e2fe061189a17748fc408d5f250db8dc0a0a786a03f9bb5d75c3c0f0fe32be8f72aa840d006030614a43af028f78463403e7f43dbbe7c16a78d4128957e0bad0e1dfdaa4791e56be8904fe9b1ef3430b8ef2233ff6f8813b77f5d012b94b4846ec86e5b06c5d06107c92f056dcd00bfea7b635cdc5ac3bb0fe26affdde0b77a10d90fb6cac25e1b8070434d86e835024ac5c953d9dc660f58657f14b20fac4153332d449da796a241f5f9f2bba44d5f37aad56174586d85c6a18a5e612126fdfa379c581502d51a775d8987704799fc28c9b5eb83d0daa7194a42341df84ab5f65184a0b60854a13b802381a6edfcf0681b1bd328fe18efbcc7691b9e241f81dfd16aa755065c35daa3c59cb1c7394e3eed95e4b4dae53f51844ae377dd9fe3242df942a82838d29d48c3ecaef41eb8d43096c1fef45e572a1a46726659ad985b9ee82b8f8c3a6a9d0222d7990a1c92441964a32b88b4ee4048cc41e33c78f9089ea3edf582ae942d9d6996a5ee0f29ca08d1b68358f6e8c6470a5d32a7334603c5ba5923945645480c91ec6c09fe2a63e418dc6e497f90f6a517b38fb06f90da2d54e92294a17033f212066b53836d15aa115a23a2ef489f5358d450c9bdd6937f3d0a5ae03aa009c8c3eff4f553fd58389ec8d29966a841b6cb943fce90a447a1810055dc2176d68efd4ac78a47cb1ea199e4f54c1ec63980cfb5f27c06c204e00694538f671a3a19b7cb4ffaaf5f5977cea6fa01a1d8a894acf0716b8a03156c4aa92cbfcad188a4dbd0fa1682c9055c70f711d41b574570a29e7e32677c3f6b380a5e19a63aa0433c72df2de30fee298bcf0d317765ead976632c83bf33fd46a1ca982ac1a624f66f150426aaf040d4e5658fcb3be09aa7896db5cdbd9b004b67449a1c28a4149d12b9ff99dbb92c40604b63aaf5981000749eb501c2006aa0ed209b94f4a7b911666dc35bb6e253adcf235abfab45ae5cc5a7a6cc5d298e347e5bd1e18ff7f7c8680d402d66cc1b943757c7b1c142bb8a978fe8ea10b911cac7478538cba751c08daa1d0ce52d48972f7489440bda9f135c97be341eb701d94e8756d3a93e1a530e029e36dbdda01f8649e8b96d8d4d61d54a35458ce497591980219c5b29358c91c916fab54898b2a6682f1a5b82fcadb1da3496d3edc801d27c14cb0f946392818d0721c8375fa94b47820876c8ced434412608dcb59c54c3f44caa1d483f29bd24c3849e02353a89ab6a859df9428ecfa484863022640b38aa919293b9fe8d54b3a7abf01734cc1b70c3823e62d5fd7413f25cb02f062eb4ee3b65f922a1dd79153f949ed0856490310444416b7a8fade68d5d70cb5bfb7933dd85df69d197e2396fd32bc71bb63e3ed2d2016964b2b497005c6c4126220744e1cfcc83e05f5f7e778126483fb9afd2f243bb3449b282f7624596755cc77d8f1e70a296de4d405af0466312ad3686f9b737119cbc29f0f98ea8d4d574879dfbb4448f40a12c569fff228b12069056c3573485fd9fc222bc0e934248f9996e21a94fc42e34f2816aa9428a0312c1cdb4d63a6481efb3b655ba5b73ca35be4ebb0f10b008e6e9fce7f9f9b814ebac517862cd1b52502c90e06b88d674445449cef9f4cbaeb6c2a716000b290bc81e072857a586c0422d77f98e3c649798c9443ceeb2841dc3131f4526c04caeb857d72198325d83aa9c5a379e9648628810fd615b0e4efc50b1d951090f19b1f4ad940e8b09f849d23d7f5447eff4b5707dda9c5d8f299a5403d5dbfa7f5153122329355d344152166826fde3bbcbe53f4b8ff98c6075b964edd4256be4c40b0284e7210047c84d17c8102c4e944420664fc33d3d3ca13abe0bb59b99c1f2ab1d7be3c50595cd794adda72a0764633ea82474c7ca17adeb15755694ca70c6153650c5c7bb6aa837578f42f2b214c37a83fb33c72bf46123e2078384bf9c597110aa72503b5aa03970f4a99fcfaabf6cb3184d41670661930602f1ff01ef194460f61afc5a54267e045ab635afa79609d6554ab9ce790578b4d83c90b1d8998876c14d43d906d6a6a853d172b2782a5db90191565dbdd19d7fe180ab2f182355f6dec3a9603ef244b1ea1e02a5f532f3e5c2a65e00c515b95851815c6e1b3c946b82d02614ca656c0e2219ea9136d39a46f75df47ce0725bf2d19004b8e3850152e6d66e4615bec2bb1f05a03075a749bb58a405d997899c1e8e5e2b0b16953418792d9b0dd3ad2322afc3e974818d6074f10583ec6f9e334364e941bcaf71795707e2b2dee2aeaddd0cee7f4391bb1be727715f8ef51584b44422ee0112ba243df352062124977d9aa945ba462e77f760030232fb08b3a189756d2b6832b7152d7ccb018aafbb270c5bffc45c82c75a6cf1cdcbead17fc02c4a53060b5b8f44386ed67175e86259b4db02d10806b9e23d0bfb348a68e83ab787f7e1e84993fdb9625c28305ae61e7b5c114f1b6da6efeff3b53ac12e9f36d87d4c7e985b43dcdfc7f6ae8581eb49a3b98d026cd2a94b55e6cc16f2d634d8eb7b29678a0d3ef44ccddf1174f5004721a5fd85d80015c7704144531f7653a3555cb5d4b82a83d044003756217f2f044ba63f125619278b78c75b048686e8b059311e979ea2211956b9c8f92486b9a174863f9315bc452f520faa4f2ea22e3fc254f3a220d91b43c2b63245fcb1166590aa0da521c71113732ca7f08d72baaf7ef9eb3b29decac0304ca842d590d809f65904c9e7a6cac26c57902a51aa5d9e1acf4488dc200d26767a119e595e844f64cbe0461aa78c4e62c13ac5c4ca163394d751b7f6850c9a464cdc336de1f872696f90f3b880714e8c1fe80c2113e836c7fb2163f01db7a60524496f05976123e7f6b24fcdf7263b370001aae29c6a95f59074353f3bc2c88f47e4026c6a216727a152cbcc8ac20d0976cb4fb4b8e9d96b81d7d2d9e5013927eb3460b27993999e5a07929e9c0366ec811ad24de20de814358982569cb92eea6acbf6aa474b4f6cc845e303a9c6e51cfc5bde33289859a7da3854c29179dcccf54fae6038c4111d9519eacd749e66eca38c9da0a33b5355e0a1cc5213c031fff1f25b5b52d6429b8045f9974f8dcf2b922a6a87146271b7801cb744b0610fa6ebcdde5d5d4f0c958283d57a309a0687b2af793a5ac640b060d2f2c16ebd803931fe512cf873b9ea5427482d824b1d87befd72817172b2f587fd4a6bfa3dce05f6882fecd2b6b8719e03d2c668722b3c52c5e59a129e850d08f57793cb81437d78f56b31702c3bffb5034eabf2f5c7016c8e4c6fdffbb1e69507a0c0aba515e388f6a92cbdc00427086e2648a366ae459521b80eab6a0c43ba47a0baa14a6eb9469159b411e6b08c611a0a539e423eb70ea47b9e5d15ccf9220a89a0191cc77c6a056753609f833418a4d5f5a9828a6d7acec9d7a21d0b6a110c3ddde86a931761e491d6eda7a10b83edb247bb4bebf1ed4034acd83a49d2a5354ea7a4f95314cf118133b335cb2dc43fe419392c446c668e35229d4531475c1c7dca11082aa9dc323134408c23bab715995ad4a33347b92db7597e006c5242489712a48f1c84741f17236b16af602b2494f087494fd705bdd71f13aa5b16519db101437048851c6508f38067d71d53436691047c84060c4fe2045d9629a58c3bfa913fa21fd847fc4119a794b99dd0431793c08708bde8a261c87eb6ea574c6b12133dadf73ffd554c4dfc3a1d41bdc441b0a121a284ea1544df7760af87f88eda535e06d29eb6d172649c65ff111fc590048b107778aaa70b628d49171110f74f8938bb6f1c164a92c862861d3ebba7590d63135c7aa5e505f2c60fb4dad4bc24eae273427d68da538925ab85e77fd08a7478c03ac4e64d14ec3a68f9af19e4111bde55fd211d0029664b0e3d2f4be584c40b7e612fd5ebcce4c215bc83c7c2a235429dab3bf014869710404d8a9bb1592d7214de565d6300a3fb8c90f0ba3b6083c68d5b3d48d7c79a7c0a55cb56546d2652552dad756a80ec170dd569e8364b78e8b71ac9082186fda2f01a847e71f1b26b4f429d3ee101a42a4025461509cb85687607c5ffab9cd50dda73343f4355a39ed461e43fc74cea150d613e9f8c587a5cfe839488c70c45c650aacd9b2d5f8f7e500b643cb3815980c69afa2099f6418f31cc9b7cee7eb9c0759add2b9540f1dfb8f52c3ff23aea878d258bc00debc55949c07586851a84839631d7f294a85168b41cc3bdb91a71d14e892f7e08ce9a81608063aa7763a1f14bcb7fdc6d287ab8a51a210ba4577a2d2dca0977d2d58f5b7199ab703b9b7a47bf4bf1f85b7e21382e3b7b780051872d33ea483896774e51c1236c2be5927a5e1267d11a367f945700fe71f11dd52b01fbf0f18841e0f92c90ed7fb23563f4de62fbdb05dceb20b381d76c04f3ea36870e8e8b5d9111a46ca41cfcaa5336c1979ba5b13e45cfdeb65583ddee906a83acc180e9669f879f21a4ebe4e626d7659428b34a9a6eda5c67bbb292bbd2b84d4c78d364fe5b5aa8c3a61191f0a22e57adf25af290168fd1a3b5b560947e20818599280582f04c633db1201bbf5ccc2e4280895be280c7fd85997326d88dee9a72ae69fc11846cbe8c1f4ac4b1793a02208b7d70c7bf88b865e5dd533749ee770053364739d019a6f09df08a225b6c667d4477466d76607883c2071245dfbe18b4c2d9f3a4cf240d3e01a0b5720246e82d830c91144f1aa138d59da7bdcb607472625d2d0ebf68cab0af1a29aa188818b7c5ca9692b84a3e3b0862f6a4688ad3bb5a470fad6999caeed2e6ae349403af79bb37cba1e3b94b9b81effa4f1e9a327782fce882aca6ad91990961d6785cde3298335c5b30322a43a24fcc3b4a26aaaaef1b6630c5bff6c46312e64c37279010fb4eaf12cc633f30226be13ed4147567fb4bb94b52c3457f9940597f40a7290f71ea3327e8ab3461202bce49001d675336a1e55a1b6f6dd4f0ce269c96ea45a012f2bffbba0480796a9653bfc397e2d9e2c28ffd9f35785e72e9991fadc8ce535a69d7cd540c780062b0221d83b91e0770eb2fdeaa807d351ceb454b55d034719ee636b5335947f2f999a69c800e1c0cd0d02b3e40ea444f696296eadf6f1255c43a71cbc1b2d7680a2f35a0913d5897c95fc4f44ab0d7ecb0e82d95b7193f69fbeb7a0911743d418a859e5378b319d1484abe4a60357b861d1cf160f848fe0d69b74cae040f9e9be629731fb4e14361ea0fe0c6f19c0b397ffc1397e11a86352bb3ff5b98927606e3e32a3cae4c779151f315d912d1f546385b7fe166d9963d20ef340328e91fdd82fcbc6c13f8b0bb94e77141c9214f10e7376d39c3593d73d522f0cae0d24624e70503f42a48ae03e602d06ca4e32f89ed6458536324dd93abaf5303032104a99e4a5dae3707b6951bccb69098886f3ecb3734ea00fe0484bb4c2a924c91f2442b179f4dc3757d5d074c1290b2f69e6a143a87d7370b146110848210067ec987e07b44437191610d043a2888c2e0fd7676d59715c0e0e33f0b93c54727362e2d4a9928caa4265ba3ee4ccbff72f99ced479e6d4ab224e9e490eb691b3ffaee1395deefb8b40439fc652ff3befd7dd9f74e764c0a443f484307f9771508115fc313d9003861dee58d78adea5fc84919121f1f991f5c782e7d3fa865a40fdc2ab146b06cd5194aa71226d6f4ccad42a562226b845395467b8693f0e8a7e177fdb93ac9d44c6b0b327a8d0b31a5dbb6b1011a3227dff0484d953dffe4315701d48bc28cb6dc2c05ee4c5c665ded34bbab9dc139114fdf08a16029e52cbd917a0e1aa13606eedb0cdb97a417939972017171c44f22ba68b1f6262d16b615fb7dd3cdfc7b12eee5c01bfbc85871d19860922c647a20d689658fd4c4a1555022d914bd51746d9ce0aae4d4a03cc161541ddaef6bf21116d172476753ebc7b2d102f46b25b5a86baee050a1c2b035bc1acb170f5f0c39a57765a829f13eddc335da5879fa5df2c9170ebda5b9e580b7243db5bdab69b285f0438e8b7fdc0d7f2b5ebc107674db65518ecc7dec31a074e231a9d8796a3b874e68473de5647de75ca228913f8f12f3e45bd14bca297af834eaa2b66cdfe85126f9789d389cd11d76120d26efd3a46fc58564323adb6b1abd10d8b64320b516ee3c86ae17d8983ecb6aa8bfd169576e543364ba0099e909ac98082a7c7d2a827432c762b278d920c3c2142f7f6586146ad3e92f8a5d4bde2a7591aee46de9f5d18962c083c9f7d1740ca9ec44947fd9c3f23055e842aa972cde17c1d0a3fb25a652c9286e91ab18fef634c1914970c54326c9dbf7d9d201d134088d46dafc972d293ec492e87e0fdee434b56b9c77c7faa02feb6f1dddbaaaa9f2985ec53c1aeffdd68249212268ce162e3dec28a6e10155d8a14959281d24f3d54ff08321f1e3c235ae26b4e5159cd892894fde0f4a37673507c1dcf2aa835b6e52b9d77c3c8d83dc5b605a3e3879789ca96379f0e2b1040963a004e92e3550a901c9a0c8f64f1e144c5d78f5e8780d170e63b69451722a2703557fdad9c66d82c2e40dc0eb030ff736fb2849c7fd5036c01ae2cf7ee2c6a7668c3b3e67a12eb73c0832e10a3b1867aa06ac2c3b2fa3026e46e952d720bebcebbf79ddc2ff8904012a8168b426c97d8d647072ed3de96da9aaab5d2d299566daab2defe38003ac80fe872a30a7d325f49c35cc394a8dbcba0b534e88050c9c51513c9988543a749fe16bf41514c48b2cbdcba826b93463873d3115b49ac7447d278a83351950db39329309e1e6c09fbb74e8fceff982d587b30c0518e60e5778ecc3ca37614eeb48fd71d7aaeb573ccc4616c350b11f28f795c38c03e597f0e0ca55b9c360b0d8ae199818acb84f4c48f7c13cf52f6a03fb377bd63242a7441bf8a4490c4e2fb4057d052aa74a4dc48b8ad3e13d21b283313f6a071c9d3af6fb69c0deba7bc952cf91e67d2388876049a1d22a860b9fc14996a6f832a0c0e0bc6d892edbdbbe0170c89d97b9c115a26eda8dbbb66b0f164e26677f6643826562d2cd2ff86b4f80687c4126fa9219b4253284ee1e1e659a836491c845a1c81c65266f5bb4232c9cb504bb75cb7504b04cdb947b9b54416974f1d7117baf2fa3a6c056f33a953f73ed35b6a9f50dcd01eee839244cf3c6415c6486b471cbef684b0687dcb80655e2b816f957eac0855ec8718404ad3fc26537f5d715bae3e490e9cdfff0b17361650cb176b78fa834373ba4d463dd474a1b0deeb99e5ea7096cdbf5a9df0c57e165d915e0e0039e59283ff65c143bc2e93273cf7b981350fbd951b5d70d9f860013755c79b1b06d903eeb7b9674c35891cdb6f17bb8c25303df893c25ccb186e4af72e8abd913c7827d6b45ed4a2cddfb092fcc76a54fcb900620f0f02cf1396aa4df9213dbadb5b7644b2250d269c2a95cd36cbcca75a87ee7ade0427d1dabf35f8592c26530008268c913bb71b2602c9bfb5ddb8707432c0a6884f0662796c873f7f5a763dd015e6239d73b8ba41350bd8681f63dfefb9429234404c772122bf4f68d3ddd9f8b30c2a4407fc56766e2000e31908dc862c84aae2980555ba4bf616cce1d543f232cf3b45e984c2f46f70f2cecf2533b2f43cee62ab2200d7ce364f3395f8b37aa67e15659e8f599c45aaae1768ed464b06d0ea102c0e52fb4236d2f12a644424e3bd37d9bef64719b10b4af206919765e15fc12f62f494202bdb130d905415cca6cd069fd37fa549877cf73c9670da1a2fcc237f777ae18a1a4a9518b3a4072412509ed1ac75e49b13541476670ad74108462b465ed0e8e968933b8200c1f66b1a0d1caeed52de8a8a41cba3771045f64325d51663fd0d65a1f2283fd94e160d9ecfa4f80a1f1726880b8fc41e8d727f961ea0c39d0ab0a1008176035874349b28cb5d668f4494bbd9d6b1406f39a88fcbdef8cfe92d75d50c16f7b13e39391d8bdafb1f05169047f6fbc3d7c8d879ad9df48b848c222d37d47dcaa3eef73bef0d8c5f492e79c2ffdd5e91dd11d208114b16486612d069be23be15b88ba76c29d210469cec23210fb5499272b505d1627577d45fc6820ac0eb87f277e5bfa6fe1c851fc47401d6deb900415dd5a149d26528fcc6a9ea3e72359447eb6980e58a921a0333c182599053707c44fa61bf606d63d47c05c7e6758bb118e9f0cd3b91da477fb067123c62a2a2f74caf412a15309e4079dead91aa3b44f2ce6f763e2395ff694f85721ff443e0126040aa7df74f43f9f0005ff97a4517a6a02078cac362c31f5c95eeeffc96c4ae664a23d964efaf4e6a1a476cd024ac400ce8a3d85cd8c52a342f9fb2a6adb432388d75325d09398a68c6768251b3a7c8052e89ff12ae02b029ea2f7f89adcf62e9a179de922c9fabb0d5a19067f33ed8531e9031dc0b3c97f99563ae9c7f01b0a54031094e183696e467e7973ef6e02102c4146221d054f081fe7d74d82644d5b560120094a7fe69a18b4ec92e13132333734445d4c75437920674a70fc808993ddfe8d1ffd373045780ab96525ae407ddaf91c9fcb0770ef41de59cf6881c99c4515953de70a92c7eb7e107425410b099ba388f893bce50e1e3f4803d8ff94c068153283ffad6940d46aa5e35bf9743c17c2b3b7dad3d4ed964931402aa360139f10e90510a2694937c900bfb1b290ef4de16b2e961ed075f1894886153c4823e33f3289a5f60a1dfa279345ffcd38e1550b9b1898e907fa3135d8a51ab8ba19c53f0dea479312467f5872d35a8eaf62abb583954cd1ff1b8cf205ec9d0d107690f9d50d4aa02f9e0a561eccc5d4ac68181ef079c4e51e04b6e8f16b6850ab622a5ff4410a455e05d6705c1fcbad72f48901ac66e700e7f8cd6095d5c51cb3e900208a201690efcad8abff7196d9504151a520026028770aa186438222a4ad348c6cd772eb315a372140cb083f93321c74adb513792ae47a55ecaefc5d97b1d0d8ffbc733049f18494ae5c48e51fe8f3b5fb3973dac91c3137dce2c4d63719fd5812986dbbf047792159559df0cfe404ab0556909b49612e1737d16a061bac0bb9c87711a380ef1103deb53d916f058e64c37f116649b6f65e37077d140e4c7b8b52fcd099067cd619d999c6b88b1c03438f748dcaa0c0489dbadf7fdfaae34c11c006811d14183d39c5297e7d11f1de4b30034de165a7563fc5c04be8b3d23df95db4f7c2fb046cfd54c2a3fa5b985890a5d10030b485d8e92da5d375229a1672d9b0c4392542e4c84b002d6705e9dbb9205597aa3ee009af19f72c858f06b5a4355ab661bf79667b8b5a7a1c8feda41592948e598c37e85392b4e01ea2cca08760bbb765d610926f6ef597294e3bdf22cdb7ada7190f96730b7ab20c9f708f6fabcda46018a08721dda0cee5021f3483f032c37b7f727fabd9e77fb73ea4fe886581ff6242535a7ea5a860e7c3a489fec2486f8c7a28fed8c34954180d6ce8253a4029fb3660f0d0f6b88d260c068c25235a946b432ff6c08ba3c145a9327148c653021db414ca4ad1041c95132dea43af1a519569516cc9717277170314c10edf34e0c93b03d5ffbedd29a40b379fe816c3821022977abfc7e7e9bfd2279e408b7b37d09cc279a1303a926b18e7f4ea8b70806000bbb904f1e60a56b90169421377d3483b88405faa368d73892b2cb7cdc640a550cc6320daa0c85e726e37663e1c5208b50525682bc621f11285e3d6aaa2e94b5d42670282f31fcec3a9de74932df97fb51a4177a8270950f87f5b2f0c97a35d23a0801192e02e867fad98cc20731e9501d5df3491846abc6c4c38a961a2ae2f05a20214e45708b6ff6522505a312cad7038e6c0ee0b72e273f4b99fc0333065f7d2451f446e8ebac9f85288698a0e51e41a3127375223228be82de9606d9deba7527058f08ea5914c21b283e3b08aa8bd86d178bb7909a069874bb98fdb9e040016108f48894b2de9c415323f3f2f815be8ff7a58824c4773e27cf1dc978681e763ea1d736c601fab83f4a525b951a723331b25402a1cd52f4bb61c875955d0bd50105b8dc7b1ba54f9810a7c2120c2554decc73550986d7accbbaf979e59a0b66da584f87cb04937d12e270e96c71d8c8d968545202454498b335f0ab65eae7d2e82dfe314c8ba8885369207ed2250b924161214483a8f6180d8243a3a228573cbf7d2d828dc9cca467116dde751e47b51befdcfc1af2832fd0d85a866c6daa5141946b4b386cd79da14764908f9a2bf4a97060ab08938d01e9d559d722a9f88fea971e8a3217458e703071b0c82c1e1d0f07d444eacd4c321766b45ca6abc51875650873571afe91bf2f7140f0a7a0cba3dfc6c035a0e360db089aed38bb8eb8f5b1fa4ebdb2ad19f889df8cac4349b388bbdebebadbf211bf4f6c1f9301ff80f8f97d447c671147a60e436ac3109fc4b0ad166add8095cba61cd204c4a00b14fe437537c40527087e6877553243ee824abd771071a23a0d236f7d32d9b0be4d4096d313b719e0561715c87baf98b5e8644aa38d3b79fb73121c100ac4e7ac43b24ba99aa08dc3d18681690472b111fe0808e1a04b8b35ec57d302afa914da41f9f1141626dd5a6dd2bf9b919445a22379c48213aa32e03da3436d6c25b91eb0c12e66147d9c0f76f7499aac800fe66f80f209261b17a80c67710ae4488c0efb95a03047b63c6ae4e39f886725a0446f470307a08561adef3dcb3bfa1f4fee5c68cfe75a34b99899c3c27129180742be97daffdf1e68fe94c86729fd0a6c742fac2b9cbecf7704cce5c0319da01f9e95e014e86f6a2581caf1cf21f67e1052beffc9c24312e7a390fb103082342a4ac3987f5d0f74c33376993f64f4e27f9661e0b52afee7f96e47f23ff737041b21be0447e7690822f8c8df402f59f893e416bb2bf2ac51edbd3854e0d18c9d7b96ebbe7b02a6fc206587ed5e4ac8cc6db04e81d7e2be825f519fa80ac2455dbb40a28d20dd2d19f2800aa5f6f41aee623b668e164a71c4ea53b797b41131d87f53ecbb2ec8d9c8318a1e3e4804990c30d96cc2b1e98db664597b432c89bb010135dd316330a39f143a8ed2d1969d212b3ab794842c08e4f59fb9e84962c125d8902be3c974492198df13db167bb9c5473ac17d2af693f48c4be2e63c96026bf66b5238755ce0a20f1488e5d71f8347e49dd20ffd94bc99490a2f4ee06ccedea4625d9235742e894ef25a4238a2ea70fb57efc3d611e247a211945ac191806a700955acf1338698a054be7870dfa5c0e13024a15f812edaf2f1516f2a62f7bec309fb353e31f7f35fbe3162ceebe945ddb272a4972f503bd2ab1a7d0e743d3e8757fc573f6e8c2b88e766c90e8cc2d7c40af80e43bd80b61ffdbf022ae09263d93a621f07cb0098543d0f13062ebe42602df3d7f33e15a8052fd4a41b508a43393017164e1564ee491b0ad596150d2842622111bcb09ded4fa938f0452f0c9710c1dcbdc99a4ec0bb74ffbbd8847d1211b11b584b640c1eb89878fd8d41e0ab94c185817af5888d1cb71c800627e95e4e95a4206ef807daad7a69f88952d147859ef70ffe460e1eab7ece39a60e1054417daa75952ad139b42edddc103da2b58409a914760131e8ec367017913933035675df48a4228e14c616e762e65ab471b2a13b9b1382bc9b541fe22435e57def266ee0af5bb30feae9bb58bcb9807c6e60c4eadaaa5823cb56ea953f9d3ffbaf652ce524cccbbfc61a2c61312b0c6ccc34f4ac7dd0fd28fd6c81a748b24d3fbb00e92a611cb523e371a76b126933657117ad525e36296ff91e3ab70b12b3902bd17ed7b0e65b8a1bed348994f207c91203dcaad44a605005e00c7e9e65e96a77602750e2346fe2be24323c3fccf403bf59ebbad329261cf1fc9e3e7dbddfe42dd1493634eede2addb3f918274907fb8f9c1bc3959b4664f40d3450987382126f67deb86b4969cc4b6318b885b3b2b6ef1a3dd70a5e88aecd55d301099dd98fbf4fe752556b979d91f37a57e29c28e3ac1ad4f76cf539d9e15067409149535d941f021fcf89c8cd171e578496a97503224a87483b4d88f35292b94edac114ccbd586c3e6bec3659044a09f4f80b0bcfb0ccd109b6f1f88f536d41d5f5eed35a0103bae20c1d4cda105ca4a39c78cd6f841b125c7272d3ea25b8ed558c21126af537d608949b70308c6a8f3a09717bf005fb1629458c3f2c18cd611d5aaffe283eefd4c930941b2de2c6c08546b0d40436e01cd20ff2d03cb419c0528765af17eaaa3012a3b4de17754c4e8494081014ae2e60a1a5d749a380bb0a3c0fc01c405c4cfabe40d70dd3230097b3179af780c421868b07e9f87d752d0d472a10fe0a188a95b7a299ff8ef4adfa2a67f9015f3178adb8182362ebef7578c4c1d3a067e94c774968cbc14e94e04aae62b9fe6afa58c7a7703d0387a5ed5be2a9159043c4fef156e3caadbf7f0ad14387f63e42f923c39a460cda7184b79b436bb061a3d3b76df1093f5ba727d5522dbe61ac02b34a09e43f7172dc04bdd61f18677b59f0bfda620281efcfe57788b81ea3b014f3c20b6f625ca0bf34654d635b41d84017cab3fce40218ead25beec12da5b5b71ae3bc58dac7136da97e686665445aa0ee1a2b11fee327a30d41e21d56dbbddc4130212a77bd8165b7273804dba81628f00f27fb66705fc4160e8301a4d7ca3361c0d0dcbcd9b9145c26ad64cbd7629a7158615985d255cc9432f9fe37ccf09f385dc3ae98cc58203b09d00a37fe35ed4a8b2f962066df6e9e27a25eac2761a6679cf6851290cbc10ab77ddaa9093cc9ff2b71102c17aff7aafc3b9f7aa5af7af320d9b64d4a1d481cced508985ec5572af2e031612e1a1839e26395816c705c29f086ac16682f9c06c595c5769f1de6cf18b495cd393d46aa79ef9ca6aa485a7f770adc94115b022958f32c3925956e1db9241c912859050c6e80dfa4c40bb4cf6266c089db92e0380a812e662b78dd0f4e0afdf44c64a5a96099ccbfed2a68f3e312b7ce87bdf4d9d494f3c9b02307d3526d49bfca84bc0b6012216f3f9bdf5344606a1d1eeaf72a40ecf667eccfa4a1370c4c4330ddfef432f29dde49c3b8beb42838003042b568e9e71b8b5f4e159088ebf067606fca49aef16695732bea2d5c25240af6354de6f3ac85d74a97cb41674a34f05e4d160ec3be653dc8e6b8566d95d27e3541363a011440aa6fdd2bcc045075a1a830d26b2f67cb7c27476199a290a8510be615e59f487c3b4bceb368143faaa389c98b4b628ae6667b4dac730b35cb69773f23787b51f88dd879509dbcfca763475cce63ede078afdad049b7edd9150b73766aee317d57c4b3afd4c662d8a389affbadbb0b457c6fad0c488707c52d3c44aa221fbc0935b1366202fcde7826634f5410a49fd44b0434d7a6998c7cc3685ec68806ca874cc8802b74321a828f71aa6d67ccc384e1041d2ca5853b20683382592783624fd6318c83ca4d9c275b0f79312d380e046d01d290b268b60740e4a1729bdbaf1ac28287f8bb52b415f3db6512c8e991e9d2b0cb0c40d0b52da13aa06c458b39b28b656294c1355790078802385db0affbdb27418aa075f83bdd3883bb37981e3714c33d6d128401641926fd112e959a77999c643b6df08fb35a162f1712ff090491c24f14a52b483e8057a3ba777e01c54e90122c5c7cfaf338572a043d695f00f514b4077336568dc329ee20ffd0dfce21ffc74e9f1c044a17c5cdcf1b8e93ee02f0d69e81a1c3923987a8a0ad8348ae534b2e70376fe72ee4871b782ced11a8530ca3b93e1cd8d636e1a6cd0ea130c88c4b09e18eb109c8379ccd3951e98a10217f11d2989e5f1dc8d84350b9032b720ef90ecf13739071fcb5e57f97ecca15ff1b712789a6527795d935ea59e0c59e75278a2d7f732f1950f732aa432dd61f0ab9be7ae32fb8d46038f2e81cbfbf219745748c5254c4421ab5ed9ac8bfce373e1ab795d02340601c296fe0b9631de47bae3949637af9dd7e1223528380aa861deac314881d9c4327dfae4bc448106dbbd1508beee1a4dbbac0a2e9823251aa50d2b04a96f82e4e9727aeca4be76b9ce4ad02532e6e05a8bb8c68d6c7623b1d2f2ab83b1987b62dc68c028ba69dae7b585f94ba5982023f8db3765cfa49a5698277b6627f8fa7416fe00f3994d525fd078bd910cfcc1b96d4b2cf83c552346e10612bced8b35b0811acb00d557c63f22b0d92e8be609b640ea1668dfc9f49e4863bcaab649f8ebf295e22e002468f911ef4cb57f9519799f5162e5f5e825c9f64f6ef6ef9a0318640fd71608a5cff8acb49bd9e396dc49c0e9d53ec2b25af967ad825757cbb90d720f51805c73dfcaacc7e1aa331828f5e9dc8fe9531f1b0e7c0c7682cfb948f43c29e0dea58e6fae2e6a8cc330cf4676e0159496ef606ce3b40a90d24767bf5109d6798ce909e2fdcd31cd1e1c6db49393ce603c7cdc14c58f242998a5a72b738cddf1cf5e09dd3c7d3f22fe5e82ea4041706a319807a092cbc423c967b9d2404821521d6c687b65c1b40fe224d3150b11d2b78f1edc44cd34c72ae6d415fc5a48813c2ac7377ea7fd5d78c12b8e8780d94f94827fc5390316b106578794f7e93db1d4e82b754ae2f35334e1e3a98e65e647822797cd9744e05158329b32cbaf9882b4c20b629558d01f18bf330e700860b3ec1da0c244b2717e995ba34a4b63f9fe654cfa318455378dfc2a10ef4b828f015e792c2d17be8704011d6136a045ff20becf2825cf14a834d9ba93a1bbb412344fa796549234a7abe90df567fa288fb185e171c66735dcefcb82f3f6862dd3a7f5fc61ab0c9e86a34ecb6affec5abf853e03b2f021de52bb10cbb7486216ffd00b129ab10442a88c9f2fad09faf0262fc194c6a12d307413657fba44ac3214ed762b73b63781d3db8b5122f9238154eaa3fb2649cfe4dee19bdd607791c0af85899b0b4f0b04be8b980abf53d038e2c605cbd046ca0746754a60459309644e8b7f4fcac10864d4175f6ed28bb4e4930c045937c587681165153ea9dfee790a7b80af93b09ea3022f0bf3cf09972a3cb4acce359d87fb3244bdc0e69566ae7c9b990271e6f374c6dd5b343dbd71493300dd6cfa2eea147ff89b72f143a2a4f4016edd5efbe09fe89ac16a02883729c5bf1930ca81fadc7da00c853960f3a4eab962e706095c745d1b617addc3461f6cca2f246da1836a0059a1a75eaf691b9ceb1f11ba60efd7a736ef53687ceed84c82297760c6c55d506ad5ca7fd7ec1341ba0ae963fc67ef770cff4d1394020ae91b1767ef72524e371cad9dbf55e93ab2fb3fcff25092dfca228bc7d9f3d2805c215def4862757a28b2441924fa73e49762bd04f03f82c0cb8e4f1307a8cc72b1a96f637e5da92b04048463bb1bdbf22e8461d4e8ad0abad7d75d6848457e37e99f939d2f5b256fde46b495a82dc3b8eadf5a7d2f3a8687de3a0d50dd0bbedd2c95e402eb8d600f09f211fc7221ab6bf7763399098034142b8f27dee68e26cafbef9c683174a1f7a3a63ba3810993288067d01269bfe8c566aaab4ff781a37f87778dbf714fca3e8d6cd278354ffde05a19ef31b7ad636db453b1eea0abc348dcc91a88078933cba2aa20d8876e0cf67223825dc79c4eeb4cf7894a507bf39a7cb4a28e311c721f6012cac9e4321770e2df5d7f10e5ce4704a0175fecc040f510af2014a78f357641321a8eee6285e058b19af68ac49e84c3988c42b913e9d5e73e44ac2f9c64668ce5a7436bbb34577f370e961f6cbdcbfbf59f805c1ba26f37cc898af39764c5e9d3b4cd1f5c3ec037b74e52a9ffe560658f256ec0b60b1e44d9faa76f78d5b30c829db933a6ee54cbe11a36441b2227633f6f3693700a745ceae92c1cf99461fe5ad4e42b7a4b5259062b4be0a57ca49a1ec5200590d09088b101ce360e07998cb90f49edd6595deedecfe341f84e21db8812889d7b0eb799686f0904b58d38308842c416e0e43331520f81f7a2997ea00308f9ac82bbc92f183eae8db18cbe8b999bf036c289e9eeff6dedacdbdfda95abdc443c42ca29d66c817bec9d1d4f649de36a24124423f8c4a745ae3b79745d09da058ea728995fa88a4e2f7eb8574f200fbefa7e995933fc0913ab409d14fbd3ee9cea11c5df054bee3a9dee721948290ef9e8e4b541fd7e402f8b6fbd3f1b25a45585c9fdc1fe868826a539587450aa3536c1f221241ec211ca3ca7aca4ef137567d30b65011cc8e99e308913bdc79f41a8d7c95b153e75569202c3d81cf1f60585a78390617c86f473fd26a22d5cb77aa80ebec61ed69faa4edb44a89c2e0c014bdeb9dc1ad9772c4082732b3a08f6fe4a055bdf0d84bf1e4424bddeff9dae0a21432c4b4613537bb1ca9573572537497fe30cb9c1c0cc7da790e729d2934b06befd0a99e0ddf780eeecdb3126337422e3d3e974f2582f1c120fdc5b8f9247d32b52b845eb93cafaf3b7096e53fed02bd9253497060ee97ce1116eb52a1080c45b0c1b903933eb85724b79dd63d4ed3e473ef1be067d0e0e09cd110428e4a23105e4adc2439a5df47ee5999f2f48a6a878fdd46c6d27e1f51f07b1389fd0c0e1b5a1ec287d821c190d9b529f78bce84cf3bb5efb23b479e68c1302e58c3603116de6498abc74df47341522f79d78f9e2fa79acce1ebfe458bf942fecf4558107054298ff7af50c1836f27559ffc3126d21035b7860dac065b1ffc83be4dc44a35707c7cf8b02a329d5992c4b6b9c748e6ae509abbd0e6af9fc9ecd0e8b1714c605335698b2cd4a96f09712a65460ae59762960f05f152452b9eda2ddfcfdf6926fbe3fbaa18bd6c3b17ea0e9b901b9caa9ca2b2b4d8b798f006f083bee94bf7c46f5cc4d2540fced62b523e2eec174f9f323ab52f6ef85de2e824b7aeef0c3275fb8d6193e4823fb9f2cad0765e8ed4122204a9db95bc14bf0ba938e370a40f6e4093d0bc67b5888ca86217ad02139ab63a69935d0b599f51b3d39ae7ce1fa646cee1aded27c05d322533d234c64f71d91471dbb007cc3cef690ba39197782b683c4bdd9f8b27ed5fc9952efd7e56049b734fecc0ae11022c1838b1f3af48bc124baeb4231cb20c301175e0422aa1d03579fd1dd162882b7e3b429138f3912b30444cd7ba79a096d46da6245d9cfdbcf603506b223509e3542ad6c3a913ce4c80ec4ee2ace5150e3dba728d0073c550396ca040833dfe666a56e90ecb9d3efbae96f0607aa11a1542b78d1a32d229cf3458c0f814b2ead12bfa359eb798100ec2386024bdfd90c2bc1ae285abfa285128dda80b0a0f34d6728397e41f22868a06e9bea0fbc12dc4b92d2c6d0d1c139a9d07539cb30f854dab7c03c12a075c88fbc9f43b7f5404873cb5967798e68397be8b498ddfad9eee00129ee9f46110cd72a087d4854763fbf5e95e15de33e65aa48dd9da10e7f2fd99808762f90823ed5779a567645395030f3b188cb77eb7688979f664eac5d84597466fd75d5fefcbd8b832505d195ee21360bffd103e1f30336b1ff2e643b22311d9c84b3e08610b39c639250e4fdf1d80370082806848fd49f2399a931c173f3c31b89b7ce4181a05a9cda77650d5e63f387e22b20ab746fa639a21b359f4b3bd4504478a305ea5ed684b875737766476633cce67fc180bd619798b23681e3e9c476d7052c8b08c3b8201ee2c2aa57951c8a01d73329f7de0711a88d0ee384a63e93e296dda8b84740fbb2f4fed911606d19433bf362e90dbd660ce61a7038aa0c63e55c4cc07c1a860f9bacd48921462b1b0e6df6b80e70d981e9d5c9012ec164b6ca16109c3cc5f3bfb84246e54bf7d034ed499c2c41281d8c32ff22111e120c233f4259372fb6aa794b78d8f5c5079f999a0514f1fc41f319852fdadfda20612e60f4df3d48361dec4bf4fc3633de24ee3568e2feb09cfe271aa33ed1b4bad1f327dcb788b3e6386d191d54606f1bbd7fc3618e0f1c342f5433ba8e3c31458b2835b4ccc9c7a8a4ad1d2ab4eeb2850dd50de893f9872a168ded7cdf01086adb532cae14ad08fe7a4544008309fcf98cdfa87ecd664a86ca092995e3f5e118ccbdb054139ac2d0c0bc4f76a4b1f5c03d34ac42e5ed65d4b4ae7db74c884ab50a78c8830c10050d080f9e59ec31eb076a92fccca5ec4a538a46a68b7576aae8ab5c8c4dab87c8e69d2a0a9576030ff0fb7759100c69707cd33515bf40aab4419620d6f78b4b3e1d349e39b4d28630b523b7836b17e8b0919217d4302913e6953600d601616cf0707bc53a5791a13b13b8e6d92083752d03dff8f668134e7cfd5ec5557f1cd5b748d5adc2ee0b5c2e7bcd823f6ef28da83a7899c6dd1966b1a75ecf7ab73246dfa7db1faf8d56c0828d7f882083f2f347d138f566e418101bd0a58aa95a96f45595ba7bf6689d12de0171c994b6c7214e0df0dc1b2aa101dcb73ea29b929fa2c5f952c7f374dddc59c3099e3538026f53f580978bae26f2763c1c8397af01acb0c6c4cf37a16b6e7aab0aa3434fdb9068590bb97f068f4eb1ae7ebd9755246f84b9aafc0b774e5720252d4948624f70b5c64a8e1e7176b0d7a52ca23c7dbb907485fcf449e71894afc5e2bbb9c5f02f76875c2458fec7070fea8ad0b900f741873e0b71f34124acdfbf091b7f5d557333e53765a023db946f61d4d6fd142f8f0a6c09185e61d80bab1c2b0e3cae25f3767345a2cbff7dca98abb2e7250146252f5d92883af4f3eb28559bddf3e4085eac3e13b29d6c393998c00fca016b454ee082b2783106dd0a96850bab20f72589d618885ed41b773b605b0e4316fb89e4496782c12c383e922352c3dcbe23bf60ec27ffb82cde421bbeaeec427a426f6278c2051d08e38606a7fd9c41d54c566996a21832c359fc41db2d8ca43c1a402ab4150d75bbb23632e597638abac459987decb50fa8e22e9e3379fc94e785b910737e154358a74d9f04a07e82c77b11fdb58057f58b7d01201433c830e9b15573fa0c00f58d6ba827ff0b23c807723e5308e228cd2cadd98da81d098b3d8caae674c50de77cc2c9e94703e42492e082ce6bb5e8dc468559a57d93386460c192bbd468c2a896d43c2d5f2e0838885b751e73a6b2930f9fa25801515a4f30de52a0d9820b87cfce86ea50c0e33d0900600973e76cca200ec7836889b899672e7f08ee21630847bebc8428691a7a4353716d7005660eb2d48db4fe0b743fa892abf86a8bb14b28de11ec3145d865c9b636669e2c4b98518d36ba426b8debada60e8b7b1b108200e7a428bde4d4e8b5b1a42fd5d88f89147c23285682e3b06f49ef1957d7c72993827b0ae8919ec2c0026a4d3526046a0fccff2067d9d95c1538c2845d91339b66704135dce5d9df130f40d1b35b054fc47005f3eecc8bcbd0f14230d1fdf0b5805fc3aada4bf7e894beab50afa4b718f433d11b181fee0754cf4237f87af5027c88a894a81406827ed71633f9f1948f31d7e4d3059989011dfcfbde25d9b86b85a68c9faded6c343ce835e36e131b3086b34bd8e0065fc85f1bf50d1a64d063dafd4555e65cf78489ec0e62b128025edc28b4d247fd211f7d101bf4923a5f05b867f2a24e1cdb2f4837ccebcbd5668c197f59dede934e92434602f63ed7ff0efd36c1a9df9b599ac33798fc9e8c5d53463fcf5a874b2354bf96983485bc5e06bf8a7e777ee0ceef487e51d5da5606dabca9f5e0185047c624599294a4253aefac110a2aa1a32a80ffd97ff314576922f7ac1b8d1d8fbea62743e53de65724c12e40a7fdacad9c38b404d052dce2875611bcc526e10647c5493f24acdaefe35947d5000e28ff4bc5f5749ac875547ed7ddeab573dcd95d800a4d07fdc1137b3d59ca50799b0c18d2cb2e4a0a7c614b51d0678734b2f025b597f315e87ca70c695ac9ed2d5c9452225292204c2b49155712e20c04d5ebdc0b39ac6da8d97d716ac24f65db9c53c080f71719ccd06d09c18ffcc628b2e28a6c83fac3808095a8a84523179eeb57ccb33be1c994c47e53b1b3c00345a8e6047a8710785ac45e8434b4921a8bd76615256b01fbb86152c3192bc5c0e323ef2313979c462a4a95f3354cfca58ff5cf38611bf2c668d12b41cc5d78414a8c12c6f8e90fcab021521a691f9b60f4f02c1c9d7837aa9d3d57aa77dd08f9ba4cef860ab2c7bcbeb8aa989c32ab1539845e0a217cfd7e5a569e0e72f39b6f2c75c0f0f51c096da67a361000963d20f9b13b07b0055c2dbef0f40613d68855b5724c68ec13572315993cc90949f498d5534c7232f5f94de17be5a795405620c5766d641c48c241b361999e814639995b6fa48e3219bd614d4340641222df7276ec34d191e7ff3a0aa4cfce81fc67eaa013f5551287d88089988ac0a3438d3125bdb0190b2a62ad7bb39a15041b0523c30298ab000fe97a0ea61a7f6524bca5846f4ee0bbc3f72d0d678a410d94b83f538ca5b1232f476d730f23086780dd40a4c9c8b01f8b1d8465665518cf4893ca90c1d6f82538bdb662646593c78c17ca1d7134aa4c6a4806d2248a858aa583d30c140c126088207e4a6c5c9325d696de9d17d22e85c131b254d2139434c9152af3bfc1f293d69bf9c9f7d4ea7dfe53dc629103a0710e510b5a714fa0849c1e7d3d9801944f03faa7fa865a301816a703e9b3a61d1c66091d4a7473c35ef919190bd00d2c14345f308ac4b91e07d9ac28f3244483c268b809ebbf891d14f879cf1f0c03e47feed3b90df70dad22def8995dffba0f34f0afe887867c6b7bef2df796322599028108640835088f7dfd853cbc8f8a61df0f9620df1bbd88fa2675156e7d693ca24c2c4ed41adaf7c388e25f28643cf97881d8c3efe7eb99404e802548285d2602dbcbef07cbafef165ff3e1a6f1613bb3fca0f202d663e8877f5bf18492df9f278e04fdfee4008be758647c6c40647c48209a4b0f72da3cc86969421ac445a1ea34297a8d2358b00074be837d07d7b8198d7c433c46be83a9ea8835cdb0a4e832d852ece2c86eccd9c09a622a091f5dc3410d634eea4d3a342946241f5d43d5705fafb94c04f87b85a049f15ddc654efe6c60304e69c3bb81c1e89429cd8c58cda08c000ac51e95114aa0198722304315582cde06e621f5a65ec8fe0243e6d88b1702066392ccc67703833299c77fc2fdfe94d1648bba3f3d38cf2ccea125eaeaa87175dcf097f51ddcc1a0baf84bd6b2b1a9a98939997f16d2f6178fa1d4868bb357c33be45e5e22f62e1e43372efe230069a491c6bb3817bb17978f869157e3861782cd115d2e91c37c668e4574e0128b47071282d571b39fb90cbb8735a9190926e6683fd430a680f01091a89283d6a9c5798853106106a8d312caed6e88878d901df3e8e2e1c8a957c38bd7700ef3a20e83d1475ecc9952d9b117dfc1ecbd3877c37793ace03b38ea7009db87f170906d8aa71ed4638ec9108ffec2204ec353a9c5789a27bdee1bcedec86172e2919147e746de88bf1ce60db6c2c70126ade0ede9c63703c653fd837817e7b6cec5b71b1b367c0bf1b0f1c5bf7c34b8d8f03890a4e638407acc3cb4a1e66b7c495a3e19f63d49cf3e1976aae445a953741dda24436b93a2d36c66f4577cf1d917c69d96df27546c012576ccfd00140ea0449f22541e738b062eb549c6c126d1e0c3b5f2d131269c093578fe5ca861307a0d87804b21ff0c5caa9f8f4e83030cc6cc498ddf9f3282782af22e06d59d7b49f1f48b8c8aa8d52bc805d4f261a17c524038413167e5e34060d067bbfacc439b661667fa230061c8599ce593618fd98fcc6ff833ee3341fc500ed8d32f49ca4fdd27c3df0c272f3ee64386146c8afa3af29c399d3c1fa5b069b3881e9170697f74947cf4e5093dea40f930fa7c8c4c33efc68723a570a57cf4e81ce0523ce2a50f2ec9d8fc0b18139bd719cf5ff6fb848ad60a44a9d3fa0e96128a0e785e01bf5094d8c9983fce9839e3a69472dfa0c833e0f76706acdfb9b23f3b47e24e54d2c5100f08846ee2ef60d08a274aa04e940a95a651a56f4803d269156a04285786cbe7a469522c899e32df100c4c3f1bde0697c77c7a494cd2230798147d869fead8efcf6b8c480106a3c718188c9b16355c201af4db82ecce003cf0695711564e93d1ae7ee1e82051d25750ad1e96953058ed72f59576f9d0847273994e7379844b61bbb6aedb5ceea0648a4b3774a48a473a61d38e11248bb49e4fec9db6f58b4ba1047a5793d157b8148f3cffe4f07ce75b28eb76b39611f51a36ef3cdcbcf34e76ec32da2651cf32da0703bf361dfcc9b9f1ec5ee3029b84743a425828b07e64d0a36d53a2b824844bd1880ecd6c8ee83b5b28835de79853ef4bc2f9b6cdf9498992282985c17d14e79977ed4926f1a430afbaf9f6d12a9f8cf4076eb96402ec6bd8f56d8163d0d923cb86d4e3c76d0086fa1dcdf88660e49c632fe38cb36ddbb62ccbb2cca90724c849732cc4639b211e990634a794cb32ef3c529ab1675fd87d34fa66a2a7b8211fd4b50f040c62323db64998d326611e828f060a46651e3808f774c2e1103d07fa98cbc8b09e397f3f7fec661077573fbd479b80c4d3ba679187c19870593f6768d2a442dd28bf3f7b34694fd81335f630381d9b4ec15001c12dcd9ee289e31f7848f3218e1926b5476fc4e0cdf623da3178450d6bbe65ce11172492e79ba9f4e12e02c50914274e9cf038e1e1e151c2a344898c8f0f888c0cb13dc8a9bdc53e1918f6870825cfce5f9803ff8ff849d6f78708241fdd06ccb9752ec829ac4c83e3b4cd98631886612e2810c3b00cc3305f1aecab615d4c0872f20af87d028425cfb1e0e0827a2c87f83c605ed5494b929e0006f800dc1c50543906123eac2fb72caa747531e5a885d76640809def5e5080df9f23b2200235aa2ea399c6a6c471c6579764d72825e54c11a4f0a3992392bc1c09e0f7e78815fcf6fb138325f41874051648d903ada3ea52ab2422a594b2f24729bd46d1c44b77197d51f464de877e7fa2a8c187d5e5f4026844334ab328a5cedf1f2659e05496df1f263efd0b14c38409ee052651d03091027b09d4f2fbc364062ffafd615244086e8baaa9244e11aa2ee88b2d5a72f830ebc7c810747e70c26865413cc412b621ce7882c458c049ffa2e24cd713a054bb94a89e6081c518bfb2c5854199281f5da63f18f8db978a27adef5f9f09faf5187cb049aa68b8b43f43acdb4895cf87eb238473a15028d469c9fec820091f6e940fc19b1f52de8d0f39de8d0f4736cee0d76f7e28c2e0fe0ea6620adbb282e07020e4e30dae7c3c459c303e86d8f99ba2fac71f33c6f8b07e2c424686291327b38c43e83073646666e619704b232303900886ea84f9f41fe2698906329f1e4febf400ae139003b84e1463a23a194dfc6cb91172e4f709154b7c581ffcfd81c1eb7f60d0fafd11e24a8edf1f2182f07575c46f6f59534d4f0e132b8c80420b324eed313481ec97c16844dd1f21aa78e95b630d33db80dbd34a1f567c58a191317009fbb66c87271381b83730c823187d0d5aecc1600e0c42804176acf3d932eac9509a0397746030871e4db32ce32c933db0fa3dda546b500daa4135a8ee80400c9da6c9cf83bc3782d1d720837cf46465905da09f4c16435974814bf2631b172a973a349dcbbcddc6e6c466476b92f6fe6aadb5669b15544bc20c94529a617406094466dd69b0e032c208979cd874492925cb8e1146b8660f30206ac812644416050ccb320c93320adddd181035cc56464441b66c5e8821680a35b4a9618935ec9e309ebd9db0299ed81b884bfb640c323aca0c9887200e0699864e6aa1c6e1520c1dd1e192c87560f93691c72d06591ebf18e4740864340a0ad687d5cb8022e8a100a20171380dcfea43af29a24ae95bb47ca1329850ac1ec00934829c00c2b3cf51cb0d240b2ad772a1d2e23595ca09cf7bb293c51033a400d2c112db17aa1520e0d9631654be9082091fd460890d42af2062135db4f0aca93a2944682dae083aa5676302c610d9163a1a132a18c1562c2a4491b993357104ce9454134b5ae0d3840e58f05bf434d1039c5fa59a0882103f65c513445d4633d508352ea114d134cd65c4850f17405c0471b1e282e55cb4c01a8d88a0d7509abb689aa6695e2861d2f23069bd782fa030693f1cc52444280109115228c2051fd6ea1912a3d1eeee7c6e1fb8d2caae0c328d3c448e5a38173dff025005541dff3133b34f6f73acef9c3b275dcfd6b16f9d726986ccf4638c31c4430c127be6788c5e83f0a18f4ee3c3a6ba36f876d94cbcbeb75092c5164b96007bd77400d729c423b29048eb129a949a34630c29a59432e6783d3bd318d9524a29dba594524ad934389052e51235598d724ad6344d06b57f7f8c047de80e3a0d88c36946bf3f310882d758c12dcd3ab75efc2bf45d4ab91f653328286395f1a5f6c40fbe5d6a4dd4558200df9499f9851ba49478a2ca11789c3012aec1cccccccc4a44f9f656228c6f77192169f2ed33ed6e8316c03cc8024e153e385648a1878aa8041952a878f62c943062f3ec18025c3812835083234f4a2208cf2eab0bddeb8cd2be945c622109d5b333dd2cb697149d841001e89a90d51183510b22d20c1c8cca0f6d06d0d4f1c205ec32d291ab234611928c57d7248614d95a864f738887960467891615c3a16cad2ea399d642f9d940f33853a494524aa93d41f55c044e125e9e96a0345617f9fbb34491950eaaca485f353a057ac4c0203b754205756090b40cc4cb8067f6b601059b833d8636a52092d885e8a205cf1e57a0c3e660f9ddf08560a3509999b9a3704b13b2cff7c65d87aaf3b73bfa458dbed1447d714413fda2148ea5d81e4dd957e5db3b54edc7413e0d9ba3595e4c1f9f1d3285c3e0e4ddee6ed2f4a22a158b70c79e548a230d30afea51a5527d38c40f632ab5399a79b887550cb6136a18552a1597fcdb9969146a4877b40f0eb247e6b1480c6a12eb30926fc79ea81127a618eca6db218d947d34257032ecfba17b610fcf3666fab186b946c31e9f61d2d9fb91446edc1837eefa4b1c8e76d28bcfcde81cf6f18bfc4d21aaf4e8dbd2b75bae7ce125af2273d4340dcbe874ad868fe8d52ca836654d2ca9bde386365bd464015ae1537c8b5e990e6ad6c53709f43e662ab909c111c1403c4dcf7ab29e6c07ec30302d2d9cf5c823391bb745f29346f80bdb95647edd0ab15895c5c26259c1598115c60d7cb29ebed242a58cb8b21e2e8535f3e152c89239c9a0b0b0a413b8a5599f446abcc2607bfc9857bb18ecd6eae0662feb56b73a0c89844d35709a8c2557a49076c994c491473a32cdba08dcd28435b61727a58c2e7a89aed0e0cab7b3ecb0f0b06914c422840661b018b1f1210b8a2547a29008e243161d1d249af89045094b64518b4be1f6727129cc446188c808428d3ba21f318dedb5f3825ef52a9eb657935c50d943d16bfbc2edf5edeb9348dd5e6dda53fb56456ddff7d91c2d7a35a945adcdd1b35d664ee9d90e97e6b7674aa07c7bb6e2921536bde8b4673c5cda9f243cdf2b28df990ae89b65840fe124797d9855f9ce7abe7dcab87ab1b8148a5a5d854bb106df497cd856be65f45edf2e6aad0ef6f66c75708da0ecc5b1a4949235256c215c1136509bdad9b12b582b4c912d840fddbd495cea8df2eb7dc596daf714bd7d29a59452a26a9e7d73501a246b11a9a1ccc10186147873238bd030185333556f4230acfa66194cd2d2e381033f0efca1bf0cdd48229fb7397ecacf37071635cc5e7275b4d87b4bbbd9940559e6e03489c4516a98bdbef5e258da15dc0dfbf88478a8543a3ad38a1a36ce47b7223aebb04eab155551f57a712c56544a452cfb1b826119c47ab8a50927aa39cd8ba73dd1269197a8e1beb87dd026cddbe5cbb5964c702994ae6f972e2e494ec69a39b8344677109c35ee6812d5a286fb92acae3551a226dc82608f5fdfa76110c7b7ffc03cd4e13301cc670e82eb514a29a5df8f8c46d4aa1ffa86fa47fcb839c2fd4214088223dcef07e66174e9b387af17d2703dfa7fdf8fec4b221dfbbca663d2dad4d0e711dcb629e2a09971a9090849a1e71bc2b88c1ef3d0869a0f7d35fc680f3337417f92e9fb9bb34bcf07e94082a440fe680fb92fa4cf79e61de2d1e38778eabc93ee830f407848638a2e9e200534a890c649fa902027f90da1de65ae79fb9b17f6788d8778f261d338a5604e9867de8f24d84744fa941f91d16988f4f911a1a721b449d187d425b10f911f900d8924a090410ca6c042e7c4c3ae76a830448a15225461c9697bc890f90d1975cc2613dcd270dce675ce6dbe3fb96efab06d2f43d2e70fb586b347236cea68d09cab88456369accd0bf9f43a249d3be7ba731617ddf0b5c53916ef86af2d5f98c3570becb300f9fad5c45006f6e44d629f43ea5611b37ce1a8cbe1593c76b4c6e7b2e5ab5f58596a30417f921474be3f43ce75dee621cf87cd8104396d3e740e24c8a9fb868430f06d1e3dba03eaa7e6f91004e5a3839312b2821e50a721414eb4bd1aa24c0efd1708e39764a3bebfdb523d66b7a563307e9a4bc960bcf941089764348fae2d94142b2eea35e79b1f8430b8efb957333d89e3a3b71775984e8d8c6adae5610751501de14117a897ce0bdf0b2485d5b7db70497af7581db125979c2b17cfeec225013cf300020bf4ed3d6cda9482294c1c49021162200326a7907e23f161e5be8c26bbfa4884da3e538fd4e0659e394a2d66002549f680152c899e6938b53dc3b88d118b3bbab20fdc1275141bc03ffc329124293fb5f3e8f7070a51f8c8f2fba40a2048eb1f8e02f0fbf3fac16f383299d6377481d8439077e9a5e8493ae6f960d449fa7a210fbf26908fb94c04a24e37789a440ba91b404ba21eb620c4d31b59ac8905ba45ede2e97783094f7d1aa16aae797803e806509b6256f1e370926ccc2a66155325d2e8714d2da496443d7a0b40ace96bb57cf44cca66ab8d9eb1b21697f88778eae3f3d3254e9b309f2e73da946552b255c6b2f1d337af864f10a7efbbb26d46d4e93b7adb7c7adf8b41ea1be2b17d2da018a4be83a977284935a386dfebe9f7faae30eba7db50b5299ea6dbe869d39ea6df70ad8ed04fbf410697a24fbff1e252fce92ba0b8c43f836049e267cc2a66b524ead3b3a0d5b1fd74169dd561e3065046654d2da46292f0d4251435fc5a4f9d9bab1ad6f099536a98f960be83474df85a22ea22d6d39898550d9fa72ca85a3514b9e6aa86366c1eb2c0aac0f42822a28622d75317b536a72eb2c225ce29ce04f86f446190fa0d2006a9733780c0682145339fa7ce1dc3020ba32cb09a449d6381d5ad90534316584f3b66f59435a71e13de007aaa7d37809a447d0251c31b404f5b483df5a5a15f0d05f0817182d65a59a44082101d9397488a315ec0e1a027d4a40720369711131d263b5d6d52a4053b543a4d887081925513255ce0d344f5821d4d0435e9c110549327394ca09ac0c009571327a496a89a940184744289133cd5090a889d1d4a544cda0f6985827219cd3c61017d29428b1f17136a0084107baafffefc38b15359f8fdf919824985990215b5e50b2b3543429c5257c0829ff8c0095f51e5ef8f0f7a7ca0a20171f828c1697660868f171f7a0d1a4fe2922b1c97a637b779231eb491287bd01309a6d10c9b1acdb09961139b36d12bc20a9758374c4f4a416d9c902d2ecde94179c126da502a6c56b2a0c151ae29126a3b73a40cb6a44c034ec6c774ccb10f0802b6f8419da60739897aa81d830c0ea1fa19573ecac4761007ebd76700019b26ca052eedcf0e7c164ab8403a3b30e3c30d9222f5e15691bdbe5eb934805f5f1f406c004d6c003bcf8733d8921a821b825d85ea39d76499e2a2472f4e216afbf6768c29c951362fe1877a0310d74b6c3ac898737b8305e2cf2f8678f4d821355c1fe93be2f41a065736143646296f7a6149d157eece2c6ab83ea1c71003012e499fceb5b76969ad9fe4787c0c7158c7a10ce655a5d730186f30cce5063512ba638cbc12d8ef18f48012368c1abad3b0c9859a0bd4c423366d663e04cb308cfa908c66dae6cbf910ca6d4eb54d6bdf5cf3cda9af3bcdeffabaf0bb3f3b5e7cf882e6d10c7467f9c9f59a99999ba793962ebfaec2a4f6d5b7c7b076a5aa210dea5516444971fec49f446a48bdfd6166e6d8f3fcd303f4fce5c0ffa3bf04fcdc94cdd14f6a95ee1874152bcda25e31c8ad36473b0b6a98057140403b9503faf65e71891f07f9595007518ec5580e38e8dbe6851a92f050735a826343ec9de743e7dc020972eabcf3baaf73e9c55ddfd1fbe17081c1f618982b75a10011c4aa3685407664bd1096d4eefc79f1edf19bf2edf2ebbe2f42312823a2b2b78948e743b88ecbbc73229a0fa11aa5de3991cd87689ba6794724e443b650e71bd7714ba677ce79e79bf74f8fea8d7cb850bebdf3b8cddbd664e64d0fc33e29a59473baf439256741246b5e3883604d0d0d4dc440535a2bbb7c18e5cc0c3bdf340c71734497a11bd943c8902193c70d876eb059459da1219857658f2118186418245daa8936c7e6984de07ec0309d9d050619b957c6ff20316e806399c93cf73ab6940cc6d4e0cc11081cf6517af7fcc07c32894c2293c8643299cc9fc98426a4716394891f0cfc9b0e6b62c0fe3cb17219f906d2b2db77d36ec8814b3149e4009b306f9f814bcc568030d81e439bb02fa680424b541da20cbea310df91c877187bf8a63a30d84eb0189ac07cf60d699e84034ceaded7364932285d46866c07992498ef69fa9e76f00ee600834dbddaa4768c894ac30c0cb687b4ead026eafbda57381a514abf9a8d4698fb073e55c920dc191138961d54fefdd181131f7d455cf42f54f2b78a2f6ef005d0ff56f185cf47ff7604dc764bc720cb2f154fe8e24733dcc88ccad2a46e152d2b1f76cfcefd56d15ad964d88c276caa662bf23414d1576de2538c61d02b036a12d7d2a319104e0604947dbb969ca6476b12166dc776b52b8a1abd55bbbb71574d5aef1983b6a9e0ddec376b73ac7361776f7b8d448dee3be7f7dddd1c6977774f2648a0040c73820a29e51745dc1c33e4f6f82597421e648c317a4009a92cc60e6aa006f241d9341ba88170780b1c8e9336abadb488d4b05bcd9addc35337323f732f939836cb94396152cf05b21eaeb923e32081c18c3c0093ab462b8b6c4ab35e97cd9b181c7737b3417362ec06cd1cd4e852dbc498936ed68ed1b0bb3beb64276577d3d6788b1db769b4136d59f8b0d253fb9687711a7cc6586fa87236d5814e0c9bad2c6b9e3d2a315a6248395572fab022e56cc9e9c38a1862f8b0e2c30aced264de92d869d6b403c7f38e199f11f7d4bce557f3bcccf33ae02d33df161254a99d80ce2dc505a7afb7acd45b9acd193459a2a1eaba969c6b95bd58a8542b286b753799d4acebf56d8707646323b34c9b5bbd4793423064df63732cf1e1424d0dedb48e43496a93bea83ebe10086a5bb67198d4d9a0ac2575b2568beb66d77521b9ab1e3d823a2e85b84deb449c8a0322fa76d18410d4893f3cc0affb01b0ddedde1b214e187c11950de587a0c7bef985547e61ed2f842da9a1e8d7f7f4f2fb2304237cc8c2af685ad9eeeef639a7c7b9dbcd4548397d5891d387152936621e76b54dd8e771b98b94178a8eef80007ce8c2ef0f444a4431c533128e405b0749e02401c76534e34c7e50040dfc638c5f7704bdbfb0bbbbbb3b9b02e72bc3dd5d538679ec0cf32acb97be21955276778778c82fa4c1bfebe6307f7d72d8a462b7c678c347effd64277963ac40c52626ab10a910050c861085105e42220e75a76dbe395ad62937b4f995b2b14f72944b9b2662d1dd4ca3dd5da59cce9b63b34c724464ddd18c66ccc24521c25cc7ceaf0ecc8ba22b6a05800eb7392176f7ec6e27d018faa849dbdd3d296798480973628ec98e72693d6a523a63babb3508357ad7dd1a116a742d8b1abdbb5ba31936b75010dce6181d8d6477214dceaa719c13188e880587a5e2d49639e38252aae0256da9217741296594356ad890d2c64b0e61b9d42cb5c68dc6a961e3650539671012877b5921d6100f1983648653e38d9627186aa6610453965cd2b6cd67361a35d769e1880995cb009fb28faa300c9b3224a2a22eb2485e707a0ae8d396393fa0d531bdbde639eb823e863ae8e54e4df6c99dc9b574f38b1ab2e3c451a36b2d585a5ebaa59bad7a8331dec98cd4e835d91055e35cf625dee826136a88e3f9f531145f2f77e627778450630f515f366e5baa535d10774f35d2f82d9f9686bf1a5ab2939c2ac020525d8a10d1a8628a0885faf2fb53050e5047a451054e12758533da875abfe028b5c61655a836a054a995c7874a95e85081c41354b8600a2a88442755fbfda10205e5e534200e28a931449151cc2c04b55d61b0bb5f2de4bded0a839c10295332e484dc6cafcfdcfb85618db3356d2f96159ebf9000cfdbb635ada3516faf66fda0b2e464c73a768cdc71316ec0e621ff3ea923f5e81c9671d4390d871ce8f3e690bef5e690924696b4b9d526cc394eee1d423ce4e450d8f6da5e595c19e221b7453e1dc201d7ceedee6e0cc51863b75a1c62e66e554b2c344318118c08460423a2d19b7d22ce2b6a98e5ac67396d5a8f402a0cc3a667aa8c47ca87c1a638449539f18192e56451b29ea08fd9ea6366259b395c0ab39d8f3a5c0a33254ac206ca8e70294ef1b1071f66483e4ada597c98a99899b355673af8e81309757f9cb43e3ac74f3a2775608238c6508c3114e2628c31c68d316e8c5d8cbb3186bcdde768fcd0a4523b0f638c71638c1bbb487718a471d5bf5ba6e429ed55f789ac88582256af6ea46ea46af4f44ac4aad153a387c3a9d1c3e1502aea95880513d4d98085d3692b3a5c8a92d3692b543824dc4efc381d28d4f690d3891fa783e3c3e9e070291a91f918e71499f89d28ab86959d05b5c573f449a576f4c9456d6771232635147139a21797a487a2574e16f4d93a2da31ee1432e47f48a0d882b8e06cf1ee314bd3c1654e866febca2865c2ac515e94147cc4ba7b54d7b0afa1e2ea74d323e2690789a9f0ce68bd12689ce70bdfc44571864a72d3742a2a044af55e56fd69c523bca89458bd583a352432b02d54f6ac325985fb9b95a5367a706395078b2c3220a96c914a8a3ea8162070a270da5bb817e3a94282e3d4edea507f399546a58513f3b55934268f04497910b8b58c4906c534cceb880aeb4d4aae0e4f0c0c9872f468e74f68daa70c9462be66db87860de9ecc890ba1916559c7751c1792420d4728181c2e8d5c9ce6f1ef8f5e214ceae74b0a46c9ead89af073542589519525c9e00525c44f97170c9185e9614767fca45dacc965d5a4c97d38aa52c4450a83dc4b11cd3399fd9049d5be171c06a767df4b8aa92beb5c46ae1119da1738c846a28623d7e8553d1cbd189c5eb7cf2572695f4ae8b2fa2a6c7269b9acb814dfc5ca4f1f35a1f592ca1ca68cdae2d5a7c318e192e6f36bd96084fc74ceb5f9e2e41cf9c9790883e427cccec328f9c9f9bee6210ccf4fcd33dfc12e52aae7a2c3e0f40dc94fef94fc74ce53fddc6170bae6b9f030c8651ca7c90401716b190e97c28ad269f22f4670d078de65e7a70cd4fbdbc105c5b9c682d16be42a525da39710e9ed23578f5e3658ed6d9360c0a8e1c8a5f3d3677cb0a551959da92e9756eb5b33ac0f475dfcf47006cacf199f9fe14cd0cf99d54f1797b68710166fb711d4a61d423e23f6c96040e4d26510b9fc7658b203cb27b2c1fae9324817b9e8dba13f7a8a5f6863f5d3b9a01a8e5c23579b646408b9b411d424e9b9b49a34728d5c233260746094b0e9638daeb8aec01419bd607060726090c0a07e7a8645979614d2a5e59202223f1919a4873cf4ed70ea19fa73493569bafc5c504da23a1f4a9cd1af14a9a2f4c44ccc777eeea876a0538328783afa5209444ee75e6dda537b9cab495c7704c36c885e97d3e9c4e8dc0bf33a24dd4ea7844bfb4a189c9c635ed7e97069bb1caf3be2753a409d4aeb544d9a3e72358947ae9f9807936250c647c3a09a34bd3f8ed5a4e9414e313f7231285b30ae8bc2a5f025f51c17a5874b313fbd0bea5656aa2a4a919fdef9b429c35e522f45b8147be6135c1407a9792117e5e78b73b569917097d3267a9aceb138559bf6a4e467a7d3e2829aebe17ce6942a04e7a78d2ae4831ad6c80036697aaa4df4f359468d6b65e46270ba4baa9e80d1eaa27091554fc04083f5a4092f8823970e7e8e5c994c9661dea9b8347f7ac7c3a5fdb182f5d33b5617069bb4e99d132eedcf0f767e3ace879dea67d713f433fa5831850fbbd54f1fa01f3eecacfcec7c7e7a86451c2e85363a5c9a618d34325de670893d8a0fe51189e427141fce4c9b963edd55330131e096a6757a674559b53572d934caa653eb62396bb4aa4114a8c606ac7170e4b58186d4481bc726e315af0b639d8e3b33b658cf32b26454cd9c3e450f8bec85cca7e861436a483feba61776ea4fd10b69036d8e18436144ba7932d5a457b75a2b215cc21ec37c36d69adfae5acf90cf98871a0a8dd5d156183c631bd05e2c02fafb0c8c9f516d5a1df1856198476f4efeeea6b8c4c10ae0f394bbe62695ba5cd45dce3b4e8b72c618e7c6fd3a2d490551bdcd7776de3ee7edcff8934ae5a8d4adf3e273ac79e633e7e6bb3947a5528de3442c8ea352314ee4aa52c31a3e5f4ba6be306493fa5df95e2da026951a72384f6356bb5f4c156944dd981583348645a54a8e4acd2695d012356c21b53ab6a72da846019e22a8942cf646418e2a453300000041000315002028140e09c522a150349266d10714000c7a9e446e50994be35114c3380a42c618420020c018008c31404343db80005925803f406e9fd1d35eaba9476804be50771a445fa11727d6bece731a8818909979feac0e23dbca627f7b9db67f96780b15c68f02803fda0f80baa17dd98584f470c08a9f222a8c5017255f8e731fa98f33652f9fdd50881599aeb7ce798695b98f0654b686831b25631c31c5efd79a46110ff411c0fe3822f551de69fe791012602c65cae98722ca6f514ea4eadf719f187b1794ea46e9a97ba4566f06ec439ddac2780c2ea566c53959de9243a696fdf6c7d02e5018dab4bde59cf7a598e74d1d0032c85c0ee3bb89f261b5f83ebff2f453db36cd8874a2ca15f126806e5a7cf339feaa493b27700bfa0e1fb895f7fb39e9820001aa59f446a3d87212d75dbc15cdd4bbf8f0760af0ab76565450eff2a2a41b29b7508328b88433adbea9da70aba18773f07174352e72e17614be4f600890baa4aec512f69b6c51d02fc85e2533e1890a3fcdfa05239eb5b45fecc533b14e7b5a58538bb96c74d763a01501a0721a46fbc9ce445c6b743fae5197bfd7d3820b3b081196d81c646345210b01a75d8069e35612576461dd7735d0cc2ab4864b0c1d773c7a3cabc494f9b28cd576f43238150140bc6ee4c7c51b294235875bd92a510efc808c1b2ef96e444ad27810a60b68480ddf59fd7175acf1564b0fd71737d126b1c1fc78203dbe42e3e55525a614af49e9d1d838d0263649d7ba2fb553123c2aaa1d2846964ab019629a835c1d42f53e906a5950f44fbda1ebaa19c4f21c3557056f45a586e33bbb85050f4d2d1f420efd5938c5f7b46bb3ec62dad3cbb7129419f3b0a615dbaa12a312c9b4782226e0ade402ad00b7e51c8f6b709d38812d4260bb5bf28e488753f402aad70bde1e93debd438a98611e0f5c8f0fac1852ce0c081fbadbff9c25f4c172e9e43a2bc405a7ee494a391b95bd0aad613c8570fd424edf68de3f4b169a6c65ef870809c7acc05be12a7fa5d81053e767da2af5640fb9ca1ae767252ad9b5174000c2215071a434877e0d100b3b989f8b971c4d4b5bed13be3a932610f0893cefe100bd0b77f2808d3f8f262ca400580199931651650b200edab08757a271a133214c64f5e5b6a692f956838104845efc37647c4aacdc25f1c50521bc45269122341b5ed4a396ac36152116e8a21af1168f692ccc3cb899d0bb85d5429e58061ffd6e6a0ee18fbe89a2a58a39552e49b12bff7c9e63c3b4cd9ebf7b73631842b719c9a42f8036bee1fa57419c88da6e820e61960d8ab21603aef860a0f9012597f2cd59222273d4ff84942dab888c45140fe8bc60d16b5a016e0ce9125cb69e68d3ce01b15ccc87bbe1f52d008932be832600c3fd7d25e679c6dfb9a435a2f639b8344f569c7a9301cacd69a119539cd819d8ac5f93a8233579adbe1e448de923b33e5b431e842f5cfd44a0c9dfcb67c85ddbe6eaed5c34f778a6dcfaccc41a2528efd7480297c4f67bb53386e6b3117f53a5444ac88ab10d51ddb587209dc972dde8e418403233e5db10d384a7f4e26c51a2838cae329c6f55ac3c5d352ab33b70c7e1fefaf55896c21c4487a87f294bd66f23806888da150f4f3a40cb0a6d1e0e5b7ade7543b0ba4b79e19f94b2f51d9872bff1edde6075586c614400287ae5ffefe8bb1128d08ddd2b61e08941b27679ac866dfb93be1ee61cdfb1ce1729dca4843e3f539c0dd56cdda058778d9923a14fb93e283bc2045636a7accca9ea55739a7b1b346c5256c85dd97bb932b0d5184e37c3419e7c5753ee752e40d08f5e7922a60a32c9a36474dc929c0cf0f774ff9337e7ba513997305a29cd947af09e92ad782c0885a13e1f167288513a3a11f12042142c61b95a6edb09349ea00f3152af4b5c734e5bbfdd326ba0627e40125803f81cc5aa64d04f8eef3c65e9a16bd9d69aa4110a0568a90d2ed338d87789ffba25ffb90278a15fe405cc470a38f84d3401b9593e289564fe06a877e7a8d2e9cfbdf9d62f02e7132b21d22c941fbfcd7f113ab9152922b66a5e52a7879985cafe65dec233141a53e5d8a17656597fa1a3346f965a6203b16ad4cff3b54b279482526f3c22394283e98b7e77382a8621e269862b9905c6e4706810ba1f04e399fafbc5df502f5dd62368380dcba3deaf0df4a64f7c8209f73c6e47423d487041f2a950f487bf4358a5100259b84498be83269426c409007cd40a485cd666d005a9a252a226da7c733882aca25632c9342255f24027f6db92c51570ff19d56c35c447d50097df50c024485621b30e393470cd983442814450f46c386289880ed2e1523f031f076cab4586a75eaf2fd910a55282fd96fa1385fd19e4f3d598774acce3216f0762ccc3ed9c28646d4320f021590d83c4a12fcf4c4ab86ca9add470b53f636548f50dbb3f5192b44c95ad573c075392143cf7acaba8c96a77396d7907e6b3fcc624ae6dae06ba0c0131ad3444a1f519975cc1b9e05ead31f620111e1c8ae50037b08640a54d9e4d13663fd1814607d68d41855a62594961ddcc19548a858600a7058cce9be922c68445b94b3f53401052a8578703485916ed91823db2af6039ad3b5eaa49a038fdae2759bcdeb0c8d40e1e836566c7c263643aefad81af356642dde390c79134f65f51cb0631c5e4e981af38831d6080a7d230ee3cfb951a397da1a30e6a3f4d83919fe4ca1a352c3c361312104a0d31d00fa8b8e4e5887630e71e2eb2d32f2a381f33bb81984d5fe009c364397d79c6e3028ec69727e75f14f1185983a9c565005be6dac22cbe2c19701d7e94f78f70d61e5e1f6e05e3ef2ab4409fff0b449249e56c5defa166a8083eadc7798b5921f5d764e99058182217d19abc13fa0e4c380784594802364518eec832ac04c2cb4ebeecec5cef15a4a8867850664074cf8732e5752f200f05d3ab5db39a52d44be8d42aefdaa878eacf682a28b92c64e0a31fead92498e8045151865236a6e3ca84baba4ec83de8c122db867066d2eff7129601c3e85bf01750713dbb97e41260dfe3ffd9dfdc1de4bcb2e3c5be9523515730fbd2e756009f542c7917c6aed7b88ec6fed66ce7f61e21ee1b2b79dfc0953af356fe79627f23f88f3512ecdae348f4d4684acc6f7136d631b1c67946e57f8805b721f56df4e309d48d46c882eb6f5fd89f56813e555df56edd366e902033169c1d5c618b3889296be0a477117d8d48e08cdd96b31070e36d3aebfe34cbc9d43cac9dd63af3f0e67e589c9397400a8230e73f9bb8db68b8a362661d4a614a3611d781e4b942c11cd6a6dc0a9b78f85000091b127bd2cb0a8aabfdb52a3af2ab87a727a3ec4fd28f70970102ec636513c3419c1641657c67e1e449277ab902347ee71056158733de8231718edadfaccf3c08928161d2738c8ba75fcf6c1dd852db8d704c588023e7b2960307c7808d85f45e3d012e237a16012f7432515a0cdbee13fa2b7393dc8f5e2d5a2a31138b392010d6aa813a99880380a53269a68c03069d9d9d189ce9ec4d38e3c0fa0f6a5f23c94ef3838ea2bac50ceec69172d4900138519613195dcd375b50cf8c6be0290a761727e925a9fb852f30849b131bf38ec152334b87cce549845324ebdc22b549eb1a2abd289ba0954a23721c4d5ef92e5ddddcac2fb2340039e2e6e01971dc40e33c13c4ef15b7091f704166dd9b2014df0e16b2de61854cf5fe6a00d6eaf1294e9a612aeab6f3ac994ee8c1909edea4446f2271c161d6c181333bd187adcf9d8514cd68321360d69cadf90750d8ace9bec656958b6c5a88652d9b0e95536d9b960e4498b553b5bd27351c3130cde403b1ef9645e1984e1da39cf479727523e9eed63835423a2047678c7501b8501d488a6769fd876966313eebd491ed303714d8c88c9a32859b967695006bdb5b560da0e19bb9621d3428eb95c1dea9a9ac2fdba61bab1657a108eb36f70dfae564f2207fce96dc52f24ca572cd23f9323d2ea3a3df52fd8350a0eaffd0bcd602cde139536627daee49a08c9e88bc965d6787b97b7ab5aa2fd697009f832b1e736bbc68a0456bb559734a9c2ea0bca984d390b382cb42878cf8c68d46396d968c2cebf0c62ae490b86682bbd003d20033155e35917d4247556bc0fad936ae0e07930501105d1a2ed1f7258ca0218b09c223fca63919e64f3f7c9ae14fdfb98ca6c3971e6f45d2227606bc717158a272a49646d70d44bf1fb023679abe56b84b3e6ebae469a9e2e205f8f016f45e30f98728f69a74afd2c75ca0dc1577693bb2020a1551a5f292e42b56093b81a3ada6e15baf49d69442c5c1b0cd88ece9ccdcd9510a69d61b2aaa822c1a23152ed8174063da08acc5ceb7a2d57c078859466f4e83d651b086634cc73a77e269f02c65e8de0a08518d8a29434b87e82b2f119076b3902904b6e255afa4bc463cb9429d40dba12962f779098005dd6ff984370168c512181d8ca8062e327b182af458678a2d5556f0382ace20a5c1dc8bfcd914f01f0e8ba40a4e5bdaac2a0d041b1ea37bb9eb1cc94059de60ec85fd82b328b58f6ce560e4a74e01b88b7b945d4da4c94b4e7d723df3ba108a4505b5b770a75d6c8edad967f3a8a6ea3c44b237e09640d0b6168283ee431dc9a3beb9c79064b9cee6253aaa988380cdeddda8739434683ce6cead8b497756b8d1820b738ffecbad03e987d4bafddfcadb3b8290254003400f64d4fc02d8559d71d044ea59006594903917d5dde17e941de083228ae683d1b78b9c1aac4970711995cc3a2709f91a1721b9f705d6f29a75eb8ab4c2757be8eb31611b8408341d68915d8d3e20b07fd64b218b1f65dfd76861b7e932f977c05d48d4e35c9afb9b7abf3afd92d7f324b4e7702edf5e13c538a55dd6013dc31a4369c41955fb470bf5069f1904155b937fd4413e5dbc0445f79f6c36cb100c6a909f6886ef686dadfc6e14e5b742789b2d8e40a2104db0115343f1149168d615f615a71150e00cfd9a6b498704bed8503871f3cf4b989bc23a99cf6ca1b3c6420d26cb164ae170352f2e3eea2852ece9706741958cc2bbc54e9a27fc8ed310d9536be9dc95fd768ed07afad736b1e9101b3ff0b5cce909d87c2defd5155e2a68cd081107270f5a1a463be444162ada23097c05d73c3aec6f62153a9577e95a19c48366d4da09773594158cc666a12e09dfce81005bb2aef8fad331200516bc403efdad40e69fc7bfe8c800ff0069800fb86c2c3603b66d0aebad8a5c8890b46110a37c5e2f8949491bd4347fa7b3f3ec11b4bb4b5a0ac48b112503966edf90870463ae60676d3527976097a723a723eb9fbb85609a3fb76b8ec12d428928fdbe3b1ba16805ab762d6ba334adf12eea2b76e6bf90f99bcbe922670aab1049e7ec560966e863cad9121f706f499faa4530468a6bbe6d4652d07dcc113d25edc563d82238ab7ed10e0e82cb481118a348f67ae91fb4f1c46cd61b838738098890c409e9bf865e62ab3a1cec84ad65066c77a23f800e1a3387520383ed444a5329f5a87164c46d3f83c000b48550321e86a9f83ad0b01c9bb15b35b3403386c222aa1b2cf62ba93bd383e7c33f52f0d6d93286fa28aa9ab8c6feac8c501ade447e3363deefa47e5e53b19e8adb436a6b5ae10b34640834b004e5126337fa5f40df4e7017cea41647ddd87c3c84321954b850aa063da5e137bdd53dc319d2f2d8e65b9db958ba8ae20dc741318c7a8c9cd763337f46e41643960717d4c010da2fcdada9be3583097995f45f966d63bf7ce5f4bbd59af2e1ac6571f8460bb96f481a75d51a37c751018bfebb120c091835c5d47ebcabba4fc369e813bd4953c7a511b434b59bba5a8451f8796eaa6f5312d4dce72b19a1a309962cc4399c9498643f910cdbce695dbbe222817f3f38de151e17d5e8977527923e5cda2dcf079cc1d27493fbed624c882347c8a6ec18a6bedc7eb68c9616c800749c11944b906220a3cf34515ab2fbe3acd7a2982d9347edcc3dd0ffee2423abf2b48493716f4f333169aa7e71b7822e0346ed310ba2da0825531c996674a4fa4fadf8b11356b87f4791eb08ac63fbb72924680a09bb8190c9afa9d61cf43560472b85136e6590d10e48ff587ddec081b1391e12d65900c31d1ed6844117c166bd6b2aa3cbb93f880f03583fbbd043690139e513f2465812b3149f320874fb6ec731b854015418e6b40494ee46bacdaa916838700d528bb7c581b37218e77030cbe121aade15ebe21df697d3caa2fce8890c04ca4cf9ce248d3f049d2fe2b879373d267f635224f8ef35dbf89d2556675891ddc5b183133cff1ace09cabca9b5b306fd74fcd52039e1c708bd23a798798c0f1b9e0ddb24ef90a9d0f16c34c57ed392b418c7a999b9ca5e671e3e248dac89269c389d571b020095f1a940dd4fd1222b67b3a0006068d94e8e4a6aa9989dd4322a5be515232f2f8e8372f5695cbabc9f8a0509f313f80008000659fc34352ee61a4238e3d4e3d98bf22b7d6415db95153f76b8716f72a52f53831c5b5a8c0a089269281e65239cde30d6f9c82e0ae53edfed01bd83a060ecfbf768ab2a14fd98dc7021d2ae33a5bb9497900552dba1f2dcc686820d1d80afc474148321b07ba3434532f1f6c89a098e555f425e146770830cbb915395598a0d9bbf8426528f8d3a6073318559af20d0b678dce04a9d8032507a80153657813f5ac5b68488ad009a9db570059556e994695d505c4292597c14cc46d0cf558367b542bbfd9e3388432afdc5999e918093644370a2601b9066446c8835a15dbc692e6215b0857dfed27e21c236e44dd1e91d1b61f95f2a5e6a53196cec1857e50a11f83e635968db18d392db2ded0857841a7a96e381f4c269288941912eb385da25360ba804e8fe24fb690b6bd266d0926ddd3818b85a1a1c847ae870022c3f844849704b320a69b9e0cb80b4daad58f20c5230dfa796823dac35284d332f61c0a1f86c384082972b3216b863fce780630da1815ff35a8e7feb00521e44647eb985d5c480901575211ad5a326daa2a40c211ba62d6c3984463494a847eeb1a5baa58898d41845a464a35d0375408ac4fa890c2781dc7df75f82f30ac2adcb8c003f1cc401ad95bcd10039f051711eac14f74971b3081bbd2e49c357129aa50f2858ff6293bc7bf0f40073544522be3e49bb3b637d3b059879154743534a824d1521cbc856c501b7eb2e7e4f481bed858e2967fe74e15b95e9767a31aae0b69717920465b476d695f850e262a3c7e00e0896bf3cbecb959a4d801b6c76eb2f2e73bb426c85ee71047f0e4912943a5dd642bf98b3f6e3794f03a8e2295104d4a41ab29ce24aa255cb02d13a781d80b10aec7819e89e0e1bd35962db5defe365f181760530afef6082860f17d80a8f02a2f8f0d713e49540461631c92d9b1d5a9c9c2be5e283fba51cd43bc3e638c47b72873518b1be252966d589888f99f31951afb92854bc5566978af4fae20571341f94776941e3fca6c659a675e1a3126ff570fc92ac86b78d44ecc2388c47de13680a3c3a476cbd6d102261d7f95870a0bb66d7bfad5e335b11deb6e1d291b38daa98a348d840f409d661ae91dfc0cc9960b1d97ffc08614b9d862c347cf590017aa63873c36f0e9863b3f353010ee100c4b97be135154ff6b5a6e6624440ea66be265dc602b8c8b074a0cd1ebc26adbe44db4a7233a7e3bf2ad9633d30dd4c0a8f0014817c81ce20d571be8f9e3541b288ecbe1f1c95d4fd2f9066635cb7fb1f34eac515438f3c3f3268a48669b07ecd6a76949c8cc9f4ad84bb82cb89ffd2310bde8adbeab17c4ea0632549ba317061ab03e6dfe122a987066420767627367c4ed952c4aeb993cee86607280e00da9fd053ce5a57d179cafdb8942ab1cee8f1da17c2ce7416ce75885836083b03c5bec5af3326449273b2fe72b4f674c47abc006fa2f3015d8066c2c9ecc4151f77a07979bccd7cb8ccfa7df36b3654282526fd29d8e117313ccc94cf2373ab5e2d5b27a9f1dbf38081096de89429f5d2029f40a339ccea3e0a3c08d65a73b868015678698429bdf50abbfaeb3470c80be508257ea2b2fe5f5fb4c31076d1043aab9a1d8c45e278e2275c3517f0f5071a9ea6d966c04279a520c22088fcefa60b0eee9b9b6954bd175118c632eeaf46ac0f75cd1d5abb03253383c5da06a9da5baa6bd00bda36ab9bf01bd036b727a7c560d679f05df28dc606e1bb7b31d5c7038fde91ca18b40250ccbeeedbc275ccf05abd05a3329f251ecd2e375aa553d46ac92d8fad564aa70c6fc8fcb48b20bccb15c33964161b1c33a1dd8da1e9912331e6de94ea0a93652b1aab1fba9df7fe1a73f7699ebf8aa1516c3123751efe5c84c9eebdaa6f3ce4260a38008eac9369a103e81d7c752501eae858833a1c9f23b96101e0ccce00e4fff923af6d8469bc60055f1c528baed578f7bd2ee347e080a1564f1e6ae645bc28805d4d8d05d1eedcf78884e5797e2b23ec99376daf2443792b4e0ca2e38d8bca3cf66865aa7c89122015358e2b36e84128d2189a795ab0c328e72b8a92136fb0c39e1ad2cade87d00fa6b571e4bbf0cca0a198d02e37e7c84b95bee4e263118b553d4517920ac4162d2a0df96f0cdf62bed0e5fe8f419fcc2622d8f5e99753385ad44a75a07e33dd9d0a75dd49acbe572dc74b1069f5c34e5f7f08807dd3119602badd70e79912694726a474a6113521bde07bdac7a4dbd1d3eae4085b72575a4fadd79da59cfd813c12f554c86e5a60fb2e153b4d97f5cd6dcf884dc1f12ff509c67baac1669da2dda880485f5d4a7a8becd719ed1e7fed7e2979f4325d349cedb8032e513e60495c84ab0e567de6454145d4f630bae46b7efa5fced8de1f32f13ed344c8d79ed7bec78f6cf942f5a98565b1573e5640ca6855f3f3217384ec13eb31cfba5b157fa9f0d5282b01d936cbabadac9ce9aaacf8c016a5fcca7203fd755e0db664f5ad91152d4bb1ce601742ac7e4a9818c91c562843acea60bc88847ae3024ac4479e37e6d6c16baca0cdcbe6227d2969a1cdf163de75a986d14eb2e66036e9c199c8535e26907b05db52fba0be1859b6b966e5ec15ae0ad2521a8cf14b4e665a1ac0f195b0749c7155fcf3081d3f36099162d6f03f718284862239e582a7e843f2f960d99314f0868fcda87720adebe1e9a1d505e4253a15ec67db8eafb87e300c6dfec573558186c143eb5f5357692e0eff83ea84755b702ad82cab5846472dc610daa58155605aae40457f9893f05dad568d8906cc40a3218f575633540e3b6170399b3f9d02398ea2e2536403b424a32df47805277b239b5cf4518bfa5b50640ce5437b36576175feaf5d697ddddc57b2bdcdcc6a771e940e1e7ece4eb730e4590d0f74f518138faf2caf4b348bf501a06c38ab26b299c357e41226bede6746d616e39694b95908291a2b9a4a152455e2ab636c2bca2be0a8f7041f39fa5202717da7c8441ec8c48af79321365c5336c5f51e179ba825ec7cbd725332df55bfc0534dc077936d1e264d998550474c9a89cd94a25eaa22c4008668f282b5b52a9d1d886be986b9260c6e5e7833f17a0372db926cc833589811b178a69ceb2f682ea308876e5f2bbf392d31c019a549aa977474afeab7d6463ae8151b2d76f1f09e2d54bf98b90b7b2e5a0504fe9604faebb764a3aeadabec904139eb98811b52505a334367318955c62157c0abd44254ee53a477e57ac0ee88c3accf48c11bdbb1d532cc358c26d3a4e0d8121ef54cfe4b2a75cedae54abedaf7655c287c3e23d8eba3b461408a07055e396618c75c58ab3660f978ad8fc96f67c1770fc6111f66c11c4f0d4aef08db3a313c8adc783878d865aa6732a22f133e97f63165155792c5f3e4245b7f7f916e800b787856903655353645988d96af80b176a33db010ec36ac3089144cf949ee2c54cb7a00de1267b4ea40754467809c82a6b043370ffd327e4357f5ce603206c86c4cfb2dc17de41fbc90273574a5666559dcdb1b6f43975b8e34a2a4a11b75a9bfa65ff8cf114935cd0ae4bd380c3c446811b59736fcca248c8fe16d2cefd693377a540879acf821d5f7729aea236b57ee5a93b87166c1eac5fbc38435ba3af915ba33a9a3ec356492e6bd52168163eb90072b17c8b81012a79c13dd48ad4e4e04e2534d2a83d616045f8d029a027cc837685c06bd569c0359e67b3771b31f8c2503172bcb81214493690747b0f26a6236c165432c447268ede6eca8dbeae1be7bb06464117b49217f689f911c9bece8926ab97b57462bd8c889ef0641db487c3f6939161326075500cbe6c0955c65ac59d8c14b3ba3ce44a8640a034d0ab197c22b118907ac9bc88ba86b89c62b21afb40444f128ce68670cabbb168b5111139bfff7e555729a8befca5e7675d8ee75533e58b64b08a09521084bf6d38d9d9c81d4d0433e9cebb60cf4a7deeb57d4012fa6449458f62d0bbbcd5b7747c31980fbe9b74174642da8f5c6a8bbfabebad88a575840f6debf5e2a6a05e0fb69d28b80dee30f9b3c1babc30c5f071eec0fa214db8714a165c647d751f2144176d9b16009950c93c55047a7012dc22ecbb8a7c3891e9b23bfb2761dbbcba81f41fac6dd97b9b47ed6e3ae24e53a30ce5df02bcb3d0c660f9ee657404e31eaa594e015d54b69fe2401ebd76fe09c8f2be802faa423fff14d2163f548adb74490b92ab4334f58b73aa0a23865fe3dcca6a8d8b7cd8ed575f89a5d1f46db8d6bf45faac3a53598aeed070c5e0fa87a84d46499cfedf2872560b6cb9946b25abc1f22625b984fa18a926db32afa26d4f330d92bea2dd34b1a52bb2c3593593b3642256ecf83c26df5e469a6d44427116e94428807756384d81611320c6f2a791efa7ccc802321048a0b3b17988928a8c5c784387dee02cfe787e978af7d4330c342ff196417c1ef987670d20d8beb9c81bd793b9206846fb94986630afb87d5c16a9942cc5b699a535554de67046f10933feda84149a99dd54105a40f376bb6d841c115afafa852e3929c92a3fbe81fcf7505a9cf7816607cf4ed4cac168fded8968d654b10c603863e9fa0a1d813b764d96553eb32111871708a3f21e70d9bbb8dc1a539e3b7eae24a5912463a3870f2e734772e348799b444e3134b8a385e45d8083ad2f8d3e30c2c9082967a0058a9f1bd6d2cac2d72a803df957b540b5ec6175e3470a8e3c1e900ac4d4db2335a2ade3c5538d6cac718863f03a336e058ac22e1734423e235f11b981880219fbaac06ce11725c8e61469ad5c8c90817fa74a735aa2c250b9dc2c4050d24c669d90c21df69a2474a210f3f6a1642315e392c51c4291b6ed903420e8cc022597c2fbae91a75c7ebab67c7a01b8e83dde0e9ba9a78323cf690905795b05529d988ac85c6252df52982695cc8525c1c0ef7281f796ad39994ed61c4c587a223c113243783cd1cc55024d0c9ba22eab831ad08039047f5bacc582e29d91762b2a3bf7ebf1ef81a6e86db76e9a1e3393c50a579db8641b0ff6b8fa040a08b8dc6138bd77aaa307f811c5474b8e0b120521f24b3f85c098c5048f05e82f2d286fe401331d66cd318b547c6ad679d8f76223b27f5bcf6ef33151195e1e9e6e4ce2c4efd2dec283cc86bd08b7c28741e99f4833fee8b371b2e9f6c43cb98b65233b08231195a59026b8c0cb50492e2205bb5e05df4c6ab138cc6eb6e75171c19ad48dacf04d7eedb9c765f73ae284edd2320c489266c51bf8e08668e7b740fb934d3062f248a5f43784d1d7b3b0f84f19945dff67661ef387f1532c665934601629b10624438f093e1223aca03bab701bc9e63153c3a4eb9da65b4da8ee85d726f9fdde61e7f3b1411802d2da2eaf3b956a64176b0193104c0c3b154696d7b20b771fd09acae5c53d8186aaade735b8a9331a055b22a14d93c060c2e9023c6fbc78a275b547b82e27723059986371b359d0b8a3f0915ed9bbe7d1892e74dc8dac2bb5035ff9174b6f70282911d66d69466cf85aa77ba14cffe9ad4343bfc44c1f97149bb16e54599aafaf37db30b712dc43cd009dd9bde89ea4aded3c055169bf4e3457b05ac7eefaa00b8bf34fca8a7ec7e2c02d56bd56e5b4d6a8ff5f733d879c411405d0f08aa8df4d37de777bb14476376390568b87df0cfec463ada36f5c588579378e938590643505b4921ada59ec8d1f3dd3f5dbe669bf7f1ca166536857e424882953b9ca4aaa34f4442aceba15db2cdead9a9937a2f82ac8245eed2ed29566db40ead51ce77eb7a9309690e66a4eddbf2856d747ebeaacb15eb3ac6320f010b424ce40cfc7f2897d0821fcbb9a7f41e2cc59c8feb8debace529e211d9ef6caa2010b92ddd3a3fb1514b01a825ffaeb57258f550581be30180b407b8e594ec2973f542c4e8be7211393a3ea4880f6b5927f795cdaafd6307655c8d3ba7b3e6da04f70d5affeedb00bc74c33f8520151cf639b277787ebfc0c0ea27efb7dadbc410f72e629b60ff4599c383620a78d4f357dbb1fa7781a2dc61f1cdd18dfdf1aed987e94660ef9f3b98eadda171c9d6ab58305df236b975855997cf673cf8e17ce39e6d633a3b2dab3d32fc5d7ed6cb87bc705d1acfac6608f59f314c5105a7e54615d3ef2eb0f48f7b06127db67e2e986d6cecc408f0492d58e10510f93ce3246d3bc65ac9de3529662af03b5ec2748408e5ae64e8f9c0e598e566f1f192a7ed45c5fa4a343a13d4b788333508a864e209f1d42375d13af7c508b8232909d05c1af60018dae3f0c4e73df0f78c083e53f50e22a351668437bc88765893a3963d5f5158e306e06e4b8c6eeb8a153566a4d5970a290480c2a80676c4f7ec30f7cb032c8336128805b6ad605c0378d4dc56518d9ae3262720bd3f6280c52fa3de6e31edb6a1e834f3db2fa1b8506c261c0d9659402caa3b3a4c0058761960d9a669e1f1f920bf1012dee479e74d25851bc25b4dffcf61c5fef555f867da1fb5ffa65f059072a4a01b12f5ff1b9b2bc69f647b834b6158594d15490a6cb5d4832083fbc0b5d23eb28444181e10d23e41c61220a486fe1945d0544d52797d0881f21e5a22515062281935f781962f1417d362048a40f40b5a464f59e4c5baef63c746b15ad03e34e3604696301474407b0a1c8a90ac38a431af6c433d3f98dac8eaadae4f383459c7b723e6ef1ca54fd5dc8c4c35334b163ff94f05a302898e87553ae8cf44542c3396fb1223a9f5b59525658182343f40ef4ce498c55569569db493a6f499d64d544f7c62ab3301dfcc841a983a5f1e708e253452513ddc428835cc5ec9c7e133e0e4f0582829b413cf41ef1b028042c8677c4e3a270a4ba2d014b4c76f8836becd997d74021467d8bb9c48c491b27ef4241c978794ff0628d08f4b6dd2cf621dd3a3736a039207be22826884703b231e5e12008c5d2d4672f69ba86a86bfb944a72ac09317e32a40f9bb13d3d0443057f0005c5ccef0d2cda423101df88f54c14fd4f786ab50b28cef319771c56a9943b37a30c235807f30eb5a29e88462e867f6b3e94d2be820e5b400fab9186a62cd021809600044a14d593f579a758b132f432da0d107c0fdffaeab07d20a40b2d67f140575aa91e3e8f17e3b97610c3965ec187af447a0ed5d4beeacf50044c4c968176202d8743251c870822144843598b4ffec7303d0fadd90714aa43ab6efff465ff413202a5060b953acdc75840160651792a098a699ea9b491c4c7cd3b93a410025f8afe0b0f978a1e0a421a8157f01fe974088ca75fde153284cd6d211a557dd76b19c24a0c1148702d99d107f922c139f09b40a9d2c8279c71613012e0a8d87321ee16e5d9bae42fd9215ecf088486bff214821400d791bb58bd3eee0e96b80df0bc5adc0c0ff3f4dc2ec613497faf6fd14376f79a9f501aba0448e0b977c3add611718e5e91bb33f9a33af741ab453128b3cadb7c6b10e7c970e4b7bc46d0ebb700cb012c7e8cccaaacd14409835294177aec41cf8e4aa219e6073d4a729545916352421a10dfcc32aeb24734a5ecc4df1c0a530a1a6ac87ffea9c86b35c7a78f76f382107edb7b986f1d480fa95dd72f6761e7f69b2831daa53ce6a8de111e1ea25596b6c933bf81dddfd3f7f0f43db7ef7a414607804bfa01663823a61db15148608af026c9baa5ff2ee2c1ee9ae5185908d19232c35a76e9538acb8c9e9a02a68009b39efe6baea1d21e36ee081ccf96f37dbb69da31e9cda5d9b8862cba520c10fd5d0aa94ecfc268cb794477e8e9cf445a64241d3472ee0daf956140c7b474c97837a5bdc65c60841f4683a6c2f88671019aa868495b8989a32bad78a4bafe4097a87a6dd695ae47f24369602a59989505168ebd13eb010b6ec0de064369d12b4b63e8408a94b70bacf4217b03a44080bbb168604b4697a1607ff39743e00ade8dcc42d2accfc6c44b3136fbeb35d4af717dbb863691a2727dfc8a3b0090b63920ac30456ad0eee6cfc4461bbab698bc4005030ec8101666cd5b20fe386848148f291a1770a64a0320b4f8141c2d2219d028a2aa7c4922f1fc93fa77d1a823b55734ede4ab335c1411ff1a8a6216494d5209296c6640cf67a6a47c83df799e9e437c772bac68f4fddc45f301ea8351425348dd05e8a1ff848623a15c8d84b95aaf31bde5fa8fab2b5e2f69ddf58908eecf9422d2ddbe51b69074e998c1a6721810c779b83edc9128578d8c00927dc10bae8d6892d8804bbf4f1652d4943797b364aeebee02746ee31dc4cabe3e651373b074839b94847e6142a3ae9c67fe3194c4513683838a2f476a108292c5c0b272914bb210ab51644aa2c7a8a6b049da2d66b3ad05cba3d176c3490747c571215ccf7a8065f9008e113163d9a395a8f170c0c146e4cbe04709f7a60bac512ac18f19d21aa90af84d64a8658db2f062ea7dc508940e326470287b37e3ac1b72176f02c0f6e4942023cb65e70357c0b74684b1dfed68aecd523aa70f17bfdd95690a1b1c980fea5558a1df697eb151bbf0574711d4bd8cf6f928a6dad6ac8220495d51a5b6b762a8087358cba964c6548575b2acc695056319c3fe483c5fa93f3072f06b439aebbe950176390092fc48540faf58d21a4dc4d57a09a814e5ab8ae207c4c94fb47973eb92a782424ff8b584fef9b2d76811baf462811d595b39e53dbb45e914dd1bcebd047c0cf517d4ef3eb69f14607ee8fb35e56659a9d280eba9b6cee918cfb7640ff76c31ac5950a65151d001c25a526d8ea39b071c9fdc1e45dd4aa838e26410a204389af9eddc0008623f62b509c06550abeccb8173a1c0c1a294920662de0805941ef60598954958de9c75e4bbb168857c517c9204cb6014660954d20c3d9ef32a380c5e203449b42140a93299d5c7f0e088508c6330f161ddde1e8c905f974d0f958a8823fcceb6ef6e8d365c081b38a7121ec5c13fbc5b33e9a795acbd1440f560a08a371d1d2702b1d0fd72927e7c48017103af4979270c4e4d23a77aa1f05ce6c66ecde5e0a405428ae81036313afaa3d337afef5b77a8ee7bacab91ef647c73edbdb032e34e8a1aa0dc8acb5129acda264840f4a283675ef569b6f5597d872828ba89047d6664c11bec4fd0205f79ec07e5674e64fbc698b3bbda72e988ceeec80ddeb49c6ce0c4e046446e637e6dde69870ba2b9cd284413dbf6dffb4c05f44ff809f12180878042c1cf7e987cb769a2d0c6adab95efca3196664662548f97946a31794ec8065a47241474bdd25cf193d8cc60e0ae3df33b5a3192e1e6513b49449e705047836ca12f73a16dca1ddda5e676b6eb568116457c5c0e36d38a2c983f93f76578eb8c96d70ca237c259761f16a5d353f5288cf87d3eb31d7744e8b762bce7be6d1f6748b75897cb21181e9d8194e56d6b8d0dde7f18995dd9ac4eaa8120455c6a077c2a7bd0a6b7db83952b8ac62516a2250aa14c825fe0ed378a250f51e4b2ce05cd98d103d60a43003801305e5c719473cfcb538ac78a7518894fa5d2f3ada526843b3dcfc8b7ead2bde625626b0e65402909846cf1704f987bc67ba930fab4cd0bc8c4559943efb926856a27fd6abc930d1aeffbd0283049203f16e9089f3a6c7da7ad320c59e1f452141f5ebd4bca61426284c0d24a1265e24c183f0505d38ba9e2cbf947d58201ed2c8cea00c31e68c7af5324840c63cf4bad6949b8e8fd41bb9488d3338429e4a4ea654676c36faa3971c0c4e272f16c2c5ffcba9dd4ebea096511749f996c209b8fffd853ba6a76e85371d3c3b61b95b1e8b21eb2a3fec71102b6d9a9cc63a5b8e8166eeb2f8c7aef24927524759a3df36c0c322c85619e68c9ac651fc1701a5c1bc5ea4580d24829777a94c03eba51e8a6973fa0cba186aefbf186620eedb4e27748ff0c8decb76ab464d524ffb6f1ccdf7d8bd74ee19c1e63d133f8153fa28bb45da9f3eda00587cffad06fa74b948d8bdc96540a5fe7edda87a01c4ad7eff69e962ae98f8263f119069e1be2d8aed56da7552da558211a2a9f84d6677e0056889504e7b75a0a7101b4ee466a5d04f01cacbfde75c73e5bdeabe0b92eb347e50812f6d0841bf0df813922611b5f4f4934a89cd87d29437dcf3cafac499e16dc2161eeb7a13763eddc24f06774a208f3406c719a8f4c9400a9d56c2484e3a09be3a5353140d82e671c72a9d0b943609bbff11ffd76056436d0e16436e2ed92583f5ae14b4eebf22aae073dd1107339564dc3b4422a11309d3f0b7d123d7bdd93c61652be6695a7d129dddc27fddaf26ecd0d64ae0689a0c490d81ae86bae87cb89ad130a6e75b2164c2508c52924ed627559a5638b846eaf2a1b4050b33ad9f2cade9c9a8da0e47da8abd6510e5a17e1388791bbe1a7f0a58ec6ebb8383ac0a19ac4755aea0b22f065cf14e196180dbf6ecc44e983c29306cda0a2964b7af66f4a0d055305b54f46c0ccab5c4790469c14293b687c48374d195e01cd7ecd13ed59c8da0c167f1ef2210ffb9e1edbd73d56ac6577d202610b6d6e3c0602e34079400c163311b747a41abfd357c16c5b34b69769be3f31043d015bcc6a8159edae48a9c0c1ab81a09af68037aca536324488addd3e5802c48a70cce4fe8f40edc4c5bb6a2bd5df2e1117143b119f10527a8b34ec635dbcfcb7e3388461624930e51fc9f748c23b02734973d850297aed1b8ae5fa8d3b51b97e0528935fc2107ae4a8f2c8b520ae0338d2884f3753764d887fd5616458da2f251166d7f6bc289b5fe7306df94c72b1ceeedab958912784884f3eaaf41c9b968b2c06c91ecfc8259287bad806e4f00224a5fad87d18e1aaafba42ab3426e75804f0d5142320ebc12256fa95d325971c92b598f7392b7964319654d65a4cd614ed47c1900dcab40e7b6f4330244b2140aa625dc093185442a3701b85289036746c3d3401df6a09d94ca51d641f9a687ed78e8516bd64e1b9604a0ee24b8b2989f3f4451b12daf3c5083eaab168e30fe1b7d13e613a38319b5b9577f465d49032ec029278417204b8b5c1e2a22cddab240d684cd26e303b49967b9f35b552f6071d64310c14aac4d119effcd58f9617c76d8391235e06c56339d1fab81a7122af3285eb1c69ac450f7b3430269ddda3be1dfbf293cba6d4bf219fffc0f6154e8c8fdf7314584ba52ec0040bc3a59092a2448a9e729c43bba6110cd9b40261fe486ec805851e0063bdae1e13ee656ac1ac6b331bf1b8eeb7a1223e8d32e30af28375aa1aff31eb7465f4fb777fd5bdb76dcce26c17d04473df519a73d12f1f4eb31ec410c078770f98a75e7a6af796c53992276c76e709e46223a59e5a918482849518845ad13136570874887a54b896342f0a72d58b0050633efcbfac8961fd079c7ac88474e5b15bf3840f9587845217598bd3ae27fd5409702ae725258d3d0f9a2e0a3fd0a2598dc8f3ce0b71a9f76ff925fa85875764f19821ff9ffbce9797c2a096315dadd08519b8f49adb17a5fe32d57175f720a38af245ce48822eb3210a7694e30ab903463f80f91e36aa1214e39cadcb580107642f15dd0369bf50c0705f30227a7a01e1f162de07fe473393a5d0199f766a630ecbb091ab7953bd4e219f73d65f0c955b006658a9aa4d414e9e11bbaab642dc5f353295c67533cc78016a4792f331a849e6a054078077f96d5191fc7faf6f712a81d6d56f557a7830547fa0f11f507a9ae3354ba7ea0cf62e77265209bcef20743fc60ab11b6c80d9aa3a2059f8f9f9d9c80ea16eff73e06f892792a3961d1a2cf0650e528f4a3658139044622dfa3b09e3679de192bee15850cab8b956cc1578e6b651d97e4e10d965562a3b19564956d5e84b5aad9992a705029d1f3894729fbe250f97a111b8dab0926a4dc8a7e5ab2c99c0398a4137b95c420a762af621e667d84ae1d154f590e7a4c88f6cce2d44df31653653442afceb2b8526557ebf75be24eb84765bb0fb31821c49773fefe3808cbba49b440e50000ee2a146a597a36b3d8e3b32484e82d05b06a2b1a71f8d1868de0b2873167abc756f2d360775a1b91a0a2eeb289e021a546a1f2f040b63568b994dc15170e4c55fcccc0bff65236646fc61d185b07a9314940fad959dcc0ad5d83e94ecc3c7450e8554e2a88b97ac3d29315894c130ff00a84a819654623057153abe0a447846e3f9dda74d2ed55e28ddc1197a875d55101ea1405624e9ab47954673554e33257e068883405e40725108b77806b85c739c836638d082d06b2bc04d2c419565475d3224e097ce3f8402863dd4cc60eb1ed9fc661d6fdd644f065b663d51defc1a9ab4650ae9434fb35d4647276c3708b3547813731174459fd596404a4fc39002bde32ec10bdb1b71b825954a3b778c83b5bb010e3f85b97248487b6fc4dfe6519933a8404606e526cc5a343b169af6d52a023cb55e89b427a1783f5a63d3d66767634e35eff309bc40658832a18641985bcb051a7f6e3768cb2f1fd113a2570ba1e6a5350b32e4e7d489aac866b4113c290cbdeb37413a65cc11e7cafb22c367488f8ed4cbb6fa6c1984521d6ffe25d6db2a67bbb2cc4669d115278111cb5f4ce8fdee3a0eae32ecb76d63eab8552abd75c2fdb4dcbdf6f45b73e97103ccb42235dc24234e7de693a127c4a06a439ef04d93e16969a0b9520593adde4f5c5d414a37b27f72d68f3e428d14d0f2bc15b086c3f495481f064c0d0cfb7524cc773a33b9b31fd85289a50938bb2613740382f6a7a9348aea1fba770eea847a205dc5417cfa4c639053979fccb3d39f6353565b52a41a0f54b0e531fbfa6266f3472dbf3041ca16cc523258e1a0a32371fe4a817fc57af248a8812399521be5f8f4828b4074fc34c716e5a1f08961c506c9c371cc9911c47e1f6c858929cb1cb3346908bc750da4c1d68de9dcea2c25ca2e978ae992ebab3103333dc4225f74ee23ef91a5ba52f3348f505de7e4183731fae486e6dcf1b1d7126d5f927cf8ad2ee0f2b1dd6b910f82ee3f067bd97dce35c0a673807c1f227ebe33893f7699e34127682a3f30e28ac8921b6626c3eaaa2ea44c0190dc4b4844e5151437bbab3f87758a375571ebc1b71228d0f3890a3d4b40ff089bdb968d725cc220265a709e710fa57a0f53c28c76c2b033965395796ba933fd8d4dc2f10e357168995d91c2cbe48ce3c742b4348e75c5c873d7227b18f2e7ddfa4a37dc5d6f886eede9471c0fbfa7e729625d54b2891d0741833ed19eb4340b06948bd43dce484245a6011668865b0fc3e804e7696c639768daf15e3345124ef195c54fa1e5c78b76a5b194680d4640903b4a4d2aa8e2cf0e294d641287b53ff67a938d510ad1ad4804e396e97769eb0120c13ed8368f78f76e6b996ccbfe3355e79559dcf8921d2c5995a3337daee6480aaf43b6a4b2096ba5a57b313dff30364a6c0b678ac1f43f117caad2ee3ee8d9087cb154df6db96956cdf4c7b605c7875bd84080f22b99018195fce0c4c3e54825382d79e7e292439031e97c276785278c05fb245ed79dc7ef5eb269eb09011fa5601d067718545490ab482179189e2dcde8c5e71ade38e24ebc77b13860ae1ae9c1268b7c815627b756918e641f954966eeeaf1b3fdb6b2253c9b1d908ec22c5020f416d4a7b6cc6141e529fcc59b8995966086b17aa73fc3be35583377c60a7959481f33b425ca7a59164735a681a6b8003154c91331ebe9f68ec6025624c523aaef426b96306e12026ee38c0b7757bf495ad55d62fd2c31e8329b47e0b32166018174a95d4968a7cc0b431048c671f8a70ca1015ab044be44b6fd503f7f7914bd325396be95f94640724b09b80a40bbef7bc940adb253bb678034ff270743f95b11b97d12977f6180b1838acb19dedf98ef714bdf9a9936cf060cca4be7940d255c4c025cf929f7d9c4cf7cbd3fef2c32257d3af40b4a76123bff7392e6ea7c8ad4e45b8574f594666f3227701b7048fdccf8c39f7fe058dbdf100de9f838aa0357f394abf99ca502a8b498ed5b8789f1d66517d1e165a317ac1f8b0b99fb07cc58add0f971be4c3439a8877dc6f0425a857dae4fcfdf30007324cbc884dda9a0bf0ff295c944397c9e921180e1e5279c0b1dfb5b9d76db52568e4bc5d74e01e9fe11a76b2f4eaafc3aa0c213a3c44c458cdbecf50b2c941fcb4a802ee9943400f9f22890c447500fb3ac16b988e57a8bdb0169553b172ec0770003934f76578f5f97fdd2da02162d028670a6ec44981e30e84389832590455b5801629f829e19007fef4b84b5f51fef98f69092edbbb30033ae0f8e3c3a22e6f6ea91596847a4cb61b0a46114a9689108f99244f2bf68678854959c8fb5677ec267ea496a8a4a65739ca320f9edae277a3e136a34652fb867ddd9e02d19a99d9086b44baa2a4eacacb392e786289f2ed9626f36670b67f5b42c3bca9ac48c5ff41c93ab0e29dadba8b1d10fcfb881e24837ab0179c3de6d15040b4e8004cc8cba85dcf38c2aaec5ff874658d1622ebe1b6ba08a70374891d402fe9479bf014e83b3e80ee1504ead65d248c6b6e949551374ed878893f36d5d8984c98a6a0f715c18cf15247b34d83d790952d9a438301e398ae20c8986d019eaf6b8af222db60e4f4d05254b070185eb7936589ce9b6590f32b53b8eb5cd28948967f475b9ab3bf89d8cea9107c7e092698ae5bb72a393ff54dd2596b594cb3e802c9287d43b327ec95e9d5985e53136555e9a5d58e26053d1dc0ac185b197a24397a2abfd5d276076a9a0c54f3dcf227e8fa16505c3cc89b9459d6a0489e286aa2a40b1be8149815bb69e00206625b04d623ae20c3ea4f1a1eb5d7899dd0838c4f6b432dbf7a4e47a1ee775cd08a88cae0987911cde5de884fb99cec39231b00ac5441c37e74d99c9c679b8401a7d8ba3bf92592694dab88a436fbd9e61a53038a851e3e0e5aea11988e998a656ce94ae9c652d477af309d801396b571995a220602fa76022e9d2092d6cbbaf6a9e0128123c93ce39c0102d20ee735e7b5ce18377d2f3e51c6af8e46204fba9be7a53afdae8e96b5bf68f61ad16bbb162ad3bb24661b40773a9dd7dda6b23acceaa6ccd39e28eff32ce684f18d91bf7edc78dab42cd9fe0250729ae8bdd2b2248b3b60702e691b25a302270c870c0774be17d223a7f852a69d6c25deccb5066ac6c1f70b702ba9bd16ea30b03ec54197e5401d872faa205ea3aac942dde44aafe304eb94b02ed9d4ad405defc45cc8494e6f1e87cb92db8c1587b02c145a96ffcf44d128a6780c95921062a453fc6463870693a205f0662302d6f698333e28df798c014334cc756c41487c779446d958b3fe2c3fe115308d8099b3955cb33cca43d447a53e708533f20e422cd4324198bd549d278e53a3ea6237af90ccfc31198a769b87abe8ee34aae02c7fe94395cad5694747954f051ccffece94dea72753d2dc18cfa1d65c1743297393ad0b917fbc0195de77a434a3a9503f19aae843e78842048a3fa493c9f586d127452ba9ee96db2f308a98e067ea2d2b793b7c340cb4dda4095e4146908e065611a92091de4fccd063c4e980cde08300acd6dd2807325feea9520ffc61f87b81c76dcb578468e740f2993915c2339b42601001e3254211b4af600a5a390eb1d363432f0e19b0049d40231a656d50cc801e07097db243bb8815eb26ef48526e5b910d434ccaea61620d733934a57d4887d7694060e11ec3b2078988b4f83da96584fd29c65220be21e240c020513fd247da2ec3afbe3c51c83e17718df28adfd598ba7a6e25f16487de96275a39152e6b1eee2afc4579ec291cf4b0d7e7a3d21beaa068ee0ca24da46447fc081e638cf6da72319c4ff6f503ac166aae26fb629f9013a285eb6e895ccb78785c1ab3785ccab5a143b5a436fecb5c56083b2db9761db96d214e0220546ecbccfcff980ce7a6a075248092307dbfe3260d024f33f1d0dfc030312b01f088c16e82695ecf735ab81fb2bee1399d91cc9c89ea3026e6f57cf394063e090bdd8b8a274dffaf9c6dd096f999c6b6f6f4b8ddb4492395d38fc38fd124e2749ca48b919eccdbea56533d5e475df4b434316f43c2bc1e072e20addce96ac85119891cdbef4eb0a1ab8d2790ed595a32b43ad5bd7fa6ef06f059aeb667210750e8691ddf4d6b690a7d403a3b3abe5e651a70f44d17e99ded7b9dd24f196a82dd1b15cf76f9d2d2108ebe9255dd7079c61e66514157b170b0ca6e6731642c936655814c47d65517c3b11993f57ca3026a4b70605e70b4880c753400e184ad26ad085fd5a4d5fae530b5548842da33d367da7b165e6b9ee42c90314f53b826e8932a515457578805b4a74f744cae83686aa2582d7ed3d3d66a53256ea63cb0d00e1ba7df24d49227a178e65084a74e5de8ed02cd60221b5c2169b54cf39502e36d971def378eadca7102517e8873e874fa7a289a9fa42b89da1c718f808ffa1049b88d8e1958b3bd2ce4a060d0052aadb3e7ef8ee6bc6ffde1cb25e8687673b94fdd6cafb0a34ab5ce3f7d18ba70793121f3dd3e1d90c35c7682fa7b2bdcec57cbd40cb276c8c461de42a435c450f57875358619340e4e46f3b91d17cce390dc8a30639e1d88926c2bb39453940b092e4c84be491ece8ce41d0fe38264349b31d21ebc55e8461f657285dd3395a724c83abf1cd467db9f62aeae7d6cf70678aacf990a4c1b2d17577f538b95bd57f748eeb63b10193d85f97cedd6bbfed967f8526825121e5830ece46f4e5db5acd7af5e7e6eba5c5c06bc7acaf1624fd4a5eed07af4153bc56beda1c347f31c0d2e3cc8a0e1509f614593efef4fe46f70957bbf032b449ba8030b4d9d2ebf6864be2a089a54c491857982b455f48e57927abb5d82b7eb64ecded6f09b88e1b76d51bc73d028b7164b55a11349a0ce81349aa1ab049543c5149ecd9608d82190c90e9d9176182253f282da5a5edde8df72bffd8560963917b0fcb83d09d852a025fc98a271dc548841d827078b027c739892463a5894a9df4e431d53e83e3fc7cc0d3d70d7b9ef43dc81a181f88d4f37849ea94e122efb7354ce505df3627b15da7558c2a4ec9aeeb690953078a0d5c31f0fa8c987869c6a8c6472db031b708bc778570a76a78b134dcb8d8ec3a74bf38c0f649849ad5d7d48018337a6e6c34f6d67384537c0cc5f3d7c4ce5df62bd01354eea22f4524bcde30ec8a9b67dce8f06a354434f0204856678830c793a7fcbd14209f3c66b173e5b77342c1555e6cb61db66d2b4d7f27db93da3dedd2dac1e1e9c83e918946ff3351766aba0b454d9fb2d860c60bbba5400649bd29880213999d9b1a45520946e229a4562f30fa7fb9dcf5067c8655c0dfd3ee48c9292890d996289b8628c21c440a72624834c5187f0984e5682e0add4ed6f3a900c207279fd2334ae62854a9429a019f8b5929538e0d39e7120abd81309c2f3a112a9b0681a814c67daec044fa653ecac341c26f4d661f35ad26eb52ba9e42c68c2bf8a74bff7123b94c8fa1759fb3f03ab6cbe2f07536867dd9c38d18d1ab23158cc5047cb4ae6c69b41e7aaceef840decf2b81dc58c547338b7971cf86b8abe67732d039be8aac5a98613004653e14afb6c29bd7a53cabe96b23286414f006d19a9d305fe0cdca4625ec923b02968f57726139b51781b5ec4fb29656ddb8a62f6d8567594c1993357a6235fa8155236ab719519f0b3b20c930cf2cd5cd545c8bbc2d1830eaf2f5043b9099896ac43ae5a0d5231f00a0d6ec93ff8cc82989a9370f2154386970cc7bf4cc1c4ceb35df85ba51d000ca65e5d1a9b2bb5dab8aeb9a165c49a73e32158ff76bb4db769cf6d1bcb42ed1652afc28689c346bb0ec55fc14f838ee9bf05b1b345984224c0e38ec05c69ac4ddc3ebc1c7097c0e2fbd222c60f512291e49a2479a27191addc8987e8717ea4803fa6e4b37fab9a87266e18f6b465698222823a1452c73075ad1ec9d6f7a875a59f29602127af337774a62d1d54f5bc1d3ed5bc24b0e6ade3c273d1ede28c4ae629c7c9cb8a93f816c64783e281efb29df396d1055e04a3fcafc5b74ac232f28d32dd46b74bf5d0d661e24717030ba03c09a41bb79235a7169d382b72bb016c357585464b76d25e8ad2da3afa9cc92b7dc56fa92d3dc899da4e8b3cad35b5050951a7b683d4594f684227b01565355d700586ecac3fd8ac90b5374116dbd7a316c29a6145975e986ab8f1957ed01b5e80337ebe4196a33013654493bf0339780c1492a860f47b33ea9dccacd1fc5e871050aab30ce0cb7edb54a98f3042afe0a9178bf0a563b9545cfaca949d2255906ee513d6ae1a195a45d4b94cfb5d55937b04bd59a9df419d73c39b78728afe4a8034c5512c3ba223273b1dfc7b4375cc2750a17f05f597050cfe50a48ae21a2ab13cd8715c854728677a6e9daf8229cd93d05d8ef7e644265a22857f598d5bc474fa8accd2382c20a533320de6268fe1d5b3d60c06476d72be2f001f9f8440949aa77f5261c0ab8199b8a225348ec866dd0fb41fe37008dcfb57ee65fecc4157c43c0dae2fc49d74b9d30c1c5769e661d916e6555f14d5c52942fcaa2f410f9163f95243b22687ee75135b5e25e051fba6aa0535fd99c4225b730f39570c3458b3084f880526c0a88a832f61762dcbd03ba0b5f42565bb18ff343bc8969078625e3f2b95d316b80cbf1dd476a70d89baa048770ba90713daa62f3487c19d9928f9592b2307bfb87cfead1980eb46163b41e3d7c2d15262436d58c0388e5d8777a026306e454e0b3f1024c9f12293454d95ee61080810aaf50533f5234683918d6ad1cbf98205045f35dbf94366483c157a02a8ffd8291085567dee31a7558ea1972371c19019d7d561c6e2d03550e21246f21ab82fa38ae6f2d27da45ac29836e9344a50859ee46cbebb4c5661f5337605717d234e6355a42a1c6ffe62d00f1bb3229f1b8e2f28fb4279ec911fa2c1271c97e74b5fdb68009a410d4eccfdbfde7a76ea2da5e99e8280ced515ee35832f66b3682546beb43a2523c1c6785dfb979c04f3aba745639cb5ae363f792e06b4e91e2cc10003e170db5608cbe222027a5bc8e12cd423139fefd82e0281b24a63db1587c0c07026f52a9cd04fe66b2cd8f3cda6e178b0c8fe104d282439431d0dec73cf97fdbfa043cb4833c85044d7ab09e4060b7e86a2a01bc3fed8805e1edccf188fb1792dcd40f439df07ba81a67270ffaf60e90920679f534bf951e7c1da289ecbe03cb9f37a916e5d1a963dbdf9d36d617597482d3924a67e25cee623ea2dc38f4f13c74d26472dd5e50f933c21f2639cdede24d436e01a123f51f224b8e28280113b0f99178e4e44d79d397fe7748f2c63ad9767c6f3c4656b246f896861256dbfbc259697748f96af8351e20846a0a2b8410e4c8e9c72c4b5f1071da22aeec116a529f0c4da9aea487c2f14c0865a634e6b8e910814b491520d66309f220af557229b4dbae9744b648819dd5a56fcbd6a2c1365f8a06f4ef7dc07b59de5c43ec6534aa94ebf22064278991281df294a307da52e86041ef11c2c3d518df15200fd5b2be7ce5f493f55a6aa7f20032c9c021a23066d5a30d6556d0e89d98d36e581bd7678c67165fbdb70c9bac20cf6e106323264c3230bec4b1b7dc075c48afbdf8401960b7e5360e6f3de4ef7cb6e665be5ab256fe3f21ce1bbf71b0068bb45b25ff67ba1af4277d7766f29654a4906d606fe066a06fee2ab861ade00df6907ef84d3e0dd7a074fd4c1137f706069f8517c714b9f27f33bb51af40e083ee9a813acfb4891c7f432bd4caf300b52c48214fde7a9e5a95296b54eaddbc5c0c6c8b6ee28162cd74074e2f1d06d781b3e24f23049e88514fdb7599ab4ce13d05d5cc257835ea2efb2843b96c497dc31bafe2290dcd177866dd2af89970f87a4e81fba3cf5f29578aef8537dac0874bf1b3ef3c2ba3c8feff8fa8dd98ea7df6877fcf4e1915a1ea684af102865de7943a07028040a5da12b4c12bec2a050284c12fe84af3028140a5d62e882f1649ed4c9c8c4107fac70d6e52911c8edcb53a29087db0a273b1898efc098f5e7cd9c77de290a11354ab5a93c79c5178df8a2f1e4157f8044268da2797f718846e5894132f7139970279e286147d36be661e86460be20f3e6c6bc8c1c3c3be4d9260dfaaf3c4bd4a0f833329e156ad03fc6b34c66701c16f6640a5d52f48f71fd371a9c8c1f4b2eea8515bb99ee9e7866c89981080b10977ff9976f08961f5edec7fbf88860018d34e8fff2e0cb4b95cb87b93ce417a2e21f656147f105f25cff50a8f483cb8fb0b0e3f7cca09bf2a59f9e08d483f8a243ecfcb1e432bd567ea341a35225d6ba1a45bafedb280a3b862e99904883fea1ab5174c697e83702821d411e90a751639853a4535ce31fe6346a869c9048a366d069d0dfe989a751ddc9f46a9797f7f100a000f0f1955c4e497fe34bae19339eded8446e8aafd0e5a147e3ae88c0328f120dec28be5c3f3f2dd64583c67bbf99721cc9d1d3a003c161dc1c467ac8c1e3a1f823e36527ceefc4f384cdc1e3291fef9fc388a75edeaded61e9f1d09f2547cf8c175f8df2e1c91c1c55625b7c78ac7af172f0e43072fd3fc6ff6863b87c317eb477c6b7fc28166da6979b4caf06bd63811d4daf37bd1a357f801a25d4a8c9a451f5fd4d4326227961dedf54d428550dab51431aa56a35eabe7f0d9c1a441ac5323f91c91587ae270a7922902706893fdd8c2ad8f97cc7f047f1c5e373fc58720535e8bfe160910ec19e784e453c330d5dfff1863bfde5a7cbcf57e994e9d5a1ffdcf163c975478fe371fc8b4a4f0b8debbfe508000e9c7535aa5e97f7bcff1e4fb97ca12beb7cd0542f9ff8d2c2f2eff8e9592ea4e8efe259210ffdb7931a66004fa10d1b6e9041bc81a325079d9837d320b5d1c67527a613ebeaf15acdc835b8fedc13fb0278f2f6f082601ede98edf0464b002f88a9434c796386f246071a8037aabcae3f0ede6889aebf00bc5105e8fa07c01b4525d73f8737fa508b379a8aae3f0e6fbce18d56f4c6bf3778e3dbe08d366aaebf0d6fb4c1bafea1375a10acb9fe3578a30a0dadeb3f8337969670fd4fdee840327863f67941cceb59d7f57f6fcce1c4f50780e975fd63f0465bc31b6bd45c7f93375a166ff4211a279eeb3fc30b629642d7f55ff99eeb2fc3135f3758d75fc51be71d4baeeb9fe28d62d0f58fe18d397ac4d7287271fd51bcd15dd810ce98dd8c98cec58cdc9ef3ad1d02d1f527917a2c9321bcae5ba0ebdc1dadd07552cd75d2cd7512ce753b747d6a37aed60be8d6348ad528eee1349ceb5acdf53980168f8c7b50848d05489d5f6900652c2b7fd38ab0294f748a65044a1861841186caff88574171f2fc293bdbd67d937e13fe3a977ed791481d8c779efdee729050b8279f04ba9777ab9ee4c20aa050c3dd8a4613ac7491483fa6ec680fd3d9253de91be9db21746e100792007dbe272847d871f6d8dfdc03d2217fd6438de28b21b753761848833d28c13e904e75a374751f8aabc11e67949fcb525e178a8fa7e6a7bd9d9d7d154f5eeb01c157e5491edf1e303d7e30e75b8c18299ba7bd73d7891a457afeada8b78c1b29a0e5296d8b7b8282a2c4a2bc80681917362765676424e50889c8437e149f8d887444b6b4dc902dc1927eb4244f5e158f2f8a37a22021a506313649b91e3db70507141f4771350a09b6074a92cbbf6d9ea680faf36301327ff4a36f085e41510e7a54f385a860ba8bc1ca8de43f41f9941db96374f953f8538a34aabd935ba2811d5376842e3f8acfa6d220933efb043bdaed491e77732ebf136ce97b2e8a8f256539a4cf3ca53de9ada79ef42d9e1a3d8984e293d38387fc2ca4d75e88aaeb507c483f9bf4214053a1f86cb44402db3d25f20981ed9efeecf170eef8e4f190df7ad34883b3e769cace9862e4f29f78e34a4beb6116d9b1a547a3b214f63de4cd9660fb8e2d57aab863266052b073a5c6436e1b31c14a7eee39a3dc36e26b859d3d0db20f0aa8af7d2c40341e46b0418f4a7b21aa2d0bb2b42f8a0f8a4fe908db7744f1b92b35ae795295b2e3a1544d2fd8d9e3a92db3df7379fb52763ce41f659996b2336e1bd1e5cf7eacbc63ca4e7bd3ab19a952785276a6545523f6b9bfd1a6ecd0009a42d803dd1888a48a2155b0aa60012101e58eeeee27401803d9cd1a25a5fb122334d950a8922596a04aa8174aa89226243b333333333b7b7f12e08f556fea4dbda937f5a6ded49b7a536fea4dbda937140caa8482a129b1b28b8da35f9ca850299cc601b4b0396913db0fe3f3b72f8037f22dc06fd20bf02e4b9bd8d1024909c4e683a130ae10f3f976a743e9cecf02495146a60323871c626062606066de7f9b99f3613ad364645656c59aba54a2b9333130ff2a956aa4ba010469eea5b9f7e59d89818189818189b933348c0393a10605d01281ae63198d4a45efd350daf5d61b330353672a4cad3031f7e45b7068e9c13a74d0a8684b9e4451420204a16bc395487e60c5e5b82e34bd4e3cab9752e6652723f3344fdf573f9e8c9c7868be6fa511b7105f32f4f932002f6500dec55748ab28548b1aa5bac1ba31e446eb06ce0d2226211313539009c8f4637ab1c0c4882f1128878e69871f2e1b03f323a85133aa1c3a1f5a25ee5861e7b7fc18ba7a6081adf1a33415750d568d9b46494aef0d3713bbde58a3a606ab41af4184d620d2e027ee883c9e7a118dbcb6fbf4e949b7c3f5e68909ac8c17cfc5033b10c818189818189897f7c79c514dd58c4a95c337e3894240220bad983438801f4bae2ca841d26f3c62e9279aa68940e24fe8ea31b9f0cbf738bbbea7f4aab4b2ccb049a354444536588d52d9b8b131c4064ea358e877ea3921391d391939159941052bef189ac20638200cc5188244400a5de1c52bed78887a8ccbb12377f07571955c7e47d3cbefbf9428d34b82feff12f6c07a7917fa3e763cc5423f1604f0f03efe071edec7470414405cdec713f1f23cfce0e379781e3e225cdec787ed78c8988ea788f0f1fc2e9e05bccd65597ef0f12ffff23e3e4cc7c317afe4f230a493072517f67279f95c649700970f7b8d46230dc8396ec84d0be8a6a666e35cdb1626095de1cb533354429e72919d12bbeee5e5f300e6ca721a64ccb504e6ca701ae48c48831cba86c05e5c3ccef126b8657a555a9ab5ce8d2b9d25d6015d1d3124748d68c070ed094a9d9351ba13ce84a5702a75665c58f1e52997d3a4530412332d1a0b16e565b77a1d29fa633952e487e9210f399a055b7add77d1a143c74b1d2f7588af9ef57e23fd9234caf4d3a09b5e26a06c0b761472633ec5f44a4949f9a9d5f4320185aea2fb2a1af36557b0302dbe3c557279e8f7a3f9541fb38c6e314814127fba1cfb14e6fd4566ee642e8c574a527a954a48d8507cc1cc7f49d1fb848a393fa657bd0420c0cf9bbb91b8195d88af1fedf5948fef65c60c1cef2fa78c9f9f8cc7c1d9d831746d3cfccb8fd9954186e7417698f22f5fca8fd94d9951052be44a93e955a28205c083e0f46e2e9187a6222493119289478afea4ae07d38e87fea552ea65575219f2d079c4f81e1515159957e964644c94e6f0d4939dccea61ba0a3d55187237191b1087aef1c493838bcb8f979dcc8f87e9f769d478bfbe7f0e5fbdf779ec65eff7ed7b3d0a60ae4bbf2098ebaefe7b1e89bffc2951333f3f9328999fcf4954cccf0e10ad2861e71017afb4ec287e271e9797f1e389c76505c7ce3cf54a3f8d6291417736e8a597c9bfd2c0fe752c80e092de65c76c26665b99f995951fbfd2c9fc98f9ea8d323f533a4929e5a9bb4f347c772bbea7560c5c0c31c4d0c9d0a854b4868a8626e6b7e9c5c49cd0a0597673a4affa2d069a981815003829652733f3303de79c744e3ae7bc799a3f1969d4a45817031b23aba2089d2ba90883c915c09555d428b9323ee468133b6af6e55d3e0bc4e55fbe21fc870a38352a97df5c3cedc643178f773ad6d182fd7e641d29492723072e75f1a4ca02354ac8f5df6af0686828a59452150c8c4aa552a9602814963f8bf90d8c79109c79b093998989f162686262666266408e66412c221a1179c49df025c3cb2e749d8c34aab9e9a97e93dd4af5f39b31057b3223092beefc3d954ea7977e9a2e9fe9357fd6dcf930dff8f71b4bf59334bf85341f86311f76323134341a373d9ae76efee948a354df48f334a898a78999238e7a7e37963b86f78a2ff1a7e8d220ba51e32916e541c18d219d629d505124c5f5bf81d3a9d9925480c1a455feb7d2b1e4ba491ac5535cfff0a7512cc575d3abe46a542743bf91cab341349e156252ef668383791b36eedbe8646ea594c27cf5c6203036ba155f0b738b2c4795581b7e23c9189cd27489b5e17d83c1460d0c30c0608365c3c3d0854561910c194e24a38612854536583658366e6cd8a869d09f4885cbd1e3294d9575d75f0c8a829ddf77631e5d04498381ab20cecaca4a27333f30a70716fc956ec5176c7961e990a75e7cbcc885e804b9a37e9893459853125f325e7c995e3ff8f8974f7c65605817946ea6bb208f1276046bc01a4fb9bc3f7803262177d4f0a587bfad7099165c5e7cddb8f1d44b975c295d72a574c995527275e8a95396a9bc54f917af9381ed6260dd532e629346ede0291ddeff464da30c607ac1f0b25326187e9b5e5fd3cb539b0ede29c7c3a6d20d9759522925a8624f32641c5a6264c8d5e36426c131c8b51788216e3337af306996d19aa22c7164f43b084af9b1d7817ed431d0ded24fb287e9ec03428afd1db8f39be7a45ddc406be6a94c860d84068018e232cfc9b94fd1f4479031bf7d37678f2548b7e629bd652af5cbb90fc618d658b34b660ce3f682307f3d3a741d1b06da00b5568a3107c1b5521db8d6d9e5302ff6b33bc06c763fe9fe80f0fafe553a6b11b63b3179b95f52ea34d8fae569641ceccf8261959999999999b1eadc3af0a5f2df0554dc5071d3baa39a2b3512d8093e153c223e309ffe10f5e9c7f20311f5a31f4ba65275d7c3fc320feb0cecf768bbadb86104a52acbb24cc52aea4919f6776ab089f9593671eceec4264fcece5ee352a7fe3a7cdb528d2b61b8b2bb72a43be47ffb6b0ed149a76a092b276b9aa66926f05412afd2bec3f6226c9e6195ce0cab744e3ae9cc811db946c802cca319076758a533c32a9d944e3abbbbbb81aa1376e416d748d1087694435cc338e690d562630132afd899f385a8e6153c2c3dcecb32e3efdf28a7b882892b44dffee41457ec5c7ef99c44c9082066f0832f788104091628a18a30ae495ea10587574e7105cf152bb8a3fd269b1fb1b2026d0ba32d341fbfd996944ca00da15482eda7a588cc96ac8ab525b8994200b2b00129e73124a0d08345145dc8220a2b544c45124ef0680ffee9bf4710801b212992d08114d9974510b02c5e9005165d6c5b91952f3121ebc2d15aae212e19e8b87aa8606129d83666e6d999122da5e4accd26d7759d124e300a0a4a27233f6b2d893449ee2ce76476972cf9b906145060ca3c04a6ae757acff9414a9752af49b1b03fe255d80705adcf2f5d3aed98723cd20f52ea64e837adb4725c1222299852ca6c72ccdcddee3ee7fcc68eb821220151d7ea429519bbd9810a640cddcab48ec0d6dfeae8316ff4ae6d1fe692e2f6232fd8ed698c283a779352dcbe1945b606c177c45cd9c7c918e22f36e98494eecc9225337be35427a6bb672ca5942c7d7238d9ac3981e07375c27d4e4e256b0d9da0ab13fcfcc9e08292b2064f7ea90e1d3d865cff0808d1298f69949c2209ac24d76f1288dc5102714349387247c9c45e8ad5161c1ac542b8fe15b0f547d0001e46182cc17e90df0f505373fb59e2980e84875174ebfb17447d21b2cb52ec6fc740638f8d9fff0d8de2efcb4a5e437d36791ab3a1db19c6aebdc49ebe7b4254af5a6b6633aef4a58ec49148a4d148035ba4cf8fa9f363070d300b88f49142724816c9d74ea3c6a9f3441253c65af3f09438f75880f86742545b4a4a8aa71469b027a574d66924a593a9bfd1e0dc63a95b4b66382cf3b317a262e6acd560e7e800e29f7d43f807e361673bd94e1369b027cb9cd94ef6447ff6ca82b222ad83e476e6733b73ddce7e6e53d6219231d1ec65441a3566addbdf59ab51388dfd4491edc8b09f4636032937dbc9b0ec1070d27532747ac795b8da8d7eab9d0f9aaa09ffb29d9d2f340d1b67cfed678cdbb29d6c87ce4aebac95d249279d956a5dfd4deb7cd054d9e4f1668f4fcfd4f1b0278f4fd62512d8f921f041aae6ebb23775e6e4e1e9716693c7c32ed2a91fd275e4f697aeb0f54b4ab075f2dca6b386778d1a356a4c963586e80dd994524a6beda64d29337777fb74f7ac4dff2595928a694ec7c1a8d31308bee94da752ad98bb63de1884d25aa97b53a794524a29a53c06c15c988bfaca924d9e460cc39468e67a849ca123d4b0da142c4b0e7de97737b97e72e5145fb8e06a49d8d185844a2a0d56ae951e39c24af01c29cd70471f9a444627badc280642a3783a131f721858febe180a90e8d52a5b7dabac5755b5a2ab5a7de8306beb9cb55bf505571bcaaa7fd330ad08f5882056f4fb577335dfa7e414703b7b6566666666aecc84997b7677667dba7bc6a6ff924aa9a3ceeeeeeeee94327b6566666666aeecec4edddddd2965f6cacccccccc5cd9d9bdd6a1da1a3a01fb7477777721ec2b484c296536b912337777bbbbdb3967ce34c1f4597aba444a2279434402a2ea42dcb2ccfe05ebdb1267669eddcdcccccccc4c29134a29adb3d69a4dce621866fa2f31b3cdb22ce3b26967cd0904dff42666e698d972aec2dcd9aeabfe5d27e3eeeede4f2951509c9dadb59644229162703162d41873cec9ce9f7c5983925a43bd0803852ea14b9aa05ea04ae812ba8416d125d40bea055aa4040a0faca4028c2377bc920a308a5c4905184c809173251560dc5c7a2515601471bb2ba9f8a249e9ca2f039316a1fd598a4cdd5dfe4990f50244457573cdc86d21ba2dac7397be7ba356e4723a1c0fd76ad4d4763ae7724cdcded1741aecd798e8b9cd21b9cdf17045ea6b9e11dadb40a9f6d206211e7d4dfb8cf8c66c6a3f8f34d81c0f5704093b625518a173b156a3c68de8e2346aac3c950951a3c6d15051a3e4145a24b9fda3a1468d195093468d3487a85123d72a621e4586e40e29e4d9508dd66a9490dc213d23f21bcf1925e15aac3bfae9d454f5c8b54641454f30a10dddd69adcfedad5881648ae78e5145ae0dccd03355d73e76fde6549aef72307d4a82c482863d2a81abe3f1b6a54388e86be975da201fcd19087fddfcb4e612d0ffb318d470bd6c6f7d0a0bf0ccf9d8c8d0f48837e037b7a243acc8d9a744aaaba6b626dfc68e8daf87a3488b53c5592a183588b86961a3c3ba3c8d6cfbe861a6a0d2c33daf59fd73f1abcd1de7bf246d92383376a4fdcfecf1b359cdbef654063d6e4f6cfb9234476dd574624691437e1cafbdeca88242fee5646bc8c5872e50580b732c288ee5646fc348a7faebc31782b9b1f20ef5636404c1ac54aaebc35bc950d93a1d9ad6c8690348a9970e535792b1b243eb45bd9f858d128d6e2cacbe2ad6cacb071d9b88a1ac5af2b2f0d6f655374440dd6ad8ea839d2285ec2957786b7b239d293752b9b9e268de22caebc256f65d38448eb563644418d622caebc2bdeca264868d4ad6c846c92348a935c7965782b9b2436afad5bd9bc90348a9570e585c15bb190f870dd8ae5c362d2284ec29557c55bb198b086ba6ec51ab261358aafb8f2a6782b1b96cdcd49b7b2b9f96914bbaebc31bc15eb0708a55bb1809e681423e1ca4bf256ac27786cb762f11c69141fe1ca6bbd15eb480fa95bb17a9a348a8d70e545f156ac264431ba158ba848a3d88a2bef89b762153192d2ad5846ac681417e1cadb792b96152e956ec57225691413e1cacb792b5612d60b866ec57a15358a8770e5ddbc15abc8a64646b7b2a991a2bc2b5650a3d8e7ca3bf2562c96d05de9562c2129ca6b059d3b56a2fa598dbda9ad3b694e0e2c2324a782229bbffdc028f6d4731cc75b0db69011ea63eb373292ab7247e7f9c28e73c7535ee3f4a65f7bc28e7dd3f25487d3359eea6ebca6c3e99416d4dd8da7b42119d0d86222cc0b5f2614033b722da0dbcfb5fa399c46759e07580836697eb0658d629e9e6cd1f120867d239d926daddf48a7e520eeb92db0f2c7bfa5ac6bad556a5907e1203db4bdecb6524ae7fefa49e99f4bf90df6fbf7745383539698d8a4e421b3e739df2be3902f258ffe91367f9371484f93227df695bc9914297750cbfecb56f6ccb0f90dca76af9f7ed3d42dbb97b894dfd892e9b01564ce7c4a6afdcb64289fc234fd5a9951fdd16fe42fab3c6b306af1dc5aa0699aa66549dc20316711526432b32aa53f11e18edf928960e3161d7376b16d41524a71f396526e41ddddddf56472b1c9b984e597a31f9f9eb53b8ff9ed12601cf233ae4272464bc8a75352f94ba038f717012058a943f6cdae26d867064a93561eb32ec1674b8afda32678c53210844df7161018c79cef57cb409046a1d8fa816ee69352130fe63133ca3cba2da83bd0dd62b65aa32599abd8e6e1cf524806b566ab41a0d96289a3ef641e3c51d09c9a2d0efb4dc0a99615dc6e59400b14b611ad74086b42094886dc0065d1c222c7065a50c16e574e7184a096c111aed082231065c1d22ba740820d162d970c924891829697bdf1861df204364f3f00e765933b0a9619675967cd3844c0665996615996611996691a462551f727a56d9feefed3d460a382b6d111cbbfd13f79d9f9b34a714a14f6e39c5ff64d4c4a95e6429d734e21b6b0f3b9cbb34e5e22335b62c9dac9a8810b84062e7fc6791278bef41a3080564a318ad53a27d60510532703c11b12e0001c660e92161fd74f86d59c4681f409769cad89e353677a10308a6115abd4c1161d3a607aec08fa34d2cab06c070d300b888e20f78ceae8213b1b3beab82929b2ec287d40208d1a533f7648c91db235eb4d109f4aa54ac3342dd3326c4a195a97c28a22c090b4528a51ac4ea0560cab3f686e14d7920ca90429e67112a453829499b99b7273cac002dfcc757777777777777fb76cc23f2b4d0df673ce0427c3fe36c9b065d83f9e68e98e425ca65f73ee44b56f86d58eb34ccb342dcb46a3afb2f6b10429f7f4c6b02cc3ba625d40a04aa7435040a6695ad56ac66db75fe384c8b4110632adbb40a669999681cb9f69806693569c896194623c6f8f0e1d7309621bb89cf9cd61ceca8199fd36390c7b8a7d41602f44765d8a94721846b1afc129699fb0146bb3ac4d999b67cf03a4f45141c1f120bdb238cbb24cfea58c45c530ac89a9838581ee665abb9956ec5988743002987ea8a4ac5706412c9521198c000020001316002020100e878482b1304de250591f14000d6b94507a4a9809a4c11c07b21804196300218000420c3006104390a1992c0071a6371b94ae1c71af515a1c27a26971270604e3f9c1ceb099706ee22eadd5792e6aa91f6ee53ba939d873c13835f458a7984cb2978abeb91ad8424f0c89b02f3515f470ab727db533a553d0c05fe957acaf9e92387f92a99686c21c1f4511509e5466c1c68d387bd2b1e5f78cf2500dc506243200a629eb341a212502837112a25bc24eaacee64254da4d04e0e5a018e51cf6f2899917943bb98b1cbad98502dd1e14e37549eb8a9874ff2144944c4f83d8034459f9a9a4312a9b8b1f7565cc22698dc27fbe145ef42ff69bb7201d08e1df8bd7f6070ae6a4f34677bfa0de48d021e8de78a2070ca3335b8fe6d7f62babae0c0662d9a6b7ed21ecb422bac0018033365148805b5d707ead1440bd6ff9dc8eeaf283d0b6ede134d8066543a44592e5c0c2f54b7206d63142443a0c04164834ff2dc1e5ce2babd401acc1e523ba2670474da9017a8c7d12dc4bfe0021b9a79d2cb1182017871d423b8fcd1e0eddfc8c2bf2f602f233fb05abccae8beb799342c25e3c284651c75b64999e54d1f5aa4384ae747c6d6f79a5335f83c0fe8e7978807c7aee9a20713ade888d5c51091534ec6e84df55d9ae08cc2ab2408fbe4433a1414b1b1c6df8326a1151124df98b4ed304e27161f48a03a4298c71fc2e5358b260eb270860cb5238c1c75a30e72e7dda43e157c47417cdd210e9ab58f7bcc97d21279ddeb453ad9e5adc09753f4075ed0ea40b3620bbf29323b0c58ad6bfc09ac8026c57bc00bada02aacbd74563dd15781735176715fb4258e30472d73bd0ba7206de2513705d7900ee4a17a85d3f80d5a44f0d5cf4551dc9295235e0d0e1df72c5158d225d3b1f8f40c34d964bc102a29a1d9e126b38eb4c66da792571960bdf5126e3e8c1be4e4cb9b731e57f4460c87627c516d584b9fcad28d2514e6b5148b8fce522e3099805d98d72f7a1141437949ec0b66b79680228c0f27aeb96cca68dfe3c702d2edf5f3ceaac9ffa9c79e6ec94551c0d683c0591017f4e030eb08c619604412ea974d4f4f927e8f35ec782f7b04876f15dde0308ff7a4268102ca2733631c54bea4f58918551e7a07bb38a0e7a5cff16a8f585cc9e5a52cab71fd45f65600013b7035b63043eae2fb8088adf27b324426c6b70443a50b4c242b48861eebd011022d0e5ca4e7471fa277fec6225e08e01cc4af08e76403b7cc81e128cfad9f73c4eca443d1da3dbdc7ae9f3f6b14846e26c7bfa2a45b314197b1c7175919e2b822ba9bdfb99501ab99b1446090b0f26c9468d0ca57b13cd127dd9ece442ecf4ca0778f22367e7d6b475711b99058e1b71de33c2b4d80cb718f7ef195b4a1beb6e67e7f3be675d36deca2a23035fef7c59f81cc2199cb48a0b73d1d6d71c1fdfabfc8a7943fd8a3114ec2c6a49650964f47d0c458298b8f5b8848a2e12e77f8e814bd7d14126c993dd819b692102dc649e4e6f2a9ee2d207dbb2385dc3d9b86def9d304a6d87a145821141708c65fea0b6fcb1a1a8e302d2cc1e871041d1d774ad39ee6b1a86db07a1b4b4fb4f12da528ab72b852e496a3820d52f63279e31ec43a3d0487cd27659791e10629cd40628ea463936a16a50f619deec5551acff4aec1b0b393082b08c9404acea86aba830dc39142a56130d78e4a0424d3638c0b64d44a0385eaf3a5450c1809e6be2845f17ad8abc8f1a999073ece0821f542bcba27a28f1787d17f6096d39bcf580925c51852157a415bb7946a48d31fd6d88d8c62d180855dd4352fbc40a214ffd2c6221200f3e605dbc7c4441658a82fc104737c3f6fd071816caa0320c684d474af860f0427c321c6467fa1e4584cad830d37ee481d92ee609526700370a2bc119b9a6dc71ae9cdcb3e266bf3c38f57f495eeea1bd90bb6961a41c43d1acae68eb6071301f8c148556ecb09b07381bac74a236f657be65bf1314d39b301a4109e225fb6ba98e9814e76e17bc10d3156389b969274189660a450ad19593734ea3405e646aede41cebba3146749077b8d14196d5fb3890f81d25ae0724874408a74e2e2a2910ed337390c07ddf968ce679a93662aa5c6bc31188e0b34b7257866af53edcd92add87b6b19002b6025e0ca13db406668036f9c0719b173816eea1a84a7c1474b638806c39532310ad90209acd15edf0f76187f525d48772aeb3413ee0a1131c1d452f7dbee7793472d78902f29682ebd9c2144f483897f9b943c6d22fcdfb3b57eb6f26e7f00f32f90f2bbbcf4b95691f7cd1b3850278aa995c3cb9095e1a793fee03fad313b94427223193a7945eceee4bf1d77caa6722e430182a86666eca55a56c89bbd488b69368f24cca9e41aca10fb85f55912fc593d0370663afd988882e1af773f79d45c7e84cbae3b47387d52c8770fa36cd21955e6509102f9c400a4508e2fb50871edd2777141b1726176f87b8cad2c4e2397202ff2330021d1b0c632a05218dc406db24e5401dffbaa7eea047c069f1b847bac766e6fc4949d092fd5114321d5d6b2919c72c9a4158f672e194e8412dacf6de6528c2ab2d8977e4002ef7e3825725dcd002108edc59c4cadb0f1bdd0a1ffc84270f6953d1db8dfcb41b0bd9639879a10e7a44ef76d31e0f4c9f0a412834324704e6d7b6173b4d88c4607df25ebae8c0930fc6439be8d5c1701ae0f53aa6bab2e53de0da27b96251cf9a193d3845f783c896a6154fef7c3ad38c3b42963273bf4ef046b8b71c22e08dcb424e1f86fcfc7cf04925850b7aba9469e48ccedc4e02e8fc20a6686085c607969bde1a0406d7d9dbf7ca1a800d57e6eab2e0fd710366406a74c8cee4c2ebb55794595ae615332c56cb898664a140a739eb71e0308faeac9ddff03c06dac4c8527e0cd6e0f10845f3041015050fa18aef27f06fa31afe4ad887d9a2294174dbff1b02e6fdfc219dc05a705fcf9b4b1bb9626ff5fb3ef94fa46146b5b58edc926bff9ded69910f6c7ca74fa399f74cc8daf8cade56a3216b88a0b2d322cda0c8ffbaff0a9c7d33b225798c96c88bf1133b17c8c1346e20864f9e6a59667659214e9e9cb147b80a266719ebf794e9f7f8c4345c4ba7b0043db45399933593121ef825bc3994f57ea23f282857225c8d9cf04a84821ff3d8cfa226cdf2fb09b6bda83c0f1afb15889f065fc246444c3f115892a2e67b99ae99faffaf7bf74d97bdf0b4f6272db6835c63a6670a3c3ea1aca5a302603b2f6375ed10774c37484e0716111e75cf6aaac294c72ae53a715e7d4a8162fb14041056d07d1aa7dcd5315df3bbc575d146924210e6a1573e07cb8bc0bbb3afeebc6650adbbabd52c8bb548392136c3533418d2d04643e569e33a92c583c06a117de24bd95dd29454572baa43f85e4663c198f118e29327ab72c06951b6810472624516b87127424e94034b78a1d2f6a64a7ee2def70786316ee5cc13728e898748690a4d50934dce0fc5b93e726f223ca8e5a61d54ad67867dc506d324910fcd402195160747990167acca7e643672913116783c9ee3f1c083b60de56d9e92680da41c064bf361cff6c4ed623ec219e20ef2712f5c2457ce12e33c444000e8b1d8d94ae330b5430011c73c5313e0438bedf6450a05c4ece18aef50800009ce977713c5f6b685e96bb26a441a24fa5c3db8bfd549923ee90b8b973441317c252f58634ca1eb6d67868dd4d079251e394d7b91507be9a32262b01b8f98878ae323f478a4f70d9f0564d2d27d2ff467e0218ea34e1c032e2517d7fad279806d28bbf6fe7c5b32ca0b1d948982632b6c00417c693077d38522a76805a82e26b182ddb9100a786e35c1b6b2eec1618b7118324972840bc82ef3ba701b123fb41cb889480af70171dc94783df3b720b9896e70e7aaab1434ba59448385612fc007f40a2d143055e9913d3f492ff9d0abb1a7851daa47c94bb700e40f1692714c95337480fef5f1f98c807a16856c866418e30c921f792bc817a89ca905ae498645e37c312d923aacef8f1ff602decb3cec5cdd6a633c4e78134bc1041947f68c79ff8b3e259c58f4a96d9a07673806b9bb5ef4c8dbf98cde01f0b66dcd8ed967cda44456d082a3ad8b4aaf46c1f15e85fe8edee2b753b5a9787ea68d971b7c7f2bab89304d4bb6a8febe675c9a005c5af3facaca02948a6633faca0c7609d8dd66fda8a1f26d11a0b4535a0577de2faa35aad71727043fee1c4d6887899089e2b8c4684b1c0ab625a7293a54905dc45361c974b5af34e5d5dd732413ccf40b3c52f6c83db837d0d2726011843d6ff14c9890bcf3c0934c2e48e88e23e0243b5f6a6dfc0aae55f0c3372f60427f0aaa9f08af9799b54ea9af62ba81dd8c5edeb286f702810ed3a3a7ffc57a73174ab3b403071b75d942567d82a11855e7a805d95a10926260ed77296935342f9f37fa9ab1f24260172063b1bd8c8ed0ed9dec909b14e5cacb5f12f0d1dbec6d7e5a892afbdf5fc46a8df1874c51e73307856148055105e4a515b3455a2a3b54662b0b064c9b441e29e18cd32b89a5c8fa091eed5863888168c61d5d8f8f34647e5feb6c331e7ec1b3a06847f88c3bb01069e63c4f596312c973c42fa553f82f397f5f8793918e50718899c7519310973dac519545fc0e8b885403b98a015712cf699654f6c881b1a9d97f92465260987fa9b2d2932889b81c928a931a7083571eea92be7a8c430e825cec4f33cbdbdd96833a1a6afd0dfee1af9167d2884f6b62ddf7154019d5636fd8eb9daf0677ef83d286d18a1fa56d41e6d41f43bd8360a252cf09207eaa7b037d8ff201d2fd53bc6e6a984fe94b73c2cb96fefe9a6ed989d5fc38e144bcf40d8ad5b0de0f6909ce654ec086f640a25c3463222300355f79d22f1f24fe262041a075ca8d261fa03804754e96285bf562a91913db829ce61bbaaee1a3f4cee41b48ccf8a6497e021e20011dcf1218f1132370706183355013c173513eef281dd1e1ee9991db9025f1869475b3d96c912600819b6e318272ae87b665a8cc544e73d34abfa9979d361a2afcb17d8f27000f564a1bbf99d3f6381acaf8f7ce4fb356ce6060a291a2a182c3834a2d48dd2ec9fe99c9a5ae04c5158d9dc76404a4447a965edcccc5e96a09ec7205e69de6a64037aa3080701bb8290936ecec00cb71e603495a7113225c8ed02804016574668541ad2a2e608908086ce2b0f82e6e2800eb9654e3ee9961c700906f7914ef63dc7c8351c5df4e9b1be64e0148cc00d37da435ef683f65e76a8f7ae43a19aef906d60c65a6f13af6b64466482f24833f7b55c0d9370ad68c5957b3c85873f81aae7103252e3094abe0663a232a7d6bb1d76e248974d3833f6dd0be787f79c69ba4a5a309a0e6e5ea43db1198868308b61722ee70eafbc4ca6c6ba3a8cf2ec654763e25c1b537c307df57dc9d1d2010aa2187ddef106a840616ae1b8d9d1b3e0e147e52097cd947a105a25fb307ce0e53870dd2b1a1f835a0bf277818619e0e1a958809ae5c9a0ee0d3ff15d1a3a739e651e2e8ff69347561fff5fdd1269affe62139a173e7a4f308ea27d77ef489e5eb510f34d851d899b1aae49ab6289119b2a354b48b773681df4cf32158302faf747c6e6ae40a0698ac4196a503c507cff037f730ca760a538e9845a30467c76f61bc224ae065d224f2eac320038ca51e028af6e125167bca5edc558bd54daa67ba3b5a15c6505fb8b3f55c3546fb123340ffde009e0e788c50a9ebe68936acd5c125c64f64b0c13215660e61b40abd844efbd95fbbfcddf0c0aa4176095c62800972b5b8880b867caf1f870d7f36c11f9c6623fff464e0ad590916f9cf3d0c6ea1f307b89780a8a59958c6e814db0115886bd7d3b87122979bf0b2a05e5ecc4a56dddbd4e14fe137abf3f4d131d01c7ddc3d74dbd1c8118843f1bd411d3590159d760908a90e52b9550b0ad9738104d90913fe00ca10c2eedf49a67f040f9069cc9b23b89c49e1c850a3407eaa4b08c12927a257719af64294ee01a09860d7c5c22e8eb14d9500e9202137913a8e3b2a4df844983000583ae94396902e2a4d00acc055f813e116a392533c5b8fa4b48433aaca7772b60f24aed44ee7bf46551716203deb35af17e508e958e5503e52acb6813e4251f1c44035eba4dde73e8b5b0a6f5f0c1d89d147fa396a4940b37943a2acfd29daf0557430872464ebc15b9db09f0aac665662bf73376a9949c29e8af8bc26977b274a52287b10a8943c8051236fc976c950c821c8f939ca88848f9c54214af42627a7534bf628b1851fc2f82474310ab36cbd34f809e1e5f37b1ab10e2da57b3bf430b43d2b9553a92e1a3fdb3882510428f7c7b1e16cc55b517a27bc5e7c6516d18d441d956fb26663465de8495dd58c4c5982be6c706c21190d46e3389eeb18dcbe16713d9ac46735eda435aef7b5ecd65ce8a4084f5eeffe8ed4a8087a93813df9ae590b8e798e38707681d8db6c8290cc4e476d30c81c2d88c1ed113b325cd6df6f503c1958eab9505e1376946dda126bab22971fa6d0d571b992ab88d68cecb67fb272dd046ce9bed94d13d0756a32134da52786820b84c76c8ced8e771109f10a172d5b66b643635434e9c81348519081529669ba8b82e27cd6bf79f59040c196c8246ee542d19c1da8f016141f395fa33c5667e73e367375155ecb819d724b52a6f5e910cdbff1403495b4dd1980d55ddb5f4726a91235b96d5405f83ba5eb0c648a1e924c6e8b46621dee94174e45d2951626202b9c00a38de3c2278c4f2686d0c954c554dded94a263e4af07d304bde8f1c9dbd148a72c81b778e647d57d63261d89422ade6bdc4490dff9b507fffa094cac42e037107a0d562a6d0e9fc2486de1ff7da8d367f52c31f8f106f9ba2d158d4f0d471344d3bbc4fdb3bedfefaf0c8193db6cfefa7fbf237add4256973b0d480e888830e65544bcc8fe698586de9a5ec943f9474ae89dd8a91614cf720100566e812419fb737909cd5aae01bb678101ae6669a884f1ed51a97c7aebe2e2a1146d5bbab5f5c449cf04f7e8d07360d5c30c7960cfe33e3528623389520891d8285da4b7c60276f1a3f404c16f68e4d4197896f948271d54cf0003d1b65bb4582050a19c3c1c605b6e7cc6aa7a4107d2700905948a547167690d6aa5c197a5854890328f4720172ef5c99c46d9671ca7a4dd613225c2f23c8d2b207d4d192a0310d6fdec950841a3b433eb921c45ae7563a6295d8e6a17490b2c1fcacfbbc5f44bfc1dd4a786faf89345ed9f4970cb6dfb315d0e59d8289532b5237f50591e40bffb2d91a45615aab9518f04e0918704707acef6ab95c0cbb4c35532f87cd262c3b6be7f46e60efb8e1cab5b23432c662f7bb0e9161b3bc430eb647a48b0a9542f5f8e44950669c330ac22a1eacc8a2729f83a752e7fac8223832fa6d42d09270f6c9a1d00debae94c2ab85cd937645a525230dd527f38b954ef54b3e6a4d23eb0293e5cb2a4c0fcd6377627a72df19714df930344f81d91039bfac78599c0c9abbbcbaaeac34c6a6a471aff550cd0443fd1c14e6727fd5c4dbf44b7533f694c917c456be09117b28800f8aa223d853fa8ac1834016995dcd75c9850624ad546ed1c2f318b0672f4dae7f991a5f86e4446acc107c9e984807fc016f14a4994fd06aa219b2f5d3202ee91d50e2b2e5d2660bc5af95b01be2f53744d76343a55850cdc7f6ff2224946dfa138f6e1218f92d665e56f7f8f4a86dd29fd66840cef9436ef46c65640a72e905e19ee20e95e9c8f28e1020dddf0758910afe86ac95c99dd0610d71aee1479da958843bd15f4afeffb349a53db363b4a7fe207cc20f5264c29171fc5e32752fde3b91d0be28655144aa19fe051928b28b93982f275ec77ec786a6cf258bc05ce2fc32c6d1f8330732badd5e603a908bc5aa04eb5573809fbf99053a98b47f9cf28670363bbb532a191274e442829cd0fdc5b2cc1f4691bbaaeb70b3730e35925d52f1980bec487d3bd553afd450a22d9d958f9f99222fa8aca8fc9a644234e3d2b51df17502592c8f0383b388e1f878d9fa22a8b6a61a24313124a2dabc8dfbe0df7e61feddd5e22001aeb82f5fd59badc78c03441e50251ad63d7fd0f0ffc5e571ad097e17608baebf9d01f4d3003ea8dcb972ea4eef0348af92d95411743c05904c8777828019fd7b0fc4d873a51d9b89f00eaa776bde8f5247529b03fce7cc86c9f6d6cdc754813317ed6a3590d515e6b26c3b7cb67813a0c29c123548c862fb4356e792505b55c954ec6fefbb9893cbbe6ac473869a523ff5648db845c1f009a3c36735ad574435410ba61b6c3af9af5361b07df1c1f86ba7352011e7a59f43b10bf8fb5777de8f2e35a9dbe7b69aee1587999a045a222a7cf30b484f12640f0f4dc875d00998206c139152d1e581e3a4951b461ae996c865e6feacffb1574a53bf9a2f32102922264b0023d15a2c255d99e0981c66ef9528a649e1206d4ac357c9bce46552c0816f5e793790e478ad82c7a0083678d5cf256099255a166c3aa630d039a620714ebc0f1c8a3066ca0045c130e63b4230cab80d926645c4ee3556e37e0372f462312cdec715ee041659ad81ff295af6cccae58072b4ed9cc7e686494e2ee22555aa67ce5771f68b1e1781ed780583fc2ef7eaebce7a8e7d35f5d9e1987450bbc8d0449af8a3ea4453b8f8b58ae32392e29531ec0629a76d16285ff127e4be82fce2c0a0592a86596678c6ff023eaf4de44eba21f8cc3c2a58a0985d59382bc17c495f5e31b386a849086462641349ec394a1bb0f595618f1a4ab42f7c5a2a4eb310e655da975ca84594f2a8a10f39f69dc39328bc36cf5858220e6919ec24a16c30b297c07e7d9526709671bf60228e0c9a5f1de5373fb606a19a3a32f164a86cb7a66fd1a3cc5a4e52de401dff5768cacd9021415245c5a3757b9fa3021cb8f018f5098bab2f462ffc4ad2091b7bc85a2c3d52d7da296a0df9ec623fe697e698de81818cd9bef58b298f5450de293ab19779227dff3ca7ca947179ddd6930a374fe7eb844d6dc7d98111c32a0d7506bb9180a9a6ad26f183bdcddcfbfbb9b4d52eccafbb4d9798f92d97a7a230d29b5e98d2586a7671835dc8dfca408568c8d7dc202786c061962ed0e1f9a2d1feef88332a883f846e22414d7f46d3100c6753c3e658d130fe1d5733d100c4e8e2f33c68f0cf1a4f508125bf43f9a0741efc9dc7c76f1852c19875092d178f345b1a50d8ddcd509b4ca78faf0fd147ddfa5028950109e756c00c4b6f52c97b63d99a256621ba7e75118bd357ce41cc6a2eebef642c42670098dcd0dcad129663d5a228fcf4c403c10c2d95e99be63a9b816888245f0bb8f2a5e2dad3a51ee2f7cfcdb9069036f6f54449dd0bb8aa98adadcfc0dab6d462b3243f4aeaeaeee5424f098ec5c98a266eb7675c2cc7e65aa89ea669e133e1640f73bb4f2b77d09de3ac92485e215649d8d1406559079e7f71d1b094525f6e4c334359d8bb427cc9ef703ff110f2b64789ee5cd3ce5daefc7f374da5d860452909cf320af795a1dfd7d562d8d53655ec3d462f7149b0cbefc6b9bc79efff88b42efe8705959a0b9d2c32393c1b54382880154af6266d06f02dca5f3147f6246d01153d624b579ea21b7be58310062852440f7c4913928c5164ae0416407f3f9842a2b87addbd02242849996a1838bf4325446be8aa0679f990778123d8af4544bb9936735a1278213f9af128c2b01f7c14b681081545a9f8d786db2a9752b744b62cf4fcfacd72ceb625c50843dab158cb77feb748a5201933aa10af27555f0cdbf8e59470901776bee5038e7a86920ff30bb63d50585dbb64a92b8ef034b0ea2ee85a02b13c11277956f348b78de677ba7719c428029e771088c08dd27af4d7fb25206617eef715291ad41d560e64bd99ef7e9bb5f318a8355f1e5bebacf29448c052817910f231ca410cce5e16604ed52d4c7e69a30b840c2fb6d7ee4999c2dba19502ab2a67740a7fb63a43b239b3ee71477a6bc03855bc30300954c1b033c2ecaa13a6c884157ea3641ec162e8281d6e60c5941614838c50a7807bea805ac2b1dff488ed3766b82cd36b65f0138f244cc21251cabf7233508878d1d76d57db60dff22c0391d6aa54ea103a9728cd5e6fadfaf0382e2bf814392fe8ae7483232401572a667c94c856bd3797d9af8045b1c2007606b81511d800cee75035764a67edcc1b56133d4478cabe303836677665a3359e7573269aacd1331d1b4206d066ad698e074bff369cd3c561e331b05aee6200f67403c5b05b6447f0d491bf11fd5916b105a45efd150d0501c7e3004a16b4fc0fff2b4b2d37c1e10a4c4fe5abbf0ac632db028c2178145b1cfed69b6d481110cf8c7dcd7de8975ec24d79f0c939c47330a42f5e3e10a533ac39a2abd407ee2d76eb7b3adc804267362085074105b60b8d84ae9f32fb3f3f8661afe724af88bcfeb750cb3e12f1295833085bf77a8d2b84d1b0779ab5744164b960bd39574664904d9c2e4700a49078265d938ffeb69047222cecfde142fc72a7b3e6a55ff148e3f9a05210e80e2f2e40d8725d7c7eab45d5a105ef395e451d670920b99752a0179e8508a8eea516f2517c6a2b287a3369d92fbc671ef84078799491b4e7090ec603c356538747e0128acf640b84690f4808f361f67dfd6d3cef90780795b8ed7b02172b88539011416e37c62dc36997b1cb1b8c5b1c556a3b0c045745b0b0f9caddea51220238c3635715246b50b866ed30626b6c64eb5aea06ab3e2e1ceb03d0d80d1d32ab5d40eb4fdcbde4999a090ca85fdb96edf8cf128237de8cadb680f224884b2e7a668a3a206609d9a034d1bedeb16476b3958453f5f3e6704ed42578522a5f2474be4876b41738cebd2b419ac3c927130a0c6d4ee4185cd7a6c735b855192511ab769fb2ba7011f6de17ee60a5a41ee5361da8968578d9a7ace14ee9cd250daefb076de166000b305e51a407ac7f4a31f74adb209e25dcf3f07eb726c0de978f0eab2de12f43547ab8b5403393bc71224c51019e946146dd8b3f2ed49ce2621bc0fb3936bd7c3ab2df615f1a1b6e6bb7e10f26e1ed243ce97e6666affcaced7cd450f4cc3af88e06c4a71b8d5c1567186eefc5eff8f9f38ed29ddece0b37e970534c850e7ee9a068cf86138126216cef0027c20a07d25a85a78177858a2f8546d18ddb0e4c9cef93438c914a978b821c5839adac528582f9be1f44d2e4e670f3ba50b54ba653af57852fabf529bfce6c84d043838d696027d9dbef58f0b7e52235d109e9183dcf978b7df4737e6f13244af1302991da2261c8732aad093d80b8d5b10b260e3945a647e823867e99c3312a02dd6dc2e8c2ed725a67a6f78e31358d33cc21d895504af96d7ce1ae856ba2e9dbea782ca7e34cb6cf2fcc7058682059f72059ea170d999ab1a8a7563b0c7189d73c3b3254510b03ee90f3b02b2becc0c51c0e433a516838dc1427f5225f5efa2fffd51bbed4986c7a69ff886222c96ba847ab78b1a056d1439a9274046316d50c5bf534a68fc074f8056d793be18adbaae2ed8454f6074fce18a25c91e75671b0ee962310eeaedf2d694014510fd356b13e453bacee61e86d54a9ef7e587c260a44abc350d8badf68db2e0e38abef4cc6a0397a1e0e5c29138fe8f52d2f7301de7167e95cdf7ad21db8527aac333b3456c5d888ac7fcc2b94027eb6c8d1fdd4f30b618ef8ccfa7263f618746b27543eeb91a3b35449c25ba79c64b0959c480feadc47fdfe15e65aeb5ebd39a7661f0bcce903a3aeb8ea9fad2ab9fc0e4afcb98333919f57e5728ea0a736e4880b2df65e40fc4a84f7f0b781e87cfbdbf99d665478e0b75b56f86ddb685aa66719ead2bc32709dae75dc3a737af83279fcce0b3984cc2c4720264991bffae26e14d6c900e0e8621430b7a05d2c04b4e48875b8534ad4582f1d5643cb427ae98d7e1992d41b444dfd7daa7d617368d4d7afc6141da9a038542cc8d1690469e9292f009f4776f38a34261cb273e0ade4874bdacd1c78d791b7bb3f72547531f2bddd36db332f117b39637c88270017469ca4449d7f5fa64390ba01ffe35a6db3159a9c0b6a8be67a00980d678443d64516de455aae4ab2a02bda1c2110b520cdec2f638efb082cd244e9e130b5cda2676b85f70a2ec4f626792e5ee96d908b13b155c365914b7a1c04c5ce4bae507a149ddbd27e2b204a92d429ba8c99c9c8ccf42e46324e68c5d8d77720a84bbbe14902f092ee68fb793dfb059545067b61d5d1435e42c59143e430bbd42a34b77861fd725ee260c4c7234ed8060774416a22b6705314ca846c344e513a46a46d0445c8a73c72e4494376056bab532fa820780290563f283f7035cf7e152849459caae7e9c93642609df7fa098b78970fc50b52867a54b8e205deed59dd234433b752a051a0c9f12b262092e03f4dc6fb5db1fe8c929cf3473123f3ea90347181418f2cb612dc49c04e05e7e1192139a2ae503bc43082f740fc5fd8b70f5274a341ed574cc99629faa5316eb17976ffd57534994dab580beae13c181321ea5dd84e2695112953226720a7df1c507154d9d4ea6a227e3a49456e65785b999ddbf5021e96265c905374ab6fa3906de9e4408e82dee60866c38c8c624149111673cfbb7cf8b2c6381e45a8e09fffb9375aec6302eb4b1fe646a1181caaf6b9979fde5edc9faa71b47843a91fb7ad83ce9e5ef8b07551ccb4f9b0f5c2357d60cc88f0221bd8d8790ab6c0d96ba5080692b82e2691db585991b3b3d411f5422aa324e400cc937947b47a23558c5142e766ef9601720dd9731c3bba87b2e15e93bf78fd23563bbf8b63c749e6b73c968825bb8bd6664208ffd4b7fc64a222e96f7c24d645b66cd941d70a24d46e3c631266a81c947b7e9510f32a62ab7dbd4b24595f4b8c9e45b2e1cf346513866b54bf299a44ac5e1001000e71e43d67720581ba56302518d65e863d5f2198fe742d7d8da7541caaf38ac01b2cbc440cedc6d35c02832942d2e5c068e2ad3257df0420196a1469e8307b16e8e25184a99ff8b9c5cc4620bf1e83c5e6df59e6a24414cb0ff8ca4da4546fc0d9ac886d27c2941998e07f8134a5170dfe88f662bd3d80a467661e16c84b1893b74851c77e408d9457d30516ff882a458d5c017d7c48a6827349735683023730c80cadd0f481dc87f214c72e906cd5c4ea610e3a9a7e938a514b507eed316e41c45d2d143d085ab84d29d05fc6e793aaa0008cab4053c139c4d2203fa852b3b723997f070cfaeb5058e3ea5d8473ed2c42362171094943e06483cf90f86ad2ea6e1f14fd493879a8e7cfa0d6e97df2fea71c675c7b632716b9c76dc42ec26c6f36854d807de9294a4464b8bcd2e5a31745e4d4775d2ed73d2fd71d7dd0a32451c462e67fe1cabb06f16948b967a4625bb2cf1de953f1d5a5d21e4e0984ffc4acdf79e3e7eb398e2d9e0f434f0a91638b621cd087c8cf7220a4346f01de0f2350ecfc722debe69bb998d7d75b5f85f8024e311550d9ee03be488d783b49f6e34763a19520a75bb3376118d484901ffcfc508de3f634865dceaea06ab1e347cce5ef8ebe17c28d76f4f692cd9e972a4860db2aad0893aa69a17acf95e0e73ed4de1b6c14b47eb2056f40fa35a3865694ab826c52260af22f870ee40af701b3531dd9461ea2f418d148a7efcd217c4a6919048774be297aa4e27be1c2bd2b604124a928fc0bb91c00f65fe23b6988044e11f84a99fa45063e87a4fe462ffec7bafb5522473d0f49c6685ecfaba9b83ffcff3ec019a382dc91b765f67ab161b0589a60e119282fe5e482d80620a6e321fe940dc20033a7264ca2942e24138dc0fe28257f5bc72ac4f4037601c1f9789bc3af8dc1df685b4804404f91607ffb5679042559d0d7d34505be2eacd57b78bfb24695b0386592d40716f197ebe3eca969f9e7973357c87bbd9ac13f76e7ac5d63181b5ba92e1a0ff254ba31662e3610b2cea7ea73b00ed4dfd9c458d3cc838e2a5a1c29deddf90d0635a9fe21c42a5288909a45435df6e007c0f9089c429f9284805bd673d77d4567d97176bc8fd11705221d319316eb740d597a04a4e721183b7797e64e746bfc32283a8a1a0870a075ba8a683d2b360636370f012eda3398812f48fcffb2d0853574ad9471edc307fd82c762c81cd68b117762bbde0bafa521b8e60aefe45e1819956de892e71ea455125f587a065e10d4d3dba44dd467c153f528276258766859ba264b552b87b0f6fe1900b234c8fa14f2a9ce30ff27f39a4f90cda17b48143e30b47b6a090f80807c6bcaeeebd5ff8fa4b889a5849a969b6c318ffbe6d248a832af3fbaabc7a0c378bf2fbc32ae1570fabf487ea821091cb422c007046657ae809b4a386198bc5f416e3ff8016fde0cb62730ab2ee81b03d13ce67c73c1aef13ad6444c54b99846fdecd1201a6aea74e7218682ab643ec80a21d57bac012367e3213e05491603931fa4618fc8187859b08b63be5c5b86ae1879dd67f3f53c2c2a0573cb31fcb20e4144c50698944da22bd9874f52f8b379b6dcea6d6ed46d4b6fea69f0cfb2eba1a6aa2171616736b313a211347cb75be79290513aae7e5509c4f555b2e41efa929244f580d4cad19a56182a5aa4b41cec31d34fab993a8fcbab4bbd2c9b78b78cedf83da2cdf33a3316c9dbb63c7f004b221cf9d1e296c2581d2e83365124c9226aa637094eda43cd62aad88ed88178d94b5dd3fdc97b3fab628ec9b5a37685008b575f120f225b6c298c4eee5f9b4afb03514188334d91755175ab1972fbcf1333749d499e8efc7248f689b1f8445b24432372793e09d423e85c5c764fad0dd5381ec355945835601e42f049915d0abcd824aeed5962e2696b36e2f23009f0b26a2125a8d597cda73b2eb12d2e28ff4be31f53fef7c0acde34f09ded5e79536263719060a586940192a57cb1f96ef1bbe1c2909fc2800f6370bcb9965ccf64d11aa067c7c7ee389ca0a9a136898ead4ee7fe15c738261579cb224302a546d2f2fd3a108bd4c493761a4767f888db000d08a44d3a4b85e80630e0d223ffe5e213e4da05c70fd074424c12d0202f14bf456e1ec95165067702af925701b4a179c1117ea832b6c8071b11ba53c725f30744086ded1e787a6dc234ff482558694fcc9e4914bb5da53d03e2af09bdb3d7ab177344cbd07f393656487ad204b8c82671151e0f860006329d21dbb7a9cdc93b2f6521d7a569c3cf08e9c0b5218a8bcb7df040d54cec0a5a66bcb4f57f1f84674f6b998b1418ae37ebe45ea7091d4ee8539f65c76fa5822fb59de5abc1f2ce7628c14535ec0c874c3046582fd55606aa3236eb601b9d210563a2ddfb28b5e4a4ed1eeb8479d2751e22826bd22757bcc319b441e0b651ba2937064509f470ccf3fe29e0e6ef397ab3193543f39e31cced07698c56b3900e3d19dade51eb945498c43ef70acc2b3379a93bc9a82ab7984048ad5a494e3b83da989af7ee376a8b1a7b214e8fdde590e8431a75baa566ae4a6fca83e9a9a2366d85d0e5a2cfaf05c48dd7c0b4927251f8fbd8aae6b9235160707aa120e25f2a59f436a94966057fdfc3a90b7f1397abd291c573826d721c30ae86eb1c653b1d34e614cad7c0e94c3b7eb672330a9739b8343a035a9d7e7cbfb011c63097e4606fe9c315d44a39d7af640a533358b7a4f25acfb35051590fe14973d275b23fc890d474ae7fa48ea2275bc374495979b1faa332ab4040bd26d419818280383cee619e8fdf17adc65fe79da9aa5b14c4d580bc4311a161bfbe254c7543c6c187975128d758d36b514def12049b6d8d9029f01fdce9c4aa64d40ae5e735b99a1282d11c03f41ea7ff1407ab4d5e91766733da00033075be68052232c314a27716caabac99e15649631e842e5e153b5b9009a169dea6543eb73227f930f12a3c71190188b496f33e88d2931e795a0b84a6323865415a747b5e22c9e17e0988fa83e2847076eaeba67a2738e9d7b1ea1c6c540c88eb1fe10e412681263804edc103899ef1245e12bcfe4a96290f8bb7768ea9322253fcd36654ff2304f1d0e1473e48a91f880247585ae105853c4b0382b66802551ca741b0e1586d7424479a2bc7de00374069b65f4d8a1a9f6208465dcfce7c9808a47f101e71aec92a64c5763d2761431ae582f97577e4af002a9123788f58a4172c060ebebc1bc964c96486d784e413303988f3eed0f4184cbb033d2d4c94f3b71b3844eee962496835a675a26467224e2672463a9e6c9cc27872bbe74dc80522a130413eec0e4ad9624d2ffe92af7b3507bebd3e1be333e8d312dd33884d2b638d1e99f6293eb2594a530c0273d32c90ca67ff9cf77c1dbee7d35be7253c8dedcb3dc21d0a0039417b85f37ce00073bd7f62514ade9f44a7ed8257d08b1bd2e1f863c73a3b98717ce5939107b87e1d7236f82e97e8865591918986b5efe39f81982829a688dfb8e3fade90cab2171c8fcdad41c2963e03a92b7dad54ce305db12c36867c14cd8cb2b51def1382e6d4b400109889a4b0d6e6d073ae1d5559dee14e2cca93bf91b094fddce3c338f47a94319e2928551baa4d2b929337aab0e85ee0c32132b5150dbb289a789a27ac0153209f985a0c4f4b19a472deb0d0398b69830e542f22d8a417340b5e16bc1002454413257c82f1a6cefcfea53efe1341474f21cb48b75d51bc10aea983a11cb8d6e30db7151da25332ee1614101041503165f3780010633f4105d65e0345130ad94939dfd65487f441d3a1b137ab6d4371ee6757d9daab59505fe227a7bd42d41b0184fe7013536eeb06993c373cb9262d1da8198dd2eb9b5f54cf0986936e1dcd7b6f3574b42df120719cd9765dc93e9c7aa8055fcee2c816b4f29831a94f4b2b26f64c4f69b7f1ba01fc7b4324a5571008e21763e62056f62d59ceba9ec5261da8ff53423f04374aef629290c10ef6ea34619fcd53d78a6df4c08cb1ded7425c7e41bbc26e1d9bc8112942defee929e71bbe0aec3de737bb8940413d590e4426cb6330b9341aa783039eb755c3a8902c4e2a5d1d9cf23f1f340859ae5dedbafb9523136affb82eea32ebcdd3c9887e07b622173d0fda05d82e68d359f921b10d15b76401c61c927d8b852804401688d61f501288aeacc87fab520f00240d781678ca67dc2b7544f8daf5c61e2ef60b91cb178e2fd1cf5099b87d7408302991d1b0446ca0e3286dddf4f27e97f7c52f1604ba23bf794b35aea3095f378c6ef15ed97c25488dbaeb90406625c10d9561510576809e81a10953d77b898b73a9493d14ae6406f0e52e6d2bd39a7201a10f340b446cbe551e707a811a302b98392e9e56ef9234e07f8201c4fc109a259f6d4f63bde29e647c92d131db52f5caa1c14b764eadcd0830410e5a290aa811f66e52df13cb75bcd5a9c249b9f89abdda406ed872e4e3c7548db05a13afc8381da2df3663cb987fb005fe118d39b8d62af103644c14f0e0f8a8703b44915038f62d53c37373f83d676d8bfaee53881fd1fe2e2958b37fbf59f61cb83f8c0d22ae5867a1a1699f079e1aaf84f73c2d31a6533e9aceb379c439ba71960cc51fcacc0a1db4ae6f2dc631691526dd2004466683b784f24d9d2301519da18cce5a66f37ab33dbaa4607ebe8106b86507c11eb4e614eafaf52735dd1584108040fced20a194afe5dabdc7d00dbf008031235a4e105099d81634bc67a38679579c7dac7519240a544f6df1d4c591b33ec2154ce7dca335e6464878fa5e57e0d8ff8ea71743c50b4bf31523a65eac39360ca2bd3245fc976f5584a1bf3cc812ac521c2794d43e99f8f0c7ac9575149de1f085209852aa250e55ce6822f8f7313eb25074ed72fc64525c6ca26298823f882bee976e68a730d3829cb5e391a229400f959a1e8998c045e796420a342c712fc8c9c8f6ade5d9938ce67b42051a043122ec69bd990f63b993d9fbf7590768e52612a87a3ad355ad12b7d9b4f6c56443d503c862334ac949c76ac2b5915cd9597bd9b85774c40519e6dd42b7e58c8411aa16492f6e11398af35af30e9743ca9946e138e8a1dac12433d1c2ee14084610f033bb0852caecab829709f898278a5d00a72422432fc6d66b0294bfcc2e719916e111e590c845f50908ca9249b4011ada98e30f068364210c0960501623588432d6cdd9e2f2180741fa860006d879972bff9cfabde724e333863c02b1ef549db45b2b219195ebc37e6d7540bf4f610fafb8657405af1ceb9c983dfbea64dd932a50d800e6a2c069f10b43777b8cd14f26b74314ce9a9ea1a74cd32d71521ab143795ac82029af908483030184784bdfd94f92c1387202e076fc6ec8d5787253d10143bd230df8abc3e2ed9eac10b7ec773d92aace1ae23cf85958adb146c3fef66030170110accdb0981eecfbc495afa8f79e88e391ea12d09386ef87b0297883f55413d1df4f0ce3524fa52d32034aca0c17d9ffe96def73d75cf644414ccabd3323cdd0834e5117b770c602ac0d2bd013ba55ebc1f0d36ac879fa06789fec399e778a62cf93d19073c6f74294d69fcf018f31bff914588bbccd6177625e5b1315437cb905d2eeacd4e33f4bc1c045ee3e1fea87c02f11900711b9e12d53532f92e7cd4c8b41d039d96eb1efe6cc54fd74c83c7ac9e6f622294f5e4328245a6474a77df419e637eb003982adfa472fdeca3cdce331029bdaa7445f4310df87ff91084b7888945c54b976bf94a4bc1b7cbc0c994868dd3249dd1b08a395acccae50effd3de40a64c8fafef13702347d291db5f8b645480779e05f11ab2bebbaa0bf52cbc0612a4b76aa22e650696ab2b6140113fddc8c6ec8b9556db400daa05b608961cad89e8d96876b3b87ed8adac3ebdca1fb050676ad47d7eca335ba7aaef63ef2401f64865d235e76c8c6082db823c9d01a917370a9fa37e52ffcdf9b069cfba44cd051aee7ce4cd75d2aba3bb07845ac09f58646450b8d3de5a73114795915b7e330164b8695cba24c6a50930a8b141beca08bddd17591a261e8eed381622702c39e753dbf5944f5a037332c497db9721b18cff4072875120127be2543772e8cdf6209f3cb2f1d104728a1e552d9a20c6db4fbf8fb8b6d004fdf78d05bb1cec2d10be4dd2370d9b8b405ed16ca9869619cd6bde02867980312123e0df03a6fd119aa49007d9942f61f83cef79e6759f15c9945e3a713d1f4fabe567a3e48cc61ad8680c2cc28a6a1f510f476aea85ed296520015120d08cc5e397812dd5e8804afaf7b1f9804ba411e558b8c4aca294535796d1b18426082a577aeab27a58e90cc8ab8480e92ad27bdb1dacbf7144dbbe9a08e428f3a7e7e0799e61cca15d16dbc80e38fdde34ffe6691ed84923c4bdba488508b8c1a47695d39715c6ad06d854571f31e64e2692db3bc5f766ec2378f204440f620b6bdda22f7c7f5d9a83786edd922ceec0450c1ded692e9ca94c56b662447bd47b656f1a0a0946496502027091ffdf5054a204bfca0a5f830b9872d0e6ca8184d17fd966e063ec2ae9d1782bee8f50f4a8055272b473dc287e9e0b2f845c2e8fa8358ee41968b2ba02cf104836cc0c9fc7e2a40b22c98101685aec5322553f72e27d12bf2afaa08479dee91700de1a29b0fa3dfd859f3d5d563bd7685f7659de709925ec561939a57aa5421f030a8580e3f41b6a9bb564335c4c33db82244779bcb38174e085a182319d6e2ee9807a7661d81a7384b776f3557207f5690132a5df2cbfbee853b27e06235762d426132cfb15536ab2881075328210d2f4d6357d3487f73d4bfb33cf9a184476a89f4e18a55e2a84fec00880d5cc590a775636c7a00cf908a31e508b55319b1b735e7d663bc9a49b7939707d4d13e207db534da30c432d3df431b8ceef9b2fdd99d25ca7dc601ac8645287d548da99e183e3c8f88c5886dca5582ec8b12cfa478a8d5a2aa49cc4c7d8fc2f540a8f9d0a951846372c705b798e24481be29c8999b1c294c8326b1ca0f62127880f6f07748b5257456b5eb5109ab1251e7a79117c7544ab7adfddc540d90f68b724881da0bd33456484099d61c1649c91489763262e15a9829bc0178560c31c96af6496a02661dc9d2bff7f812ce0486889953f42711fa08d1ee1279ae60de80839012a6012ec551d598d759d602053955b23341a9ee729b88e6a9a37c181d7d4d7b0d45707503322bd9177e127f8faf6ab5dbd663d37b408494e6712971f13b004a50d12eae4e1eb9d92cc2029ac1c5c0e9c5f027ae4195d5c601619351d75761c22997e2750148ed83f412ca6a7c09c4f6fe750dd18d3b5392c3e25b2d6df5352bd6a556863a7361eae2c7fc11bfbe0ee49ce67bfc001b351c0f99ac797ed7fc7700903e7e0d914c1bea1b56e2242f6de7b6fb977ed05b4059c0591a6bb691fed635f5a1df84b92e5eb12eca5c893f22e6499ef0d661f7c80d664a53b2ece7447651225f0c57edef21a891d28ec457c85bd88d972f0fef776db3c9ae5e5a0ad11b3e4a60e5c758d7a07b2ccb712cac433917bc70b3846ffd9eb9d38d3dd6c2e96ba6bb943eec8f3bd13b9de812d47c05eace9926499bf9f5da445de3ce5218d63ca2da4455e3d0d62035fa8fa0e9267df5c6c07f9ee4bf91a718b3525398a409a65469b9a799b023ce76b6ae79669d18e16f58cd5db27859e94f68eec1da9f3b528be757c2a5efcbe2260cba600c3eb5e8c41b29334d20838463c8d98e1bd5893d205dc9f5bc0f6a2fa9a9a9ade52be90a205ec7509c2de692420d7822b498f2e4ed2f48ed4216ff4ce0b19727311487773c6ec0fb6cc13017bbd635f7b499eef21f085fa7cf700be549f6f2231fab28764eb55dfe22aaeea77a9bbf9ea35e2f65cb719317bf1cb14499e6ddafac7b39dd1d98b5f11b10971d43b92657eb692295c214fc905f90552efc851f700b2cccf20e4f93e429ea43cbb0899a387c096795bc25e97a229cf7939d322af4bbdd3a2242dea1bddd1c017d83abc569267bf4b2dfad1a61645211107794a2e02f9a2ce477f396fe518341f81d478b1e62b446cf29c34f31683690b5f146562c2448cf4be37efcaded5c9f3d1d4a2397fb7abbb69b10b5be6d4919beb8bedd09731f5de2d59b72a07f8c6888901bbbb9cc7c2721e3cd98043729c53966e9fb0b13c295dc05ecc31acd388750bf85e1d0635475390c0d5e353bc80b1dfcb5ff872bd648f81dd3ea3bfc7b68bdeda534a6fdfa22f0bd688d9e2ae47e51c56b2dda684c1910c39d803c9459b151e069d72e7be31326425839810a307321eece07e2c849546d8323f9f13591dd1d30488ba974370fc8c52ae54482484f7e2c8392915a2d2a11610d7bdbd92567b81b8d411aaaaac3ba5ad1f199f7bafbd9645af1b85eba2c7ec94b5d61a6ba4f70202bb5826a54e86c5c0822b54b7bce0a1fcd0dca2bb212acd565bf2a27363e1f20417aab29924a28502e068023ec86dc295aa3aea972c5238755feea52a0952f94af591f1f9784e6133aec8522f0d922c50b0acb50bb83ac239b3085bec06b3c56026b5d73aa42a6bab36c812e7c66d2f9e65b64c28d702339d64c339ab48c2172a5a94823bb6af2d581911191119111911191119111911191137373737373737373737373737373737373737373737373737373737373737373755765365373a802b881f45a11c813d977a443da2aa4754f588aa1e51d5232a9b7a4495d9d423aacca6ca6cec8d0a84bd6149965481b03f5897d580cd00f63e96548d38b673ce3977400525792621034848f243059ef0009d0bbec4918cf215f81362076096b1ece107e0180baec4ce72a1aea5c00a4c917b905ce43026600f1e892eeea5d49ea2280d602fce98727424751775b4883e967ae8ae7df8c1bababbd1520ec01f4c0139ea01e6025fc0220f6e21f73b5e00be6c2add8160778f03087711c8f4310799ed638e2b814caf8eee72acfc8ad51022b43026602f4298448431c65a618c1b3d8c443c1619de9b41643b398aa5527783e448461210054858c611da001c6b244bc79a12c6041c03d8d2c792c01e3c42a3455e8c41eecb88017ca9b5756474d77799e9ba1fb4021cef078cb0442543218af0e5943214620840b2871dc9fd930c85c8d19185c82162733f1b2134d9bb9f8d901db97f75a04d0a8e1ce146f62e192172965c251b1e34f919da9c4026633b331fc9c929e59c724a191f6aa9a5967a9f3823e9104a248890dcd426d320ddf50f39ff0f5f0c317c2850ec84423886a8a8e09c38b101120c309c4c98500202e13852a2048e9c94941b435050763e1f1c394e4e3e4dab31313961acc4e30992653770302ce7badea25de020c11798adc3ece2467598310de0bb4391ee67755c9d7be426b94aacad4bf207f47969cc8bab92392d29774592fb41aa10ab64fdb064ac1d168d2563edb881bd0b07fb5ae45d39725c3a2ed275c3da61e180f2f7d1dc223d9225c9d23078b266c6ca6013a8e641bad31d926ffc20abafbbbe941294e729a55c65648b8995918aa69a3152cd54324a2a1dd58d2a07172a52773b02a14b991e4d590a5dea685145d2234a2225594292378eb4c864488f68a98453ca297d362d923f7a444fa7204e404e4272e85d6a11ca436f528fe8d7395a86cee4d0e39216c5871e8db4fdd5c1483229490e3de6b4a87ae831488fea3de12139542f0dfe9143fdd089837284ce438f2a4827741d7a6449325a340305f5d07168d10cec730f9e5c4a2b402a3674d8570ebdeb912dadb468c67ce82459ec43872d9a613df412184c689ef224c91146922cf6a4921c592452a954cab6fabed377b2d5e934bfd3fc4ef323c951552a914aa412a924471589542a954e72447ddfe93b7da76c4f3f39a24e27fa9de877a21f498ea85289542295482539a24814a9542a9de4e87edfe93b7da76c5f3f39baa753fd4ef53bd58f2447b7542295482552b6f7de5bcaf7da329d93fc40208cad05e16b0ff2c880915600c0711e68e33c9087f33017e2bc9b53b293cd1e05fbe7b9be932ff4b9eae93a39854ef594ed4f2c93aa749d54a55055aa5529db6b95ac4827a18a542b92ac48d9de8442f94e425ffde48da7503dc9533c657b8fada852a852254995a27d56b32771be4c8724a9485d7b8c9ed8329dcf430271df677f9d00cfec499c7b3a9d4e28a82bea348bb53a283adf52bd25794b5dc23e1645e55c1206d95b9356b83bfbab3b2b47d6d3797eb6ce55b675e347f6e7276eefb5926c4fa17ce409f69452b657f991ed6330657b0b86eb73fbc99145922cf617637bebb34522ddd95392cb74487204b248d9d79dbd9dc1d557e97cd91e23c97b31cedea2a9ce2a1bcc12a745d6c3295b6759a445db27dbecf63147469b16e1db47222dfadc1eb6e83a7693935ba12b658bd92ad9cb1a7b10086359732fc620d02d954dc24e1ec566a1053bf9d03623e656219f7d72e47996a4ededbd6c49b6873194f85c1cc5d6d7ec431bccf22a2a57e5736a9176fb9424b0879f3d3bf56883dd8ae19a1b7c91ef6ed935c640b3949fc891ed61d874647b137247b607c9996c5f82267b29f227dba7a84814ce037db68fb661bc5dd9066facb97d3cc1970de68af3ae7d891fb07c53dc29db19336356a973cb2d2b02b6641f6cb1f7b22fdbe316d50bae582e063e9dc80a08c1822b5e97323d84dc0cddd1d831aa00034206f30416841083319940fe09ed7de8c2c4e415833179ccf10450244fb39b1d4204dc7ba09c5d6e3d348bc7039578a0128fc4c11e3ce1a0033d035a844f37910bfa05744775e88eca08488cf3eec5593027d3934b6d9b11731667e246e3645bd11dbdc93643775407984580bd98732ff66874a672cfac8de0794a1fa3914b2313324d82a79227f6a213328d77f1e4701e0d9ae55774e7c2032cefad98817381d093711ee6726229c71aebcd1ce373240bcd91238a5d5c9baa20baa3a5ee6889ac7191a63b7a88bd2891e30f2b4299c599eea80e9e9f31f156b1e6a82be012190a61e448f658e49942f6a49fd3e3e2b26245d7bde224d758cce981710f3eb4080a61a448a68f37acea00191a20c3168a42b30c19d27b344389458c0601e7c811cc1022982184dc65851c451be6883a45005dc954251ae98e52dcbd075910e6624e77f445b07733cdc9f4b7a78d284134b0224ce7b8b2c2a5802d52b68d8e510816c4124208259111583007c20a2b95c1611fca4a91cc29b9b6410d82e454381207bef4a53cdd286910614b8d3239be6d0ec9125fa98061e4bac2e924fc8272f4e98b7f80e13d1c6720a5bc6e60b2e0e3ceb55305b913e50e6cb96c80e13db963bf1c4a20a2049b0caf328425197eae4018f416c4f2a5208454cb644fc247180d82a842be5e475471658320aab8af525ab28717365bb9b50cb4b66343994d3a6d50516ec103d5886a4407ec06ec062c072a101687dd4035c27ac076000596031647092a1076036dad9861a5c22c7db061838d8d7ece391fa19c935b49f1ee1a8865adcc15085830a6b852404f8c2d735c72bc193284466274c9f03344490424e22d3d8d98e3eb1630ecceb2d79551d9e32de7b1bfcf6cc75b6b1fdfa2316a7196da686db412074940420548cc074b4a367d44474d11a964d2803018496d10b6c0203d2dd32279ec323392abe1b949768bc5655980e510396a19c9527f71ced735b9569944bb27b390eb3121b0d75ecbf40ef802a134cde8036030f304b0a5ce88560222ecccb39159707306b6d45b26313c64076130eefb25b01cae8d917cdfef9f608c31c6590fb1f50ea08afa6a8b353544624dace963261bcc28d80bcfb35b94055c9c604bbd0b999b8b1f6ca92716dd917fa01c8c0387c053df0f5601bd4bc142bd274d2b3953ac4f6df303d37b73469ae68c04028e229426f8725f7f13264c4cb0e6a85bbfde06b51727bfe17a1f62cfc9af5f275c0c4ffc81bd3e9a5ae4e178e80e833bd78348d0e8ae4aee7487601c50cec703dc5942cec45e646f89dd80bdc42d897930764f8bee3717433be662602fc145202dca5eaf996cb3bbea39569fb26d279b67001636ab2e7986dc3bf5d6bd6e0ef77debe1f7e7ccefc51804fa676e77d396007b7dcaf57dc25c9cbc4f612ef0fb566f9f7f1e3117276a4cec276262a65e63e698b893ef633cf91ee5190623bbe56ac45c715edf730c8361728af3fada5b48940d76f7e14ee4807ff2132e86c65d13ccc5f070f1ebae9e46ec2ddbae6335eab48cc5b1b8369808a8c865727dfce4a876c52aa02f45bd55c3656d73a6bb0a5bea7ba600b6d4cf1e5045fddde44806d1b87ad2741b90102c81e4eacd990a02e1daafeedd57dc8c292bb5c16c612f2e572366cb5d4e08d8932620f5b04572768434abd486d63104295831e30d1012d80a194229c022b2e3c0328cba955555f8b2ac67ef80e7382e4ff60bcb30fbecd8b35f35b611f81591237b2956b864c822c3671bdcae8da2b7f7f6eaee72d3524a29b5f6f496c2504bab1ccd294d3e29e75dda170812f1325e52afd4ebac945e296fa532c6aed80ef2f156ed17f2b1635b97d6a3d5dd16c7c12bb72dc63d8d98a9a77801db5f0abe589fd43d7cddaab72e37efe22c0eee504f555e3daca77eb71a315fee523ae910227450140e7ccf16d950412d471872bc9d63a4b809a20ebbbbb7af1ef3bd307c919f19d27b263b58faa22fa9a457ffa2db4529bd389862d3a1396a8b519d46cc56d7c197ebf32cf005fb7c0aead6bd15393b461d7b6f5ec67911ee40ddda60bea8c317d4ad576fd15b8d98a9cbd92dd2439c2a040d0a7cf8f0e1c3870f1f3e7cf8f0e183868686a6478f1e3d7af4e8d1a3478f1e34343434342425c8640caf7333e6b5331876777517ef4106ac90dc5c015f3a070f6c2778eaadbcd2bd0790eb3dabe2add4d04515f51ebd24ec2e64b9afef620d10aab8aff57af2bd5d8c3af9c618232d82e3a777e984a23e7d5d82bd98bd13320320530e8371b9db1d7df46cdc10b9abde4b11774499ee4c80ebbb3629d74b6a7fdfb72c06d3b6ed0d87b34ba453b6b7520ea10be8c3393538f783559ea246b25816287a6495248b35f1f888c19838f1161d5b4e5aeda52aebc2b2944de69055ba176310282b026ed1898f60b8897b17e8134fbc45b7684dd3b4ea9aa669daaf699aa6a1b8a6699a765dd3344d0b5dd3344d3bb9a6699a46af699aa6e16b9aa6699aa6695a0cd7344dd3344dd3b4ec9aa6699aa66932b4e3a0699aa6699af615956b1a75ed1906a369289ecaba2617cb3ecbe3d6f598a054dac503054a8542b3785c28150aade211aa5068148f930a85767950141ab53c300a8d561e1aa53c62d0e8e4a151c923d368f3c84eda899eb04f77671a9d35a2a0349df212834931f194ad730702dd1bda321d151419928cb13c656bd26a2f5559179679b009f4f000432180a093fbcf262e7b133781bd902143ee83c158a40f0874a9a4a010b127ae946de618361dd91e85ca967db20689559223cf0dd0922c4977776b1b46eace3e2b02f62c92456a9189db5b375a047a897bf752f9bd0f0c1f7c91d9dec431526337b01ec96b0a5d0f5d2ee9d19cf3c69c3ae6dc9143974a5a24c34397393d9af7c34772e8b2488b4e1eba04d2a37985609b4c24872e6b5af4072c105043090c06f57e0a96034551d4c75e7b294bb580a2286b298aa2288bdd8cb214e5f1dc8cb296ba96bad40ed4fbd55237df4b51d77228c7ee45598a7ab9d4a5b017d40541133c9ee3d8a8c911a6c8f031d4bd1e72e462a0176fdfb528c67d67354dd3348d8ba94e718753c0314378a175e38d9c256f19c0c550bfb75ebc95b91f2c08bfca6987c1303b00da40538e9fa5dcc238262691698ab6c550f74c38ed8dc19cfc048601f256c56e888949e41fe4f89898040c11cf535ca0dc732bc593214714ee91f364409c1c2386baa7fd7398effc67933fc8fb604372f2386cd820391cd83ded56dbac9b7832640f7bb80dbbb81c266c90b7b6988a6b81e43a202f4fd5fc1093a89c11aa84dcc792803df87d4af9092f250e1c58b2481ee468f64731d0362c06da46b49e1b350a91524acb85eee82e3ec21afa1dbd982306234a29a38c3225cbc64c6564244a46c91e9589d9645980e908e04b0d4c65620dfd4a8de4ea512564795b4381e44a6130aacb5b2c87ea52561425413d4641ae74053094eb34c53a5367ea4cae41e6ed0e4696e80e2ad35dfd3455d334d56bcad529efe67a2f54d1b796ba172d752d8f85bdf66ddff69a334de302ecc952aef5f540e4528b2c87c1b0efd28f16f5bc8ca4664c4a264c5606a3f8c877c9524f040421920c5dbe02d4bdd4c043e40c6be8cf6c41f9c79a9a9a9a9a1a8c31c6fd9965599665d98cb9f5460367ec56b790dd0f0261dcdddd2da594524a08e79cb5d2576a6d7db2812d44dc4015f52d5aa73b92d3d5d7bd18834094ae64eaad64dad4554f51477276ead4334f55d9db97b6baad6eab5b297f2d927c9fdd4f2339bb9444b2907cdfd95b47ce6e7930c410442c010ce0a236983d6992261336b373647ede9c719944b22944026969cab88ae36000309896a61671327404a82a538bea49936966dad74924bb80ee7526ee1d74e256856bae592ace93402e0c42b0098e9b3566ae1ee3c9d56f4651144551c7288a02511475178aa2288aa2288aa232ec01c06050194551d8e6ad30f11cab3600602f3c5c8d984d382fca80c1c84e799ef7efbdf7de7befbdf7de7bcf6130978507b873abf3406300295872459ddb56a8b8aa6d074692eb6570922537a414a08afade8cc8f576933a5702f9724026539ffad4afa05b8ee278c819610d7326aaa8bf58dfba369853b8d8d7de94adca81382dfa9e458b527e6bc8f734c07b17f872fd7675193018b7baf75a538baadf2c4804d25d35cd9988db055cc141860c909cb8a464d34774d4c09722f0a5f3a43906d39e250cc903c8508825d0646bc525b7be34cd523f6de63781cc20e60fcbb91811734b23ea12dcd14adbdd27f9829a9b0b70cd16d902501b4c4c4ca2c6cd16c3993183901cf6a2fbf4827a0944ca759035830ca2bb6a5a01dc99333c20c13ad388c762fe00d600a18a93d74f9a1eb54cb3d409845c3feb2412c4a66b848080e4da33884add73efde73af776cd80becfdec7d97eb0201d2322e97dca4905cdfe25e198b92ddddddddddddddddfdacbbbbbbbbbbbbbbbb0180c168d9ddb4b3d3bee512bf8f944debc52fea54555555345435542e5516c34386b085c36054b71b9643c5cd3923efc51804ea90e4da3295ad640e70ad90b6faa56e2765298aa24c145571f6311e5b3d6230ec2bae46bc81b2dcecaeca541999bb4d1aea69a081c667ccbe912ba4e1b25bfc604b74422ce27e51079efec1377e9f276fb9580a4553fcd19de85a2e2eb1089ea1fb9e03c299398de68c64a9ef56bc035dca183018574a294d95e43c1984aca12ad80bcb714bb2c9ef2d1697b549bbc95ce4c847655974e9bee78070f0bd4b8ffa2459ea7bcef49ce939d37366ce748c0183713997ee58741767b0df127c81b93ecb4e3915ecc5e46a989cfe1e0506e33e33f509b69cdaa659eaa5499a3c693abdebd34f7d4a82fbf472f3de1331317b5e6366ea319e4c5ddeea8ae0fb7b6fb3e87b971659ef56bc031d836e8f5ae6e67b2ffd090cc6a5f7f72b38c8900192130396a4a854ac98eb82162a9a91000000e315000038100a878482a13848f238123f14800d798c46705e349148d320865118c710820c20000000000004c0108121c20d00403f066857bc290ce5f2a4f50bea8b2dbc95ca7a42adf14aa7b6c9ff8d695887c40f515a17f931fc1704082812b38fe1e308704f41cd62306b51e93973751f49740f84cd8b0d1f05debf117d027727885d810457370575fd54bad5aeb5ebb4f8f7b65ad3e4e1912f2ffbc56ee5e7e97156a04cf97fa85dac6e00af4c353f4885f3e1ef56b74a4eb4a60d54f07296daf7b7da3a8389db442911c0d5c12b245cdd478b7e246e4ec2fa0d7bc3c4659a8360ef34212b4456fbbf292d8ce0413e6bfce016e46f198d8a090692d7e98f97e7344264bde72ea5cb640d984ab34556337aa5182f660b0b3984c8b6da457e9f5b60e9a84ad4ed0c21b2a2a588bd2cef15776937a1b7126ecc64d2ca97c10bfa02e3bce5e7a7af9e9572c3b06dddd044b7158e6566511b74591e938de2e65cd445094a98b2d1608ed24333b08b32b0b0414ff1de6980207eca73f7512af04c4a6b49c388308f49bca2d1e06fe5625500cb79e7cc4f8556daf1d21ca5a5b229285237a1232aee1b05bbf2785e1b290b6fcea355e3ed56ae707b06c5c75bbdcf7b02a63d6352822f75ecd2f83df9a166cbc70e9adc67a361ce7f35777bf6436486273ba9d0760e35054a703de8b37bccaa7681a9561572d913128e2a1655d328ba4fb93fe3d975ec76f400a0c199dba2ab488d3680b60d38825d566ef0e85fbd5e938431bd5dc89e20d9cdb85d66cee936b0508505eeb1b83b48fe3ac693215c7da978f9d88fd6b1b9cde2e23b17dfa7ea85c390cc4f05715c0a27bbbf653e131a7a1608cb50a8a9894d004d5fb170c09b06698bcc4e38885c2bc031987e2c1c0701fdaffc04b37d931351f3ee5898de41d96ae412b937262173f433c4671b0fcf1864fb7918ea9ea3b1b96f0e93144d540c73c0863f6b6fa861578cafed780283ea324f44a9739fc24ed00405344029b4188ef988f13bb41780d768e83dcb5cff0cf304370d8bcc38765621d1631ed4b6a8532588ef8ae01455bdae27c5ce4a18eddf8064c6bbcbf74e3ea0656766a241c3e838ba36e40500345af3b5bc6ac7a5e9d8aa24f7b85474f36ad3df296bbd881d0c2fe0ca91fb7b668f4c06be546f1cf3a8a882a96b759bf53feaa27c9ff983a1098f2de7f24198fba4200486b24498e0e957d81d8b7b429a276d8b4d3214b405747ce15c19e59046ede5ab006fa080f78ef8ba6152092038f1c8548e0450a2f135f44b385e995eb419ddebaec5b519fbf857da1eb1bc3c207148355a9edd03823be25f71867a329f5452d15f99c5190a30bda4bbed8fb1428d9c2ca961244f793843293a8e568e8cb596cea2e8ead59bd5da50f11756a83c894f50ee2ed73e3520b8300792f60b6695c5b4c6d9e02a67639f9359674912b4b73c3e097bf7b73104a4df180c52d043860cb3549b6a665ebd1047285ee2c1a1798c4b7e21909674c97f779fb89590d783060bb34df5fd6ae3e91113e9a63a7de6d9baed553c4b0a78823bd8877617eb146479c9e251b85c1ca648256cca0ab4f504b0a96bd8f75f24543f81e17a253154a8019bfd24a6a2527d5a08bb4d78ef61a07a6950a309e69dad232ae4445a7a8a268470511e4de8551c2c41a0caab2c79001e4b53e94dbf30acca421a5bd0c7493ecd4a5115668073ac8d0c38e7cafa7f011caf3027148b7902a364786ab65354e34cc4f5b31f0487d7fb48d5375afb7492dfaab986774ba7fa79344c00ebe8920ae0a719ac4594c20eae94a1462aa02859d39def88a092f1c52a8cf19379d7c61a7b1c598d7a84a033196046681a454c268bb141c28c105ab0f5be1d0fe9bd4c3057e9aa36c8f42b77371001049af0173e480f00e1417a8d6dc835a96f026cc6a51cb7e0ec5917eda56f14ee42160ee301d125b5957aafa1980e0cea60542398e07b8191f7bc712cf7491ca621bb5c5e8a14040bf7da71dc1dbf8007b37d785b1db9bc06716cf75d66e871d03c6e62e97252a62f7b4dece48c3f74886e78eaa9e1bf0372babace59f092afaeaf09e303feeb22fdd5018f65865abf5041cd6d1626467974f93c0d2e2c2ef20c51ca924a667fa2f2275a09437338f5529920e4a73b730d0dff31afa8849ad8fed75814a14841e35360e37a6c1a77026887112a793bc2fd2b22d89f1a6bd0a6c62c8ca16cc655537aa9af80e8df964c4bcce00236c84a0cab7e5395a710493357bade7d35507b828868570eb23272ba72c8ad59e1c62985f4f1541e3e8013407f5333cae35d7c237b2b39ced179663fb6c76c1c5471e2f5ee5fa5610c3dbf144d92912b229e0644b9cd4ad7de4543e0171e17c7b717c1ae5dc3568a507b0e1fd50d598ae01fc889cb73313fc8d52133071d77a7dcb39cca44df8b0611711779a360e637af4225eb3a212182fa35f98113c0800649cc1de13d73cc7d6e66a6d75a7426caaf8d8bdbe5416e73e9928ef238359ed458e6fc4a686ef0370ef452fb7ffa0eaa70b3f05b75a38d4e0be2eb784ae373454701231d40ed5e8e4604aee5657f74a48dabebd7d583520d00e0cec29a7b2e92916af3ac9b87e821f78288f6eae3b93c338e987bce97459c4dcddbfb312a7890e1bd40814742144dbc907ca64f39e80d95547d41292ef2d21567185d16f5ba3e6281e1fd7f58b2f5b3ecfe2720b52fd593ebf86e3ba148713f926b1d436e1d18576b0c4c1c519a03bc2f8190582a7bb8275f015d1003aee747c179fc0c217c56c33631bfe2be0ac3c71119bfa203e9907d9fe7fc9758e1debdf88ba03fa1470b97030123eb78daedf20600401af56e673bf1fec86bead7cb630ff8812a88aff79649f780b31365f1c708cb20a0cdaf1b983f60ced0b36e958d8bc60b6b6246416c732c873483040631fc082e21c7904c8f04c7fb1254ab9f390aa52ca1859493b33cfa73f6e04cd03da9327d47d2ab61baaae2aa8b46d784d67a128b4c089c70f8a05b0f3e1a66c88876c104d7384552296a24dcfa5217e9b3d9ad7f02d285fdd62496769ec72c6c6df29e8ed05d1f1fe8b24012161a4809c44aae7e3520403fb721dee685d190f46e0fb07fd22ea9f5594b4f7dde8365301512bf7d6d40863cf8eee76412b83cf7e67923c308f93e8c131eb9dbda77dd40cee9866eb9b6d6c5f09dff2f101c01cd6702dd722f37d9c1b9308143e0c5dfe4d6df8952da7302eaff0bbfa47c658f7abcb10429e87a77be85142ba9ac9c4e7a8f0c03ed732ff7ce6ac9b5f800785e19208f6a5c3ade75475d367f721b0bec6616af4de6de10ce6fa2c01c3048998b9b440404aa60d8e33c44a0de061c75b11d54690c363b5cfd87edc5cf672c2403853b0bc5f91e92c30a17cf6e4583c4c51e72bab0c388ccbd1b5fa9d8354a1ab4d438612e9e386f68b194ea651bfbfbe8eba530200005565910343d55427a5f21c6014a4f6e131478bf32a20168886f7d9090394d2a9d41081d7111d243ec7c9cf2fbe3e2b9c92cfc8648588d1700073eac0f72aa167d7cce0d5bef40438a14915bd209088afbdea11b99ce41f1349d0c91e420d29d88bbbe88df2c009f55c3668310dd4f4a9421a3c53c7e625ccf059d43f6feb00a6e52269917ade6dbdd2f877d2dddbc4c0945492c5f8d5300bb6d2996c972c68151c546f2033374f2ec3ff558bddfab3edb91ef1f30033c32c988afcd4f9a788978421d83829037e7823e8a3b39aedfdcbbd73eeb595cc4875d58071961358badd3d4ae52338e8642caac187ef41345ab54964130791525d52f52837d834d074e3c10b663e2eea12e73493fc65ba1113e5d6c10b510c381f515f2ff9b4505b5518d2d6fcfde7e2d1057d719240f90ebdb9d7a01abb19df1a598bab9214088d7cc68a6ccb5a373bcf00e40819f04f0fe01c3dfa9e34908f953439c321ac22f82f1fc5850d3f64f918830a47f3f69a70d964da88b7d9c6fe763b1484abd16cf5eb40e8add775dda670f9f3e9943b03435ae4c1915483a873cc3a0481bd36533c85180f8f67d448b73e00f1b0f9eb404656306a9fec473561c32b8c18c592c32a51c28e40f470980b23ff391403e0b44c232bbf5ce48884977fbec43b3f80ddacaf1a519410a91de8f22b8c01aee1e35167d2ee8474f8bc34074a76ccba19e2adb6608693a73f5f64f08fde2961d30b1fe451504c8d5df2666737cf9b49746db5492d811a4a8f3e5eabf4f07c1cedb88da486002a3a4894a213f3ed189532f81c49d91cbecf9c665bbec48714c86105c99a697b3d0d1aa8b12ccbeb8a96078712b0900714571a8658bb870190d93576da3c1d72c906c9f4093cd0d5e022c3712c7a298c1dc866d4c4d1c44f4875a5f9e8439848e80fb33c4510450cedd958ef60d3a57f1ccd8480c95012b8ce816738236b5616f0f9bcf9dda6c46249ed7df57cc40015de6bb47e182e420096002efae8f10819d062bfabb746c303a2c021d1661d3ac6b3eaa9f7a4d6d22e110b9661811a49e74848b299a0085e6d1e026b22dda29f38280f86a5216038f5cde2e1d47cfabd884889c5762b3196a45c04ed5f7b4d9afdebbec10ad2c35c25a4b4a725cf7019fb98071b2435162665e1d536c6d07095eda79ec9702d17c62bdb0b41d6c4a3a63648b041529d3c93c0a1ee8eb4af09ac8ac4ad1d280ab5a3611ef80bd08d34711743b3388c79a23138907d75df617fd91d4870cd4cb2ec850ced7508a29508c04a67114b8d354d7dcbc6f6a2cafd5f76b6429d3bf14235af9d77dafb657c517b626945e0238f12b44fa8d2ee81e730a0f7bce896916a320cb9f67d34c6fc40ace175e4c2ed6aae52454f620d7248c7f0193c05252b2961a3c060d80371893d1a0442e12fced9d82e0e83f3b2771ddcac566de6601ae1bd36a57d181d12627451dc9af2617464b12664305f806185d35046b113dfb821631a102235eb46e3b12f576b16856ae4e2a01dd6c32af14b59c142640f2e4ed48167d454be0bb825ecef096527ce585ccd3a17589b5f5a96ce89152a35660e6803b2e49a9574821ce63ae6ba27d29b5dd0efb30d6de5bdbe7c131b01157b7c5d2fb09152e912149e94c291706070688793b9818948dba8119c9a2e2742c5a244bd7cf9835605167d81ef74128f8badb5a7c44c220d9974e1740f39133f6c87f3b6efc487b3059b69c905897f0f2f6af7940d0b960ffbc7ec2d2bb4d78c275ae2d01fd3ae20b221df052cae2b669688bf24940b3d8a1ea07ee38aa6007e6ecedbf04e93f0254d8db3e82fcd52542aa673ac535bff32ed16133c129efab83231860c1a31c994dec155614296d77113045a26e9c99812a3584e6c13daf7803b3d06cfe9e77a6c37ce98a7420be786f35f49adf5af24667ef027090d3acb4786175fe4fdec5bf61e8f09094b624d63d21f4da618c735e6430f2b7a1ec0d7bb450c278dacaa1f75fdf689c475b7af0468b229c1114fc4e00cff0efcf4ed539c18ea2f9b644fea1bf1ee20240ea7ace11fd2911b715042dfeff31905a06ffbfc6a9260574abb72154645e31c9478e491c8b79a83779c9662036db1635b25c7bd17742522410feaf3bfe655393fb099e50a70b7296f6452fc49a2ce33702a397ebf1ffb1d3ede1bb863385c59c5924f928dce8b2976571d364d31febc0aa301e5105aac981a202b90289e77c4d05b0969fb32e74d96371c37500695bb7c4dad82b75f7527a90b647f3bdc45541433942ea4e61814f750e700d9f9dbf0ed52e5e5678c2cccdcc7d39009f08bcf201e682b525fa0dcf0a853d0cebe05b0c15c9df46bc1ad91b47b7501d79f65ff295ea365f8424a5594179145e9488999823c142930f50bd1740b72a435b613fffddaade443e896232faf08a8a5d194bd8fdffec162f7944de0943894a94b2e1c8ea116090aad2136d01c2b56f225d52e5cf9e1e2cca2bcf553eff7221322803ab6de558ff6c059205e169982562e1b142291fee6d88c6a80f45d73616216f08a5b4284e2925d5655f2fef7f7d69d6b77285c70ce2db2af56942111d6e17c95b6e18caefaa3db3517128a8e714308a06178b5de57cbd94a732fb60ee67163a8f986f9a857e1e7388a2b92a28c71b8aee103f240f4e8065b96db39a63141cf581adcb09a19823d1071b8e4aadbb44a2c9e9972829901bc57fdc99b0c636ac1c339256b0b8f3354501147f7bd40becd69f0b778ebf18a0ff97335c104d30910a574270e041663c3e41afca0509438434f1e948fcf1a6d877ab93cb1efb3ca6b9c54dc38fea0186391cc68862dd56199cd2ebb16c3d28bfcda6b8dea50128b045858c5d00394f648bb2c54a0e140289e5f6a3bdc843c944d27ac8fe2f1cba4e978c340b04c4c05c1419a8562f44f4ca8dd73ba70380fb49f48f76a8b11f7584a084b6b138570dce6b6edc05919ea1448d45c4552f825ce9a9f8230912d20f028f65fecd39f113825d88082a3b0e8dd5edf4bf1f9776d6a735499245d111048a1a628eb3b056641b9965f899a0d49a9d9682f014dffa160ea995f073fecaad79ca6fe5b67e809b516022270f95975670445255606ed7f3ef6abf55040ea86b2c8a0294835ec6220bb58bea2a9683aa45e0f38c048d17849023493f03201704710aa27b943c5cc8a8e0f53de78ede1bed2375cf0517955beb9c750864142f947b65e3f395779bb61e6c7e0d09a34a9cc68536aeb4101f008281a2cd937d9930a3e203696b3da0029eb4cfa4337c7a71511d0a382cb8304dec941befc996576e0c4e9d64501001b1042c00864072b92850120ef1233415195c884486cc67a6efd83861f3504da50eb829046ae1620efea63503cc03509171fa1aaee14c0b171613309e53721783a502fe9fc6856d11254e432b385a26adcac2568f39f7343e74904f91192b16c412cab7d1feeb313a510ef4a09d638c33353b639be6870a5fd4343132c9a27d4348a98b77d3fbcd09d27f01aa2d80ff9c2bd37e2c8fb971092a5741d6693ae40306bd9dd14792f01f01b5afc4bec0e064776b23fcae81398ebe8126da1eeb52e75d9c6bd9f0f983df5c8c6debb2b3d5dd962b77727d6e96d2a5d1a5eb551b3484ce83669a36295586fcea261c91912709992c56c7253b2341d991f7b0c8aec7be473158a1ec2c32000bc05a286a3d8ee2ac20330d5fc715e6092bb5d84e19d179c5d8123ba258f67b9ef5f4123dc131fa25d07542aeaaa0b85f5bc6e62b54d21a73c6021471b8fa48c4f2890a3da9fb1cda22daee31712e06d8e88655fb082bf0b21f7eae9c16bb3f1f9f8ec650d7dd27b6937265140ff8e53a41af733706bb219a83b067e9dfcf6d802d4c5ab099a8760b6955fb096811bfaffb3d48ebe5f19275f4439bba8af94a858a876000298e66147c33132399f5d3c36c3e7293c734ee3277ea5b17374f2af2595c596eb1561d04802f85569115e7d810b979cda621fd8c9dbc67612859710e2d3f0a32827bdbe3af3a82a1681672f242702bbe4178b3bc8b3ab8c6232bfdeed02469d84e66cd5c1ea0225cde1d4e15ced297c973de462b37e43215683538c6d9ae58eeec0705048680d2337555fc14d553c271daa903ffaaff28ae9ce0b89b60f42384e71b3b864844549ada6c6bc9f1c15f9c70a701a3332e6ae3b72f90841fc2dc4c7b2fea4d4ef0a73d91b75e26e2acb7899c957d0267659fc85b754bd9e24606cc8f89dea124a71358b137f299ee064ee6d588977935e6675a8dfc8cba1fcade04e2a63537fffb8d1f1af14c47350b0d6e6582288a9cba7382713fe992b25f9651b8462dfab7045f692f624dbd9757cc87c05cf1aa17084553d565fac06e8d08e4fabfba4270652410f34f46572addbfb84f3e80a55436f709bcd9051bbb7235405f0547fbce4e070c9434e5ceae8cf1adde21f70c91342a0aa6fca447ee63ad0bd165f9a9eca044d98b51ab878c0b00042fafec94620be1b698b2cb6db48d93eec87160d0017cc897b720bf6d00819a023e6270bd886c79b3b5b4a34185bfdce5bb270e2b58cabaad6249c4faabe4fc06828a8e7ec98eb4c959777d2aa30904559a4fed0a6306aa80db35c68fbd63af2b2dd77fa5b517e80b95f9754fa1af30be067fe4fe6fc7876e3ef85d5df5c864f70ac73c25df6f0401e4ff3312005a8aaa50fb4f3ab21e56d223734de24e544cb359fa973d4b89281b22b43e756393bbce2d948c293b50068e745cfec8b0be25508ba532a5874f7fb54b58bd87c619fc8253a452d100f7c3ff4ee00d4e1babab86be56915576aac21fdd289bb5dd1e8bf7a6e18e3cb0d803cd3e22a3a4171f903690498f55c769e2712ed2c4ed9f568f2a94200021855b2fde9481839dd6d25c00cbb5ac960b43ca02108d88da78f1fab693e20165de3f3179378159cae63cc577dc9e16e86e716828655119237029297ee6d0b36c7530df922901d572d05afe048685027df59731531696ab66f2328b3430c9e2b44c67316d53584bdb4d6ce4e5bf40482f4eb485a501fa6bd663c030b9b7b76658244ecff54a3f2ef13ecaf7c2659f954f52d94018bf170272dfd3201203bbb88cd110f77d4df1419c1af725432a88f1f161474031f09e010ac441f863209a9a7c8501550888b930234c0de4c61025c4a9f8b111a482f0f2e0fcc2f56ac945aed1e589ded1ba0df80a4a6810d176e8aac775238273201b7b34e386e019304afe9f05e0d9c7f528e86a664bc78baa440221bd49af7089e7e7bfaf3ca81ea9826c70d3e85a8e350698aa350923332eff8bdf3266c4f08eed4fe6b80540f196fadf480fedec6105d8742d7620f9af4151f82737591ffacaf57cabfc3dfba455d700caf905ed0dde78b4c6e6909873cbf1f1761e7b5f18d18687fcca05dd1b00dd5f68eb71c3b392e12dc0b34377c12894fde8d0c8deb10837a4449da5a63d1a3f7fc56a2410e5c10f603b9668d5ced3ff5c6dbe4f18c177a99c0dacb5f20c00c3737100002b5790db982e24a4ae43aee705afcb2179582b9ea9031692bef5dc1379df2b99ca87cd58d262322b6937c96a5a4cb0280d53230b83b4583169fe3698e58307c0f5ac1bb305f6c6560b8838aaa017636e7a4da90d2f8f3e6c9053b793074abde3deca30c4f6c4fdf849fcdb5bada12a863a27c95ce5734742e6696ed6360b200c3e264994d1ee1890172d093557630da4a4ca6ae0ef9780ce2760a3c7bfedde67e47868d2fd0db3656415db8aaaeb505e2eefcb365c20dbd071cd6a16490ec2b78d4437d33672f06122a24cc6fe440d8da311185183424bcebfab8252ee39dbef1f3ef5c632e8da3525fd2629401574681e63c4cfb6ac3bab3549e498790e2d837ebc94cd32b2758e77e26395b36dbedc071cc60608fe186235db2e978701b2017fa1cb9703f75a1b27af235f7682b3ef91d502efc1cf579af33f5061b085709e7bbb7110dbc2b1bd88c63712931bc8891e3ac831873d111604ed0311b8edcf5c7ea60df06da09911eb0dcda7e5649737b052f219771e189afb1067d726e0c1b4387be2d160011a2ae527849fd1f721545ffd44ec44cedc87316e14e4131d57080748354d1334f1cff07f4157e986268d27cf247a4ba3c42e098a3160c63e0e6aa02bedbf378a743a10572e47af1d95c99e244d4fe505d6617e73b1a379fd0a36fdb8cb8a7d56b7f291fc1a4999eedafa1c74ae8ff292f876b6bec1b92ee39283b07de8a884cc43889dbad59c82b25a80cf89083dee233d4912af6dc28dea3abf63be6c20b60c1929d173386223fd42c65e7acbfe350e14ce0692e2eb85be275ba7707e572d0b643ebef8ac6d5f78f7654acef70795b87d035f9fca9aac71fb2cdaf313472e8e19fad59392ae9516bce85e0ba714521c44727e4bd0d0a5b7a6a48b340d0b75900370520d3e1d977053468651acdcdb837cc17e7ad683b58b14e9efcab08ee2b3228d060fb363c018df6a35818e7b8ca216bb9c5df3501f3c9f768af0911395becbb7aba3bd75046750d5cd809f627c888615fc21699d79e1cc15256f8c6be17f7cc9867038f112a60e7ac1f5a444d3a6458acf55bbc85ff57948621d7b4ebce5c93c674c92f12cfb616578c4cdaf2f58a1be0f7cc4c7931aaab9b5e7f681e9cb96f33ce0e108b61ec4c9836141909db9a5e4c0d6739c0a38267acdc4022ccd1d1ada320b20cd52cbc092fb8ec70e695b9d6211c2c4ea0e9d0517a2d039122075dab77ab82fe4d1e1262804c9b3d7e814957bed7c7527a2af5089285b9d54b51ce1d363d078cf3917a46537515305d459ca846ffc639e0dfda3e673640c6841d2c8c3e0220808df26b7927d6f14dbfd7c016e5640a2003148a0212f74237360df3e8504371d7e6379ec97ccf0aaff6c926f1bf683193505ff0176f28a70ec6f7001dfcf6129e44cf2ac1bc281fdda261a68c5924c8e1bed75b6bfaeee89866d716353db9d0bd7f68529bde3928ff51ca925287f41e800e575a10e3a5ceb0388cda281cee8a26dbf74f71e4134ae431ed14cafaa4f624f27bb50862229743b9dc498b9501ce4a050686b402a3688c151a3216a6e2475618ab6b1bdf0e8add1b133336f3f9d33301bfe3172cbeeb2afcfae3ff22e260f5edcf4de8eeadaca48d46b498dfa942739a03ec2f8ec397f92fa69d592f15108cbba72e0b3883d20d3b5bc54edf72593c259f407e4b12dfef5cd8aa260a6226f0417de724f103d4bf40a7307acfc747f392871c7362528608568e42f3f222491017e379d7158d49d174bbc05c6e938e29234d401c5d7f141269d86bdfd3ed65c4c307a7f9b81cec6c9d333f2a48b158e69a53b8a36e7c24a95a8a3f4f892cd42009e56727a10ff9e05cc8b8fb5fabbf38a6233e3f00da8d0200136ef19b4a5098d6c09fdf513aa153f02241198f8f6eaf64431a1434dbc73d9bf03be10ade7c69580cc599cb1f642735c85639d59711e5b98960124f2efc7d508e495e3d81419ea7f9b365c1d71c21f07317825659c3bc73360de92e1694b2a9a50895f30223b59f8efa747091241e576d6a61ab6052732e91a8e464c844db699ccc8cf209ed522d960a2ab170248e4095af6b5e63bcb698c76e9b17bd35bcd09f0cc3b185bdb74a01e9d12a7e3806f9c32020013b794169c1c00d4721c3e5005c60d078030014c2918386f7dae32ff9119cc814551d129ec6d09c82e956e5025a7ac724a459224e30bcd6885e45a3aa90a80b0aeb3a34199b5abf0be003f82f5dbf4c2227be3dbd5ee01af52be8e14dc181d70ad0c358d2cbc92743891e300437e78d358690c4f7048fea4868fac4fa7bf610c2eee4820120aae4241268a0b457bbdf933f5a6d1ba883950188e91a9d12728271be625a90adf6b8f3c584d191ab58fe37d63cbf75e357d43b90bea95a03275d2acc7b9568e0b543345103c18a05c34447447e2294d590f6a84c98627b0625834564bd17236fb0eec99f29e9402caf0109ab83e3d586220cc5f9db07facac02a9d6e694dfa2c051846f9a154298cfb3a7c32ab8ed445a99d9a7f4c9c577f0e518cd098086390e28acb0f05d15ad31db9f44d4622d3cdec16d88f34a8d691ed661f28d90dced7a95454a6e47e4dfb64756284ac795de814d27376ce9910980dc6070f9521be3460f0340d4e10f194fe21df0500d77ce52cc4cb48509d0da87c5d2636406f1c20cc8e40a2f58fb92108027e44c20b73d71438c572b24dc1ee046176bcab25c3a33bc86fd757df1b3425455e2deb7f5bd369ddaaa8124246b62e9001e79a23d69897c61cb0d885eedafcd01221c148affc360a16ba42076294708c8247dc05fdf788f10ca4da2a88195ef015ab0ad6bee713e4d2076465805b0b7188a17613aba81ae4d1b19081b77b851a28ffcc664179f549b8138f81382d9fb4b8f2efa2247bad57ba4548f455488eddccbbb8cf075f25fb4834f19892aa90a1ef144962c4c907a5cf8a51ca41fa5a7788e73779db0af73652ad34ce53cc6ca0f2983223aa204b5d1b6ba35da76c1b6a36df1f289ee6d6c996f858951cc6b6907aac80828005a1c65417aa2e4134de9ad749fe1b1932d784a5a09163b9cecf748f431ea48b82598c14bbd6f4a3489eaac45d8cd7e2111836254032c77460ae0aa400798591a53b97b143a68fbd3eae3ffabe02d4cb7406ad5be2f83fb88f699294f7691dfbe700043f1c6d7fa3faad68fab3bf30d43602c1f4eebde66ff9933fdd2a312dc19b1098083d92caa39fe75a1dc57e3fec5d04b46ade58ee93a54e0369067411048ca894a17cbaa67500dc9887ab7a04bfc3caed92cb0438259bdd2b26017804dd28702488f0ff5802a345d2e2e50e40fd31fed70c3399925f123e3a17ec95a103c81c48920d9643166dc308de00f2eb79001386b18744603a78c55be901abe78986dafd8592e0a79066154c9c95374ae68c68da363283f3a0d7c08556aade06cada7ada67474475afcf0186adeb3d424f68265602f4a48366a58a4d67a62a5904ab8cbc3a6a01130951cc60ad98193c13777f0ae2a658d01f96f0ce7b4361737dd02afd05a845cadc2f898eefe0603a5dc46a2b2961b480cf31054cfc4e86aced802d946e84721047292d970d42b7ab9ef523e59b9f019cd627875f1b93323a1e856359d6c079515ad83ef344e49e4ae6071a88739512763c4f808f43df3a06fff67e6e309a6447644d94570d75ac7664f36d0b40448dccacfb8135cd1c44859ad91c0f604f0964ac650215d4e93ac11e66c04a2a6e1894a044aa915272057986a74dddedb5a585524748b9520e7c7252269ac256b45248a35136ce30d915cd489f75474a69717c3fe605b5e502ce3ef76c0e74f0e458f604e2554833dabf89a6e3c05357f7a0d7f1e901ad3bd56bbadd0be677fbf94dc85413509dffc21c5b4824d394dfe7c1ab63f31dacc9412fe1fefb53d621ca66829901ceb811eadc65e3663df68dc7edcd11aee9904ce010e2b1ae289a628823c7e42e1b8a00bc4a8394693083b07fac87f6c848ce163f8f7bf6bebb1f5d1bc185eba01e15a1686221c80df07568ac003ad4c674e5b06c5d7da1eea9e96a1d1bbe043de1e1dfd61f05f19d0593e0b092b2e306132de8893d2c403fded86196d3e42bc801b88eacbc03ac6484085283126d5a0dd612d28671eda230442101e6ab38ad2cbda372aeae8fbe6bb74f027c717d8e07cfdb432fceb579587fe3db56642f76630a25b58ae79a2b6e752ab4d97ebca0251d0b65040d08233a633ec41ba711cd1da3463f73370c5eca3065a32e64529430d1fe00c4ca1f69d50d478c95636fb38577ff578c866a023c7b38ff102be2179d6337cd63c9b16663dab416f161f7ec3322fd34a5535564bf6c36da8b23946091122fb2f8888af0a35cb6c33f21e8f03178006f218dd4141bad31c9071978dc8f66b2a9427f735c0285434187e2befd73b15fa4f2e4ceb56bd132294a697544843628e42c8f0252ae2f41ee22a97ac7c66a8d0e5fb811f329721b8e573d1b7c362ade8fbe09fb98da011b283debd4e7d2ca292d486ab04c5a1b7de8b3c531ff3c7d0e78e80c2ce4e57e91520b155ad14adc203db0b9ea60bc0b6a8c750124b3b59f50537df719347f5184d6f5bf4ca163d08f37e7cf930561ea2746d29d80445deb541c36320a2c68d503f1031db6b03cd4468e413b8680a090d8ccff370bde967e3b2f937edea31e127eb1fa035919be486c9453e70ea9c74d92c0bbc0443761c16403b51a1d8d4640adfb2c1c93496901b2839acf5aaa31ae63d968063b888a1054398b1ad9bead1e258516f342cec2efa077364d5c291f0757bc79a703c52ffd5127972fc7bf3855afdabdd2cd1fd2a02c61b330d0a686ce713f92057b79434585e1ab79f6c717f2e9185221b102b01a235ab0015e5b2fced8d593a6176102f937c85afd854036ddd5948ec880a6935824c45bf034da45fe892c0f39bd59cd238b3281a5489179c33b938fa7613b9d982d751732b3e539111de60668183e5902c8921407597fdaf46d35f4e2565f310d9c9e6e2092c8ea7762bcc698efdc471aa81fb48e46773ae1a5b9063a1da042042e3a9a12416f119388a05663d17d097a86eca329ef9c4522a3ad176fd92e26beed19dde465a5106d888e0becd4f1fa10484366359e719f1b04d34d97e0d426d2b14af0ae3892ec599cef9552d4492d9445bd69509dc092dc4e03f8184975cb61c323565c2ee787e4bb7e860aec8434a088350bfaca430216b64a524bfd28fd4a00cf35a3a0964c4034a30cb60627ad159d3f8c3cfb9e7f41acf5cfcffa8c9dda4a3f6ca576c53c90b082c824b86002578e4e0456c5c0b7d31ba3a04865e8e06a52b71fd3735f5ca6338d9ec08939fb84614c0f84acc96fa8b8e5a3ebc3672b8b7cb05bcdfd45b646535d62780fe52a81d09ed14c407cab3a77271984e6bdb362827dcfa798a256c10d83fd482759943c86685b4a148c83b9d39d2015a8e3521ca33d46583d5390ccd718bdc6c2064fb7e34ee92244d7e205a927b82f1bcb27b7b5681a3a26ddad93abb01f9254c789884fbf214deae2d109da841d5551a2e2dbadd0ce85799e7788de048e533d4b33f71a4cd7a731b857d7cb6212a64436f6c230282407a7070c88aa2b2d284fa30e8d15d9939657c9085bd0da0c570dae360adc750be8b9f3aa71254e2b69ac8a343e66435de5d6756885fecb6ae68e3bc72c99d51ba19f0735d2a834d79dfa6647b5540a8f77e8b1f84d285fce0a0343e5e3a04b5131d27057e12e880d51fd6cb862aff6f7bf5dbb25463fa75e71585eeb9811f0fd09403f2daf4fe062f74a3b511d5a4bad3c05c9bfe6dc86dd2b52782158c6c22a8417c9d6343f1f0c3b43d1a26a225e0c46e85b5080c38d52a16eb940f8c9c704255ad0801901272c759048d6f97d14fc844232f28be265f5324e708f9594310ad74e6a42e890af2f920c5546f7a7a3354d85d8965ce665d1f07a78212fde79e4b40a4b13a3739c13ab8cd52be9a01454345de2a8f671c2eb986fc2edc590914d5c791960526a239f4a3d0b7eff6a83982fb1d27b1def7342b416368a93b83050a7d900e23103316db023ec9c4b0333f0c3021da217cfafea8becac1c96a05ffa4b51618953bb2e0f5b1831046ad9a006242834d6f826361012c3161a1011f3c5b24b39ad8ea4035247971b804f47920d002f720381ead48ba14ffea054aa268fcf404e0d99650ff58b45258fea002b3782f487b6cdce1e69e490806cbd3590b8ce53597989ec9d9a6abce251a39aec8b7482e1e09bc396fcf38d446adef9c91e7d226446bc879172cc3a4f66df95958aef9d6d398102e70a7c6f885d04b57e917ce3b802f9faebf06af1ef55a912fc06504fb9aec174cc166a1f5d5169edcedff07a2f26f3783baba4a61b8a0f9fba5def2b1a8339003562aa213f8981e31da0932a405f47d6fd00ee5d11f1c1ee6299ba02fae41c2e3073c5bcdc9357d8fd48693958529a34106ec6655e3f4c0563eac16b5ee15606ddfddfdd1dc13dfe90ea09c012f08244011904188c12acdd1047a7bc80d2fcefd290319026a4bbc4a730178cea743017987c4191d2499b1ff689ed30c33bca8ed24ee7626c26f20172c843b93749d9fb0e18a4c725a154ef30cf2e6bbe4d1bbe3ef5f5a33d90caae3b8430fd4b9bc4b867f40add92415083a37a9b40141821901f5d5e5d33c9018b2911ae27ac74ef20e0fcaf72971311bdf7278bb291e7aa26d2df3b943c9679a75cb14b103105454b30c7fbb569451084d4aae5081a1bd7742cf24b093a04c81252a457a894c0eefe121f403d7abe64de0b7403550550088571a6a6d15a42895861c7e755536153b1994bb4c289ea3d9a7019f35ff26b99376f059b20f9230410ea4cbd9c7510cddde5bec58561db74fa6eb7053debe5e265d4ee5e78aa7da3f0986c071aa6c80f370f06c4fbca9c8194845a7b5f7a47cf373fca30a5197ceeb001d3b926159fd5dbe346c61a05f65349b8d2962a20d6baeed9f265c0de3d59370319c602cfbab62a27b5ef693be194812f20a4bf9a95ebeebe3fe3674057cfd9cbaa0180917761a2ef2d7062d73808c4795684dd785a1c425bf142d929226f867fd9383f58b1757f71846dca0a7d80524ca5afaed5f5399d421f4477f5d4503826661133092b4424a5149038a255bc615537f7608e2c26e1f8fe4f92efdb92bcdbeb26b203d0eb43cbddd21547068a5461eabe052e32b4d079c42363d0cd5d31502b8b94d5fcc1af57148029129e2bac4917d56ee8b23282f0724e9fa84ab851f88fcaaeda97378722826038dbe4b5ffe9034a2460abc7f443f3cde8a152230e71d4b40b9ac2ab1084055751132503d452eb2492569c5b95c8be6a346672974f12f214d9b242b44f42e7f85a6793ad8dc03dcf8797bb9d6bdaa8201c5c0d39a603ede708f01ee05205e69f9b617c1e1167d7c71ada4fa61296365e00208869b9bdf1ff9893419d7c3456854333b79552b9a56da7c865b2eff378ee21622abc7e727e6898cded8aa8d0effa86f1d31c7539ada6916bd27906ffc4be8aa5b26b0ca89ad678d29c587e7107c74bb119674d70362047d805acf688d708cce376177712987fb08ac7562097d13b91971afd19a708cf007d6ef085c3a534e632c9eee33ef939e97319ddfc845585074acdf228c05364e896b15202a838cf5f089590927f776d03bb3f5ebb373fde670a73e2e1f46aaa029964435b49c77011754418d9584c612284e056d07cbe8c7bbba9f1a274c05adf847697795169fcfbf2815540cf5e095ad1f7132a3e92797ae55e97b62bf22ccdc8c7ad77f8b8b79e507235e8db86066261610a14b9609a64ac9e95321e603321d5081817e033e2d52cbab2558f86a4a0ba99964410abce4af70110b8f8390aa02b87005fb9f9b6adf9cb26bd6850b99d883085eb25c982a4be6bd82b0df89d502047c3dde5f4ccd6b165cf8d5fc0b8b32e1e545c694e30aa159ff14905d53da8e2c0b2e5c691d151a13a95342eded42f59ebbc9882d17f84aacf09d99e01394e64deaa9a6ebd475e8480555c4ef571c8be4c0a5b6874622821266a5a3a4b999ff5ff85032eec9f55f3cd1b2b0be6250dbb311eef8da4609eb6b32ef58595f9937692edaa097b95723c2a5e9f797f535bd3cdfbf6a0a9f329475ea1b7810b5fa55235e8f912fd4a08f4d04c68f5f361e3dc779e89d771669281b93b9a8048c260e02905e7b267f0421680869a4253582cf0c20ca5720b990d45032f56158ad48a554fc28bb914c65551fa8adecb800fe931c40c1024790e1b260359bf80dc8712206150e8e7512d9612cbda286b470df646defd95ba73211b6bd7efab59d84694815c0690c671c06b89b460f5d1846c98d04143c89533da6f40c6c35084bc05140b223d4e15634c137512ae8b0cd2a2375604c982e2110658442bd8a0059a1838c3088b80aea9436b23f44e23a354eab42cd69b27cf73c9514682659e3d37520d2e5d6748b12a596546d946dc4c74caf3198fd3a6450909933e199104ea12784b6840014ca02166f2c4ed6c8010da5af288d23a88de0da6216220e1d9f191f7e71124b3a6daca5a24a83a831d010fcd4467d4d4f9761847cbc4d638f233c7a2f7444f25cd4f506aaf7570566a402d2adfd1d9b2176697ae817a4838f596369811cae9614961d43fe7ca4e61485533ce85d62310900abc3899e8b7226ae9c25bef660b3f515954b3f19f4e02c115e7d09696a95862540ea38e06bb384dce308184a74a68060d8690909b56b605f79c8da4aa882f96364b7468c54f5aaa7685048c8e76211e53c66e7563a1d41d7d8a747ff59774405652f698457ec001bb3078f3f4fb02b3fc4fa7d081746a0fd9a3370bdde37e5524f06295277593378ea53e2b4c101e07f2aea47a0f78f03e0ceaf920e0de2170295df703afddbc340d32bb5c3586b9cd5577abc5fb47f07a2e772c263f51f9ca668403b1e0c244a8102458f79c2901910deaa040568390ac150160ceace3633319db6f1f2a04c05298c9f99ee14ee295fa631b35f50253e5100ec05c5a6dca0543a4579bdef952394643e9f6d9ff96f339b4a7a529ec10899db3ddf7d159983cfdcf193fe856d9c157af5ce855a47b1e8159e501bdf0b08ae82e0131884753730309898fb87c8f2449100dd5597612c0fca7cb850240605b6c9dcba11ad5047e0c85a76a0475f44fcd9824c200630b53f898008caa2f2e5496a381c726e523705ea23074a0d20fa33e495194b92e855c14154360400b3c3d970190b5165caf6759e7d8b748e73bf78e78cba70dd43ce799ad04da5ba4b6768ad73341e87952a750325a32f59823ca90a6fb91b0a2506acdacf758ba0b83be917a7a1d9e7004b00e7ef4d0a9bee6ca558dad1a54eee4585f4744efd72d01e61480a1b0faf1b044539011c113b186b25096b45092b1a0d421fe13aadb2093a70f58ec2ef0b9da07844c3c80702b7856094df9d455207deaf32ea3cce8438e26f55421f294d01ff2752aa09e62a49dcb22f3b9478027e6aa5aad130c825f592a818c5444bb27f44538f8dbd6137a93f56603ad164bdefeaa9a03063020aec5c190de573e0c58cca9cc26249a96f57404c99e2406f7baa20502b928a0296ca4c5795135843f1519eb3c20a07180fb25be2255298c158b492338e85304701352a818abc0fd957879d60d99ce167a89396cc43f3a0fa66b0d84990b7be30b13400026dc9d4c1b2d9a8903a462b277e48d4615fedcd2a725190ff2e511466418bea28033cd71be25bc6787f90ebc4594084363a598b54ae6d518f5f91b561912df3f7a4a23723d533e2bcd9991ca09e834dfdfce4a58030e8d7d3e308fffad39571fcc393cdbdf42cc8506e6c48421d80c00e906872eb3b0ac6af5961a6c78961c15cac38bb7ff140eca33ea66dd5e1114c47a5758cde9de22ae7616e2e694860a2146f6c1af6eb98ce2b6a907e1862259f448ae29bec5f82afaed96ccbc8b726a0241edfce9407d88fb204ee1bdec5e8f15b48730fe8a98ae48602faee915f5b50581da5034999b195fff6b5a9fc0a4d16c89645ee76439e44d0668d84013c93bd5e4fad18b23bb5d9a107f344d32cc600200461000678c80656cb4b35897c684888d07925e916b612e033583b62c99664efbdb794724b99529201b405ef05dd05493e8a6e4708b7eff842bb5118ef66b66c3f7f7bcdb66cd7d639dd646b9c77b78fd1cde4cd6c1fbf8d788dd3a550044294d4146cfa09d1c811376edbf6211aefcabf42b67bdaa77f7c8897c03fe03d84beeb9ef766def6a18f190d3618b3b13d880371a0df9e331cdb6b12a7e4c671ca9bc9217ffbce4335f4dbf6a1d0bfcc46e8b78fd1d5be2b1d07641d091be74c2e962995e5a776ddf3ee749ad7190ee6c137a444caddee5ba244e75e0fb4244993fbae8fab83240921a1af9624b92466d97737f6c17b0284235246d81471e377d148e8df9bc981c78e6b7db77dfdab6ea1ede5c66113f49bcdbe6ea1ec4335e33805b22e375352b79f71e32e8a5996ef66dfcde43793ede1f6f0abecc6f6707bb83d9c808feb38a1efc19d8fdb65339c4995419791719f0e01b747a62ec4f8741e12a1470429e649f1b5741c2237be3369d39311bf7b9c636ee41bd70dc09233a82f5a21497c4e0149d13d6c3fac0514941b6b9adce82766121f6632f4ddde83e91ebe3d6f86be4cbe864594cf596b44516a356a336a319b8b5a8b5a4aeda456525b511b29d541a9e57b6dd8fb87c47d0f09f73d22dc47c47d2fa54cc07b3593e10a61a150e8bd9b28c48d10ca3f1935a94cde121c7f893db3d6d1e8bbe76d1f7af85728d4d1db4514e4220a450fb5ab68aa1f5dea624ece9ba91fbfa299914875093272205dd23e7efb7429fb88c528f0f022eab08bf81d9d3e6788ebea6814514940b9a4fb942491e45eafdf63a875dd23c44d11e52ff127a9c68c646e22ca8bb8717b888a44deccbb3cc47b894fc42402124235a4244884207222e1dcc8c49cc86af0cdfe44662300377b083966200f268642969334297e15bf71a438ce1c420af24046fde3c6e87363dc21917e84c3a90713ff9242d4d077319733c76952fc9075264d8a1175637c8e1f5191488c31881bbfb9d0559e09077f89545e0fbf883cec223ed39ca0270437f27020140a551fc3291aaa0f5521f9a0bf4256ae88445c07e332880badc4e816f8f2e16fb605fef6a1bf2e180a7263cc7004e086defbc033a1f8f87cea52e823fcd8b9b060f9eec4edb2dbf189933c98f821cba91e37a1e0d807ef253ecb89d389cc69b8ce6b5cee096efcb7f25de8e95f5913551484cab7e3540ce5507fe52fb7a20ff1921bb2a28796a6449ccb5db13c76dcd0674a3875e3732ac99b79efc140aedb5ef2853de0adcf40de4cdf087ffbed677603fec6190df0b70fbddcac0e7c435c9743bbe172b3cfde7a1c200fbfe0e702eef8853c37feab3f5f94d1f07b029371938c4cacbe1bc07da18776fb90ede0cfe74c0608e56e5ce772a10e977aab055d86431ecc7cd0ad56ebd16eb55993ec568bd960b7dacb815cb75a6bc7bad5d225f4563b1b356fb5d247de6a2b27d5ad362289b75ac835f056eb3a6af8adb6efe35c1ecc7c68fb5678411cc430cb763001b77fa4c32fb2e7a23f8e483582a2e5c9c1265da3aaaaa9ce63c809e28b6cf1249d52308d6987bbbc52d5ddb1bb77c4115735e6f27b3469870aaac5753157ead4c961fd02bbbbe7b6a249f16765676852575d60666666e61854f8efdf4d35f08bc92efce1c01c086bb0e1cd3c77b75ddf7e30ec54000288202695544acb974e3ae59492523a278d734e3a29a594d249279d944a292705625239299d148849e7cb39a994524a29a594524a29a594524a29a594524a29a594524a29a79c94524a29a594524a29a5d4d2a4262975410029e7a440503aa9a494524aa5a494524a299d94524a29a594524a29a59452970c07a5944e4aa99d30481774cec94d034c03c8f9d4ce220700624a3a3fb341a5899ae49c2339e184cf4d6d46084366236a739aa6cc8c69daf93f7f4e694dab0606a5b38894524af9534a3aa79493cac8c84c4ae75c41a9a4f4850c875377b7e88c2d998d6951fad70b39ad5f2a29a594524a29a594524a27a594524a29a594524a29a52f643828a594b6d06791e1a0924e49299572524a29a594524a29a594d249e9a494524a29a594524a29a52a321c74524a51c8149485bef0f7798ec7eb00421c3972c4e688cd91233636b04110318b12fbedccc038c98dffb8f760bec3c075408c3905e85e3a1b7342f4ddbb61d140dfd56c8b7fb158be4878c8194f380faee2ee1ee5cd8842a7d07710c80b7d0cadacacacd0c72c5fafaa3925e768a989557362977d9dea544ccd59eb68f4ef3b9d8b4b93266659a6bb8b58accfe663dbb5c2394d43d3a98ee1762e73c2beccea30afe85d297ac98d9f2205ec9248c33ac311800b7a76dbf75d21fbf86d85f722fb78e2e377943723fa3867bd461ac683e57ced52a13db931a5c304249a084d4412a73bdfff1275aa9da43ad5494ea010b16090f57b89b429e5c621bde34ebca4bd9027d5518595e49c8b4556294098fbb370aee39f711deff0156e943e397f1ea0eb9cf6cc75aacea7934a41a0499b0a96168f22ea9ddef1ae77bade99bde34e4810e79d8c727cc7535846a3e7628157ea740f6c0ff15cc417d9eaa64ed22ff1f9882623264bf8093c85ca56602db0cf8502f397b1a66ebcb9515a8fc17311df8b10b9f14fc0482d74bd13d33fbdd3519a14bf699ac6a3b4ef7409de1883ef90823c9011fcd13e3da591cab285dab9931dc9f54aaff44aaf7c4772272eb27eaf14988c41e549f21c17828a3936373a12cf41f51de7bc992765efc8de913b39f4cd6638151e4c5c91c2771e4cccaadf321cf3fd6b7663ce39a57cdf99b3d6d1c8778244f9713d06010b41f63d9808bc97f85cc31d88af89e9315a84c5b7f6aa7e6aca6336c377dc7a141a74bdd339159ea969fc256e74e7cdcc8f9fe276bd73e37767bdbf886b23377ed33865e15a48b7e0c6871c57fd8967b1f07a8663be94f4fd2fbb6dd66f35c321dae853ce117d1581deb21d23d124b5c2a1a6916a334aa56e4e704e8e734e4e8ef52cb66ff5ae454c236acced27e4341426c850df7f662b1ffa8bb12c63b9b22cfbed270b667d76b5dcc8be7ee5accf3217daafd86b6301fd96b15c2930460121f6150b7c1ea00bb9fa5586633e16331cdb434e07be2c5ce7af7d0c67c9665014190dcae5904f3f87c675aa49f1b27c4f58d1901b5339f86b7fd5ad6b223a89ed38080a7ad4ab821bbf536e8240bfc4c76ea4a47c72baa7e3e46a69e7d71235073429bee57bd9be8cf3662c4e06caf5e0f8ddd38130c437e080e646e85e551710ec4908b9c7bc0cb50c07c37b4d285dbabb4377f71e9f33f6f44ccb37c69ecb8537a343eda9965445ccef2a215d7a5d35e46a198eeae1671584549ee9553cdcf8ef75d50f37c63fb9cdac9cdb35ff69f9aa80a808249e6ac0a71b3ff674094a4b1bafd8356d3b880be9b9d151d10557488442de877409057b6275bab1aaa9ba5bceeff84acba253d254201c09e2481017889961ac5cc6aae6c6bf2a9f24a0fc1346475423648a90b93014f04c32fe12df86dfab89406c0831c0dc77227b313a4bae8bfb942421e5c2f7cbc22ccbf26922934aa552d54ffec335d03e111551ede344fc47f7c81954be5d4553d19cfcc54ddd03621f293751969c98d43411f28453b5b4d968d3c520baa77b38d53da4d3ce88e7c6fe71bb07ede54b165c3ec20bc233c59a9512f68c1089b409f274a97e8aef2293518e4b921b1fb6e9abbfc778050208e14bc83f5e49f4f0f9f44ad7571f1dcf1451ef257e7dd2037f8667ea1e99678a38bc52e8e143e0d578a5ede12fe095e8c36ff14c512786d133451eec992a1a7e2f2a20ec223e7c97477aa5fa2bd843e832c3011d42c8a9397138f538a4773ac5e7d38dbf447b3dc88aa805cdfa2b76f6c49c1b737478722acb3f6e7c1d9e48e3b1260ed1e1a1a91942e3a6981375e2107e5101a11972e3f3c94d9c4a9d224f8e9b2a1a1d873c7e932267a403393bfad057bb7dcc711344411b20fc02266117f1732a20378e7a340e3ea81ecbb21aa799c095a75664415f2df69c7237411a7f890fa14d2af2a03aab7f41b885bee3cd86aa6d86b6dfaa888a44a40c224abef666acec3bd7c08dcf3c709f0b846792e9c12b55fcc27d5e0e3301878f70330491e51f8f047f64f9f448f0bd40084116028f04ffb2383c12fc90adf148f0a95dc023c1c7c14d33d0b849e6bdc06ff15ee03f69f26e686e0c2bf63d52e5a6757924f89b253d127cccce47825f5988823058c7e2768d1ac1db35aa86dbe988e96a77a28311b5f12be131f3e17c58615505a165f19b99188daebee2aa7f783d5bce664c8e06f8990df8939b38d8eec8215e1c2e8e07df18390e7255b69fec4cee9d96d23d2c3fb5739a1ffd7ebabeb3ef770dbc99697980b097369b7fcd39e75f1fa3b32197659411cb489a9462225a6c8f8c8287fa1a872e55dfa4ffd1a856b70e68527f8cce014a2b4caff9b9404354feb7058105532effd32ed0cde6de4c7071a102430543d53f58ff603e85e45348eeedeeeeeedddd3ffd43c57d4a0c95fe21f50f4988109f32f22923776f2a3c3c95c3e61ff7767777f7ee86efce83eaee5ddde88fdf0e1f8eeff8149ff29cf44fff30909db7034f2e2e4c783d3f305430543cce2312f9149ff2f3e08372ca4905060c8e3ac07027e0234e8989f1f61e8da8f88f5a683043c8f5f0cb34fc79b0f7f0eb0c6362a8b80e14e253fcda9055aa5499729d2bf253f120f2bf2bea127f2d727a19f27bf4b5514456fef021f74ce5faa9fcefbaffcb6abccff1dc0dfb86845c117f7626725ddbdf990abfa0e55b758d19fdec84e99b79ef553f50e9612efcd040ae8c20029ed9dd3d6d36a0d321d08190381f4cc388f2038d8c8af321c33aa2c21e90067c19783a2783fc0a053770226387ea33c053786c641c81ef43c665af1dee7cb6ddbbb131df6243f5de878c183e2d0fae52a58acf9d8cc32fc7ef012f7db73cfc4e2e9b93df3aa2fa37b53cb863f813569d8eb793cd885c0f08f9b51f6800ffbac170442b3a1728d3dc0e19b6cc83815f47fe029f391b9a1439e698abc07b817fc30f446ef77a68f49d10be0e9bdac9f0ef7001170bbc172e1598a3e92f32a4163171ba402880c8a86a06452ae62a07587115bb16d50ad1f41b6e6840375135d5b31154c7f8355d0ac242722c414704de0b1bd845f5d5e3f066661d5532fe52c9d8c02f90b8fc3d394e58c2ade47c33ce365107940375fef0efcf80a8dfc53c96d137f701a00a4d988259d85befc9bb1867bdbbf5975bfe20ebdd721d0d782637e244e6c178a5ecbd06975faebf7d2646bd177effc19e698707ae9fd8c52bc5927c77c7de7accb2deb2ac2ee65acf307826d2e31994ba95958be2e52b4953f5fe027b7fe76c70e158c57d88ebe6a3e0ba8c5f64d7fa2ec3b8aeaf73ddd501e21f239f3a416ce4f23337794d5cee7fc39b6124aebf662f5bd9df6187d1c8e2b7381b9ac44e9ac48f719cd3a4145feff513ab53eea4766ea47b4241bad4f5c981780de8b1e71f6f6605f4cede0368c5f295a095502769127f089481406fed809e64bf73438af149da5443b6a2734418927719757dea13d6272346dcc27a8807c3dd81f7c2df2eb8fc18d7f94da320756dacdf1efb1cf8ba9dc13eb9fc16d6a4befed557dc0eafce39e4f7e0ebd6776ee404a48d9c4e276b67274a979cc7b2ba26a248f549da54712928352e4d985cee5972d941201077eac1b01b1182df8160cfefa737137a7eefc09bb19e2f0bb33e64f9d28c06ebddb2ac7f990d2ba4c366ff5e99cd81e366b34e0df16678c0266f254548c2653fb9c983782ffc36f09a212e7fc6752ee432118ebafc2c546ae857defaec736066f1a9fc2cf1572287b174a1760faa9f581fa3b71e9acbc26cd722b8dc40f8415ce792ca9e9f79566ef9dce2342232a4835c6ec239345dea18d53f9889bc991703f43560cfbfc37a1ed58a3189f49f851ec97fb3320fc62361ddb3fefc1ec922bdcb6845155d0fc534c97acc2dcc312c66993f26b1c7ec0d0fc65b74c8ab835f7f97162a52fcd48ede7eae7261c7b7e35ffc2d9a94fdf6b54bd8f38b46fca2a1b00b7efe0bb37d637b499358fe867d867158937800b7eb015c39ea93bfa4ba047afe4ef266b2e767949b76f80b3f4f46f569c4751305d755d1b370dde831aefbc72f589e1ee1623f9fe51971b13f618bb8d88b1470b1af08b8d86b3017fb2b0017fb1d6eba5efb15ae9bf561ac59ec057b90fd26615ce7c3e6621f318cabe15eb67acdf250fd0e3e6454167b8dabb219f19f0d2fe7fa772d1eaedfc1878ceba3ed7cf470bd8c01d5bbf5ee0234d7fa187e317631e0c9b02c7c6a4f7d831c227f85457f685d02fc1763d3b91a41c0194d2a61c83882fdcb66bc1f3c589ff5ec914108b30c5a42748037e372c0cf1e6a4108b7abdedded57572faedb71a3e7f0bfba7a65b6ab378be1cdf580376a38a82d37babf25fb77fb33eeb5bd4f0916a8dcc87574fb65336096656db387195763055122a7a34ba61f476005fdcb3280150165df36fb0bbbad23465f9a4de153b3ef74601fadf6200b6acf3cfb185d6555f5cae5e8af3c80aa54a952450628368ed0cb0c160165375ab00529b71bcd50a34bdadfa8dfdb67f6fa68b387b6c36ec4cfb81cf13dfbecdb5a56d7e3eac06ed53e7239b8961b39ae87ef237ef6d9c76fb9e1d6bb0eec568e6bc9fec998a15ff863b4665bb28737e36a1451ff7613474a0aae684eae0e81e53e255828818b9d4d22a2feed9e9420dcae5e9cd68206a440e1b6e83e25527cb8cd7575f26870854af7f73d1419107a7bfbbb6733a077fb6909244b08b18410eff17b8fdf7b92198a0d0d23724f4ac9755246287a4c48600a524a19e342f71b56c2dddddd39d8918826f34985a21365c4a4be25a616136b13ffe897669a07308d03747474fa26da22dfcf510911426729a53f5b1ece4d53811915a0c07c3d3ef5081dd6066abf8b2e5f2d7802258a0d0d1f76c388e1bd5856a8dda3382537fbdfab981f8afcfdb97455733d97aee5ed206335a8f376d071ae732ac5925491dc5403050bd1248b53165f4ec23b527809db7013be6127acc351fc2d2a6d904c1a3e00a9113d7a642290e31a1fd2247f3b5c73da01d2a5bfae240b43bc69aa26745f1a1a1a1a940c9f8fff7536a3399b0f865f4ea9af9ba10f452821c322b85c8412a8cbdfa24d2d8361ccd193dae4a40feda0c6c430a50e94e8c2ed46f788daf72951c2e7ba09cae05fd176141303b7125cb8fda251ff770901b79f44e536b42b46476a476af15a092997df4ddc408c0f10e2403942168218c20f4490016bb0d04321841082a46021419ffab0c208255c4060e880082266155d482d542cf182ca859427261002073f600247060cc1854f5ac2c885df22a6e53e254b7040030ca91340f023458a1429527640f02345ca73a9beaaa12c6e259170adbfaa8a03a11e8c655596c549274f9c5c96392c6e8c1c0bcf83812a3a169efbc28df3705dd30715a860fa307d9824a8fcd8f461faf0020fd773e9045073ad6769e2c6efaa9ada8140a837332ffce9190d16d7626962c5b5b8176e2c2a353e0741a807035f057c90912ec908853072f9633408c5e25e2a52f854500b2e84e172fcf7d703641355fe055d4af8de0c0b195eb8efc144ee85cb2f9ba8f1bb176e6eac2a16f7851b3f0aa026e77a2e5555555ccbfceaed9b915f4599527ceefb47baf1bd8a2e86f6086efc8a7e130f26f23c98f8efdff98bf1dfbbf83d1a9d47621556e326e7711ee7a9e1a9c19c5dba242ff966366366d0b9b9614d8a893cfc020b6f260baf747d7cdfc233611d084507c3ed9c47be17f997f547922ee45bb6fa41df879741b923d5ab809db97cf7ca2b0ec69cfb0000294ff5f1f15427a8d1c61954269a6c4c20813c4c3081d92c8184413ffc00f2124494bfb44ba03c243cf7a2cf8857c47d087831315cecbde711d53f1a557f8aca610e65835f8b7456aec31e4c8e37e97f348a1f4b44a466ebf43927842dfeef4a29e525b10cfb4bb37da5bb832ed6401aa89bd731ecf575dbf10ded72660314a3b5be1d06fab6d8f0db65e08a2edfcbfd6a3a62ae85615dea0270dd1be5ed172ba23a0d28f7c99f5daacf73fbcdf92fd33e462bd1e4f20aee53328520f7f28c06748c5b6cf8f577edb5f71a97f535ec35d4d51ea4bd2fc15ed25cf95a11f23528a75b2fe8af0d145ad1b2ccc5fa0aa6597859a6d477abbfb04c935293da4b9b437bf9587623b3a1496f5413d9bebf8dd40f7d7fbbe0cd68db83342ca341fb5a5fd334ed2b08f4d5e600bdf65676037bed696603c4695cf770adef464d047585da451a1b48d3a5f8239ede8cf61d3bd06f6534b0bcb4af712b9ac45a8561af8d2092ecfb61aa4b39b4b7e912cd6e30931ace68c05e6636b4cf7193fc139385fc9c1cecc148962915f4d5b370a1562c990c7dfd350b6fcc6e802ee82fb73e851ff755e13e255084dc4b05c6855aade8c13747c5226aa226b9b7484e118be6c7026ab049f203979aa8346d57653d0b19cd48100010001315000038140a8784a2b158180f3455f80114000c7c904476581b8aa4519283288e32c410020c200000020c00801928291b008de917986d5a76f8ca6be818dbe5d9dd619e3d69af6c0d8ec521208a937db10901eeeb3845c2a321ef0f7b0d3d2614632f743e2f811166c805c07f0b4be0b7e835c711218838a63d40b51c9276d741a3133f87315fb8775f90ff2acb13786b10ccce106855912a40fc9d6b01a53912b651ddd2063fb7ead61bc48baaf55dc87f24417eddc899910349443723535bc040794408d950af0b265139ee69f6238f77241813d50710780c2b955b5e1f760212a45e562e90e8b4b79ceeb2ac08d17fcd825348129fa020cbef90550eebb47708bc8f37a0f24a790e6383d791ebb12f5ebf66d6bc65b18866185f5bdee74dcb1eb5e26606f826589b06f7acdcc1070ed2a8282437a255368bd7808ec7377d56c34557993d356c0bb806f6e4eb0e00848f992d7e9166492ff45e210417ecda7f2d08f5817ddb970cd0824fc522cd4c683dee3bd634832c466c29f8b5ce998f5b56e47c2979f2b2b41eb888a28ec878f6345efa5dcd23450c4bb5b99d590e72f6634b7875d0346adb818229942931128bbc547c321f67cb80ebafb498caa61a9956de16f6488c33b88e2138a05910f4d499189944545d4502065db40a73758dd0251ea3cdff991e7087183b10e8965681813f6830b79eb1678a2f07290e924d4e2dbec50c2b786557418526ebc3ac72e8eb425fe762a666f276cbd98f00b2f13751de3f6a9091894f00000ec7ac15b77a414263427597557a8c39157b265890bad3c8ecb9fec14e736eca67878048283d84680dc4d0a323570a04418f9d0dc491d760a2017bd43530d132214894badc7d6774c258e1646bbc67dd3a87ad1f576c8f80124dc0a38d4588c1c3254333f510559e11f3a995c4b5eb03efbd938e307c5c44f5d5933da2f668d06a0a3f8cfab61f883efa676ee25bce2e9f419a78032ed0af50b17383dae8889f272f6e5382301b13b31217b1eb4adf412c6cce5f4164c6af144815703e8e9997f7c3f82b53078df95f4dc38cb4c5c5787592014bbec129d512e7abedbde51468a961e947b2a2416cc707a904fe813316135c58531f249680f54aa654eef5f1ce407fc04425b6811bcedb0d1826d0c810e3900079e2271baa61deb0e9ae2a2aa7b66172ee84edb3f4e22a9445d5c392bc83c46d3108d6dc3dd03424ea5386b6ac2fd57063d23e6e63d0fb08c2911146336652e057f6167bb6ae9b70506b6e90baab0266cc4155f65a45975e4fb968dd83e46d4540d00823e8326bae0ed5303a0401a555e06beb722c48a5126e08dfd56b59e2b0d816f8b3102367cbbb1749a7efa5427b0023d9f3784494e2748593ed8ba038e6ff03ce6b83e5c596179126554851febddbd801980e510fc84ddfb19aa092ae39aadb0818624181fffd90605197d034eb5b7ba3146a27b0fdecf5b226889deee4e279003496841ced715ad88a811341431e26e230d2ada45ea1ea3dde148f141c40816647adfa06a959bba9d4d96d953a35bb2002867eca8e30fcaef9f2808ade54478d6bd8f69d8ea2685021440c8739483ede5f3a73146b1ebee8eb3fd3f076cb2a90a5bc5f20f95f3fd31a38a51f06df789f97c6c9d172451d3ec7a2f491f2b532eeab1d8c967cd50262ab76153c10f92b4fe6a2e750270f4d1565f6713b4b8722b2b328ffbd0cd3cb67253c2a87e249a3ed42703ec24c547e001dfb541ed19f8bcc92f9edd1a5e2f2037ce74de4bd3e17bcfc60209b762471598f522a36a60d1b0dc06fed8406da1ade6b32ffb39a89cc6bc42f0aa9c46fd3adeac54607224820c0c747affab020fe215d9d7f2fe52b69d6a9fd9da2b6e608c2ffb1f13b2a21170ebb924fd2b0e3879b69fac97c342876d18ca7397fec5d15bad470ac0d9e09f357a60134ef3808ed24bdc423a4b6a7effbc2e01f74a9f8525b022e51fd30989e17d74b214954a1a8d585ebf8bf3f2f60cf59ba87fb5d0f47c8ccab68214d7bc719c9f0bab9435f9bd65e05430d026e86284d9b48b8050037b70ad270e61f9f93e46af62e11d481ea0879d9cec636a20b22d3610868c30b0a3d9b6171a8d81d9926dbd42fbdc6f46ab26713b981ba27c1f39418d4eb31874ae47bd38644ffa6f9ff12b8df7db599cc73829294b681081edd8694dcc1cb4517c1176ebab10cfbb7959a79a12620562cc140620a5be8804606da99f9b0040f96146829685842a3ef6533d41adb06c5cee6d6b78ed97e38a0b9fbc3f8ea6c960b8ed66dd5ee2d1f1e3fb3a681d85574f50686d104053ef3859111c32ea7e829538d1b92a8a41ad74636ca41a15940004eb978a7dde7c6da710712c440675da7e1fff1233d18fe3d4f570ec4e2eda8b4e8308c317e53417a90fc8defba8d5143f484ae887861a8ed35e49429090d1f55fe58d7414b56cfb2bb26fb118fad842ad2a796be46bd1b55905e7066d4cf7e22a5990472ce93ec7593e49a55ef16ce517b68398f480474eadce6397d9b28cf0ae74484a0231eca9dfa394f155326b86ecda6d3db01d91c700b4e790f16eb396e03ab46a348f084eb717e0466deb67cd4c6df19a38979fe27a10e9c059d9a2d07274395c5df443c178e8b52153bfad7704a34314b07596937baede06dd6b13168a23ce82956d92da1eea8a4bcc11a83613a0acf1dc50b24218a519654de62fc288e4c70253a53e5c8b06eeb0320bbe03ee7b9e2645162b2877a91fe14da5669d06818a6cb3bb210066f0b3aa1f3e339f5d9c69124427153e66b33a92add3f3b3e252cd7a6fb1b9dcd3949942728fdc9db48249747b4206a9d143a9d59df5dbd845baffae7568b369af6ab0cb318ffe218310ac0ca0e450766f7bd6098c9e98fd72373732b03b767ea208181c0f5cdfebd23a4bb2e30703b26b56f4f08a5d4366b75c8c56c20d285c30b9b279f6e30e350a5f7fb1a4377821484a0934e9b751a5f9e4f3efba0ffa3b8a0ac752af4047a523443f4fab0ea340a9e7126bd3e7b1f9c97c0119050e0b2170b4a48e704383279b15a5aefffd35e438c6ec5f134b59fe006bb4a04ab860e42928383a6c9531bd7694560afb106771ea2ad725fe72304e5875411da23af2a28926e804d33056c10c6e7208850470830c1b1a16f07517281c1db5ab2ffccf0f9ff6e2b10a306e575843ba382d726be29f85831755f975749d10129f2d3a4605d1416794548d0482b5c10955e5cbc2721f395302d6153560a873e4f94ee83bcdbc83747e26a2c4343723e42201f3b335b1a01f4b973107da50afbf7ed22f4ce20f8b014771008d807e57fe1cf4a5ad4ef21375fbf11211ff87cae30f27b24ded08ac6fb03ea72d26aa82204c222519c83c86d56aed75463c189911b392817bd929289bbcf735fe2b419a527abb80bf3c00a62b48315501a789afcac19f24a6a00fce304ce813d9a3465ac6508beca7c14ec1b9337dc0c8e6878e0db0710ab65a4fb355f6ebdf422ac672a69dcb8295e209e1c25864e89f5815951c985cbc1d3f80b19d081c28f5885e3e77c33ccfbaa5421f92b0e9aa29a7de12553c7f11ab5cf31d5c3d5f9fc24216ab4b9e6194d36d4ad311b3e08226c1e71de48606f0110e9f2a7abfe1b30e5bbf4675c2902b79f928ad0a40858c5a04c9c9f8f7a5505cb9e40e159d3c0288b3845c4ede13e8e3ce9563ef22cc05ccd27eea7533691c1ce5bf06d0a0d51b97952f50e0f4009c26f0d500a8716d2bc685e115034218fcc506e31453c63d94f3a4ba01411f45d12d6e25a6f7c6a74b3c63e39d398c717065c5160dd78da39c248b4c2d550562e903074410aead445e9021834089ea95fdca85355cb0d16c5b9308dd4fe30977954421744dcb11b7ab81770f3bfe8af09a2741570d7f7f32e297be837aaeb68b3ad367915bacdc80ebb99ca0d54e29b34f36ebce5264fa5b5da39b5588618db1b11792ea67f622485ed8daacec848b59729de58f60a37228f6197687712cdd8c3984c39a0987c5befe4f579c89508c8b9aedcc071a8ce1226226d96f8d6320405288b171a04cad678e12fd2e1591cff48ff6710d4c0ba4be17d4fcd4ac9a6989c37083ca668e708798724d84003052509bbcc42ce13f3d31e5162d8c4a12d2430f2c321545440de509a766d989d4eca6c63fd82fbe6b3f5390fd0d971d52a43cf8fd94b0c60379fa632336aa566e5058fd55a4b48d6b7639deb92ec3b0d7dcc87e743248ecd1ce6b86b40d6228402971446306a5179ab8ad462bd9313887528198d4ff618a11639f37d7f4aa6563b8128a5aafa4af8382735c4674bf260553449d36a1428449ada5602fdd2bb10be8a31c6e080389b20444ca1ca721b12ebafa478a0807af3e8a8fc5aaba056e939758074bcaac87c82658411a0b55ba8fe223fe643b42aad51bf1db4ff050cded33b687292964c2ea168593b604a40b51f4887f2fa6dc2082164fd53ef3c327d21c08e17fd3d4a886b3fde18ac771cf6619efd5437dd0ba72b867edd87a162738368467cc8edbdbc8647aefddb1652d635312cd3612eab03a85d0e9154238186a68fdb4c2792497cbccb25130c58dc174cbd7f741a780020fc2ed0f6fe21df199acc7324bb9ede61e5e71487d69d945242907cad1947e5bdfff546343b5c530ad103bbcbb82c023aa6a5178863c9e27a08f9c746082035ab9f80494133dac96e08dc4df58e232fe1889de9177a1ad514ff472a03f0342c275abc4e13622048457e5c37b3ad8062be1864919dc059e8648a5acf8e18584df9666bf31fd156d1a9afaa6acf2579029ee4eb554ca94c012a76d03e00136ab80672117e348f0619c9384aff22c4ca6d1f39a8eda4da3475dbc81d04a4ef238f585033d70cc4dc30f1768cbc1862acfcf300fc0835d6e89711eaa1281d91b16e11dc9b21351eff4d4b22b2d39f1fe81c8a60f130f4209c43498491c6a1cb7bd71af9ce5900f6fb518703cf94de5e3eefb40b2c0d2904e9e80675ab2c390db947ecb4e6a004c96e7901950da57406a5b299891f06cf0515ce716b3447f2ba716d95e510334668ca525d4555fe99017d43013bf7e349f2613e3098f6b6005c288bd0949870f1596d380a75ce889e8c687e053252ac2b64c8687c2f5788c9933f4e98edf2f933a8da1b5849080404090c1f0415a542857effd73838ba148783ca61c6a5809330feeecde226860cb2d27a47769b196809122082de0e23d6df1eb06a2db82f4ffa1dbab1d0ccf6e5660bec94da7921b92c6efce3772c4d059d5be6ce9b6d1acb0a1a5f827625ba5872e2bb21ef5107e9292ff5438ace092d26332e33bd20206ce88ab34db1a2e55159bcc9c66eaf286751765995fc3ed080acaf72478c72a1125983366e00e97763af0a33bccc43034653fb587c7a66986de9b15fbe11c3983bef7a7dead7e7ad2e6f08ae39143282351c88073b0ab7ddc1ef04dcd900b63280aaca5a61427d59156485a9aa45a5944ad69aa87d802f384e0ad185618d7173adf0d205eac6a115da455acabf38832dbb1f10c599889e7612507071902ec2e507b21125b021229595bca1ec5cdc679b0a7ca056f6a3be5051fb7963916742b8199378939594e2f247771a7086edda698570324b254a0d613b0886eff024cb931d100c619861d59da6ce014590e9eb38b6f8e513ad400056b9340657bc9e90bee31e2aed23c1a63c5c2bfe71b55011679900cab436abb1a45d0798af21d868585f82a47f673af11755a859aa955c3634ac11dbbeba024f905f71e7c98a730040c47e63b9a9b2e6d3279e81d7a23680683f6d9947c8051daf563d5ff0f55d5d524fba34317c00080446526d0a0e5b9085a19202203fb729a3b06cfa003c15479c207cf1fb7627362a481c6b864d1958750dd5d02988af9a8c619464c28d9c95a82980d85dfc78320f19e8db8c7a4564e5d4235716ac34647cb319d43444c6bea31e0a3db0adbbaf7d0728de4bad6bb05dbf4b496bc721b199a900874e39df17c1f9646969ba4570ad9d6f1d79408832e2b6a602aa952b3424447d3a303f2f11f8f527530d575ae62efe20981e07199e3fd556ae0b837ebd766dbed677972e7929640e68d7c3016c3a322fb983f3df817e172abdeb5e3b62acf25107487589e102dc179ccd050c344470c6a68f8160c490c4d33a9f4a4384fa39484c060971afd6489bbd09140b1c92d2a4ad96a7abbb94020cd3439695df9ddc811c819518282ce1e54ee942eac125baabad495b906e28054cb16b2f22a2edc6ebdf24171859538bbe301a53e2833ed0595adcc881cc1a0a795fac5edf96fdeb12f2dab573ac4d6c28ebc0c70076e5e841444da8c56e9cf1fe639113742536f4d5d6a5320bc0c90a4d2c9eaeeb67d63ffbdff895d84d636be06b354211abd915ee7839986049b89e3eac017918bffcd2504df4f0992314fd1e5dc274fe0e09ebea43feaef77b46929b7594b55014a5eb3cd3f46f96171f3036b02451fd3fe82f7fc2100b3e5e3e7ea29d77afc9827cd914b440faa64325a095ceb8df7f7ca0dfdbc9617dff39c00490d22f5a6068f7b13d710e17aa95748a2b44db00d2d848b40d808ad205477a6773922e05a96a78389cb55662755091bb2778ce5c1a1777372f3f5733b7c92ebc83a463ee9db959e3858ffdff84c5616875a0219639466574bcefce90b16254eae8765c97517432709d9b550e4b00eb7bf9b5892d0f0bdb5600b137c482e3d41bb112ba84ec5f2ddcf110195a4a4f31dbf81527247b3824d6551f3ceeb8f158ef0bf480b8a567f740f1c30a107b92a8f039f11211148bf7e76fab9d7d1527307dcf446f55636a75fe489de0c42b42cf427f7c4849002026fd2f1f3814451680637744759f4f9814ab925a45b3de983ea324bcae9e9d3f9fa39d1115fd847fe8921759e601a237c7572b9359dcfa0afe85123c3de5c721b1cab8113fda518688a33eb701ba061ad9d379fa08fe51f3d7f5e91c2b64d0834495bf87d13cebc0e7fe02463620f0a7f4f78f03dadafe9d903e0caf0f3888653e0681aad685ee6a00dbc1917609027899f134f5cf6fc2b8c7801b9d0a4f6491989fa6fecdf74e5db91640e7d354f12bbad7a42b4985d43bbcd408c732d7a762c85660459fa8c19ba077e239124d6df785d1c157c803a3a61ffe77644ba03a2f9246ad660b3e05e3c913d3c71f1b1af57ed2dfab9931683fe2994cd040522c1f437ee0b7c4b995b62fc3b9e7d10d7702102cf222d46880f093e3c2c30ba1b71fa65808b98a37a0f2f0671092522a2ac599c8920307505b00187e2f091d63ff380013dd54cb45af918dd63ab48f87255cea7f3bedbd1df40016163be68e1af664ed5ee3394c922ec39608960c4bcfd3144cdc1e7b3ac050d5fdecdb7dd1912339cddcdd38e51ec1c1b9860724d483fb1844a3cfd2d17061eaa9d370e57ae6106319cf9d6d03c9be8092ac24fef05b550ae36943f548bedcb062ebc5cabf4384dd511139ca9b435aecf75e129b1a69a6428ac528c3dcb87399ddf7203258ba71a449376858b8069564407680491e07e0cd3360c04a0fb862ab2b10051367e1b0ff01fda9370438c5c121d0f348d2c93b04996f11049f6f19c612a2023d2b1389318837fdd548b115a8021388d496dbed4de92c8af99bbfb39534bc6fca9c7ab44820807b4536582444c5de47e7ae82c318158f6419865a5912d6d4c9305e8159aa07884ed36ef9b3326d4a0bb6e1bd8c4bd4514ebd9098e1c6873d2ec268bb402375ef5e90605a8d986059b42fe73b3d21fdd08d91495d5d852853f3e6a1f09c3ba437230c281294b76220a0297518e1fb97d6cecfafcdc998cab09d13e255a02f19a14ab84c34f1d701a21c9277f3a20d6eac948e1ee4341cbe09b9a704fd216abe99d6d323794b5a3ba8d0f3e90516e146175c8d6483995671bff18ba938e187df06241e5f9578a18cb971dfe12155ef529b4351179b69ae68cb142d17127c311691a2bb11d6f444d635c340cd42d8d927c21581066fc5d9fdd064cfb04819ca12a279ccf515f64a568829685d4e3d2aec8016dd6f2520694d79c52c514b05a7b6a4b56a45fa43eed8f26b93f3c55f1c7a6fa3bbacd30f8149307aac5ab40bf58ee2a1b5f07ced7642d2bf8f93c40913efbdb924039bccb822cb723dc82a69d1cbd858e4c4008200a1c4a44708366b0cb6c4d7b7ba914abc9e33239f0f17caa22af91f5e1d2214bbc5083267512a6e8bc9f245250b23a7f3f724c7fca99aba32ede386140f38941f52d02dfc2e30c981830fa841f5469cd1464d6c5a2c4a0caa814e7896dd5b98bf861720ce3064f2a05f593a6aa4f96a839e9bc42670188f3b59228b63208ffda72d88c75a213991ebcc598ec59ffba4a9382d4f50c6666f815e10ddd671d9e999f00b2a4082182a1403649adcc82432efd6c81757c4dcefc4964625cf24238203af6e8cee1faaa05722d5472846655e76e02c39d190da39bd5b8905f468a5dde605c79a07eb16d59c24a8b5db01749266e55587e28a15eed398b6e321cb362f8d801a9b9e0998f52b51e4a9353b36df5816f2b1b7b2ade74f9b859bf954cbf913199b200f6d286af10f0c478e0f72414b093b9e07a3667dbfd62425b71d372b5ea2b6c4eca4b016e0c58af8469538fba9622f959c79725329039f548a125cddf62001fa6b6a7e6f136eaba871f01dc743d48b48e058a142ebfbee75e81816dacde811a7617f1d8471865f16f28f07da4b0e487d34c1e6a3c971d65141e0aa0d18e3bd5c14edf1df09e428b63aaca8ee5a2587b92bd1d4b207bd24b657d00d7010c90b85c7e28d625037437be5278a9e06b53aef4173719ac4c2bad8e97513a0bad31024160afad05871af602a21054848acce030049555294c60cd8c052ad59f9fc6670258b885040a2075c5162f814a4a8a3e5f1fe77aedafe431a4de42beac226f36b094126e834ab5299f0228e2f4ec1193a790362250c9dbc8ddee8dbfa8fe388b2bca093c7d3a36d38ee97e8d88dd1e5409cb3f636807e11a6396bde2fc592e15be0dc5cb0c050bb1ac0a6d7dd3abc0e703b54aa520c83378765371bf32c1a0c4471a92c7c83c508e733ab652732e1acfde23dbdbbf430b7bad690219b54aea39f8bcdf013b435e8314209db98f9f7493c3c53218343478e73bdd9054c6c0822429334532ca5e787bed2245a6b602eda4cf7589782bd126ccf4aab63cae4bae113904b242647d55c857f601f906bea19747fe58315acf3cff14da782e1972612eabc0c590156702173f0d6c707c6ab781e00289fb5360e17172d3e64f896259e5dad151ca9f8ea5867bac674169edafaf087c4fada9383327ff35949bee2cbeecf7785c7de39922abd4015f899e9c6a97f9d32fc21e17b473a0693e7b37b6e0cf2f41db83bdc1e8ec94221526eb9f2e5e56be3bbdb78bcf57c0aac6e75395ce6d73478634a2e2d3e29d810f1a72ad674e95b2dd4ea4a20f19bf6b00ec854394ce8e222e85539588c5f3e12617766668049009fb77336fc4af01b115b71670066448bff5efc7a1eb2f63df4b8feb687e75b14179202c60dce39178975c2285fa0b404440784f036372ab9bd24519a4662a8aee221a17a2c90df7bb890cc5358477c9c8048e26a4a0f920bc6c9c4987e716fc7c8382acd04bc77884a7c1e7f0460d3df40510a858fac9ab18bb9511f0c99e96068f5de6849ddce7a887e011189f59a7760d59fe905fd70a5873ce23eac87862784745a538f587887603a10929288341e6ef00e9dc12deb43155e93427c653f0b29fd941d9f3904a1b1dc654d68c42b983e5eed423ae83a8fb9e8b6dba18f68fcf5237410d0c786385213faa89281a0d905d48d453b65711f741aba16a2026e0ba75b5f049e7437dd4f633873545104257c7fc951fc80624587b382f6604b6ccb43a7ea287186ee8bb8a06fec6f12984b51d8dfae0902263ff171a8693c419d20d3c4b9af853795611b995c1278dc52a799d5e425306456644b5fd4648b63580f9d4c65481cdf5b2f72025e0e9c676f353e7720caa6e2cfcc25f9e7ee5059e1948e6d4cf23480d979164952b0d7908e0e2f0004084410c3fecd97c2d76436e5f01809e0a155fc9404b066803b22d48a70ece4e617122c27b618f3f2c77294f7a2af02238b42ae5b2209f2a8b4072c2e49d36ca2d2d521a81afbd9e50d2b952541ddf0ea90a7b46469695303d85f466f90fd748cfc241f2c03db2ca8d5a8b083547df065651e443c0539ffea238310e2bf4031b1c583e9f72fa1681b936d1db58fff7730d0a69979226fb399e17dfc2c1ba8401db44c3e59010f58f721094cf48136fbe9315713e19bfe72e8da12c6f4cd05f5d912f4c3e9357ae6817944dbc2a8c4b2f1496601e369ffbe767c28e934cb533432052f8558a9c1d1a4fe3f562932b19074ddf7613db3e61cc9b664284fb09de7d5a3a2eb8fb10833c07821050adb018576871d9773f15f390f8110c1d731c2e42f8e435a4b3a158073f220eac3711bcaa82e987af9534cff63d24e7a3c7a5f1dfd91bdf472d0869853d0fbca7989651772e1b726d85ccb074030cad32a02103ad59e6602c0389a5ccfcbf74202db7e9093fe005ac48d9bde6f76c4427fbd0e591b81ae1c74b465988edc651fd60abdf265595c8861bbc59723a627910dec99b981efbe762476391df64a28d7f2810ad70f741d943131543c1a6a11be794ccb415658abb793eb09b71422a94bdedecc0543b19a1f415a97119c4e02421e52c7bc5db68bb43ba21f0b8b82f49357188f062381eb4432ec1a0a5004fe356ef0cbb1cd75f71b0900248a2dc0316d34454bed4ee40ada735a6ae90d80d26e1d3d74411f0475a0c9613da864e4b8900e6e31daf3f450b5ba0535c8d01d9227c5c67d6152043a65c5ff2ca4780b7e38de88dafdd0a0c37570b9ace6208e42add86bfe82d1870be725d39b70cfeda717eef4d3f27c5762fe2a929f43af42f55ee7d1d7077395d5aa359be7c2c3e37a190677ce836021b8c019f12227dcd9fce380bf4418a8e7316ce0d113430add542eea05317bd75a5e21fc4c5506c14718bb28358356c6c0115c379404eb70be5ddc64ce3570151c27ddd2a86253fddcc52ab44d087709a247acf54818044c6e16a5dffca2647d2fad1f7a0b2ac7d0feef47ec162be49f089456d824425600d11e9767cf57a1d0b32f509acff95a6e0d912b40f56b5299b2e92ac77093c97df8ff88379c9ab95868b307496dbb7038c8695021979cf121e5ab457ac65f564c83d05177cc69f25147c342b5c92c82724e4b7eb8562d700c2b0d6c91ca0306beedd61351d1258cc17ca80e5198e669d7c2eb03015324ce6697c6e73e189bbaed1fdf28d9c0dd55a3dc6d3b8f33cafe680bad44dd5f8e896a7952b1e9f8af06a6e1e2f862461fdb625a506f083cc3136cbbd7dfb12ab325b01a8e123589b969882d9cd37910488f6a008fbf31518bcdfa15a15197901880abb7c34efc752bd3be31e6ffc6f1856d5abffffcf68751f585ae1dfc561ae72c0e8ce49dd9b135d50ea218b25dfad640f2970087d8ffc40e6ce8cd8d66fa91c1a81b340d74c533d3b0c2ec28e4053f72f56e7d7407139d5de33f1d7cbaadf488f4b010b46a2d6fae8de112537de1de246bf45e85a7cbed55c9a47fe7a26b06c28a14efc71c2c0ff09520b42d2e77928dc4b0de6498d0454c1a458d8b4a08aa5bc4f76a24195ac7685afe2aa65345257556358a88fa5f30307d723ed3934513332d082b16dd1429a44b5df4024908d225f65113331ad3885c548d3960f71a6d270c36211fd779a016998fc197239b021868c11e38947b80e3ec56678e678d1484f3c905e7df3754658dd35ae0893f28fa0fc0fe018d2d243f34ae142668e519373866816b7f597060a58f946fc0bcbb2aeec80d8936fc989ca9841cb1468859b0b939cdb7002689a42c86558f78fea2055634e1b86127c89fd9a628f4f7fe5572228c359b094d0e3de2642a7b412ea8ba0df276832ad7ab9f568a215cceabfea4ea3acff6fe67491d12e3ea892e397e7bc7c665bff3cca77f85a666b9c544ccc13cd7c0590ca36158498cfd6f69f99da1bedff72e53f69f2b862ef583b3c4f7d8c284aa5c7a7a131c96e135ba54d7c2aecaf716205ab1bc94c95f1985d5bcc82e38f76555b2206ef1a497a436cb500a43c1b17c6d4f40cd191f7bfa70c2627cc12c932aa0b0edca02d474f4d50f2ce97ecda409e9a6a5df3466562e09c4b443d9c041fc3e5399967d88d2365d6a77b7af82d462838db07e8d37b58f193e499b5f4772efca03d25b7850145050f43e5ae351e56ec296fed24ddac5b689d9c43ebc2d0f48568f8a0ec88588b6171d5dbafa41689b6121b86d2f10ce0cc35faf86f05cc0af67833670243ec0fa1cab4fc7529acf8fd013aa81f60c17961aad9734f93508e6b48da8c1ff54c14643b342b6092e70c080aa1c237bf893296d1ff3424ca9bab44c5eae4ecfa08c12579062d4d28be2251d9db562bf77f1b4e4d6715c9898bd5b3e4922030bc02ce23686ea8708ef2fff2e986afd28e7fee50025592548f0c966052a34513d11dc1fecfc7bbc9b19640cc54c42a5d565f79ad429f885ee41933686956a5f7fdffcad0b1e022fea4b253072112b345bf8762b0c19c6225ed465a8cb2fc071bfd5b589ef6aa6859c783768c18e05652e608051d9f09666e14c4e8e3b7ad09a625ba071e426bed01fb6651c9b451887e65df70d83397408dc07bf3222f6d77d24554eacc1ad8b4dae5226f13fae25a0006486f54a733be6c0cc2cec8b9ac29648c18b8ec5c96e75d1e25ae008148d513fc70be486bd5abfe6a5fb3b355d58e8e35483939b64dce60838c7ceac0efa9e640e1ebe702b74c43402914c1aa5e7a94f08c079e182a23f60c41dd0e079928c1b2830e89521389c2164197296e81ef22a48f6b381eee91bc88e0ad56de696cbb6b90f1c3fd40b48ddf303a5bd5e2c7711327c3110ef32ff421e0da70253a057c2bfa6a2a50afb25025aafa7fb64a92be1e2193e4c55776df0659a29f80be290b89700e27668b1d7a2722233fd7380e457dace4ded55350b9f4775e849d3e41123ef7f414db8f62405864919daa4c2ffbc283ab0f3f8780d9c72ee5f0e4815f89181a5b3c6642821b222480a62192082bb0d3a44728fc8077b00abb60f51b49b45654b545e4be1ab39978ea576acc1197850de6597f74be02972dac2b75d5ec9698452e6d3ee79139f5d9e797b4814d5b8c0c42555cd67cb050bc9fed7c23ec1eb2336adf93a8b2b2592070418ca6639f95ef8b50127fc156300008e3df12fb9524b0d4dd8128aa52b2f97a515575a50530173ee438b2bf4cdab0da29b983347cb73baa6da4eebe9e8ecbbc8bab97cda1613e2d24235a2c0742792a2e3ea2ea472e346b51c0d9216da6578802bdb0aac3469a6451446fe3981df6e0c845d2bf37c26207babb656ec0330464c88b58273a91a80b97bf7806892e85092e440dacd7a236dc1c6e34596904ee459f6cdb0f3100c1ef3c2bd093ee736b2da20d772046cb60f57a4faac4e4a6dcee78852ea460f43ef1d2f26047b0dc8b2e81a62ea2f760a9f48e964117e91765ca84427e7bd798c9910922601de56de528ccabd067b9d13962afbe006d5b36a9c8ddba274a6f726ab424de57a0a863bb9c5188c13081b2a6651ec118634ec104f404046e555f1ab9a56224927d8755f3ec1995c8b0090dfa3f49d1d2509e4006cbf5081829a11230ee52667cbfeb6728cf0d888a66812b155bca74b3b06426dae4abfd134fc2411d949407b68e97860f009efa681fbfc9585d576f08a70152cf3eae6e2b4c8aeba1dcdeff4c6336ae1deb4053b111b3fc84f5ad89c6672e04a9a61d46d227013531c3a47eef221c6e522d77986ffe90593c442b9d045bd3f541cac1c9e4bab51b04c509472938cde1c003cd3f149a10ef6441854facc08aba2d8326cf52cc8e6df5a9d1d24f124aa176c7c0c56f7eef6609f9c186bcce3e6774984804896236570c267c72b30b6ed3a954ac2545163e9c78284634445c87fe872e478f1ea46b884e5a428c5d169351ed4f9024ff04b272a4fa48f6c4bc4f7b0b19784a2040e4d8b78396fcf9767ff4fbd20fc380c4c6f68c9cd7a54e21749f50828cdd5b7f7dd91e7be581b08d1fd6aa8b9c91bf65565a30e6b46138a3d5745b42e1c097b53f0c94a86a4e7ea47f5b3429275031ef9d0c15205c06eb5590cacbeb410fcb440c49162307bea725701a08039ebfcb9781f35281a82cc1896cfd11790e4f45c3724d57ca83c84f4a997e874a6b18adde8f2d02123f729f0887cdde96d51005ca6ebeff26f89a42b2a54b68f64118a1f8be4b66885a4a87ce54ea0e724cbc10a9836d5aa173b674de0d104c5bd118652d4475892b23f404c0d582a01e68973d7343227a8d9457b1ef8861617b412795485e1842245d84ef215cf6721284935f7c957c78649c6539efd491b6c49be3ea2b10af058a30f0319afb83c5f4f62037acc2ac5b8d5f0b15509de1b614b5b151dcb3d30b70af9d7b27b4ff4c16ac782ddb15dede87044703588f79ea7ed703d75878f698e6fe5d40acfdffbc84737e557ed2eff13ac3212a43a0d03fcefee5396b11ccc8a312b9cfca7619dff6725c64debfc1e0a9d1a689fc8f92822e65cab2a5a75251cb096e41fad44d4b6873684ff45a003672f15b704b6edbef05716cbf63af73b02d7304e92929b68887af8b9d4ad0d4800db19a408f14dd1c1a203c93fe8de5e03a14c833eab048b48173491c047f6bf8b52f04153dc8a7d71263393fc940e61399e3378300285ee84b8556172ddfe672b3f27aac271487f20ac24cf5e638d237070ea1417253238372f555b2a81a708f912bfddb7735339fe052779ae361b47c0e6666d45019c8037f70c64c32f81d3289238803830e9a744d72fdfb453e0fb992404458ebc062f4e3b5d8546cd1b396505e9ecd8330b646fa31df3326ffed99c475102ee7961ed3b0f65e83c6052f99d87624f698893109b2ce26b425bb8fda42d19b612d82ca8ea05862c5d0166cd16c0da77ce644cc5b6f179964c5c04385d6b2f191121dd521c87c473072266af42cdda7a6f74409650c3ed478fb1fb98abedbaba9b02536c8889482cab65953fe149a7bf542e0dac336dd203ef048b5d410d7e4dbcd2525c1f509f378b7f85f8f13e53b96da396be99873175ef74b3e3722c1c273ba0cd58d4c9bf5220798eceb8e842070ed738f36867a5803e86ac5d517bc768cbebecb5890f04bee41577e5542f24ed13ad0cd06813f60d5d177f5166f593f73a815ebd71d644729de41424995df5d6d1b2679dd0aa9854dde2ed19a942c045a6f8a8d9af5d35420f8a47a3e89089e9a19795d705aae40e8a4fc0a63eb3c74b38429d2dae9ba167a99c358f14dc25e047ec0d09666a9d1e7f2a1dba956535c876577e1648fc9dee81482150ac42da2a94b27651ab5d8a62e51a5bb564a3282d279b4c7e29caeb2b254485428dd6ad6bbdabdaafc75ef3434c6fc679d0a85ebfe8d82b8026897f0b1a8c3496b2d30772aeea80a34dff866ddbd1193b70a650ad9aa4ecfdcbfa194c77e8bbb2d25a47ecaaa30b544e22258b0b9df4ac3d75460a626388e28d58e5b3c7508446257aca1f08f9220205435b0423b62488815529c606ed4f9fcc8f561730becb62b13cc9c7eaaa37304b189371a5260acf0d39f11e80c02934123acce276a6c9822ddf8c3d32c21895ff01c183a93478d10a892314461a309ea61d8f432c09a5f09d25d6c629581ec0b019a604646ee3b360e7b75449d39ad82b0a0d84ea22b613649c35fb9c51780f711588b530a12f0a715642993609bc8a6a70ebc0fa3f1ef2f548a208ed069aa09cde48f2957c34ae724b06cd387708d65e26622a42178e12b77aa3feb1885a8a271222a888a42d79431344b885829f878ee334b37c9697f8ebfe0b428e2111b141f63e4d0238297df79d4fd4397054cc07231fd4210d6980c43f49c4190d89e67acf10dcc154499d8f6c2b9c872b5117d93fe6474ff4633ce9ae886f5b9702649260bb3479d6f8f10bd4b3c9633b2d8f5b81369e5ef24e876a094bbd61a4450229f4503faa7a18aa35f5e36021fc3acb5fb387fe2506bd5eae4c46cddfb47c3bc335fc6b118630743aaa30ebd69f669527edc49ee18b877cb92baff4719256923d9b25daa983df9c2befa0ed6d34f148d0dee5b3faad4cb3848583add88bef2a12a79f5eadd283297412767ce7c45e2a5c6e56d3fda618bd8a4e359ca882bf898ade021db952510563b60ca00cfb82d04ebd2348738952a95ad47ef8db70eb6c6f76f283c337a9746c5629f690a4578dc2c9cfa39b18b5981290493f82288cda12082878e01b802cbe6a50b616440ae6c6a815758d535cd4471f5aeea60ba438d5cc04dd777a567e72ac8b650801709896b65dbb6145b2be64b8babbc6b65e513a602ab4f5e855e6bd465a75ed866ec3311717395ddc8f22a1d5b083861e393d02b40aa648e6fe20244b01a5958b540d576033f461e8bdf044263140c2bea71239bc7f4a04ce90cdf893c35fec7b8a2a2885f8fb17ef1c40214702f77bd36e9f4300ae92d0333b52c81f241bd485a0da4ecd21bdd6376ce8768fa4e3aadc960a3192ae17f5201536130464ed713672b3eaa7b14ce780077139773863e1f5ba9c677917c249384d6269e45faaa8a429803ac28ba9f181d9871325a60e3e2ffbc44ad2b96a910f356c55dadca55bf339ccb1bf2d40a4208670b07df2667a072f1e73be0637684a971ca2d33d674ab1f4afd8b1d3dffde0dc54ca043127f334c66d5207b08713a6f28bde835f80ab17389c6709b01b77bcd2785e8b4be934ceef256f7f391e4e621a9314e4a1ad2734e4497a41bc4a8697a939d4ab5f559b018ed1f58188b681e5bed7fc676b11c883a9df261facc65c653db8179678834acbc42054bc6e678040641d6cbba6d0e306474f08b1b2e47a22254a173878a9e0030e51af2263b9cc9541a6d08aad7aa0b9b42aecd42bd53239078bde9d27b02825f6e405cdfb4ed31a76aceee99cbe09ac4aca33abb3a6a402ca6a30598061ca35f33a18149f139165d872bad8e00fa91a2eed9179e56a5c0b960182d69124574a407851cf31eab2cbf930570fb2a4175a21a13b39a960c6a832462d92baa063d35dc8cd7ff1532cb4ac5542bb0b8d6e71597efc1311282e0778fd44db5b59802c7fbe1711c95ad047d46b1223946ac4abf0cd9695f46830abc691e12c0923ed70d492bd90cf4f6f975ae74ef6fa3866b5a2e2ea98b26961eb0f2311d5e2caaf797016d6a894fbee7955a5db76ba22be9930566e352d8a256d409392c58a7428ccf9ce15c97cc082e66fc702a8c6fac2252553f0827bd60b2059815d8f82db412040396cc29f87feb90b6ee1d8c51744e46aa0643feea0242d1abaa3e8ea7dc96f438b4078dd8475e22a5eb1c0bf70c79166d9851cfadfb423197f26f24323286708ebbaf558e413e0c3f2c74015c4cfad08d0672ae20625f062204e2250d6df061e2441a9af3c83374bfd8278bdcf387ee15dd8632e1ececa725c497837aac31ca6421df072d6f19060b0233290d38edc11b787f418c5f70e2a61021eae02261e4c062c791c0640f3780940e891cd06feab1e0b49b34786eae0ae1702f8b0dbc9479086635e062c48b0ffa513fc9b342bcfa3f5486eee0286fd899cb7010ab44441e7f33ef034aac450245aa282dc1dd9ddfc19627904605d63868ad0311e32d84998befbe58b328a3574626fa70750797264405cec9e5d217c5bf5f28743fe29b91c156a55c9a34894cb7e6de0f0f0939637afc967dad1e2f7f7d87be15cafb1d806691abac9f22098d8228cb9112313bd7b517deeb3101638473b8d2388d2d35e39d0a34a8581ca6f6ddcecdd7c0cec0c6984f46582cfd366dc4ef207a1844896f841dc91841bcdce0857d9ad95f835861f3a9d3cf593e11296ff9e4f9c37fd0134e2494b35e6bf2e8b91a95276fd1d4a4700bdb4e20c0b8ad98f25aa5176602e1d4c09120eaab9fb9e8e19e8682565b3a168fa51e499381710d4c7ec78c437b664b43f1322441f960646281e08578550ab455631101490a1ece3c453bc1afceb6729c6323b897ab3d31e9e607cbc8c3307a2ea52ada292200b42105a25e272fd4c73d43a1f076832d11073ad6eb860bb2b8273e20ad75f0794099b211a7d944ee1314f2af4f947fca40962107a4094de080f1ad09210df2083b5d86db61e0c9e5ef26d8bfdaab93500637d818ede63d625d994bc5d81f6194762ea04389b7412e189e9334cbbfdd9d4e9671530b241ff4038ae37449b314aec52472e5b6494f8a9277eb644ce4c6cd31fabd6a1585bc7dfc4aca061108f4358b5cc8cff2a46e55829905933826eb375d4caa168d440aefdf3535c98b279c5dabc72c9f031a074ab1656aa57e702d8225c1cb444b75ef59053f57c23efe041fad6ebccd972aaa07e56abaa7f73de9deca35b97cd36239b79a312184647a9c4fa516aced77195e3ee82fe81a18e27f56f5b165109044065adbdbbe6ca2a0578c52ac25e38c6b0f4200ee9385c5f10b7e3a7f468aff651f0aa6f20627ff86f48e9cb3b8df3557f34068f1c513fa9f6c8c14c427a0b09b0577b88e6707869f859a2f7a2d09f840ed93c96f233759ce92afc43435cd6d6ce24f0a47de1cd3e4c89f6d0a17fc80e22670e6f78732d93819814d1cf0773b96b4f06227140838dc4263f2e3a8e4e99a70e8f1ebdbc95309bbfc3e8406b927f8fa64222d8051f8dec39841d84c5b4c91331eb41eb10fab072d8fc83b0d5a767605e9cb5f74d89d928d666d41074a11b359f378e7e5b0f5f7e3b822e7908eec39bd9347970b7fd10c90e3977a80696357c582466c2f0641950178832e92f2041b878ccace52699c865c9e9b739cb9ce9f53841655175239ee24f04263459a8cd19c3630a416220abb7071e6fa244e26cab50055d2d5dfcca922aedc66a62b3d82567794d71d8e6e1b2aa6c4f601e04edef872f702e8f43f6fc310e39313812b28c39fe49a951be35af1c457b73ca960d61f015e2bf3a50b7fb1d714bdedc910f5e0b251e5277a3952718b323a2851f82dac969d5a9125f71e195d53ce4a2e510c7de473b07f1ba1c83e4b48e4def67b069ddd55cc70ced8a124d07eaff2c017920a1f2c7884d9ee394547a0cd11036e61d3f3c71ed2e101564163cac694b0a223bc14aa9a3a5657c5b62d021261d03481b548207d33059eb2670ff442b40e4f2e92d5c3d3f1b48ae91328ea228d9b218d412352dc21ac1929a09a1bba26a4f36cc7ba15728fb3c0312e92937cf6b613f3a0681c4f39c67d42483df33285ef0d72038cb35425a6b83ec4ed89e98710f5b0c6047d0d92cb05f7cb624276a73fd3bd52e72272040afa467b75964066af23fb409aa4872d10ee464508bc82ff4727e465a61e7c716249ecdd8355cbeae6e92e980f153d4e4c99349c8fdb063a53875c3d0dc1e5095a6e66e8c3c6edf70ee937c51eb5a95bff7dddce724ac5f4d6497b5a32a05ae7595b603e4327218e254e701153788e17f4d7418a6a92765c5c26bce1b8dc38000f8948cc309d484d5039957e88c053f38768ec348cef95a312750bd00e0b82ba3e076ae743ac8f4a0eaf57fafefdb44fbbd81d21b40235dcbf4d5ed614f33d160dde7f71d60658760175649734e7924bbb2d5800524a9928e1456955c8b6e835fd175ef2758f8b602addc85b67cdc1e77976656f07f68c7289b9c9271773fd42ec5e4613143f4da777965914714e142913bfeabad4a2ad823d910aaefd8171788d3429f201df8f6eb348e13b210550cb12d20b8f3e5ff119a247dac940ff5d7e3d6f328276910b9003c3c1f57c9840441a96038b3df3f9fe92013e293cfa69c5858556d4b2c69aac4ca593920c060de207a8196386dddd8a795e3079448e5f68cc44376fcbd4e59c4188e534536be6f3167e69cfabe73f2addd3d5e92d9f8f42bfc921f0a09e044a134ed0fc470e990afbad4202a2250e3192af3550e9d3bd5d9049bb5c50ffa481603eb2070777752560c5db05de97d24e85b63ef1becd673d455e373d36465367e1e9c7543ff688411ff0a48d2f7fcbdc7590aaa20a4fedd3197356bd0077a43d4c2236ddcac27f926443ee6e08ee6df7e1b8c9beb8f9b33f18717a53fe4d0d781bb5bab204c867f709e0964d9d3bea0dfe456b662cea12ad1d3931c7ff7c83d15d0bae3f28b3faf90598bb3d570a891f38d2a41f9025e64a69dcffbf0c430b1316cf25f18f6b3da91c957c4b748e37965ab35cd744f9735fc0aa31b88bac8855b127fa250bae9d16bbb97469751528a5c45115514d18e07bde09742021c51a80b578f87a0447fd7ae7bed1574013b2efc4bc1436fafb729d6fd9432fd5e100009c5fd6846bd63b7552b7fdef6255e1354bcf9f65b616bec952f987c4e8bfe5844beeef58f6eef899421ff211feaea39229fb3a59f1694eced32fe2b96ff069cae6c43f7d4273761cd44dcc3dd08b40dec3e03aa575a745b5016d2a80319b21698d58028a69557fd9453038e3aaa7eb42f35bf081273997b33d8bd50fe896b458e9d8bb3331d71fdecbb9798b96f0047c8e936f701b3e48341464d2728837578b0ef58e050d57f928a11b2f7de724b29534a326407fa062707eece63c78d7304358c2cb70d848b2b4c2deccf11d751fe34d9f0affc38b3b06dab649721590cac7cf036c83f58f9759ac0f9852f74310336d89543e40afb3704a5d7d7c12bef0be03c01b7837f0802e1600942021b5d4c8ca8e00cfddeddae2b32466c24b2022137ecb8dc8e0b0d1695a09601e4a21c2e2e202337e546222c485daebb1964d07c64193a94811962c88608fa3f6d4ae5897637dbb021c9e1a24d0bce4087b6226c5a68e1b243c6076093da0469d0d4a0fbb8bef178d8bc46cacd47cde6379b8f87cdb327bfb0766f366d59aedb1ed72da9c122dce2ac9833e4fa9774621aacf160ed6e28e94abc036bf051383fe3bb776d04f60aada3f22f3cc0b5ef79b7f63b29d7be663f51c5c2bcd6eeef685d3b5ab55ff2262596b36ddb36db29f14cbc8e8b17de70806bf2f603e06984d8ea29fe27ff79ba84751a374621460eaef6799ecfbc8e90183c7ff2760b1b7a4a9e5295d2bed8d8606d707b1adf79289defbee4391e4ae739cf976b2f7bf64a9ef3c28e4a7a7e85e53c2577e102e0a3d7f8e81e144f09001f6ba0f08f8e4b83461aec903ad4d977a679218feb71280cc83c7d1c998f3e8f9be9e70ac02d64df5ee8a96206062f2cc90106cecfd07dc9271bdc3e00f06878a127480e445870bad1c88d445650e472ce19fe132ffc7c4748c7c5459c184e92eb467a0a272c71fb071b7a489dcfd7817161434fa9d3bdbf2708ababfcdf35c34f700bb5ebbe76addf755d973d7b33b00dfc8d83ab7071e02a643e1cf2e90d07b8992fe4ff005ffaf679983cf54c24e5bae30c330ed99521b8dcf64d23c04f700b523ef55808b7d0cfb2f9096ea19f721b7f9c279fe39eb9995feb7ce6719eab096786b711e27156f5391e4afd7835aee3726285cc9cc43c66005611430a702391224a9703cb24613ff4ac3ef414719dda8fc332bc8d0a1645bef3c0480f8a90469b2ff5f0983ac47de801e92f3fcf9204fd7cc8e07062a44ee93aed1c6930f3a1a764df53f2f4f0903c2d1e9327e55179866c36e3217528ecbc583aeaf2eb18d97cc7c5459baf03ebc03a2ed793c05e1d1828ace04aef4e1c98fc38300e8c536bf8837a4aa606fd466b90b07fc38eaaa3eaa8eee6adfde81c58f820e805176d3e2cb92147256b6039eff9382a4ff9ed0bc192a75f08925ff88226081dd5f5efa83a1472a208638a6b374eace381e5c03a146e521cd573beb0765b21d7dfe40bc121d7bfe40b419e222fdc90a3f28153ca7ca1c747ed7c61c90d3d25cbf9424fcb754ec91384e32995427e0eac414e8c9f1313e3cb89350c1c1827a6453c62cf0f51e5a4fa6e2472ea7139304ecc92c012f1dab85677e37a5d4f419214c4f4e685787c5cffb983e59f371259411397db789c984ed9f0c781f197840deb7d82106ee8391149c1e9462244bc5c01dc488488d8e5c05ce4e9d129fe1e1f1cd86d760d7ff3e7f921aa4415fb838753d753eac1861c98eb2392d2e40fdfbb448848112102253b4e4c8be2c83f08243726e2519402881fd75db4f918a38dc82dc80f0b30801b3ddf8d2b99d0f63ab99e928bb8e529fcc5d0b68408fa8735b6576f4b88616caf0e752082fe9a3892524abbbdacdd5edc896bd962fc37980dc695b81f5b8c63b9fe5672cc30a02f77dc1e6faf2d0601d6b8eeb879c42d17d1122db5aee50d26aaf867bced0b2650010a9b1751655302a7f8fb1685ebdb0db7972986edd2af966cb8716d906c5e1d92bfbdc6b0f2797b6d2f4a3d4f89e32bb83533edf1783c1e8fc7e3f1783cd2e39132934429aed4eb1e25ae7b90b8ce093d405ce7e06049c2ffb1566b3f97963cc535ad2db6bd38c3d253f278342e1da2267aa25db739c2490c6d5c11f42c239ff35c8ebb4c2643e98a166951a53e582e2155dd28c5132d6aba4e531996144f7c71433a849e42da72fd33b4330ce88ba3871e0dbac6890d462a588a5cf6b65b7db0b4d4b40735750236cf9e7665c890e1f174d794c7b0212dd1920c58833262ae879e12a52f8d8b87dbebd55ea48205064525a594bedcb0685c3446aeb7a75d8ea38c08ecc993ea507bf17abcc8f5f7943a14e3f5f4e850bf29f4fcb8ee41dd210d3aeb3a336f42b8660f4896dfa66ad0bbb7d5f5ade5fa6b302d467bd51e6c484fb41455fc333156fef62107769d6660a0bf71b96833a453fc8b606124c3de0a0d7a86c814466c5cd7ff37ae0ef167bc8d90cc035040169e366197b8bc11b2f560c30d152248723b6ff3c3db98362c0dfa6b2dd7bf9eae7fe6e3fad3928b342fd5655f1fdfa4aec75cae933699e7afe429cd8f13c3869e122d691c1c23f094aebfa7d421a7c2e58fc3623d374a4103972b59d77f2669110f61957f4859ee0a498bb8a5a72a9c30dd6ab27cb67cba5c67e1259c2ef9851216f2a0c16a1e1cd5c00a38141df2e3c76f078a8e18a920e202d2283e8f91fc7684c0461632608d98e897cf6324a9606374a14106797fed15042a992283c4f5931ba3808215d77d096008813492c16de9c921469c4823a743083531daf0efc1cd816ab8857ebd6e9ce2c6285e47dc1a9060435e0d016b68b05f29b8ce82e1e20adedf20f35fa6f4e398c52c7ef6fd0afed203290b368c2a4155c8fc8ab5518ce1baf6c77089628cd6e511ffa708a6cb1c18367e1581ed508b0228df6037613fa6c4955f485b2c34088612d5d3255b3a84c28079f9e7e5cf8506fb370e0e1624f386d34557d3d5a178db4a24624abf120d0567242aaaf4af5e585dbaa22b7e01d634b6f005d4987d95df92352dd698e2af3dd71acf2080cb5f35d69a2b7f9f0ca01b0dba0e1f6c18612c0f70f7f828d0a03f7f391ae4ecc0869d0fa0e802414cd212f9a760c5ede61136592b6b65b1ca9219e1cfb0c85cb25796247bc990d41e6c0f9db5b2565cd96e66e4f26351e472910ec9ac95b9bcc0860ebb598bb356d6f2ac95b5a88ba388029e12f925b20324052cc0a50ef9c0407461265deea18329502b2fa04106e21fe800e05ffeca2809848ca452524a29a594524a25a5a7d3e97492277902c1ffcfa7253fc7d850c2a43cc5110804baf0f783db2dd16c7d1643f2c318f29f489e294dd1265894f97e9a8a2b1e5798882bfcdd87740aee439a83f9217de276e6a3a9eefb709f4dcd98a71f4ed8b6d1548782d0970e21a1425850b7bb69eb3675b94d8fdcf670f0f083a23a14d2524bf3a5a9cebe09d3603f90f9f3e5a2f95193e975fbc7a525da55dc50b65c344b9e82846dcc166ea1bf33b3556a21a138fa3a2caac87679e15764e99a294f2ea24ad054d35454e9af2e982917c922624abf563936254f51250a36a4a9db4f5351a53be6f6cfd26c71306e7ffbf8f4b092e5f687d17229cdb866c913a49432958a928b2214904a2860d9b5b75d29536c835ecea44c653285439ee8b37fbfc77812972457f5e1ee0e4305f1241ee331530ba9c7e5f7d8ddf1a98bcd8e74885fbef6fffcc3933e1ae45349ca4cfc1e552f5ac1eac2441a655e5feacdcb191872384cfec881fd1b66ae3098b8fd8536cc5ceeb07698c3ba925c662ea4ebdecd1c9fbb3d3e67a4c7dc630dba0ffc633a14eb1057523bc14503d8065ce0ca9ffd2b7877d3fefa5c565fb1862b63cf0fe4f8606f74ff02c2175abea580824b640a20ee9ae1ba9dd92cb329fb62915821fd368855d9963d6257b6c8edcf38c6984ad5544da56aaaa6bc566b6bca451eaba97f108c6551c7f6dc73df0e04b0b0fcb3a9b8a2ddbe61e53eb49f62b75665530da6aaca5324bf0c7e4379e224ecbca13ce5a84fd8e829feda873545a3b3a99aea52f5081bda6b512d35884dd9209e557956c8eaf653286c55d554839505367a8ac724a90a36e5310dda944df10c578608da17da17da171dd4ed8f2831d2eeeeeeeeeefe48bb996366e21c04f2cc1466278e5c772c43a3d9407c5dfad9c0af3d47a90480f0c96c99adfb78fde9ba6dfb9999be1b146377b783cd32ee334efac0651fe7a16caf791e23ce6f6792b0b77f8331f9d0de92ccd4d55a13074f9e0eee35df0ecd73cf693c141a348ff2285f6bbe2e794aa3b620d8d3f6cdf96dc6d67d3ef3fd33c38093a7f1857c4fbe9319b541209ace6becd7d778d5537ce5a2cce42bdfbcfe64bc6ad2dc4dbd33bc78b71f58cf8623937d7880f9324626255ef61e2f07e975bc1c24677b859652cd538df4e288e36286d267fe0986e5bf2146f719e20f60c08d6135ad0ed1cf4c315ec415fafd9b12d8c6d6216d83ddee335f573d2e07eefbeb0f1bdacce4a2edf5aaacb9e1f60a334a23b7a079f5e5dd651a50b8ed1a8e2afcedc5a6de41751445099c94524a29a5941da58cf16f77f7cb555c899f312c185e5c3615e1b2dce2f2c9ca615abd128898c2af499395a62858b9922b0e0c8eab42d421ea10b5883a443dd9d8201b6184114cd8b8b817f7ea4e5d0b17c31d0c07eb4add0f2ed6b1c4eeaed5dacfe74f36ac771661c3da3d638c717eec3899da4e76ce6eb6c6612ee29134ad1a6429875cfeeedeacb81717d6372b1771ad66712d862d6143ee253f8b65314fe112587eeec5bd5c1d09aae9f294a939e58b4422857010e6d6e523978b5cfed9cc81526e7c2f8ae8c75c443f693285d2b4b91a07074b9106e3edeeee8f2643274d2e92d2892be511973d1693cfdf42ac4cc9545f7f7932d5b16aaa4bc4154219a8dbf1b9ab64694fd2f2745b06b9ddcd11c64358fe1cd6608cfcd58cbf1aec1a55ba35316adbf55854e917798ce3c2a2c4905d7fed666e2cae6cb7df3f4ed520116ce831158d92c76ec8a97c08ebdd715c58ee861e9b8036da943ca54b9d974de9e576ad0e6bb03dd62186c9406531da116a0fda11b42eb42e6c0f9a11b84e2b82e6b26189d64515a2aee2d7557dd59816d55a84ab8bebcbe50a7399ab91cbefb13f8779c5eed881eeaa3d306b377e5f187bbb0a61eb2aae6497bf0ee9d0bc5c5dae5771ab0e2ed777988bb4afdeb0ae6297bfae5c24c798252a2ecf1d58bab61b3339e48b4f6fbbd2dbee1684ed0636942f2f973dc38d6157fe72980699ebaa43cdb0cb1b58d71cc428be80ddf8d1c345eeea7ced81947eb4fdfc1bfd69d1f6c94e71bed38ab6d7bee8fd5ed22003c97e7a9fec94f99e81813aff0c6bc0605b36155c3fe7fef7937e8493a02b412f5f4a1957902d20f560c308eb808b78d4811b2ea22e035c9aac8eb1a613bb6b268bc52e979953d50576ea20a6f06b956327eb35591d55dcbdb8fccccc29ab05178fe0e0fba3ebe2433fb7ad943534d8990744d6d060bf4482472eb44826e053a5b7437e066a88acc8e2cd64b9b046c18639ae0dd9df00ba537bced3b4cec450bf90332f04c1f085d9877c6b744aff955e1cc5cc27b2609312d1b16669963ad4457c30ffecc13375790eb9cccdedfee2078140f0fff3b1b6fa0b04027904406082340a81a682971113fd6592b0f2a38445e27211975f7c0271f97499a7e972a9419e3d86d850beac74773f4aa6b80362fb6666980f98b73f82da73984ee1e95e80e1f2d70e97ff1555f84baf599aa5597a752c189753144adbddddddddbd63eeeef186295978b8d1953f6ee66e6ed6b6edb9cd0beba53232b3d4947cd5c3c1eb9779e10dcecccceededd09ac775cd67526b01992ec95b93238f0ed6f317ab8f4cb62e3c490eeee5a6bb2e860abd52ba6886b08eb05a66564b512691f43166cf0b73e50af7f734883bd8a2bfcd9e2f6c7a67c4df99a133663276f96b8cc6baf23f3daf36bda73df0e1db8ef5ed3fc0e1d98d041fbed33a3ccf318b9534a4fd2048a2add3da775cf3d0abf0eedb7d7c17df79c41e14f02da6f4f83f61b0ddc77df3ca1f077cf63d43f552e42e10f45029bdf5ec7e6b7e7dfbe1d4cf0a763fbeedba183e633bfd9dfa103133a74bffde6db3c8fd1c77abff9cc4f183f8844a488c19582d581091d99d7bc0edbaf5ca443e6358fe2afa3fbed756850fc9340f7dbd3d0f15cd1a0f956b3e4b9ace60a081bce53e935512ed25cc47dcf521c8dbadf5072ec604287f6dcefb83ada052c6158c1228db86fc7f6552524412e413641bed8864422c38822d9fa414b4a81ce99c1d1b58bb5e35c5dd04ab21a1cd2e029aaa07e2029e2f64b1520b9733557f204ea2a8fac392c5933da947a2db93bd3828b9125bb1729bb974c29e3a343c29923dcb92e77b1cb991e97bbd7e5ee5ed84591471d0c4c83b23da4f11041d6480df2771fa549237548965ae32186640922c8bf89a32a84ed0cd6208a475e4b1091542f6a1122c8cf1fabc265305a1e8a0ecd43a141fbeeab8ba7b03469a47e97d2edaa4192d548da0e51544fa7937a0a35d2a923c2d6137f97846d4891e6b9fbb083b91cc32dcccf622ed27cb58a98c29fd162da575bb1da8a2a6c571d921a0949067b892b5bc415f9fc9d10d8467dfeeec8f6dcc70e6d5ffc3258d69702d13492f62c51ae915cd4bdd4eee506c12df067dd0f185cfeb04bc265098434752fdd4b5b16e7059a69a6666abe4c2453c80c3255b3358fccd52cc2710d6ea7b6cbcccc1c033f329532d5609260c8522e1810618918a4d8863cc22dcc208b4f64dde036096c285d7387f9830b085711ae4962f124a98764c9237204b74f2ce9c39154ea63d290c0244935a4074b0925c4f42332f38b7fb2bbc3dec250b0530576100036923f9bb08a5130c1c835b58f9899401cc925ec774c0cae67fc9324316c2849569224c9c2baeb90c81d63babb2333738d71bb5917b7ffbb50c1fa3575703ac524a5d25d4a4aa5941ef3181289440a82a5dfa328499ea4415883b106a56492c6e2e20a39c868678d2a1cff73b8e8463589d91c1df2aba3433a3a94037f35aaf05b7a23112950b7ca1d36dddd1dabeac628be28726170fa822a3d8f790a3501ca0a934c49997a4122c4a5bbbb5fce18678c31c618638cd17d32c78c2cb148922449933449d3745907e74bf66810e629a406591a2c35d8b19eda16da9c73ce96ee9f3fbae7eaf6c4e27673479ed947097351f6c993a7f4f769e32e4f406e3f4b98096cbcf3348d882b5a5c15c42362c80551245527b621b190383845d512578638db352cc18829fd728cdbdfffc3ed97b029a7942a898554492ce6699e58236d52c44e720a52f2d131168b91f93dc6631ef329419864395d4671144950973de6ce258a243ae0e9317255b0a1c762ac72424a295bfa74d972f6f4241d6a5227c03d7f75bbe4499e5a465a9ad558dc16729b4fcd9c89610a3694a72a4f2779ba0eb21029f5a7fe36d0ec63cc32ff99f904f583fe1fbe106314aaa82e92553bada50c0768909dd5dd7da343e1a765e016c716c796cf073d0b0df6a74687fcb3ec5527c82c60be725fbd628ab886b05e605a466ebfaf5628140a8542a150201008fe7f3e569e62eb85c9725d641252839df970a1a8e9e2519606f9c5f512cb502e8a231008045f76b01324926b14828e04b091c62fabb8223f5b581edcaee24e13d5c1ed4a579341b245a27660692b036443b968fb2889db00fc85b569901d9ad248a32af6682a6557d57a19185889aaf6436d3bd890ae5a2e9aaefafd94e5a2f91fd70b1d228a281431c5475ce1a72db7e90a2ed5817fa18cc16dfee82aaaa0c04e53d701b1f3e620af17826c8eebee55eda787e21f4735f380cca7de539616cd6f49492eaaa37e5a92a82aa4cb45d36472d56b699126aefc32ba8a2a0dc48653a58a2bd314559c88a209444ce9e72ffc7c381cd5ed1757072476fb81ccc94f9f33d91783fbf3f5f9a1f8275123d9d229fd32020136905d175f50c3df153ae4a13dc2f6bf7cf9527edc8422f1a3ec646df0634235d8126bf46cfcb0c677dba0db0e71add6c6147fae5d8dd639da2853f2244d0da2c28f44d554873cb4417ec05491999959d3344d7bdeb64dd3b62fd47e7b4edb9837de3466777777992c92540364010482200bd1fbcf11ac4b124c89af00b2a292915f307e7524ae7dfcedab9ec2df1f9372e8f08cb3676752835e92df5fea6fff2e794c6296069dbf9f49ce25a7800c37726080492c19a80156e392b8c42c3117f7b85ec3d7a05c4c11a788816d944cd184eb5700b9506b7c017c5083398a704b91d6edcfe10ef28f420a33703501ca277c58d1dda3f8ed65293e3f2eca98dd89f6385185bf136ee0761c65aa3b3f0563c39ab251857f7ec781db3faf4491526461355e4a5c777eee9c42c298530a21f325376f128a1a427477f7172549802c7477d36766fa4cdf06feaeb53257e6eeeea61f780309b6df7d011d7277176c70432b91f0cb1b1dc48d5f23aec4eb7ca3c1a77fa34119f8e95319287d196e84a88cf3860c1cbab000175c70610a494825b4266ba65113a0b0e0e6eeeeeeeeeee6eef7efcbdfc7340b7ff94b9e648bc7c0c8124b961cb846a185e197bb0b149dcac6ac8da5844c165492493a0599251fb7df468ec598499244021d04720e46ae5811c8cba6c5462247b4e4ea1f044131aeecb78ac5153959660f1e1cfbf9fa1bfb1a6bbf90bfc31d8fbee781f97960e2a08f8302bef38535dcceb3fd389caf9f24594f96ecdbef78a423623a443fc638c618dd3d06fe62406c284971a5f35d331fa368f3ddc718b23638bff16bdf692104c065303cd178926fc6eb3ccedbbcb04618805bbf1cd80b3d30db3dd20f4827a55cb15e5c6231582c16536921601e3d3b4264539f74b650f3f53ab5cc18d384957ecc180b89442291482452c944fa074187c1c49518575cced71c6382e1a4f99aaf1855a4173236c590604c9874912d9faf565c89242f620abff622f19c3b9052a414293549a4f99aaff96a54e607ae5a2b08cc41011d1daa558a1b567742f6cab25787ba4351c6c048d82ccd1f3236596e7f16031d04722e56abb50e02f10da54b4caa62521593aa9854ad36ed798ce42bae74b7b74dc248987c3508eb5e603b9343be4876464ff1242f98066152065692ea0e6cf414d5aae3ebf5e22eeb4e0877f6f582313171af3426c0e43fdc929c6caf46b9ad1f7bf29fcfe70c84aece4e573b998c563db57e197bdb26013679936f870967824283c97ffe63526b49a66e327ec60c19325e86d60131e19874dea493e9b44ec653eb17a967688763b3cd0bb38f6614d59a08267777777777cfb9996ccb8a29ae8821df410cc916db90457c10453245032e6e3f4b8934bb5dca966c6990a5c80e77e543f2208bf48b8b91dba8621cc7711bc7711c17e9b631af7cc5bd7fe82d67cd98d1bef25aadfd7cfe57cc231acf7d68536ecff8d0bbfd6db193db3fe39b31190819aa0a1bfa29ae947cbf4311574cbedf6dc036647cbf0f61695baccae834269efa334abcbe996e32ed344dd36626021ca76592b0db168b2bd9f509c451a3e8e07ec6cff876cc78ee798cb6589c31e3865b6c8bcdf0bae4a1d030e3693c8d19b18ef35d894927e33bf3fd990c033e7ff2857c3fdfa74446c98c6ce5a2199bf7fc8c0ce5225f6528131319bed26834ef31f1e22db1ddf7c790b95d1c65def4f8ca57b1ec6d3b71fb375e68bbcbde7c8ed22fc65e7cc5b1c4c688429298af62315fb9688b6db118d7432c165371545455ab159b2c46180be6e6f65777152ec6e5fee414c286922491e0e6972d89922dd97a55d50e48a753cb480beb076a85454ac8e9e4ec282027f722152cceec19fed7a79e224ac282b0729e3e19d329fdfd3102c791740a52f2119939c618bda4bbe173a77f1107ce4c54c4208208620a977732ff84068d131a272734689cd098ad714595d6c48e908e6ad560572a6c9dc276c718bf4ac51452b24f9f93d3b8e24a4f8debe4c501c08506e9f69fbce2ca763b54c43aac98d21f9e8071bb43248a3a574c396177083b3397139806fb24e6f649ecf6cfccc9abc10eabc32a829532b0614775fb3953d6ea6c59d6d2b8342e2534ae97c675f2eab04c1a970cd46dd7b8ba071b3a1756bb9cd4b87aa8a20aabfee8b03a2c4fe9fe93d7ede793d7c9cb437162c09aa839512e4782f46ce9c9dd3f70f4a5535b22829dd29638723dd521b96195e864b94853c289dbafad6ef74b2dc577a24a2d48727b0289a14c245d13c5366412e99a28d744f9b364d7d0bf1a094a1051a009114593a495d8c6fcf121855a896f4f945cb952aa9a2519e2f6a72089f4499a3f48a49ea8895a5516775408826774b69cd39bd2afe058a5d2aa880f550f536ac8a98563a914635c914f62beb2244b255992258e4621728c345266a694561656a07ea7a41f0e7efdb9396b82524a29a594524a5993355993e52930201008fe0b61650fd923bebabb7b3ea79293e5201008fe4f965b3bdff4617e1a842914973a41b38fa67cb2522e9a4aac680d9ca0aa69cae498a5ed0a9a9a25983f441b922f23f1e372cbc70d9ee3a8f4cdb456450bd5cc0000a008000315000028140c87834291783c93f530fa14000b768a487a509fc9c4618ce3408c42ca180494310006446044643468820064b87190f03467f18dce21e67d13c78706a800e01037e14d9b0dd173687353f881565d85561b57afaf3a4c4fc6d7c92c3ac3f8c796192618314a1336722cb887a5e577eac24e252e10e60742ed1510b4ec3a5a484007989acc0e4dbb5f078cd964c753830a44a1543b9273cf8192dc6b6ad2fa1c23500f8d43fa5a487c2194b0c9bc868f7c0baae1cae4b342602e3fdf9c403587dc869ba01c2113da56b73a6c90e091283ed121370fb33060a10326920e04dc9b8c809efbe3002fabb9f102a18563e8f945e5779aa1f23ad09d1831f371deda6d0f96571924168f913438a97b75f66a727f27772849c762b8e5561f1068145de4c8e97dac780269eb258da54da62cef33fe677212138d4a79a7fd767a36cd4102c84e4a0012aae8d54b402f7af7bee93a2f3c84de3f7b7db08dc3ddb9724c4cdd2786c528c734221ab1b6d50d17850309aebd1e95c3123f89770f07223de307653ac38d36d57669bddc05888a80776cb7675069d49c1765ca6323581b1b61326cfd1a2cfd5ff7ad0fa29c699e54633f29cefdce7b641b5b0fa92b6f5baa4ea125536a76e9232b385705611287e42329daf8e00b3b947b141b30de4774e5261cfda66dcae48f0434640751d0213c38d334eda1511fc66ee636457a9489f37edce7c3077c887e6bf69ff1feccf505db7898e3bb782e1e0f9c52e1c20547604e6ca6af7e2acd460f3e90aefd3d1ca591de7b941ff2532717f354bf26fe33396b7098b1e23afcfe9c8d41b770328f5a718c70e2bc432930dcd7d0a50daa4370fa6d6440c0795998501d12841a58c3035bc290533906bf4b2bc62e1cf5c6183e029adc54ff395c0163c099691de2ba015f8cc0afe18c7a5e411e17a319cba71c1e4fb871119988938e9cd90c0c741b932a6ae294a9960d5543210dad4a9d4d724b3d4000813e7615c795bc50098b81de4a1aa28501abfca63a60e2fd6afaa4bc7ec90da10993bb8b1acaa55f4e722e06f84346554b9d1996d6f244e46ad08019b32dc6202a46d845a28b1658c6084342f49b8a9d0823db185497c5081844024f18d8f62f7e943d044afc4e66b839d605090f9749dbcbcb33b74c9f440c9455834261ccd2ae44436047df20c7a63b316ea3e965c804de839e402b9c89e53d2e0651d69330b73c1987058a33ce8a0c407f4ed4d0dd1a9931d14bccfbd8b3a10994ba89db520073a3cb864066b816bf8daf330b4d9c4d4d5b510e93e5b404b853a0c24a963cd200c87aec68b573bf6db188b199b6531a9f9a79a889a0c1541157945f8d54301baa91b301ac76bd6a37df7d2f6fe5b7c536dd9bbdf3063ed0e0bd5f38e7044fcd09c16cbfd436d7fbaa1ed49066efe6dad7eb1ac488ca06a2c9554b4bd98ff02777393aec97849e40937bba8cb84090e0efd285397f04cf5c82294c9b0ca3a400cf11ad7dbbfbfc132827b58c978cff12d379e883ef7b2880057a0ff4dc9407174980bcf8c68cb206b2d01eaf162951f6660f474d2c474964d68c1777833e878803375cf57e06234e840e2dd47884ad640a6562e0b073b4f2aadef80e0b6f04a8c946e214165cbd7b35f016cf1523615e228d82957cde7a4e237a7f4b744318b75d341adbfbfeb033f9a60a9d12a0e83e73a7ceb41d691c405999096dd0f902adf6221daee219f23aa52e497c1cf6bb9746132367ce1edb425e300587b11739d9dbe21d2989317dbb8620902b00613e4608d2caf825e55eb328747d585528e9b40ecc718a042e41891ca5a306a941d62acfba9560e48e1f7adfc40c94a205e21f578b44516446cb77947754650e52c14768a27bc283c4d14e90cc4075a90e18c92b9d13ae77021e8e73fbb5af61b1205b1c0d704ea8ade0a0cb41e4f385f84b91be24db177acde1478fa1e31739e9dcb2c289f33d558bc2fcc742ba7abf7493cd0fec4da591ca37b4e83216b96694e25bc7596a415eeb10e83f3c2700d8fe5e3939420a7581fc9406348a82932a4a6219ef170ddbdece2f27a033f7b618e01b02f61e4d56b4730424e67544904700562cdd7498bdcd4aadd73500ef868204669e711e029a68af7e7a9d523363468962218ae3d0a24d204ba585e8498b30572fa576a38890df0bc0ecf39cec4361c8bebb1e8150590285e2d434246e62e70a25ce0ad39615eec14645682cd2d41641e7ca6935ac862231a23e1c2e1cc0fd5f5a1688e70c371574414f4579940565583718db01466b0b748c33b0611e85ec570e6aa096ea81dd4d7a3052bd8be70c557a9d405162576ec8e72c9167ca6ff7c2a91027d715ed30c1b52f2ea66ce2328284ef07c56d2864ad1ff9aa8ed41f7e8bedc8be2b5fb86c5956b600d44d41220f982587c89b97656164443f3c7201c7e7d26d3dea982ad1ec26fdcab94b85f0a70ee0891dab912d669b209eb53a882a077b7097b305138e9897225f45de76456d941bcc51742e997bc0540c699adfdee0a82e1e64668df9a86c8792dd8457692b5069d96a2353b40e28fc7183ff82f2a65217bace843dc05b8197a1c6cd3ce3bc7e5c5c8ea90d9b34355664777848609b49917e28ea3688b0345415ca2c711a99856b95a26c99f72066cc33761e05fac5f03c1a77ee384f3fb57e1470213444d272e47e50c8e94b74255cb161562fdad6580ce50b612086a393e3f7631d04d3ad988d314c2312c251fb9300946f8460a07ecd8861e2c5157f5ca83d16d8c259ed69a381c4816e8fb6ed824c824de51165ff31d3094e058bbb2400117abd5b673083cbfafb84789552d22f99cf3c23aaeba2c536360fed3bbf6eedfbcf3760f390501943e36005b77fb8ac105a7d7a42e6741c8c61c303ea606602a15e92008a86a3b4b03eb56a0dcd97eb17de7ea210d2a1bfae80893671928462b19c2975ce472e97fdfc70530896a16eccc55f40e46aa1bde21e0e15b695a10400863cc1cae02c53e077b4251fcfe2041c84634c73957851147532009a9b96a99fa52c4d7aadd6abbda07c9c6d14f5740f48af130a65ca3471d208b3d77deb4940fb01b8d46cf99bd9ed3c368a768b2f94a2e430a0d48e4fc17bbc9c9a5d9fab41c7d5b2cff328b642236e19daa2a7abe5cb4fc762c63e63a797c0be91e1eae79b78c593222e81f72e37aa99a4e94ab0f9d7f08b6ef94f2d3518909f0298df5e1b577c2105e4d1f326e3ff8a506fbc962e78e325bd9dd8e3293ab80b48c627ed5b12cb27fe1299243c9eaae9933275d76eedcb6996ed61bfec5b926d307f8bbd5b90e5de21867055a0a94088d179f7dd7dcbb32c9d9eef2ecd6f1e9aafd7a7ddc6a5eb1fda06cbb3fe9651960192d3425bc543c1c242af65bc7c48b3b483c12fba63faedf093e81fc86ab75395a360012f4c6eb2cc5d750768bcb4d27ba3dff8e578bce4ffe0f02b6fb7aa47b433ea0413007604f138116b305eb2ee862b5d585e15f1a1eb548154e44eb38bad899b6858d0fc7c7dd73ae86c718c97f670cc2bca32709a4c3954877ccda31272796291c61f7b1e061ddcb7d663121d12398df928d16fb0c528fe4e11aeae299c93cb17e02c7e43754da402a0fad6bc8c5fe006b19ce65e73ce7eeaa4c047d4435ca96f4edd91fc3fcd3df1a2f1abc844252a7689f0b6aa122f89fd4add874b8609c4f57c45bc79b2b21540dd66d016004bf339d7f80d9ff3cffe7948e23dd4a4ab462903d1ab8ba1fe86c92c59dd14d83bbbbe572b67430b060af5549fce5af875907eff40b9deb92f6f15ebf3317a7283c22b79bed6badd608cb586e5c1b75c23896c90202ce3b758922eb830cd6c7180c6a6a010da5aa8cce1c91ee1cb9798b0c94eea6d810b8cae027d2350aea1660826cde46cc676d86c49e4fbe74b2830cbc8713b831b63c443eda2294a090a232ac6cfb72801c772e200310b0776db0948d1017cb29a8304239eb6bb7cef03a17b48f32123de5eb001c6dd156d16f022c15f95c294ef192597fc2baa175bdb8956d07024381c8591f8fb8a7259cd6038c4637a6d09d2a0f9087c91de0d078f538802327ecb98c009a21ce0d66554f0780eb0185744b776cdba7025bbc4fffa80723f327fbd34964900ea8df87b2b615cb1d3425329b812ff6f100278224618adfc1b65250fdb7f26dc24d04181ad59ee0a7d6c308717796a8e9f35660a09d17ff513114283fd2d12f27f938eb8d3fcd3787510683980951c91bdcec262d741df7279cbf61545ea0a047bd144677ba66d862a38a26ea392105fae648b0d49062d761b4880fa8c5aba668adc5106b73f50686601d1b1b18f304bb8df47751f21d70b88200e2b547cd6416b45e4928e0163acc36d1f8230f7419d9113c368fdd3f447237939dbf6548ab59919c0fa7b2f3df003bb115be8951cb72ddfd7b1f6917167a8bd9e2d1a013e72637c86388d64942689d402807104b36bfe007d165dc0c0eae58d23126b20e2469fd4b400a026192d55eacc92ea32f01fb10500a115f1fe7d3c7a16a480ca1a7cb85b6982fecf29ae423db70e004ecd24823b0014c22d1bfaffcb38a9b46bf59f8304a0b7d5304f72d7bcfa8cb506e5128df69c209ac900cdd569d8a16dd85c6e6add735d96cb7dca7d00f641a54a25439a6a2b7a50f9324d27235778e459d2469d273b77e7af1461a74ea7a71fa285601c8d8b0819083da0e8e93c1974eb829283c6f69402d697351846b8a776b7161d42bcbbfa373ee0be9a1bfdab88252ae50cb29b3cea7a121a64f30770500ffd89704dddc6b5aabefa884bb4c4bd07947b7d4670eb0804ed5351ef1f50c8baaf463c2f1cec11b8f7b8c9fd11de7e67f5937cdbb7a5e1062d46a3b2197f737c138f2fb0a5e10f421e70c034147e409a6fa023e21086a643c362b26e308014c091eba4c4676c6fd0763328aee0a1c4cc951f872eb26f15e364c3ccc4cd8758ace987da05fb91f3ab36201766fbe2219f41e3de35785f744cc90fbb6d68e971600938cf2b346606d999197fc2096a6b3496dab1dbc0c7833f3024d752b2a641388852f00d6e155cea495543de48768e64c6508f16f84b766d466ca168b314a3cf509cdf4e32a3e6f274060daf019c479d144be55c08b0de1f0624067cb57730126b3c6f873e40ccbfcc87117734c35a15fd4480286d16b86af3dcf950dc09f4fa078fe483deedab7692768eb803c20f666bc710f8263616b0e42f2eecf18e3dbb513b633b99bff6973b57751305ca574074d50e8f4b2794d6ae18bfb7530ca55ba5c220de0c148a945d5a90805a2bf2f94464a1ea25f2e3aeebacd544319a15134a6070b9e14c680fc490499cc0e05ecd683a85133d0c3346c64073762e37ad174dbe065e73b9bf0ba3a357eecf728d6350e6f197585d5e9f15971b6419139c1be6488ee6729309e7b66a67d9c942d73f65d1f4684f42ba19c875de00733b5310d2dab98d44e65be9f4d2cfe71776c7dd8b36dc0dc3eedad59b6199af704a6b73a85ac87114573bc0c0cd6f37153afe10501ec8f1cd10b01fda044e28b6a07cbb43103c4e85cf764399dacc3d10702965bb6d87277c30f8650f6a173eae6511f86a50d5fb7a2fff34929e329ea2a6ac1795713570708b4b2ddd073d94cff351a4eabaf906bc9feff5b41be241664decc68e62f6ad85cf6e564d7c098be782544892a4f0c9a87f8dda42fdd3435b6d1a02b4da98dc1f97081388024427c960790e4ac197b168efe42003365604f5b210f0951f5d2ee7bd0cf9e1f8e8df6645916ec4e562611e80f60a4cb5235878165a3a48a400e44f73a56d56a7fd78b97b67e9b6c9b84a1efe866f120c2327f7c0741943cc2859aaabae2f8811321fa424e0ca0d7220a8eb7abeaca8695e47b20eb10c8052da8318ce8660a3801d18ec1ae2aaac8b6688db80f11e988cfa8e863c03a68b56f7c5237728c4f9634a497cd74319c143d2e60259dc370efaa9f00b088d5c4ec122e04164492aeb3050fdcdfb7f57a55c4be46bfa0a9a20510628f403f1c8f0c187ca2dc67efb4430641c112a781f8192903687787ee16811dde60c65c5af32fa6752df8180cf8781b5589b5d89a4552fdb4213d6066d9d068f37f6a51940867483aa5eadafd3c6b3a55e22391b2ea393bf2ccd6d1bb9560e532aea7821ddafa7337536106ccb7e4f3cb0b3cdbd2cfa722584e7fe370ca0b824c832dfba7aeaf590b1deb6fc6d716e0af258dc8bcc6538c235683efa0d29b1dd5366bbf8bba5a5873ea0713485a0e57674e94fb887be6871c4f93a6b21fad3d1362bc43996297c5b84687ffdbe98bdc64352f83c40239d4f4c039c15ca56345290b48c5a4af2af836ff1d8d84ddf283f067619f908baac32d844a9f8074d19b58768cc08e99458ecc02312cee4924f73a6e862db9e757a844f6301a6732e5c95e7f0791ac67e1613d408bc99d5bad08c36f772451a786c198cd3ec4faa197fac99aa576fb419ee5bbdf7b56f8fa26ff9dfda42a6feb6c94f9fcbea791d35ec188ba6f000d81003face645a448c93e684e5f880cb021c0113b362d77ea5df049236392f31ccc5e24c9a76531ef4606bdc39233b04e6a37f08497c0905878d410e95843b5367470c0f11396ca3847eefc53beb5be5babd45b5b5c7e8021793986536f579c0698e7a7d20195f3a009eb1534674d6d1988984915d2873cab65599c06d7413fac859d9f59afc430bf621f4728d9c192c9c405d30b4cd0c79e085ded60575e014b3db474936a771052800d957689a1c24a25fdf8d1ede2123d6c0d6a620afb345be15fea960eeb7f01ef1c44ff7191c20a4346e76ac31a377d70321dcc275a5957a744700e4525e65141060df8e138faabdcd69b4cc75870d3a00ed9dca6aff3eea8a01c40c6ea180a81f5a7f68c2a3863b4396a40de4dc22a4ec14d74afe3529fdd31a3e8d8dd758db2ccd0321a55585c5414c36fef4eab8867e70a92bd96d183123f8d2fd1e3dae79580b2c03e5032da8cefa379e750e74e84da351e4a6dfb3c95c112d720fa1d2fee5a7e183cb9f73e4e770ddcc9e313d2853b2ac253ea8950965cfa6c31bf0b1661e0226b319b993605e8623c6bc8208c196a0a3b0dce053db13d99125b33a0be4d334ab7bcc484c8da1cc22f170cf2beb88142dd2b13c719f4532a4a13b3981d13d31db9bc33575ac27e14e184401c93fc6c674e62a600ab7d7db3bc5faf17f3c06267afad81a7d9ff983d9602d9165a742d167f64008d91229c936bccdbef61cc6fa480a3c993f23f76a2e21e9685f7edc5570291d7d9e04e13e808f18cb1d92e8f8cea4da9deca5f7deb5062f8c4dc29cd08d9aa25a84edf18c786920fe25f996d15d744b5811bfbe786c9cef8eca2f52603a07347ecd3613bdfcf4227b9c5e78930ec69d6995282fe6b6bde2062eb613e6a78c38f0bc58a4b79166fed7505869419ec312af45f6347483ca7d28bc13920cc236c0986cc25861af5ca61fd7f8cceffc04eabeafe1e592f852f2357cad2cb095c1d8c07f20841d2f1382631e7c4604857fe735a49df08ccb22821cf5a22d6b7e5076dea116a0ae3c5131eb64f87727521ac1c800b98d50ce9d4c6e805ec74ec368158e3677e96d9e83bc1950e00f1c907de2af2a4117fbfbe320d0229be8e8e29717c5ef973b80293558c2223603cc2839676f864ecc1d255319a14d828dbd9a023c3973c31a058bc1bff0655f9212f80d35079175702d3140e87d54643037302c447307fcde00f22e53b0a715a9af43343c88806b09df3c19f1b224c563dd5ad46bccbb37d9264be8143cd92c8dbd6e60197a600ac500b64e83df9022751f1e797d227f127a427b88eb61fb70362c0bf21963591871906561d06371baf00d14c89ff86816ffd0f5785404c683312253b426de99bbac7def350884487244fd105487248c28aef44cfc1e4c614eb61b6022cb2172413a0792eff74f09af65b2c45f0ae207c9fdf832cddeba0784fbba9fdef4ec5bf3de1d7926f4e1404ccf6f32f1c447e780ec3cf35dd65c3e016b0c6ae7f785e46095c482c232cdcb2f1b0877d7515831c0a9d20584d72e4cd3d2ca403a878b3d94c309c6714b660d6fae2d3b02536a7805e678e82318261e4c9389141a6df00c43fc1030c5a0a00502dc4e4d14700aa297921136787e9bf7a10efec4073f76f867d48312f2828dad9776341fae6783f640a802a7902c2850fbd3d55e6c69680408151a4cfd770150efbddaa5a9c0010f4c092e6aa69043e36e31117f33fc2f091e1d1bf0081dc4b498dcb523a75dbe17f854a53eddc8d965f22e2ed0713a0859542cc0f21680258b1ec4547ef1fbe46a65961732a10fc61e610a07efaa568a1844037fa9e51ac18aa8a9368535b3de92c538f9395a59bb5a2411442b87f1b00486c083c712a97f600c4e6bffa86641a8f09b58d991861c7ff197baa78f4a0e8f8cbd09793106ba8430d81ad675ee8bbc9f32461472ae35d7ae17ed540fb32273566e873f431a87531cd7a0d454805c3382810f17b9840a3d8ddbb9fc87a9edc9faacb036064e4496c140599c1cc65c53c2e0053198f175380831e757d0a93d7db9ebddb2bbe501f149c035251c26dc6be8fc2aee254c5bd28083bd8eb474fb8e3d03d0a4217fe76e0043396a7b439e2f2ac6a32d52fd525381842b2239baa64941ddc46aadeab0ebf01fa60e66501037f7f39eff57dac74bcf7b7ce94f02c8351355bd9fa11187ef516d1dfcbd97d2402a2b6d749731704055740bec87e7669f044d2e4bbca9b754ea43c935d603e24b527eac12685e02024a21ad6241e8cb8e9304bad25a7990c9e6d69bca1ed7760e8611f3d809d5ff9ad541333c711a068936d00dd638cb4c679d6507c905bc795caacda66d085d0b06b0fceb96409b84484fe4e81eb7919fd5b3991496a34fa0874cb939a06225a82bb130f477be6fe349777141950317dc6c1f91634a4ff37b0c9aab102bdb41cbe405fb301274cf6ed41869368b6702458d31bd6b4924fff3a57f501ed6b3b18ac846257cab510479a163e169742eb188190961abf4b38b99e52634970cab0f07d9063157cd18d06d60d414b2192de3aefe3fe85ac5270d448f20572b3b00aa253cdbe228333e60677bc0374bd50eeaa299e04cb6ff7c611e54666d0cb1a452af159fa3388f9bc15a228d488584aecd8a048ea4c962852eaea91f3fa710b4d808c69094d626b800456def852e7988f85ae4b555a4b988b31dd9b56ca23cd85919ff2e648a45256c924b19b73482e88685f7a492c20a622076fc7251909fa1588ed30623a88493f3d7ed8da4231148b32127ea2cfe5f3651877446bcfea709cba6470f00fcb4fbb7dafb161768e0fd37077abd01bb52d3be229aca8692958b8d28bdccd76ed050d0472220e410dfc91af629332184dd14c6a75a933b64111f9599962f48c8c14d7fd311659bbcbe40e371f992d0bf5fab391137483cebc14b1ffc97b90d2c22657cdd461527f5b7434665afb7c39ea152a457f210ace5903d460706aa7594fd1bd931143d5b81c3165d0d2c204948d670322f4a7c7b063b150ee7763d411846311a26d39a80403c09fc8330953582640ff85005d975d17c6c6259008591f0a27c45bcae294b904a56b213ecbded28a04479ff26d134eafd29ea5aaf02d81d7624d051148bd79c5fd597b6e5848753019e5ad7caa1b844bfbbdc84d206a88c4d8c752ac9b42503c3bf0c7c07048ddfeec724913977f7b2d33a94f990d8d19c9d307bbe6b14a63bea1f521178ae2007a96537e1f7146061fee5fe518791ce9501cc850115457e00146e8dfc2f16ea396ceff8693bc4659e913c6bddd0b4d5c423e60ec30122408075f1ba887c707aeea30a655fbd498bacbc84efecc39c2f87e99f124b088727e027344cf5609056338b4165da4639ccc863bfdf76c3f1e7182fa0ce6f39e741e44718046970e06dd408ee522815031fbd4c8b1efe6128f9d34e662db322b530cfe00b417271442cd5001c0488ab350336d9083926e568c1336829b20ee490be9d308966967f85dcda529acab4f8b71255387881b8351a7c91a4f2ec3a1175a3d6578241dd38794e696aa78dac49095ba7ed1106ecc3770df6b984ed51553c8e8b9fb01dbf3ffa02e2c2d413080414f5c030d63ca293dedfccef12e28f803b82ee1422a6a0b9074a6870bbefcd55946da9e81a8b7b4ca82e2c04fed8637cf8e4eadfb7a6d839266b65be0029bdf3d6e004fb19aca718ad8c3f94f280543bf4a07606c1a700ae7607461012c9b1bdb3f034341e2aa9a43b2788c68c9ce9800d0a47ae99f2c4ca6d8f242b11e937a658b84b1a161678ee1c34dc69e49e354719b88bb98bacf455d401219d99877815b8e13b8d60e141c19dcb719bebc082162f8293e345a9e23b7859dc478b4a7e2298bd7a6671f8277976c50a8b3060739ff3ac98f1bb97124b8669f6f04dfc73c628f31db22bba68725a0d8574f266af0a7ad1ff8c66ed4dc9b549692992dce4ba423674d72e51810e6fbba6b866c187b9c3a7b54453bdabb7b1c7453f3ea93cd4133545cca2d02d795a4654e1c8b1d3cf085409d5ab8b0adcf124c5fe5ca3f5bd746a0fa9159c36918fc4c03d57ef2027e32df33862b9176e558970a1f6adb14d188407270d7035359fbcf3f0999daa8989a44de474301c067d1a521a65f9666ee741b094377703641ce93223db02c357970ef3650270f87a16546eacce1b3484c6091fac8e114cfdbca3d72ad975396628eb5c8edc912bd656200285fe609ade5b67b7c6730247c4638db4a682c08995448e6f19cdde3b7a054d40085140bf93eeb6d3b6cee41791dc082f3de7080b2475a667e9b31257f39ae1a6c9cd1f197a80c94d9616f9243e81c2e258b034f0b4d47310f572b563266103706c03cd27aea89f409778f830799ff4250c66865e7955fd519d61da94bc17714dce7c784dc7019329eb0e16b5c4faca5f73386623228029656550e9c222403484b8c5945de2862c780be20560a21c1afd8d5c2df12291f4f38c8d0a855211d2b5f0137ac1c2f41622d92cb67a7ceceff4cb2d573a03010068bc4662e063a947c4eb91cc3572d32b9ddef278fc389eb3e61321c34004f460751c3163537a8d68e00cefb9f25c3da15e80bcbd2c930e13e2d2dd4191d17b7e3191abea13173d7b617451a65c46cdc8262724076f084d4006125ce8252a599b8e524d65b3de8fa906b43a1fbaab03e9ed254b4e451ed323000d451c8ec9188a0b6ba228a56a2dca237569d69020f46c50c212b36a3005dbd26c5713d1911cd019d61cd24c1acacd6c2be9ffd07f76be3ac2e9e09eec45a05ee3e6cd8f40177fbca34704b4ca3c680cd9bd9f83b84a88321b3ccf773ab223cc2a0e9e386f0087d8364226b1d0e84ae56f913e03a2a49c551b0e427f41c19bf60745e994c9dccd8c1a7210630d086953e5430ed1aeb34897ac5a9ad7e3b7e2e05ef985fc451beafdc39728d2202dfb464d3bf5d21fec8774eda94283bd6f5fa47e4359f46e93c79e88cce1eaea5abcff84ee5cda239c4048343400720ca416d504f5006d85e661715642cc2a9f1b5fc6dc038985061902d9fc6910b2bae6da09167f9a133284f3187f50f2b8c9fda18ed39d8ff8551e2b61b74c046fe53fa115aa4f350b2dd395f784a0a06c83bce56403c53eca101fbf32776f348c742a359d53cc5324452b4fb949cd66a2e173730377f9891030a6627ab51482f5a3d869314a4b889f999572849cdec972d9ffd9e5273923a2fb039fff326015876dbdb86c9cae08e272aa4e0619901cfdc711ca40729cca7eb17eef86c8c59234973af229779f5039dcae95ca4e3038f961c6222ef8ffe23f50d379c82a9a67f3da0a2acaf2b491a3df150d573e798bb05fd331536be2770b4e7b9d55fec0a22d00cd361c922212addcb44c07a80e713d45fb8e75ed02c812df0d23b16f58d2f7210aa4e11cd0636263844bb75fdf47e021d2062feea335f2f109fb6fe0a6e209cb2538cb11361a5c8251ca883ddfe30e7bf2ef0d561c366d199ea096eed8fc028df4c7a9052cf6ace2ed88a53a4fd832c373c3686e8d8040ff5a6f2cb681b4bb05d5033e9d7da32c96107fd2aaba438f73056d8af915a149656e5e8cefd651dd84eafe18acbfa53e17ea4d167d533b87e4561fce5aa79608ba105680cd665b0c2eb920d874c9c6725e989ff9b1bbe2a9fa6d6717be253939a3a7d857311531fc36a0811fd3c1ca08628e7bcdb1aa517ee0db8f07c487ce0bcb854bb47d569c78cdad40180608911d6b2a765ebde570636bdaba6b6e9bb7076364060dd1e42c0aa9fd359610c1071557841f98a0418af059fbf7c3ec822165de1e58ac126732af15e4af34f47d2236117892bd621376ec8fe44324411e4e0237a130aa1ef2c461a64bd19d4bfeaee6cf916fee272dc96b52b6a9a2ae0fefd828a4cc0e3a1bb73ea6a10ee4d7c9ce346a2171af827b469be39b11bd89a66f104c643b0014aff4463eb01ed4fe92cb37e3418f4f947be037ebf1816f387437693ff28af94f47569c934190b976a99c9809fa113c2ec8b0cf09057643e330f9fc2a98823c450eedab6df8d310b06d29be50fcda12ca7e728da130a1709059ce406e391b6310e59e8cb29fd9a9b43dcfdfc69d83c99468255737683968fae8694d92c9a9235f658d73559018b7377bd135a6fcf09c5ebf7c3bcda66e5ca0f4308a615031acd586cc3ce1b374c5105954b69a1d582a49034f8dd569b5e386b590f4eac417407e953cafc421d2131248fb9f8e3df456e729d5f0df8ad68d7165ffcbf8bd52d9b9d7bed080123a3d50ad79169679be9743bdb9c2a2ada51eba62396fc9b922147f342a19b1c63c2709aeccb9a2104841b970ad5da42d644c825cc2f7e03f4b0f2ac92ae2b88935e2ad1625319d867d80968c025e634cf547cd2bd34552d986dc598dcc51142d3dcd99ee21652993bfc9c97afdc639e4a8c3fe20cb72c6a197fb28bef450143d5a8871d7983032268cba7bcc6d836f569c35ed445e83b02d5287ec3b2bad93698477fac352ab599b7343fdda83865bec3f4764b72c468a238486f921d50d0aa99f414df89b737c5d3cf3d3f2351fce034a8c3f0849a94ba976a4922b0096c37bc01cacacfbaa2180c6250a145aa027f167f804551b467813db3fd1cf7535c4313ced472daf7fc5d998cde44de78d6d69819690a9118f819405bc98ecd582ce9de04319a082b82c041e49b41332373422bc6856c9ececd13eaffcfcbdd201fbfb807da503df86cbf65cd8a06d4387b67266a868ce9410523a04ea6a32e679d8573b794deef80484dda88ca61ee7e926fcd3749cb564ee501c50d67217e22f03bef21b73cc2bfef710fd19956e1e9e8f74d277c64c2d2ded4a558a7d2d8b30c5b1a27deca306c6a2fa2e90b50933845055b6f22a0332382fcb2fd55c9a8b7f72c440c508a90a1da0dd53ff3972ee32180d1f80096be88bddb0d1947868c919a5ed63c7d5457463d3b7ee6c93f11f0534684d748ed37e810ae11a2f5c24c3d639b75a356e4e74d2389a265215138471278a641335b1a4ba0368422bb1f2a048b649a072ce44a0052a0671e9cac779811601bf12c30942b6b077a3042a4ee81148d823080b6621d965ae8bc9ecf87504e167c946def9a7315eaf05782da89d23b75ae1c31e1c4e6944985113efe885e2225548782cff4258ecaf19ca9d5551c6551e386622dc86f41b1c03bf011b5cead9debf46160f65e5d1c23c2985157a9c8276fb0275e2610d224cae6c01289726a96c4365d9f752ebbeeca806cd04f3b1054ffb55c2ecff3258f66a7c5f5ae6e9dc755d99f812da813660fe3ba7c5c15d05fa6c174f312d472cce45525756225170601a8e41b17b3489f42a343bc4c02fcc4c2f5af27740618a683d86b102584cc465658b048bc36272a6c3bd920446b692e8655c20f12efa0ab2206d198e937281e8f5cf77565cf9108ef60c9944aaec76dbc5272be375bc0eef09bef7d0b4dc8197855d5ddb2bf7d9db83cd657f9172dba48c55e887508b6e16c2dce693c254ce52f6fec77a26f8326be2b9a00c5ddc9c1b2c9e05eb4c77df1e1afd3d9f97a95fa0d3e4baee729739aeb2a3ae61e171a40af1509afa10ed4d116ef33cecb673f0ce8730fe3b713b093a9dd07e3e22eec2c7407bcbb01cafc8702ab99f224ff9bba71ce9ce5a2aab4830c1e7838ad461528a21344dd7f274a5cc72f0ac551df64c61bc770f87cc2443a2fe2d84b848a54ab9c307cca6115695dd4c47c225cac721c63efc09b59a68fa91446602265914ffb970522afb5851a35bfbc574695c944c10f0969c8ffd517f920ec636292e67d24ad1988512771945ae6cf6f24120f219430afdcbb3a460426f7fcf88982011ce317248606d3ca87c42200931541ffd4a489b25796d8404342c90e57dab562cf134d717f8354bf16ef5e9a8d794c784d63a1cf3d92a211b06ad3d15c5fdbef1ad26778d922a3131751f0fea6d224a0236a045996cb6e918cd6a016d8b34e682750f403ae239f0ccc3fbd1a77c03ef6fc646eacecba4f196534a3163c4e20f211deec8e92858256e6c0ba69369761a289465c0ae7043b38d218cf512bc583dc8b4fc414dd2059e4ebd8aca28b6042a3b11ebfef8702277df8b416f7142c0394094cc467f50a793444072e9c4113ff58037aa60af0991137872f1885d646139d748249eddbb441435efc39d94c0f688a0f8466ca132825b19fd078687632f000608b14e03c71998385660a5216d3e4789863566f9cc3d3abc8387889479c5b45260303bf88409f9b7288bd0f1feb4a154049d8d4591cb17df8efcd9e33a2d7713f4beb3eb38a26390d37c49501c01b62514848857050236cba38c09f494c4bbc6c5a2f7d82d1c3919a5669dfcc450144c40a0bae1137403461480a73c41c7be1dfb0657d39a7dfada14fa360f7a83e884641c0875c0f6150e24e17854bf384788e636b47b9f41bbc99835f7a680331d15c4d7c449e3968e8fbc0e5939488a8bf4a8e8550105d2d12a1472bfe09d5527a5ddb22bce6ad3276404b772faf90cbbcb6aff32a64e986fb3185ed3965f987b24a1358c7ba4c4423ae32a09ab49c0384b8e8e84eacf892f76981c5db74602ee5cb83d010747db17121810423cca54e2914b0d7d0eafaccd6ead77eb1e0394c7d3bbe7bad84bd3dac5115c80f0de4f34b26caf9b091c93077af191f91693715243efa640b6dc68c57a5082b0fa2099c63b041cce0f3eb37117335b81a77118afcfacb618102ae9930ebb22affe59071e4a1cd079458a0a63f888325ea9d0292c09687bd26d43e7bde786b43cee8ef43181f1c4ed4fc9ba57d29964af4c051ffa7dec29d2ff9d997555f698dd7e6e148918320580dd2b2484d81cf00b0a9260957e1aa1754889c86d70fe4ac6b29440c29daf3f23e36850075c713b46c2c55f86ecf241f4e3c536774760f995a293472d348044620e347c058392068b8c6a65178893d9819dad8b5e594f7d98a2a6e3a9746554a6521d2dd52238652fefadd541f6b414784ec54a8d61dd4b5667c50aac4bb4f54f31eb70461fd11686b3d40d3c872385d8191f11e471dc8a4e65e54f9845898ce00a66d1647f18b7a2684f636c296e65dc56eb95a0c9be5f85f6994c77d16d8a69c3b941e6277b11ba456a12582336528885ba458a88b3f1f5464640bf61ff07c1829fa160adfa6415a900f15590c7ff7e86bbdf86cb9d6527f22bad6a3feeb519e78e8febecfbd56abb3f5c28c8423c9eb1223c1e36dab82500cdd1ad004e68048308a56641be21d0ae227832313c4a85595a371d65eab02f093d12b9642987c99859135af21b8ca125e4f498bb5abc2679c1084eec15e40030cb037efe15254f9efc315ff273ca0bd00507e784acc3bef02d1d8bcd7c4754b5d3f9e2084cd4bc9a8a004d9229a8ef636aec5622c62b45013221813418d929369a9d9a5cc23c1a9fa4eb913f96828a81c0188a3fe169a1e6bff638a88bdb190c9235b31ee8521cb3bbe107566bb246a29925f9200315faadf603b43c85a6b7359798d8fcda5b4ff9e225dba3deb94a0a768da1731ef0b4f4e067f2b55e74071aa6cb53e7bade7150ab4d9734477be6201e376e4f78c22706a57579e30fdad925756485307ad72511fee746edea683a623c286dc51e3b4e193b33c2fd716340dd1d7ebfee3002ba665b56830472cb0ecf5cabc1ce41bbf34d844f2887be7734f632cdfc49ab603614a35857f9a91baa3a2b1a55a42b37013649320ee94a980ea8571c6f525cad46d56e53ecaeea012c25760f7cf0264e49611f04f8fe507f642d3c37cd69c45618132e21202977a90812ce651125bd2b5b5037a61a72c42ff743c2b9bd075d1a52e924d5116b8c5c08af3916b440c444566055127585dd75893e1625305930d6dcb9504d97edcb7549eb5f5dec222453edc15ec5d4a29082dce00e185bfee79bf1550f5cd84c749c77042188995edbaa2775493eac4e7262fa395aa00edb33f161e7e78531614674708e2951a90581c2f1dd6a421a328062300186d1832b7fb1a4c35b68a53fd5c4e41bd9409cd898c72a08ca922851bb8aa9ff262e7ee89a097e1f67b45ed8296d8214ea340b7e8eee3864132f39c5f500d3e3e5f2919ecc546dd1cb97098c21e11f5311c9b7e48f573dcb9b410e8002b9b9a6177d1b354fc5ba53ed65eb7cd92336748da386c941e0c77a633bf75b0914df0aafdd78d31c2c9b99f1de690e52f7c672e5faf276522821e5e5fe3f27eaa434aafd8a417590f17ef13d2073626b7443c7bef2ac6e3d399d436fb8153ff6e4541ce6d254b85d8daf7ac0b1771b23481538420a57a0d2a3f041541771dc044dad65a797761792bfd663482d6b90a2778e90b6c346851864930efa2925ab819869f9869a5dab21cded65d3747d1c84621cf32d176c6bb250bb301c94d79452610fef6b440f6f01d7538a72e84d92136ca91461a97fa619ab40f4baef090aa18e6b834ced529ad4d8a52655f219db178be6a5b8de0c5a7e818e18faf301853d38dd246e676acfa8d95ae57c662d90edd0f37859af0322212788eb6761a465e1516cfea8e8ad7c6da1e252ba1e01bc0108603472ff0baa4dd521d3be8f1a5789a9739e0635f60127e41006fb4fd552bfde3419c3674a34952959f44e3fd6ddf6dc0cf286eb57fb04adf26b5ffe012bcf653a58eff1b8d808071c96f5be14bf07b5175c7c1265ef14d94c57504d69516c86bb40c4864e6411d5b33195c9b61c5154231ec25916ab4bec8a437db184ea9565335973f680c5beede9f3224e23b844fae0df4eb6967406620695b4ba65512b24d1a054d8e7b130efefb17aa9ac85eaee818f51e69cfd54a349c487684e3749590fd4d8fc8a0eecc6a14ed7820f06ec869d602f327512efc3fd0ca02c13cf01d065b735d5a4073314ed9f5954501b6e4af8aac44e8cf0a9d3a292db5cd9975ea046f3bab1113d31f55b23ac5414240d100034d0998115fa4098a45e5218891158d21b0871e4547e1738a3b8364717f670c468e6639fd31e7927420b125a35cd85c0ed184de04254cd871193a090c413e9d2eaf4b3db56603136ff813c4fed94ce04b6a9404c842f2ff1b1ae94e38c3ec972c49dc143d53e87ffe11a42c39bfdb0f286bcb4f729d6b3019a320d37973f6c1b5ef135e6b900ca6313fc7f1fad8d54838f982d422051ce540fcf1f90c17e2a2b8f19f7c662ead41ed3565d435a3506b724b080d064694e6779b80d469e3b0f22aa2eacd011f4da82d19c1137df264fe1dcddad78b3e2a44c65d8a597f09854c02e2476f38a905ef31266e4e3d3a5e7e9e2f5eb34a901d5692f39bd1c9dbe9612478709e42d3682b29995fb454b995ada37bb995a53dba8ae45b28054f50ddb49d8fe91cb7aefd009b909790d66d9afc78839d78f8c36de95b9372e091f26c5d42e2dbbf03046eaea38749a029e5f0092e461e562d73d9fa62eaf1c455ab329c45654a9b559fe438debed4f8dbe56e70ec9c4631b68e33c7785ccea7893b20c02319a18f70210a8111ee3ba3c8a85bc5841d7792fbd963135388ac2cefdec165422f7b3dbcf780d17f7cc0e1ea4722430a5f7e998e258b3acdcaa0fee26ace43d34fef1971db3bee674ee1699ca84b53a0b23e0c3ca4e40555b8d4b2828a1e82e4597efc085f098c167e6c8c0a7c8542c9318de4cf42573a86dc563330da072ce63bbd6d71c911de1138905f90f3e8912c900c84128fe3165d5878e1570d9cc894f39cb42e1a3e7af34a27832226e53270b4254b4e47abd110a0e26bd82f6df09f248bf6cf2258b271367f719d338d78fca352cbf866726821c1632e0993b8d51e54006fcc67e2be6cc87e0dbda33a0ceebe75a0970e38001007d1cee80bfbfab8ca50121ca7f1cbd671e6ade00e943e148c5da7e4f1fbf4e01dc4c0daa9de91bca6e0d97d6e33d5901c28f88c877afb8c9218500b645c413371ab3dc6c18005f497eeb3f864871209c1138c5ffe75bf893b8126db889b49f8d445d610d9f597235366efec0764f0a6a787973a1b4ffa2c0ada5ba190cc0a020d897b628259a2a77abcadbf3419ae663c55ad474758aa0d240a33f6da9f0d927820235c2e0b3f2eed5cd73abc373a7160b0d15589929bf1e7a164c46c76285ac4c1850fe1415773dc7d87fb5f2366108b8492d6f6eefd55cf084ee6be63e98f5c36f9f9082029e008db0cc41fc8788899aa5034e8cd0926f6540eef11038dfd9bbc368e93708b045b321937876cb66e905bac7d99d9bb7c74adfe7a79a2d6acf5e249cf04dd2da06910084d159ca98f3420fd8557629eaa529c85aa7d954853b344e50c5696e478d4b40614cff01df8340128e2eab89b2f413a00302bbd32ef45ab20f193651673adb8fb2a09f1bf319471b2a0ce6ac01dc87024c7858df8439a6023e4bb55d1b9d1d5ddbb3338d4f007e73e73acce9686ee25632f468c651d530147dc364a05b879ffe803029f6c8aae833837c410c529c527c1436d2ba5081502da8756124036bb94c23b2477192b651441707cc5c952205a81f542aa01fe9410ce8d5c307c4a5831ca9ff907a18caaabc02144c1afdb8955c15698cf1f2af5b0ac2bcd963049de4535de0727f554134409691307bc414a40d68d13ff17e32cc27c8e71d9ef23abaa759fb909df73ef683d902398909e11959fa58684172b4dd3e1eb993bc831297694de2857ed79ad7a9e81edea025be3719e6909ef99ba334aada4673dea6719bb1323b02e734dc51fa1f8bb3f0d5a4ff39b9d44cf9beb862385ae9d0d6319bb64652a1738cc42ad59dc5a03a6d9762488378324f82b89e421a67ef1f6260fc8039086ef085918f333420573607c463635ff6684ba7e74566e49632e31d3c3f2011011bd8dca332e08f1f910cef60ad15038031f44c805ee29f9374a0151fa03930c64caf8582f2482c7bfd51feb6f67a8afce2ea459cf602e956751dc3a7e643b8b5f2211f46b27e10b4d18a619ae14be8917f4891099d8e0add93595f69c707910c6186dff4ad2d7ec9a763dd147e58d52dac6f6fbf00cc54b7e2b7027164b097b60592caf9c8db2c11bb4f442037834b0e3fdb2576f4f5213eac6a1b35fa80e9a94fbd5e2257bfc939be696999c7ef478074b87f85f6b425cd18ff82b022b45f1e23b77fbc5ef606d1d92c106e15ec33877d675075a54e04fa833877ba8b154dafbaf40cee3685a3afb74cc5330b8244f024a6db532cb7424185b103ea3e65d9f3f0c7c11042b486cd53fe59c069284f1b312a7a5e9245c1bbe894dec131ec4f5500c89d11c9571deac7ebd1743ba0ec936c56b55833d76efe3c94f68bc9ed6d8989f86a5819bdc63a4ae4d9e600b4f325af5e77e6d3dc321300b4429eaf5ba0344f5b6834062865d8030c3d2ae5bdb97516146c8c0e8649fce5d5829dbe613c9edf6f35b75c6bb84a5b4fd2ae8e976557aa22f6f6d525b464a3f0849c50526cfdb61ba92307ab386770e3aeda614adcda96ca5136340b285a6b5afe44869dd80efb7c242e4cb1400142c02248f2b448c802938185afaf3480601f5f141782e148fcd8d4fef1c0620098dc5bc3d0813945289c75c523382d4fd6083eb3955ef55886b433ca0476536bc98afb1e780edfb80c5839b24e1cbc24d9374cf7219e01194db4b9d946f07369f9128af58115e5537cd51c6656ec48972790b88a4b6b1739169178ad4d0f31068294a22491e5e8cd1d4fd0b6c68b5a5b46740402adadb7407d7e1ebd91a6f90dfeb69f80b5b248fe568d9d26585ffb7eb4d7a709b00a7dc0774e90e9d690cdfbe660108f8107ca1d5055d06d6b8f0e36e7c06fb01da44879a267ad9f0994ab838a7ba4e5ee560dc18c3208f886cf132677dd75966eec2d22efb138a45e0e110aca849405a0f0a451ceee825c92e6a43b71b76ee9045329e6bcb50168d758503f8644598f578b66bb56b673e8ce594708383b97b452d40335f630bd5bea40aa29def5782de32b2c0377e001a1c899c7deafca5c48d4e92f6f28c4ea5981bd7c96dd72ccc9ce912e0ed8484b77a8648a66f826889b7931439ff4ddca965ae84bbfff50a38bef8903755c059234fafbd6935e51f550384e70d4e077cbe0907cbdfa914ebf1487dfd3ffb92141f02d0393841ae4f3d2e814a97e0911f023a0806a806c56badcdc3ab5d887efe0e15f566456d237d47f2eaa77473d946d26b680d6c9c10cffa7c030d20d0b1b6a9003dc2e310b0316c60e21f4a981b1c3d666975636e68168f0422c0ab17f31769878f4a4b5f1449a6d2f410812f2f9a92e388ded204240e91f9c0d5216704d14b32594eb22cda439ad4e8a42e791262a0d78d40f3875c0e66c387ed2ec6d767af98256fefbcc54b729543cf44bbbde6e02fd60efe0710d5d86e24a65f5e41c6bc045a150eccbebba0577d743f5a893b31b57b4f53dbccefd72ed02523f0c44e2b2c0f8f95f86999062a6447b89ea43751c82fa4b742b140e3b6581764b7e7cabce11a03e50c8fbe49d033f2eb5c0367e4ce78f1ad21a833f5d2dda3825c2ded850712474165b86fda05c7512b33dc2c7812cb95554202ce1a5e0bc18958eb438fa23924034ce03f06e2a64788fb23565c35702ef9d975894acadea72144b882463760901006f13409a3d0cb499576dd4371a1e5c64363962d08b5c495d4d1c839b736075bdc306b2aa4cbe3a068ca932429b48754b64f53f556111347bb1900c42cb91a9639b18e8756d38b9a7e73efae7464f5d35b0ca2ba3dcb342af312127c0f6072d008cb08c5d3d9908c83ee00b7224c64b64df4577305194683f624de72ffd0e1c233dcc5966c197956d777cef811beba2441be5409e38ed6124aa121b20780690a14299a2b7c872fc9142287cac023828b7babbe68d8605299009c1ba710028dde166bef72d50a40a7351e4d8dce94b0b0ef211a54a012e17e1f77dd2d9f16c660ab9ca654062ebc38c339669c4ca390bbe2bf1b0b88bd933941dc2ed97d6c4b73db78de5650ad7f41e14b7194f115f6158bed1feca4b0b1530250d525f243997b180855ac0f5691a78a6fcdd77394776e08d1277174537b38e6d781a35a597768a6147aa929f441364598902f7e2eb11c91355d134babf9aeeccade673ee12b8c077945d2ff038510bed7fe1f8ff230e64226cc42de9bd4f9efa0c2a48defbd1200e492782e1ce744cdb047e66bcaee6c31958df808a216200b2846e1b7b318d1de60102d4eb097fab5c10f67dd7d23bac314b7298e826eb53abc841a97fbc10ce2aad25ac3f816b5c6e668f75543659b6a4cdc2eaf109b5705e5d469cef7c12beb38fda102bea977acc554b04eb1afc2a0af7d6a3c9462012dbd3de6674e6bded0c5d6dd21a1dc64c9112a435ea6e67a13dc6143b0534f4fd95d678b4a4249b090961a407888420259c8e4e00cd04cdfc6e47080cfa1f850ca0640915e2002285145c1719322191cd74a04949e2d80b09be998d86eea68790051e4e201701262824cfc9d7a18c604a18bda99227710b7532fa6b8fedd6d4f54433e4b15047552ee4ff554e2f73ce579b18797a8760da32d6947be275f5b3fd868af375f3633d7b97681d8854c9f626a7d11d4bdd76ec65a48e99e5a10df03561ae5d4214649525abc41a419697bab81777c97169f6727bece8b895fc298ad398e341c9e02a708ce065eff36b497110f7cbc1c997870d8b1929b5d619d6f9a552679561dac44983f5a34d20dfef14459372c6dde86d92a1cb3e627242b4aa115f513d0bac82f89b8a5fa54fb9331fb5def8ff1fbf872b41b73b48738b7630d0c04aca567d75c77922ec052770706f5ee6d2bfffccbf14f67de2d8675c894416d6d327fe96355f8891c56691ea3540266692e80388bb54fe0146c97e9c20dd705c0a81000751803b0cd4e36b2bf01bca706c529f9dc9db424cb024b0ee8070bbbf62e41352bde7ea46fc42c0243b795cf1a008b5b96d6cbab8315db5b6b198c625a41c26dbf76de5e29e68ed1bff9172d072e25215667d84f411762eac239e9c051c42894b38c9786da3d91cdb453f0a20022eaea44197c5f36f2c78b94d09f50a8fab7f98c07f762a63c15bb85b5e5ad537f5b423f70024869ded1575130d7ffec705317f09402edd1a4dbf032e20724a01b01eda860a29596d8d545d72202a5fb9752e4296e4adaeff70bfa65e6f1187dac489d3f2fcc0db1970aefaec156608216a512c4ca74bc87fd9cc6fb932b41b7d9357054833c23705e7985169874399857776ceac9b84b56b2330c76019ade5d56e08ba0ef6369d1d0519aa31dab7063986c006b03f38e74f4f659120c4d09d323f4de8582e5309522fee111dd09c480197a590a7743c0a057b6ad7ae4c4c8eb4abe1521959a97f29911ebdfb9cacd5df6b7b21f2700fda4822a99e27481f4e9137bd31c18734295619123c366597079e30c2488b1117c8882dd8c80b25e8935094c8e81332d2370443c519fadf9e62fd1c47503ec0a9022d5ed265bf443836fd3c8b15e45d2474db0a242bebb8b476f946cf8dc65b6f9a2921bbc097f0b5f4aea1dce8fb734c3b0b3c481459c1598ef4f80db28b1105b2d402adf86d089a3c718acd7fba3f1238230afb2c5880151aad304a02c9407f9cd8e5e36f21ab1450f7d6609e37115e685d287e87cdd72cb6d05a417c0d1ba3fe0a30008089f9c6a8b2a9ebc83748c99f916db8e4b635d534cd13d9211fcce9f3bd411ca59bc051371bd7c2433a328913fa54441f1e90d293ea82b232c6fb37593ef8038a4524e6464e455cc8be07c2898707838d9ee0debe72bc9c652500a466cc254dcf1a245519a591a9411e73b6bd6362be21e46c1dbcab479a8b8ceb0e4bef5053facb4ab79b4182dc3f20d3f00e2e1ac9f9a66167d1555733a8bfca64f2ea2a93426718eed0309265396267a45de000e16bcbc50cc13db17e6ef85f2bcc5628211f00c00e13d552ea0e8cb46cb6114a72695039b7a7b142e7a3546ef6c0e1b2c4884ca6fecb26cec6cf34eb1d3b505a96d7dbe410aae25f0f735a96213fd1977a7ec72d48a4d7da6304bb105a9682905cd0240a8fbed35dc11e0b229be6ffe31b586f1a8d290d8c6588d86e01d003deba1d184eb500ab468d8300a732ad55a9f1e170fc4578b16f1e68b3aa5abbd0caed7441f05dec9122a798df5a6062bbfd359a59abb693a1972227b856493ea12a69680bfd5514d0c0e84d8776b4edb39b6583588f5eef8222033229bf47a547d4ee161f9c40aab5b8bc513052aee6b7be6e10271db8e46727b740ea9ac1fb27a432a91b65a6657dc2e41d3d0a2c833c2ffcc62296f126b9b1924bb741c2f6536f1b08f71a7538b89d02e9b177375c37e91efdb44ea5720fabde748b253932b71ec5574ce97254fada6dad58a98b738445570111f4d911b8f4590b22434352a5665a7bb8b92a20bc77034dd0140bcb588de035ae6304f36689a99e6490e13bf295f2b62b975f131ce4a86e7f5344bf3aa97e1d53bd55a38ad156e00db342458b463f89397de2f927b79a8611b385f026c81415904902e845820189d149633a6e235c86abb465b02671468e414de084c603164a87f6363b829a87e364b81c31c486364af8cb8a31880d1ed29210e6c510f3d947fd5938aa5b3ebad2647b4a566312a965bf0e5c9edc80250553b682677fbeb7ef256226843bd2fd616e55903a994b812dc14a6a6f7d01dd68015cb8e61b4ca8afb3918616a2ff0c59c8b9292bea23a8dc57684e9d76ab5274c068b7ea51a9469c5dbcbb0a612c086e03157c0a0da48b30315c0ed482799b666ffaef82fa5b22412c8aa788db7cca48b762e58a838f310872170247b88837f0e41bb9457a16afcd21e601bf4e455ad628a1af59a81ad5324f0312fe4d53ac962fbbad50f8e2b0b6adb6f786063a6db9ba7041bca2525dda73d2600ee9a0f45a87a24a9f8278db56aa77056fe3ed9742f690e4f6f6f63d250170c7f180d426915a6fdae33103a79448e4582223bf33d491a91b17c4a01f3ae7671e04658c2f0fa980b996453c8dd678ad19e15374625ca108b5de43512fd09a2568668556ffab85866ce7bfaa7811a34285c48f03c1c3a049ef35cc02bd16c1a7d829e97212ede80515240d9e22d2a30e46b5f8af337a62731ca5322c63954ad5a0b0561338b86440a4d04d0475dd2313888cb21df0c566a168cccfb2420923f0ee62c9c2f4d765409c5845010990d4f1bb45b8abea2818398757492fa35b29e86d8b99ddf839190f7423a3fb5b81c0f3da54863abd04287ce26e13c49257307f8398a32667029a8e50095d493bc9e5c787bb19bbd1213061fc77ff12d75777ea112cceea2c09b1483f41088632cb51bc7764a1c3a2b4962a9e4042644570ade1a1b50f051b70fde3d0503fe4ae4b9aa95bd208a07283c3f6586a6ec06f33a31317ed03ce1514c4776230c8432d54546fd036401d07eee645c3747c7c3cbd771216da5938a9165099f53a63f8be004b199fd6e17e7f862cc0dfe261ed4f4a90d7c46771e5ecbb7d1c1ef32325a3d32deb37c5b6b218881f201992e805886691c62240892ec2709a19d1f1d5e69edfffc02ca47902e4c829038b4cd6684947ddd2ee07ddaf1992be74a023da50149829616663a017716ba86c5f80960755167e0bea2cda126d73937db28ad91b28990743ac4fad35165ee0a0d892191b140b1ea1692a7760fe93016f525a8bf7fefa3828931a76bf2e66cf01a30746fae25b95102fea81a4759eb22de4367e055f174929c812454d9e37d7b074557797231db04ce83213545a106718545728bc99894aa6ae9f87a61fdfeab0fe70d2e5bb9f100fe6c6c898a6a92ae708d0f147ee53c4b11398ec6068156305a95418e5ab8744213ca1e7f2c90957d5b7964359893b1b1d160b7c7584c2d0b682e24568b9b432ebe3abbff76b58bde6303df092e92575ca54681b96df038a41adad17655cc52ac4f52d632cd175a001be707abcdb3470041b116cfaa047252e4b62d21daf504f326083a1bd1e0a33e038655b5e7d8cbba2966dbb0601fc53c5f0f3da3b453f51a6aa5170093ea070b3e587f0cdc74a7b9c27c61849b9838781922a90f6318740385b6906fabb9263d7674ff3b9a741a5b2d96938b0e7ffdc1902fa88a82bbc60df7338ff5305543507cb26dbf0e94793116ada16b47b020a54c4882def7bab320259a22b403e6d3447d92f4ae8c9ca84e4870658ee0b74cdb6e910c76d3e86baeb5b7e379744e378a674ae6162738d4f0ba9f1963a79e1eaa731b1ac04157e5181d0d36835a22404091e5c4152c3e7e83ed7c8a93a5b66ed7d380ba2fa209dca1f1bf6a421c626f06ab761571d0fd968a1c57610d1fbe9bb07eec5ce1fb5ed6037050994b07ed98510dbbdbd40be46959da05fc9b81e2a5e6191595d52f03a376558b67edc033596032242edc26f7e1e1c9df8de7adf8fc15c8e200c39901a2dee9c9d07aac56127aaed092f551880361f4c7c6a6d14e1635e2c1cc1f2aa45dac8a02fcdffe7de6fc6b58e46ebb0d5648f88b495837dc20e3d5345a678d6b0a41e01321b076dbc9c157ba2b104f48de7af80a8054e1ae0369353f367fb910976dba92d0d6347e02da1f35350ba6ccf82c7cdc8b474d644d02f409d1da2af1150a833b3f7a8393128b6b5952d0df421ce373d6d37025db0ddd960d182a68b6018598a5e6accbf308b2d5b48a8e9d4bdb723eb0787db0afd961d69cd0596cb84adaed24f6ff9b20cc19a927caba1b47dff4a3ea3e485dd2c3a6b2812c0634b43ee8acf608657eda2fa84817265e9e89b3dc53a94e78401098cbcb5f111f6f0dd686248157296550d70509c7f2d77f92c41733e488b50ad21ed5b5fe0f969403c7cb6da607db1b1c0f7025e64d30045e1567eacf11a88030d9af78b1c8ba650f4dfb29a4ff5ce6f7f15626e4e1ce595a9ed457cde312ca77825ed7ad06427bda201b316405b341017b2ebc557a8af7248699430a0d1ab99b23104dae61af488205b751629ad7e34adae03bf3f9989564aec4b9f8500a9167169fbde71b6f0046ec4da322a7939a1175bc31112e33166015f8f4cfe283f54556e358d07ea6468a27db3c38f86d9480a033db864f461dfcc6849744f199cf3e5fb72330d50348f7366763a063666d5edf7696142ace45fa8c2200eeafc25512d6549f6b347709f6a32751eff483f90cd71934ae57e2f81a48dbed1a38694fb1afb1fdc900091a7bb696404ed90da66021acc68bbc32400eb896712003a61b690487debb4e0a57e56745db5277135783b032862a13c732e2afdbb3b9b67f8686e26faf69ba5fd538a377e0fc494c6f942256adbc733cfef9c610296479f2a73f78012de53040654805a95b8d7c6ccb770bb54f9809db16b979ddb40f8a9c0dcce365c307808fa21f3bc4809efdc77cf159f892f0e72bfe8a20fc73d48a0bcd7b0eae859e294812a75c8286ef4e369e63592ec8c399702ec9f037a78e67c5a30d03a4a07862084ed06ad309a6f32ad89a3ee7868f3018dacc4edc30ea5ad1df31a3d10fc4219e7a2001048af07301e1ea00a440d8015006229d4950a1838caed0317599833a39dfbd6808e9b64203fd97bef2db79432a5940256073e08b107a71e5567696f77529f56f33d1180d253af4f64343a7d13127b348ef6ad75933ef5f743ac3f76bb3ebeb642e66bafb3f44f191488fbe1aae10aa87eb3bb534122ab631019ffda7cbdaa9ef15119a3ddee850f638c47658cca98906d9086f375eafcec832ff103307485be11026a301276162f716a33db6e0ce8a4b2fe00e8faaf7f762ba13dfed9e073093eed95a11f17f9d45cdc7299c6f19a4a756f28d53f2eea25d55deb3e36e3cdd97d93d2d27bb1fbbc2254fdbceaebf93077962c73525a2a15f9c97a82f23f1f41d5f622fe8647506c2576dc86017dc2ec805171e915dc735028cffb2f95288410660b845e0f21d4a4d4d2de87aa0b218c717d98b3d2373f9efdd42dd4fa6c870e23f09fad701623fc579668650574eb90ee2a303f3e7f5c3f245c8d18c96024758f5d5c16241b17ad0fffab071abf7fd371445b805ea63d2bed43a6470b9e3161fc3d0b17b5e75ca499f8f74b174e4c6f034b3c7cdd06e5e72f722eda5e4def867677b96697148a42dfac35bf6facb7fe47e3ac4ddff45b525a2aec2eb727eb2d0b012c587fe1b044aec50b32bf4084f8ef9c94eeb8e51e79c771f8ca9ee26f71e28527feac8ff8050de8c7d6f77f7c346989777868836b857d7827bae4faf1111fad8ff8710aaa8541b92a8db2ce3cd3e8b669456aff1e41554dfb202dbfe91ea33f5f1a772b94a1da7f5b9431f39116b2c2fa907ff54035f9fc1eacda67bc12d537fcf9a3da93df9c574475ea7a8ec329f9a8bed1bc1e7213d2913f12aaf643b3a91a8faa695ad51e368ee727f9da6b9f6d9ad3401a9a23bc691977a43df95e4eced57d2894f7dd7da51295f279a05fa9c4e36d56905aeafc624698aac92d4b166143185b807503830a51e83843f6145fcccca2d22e6a7ccbab517612b870a0fd6be4376410aa003f9bdaee90c44d54806f438510fec2df88baa073525a2afdaf2adcddfd59d23750a582e3a8b027fea269b447354e41a10c227308cdf0a9f0ddd771507e727746b9cf12ccd91f90fb6c2043e8db0ca8f7ed074f46b640629db4e6eb65591af6db3dec9beb82d28b843555ae237d5a8107b73bd033a04f571fe95377fff763cdac703da1d106c7cc3172dc7297b78f23ffcb410979f0843eff38cefcf933bb2e95963baedcb31766aca2daf4e9797beb6c386b8ed4a0c4b0b39075b2ed1ed47d824e28abe096dddd7721cbe6a41298f42bd55d547577ffc15561fedea18fa1ea8eee74165ca8109e91fdbe9401fd72600da7ed490ea1f5435267f5ea1d0b2ed4d8c3fa2c429b221a8044c49faf939ad6c3a09382bf1f399d94c902d6cf47c1fad9b950847c17ac0e05f8b173017626ef1c368f7c1df82838ec5c28623b14e0cbce05eb5d90afe32485243bd7c78a57ca39f9a574a33857a3ed7593c63fe244355a40140a1964a95e5d28b6e05233d73015bdced0f5a30aac1735be255492325a9f49cb34e4639dbadde743754b4da8f5bc959c50ebbfe945aeadc8f5bb092902ab5c55761e71a22af0e1f34f37d327a6de1db1b256d9cf6402a5a482fec3873c02e503f07f58ddcfac2e94f2087f3d77759fb6dc872488bb7044ab223f72b071249f7852a84316c4fa4df14bc0714cdb992ce02f3f05f85697c47af8b24b52040ad6c3ce1493c8f7ce143fc5effcdd3d6c1bb2b571294820a1e4389ca256b6dcaf699f3a8e69bb22efa79661cce0a0c2ce7d4cd6afb9a0470f5ec7ce50662aafd86005bbca61890956ab42055c205744528dec1fd1ea65c2f2013e59af5f3ec007eb65fdfc7db847b42a619f6ae4362599a06f0651f50eb6190bb40b06a220843f50151563fcb13d2613b959e04a591a0ff78f47dd9f4cb4eb726e66e6e7ffa66aaa1cc7329aaabacf1a0f74ffb38cea3e98dd4e871ad489c593f5fa5043c8fcbdee3ace6d44d60b21739712fa913be244901f3617ff95bd18f77d77a16f37bba3c8d6c67bee40d68cc6d0da6cb707b2cdf95024f48d29d6ee288a51df02d432b3939e3c814c043c3f90622e1f038109c309b13e9b2b6c0e6af7b30c6b466dd310f9fcdce9d416f6e51a31971aa6ae10fbe9377b96646b230119687b5dd31ecda8e37cbce1fff63cfeb7b1d8fa12a52744af7adef37bf22357457e3f955ce3764f430de87e2f91b1b6a2fdcbcf5c32e0561ac79fe14bb95236431943a832cb8e9fce0e22b6d227fec809d5ad9c92586877530ca0312c0b46c85e64bbdc1a51da94a9646bc35dea6e1e25fede7ad7fd881fc17db8b0a1bbfb43efcd84523ca2be2a7945dcc17cc2ebd1565b1346cffbb129a95fe99b65a617abc89a92fd2c10dbf067a0772066671fa287c8f69b4b4673fa3faa478f1e3d48653811ea6d762dcb82d182968411f2930986cf60b4530a31d5d94b75a8ad287cd6a2c207fae6d359e148dfccf7c7a6f5bd0969e1ba2e680215195c2e182143d863ac9849cf97326a54672066202eeac744d53327638c513f2e539dc7546f6e6ed2f53bb0ee0347e2a6208b418dac13a4a18365adf78f6a82faa20326ae60555b3197dacf5c32c03eb5d90aff10a19155c84aac19905828ecc4006a1ab2b9cc32d47cf2fbb92b61f2e77fd8cb37827d95ebb73dec6509d8ee86751767d327ff8cbbd2b7bac905658892ee52e60790f4ed8107a47fce23fdf7249bf6da3d1bdf1fa536baa73424f7fa66e9a6d18071f09a4fc829e857d78ce83e54b4309fac63c3eef6babbbbbb5b46d8ee32c2eeeeddddeeeeee8e92649d71b8bbdb7dee168450086c089db71860a0990f949754850ae57708a1cc01045f48292508bef84276700a436dcedde5abae6b1347697158688584568b41fd70ec0a91a10ca337c3ee8148ccf96fe3f5f06089eb5b0c1e7088424b7583a4ec4088da2823268a98ce2363c7fb065447dd20295a82a4f4f07c0d7c2e293c735a32da783dde268a4ffd1e25af284da64ce1e7a03807b247b3ccdd5deaeeeeeeeed6a2fae32044f5aff1e74a24d8d833a404b140a01851fde14f1d385822c21506783254fd43d8b1038d261608088cc5131518a0fa0d56547f1e9b10a79c0dd2306571430e24d8d044f5df417198d9c1063a66f7a2d1a446c30cec815114a0f44c7d8d1f9e9081060bb0885143057d03286a77773329926313d24e7aa8a70fb61bfc80c3c341f5afd984f814371250fd670d2b18a17a0d32547f0f36215e3aa2049931399c9102335786a036206283816e61e8476b7a0917d8f805e280174331d00117461cd1c57d1c073c309c56a434c8d0001aa0c802053e946a3fcd1339c212a50a1c9c898243151bee4eda299a3851fb37b9031336a880c7862caa10e2832de2eeee2c258f924f698631b53f8b26457850fb694d89871505a8fdda26a4733e28724193286000650b1541d09c01c5c6e7cf1020431a3138c11556cc3044016498a2366a57619c910618323ce141838a97dc48a552c5604606d726046e11c3ce0ec54064aa1d14431a5aec60118320199028053121a2f6cf9c6e1d8d0322babbdbda28c854f779801a334c38e6c060a5fac309c6088a20c820a2019854035149dd9fd311e8eef61f63581004830f5b4f2dad6c143183440d551205163d8460022e59d4dea02538d4acf6b3577fe4b0df0006d5ddddc3d4e62248454435daa017a2d41ea3f6bf4d9012265e8812d004c59cb08a80ae3558608304e367aea14593d863ad51c4432dda3903c30e4ecef8c0448c2a06519fb67e939e09024a184667b63c01430581283d35251eb426d60ddac1a77ef427e9049383678a8e4e406dd4fd128693ca3008e387d601bd51f74b185b20b0438f8dd7e36dc410438730f57b943449e965a06f166763f083a7b61badd1f3658d9edaf543e5d4969657802bb3916dcfaa1d2b00b992e01c4bce485ff2bade04fe4b769f438b93bf4ec20f4802aa14c7642ee484be9c84ea1a6f9208fcf9166704721f9fc1acce3484df7a13f82dacfbe0c7d7a941faba268fb8c16eca28bab21711fc6471c4942376786135a5068a9ea6ace4cb921f8e8248c30663e4e0871b5846c09434fde19767a8019254d03fc5bfa7c365c152851b056a77b0008a979f2dbed0428c961e2c8d1a48447c4489a13fb63494c41e7efc00e140c4d0953254a8f8b0839d0a61a0000790ca3801ddca3e1875363c21050d2b84a021073d584c6852e898baf52bb9123e88a041065b6858c3a749f350bf920d1853a8cd0868c060a48ab2830bb0b494ef47f51954da49fc0a3d4125062f8aba38e3858e020338854eef3277d8602952738acd6e3121d481170821ec06c246a7c9112c1043e504154ac8ec60313183496bd3af1fa542ab1718ce0a4b15a6b1821a66e0e1c1882a64487d5f61eb503faf42f811689ced1cc759873a38e20533d0add3bd7fd8dddddddddddde5dde71e35510634191874ffe30a3fa3c9c8d4dddd5db8d048775d67c820bb73bb33bbbb3333339bc996a0ddad31d1dd47d0eeee6e8279df7da0cbbdc508babbdd84a836b7912d38b4d3e2e12e81d5164f19ca189147e1bef422c09aba0b61076f542310fafc780be8441e9d81e38a355e27cb163a0891c1425484171e5903bb501e25ffb6e249c070a0464d49f736c3802218f818718317449820878f843de38bfeee2a520052620a1822a2217c5260c30662c08d40112d7e8478f859230a0da9c6a17eb47e3faa1944fdcb3b88b1e3a4b4143df88d9352a256fa29312cc618638c5a191dda2e10f6b7fc2d7f0bc7e4da09eb780bfba9e3a58ecfb103c3f131a8478dba62ea06f5ecd40c45000468093000084f80d3e9c683f0928cfc6c001b1116c03604b3c1e6e405224bd8f1f1e435639816793c1680ad02317e96a34969c5380001c4288018a34d04408c110031c6f831fe6713ff8a568c9113613b213ef6216c25588f846becbac90fad794a254aa50c414aa32ae56b9f83a310b613fc2d2369a66f8e40d888f85b7fe3e3fa81f037be298bfac6c894447d836d44184705707cddb10d996ffd6ed86bdc02390e174d2ab71c5b095db1235ac5fe43d589bdf63c5e6aafe373bc7c786581583c5ecbc171cda14387a6e383740e6eebcebe8935356f71bd93a3b593bef997cf0b843fc801a5813f1fdc807eb0a76fbcd67c0624478e128fdf315987b482782907080f82866d4f8f1675c75bdfdb901d6f7523e0d87d20bcf5ffbb9900c2e3a8f9ce06dd8660317e6f43e2eb30996acdc710422861580ead13e13dd84ed0f139ba11702d755f7cd3dbd84ed8f1581481eb9df642e84c44403062ed00a133627a245c75bc8947f7613a3a231869db8660d9081a2f9012767c347d67622979c86781a6caee73fccd7642e9673702d6f10bd84ec05e76419c07d73b9d89c80e23da8ece888eae91702dc9bfb612f84c3da25fef402d7da375f0a76f72749ff51fbc7c98a56fb04efeb611c1f1f1b56d489cd6cbcfb276de2c92b6bd0fb86d0f474d67da3abf6f66f771006a04a1461c958bb6bac518e393a29cf36710b7b67ac051ee9b34dc2779a8f2493348ef749322c79140b26b2e1b27a542c9c39ee027512aa2c2202a84df71a9f0310e66690ffe6ef0a73dd83c45f29b0796e91b2e8addf42c931c0fd959d6c738e59c6b45ce02810394394608218473b1876f820bff7afa4ca54ddaef8fbe31d1fc56d2ef9732eb61b5accfe31f4e0b8de69b3505a435ed651c6769fe69cfa1a481be43520d25de69529b631eeb4bcc92631e0814b32e3438aa0b666755695d303b40958a191a18a5a47da3a3c5aeda83180c94073e14ea9bcfad54f8f0e355e5711c06d327f8612a6c5e397c2743443d453e6c0455f0bb7ea7edc5c95130545a0f2d6eb54cfe1ab283dd934cdda02e6a8811c498ba414d50f12fd50d6aa249cdbabd5a0f21929eb43d1db6e1bc9a6756464140940902824c101064e0be91c571e4efb5a66fb6e6e351dbbb2e32ff6c4e4a8f78a1fdd03b221618b5bbc94178c08bd193190ce1240616009d40ca3c410ac0d8a10b0c2f50c2091b4c3862073365a09822892f4d3479c8032a86348a7c788118274a7417b8d3038ac95611e607da0001e53d1c2a44d19aaf1b34c54cc5ea064d11a37ef46114c6724519ad8f0c216442062c26a88b0b7e82ba7ce99fa02e443017415d7ae032415d66002388cb99202e6904fd5411c4858c202e452508c50140582871828b494bb486d24b8902c67871620bf85001498cd1255a938415f546dda02480ea473f72c9e816d40bea43955026038a256a504c075fa855c435a036b01082625448a1500a32e8156a05f59c7fab1bf4e58c9f2a600b6e683154c45a612aea47be5bb7074f5a5b083a97fa656a1cb5d79cac92ab02c1d4166066c19d795dd705ae14d6ed156e745d59966556696a14aa300c9b97e43035344dbbb4ebca98d98fd8d59825298cd647579119c19dcc6881acab916ddbb6619a86a9e8e747d6bc7657924847a49da31a8eb48dddfdc8778e6a38eae6e9396f98dc11c8a3524d9fd6aa7faa16c86246571471d28fb68db4d249174955addd9d6fcd25d5d59867e8377b66e98ad9e338f07b66467e2a013911e63873ce1ed6d3d0d05cbbd6af095aad82fd5409d5fed51caaddafd52f33eac98cfcd4995169077e549499e993d5654624921791cc58b3e828336aaf7bd64711f4a329aafd34477df3cd1e9a229a32344634668caacf9ee93c3d3b378c3a0e004bb6291a95abbee0d002a02f373411e2aafb406429050161a58d828098e227e807a00919ce902d8d0fdd275ea0aafbc418281ed47d628c929ad12c29021e69af778d6a4a130984931e594abb1268a92276c9ecee729fa64251a320010ad070bcd30be8b78106fd988b17f46315ab1c6792342caa3a56bd3759c5dd97536da441bf1552edd6d651667ac7c9ba051d558dafe3849bfcbf2035be4eede8ef80daef1ec28710c20320894412a166d96a3146e7f84cedde8474fce5da9cc97fab119377441c50bb330d7140edce34c41d50bb3b5333a8cdbed98da4994516ad79615a7b571913cb20096ece83082250eb772be12b0b4c542d8e10f60b96d434cbfa0c422bfbd9375b095e3fffebaf8d487cdfad0256d67dfe993ff6732312bb4bc538239c91d99988c0ff7e40b53a161e906d0cdb2149045d4720fdbb7995d1458d4a03b38f2578817bf6cd464412f13554f52bc10b359ea95909aad67dfc58f6ed1b11f959f7e9d433676a100fd2345423d66f9d9c11ab331189b283fe758d3a18770d99095bcd50524bdb2ef390afb1546a8905a8637d34dde7bed747ff0e9a22e806f950543f4dc702d9d202d9f62b6c649ceb8c6967e8b7473b3c7da3bd93a06f9a35126cefbefdc74daaef6e2f69cfb54b4a2999bbbbbbaf670ec9ac1162986575d7dcdddc3d7966d9675996650d7fb6aa3d7f6d071847023ff95f1c1b35abe17ec4aa158e84c0496606d6fdad0fec9b4332a165c9dddddddd5efe60f438315e5213f7a7d64beab745df167d5ba4aa2bf8c95f72484260a5413f666624b2b5f96e004141db88a8013b9f226107958affd15ceb80f8cb3b33253b6b4c9fbcb35643d02f13722dd352fdad210b0beb0596985d803fafb42bf4a301a201a20132d27ee847039409654230724b987c6a09139ab25e7ef4321601fe9273325601fe91f3307601dc79569409f5cdca6980c4547f48a35da1df8d1fff1b3f5e851a59ab5e6d4641bf39e3ec860f793669fd465b51ba9f6cf6cdd76cdddd9739aefe73dfcdeeeedde7ee58ddbadfeb63670f1718fc02775728514654bb0afdfcc888bb0fb21944d03740e6bedb2db46484bedf593a8b16ef618630c887a39afdd7ec33b83ddc1e6a736e42b09f9b10f924bed9986fe0c7cfae6b1bd210be1038bbafc4dd4765c70337ecdd55edb53ba9ddaabe990f17c84ae6d1be2d0cdb4cf89aa526d6f170c7937df6da5bd6b55140a772cd322d6ef3b76d23cd6d6edbb67d36b7b95944644ebdfdec326de4272750483c9b93054263038966dbb60fd234a44de3d8ca8f9f3ce8b19c66683e993c538719c584a27763748790dd7176551b119a11c00abb5ddfefad8b001c1c29f7dd347f97eccc54fceb21b733adf817c72427052dcb32cdae08fcad28d0549cb3ab123b72eba7a5f9a1fc5c2117676795cf80a6b99b0a25b618e1cd04af90b76baa258830410b5a8a602ef285122ad801f706a69b6123a34d4bc2a84cb58c5496d1fab042f9332225bbeeeeb28cdd6d662fb42c4308e7a444b8bb9f408604147616e69a1c94a350ebbf4047a480f2b79685f2b3fbfa95775f7f21f339fbd44556df9c303382f26b130977c8733787cdee68f4134cc445365e0f2ad0e81b6e00e50c28230cd2210cf4ba413d1855ad6e500f641c8c693eacf34dd364956cbcb7699c9aefab0f1db54121bf7be3ff694273a7c9dcd16e38792163551d810a248050993feac750dd57e148e3602b954af5426a839458612ba020256650bf1d5a8249dd30757d2fd0170df4532856f90e10274614de9fe08b9bdc2cf5b7083de7c664c1d850f7495c507e928a2e4b296524f2227bdaef8639646bc37383ac0fcd0abafff5a8ecc995be190e1e3272f2b76ec54186da2043a30e41bc208e6105a98b0bb4eb89d5901755b023871c407c302f9db5d6d859533f77f76c87f2efac21320a2843cdb7a126b186d5a07fcb812ea1f4d3a91f4606e5ffb4ba0151fe5df7d532167c13ee86d264331b26c060a5bd8d733ad7c3d56f8f48e03816d8937f7b54647dc080aa9548ab6aeca6dc82fa6750a83f1685baa7dcc2e208a6a4a646b29410420819be05a17f4860e59739f8a966ca2c994d28149652771d286773226fb14d6c6ab1deeedac7ed1b9805550df50d6b5114bb21abdbee831c287cce48668e38cbba8fa93443ec27b77dc04361f7f910c744ed4528aeacead70bc515a18ac3a958a646ef984c7b91a154f60e675351052015518e6ffc9c9c9c1c14caf3fe4b2595ca9df4501873525a2afdcf4ee2a78e5037084b1a75a7bdd84d6a947fa448dd2781413b3e72777777771ff2211f6a15d687bf0d0ff9d0d06a2524b440f387ea879a3fe1fc4caab040b6cee9cdacfbbe8bce3b1f1aea9ba945df60b3db6a6143bc444693fcad975431cf25fde706184eea6e181abf0afe15a9dff5478a5498fdc699609b73fbadd6f659367fdbb6ed999b1d6f1677fd76fd451477468f42e36af2a3c6659a8f7aa76fb09f5951e49eca9bd605995d3b8965f4755d4e9819a2b3cc10d4fae2887a60054b214567e1a571c0b204d0114b60a90284a5070b8f8dd703099f2713b5a4066be77a32830c62357bc8210a2164252103a4e2239bb8c1838842ac9ed0524de9c74f3bbdc0a1ca4e90104728a03284444d8907adb9e2533ffa93f40485b2fabaae164c89d2314c5181177aa36ed01425cc5052dda02952c030058b1c4c990104aef4d8783df6c78a05620a54908c11680f5e4032ca2e89fcecb52eeb4c9c44939a6711a88180689ef4dc9ad3f8894a48821042d2b6516e19764d2bc86644673adcd6163f7949fab1772e491128f463ddfb097e12fff5938f8f145eb66c9df198b2c77e53a6ac3359404aac4b826199ec4c1aaf32a9f9d0f8380ee69369b1fb7888a6631f52e773693e990fc6718a7da00fc63e1042bee23344c48359b27db3423fe659b264befc2557110cb28f9fe05f9c90c44233d0addaa34ec30b866c6d32a88d60d6d27a9e9f20c420eff00e3b91f25388d193c8efce5c62b1b3fe1fecea26ed59f21e8b777afbf13e1bded94179367dc3aba8c33e9f48392d2925867d0ad7f5d8d5993809e6125edcf453c7d3f3f163a02a6187729cad631e4dca2c4ad9524a293de39152f2ca31f9d78e139fbd112165494adf7c07a8f233800ff748f9f20f608005022711b7f545b636df658413a694036a46951d4695dd0533f38efc18353f6999744eade39d9c37a5a4293aec9240a869d84f8e7b4f82a1326e458af8497e90b6b2d02219709cebe5f3ce127d5b245494c95f16daa3a15f95843e3a85e86a48a65a8b4b979be26c1342cb02e15216548c1455b6972affbf2eaa92a84af87272f27d63a1f6e4c355954355fe8604fd5a4b95dff29b4bdf7c39407df36d15154cdf7c0ca6ca976070e0cbcf711c7ff9275c469a6a1d85f6a0f7cf4fc1fa6959dd985b8d6d90f6beb0695d58bb5fedd7b464dcae441d8e1615d6679a09686398c902f2fb5370cec4efaf7d73fdd9a7e0ce69a612b8b26062816bdd9a6acec47ffda6b49e9617593f59120b5da153c132fac9d666b36cbef629ccd7e46b99893b5311ed2fb029edb3d7ba242e14914212f9da27290205f95a67e28faf934a325ffbecf9b3ec63e7c2f5d9bb80bdf63aa94d6d6afea65a60810857f817d854fc168490be48fcc99952db189305b4979f82163ffb2426d63e85ecad2e49ece6cb4fc1fa98fd06d7dd7d5319b7298cdbd4c56d6a729bb27c0515daf32fc1d4698762b2b5f9265185bfa99e2b6b0ec59f9f82943fa5fc247353407e82d44ff02307e6ea3ebaab225616ede1f3639790d631cfd57590797878782c21452c21784abca5c22b15f21015c2a2159cabf6fc7454a1cab9f6e06f47d08f79be5fb194b9ea9b22fe8ed30f27119700ea709437f8d2c4f3a2a57aa70502dfffcb50dda02f42b547dda02f52ea741c1d7bf2e7b433344702d5a33dfa66dfb52b28f3e893bfdb94d607ed827e9ee728c7912d3f486f28b8067bb9477bee847edd2774b052bf25fabc1fb6f0d40dd2b25345a81bb44418753a0e67e1c2c44efdf84705d460ced0af8d5c8b738136c2082db18cb6f83ca0f6f38a4ce32ca15969e1a96d83b980719c4eb987e99bf652fbfdc7719cc7797e9ca7a7bd1edadfaabe71fffe36f9bb2fa1f227688b4f7d4015a239f5863924781393724e292debbabc47d5ced08f7f8056fcd3453f9ca56facd70286859aa8c9b4d75d667decd0e6f6ba8d4cf3974cf56f3273466d3343addff664c34dc8ec097b4e3821749f1c73b0bd09f7b39f392dcb8abeb25186cbd0ea0aba415c782a172743748356a045edad4cfc00d454c62c153066a25b9becbe1a1e35bedc4cd04a3a8ea8fc6d4f67b6e7db90f81f92aeb1a3b03bd870a14397f11d46b8bb10ae775650a247a8d46d1755b9748848000000e314000028100a874442a1582818a9a2a61f14800d7b984270569cc9e35190c3304c19638c01841000080132023433b44d100030e0a776dea3b687bc016cb1e93c7e916340c069e6165a35336cb528053b3206610e06853b94fd27f96ff6e246bf115f418930e25e7b1cc13c7bff0ccf5a318db52f48ae41b6342b1d6674f964132687b80b6c14f26493d6a3de9e7d15011bee39c5474b47939343e6c0e56b231a9e403ab13a3e4f14b45f78755100f37224e92507808ada2e8896cf60342e03eb10328fe77928fcbf9577d5ca5380344f6fb6eb360a0aea9feb1131c44d47ad029d21ddd42fbd0d6a8c4a66d56d60af60abedddc9a1551dd41433405d5e42f071a542dce21f24c68080648979518c1a902e756b1a20e270422d685b471635acb325a67d7659a30f8f503bdfd92fc160f8552859e182209f7f2045444b7edafe8c7f1af2fccafa0840b4ae41adcde85e1a3b6eca12abc4d191d87bb1271be08ce2450c3260ac85522a968d45e9a0b8e05665dc5ec0873bd78c79c09d9ee0a402446476f8c008802d26a672051513b369b51b55d7b053da6a298b1985305f55867286a7161672611cb4045044403883017393d456283fb0666d8efb0f7ce82fc96a6cbe1c8df652900b3e3a9eb4c1605c15409099aed95b2297b692cc1b171f5508b5bb6de5d6fb3014434a8eda6a1002c701973942fb65380fa79dbde771b9cb5bacafb21d33bb7ea350b05d9da6e09531545f0f2a9b75785f72ddda27fffb2a8f12829b4ddd99e32dcf18c14c9a42cd01e2c5c360765acd59ba7449124631952440439190e8465bc07833a55801e96cb58ef259a0f28b2324ba6c2b4b230ddfe1af9952a50f11a8a6e36730cc0773380b8b6db2b8f8aa7ea12feebd1edc4516ed36a350d34343bd18c56653de1f2d8023cb350665087b2fec9e28a84f07a34381bbff54bc4e686a025d7fd7a74d860ee0d9043d5b4eda56d9f97a2d199894e6ff92f35ef05433875cdf80556813221449b2d9c8022044139b8302f7d40532be3d89358ce7fc24e7e8bebb14ab802fa21488696cf10f00246927edc0ffffaa2907d77707b6d4d5ba1181467148e9008f56132a64b5a62887e030ecd78f8e02db15fdd19baddcabfbf3a47bd8ff5ca96748b301e9aee74a6ca397321092f7a4770ecdcd73b7f62d9901ec2ecfd6d4525ad162470cfc5b43ef636c5da1d1f5f2940506405a79a3295f4dd65c8e324cf2f89e548f48c048ebfcf55d7ebb57ee827d16e4b83adabdc2167f277034cf42349878cfe63483042bb1814a7a536b89b5526e449607878ccb17ac5b54028e5e60c3267689e14f145f4cf4c9ebb4311460e7cb798e21b9a285e500b1439cd9a3022fb7293b4db9f3328581279e85088430c3ef67932f9c3d5a4476e5a58e5c2f1a2b20801929dfc87c89553f151e868e5d93a513e48308986d4a9cada42141a5642459a1ee5d50f41d8d1173872013960db95fac8c4a06aa682a94361f82cd5a64b3a2c5b6d904172d372d28d1219830755f2bf73a0958077589a247ff9361d9544342e7ea1864c18c811b6f337a0343982a02eec3ccad0d02d5984d491b321e1e0b48ff4644ab9cfa00af746f6d85c654a1abacec200861830155259354383c27325ef6c6ecfb7d93228a43d8a9205f6c5101501db6392f0a0036102958882ae413e180fe9f249ffca4fec1fd1efcd4da3b1b56c30e8f0a607a83ccd2d0a5953828d5a92858fca65c03c5c8831363657791e88e1ecbfa820744d90c19e6f9adbbe5122033762e6cc527d3dcd9db15b6b97c0a7448b45ea96cf1f0c14930a0e13a4739ce54faa4716e84e45539f2b9be18f7f1dd93be22caab0f6d45280f5050cc81bd93fc153635e5a97b0f02cc64f43f7009e83c10990cfa455f55bab24fe6c1f95203fb95e5fa9451d6ff06d76a48d84434b18016ec530d777b9af9892b88f528e8b52f21bbc5c6906dacdfa6f2410d4ee4f569b9b521219996ae4f606594462bee8e9d23d237a994400b39f794103fd52e89a354bbdb0c15588dec3908dae8bc9953f125c682486251f375432bc91a3fe9bc1a6916c80e29943fa54795ba8018d9bf8797f80853c42b0a8fa0f939d394fb2888768acb6c4ef2b36e594872e6cbe978192844e0876b24c08bff9ff4123db874b9f08e86aaa4fcc9f34059d6b483a6e6c4caa8f52004507cf728978ebd7f9e12016133133f40f5154cdea9c414e13119ba897fe1a846396a81cde4df00725a8021700c6f2142329366fbce09f00726ee2da79470f49dcb7b169a9cac261b2f12de9b39f5a9eff32745b7ece3483a4f245ef357258f8b014f8dd740825eb43515d8042848cd133d2031ffd14866b51178c65e0e7bd01ab8efcf0974d8c7180c46327fe467bbe1b45a1af758865ec7489ee4f0e368953a80dd0d62866ece8c9c7949b90cc77be98fb7b529ece96eb57c01a7140ea7f4691ceed69959297ed9878db2faa175018bf8ecb31ffad18acb36b88391d2cee55b8948ef4568bec01e03f3b4b0f56cd33d71b929744391a6f436ef1bee362fee9a10fd071929b26ac284c2680869f7f1521e331c1e10e82e6c582588862d7ca6c61f9ccab384680f0df422f3103995d1729c4cf9a4b2906a632e182098b9df9088aa1047a29cb81d660fe5679f7a0f021c5ab63d95beaa5d284374f7929cea5d2fa552fd847095ad3ca8ac687c791a541da7ca400898fbbbd4ea282b7656e3726c9bfdf50bd9dbba2228c2ff1c5e21e355649396912cd6aa7ebdca3d6245540fccd586eea1ac4278122046aba44810b5f5b175541e03c760f8a757b98e2277ca5d9c76595c58987a2de9fdd518aa61350b414bf6972dd3e7448fccc79c6805dee4077253bef7739d06898e4e0e48ffcc90fb326e25c39946b7339a26c5e9eb3c72df4c30baafe5dee72477b1d19a6e2c5a3405310a04c26868ae40e0df1a2e1011779957e574556fe14f821c697140d01d00625c1a4dbf48c0454fa67765ee377e4984174508c6081c35825023e306f5132674d0cbfaea8a808e6f2d070e8652194f2770c0095cf6da79e40ef7812ab16c6a4d47074e073a8db3566be111d377e303725d253b48b13ea9a63494ce745a0aaed2bf217836d2b940a3b7adca9cf615a3a3b463cdcb6109116bce7a10c9d11fd0ac28df7424c7a61f10cd8cba8ee966cc3d8ad45cfe678610b204599dbe5117ffb12709a6374d1d2bd56a002169fbd783a3fb8cf40b9435ff02da392403d8359fa9840170424813454bd31065fbac396994fffd9331c20c8fe5a516ff5940c062bf870c3f8841533cf7d96530c6d06080abf360f5bedca5ea810fc13e34e95f214c96067891de177437768f436137538d099d7cd170236615f83c0b41545d990cff89ea5db488690efae9c385a28e13923072e1f33f6d316ffe51548b6cababf4cae3005ef2db43e38e63d535fb3eef69145df1ef7f79da27111677b122c2f2348632f9c18886767f007db3663f00f7bb13445724edc7c017290cd5197b4fe3bd337c3b8b4e53becb880e4fccdf074cedf4c664d8cf34e69f52e7c5589396d9d8865c12dc89f4bc8ed55ca648472272b91278f76c8ff97c82ee321f2e969bbbb89f5992a34c85ca6249cc008c3077a45e9ca2408b9e8597065eb5aec592945157a61237d6640677dcb8e37a44467c5f738d3e4411ad500e978cfcc794c20fb76e8a01d8386c8f50d69030ed75d22b408800cd7d9c04940659093b377d79e614abd22f3e3b5133e836be69f31f730ea6e64822b937354a1bf82b7b103c7ac123877b995f3fcb720094ef29f2a39facc4d852f022035ac81e3491da8bdc1ae7a41cac2466b0a6543b9c6490bea3ce8d358a2019b3e90f18ca720372d7b7446c6ba453ddbc3226a33da6574ccfab27a5b418f00b43fd5a27e0837364109c45ad81a5b9d1e243d4a8e7a26e2906ea1ffe77fd09f0c324e7396a80051b90810f23aa4b03cb2c42e758389ef7fbf74819c4e72c300a6ac4eeea2a63dfa975d51e076c398349704dd2df492919476c305f3f80c73924a68aedd7b344a836f04b56efb830df15cd0ed2f86364c2217a485ae05b4a3aa80bea2725444532ed8346a0fa67287796e1f4eea36290a47ca7bd799b34ce7942a9ca1952ab159f0d13e677d9a606b9979d19e6508dc0e130edfa3355102e81c74a1b005355e3fdc5542fba94e0b6513250700048941f1251395d603f07a5644f9799d974678fbb10f245aa65f3302963e087ed5c42ec908eac218273253465025b40068c902b7710580a370b2a22219f025103a4ce397a52b1354a084d0749ca8e36b30aa96ce8395b40b2b3671998e231fc6de41f79d9938e20bb87dd6d26d4070ffde31e7871c8a1e51229762c073719700839433044752657add5f79721746c9c6006561816e7f226545584e8880ea1e70e4c7f7997ab349e7d3191f82df72f8b0d0011420f6770a02a384103364794a928ebc0cbae09db2ab5519199b12830eaef8e8a120ecdd011c8cd148da08a942de4dddb5aa8c3704f8f19647851a64e46fc772fbe62d18005e6a5ad3533c01a7a5bfcbf8ce7c63e7bb3e3a22477cf0a243e14693285a05d00ac02a819d83fdb72abd2ede7a7428d89f82f390493ad45e834ea79304a407032a21f337fc856baea5540767ed027a960f2d086bed3b2efc86a2bf526186a8b5b440ebde7a2dc1db3adb6b64d6d2e8a32eae34b1023d62dfeb71f55705c1620bd714e961247b92be669d795b66830de251f57a76b4274c6a6b452f9358c5aea1a7006e55b100daead495b9d35c56ecdee2b023461903cb24cf4a431e7f140c09512d524c97cc01aa73847731e4eae077d4c8480e3a2ea95d6d416e76fa54f48752f7d3081b4990f3bf2b511205f950340281e4134761d5c652f579a69b1e1a20db9bbb0162d357e5ae1a6f8ab0a4457891f4dae70df158b05bc3a9d08a283374cc450dee11da55db3e15ad1aa8d5e402c164bb9dc104f43eb2b4c049c5e3d722bb1cbbb0ed7fc751c3e35e4753f6e15db995a7693089c03911b13d5dca29d358a8539d5c6b10c78857398c3fb0381ec4776c4896ecd48e9f1333e7e0088a53024a97c1cbfa187813fb903c76a347726c74238df89554f433c5d0fe938c732d0b1d846785fdc125e43cbfc2b773a10a6537c96d673e3c8723910dda54ea075cebf08bfd1122077c33e1eb8873c7058558dcfcbdd66241c90a8a9c728c608f7113b062cf87d01a370a79501cda618c9c929938cd5828c1d098cdb5ea206068691789c2caac254d70c18534ddb8d13ce55550d010866b9ebc0aae8516b32f18f410d8b8642a00b6af9bec551812ae0ae06189a1ffc237adfc2b8e80c55bd934c08d2ade8b1e4721793940173580d22b1d29a28a4554042cd56e5ec48215793abcbe266425cc91504a5aa057d1ea59d0a7ccfca63c0e6bb0251770a5b3e69388ae818e62136e99ee3d5c721691c0ecd3ae189828eb501fdbaa1373c205d235d276d8e433a8800008e89e124479c28d9c8be02486d3a462ba599707be41656dfc5387dd10dbcc0ec8233f00a2ea905cbdc09e42eb0ea57a874421c9305fae515a4220e3b897002af40dc81f339c51bebe3e29d5f51f84a159422af7bde5aba241e4ed3b62a0d57e6fee29ce7b697a3069c1de699c7db5d1ffc7d67fbbb9e537cd0b9274fe214f5c2a16ff8d760d6d50c1de36e33446ae126b5d357719f41c37ce40e2e5931b5c6c72d362779e2c3642633173d309ce362e44bc80e0c91fe92b97ed88c7d36483e55fab05fbc8ac364300b61522b3c69a0e372575a1579746c6a84e19ced63c43f9b1a38050cd89cce4d91ba0162ea93850136aaa06ae728385c97ebb2650fb3cdc0654f9ab137025eadfd20b200b62d4ab8f68a4ae0555f6c8951d436a050de3dfc6ef9a6b1b59911d39ee65fa6cf0255301165cc719ece279d71c737aa218c7d0509d872c40bca2133fe18540a9afe3b20f4ba1ea1eb0cdcc42eb35f4ee460aab5f0fbca6128954f3d8ec76fc61b481b0709bfda8e809eebdf03242a0f0b666f58505c0cd1530f5d2b8897a27c90bc6324e601c8b89f3fc8df1b9add79422c597f8d91e53d4488f0c1e10e2ac1a1c1a04b0d585c1a91165fb15c03b866640e5cc41c1ae3dc75e5247cd561cefd3507d73889e62c8bc2d65d31eb5384eb4f56ba88d8ac5cb2d386d71a0811c3d6fe36cc75021e206ced8403f88bbfb220db6f0eb1a7b3ce7b78892228af68ccb8077aa4e1ef18518c944e4d982eb0cf42456b0c2ee6f6221298cb6f9ef93d0b96edfbd67547cc60ef56100aaa3d55aab80a1c5ab4963bc290b058f3f18a201882af4b74b51d44089b563ed30cc4ef6900c1f3f457bbf14c3432a8ab8ba237cc0b2783e6df4d1d91056613a837a3132a25433435b1b28c05feacfcd048cdc46e27cb22153ad6ca7b7a6ceeb86723e83683c547d6695ff1620ecf1bb5c30a0d1dcf9d14db7bbd18f9de55cadc09ebfc5f03c860c992499083cacd0e8c08dabc6375de01205a1dedf947984314df1b84878723f87320ad5d0011138b484336bec3fae4dc17f21bb3244b3b992bef7a67d1f3771159c6f8a4edbc52d52d8400041021a895660ce48a87edde0870bd032838bd96242fddd75fd8be6145a0717d1902f60b56d124634503d2697aba8d9adf6937f7e04a356c5a59224839ed6c823084b7ff3905f9b4bd69477ac47223163ac5eb8ed784978bcc31dbe65658698efc46c77154cab6ed68224ea463801dd19fb91f91e18b5f8f2bd03a21930316608183215c04d31cfbfa2e0b9031a814a88118c37511a7a661a709254e33bd4e8e284efaa55c1b07646bb3835e78c0a472f0f357b8ee8890eff32c8468d30a967c1809da9ca41cb5febb2cd1be22a18da03432105aa0d48747d9aa68d26dfc100967b0f4e118f265133d5134d7928219102dce27e4051b76da37e2be0dce3850612777b0d09659febfeb2cd3b9f7d2f84d3248f325c6bdffe21ab3d7dd1b5e3f8ac9379ccfb80bc9e18b162880fd1133d8a60f51acf496f02033a1e1d28dc4b13efb141f857ab0ef343fe8101ad018e3084e0f8d95a08a4bef827ed5c00fc3cfa790de9d963d06e98abe731b5af8369eaba2466d469e43a91d81be338c8884944dc4671f3c6947b71ba6e07ec445eab00e4f2fefa8ce0563b845bb64545059a5a3a83d28fd023735924b5e4003975a092412308a4f358f5a7059f72690ad910296e2afd6200df49f3d503b1212c062348371674dea1d93582856bf1c7d3022ae6865d4dd6122332a5ec829fb8da3d156cc369b3e3cd1cc4d9dc9970d8a369731f4a42f155d31443fa4875303e917a8e12986258e1e37e6aa65cce26d79c51aeb126176ed3a410308396adf6b9269fd9f34d22e1aee846d29cb15664dc7678ac58483ff00ebc4e402bb445083f453cfaf70eddc4c807cd5181bc2bd4e3aa090713a38c4f3ef958d77dcb32852885f3d8821b18fe964a5a9d0b9b99afc9db0b611ab46efda1b24f755e6deacee878615b14789b436ddec850b43925c74e0b78d553673392a6e92d022011e390e6f995ec5eb882b99eab510a63a0e210ce42b811b4266860b74006ceaa7559673261c331a369d92d9c49b34bae014f24b4db78a6f5bcc50e01ef8397f9ba1b4f96bf9e12b0fe178be83231eda5f44763974e7c1f2cd4e01b50cbd0002c5b6714233babd0f363a437476d61426993e565040dac05d687bede8a395d8cbe1a21584dcfa7c36077df2f0b31a495630b4013dcddbbe0063ad10dd063e96cf42d9dfd4503f55aa860020ffa77df0ef9c01d771053e4266f00bc268900b555b02b359df1f62bc7c10f0d52e72e1d927bc3d64c46887d2ff3e28261b113f0fd35029b36f46eae1aedbea87f652a0226fd3fc8540219b8da3d5c19b245a0f2b9a40b260f35029b82195b9bc866077d14a7ea7f4700152a22c8d6b43c4290bc1dd7d99d9d6b9860e7c5bce8d7772092e05ffc4dc696dba4e3525ec6c032396613d6359c1d9263a92741173d1443cddf83124e63bb47f1dca1a27a93f478d91809e310a392e2b38a44b29aff0135443c7a797765cd8b8cddb554a0d14935b85b264c652163123d2e04dcc41effbab2c40d8580d1715abf624d98b4ca1d2e008f5679b62e052122ac0746494fc4e04987621e5a332042e8c0fa4a7303bdec821da1474ca84a3bc9e25f08575b99b7c7fd028e62b7b9d2766f094306364958d05d1465117df50dc5bef004c7e7f88f06b37ad127c6e715790d7e23a2f2876413a1034fd97f6460cdea08a72f497e563528d937d6f1b54b11225a5a5c67e198d1058533af73b9b77d1e8e101cfbf486b37175fb92f4df7183c99935baf89c67f529500ca29500a728d2fb123e9105ca500d3704547cdf96d6b7a86d19639e29af41b869006ed91ef1f8b05211e7dfdce9b649195e59cc9ca9b1b85c811e7f02b1aa1ad0131334d8796d0c6a0dc9628cb8116ba5b110afde404890effa57bc417fee402bac46d438096f4c94c6ea6d8ce0577705bd0b56112f16221f944d486db9696a1c9258da8b11f08ccac5cb38650ad845ea087e0be8a9e152131a235a9e00595d409427a77c97e03abd5eec96075ba862da0cc532bdc8b923980382638a4c7d6249bd402222427ed5ffbe5c1be9486d48c0050800256fd46b0b0f71c7c211d8f684a99e147e59c09b3cc359fd88b5192dad8a828b444157aa0234ed4d7fb3edc2a770b988d4765f46aac87605e8369f36ac64f574f3c035c92ca21852ce605e550e9f1cf5b42c3aeb524832f4b007394e26104e0310e1dfc920a48efb3be59a7114e7d2f5f306c532d7413ecadb36dfdff946e00d3a2dd62ef365c48f7a2678af88b5a279eb3adf5c6885de797db39cd2aeeba3f7c118ed6e956d5b92892e475ee57bb4889742ef38f2054b00c60f2688d47d11f3e98bc8fc6162b9203a762764359ab62e9822880bb7aaa59fe6590ec88df1785131e7815d03cc040e15f01cd327998639d7919790eca9e753108f7eafe9c63b979321af07dcfe4c5b90db8afa270f942a8562f693d6007cd0d3a81f33ec68b84f1629ca85d8e99a053edfda8a6357b6d18bf21aabf0ae56bdcb11c48a65da3499ca0ae038c7a51d12f4fdec3b35681a7567751ef0c1046075e6be439348e81ad9e952c447928f274db0de9d0acc7dd4f7a2e49483e9f853e54960d2ef94e925f457aae14fbb775845cc247738782267b261bd818a1659a6641e5fbd127ed82237c3330da6e66377acd456bc0b4132e4324a8820b42219ce914b1e472c87ada3baa8469cf029465ebc182113f3729cc26c139112b79df4157795aaed9490c2130b48118a44250ed9d9577483387486ca22c2b0a54cd5abc4115834cdc25b72688ed1f30f37aa8825b2a048817a7b83b2333cabd4e527ebebb57a322104c2c1ec3289f8896671411e7a08623da97fa19de96cb323f315cb4d45f8a6b71e6d842beef7ea783a8e11e3ffa00baba9d45dba66f8e74cef462f5173c35428613f2ffa6f02ec71da199e9872dc0f22b0fedcc95a13ef2a81995f64167b5c84794715a6dee2841562a19febd6ee5828b82b99e38c0c0e7551983f220c05207478371c068905c93b18f3b849adce83c7ce0eea8152070c88e34423e4e9d0ddb80d46eb5260144f74094c8913901ff3b206436b8cbbb4348acc923746bc7d051cd85b63a624095b2bdf6b2f0784e86fa86e94e3d09675cf25cf41e052c1ef18f01358a533f9ad4c29ecb26e36dfae36511fb5b6cf40019b733c42f52c3b1bf6321ba5d5ef5000dbdbb74144c013fbf4bcc07716a6173d4e473ad8c6ec9fd5016422367d7679e8a1af66d32454d1e02af1bcde7286b9a24e797a02573ea68a893263c07e538325ffc5a37d09f9149483d13195a8b91ef4a1ff5e8f1ea0f6e89a3d022ac506555fef46f326da9b0fbd54368141f447d394baf02e4ee8b7b788f0ec4bcd15f3e64b52c355a94c74d08cc393bab76b08196a6f665b558797fb49bddd0e28d4aedf19025921b792af32ba626c01ae885bb8b84acf05a2440072df4ac572e9216e1358f5dffb76472ad7151862d3dbb0bacc531357151d63298062df4815755d8346fb0e6b57bdcc150bd2031205076600cedbfb4867f97fb0d0482988cc99e4fc538d96da2fa903d0e7e493197aa4c9c2b4e860e03d07814b9252d8661256ef7f33bacb9ef63728a1c80cb2809cd8a7e117360dec0ef4b20236562bac817dc97e91cdbd34ccbffb2be58eb07ba12e5e453f78d793a052d8a0f4d6ac238b0921427ea89e59ac8fd67d0508dab54b3aacb2f4e3db086c3fb024efa55e50d6ef176c07b34d15948713f15c6d8a0c4a8d7dff2f6e7e4a8ae858eab41a2c6e7369ef74ca022c7c2b00b6e4a81ea8eb56eef9859cad98c32d0042369ef82b8ea7dfa565fa2f61771e648946f02d2cda21a4f99a75b2c8c9e7306cd2ef2f52155227cb88ac5e7047453ab66a57ee102c381731ecbca84b6ab584e03ae3fc4cb1359e13f7b85b071452371d7fffc8c04c3d1d8cb95363f93cd3bd294fe97afd7ff08f01b356879ee19509d26de9bc5c899efeb987d3574a74e94b0145b43f474f574b283c5a8373ea76bfcf53ebee68e1fa76e5b63379960b18f2a0cc56eeb6a3656674be0af3efe597206689887506181cb8e3c29770a48427ff4111315d814111b6e5bea91377af14bf571282a252a1d25dd6c21873d955fa2e3d952ee714eeacc8aeb6511863b2c3ce92f0c9ab01039591cad007a8a710229f78c4addc71d2e3ea0e92a49958ffde0a201ab0f0ee9f7b43e58f8cfe5ddd4b44ff47743fa3d7b12f9084bcb25f45d88b2dfccc83c0d172de96cf818a05310d608919565680dcc093bd0213a8e98d841a5e7fc333e397ae542a35ccd2c317ad396e6e8fffdbc05e0052fcb5c2f9c631054894ede74bc8fe8e5d173a051c5837d27ce5d1e3b18b5713892fdb647033659c46feea0ed65999b1f9062f2e387b74e19e436b11987772f3978f033069aa008a5b9e47f617a498431ee37beb82c284fb1e43a61734a95bdf0b4fa6b3cf4717122c063b4f11174f1b35c2028c5b19b9231977dcd1c2f46a3ec1435094a6752f1a3464a07923e949129af666e1a9b88af4019f6b5227fab59c60649c3a7e6eb194d85fac5bece6e06000df38df389ec11e2575ca030fcb2c9d1610f095afe9c05b22e3c299938f55686ad1e6a7aacf868e0191895da9498e67c8acc2c728f90c5b7dbac18ff4cde5a80ceabce6d229ac6bb683a857448896490073151f4e86986ade4e09c863a5306f95f0550469c980744c0b3cd8d670b0f6e722c97fb8e52afd443f759728dbc01f9811ad3a01b64d17f187780a54f4b3c0aec2a5be2584890dc264d2f4dff8d549887a91bd00574107b2e476109ed25ce5fdf8f71b8527e2768fb9324fdf47044f21e289d0d8e89cc95f86a8509f291603fc993c194ed4da2be944ccf0dd010226a39d75a14414a2ff3192c419d9e109615513092992c78de7702ec55be71e0a0a84c377f0f04c8893430b92f93c61614d091261cb8c1aaee6ee24fabb803781cfa32699057a026e5057aa125b984b2dbb1b33841a92eacefda5fb8c4bcb10b4e20b9632ff50e1bde3bb67058336e94a4edce5341d39ad317c347ad3053de7e7181edf4cdc45d5bb0299dafc014f39a44a2b94de71ae99f1e08ae7a4e312a6ed27a36e418f178ced4264e850bab3bd2df8486afdd377039b3e955b7d8917a8bf3afd379e5b68b71fb672d46a4abd7445385e94e73b369bb997a181eea9b86ba5ad7cb20c82f42dbb80c39592491aab4f94c35a26e4d2d28c43f7faf5632090eb658c6ded2ac9726ae907bc061e850cb49b12c0a7144c5cd651e2859f831d71eb3e880228b7daa2db8c4b94a3e52986326f829062da1c0a9a8175ab1d7d84d700fc86bfae93ea7aec7e213e27e380ba39c0886a69c910fb801926c7a166c8811b38ab6a736000953cd7e808183f8fa567e250cf5450bcab33914eda7435b552e3fa2eeabf853f20a9c806a0a3c00731ba4e91373fdd9c2dbd694e02694e8a68afc013335d57fcf9ca3141236f1403116ec85485b688e0f43f88b8dadd10e1a70e52aa17deded6a4fdb11efdc6748c3545f60ae2997260c84690e120f79a2ac0c8d1d1465c2d897ae21f89377be72098e486495ccd6c3e0b76ce85dc319113c8e541b758a00da9f72c1a36f8af3e1ccc6d33e4e81584f2a1ea2055a9edc733204bce749de40b0d7480bacd91f3afd321e9d26e2a12d286c2ed907ee50e02a0e9204bf7bbed15a861a09d5eb2f5d65a0655a306c4615cd8cb30411971d0ee6193e844e9acbe927c3a16f27f085aff8822afce8b28481d27d7fe2398b900e811153f646c9f3280169c44154dbbe9901da7c6501e539874bec3991d79e5ae48f9259bd8b60ceb01aad718b5d0f620647b0cde7e394c7ef36e251bcd990425b53ba301b54c283e1429b65da0372d3510e68fbbac86e55a0dcf26f31998421a448cd02bfc24a0c91270c5cb58afe927ba41a47042b8b1e521dccff5af03e975d2683db3f6b3582590f50545e6331baa03b516fcc82b27dfaf7e03d17a346596ac055b77030e518c7bf17df034d85f4c976c7e28f39cf928ed42d13b300b6c725d4ac05f1a510fc446fb36af60a0f34a4ec53654568881e06dc2fe9bf77e75a3359f9836b4bc3d10428e406f8f1445ba7761cd6613dffb76202bf045ad0807a4133b4150198aee7e1d0b26c8a465f61bfd5dd347e0dac81f9e936d949c1714032022c83bb2622d296f1099698b16bf28862aabf8144ec5b029a4c741bc6c3db0e0cc4fcf6dd0254ed428fed005be3a08bdcdbac76f39d0e414e6a47a73ca0b3492abba9512c541ac768b55c6a44f89522a39da5e96f70d25b98d0a6294e03c914309872aa9c7b5817ebef60e3a26937a4f35a763b57afb55784f01284b6bee0f5dcdd48c9f7f94a5a401bec44ed02048edaa690694143de3d66b5334e406350a0063dd170a419c8c7381ab46b65cfde52f510a774e25a9b41106522e358f94ec71dd97dee32e6f4224ea1ca9523881d8104d1bcc89fd0137330d71079d605e080e7e203a8398fc0e8d05553854d078750ba7c62daf93f2b2e2639910bdcebd3880eb484ec65255854cb5074581e363cea9a05b5d2755f9fba68e9a4fb05a40991e645e2c9f41d63a99d745f160d6ca86ecc96290dfbda180262734d5d62ba79f1b2e246ba5aebe8968a84c234d74757e2fb055047b7a2b904f183b4b8d381963a4db1b126791a5eb158894356f7095631c66b1b2d0bb63c08075445bc8a4ea434d6fe746c9a8f5d03a55ff3713c032da968ec59880227ca89aa22cf528d2b51f166bd8d5565e8df6d397be6ca060e2d17dce822d3e324b22392ef6dce457e96ccc16bb9e1409578acc4896cd5b874ac6d4b6e0e18325095e055d990b2d8f6e812a4f289cf887ed06ec2e985967b6ecde0b2da3da02114296e59dd410b3274ac9615eca6b510359615cc988f471ad75756d8f6744092afacdc099f8672703342856525fe203d553ad88f4bf046a37ae930057ab62e218d4ae702f31d8d7a91915907b832ac885c568b5eab8b6c1ce15d45a60cebdbdb1fbcd2fd07572286d5f28a423b58a70ed201e0d75094c988c59ab1d469022407f736a64e86d996199172201f502e9a616d4049843c1b184b54a10223a71d7b14f0756122381b50d1cf1d9333845cb1045290cac4fb1f4e7ffa02a3ef8570cb5bf9d217d0c3d383d1b88b33fde0e9157c165044174896f63bccd1985af5ffc50f83e3f242f27d7a9645c72f42ab3c601b779c65b33065a0e2d8238d755fce271d1552598a353625c5c0223c4e8e2364ea997ac528acbeaf778fa34dfed9d84d714ee392ac949186f1cd97ccd456dd52a0711dfa8f6732b4c5131fd6e929ebfb5d84f5d80d33b3522e1f0e8c1ce5d15161223153acd6241f075a67f89362ef73079e1959f852003d1d25c118fd61a474f8f7f7bdc0b61e1b09c0f637c757af42ca6ec8a1b628f61872583f06c1a368a6c66d48add04e9db08f3ef517a31f43cc82179e18780e440c6d0a258bb38fb668369673d2c4b3649e3b4b35b04cc844d719dc25ac52740edaa7228ff2ade24996e103a924af90ecc521fac243974b4eeca760fe2818d964adac45bcf82c54488231ecbc985e2987661eebc192c3e7549e66d7818efa0bd726d6c90f135d1d8bead8a2d0d8330dad47bf0604a237adbe3cc14b97b950cc9c66eaa2e0c454df11506cee5c45f0847f09fc98249f91865f998ac9a4b031ad535c9cd06b5a5f5bb8c5a9a4a0b30970f45353e1f42ad6eb0e27403c13460e419767e64c0d41adf5e9f4f383420c38c023b555b820b836703130e07f0bc5bac0481fe8a57424fd6bdb22bfe332f4f2057feaf53bd0cc4de159cea358c96057cb0ecd8fbf90d5bb49987675a2e5a56fd37999e8456b39d5a73ef7621f795b7c386f0e413fe3931d5bce7a0dacfa76f1511f4c7eb7654261d1bc20f8607d0632549a94ed9196c2f3c89b592407024d1dc8909890ed93de6e3596e39a2bc5f26da92ec8c691dd9f0f47601028eae1e3475114eeba1f919f25cceb8f0c77b856bc37e707cb2186efb040331f6e3a342caf54da6649d1dfc865d118189e24d6d86919d0e2410e99e0ef194560e0877293b914921917cd4e24cb17f6a9c664bd102a590fa00299ed14783efd2ffebebfca12004ce15f66a63d2da3a2441a4e81bbd28e955a629127a52f5164c4316d4bf12dd454222c92362c421834dce552b9b49c8fae2fd031d749a5e640ef228c5b956cae12147fd940f843db1aaa584f77ecade6f5c9017b3793028d42ba5c3933a81888b28abe2a59b223323533e4f6e6588e9c0e7dd2599aff5cb1d722a50bd728cea22f42c8975071c61e276d92fc68efcc738198601642cdf64ba7c34e9cd2da40b93c7eb9cf430b34df66c11a8e6bb9fc13547a59c4381d617306e7b601fe143dcfd5f888164c8a24af3e1326918176ee0c00cb8b632c9fa32821bf280c83ed1ff267690430ffc72dc782868ce4603b46de09a9a4966236e0b850bdeb7d8a44bb62511c0f4e87dbcd2b07f3f08e68012334e151451b2e8ddc085cec598a720703a1ee69738fbd75c2e3ffb3089e56741777dbee48da8145740b14a3497fa6a6ba09fce826eeb402faf9e622e3f6e0b807e62357b9ffb471fbf639a2ec663ae01e5dacfe79faa1c652616af0100a1e968e568226d6be521c969ec5caed68c270b4e614705395ac1c505b567aa1c22d0411baebdd6808e41c3f24a4ba023548cbb1011787d536040ab6c3d948a4628d4fe71f3719c988c21995525008dc23e02cc77cd56c0d3c2db7e2612915736ef487d1822ceefa1a014e9acec38a679cb761c0663affaf60e8918e9162f9d966564de6d31fe2f0443ca4b3b4954013a2805c6f9f908d4af4232bd34de3f1b86183becb93c3036b279781eac83e494f8bcfbf3b7a6f818ee37bcafe25f7176134937d6be47c13e46272f79b1c2d36296f8bec2462c96d7be948a93ea445328aa51f1e54d0059c096bc06b74d3b885edd85cae58d74526d81dd0bb1a7b2c84618928daf8bbb39a21217ac64a280ad689847056d1ab61f6cd27864ab288446d28b4bf0cf374beafe7546b813684cedab710cc7b4413f63b398f659ead79bdc9809f5290d6f6d1aca89d12458f088768799b7d4374e63f642d9eaa1c43482dcf5102320e74c9997744534769b8e650c660c35bc8bc30ee06558cfa2b7b27985e608e0ac034f2b15862e0f787173218c9e9b49e98a531dc29da68ee68ca753ab69dbf41c9e5d046a73320338ac36b70130a9d99d27516c039e5b144cbe342f6211024b729d31ef00968c81eb78f476c288d2807dd20c968490327a66f9b3127c86f01c4b0fbc8ef346fb294409ee9a6b13a28c50e247974709468b61ac62833e5f0f60f2543bac2b68b99d49664e089cb3e016f9acf725a32f97824a415fa831fc6e77df68c624617f247d949a7e11a968f946da44ed8aca67d83e027999578db869d6bffb19b56a0bc22ad11b47f8a7a77abc60467351226444be41287f25460029e2f28e4f702e7947947e8fa60e380a8429e070634219fca8936fd20170f56efb350a3cd396c640b3c66b970d9f238b75124b9d9fbdc2df8112001e7f21146fed0515515b6c0621922fa325f101f156ac1291b0680401d8618886b6ae9be258aeffb396f53343d3099feca17a772d58ef5d6c5412624ba31ee0669cdb217a18baeb0e3ff3628352f55b49edd98d55300a59ba37db9487a41a2b95e2d2e03a59887388edd0b14b9212740a58f7f46c0d6e0aedb3510b3098cb2a46665dc238b7502a60042c5724bc13427164bf2ba8bc0181381112384d0ac2f8807898605f5113f2e80fa3629e58379a2c34d58ac0067ce4bc5457db55c2576cac1b49960bf9ad98a2ac4259d738bc324943877003a672b7ff5e4a436f372036b9e5a7da71fe10cf3926ccd707607a72cea8d16f958d7b83dc7eae8b60a43ef8e9891be00d674ad66159c5201a8f29e315932bb1025513f749d048a562e4afc0ea453b859941a3e0be1ee26c3f008c524520bec9381a51787d19cff28e89c7530d56ca19ef1bafd705cc28289be3ae0d91b0b6ef3e96a90979907ea3d28c1c942bf524a02ef41d41671ae9ed621b878b69a5c6a7d84519991a882211eb8613069ff3cd9f6ecf2c1222c583b99ac64b8e4ba401b07a7730fca147967ce5f286fde261748cd92d77916a64f5784199f75b03a3de150ea6218925f0a44c7252449c76708c4a116e159865754e5a048acf804078b41c5d2c24ea4958094b312cf0e74f62efeaca029e69dab83cbfa336fc24d8a767d9b79a5d1183a1d97f5a750838f7f26e10d0de1ec0bb7f177e9096e1f914d99e003602fc8006b8bb2b72f806fc1a1503eddbbd1c210f57fc3260c042eb4b7db50018490711bd4a2e6a277ccb38bd4af7c32841dbf5910b1c1f2a083b1929eb86245850c1559bd42a14baa267b2b6773c4deb1538cff394e0f358cb9ad16a109969df8a9bf702e137129896446c6d30809e0c178bbb06261f3906c656f5fa0c8787be8a951c4f129ba54455d1392131bfaf825da882494c593af3141c1c51bc1450f57c853dfdb6ede2afc64140e2129d7df1c47161cf6a9f96aa43ca4a52e04d2e8f61573ddd65ebce766408fd0fc7b161d52ea5083688290f4d6633f705bdd4ce81776da29128beed3c09e7273128050116ff47b8233a93db0b6e78560e26c13b3003ed569338f9ba1ab3acb45d79956f9559591966d9cb2d01cb60220207de8937d52effc20edc2e546de9632331df15afc417d6072ebf12c1c0331542f469f2bcfe786c0255c410fd45a6261a8fc4e68deac251c841d2fad0641653c58badedf218e3e454e2c7dfc63e858b3b333c846d974500fa965c0160f24734d0af0dd078034940017ef5c95e28b15e001b7316163a7ed21cfe2276202314cc8ba3f5ac51c7fec5c6e1cdbd930b295edfde018fc40e5274c05c87f5aa358e0ea7e14b974295c2b7f93366f323f4a28bfd0b3fc999a995c44afc87a87c6dc090bd710ac70b9de25625a70e0d264168c1d48ee8f601ffe3a3e99f59fe7ef232ce9ef3842900c444fe4ae9e96d29991c1041300f24394f8ab4d85629a2185b1a5412ba1595a3b7f31bb174276038181cbd5ea2186adc246437d5106c01068eacb5ebd6b8c731d23ffe63c639222021d68713418c77686b2d1729aefeb0fb8c8598d68ced8475ba8e22d6d020f9dc83a149b8d4c106515f9c0575ac31643dcc057152229d04f8e0393e67f18927178cfc6b05455f1993e628376f5c2414299347c4832e0034543264518c86a0c52622a2a5b0c10c1c699171e2ae0aff4c2a33d64e7cd7f73510cff47093fc3d71f55b5c651aba45d76079e038d8f07f91c4c3e56e0b0cc3ce1edbca40087efa7d19e31d60fbb650590cf35e0db780660cd0eacf3150310c7bd73e66603a00294b9b2c9357ead376226fb59e353e098c76397a9f2a2747a3f2837ccde4faac8ef4fec87f9c8359013c25fe4d2d7b10671322bce65eea0800a9b252503c46ad859237ac870a360135152969a526f4ef093dd0571f8e907f0745a000b6621b0df5880b076a206d0e9a4bfebdfe899c294d60e1e27805d7d09bc34323d8f715f87d8b3a77d038531c2071775464c80169a5a2ac111eb9733e7abd22845694290ae8efcf4e767df0b1b0b509ae237a1d6963f398e51f3daee360041654c044c1f9bd39c5da49455df1e3a83de2b231774d16754fc334777d93fc9ad8a03f6960608519a88bb550afefc9c464f50bdae1b95881327b47cd8308f6779415120e74d2ec49be7bb2cfec4a6da7336bd566c41c892faf07b3094408fe7e404f8f28bce8bf17305f3fd90f1b4a07fb974e04a55931cce8bc1a23bc2180b29a9a893d02ff7b30c20a37e92732f72e545542848dead4a678fb0d66d796507a157e18690f7747387f235184ce4d2b904f11096b28f08ba9077146d290b8cf791ea9a311d8280145e77bb3cd4983c256e7e68c8f1f74f800237b66719472c533af493527105708dc0b858bd581304c5104332c4b02b3d56a01188a874d221ec4bd66142c3b8351882515735e2aa25ef21758c46f79cb5fe7d2f450825c7efac5c9560895b6cfcd22de56c127903226ae3173e91b130a87f508a178d8ee7cfb2510d41d7a716e403b0598bf65d68720d9cfd81637a23b3836d5a01f6747a55df4c1072ffa4493dc261d95af9dda3e762bf557e419d5156a84914d904569fc4aab6cc8d192ba70d25cb2f2f651d8944cf65991927c221c48a4215e055bf8aedeb4934bda846e9231c43e3c63eca55aaf5645fd802eeaebaa614a54cec1908246f2442fafcbd22c15f24215ac35b654daa51c08107f53f09d1220bb29eb799a7548ee622950839fa5491de67352178ac00badedd1496e6f10db2d475eae4c5a5f9e0e87288d4540027fc5188a2c4024335786ffd300670065918955f4164f0aca1828486a21095a3a2df19c1a8121f6472edc314a10771f3248595c2858716092c0ad48541ab55b79fe4cc83e1c9b994af19381abc7d7c37d74068d71fd1093fa3aa21c20324692af82a96162332c4830757121846216f2467134d8d5d61c5509e0e8ef8a3438e5134e7987d878c86edc2e533713b305b8afc0b951d11e12cda9a9c277451381a7c89eee7cd006f5b01a5e0704d88162f89b3e086046d961f9a18d459ef968ad41ca46462ceaefe3a8c16a3e5a3749cf262ade4bb29c873868a38017e8b89aded499097899b1a2381d710bdccb64eae783c831eb91b95a56598c689df3609da22984a78057be2547e2b5a6c7d0dbf0e688ff6bc48afaab58133423b6a0c48658448caf23ad840be490ca89f0c3051ad05083e4508021e09f4420b2644a6704aa3404906ca66896d1882f14727a9b58d30d4853fc6e5bf2a3320aa99c5c6d77b4ee6d1c41c2472786f99cc7d93da24d40a51c47bab5f13d3d41efe15f786ed0fff92e4febdba7782828afeec5cddc72f7f99c3a088e8049501da100e52ddd51056ed2b380793ef94d48b52d8212ad1c70603965a97a055c276402d80899a0b8fbcb427b076a2baafab91cd92ba04d81d1966d113ad25223b89f7c8902539eee4b2a89aed8b50d43119c6221db342644b7a460de779872f98b4f45786cc4db4f02fda99b4240dea6783529c11d5fe7cfff2d274a1d6680e28a96c44530f8edefa7814a5a8ce9b8414883688841b2155c70df8b52e9a95e3289ba5a887c6008e2ed3c0df8637ac46459ca4655b4a990c5b3081680a3e26c1e3570e8d4c1edb89540eeda4026e7584b47cc9d386d7f01f936f31f562e5b61acb971ac49936cb011a1b198cc2343ec94f6aca4617ec458578aa34e2017331f47e1767116863916a843352ad65a86023b7f0884773f511725d3ee42160d0cefcd41c043c1d98d63ae54bf595f4a15e82be8324c8eec15cdb799d293c894ed6e48a3a3f324a01f7d2d37b97bca380dbcc4e0dd5f111fdaccb5fd154bc754ec1e82fd990fc9b3a1dd28c2e29519798396f2963db2c39bff43f56572ebbea5790e4504aca11aa1b922e60e6a2bb4a2bc811b992be8436bacd1a5e0b581e581fe9e37f8dcb6c65c4313971fb12616182eab7203fad9e16167ec0fd3470a30d8a0f37f76b22a2ebe00b5c30af29eb2a462150c3cef48b758110d20b246fe21bcc25b76f60ecfe9de89ac2834fa2fa94567ed811f14ef15119176fb1628af47257600994480f8f66f62940167b8787ce41722876455e0fcc777a73075fa21c184bb1ef19a72eb1c5d591294f736bf2567e7e719025c4c2fc940dde3805726741b7a8525e76bbb4cda29f3b51f0faa60197d90f1e85aee52a4d065ddd2a980819d327c3cce136bf73c2a1761a53ae6fef8aa6555ab036c47e2e6b72d9f33338be9240dd68617c69d3fbf85bc5b3210757f30451a2362143964927f12d99e0f799d66a261c395627056246790e55ff55153e7ca2b519b85e5986d4c475dac79019c2655dc0f3bd3b4293f9215cfbb5fa9e3d36cbc4d0f93c5037d0131c8fd65adac6eb5ea4c163c20764b1ddca0c8838fc43bfe56db29a6406190e3e0d5b25ade4f6363091ff664e6b95d79e9207e87527df31e17e6dd2801e70da868e7b2ada0a1a2bf318d32430603899cbf699c6e3edc6774c659759f32864c7d5bb0acb27d3fc3108fdce5ac2fffa613cae24c86c813e17e0f5044f9b68cc3d84bb37d6b40c21ec4952d4b48afe2fe01e06f6ae89360eda0fb07f3b404f8de4e1772bdd41ac0f69719839c7477ee7b91315507148b6f627b026ca764cf47f2d6115e59b288731f6d8f67f9b9487988d212a26939e84ed27f45fed403acdcfa2794afbdd709b00b66ea6f7227a4926a8f4b440eb7e02201b0fc35b10403a330424b61ec95fb4584cc06de181d59f3e24fd805bf7e6480504efd1ba36c7817ef053afe83568f24b83e0a665113721f26466ada533aefcad99b799161bd9265164dd2bcc4113eb1ca836cf911e75b6278f433abf2ad153f136311926de97f4fe0cb06e17ab700aef6682c6e5900c46f9490ac78246fee90b2f2da94b04c21c986b418244d034776068699da27462324ec34018e13692d8438740429a7822101bcb1639beed08655c58b3b47c81673c9f89de03d340be0e2f898767263c7433a36f5c563d2efe646fd2a4c6f160c700832cba1cdb0aa54ccbd11d85046f40aa8a142f0f9b96c1a61fc9980ab86f4df43e2fcaa042560d6283fa87c46fb6d78f40a33da84e49d74df3b09869ac73348d387a7a9e9f46400975ea30a100a7270a8da131dfbfda8ad20589e73cb0bf2a0f8a7b80aeb23f714fbcd6a22b4450488abc0ea5e463ea6d39d41b1b4c4afaddb1856c7a5cc7725683daa67c43cbd2d2d248232a20becc8c807023e9ce45f259c16102c11e26838588603b8419beaf6e2c4c78d1d132ceab154c4ce5829f653a05274851890f1ed098f1e0589ac05b3bf86cd91f3ae87f0420426b2a42283c15da55fd9c3a988e5ed96ad04725834b5e2d35af429c1db321fd904826c96f66fb9ea572161a49700d5d1466e285e97878272cc595a869a34fcde26dda601522080c3a872a514bf594995289c0f059c0788a2cc7594e248e10e92d9ea49040dca42c0a6e78d064020a866ef9d2695b342c62ecf90f02d0d1228d47611ce50d3e0e596b02825948e9811b8e9a6162ba88b156d95ec20c5398496dc8b92082830ce4fb918b544e76a8444df5bbe0a461d02c00dfe01a6b2f704261421b3b839f4c31e521c270972c3ae2c334f69ca8ddc2257ad8bd6b56b159283a910025390025365eafac3c3c26256a704cf02fce6e05d233d74469c45b3c6a17b5f92705befb84249ca2477ceab55e5b2a37a5735b261475e1ea6fb564107814cd2083b6564f7c26723651754024401949f50aa836a46dfcbe237d9db9106a2e4267989caecfd865abe665dfa9a16e1db7750b983fdd96689a47e770cc0ab8a0c91edb3df9a6ae93c8e0767db4cd10e48565521514211667b3447501e330a0dc6afcdf535598165da3f56b343966a04291cf73fa2265f84ee5f067a8d425b39ec58313c2a3784d6054368040dc95ca903bda38dcd432c809c66b961e82c814a1f462314f550147ee4442c6e1ff28ccad5ea5092a4a140b007e9f61c697af6b4da74a0c252b6c17eb4728d3ce8a14e461eaf7260dd6f1523d0f970fac553a84e54c723893b3a51a034f391f2a0f105fafd7129a06236f3aa90e8502e1cb1711fb9152d23c55d378a04db96bbf1d6de41b0dfc2f7754eb58c7e002efbf11a05ab2bf434851f1356cdc249e5004b5cb074b32f6ff5a653557dcd46cf2368d899971599f332ac83b5787b2e1ae8239339d8806592e2d9902a3c526d7d4bde2f6640e48969f38fd79d2bbccfdcea829d6bd90cc47d89f01c0a8ceb5ec4dec87ea331ef591d96c12a7947ed4f4004d1c5c1497a5b5202b831715dcf412b7501a8e3e0ce0ee69fd8acfde4644474a51658fc672c5b2bed0dd7ee0402f50251ebd1eaa96f24ccf076571ef8a1a78fe1e13b6900698b763227784a4b639e1bdc1c20b6c3c418b222873da112b0c2d3110d0a780a0ed9a5a42030926e7d544a1684190fd74501520683ee8efb8036d93f4a11109f1fc89403aee8ecdb14a7d84429dc18cfb6257aaabca6c5789f526f29bf6a47d6edd52149b3701e16b7b6d62af0d753b058425d7a4fd6ee4f22cc671f4d6212c63e65b8711455bb8f90035ba1bb26f36c892c8bfd6c78547fe1105e170aebb8f95a32c978705c76ca07b1b1ed4383425d723acf19195f27b566caf9c35a07add0eafc6d6272d9dc6ec038c4f252313b98c6d9dbf359497b39985125ee8af32d0b0c028920253fabb4dd835c3c7367d4a1a9723f77d8687143284aaeea973aaef4632b2a4a19700f55da88f34192f28d619693797dfa830338faabd952514beedb256d32c6ff05075b7201145b669fb61cc90094d981c4acf169ce83195fa3e34e48637422208f7eb12f48df53d7e2477bf851a0d6e21248ce60eff9ad4beee3a20b10bc6191c4e97379571c895df67d7f8843c560529a937b398dbd1b82322e306c6d520b09a94a38590e60254523489c51ea85bf00d346796480309b10ab007a621721af3828ea686e9efa78f2d7a7748202a9759f46b0ab5c61ab86708434f3b89ed20e51771c2eaa674a57aceba1a752efcf59fbb439962b62d9144782ebb829761fe2d1646b7f5e2d85fa3c4da1f71c4eb4ac685697f534923949baa4ce18638b88a24a044f22a8e02739197190271035b3a8c9ca86cdc4b645f985ded2ee24ef6082ca703ea507deeb53a05342c1111227ae3e40d1aeb6e877e9682e78fa67cacc5e63bc3ba7a0ede7afd41ca004f9536312852c6d38958644275e38faa4802f9e52817288d0a1d15a312f72886cecff9282b102824e0a01b785535826e7117fd5cfd3a40a1366598b82ba437550eb63d19c36b3591863f05c4493f6a69b41bda710ab0e2780ccd5538f8055ae2ebca24717b2470c941254a9fead097a96affa2f9649481a170907bdd8cf3447d7da65c9304de35a97a581866664b72cda11e30412ea0647dae7b187ebc84a81b43e17e1cc3b73b26c4b40481fc7070588d2c0cd195fd7bbaf2c0ae6fc6e43f95b36d82a303c0a7ced28560f79fd1b83f894e61a50bf6b9ca66aeacb888a2e44256b09887499865da98cb75fe45de2b1913e433c1a145548f577056d6a5946b41851219d988c91ed0f27b19d425704a72d75fe2dc02ed5eee12499b516fec1d929d5935f0d7ca86d69a9a5bc5e01218f93613e198801c5da565a0843174e11d26cba8cc15923c1187029864892de85966223ffbe819229b01d021c067513b69e8c7e9dede9782a42ef8b3c27165dccb339949950136627a9b62997e4e250d4b6df85e750bed43c21df441bccd4a1c840f547a9882d29c7eeff23006c7f3fc7802876ab7eba58636b55df79d13855d8bb7bd599b686e9a6b3970dba7a7f2ab7f98adb2f974aa7d0f2ad8e31da6ae6b7a178268e44d887e8bfd73346811d507e2dd2be4f4284956460a4b060e9c81442efb2fa5a2d9fcd1086b1ccd992971064ae72871a04665ca8938487f22ff506fdea094a345b4cd99c05e8a2d411cb34f4ec42371dfa4cfbefee0be3b5bbce810b253ed7d354fbfbcea13dc450b693b664ba9e884099a3ab2ce4306e7dd3712d452cdf6ad8dd72d278faedef7049affef8be126feb410a9bf904ec2a51a341cff7ec56874070a20b4e0d583e82b774c6fb18ff347bc6c0d26532755d044d397d103419cd32674c0c731f2839467498020756c8feb4bd086085b7e5a2807fe4ee95a7c7a4b4ad60caf23a333276b637a7f19b445ad3f21a11c08700a4e982ed79c24e46753e2a209085e7318bf1f4eb7e3478c99b279841229058da5d0a30151a52e97205926d3d9fbb1fcd84e7d9085d9efc8b23f57d759ecd06929e7f6eb445722f2d69a9c4fc0cb6b287f075cd99a5b54e341427ab39571e80052a6cc9605451edf0e6d294f74f57c79858961c2cf892c34e483f5673512715decf64eb8082afc498ce199423f074b0a7bbf6ea3ec332e16b429434c7b252b7a3c77da2771eab4ae352c946b3f5e78ba5969c6f9f1139aff668647f94179970b4e2b86c53165e29d84ac0103a442274456d404793a02213580435825d55ceb2e0efe3b472c636c745df307fbf0f282451712da50da1f59632c764041e70162187fcfbb6e5a2c53127cbaf89d418816d58016f606d8ea16ac6ebb78ba3fa57033d402485dffacaf9d163e320aa0dad98e6e1db7371cc03578657d83f411f3561aabd32ababa53606c47169302b836617aba2a76b39069a02fcb9da0adc5f2b3b2b1bfb7734a991956f91ce25af537cbaeb0b667badf4a82253f712e44e230b665e6d58319d0c934f3cba77adf09dfcfcafd78820a280c0b333ea3172a9ef028d1e37da9253283505780caf9a75f82529cc15a209234e08e34cc297c5b208866f5e743b2960e2661aa4dac1f68647f3344032d4248787289daac2bd7c74b4d1f47f9535c722e23cf696ffa73a047aa953f3a9faddaf80242c7caafcc15914c47318480587241a90aadd5e32eea6429711ece5141e2cf5146c5e75e93172563f19ecaff3259728dfe8fc575310260ecd516b3212a377660f0e2b63874fa988bea4893509e64b41b0402c0c365789d752335b8017f2053650969bfab29741ccb486d8e261c9c44e3b16cbdae3d0c895307ff64961933b4da6016191b551207084634c65a0c196ecf4173a70f54022750f37f91439d26305f15409240254b856ad7d807fc9d51ccba255fcd722cf84681e014ac25667501e63d8d3aba029a4aeea158a5b863210b3eb16ea219e85a4d3023fa9bca482d9b4dc92e3cc2c9dea4edf86ca27e430928035ffa805686cf044b93f6b88cb89a0c5df9743be39390ddeb95353cd0c2d02d2c61ad8947fb2c664f87130a64a186437a4959e6d9a8d7eef34a0bddee9b061230f1fa47ae690f5494fd2cc4fe445e02b0094616a365492338dd9ea2e5b7e821cab083c14fa23206c7f838b171705829134b40a6f656d0fce4175e274b46f7b6ecc94f8b037ff3dc7363ed83f4e7c0b4ee0f9636f5783f974741c7a65032d333061f6d3532e39dddf2b40137508c906942ba251388b6dd1f1223a50d7567a2dbdd3e915f6370fc1a9f0b863f101c13958a0546c88c0b91bdb07536b815b1d333e982c5997e86d5cb11f6a1a73c11d768de4ea49f7ef4be5281220febf6cee7ba5cfd92b006e0a6be54cfa26c4690c2b0923c57310da16f825e58a876a0f6f9d1c212bd5e58a6b624ea1749937c3a38f711bf94686195757740159c24baec492d2c232bbe6082e7f957895561203c6a61dd1555dd3a829fad52d0fb0387ae1a314e40990d78865e414f5b24cf8a43c4087ab5ecd1bfc6fbbe7d3387fe0a00745c1b7c8ce69a57d590e6136bc65c8ba194009b546887ab05163d241f5c0b4aaf6d346042a08836b45f7f57174613828f48f0ee163f8b1fc7cf6683a83421ac798d1eed69bae1c5223ffc6df6f9b9bc33a100c45a0910876478c157ba400c21203497955bca0d0b3da0623853bcb02039e774759e7c18ce232ff86ab0d7589043eb5482585a2f017c87f7a4494d1ed7d4aac66b0956e6c4b4750bba99dc20630dfe23a8c121f883cbed7d46642d1bf92628d8d3c09eafb0a4bc431a9da5664ddb9da69a972864eb613221efff9167a04b9b0145c30424bdb997ba0af9ef431cf91387d23bb394dd0453c46d02615cf459d108e0a5d4631287f3468bb8262a8840373e227ca4556c12116ead939f0498237025e3460135f3631030ce2bd9fca35c390bd5df08f24f764b99ec8e88d685942defdfb0fb88587c8366b3f51e074f4eeda3c62cbcab0ecd3c997e99e2923afc2e9ce3cebe069e4bd227feee2aaea72d73d3f15250344f0e2a90103feaabd076204e2a02f704ffd31db75830d29f292e47d99b821c76d34058dacab65df247ea69594e1e8f501756999dfa47513988c19abf7e519390e12e57b0eaff9b69bb839532ad29efb221ed50adc560373f62e6df347ef9e111b80512a6f8a4de0d363b4c3b4f77a5cbae488069dd65ed38df692030eeabef31c94cb6546f6577d905f765f79cd09e71113769fa36b27109fe583b753fef7167570dcff88a759ecc8c12815f56d52b961e13e81cab35a0be9b8e651aa6a69824fec988c182c76a3f328bc6a54f26f82725ed03bf03da2933fe1373525ae1cdc44ae6285e81a1de31bc8ea6098ef8c9ec73e0593b887f225356d0fdac979501e79c5aade914c1118dd4da9505e70726b34f27f86fb3e64da04d0882120c8aebd07fb54738cf7c96678c31cae27cd81afc4aa67293421d8e3cbd60251ec2fb044f51a7e161d7fcf9f797cc5e08c21763a30722ac944934761b1dc65a2684073b0839dd10fe25a717e8a09fb8eb919acd3f78f660dabba915381a4ebef85bd94940fa9345cb1969bcdbd7e431175ac69405400e607e0188bda382a60e8cab030314dbc6a09a81a361e34e8d1c9abbb95b295f238dcca30babddfba448b3ff97fabe8b705a947345d27b11fc51671835110f77bd18e7e1dbe4500139e53e572fa6d1968988a8830f21f2f9d9820f1a7a0e56b4cab3504bb912d11531bda2d1d7e4d9662a6953c6f73b9dba95454b2d80f0eb0a6b51f86e61a96d10f438084ae508a04e96b5e06fe32a8b07c6d40106e722a3aa98aaeab4121a7ff6c2d392d59b0b5b95ec2246d1835eb1bbd808d45d81bd4db28595c00d02d9203419de2d9a9fd4f5e604641c5645bbc51813f2345fbbe857ec90856ba8a5ad9781fe6e26aad4ce13cf886852392b2695cd88885321abe692d0180a447f3bc601d7ce0c3f3bd7b8fc93535ba8617eef0fe2c2b2e04bad05f5e34cfdb8f6c88c7370201591e5614462dcb6479e912b9302433315f04afc0f41498ec164b5101f54e089643cb2c9a6baa91a469e9ea7ebca4d38e0b5c0e1c30c33b0e04a403f6ce356713c74dd571e30abf6f8f6a99bc20ab6027811b66234cbc93615df5e2007fdf8c86f1979369c51b69aa8d03f2333f508f5148387dc84601ec3ca0f530815fb2f50918bc443c74a5356682f4d222dd21d2161c84d63bbffe3a3e294c82b1693ca267013580d1abafe07a8b741c856f5bde5bd58ba260536740e3dc587d28a924258541f9c1ba80bb9b3e7185db99d6f031e3011ef3b004d22d386229222896a3743695101c496552f63fdb935c0862bdd521e3d351dc941926407c8cbc43c208dcc558e603a320e4c78a3795556cdbbc3243f4273578bc6c4910d082053617137c04c55808a3db287c90d1d4ed56988e2c6dd07b6a947b4b70223688422ab454f14f577c1e2cd84518c4eec4505c110048eda9670e1c3c61da7225e29cee8fc8e977a46b530e01866f700d7e844cf0db2a5944e443d82862d3ad0e7c45c3c9ef47c88628af096e937ec3d2145045d11d1e201ba70056555243fa14c428647d44d30489316e3a2778842d4d1b65eec45bfba95d827f0995ce409c3a4fede64d9d4c7955c573ff947d98a7c54e6440a224da4296b7d1584eb1021e62a152f706c1429fc10a2839890ea669822a19e6c8976fcd30eb741abaca26c4205e2970ad56b0462e53e013b18784a2e84dbc0c6553987316d9bf2fc77e0b75e6270226f6cfc467e4917f59503ec78f6b919301eaf2254c3e3582508c4a0394296f768b5a3e6c4db8b91fd3ff1d350f78110827e42069f2c42e8f72eb7d494f22809e05cccdc23950c82d84190f96b8c6b7024308cfc3739a69b24ed7a81839ab2d9fc86c11781cf8036cd105bdeefd6e6723296092dcb264e3af0f9690401541e127585c0ba1f38ecc371100af98908a702948d1630a9205b7b72417dc23071eaaf2d524bbdf0d83b3827bd67bd3ab7e090185ea0ff5782751a68a30fbee67ee2155ff7cd059b3a2a973d1dbb05b24a616e0b60f0a088babd060921e98443c50b5f62fe871816dae006bdb443aadd213f12fbda47e19810fa283837d601311e510438a2382d21810c678413c45532db4a09552e17b62737b0690afb538219e20f871ffd874ae2fdaf227ed71e14b1bab9f99b91c77db5e462006014145adf80cbdf90f6958f3681162177d538ce947a6bc196de3c2b8fc682f6a879f7dde7e839d5d9617d74e8cdff9f02474eec85bcf27ee7d7dc4406b124f4b0a48cc114ffe89bf36d6ee0b12407a8cccb6c4e4cb0527402ef6f83504893093223ed8e98368907a6643cafeabd9a6fcde77644787cd4608eaa1b8f94aaf5bfd08589348780caaa21186bef9cc4a8f63ffde3126ceca49abcedf83cf2acf79249ff307a478f339ddb5d4f56c857e6fc3919e65cd2703ecf349ea613a054a42d19a50b9c4ac900141ab3c051f49c22cd6870e8b1d838e3433963c0505d5bdb6500e003c8a0f08c6afa58bf92592c53a9a7abe155d810b67d8fd452a15e954323a6b068420a0dae47e31e8abbe3d775bf7728602d698ee61f816cb643c631d1b25d61187038b175309e9a7c19a782fbc61d5a769a3fa3562f949c24ce7dfa615b57bb1b55fd681002f238e0cd5cd411ac253fe7e20ba8c2a3a191a470b92e214c9be9421d2d831e0cb21e310c4730000b46df05a40f5969ac3ccf64c6c4d61d96834e5e422df910d59089df253341593c3a49751f01bb36957067e6ce879b987d35cba53b3f918d9cd7ed4e101cde64419aa72d7e26eaa403bdf60c9de8d0488d0a50134d10f35187b401db2e01294d8989dc70a7740a06a834705ee06313c86d874bc7224c22cd3db48eb5bafec672854d53b214a849c75b809e56e317e4146edc064966ca20a929d20cfa874a43fc5cb8680a367aa0604020a3fb00d60cb788904ed83faaf2ac79d7fdbe313a472791724d93f3a6ac3995699eca84ae0705c030a98024c108791d1d1ac4a193b70439daad6ed1b4f2fb67e4e039c0807b672d771cc41ad9be5b7a8ab5dafbe24eb5437a953fcaa618751ee459c0e887eb39c1b7e84f73a800389b66c61920a0bf08644d8b53b8653470bc89899b122f546ef02e54deeeb1d39ff84c8974ea5b7999f8666d7c3ea97ee45ef0db7bd8d9dabc9aef5c79292536f90a1473bfe929d05446c904b28bae65fb7d74c0480a8ea3a17ae673d3423a3a4dd142afa8afdd637890094ffcee5aa4a1932c33cc638f35cc51d2bbc6f0176867c9d18d835bfc34483c8e2c3925f4d587105d0874267c92df9f33cc919744a5e4c615e8b870456cd33d0a157768f1d12b4080ede57ef01138664e3a00eb69fee644cf81bfeab6f4d3f18ae0e6ef14faf265c90280778ad2256d322c09d7f53a2d8941abe6bdf7cf53b87d2b5ec9c52d5c9b5eb6293dc2976b778f5f17502614c226b3e23007c604d50d80116c3e1c8ba21ef582af910348f05fb98eb4f05a169fff7c259610c13846842bd8f663ef920e4988b7f48457f92c6d0ab0ea4727c48a26509ea21f51af21ef3dc54651a01fd9e22ea4ced32fb2acef5f543dd030a49806849aa8f34c5005de56db6a60c85fdc0ab8c67157347437625e42e15ff4d35bb09371d126d46d26bf56d329ae62a5a68c88022030e63d1c71be91570474c3ae8f581cb153b3914d505304c51f8bd206c0c5cc04036a02badb4f88d29c19185b969a3cf1bd752e9dfc4c2ec4f625def68975616bd142826079d930141f05e51c95a994ac6b14ee7316eb49c573cd4ae9785646c884e27a7dbfb1fe19c257b7292a0764d796724ae52102fc60bf7eb67f0038b216dba519015e81fe021d2cecb465b98a0102f8173b2495117e378586c1c1044da17b2328d8024dcb9dc9644e1c4df40969433046c1cd126f810a29940a8a55502c344c958f5c2470156d5307357811d5d4a4b125367bbc30e072c476b5b33bbd27f37932faad97469adc44033a6afe7c5a30903a4e0756f3568dd38948fa47cbd3de08f6ba7c2bddabcddfa22085478973a2f7e535bdbf84923fec05710318c8c39b38aec654152a5481586c35ee05034bc689b56a6098dc03ef95b57952037e9386f6de7bcb2da54c49a69e07d907d10797530b08928500445110caaccabc2033ba6e17b9ca59b382e045063e748192831e7298bdc42c034ca742d0891a858a40bc701d082094160495d89d1a0d82c2b8733e15287766093235206ce82c87c1b0b4caa704ddb9c49d5f3b7b73d2f13b501fe80471e783d0a9d8c29defc3014026208205862071e713e9143371e797e001137070e78fa053db9d4f0213a09074e71fe99477878058b8f39574ea03d60a1700ad22eefcd8a4537e79c8871adcf9d149f4993f3f777e9432876650e6ce8f41f30729eefc6865f250900db0ebadd69c7376ca474f6008189a80598d8aadd8e3ad2ec09416aeb73ac59a37d86983f58eb09e11b0ebb104e8407fa42cd1781d57a2f13a6e55a3a82ee7f20216c000455774125dd1a5830da3d1dc12eac8cedd85b8e303ad5e919d6386ad27fb27d46f5ba2cb67082c2da67380691b2edb96cb3b5de70569d2a3c1a24160fb90f65cff70963143274d4928121d4522f9352b857f512590c6eb50377ac7759c4e7f5fed920ae984b91785f57a4485e00d6bec5217f5719504d25bcc896f73630ef04694c63ce27335c618e700103ac77598875bb161349ab04eb96783f5d7c978a2833cc49f73a2ba3dc6b2a1bd42d2b0f46e5e6cc847609ca0c78c44e6d1df4f856b903d878736a151c186f5c6a126bef20e9230c98de011bf9279c4972aa8704bd9158b23c9c4c042d22a322182051714567081ad3a062b3c88ad545804c1569c77fd29f1814509a1550a92869f157708218f0a891c92561c17eb04175f84b854a1c2111701c1e415abb002056be1c11647110a9931b01557625741206905a4157f8d3fda236353e828a39021c930f1438fb2266ef098d1e0f6f6f0749b7adf425dd58fa51b03109921a0e9b8fe13547987fbf83778a7b3f9d26ba615e29955f6ec1f966efb10cc802038847e9bcf996006f4973e57824380318f7e318f9fa0f8839d7ed06df795f761012e17853520907df8e18e7b8305c03b34cf9f801efc836b0868bfeabe29de73df94d2d77cee04e7f4dbcf8ba82bcf6bd555a9f4fdf5eb59219e59d56fa1aeb477a2ee07f79dfdf69e8521907d7f75d8e7449f7f2ef4f915eed19f3133600343878243e8d7be965d65cf5ef640ba555719f8853937fecc72e37b111c80973b1153983c318538697d41fb9a08ae1f6039c6d8a90663127783b91bda6b6f4e3a604f94813dd1a4d69ac91a44adb596e1c3ad655099f2646f9638baa1fd8c63fc2e82e11199c572bbc7628c31c6eeee18636c96e51d29a5d49807cbab045054c247e37a72e1c436a2003523a511055ee8482598d93b75bcb136d22ee5aa1d9dd379b6a3731c945c597a3373d4640ea69bde4d36ef5e90d2d74cc7ef407d606b52cc837b8ee3b85b4149425feee639f634c083c38b09991a9aa0d2458b95e9eb77039a3e4e725f1f88d7cf3e87537a1bb006bc2981b6fb6219c575973be27db293dcfa286e8b4a6efdf85a05259f2c0a6c8dd32d3fe7646e67afb1bb469d1ad09f27c8c820cd5efe3072a4defec860288f4423f171b851b024ccd0d7419f298d9e90f9f26514367c9d182ffd1d39bcc33d7d1ebca33d45d11428a71589b76a958b55ab1f81cb7508e4e26ccff704ed2b4802046ed5eaf3247139c6c1c940bef2c6cb30dacc5e779973a47f9173a476650a6edc9e3dde3c8f9bb53b9dfe6f30e956abb53446d0ac6316f3d08632afd62ef6b0a26a97fba6593e588d4ae99c3e9dac05e34f74f2135dcdf2ceb610fcd5b6df3470e366add6ce1d38d9a3c4c6269d07c2fda0592cff60479f7efe51288e05a92afda8cf1f5fd5719489ec876ce4137f543046c9c0283ef1c7394dc743954aa5db7ddc4743f391a664ad9d378b598cd99a9a9a4f26e1905040aaa9e96a6a3c213d3bad874aa63df7f550a96fad0925a3128c58342150605e308bdb6f633279224421ed059982120106c47473f3375fbcf1c755b1c8733afe6830b147bf56b3c81df53498f8a399708ffe159847dfb0c150605e079b55838d1f768dce7355f51c1f56b33aa7bf7b5a158bbacb8af1a7a82809db298fc6eb386ff334af7a5e46bde949cf3dcf6b2f72a0633285e6714a0031dd938c2460170197879298e1e5910e8f3878027dff064fb88004257824de9e2fe7fcbaac06164788bb04713a7e7f6d141876c73e43c621977ead150cbf50e7b2cb77f95a3dd5afa8e999ce952e9d49c963ec1eb120ddfe9673cae79a8127c8cf9e32b14cec09b2a2f95c0d5607fd5961b061e927476cf9557636907c0ac73b425b95ad4a111b111b6b636d2ced8c76661b62abb2096d456c446c436c2cedcc6665636d56b6d7f6da589b105cb7d1600bc28637db6babd21c736744885f197bc417522f37eaa6515da36294122fcb22488af8993b82763907103e555caa9a71663b5232b63168684f3da54b29a594924e704a29ff3225c372eede9981458b94522e216595285cff98e4ba8332284628c67ce172688cf40e7821a5cb0e7821bd035eb81c1a23bd035e38b3942ec748ef403599c2705c493ba39dd1ce4c61e61863eceede74b0a19c34ab19cd388adb2a11624e7fac405475918a241b9da85b7bd33838372f48bdb326a9d7a340776bab8a76c64a210209acea5855742c57d516ebb67ca27a537c784eff06860faeb33513041d1d8fa6c6467e8042596bad7b6d79101dd98ecc7bce76da197bd33513d5d63db988a4cb85032b9db892581b1b1b1b2fc88c517eaca654380c0e994f410df06a6ec9529485e8e4c5f29096a12c312d598a6e78d241a459ab6c84f90e863e2503e5770212bffca6cb1e0906b80c4e51814c496f3f73a67fb09178f9cc99957c203d9ff9487320022b09b2e77897c171c7c8ccdc6da42f4749029f3973a4237019647732a9b05b6411961bb0fc48b1c5b0c0200c23368dc5ea614b134d305167d0ca582e8e08008b0b2bf2e7e84b173b32c3fcdeebd5c3364474258b64824af6dc1d158e1ca8d5a020474b01ed38225203238730bf123a90fb12f873b06c114eaacf479767c5b3eae7c2d8a3bdede19e3d67c371c616e1a47bc42f7d5e312b20e4b95352c0b9ed0b4fb7a9fca847020334bf527ea67d549034f5e9eed2a3a920924e2193538b0e1cbb8a0a7d26224390b29d4864b158158c9c235370dba9c829659c524afa95d0a252c4c73de188dfec519767559f636f04edc1afa77e0b548af8b847fcce675640bc2c85f0dcfe7a53902498eef430e0f7fad3fa514192b97b9d341988a4efa44fe553975192e0621c61b2405ecf24edd123787bfe9d44d234fb6e1e1a1b0b1729921e41b258378246b2ef11c10a2a91730909f36d30e6faf35cf784f0f8cdba46d237f34690f5bd0bf064d1614859b6933a6d944d1836fbd0d2771d212c48c981c38cf5772f088d7c79c0256954ccd88c94cc47222b669964664a29837cf2f6efdee1530b929c9473a6cd093624720a5157e68ab962ae2cf6a2b157ec8b18cd5cd495c55e34f68a1d1173b9b0b85c2e571797cf8fcb05e48ac56231da2e57cc1573c55e51caeba75ddeaec83ce6e671f567fde6f54bbfe69cf9d9766d4e60afd68c9a4f5770db8904dbd5636394e8437d76e4793bd94eda6523cce5a2aecce58ab962aed82b8bbd68ec1573212627adda9601c51f1a18835eaf1a04f4bad9e74347ce6d7b69af1a54b2d6ce1b7bc55e63826aad15c9d6d4d46c9f8c2c2e2949528c863ac6f5c4b56975ab9bf6b157ec35268804a59809b1766934730181150c8a4989d18003d713979c3a610c112128262546c318d713979cf1e5aa180b8a3f7accf6d25e35e84f4ea62b16654cfcd13204ddfe2da6c568a8635c4f5c4164e50ae472b99cb42ac632177565b1178dbd6248c4902425c016118b955fdcd05691c1134dc49ae00225d3e2f667429e33bdc8849c7370f62ce3fbcc62740739570d5c3f4733dfa9274b14a3d4ba95b5a4ffe4f06979d6f2d3c9daac751b04c1f58f209d3c54e89c2d6928c8457409ce23f218d8d87576ff6c50320f263a07fd022f9a30820b2a8cd80115bba161c56647636c8d171876b03645c41f6cad3205c7f5d0c57382cb1c53050d12543461e337bd02d5dd9c2335e594fef31dbc31a5d8a8dc0b557640d8f8ccccdc9a4ecd660b2cd54ad28b725aebbc68352af3e06fead9c0c66f66666e8f338373286810ab8cd1758ab078ad07bb5c89777c01c3145ac658f1db316c4f716f4ca1832f9a40430657aaac4287b1d88a259e3801cae275c30eabe8607847de13a0ee09a7a29b3044b1467b66a0c31c4b14dbd3aafe61b15833ace27b5738e557ae7847dc7e2fc8b3e209f10e77b9fd9e4f7b3fb7ad0774fbbb587f77d429c6d2df25758abfdc7e8fe52a00ecc088a02b5918318612ab7eafd5a996e2f67bae4ef57b4e3a7505a75c071dc0dcfe6e4bc7a553cc3bdd11ad72a0aed52997ab9c0cab8b1dbec850040cabfecea753bc0357d91e7228238d2a7ae80195557f07d4a98ee2f6772f236e7f67a555dbaa9f3b83537e83df70e3733efddc4f3f07d4cfbdfa39a17e0ee62a9e18ac18c221c88c9e2a5eb0ea86e2f673455c5ac5adfab9315c994e31ef7015adcbdaae70aac3e8308eb8fd1bac7f23ea147771fbb7a2fecd4805518840a3c90b3c3ca1c3aa7f3bea546fb95b992dc88a10eff014b737a0dbbffdb8aa913c47c8555d54a4c18a8c7847dbb245f171d229af7f6b251d7169529d74ca877772bcfaab507f85b98ae7871eb29471c5cf991950b1eaaf449dea276e7f2deac956fd750c5212efa06ebfc6ead75a9d8aac7ecda75ffb71154f8f19336a304314508430b36a2db75f7b75aa5fb3d2a9d2edcf925cd54241991521dec171fb33587f46d4a9aca8b398ab545a5888d2822eacd0e18a5567e9cfca746a7355fffcd02dcc3ba7a4acd5299790abba456194684c9999c43b375a3e9d62a0573f9d46ae8a484831a41b6793e9a453cc3b36c46805dc3601071caaa02105112e9061d544a92cc955d188355b29bf69de7246a90a1769d420862cad553b81e4a526c260f207d6ef5bdab9b811efd4662e6e2391f1fa820592d19933dd0414b7b71b8160ceead7a2df7d78a820f52087257a80911162d5cdc4edf757cb31ad8a2c5699dbdf46ae8aae185d47b7bf8136c0021231fc60454b15a1553351171571dbc6064e9580511c4613577ffbf00ebddd42c1731a70e3154e3520c2188d26c06d1a7080c50b1731c81cb1ea8f479d6a2c48653a559398a862a653d5ca6d203e1de094c6a8f8ad81d16e3718b7df040bfcbf97d0646ebfed3f7d4436e89034850f40dca0876ebf4e3f083b589a2bb6915ce5300ac67a2975c0a594be8f4e694f7f02ad922bfa432a8bb9dadf38114c53c2862d41e00284e9cadf813ae9e0d273804bdf94e22e33b8dadb7841b41a2f889c623918c49f2bd859830d2392276161afff0e94537fd6721970e590193db8b201570e25117125fd128d17c43b196c1857b05d50fcee078b026873e79f74ccdf81d201a1ca19f5ce17c102444a986fc27c12740a841716aea79544c97c31b9da4bed3d2f8856eb775e90fa802a4ba8aab010422430c46221f25611bbb1a851b13f3037462e36b07fc3d3f586b097fe984f9fd2ef2c58bf1a50d8ce48fd2229b0eea6cdcfc8117ba505b2e9d50437b7595b734dc43f9dbe3b3a91944afa726a9ae66074451f2951aa885561145ba1a5b40ccb1a212b9861e20c3097c6160837b43e2e2e5b6e185b5cb0449f28dc0b6c14d6c8117b9d0619b847fcb076b13c4485941bbaab496b0a587497468598eb548071d23f5298678c77ceef2944fea5eee148b277ce1a67580986fef52918ba4757a3b4d71e487b934e79ab531ae8d580bb1a212c386162b7e7b4166ccbbbc1e2708066493fcdf36a7bf64af09e570de210e1bebf412538fefdbce2401c078770df3dd380d16593830d630bc87d3c273ef7b9cb7322dd62ff86f67a57ec9c39f0a7eeee0e5224f56661b3b267b9cb05d685e4aafe0cf8aa41469abf7dd9174a70322bc967a551dcc5e7baab8bebc68f4d5a15a34b63d1afbe16afc65a2481e7c878ebe73cb75e6e54942bc1248d6276278d8a5186930d3ad818a3fbb82b8a6195f0acfa43770de126f6356d48e17807977de7f14efc1cbec55adba87afb6b7f768cfdae519d6a706ad6eaf8ee8c45f99827eda47d7c75748afbff40a7b54fd228867efdbc7bae037144e0dbbd10beddf35cedeb2f4c12c6cb7df7e148b2756edcc773fb3be27703630be803f10a32e778cc233ec3c8e038fefafdddda86c18f63771b71dc86838d8f6a14bff46ee94169afd98683edee9636c48e53463ae593d92e638cde16f34c882332c3117158382c663827b88e6b8263c286371c16ae851a33e6cec0db937f7cecd12fab8c4d9c7cfc115fe01efd5260601eb1e5d5c0dead79638b79d4c0b5609de78c5eb8a3d55b12b125a544aa497051a58b221ed0b0f3f250d14f91cf0ed407bf430aa01bbe0e19364bb54e860bf941a1c5ed6e2b4350ec008305d2e5654f52fcd0696fe6991bda07e27425c94c1439b8e1fb10051825ac5114453b501f9c86887a8882b5c2ebcee718556b686142d3bedaa32c25f14ef7365819ee64fbc22d2579b7d34c895f2590e7d81bcae951e0c695408d9a1f41f933bf585ec50fab4ff57155d7baa8f8954a4925285877be05b2d2aa1a45b667cbd19d4eeeb42c9f3b2392eb86f6e7ce22286270431b74a7bd6149fa4fa7665842baf367dce1562935e84e24de89252457b5ba26adea9a74cefcd971ddfcc286a5a45252a758bce33fab0f933b1dac3edd1976ca9f960c6c58ea5a779692ee94a8f9f3eb7552e78dd756859b3fe445ccdd9e56aedd3dcb326fcb240c321fdef73ba05327d0dfbe9f464f887cd7b2ac7a34a35996795fc8bd96699bb671967ed67b6e5498bdf6d9e37080bffb0e5cb20a2be5c023f26eb57132b0aeba29ac08402a0c0312ec32fa0537bfd65a996a3436c4d6e9c4ede854f8b4d6aeb56aac55fada5784815425516c648165ac7fc8495ce55aaba6c94ac11085ab3d90ae1f8327d4cfb2af5ff69cc6e9a86a3eacd7f4261318da78cef4e97c59166bfa10f501a853f3ecd930558f02d95750495cc98f40a6cf7e61bc56724a4cb08245012441a3e42be914fd9af77ab036df37be3f09ef74bce397c6699c2685e3f48c1262fa227c06b4f135def4d530d530994c366c7c8d672f488ee76a3cd7f81a366a7c8eaf08dbd0a981c3041e91f7f49a87810bd8df1e48e3f8e43d7d38246cf6b7e7cb01ef6f802628990fc4739a656bd87ce8e306b101a2ec15963f49a76e346b646bd480a5bff9b8adab9fa952d0f4d97c355f032e9940dc7e7ce5774a62f2e1f813e0a70a116b25bfec2bb77d370a89bc1a78420541ba9db1f407156e185bae0252efe9e48306616bf3b476d384868c0848ba3c4856fbd55c2122980bc8de2da9d484e6d26f43f29c8cc2847c5a9501bdb29f57a9c99c34a394d22cab5aadb5ca9edbafb5b616c7a2541a618d6c666c9801e970d0bb594b4a297fc0489a8ea6a331bafd9d3784a6c8733633666cc8b1b6246776241bf8338123e9d0beb88a9fe9b22399b93fd3658b7ebc8a9fcda549472ca4eb2ed675108719eb40fd5b321f29a5675996519feeddacb634e3e4b2a2268d6af792abd47281071b967c5a402ef8746a46e994fce9d494325d8853026d49cc3b3a32ae34a597ec1a430449099222454a142951a23c11e509274f38992c4dab199db26674ca24cc744acade61877bcde89435a353ca29a7f4516443463242ea960021054a24013987bd39e998b227f6b83c54b4e5da5c1ed282845442226f17630b8524269060480940446854bf571d1f8d6a9ddb1f811d92f0214a981d5c486325c1f706e30269ff0c30850656a6c4a8e842a5c3f04097d8cbc5031dbc10ea234fcb0e8260c1063110e1c2aac1c88117ad2d608044113d70c1aabf18a387ca173a40994244d45edc0e73c575d442e2c9144aac5a0c8f0d428c51010d1d80b1410cabeee2b2154e585103161a2411a685557f924e35172708d302190c4d11c20c1656dd5bdc06d2d18c48040fb189588566c08943d6020585912225cc0d1cc6d5821bed441816c200b3033061b8e0a68aedc22c61bb297ac02841069819740d60721003a60565d82e8d202c47e606587c71e35b2cb0d82210d6264bdc624d4468b1382e0f61910312583c8931b0379787b0607286f5caa8603d30cab0362e0f7d9942065be3f2d0972366f0a5ca95199d37271d4351b086bee4f045cae6021dd84907ea832a62373c6929ba613de9407d803344b256dad3cf3ffb46a02fbf7e3dadbad234b0befce603f18ac2a559461900c665700a0e7d250c5ba940be0aa64c496f9006345ea944236bac8dcd2cc2fdd451f70e0733f376c3c6e9a4b94b1cccccec5547179b18691c7f0e005d7441fc01804ef65879dd03e01e03f7e92095df112100f9473fbff318482985a4fcb81adcea0c00ec1d0320c00e2f08bfbb130027078ed30d1b356e4c363556c701980cf1c255f88018234c269d7482313f5ec515b855fd7078d5abed0b1bdf572944a793ce30eeee1810d39e06d7a9f852bab5f6a65522586b7168c0d8e85246107474a22a8a40c6fa54431a5d088949824c98188ce13a38d5d08016be3cd102064668e959c9315796d15343fb65b89fdf9334cf8eb223259ef023e931f91d556e1473be4415c77d1cbbd3132b9e58f1648a1a2e8e77709c0f5bdcfe2c333272a4cc680636cc32a3db5c51bc417c693058fe290de2f0b710575470b227327f1571f897f8d3c76110270397d05fd23f7f09150912a120fb92096e2f588e7f451dc23cc80071115cd5fdfe4de9cf125c457f3e0ef787c3204e06fafd89f4834aa830a8e45d09cf8a2bd725b33e152213c4c9debf2ea1204e06e264a07f3e11ff0ae264afe339f15168204da1832d6420c612abfe09e264a01122f3e93be18585188068010cc0acfa719c6179c56256145462419dfe1c4c2caf16b0e2957ff8ef391c6d0b7145851b8caf48290d4e3d7c6971d9c110578061e50a2f37fc2dae6062872b84747ee0ecd441bd00a48e44394d96eeee465d06bbbbf988ab9daadd91889999996b18311ad7a12f37dc53a3c888c2c68c6220bb45e219379253ab565630a628729a823aa7dfdb4a9ef52468026ad46bb432f3cc5e33790ef20e0ef7f2ade54e1d6b38f2e5cca603a0939ce45f641ef169ad51e67cb2fdfc69549b7c322f88098a09c8e7f69ba0dc060a32bd3a65653341e19dd38d563301742ce9f777b6533857ca1b626cc15acd977f6a1944d2cff33caf6b6bad2d69616ad924856e6463c6c432f54c6a0a6a544b395f9a5e26202f88c9270b1bba11d00d4d3e4057301774b9d7ede790b3729b73fa4d3ebcc325d6e2f6b7113b16ac62eee2b68326989437514899d26a0084e34a226cfcf08da0d4049152d2d07ac920468c19c61012e386d69661040ef18d5cb0b7bf2b8f6b0b173938f11385162d5661bdf20637b45e920ad5e4a54c9c529ca4972a5e885c65b501bbca7a01e382b547bcece98ad7cd49c7cce2e70915b6748a99b9bbbbdbdb051499ac8bd0ed97b5bb84b90dc68a2b597881e280db2e8e77701d65193ab1fa5600a7003c006297be8ed8df3ccd77bf7dc640da9bf22fcfa15f1f0cab1500180000bc2e7d1de00b07cc01e2004fe00dd0065803bc014da0b7813a374a267fc83ee983ec381c6c66e488bdf2071fb8070542b2f3331ff8870dcb8675e50fbcc359b34edc6f2e8739cccb54d487a79a0fadcdc36c40f61cda736946a5934ba551140924cf7039fd5aad3d9d8a3e44d1d297c025255a33ed5ba282f6f69558108703a5b76fc125f64bcf2b25dadb211a0eafea0f16e827fec49ff88302121212121212101aafc2ba7724fad57af4543f9340a1952f2954149e66a00f73249e157dede35949964b9ff094499a1424cf4c21f2f8b4b103ea72a52d6ed06efcca0596284974f185931be353314fbed86efce9c51437c8f835be75c00bc0a8814573e3f711084b3c7137014a8c8df16d8cbfa35336b7da21381daf8393524a29a56cef1cb4684847eab8e9483ffdf323bd97ef3dfd263044d138189e2c58639b58903d47825168402912075b8da85208c9fa7791ab62add69e4eff28f9214a22c16030180c0673455774b9a28b72ac7696a33a5ba8732b07b2e46f6088aae1c50ac188629ad04b5ef1ace4bbcb29c8fa1b3a4bfe4c1ecd3d321c4d02d8995511b88cc5029dd31ff68837d2201b1b55a392c03cfa47e01efd285759a073b67840bf0ecac7ed07dce6d149781532d265f9c01939b2c3e32189ab7a35295f209df918a2e339f4393b93068b021e0f4c9f391c5c203d5fc773f8e9735108e6416310dc833e17b5d79e5f72d110113c87da8fa0cc8106d2f7a43837869d39f26ed58675419964738654cf9981362bba7c01c731c6e83459d8f8421d3d89ad76e1a9065b55b4769e533febccc356dfee77951fc34677779c114ad7bf14af3fcf1179a7b070381057f3e36a82ad6ec5eeeeeded82b6a30d401d06e6213f747f817bc816ec7c1a1bacffd6c54e30e498cb29d195bfc5a1d87e49d4b302df6c699474777777cfb29ad5ac6635cbb2998192481609615d2557f26551a75aaec2592989abea393fd897a134ba52125d5a34b9f04db333b3b309e4ecd9b3677791668e1cb99a61f933342cbf10561261a3c482e3af4cac3f57148ba6b6644e10a7bf3eaf26884384fefc092ac1595110a7c121f4330d7ccf89bcf2a36b148bbe96f6877ac546a4ce02e8c61bc26cb9f1658c16c8a287ee32700fef72d1c7ca98704e73e6d2e276f6028d79ceb75daf081bca225a448b688cc650ff275783492048d4721714eb1fd2a2f024f9a8e876e4d2a89646b2a851fd642c4edbcb586260c5ed8f397098b151e886eee3621eed63c3cca72314fb239bf2c071ca6aaf3d578a4e37bad18dd25ac42d141aa1166c188f38108708a7a47bee7956def3ace2c723dee9d369e2c00af16d62580e87d218e30916e31fdd18638471116fd8c10d794ba4ed479d8a1fc7742ade706351a7e2472e9da2373e8754a651718c93231457111b62c90e9d5aa8f44cf74541ec14cd0800000000c314000020140c0845e28038241a53a6457e14000c848c4072549808c45910e4388c310619020020c41800101999a121ad400088a56d024093c1b8cedc6621a515025ba62d7782e34e9fc1be1656520d058abd547fb7022f0771122b543f0512332ba970495ad5944ebf1d15b0ce5ab0d9959051ea6cf29ce36f306e0ac8c32d20a90720831c7083d7c90c0c59ef26d758a171aa8f3879ea7a06526781a8b5772b6f44c9c95fdf75d4449a976a95f9cc22c5f7e0f7be51e8c1848e08ea911ffd45fb749bcaa51ed48f60bfbec792eb444a27e23c5f8cfec06cac3a2a3fea8b7c821902f00ed23093f0a24ef34c718b43ca585f6fb118f0d4212803176bfedebc19fe89eaecb5a191efe739f646e3b713d07a47530d9888ef7f9b54dfad2b040db9b99079c8bc53843dfe381c5759ac98c6546206b6bccb2f5fb31b0ca7541588a746e278e2603cce1d01e1ad105e246a56b02f8457d611574cf6669985037400d3ed5ca25079499039a6e32e5cb2adb8e84022732a476a085cfaec0b35d807650e33c566724338e156d98c1fa56da2b3264b1e71f999a1073ca933406c1621b16326ffaf3d2e2ad6d8978a7541c145a86877121d1b5682de2b88b567ad43ef4bfdbb1aca85e13db84b2bd27e287b746c614c1ba70602ffc8d519f311314def04d9c00909c28907ec01b1a73ed7b4d3b45f0d1427a9b7b3e88e6c693c342d6f493c607796edb79b8e7607e8ed0c398c49411d0411cac23d12761a69bfb7e6ccb915c552a467dc7dc9f9bf905d47bcb5e87429a90e366124b34285825fd41f6e21296db5c15892d53a87782531cd14f404fc7e0c8224605e2ef8436d0203f1151820410bbc63509d78a2204da387514c57b8097f40e3e3f5a460fb2cf20143c907f2d56f926ed5c2375cb58aeb06e3bdcd91dcc0b0dc38e4edf10c2d3cf040cc4e8abdc70aada0d3716730d9dea89c5323a95063711d6577cb76846be7839ca49584f9de00cb44c99a1e631411acc7fba41217812fa1844bc1be8ce428c0ce5a9b19c3858215d187b5cc448d4121bd685ede54f6e02045bb35cba00b9811222f65b6e86637312c14b77f13e681178dc0591780ee3d40cad060ad2fc2e2921977a15546c5ded0fb8f948963ea5ab87c3a5e79677b29de5282cb46369b5529e55fd095d0afa02b51bf147407547c5d09fb114fd2dc23b7d9acd21bf4987939510e41d09833041fa7c62b428146a044cc891e237d9725c4c3e5080108c2e4e3e8504cc3d0bc64b6462ea234ef46a25e44c184fb6982112b00f9aad346c93cc73b7a990bed826848b30b4d973941917894714090071a7f96e018409cc68f083631a02fa80e6a58b2e7548ed1ae93155ec226bc7183d11ff34f71deea30b159d7cc689d40ee280b1d20d9d45e944626f6357648c73d4cdd0709d55ab3726b5f34337eeadd490a05b52383f146f1d84d8e1c3bdcad91b441d90186d521a19ab94cc427b4afd540f0cd81add5f56b842dc89d0b7b0a2c00480625051eb3de47192d22ea54af8c569aa630720d85a397e31d456e001f4ea4250452e9443895cb16b14ad0030a9cba9f091df24b78a4fde50918523c44cf83e260810e1fa62db462202e578d82fffa287f0758e2d93b07350ff55d1639687fc47b7d1f0cab638c2bf1d8b84db397173029d616c016e853d60fc457b5ac4f02f3d4d5398447ea4b9b0a425f4d485050f40bdea8856ce92ee528f291ff34b590cfc318aef243e69dfa7056f5e1d0c06232163bcdea5814eea21913028cf4db8043c3117e76999d066ff814eefe532ee620ece726dfd2e636bb3334abf80e80a5bc2e680d3cd1078a6c91616fd87afae6d98d5a3757b02dd8af14b817bd5c669f6a972a7e615d606b21eb601e3ddcdf1202003cc878eaaf900cb9619a2a3ae8e4574717c95dbdc12b3f3574cc68c3fe619bb35ae770c50ed881642dbd618e8e480433354907453f0ddc21db93f47f36ef7df76fd60892c27eca3591206b4af2a8250578299a92b8da1f58513c0a5bb65ab3d0d1fa792ca9f1b7d8501e95f86e04769fd7755fd08413586b1d98c4a5b0dcc9442a9356d7e002bd623cb17d03afce32e3f8a8e10115e2796dd839e4fd412d24a12976608b6159268b5e30e5d6925b073412eeec3d3c850cd398ab83745e3068022b082d8364a4eaa835a05c8719eb180b64ae976b2b830807f8e9b02d4345a15bceb7e71c64e8d89d3cd2bdfdb1b29ed90395b3306e31779e34af50ccccf67ba6be761eec7ffb8fbb8630f7752e48c95f066d4f6828bf8079fc3607106a8e5fa747eb204c0b9e5fdf78b7bacdd3553330f2516065a939722ecc87b0d0095297b88d0b9788056b912c8b41ad63b81c90aeb956570c79393a3496c4335691884795622b7654a5219a2c4301db6763b2fbd0d2ee57fffe6ff67b028f983634736c6231026d71fa9b7024439f8cc7496769cd052e6981111aace664d29dac0caeb210c5d4fd69763f039f57cda9adb354a593e5908f6a06970614acd3a460ff102e0f10a7523783a4ae916a4d4d92295f5a5c97218aaf8fc29e49d0994b4da291683a010d634bab16b23b085e18c12ee10d04aceaa89035ff03c12390bde6c627c1c0b20abbf435ff58ccca212e20b572e1ae929ca55d0d87b642f86d1111509d9c630bac21e830e84776b93ba11520363edfa93694130d201e8530754c118f9bf2d77ae817e2975382da3c89de584fcc892db9f1959e3234405655e2f4d1a8e08af74864ddc21eb2b6bcf4cbbaf2c2f6fb7cdc6b17b96dd3567ab2a5438862f1549b7d073cdaed0e2043334246d0dc1fcbf856dc55683524cd036bb0f1af1326d2e04e4a6642a15b0d639c83815468ff6d7b0c053e83fd1fd8d9470ea12cdf5aa0f6c95c175cdf898fa539fc71fc586d39a869e41cccf9174c9488451af991e97e60fef80ad306cf43365290ed5f1e0fa90a5b51fda6f11adc347037b50bfd0f309e086ea397eb457c8e583eba9944f0600de9682158b7b68ee519e430d35855328874d5b11da9b3a7cf61d95431fd21d61164fefa2aff661082bf12160dbbeab17832e3ec0e2451f1c4b4db2c19a90fd9d98f5f318f35f730230821d3dd255b083f4c3028938018d80de16fcb7522dd868bd6836e7f99aaf6e5338435ee214430de71d63912a46caef83d5ec4d8fb2ec6138156fe7fe890d3dbd33bd1eca321b87ef43a8460707355b9b2a151aa079352f48e9e6857ebe7ed0e6c5b38c072c6cad7c205e4c0501c78958e60896a66d7e192873dcdb036784a028f364128882fe79fc6a3f503e0e36e4963a64217f3449822f65c6e5e938d6e883e560c7bfbf80826e00ccd6f583df5cbd09d3b57f7c3097657ca4ddc3adfdb0b992c56c7804aeb2fded74b78ab4f945b01d80621fbffd2a8bf90e1e9601c3f2e4e302cce8c8a6321148731718ac479830d39d37f810c723003d19e0ae1c65eb4efa05e7b3d0618284d81b88b7e7221f5fb8266eeccf02721160d3c216e81d0d6a089b6b465e9a0289c07b42cac3d036499991277a382b7adebdf2bf5f191549d56f8f22b87df8916fa29267c40e98b2ed1d12ece618f086df8f830146e3a1c98f53f07d2dbe5dec755dd1b4350d58885dbb22f65d7604120a5c5011dd41104404b2f6cebcbce7de027f480f9f74c18c5257959908c622c088dbadafcd179549287a2b49b59c164370957e3a15413dffeec96d872bf4f3d84077ffc6d84d3679b25b40d49dd6488f60eb757da5ee94bcb019eb7d755ac2c89bc8f198221203f8aac1ec801c140203e47ac55ffef24ba4a9bd2a3f56e1523c4cda076ae3964536a7f1b1535d5f41c6cb53447ec8a3289e77dac3cc8341938a8a6bb0e37569712b5b4f966cc44bf3840c688e84a56e19b88f2fb09e7dbbf56d19be634e87cce0186f3910e9654ab37fa07e2c43ca8bc6271d84d43760cbac9159ed924887a75942e73068705ba7f67980552140299f145f503ac499717cf17de1e9f003250ecad3fe15a40e92bd7594f67768988758b0f6ecdfd2cda24de7c7aec16a6f8d31488b949ff22a4bf030272d2c39641553f25ccb0860fa128cb702e06213f63ce33465ce6db025c5dd7a803f41ed454ebaf4d5ecf4488c4d883bad22238b1a93e2e2406badb0c03ba1d10dc84ebde032513312a24becd6563ddc28f08b4137bf4b24f9b701dd2f5e8a105cdda86af61a0a1e7666f9a9d1931f7f6279b764f399f4008712e7dbf2aafb609caf8044654270301935169b60c6046416c4872d4cd8c0b4881166af1d8e497ab09d3a0d98285445d4e05bd01d36e184c6da957778c69764963aa652a85004242d1d95e5bbb888cbd568be38de77ea8b1ee7d48f7422a00d4668a60b5ef66a3def662ab629ef1da0f0b216c6687331c541acfd05c04f446c97522df4120efdad2bb6ea1f6528d0cd6adf7abe729362c95806a2a5d010ee77dc54ffd13a1862edcc7a14dfb35592996144517419280db6c84539e3dabc68a9368c838b1fcae5358ef7eafa0579175cd3e46ddd48f55cad9dea3a971d40834bed4cb7ccef08369a8266def726943535d6d96397acbf4d3f343a0743db51a7a74291f2bc9a049a0be25562233050d9179302020d468f10527cb9068432f89cd795276b9e29ec2d39a01cb34d55a6a6b4cd008a4b93d90eb0f68df72a4a589d963b7d457caaf0d657415dd0cbe4903c8086d83e55259e7ba9bc9f658a22e59e51cbb25936c566cafa240378d9041153bcfb97b40952dd55d57daa5f7156aa72afdeed8b2ec3db9453eaaf396c915b5542eb86911adef8ceea1fca3fa38bbe6a6ab4537e7e78c988b07571d745b7181d42175f54ad9e64f9a18bbd4c402d00b3c71f17f8bd94f045be44ae2003a79856ffffbabc3b0f988de4ecbd88fab013df233636a4d5e218a05e6701889da61d26a1baa6aac4ee44ef99c8f2a111f1cc69f4b58731b99842b71febb4817388e7c4e1be1ab83d8b61a79e2e72d18ea42275f7c0f9280b0c233fc891f6f9ee552d7edb74238ddbc56f72135fb6d6c8701086aeb135e8da20f0c2a6f229b75a9a2a6b6d18898d4b671168534572f4da5838b366d07966260956f355e9dc53f88cb765e7f7a52fd4a3d7369ff3652e944396c4ef544ec9ce8b90869b208827af3d26a8cdf58588cf91f24ee8a86b255ecdf36fedb922addb7d899466b64b1318e9811b2cda10501d0d0b429c36fc52093619d2cc0f4cf98bedc9b35858e36e122a32fee5ced0e4872f67540aac9afa816d36369e4c67b817c785b12f4ca0eb8ebeb09b76ce49f55faadfd20d5a1b4fc0e55930e2f69f2d3a8076bb3884df734a9d26d9ad9a7bd5ef90701191e80c3bcc00312b7038155d0a63eeeb7ea7222a8979fb7fed98af59a733b22578798ab0ddec4008a4802a55fef68a247ff532ba35df2ad1ce6e026a51483dd427eb4cb6288b9d80f73b22abaef6761b3617b231ff5f9c6f5b0067f5b57cb422114075b18fc409ea07458352c8b5ff618b3c0adae046752409877b4d35a2366061a5aed20d5daf2c477e79d9d759e0c33748e350d705c9d38c64a801a053c685adaf3b003de892cecf120043be67a451833ab1c576c007e1ebb5029f455233010198357ef690a47459122f774fd0a4dead8349007c26c057926a30a53aa36b82e4d041e440d4e57e11f1658a5cd37386139bbf0468980afd3e51d3adbf3e912a7cd64b860124ec3bf931bba2b70d45db9dfe941194f700b0bcb6b26146a803258f003d075aadcdae42858f83202b2950ff4291423dc9a751fa93fcdeed3b145fcb58f2310015282a5ec16a067dbda74aeb0ac6b97a1cd193b228ddc69e5bd2045d21229011218706d58789adda43eb3cbe4d0facca18664a42dfabff70ca25ffff1ce7634549f3ec4d44846929ee63dfd786f7e054021717ac3a8146f628ff2c8626942f223a5228898cd9c900bcaaaffbe3c1f341e79e414dc2e87cfa2bfc3e4b23d391787c93dd9b4193bdf8aa1092ad1c9f41371020136a7ff89384f4b97fb7569b93d4c5ea89b0cd30261c8e0c8dc9f84d052198bf90462caad3393f51395af2d17d61e3fa60523f84f8ced28fd38f2490462c4536be296c0a531d761111f00e1b35ab382e4e51c5cf9f7090b1f3eb8eed18e2281e4fdad360ac09c3e6fdb930979b76a4dac4730bba6114e4adafaabfe4fae03dbfcb886f74aae3b4188f4af8b26af602a43b5f6bd52a6ab4dcab06c932dc60bc80d964415d245d2847a4e4c3bd79294eda62e836f645ab6716af2dd0d5d91399af6f0a5e4326840775376f0d877052e967d807ee5959db1ecf00227a8868a05e4343ad4fbace4d005ea2f3a35ebff8c20527c09c2e32f0621807b0eb4538db2958c5f8b76b53a31da9de2570da028e4b130b5eb0538488215fab20a916ca588d174e4f0283c4f9f57d8b71e2b4e66b5a839b91c98bdf8aa21136d12b0232e1ee06d011515609c051790540cfe28b9e3529f0c105902c6262f6caa408c085472370fc80d80302af5f9e984e49b721126a6e1293db1445c8914b2c84f002ace8d989b622dc6c742c81f6cb7146def8ba68db1aabd03af0053e02224f98aa65b5c6fc3c8e2b0e0378ac7cfcdbc817a275f05e4e2ea884acc6a8750c5129f78bca16c9f1463fdc870757c4521ea10a3d9968db88dc1f46bba7ebfacc82eee8abd6f26178e9aa879a18c42fce8429b19aa39d1317816e52981d5bf7b7c234b761d2d1abbb4ac03690b2b69cbda5d554d0c7c0c4e0a1c92a13a90744f8eb929a7a03ac50407b419274dcee42e2fb5942c08fc4b16a25d7f990c2d15cf39077103a036491a23fd52470c91cc5de31bd3c003036a609ac5930820a23fb770686f98fa7899a6a5f623163fa1b2e4fbf30e703a969e5ce7590a1871957eec48f13d0518e2e658f875dd797e65d0272fc70c5d8907154ff30ca7093e85f204f3fc35cdd8239b484527b7acd5bd3e4559becd2732102bbe51d79caf3f99a009aad4684af9e5571d6fe8d95a3625059d690ee9274d2eb3c787485ce3c13607898bb6031bf37af45ccf1b4725dc788f4d6a81b9c5a8289577690044efd0d1cfcc783c9acd24231aa86f57476969c043db9b231ed9da855cf391a3719890c0af2eace05401b59840c9592aa47857ce86f391ce4c635c001727be0295fd3df5ab0fb0cdf2428fc00e40ad96323e4217b968df29c923518214996fed929659a4da8e222f83effb144f1e4cc6ab64947a3702add61886bfb74e07875eb63e60b592f51d9e6f962b8b9afb51f000b8f48191e97c43ae22be7f05ca862515cce1e2ba5cee59b5a7a020fa0daed13ce348575db5553b7d1a4e19d87cf8e3982193fdb581c5c3ee53e119038f680995eaaec34317b2cabd5e91f075bdbb35c1e0ac168c96a736c24745f8b455589d3e1e085531bc48b0583160d9aa44c7d9b27ee77f4f22dd81a5a8fa4455944c4d99d2d8cbeeb336f9bb67cee73b3ebab692bed1d7f5f17bfe030bdddc434e236eaed418045c63e731315cc93aa5b55419afe0d9594a2c67f837110964bcf9762292c6ec164dcb09d371a4b49d8425a9aaab76acddcb8e47546e6b68597ed62cd50e72ab9e28fd14702479c6294a8bef88df87e917d5b6c521ac320ea7edd9c5e3b4b335ca519e22dec85ba67eb2298bd02595c1e94ce50404eab128aed5f7e3728f4effd88bdd12f86cfcf4af585378b2d3ea673d0ae29aadaa43269855312172bedb21b315a2f9f3801b256c0dc9a14645f60f8c979b320981bad80edf3ce5932899242b6014f4dfe4c0cf0c3a43e6911a71e0834a45f6ae0931060ed02be785b503f1335f6e6b359a8bd187e650955c7e8111ee2e0924f883517c27a82ada5124a8f08d94e5a2fce52c033f00376948bbf7f3b53ca020d220b3292c75766ec779ccbad603e8ec9053d59346f119867ea460afecc98b9f393134526614a19b471f6871ea2a728ab095e51c037a6a21c354582b6ae872d685ea12973ca0aec299480fbbeaa28b0613d9619cc1b04cebe32399d954dc86d3de931f97033d49305addda19318eb6b0310aa4ac8b43141934d6b8224d94a572ad13d099fc883f2fd975126c86e0967f8cbf2c5f916056089144628f41d61809536491d5e724bdd0150e3cec3b588da9667f3525e89d3092b214c3cce095ceb7d0cd866a239bc9d540c7ae94d50040b3caf662ed0da7312a3d31f8687dccbdc40a1ddf4c1c037d016a2624c4ac2c402fe6175fea9ab016198dffa1900f8cd6502362434e7b23ab66569b2ce90c2df3d494c413169754379c7d5704ee9b5570e76a5b987e5013a3e095e2f03b3d1a099bbd1113c5947592372f7d96cf1c08abe440eaec2782d14242c4c7a16b6cf4e148d8a93114b56f3b54379da96e6f7a8388b0d49477333a6eca76cfdbdb61e3f08fe3da14e5a499676b545f39f510dd4c846e857874d60ae300bab209895a154b9b6898797b45462ce6ca7bedc7fe9a4b8dfe62cbaf432c981cc92962f32656db1f4958f47fd1d7329a2f224d24f33dae687647e78b9920d9f65c3fc1cae2c3927776bb7ee72fbf0b39ab9594bc9720da1240820c258e452c006d9441b870c9b2913c514ab9e84cedce55f16737f24aeec684d9b2cfdfa8084da5248a74438211c2c252c1087803d85df8184e3665ad5282e20f65eaf290775f5cc3ed9d76ef3e8775705d0df1c674bd092b1f0b71afe56553bcb2582f7851d111611f83cb32bff4c87fdb5ee303245d827aa6068e45f05f2f79e9c152404f41bfd36badf380fb24e96dab0a552d4cb43211e1686a5a9845521dc0bbf34e427e6171f22952464c9f338baac553f9b65a7a4d29b064072add221a4bfd4608afdfc46c44608d932fa7ee2c33f9a3df3efafbc0d292d48e4816c99632d18869d28a6e2803c70a2e9a216563a1bb8d72fa74753816fb2dbc6b4951e1de57091c9192b4b1cf2a2b39b664ac8f7d5029943583e964a91613dec253d18595dcaa871e60f8c0471ee79e3837c2bf692bc35c0024922b48b006ad606e49ac87f6b5daf63de9bc6ff5fe6564731f64eaf425d7da3000b65a35b5372d7d52bb3e7460ecd121e21278f494bd86721892181796497b6115a6f0defb5fce3470c01fcc39fed52f94888ae8cabded3acee9b768f9cf487f65652589f2ecd341d8d7b79cf906febad298f5498f4b529afbfa1cf3b4b8542ffbf1a2de25675e5e8a55d841b7974bf6c17824383f4ed4be79b9b491879d978bcfcd786f6d90df965e08c83c81f6d7cbe56476696a980793eb1a5f1dcff88a4570f7a84c4cc4f8051739869bcbf00c7fca8ec6d4afeb98f4686de6ba24ac78816566ffe6f98c4c1a6ce01e2e801abb80a876aa4e58973d849c36e142e5d4dcd0a95086c00d7789d6551e7798b6969d5a0ff9cfb322c824ecde9f4614e6a9d33511f7285cc784babb0938b7e6855dc17affd2425f0d7d9303a4a09e6a61b4a47fd3d8fc20620fa1c19d0fb2d30c436910f234312fc11ed2327fb519f58494cc2510578e75805e543f370458129eff062ddaa7812fda681451bcb5d165e01296cb2c5d8eabf7dfa184f935724ec7ca9593ee311fbc84892168f529e21daa355b72d26371c61260b9320e920f0fdf5cc32a820b5a0c97adaf803ea18158087d390f7f95dcfc9df856e131976feb88109613b83677af6e564565828420288cc54d83de81c794b5ca0f51ee5d1ab367d8e69dda837eb7f443db4d9f05caa980a52dfa4aa3466f39d46a30e73884d22e39a63b8ddd631b02b6df992baa052e5fd8401b92624c5b27bfcc57bdafb845217ce50b93378af8ce0b13f3ed6270a2dc3cd53e88839006dbaf1cb2aa21695b613eb0abf24976509a1d502f85617f980a66526404249d4991abaf3d14c2bd62180e0c1a858baeaf2bb92024ab8ea8c9403f759f6ed0b29988a27f08a61ad74d908cd5e8103264372926307e1063eb0649273a20b69341933e7a53da00e78d7ca842be2ca1759c6aee21a24eebf258f35a4c5930eb70a649686b5b83df28dd59f27637502ecad893461818e176fcff4fa859fcacb1cec484469bbfb97cc0ad1e1aa12fe83a956a7af8226a43e0a39d0e1434b19000db021f604a1199728ebcb822618d95f9e21d4c0bb57cd03ceb63d4f942aaff373fb1461db853b3f5efd7e6ef09b225693edc174ac1e4ea853c9aa7b7aad23561acfd77956f6d4ed9e5a3443909940d84628ff75b2196e42945bfed270a81016aa138d02ff5df76cfbe2425b2f9319da8d0cb1c09dcb31b893b49c926babb469e8f32aa293c43f5fe7dafb94037bab7db14fc9f6c162be94e38af93e8fdd888a46ac7f10fbb35b5c421c997783264ba68dc0cccc41f2c66a07ae68d57dc195f0b01799daa4e9d60411d06ac085c8ea1b9506d97ece1b820b04a536bd2d5d6f711ae06e44b72a99bb5494f05aaa7eebd2c71d27cafa87da4129b65ec2827cf6f4c004e60aea1d2d035adc0a305482581b28fc4cb04024aba09ea7fed36624a42aa6d0ea9040dc98f97a2173caa1a5281cf427f82c061ddf0454687eb92179c9d00f83f9e2fdcf2be1100299a04be02700b5063a26150525dee09214c3f13861222f02d89ac8f60fd3ad223272d4f8ec900f6a6716e66524ea95ee81438eca8c56370c51768328b3b8b6901f349db9bfe1898396fa56d3495de3803ee2481a32f6173f23f4a5c876b303140ac6314a1ce111dfb0878ae6683683687d3119b4463d6a373f7b2cce6809a9ca03074414c84e41a1dbf05f4946997cb59b84ca6adc9198668f2b4e8d554453b8bc7ec376ffad609932e5c68a57b0c85d7eefa7139d364fed712f84e289a515faf46d7873d3f63f7ec76ee54ecf439ae04b14cbc9055120342ce2314f0cc2829404bc968545e83c0f035b092aef85584c498d918267b2a39ebc96c9bda0bb18d1fc4432c1f6a1bb377a3e389903b0631fb4c6172186ae22db294104caa7337c0ca9c980fa152aa50598a3d8362b454c2787f0897d2ea9e963cc93a4d0c7f8992c4a72734f28d66fa4e5d1c217a9606757307d80366e356b4d026422908e9f1a633a36a4dbff773b1b5dd46d15fe659c7dfc94aa77278a4e3f79b4108011cace7d6985e06b0cdf3c70a62f330f7f1fe1615f1a08ac9f5c5259790e771ea10ade0a2609bbf16c25ec4ad9a4745279e558ed308f76929e0f88c6116fb5dabd66fb56cbdb6467c73fe6c61860a62bc43cc5a971a8915ab60296e7eb03e07e9f6a0043bd0ba1ce1b9ed9bc4c088686bd0c1449e2d96609ccc58d480b52dc8071762e8444ef4ac50fd8cf43a0bc2d8944880a0dd242b377331142f76fb24ecad541fde345fd2a33db773b234b461115bb1994dc1a6dc0b18a3d081c43d137375bcc6fe84bb253b9d805a6a9d75cc927929f2a8cd39ad67b94f3cfbad06959911e13254751ae4abdb8846c9b72e88282c32c3906597972003743cb1ecd1564d717281eb62595a0bf1890215da91939fd4580c84f944c1079a4fe4765f3445da29444ccd08b979609ef2daf1e00a02137368df08ef7a94eec0a1ddc438766a9ac5c44fa14b43b348eebd902cf472a8fd9f6c446933eba594419d5e1419b7378b6d21156dcde423f4e0f879918402c35314e46ffa0b856ff219fdd12b475af9446c544259c3bc6b8101818e2c1afe29b382b8786499dba7878b1927d7f4ca61b85c72af39640b2a67723dfc7d220f75fcb2dc9717dcd0d130e550616c97507c89480d7129f470295afdbe2e306332d4d29c532f71c38340cba3bbace5de35e4c3ec00e2af2010d0c010ff91012423cb05c1cebce3309c74ab79928eb6f55feee1dce17ca604165ea6ea907c7c73c81cc2a5d8cf71cb0cb45c5b14bb77b6f7af195bdc49804b66e0914fe63b334ec802246ca5f5e827c3df7021558f6d2550373e3525ca076fa3056a1fb78950f0b43bc79be548d588d831d485dd194476d8a4ca1450944c021acb4adf34b820676580ff505ad3d505508be8bd45482a914a0e18a64c720a4f2ea2e647cd334bd3116a606bcbcdc57f358da302d3346d6b24aacb34adcb1c1fcf712a7f4dadb1332988aec2b1e8f23469a5b68f1d811f88ae769bae8937dbcf735ba18b45b3db99841b72633f17e7a35e18abb2ef19b04051e6526db7b0df3663f35085f809c1c8659d1d48aa233003d52eae3818453a03ef9a848abe6944e15da23f968b2146b318b7232c9fa1bfa08001ecca138d38dc3ea9796bc269b19308293ab2453889c968a56f73485c347c9344a56af75691e420390597ede00cbaa31566b2dd29016cc6fb2ad960a0ef78704fd9423313a4ea6b5314a701b3ed900e25d1b2017426a84766d8be3a79278e4a6820265890bba968702c24573f3883333c81978c670ab4a4e7bb3495d1d03c0e7bfb858655a548631fbd0c1cadde82c3f0252ddd18047bc6f14e15093a3fb95ea27e021da1232254a616afb94b4a3d9059425628c107dc9b0b5cddc252f057c163b1333d9bd1c816d9ccb30a4b2c6079a845bf36e79f3785898d48a9ab57ebc6a2f712fb7f6619ccecc0a39ad4b071f9c2d01dd760cf50d85ee9bb2f53b04cca438c2658459a7aceaaa034f378442b2b688fe51ac0eb27e21544361d5ea42f0d1dcd262422c9c792aead30613076d5bc28f14222cd69fc04eadac1870eb840b480ddc09ecbbbd2dce353601918a3cce730337b32a1b7795a5f49c13161db3dcf11f6eb6f9fa7760493b324f5c66604df2ff979b9e1484be335ca352c30857c20c57f68927a937d4603e451ae8168b24cd9a3c177afd6e4f3e188b9facb10dc9d21d23344fa0c099e651123c37145d40ef4b59e7be9a3d40a9c032754ab2d4b3c8b6612e2bdda8f04059eee6308cb124bc712af91a75ad2f702548dfcf16c7aeddfb90ab044bac64dfca2fa306781fde29929d927eccd407c740aba6a26e0442eeadf94263ae70dc946007f2fe935eacf05b1c879b4ebd1d1170da227fd8548c47adc324f9319475b7342bdcbbe425e976246f67c525a901e1bb4c41d59c3d63da56fdafa2bd953f8f0e51e16067a879fb9964b8b7837490efd0610c8266c1cc79c3d26c9608e93443b770b6a73fcb09d7191611dc59b5af4665c3d0390b51ac52c7a47d8b5de254414503537315e1cf3c652698d44d751f80ea206d85b176d5c90243252a912a8316d09dc2ca775c5436140941ff8a29a8c7c17be7e53964abb13abb8a00c562c5f225bd6cc5a24d9a41a9328f49d0770518401fae2ab556a13e302cfc859f916ed277af3d6bac069c0f07f3452dbbe145e67ea77a8e7e20a023bd092d35b8accb41b2ba8ce5814e331adf61336d0a2e519d6c900993acab162630b16b9a96a85050a1cc565ea4c3a9d1c26252d36e323552c9d59a585b6b58c2d62a08cb0d34ef7f8d34f0ecea534b05c348abcb3058cce6d07356d1b3fee934fb2bc5011de7ade2a80af0cff2809f7f84895f5e561b0a40003e007330b372014277e48e4aed6b0e8ec8da5b4a8377500e84b404e507d1b9adc307bc0de5062309eea292d755242de3acf11975c2176e54fdc107b62b4141d0dff68fd20abda193ca2534ea6e25b8b13a8e6acd83fac4a54e5cf0d82010f494ae71a2566e5c3e6f48e51fc0a195254004b6358dc4d8e0919a0b4750924e01c387fd5dc14f203d3f8fa4ff950cc2e3588d0212bca49e4fc5a3ce46f0f85d9bbab63b9986a9c63c9070cefc85c728fe47a47d02e633a992fe9394f9862c76f78b287f20417674683a013fc330e7a8388c64db12c67bde80f689b2b73c50b52eb0fe8328d1d2656de02a9cfc873c5de8f7e64804b2f8800565ef7c7f12c1a48ecae1a49f9c06e50b8cc4b5d13fb04397a37ff1eea03383a68523cb90b650b99178a91834a4e2d38711a68aea99bbacb43b31c9ff26f81db1a4ec827156544fea7d9850893f9c6b0f756c4e6ff5918109a25ec67fc221d4616ff9d407502fb204b59538f4526a6c10701d195edafe63d78ea22e08c2fd1fd6280a0883a18639f06ac50857078c5f96087882c2fd367b13e0bdd145051526463a2c82077434fe896c3064ab11848a56ee1963c73042c1b9e970c061db4a687567e9da1dd4bf7de4bc9a3454d8e44ab180b2c1064d8be7b88b5c6204e58bb9f20eadd29e3be044e9ce6609c10ccbbb0396037992523b99e3a0677ab7c9dc27ecf25620ff85f0c2e14a8fe6fef4dbd543050ff4985bc62f826943e56acf318c2031447737864bdb11a2ad6952c121b1aa22dc5791cfe9c57d329e2b7df31b791443999eb584c2a4ed0fff0c25d948fd1b6ad3f0a58567c0ba976f3034cdc2aead67b5fe12caa9702ea05a86c1b58c3f5645e3d0b9e31f24dfba41c82f898397a5240bd05d568986adfbaefd02f9d539456b079908cdf094e0bbcd1f6ffb80aafc677f08cd1f0e542649744d445e8db25580c91d13de9d572ac6eb406760526b65cb0a02cc1521905b46fb86ccf9715ba043eeeb1a9921435d4c788679e5e48d905a95bb406b1819ead7c7da37ea7e3f531240e72bc130852ebd5a73b590b1bbece938d5d80e8d36e4f36a9b6f004d80e412dc91a6d3f4a0f4b861f1132034d922ccff16d95157261b49a73047a0269d653bdf3b0850ca22bcd76eab5dc08bbc90315099cd11ffd2d0766a011832fc5c48dba642a58a33649646231cea05019c6f26a7eb48211dc740c414f788301f6d04d888ef5d26c1eae2d72c636cf2cc695e8d21a4e74e1d297ce5116d135de06b5506e4de8e25c13171be370493fdb80af339bf1d29a63569341c5d81228fd5dfcbc97d681793ae09ccc82ad2683903a0c4aad7d18d372f2b0f0addf34cb270535c5a200eaa6d8edc969e49a0a3d133489bce567122cac213298dce11647b1abaa6b06a6e48b1c23742ec7260e632d8d29d0612bf1c880940f2b03f3d1e5e4a25315a4fe76b204365f8eacdbb0456d30bc015101e5350ea0018d3737d510c57d61e1abb298a356430e02e55942d7573fdb677948fdbbdec20f656f43728ac6d21c9f1c38f712b97068a2dc2cd95894bf7fefab0c88326575b134885cb8bc4640bc64714c2e52d78f8f9e1da72501d0a8213dea985ed4f8fbefb430fc4fa43817743035a98e6fa400764a014da54809f6bdeea529357b1b39bda8a1b1f504ae98bfa8dd9017b5a332fdd9e4c6591a6b497964dca7ed402c9c5d4878842aa39c92c105c5cc75af51f7d95052fb22a60e8c4a12bf01eaa3e738fa6ba5ef6443e20dd492495d637692d828a92c19ae1d949ea47c507ae9ba90969a6ebfa5240d1d130252a37d1be3862d33833029308d7be56a82b29f92ca856bf16e92098027f417286718ced48492da76c84c04a5a4c297a0467f34b49179fdf844c9e2195d74c972d656ccce95cbdba985389dd514e92b2ba9db1cf39ab1079e26317978bb8916502ac2760bd37b1759a722f8e7e5b41795918d3466cd4399c9368ac7500fa1ad69a9125b3c211208c4e53815aac87c230c8f2621f12df0955d553ec2a562153c25e52e3596b74693b6592cf19e310d87252969180a23958a5e1d909ecd6fdadbf9a68d5e935ff78d11dd81614d1f95fdbf3697fe42bdf018d413a7953ca00da5cf94834b1a4fdd5ca044e4cd23b55a99938c51d075e5b6b5be784a5b227a6896df932c72a1f273343a37df611974a4a449745e12031a860d54ddd9857a5613e371d2e407ee426988884ca2d0a1373b76ac975e39d4592e2cd2d212d634496dc4303b38ce0ed0d00edee87448f2b82640476924fd366847711bfd262e6cd05940d4585a8b6acd8801c600cdc6299930067a9a02518ff40dea3e0abf57c903a2a6144d3ef294beb9e8cf01861a27b1eb376bb7698bba1e7010f58327901a80a27e430afde5321c6b3218a1fb9d6ad1252c742b6312440d2ee2893278e190de93a4663420667c3121fdc7e7eb1b99a50e6be7ec6b2d88daa54d2f2888a1dc11ee5a43a13303bb16bf0630e3476d1e93cf620a04187e97f2786c6407f4052b3ac195ac940051db796b665678d69f68590d4d74e7a38e2f2a04fbb0ae6c3daaad80f83ce20fc62546a798ff55c84f6f5f8bffd9f9359a5d4ba4199b0f8849c34bd6cdbed0d28d1db5dd1268f479381f1536789398aa52caf20be34e8bf7bfce8d3a78fc3ba8e427ee380814a18468d8e5a6316e9c083cf26c420631e03bdf0f6d28d2023bc23ef673c4607419703dab23c2e8cdfa2070de7ac90365d02eb3fb73b0a947899fc71636c0722566336930e0591339bacfbb9559ed30540bb50aabf81b6ac3e9bc9a566892c140bad92937dca4e48052328f8fb634b0e46d97eec5a7043015935499315db9abd538bbbc1a8043d2bfb8933073eb96193e1969451d64af0a492a9917bdbb2ab59e9c24efc804370a04c9ea74515f01ca0f3a1399a6ef42280e43bed8e28568130bb9767f10fae19bd82357f0ef50f32c5e3d140e8fc0d037e306070f555d87f1591d852f2b3b139de795674ddc8eca16fb33a9787f35646ef6b08598900d443201fd54df03548b5638400fbc29b16c5bdbc7cad61d906ab34b476bcce1650a94404667e9878a88b5e1ff43ceeb528483311e8179ec9fb1448a15202a3e10a73f32d6adb65c20bba7a8f920e6fa15215adc3ec7a6beec02b354f0511238e278f68bbd15537b1f766e881d5cf3802280316838f1317ac6342695ba25b59e9e2e55b04fe7961d4b00b48bf0c20bdfbb8f2bc4117a7b49201dce2fd705dd773a1c020ebfce82f891f106498efbdc30b89c856c03e16642394da516e9aa83de86e81492df9b98a0471b594f6b0a2d9fd69ceee89e568d82dcbd50b6abf066844d9654db94e16d5de26491ee4aa896f9b3ebd2b961de881fa440c306bdc1dd6734ba748398321386f381aea8bbbe59268b98c074020ae5404925db174705fbf16e9fe36bb0735d6cf4d078d7c7d7b01130a8dfc842e2a2ff4c62541379e00ad55b46bc4d6d4881d1d4c830ba49405eb8c04eee31f7386c24911e268c86343c71c71ea62ec8bd865c4883e71e95b69462efc5e81991ccea5113a5d183a707e179c93c2fffe5943e67cfb3414477b71658ffeb6b29b5b2176a7c406e7cc7eb2f37e90149ac2847e36739a23fd3d3e8011ece7895176211a0575261fa5ea945caaa46667f954baa4a4bb17992bd9c2cfc04ab0933cf9bd20fd61a39e35f00fa397a240b62d735108202e49dfc3da762c844fe98811a9476f8010fda08335c2ab6bfeaf1d6a7be6ce2f663f59633088cc985a0405b473cbecbe43fb13687cd8b0d6fe41253554542035aa51356c3f88bcd20c36d7a270b47ecf7a504a350e0a1870d9234b7c6e668098176623823c80a93bf2fc97386bb6812e1a7493c9f6435e3605d5d2fd72f83e5eefbc67c0a12802e2f8904c5e13518e7d006c1ecf0e96669c4a62eb0cf6a77bc378f3312896c9585b5f930b8e9d8b996bc8004db19b55f383efd8171e68fd517c2fb3ab1a5b371e16bae139ca5938bf222184b18d76fa2a16efc30f9f43871ae0336a7f5439f807802467b52015a083c8db8b04f6cc580c4853972df6b3eca2a9bea124edb559fea9b0aad18b048e9c92f74c817aa0a9d6103ca28e1e28b8314df9ff1b3c7da875cfdd0e9fd0293db3a19b64fcd75f3aeebd6a0fc8356684f0ad23b51465494e4d864cfae5cfc92d6f86a80f9b755d6ef9c058b36fa7faa18bcc81043126d3c6b43f84efec81b03170edc8d816efdc30d7c0ba4646227b89e4f7b0d74b20d782a7c71aedba8265cf914d58476df9a291b1b6a863f4e498afc0947cd2a09eb4831a58338d384b9d34596816653087db830f7d769a1ad11862c486e1f81c9da68df5727d96295053cfa63b62b9d8af500e95c00d0693a03c8461da3ce7cae319143272cbfb8e0f3f362cc0d31ff88ac46f0a25d77c747823e37e774d9be46caed00af023dd56f028ccf934f52ba632b1653912d6781ed5c66e189fa92705f40f133f14714bf08cf99eb0e60d8c728c362fc640bf749a63ce4c3a7d48a8ffe9534f0204f098ec90c81072ebb9c86ac0ccd8ffd708bd60a527b1d17f0092187d3cb8ff8246e30da41f656513ef01542fb7bd3af79e61ec04e89cf31033c7c74af07f05ad0fad008b5fcd419acbf20554f3574b99e5b2fb42eb03b39bf7d5882e2fc4b89f2dd8d0e76d78040a35116fa928dc0c541e20852585d7ce5c1c4987e4cb30c9ba1031c11e5513c94e1e870828e93bc1d22c8ffee30002686b786a86bda30df28675c917614a8c448c3ca59e05069e6b6ef172c9403ee5bf2112f743c070e81022ddc4f2401de0c80a18453905452319fd3e8ae7fa0796e30e9e9d54d73f8fae53d6618c4ca33b78449754031cac454734b9a15bd66f486b234c3bd56f1fb1db0f508dfc5bc5ed0ed810484cc4846b86376e54d3cc4fa1a794e427e3849ab32008732f4231b9dae061977189b968ab9df7a6c0914a898cc80b951c457a6d54ce140087313458547131404ea6d804c9468bb64412b2ee051cb2e92f06361f31a17324755faaa1e39940677a782192f5c720335db1450182b8574604bf3c9c662d4e6a3ae8745fae4857db5a748bdada00ee2d10a80c514efb852782431cba325c4f22472ce698b68fa278199ce3dd5a430b93146c8667857ae7f57400bf759ec111277b5310312b761b8156efa93b88f753e5c0409c6622d17cb9bd79e1a10cff7fc067f8f21f303e994ea8184bb71984da9efba0a7def50e1cd64571f13f4c969079546ac010326c0cbed0bf3abdccd19832668abdb1596748fa24853fb10106b6b11e0a259018db87af9f2b88c74896e852aade4d670878fee8cb90ee886849ec5b71c5da567e10bf9d6d5e9eee7cb121cdaf57d2dc4e583b7ae85072da7b6f956c5fd9f8c4423d67101b09b80aea8f1a35fd60d9db76a672040941bc41a5080e2c68f43fb98e9524cdc05b7eea49fbd306ea6c89cb7e9156619dc683331abd63dc07a1dfec9cd7d2e65dce8928cab354ecb90fc1cad093813de7c54bd4dface00f53a50d9404b2dfe6517a29e2a511174dd27baa17f8330752e0094063b7064cca5e81689cd9754714dc44d4d43cee788b10fc265b42ad02e5ec6b158c05694fb28141118638bfb766592fd2fd65c2b03ae09c3bece0a0c01ee432e419c1905e6e42246fa11a6cbda6ea106141bbb965b278d5d2f6a26cc74f3ba3a556e10f01e72cfcda65f5a8bdde6579012469fa6e63b3cea6be7ed190bd036cb8be575afe77160acb88ca2d9125a0bd988bda89f54137397e987adc7995c533676d5eb0ca77a920e2405cc1e16d283470e436dbb64a31be2092fee65e523a5771fd41fafc4694892c360ae7bb82cb5a5c3f8c63e47ee92c6e795a271a09aae3156e7a7e68145f045a349e2e303ca7084d90a28e3441ff95e72ed6bb9f2bd1e1409b677b826a1a04619b78defe85ee61130d0db3e8620de20f1a161e0b5e5bfdc90f4eed4e79025fa8b039f063a39447bdba64b8600f906885896f70a286ffbcb23c35c994771953f6342e19db5a052a2c7982458c58d2901ae2bd66205eb723ecc690212d2ea83c23eee357c4d148a4e707d898127fcbecf6762ca1d441c49d9681cd8e3c638a4353c39c9623402ecf6d9d7c9239121a1b011cc2902a31f379bbed65adb85ea6292e0a2122ed8f46ff48f1afd1d64f4dbd077243ab7b649489a722d427e76509a257760ff5221a65e9feca4f7e7175c2784e4e8d9557704c31a44d7c26abc17f9d89470c5c557ab07500a8840321e5b9cc66d3bfa4fb64af4fe8dee5e355e9908a937631c55e9d68a3fa2541dbd9c9274d9c29a15226c866d7d4f54da58330a4cdb95346d71b519ffdea92c3b2ba9f93322a83413811c12691a1a3d76b68127b5355658556c41b97f83d1167dd76c7118213a766580453cd7bbd7b15579055ed41366c536095b18c5c93bba5c08c94ae46ce32e6759385dce3264c3ae79332b376abc49996daa7447e73fcf6e15d6a23f334324236f74784ab74b5c5fcd4eccc0cec3ad00964b1055c31121ed341657baad7f9b7cb06adeccb995c25cb33925ed41699d2e6be5e530b4e3104b7f58b3a2a0962fec02239bd7236c88ec2bf72d796cbe498123e82685a02bfa3a2d3be91193d6d8b2fb5602a604c182a83a0b1dabec61b9f942443fb822718ccdaa90eee127d828960aee3f68e814e716aaa14f2791c2df9b1d9477e428a2072b586a2941c06ef524fd8726e9649c0dd66a0d9705e982db26d305f02ef4efecf3dc625bc107cebc442eb065c720b2164c3cb49211fa4e79787adcdd5ab037a185d744a623c3bb582d21f3de53f84046254946310c0cbe8adb1ea9b4639931806ed31cdcf2f6c96ed33a9ad61c1b17095b5f23d05b0085fc28a34c3854ce3f1b1ada1dae2aa86238244e467054238b65d1e7abbf26495da4306c7951fa4d7a3adf67d21a0f581cc7be3a6543358b633176d8d32b6a3b156c2744c372c81ae5606bf46f7aa349848e35019adf92918175677324caca21d32c9e596b0888be9af463ae22eeb9cc7a891b796e8cd964f4b0930debc3e4059d8a81f44f0920d350ad8e6eb51abfbb22db6d6c7327e8a5c6cd92406639313aa2f6ee053e1a9e79499dcdbe53152ebb524a395c896396069486089cb0bba07decd1ebae6ca872273a0a420721c7da5d6d5912868bb2f37443c9e178f0a3769492938539b7a92ce522655e300243b80c26ff5dccd281c8ca889f242f027f43aa14a34d58be489e128c84fdc8f3148eb92c81455a5a38c9d69dbb78380539e46e02c1882c8fc76121f93ed44ca6026199046d9c44495d41985d459997fbf9fe5e989a27050b66b37dd5fc74ffa97fcc6f012600ca40427f7238a99dcc4f01891e9dd2fb52e98e960c23258486bc5ab71a8e63c9dd778accc23c3fd94a2a09c60d270548a816a0cea82afc51a157ef325bb9dcb1715b7af270b6a86d60fddae5568142e4384a3eb439fd281d37ee28a7cf8fb962b1ed9e4fef34511920f1d904686f4decbea2b3f6ef9bba510ee667cb44328b892f28d641b38276b944d5449f5754006872bb816f5e4e0f711b970eca9b5e1a87b02be2fe8bf637fb1c0a93a9d4c2caff871d38f4b7c07a1aef02428ca626935259a4b0a9489be4dcec541173eebc5b70c7c6bab53d25e27538fa573f284a82e540536beb5e6f29f8041ccac1c4084dad60c839371a5d2cffd32bbc2e2bc7fb43958676ae2fa94fa56134d40f5e1ce8a588d70861abe4bfc3de404d7cf0c8c124b5162cad6cdf8d98cafd535bc29a7e42e434f5b058bfe91e87180904fd8adebed094d4ac7a797b937b7a7a19a0ea8b9759d17de64b2514f5696b9a9dab59bf0bbda4f8151f59f2a01ba0d59544762913b7f65283356f7315742c794c8bd52193e8db892ab26ae0aba6dc6f8fb034505c64bc236c0fe2bdfd34da9cc8ade9f8240b00db4dca601df830b7d24558ea946b3516f6e79e54f34ead862890978aadb005dab09a028ea4a6e2d1da908510d580d385d13cee0bc37e4e8c64078c8ad78a6cab533c2fe17b4ce332d03756c2c78ade67f43c8361544a5bf08cd8304fe40ff72e5aed797933af4615489a19cfae07a4f0561541a7041c13522b5864ac41d4fc45bf318c1119688c384259baac4d76ffd2f8beff2c0c97b9d35c65a9be5175537bb51c5a4a4672495c3dadc99e4248e3614cd191c06119fdb8c53fd6362c524b2dc90b7e0083e354c0b54575fa02a1752ace2d54b4d595641caf5b7a755afb4792bfc8274b664b49ae890bf7e33d5b9b7ef5d610376276effb78e7eb4a4b15c1e128d6d6093843e67263fc1bf6e3df104c74cdc85eac8c35c9138f8a4941e039e79f68abea5fc0df9a54ec6a44e8eb96346278d5568d4247d2ac54e074758407f7324df2875d762e68cf4fc3ea735d82f496112312edf8c313726dcbdd2d59e7e2a4409ca6239060d64fc901a73a2272895e602f581d414aaff8f0680390a8d84cc93edbf0cc19261b66e0f76e7fd62cd181abe37f0b9f2bf4a32448d85358efccaa73e887991ce43a594b8fd12e2ef500cf8cbce562550d113b9c93c78256a0199d9ab50c8e2006c27fc7b01340e2633e113342646388d20b731d53672400f1e81ac89a458b3b8356dc62ca8a130e58f9d01c21d4bcf51bcd88a2a85cae091accd24cd503b9688bdab7f043fed9a7acbca8432bf7c747cab0b15016f109d5d1798c291e82705494e506e715ea0a66152a4497e85c189d0e04f9cf6d4e1176323952b67f5fcfa472df3381c36cd27a6b950d73fa2740791254ebdcd3c6c922348de7421fc0e9da4aa54bca5a9379d4cc393fbcac08fe32c0a7400dcff2c66ee18134959f57a02ace8e7d8d7a6ae9a91c041d04046a411d6fe63283f71ec6b6ac7eb4307e8ddfb7633bb3cb5f8797d2e359b24e57e76e2ba272d799ff3328c08ece26399b240b3890aeaf06db14956a15a2a1240da53839bed12c5ee42ba9f0a2fb40995a73f82f106e2cc83eac4e9adfe19c441b4d8cc773df4c531e6775a0265f75297ac050e6d0900c5d598bd2712b5bd097872aa7f3e9059387790f031f4ad192af8b63693beef90e1812eb758a919d4a187d6ef0d8ae94f685c45976b597444f12019c9637c2ef096fad2434d42a54edf2d58a0be34109fa882c4ff54351ce44b4567fd3683c97a165c7698d44610f14d46b8ad5e3a673265ebb25b6193581172ecefa39ed97c8e1ac77ea9120e8b4df375603fdbe4f4698414011ee07339393b38f750d14c7be727c0439322f2b2955fb9960e204e728f6811d13d3123b5bc592d04b95c31dc882db5d5fd72a6f46b8f84cbc286dd8c887ace8dfe06ea2e6d35fd11a571c329d2436e48d10681ad516b8093a9dd8e50715c6a7de384748ee74e2ca521304c3f50e159eb28565521e7db07488ff9f721e5554ead25432716a9496cd913ba082ccc851b1fe68a80f5480c2eeefd3e530897f19532b01d283204757352ef3d9b515d489cee56362ad80a6a6ef0ceec2541167dc136c89e2f222b019acae35c32f680e82e2d84aa5359ab7223196556296f85f75c47a4ae73cc6d05d3d00290ede60460788aa38f2b04df026275b1325c639b836311b8c2bc308931407921bfbce060e84977578ad39f43afea90976555250b30773e8fb291a6aafe437b914e58043c3459855936b956f9eaf8e6ebe008cc281dc53ceb6086799b651932759f4d6ed090522087a91470456c331b829a5efec3217c46673a8bdc17fed2ad8bb0ae15793232bb5ac3cef11cdb2528b5d183912c7247619228b3e158d1a30a953cc4326299adcc148a71cba7ea919c48f9422cb86937419ea5a7b057dda5d8b0fe4895e33e1245fa54ce07400c8d74169c37204dad673cfca24754a423996709dfc07586e0b0bbc4d183c2f9887896672b2c38b2ae0432cc89408417c8ee7829b0e6241db3ecf652acc537f33fbd18abb28a0d578d3a714f90ddba844d49f112a02fc104d28aab82d5a96d07c08916199cd97a8accb64def7608e95ec10f2b8f831ca106c54ee7e78dce8c3096a3c92c389bb29268a55491bd192002733645fd06946562958ace2132e31276f850567543db76d445c2ea333ec554134dfd6f0b309398081540d38214062798f29f0a21b7b976eaa436fd8dea75533d01aaa2908d5b6ed193a5251ca8c74daec03eb8a0ea8492f094d84a38bbde42a4c5cca0d10aaaeb92aa3ee23339fb6950b30d204c8993b32e0d200488cd8b55b60c1bd016adad7d47a1c2c58ef826a4d1cddbe487a45921b18326b80be3b05d762f0993707fe716449f579e36bdfe309dc42acbf8d8c15260477ca5a54eda1f21cc215f3d84386ad16e76326610cc57161f86ee663ac8f8b45d2800fbbdc84bac308d4860ba5ee45550dc08f17a0f4fd5f52231c1dc9c095f6341a3b627d2a3785020781505bf751e36f488fbf146f134466597963e807e01e9285112367b7c4da102cc9b3d30053bf64315901cb7f3a042d2072e9384e4eedfc41aeeb65d60fd41547e1957669b1b8e536ab9f209ae78d49ce29e606e70d4c6498dc2aeeaad408957a3f2566aecf5e8eb7817a5dd6f6ee13d867ae837a075349a589cfb609665b2a868787d1d5b24581c970ddb0d043101867a7b421b9321fe366b863b3e58801f60b83315eb92575cbed3517c62cf93a054ca8e141745198e2343c4239f390a5fdd69ebd51ae465077191ec793282a7181243a043cfaa670419f2b10b78b026387c5adef306bd96e3eded17f6e52eff5a677301e2991edfcae5dc9cff17412589ffa3ec1c8b3407f4714561b2b066d45dba80d041e70e84e7366b5ad53c383318e9d13bcb3224cf8e0c348879b536b420299cc7a463df377250710014556fb605c4daa392160214ac8739d8b913605e763d11124ad8ee992e625ec9f31353cc3d37da22023e55caf054f42e025be08836fc07047524d610dce231f86da96dec17eaed0abbd155e8b3851e99a0409d28ea5003b3a71638b543f125239a640cf9f0cf2b8900fc2bc179c6a53b558f9a7d44bb2b0da5eec967786e55acc8eb68c6e4b766a8ba6c917121694d1652c55659596db8f4d8c5c43e2b032649978ef467f98e9cd686b73bc82114dc107c59f11f14eac6007de64a52ea69d9a7d1071d1386c340e2c89df2822c308890c03a9e83892606a498702fb6a6d7be02a2df2217aee3b5eeb4850f8b94633cae994c086ddd440751ec91c1407a9513b25061a8ee514016dce7bdb76b52660628460bbaf8c3c63a4250c490bdb476ad004f268a38fe2614bb0d5f04c143b502010c4312616365dc7120a7dcf9fc751d8a6dd1e47a334ebe39b1983228588dd9188e70ff1a695e583f5907d3dc187bb7c0f4bf6c5c18ea0f2495e8501bc2c1a0511acdb4f7877424d84e0d4bc90084516a44952fb6b22cd52be370058911a8822c554c45ba7c272f62a18489be0c792a42f44062a7895d6fc6df1583828b5f445f3396541c3868188a362da1b9f3a57877bbc97acecbb8131909910fec43522ba2de8492845b2e2c4b70a5f5d33484e1c585dd78f8c02b006fcdaca82fa234abe2ce875fb914fd55d8330d81b081dfdd6aba22acdc05b53ef82e90dbff9e45d7fc6ffc16a0a5d8bae568fc34c5333e67bbe48ebcd7fbaa877c999372f6313f6e00ae17500f9723c5e3736c4c244785d9d9c38bdbf699ed296b441be3dbd242023021d30e1f5e5bf91917d35ab6a74cd692fb38e893246f640de9ac266ed626227fb40e619a3f8fecd5313957898dff443dfbe4968ac18d8e53e77cace03de3ff2ab4688eaf44a359f3682008dfa7fd0b0e4936300ad16622538947deeb6862658a9b397ec9e1ab5c620b22c610674104e78e89c6ae7099ce41277fb6853fb296ab236c42a7ca24cf1ce985923e3033ad57fd6c05dc60cc2adbcf8ce798f4941bc1534647ef69c4f6d47fffaae787502ea2e6e4def0b3780f467bb9cf643ef40bbc8a9990d15f57424a5abd838689c74601dcbb26d7fc2a2879b3261b5678b09841c20753711e2f637b05f06cef8acc49f1cd4d38c848a123e591327d4dbc2df295ac47fed5b91212768648007d2506bf9524817c6e1f6b11a0d31809aecdfd5e22d2efba683212209eb8ab7e09b2eb090f2cf7af9883f8b913ff40e0556df4d70674c9f275aff5432b196eaa9cc5e51e643fc468f0bf3c53b60eef93159d625846125c4d24bf3be71808a236ba48ea171b20fc20edd1397de9a5b45348d83037779c2881e18dd3631b3157a0d9081125af5ab4a6a7ac52a43886c710f4237198a23b8069dab681c66666945578eaa947c4a82734bbf96402a9bf290f1f7b489b426d7ffa5a0c5db7910954a2af3d4316524d38ee8805b5a3f836caf5542b8b42c2f5b69aa09b57bd022c41e2096d2056e90011e4372661010421165b6a79e4ee364528dcd94c07d258d3650f5f49698b6dc8abc25ddeb8752762f649c6f1d276cdb69e4483367767d5781b6375e41aadbaaf5c089a625d3f824fbe738d87fdc2518640fb81387ae8a3ee678724b45ce648ec9ae153e85a3a1a955542396bdfe2f13c1d63db697b1c716d1a2b7e120f767a417eb9f9ada946c367a45ab5554dc3762c3403128344cc568bda8ab7079ee9c9628a83d58a2ba491e7ef5ceb985a247a8df7748ccd738ab4aa35cac17874005ba59d004df46f23d171e880a913e617a82169c28ecfdca38c1255b7d987865764bbc07580ac146b7a0405f603d1bc4413c1e6e74ccb3db99e805f9afb072140804cdceff507d1806c5976b6f71743c9cde827b9ae3052436564fe2b66ecc428c0c2db29ba14fb0de7fd7038300e07b2598d45f0fba7a89cb8b7e1fba02661b7279b4862d98517536730cccb417cb938f5c3db0459e09e90772ae22ebf3bbe754dfa6d00d858316f2cc4cfe9f3d8e0a5cfe9981d4bcf9d61b667857707ce7f979637069465375ba54100c70026aa4fd545d4090aa9a0e812dbbb7928a71abc97365f72aed7f2f74c144b3497e1ec58327ada21b35d9ff7ea465bc56609dc866d0289d8f1a64aed07320fb7ce0278e92a20be8e07701fd3f167cea8bc45edfdc5451f1f6d2da96726fb9b7942949198505340508052c168bc562b164acd56ab55aad96112be63f2f21d850acae70cee9254bba60ac59c3582c168bc562cd9a9592a18c3e761ac2b01a853ca7613058c7571438ac0dab4ee315e3d3e91f854aa56a6c1439fe1ac0d1f6dbdb556e17799ab4068f4683678bd28d663e3596acf2be3a24690ebab0414fd7c2a9e8220f51d145964333371af23e37f21859bfed5b5a00226bdd91db2b6f421e33f2289b90c7c8eda5791497fd681a6834352782e14ec55e2c7bcc727a91d52993da90ece58d4e92057b95643ff4d945750fa34df9b79b551894acd6af2f5acce19db8c72c1acce546732ac14379739d7cc8adb82eab2aa6dc318726f1c9dbb1b520b3a435e2b77177628e2dbc32c021dee4e60a71e494c7c8cde5dbe6da5c3ed42d79f3acf950a3ace89866b9d12db2697cc863da63d307fb505e6920ccc0de24b9b94962a3c5dc9c3ca64324f35d9061f83059a9e60465a0df01192a0593d48f2a07576ec5174556aa29c3138907ec3fbf0337495c507560035b66c0600d2a3b98c406bc7130023c4841030b5eab28d42bd94044168a232be4e8c80a7922b66d72747464995826f60596891562a1b04fd826f6054796494b8b9d7992624a4fad76f78a9f52c5adee6ef7a33a8fa8bc7e260fa62bafd0d9b6add6d9755d672d16b049e3ca2e6aacb090a28305d18cd9d884b41fea8dc1092f71230b3fb2fdcc700b501640b9c854c265eaccd5e945d631995914a957071e6041247bacdab8356ad4a861c34616320f8ab435780e049a0756a6177c5c8e403110acac00bcad1b63d52ca48879e0832833a34c2cca841283c5624a72ffad3ac064d1f22353e74178016541240410163f4c29215cf9f9f003062618e3471a653aca743902695124a5054eec08b79484c011e88aa39a23d01552727b1178bfeffb40b0460c40b830303030208040230911bc1d228820020ae5ed70108b964704093e60b0c0d0a9926bf5b0f293d8726c228a92704a2b728e4d447192e5d7af84048e4d449192c319254afea2abdc46c546e5d804183859b6604e29279409654e28734ae972c2c333a7eb8809c5c735a148e9e3f291d2c7e523a5131f1fd7131fd7139f09c535a114419fd0274fa47c429fd0274f66171fe08052775a448b282da2d49da78912259416b18416f5f0d022f71e9e1ef71e9e1ef7263d3d3c443d3c443db4888716f54ca24944e44e34898470bcc838a5311a9b1f9441a93b2da245941651eaced3a4a787d22296d0a21e1e5ae4dec3d3e3dec3d3e3dea4a78787a88787a88716f1d0a29e49348988dc8926d12422a246b4a8d5c3d38452779e2674164d22685193264d6094e88e628ce01562234c68a2b018239582c2da97e02558dbb8ce5e8f54c22aa61596171a356cb41879cc0e243236934191b21b2d378624aca5a5a5c5e5e5e462c3831a1e00808605c08d6f0370ed6481200a794c83f2e531ae56a9c0e81127d0b409c996f490c81db963e4cd6afcd0f090489774b5b87ca0f2c2c962df909bc22c8db9eb836b976098cb91c1c9e27363449ae6cca0313000b757fff2bd884063a4e664218de16a84e5cd3ef0c6976e14f309e17647225c2834248b8744aea40817756190431ab34245425e04aa8b0981861082f7c21301bc0ca0f218c0bd3128e878b510e3ad2084e3456652198dd12d248d37a331124e0a750202cbb7386e7784652e8d757332a2dc141661377833ebe3cd9a00574600024c02783b24c8494102879c6c8494b7036f1663fa3d33220d272305c94d63eee2644e43639c2c778c3ab1235c7b044ed5947b9c6d50bc99d3d098c7f4d78a63b146f5db21f0dff0909c4e29129a8402c80218e016c5624c532e228d37f3988edeec8bdc33ea04cb0f3d03dc170f5e4c2b9825461831ab102ba574bf3e279532bc74ca6cdd70a52b2258febc618c3176b3e5c69da718632c916ae0128dcbe2923571709c3a2b266d33e56d13aa2c2b2a345828ae4163960293cef07201ad610025800288a22144cef0719c269a744e1d60081740634cd9e10923aa19e40779828c52640b416adec0030d5308e9c188c8e59430c51053a400d31a5a4290e79f76c8930397a89b46674b149c9ce79f78008ae2017b7304fa62f6051854d896dddd32a63fca2813bf39ac7292d273b7b3a39cdd0288c92ab923d1fc605a8bd81f61629c8976265d52190a00dfa85185ce32cab8bb7b95b21c501925733f8ee9324ab9bc30c3e54b0b6c84d99eb316bce99efbf98531b836984dfd0ebca9b15fcaa8e2befa3a3caae47c0dec41411986174948ff533873583577ed35a70df6684d823dfa3df77029ab9452d66029a51fbb7677eded678cb1ebf7e7c34f2e408e4cf420cb9aec13d83afa5491e8709a5ac31f343c7915846107d700970675344a3a88a47b1dad21b124df1a03fc424392feeea3b783d3c11df75e3f7a29488f036be8236f2f595068171da82c5bc653780a4f37e229cac830c2e2ab3b438a518e40528632508e40528a64293859eb204b66aa3152a9982346779902f2437be8af4714caed2764f927a4bca66762036e76b0473f0bda37909fbc7db727011f51286b60091d23dfc5bf6607532b981294c353f784157616e1f8394ccdffbc27b08bffa951f23d59121a2c414267b552a554b83019d16404911b0c712ab716779563b491cfcaa83cfb94a9fb3be852f36dd43ccdd74c6069dc0006bc8a9c0d584e975a8b7e32a51ed02257a6f433a53127a807032a0283d64969c8f45b521eda9f9c46035d1c205551e5e282a6d12813bd716061b8abacbdbff6c51f294728a1ee434ade5953354e6369eefb7f96208b63cf267ed8b3ec7565d35d501a798c7f075a50cadc5d1ee33adabae7020fcec5a6fb0a44556dbaafe04d7d4d1a4999cb73805471e0c96326ca63e6db99ec5776b1899d0344b5bdacba8b47377397ff788cfb6b4e4023f34f51a458989f95314a276140eec06501f4bf510e246b43e09fc2450e71c6f1f3532901eed76a95fb098c8855f62536c2d498a41c3de6441f8755481f56ee710b3248d4280980dc926313fce51084dc22e47e4ffb7e2ee620e10f3de86f1b3487572a954aa5d2973e7a2a60c4a58fe45d952cbf3b4599fadd99724b965852d90e6b87c562e914b18a748a748a748a728a72be8812428e40454e4029527be65bca2e5bbfcd653baf57aa65bb5d8d665bef36b3e56ef56cbbcba570aff552f09fb1e3ea16270d2c8a524a29d8a848e947fab547fd8dfeb43fe046c9c9b3440e675c22cf25f28cafdc63ce960ae8ee8eaf1814092904d4bcb2f7708f54c89c2ac4ccc9b0bb7bce397deb766dd218e98cd1bd888a3ffdbb3bc6183dc6d86d59b054efcfe129889322ce60010a6642c650f50c30b91ff7154874977084cfd04824accf204356964605e50891c3ed9c1c23326c730cca0941d0901d040d891234440653040d69e21334c488206409828690a07d081a32444e09127283862248c893d9174142b0c89e6390901ae4103f5d829323d013566e9223101193ac124dd8405d89393670c231c77cff579e412290a28153fe71bad18b71e6edc1d05b6e9c811dece1df39e66dbe0636d8c3df738ff973e606ab03615f46729d172a2f1d2960405c80d1ed9830ec98af8292cce5edb580e508b4054e0e535ac472ca69de79d4fc51c606cc7dfd30c5c9f093fb355006570e6558e51fb58d72833134aaa3caff459a205f24b011268cd80827255877e0281304cb7fe147cd13ac4d709c50a417d6a70950ac60a8a650e8a87cf6544d99c42b57d68eb7dcf5e3af8eb5916c56132bf693bfebb46435db504d0fc158b196a6ea56bb7e5e4230168bc562b158ad56abd56ab52ed03b2da746015add6eb521c697130bbe95d24979883964fc7cbe4fef119872779b20e7eca7307204f9f565460dcc38f77c536edc495020d38fdf6c17b83f4b0fea34302a76101b0f8019c081ec3feb3d61af5282b8515d1fe346e17993fdebc5150b99738baf1a4d0343f91b9d4fc1a9c9e984fc27ba11ae103947e8213b8c6beeeeeeee2e6f904143b651c4154d941431b403083c479b1234c58cdcaffdc0b1723456dd294275362544a612236dca8b88fb08d1294e3ed03ead39850a1d25af295de4e0332be387e5f4825972f0ca21fefbc46c8b2239073f30281c37f2cce1a79c9892a3c34b072b58dc7b855cab8f28145f35fa4bafd54d4f7a93a9b7add639abfc9130392489645d81870e14a2932885bb9496f4559b5eddbdbacffaf3aaa8bc55992ad3c15ac14afa421f757e16e851bfbb248da4913492a6b97623fd58838834146c7049dec0e6c9fd17074c7349e6d2db792f0e78cba5b7dcad75db5a9b539bbfc2c2f296259cf7e280672e798e9a8ba609f58c1482e6655214e90f1d66e4eac9a1cbee0e135b40d1daf49ef54cd8addc610bf51647b2e461480e5b480e1da7a5cc727f3be919f98176f72f64d98101a9f5afc857a3da554e3772c42c695cc7636afcc3940a25348a852e3b7871c0da0e18dca56b4e6d4714f26ce84b97e7bdcc4d2a2d6b9597ff34aa9281c336729a1b20aacd050a6ea074354967870646c978fbaed6cab52c3c75c985bccf0583ccf5e3de7ed3c19a1a54cda74e28179074693ea323863e6abed414788248b6af4f3d16ba5cc12fa1533de328744cca6bb415b8749ddabb5d31a3a647415041d00774720cbac1289563d00d4664d74e297c2187dcfb38e5fadab710331295e8c1507afc1cc7755ffa64fed1b67a355880eba740dffb1f9d2b4bb6d6fbf67678df5ef566e993d946acaaa5f7bef4ddccd5af15bcde0db0cc5ce9c3db177fdcd78f66aff4d5975e03b45cef6c1a95af1f7fd6d2e3d7d1d6253d0cdaad04e6ea794ffa5ceacb0cb2a87c382a2fe4552a6092fa2da527919a442a813e4eb9543f7ceb17469334993890a5511ade02c746e17bf1277389f471f54b15f4be0cc8ec5581c31f392cbd8f9b498ff16bda7ba56f923e961c3309bc8d8ace0487afa124ee19792d49d32e11fbf70b81e4eb7db2542abd0a31974017fc3dc01b33ecb280d2d72f81f5f1770f2493be5066d2731f2e7dd24b81f4de93be98bdefda2047b0f675384bd53498ace1b0e0ecea6fcf712d00c975d36c7b36a8bd6ddb56b9eeed17c4526bfbbb6f2d18c47e7f17a4b6beedda6ddc56372ae994eea446d0e4befb8274efddeb75f7bb0e0cc27d17ecb8b7b6b39ff61d379d0475d6508389496909dbdb6bad8ebef3b3f3b320d775da73f3611a558a4dfc38c9d15b40296b730ab939d83f4608cc6c867429a9a453c6d033f7a7fdb969f9859ee93cfffaa073d66c9fbb38f57e9bfa0dde24f1bfe9afa00df795032b06a292b7a6511d384b68d4fc1b61e0301a45d80b3df39a3f79f298d3c2f07c976d7bc1c73cd2349feb47509e3851f6212ea167e412247278429efdb2e9db121b5571ca707458e9b0a3c9969a26596c16f055aa35be00d6e8262bbe00aef4480cd6458521c450141b1b4c66128944226d42331ca50951b69c8912455dd6304952f7fd8d53573930134900b4744d707f386bc8720ec9f21d8c2ec48839bc97ef463147e9fd8c2cdf7190a5e7204b32a4cb4824d2d746919ef4a48f1e06639489a4cf63dfedb8ba6931ec4cb965836d4444392ad22af28aad185b8aa109018b7e288289314ed0c3175e032c41bc5a5e8fa994644929738d320d7b934af7219e24eebebbf6eeedd05eda18634b29e576ddb3dfddd3b37f95c0e1c97bcb5dead93f699efd39bf6963d470f5ec5f2635cab4cc73b6f7c92c65ec48b6653a6ad3ac51443ac646d3cc74649a650baee4482989e8e4ac0c9940e00e5786e4661959d9e999233de3fd9098234e9869b6ead7b8adabd9daeb7ddcc765938a2575dfb41f128c1aba5f357d484a2cef93d9ae18699ad2f7afb0bee8d2a3934220f9d428253c1e6d5b5e2ba96e2a97f33e708548af18e9182cb35dc9892b441ad52b39b9dfb32c1c12fca6eecb7915066d2be755a4b742340d89f4ad18a174e6d0d2df4f6e734eef372f7e2a7479822bac2538b4f3994cd0b64a3bd96d2bf74fefbba46fd2cab615c1d3fb6dce15d60c081cda16cb3413c2d5334a4cb398237aebc81c4f5db4d72395b8bad2f285b4fdcd2d37cac01b0c320c32e71a736cbffde773c5e52e3830d51b5fc61cda47f3ef9470a665794c4f1b44344dd362adb56edbb6498ee3b87aab66630eed1ff7e124915fbf9c5771e076a4ebba4e4ab91d99736ead467ddb4ea37a555a4d6d7a691573c4a9b19c3c9afd43b23df7cdda955616c936638c74f31ec0a9b8ed0ae1d087a856abb5da0ecff366d87a12f49913e3241229edae8da36945bad7724aab4699c4180287263172eb14b12c233dd389b1edec8056a7b4122a6d477adbf102875667b39d96e527e9f4eb049e768637596cdba1f43b6f07f52f66ab63754a2b1f2aad48435146bed501754aab0db43a3658786a1f57aff6d54c3feddb329d9db655aeb324930ca42248c86b07d9087460b56762c4d3bd767f67d15560538e413508a150c30bcc34c7209c18b4e48cf2ab7c7c443e65a769d86ab5d24125fff4724650761ae880079bfd31cb490728c8fe2f3a982520fb0e7cb23f8e544eae3941c7d04c29fbaf5094fd5b085a9191fd6d7ae683ec1f8109508087ec5f811788c8fe3e3c6886313209d93f8623d967f631a4e41c221e44c351f697458282c820fb4b231e84a382ec2f8ff40c29b7b29c2b9019bf29c2a4c0062440537470c310ee37b8152794c423f8c0040e5f609103d0146e838a73e15e1b43b941767683eeebbeecec02d97b99b84be090e5be6e101126d6a8aae5fad5affaf7eb5fba4958d67e7b1309b8cf65c863b6efcf85823c70843c667b201d8baa24f24d33c051759f87c76cff37496cfaeddf24b1a9df7f9384036f92d8707fc11b1d1eb37d121bfb1c7893f298ed1bbcd9b6b0853e555b66c01ce842410a346a7bc163b6168ac163b6af9f85e159de5ee6800df398edb716cadb5cc9a654d81b049e52ca97fdda03d1c09beee9df705f1f882ac4f9d47d3ceac73d10d54df4a66f536f923468439f0353ef31fe370e4475ba40e00d54216615555469a0ea1473e028e3dfcd80e540a42f3943c90e3b3b08d5384a4287d90e44a230c3c96f99cb3338418c716e54a39452ba4d6dc6f7197f5229a5bc30981bd77d8803e625c789a7c782674d76d7b569d7a728add2ed6369940d76256e901db466f3c60c517cb132c3cf0d4bfcf860734ec04518557c60043fa8a6078c88b284116494114609658851c614d9468e4065bcea8f65c9f8d69652764cb6b3c41c4debc555ca1ae0889277d259fdfec81e513486ec71de6407e726fd4feeee714e2ae56c4f82a40596f171a5d9bec1debeeed3b6c510ab462d8b80a669da4b0856439baa206a95fbc845ee2317e3768a4ebf1f34cbd842797b5581e3fbcf9c448e71fb6994c43856ab02f368a151eeee93a66590dd453cc678a374026b55601e2d504a295da151b1d2741595269761a8842df835b574341300008315000020100c88842271288e85b1bafa0e14000e6e8c406c5c30148663598ce3308c611886018018600c00c8288390423554030070ac90b38a48d0838740955d756b3c7223c6fc0e820a612d1397b40221633cfd9adef4c80310aa4a35a1e9030487c9f413c3f8218b7a2b34b692cc0ab34a20daba035b13052f9fda921fe6c5cdd8b871083ef300c0e8763eec8982d41e479752e010a63c8614632fc43399d36682a1a3bad28970fc493376869bc3f18f9458f623abd182dec2b50f3d1bc631afb892d3153f23b0013a481a511eea6a4a67bda1ba93724b3985bd4110607b2d26d6245f0bcc895fa24068a0357258c1208dd2775b4ac9f18d295752a58772e47c8cbf1b42f102c1b820ad015012a0a7658ad2fd2dd4b2e163c478bdfbb9bd37d7e431d9061ba728d31bac2c46369da1870d2aa2babfc432d02fab6bd17628a8c68294731d79745e426b18c8d5ae97d586e18767ecf52ae0ac9b5668ffe521e5a95039236bb61fc381fd4b5c7a041c01427c402fac49ff991c595e0300b5464628e2a501646eb89c2f85bc6a9a78636bfbd0cb6813e7137d0da5d5bfa8c114e9e1134cd6ecd57de0b53b8362592273e65426bab9958868e9812ff734c004572dbabe9c031e096ffbc3760c07f6ed426c4204a613c4b15807a6e56805381851cd1f6b2a3e2973d8fbdddbb218776d3f3cf8999b18ac4cac74e5f865b4d4936d01199b56eeb2a66473ee996aa3e5a31f904496e3fbec2dcfe1493488b457bc61c239cbfde912da54f6a796a0f1de677fe56637d0503dc34fcab2adf39f93cfb883896e5ae98998b98bdd130915687e0ac7c30c8fe369dadb85f81f9da7ec73505d7a282a81258dfb1133f5f2948f2dbbe72970307bd719afe3c2ff2c63b02eb60a43ad7c2fe9712f27fd1aa2f0530caf99c7034d012f1c181805eec5b9eb4bc0a04950d940b817b1b4d158c835904f6febd8df25987f2c3eae4cc9f179065b4d94f26eb6eeb967388bd2b4c09d5b956fa260b3c56b049186ffaa1aef0f8a511fc122ff8c5374db702570b233604645a1c26692725383d9f1d46edac75fe0155884e0115e51901fa160ec0236aca725d9472bfe63a3938d149f639748bf64fb01dae957ebdd1ab686f99991e02d6f9ce9cf550129131b2912824837af1e6bf3c84ef7a8f18464fe70abb396362ca35020f82bddb2252a423a976319bf7ed1645c7efd682f6bddd837a627a6811120228038d768ae773661e778f7f74f4b86e034990e47e454ef78bbf4e775168bc01753fcd4ba3c284a3ff1b21b3b0017b3fc8ce2864a9979c0df7590586fe6ad73ea446aa02ed8267e36c5fff677a2d541465d780b5a28e3da74f45253f32eb48996a0d61930e059b950a8dad6636e0ca69ed3a5c0ddd76933c5b949e3367cd41089aba1e6fb62423f94541f7162e6f36a94636e0529da75f19201ee4364adbf08d706cd27c54ba5fa75601007d92be7a07fca0fccd68a9d5ab19933f2a7665fb92d80dcc3e5fa25d59dbaa51b309fc62ef8d995da430dc9f33a2f17ad1d2039f3c649af68d9f6ded7000a29d4df8d655a27a280532ab4f2087d753b33ec5f14698a8070d02ff484e88d73f4ccc8521d1c58cac8fb2051de442c441aa288420bbc8d260fae2bca8df1864a7843194f9f2cd3c2002d831fd36008258b1752e8f2a612b1905f9296bd1cc3338e91bf9202d07b2f5e2a5e69fd7a65c6366f25075d6a85f8ecd1adf5e96439ceb1831d4e143de85f103652f954281f0c63cf75afa21d6fe5f5eef571f3ef96c02506fee7a11be63aa3314456a960b4fe16fcef0cb9cf11000d10e300f854fe2ecb22a65c49a0308ae2fd5256247c71edb71d83f91a785613da6b585ad285210ffa2cdec974a406f889e6fc0173d81a13491a6eafe7e404d5ff70549c5482969775473da593cfdcbd03ece04a906fca9064287fef0365b8de99a7095856cd6fad7104aee00a74062f17ab563a1f6b7fe32a8d0190662477d22b96c0e90494c203b82ac150287200b2802df0f54421f9cf0257e304074834f012fc3ae000199e4c364771d9851de4cb745aa3ee48a2ec8160ef7ed5a5a50583da61a10adcfab73f0b6492510cc0296b89c3e60e852d17b5b9b79b5e5c6572b86213fe1f41c61d89172e8a640068520b29aa80e2379222b4013e4f6fade655cdeeedd0d16fba4ac7535a704a4106db336eaae6331f1ed57dad0b469ddd225876fd4d20f79dda9553e70bb1248bce9031fe4b634fb45953e3e0f79493e26a7c04e74d8b0bc8215475c9de1c9b59a591b0c135b8b05d23e176a371a27a9bc9adc2c6fca082e7f42e828ef88f6fe9a946c325530f7ef7cf861c49b54ca024b4a3f2eb67d75476de6fa12e8686d47debe8b2a0cc09a4fbbf2b4c6e0543cb8f86d1f2f3e183c7ad545e34985ab1a8723e7951a1b42407ad9f0daca07adb86154515c4a831e710298d37f4d65020125057a0b44cda6e6b1800ae98bfd664d663fa2348d2879d2052c08bd427305162a7a46559ba1710e48ce3d44644e529f94c85f4a0a507d2c1924e6e2209d3b421d4486bf65e95d28cab1a3ccd0649c97e1c7c9ceb425462a900f7fd24a5c11a151a2f2360e8bbdc5516e9009d4639c7dc6025f3f8676767ef2de1f0c6b0559b4665ee7167540fb11278177926cffff791293bcd55052a214835ef235fb0c3a6fc9118d37c20fc933ff06420657b9661bfa5c79ebf5d8ebd24d4cb856b25f551e74ce6f9cdde4ac023e51902ce6482f22d7326a31fe6288436e8713d7e827273ce014e997c4219aa0da564e86990620c87324c05eb63f5e94152530020ca1c1316c456586664e95fa41cdcd4cd5f05611f2410e2058ff2268402e3c19f46b4a8df017c72d5924a453bd782dc2a5c11188ae382a64b26d4aaf9041a5e926bd69482a7fe9dfed4ce34e7bce0c5544e92c49fb623eb018db372a7525a64a4529a09d319fbb12d3d65a960e10b9855b25641db8f1ddb394c1305eef0f79422553f83ca88d043753c9a8a2a02ef0a10503d08f4f6ba02d4ebf11bd551d044f221206f0426842045b86f0ce21d19bb13f56d939eead250720a0149c175100e6fb6c34c8d280b52c45323255d09d4071150becbc257eb25adfefb4e6c5b97af520ae89c129ee84d6408b29929542b0f9e3ec00eb67b62262288dfe1d3c4e8ae3829b8765bf8f0676d358b19729ab0ab0ba8fc2a9795bc07d10f7a33af8a4b685956bbca6c5d6e56101a05d1cfec14b8924fc030133b1ff16105298f1806251bebed7cf2d37210957448dac4022bd643c002bbd7f6c0ca7959d73d48eb62fbf1719b600eb43d8f2eb8a6c6960c9e9af878bce96823a810e306acc336330c0446f39f7fef6fd7e4148960da1ed644223fd1b4338e8c9992ae71436bb8a6a7f2440b333eb057cb675e12666de39aef38360a92bcd0fa2062d2fa339117c69ab5a6474b89404cba39cfc72fd0fd899444cc6021fac685f244b7469e0e82603c7562b460467a162b60cf8d54afc65875ad4dca1b8591d1172969b907f247466590ed20d1932910de6a48d88b72ed64a87a514be7ed3ee36e1ab9aa0d1aa029bab13ac673ceaa8393def030a139035efb4a88ba30a7c9f4f11bc647bd0ab0ec42bf81a46582dc626766f29395e2e7e0b74e91fa5745f9ab3deb1db3d8a9a6e3e21fc5f069bd228a21e1eeb588a422ce206c8493fa0f17a08bc57b3a5b211606af3f23a0b46ec559a13ef267a96f1fa393ac4395d6efde1d2417bcba03c341844cee9f9bcfbdc21d833759806fea2c04edc417fa8d4635802deac6d98c5a4b0715efe883e18bea5a82c8089db138c7e234b28eac474d31c810d69858d3538bd49f265d95d1b52f0b50305f59378ca76ced0f8bde1c6392b4f86eea730f7f99b194bf3e1fcd1f63661d488b61d48c5505269eae71847a3131fbb7d6d80e247a2ed37aa0577abac7f11eb0488f8f37c9b0ac385d3cd6d8e8d010e0987f7b60c4876c58ce7c60e7d2164925a24594c858daa0ec86991461ab0a41c30355fd26d11baf77c5f0def1ea358b12ce58474a43c51906b83c71d60998e627081a09e1ae71d7045a573010c33e9f5fe762d0ee0696a81a351a884ae3a2d3f1c27cbc864271ef0870d2437f5bf9cba9122f6ecbc0b191eb0ed240ef7822f7dbdf06343064f5f1edf48ffbad2b6fa2ff0b5afc85e010d0f96ec34faa5deb776fee6881b49294001f99400dab1f76c7937a337c7a8f7dfeb1b3797773f0addb53ed76bc50b7cd7507a1b257fe8bd46edfb6689279f7a659a8038591c176cc590720783b64f12dc3805c7f3e2630082511019381383bdb8fb04e249179f750ddea84802fb523841a54a5b20d4806822a1b5b9e6d35746342b25a213e8a9e04575943b1a9b57e1ccf63a94f1f2e208001767b483477f57a112860c981ccc99acb75850c526e02c875d322ba9caafff547fa2ccd79612c32ecf6f9c9202e896b7442b65f8925050f104764ca72467e4b0ebe49c59b6a5025dd99966caa027bcfd55c54930f154f02a21929ff706414a30c55850997311bf50f2982a7c16a752c4533b62cfd8ce53edc35be4860afb53330e1b9146968e8dab9a2bf734421073cdd0e856069427c63f80cf265f9ccf68704d805a8e7646f68a49217dbff2ce94046804709ea3ae0c3701d5569e99f71f84bc99355285423e8a2d84f09f8b448f76773ec42bb860fda6bf8d07f373284a074040f011b018f9b0e5559f7f8f99850064787479006719141447330e603b4e18ec9e3419fe89323422b526680ea77522cd3a868bb195d687147f1fcbeab410d8d9f4e8a0b2cbecbe69e5379060a786663ab04bd98d05b8be07dd401e0682a28a1ac71f393e69ecef64219963bcbddd98325d0639c0f62b90883d761541a6fa2c359cf48af3b621f2141a87ab9c31a98389733d111a01f09ebb29704657a3ad377a8016761c5afae452b05ce294bebb945b8c86ff17cf045e7a46f7c41075d6726d062b7430c456d18a13f665f9b4f8c1d99854e84035f4523ef8602ede2b019856229be168852e68de6f5401e98aecf1c30f0521da01654cb5641d5d36da0caba806884309cc1c01bcc5e86ad492e777990b51e0a288348ca17f73c0009a97e36aa30f66cb0c0c9dac373386aa78e3037c3b4bc3428775bb5bdd5f92449e6f401efbb80c3905c981e30a70ad53022b0d808c2932de066eb91e90b3b9b405018b80980df885b41fb0ff5ba762f6096c36315318eacee0736b13494f469090afa5e88c7558c035d4bd7ee820e26744c08733476b5b18ce106caf074602c876a0ac605479352d7032de639d9fa38ab627394e9bf3b71dcaaaa1e3a94909b1cb0d7bd97c4ee7180a8c5ff108b7f0569ec2b3e6506da3cc290341475c2f34ab2668a83914367c21b4083ba83c87fd502767d51cef07da92d7bd0002018a57652c602a0c07f92039798224acd8e2f7975a09e1d2648fd3b7213014f29ced2c6a78fdfaa07bb706aa7998746d0d7bf5a6851161146e43beb5052f6a66a1985e66e87cac8e4cd0f497a0ed28e90a2985337ecc52d12c4d6e0c03af4580268d537b0a0dd6bf098e45b73c03e33e2ed0ea2b233fb668d7c4e6f14d9debd4788b255ae18769fce96d1ce13b2dd6dfedfe6c2fa71a7dfc147f1bcb6fd70735d4ec50a4585977d009681a419fec2438a3d8eb62fb68c5c3729426bcb051d7963733494f0c70bca3dd368453c6192ecd5af5a43e5daadf54722d200e64f55e4c8fb425fe547de35e3d7904f68a963be547868d4e7e5ad2b449cfca0630af01e20ef255b411d3e06d8fdce2f472fc14555c8566a13b1b632e894c7dec75b1bd588c437769d9596db8871c663ddeaabe51f925e41e4638b015558bc39822f3294fbf3dbf2d6cc20d036b4623c2d264e2b631229758a5b01675b9cc18850612e472902ab5b4163199726494344caa374697ae283e23ba3abca22ce79912857094d09d76a2d41207f124cf920be32596c13cbaef3431e9f608b31b93170732cb30de8ed8cb7c9933885b118b0ec5ac3a7d3a4801ef06c898c026fc926adeb9a3527aa6bec2d0b009b6cb20f858d0ab5314ba6c9f1755268e83baca0e4a843b1deb851bab31ca32499b60b37a24deea90bb7d06e55bc78caf76892a227f8a6060d63405b89edfc26cfdffabcb62a8beba3533c3047c24a2f6367cc4955914c19ba593551a964d0de1c1940ad413f4e46e9a79e55364d818ae3b4035b974b01ed6c172c6b1a239883c97f5648c6b206710b333548eb91ab972b84e8fdb5e000dd5fc00ad1f9af2e2aca03293a60bd7ef532c1030b4a7baa5e15bf7ecf60a82672978907c98546b2dd459fd2951bf63ea89ad2516778e50b7a7820a56ec5a2493575df54bc5a897efcf2f6df3ab9eef9b331144d048cf94e07e449c9f0e4a282d645243a30a6260af54b0a498b06a309fdbca9d13ef1bb4dfa583a891568dd46d060eb964f865500717fb9872f6928565a80743a82a204398244716172f5734579354610e69968978ba83c50859b6287f6723ceedb71859a06b0e2ed2017c3a1869ff173388ab8efe38aafbe7746a0c9cc4797009e961e6adb56dfbf1dd70fc60dbff6ae713c444f86b821e2e3fc09136a6f07c3e5179e0b7a3a3dd69e328ca195439199ea0ee03de544b1f131985ebb44a6b251c68e18b7e541da9462e507025c8dc46853ed0f851c5975b5b79cb007a0bd04d19fafe27782feb225f7ffe67cbdd418e2165407c84e418f3403accabaf9913a485947e7ca91e37f2de488050c893d8e0093517f484d82955bea6ae6d8dffbc54d11a85c5d86b0a3db63251a60c571de8845673d7d10c84a91ae88bb44d5fb5529e4fa5a29a4bb2fcbfa0f4cfb3bb697d7930250e806403568e370ed5f7b514c2bb80fa8ffadc4c350a4cc12f843aac8a6bece6f1ccd0d7c7c6122b5e42a487ba7dbd0ea4ad1e38d30a174443aed4cff11bdbb9375a1f957725189adf4d191469cfafd5068550554691cebf1e66275df60903e449494e3fdfe041baf59ffd8a6b5b407b281a4fba6e284a1b7351bfb4bfa093ea657daf8867e62fcc2a237250070d4dbb110c4ffd5923742c133be7980a682cf2f5b215fff7956bffdeb9c28409d5e3ae78ef39269dee4a4836a82232bed709503fd6ceb4462c44ac8729090c7a9c19e7b03f3c772f1686ba9a2b1f2f913876de69d3a3cb08a3599e3bb30ff8ccadc13889cc026ecf6967dad989d7cc02def9acbab0a76924c5550946568aaac9e2e61f4a3a892efd4278ecccd537596fd6849b2a31bf1fa41f7adc09b7d891574203e8f3a0a14642102ffb1fb7a4fe5e26f4aafdc41616e5342eb32e4cefb5bb5419aad86be0e202ab37d8f1ef8edc75657baace1260d77b1d741689b2d10e4f1b09aff0b55352c37d5dcb9e1d9e1164cc7d8369de992bdf25486c52459a482aeecb61c5d18f06b0badb60dcf0fde64943a763018eb4bc3404bb2e3b0785b888921862cf0e1cb00fd68ed7df8efc1dc2807acf22ac8b04ff71ebf8e691563a2e690e70ea5a98bc6eb70feac5d2d75179ab9fa2579d1176a15f661d2509888505de2995bc4465fa6fbdb378f9da7267823f387b2ec2eef04394670e218f3f4e96a31ce8f31ab341a8aedcc2b8a962626e300a59d77304572fcac5b403ed49819a737f18c981c1e629b3057490773f2b4dc9aeb861201c09360e0f5de81a5f2f85d1b4754bb1f6b7420e7aa472457f7b49588107b4119b54b9ef5cb22e11d5b7181e3fc6083abfedfec16c8900876814bc000761ffbb7863155b74ab348930f1bfdae57ff158f0b3a71a89de736ec0438afcb27cc0bf8a410ac11b8f7496b784f411be3e48eb148e44a82a80b616994c16b3dc8a4468b8c40ff3510be1d7ad31640daff2bf98f9f15e596f28e6d94d8497deea63586fa6f310a19c8f0b7fabbb249d4822f4ff5cd529ab1af7aeeabe194c6682a70d71b79d689fd9e930a5151c3050ec992f273b3a9b95cd26baffdd4f32490c3a9664f82e41ffbfae3359ed70a1c88430cacabf57933862048cd3365dd6cdb1d8e0aaeb2c3907fe1b303cf56ca4601e5e58ba2f2c81e98dae4407442215a938b6f619885edaa17d502cd560f18e2a1802aaa3472fc9929f6a3114c8c89218b3a6d0c0a171f34440ef93d2677519543befd0df20184789550931a740749022628f7d3ffc67194ddcab4fc72cd20446df5ce2ad05bc5d88af379fc7cd62f53118ba2dab7510d0f9089ff032509cd2d964d7bdcf4f2ff5871364df4ef56f73d656f88f505cf0f0458bef4a731cca187ec3edf5debf6fe8a05ff57a3ad05e348b211b59ac83d564909ba37bb761daf4256107f9400e1e383269937a3280bad7026c8ad800c61497aaf9b5189e0558bc9cb82c4bbf57ad4eec6cbae98b2e2ed8bc9b3f7070aac89a2ec99d02141d245cf8d48f9fb8a39a2488f09ce4ec988d5b813cc73a840fcc1c32b02e673cc89b4ebe759e01b28d92b4ddd925396072ef9667791848f4432dc8aae8fcebbed142ccaaf8b08f282ff9dedcfa558b99767f6e4e3cb7109f7fc4254580da3cd1797d212ef5db141b6c61ff7fcea7cb0a967086c63dde70fb0a4daa5a5169e66e9d010771ad69640384f8076fd7ac92573ae169728564558ee5b0660a1f9f6139796a177f9fd2854d8a60c4a622cab0425f5d7781eb78f3cf73929cd757d6ae9bd722b87b036e76a45becb2af67c24c169b53b31612bad7eede375a3066bcf76422ef4a19db58b9b4be8bc52e5fae365be9ed1841afb5263a52c77baf0a417197d6cf7452377f13f0435e78797b566fbba87e13504384addcbb253128b2c1b7b309b202f7dfa58bf3efac16813117ba93600926605a2b4ac94c2e516bd9363371da8f4ebdd0c745a486270a0dc3ea81a277e28dc532fc255f2ded627e3f1c730834988e616721fedf3312195f7a55d72610cf29538bf91f139c80f39767a1d4e1bcbfa202f283bee4b36abda8ce7db06664546385f15279584bd1cecd664a3edf19011287e445f21107d24cd233e589a031e2374c21f80d076ffee7436600746167fd4db0f498953e0b180dbc79d92cc3bbb98433fb99c3fa676f701ad9203cc1e894da4cdddef8e1e0eb68f94521e2efcae1e3ed36bd70b2f64e6fc377938645ab3fa599d4a721802292f2eaea32dc6a75c7b2c651c08730af0cdc61226aa860447ce37a2890a4541a49cd0534f4ca6518686f76177e0ec522e4b03c036a626d51b78466b34f63fbc0a3d1a32c8af08830143e5abc7d56bdd6fd8f3ddb731f1b28ebfebcef3670c40f00880ef108c9eac23c62821d41520b62ad0308259430d464abe68561b87f5f4b0333cfdaa70b0b65104c5290bafb3a8b427241835e4d363df2777c53600a235e80c4d91e45b331b111c80a85c5eac0947c4019d9ac4012d8fd87917af4451556e06aee5b09a5fcffa5ec4bd3dc1e74f0849ad3f2a18bd72b22d86817d2048f67011e423e5b748d75f065943a200472230befd31c57e8038290235790bca6c0a041b5d807a7cc0d619509bebbfd51b10a33196831182c530ed041d237c23b019acdc1325056ecc157abae36af9eb85e133fb16c7a7a23b3c21622e4acc51964cd48c1200d3a93cf43b67ff2afb41a83ccb150da5270f53cd9c4090eac641681b5ffba40d171f7311c5e6eb13f998d39cd87ce2b29e446265eda0503f6f88cee718b749908458a4ba5f4f37ba5c706fcd362cd7ce64492dd3a56dd9b992251da9ebec97678afe0714485d556a82f5e18b8e517a6b672103c29ccf37e73e520ba2c421d0a4ace0d3b8d2fb797fbd97bb412faa2897b6bcb2d799ba31cedfe8da21061fc41b5ac8c8aa58a7f2baf4c5bb8aa7f2332ec4b49baa00fa81ae645270b63a95dbdc1bd137c13e11f6ae31306e4569fb382f219f4464ca4a50fd0f4eec0dbb8036df1e331f4fd9c46800f0e605c0a3b0ea34e57243282b9d9cf271f826b071f0f709451a7f94339238ab156184b86559f642086f9b294018b824bbf7364c3727e9b467dcd1da098d2199a28573c4847aa1b55fc8605189b495bdc4235e6af67b8cf49915b3f9641e8fc7a06bdb778b02bde480016deeb5583a65e39fde28064eac189b2bd9275b5075a99e8b1c190ac0e881c5b1c655fd153a416307565c0c57f83043f81b43467264fbb84e23823709aa58e329392e129dcaa9d8c752ce5b53d4e956acb483d00b4e36f1f4ce41397a0ecafded86bf4eb58abaa95451c42cca9a1fdf170fca55d64f23dda414d4c1f0b6c591ca4581aa637e45efe06eedaa109d38b7c13e964c8ca37ef8bbdadfcb10b018733b4873a8ea155bcd98bb3ec970782dec80f0c546ca89f889b770855af3784a90983d14e710bedc690b8be79149c7259fef050d97e8531ed30c96ac8ef64a48094030687795207dd9c8e5b5f24d13ea6b0e98ad08d52522e36f669ec40ca1613f4218c50c93d1b23880cfa9b6e39a089f131eebdd4b80ca89817b04c1f01164725f86ea1614886e4e970e21abb887c9c92198aecdad6243e15318124c8b72de08305d1a41ebb791d1dc4acf32e6244c32c3d4d16fa2cfb3a0fd6dd9e209931572c2e3c6361ad9f5bcd3a58f6a7e053a78e015a291054ba94b1cccda84e7ce4fb179e7e745de8504446b50bf8c3272cecf2ef9f7c10d54163d18387a506ff86d30819b7875dd48ec3863c2d1b7d17749b7c5d1001ecdefa58bb8e31102374506f40ec66a39d1933b47babf838d3e2e3a3419dba78951e0952cadb458cd4ce783faad32f57bdc06beea70a0522cf8bbfec495d3693dabeccef14ce24f513a034f5b41e6572d2b111b4d3903b7d2c3e29939b5b042302a48b8ca46d20e543d84f99174adbd36fae08a4157d64e5f695b20f288d8ebd533365d224613fb86f20f7eef241957e8d30fd479970f5aa284d0ec92327a69c5fdec8f49782245e87869afadf14bfff62a8e78172ca2035eca626f9e5a26ef698cbdea1362c01ce6c383791b7524efe54b9250aa7e9c7594ae45ab75771c4bd89d04fd60a1ce116140bed9048e72000f947ee0af5ad1338d6e6a480695d0df9686f59c7f40ca2128cf2d4335af792743500e666c746a2b77c00d036cf8c5bb9be7b62a71ea8a9bcd60eda6b58b2b9189676ce8c8baa77810e4dd285399cf752b81280b909c9a5ec572628d4c292736a5a0ac9b627c743dd5e68168d2ddfaf7f2c67429668129957a679c114f06a392375647723b49e3b8b7243de2fce3d59b06d29f18e7f4013aabc32a7a6e9936d0c0ae42c1162e34b66e97d6570a510fd4aef765f4a7db561d0caf448232864997421af7cb5514374a844cebd3fccf8beaba34c6b36cbdaf82af89a1163ac045593ccbd9942b8754ca9d5c75451a707c82510b0e17b74c24f52bf2085b8312513a2191a0432af44bdb61af5931b6231f1650502f79156e1be641cf073a3b8880edd40e0469214d6461783aeca2cc1fcccb48b991144e68390a9c9cab867ac8b644f8765e2031b45884cea8d148651128710df918412ab486908a006ac3fb99f0aa02d12f6fd5c45b63985e98da82b28daf00507c298a9ad8595e9ccad46d782926ee611a90924c5568b8c1b3437cce4b0359caa8f7641296ce0c9b10706439bfb6b9e0a30b059ad02a582294d0aae2016414a84372574079b218d6ec2c42951eb761b7a380e8e8cc684fc8032af9788c04552bf5b4b7b01e5ec7eb4bd61427beec31c7819f5f000a512201c5648dafe3acb151d13e0ee78337d4c52fbcec86da98cdf5b5ceedca6239d2e9b33a2b3b37b4569ec14ecdd131ebb2a8ab5d4f4ce40f11015addf73386e99f6c621c63033e9e10cb367f8c7cf5fcbd44ad4f1ef4e1df96c60eb06b7d9632681e27fd3981490997c6c500bb78b6c610bb3daa81b4a9a71621deeeebae2a8f7ac220654bcc37cbd622097fd5eac0f20aaaaa5f068422eb184bfc2b56f553febfe24a118407ca45084d4953ba070eead1ae0452e10345627c8bc32e5ea593a7013530ffa723accc4fe2414d241efbea9dbe5ab9a216a2c075b1dfb047226d8db0738543f482a0569cdc6b75efa7ac8720df2209b85bb4ab207ddb6db8c9a3a464ceefe68cba2b846702d897f5bad4353085aef612eda71204660c48679b92dbdb5d448e852f8e48835158a70f844196a3fbbd698bf159c330ad45046ec9cbc0ded98c02070aaf1ff0521a5753aac14b52b5b8ba4c78d4c0603713f1e8fb05505db012962026745a033d7428b4a2508943f4a12f677ec59a662e6bf39d16dc63cc25340f47114d59f0dff2159a52ffbb50b45200180392ab852a2002a46f342ff59a21837cbc95935c9b868bf9c5126a761d819a1f289514ab5f50622f80c907a15fa100c4c74601eaf2848e75b13709b9818559230cd57deabeb708118978c1541cca2e53e34ca42d9ab36f89b487c493ee255d26d76caa3c2b6cae440318d8cac383ea03ebeb6cf7d22de3fdc0d98a01827f3c6c39c7379aa7451845e86685b18c31d5dc529bb066e4f99d382cea49e05ae98fd44edea70e9ad98604914c3bd7b0174e78107ad921ab3b2556718d6eae40bec842901d5a0e8096748f10045d01eefab642c18da39a3aa2de7bc6a4d01567e70481b75394035a613cc6f056b0920d0c84b216c9e6a39857666b50320ff8a378ac3b959708a7af62d94d4991ffe0704131d14cc9e0eda21fc2e090fb7bad48f0a4121505891a1f0ca39f5b53143732cafa3e1363602bcd25ce1c7eaa316c03921fcf70207622301414efa9488f784b341535695b51af06552358109818ce3815f928508d664d2715212e084a8082190aae4807a3584d4b2efa31831c0127365a4cddc5afc4b5c7d6d7e3f3e0d79e950c0bb172755a96d2c5474ed93c20f5120f11016adacc6e54521b27451dd31220cdde6a5654380c636416c92a4aa44bdc2f6113b37f46d3964daff6da0c0878e13e0e0aa0d27e2595411296e3f4327a053610867afc0959d425215733383066c2178a7e84312621f745b64d2775000107e066a0c643c61bdc945f4a9ed63a94bb49b40634447180b8477e3d9aa0f230028b62002d92247408074fc03c7731363fdb137db39c8a192fe1dc1fb4ca1c11380116b37484ade9ff036145d2a035a7ab987e919e04c46b9180572beb3302fc414724560c09e09052bff35fbb9cb18a8214d70a005d2332576f7a372efa6b6690daf9b33ae8c6f88bc8dfd4721a28284484aa34d43037b1a9c26365bb595f04fb350c0b59057cbb8ef9d40d1af916a84e0186be5a142fd651c837a6716ac9f4c06f04dae4d7d8e502efbbccfa6e0aca2774abb85163f51242cea8d4f0d42a13bde827dd46377113454bc434032e1aafd80412159ce0766c859f812fe40ef422936f9939e158b22fc4b5d86f2e53d402e1b0dbc82a83f94f37e3440645ad0c5b49d79fc1ecf7f72e5dec32e339f9a4726bf85b648eacb00ec846ec441950651ce60a4d303b793543578a8f4e762c80f01f8709511eabff38cb04c8d46f3b577abb60a3614880e2754110c1200314bef85438af03fab79393f384a4d13018e0de0a48b2c34ef6f197b408afc0ce9a402eecaf49d0e900a010996dd37f7ffc322e47b8e8cc481ca748335535ff3e5c23a1f075a7583e54a82fec1500b651427b67b4e70a62bdd9bfd4817f7a9cef1ea733371924199caf6d17773994fe535432ed981dec770617044cdc808c1588425db895f009828ed6b9000033c809444c801989e09e70bf05ced2dd13e8900650e823b14424eafb93bdc12a29c11bf42526ff37c1974e0200a48095979d1865d4abe27f135c3461bfc2133dbfd0f9c6dfd9b1dd2fa6eb27813efa0fb945fa32d77cc91262ba3f8254637d015b097e1ba86d470086d540f206c6238bd18fefb8506fba0da55993f6644da39dffdcff6483bc815ed99c38bece50b6a49b1639fbf2eb07cd1290fc107a7bf1f76f70aedcb656fa742b779604974595e45f1508ef01756b1f9d0066d210892212add1b36563ac9f4cf7bee70953e86f26959d55dcea8c024d6cb35dff0a351758165a57684e1b1b4a9febf3607ab60bb893af1970433c3d314c09c30e76b87c7a81d36c00b38b89383a505ae83efe432d4f5c47630baca1d78bb652c831a6bc5e37b14b81cb8b5633bec117e85e40336a78a2512aef8222ae0493bc9b958288a1667b4e3423f48d9bf900a41e69012438ac0a025e11756d3ddecc47a899241406bafec87583fbee3c128bac81236bb9de547d7a77cfa5f0a66a03540501a4430279126eb1e4b05e2a0e7d61bbb0e96f3fdc03c12ea53e638a35f07151490f6384fd7843f599d7485885b3eb49aa9a70fe66dd7b50f540e381098d9a64eb2e422519e6bd1626d82eef990eb11055170a6ae3838883fd4151ac1a4a1f5bfd4236318ad2d9722b229a5e889cd79f607cd8702a5943add0a270ed767a0c35382dda6935f531a8f81465a744c0cd0e7e43c5dbd2224c44aacbaf96fff12d59c363362fbd258a00d7098d1b646c191f88a27c2126bcb60fa032df6a08023ae808860ea0109c1534181e547aade81c9e35eaf8cc3ffbc61bf3385be731017af982087e7b178a3639fff8cd160fb082c63bc9a708eec4f1bf1d2a1104e6058931c9400c8fc43626f17f81eeebdac15527205f193beff6a8b39189b82574f25ca228a839be93c87783af1852d84dfaa28d24e18bef7a7b2bc435879fc516f1a038c8942d4d8b04452e1374d22e9b83d6d4f552367965780f1d18e7ae091d7d892232417aa2c266b4fdbd8c2b0aef53f2715c2a2ab4d97729de5ab46deea86dbce19897289163deca0935661c40327e24a54e4578dcda71e32ddd108e979a9db06d5c2551e68fcae913a69236f4e41b7d2d9e4545c9d6c7d931cbf758ca550931f70c3147eea5cf21ca739c4360c29943cb505a0e25184d0e352de910ec000a35e8cb855547200f48f8f3b3944b8728f2dedc8990fd14b90de51fafded1d497c36c85b9f1aa84187bac6eb7ef0917559d8f579ee31298c24636911f61ade1ea88bfe93af080830f7aae67a091e03ef4873939a8d91fb42615145391d3eeb44be2f6485ad51282610d7ff06cf756503cb63f34820edad2ed24a42432b103e1350f80a8856b277023ee0d04e4851b945ec11b644a99379816e24f58eef9d9d7ef762e6fc51eb0d3c1b2fedad9e03b3a83828ed9d73ed1a305b5ab5a049c130796bfe6d91a2b9fdb1d8a5902de574eead4b4d140e838f8a0eda43baffe2a844efc69c51615279c3f7ba953af9489bee04dcea6338534f275b75a579b319c2c4f5963228fc64fa4b030ba3373db24f85122c4cd638a8244b06c0828313b123ca2d447f869e49cdbd1d9d021cc5e53429dac4d9a4b487a9e1f7647adb253b235712616eeb7b09d09ec870a9fc031d7a45c30a6deb9d69e46b33365111c7cb32b2ba44e0aa24e1d27338aa9eca24877363983f5cd0bc5d0aeffcd57cf954597e759c53034435c92924e078d647485873959baf769cc4572c0542899eebe2f42ec909387be749cc96b450da94c2deffdc42c2211592fdeaf4a2c5976641998e3f68025707b95e045b9517e038b0104dbf3cafd34c1e21b326a5745823fff14ff88c86daea8053fdbf704e518e269cdc82b9239227382941b349c69d262756ef06293e598a28fb40d89ee0208e7511a53c36b1937a4e89e30c36bc93f8e05ec2d6943beedb7718de135b3c37b9965ed8ad3baa2557d2aee4124b7b8cae4448cef6b7a7e1df0131c328c4633352241d17edf05af83e5fc164950711c6c12914e2e7ecc815bdc5c51508a91a4eb6940e23a1688047b317c94b0fd3b4a899e0578d18e17ec30803393ff68ae55cf53fa0ea6a933835ce78a77a4e8666a2ff848a477a5ba092b42291a4c2cee1a40fe05b04601452d3d4628401490ba95b5490df1443e01359b863ed7694e4f42130f1e1940cd4c682d187630477a115dfec00fbc5a1252a060c06f5bf7118f2141cb3838d9f8575070b15abce26fd99b453e8877d46981d3475b500c09fda2e6ff2ab3d8124a5a842d95294cd565c4a18b856e7e7d4d18eff923ae432a8c577c336bf283584c5db343ece2f5650ffcfd716e76815e9b616a2e39e2ce5a52322c4bba9235086e666e49cf331cc530ab683fe91b0393987edd4a0a971ebd64ebe6a5d56ffdd0998be40f9280c145c0b31ed714113c9ddbd88aef1bc2b86be23c2ad3a22625fead82520cf6123b2432277ae1f385798a52ce65c22143e20c8eb5508fa18fb1358f5804c0d5fd55ac0b0ab0d10e9894d5d075e0fa2530f802f61050eee2c6609e207fd3112ffe512eecfed612e1866f2fd0f5867ac4925d40685bcaa6f91c3f0d6a8084b32970f0c2c77bca96d889b72e357197fe21e1ab0856fd1e5eb00b1bfcd1fd3d6df842112502e3aaae977377ec67a097c31637a8ef9dedbf53b1f430f728db320c212c351a835af9f00fc371c619919637b61cf73fae2b8e96544a811052a19a06b2a3e2e2836c934e97dc178fcb8606ee34897b1d02d9f78d3e7e69e01e15422837c8620bf16bdd92f213292dd59d5729acf290a6b2329befe9fae9d38d96931576a3214618916cc8280407d86825efc97bf85bed97a4192faed4b80ef4da7cd1189a598c6e9e6d5849d8a7ab5e0b0a43a8d381baa8ea976a4ae8fc9dac8acdb1cc1d5fb2b3a9ad661cd0d05d25f39d39d9be57d18ac4ab31549fa55017d620ccae0cf54732c32a077a96411668ba8ad4a3042810f8aee16cef3bb609f817004d3ef5fd97c16dda77d169008c0c388ed17ec7304352dca0a500e1064878f15ec2c4da9baf32b3603b4091463192538379a2bb9a4a8eeaad349457d8289c323840814946a169b4ac1dccb16ed1047a9dc2ee8f10d4850d88b6d16b4777f7c05ce5fa1588676bff7cc4f3c9df77153ac396dc499682fec0be63b54b361922f9ce50f8c801f2b0dfaf46129ac47c576aa2ce28f1e03da54a4d7f5caef3b045bd4b82adb170396ad37f3f070b5bba23938bdf550308478e21a7430559a9accb02a089db85a981f5fcf5e4eb041dfe238feceada42df0652add2b64c6e0cfe841d8ec6496e4a00fa5301cbd465defedf18a3e6d5c005ea4db41e998e2f94131a76721cb6607be8d83f6253744ecef35fba709fdc5b3316c1b11d3fad89fc1ad7b0e35ae36f2507b9522bd9227f5ed47cba6a39aa1b88818c603ade407bc434944df2723e26ac658a1a4c44f02c635d93ccba26d4c426de64d8444799ed83275dc3cc40e8c62dbeac83a37bb1bb440fbce0b280a97c7954c9f338bcf673d796327c955f419284380472a3ade38acf0ca108c13717f6161e23ca00f713b1a81b79b1d715d23064f84d256fc292c7c1fa4e9dede10143e54927f3e2d9220e0a18b337bfdb1e0c8626a3da8e77c685e59ddc64eeb0f76b3f6365020a177bf25d77785d3a1a89a2e3ba1ae27135a099f3dd660fc264b7cc8e5ec7803e9ad09f62e50096149350d157551d912a506be6e5492f6c38b331b0e1893f4c3fe2cdee8eaea129315e90a29edfb583aef214c8a03bda6aae28115c34203dc54385aa3b71cad79f8db2d93708559f40cd47af32d74d8fc9aea7e1561f57816fab381cb7b608449bb86feb60c14acdfda528c8dfed23b6417193c822a67184b151a1d8e07048c9fd0e3ec59ba1cde3474cb646cd521e39f5532efdadde1c2da8d8b11202a3916deee37e59bbb9dcba34ca2d8e0b11908111473b2895365cb6551ea11c024d543b771246ba59f0c5965f8c67fbd487321ce8b2c3762d78ea09281aa04a58abc536a63955fe6c245a9c48b5cd136fa13cbf4d1bf28d90754f386098df5cca8fdec5a05ed148c7f07a780a90e717dac9ec8944f2090399fbf9041fcfe2beff4080e2437f48a41f19c58e10a8236fbdcb279e09618efbf22064a330ef369393e3c688e2c1efecad311d9af50cd34997e95233287a1c4831c9d4749d7c13b34d0d61e5565bb8c98fa969afd3041a3a3b0f2d55f296ed73cb7601430358eec5f78a30e7be72926da8acf0eacc0b19a007578382afa0384f7803a4a285825308c2840d52cf53454fb4af2abd55dc150a5d1a941fceb05c2f111987386a1d4151c71d1ab8852c3eeae774403e74780c07f4284fc458c1a5ee4eb35f611b8fae6c68d11d96f60dcdbc6e573c2cad2bbb7aada2f62769f571b27afcfa412d7c54d61d173fc50343aa1195bee32c6ed7ff21fb069de94ad4b955d1207a3a301b8a9c2dcf6dafc859663f6bb5c5aeebac1f81993beb26cf0fdcbf6a77a05eb1458635d8d4ef38ebadb673d1d7c626bab144bee3acd777c3c3d53a65aeac176dfda4563e2e4bc7d91fa4f547c9ea71e1471e68e81a50d23fde6277793fbcbfa04c2f899fb5160144af83b26191dfd2691b159fb58cdca9c6ec9b4d2d4290b108e33b83a117c3c59e7abf102c22d9fc6a52124f10a8a48b06ea95fc9b5884abfaaef2dfba2d179d3636d11b4bf31dcebdba0b3ca8d65366cd5a51eb476af591b276fcfe445a3e9eac8f0b3fe74143af8992cee32dbaabf7c3fd0bda3449e4a96551203a1d2e0f15f9164eb7abd8d9e5bf6ad982b3362ab3dcc7bfb105551bf46dc23171576a239a7009fa5625d9c60c12d11d968e03ddffb4d58eb04705846c49ea13a2d318a36762ff9ae873a9460aa4c0c1c7b3bcefb92f762340dff4f28e60faaa94a85c15f5fc59a190078319ab4f69d5e39bc95653321c8a8dff1be694a57c1f179871b75f4d7ec8d373443ccc40d78dd0575c710ecda158288d6291dc7a6c5790123e6793ecaa43b6ce29637d85066d9bf5a075301a3a2659b94298a8cf0305d60fd3b26e1c732a2f5c586e3091751fb63c79c4abb527eee249e8b5cc6d7a282a4d4c6b3e01c5d38c8a24a3017873c4aa97d3765891b43578e32481588b9b15147c5431fb20d3b26d386a3311af35ad3bef54c330eda63d60eb29d0d5b4729024c0daa0e203ed13bb520dbdf58be25a6864b4981bf845a82f4317887c558d71f4889520ce1ab32b8175f0b09c87203c1ee878884b5820873a800156a6b29182936f71a7821b18317e13fd9803ed5f6838ccea5a9e6a89b163860b01cf54bf2e60315bf5af54967f0f901e54a256656b57c23280f1d9cec045cd73e34cff6a528c269b51531b8f59d1cb6a6e3b0faa17166508070e3ab9692ce9620dd66a5d232982d3b13b89874ce5c50560469a55c4bad1ccc41804b39782275f502237b20702bdce9844755b8e74da1e8636c4498d0d9e08acf454c635d3ec6a61a372999119c06bfdb09550d334558a90d782f2b1a3927e1c573599a462bc685cd586830d8947246ed090e4e46124c244d43df070e29cafc6105274890213c4df88cd1d837112d1f6b75e6d0b9d32efd722ee128b44312da01e678305b9065565fa0922992a10215bac90b1f877e33600c65f30c82139714705d6a97ff0d122bc8538f16d3bf9114707a13ffc19ad7d04a44165bc8f5e1a06353c869faed2e4370660ed5814de813802e9a1fd8c91c970b5750ee71ec99a9eb169bb1b62a089a5e335e7e8fa0ebe9adfa4eb1e158f0a9dd485e0a67c6c29ac2e44281acc1b541d8a1e7004fb576ccd0e3064aa1b9146ff167d31031ab11fbc647befea9792671bea7807bd1558b285b4411bc73002804e8bc2e811f841c7fe336f310015c0a2d09edcaa48aa62da931ba3d616f8ad42b37b996cb450ed9557b48d05bcdda457328cd9a50bc1227e06b6fa123bd741a0f6467e562cd101d7c7fe00608da853acf56db71bc87fdde9a46453b1d0ebe19890ee79917ada3f83519dff528bb080fc46f97d2048007c2c5273fce7014cd542424dc0798d9bf9c3711d0a341ec92b14f4d8f58d4766532c11068b07aef6107cf0664f400069cdd2a80bf57fcb6408216f31d07b551ca94a6d4f0115eba12464b7378a356d44d29746975af5342a19d487aea22cc3ab6c0bb085837e936c955256d84eca3c175db745d8ecd18f58cac830334409e99a9f80c5de968512bf032d3cd3854f0d862ae69ba54acc55a8cd9a7714b46225f862503b455f05d9e5dae358a2a1f7197c0d72b30d15ff725acd871d995e8d4aa7b0c36b173c012bb58eec472631468254dd1cc503c100e4559a906c0583bcfdfd9f846bb45bf527137867edb440ea302a04efa63d84565d646da3804f5f79d7a6d9ba4fee09a25680748486c897227d815da07b2b11268cc97c59c6b17039a8711b590e17813a6adf3faa16e6179bb2c4a4826064320a50341012ed57ed68d1c29b7c48e2140355a3f6024e225a3980cf1c7c22c5ea74a6bdc1c30883b5bd74f9c717749024d0a7322af9e60487a1f58f816cc1d5716cc70298843322972ac56398b3dd30d69228c03d8c583e6a74c3a1cb1bf439e44c963450677d5e3ef485326fd215186b25a1823269dbc8ebc3f1585a2398a1153b3314145303aa66f6785a40d815a703e576b76fe7e809fbae30f3834556cf11556ef22dccda414907a6492c9a8a5707c00207a7c834deed35de28f87ca71ffb2f143e291ca36efd22e6f10026e176cc3e34a40da9ca263d352149f6deddb6dc52ca94920c67072307bb07fedcf6d2cf75776f37bcfbc3c608ba9e67696ecff50708b40a32a15d8e0bf9619ae5c184fe319994a25030c7dd5ef869d01e04bfd2dec6f8e2da5eae231a773e6e773d10d4f5707be18b8fd4fc4ab32bae025f08db6ce0b8b09b19059e9c94a0990f0d17cee7ead22ab634b40ab672b0a8b416e6e0994c0427da349bf3dfa60da1f0d4031a62999fbd7bc619841046795dd76773ce191f9bf5b236604aab20124630d3fc2fa5ed8c8e1c23db19ad7254abfc5988dad1cf2d246b1a21a8551254337bb7403ae44916ffbd6f9309383f8b506bd50efa0818993d420861a804f0ea282f08218476baf30cf1e9e7d3aaa6b720e0a9c0c7e24278a4e61f0dadd2bc76f0e2eba2a15530c7f6041bad820f5f87aa9e8f479deca568d4d42ca27f9f89dec5eabb1d7deedf7c9155a9ae13b4cb71af084543b37429aa1a9aa533e9d02cdddff0aa9437a166bca89e72286cd5fcf77dea01c542a15028d3b6e7aa10ee479472ff46dc6f1b7d8ee3b8c72ae544224e54b3e7b06aa35521cd7eab4221ac768c20ea3ded8fc7139fc89e374161ab521933a0898ff932a7f5e9287d3f1d44783a4af64ae2ddf08813a5c0e1f1ebbd5900f09e7abf8a04e0bfbba0b8feccc3cecece1e4300beb79718beb71700fc6b1bb6b8e35d53cbef7e314ed89df1fd2932be61c448a552a9ef524f25f530f591658df1c5d494d07765fc5f195916d2787bf9d2d37894daa1fce9f435e4c7209fc6e96b7c36d22e1a956ff6def6428345c3d2a801836bb4a43c0d5b6de85be333186174aec6db50f2d2bfcd86d2cf6cc609f5febc85cf0f909327cdf27fa2513bbe327cf6def6a24243464d1d517351208f3371ad8776ae8363a3e32ddfc169161aef1fa56816fbf5bba9f25d54a2c211c077b175fd2f9b666ff6666f1aefd2d949e54fdb0d7c557fda5e54fe44e377f40580d500bcfd4144b76dc73cb664830c2fe3dfb64386ef4fa5e625c3cb781932384db3d4784ff90740aa59647c0cef0178fff757a9aeaa2e80ea39adf2cd061adf7faa343eeb2ac367323cff6b00de186208400c31c4f0a3bf5e6e3bc88fc16a806f0064b0a91c687c0c1f030dfb0375ca4adaf623941a3568fc48861a1f44746bd4f8191fb71de4d3b01ae08bb2ed70fa1a56037c65b05d3fea5d9c6e2fdb77ddec8fd2cfff817a21f89e3e43d15e7f8dea29d58bb48a3f8dea50d8ea37b53a92edbf06a0b217cd4f2a3ba90cd4fce37faabc45e51e96f1298ebee83be74955186faa1d5fd3cfedb27937fc3d0b2ac35eac56f9c388512f22adf28f5b338fff44d96e5287612f1bec3be6e92e9b24f00ef29ba75946ef3d4fc7937f4279d253eaa54ab2b33ebf5dc40902f2171daa5ed28a2e574f55d13222e8c6ffebedededdd1ce5dc5e5807194e69155c81ec70c7dfd8939d1f8c5a64b359e6a4f4a574d387b7f8ea4188bd4bfbf09699a7831f7e77e0b5f41341277161377161ef58ac6bdfb8478f3db428681799f4b4ca735c6587bf50a7933c578e096807756e5f863ab0d52c3b9307f2d8183153e3c5ed7f0f87d08640afda9056c904b96e7f1117ca7720da15df5fbe6d87f7da1fab56c33378dc31b7cd33b0e35d6877bceb16be23efbd37af14bcf376909d24f1a2bba3e674f92e1d8b335e31c629a5747787449cf09ef74b207bac1a16119cdb2d26b6b82d04ea7610fe59c63df75124a28fd6ae06f1b63fdeb776dfbf97cd900c4d468c2e50203f43cf2f648178273f3e0c3dfc8cfb50ed42cf36fe98ff6ef6b61dd37631773e16d26e280b6df0863eabf221bb34c4ea0f20dafdd1ff3a99200e4488db5c53387008da1fefe1f7c350a80332a3c5301cfa720dc1da613bbcffb9c17fb869f4255681682ad2763fdebfa83dfba3ff59080bc41b87eca672c00175bbf7fd58112c033dd3c1122d0a2d8a2088b2a01294200b0aca82b2a0000cd1b0c88282b2206d47dbd17ea0ed6851684bb4206858683fc882b41d910fbc83efd0c8e5cbb7b504ce950bb00fd5aad61236f7dd7733eed7dcf440f6521e01f77506d0be53b931b0fb5c73ebeefeaee2cfd2beeb4f87f6bbbc1bfe5c33af40dda10c5a3539681d71735133a6bcae89031ce06008efbd4785f7deab3004b1f89e7bc889763d0d3aca559e253631779fcdf2263f58f3e87c8eca7ad320731b74776ed3b82f6191c40c6293d8a4097393d82436693265171ce000074e5840a206f007fefcb8ffc01f206e1341c679c0031e900229a5e44272c1d70866109b446cc21d442823d084521a7d0638d1a547a089a481e4424a49812632024da49414682223d0444a49812632024d60e4642fa5d3786eff8bacad37dfe01637b95ddadcb08c15da6c6c6e8c40251827dec098219866668687700dd768db2604103f4f36f8e30324db7c00719b88759806dc126f18274af19e8a94435c89c3bc908b379b681b6d24c689248835f188d712594b6035580d1697c46a20b48fd52c3ebf9841338807a574448a3288371106b106b7997124842c05e3e870830e6e7f47318f37373735a02edb911c39482412a9646a1b2a158e959552a95432a1f00c142ae5df144d336843d94e4c05e3bc1abc96191454c58d37b1a31aa0da0c9a5f744bb471480d5683d56043ba25228937a67843b94de3810185eca5381fd169f6b7320315dab40a9a8067807f4d586550ab202603f9392783801ebbc89e6bbf7eddfeef75bfd7af88eb446e77009ee17dec2a1f3b91ebad159e815f3eef7ff5003c03cb10e9d7f745249c884f330124a50f4043bbd7a3850f118cd0354619634e94eeee383cbafbcc7177cf8951c6f81dbd9f732e035d968267f08ed1a76897ed43c82032469f55e430b3a6c811e2230379f3c0d6816ff71d2ee7cb0fddbe2b25765d41ae2b8bb8dcff6d4570e0be52f2f9e73691cb353c43fff5dc6bd4414f0e965cfeb9825cd7d942b68fb1dce2e776cf6855135465babf32c3640427e0fd5c58610df56742bb7f2d327e5a1854cdd2bd42036ac683a181a143dd0e86cac60a8ca7e3411e1e660f926121a0efdf255bfca357c2e78e9e0bf973e7b87fd095e0b9f496662e4947099cabfdd652e24916d2deb6e3e95c5168073d5c4592be9b5da0f1f94bdf0131f52059fed16b1b0ea51fd98efbd2cb8eefc6d51d7daf0fe9d0f7cf5c6ad8f9ecfa3bda5eb859b2dda422fb422e57ed1bfaabb11dda6fdb0e7ab92f55ce767c4b7fd5ee7a9110d9b5ed406f69643b207764da1184c3704bffde8d8e235911f7ef47f507678198eef5f4df6603fff570cb81af6a8306444a29a5943ffab7cfdeb71cb4df3ee3b4d31654fe8ffed1fbcb8792342a55be73721cf7bebd70a2fab7b4437c1127aab3e3feb56af650ee7d760efddb97ea5fbfd5540edb8f7ef4db67a34a5ff4a51fd5ae646d78ef06f7efdd10fde84995fe887ba91c44afbdf6226baf77f1ad6af64dee4ccfb12604199d61bc170dc4dcafebbab83e0cc3b039e70c854221cc9f15b9f65fd7fb9565593631e91ee309a28c22c2283f623342198af588684644d32d57b354f64cd3b49a895dd8d42674871cc77171ba4b1981cce80e218410babb4fa80581ca8c6be8ca7a049397cff9d8f6322317247661989c326e939b326e2bf68f46e4146897d9643641de925d3496d00009c149e226e78a244c2e01eebb0249ce4d22a7371c97a5b181927bc51444eebb420a286e8efbaea8411797b797d314f45d8855da2a5ed14e4b50f9d9fc59b19e56cd6c560cab2e1ee4bad8e4e71cf62ecd130b85429659ad3272b2017d37be8b532832865c24c1baaf9544cdf3c17d2d1b9d6b836363e4be968dcded1889fb5a48ccdcec6d2fa71dda9f897c3b0181b6b6cd39b52fb936bf553085c691f6a52aa4f42612a9f4cf54636456a5cc2be94ba552e9bd926ce995e2975c1b6d29d90cd4fb2d653e3afffdb426eea1564942211fd645ff2a10d4fdbad203c8103670f063d7cc0d9980f2bd6d5b86d45a0b2043082116d969879919e66515221f9b53febb578ccc4a66be9cb69bd725afda2f1bb2733316d9098bd30fe80b354d9b502a1a25b4bfe32f6e5b9ae8958b903d478117a130cb5e4ad73ef41f0bf527f3b7da4a5aa75b6f9b19a7754e7f10075d4ee3b4e7b6170efbebe2b9bd782b99dfacd1c7d167b69b223bfa90ed50b76b8b9580f626fa100ccdd076c3cc7e3ef6dcf3f6c2651b438d779a4523edb058dd3998659bae591a92de301aaa26ff8ef26b6e7e36b1ca40cd4ef849ab5e1849abe24fb3bcfbb305011967c98d3f8a2a7e5a9948abc4efc150739b9c8b5e669b25e88e786d2ffcb4d207c1af68dc7480db0b765df6c8116a5fabcc8f69961713a7ed986604cd720d5567b42abe9f1eaa563d914d61c2cc39aaf89dc361af75dfcf8d3b350818bf861e3136ba856d541d0d7cd926a795c4c83617db340b1329720dd9d8c63e2cf4dc8bd8daf7ee6422acddb75d6cc3ead846e52af16324c249c40fc5c75e7059b6f169142b64a72050120f841b8a090aa13f1fb934eeb5ec7dca7bcb6655a2ebba34910e97f6d7755d97ff05ff3af980f66b7386a84844b52ad2aac86e95e3380dcb666862f3b2227b291a7d6efbf735e55b8589b0c7461836d201e31ec330ac1f8b8fc9c77e7405851c6934227175c4d59115714fa988d6ec45dc4bc1ec8fc7b38350e68f3339f6b36273ced901315dec43dc0dd6e569ada10bb41fe32c54c2ca5cadbae7e4fafbb7cab3effea6bc4b6755f536ce763297a3414497a2e6d356a178e8740dc08bd9d72ace291d514abb22a8ed64ee0db50d3645a1e71efb796d2f8d04cf807d6808fa59d636ad0a72d1dac970f5ddd07355f4f14315bef62255427416aaaaab45dfca3f4515da5eb0cff86da19f734a0c75840bcc655f6ae8d12c29085bb5b5a8a8352a24b10353de15afcb3eaeaf09d94b7172a1478db95f65dbcdcebacacf5e85efe7429813638c271ed00c63b158acc862790befb07658bcd33b394a72b295a7a32fe4eb1be7b058f275a0c72b4ecb3a39ad821de76097537eb9bd30ebe4780bafa0b42bef067cac09eacf3b4baef93c1d6f71a1cf857fa5b4b99b86497666ec92f0a5b31d146d482fab48ab20b380e88c43aecfcf9d4c2e7cf82712d0cb16b96d5f8f77c308b41f3ea13518814e8e0839c618638c31c68f31c6e8b19f0a46f8933d3f410e23539b5b0e2238d9966d2ff3b36d5edbcbb6f1872a05aa0f20f506eed12af8188bf267ff7aeb0782ba0113b2161042082184157837e0bfcdc7bb018120841042084d5790fed828f4e7d3901efbb629938591d743eee1bffed1cbac4ef67a1e17f6231b437aec63a80a42ecbbf4322b94464131f1c948ab09d085dce2620bad282881527780a0a655425845585e8b0ba00bbf06f8fd251b33faebdbf2e0489508eee7d34a44121e9c4df57c2246dc63ef0367b18f351331676968b6eb2ff81864f97015c8e34570320d392b620d0c011e3a91348b7c17d689f11d3df948876554d2c7a8f45115e54f756ea1bf6a0a8aaaf66f4b712e2da3be558cfa56a8fa56a7fa565b7dab517d2b5126eb10eee240b0e5d8256e91ff7ec52dd20ad1122d10aeff6396275a742b418078379c50fe499fcfde8248713206e987b30b94836894b72431d9203dbc150d0dca939e663efdb629cec2c82430db9f5e6655b2dda77820fdf53c487f3d8cbf5e66457adf5c408130994cdf71074c2bb7cb71a310ea4fe7e5b50479353c1dfdfe983c215ce73c0ad7817837fc434750d2d37fef46e9472f7a936f2f1325da9814ccf53dbcd5f53ee8200cab138c4902c3f2a07fb231d3a620fd1894f9a437d599e2413ee97d904fb24424e121faf844484b2d1122fb52d0f6f0569ba5a1d19e26f434f3e5d3644f833dcdf5314a7737c237fe1ae70031df9402c5c1647a8a9648233c7e7c9eecf8a8194c2e8f6e39e1a4b4703c0d878225dcee2db92d23947c82be38d4eb2e8d82a8d74db6b002c98d715fcb0a1fe4e0e73e1f58c1f2b9cf0739a0b9cdf3747012ef867cf999487a2a0513fa777b9059ad4cf859f6d3c6a4e0abb28f99ff31a829f339b4c7be87b7a23666ba8a7ccd7628fa5d8eb87a2bedbbc929f83fb88a8436881ede0ac6c6c8ac52f1432f236d8ac74c728123dcc3cfecccf5d9bf9503e6879e07f6a28f2fe2d5ecde0e0c67533e845239ac92c40fd924f07d83b96cca872ce503afaee7d5f5d967903fab6cf36ec81f3141bbe6e11a6f895d083232333333d381d58c07b50f5791b29485234ff8ace4774ffb7450c88b2f6c61c94ccdc6327265f370576801049b99955459c2099b55e73c9df75cf93ebca5795624db71cdc87628a8bd7c36427f6b9e5649eca7f6f47b83a1a1c99e7b9ad08b6a0a3e7d999556b5e791511b23b25e13c3856a568352f0b59759f94c0ada140f59f6a18710a87b5c457ecc13c9e32a922d9cd63e57813c2d6538663cd914f409a1aa25975fb4a459fc81fa3d7b6d53d04e756d6a5e2d06f4afd0ba7df9344bca06bffefe7df92f206fe1155f3ff77a9263a238b42dccbb0acf9acb5790c8bdc882a8fddcaaa7a32f467da6f525a8f6dbcbcca6dca63cf46e7964313d5ca5b39a7acff1a4de732fb38a892f7b1e9f65cf6576c555a28d99ca55e27c3782a0ef463ff66e702887abbcd742291f429f7d6643ef670fbd92d627328c4e38772854b17a7d0809fa6e0a86a69f7f74f9a6644a6a1f7a99fdc7cadb0b0c0d4de835ab7369b0cfac8bab5cefd23515eb4a2ae648459be221f4d8f3083df6315a1ed867d455ae90bd56d874956ba5bd80be7763c7bbd11f0f14a219419ba5b5215753a20d7192cddc4e08cc468d0d10c0da36686cccd800818d9a6b23c7c68c8d1a1b353cc8ba1e82da6c3624b6211b129bcdddb6ed8b6c760bf6436e27846bf0e7c7881a237ee6cf1532d82dd83facaec06679505a21b3e19adbdd48f490d736b775da460b40bc8747b573a1ed84500183ca172a416f00337700382a410398914119bcda9c7ef5f88643bf57e9d747f857c38f31eb869b0d7d5b34c3bf21d6734335d7a53d83b061c57adabbbb59528167876767a7a5829d960a745a2ad0a939c19c93db99b46b0ce3839a4beb4047d5c0ccccecb2f376608c224a133c91970cae99bd60ce4b46382f192116618430b308340624d81058d57447d454726787307644029a809862bbf3f86166fe1e1f658440c820ca0f538ca3a7d26f7a2d2b2b18801ca37cb2c89087042584809520b9a8fb5a457410039a26c10d6ebad9ba0114448028ac7583115cecbed60d6884acac50d47f8aca06cf145650ecbe569124cc05f5fb5a45a2d8a1f1be56911620a1c81311a6a86c144102eea00813da852d27b470b5fb5a4e4841c227b6a0a3fb5a2c23469841175453d24a68b6e3040ae3be16ab08b7fb2c58526802e5ee6bb1ae70042aef6b3531f3a40910d45c978c10ded7b20115b7fb9528a0fe4d4a4da8190d6bc0818cd0849a61139da61572ac5b40e77d2d2a5e4045112b68e8be16154ab4a808c111292a201eae828aee6b4d11d48429807ce6bc644c51d9588940f002a5f7b5aac86209ad2aacb841153835547123e3be560ab2c80181126158810f885481091f48e24d98503320eb55475cf836565a459a5ceebe561124dc8e3e0a289d520ca9d12181cbcf4e164bb834e179020a4c282e7ab8f0e102a855de85a8160bc270028e824e147668eb89264800851f172838699577bb496b9802a78502234cf7b54ef084d61436594f8e151a3ea55b7a3a18eca7cc80870aad2564b1042756cdbafd14d5b69b16c84a77773f05bafd2654df7461a23465b69cf0b92c7fd0a9766e2704bc1d10ef19c08cca172a412a6018c0cc0066a6d06a3423b421547440b40ec8fb811342382fac47ca2cc6f78a31e1193a6247e019faddd9dd41ae1bb9f9fb6298837d80e6b8208b842e43a1894d0cb2143c8584d7bcdce1ac0212a0d06340309bd77bef65f38290753b212290957b3dfcc6320cfb39df2ce23e1904e1054dc033607f3dac18cf00ff055b5082356a6ae164713de8c5e90c2859a802938a2083165cffd1f6e22b88018f115e3a491429b8fdb03f8a28d4b8403018c204063e444032838b80dbbf8223071229dc7e1a925871fb6be818d8b088b697c611ba428bdb5e60015ef0e4fa6fdb8b3fd1832353b8fd26140d2e0ea0d60d174168bd60060ac0a03812021a5e9a052e98c28cdb1fa2b465f48b020b189b3c70c10baeffa4a20537688114b765b8fd727b69aa0528c4c7f373fd618ba4c0044d0a867491032d780ab21cdee285167c05b453a954cc836bafbfe3e8214c4ae17528885c9782765365e30925e8683a4f5a600114f7b59ce0b91d04bafc36ee6bad20c81f5eff946b281b34e5cd2de80fca09ebe0782d7ec3e3b5dcb09d8c037b912169153b8ef59b56b10554b092dff90d0fd21356f2fb1fd7ec10b2240bdaffa09ddd4e5a05a86de7399db10eefdcbc1bfc0cd4c5bb01217fb31a8a6ee1277c5e6b05ac19d9aa7b158e15f4f61b1e9c2d729aa57b4eb8fc2cdd7bc2e5e7eefdf408f1a1017ae20914acc33a4f47bb144a9630c1713bbff971828222fc5dbbf31b66bfb9c1b9b9c1c979e27ac91b7b8fcf03e2ce6f80686a98853c1d5c119a82599159a560e48809daf90dfb30d4d1c9e1771ccf615eb99ddf30645d66788373d96f74dcf2ce93f8f809b35c4227f0292f8114fc776155d968952a024f07e7044dade058810077ca657583df5c864fa25b1a642f8509eaf3bed4bf2b0ca1ed7bbc048d09fa337c340bdb46d934126eb0c2ed1c5e0beaa9bcefcfa15ac22b428e7e20acdbcd56ccb4919adb28d63172e46ae15e32a2be59ba9eadea76274e70bb94dbcf762f088802cdf2ec0e48b8fd74ec7837087e5749f9e0d3c805459689b875dfb74ebbf3f812c771247e73df3f182f79616f625928db9eb671a2d7f3ea36e4bee76a3851ed9c1574df8fbcb8efc97daf84098f8e129f2d7494e4344d1761f54d43d1353db3e4c78767c913273c4b76980823b9c961299865f3b6785e3c69ffc2873fe3768730c60b4629af6bced035312c14cab250a669dbc671a24d631153aaf14855e2daa530a954d2d864d218e5044f276f3e9d50b407031543460aa652de9c4a995e47c37d7fca71820143e3daa1b61d7cb9c6900165c8f0661932300e35b9f7e067a2f7569ece7bf65d7ebd16b4a3bd69b169c1cc8c230ba694b7972973b90b32e0f756aec8de7b0f0c3e435c06061aff15c1e7621f9f4af4f0bb4d34a553498796867840bbd7f303049a85867f6b08c54a73578a9a028d9159450819055d5a0b5f849aa00fff5a4899a00f6d472312d94be93024dc39335dd3366de4a671e2c7a8f2513544abe9b77a7aada23c5661c08b623efc5de73210e3dc700880bc05e311c14e77803b7e82750cc4914a32b648cb4e22035da119a80b40dcc5bb01d4510691829ae85bf42c7a189559ae5293c3544bf14319b430da46495a8c991dc2fa08d9081427903f07ea772087b9805a04dd01e6025be13a9011be2ac63cdcb325f16fe71e02e16308ae61e799950f6f79ab272f68a6c6866544647b782b0e6ef5ad827aa6596d848130238dc9b4143d21ca1d9eeb8a5784f204c384422a6d14468d7faadca3d4f9a67a7da9869e54b1a755fbad66a37769d32625ec4f723df7be7de41edaee55d773b41d4deeeaeede6a90a28fa1566479c4e76c0c0c8df659e8b1f91717119269a8f120d38195905650314e30361b161bb9e46f224e44aa3d6e707e2035f740a0a78783488d481c4f49e2381189e3be9f13d91839b3151cbdb2c2437cee7d88cfe940aae17eb081b9a1e7b50ab68aa6f4a4e72dc503c78d3ea6f4dc8f2c0fd14b1b437a11f7b28a7e3ee9a7bc2c11a4385363c332f2438f0e6f44dcdddddd279156f92c52a4e7871ede22c27914a7a31e23f263d4f8a83abf54afa735f428157b52d57e543313473351ede17283b3e3b2f38368b25a65d3336d2ee4138c283b5a08c89eee616fc00f3d1d2465dae037fc7e97866183f440e2e888b329f8a297599d20f73ce4730f9f8b2fb231d7c78f992f25cac75a7a52e57e54453dcf9f3f7f3d6c8382626392984c9647fc928d1191ba66e0ad325a791553309c68b55998272f68a6c68665e4871e2372724b642f2573de226888f882b8866d98e53728df314e8e8e7c1875fea95214d286122bcfb88a3f0c8c0fe12a1e81f01104543249ae076e9136865342d0133630c4bbe13c1be932cda7914f370b43ba44efbf324b4ee238f9231b43edf3e72adbc74ccbc94bb4d5d8b08cdce0e4e80c11e4d353a6257644f65274e8317f45460ab5f10de3945235be8c7a7d8cca3daa8a7e83412a8d5c3a55df6a23cd95b7ca31616e303d6f2ff4af0370cba583073e9af2e10be53e3e8d2835b230f3a5a95f5e4fb231a2bf3e86fb78e90d57d5a155fc63657203fdccb51b38015d737d4bc1c8ef21931a9c3ce4cfb63c48a227bdcc2a929ed6787b1bf506135f2707b52b289a10dab75b691ee4c7f781f4d728d5ff56b1a6dac200e12afe3e46b6c7e95dbab7144caae35f31cfe3b7e531a9ab987ebecc8a5678a7b7c43799fe84727d7c1e17fd9812b53ca2c9a678882f2d114978ccbf9e88927d1eaf275922a67d3605fd8a2a5799c7339996540943082184103264f8bce401f900024218df7db7527a1d9651e7c7a8d8a32a7d1895f4a5d08feaf65c355d30ea5b95ea5b8938202084b007db1fe0e9797b41796c326681b40a7c189ee0a8f48dd6643d0b11d10000000033150020281008874342a150288a63499b7b14000e8294486a4c9cc8e3498ea330084204196300010410430c31c80ccd087110002071519a864c568f8480db7ed44b26cfbb32eadcd7cd6026c35ad1b700300a12fce745ae15e4d1181c9656772db11e009d96ace008ab0dae0092d28b2326baadf5571473460fd5400b6aed05e725a4e6269640e445318be9b8318f88dff9305b5219bfd7f646382f436595290cda18de119e9b20e1b12565b295141be012b9e0524dbcb06c855270fa98b0073da09ff1c541535681b965a5a352c02d36bb2c678dd09ba6973fbdc312e7b4cb32eac8ed53bc97e5151cf015dff75f13f2a0f9640240e9a039756c24c2c9efbb73b2658c6ec6fe87e6818da20ee2822f6df1329f3459f2120c351e9c44c1993be39bbdc929131a4334b2dc344058262bc812489c0ecc6250ce6c82588965621067c90d4f0f08bc72ffe989ba44a4481a70cc1c93f0ef0899be90e7d902658519f887fcf15580ef90cf8f9dedccf0634c3294ca33e29285b84c8fc0179881880bec7ba3cefe1e4d013f54b36b4048b1181e878fe79746720276f588369015994944900194dee062d26e2957e007fc9e96fa508a02d26dc51c2b8855060651323de63df49da9c7eff04744364f3e0f1cdce6aa5cde31a0d9fe1e7f578bc192ea98c9270312950e0bd22290ade7fae416e578f9aa78b9f7e5edb7f1ae95d0126169b6adab55ce1ea8e3bae6567e1f82235f938cc64eb78b7b6126e536cbbf0e0a883a20c8b7655178523531899db254b00dee3ebfd4cd2c95bb2e0e2a8d163a7a4467e088d15bbf9d357004c564764b462dd2b2dfa93c1687dd57253a0ae366669c6a1eaff3f05ec2d21f3d140fd1b15bda54c5a64f2e239bd73366df9650d8f1666295cb2feddf08c8f0bb7786fc38a18c2d7d045ecbc70a8a86b78165adc35408b971fe836842e450d81b66a662a30af241d53aed62ad2b2b7ea5565f3528d818b78b35576e05afe306030b2932eb003e959dee36c3dfe680353a9c018d993c9ae33e59abdd8092abca2ca95d8511ea168cec0b8a8b97d9c77d4076ed210ea1acee5f0d0a526be723116ed765b83871562d3e9e071737b550940db0f2ee8a40aa5810d1718d75c6109197921327d476437cbd1d5f512d3ecc523136cbc6fdc74ba80f56687177095e76fe4909d887087f99017134301514218e729bd87e7fb3ee09ddcf0502f2d018a817262821968f880e6dbd1b1b1918d58117ae2758b925106af021a8f1ec49f60620b6309b7c88e51f3eb0c2e136417ca8a03df0a5ce60859be269232c406b91c14c194c0a6502a168bc18324e91584732f6d9cbf874a7e3d7febf8f59b1fb983d0202e563c0bd050e69258bf053488db7fea8ff95740f806cbc64be6c12aa90414493acf901c79a64864ee84dcd7c24ebc4a0a71d52ea90126f72f16c5980db88561732a59169fd85f903342d5c2ca5ccf0f63b3e60a170a0f75e5d7cd3d83019d7e4452eba4e9ea55f64530808aba232cbd7bc7d74d770f43e8c6b0709e3b4676b86ad3ae10561398bca2165c0e06161120b8ab4070ba2500019122d1cfb5214e93fb24bc0ed425d913859b4484e43875545195293fe8564d158509e7d080bb5d71b2e08b50aa4158df039033efa4dc9eeb60ca8413d2a2a31e08c935b852220ad0cd448d0516aa548f088958ee2c428b14d0072295d1831614e4ad4b36eb86243233000eac6409293db90d71cd334e67e7b2e28322ed2c20a52317c064377335f27c834296a610b838a4e1db6f9f2726100f1980a3653995212c20c6ebc8bda5df022caaf09bbae7f0d3494efd21344988bae86f92c9feb46a8277f47bea02346a69cfb37de7d62e2f4d3f88f8ad428d7c7500cca6957b04916b42f0282c4442b064cd2ba5bcacbc423b2a49b0a6d94c34d7639f0bc82e6e5ad9642b85de77e2692b8d9041202167afb5173b018bf64c490c22674ba0d1b8214481cf2654127310487e4d98dd27f7aa7fde182a5580936ef0181a5c3de5b711b2488c3fc8163715be1ed4df78100749b171a3b7159396662c592faaca0ae9f83a3d4b44619599341ffc97818e0ba05d13995ba3b2abce1d1bb4c6223307204c91f5f24e685b31722266a49bcfc0a0f82e672e7f4451b429a1e8d30bec78fcfb3c051ac92eb56ed1cdff6acf0faeac3b1aa7d8d21d08063b7696b5eff217eafd5426e52f2a984c5443a53336888ab53b2791d85988cf9dc8db33c2f81d1d1f0820809458973580e50a428714c1ddaa94fb43433899eb6c556c664c447d8e24bfeff9520a3fc92c77f0d56e4d1be8a2fe63d8a6394765018a23e2b5f50aa63c3a482c6afaea816fd585a234814eb7b39d09660edc70ddca5116813d2d69d779faa9a7a1eb1a2e74217c864824375afaa964fe667edd53bdf13501765b982e9c80890eb257df30d04b8ad846379bd4789949262151040b6a414f5a2b9a13492c68d8b819d72b0d55e56923f9253275eddd242abd59bc4fa0ba54db6197b59896c59265290e1348d523e0c87ed8dd2729a8cfc84dab5d8fa8b3add45565c6b452eff2f789dcd98fc6f3bbde70bbeb298f12c55d27b4c9c1502509adfcb256d648142788fd797463038cf6186a8e27370202b4e27bf314ca7333449a40504bd35006a474d9e83bac5e760821a9a93049c3dd9f7d5abaf475f91495a2a17d16b0780dad8bf59ce32c79590edc19d7f34ea90f25df25487a92f750b09009c0dfcf6ffa754458a44f4ef0c95be89060b41dd3b807674f3b21d02b80890047f2ac88c1587e3a175eaacffcbde269eab381b017e306e3cc81e6f5dc0d464cd6e381364d659c3f5325ab0a08460c0e3304589b7285917b4708f7ec6f518d8f63e8dbabc3830b9a0d71893c8435bb43373685ae078020535b8d729b3d39c7f9d26da2c5c3da4575c51e9cc23a323f0d018484f5e9a228b7cf9c28b4fc5f3bb1092b36223e5a296458545eb0def16d9e70f67d076c539dad7b7f24da2bb59bc3fc24b4728715dad3a67c513a337534f0194aa181f5a87d97d9e77c22d990aa04a24431d7299e2bda6cdb22004627a319343f33537ceb1ab44bd82abf92f55301965c6ccff8682b1b5384bccbf0b5c01941e2312bc6f82149f86ee4b4508c59082012fa51f6bf23ae724b40b24f02703bc1b63d9a9774727b2fe654409c0f01446c53f04ddb78d273e52cf4a5f419ee5ecc4920a08e309f7394b1e7ccf097faf6dbec9238d45667cfb3350ae9cbbe67adf32744d1b880bfb7d69f94008a2563df74e488f38384b19e69b49f6e0e60f988369988f708b34838d840766cfe3850c739188740027638e8982e79829e523ee87549b1bda18ae802e6f7545463d710f327aafbf0c738befb033595947c7cd9c5203716319ef4701f2585ea2201eb2bf9394ab51f85143bcacbc72861a81e0b07afda6903da4cb9457125680544fb5e6508ecedb37155c1013ec90888845f415e0d710482b389e47102f588a0664fe0f8ff7490a50555e5c1541e15163fb03e7f63a2b83638e1b0944ef1860d37324a15c37a5f059e5d892a1cf01479b38fc78d36e72a38eb52068d355a3e31fcb71c0ce5ad9389d460ea72b72f059a8eb9b08617cd47985dc23e526a0dd204a51d4545db993ea6e8bafe9073e8297614aa63235d3dc5461f859dcc0cec9a715dc6e9f0485076573e3b3c1b0e3927c249a0801cda88fc5346d174f7f17fdeeef7c8b7a7dbda25523c40459bffeaf9a0c69ba27a1d32448413c5dc4a53825ec1a7ce1743d1024004d7cdc7fa8a6c7ce309f1a0502babd9d1286eb9468442ae41c9be848c4cd32ab33cb1c7f2212366fbbd60e878948087da854286b155f219e1a0dd0b6fbec64dca4efc8dbf4052ef3f2386b636ad2bf53e236c9309458449a422e1978a5d1c550d9e7156a1b6b5b0a662661c20d999b3970fe4ce359fa1a734880d3070a867938336b68f864642f50770fc78226e57877785ed6100a641d8d175044c640777ea1ba74cf94408e2e084dfd5e6968265212435b6db52a8fcd1caae66f7d4729da54acbf99a1094525a55755f522705c54f25755a438a77c080d14bb59c2e1c58744003b70c12e844c3dce7e2467dfcf9ac4281c33809405ef261485182a6a10a5b3f53c77ad9757c1877a575bd47d5137bac0c4a9c95cce83c7e75528d952e522e7ba85f6b2cf5e7c6024d0fab8a4bb31500c0d66d6e9d6789edb9a4d9e3255a2db025a2685da0e7c242b3d8c89be1fc3a08d0286433f72f356b7542f23c1ceddb6dbcbc3b248cb4e4a2550afcaabcee60027c442e408f2f6e545ee30971e656632460c57ad89375cc37840b761cdad21d52630c2709ef4ad9c00d7cd166e42276bd9b65de3b85b3fe02eaaf462a786e8f2f7ed59835093f7543de05f7a50c259840445bfcd95802197385be8d915008efd08e573a362bf510d4cdd0a7278061f3e7bf45fa6360cabae8a3ed95a74507d71729ab1a78dbadb271cb4868e23d86b5fb62b223f9d301c83ff149de91cbf29a4c177fcf7482415309de20036e81692742c575de0bfaf2e74fea85f4f4c27efd708bf347016e861ea7a34a2d7e08459313164da2486c86538418af32522c8b073459bf0ae4661c0603eff7b9e96240245791067d2ee63fb22d751afd9a40cf46329497fbc980034b8f9baba681a33f73eb16885ae65f44dc1f183278a813e294d8006e6ae301da92632c925055f375ddd9e9f8fdd3601406321c3e5dff64bf34ea08c137ad6510d200f1938ab1fe9216dbc6584df7693eb50d049f63c55e2ceeb3fbf06165c88393dd91868f08ff13c1b05a9b66e5bd63ad855ab5021390082c9ce185edefe172f4388972515ac64166687a2728dd64f081f2c82737a0e1490237bb535adc0b18db42ba4a1293bf6d3fe240af19073647b56ef92094cd805ee8a491e94ea140cc27ab2b04e576687f480b6c1ea66d81e6e08da251761717c92ad7e2edbce497995185149e555594588426aad939902240e8931aabd7eedfc51577c48b907a169fb9ef441147cf926c7a89d23165dfb9960b13453da75057444b8a2a41b2441f77845c8aa91ab9616e3f338712c33b80867cdee62abd25081d1b719c7cbfc747e9991b7b98e60de8a7cc4f2a2364f874cb6f14e08777245718c7b54d8c28870630a49fe1a52ee8813f77b5f284f78b216afc30863531d5b598cb0d48dc6a95dc2289b7a500f17b7d0382c08de383678f15dfd785b8fdfdd48306f990036c678dfb084619915c1481fb8e71367bc8519518ca825102768a698f1ae5e1a1e58e0a363841e9f749195f422afab8ce22e12ed921031374b7400d53c517cc073c893160c29db4a0acf82c9537cecc504afbbcf293e98ac01596b6e0c87eb84969c5d7c385e94f75065cb877f79de221a34373e53170a7bf148497e8662c5caae6ad61ea079fd52ddfad9f6ca03c7c5629c4f69e376867d5052673a118ab896f704d23e036292332331de6ca0fcd25f06cc87db82cdbac0972263b7dfdfca7aa7ac388cf49c8a45e6c2a9108f3e47576476b303f4ec122c083a2c9cd76c2d994939ccb65dfc019b7fffcf4caf94c8a7944df85ebe56c7e829462d1a38060da5363635379b7a48754e75dc22b00fedcbe4129c7398a5a335af636bb3b708beb3194fc36ecf9a99ab06a8afffe88086ed724f1259ce4458d6e41ec1d0e5e92788a0f3bce91f4fdd3ed8c9b3a542db7541a046346cce6bfd627f478cdc07ffc513b59ab797424842dc7042538d40fa6bcb63db2f3ab737edc91d7ff5ab2a80441f95799416b1f4a57e1563f4a98e0b0aa2d16082292fb0c2c902b819b1dc4ffc3e6d88fb42cc2a2ce6b477f76cbb3079d38f394de50fb856e8d3397beb96cb3bf3eaa6485373283ba5f453e337d2b44d7ece6a7a78c73c3452391e6cc3a67108271270549d4e13629e837d7c7cf1832c8e4a4e0e3a2d6f1c478c1b68c8842cc24a27bc82e2aaed8dffe9fdd9993cd4f09f2c835b60a5d30e23b1772a790a084c4bd92bcf98d26c25ab88b8e039460cc085e0f0a6d10eee0c1d1fffbea896b3fc47e7b30d0595116b3bf04b2f8cb99926a1afe15c670083f9ace28958bca3b4143cf440a247080220504e6688edb721ada358da2f3f4d4c2b4a9adfc9cdfe3f6a2fd7efe5c5ad16f3f981890ec0346712eeb697621dccfd80619278cb29c4f109960ec3717f36afb84135687035c024957df007915d2149523c2c9be6c02c9cd77bfb930098a4881500b3f3070f201695952824701cc880ffefc135db1348c64f9a84484e7406012e15d420ea9ea0735a32da4f446b01066d90164aba167c8fa66d0d845990ef1ed46c14861c216f83c025274250b2f0e9d214bbaee3abe973e2fed97ee204af5f3542b0b0a543ecf140b3b6b83895ded380fa1504d89757451b457a793213a87a57b95d30862eff671c0b3862505291a8eac3db6207cbff155061664a5d6036a00bfd39720d9e7c8ff619891519d803e44549cecbab170f0a147f41075a0b8ef8f3b815ff4b65bfb11c6d506072106f19cd3f346131b0a70b9e31687e1e56dea8c84794917dd28493713202d68a806bb0c8a6cecd30925b271a8666be1f079e3b8c125fb16e5b2174335a4ab2f42ad933a1de66cc1275e161950596223e3f9221c33df5b8c928e035b80121b5cec762f363abaa7ba600ee1ae95b0520c301af723265789c12ef1fed4a578a714da4eb42f88d6d783cf6dc5935340074f0d84ff75463a24c5023b128fef90dc7375bda1ee6955399e1f2b176bb57c1e35a59f21e4050592e0966461c3fd3bf22b7b2edfaae3e24c62e76cd27627941cd7d4ce3bafc8b1fe46c8d1cdbcada6ace89439626e8aeafd910422e852223cfdad7ae0fdea781682c70fbc2d987878c18907d6967a14c622e15ed8210165afb15035af772d584c7e060767b88498c4b625d15e73ea131bfcec70d7763d582d87a89adeab7d43e956ea834178b4d59dcc4e2e80b1d93c031e05479166451ca39c22b94237dd68bc3a0e167f159010191a78c1acacff29fda8e440a65e3aa94d6ca571bbda4fca66c6008570a01d283daf914d82e2f046c830143600603bb1b8fa20c328bea665e5c59faf744242665b8c820ce44d0bad411a71b4d039820d40329809a50240c7bebe99ac859635c4e40fa0de895fba61df59b262cbce0ce0edfc0e6c8c0402c1ed1b2e73d3b667b171eaad9054e0e469c7bbf8161d077d1a81f7277d8699c4f2cf5ba9570d1f0b6d40f3e972efe68954c76fbaf96bcb86d8a4cb3a0ec4aad2b452ff107969dc47711d3718aa0dcaf972bd1efc1d2886bc45bf91a80c68d77f54f41c159bdfd357a14a27760ac0b5c56376644a30e6e179c260485800c89cb4afa72bcdfbe7b7bf8eddca153c36d5f4c45a3b96b9b7a3dc4606d60f3e191c716cec351574fde9406996e5f9e898288adeee9f25037c43509f233bfeacc36ae82670694d031cd54f7d1911ed38cdc69dd47bba14ab2bf845c6626cfb4aa7576f3b1cdd6371bf4fa26c9767302b431a84c1e16b91772f4435074e637f1660337fe7f0502c959b7fb547207d5ee6faf3f156108591de2b864c15d3282c6842b50706dbb65722232ae724eac74bc0b17c3ebe415d0c9dc95e7f3003070d415096beb7077d20cad04b34a2edeace811ac810c98b900b1d261eaf8f20176b320cd691e8155277e860099f921d49947cb2ecd2d20889e76ed27c30bd31290b292f897cc965cc079d363016496158f9876614827e9821677a870d3e81076baa3412fd70c567611c75ba619761b51d9458281d874e162869c7aa731276cd2be989466825bef9b91b6097a5cc09272559e29a549e0bbbd01825212ede722dfc0ec3e4c4104836a35c20596bfe2bec8f1b4a105641108d31c57b41026eb829c9e974d5e7f21e889431f705efbb8db4d1bcf05b08d30228f46bebc0a10d9a1d8fe1eb87c93084be94d99a4df6c61005cee4fbbf72d872b6b198ac9f2c408889beb2f3d40a378c21e4ef9aee86e7e92cf02be5e07a96c7470d10105f3e4dccb5097370616f97a8597e4c3bd94c61f2d20f0ebb362ec2d3b5073421446906ea1cd0ec565e568cbd7a2c4e9b42027154e35b0b6fae24d78d783314837c370ac27cd0d57f803486522a9cb5c38518e83c4b2b6a24dd724fa9d2d2a9850c91e29199e3b105b027b8b68a833a467275c26da36663cac6358944ec13be020018902fdfd62b9e054c331c5215541eb2a294378668ce07699bcaefc5584e8bdc7656a7f5c5ccc21e1549857dc8ba22a64ac38c65d82e8d22be2d5e2daa668cd2f4245dbafab09e204e70c7a2bb170142892b29c70c462f401c51fd03fc7287a2ceb7fcb535e3b6d99e18fd345b75700cc240830d138d0c9be9bfa8d9cbb80b013f22e3a73352fa99f795c5679b7df3b7f61af7d2397d6a3cd2eaf2077ee0055a7e827759cdbfe2831428180b6917b3980a654f3a649f5876981ce69569e48687a47b895d8a8dde1eca7ffa9fd348ddf58eeffcc95a270ad7fef1c8273cdab969d1a5e4c18106e7d819a5e9adb03dd9417b1e9cd5d633474dcb986c485dd508e423dd656740492a1dcc0b177f59605b1f8d4ccd75e4ee1e8aded4ef49516fa2f3f3e59a61851eb94b20aca9cddc3eb6dd275b1d0c9c5317452856d3ccce6acc56f44521a55715e1ceaafa9c1d8963cc3dc3335b2ebccf73d58a19a2d2d3c97bb0706b9b08dfbb780d1336d42efc50326c2d1c05aff594e4f49967488a4983bc549277282d22534b0ffb6d906bf6f98d8d262176f57de90abc59f4f70450096b96345ded464726fc4af948af799a6339761de6e8dbfbbeadec6c6e8878bc6131cc1746429e1d763ef58238f2956e6b9403031d7fc4a5734e1f6f092c6aee4457fe62fb182d1399ce7f3c8148a932940a5e2d909b0885793d98ac701a5a9258db189df8b570f76e761f49d69d7b8d925230e0854ac2d89280b87bae89d91f806abfc3be838a4709f85f014932304968b048f815d3045fb9bf03dbfe4be1b9fb46da47d291c433e46b2b30d51aa5488d4508a1aad334e946bc1b5ee482e2bd8e430218edd9f575b1906325b9e93da36af825540655b5660471852e4c7e9162682d843cc0ec1bfca4c3d368e8771c70c954ed0cf0bad0d0a9823484ad9a96604cfd03f97fec035d79047af35798de8ce160a27b63accd26c5565d28a12140ba348effccee736da43c19a05ddde669f1c0f96f5ed831267396fac2f66faf1e209294455f1b282d74e00d363b9ef8aab88f843710c8f72d16ecdbc8b6871b33d8f9477d179eea62701a2b9bc56331edb62a64b04bb33d764e43490d0aca20f1609edce0d03f361dae0ee9dc257cc00ce31a5b0d7a757506cf4a4da04ed6bf71385bae64bd7935bc463b58f414ed781b88f0f33e085e445d1a5eb0b40982b6ddf7a8891fb24100ad798e1f7e82f5c0be40e2e40818ed0ba8b43b122477ac2949d51fb77004e24fe290188b4d06aa32656e465f7cc03e5565ce1abf84deced3bfbe7cd452ef689ae49a8ce4aaece1500b3597e0b4f257bd992188afd022e01706dd8af7868495c7c1da90956aa06335e6fdc3235c1c2c39abddeaa55cc0bc833df801e18e8c7d4678585d4edcf0754c44a71d5225bd5a22fcbd8739b78efc2c140a01805d96e2957aa0545efd26373bfecf74b474ffcdcf71893791cbe16584b565e9c17cf54c4cd5682e92fc51b9088eb052b1fc3d38d0095c02a28dfa1b4604516d5fbdb6ba8f6ae29b077d2ad8b9d185518b9dae81100c050ed915f0a2999058aa01b0fcf1a56d3eacb0f62558512f0b087eb12bb057cc7419739a6a828f452e486a873aacc5fc3f69eaec4043e88127c50ddf216ec731f599bf07f69c57e588d3aadccb072d0d9bb3030feb7dcb9efdc581dc9ee6f7d0f2cbbc7f71c1de0a4cfe7f08c9793086383696231824cac0e1463ed59c04ed221c703b3180051afa5b1340df873032e0d5a3f7c2ebc05738ad7d4c60a66aaad4a61446694524dadcb6687fe01b90a5ab9d42be9f940995b02fc03add78f86279e360af1d9d471d67b486f3e616bc547b156859c80d89d70c235a127b37f61b044a04828b35e6e905907bb6822e2076292d7b4de4dec96e791e816058e51302f63b895ac57e6c1a1f0d70159ab3c8a67019fe55d5710d08ea169019ba4736407afc5d2d08a8aa49c5d06ca23f1b07e9f0cecc97c056bb61539d075d96076c96bef37e25da1aba275c6c760feea47ba7b047092e03778e01d8a9fe7784448d944c7f58cd24fb01ad82761019a0a8f9a252dd07f60011104d2761ab41dda76c56e4929a0ce9382a635d19977eba59cfde910af8a3e5af33663b2f0376cab5eb12314de39b7b9e69f3f93a0d8c91cca7576761d19449cd57d515140e37cdeb263885c7824348a4e2bdd0c80619cc8381356ec307a8cbd960d526357636c5e61b4dd373e5a381f8d30f14980565b0d501b20ad023f482a5d88470237a252ce06620fbed88168d372bfabc570ef9b2bfb6748d3dea6455356a4a9e810026eda816791565f027669ccbf329aea53f840d259b897f57fe7c883ee17b9e8bc61d09320889ef52c2d9cb5fd85dd5f7173589688fe93525a82cb093acc1ad05f07381a269094d52e80cb38df1381d10e5892afe62d12a2d3817bfa063fc5aada7ea2613967bd4169994d854bd4bd3b47922923cd8f520a713140884a2ec9a6908573bae7786be0f6e6692b77807f4df6decabf305c1b9cfbae73eef92375058a4e343f5fed9a686e37b0d6998071e3d5a190f00219661c8ce1d4de665734d63574b383cc0565e937f4dbce21cf0d5e1d7ff874cddb99ef756a34eae0987f07f4f20dbe585a60645dcb7ed4c20df6936babc1863d790ec83c15b4caa6fe23a6287d3831a379c992e7a276cc67c63c66cc65fa9a6d8f19b72d13cbb0897bdb3843f7a236d388645e53aaa5ccc27ee74a00b9b18464808431f21600ee2dde55a73372de3085c9541e062d0b41ed6e50dc4733be28cc53364d7ea2a614cb95cb34424d7057122c1ba36fac81737d4284a4d69c9a96a37a1c9b07eb6b0e2734f44c14e26fbbb2d4f5e4fe50c376e82317d33bd60adf2013fdc10f781a265ad24e79ee2160a1760f10b4990223d205066ea81fa4bc8e80bd5e70cf830b63dd96d20457356fdd39b3a3e2405d867093d885d6c1c574d2aac5222f1207b6a30c345cc4e25659e817be8b7a745411ee2729a94a7938ea2f2623e184352cf446667b4dbef218c02cd9afe020d6356e8ca9b79b52b8cd322a8581977a06a94144b2432c9ddb3172754e9503be16e1ae92adcf29c23ba84e3ca665316596b9dc910fb463f70b1c025d8f0b377a25feb65d508609cfa1cbbf073a76a0ba0d3e90b5412f348906fc1d76e34b3267064b66af3f8eb319119669e706d710081d00cf9b22e2cae426c7a3f9121a60f1d689a2362ab9aa67d13845b31a6d80ae06a2ab3c0d772df224e2ede8b03f20aee972dc5847945fb1f01bd69a834c489001b1495f8d354c2cd35b99334fe8960120e8f753fa75a1c00436c5b74d0631dbcb91456e9cba93699ad7d666081b3ea7fc0458a96e314fc3d16a3e81a3512f0f277ebcaa4ebfc369d5002eb68fd081ec64af48e40aae3b8b3a941f97da984e6a20775eb77f34a7323c5f0b6b4b0729a9d59e58b83d5cecc6f296c897bb2285d3b066faab01b67dc6d58dd7e2145b0ab00aba06cbd039ca7c7ddbf88331654075aba04475bdfc1648e3316038c45e9dd52835dec9b370922bd99f26846980080c24d535fb76eef2d2a528a0d9512f3ed307f8ff9324b9ad0c906893c2db547575f2589bb74cd13fca7e91e8a5cbc9b864dd66bd54f39bd383f6692d4c88b37f7e34cb98b1764332cf65cef70c021f41ffcacdd7ee035fc693a5d836e88f686f4fd678b90254ea0fca24e356919454d091d4384f654003d0f814ff0804953a96d1b3d21d6f26ac8c67848c01591d9d3fda140e754a6562d61c2ddc33361e929f864947c922c4f38660e325dee8b946cfd964bf11a163725b5660cb28f38167de890cae8c03f63569c4b13bd996cccc290899580227ada227a81c70be9fbb45ff89be2464b987a25208d5fc4a3e852cc4a4e15c759dc364445f0431b00a87b7fb7c73ab934b77d86424449e28b36c40fa8411f3f4bccfb82c397dd3b0492db3d12f308556aba0ee023d33d296d30bde565a6e94824de93f86a7f264b4298357ac01c70529652e744fc8fa0af279b7be8afbe1a394e85eae0f218245e8a7ce54b3455d3cf0284a6344b7814fa294191dd3a3a453e2540aca7c3c9afef1183e5a5a28abfb7a71790223c5a33b5883fdd91529660d5f137095719b9ea140e72a8d76d37a25518f3abe70a1ef96aebcce4b79c953229a2726a2fecfc4b29decd2376af1da2314e65e4017c09f1435cb93e0a7d06b581db7eff59b6dd27bc6db0780f5640570cdcb6978077174b71b56fe35d8758c78c33c826d17e039bf17783c5c292caed1aa72a03e0d539b8963ece1ac51a4e2f909d70bae317a901b6c31bf46204f2e2b428dac1585f753c96c4f0d24842c27497b1741f4f91a13788197618d4ab8be208c6835f05e732c8a5f2c144b80a770ab7f7467ac11ed4a1ca6661a3eba00915ba6d528484c45533fbd71fe9a3ae8883d690ddd76c5c6eafac7a30f1f4ca5c74d02f2ac6ebbb50a2f45f30c3d532f5f2eac2e7c2a7ff9059888fc6d1325acea60b5b3a361a0c0981dabeca254db31248e8e363ea119d57e08e5c0653745af4500990d922d65492d041181c59630e8f5f520e6d74a680f2f0320e8aa597b48321748394e0f2d04562a42350e5fe4fcde407979b133e454bdaf47a9b5080352899548eeaa287438e818948384972eeb4baa77a03d324e7ad058c670530be0cbb5ee19636d64a36b6ad9dfa4392f342a7cdc79a3bf93d11ade0ecb2c77132f485d8ac526055190c6429c26989170adcb5d54386f4bc623849f05823dc69b94aaa90930620680b31d034893f1aef134a19b92fbe280caccddf7ea0cb641077391c337a819a8d88f53ba5da0a55588e3e6a37a55f04774feb5f917062155f5c88791d878eb736841f1ec425887691058cc83ff17fbbf90c3f3ba8bcea2e31fdcd66d0b349131d06e6783fffd1db11bc91ad6b1c837f49af9543d112a8d1f0f6a9e82f8a97671f703b70684e462ffee67ca750fe54e4833b98fedd9e73930fcfa3bed3d5691855858ebae4d772cf69ee48ece4015f8e5cf035223df54380c9c1a38c48641c9c8c974e4b8cab4ade90f280a76977bc8d1363ea75afd180aefc5ccd3e2dc00c512c22df59c0df8d1604fab3667e04cb50e4f04cc3becb1c92ac0664c403b72798950ffc52c916acf7ffbfcc29aed8cf9a5bb58052d1d1f0e7ce76ddc8fb9f8faeadef0aabf4f077a03833b6c4fe6d72a4de9e4e223dbe805a63afb5c67976ade6c989ccf6322ac042a3c1c9a2e4b3511af957d3350fe30083bf392437a4419071859d2aaee2ea48a59810f2c9933493c2d42cce5168e560a218018ebb7f42ed431c712100626a6e980e79550f7fbd4231a185e4ddff4e9121e27e82ace7760238dc2e119e1a62622bebb5465b5f32d7cc43ac28122c77b89b68e021b8eebf679b4c3c33b15c1c9a903571da9a380ff88c209508f1df87747ee621eb1cdd3e90176a0189b055f5e109f6b670fc46f86ff0b4272c17bffedf3a38cb42be67f84812b6335e7de0da31b629c655e5204693959473d1eb87188801370fdba4fd1f63a3a29eff555136781ebb001d10279360225a378810168d090a937f940eb144959217b8184b83eee124bd91f003348ab3edc68216052204d27109969e7087429bcdf6349327e7165cf70767c8c3e5190304e7ce006fc37e8c60c4bd1db9525a8a74caee578384c3096a44924f2cce0e8de0697310a014c5138ddc4542ad218d54e56a37f95432500a518e1712eb6cecde834ad3ae28871bdf13181f4f8fc0127c45524435b2d7b782596d83072f8e36c590fb94adb9c8fa2b56a2d03ececdec5cfa251dc54f7c1e42e2a5a096dc12d130e3587e8a510e64d56f7a1558bba7277474370952fc474ee6de45f498d83ede3ec27d2529e1f66c9207ef007a02e513933a26f6cf7de3ba21ced3c25ba663583a08d35adb756cd798a0b540925ad5b402553a7b980ccaae7aed8145af68e400da3672046b9d253711be11d4375d2e0b03c2f00a170373763e594dd72e342fb29b42cdb8276fa77d3c6561c3a084938edcb1116b064cc88c6055d9c91f2b9fd1f73a6d5706c15c3ae4f28d7f34bc6d6a89044354a00ec6175c21ca65002ec875a3ac7bbff433d69841c315e259e5c608b2d2610d1fadcc41587bed4007f50b7868819db4f2ffd686b84dc88194aeeeea20cf295cd0e7535ec0c205cff468ee15b44194d4b4798066afe007be0184008f107bdb4851c0ab5f7bb284ecc06215355041640bd8e99d87e1cc5b16686b67e56760e4e37f10e5263d9fbad74415823054d538430597d81f676dc16a50533b261c7cf732f6be618aa70c185c392778d40d2ad99793c7454c314360b263e672dfeb868f1823349b03afc1b6c7645d4ec21927b0bcdffafb2332a02b4f06cc7b4d7e73f14a9e0dcf9ef73f5899c99a1000182ed443af3879bb1caa46c50a5670575b25e7763506d61a1e9bc1ab5ee8c3841940f22d82f219037e22919e6ac4d6ae7aa4caa52ee8605e3ac1dcd1953a7ae9bc30aa4fa16fb32bbf02808c4a2d091f7b08e8ade7ee067d16e0608ca6b6897a22ad0ebe6279153552d7a5847946a0e89be4fb9cfa5cb5eb3d26b5e0b31c0d2476a5ca21dcba38f3f42bd72acd9508671d5f5ba042387620cad288618a5c222dc8a3654a6a85d3db80d319ae1822b8c25013a9c89eebea894c0381a6687294bb7e36e66605dd01236048fae2a0e3122d0a7b2b7af332fb49431ca67c6c1fa848c9b8f0d78754b1e08b265dd9fe94de9b34a79b32a1377efafea9fa18f0743a6fe769918868ba70db52cf1791bbfed10a949ed1d84e55c4f895a62b70b995916261506756a9994789359ad6007bc660e332119b99e405844ba28bb22739d2deb0e66b17a15134c7e303db789e339868bb1402c28ba83b8093c3807e51efadc24e3f503380bc93245ef06f30f70be442b89e8920f234ff33bfa71dad66a346c20cd714a8a5288c9f6bd1f1101da3cf55486e21df8072e01a681439d05a2b43e80c56a5f71007e1a940875948c1f2810a8e0ac188a6b1847d1f87b3ae821a77f53201530740cc5d99b071043a194175b2946cdcd5b049e954156c2e15e4ffc157174d32653a04535b895c8d17db1d00b72bef80f6d4b8ca120d4e128a452901e2340ccf09d921676231a1860df622844b1515ab236cdc4779f34ed8d58ee3586795d3411dc45c4eb793d85310e3ab765df22fc2d724b5571f09712f1f78e88a579af02810b802227a6a5b7a05f36608aa0d0433ce68e7130630d46f7752d33aa9ce3a397b8ae653a478ce96157b600f1ccf9308282f90e9b9997b79582107f0ccc7088856a79ae15111431e912869f7e28fb84d787917b1fee48fc75d3be365a57839d5e968696153882a2de13aec2336e56f8a0b623ed43d539f89092416d7f8902aba74fd6281b6c71ca30ac0a8a8f3ffe93c112cd809adf2588a9d316365c08735342a8644dfd491ec9fe370d5fe20e9f2507294a257fe900c123cf1af311e06a1657b7540091e4894491e38942dedf8c760bdaf893a958f0140d9023ac933c0a7fb398bf47b16ed5290b65c91778794386ba0f4e8f40bb4c32ddeee2a2e71a0ccb8e2d522a4e3d7d09a32f27cf160407897514eb54416c1e2291765a43d146b362ef130e48cda6bbfafbcb3080ce614bb1a8be28bea9b4a0a79ae9fbf458113beb68895cd73e4cd8276dc1d094ad714d42303ec4009b5d3079059de274881b2f190aed0a1faa7ac79e786b837f4357fedface5dd9822465b2bd696c2871b5217f06075b5f941272aee1314dfde2afee35700b724440c347e515f6cbab86f896e4aafaece7df9f288f5e106a79ca263636b4d0d4b1acecd2af1c076fe90ebdc0f7ace2cfa4ea17b752bbaf0e58979a2b077a1f815130e544ea1af4ba5ffaa1225a37bbc46524ca76f310fc0e6a7ccc2173d389bfffbf48e0e4c377b0f588f577bc0e2b85235474591d70181b49695920ccf7bbcedc3052e5460304d934a8aa413141432752d14c3084c584fe36f047881d38109f79a8899be79bbbdb627902652a92af04d1f683551362e62f4d97a3eb37dd80a166d7200e5211ad8fc73a4014ba75efaf5002ae6c63e69dd851aa32073a74430a7752441196f699d225b4a56968c358b84b2545619ce456c323510110efe739ee4fd25f06b9f1e06516bd8112e58fb940d8866fbf4b5853cc1398d982b937920c73aa4440530398a361d4fc2109e1f13283c14f1ce6b092c6c70424c505aad9a567a083806192f6efc2029bc18022dc7f92cd1896dd716215ad081cc9b105c6950874d5341fa3c5d2a98804dcd6ab0362ea14a8c0b1e8e0d986b30bec60a58d6026935b8a7d1ca47e48d90932b0c4476842b8d77006f8422922dcb9b195bdb2ede5e365078bdee8ad8a54d114d2afde90465f791bf9e7c6d22e837222a43c90c8c8557abb8b13368e4f7d8fc5f7b17634a4c3cdd583439ae7848d5c9c29cd87ffb951ff915c969240c748f07cc413550d68a54dd81596ff03465e44f2326a6d0a356983be7c2bc2e7646792dac15f7514052f563dab6c54fbd312cfed681f13da024036840afc382740ef001ef7b9210a038c04325db3c6a38b42c4be78192325129009b77f09bc3df11f35853c6100128bb3838039347c6d6e21a4cff274094e69a57f203e53960b58ec7f4e7e57db637452f1a139b89b7c9c446b0c1a7b8e71cafa2636f872c05c9cbf93aa744eacc16c4f504a0b11f04c119f9d0ebc8eafabb6348a67d33a14088f378d315222c9f53f9b54292d15e0c36ed20c6282da562554fe4b18f702ff8e7a89dd7abc1c35fba235d0d0f6996cf68d6ca5eeb2af70eeb8b5fc8b120ff956087e8cf56ded9f38e4cde90354472213352b95c2a93f64db2c1952b6f8c4c50290dd047fce490b3c9e5a9f72b1bd60ead34aee3e37760100061c89d2c2e4b5bf4772bf8c3e5722e2f2e591c53aba96adcde03412da4478e7b6f4dd5971ce459dcf80cc9d542f1328b1dbfa2b58c24aa79dbddebc659a9169f75b306258a99a2b00e35c7a1cd54c87fdf4b34aea9626f5571fe8f4fdd073b52a7317ea61f294d9be0e434c05fae308744f869c838ceb99d716abc5020d2d35cece9968e24d43430e4071a06a2dd1280ac20d6a585289a78c2cb51c6df8be5fe51572cde5e8e51e153953c197863ef98054540b83a1ec69646bb90651fd82326cc02c381ba7b00cd63c8b4fefa09e25ac4f04554ff2f1ef8c6be61f651979a8ddc0d30bd35bb2223af34de21da06269d39a276ee49ceb2ec2747fee7de16824827190e3372c9013e69d409a082c927e2f6aa3c1e8363d69641642be98713c9aab6f1d994fc602a711d84acef3ec1c471837587cff06dc8b96a8b411e6b7bf0af5b88612f306e5bafa407a930a21bf0d7a54df72821df7d7b52749082ed78d0589dd219154158bedcba99d6226183fe22f2c2454b8ad2ca1eb25c13cf3a8c32d17d15472b09b9c8b465c78d57a851783d588d03c36f05697e4662d710ff80480b901dba97cb58dee34bdaaecf2d5c938fb1a229f913d80428284e3ac2ed50ebb3f390dac4c4135b5aeadda3c00221519a01cec33991858af54767abbad659ae10e3d6f9cab6cf8be2eadfc4aec07d02c3b9ef02b2007a8e49f19e629e1ad3e362ecfa0819884849e76f49e2a722606b97ccdab02025218fb778c5bf4dd351466a62684c8c1e86ad7500a4af1608e06838cb2400d4422644c66cc768cca056bb44f9b2a800bbfded5d4545ea127d92feb5e242af94879247609ce311a8f77386ebf67c6809349e6c4c1f98ab84e6366433b553420f398dd4cd3aa482c5e8e44d540d75362c71521606359a96b5449c539faff1148614c4d92d56e39692b710b1c9f6b29df518f45f816537b986a4814614b28ab50b21f65ad73afe7ff96b7b72090941ad9225224d1c4753c84bc68916d68cb47662fb8d34b819ddb57ac45d455b19decadb98ae5a20a5103caa7bd0f596c2e35d309d1502aa7b06f31fcec70c6804f331a2ffd75685eb2841720bcdc14f911e4964643e9b852a33524f9665780d9802fb38626fd05c44ed7ba1fbe14ae77164ea6b1bca33f1b224a1694263d81d47f8f2489f03bdff4748bad9cbdb8c5601ebebdcd369117c22ed81f5e77d1b11f1c88990102785ca08f2973e0293541849d897d0ca0a1c4ffc3554f2c65c43ab2fc65144a877f9b8eb41fa96acfca2b0d43f80a14da598a50b5de0784bd695e0f8d2d6c6206645879631e7d5f1dbde45f1bb29131b22f91ab977517b7ffd41225ca60012632ab6991f381bf7e44a0a4e68eee4e7dfbd30ae7c50ef79a4af936aad7820401d92916ede2eac1208a2aff098505448a2779f8552c6f60a0c4e46c1ece8dddcd53356f88a8d08663c05753bc85613e3578e2c209c7498741b1c7be4fb9120f737f08d68f85778f3655d582554048edfc0e95f52ce840f0e62651e2167362922d1fb58a6a2089998b16507b4d0eda65fba5809f780cbb8b37a3df997c89d4d65fa546a00249581fa0ce52c5d3b459bd7d0edab40b0416bba331f00825104ec8e1455b6e00ef4c1a2b04243c38209499b5eaeb83f080a832ae399f98e677666d795e83a5330212294a3dd5582669bf488c7c6d326bd16c30927c622f4d94f7198f924e5b96872b6b75ff5df9f7f096ada9f537bf1c982c9632d630c053544477016c93599a66610f468ba72504c5d13be103553d8bb06ead2c973b9e87aa6cac1233ead1107ada515abf2e35500c7a2b4e3e081bcb18377e9cba0353a2a494289646f82e76b56aba54ea11b0e4def7a0fb32b719f34ab9552792b4b1d4c284c05ae04b483a92e5b4f10a662064f3e57ab6924a99e114bee0fd971880b5ee0f87563f7db7622574e0ce49857ae3ee19b6e895d4ce4c5c8af27c5a7f1a7582e5078f861d1c8eee286b096842acb00ee29b1dba9af84b27e7801a47aea5ed1a47c167f660dfdc2943b79a93526e98459cb5ab8f9b1464770111a2bcece96c186445424474e4be92c5aea7fdac18fb0a2fc9d9d7f623a523dda0efbd4d54302ccfafd65b962c3e835c2aaa95cf26ac28b4fe33e994d525553f7ae3653702f1fb25f86cb7a69294b24afaee241d68245cbf4acd75c66b915c61f8fa1ea639c56013308cf51a5e53cc2565c7e7dd988a31e8431aa9ccd47137d13b3ed96847225287142632f6e4ef59888e169af196d75bac02033bdee1554c1e6c0d4bca2596d2e538fb8355effeff4ae9c633e79f53a922505edb60833698d0e990b926e037b2a02566e22e7426840728f9d954e8cf074850845d37782db1d21fbe4b08216a544138b4a3b79abc39a8c13630aa900aac463aa4522e016aba9c15e782406e6de07982a49043fe29b928deac766e7854905b8b7e4d26c30341a726cf7e025c54fa05ab6936770720ae8ea167bd286295ed49b1ac66eaa0340d71b7f1e73aaa4e5935ece53ff18226da53e71d2174f99f977c222646413c9ee0a81f2caee4d2eaec77beb4aa9d7e1551555edac3838f4b3889905ec14e3adf83563075e7cff82c8c24fd95abf47fce33f3eb66445ee95ee675e730de8fc2ff79998a9e3c5a3313ff59c10e461687f2be38a0d1542904c0edb36ed4a0e7295f9307871b4213f9ced74d826cd5161089a0285d9f74384a9aacb26d03ef36a0ec5c427abd6217416759f96171a2c14d26b4d886daa9f67eab67e11688e85f691509ba14a066fcdc90600e8cbcea3f5ec3547d6ba198d32435764cecd79a60d9dcc4e8c1b6d488066d8b0bbfa9e1ae3433286d928c9d1f59e644d04fbf1ee06969b59fb27134ded37ad1e551b5724d5f13ee167aaf5180d8b8fdb458aac7b65549b762fbd7a38544e08a8b1f1523f1e67eaf2d26ce95b6e3c4ec28c0af53be83ba2a52b65497b2355a182d3595d1188fa364ed517d9b113825854f1cabebaa70391f1cb19cd5b10b4d3bcacc14ca92628ee691f244b9e365b79ca1f587469a6a8f17c4f005bdd4bc7e20c7672c9fac36e86da83d21e2df38f4d124c34779ca29e59edaafe785baf21d1f834161faec002042b898930021ded2e1a3a8e9a4e1996aabba05a56772029075fda3a1c1ce0612a09b93c2a8d1c00f00ad7ed156b1302b0105cb4dc07f5ccef0e82b35e10da8566b685811a15608d96ba2247119636f82692b2caf8012ddc58797800ba1ee5d25042b276bea32f2301b73ba78990f238cfb08e3b156bd6081e867ba16ad2e771b3754d3be298f5bd4ec5ba44532f4ac8980f717e8af9e14527212e43e25b9105db00053916fd6f52b4e380271f5441e67b741c209e8d77aae107e86e7b7c0bc67e6190a89af2288902abcd3091f9a6c8a1112b6c755914d18c6abd79629238b6f277952fac06c52320e7d901788de570236eb81d6823e85c84702aa38aa214ac4fe10a6a971133e36eda66b703c683ee1474690868ea5ebd9bf4f88ee8da37c6fab34a6fdbe43b1b3101c5a02156e6e2d269f523bd6cf12811393b55939bc832d60fe6c9f304210fae6639653d9f29eaf5041dd0a9aa1d2c8d81c95206ace3c9e0443f9e5fa02893f945f1e1a039209fc653674495d1038c0206fc1cb18ebae9646a4cf35ec3a8c7049248585b70104df0c6ea9373deccd6e8a6ded25785a00bcf9c30bd080ace7d2d9f305ed933becd8c02f144f459aa11182651c5ed31d634f142d6f08211aae168e4ac19bd13da598fc8ef2af5b4e9ad694995fa1cc387aeb1cdbc2c6e5fc6d25832e41718a8aba71238c6d8cc55db0354c5ed4a283a48f325d23d2f09c8f8d542a305a39546d26a9541a1a5bb9990ad929a9a3397821104a604da73638ea117e14350aba6c9c16e78127a5e653102f790b7a8389e16dc5b36bd68d7a4114a4b30d4d8258cb734d6f888f99219d1e548f402e48cf73bfebcb644d2fe6025b19b91162ce38d355cd4969b47d152c7bed38a4ee8ea96577b9d9f499771d11011f50a17a7fdc66fdbc64dda62030a6d00350bde68e80bf133306f689d56681b990a80f0a994204906425a82a568160bac8417d9d9678424a28414d45517b9164056743c5531428f707f1baa5678cd719187e31e79af17d871c470c6904ccd80505842b8901d85a06ec89c1decc0b57c7bdb2b99622142051c3350b2556686c72c5766622a5b162aa53476d9ffccc62ba5b8e5af4afd8c5fb01821aba02d8564d83228f2e735402bdcb67e09811300096d304e2b4da7f948d245e4ee54fa83c3c4c53b4c04f5df55784a892396988eac6f7abd8d3a3308150d69b1fb05514850d84ed0e72940362475a17d1215a9cd027c7db0162303d3b07039d5969aa72dfd428786dd7bcc72db375371b9a235ad12c74a017e2c20682116043e9115595e8bc9367ab578648430852167fa7a4412863f0672d0d970a94680e140a803ca9046c1a3380193393f27259b4704b4bfd78116db4864393b85ad68989dc845af9353d3f720ada5294113e11be830a66ff4ffba9b1506b425ae3249210bf245baa87ba0153e5fa910e314c6e26d10a40cc549007e04ec07d594ba81242157f219f99ff20095c6f4de458db90a447ea720cdc44b2dbb617c445836b397e094f4e9b4e9ee086aa1cec46d9545fed42cafbf33b800aa90971dd8f42e938259fa8d1c14a21787537564f0a9580bf1c0b28c8d09db9a50316d90d0ac0e04436db124e1180d07aced1c87fe51ef021ca730eda1ef2f5cf76c2dac8246a994bb630132e43fac4546e7e54b1d1e08e464231852303c4fbc1246471497ac3ea639b3ccda86cb531b0a770d6be769324304e5a658118569449b722c11780a892c0e5ab6f7e046cc57d356d258ef0a28deea7caec9cd8e07d42e305e9d0de13fc9ccccee9c36c01323956f78954ccacb5938d302d195aff1ec96dd17890dd2d97dd2dc0af91dc97418032acc4684c205b72d70f296e64e9f50fc35d747f7730ea35029a925db943766057487a71612db254091e2a8a67997eb245044eac3ed696e4db6d3dd63364b3f0a278f688f42248ec89f70eaa125c5341d230d2e9734208c29051e99a32b0586a19595cf30f745166ea1529525053204ae1765591d2ee9a62f9f1b292e78b97773c234871e6b10f6a5b9fa9f0da2dd2b5fb74c602f41cb03120f24e2bb6821c6413ae41fe2e610929449c246c85095c0d88be6f05c885b6337bcea5c27498aadb20b713d2497f09340dc281de9d105c07aa70dbc00d4a8bafe2746d3a2a6b6fccc07565857d014cbbec439a8e0ba854d532038ae35983ece1164e5e0a5971748230a4be9e7119c2083bce5345d555bcb5e3ce26c89335859963185180eab05d2c7ef24de6994940c310ae7ed6fa2da66cc9c5cd42118b6e8faf7457dec3be4ccef4436260e50be297628237a1c9db744a35ed7edb47436a3b2ffd230ff826faa6ec1b0215a9163b1c0cc062719f4e6e8fdc37ce3fdc08b9265e07936bb34b3c97d56b0c45773238e901612bf7cf307c21a13b8e0631468006ca4007525b29c6e8a7ac72ac2d82cabe3d8ccab22c4304d0dbcb0183c2076fac204b051fc94844c12583357f37bfd620a4410243c9a6352d0b077790e47cf024c9f4e20acbe58aa5217ee10c98391907923bf72976bba4823ba3ece5d30ab5753307084155687292345bc917a42bffd45f00b699fb22b5980bcfc8105c2d0977eec726cb4383e9f3764d352fd35cea8e730127981f12a888eb342f326d8364b0771fb39ce306e07164dee72e3d483b64708d2449761842ecc5c060fc8f02f78343fdc57a51e04c8ff6b1e0d13c3d2b5d273248639459a70837f694794a7e985a2c0c23d30597e37e5d63d91cdda9d8b88c7589e572af0118800126e59102d8dac2443b73a72115d59e3e090ea8c0127182cde7e4c11087e2a3ade412aaaa25a56b508d643d56aabe654a368cdb7e79256d7eb20466129aaa5bed3590845fa17fe3d5c20fb612db04f76cc302d4567370232a315c052f6179769b5b11a94fd5d7aacab29021712c7a56d0fd7904a4b41cc19348defc4886700c7e2b160c569e5f0979732c6323402bacdc5287a3e52cfef7244390207aef7e551e6404f7d252be2a38238ba338b2c4c5f23c0cc487cfc8305be246ccde2ae3274b1500095cea238ee01ecefb6bb36a646e4b18a3459e51068ebc68931ce1032d410a98caa3cc1926913608184631c994979ad0890d774048a57519755d95aeb8de40023ac5c3a0c8e08739b82c73f9a347759dc1896a06251a20b24c4110a25807fda699282be0f54d4140f6f7f74b7acbc27ba310eea4b2de04d8cfac9fea83a0b09a2cb006b00a38511ca0aaa21e4ba3d0c438f2db9998fe6ece415ed62c6de538502f249437d2713c0d547e42b548c61776e7a4c114c9dcd710de9a9e6473414065a32705981f27e2bd1a2f9feea6271a7f3687b6e00edfbf63fab47c7248e62c4bee40631763f8eac67a9e2a2b5afe6396ec9dc0df24dd9a01a66c4f38415233fdbe36251ca2cbe6b0e692f8e484da7d967d91298145b1f05cb650be6f8ffd277a2b2a0b7f05830008edf8520c7f98f443e54d26240eb670adc9efa0da6276090bea58b118a0bb161290f8383815b4fe602cd4167fcbd2eee3cca4f702e97515e4efc823f4f1cb54f8929821d2a834f4addd2bf5f0de9f4b04585bba0ec84332cee90691eb3933642c83733cbfbff60cba8bf90e023e5dbd1eb12ff2c3d4e9eb0692515f310732c4563938fe92808d165867df783f84001688b18111908e01bb9235d122ef97ac96ca04438b23e036be87a2938f28adf9037885d51f2714520f3abadd02e9013ab996ae4ebcc29300a6ebcf00fb5b551977108d85a9bd5519a866a7cb0cf6c0297611f3483dbcffc30f64f9eee8997d40e24a8e370fa760fc397f735a411f3fd35f3fb3d6462202693482be770c0278a0da4888131410a8c99f802347a6ff4f64aa7b407bd7a9d4fa49d220ad9e85efb668a56ad5327b4b6972e7e6bde992ede9beb5862e3635d7b5f490d4e7f2b36d1daba760c344f480f68ec7d4a44179efe7062c1fa82355b93f6e9d0625c7b48b7aef2c3b003af6c7aa7ad2b2ea6b509f49b12ffa3e550af3ac5cc4afa08f9565c91ab7ce7c5e1fdad9e096f9309103bc40abd5f6776438aee1e28f6144303fd75a2b932c5a3f69e9b07bdf5310c79387cec453c02d550e29a655f2ada0aab9258e7535101ec1e3a93f573cdfbe8c75d11e69250c2fadbf5567b6946d1acc3bef77b7daa374cdd64f2ba98ae71f4e280be980b7a1ae42fc3a1bbb5a05a21b9ffe2a9e86f2176a50b79b14a5f7e573c4cf8466ffb66e9686085646871cd0c1c74007f190aebef2e300d1fc24b4088c10d0550130a7283ca090c75267097dfd7a32e7ffaad169a0d1c297c723d6541db71ee71b72a35faddd62e2ac5772a998a59756d79be489a3429d5535652853b4e5150cd818efec194300e30bcec7c943d2ead684d591502aeb61efb21a2f01eae18946989409950af26d80f1a92eb9dbd0704a327cf9dc9cee6bbcbfa36dc769d6bfe314da32ec10869738b444dfc36eb0939b37fa1c559827a111c3d1fe329427561145278bece6f164fbb6160ad2df2f275a6b9eefe301eac30a3b659b8dc9f6fce491cee3d99c397221a2a15ef034ec96db355e8983307e83a783392e2ecef5b951f5aedd30b08f5e114b5580dfad05ba313e2887738625a27ac0c6375b644b341f77982404ac1c37faa217d48d94bad0f43403ca2fdcf5b998772908ad4055e9d1a8450a2c37738b4b7da9f6a0b0192567f50a3644910a0d27a4249dfa35f35a565a625c7a8c66e24e67ce47484e535b8c03cfced88c9a0b2ae52a5d2781b10a321eeccb5caaf5fb4b380d850bc4cbd62b47dd46a81bd10853f195c96f4e4104c164e1cb51edc4d87b78cb93e2b86f7a8e8d7d0e787eec19a3a654e1c4c72190983fe98c41c741fe11e1b14a96e49f8f67d1c80bd9668416991ffd66a5ba6a4a51b148457af0bc9f584cb7e3d7fde6513e8a73022cc8d17cafdd15f3762b7a6aafaa2794bc1f4047fbebaed78535e2bad34918a3b1f8666372776abdfd113074ef0a953fdf13870afa01268bfb21cfef04ed004c6a5c1b15db61097fbd02f2c4432e9a5c3d72fc0c4ad499f07936ee22359cf12e724148af07be8eb2989d495ca6a23c84752c923aa7b1faee49a9a0caef8e2b1072f4a5a867c7d39dda46063fea7ede6593b66a19427c000446e7fb10e3a64923c4fb562ddfeb454d8b72b19aaa4411d208f67811ce5d63ebaf41f5a2b796c6e1305c2566e7424f7173dec58d9dbef9190c442d33d41f8c5c346dfa15f7e3528d05fcc39d095aa77f27dc9447d9be3fe1263a06b7652d90900122b2183935793ecf19745f981d8dbaaab0dd3bba440916c6068608b8927a17eaea84616bfebd5fa717aa8b85058172ef63955ae68ec4a1cec07755a500519247a12004c54ef056e9f8000cacb18f73c5f5661dba530ad15ed84bf7205576910dfdd1de9515289bf2ad8d6343e4d6621993c787412cf4b4e07bdbc1ff03ee8868f2356f59057cc811ca395566606d80fda2d54d25fe09ce92104be0ae4410ce50a824492ad82bad252e0e3a1e985474e5f7c9a208315fdea49ffa3d3b50f980d5ae1238ba9b03989d1020b9bc7d85f6f2a3e34b04d885c0d4960658b95fd0131a9ce06f214c99239399472a72f06c4aa867fe2207f0178eaafcab1c302c300faa2e8293f87f11f0028a427e1be42a8fc50b05684c9f1631f0cd0886887e7d046725dfb6fba59350f2167c57d096fe12afbcfd48ecc887848c02c0b29f624790778b7d05ec2b352b20508e28b1e943881704e08a10a097d06a352ab31cd587ae808f180755ffdde0e3a3cfb3e9d026ad47b43ca3cee0f73e47aef0d4ebb3c8eaa6580ed3e620aa834c02e8899354e654813c0f597146a13cebd1a50482b33e572dac1b8bd97150e4acec09dd71aadd9e01d94884176973968c9a878a3d966ec4b851eaaf47222f4dee93af5eefd515782e90eaf8d57f3601c98d01cb7f98dae70be5280078647c8a534d62e645d27e7b18f6a3da8a2de0cd1a3b711578e6a4b09586a660de04664522044ac747024861faef8eaee30f267a2c52c65073b3b67ebc461d520e1dcbbe451fadb7b5910d2d394c3f3a87cf986bace98ecd923aa2d677cf367d71d2733fa66fc6f38ed602ed62bf11e5287efeaac37fdd3b48e13c81d08c8d80f0bcd428db602e51d92db62e51f71ef88c28de45ffde31ee515959e56a0477cd4bddca6b49a922985f4989fba8f9ba4647c93a6c50f09b7cd37660809e2732f734811542f45e82e93a9c28d8003c96b12985fff0cfc58dd657ecc98a4485f90a26a3d88e0d2b56f047021157b5ca3e6b2333c1a830a1cf3f0937499cece6b270b52dc6082e107978ac60e1856cabc4ca55c1db18fc375b92edda61dbe2f3c51f3a7d7444a412f6e9f327c57f5b6af38a98086fdc8743964de5164b6a358a85309dbc25af36033aa4b53c3c0a5add1c70f4618b101243dd7ada1294318fcf07ee23807026c8013bb3665a75853568eee8dc310b808a463b7eefa2a9c5096f40f213ebbf928822ece612dcbd111ba7553551f6ad0146f6d933d6e8a53b73acb69578882349c5db205be757a02fd83a68876c069b2a80c7422fc6a1705c44565b474b35b249484a19fc8481d3c6bc01ba1e341ab5e1c0fbe9a24585c42995c2af78aa32cd1ed8c4c60f8c05e1ed7d11b46ec6db42091068f0895a0cecff09c4f1c87e4fa0915849619c520e650db86649a57eb163b4e1b1e5ed91ce94fdbbbc5833c0bb09cba232928aaeab8252fc6545d7175ff032caa2413f05248ceaf95c6c512bf9dba19170b0820787de776955bc5eab7fbfc6cabd7af15740b3a2058a397f5d7eb55c9b3ee0b5b14bbf732d07d912be543898a55457e6d55ecc50b8176a29ea19cd8922bbb71ab627454418c4621729ad5822f0abc3c46b259a608792c0f5c2af0404eab404a3b14b7f84e2d31a5ccf93e28e0783bb98690c0cfb8d6ec0c67241346c7004202b8b56822865840d909b81d9ff6929388e8dd1b01d0f7907cf6236f1cb655db06093fec54950ca8e4f9138c0382e721b44b059e0f75b6183a93fd0e83b6ec1e8e9575131d2dfe5eec914be66bc67c487bc486577f80b135ad39f63c89d95e9b0317d92c7816842c215fa62994f85790507a083c84c3164b8c6a038a958e835820581aa503f594766374562691cd0b4006241cb40654a92a518d51c638344730a4b29a5cbd9f3750b7891e47450e2fc10580afdb6347d4e08406476776c560788a002aab4dc885411319e88d9f48b2f7de7bcbbda54c29c90d082d085908421d1406e52b7e3df49657cb1b7b5d434260a85fd7157de585b382752f208a0a6baf5ca3b82ee88542298fff8e631aaa02cca42621d634c30fe190037467e22922652b02418b1629a6e0ac34c3ac46c5baf96f18d7f5805e18c6acf8655c6556a3380aaa7df7a8fbee1daf8228071bf579f7dcc672afc7be267180de266a9eda3b62d0cb2b96d4f428aeb2ae1a85b180f6c3a12ab0d86e5d51e02996b1f0ce149e42c5c692c26d30884e0814f6c0d9196c1b64498126151074480aa25110eee0c5087661628408b68808f97123c4c21ad803f765c545ebbcaeeebe6463901bfb7a0af6c9e6992cc3d820b481570849c4f5100a00fef55df8100608c3d5b117fe126abb5e1f6c3f2462be3f11979c95ba0d3f11fe44d4eb83bdb03b2525db1f2b842ec0efb88475e23b109c1c2511b6eb61cd7dd7827e638d4de94cdbb6ed9340bbd513f73c6cefbf557f4ee3ef4eed33f60007c19eb18d3b0b77e7ae781f83ee5fdcfd0bf40084ef0e21841f7f7177f7c8b55fca000b1349e0600a1a6840520b866e00c64a2965057e9eb0e2882c3c5881025b2aa0fefc93e27fc5e80f2dcb7777ff667768a45190bb25fd7c041876050bad30e28ae5ee86f8902505f2941844b9624e50f82d23ab0c2cad4ec12bcae8b1feb2cb15489862e517eb2f5b704824dd78d2c39f8ee37d7f931b4dfa9c7ed2c727e9441122070ac0221a888c72e8976c3c7dade6943ee663aa4ecc978eac9f627ffdf49b90be549f949ef4b43e01ca29d55324fd9353947921359ebe4cd531a14cd36dfc6b4c549b48271ce897be09fd52e99fd878fa4d4a4f62bef4507585e820f3354e9a8daff4614f3fc9389e83b21d1c55877b7e827a762626591a95762effc48fa2caf150c53abd0a1f45457339683e1fb98ddb28bd8dd701caa15f7a1da01cece9cfaac34639363ea6ea70918d12ad3a4c8471910d221b4531cc47d28b93bed3f5379ebfbfd3554f38f47b9fc37fa39eae8fa29aefd5d35599b0b0cfbc7cc184194ef059ad54a4c7f1403937de7bcf7bd2e7784ff2fac77b1c5eed9f1eef6fef783d3f33ef3b376e988c70cc549d9927fd8daa039473e3495567a6f651dd31d5225885a38f54f8683ee9e5cb61e3a1910d1b7ffb28e6a12ae6c69b3e8a0a877f8c0f4edfaf0394e37dcceb00e5e4786f8700aa991cd29faacee98172629e54754eb589dcc63fa648a773d422583553895aa587aad2df0e2ad593f651544d441faa683d6995092b8a4a7a293a356195f7acf29e7ecc03e5949e74c281f4f473484fab0e90f63afe5acd217d4cd5f11e522dfd983e1c9ff462e3cb310425fdf51e527d029473fde709ad27ed6bbccc93ea49ab4d64bec6cb541da01313d237b98e4a70042594205aad544eb4d3aa988752fa1af5d4c43b31f1fc67a640a10acb07a2d0a2e54b4c7d02a554575e741de1a3822a9b2d1d90328326ae441eb7f1277db1c76d5cb6a6db9c9868f5ded8c813650bdbf1ebc8fa15c6fa65e4b2e52f8ba49778f158bf7cac5f41d62f21eb1791f5ab652f23c7915dbdcfd56b326ab98d9701b08454507565cbf258b802141a2542f16be689f8923f68bd2568d498596396f1a78c513ef325e547667e299df9628bb143be35f68b91e773a3bf606f1072dba4bc2e5badca4bfe75c341ae87dfe523d7cbeb732a8dbab0ec9a3342e7a8d7ac80eb368f92ae8b928cbc2274bf6dcfaaaddbb0e7ba4dfb8bab10ba70696f05f6d7d4344dd3340d566133ecaf9969f5aad7556109b29e2cae5514701f202ca2e97a8958af40b0bd37357048f6f0e17fd4c9f8504f84ef74e05eab504e4d58a53dabb4bac3a9b8df892a96f6454c154317e66f1fabbacb892aae162185a4d2be55f37ade2a842e70f656e0c05ecf55d8ee1c5c88909b1b14eadf649ab00a3ba9b01714b2d86f7166fcf0854609b981403a12f01565368606737377ff60f3b2e88971c36ee827e086f06d364b74c6e4eecedd10c2d85ab6d8385055c34538e4b4e4faf86f45cbc2212b846c0b160e5941c5e6a04a0e58768b1cd6494e62d801a0c4a0bde6fc28b94b727dfcc9d2b2edcfc0046e146b6f2be9e7e1fa2d7e92052b65853516d6784462dbe25f1b8c1c2190ebe5fc38f9c18f35167637b070e5e52c94bfdddb21f1083f7ed2c2ab26562e07d46fb071ef1161bb73db2615238d437de250d0147a513e2b90ab201bd84be45edab6691fbb660563596fb63d148a1c77db334624b9eeb6edbd9d1d72dedd808510c8f6de03d6c22e220b5b91033eb951ee8e450e83f0fdc28757e480c93e7419a3f4ab3187eececc0e399e9c2f315ef28b31e7cb06be04f125e74bce9729c4ccf9e21c75623685ce880811c23995317e7da151fddddd4489f5407fa050f2ba78a035ff172669c6c0669461e945fc024296b70c2bdadcdd67f76759c6ac34c3dd0d21847c4d23a00c1b23036523f3c02138b48f859a5198b661fb7b0564fb9bd529cdf6f74e4f692addd31ca42d71c50e163d53f02441e52c6861611b43e5e410010af8a085ed0fa2539eed1742a79f59bc53d4821da21654a105092f54bd02dbcf3e4ad89e34388ec9bb58c1a08c1070094ae347d53e4d2061b306984218464d00ed10ad54bd441353d8b6fd8416d6fd8933ac6bb10ec515d6b3588f4204d6bfa65334d621948187dd7e764736db3c4fb4c06aaff910961f1f2a9cc490853918a2626ff3a09cf8c2ce4f05f981152bd5f59ea6d2a89e4e79cfd6843042aadb3d3c8d6256357164afeb658c17156632e5c0fa38224b55a8340e6ab55a714068b552f1fb371d874913525ef05e309b0702611e27ba826a9eee699fe6e9a016b24cd4b2dc4596db8b651ecb3b3c3d5d854c1fdb6a12118db015e78c93e5312108dea857c2b0fe366610530717168542f128ec198162f35440f921e656203f8475159b701a2aaeab584f4d54f10914f8455557f08baa09133348fe16e0ffc1d340c30e21cc6cee2ce00f9758007ea916805f2cff172b061a5e76b8acc40063e1501861ec50183c760860d8f83574aa64e36f24696505241f8a94ef7e9f5c277ff46f424a238d34d2b8ea494e1da09cab09abe6b36a561d20044015ebc99327b3a2ae1c436042dc26ce3cc19fbf493f741c6cb0061e09e138d48617d35fc47120931d3a95bd7c0a38ce36a58d2a532fea9fd66b927d74e1172b256bcfcc9ec12c7b88719099dd21ffe047e6aa7f360081480dc020f2b7e6340065e8219064167e55ac9c9894f251705525de6df88a47b97c1e795c3c243c2e9e164f8b8784b765e3bc96d7037a653c2d5ecfc53c293599fe6fb61e7aa1d0e5223340b7212a0287681601ad0ad342478ec37d8c7d7dc53e458ee3a371416f0b693ca0170a5958040ee1377541b7b49c8d8a6c1402b4893feba567a461046a525a2f25793df4c2ac739045ec885ed8c5f27b9724b34c5a05590810a70817c1464e828d7c868d9c868d6d848dff8e73b5e6519cb10469bdcf3da95e536782c2c61ab7161acad2421048fccd04572bbe0f73529a6531abf75bf16af11526ca6e88e11727a2527c6c8471c2192df4723e8ea37da43d36521e217c670551ad1ca9a3bdec7a514496eb0dc2099c8f3fe7c3d9e5a0b0f1b32b9c0fc7848d3fc3030a044f211c6712d110cd5ab4695f34729bf8d7372791e3ecd8f84472456414a1a04044961d8d66663a3a17c988910c2338a4a3518cd128729aac5ee4369c0fe7cf55f9b1d1bb2767f547e6ef1ff6fcf08a34a660e1156910d90f62539652c151c56e916174ef07b7d99b6c6037e7bc4a1943966b106d7fc02c06a2cd3e660bbb49ce3f6e0c1bc30125581929f6eae66b26b0dbd4bc1f48967f7e5c95afb3fd412ca4acc0629c8f66b9c2a21c18f045b0e805217008b70208247efc18200ec702b6891f67ece57c4c5d2fe704db70bd9a1502b14002167b656ce47c3c11d01bcec7bdd80ed0cbf958b9437d9c6454f4713e3672553a0587b280b1f1b9160746e3d8e098e8141ceac1141b392c36723f42ad21ece5886c5c69a1027bb92e3672576c7c6f8e469dba3f6cfc78638f3a15fbc80c1ba9883f6ea80fc75212367803513f2de529a7785e785e785eb85007862fbb913c24e88d2b8638dac3cf4a19c4d12a431bfe6c66669662e53a6d6422ee4020bd721b226f0494df423813577365b2d7bf9c91023d2dd9c183bfbd5e4f4adef23fbf917f6954473b840e706182e5772f9dfaf27111365f1e3aaceadeb0fd9065907f63eaaa46b20401a2a00cb21ac922060c02ad5bfea08dec25d881177ba7ad41eda085d32a28ecfd71e3f160b1bc0396fd2c1c22fa620754ec0a160e1105b5d0d002c80e656186bd6e94050f9823b87d80def6e2a6feb71814587280de1e642c6cd4f3113f0d2cf3511697aff47461f999c9b0cccf57aa50be0287406b25bec7d85fda86bbbde4807e7bf123df825e6ad9a397956d2f3b31ccd5920173d13e6e459c426eb99ec0a613f4f26a6613bb6436b14b6697bca412ef2f44183984a121a2a121a1a121a122b8e88c56c205ac208211baf822c6193a309951c3432f34c1c4a898297edc740a7bfe17b07a048d160e0dd9c0a21cc3b0a1292c86612854bc7a480adb2f233f9a6aa23d74c5b2137c063b83edeeb121801af44f4ba00431c062042c657441037f82081394d8516dccf54721774369d6012b03d561b8bd701112c3c85e088637a300059db604ad32af0ce980c55303bb0de9e00b7b211813ead0c132d070322825fe9d8261e4144dc2fa3b328dda2c08296b966551329949a338afc841a2928b83c08f318b1166d807e59cc110388a026e8a11b4252405eff494befaeae67177ef15ec2ff2c4125c4716fba11279ae23247eac1c0c2f0a22fbb1f363e7471117e6574ff863d5287f6f6f77973f76babb1d63815341332eb22e607887e3768ed01d10e8ed29db65eaa6c08e073bc2dbafcfe628fa147a670f5e64a5cd147cacac8f2b3668d81c8569a3ab8dacf7c4ab8ddae8c60863292e67bd2b84af1b367bc527a8f7f7dd3d29b66d4ad17d16497f05b1f72cc4d2878d436f2c6552bd6cbd259af5f86597c43b72394a7e7c8246284436d3b0b0140c05cb00ad142c03b4fc1cc44657132807c920cb1d07dd28b1c19ac9c4108fb6759aa655f95a77c366354ed3b4ee3b58a4b78d839d92adceef491fb58e7ed7a538ee25ad9767b744b3f2b12e49d761dd916e638e93699409522904f364f3bb3b2c0394fccc66509ee2cf9d9c62e37b7c91c161e010172010927f5030a34fa7a970b1a38272e301303f2aa093921ac54630a010a48212640965aca20e6c7960a58212440a4514a960c370b9192744c20eb00852c58f3f1da0ece7eb40f1c73e9b158aff132875a5c21eab37251350ffe91e0ed3dfabfeb1dddddd6d64fb88c3a06c4f18f837f8020ebca8fc8a735c1ee3b6985d9f5dcec987d15edd92f9d7c46cc0d248230d34e6c3ecb2d2caceabb4bf3e2b5affd521e98f9ffc2ccacfa4ddfcbaa12f198b0003e59b147c58c3b50cc20cd6a0b20aa38c6e656b1b776ddb362d83dd626053464c460cfb592736e7c4aeeeb2498e9b700826eff6dcf6d9731bc7719b16b14b3611375f83d2a8566f3c05ccb23bc232d74719735cedb73a8306d5ba53f2d06e7cb59ac54bc29ad850d8200c148b1a18d9fe4ccb20cc8e6490ca98e010f9b05e7fb3d72af6da77a7e4a1d659ad307efdacf811830e1dbacfcfe13e23666a14c6a45339a0b0212b56167b883261de19d188c226f61ce62582408b1629a6e8410fa208da428b1629a6a8b9b039e77466308dba9e3f8dbf786fec851175aa39c618f94a10bdd2d8d5f1b1f93596465d471dfe9ef9dc011b41a164ae40481b44e42da47abb214338e3dea428a812143eefc02d5153d4b2303e8c1042087cd63f6b01859f8d95a594123218ee436c0264667ef95bfc3660194697db9576726771122184504ea9844322dc0a68966519119b7d8c31fb1b638cd93b76c98fb306569e3a740861333357d9e2c39a5ba3254f2796a7871d14198efbee76be93871e646cf73dc858b9fed242398eeb9eb93bc2d5cb833fb4329db727e1b8ef96e1017bb6415fb8efb1d8633acc2791e63bbdec6ef0fa315038c42589ff1fa2345e9fe19f9e3b044015cd532f0acab67bef37ee966c3af1697ea39f63060af446e1284a0587a2a7f4252e4c6cce71feb1651150eefd3b75e78eede17c1af5ddce14ff79713d9985432edbd938ceff8e679f46711596c702ca79e5568d9a2aa0ff975b756ff3fe251d567d3d710f550fff9b7c86fd3183062d3df73c7894ba1aa2d8d2c3ce861e3c96f897ea69897fe94b95871e75b262c94f258ee3b1328d3a952a92b6254ec87158ce938243ad1fb633411c1197859febd238700b2e602c3ff753e29ce3e9d4e5a8748ab1587ee656ece3bb1c74fc8ee7ae89f63b6afc711b1c4cf39d72687ec7efa83ad1c76df8693e8a2a7a52d02734afe32fd7d3711f4ac7776a727a9aa7a94fe29f1eaabc43e236db82e2b08ab7186d29b2d893b61059e7e66ab2b86fae588df2ac3be217a0ceeeaf75dc330c1275dcf6f0df80284120bd75477afcc63144712fef066c8fe74a5ee2f13c2a8440b85f752ad5a388731fea69184a8ed529affc73d529d47349a0be933f9fbcce1dd57504e57cb83b83406d2afccbf540202d78dce9a3f9fe2ed37c50c5dd76fa4e4de0ebcc3ffda9ead0fc2afb2734b263923d3c7df0691e763f6080ad7f8d4782c62071cb3da5b462471e12140757630f04c260e89d3b317fe70e4a8680b6bd5c0fd70387702763492f1f7b5245f5434bf34155c4f15deae3bbd3fef89ac09f1f55dbc69c8cd7d3a8f75aa4db07ecfb6dbcccdb78ee90602ff35ecf8dbfdcd077acd350f458581ac5583e0e0d1a2c9dba6874aaab0745a338e8e3849e3ba2599d823a75ada8f0fefc9d50a7ae9578b4e3bd7a57bc55a7ae151ddfd50beac94922013e08a882c3cf0f265ab8e2030a9be7e7883a7505f0343c3f97a55337009fa4d5a98be43da27be4bd2c8d62f2fcdc0dcfcf1de0f9391b9e9feb9e9fe39e9febe75b803732a553d7be8aa7081502f4d490c4121f035451f25362825e2141e13d7f47d4a93b809fe1f9bb2c9dba323c91e7ef5a439ebfeb12c3f377459dba389ebf03a353d7f4fc9d974edd99e7efbe74eae678fecea8539785473d7f07a653b7e67b3c7f17a6537785e7f1fc9d199dbaf5639edfdbe9d4c57921cfef4de9d485e153cfeff174eadebc0bcfef51e9d405c007797e4fc87174a2ea85e7f77a6edca83ebe1f1078ff3a073ce92b35e0797ca8cf09c6806fe1fb6fe18f3c0dd5c9f491536f97807afd4b2dd49b80f7f1343c8fea84fe111ea50790fe6d20d0c257594017f549aa93794b8f040902eaf5f12de06083a43aa1f443f22c201ff526c112502f0e8fa43a9934d48b643e0d49dec7fbf051ef8fb7791f36cf02c2a15e2bff347c48fe8f7c488e3c0b2849bd3e1e013feab5791cbe85077ca5f9f12075ffe36ba13ae1be1f2d58f99ec7034adf931e404392670175f5fef81cafb7854fc0731f7722c0e5f146aa938962013139dd502ff77eea1c7562f2a513016e287db703576ff77efa760047535940d7c8abaa9379515fa4883f6743b7ea8b542794e659405eaf91efea04f33ec017a94e26937a8bcc930d46de4feef592be4f95081690b3800e50af95d3db4053e4f404a84e681102f81fa0df86e77620a9ea35f237d0a0268d8a4789a6ab97f41c4dc73d0bc848bd56685eb5038ae679ec6044f52ca052bddd3321d5cbfd0d4f3f1a2b0be82ae0c6f033542733a29e0554c3927a698934438ca1de268f8a312c417d49075a6fe949f1bd0650152a0be8d67089cc190c502fe9a912cf9b8148bd33fc1022cf0222d5ab0453c00fa94e66937a87cc6800254f8a2452bd3cde8b95081610e959400aa8d74a7c03a830a4de18541812c3b38094d44b7a0378afe4a90e35fc121566982a2c51a1542f8fa72a94e8b3806aa8d78a0abf4487195478223acc40e45940a87a4b5f43bdf4977c0f203a825427732a40480f1e3a503c1620a43aa13a725000aa3ac16cbda8e7a1e3633e2798b5c2801e3b2a0be836b9a977a13a99425ce89123264648aa5e21ef42754277a478d43b832de073e808f239542753478e99e7a183078f181d3c629e05b4807aade878177604d1f13976b810e4594033f5f2f89998cff13daa13cc5a01626a32ad951d42e60e05e078d30e54bda6ef519d70b612c10242f5781650937aadec7805001152af959d57edf85475422d112c2021a96701e1a817f5384cf5f6c8490002706072c3016ca861890194d0f009e0937c017824dfcd1ff900f046be02a83ecbaa17bec877f304f800f0337c0320f2c9d0aa177ec877f3317c0078211f4eea8341c7552f54169000aa27d4280e40f55cf86eaa15201fe4030090eafdf858f816be9af7f1adf0365f7dd4c7c2f7f86a9ec7b7c2c77cf54b1f0b4fbf9a277d2bbcf7d5ef3e16aae7d335d5abb242f57e6af5be8fe6ff3bfd8e8fe6757ca757e1a3a9de15af5e90dbf0dff8349be3bbba18620766d8990fe3c18e174e58d3e7271882a80c8be3bb3e50459831c2585928646f3cdfa85e4fa3f85dc8daf8643e68bfc6f783f75dbd512ce75c92b6de7b7d8ef6af8c75ec07212c46d329ecbdafb92fd290ab41b4c530afa75344d6abe2fd784c58ef8a650f0a2fc8b287c513b2fc2b0b4f003925208abf5b81e5f75a60f9492fb0fc14c8f2979a801075b9282cf740205c227db083368ad9c3f970572cff26a4c3aaec73ae67eef4ecd439a56d78ee346a8a2518c1f64505fd33aed8ae97fbb1ccf5d468d540e128014df4d33e96bbdd639493db3d4629a3bc2e0c9b33c3669669dab6691bc7759de791f86f989a321c1903208bd7e3f9c0ebe235e139e121e16d01c4d571e54540fcc0695cff627bfbeb61d8fe21784fd37593dadbb46f7efc2e2be5739cb3941c18a6683337723b3f08814830beb0fd5d6897154cbe178589f23283cbcaa3a23d2aa6f734638352cae81ebd0899c929a1bb7b1957a7209452a644656ad4d0982284744693fbbbbbb7bbdf4058d328f8edae81e14e6934cb16d93b36841a1886d0650c81a6699a96cd39e79c13fb89b9bcb089699726b5884d0cc326a6b9d6d0ca8f6de7b97ff1485a742a344dcbb4098530edd2a4a6454dbb6266722b94fa8cb5c84f33f478695a6b1a775ba6b1c618638c31c61883790c6fdfb2717b8c2fdcdc10112224cacb6bfe7fa05017d63294d2742619794e2e20841042e80ea106867684d17d760ac2687441224fd3112b4263078d149142b91a8892d21fa224943b4809e1cb08788d52b0dd201c32c326efee662973d5c0626629a31a69f3b8aee3bc8da4d1ac3463b01a978c8c708877cfb8bbcf7039bc4e0b3a31cc34b14bc6f68e314609b1d813f3a8a0bc31ca6d603f16af18eb75e7cb747b727737c3eeab4d55a6dd2663387e75c7ee94648e0f638c1da377c3ee8e30c61863f458bbbbbbbb7b9a9105cfccc9c43227f392d1c67e76528a4bd0663ac93a25242f6a69245a35a03138e8224a9a41102da980094120811641f8c019d4882582b002c21110766208e8b7b0b09205f1ceb8c2da1753582731e18ce9c51725f8bcc06283e89da82e4c60bb8a2e8ab478e1821bf64d30044f139c18c218ac2c513001e8f242af237c54fc378ed32a6e711117eb571cf1288a6010b1fc200a4196e8a2822e4db0fd1cf54116b65fc6b484e5828b26d8fe010d321b14d9c6c2678b272c0b9b13733e9c94ca9868b079cd29d3282e66842056714919817b91242862ce39e74f84299873ce398584eeb4736e61c5ce3927668578dc069a80b092160e8161440664920f877ec41ad40f200c11311794c6c2a121328c280e22cab82289245cf1440b819a2c1cba8248052f2ff6ba5ee6baae1ad4962d5bb66cf1d236ef3814bbc20c8bad2e0cc3301e18b50d0c332d0f8eda06da4b8f5c3d048db170088b0e08e16b867450031b2d1c0a8218f63e86839595dfb960fe8d4eb0f2c62558198fa4dc31c2f5378a71a3178c43018f5cb218d4a91b46c99744a64bd6ba69bf691f0b65952df70969ab7d375491684e8f44375e50a88a7f63d0bd51c520c76122238031865d592251348a61221ad8c52f748a5920c50d1cb2d2070ac42b1160e2386f63406f247279c46a1cc8832bb1cb16212ba1d1172b1fca8f593a2563cbc8ca8712bbe4cba740a7ee4d0f9df21f2b3d7b01f597dc4ad3626b61d7351ffba8693e815ed2b6b22cdfd4a81b50876eb167e627363e47eaa66f5437090ee1f71e6cfd2aa05da306fd221dbf2d89a6c5d983cca5c5a32422286d94b308a8f6d1f441a0d96bfe35746a7b6f0dd9f8f437e6e6dcbc0f5a41bda773de12bde1faf89b170585568bf9e63826d698671dd93edba15a064f48d8462e7e8ecdf991d649e784110ee98e442f0d8f7af5a4447bef9368ef55d8a81e642cad377e06384aa4dd6dbf6990dbbdae6edf8d022763d77792567ea7589998dcc6dfc20e093f7c1cda291aae29e89b2cedcc0b18435f74999432735a501ef8e373e521fbca43d6431036fb2b3acf8f1f0ffcd773a6047290fb24c8dd001030cacdec7c9214edf9db4aa552f754c88cedbf296284a5b4687c58d5ffa3d49122cbc01fff6219580668e3779ced62bd4144db7df7cd2c68f77049f724fafe9dbcf78796bf93579140e84798e4a4ea5e7bb0489741237dee9690bcdfbe13e9d992fa49d711d4348570a90decdc38a05c85bf7d1904c241ba99cd679214cadf297eb4f137e6daf5b404c6b6e9e768af1a685e0a36e86de16d3182118cc073c2dbc28bd784878487848704acb994080ec98c8c2046cb0b8bb5b8587fc8323411d67382bbbb9bf390a05b765a5decc65cfc62fbcdf09ca077764aeec839a551d7f597163b531ae55fa499685407e8bc2204da1f7b6612ec6344e573e5817f26d128c78e7c3ac53e3e8df2e79e6df6748ab1332010238a9d61fdb1a379a55377b2acbf4fff8b6588f5e220fcb153d2cf3f793ac5b3bbdec9d3a81dccb724f18308c2caf91bf659b97e7e3fa7f4dc9949b48d473b77268ff41964dd39af097a672b4bbce26ccd2c5d627b47181a8d721bfae7aa513e599dea1a3fb7b08337a0f1271176061c02ad7bd1cc32b31f7abdc88bccb040445bd475127980fecc8d4220fed35b1088ffa4abf68a50e229921db8dfc91dd8effe35fd4c76681cef4710912e37b661bfcc91879902dc5aa41f12917592904591824857a0904e96f56c2d9edb979ecdcbd66a946f333ca0779b32d81157df62cfe741f4a8c759b6fb09fc043ddee3fe63bdc7b3add5a553f17d2bb21e199b0d332368ec711c56a62ae2554040fddc915ac661d964b9fbb939cbfdc558ee4fc6727f9ae5ad0b04e29b0fbecef26c6d6058070165dbbe0502719c8dcb46c66f62cc6c5e9420dd5a716b6dadadb5b5483d0eb7d6d6daba70ab298d5343680323cb06662b0a637d3bb2ce8acd3e4978151849a433b20fd090c33b40df4220fe2ab6f1f72e845c17ac5f9b093f425824eeb8a9511e4f311631e238313e435aaa800189a019ed8ff21fdccf13c3b8aeeba2d38bbfe0755dd7c3466151fef59bc4b078655c6c136cbcf2a8e0f4c4aa7867b0f6408436cadda1bc322c9b9994524e4c484b590489fd955272f429d3e5c43e7fece31d0f9ea1a844cd1655452a15221a0000000800f314000020140e0845e26038201ad166d17c14000d858c407a509689a3598ea3308a828c31c400420c01861830808866661400e32952b79b8f69312e3115009b76e2494aaf4e413d47f42932b768bf2ad0952647d8d38a4898b38e731ee895db42a043000ca4c0d821803b7a2bc1ea0c22da915f6922132083026efa401fe56c4fbe160cf20e0d6a7f40da4b9c31d6209009b58400353fa0ed2832b6e17be231d3e18d086972c196cec05b42b7aa4b165ad2c8ad8e891409882e95ed1fd0d5e3325df39860fc88f06872be8d409ceae8db6872519f915b00896450a5b1d480a035c91bc2d16e58b722b970e45928f5a9781af4df239855751cfbf6d488f16823de032dec625420794452dbb2c4255e2b92408ff26a408d153697ecd7d9f2bd10f4c227c4f0a8dab956e2d5aa43d2902fe6d17fe29e15c4ae852c2f9a4a32fd31185c07028bdd6241e419133de210a5ca504c60446410c2803dbfb6df211b7a66b400776bacc7d319c93689244bff95e98be0b57af61bb8eac60d2d5969913da36b0d1407b1b85093e0b2be2c7a993a9ec894f623f76f2aa0ba17e2bcc70484133acc43818300ee18cefd0bf947c2a5dff4dfdd5d50ed588ebe90045dba34fe40eef862eacfbaa73263f757be46581c0444767fc7e74c730f950a9dbd866f312b85df3ff55b03160595d9e941b800a05c06225ddede847efcfcdd550dd13083a4bc8f861191bc6d7b59003db60a39c792d773e2b0bd245ea364eacee81310a24605333e2b4824e3c5dbc90508f09e22d99df4b14e2889508ccb0061e7bf0cf1c58fefcb07862b80790a15d6bf80377544ec0f17b7935bfebdbfec1306c4777bbb1cf39adaaebfba98692ed8a2c8a529ca6c0a633e08a186c5e4ce220a1185f2d0e7c39c898772f58aa79eaa8fb323c8b6a04798c31ab55c65cad6190622f08cc11360fd536318de691ac34eeaf021dbc3bf1c4717943a43cbc1714e090196efd7ba3f19e17191fc4d1cd0422cc6f0c46cb3b20fe2df253bb3634c6dbb3211ba0fada9836d1f671882f6debaef029883cbdecdbfeed00c05e7b844c985b625dfce46993162203f71f1134217bb92ac47e9d5b367c2dfaa3012299caef373952a537e9450665167630d21fa2d249ed447811b88bb1a8eb4df0cb9893fbb23d547612fc8f2eb5ff2eb3cc440574686cb65757f620375f78bac261394a0400a977234d3985431a8319b684fb593ed8f003ab838b5fff51adc4cd8eac984ecde5f19845ee3625f7657624c572b00303435cfa05a721e4d65853c8be183659835af6a10bbcca20f23be37cf5096f2eb543b51940cf4f63c5560a66c36e3b0be5190845ff5dd50a8c83187701b50da7c086e76330b7a182e3e8a5b2bd052f0432f716f61dd9e9bf26a8d0788d42e8ff268a3ffe0cee0f1141e9ec79470049072553ca732c09c3332b075c02b5fa5adbf1b52315d5b7b9e55ce56ee9f6703dd5bc1b89fca1d38de56ffd464c09d3e2d256fb6e0553d31caa1dc16b4b61fd8e3de9da69ee8916acf8368351f6e5c21247487999de2e79e66048ffe9d685a693a1b9afc51b6c29b9890bcab46a49a6b47c3aa0c448e93073abf94bb2e99912557fc8e44cfb6ba21b5f69c3d0d2492b774064f96df05f4bc43f4c9cd090c4717d15a6c882e7797e96d7034b76603e84451361a6543a18a6d1b135c1629e73c7acb57eafa2ab9feeecc972d771adeb306e0ccef362392f2852c1fc371c3d2844ffafa9a2671eff3dd309df82d9101f767b64caf08f71297c171b6611a68d18d964842fd02dee79419d8288b897898145e0609abc2af063df12c68e81cfad5a56f52de4cdd74ac0f1f23e9fbc0f12a16f203c4af9a9daaac9ef239feadf3e111375129c86a3a13bc76410a241c1e124cd9efbea63dcf7a1798632867b2c8828526829dde9ce42a14c81b5a3e6b705cdd155c04ff8a23814b7938f9973d2bdbe00368c0ec6e5fe22bd8a0ab9ef3cbab716be09a532894b821e89e6fbd9ddc2266ad79b60a4dddc7c4c7d1b1530c81a254f6523ddd5f081b04f3403a205b34196676ae656a77f54919337abef100508ee3964dfb4ce4b77ea6a6ce4adb0719f9e45816ebafacff3fb4a70247385cc5627a501d951307d97515765027ec768e1a8917b29ea73eeb24127e866a8c0e71491121e066d8c005644b939f04b46e21d85e3decf81f5f3aa6cef2e8f9073851782dd6853789219ed4021e9ecbfd470320b30eae5745d2bfc7d7b07bc8a99611c728e35ed8c4e62cc6b0eb0f8c8643c382d05a009a1644c382d05a109a1644d302d05e001a1644cb82d05e101a1640c302d0a805aeab97c4e1779c305db193e2b4c2076db284f57e4b8712b71802bd65a8a472be1a5ca6cd75e5b22c4e6c4b13f5e286a19df5fe052a2ffbe9bd4b213a3ffcde29ccb0e3bd6aff97c9598906b051a908269532c6a21697951911e3d97f0665fc2e67ea9aeb227054e2cf71566e1c05bff848fbcf5efe562f6a8634882148b9249481dcbbd88e865413897fedacd13ae1e23a4efb6b38394b8a28921513f2c48cfa98afd8dd72ca6b5feac7d0d0b0e1f2b3a8cd073c13191e69b56360e3481a7a8a3476e9fcd02a0eac491051cbb599ca4b2f545c21b8893c945c706b7fd1f55ff44b6b848754d53d3a38b7bffc645ec2fb303f413ae2d1c987b388a6ec631014e5facb6824e0fccff3c1ccbe97402224ba51e611c13f4d92e9205516b11d5d6cab4f0eb796d3643dd7e1793f8390c6ec700ab33f1a476ee2f9d5628529ad24816e2096ffbf1b8d27900db07dec36b85f35d72936901f588ed14a7ffebf2316eb9371a8cfaf819a25397162f0edb1d8947d7320b10b004bae72de3fe72112949150687047b0a6b0b44659d9aecc539e23747e70f9263089781c890e4d0d9fd0a4d09451c1984b0926477e96e9413fcb1f198e93fe80f263aa1262f6a7f5f57c81f8af573f91259c9cfd4eb9685cd2e79f52324aea658d91d784ab9839220f89206194fe504f24582ce246e6a7a0428ce02c215767a27ce2c7c154568a38d6fa3401086450d21be245e3f47a08599c44d83aa173f35696d2c9b6a2277f03ad2a7ee96981eb7f14d02fb515a101a07458fed31213a6fa60700467a14eb73785ba3a933d7cf179728f3db069e77721ff5d47bc110e496f6ac0409ac41a61a271c511598cf49af9466b9606ac59a449ec358db1c493263591c5306810b16bebb65743ab995c2c357148f6e63e1b35d34f5c8799cff065244290537c818a420638ea1c64116e34c395c93c15f2d7ef7d628c8d0cd1534427acfc29ca7fdaeabfd9f75a65cd1bff1445adf7e3996b4faf8d1ff1d73fe633274e32a24142c0da603154abc1d25b550e1f54ea43656b8edba4405f6822cc870a8d09f777c4a036a5357d9b7cc2ab422f856171c58f4f3297e8eb3dc01cc9521ff91ffd10094372642dfc7f0e3d94518f08525982965df2510dc81bd0b92777281a450cabe0aa3eb5e58d56201b7526dee8eaaf74887ea9c64386177187144e187cc11db786e6334171c50dba75b679e6f9b26909806700559d0e861e3159b8694ee7e08a45a27e4c8527b4744dfc6c96e4017bb48b64faa3d274faf40647cae8c65d64d808dee4e5f44c069a031d3e12a7c2084708e687b30576adb28e09ed791ee8c7ee57687aff84085f9a622cb166c4e69aa20068428acffdeeaea733d434e3136fbeca79762fb4a191a3d47ead4713e55fd39de4046336e5e160d98e5a2408bebf7e00e49e1bb32698e0bc828e50725a92782646477cc0960ef320f8e10bc7375b463de7399e1a477fcaa6add3d25c3e29b046c9c912a24ecb52a28dfcd61056ec85faa2d61fb55cd20f46870346c2983d3e7eea34f993c13f4eb141ad55a4bfc058b56a4bc9ff91da426216eaeb2b1ec53c53b58d96ae2f436e3a9829b5fad0835334b83602cd30b8cb0490232636bd55cffeeed777b6c8c15146fd4777a20435d063bc0a880b65f54b1f5b98d37dbfa6ae8b344d39d5dced334b439498f45524d1dd596fe14d9f8e08fa47ffa87206b1040d109dac197d8237f27cb5630f6c0bdbc4ea6ee547983d3e63faf6653d0bfd8ae7d98a5b46531e59830acbc077b401c816622b064a2d9c50b90fc5e166b7b06910cafc33af17dcc358c7d077f3ac407155104580781afe18ec8a405bdd0448ff9f3da3ac9a40b195576a23379a21122da17cff967db7d21d38402d4b59c3332cde107c8b50fe6e4c3242abaf44ae9dbcc97aefdb92b7df3505a3513f46bd895378f23d4aed74091ebf7a1b5960399f45b322d3ce1bc1d1e30a99657617e58a68c1309029b357aa594f9e0b5d1415dd96dd31e7ef08034711e0536ac905337bd09c1b07bb2356076ac7089505123798b8421c14e8462ed5af4bcb85124014f282d81da5579745f0aba1dc3e5ab830dd6d7b92952715074e162584a6d8da233c287168b804b93d252dacdaeaec9d95cfbf5ec5d96d9b05b82c30a895b5e3f5c3b478a9a0f8d92676eb9187b2374fa9ee7cc67efcf95eaa1157416cd9308e7daa9d7c7789c99e0c035799a08089cd62f0bb45bbc989160b74751422e0dc00adc642c2bdb0ba2c50141e5a448594bd7237b2f9cb7e129ed7be07232a0909c9bb40f615c33d41c61d6de20534badeb883776ced569bcaa031b5fe77b158debbff3de549d741cc748005f22c00ef21e67ad0841456dc53c59596d76bcbb6ced5cac8bbc57651b19f98ee592862d0f5adaebaee9dc70e765b082a68be4b55174d1682be5b116fd0d8b062809908de174872be611b10ce2d8fb3c65e9f3c6cc12b40ecda3ef5a3c7f85a6aaba205eb000696b8705896a34b75a06519f31061045331261a2fd66aa03c1a35abd3921d741b5b6f65796dbf6a63750d88c852a05a153d66375dd85c6a67a5601acc057abd1c3cc2cda5c6e76740fb0d2dc93b239ccee77f272c90d8ae2d06eea24b240c11de5fa6aa19480a1362ba8a107925ad888450cd38703edc152e2afa2372f7f413f7f5785683c7df424eb50e09c7cc5733ea69d07ad1fec7fab187d365db02e820de1340087beadf60ce547a50476c04b73eeb40f5d27e00d555fd719cf61674dbddd652332b30f67f6feb5c07863bc90b744e957d32d47f2550e128a1bd8e70046e1e1be2561f639289b3d67a3747b3a9265abbdd370f0536ba0178f132e25cbecaa190f8626bb6a33b085d8baba627e1bf61ec5e0e40fa6e7c329d90872ece8506b185b21a39a48d113bbd747a9eb86b1942383893c3dd5ba3b1dbe1b91d8a4b85c7e50c6f3e334c85da95cd5816b87c689ac40744377227bcbff7047ef839202f94bb4966aca694aca3eb704084257869d338bbe6887bdc9938c9d34de94e7737caa829506eb6282b7a6565fc10504f09e4f3dfc7a050424b771b3841683aed4360a4731c9eefd31230c085755cf11ceaa574b475562021bbd7c0b72ca3b28afbfe3609e40f1e28d557442fe377283e357c952db2016ed798cb66897109172ec21aa0ad8c4a546630f36dcf293e177d638927acccc3032af8eb7d97f05e201b097c7c318888ccf3c61e05b99876d3f4183020bd8881e01e9d8a38aa7e5967de05a082e7bb46489313b34102d80008c12e3c7d668a7b9185f9ab5af8c8a361d9aa76627a06a81c1cdc22f63c847987335256efc862dd1333c5c43514a5a735310236c283a68855f2e5768b575dbea1147242ebc3dffa2d19bc47d9da144cc709e29f4be3556321b7cff463e12d8fc33b1bc51a9769adb6c5b4c5cf4857914a28283e972b5f076c80faac47e4330f6d85434ce5b9110cb9d66783a426895cfe7d98f677b076e6eff73e522456cd7bfd4fa9516fe7ca00efdddc8bf1fe3e225280e8ca99f7f3d52eb240954a94df20d9254d1d7c29437330339cbc46d9bc2131b31839e938a765e4dc627b12d994877b732aa2a4a97f82f8cd1de8c9df76c1323ac878497e78b5642aa0353607489bd91debb757bc6e0d33007902db715df37a967e620b5ad796b7184d3d5360fe983de61415ff509e7b6063ee9e5f3095b09f39779080e66309d56400abed4786daa8653a9ffa6d903a16db46af279715da4393ae592a9e65d2544499440217809b9c71b79628be7b82e819a5a79e5ef56f8da11c9875b7056819b32d40dee42f7a75d1785b4858393f8636ae0d7e1887ce5c586bd0c857b363b6260ce5f05c798b39044a3cba8ae0a37e2977d4ee6b8ba993582a67ea911d964524c2066ee4532faab50bd51202cc8191f1abf4ac8db838d2c57b8ea016f5922384ebcbb093f2b74ddfd7a7fda8c12f97c8dc853c3e159bde086912bd9417cb4b3a005127ca178110e898d8ba67838dc6885c1be126f725afd6ae4d50711613bce5d7dcb28fd876d58fab8af4b930e176c20c959066db2fb401561a5e67edb19c86067d0e0ac943fc18b38ddbb3d9f4ea853f034c6a4cc4a95e7430590aa3cd8ce9dc1218396ec5d61d4e21fa6bb5236a17a969be955a5e4d9d9d59c3f1708fbba9754ff2c66d94e05850a75da29245e843135d3d119255ed367d7c07e12dff94a51c085369325393de3e751e691c25df7e35d941fdb10bb6c3caf344a54bf662bae309752cb55d671aa63ab7a9d341bdf12a108b4110a6975ea6f0144ebaa1c71e29550814893e757184229b9edec9cc97e50743199ee89d7075e38583db7eb2995df1060b9f7ded21517561fd2c0765eaab94a9119a8b9397397ef40a4f5ca1067c04a33196e3c69329f8e557c210ec534bf0429c21fb4b43b83816e5621d8aa9658f3ff17cf74472cd1c16097e81957b9a99320a3143903a3ee1a4471fd141b8c26172ee5b3d38e6b66a39b51ece508528acf1fe641b5ea721b3e74f812ab8293543921868d321c6d0d1c3a11e8197c60cd93c44dbb4cdcb10bdb0cc8cee2cd2ab3004fe6a68f5db296d0890a57d2377c3731c647d7505e24f3843bc2d2ed75290244084d880c96811ba89a0560225b94a4f3c1e30a85330c781d6be7b86dab0b8bd755f61306e9d14bdb340988285968202e3bfef8660aee5845b91b455ca1185b894116ec59044648b6a5479980dc1e00453ff38de157b77c522d9cfca8637f4dd7a94c479f2c1d387e6b7faabd99bf5b2a2bc8e9d1d31b87f9542d0d91f8dec88aff2153db8c5135b3bc161ac69158e8a0bcab54b64772001e4919db0001c555212c092158023bbc3a89dd9f2a755d3fbd7c1769b73d9e54a65573ef4805ee0c1f72d5194d0700699a4878d3f65c7e3f52ebc73ed2e7effd65dce57697e8cfb1f69a2ef50f1a7a9666f15211cf7928e50d441d08e46fb6dae0858506ec5ccd5cac5df4e12b30513f688d41ffeec9da16956a16b858d4cd3ac2c8b0532d592d6a6350c48a84123984d31e66765a09df282c8f4c130c367f3fc719fcc4ec871894dd96229cad253e081292eb3e32e1974ec72790a2d8e7f26b32301ed8448a9384a1cdab60cddacf6964bc42070094d047880b09a9aedbe9e068899455d05fde54668910dba67aec32cfdc00926d527751ce4758d439492677f37ba24bd1ceca50596f3ba9c1dad80d675b2fa01bb39ec4730f84d5c5b8bd1f15e47d1916657a20c16b9a4a59d92d440c8f0fcc22beea2230089b753261edff1e8bd3317f34ba30aad0b063a641d108d72368b10dfe1ec844b9d328589781cef3bc86cf69338538433e1decc89d1a45faa4d189ba021d2977020d6285938df796a44bc393260a034112dad0a11e989601fce031de7145f81f1342de4450d615e1b6553ce7f1ac37e94bae6a6978835cab22e0c9f097f2ffdda157ac1a878ba3683e91a29366e72f1bf135623081c2016016ea9f503bb2ddb3e6b5dd58fec165319520ea2dca07074cc13dd2e9aa75e9c1c26bad9e19a96c17eea66e4d0cb4af6a7b9f6755b32c1253e5561378e4d031cc18d463bd26e4169bac40db65be893258a7123534f8b7cf6c7ec64c3e8fa80fdc70e141b73b6e0b4edf5626f3054779b6cd359f4f6a629aff647416ad7f2337512bf9c042c8bbccdabaf5268167e065c3b31f866cc52ec08b74a15fa16fb1e2e094b6848be6c0485243ff0b3eb2e453839f5538dcb4444a69c14924b603b8ea8c49bbaf71677b539cd999b93cf912101384d2fbb191ccd5574ba7786b3864c0d60685e18dd6ebc59b23e98ea92c1719aa5aa84657c5555c573ec160b0a300dae7508a2dd2a7ade0595cfd477476cb74a6afd11aebcb91bcfd37d34078e45357161115b1744a75416c9a5a2f38242a5f307722ac7e7eac45045b999a17b9b910a30f7340c45737584ec62f162eaf8a17a6f8a8250b9ba1e990f2d5713915731d275d1cbbfde15eb2cfae081b0dd012040e058f9f4b8e7203e96be0199a6d2571d5759620431f8e66012407c185a76a3b30f300155415413430ecd74972ff2e9683f5f2fb808574059b7e01e0f1c116fa9e3ae16a597e3d535d4d4d2edf8202911545c51d6e4808ab01b1fdae5a44bacf59147a5eeeae22c132692505c241616575676503e9af9ab011a1297cc82f258a3880b0afa425eef39578b9cae2f911d1e93930958a85ef1cc6d1071816f99e23099c5be98d4f158f6c1e64503125ef438f9e93e27620d2159ea01d16aceaa0ca619c8229107814bbebc9f071c2eeeee1cc36742bc27ebe4f3777187408ddd86a7a2157f8b9579ea41f61a6498721deb68efa79591c97ff814a5b2c201fae94c61e9945a05fbfdf4ede0e7c4224814e4c5e793ebaf27f22ce15b91a04e1da5ae1ded7cadd3a84781a2fe6f36504cf1562b2a528df82583f035904e05b95c3e5a37bbd7c4d2477fff5525cfe0c94184597b0b88fcc96f17c9184f1424f9a201e64aa9e5c4449235628f8a53065093f43a4c7d4354f599b540e44d68d9adf9a821d8d4e81a3beff2e214fed96a2ef252ae93b0fdead31c677fd6ed2a905b93638c74d45c93f6b4630b74f6b6dd02271813bc9951dfaa4a916b69d5dbcd1faeaf29f67489b42ad15b6c2ee5567d4397b9bcb54fc11c29258fad5ff9fa75febb83dda6af731284067cff3b6d4fbd48fb0c0ac6875703336660d2d695aab285bc1fc1be4a52685c8536582e443a4b91c6b01e822ca23cbddbfecdf3ed2e4544d97952a62c6ac629ca35b690cc22f9e22ef4e92d57330b74f27c9b8cfcd967c588fe23ab90c85ff9c8e91ef30bee2ae85c7237b631764f6c0306afcc84fd6cc9e22f98d7127c3ad223993c7f49375a5e56aa733fdf5ef95b7921214b47aa6195c5c498292128c832a057439686fe466f2b3c0628c47f0ba191b47e9f918f9f1c4707cae289a6ccb991eca47c932d0b5ee20ca28c06bb066f6d1937f7b57c79c7cdc8f0c7f87011bf9272860e0d14598bb39ded3e2344504c460dca162e8bb1721be269041679d5d96f4ab85998660b21187ae1e7fba0e24108c45ee2f6900529398305775362a7f854841a6a57dfb5137deb0b9b84c1bf6954c03a49a480f80f46b63cb4067a923fec73c2a526a38427b7300786118e1ba136ca403f9d7817e3ef095a0b75882e9a943798789dea04d0713b56c0ad10e90294d3c79708bcce1e08011ad242af516507002da9e1380b537d72478e7995e19e0c235f71c84d73373e7d18024fb011a5486210b7c9bb73a9f9534fca6ae07914d4b9cc00afefb47b70f7dea719bd05661960e73d51c9b1db58c242a8474d78a27e60f848ef0e2b8e582c6b0e519ac414a773c09390a32cd268a912c02653af406cbf140572923133d2cdb29b10111e6bb210335cf5ac9f2c759759129f335afa286a44bec331ef56193368b0b5f636180828f9e0800a9e2b4ec8343a88394ef5adb4ec106d88011ef4850e1945f0e677fdf16a1f8908170acde4f5df0c7179c94ab760c397e16d1e5dd671ab15cde1c8c99ec6f3b1156161cee3950f3ad7400830870813886605288f7a2120bfc3bdc718412059596d22d37146d2e4fd001f4a099f7afb59242a3d0be28c3a7e2bcbe206440012e8f789c2e47dbec038c523e57c7c2c8ebd2bba588fe4b8ff23648c7418e3f238fc03ffb6df8e0eec8c64d6239f9ab6e2c11ffae4c09b131f9a5427967cf11410bce8cc1e15c0ff097573b3bd63b6bccf9bdd97d6d7723db3810e6ce76ae676f51a62d828d33fe128d681994e2a02def248c50926905acacfcb1929bf2adb29489a82189c0d1f403be4071559b94b205a3bdf0ee1851319d9ba7a78da28ce118417043553ab710daed91403fdbdc6e29eb84b6a81bf25ebaeb4e4eb694f98c756c4fcca8ca07d80c046ebeb24fa573348d57c10760c18cbd0642bf43b86835c7f3b6551e3931c8abb427cf97a8ed76e36b10f721fac188531bf4dd4179519bfad7ff09b70c2a67846f9dda459616d5dc6840aab491be44576de5b26a89381e305a4c9fcdc618f5c088a18ad29df1898a303d0de2312534889523e517c0a759248e3fb962f4e764f32c61c1aef035af081980a99aaa93455b1fe4ba7e2eaba58da115f4225fbae358f62941944433cf79aa435ded346729d97ef5e2103803d40cb9287d278df3c85be13ec3a5dad983e54b4da4c653f39aa2e9d393e827bf6da5e8f2b7d676671556c51a989bea0b043820b41750bf0db5f1b80266ae2c2db642cc19019e4791ecc0cc329e88a5e80defea67b67cec8eea988391e0f85c580a6823c27a3060db95c515b1495fa3727a2dbcec8b519684158d97e3f647252da08c0b3409b1a4780a9949be04bc7c0d5d2246d4e321ef79faf29db86253489abd84654f6317a2c75c608fd6e47a2d8520622a8608a9f8a21701cca40b032b899c72519df8972403f1fbeaa9d8113a3b0d84f0348b3f357aa3ec11090501a47d2aae31de1b9f74308bb49f0bd07902936bae9eeae29bcbd0e389c46b458176f040b6303825f01d7dc9486436245bebd3095b340ebd8b96db8baf3a5498a5639e2a01ad0050a6a367ccf941726b6f0ae008c376205ff6db9ac6e697546c90b6d9375eff303e25329ed71dd67558fdbe8d5ca73bcb0a10ea33bb1cc1cdb2b28dbe8132c8a1429ba099b06e4d01b983eb0d5dc068f41b003a12f00ee57d25b41e3357728a3ae4cf5b8be8cd397b761d7b97b6cf5fbc2edcfeff961fb5fa039bdf6b50ce5b2b0216209383e245a7e236406a1873f4440a00a9d177732d5b67772b12db41ce5ae4847cbe65cc4e2c88372b69d6df342dde94f366b6e9666361b322decea0ca761c9615e23511b5e51612e1673048b421bd30ac1dbb0bd24e154094e20892d5de33615f99c9c1d3cf024d6f625482e70686f83dee3e87bfe52352f909de8ae95f3365ae264dbcea56dd082cc70f219463a9c5f38ecdd3f9a21ea366525903106988432f3ccbb3d730eb63ddfdca0b4756550eb780c578f3daa09a7e5dab04123726e0720dcc457c621046ad5c743a9228d6ad185f7160b3d2cf2579c1ee474e693bbb8edfba94a430f3237da06913cf909b7113bb8afb3583bf90b07c5612b861a7eb5b74d268a8b252a0185ded4a1efb6c55fcb44203a83e398d5797d45970318d4c9a8f1bac1cccbdfdf2edb163df41accf0deab9b532f913ff776c969ae18d290b248bb00aebbb4993e005654d889a504cf22d27e6856aed87b61996fc5cd0a372cebc821b67626a17c68b18fd2b98bad76aef8107350005affa455900b27f6165e6684520ae86cdbcb434c4da5d762add72db860449490fe00fc3d4093bca0dff2bb1504431182c9f00f3ba55ade7c466a87d7586f165b7e833c1eb3a4d274b24a41af9a264df42a1b0c69fff0d40314673e3d3df44f78efa4492068b469ba10d430e76f0dbf661fba868d69d2e7a2efeb8b701af0f12dbc12c8920467cd8df1e2494b7862e31cc0df4bc3afa571b9c445446d02e9511a1827c0b08f525e9dfda954cb5043a72364cbc7860c401e43c8e7bb308a31e4a980b6bb007f7c7d48b0289af04619357f8d6fe2ddc041f0eb837fa3be4fc4772b1b68e26f8ba061d0cc1722b02d332c7c1cca1e30cf02768f17ce6b98e5c42a924ea012c54e24d2658c2390a06538c08d123d0da2d1f990798b2455ae0d338b7c0e0f38ce25ca8e6349c2a18cce98ccd6073cf808669dee4963d021f020e96caf1103ef3e2cb1d84bc2a8555583a461e998694f7e1882434159856f775d6d79214e05a6c543c87b65e37fd6f0b5adb689c4ba069a9b88c1cadcf8090ea254894c83947ae76ff1c75e19fbb94f40560efa3058f11e3630fafb911630e17590ddec4147e3d45e9ac716fcc36d697e3b4ac82c851a5301be2533940ac3c2516e3a1795f9907f6bc6fc864916825ff22372f7b0046ba7904bb7f6511d64c1424209b350e6a2a70e92d4ff61a1949b93f20f8f6da642a2030787ca24e6118fcd4f1fcc2b811c64678fb7d1d6867d9181cd262b569a08b6760d808f79f4933940577e287f5f5aced8c25a40e9b883456b999afbdbe1291379e4b58cc3c39c80badb2e35fba831dc9d5643edb41027203b87e3edb6d3ae321f01f19637139b342feb984d1a26028cd590ea23807fa73ad67e98b7a520cddefe3cebea88c34348e66472c4488367b0f48ad50a8f211ce2aeb9d61e23bf5c96880ef24d95e1fd6322a62a41fb1a828d0b3c4521ad7d8d72866470afa25e63344a072082e67ce87160aa49a95ca97687c178d5740d6118c94435302fc388327f9a2e68a19fd6418a523537780f6408d156f13b98b3bf9d38a1dfdf6a00243db49362aa105d7f6f95c17e8076a63ba3b5d3dc4cfe6c554db79547988cccab855e63e12770ffdef5d1c315c15a89e03009265d8880f90d642c79fa59730a73eedff79aa29c8fac88c27852a2818900a00316f59a5630de27b05d1b1f2ae44991661d9320ab104525916c2231169e46de66de2d2f4d281789b2413f3a1dae9333f4f91020d20f745fef713953a1e353fff644b93dfeaf1557e502469e41d0d242aace3057275067aca3071bd7dd2b200352a012b75c43e2c06318def8baf56e9a54aecbc3c2d717ddf211544befac206110bad193c636e1cb0a30600e387fdf93c92e10042115e89a3fc44574a9f765eb482f5f777dc4fdcef220d78ec5f6f57be1fa99e1423da10a35ab102058245280260c8296d133c394f83096918176ad3d433e0d84499e1ede6f84b2e20721e3f9123170000a390d01c7b0e44fbcfe161240122ab2036391d8b1495113054a03f967a5f31540ab119b91de4613bae8c2665c8f3768c883fd45e90ae990f3370cc681ea4a4fd9526f56c32fdf50b2d9cfddcff05bd27141a97072398fa71c27643d5a50ca5f2f360b4af9338f9a69c3bd12b2562c4d0cfadf05a5ef312a471201905d73a3e39fcbc4f6cc13f457406d7284377da3b0f898685457f33d91813a83dc9ab1cf80b11084f9ba7a6e7c9697694a1e99b09220f35f5ddc5e68ef7b6318721559ff2e30ec98453957b921cffa46a020879499bea4bc5409b29c3d236a1ec01c159a4389194f6aa19459403d9e619f411f5eadcd8e22e3c2388d5ea6372535b547cbcf092e72a68b2d13622a015090caff2713200f775febcfc1f88d5c610512c0798a89aa4cd19e1a2c78095ee5d5b27524657f9151d53320ccfb7d7ffd329a6ce867a174189f33cfd7ecec9c5d9a749c5c59ab4a7e8ef35e894a6ddd764a3bf24878299c5bd0a48e94fc75d0faf07b625b68ba4834d24ce8b574efe0d5593947e86c1816019db6c6af4c92053ba8fa97aaecb48764f75a6c02682d2fff73f55df85ccf86b4cb85e3e272262a2396a50b8402d78a13fe77064afc55eafee078874aba8ed8ce95ac4a982afa5482889282af859946a92b5cbedee7cb54b81ae0e79bce588196e76a5a9131b898562f3831f8e1a324f5cdd8205d614795cf474af0510c478190cff976d8f33a2bd31d2d720ebade1b320ed58e5ac105a3b281e6be0a0f86c30a37d7d0622d4eb20f6b69d654c5b9d591f1863322f448c299bc1fb863c455c97c6f11701ac1b340ff552699c1b36a2e05da8df6600f5ad2658199b1b281faf39a3f923cb374f42fae11948f5875ee9266cd45298f5c8e80bdec42c2ed3f574da25f545b9509d38e55ba1f395c8a3688fc62c82e2d817733f2b2745b8609d9e3c2a8ada34236385a1a5352c2cf402efdecefa337f85a216bce3bab10e6c6c8644f9476fabe063a0b1bb988776e8114afd566da60d36b1d1ce9a0a2f4a495df651f7a51fd2c81196cf2218ac232bd39854a5ace0ecaab7231d663517d80b02cea39a44b67c5aaac6dd82603ca84cc61e37d2767e380088356001ab00b94a207a6dc5c03fd6ee21a522e44546c4b7a9b55c3f5f9dc84a05862b94b4ceae2ccbdf35a6430a527918f5c04c6232b15dffe9465438a516e1930b3455fd6512d8d3b3be9221eb8f4b45f68b988379e21d5ab1e218eb26941e4a4648b704e11835a7e30b432ee05065e9e4c794ca9ea4c67b5fbabc4790b76ea218483d1ac411a89beb1d393006be99c7e340f92c91f4a9ae18cf33aa6148b57a1401769e9432937d29b6f061d36973f02fd07c319fdcbcab97c3e49338974bd1312fe0c6ec5517edf902a926abb483eea269125ff1a8d34c333780eda2e1ec180e967663d192a5ec8ef5eecc04db26c2adc43540fdbc72f0963dfb10728a61e8a76a28cdaebe12e45aadf758e86e65047d19e75366df658a37ccc76a0ab3582ea3dc767a061870e54a10a9436a3d299e02580eaf01b5cfeb5bd019fd5a3c7fb6e51041334befafda0399f9163eab7f27f546bee5d4411b49d3ed83a994c5a829cf22a12c20062103c59afd660667384bdd6192c93dda138e525c87ce7741506e0a46a6dcf990f611dbc79c4d69fc8b1e958ed0b288e2da80afd45a59b3cdc561f825ff8c8e6dd9504f13e4475b1233912106689db7a39fd6803db80aa6a8a4fbe3d320e863ef08c0655739d31530a503ac98535660765ede211bdc9d7e92050f8074bb7858279866a9eb516830a15481649532c371f068a6279f219fed644c97ffa2582f8f1414d684d67b4d109c020120ca83eb0c0c55b0395c14675abddcbd8125f830a55eb71f532f77f620e51e7327dd13cd9ea401e3b0e45d548276c4344bbeb30afa300b0a5aaf3991ef4e276d071880d87535b93d0cf9517e182b57a8a5f12fbaf707dda25ac34ad765d8367bee51aca5ea8766f72ddb7e2b2226ac2301296bde62d89977a7299a6f87f0af5f10183c3e395157b6436f902f46120b2d5daadd45395652db1326c68b98677816f5694fa601dcce7824e1c200e916a66f2a855f25f03f648c315d2b7ef3de06e8721b6c48f9de1266cd32140f00ab5eee8fc2c2ac90a9f62fce8f4b773eb1db54c66632cbc851897817f7288b489000969abf55102fc1c345eecc7016d5f69c612acf34263127d9e7f967f1abb74f1bc962dc6b98bec204505997b3f23a390eb891b2cdd229b01253cbe3cbaca12354d8708620bcd0c5b16cf4d8cdd9a053e1aaa74888b033914bcef1e89a78a9ce99285f80cca4ee6a212590af9707d7bd3eb0ba845f4a1be733ec577fbab944fbd920dfb2de499c657657c6671d5ccea0e4fc5c1923cb700f577b1e71502f27ec4dd50133784d25ec6fc86a95b600dc59a61f52bba416269dab2b9a5e977ac293fb5698f41c1e6827cb513249756aa71ee5d3f44fc6a07ff35be861b156407c2b349d655f468101766230a5d3e5f1cfceca252a7d644b0bf0308817040019149444db370437f7bb8b67bdfd70f485617cf458d28cec51bbab5644be24713c3910032af63e4f34a63d5654c069e090cadf71013e2baea5757383eae81dd44cb7f17e44897ab76f0774110832757b1cee37c240ded9922ef978e1459eef5baeae000f544d72d2b6297277286bcbb5a615f433f60939598ddb90d855a41dd465ab045bea11632f2c93104986c8a8e5e609d89260832d719a1ff0544ce2c165ae1b3e005844807ebb8ab999f5aadf4a12a4b81a7806d2cde059b695c2097eeda13e05610889a1d9b2e431ca923dcbe7f5eac682fbbd3f3df7526fd616a29e576ae4b2adaa1927e71dedf33546e4cf91e85dbd89361aa16fe75996a9ebe2d3827396b81ebf6d571d66fc5febaf0b36b057e29952ef7b4bb47d09c268804a4d4ae038b4d77f47d1e7516846ca16d8ca757364abc82663424d7aecc6e723d67ce43ea927d98fbd84d4a1236761d731ec1b12dbf04281f5625bb59e2849b234e9653431211895c308a485294eae1b84e0620df21227c5bdfeda9abc9188dc2c7247574c7c664ea9cf357b430e631cf0c534c67c251fecc305dc424fe3d3333234b117c07f8d93a51f373110e0d0bf0bec0f7fd435ad25b23fcb8841eea73adc73b61140ca62833a44a2d6c232111dc63088f9a87963d9c5e62c456aeb8a1107b850f12cda3ef5548b7f5d2952187d63d147a540ff9a4f7f76a4ff4bacc8920be35ba375d907429062489f41df26bad56bd9905dd586de9d3a11697a1aabff7fd1be552e39d35e1efc8219c79830c793b499c399279fe8f74b26ea114c9395dc768e1cf4a3f0ee096abbd02d960df720817fb851c5b4e97be673ce2327dc4bc5db8c9e90aa210f5b29193d1cccdc48934cd4ddea7866e24d905085d1100d49b4afdfa0e8d93e21fe2384f6ea5eec4f207d4ed06145e81ba39cfdc2bd02b6b57cf887b2bd3e750dcc67865820d05590ca83106abf48517f844987dfaaae0f8e1a6cad995a0acdb56e0c0e03f486a3f36ee9b42ff6f1a4c08e1b525821ab8b08988d9c26da66d2c481cd99e09400f73916b2bf23d179f7f3e3a261b462f27c0bd15898a79e594d65942e605e96dbce9873fc855f13fbccde67b7ac9587179ad826b6b1b1fccb42016db6c9b15f10b7a04704fbef522da034c96a1ba1fc74b9b455c2f7ef5917b3ab4721d4e8902846c093281c6f375a990465f94535b5d0c04bc3e6b4f9ea83bfdf3fd543dfdd60b954158ac30a398695c1bdf9bf33bea294683847756af7aaf9806bcc2b7c41e3221457cc4a46a77455073a5ef4158c0be4409e5471428b1f742a27df3ff4d1488e46527b25bd20fd9bf173298a8dc12826f02262a85f6a313c77cb654e88da616d5cd42390b69dfbe0e927a07993fa03598c692e5ab83293c8c9817df3cde21fa2cd7b73cac56cdc27b273ce570a2404ed1edf2d224202a38ae1b23235e65a790386e8096c1d6ecce9e00eecbabc895a16868c0c235df46a2d385d8da4944903cd21ff37aa14f9aa8381d7e7aa64b9c45e67bb30e234ed66f74dbd9e2dbb5615ee21e956bc2c10ccb10d2d1694d46edffa2fc0ed71240cfffe75986fd6a1af0471f55aa0e9a58176782b192ae0b665d0a6d7cfda27843c9ea23666db81b9358f196b416782acb6d66c444e1ca3f76fa272c79687f15b17dfac5c7a7b7cb98c722a2a6cabb3a27f92a015045c26beca921e9b9e041c294e18a47ad0c72b6a9d3f6690f78b013d412effea30dacc1f327c6f70c4d67822067e98ff525253ff52c684300e4ec22c2d217331333369634e69862bd37d36b0fd77a8242c70129d115223ceca86b88ac4461246bd7b48aabbf28eaf37f6fe38068c03c820c338b56e25d7abc5a65dcf3844ef3af33ad23ace3d21b15abe9c21e3f305a8aa290f0efa7b39d8ed918c5f729cb654bf753a1a1d0b5af81ac4c0a973293b48430002ba11b0986034fc170b6edcee3a198eac1188d8e037215850999e3df3f812cf39a656fd3ce534ddfa5c7da7fc103e88d7a8cad301e5305437ae2a08d9074aca4ee9734804f236509b829034ae7481e99f0ef9f0096d706de826ba596e97ebc3f94a14e10225285b1200d349cbdf358b2a5d8f98778322bf85e8036bc650908ae5be266ec0ea53d481346e4645789ac9e829ef6c5f3e496b11060e0da9e7b59a61551914ccaa42944fad5225224ba96ab30ac60b546f70b811577a2a78d82786fee6886c7e82ac6dadc2180f34a193ad39c5f3350b7affa972243260f3e49cf7cba9c67f58a5ce60be75f2e8ec59bc6ea8eb604e650e6be6e21e646c8eedefb7e5086dd833f489559a1790a42e7970ad8fffab5c8ace07bb1b2ef6508cc2fbb39f51ea797ff50b958e2df07b35293e1d5916973b3752048694b5df25d2e0dee86182afe49a4e51fa6158e34c7a902bbb05080583f901777e7f80823cb15dd2fe15b4ef9226460586b36b50045ff82bd8c1f9ec18ae7c2b4e37f1ab192df66589c413c899f6c5d28ef6107ccfaa912a7c03a92d261fa3cd41c8dcbd9b917a17ffc1242e7ad7dda91d67b6ab68af273b5c7d83f6487b5afb3e7ee7329dca0d5c559c3db6a7fc4e37116b97acc0f9a2c9918bc7aa235dae5f019af1a709a360dc2aace9a2b08adb7c66cdf40a88753a40c6d97b90966204913e06521537318f08dddbe4852d743fe210badb11119b71d42533cf110152a7e8fad5eb15fddf314123c74a53199709eae55474392d247763480501585effcb62ca35930aab0c01d06b47de00c3e2026ab3d6d40181dff3f73f90de15d2dfdd81acfc8ed079f60c152777c30a729466c792fe005a47eb9df631e3049bc28c967b724718f06c2436db850e665c4e2fa7e242488ea93f6ee7c4a3ae249be88c1121e92d62426b9f88eadf685c71bfeb7bb99f845c438986f7184765b5d765a5c69bace8d13a7f059a9cbcdd7f7921540eb702b60f658ab3c487d435475bc89b5d9b5d8daa9d0f7c67d857f01f48260cd71063c373cf2418f52580db07c2410a1287f0d32a5053272faf8be0d0d962f535387ec1c4107bd9b4bbde76be2d4952399418f543f6062e74cddc1bdf4469bff157829bde69724d67897c19c579cb0baa6ef2f3fb44535a2643323a82e462b9aa9218f5eb0e8617cc028a6b44723586b678364c749926b14b6017d03ab6dab30b9e3479f0a72d6db08a5e1fa3da2608df02c47834f2fe183e94f4b8a6baae019855dab383b4b3d131af539c091d89693810079a644225cb5b81a624e40aadc1894792a432c69159ef5c23ba23cd868e284920df3d40af114c117c9d7df90b14dcae306a5f41b3b5be5ab94c25c4a29aef9678a8ffaa8bbec70648c7258f5ebc37654ed3d53ce85a6dc959ef00bd65d9261a37805f63dab22ae9328685a57d257f57af0967c245e4a607b0e344f3713bd53f73d25eb22b719dba701e44709b2eebb88117617baab632b224cebb1a7b1c297baf57c15ef85db3158f8705093e4287f47f3bf3a2ff6e139a14666d4779213f8c158ac64efb5f886c25e845e3d2f9eb75bfff33757892187a6b1a560350a94755c2df5cf3950382495759b9d6ecd50b4aa99c34e073c8fe8b967bf628ce3d93adaf1fe70a8cbe8e9e8341441c6b0c66d81c526444fa7990b5c5afb9efeafd1905415633154ab7278cba65376dd017ab69baeeb90c5f5a8625d95b5a668e1a1aa02cad1c903ece4f98cff511cee6cd1ff11379b063ef4c31319034d543a6b862fa47030d0db382a69d288105e781fd2e33ce625b6f6fdee3fe4d912d6e1088b28a3b114c564dd629f34258e40c0d051df53467d7bdea8ba3266cb6839fc8819ddb963fc6649d09e794ddda90b78e351e9c779a2f139042e2dd5b36b5ddb2d181ddb3fd80ab19327d6f82647ed8d943332f1acb3d4d4284d889eb932dc1ce932ee7ac83850a26c35a7b9466a33e25dac3e46b942b20d763831d382d408372a1803b7ccfdcd37e1afb7269e58a0092c9398c2c24d77d65a504a065acf752bc7eaab0717fb9e1110456263b0e993fda226e220b251d1a73d8563368b2556796cc48f1c874872aac9b2d8e755c8384c7d09955b45ed95ba7f95167a7e8c207d5130c206eab6b3777c1b890a4cb3a97d113820fd1d60c6f6f6d296ea10ab3f20f57e99925756c42498adf3bc6146303d3e82307c3b0a2546930ade53ad63e5623f937c7250e5f0907c40bca84dea4ece54257a38c40e898f81d7f1c2746e59281c95f090842c963f86b8516d2cc9f89e41ed10368ebe340a113db368eaa429f30d7253dfb1f6cf47da683d4d9bf56de10b192e7e40378a10405f4015ba95f68b8c2a608dddb3cb95e83c91519c788fa794d539eae3c13eec0fd4a2d1d282ee18f12a10283d35f65ab076ebd3706ead0f48b21f800ac6a27abb3421290038943e19296f6040c5fe69b730da44e9f30a048efa2e3054b43d904f2093027e5d207acebd5828c98e8773ddbcdce045918a7750ecfcf8f870f482d345092beadcae118ee04afd8c53ce53c3a05afd7d6852d6baf46acccf07ae3cae5e7d9f429532601e683882f6d205e981c066ae31539c03eaf18364fd2402f9d7fc0f19f396e4b992520e3dafddecbb21ae17273dd76feedc20d1dbe91e0e3dafddecc34d98e5af15f437a58c56255a491239273725c839758c92cd45ce391191cd36a2bff00d7ba4854c50f910895da642c459bc1522d437725d6b994a639a992e6aea11172ea852c1170b53ec26e0d553bdb7af7ebb71e08eda0efcdb4b18fedddce1cff9a2b7b4f47245ab2b6e6edeb8c6dc6711615a26b86ec4d26c9df09a217f21005a8319441956312137de46dfca061844035c2147026110b25131cec6b1ba75723354b3dd3b3635ab661b0f069b9500cb9e58f9f6acd9566b6b622690b860df1a42df9f2ed2760267b59b7506b1d4d2b27c00751419282c3703adcdf6a56e2eeb093181f1becca96df76e6e783539bfb93fca9b300baedafe7aceaffb97f6d2aa227cbd3d755e27446a154eae8eb3f68da69fff8856aa69e496dd8fd9c898fab7694e53c0a3ec9afbb20435ac163be1aa053191c828eb8cafa62bd96fcb662425e86a72f9e552130ffc0b2730ef104d495d4a0e82de4773684d28fd25188cdc5a6c525015d6a0c0fea13207657849855327edecb4fde999841f3d7b0f5dcf337f056fb5d6c8f458a184a61f8152c23bedddb7c63d7e90a578815c07e06af6dd981c3c1f5ce7b2b431bfd2397b6bbcf77a74e43b21f8da95924180a0403999fb178c4161cc0c96e90dbdddab4a2532e9a17a93ae6ee8004e41159ba5a88f8a249b9d43048a2417d65d7c0e6a9c290beb0e700dea434126eb4f47db395ecdfa70b1e61f750eb0721b95010d3c2df1c69cd0802d0bf3617020d5ec2a93f1dbf169a033ff07e948f63cbee5954787307a7015d020eecaf3ae2a172c777a2bf8a8b30609d816ff63bb8139ae680001c64cabcbc14dd524469d004f84b17d359d222f93530b6e87a29f3f39ce0f59f623b5e916a56f12a19fb166508d239c36bfaf8e2f830bd1df45620df2870b3afe90b2f9f4726e4a790f3cfb3c270152041b60ba251230c1e40f061170923ea63482f875bf9888dba5b35cc380ea9cef999877a725b523863ac1d1a69ff9c5893fb19a6b6185b8d9efe08eb2b152151e8097f99a132c2efa1e87a28bffa325c62dd4d6ada176f1a0205d476f2b502e2b1cb1850074f26ddba380891c8436bcc5c9083b2ee5ebdaec13796e2b9d43f2f08ef264b8bfe0dc4743d0fa48876877152586c881fa053933b3159edf5a65944537152c622be03ac4eb81847a958e7b0f966c559b1632f90d633ee5106564169fab0e6c408cb29a0ca2271219f2aad89ff25c15c1ff60a4726dc6793d69548ffc9534ff5ba93c79b77330ae55dd3e64d1f32c6bf78ed39adcfd00e8ca13cb66443e281edfefad50a6bbb11a64c28c38b85e4c25c08ea426ef61b1326af83353dfdf064dd8104365146d865499da3c37f4b3b60e03a3d9a14131958bed4e275e32405676ef3c024a454a1d94203333181ac2823a43d4a361a9b08ddc5b5206ec0dc30359358062836550e65d17d26dcc74f37693483603c41ded4e64cfe74952470c8a931807273156d84878037075069ca4d30658b7f8cff32f2df7fad2dda4883e5e70d9d394ca7dbbcd0840ba091e212a01578ad51d1d4e07cccf9befc86908934b344a53ffadf10028a656365a1558db1a32f46786473014eee6dc99838358f17bafb09f38830b0a8b1a5f43451e4d26489aeec8fce5ec382318d0f8b542270c1a57cb1b122a670a64338d09c4effbf944bfc6b1f331f98ab76982f084d89a8b907e67df0a842e0c15480cd60b4866c65075e4f82b6ebf2845828067b72db4153bc35bd9b9ea3aa56b82ffd6680f724dd2e8b2923153f5c731c69204602c587bda09291608e54380d9438e12ea8b39688c81a23cef2f5fa6eadc0697e53c7a3d16cdc71fc66e0a85aeafd7490dd442e7937daf49dac2ac5f83ba0b1ec51b7c9940b433ce82e9fd81390e1313eabb34bc3868606f81d6a3182c3ebf02e8be49865440167ed288c2e9db3c203531335267bc8df540294f74eb01e66b9d2a19665664cfe9dca912a178cbb12df35a505a6908b77a5e1edf6839693ea2b7dd368713c9d6a27ea36299b2674fefff623d08a2a1cdf3f37329f2d73752959e9084ad25d0d47c1c5aacc7181f62ae6492246e21a41717ebc147fe08da33c0ab8b18f00c392e2f1dbca66943e6da5f822392d0375ac8c4180b9d186ba568655b935d46e57beb49ed752eacef1fbf759444f5463326990672562940d7db8dd660395b335f29fec2950f7a366b3adf0b79db4f70f8f07c221d64f98b8f7fb09b2dfdbd5a10ae3565280608a7b97fd4d86a46f06d93224abee276a85010a60b84ee5282d8391c1b7644c73d1bcb7dbad5d56b73d4957f57cb3b255fbbfc2e0312e8af759880cc39adb66065514e8e9d0b9a0ca30e507fea0070c3134440f5ee5a6560c1368d98df0d6175fa582c6f1c2452febea410d2ba8ed75df6a24d8f15a004acf28872090163fcec8786c71e2cabee34b021fd7fe0cea9aa233cb66aa72880bff9c4479331f06903764c16e580fa010effe23aff622c403f9d49615528865eca094b7e17a62e36e861a79fe10b1fa981b95e498ad9f8ae741867e042d34f8e58d4963c07e34db7d3ce8a38600c552a625f34bf13def80edba3e358e54540891bb886be81e60752f270a052141e72028c35414c1927748e0acd2db3337cfbae2c2de55d8264b4a0b064f45c4847e788c7dc199e5a988619790dea1afd91c5e38f803b08f9ee210e3e1eba04a1d4c741c78df0025044091150d124052c6a2966828c2aa919c69200c7ba86d9c8f7f935f7177b6f5678fec4b73d8a180cda101c1d11d5b0b9dc1fca362736546c2fac95c64f24ce6741da0e3d3db9c3cec635c81b48a79687a16b1008803be94641e256fc25431b03d76ebf70e740769fb4a2f0532117e63383810e34f7a01691dc4c7c07af8ce60f393c8da830b9f95d61d624950e75d95f65191a094dd70db653e23761fa583b654680b96ef3d6418dbd12e23c88c43fc851c18adcbb705bacd5544c5b64bb71b2a71cebdbb09aa147c2ce5f3dccf951370828c5dcc70f717feb46e8049c1865496e3c097df658b9e254344479f6fecff0a48005868b26b9ded2af97a6ff0e689e46c5714490ac40a35b7188b80051eb69337d0108b95c3f7a9c647043b9c3986ca8608b5df5c59a46acc249d2160bf2dcf737d4f1e97538422b94517fb8a8fe81318e60a99cf6bf2f9272608bdebe7cfd21ce1db6464608293a41852e2f280a29f28cf04324ca991b8ebac31787d70de5e023853f809b6e9145a6721206cb81ddbce4c2b553b70ffb88535e892707a85d12f26e15f384a4089fb2556ca19f9b46c4d8ca8bb49e37e62e775a3f4e394e439b7bd320d9800e3d8a45bbc3530e11fc710a8750d8965972e8ac2c50432f7199ab211595507c5fbf457b0285aff0d1a1c31d03534572de23503035403466e278e628f5e758010e0d702f4c5d3fa09f201e1fd54382b0de7d3443f3b798326acf81c09dd179a7db9e2f4f1a427ed2ad809e871a598454938161d40c41e9310794e109f0cce40300dd85d0062562237b0a3fbe515e73a9c0e55071a7171d3cdc30bec246d95866ab2f081ed1193bab55602ec4d028651ba42ecf47151045b5664a9315ad0825d09dac6e1c56f9cda8f85193ae50feec285d8b089f61760dd802befbb6ea5e8300b822ed29156735fe4c65408e8ac500ffcc2272a250ba7aa8f9d783374e6054cb6c99a5512507539cafbe4b76d369e8e5a340b13072f3b022d4d6fe7b65f4e5fbc6b908e4f4e89df0f9b117c4d060144314d987aa222d7571fa98610b2dea377dd6d50bd41bfacf71aa8803381bc77868259687823b12df156828fc1e7d9d12d935dff19f6b64d745e1cab86cee09ae59a0014240701b5184a42c22c8ec356d12949024bee20e0ff61feb5085dce8a04cbee20aa14b93289d93bf26d41eea7db07f1e8cfbdfe498a59d6ac065fa194c46d9ba04fea2abba1115e9cc74e9751bd83afa784e3175c70c43f3345cfdbdfee49109b47ff12f58bf3be553c9288893a18718c2d01a05b823594804ca80f987d8a4d28660d3a4020cf86831c339298cd53f581485dc3c9127fa00d0c32546dc11d7ddd1a23340e43bafda99c9a398a4459222d5cbff006169365a2c906ca830d7ecbc73c3fd94e46042a1083edb8f8e051e2e6bb1cf8ed9f316397008c4768225d9c307fedd894212146dc3a9d5a8fbac3dd972cf6378b1858393ae1be078db8a6488a7cd00bb9691d2ecef9ee242deff02b037f6ab0b3d8044db791b403e89eb4428750b65fef95a62b89a29c9db4fabe4c193ce4f78426fc37a40a681ffb07d5f178f3d14728d177e00543abcd4a5de0e7b84071d92273d2416a73aba07d3be4dd2a97c23af1257368ec40056f52494b4fcbdd3b6676f75a3963bc5852709c37dd199bacadd29188754f9fc297b810f62211c4b8942385efc29cd6f41151cba5cfb4433cdb006f64975fdde4a4516d58e4d08127ed08cf00f1d8c2ca2bb1a9ee3f6b6fcf57199b7d58df6564f3dcc04e973425d1c26ea47bd0f09a09d6784933960e8461a4615343b11387cb388b7d4556286e16b5d6cb7378951ed42acea175a990421a121d173238d0788ccd12f4010cb07d49e3242f24fe113f1d213bc308366b808bbf0c53fd0ca0787ba0f551895ecae3aa4d05058bcb7bcc9c8f76ba063914225a29cff33816dc9cb0abbdad01e1d02ce687b67c62bc80d1dfce7edcc7ed07cfa84c6a5700c1e42389c6a4405c142b540bb600aaccd34e793f22490bb85de632dd8bca9f8e1a727ac11c4651f466a88a47fd44d586db6f8b9807323f4ae7c7bd95746e98d8b464fd77a137311791f5953df7a37a216731f105ddd1b91e8c784813bb42ff1c2fba746b4f0082d128f448b2d6b2112e677aac2c7154a9dee955c9dc69d6a3bb5e9b84f397cd1cf9f5642b444ffe51588a109886643d5490718e209751854f23cfe0564420f9ba3b0fcecdd957ba68c0ff2798cdf17c99c610921a3af725f3123046355fe06b184f559a3a414a763400127255900dc2930a9fc32957d4736a26d74544b3f9e5f78aae3bedf3eff382d0e566a656f5e9c24f9905d3469f14d045dee58ae6f26052ac156c59a865e351697041546ff28905cdebe2252690dcbe041e82599a7d63f1ce7a55dc57f3d889b700ca169dbd4ba60f4ad0687b6d1a078598e6ac0e878141e0429b79a995d550b4c6abe726f2f604150e94fb2eeb0572417858f812f46efa7168c0fa2bf7c4340e522610cd2fb7892d3ae0428f454d105830864c74adf5bada401857acb0c5d6a0afbe2c005bf81232e57bbddc6fd0823fb28a279e22177829b884f39661ec614735feb1ce3152679ac34414d346196a7e672276ad9816fb10c58a7611fbce707c1c0898fe9d91b233250c44b819875c417340dd2ace5d4f1d33d29ede80cacd835079a2225633dd8414c44186d50189cb888d3d9572bb7d41192d890e2078cfed8ba9893990ff067412fa0e3aac24c53660a49848108b0483479861a0ba582cde048aacee94c7dee699759cb5e5726bf9b904c4a434bb0b7b5303b7c10fcee36bb0eb4e59610341f98edd88abd5424be9a5a88b010629e196b2c4081159a16ad5314c56a33d0c6be0a70b84c88bc99de8126920dc9b945126f4458c51bddb87989ccd9640af6a52950101f37796985c94dc948b33663cd9cb35ed10114a53ad84d0f908a599cc283d14a8205bd8a3563e1fb6c340a1e3e03790940138901a2649e993f5111b9287fb803f65187f4031df287ce01ff431142b53d169d34b39067850359fafd8c7a688d2cb91aac1c3ce0b5df9f6b979dffbae75409daef4ab9c408605e385041d9d3d01593f2eeb4fd566425162ea1c90a01933fd9b993c7b15644c12e296d6eecbd2ed1b2fb2a1ec1aba343c625c1fef648d107c5a9e9f5eef2795b0a141dfc257ebbab3c0902ecc78ea906d63fcf09bc8181d63bc709be836160dcd0c876a300e361bc4e33011c833795c5a2fca386bd80469703c563cb0c04c2d27a546c8013c83e3608665324fe9842491771652ceaa79dc0a2b6977c2afe58f082801efb591d465fca11687353f3e6121166c43745bf90dad0d5c1f5b50ef4c59250b180cdd3719fec6ef29326b2fd99fe44049d0257b755f6f12cea891a61b57cc4c53ecca7a11939c08cf2ecd8984eec58698edeafc0786891c41758138b020df323c13f79ce9dc6cac8dc10d6a666a8a144d7fc7bee4b17374b92d1de8222436941893c05570082f30d80cc74424929de0213827d8c83d97da0a67d1a1d791a1af287cb45363cb3fb566aef1b30e64d646d261f9898ef3a6f006c7c858b5e704c7b498da2dc6275591abbdf99e73e0fc215e8ff6150f2dd82bb4c3d28dce885b9034d44bc20c1b99ac4a7c65562ad9eaa2df5356d6709a3ae79b6a6be09db40576403c04ecee31b392f6d60187c0b5efa238495752912a5d7f26f2349b4392b0a1f2403acfb4408331f459d53120dffbce2abc3a2dcf7a3c3d16d338a553a20bde950427ff58d79093bb9846ad03c90403e7e9ea293ddb9f2f2714662dad171f7712a85104ab394960c2c82dd530a932bb30d8b264df81504ea1acb845998ed4fc9469485921073e08a8564ea97cfe04da2b29d10a4a170deb65302ef9902c2e6298c4b8d4d17d0ff7bb79686e71739e7097cccc6708e15f4d496ade0c44fe5ba298ac6c6eb265e57c6a6482bf39375e09df1ac929adc53765af0252b08418c0c0bbf4056805dd7bfa02e8cbc96ca352c027a5e2099e288dabc9181da18369ce6ee42caf5dc1a06a130fcaef291910eb568eab091108f9c99aa5b8fe6878156c5628f5881cfc77e354211f32b2387f044140308c0c5a10e8de8d14cb46999f4fa8dea536b1f8a2dd6c3a4495b5ad3bba22a43a92a9af928dfd470b351c65be72a869771cd1b606d9e92c21627aa9282ab2cb8ecccc5531b8fa7543dd45c48f85db768d91a54f082234aa2924a149d5dad836af6c3aaaa35e340dc0906147051b7ebfb1cb538b3b6aabe28c0390ae2ba650ea92f814152608d46318afdf989969fd23090fe8681f1ce61104f80278a8cb595c14daa8bceb07ae71648a4aca33d9192ac51b6204cbefe6708846103385396e8d36f22c33e9f43197434f3d8c3d6f800582ba951e2170a62ca85f68c94dc9a20b14584c61e0febea795e2c04d67bef1b2ef7e501cc0504ca629fa75630da15251d312cf8b7349be22ef1ae604a6fe7b5f16a4f2246ad5453d36f09c599593beddfff72058f7d8abcd5bb1fd0165081f4cd8238c086eb03301d686c4719c27b45877dd4f61b698d6c42c8de841042c8de72ef400ab909870a55a8ceeef3da74e7ae0d88761908d4427ac6b2227a46127d8aaad56aa5dbbcf62aca36edca9bd58cfac030d5b498e9c03e49d933d0bb4f90ad9df910fd75693be835cbb857d1dfa58e42fc8843e5f1b5ec1add5fc77427dd6cf9107559a55d399b73a4b5a99f7f95d6bfacd62c1b3df4d73854ae656bb465d955322e44af4dad2291ade9deb5ec9bcd1087e843dc661b733683a89d799e72d72c7de56c0dbd5af62dab9bcd45609a75a88518c30ed33aa1c86d31b98b6c0e028b3ea594a1df1cc4b7997d66d943bf15d9708732cbfe3a9b9f352445dc9de4e6338f41d9c109e0c1f2b407befa20c1f52423589e425182e54758a6038358de7243cd41e09c886d4697d76e76f9cb20402f2fe912f496cb9b55fe7cc83bb2d15eaf653eeab59b712a06d28287d0e16c28bb2da2db849e5d74b3873229b9cb44cd669f3687fefe00d04597e90864e74ec96bb6ebd1bdc2cc87bc2da2cbdb16d1b357cbc2a1db22ba3c1e6ed944df449fa22bbb943dcb6c0ea2fad3dedd152955bbd207e8d9b5015d746d48af97366b374762d0e548f0f5535643bacfe5e6444cafbddedc72a5cacd897874ed32f3214fef1cd5739f9cad567689e33a80433e248640ce9e73221e5dedd3a25ca603bbf41171bd3274b3f69cc8659d9ac632bb94b262429572c2ac06c3d9398b3d64731038d431dbebebadc6b1f2eac37669eb415664f3cb8eee661ddc9dbb3211243a4824faf6c7156b750dd15fe310bda5bb8d76f9ee5e6e37e7480ee2ecda60585683cdcbc490cd39d2ba70760e7eae010a9ee73e4337eb545cafd91c0466f9f6d73856ae6d577416fbba46d55ebf62555e3d6481403ccaae0df77998f5c86a381e24ec9a0dbdb339085c0fb219e251e8da43d78eddd725d1b393ac4de8ca2e89cedded230b9289b8b359e5e6cccfa69ccdf343e8e0d0b3d922fa76d133db5db3f5219b210e9db33908cc5d64ebb5eebe2e71cfbe599b7a61b6237450c83e6ee622f06ca9b7d1cebd6ae7ae5dd9a57aeeca2e69cfb69b8bc0f31afd3b462f062ff30fbc011c44c452be4684e1af12433f700954d204ee432a6af75205851de5346d429a07572a0cf5614b070f1ea0945283b5a59432bec6db8e47555552832f077cef093843255e4479376019af86155e864f5801ee1b81fb700b0f82a18b3548295dea1dacc128ef06cd84fbc8a5441f8151ba2fbc7d84a6a0e6d7e4072068634da01a84d418bf88104208613c36c3327284448448932216755102c914789a70d1e4670a3c3d4410316211f172b40dfc35606d704622ad9899949a8d519d74a95faea89d0513dc76668a9d77a3fb0812282adc69244d40d14a74a9893e42ad36d2b59156623a3279e08410c28e64e5486955972ebd7ef4d52e9188e8d20e929aebf5849a06249d8d1145b6ac34ece03e25b9d8e8281923e9bd437f72a2d2a69a505f925816b51fada8a42fbec07d9727bb172f3871220b1da00d08595061de2d6162a830ebae6b2997707cb0bb6443aa600a9962a2de14f820f517a30eea96268d0735979e509310f94ce6a1f40515b86f4307dcd2464976a994abd55994674a82912f8e30998cfcf0050f1f1e179312dcb7016d7455c5f81ed587d23bf4e7eca25a65a8b9bd6828cf6a2fbe9830a87932d24c628dbe558d30e94b30b0f59ac9bbe1c50fd542cd8fc7019312fc027031f1a3e409a422d229cda4639a742f815174151df3ced35380482014b6796c2fe142ed255d6a1ed855c029789a6709946249f3744c18fad04847a1041ae9254770ee253c5f54199d4c644c2153505315638e558281a2420821842e5ad493a680fb2e251b3dc052c7c07436ba04a3033da36612c9a5763c803b6878b21332f5754508218416454497767a87994495931393dac13b10e91dfad70faa0b2a36d23b72070d47a00d844825bac80c5a08919d77a34b12defca0f40eee9d1d79a517b146dfda7992da69c26be2040468d8f901882fa03471a2839a2dea830abb9d74a99bbc1b1d797a50a517ef469fe661698677a3ff66de8c9c893cb146c39b2314e924f2bc9ffe8f0a40413285481eaca47758d23bf4e30e6ab6a2a8f0b995641818dc72898cf504f7298c0eafa78b33f148ac51859a4bb8640306873b303f7fd101c6bf97961fd3657cac116bf42922544804eebc63bcd088115eed5e688c3bf4416ca8550cac49cdf5a7a130e14c07853c18218411c29b473dea51efbdf82edc2952898838a6f7e10ea4a0e45acf1005ee77440481453a0821841052115ad3831d6587e32522d6b09008dea9a4bc28508cc6f1be45af184c38f35e72b7a0c2237d0623b80f95b0a80b6c0246d12534d47eefe00c91fc2df0efad240b6680925f131e4cb00d709b4109ee993e02ce2f0b2153f44935f2f8d13bc4634dd4f8db3448145983109cd37808f9284773444f97661f81023f4c7344131df37cdc40840609221dd312adb8793ff95101370d1a3468d068d151a2a384e53a4af066f3fba91f42a3defaa4710097d77a1ad37def0038bcde6c8b3a1d007f11c7a75b11070d1a3468d0984e8a3844077dba4c0480cd77b1f9fde828793f16a889f95ef23166c5dc91a6c03e59ecd8cd3af8a28753b0bcf9ed80d9d81926ffe2cdf4e26098f568f56bb0c4d9c2d42deab44914f5d8403e9075f0082a9c13b1bc0e7e198d94f6f59881087e997ca1aecd651473a2b3bf7db6c5b1a9fef0ccf226a9afa6b83e057d99057b47cb962d5bb68cdfee71b46722f005b282479fda1cb9d4904a7d35fadd87883e04d4f14ffbe4f1f07b3672fc7699ce3ff0f6d9d4227d64f30f3c3ae993e5928585e599c4c202a7e095cf79b3c4336a3662d9b8afbf9743d3ae9437cf6f7f37fae6f9d10fbcd90c83e59497436b6d3ededca7974d8f633d13814917c80ad6bef297f9b0308ef5216ce649b799ef03893889098e78990f3ab82f8ef52ceba9bc38d6e5e93cfdc5d16e9215b8dce5b5ba845e555ade893e046459b9e28af487b9b3d87c038387d0c1a4d31dfcde8d959b49b74f3fb2f42ad622d92121d0ad36ffc0f49365c50df53aa5cfd7e9456510216fca1560580319669cf1862933f547c099213a3344aa997afad936cfaeb9eee3ba7ccc6a2a2ce93c8eecfa76b3a4327bb24bd32bcd0c55bea5c7ed5b18e66510000231765b6a2c6cfda6c24022bebc10034f5e18c1d3654fd354c46459f50c73ea203a333146f88519ff5e2684303ee1a99e2009499e2759c89c3c2103468b56971d138d851f93e9b54cd30f4048810b2c0f8940251a47b6d3818e793d52a8024b1e707e4d9e13f96306b9238537e00c8b603933c198fc171e1d934b3f7ae818780596479046c03d06ce2e0fba744ceccbcb5388649af2ba1bee784ee48410424b3e4e300d31be60461c6421be0721842f461823d4626a57441a160cb9b08369754c8b5dc1244a058b7065a957436a42e02e04c21c9ed78627d5f0a434da0ccf6c6a34da89e736395a5d7872345a0b4f108db6a2f0ec68b4139e22aa42a38d788e2889b6b068d3bb212f4db0839c585af0bb4432dfcbd1ef35d69920f4c134c1946efd60c295daf53839a20448ead235f3a08830074d4bfc604ec4f00f7616ac48c518639c268a9a266aca3a5816c12485559292722a423deac21ea632eb5ad523c5f2aa015e1c3dee8efd7a055a6847b423478e1cc9c20c1c6f7ba2f600e6db98a87daa11a1078c2888e842093228c315942011c6cca3f31d663a707e8dfccbc7d42d8b935dc24eea9859cdeabaaeaa3e4e98d1c42560d9255a4dd80f466d566b955cf0bb99faf45e639c06587736cd1686cfe2b2972e4589036d9362e9056689f8e2fbbdc313e65fb6d1a0666b020309ee6e92cb36830aff3090f97422cb23830919476000ffcca0021700cfb7f94437fcf0f8f1831b96c4992805c95f4a1b00419469c68a2aa6f88e81b6a546ee481c6b4d673b5ecfce0eee2b04ce83b2b3837340787a34030a9c61b0457fd840c764d2f3a1c70c21585e87974587a312707e4f289e7c0421044e0370bf1bfd1caa638478cfa17a680087064e03307c371a5e2adb61653ee85c11af18a765f309f0f420284041115411fdaa9bfbcf86ba39fe3d4f7f8f35f1b6f4c82880ff3ba62d0f99d803beefd2316ffb4195f0507e26ec8624b0bc0f3a574c37c333f01b9e8d7738e5d9789f1ea07305ee9d67e3dd084c2f2fccb725a145a9228a142ee821234a0f195e740b1e366dbec19303659f5966ab4adb5e559366a14c5a5048db5e43af9a7d99bde9307d78d22ccbb2edd955b22bd3816559557996919edd3ccab6b959ed35b4331fdbb957b6aad567ad59fd8459e5b47a8e5aed9c48e5d9393b3fb75ae937ab3db394b3db8ed0b99b1aee6a1977eb526af3d463e603f47a6d40d7ae8de8a6cba05b894477257bada34ca5dab68ad3b86f5d56331dd8c6693767599661987636dfe04e64358e9a3dbba07a9fd92d73999df9087546c37ddb6ef76a21ae75bbb4a02aca7c840e41af17bbb6ce56dbd661ee1aa8826a76f92e13391bb240b6cfcb6972cfac46c3bd7236f4d30777d061167aed6ebe09599aad6234f46a207b717f5daacf5e5653b7ec46d499c1d97c83b91136b189599bfac698cd0eb2b984b17ab7d30c3b866118863d2d74acfec5d1c4ae691817a2260cc3b04bbb1427ec226cc25e3b06c3300b02a263b7762962a3af1cb3b05bebb7596d3d66b50ebba807e8dba9cd37540fedd86da9c7ceb5d487be519a6f704bbdd843773b462be8d8cd371df65951cc6a94d27aecf5d8eb41990fa36797190f8847df6cde360a661180987e56b45ad0e832bdd9bc1d7457a4d40d1b9d5e9bd1b36bd3bd3e6ff7a6c3a3eeef0db39a0e1361d8cb7c6017ddac82d58a6d185655b06bf31856310cab1876b385d94ab17983431593409f2a761b7157b1db473697b0563bac692f35f4cd36ce24d03352c421bf71a2eee60aba7673874197dacc539a7dd6da612d14026d5b08a481e6c4a187e60dd6ee762da374da4cb7ad5a6d7b76d3653c1e5e89522d9c6fba7cd33900bf5b95b5bad00f3ae71afdba42d751af9beb41a1abfbc8ca2ee517bafe7430c75d268ae824fbbaaeabe5755dd7fb62e9abaf955f7df595fd0242036b5cf66bba72ae4b947351d7a71b8aebaf1b7add5096eb2bd7755dd7755dd77571da755dd7755dd7d539a418ed22e1ebf8baaeeba25fa393acecd2f5ee1add1b1a0ad11cac755aa4724437dfd02ac7baa178deba37f4860201029c13818c4251a6f65a0f7ad5bd9a95cd9dbdb239eed82e779a896082abe71c2f70555950487ba83ac775f7e6eaafb23ab8da5c2dd188a8a0aaaacaaa38eea2ea5dd5bd5aa944af4227bdaa3aeeda9c15483bc77d03dd9aec9e56e75e7dbb4ce41e107a7699e6b8edd4ab73b67e5e3ba5590b77d0b553ed20edd9cd4190e0ea34d35b9c5643e7ae4de8d9b5119dbba96cd6ee8dbc9c688523a974b3dbba8de332faed5cb75d9a7155a569390892d8a463ba6b8f5c883efa14592d74cd8aecf66a4337371e892cc423db2472d125ed6a7772975e2682344dd3fe324de36cde72e5ec768e9bb70ed24ea976ba69a0aadd8cb3a0c6209be7bd894e34d0371b04494db6d59be8a46e377342c4122278721024d43451d38d222e07b347afc3482215d0c51d64398aa2284dd3b4a956ec5b5df98a8a0ad57514c771d7b599878fa2244b47a14f91c5546c7d37a8c669180712fd0251c7aae8d72f5155a1ae72f3cb3a371d9e9789239b1bf79c24a5929e855e34653a2eaae9b79b71f8eb12cbe9b5b0bb9cdedcf2e783deeedca45bfdec68e0149cbdc395ba3be0149cddeef435140a8568e6554020d0a4dfb6ce6e7f990fd8a9edf5137596ed2bdba7a49d555139775bb6d3cf96eda17359765bb6bb23f489358aa2366ab32d34a393ae4305d1711f1181291704539aec6e717b6755649ab339bbca5d9152b34b7d60dfae0d76eadaac7cbb66dfa9cdd9ad2b7fdb572e0e37276296d36f37bb5cd9a58d85cabe7d6e76a3368eaacfbe89a8539ae9b84e51d9addccd94da9ab228bd54536fec17763db23c87303df71440a1019a9e9e9e76cce8f4f5e5109daa3cf439af8aadb87ef6b6651b9d56bed9fa110e9c8245a7959e56fad075b0d51a6b16aa5888295400cd15874e2df70c10a2a11cc2a1b3dcdc3853dc0f7d8eacc8c28c664e4aebb7c7aca676dae957be5d6574d21f5659093d1b8d42a2d30fc15d74ebbb11ba0ea6a1cbcd6b731dbbb0eb4fa6afebd3da5c9734a0872ebb2efb105947374a371a2fad5e2662d8b39b756ef0766a738769ddb6d3c7d738e2b95a8366d1ad67d8e63a865dc7e69c9ba501d58036ae8506749fca370ba7e097751d67659740efe655ae926db7a56603dd7cd365db96bdeb6aa7367bc872df6c15dd9b0e63afe0143c379bd9492d4d77fa98d574dbe9cdde9d9ea6d3c131ab013df4cdca2e6d2d3d400f1d74377a5b6ae8b90fc1ddfa6e64a7b7be1bdb755a6aeae969eaa6dd5c04bd379d0ec6d7759978f3037e729a3a16fb04d4d90c04ee442a21ee5af56a33a5cfaaaaaa6eadb63be5cea34b1be8dbb66d5b15aaae525d110704d6b43fcd7636bfdcbc607890a6699af651a8fa48bbcaac2a4de51acbe89a26facab59b499aca76d0b76bef5e71af361fd9e9374dd3f2eb767ab757d7ea3b9bb7bf3f4014817aedd4ab6fa0aa3abd76507650adc7955e7a3310b87add6e55510681eea9d76b233abd36a1d79b175c5fd90cba372f5814ba8f65b4722549e55af591caa74a0502555bb51da4525d9baf2a10ad6a5555d7b4aaaaaa971d642767331098fb1c3dbb9064e350b9163ae833a4f21ab2f5226d7bc1da6d583a604dbba6a99c479740210b71bda669a01aa015d0492e18f4d155b97999a7935e2672a027d3a0bf0c44e941db06c4cb713dd65cb0e612d35df4d731a4ce92b0d6614da56a2ab7bbc856f9ee72353899586d0eddfad6510a3a5579ad11bdd77336b319080cbadb359bbdb31c671b673687ee4533fd103a587b366b0602839ed99aed5690cd372ff4be60ed2feb4c2574960021558a803a30aafc60c6ac93dca7b436da1b4fad9ece9b37107af5b1fd5de2b2731cc7bdd38138649f23492092c8125d6637b79040dd59564435a14b1ff4f31a775bb65b43efbcd97cc8663abb73b39b59160abd5ed35ab8d3d716eed6d03baf461fa58eb1892f75e981462315d07dd9bca8b0be4b38f0820efabbf2e2c0e7113de8e2c0c7832e3fba4c947474d065fa472489ee086ff9fdbcc06b03c768830327b547d007d199a19fd60414073e8ba4758bd22933f4437466e81d72ddba077d7471546e927928b20f7736097dc87eb2f90706dd17ec125999997705f3d69cb786cc21f3d8875cb7c61aeff443b07b3d8888a37f599655a13c19398833cc331d10bf8c872e3dea56a623deae44a9d46176508f9787152995ba4625a137a76bf4f38598b0768350e9a2664bf63b5bd142f274c0cf07064d3c1f2448a49c26f9647a1651e94c31b445dfad0c35c677131da6ed0b75a2e0d4998eca47efececec00e908062e70818a32760b4d4ee39a9cc611ca866770a1272ef4193df4193df4701b984afa5f4a36aeeabaee5fba549360a18217f0755dd775bdfabb2c9fbf4b25cbaa5e230eecdec2ae165cd775bd2ac1d74949c097755f5d52574b197e3e3078c164c6dbb4f03152c4278927362d684858b73a86055baf4d60cbc7880fb07573b56161d3c2c7c81818c3cfc7c81751c0c06c5980812191b62c48a4f60189b45d21960113cb80d9ae10cb808965c01c9ae193c411082184b0214d82481229c09b14f5f9102982fb123f9f17bc01bf37859fcf0ba260524c143084445873873b0604efb109980938530c5383f9ba34e1e743a489770029e573c0f93a143515f1c680a967a75356da2a178129abd211029499e9eebc2a188939e0095f86811c706c2d666063e240dc529ad04f6f3b048f87af6b33592b448e8571de941df4d8b1794940ba5867fbfaf4d7e79ce6a593af1ef2945ea6e7fc65e963d6c3ba7578fbc27703fe3ac4e21b76722005bb8bf91a879661efbde092d4c198cd6e591d3ce76cb17e3da33e29f9694e1d785d97c50932239e0fcfdbb4f4a83ebddaaa1ed5565dd8dd61fdfaf5240b2c296533fdba19e2c9d25b16e20bc3b06b333dcb0fa183a98b4a7aaf5373a26c96b19178ef007046887624de3b0075382313a9c509a2d9376371628febda642f7b9e8f92ba39fbbc2d533ebb2df3f6b04e59ec958d65553daccaba6ea63e3f5baebf96ebee985e193d58de06cbd4299d76cc5ff3f1d77d37f2f5889dfa3cc438d37e7fdacbf1f07be7a163e2af48a328a3482cc282fe9c723e8b93cf81a2a8f7e04d427de2025356c8e399da00439981292be4d5b3ef0c4c519fd36b09a5564d87164f1d1b13eabb4cbf28a789d2b16151df27aba43d985bbb94038e90676e4c6a0701bf9e294d7023c1afe78c25b8845f8f142f6a728e8082b34e1515ce2480c113f03bdc98d46804fc7c843081210f7e3e29d80213003f9f14a8003f98d16054708271368041b901c62942c339470c5f20e100e79c287030c580734e0bc4e0a3005b1401e721b85004fcac9d9d3705bfe340dc2a90828f3fb3cf0bbcc0531320e0b3022864d669e9313501f7331011f4f11e3a404451eca061a7266068731a778fb689b785063ede9c897d884081731f08c4f138dae39c891f1138b7dbbfa22dec5f30a3a93e8fd9791bec5753faeeaaf62dabfd6d01c3e089ba1abe385d4f424a6a7d99a8e3591c75ebef0c5cfb8820b61fb105d199d92c2b040cc68118484ee3be49b6cf36e3af0d1886e7880d243165ca942933dba765510fcaa8657f5ce06821ce68b44c037f75c643c68a965563fdfa9c9ad5ec53037e61e019a9669f1898be85bc9f212a0ca4f10784c8362654fa976d58547a99e602d3cf374508655701d0e861f09c96668f1163a7d9b1e750383e37c64ead10f139540f0de0c6a181e1c02919faf06c608f0ffe418ba36eedd2742f9645401dda980eb22ccb32faf92ccbb2ecef259332e79cf32cdb1473ce39ff5e661baeebba2eebd5afebbaaebf974b0d555555d559b629aaaaaabae8ee9efa4dd6bb315d5e2f878e7e39de7befbd2dda7763a3efc676964d0afaf94d8a8afddaa4a8d4b7edf4e580df9ebd1c0f6f879b9319b71aea1455bd0fadc7bf189f55514020aeaa53d6ad87ab6b637d8280156315638c112708bcd5555b6df5614b7c5787b1ba65fbd1be5755b4acac26081cff6c589769eb36f156bc103914c7e750383e06d11bc056bcd66562bfa2eea1bc14acac982f7294b4c94ff92cae967a2a302d18c47aefbd07c110f6e7565539880c52f1abaac6818d1373b4d427908a6fe48e1138f7712a29464cc1402c1bf9f867f375aae2f7ea6d69ee03a96e1fc712920223b010402aea9ddfa9ce698c5d1c2805cbdf961a9ecb44ead102692c9f8d3ed599fab3f1009c6773058374f7fbf03f1ca2a27022963611c7df673dd18137ccad07b5b59e31aa80b0ad7360eb01c53c180895459c09019d602054b312532818a7c2404019d580501b7cef4032a67c7cd681f13211be17a37d7f39fe6ec0c81aebd08224972ebd673bae0de289fdd201494020ce1008c4182671226eb9eedf8d77882d8b5d1bebd7218e0501ebd7747952b62da9f1879665b3f50bbe7973103c0f6d96b1f303e0afcb449c203811c7ed0835be717c95bd81298ba902e00a565898fdf7d2761342b5a99e03ced5c3453cf07208018393bcebbc321cfec1bf3b5d2148dc98994e2434031fd361799695336abec13064f821647a106a8645c880e583bcd7584367e6b5a18923e0e0084a9cececcc4c7f33d0eec81fbce08914e8c08a192148dc988127129a794290e819ea441830033f59220c9809324505e083fcf8f420535037c81415980e6f90e9be5883073ebf9f37860aa090240d5df04118b030f3669ece0ca660c50d6e80459321b061e6cdbc67980a7c6767a648c7e4808dc827e67b39328c0ede72113891927704ef0935062c2f95ad4b8ec0bad9fa8d8e10a060ea5acfd17ab4b20a4960eb2699a8e72270868fd46f749ac0d608162084e76622701cc1ab82114c3d9b004beb8ee047144b30c0169820c79002bbe0d733860b709220ef45e834315325d951f982108e30c38e3cc48953a6e0243b38b860074a201142004882c064272788f70427d931c01698b0036401427888d879553032f39e4d80a9d723860fce8138490ade9399eadd20ef458ce00639e0821152767666a6bb23646767e63d07c1d4cd7d69e33bb38001b680c5140b7061f8020fde70c4942933afc3f14e14cf8c525a585993add344750d5e36ed60bac481536086434d4e222c518fbfa85b14f578528ca3a973202748bda5453e5151ef466c28f3fdbd4c2f07c43a74691263090c13b71e546c7eba4bc7c82e599fcec3cbf177c3d6ae611db356d7b06e451ca4ae615dcf233644c159073c7df472588ff8f588a1c4b3b8c7e3d7c38627d8b2de523de2c62daf470c26f0eb11a306988423f175dff46ebc07314f34c27cdb0b8cbc77f81defb23ffb95b5a1deefd41fb6d4df0eaa21f5def33b96e7e19bd66647f50a02d5310b633844084981113b182797c08c33a6e021de4f144ab000bf0fa1831f765d8c06c314454dd324a58c3176377c37ac29db0177587ff6ed78c73e653bb0f75a7a9c085cd958c7098273ac9ea9c33e15c530822f38b5413e5b13cc74921778ba4be3e899a9073c4dafdd64c47c0fbe073d309fd51dc910f968595553950c8f8ea978e8a1ea61430fae0e44e390334d5e0faeb0e00157d39fad9a403090c280abc33e94280419c11003c718a308e0c3e0c15d335f68894a9960d80d20b9441edcdc90a03261cbd879462271a63bdcf54991f2e82cd942124bc29841174f5a30f3328e76e9d2a0e692ac6128c1d133dd03ee1aaf88b7270c241816990157d4dad3f9f440083e3dd801cef54de81001264face00a6358031363704122552c48241898ca0303b305d6b9020b3d52c6b003061f9115303056f464452c032696018384285fa89e9010cb808965c05097a21e758ba228ea5a485014023075ea241b60ea26a13e2cad1989832ae00532425d522b7e3e3c6001fe65f9f06008b62c6c5525c87a84d25f7c7680064ce1e7b30332e07c182c440cc39c8003ece69b178cfd590bbbc4aea5030a22b10686f9ec200a8cdd6006c3b0ab12e10924b1c623e9d8019258e35521f84031031f288ce05c8f833a041229ca3a8497974a459b01064ced62e4b728356f583e1f4b29638cdbcb01534d5575999eaaba53f37155551b55ed98e9d3344d1305d343e0a11872ead2f4a4d4da91628c910cb2ca699251a0284ac73646cd244c913a86ba4b0953945d915255105690fa826561d5ab6b53bd6f4b4dd5d8859f28cbb22ceb96655d5a87b61b868c9aff1709edec4c07052908c68f0ea00843074a601bf8f9e4c00bfc5e061b2a8d289f1a2c0046ad16cd40c3ad0dd349b57b995030ebe6869a37dc1543280198340fbf77d750e1df01668c7ff18c6c5d60be97976d69a852a69f9c400e9ae017fc7c90504155f213bc2d35d3e1a74b6a9bf29e7004923ac5e421d5255e6f64d8c82091742af55d2dbcc2bb11a544a931803f51b418b3885ce0387a8e4f56482b2ea01a12713524c2a153c161eb822854ffd04ae877e5a1df9085f8a7711f24457a4ee3175e1cf6a701807b5daa562b0c0e2191cb0a69d413fa4b0e03c8e1389022e2691b7b224f0c6a9646a4918e51421e89340e802852c800a26001c4c79ff8137fe2cf7318400e770969f52f87d98e97b7bc6f552f6f79cbcbb51185ae857159218d1e9fc30004f0f743f60108c0e840245e5921ad1c67c32b2bd75e8da815928e00dc961eb7b936a210e8e5de5f0bc0bdf738fca5867e03200281ae4d1585ae3d0d00c064d124642117220b9d3c59215928868551ba143358615079c8f047074b74b35543b16652d65d18184dd340df64e2762d89040091850b1f1c7c11af9c26232f07f6d111b5ff0c733deb8063cc257c5d4cebe9924b972226494ce09358d18b07e7f883dd0ce9445d97568fd893afdb727dbaf4f44626d7b52c20381bc68e13a5c5b8f0228ab153e408144aaa6092859328423aa6a57c0feaf2e68be7310bdb07074222bdb21eb1a74bddbdb23a869a234f67352d04cdc3d7df33409e87dd0305789e89cc7a740feac69e79ccfadc400cdcaf32086c87327d85772366d6c5819149971e9c264d5ea6b3c828c012cb7ba4e6c8d3f32623f805c052425f648113d514ac32f06902d619d489f413bfa001821b9820c518a8600208518bd992b230aa553052b059517d6c00850d969010c28e2a3d52ca891a75a1aa2aebf2b10118936218864d8aa940a3599665da46c1a0d65a391068898e8642a15027d27a30a22a2a2a2a23923c020b5d5959596169e194800375c97440e87297958c06e2904d00bcecf9d8800a1f26a640b5a02130d0d004174c84f1c5168617aeaa832b9c08010a33c882912151b802cfcf5b61010f92988289286a38030925f1c709279c308217e80583ebeac1891d278a78010d3be0e75303316015fc7c6a3085ca07124ff4e588d944f3708411c226051842133b5014210d6484f1ce70062c9c7862892628b18544623a9111c789e6e138b5ec688827bba3319ca26d81d3cb2a501b77374dd3ed6ad5a1df24e2885a48610b59d899620c5498e9931e0e1d257ebec0240646204212b030d3ffc3a1c3c40dca78431648a4a0073798e9971e0e0ab0c00a5214f9c2164970c3cf7c2f2f071569ed482e7f897f2e8ff4ba577aa5f85e29c64709339abb907007e18d51be22d88a66e857a722a61445c93880abb5d610ec6045abaaca74d4c3f4a0c37b13bf4f53a6d008cbca6e653459866123de8dbe2e2c81e790807c00fcba97127e359e009e02b0bfe7f0725c5cadb5f2e0d1d28564a689870378845aa696962612df5dee653a361c8fc7f68ea09b8360100fa38ee52b397078fcf472b83c9e820a6879bc3059e2d0c6050e160a7937fa2e160e7937fa2d1622010dd067b12bf60775d2cda5d1a5ae7233a929215d0783260f47038ea0839f20b841085818e1e158c00e1bb220c5143658b285990949e83231b493d3305bd4871b0ae9d2f6f3f3c3fed0825a811b436a863bf1d042265de2e9120c851056b1823250a10519766c7086274508556061e7072ff859f2c0a081144648228a276a70e23191e20a3b527e60859d2115c8a653b68960cabe275f89126287c43841f0f41a89a79b8482427ef80177e0cfcf931f087f78a00c1261905103284c48c1a20d3a328881148ce862e70789920a24d1862f6ea003303ce1060624b105364451832dd88005ece9521fee8c2898e1ce08bf9d88e3cdf412b88f49d8f01980fa65e3bb41ddb2f2dda05e0dea2e4b8830f50c53dfa92ea420453564c2734149d486813f16f6423e1c3a46d49004107ad04304358c61a60f893c1c340d4a20630d3528030a36ccf4a1918743c709319c018b2249ac78031566faf0c8c3e1811b3ca1c5138cfce00a57cc20e912bc9129d228c29430909a5ed923aa5b31567fd590f93209dcea6de3edea322d136dc028304482a409ccc3044b27336e6590dd45cdcfc9d43b728c0763cbae2129a491b2ab290c556e62a8d9c2533360ea60c3eedb7569821ddf2073347e6fb2d3252f4b6b97a47c35248d1b02c061a29169e069ba456fb66649dee947b4ac78b308c3e36cf3606b7dbb7703fed1f74ab0043b2c2bb524eedb2fd69050c2e94797a643a1d4305fcf3030d105263191862ebd10ccd7d775559755b90a5458555595a4314e524a394929e53461e1526b354d92543b6a9a28b4eaab959a268bdaa2d64a2f480901b1751e1e2153c01675d9c77384931eb5ba7cf252d62a2b26e4755597ed36ce872ed52865cc6a32eb49494dd33451d3344d1425276aa272c023c6b8015945ea9645515405619ca8094208e3042319828832c28e0dbbc075a04b34af7f5d5176b144c595e425bb7bea2ac6494a292729afcbaa2ad9d34e734074099bd7c430acaa5e452f5aa93a5194e584685956ec34ee47976a3fc6be2efa647c59cd917864878491828244a2de9b9c4c972a8590ba959264b78c314619638c524e328ac1dd3c2da4909e502161b7b443402ca7e672ba54bbd4dd2d3f4d9dd3317694dd12c60861eceeee96b2a38cb063c32ec87e928aae2a1074097b5baf9d95e9b07cd0b12636c9acc63a8659d555658c31ca1829caaa2aca560c564ad45a2b8a7a13f7c344a23ad341514d6b94d344612185f4848a2825d74397aa94d473fa65939c609ca618a56555729ae224e3169690427a42c55455cf015daa9fa4fcb32c0a52b9e15449254858764f364b3c5d6fa22a4a7e9ac6b0c45b42898d9a26ee872e5d9f6e59d5045ff5bbeab2355e57559d0aaa8a94b2a0c0cfe7481638579f233d3e4794c0cfe788149cabcf9127d344511345715d01010c4e403c355601c7fc08f98952052b30218a99f7d7152952c4870652f8cc0089cf0c8cf82821a408176288c8373fb08555b2c2300cc3b029e571b2c62e33991dbbd4286da1d9e5ac36ffc0f3fae89a365a39b682ad602bd80ab6828d48962523c61a631d6196ad5bd77ee069b34b69d563b51ea71ac993aa0f61637d741bab56cf58c52e4e75ecf5d6dbc2ac7571e44db282960fa1b4a5e594b65016964df4ea3291651bad8c5e49378f6ebfd66a59afb53e5baf1646e9adf23596750cc3b6c3db50cf56cea8dae1149cb363c7ac856186dd7ed9fb66ed663709fdcbe6ecd9dd7d5b7a60ef63b7afcaba958f0cc4f09181113c9dc6400c3c4d5311534581ca20b7cd0c35ab7451b3a5dd2454528e92d3b38b08cb8cbbfcf470fc085dc2601b3622e838f099082c2fce9b8293600fa39ba8044c18c98398328668000000282315002020100c86c442d16838cb434d900f14001191984668481649b320886114428620630c2184100360004486863402e9bfd488237b6d5c170d74196fa3cd34c7c4ef62254c200fb794d271600426648169be4923969ef7026261c5759f7a619f204e2be2fa444d5ac092d667cc00887e959fede65a19ace48413bbad50b70a95f44a156ad1352f35187da8957db64a2a96422d53e003b872d60a8c94b3ca741670bfe1848cd0a13a2b83b772cd870ec695192cd16e29570fb4439568e2351c251524cfe7a4060d0ea003a30b3fe8adfbc92e224e1010511fb9ced932149465d4363217c923821f1e48d45debc4b01ae4186609e78dcb70b32b80051e295d293e4b35c0e442d15f4559e877cb1ffcca17f8abe550189d3ec271b825b45a346f0678d0659176406649f68618976d7e8fb6965f60906ba0992cba52b08a66670b106da12eae3ecb5c1588a4588ce14f8425b543b290f098f24d9d51f36a92835349e9ee280bb732c2255c794890924cd4e6132e5a6da135d3029d11843d8471ce395a3e4f8cd0c8c33105bddb12f423359c9e064fcaa965af5a1e1d65bdf0a48c39bed5315e6b10239493078ff881f860de55d04aec0a7c3538bf3c0ab0d8c4adf097862eb769107f1b9d3070000809dfe38171551c10c6d09661aea24b2b9309dff686e341d9ae4cabc3136af60725afc5c07a0bb9db83d7cc85022b2e74e9f3cda3236c65e21e42d9eef463f054a35e78382ada5297bcabafb8fd3064846cbbf4afbb4b62a03ed04b623f60a74ca56a070a6da8d7f33ffec490e7efa367ee032c6b31007f1aa6dc6abce2f9d210364a434ff44bd786f98d7670fb0800b40c8605ef1ac64d565f68e5be16f9630568f64d764b1a623b36e7a23519461afec45183e9e2c0ee6d97d2001304abbc68c40401fed0ae46c68827e6a1b315fce8fc5f92acc151fb6713f4f8a80b05f146dcb3b1ce10cd0c13be08f747aec6b095ac2b12059ed7ed808276d230e9736d27f82950f2369ec61089bbed5cb91c8cdb6cee732e4488aeb5d9f4e57f1f29652b66879b78e030d852de3871672d94404f5656083c8fa9c4ba76e58ea86cc691d0fa45810c0b360a6e0539e77432d17b8f482924e380e48cb4c9815e8e8bd7f13f70486e4bc4e8af6aa061d1c923efa8fd68372e3502671070b58b2b32de78e05002899a2e0b41736f99f1922114cb71a3d2cc13deca8e4098de377869a451754a0e2e79da93c34039823c06a237510929edd0b8c639a24c89c2038e72bffbe21ac65413fee827197cf0845a9f334e0abb78d60bc7ee1910f442d540890dec1d0b8b314b97897ffdf936a42686927b30dbcc62acc0ac73a22874c1109456ea257cced2818b81f198cc9e6962c469032af215886e90286d3395dba71cbd875f2f9c7621d1fe13633854e0544a16e86615f15c64aa5791368cbec6c9f970eedc048ea89148bb1de358e53c75f785c99fa21980881e367bc20194c8216e9532b70f874e63fe58726ee913b01460361de47057cac119136474b710d4722a027b5ed10a187946b4a113c6c600943648e2364972f00199f82ccfa0826d067a958902bbb67837edc41167de5a2ba0bd5de0bca29ee767247007fa2bf6d6dc34c702421c1daa8be735e80059e61926f9fae2d0dd0ef691ac3b20e6afb12b7bb9bb470f9d48e771ac7d5c733dfb4378e14bca793e93ec18bba13f788c39ba03c8ae8284eec66a45732af2f78e65dcdd62a1c7b9e2e94240a97d24811917ef81b1941cc04260701b1ec494252f92c4bcbaa88889e7b3ee4d94b2b54ad7d842ab2aab347f21f873912483165af6cdc9d63fa14f40bba73c4a8d6f9ef061e4730f8c454de02a59900f81935e496c57d8e522495e665ef51fa91bff62deaec44341d076b80d0dff5ccd193ca9a3da8c2bb121aba7f88a3e97ac4592661c1bdb9d2bbc68616e9e7374abd8a31a9f149f2a66cf05b5608d6a14d3459286508b0b749af12249833fa1bdc491de648b0f68fba309b8489b99ea95aec09312b77f046fbf2da5c504420d7bc9dd9124a16e1e49e7efd21d300c78984bc9d93043f0196f4d51c3aa11034949aa5ef05380fb464a0b5900505daf39d50e2ec0457870ce095c1b7aebeebd4852624703ecb66808f80940061a927e1a9e6ef36aa18df367e2649f0868328ab0ad498b24350fc7a2a78a51d2798fb53d52874a7c1f7e17337f14711cb7c109105075add28fd111a549c7a430db165a3a64bcedac91a694b259242984933e6f5220e65b25697b90a46ce648c26ebb4b55788b4142b0f46fe5733d53b5d8887142dd7241dfe692748c00c45cd87918f3e56e6f86d17a466631809fd0284ea44b92b2c01b5f606722f52b8cd61d6497247aa947926bd1230ed9e94a16089854c85ec14d525929da15d2547a073749a3e15985be76d31db0b062e9c6ae1bf64cf99051b89d6d750c4ade9728492cb44e9458b2fcfd4e6f61c7732600e33f1e0e2380013c97bbce630005417cd2079ac769fc2534c0b719c3f07e6e0d84cec7022c25999fd6ae3d05c4023ca6d23d7db47b1da699712109907958812f9b8d508365a9eb5067253d66ec38b1fb8431351c0df5d21f2fcd29215bfbdd2fa51c4eaf5e5e0c3fa5652cbba03787e9d8d478c602bfaa4c1d1140c87c960275994520daeef18635fa66665fef424b6ac5b2803220be30f2cd099dc82dd932621955052c364a0e9a94886da4a635d84d647ac13943ca32f78e389da501a1556bd1691bab5f334d7f353a2c700f8e1c0ad0fe274ad6256f0774e3190d2089410bf9830c00961e5b9abdcc965d35d31bc0b3dd6fc564908fcc3320a710e0d42c1e51cc2a5317479d473e99cb88f0616a2ff47a93d6713242b13275974528e1e75475535f1132a84609e01351472f1457a7d5b48aa2820abaeca9146d22a72e22f2a2ce94b56665732606e8538697fb99ead646de7c9b5822dd230b4e5a8a81525ba0ed0422a4a3bfcf4f1c20ac52154c2a3dc1d02a6085ccb1bac924d21eae8d4448f90a878755317745058494a251b7dfdcb18990ca313c023735a3914e29a5bfe3e32100cbce156d19650304c84dabd48c89dedbff7d7dabd65322c5cb9ec9b4d8fb4e1efbf052ea4a57a99516a5a7d494da53c23d99a2f3dc67a8243cbd58847b1caee7f82bc75e703a2fa69d05ca8871070ef7543d1e11d6a974e9b36acfd3bac911518f7ddf2a8607609c6e7a18f3ca4eaee109f34570da5efd1154f0376db1bf525abed44824e3c22dd72009374a790694e2ef4d95017fdbe0b620cc7e6d2bdfb0c295525c314ae037ad68d8d71362b934ca6b48e14a09ae8022f4db5625031a7c51a9a7eb44477fe12aa0b22265dd168ebba82b003a39a002b45aacc5898812ffede8a0a59a8e5e9500741181e99992fdc749c0c23ce9ec4c09cbcafb168658e277197b243642621a1f3112fa181a852f98df448b44ced70c033309d2208ae83802af327d9f09292b9faf4e20f5dec1141b12d7d20dda94a886f88c428119088e6bb924a5a514d68c72422c5ae560263c0dd140b3203c840364d0235343a8da6d3e62fb9057d324e793dd3659948cdfc8468b5e10bbd345bf4e2864c79354815a71b0d5cd304745632fada2cdf8156311537ae46534557983ae295e6e2a0135856c812da88758422026dc4065f29e19e4ebe244744a63bafb0f2649258b2b82710172afb9b9b96ea91617ca663ccb5cbe606ef33c668bde2344a98d9772cb0361615a4a39d707c7ef08f4571f0a86063376b5cbdeea38247acca58b255ced07deb01c82b95d136e30fdd19d51e6146cd40d8665d0a23d7cba3737bf614e5d51af94aeb5a22ab69a89fa0545a79b8f00de2275ab5a6c0c0a48b994653a837aa84a8331be3d9bae9a292c71fe1ac37004ce87d80234c4b25544b780708771361de298bb59253113e21e84b1f36c4a5966d3542c8b5e6fe67080f2a18048213fba0e2a1376d98bcd4a94645d0e52fce1cfc631431570d20f4dcc416cba20756817d6d4e5b1b4d6c11feea76c19e35564e1ede5e69f3e788e30fbbd4d3025a7adeffed69f103f6a719b7789853c5d4e0334f18cb390dc0e38dfbda4ca56026e0894aff9de22af1d7f0767caff58bee9b9229e72358afce00b3f07ce491e8a64b629a52e6e7989947402048c63c0adcd503c9284268b9385381f912748e30331eccbef02c9cdd9d366da450d04f450a7d6e6b53909d3a10dd878296dcf65b8146a12204098ddcbc0ca3de284adfc725553066aaa9f420e828099e8d25a0b728a5982d7381c5dd5e4a282b60d34617b97224ca5ae78c549d61bb52985477baeec9cf1bf1016166844be046a6e5d47c990c7586a875bc7b31fd99912daf0796dd73cb7b997e25286ae6f51be92f5e194b280c6124fa20e5a4178f0959d38d0b5ba4d7f67c62cd4e0cd9fc818a1f22f692ff1741c9e0ed1c916deff20e52766f73be5a5f3c35556264ccdeef859600c030fdf2b4e1816b0f222b0216020fcc9b46be2f6c7bb3536cfc9b9ce8dbfeccbfd8bffbe4217ba470b1d3996cacc22258a447f2a06f99e23768652c2330cca47440139211f205819686b52d538a4ad5cb50485afb23fc2eafad2214238cfbfc1bd2541def04cbce2e63fa3ee972c79421e6667e2637d581928b0ac8a6c3fe443e286d68a8f27f8e955aa8e1cab68a84ec75bba20bcaaa08f3404627ff2670c61493aa7b5f382748dd26212e4881dcfa7c82745c06fd40859850b2c0a4c46a874ca8d03b8a97fe87239afcd36f2b383671cbcfac71e4f00c816a3a1dc7971dc3cfa102eb55d2013eefcbda336e4b37ea61045d3732dec333181316819c390fab4216e011bd1beaaf675628881136fc0359415e8e493360ca4443e376da58f8905e3cf296b5d7f37c87eae5d3b17bf9b27e07b9022e34415f320cb22bec452369a385373362d2d7a8d0ad7da9ba6b7e6b58a694a58a5d1a0745d89e066b41abe01bd278f994ffbfed386e5497bdc1b8d6049723fd8f4746cfd806d39843a73dd2cf86b4dc53e5062478b1f42fad65a81d5f0f60a58990496a9f602138c56594cbff13c419260fbe4546be7bf7cdf9ac2c6d1e709f7f3f980ad0733553011b3dd70131594cf5b2a25b1a304bea93ed473cec59fda31501bce29e7a92f20b35ec8df86e749203e9b5e04a61ef69d0e795fbfde7f1fc56ccdee3b90dda8285c12b66150f9d74bcc171dd67d3be4ec974d70aa68bfb1354ba3568cb7034183b96f139bab0a86156d1148befad0aa1a0c246e1ebe06c3cf5c1a7b87ce82b4bc2a281884234f9cfae97b18721d46ae45f151078aa6eb5972d5343ef5ed60c11d4a2d0c461fa7c3d1a1809a831021be8eb81057a0c12b197f7d8f44866de5ce770eaecda41e4e65f3448f84c0bb57690420e5a1121f1f1cbaf7b268e64934971d4e65bc3d3667924ce7e2ed5584c018e9c689a5ccacd42c532710e08db8c1d063f23611a4a39c1e26a7d8508a02f263534571ec1262e10e8eaa71b0541e908641988e6f50e57a0a1930c8978f619c1cfd78151ca074fd09d1885e5a0e866ee4e4623b9d404cb1a6142436e67bfe3ae5a19ae51e5177e8321218ed886a24a86140f525f18c1010f5888cae2b77fb295f5ce7205144791afd826c417014d6ed68d3917cfc13be10345190a76187bff3ac3038b5c9683e09d33c1ab32a975745a30353f3db3f63906b8c9824d87b6fa52237c135a36c64493d191fe25cce02c59a952bb04493981e1e8bbb71368886e01f4a19a7e77caba19b65da3abe2571c25e62351e8df1261b16773610808e40a4916f89d5ba3c3a5bb169fe19dc1bdad7db2e70d61cb1a91ed265e56339979e445619c0d9ec863b716cb70170af5306051a9fbd80a052a8a9a3d87f8f3c4dbdc9f506bdf0f3c5e75f42040b7df0266b54bc3a92735c10e575d25f32140df11f16d44b92decc715007b1a1e22c23937767bd5df3ed50de3ac116e95cd206e53dffaa278a4f9d1bc4e07cc1c4e6dc13ec5512f54323c76247f3e36e8ba98aa1e1d5c3c228e167fc88c07fb948529c611d49b506137dfe14e82285149e21fcf9df7d079cb4a34b7d7aabeb9bf3f4bc15e31e9a8db55ef8d4b58189bfc79d9b46745bf323386b87a2c6d71038d54b3595dbece8cc714fb85fc1471940e190fe3d8ce7a4600cb0ce789b6f1cc79438cfc1939da1c29c72f9bbd898964e857b6fc0efb97758cc16e213921973cf6f4db274f16c7b0c31b81eb0bfc16e9940854b3200091c498b0858109074937a934f7212b11efb3300ccfa421955b0188cf14bb372f4ebae95cb8af94dd3b480560e311cdf1f064b00f71c07fd347fb5bb344097fcca2bf2f38ce8bdc29fba9e1ca5695f5a57f492f57df96a97b02663995e1b43d6b75289a3624374ac16d17f9605e44256013a9beca9f5a9882b2fd455f2a7058b665167e1ece33c81dbd0b560171f552f63621a3baaa35ebbe5afd3ac8aea018dad90edae294cd04c890d55c80ffc1953d26c0b4374b11577d29ea8da5402fcec6d53ac056b81f8a44cc7005198ed0819b2c69abe354977b058cdb2d91030e4c82a3a26602825e4273502a46fd12147028b612e8ef23399e107144e0a824a8dd5045aac2f43e541c824c21358e8eac276332d340538241c090b93d3cd63f1690790b407190e62324214f938569cdd13282ee19897861360cb60d86111652244f253992283058ef32e9c9480857f4ed7fa217646ff453af408c1321676add06febaa489563e1f30e7aa82ac7934ae6a803b812ea694a13286b50cef9fb61700950bfe3886bff389124718f019906b36f302676f5b177da52c11c7fb57a5f2c8d2b24f51050b85a120369fb4da408e9bb2d68a121ad37bfd90cae2ea49049f23193d0cddf3dfc014860e91a3b53ee9a37d80d920725db37b7bad08b6661bd26e68b4348b5e814417bdad5cd4f51a98a29d852539c68b29fbb3a4f3d386a0a24cebcbd26035f6d0a789172066dc4b372216ed05b479bc634f15f8779a0aad3c91533b2b7cdf27078847022333e63e5715d530ec35b7397771e63a17ad25e751ea9ae991c60822da5e7d258ef5c6583857e9e0b4e94c98a35ac775ba8fcb6ad9663b8c21b7379c64cb6c073c103af7cac30b2660a6b8515dee28dfe0617c3571a3ffa621dedb8257d5cc5bff06d66f48c5cabea5831c2dbfdc3241d1ede12da2dc26974445a398e60ee7d8ec8faa7d59e78ac83c6d1cea1b4b6c710f443b0db93527b389ce927ec5867804317997d0e37f1805fe9751f34063e9fc39334a9173db8ddea744c3070617375e097e25a51684dc04d4ab2bf02bf9326f699874e24e94a185060adce4b82d0a88f0974d99a2164778544b4466a97bc52bb94f395f3993fbf30708e5bd141ab5bd6dba24382fa8e5cbe116375dd5ff6c548765ea3fa30a5b6966f660f8d75af6ce257e116f8c63fcf031142e2f4120333ed8349658737c1041baafe6788ad0219c4a001e4a1f5de06437f61b3590521d2477ce5532279501b8ae41adfe0991cd611dc527110acd1b5a07d6f366d30ae57a748df0dc9de1e6fcefa155220e91fe43b67908a2d352c63441be935dc0109399a26c64de26f56d23932ad78081b35c410ee6e21c14cdc69ef42e049becbf685edae2e4c67032edbdbe231b18fac84b5494513128e6a2c9a0d0260c5e53d01e6f06aa3b8d6b7214ad9ae4d844720f7002c495b5005ce25580a688b10ab33bf9c34ad1b2b6f34c5f30f01e3700886b1e6808bdf73de83e99f6471af8d32e4e0b993592613b8c7056557514d85225f2e8f293ebe31fd2ed15bcaac74aae4caa57d08119caa40697331c44629c4830b02a5d84c36c7bf916005e52721e319aaede0d53cce6669602d71343c2b4f96d53d6102a1cdbc9b8894e6b412bd0aeac91a3a5218b1413ac67cf915515d132f8f2d68cb80c3f5f362f8695a6707b98ac022c8b8c8f0323b01c67ab865a93b18002dd3cf4089bda5b56e76f78b26b4df8cfc8db0e84b47331a641502f3caf31e54bfb5eec96ccfb3959dde833807b6a09eb2333da5afbd724ae4f092e2b81b31ab11a327ab981259fd66c00a9a68ba2de39046702de07fc0a595e3b6b4ffa2a185175b36148a6f3ed816030d35ee043e6eeca60432b846eaa8f3b20446e182b5745d00466dd5fd26c6c2a91817c4b967f2205f306e4a4552ac9b1df6b7388032113e70558730aeb824b3dd6d42ee7dd5c140e85b3f866eb68c8c27966340ddf5f67f4879a61075ffe0f0d61c23a9f19b50c207a12236798a1301823faba4f15e2375d1cc878f23589594c510477b19193a352d9c8979e16d37847becf71c3c1dd2653e8e58a2ad03172c14ac08206b6da7b10a48418465a94e6e899674157cfb97766ec80bb2e9dde90929090d528da2b98da7ccaf5674314269c720a5889a31a0af9d6c4952eac2a6ada8fc8313fddee1cb0ae42822bf636acfa6c7f06601357005f554b1fe5dddc09abb1fb6df99bb739533e2dfb537fae391d5be184e62ae6aeaaf75c4e748b4cb57c59c29ecfbdeb6e647540ad7adb56109f1c5725bee8cb0f3598060031577dfa09f38c31b90839df8ff8fcda405f5fccde0358e0affece39804a78a9a9860013ac10bd97bfa548c9b8188169687dad1f99d978d51302e1bf669d0208e9f6dd6c661c32cde35a8da657c6ac37d9cf9b5c7410daba41f55d728950a65dc0551f6b2b1c1da598efcebe9dce3803d3c4bb9a3d87cae3ba0333de680805335daace03ebf81ac20bc9142bb4de746cec522660812d83cba468de63cf5a2730daba1de0c52ec3c9e6be609d33a344f93b1b3880132fdc1629a691187a06aa873ce58afa8e050e7362c18f84b1a670f6db16b4266c1966b928ad93bc6447a367b7e7c5eea6eb9067df1607b7fd6d43548f6d77aed5250244517ed254aec13426067df948d3bb753ffc3fe37e20ad78bee7f7fa7ad30fd27ab60b9373e95f3ef4933f1c5b7f629ef43660f1095f26085e07a325e4ff173a05041b9ad962d310aafdf3a6abc26c4609bdc7fbee3c6ba06f9fb5e83117d89aec66654bc6969b29e4611e31158a7f6666a42ea7eea0c4fa7d8ef911a8b64a420af681e725c9f1614a1b860e1ab196e1917459951e11f073d30a322e08cd8bf608f9dd28dbca509b08a2ff299bebc6f51e50aed19159d5bb83cf10db4d167a9325e22efc1e017a1575378083d52f86736b81adb032cea030cf7975260d43672e13abad09d092abc4b1afff33a276d842caed06965e054c5a7a10c332a5a23061673df2eebdc9ba8bc9936a9540ef691c62d5bb08798b3a84d9935996aa226488873e066cadded190f887264c4ed3c6c833793f2e29b62a1ba987cc8a8a050215a046a3928976d4442435ee47157d473e8b4de94c3cda858dd9ba6c65e591c4dce5730ae4d460565f6191e30ee85a8cb3148fbb7068c605d702ee2bc3a0bb3444d9e6db1a6baac9bb49087178c0a8ad2926363820cb3274ac8a15a59f72f74ec38dd167aa483a77f411edb4d7f66b171cf73817def1cb3fc84fc0a9041969f308d9cd3db732fc2432b357f6b48a524f3b41c1bbb9fb081340ea582c613dfc7b10926976750706a7f0b1d305f458bcce91877d7ecb006ec7b2cd6da2e7487b2c9a1ab3e8772cb4fe9980736360c59f8aa96214ad58305d2a63f578fdc5b85aea5d9cdbbabb92659b1075a7b4b754b8aa41060b5f763012e0c958b56a9bf9e677fd711175d647329d353128675861bd80eae5821072f7b6122f00ea2971e4ea469654b6784e44b7e6039a0767f7dfb0ac6043bb1a6c2d49d96dea056c970a8593ef7e98c250faabd93a542665179c350ef3654926cf9fb6f666b8b29e15a9d76b1f7260971f0cb65c670298cf1ae7f8339d6b2230a8de30cfedc43f9f2ab11665fb138f23259d8060d385510cc138042c278dd5e5cb35a9c0c4e518dc095f60cd1bd4d3b6dc2fbf5aa94ea404ab1d2f42e0627c219900e51470e53382d10b24260cdd623fae30802b7b35313f5fcb1779840a6cb5e803c173eea5d681a6051030d343ae5e7ae18145716b3d33574386ce247312d76cf39f3ad55b38eb5b1927b2a42783f0dc02d96d03097a305d98dd7b0653c485b927dc64d2d1e8867f5f171f9e3d30acc4c92199b039c51c480e12b216b5a4cbe3a668bfc8b01489ca4a1725283ca45b8bcc22772d083df5b1f087e96d859bd6a06daea9e24fab520e99aa335fccf55e812aad08f7e15353f8f3667d7d50ba5836cf14b80a11652a50e7a41a64b3bd5d407901556b58fe5aae3c713607c7f7b00ec7780f5620052fe00a15b347b94bf7a7f743296e1dc765b15a0021dd92f6977b0c17ccdc53f408e92be4fecdcfc01d2f7ac50a7962f1c547fefc2631c0827d73056f38713efd9ddb56bb1a66efd6abbb54f525dfa66da434c3323e0ced41a3b62a6ce47a820d2c404fce695303b38219d044368361b7353339338622b2e2201eeef7347043e16bb9384c059d9858eedb9501c48af610e72b4f3dbe14577d4d9c71f15557dda5635a4c2088e2d52f09806586f97d3798ec028eabdff8369d35ce9a65c345ce592eace44b09d20c1e7754a7b3ceac360d037ce90886f0c58d4775b60276a858926c1abb0476f6fe71774f9bc7187f7396c47516db3c27954ea90807148f843810efcbe7bf3d72da449aea2b14d67c379eaf5f833a70c9e66fffa880d7794b9b152459c7cb6030fbda0b6aef7d2c1b0ca4709a1f472e6db8c5b54f5b644356a0af8e0356755f9afd35aa16afbd573a897127500738ca5462df5e70891f7f32ced157552bf6e1c068c4269fa0b9a1f8df75c6c8b5299e07f66e93e1187246a40d109e72ab17e61737251cac2178e848856ed9a94aec6dacdb4d87e77deb08506d9573da1145d2cc6efe760904bf935b0749ca9ace1968dfc96a8ae9ad75cc374b6b85aa07694b79ccf1afc2c04ad63557ddd7c3b62ab210ea2ff780b110f6522131e9073e7c62e511444297efc8f125a0f374ce124ff047c9c3b3a9ed71872f13564c4de9e239ead50f7a157ed11a26485afc43099be1bb13b8063c23199f5042e1cb109e0e6f68402b0a40afd612daee7538c715926969228f404dbb8de413b0664c8b6387c7458129c6bb2f87e7b5d992dba0d59ef3eea9339bb8ab2e978961942885fb3c1a5b5315922b4c1831376041f117bc6bd6200c1493dce7c1707bc23d5a02b2bcf13539afbc688ee75d0be2b3d1119adbb4838496c7ef0a82abf58a4213ab18f851ee98b40811f76b899623a219214e8e8db94c42d808b23aa51adc756defb057932af5ca8f23f5dff41dce28b9141d2a2efe81e4d0104ae209e804ec6acb4ff27d10479c25db8972af0eea0160df3ea20e41ea977ee68aeb43f15a0342e91b086ca37b614e0221d138252608a7dea1d766a495ff393f8c9abc025bf9ae637a8574d3f201eb493eb5a2c2a206d53d6d66b44a13b6ce6070470f861516718f5b339fc9d334315024d435146006a004b19b7569aaa60224be0cd3be02fe102b73321f4eff4bbd47a120dadaecd7a0f424f4a6648cf626ef0c96891e43683246686f379fcacae5a6adf30e32a73aaeefe325eb7c9f884634fca7b67d9e13eb8ea8642383de0f66e16fe5cc0b4079926e0fb9547176badc142c5630e06fe2a3733c43385d7d9e15f797beb4bc0665330648fa0323beb64642d511999fa8234dcc09d21fdacda4ec5e9f1df0d0242de341ba73c77a03d450cc89a149e6ae0cb81c711646c8068eccc7202be02049ad64159a09ca2114dbd8e74b24b8467a02149e980b3dffd2018e55a6f32d96729355fe060f03dfc2f6fa68c758cc42c7666cd2b056b2208405c63e9b051c2bde7ba28aae9736ff3aa71dbc05a6d287d633769255e303e6d7b8285ddb07f59af08dbd30789fc2a91b1e46c846b83017a3102972374ab609b8870745b14a4139293057fcea95729beac9d0fa852c9ae8dd5dbe93257615d86874c0aaf8c7e6c3fae63991fc69b5c837460303377d07a29ca9fe92784ca7d6019ed69522e2db8f99131a21b541abc30ef8b7241fd1e02a9599bed2f03e3e7771de5c34a46ad52194024e2e375f513314e16d6cbefb5904154af217177d98fec2706bb305223eee8a94f3905df700c66a9b37992a620b15ea07b8d59d7127c3601082dbaf060c73a44c28ae65daee19fa6f0feee01471e080bf96f1d099257d4a77323df122f771b4fecff2fa24c579ccddc543d8f59594e3ec798c99ab3e4f22817ebed5da2c7c65ba471570994f8bd613a2445399ce8b9b9d38fbb5ef8b6abb9a3f053245820b0cb1dfe85b5c1a4c0b29c45e4934855b8defeb15f9e082984368ff5e69ff3354d5b9122d7b57d125c740a7a8d5bc740ee37bc7b846d5770f76e253f5b74cb56b40e2a85e4d7e707764a24feacad29a86a0e75b3e8b56967821483f7c63b5d50426cd9e4531be90d8aea7bfa0b5235bf2f0e3249a07eeddb50b36002c151088a757689367ece318b98c51d6688f4d2208be44c9dce2a9e11e6279582eb83f3f21dd8c629aa9e83b01fc701f2a63ceae128934a68014c93ad533b4ddb7c5dd773de9e18421eb34d6394f2c8ab594840a6553b67fb3d8e223edd338e75176db01989aea848ba77665f47a521c9eda24c399cd681038c3d6d70667b20ea40273be80f4e9d2c52533df26ea706ed3af51278419493cd030a271614b728b0c06fe0a98ce64e203b406d2e6d9efce894ffe91b2048cedc6fb57453fcb05d4c58c8c81dc903c7158a13567a1d21e3cfdfb19c43ab17173de194cd1d142080b0b844baf285ddabe68b651855746915dc92c01d165477584a9f73641f22a26d1ba58f21a840a7e349b20e16551f69c0a15cf4cb61abe53f6c30396678a7ef1540a2b2607a73f630195d2c73b18ce274749021b8b3dee95783e0807b87686ee9a2e72a4274491a733c2ad16ec30f31104818cfb3f6b1890d814892a73092c6c9accb9cf9c355a4aad75d17e449ea1f043d43103749a9a723851ee2c284af04350e2550ab940de9029f371db39b0e9e597741bf380c3232842d524851a16f0a6b7d56f42a6339f2e6ea803fa0d252aa82c7a77e83e6fe6f606f1caa575a9447281bd22efa94a1424d12fcedefe96b1282b50b207ab2a2398b33e8000436629cf71fa95e5a43fb29c4d40f663c7982ad86bc027e04ce91e8340f432e3241a452e6f14c374918fce0c16740f0e25ca42b704557c32c019bd6c793cbc570399fdd000db9d0dd8da9339c466d8147e05a3db9031a74a15b337973d509b0ba79f4ea1e68c09d2edc9b3d6880612874fdd85bc939fe944a291f8eb2e39e5dfbf5fd3043bba950e68200c913fc1886d6f10404cb7b6f422af2790e3366760cd86393cffe85bd1ccc364298ee22859d111f470d5fe5487934e6e29ba05734a56a168169a4fe2830cbcba92d02575c52b587a1fa00c7dbcb25c199c54f73908ba67596463a8995f96ff8074333928cc645ca60d14e5add8dfbbd5d48fb9d6a30fdeb8988e6f6a2929e56e83a0f54163e9a28092ad4128eb4182166bba3c079d948b43c684eb9ecc12ea6851bd162aabb7825d51901ffec166786c84bf153687cea328961186ec9226115931a1783398307c02d3a443da5d4b660742b75df7566920480d9c6d9496a65cdbee34396b5e1a2d5f879123ef6de8f71e947d239a652dfdd5a03617b4cb0489694ec00cdf3295406546ddc45a542f04d4427b273fc3c926b4cbbeef8658cb9ca12a7e765b36956b5994f38a264cd219bb672409e87b75f43fcdb3328f52205fece8db01cb9acbe0f79a57a994a75a4e5ec5da2497cd8aa9cbfa4f857f5f24090c7d6cf5a070db569afca336da8c01818b925e76093b49d66871ea6b9511f2a601e6a6ac33a2b223f28462614d5f7a2b73eb49e9371d832a567b2ff713b10f9e418bdd18d176e84eb192664b39dd901f1c84005a94fbd55f46c3692431ffa0f40ac7a9c020e6057667b2331698fa0a218142ed5a112a05934c02262da41a6196647aac61888a1f9d79e4fac69a9e76275e3a76a7e21eecde821b7a7775476756a02ae3faae197295e91e31be375e7bd7abaa310f50734e7499edfa0344df999880867e9377d96dd290bf365a34a8e61053ad8c9de2077e16d959d48a02c181d9af14ce62f00157361a1e018ccb61d7a97516935f561361b8669eadb463b4e45515fb5c563c84926cc767ad000f08c8ca394b5f6ea308a346bf22a4c3cf79d29f358ebdc4409aa0311129b2f7cad0e48ec1343a18616716813cd14aacea9e16ed7a9f32d377de9b4750d5691a6ab259e2d8edb52d2cc4453c26bd5c68b270be8ed59b922ed8b5273f395fc7a4acb6d111b72520f1fc00ae23afb031560749ce9967c84f0cd622d826b108bb6d054b5d02ce0d46388ec07efb0c6d6f87c2084745e7ff7ce0039ff4d656ea41a5c86053fcc3b015fc9399a0ca33ef4022cbac553e95862685c62eacba53245805b1bff16235f9c977f493a7c01d584213249e52eaf62af34bc32e0e062b4bed8cdd45700c8d08a5dc8413c151d3db4a9a60d47372a13cb0d7443a076a875bcdff345b12239bce43405e61a029c85969e490a1f8e1a01881a105442b6b5b3851dbc9ed21c7d957b53abcb35ef7570f63b1338c767570042147abf3b40d45351f715a14f6213ef9bd7dbff13af90c45a8b7a53bd0912e6c31792eb5c83d2cd539f0b044c2950df1bad7d28b5a5c3cbe5cff181dce3de3ae5ab312c2e6b65a9b60ea568a55efc1a402f9c9523481e3657284fc47a614ba30e89659cb6149b45e8e50b3c3bc4fa71204ebb6d8e1630efbebe476b216c74a5e26361c52ab8613e37cc519f97705aba027ae08d9184ceb74908bc1a95a5726efb1b0b3bf89b47f847c8a5ce86de125566294eeaa40c979632fe9d8c5d565034e951051dc3e297693f6e5f8b67c0c121df9c0082067d0854bc4237343ce69c14426686471c494b22dfda2087b317dbcf26988be837a30a93ebbc17c7fe6c86d3d8fdc806019cdcd33d7b16dafc66400bc19fc794ca48debc92d912c3859d2f87d905e76b8cdf781bd2d929d55f81dbdce310e8035d190360dec89b97d366f7ac7721c05fd1663aacba258abb8332b7233b0ff6c3acd87633c51baa5bc0be820d0e28f0de04dd4d1584dc12cfe870df240cb934d207506d813553077c03ce6465df0828617f8120b52403605eac1b45bdd68a81fd3520bbebe7a25fac0111a7055ff6e1d2ff50ceb3ced8155f34f94c00037c1a145334279bb2c184b383a95fb2ea5c974b3543163ee04ec959417a5d44802cf3113653a3732f58ad30f3fe010e238e0ea2d64fea95e63be9ee38fc8bdb30d2b8bd864414c1962d62a8ce5b7fd26f635d2e7552d1ccf5c5831edc16de72b63fdcc1af399b2a22e5a058330f6798ebb7e03df91511db0b3af34f24fea4b8571a91b2f2a967b0420d5dcac2f64a9cbf35bb8989aec285ef85673bd4d5c5a765c6430c2ad32a3431fdeea2a99945e4219746cc2004ea4b951a57da1596fd896a5f77f763029628ece0672463c48102ffc7ff12d8140b294bd13fd9ebaa42f60c9ecf1d07d5b15aad82f6df90863bc9ef58efce753a1b75f36c09525244d03cabf7788e00eeb29ab553b7f00ab598f35551514884d2d610288bce2c3a75388040610b5d2980f065134321d6ab3c10b925c07f1ac6236ead6b726e82faa4ce60f798a1437514cef689d9bb1b8dfddc34c1ea633015d8746ac8bba2e85b600edb4a42244ba1373a4eeb4348ae6688dbaa693f148a92a21d1166606e145e99890ca45ae51550215c20df22307a072a92bb674e038ec5cead667c00de04475127028ea10d9e4c02087d8bb22736ed7172154021063d2d275ba49f50c82ff0a8cbe1563940122e9fa1de8b619675498c82942aab33a3bc174828362d2955f656802e7a1a51c13c2ea0725051034989bd451b097da657438df58993a6167029f2158b3eba292ab62f3be5ddb25e0619ce2868ac1daf12cdb2527cb3cb5cd71ac5f9ed6e22e732a1408558a334e03e422cea677c6ced2914933c6a5043f12f9132c139b8caee10bcae1cf34de9354305730a8c4ed5304d823fdabfea5418c51c6443b2360346bb75dc458323380947c4172d652530a1c46ba8ee03c4adbaa9d70314d8c3ebd83fd369cd24e2a81420d2ffd37fbab0d640adf51b0dc199d8a661ca991ea39c6c10c330d952ed6784ec04d9a015775a96313b20a48381da059415535d2a2a73e7b3bc684fef45a2daf603610ef579abd250351bf8fd65adb7b20e611f780659e5fa62b36b4ba2db72a1a688a1485c388b53b9a0d4e0105aec7202b3cbc1e44585e925084362d657cdc188869ca8f62288b497650320000e7152435fa91af0d43d6c6c1a07a0b2591f583b12176bc02132367194d12bbbb0ec8063e5c6258c8d52e20c45022886753c3b06cd99424a1b103a115d3042d74ba026b4c52319445927427bfab991348851e0c27fe31ea188552a6f962267dcd54c4c820b6c927549451ae5db33b19b520d02091ead00bb2afdad74e9712f4312386e23ede598d4921fd6ece479e8e775058f2459f40c57ea5b1f0966a70d78cb2883393e4cf1b0619d0f014868c68d0b2a2b411cd162b632319b03f2dabd14ec89ccece3beff04fbfc4e31f94d5c3b8ac1087fa0f3c800e4a4300381a2c8927952a949f16ce841246ad0259ffab5f5dba064f65f6e005bac0c874c4135566d4dd0bbcc7b714e9b0d89d079a2d446b929f884e72273ea970930945b43e8c2813d6d0989ccf0034c6ddb2a7c359eb36e5234df20a10772fd29f23f794cecf6b57ed0b992e0bdad2e9932270e4eab20b168cb0a0c41ab879caa17bf9781c5e6adcbda0113e2453ef73f1e9a99a39e62008b7074ad82f3c6a230b48ae51eaa310a7c09594d26d00537413dc021d4b1884c77695bfc4b8bbcb904a1b9c59607fb637d9c2dbe98bd5c761196801a815ccb538ccfa0739ac8dffca9e9008750037a0f433816561d57acf622146cf8547ee6df15e3fd6a7da91a99e90e1f9ea75e8104bf33b5076ffba657289876d15f07e4a1a8aed8025fbcae0d8d4477a95765b64e0d4d8ad24ca7ee00f4c08b140d87cbb7556c5ac96975a4f8abe854a3dc9f5c1aa63fc9c6cb286bebb1fe4c4e8fbbe008ff98c5c84656c5b8a86d84953596796d6d3b8135d8b41eb5d805d325c43a40308ff8b0bdeb87dfbbcd5d84fa4fe9a48e19109df7c844c62f9624f4b9b0057433ff01985094175283fccb5b9f8a5b16279cc3203de25ff73e12d90f89e467984cd939b31567482260614460d246731c1a56a9b6f563a7c6a5b5dea477011f2d7a883cad78bf364351660bec36a104cf4b67f3e9a616c21e5eea1d2f7a768a60872d3e8b940503f42ae85de4d7ecf10e7811e0392d0686a883447582a7022a56700d6848146509344bf01492bf894777e16b0125f7af11d6ad41ba13bed9c5aae6a5552cfb395ab971d22b293cb80c903a2d32fe15b3eea48b374bd20902b891aa73dd965ad89a18db5efcc4388679f2733da431a1f66ce0fdc639f05b75e69c3c95e881ad6b1c8233d0f2ec86111699fd91d66c3199b2ea357a118932f805e0c5126daec080c350349c2860659d3f895b3602fbe0ba7cf1093563361e241ca12c71f64f2fa040a3cfb99416f49808b5b840fe561bd56e34d8ff3459c5ea795505b01a716a1830dd25291a3b8fb0ced7d2bcf2859f6942cc3fe5540ba5a41010302d8d09087459b1ed93e86bda8b271da21192ae109c2859aca81495dc4eff0540a8c643d8eac5a20250ddd8de129640f279123dabb8c25126fb616f760e46c216eb8fe1674a186bb7b0a29c4e5ee4fdcc05fc0809860f58dbe68fd269b3f44a5a88c94694e97384fbac699396d4753d22099bf6418c7041eac5b4d5bfbe7d87581e232cdfdef9d9c86d4e2ce5b7793e7680bf7d0d0e5a23a13c1de2d60375c103c2a401bc1809a22d6fb08f8430f8de603d5bf5e171f9987d6bc1679cbaa7efc082373773aaeb94dad9cfea352d6b04de581e248ba63bdd65ede4c35861212a121648b456f32b94a94462f68c5ef2ee7f909ecad5eb534f99153594a9ab88d3b0ea7681db20b58a087716fa855f5e2f8b456f5d3bafda7d6be3cf08d9c14dda2041e1650cafc3efa435c10762b10a8369ce74caae25df35e992d7082df87793e94d19d235905919625a7a0a0537140e004ab5efe31a7c63222fa94957a6482816d44e77f2ed3ab0833090a4c50ebc3987583ac20f3d76f40442d8b86fd3a364c0d9784c116a3136f3b160d91292943ebb8b8cfce31d32a181a8c5816bfa3b84db02f6c30d36a45f20073a24dd8123fe0c9dc6234393c9679335b9c9279343ff1b9e42a77aa558e76e3e3228b5804c4406c17d267ef7caa0244642f31d5e44c7dfc6306c64b54c0a9087201b4647cc93484c8648399b0d18a82d4630883592a0bbc5e978cb541727a86fb35c9c9bbfb1fb825a64e067a0a6eaab7f9d70ba02f77c12edc1eb37ee56db1a85f0242c54b0a8ba7d620a08782841b6b82effef50eda124c34f484ee0e55ef3883c205ee2c66c724eeb5cfc1f1b45027f9b2a67fe7f23562c6de0ab1e9026a584778af0ab4790466c7a521e2bec6fc1c2964dc5f6d4216834819fd1c9466c3889271e07d3c670fb610151b87aa679a84977a556283fa1baad8656b91b88623ad7a353f0ddc9b8eecbb0b4ff95d739ba6bbc75ae9b95ffb08ef3f2cdbe47319ae9a89ecabfee612a41d20f72df324171bff760c509633a94b71d89484c3f76f411fbc0b79ee5a108eea8a3932551efdaa8eb91c57e9abf07930e433170d16d60e7a159e0b218b868668eb0b610dd56581e03722a600fb53ed82009fc9811493aa6a6ab049594ae3a7b5e218d8e0cdc15afa6b8058b8fc95c2a845a5a942c91c845e0993c506f2307a01d8c2c88a69430dd79b58cc641816708d889b6c43f2f0b30da0e52549cfdd2d6e346beff3ed9d2c60e947023f603798cef97769d3175f62fe2bce436097404549952136d0a9fb1699286e108d3c9a0ade2af6e46985940cff7a0a0b0ce2d79d5dd3c3fd7d03ef192bf6d9fcd69eabd2931e4137c5f1ae2783b1cbf6006f3ef4e8e0c065118a6b03348dc6f03a596cdd9dc34c5a7df2530d3260b8a68dbdb753c77e17920414e595b48887d1b47269049beb7751401205e568e1c4a02cea1a5f660467022e492b2c7bf49e16d9569bc9e6ebb6e82bf5ae584a7d0704d8b5d2828c1972ae3a5e223b119199d7df59f609a3630097affd76addca30d4db58c423f42fe1a8cc4dd6d77b7a3d743ec6e08d3c0253031abadbdd5cc3ba3bf0836d698ecc136605658b5956a31104561d52f2ad0b7859f72343e9d1f49246886baca92fdc65be6f2d0ecf029a379657d1ae7d8240be6c39209e93bf2888558ea8769b36c610266b3e6af7b69313cc54948e8dea08b355174fac735fad401a1287eb8333f5af0eb8b6a5b62c659eb34e49440c79bdaf34dd0ee4a59884387f90a33dedc93ce3ee511eaf751b8762b0d4686b2a192ba7ccbd19feceafdc39278dd7f952278ecd98ef56c8b658ebc6db275e23c6b6c5ae4f2d25611288d1a5f7eab4eb453e818b61b1228b441f9f9e89a0f4ec6d910663a81835e01d010c6adbb483186719f269055a53115f7f80f7ab5866cfdcd86c40939c28ea4d46321e0478a97e0474051402c2d2f9e8cebb697430cb8c1beb427ab7b7a116928293a4bb650753e8e4342bfed90bd52f9d42b812edf6dc71501d852b40c424d9031a8654a6bb1bb2e2c6d301594d53973dbadb553fce2e4c1d75097bfcf3dedf9edabf8863ba5b2e4623117c87f4396cff8ce2452cd0ddc298232171b7c597e08378ef2cacb12fb8bb920588c84315ba3417b68c6ee61d3225a07e85dd480e46dbb50cf1e1eb2454ae13d93012929d623cda0f6d6e55c391f883db6e698bd1b36b161cc26297d866efd52e05b6c5783dfc8d1640faed4dc8ae237d352c9bbdab76474fe6c29d59b41853bd1f64da2d7031e3a623c0057efc315a875c52f25fd37e76dabc33195c21328cd03321001b7dc6039ccd6a8bd16a9f6f4daf0cb299d2c9beaef9404b4aab8bbe92f87dfed2aa8ee7a071f4356e43a73b93919f7cc5a4624839a086fe8bd897b2b5def54901a951240b44fb49873cad13f976ebceb4f0d4835c9a8d24a66a0bc03ebcd5d249b31ab5ccf056bea2a197271efc2cdda7a9ecc39526b5be911826e5456195d88c87c2a7666803e58fb03a187b0cffe2d6ecdd107ed307e7b7673a28bd280b21a436d48da2508c13656eac69e8c6704eb11eac4d74fce18ac292b6b5d9e35696883dff6a9308f801e2407998d31e6f10e8e4cd4222bd59fb25ef390e20e5a3b142250d89a9b95c5707c017e121f3a57010af75752dafd694575a97fae62a4bb8665f716168ce45fdd56abb0baa3a75c7944c112aeec112dbd9277c5b97ad484093c281aefbeba84cec91cd7bdf9a4aac6bdadb8922b356c2092d7eb9b0f0bc8dfa717eab6e7a03a993d78d6f5a97bed53439e482b637ddae5204f0233c5bdb4d744fc52f32ad5aaa3df7de81310bdb06777675501cf9edf5d709476de41550ee4992ec472393b0805609e7e2edccfd65713ea79c24ac6452c7c4e3087b51b4b707e7f53545745f2883d589c202df30183b9cef526df732d171b33a19167ab257158a7c577479b5f4668885189a519b09be458790d48d0ccb862022824cc3dd21b181d8199bf0968411120d3b9babea93741ed372d88ff1427216cd4448de930830cc9023932d2b498c2599dcd922d90843c0f2ce264ec59b7a62c10c0955add741f214af85fe33decd5f130151e9236ca3044c245d9e4702107be0a6c8ce92f85c2d741caacd88dce421b6ff44a4f50f169d9431acebd831b6f5ece6a4ba1841c38db3a95e1bdddd03ebb8603857e9767edfe4ec4d9802738156bbe8da206f5f5c8e3b5151d837bc9d7e0c9a1a2244b86f202b212d1025d600fd3c919b15de1c2dd89d12b82ad19a1331d39d8f6cb3331d98cce37cd6f94a8d12d3f9888cfe5081a2d92dc86f74111ac512ad2f4ce7eea9dbbdb69e6205cfe88bb3a95b2ad08e4d8894422338dede0993b61708aa7d8afd9094c7c5d56a0473bef3ac0eac6292ffd4f0fa4ba00fbf6a29e4597bcfe4fdd1bd3986e11d8e306dec1a91e6fe4d66fc8b06b9934ea82250ce1f515978420b08221659cccc06daf1eab951d29b4369b65cd9c00baa4f8c76bb68da2de3c5244f121b9cfd34f9fee07c06a379f8adc483c1d0dba4891f727f840b66400b340833c7e45e863c85330852e8e768581152386d21de8dd97593b806ecd624afeec907f264b0d66858a935122f708467d8e4ca4afc982d376243f615ce82506ec90d3703df6fd5f590d8060f2c775df470166b14a9e36d10f97694a3f7957aafc0f67f5154e4850f1e68b90e3e951aa80e3994dffd471dd882f46d8640b4a8919064686c6b9bfdb78e7f90b70dcb56c79e93d3edc50353983191ae917c5667a60023e0d8a919babfe206173a178e4fa7d5e355ca59c22a701957efc3a92a37b026fd8a0499830423080202521887e4a99d1d48665f1b38a579e6da4015bf243c0d560a4fbdb8e3f4e6bea6398596d5d031079ac392bc2d816b9ef7f4bcc16394e086323cc12d9d54b5189374af95381a7cf5f870b65abc8c1f06a63ac4457197d23be127f18ad49a26d0391a9bf901943b9e5e288a7c7336ccc8ceb002546fe01aec5cd297142380a1c5f2c0fa971f3d98ae397b464e98b4d766e71072b1024af29c5f2bd33f7d692afbbe8d576312a6a34ca9fb52f524aeb2fd7896e84aef49a580d76b265b5dbcc84a23e75e0eba14a32aec54d20950b1836923311978d654a1d7214962491833d7184f453c288c5fa8275c1448c3301e5e920f5c7340208e4f345b0a1a90f0a43c7f720643a8d589db8b03d8730f7616b54df665ff1dca8158380fba03272a933ca9d159606b46cfe00aa62f065d7f6b7c637996d4d0ae6867500a36bafb827fa587b3fbb9a9496de0451c53383444ba158a6d8fe59bdd2a55f75e58ec57c3760f19734e35132042cd2da3361f89ca745f4ad1791f51427e8a304b4135c82da6d3ed07625248f38a7162b1594cf5d7364f0a04a47877167323a14e2778b54141a352e1a3a2782ec25b021b23fa7261f1619137a89875a439b4212e98296a4f2ea919b574a874cfd6732db1578aaa113c4d37247f48826af333744b5f9261abb36ff3c105502e53f38a459f115cb24a90eac4191afabcb79c2cc1c058841f5a824513c26782159b88657e345eb630563a5cd742e75d80310c2d812c9892263b6bc7b28c09b58bc9d5291307ba362b599c2ca150ebf79dde80d23366e14512c997b4684de2556232d2c2824810bf39c5b6b948407f50d319e2a79349141cef63fc843a82e98ddcbfec0a10dff009ce4e4cf22f386a2e7780d85848430f5bfde908e5f453d33dfa72386b82a6e1151310e9a654b5150e3e16a95bea1f0106c10962272140946e05a5c1e26cbcfac57c694b692012a7f9242f3bae0ccadc03fc7f82f0999d9476b0c2c8c78fd1d80ea86a6b203ed00c872f24867677b5a4b505d2cc73b6f6ddedf06339cb50c4f73ff0f78b54ead95e6341d401fdd44c5b08ccbed30331d686468fba9d39ecb066292e224cb4c6ccfde8932f0482c4839c3f6107cff416c6ff4da0fa9a62d3efb01892562a4331812b18f8433549e5eb2d7ef5a2db63a2360c43b8994ca37afce456cd8fedd760b493aafbb41c3de47a61895a0e33779eac7af038c73e4ca70f550b31740140dc88c1a38836817cfc708aa7c17bdb0c22ecc20e21a2fb7199b896bf00cae917788b27ea4fe500f346aee38382e6029e218fd791b81a8e7709d7b369f051ed92f6187e8b1570de2a148d3bc34ad07f592c51d8180196e7a48d1131c2609403a38414aee201a3c70c55b26ba567b9c2a39234ca8b08e0528549f509f9cb1b4f54a47f288cc58dd5d13a95705ca51d5f32b421a8ca1178094ea40d2ede3f40040ee63b9c4528964cda6986b6ecba48154581be9ae2ccf6cf914bb90c663b02c0a60dc0f98c703ba60362a532280637dc94f6cec8ea4d59749a3bb2e4284162b082686691a5685416a0eb62187aa382dd9f13052666733c5ccc72338b4b99aa66948387fc118f97b34e26a3a457685e103723f5135c07ed93020f593242879564cc05ad9c23384b618ea6d899d72e5ee8f711c6aef8a7c9f2e0cdf55855adbe96e5ef133e556b35c08c58bb3a3d63caaa3c0b94647ba01c07801ed45924f2b78234e9c6a432524c4dee88f77764533f6a1a7f1055ce42d73c0bcb9294db228d933a3c38d29dab8eda8d2c0c94a56c2e8056ab45237886a5737b59467fb8569826ef7c204b8759cea8b000981c86a27e0d0cfb90a22f8d444623e8a59880c9b052cc7986888d74775a249a5298197515859faefd7290d109806174ae2b8c452b1f165896b9debf1636368865bd394bee526500899c4880249cfe3bcb080bae05161d98742a6d13d57e86d4088c7365d029b3f70220adf6f92e26dcd36cc2a4cfcc15ecd00e3a5d60e1e89ea3d4032cdc7ab53bee2d62c1c0218f210cf1a11c71de53b1ed3efad9f8f182851e1e786f0135234edc6c08985e73202921b8b750d19c5d4dc404f455557294a2232857c7986bf4d0a383c554872b754ec2239a9f1a66538283cd9cc46da24518b8e3713f8fd88ae6261da5303da2f205d556c4906572c9a5323d3394c0ad695a07e26e123c70701ff4fcb92a38c15764096649653af39520c8a2ae9fb2dbb995f216427892aecabbf09811192e04295a3b0ef90911c6b87c52ce38be210f414347fe3cd7468b93cfa17e71619ac1236e42c1fb896da5955e2c0fce82b456c3f8eb416572c11edff54355447d34776a362e4765645db1f1552a07306f32a50ebe4b42bfe39a60f6765ab685c08aab0b508595ddb46ef06f4661b7748a1e3bbb61eb3716a3d1351e1323bf1f82974350632323ee13fc3176ed5405feb6bbfeb481497aa765a9041ac30a26f18576ac6a6c133f5822d38249684f2bc51555690434f28d6aa1dc473beacc8c5be6ec5e94a02a3f62f5cf549a7c16469ed728001ce36aed592c82b97101311d37d8faabf7ce81369ebf65334cd493edc8011434b9b9db82e2dfdeeb90f065f5d090454359c050fcd40f0380ef6bd7b986670717e81d30d9dbc97ef43828765bd0053a678e01a02c37d987cd3bb8cddc10a9601e660472abde8dbb606fef5721e06a1700f1f747a7849909f4645316b4e2d6ae627f811196f542cf99e38ba25ebabe694f1c9f6705040932ab0eb51d8208ea4756cd2c4ea9553906efa9ba5840e8a8b5024cd48bf396041ec1ee2bd554c45b7a8b4f9569148176076d7699ac45400b4680d103b7f3f7eac276198969438c51c77e82f0f2c644384f48eb3b2c461ebc849ba02f12b0afb9767b1066d7e499202a1d8a69a21aa9d67c9981189baaa33d2437221bd58831f89100c1e7866c86b744bf95beafc12e1f953eccf77427b1b3f6a0e126b792494fc4f190507efbe9c83054bbad38004bbaec7b6828b75dc8f92182553caca77408afccc5c824b1721708eca7ce25a9723e4e10cdd2ff1a8088c671865ed846aa12e755a8512abe24dce88010283d7fe937f85ec2ebbdb3d361382d7208ebcda45304fc058b56c9beba510d43074eb80890bd7aca557616bbbbddca7d565e4f17f16e0d3ff561a2145baf6600fef07416755ac4fe58ac6753e1a87672c003d275455047b80e6082d4a14e2d0b2d5a10161180bd92b560b13e5932b9b904b2035d9765eb057e6638de10a57f5bab2b4588b77b18d508ee65319766773c539e4a14f8dd6b22f61d98d49fb4a3ea27bb96ce45b3f086de8141c8de1b20e13adb009e3fc58763ca7ff699bc57c76b0c6685710846847dff5b3c8029a064f0cf19bf8a4872ffc0384aa48246a2ea0f2edb0385d70b41209a15a3cf1e4daea5b8a983dc550ee174bd0354864b447d230dd16a6f950c0159c2d9d6479d9cabef8fbc9960d80e7dda0078bc35bd8c3369a2817e23f6a80f92d3a03d614c631774164c1da5af37dd74f908c7f2c5733cea21162c558b653d9443383d1646bcc695b147da35262cb64b23723c877f6c82cafeff0aad4672050b036cb102e5f264dbfccbc48c57a09735d24c7cc9507db444a66ddce50038fc0e84c4115b86a48a33e692034ac8ab346c88d55fddaa9c99d2d424d812d8017c816ff27c86e7884f74b913c901e111d74e7030371cb394db3acdc36388bb959dbeec92439eb1856ac4e63f3a11734312c69f85b1e2247da20c454e95b2758a914e1453006701ccef33588324976a979f4941acefec9f2d119750e072577a8c06098e1824b93eae6c2713c5aef5b70b4a8da1f1748ed4184f807f687953c1f413aa6aa2fa236f7a0d7acd1096e9897c9aee2ec540b64dcd5b3094456ad3a35617528d4cd9d7858fa8c5a7503c99cb887214bee9c28f011ab97b408b5a742573f2537079f4eb464e8350af9520ab1551ead80fd476e631529fe239a4a9571ac5cae83fc00cbc1b779c67791c518ee081c6905467dc65c636afaf7ef4348ad4306b89058f88b7da070631e8f120a4467b611821124b76fb6a5beab0e569f44b7ce48c085f09011d2f88bc71127d4cc9cd4e2a0741cc359c73b67152175f2123e70a32f217cfca8cf803a01d36f511ec043ebf8d319a354f23bb34a3089c72f49e9293753a379ff6802c8fe96f13155e596ad06fcc4f0ba6e3370394704f86bcb75689a1776548a5024427dd146bff8107e79b4d004a7f654eeb9dee19c9aae494ac2977d8bda1b5cc7d91b58e2ddf04bf98f20ca8c45649aecf020a80adda10002d324a8aad748eeafa69a12f18af1a05c9fb8c42434b26f9bddbea37e7745158266cc80747f7b227f43b26b574af766e4667cd86bd86a00452aff93fddc25234e987a33c1ac1ee13d2cdbafbd6a9ab5dd8dcbdae6130af4b05b667574bfa9949b2dabf7b8d02f8bd951817838677512579e0562baee35eb537f7016e08143aa4cf2bc0714fd0265483c2cb3721c5429f6bc8aeb060110b779d6a3115ddaaf61c744e967497da81c3a054450ff4da89c0c15d018f14607190aa6bb7b11f0902db9f2e6ea68ad754bb13e83f949038eabc6634293091dfe4f35f89307c8e284efb01384a4954acdf13b7427426e8026c99a8e8461e38f44cacb7e6f9403bb7cec3aaf31488f3b74eeb4004543be096b782fe9e197e27ee81faae3f2d5514a0ab68183150c9b4f33a3d95b1340ea32cdf98042ca82b330bbf3f737c87545184bae3f50c5dee1c394bb98f815a566d6adc233e87be486593d4b275e03a87211d495ca6e53209ab133b2a661dff275ea20a2a430516f69c15165f866c0d55f11ac5095a59e553b36133c139ff736cd832f7241fd1b2e8e1f80a5d87b6785814ec9d88a61998a6773471025cfa56ac57d76d3c4c8c3baa1da337be5bc4fbeb96b43770fc604372ae3db2a447064e49364a0b3600fba1632ccc15220a20092508802753a1562810b75f1877b5cac09e5ee68f22dc8878206d158cdebbcbe21a65c999e73bd60db521a64160e8bf68c8168b3e0dc236416ce5076f30308117719c04886f142a9063c32dd21b0d772acd14147b8ad1a14a13613f0f5d7bccd0fbf49ae4d1d74bcbe8be8faad7a9c7208277735dd6edacf01dc2063e22596c8393ac35ca7d96f0c916dd29e05f51d6cb685968d880605c20f2ffb1eb4e964262c4643398152b6bcaf4f3691e7b069c75f5c97e8de3bc6f0f9b903cc86f12157aa47431d4bf852b133d5def6c67d9843a1124a8e0227b9a0bf886cf6c1fe6e93ccdd01507e078b9446121e6e31964887a8925c51796e62e971bee6b57b695b809503b1d2cc9597048e010124327056508f60d5e10778ab6bb2fb24563c9b643e9b70df51b38dbcc233295625a2f0a19e13268eb6a85321300b8ae182e473f076c5a419215cbb31899052fa0484b34161a233e379d8844ad9e187a427772613cbc0e314e458e6004ada6cdcfb2b7e60994b8868305435112c0d24903331dc601d93e9c1febd67a1aa5bda9dbbde5dab575e7408694d85785733b63a417e17ce01cd860d3fb5469ce2fd0396f9dca0a81d91837d313207788cdc83f4f89064f01ae3435343f78655b3407eb5be498ec42449446fc05ef04ef38a9bbbf63c33d81dc9c20032a025f774974ee8bf8132beb37b52789c3e74ea2cd43f51a2ad144127bba3aa988e5e9520bb91ff028e4c552565722193cfe8e633de966344e609939c7e3b87083d913a6bc9d2f930166f6224b720bc741e9ca2b827c071167943f8dd8344ddc3fa02e91252efd5ff61564b8a56a292b944cb12baf8ccdf8adc6a51dc270f2c38b4652ab6ed68b178928aa0fdeb422c965eb3f7da9292bdb4c353373fbaf96182912891d3fc6a88e9713a67c4a9103b4048db1787a65171f0ac3e6ba4b676f110c5d810fb1cc06f7366e35052214e3860a455745cf55c49484b55e9ebddcc45bd9cc9f003f0d6938240aea61f6934f9b8b878a9d22f05c05954080936d58c86c47c29619cd43fa73cf3b5f027e4a6b3c8e4597a2055161d74eae50e4e3f0072ca833379b4d7df780546056b3a06d124dd15760c0ceb352ced037b5ec84037cbe98f6dd6db0028a06fedd7385250ee8aeabc22923d91ef41d58e9bbd6eb71a875b6f9390fa30fb30fa13d3a9ff090cb4070f5307bd5663f07b2d18fb7ab0e8379880724e7d03386c2b8ae4a8916a553a8ee4aea3c6b3f8e49c8bb7ed54cb6c3ead1b14a24db2f175996a00c55e851e5e4a3371cf630104e50dad74d5766f355aa566b05cbb5a6518ace0a594a672e5c406dd8c315bb53d6f8bc9ad9e4d6404e0f0701205d7163444ce7247981fcf10b50676c028b8633cce8a62745c8373fb46f441ea40abcc287b717550b282b46de7834452dc37faaaf7cba3bd7611479fad32c13e985e288d77eed7e33a447ce454f03003bbd49867958e225349be8e1a9d7ff95367f9cd8edede1b38a9a6672eb03a1b4f245e60c4c7bda8f442841964a238a253bd785d5cfa11cdba756511570ae0f037293bbc7d9ca10df6a8cbfea849f5a00d3db15c2657707edca7dd58827b7ec2ee7f6868cd56509a3814e011246548c13ce4b8fe6ec23c3a97eac858d4a336c00a29157770929f22ecf03c4e4dacc6fe6758972fdfa2d99ac0127fbbc682450673a82856efe2a8f778cad2ad3fa1392e7b489122e7b00a1d009053c8b850f07c39f7b30b9007ad0b7bf24ae615dd344b2de290b0cb4612fd644479c19a1a25d91dca42af1c64bd324eb5e35682e1fdcb426901a8f8d1e908e6d0166f76de72f9d59d2743fa01c7db04241f308a3f45fb47d2ab1f3e808c571befc36a2cb2b85b020635dd8f0e7a22c0d7f6b497300e48f398063c539ee7ddeba1bd939e778db08df33d7bb28b0bd058c868b1defb987690fc3fe1061ba4a713fdf4bcc6d0eb65f5cbaf995d7be9a32ccd337546b4ae39b465aa29d60f8e7d12e3d541da585be17e89d7908183aefa5da304ff0994359ff04a1944fcfc97a1ec61e7efc6115160e1a26adddd97f8b834875dd58f7c4be4e19a757948771cabc2cde94bab1174db1ef50d79bd11b3299b243c034e3553a8e9e06e9757a62e52f4cfbdf637525f57f2bc0f624f6704d753a94e25f82533cfe2b811654a636c97aa95e33b1d487ca3dfc890fcc29bbf3a6c956c22986c9be3d31861b1ba719b00a2103308b548598b6288dda8098b507d74833427c7bfd5222176d33e684819a09a5f42d229980c2377b3a12a853567bb814f88b8218877ba180b9773e6686db93d67bd949a8e3697aad41c50c0ea801f574712e6eb85ec8eef143ad1c248735d2472940fadf2a99cfcaeac1d675148aab090a0a0e9abc6036fdc625ad6f4e3ba5ef7d43cafe30bdfa09c5e98f0d3aa7c9e533869838057009715d4a2e5434d44fa5cea297e17615c325a5ea255b3b94ba3001e2ad148589209f014d49766fe8e5e0f1efcc7cf61dddc8f8484f12226014b7d60e4dfc0c55145023808bdf706750a5b8d449d8f96e7f57a28ab3afe074de1f72577033817e84a74036549d0b922a4b509b7b9dcb61c160732713c2a66b02cedd58e3a590b9a5be644b7ba8a53cf59147e34db5c8ec82c39458e13cf4748a97c21d298635a96064e422072e2bedc33acd4b9fd54be501d83b569670e4e647b510a35fdc4ec77d97f4e19f0362e5179aa3acf316820c3d7ef64d7432b583d0f63837778fe1be1440e2cad340ae513d4cc2dc3bba0ea6d70f5e55cf31d4b0cd9dee49b893907bf89f22c66cda71f13e3c309e8674a7a55f8e47ff4f3e7c9afec58802895cb1d3e3b48b790506902487a3ff505a7b506cc51904b45a70251e1b101032a97698719b37c0a6d9ab065591f99949f1d847e09973247a32fe768b366eb16e741f838d52e74d06748824daccc4aaf0f070c7bf488169f2d5f8072ea7d079a996b5d4e3518f5447fe037989ae25508c0ee9c0debbd32b592610aaf4f1995888516a9d47d8377cdefda9faae8b4e315f227911e4742c2903e7ef8aac9a3b8dc8fc4474246c83a614538fcba12ec2dc3fd8dee7c3fcce9bedd878bbfd902c6df77842d6e8c3b96a6291a587d750ac3297d8eceeea081bcd2d6d0f4acfd2d2018c1c355ebaf9b8d0335d8ec46ceac4a66344711ef9d8bc71c1343d10a6318c77c2c54a666aed0e81c938ba9cc75ed8672d5d4029ac8823402b79348b777ac4870f93ba176a23d1d35b2d3fc28d124c3fe26922156a31d11784f2035d4c64ef3fb2e55daab7790e6e9aff7ceec48fcd3c5a0df69fe12ea38cb90f34f46345efc31247bce60aca5f653f64834c3154a6e9a4d5c484558462508e8b617925c60c1a248171a424617f151c940883cc51ce5f18431c4c027f6e4bc9fffe2654780c35faf15157d6a602deeb74670bf111f52119a030e5d4ad46e6d56caad89d7030e17047404a9fce764032022dca96438510859712194e2ef32d692bc2d66a7791c2d291b6474f3c71bf9c282873955c485790f47f52f81ef285706fde1afc289aa3e329ca9f4fa28b17fe8be0230c2434c44166d65089df5e5e2e010ae8f3b776a1f0850152da5943c39bd47381b77eb3cdb7e2541fa2154926b28b9c33c279474f64adceffa0ac56a58ebf15ecf997d98e3c91ddfcf4f0b6d12e3f07fdffd0411d0dc4790dff0234b44f26743f80c98ccc864a60a11ca5a3f090e029dda4f94579caee34081c2aef6c43b94214adcb0c4233887f17ae826c4fc6642bfc32e82f4a40afc180a21b4ffad58258d3dac36fbea5a7f313688f74962eae08a74cd3ca1d8df23dbfb08e848178da3b8ede56dad32d97b5897591c0d7c5126a1734648b57b326b7a823aaab577141b89a0b3f6b5eb15cfe9afe7fbe7cbafb1cf8d9853f7adf8cb2acee8fd177cca1cba764ddbfd2e5dbac9316bce0f9b6aa1877bbf338e884a5be30fc912fd15dfddcb1d2450db6016c7a9b3c7660334fd9234e1f8edd572f9ecd64566643527c585aa9a24ef19393ac8687c6ed124455db008d94a7d987073464de11a4daac079296a9130c17487e9f5dcecd054a2970256f0a8f71ac694c6eb05df9fb118bdd6f1901b7dba9dbc8ae95f5d0946e024123c3fa37ba4d2ffcab43e2f85641a5ad7b055bad75a56d1a8066f6b8b942e7bf0e33798a3ef0d5e1fb9ecfc510c3d88bb0f12b4807409066ca2025e4a1bfd12a0ffcb0796b370f602fa8d7673a1322f363591e99a4a5f7a409ccee49baa755eddcccbcec3b9a5f42b59d4fb7031a07c28d45c4d67ea3ae68e4a9f452e6fe8328bc0ed9430b76af09e71ef57509c343a5a72139a759b9fba2cd5e528f14982a478e20db04a57a77b60507dfd20c8b8712642f93f4a46a7fb21823fea283ec2db8358d1c775fb867eea45616cbc562ec49e532695c2120f5b1da6e222800b5c5b3f87af3c3be7e7d40d43c1170accfa3bff74b2bbf0017c3b9abdcdd3f2b2711b30dd5186e0ef7d0a24bcdbf2e73621ff423018adfba26312023098ef682026ffd637207013b7c111ccf52b2cda65be2dd2198b362ebd912855b2ce583a0c05a84d00c8f0ee792bbfcc6a24fd9b0a215d23835840bc27b42935be9c58998db819e95f61ba39d4f9584b54296faebddd6f790613d633e10bb56f94f2504a4d902caef71645e404ec24a07f106e36e85b6778ec6376b7e9e5f6e327346e8e8a674192ab8e738728db473e04dfbf554acadd81389598c1f6a8f8162417760f7f59586d5069493bcb79d0d6cf872c1199972b54ca0aea3a4112209d97b932da594324929035b068e06de053a39a8d3205b9c9ec70ae265402f03b282cc28d88c8235c90c2402accc4eb02526ad624f8b98822f13b1c5c913c3f9d26a7cafb5b552ea3ea77d2c75907d776aef3bbed7dabaf18775e30fe9b6dbe20f67e85fdfdaf9f36377f50837f42781684f7a848635adeae0e3662fbb72a63798c15e760181c20ef3532b5b0ffd894b32b34ef8018a1f7eb04cc0453d66e88189480b3314f13126898624249a99ac699a5655d87e388201cc51902b20f8d1c424054972c18cc5492a4af261c673e5d8c392a276f8f252bbe35e285098d973c59bc4440a55a8e0846ec75952961de6179274820d24f5c063c58eb324d9a63bce929284f860662799f5a084f52387bfe77dede78ce5f8e1a89cfab8a3fc9bba294d93528741f7654739d0cf785e3ee37920985b0082fe1b359a29d12164a6440905b3a586cd199b2fe7fce83b04d9e1e8892dce1d8c8caad8a1a8a80ad6092548a204573c8f8a4c85530182b35231a360330a1663c4b2096bd42336dd7b638cf1de783d36c5a6abe317bed818e7ec791f63138fc9a90fe395e83066c600ddf288825da773c4b8bf1fa7c3588ead2821d78a129bf27ebea1b7a50eb93da77caad16972f1ed17b5cc6232fe303a39c1f019d3ae222e934a6cd6a8472af5f7de1863bcf77e18bb01ee5408e08e3a08c42f7508eebb72f574dbc7173b5367ce8c53ff77c6a2e6348e94ca2a1d224a39a73ba5156681a217f150f2be64d75ec4c3e707292f91dd42e5f8357aec26e71b4d558dab336274896358c2a61b7360ccde543ae4eefe3bd297bb7bee32e9e5b2972cedb6610e845782c2bcd8223e7d4288d67b2fa58e3723f9c5e963634008e6c58e31e224164d64f9eeb11d93367dcf4c64199536a53e9905597eeee28393e2d28eb4c707bf4f747153ad28797bec292d674f8234729d4c3bae0923bab0115bc88fdcc7fc55e9c67d72cfd44791c3ace90c821276c50133b6721d4d7b5d2b4ac69d16bdc7d591c9612cc622b68b90f0fb3360f2a49e03bd391dfe06dae68d173b95928fa3d28e57b749b60f63deece1809b3d3eae53bf0525db6ad463b696722b881ce7fcfa72c8e4a19f33ff1609a5102d424ee93047ed7dad28b93e0736a28bd4d7cf53641028307936271d22ccf0466c7f090ed87418af7440560bd11d628bea2eed6b45c9a11452a714398c5022084d9e2a8df8d797f4624db7fde8a6aef9aa2cb0945d25d8a3db18e37b2e20d1dd6fdc61b1e52eb6ca4a5d5a9fd822fe131bed926788e5d739a79c73baac1f85115bbcf091400e93e5d31bb05d63f163b02e32be662cae20cbaf2f31a5945a2736a71f2429df01765291616c3b60c6c00d6356a31eb1a9366da9f4c2bff95547a7e834c667fb26a59c51c423fe8c37c6875139c3e34b295463935219a3fb6cf9116abb5782d125b0613b469731be368b1bb0bd135d358e20cf7c8c3a944fe58d17ee6d1d3f2a6df9514b22f4ad95b1c6f7e8b94cee92e587b94c962fb7e01823b5f5e9ac93524a4150a2665c6bcd2a701a70b2530ec11c43f287fe10927f8efbf4535f7eeca48e91251f6f1813f68af9f761d7f991c91418cd7090324b426696e4c9ac044a331d94642e9452bac569a68391590e50b31c64b31c84cc72a0a263ab2bc9817c6162050fde479cb3cb7b514a71f8a24f49b298e94dc1862b46cc7040b2e1d081ddda7186838e1de627f211e7ecf25e18e38b02c618df600393152fbb6e18b3c3fc43ac54a139327548c209a41d474e98b20412d40d3c98582008326ba286234f082942c7172425242c4c2c17b41120c5808403d3ca034ad84006a9079395d90d516ee0c1c86a628cf1ce9612cf397d03e1d15961fc836846223bae34a41b8c77698014502c804187a7a51278c9556a3893020d3fd8b0c2cc8619986a08b3690d536cca84f1b5d50a2cc66205dece13456c9b1d67489cc430ab61cb0c090bace42a4500012283ac8a8e1e2ac84cd90a1316537420e182089ad0128577693243d2c30d5384884e764d123b014e90f0610b13578ca270da1a4471040892324782b8418a14a752708ea4a0d5e0480175028e1354a68231c658b5d364096bc7c80d4696ac769c2151410b9322a2699aa66d3c6a5e9841e3ae2803232618e900ae2a2c3df151d4e3cb134a4f5cc86863564c8197b2521123121c652719493c828523a61d3a8480a10289223c1499699aa669f5c70d9221b4ac100412a8a3238a102972c46a1a028a082912430e42a966c7d9912e673a2c326797f7c2176326147e705e7231c6b3235136c638073368292d40342d27e42629544d4f5cd3162c32cd89d60a59bc60a9a2a582a7a4699aa6e5a4d01443530f589b8135611b263536ac78013f6ea5a008e34ee3a1699a96658aad6581626bf8b676dcd60a398625c8bed97186a5489705045b3a5a3aa2268b1dc3578d1fb51b634c73006c4cb7a6b1beb652d6139865c68baa4cd1a38a9307c654591232869e8007c6f8cce40104ac28ac3c5569014b8a1e18e31d56c8b0c44481c18eb32a1ea8026487f98754af200b726445e5382da5f42395527a67688c31c628fd0904592b0041cf6341791e2bca2512ab1c48937e53c68cc1091074c2f39c9851b0190573c2cb805e060453ab2002caadbfb54fb4b7da7920cfc80ce6d3b95d0e578ea544a6f3a30bfcf593110beddff70e3410d64d77907dcfc0dcf8378d93d5a974557dac65d877abb3f3b0c5c853fdab8ece43a94f3f73468319e38c314e2aea53229c367ddf422a3b19a1d3ae832a63fe07b98ed4e57c21c61823eb4b8e31461fe47392a302b5c3fce2058bc94375cca8fcd0b1c39d3d39397f3adfc0bf661944336b092fc232825544964f31bd945a5653a5d945e3ac144ceaf7e36fc9f2a9a459229e822906292a78433431610d47191999e4691e3579105aedc53736d16aaf8d97565be313ad3456ea64e6cfc84a42c6f91161a9ed10829585958595859585a5653684112656951c67432ccd8650228492294c2c2b39ce861032136269364490d9942b31ba74d7f12eb32945332628a6fc87c558e08bf175ca98092e5f5847b4769c3109c1e4b4c307a73b3d654dc9f26910fdbc952c2939a5b55a7b69b5f65e8c357b31d6b4546ac39c964a6d1bc77574e3b8ae53a9565ca752ad5639b3cc90695a527af2b2a4a45a65252c222ca5199bee445cd4e5f2295d7e0415663e658ed56ad1d0b85c2d8ec6e5aaa959b1c2c6c5d5ac586163e379372b381bcfbbb9c1c1c979d1d7cba77c79dc0d0e4e4eceeb75010614030c7c4a0c70b89cd7eb820b38fa61e03f30e0e80780304fff7dca5f6abaa264ee3093cc2066e690a9c30c99a6272f4b4a3279e4b4fe9046f3a90619a1d8542352d9724e774a2bc618ffa77500020083096000740003f02907c06ad1d0b85c35352b7000b08abe9cee94d66a69b5f65e8cb58b352d95da362eb5715cd7a954ab4eb55ae5cc62b532abd5a2a171b96a6a56d8d878decd0d8e47bf1a8eaee862c8bdc2c686a39fd7c590fb85c7d1efa68b31bdd862d2cc422237ede94e1128f23c56942851584a332629ac263326143041596262b265dd007dc2c403cb09530d5be78f4105cf5e767928a0e2ff99e9042173898ea14007d6342964b6a669b0254b4bb39c779c4979da529ca0444922ca961d3e78a530a932d789d8da15ac253282340212f4b074c588a41f6b26ca521421f6df7b2f942728505327d67cefbdf7d6cbe3de7ba190d9174ad4be99d2fa2eb480e9922847ae1371b5d6266049c79209b2a62556e681208208e207a73f00f1246a03494fa04021c98727453ca9c283d359795022593ae4d48eb3274b1be889ecee306b320362870f1a59cb3241b676d6c2d4895b9b0d993a716bdd0f22b31c5827985f5838789e531c5e384129c80978c799929192093c9476143969010f56121b563bce9c8cd977c7999327560e3bd22d4e2fcc3e9387c658bc90deb762d64e6d4e8d15c3cc0992cf399d1cd973ce8ffd6bc6709c189939a1a1f620c391f6810bc8ccd440c5079e30023545131f4d58b8d9cbae9c398d054dd3a4600286c914d8c98f1de6a7592ebeb7052b642fc727f6bdf7de7b2f2b0459b5e3ac89974d674d9a9a580962c393674a4a79e48752db5858c0872376e840a68528a8f8a1510cc13ad294b47fd8ffa644b33ba66cea64530de36b2b8b26556493a49d779c35b141ca16fa8745a8d69103293e52d08d1bf1a70ee1370041160b20e879ac163ccfe2b060591ce0b1c3e489d581236d8618c60617880001962e3bacf00493209840d1344dd334263ca498d4b024871d3e180566ef08331181c60406dcad7003146390a85c5161479515c8ce30f9a1928191959121f6b025341c09020a1964469600718431be8eb18c2f50a6c0b0040b5092fc60289915591656075832cc96acb0b71d674b781c61bd90432546de637144d7c9f9c0df6e34bc273679dee31a877d7ff9539ffe500efbfe55e7b03ace04843872d8b74a664cbed3b73ae701f227e703fbf5adc69a4ef9727a994dee28ebcfffc0358efa93cebf574f5d3f87868c825567d7894d914c7472200c8cf001fdfa1ff8d7a7513f761fe47c80837e7da29ff89343e3277623d08040943f44f4135d27c74fec6ae4584d43461b43d475741d0f1f630b1a9acff585dab742ed71d3f6772db1b46ddcab03b2af7d9d9631b6085d3f7f86bf4b87f8b59fdd8cfa9b8a9b1d907d49f330a696635ff5dab31ec6ccdffa585f4e0735eb1cfb391da83ef5aa4fd1e0217f8c623440a8fdfcd5afbef8bd664c7ef7057141298d67b8cbb9f87d1a5b4d7298f7bc01dbfe359220d38f7bd610605beaa0ab8be0b7fa8535750bdbd7c2660f4442bab90ba8b814b6264840cac71d37f322db219d7d21e28bec4bd38e13c8b6ad8a78d8cdd128bd2801b5e34c89a27d801d675eaaecad8807c6d5716b96dd5e5c35961bfd5a3464fa55e31610398c4e99468dc9233580e285caa69fe4cc16a794d9c042f3bef696461b41e275ed9ab1f89ab1199321cb07f1d489bf450236fc7355a72870a182440b5c645c806c2f497601769ca980c80e6335e994ead045b57b9fc64da1f0975db3882d68c4909b2a8071cedec7a64efc1943504a9f9e38fdc88929e79419059b5130f7e9eeee33ca5d464d49659497f1bc8c7734a37c6694cf8c9a51ad23e9655c7a19a732f9d9353ff565fae16d7bed936fb74fcddf56efdaa8d688866cb81ca27d41f7736cfa85b6be665fa32b4fe920ff3b23f595f5a1d0ec7438b7a728752a2595210e1aca213bdcec746b6d4823d9829d1fde0fb2b7c729d74273bbd0dc570b05d170939c07d76a7ff91bfdaac3faf56d4c1ef9b6bed5a150adab5f75316cf72a5a7fa32b1de6d97531e807d9d573dd0c6e53aac39504929b7fd13aa55f77a5b7dbfe8b36a40fa992a1d094b6d341f4b7b7bffaba7d28a4d5979b0ea2a107b27acf94b1c9a79f73bffb6abf7ea76fcc6421df72fbfada0bf9b65f3f68d3a1a4dd0c6e4b1d6a6f63f2606b2dc59eb518d9dcb6eff5c809ca49c97632e2e2e424646f146a6f2b5874913fcaa2522c01f4a9d64dffb44f7df5c3e053da771fcedb6f3e080f800b42ecaeb9eb7f6918ff4bcd705fd0ea736cff42dff29d93cf79d7a918a941f776fb506886146af59c0ea7472d9cbb7bb77abd7f7863c75f3ae8feeaddfa0ead261aaa5eab7e6a6687f3856690cde7d8f69bd35f52288266907d9b7b7548a1f6f4c0becdcf6d238138652d445430f4096fec84d5e6eb8774cb6af330269d25780f8ee1bc71f946d579b07aa93dad73bcaf3f41f01e49e5f5af439b9b07c00539da4687d90319fef6fd2d0d2335b02f35d49621007e7e48a172907c9b5fd98affa56fb44ae7ac3415f9d35f1f82bb62f079b1857d5517c33f68a5face2db6bfe9272bffa57334ce77e3f2555c0754758caca3bddd2fdaed7d715f6bb7fcea9633eab66fa3a9181a466660dfc270e92ea9701fdac0a20bbce373307958f959f49324b1d9928af7484935951e9a1ed787deeea9f9f067d53776765d11ab799747f345d7697dd175f0d521b8e5c43aa83ef7fee1152335f067e910dc75462a4e3776c21b3b1cb8e23819de12a8bc9ef71f8b8125e0249a26c999deb7377636f7e18d9dbdfa5468f3e7c516f2711783fba0950ee5ed66709bfb12bce74602d954bed4e18d9d7d5fa5bb4f8cd480a362a0b6f6555b2bdd78db57533132035b8954ae659b940fc616f2614c29659554ba9c524a29a594524a29a594120a636fc9f33ce079202804043f7eab1c722843e042cb05a72eb4861c61e688165a203001891fad175a438c28734490ec3ad3739da97d8bd11ec08eb32d4276ec647c7b5e60d359b6e7bf1e6a174de9ed293fb9b73c1931e4e54d230792e30ef8f2257d9c2937639e1dfb3c52632a954aa552a9947f4ac38fe374f9aceefe93924084b54fa5eeb5b6564addc3f998d211ee0ea25f71589f04a24da9fe6028c2c834e2c70ea36ccf67c0a4b1d40a92c3e804c2e409e9fbcfa7c0bf2cca9cb678642b5b3e72f83f3f4ea71d904b58cb479e4f97785e91e78160cb04107cd1da01a330708231196c29b63957ec894ea0f8a1450a305452b0829ff9afd8f34e29acf08349051f3cfc64d9bea0f99e7f33fca5766ff38f7eedfca50e92e16110fd27da445b7640f3cb914fb4fd9b4183fcbf20fa1d109db49befae16b47e6099020b0b5e6079024b181f665894e8d1da80975dad1d6758acec303f0c58fba1691a0f2d1fd0124854904412497019231383050920d108331da802891c54681a42531843c5082e04d87136068a3162427004086e01c1228a28c2f3ae781e085a01c122cd24e6686b3bcec430b5b480496ae24aab090c9556959696304cecbbe3cc890dccf7fc238eedf16b1f0ea41a9b8edf10520d6ddbe66f4fa36ba8def5907cd56bdf3dce8e6c73769dfbf4b1f6dfb6a259c3fd8ae77e08a986ebe74bf9f46bc8a7f4e5d3e81a36369a86eb5ca98740d7b95ff32b748d1e82a187e67d97567df7e53c00fff635f06f7a0889e687b6c74fa36ba45ea5876410d7b99fdaf49008ae737fbe36f590d4a1a5d4434835e44f3d348454437ba98740f8a19f5786d1e9cadba586906a6ccfd243f2677beef38743c3815443d3f2c875eee3c7d1e1ece0f4a66512d7b9f76fcaa4348e212408c49f8a358efaf1279449f60d230b43656f71c6a92af21f4829cbb11101824e5b4434b1c3ac091bf08eb3268834a1447f6c716eab217c6af16eafd58717ec08db3116a02625a8c5b64df55dbbbbba57dfce5ff75baa03eaee75ba551fddf37bcd98eaf3fcfdeb72aa4ffaf0c5dd7df5e57957ed436e6b77e7d58c852a6e7e1bd0bd530bc5d8b62d0534b5f9d12d352d25dd9dbc4735d353ef614adb7f4d1ed556a773ae6fe996941c46598c468bb100274feb6b8b46a3a9d99ede00f7b66d341f657ddbeadb5ef56ddf6d38cc99634907d375eeee0ebe547de8dab8d87133b64d87dafc5b473207ced266180b416964f2d03cdfbd8bb16dd3bb2e85adb516638cefb5d65a2c3ff5c5e080b8bfd75a6b85eab60f63561af1b632f6dcf792f69b8fbfa11d43165beaf07e2aa4e14eed8054bf719f7dd979e0a1fcd46f57686e4e53313283d4c37055cac77ba4118d0ec1d6921cbfc581ebcc67e910671de29cf5921452bd1f240abb9ff615d8f8efa64a6ddc4b21f2c8725baabef6e1ef86b7edbfe8b63fe35534346353070bcf987f9c528eae83655675c61af5a835d39892114fe9c5460c526b902d65f26db4218304e140cb490ec11dff071543a1763da261289408665d86cc92d0316ba28519133ec01dded899948aa150148ad26f0420fcda0813b8291ab76adf928d1312c910b96caa636c41e36bb4eaa0a84990db81f0f53efa361ffd4d76feb996f6fd9c0e3cc48ff317e8a6a645f5d766e0a77d9f3e35eded1de8e6fd5bf1f45369dbd34ffed6c5b8ef7afcb99ef5056dcffad5b7be9c9b8fdbe66327c3bf7acecd7b1f770ae7535f4e07dbe3fcf6383ae7466f40b45b9fd381f7f9bdcf9fe9dba7798cdffb5a6ff3b57ec517768fbfe60b627ddcf8a90e379ad607fb82f067fdf90475dcb7c17dac73ea08f20c09d235a8ed5873daae1dfb3f91d90d205ae27583aae9fba78a2dec07ced864e21bc022be7f40f6e38caac3a11c7f4a638c3dcb5324d8224c7b976b72ae19324e0b49a6ff9a0a98efdcdede69eaebfc607ef710981f6a5fefe3d8b43521df30dc7a6ace2ab6d84bce98b35a4a29b536ca19b3727e7520109e7a42151633b5326cb14e0f4b39e79c52c260738a6ddb6ae5c01863fc6e8054cff98500db5107cd97b2f8f3c3f2b3b245eff910f4d9335691fee7bd27ad8c2ee2b750904390a73e76216e53578095f6ad953404d80eb916931c668e29e359298d2ea27b0f39cc2f9a7ff2542ab3515be4c94964dc479f745fe8b3bbe760f2b896524a293b1822c8dc7322e02d5b882db8f7d9dcc7cdd88c5468788fe7799ec701c6291de6ace9d0f3b00e5f5b1d8275d229a7cf0f92eb9c0ea8d4393288760cbc636cd19ae2c92739f43c2f8966b9bc14e1139ab1e9382953114690e5be1f126d49b77fd87eae199b520421fad39bb19994a93ccd9678daf5c32fc861cc1828e34a06c098b1e842dae842ca9692fc44db67c7bffaf973d1050972db97f462fc177fa9f7d46bda7d21bb350c682f64772a855fbb1fbb0610b1a01ba438595bc8af55b58164c416f227119e5ddecb7efdaeebdcdd3b0dcb87e1d56708d505e049d449ff006c63f9da52caefc64cee3aa0cda5aa6bfd9043bcbf8feed407e471f2dcbf56faf7d09fd4085a52308fb4b26e0d9c39738688ad93430077d541a06cdab00cd5a7fd6bf2689d754d1eac64fbe774a079a87d887f73059b6ba8844d3835b174884600000000b315000020100c0744e27050288a7369720f14000b7a86427c563294c582410cc2288a6118082100186388218618828c430ed58e0022701f7cba7b11e65de5c5264e4fe24c7020154209ed5b3ec3ee5a447f8c77dd5c078c24be52d7d642f4a3e8dd072cea8efdf0ec86214d3e6d800665febc2e795cba50a2f532dc9ded70a4614ff182359bdbd986721a7f1295439634faf8bfba055e0be1b19f1c94cad815d4061b87d2c45cf9ce2759b33e6fb227e3de5dac2f490b8130de13a78dee30852d8cc03c93ceb29239334b9a0f5bec8c9bfb54716e63ad2234b84341bcaa7202bc30a3bb2574f2da94460a16e132abb4959080f52a63fc7dd6e7f6ea6ed4d0e9b92d662e948dd06772204073dbdfac50c9ef6c1a01c740f2b1adc8086625e344a9ce9474615962c9f7fb1eee51042dcc10d2adea9e7a12c11489cff85ea6e2d0f1ec6883128afa37ba5fcb396e05583ecf54732b58f3e49a253102f65a1fcbe1f07a9236c67b37621b75157d97fe1192eb5e6cc36663313eb4f1eb00648051e03ed4b0c8479c15929fb9eae7d86bc4983fa5755b56ea6cfca0f7f02b5e69b4f4a74ca7e72ba890c1fb3839562fbf7eb69456bc2649e2c69926d878397e3e9a927d12c3770684fb3188001a73a82e9f1d169a013e387e26b843a618e8a75e803bb9fe402b5e55bd5f3f99eee6616f77d1a25e445ca97a3e86572167924492acf3db7072ebc25ab351b5289ec3aaf510a9d29a047f07e475e2b314afbecbe158469e7d081dff16b19cb72cb5cb0de56a86fb87e13269853177feca8e3973af4e56b367d6e205c055746e48bf7aeb4d609152c0ac244035be254222003b41df2d6593dcfdace118a677d9db458a364209a6f70d3b4ea6c186226b8c78b9ab9af8c67ad7d9983f1a8d5088b1dadf304d1c227099c059f4443af2cc632651f052e4df5b773d6ea65fb619314982429a2ecf88010a0db89f4439a7b5f2785e7f933b425970d839e6a437d70a5a0072c0bff3975b0225fb6c1f8813702026e81f92ed4f2063cd3c21a6f8bccd136ad4d43253def5c70a6a8e2fcb28bc3efd1e1e025e9659a726f0ae4dbb61a2764d7d46925ae335ca81053fb3a4d85c6a89d4fbce0179defbe3f97148943212109434ca22c4bb73f0f6c812a030e92816bf85039db89f77b406d39285496319d2094086f2d81fb7d6971348108e31b370324b85fdb496b89ece4b484aace06991ea08a672b90bc15c616a31a12a916ead1bd893e398e63e1f6e46aed5050548236f6d16ff4a043ae512d388476d19eff0e6edfdbba5af2e8d1337dd7cba0f44ddef17e0d998c236b6d64b95b53b5cd292c126c069974a97f9cc8e1342d7afa28d4e5405e958cf21a99db792c67b63c170af2409912593b678c689a5eb846b0bd1b73c4fd3c59c790483681e5718b030f709caa6582200f8072ed037b7174fc7007cbaa1c3c13e9ddef5a7f31650973f6dc1fefc742d0ff5d7c45a61cd64b98e3f1dbf25a8eca9c1ccfdcaaf0be3a2ac8e437b039b7d9dc847ba40822e996b9dfdf79a859f77822314973ab5eb3891a684712f74ae6d019e70607bac75e3f1a43a80dd70e3c2504adb0e64b45e74571e2bce18987cf0a905da0944cf80a3d28ffc88a82d46ddb3619132540c9d241a672beb5a966eea71178460cb184e919337d5c9f3e95e1c556d579ddc8b32da10fc2abe7668d65f1c753ae6fd7925f358e012a3966c226635d860975adc1e22a5ba624cfa4348a253b7e587fcb2bd3a694777dc15b18585dd379274f7a7620db67c4c25b366f24fc00c059a82a42f04806a59a48af44d2ee0aa90f8a310d93652a09c6ca8e31c615010481fa025997b51ff5f66fbae920ec8daeb3b5f6f5d847810d1cc68771d09c0ac3bb9532a68eeea7035cd324bc6f3d443f82781e814941254cec32da4e3fdaeb9e1bd0915932369123914f35cc424920332ca4701780779af290da511e237fdab55180819399fefd029272b380372be56f88a0fea331580d38a3c5ded6893b73dd5166e127346338c6c779f8e32e1261eb18cd5c0d375423ab89da48bdcf6614abd4708c9b13f185d9a0315b6ce016c38118215103594dd05ecbdda7f7bb5f480db48aa9b9ee2256e66cb3ff880f47d8687fefaa9a6067cb1926a9dc8b6fc5410b1e2d12d810b6a1cac46dc367125b9cd83b2687de7e267c198085c0856cb7d11170094b70c9142676c75468c11660214de60240abb7b20ff97649c39172a8bcd9cfb9aaf9efd233cdb7c893319047d92cd688f16c8f81a202577a67f9066557eccfc5b4c68ea5b99fd576971314ef986b20134b9726ab49c360dc21799071f154b691f7975e7d35443fadedd7a1065e76685089c265555e06c70b3a67afcb01411465471be5ad3a87c8d98e3876596f14802d3e03f990bcab2ff9dafd1569b526c850bce583ed411b2fa04b6d1846be873f6c5074392b2115943f35fa8ebd30492fe9a5af9fefe13fed700ee5d08fd43964e774cbe2ef794aaaa96301d8ee645f3d92c80fe6af91a9cce41355c55159734a2123796d6b85631b119e3e4fd8f841c38a6eea832366588766142300d8553a006f1d22a40f4045384db9e2b79cf6db608ebc60732f70935b2b144b1dd90f4ee82a7eadd9a95a410434be7d51d4a0bed62e0bd9664a3bb73a3752a416d264e14f4ab94fccc4486ad525e4d79cc6246816e1fe5a3b446dd28bc6975baf0f10b88e0252723f3bce64038206528b70ae40e2eb0a40b2118437e5df1a58283aaa15685d8e774377beb36aa223b2af053583c52de3a6c3c1570149fcd9f645726dddfa7714617ae9f5e392030da5429a69d28131d67577d94c7f8d65618441d52b7da97663d5d5edd3c547c6321244d9af6d707f489674fa0169c7610a05f4080525a764eb3a625bd1b0fc23e378c02d4d2217da6c67298379e4608ed2cd08cc70348d48d54e7c01e1d75a02cbed2880ea601fb92c25dafb16e73847c5e593662c23e09fa03b342e21ccbad35e9069b892c9f3445d445302d9c5a1949b3f7193539ae1bc50404412c8f443ec1ae6201f047a1749bf9c95c710b44adec13ae83bac7c5910d020ae2db84c37e19790f22f418012e04a2868bcb05dbd1c021b7e59a0aed704ed1fd4d2c5666459673f508b6dd00191ab6f6dba6bc0defac99a02ab8cb1ac8a796b131c72ccde52d5f04b251f9f83c508d2fa982300b33fddf6a23ea15e5492988760b463c1371048335606b59f3be3159f03443e1fc444f6584ac5b7adf196e42957b2f16139209119ac59fc07d534854d69a9cb7b24480175ada534d1a997845716a524ef527b08abd98109d9ab45b8710c1933b2ee26179028c7115eb63019597c8329f429d6facec91083b84aebb2a6e0a0d2797f125ea6fc6dd4a0352c6deb3822fd9033d87c24e40f083a4a00e8d49ee38b628482ef912c683b1038b865aeae2db8026647dd2bd978e76fed2ad84fa696019a5a68bcad84a5c69fe5ab6069637e5253dc29c12fc0de89c9f2b0fe200888ce882482434815eea39b992dae72042cb13cc0737fc620c3d5f10c7554b682dfc0243c7ec0b3a2074d58c5b21d6e0e1b503c7d0f533c4b5825aa28a95bc94eba79e1d9bc18077ae8feaa9bbec35cc4fcb9e10f1cb5466b02ff06a7be57a5f885c046c2870d75bc283480d9868602b10622f157adc0f9947f86c18cba7149f97f001ebf67c6107bf448255f207062bd47559b31f95d6c6c02c1678ccd695f2c84d4538d05e39c0c12419610d02d2efc0d9b41c0a576456d3d33b5a529e9e3484492a360df67e2e51bbcbc584684091af970b8dab710389a2949f818014577e3f02067c05943f3a5f4610dc61ac7de8cc5fae018cd0f49e4306919ae12f1811bb27233a88c93b671cebfc1e68655c2c9cf42f9a45aed605339661e6384ca50d85a7061b56a656692eb0f72000667e1ddabb359bc7f543f03d7940db02fb599099f4a83e7ed02c97499932cc5eb1b157e76560c1996139712b0720d1b70129936e4d07ff3316579a390829b3e50b4bfd93385668a154105e53485b370e9c5905b92f8711ded24632a25204f2f0835f461a9121d4ec2d7d030f911a6f2205ad8af6a83798411b51f86b833973e95d5650d0c2b6c63e06b8483626ed48de804bf543c94e5dc85ccbf0757c49888f3c6b28d1714d475d3b3cb3a69d35f49172934da066ae152088be3f65008d744696a65f18fb09de14fd47e926fea695ae07766e309d08acbca46bdc7ebe0e2b4fda0c1527b8b3dedd7eace58a700f58e4c534ac457290ebf61a1e12a2acd1a8daa800d824d97af506b7954edc457f0c73e09e8e7a16a7ae1d621d775ac49aaaf6af5ee2facb56f6850b982c0c8a3215bd7477a600e8c17a617138ec484ab07cc7805a15906c9c8dda842f0df22e5c29cc94654bd01e172293dc2a01fc26fbda46556ba897da0929a7728517977a4c6e2c6b75b27642063842fa5c881e090ecac05be2fa91417c1f73e57359b71a5763d2e75852fc62320970f4a84b771ab005353e4b9c0f82051cd62dd4a966f1bb832f4eb9639f6b87cb74d03618dc6c7aecf44f19cfc79b19e92421c1a67d16820fe1797c585061408b0cd6c824ec3d02927ec3e77404f31cf8e620b52a77c80c1be720f022bee50a2c9a9b1a349827b057a17a95262d3ed5917da4ad9a6b2d23e01410736f47671991cdf99d7ba1849cda11644c547eb0684170c6fba3023ec253d5e84f11bf18abb2246273c48c16dedaa62403f7c480dfccdd27646a2bc634dc820242c451a0a5de5141dbd698c94e28433a986b0847084f22fdf6bd966af6312ce31cda75588672ad93b6230f47b71e4360eca37273b9c666b1807b7b23bbf959e6b27d208dd1e4310976efe9abaf54829f70e2739429fadfcab3767ff7bda9b8dc968acd330088b8e6f664332db8e435e38fd9b5cb1071edec0c44bc5e33326eccf56254d6d37fabb3928473ce35fbf38c609c185b1a9616a548b312d3bee86fa6fbca668528932c4d0e5b264c1680b3823ef8691ed84e736879c3ab06015ad3dab52c89438580c0e04d459ddbd7e45172cbe066325ea87f154cb9ec57ccfb7054b2c2621235234039eff7371b1e165aba6715d5f3875ae7ad1d063b94fea81c76b4122f59d9857757255cedfa94fb70bd4c7f52a4c2eb03793ddc1eb4403288690a2c68a81daec4ceac27c61b6396e20a1619a6b774d8338866145c874616b14b9ebaafcc4827aa5944da0083348d423cd421fa608a7dd708eea22e2b9763c528f9da908e767565bf5035f80d0ed1108f51fc5e152cefc9e75d1fc20aca20045de4522d839a4e81cf1fd4834d248489ba2d0ff535c0476a90524c183f118b4285c0cf338bab29d6746a5c0fd1767e4123391b845ef003a1eccb3739f648f425162dd1b94e37457a82cea1c47b124c32ff665d9987453f38d90f5dc0aa8ef9e850729a7da7a77dcac77279827aae08307fdd20c64f9c19dfed91719eb53e4df40c8cff64662f0d62346ebdf278098474b03451dc197350819c14e57ed3cf12a6b1b60b5458f64b201b1fa4a6cbde041ef18436266d5c507d738f79fbed9ef8b8c20b5232572e18bc27f6ef2e1fafad06f552aefe78ab4a77d848d8df93e025b7d5ef322cd4e7944b53c391f88f525cb9231747d95f13e423a286b5a06e2678b63c6a64104f88e2b2be1f23e0d6ef7315a16c349be3448491c423dfaff5b9f558590765cc8c264b0f8796765b859ef00940bdb89e888229bddbfc009d41ca1fd8d871e7d07104d790b4fc257fba531073ed104d6742892156dfa6288e6ce1d5524327b84f3774f2fe92afc86b92ea89f7d30e4fd3c16542e3aacd64cecec330735d43f08160556163df3c090f9fc3cae3dc054af15640e671d70c4b5d20315f1f3a084848bce149bfa166ec12da7962268c706e3742e74dbb64a2580faee08f891429947e6b4a07441f3491cc1bc5a48912ebf4262cc164e18f517d52dda28c465b379c44cd23746a047c087162bae14224751ae959f28cc3bf04013e018a3db2578c9e95b036b33fd91d702b6f55c1b9d46cad6f090b18a18c637a4d55d5570f3393c468e4d9b5f2cbca858cc21bf1f6e9b7f5915f65608525311f78c856ab2b5dc2d7151c603f8a15c311358650165d2f0a49f8a9bd01560d26d02c6bbcd3419a28547d522c349add2d6a9e25efe4a90e1b86a84fc13585690c18fe5b4780e262efb24e7fd0ec4d60f3dfdd23e314c4adf7d1f75587dd70572ed1fdb36f007550bdb477951f3d41b9c3c0648eb5f80f73493d3544710cf25fd23e96b2112b71d91d8d910c2aaafc6569b457aca253fbcbd5612f7012d632ea9db394ea9683cf5689c2bea5d2140eb9c9cc01cacf2be61a76ce3153e6f764d790ecc23c4863666b3506cedeb563f366e193146789366542f9a5938fc55092359fcd211be015f4586f300f0a47a8dad5b2ccdb4bf87821983d2516871f71d1e7c7f80fea62c94d862397b3391540458c51aa27f39ed2efa06b94f14c4936c8b4026f931d01e830bd200f6bac36312e558cf2c97b754875ceed96a063b3839077d98e19390cfc1792bbda150cdaa951ab2dbf214c74ffd5e8ab11e66607af6f71cabdb7830c92cdd809a331303cb2defae076d660fb58c2245608a5d64e0b1ac8a931e026b9049782eacc1fbdcb10c0bed98060d1b62e039c32f61060278152dcb57383e9b88430099e8f679bc7e8f40f9d619258c8fa4780ed198bfaa871adcb9793c8188d3006f16581057df8a946223f71957377ad4df7734a30ae600dad60815ba37b0a4150f0efb1b51b37bd0d4a52600fe6c5b0cd9c71a67d0eef85b9a6b99cb50eb593203e0cc64b216ccdef22b7c1da071dcc85e12fbd227e9e51f1581a1df4639a7777098f0b71ba284196e7571f8c5ef96a9e487044a5a301d98701edc9c148d5cabdd380322dd87ce478a349390bfd0e9346e592c20b317cc9d7cd3022461d422f70c9346c3d4eac4ee8055f7e536864054c048536b800deb468fdc35d63d9636fc1132932706bd644f09ba5d0f7571bd55fb045d9e0601b572f0878b0968d1400c21e5841794144efa3b52b12c34963d7d8e10412d702fb5581183b19682be2d286075c6f0537cc8e227e09bd00704009989c11254616c83e5d40df149cf8bb3cd734d9cc0ba2b982210c20e04c08120bc35d4179cc2975958db31602631febc02a9c8ae6dd162949c00ed1947c4072714b991b64b9433e7c344b06b18c92e0609edaebaec71a5499ff97fc2b80643c2b7f209a8b9a248bb5ff9d4f507c2f907a69784c008d62624ce1ed068210b8fbe7b3cd3e676f872b3b889a9653b7d8b8a41d050bb497fb29c64b5f2d992c1395e4470b2ccdeb97ce05b2ef0f7e22260052adcf81350a8af343719666015b41a02d3d0e29e414b801da118533eb2684186fac001d47cc61eac5d2d2d4d8902aac3bf341e936eb46374f860ab5bf1db0348bed1724077a4d642c2c885f49b759bf777a30d00dbebbb00c1428431d5aeaf5abe0f87289165a1bc05e329bfb5c099202cf21dc92b643473a215913552b26a78f23c50cc041c4067a40b9ff2cbd1d40f76e0d096cc2a824198ef1b21b64315e95e806894428846cc64d5b2b497099180b909f1fd181d84304ac2e92027a5e9e259981ba445667aa4925cc82cede6f5ddfd3f27bf2d7e8db85c4f20c0fd21b553a2ce1d4aac7939a29cd25693c7ea0cbc8e76cb1baa6953820b916780faada7a333162487ab4008f3dba7263ef3e1d6280b8a07c672c370b9ba7e279a53713631320d4ccc54feb9426050ff715d51425d40989db87eac53f1dd2f7fe74b3eae691f93558254065b61db96573b28e5a7b44409d82eacbed69ae57d3739ff95568a1272e4e89529b214f88ab43a8cc28e94904561058cbe456654a5b4812e1d9257a5ea4bc5959aeccff76d4707da2f36a5ae637917c686ba01a7087fa9814a78212a66001662c980401f23ecd95cd6e26179feededce43b3969d053013b0008f8e172420e6666483bbd7fb3c8daf650e735792a199d931f5384a2ae7544514c5ed6db1a04d364f7e46e6b6287b0078043ecdeecc4f1d76da6f7dc5b9e2458b33a5ba7c95cd6ac8bc269f1e3efd173f47340c74d7a2703940217554752836632630ced05aac4adeb5eb4437161903eaf19ffff80714b161c7f066c3368dad2c65c87846f68b31de7a7743388a3ded4f66e822173c18f6cf3533bcc57cb6fe69b53f97b067ee9b37e80844af39da0596019051d4b590c82109a3d7162ec6293c6b0cf6b107590d29f96dd9a174a504f27c77d8003dd9200d8aa544590db91555d15f5a061af9aa09675e306fee8115f2541896484d782c22623106455f47600b9aed73b9a615fe40e8d844488ce702c95a45a38869cc025592add0fc22cbc7a584d0f83eb49704f72268130a3d5d895a9d4bcdc2cb5dea01eeb7fa6574bb51c42430204302699415e5cda8b43854722ab8e8dc35195566de1d898192bb74541cf8ddf1665ee4004f8238aeec35d0bfc82d72c0c9111764cc4a85cc0903e71d4098eb859e81d0ba2c2d0e5b787258d172a14d10aaab605c1dda0dcac11912090ae1d226e852baa6beb03df5ef04930b8e275233a0ded3e4511d52cfbe1585caeb886be09814d39ef65e2f065751a8c7f31294ed5b3ea5c4704a789f3c460a28b105ea18f511dfa5a95a85b280bb1ba806dc19ec1cbef7f8be9f6e4164ff36d026dab8401cd736f265cddb9dc1fbc06c426a6a2807f1161a7fc49207bb7c584cbdac8017c6d599f7504c9cee3fd25ec76a0b6a1e60afa6da72481a937cc01f82a9d07744e394a48efaa1aa9dd2eafb239dc3a1b5e97a31330327f102fa306766bf75c1e1f4a73d24ff7fe152585581db67102bb67396b3653bec90f1b94edf64daf9f1acf5d571c9602a52aebb6ce8888eae274a7af41a1535907b74f874f25eb2b6406ea2112b41a9797f44d2dfb3bb00f944bf83edaa8c5dcd8e133fbc0dd4e422dec35ce299a4be117b9a2ee286ccb9a4140d99dbf5f4c9f5fef4fdba2bfcf113e73387f976166fa8249e26c9b3de14874c4396a727c0f8a064e7cefccf94b9e4dd780c9edf63eb511b43b638a7e54b0ed346446988ee331aca1bdeb827314ccbc98908e3d6744b23361db59a11e0b1ef75206655a77c65916a80ea23eebce3687ecc543c1959a03e3131106b8f9a647c443b1717786fdfd18cfebc0d423b4c445b2dae95630fc8ac64dba39e37380b6687f09458ed1f685daafaba3a401759689d5ab41cfe1c89fe69176bc4f2d31d477612b99ceabc3c3a1fee33e86884ec7e6ac37711c97ebc6b1533c07581966dc5294005f18d89cfe53503e1e8a43cf0c9dfb53acd468321c1d2d72e710085aa9f9e7f5b0b310db03f03464be1efa6b4146739f5f67c321c7fc1b4664ae2e1858d012bd13644f5fdcf630cc82a03926a1b87cf95f0106b9e413063d782368d8f29328a16d2cb93f5f719c59b3832a9df096c39e62383f5113d5343c8da7fdfc8e5098bd5f5c2d9c6883e9efecbeb4ea968773508636bd0d0401a52518573b550f67aee36f7a700ee126f3374f0fe906b370c5538252d6ec9f6fe53ea6d3df946cc40de5c0e8fb1e3512e7ed0ed22fd33b966ac696f07c51c56f1ab71e9de8d7a730ce9523e2788811e60f51822c05532df5683ad63a42178b024e25117889bed0c3f41c5b824287b89915a61ed443b7e442958b4f1580fa7d30983d6d9630a2f841c0d59acfb4b7a285d3af1cced6eee57eb012e3bf08cccdd49e0fa192a6acf86f68d3b3a98a6b45284c351d70b08b276ab671621d852f704aa7e07a759e32ce836ec80575fe0ad6d846cad9184f1b911c1335aabdb1c169457b21e8e69c92919b53e5d2f3792f5949cba443f025d9045f928b40f242f0f58095c94e24ee890b04946d8c8b1cf6c76735c834e0295e6061b977f6c190264f4004b112e8927b34b4b9ae976e03badd33bd445b94db9089f0a3a1a3e068a1a6c2efc6a00add67bb03be9229ff160256d9e3db551b154e1734cacb8758e16bb98783a32c645121b2e02f639bdae33dde91ae4579adb39bd8f0af4a17fbfe437973379fc25505684de04f233af8987e37689074aed3f628738cb2c85ac7e2fe13bfa3333cb1e9fb84478484bf223d368de0c2556bb7cfe7e42e43f9d251dd20a41f3f253c526c4b163a94ac4c1f1a6903b42c794a9a84cbdcc1a4424adbc00e810cded0a543edcc47afc1f0af96b2e2841e675c77270266b8f43f3bfa65fbcd2a109adf610c38de9851742474d5d85b12788876243c4ab217c24f1f8571b8a2499849991df43a84fbc131ed610cdf509558fa407077e3a38a26101b15a0d7f2b113a42541942f36a62971a77c62a4cbe111e9e23623c783e5037f2f6b64f27de6e49f8971566a6369227f73ee28ec8e6cb2175cc121bfc679a2a40e64774f467c1f60efa0f1a778273eb418149383cbe861b2661fbb0d68ebf935ce3fd00323d227a66a88182baf88b97505039c0114ff2d564002798c9cc99b362a9ce53ef198437fd867c7c96d701af3e0c81b7e2ea0c1cf298e7262ebacd8b68fc2bc6f3221317be0bf71d879769e4d1c574f088424b3bd076b0160b602b54641c0aa81ad9eda0dc126df8679229444c18c2b6e6a2271c3ac2b5b013967dc12528c5af81726505daeeeff52763eb0fff2afacb718e4a627059d69a177fb9b8fa3a8b9c44454a60c6f68724e4d04799731080e9469d964bdca181f401a9a59f9d56f93474536d27b293157016da6fa36bd334f905fc4c030cc167aa20dc115259cec1b5bcce696037a9c2b00f655748cca7af6c525d070fe9e352a458da083ee4c95efefee320aa658d5c65dc3777256820e65c0941046b367108d2b94936ae5538e75b60655df3f26ecc99a41d7449aca870b26cb3fbf24c86cd23f81abecaa0d2bb597110bce8d83354b8617b26c31e10d289be8c93034ca017d12c426796a16c5209fe5ec2fd32d9f31fca42ce09a1cfabdf08bc01790d2df734e89824c5d5d93704b03dfc565108f3ee702a97da0aad4d6e082e9312443465743b2607ed9f3500b1432dcffecb5c19160432e288767176ad9318a80813d3a480082dc76e63f02e71a1102f9a89d5f9751da4a0da16918fca2abe1441ad1fb549206a5fd19698791859340c3c537064e50eaad4c68777014e3ffd87fa3d6bd13816e9afaaeae32760913ef72677a9bb968c672aba5f49e60b08e1d33a0fee85ca35c5c530a0457e7e47ca8b31c1492a463eabf0e6f8694ce861da6985a194653fca82dd9cbbd6d7f5e0ed2cadecfc850f3e32a3beb21d41717138524db7a8a35d6a14f62f1b8456f95b8948a6ac813714411a99664ca63399c505099491978fbba7591cd14231e17f29caefd1e37f165fc2d3f198558cfe499e4990a3ebf1f1bb6edbff5b4a7a28acf1e7243cf589807cc47a3e3247ff87a716e7307c8f9812d94a438e84c4d248b7d01ef4be4cf734b78716ffd7791a67f7d6dd941c04df4f7318b90706ffd958c1748fb8afe4bf6d226ad9e33a19018bfca2541ff8bb6d0559e9cf5a14fb08c0b2365c2720597cbde6721165a5ff38f46b1be00d4e237ab17d23d687c031795806e1b9d0288e8efdd0018ad4e84dfd7db24b4654d670081c5df9b85c0a577173f306434a48552e81b8e49db9b8f4c5dff77b3b8d44a18014b3d7a458610903c7c00aef20c95ab1149cdf4c426a29351fd8ef23ad462cbe98be4bd7bfac78b43963aaf93c1841e056e78a53a5058865b3620bd71bd96d48b5036941c2166566f14b209ebb8f1af563115e3ea2de9389407064534c971a3e99369a4383ceeaa37b9c4e5f23369ce1960eb91a69476d06f151429c49a208f8a5747742731711d8044535f13f4dc08aa9b3d91d524e8164971b2dd0efd5951e63c8ca148697122cafca0143a48192b0309954766b2f9d2cba7d6d041aea9b728e22370481faa1e1e4197a30818570a246c924c70da0cc7242da2e5c6d7a39e15d31bbd37413ee227f4c64f7bcb733a00b1417247f1dfea01b2e4cf6241a72c02f12993eae303e8af89e0bc2cc7d013a3b430099071c1938765bf3fe412a1fb4517145699d0926d31eec4321654e0ad7072dde78918a531b408d90fce983ea5edf4d38d664927d2f68969b7f01d91c965638be631a6647f47319c106812dca27b16e9d741647a3e29deb280f65dbfc6869c3dd2b211c1cb3892e17020caf9ec0f0dbffe5c5bd07bd57933de1d4a49ab5ff3e668c82c7e39aeba26cb216d414dbaa915b85034729c889da268015ac36839b22ae16a7bb5c303214d43aeeb1857991775e084e8d88089010a0c3eaf06423d7e12d5156db6218699b0530dfea3d529c6b77c59b64a06500f4fa0061d7380c5990e094be2e6f6be0d84c1685fecf1dd4ac44ec622135f72bf5cb5cdd5329dc6909251dce9adae2609e37abc80c666c2f4f1d3c1600ce797549f43294fefe22ea1e8b48caff6f108ece6148e58f1e93dce1b6ec0a7776c69a4aae46f302e242495088d2e529a398ee1aa6aee7d45e0e207c1138fdd672512f38f88eba229452e6dfd6d07466bbc31036c1e315d5e96087912de148bb63c86859a4def928aa3acef392198da60f800ec5410a75a01a0b8571cf1c55845cfb59aac3b1ebf460d1a82622e184e8d230011ac02dde0f1e0c73ddb0394d6006b308d5c29dfa0ee451c5d08480fa54d320ce5ed0e8e96528e356ce532b08d3c67582040b3b0aa4e1de524d03496518d3771a971a315de6f4d96e2dd4bf9d26ea9441da700ca9943a764175719a778d4c2342336d3ed6f4846ac6851da19af49b0a6f63865138ad9ce71672d9d5d350cc5c95200c0895e98d94eaf4495aad1260c6593ace2995db59b22733bd1fa392a830654a0613262b57efa64fbab76dca3d4a25f6c5f68537079d92108678f7be9e0674a5e79ea18dad8423b68cc14cc77633869428a7b6877ac5d9be031a339b6c1b94aee4a07d568ae0c562abe96a4cf216843537a6e4dd048ec241c4633536876462a1091d2edd9ba942745f0272de65e0338c1a38705a7cd9269528794993e18626e07f86da45ccae8d22dade014a813ea22911d454631cca9671a1fc8fcd3f047f8d419f8ca7c9e4c2300918ea517765dc5d3e7755309259c7da7061047fb644026d78f548e1b15ae2c731fd7e487d6688fe846345dfbc1a2a7a4fe07a87184ff6d96112be00ad5b5c425cf3deb8acb1178f8a49d19df145fadd8d1f6265743e7e16cbb0276c53d1883abc7ea580cfbd01d6398851e989c724906f7f78d7a58ff6a23ba87cebe63779fff1c8915ae8d3de0dd72728ac3a21b167573082dff62e0f3b2d44dfc65447b8fa5158d14a393de949c6348f343d040bf83811efb0f372c0f9a5fc6f9bf30073ede96db0a37b4ffb75ff814cfb905f4cd1e5f6591ac07010eb172eb1e47cb741840d7105a43684206a499a5f1cc42d9cc907233027aa038fd889535561a9a7ed17b55b5387ad0038bd02a334495c1ceb61de6cee358ab11fa0b48c5db55ab8ca39605423294fb4d92696b82a4c33448857e9a3752d20c92b02dcb2fe58108f852975974bbe26fdaf1d5c0bba18def4606eb7621f6a5b4f46ab8b98914eb1a887691a9f031ac44362ca4b0915c619f4db1ac09bb98b259c3b2063f9e4e1a0a9d9daf6aa6d9aa5d66c5ddeccc6ab02b1199ce1ad1b7d7753774c80f2b4a96165d350c324fe9135caeb260678d2a6a23afa8e7efc035935277b2674faec0e16d6fff98e86d3be05058926cee588f6ff5a88736a50bdcaa04d3cfcb2d7f0e60ae8ca15f7a0a3cbf090f74e82c8f26c6e4b78ebde53b3b68378a5d99a96b7ee97ce401ab53573974ea924730c0389f071b8f5afae0a35b155cc966018aae60898786d65fdabff0d82ac22649372a5a962cb78d3986cf4a8049b5bc43614abe897a5642dc8d7259e1b90da6b3d195551e3c644cfabd2c5b2edb33ecb9a6c809a11dc4033377a1b754950fd552744b117bd83470fb02ead6d1095e35440406938639aa237d4e40504706d5aab71be60532863d43bda3443a365aa90624d1a1f5e584c22acbe8ea2f1cf013ceafe784af2acba222e3bc4c34804c68b2384567a408be990979184b57cb03dfdf5c06309a2b0797594dfd5be4aa604c161015700cfbe2ce11b5e510f246ccadd1ef1834de0fc2fb41793bb724c0a85e2da358c4570f55471cdf52a53326218b9a235aaa705ab10e16c68355028e85df81cced8aeff6d0878e3bd3cea4ff3c90659d16f4cc51ed43dd103fb05db0d7086085bf8223a9c0b20ef50c3512e682241220a43fd1da0e53d52c81d6307dddb338ae3283c42248eca32ba86bd2b3dc36e6926eb84ed2625e274585f73b13497949706c1356b0b4463893499b1133b7c599f090a8990ad65a2382a3edb536f8432b22ba1f85106f2dbab8ded1c6973d87568bfc3d44d7516205f2eb1e5cdd10e5448c32d5c428b32a46197531ca541993217d0e3806e3e319445ee267e74469a4d010225fb22576f8d626e08ab77b44fdc450a256619192eee64a789b2591f44aff77311599a9223d5ca0f4c0c0e9200021834b212faff4a8220996d6971fed99aa7ce921e959e210025c85787637d38b692a8145c4292e8d719dd8683544bcb83d390fe95f7ba828201b35a96a46d402b4a473e934c03cbe6a72d8415bae25ebe2e44fb9fd58b125035899548d776ed948b4c26c24dd99a4f419f25572a4a3a994bd1989beca5021b1733ee86061bafba13fc5dd519af1bf6910648724ce747b667d9142697fe41dfc433f1b3f6030a729e82be4465868b92c847c5a59c824f59004bdbb6d1bc05078c48ef11a5f5252f38477ffb1efd6b3d28b4b8e6ada696c95d2d48613720e89df3faede8479e22eab348458c18c0a71983c3c009c553a90aa9073ac75bdea75d69939ec67cd36b20edb2d32e3b60aa8419e8364580bc87594d10eb505b7c196dadb52a4d931a3a7d442a79b0e54c6774aea34acb59e7a28d3570a233062530890d2c3eb17a915c78f02c0a31e33d6364da29871a12f3545acf7a7712a22b4c1860650a4354bc1883a9b088b1d3cfbad963e058b18e7dc83d7c916e4c1b30caff3a400028f84b767f9e84eae1fe99eee590211010033faa9588cd584db87ac51fbd224aa862f0b70a1fa09213bedf1c1c6b8fc51e88add9ab43ce7d501ac1fa531520c54909e6968d7856db7ba75a5f41bd3313e3f601a7905c9b3235cabbccb651b05f17becb38ba120ba2fde7d73178a982bd70f52c23369d4976a17631c99c1c766b4342ea1ee3e38133546d3def2e573cb8f5285f2a9b7405909711c2bda1da0a2e91f78ec9e34ee0c09a1ee317cef8955889ead5a622ec8b97aa546457e043a3d0f00899569e8eaedf5945861bd7a224e1b5c74b06277145580e8757940f146f883be434cc27b0938185a60689a662c9f0403550b53c29041f46a7e0eccd2f43993e5b551de1fc697413b8fb62a599241603a8f4ffcca027a8fcf2dc0f06e5c30a9f59a7700d210be0363cc57088c3a147dca93fb0119ad11c5fb0a94742323ed30473cf3ab4b1f8551abde33bdfc31573745eccbde2774fc77426210b2cad3b9339c9766f00ed7784f5a9f3fcc55623cbe761d145d31745de3c26c69255e4368c4e2c3ce2aeacac3e04295e77e2b6e096d2646634989a5d4cba6eb499b4a5181679eb2b0f32c63ec8ed34f82616449a81fab46e8112191163d18d3c022de8ac2e10d8be8ec8921e4247a23f476c68b40546cfdfc39b75767a0931cfc36693944ef01809c175f6e5c5d077cd574d8acb00c6f1d4d7534400fb8b19c0944fb1370753025fad2d0bc617681bcf08c16bc31968d074bb1d20d8a60455a204a4579a685c8d505ab36b5b3cdd01d3fde61dc2cefcbc8b38840f216c8918d90246d294dbad0bbe710612e1899cccf97893f8bc1848dc41252f5dd421473e073885e238abcd4b35854fe42fd0be24ef902b4249ae1a9342a33d667b4fc233d5cce52dfaad2a5ca09a00e66f54e05c08d5785b7d2f3826f805ae7061e9cab5cb98980c12a8db0fcab9c96838d5b3dc7d4552e0cfd2d3a0b44bbd4f84a25f099762e4ed058918639a58aa54e94b06999ea491098f0682155acfc54a335ea516b20f0bcfa5e86e0d7503f948e98f0eb8fd14938bb030630685d210a084ef217840fd1c52d0f2bb85d7f4748a0b584d80deaafba609cce0718ff1a124925c3bf3ba67e18c8de4b24dbb568434d44728f197eb5704dd970fdb08ea1f1fb0dcd1777ee28f0fcce0abf5f1fd749a519af70c9831e426b56e6f014284d94f451ca99d60b69f30431481607b86c34ac745e2fbb14de2cda7804a517ced0ebc07f8cedc4a499a4c4f5452806b27fa7d0dbda70f93c85f685042b4a1157b2220fcc6031e2eab78c422753634e9568cc145f080461cc7d178e6c72964cc0e56b619b02dbacac8b5d7c24a1181a4decce6470fdfde312dc18f19c600e702ac6e41c2ecf6f9c7126635a50814a0496d613c2013e5b8bcc3a48f58b6c09c2b063b7c79eb4e1249522cc35f75b6430f4efa72b7c61df18c836ae65c2fa93e6800d0b81e700e7ad742b6ed5534d19fb8882223e898a2d010c3037be7fac6f2fe808d4ad82828bb927d687924049feff1cad55772be5fb17706c1661bf0238dbe7cdd906634cd56e2cd061fcaed4667c133db1200d042706adc875e5aca1de870b480b96e6aea5a4582b321393d94be166da749b2dfc185b0bd59ec54c440e71a72cf616d68e450331f4da2ac21f4ba9f842f3d1fb0b81c194ff10c0e3f69b4af32beebb92fb3b1da621be9c9571bc420010a50f4a648774fb68d537f59db166203907552fbf8b5821b18668dec5576dceec0b0fa870f6caa0205d5000e834c0e3253e92cbfde3934f276e818f252369b1bfcb2d54e7d8ef70fd0e9cd729d73c08d2684231d6a912dca69749e61f13825ca8824daad2009561bc67d3a14f19a0a36d60f533e5d7fa708c09074c4d2eb74875295796b34e25c9401fbf109f27fb7e917d483ec9c5585e73f8998e893168717eb6abd1d1b1058002236de661e23b9034f156c600e857b712a504ce56459008051f3dc0c6d570178526e724c5a2515a18d73b523a9b40ec298e7c97390685fb6095b2aa86858c68fa7528d9fb90d6d2e1064e388b18b223af42a169ce9d5c7ef688bb2f1fa6eab99ad03de92d855bbf40d4f496a715b670969baa516bcc8609b7ac8509d79b1c0984f1d6546fc762700eae75c04b74d7174f345ab73457312f785f60b03e17b3f44240e8dddd4929d695fdc27a621db1ce58ec8712ef9ec6b65eb4646d895c09970c542427b34184ecd3cb8c5d2ad2ffc86a068c17356a1e49e08d6748c81caeb71cf099323a4ac6a3a3c87a9982cedebdb6419107c9dd4fd60dfd553b8a8e75b9b456a8205098a2892877cf2106154015ac40b73d2c62dbfd3639b44e845ba274aee4c85ad3eeef42ca520ef44d00773ae0381e9c667418a5314b9ea7d10a7c4d690f280d2949be96ee9fb72d65df56bc4925628f1df5c6d69306659ba8992b0218db1798e54314dc81388ae356d420c367b8e69da45e0c7a3f81d10ca2e5c0dc98ca52bd62ab336d90a750b58c7459443fa9c47c656a868bb769eb8a44842c95a2a3b9bc27f3d4d4b800cc2171c472a160f319973b889c43d7f1a45d1741c4900d751c7e95ebf2a73b2683dc1512eab29c950a2cac8ffd29c3ac08cfae0c9417854b6c04b89d4681e5f0b0b4eef5cb09b7a0d1c347e2c1dec5e55c3d7aea3d8a0e60f8561262bc81b73d231c65745ae77e082c015952fd221d0560537eb40a0c7dba086f7c64908f07ef8517c78c30e7809154ab22caa157cc433630ddc1f525b576ef97815f96f34e1c7c8d8137d37bf0c9efcd417f30f57ab0e1094b155ff12cd2b7ddd06c62646d78d245e15373e790ff404e5f17d08a613dea9b428b079df1bd48333a036a20fde1f808f98c82b8de8802711b585fb32d8090866e4a1c9b84aa561e2274b7696908afbd4e5ff5ad2c4f58dee82ba8df4ce4a0ac1d4699f44873d607334c27d276fa7153b3d34b6971bae8ad74fed04691f260aa796183347955aaf3de61e3080ff949c467be0adf876afefd57e15414d09919825252f0d85d116243b4e830ee7c6f946fe33ad9a0b0808658188b5591bf9c8b5eab88aa14259b46518c63fba1061049b4bc816b0de7117fc32feaff2253f233cb148838fa2e5fcfcdaf53fc17a5966b7cc3e42ff41ca7381cab85aebf4707d2e9010d621b77b8bca5ce1ec4261295eb4f8dbe05444fb35b00886b03ac8ac26e34345cd9b6113bdf34d36db8e92c24330338a25fc7bf07a0898f223a381b1ff2915c60082a16605a1ff5830d6cef3824ce017dd4b6e082ede310bed021f19e01b32e54b9c48dbf6d6fd23ad84f8c902fe41d69678a392b8ba566a801ec2188b451d467228fde48bafa5beca91ebe2a7dd57b95d448538d430c50718c1c2e2ae390181bc4bd7d35ab2e33f06c4b0cb942e3c651ad3400479c1d0ded8259a1ba1fb8e9c483f269620113541d4f5c660eb23aee689c6552b670d3be7c60c95f83ccb119177931de4039499e24d02af04d27d9f7382f7d6a2629272e2555033c911d4ab2a6585ff270a621cb71445433e45b3675808be32df73c5d8ed0bfe9397ca0937a1551a4ba9e35e40bbe605753cd9c2e5f0add2877e673168c7b9cb858710724a19c923fcd988249e21d5ae54b73772e073e4efc7751e536c239a9022cc56dc54f11a71561ed49c45e7219c3d1b853159ae9e1751cd45862e0a62952d70fec4360f9f2dedca96b69c9e4e634a15ce7025126636e0684da3eeed80484168d45089c4d63fcd08716dfef3de401bb7e889e173b2fcc7bc0296dfdf2f2b5db6262809c39e892104b6806694a4b23b9ad196d46c1cb226b9efd732884ac77bb288f31d20c48e914879a7fd89cc4ff484f3f8d18ae5036666e5996bc210b75d6183e925072ae83747edb4941c01b30127a7731bdaaee140b7f6c3909bf497985ab933d6ebc47c140c0c89a5295e482ff3dfbca63c7916c0fdec4fe721c588ff23f012985d80d989d50a097d1aeea2646d3220b4c168ba8b5bb179eb43296038c7e2a7d583ca3386197e774f96b6c7ed66c2acdeff0590effd76baf9821f3f2ee3224d723449c224e121e7de4ac2d815577b9e035a62b7670b81f1298d7cdb5ad848b641a6ad6a66c29c5a5a0ab60c0189ad8095bf42463d14ea9172fdc0886c8bbc22c8af339965a5003fc911de00fe9087da403f8031cc2fcc1c7796e5243aac393fd2641786852e49bf215648dd4fe4db54894a381d5e15ec3a2f034459bb4ad37d6f21016cb5da14a1ef32d3115e84537ad5b1e30f8ddaa94219cf490c7e9eaf99acec5698f8a5f3989ac9dc6b564cc4c1564c309b5ea225ac64ff761fce68dc4664889fdde9f006153e58a8229b21d89080f05bccc0dab85457c12582e915cb5fa9595a2fee98b486919c844531a149f69066f9c17ad617eeb8909250ff5b218ba216e18a53e16144b86e8c4a6f1d8020d103ca6544f08254038770fd0c376642fc84864e733a1292976c5dbdad1c049b07e2b63a49a983a5c459e6f8de6fade82345d79dc00ad397c795354e422a928529921df08eda50eeedf0370ff4907fdf1b0f7b2ca5242e142668128507e72453333ab021811de651180fe9e41e2127231fd8a4c9ff14bff3d330a2841cf4d3a73fbaa92f0109cf43ed96c3f6f66608289e01c6696b3b4dfb117d695198d7b0d60998ab173aad96e3af169407a051a194e98b24d01bee19e9d76be37c45a38a2b5f5d78790470dca7e203c45fb40948870edf612a3caa98858b5ec3c72fd9bf3d49220cac74004dc283aa5f7b2ffbbe24c12f40cb5d1babf4f1b031cea1a347f71b5e2cc97fa7a34a3e28dbdf464be49b7e8d194ebb363f7d69c766c5492663c66dd7ac4bdfc9d15f8978ceabc017d1d869a97d1f069539df3e370889f8278c848c15e3e8eb23c82827b15c80b2b5e6a5511fc99e6304f77070267a900b033ebcbde68817396075198a0dc666d2aa49f9c48188f76aea858a3ba8f15ab6eb581a7b7567141f8e9ae936cf6c98ef8dad6bef48d13601bca93619bdcc22701d55c5a7fd0544f521c04c8c185cc2b0a45d6ec6aaff7ff9ca7c30cd528c1211c129c3a4d0064dcd3ce4473c7ad14d20a7f168d36b68b52f1be835ae9aad0035345163748e4521ec34b25ce0bfbdd88e1c9c182fb443abe4234f9a4ddd27b991ab6ca9ef6d74031ffb7f7ae7e926352f29e22cb0f466582e1f290294f6adb6e3d01f8832fafe3617447beba14db85fe4e531cb48e1d3791a914ce3a952fda4b200c61ae374d6dc8b6b9f5491270e99b74f39d698008a40a770d22d223ba71132fcb968d797d49e141d2290b3bb222e132aa58abedcdfeaa5abe44c1b5a8d306bbd64b203261a130aab8f5b4bba065630d8d76b2dd7f106a167466d9210d50db3297e2db64ebea84e297213fbb33d6509f498d253cd79a7af05a1f064e36941475de8b44b583b6b840f87280a7b2e72153b67156b0e6d61b0b16649405d37144fde3b0b6576071e5bd75e48c486103f77ad9dc72b70fb4c1a4017995b911e9e28c9036d5d3ccad9f2506ebc6bd8b86a367dccbaa822d047c101feceb0aa41334e8fa7c0c6b1e0a843a334cf07ae18caa24e17d60703cc175ac44f6ae5716d3c100d699d255fa5e3841083067e8e6a3d0f24d3f468eb864596aa95a9f4ec90f754787cf685b6d584093501452fe4d66132483b8ebe89b2059e7b8c50906a91a9f264f56d844433facb2cd45b3e245e2806751b7bdae591bb78435a643ad5b8c651f793da8e91c21ba65410cabb0a47954df8c0520b57785463d891261f91438ade22fc197cf43a70ed821090df333e510ca4a9cbd031c4c0d8712c969d83ec35bf7d1746160a47508ed03e4de3ff6bd0a92adf87f4dd89941d25270b78ca8deae83e44edf17856dea46352d65f26cc31f15afe8a348f71aad7b322e0e9f563752fff806d726ec5338285f1fef5fbf23bde43977d4502f0843c833d77589292061acd6a1ec8402b4f4531fa2a9698442b0cf860913a186d1e98c3f62493cb7fdaa4f79def97cd4e6a52a3cb43b5cb1f72b4d5a2c2121db48eeb21542a0200f9d123282c35cef9b908e0c731b9a3c61e18373b57b4e246c40871e093fd3da7850922facae602e0d4157c708e7e512f6597bf76791b287097666930a09356f322107c197aabc9dd78ca488161f834d79d94c020493ca7de624e151f9661345ebc06011228860738488327926033a94c122f897006a996062c34a07f4b6b9a39e90500ab2fb06b1ffad96e707b3b41a6b09e2c9c8038ebd1948c4a56a4f0be886098ac34a8e35c2b85a2b1ee37fd6ea6139d44fd310a72d648777f97fa9579dcad54be6ada4fc0775548933c36280ea7e53ebb6358f23547da3b2917b0225290cf917c7338e4222f90356f607d21e4c33f94ca69f51c5135e54cc682355a766173542687e6f640d9e049c606f403414e943cd5d0925eb95b992ed0944784053f137c263a425a253470bfe48ddec3d1fe2b7e6ca1d9e51d92c428950da17aec507a17abf16e25d77a86256a9f9b9c59914047fd372bb455c8ffa9ebbf08d07f0273c3277599a7ab804fa06548b56c9bfdaa532b36cb875c709d3f15404d63e0ed5d0ae0fea49eea94c36bcc121f472a481939530f23e8a1a37117f53daf2e4a56ae2c75018c04b95bdec43c62424c7b405fd94b264a21ce91ff7e88aa21e41e08b93fa5f5dead41a067334280a774625f59dc8725b6b2b92d9825698fdff6ff2d8acf98936145c0026b75711a6f64b363ae85d61ad97e03f8fadfc5c34c9b5fec9082772acb9c241e2ef9fe033c86711115beb7beedb13539b580ea7fe22da36218d6ae81b8c701e19049804336abd0d6139b19f86123a1e810d66322cfa72f63d0542b467539662a08f643f1ec1cccb4c25a830f11336e0b79850cf56feeae4ffb2d05f159dc6f91a4359e27763f49fd846c9221558100fbe5d37b6222b5a3a167a208eb6c14b7d69ddd20b7172c2175c95209353c8e4504100539a22bbf217f053f64f5aa47fb872de19b3443436747347079c386d7307b9b7f268430ca81f021145313692d9392ad9301c7538af38f4e24f1cd70f72dec9f8042f75cf59eb9e1b885fa14bb9f408aa1d9bad54b50deec26bcfa274b9516b7629359007b54cf467cfb6bab285165d464c2962dbd303e6598813715d6865c34bd85e27817d828d4a4eaee9c4bb79838baf74fdad198818a0e5ed6e97f27f96213de60423667be9d8964948af086849d6d0fba010939fa312bb2721b16eac2297e57a06b264fe5676719a568d31214c57a2ed8cb2529e123912a469749381e88b86f12475be8f859d55fa3556d9ca64a618f5dacb2feb0851bb1585499ae6866420b43988d174fc4ec11a5be20b12a8a53993a6f76c308c27c3d336e855a1b5609a17637518805443fcca057e05454184bf708affff9f11d8a1fe590401448a34624ae920795de7282d6daed2fbab7d4238fc2151dfe1832d3aa2855516df54b2c67b6993b75b2bb04abb7c40f3cd35f23a89f588d674f612919c38964411547a46b039ac44e0d4a38f41686eb8142a3594f87aa18780cb1aa73c793e4af7ee1d6c1a773518ab10e0ce35c0190d5e18c2147a4b39e2750c29026c56ff9129f957a7f5705ebfbc3ff249c944aa1ea21d09bbde7e1dbc29a9e30d47d579ce0be0daeca0516358c3dae31d4d661d1d26b9a56d6ded6ef103da101f81cf2e1bedd403be369f24fb9f702b509a501ccdbc73f57507652fcbf31a31e31bf883ab7166353dcdb9d66a25e6959df6c380c7713b26b5842cdc8b05f4e7b6183d2b7f63b14c89358173991338615a04ec7e32110a5db525769cf42d0a6a312044ea2d8e6b62c4d363a886e769a448782eb8fba299e179d50cb4d4221f88c4e93d43312e1db8d62ac3e0aa89981963caad1f65db0806d6d8ff0f90e379679af4363e47fc55fb9948e0df9f61cbb0b40b9233519ec9ad2e91f61aa1b40fff44b9531b1b136746da724910c08e691c80cc37af2c285f39b59d0edaae32162344f377377a1772b4170860c7ce714d9e386b1efd2455d45609825264c885896933298f7f2bbf84483a851ff8881a816fd33cccc4c58994f5f624d621cf846cbb7c1a4969033607cd9b2164d9fb8fcfc67891c2311d2c4f0795ec5f47adda447600f4af47ecc04a7e949db3a10ea3638efa1c001a9f75758997b6ef271e9aaab547de3a20ca0efe456fa0bcfe1d3a4f09708e1382a0692c2eef95c47db67fa5db22b142b48da7be7b628570b8770976f8d9df7d3cbfefd5303b44fe71fa144c32a04295fbf9fadc652293d06c5c44c4cc06548b361d95dddbd55d7f22d4bca644264c8a37406b22c26dc9ee65a97159d49fa9d23baeb09865138191408bb4254ff40d18a60a85a209c68d142ddb8241331c86a4dab5c924df5f417f47b23ecacc3cd232adf558414e12fe55013daa4b0b095556ccf3ba2891f5bc3f58b2b308b2b1c1a52cb30b2599a894172dc0df99d539cb26bebad7588cb453b04d6a4f293a8efa5c45ed11779af339da08a9efa9f462c25b86d8384cebe24de52ba483c02123169c5d5ddefad5a7871030b1ea67cbf5371cc72cc8014d6163573e16940624e02d7996fff980cb541909fb1395c1c9576f10217b02e73764aba5f20b4a0c68a46af5748b018a1a353d5f604ae16d0ece7d4e04b253f4d1b9fe20cbcfa0749c2fedf1e8e8e9e3bc45d2e7488cf6277e66dd629bc38f2ebb08b4e1bbd084764c7c3aebf89b19c7df38d093e0cac4ed65600962e00ec3c8592648a53997e22f8ba81e22222242a49432c9b203fe03cb033764ac59a80697a2d566dd21332401e1cedf9763ab8588effb76fddb02c2372c90b3b19ab92a6bce592d5b04e7e415335e68898275dbd1d4a3135979ad07f180166b179509b0585b3040ce3659ad30b9aa7500e2043927393e86dda2a1e257545991ac12b8f0e56639ebe39164b1513fc2ee9e47464a068c23563c341a386a3a510fcefa4a22d62d4e667256cbced91eaf83678561a37c94989ff5893592fb2207c8fd0c9b95e49b9230adb68b9455825c09df05c42e61b2deace08e1da2e2276acd81c48814a6ee6d5d751dcd635a2fca03c7e128c98687955b8f16f946961f74c7b5afa6fcff2abffd53bdc1e5987b25070e1c046a1aeb34995f9d358079c6f8e21e330533857d6560acf6c6f83d7d7546fbc271efbdf6de3edabffd997878b386c6febc41d63addfc899835640730c0f7fde5d65a4baae4be325c807db9c51a3278297865dc44b1531c34ce6c9b4702acb83c4db704c6d8b6d9d331f2ca3c6ea6d87ceb0d608c31c618e3017c30c3333230d88cadc260327c4626803d7b2e2387ef0190d93667c07061d78e6c38d86f05467b9bb0e02cb680ec6f2bc87f739aa1ebfeb6ebc95c1978654a5b261682ef1ed72b3eff6c4acd5e08a83b6b8fab5a6b9de2cccd1a1863b2c6f81a82cd00000693c0032308a29b82f1dc369b5683e0de368dd9b523d88540ec3c61f3df81e0def627e0189b4b5b95e9cb2fc0dccb9e86b92e460edff7b6dfc8e1fb6b6334edb6492b48b70218adb51f8c06b4195766b5a2fa7773dd9bcc24b49c5e0423be176c15ec396313b46ef2d0c79795edffd79a4673beaf07efafd0f85790ba6db282d429e8b6492b4bf7e0656370370663b9b558740568adb5a7b5d65a6bfd919ed62fc671d78e723a822b321637fe0b8c20cffc8b992976b83f5e3bd21e9f01413bc3809e81e63257a639ecca4c14364c86cfc8be1d62e4f0ddcb80e543b74d57a6740674db7465e9e357f681d7aced1905391682efcff3a72b40db84c5a77fd39525bdbb9a41a7b04ef6da11ae1dfd35556c752f5da531e3bb2db7def8bb767461a3ddb523cb6df8cb5633b7e506987b1c5fadf5ceff2a9c666e739a98ae2c1b1f7bcdd8595752fdf9b6e9bd17e72c2daddabd58a3bd9fa733be5a4039abb849207224a46e2e74294248da49ca4ad2417ab5e86389210f3f4b64eca0f1ac00d2e356a3290b44568e842d47c88584151d2429559c6855d15149b27203c503c544cdd38e0a14b62a399e68ed6e9baaf4a8b202092c283155326da956e36ff73e613258eb3b8a01e46436730283395942a5364588098d8a8f92255484a8fccc6657b359678b2293ea2674e26e3d57b71cb4e64643696c4173b26c4079b2ca41e4ec923a87409d5b4c660b4a26160c730523d4a808bda12384a4d383a5937346d1a14d6d417559671528e6132b1a91d38794a9025411d37945095d8271ae4627912254874d0884ad076db2e5985936da69640b8d2c15a0a023ac4c2072ae903a73a0ce28261b25730a0cb3cb08bd294249e4089d49727a4ea09c9c1c3934185b501159a61494b366754221622a91424340a960426328a1371866172334a9e894c2113a47e0f4a027e0e49c45706866952d28b2b440d16185a64004c52175fa40994298ce0f944c24305026237445110ca1133d29724c2e1bec761782869ae04277564c2a52949aa043484e1e21463f4c2050fd647183a3abb3d90c638c6f66603c9bd9048020e5c67503a216e2d5ed0e848e2ec733b2d12f320d1bced6e6c906c88d11103c326c9f62b73b9babae6eee83a2b04da67d3ad91a0809e77d4b391a4a444e65e7ced60a71f7aea6cbf63c6c42d464199f29bbddd144e82a9f852bf7c07ffb35acd2c8ff5f7cb3ab71e59cb557a3ab01dad5208d4b250cd4488aa2288e63cd554d911aad9aae5799c1ebf5da7b6783dbd98410a52481d8d56ad878c474bbab41a14db66eb0e85027ba280cc32d1d59566810c22da62d27740708dbe75390d9366dec24260b43ce23fbeb764793429b88ddee684ffda5db1d4d09d35ea47081a8d5926a3530305a14b6ddd574ddee6ab8ae82b59b6e77b4ad1d8d4a1fbbddd198dc30a7a3ce337a41837cdad900b131625fc9883e417da03d629676a6ea0600b23b829524c250cf052cb767ee1cc41ce87646c558821ffb39c657c6682f5af5bc4b125297182ac6d7d2be90056b6ab433e25b9d337c8093dccac8ac0434b05d661770ed029e9c99999119633323cd98cac454190f06bb15a821877540f69044a376c841eed180e967b7977fee7ead5b957501eaea4cbfb0e750fd3e8ef1719619ce32bb5de4ed225128180ce79999db75deaef36a148a02b913eb6b316105379caf9c0aeb07b14b1f563427e4ea7984e04e87911225a6ac24d1a1a31365100004ac921f6bacccd91e6777e808b9f137cb038884156b7dc9a5b9ef02fb1a990badd3094cd605e4745205b99ff2815de17d20ad563eeaa16439cb65caca734ad6a0b56a7d410006e4fea80143d6165e0429cdb5aeb02e4d2dc10240ee55b03f3e84b54165b1b8c8b1ae35ab11135607d45a805c0854561c0cb42421da7ac29d30c2d3904e54e2b71c21b20281b22a20b7b5da2b9e16433b56fcd4708a21c329ab17450043ae02392bc5d504c5ba5bed95a700a4c0b13a20f728582916f4b0b24d2c55ce8a805c0a589ea65e67838ce0b332ad17e470ac5e8ec8f33ccff33ccf3bc142d6d00a25b76ac8ed3c08462cac249eac44709623eb5390735ac7dc151b33ccc31929927c14390d198a3c03984cfbbdfd06f1defeffe23ae8799e776fd8c388638c944b25eeea1e056c7b98eb98b863e817bbfc63e2c5610d79e3f1bfafb49543a17d7d5ff83c2c7dc22fbc7df8254eeb2fa67e2f47ae3dad75f87f6f69bbe55057f11defbda5ed375cae4b9faee2f7f073ac8661aa96383d7a6907cff37ee49eb7599469794b33e05e2e8ebc38adb9c73dee7d89bb25ee4b5cbf5c14af99aadbe358edf0a9d7d6effd94d4e87bfcc43c279969aa7600bb19dca55e7aa1d65e4c6beee972c4a54de438a6b50e6bc8fc5670bb7d611659872dc8493949872f686171c110062b6f6a87ef7600db3bf4d46beb21ff4fcbdb4f10961940fe710f5f164999ef6d7352a85e5bffbee4df739a32dcaf58eef0f590bfa4eab5758f831bd6c35ddecadbf77d25ae8b611886e50d0311a9499cdff0248e8dc4c948001012836b5702c7ae84cf8e04d6ae048a100441d0e29db51bc1c28823790724c1a7859d283a416af2912da4ad185eb7bb1155d6fedbffffb7ff6fdf6aa5aa4cbf3cc36840e3ea763702471fbfccc05afc7f2fb6b2e76f6516e3b7d8628c532f0b54bf7ffa16bc1aab9f9298ffffbf05d54f71c637caee0dd37a8451cf4117c8fce4399f276cad02fd60e713a78911413f23767aced0ed2e482be80946e2b3d90538df4bc18c825dd08f8ebbdd05f5e8688a5d57672568984e31841831093a813a0505851084431204a2890b0a2b37ac53c7ea3461c8d9e3e364c129a8065a2b01eac81c82026501242403882708508824a00f2617962a2966d39293ab083a430a4a07aa63c38c4a92324217154b7e489c2dfcf898533f39a78b1f1082b2a0224cf9d0c4c691d30a90d36ac7c9c4848280828c17e8ca02ed5989ce1deb8a2aad3a59d69ad01694a78a7984851307121541cc2d3c4eaa26b3c78c19305208013dca99387339a0934b6ee724cad9ecbacc2d2df30714938992b3871094280a15ca81e648c17c92719e70616af129328bf88c68e12302c7e706cd7559ba82d2a2a020aeb2889c483fce274f384b362698574430b1a4f8d13314a4a787440f0efad4f38194ad1b2da0c0e46c62e41461ea2c01ead4dd30a19c80da90d0105654f19438a9f0e4ce183cb6b3060fcd74a2c53442c55ce2e4c50a2450a12e544047c08192a0e44482d9a40516113a1387889fd326e23624a2e69cc2559475e3c9f922090a5455a3c78e1d8aa3718688817e3032af7027cc24b820330a0e6766c18138b5b89c40aca03e58a7082bd3c710d38a8ff3c609dda95153028f2393088a73cb8e90921d9ef36827c439c2ce07d30a8b8e1d4a29b1c325bb1d163957d8a1d40902145a02130f25530b06fa63141658ace1e5b565c0d74b7acf2f6fe5adbc95370fafff92140d750474bb3b31a58f2f8f46fd78e623d05fa9f58b93af5c826aee38244e98921e44f02a5f9cbc094b9504a21939eee5cb2b55c99293cf3bdc57ea01ee2f75049d26ecc0c84b8ec1ed707b483e49beca94e42f2fe94bf9e2eaee65aae65e96a9fab1345f99d771df0c9d8db4913724107943e2c691b48de3d80149a6eadf8ce4982fc9c77baf0e47962439debf2171605b87c12e13334cb83051d369750774bbd32d618cc318ab1bc4fc3d155bec01ee16e463b6cf6df9dcd2686efb87d67e99539b7a80fbabdbdb7bab1d3e70f33d62d857039a9baa1f66b293772cc9711c493ebef00f86df6bf29daa60cccd31e44ed557aaa14c5330cd62dae1eb61aa7ae8bcbcc1362673b803a9c495b61257e290ae0d3c45ae5e24a09baa5b14c554bdb60f867fe11786a97af6104c55f003794ccc5e0d21c9615235c35e31d8b5c1605a74792b6fe5fd9a7448ba1ba2ad7e806e774451444bfd01ddee886cbafe65d2533f556f27c1e7604adefc0690c6031174903fee20860b5c369b7b87ab92b68ec92b3b5ff87fe820d9c14f4c55320cd5abebdf07a624983b99a6609a41b5c3d75fd20e5fffc61b0ce3971aa81e68c6947f1dbe108329cdf34f03cfbf94dc60ec3a7db9de168c7853c515c5ab38085f0c55300686abb01d4e8557e1545824a432cd540dabb4d63a1d2fd79ed6f7fbfec3a90fafaef8e1d46ff8b0c8278655dfbda91a56fdd003652f7f9ff7bd473e78a37214c841481503134e7d61d587555f58d59f87210c4c48f5133c5e3a5f4cddc751f33f988fe3a8ef3b53bcf4f1fca5664cba1452fdbf78d3c77bef0da9c2a98f871f49c654322a3b557dc03ad83b39a9bf6317b46c7ba5d32ffdc890aad43ca4fa4a1d4c07625d7e275116701065afec954892e2a7be937d6525e720553bb0577f83a3320fa9422a5114c3aa1e7edff7855418898c8a987b451c2ebdffd7e27b57bdfdfb8beb1ac3052d294de6df8b195b90db18758b998b3651bd43f7c2dc58bea48f0893d29027f732cab37afbc7d154bd5b24f997b99a3d9e41ccc0186ae0f2dc81cbf3b5fd86ccb357961ac4f09c92317f9a265773bf9cc64b63b8587680ec976720355335dfcc63c2a52e7a5d8cd94eea9e63ba5f9eef8d5ddb4f7039c8752cf38f690e1323efed37680dee9daa6fb105aff425e73cd2642ef2ccbd7bfb094a9ee10b8f5ea824cb1a1452c7061380200063170000280c088584624112e3281a2dea0114800a6898345a3e24a70b2261308aa2208661208641100641000440100081200a611824d90396309db7fcdba7c37d27e634cbae2f0d93c5975d2dc4b6e32b98b1d0129f1c97d07e4af01b790dde46929d7ddd0f08f11bab6cf5301ac01e5b4ac72c32abe7c8b85f36c5d80d2e78a902a6e44606ba70e5dba85229f02bc66e3ebc3d69ced00a86ffa0197ee691e21450b5aab4bc702847e0ffeeac1caef64888b2667126c0286066ca50660daab3d5b29ed8290182e16b740750f2880d50c3ed320139fe4756ffab2420a40af4ceb8c60aecd020eed554bce0fd9c1a01d7bae9646a4a4cff49dc0fd560cdb14140ef1f4156ba66dab1cd832cbe941b5254a68534ccd158fd50714154e6e4205e972d6e8d02089660e7f5eca73119a26e081b9b271bddd3517c8d25e159f08082018f7a0fe9d11ac43e531dec16ca89a7e1b67519f51877239a51ce4d0c7948338be7a3e040e74408eabbe29e94059ce7e78d54237513634ec0c265cd392c2ee463ea7922e065d3e344cd723b99d7989c8f05e132f9ef3cf9502058d2087655a1b1af4e34dfe6805b90f4b7ac11d50ebd7c989f8f5d05e16b8401e76f6b650a92b6c46366bfde7bed0d6f489034725e281c4558b4605788972e8b2041c4e891eb344ee3f75437486b208c689c0e87cce3bad288c2cb9970a9eaeed69c812a63aafa4b28c60979c18dd27172c45b861ddb33df3b20688c9c82b378d4c4cd0a05119242372a1c022a38d268fe2f13d16bee75686afa273359291097efbca694c44e01303158399d0441219bf6d4a22d8e8950a9a48fa0b5b713a75e392c34e580014cf4c41baab3d36e06f971a6c5cf2690e0eac787f287e6bbe3bd8f11d73e48348c8acfb7bbad6a8c8ff20432fade5badca0b045dac459057e6bd5516191ebb6228bd9796f51272c6479f317c99c89dc68a408a26633dd6d58fcc9d5e928b05c6e8deaa7211128539e68230e38c6da52adacb32ca745b0ffb8a332c0b6a20270cd7db2f114b09330ac624d2cfa8cf236c1c73d41e1669104bbacccff8d8f10c5fd52ab50d21da7a3b7c0c7527dce66b9a92f67d517c3234d9e5f45031510e7bd2ceb88624e5a01adf68924eb929bd83de7d8504ea75a76b83512d2ad812b9004c57818ac0064d1bdfe3c3627e4517d6d0f74094faaed63ad4ae822b6b8124e8dc968e6970771f4d82cbe0da0a152a249dc856359a49f530f12270556d9493981a11938f330f24db9b74a2665024bda1165326dd996a5848970818ec3f404535756868a538bc8042a43b1c3a4f7622c0b2349a955b07c2e00bd48614bea28af061a7473705e2ba18de0e932a479600206503d7652a3b9ca73cdd1726ace0b859d6cd5e90b7302603fcbfa2fd5ff64212efab66eb0118f46a6a46c46a12a50a1154c436b4e5180a0aa8735b3290829b782e17cee0bdabd9875f77e855ae7262b427fce44bcf042e3ee2014fce5bb4d574dd4ad7476e15459d9a026fb940fa6ce49edd0166a14c02165f140e64405825eb304a59a2b528799548391a6669b24889ce587ee4ea3dc4974a5e10c2b0d6cd5e84b5c9ad6bd99bc167cd5ae8450bf811689850b7f2589e712063b495e826faff22feb42207e0329549e368485c16028e927f2e17125c00415001f08688b42967e5df614d0224946ce815b4a0ea11009998a2481b1dc24dd3485b84396dba388ef62aeab9a754cfda9bdf0c976becf87e8f37c3e353b2e318f03f19ba6246699a85e46f28338080251ef87a8d1c5ecefdec0ed1887319d8e1be56ed6a23f85c01bbb094959698c1dfb2825a41a870c0ababf67b8b63760f18f9ef49d55357d77dcaa85b9ed2e8d0020b3e22551158662a2fc52b7115b8c7904ae7523c66a6ffedb29aa58ef39214c593e3fde097634ab0681222a76f773ecd5c899d7d777c677e772967d1f582574c1cc506c37b4f05508600cd023b244390ba0dc86ef88725f590b911d10ebc64193e1f975522ec459d401e50a49add6d3e1aa508b99464151ef272b92e0cc91764f48d33b8e081bf2a08d2542ced697928aed8d28ffcb2bf766182027af6aff9691a960fa4aa9aaa5832eb9df60bdbd3b11d0b836cd9c49e1a512186eb3c24fed3bdacd0795feb7633608fd3946771eb46aa4070bf2343514db9b6e600307b723f734f3ce723a20a5a587f845114e7af98b75d4945c8c99632ca912e12d3fb747e3c2e88f57519593b5a780c1042f1f037e9a3798b63667581727e3cc99069d14c7f120a6d06e588dfe79b8066706c3dcfc79a91259d94754ff95133224480d688f7525fc7d6fc301ee1d6d979dba494f0c8c9524b1b322b988ee059c8c6832761848e6073b79d97d4d39656e3f4f11e66a1cd6e61eb75c8b91d56d6228d387729afcf9360c29af03ceec1dcfc9fa73fd37473f769c4cba69c9b5393efdb89d6c565e3b2f50378a9134659b59455569cdb223d8fc057a8e0f2535da28d01aa2f84f5dc17dd6f10863967217cd1e9def63661cd7f4cb5be2ad85e1ff1b00938a98a8afa1fb6d674034fdbf658b470f7355867e7fd3b2e47b93071c376e005d992dce52c9dc1becb0040dec2a90246a4ec97d2d0a12ee8ae52e4b6cbee79e6ce46f274d47bcc5aac57964d2c6b3892f504fd4cac8721608f27ffe152d64093de0f975a49c19eb72a68d0d256f9d34283e50882c89b0419817fe82c97d01099ea72df06fa10b064897302ec6fc882429ecb06b11c0c3490d70ce4ce68c1dc2a3512b9a7859b57723940d4264e6aa33b35d4a357342bc624fe63ae1098c5aa9419733f8d1f3617b2986217901cf7f3bec4bd549e40437b09c9630b5bb65fdfc445557078d0327e8a53a49c5806f1dcc7d9222543157dd85bd87e3be302ab5f5b6d3bb7b87c6ccd678afb9c3e94d50a1d912247b122a0cc84fee409803eb442d0cc9b97498f14ef89525b690f60e08d4bfe0d097a59a1073339d952c4cba750daba69a1a4cd2e2ad635138275761a078ee23068dd620ec8e35ab0677c7ee4b97f51ba41a95a5335519bcc020cf80faac2cbc898b5388766871851784a715d58745876b2e0954615f678428f4b591fa2b90f1ba425681da6fe984e034d900cf94a90dabe95637a1692a3491ebc035499206adf06b165c6b58d6b98b5f7f8ab4db01e012087ca64b090fe648240cf8834e563ca9d36992076ef3b25d87e1b47972212babc3b25d414d45aa4fca7275258dfab9409f9802548960a277bb9ac0ab5490f8bc020d3c06fe602de0864bc3634a965f33b338200a3935dc05e35b682350ccaf7522e01f6ef577c2d18c0a9e6a83a12f82402c9ce851b8753ad43bd39330d94ce29c14103a9473c34f5ddac496a218dcc01032ae91eda89bf367f6002ac1cb09abf7fe849760c63886ab3b8db0766c153eb2c0403fb509e727c187423a9dea8c90dc4ee5715a3db93a363e92e7f909a35f39a8330cd7e2628d60260a5b9411329553b625fc332a5a78ceb9f5c0d228f29f4f1734f2e55db0a72e71647b28321e533d585a7a3a28449389dffe87caedb2c3aff4b777487be8e31872a7ae4e42f6de46d7b5e076cd5e90bc4ba15ded6adfd49cff02d77367696a8828a18f4805b7623860424d5688f4ee723d58cbae3df7f5c3f205d514f4a410c78f63081dbf534e0a55d8012538ac0942dcf10bd4e546c91e6b341a1b6526efc39f274f01cb8bee8a0a4ad38dbf11d1b1fe1d7e3f418041683c0e4dc93f7e31fb757278ef7e8386b10db8edc0849e3f441d3614a64612463f969d761a8a053012704436a3459ae02f3806129affa2f521da9577f9a8cb8911cf17bbce2b8195267d97290c7942e802322018c64878f13e24b21a946669d0049f62002d31adba410f013bb29737f7be4e5a9112107afa25ac7fb595be1e29452662fc2d32f72518f4f6f6df4e4186f4135dc443cdb9210c436b842ec08dfbd85ea69a993e32d8be2ee6f6abee69f8ffc709c89bb6f654cf4a79ae6c1df20486f38891a98b9f9dbd12ccc051521663e99ca09d90dc487f2ca3a626cf4294b8125b98f23fdb27df0e8f7b5b41c0a5cb7119e760bb4b438090d8026b0acc9def4b2e98ca41f168521be05e2659722c96dc0d2ce170fed8aaf7b735bb46fed63848f51745486f238d2c8b169843f6d7bd038092effe1d5075d2de4f6af6cba5a88b38161641ccbfa7b3330c5e28ae6335d179bfd2737b0bbaa89d718e76e9840cb109209f443b4e595a855cb11515e475eb787a7bf4d57c975dd90e9b5d3b4eaf1766505d285038246ad705cb33538456defb2bb37bbafde941059380a8227efa39a48fcd4762ad46562fc89f03ffa0e28ae5051ed130e73aa44b17701350c6f7f7c1d47ac28242003a642015d35ec46ba53439720457ac14bb910f921235d0a332e0a04fd64841ee326730d104711b54ef87e8320d9209381fc24446c9532c604055dcf25d2611247009e549ea50a1ec2f7cb908a36b88007bf17d390403fa823776ab32a8b462abeda5a6f61c0d4920665b0a4ebb1af435886f0e791f2572d22a41deb6ebba3ffd2188bf0bb3da0462eb02a4a942bcdd5d843248610610a4f08af5fb82b4e0107fc09e1bbe4864048c5b4880deec8f5e6e502c25a4e416d3bc4af371d832ad5c1b7412d64835dd023c13f9048c3da68cd9091c86f0cd51d298970011a0c16789925523f7d7bfa656244ef80259608b0a45d9fbb54708456b8c7861ee1be1f59080d11c11bfc16e3e812f301e6948899a0c0b6b57148b03cb80d64c19b92617a58b1fb0fddd16680b312461cc97a53203c5d9367762e42905c85302cb0827c8dbed74518c4bbfa67c1a1ef89bf892388a52294ba01f2ad3aa3af0b320e8b604eabb685490478d1e7827e71f1248826b1d9f8d3bcc6bac726775e400ac7a4a6b7a7bed28fd81d4bbfdee88e38ab21951c801e9c2884ef9054649503f4a1d66006729db6f9e08950d07f924b64560734753a3e01cc001e2a8c907a842eebeb9535942425d517142b057bf0b3e1aa368da4a53b9e76fa6fda41023ff1fa523079cc8fc7c748b73769e4b8aa22c5a6c0b4688aa9a0f05e426de9ccd19afadef7581030b385738c23c292a0c79ee4ff017ce928e6b53690a6980e1afcb1d3928e76a7d45ebd06bd8eeaf6e39bd16b9e2ad8ae435e10838caefe9ed98220a3c3007bd5dbbaa0745450c10b8e04cae6ebe5b12a78119cfa6e9480c9910d6200e7bebb2d7f4ae771989a2670c41bbcf1c10aad2e1e9f9a4b1e48063915e11b787eb1aa54b136efcba1d955dc1e4e1cf96ec0d645ff632f903d3a56522c4956b87bacfc3a1ba005578402654a2ec13019c83c758ad6c1a486a0136db06fda4c3d1a06dee5c60ecc57c2ae1e8c2b0eaca17191af1a1455d5ed528072fd38330898134f1893cea525beddbebc50c5d809ab102dbbd3568105330e2fc390fe041031b43d34dc2071042e8738aaed33f88bcc809a44bea7f912154a29a3a10122cfd15ca6db4ae618d37458e28a22543ff2363b1b88ba6ace2f3ac14a280ff94539913a30d3ef3d13b039639a4b7bb6d2329b571a62b418c0cc98a0c941889012607db491274b0b514228cf2aedd71ebfd6a3565079e0b02d20a5a7b9596322d0513c42fadb3403b1cb1303f624ab998ac5eff05a6cf037f4587cd9b1ef9b9502eb969965b5344663b143d822acefcaf33710eeb63bccb7fc3e7721c8998def013241cf0eeac9ff906079fffbe07dbb2941cdadefe8790b11551298156f336192981bfe03fd8744474d44a370bb181b7205460376bb5d7ba068bff65d73a2ea9589053ee72b1a4584cbc926e9609543acf763902a37400f0265a762c6130c55b2142aaa5b3899db7e9086b30cddea0c0486326a245fc9896809c050adee6289390f128adb07d1010cd5dc26a38200460921f26693043524b63bfdc03166e141f457a28b2808399a372f8c46663876b5bfa98e6691e8ed3fe3e48099a4259c8db26a2816f8425341b1309566af1fa0410290c3fe7d406208c4dc36cd519705c371a19ce99cd484a9c39336a86cbd2059de142308d0504c7b2d55d8fa0c90c021949850401a04bbc1a5910631c46845e30c4b85f868fa24bb84a5a04e58c241524cdb67f2964bbd0656ad899aa9b241e6a4f3589a645758a0b1c09e6f762fd50951fb9f4558cfb1615196df0fe432884e1c72c46a911cea7e21191789311d9f4aa74cd95620b87158a279cea094b1f303045f0fa0ecef24d61e18d42e060640b80772d0d6395eae970c717bcc5d80d4a73833b573f24c12865bc8088bc9b2a8c1c71454c6a894a89cee9b0cd6e52dffaacb487830bedad51b1691683c77ac3b8fd2abf822a57f46de0ec5135d5778cb4eef7ed2fbbf856b72a6260d73eb8a556be9270a8b59f3bb1dabf3eb3ceec9847f0089e9a4bd468fa7f21a0fbdaed4ccd41b05485c12eb37583a4618ab25bb90b77e3ace97e344062020beaf45a767f90d916577023947059e95cc44b995353ed0cf49839bed6894ad4d29fc0b3dd6286531e9b09822bf71ea2aec40b0ba3bde04458c961008e1e23aa7763ed21db0e0e236dda137c9a14e5f45460cdd95f152308857d8f2da04724dba92c644c9862b039aa8bc1c9c69cd269c25a8a0073b8ac66e79fe451f974cebcf33c2648efda2a88f41efcf169d50251741128c208d26c34142115dbdf9a42b4c43e3019c3ab38d0e69bbc4ea3d2653a850248610b87b785e889a947a7088fb3b483b3b9d69ed2fb28e8bd5cec0c30846c611104ea4ffb776a004a78a9e745cb94754c222e5fb08c737c84cdadb7af8b908408542ad222ffb3101ce0e7ecd17602a0c65836e4ece381bab8e19137b0485338313c2567914932099eb93406d39d3aded05db064df5ed13a4725350d99fcae59fc056f247ffb609d30db0dc4d59480219caf94e9d73021c1b4f0a511555a8bc28fc8a44e2489b3d51d4550cc8f71090b72b4febe63630fed5934e7fe7c5e31df2ffc1cd0666d6a6f7e0824a847d966daee6a2acd2484e50d7f9540c100a302d34929f293843df841ff900e87699e277261817bd666881b1bed002256cb9878761a071d991619ab4fd1572206655d865c3352770365c2c18b1148a6c21121573d26deb193d7985c21f66320cf5f29061bbff43c9d4185a8c8a6345da339c0cee0f33f4509342cd05cd34407035ef6a8a3ecb0cb80b83c33e54aa0ee2c77fc3976d35de37ea585eade69625ff6f1891d590be65876620c7ed64218c06fa1b03ed04251355b18c7bffcb757f050ce0e9115aec8f2d24774b69756402ee77d19f3496ce69171c89d8782454cf26797334c38ee4a372f64a8e6a9d9727a42f2aba326c73a45096fc6d9a730826082804b2853e9c90e6a1099d81b5001d2aee750169b40c1e02926497a10f3ed155742d38b7013bce68d32199e40c0d11de5e7fdfd3672f63467dbcfba3cc319241476a318d9336e029e4465bc0dd6ad1e9b13b8ff391eb106be84ff963e624cc54ed08236b1ec97085f0e3c22d6aed4e4176c1047b91b5d0169f0baa8e78ef9d700c04daaecba95637cbf0ea9e8c46f61028e729ca11109409e5d754ef43832be6c859c06ad34e15bc00448cc60b23156a1eb87f6d7d805fe7407c32a2d22fb8eacb78d2c4886f6b90adac0e7c004a6434afd03a8a4534a4d63aafc90ee87f0f2c304b4704a129216dbac73f300d4d85e760a229cdf6487c687c6e02c03dd218daf3c860b1310bfa2e2c863e4d34eefca5369e6ac95749c5691a131744d92f8199e88693dd8e59321d3e57eea02520081d44a455ceabd4555408d8079050f2a34229d59394d39e20ceaa28832a6b8e5e5dcc86f0e9ebe843aec398dc4ece3c0ae2ef0bbc951061a6b24519c02173ab334547755c1104d6b686096f2707947d9db411bc0f0982b65bc995f1908fb681cb844357217c28bc9d5936ea10175c7ed05bde10354a2da96293abfaae29caa88af449b8166a89e80024a1bd9c5f45ed07df47690a0007146893f4ed519a2f14d20df6dea730eded754de35ec43ab7a114356abc533c5a21aa37eac4333105131a1522acdc0c49118fb633112a85183722d16d1a4a11d3e9141527b609d0d505cb6b829ab70fb00947ec9a65e26342168a307644bc96fb090d8a88ee284e3c4d142914140e0af309ac13428adca7d870447ebba41e22946a1a7291ef2d8cab489a863fe2b7ed89a44e24d588f64d65829ea29714a8bfa27bb7188f226993512c3721435e34da0429f813f3276c4f31c32d7a3b671389d154edd8840c2391f496790a31ba22eb370dada8b96e235f8480cb2b22ea7107a9407473d689f64f24bd8a6cb5cbc4fa47ceb5973bd1273271b2277a0ad984ea4201a7e275c2e01121e8241d1589dd20454f31a310dd845e6fd16b733c8164e26fc24ac135414e213dc55eafe8c5f19342f545727a9dc9d451299c26ba40b18c6591ab9a464d38d5109918dce41454c5a226e1220773847998f86b2ac2fcd7f969ba6713490afb29665845f74e2d144a7f11799bc68fa84a5d7964225bad5987fe10be4e2c20604e1663e1184efa21aaf3d80c9fd010893cd56498896c362bc547a1568a0d4ed1f15cea1b5177e353e026be1476a150ca15355f0b4323ea687d13f9133e859502d784bc89ec29247d44f66e1a8ea21227a3e828e429f426de26cc29aca5d8108a7aec640c8ac8de342ea24a394ff345cd6b1a1a51efb87ff4c602936c7e7cfc552b6646febaf351648b36bc901ba9ab50ac4331834854724ca450ca125d53d3d88838d77b224f611fc50c4bd1cda985420c4ff4edfc13490afa2820bd10dd9a5a2634fea2fa3831fea296340d19d1cdb130218fe2c48be8deb83554e73cc7a248a5208762a3206292a30262d1d1e56a2443aae1141c1b35346d361f79831f9bde6ae8f440fa42934ca315db3b381abe680cbe33e0d60d75776171000151c6468e43875b04178de8aebdaa036e97311f8c53b499214ace8ff2a2c3908024474d779ef172453e25438c15aff29a465e54f94e195a11769a465f047005e9a6aae092405b6328bad3589ff026ae18f1f14032a52fcc2593b930dca3892413bc095828c4e810f51d9d823a912d45a4619180036442867d916acb24c575e6a217350d81e86c1ca45751bae1132432a19110a11d46316a6282898fe242c13fa1f2141b7ad1a9dd5d49516fd3278832a1b111b17e53aa10356cda894a8abb89f013f923f4869b183b3c98d13c66e8752e0cd70e8a0d64514af33c45ea23d1c4c98fecaeaf1332fea2cfe6ff134a93a2740d373162144b9322b4cb99386e2231a19f428cabc8adb38ed0b5c850a8974824b5997c426947d4bbe94d5429b42686290a4fb1e18b3c36fa53284d1279aa69e0457c4e3b5145b19f00a5b0bcdb309b49c715d7c3726cb2951875137e6b6be92a9f403b0fe20ff85c0ab52625b2c1892ba0b86a34243f6ee9f18964050c0dc552da39c78b90043621c5be2b271c35ebf6193dcac50f4bfe50d4cfe76e66f405ea40aa459f18f014d668b70be15bedfe372fcd1587f900e01792b6a672e7d88a9c3e66fb601ca74ccdec203d3b64db985842ead04cbe05acb18927f28a4b37b91e304589c1fea4197578cc15caf13e97763d9f2d7d1c1c80e32c977830476ed862ed007c8d9d21eb2c9184437bfb59545f9ffbd9719de1126cbae2ade0ebb40594923e49c0a33453d8b4fb606798433a8ca4e52f51292e93fb5d1c4850f89c13f77e61cab3e028012fb35cd75a47bbc1736a2ccff1da264fb8b2b943e6fd91a1876bc38d699d7be8f58dba235d40a181b26dd7f437d247db53f6f348f759be26f8e016ef1abaaf19b5a8ae0730d1d9a69a52bf45f85cb114a07165b03c6b2cb93519ccb8ca4071ec162092283ca1060f48ec611c4894f95d2f88cd136eba1d7389d2c8e19c61c3fb6103debef3042460c4872105db52ae584d4dd5d821ddc5b6c0060730b6bed590c4616d0081e0ca54ea3e8a6c7676b0f58c38745e39aedae3a76d0d29ade470867b0c16da423e46386d493389931dcc54bdad61349f2e1ca42f1db844a8933310750b1c1743f7611616f1980e0751976cc091e8d6ffc18576f09d0f06475837113c2a2865c4232a44a12d1a3a4849b596555fc615cd4edcd8c92f9e43988b2c8c7612bad7f1124d36e3b0400a96f049a80c2af95d55667ac58b3497a42d84afdc6a29101d0ae25bb83d35ccd6d3d6a0490d27446481ed3dec8f670518d8160efb0281558b9dde132834cd2933424e052c2d3687af328739920486ba230e3a95e5701400771614608338636cb8e65a5ce9c60edbaa4201e9e162d96d093e7f85ac12c3a287bf1dd0278e5646d69ded19c953d90a432b73dc081b4c4984f1284e84331b2ad4460e699115a0d19900bd72139fdc78d0c7e34ce375166e3880ab8b0fb2e556e1a2dac91940542fa9261134b0a3c0243f3b2c3af04a2169e95045a27b508af52f03882159d200ff53f79d6b13256c1261380ad34c39892f7836235cd1450c32d371451064c3d052e960c73a14c7f81171c010f188534d95af672bde02d2e12c1333a1fd8cf9e02154d9a9fe7ccedab900c32237db22bf042bc30dee785f3cc1352adaa848e4c0be90e75cb701fdad62bc23f0cdcf5cf7d957baf39b93fb9d839569e01b6c2d6f7436b16e19eb98175eb2250661804dcfdd5db4122f34bc5302453e30f36c9488166218b726a78b8e696da3fa0182830e9dd707050a3795e5ac1a1fde15331f441d4047b2720004f3c24267d96d5b988cd0e8ba85d773d03f01626d9a7a13921918c52a88421203e8ebf235777baec1bd0e4a865145c20d0a1bde8298e8de38a1f3f53fbf96328c4bd1c97ab4c0833462446090ef96a36f1ea1f02687ce6496be881974ec114623cf26cf9033e1bad8c5d5f3e0c3b6217efea8ccfb57f4ac88eea2497cbe5c59c9265c440394fb84157894ed1d9c81977fb5690a39e14c8569e012e5e47ec1670416a3f7b3e58fbef802085c7f207df9a3bb458135812fddcbbd690b03ee72261b01bdf5498cd1160f938b89b90c04ba2c31b2813815911e4bd510c7da0e42994412207b4053926696d78cd429235645f0fcaecd3218c6f210c4b6847b5ce9a06df3fc42345211d9282682255aed3fdbf887f9d810ce607b790453061f7f3a07a9c2aa835656f129ee5e8097d7bf17da325d1991b4106ee3a45c53b00bf8ed9ea88488e1055a87d486eb7bb44903eff64d21c94d10a4b03b562d78a67cdedc32b9c893cf2d43d7651d07e5411c287c87e5d894391d2415e5274c63e4ac426a3eeb95be17e053f88c223b2120af89fa0e12a2a5acbf7db63920d4fbe8920e4029c77f3e9905a58853e492fef6ac521374ee280778b2f8d3db9449cb042f6eb30c45020e787885090632492aa1a4bac1e54840350cbe81cde7923c64c98785db16fb07e3fd9598e0cce6ca811c2857dd40c6faf602bc25b230b95c9981f942db42bddd5880d61242a180058a634459f961606d322ca7e4a30ba51bcd28fb1c29843d2658c41829df1590165c84ecf1c83638ae9f89b398b1cb6d1c02bc252597a9ce4b86761fa3753acf041c807e435ae772029efd20cd2de50a5772aeef9cb3bf49b987f56ac47e1955e03d2f05d12d0f528be24be8a2b63bbaa806aead512fda6ce9c748ca24743d8afe833c112efca2a2f5b7e417c3d648a74d2b9ca2ec56722d4010cadcdb232cd6ec829e1e1c6b3552d172a7f4f13746becddfe10689b02103e00ec3b7a1bd2042b53fde4d1dbe9083a53bcac7985924081803fee5f8188196a90f7cfe0b1d9b6c55563e2d6174e35aaa1e3232f6104cb13af7e1da7d65ecfe226a8b0f18592a71a0b6ca6c42d412bfdf77e2d93cd6f47979a96086c3df4580282e630e996396b1866b54697bbffbb4e5e647a313541bf140a4ff7a15a8f1095362a8702407df3c11a84b1327b6487966bc9f4a129b3b7bdba8445d6e1238d0be1faadc9aab2a8b50e9d483371b55d0a542d157234e96b9d9f41b3129245da0976924a15cd998072389eb1a2ee443b224e250b078a0da32a707038458376448b8e3dea37b20800ac71b758359d1045d402a1c658f89d3d5ab500ad70cf55cab2a508e1987fb7a5f8b7c168e702dcacbcc277a474127095a3f0352608c81fccef2d95d61228b0eb5ac873416fa84430ce69a70c98aa1634b73d92c2c7e2cf4be032a79b930a7c72d91c2008f6b28e587dcdde317ae517ac09865729c3a2738967fa1c1703b8c39037a0776655a40dad1a60d49c65c34de217c8325847067cf6c6b359834e3dd5a62de8b7cb61e9b4b5454fac394dd7e6438cacdc2f667ba05ed87f409da35f8c0106a0144f4c1d42183ffdb003f4ea9d9ffc144674fb7344b082112d9bdb9720713066706300637c60b7f6bf7a39431c20823ece25f57caeb4a29258c0f3bd08737d6f0f1853da5b7c287165a0c2202c681d2d03c48ef8603e2dd281e0d626a10107c61cb8d9694908d9b658fd9a70fe12a662c87faf75ed715491a0c4051e08e0351838660fabb87dedb437ab76e76fb73b3f64e1f6e3a50114c3ffb7017b661dab6d96c1e06ea4d3ee13c6773bd0fbd6db4c7fe767beaec7a164b370a96e70c4bb0fdbae1b8d65e1b437486871e3a1ea4174141f0862b0bbc444dc6688228643871571f60f88ee7effa3da4feb8ac38e04b083359afafaf655c69adf405f4ada4da76b53ea5f86b926c56fa32d7ff1ab4c00095f08e41b43f0807385f5d5818805c80e14b592385b4ead06467a336b2f48b80c4b931c040892af5822529254e29254650a0404450256c88bd46ff62bfb49168003e0a894a94a4d00e4202ef000400bac00b84a21c064b20d19d86a9254e3ae3f867239a7d16b5fc183519e94d58c3ff86f4a184f6487215ff0c2483376774f973b0b798f6547bfa1afded372d7b2cd3e4cd344ad32465334045c0dbbb1afefc46c1b08751bb32ebb68f6ddb1e06ea2d9f6c3e667bfa5ba6bfd1ba1d370443d3da6b571771e5beecb07b6774136437b4c29f4fd172d6bfe4c70dd49c975b0e18f69c0c3f6e1fc379fa1be5446d93b7d73619bbcd5dda0a64042dca1cc93e1ce9065bcc90b44455304eda4893a1e209214f04493df143d3c76cd0859b518d6e39448ddd358ba53703fb7d61688ec162ee634f339eb1396e06e89ce476c0c941176b7bc818ec6f0ac314918f48c9a90e8cea7b4196eba233a3da84168b3152cef8d79f7652fbb6038e31060cf6379fe88897d4d9f557ea4cbb39baa84f9eeaa9e3a6238a44faa2f2ecd060c78c645082a4c0f6a1de9f529fbe94b556fc99f6baae9862a990fe1fdd9d3acc3003c100836480e587aec69dd437249c37a02f698e9113c4048610c21a8ee3380e0a28aa7ce873ba86f293c2af157403cc49a9a186f22e652835a4a5616ac82a35a40929525f104dd3346dc3715d9b3e34ece1dc706058c6ec5f9dbdb4df3aaae1b643d55ae6fcafa6a1fd2f35040405f65c7e8cf4e5a6a12514abb8e1889f0344a456cdbea6ef7de917f30f62eacc76b0d65a412bc05abc4fa8014a1b40c3540d48a0e99d734e29e59c72d23caf0f1be515536a3e34d4dadf70e9433ba723a3f52681e3cf9f188884f7eb895df6b78f08a36f2e0d82d04026872821f000a84ffc9d3ee6526eae909490f97842fb15c6ca2837fe18cad4ac29f3ebddddafcb2f5aebdf6cdfc7e533c69fe68fddfc9141ed88b832a517a7b5f661a0b6f6a7fdf936431f5ad3d16e39dca767675d5d608e5d98bf6759070375f672cb61c2abfe553fcbfef6fef5f7da80c4159f9d8f1b652a83924552ba7de8a8ef7d18a86f3eb93ee6fefc9be75fefef43db6ec7fa375cfaa0314a219b41645c93a1d435b74fafbd59a68db4239c887621d2f38f259011586a4768324614812a45b991a467a5943344f3e9d33bf39efaa367de40709b4c5c99338b5acc52687a9233d2a3b1e43e1c049942e96d409c1e81e5bbe9a2ea12ad52ccda1d016a0b5591d51116c8041885c2288cc22440a1b65015591d616d419ce52c47b2c96c408ac0f8c3a1a4bc071ac145af2230fe702829ef9100478d3f1c4aca7b1b902d080aaff0e7515b60d4066493c1a81928eda8cb515a86e2b0cce10d482b084174ccd767f9833111da67518ba012f8df8bb90df403c75c4ff58ea7ec2459b06741c52d244b2d12579225cb1ae95de52a2f62b3a9af0c89c4af8b337446b2dc8f178d3320222e0a1ae1fb506f4e837ee088f2ee9ade516f2db5c417bfa8922c3b7e26ed8fe22dd1fe9188a796f8d1125fe2e9cada28ae6c79d264763d96f3c7cf5b3c6bbed29a2079b49156f278a8c7e3796de4d14a1e8f46f2783c9a0cf6c411d6aecec69ecec38ea61da11da11da11d410ac30c5a3a26a1618a8922d9bb8cd730c6d8cae86276fdfb22d051ab9a6663b458ebaec72ab59bf61c1f20908165fc26a3bd0cfc9b12186a0d6b1d073f27df702df2f08ef69bcd63199ce7e4bd912a6773b20c9c77d49dcc999e87d263656cdef3d79381e038d9fea6db805c6d47a6b1bceb5f27f2afad74e2786560c2f4f1060463fc9b0cde94c07893d982608c37d26329f31c27796e3bc88fd9b71de8c32c44ac33c7f815250932c81122dfe5b5837ce7ec9059071a749155ccf7f9f37970bce61da10ef0fda794f9e2209b6f9168fb758bf9f70749f4fd3aff5e8c39eeb717a231c78cc30c931f386404739185f6ad00ed53832c73feb5e1a814dadfc1e67d69336658822f8d4ea9495b7ffefdfbbef18842446d658fd8aa586450b2f078d01878cb8f330b11b5e76b010e9484268c2b6060045638c20b4660f0021568b4a0826b01869700748554165ba450484049362d7c20844b860d7edcbfb388099440063828a20b47187df1725141064da840d3a2880e17b4f85185131c4965d10450181774052d96a04511bd3fa4f1e04ea102464041cd1341f8220b5848c10a55e0389a50880655048b2caa5872da4234c1500684f00404052c090d50c154c50aaed045123560fc4861012485c5135ad33085850c707d5badfd186ba5662d0bdb873c383ac21af1fa9444b8839c80e1ef7ba90e9fdf23ea1a618a73016242ca8a23292b6a92a47a80a4d28f5695c071a025705c2804f22214da7888d415a92b3850144050f0420a68b0440a054038828519052560a8f783a280f77f8a47030a5aa6acf8a1e57fb8540f9698b21823f33b65c21330fc394160e0f9504397ebe76f54eacc464d030d9ade873ac63efdab3bb979470334b5f9444703348563fca00b178373313850172e46c8c508c18f304ba93d9fec5002a88b1f74fc19dfa59451b855802a506f4e8e1313a00ad4351fc1261a6640c787f3c26ba22314480019416551ca4892cd2f81c88752664a09449224cbb429129532bd31fe46d42e43f0238cf223bb1494165d42862572b66405c2ce9aa385115e5d5cb6f30e7e994b892211def1bb236fd1e884de7126709194d9485224656acd3bd2e8f87bdabc67b6524a6822626ad1981903deb1b5e329b6a2caaf4a472b224ab2c4a7f823653620efb9c80aa99315292a70208318648b526175065a828a4f0a4ca3901a4eca0f7a902507154f40cfe50f2a464a344c4d41a377161aa6a610a2330e0cd45d8856c41925d0252ad19087ccb51ea04becc17150a74ea7431804ba4458c35f10c406dc7080a6c050ef28e436f10971293a462544328e7cd014386ad00c8e3be8825452233d1b4b2ce94589447a578a484ee02d9528912c49648d64f107ed00c7eb772c793442975741358074429a1db4031cf58628ed5244384fd18a788a33aed9fc8976d63aff7654d36e7f74ad28d2033511df46fd9426105af65e8fc0f7aff0c88446804ebed10bcb36d7cd32df7030c60f0335ce279d8fc1f73b1cce6f5b076f36598aceb00cbb689cf58af8202af07c2ae58f586bad5faf4b63b5d6e7bccdba1d638c5717dd0dc7ae6bfd638d55fee4014807b8be7defcedbc5ffa1a304e50062f7661c4fcfa94dedb76dfb8c833b9d4ea7f3b7f3f73bf9be67e3e9681fb5a9691a7cacbbea8d3746fa774eead4b71548292584507ab5fad013d24927a57452294f80b186292a4a9a4aea438e608df8d8a3b02409480758db0ffa01863e3f14921e8c2f34ff4b0fc22428a5944aa949293b10701e723429b5a8494dd3a446e90930f6b4d6eb6f486b6fdd9eaeb1641fd329901441e244110d53df113dbf2d74a51004f6f3c6d28b0990795f2ae38ea47902ec3752a617c9a004f5c0a54b972e413d9062e0a41838ec850e54f6610afe741090de255b5af683acb24a59e70f40705a66d7cb4e935e95f302cd006faf66fb2810902cf43d1b34248b3c89ff89b27e114866008ac2b1dd43d3337b1e244bfd794decb36bcefb59373fabd7866481f25e549b01de1807c9b221ab7e4292e5a43ed415c620a30f536e20a4d50305728040eb024fe00d55ad886937cb6ea6bdcc5c8b3166771f84b47aa080f4e46b1bf6f1371bece367d8c7c44d8cf7b3bcfd39d875bf58c4b098f910af1604ca52f698c798c5ecc31bb6e2fb70afab82c0115fca6058ecec7bb77b58fd830fd293398466885a1f84b45ad247f54d1332fa4b7470d231091aa6a26881a0c0fb825c801d6003bc43de79ccafbf21278e387d723a8f3d67f3d8ec74369b0dd69dee23619675fe1cfc9d0de88a8d77432e9a377d2072929925d81d07ed648debbc74ce63980e94f318ed266808f60742d3f46f780e02873f0efabbf31f4e7a14c35ea35b8cf9240718f38967be677eccee9bcd73388f45baf3b1dbf431ef7497d37df4a6c39a76533b06bb21d74face5ca0e902af2826880f7e5a4e78cceec9b0e3c3ced7a709475ce1459fc2cf690377bbae1804f61bc37de2bc6983710bf59780531099794524aa9cc6c0aea5ff6ca6885494097131d63689a7574273be6fbd0534722d384e590b93e8374522aa3d3bb999fbddc725c7ae6394a02cfd19e42b4777bceacb6ab76d09fd49eec985f5d95a1f66b8392cf9c1ce52a1baed2ba34b886934a5ee48dfcbb33f8c4a15ee5ad585f8d12299223d2274bdfe9a2b08a5b3dab45139af1be3771a5d28ad5a2a9f19167e343231ff943972bf9125fe0eab2708ba391708a48a5924943081de5ded210ca1a0da1e9fb66664e27144aa521841042956ab562b15a2d9a19f81042f862a3756dd4d8882eb2d16d1bf66503d2f4dd197ce250aff26af48435f5257ede5273a312fc49d2274bf4a32fb1e57fba28ace256cff2e2b7748dadf9224bde22ba234ce24a6ff2e2373b7f91ab9a108dd77a16b7c297c3cf791ff26cdc8dcd43aa8f5e6e18430653765d25e0f7c5813bc0efd737fcf6340dd56bc36fac2b47e3f7eb0a77c85e8f1bc0efafe1b7a7537e87b4007edffc1b77bfb9fffdfa7afa8622cdbe289cbe5e5fdb0be96b7b1a7b2d03c6423adb9ece5e67ce8ab0c5ef853bdc0cdf69e8584095abc8bf09c8fb621cf2c61c02f2e6fe0079bfdef786ab437987f40df97725ef8b6dc81b7335f2e69e46deef19206faf0019354fae22ffaae47db19737e6089037f703c8fb6b48c93ba4678dabc8c7396fcc719fe34cde1e0d798734fd5c45fec52879638e9b11696688345ca4c1a0bc312743dedc7ff27ecff348530d75f20e791e27efe736797358cb1b3b69fb7b31e6b8ff4d6e79afe8ed24fbe2aad235e18f9b7957bd4c11a5222aa2222aa2a29779aaf5544ff5544ff534bbf9326b6aecacb1b3c6ce1a3b6becacd1fe423f6fb917638efbf73cf9425b1f0a79de3fc761fc524b7e2fc61cf7ef79582ddd6be37f69adbbb0468c34a6977a8308a20fe9365091c194ad91b4af4c1aa68c20852e808629238cf43402b65c92ab8ca0cbf5589c4e51cc38f13161724129090ddf4406ef3b63763097beb2bd246f8110aeac78de3fc7613c4d6470fcd9cd110af0ce58a4c972ff7b31e6b8ff8cb5da190b7549f692ac17da9f5e2640f0be72c7d57bc8cc1a897e71679071d23d0d9bf84cceaa41082164856cdcc881070a143982c4491facdd09638c522e2164e3460e3c1439c2fa60edce3933307da0f4023fa820ca46e80b47f4fe0b64c0871fa08b446283060efbb728a2a5e983b57b61c17d9c4083c27db02bb8968e285ce603142828f10105761c2bc0d059b6f1985a05d6909f6d30f1b7f890471c0387e794ce33a2d21bb65254de832e292353d09cf47c4819a1f1ac20331999f49e5a1a29690e110c534646292344acba206934d4b0084a66b7a3ceb20e7bef2ef48e6658f62b081e1ce9d54c67be706e37924d9873112b9268178287d528b086bc70b886237e4cf4a76c142ddd21cc6ed5687d8bbddbf7ef75df371dee84df63ce0bd313fbf976d361c6ff7b8940446f107b9ef4e34cd1b443d921beff47b2408b44ad8f994cd911169218ecb11db1d6bae9c0be625a0ea9e5b6c36f9ef73ebd0fb7d0507521bc3b22ca371d749e5c1c57ea7bbf5e11690b7f0b84196dff7aed783a1dac7db61c11a56dae7677319d6d87ffc5176f3aeacd27d8dfcf21b5fd4c6a8d4b093120871e7c0062881f2425f4949b46d2ae0bd2e4b6231641697f6b1fbb6fff725a47953342a71b1407054258a2e32b310419f83588fbd7efa8f7a5adbe1ed357762a847f0f1ed65611e8f814bec441066556a7e44246c394ea0bc212ad49962b041217353a939a1601a86bd45143dc22f0b5ce94254c4495137f82c4c0fe50c6cc8f17fb0bcb3ad438a39224dadf9104a1888e5f8360858e5fb968691a344c7181d23db2ac42ec632d841fbbed2fdca0d6ed0b45f7e0f4f63da6d63ee33214ced78735b6d76ef6b6839c2e456fb61cf11d0b4288a9338d7bd3a17efd1ab77fb531f12bdd74c4afd51fea503fce1c34a407bf47a42106e6c1d1f17e19e4085142464b29e58c9386c7d8852cb544c797a9243abea4313e0d8d868c7fc363e867b2ab417731c7c4972f330db905243a6b984a9db41053f38835b1e3c1d193c7be228df5af4be905536848960a6bc48f6e82d4a75d344c0141868b192e94d041c487f6abb5bb5a13118e1ad6a9c1144d03d690469624d1f461063b98f9f6edc32e8ea1efcd1135840f13fd85983a3e0f8e8ef9af87f98447d4f585981a3e0f8e8601d0557648dbbff7de7befbd323c1d1c331b42ae82281f39116268418621bff002b6dc6859a6fbe119eef428a9fabeeffbbeef743a9d4ea7934824128944a28be57bef6dd1f23df1baeee7c4f77ddf87868686868686069331333373aae2743a9d4ed733844f5aad08ba5c44884422914874f9a4d55e6badb5d6cac89d8c339663be8142a15028d40dda45805c7121b3905544e184862f99802d37648d34354a4472244927946ac5fabeeffbbe6fd69c4ea7d3e974ba71e5fd170a6641cbe7884422914824ba177675228bc562b158accf89effb3e2c4d2693295e8e94e193d61374b9559c4ea7d3e974eff549ab754fee649cb17c659aebbaaeebba86c870d0a2664122d2986412d2084904fc18066c19c229cdcc3d6114a7fa95c7f2d6f77ddff77d353535435ca8240ed1f2b7d3f574f08d229148241289304f07df1cae52a9542a95ea73e2fbbeef6e922565787cd21ae8625ffed4c2ac9935b366d6cc1a6badf549ab482412894494524a29c57ef3cccccccccc4c6c79118d68b823175954a1e1c728604b9c99f345c915e11147fa9267a2adeffbbeeffb66bcd0d2d3c17fddc62768f92cb446ccd3c11709b9c15c1ac398e3bee6fd36e6984518f3f94197eac4f77ddff7d55c57b5d6ea93667777779f73ce3927ce98888aa8888a4c2693c96432451a1bdac7004d9a2a13d105331a1189d0f03b005d052fc4dc7ba156a471fb58def70b1cc6e6b4a0e5d32a86967f7dcd5bb6404b243012f85e8c39ee3fe63c6bb01674f982b6688bb6688bb628a594529feeeeee7e6bbed96432994c2605682e9a09121b8c0c4f0747e8e202d87299e4dde980f29e61061972e99357bb96e6c4b2e79a6f8e59b2244bb216a0991c815577dfa0a25db085f3f039b91a812af237d7dd3a589b8155572ad7cddb8bd032e6bae288c0db8edc8e4ea7d3e9743a8944229148e4aacc45139d66cd475b259323b01db9db91db91db91db91dbd1d57535e76aaee66aaee66aae28a59452daa22ddab2f4a31ffd66cd3cdd8b31c7fd7bde3cc10dc21a1716638c714b960dcd5517628151d4c7e5148928939fc9eea2a092994863922c016c13b82f598a8c72b33b5043a5d337db0303c8b0ebcecdfe00013a98b3d9e86683c0e34c40327c64d4cd0e81ca07800600a09cccb09b2d8202a8780418400d2902c83733407ced23c67984091854bf6d7fd1b0da7519e9ddf8e7b8b4e70b6b00c1306edb532f4443d99413e05c25ab956edb0c4af047efa82d4add60b8ec7adb6022ac519f6e30536f1b0e1e7e94a004d755e0d70d86eaed33ab5dd706b3d90da6eaedb3ab61d8a565d906b381f18f129bbfc13e28d986352d6e39ae0fbd6d30dbdd3ebbe0b5fd0db9c16c19c21af5e3c60374159316e0981f323f76d8dd287a5f3d64ba0aa2343b460653f607256322832903aa2db12470bdd09f51d22d57f12944fb5313ad32758389daf7e723a3fd6e3e235843068bf4c65ada31560a3067e52d78f47919efe9aca08bd5aef108a3e04beca0f6964dcbf4cd6c5aa74d0bb569955ca57569700df7220ea7e424ceca55be4fde7746066795392be7789ab3723cf28c47981b3d098fdc59ee2c67b1dc59ee2cb76eddba75ebd6adb37c055d2646394639463946392b6394632c0f79dc638db11ca35880372d56497b2c591667a55d725678a4ddf188461a9fce824aa82db9128cd25e314abec4ce8405186369df182bbec46edf0bbed00ebeccce551fd4c6c3cae2672632785bd3ca9a4c5680e3c31bd28484b73599bc657e766b729520383e561367288dd77a96ea24ba234ce24aa52fa4c4ab791aae855977f532a1357d332754a499118d48a5ef848a2d9468442a99bed2952b5fade44aaeeeddd0ec368e5cca00ba00ea4215406dd096972ce892b1fcbe987bef869726e8a2c1105c8136c01a9086013ed24097ad86df2bde733800bf57bce7709c812e9b8f3fc45e8133e009448100803440eef78aee98fcf674e731ecfc0de8821fbac89081010b7051808d96bc5758128003020eb0125ab1a1068d9502a8780418c04a8a0072f72b340000e564c6ca8a09c83f9ecf3bc9e32179489ef7bcc7d36d4f824258237b4f47bf5651155551155551fdbdd269efe9ea5b6badb5f6f7caa7dbded3d9977fefbdf7f7cae63dddfd0b5ef08217bce075fd5ef9749cf774d7cbc77eaf400c62108318c430e6b87fcf832b2b1fec3b9d4ea7d3e9fc5e91a1bbf4a793913d5d0773369b6692ac2cc488220c26bcb0b11206183768985acdc8a1cea8744ff614b163330240000013160000301008064322c1589a8639a4eb1d14000e7a88566a521a09447a90a3201233c61805000888080080088c8c46410058791716285a70ca3194fbf9756c9d2497ca343df95c954b7e92f42a330fcac7ac5c41286973d35172027b1e16b1b7eab03d80204d03023b7aaac14cf84c1b324e8caacfa9c420bf076a55f54143aab4a9ec8bbba2156b2c004bca6039e972cbc4f5a1b8c5b2b8daa7960830f34b7ae33ab8a2f9ba1386b260aad626b695e0a307c802fb9ff0617e293bb8aeb9311d2ebcca9f8a881422a245b76f3b4c54f7008aced62624b2276d164d694cb6484bd933fd2b7bc991ce93f65c00e1830130b76c1e0303587c2080b965ffb11135cb073c34a1fc13f4f9abc0d91dc6c4a44571a58065c30dceab886c2b5fe60eea19ae196ab2c078b04a3acf33c0f6fc5e9e291c87ecbd4170cf2929fbd814d97b5c50e8a13e0e8ef4beda0d26c372a2b9a68023fce9aecf4df63768c4abe0e5d11212d81d1afed3cbb815c1ff55a72e42482040493ed456c9f90e67bfd669350cad6e15a0c88cf4e8620b0ae9724ef31d6efd11aadb29ff00050824308279f97f5940a9982cac767a2cb061281692be0f0b4cc17ff0d01aed1c5fcae843c55b1fe62c94930c5b5ec434f2a4d138c707d6ea1e98ae926fefe5d9582bf85676c7f2ebfb343e5618bf8908d9dffe96b3912d06f8134bf6a49082081010417054e0b88a941d2ec0dfe7e78ddbf54efc4dde567bcaefb569b513fa965a56ab816fd5c06a8dec5d5f478e3b3a71e8ef8ece7e0a67418c9d3cf47d66a563e7f97da76ada309d979fe32eae0fce0428648685755df4270395c30df52da47410de1d2f9b63662e3817ec2ae084f76e66bca0e87285a61aa7b97f805eb74ca5bbc4cd82a4e1b88eee44b12dd5ebd5cf7f0cbdaabbcba495691c8460c1e5767537eca848a3a352e06e0bff218a078c08e3e99c64390713327a17099f2b4d0b7427930aa9c2065669c4faea74a282616e80f61b04994eee867dd43c71c10290b271ca83d795baa44cf07e9ffb23f8757f0a72fbbf3c53180ed17b83e09e5352f4f129b2f7b9800e86d67be031fb196ddb7ec5804a2f62c43f0415409e2cd5b49e915dbf010083fe8f11d4e08db82bf8cd2262b3cc96408bb60373b52120b40d6095c47bbba06f45f895d53c708eaa027bbc533198730f438955a961a21d77b7f1c9f80d2880408120ccbf11dd97fae55a59fa35c31dfab5058cf3eb0883f3d47295587e6764309a205f112f8835bf8708eeac712544f06b8d6b20827d6b3cfd10aa5c23068bf2790042c507d4755e3e5c7c541b5739d3f41dc6a6f33038ed140126711c1051f702b53a7d9d62deeb42579c06f7217b6e03dcb3e95241e8589a0a11846acb54cd09a118f6080988fe73bb91172c5bbe48ab4bef8d15eca7a3f006206224bec515cf1c0bc7ca2f145282ecdba5c2ed4297554b80a646df5230e60812f269b2a8894ea31fcdd6424247fbf841204326424912f6c7355ae87cf07a39dd6ea7eb368f924e3efd2684a05e6154516eb618c9a3034e210e8dff3ab0943b5cd7fc988e2e1e8f7cfb28c6328e26c000d564429603aa9a9e05718292c9df8d3d4dee939842394d9fae0c814dcaf68f3284cd7a523564cae73a2935a77e1b9e67544548202583253e502e032d5fac3cf23c022615920adde056b4d5c9aa6f221d48aace4417edb763a9721b95b27ec42cadd26613dfe8506c177f30663dc6e34c5168a13f47ef690aacf869daf16bf4d8386dbc6b5c9b81f57c1a2275fc1a621a4f49dd8442ee211cb3d671e1eb1734fa717a84d4c640cffbaf24beb084a7608b65817977b0dff475a5c1ad7101ae864b975688cfae8dac7ec35453dd872cbf4f643c9d621d358c3cf54064f8ee3dc577774b072223cf6cf4b2e9462e507084f7972308603ad2496b47e9ec205aba74d9a22daf53879066992d74ce9b6b1df510f2fe32a52b5a5bf090e56629d9bb2940eae9ea1f4294482e87c78447baf704e0393e90a8f1c06add8f1f8993553e4854758129a3a306c36127ce1cc801595886086a17c0f085518ad55e98a24677be0d6fc24e756745809915b83d01a6f15bc3d942aa46c5d4b7e53d0507dcebfbf93d7f6f3e6482dd6d14239dd2ded541479d0da92c69553b7f40b0f5ae075034c49576cc28d0d8cec91907a7ee645aaa1573b54b75180883425abf9706f5f4752f6420320e2a0e91f869658c72fe33ae49476edd7362bc86dbb839683ef18bd26daec01fed725620938dd87236388247a053d8577b0d1b83da13c91ce2c00fb681ec5c4bf735a86bc0451be4471c5fd96cccaff0a160027c4b94def4db9b245c03a76ce956e8d42ce00c1e578e81a9ee51a89d679f4698f87e56274077e8541c4fef68c3fafc7a48fd4f094e6b081da4854e25818d4c29008c4b413e8568995ed5a8251a53fbcc3aa325400698094bb3cd403a3191f567be070a580005369520e74e334d2950e66d9ba729b5565d621ea24bc4532ae3c0e6293089cd65e142820a0a0cce0711424448899e19025d879d88f55f5decf5322bf1dc068e2c9f8941e6c08c7dac35b9cfb0c140aa9ebc98b1ed878ec6b42be797b6fb60c1d61d908e52677d3838e3e88ea760cb19b0183388282771238586ec908c56201ea1f6290d9786f2ed56217e3e7df2cda093d62f9b212689c1e012ec372cbbf7b950921006bc43be18f1758bca2dd18845c2579e983f0be6191c691211d8e20e2078520757b20381d4fdb669a31ed494ee7ecc503e440ed807a43941c7087bd05b119391229fd7df3bc34292a46b9ea9d81e728d955bed5190817e94ebce79d9735cec71aef066d6aebbdba451d15875b47f07dd4c58cd0b855a2d8d9b0353226f15488040ab7d1eba3079365bb8053d9955ee41706393c424b4930f02d952e635774ecb00227139e5bd2dabd5d784429ac6681b0fa4f6d0e1861a8a6084a4a61c50c09641ca0e32652da2b2965559d3ca6a8f40a8cfd22fac26152cf160e1f3ec19630941497ec4a2c3b1a9ecfb9508aec7d513a9ec6b3c6835916122135b1a69bd2e8facec7b464cd01d192204448eb678292320307218aec8f032c22445e633c29a186efa44e030020e93451e25de6746c08e085c4111398eb754b1ff6032720249d93398bda4b6bdf0c1e4c70d0e3475a73f35f561e2d5077716ca24a62d2f3099799210676370c089b383733ceb3bdf7bed95368ebb370403122237e6c4a3a762c2f89b6d57952f6a238a609275905ecefccd19d21e7c8a2391a3484d26da0a387cbd1e75808f1ff209613322f0fe7ee0d44340d1df850fb5934055988425a435e06851432b246db7cda13d515eb9b34f0e55e79223e0d9bad36cd0aefe55d80d0afbf413407e800c9fe0ee03d11330fe90f92ac19ac83db0dac5bf9b6ea7eef8b944b8a08b4e65ec731806fd1ccf50df6570fe704e96f2992269fd417272064bf11390ad48393ca143db831b0f6937b73f6df740e2a90b731694922c535e635a79f2689ce7036a55076cea6615452fd60aae1612d869ce60d343672e29cb1beb1937c77d6af28d1391f142152dde780d44026d477bfd6586fdefa0c444fa05dd99dc18ee418e8ecd730ef1e1659418bd909bc0f0511129676e862a1270d274af317684384eb46903060db365cf686f67439472fb161cdbb4df0ef5cff7e2486e1e9bc34fa31c24c929ced9d92247d78e8eff04a5e80148ca1d41f644b5edc38d373f3236d4d45d4fc9a90f88ed2ec120edc5b10ef4e3623ad0c1991347ee538f9d7274e0b461123c371255ab2eb0aa9b8bfa1de86412e4dd97910275bcd8ae347b99446d86e907925836d7dcc4aea98dca202c713cd66518d30a568b6ccc1db5dc861fd1eab61c51c10919416fc69799530570b8e41b0a72eddfc3b2650b17690fa0bfe70b82e3edef83f9786a19fd56d30b578eaf891a340bd3258bdc114db7a5e618f17cbad461751f579268e9d282964c36c52d01fc1e06b6308d770a37fca723ae9823db68cf2507b57cdfb06b935f7812d3dc243cbb99bf17665fc8b22a1fd620abc83938549ee649bcb1d44fec976c920340aaae1e510f04dd1518e3bd1682081f16a018616171d53b9c312d3f6e77781444afb5cf1a34dfbf163ee2895e3316edc10a5ce14bf2a7be06e1f66556fc25bf23f9f3c5a878ce69193593e5008df42481de61d78bc0ffaf21fecda4fe97f73a0120435af72aeebe5fec32b604f9d2e9d51ae6f8b2b2799de56e58e81bd4daf741a6510754878ed7a5c5793c2e0a82947f8c62e6960f19c5ac04a346b1591514386ba3989d6afd2a7918bde8efd8af83cc4a233890bee9d3039c75a175f8c176f04b2395959fc678a183e5d72b6db63dd7d4f6954d681d37e2592b03fac85eb323eb641cc562a2528459b944654e7829038e47bd62f224351bd55d0671cc78c87ed0fb22029fe58e523ff96befe2869520e8e0a7821b97d5d3daa7878a9d000eb21963ddf7d205b40dca11e4aba80187a0603aa8d5242034045c3b7509db496ae211f9d7c3414e23a88b672fe4547861088fdef21278b34f72d597795170a63963bb9fab2555a8b13d916a2ca67ddce156e3b4e4d42df1f3d28b979f41c92b8a3444d57538f914dd72abdc0b324a3f82e31e3f6dcc5baa77fa345b39e98ef0463322c25c334ef108aab97f4812de39f451b6af50dfff5a9978ac00a4212ccd0a1051e5a7a1367113c21fd32b54d8656ae56c61b0f39be1d533145851cdc6a7a1fcb2a559e37fcaad30e8cd5be8a1ae1829667226ab6b5eeb94f30bf9291aa8875e9f7c8db93a00193a191c511a1edd4979a3383220e64fd48dbaaf1d9ab64e4a04dcfd006f0da6421cc803c0793828de6699f52cc5826c8004dccdb55cd9e0d568cf7eef7217ee5700df61d22937a677fa85a0ffa427c346ea0b14940b54923138dff768a4c5328000564e68d07ffc7d2abc18c40a1ce089e22ba04d192eab17be9f5c579f280cd87b1913877204dc232e9fa33d9f141c42c0c71cfb1c7474c38212947276c4a62b803c830675b511830d5836fdf0014d6c0afad01ef978266cd5ee28608e959b11987f02de07d97eeb086ab6ddc3d2ee1972968c8f47afd0c1b5e0754fbab2fdcea4e31c99072f511cc05ebfca5dc8a450643964e05cde71b7ac9620a438b4f6ee643538f23aface0ca769ec7b75eddc3157ad422efe8176723b6a24296503dffb08d8d8d598be452b95c6bb840171803349bcfb952d8a28ffed079a352e1d1ea20e62a6db892a6836d879375c7eab73e5bce935ef5455afb28529cc82c8879ecab1793fab114a8b4a92568903f4a76c71de76b7073919baac30399986016f98f825751bfb3b244342eb6bbaa76c71f6eb68d67beefc5b32cd766b8572b34eb6431eaa26d7d4b95cb88b4f8c07737aef8c39fdf3a81b61b71b4ee80b598ab8f12d9337105b30e069dbd888d0c23415ee39ae9b0ab682f630533cede65407fe9b00ad02c762dc2e2b04401ca6df10a4f67f72adcadb61f5cdcc5670e8d72de7337681fe37414e7bf6aad9eaac0087dd1e1da377f6d5e58aa9e1301f7892dd0a58e098cadf418c3ba6218ea9898c151d3f26dc1b058b8cf06f03efe4babacece997be4f244fb87d9957781141ceeb613d48cb2c6571b1a77f3ebb8e21b5f01f23876fe6baf1ef2f155b6997d5569955f953ef3571f2e8f221c248fb79684957eefcd71bf904fe815f46bad5855f3aff14f642461dbd8929936023c957609590e151b011e1f5f243fbb0c53e77f45b8eb4a4d37d2625f7dd22db12bde0b84e44518ea4e76738da7c05c5d0b2b975e1f92cb965a37e69ba0e2ed0ff74ecfa5322fa5142758b72b3418cbe6c8eefabdd3bae5553d4569cf34396db439d094d9dc525ae57c4c9324adf67b34fb969775c04eaf3a6f0820660cb8942a4ec206d5c89360bf77e37aeea4da5277c849db61d63403b86a6693df857abf57958b277109c52478f62509852d2d81f96f4a18129604d0b6cfb6300ccbfbf3a4ce19d4bb59d46ca4346a0bd2a7164c9a0cab586ea9f788318038ee8894a886818ead3402d94ab50198ad74baaabd4c5ae97358b4472acff3fd4239e0999af5d6edc08e93428d3d089721fd9a25963e673aa7d0d2b6a626154d02524318e0a2466a95869496deb1ae402767ca22b49418a9498da180943ae4b628d5518c9704a1a5ee7a15246a4fc6647ee13408f4b226114e334f59af6526863cd2ac826ede712e0d48a9415a16a5022b9ec557f3d4b598b45c5294c613cb69fb77d404057d425b9418575ce1120e654a0192066ae0020514f84815688dd08d7542e27d38e88f73e50109a13864df01020a20f87815a44b88791bcb3d010a1440e0e355a0054237f67d030e14a078b8a4470e42ebdf6a82a590822a1016be3f74209e3875df14c0a30df3883f09766ad9198d68186f3f0e655268589316c2ef414270743ca794a1b86cd88a3b9baf6137f701e21532fa3e9fa0ac253efcbcfd0298c8ef951b801f9dd60a57443f0d5e08c39732308bee2e537ccb793320b1a675b204186107783956c85891dc4866b4372054bcc1002fda083d7fc32246c38e0128a867dbf2839a3bda6755bb1b8207afb3b0b3bd9de54c891ad384dd43c0da0901c81a219227865ff481318d57be330df94342148d13020028817737ad9b02b0be3ef4af4d19ebcc0fbdb942d5e3cf547c385128a762f918a0717d694a5b6a2f51837b6c80ba889b46fdd31059a3ceb6428ed4c9922a20945d7798914d6826c9e18048e7f52a70b6bbe1bd01c7889644b7e9f2a3da9b5e39cc15ea4aef89c49795bec28bec83357ef259d4f10e0e9f5c049432f62849440c7e2531ba982cb0a11a558bb5ec68f4ac5b75139a5c2758ef24a9da151629b6b2a3ed0230d65e8b18d44e0c774daa8f4694ffb7661d6ef9d3a5e6a33c1d5ab08f477be3df5477a20086cc315f51b359f93359f4bc074b2a811f9e29421bc4da3980bae1283f5ee99d75c96d5bccc57934c91361d9842de0ed7e68710168a883fa2b4860ff9b01003da2177073e3e8f63e7ec722e98d75dc32106400e1cee5123ce89a0f16df269ad80a348555ca81c3657e22246eb8cac94cbfe11fc1165421aa5928fc8d8ff9da7da2c1307a46460fe7c8eb534bac5783ecfeefb99958f8ee0292f334734080b2d0a1748b06fbf16801e06f1a00fc88154ef7898a0d454433298ddd5d590ec71c66329e51243d7d6c4ca0093259bc8bc25ff48e8ae9a13f23e35ed0c4291978e23e6d07368d895f5318e448bb3471ddd3f84d3e4d2513e96c3ab2961b47a3487bfede9ecfe3fded79e0dea7918075fbb56d78ba2b141c9221e3ba216389fe5c6e36c963f643f87f131ebe8fbf4f622e8f6a9164228dbb74ba78dc72313195071ac6297193e1153095e303518e270c753bf50614ba36768cba5570fc64314331c28bea5ab4eb9b94a9e999b81c07b728094e07fc279517cedc52e8a1c184feef22c1a90cacad65a228d5e81c4ec011f1516e4de2f86ed01cd8eda8d00a2fcbeb91874f9be3361c31bbcac3f05a8cd9806c73863a1547da09305f96b2b4739e57599fd34eea9664c1511ba08df9bb87f0661b336eb685a0b55980b88d31dc88b0629629f7c57304e1d1f5dadee259ed527908a34175ddef6b92e229b40007eeb8b7bd7e8e0b003bf6a2b51c5c1f74ca6ba6052b2b4b67c8b0e3c42b68ea23b7c963345d41a432998642ca1ef84a4d317b6c090cb005eec8c00d086844c36e48ed49355f4cc163adfa6ed2d2b65175d667f94b0c072d4e7332c446fb5653fbd0b4e744320b535bd20e9c7c58db71b016bad1ed858e35fa6cddbf1ebf1cdeddea90351083784b0d10a5d35bd41dcbd3bd15a0af18ae316f230367a41902bb5e7197c66eea24bb7b78133b147683de14763ad7c5f7be9dce7bf92d2fea9d75ff4be11c51725c5f43f3d58c2293c7dc5131e89734b1c3fd571a092f5fda2f917f2370205dea1351c4ccc25bc2e2f53dbb689ee3b55015f4bb86e37e99c2a3dfffb36e2678ecf4a0e7c6a6ab86807198b2a31e02cf0a834c60cd6d822331ed911ddee00ed877894a1bcc23d936b96fe1c0ddc05a41e35dd012129bbbae1d6015f8491b4d9270085b6c1c2b8e22f3cf3c96662d9d8621d8c2c94dea31dabc052879961ac2e586c7730bafda70dcaf227a451bb4859a3c29c3537a41bcb7d40e115f1c659107e42a83486a4682e7c0a5d1a246f78320adfb9a43e09c998798e018da033745838e5707a48515de6c53212d9ad4c6662ce34c3682f9425499d28196f37c833ce8e4625ae0586cd47e6d8f8ef26e11b6b7fe09337ac5cc2113d4888e01587c85fe86ea17e904df72efeec0ccd4aa3dfefb967b03e7620a68895279cba56d86640c5c6ee74f485770b9dd52d7f34602b43fdcb7d7620c59bfe5461b1884e8a40fe772ab204d03e619cb295d555717bb17dbc1e1bbedc635e8f5727ba2550ad6e6cccd509d943506e0f76b9488847d2910e276c64e71b9da9deded8f2f020a9ec08fef73c175135783a4791d5c682ee0ab34b23f89ddb8dc286042a39e5491674e872d9dc1b22e4e0a6d5b9b537d2f1a2fea0a12b534d97ca4ec70f7d3f462b25e0b4fc678af7b3d691c3489cd095ef63cc11fe928191b33f1682ea178563c84c55eafd9919b2bae0390aeca5d87c30f3cd2fbd3fc9ee753237582b28b406a42de37fba68db9bab5355eacf9cd1af47b08f8539b358c28f70dc3ef8646695d9b6fb5cdce8ba8e80dc42f3f6c1a0425ea9de476d9dca534e0702200314f06e646cbfb9087d4b656708e41a84e2a8a2658a59c2a5b34d12725742b6bb7307906f530f5ef92cdb7f8762b49a33602794f788f87f23892d695c0d16c16f2470b450c19985ba5e01e3e9093c4f276cb47cbbccd93e4aa6b65dc19124364d1470834ab4d3b36ee6aa3b54c61715c9086a439e8c4c160c29a89bfabbdc278d72949d179d69e1d77b0174e2a321cfbb7604d41b121e70c6cd2960b725a72992d3128814771c93f8e9cb5048e0453243c61d104da11c093b3cfb43691630ecd32cd3056e8e7cb4aae888a6c0b7024f2405d5428ddda72a24c3337057544d9af13955cd00cf2962145290d18d5707571cb840577e39a766e02cc728b7b681b55cdf4145ee2608962f01c9e1c867bc2a917d07bf64d5a59595a28179cf89b1b4d8d73a023dbdd9ca989403d28e764e74b02c2a2773561fa6a3a8fec42972cd880a24858ae60475b31cf71493982d3e11eb4e1a60de21b7a09c38cba32d46d27acc9463059b878e6a5860c6c481b81608775e6f3ed434b4e9c5a540bba857c41423d820401415ed9290b02bdc45dba5d7fe09a11b3d0646f4644f7ae77067ecbf8255d02ab4fb110abd7d2de3f36cf0ac938d4fec73601188f051c4184933e702e22735e524552e2f4706b5e47cd2e06b6ed1682c108a4c768bebb96870e331a98172e69281d72c31ea91fde27cc6ee8c79d1e3bc37992bd2ab2c6b55789a6b7ca07b4a98acfcfd55f6031355ee409bea248f95868e034c0d55f35b9981d9d1c43288bd2edd570a7d0f9f0a042ab93a59c7545e3372ec7dadbf77734f51cd4774598ee2088a3130b78029f560ff69706dd13417339a1a92544ee95ae90809d6166af93e35f81424fe2146e86222c41ad459fcb79f416b3bc465fcd1f4010142bb9f84e80ac0f589285aaa5f115023cdfa4b7793db4d44d1f307600ee1c64c24c17a7c59d56366ca7a8a0292689a7521ba4fcc918a3220e8aa9c360b1831b3148a226440ec7bdfa201406840d308c666728debd2258a42e353f35605be42798bdd104d23c7e0a517fa44689f8c09ba23a028a520f6ab3f878f0d30878bee28362814753b59d92cee2783e4128698aa6f6b829059803f83184f1ed46a7b2dd98a86fa4df48e11d41e7818d03d4bceba2ebeefdb921c2d1236ddd3486bec5b291d9ebf761c5b98f866c9669c46c0849a4726eabf7e5eb35d1e73f03ac852751a1f660d3239fb8099fdd3dba0db1dd04730ced57551f72629eb50a2aa43c0c515c7b7e214962b8d1447a5cdc2580677bc2c9870b48fc7528538eee1f18a9a5da9b09732201ab4695b9aafcbe0bfa01ec6b3dabcf07ef41d61d6a6ad45d388b820737d45012e17dde923194c5af4fec5b9ed85d478a314dbffab29d7910d8d7cdeead7d816a2536cf498befebcdee2c30d5051fa0cb67ed6f7d9d0154685c2f6d4a6931fa817bcbc80da21f9e9c0f51ce86ad954afa10407f6bc46eabc0c6cfa866bd0595116a601451af480b1a5633e48a5838decaa37f9822e765665830c0c57e0bbf8679322343d636df46013f18d0b0ac9588da4f74957a996f63718338606542b5627933e80508b91476c31cbcc0482f0c2d4783e350ed596dcac6efabcf6fc634ecf9049e8b185b5e2b3d005ea3d7166c59e4e988bb4617124b9f61d73bb63b962f13f8bda3b6c230cf1f38f81fe0a732872d2b1e35ddd7a34d9af2ff2d3312c081309cb11410e4144205515dc36fad3ab5598819ca3e83972c32de15aaabbdd8150c7afc1f3944cc447dc59d36f33fcf32efaa6b5c24771b495cbc61bf3633c24d52cf69c459393007f8f2117acadf7adfc3c39e402429e2305cbd767a5bec5302224aafb42b9d46b41a206145c3f079114d87afbcd18c064d7f7f2c08cad7cdb42c734caf916948a7284c10cc5cd66d29aedfc0f1ad7b1d865050d0f8b7d988359590d3e1db0081f9b42ee750493ebec97e38f6cc34334c3c1c37885c565dabfe12f44c1dba31d97164f2ddf28fec83ff36b709cbaf76f7312e86e3195c211961def6140a884c0c4a6888e58060b9803f26c6c3329b20717761aa9f9ed71660b283467464e443e031bfffb3536cd3aac9370348173121971979aee977198756a9a53b432e141cf6692d6ad29d11c5245b218e42615beb061080a479fd2cac4716f8fb08c8a2eec50d846acd388dea0b79c87eb43d96a107e656405b9e0f0fa9b925ebeca803816c9d925bd83be03d3d66e17830c3026a68b85f1d5fcb0e0b10e91268e658ecf88ce51d7c4cc981e830abafc1adead3eeb4ce50cae9dba97f7d10699af9d6937efe829fc908fb44b0bd4f7fca60aee38652c30ca09289f353d9e4aac90d8739f76db0d3860e193715726da756558125fac009a835540b4887231c6b06e86bda2f254328667c9f39f79f89551c50096979a0de3b446374349e9f2cf21d7ea991f9bd96200c88ccfa8da7e0a124e2c2fb204edd4f18b6b500cb44bdfc63c0de39f9f6425879e1c32c32b3b80dae70f3bd575a693bdacdbead87ecf36883ab0f6546cf2372420254bce10a310cdbf527b6b15745611cc64a2a556a49b25c6660be526045b66326c4db14d82e39e98818eb7d51013e1ff434b8d391c1622b9218e84f157ae0a338b0087a85f8adb983f5c16dc999ace7575693527b8133b8054cdcd439be0f81b9a8caa49d6bca6b9ecbbcbe8366e2997e11e0d6c70cafc72b8bc4392e791f1abcbc2d61b7b8f55faebbfb5703e3c9a0ae815819c48bfa1160fab1ba8b3e7efc8c2492c6d7fbfb561a380993ca929fd735cd4e84c9a50722f93102a7d86363234f97e7b121f7e83d606cdb6f909ac8ef5f9470472e7cff4a9d7f1f75c424007b4350852174967a800fbb170cb92325747f36211c4331ad366303d1d020eee65a28435bde464541459f68fea6f31175f3ee7728c0f3cdc46dccc9fd97e8340ad73c96a074c4aec7a85bc7659a0fcd9385d97e5c34104ce5cf45615db851f3fb951f1c088c1de29a62564443f8cc91e32be2e1dd0b6c6ee6ce10790780d46b4ed8175afa960724059f52edd56fb182197a1b90a60a8c729e9b61f41123df06279ab791c959b9f62637757ae143fd03f4dabc8dd077686a6e85131fa596f66c86c3d236f9cd317add5086ae9165354d0176640c713452362906f0eaf40f5756310ae9bc1784784623a1041f9465570f4df76c5e81814bf35651e9993e3bb5005630e30de17ebf2f6a2fa3112e1d8b1e3c63a504f7297867eae14c3725730cba11cbd8e222f505a230af9ae754774601d502dd75de1428d089aa1cbb44f773a38a9b04b859dac400e86912cd3c5b19a4c81ff56c2214a550b7b0aa6b5c9144209ce47fb87d5b778ac6aba5bcc27b4e171e317dce127ef52e76f811acca2a0b0c741fb55748239660000cd4b1b8fceb128066c863fda0c755742f5b5cb36152f7c678d03d4889fac65eb9ce429501ded8a0bc388feecda41e2152c268ca0995289bc5fc60bb56adf63a9c8d4833ecf75796cdddacff2e092a398fefa32e614196b5eda62fbf8b7ecc76291ab69b10138c6ec7f2d352a247d718821687e5c725d1c540929a50186250bd073b86f615a4b771fb4bbd9b35cdd759bfc3186a0977840373b181b55de97c4937211e270d297779f847884aeceb30ac4511edb89f0377e5d5bb8d884464a7198ce17007bb3d0800758c7a736e70afc91b246bb142ee2849ec5b3ad675b8ff2975c73fb283993c873410b5ecd8f67dbb9e39bb42376e9f956904833089206a7c1092e8b88797271eded36db064321cab28184c160f82567cd2d6df44394ebe1c49a3f8c1c65ace235aa160db5372413b0c47139fd1da011bdbd01db4e6b966861a3fd9b99bc27a5e2286758291405922afdd70616ad761c4ef491ac67dd3ea40df50a37c91516d2d01aebc71986469b2b240232ce2cd34ce656a2137072eee7cc41c840ccea58eb1511049ece8c656a46de3f7a331a3eedd2116551e3d2d6673d0820b6140cfcd5aa00b853050bc49a3db79446cbe651ccdc90008e630d0e2d8379f09b6965965c9c1e48bd88435ddea8da1aa89d5a31a76d762824db4c23b4a8573bef18f67151aa239f277634c2cab2313cb99cc4569cf768e6e295fa5b7221c916acad67a795f554f675cb4b8e50f737e4cd4032039132059c066a7bba6afe0b5107b39d2644bb174b9e69f1374a800b294478353475968f5cdc6ebcb03bfb24bac3dcd1f0042d4d758460cfcc8519adc91ad8a6209add7ba64153b137eba3dc7b83482c93b28348ced2c59e41a5c088c15944f1d99ab8cc241afb85dc4c8e86bec0b73863cf812be319a7b1ecdd6e44a588ff56d018f45acc7fd3b1e1684ef1e111395a58700de6358e3d418fb592c985daff72b2818da14dbe9e3578313e03356934a6da425aab58cc4654ac986fa3fea86f78f3847b6294f9205bba9af5a617a6b4ed9c7208fb82648c5fd5100325fb768f19610ad0c6f0f300f80330acd6da62316f97e5f084deda25551f782dde918a4a99f27ec5323daeeabe12771107b2757ee7009e12b0dbb90b87697d74f66906b4c899785c4c81c03ec689953bd02c4b43ceb66ffee2e2febeab192b82ba1260e5702820ce34c7ab123199a3d425405448306b8c26c44945ece57e5232474ec80a51f01cc5f598c408a8fc44c47f3990e031f9fe8f62102fc4a44d509c0c81686bb2e80aeed5970aca996a069484995b2a428500921947f511990255c19aacfdd0ec75d64c0e56e039bb05a1b46fda17f3ea547fde0cdf59eb8deb0abbed957e59c5ea272503eeff1e51c13836deeda8709d7029b37e1a24f6593bd7ab399a5af66da1dd65e6fef3e408165b459c2ab89a9a2334bcc813787336465800fa776e7c893fe96266962b32aa5bcef628ac3128229a8603a56f8d76e18b6faa42eb635ca55c38e75d00bdcb7493ecc44565a643b05967660254ef9ea7898a737e7da59ba8f8b216e5591bfe7cc833511e248d7d1cf9f01ccd5d5b6925bc2cbe7c8ec6874822278964b6ea268c6314f5849a002c240184ff9bc9510a29820d0fbce33b288f14b03ac6ce67396016435bc6d29dec224fb2f641359311fa21f6075e8313806016289960428d08a5eaea8bd8ec1414b16c3bd25378cf61911fb0fba7ae692f27086fab450a8669f4490ed388a8759eb3e51aabf628beefbb4961f7dd8ba3f42ff6f5efa6d14b8be8a38774056132e208f84c57c614a5ce37c7d015d806be12a16649359a6b68b16e31637801934cb4c01e10499f315ee8f24385b39b2535b51b7e351237639f3d205865502bf99592bb72581d971a5c88d5058ef000dea01b841f0fd0210dd462fb88ddf2bc18dde66f40ab1dade6f3953030dc696ea0337523771805518182d7e4165276227eb98fb03cc98139d4e0870be151f3c5d2618373a964c2170855afbfe82452f801cca68edf61f87b38d4025a53a8f8f2e5b4ac42e0f1d81b5a027f4232aabd6a0be9dedd14808bd40c03d02fecf278e5d88da0b0269184137695406060e6732b4a85824e87a18b7fc65b02015bac2b7907bc205dc4af0028251ee172b3d524b0f8552f9d21e238a641ef9b8b8d35d33bb9a364faf4271e1f61daa7e459f235ad647b7e60a787af903abc7725ca031c42716193bd4f5e7d3ef4a5b4f22f9205f425edac0fbc160e3e21bcd6c5fb0ae8e80a0fc9f18b82c8ee33025ed31bc2d70920a237aa425566c1a55d7fc10259f6eb04175cd0f991238faca1dd4c5e2ceb29217fcdbde0b0ad2887d6c2a56d405c170ca6bf482c5c6e3370dbb65354d8fd0a5047b99f2324aa0124d80e5b8cdcfaf9751e884cf0cf40cd3d73c6f6b4585227b1bf603aba9ba7a6593ff2dab47f549d891b4b2d296e6c6f8176795155b37053de9ec5e2ce85501e0b7f7d7fea90ec61351944ffeb0c1b166f623a4074cb844d7d3f99d0922a6bdea9f97d249362eea2e9f0949dd649c145e2e61868d91040228723e8db00018ef56491b1d8bcd1fab21fb49edf6bf6267e015a6a1a344d3bfa33a2eb66291cb6cc8d5e41c32a47e3237c1cda75163880f395791fc7e0ff525495f95e26d144888cbb9971e27a58434343d1900f452116864e05d66517a542aaa54796434307896b1971d7d991f0d2f2694fe5185d4512ebeba499c2ce016656c2e1b9a693871f2ea868a713cfbf1011d0f476bbe93e0a82bfd246211b00e5eb0f55e957d678e16937924647b02e2baf4cad61d4af7a489ee6ae216bbb99a8bf23b03007d71c6ffe3e5cdd5bc0f8ebb4915e1708e213aca3e3562cc19e7b463989fe462535f8c28be7531ce58eb95d7873fad9fd07b8191e8ee58ec30d79d555d72dacb80875ac203fa5eb6f44e570901516ceabde2a36f04bb992d822eff649141688b2204719a00ee9464b4c3b9158d96f82e3af4872e145f22657a96725f0acc4a8725db6279ed862812cd1c3cabbd39151e680e4114e48597b2393453397272e950ff0578ed626b0b8c498d088b8e2bef3c84225bc7e36101a708f8e379fa6f0d599adce0d63c8fe995290816e45484814dbb10653882a2427be6aa10d04971caa2a09d3db301679535e37e88bf07471def107296ea72202a0e2186179539ed5a77750c851b2c817a7dcfead51145e3d897d982557d4f87db119fd6e6a7fc630e01ba3777df1723fba25d0b634832b8908aeb99e2eb482450c65d6ca8f47a0a0549ce95e4ed5dbf66241cf78350fcc5b88a6f65f161f2a5363dabe7507c4f66940ffa7e6a595030f307952f79742ed4480777822c959058b8d82d0f18b3ae4dc226d93ccb9510106a35043014de6ca169ce2a8529bd40928ff3e43485a9d195251503c62c209e88f3335a8d249c2e9a9ff9929734b8285e8a90842b19250d09732c528afa28c8dc83617c360348f4153b633bdd7845ed08d2d7f81518d27289195263d890ba34e11e61e4951195f142c82451c075a990fe7a648877c4b6d74636783b15dbf0961c6c7bd51bb78851b4cb4089c36a24b4131c68d646427d25b25983f598759b354a5ddc1084109646c2b32507b663c621bf1e304456c13d3412561812816697ca38756f73d6de611506e5cf91c43002383c288f8bd067f7143c5ac21242ae0555cfe8fd6b06af5ffced5e413d6e1baf02f64446a2e086a486dbfb055f720eed59fa2bd88ec7c4807e17f6f16400cc1d0593b366e7ae55bc106041a64953e033c0467ada1947dca5f553d5b55433a49deb55054f81f2f615bbb2b3615ea1bbf442f6996390b06895e844132df6560917a741c60efa246e834ab1c394a674f0fa5e3679b1a88d9731d9b486e35e32da6722702730f3ad7511494c2c81577117fcf8ef928d22db0d9887513e682eab9a7aa3c86024b2d563f3e4b5021e7382d18eb4b1b43f86f70b77964f4c5de5304ef5d12ff47ab6970e1376fc7d4d673ac5d3130b0b348ddc0383c36a16f9835683b18bf3c871471d11edf51eeee6c4b70eb9545530506432039914dae8fe2d2836320913db11679ff340a5d970f9aa604ce18870367607ad8343597fd9e4bd066f0e3176a953640704e90c1bb30ff53d1d16e2314886cacf13241d11996ec4326d0183de08129689e2147e26299b79388db8742f7f1a9016602b616071564bfaa3e712d928a242071236898a8928895552a34829e41e7d7599f2f88274b0e25757416f762d5871fce6df28443c6414847b177ca5c805325b183f3de88652c6c245728a7eb4fd328c0b70e3fba1b5d685530dc668b1baf9b2a113c36ad434ba43be6b0a917a8ac7db9e25396abe5b6d0f7016ac3bad619417b918b52d5bbe32790e096223c44b1c3439e6f5b800dbb2b421387ab72b42a2fdf6d870109eebd5ae40bff2e30c4e5caa3bf4a76415b455981287060a1672b29f75a6ad55889e4ea645e37b22e6308cb642568c25aa4904472f5ad78785e2ac90c7e759fcf8039e329f63c3bbf34c3de523271f5c492f9813942f51ce6c6fd3ce3786f74c5dd8d55e4440fced916e094e203699491c2119fdc4fd1f3dcced92c6169330186c832d249bfb2fd958c459f67e457f972d05e361a5b98c7dd10903620e9544319b0302b3c9626501d08259b2e87cb77e26f227844ff64d74c090843bcc25523738142d91c3d7db6488409f2df534c6bb676b24eeeadfd2af1f25a4589f18869734946d424386c01a5fdae03983c8a583cf1db91b8477decfd6ad611b220e3e83f69853de1571f86014bb0d91e12e848f9efc87c43af2a8b21b1ca1053cdcf1c36ce330852ab25c1f0e2fbb06f051a5fea28b5dbf8687ce47fd10d3a776d738ff3a562b79b38fd90a5c857894b5f3a075094348a2ae744e1778d9fc5869690b2d868aab49ac3cbf3111737de6faf327db7fdcd0698b32f6789b817a97f9131b743454937bc2d2bd262f6a80ad5f4a1f163bcd7754ed1ea108c7aaf567a016450d8b0f3f04294d82d03107845caeb39ce7687d9b6c25b336961c3722cab69889758f23da48e6bd13763f6a2daf5020e5381c7ca12cc2300211a0b057bd2c792f03fdf52273208b7fa4f1279a12cccd8bd85eee0ccaf1e0be37ccf21184016d5a83a191a013ed4e1497e793d00b10c9c53899f6a3c45062b3905f20ca953d058f11f1c8415568023c6bf8a880c3728d0c9c3e08b4defd722f9b67ad6e8f5d24f185db2e7183936f6dc11300d25c883145528d1482bc2f2ded880201b315776c8d34c0753c618e785a6ce5cb003529b8db0ac613946b207e960179c82fee7f8604393aaf69079ff7b68ddce89ad35fe42e2036e29cf52901d3ff7b67a4581fef36e2374249b3c30c0d5d5977b9de6c0722784186599aa9b6e620da8d29639951a6d9e01d02bd646e66dead15538c532aacec770482c3748dfef0542fe3f13d59daf83bda1c37ed18812495c34975dd903c6b6469d0c22a3fa43220cc192a6233c82b7d0ac53e6a83e06a7fb73d7c48229acb014c70f7ec15bc7c038f52ef0892aa8f53f80f660fe693c6faed63b9b66d0f5a22828188e5ea09032d45f210987bfd8de4b8d406647af3c4d1d296899eefd563615e45c9ad39515c4ca3a2914cd8e3fa015e09755ed24fb156f84819ca48a62629a1dda84bbb689e1c87be4187bac5e0870a42817090f3eca229d6f4ed92d7f5fbc3cea6bcf4a861373efa16bb682676f3e6f0cdb448128ce7e9d258fdb77e96904338e3d791233d2053cd7de087c6b00ceec2d47cedf2c99148dddd72dc205b6abdb80a23ebf0a3346da0c11ec7ca6944a965adf0d575ab35d134fe4ca87f75013c40f5e3c9c9ab72667da4e9997d0373a527272a14c5a04dc7d75c6a1473aa57e0d928f89f25d4f12814fe09a0baab354f9b52712f0467c4b4a7404c9e402570c9bbf5162e1d40fcee4ca92caf86da6784a42449e87cd626287da2fd804ebe7f7415b6e78a98f109f02ce960c3a0875d807f7ac1ba727049c6cfd346e44be2476ed046a0f9c6485f4d413e26e8a5e21fffa574e324269ed26f3e0a3071fef34fa53e4e56e6511a5d4a18221a19b82ce307878a3df96a83c714aac2486330a9c1dfc046432a7267203b4bf1693449ba47366932ab2fe66cde780540a27af625789fb223ce59e38262d7d3210107c2235a841680d06f35817a5d2bc59371a4be3ec1fcc52df7386890dafd805b4eb1e850074a4a4115c454a630b8dcd99730519c7e6843a1841fd11339058cd94726fc2b60d4f7fcc10f5c8fa8e2960505b6058bab8b3bdc9d359f9181b150f1f7308cd38f96b92856b50aeab9cc59a6b86ff7bb090630ab4c06987e973aaa18f79f009f5a610cf2b8994e538b6518f92c2813a9d07a699aaa8953b3fd0f25d31607ee172e1538b8eb673331c70ad03a7fba5c5564ecd120f9b8ec4f95215790ea13bbc0b3d10197944ef8755fb81d9731c540a6860d428b749d35ce22b12ec6a0a716a32f35d014e6d588f4432e59e019c6fa5fadba1a07e0f9691af4debdbc29e83a6190849de628a90c27034582ce33a3e2e68170ac4b727d4be7d6c8412425860a12eab912df58594cf5e986be8d732178e6bc4bc80f0a6c524e1b8f8fc93e349da61938ffad0740ee97b8035b3ca489ea5d610e5992b0bee9e68d649589ec203e01e93a16bb2f24423801a359432afa6a08ac85e87a5b41f05ec254c95b7e4483ca91cefb3fe22a39c7eb9cd0426024fb385a25fa0b9671b455fa43fb1eae5e1dfc0efa2d1123ce32a92deaee5b18ccbd7849412d1ba7bc9b00c32bec22383828068644347ad4537943fd6bc39fb8053f8c3abdac51f61da5ce0b0e0c01760d608ffb0fa1cef28aa65605b553b2af5eb257af42ee55f777370d0d38c4d90aa51ca563d203f0ad2be7973e293969678255a02dce3d7f53a7b0216360603c99ad1ffe7b1fce5a7ef703f8ca98767d9a63e79d4f25028dad32ac3126f1cf6fe014af7662bc997056df3e5556fad7653413f387c56ac222da2ade7b4d64dc72b0ee23f24923eb75e264eeb7f0fe2d96400aebdc5c57966e19c7191d9e3f65ac1658dd89e5a5929671a5ebc5b06585563c8bd87271690f8f9f00ec6697c8fecb14a7df19ec1fc79b0840393912305160be20c418cdc08bdfdd0bab785385094c41696117a88dfcb7488deea89c2151589261381b9e0b9445541a958666eb20aa2ed069a80fd1410a699214e760ea925c60cefdc0b3d6136e7136de3ec64e31a044f4de5fca948bae887283d03e1f82870fe97e02be87290f9f614479b141292ab2c971fbbb2fb49c93b9e316095a9cf805869f07963469d57e801b7b58a9355883e0d68ec14bb1269c2b6112668dac88dbca8e1daa3e1491a904f4320572e806221068951e0656ef23890b33b073956095e2e83b3ccb16993ae437066320d0290575fac79078dd7f746c45c8576dfd16421580b485a0ce514071ec97087e16cc1b5e4b44e8bb7360808d4b3006eefe3766c14b41b1595dfba2bf5537270736a0cd6aa4d2c3539e5e1552655ff27d22e5ab824cb487f2b3dd5a6c2720da6dc41ccce397a4ef15d579e0012afc7602b8d1ebc72ae2885638d25c17c0da146ccc72776ed8cd269c9dfd13680fb3ba9c98e1e87d2686b724d86284006d6b9ad8d600d9de5f836cc791fc53738f91024527859a297fe76a9214c63244fbbc34767bbcd1a19543e4ba7a4c76ee7ea1e5a997806b7fb5c635b91005c3fe1213fd1e92df8114a8eee0b22d951b8519bcbe96a80040112de85f8b91e9a8d8bc74a5a176da42a51c95090033225104a38fceacc5a7243e25ad520167ca1e5303c8348ae5390454756dfbeb3c5d4528bc14ffc0e5bf30c728a239e12024d65af9b0bf16b0e905eb4de01b45ea5c4f2cfc3ba4f9f39db65c20f6ae08f3d88f0b58555c4a7ed12f11def8a808d1bef26cadfcfe09d90f73b8ce5e823d3c0a1402ee2f41e644857e81f9c21aa317cac405fc9cec048d0273f0ccfb59476e08cb43955c8308b786a9f54bc1aa7cc6bf036e99677b4b4e3c83bf19c8fc5c35a77b2b401eb7ef55547e5213366422394f74126a44e7a29c044807d59b1956c8997041f02f059636a86c09bab0ac22b0f0141204fbca3443ec7f55d7a11ef27a537515cf70756b0a493724a49d937df8ab64fb16c4c15c117163d064c1c58b7792b694dd1256c27a4859a67c3be427f4f911605eb66838dd824c4a532934af6076c3bffaf907cb810128578deb7dae8f361322ef63aa5722ec372803e74157d6bf962230c0dd6334e18827980bed10f8d5cb98733d88115d826ce58e16186e6650c74490758b1c118859bdc26d2ae0248362126893f83c7313511f2758967ece851e2f2d33d3e6c6938d3f79084139d75662d5c11b82eaa7849fe19618805be9ebdba812685be72c3e05e60f3920f226c84f23a0816a6a58133f33734ccb5ca901c2ec5ba3c24e089783118693ae6ea620cfafd7e09244ca175dc6ddda59bf9eb22c602af5299c6c816b49c04e2b104324189845d2814ff1d8b9057c2b68af7aa04a264ef6f18c3322aaa269ba7c0f94798a504e254ea9d0222411736e837b04fefb0453b05c428600c362dca0b3ea3f2ace6a8e7f47d6477315c4654432b03c94bb4c915181459f76a4bd971955c61da1e61a4019ebc38714ac36aa362b0193b9b1e6b21065d243f43c986a1f6fcf0c4c16603e270f358b1eb67432935948c6c3955cb7dbcfa59dcf170a7c01ab5d4909ef5e4e1a95f701edce54b025656128a20750b41cefb63ec2ca7ac612c33d991e6a2385d4c78bad333a4495253b2fcc2d925754a98900e63799837d1fdbf14073b9ce30e4d06b0ac28c67163584249ff9b94de2e44020c6a09c3de551947f758690eac3d9a10e7eaf801e8274e90fc23c614a17a14c2d2283d35b5f0631a7327b68e863c35bffb3af8723e8b539a5446f82a65e8c29521dae1ed0e7105648c5ca462a689fb6ad7d387bd7130b7644c2235177151d755ad95e42353b10f321b11f09e8260932c6390a5ca24cd25c13ce44a18590b981749cb0c7f5e47f32d04768a165239e2eb4f2315c2c82e2c1f7bd78a6ea6c256f322e0477573784e53887030f3196acd86b266b169aa32b02bdf4a991ee0a9d09ccfe5157eee7d8808e1b1181bd107ab2a8f45203df207bfe01416fd858ceec00ecbe39cfe8fe647b340ce6c69588eb6d9cdba928e57ad95f8b224435b88e0ae39454b017ac184d75fc38ad4aa70f49a3e314c48af7f9fbcf4d7c93ccaf8c08814bb8b7da0e1ca9d5c8464413b073145dc13e92b1ebfbcf81804eb96e01a17ac1fbc981bb629df70dacbcb776b68f8d6b5f030ac458afbbd44628bf170fe8a9149682a76579e2f9f45ea27f2c64726f57197584f71084cc43e07915940191a6cae5e52e18c3aa6559f6b92bf93523dd930fa3c52925f5c86ed08da8be550841d3110404e2966819c552a80612e491f542e4e8025da5c886ba4a6f2ff682dc9aa23048cd014c40ea47faaa4eaf6425cdd00b83eb1e532d528e82142f4cecd4b53caf943b36201ba308490906d72bf2b8fad171ab8e89fdcfe66c739932568ca053ac99bf80014d62ad49c2ed561d74e3d46a3789e2afcd7b996d30b81e1c11eec7a47f4e1b226d2f09d517cc145da243c2903291c4e5a7a84a0f5f4c26da410d380b4b11a6930f388076a64ecc579426bafb9a459ed2eb167d6725d2878326aa5b91c6cddf24e961f87444dce240020f0b793004f6498b0a10d38df3004e1c27354c783559f4ae7853c0e42d5aab3507b38d6e0804df13059a12cf399e21f81aa1e195f1b20c421114d33ea4629a1415d243a621e728a0b107fae7b9fbd6a498e82eac3ba90af48ddfb9d62fc493679662f9e023e07b0f1951445e47064fe1c45ca6b6dcd53003e3cacc612b215b61492c28d3038084313740918c25b4ba3872685001f2b5ece05ddbeb4e3c15304ea36470f1949a947c708e0224a8429f043a321d3a938fad459a35f7ff399633dfc707dd22f46a3233dee4c1986518cc2a273d1ac8fa74790cf4443a61460ebb8d9afb11b708b96e33cb4cbb099ca8667d8cbb4f92bebb26ecd1e18c0afd6bbde867be17a74bf80553e7586610dc43593fbaf03929535afe291cb85371eaac566864bd77e1240ef108f9659619a4cdc8e29b82b32c19220fdb24af1e267674415a29bdc469922b5c1f569a3bf36a969aa6bfbd5a814784d1da7ac560d422b3704a65809f608e399ad5e3115cc1780903a9aad41b938a42a30a25ba8aab0259c574b7b8238fe3d530a947c311617bdb01f7f9d51194feee4052f83532ea63bd22ee5e4c58f43374fa9954b0491cf283607cb092c9315b3214250f127da90f4c394265f2ce2e21946cc9218f64583a5b55b9f46a75d82efe461bcb612afe6bcde6c45f27987ec9c56c41008ae1e2ab8bd3f0c0470f6503fa724c1ce57e68c352fc7c753e9be1f59c9dd7bc2bc92667a5949ef91a2d07fe95a722b32120bd2a8467ab5fb153e5d8aa04d4b7434f5adeaac62ca03329bf5e67d1ab59512c2ee8f30806078349a6f277e2ac02381fc97154d5b4c5a233cc7f86ba79c52137859517b0eb88e2011091a9d1cfc81f1a11a40f29ed0008eb0ed6660ff232c19039880d67b7142f382cede855358b19263870f72a6cb5d69039f482e0a4952e5b12a98662fe1f6a1da778bdcb94a3998c6471f025a43dca4486c723b1bd183c56bfa8a1a27e2aa8c540f591f4ee72e451a3f47689639019e7753936741fc61f8d58fe33ccede00d7a0e0ea3e72042c99214dc2f21d4da13296572302bd0f4e040f9a31125a6be9135ad1fda8bfb02fe634651bd2067f93e84aa18fdcc6bb712c8c1ac4631b8e0d4e66be20bd9a0cdf82f31cf3fa5301aea9d9537cfd35ec595a43b43229feea3590b2f36b75269a1ae6cacdcb55626835de15f9ec2b0a419980bca1b29ca7e24ddd9b9fa1643d81130c01b7c561e15ebf31f5ffa2a11e862dac914266b9b57e1aa360a8a56f8cdaceb03698ad2bb426062788159c88a2ab2d738c222cc62acf2ef727db99220fc8d1bcb5e09b81b26f28d892464f1be73c0705e6be81045efeda394c0a94cd24814fa1356376aad2979969ffd10db0865b5138256a390ebe6a4e5d7e8eb9619d4a33c3d55c228b532c88909370b3350082ca19b5f0875619751da1dabf67f9f1193548c2fe2d9146f113fd7549b9121465c561e6d69502fe8412db32edae16991b622c9bef126bcbca60c1129481f37fd2ca49a4b9d166ab2d1862dabb5382ca57c64a5a83a1e772e8f7716d73359caf29ff66ed00a964b833c64daf879ae9be9766b467e466e30320c3156227c2bcd8d4f10d02523be4fa8d316f3fcab9cac4ad740639364771ecd392ad891c49fa2c4f7dfdb39ac55b4a994d0c9a0ef5059e4c12d60149b2a37008b41ba8fc43154203f50895875e4f0e578d76efd08986421b0aaa0fd69ed2897cf1a83e79a1a2b943744be88167f8f9a02e4016e9bd71387185ce481d3f23c489a4954c44b202c32f18436693c8717eca90064dc15fa864693c8eeda5dd910c74b7a740a1bc4241ed7ee5076d6f7659613206572540e4010463f6f878d23ca3e8107617aa8a1c1035f9fecbdff21b66487e1a227c5e24ee99e720f8cc8d630f54471732756c7c2f5024a78c8784a6256e9aa42c9ec9f83d13dc7bd8e8cc99f5d80ffba87607a28f36213b4c81e7b50be2c747a366383e8506273f922d67ead05cf21a7242e6bf74b3163b25a58a6078a2d191c32f081263736d8769c3cd30b0fefaed0c1d3c6bfe51f0f5b71441cfae09836c4d719997d26782bffcd07f925d2bd3d526f43d7a045a62f13391f7e43d0f4e5db13d129fd9b9829d39ad50e789e5cfe1be0e83ff0468e121696b0f43736533502e4efa0109018246ebf052dfd15deed1ff15f176822cf2d31b52c1e4d1743ef9d3eee2b7cd17e861bd467ec3a6e3c1e4da6a10939e76a9430b0aea4751eac24631e5d21c81adec4d04f0987d322f3c1a642cca33fad4c296d8dfe2e8d0b0f68afeee182ed7d255624532d3226315502b3246e245a9f6bfd71b90f8dbba4dbbe594ebe31999e282cd192167d83868c73e6b26be6f340609460d54756ea53f1404051ab7dee832c05dc5739b8578dfa6f8dc3adaae08cd45face6424d92aad1e96a0007cf2f7dc925bdd271b4968ce5c7fa5821a69af0cb2783ac110787aaa0a148221ea98242c9ee57d75ec5b36953244715156027dfbd142434f34de1d41fbd8c192c0674cbb7d70a5ec7d0522ee222d2477847a489c627b8808eba5810317dda392932be7712c6264bdf714271df7362a2e77bc01e388365e88be89e787936072230cf9d8f6e30a65b6386781e9ccc3dd19551230eef585f35d23e62900d5b438b8a2dc9e11f4f57eb91e9ac66a2ecbab95bc35708f2ba6ff4a22adf235d9ca56b60b658a854fe64604815e7fe360a051c299ab9eb865c0050fc98af14575ff5554b582558ab5a75f586b633d40146af30f9b7cff0568e346f09f1073373f0777e0fb67bdb91e74b8800e970fb89f7f3305b1d2ba5193a2308c58085541868ef780b8d69e9495d42450d292956f765045167eed4c053ee5dc2eebd4e922aa317a1800659d8ceda0a09c29cf5d7545d685dfe521e9da63be20f1809ef2f3aab18bedebe88cbeb289287c544cc55c90d0b860587d5b859d50eaa024ee993087e05ff27e7a38eb293c00f0e3cfdf28e3024e1d1083123b3b8e6e2751b04311a464f211a12a8ac27d17c7297d89dae7851c341b10d074c748b798274e532bbff51cf299612c092be6b5874e41c42e28927d627c98d65dd6f7ddfa5fa0199a565e6c5b74b6a644fa877136f65d1e03501564b32cbde03f34ba7ddeca17af8b9a6366deb4149118f21cd0818179e93f02b7ec05bcea50a2d262914ee251465c3c5906b12b9831b48ea553cc429ae78c933e56fc9f2f8ad2acb8881d4c9c2cfb9e2771b7c40da7a3d17cc0c5e99e9c3780a544eb6c788390b71db3053c9906aa8acf4a697309fdd621a5c335e31f8341bf5f0474c2351fb221a265137af3d7e9408cf0a3197065945837f48d5796019d43b2bf528325188ec2479613b96f5189239d39b6753d615b26ebdc4d9b7af28c887b6c8196fa416b078836c89c1f7f1250003b2211674e709e32ab338e7f3085ee36396c0ee6f394f0b2acb931b629e3a9764e108e91e6e9ab1ca95222933b1bc972452facc01b2ecbc38bb7b6547b71a1ae93c419b0a60714ccd2ec25599c46fd16bd14a678da92a29bfea38a715d6ff2e66bb5db026d33011441f31241f3f633fdc352d800a8ee9d63a31fa641cfcd8493bea9163fba23b27bb1e4b80d4c4770e1cbfc54a381446e5b08c709c282944867e56925f0081f5bbf7a59de917668857a80752e57fed220ce142366c9a91f5094021d59497c86343c17872343d48b5c9686545a2c9144f90968618aed676b67d49072e9ecb20b4a38a05ea74268ef83636f2d1f1271c2a8063212007a46223346c90ad563b3378c4367adc86555f1e3ed1677613cb197f519d64a1b5bcbc7ba278a438bb71674a48db715d47f9e1379b87f11f031b87c7a0942862f8afee3e14678303c5d3768d7afd8f611cc80e8fbf7a89196e8d1c8432e666077637c325b6a3bb8a49202199c0608ab59ceba31927826f03d9131d9704af8128371317bbb780ad6fe645bc363b13c3768805d836635306d2faf512f929a0afb163a96ac74f948a662070a94291d42c2a0c5f6b5651de03d0404a7ec77e2223cfec1c95343ae312fdd6cb9e2fbaf0eb03054f273ef4c20afe444c23044ee4d82cad395c14682fee113dfbb8e26cdb3a34548c9103e9aee521292ce19b774a208455a7b9f9468d3daba3d6a7e1292a5ef6f4e0de3a55e8ebca324aa7a671dff87cbd11e5d8d89f61cc30682f04a1260e67a4202b60884bd079f2e691e4b3c633aea27b15a9d716c5a4b778893d5e9c46076a3791d7a5506abc6bbb04a23f3d900b270292a7a232eb2bb5d0045b1c9beb9c70bcbd19ac3e03ad256267ff878ee21048f627c5b7069510beaa06e6fb153eb6f1139a0d9cd5088edfa4e6a59f6fc3db73187defec3f0490729f6a1620b97e5c170a1908362b90264e200a228cd186cfa0266b55f4b069c624695438e6782afd32318c0b93f9ca110c4ec4d52c11a8429d2f93dacb363113a4c191e321a98bfc3a4ab544ececa10864520f2ecb1b21e5ae73e68b6c52c3af3f3c09a854964fa64893ca4a48e10643aa7b528cb9960ccd67b2985ca0c7988e301c68329e7f52a92fbb7fb9f1ac14b61b7f3f75bee3477ad8c1748e71748f9fec0ea3dd08a617fba962369b994dd6e194dc833171da009f4c7bb3942bbf0f15b8fee356252785dda55769707f5b2d3cc90e09f5176d90e8eb5634c6069aac7925a0e055747f906cfc98d4b1947d349d9c94321966682ca91a3e8cb1a9415a16c564665f03067174baf7fbfbe2f8cce36c98946848cb213089a9ffadfb4174a3bd7ec23191177d1889fc4332722d6afbfc8ef845918a70cfa1df21de3b4dd0c682093e24814333fdc44e2ef6857a4da4e6492dd4f98e90116f772a0a02de8662ea3d037da5d0c23c79c515b8e86ee5e3e057d34c66f7e42c92335e50db940b1d24f2330bde178f06214a340a25169fcb190df97d7680a13f45c6fef86d44971b2b1b50bca20a57bb18f0216721bd2451fc14e48305525ec7561edbde61c8d276770be6f553f66d6fb9fe04e54d708e898bad50ef5e24431bb4878fc052a4bc64e9c6fb83aca3b74ee4f06ba85bdd024bdba74c14383ddb5aebf348ad7542f607f9fcbf850941991bcd82e0ca517a96c0fb9289247e9b17b92e2536ce2491330babf09372e15c304aa1a47bcae029c9d240eb3443f69d7ac3552f99bdea7fb025ced0785addb6050e9e2b8becae117a6b06e2a52e762752bcc79ef494605b22f4032438aada8b9083f15adc3f2df55f8721e88b3717dad8232e1d96395b7bf09ffd3d1cebfc4066dba15142f580b5f8120df169dee86f55eec4ae74f3248c31960206bdfecda0b8771e8d4f71034a5f77d9ac542bac80ba53e7b8578fb547fe7dce0399e8939df9b1158277550c93517b23f3ba9b103fcc7d9dfde62474b5e9536c1bb15267b95b45f6444a2279475f4492a8dc23fb6d911bffe99eaef358813d1151acd8a86aab9fe2abfc83d4de19a85d9ab40c0389686f8510428f92bcdb0f642a09b8c03c404fd93ec2ad160d52ca5b766cccc49d79f36bad782be536c5bcb5fb38bb2e104d7cc73aa5d3b809a8faae06f3f6fe2604659e71e32d4034263cb7124e409a7048c1494858acdb5e60a9594e21be9e4e0049b906421ed6e941fcbced2f54ef0de69a126e822de08651becdec7a204f2850a5f179f63e6959c950e53d1fa7a6cac8f85e24cc36b181e327c9f6985d21736377308913c017f607b37de82f40d511b3ad8ddeab7b0c4a52d58bd7fb410f3a6a0848592b281048006b67de04ff077076931f541a2d79ec7b28f1ed47e633a0e7d48fee31ddc2870364f098ce94f6b80fbbc404fdabaefd0b1f6b2749226ead4581d1377c4353dec0feb622db43ea9c681a0aedf63319c9d9c0568122f7debd73fd1e893e7761094509da5f557ae3078d7f1b70e96cdf9c243e4ed575ef89fec00a8f545db2d2699e6e3f56f251cc8b39e2c0b80a23a6874c3a9aba43409f73deb6fd7e0b6f656a53da424a5882ef1b61252c670d004818227243b6d842b7e669a0955db32327d13e95c095111490018aeb902f558014d674a405030619099282a6e11d181ae6ad819d028edcb2ae191d456e8cf903f685dee370f7df005d8acc1c93b092ee7318a6fb3f67e60ef3b2d94c1f1070cbfdea1ac72c7e164346bad14d84c894924c524a19c1028b022503b2eab22bb3471e931f8d89d4fd703c115e5045ca4bc5523f65a9f92c5201b478ed90a3fc41ee2091e4944fded059531ab27daa9dd5aeee9aa162a458cee3483eea1510e3f29affc83810e7416d78c68c4ae78c1917e531409da7dea064b002daa7672d8368bf7cd42bc0e65c0634cf473d19bd33633a16f751ef802c335232aa1c5677aab7356feccd0d577a737357569430e4bd1dccb3b9324601948f7aafa04fc6682c4d2d677ef6c7d264a46e73285f14455114450e432df3afcbb8627cdeb1c5eaeecf16abf3711cc7716c198e3fca80d4df6a93369bcd66b3552f1ff5686865db3f9dd59dee957180b883288aa2785fc6eafcbe8c2ba6c5eabafbde7befbd55c6329cfffb29883eeaa91852515393fa9857e5633a1cf4512fc6403296c92a9d32d95d71f84d67721cc7711c473aa3387cd4f3ee75f94dda58d9f64f6775a7cb3a55b64be3388ee368ad65596b4110044110bcd76319cea76e8c029611f9a8b7c267050b16b48f7a003012005237a6c33c1ff502e09d16dca245a5b3458bbb62f026757dd6a4df07804e5677f218b3aa72fa9fd59dae8f4be3388ead716475a71a3a09c3306c85a16dbfddddddedeeeeeeffffff7fefad329c470590f2982dcb473d1bd1c6858b94c774ea9833e90052e40b7ef1a2d2f9e2c55d7d3320eb50188661188620088220080605050930df59ddc9fbca7094d2febc2ed246b8341aedd2bcb2ed9fceea4ef7ce193a09c330260c5f66db2fcbb8622af7add65a6badedeeee6e777777ffffffff7bef75a1c279d48b944b045235a83aa9278c508fd40e3ee9d50ce44d05229fdea8881b73150c836c0c562056d6b27a6532f3a7b3ba9313907aed88cd6f017aab3630e49126ce6afb7f07175962279e4417ff27ab3b399d6cfb7f69648ddd781aefe89fcbfd74c2ea4e3794956dff9df9b7edb7daea0cd526536dae6a3b555bad36b6edf7546badb556666666b6d65a6b6d7777777b1dab55d9b63b33333373adb5d65a6bc79af16c369bcd661487186e666666666bed8dd5b2a7eeeeee1e6badb5d65ad3d506d60a56b08215ac6005999999d9adb5d65a4ba3d168341a6d1cc7711cc7b0d6b08635ac610d6bc8ab9c0a67aaa62755f267ef4ebd3a53b10abd4954976a51a68f7aae91cad40a7e6191d29b84413d492bbb5c13e8a3de4c485f9422317157742661506fe2fcff4f9a6a636e9fb8792bd7966dbfaf1919d7b5d75a6badb5ffffffb3d96c369bcd66d4ef09e5df62811d78022bc820c8cccccc22bdd5dbed5673a82a5bb7d65a6badad3cf61886611886210882200882a894dbeeee34323333734f4f4f4f0a0b8220085a6badb5b6bbbbbb51a4acb5d65adbcccccc6c59ad940a677aaf9ecea5c2b9f4d6cb3a75484ab55d576a6606466302c55dc1c00a8220088226d0dbbcdd6eb759d93edbf639ef6b46c6f5138c69b1fabe66645c7fddddddfdb9daa8ad7af16fb1ba711cefbdf7dedb5e2b5b6775a7caf6ffffffadb5d65acb611886216be9eeee6e77777717455114c5711cc7711cbbbbbbdbbabbbbfbbdf7de7b69d6d22ccdd22ccdd22cad67543872aae4d3facc208ce6048a142a6ab8a6a6d259532325ad92a5ed9086611886613b382ff8200882ee6c82a5d1fe3523f34eaf2ba6c5f23b7fba625a2c777777f7ee54d9b66d5ad9b6dfeb956dbbffffffffaba7a7a7f238babbbbfbbdf7de7bffffff1f559372777777bef7de7befffffffbb09142954783c4e1e8dd059d9b6dfff7b8246a3d168f7de7beffdffff17455114efbdd5dddddd4fa44e782952f4500d8e7a4435f7512fc6f4dd3eeac99a6805af5851e95cb1e2aea43769e5c9e4a39eac565734d0ac89047057ed6345f1c7f4f1f1f1f1a1b5325bdbff4f5f858a9a548d97b234696956d601ddddddee4d5e8ceb24042a44090d3d6cf800861682d0e81b452b18e16eea328bc8d83031eb8f1b191c7144132b37ba806077ae6ca139584576e8d1240411108b8da32ab3833cf304e124c90815704b2464b13574c042715c80a4880d0b0b4574394282c5a009920fba81125a8882064ab058b00807ec0671777757a25fec4fbb377593777777bbbbbb77373521a9eeeeeedddddd7c74a24d3ceaea8cb8373de94997681236cd208c584965e6eeeededddded3db846c7507d14fd14a1eeee1e03bdf100901c453640e001841f3905c87e3932a47e2932c44ae51214e5bbbbbbdbdddddd7dc98b71b2b26497089b76099689d2259a84499654991d2cb1eeeeeedddddd4d4ddd4ded250172c103d1862b619317c379be9988768adcdd9b04a1c4395b0dd472098ad23994a012c4b4c14366ddddddddeeeeee13f53d542a2451d9e0861b42352441d44314c4dd9d8b97a41e5cbc7c25705b2f1928d085cb1049413e74a852537483cf640f3d3c592168091730b881440e46304f0434e410c2490f239830e408221c8cd4ca83b3e403242137e40350ce5683eb731d5894f0a0c2123952d85144c3bd7cee75493e5f5285e6e83682e8c9ec87918d4ea248cd5104916d87a948224d0162862174b8610728dc6583eaeeeededddd9d64a39b0b95284662380b6ae3eeeededddd2dbbbb3b868d8db3f71e5b99c7e3bea406103c5e782c7561a2e14b9f3b9191cf3dcf8b71833420b2e50b951b37f0c0a187468f45a3083b266802a18b930e3cf081e14594c4910c74809d50e4d542f7329254ab02e5ca12f148a7d3bd9e742fa06e0a6e07c6c483b93a9bfb49a1295baec0a208e5200a4d290226f43aa414226afc90420406423666f8a04804172a122244850aec04589429b56f88235092858e77e71e08bd73468427684105120695f3ff74a32889fba8979259540cdc3b737777774fbd7adc53e178cdbbdddddddd9d52adba6ee27672622810ca83c72d13276150396b53cab4cd1bd10c2793599330a887fbd94fa992f7debb23f49bbad9dbed76bb9d2a9815e472b95caedf9bbb530d9d84611886215b666666feffffafd56ab55aad867af5d4d468ad56abd56a6cb9c5fefcb88ac3e17038dc2aecb9e80dd36066669ea13be9708224866e840e85ced651e96c94be28317d3a5e0cfe41a92e8ceb61248b14323016edf89b30aa922e68276fa4a43430f7be9f24f0ec0a945fc290b29c77c37d3dbc471ab77c48553e9d471a72c592404a69ad49429274586bbb936a48feff9e92869282543c9f4e4a69274984ade68f5212978c92cfc354a9927129d99090929892b67c9d4b460948a656abd5ca838151caa2748389827a7d410ad26022fdf8745237d4d37981c027d9c3a1440ea395fd337b36401f7b2f240b2171f0ddba1aaf10849034f83129f57c0821f19c70407e5276827a124c4f7a544693eba64cf65d30278d99e5c887232274bc67c3c2a684eef449a1a35c921a517c30e9529f14ba1171a15b7d52e8460b3bd427856e4d4ee8ee27856e4f6e34e0b80d7d3a5e8c2b57ba17ba1e3a15ba23a41bff49a1a32b3e8a78daca0e8bd3c1464b3afeff5f38743add11909d2321ee2c04c1517d78fe5f563aa3d00613d627858ca018b1f08392f743e1f25477966130cfab301ad665a1f3627afedf0573d61e5092a2a6d7f260b2985013be9f8fc24447367cb02324e701f522828bac91958bf3bbc4ccd61e8148b8bbff1f0159517b04f51242c68c827c30239f0f4629add588663413320a3f18b5310265ad94b01a649db22ef50ebba1d3817d54c761d465027244a16aee7b69e9e6942f2ddd4b4b676dad554bad747a74522ca82cd46656dc3721a8b7ea826732f9a6476bb4d6a09c0a64897cb3fae0a858d98ab65539eddffeaa9cf9a13e95734fa87b42e5a454ab4a274c4ab5e259c1a872603a164cc70a62b55439ad9898ab9525e6cb373d57ce2533b3339385d6e80f94a021293f949663a23c280f13f511c2340601110d895580c2c933772691e9336948e68e1ca255a4aa06e4cc99dfb4c174b8b2edf6f77b3aa15228d50a6605d3c1b05a31ad18972ac72646d580cccccc0b466382267502450a15aa1c1b588da7ca91118ba9727e25633a2e19d379f14d2f852ac70685aa01978cd5c8f03816ab74c67e55f32be9314f4e0ab54786d422436e13a457ff20522282bb3b100e776f12f4ddddddeeeeeede742aa2dddd3f6c65cedcdddd3d94fda8a44f3bbb2101034000b3190000c0201085713010a310a5ec14800a24564a3e7a2c202a3826154902513a12632812600006011002104044198894a2b216caed9e1307736a38d554b477966f6e0ab4578c90fa695efede56c115aab312f1138d83c54fb157fdeea2ad32d39acbc44fb3c2c232b9cdf4d4493b8aa7948a2547c55db0b1ab9782773c33b6aa45138aa1a4efc8c7ab8501433e0e1fdc3d6a94614f2b325b29e14a868f6b15bc6b3e2a3ef14a92e3e41b05ee290aa38f61e042c5869ac5fef47cd93071ece29d54f5a914664eefb7e291ff69dd73a508768bdd1ff62e2bed942b06badea13edb6017e81b2311c18c5e440405b799d9ecb1c059af525dc68ebbd58ced664752ab196e796f6f6578da7767b193a870da0533b34af6c446af13fce5a0909953315be103b075a74680ca16e316282eba828772d0301c1cedf893a1d4f6120a6e78b09eb99e92c9d93567b48e429695111e292d4d5277ca99165caa903b527e3dc23bf57424cdd9aef36003517379ecd58cc81705cfb6fcb10d27e56a2710ec122ddc0e2701acef2782abc28d5f15d12137afef661511209bae6f1c2fc6d340853a2014f70a1570e1224d5a5e611fe45886a446c8c1ea5fb84ae1a3c4841ccb07e4cb73903d1ee62b883d76f82d6f6c12708eb44e5724effc215ec2c7b47b70b256433ec97665aca919a387680ca98a9739b7618777f446661f15bf6a384afb67d973e3e9f5068767923a0ed8b35303f87ef801e9c1dd09bfede7c0795ded678a019fd5b4c45d0e54aa9121c00d84f406ca3413a281260112b2bfc9831cc5347f2e1c3703797a8990e382f40be59bb8c1678c45c75b106a2ae3ac30bd985ca1f1ce801d9d7cec48ea72cc0ef3fc4b1e8e25be56b99ce390a0303b220e257e728e419a9ee5f44bcec25ca2049dbe5817f2d01f0b112d638bcb779ac571f7ee831be45b88a3f370684919f4b8abbcb76dab609618c584c63bf4d201a0d466f297b3a3ebf0475de768eb57088d206cf2b07e4a4950c5888c936e5f495136509c75114083aee16af333c026761a015b8ab110ea785ee6345d68a73a01e79531226a2b5dffd8b020554f6f5e497f0baf8cd19219b684d36d7ac174bcc892fd9a5d8923828cde8603d2e454a0d8415f2c5302f1b94f51940157554c18a054ff551a93789547affc2bea603f5bec7fe9049040e25ea2259cffe57f47e87ff957f09ac1a881618235343f7c4376161ef5d2947b0a8fdc893613ab3e9ae6607bd47a0433ceb4d2170c157314e04f64f5717c9d005640df8fcf763d3e190a940f30a261667119a61ee5723ed104aa1058fe30d7c4a2a4b5d6799e674ac81443e872c83c5aba5c3e169b6c4443d728e889595ac752e4ef0c47c13a0e9f07bdabc0e60548ece9eb5bcad1c3a8bb920f75409453edf808a53bb2a05939ba073af6b07354853d643fcb3cdfa90547cdfe22057f9e64b7f5e6ff204f0d47691e868307210dca6271db1b216418a232879dbe2ba0cf75f36eef4ad49b5fa7ec5a8b9a711d6c3e60e419c647afe387022f33191ff57b78f049706a1046fbfc2e8617d1964d8e194214e9a3b3365305f40115696b27fb0ad4bd7901ce2dc2154762fcdc152796a40e62cffbe03426a30223e67119068569c55b53b7fdc0901ab553c41c6faf28cf48adde259911dc2a376a6cbc43bd0fc7f159e8efe8c0cf675ba2a30e8357c85df24add9ad481cdab69abbf80c4533de79e11249df5c6239277ba05deecd4a419f2c1c26a98627c47f0332f0af8539135287a75a840c7c44a2a75caecc4a536bc8898902e2de3c74333ac2ec3a16509a854ff481192c9be7273055146cc6b99218674308b72f52916297e53944d16210fb34bade0e40edf83780ebcc888894c1d5c6ae540c632b55d682bc410d6cca21baf72c0f827803e67afbd710a33b846df4c0533509f68764a6ea695ac6c8f3e4259d6ceac6a326714096a77d49825146e4e144c892b6ca194d8507058cd455cdc278a81e3d10c39d903e137739a427231e2200d0a70fa493a3f77fcd4eba200cdb04b653f8b56c49c181f4ebafac99c4bb429ccad54606cdd6a30c8194b47e28ff2cdb3db9ded8876e5e8c27b708c5be58616189ea7e272718c16599a53622e902815ffe791dd9ee78f2b479f62665b60bfe8961c3d33b11afac7f8e1f06e79898f1a6de267b3a828223a1c5a3c0e95e24750776fbaa3e88e98d06aa92693926b4cb7d8aa32826bdaf04b408cff775a105ecf7e612b64a3936aabf9fc8648210edde2deb0a77828fdbff6c157652d3d5d31d49b8df06a166c1d0c86aa4a5d855ee161c4da249a1d0afaa6577421d7992eb0dfa63450c205aeb4bba2b19fcd20ce0a77e90e5a21f36bef449d6ee7f072bd8208305540683df93cc4dd3d31be67864ef502449c85e6f49b48ca1fa36ff4f7bae9d141794f1f2d715396b6a1c582ab0e5e50656f284de5b3702afd1b53d6165d13f49df0ba43944b600cacda756784a3c06ef6c5c2c2a2034593cd6ed94701143da321a02b80998901d4cf513c15d4985c5e0f92c676d7424f7c3ea48918c5a6a71b4ce7ef9386ff198b1d37fcf5716bbbcd5302b2dd3689e73a478c10c0e2c00863c7a46ff124130010eb78a2d6032e16c0b6ee158134b8e0a53970d7e996d6ed43ce96bb121711d312afba1d089186a3de3f870b8e5c8d56295d83e26d8de136b956143469b8527050bdf85074f8a2b828e56a2cad806f58dde5184a30fb753935902356d9d655126f809bf4cafc21550306633cb842895579eb942acacf613d2467f8e1b58ec5baf1ce99d13e43907cafbeb71696b6e01179f74cc74c75f458fbfd668418e6b23bb6cb119206691ae175dc8dfd5b068909b903bccd877a3afe72ccac00b088fe3a2653f75b46d125caf2fcdf73cf371d0df3dc5395577efdb964a4cd560a5cfb649639e73d117ba109b867a5a14d24c74322c56ddaf58d026b4b8297b5b5faeb10d423268df33c75ff193c524097b93d85455d0dacbcf9db86ead78b23f87894361c35997219d5a61700c590c6d68118a0e451b8f34611f1aca65612a3fe45bd17376235ebd353ef6650b6edaf2bbc6e6d94e23fbfed5c1831011e1a457066e06490ccbe23389e4d57ea88cda5b3ae8062e58d89252023763fe018a0b898ff63872f80f7dc1d279913a31b629de91fed43b1c35e36dd14d35b2e78e49472e4da26c0c39c5a601be7f1d52c88d94745bd360b3c2bf6937312fc134fa3721a62001a3789c3e2026f0a9c593df9e50e231b6922b1de718bdf30b3b9edd1532459b4c658a59c8edf8eb447303255fcd5e599badb67be58c307e690e996bb75fe63d08b8fc3d70c6ad58740719acc78f9a115060e58d28ba06aca22da6872691a17135a62b435f1c60b92b008ed1fc368476ce07808b2961840e80b0e0a01e98eac600398518d081ac53fbcd581523b8915e57113b051a1b13fce92cc16fd5e80ea49ceeb84f9b04a2af3ad7f7d82b8691316ed1abab6777c077eec59a6822260c5a08a322d1180907fcb751da9cc95b3c591d32053ead37e97d91baada038d9d43280aab6991f0146aadb132611a367d96217c36346074439bac1118fa3e7cc94b063800931fe7879f852f05a132c564a6d49318a71bcd04399388d57d23cd7fd172719f8185437e1ff6273ed05a68f2803386e70b943ad0314e98522362659acbdd0c0f27824eec679bcfb0bda1f497df1e143f5a15b0a23ada4c74daa73c0c9aac89e678fb2b53b119159bdb57315ad63392dda647a34de689726d21d03ae525ace23edbab88084da9e5553b28ba2c3d4082430757f0cbfa89a8e86960f99193a320d9b04e6012da1230450f8fa2da9147b59f8c31503a39d40b9b1c8b3a0dcb7cbacac1973bf639276b1c864efbeae547d1496b133153594b36c87b9b3a2e3512969eafead4bf2d2bed6c841ad80dad68c4fe2d7e721c3d578b03cc0cbb79969951baf56ab85aab5669b5e4819472ffd920cd2553ac2c62c888c9e985aa15afa91b9b400fb69547b73908230d72beaa2b1a137db7cd8c620ab30125e53d649174d13402089fbff8194f0e79d2081783be2a0f4fa806e15728f066cb83bc39b1808a9109db103c058269c398dd9687df0a4d9467519ae986c18de9a719500d059459082c10b58494996ae7a49d369f4ca9999fdecf6ed37b804ce7d9b5daf7c580ed200e0aa9efefad91e04620789dd9828aee63ae2e5b3c08fec10dc80391d10a054e379d22cb412d580de3f0eb9688613b7c44dc580df719e38652631d6c3fce8330c92e77b9ee34cd8c4b6001921154aa4ea080333148ab790418ce56d4170fd96a4b81ab78aee5b59165c94560d54cdbf49dde1ce4b1f8686dcdb519ac85b3ee154e7e204ae3d11624774c259e795c6d79a5c86cb436d9294004e5518f9d39a058366bc2380077e6485cb17aaf79786d2cb6766897ad218aba90a902311274db43c134e2b220d069bf37cde26038a84231130c7f1195d17f1c4c6ac8945057bd2f93826738e92a5e13f96e9ff8dbdf5cb79eacadf63691e908192440b4a984ac42412a890c053e44de06235a94a68c580e714ed3b2b72cab18917771d892c0325e2545a3ed4424bc9e8a22d14b7a464295e5a51fc03e1367837789ef18ec2a75e6f65946ed824c340d231e30bdb143031687fe7f6cf571611ea11b015f77ce05c46a48c0361a3fe01c6f81e49aaa22013bab8710cf3c798a11659b153204eddd73895118a17080c21d5c15442bd0d4809cb18f800de443d666a0bee901a09b1b689a00732cebeae586243cd1fc1657e011113f446b2e6d037a40a79f512e2c73eab2d7311f3fd76d18637db97a56889b10b8e23835362c3cb1232e2fec60272339c2ccc2c7147c4d849793223749cb1d6bdd2a5195c854440f91ac0778453439e4a71988afe8cf24a1c6c645304e8ee4698b0d2323b5d3c601056f8d3eceb5f42f1af85966fbc2a2e41acb3c289913ae44a3c4ec311db848b282ac61822f63eecf000f0399e66ad98a8875f776c5593d0998df5c7a716195806b33d85fd60432bb2e6f549368f2d4d71358f699d7a452fd46e785265dc8cf6d72fd388f5146f25dce8ac1125f3ab00faa6fec8df2814ea3ca9445f0907b0d6ac09ccfab6a5b68093d28b2b4946c9c1561a3da426f9d590dc2e63cbd41d856c1d31616d408c8d766064e037cd87f68f7fff9a263a8556b9645d563bf7231b4389ae5ff94471bdd379f38d4c94624d71dc4d310579b31d19a6d4089b11b7f71a35e1f3e8c6aa3c522025f09cf42073e26cce307484e44fcf9b8103f988d3aa354a4d220f23aaa9d2c95bcb7c87c39f1c7eff2c7e314b5cabf25950c2999d2196b6c18c192230c45d17be84c9e14a750d3dab4d7abb623dc03abb154252dee5c66353b99272629001b3625b8c0927136f983c4f131f0f24414b3a8e08fcfbdef6798a4e37c2f9dcc5a0767e1dfa2def90dd48453417c55f0c550c87989140256455e074d6c1ec71179f149ae66e7a56b41799cf4d1d91db21541e28a20aa1d5186c1d9bcfb75b0c6ac549927a55842f82490d8ad79d983f108e48f29f1965380b24e31ddc4f1a80f1d59fbbd21caf216a3d2732c61691ea4331e890b096219fc4ab067b48b217f893d0019169231dfec4221160485909940b1d6ce68769bc76d43d528dd4f2bde9518f9ab564a590507569a0ed20229a6c4f8e2c1db27b42d1c4179c529623368c7602c5776c99abc06d9953d3971de189518461933b76fb9c48bb2f70df46dd5df744abc6e979a83e4dbf104e381ecf2242692ecb860b1aec8bb1a5653a2bb05df4f78b73d12fc7c4db724ca6af5286e04a761b59a984a869710ea64e0c9f3d177ccfc7037046790b17f1ee0df4c2f12252b6330a8db2bacaba707251d13865efd1d556daa783a38bde955d26969d344cc2f4827e64a68596ed6801da8228910253629af444f9442f8a080d929df74a59208619582ad56aa41beb2da39a7a93964c70b8ee81ecb45fbc0276a3d322a968040d8e9792b9e39070c5416e1bd0c5a1d19b0f08db80e89bcc929bdba6a97e8f1bfd07f59a2438f2e93a61032c0739bea83d3c374e9f755f7e10171f5291499aa06bcba1a221f3383a9f17d0c08c7d7b6feb000ce12cff5f0f2a4c7c257cece47e8c05c06c12625819fd8de1b641c27ac445c13a5f29167e9b1c268a5072b81018cfcfe176064be6a118dc32d4f00c169b63891a28ded410ceab74324a0104d719bda53593154e7ca1437de6cabee791e683837a608ec1c8129d300ee5116f2ce87958e4b3a5880def890d08f28e0eaea28cf592d3a060042694d44a522eb321862e6887a487d07b9ab3f64f7206fd22d41c86afe33a459efceed10b2668c58319e659173f1708026c10628848105dffe3eb4ec905dee994e1408b95248095bd25205218e0490d29228498131b80c41eef0fa7691c66fc99c653533f0f837689000d7108a1c6384869addd2dbaa327c5ae362c8270374776a685270fb1abf92b5a79daa02b24127ca1425da057269820e6d5b5aaf732e96eee0a49da0de946e404555d7fc6295cf3fd0b3290f2f652c83344c6f0787c08deb3fbda3825f6c67cee9ffb5b3273765e75a8ca9075e9fbec282f6f48fcd0f4724acc38a44103623b110459599148b0d59598ce24b76f09cdb5c8ef96d2fdfbcce049bbd2eac35a075aaa601d2c1a26907c3324673b11a5341a13c677a6b2ed57095a1617fd88371b0e8eeadb86c9e39cf283ce8d35529aa0d21a286029b5d69c3550ac8c6cbfd98b5d75fbe1b2c52dff8a77f7d70bc5946c48e9a795f90aec4aa36d86557f08171696cd61e4e31e4e024508b8eb039fc5214fcaa45b6126004e02129fd8aa62e8e701648b576dc10e0975e60f6bf923b006ab9d29efec3ad3cb6ea594d22c16e0c6963a71cf5de75763f701b9f7df797117b1bc8cca304bc5440eb96dd37a27f956397ec2aec2ba274f36efd046783159b9c9af6a34a0c83021f61fbefd1732c0484454a07ebae713eeae7a9bdb122a2bb46ef9d1c685d3757be9a96600e9dcd651afa722a4b978779f2b41f7eb5017e03400cf94a5f63cd6de93772dba0e88184e4414c88acfc0a00d7cdbe49079959865de38c6a67dc49d8f93f263c6e0142961ebb4796068bff7a47077e2ecf195058cd6aa493ee5631dc11f32854f84df30b7f2a0d0fec82bc41d956328717faccc325978bdaf8bf17c3d1c394e9a5925ecf47e38f780df574b51804ed9337cb85050c714d0811826eb4d8322d2b700175039b78250559633d0c555b2c237e02831f0a4aca4d77184e6cb2f456ddff407663bc94bd8067b056dd9ccf67d73a3321f8204eab29749d9ebc371c45a93f2f35242e32a2062d164b42646a046628356c8007851c806fc08ac1d478e5287b608ddfa73e088f0cab8f01c4d183184f6921579620388eb2e055194466403dea8e3bcee14fd2b9805827415b8b9155749f0065d263f2bebc3bb1b0905f745f8d6248ccd0685126546312676b008b88e75c4043381743d239b766d9b9a8d7c0226fbead96c4bb590deb591cd05af2818d915b0ca993d6f51b80444a7409b0afc699fa7c86f23806edced8ace8e9bc0506550e9333f58e6ef8019f967a2b8fafc6ba43fcb2b1ce04c2d4efabcbc6d1b7dd49e111577e4c0bf381cf00185c8291282796cd7075247463d018a4dd99009af081b41d89460397ec6e9bb02173956da926e9dd197bef22acbe137ff6bb83ad8dcbd340b48c43732105368e770f14c9dd1c1403d2d9510cb5e1254f165a589a6a804a2051962275f8d84d6b0423005cd77f7c60771722b8f83f06d069ee277d4c49ba3594fcc76cb9b3c0c4a7e0b1b2f7725176cbf8cf2cf52f9265bc433725683ea07fcb283b23719a1fcb3cc69fa5c198ed7ea7b391a11807ee5a451ba035cad10516e04d22b054e502a59a34e9220d8bc3ce2bfe31b4923e17d9e0478d2b143a9fd77b0061c3099148943b84f0996a209d61354b21555ed9815fb62ca2cd045cf5989dc35af5384a0c5182228668228b21c00589988754a422058e49a9773299bad88ec97e3c6e8c223f91f272d8d8adfbfd6d103fee79e33b803d4960647bf8fcac5c0bf118cc0bb2c4a3d375fa6245794bc408e4099147593966302f21f4a1cc528e90ef1a57604d7a6e1ace86d77c8a4ec62d86049d1efa0e084c69abe0e1c72aed910c474b3eb9aa79f8d8b477fca090deb0b6fa5e898e8a6c4e68901ba2f418c24dc7631ce890a283b18a2f98eeab24a784159d0b5f05746c3d9a9250b355b2f1c82a7dd25ac505923c623e66ba1a4ceb5afc21b69445742f473bf443b12929c51e508541b47cc5d085964b62eb0449022dedbe11a7bbff126194dc64be9812662a53b72bdd801a07b21965fea68a0518d83119e4d8e86ceb21e2600a27827861e7b169b91092253ea043880f8398323260a5f914c9586af22955bd39a6168691c692111ad308a76d6498e1488c7524f128ba7de5257904aaca422e628c155c7f0dace7319bab603ec237ae21b31889ca4f811336a161f5811ca0754e881a510c221c370ac15ceb24978051ed0ab7ea1ffef4c3ad203ba8f502292468466492bb658119f13a50546f8810ab9022da1883920493bcf433fedfbb7c71210f12303e4229246f0f79b2be66d3303df0324757136367210527242119c13647e10c4d02adfc2becb9f0ce03e2dd70c7d4f728cb737d3cfda87bdea0c60877588ed5f32df18636230a9eb4dad4409a7e97c46dd0c63357f9dc0ade06d37dfe0fff3ee16dca5396fa8634d3211bc04ec1c1a486675e5631aee44c0f606148186d02d9f652e61ca359ba74c9aac438a5a318a1aae259cb1ab13c5dc18a1a58236b07bacbde549bded98109b4688b34b959a1ad3399dad668bf2d30afb2e13c9e1034d30e5b793f9f05a71188ab76318dd5110cf838be86d609c4075b1b9a5352a618459e9f0436f7203aa9c8b9befa4164927463591e99905d33041915c5347865a6c99815ef06cab5f2c781842514b723552cbf6b2bda0dae2bc153f4e1dc28bee2314825d10dd26aa4417a75fdfb10adce0eb067a48deafc5f2bc2b48830fc9ff5bd044ac2330e9504c50a6e9f42607ceee488076a52d82c28ffce19f7caf8b531a48485680c9a83b82d0bcce6e6e2610238fd6dd78ee3d11711ca5e2cac99ddd2d119a0ac480b09d2186d06616846810f4a39b38d20340871b001dad66fc65b110541a2913f59b83c9ba7957d21458839cf4a688eadc716e25e3be8b753ede79c4cb936186796b404060684c3406cdb18680192410be4331633800d9807730e3cab091d98460c0582a16794d217a0241627fee8d41d3a909998ed0019ea96d6746e0164363dffe913e4b1a593276cfa504ed16e664f2269b7ceec3b976c3b485c01d5a06cbc2f1ea3c16650d695956d99730baf14e300b948b331816d7c94bc80995d6a4b2f71372f8721b958e0184884d2fa4ac5a636be8a665d9f3746f23368c359c14334bf79db54492a883db4b15a6f507a560e2a20249bbbc56edef5c55ca91a03ad047fb227ad7c7abe14feb5262ffe3cffafc250624f0684d839a13c50ef60c2ddc8a4702ac88477f200043bafc2179c913189959d709dca9d47125a862ad8216b3700202348e76fc966eee8d52ec192bf5579d42c6e2183e74bb56b22a5869082ee45de63bf5062b69b51ca956fb63c05cb37777da1ed1786d9ff63f3e4543936af155ede4f22747ea4a90193c6b45c9ccf0bcf41a96589cead8809fbdbe7fa3b5446475d62ab385ff76aa5a101edcc0c5e152406a034e113571a86a4891573d6a574116082f351d26cd893bac2449e50a4b7b41691a88007ab438d6badf13a949d2d64f1a8ccdd6472eb2a6b2b1d7bfbf310e826899fee9466d0466bf8700af29f71ba2870e9c83615ec0e39c0fad218af3e39bc62ebf63931d34b12dd9adce37002a25d2a73c09ef85e7bb109d8e76e6606ca2bbdbfb6acc7963b450e5e773b9987dc8f925105096befee7c983d4c1514b8a1fcd4592b0d56a9941bd18b43a416bd23aa55254584662369b915c161c52452e3c845a3921241feec50ff0ed40670913f24e24904ecba70b81cf90ce5f87cf097aac0bd3df6bb27872774953c88034fcccd67908f3bebe0b7b9cb76fb61c16bee7bf2a418300f5cf44ce2026f48384c33c812294f5af9798077c340832b6586bc33b15bcafb4808fe64cd7f63f5188dfb84abd2ca46c875e80506cd09fa1114cf7e71871674b245af499501b5bb48c3229106df1adf7b26cdbf213214cbd06a392bad23381d5a3ea3949aee9290bbad89341e8371290de66c4e23d77a62c0f8307e912cfabc801ed2111a5af5de0f99b4996e76224b6764e21bf3b4c68b7de41f80d2f10dc588ba7c13e5ee2fcb355b72b239ebccb6d4669388428f8c294c68fb7c50d88924ef05d87169f1181920cf0eea67d42a00d8c738ca02ed78a0c72af1869d3b65d48cdfce174e72bf4051c7ebe3db2812a1d5b469be60cc01a0e652d035205a1cf429b60dc899040d1c598b0c00242ff50b1865d400572c6668dc6f38d0150e53348693197d2840781d3a24ff395e02e98e1fb0b2f412876fef9ff7c5ce2fd1b91e2a3ed1432e02a965b30a24950c90636d1e666e6aafc0787fd73633ea05ec80fcb8021cf3c1bfffe07df35e2b3e90ec0219b754e89a28be9f4ae66b568929262bb3105c3107a3edaccbe524a384b5fd14fd300b5a8114b0b2501e552b989670e8a27d23eda35be7e3b66174946d881a27ee7f7074ee112cb15e73f8b2dcbfb93e7711bb8ab482e1c441c67be15555c1fb74c031a1fc9cc2ac5b5b1c8470b7fb4138b77a10f22e81a4b50e7f2838e9e3c35704ec45238f4db50eba41c2c577f4a00e42043600b8861355b993681957785e2620e9066a2ae7986b11b47efece5048dbd0703706ee46161c9e9dfc404b97aff858d9450dd3b6b6f12f015e51440ae26ec6aaf73cb8222ae7e6ceed28da7146f891da5ad22827069bff1f2bc6024602b56b02004d4cbcc36f89a1fe94b8572989d496e6b161a0de5b5f1c124068c42ffd0759edca748888b17216278e92404ec6ae81aeeb7238a35dee114ccba12ac808da63bc5178fde8de05684fe48af78081bc37bf3e0cb7339feb166721e0ed6cc2d744e5ed2085c7d397f05f8a7068a4d72fbd1ddaf2e221284a2d6855de68a764f3187051715defe06a87a2a44c83a06e4eb14b47e35d1c9d0acc4d3b2d876d0a7a81ae8a7f231d686bed80adcb63f35a37974d045ebf9d578ac4be6195960d696f059dc76e297a3d6dba52a8d5887493efbc66eb6ceba82ed474d59606066f7456e548b36d1fd6fb7b89eeafeb197ed630433ab0197bcf3d63022e3430e652bf6bc3bb89dfd59bb680dddedfc96d5d86dbf680d506af7bf3fb4fe735ece4ce5889637fc2d1bf81f1287742d9a7cc49bea4e82694086c2915943f4a601a061f2f5b88740b06d28105e3afa7fffa7eee9f9dd0354b29353d87c0ff1c2d509663827538e085d463dc98374d1835cc859baec55e525fbe3df971c2f380188ea540dcac475c18be2afa745a9a782784966ea2e9b9d847cfe195d57f98dd35441fd79b9c8cc9e8c5baf78143375c61e98dc82ba5d2802c3ecda438b53c17b95bebbe9df6d63f0d38a625f8e96995f0e7f9439581bf076fea6690c80c80c592093e45b904509c6ae9402bdff8d441f89bd2a999ad521ae60d54529bf406996afbf378452fb488c29379a12f28e0d0b6d8d601bc3a1a84a1d3babb1c77a3717e41e233e091048334a1333b3ac2dca6ebc796507b14afe0ff9b81c7e526580b80c1c6450f460290703e9e6b97db8a6becc09226b8bfc1b79b4b2ac9f9bff15d86e84f7fd35719de8ed07af615dfb0cc61e8758fad44d0968402ebe3527d93084d0b552be0eda84e854b4aeec715c5f6489517a32c4121198c841ce5db989a9ac164a553a670de96083479a9a0cb4c4b471500db310974da34465c317beadbef4191ff1b08193a4a446e8dd5f1083a2bd2d250387a7e2d19eecba4ac428b4815cb93a5e28101154effce1192c4e3eb43aa1e9b66db2230cd8ead3108a6b1c16c6caa1e1c409e3985a548710b6219236c894462ebaf05b914a8f4da4ef8be138a3e842c387b93a6d8222dae60c1df2c12c50548f6d2d51785d06c96459706e84b4780e4c502b4831b12f52bb56f090c428bcb84438f2140c3348d0009e485048930a59bf508779d35611077d14a000ccbf97a6f1b30ccba946214097d1fd7db030a081b7abe1c4f35339a258ccd40493295f15ce32329c46790518ce9cbc30c5bcfd4dd469f3a6c8c83a7551f0309ef03580e3a1032c3063ad93290fbe40233a87831af174fc1344058153de80b6e588fdec442ec13a7fff5ea187b5d0dda11a179bff896e6e8e8fb0aac74918b55032e36c38d05c091173aa88211a0fb4fdf324090201fa0a94e6b1e6905f054aa288c6081a83cef0419a20c011b0e46345f88915a79750543a3d0045123f23a326abe3f9596b9727771a01b768591658964f859833153f089d1a627f2f7acd71c2d57bafb4912898b361690ff22cc240c8fb751d7d4695241f66bd5d94ede61ddd49d2f829daa2442df8750b28f444c750a9390421f3707500a9390023eee2ce40b8f79c850551754d306a5cf9b682a9bd434da8159e8547b14d0a9783e829260c63b51ad5290e815f7a7b9050b42ec8b2b80a6fb157ea8ef449010cfa646597c0639b8faa097fb8d2548d22df3dfb87711292fc5d1124b99c0a1b47ed4b0f95d83bb4d1df2dff2f11bd9b2450274641ac9df8ad7516926ae4fd818e8dd6d2030e310aaa90888fbd87e9b90c23d73062bee77276c2839af3c86267c5269bccbb060b11cf358a7c9189ceb455a13008819061dc25c3b7e4bbf166eb0db9e2123ece9163d9f2c2ef051e0cccfc476f4c1c71d33bc910c181e66c4ed36608c5176021a070c44026efdfc03a63a0a0233b33141a6e4e378c3ac6858e3082a621535775f5dbba79f648e62928924792e2c1d41667ad4359768fbfb0cdaf380d8e4a8daf88aa45082f5dedb05a5817072abbb01b30e4d4f3a5c291777aeae68654e6f9e2c7ea9c8e76898bd061b5c0758ccb3e827169c6cdb2165a0fe9ac856a3a356175e1dfb3f90a7030115b449b213eaf75161430e27bc48997a79822715928eacdb34346969fdf26fe5d074f8d956310027cbc5fc285ea4a8f04eaf62468bd24084ed191a88f1128e3d2813651c9e2460e9fc43355c15a7516413e73c3d9f40e4571b92e44d0423af1e057042a4bd13e110dc146fd559d31e98a464491928854255249fde106bbe0f3ea1be661fa4828d90252295efc22fe1be27e58fc33d631032919681e7549e00344c378468c9b5405c28e569ac8cc0fa2e2e5a8c789f88e1ea9c5fbcc49e3c59ebf9cd25bd335bcae0be106c1e632efb46d084b03aeb519da48f4c00ee7fdb4e44318265a2006ac4b8a6e8441aa9aca2bd4c1a022350556c5d20fbf6ce5c1a8f23522bfc3c86b340bba41b3361d6486d031c06962adcba2a20178805b1fddf63287c4e2d2d3bc2323e648b32b51c2745d252820e114aac9be8249e984ca262c40197a4e8e62109832677a24a528a5cb4ae64f312c8d74ef62e70667bb6300fc2558955e7fe8551b57a886048f5d5c186011b1597316d03f739fce78d735c8f012af2d4315180de707318628e8e39f114f84acf4dd3abeca33cc14fa031a2d2c5078d03e7325434f7cb085fb46800b09a49f59f44aafed504a5aaa01c2a8554d3b12a331ad9deab1ff268646465afeceeee95bda5c81d0e030c03fd02e6a724f728ea10fc3cce061a30604da00764dd365320c2830c2548b0c0bbd8251335bdebbaaeebbaee0a225d10f9a2c52472c6e7845409038ad4a16503e1c268440b624d0dfae5050de16b8d18401f2f7c2e347842f8e89878812b32a4852256e050648541c339e1068c8383eae20ce1c3e23471a2c171f5ad6734384e7026415c29c02cd378ccde20b07dccb2ec79cc4ebb2ee3f2a6759d167f601b3ec3b6c12a2ffc27586ac51a6ac22a20ec04ae1d7faca79d2934752635bc3bee0a87821c8c9d8627534fb5f0d4f187a7f0ea0742cd011c6e93143f7230b77059c16ca1040d1759f4919ed1703153060a8542a15028140a8542a15028140a8542a15028140a8542a15028140a8542711fdc07f771b1b6e54e0ceec24ebbf1b258323239f2cbcbc85dd8294ef51cdc856d735f60b11877618b36af780bbc05dec203394afda23c80626dcb1c3f7959b799e175a0f5db6d39700e491efa13ad3b0971ad636f775a86d231fe4a9a5de9c0afc155d9321c86c6abd857dbb66db3f78ea0ead96358da236b39e3d84a0c088e70e24fecec6fdf561f67d9b866854bd558dc2251ed9597abe2ac9de296aac5a9b21b721576f6dabdd762f1fef7b2f78e711f04c5d4044dbfd7e47f27f83cc6ff3e7414479dfd681f6b570cb547b385bac5a97fcf6f625d7c730b55177368f5045614f78b24df6dba02f345748be18fbc88a6a0ef6ee9a29bc7f723285e30fea7e37b0da2fafbec25082df8d04dfc6ffcb2446f902ffe7783fc1b24fac0f77df9e0077efec20f5ad2b347b48776dafe4379844fa23cf8d9433bf531d47c02cbc7ffd014d56e49445310fa01ee5b7c134d6d4f4be8e283564700fef7e07782a7067ae1e7e908b42ebe7ef0bf8da624783a025c01f87d80bbf88d3882dbc517b788bbf8ddc989d8620883793f6213f1d1944cf5cf93e17f489244d31eda497f9f077af6bf1b9bfebd388e3f9efac7531ff7e7274f106c2f419487288a10eb9fffa0e2670feaf1c912fc526fb48776eae907822f8a0f9e5c678b9f6a277da625709d0da26909690fede4012c845584d8a6699b86fec09f692f2018fe4bdaa69150b1354d0b2b236f1f3cdd14d0db075b6e8a7953ccb7ffc1b04ae8adc98de75458853f3f338cc34240fef9a7f9e61672af6e87c30f66a00782f85a10f4c49b9fe341b6fd3c8a3a3ceff93d98c37b7a0f8a9eb83d1792a7d74327765d1cf6c31ba7e82c013fe7edd87553baec722279723d74df84d4393ef87e6e489eb993e7d64b4ef4c7e84367f739b56e72661781749fba95d1df383bc8b2013828c1d46f3c383a59381a43bec9e75194cb819eb68b4428bfa530244fdc4dce983374b2c4fcaff02b31e7f9e4ff9fdf9de7db4e7e50d1f9837f00a7cd06b80fc0f9e70d13b484a31ce3b84f729f3cefc8c912437e0a5c1b6db4b132f22079721b92e736994cbd33994cdda4a4679b4f3ee8c150e700819a0213ba694910932879dafe39336e24d36d7f14752cd481c699d859cf40d017aec1816cfbf65e1d36ebf8cd801fcab22c41e5a72ccdb7cf8190a00f79823e9fcfe7f3f97ccab22ccbb204814ef03f655996655982cef03f6559966559824efd9fb22ccbb22c41a7f89fb22ccbb22c41e7f89fb22ccbb22c41e7fe4f599665599626da9d259a7a5fa7c1e1c16ca0a0e034701a5c06e3181b978d93cbc689c5166fe64db12736b88c65ed22385a78b175b89ed1e08c815700c191abc96438d7ce34cc030e8257b88567b08a79c02feb0eac27367363d39a81e5b4665858d3b62d676ecb99e3bacef3be0f04c3508361a8b5288e7707b3e0146e2177babd455c57ebda5c2aeeaa882bd3d3ada9e7be5c17534f6ce6c60696d39a61d916cbc38b9581b129db624f1915592ce3c96ca8a8b1f762ac699bbd186bdab6656dcb99e3bacee33acffb3e100c3f300cb516c5518be3b8374996e5c73441a0911192ec4c431f948f09622074c7f0aa68e2b538c39b78519498ec0ec9b20f0f4490b8f7625c324143a426e79c398e0b1e4de40b91c819af135e3090a10e2f20c671dcfb65843952f3f2e2b506898f9191111292170bd4339a222e255a089391891bde909049cf688a5851640da0e404de331a1c1cf82d599c26341090fba0c593d90033f4344484a5a73c44763beb190d173c387c4a728ba1b1200a0080d00d93124e32020a9b49cd301926fb9083f49c7dc83f6498ecca321986b4da4c239f695dd7755dd7ace699ccca35d99565324c56b3ca3793298090d33bb2958f5972368b6cf6baaeebbaaeebbaaeebba2aa959dd4c38ab59cd6a56b39ad5ac5eac71add6886704c3db496a143b319d9c4e58462b698674a3a5bc51ce28675464c4d3473937a5fc519111ce28e78465041be5886cb4548a8403d9e9a7b29ad5755dd7755dbdd86ab55aad4c1888056402a5402de66aee98b01656b12b30946cf41af5f4fb7714c327a71396116c94337a91aad6e8455249332416a986e422c99060486a36c0356158c5ae887844eb8bba3315896e6ee98a5658c5ae74ddde9cff7ff89dde91ad6475f562dcba391f294f2fe6c550fd79c39a6ee5555782a67b93a029e7e8c7845954b774cb9a364caa36138655b6bd39ff2f954c18a9c23848554867ac75264c1bbdb08ad63261a397090b9df64e854e68faa9d00985af3049c52a5aaadb9bf3ff5289af300e33763a7abd36ff521fbd30f05e64d36134dd9bff974a229bd009e3f03ad773b7e7a6a5a420b87f16a72412ab839f9252520df829c94552492bab7d4f47af0c36f8dc698a787e84583fa0855b96b79cafc5b913bbd02924b211d988b010656117d8febee8a6a5a72822d1a7ff259a76a9c886a492d44c81cef54d4b4941fae3db4026f9902960fe7dd20f7681cfdf47e11903fb49fb5392ab5f924c27a9fdda4e82b929e5775dd7cdd3fb6c01f6cb739fe26855752f5be5eb6a65ad5e1d6caffc4d2593dac9ec15677dab7453574b5d9bbe620bb03cacbb7a627631d6b44ddb72e6b8aef3b8cef3be0ffcc030d45a14472d8ee3dee426cbf2f3314d1068848484f3921293ee0485dd939084ddc9b58e93ee2cd13aba6c0020bbfb14c6d1755df77c153a6115efbbeebd0b3087a69603d9f71dc05ce8f4298ce3f255bf9f864ea97e9faf42a74b7a692670dbbd0147a7a667343aac9e8262f48ca68b29fa4b476d567e0662bd235be17f4f7e62bec4fe5e9902e4dbff8a640a04f0f63f1cbb00c9dbff726ecae7ed7f31acc212232a79fba009abc400f02b7401fdfe588355c4bfdbebedc357dfde036322aacff004cf0f05631d68f7b96de2d6fd1296b24c8003506ee98635372501f47bd4fbbcdab66fa15bbae06702d31984a8c602d14f3b759c76acb015b66e4a5a72dd1db2f685b3fdd21dc02a1a0be3b8bfb16c32984602c6de00c73a0ffb61a876322bce7a562843dab1fa4dc31dbe3e20460ec50ef9909de21714dbb6699f359b596b6f8ce338cb87ec74775dd785ddd64c9c0f818243c15dcfa1e0428c5c8810215c28049c01b3d02dfde81ce3cfb2580fed94a14fa0a07024505038e747700ec2d14de8a10b35645e882285337a28599b809ef1a0b1432a8c2350a8e18c95ec33f3a5f3bad1c119a29373848e1758e8c05c3a6108d1d97142870c9d95c68b13baee198d0e0fe9d5ef637585716a7d61d3ebda7458d3b62d676ecb99e3ba2e732dcffbc0d0fb3e100c430d86a1d6a2ca0af5faeacebdc3ee2457adabde97f5a656586b65b3b232f6c59a62f6622d6b8d21b8bbcf5ee5751ea401aee7be69dcd54fdcf7793b4f22534009bb00fefb7cc5f98adf74cef2f88a07b9295cd735cc85e0e7919f3064f6982bde34480532814e1a9402b59831be228b08a54815e92275cb84993be68e0986d9d3cd9d9b52be09861986b9036a31577347b74ace1a09315f99301366c2bc180943bee02d932d52865c65924506215513a673744f564917d285bc8184e9a4cb4d299fbc81c481742183902fa44bce9f51d7edcdf93f8ab96aa40a6755554915a92255a48a54912a5275f58daec19b8ee99786e955ef681b52f5cdf0c19054edd22efd84bee9da7553cad74f6821daa55b7a47d76857ce39e74c524df245b7748e7ee955efe81aedd224d524dc91ade8165619bd4aba85b56ee9966ee9966ee9d6cd39e79cbf96cf84b7f553bfd4a75abf97cfe53be9569ec937dbeaf5783d5e1a5f4bf77a6e4af95e1a9e1a5ecfe7f299bc9e750579b16f862ff5bd7c2e9fc9ebf1625e6c5dd7755dd750a86bfadd91ad905492eac54a5e6c5dd7755db3bae6ecc5bc9817f3625ecc8b79b1bb5aad56ab9c73ce39e79c73ce39e79c73ce39e79c4d39e7ecca2b2f36ea3999219247a8c471b4b6cca90104000028c317000020140c0a44491a85400e23313e14000a4e70465e7a3e198c6531398a232106a430440c300018620800c020045465930066b07df17838ae285c73b119377109dd72d1373682758a54a99a9504a16a56f1b492eeb021425d34dbe9a249d345bbfc06eddfe48ffebd12ab68a3d2ec07c40e9873faa310767225acfc9b948360b5baed6fce3940818c309053cb289cdc029da5b4ecdae4eda44f762e768462254cdb0c83b1599b6a04da42169c28ff5942929a165b7560fd89ed75146c1da5eee206b9d4e53b03fd0942be603cd02c1774a9481db2e5c0272be9aa5dfbf5c408fa455d1ed886f3dcc7ec1f9b617429a71ede448215f147ac6e71da3f17d12d90ab7b371661ddf64b7a01c5b638b2f2bf2dbf438c19296c26641229d4b1cc3421855fdc21844c31f784a7bc6e55890eddd24e90d3d18a6b98c29d7174e4a7a5c7b88591eeb8178aa67aa7d0dc73915f04f53c3811319c126765267136fc6b9684eb926e01a94c9c86b0e824c90014bb238a6a9048c028a2c5a08487e3835c3b51b9fa5f3d9539ea3bed03e19a0b76b40a2404f108fa418bdfeea30bbbfbba6a60573307c30a53e7eedad30fac3de75e44c1baa6057e31d53cf7651a46c02340b6abd3b024e97d0b791fc7f243820f55ba2cbf52eebede446115b55e2d085e7f9b20ec577044f012a73caa08ba6a5ae83ece1669306125bc5e4bfd17b4d2e31c11de226f7fe68445fbe288d315974d6f13a973622bbd5436aece858f9cd70695e15a218d9acd765074f482b8328889ae34c2fe772a557797e49949f7a149172578d117a78e41ab68217c34e92e8e56441ae3e5a57a94fa99deb2623999fc862b9f552be255c9fffcc15194e7d63c584312c3cfd9360309322b0a7a68ab6116b263338bd375169ec0514076d29561fc369a73eee2bc1770d9193476711fee110e7d2eb1ca70ade462b3a50b577d69f01b326bdec4b1e7f4cab240213039570d208904e01fe6d0a19a41fa2725040771efc3b71f14c15730d689d7c7d5f74a97ef468c0bab3774f64e6c11d47b884ea393db606eeef7a61bed742f52bfa74149691e2e49e9d8ca491a297e496954c7ee8b06febce825a6da885140e354c7a97b74b43cb5e6c5199d974f9ba2f34d4e252ed4d38e14b87f59aa77817cc9ac34ab489ab6a9406b60d50c4fd0aa7cb24a79b92d3fa5710c281ad8ba94868e98521ee4a4e0c07c50ff3149626afca4f7fe6796c4a786bf9326772bc90ac0853dfef059e72d2520237dc81e732bfcf433598c4737624e64dcee0b53a747b8f43fcb9f4e2c4d4b8ae059be8ced59b2eefdd1a4cfa1269d7a1a83489fdebe3dc717b7f2bffd7e86841a2a10a8a70f5bad1d57491bb178d79432baafde27021ef9b7aae21f3f099d1378b73e1e9e597fffcb0fa567d2cc00834c59c9609deeffb9bf195dcc198ddd54be9acf8625cdc73fdcf8044e5e64ed62ba4784c5a4c7928a0e192fa05ca3775245dbfc0f0901c3d4d20ff5f477e497789cbfc8508d30d2c1f1d8279beab22b9e7ae8e9af179095536fbed76c59c5c5d8395b173d37bc3dbc5f9f0d88206a8103b599207934e9a9c3a3696940bd986351012ba5b5e43e939a0cd96456b2b8eaf8d59f7d139d3994225638d55f3564f258dd22f9ae89afc8a117321af06cf5e0737610c6cb360d56227f113fa2894235e322f1a4ad5bf0cbcdb532fdd24c373c56c89ab0b5e3a2662c74a19d1e4e1a7399f608db4e8723f9c0cfe58f6681a76a895d9e8c2e23609c0df16f0b22494ab874294dcaffe08c32e2e519d9b534b5c91e4f4f1550947790cd264295e38f0718da9156ee4a39c4c09630247eae11f0f3c7586ad7926ed693bf99eae7b55f1b2e1237d9f7231e89fa72ff5d2cd92a88d55ef9e0036331e1b4ee2f613f97b3220a63bfc90c477e52f8c3d6f67bd56d64f431bb1e240d4d355816bf494296cc879e0d6970d948da0111d752f1f97e056a48a0cd516fb8678cebf766f44a430ee573b22b662a0e49c414ab6fa403ee3e783f2a19b8616831e03eb928c3e944cc8e2e3e2c4c6409951d1a2715014486dfb3b9a0dd6429987eac8636222405c156778875e233bb5cf522bb881080543c47b8481ee828c8d26abd6b938aa9114f9469f6a282379eda8b78e660958edcafef22fec7c66f407c0910cb841fe2f813a688f7e1dbe8a1dc82df35f394dca12f5e04ffcbbd2d2b85a6041b22e2c3579ab00a56006cde5f3e6b9549e2d0e69d814e0baca681f1c9b5236173546f299eaeb45940cfd360aa86c124080b59fd7c69056920c6d91b26cd94b57429bd995715840329fda704503e92e62d813840a3bce123ae0d4162147df8786ea1218b0ac04712221c4551bef888c720784c49c14d9d3fd06a62b5502da19e510b1f412e55a5672072cd7c1c772e0a7cb4bd21c486fb2652055e8c5de5e3b14b269862226e2b0920c1a89b66c05d47552652c20bd9721ccccbe39b38e5b9b3e3d4e799ea19b0c0c7c7d5c98ee6503a6ac2a4816226ad0b9a1fb7d811cb91c35407763051c389282c0620c1f2231ca8c2c8e971b1cfd08056e9318f6839ab70360b5c3fced8217f7d5995ebc7398c256c5013bd92fb4dd627fb90080c40242d84502d51defa3a46f9607fcce1784efc9266843f9ae418b4c982959c2036772271e06b86fa59ddda998205d8fa03fcc195c2990ec7100a3eb7c32ef12c74ba07e7b33a7554caa7df8118e3146d8ab0da1b8894b617fa7ee1221183057bf7909cbb4d1c81f98a2d97de092183e95c2aec2ff4cbdc736ed35abe12cae74c08ddc9b22d06d059bdc3d13d8e6bc72a8335d151bdcf8647fa1d0ad3de171778c5e1e5653c16b6aade4b1240068b90d1bbee415d3381d21cd080b8f10448b27231e6fd7c6e968f0ac5c624f59bf7d855054b2013bc0fa0545001d9e0fdc51180ec6e67b84d41fd638af7415b0a2ccaf8865365b79194f7612e4749712fb2ae43164715edbcb7b22171c37a4dd2001cc602f23e36a526583e05c72da920c43855752092bd6493d2266c372069b649bebbb590bcf9d2131d14eae92f254e93e24649f978bf0ec22e982c32d76768ebdfdcaf87bf1f56c09e982bbb709e4c48d6e2723e2b77133ee302b448f307beef61a0ba4a71f95a5d8be92964a0aa5d94679a7b5ef09b25d5f7333bd84f47d68bf6fdfc627e286de412e5e542e21948af739a3b8f4887f542469af203a6052d19a5daa4508892c2ff4c27c03ca74b10255b3836f85ab64391ad8199627ec265c5139ca163c0122012de06707f9709837b599eb1dce15c9b8dcdb6c93efb5e8b0e40b71af49e0799f07a0ce70d0e2339009c760038ee01e0ec07a959084ef20d384f47100107dd6a28f71eb140b146f99d60793c1db34041f329226714f11801c7bd7e7fe7b94c559ce7014e454dc285eb43a7e46ad0c6fe7c296def383aaa185ab696745044f2860170be5bb67ceb0d721b87ad26926833a677a28c595edd9113321002f751fc3aeb61e819ae755c8365ba6340d4a2bba1e1befaa06dca5f20525bca82d48cefdb4f62b650026c5e64cd682d9433455dc56f1d42441a654c5132a79b7282f13a449c20a4923a4aaa8c292eb40dee869420d39373deef45f307d5e1e595efac728cd2afe41b9f29a604efe8685beaba2825dd43d1bb33525ab322d896746f0e62c33d33b97a2fa359d0960e7531099413717f49000923deb501ebbbaa3a91623ce46e756403f2a721a6f8ffcc16f501d37a9303f533461d89ee54c83e0969939bb6034f5b574f58e15c1da3e7865b357eac1840e8acd0a29e1151d8512380b531ee405ba444ac6bf6bbd4439498ab74ce3f1a3229bbcd06f1c6447ccc7d9f0c14bd316e108345ab01ab55f6e9acf85eb4cd9a500ebb1f8d2cf95826af1360df1237a6f019f86e1088c42734198445b3a0461a0ccdd20838605067d471eb00f943821d6ffec7e3a4479d758e823de945dd908103c12473857a62d000642066b804fca08e95a3171dfa59e974b82f923a376600e43d7e2b9727e2a8d650d147d3c3357550541af9d969f46ba9d91f57337fb586da94106062dee48caea6b3bb7b0a2d8453cd996673c6833add738911eed888b868b371d3eac80d2b2837ac602e45f286e2ccb44c4ea8f85c9ab6fc797fcb279c5cdb463019ae6abab969372c894bbdfd8f668fff9d5312684fe16ec03eeacf253237ff696b28ed95ac781b76412597b87c650e6a3a7e42d69e848ce2a35af6aea98c4b49c416bf7488f1952df57cbac87cca376125346bac2d6f2f3f428f60ec94ff7ac4d0eec6f9a61b01c8b7202792cce32b1bf3d093a012d20233f16a46cf7b2a0ee56d6bcbf106805f786b9a113bdd5b7fd4971e398400008ea1db1f0585686835793ad73c36d3b8f71fb294743d3ddc6828ff5da916f443ea239cfd2ebdd782a01c4d7ddaa4b869d1f92b5b3f15dfcc47182368806c1602c34ebb35c17e2af934551d64730a916582b764530ad01371049b93b167d91750a35293d8873c35f73a5eacea2ac9336d1728dfcd1e22cba23ef21e5506972c73e7f0741f87b49746a4a1f4135ce33fe0d7702299f705e8e04865587b96833d8b9865fe22c2fb37a2e069428ee0262c57e90484d613849b81e23b5cc463035f4f5a1c3f4ba3b5e04ce5688191ed2bb8dde51d9dc9fe653057be3656aea6b795e19a0419e4113fe676e5e83de0b9807be58e4057c0440198046481ed206225eceb552ddfa5d5565b6dadd38449b670e473066c301a84e2b78431c0cf2fffac4bbf7bec8e37b13cefb275bdcd7af77e292509d3d82731d315b9adee1272c31f9a3c8c28d8b5b691b85381c90f722705d6a094589452b048258bf4985bf72062183e203a0c700eb1c0bac4020b8a25162d6691b8847f0c84a88c84a2989934e7ad95a9b69e69dad5e766661757d01c094f41bb34f702b03add3cfddfcfcca9ba23bd8b7ebd8958bb9d1eebfcae6ee256ef139b424414b924a2ac5f1df4acb3cf38f31090ab68e58c000cf118646231c86189686cdae5c5c32fcd54167d47c2b7a49d3d5cc6d585fbd7d6666a1ee3158a9e7686e9ea82b4d97f0195a6138462416d8228f6bc33f36f9808e0f641691419663f6739cb8aafac348b907282c815f13904ac150a7c0e2621cb4b334c208482e6b0d1eebcd81e287b930d2fcddff15ad8cf676fcc83db3d890e1add9c6a62c8b8a559785153bab9a271e924b1aea2529ac837ed6c8c3f54be2fc8689ad2cc7afae4e0988bc1ccb5ef98552c184cd0fb1c2a7f85fe3409a4e52a4d5a611e203164515c08be860e7a4cce7ecd53e9fa1442a295269cdc46dad11b0731342755fee60759a06decd3145906156820e5cc731c123927570a2cca694607d528c5bfc0e4a5b3fe6fc454e162ded3ee59116db63b4e33ba47d0d366a094d374c3182c5a1a704df29fb7abf3621ba103c55aec4b75414a9aff7904d8b534a7c95fc2dabb23b8d16c80abd6a7c77511eb36f208adad25556604a251674527f9dd99981d28327501b5788ca124b27f226fcc9fa93c3d30b3f50ab6baac4526d9ff916735f2adf766a2511e000bc8f3a69d91ed1f61ea9b6b368ad0933113f7609409b5fa0b9b845fed19b3d3ac07addb8f182b102774e511681f70f7a99ad466d85a2b2d69578712b2dad7c5589e24372f7b82579015ef24d5c9c7f57c6773381cae0d517a2b8337bf27c6e91d08b3321e2ad25bde334f4acecceece1d6a0d8d0a696452065f2d5f26c009e581c23f9613a06723e54ec2037009ff234d08489f107e1485c8c0665793437eb2d8bca4495c7034e13f6f84cb0c0433657068c0351a8b1dd470a5df443860d4ae394739bb7a58deee2dcd8a1ce1c2a4df935668d5eb1b9a246c03b785ef98d2003383ecb81ce0526c496eb511b8215c120fe13028c7188e7555e4ea1e8eb3ad2401d7592e9c4e57fa5619e0ded927ed605314aaff5f7d4721200a47576319b29d0cc679fcf25749e8bd5d235e0d436414cdce18061ea585a7dd035565eed14b81146832310909bbc50c122e0f7f11008e44626974bfea420123ab37e3073894bcce46750dfe905f96f5392dfff8b6d60bfc82db79b0d3c9c5a058740789f6adc833f0cb7ce1eb4174e7842d412ff34d59633b1577d79ec59bdfaf4aeee655225a47dcae026ddcae361b85cf23188a1f093526d8d591550a02c8bd7af5983c588f8d788d5f6d3129c2eea10a9a90649696e81bc9572b5f70461faf1fa704679c877de1ee8904ce4763578e92939e07d48d37c435c4cdfb6bb58309c9d5e61458051d12b3b6d9f6aa4ed3e1ed71ec944d058871f30406a19a174591ff979102bf5dd30916ee6f3b73ae60b2c36a1bef32770a5f9fdbd3a4c64938ec5ea06af7aa4deb537a8d5401857f547d925a9884d88174439bf9c16c761eeec9025b4c0662d1a6486aaf9c8461137282e042372e1db17fff16c063e64dc6d5941636e1dfc151270ccef3a4ec7271d8931ed773af6ba8b0521c0a5b59ad4e5082b0645260c783caa917c4b13aebe8647e087dda4d8141b4c95880b16e965a74430fb681149b3dc00558db9fa123dcab89dabc2a8d2df200084fa30cbd8a67c223e90f8af932ed7b2ecda5be24c2edabc34732e95be4526b5c499b1263141c8bd91c0924170c65ecb2ba81a22eaf8e9a04b90951a06c880cd2c4ec0d5750063eacd1cef57270cc12f56584fda15be3e73148c72916f6d938fe825fd425bb4941748ec49169db6d3829ba36e94f503cb0a3a9c95b7d3027f9ec5347c446c0d98f2f67098a211d04c52b3e333f649ce5e26695b97c048cf33284f6ab5fc1db296dd8e468b908fd5d3832f246d1b7cae5799f71b090bcee091f873e11b584b0df2c9d21583b279bc1dff3308282317d598dece90baa897b9b519c2ba2ff1f0f764daf1141849af65a98835deb0e4a1ba893ecc1baf077fbc0382ca09b6387d16418aea944bb8cd250171a3cd8ab0ae4d70382dca8a25bd8b436f87d480a6757d46f2e795e3217383ca638b0d51b4bbc046493bf5e9cc3188672bc98a2ac2f825badabf5207acb45b68178ebd626bf145efd1eec3d8fa465d81b2163e643adbbe368decf00dd0ba4e8c3c29f38f1dc1524da524f8e7702e86ee975a969da35c7d9ad8facc7612e5dfecc1719c0e1804a81ee793da31ab133411ce1b9f345797d3b60a80f5ddc458fd7496aa710c41b89d7ff42549060507bc97b842ffbe2a708296948138131934b67733957172c3f4b75bbebe628bcd8176a1f6278ae45eaef10bd8e1e34d95d7d8362943bb883798ef164d6f8eceaa2218859fc0bddb3c46e93c585f2e5eaf1f1ad87454f1fe28e495f46f62b2dc703a4d44317e19436e4216442262ad90779f89a327d9491af91cc0779f49a142b1e41d46b4a32dda4015ca7dda08d75fd95d80122aeb4f4aa15d8ac40f0d8f4f7491242ab67599d61956cda155b22ed8dfbe96a0c1b9609d1394fb9a20d056dc023d4341dd15b32ef8adbe96a4cfbd51ad13d9df8e3150dade0cf74330df13d997045bb5c39b20d8b06111e52b93bdccd17436e1c63cdb808feaa152da33d036dd4337a2124f45926561975931dac4ac7aad598e447bf5cb2d2312d3540499c2789331bcd628c752d11942fb6ab0b88422beac3c663d8025c89efe7e3d665047c224f2e3f4b3ce897da7dc34329263cffe2497df2c1db8e50a09ac9b8e65ef39680b0a5a8cd440fa348f4e9bf42b5d550ad69ee76d0c281c7488f391ad2ef7c0b60c32b470e3caedbcf616f90b140eaf5d3e3e9837f808631d6d4e3fe64dfe3a63015ea629f5db1ebaae20f9915e67b389068723bf21879e5077ccec15ec0b9bf46431940855701b99c6dfa4baaffbd2fe5a88f83f4c588fd72f82540e19db9342173330bde0755ece53ea24e4ca9121395106af424e51fc13b0d9f6350a9c8ad0adf1f1ef4421d258c60a13a7a23c152598a7026d82a7296e24cb41c91b3064b2304a9d3b32e5fde882206824bfea8d95fdec5be94840cdf03bdecbf3ff6308315efe620fb053dfbef88999fbf2a10a292a464a5c7dc6f5c58a197968d75dbc6949639c88b4ad3981067846393532e30a9412d2f54f0746017ad063e163b577cba496c8953f0fc65d01f88323beb4ec5e6366ff6fc8b801c51726287c0ebe9843d5c8dbd0615cb5537e1dbbf929dfe4b27f07e64bfe5f22f7c0b01804bff85cf862e6e1acf3e644d40eecd3e00ec2e2f05740e693f6d0162630bfab7ef92da72e71d248871a63e89a5493dc78783b9987b30b3f98ee2221eca1d449d3003c8d3f494aa9cfd4f0434ca4bc9ec70bffefe419f87c1e909a78bcba770cb10e91f1b14f7a276c81e1bbf8be9b9dada79405686263b5e8701391a6f8b88d85f672ed5f729b2d7c8b7ec73792bf1db11f4a126052e4bb01e56d53d72267c929ff168716e892b99891fa50b5edd1035ec1c0ce0372bf2bf02e05402bacd94f0d226dd15fa102bf77b150863eb6f40bed6f7378e862c2319776726f4ce0a7d0928ea96ca1824d13e31436fa9024c76399cbf175feddc041e20ee3aff87a75ace741e6a2e741ee8ebf1c065ade96aa56f5c24829359a7aae30af8ef4ec405b159c89d830ae6ea5b67b13d5d0e1570a362a16436925c8e1158cbcb30edb7a9ce3b7e3f8ee612f9fbeffff8fb4f895ca2a9f69a693058a28d0c9486f45423fe25a647ebea1c3e387c5c8ba5f60874b972e5fad56b0d6f4fc49e816ed7d7af5cbda9a43feb09a4a97fe8e0e1731c8ea3be40fa3a070e1c3cf12199ab02e9ea1c3c3870f0872f0844e9fe2e60e0e008545b5fe7c08183198ce229ee0ac8ea84531b296e4ec1535c8e6de9c8f37b05e3572df6e3772a3c7cdf6385ff94c525981c0062afd62900d0c75f25435e1a96560e1d9857f1d76b1d658872e8021722d0eff019310069f4d4f3c610141a6585c1c313271dca525ae36086f22142a30ba8f220ac20f9e3008b7480c9b57f65a5f24dc584ee6e212c0b1c58a7b1d000ff3bf1238d04f7c7bdb51f9ed19b0d1528ed464b2bce5cdff6cef0517892573aee5c61e29966265f3d7bcc7e17f1ca524410ecb542421bfa2c66d46944f1330736b68f2e17ff42213ffc881c53c7bd238356a43ee1b59e33cc408c32127a8197c0bccd7109b75c22b0b8dd48274e50b4a0d8adaacc485bcaf616873ea57092aa7da8f32d604ea19d188cd619148a224b2d4138bb83c3d15b1fbb12b2d3f0172d18a5286f81be3584db0ecd00e47c410653ae43e7f53122d48649175f23870e3fbe5ace83e9c260774e61e148527878d6f3d41efcfbdd1e0b760c6ccf417e35ce8a35528bb5900346385257a6745abecc620179e2b507345a45fad585df23554365a7631c814ebaca65b9102689e67b05ab2cc4254cd2c329667dc021b65a770560447a59f0a235744d1eb996de862364a0978a01fd6fd7fb266b3faf4c2a66485844c550cf3ffe30a0c6f17a9e801a1413650d50c4c58f0ed957581854bf4e2bc1eeb8d46cd25c40ef29dd80caa59105b0758f1d40f9990c07f4f8f84453786ae983b45eb98f19736f70ff4067cf2d3c16cb1796a314b15b66e13f3f772ffd3dffcfcbfe10d40cf6d8f889cff177aebbc720e0cfc7d649fec7ef69dd39c2f0c6a3f3a3bf26bf81823f1c213f1f3b3ff53dff8fabfe0c035eee2942a12d0983be2c39b9a6762fed5487d4f2495e160042fb928da352d14cb73ec9a0559408b899e3ddd572987eba519095138e7ba5607bb2cd625ea6bb02bba6bff404e39de808009e6d7a006318ace4111cac261837497043d91c89cd99aec797fb500e2e29bd0bcc7d598f5988ff89d6eec39bb6a34d603c225069049a7f5fe4f48f240c236528956b40daa64930b8e115e4b269396602919c0082a6d72f0168b02141305ab0b78b021affa4ae5712cc3ea08e012a21307a5a907cf07b77346bab7de83c11645b5b284ae98b5ab0535f056b899307d129ca3908ac3501f44304d17d2bbc03c5fb61a7e2cd25d2e59ed0821058a95a7b0daef98d490443208f02eb69791e16a58dc8069cf99b6116485bd5847b2a4d4eb039a8b700e5fd652410385d1dc5949918d06f3fe68b813417968a43b631678b3391c1c8fd3e907042cf33bb633270d633bfc0ed480cb6c18ec803fc514dfd4247ca04897e3e806ebdb715a526bc88c5536be66fd7e586f07f5b43605aaca9fccd1a371d9514769c35453fc7f301a5fa3b177c53d291b0a9b0af2e7ced5f3ed0509986df37c317f2c6b733b83fe97b3be77b75e3695f4e8205124850c10410400081041124984004115c400188d63f62ed043941cd6f557739df898485d408914ea28d5fb96990fd90cff1dfbf64e71f524282a44d72f8804112eea888b3edcd4ac392ee53b065715a845d9a58c4c57c3c81895c2d67135de0425dd79e40d740418f8681b2e9e1792b87f2767994cba06be800088bbbc421ee29558c29d6cc545cc1d91510557c8b8e4786117f06f2c4c0d391e7a73e9b8edd584c1c9a3072fea03045c8f6f94b6a0f52a4b008f89a5071e3d513cbd8b6c399bfce18dcbe1d6ebebb6371fb6698e5b73f866ddc0f6bfefb6373f33eacf9ee8dcd8d9b140a684f7d98267822ea57968f6cfe3a5c874fd3056f5a73080f0b4e94720b7a08a5e62ed798e64c56b64676d25b027c3e9ef8c3004ebeb4d7b6afbd4f87bcc2b606a13fa007eaab5c3e780bbd0fa4676fb5f533c0a8ab6ec468cfa67671e9c1d2fa7fe0f4ae309e06cdc1a3a28d703a887fdacead14f5ecde9e6c597750e6ad1b27c83b16daa99ffa5585e9550d09f0902ac448c30ae347ae2ba108ea3e28171d9a3a3cf1ec77d46c8d6b1a5474cd161dfbeaa61c4c6160c59a9b87c1b3db5ed513ced2a34014e3d02dce35200cfab680c3ad6a47771074b02d3b419170e04c3b4aef96b5d851d425c65a74b809d06b284c1558abf45bd984b16020ce52e39181c4d1e97355b6d86450d0c67c74aca637c724010ac1002c9a5cfd86e8f12dd751ac1d2fa847a6bc270cdff144a842e5ce115913f61f4588a6efa7f2e993eeb3131d1a608368e0a0c08ac8a63c7d3aa55307237f252b81d3cc96bdde066ba34511201498c0897656541c62c1d3ab2b0cb9c0132b920e0eb1e053ab93dc78a4c5794f5727bd9521b7281ed014f1c901910a61e58dec9a9971a07c0ac9c54cf653a9124c398ec94034ff82c2552e8c302bd1fd1bb45c052ec775385f2c2e700bf963764bc025078d4cec5bcb63b04067875be0f655219f56c6692751c150c668ea5e295c0e8d694a211db30a920f040abe6e06b6419f16bf8033375cb31e95ee40ee2910c7cd0c46b6b40641e1e0c7d246361764e28cd0ecbaf1d631088243c021fbe56643203c597f8fa42bf92a6b5fef5fd11a47009b3124def3ac11c018a35ed53e6d8143a94729a5117e88a6910452aa6513753017cdca4cf06415ad69718aed8d0cb3a6af19dd6e56d8f4a89c21e2ecd909b420ce35f1c4d2908811eff70aba36f9a9a6bac68937a5db9c25b62834dd4e1e8aa128e2223b3ab6e13017b69f3d3443611568e44fa55735b6b3471353ae16711c1eeab32090a4f8d1514d230eaa6741fa44acfad4f2c4c47712fa2a4ebac7439309e4144e9f2e0e7f577b85dd9e72168da70f1da019193fca11017d79a3e9376582d5cd71598c01e096943e2ae733fc9dc6c82485a2e15275e8de761ea6b29194b2ac142a9f5387a62c7db03569b2910062454329895b1255f6581f1a5fea3d723e562f18aadf6604a1d7d2bc43d7aae967182ffbaa7f0afd450d5ca834de9dfc45329765e9bd826795e760ac654d30944ea06b6d0948b32dc06ba79e8febe7d177f8e4d5eec07c2f279ac83ef036b0b4178b7069b04efb59a5506d18b31d92194f5f779d67db0a2368de225bfbdf2d9d9951b0345b653fdf7f2f8e1f2030ff3225a2c66fefc5c7f808985fdd5c8db2df59f7d7f44f3e9579b8b428639dd8e8039c85091a701a9d72a425eb54fe9432d007bfb0010d494ed201bb92e22a2800a9a04b12d99aae8a0900e40c25a5e17db629f4e5c250d4b072924a09369d022402960915bb0ef52c37212b8162a4021f9d93506cbafcae55a0ee4aa6529526996f289226b3ca8ee3f81df2e91f0d44fec0d062c79aa1b4aa274e64c7a654c5962afcda442539d7a6395d6173d543bee8e0e3265198ace45ff10799d207a7e22bda51f77c884f750fee076d1c5fe0b3865cf76cf31377abb2529b959631ed44fa80c535a3145a1dc7a0e0e3b47853c1181e34ec8410facaa2712d7cadd8f3e5a86edbbb606ecaf7495a5b78c6edff485c0035d504363eaa7fa0051e2c5b2b0fe33ecb4d1b7b3124da3a0a382746780c2f9e51202ea120f67d259df98cca4a3d5ca9f5977fabcb067d72197ea7d2ac24a2a710c5e57bfc0a4f31029e823c9d88e32f1a07ac1aa27a57ebfaae5e225acf54727c5f83227b2a6ab092fa4a3474faeca1355323651112e7a5abdaed3e94bb9287ee3e1a74bbc040a0aba22f1f87b11f5130a08fb12eeb0d41de7e55b219736cb11dfcd541a2274530f27f3847be574b51e227bb162fec69171472b2e36cb3c446a9092ad16c7a632247c573de8390fbed4af42fa306ef1229533d5d8b99a51595bf30a3e16df5cc0d60cdd40c438322d7234277d38ffc1559ed05c3944fd1bc323922836fe5a8b3f1f2510cd9f30749370aa0bc2452b5d1f16c3692547d226277a9d053181bd24c1b666a972fdf95ce8967b3562e35b136b30f593937372b998d1707cad7a3146ee05a50103e7699a3c0b028fbdcb95a7575641d95f26d155a28d9c07eefb33330148551a545ca07d43690dfcf7c62aedcc551777aa3de6774fa2c921b5c35c95f84a9b1634b5455df7bc3464d5b6884d2848b9e1b706ebf2dc713bd4869c2fd78c1b2bfd9f4ad1ea01a020ef00aa097fd4469c253ca0005b5e65e1024d0fb1723b3959854e0b934cb3b7f967dc935f10c5810d1f60378cf855798bb536710dd73413b18b03c36532ece676a9ca31c0cf0d395b4043b423baf2f023bc2c67de793b689849bc5339fab33ab93315c2c6dca9fd8d9456a1afb410d905ec1878c8f7946703d555dd3c90b4e490abea2259b5ef333bca01ab0cccbdf00ff11c580a58436c57d5884ae3d7466d8a946454793c55d00abdfc7153659a58d459cca68e50acdc865d43d2bba8adb49488231121688014500a47a3c41906588856525e444a5feb3fb34451cd653ff16a95101655878c4c2e9c86e0203169406b55ee027f9097fa0ce0345a6e6a47cfca436185f90210bd9d6ea3a9d2d63fa6ec5ca62b208377062e6645982d647c5c201eb29836bcece6a609da46486a4387eb294ff12d4b026241fde4625ff3e833aa3da451c1f60dc821b7cf27c286a7d7e1bd5852da216d44cf309232fde76230befae7896d0737c2b444c9013ea93d1e415def7723a9abcd78eda1368d8a3a2ff240b0c8d02aabe3d575d701811a70de89d54199ccaa87ee3cc536a14958454c514ef18494c2baa492a4436a4ada913330fbf94ed0f27fb426863593d033e50b2363869532c8a8a967d004b77b7d422288961032b6cda61c156fcb6b6b60921228944766faedc01650576054b05ffa15bbb05543fcf6acbf774f4e7a1d9729ee8875b1ed696bf81b4360c21fbd6fe57c249f62fd7aeb21fe240f6b775a290244cd2661ce0d08e2c5f0a9163d4f084a10b1f5ed932461c433fe4f8be433fccb941b8a590e3d3904dfbf03eacbe62c50ab3eca90ef8759834de8a69c56cf92e8383e5349164deebaa197d6e5f06b66b384fdc6d0e3c712847f6879a6ada161012e4f9202bd927fdf955b7486d5b3a101859fec4582e79c03966083799260c4c4655142a0f913f67611902c60c91af8441a79825182c0bf09c2f47a3185d706185c6e2de2b3f271bcfa941b090dd43a152541175842fc4873ac217e4dfb75f43d52caaa65a89826021cb102b93b81a08164afe52dfbb858dddca4721a7eb17f3c465dd00a691c55aada2568a536a25795d2b792ecdfa98a35443393aa98f2ddcacd54ec3ad80242835f8cbafe186cce02f9f856bcde2eaa9e7531d6376aed268a03ac4be0d01b12292482949dc5738899c734e12f994524a4964adb5d64a22adb5d65a4b229dc5596868244aa2582c1898688a261873351d0222afc062487d9dea2f71710b1bce0049248ed916f6eca0c3779593e2fb0b9fda067ef8e1871f3296b8045731f126c74ab543729445225628b8881b6394d207aca388150c082304826507193680e021070e1b206a344ddb361d3074a8e8c8013701877004715af1b0573bac6a100407762806c1b25fa428462052608418a3943a6874304183ee364c400a3c7aac6c20c60d2792eb04fbbae1c375e3755dd7757936aca14307ab183cbcb5317408b31d4337f99bb7b571cc284581b085b7e6699a4c3794b90ee09ca121e4f83f2112e6fc5962666666666666666666666666666666666666666666666666666666666666666666666606f420edb5d45df937f2547e97d1329d75787b38f044f6f2c54992f3f23ff2431f907df9e840cfe9eaf67c32e829288334cd37ec0b6bcf0dea7038cde743e51f085ff0783ab83970674bd830091b6ed02746477f3cdd47c3bdb39ba0df79f99d4e5edb551ce8392fdf97000f8081ec498027325f39495efae1640f7aee03fa7c401f129403faf80a3e96cf7942ee91a00ec2173c1b7232e4aaddb8e734842fe40ee2ea77bb0cc4d6665ddd2cbeea9c47ca65b0a7be7c237f976236e33aedb36e6a58d3526c8f35edde6ccb740affb8fafdf92a95bd88274e4130f0bce7e54318199049fef3d5fecf59ae1ac92404008ee47f7e6367dfc282e23f6f59c07f8e52c07ffe9280ff1c0601ff79ea845c49966c99f8cf4d2305903125a03c05009a60368431aefc07634006d8f00342fad8df1603f477e725d15b7f790030007044fe6cb928f477f302f497430ad05fe813a0bf1f9dd02af9f700fabb39870ca0bf5044d1183711695650918686a6c4367985915fa2c468140a65d3bd398742322c37e1278b72135ea2c468140addcb41a13e5029548a64ae789ef379f953c50678000ce40d7af9d303f004a895bf75fa749ecf5dddd0f3f03f1e5f5a8a0fcf874777397247e1470e8b9aa69dbbb93f1d1cc0e72c8e6fcf878672c4e9e096fb23c78e0ffa41009ffbb063dc9fce731c8f8ed1d1f0a1ce90649e561c6e741bc04dcc7b730e85fea701a4fc0adc9b7328f42a495756502ba815d40a6a05456368684ca4a1319186c6441a1a1359dc443549193751619c24ffde9c43a1af26c9226f0e4998cab2254a8c46ffa150ce9575bad77aca7aca7aca7acaa2524ac8f0b5c72dd75968545bc6a9b23474654b4957ea6649a73194354d132656982d6985f1ad755f656df94ac816a5759f456df9f5cbd571e70f3bfb5857801bb310a9a5714bf2c1071ccdc610c6af9fe548e6786be7e7ee0d72dcf9bf5bca5fdf3518f79523dccbcf429be3389aad121d649529304fbb847e7d3a4fb59e4a5a8d0aa50f77d4d724475ac81f6e05d9db96db5cbb64ca10718d97124fd4a71fafebfa125c65c86cf6876bb67fd6995c5e8a97120540ff7acf34bd9397c2b1720e563bdb9eaf2f577819a23544cc102d43a8444c7bf395f3d8d06b6aa7fdd67d1e77f1aff65ce79fbbf923fcf3189fb8c0d73e36d95744a52bc9fec5ae77de97166f7a23dd7c26d244eece7becb76dfa3399b523bfda5a3bba447ef6f5adbe272e6cb5b11f45543aff625b7cafedbeb9b5aff1ab1641d99f7671e7a3a6c92862dada739f95baa47ee7ed7f2d3cbfe5acfeb4b7b6f371c4f5db03aefe62f6f1b5cbbe8d7f9f64134fd8bf5ac42462da9f89fc44ba4f2b793acf79aecbbef6234436d9f3df2846f30e3ac9a3fda695ea975cfd45addeeb3f5d0baddaf7c427b55e7656df661ded49365100f6ab56baf551f825b5e4c87e47a1b7e40867a3cfb9d9bdfec69b697f2ffd916ee2094e1dc9ecaae7fcf4378ad9f67549c511db51cc8e9a0a2d7e7555c8f5d95b7adfce98fd994c2db2c92db4b78f3f67cf65f76df661369bfe76df3ee9269ec81e3fa92547e0c65fb51458c4b431baaf5aebbeae26dd4401587d37197982f9e7060c218410ae72d0b46a58346ec8a468d0e048d18099d4567bdd0bc7400c6b3199b67119fc6de3325c41298387948c0df9d2aa61d1b82193a241832345038642930d4923dd86f3a0304af73929ad93d66aedbd97bdd78561186718ce324ddb368ee3b298399dcce9743c9e4f013e5904659011484834227fbc51e803610d0e61613b6c99e6ec5e6028a53076b5d61aadb5567472d1c9658b44ad58f10546748a1bc2e031f005e9d03dd21a5440f154cd08d9b2024da60615524e67b0a50ed70fa20e8098a0650a2b1be58129d400083b3821731bd6e061e3053ca680a2c3144efbfb123d30942a16c0400a3c42b0473c4a00851d50e080fbe001097708b112e19d50efe8915283c70736b6610d1ea6fde5af2cd8a170f9b043881d3d660d73d38da5857547f749a7c668a41168b67c9c43d8da9731ea8678431432c7a49f753574af4421b1fdb23fa79171d2d51e93ca9f5db1f2e194aeba9bc657529e789d2d1a9c8a800299ec71b941ce3d98c1117420448e23e48f0d6b08514414768060e7961b7c0636c8bc23071c883b68a08cde851a3b88b023b5bf2f11050ca5128288810a8248e50d6b04a16a420e82850341a040471136c4158cd3aa06874f054888020a1159f0810e924b51b0ef55e180091917f1849c821a390959076b081be41d642b4306d9f29043466517641d397840870e38a8427dcc95622c49e9212ae8cb2fd197558794e6c71912833ffc92a77089be8c5293c1557cfc3ae1c38f4880103a0dc629b93d2485fcd9184e45921c4ac89d525bbe73a78ecac6a8ac0d39923211526aedf69d6c1b2347f2a3e64e3ba209bfe1327224448c0d2b636f44bba7fe6851c17342ede568e4820b91c57dfb2bfc5e9f93048950a82467c80cf5e9d7e08fb99018e09ef2e7fb742bc4edfed2a70e299d6c1c60cc610fb148eb439a08d44b5bd0cc10494af72bbcde3ebe60ecfa5665d7cf2af6718524c1a4ac98bb576cce392b4629a5b462b5d65a6bc53adbe22c2b9afa22512d560a869ea2c95e3a34855ab1c7580c4c9f6cabd2ec43edd2212aaeb75fbab43dd9535e190c5df848ccf969a0b5e9cbfa33cb914f7ec56ad5b5d66a41a07b3d5acb5ae6c94d7c4e4e92209f16b741f6cef339b90907d1a7fda13f9f96dd7521fea03fb109992209d4405a20fef1282448e7c9e159c911a7c2e6c94d90804ea25f8387a371d247c9e3031c8de47f3c9659d556787c8024f95c0f90e49ed9fcf1786657e3fcfc784c41de93a3e4e1a1b91c1f8f6bc943a3395f114940db470da41532c37cd0b3980fc27ebe6b16a0c7da057e50ab8553759e111f90908eecffe116e83d2a37017a19dab18593e1546e02d310fddd4de908fdf96a7fb8655bf545fabbb55503292cb765a4458ed88f18bd2d221ce26314d3988804d93ebca2951cb79c29982d23f3fda78c174f655b01c7be2c72e49b17468edcd8fe330535aaf0620598ed7f654c968bf25230eda15c9e89857e9c2c5a06df782cc22197d8a7bbdaafde29fbd059abc8865c217ca14e931c5593cbe79caabd439e25fae7498c34c6f9d6df5ad75fdc5406fa9ec9526a9f52efae2b5a6ba11c7988e2a57827db411ce75dd9f3ab714eaaef5c91a21ae45ab5c8264f8dc2e7dbc7828031c431e29a41cd5ababdb5f65148522b469a51d5ce597f9a0c28f5635763ac5cb76d36c648bf561153b436b59d3e16dd904bee531574bf7fa6bac2efd2e0be22d1817a4ddd21d316beda97024ee3265dadc32f4ef2cf3a1cad2acb442ff9b32a110df27755dbad8ff866ac562547aea847bebafaf96adf771b7d1ffb2b477cfbdf0fc36c57b55c68a71d7d5a4f768513a72ecf98c0b1dec93379289ec94bf14e1c8e67f25238ee3d14ee3d9397e29de408e799bc940f2bc66bf3617926122c1c3e2c2f0564fab44027eff4a9f9d880503e2c2fe5aac8d1bc2b7ba29a90b71735217ff765cff836211b72343fcac8d10cc5c017e67f58b9c6263f0a99b53e2c39123fd784587264d3fab068e46fa2f69cf546a8e6c3ba8123078f9a1c50282f659e56585a48643b600c3396cdfe0d6b54e1654b393f64e734f896292486899840402e19b02e7ec4b018b11411855f1d86d9ae7eee2aad9fe1ce4f6a916e444c722463a8916e1cdb0cba09d08f64ec63dade1b296cd4212d7bbecd166d58a3089a8d6326ba2197c4a7747b68e4884775e259c991aaed0d0f0e3992438ebc47468edcaf221b327ec8229ac9db8b66f2774f7b7abaf89f8ef3a0ae23fa41fe3c9ccd8d3d3d2837d1f9897d19ca2303ea423eda7f9c0d088c044175202f7b66ff65288f8c1ccd17f520a3f0dcd510963d657c2034f6fccc23b3e75f1972071a3cd8d8f3b1cafeee9424d38546e197c5aa76d60c697921359a512173e69c1e0cce9c96e3a94c3a391cce7b289cd9798ce7f44c9e0a87f328646772389bdf72f4173f5ff3bd142fc54bf152a6a9da1401030ba6ccc5e7b8f85ce6389b2f47b9eecbfbc445e69ed422d9649c880ac7c9b20ef71d1114ce44eeac5369c7f3794ec7664e7f71679f4e876367e64837a41bd20de96672d2ee7077e7a8465fcb444ca49b4cd3482ded49369a880a976d59466a65cf89a0685ba671222693edaf9be0fcc6659cce648e62eace3ecb4837a41bd20de9c63769752842668b6c58a3881c3477774a37fa9bf4524e5c6cdbf55be4b6edf24c9106e7e4965ddee9726deb2ef95e8a97e2a5b8a9079bb5d324ed97afacd0c61923a945b2a92ab05a0b5122fcaa4da48888c9d65ab5979da847d66a7d6bb3b9d9cfb4a6694eb770d5a659274dd24d285ff3b610c1228286081822509b001bd6a8a9b97e6b84365a0be1890bf8d1337928f0a30703c24b7a282a11c3bc13d4b24ed42363f7bad7867225e29ab6f54ed4a977babc93d5ffd9ef617261d8345ddb5e977b295e8a9b5835396a68d4c8a841b942cd1552f6655f52c414efc3eecb32fbe2be2eaf9422264cc404b54c6e527ff6fdef6fdd4866dfebf3d5dff523443d38ee72d595e918ef4436196bec7227dd906e5cbf6c08003c2b0b6bfb632e7a30de69632c33a14c95ce62a84dfb5997ed8fc05a56638c76cba2fd197fce7ae9926cfbf85eca6ba94be66fd601f3b7df32cefbc48567f2502e0fc6965d09f62f36ed3edf337bcfe4a1c413d353a95786655e4a3cb17d959ce6f427bdd3aef8bf49f567726df231e900cc4acfe4a178a7fd9948efc46d8fb9f8d9d6c6efa5544c2bc5ab62fa36cef74c1e0c86cd49e7d3896df63d14149ecd1539a23d7d2f855e9f4b6d6acfd4793e9039eeb5387238cbe27096b378903f67394b5423d3afd759ce8a9fb344352e4e791352a9542a954aa552a9542a954aa552a9542a954aa552a9542a954aa552a9540a423922453bc8534a92699223526ed8fbd77085cc80bd3f0b4cb3b8a29c52fa759fb99662809bdaaac590a352a9453cc870c408495f06bd2221e42f864b4092f8bb69c2903814031b6098390ea79123297ac9f2b16b35380dfe1284237fc78f6546b5158e337e3ce963fc8e0347493b566957896890638f881fcb7a9a2a282830c87de7498ee0eb313d2f3d4f72142d20278e1933664893c91d0666ce3983524a51a85a6bad9c6886688614cd983163c68c1957a904b7ac21908f637c9109f247c273d8530615e590453532caf8ffe23858a0542ac9e8b3c228031d44324a45707171717171717171717171717171717171717171717171717171717171717171717171f92ce3be119f0b96cde90fffd679dc65f931d69f0b16ee21d7b5d8b23be5527018f7208c5fc43d887b0ef7ce65ed01204e7b90e7f4f72103fefcd8c3e112fe2dd31c6e80f69d47212180f5b675dc638f0ee93cf738a4f3594847c3803ffbecf17b3ec328dca37d5af8aa3ed625da777489e831d67e73a9a910813e108e0c91cbba0c73b8c3610ef7f901d9a63387b3be72e41ca79dcb9ee338510f99e3749623cf3ec23dfa3bd15f2724b33fdfd1fed3e9943a9bce74092631c6cfe59cbbed73ee702e58f6e73ffa6b013fcb29389dbda7eb7cee3a1f47b7f055c6e5cf058b2846e6b8fc1bdcd8d7c2579b2846ceb0af4c6236ccc08b0b16dfab699af359d8afb3065be394d7337d3c3ffee73d6c48257cfab84255480c70cb2fc12d7548fc1239dfe79cb3a394ce5a6b9d8f6de69db5d6daeb9d2806976b510ce6634cf318534be92f634c21650a774f2142a5a094529aa2d65a6b4d2142d1d0b05830302294bc5976b7ef446ba592eb172e27470818e623f4b73dc6b26f0f31936b8371f6c8b1fd3df1b51e3c6ced417aecb0fd3d3d6e6cff8eff95ee79d717f4aebfcfc3dbd1b063efda05e2c6fcb1f6b9fbb0879f1f85d4320d3fd53a8efb4d8764fc5b17921ffbed395d48d6a21764ed31ce63dde7c2316dd39a2ec93ebfc9b5b5f76b677a82a800f1fcf69afea09e1f6de2bbf39b47e34ef7bdd88e619ae3d7b277fc37c7b4c7597f9b6bd0ffbabba887ec3f5ddf1c7ae4e0d77338fe9cc9b43713e733f782bce9cfe4c2dcbf478d1e3036f6aee5ad13d9e48dfbfa99e3be7dd69ed3e5df3afc71dae4f2eec3b0779f0b93e805d91d5f261716bd207f26d7d64c2e1353064c2e4c1b3ebc26d747e47210c18860442d10c16401d55231b93c14cf34ff061866128b715f9a86b80519827d89fdeb31ebef38b4528dfe7266a7b76a25dfb604f7f5558b01eecb7bb05a496ebbbdf635648fdf6a21336caf3d8b4d6bfe2cb2fa58fbd54ad766ff5281d5b7daa16805b9d287da7a3d6cff17f3c4ca1903cbc7324ae9ee73ce4929a5b4d65a6bb524f431277281c80597843ebe4a33ee18544f29a18aa9e316f68b78e2f28ee0ae4c93f54e564629b5fc5a3d938c1265d3d336c911d5a6134cd309f2a477859600afe2bc26f654c414ef9c73ba6a925a96071b6353f6056653110ab27cc7e134d7cacc495918bae02be7813fea1b3496d66dda08f2e72cabb22a675995b3426055aafb7057cb436bb56c344db2c9482dd20da9656dd8182b6363ac0d2b2347ecc78b5a19d10d17bd2e18ce8a41319d4290e366798db7dc06c57422dd88a058965dc991cfc638cb646d5895c5e12cab22dd906c2ea9c522dd5c933942c7e82cd28dc97ac68250ce38e02b82fccd8b7292ffbd19c5225ac92517eaa2e408f6f7ee2047eaa52147527204c7c4d8b81e8a67f2029945a8940e75463d753403400000b315000030180e074422915090a4499c2e1f14800e82904c6a449b4743e22409618c41d6186308200400800000c8c06008001a862ae2ebcff44737dfccd18281a5089a0690d2cf11f06a1ea88ff6e491ede673e82b206dfde8f24d5e4e6f85adcf0c0b8c28ac273bcb90ec16e5813f2e529a3caeff9d9db03cd2d6dda7cd0a045389f1fbad663837c9203ff124bb49f01925f5e4317b77d763015590dadfdd56aa2669a9c1052a03292cb8b4a7079c7117ec740133a21b0d75388cf40119c3a51d3d208cf500f958b47b48196ee6d95475ce68fb73dfb9e499f3f9904986987027036675fe133e5d3bd2282ed64e075fe5c84d3ce1b37be86cf6634d55d47ecf0cae867cd3a9ea618e963b062ab5e55dbbdcacfd4d1b98d823793d6b65542e9f5ef90c5903fc40b4d79cdde804ba3637959af7451b5ea879d62731baa9308447b8c15bfb2bfb6b672961d095710b6a7902e65105167c7ab9112317199f0a0818709d726c950ac8a6c92eae0ab38b7b71fedb3efa08a82bbdf04e33ad4a19be078618b19631c8605e59c2beff3dfd957033adadaa62443daf06190f2cefd03351ba67f6d02dcd1395563bc4a1247310b29ddaa666d222bb5045785b623570b8e2434c2bc99b5380b0102675ad4a4d9ddf93572b8c80441c5110377ff292204b6c1e875caadfd54912755e34d62a08cb5be3cd5dde4df8e76e090b1ed1cc90bf07dc6556de8ace1d40875d2af6e59c7cbeccfc9fbd2901d6527c4c12a51e89aff956d333b7fbd854fcf50bec9623473a3f8385938dad0c9cc49611fd21951b34715f49f45354296b42d1ef68e95f6fa3868bad3e757eb3be76b735aef42a272cba6f18e04f92e6f9773045b643c050f4fb0a7d26c6bec6b19ad0c7a22ad7ed47d3ca795cb267ed8172b3345d758dfda1ce4d5ddbcac7e5e9ef7d1319a4090dbc04f762ffb52172805bfa76fda932a6b69634373b50251ee1120f87b6816e717a1d4481f0e72ed5a808c5df7297ca15c0ad1b9835656b3b8c898cba4c56b096ed23c08c2e9a69020ca007200bbbda35399cb5061faa9fd1042e9fe2873077ab280b795ea171f27c6c70db67a5cd938a231c62a4ec3e0a7f43b9e9708243270e25b37ff2803231b51e611dec15f3d78745479dfb2bba649323c39f201e3462f23d61890ddb60ada12092ffc3f0bcb4754386257dbcd327cfcf192fe8b39d1f2de1db31e5977fb101f1dd830e7af0d3ecdde69a7596d2736f3ce9ed5a900b88a00bce6c91a4d827a62df4ef68202db070f047760cf0226aff77afedb16f41cf5ee527be0505d154388486e4f6146e0af02040c73aecc4a44b19bb2fcbd1d543360cf8449eeba9007974afed2b6a7eba41e5dd87c02568ede54a7090a4b21e73ace0305d0d3b90849a1fae44d77950a09a73d381f3d45128e750f6881ac9e79f63e7b78f6fc2dc3bcfabf40f7aff39736f3917967b0de6d69d8e2a46d7222aaa08f5783f134f3441f67d754ecfedad884c0e9d8e69895c1e49ecc42de50c6652734372b7476d720d15b8a160940e8b6bf6fa801ae7ca3e3d1046baa2a502cf883e10c65cb3d301d4881e10767c7d5f5c12f110c8da9457d5af1d27b53e2a60315119ba85434e60c0bf394f755f6c240777bc8b181514e01c19fefac21364993921c3126aaa2b0182c7b41a1321bf2f965d2f4d77c3c134a67a170158f791588f81d1a133c421c734d24c3bd63a069079d0594273bfe1180a76693fd2eb3194ade094c7996d2608a5ec99e0ba7656c3d77232d48a90023a2b26b02a1a3796ffd8aa33efbace5494f1dcb02a8bd3fc3833e9e551788510935096e1df88b3c92631b5b9a70d314ef620796177c0ae71e26c26b09ccaca3577f166b7782311bdceaa48de7f500c94a98fcc4e36d9cba9fbfb4fc75671b3a5f558c348e660d763e01aba7760a265424abb08f899672a827c939b5af76a204a725642e52494cf7814ca586f47c5495728ee440d70813aae7eaba5369f137204c1f8345790580b3a842e82b1ba6579b04e0c85f6a43d3457f8d53a2fd1e16437e588716fc015fc5acad474db5d32f0b60a463f935c2c5bea2098d2e02eb959f1f7dd8f259f9b6f7865527ccb8686920d92e87b01ec0bdc7db1c664c4b9bb28d7af750045bde4c2f9943ebde8643f60397bf9976c5a3501f1e2d4f89569df4a923c2f48f7ab250b6a0026418cc12541745fece80fc42655b07ca340041e863914e41d3cbbb739f182aa02394644795da6d954f62f4ec20a24bb434488576da252f3a52ebaeae37d089b63ad7e53721d5705d416b728b9639c1c8b5a093d4e2606f4126f75b7b539267bd6980f688dd4a4da09947cbdac01c2cca68cd1243a587aee8bbd2528b369cdeefaa3c07fcd21cd063f2844b908d56bda253336a6ebde767ecdea3d2c1314ca64f3a0df17db11235697c7de602c5fd6bd8e0b13e7c5b665146eea0c87bf1edce2c578b2c399e3b52dbf10dcecd5eb3e3d01b061356b8c3c3739c9443d5e2a04bfb8a6d04ffbe64efb43a3504282002c6760d9d51e40038aa58fadfdfc91cf6d475bde2bca46bba50ff7225ba56b1d704b7ba35be32f964e575eae9f69e9fcc3681228e5cdcfb4735670311f761356b0332d3451e8d41841d2807fe74c3b8505d7729de669983dce419d69dbaabf315d365b81ceb4f96813e926c47e0834e04cefd79343b65b98c861c1cdd23fda57ed93b2a1ec2eaa6914a006e6ec4c3bb79145f97c2281de36103a25298ba313d9b3e925ecb5dcfbd8cab12d5ea360a0cb35422cec3ea27c9e099be2ee546f91690277bdddb620034a241894b725c08ce42584b1478b17c549b1a7dc7e4857adf669fd64fe116bd85e8abaea6aafe277c8d470f7d0f6cdb7b6d9bd117acb349e8425375c522e2079d61acd372e083ee456eda0c278a37d8a06f85d4cce765c2223e40520a396c5b12788b8ff19fb4a31e6e1b938ebe169da3bab0102a9ed73496bffcb111bc7c1fe736dd83426e760d15a4576e491a2afcffc194f2255be191843b6d131842cb89254060ba91a64e6caad57fa0ba772c6f8b22381f99ae751a9958eb8b549d3aa8dfb830ab6b75266a4971ba9fa31d336201cbc94ec39ca22349a882ff188e32c2a8816a35958f9466a47a1541dce512e0cf1d93ab5cb1d1cab09cc96792c948bade630bf362e86486a379514d17db5eb28e968f8dc154124f5fa89782741c790e982221e7f05b75e2e6ad40f9714b5df6792ca566594f257bab2f918063549d5572189afe3ebf1dda3298bd1a26f701b4a6a84e6afa3cdc7910c143d4a7a69f82d720094d5db90a9426e9076ab2f7a14aecd5971d73829264383842aab35eee2b5348801e498605c271d4aeafb1dbd28be1ca1a41e224865dd3965015b4ff368f346f0b97d5f8e29a946a3dcdc5405913e848f29a9d2899302e7f423966e4995fc1c88efe303abe40d9d9b4a2926f5164a36c859405ca626957e82ea35a94f5dc96a64484fa30e17b3494d55905000de745c1ed282a8ec2b92eb4341daae2e5d5ab0d73a335c9506d111fd371590e4e5011c928d4daae04ed5881926fe8829f8d67e7271d37f22155dbc57dbc0cde2a1f1a4f6d64c670602663fb492c75efa53bb10525ea282180745022815fc89520b8d506f47fa5752943ac20eb58a07fbe010a5ea83739358260bb976000b9df17357882670e48bd037532f02979a7da09c116e9c9ba4baafd5924c3e63323940f900fec5b7b8fbf5f6abc0b936e165a15726070a33babafee5e8943279f28f27586cba5a5ae4027041a270b1b3c333e259401ec73d9ea807871bf134aca24c56c21543a9143564457129fa0a9ada9313a1def62b5c07feea9d4a822c6c9d2c56e6be7d2d1203e2a05d3bfb891d31ec0cbf2e8dc0a390c2a264299594bd9b05f5616dd3e95eaa77ef9e140e3d59e989132a07ce3fdbb1851b3484394f4524cd605b4f7dd3bdc3a05bc860a225d079986ab8b78655741b0a9176eea90d7884c100fe32eaa6b237a33055d3a92b1ad8fe7190e16012ef642a72785d567522e1d101c1e7d3fb30c276cff200d85806e41056d76bea699c96930b41b891a1fbc43afcc71afbd007ab18a5faeb1a60a653acc5b0eaf1a0d00b38dc13781056e995b220972eba166818f583a170b0e7cbe732310795653139476471c72b86483b7a58a67a8b457cbdced0a63f8e23f667c8d5e299cba51336ebfdb641fa9ae19a1ce07ac2e81dca9bc5d65ab51681f46277cad68bd1cfa9a86153fbbfd6e32eb90ff363e15e75349fd58bc6a1ec6c19f55777f777d416340f6821006ea6ec9ad0d297c8af104571e05c0538b86c30653754ef5dcac73805374ef42fe635df1f9ddbb42f7ec580bba7928ad41ebfd41e7672a2203f4e5e478ddf05ad7b341bae9894477d572260f2fd4e9f1131fcea0d63c29cfdae6ab5447cd14b1c59f7cb986b3beb8900951fe9e9214024fd808c6108f638e1064de7bf42e7ba64e465642cf83ca1791d2c48ca68badef671a1c00b1a69b521f66d86dc07703e809f64975b0be54256b8ee8c9d1d65fe9e8c93b258ac507f719834b00880dc56c178dcc19f40d3b29b9443a9ddfa7fb4d2021632fe0f61fc8d825eb514ed998a2749f9644b218c3f0d94389a13152df0335b80cc34a20a4c265c669bad60c15eb62830d96677c0b98e99981a6bf7473ae959077a9198a83b5364d315cc5c515700177c5a33ecbd828428117ab43055b1d91182a1dc5e9b9870aa5693a41ba0319139f5434bab21ae44c82471aaa171620a175084863899049515d38d12fa5d3d14c7d2cb00087831652199907a50d42432e7a6cf878fb457e55bbfe058c51359e132c5114218beacbe542acd56af4108ad2b47d8d517b2967c92b833295aa6087721fd9be7b44aa5c72406ec5944286f7ea7a90356c677f089d2b07684ec1030ef98e53f7203792a6f739bbe2b5eae083ddba0ea19655c609f8f3ac7d2d88ed0a86c355a9e9d068c5d90968930264174c35a66e5b12d411cdf73fb3a8ea5ce54768a013f87ec0e2cad8bf9509ba0bdc01be1bfc89e1e0de1ad2e105f10f90958973829657092390cb5c3c226249a596e5e4e059c2865302f4f5946883c45e7b7d552753c9221f71a4d1b3dd793d155f3e2986fce6934565577fbbcc84d44f4747c21c820723a75d53b15c745bb53a11d9c5169e6d61576c79515e9b57849666f327d3891b4fc7c93b2d628cf249adba41c027cb5028ffb7d0abc19cc121fd44973173582a0ad5a5cc377862fae8dd2dbeb846854be36f529efaa99487fc93e4fb88c5f46962d72ffed0917f2d03a2f751b6c3e77ac9b5e979fe538956992e4450f45f66c1053b67797e94b1f3b68d12e7e1a8e924839c48b0db7c5e2ee90c35d56a18d005409c5bea2945cecd47b8c77f65c8eeb4660ac43ca34491ce8cfdc9032540416d99f2400f5670de8b5ef51298bb0db8266c12c70dbe30af9b1ac62dcc69b3aa096921a1b4de4dcc8de1bd8e72145121e38569c300f784a374ece0e23a0860a613ea6700318dbcc073b197f098d8ac074c13f22cd3ad3fce6b12c5a6fc855ad77d71135d64db31a5707408cc09d931dbf169ec0a228f8e945ed88ebcb677b768bf0595b7af515e0cbbc20528795309ab060492acb675061264b0063c8036b965b6b313dcec133da7158ffe0b3b7b711b032082bf4c94588eaf1771c5f1008b6481e69ff5137c51711369a08812a9458c355d473875c33d2a85b647b9482819623d840e0fb6d7ace0cfe84b088400828801d78ca4f826ec41509dc62fb106522dad2939665192cb2d3e82dbc6072bdc98acfb5fa520087231aba8479ebf0622860e910997552dc49f4f11cb5c981f1815675d28e7e2d5c6ff03714ec938e2d191880485cfcf43edaa239a421c5ce637fb4994ab054418d4e85dcee3166997abcd59cd2b0cc69caf236493cf16706c96446c9c603911a1d6fbfa0e52544bbd4ba4ee854726e91c8521c1efdf11cc7063aee3c3e1387baea366ce5658ae1d6ac0323dcb6cfb37be38119286fa5d35bac6af88dc5708e17b1dfd0eb65c7b377c7f0dce6cb11bdd01651eaabe9c923e3de159d09531024604b0c499eaf6823bcc2218ab36a6bfd7591dc64c4c7b558bd48e59747f3447908a01b7305c2b7c450a2650068fbaa50058723047a9d1782ee19bed122153c256f3aa7af235285bb84f55912cb5f67ff0b6fcfca22566503580eee307ba5bb344b3cf5088031d6bcd851e40fe9f3c98020351b2955539a80b643210de296ffa8c303f603e7f474fad56ed6c995b324f64fbc80c7f0ebc5ae6f79901d946040a82140de62cecfc1fcf3401f3af354aacf4fc86fb942c693fc4e1a774bf6e2bce1e7f89c132ed77d7779f474488a427b11282d953d8b8ae2918c667e3dff31863c7141dac3edc7cd5319223d6780cd58de458a918a8cf20e54b9a44d2addaa6d550d65a84247442ef49cb80a840670eebb1337df4423b85b098fd938e91275e7c750ed746ae47985aaf17863fe7916798c6600ebde39d42132ab55230d7bbf1f4d85c3e6058d4552b2c444c130908858fa1f61cd244b5c5df4e2f855e7a21d1666c035071d2be68c5ed9eddb82077093013450d24a90023a86db39bfc64ab0ee67304258946e7a05c674724cb911c559420383de6071ad994778b62971144e5e3805861c3b3b3d890f9663e4a01cd085f1ab2d3897f7236979258ecb2b826320437abd12761a2e796460417759a8923c2c25d14b5e88297bbfaad768792c4a0acfe5bfc69414d9cad80d9ab12940a459156a35f16855de49a33228831e95f59a02f5ee2f39abb133a3660c175af5eb940e728b65136e33ed7133717483c4f12d0236c442e83c1a5d291792b06b3c86e91c308dd3118ab0848c78fca9a963db68132f343912544b44b0b056cccbf1eb0eb337baa91f720753b769c3f69a5d862dcad1ee85823089824319859da7b4ba5158740c940c23d39ed14d50d89b05a231bfc33eca65634080902a53f0b8577ccf0929a0f1409d90d9705cb67f09cf2dfcf32bf69f825fa458e41718c463633f33118facb988ded588c2b991b642ace752468244ea15b9d4e93efe46679a80614dac7f34b53412e7e0558837538d3f87d34db2cc78d1b9511cdc9190e992914047012d316cef9a25d7bea37ec2045d7fb6d196d01a4cf07888ba4fa02e6da28584b888600e51d0b7f72964bcd0218c477108b546571c0af4582671a5cb29bfc05879bc1f4d03a9550d00f08f3d7476b8b3789834376688f6a996f352e963d71a221b1dffafb536f3315e5ab2ada263f09673839afe4187c0a17012fcd547305a5acfa558fd3b5614a2aa54b0ffe086305fec41e5bf3d4fee7008b86c05d1314d804ff44214c7ae3d993e5f2366f2e1f6a59987b2cdaaadfa14b543fce55b1f1afc20dacfc9979301fbcdd8ce8025c73ab35e09e8e02819a7593942962a96445d3cdc9f6f4e798e8aa25f5643c9fadbf62f038cafd01a553a660296104d909091b749e4d87323ccfec6b7773a6b3b555b661f3b2ab406f354ba5b14e230817acf902131b8a25fe333c67951e78eaa1a6709a71a712e4552d5f06e9ea96e5c681d4dd1ca8dd241b6fe2065ca0625b83eef7b6147efa8d6909055cb0d3d0a3cd662ef29134d67bf12b637e2504accfd30f042249167b860e8e51732552ce0018c4e2e515d8d2dd742e0c829941f5851e213a96283ac36c330e5e2ab1d81099436ff4d7969036e748f2a864dde90d30b9bfd2d37c300bdb076d37cf452291fdd6c2b1d80c5ade9e5462398895c0f53febcc87d9d7b22af335e91cfd31a4d474cdc3b893c1df1fafebe52d5b114d47f5e8a6ef91ceac54256d8765b6fa9be1d6bf979f42bb4ee3d470cd352ca4cce11932f26787b87982629768643e6f82f9d232646ae402a383a714baebfe9aa2f474cf78fafa95731c27709f1ac7d13bf8c1f299423be33c5352146dc1345b9955e8ed3c6ff814c8e787fc1154fdaa57ab087cbceedc7173b52206c7f9eb88fa2db9c42c70bad2d56b78e2b444706a1cd0399e3ee2d2b6604c074fcc605806e25ca81475cfe387d550e6ede301fcf081a0a9e132496c59278c80f02909d58a6a31eba877ee6bcec648fc9ed4f3a95a9a0a7dd41e46e334cc80b65cf8283cd06925a6e64d8f2305838287ff07d9c822ab9fbb21343cd702614e623392c87979fe09e4b313e0565d32f48e476db84ab5776e46dbd538314ff2a7b739ac282b55b7136046503cabae324d4d31650cde71cbe5434b8ba9516298e06b4031e8df9526631c9b52f5e699d48a3f3560255a94623fcc7bbdcf0886b614150e4d93a07bb9901d2e5239da52c207e16645100eceb418f28cb661763c6756d23f4ffeb1c63cedae79ee9a84213a03fa34c371267fdbb60ba73e308db88a0b5d16006f32619472c72d98bc33c1b89839d9616f0ce8d91653127999118875d93931bb4c86945909178fc42dc63690cf86e4e630fc648ec9ed3c6aca532076bd907c8408cc4267c952e5671ce272b8527b60a47564d89d2d91cfad035da6bed706c07303c0a4bd6864bc2eed6f6982f59da8c96889f2b314d6262ff2ab4bcf80c9fbfb6d990609c83de42e7804c8677c3742760fc12ba770fd51ce53425181cdae40e824cdc3a988e9424cdfd6d02df612530001eff88703a9ab958c0241b5aad1018856b71d0c0aaea2e9255cf95aab8674df4f4eec2b821f6aa96f089c353f644ca0c98acbe86dc4914636b0db5d92c21b7308ccbc5a0d75fd9217938513083619cd570258025101e9a4ebedf56ccb75a17445808c6c66403135bbff86b2b17d3b0443255fd3d7a9b82f01d3b7e1bc55988f1ab074816d553d2bb8d3ffd302adeeb2f86430d8ffb66a268106496fcc5dcf5c7a113bc6857f906d8919eebacc23f61e1312606241f17e7ac940c72dcb80aaca16c7c427fe556a84e6f5e8b89db667105e4d35b66ab98b827d4c3c7837ec95e2d51d64fce97ea7af7d22abbf21131b19adbc6bb343cc7d8c260db241df640e8d0f6f8ffaafb043edd6570d2d64af4281f0d13874dd2ef38879ed78c61e2fdfb5aea9b703d1e8d1ba967a3c3d9058ab5af70d2fb307d8e2476d906eda0517b375c6424e016e1119f0613930f16d99dfe5fb9e26087a1dc2d04411b61fd98641052ec12521c34e2568276e38568c4818f8de94059b790cf20e40a7a4b1634bbb1121785bbce00353b201179376eea5c5c08428a959255654912e513cb295869a3f27f8073d142ba36b6e01fe9d35bf4054805547e8b3bb2ee1fc3a7ac0c57f422b5dcbb087769e1d9df51723564619aab205e0a578ca31d27507ee6b3f62356e1c951cda5e08a9528a677c3ec41edb97d585feb9e245eef29e3a241598de60c1b837b2bc660c59a748b33e4d3f9fb7a877a84ed19191587108817338d63488b7e602bca3eb927325648040c38e44c196706636316ef0fd2659f2720fd3b3f3aa613a506ebe19887eff4d0f442fc6b55825726b0e47d6e290a3fb9f3404ead73d7922acbaed4339fb88eaf5d1489bfea472cd679e0914529721f2d6138987a45876cf61be236a5927cf684f29c2616abb8d8fd086cb3110699ace90086a98aedb98d143141e671ca5c8725086da3c53ddd0a56fbc022235b92dd620c0debc7eb5a7ddab5687acb167496e2229f3256f271c7398bba1f03f514b3ae131ad2d11aafe935d09d1af4ac979828f838d977e46c162efb360a73c803db24916b897d4cb6fc5d03a91b8fc145e16ac036e6b0e841469820d252821aec04c84502bcc83de0b45f4e7f010676d4bbd1ff3a67a1ac1ed7e5a1079e1f8809fbfdc1a4ebd3a2388d77bb15cb9b57e62b106fdca46ad6ec942996c9db69d083c695a0ca32aa98659c457d16925a88fc4baf65e5620a7cd0a4150abf69c0a937c5f58b7b7cf7d466951a2015f1d60aa6d6fdb03bcda28c9ad3b8bdfa652b865b0f3f6f37e697f464d13fd2005c9ec1860e2e3cab31b0217464b153531dc92b7480b1f2a26b1df5ed850ad2594ca261cdc829837d7416eee34eaf198992bf3fe82c6d2d7c63fa8d2a45481bfe44e5bd732f738190f3393b8b13a67b3e3a3453f85e1e5208a3b358b978521e4442a909535259d159f612e36ff8f035250af4415a2e9de5966f965a9df9a0c54ba4e4bfce554a4ab293512958612cff9980e523fc50fab749a640958ad274f6df4d66d42608caf253966154ba0680d2c1839ec2b0143f877107c7ea974ba60e88d4a4e42c1137acaae7ec69d03a55acedae2228e3cafdf03159e6c8cad9265e11aca25988a25f461e17d4760e9f6788c29567812725073d3de559ceaff6bdc70d82c15b7674040e8e685b6949cab7927bf1c43f6fd813e668970b7fb330296e3d61bbde71ceb7e13bf8129ac656e98c24edea5a89ce5eef1eef95f785072d2c88059a1aa5e53a5b34519168f91f2b79ba39f8f3f639c2ef0dd5324f0ae97dc7cc81e8dc0d70fe956b30a896052ba9c666985f4b3aa49628b1f0862055b48a9aafc9a7bcf5fa7581d83ce542226eaf2773cc133caccb58848ed98f3bf036e8d62ff199bf2cd4e0a5fe71462b5e78626461b3ffeef4e8eb4e741ce6aa9054a0feff3380fea78369a4c8bc4d09ad93fe863c3ffe983bc36861c70b93d1158ba28697788a633857419931bd7e768746cc5dd1159ed374a188fc79e218ce542beb9513842234c7b5db017b45583fae530e5d81ea09a658af7c90ab9c48ccda3105a507c88c814df5454ba1f3a33eb9906c90853fc2961ba570c873c41772c13f6a92fdc234bd47e89494875b09f909d0f56492f6f701c1a8e541234dda78bf160b58d9c515b530f1856a29c951c877bcbf43efd497b038b433ae1f33fa908fb8711299a0b3a8faad2777c39fcd2ff5fb275b4508dc332254aba654bca0d330b44c443f5a0a150b1c62a416b51b027718c302a10d89b9681be11eb6785f990e0dcd0a364740c18a70ae3b2ec621ffa769d6aefb9d6253385ac2db745bb998dea46b97c7dd50645c102388d7d06eea1b82c17dc6a5277d5cf84257dd00e52617179ce1545e31ea5a246c4326a8dd09d03bff5a75baea506de20a5075aa39303365d573039b100794fa84654d57d65207e04af331a32f5c578fbde250a9a8b00bfbfb4cca490baee0215f4d8f5b481a5a4ea0c8857e59998982336f2a1dc2292b54d84fdc6e0d9c9f6cc552a1f7098a060fd5957d6fdc09cad389e934900efaa7c92b4b873d4c1f5df911be199e01b3089c18c838d69e0071d9ad7b2de310d9eba445822846d56cdbcba5f1d3311adf84928bc02911d52c6dc4bc646e9d7794414a9b62d3b9ca6fe426f9b887c0da58f7c2d7f6876df66fd925e3e27e475b4cdc116d7e939921713aaaeb16cddaf7c53f4a917cd62990555ffa45d5ea0c7cca665e1b1b42ef473233d8cc221bd75edf83d7d87d656455d15809001793f09f67f16938d762028b03584acd99e1118abb5164c941028016070305615e0a56f085621dc26a07eef440dc0866640e442a3b4940c0ee3022609c5420c2fdc6872955c137c9e26022c4e3591c1dc7b11141188ced1bba292823c0655cdfaedb4a29cbc8c8ff2d185450bdca0631da1cdede97ba279c8f71d5cfde828f53b58e1aeee3a8e7a6fbb17a0741c653cead8c04bcc921dc61d00c6c8b50a9a724dfc09c403e54f42b9e110ed5dada2513f560be110e7f7d6bec3ca9d62cbe567e785266a46d082623a9b845a600ce77d0717fe83d3808537b3cf3d9ed108a16f00c9060c90675e78727f34caeac00f8438b7d762f6084b1552bb3eb480cce5fc06e2cab3d7022f3b1f21e2f414304807056fb8810f52a21efe767f8202244a5ec3bb9516648db22386b962516e232f2154505d51d1934862a62efd8b88992676f5900ba1fcc2480b7043cf1f0b5e21d86554774c271ac05de480e949074c941b0ed66d001bc65818763c082541b2911783820dc6a55d004ec8733bcd4aad3dce360e15627cf31a0d71126c725c02a3945878cd8381e1338d93114df5e991715e71e9ae6c9e212282d8ce5c55616e33a9715295086ec280764b3b270d0a402069784f9c6a365e4324c0a66258182713d2ab5da260e7e725e78201060359d7f34038f1f220133dc9f04e29f749193598543a35cdf6adc17f659a2d498616f33ebb901fac3b912501ae1d855468ee7a563c81ce1474552323eca536794527f3840fe193ba35907c5c7ab2163fad71f4e6f37a91b328c2aaa2c36d7995c850732a9ae66fd34a4d10604d387a21675d6ed97e7acc11ddd9f38ae7b958d525acf24d426afc7107e455e7f88d690c1f845746d822c96a36479e104c83071357d0b762d9b0f1518628c740cf9eac6170fdd9057d046b3dcb19f2dc6b07ebdf238d18d02acee2f954d0af4e6a59daf65a3c430e81c742615d8c88d7d43eb08c3b3d09fe216c62b4f9e82b8e67fa335b611691e89655a23a4a42739131836d03c4f391d86b3ad9e6923f1024fd4603bf8e829e06a2ab94da4bda33cb869b18d39c02b2d4cb7e48b9132289e61bc29504e27aa3c2c8fe98ba90f69d470232bf72d86314d6f1664ba1fcf1f9d92a2813d278935705ab8c60e2ea00dc8623bcae9e1553d724695514e2fdca85322b83cc2ee949016e3b5059e65d2e3da91dc1b3c253cd68d9c9358b256022e52467a4f2f7e28ee1b520de2b538c1a2d5f52f99e18ea45fc216ab552ca736817f71085dcf649b7f40985169666b04abc88748f89c6de46a32e8ad64ecd5d8bfe642ef2a0032aa4f857a27ca3c0394785b33493b23aa63ff8c8f71622fe87f021aeda0cea5da280387cb6f9a1e0a9532aea8d3b66d9210fc4f7f475755258b5c52a6efd2ba4e1edca546683f8cd36320de5856189433a5c0041d57ae11651f326586bfdfb62d83fe403b9b61f5e3c9252ab9b374630c145f2c18537ff3845f7478f3af68e515267fe961be5e3e22f162e4b601bbd49a6b7c92120e645fc1f3ea4f15a2103c2770fa6ad17b3eeaf2cce01fdcdbb80b2bdc033a5d6c33f39c41738e2823b1a4362b2deb9ed84f36384750d8e383a49f655c5fc2389677d03ee31d31384da4afb265e3aa0ac245138fcc7c974df4d93271b0b3c3a93999d31bc781f95074024611ddc3e7c8649083480ffdfe7b9f1292cd8b42a966984672b85b9b3c195ce57f44c675aedad196c7515c0089203e633f720f259e8fe6061ec52affb08d34a86e31033af6b56608873fab0ac193417fc5a26644280ef1e2336731fe68f6e7639517c31b55281a91dfc124c6ddafaf1772da452dbbf9001f5ef086af0b6b9112d1aade6ed6365d1aacaeef831252eabfb10f65422babdfcbaea6b2b9ebe9ef9ed1b8192d18521c46c8bd825b551b8bc597f49d02e47a7f25f41bf5fa48a60ff0cc24e5462804847c8d5c7e88b84835c65603c015a72aa2167c93a303163bda4c695d4253db512df104a9c7e952edb0af3f8ffc19dcce481f3d4861733902f6180651f4e7dbe9ba0fbee0a933c56f4ab439ddf0bb8f1d9a2d5605c810fb3371f09179305e8804e3d3a390216e6444b05b2f369877990edd0c8bcd06b899e443b8cf68b7a3449435b1693a77e357adacb18fe78c4a736b4e74acec9ed8d63d7b2c91f28e72ce7911235e2a44f5a51266ea37b36ff2ee89c887a5a630727ddac7bc8f5ede143391a0af9c21d21a4f046a5e0efb5e90d99ca6beebf7ce5ae178c8c360297ce9eff2609864b94a96ae51321327fa5435680891e7a05682909677ac413e8e1d8410f9c092825cd19311135f0f179326317173631e1da4ac346ff26dd1114782585a4850ac77644c4ea35d615347c9ac20d6e52b175464f8581ff48a3c8289f77c88acc60b953e528949bd49ec06143e9a6f26e1eb030b57dcea7f1548a1d724a53c3e93d2be616f5afd1f5ea7aa97b9890e306e92a3876890880fca85f2b2e79fce28f966cd2f939a1d102117d2bfcb987f1cd046544e466cfade3c6ad97bc378d30f7ca8af9a0109f186ae9576300227fc26440245ab0972806c30047e95f05e150579f469a0e3a86b10c73aba89f8a60e056ca63f9be92ea5ffb6f50ffca09a5d13e134781e170641f000c70d43fbd29e0d2c6ebf3cb4b7f1ee847d00079e25ea1672abc684ce5c352679c310df1dcc86799ae96b76c7250812f71c5d15ed0e35759976c18ed6b9c30a99a8bb0c4bcf27241c3c3b92bec17c184124623a7746a3bdc152fb46beaf2068b3a1bd0850c692a91caf8f7122533701cb0d127079283edc1b319e43ddafb6d92033e0a35f4da3b77e48882a4a8524525ba287d05d02f1488ae645ea09c385501dcbd6a3552bdf4815ed42f1c7b5c26b18082334b7ab4d1570e68e48bace6a9dc71d9db99a3a6a2ebfa2ecc7f37626b17a2929440c1e4883ce4609950aaf330b598313f8aba8423e54b39a9ba9ff0ef968f1a96ca3b1e2ce68941f45adfdbc6defe9e6e327ac4a322a536ed0b19cdcf80a797b6991d1b6c72bfdfa23d812ef71f6f5df4fe200baf74b2369d80a59690ac7ce544c5de4e9b33a0a9973d3ce049261c0059241fe90ec072f58e2a1e07cfa578c08debd896871d5489cdd8969e60821f0aaa655ba57fa4e9e9782d3cd229b359908323e52e752c6e4dee9c62a1680cce5111d8d2e574d55525dce766d33c9eb363a711af5b90ce50ce2375a414f05130afbf0de0f543f18e33750b1cc68b3c53139229f5605ceda867e0a4e262c986e32c0973c4f9680c5de4a366bc5587213c9ea102ef76cac595140c99b4f5e8b2f8c2165e4343b2d5e8644a0cb34056b369d72d06616468dad330113a811bdc078e42b4122b350c978d3e32ef954fc2a80884aa30cb331d5c10cb76a93f238d71e4f1923a753631eb3c5e78e3ad42721ed5fc8ba7a9ec7538b0e05249a393357a5e5837f67ddc007b7a0e5372405f2ccaa74e043e22acb6a0769e81bc8e1def8cf79c07d2f3191412ad3386a9f6a3c8615fcf93e499c7353f8ab46e5cdfbc5d09c339d46dfa9a574585881076046f9bf6ecf2d7bf5f566bbf92d349d9e2bd5e8ff44f64b362c1ae7b73ed0946a4510b484d06d4fb413a4093e88b667f0a859200e91e187ec86e689656225cf0f7722a7d4b473a8c64b41fc5faaa12c414d2f7fa6262298779dcd6689f020efb31a8fc0a5910c3e1e18f31022b698ecb662f69605334b6c7ea326e8a4fb626b4d2ef394c87c292e77457127eabccf56caaedde94226752905eaa78e6bd58d0d20ecbb3c490963669ef0ac38ccfcbfc437ede2c0ab48d04b90732e99b4590fc2510a6f0f642cbc29bdd9d0421d49fec5916270c1e2fd4246e5bc84c55f97c937661d2c930b35c62630aaf8ca192a78f6ceaa2086ea992ae354e91c21de7fafbaa7fec20e15329153f4159dcc564e9cbd67d4bd18b1c85f75883be756a3d323b3962f18202025c2914f8fff12d1f5ac44fdbaf41e8bd68df0dc57c0b31956012b94e697015dcd8241acd76df0ff5b3dae712e4c492324c379a74f993da09e1576fdf14c5a63451d4e1d7b8404c4ad1bb6fced43ef60d699981ac2eca6f282063f70ab1e6c3933e90ca395eb63d3eafba570abc13167e841772f6a4b65f1d2c59d8d7ba455a955d91e33c46ecdfe37af2bb748f8082aa32d8bd9f72b955eded4ab4f7deeb38a54b796263a09f055ad86ccaf2415b486c00ce39ad075c616fc32aac0c57d8fc21dc9d6dd6621b2efe76ebcde61200e217fedac61941d904ee8c43343c53bf38c465c0f0bf1b0afe2f4a6bdd46271a5519097ced82a70608ec202f8d25b6f1ca35ccc0497a0ec9831b262d6934ade198c8e1538ed9b8a8a03fbaff30ab60f0c64c24a31cef9a07e1e673700cec3dc42b78fa510cdf99e56bfa04c8c41648994dd1e8c1511f065c918e5ee86d7c6a15b5903f38f92d600e3957cb333c833523459b5314eb3826dfab0012a23e854f101c8f04f7c9dea078eebb18981f29e9d29e733b3a228c5c03a9a61d3c47850e08c0cac161f3b780e30fb77aa14a153e56c3cb5af8dea937a78cfc4ee34c8e6c80a331eda7ea6b3cec18085224ef127f82a551a151276c12101a50bda1262770b3d177ddf96a9355ca5744347415e05a24040a82e21e3be77593dc95b433b7fd211b210d7ba944da120e4c21520578afb1de1703ea86b272c0dd795b3b3f189fe59a8856514e2ba009b5a6247b910fae4fd6fd34aa2fa0d447e1e80b4335ab9895f465de531ef11bf18682f179b1d4d30d91ee45aa2d12c504064b9e2ae0fc6308edad86e4b3fbef7e78e57fcac81d7e0a5bd5869495cf0aaa8fa2b3f422ad9110dca4c078acb053d9754f2000e38cdc75cc481694bc81616a1bd65e6b060c7b0d43038126094f5e097a7eaec71790c65c275d23dcc72b62e4c5391a296adee41333c91eaa13ab3f83da38152beae7ca96b27baa91e1eaebccb6b74e7b2cb745bfb9207a2a88f0804d7ee018886d59652a2e82f119d88268b589b0a8c18bbc74b19f849ceb77f89b27b5407da26abb6eea8d8d7a2853b7b588660bbb0ae757bb6394960129964ca644ae2af62dacf07a0a00db66c4da22111e380a918611e8c30b1a2eb7ca0da620d8574bc29dcc9b34ce6fffe6f9e74b42fb639ae4bc916587530c2e84c1c4e284646f516f31b67736211192455ee4b128d6ba88a0a3b74d7ab6902b1f89c0a09aec12d362d0c021a8f6b10ca5140ccb1e2571d8c62dd41daf9beb1c5ce4ccb230d64ac7079b11160fde02aafec18d966a8eccc7a64f44d6e9d84e1095ec7052ae811224950118f9033f11d68f15182e3f85ae70f17f9ca15c71d898667b68c0e38d57b7d3f6b9d25a1aefd650de1d5dba164788b0c2b0e1e53bc09c8b055f1486a5d7a47d71a85814872eba1672912de0e0e37a90113cdd8a0a61cac1cba907c9a5e2a6081e75b6d22165ba25229cea6cc234104bc8f52e0a2a855fcaf81554047221ab2503af98bb2c3d874b6b48c196a7c8398ca3daa54f6398bf9bd4817e74c6e50994daa9068cb9fdd25577c316e64ced8ca76d6c3b09dad882924b01e030d63ff043a19b50f25a4931c1957dd62b4f0f3030943d3ca4920bcefd54ff54252671994d8cc6b22008b91cfa2196180d85deb449e8568804efa87caa6b81fdbf17c8e554750e46d7e4527345021493d0f6de2042a3f88374fcac1c6040e19655e61c36f7754abc85aebbc02d0fde01e6b22096f5e1990c6eabf1b67278d1c3270e7f50b023082185fd0bdaf88498db467f421104bd232d0968507d84979664906050d3addf3a68f4f8bc860a70fa8d331894c1669a53aeadd862e20cc6df8c189184c3500b3f276dc36a593d9e1644607fd6ba55d0b7113690cef4a17979b6607997ca7ccf5e8d88e803e88cb12438e672720e99949cd6ecc2615b9688172f1a459a91d604652b717408565a29108c925c2943885a33ec94aebd3d8e412b164c01a35eabf6e9660ad10c9e94b85f33cd728588fc723bd8ad3601dd0927e8e5bcc8f0c0ac7646b32d4203c7f36e42fbe2485f8ba02b36b6778202c16e9c045f6e21b0ab70dc1a26b77521aaff5de1e53109ab4aa4e42afa4b994b9dc12fd677d79eebb71749a27852e35a1b5852ec42986af3681222f80b8404ebfb2639abccca019e951a513911c914dde3f2ab7947431eae0b6327f2032fe84abb7ca125a100a766e8ca046800934f6531c116f80f583219d9f2c94165d94833a1150c0afb5e344b6d066fc769b16e5a4f4c6e9f23f57e6e852eedd933e662d2a66df9baa0753c2b4a86cd951b43e99db824b1798de7fb8213f0fc792a388fdc3fd824ad54b9fc532e0f3dd1cc8293da9d0a18faa9e8815d0f0dfba7ece1bd892b6589ead2c590ac9a42dafdae95efef638150538b6920f42b88905bb5648154d5e1025736cf6a4ff06c50da5e3aebf330e1a69d333859bc8915abadfa84964f8b8021ec3ba40dbb2f71d374a008976ab649e15c7daf6c6a6a70923a5471c7a35e47017553d112ba0e1bff5c5baac055b0bc79af150c9519c09140d5909abb2fb45b9de9e7cbff805ac147e807bf226ea5519a7bf9304a0477fc373ae60f57601fbfb5d4936a7a9ae042ef7e4297d4309012a127c6e1ef171796208f62aaa7e7891058a5aebec7e0a3046f6f0ad1a00db31eca0ab6508ee911067d196e47aa64fe80dc213e0ae461aa46694c011722a9ab3ca2db948d7cb950f0846c934516dc053784dfb517ee9269d3681070470784c13db4ada34f6317dd5d29070d05809f49d483bbc0a6301894cda928e4ea7e91ca3b0a6a0c5b6455c085088c5fb99a44426c00c19bae292949ac1e47696d2d074ef78608809d282bb459c4a6302700c4d8a18621ba7c7470033b85f32a4b697f47ace0472d3727771ac450493bd19d37277f1adc5c3aa5953b96e78adb1cc7c1359f738f0d18c6999bbc546632e5b24684dbde0deb842ce337129ffc7f2113eaacc16a8abe15d700d5edda0219709dda5152875a0e68d4c1f3d0a11a0e0b783505926abb64b06f3645be9c3fbb42a6c35c32954b08d789a68d83bf46ad78d2e1a74b642f917a586406a4e63ee0eb55c6a71042ff8fb0953d99a1269c395969e385f0bfd66a9964740dec9b1b3d019125047636bbc56d065d48fe7ac5fb2590324db5d9c1e84dff511d0f72194d5880f60414e49ac9effcb3bf3a53940003322163569b1504ce578e74e38c805807f686ba61d17335555a087d18f50b7d88f390ce0f0bac42ee0ffa285214655e049514262e8f0dbbd28ee86cdd0c00941eba8c66f65c428269a56175813f62d09b50f234d9ed074772e34b4e6d59c71eebc615c424c78dc6902601dc5edc108427eb12ebbc9c9b7c011ce39138e236c63f6b5765ba8d8e7dcdad8c0294a0859ae5cc98e3a093dd5be4ae21448ec9fedd7351b7597fdf798c9b9c6329b930e686610bc403e3c73d1da2b75cdd68a1c80968421df9953a4b5b2579a93d10e5c4cae18c84f7c32d27c27bc20ec059dc2468c553682914cc393b74dce9e1c8d844c5b231d119a99ac3cdc87741fd274a09bb47220aed66002f78bf284bf46d847750a4104d83956fb84c7f9b481f6c809cdda3b312cb47b33799f4bf8b4b533340cec9711ca39393f803d527aa34651e314f161f1d284b0d5f2753aab3e7de1f867271c1bb4f4726efb83686353fe1e569e740fdfa022d2f1b0189f32939e436d457946e743f53744b5e6898baaba045070751a2d564a8e89649dbc64a044e247787515cddabc3c96d1cbd79fb751f37e050e54940513c2f55d36e89f0e719cbbbbc879e42e21fdda8744d87e77e1e6abe0c19b25fc8517e5d72ec5620d76f64a254d4ed368f11dc5fa17e51b958afe1e5cacb19d94184cdcb175a2c144db413fdaf7b481423ca7f5caea087ddedc0c52ddd74610d70ce3b3c583621ad360850304084c712118386fcb240e9253066c0acd34c16aca3451b4936982c0174ee142d8bce83a9e795adcd2ac8a9e3e0368b13b8406fc189e61593460bff08c92a401362a3c53aad8739e17acc4336eef7999c5919c3e2fc902cf18f5ed280978462bd08be0019ef12c8652e825e8ef8c558de7d583673a4c0489c2c5d0334c07bd4c3b9e5101a5e028f04c7d3922c9b9333a8db313999de141624e28d699f5d9f3a1008e39985edab43bb3a0e9652576670ed623813840aceecc01a897f6746766b74d4cce3bf342eaa595bc33d3777291f1ce88738630c03b534ad58b7e722be368887e7767261e4e8c9f59874b9ce08de5ac35418d64b3b8177c76a6d346cfe1992fb51dd57f0ed884e3d1f03e06110f651bac2dfc7581fbda02beb202e218734e8795ed029d27407c7f03293e78f4a05fb31c91a128ff6d628c2ec76ee160eb002ba5ec18a2c4653cd6ff4760a8d0361e51cf717d86116ef04c348fa0be932e412071c12eb87a23c9590aa05a31c8a633193b57fbe875ee971c84a333695a022fa1db08733b138d2310dc370bb69d89e921a8ab76ed5e843c15e6db2ce17026762670bdda2cdb7026c32220ba6c16b4f5043ee27026a21b20706b16d83913c31750cd27e4a473264b13b0577230e74c124e00078f3dcace99281681d9d91b84d99bb1f080cb406f30616f667403b431cd026967626a015589514eec7d33eb37be6d7628875c6ba48d02d77733a626f8ef664ebf41f3ef66cc611fe14c1c6b1a16b350fa6e46d9f94394f44803212e6abd194290c77a339acbe07a33fb3625b95ac46fbd9901f5eb688e42aa9d89a3f35b1431cba89dc9309e323b9ef4c65b91f98534e069bf9b893d8dbf9bc1c16b9fbe9b71ad348433c1a62fe996055e2a8a55a7daae65999d33d157be7f60421de692a85c3d46103b9ad64c6afcef2b8e35a8dda1a21d7d15402e3c94993da07d2ca04579242c0553e696b39835aed2c00f9d5b3c230878033a003f079625f88b1c3b906fd0fb9450c947e5a893cbafa6e8744bd4277dfc5629189116ec95ab94fd4dd520a6f337978922c5f13941e8c1624274177d78eeb74313545b674d5bb38b74cef172d0f2fe37106c3ce27a4be89a3c6e70eac01acd019753c2354cd6c329e4ccbb892295d1d83cf7a94de211c511e287c2524e09d16bdfb952aef71e0719b6fd8c27650a8a4662347cb6add84f97c51942c95c594c7d59e039a9b6b8d5035db846d832144ddd555993d9a7eba1994958e33e555708f834e27bdfc5155a9b348eaa2be1b82fd44cf508e18f13fdc2879687913320391ee66f3dbcb36fe436dddb0425c8d499dee373061ee3850fc0acff045433f6fa5eca592b05d27dd40d9f47f0217a189451160ed0efca9c33fdc4262abbc47d4ed9f762fa2102f558e490a402b97d3af47d4ce90e59b193a2af2a353101d012a9d8bc9596bf3aa1221fc258273b7615b4d71a5e3019a5326ef031b128770e4648c5524f4445f76187346e6b6463b9bba0ab2a162023680ad03b58d7dacfdf5717a7fd739ae7af88dd3f1f8080a3623211d8fd8a4a82b805155c085c19a58f79e571b1429f22e3d6ee1c9217be602c4612cfa46143159583fe02c06c30511d2bd9ada54da6ecc28396010ebc5ae2f19d34663caebab5e2026ee231e1136b24b243bc888646016e13143d867948dabf9c6cb4b5b4f533416a0022b7d9f5c0f2282ecf9f7ded471e3ebc401c9cc7dee1ba5e8b0e5c966e1b474bb1ef407c40f1ad79c7eda287227860b5ca2e0e63c90c8921021518746980cbf4b4c7e4f5e6823a2d0a9ceca9ea6011d7ecd2c048266e4b118b695b17bfd17b030e23a92f20be270c262f6311aa85ac35e4bfc5144e61e2bb22db004afa40e4967e7ebc382413019968087344704e92da1f78bfe561ba6e4cd7c20959406b34f1d0d9f00b414825e6a72b46d7df794ba579c72c5258e02765387c3b178f70cc82c5429b9c573c1bc8cf8e3e556e9a6b1896d12a1f7f59cb78ff7e57f262a0fead3d4a6717470120aec46e788c02d086bc052132eaa28a204510445b24754ad8b1c1a9153af0594306b338e1887affba97958ef8a4820635ee6762a8948c0c4fb0d835d477040e1a84680d541070769c0ec0512c8589cb318f2be470c6291a300785a0b09674c44198389e2afc3682b6941c5bca5d84428da4dd2daa3e05fdb89fb89ccf0c81c923ae3e9af117a3f53ded0c4120072e9812ff58beb5b6f74e01f70e4f0cae0ca7ee86e96e9a6e18206c3d32dadb5cdd0da3bdad4a77672a92d85f79bebc8da7bb63b4b7e574370ded6d47481f56eae23cb2e3df1df0fd423bee807fb4724c555e5f7420fe300fc5d2ceb0afba1bd5cd85dd3da3bdad84ef97c7d84b776fcdf5b5f7bed7e9e1d75be6bf5e2dcd33d71f5f2447ea99ce9b5d5669ce73bc36e6937be96e00b4d748dd5dd35e67a0bb69568cdd3fb25ecb149ce404f1fdc03f72d1e6dd012fde01ad28ce9dda9d1746c5ee3675a5eee67890920418c0c007940c2b4dac64f00328424fb80151ac083bac3023fea85256f8b8f28276fac680c4154122049640f9c0598100c795173711f83a12fbe0c043d114078ce044050c03ca20d356a2446975075344133246262fd1fc7038454494687e88e83603c8f493cef4643b43916e71ce953618944aa5926fdb66b479c9615ea0146d6e00225ea01c71b97328a6ce0405c6371a0310d13a955246269c27505a6e327909a72be27c3be13ce95aa527505aa552d775a5ae542a95ba8e86880bcedbb712c8f4b66d5d514a46c684f236e1a46e2ef90bce11e72f6e7a32a365c4e1b462709e4069a17c43e114951ce70914ce4d2fdde65daabb96517b37e7a78d8b42e6d4f580026508ce3b1f62f3924371028a9429ce632242b9c98738798ce34029c2794c38508678f1181c14ce10279c29ceb30df18263c2e9bc7d8897ad7253b8292529534a38459cba1e3c5c112929539c78c243cbc88b28e138f18487d64f5b69754b667852683020c66766361ece5f70a270be79aa796464fc2403832a39aa7be04a29292597f12d25c4c937ee3443449454113cf0748e4a4999b2f1745e040f3c0728f98c1375bef1c4c4f8cc8ca3627ccac683922273f21eb819df5242a07cf3de5c8818e76452cd838a49cdd400e33cb48c3a37418df397192931fe929232b3cde044c1116288ce5138513a294538cf8c77343f7833292186e83c06274ae7dc0168883ae7a66c1bcfc96352528ae08107e553369e2d25e3259ff11f3a29a72544f0cce008e104518c6f2e04ca5342c4c4bca49a07954a15e1c4131e5a30bef1dc9cc17bd26768c1e01899a0c6b9096a252f795772ce894a429cbfa4844abebdc0408646036ec8e040646838c0e35ce6f4844cbfbc74974c51728a2851e952978c4062025e51e989dea270abe6b86e755caa64c4e909293e60c015ad02b4da070b486ac9acbad888d26a6e6bb15f5e7056599cbcbdd4ab2eab2c6c4429d1fc342a55d2722a4531c2e39c4687855bb5aba6289d5453743d366fae716ecae099b696a9d3a2848d8311ea4e9bcf5a5ce9e42d708ac81607250350a80c6982d7392a094ec5a59038550d42ba16cab7247c805284536d6e9a1932b3f19452a72ddd6aa3f1ad4ad7c3f3aac8b49881c2a9983069c184536d9e2a3a7181e9d29a49157519680c29228405c5e4c55126476d89a2b571ada63902c3a56a00e2bc5b308e8390ae8503a7da784c5bb8b43667d2f5e86e4a6bdb5051b6287068e170b304cf44855335a74251d938538c08bc281e971b37da8a8f8cba5185b7b5607c80f11d8d850fa7adf58253d45a5a3dda0ac7f98ec6224aab84c3a5b15082c7e5095ed10c172e2d0e8b16178ec786059716ce0c171f7069e1d01cc77179a94195968c0b6ed6ad38df7243723c62705e4ea79e39c1db5a312e6edbe6dbe621b16d4b6c553815e75b121e125e1598164cca14a5a8bb20715c9799d861e17abca0b62650285495d6154d70a6192b9c8a2b8267f2179b293d703651381e3356424e2503039e134ec56dad8eb382d4f57871ceb728a628564e493356a2f8f0e1c3870f1f3292ba0ec5051f2ce08a0f1620850f16f0c48d12bc221fa614d732a5bae50348ce0d4ed5f918c2649bb94982e7b997c5953354519ae1dc6f8ae0d1e02fbcc84747433763a559a6184f26468dc378c902fda3c6bbed64659b71b2d2f5385de956dda98bf1d232b90c9789a1f991e139ca93e171266ecbe94ad7a3e3d22b0fa74b6a15b7a571705eaa4bea5699ba756a3c99183498b8172e041e8d17cd54e966989869a285cb984c44cc2c614acd3001b375d782b3c2f1e89c3083895baa32f304c78373e19dcf2cc1f1e0bc73310385cdb66d343748f038ef5e3c86c778e144f0d0f0174e44c35fbc701a381c0e510d4ec369e040a1e135e010c1e3c26f7ef0c26914798b0acde98a0f8e870bef1c08c7a3ca290029cf37cf8573aa8ee6e42e523e80f4c0a97070a091aa817300780dfe2255038753c3015e380d57528303c069f80b00a46a48bd3855e154dd0989d6e94a567cb4a8743d687887ea3a1aa91312ddaaf317a992951e687c54f18a4a56667c9caae4530b46e7a72466dc78e727243a193ee3270ef40f19decd5489711f36a91837319cf3193362b84c8c19315eb897172f4ec34c959797992a363062bc380d2f34c448755b6e66bccc7871192f2f31522678e1305eb8cd8b17a7e1e5e5c58b7c7825cf4da99ad4cd073c93bfb870e1790f9de782e6e48156c7654be7a85451b7e534d3a3796eb4bacd858946e9060a1ee7325c6772176ea271214cdec24f42bc388d7b259a1f4cde02e78717a7c1e96e75e2f0562a43294ad7a575ba22bf3182d7a52b75a5929f5ecc20d33814cd48ea31a3f1189c98989898981831a634a5d5a2850cd7a1fce444283fa13a1b1b9309869b6ebca66493949af1cd7be04a5860d478914d52094ba98a52120c1a212937574c526c7c86dbe008e10411ca6d5c8893cb7019cee10881c2a9a1c3a9e10032fce44a64e028b17194a3dcc66d70a2e054261b2b3650b48ec94b3a3d21d375341495b0d840c119c12bf2927ae06ca0e87aa0dc34a5c391c1699b249a291c97220f060c8f112386cbcc705d97040333d3a560ccc0701818de431723d59c0a066a8a096c50291b9c0e4bb72a4d69d1f88b140d292f2645e32e522d6870b6289c0a0ade29e96586f3bc1933389a29451bcd94166a0acd14d4149b18efa18ba1995234734a3a259db49cb844399d9260a0e015d924f5152078453649494a8092913895a9b4a5d4a555c2c2f1e05aa6129652151c8fce934a5794b8cc3895895399a63ca04b5336299cca84c3711cd7050f260aa73241d1ad4c7dc2b9b9c284c56bad36ee46095e116a0a0cce4bcce9e4799c4d52090bc703c6933a24b48a3c2c45a7275a268ff18157849a829ac2f130020914131c8f1a38d41454122dd3941697ba59824c517b11bc93a3361a58925aa6229253991c0aa732994ea6229b242c2d93db24d968e16272185160dc6493d43275464a5e0473daa274bda547f398bacc88198223a283b1c1cac60303c365cb162e5c7adb5e666874351ce0c669702537382725ddad562697310d3141c12b214153a252c5db8a4a547e60a438914f2d9b17be7957850ccfa7d60cdf3a26f48f18bec944d970a8c8bc48c1702ef5d29a913a3a6d2e43464986a9d3c2a9babbf4caf422d55dd12a9bd4d1a90503a7dbd22a93d7a4a4745c1a87c91b3044149e9aae0523d56d99913a3ab564e0745a5a65e25a32529d96d631790c9377594c305226a0c16d52269872e2a1c15fa4ba2dddcae435a92ea9754c7e2305cf4443e3322eb8549197baf980c7b9a95472c1a5687c5b654173e2687e3a27cc702a8e6b51425991691c6e94a0026fa6e5decd123cef660acf3d8e47c96f9880c4e0d8b44e3845aa9277332fa62e10a161988081a295d411c1f3b2e1d4708092774e54f20e078a139b43e9bc844324e3252fe14029b90c4ec3c05c69c130f1029926649e28c1bc08c184da626262fc251593baf980f7627218539b60aa48c12081539960aea46486e088d84aa610c8dc286136648a2530990d29722304ef6608dee67d64e6c411d1bad9e295dc4f4e044f0c0a07e550704e271c28303844f098aae095dcc6e354dc0d0fbc1900e08157e44c66438a0ce9ae654a1cd7c2c139aeebb898ba9706c8745d5b51b2a26445c98a92153056c0580163058c153056c05801e3e2c68a9315272b4e569cac385971b2e264c509b56d9c77ee03d73577bac08d961b2d375a6eb4dc68b9d172a3e546cb8d961b2d375a6eb450610a59b264c992254b962c59b264c992254b962c59b264c992254b962c59b264c9928593e94e12ba8182d7de3cc8488aa2d5c9589181a2753abf81824704afe845d20b28ba1e2ea09049722193e44226c945924c920b170e23030303030393d4ea9c3b19e1b90c28ba1e5d52d2962d2f924c2e92ba55f722a9c84552abf3a417492f92925e2475ab0ea78b5e24b53adf522d2369eb402786aee3fc49d7890145866ecb0d961b2ca6d4aa8bc9647ab9a1815754eaaeebbaae33995e5e9c83917981e13aefb89752eba57b3199382b3734f03a9ca28ce2388eebb0a882ea18534e11a7d309e774727192399d4e2e4e1e0a868693873a9d4ea7124c8a06cf515ee714e1020785721a72a2785e8d9fbc939f6888c4b46a7060687ca8711897a1c2a9ba0cd0902a2191841753eaa5d561c1f130795ee3dd151c8f1a9a9f9a979a94294b0be702c784995667858e6b7556e898d09ae1d2f5e8b6dc50e16dbea5386f912af25a322d1926b44aa9a21c2372a6fca0523951b6d3c973a6703c36bf4982973365a331799bcc0b4e4d70b9824b14ad3308016606c78b8989d952342918cf534d715a65313313b3ea5283f2683ccff3ad0627a6e5790ee3329e97eaba2e2d9c2675438527e33d74339c97b8296cfcacb2d8763898971798d46906099e8d28debde8c05fbce3ba1ea52b2d8ee3388ee3388ee3388ee3388ee3388e892a5b4ede0c57f5cd113a2492923826525cb86c50f06ca91b13d753705beae6081eb775565c1871330317334fc89441a64b15134ece1410b48e97a14a1525bca212088cc800089ad5add21410781c17641a871277f303af454c8c490646c6e4305b80c1928457d46da1d539962222ba2d34ab5bddcbc6a160709ae74aa93b828c89a669522894c3dcfcc0e3a1710306afe41dcc133051c0bca0657a898949151131333393baf9802783f21899d48b73ab2c545008c1e43026e752a52e07a72a61f078f4494a6b8a115d064e45272a2d6ea655548a0253458b83c1d23a3ff08a4a51a880c02b2a45a1d2a54a5b6aca86533a55e9dab7dec0aacb2a8b3e715d64708a4e2fedabed08afe4aee2786c5cf7c2711b8c7330de2d530b95ea2e9d5add2d60cbcd0fbc2e9af13a224ea7937fc08371eec54d5d775a366e055c5a9d5369a55add032e5cd192d966706cbc74b94902c68422e207e7c976860e4b2bc66552371ff0629c73140ae52793a356596c3ba65409860b77056eca03ba2d484c297154ba2d19885202cf0b555490032b48c0702f5da0e84116493d30430c4a33c0d0014d80f67450f9d0e2e3091fdaf3417ddce8cef198c5a3051f86b3db3c5bdf0bd7de68a80705ba5bd55e8f588f02f4e078a080870378e0c8a109393820872439dcd0affb9576a4f6445ece0ae97dd259f833bd4b603eaef3ca79e1da13c9481ff4f29c57ec4808a484c5227a390b87f391c07c9068cc31f519485538a4aeda1bb158b8f644582c229cb1055bfee1276bd96b6f54a9bf56387a5ce79be199b1abbc2666f02f5ddd17457b679d3fd6447196b854f9f819d730fe1b86d3710d5cba0f905f9be7a4167cd867a4af34d7d233f8b1d87bae715758557b23fc182311e7786d152751edda3cc33ac76bef7d3cc373088b4534c373666315c8c62a75ed88b283c993e49cd5233b7c8464c97aedf0401d5cda6b4bc71572fe6de9201fcfbfe087342b8a3cede978f1a3bd1c58bafb5382e4da6b7b5e2eab541427487fc079339290eee6a1bd1c54fa9b79863e5a50a7daea78ce66340f430ad2722887100e2c64b724ebdbfb41e854220fc7151c467cf59f961fe6e3acfe33a2da13d9c1a30c527ba30f2d288a14765f28c897e254527b2240c05772a305375c376e6c3b30d849e2abdd3fca59fd11c5d53165b1404c4716cb5217895f8e4571822a7fad8654475eceb2d9951fbbea045f1e437a0dbd86bc00eeedb4be2b3e297c47e8ee547b1f0bbafb86f63e0a7c43da3f512c6379fecd4bfc0beb939fe3709d6f057e68411cae33cbb2faa2bf7a5efef767347fad7a5e1f5af0856de8b9b41f5a30ffd0a75386eed70a87eac8cb753e9d08e800c9e9d2dddfe72996a038c1794b10bc1fd6d271ed8d60252edd66cfd622b9fe4bdc860d1b363e241afb4be27c67c69ee72c4f519cdddd6a2f870923d08a30ff5990f6725edd1f397fe6b846ae3f567be9517daf89b0f1316ec17ec9cb26e931ebabf67254998e6f74e7f8d775aa7da36924276603d05e0194307ea6a24889609092363f9e33a1c77346fee08bef8f25ae16ccb5b43db14782737d0ad258acc40f565b679e3e33cf70de1f168b28088b45e40a45ebe3b261896d6cc114e9fdabf518f5f0a9886928da1fb54c73fd90521a06c2c97d1b96b88913ff19910d28babb8913ff8caccd9e7159d4b22181f69fe5fb61fd21dad7076f698758ac2020cd3393a591b545582c2220764643b23ca238c1d5125652fa9baa33a8a8e86e22eda9a67cf72b8de97cb518059fc48f4bb7613944b3a29871a539a2386946e0cf4055a946166adcb87123e7060e2f80bf4471822fff239ae711bd1f7accfa12d7f9562aff4c2fed95ad45f29a8edfabf15323871a01a811a3c60c0198e01120090418620788dff0f1f8f8d723aef3e170fe0ddf75be150ed511d70902c46ff85c43aed1319d117db537a27d9dbe7ad1bebe541ed6dec86d5862cfb9fe2c972d9f8c5f46430c525ce9cd489fadbdaecf33e3a0fbb0b1acb92467780e99e139739141888080af04881b39903eac40e4d0e13f7c944d82f8288180afc406035002df2f146999e3c3f1e5d0b1b14a755e9c20c67396a7d011168bc51a41a4203c72c83124c84a05640499f828afbdf7670499e000050e301c5cdc20c50de20d33fa0b3f7c6b655e136113662fe998faacf78faccc887f35114631b6a4ff2ce3d2de97d519ae72696df66be925c3f9777aa5aefa6a222e2d3dfa4bbe6c5e9b31ce12706a8013c3f18070e2b9b41efe4873bed67344b20c7dd24c3de7fed15759a573a6869042ea99d35e0a2705d3dd49daf316b8936e209ce490e5c36cf69cfb798a315ce91c7f06e6397ab615bf0d7309cbe093483f2e003fb5049004a0f60460c4f59cfab8d5dd35b42780a01bed09c0061bea1fddcf659da34fbf16a4798e3697b3fe8cc80615e468cf062813890d3ed8502300575a14a7adae379af925abd468e67006800101c8010096fe5e2b249e1302a95e7fcb3c8fe6cc6b192b437fd8f8e3258ab3e7e5f3c35ae2b407800c00a008003678cea810407b35bca08170e2395e0d14a8216c209cf88f16cca5f5264ebe4913d21e8d2fe8d01e8d286888346c1a08278e3447cf116799c1298a13f49c17c5497a4e48c5f2c98f34d7f2d6601e7e7e5958fafd3cffca1cd3590e7f06e649621a867f3ffc234c8fe8837f1f574be2bf07b871c28d0a6e9834104edc07c86bf7cb279ed3c4c947fbeab7b45746476b3d7c92b437743c69d3c3396b75378df66e08f0b537a30b104e726678cebc89938f9c377b9de014c9a119517477a5e3fdfc21ae3123ca0c55f7773f162b61e024b1c7ac1b8153f489c939bb2fe45fa5beb2a1dbfcfd4755fe25c6d4fe1dd29e0c2c5ff8f92f793f57fa32d29e8c28dd8da7087ee836cfc03a75fef6c8b881cbe978cebc16cebfe2f44cfdc14ab18c530c28be55f8b38cff92489fe927fb5e55ff88ca6ab417634a7ff7b348639828c62bd7c736b417c347f727ab34ac8fa9388f2a754cfd4877bfb4174300ddbda43d185374b7acd25cdaeb31ebb549735b7d5e5c4e30e745d89c81f36f2dc3bf14477b30a6747fd9af8dd57f98ffd19cd5ea1cdd5aa2ee06d21e8c1efafe51a57582af5777efb407e3d45f584b1b7bb0fefd5810204182ac5423c8244810519c3d2c5610198d55db836b438ea713010132824c72e8288120599e4c475a644990160e528466b13412be1220489627e30f6918030d4d7c98bacd1ed6497f966d36c22d6fafc688ee366aaf26e561e125e131f96a991cdf1f569b46bc06ce72c697c6fca7d7379a5914674ef8b52c67d9c3901ed94b7ab6f53ff67d95ce59be967cf189ba3ba83d1751d069cf450b5c38e9eeef45d8c434749b65958ae58c7de87a586d8e2fd7f9569566ab512dc907c199eb837f3d633bd2d082f58df430f959567d6c629f9e7fa8bb6db4e762ebee23edb56881d742042d84fafb4bf187d8480f135889bd26e6faf796a0ff9dfe349b6575ce40233d4cbc56a7cb2a0def94fd755c7aedbeac5ad16da5e59347d2dd07688f66f46862342f3c1a5377cff6669698914077c3da9b59c950d1dd607b3264771ba03d1902783236c44cd1dd4cda8b21bb9ba8bd18000ca03d5418504b747f8fe70cbc2569a487494ead4e8f51cf719dcf76fcabf3e1ff98cf403aa3f9f899c6acdb5ca9cef71ff39fe50f4b11ac14d319917f55e7cba123046addaf2f8b59f796b35eb53b2948635f1ff6729daf36c5bf2a1c4c5e7eade7901ed67fad56dfa79a770a794eae7fa7902a0793973fcc6ba238414ad6b28b225de25f46fa5c2de83ece7a65fce1cb7564b54edabce12cd31761939ce06784e9f53c1fe6b5397a581fcfb24867ec3e69fd6739fcf0bf3aa6af4c472aba5e7e6dcc6b93749bebbbcd4e969ef31a3f5397eb3ff68a59bf36837fe42ffca28ea97f4871b59eeb8fb549fabf90cfc668b6d5a78777d2ae8d7958e704c1e95546fffe91c5fe74ce40ff59c6f9319efea3c57e3f86ebbc44ddada33d548c530d4e25e86e25ed9d8460bee0c160a1bb87da834162477b3061777f997accba8d1f2db6f1a35a6a734dc49356b3916db5e1f86d68b38b650ce307c1127bcb593f444782be0fe768abd79f65cfb1d9df68e69f658f59cfb5b4e3f4b11c29d21c7f96317ed131754c67d96340fe554bc3cfe4f8394fc7993a2efd612e8a94e62f9a0b698e2faf7396fdaf1ddd067d35519c35b15abfd66be2e717c9d1821e3ee82f191e5f7e7f967f469b200d2bf5f033c596fcd031f55cffe8bdb63ecf09bfca28f61c9f3eda1bf3974d8c7f74233d4cbc4eff5c828ff4d3dd3eedbd6ca1bb79b4f73283eebe69efa5ca4b15ef85022f40fac3f95a922cb17bc69fa7e81a41a497eb7ce1c3e805f1872eabf4618ee9cf889cf502adf8729d2f5b8bc41fe61997469cf5aa5446af7db94e777f467a9878cc7ab514df3f9ac94a7b67d96799d23cfc3c415acb71b4a03fcceb042bcdf843bf532c419aef247d7a9eb3eca26833d20f17c315e96e577ba61a749e327a34bfdaa097574b33796483dd709394ceb5b4a0ef10c4eb8bae1c7bd1158ab66b62035d52f272848c43df61075fa9ea8b1f78b1041e80c37562e263df6107cf3319fdd9f7b2f0b920babb497bdd95c6f7fbd0d69dff9b613bb85a9ac117450b228008a8a725d4ea71208e145267852fd219bb8ff1dc50d0dd45daeb887672d09183c78e1ca00e1eb11d31588e9963f6c0f13b668f1c3a76e40875843b6ec4787c188be9d06107ccb8bc3b5ea7f2fbb23b459f6eb31b557a67d86df6f0e925badd2dd41ec7838651315f0b9bdd6dd3dd2f1a87eeee0bdd55a1bb91b4b75dd1dd355e7f29ce237fddfbf3f23abd5a7fad54e4bcb45ab258592cf1237979f8a238c1ee76d1dd2d7aa6bb65ba3ba61bdf0fc797e3c3a1833fd7603b3a72f8005f0758a8830e397880e0e3d0192df8c1ca59a6b2dacd98cafeee58d99de08e38412bee5c5cee7419cf22fee5d432ade5385a50954331ed85584b946d10aed388b544adf0b30d1a0234c373c8f819a87673fd7911ac4936e084a10f7bb561cebc65cbaf15e2228ce2fad827a646d7d268b8c4f51fdb19e8b7b408f00fe332cf3b49727a19da4bba0d1b3946c3497b1eff30c903cd2fa33efe75b7a93d0deca0019bee1b3c4fb731dad7b15d90812b9d81243a878eee09440660955a71a8f1fdeebb4610c98501243a08b7303062c0abc1729df4ce23ff6a7b4471f67cb5372a80bf42a0276b44b527f26f3469ff7255fbbaf345d0717ed90cbcf3b1d7eeac145669ec696e31f64cbe11f847fe0fd2b002f9876b605ca9ec61bec4c36be9ec612eabf45ac74f413ada6ac17759a535b1bc44dee31f8e597b8542a0960daa3d91d007d79e880da272d39dedc5f7dbd11941a49d1144da017de89063070e1d3b3e3ec7fc1d9f43d82347cc878e1b3b74c86a29c62cd6b5ae1144aa00588121edacb05223cf71166b0bc314b16cf0498c94895c2c16fe5e1f04155dd5beac88bf3fa2199c5ebb7ff4336f392750830970a06b79b3e7e0a719cffb6116101043f724756cd6b1a2c54650a03d4fffb2227df58c78237cda599ee7eacbda1ba9bae380048cd02e97cb951fbbf2e3b05a98ab06e6c7d395ebe74a5dddad02279ae84e4177a3a06d580ef98044043e396404feacc7a5931fcf5b4e166bde72ba7420f04477bbadee8024a4d04d85ee9ed1dd6480c0cc09ba7b63a2afbd41ce8c479a773a3fc6b53772d9fb41780dd6dd6dbaf2802aee67ba732d98840744e95ec0036c32d2ebcc5bce1dbce383878f1db11c70ece0e08163c670f4d8a163472c478e1c74c841c72be20a2ccec73e91942d7f9114d237748beef62242fc2015b14b56e9ddf9f2c9872ef08f7a2b25a13b8827dd4a542185740096ae9f91de6d900348d0ceaaefac7a3ff74df716d45b93f09ff88f4bbad760be21c1957ac3d2dd3fb427858aeea637ebc8f1ddd081853a4f6fc6f7033fb495dedc9b5177bfda6b4016b59bebef907304e2211d7f6a258facd250b4433e0321fd90d606dd0faf65b1708cf60a095f5629b6624ff8997c106ce12f9f3c92fae4911eda0791e31d92c1b9e4c6d10832692c362f8b1683cc02a4c0f70beb1b81f32b9d8173d4d9c17f44331de9257770e4e07163eed0b18323c7bcd14307b823d4a163878f1bdf43e7f3bc19c34abc837369773295cd9b917e864471f6b45c258b05d2fbf565e44ff835091166b1309e62cf0bf98c20137204992499770a59222bdaa1a11e92ceb00dcb21ec394340ae15613326a456098bc562b932585e97ab7e18d2998b92d34562162b263e0e6b998a3497f34ed265b3cb8a16bb70299663093e76d9b0c42e1c04088b1504a422ac1422c996250a6b697958accff38238389e3e6fd902326f39f31b813403554b2b459ae3b51423cdb15a5716e70c7c25238884ff637f446519f640902c0f8b153e9285b158d7e68cede8cad3455d4182ac5441ee87f7c8cf8bb0d2fa04a994c893b5ec7221cd11c78d232023c884c5ca71147ea573d63396d5e57285f367ae276378c4e588ca3c62e23a47375a25970f974c7ce197b3ee2fc4d4069540b94bd7f2bacd22a5610ab3228ccc4834ce9852189dd94b661b4e23d10ae52133cf307b44188aee5ade5b623bc3533a083a6d10fe41ca2a15e98c66b3b7669e3ea10593dc12dc045c1bf7f4048a2748f4f7a305c37965649913b6f2935877c6a3cdb8ec997986ae70fe8ca4f9c98aa4e27bd919ed452799f31f1b6d38499a5f39afff98ebe5ffb156582d0c698e6448daf497fd61be82a9c23f9ab3d554c9dab318b03b2a97eecf69b666d05f16bee7d9fafe96b2998cce6495d65a5e4c7129822aff90d607d41b63164624ba3ffc7ab9cd2fdc53a99117696f18fe38d2b05a9e9ed757adffd17cf1fd7b9f91ecfe605e03471ffde16bf314450bfa4ae5988a418880c48eb8c26a612175b9442b8d452adde2acbb5b1cd28da978e3e9785f48f47a7ab6d5884be719d2b04ed0691f736b898cac74fe9a0f901b31d1dd4650aa581e5520af132731b2a14808fd02ed259db4197b91ac28a7bbc3f6e81437d31f470bfef5da1cf39c998265f8f74b1ad2a0ee8eb537dbd2fd72619b3d146d9ed5590fe2d75cda9d4abf1f4bfc48644470d29eecca54dd9f0b698e2e7204913205a94822bd87b5395a99ff91854d23df8f259e63adce180d687bb103c45eb5097ee872d14a8de6e8383c665bfe552bb397f4fb19cfd87d9a15bdf5cdc049e2bfc18bdd836be408e1b03e89cba13f8558088dd0dddf5e28f68bb437fc669e3e5f7e79805779a9eb7ce2d73a67e0fd59be65ec7e8e4d8f590773003e0169f4b4075b024c04b0057c4b5eaef3794d1c4126e41cfdf562bdc2c96334b3911e26b836c54792a72bd7c721d0bc53287c5c5e7bef0799cda469654ee9da149f2cbdb6a6d007a3d8a790112443bcb6a6cac8faf45e57bafb136719d2231a566aa487c9eb89d7ecb3d06b48777fe1e479dde8ef35a37bf2b8bcd0fdb158e01fb15861c62e128740e195555ae91c6df8b874b942a090ba5caaee0f4f4c1380052700892fbf7c92001fdddd098001e202610404019c90c109164e9c70829df4381140777ff588b35e61ae7ff4f3e1f2fed1cb88b35e495eaec3c25f6d8e475e8ef1244559a5203dba3f141404c5ae234bba90e638f3f409e70f09e70f71b980f0d124044dc86ed2c367a48749934ab33e3f5ce9ee1f9ea0f8ebcb7e40e2c33f903f0ca13f2441c0968751ff195190fbe1fc212c968bf6150127c02f82b5f4989d2e14e4da592e5b333c87188156e4c9f5476b84c522a2d9ca04084c68c004c6244696254658b28025459484418914fafb5ef9b1ebbe18d6397b57b52f7fa39959ac2421f57979ccaa1cc7b87ad82bff10513df29a3648e5af5cfffeac02bd424bef0b8de5482b35f2aac19c1c67c60fcb352a9eb320a8382b8d3948eb2481fc3ee90f56fb1ebe913daaf4479a5dff3766f3102ef3ccd835da1b5342ae6c2e7db4a7e4c6b70a6d56b992530d8627ad954408493c90a448777f185bf1e6d2e6f8fc782e61346c67b4241dd113640dbf382b15f2550bbee3491b227a110d75f956d7d2a3397b18a6e31014dddf0affc786a8f490508bb396e990d72f96e1cf407c5480f69060c148d3080e7f9c350809133a7f499eee66b587e4d516c98d6e3a736bb32b39c019683ba2b5b02fc579f437e6a27d65b1846820c4012198d091171c59c0911e415a828e10b48320a4a021236430120323113022c488a9c895ee6fe4f1715b6bd78e3f7aa5475cc7ddeba461a36b69ee7a85b51467c6a5cf7d998cde8cc445fbeaaa96c5a27d503de2d7c61ee634f4ec3aee5f2d53a4b09616e6b384d5264d9cae3a41d7cb75dc5948bed291aa8775863f3390eb7c3fe4a0e792acf43e6969a617f46c2bcef5c75276a78feb7cd7e6d4b85f48cb27542c12a5884e911b885ce9af36c5fb47762c319e2ece6a69a6613871ce6b4ea41f22491021fb233a720489d760b3e77b10e6b32621e219400a06a0c20051bed0cef28f3788639e7d5f06cb9bb1b34a5b1b800e3a7c4613885793396480174048e8ee9ff6802a00d433a40c43b0f4f7cad6de9763ba7a3d586d90ca33cd8ad7faff8dfd472f692f494e5fbd80c4992dd14b9cd95a2c4e51a45ff87f85bca6c7ac7b437a7cf8820f3af061f48186901d0849428828c48910999f17fc38f979f1e1c10dee5fc697e21af77119cebf9e7169005f7d79b3cac97f23ff5ce79d650e9e2f7a9e489f6bf78fde578fc519534dd0737058cb988be274bde68bd6ea7c314a52f0fbc0fc9e8373f0fd5a9d3518f9972c6d2d871af9bc39abd79737bf1c537ffd1115a78bfc377aa91c8b93e6fa4675e639cbd8f5226cbabc26563b4158aeef3fcb46a02d8204578be75f10d3f1ffc6ea07616fccf51f0bef83758a93e73e8d01fdd17dfc4842ead313040bb1584440902c8f0b4ff095f0c0517a3d497a38277826cfcc2bfcec6219bb4f8b0179ce2b7ca0199827cfeb6779d6e93996c83ffc609d198f257829e8a2388d8ebc3c87f65ab2d6902f93e5cd35aaa5e1d71b51b126f97a58410f43f450a4fb5ba9f074b15836568196b05844ae6c2d92b9437b3c988087293cec085245100904711204a6477b3b5cf95eb012bbc29f2f3c69393970d8109251fcc2e10a453bc37f67d945b3588e2e5caeb04e9d2249627a33fe9beba479e8a5ad655c43b2977c79064b5b0bffda6a67b24ac3c713a653ab25aea5ad790cc8eb94552bce49fadf6fac551b968f490fbf87f6761000902c00d90090213fb8f0838a1f12f821d41ff59e558fea8810519c3d8f270f8bc562b97e9c37f69a640d8655fec92abd335b7b1dd318d0b7ca3f7aa5229d4753e50affe5ac5c67c6d582fe0f22bd7bb615d7ea0c8d8013268af682f3453ba38da3cd137bccc27c7a587fccc01407b1a6e8fe70ed8d7ca48e6b64ea167bce1f51f1b1d79e088b89cf493ac3f72bcd02b1a2d4de08094bc807c82968319e6e8362d65e520716e800011d82ba0333197d1a6955ee3bbe1a80e70cc059a4f59c01b8ca9d0544931a8fab71b165a59addac0f2d5882de48d0bd2db1b3035e5cd3e2899a16465c7fd282d76697d17c9ad1fc252fbb73d67323470e1db48924049a4a8890d3c8ff25e2e9ee244650439363a3a86b669e18f1a48133a653ad28d2988b9c3fc3ae5cdafcd8258ad4c8d5aa19e20b5d43844dd71091a4bb6574ff681b02a8d1dd3ad40891d33542f4748d101ae81a21ae748d105be89a216eba66081eba66880474cd1065d70c9144d70c9184191b2978684f0a22ed49e1a43d2966ed49e180f6a400417b5290a03d2966d0dd31fa458ce71d417444517b4708d1de111668ef0825da3bc289f68e90417b47dca0bd2388d0dd2e5e6a56b96b560de89a9506ba66e581ae5999c066c623c38cf6c8e0ed9161477b64e8a13d3214698f0c08688f0cb4bb5dc8a001864745a93d2a5eb447850ded5191437b5404698f0aa1f6a800dba302e945061524ed5169d21e95d91e95da1e150774f7cc0b1a35353bbaa6a687aea939d23535b0aea921a26b6a38d082c644838c12b0f694c0ed29b180f69430a23d2536d09e1223684f8927da53e206ed29a183f69470427b4a64a13d25bed0de07babb6dc8690f6c3ed82c8121044792ae3961e9bef1f5c0f1ddd0c9d6deb60167831ab4e0885e7202136c1bb022e848b994b993d62e41c57c22e89ea71054cc579f24f184cd1a7371cea32d0104d8dac8a603d7627b71855e428da90bd26b00e92748f824496fc6ac114f1a90eedc0d81ee1d3526171b68484d09041b067a235aa970643c8b48a1866b4248a7d0bf901a4ec9876d2669f698a52239ced7cb3a3996309fd5d21c3be4df8ba4f93efd19edc7aa00fec36d7801fc3fe652f90e4ed2ecca2ffe589134ab407182ae1ddcf38b3b3bfed75619cdc9b8bcafd7cb3f926698e7ac489a55ae5313ef14e958cbab93abbdb19738c78baba53292669fd36df6d7ab96e9cb2fb51687a4f9d2231cff5c92e33cf2ca542cc79697b228d2dd9b9ba18a2766208386e43862b1cac08332d8ef45b3f5f5c2e10570fcd2c1f7694b62d61de79fc9e8106b89c217c19a24148f38e19df6d5e29cf033d9dd34db052cd09746961ed6f75ca3ec8d098f0b597821062b1f9e654aa3f3fab0a00631188118bafb5131d586b55aafad2e44ddc547179b76568ed74a18ab5a72b43db24a71924d096160a2950803906eae0618ae74bbe816dbe3c2ac9b9b0183f74f782df8486cac128d20d2178ab4b3b0090b2974b70ecd0b55da591b950a6c14e8de26d0342f08a05b4b1798e8f680111f04c5e22c9fbc074131a65cb0213fc679c6fcabdd76e0f244f7168588214471829b10dd1b94ee4d017f4465dd7d831e41a4ee2d88add6bd21e1ff5877cb408aee8dd6dddb51f7566e197b5aae284932d229f62091adfc43437e6808c90f129ff9624ff8e1e7a83f9f713967483f7926a3bf2489902b5a5ffec00a21fd29b142363fad7ecef4de59a9cf40c77f747fc8a524e00a4eba7b2ab9820acf6c052ef78f3c8b6785177cb028582133c10a3b7cb64c714477b618d1fd8558880a41e8fbf78370555b69b4e8d0dd5fad0fae3d919086e55015aa20054f970d4b1b96b80aa6fe5e362c87c28cf4ae79cbb9ddee8ddcc8eecd766fd565efff1081062440cb166cef0711ce17dd668fd1195e32052a5aa874dfd091801ce39d2e64c3124f810b8def07e6f0e1f874e8801f5a50c7054f0fdd96ee905a25f74571f68c20939e11646263152823fdcc5bb6e62d5b362c87845edd9b2b01dd1b10dd9b9326dddb0f08c822a57b9594254a7b0167abc10e79c595eede8820a304247c70aa51a5bb3918ddc172610a18b842776f4880e5e08193093c7942776f12c0820056d7042405ddcd15f9e1810a12a8218130747707a30257b4700412511ca1bb5f3aa0812e1b125859f4d0dd1b13223881d08b1a4cd1a3bb371e2ed0e4081508281145776f5abe6001286538620a3dbabbe481170c076641288a0251112022b8f644b82cdb10f784a42bb415c11dbc31d99628e96e23dd436849257cbf285c797a3338cebf19fbd39b4f4f88c28eeecee1369c9ca02b142d39c12d49f746b40d758b6279c3060a2aef095720997902523f81a8bb67609ea3d0137e784f98d12fa717a8a20a3d2c168be56240153386f0fd74c8114462b19a90856e1c476e73198ad7c6ee931f02b93817dd4d6baf093cbaf1cbc27fbde61587c23cc947c2836d918c4b9ff06936ac3f4cd0c1e20416a26e20519c3d48d3c837d28cdf43cf36c89fb46ef397bfdef86e7c398edc0e05f95767ce1caad6b11168c55a6df98727a6fed5c46af1eb85cbd79d37570bbe1cc762f6c3797fb460c9e3dfeb555a04f8ebf57221dc83049979fa78ce65b13c6708c8486743e434e23bf8933505f8b531775b5fafd78fdfe05fccda8cc971223dceb49644b802fd11155be43f1159a5f37d543724a0bd23e46e7cc5095ab19b021030c2153a3e1c1f0e1d716e48badb081b182202ffc815fe2b091f8be274ed5c31a2db595d040b94a053e9fc611d369617c425e9b2b95257581fc41fb6d10664fbb1e91441013994e0507243490782ec3bece0b704bbd74a65645d987e2bec50562ecfc12a0240f11c570de6727db8d29ff04e10539fd69090213831041d215ce9ed882d0315a89642090213ddb23e788e0dda686e65dbb8b1987840b8a2bf6a69a52cd6abc9ebe5318b5bfe7db5eee396ca9ef6e539a3e5af79b6551469c6fe7726f1bf98f64dec953a0669f847137b586738ad08b34ff39961d6f1a4cdebb24a6d9e6172560c9b988a33e39c9c8b69ce8fe92c5371de1f7f46d2d18178bd9a8c76e8e598e2f0da0ae49f88add7967f194fd12fbd8ea903f1ca98e2fb42af26b4af3e03e77bccbacd36acd359ac6b4117899de516447a207e7c8ef418b95ca2f8b4264034b134cf993a5686ff88caaab5d871cb931ca9f1842f24a33cd612cd3c7d5ad9068543d906d9a0b026b941133ac5c3cbe5ca2fc3f7a90d9a50e9944dc746778e33b03ecc6b79fd07910771a43962123fbd5f1e6086e79099a70f7ed914c246a02d123e9e45883e36876af78f2c88a9cffd2f48118503ba3b55bbf42f897118dea722f92f24237d50b6e210c864e845925ea2199e43ea17c1a2d812c24f469f905e72f4c9a12389250a43db438e7748cbe8cef17e9e4bc8f10ec13e334f1f1109ae3d9130633b84f641341b84853eb43df98742ea93f12c527b22495af785c05ada5a5b43b22984c3f943c027466691cf330fc92acd751ebdf848422025e40832c9e591ee4d87eecdc74c8fee8d4795ee2d87ae8007c58dfa18bfcb083298a21b974f1e070152831541064e6490eaae89db8eee4d47f796a37bc3d1bddd682f06557831b8b2ed746fdfa6d34dce9fb16220a53b063ef3431858a02f58867fbd52a759310652992de282410e18d8bc808a1708c1e5726570d6c7800b5ed0dd4595ce3bc91e3a74e0a0b886b79ceead00b37b7f8c8efc106d4560e00420e80effc98ff069f65e0bf3da3852c79316daf107bdd96394b4d9f344fade8468fc35b18e77fa1f5918d0873688c7e7e925f2b04e160b3696b7a7b7272c7802dfefda3cef678ae9b803623a22b5f744137867067eae657a27b9e3795e91f41fe1c73ef4f9049527a8743b8b2b85c1f484579bde54814f56eda579ae4ffbd10ef9876125765bbdcecb63f201254b10b41e0b1f975d520209dd114a5f4967a5aa65727c17a65fed8d5ca91fdd51e92e8a0ddddde5800aaa845fa9586d6df54600162b14e90c64756f2dba379aee3ef53623130327c2b0c9c4a0bab793145cdd1b4cf7f6d2bd99bab752f7d6756f5cf7b6756f6730437797610c5dba3b0cdd0d86eefe8217babb0bddcd85eee6d2dd5be86e2d747716bafb8aeec642775fa1bbadd0dd5bbabb0add6d8596ee9e427797baa5d0472f577efcea1ed28493fe62e02447dbd3d3c48d9ee109c451dd42b4970228bdf379eae4e98304054aa0e0e70bff04571a8be2eca9d5692409294c58896ba418dab1f1fd766678ce6ac96231b185ced3f6b05caea0234043487e94b87e7c6821394234e472b188c62cdd9d54cb549cf95a233b26c00200dd0868cf0411687cbf5c8eb0d085a7284e179e2e725e5a09c040ce4b739b7b562a7cbf1c473be0c539905c25b0e97696a7aaa54fef9d3c2528398b04563c12d8800454faf3201e2415be2f21c11067a55e84cd5c9223096c485072568eb784144bdc6089259648a29d955df75d3bce8afdddc1a548de12bb7296a02d01eb0e3fd3f02fe8aa74043b18010b46604477af5c2a77d6cc2b7592dc4177eba0453a8518c92fbb93a836d4f324392f517da349f4f87e580b3fa816ce9a24d71f6a89802604467477d7b2e6fa1cd6c7556244a2387b4610c915d6c7557854b9d1ddce7256c61f96aecfb67e40a69d95e46f29d22924ac3f14fe8bb0599300651b54cbe4f8f3487a70388b849367c8060d8d20924e123748a24a12ae2498f4eb75e4af573de2dfca860d9f81d42b00c516aa74400aa8ee97ae4952a36b92dce89a2400e89a24a9337477b7a0bb59d0dd4f747789090fb8a0572a1bf485f3671e8a4f63610572a058050ac35610ed691fd4ddb3f63a00040a858a093f37f19f11a150a898ee1edbe3405277a350a8980f8542c5ac7674f0ce0e066da853e91c772cfd3e0cda70678785c99c672a20701347a150311c88a27dc341046877afa0c59929f847628927e8e41c5d9f113861b59f657fbd1c0bf10f8817d234f26af2b00fbfa222a884afcbe6b122061d5368066404000000a3110020301c180c074442b98cb6879ddb0314800478be64944a1a886994c39442c610630000001000180011100c0600774cccacd5fcc8930e36e9064c11961933d92e584f36818c71b57f5450e638b8464d55a341d241286952f108941479b81a028221db78a5434390113793c95c65495a6691693f10aff5e6587ce44fa1f34d24ed9177b37e27fb8fe34f4da16f420b889c74624ca98bbb7f09463e87f74ccf232397c80b70680bae40104669d581c9c02e90200de7186ab40794d3e06e31ce970189c6d71fc54af9beeec7de6d179494fdbd53becd1dc5f2e9edf0c7201faf209603ffecf8141fe1e71ecbafec023a132b883a1eadb68a036954194179c0905edcd7c1bbd983038fd7a3ad563a39aedaf41ad0bfb33aa8fdb5b5a2b504edbb3f952bbb6a50cdda420f793994de7ae44d85c4404b9f404f1dce78c3d73e9710ed093892ce9b3a4330b5d893696ff153046de6deb367f6bd257cb86bea8617a87a00be79a035beea4e1045f798359cefeaefcdee6ae7f60192d144c218ec1e5c947f2238ca4ea3b4806bc118c12ca0afc1aef6c192b8f16d1598ef333b57019f003fa6445a4bb8aeef866e5823281f5ee795185d109d5abbfc37fbfd36d3c3cf76b9226f076f7b715034701bf9e6c3d70e64ea8020664c02d14cf387bfcb945e94618b37f3f676648043424d20faea761a9c8a68f995dba18f6699a541db49ec7511e9cf6aa76aaba5071103df152cf498a1807337c8d089def21cd7bb0690c897e19b3b2d2eba8c64b86d0e70482f4dfbd569b8cd99fb53da109b169ef7798d28da7750cc6fdb030719a7579046e5aa7cff119a679c938187a0fabe54919573291d49b94f6e6645f4be250612e52077a4120fbc7c77a9d38dbf5b109b62093fa27e20ff86d1c7a99cdab06d1da000f31181dc4a92788f1282216c0d8d23f9b97f4370524084f9bbdf1d2e2f48fa7e0859254a934036ee8aeff1801138956310886cebd7e9d14732d9a9ef73507e7d53508b68632b12d317e9c0aaea076355aa13a36c4d65d22af41711a82d7ca956f0711ae464df5a33108e467eecfb19c375f18c9361d7123c9b16808aba506d40463015d6787e8ca45cd4ad028cc55e3707c525071fb2ddbfa3505a3cd6bde16cd2d9c624b32928f73b2ea0903b3428d0553bab8ffdaea75a36d964c1fe5eb93142d64f3e772a2214cbe97af22e32365b9639556c464beee780f027c9986e5694017ac28d350498cfada13f35b7b2bfda1cbeddadc0b19457d54b86dc70ad60b27394237a652d7c152f1eb41dd3c41c7d80131c828d45389f2386676d016c67e16d1e2babe0268db3be2e1c5849b60e422c4179af17b90024bd71ca7d250ba52d7500d8fefa8e1beba6d4e187ce125960efaef48d70d6234eb7dc0e807abfb2bb91a2a0106fdd1b393603c2d1de20ecada28fddc410515dd558c610008c02977fee77f15569cb4a4201697c59f76cb4b64e3d88ab1a9ab095a652029ddd292ec1833780cecbe1fda8db21512e467a03a6aef159720303a25c1cd92f43450ae09fd676009edef58897d02c7e130cfcdb9c3afc67fb8e8591b0eadcd351787d8c45df8469df2bdc7fdde4a9b30f2d56df6a99f4f451d910650453169cf67e24b5e6403782ba6166153e3c9b41b093307db503cc79adbf56e7c90f27fa106c28a87b7ee2af37e9604702fda55701aa4cb35f5f601e9629eca3e9a16f3e8da921316e9770aefe18e756855ecbc1b4f608386cdcb7c7accee846b51389d9ecda6bbd9f09be2a19261652052938ad6dbe70ab982b97555a65a0a6c6a21e444deccf31e3683cf9c883dc38d04ec1377c7a9012f7cd0d3adcc5914d7fdede7ed56ade735fbc7db8f4b27016ee31be25f8ef64ddfad8ddca152a5d126b1e6238ccc94aae207f7e0db5c1e29f8c212e3b86915c6d07e8a33e2dc878b313c24a7e983de76b695fb863250c6586a8d174661f52d949c3598ed00f4d6e4c5302841fee1d8540ce09020375312b68cec5ff58634b36d9e8aad9e4aea4df24d6a32522be65f5e4606e996a482c23ca66ec466582dfa4d47a87aab989b84fdf81f1484f18d05b37415c7c128ea84d807e245f2bb4e4afb1e0b402079fc77a6eb412f4fc22e4fe2a2e9f296e0c486373fd82cbf9ae997b9caa3c854099515b5d976dfae89e2b5f6c56288919ec714a81585dafe6c95141eb4ba458aa62aab16cb6ab641bfb60634fba5dfe52d01fa6317974c9a2df67c1c74636adc991c27ff7f1dbb900defb1e91e413b99b701270f105ee01de88eda5bb5f32abc1353eaf823395a70f0f5988375ef826cd07224184367fbedfbb1078c4edfa865bdeed5c282d1082af9a03bc1f8d634f123cad8e53d2fd3de6ea1ac2f531c4cee247a271595b24b3116109186e279443f93f7e9f8d0dca48d814233f59284a463e2c7f10c10d40b19b69ad347630364edc7193d57704df65906bd8e8199c720bef1e2640cc537657ad2ea7241e7bb8c3aacc8c26a40f9a42a92a6ff910c0d29409c4b2b313ae37795c64dadefae0b491510709a95fe84783adc04e03681ba2b4a989e42291a0dd3ce424c0215b2e5c7ce04cf6433237fefca9a3508e5d403c6298b8fc16f8c3d6e1238c91716f959ba0ee61e239ce43ac40ab9161a6116e6448507894b40bcb9a3dc0333db7140f226333ffbfe221e86d45016a1e80bf5a44e84b36f02e7f440351e9c142a55c293d03adadbe6aae09a413ed8d86870a038cdddfe85c451bf681d13cda5422906349a39ddff6443dd756dfc364ceadbfa68da5ba6d9e0f35ff0d36504386b310852a47f83b78e4048b608832ade5580370ef07b503f6b565941b96169ad426ffffb8eee0cac310b5a0da8432cf2ffc20d2dc0e241013cfc19668a59d6e270abf57f1b2b4a1547fccecc521c3397005a1cdab8c6f0f21384bcf02fdfc38b3e5e141a6edcc4e80b4ae3481d97a1537a0d567d4e0b714f73ccca51a9428e2fb1ff935f0129eaf6c6fd61c451635f2c480099133585cc91a3602631faab0afcd9ab6b0b0e2fa7e0bad32ed2f50d74b1f21a9adec54ba1e1cc4a14cce2cf40b7e967b6cd3eb728d5afd420718bbbfa10e3999e3ed84e99d6702ef002d88b961558f27279874ac9c40a3b2647a7a14b50d46e80707f4a40a31c75d5f27ece00b31d20da57bb963984d0cb9cbbf71cc54f48f2f8152eb259b8ef7043367dddfc3104b5fe034e8eae383b93df8d985923aa4f301afe816c9b3d43889f8bd48ca111cc2965c94485cef5502f50b1defcc0624d54127159361a752d664a40bfea2259cbf704593d810ba7f1f76cf7d3a19f0f70745adb3bbd61d55001dad430dfdf4619d6201c4a2a37c339b3f0317f37fc3e533b39e3027ce649c48caec72765a207baede8557a71b5b99274bf7a2248bb7d9a008e9646c3a434a1ff4c22b4e255c21a2e1844ea681c657da7b121cfe5f622033618f2deab8f6df209dcff5e5762d5a56894375298f2afa2e756ca1ed7a15984059528c9eff173987de299fc236a3b4c5561eac44c5fe698ce0b32d978403f2f05b57175f8be8af54d9a2b43c5620a0576f9c3f9f539acb9ead25b001cff6c82e0ae18f04e6dfa410e847bd38568e9677e9a326db3f4849f61c3bd33c27b18e0df167de6b047c28729fdb1a7e2928f954eac1182c021ca1d4de0e20328fecee5e31a1d7d8237204948d16075389b48decfda3b57812cde5c8bf997c42921f76f6546534b3e0882dff09b2a318dda2c1b8243123481d2b4f9d5cf6930a134911ab2a8344367864207e61f54f4d5f838a0dee02b74fa6278978cd27404edf24c8e7a691526e1f6347de84bef66547816e3c544d419983a23e278c7853021c223e41747f9ba3a72bfe1b3ce388e45fd40b3959293768211651a19410d4960fb9b884a1fccdda71d402f916e416c3677239d2065eeb6f81b27dbad53e6b33dfdbf7e0d64b2ffefefba930530a387a4233e414b4e87f7ea7eae6b41f677ef4a3753e8d1da329a4d50eb9481416ac28aa068268a09a069e0ceb7ce2524caeca46509979d787a1034970da0abb0668877248960aa12e52db6d33081433a2858d60da8bacdd070102a719a34ce73d515e86244657e57ff813812b3c414358f461a1ff40c1228534601d9fb01c670ca0654791aaf3d3aebcc601df7f9c9de19cfd9cbb179176678d99a84f0b58a53b9b7d751c8ee24d46108a66cad36599e73fc9fd83d65fd6cf2ebd61dfd1071716a579580d5f60584330a5ef344fd2dde1006e14cdfa1252ddc7ab54c4e673382a8395e58900cd25651ba1eff85fb8614c0fbff8f46356febf0a8127835eae941e5c94919ddc8207323608af7409f365ef50d283d6a94db82a8dca951ac8381092dce35ccd519a204ce5fcbae4ecdaa6227214b8c0c8adfaeb6003298527bceaeb648747b195ff915335a3907907c041014dbeeea947f5dc1e1d3d70cc07b0327bb4f03c9db63ec51de33191811a313d87e8324c57efb8bb1c360c2c50fe022d7de3c094e92878f2e236cf98259a9e2513a84cc99517cf5f8de01477604e1e8ca6960ae907e7883be789980810fb0b866a74d97d2531e53120eaf774ff725f8016f141fb3bd62c058597d264e9984fa256fd9a9e721ab8d957f814c498ff35729f11f74b9c08889ea1edd9875a3ffb568f0027cacae687e3950b42dc2c5970cb2ae551d8bda7d4f437f1f22ce3334c48542360f2c295d0d3be66b6a3907b4b0f2fb4b8a12fd89a0343106704f47df256fdab92a18f8d9bc97f1fc3f134d35e73f56e30050c8c2dd38be4145f324599ac107ab9d32bcde5dc3fa0bc6e9a58549b9a53f9257b521086a7674701feab95f2712c408466058769fc69a07bbe681821b155a39ffa8bfe8f1b9dbe3b438647a68c2094bbe87b59f5aee87c31899cc6280e0edacc1e7ba8a3d5da6dc155edc34d9f39ca7433d6469d66dcac58876e3f4a3200fd2f12f9cb531d6bd092933cf777b9799c1ee75d8dbd0f0acdbfa8d8a2e20b5bc18924c7653cddf0705739f5f5bbf8c39cf8aa17b08f9f877dbd634e9711599de07970373cc3426dab89b1dff47572bc17ea41d41544ef0c02989b2ddc0ff38f25d16239d3805c04a4316a05327e4edff70fd14105cc5a68a1b56956257d2b5620c418e14c158006bfce3b10b49910c8823ef6824a9f04fbb4fbe3076e4aae7d25123fc4e0b792e13a73fba0a4b0ce43ea0e778e6ad975171a60d3db6c89c4198bd8249ecd2d9a1135e48a5a5cab524ecdb3c1023a51c21e45bbf7c99163022ab5b439542422c01d1a46cc42f9d5892449626cd49ae8c2314b838b7bc0f8df713b08426202955db6ac98fdad1c4732e7e030d6a73241c4a74db3542d7a424ca57e7e7655f3a54370aeb1cd1a2f9967d6a95467982150e44997aadeaea449cdaef3e518ee6dd7e6d2a202b1206145a66bc1e45de1717cc8a36f79abe97d975823d841f410497fd6be5e8d22b0491a9d743bd4301ab633bcbbd106b916dcc62b0d41bd2ec6b3c90880f2407c7178c6403a436ecce7e4567ca42dccb1e2af4c4b5315e8c688890b34612ddaf050a45552d7ea1a3c280d08609f0dabb418990b3192c06dd3fc184d69e404de58921c3a8560bb9e9dc79f042ee31319a10937a1fb5a30494340e6906c0c5c808ecb258af26649adbdbb79b331372c8514407e5a21c18000a5ce6724b1709ca70254c3ccec49b7593146c20ffdd763d06c9d4cdee22e0f49306d5e1d9b03f26cabe169a299452b09f3f758bd50abf2bf728b046c785d23a2641a4440e623624aab0389de75807ea50767f9f0d8eae133cc75f4cebf637a680317fd69cee20551367385b270ce0d51990be103d4e7b511d77c9e1f297047f3799acdcbda03436c0ae26a9107e3e4a0b968eb768a6f676adf1d3b40850886691901f844ab692d6cd20d7c086eac17026b732f1078686066a1621dd270ae8e10eb502590083b77224d198894cb83c8f0b638a23352fa347fbefd424cc09d1ad9fe8881b76b0e9cc61a7a7809648191269c4f2e01d82e914165eb038de4ef3b31c6af3b3a92b85e8364485297d4d06778a8646614c09fb97e858cdd579cd2b473685da1b486486c88dc90f99cde69e525e7065a571447d95e0fffc6cab2987ea0ed3dbc90d41d17065d06a335aeb35bb7e79d58f04790eaca9d93194773dd9e5afdc61e0e158e38927f90997861e2efa1ebc6c3033663fe0f103bdc04ba11714124a6362f2e504c1bf20bf274c67f168176d72a2ba8553430cf9a0f64f667c8dd5bb6b2fa2bc4cec87f3e8f3590cab881b52cc921b53d874c99a5000cd24e64fc1df83c11e8692049f5af3cca1638c4e63b0372e059d3764e0acee9f1e5d5fe130ce03bccb7cec81c435465791ebe5cbdbaad28f41559cedf29f84c8ce5b3072f975f93f62ca2cd86fd8c965911f05634f863bb9f07a224b2a557583dcc345d38f4b8d8b21ead28d0c8f8a642393591b95d7290b6e410dd67361a40b442203e51ee043a0d281ac3d8e0fcaeb1b76ad16618f21a18b4303e511c3f8f9e0bed62a8d51d6a0534adae4fcffe0c568f920315c498457ee357569162a4de3ff4967fe1713aa766481f6967ebcdf07dbd39e1251a9ceb773cdae0bcbbd6ccda78251a3be3eaec624560320fc421879254ef1922f247744fff2ebf45ea4c806e90edf828ea1b42f3ac2e3755399d1dfbfdcab9eb5af3fb9325833c48cab22f19b4361238ef82d9dbad54fb6285ec56ec39e42069e68c8a4e2443d304c91221a212daa5b136cdfb466e1cb5eacb7158d35867587bdf15d4a5ed8b1b6a5c0139c08a8c707e94882e7b82254e8a6363807187a6052728bcb20e89d34d7c26f398f2da0e3f2c8734d132b4d1c4916282c0fed85255f2143701b422441dc823321b6eb9c3eec5c063f39129862220598267ba790961f89fd7e331561e84672ec7ca487e2b5ff9f33e9c34e1ddd059eb5003caaf7aab70ff2a6f07983f8ede310aedc93763a80d2965a399280942fc385145c671628777c7d97e36337e2b77cbe4cd3a157e0e659a4bf0e3d29390d0388e4eba3896778504a2c6feeb585d24435681155cce7b479069a589f75a14fbc9f32466fea89fadac8ad28ded614a2381992f2d91f542aa3d4380ba17db1ec03627417004828d3b386b1be90116e39088f44aa98e821a44ae8144d60854c831bbb89c57ffde1502a355582a28f3db0902facae969a4835288da87842c760154662b6cd0edb7817ab6488177c7d4aef507dcaf8774801d0db813899d8d55f7397522261adf5b83643f33735863e37b57d4fe060aab71b0240210380f90a3a531c24da21efff938593f8e01badfa1f2a6aba5ab3907f72510759d4824799d237a4ab1fb938b1df02c15d3f3e27318e8167cde1007a8d17c15d3d38f253e4dd02be1bb4909f57d2a70c298ffdd80ce2ab38711077b248b395197f63954942e87b0cc71ce4dab17484dc48d00495125675694869601703b3d30f37d05c4ae5b15c30f0d91463bec3307ac4b99c8074bb54dfd85fd0ff56968642e51fd77ac2fb6799fb5ce38cb2e4236486ed07880c1744f874a27d81c4859ae40aa9ec5c8b359b5d24379c0ab6e14eb8bb43c1c1126c61bbb7e752b4e979586acdb8f9e15524244ecc220aa597ba53cfedded1ce72f9bacf20dc1a006291c5413517f4811ee3c73cac63847b7a35bb08f68e509064e6608276614c9fd42a89b0ba9d9c8a551ebee1fca18db0098d4c4e6c4995bb7bf94fd4e03f0cc8da7bc33b6aa1712798fad9c58551dc032f03ac59346648cbaea44b6dd0e930fb6ae3b13a9dd39f7a6080d392c672f3ba3796fb8c780de2347c38d0313b1ba02ccb9c5a678ecf6bbf2e8f6baa126332bc64346311d48f922cf3d088ca9c848786a48add9b8ef55231d7bdf42bae944e1d4f937271804492ef69a21fee059457b216bb0eba426cc7ddf91eb8c9c7e31febdf1f795b75223b70bca344f68d6c4bada13feaf408029384b9c06bf7ef98e865562e3be61f0eda2b8ece377c2f43ec79025f5272b8a5a23c57c6ce831b87d269ada75ec70dd4ceac5ee2efe4c1bf1f328ab3d2f0b762ca67e8d1708b5b73ab002bf7a7af0056c7ba6538b34a44500e9821b05d16918143ece686096cf5b873d89250aa00c4524d217df0220e48501319a069e9ea2079bdf2926b8500b608c1010610c0b42daa162bf6fc7b3b5661701a1af5899739fa25b15a09246a1e9333aa776a0e8728422fb0fc556d13050915b37ff54334a29e18c0825a1e6eca4a7bddeee30aafcfe8a491f49f685a3c88c44baa3a85fcaec2f7d4328658925d71d69532122b6aa3aed405c89876ee137a8dbfc40c61944dca9ce0cf0b24adb90e8dac81a178a04480040542eb987fdbce15741d0896142a93a657adb0e8a5c6bfb3f3a7fbe448c11defb1321a61583949e82eef40b9924aeb8182622d1d1202dc04e7012b828eafba2f4ab5062e9d00f322b74202267578c00bf8339e62aec83026784f50d13d37b25210d6d96869e85dde599336c5ad2f355d6ba7a1c66e898ca8e1374fbfa84bd05ce237670a3df051354d27f7effd57ee73ffbb12e6734d3f386aedb1001b74dcc52b5a7f101a9677882554909c3caf043dd4ddc79ef330cf102ac1e153c1acfb23fb58314cf054a21a1e0ada00d6565496b5c2677189f596ed3f291ce27d1b92d95ab77122eff6332b74b81795710fe03823f5d6953ee5306077105db64e3adffbda048892e62ecd040949e133b53850417a09873fd55ba5aa307c0a36029df2c68cf797f220da314ba02062eee77cc1b4214e59afcf85fc2c83688de82e5b14b57ea9b3bd0c1e42d8916add5d3572b67c11832855ae77ff1bdffde48f6cb2e94c43b92da0a738bf827c8ff61429042f770d4057683728b902c8be6b5923c895210a1692bc659331d05838eb04ae21c13cc4eb963b381069d73a4f5f03bb98ddad2074e8211012e4f87e2365b1ca92b9071774633561c399ece58b7460cba270328e6af2f534cf053f8a532179c48ffb0e4527a17c43671d87075ecff3d31ffc613028990608c5b6076f473bab1e622fbb30e7fd4bd8fa1e363562a5a4eea042ebe99149c6e0663b955272b61ca7230b5c4509ea7c819de04f4ecf15ea6a415966b5b8a5c8853dc5dd4246a9585d1344455d890ff6ead0a03ffff469b2cd41769a7acfe234e7a7381b6278a6f515927669a7de867dbf9cb7d8bca985c27dd23424145d38a6dcdfdaae2f77d641c82ef8e48c1a1e831f860a8cdf2f1aa8637c4ed3448ce423d814e1f4b1834e9d99888e90e89d5b74e3f1e28a44a2c713e05ae93eb771cc63e41f8d18c50cadf0c967884b1dc598db63ebb217dec713135c76b87647533f00f3349b020a0aea611382ab62410e10659a0a55b895fcfe75f244cfe9ec8221886eaf310366735b0d1a551036b12f63643827c4f83e045c381e4e2fcbd09995d6458a84f11cd6854b4f249bc315175f0a3d24334d2cfbcf7dc99a22f5ca30c935a1bb6811311b29be6c93e7c1a8b8f60f458c1ab256017de3145ebff40a282aa0668cf40fac65c4122732cf1d6ae6461841a4e3d974f45e7fa16c271af30453a7402ffad6d8ded651eb5d5833db9316d74ea50c1a9ec9692c5b9db41da15058157e15ea2e4d403f9b22b8c4f19fda1af67d7fbe5e71c5d7104926cb341576b564566840a847295b340a28457c519e3b4635882d7205b9e483e26ba7aa012ed5cb03d4d5d7b8cf2f22dbf798600a7593bce58f4f9f03c569e9640f3e6c5adce0e3494644a724bb8b54ca0b848e076f3bf45a6ffa1ff2a00a6482080abcf5b1f20ea2adce480525264d8784fa1e01fc8b5a5ba8f635ced250f9a031d09706801e081e237d6955d1286ed0011e436a0dd756412ec3dd4f7c9e08650a605c797c280bb1fb423dd4cfdf73a9dde5cd8b1de7aafcfacace26da792708581ee61836674c2472c2f28827117ec7b41f752b7355b7970b168630933c2b9af20bc27592bd60af35593fbf0595d2bbc495006ccae87f7ae6d666e2b322530a6f6355f802404f78d99a079faab4258ddb9c1cfedf0c49a0e3c76f06f7d3f65416b5de88fd76eaf7c7445e3c01be027846617c381b6ddcfd0e4c00a5732873d01553210385e33c482646882aad28b25b61cfb53f98ef97339d7432803dcfb46db7b878c71973d196c4e8be352f8ad147c0717471d8cf2492487bdff05044c898bd6d9384af148a4ec1b9b52cb24d59eb56958616dfa384f266d0988581f52f7daab673b7fe6dbee39fbef19f13df26b754bbac7e1b9c9db170e48085ee5d10b41c47f5fd245e8e64cf289b2f207fca1583cd502c960f6dfb124c8f5fb4cab9cb82f6ddefa2607b9ac80394e09a2f60746f3c03af5ce3646acc561beb389fa71e7fbedfa8b240e117e98d4309132648316f7fb86d9cacaee23a4a8410193e232335eeeabc9510761cc7cb470301406dbfc2b3866e29893c5f8efb647da05222375c1590973ab34e56fabf8a2d2da9b2f5953620a483035f25b0a04f5e53ffadb4fe4277f0544dc806c2bf185543b8041a41d31ef0cf3e94a53c58fe7863bad0fbbc1d44c1186475090dd9b3a04fbb93b3a76542f1404dd36fcb996a38e25da211f6d931c5b6825f8f2e5d3d6caa90ab7c5d2ff474c4eba4093c96d95b725233b8a6bb8e3636c3736c60551c23908e7e441650f32e40fe2c2ab67833a5046b38f4d069bd28208b49b797ba24ad751db2026198051da895974dea440dc4dd95685ce837e6533205ed14982af59c8a7d778257d58618b1c850c25c35ab8a9902f07847cbd60b7f7027e0fa55657c4e812620d463774486c730417dc07159de27beddd901e789e61e094c849bdff7e50f430db6de7f7dc91c0e9b5dcadd4a24db39ff2c362c40c296f7a4f950f9f9ed9d45e104d19fbf4b8be6e5cb7b65a7a766b70b42e700159b5ca0bc02414c299f9bceb04840a4ee3d74a63f3f83e732807c2c2992aa8023d32823101bb9dc69119e3f64a148cdf4efdbac2cce3d3877bdf6d71d79a7cf752738d709a64ceb0122b642bafe2a9897476c0b980607770d6c11a8e6a84b1138ac96d6ef485ca81ef2d3d8cd86a86585c9f4a55f17c1c4786a825624c0a4d112a74ab280147b8c2e2e821e941cd10994105348d6e7a5a13eeb35c14d59dbf509f0e554ff1617736650e6d95098155f65bb543c49128f5a505286d6e783eea9d8c1c5fd555da0638a484f15124423e4ec439d97e6ad847b20a6f6bc5ba6d234e77ce335910abf3125e4bb6b2be919bb097fa50e0ae76ebfcd07a3da0e21cc015ac4d5baeddb2b1341bd0af558c16c18e06b1751240b6f6d0b5486e36f0fb4469b01d8a7098bce41d204bb665a1bce7d1d4402b18e1c74fbebef852945eceeaf80a048527da2b16902fb350e75219e1311fe511b8d4ea4753c3ad82c13c2ed146aa4b9f90fd61470226e45ef85cce92023a0b2991ad73ec6a83420a3c2ece90ba0b30924c77e43f59820402c2227c7d260e82436966d9b083b48347405fe5886d3492295cad1607637b828e4ca9971e7201ee3a6cd6b568c9940f77996c02cc491de590763a3162bc79f08b96a53fff18e4d721cc2f366bcea8618a839b4dfc921ccb00e51008ddf0bffe8b1caf3926414fa17d9f4a4cdad9c3c5ca3dc78634d707f6abbade498665f058f2afdfd35c65aef2eb3cdab342f0af1264b5b12bbc0a23b8f34843741105a56689426c49fcbe3d70469400eddb2f00b0984f05310eda9215d3d57a62a802f8e69a7f31de9fbd4ba751e1254db4e9fa0e9d94fdfa62b38e5c7399659b1c24940db47e756eede3f87168673be5c991c7827c9b634f3a4f4e15a18c12be8665d9f1b51dfd065d4c7f72967ae150584cb025ab8633119c5ae47ac233c7aa367914ac7fee8f65589f430e95170c4ef6c1f1a8865e5dd20cec77d0f3e019cda4efa77ec9a9309aad23206f6f1a89eaff50d8cd9abc63449c481e9d65b1283bb9ba2af19315bd11181a2f788e70a4e48bcd93860293ca1b3bc130a8b5826e6b928cc60b8fd479fc69f5aecf28d704034e7341283083ccc0409d8e9e47e435c9db0c2ef335a4b182156fa134812c8b4e1cb0424d204c77e794d14c222ad03f9a2202db953b079155ffa5167b708f29699f24be9e618632e1f628e4efa674159bffefc29ee2f46c3835b2c35c6cd6b7f72c9f1e2499bf6cdc545b2d02196f1ea89410e34af6c108eb44bad4c9295311b2d595ee44944b41ad363014e2e068d21b66f673dd558f1e317a452dd5cd8dd13e3571a4dff047cd668612e86a264c2ae2c1afe6d59d8cac1a56c25c0dba1ec707ca250de4e4ec37eb0cc3a0b34eab361d4e7946d14dd59064ec19e40d64ce81d0c7fe663285a3b29ae07b11c4763a18ae3d4a77a4508ccb8c474c0a87165896a7e94ca676fb0b319dd417c93fe22fccffbb0ef48bd1c86bcd68658453a01bd365833fe768da30d91e215e66f29a42b2a2601710d65a4dabbe0da5ebff78268dac00be36cdaa30918b221893400547cc90717fe084122f4602eb02dc9394a3433c17c929075468f3be6925e67f417f4b899f5fcbfc5b0d8ec350f0d76ac18eec213aa0b365c9c130ca4ef9366d99418774e08f339fa8970b0d4b625ecbf77c9b7e4d1943a410aeda3b545e8ac765cdaad89f5efd5a717719ce7c57cf2fb52a53be7f488975371d2e46d8038be59e25e4974ee730073d40b85f43d2decbeda0818b4d98a0a790f2c957b59a1921272f29e9f35524af21672ced85870d8dd17d4b40583d34e8a8c2c38175329f58fd3227d930275ab84542f35d77022f9dc33dcf4bd2a7a8de7c7083a2bb8bfd6fde9ec4f94a5ee7c344a8f1de5564a53e3b1ab141065ec0a77906075cf190320f5c1d2ad2d0d4689b7014b7653a1cba66dbddbcb475a37291ad14389cba6f8e3543226b7127d256c51c17f1b28c826a2e08d4cceb82e0c36a07bfa709e2d6de8315af5d632f04e875a470bc59f2e69b8f05079db91286dca3a0905688f58964ecee3c52ffbfae9bbbf1c92889db634b56181b64be5073d43c6859ec5563fbe07a8c03eb3db267f5a3316b13615c18b1f957c770bbd0797e8b812421417af31e68f0215fdf709c1b27036b0b540f4aa48e7fe5080a577b1b47b1f5bfd66f06e12117270cd82768b41a596647de92d53441a7bb444658625817b779b40f91784669c9e82772789121ef5e9cd47c56a1d188ec24d7a0908baaff25501823f72e51981c93a5fbfb460bb736f990af4fcac39d6e264693ac04b31c2b7f4381b971d8a718f2f037de5f806b80be8a159f26b2cbe8abb7ce7e8b8b9976fdc108d110fce859ea77e0f93f0bf88eebbc0a17a38e865d36b038a824ea8932825321bf49200d622f4ff461a35779cbb224acf2df12ef4c44e2c0990c4980776bc6281f418d31ba88127d5544c97391dbbb5f75c014236c4dd7ce5a6ade554a38620a55809566417f74401e012863d769f2eb4679c2d0439210e2923c8837a5a1c3ef07377f1e5ec1d890dd812983cea79e0f1291730ecbf7d121ce4b6b1ec36295040cc79a5b69beea226d1f01d9ef233dc9a29f359f171bca178ca70100bb3a7901e0872be02c320dfec7f8cc2b23b18a425f1db2394e7db3e44a0a3b8b3801ea3ed51a9c8108a557108e323c62596526ff942277645c0ee483c7186234948689629931cfac9c9799796931f96a25760ac760203c9e697848f02bc3dfcfdd83dda7157e002169e9a4d2efa47bc2270529a59d63e5b74e05d18716be6f0c7a5cd0ea864f0abee30e5f790d7697972da4cdc5062c0f00680261dcb268b320bb567ece0618d92961feef618684e61d491b79d1e261e12ba5568f3a6876a6a15f1ae1f487eafc4a390ddc4d208d62089f4d9b161aa9aa89c7c13965df88ea125ceb7a2dca94fb807a74d18b8322ba884b274a809491323296ecb4fc3f3fe623a858a61a4f8c8e1cf9ed43bd5ec935b90993b8e4af5ac6992293a7550535993b99d15af78e4cfa5dd5bf902ee8dc606d5057339bd55069b59a60958b7991af9ad40ba728865c8a815e5e37fb541bafcd604b838e6d6e8395f1437b094241313a5a1502af9ebc10078920ecb4bc61bd07c53e09c22d1fd644afd94c7f70e3aa0122cee54edf552726f2463a6231950591f93cef2fecba7ae8ef599164d5bdbf47afc4674d272c7093ef1b26b2f02ea7cac1e5b77a5838e4ebb698931db644cc1b707a17aad0dd7eff0b04f8dcba7e8fc16adb632f9ff515414414207ba689e46a6c59fcc7bc1900190efa9349ae84e2175fc1e706270c61a347b4851ed6b9bb7be4a065df9a5a64850e4a2b01c7903244606514a2d7a76a71382daa31a300018028a7e2432c1dcb7eaf99b9f0757fc751d5342229d22ca13d7f3e98b90b4ae7b0f2ef827f4648c86b3a2f9a4c8d580abf94cb6a11921c11810a473840cf3dbbd6edb1f0bcd01787f72b74ef1da5d33dfb6d77fd60a96379c576bb5fc8ac12bf6d91a730b04fa7a3c67f07f53846c66db812eb15a5e9ebe734ce4323f93b3c4d6033c32e036fbf96cac7219a447c597da7e5056bd17e38aac3e09bfcfaab28af42ec51b3fd7a01730ef45b579342c2c7cbcf1e81c1dc4cb125c3de31cd9cfc84e0254c4033465bea1c85578552c38c68baf0ec4555cd77c5415bab9e9add36cd475458db14f30e6311c08600300bc111cdea3486e765018faa2e05d2acaff150170852464bc0ae890f42fce04699b03a52c6f1bdce61f9f9922c1fb0110676115b8c7a34df38e151969f1667f9e960418d139f1ae1764a21faced40318acad78d32c85df24c10d3456230020dec969b37cd25203630d471f885050431e7f7d8752ef645ef270cc041032207e3598863b9d2a751773de169a2d2c2460253fdd5c070a22d1babebaef21eb6bd33ba141f33453c0ac5312256f5a5abc613a126d90db2c9d72b1c18a03348be3e1567eb59acd2d9edc9365fee4429170981942e33c4195829786257e76d2c2b6b93e0304d9714131396a8c6462f1495486cc41c0c21e4ad9f5b395d533fa9efa3e86c157e26baa9af29d701d7d354c5476b37dc0059d5345a81757bb7eb651f58624cc07829449d8af52c29df74648976d7f25134c9e510133d53c02397b98bf46782d8ea4aef5152e6c07c173775124c34a03eed9fefc9635a074135c2dd0b5791cf7947b234de65dc966c106339923a82e0c74d71fd01798775c5e3e1de8a6c2390b9fb6e0b6c61fd3c3c561d96805e8ef7be17f61e8344048d476f0f488b234290c85c800b0412a6c3bb5e00206cad09ec4e65352cf1ba1607c1c68959f14fd68b0bf33709677d6e8310cee05258b500cd310cd93bef70dcc4ceb972b20ef8ddbdfb12d16fca36aa5f23ebc527973f9ae7151363905250e306a8aa74a4274b1b3af9d20f3d8d9a33c71912fb1a3ee42d3bd9fbe281067fa127e4eb100a94183229a143e7714027344a2ad3532da74e135928fe3e21ef72e71ba5b52e91c60964e8d8de690292867257a7a2fe6f265bfe6f0f318945800ad39f1a976fd5b8e9ea6c143d4de447dac69cacfc100e78d323a4555b912bd0966bbc1e043c810ce87cecde94c7eb25ce02c5a8a5d36e7fc5dc401dead4afa74d588f1f41bb1dd46c648def72fa232283375edf734e12d05f8d27cc804c50ae7ad09d1867f28970627cb8b39a1dd26d98cde86c0492b6596eb3eb060c215dd5b463973affcf157eb50d1d7b51eb833014a56b45d0ecc8921b0153d9a7d14f07b41a33b0aeb82d2f3e1463db18e43c704796efedd215aec62539b3479a8aeada07413b00d0ae1e4c2223591fb6296404d969daa95c26dd195a5c4a2eccb0e09f984b648183fe32c3341d3c6d696b38befd5c2266b86ec7e8bc0b56df6d2e40a96626f36d84dc0f89e7b89e3a81f4876730f6c8f3c2a6190c344f007d99b7cf72bba443bc77ea4c8be0e5838b58c26e3588f07d649747d35152673f56982c05fc115e7266abe95e8a94f9ad730ff0d1295a8263eb250fdb4292be4cd0f68b980f571dc3a44f7586d730241686f6c66dbb99b2eafa8f486e2861bf5710f3755f1496c183ddf90d705a12d16d29b1a29dac1df3af3e9599eb97a103513c138e6c4bafdb4b9a648ebe9bda0bafc723f9789e0a5ab4938db2e8dedfe7618b1dbeb95510ac682871ad0b3850afa276ba043fcbc6c3d75a5f69161b758edd767508375f68afc146be5ee4580dc26271090b2fed3741147e4e73d1cbfd0ddb2bfb5180759f5c52fde060dfb697cdf7548993b9b73236ce43c17c9b1544276142bfd0a4e71b7e803df5c0389670e657ae52b4f76a594c8157bb76a1010872d8aff2994b5e5ca87c22c2090b86b956b411b13ba7c2222a0e26eb2109d1c59b8d2910cdd158c5e90ea53a1682f43cc5b4fea403ad29f6542bbfbe951b6672007f4a4396e8fde91d275207e48874628e4e1805be8ea70275715c616bda87a8b64ae7fef5aa27e3872d37bc8293bc948aaf4e7cd61b55932ae5e4a0f2a69250b81c4a6bfe3ebb5a8b6d3014e13aada25d8af2a689b46e185cc45d288a1e1f0630b0fa65f0d024c6f79704e02c78113be7b48ec73fc1045f10538965782e979806f05df0f56d02a147e3aa1f0a2abee12cd1211c0c1713fab4c1cd0e270310377703afd9b58b73da681adbb747fe31d9bc5b346043a8e0c75bbb8588f5237460fc242f4a0a19d63989a77999898f22efd6707f0315f2fc7eb66b4c7c8045e844d8fc0959e500df33ed21f550cf8b258014a06dc42622f29f1ff8172e6ae0d5f10f002c76686a099797ba19c78f544a522f434f9ca4aa55aa8fa483d345bd46b45ae4ef6b32072959ce30caaedb44e5b0f2905d30888c86aaa011d1142a108f9345218af5803498285d599339376705555fc62b2e6ce52d9e4ab4f6fc4b36be1374612af442c333eb96425b97dc7d24eeae44682c1902bd22851a8fdb761200ef002be84046911990d8dea72ac83e32bee47900b722d6f594d1337f622f91d97bfb180e845952c7da8fc20004c1821dab0883940e3d8c1b40336652d9eac992d99d5b2475a647a1fc1f7e0d62d9df0f971bb41fae2d27bc8f33bfdfe1c6ce6675ebe2407a3a5613417e4f9ad87eac081ab6a32f1df4356c7d27492a1417a85369090d71dc832e4607123a04fea91828bf89f74cf8894eece2afe8df2bfa16d176411a9ede961ddca14d6f230895942f0ddf014c4d031f313ff7c26f49be1e6f97301c817db9f8dedc92919cd24a6b39fc821f26c77211a56069af89f31842e0bfa77cf88e1514eeb1da1b37d8de6cfc7d06ceaa7e95721bf2be8b75a693f0a3d3ea00bfccbcda824dcb8a12b570d560133e0abddb40d152d31a353425029480fb79d33c8a54f89acde063d9b82e71d732e60a9b4e42beefbace3cfaa71559bf21850df4cb13f6c3700bdfce4c34faef1beea0afd65a5c0139b7c0aeae4b847e11da74e697528afab3ec336a2272b7bfab71a87f4c52354feae5915fdbb00d79976fd3ec2a744d2c61bce750c7709c8ded5ea374fc2001aef3aaf55577dab9bb6bb9e19c5471436fc4817f9029af2cd26ec22ae15bb891d0e8f4499db01c6dc5d2e2950bcb6f2c78604b0fa31b4a64f0003a70a96042e9f9712ad9b3c1fccc92873123895477222c10e0ea7fe18dde113796ae4fa0d70c630f14c761f0335f36689c2214e3b8ee4c13a9d9615cd5ce5ce8ab06d9e32a4610601c01c1881d795756237be0a43b9b6f6ef1cc141d20a20bc642d28b572d41e910d4cfcec539e776ceb2da24da4661f4b015750110c16ecd4dfc6905324c0cb8142b76e21cb6e8de032fd63a2cee040cdd90677d719a7e2bae6a8ada7805b0a735779d324e4c57cbf0a8c47301c008c0b024b4da2e907c3601b3da7f9fffa982a1e9a16cef505e75fbb717d65602f9c0d61ae841982c2583b8c768465c60ab2aca2973ecc5504aa692d525c5a130e11c10c8535ebaee07d01487fecda54d41a30edbc690f44fcd8b3337acb008c1d9cb1802cdd6667f219373da909531d5a51826eab84ffc2d5fc55d3240b178e65823eb7f59aa4de0d625f7d5c876d32fdf379d26171e1167c04fd3e6d29e0d343b83c182cc3c9acd87ef84c00706eaaeaef1302b52ca6d3528ef5ffc7f74940596782dce5cf2253948885cae6e780c6e6d8a5b5a311759b574a7287eef8b6e04884731ad6df7d769dcf05b8de9daf8368306a89a3232f011828a29aedf2c12cc07de6a3ad65670df8feb5efc597415fd6b71525b0b1983e54e674e3c8aa6249aa1c2c95381749e38dcf2be9c08dae16eab5cc79cdb7bf0c9e4d58627492778aaf275d40e147c2f0f3c03b927fc10c2e7ec67516da5ec30969212505b95338c7123ac5689b4093fd8b9913e7813321ec6f8c8e37163759fbd66ccf1d5b07f93020b40c82de46d3413efc07686cb688f868d07d3a15f66bbd3246096354490a830f8cc63c04ecde69746c5857ff08228404545d2f164a1d77f8e63150cccf191aa5e62349f16d65a3dd88c1f11b41e2ae26836be0dd5ec6cb1c924aac194c2bc05b09dc56a85671d08b510fc94f6c68e9888ddf47fdf7fb03ad51f97a9cf1581f051fef3d74ac2df30292d5baa6cfe6d7cbc4d02865b39d514487880d3808721e07f0ef393fc86f94f841467a7ca13ab86cd7ab667ed5fb83a9134a1812cb7e7baa71be63dcd22aa331ef441f1b377cc10d26871a0d79f87bf4f5db7a14b7212c7aab060a78779c71b0a24de9b801babf299eded96a59b2f359e20657d374fb78b6953ededb3f30bb950cf64f4a6ecc281b6deec6d3bdb99dffe7dfb3e67da05278c7d7e18be0c114f002567b6921db7aa1324064f169c2c610e6e6e40c4008ce463547a9cfead3ef66779cb92702268efba768e4031c02484cd05532325206208ee55421077cfe158aee1fe0c66b81c0dbd4eed7e9f384d7faba914a367c45a0f76d92f6013ad81ea43d81892709feeab9ac7caa4aa2dffeb632614772afb30dccc2f20fa78e3f20a18b2e1a26da13981c63ee1df53b7bd61b882cf3ebd19a6515b2d70c0b617ea4784a2b9e4668a859405e62e7c87a06f23d8f266a2ba322117774a01a76eeff5c0189b92fceb22ab30a0500a58a170d3884dd7c85927e2cc455ea19293428a1cb203fd8fa365535f197936b48b8cc2418650da877c3f45834f491940a1a0cd507f1b04a29005891c169c87377b1cb39c47fe0829d411411e94983f1cb33e96e5e8062c43547eecba3caaf05c879f5a2b94e5a90f8c70845b6e2c4aa7c8c131a8e5f1a5e758eafaecbfa258c27f680a7009d57a8e8c1982f5078218c497044e74bf074376144c3b74e101b0755356c8292cd8d5b5454745dd57cf51d16ec8ee81ab980aec1d9fcfed934fad62137986ffbef528c79ce3109b6f8bac84f4951accf87b228ab19d0f2c0d4956025a5e2a36b1bfa60c15247a276804289f9ace4d8b8950bc43fe2f210185f0b3d0fbb47ab41d4245a0315446b3afacca1acd2c5614158a896abe537416b6e12381efd65c1d860c1f1c4712759ee9187a2fe32f604e46a9f5f9f63fed93ada397641f853790d0c834e9c638832227e32c7b444a316a5ed89285f444228e450ca9f4f3a4408dede99dd373f83c9a7be00fafb7d288298dfbdd625e181f3e23da9e5297d3e5a4d1489ba0b1461044fff9d0f01e50520adf373b9ee4c872ce5e5b8a04c1ed98f5890edbf5824fed6306199e5becd8117711acd6e5b3ab4b9f5edf541886544cc9b7c29142a4dc5c65c403102e5c3d16b70578b94d365b60a2a32c39d12d8bc63cf0a5c0e7c674ef2da8614b77c85fb9700541a81d03ef52bff072ad83a03c01c51f24fd8f02b38421da9b189e6b8ff872c142a0d036abb97a29fb1915dc4723ef5b956d68a151d6382878bde78ede3ec1914cf71a7aee863895994eade7e0490a66c163d0abe1ca0cd11c4e4972f5c5d151445b1c619a6b46a73f4f2be0631135505994ee7af3807e040668f6da87c3722f7b5c41b32daf4ef0206a29379193cd308f0b19e4634faf51b3293d70180ea5c522aa2c3b0200b37143a253257d8f843f531fb485dac29124e1ee89b7528c76819a8b413016dd7481432ee44bcf27e1592d00c58a35304848c59689c9812061592a3b380557f80550f25c2f9e44894a1a49421abbc7b9f00aec90ac6a0986309632459e61741297faf43889704613be1c8d19f3f3c0bf80ab3bc3238f104c38d82ef7f1241751dd2ac424a72640ea0114b0506f60165cd7ebf78a26a43eee24c5af1e56f2b4f81aa94ce498fe29f83ed1f24fe63143da867fe48dffc068a6dfad3ebdd7b1f7f321b65552ca68b778ad4495e3beb0cf52e80c53ce19e6b9dcbce98d704c6a970fce89dfe052b76ebfdb9a32f8b225f678abb241ec992b5f3c6a9cf96324f07a65d84b783e31e7d7e1104fb488ff6d557de24fab2fb09f75c7640e966210b6ee7b7d3a051d899a14d9e72757af151dcf4fb8febdb66eff1bb0faf001b8838f0081ec1ac80fb9f26b5706cfeb8fcf89c9a00d5851e7a3509807f56329a857fa0fe0613fc87a31fd12ecc64e50da6568eacbd897a6f0fb276b013ebcc32f95100efc617bfb184f1b74e61fd0fa7ff23c9cb9e854ceb76ba46965b991b63af30570b2af154a488e5400c78d7cbbb98ed27334bc4c689aedffa22868687190151e6c3cb777c1763fa6a80158fedbbe131bc3257d94b04d806a828a617dd276faa4b207a7859726bab9439a0227c821c22793ccc6a2893af5be119e6f7dd4d09833b36af839daee2471482627d9df39bb3efec9d5d90648834b700f0dc86355f1ae27b54d969c939fa024de9c66f2c78759a0148a4d2949b3bf92c8d2755e3d16ce7dcd25b1cf86365d8ca8b8704f2ca8ef4bbd15a037090012baa2e88e1b83107fb83d550f494ab2f86a4182f48377d4f1cfeb76eb250d015d1ee4267373a85b6fad43270d2565bfd6bbc10695c489634a179dee13f75aae43fe1fc8f1c717a4737f6ba4afc39dd3fe11acb51e383b136581bb1044b3ac3a1db39621ee16d1114bc0602d3d58ef73bcca5fa33c17ec40434bcca1b0b486cc76eba7668fd8743e64e9df90f8baa887fd1b632bf40cb5bb18020f16f9246f80abf992354475697f87a34c3bcd48716b798dc0dab04077a88c1330fe22fbf15d5aa4de046f756fd8bc7013b413b0887bcaf6d722588ab20f9f4087f48768aa92995373913e49c13972a7659b00487b057df9d63d9453a48816f8699522f6fd4ab3c95f88760610267b3d4c2e1b9a166bbb25876091e8daa90a28158e4f727a19145201d621cfba5c2bf79b15911adf053c91512b1767823a3523412cb3968967a63b281b7f9f7d535c6797515c12a3212b62df0c2de6bb0189242243e5e71027812484d7b47b0d8ab65b73c785b3974beae4f7cc1018f7b4b8fabdb1ce0e06a70827571766eda4c29fa78b65aa1e0508b6d6029dff4da10bf72a0c2df2ae6fae516e1c1a05f4647a96fdf274f255ae6bb77554e890ac14eace7c0da2f4cac61e302ab8041faa0273dd02f1d2936db74a5d4892e1bac91256a3910797d03b10598b9486892bfec68fc961962f7422d95edbac83e3231b5b65deeed08c6fafd5fa7759227e2511c30c9258aa9824217ab11d96c1c38ddc83bce1753569e4a0df5804bc62db8625318e18097ada77bb2a85a0253381928699ff20bc43c90e59b3047b4cb729611b3e3243f5f20cc25a4060a417b742195f7fd054b3438b2b9fd72409168e8f272e9b656291f8d3a1426f6d1c0aa4410199f62e70beede8588eb2f107793696606a7f9e83372a539a9c0e816c0a32a356e35d3ef07d76fe5f74895558f54cc99a19cf88cefb68d4ba40446444d83b77e1a9501f259d34fe8f45984af82baa0b7a89703f46820757050d516f2d985f2ef103f60cefd325998302b782a96414e68771792b1b36d87bda9cbf5aeb75085b869630150d73d7a9523462c0fe8611a1c129e392707b1a638c9360778d3faf5b40c7c597da584ae0dd6e4b6f38cb7c2fa1e95300fd1e5bb86b0a93c31a8d5e7039d634b2fd4a5be09a4c56a192cbb08119082b066debe7dfbdf207560167cc4f364d471c13582f355748ede679b5dfc28507b7d2a587b6e7626869a8fa70eb595ca586e983eded2680d9a4e7a70a526d54eb38bcd2f3002baca6433f95efe2cf581b3610c2440b3d5eed8493c0f4f0cbd0710b00749063c4e4bc0df6991f976dff4a5dc529b91b3b6c2b325181551bbf0b6ff826941f4ab354ef581003b2a28101fa69822e14aed4df5e90866a846942d49a43d8bb824a5d70cc57aab10ed118b7a018f9de8f40652270e9044327ac5f98ed08addf17d0cf1c5bfe22fbbe066ecc56777166bca285507aa2aa7307996c0f70596a9a439c5585eaed46246d4e1bae61a217c785233f8ec52c69e610e84f6171a01f83fb03d89c6b4cc53b3f78d0607f616600ca1a59f53a32801bef6be2ce187c1e773793b19d40af5f9837dee0137c63520dc5c1b6be791aa1e9e603bac7b4700b33006707445c9779e557b1fe42eda19b7381511d1fe4116d3cc8df94b464cfb030767436e375cef1933dbff062cfe09c81bf3692aee06721a94dad4b6e6b3f87943f32dffabe430d02f967c9c84e1dfbc2224fe2b99e61be066a7588ab9707dbfdbe37651135bd7b1ca458131024955199e72b7a1c28b217f61dba11559f65439b19221c2d74613f70c8e36232a2163d8babe91bd56abb60976736add042886c1030f7fdee016dcf9522c0e47193b180335f4b165db17f43a86bcf62f1503aba878d546675eb8d634a8e53910617a5442b08803745dd490d1a9970c2ce65d6a8e91572c22c81fea7b35caceceddec9b29b8f96defd6c0224f02de63c428a4e4425981c3c06030516cb3915c5b523637afd306e0b1274841b17d5418f1d890bc2bd414694ca40c683e34cb88144568f303f67eb8bc2738b275b4f76198809e009955c80ec61ea75d022539d315af0285852fee2b1dc826f3c9e237c62405f58720185de4c1ceb2f13d955d9d01631929a261f2dd15e7ba98f8cf0455c76772e6755197af0baedfa179d702984a4aed435babcd0df522f59966d23b53de5628d4e5d93371fafa5483d19f3012b7965842a6931f16e7e9562077a3a4645ccc11357c684f55d18687a9c61153fa05c29bb3922096a721e2e3398c4d69031dbc5f11752057bceaf3caee6b650217a3a741840a4cc9ba62211e85f85de438c512772689e7f0a665bb085f23e2aa1e91818c4c43031b1165bee6141223d2345e7394ae881c4265592dd31226adeb61cf861f29d6bcd982d898ba34b0db8744aab5dbbb12c8565d1930689f9adc3dd65299492401a1dbd9755cd7464845d1dadaaabb8360259df1b2e65b4a910726a4722583cfa4ddf459f534051eee4961a3e13c421e271d75b63ba027e480d4604037275071e68f7eed534de01d5ff7839509db9ee0b0216c2fd0c0e181fa6ceb1e4249b786fde6f1f8359b69d17ce40a4cb3998d0d15c8fa07488b152b2a704cbc36aece5b27db4672a08bb9e57e0d1fa7ced4b33a9358a67ff7510353929ddbdc9d7860df34159f12b1f70c31d23b2f0924475de0cc96742ff5e58768c6d316d907060a751fdf6d5337113b10c8ed4bec3d6c41e4d09d18ba2d53ddc9d37afd9d115def2fa49b47355a5d82cffcad4a388a1e0dd286855f71455c81b38a1abbb59b77c00d82b93014ed5984e7ac4e0608ad71ebb631f3cca90a4f8e54bd28b162accfdac17504515703250d1c029b2fb8d19c9870394ea80294b16c4f5bccdab9d7c3ed314a37a500bdd8819d4b2df5395131bca7f97763f3ecff62b3dbe0911ff6806f1cff8ddfe7fc160e08ebde4ac2ab94431d87a876c5bcf41df40422bdfbe897c21c60523bce1ccdf61398c7014227f6e57be9f93aa82eff96cf362cefe641ad263b9a01a54d3743b10ee83b7b9caef6cff5b45983e58c5d4cb0897c65ae376bb637592587a55f799d9d930cab16f87372d682b6f75edb61267d289e9ae53f9a60d3cb70e9c99590087f2a184418634fbbbf5cdf4647e7d1cbd493b6c2ffd35f99e309f5aa8e68fed78b00cf4c74632e4c4a490b6356dd77356c225793190ac5d8700553b097db3dfe8ca76eb9b00e4430960f14f81b61d7c2cf954664c4ae042f7995082fa3cc011eed2e49877028421bbe325d093e28577614ea9962acc57453bc2b6068c505f310e1ad32ed04495abdb592d2b6a78ac97c0dfe580796a541c057c987ee64b14268fe8153931ea8ce477b98e63302a113c1665db79cf97ba30e82bf4ce982d8f9066fcf8b13079f287ea2e8abbf0e717e20290a843663848901acae280742556421163ef492e659f283ab5774bce1e48212ab194ab60c5955e0aff20a298a6c580dbb60ae47281b93b57768a19b8cb17b33509057015fb5eb6159a88a8c1193509fcd44426938d7b3c8e140c977fcc159add73404da3822d8beee154b04746cd03187fc5548ba764b5537295c7f9bb6bdb5405cf665199f932a7413b3d042242add63b9eb8cac45862a44da5c10c0be5f0920e2d1e5d58b7634e7117aa50c3fef557aef739ce835dd6f548df145e4167e1c04e9c41964bd74f69a08d90d223a6443353b41b3ca77a78ccc54b0870ddb4c570585e0bb3c91fd39546531bcebc3d06bc052e97e395768fbbd1a918d68596f0057ee2ebad736c1556a7c4d8419e7e1b702bc8bec00f203e0a165273c2efc1792a32c17067ebed699652d7960a605838ddb5ea2a67ead5c2d1ca8df24fdbf3dbc58e15dfbb8c50e15ada615c83ae95126b641480347212146058e1ddb779f9a41b6d8eb6c110eed013537aca57a41df7e0145635c54c8d1e24aae98ed4746bb1ea9f6039471975edbd627f9b0e1089830d4c451021317c8d6bb0211fd045b56b0933bba0f10d74c716b53ec0e930cc780fb1a18c7e4e6f73e59232d9c09f0a27f337433c753f4eb4ea04f83c7acb40f35f1503b5bb042606c945c0ba01079aa8439d45de3f2d66502fe131aeabf47c89ef5999558a86a1d9811617c03d9f54925d3132fd9bae800f3dff0b04d7bcc8a16228a45fb1b36b083aa8bad84c4d2472d61851af5feee6f4c108e1ea85a9b0fd1598fc84e670cfa01676f6aa8c50429c3c595b2025c2bb225cad52a5a71b9faf5642cc201d109b2398543693710fe48143f5ccbb19e1e876af8cee855dd5c1b8dad095db96ec82aa95062f5f5ca0e2f6313445738ecef43bd22829e5f5ffa820f3f074e59802da0073e939c096a7723d706d6dbb869f6deb7e8641c092f3ad82c732c21fcb864b01fae5010dfa462d65fd45b5bf86237c93fc13c1f62e030e2063b418156f224e4502814f36eabcc95079567acd62c14fbc4a6549433d31da619cf665d70158af97342c769e760428691106e13d96a68efc439a5bb6cbcb342ce95bc8b172383b1e5dd5006cd5e8a79295117e195a4491116ba25a294f72e5a92bad7faa84bb26079de6081370b487bda798337f0d1f8e1eaa30b99933cdcde3e8d9b8af2c1c14f633396efc8d1dc022468dfff8f58ba4d57ce5c10863019d9305c3e7216b4470ae441f0e231117016c9b05e489b7aa36b580cc9769bef3aec165f442fcfdfc17ddb5db2478644ec32af60dbf9f7fd43d7bf2e3c58658995c073a1b8bb9bf20aa5dd4f353508742b236d2a0543afd84460ece6b5c48075f3a1d1115b439835584aa4e47a5faaccbbf5708bed3dcf180ab345905a1f783eb6bb0d8b76c1545d9d546e592f8aefdd777d1ca48aad52e0538e1e36c381ad29dd8794c50f67bd971133b70e9ae182c96ba872307b976081725549381ce0819d8ed4f48273fe19fbb4452b54d478d68edc18fd897827d4d1260580bf7ab5f94db6cf99c3dec0a4fe03a46e1806bc7b52dcbf7153abc0f28e5fd73820fdaa702f6d16b3d5857503d4ec80acd5a5ff6dbd2159255e19e4dd2c1c4a2c96bbc74c4a85eb01835b6662a59ca7f95b31ae4f4fa3ba824e6fa8e9e2d430260a175dfdd0d56d6fdcc0ae74a1cda8728233344c55bf2974f3bb4ce6e39256bb210cf16591b491457c5c2875a19ddc152b399d0a72db65c36f5b85e1f790caf5a0279540be694c2c9c5247a369a3f59660bbbe4d5970c41e499c313f8fae0ff63d09bbe398d2cdd377ccbe85c6384c33be443ce16f24f0507045438676cf3377815bdf3217c2e756dee065ed17ed8d4dd7f5cb5440fab90464ed041e2b726a1abb7da4f8bbf1d63ed5a46d3c24e1993722afeef9565c3b8ddd72dc50e51066b16b9212510070b5231c2d5547a2dcf0489770e1827fc445890e9db183c9d64d1149da73e7336afa7c62219fc8a8bd725c8d012ed342463459288fdb8bac990209d645c5398298e1fe1bbbf967c57c6bcd4b01c2959e4bfabdc848baeb44b6802698174f3d77adb1fb8c664de9862eceff83d0aa309b904ff87260d5dfb417dbda26d9112010ee08d28e58f1501198806bd04bccdc95f13a92b84ac6b7e7f25ceb2a24cd6e6a042294db4b6176374a67d4649ceae70cc8e58c82d24cec333100df3ca8b944bf12c2c75d93fff926862f1d91a705125e531017bc5fceede7fd5869412ac0ceccf863459143633d05c236aca272fa9a42575d2a13551522c352bbea17951e173af5d201e4e419b752113ad171b82e034e4cce9ee985a4de8528e44084efd4a27d091b318f21e405cc7bd2ee56f9ffb9a9a2f35198f8700005f65adde66ee024bfebeae6b47300c4d915654a3b9c286b6c0b01b887c3120375d7251e59e673c09f334f677bc567ea524ca2fa24267b1df46ddda876463db0104f1701ce497f4d1cbab7d2fe044c6b15331ad509803c5b42575ec437d6519dcaa2642455e5a904bd02cc2f5fe1e5bb2da80a4c1bb90871540548b57220b56c01b93a1b96dbb39a834332fe456e4879998eaf14c895ee5318f982f4ee9921fa788334127174f2c884437a6fa4bc1437003a99c0590a59314faa0df7fd956bcd48c66d0710b0d07f1a11f43f714ff181661a48306b945a33c075c3d8a81033acc944141ede73b7c2b844067cb165026a5ecbfddfdd8e9aebddfc8aa1350b5a35b643f1b39f894f009b6fb3a8ae1f7b805f85838a88ac01b6b179459a545a0cc96fd0558b369cacb2f669b6ce2dc56901e79e92db6c42015aed3a8be0dcedf18152644c9503f5635baf7096360114a0040f673807473aa0935e6d646ee893d1b5267e638e038a2d0a96a35c071effb301677b50a8c62ad75de3970c1c9de93e32f5e7c898aa092c8027c10b145600143a27cc1589f591b52b1c7eca9f6d14e5b4400b0389ced03efb831105a257da4783bacf004900bdeeb040ffba44c09ec000926e03684346faac29db48bf124fdc883652238c40a9845d969b251efe76c43b88216bdba3ec8001f21fa1cc860f0129f7cd888b609fba133314cfecdf9a1f0671183bc29ee02741b1d8229436b3b8003aaad543879fe5ced4c073e5a26024085cc43176a087b7ea2d23fd0a30ac38e74ed8a3ca942eb9c87b03cf09ef3abdcb0a7021ed176b76ccac0469e4be7c71caf51848275a3633ea97ceeb1252f528a9030c2b2a7bb7b84c0c7e771710856c163c647ae9503511d892fe80a0f865dd635f959d9091fce1a245834b02fb26fec8508e85f870e93e68d4260981ce90ebe4c6bf0e1b66a1040d33480a3cc82bb96c4bc9b60603195e711c0874b84ad2bf15da7317985888813c71c1afd0657f790bc201c151251164712e728a92aa1e01e2a520c128dabed720efc45aac179d04bcc2e84d8447b815f46a6e7cb2cd12008023735678fe5951e9b2b703a964f7c5f834debeed0d1f08f79ea3294178406edccfa0376bc0f724e14db23bf0c44c5c508d9670453f0289b943be770ab208d0b19973b6aac05b9da77b531cb2bff5d95534f00f6621b2b410acf5d193a8451c225cccef496d4167061173c12419a22adc4fd828bae8b4a1826f504ae40181bed7953a2ca8c373cd570d3c859d59e09634ebf3ac91bc10acea1062590523b34632d8a50aa71aeb3d95a668cf764de51859dcc4c53cbfb42e518cfe8a32d15a1d5aff5463b9a1f15b0c97d2b9a08e6a27c525cab95b88f83e00e0818fc1f8c4261a481209e566b9bac2440bff1dcd1ca7f674a8c68f2702de0c88a5bd1b934f34bdb5e2756daacf139542b23f20dc6274ed2853f2673d5293fa29054d082d74b2d47dc61f0d7cbfef2961e2fbd129247ef512fe4da8b282cf37e55e3278a8a4b5f93fcd95d94bb9c9543bbf9cdbd9d5d2936c4b7e92f3462bd851355fb654c9bfe52d23644f29a1a2b19f7b18a24ca1d361010ea823ae681825b8e3230872976f4866d505762502f72c80dc689abc0a93aa58cc5f3c840f04461c46bffc2c1a784d7c5ea956e563d2248cf692d15c3f522e4595ca9fb35a6af5db586a6b8318c3bd7c6c1f3ee84c4ff3b44ebcde9cd0e29db174b020717bbc91e98ce1e9411c7f259836513b493a3c25dbf843ac6b6ad4c36d6c3bbb500e05060e05720738099932b8514f5bfa412d2bb114cb03a930176fb050acebb3bd58f6761acd8ca07a30659640c86686707006314e030184995271e36e5c5beb87af7216d360759dcc2b99e331f67f04bda0f2e5eb254fbbef6ad30251b39471d520328606a1f27063e7aaa85b6dfa2560faa9b9a1e50a18e3ad829e16296119ff15d4b01f09f7841e6d67b78bf5bbfe56bf3443122bb8273e15cc034024bc838c46921205d1e21067e55cffd35779f0878c6a27591900f286a1ce1c279544a53ecb084392d57de3cd7a84efe9f015d8c98b085d89bceab3fd68888c0ac01c41bbebdcc9dde1d87e43a05168eec0d72135c9cefbe7431534d4ef0d529b2a16a27f5bb4180a9184b555b8c6be32c4ffc2ad1edb0c06e3478d2aafcbb739786d1e7811740317e2e1f8358e3c4ee6f3b48971f3663207a0da4b5bca5c8837f57a681f5466a3853637caf2427bb7b85aee4372ff3531b3f8708c49c3b4866f6699cc570ea1c0e331551bed3b793d5b38a321806d49c86a64a88ea279b852cfcf6d83248cb3e565241b36de0865f227da2869dc72cf77395bcf8ad0db2a51c9e59c04b96d96c015747debc31c03718d4d44311c6ce00683027582bdc5a605e47998c0ef72e5dc8fb8a94389debfdd660605798542525c3eb7c6d05b49bc7c9d45c9516d1a56e8e7f8a426be1b5962fa4abb0f73e7a25fd267f8afd9b6ac40804497c32c1b4f3c509fda2d444693899714fa392147a77e0ff749085fafe4355b34ff9e6cf40de31be3d080902af0d0229005a42e803da42f845205be4c405b7c3615cf0ab2d11a44b38786cba72745d94171dea1acb1f1b34a5ded4a155445ed5b625c1742ce1f7c7b0d090606c59134266079a65d686dc651a6629b536821578f4e9ec7000410bf3637360618fae8d7c4e11420632aa8d5392983f723374eca6068545933ebab18d5bc5513ce506a83637fca96154bab12aca35d61cb2823cc73809404b12029d5da8468d5cf3c3fc8d5b5a8494a32ad6a4dddc5628a21231a42e7a6e48190edb97b08a3824b4e718273c868cff9571d51406780897ff8c627d852300752ed5aa93763613ce4a45a93d67c77e8302f2ed2b36ac36cbe8f13564662682c62ea9d736883152fee21533e423e493446661c95c398cbbd72d14acd55093e49cbc8b1401f72e62d768c83b3986ff3bd26136e983302524b7e9cf4c3b331bdd59bd0b735b2febe012a8b61c0a368f46c65ea10bca5169cd0a237432f445222cd2291277402eb15599ce036d30f2ceddc0fa2b3955adafc7926f7a1dd87331034e2feb5025c2ea143c43e340c9fc4f459111a7596952e570134f025a370a43f1e341f9c113119170ffd6b9c58042b00bfa265add633bdb7f01ffe615f0612b89fd0900525107a92de241e5dc5c6cc63ab9d2649af0dbd7d5eaa46b22218c834ff77ccab25f790fbce36a7db47af5ca352966eb96e8d5539441d88fa54a21f787d248128dd4a9452a28495d428cbc9ad567b5e0c5f58fbc5880ce6600c9d44458cb1ab6f24d41b4c5500f70c5bf83bd39b24582b23c4ed59e53725c4181d5437c6c014a6640cbd447d1963d7e440488333c60e570b5c121aa326199953e3b17af80c313262432d20432919d331f62525698c0669eb62e0d34463ab19c508b7d2a2063dc9902569e14b82c8984b333e460d058563200b64328654eac9626c58ad0f9241eec094ef106584d7a96943a539fa0c95882cfc584e2e79475a8dfad32a015dd6726536f929cc1f6f9fb95ad8f6bd245b91b0c9f679fae6d2a256f0d93935974e26b3fd5752bb28a5a23e605c08dbbe4ca3215e0fa39dd0eb8c2a825e869f1aa463aba20edc6b14f485b86bc6de16b19294d71d18b65d3211a39a655ed276c625c52f1dd8052e836faa5d6fb7fdebc66ebbe34551074e6830bc5ce5c74b85a8c33195b44bdab257234a2d5d32f16bf510516f62320ca64b3e6ccf2b55651ce228daad8d1a058c70ccb6698f2708e3c10e9f1a6ee3943122bed59420a5df8ccf1e2e7c855650eb88d2c392f836abd91c584bfba0e0c3cabbd1a859c444a89b6ef8b9a79ccde91c81869af9fc86aca9d1a1cef59ab60d4e4423141ca370aabd3588a5d5d98de5a542f024d558bd744fadea7a757858bd7581ffcef6c9f5782c520a561b46b690e0fcd8f9fc95116f30caa50478787ad25aef5f6ee3597407d4073028fc300f9bc203b957308eb3863d7c31f42a7b7daf8c6777dfa6560a081dd8fd180f28cd61eca6a13f5265b3f52aa5efcd0d504040feb47e04a700b57e41892ffa535ea37cf1edd48c55aa9dc161649e081a9f34b5e7bb6ee77ee01c888322a095a9c4258f41e828b24a3af3138aa68141a2ae79465515da1de73fbd25ab6183346307531d471bc44081c2e3a440ccddd4136850b7bf8fdc68d0956ef620719fb51d279b7ae3bc4183eb8a7673c24bb497ea82041fa43079559781026b4cf91769271c304ea2516aa5626917a6036f20a2e8b2880fc34bfd5ba868bb40aa1967529ce827696e8d55ac0039819b180b7992cc5effbcc8877c79ac782bcd3175af88afa4fa077209350a355d79c0b02c6615d22b15f7f78d61f7c9b2e67dadc981fbaf08ab7160ac620ee5622248c545b39b15f1e96665c5ebc38cc28dc0425ecf1e2d1ef9ed8843a6f4ab016e3ab3c5b4fb8f6dca0fa43f6f14027ac9d61f75463a03e927030fd3f154fde3414891d45acc46a48fddd0ffa4f1ee59ec7146a642f11a972ed0c70a062be8cdebc1a2a1873514df9faa113d77e2336452d034a769c7a1b075ddf01027e1379c8467866cb45b26acc9c42fccd398dc403c02be515c6bf8b900659beeb0d18385627c473ac36d805a2376f51cb939d3fd0868495313cff88c5c394d23efa98881c34f1622f38cd728082c8098807adb7e2de7a3c18365543f7f771c62d0184412bf7da38f0f0cda7f41ed62969f6839ed1585ae1c09c2a3ec9a3d6a828fa2ca109d14199ca855906a1b54b2bb60fcf39da7e3cd0930a4650d4d38e740d4e5acefd0407d26651e3314ccda30ca39e1dc4862b17c1aeef7d336d6b12226001825506c93088878bdbe771918f1863e52ce66fc2d187e91cd523291871565952a9f81062b5732805f37d32a49a4f2113c9493c2515cbe735f98086435e4ffa0ad1c83139db76dcf19244726487701bfaf0162994451ff4ef7e6f6658743ea98a806bd16198fd82f660a00a4c6608b42ddc050bfd391fea7773499a63feb650e0df23338734ef3b2de5db8430510b57eeebcb652728587fc80118f63921e20bee9a58b7a86d497c37106ad3ec0e968ac852818838db7d9a6be0cfeb9e91499825bd57c5aaf495e731d29702a97c541795873f75534037cb0fd13a2256f083fdc0ff0ac80a132a5485a0809a1b6246123d33c280d378ba06e507b4638119322362dafb4a43f98a59b634c33f702b3b541fa877669a6964d5a068724beee85e773340d05854ff8931b0effcab4a1893c09bd54075fe1c6df5cfc94c825a8c0eb34e8380ebe42e12ffd478858d8649c2b5c0761b9f859a1b1b7d69e7f5fd7429fde93718e72e8ec05d1254dacaa72b334a828b1792827a62686ec85b9c6b98f5cfce1187e43f8d174d7b67040853c55a57da9d4ec07047efd851b124c1070599a3630cc30c39c31c6728c319663342e3d46cff6d911d0a916f6ef21dfb67a6b57c11d65a654ceaaafef69dba521f6a6fafc2591dddddd4bfe8ed764eedd8d30be779e1eff66d61212c716ca103d102480f24607aa31460f18c109903840558d31025055dd608e598de28003e60d1a54558998d084e0075575fa5269048aa2819800959ec4a02249804a4f72a92c172c14c94207387084195505a5c2e2003072889e54eba834058be9086aded8c70235b231821ad9b49512c9a66604829a0f8ca10aa1686650efa6d2078ca8a8a0f18005603cf099927a29307164a1238e2070c4d10129546fb4616d800c31b6f81317306f3cab8db6f914ea0a2af536a6296ff3c4e4c47a2d7f0574329d627efcf8f10348a9a5d0923a8d404660dc80a3f200cc06a8d0c616e468c35615135eaca0aaaa25a01a1a0812da02012fd8f0aa53284e950c40a92a8b05a16a8935e6a8aa2c306b50a92a931a2758e3477543b259bc843af9c0f2a5cf1511286911135384a6086848161f0949dd677245393d49dd6702028140252dbc0065f151e8adf887d4c0831d7c5a1046911903804a4f0a35f128018d33aa77530904830615980bc0515511361396297fa5495290faa59ca0f4e9fb840442082184efbdf7de7bef39e79c73ce39d75a6badb5d61a638c31c61863dcb871e3c68d1b376edcb8514a29a594523ae79c73ce39a794524a29a59431c618638c31420821841042f8de7befbdf79e73ce39e79c73adb5d65a6bad31c618638c3133333333334a29a594524ae79c73ce39e794524a29a59432c618638c3146082184104208df7befbdf7de73ce39e79c73aeb5d65a6bad35c618638c31c68c4e19e1738d35a959522900260c38aaaa3a3d113bbac274fa056891c2e4e4475338e9c694051613e9a538f25d984e49aa8a7345ca542a711a10c5e404a54555551c065415670151b434139393aae228a0aa3854aa8ad3248baa6a945b24486a4047502793939291d38db5a692911117a329fa475e538dbaa9a024fe252c6d833abd962681485d559c2bbe6472f23526291c2955c589624555954ca3d20da8d4432aeaff6a498d48a3daa5257fba49dddcd34daa8244a9d3a8821a549249916e50fdb54932a84f994aa828ac8c501158a2aa3850384e2a1808cc81d384d4375b3400c9029648094d81648a27479c2009457912250a92101226574cf1a449888a9126d765a4f4574c539e74e3a62693a6e6534bac98485f1a59292139e2c51d43845470fcc9aaa38b1c54358442b50d67ca54a94ba39ad1c9a2460eaab9297d0daab1804c4aac9446a993a91a01c93ca80b259c0108a0aa5055c5090007003055554de17f329d4e48489dea24a6948d96936dce1be5f6e4df8007e313828f4c58fc0995329150291349ca8b3759624236367d5d211b146510b6130acbadaa6a3676858f38b838a3aab86803ea24932a8d4c36a1eb0ad9a09edc2c017592498dea6c2c843abd0de945cdddccc66e6efec991aae200f95155a4d3098935914846522f28c0e90d6f78c31b3c4524f171e373060cca4a2565d4440b0cea8480ea9ed8681b225a521c1f1c17540a75130564e5512051aa6d40249291ebaa2ace0bc7658b3cb628626302d32b8d20c2a6a402c1d4806ae0a8aa2234a0097a02f49aa88103958519936128a0a899a420905050553422542b99b182d2d2a4772c2627994c367412856a6e4a59bac64dcddd5c0902a571715d443c6089914d87e0e0709abb19a521a59a485238924fb52d998ef892ebfa2321106da9502719fbce048ca808918b152e5415a8c80c087455b1521a5501a5506dc385378c15283097095555c15c36aacadac3aa031daaaaaab1545046fc6b3eb5a4e6534b50a951168fa582792146601c0a5454304e4625d322501b8171285555c9a0601c0055e5cddd5826d80954950c89f458500d8ad1827a291a1625230c0b2cefa44201a63e00a6165155954c0af556acdca040314e38c4a186058738c4b0407d1412c988458d9afc27415971a82a0b0e154ce7e00d307d4755996e698916928d8d9147b5088a95d2e8949272e4baecbbc9367743133abd4d96ae99c9d2358fea4ad3dccd4c96ae9942ead011aaaa42a19a540207d4318aa24ae8640a55418d4aa30b9202759241a546356ba8aaca52c32d2d69e2444b4341bd024c4e3e353a61f1fe134a4b43f9bf219496b641a19a641b108784698010d449c6a3d0420655853a7d2974fad42854633a5d22f6b980d1e203300c18435559641803a9497dc12c400b958c8c8c13a927a148cf451617e9b97852e842b548846ad102b8aa5227930805329952d7a34ecfc59fac3080e1ff940455fa2ba6148c026c1662a8aa90121a9a1952a74a269ad075fde8940ad9a0de0aaaa653ed4a9abbb9428c8a44ba496272727a516a8a2b4f9abb6952886432d510ea69868062a4308f32ada803c68a2a25d39436a041c6ffabc949133050a84021937a1492285455553d61e389f53443acf8e8548d80627cc98c7d2c863477038a69ee4688dda226b4458d5b4f7082934e6504356a923299bc3f0aa9bd3f4aca4492f25d8ca49496d8d49c941c416253735252551613ac2528a1aa427f5d212964184100a8d0840384000c5c10421d519861c0005c26e0e30540605e90871a201a74c129a901064550400b3260c2070a30e1401218e0a169200e17b8008a3404d146104768821d5348400953ca286205973cf280a9c2053055cc1021014496b8b124a56589923aaaaa4a0205254aa77a8a9097fef46fa5a1c050e182ca3242c9ca88d4dfc50895ba31696926f20c5baa542f352f95a78855bd541f18eba5f2c1fa0061f560f9681e5975d8f01cf1c2f1e1e3e3e9585645008e4cc5a92c2b3c07b0aa97283e15a7b22cabc35162592f16c7b23a2e5d702c8ef5c201228a65b9582f15c7e241a6c371711102046479381c0f062c8f657180586ce0583faa8fe5e174deb21ec0b12c8e8f2b3844702c8e8b8763898163592e1ccb0a8b0096d5e1f8e0c1a7f3d2830584655916877206e0a36381c072e15816a713b2381e203f1e278845e3c3fa2cd12962bd70381ed601c2e158437c8896171eb603073895a7e28cc0f27484783e1cab537d346065c1aa38d50f3ffc505995e5b13856192c1f9c272c8bf3e1703a96e52c22960f2b0887c3e1b81cb19ce0703c1c8b3b323b08e1a3098b07000cc1d980f5e1086179ac8e5571a07040402c4fc519b954a02ad6053a55123cb02a04fc80d3b15c2ccf8bc583d57183c3f17175acd9b1381c0f8813e48710eb63592fec6148b0c501e2e283635996f5625997c5e14ca1e362fde0783a5c584a706e2cab0385f563078ee5e3c5e220807304e7088e119daa53593e582e1c8ec583e7878e87230487c3b15c2ccfb57e2c61edf0e1581fab07490427012e3bfce058d54790178e6585e5c3b23a1ccb6329b18ce0504e119c1d382f9c8fd5b13816c7ba2c23383b705e3c56e7d3b12c69752c21d60f2b8865595158477080745e2c1f1e8b63599765b900c11180e5e1581f8f45393b581dce1156a7c3e178381e8b7238d6101c20d60fcb87876359d66519c101f2d2b13c3e3c9665499015c4133e663a06f8581deb87e509c2faf1e3da8101441c6115c06371382e9c97b77e1800efa0c4b23816c7b22c28aa97caa6ca620feb0c59942a10167a7c010958c89185145cd17ab0143db0504549420a95157224e1ade83c2a2872d4200e2849989e3cd1e301676092c4116aa0428f2298ca110411da3d9840eac1c31232092056d4c3a243acb2870722a80e954c15391c0145953a38315820812906c44f180004316640a20a280812200200a00241001a5055f9a851813c6154561168aaaa8a027324092e62006182085b7ebcf8f0e1020488cb67878e113f5e3a9fce00824cf9c289123e84b800f1313d417cb03c415e141024d5e1a1f3c3070a61bcb1c5a507cecb0f4f0c0f46cc146c01824510f7c4f4f005e711f1b9c263b9ccec604b112653c084c1f100f13019e2862d5810c3fa5c304820e00b8e67880e144dd862003db62001458c01f82005053a547c31c616217e641144006f6c4932001b1f28206dd83293fa414595357e78f9d1e1e173c5638133bef0e181e940e1bef042087e3ce104317cbc61033d7076f82000e6857aaa7806ac008c007c84004902a409172d3c4fbc5030662007156024210d2262f0609994d1832d3bdcdc0e84c143f3c18ac11621e217405ea80b101f3d74e4122a3a460049f2f2c5121ea4f85042049224407e280922c56766b085009e9808c4e50a000f2e407640a2840348b005880f25475433b67c3a3f7c2c172b5c807ca27079c2c80176b8f9e1840f252e405e84e0618a1f4b789cfc2080008a686208209ef021c4499426be00e243e6c5f1e0e412282f413c2f437cae4efc11c4e30408012f3f5e8078887caaf04c04581f223a497c80e01f3e6c87228922081f4080f821bf38e26487e743886709cf122e25d8f2440f9e293e06f81cf163094f113eb08e11606c912162756e070a4fe7e385120ec880a9a482142021072b504109e628630211c882ba72df567180160ba082c51552a0304980926b3a214d30510090e7073ed8c30c63f0c2016898506208215e40608422d041022b901ce0326200417670e9410df040411d74cc2102394010c715429c2022d38137f698c31aea02cc50061c844c6ba431ba34510079a9430d0cc81f5180821d755c341240003b00f1f152041131808116ef4f9c24604912241e40c3026300000bd0062a48410926900516320621004f1290a0062c688ac41f2f2e7754000f1684a08d0c98e1c5073ce081349e38a189c28920961c3871e0bcc173065019385ff07881a3c7070b9614384fe038e1471382308193044e1e9c1a7454c0b9e27980b5840f233e45f0200487009c0158028009c007001c18eb074f0f9c1d3e40383f7cf8e0bcbc7c381eab63592e150f3e7488e8dc608be7025b3c4c5c9e00592f6cf8e207126cf97c82bc3421852f3c72300f0182cc61029732b67898fc000248114184b1e587023c0be81cb143ca25888f243ea60b904e144100f910618b0f196c1180165ffc909d38d210e40a5b3e7b6cf90419c2095b82a494b8c1961f41f4c07989e243e4c3061903d841880d80e139638b0f49f89044070a18223e8280d9038c8f017ccc97998e0f9d191f736ce93461445c80b89c604b670797213c313bb08ee509e2890192e463801705b80ce102c4e50141041044003f82f801c48b023a7400c36588ce0ac0f804610b130ff0d480424c18e1b982f8e002e3b13a50748e78a0f000840be7258b17225e9c7c06d083e5b243e7e309d2e974389d978e8fce0f2045783a2f57bc00c0072840605e5c5eacce8be77988782c1f427488f8e207121f136ce9e1045fc0b87888f03105189e2b80a1440854ed51072f44010a49408210827063458a1a184022c5018a4853c90c6520e2c40f3ef87861c0029e38d9e3084c50021269b01b1b40c01b5778421e40c0410c544007119926dab849a5813ab1010d67a0421398e083174c40020ed06201549e38a1220912471000881ad060022a488104221032a2085309891eae60852d6ab6ec510737b4410b06100008982700e1073ac0410c6070471a685820e4000564f1c4c9923c8ef00323d8c00d255390421e4700820f70700312cc610605c240c3199ed0041cdca0062c1063cbfb1224303c9c810b5bb882107c40033c5c60871a17780f39400b0664b1044914d710181ef2388210e2e8801a62bc3b20014b922089e2ea81074fc5852de4718421fc800678b8e00e3bd640438c0624604991282ef9d81000c078aa3db8b0052b0c41083ff0010df0b8c38e35d440e302626421d4002d0e4044660e726052850f3d54a1080c9c6106952c38041730434b1614fcd8a353070e1d3e72e0c4c187093c25e0d8c1a1c36a1cd6614b6607283a06e880804082538445c4cb101d21ac203c04b080f811000000a0f383c7071e7af88187218208b1431140607ebcf87079e1b8b87c3e1d6b08189ad2e86443e4dd6447a59b091449439130c014e9411590105069044245a1e5d4a716595047c054e40453a454a44a55818acc80841499015d99594311248a08a0aaaa9496da00191919062c51e232c4cc1c15ea24533a7d2ad536444e2914cc4ccf30a919f2f67463d262e688191f1528956ad09228a000caf2fe2f8a3a2ad44986084c145c44e1a093e99eaacad2810f8b0855650da1aa2c21f4c0e2c225a4aa2aca4034a0d3e9c63e41e9a492460ae9a38e36ca28533ae794334e38df74b34d36795239a5945142f9a4934d32c992c619658c11c6175d6c91458e144e286184103ee860830c32a46f3ef9e283ef3df7da638f1f75d349171d74cf39d71c73ec689b4db6d8607bcdb5d658e346d964924506d9638e35c61833ca93254786fcd87163c6cc59187592a9b9291149d5dc063000488c10204222008a00c80b102806480c102f4020100854555610aaca024255593fe801dd02e8ca419537281a140230d456a902ba80c454a902ba52f7492010902a4340a9fb2421558a14299204ea4536e5831e50286240314e3871857aaaea9a7a4c1d5420d4e84917eac604ba6972329d4e48a4987054958ccc04637a31a15443403333202604e431c35386470ccf160f96118c9ca3aa3c15cc16342a982d7454305bacb04705b3058a0a66cb940a664b490ec009900c52a1e21aaa8ad47f8a58a8aa0a26e6a0f251aca3e4b084b4d4908f3c925155a198aaa216555579286522a1e24c55455085d2f257a28feaf4574e262ca17b4d700c4ca850305006150a82a0aa20191524555585228d3af51efabf904a55996e09015555418641c0aaaaaa3b1e125e0eaa92e999e06100644a81bca558c00b024b9f1a9361284a584ca72a42b5c8ad01a69d014609ae88a0be5555a525656353e5050d185655a1d3dbd851ea6b2a80c708354a35aad4a693ed1a501455b274cd12a019d0902c5db304912d8490466f4144405b54c1010ba92ad429ca30145eea130ef090030c111954a2d4e8d4445036262237557a29a9d24b692948a34e02237301189920322953a9c9112a27130a6442918c8064aa9caa5401f5880b90bf1692169baed1d2291408f5a22920941dd574498b83ded4a81a1428356a2c2993a9ca4021b23212a1a2f89209946a900c0a3a08a3a904c2623a5901a1aa540155b9f2a44a9f4a1d837a13169397aee945447cc9e96dbea696a4daca9fac586910480ac84b2fa5c652f1962235aa193181193253559c343a49b86344a7082175343942050a284d8e5081c24122075447d1c103a60053a8aa0ac6892f904628904c69d4c5087551e16489932846b2807122084db8137354551572220c1827bc8071428b14280674c5802e275e55554e0ce1848b49840514833ac99c3e65d3de212d1674a55a8405759261a204304cc001c3841a304cd824f151db94ae6883091a2696005da032ce78036609372a9825205055551249941aa6005fc014c0164089021051954ca350555933a82a4b06d5d798a47cc9e4648a754455c10126091774cd0468b07ca9b2d8080c126fa82a8b0522b8030654070c080e11f8584155592aa82a2b055565a1a0aaac135430202a3020269609aaca2a8108a80c83c23e172452d7a03480071258ece0c28b3a2c3a44d04655551c0dc01c918448b585115748c24f538c40004c113da04e522653142c1de53d419d64423536cb75954c3535261b429dea75d5d82c304430a1aaaa291230254a1537526088280243c400a4c00c4183aaaa2a28134a9152bad2357e32814aa337d506613195ae80644829252644a194b04db2f9139c52a480fc65a800d5296450a66b12a15a490a752addbc934c426a404d985cb126920cea42350102c9886c4455fe64baa594a904ba23d01021a047913a0948a64a733755aa54f99a2e5549a14ca46a2a99ac1dd9dc51952131d73545481511eaafe9ef35d5a046a516d9afb17d4aa1de4a49947a2e9e04454a646544b2a3146a6447364666fa4f4240a06e029249a1462450159a293335fda792e96b4ca8d1354191ba31994a594c528064a0288d405898a0dcd208f4a81196d38b52a6d41490cce96344a8560292a952450a486608ca09944dd70801816450ddc48a29054addd8907a08a83412829a02929962c9cdfd9a7662df46ca12d31494ff3bb1a629a9116a8a92c94911303c702142b5c8e4a40d981fb6fcb005cc0f26981f1800f38313981fa880f98106e68707f3831bc20428153e88accdda9e8cf4bbc1da3d70f1cab732deb7cf7d370f587c1d23acedd5285ff70eb8c5ff089da5ef629dad83766fcce88b3007f23e94b3dbb5cf96451cb057214b1be95306fd06b6797db5b2fd77ab7b366876edd21963bbfed2d5a01d7b0e32bbd031634603373ddae9249dd42fe3c663f647dad3dd1ae9f4197895eff4dde6687d7d652061e3b6ceeb4bff1b03075d8b10ce87175af730608fdfb27ddcf3355b5fc0fdd072adf4e58496baa0b57e34727d56dd7f0b78367655dae7d0be9e2c60df34366e777293f00ed8af6f5b1aa57bc97005b7996b6edb6309e57c2ab0d676b39265a4ceb14b016c5be5bbc896717b28f0763921eda6573a637a022b5b74ed59f6936382e660db379db572def7c929c1e3d91ebbe92e3b7f3b397650878d32365b9d7534686fc3c6ad5d7d5c271d10b27d16d2cb5aceda2609ee948eaf9d1c2d63c67304fc7adae767afd668ef1c94d94d765e616cde5704fd949d49ca66dbfa6e08d84ada164edb9cabef7238acf635c8fee48cef1204d76595eca68d55d6eaf2031c9bb30e3229653767a5071874063d3ac7fc6bad328ec69ecfca8e9f9ff19470546f5aafcb76df5e2b6507583bf898ad63483b4af9467b5b1b5ff5772b432939602b4777a39cb59935946e58e7eebd4e2f75ca24941b6079297d1b2bbd91d127dbb80c4a195fbbb4f7bd2635405b7497f046669431966c4c4af9b57fb22173f2668067b3d7366daf4d497d0d66b1613f49d93bd7aa469530b23f7def45462b069aa5f049be4cfb9b3ba6f177f67b0f4ec971be19d168fafcc58e1d657c37e30558ad95beda9a4d3a5b46ce195c19b375c26bbf31969163069cad32ca0d4effca62e4943199ede4f93136d717468e059ac5bfef704e56bd61e490d1b851f822b7cb1a378c9c31dc6dd25267f9fa51e622a702edb97ecfba9cee1d6d914301afccc94b5b9cd5796c9123065717d9d9dbfd206d2d72c2b07732646e5e76f9b5430e18af350b218d8f36db6c21e78bc79c8c2fef6c10be3b21678ba38e21b5d1dd535825dc835adb20bdd3b53b5723acc37c50be66c766b5f7454887cb5ce47a3df2d7071f9cc384ae9b93904e1a6d73500e6ef6bcd3fffafb8d0dc6e151a7d3b66b2da3e506e1c0eded7cef5732fbcee01bee95fdfcd767bfb70cbaa127accdd95be3bb7c0cdbc028b5fdb4ed6db3f9b281dd766fb3ee9976e55f439c8e56f6ff5efb61550384f1b138ebacb6ddda2f0df141f7cdd96692719d0f0df4b9dfea7eca7786c6e684cd6feb668dc5678657a39cd7dafb18ca7eaf0cb2fbabbdecf86365ef91e1d658af9491658491bd37866fb04a1b6b8cf7adb72786f6ccd5caac5b677fb6178697edc276bf5ac994b507067ad9b243d8e8bbc6dafb823fd6eddc93ced1ebec7921beb3a597cde6b12dbf2ec4b796c5d7b73e9efd8e0becb21a2375b79bdf58dd16ec75f73152569d169ad97bea93fdb708db65a176946f5249db36f6dae961e7575b69938df26dedb0302747960e67ad573eeaae101fe527afe4671cdd745668134ed772f2cffb56ba2ab8fb2c1f7c92b9e6987454f8479b42e7f8675717dd141e95314e471f7db21b3a29b87d97cfa8f3a697421785e91cf6fbbc4d6f63d041c1dbb592b10b9d6bb4cf3d61f65feef6b0bd74f4392730dbd0797dc6ac7df2b92638b65fb95686d0c6e71c13ecad53ba9c6f52c82a734ba82fc28ed451a68c55e69460a3bcfc647caf9232e692d058b4d356b6eea38dec90e0b452778c7e8dacdd9b07637e6ffcf8af71f57b84f9b427778cd5dfd1db8cc05e85507e7fcbf8da6d45f008a585ad56069d6cdf88009f83f7efed4be5bbde8650f97e7b57b6b75ba93721583b9fa5bd16ca2bab6d4168c6de3df3f9a07d5d1b10987451b6da249c2e5d6d3f70ad3fda3b61cbf7b39b0f1c8b95c6f9b861b34e5b0f20cbf89a6ce8989f938d0732c2c7ecd463db417d95b9b7d2354ae38b4d0777de8fb745096ddf0a5b0e7ec26ffbd0bed6d87d0d07d1ad9dd659f80fa5bf76831921adf7be7fa6ef5eb3417c5d2dfbd9a2fbeaaed5c0bd7bcadeecf66263aed1a0b9addc7c393e672f6b78d04725738c1f632e9bdb0c6cb3f5b2489d7bd7ff3219b8db9cfd746f0aa35b1603065bb67b676c9f972d838194ad4e59ab8c4fb26ff682ee9fb63e851edf56ca5c40af75f6566e8ce98594b5e0259d974d0afbb5ca2663817b2763bc8fd96c6d23bbe31f7c70c6eb5874ac46b68276f92aed6796a99c8fa9a0b9c66a6b1a2565191f4b81e32b9fb564c950c095c51a1bac15c2694ff0b7997b4fdddf6bd104cc1c1dfaa5703a09bf0496f94386936ffd56ed98d13d29256d6d657d754429613bab95d16799d321f9be6b1fe4b776ba26816ddfcfd82b85ac463a021865b3eebada4e39cec1ecd349a5bdb14a665304ee4a6e6e2975ecb5cb10c4e61999dbbe74ce18e5a00c61bb73f896de0b027e934e773761cf9ff003ef1f8cee797419dd7c2cba2e2eae0b85c5755d57485a1e887776a5b2fdadf2fbba686a6a96705660c5e198b4ce77766cdeb04a38e4d3760d1f3a9f72761485de46cb143cac0ed8c8b361ed3be51b2c5a7be59bcc6f9b2d3e0eb47e0dd2ea2ddb65ecdde0782dbcd1dd6c563ef315d24dbd2e1a9a25a727fe252c4f40249b9ad1cc755954b036c0ce5effb5df18c2f66e1b5ffb9b6c93bef6e74735c0dcef94bdb60e3af9910dd9b6ab7bdbef5a2aef135d9795d20875bab17f2a8dae8be6ad38129adbcf24068b982a6252374daeebf4574e5d733fcabbc9c98c92eb7a3795aeebba38625819b815d277b7b3a36bb6f51a2d63a47fa34fc9ec37aa0673b01bcf46e594ec55474365260116069845a65c67fdcabafe4de3b9f783eecef728235734a4936cd6e8cd39eb20751768aefed19f6c8d5f64165d9729153a8075867c292d6494a13796f49ac1f59f6d2b5fbcb3bd96a2eb4232639561a5ab4ddf6d947f3efb44d7755d488e581680d59d95d5d1ead15daf644cdaf2caffebec68a56f0c376f9c95b5a691329d15600d422b9bfbd97c6753294401686173fb8e5e5799af189355e9b2bafbc8d3ff86d112bacf76ad39d6cdc1b85c597bf53949dbfb0bf69874dc76de17298c6f6db94cceca2a63745636db045a75f6d66084b0d5c82f8126e163ea15d6c9de3502f33e2669a5b4fe53a610b87cef83ccdf75e7f762ca3963bb6e76bd4e5d17ed4c235346a33bf89a9677cf35475f842d5e66cf329bb5fc2fbfc5cb9e6389d4d228a9ec566195948bf9da9bb3ef9f5a96ccde70fde9f335bcb65fa72c4766fccc923eeb50ce903ee6fed9bdcaf27427bcd51b4b192b93ac6e419fbd35bef6d52fedb6b9d1c6dbdf26e57b656bd3bdae3a748eba5625a5258f6eadf36763b4d6d5347617b64fc71aab0d52526bf3d52afbc56fe9ee151a9b552625377b1bb30ff0a7fd7e2965cccfd5515767e7a07cd24afb708a1eed19dff2a47456c9d24adbfae27cf7febe417a6df5eaed2575ff6ef8af1fbdd0c2786da5dcdcab4f18a3bffaec3147dbb6b257e1747ea9ab0f2bf59f2e61b3945dbbb76793f5ced634be66fe556e9ccf5cfdeaeed4859e6db0d51a6fcf78d91de0e0b777572699bed900495d5e662b748dafb45a30da91d9a5b5c2fb1c1f0324b46f6be4b615b65c808c92657c76afd91b5f0191566859bb7b9d5b572a7defed68dd3dea35429705a393597bf6fa930f2d16ccd8f5ac1caf7376be2bde42ebe2cf1ae3e36e536063779f6b17bef78e3529b2b5d8fa32e6b1f6ab511abe29e56df5198bdf9815cdc9d6ec7a5ad89a43798fca0b5f4a7612367d525dbe765ce5934fb2e924d2f9cf644fd76dc626b02d84df5ece5b5d2b3d29649f8bebb2572864840957dad8abf231bbdab645d7951add902915aac2f6acb036f9d0f17c9189ae2b7532d54622011452479bbd1f2bb3cbb7e4366cf99352ae95daa6a2eb5212eb4349595fdb626bfc5050319f3e83533ec6e0abafdd4d2f89bdfff7b9fdfa12b673a2eb725344022f37eff76c21b5ef98bb094e613ffa9d93c176e77468e191b6b7f58bd7233b757745d745b2a91985fc4f2d72524cc852b66c55c279ab5b6904fa7b8eba7b9bb1c5f7440d0197fae539a963f7c7209b6a4c279b7800f7e92a7c462fc3c62c155d978de9e43134f1d6aff1fffd45e65a8a42a6944c11399b3f58e3a5f13e6c4c745d21d4754131031fbaacd1afbffab53ad175d15c5793282c6d313e66b65fa78d7244b24119b99c3f75cf525ec76ae8ba9e0b530d0d75ce26bb66a16beaec39d17585668dc914b2720a857cc81a1bbdedca7fedc2ca2fbaaed08b1c2be5691dfd9632368b1cbcdca853d92c33830f9be8bab0984e56649e7b33c2665bb44d9dd726baae530ae5be5ad6feb0ba5bdda3527435ebb8bae78c9bf337d945d7e5a50e99fcba9cb0c6f5d6fe389b8b8e5e28ba2e11eac6267432ddeba2311283a5a35c1702d8b1dbb63a9cb43675c9a2eb3ab5c886ae8be6ba5235370b50eaa6a68999288844e9dd9e3997d7a3a555745d34f3a689995069745da7940dcbc0ef485f7d3432e9b0b6e8ba52a7ebbaae2250d8185fbb9319a3d7dddb2253e87a5b7a524a725dd785b231d1989f3f2fc76beda38dc1165dd7e94b06a8b53ddbf7b45696d19de8ba50fe8f0aa5deca75d144b9ae1a9397fa24ea19d41321d4cd29141a628812426eeac609167a51286451a39a229af00f45d89e60e2d429279610a2004328f1441243808e404288238a306254536312528412441031441142bc684410594c5852471020c2060282cdc642edaf34a986ac944622548b4003704200ad0001083101805663b2a13f8542ec4a84cdc63e4ac28484fca025142a800f59ba06891e58c8440a59298dac58319184e0c1711027766829930988f79f84fc88f161c58917867ac2a5f16788a7e688cec994ea2238208b8542a1549657a21aa20200d04111acafe99207003a6842555553982ca9e2071f6250239b0e62c5b14305840a8861a432828003d0149989e2a2113ed71813918122c6004f0c11e244134c2c510025920021714411440c210427080e0180f8a182e9225430fd054b0a1d3276a88000c61c8c543ad861072fa8aa4a8b6583833954959552aa51573a152235ea2483724155553e382dc0818d1c37d0c30658b041112eff94c94a557158c0b94305a115a8a0aa4ea61a04a15a02a60652063990c1193140020cbe0083265415e83a92017f12e9c6495571eaa850272899461c324cd0184acae95137a7b7b9915263a97c55714a50559c1a3beaf8d4a834ba74386994058964a4aa3824b84f48242355c519415571e628dddcaae288c04755c509c1934c4ebcaa38727cea4fd6080640f03e504d0f44c646d59c963ec501473591a420916e9c58e10e2eaa8ac3013750a39229d558be54ea281e057202853f89f458407d498faa12622e8608292d21dd53aa7405897493246572f2a4da2993132799947c17232959ba090a4955713660633a95aea81935e9c89ba664e926a8ff242993132426d3149b3e4df1d2153726279c36c8e06400f55990a4600b1563c1b048010f55c521838de63c032fae71a5aa386a706aaa8a8381aae28c51559c3452a7b6a92a0e1a3eaa2ace052a2955c539835306c70255d59cbf98e5bdc44dcb57a1e5ab2051e1a491e8881652e9c9e98604e5edc88405eaf4b5e69b9c92a450fd4c52464c36a61394528ba6fcc9d4c4978cc840426a3b2a89ec4f792e46569e09a94776e4370978c075b1969291aae28c5181aaaabaa6513755a06866ec63c1b818725da7b7b941a19c34cac249a32c46564a37494a37d7973420b26947a95343d1e2262952a7b6f1255adc24c56cec66de68f92b2fdef8c89738a93195de6b4ca5e66e68689a9b69ee8a14aa643a028a99373376b85409f8d32b61541a1547e55181542215496552a92a8ea9aaae8b71715d9c5255716a482823529c3c5932e588932b1210a262a40900e8e801ea2443847171a5aa2a1f9c0754d50d0af45555fd7809001d41aaaa09292440060fd504028f656c6ce7145d178d92991f9da65c9745c60703b05ee7e253f9cd3ec96c1a0d366bdf71faa4cd239bb1e383c6a3903ad366ef2a7b8e696266ae6bc65ac1e70276da17df837056c6ae6ca2eb7a32933a3d17aec5586c7cce60d7fd64ec63a5b33a6fa2ebba4e37a81292271f335c74d6a36bdeadb5d8da083e657c2c60a385d49d75d59bbbbda2ebdae2af8b660b2450aecba6c646f990d120a4ded0b5fa9eb9e11a9f31223707e993939fd5c9e2013e15905056fbf199736d143691149b6e2242b592eb4301d76ee459236c86acb1145d970955321d4952458c921929a6d07232d57c93192d1f31646cfc284768696cb64ed1751df984e1ed99ecb6b2ff658d51745d5e1addeba21925b92e0b7cc068f17a9b734a4be584dc2352e989a5c6e70b3b1bd6d6b4cdf75c327ef1b3e539af2fde7a27bb47a53777537353a2c2b307bdedf27ccd3cb26b1f145d17043c75808e9d36fa90b2c82e733adc8f8c5abecce3a58ec12e3d899932735d593c73607dbbd5d78eb2f828ac2351e8bb18a1baf0c881d9b68e5d33d868e34aafebc6130777db9675f77367f2d62e3c70a0d39dd59f563658a9b43312f0bc21b2495f9b7346a750de29baae508854bb740589d447c6f0b8c13e7829b496d969bd6cb6a1ada37fa3b3b4dadbe863c3940cf9cdc826d3f6ae5b037dfea0b3feeec9968fd978d4003d4aa7d3328ecc2abba2ebc2e249c3e46729abb4ed913665a2eb0afdc9e6ba684aa6116ac60b0f1a9884f33e39e374589bce0d78ce5039da295974cdb54ee71078cc60aff47add1ffbd36b5baa049e32b0f6187c935f9c4e5eca2bf090c1b94b5d74b336d99efdb7d75582c33306c735daa6514ef82874173363baa525213a3c62786d9d9daf727b2b59738c08d54a621a0d4f18dc94ceb5d9934930b8776c381b7b11b2854e745d2c8be70bef5bc7cab4279391c62abaae2b1e2f3c8eb2994986addd83eec6d30566dba5b2dd372573d14ad175a53c5cb88e9f56afae6b5ffb241fd1d0cc3cc997949e5c17ea8ac924423568480c237992cdcd142133d6b305c893591b276dadb6db570bcd490aaf7349ddbd85370bac39faeec9cb570f7ede37c66b99490b2f1620a5d1fbaf6dcc19cebf82bfe7adc5c76db6d9ac2039d2fa91468f93f2ad02339594323b2b9b5b58a95099a947ca2c56caf47b0a173e7baeb6b2f962a552783819ad3ea3adb7eb9b51986e56466385347e6b4c42c1de86ef1bca0a5dbafb84095b8cf4216c56d6599d40598cd67abbe89c4d169bc0ecb5333617d9abfb6302a5d0d5cad7fa5bfbce2dc1b6fe66d8b4c5d8b72aa179b3479f57ca6f6d6c49b0ecd5236b2e4a462d6448e86ff052fbd3d28694d97af2a8efaabfeb1cde0b654f110dcd929829335efa5416244662aae708b1dac794b269bfc2daae1198bb7fb939caf49b63b708fea4adf436734f04eacdceeb1a74d69e731f826cece464964da6f0650ba14206698ccfb0ba07250d82b4b3df3ebbaff0bd478110e7bc353a1ae9b3f9defc01fbab31daf62dfac0fdaf637232a53da1c31ec858ffda770f69ebda8f077e9ba435ce6f11f2df1d58e6efdd78e3633af0e729a3ac96dda737a699e2c941652edbfcf8f4fe748b83ca9abd9caea5b550d2be417c6cc21a5fb6571bc76903f76ea7b3934e9ff5276b707b5e7feae4ffa5af230d2edbefa6d0ceb7d4dfc3e3ada47672852d297591cd00766bbfdccfc29ed3b288c6c6749a428947060fb6eb86b25d8fedef8d016347e7eb16df838175f7c27b618cfe0276c9fdadfb253f86d5055ca7375a3d5e476db4ae05b13da3fe573296c4c3027e3ce9eb9797ce47e3bc2e9a2f9948479a78eeb0ccfabfbeb7f90a24bb9345eba0ab5c6ddb19293c2ae076fbdaf5436fed369b0297f0b6466bacd4adc3464165b7a1a3933d67ccea3c8193eebdd8b1c66902789b1dc276eb77f295256897528fae6364eaac4b3b5a85933af75d631d6cc2c9f4b2ae1676ac7458e8d6c2dad36bfdfa20095a57c87cd9b9750d76a35992b23f866704fdae730ef68db5236b2abaaed2a853443c73b4e57b67ad5edfbf768f08d8def976d26ab9bd61082c9b6d3a76a3e38697d9241e3968fd779b85f752ca2cb5473c2060fdeaa596496b59f4bf1f98b3e17d489f5d0f50eb0c32d7762fd9b7180764cf65c7f6a484ad39e781e32dbc4f4ee7be9655f658783a00a547d6b055d6cfcd67d91b8c03d199fb4e07adfdd8cd65e17163039e36907834f09c933242be92cac7dc333658065ab6c36e3252e820ff5c430d0f069a78d290e241633a77c8ac3fc61eca5aed636185c789e70c8f199e329e6316d2f6a07dcc624fd17525f158c04386678ce8aee4afeca9bcdefc2bd0912b379c8eb1db98b38702d2b1569b999d5f2ffd94967a008f18ed3166b5e9f566193af784d11a6cc960d33b2ba4d64dc00386ec279de5bdef3ae3bf5fbc6bf032e8ad67331ec25162d80a214fb2b9498520e0d962e9d367919becaf8dc93dfc3e5619fceb6e6cf63e9129555a3265e6f4a92535a65312fb36522c313a75b032327859b33ae96db789aeebba6892c45c11b364c6a69ba49a94e4ba4a9f4a35e95e17eaba4e9f1a9d3a7488fda6a5d6f67b18e9cf21562959c3cb1c6b78eb958373ffae9550b27cd36f1cfebd57d9936ffe74cc3e1cdabcfe9a7a5ba66ceb1bb8ad576a1d63fe734a77c3539e8c5b9b93a36ddb868feef18d8d597cd3493640c8f863653adf3fc335d0daea7dd5fd2165d9ac1a9e8dd3fbbeb37eb07e4dc3ffa5edd1e64bfb59db6878f1cd96edb6e6bff5cfd0ed9e7dc6607c9332350337d35b6b646eb14549cbf02cde1aed3b47aed64e32c836ddf69caebd8f5ec7e0dcf517a38df1e9ad2dc5f0e08495327a2bf395360cf29fecda207b6ee35330786bccceb1bd2e59e5f885c6a87c52ca4bed85113e2f40fb96d9d7fc2073cfbb00bbf93d0b59bacfa75c60f43a56a3e486903ae7b6f0ba41179f72e338db6c5a88cc4d7e65fb646cdd5970ef2a73773edbf64af5906f727c77be144a081916ec7de9b0bfca1a9f3e760546df74d99249c9feee59a155f6c9f52353e93fdd76aa30e5bc6d3ed69864071d0f9122c6881014c9a6668445870aceac57c71e8cfdcc3e9fc27ba5cea684d71b73504ae15bd2f7dc9474d6f69c8bc23bfa7cc279ab83af2d8baecb43351d28b8ffc7dc4bdbb1359451d479c25347a1736dac63f5cbaa13a095f06947ff0b9f8cf5f6936ca709afd5c8b579f5d66fe565023b3be19496fa6d095b135d97087563c3a4b304e6fcd1bd6de7915ee6a2251d2538191dc39e934519e9b5a2ebba2e9a23576ca7a49ca6b0a29384c6d159b4b13e7b994dd946400709979d6bcf49386bfd285d745da526d954573233f39d3c26f39e735aeaea73ef9c8844ea504894b279b79d23cc591b37e718d368b95d237c7d4f63bb97944ddab6080f5edb7e5eb76f6f7b175d57aad4b6b198d221c2ec296de3793d56eb0d4557e864c222a68a99ebba2e9bae89d219c2a331425bdbf56ff155d6114247d7e29351c6c922a38d05814adb2075cdb9338f6c8120d961ac93fb3d427ec87e509fad96b17963a4b39d145d57918e0f9a46865c2ff36b69d329baae1eb0c7584617a3b4d439feedf0c0ddfa2274ec2e6b8f505ed1d9416ccc560ae5c77e6f324629a0a303db105e179b8bcd943ecb804e0e5a95ecb97d1f2f6cb2dfd7dcd04c99b9e2ab966e725da9516954ba097dd5d235d755f3354c3a38808d5ec8f536cb0a61bd37608d9b794756ddfd57b741753ee76d4727bb08618b68acdcd49f624a1333dca9417dc9da9d0e726c5dedd300b6c7fc4ed8cf52669fd4d2c1e3a3b3104e46d9df38e79dc1b5fc945dc71d9f5dfa3278dfecf6e56b1e03e8f5fbf17bffcd327ba2eba289d28101ac0f2357f70add74d572d179c1bcceb976355ab6344a3a2e783d69a3f33278efbb2eb6804a68eb9355c6cacdff58c0a26ccd7ecb4b9dbfab6274ee80d3d14af9b56c8e3632323a2ba0f0c66f1636bc8defb70a9e7bb3dadab1b9f15736eaa4e0326e2e7ea48e41d8fe28a810b2bfe7fc32f6c6e0091abb9796c6d8f2ced9cf04ec2fbb7a2f75be9d12d0266395d2e19373f29b7674f37ae7dfcaf7b9d268a553077327a16b10c6481973b350870e67ed7b66db6095f7bb69ac353a2468b6b667335ad7b6d96a47e0ec54fe43f87ca3bc758e57e774175db5fe6ecbfe4f62d9d111c16ced42285d8bf0e30b01b3554277d710b2e8a2ebc8411dd3faeaf3e9eca3963b20e8c6ee5bc30a6bdf27a93546e703ce0f7ebcf7fb4e7abd1de978e0cada535218a3c78ff68a3e556a2b503a71d058a795f2529fd4ffce50ea514d3a70c4961f2dd738395e797395743ad0d63277caa2b767f0afe8ba52a51b53c8fb4f5474de800db93e79ddaccf6a7da2eb92e2baae2bf4a936d2e1405f66ff66b079abf78a7dd1cc936a7fa0e3c664cdfdef65f6a99bf06e005e2a278cecef427e69db98d7f13765d4424b5ba4a2eba2414047031f59a4f7597c6f713e29ba2e1a383a6cf43ba7cf256dced1cd5b7a72c59398233346b4d823d73563d1d1c9c07d461fded8ecb41f9c34a65b5a5246670d57dbb495e7abd29d56aac6abcf6dbdfcdd0e5ec8a2eba2e960605a292733c66fe1cf1a45d745c3523a6970f456275f7ba77c56c22d3a68bceea67f256c7d1bbe145d170dcd1021483a17a8723eb3f3b9ee8eccbee8ba6850d7e5a473c664b1cdca288cd37277145d9796d34c8de99444cb69ca3563d331c3eb4b5b6f63cbb7dbde293396189d325c84f41b7378ef7dd4319a981812a98fc4cc5cd78cb546c70297d9747f8f23db6f1092e1a863fa1d25c339a9b56348f69ed155eb246dd7598b4e056e7d93b1c95152be914a918d96d475996e297432913a14781b2d73b0af6574462b86bd5fbb5519197bfb3a8ce767dfac913a68253718f7638c95728c6f7a9d9d2f5a9b5236b734ca69abec6cf9e6dc75f7bf52ee16f7a0b01b520b1b65d51dacc39dcff0b5fe48dd291de44387d636e8dc63d3cd41da763ee3739ccf9b93836d2e61ede9dc3e27591cbe5676d03dc3beb5e1c0eca5ce95b276d9a57cdf60fd3dfef6696d9d93af1baa8df051c6f27e1b5a94ecbbe7fba491dd67c3f737e8667f6d6b68b71fbb0cde66efefaf063b9fb27a5d6cf9e6b49f06eb9c64bef1b67386f6d1e0b5d6cbbe7ea5b6adfc33384be87646c92cb431be19dc6c3c6183d5c1cbf57d195e7cc91632e83c7a734f8667a76327ed845572733f06cb95c9476bb3ac46d95e0c8fd2aefcaaabd6b2793d0c8cb176fd3eb2a7eedfc160e57cb776acf35abfd5bfd06e6bd1a97b2a678bd5bd00df2357e9ed5d786ffed8956bbdacb573e13ee88f41285d95564edf826b8d2d85de55c2e7d1b5d0e2bc97ed9caedee9cfb3e0609b0ebe75cfcdfceac19c45da5a95adc6662f16ee83ec11ce669f65f65ea15dfc39ffbeb476b66b053b59e4dbacd5cb9cdd2a440bdd32972ff936ea960ad5eb37dace5bc26aa39d825b96d2d607258470462b85c79eb94ad9fe736d9f8d026daf3d7d32da8f4e9f85829c15b669df1d47eb987d025ffadfd874769bab6c9dd0afbbff595bf9aa7b13dcb756299cdc6a37e74cf07f75ce4965a5d2df2ea1b9e7854c32db1e7cab048e8f49c8cfee498f9d04eb113277a3ec5e1945c2fb33c6ea6b173e96328f679be52721b3d136834780df3236fc599d4f7fd50892b17daef68551bebb5a04fa5e679493b1a797b94a04672f53ca2fbf5a565b1d023f57fbddaaed5767ab42a0b052682db4ae21a4ac06c14de84ccef95c81605932a48c9bbdbbfffd03c75afb5bdf6b763cbd032f7bdc76145a97afdb7b7665075eea105bc7385f43761be5d6e870e5b4d0c5eb9cb6b5d2baf13287fa3ab6366de44b2d6b1833f3c68b1c1edaeb58bc7cad648fb29738f8bcce9b577a1fbe7fd83456192f70f0aff4554a5fd3af93d1d2158f05929737b4b4f742e7d8533ed92a9298290f787143cfe71e99f674d04d7f4e662c345edad051daf6aee1649fde900ddc8cd6e6fa8e3d4ae11d2224f5b2063823bc7236f720f4efa706b6f17b566a1bbcff3c0df5393bc7ae8ddcb8551b33735d147841c3644edbf3abb4639dd649116364e6ba6c5eced0a483b0599ef489ae2b743285b0f48b199a5179bdfa4f366d57fa5286f7281b7bcdaf9357be7e2183b396c54aa77438efb3d4f2553ce0650c6ede59995787b5bd88e1250c4ddef7da3307a79d37fa0b1824acecbeb47536dfc9f70bd655cab6bde6be7efbf7026b379db4af52cb269bde85f6e28b7136bb91495ab9302f75f8ec3eb3cd1fdc0263913ef866b4efa76b81dad66a9b0fdf2b742d0bf3f947cbde1b5aafacf57876683b365ab93e64130bf33126adcfe82e234b7985c8ecbd072d93d22d4f6805aef5b60ae1636ba58455685fe995dd9a6db74df7a8d0d44dd8e8b79c1cdfb9297c63ee35bef7def6ada5d01893ec5d19a9a4d1c21685d7a057bfccb6e1ab929dbc40415abfefde5a4bdf7c779fc01e32d7fa26fb6dacbe13aa3bcff7d7ba6fd8fc4d68eeb1b92963f407ff99d0243bbdb13d1b97d06cb9b9b6ff6ff6b22b81c9ebb06fbcd126c13d5aaf12ca26a7ab4f9170679571d6d8cfa1b576e6f1f2b65a2747298f3059ad1c63acd6c6689f34028ddccc667373f336268bc0f1deaf0feb472274ed0625ed4829dbb771081f61a596ca791db4dca210a684ccfeb38cddda9c8441b0f4be732939422058061b57362df43be3fd81940df9e56b73b66df4f980d616ed9451c6caa4db1ed8daafce1829f3ad0f361e30793bf675d546d864ddc1b5f5c50b5d73ca2a4fa6034b9fa312bebf77e83c07911b3a593f36169f4e1cd4089fb6c6aa9ceede00366becb0c2c697bec82f3698cede767ddd6d0ddc93b6cee968ab7ee76ca2eb8ae28506ef28add2d1e770b2d8ec058f2a6bb5d13aefd66df23bbdccc065fcc89cbbbd471b953278b2716b0ede7f47dd41510c62b4535a47adebc92a7418c84bdb8df2ce7ecafc31d175fde834e505ecbd67a5f4486d6477dd92523fe9480a7533c5152f2e78f6f1ec29e7a5f523a52d783cbfa3abef5ad75ac3292f2ca8d34e2b63df7ff072fb3b267595df3d4b2f73d6e30af8ddda1aa53ea3736cac8a171534fe6b2f774fcb2a8c2c05aefe64eed89945c165b1be951e9b59d7a2135d9716d3298562f26e72720259d96bfe38993a6bcf5946d704f6dfabccffd13669b45e02f92e7b18995919dd8a6cdbebc50efbefcf22df7fcf97640a2579a9c3df2b3737b3cbf072d301f9b54723d3d66e29a324f038697cb631f8cc5ab65366522f85be8c80613fe4d7f8dd3b5deb39d8696476a737ebd29d4c29fb36a8d22884e445041146682b33ff6cf7ce22295e42d0f259d6e86bd6fa6455ca419f3df91cbb7c914ee99cbc80a0d2e7fab97a7bf23a468bbc7c003aea9899d6583de068dbeadcd852d9de5f1cd5eb7bb1d1e7064775ee51873e235b7ecf7520be199bf37e2d9b93d5bd6159fd862dfb59e87856d1754520027fba419948d60b2f5e38e04ecae71a9f8dcd5586a2eb3a99425f1a9198d0bcb8e1969bc1dba2bd54ce6722262f1b88eeea845fdbac2f727c6983a9bbef1c74dcd34d674d5e34f0e0e346655bfec76065c3d5e7d51b6477dfabee66203a4f67e1b5f5233fbb863f37193316a97bfad1aad1504ef914befa2e73b362a042d98e552afdb6461d4de339f9ec7c90dafae4fc88c6ad969f9b74f6b5b536f77201c81cebdbcf9ca5524b93aed851a9e5cb19564a77eaeede95eede2abaae9a1b14cd8b192f65bc58a0c90b196c8c0abc50e0458c97305ec078f9e2658bd37fc6909ded581d832e7bc0d9a6acf1d1fe7863bca2eba2d1f2558850ad24c6b2c3a50ef4cadbed58ecc2850ef74ec66d5d9571424adb0c63e126275a5ce6d0a03fd72c3bb3efe45739c8c6d5d999b78cde268cc3fbed162b6cd5c2f7bce140656df4df6f334f39df60ade396d41bbdb4d69ea2ebba2e1a2633a99b26524c61c4c50d95d6492d5f97704e964cf4009736506bb9ba6fdfe83f69d970a9a3f671b5b34548e71aa8b372d2b63f6d536fcc450d3046e9e664acc2f6de5e97347865f7e6c3eb6870cd3994eebdad90ffabcb191a6ba64ff294953d6ef1022e6660b41d65ed71aceccee965f0d69addf94eeaefd190e135fbb4f6635effbb39b6ca7019838b18feda395d65e6d1b52799172e61a84cbe9cb22174c73e2f181c6b6eca7ed65a257dfa0518dfb787dfa01726a373b274d04a492b73e9825f367dc6b7d5c1774db9d0a084d5be1aa5eb544f9102972d3c272f8ceffdb5eff62aaa2e5a883d5f83f2f6ab7fbb76169ead7f99d127ed6bb3a71eeedfab747274fedf5c74c182acf77db2c7603fc9d87dc3e50a14fa7d970c1984b749b602d7275974f7590ae9e41ac34f62d8490c37896126315c450c27800d972ab87feed6fbac25075ca800236b09f939f67d9f7f0a93b964481df79cd6d915c3450aef7feffcf7cfd666d486e11205d922f5b7ed5ebded60758102f52b5ba591f1ab8fba767942a30d5aaed2e37592d93b41b28b5d2fbb173edbc07069c2ab7332c7a86576ecb0b930a15536db9c93ab57462973598253c895596cb799b9cba2eb1a42d3dc4d8c90991ad32909939909b82881bd9fce668f5617295fe914754902858e3e6f92fe8b14ca46c2d377637d15c6e8da7abcb1c903566feb9ad59ed4da188fd0934ae8d749d75772752e4698f15916ed647b8bf0fcece8bcf3bac6b05d22b8bbdccdea8ccd5ee61fc264c9dc49765b3bc7eb42600f460a9d59ed97953d082eedc36a27eb4725630b040b39d2567bb2fa03d7a07c5f5d9cb7dda53e98efa18dcde86c2dd2d93d707ff75bb3acae3e467970db397c69a16c1e59a33b803642166585d03a875507b13e2a1f3ebfd4dd477340a59594fe64d70dbe9b38f8e658bebbcb6e7cee37788f676bb7d5e648ad0d689c0d9b842eddcb6e5983ebf8b16617abf4e64903579d3b85ecb95aff59c4a3b563ac9dab7fbfbd9dc1bb92ce59ad4f099957280396efd1f6903627a3f418dc5a6b47e87546fad4c26056067dba072bedfff6822b6d6df41f6419dd64cf056eda3ae38d97fd93edb6a079caf72da3f39b76b2e0323ff75846f8cf2cba3b28958dcd66ff4efbefdb0aecb33be565ca2f4a76990aaa7ccf6df49f57c2383905f6a9abeeaf3f76ddf50f1d714101379ccc49efca62534a45d7850a5966b89cc0525b6f63f3a5b7b7f599c0ce7eb0d9b97fadddfc779393274a66a25cd74c172e25b0a35ac8df58d76a5ffaa42e7530a72cb6efda2263cf41173ad86b9645399d9b95495beb702141b52d3f3ef55ad942e923f84bd925a4ed1bfc59eb1c8db1b7d227640619645204f479842cb266a37592c510b433e7626cc85c76837230a46dfdbddabe3db70782c75e5a09eb4b375dfd0fb09ceed87333caf6a0751e98cdaa53296bbbf4e3c701e937bfcbb8592b7bc2c16e5f1ae57f8dfca0e40e7c6d6e36b32dca199737ea650f3ac80d21a36ef98a3531c1e2c201e91cd3c6187d75f2bff72e6e7c855ea37b8dbd9754b2cb0628b77859bf6f3844884b1bef59265b7cf1dd6dea34606f8bee4a77dd73743667835ba5d43e8dd1b9be6d3340db32d9dd3d194f692baf11af93ff6f5efbd3db3a5683bb513767abceecb335d2b86040fae36b99940e45d7e52413c9250db78c9df438efd368e182c6b3ec9fd12b19a5b6dd365d2e10db237cfeceb165f4997a2ba9a7e2ba5025973318649697e73bb35ffda9b898c1b6ddbb6eda28d9bdb7a2eba2b1e95316535cca885776a4b552eec7ae9c166064c4e958bdcf1d7d7619c3a5022e14b8df186bb79943da5f9915e02246ad7446da66bb91ba859085d1d339b57d298c50d6db18a0c4050cfbdc5ee768952f6f7b036886086100152e5fb86cd9a3c9a70e1f3a7ce620874f1c2ae4c67d27840ecaf6e0f0687bb5bd6afd45c9eddf306993f3e537f62493f56ae0e38636b0e1b3869ef63adbd6d8a5f755aef9a8210d6838038dce5332f4cb8ec2221f33d086ef6bb78df1b929eba70cce69ac30527a9b3fdafd21c3bc0d3e7bf19d422699043e63a8d655189b8dde22f011837b7c5f93b3dad8b03a1886fb0183023e5ff878e15d1a29ac7e9964d5ced6c5a70b2f1d93ed6d64b1b1eb9e0bcfb9d6e4e44abdb1bf6c0bb35d3a33786d4b07bb99f1d142834d597d5252a63cbf94052bdfd9fe748fc138e55f1f3d6c6dea95d5f92a8cef55d175a1987cb0502fb3ae76a5f246d98f956e12f0b9c29397cdbe175216f9d926ba2e2da19315aad0a843d7f6e5752dda7e4c3e54980283efdc93fde273673b5363a9fc4c8da5725d707ca4d06e737ffd9bbd8d362bb3f844613e8e0dca08596551d66bc5070a7ebd3a65da8ff9b2c9a7f83c01c64addbd0c3a6a296d728b8f13f8bdda9eb4553ef77dabcda709fd3fabf36d5f1b9b5086f16102fce826abffb6b9b3107e96f0dc9ddf2ea5723adfda1f2550d6f4c65bddb317bacb44d795c52709ec33cadad8bd1e996df57e142450c6285f7e97cf6d654d745d352fe593c7ab2da3d3d9a67dce648df239428c0f23a45d9994add29e12a364460a11aa454f3e4670ed92a3fff5e65de32d82b4503aeaf2f64fc6e044d50f11ecc78ef445eaa0a4acb288a649cc942b3e43b0ddd259ce2bbf5d9a1a4bc54b2fe5baa87c8410257bc695b9637b5f65a29029755d483e41904e4a175985b05be50b19101abe7bad33cf6e6da164f2f9816b48fd357e2fb694cfa2eb12a54ad745f3f14194367e6bf56364745626ba2e2d15c9a7078c079f1dcca6feeccef9f5a68cb2417d74e0e8e4f7a7b227630e99e8ba52373534498ccca46e9a9492883e39e0af6ca96bfce4102133fcc141a4cecc5a936de373e9377039ed7c96b5cb58d9531b50f6cfdd7ffc1d9f61fcd440c668b94ee708dbbcf54303272ba41176b335d2f778f85f972cba43f717f69cc0670630c2185d9c533e5aa7958147dafc3d2ae9b3d5a125e31303fbee9cf749ae7fb9a985c19c7de5bbfbd4fe9432bec07db765786d776d523a043e2ea08f31668df9948d71b71654c8fa4d1a67e4e98c350a7c58605b5367affbd9fcb9e3be842fba9e91a19d0d57009bec3aa3f5e66ed776157c5220df27f476a964cd59af0c8c0f0a589df29bfdbefd2673667df139c174adfea32f4ed9cd3eacb1e2630277697d4dab7cafdfd9fb814f0958d7f9ae8dd1b9dbd6a71d90bbf693d2b277e1c708c7a78ee8ec6cac31c8d86bb0b2940f1d915128217bb442661db419f890a051d83ff94d86755ad63e23b0ecd128dfbdf8f33dc3f199233a76eda8a3d45d49eb14417bd1efbb6c36fcd6d0b9f10981bba74cdb9cf19fda7753a5e7420edacd1d9531d2ca4db20682c8efb67f9eed39db604de3f381f9feedaccfd3313aebfb78e0dd33b4d3d657e3bbde3e71f4b56f3697cc2bac31be188622c402e303c76b55b6ee56a53fea4c76e0d3017fb2bdafcf6eac6ead45a5acf8bc41b93aec9695b1ecfba0920f07186c2ba93bb377ce2785c0c70d7690421a593ac7188494029f0db8ea9255c99871924f1b93c6dbee24a395b56a4fa6d30989968f06acb7c7dcee51ead25b67f9b0e1e86dcefe33d62cbae944d7b5804f065c93775afbf7a56c0e999cca678d2b6183b43e565d8c9355d175a5decafca8d16ea3d0d9960ca8640fc974912c1083188661008002368d060a00a313002040241e8ec562c188549db71700140002506c5e923c261349a3a140180c8442410c44411083300c034110037199c390593df23ac23fb19840a4c35ed17b99477ca0ea9bec9d0cfc303744c3c4eb4bc6d02843b0ebffac05792113b8003afba691616d4f646a63ea90fa5c6dafdd032b22a27afa0b25444c9fa2993f91390c758058f7a6583dd0d0470805f9e397247e1b114371481617148db7717238afdcc252393cc5e365cbc77087ebbd1ec579f74cb0e16c1ed91a2f43ba488ba565293018fefa1794c0248545c1e45c1f463cd0f11f2b60a7c338acffdfcee2dea68c82ff360392f158490c2e3eb3783605649494051dc8b3c03046ac64cc40a44d5984338c87afb1bc475bfc2e26a4c035c361e0473aa4c26c8f842324ad070efc31d7315206d5339442a7c64171158162e35244d4652c6ae8eccec6930919941d3c46c2411f122d3c9d0834855025a4cae7c38b269b40e4c36d57c2bd6b0d1b5b654c5e6e59e99c37b6a6b75a1b6beb3845be3ee5eafd8ad9d65a9732c6aba602b409bb9ae30faf0fee0ece87c401f5495f8ef6c7993d79e6029c978b13de9c099853110e8eddce66ca0fff21142ed4e179e1f0c4d38712cc9da903dbb668a1b32f5aeaec0c971a3be0c50194f3325c30fbe8625e42411a520c1e970175a01e132e8de0a42c076561b338d55c77fa37402bbc455b23a029b609b0e2a18569b5ccae21c119b404cf7c0b9dbd01a0e1bccc57182561a0f2c21ac235caa33120f101ee6961e031afb34def654d7a93189ebf8c5f89c68f141528e890096b7d7f2ba1d0314ec40413d1ac980c7d006550124282e1892860e63b260246f8bb8bf433368fc8da23ada8919835356146feae704824109d71250338f5d73184bff4bbcc5be675f9634508dadae06d41c78f0c258a6a6c2a0dcd4f221283594ac9f00f0874a25559d228bf499bfa5ab1c867be6bf5db3a1ef85ec31302fcef6797ff6fe089cc78c8a4c1426f29b23e7589c531256c4415683e7b8617e781ba08e00b893cbec542f162a3d0f5500d1e805cca78308b35eeb39054e915a9ea57452be958c944e440583a9c46946dc796f0cdb49cd401f97f9556e720e5e61a26812239fb7915e7c53ce4e4a6cf7648b23f3afcbea566b6631c9a7280d2e42491ac7c462a2d83584c2294a6c92e56592d49ef1b87eedd30d431743b584e3b59c57474c724c4e14746c0b9c5d96ca99bdf9ea0817e47aef1304031cfa012f47fc6957dd7b3180788dd57610c9a88357d94f5c738735bfe33046eb3bf200411a59d76413a0d153aceec5760e91e7fbb436d834d4fa41bf0ad675080329b23616e72c66d1101d1843743d60ace30f85a4f6a2b57c856de43ed1a029b8b380142f42b948311ea6960237ab25279281429c0e667cb3ffcd4155d04e483e656a6fc50be507e807261214874da68aa5d9878c5d3ea5bea2c955f7cb84da4d293f46b94630194185c6b5c33d012ea99063ab844bb0d196012cda15ecfc4bb749a50e4298ef7b5c6b432b2b8e5742b6219e524809d52356857183d73708f548183df6f2fc19258fc7f64684fedfae3bc9a37b7ba9f1c1d1ba19eac51b758c7c2e79dda284c8b65b610c7f08b1c7cbbfa7783dbfbe16539cc0fca5d4e8ceb2bc40b220591913c25696d3861484aa3271dc87b4e369ebe90f51d1e50c86a38511ef9c1ac50fa181878f26891412299f535786e1342e26a31dad83de2c98cec13a6035dc85be4b7aa8270e2281e3c65e06ebd283567eaf48a678b72f01dd575684af27a595898d633e568aae94028a51d912c6803b05af1f25932a1a8561930c207298ba236a7cf120f804c325e096da40eb475317d2074638620e9bb18ed696c2b9871afe334c3f12d099e66f434ec7f73e99152dba117301f4799726ef697be2b5b05c5501c8f8a9510f895e864ac63c1e883781bfb3ca277b1174bac9f3960fec84c5568c570b60e9d302a0a0de4104c44792caa325a29bcae0427c06a462d022c2495ce9d6ed1713f229f00c538638bf334e9d8fd3e51654fb15549df5493316fcd5bbe8d2c3b344f1165ac3d9bcb5390284d180093a408e30844d610eaa99f0771c38893934264913c5afc01cc02b2f13e70450bce5821bad310d269e67b9556d4ecd30181680362f9a5297d5d449322455bd90f65bcd2b4b4bf57645a59aa89c4299aa2ab86a8b39552a8464aceaf752a24b9d745d49988598466730f830e4dc4a06ef9a074cbf16ea04f463662ba671295942b866537767f9d4faecf8321bec391921ef1d2875c914352f7f9ff14e603353d199715135eeb83d147c9031fe545870516f32bbb326feac67250cf78521cd2e15cd0d7358015548aa80931780b0f2e35ada731896a7ae3e3ffb0f883b6dfffc51c0f06f345ecde0bfb1fa1fe79f4e56ba73089846031525002a5b95501a80951330521fe4143653f9378a80500ec5d10428eb560b657f02ce968dae1b9824b62311bef96e80a953c1738d577e70fb5f2a47666022ed4ff9614d9a483d6fa42fac647fcb5aa6d9574abd6471aa9be35602d8005abeae78f48b9677b016d70c2b951137cb1bc8634bc078c52ad8652db43c943d6be77375c498e9a977c72cf10488840d4a87b63b5edcbbf3039bb92517a3eb3443cd1e01ea2b53a476bc952e21f625e320d0913362394e86a1ecb1d6def4fe9dc2ab12e35c96c4dd275d1223f7c5b9d3a98732498850af0d4b600ef8ce2712b6a956cb4a92b78c97e2b69bdf1ac58790228d424aa465e5ed6f44c94d5d34fe079fe89c01575f5bab22f4bb45acfd6e600d8e5c8150ff8254e491a864a276d7cc87c720174611afdea4aed6a936a1e086983f5abeed3bee0c5a687154dae69c2000ed773350fc4815fc179c89ac85428786b382542c4ffada42f5585b6dbde002dd407bd2a0c983c1ccd26f3df20223b0df8a0495f65f1313dccc7afd3bce0e115c969f7b3491770dfdcf3f2c312fe2975c8ff433b96352ddbaa30cc9daad0bc2368d3af7d3277e88538fa4953d8b0a03a3be9bb719134c0d17908baadd84b2d8e019ae5761d5c3ad72bf4b42a218941b3e8bc8a8ee8ce94b58fed3c68fe1ded880085c96b389985387b049cad885c39f172f54ca0c962e218dfc0e8646c7bb67775c0a4d230a61b1c3f57d5d670659da9ba88305c8464defc4838054a7604f30f46633471efaf40980bfab445dd08bf7651d1d21886152d391c38e003d7e4825cf7bfb1c399df95eeea970c9f1ee175b431003287973cf140571945f9f9ccdc7bbc9ac2b6a921b8d0362779a19c50841c64b78abf0a3ac0024dbbfcd34376a4dbf52c0107e5c4699d68b91179d9384a75b170e610c3ff7b66102c2a59f2fc82bdd9f197b37e1fc883f3c1e0a379eb8cd8254452c3614c471d10ed05a59327bcbd03f15d9c5241c9f5e1be4479586e7784a4f97a08abfdb4fedb4fce4a8af0e04e962213585a97cdfe9c00a6cccfad8425de8230dbe75700f4130f73f89a32055e1503a70f83fe5c36c927ea94a49c92f38bf0153717989601ca22948cd117ca83b5e4e2e46eca2378b807cdbfc6cc865f83ba775a34c646c6cc598a02a2efe5b08e9aa16fe9c6ca7915ae7fa366a821c10b9169e8f2bb89642f9141bb3ed3981446dd9216c04974fb78063832cb5f0e37703a6975d158a22bea2088abbca20cd75f50b9914332a00dbf81f6b4f67418417bdbd1c4d2f6c467073c156f7d9c3172bdac66936c17174e639be531b8f0c0295ffa39e2429b29f205fed556163d6867aa7d14454de3190551e8f5c36a6f609e3da2adf797e114f532b17de7483bb37c2064e0c90ebdc607d627bb3b72d00e3d3caa03790da051af96a8710135a98f3ecd39a202cae0f8223e10462aeb13caa2f3bd0626398734ed91dea15474338c6a4b7e884b4984ff889740264601c4e36b270322a2092edbfdab381d4b99eceb605ed5139a45bcc6792940de53e66488566eb605b306eb000509cfb724ce4c365075128bbf0e04b98bab751d24143d6f900810e19382042456c276bd25c242d0ceb919c57f36ca3b7482be7f3c53620dd85a79f8c84a80404afa9b030f3f7e81a6e8f1a922ea4e937585a6b177193124d9951ce27c7baef498b8ad9bfb2ab3769418eee7b669dc19446d546a52a589e396b809fcac4f30bcaee0a53e733f8c0dcd37a73b4aa6dd69e7deb9462b03a25fba23706672d79eae8aeee9c1a9f6e743f498378fe999b7890673fbe5ec3c666aeec25ee467163f6e2c884d608cb9c557ed285736d4035a41cef9d53646683503ccc02e65ca29408c1465f7335d2a14caf085b43ed56a571ab2e467804922987d8340fa9e2722de42643b36523df14562b7ca26dbbdd58c884a78b78cd8870268fc48fd7611839523a3ea88d650d654b446811f54ea7d1ee46b20c05afa9e5749f6a1c19b06965256ee38aa19a33ecb5671614497413733098b9618cc5f121e3d304bf28a7b798d2dac430843d49c2a3c77fc0a337acc970967355cd4f50c86d62c2083c4d2b45aaed7da5dbad1cbea3bd662594c36da6777d1d8b82d58717b192957014f06fd6fb1f880ccaddf7f2233173ac31bc9a608d004818fcfebb8f82556e92ccfe8d475e20b9334ac34c8c4fe9626be8e52225b21a4bb7bb23c78bd07b51a57e656a68367b783238f355d678211bbaa744c76a652743138c910552dd925d28d3179f22ef018ab167718ec511010aa387599c456456ee7403f4fc2eaf7cff9afbf6fbb922060f3dcedd363ff9777ca00953e35839001ab3cc4dad328d542b3a55c1be1e884c7359a7927a9540d3566c59a33321e50f613351d9c8aaf138cb0cae73c72b89c216f055f71176b3a823cdf119fa3b670c6ccd5faec6f47478b6fd1d426a16aff61831fd388f09eae3ed4b1ec4e40fb2f179c6645436097816b82edbea2f415434b91b557813596459844e4ded13716404e29dd1d6fe99e00dfa95dc10991825b713ff86a7b5dce38837a2192d9e904a162c45dfac9218fe6c5df0645a5ebcc04442b3b7e2e3b0d51e4ab44e8a2be7ee9984d6328946489959086943dd7dfd6859fa6b0f6b2bf61ea8a2584de7a13c4f6bae0dafbf7d94627f340f8cc73f82f631e67b4894510c0887b7dac8337d909a1204ff4d33cfd41d49a5ca44e1d5c6b482a710bb4aef2b246f6d936a43f0e8a496c863a78525c6c4438765656d41ce1d0a8fca929e9e85121a1d9f954518a4aeacdfd755cb907e60766370b8f62c8c8e5ac6db72de663dfdcf59c0a98337da6c1e3dc3985bd139f87801cf73df93a29703d5fd903f1cf3ce37cdecf48df90f630327714aba3b56ffa3f9dcb165bb0672cfdafef8bf2ebfca278e9e6ce0c04774896dd2407ec19d37e99dda452ada8171919c6b459e82f832b136cbac3838139588d797065293aa0cae271ecb802b9d681f8ea48c90df2a52fb5a39a04f631d49d487c59f56aecf192d28e8955e1f7db2f72974b9ae6c7ee22bbbb8a47f9af0369a30cce507f3e4d79622b37d5485570943b0acaff84aa35acdd942d7d9194ec6d4567c94ad14e2cbbd41700720df1dd8d607bcdc0d22b7974cb425499994ffc7466631238c9e7d90e146386473f320e7cde9e00dd54a5255db3e7eea16c23ea02fcac3cc749cf489646b0e1ef536137780c884d410331c2be5485e1784e9e8bfd583c7868f67d256c314375a77760a465874d27f5d6bf35a3140df946be7521b850c086dabc5fabb10bcb46d6ecc0e6aed778005f68fe42661d1f84054fd8107ab625b189e4c66246f0016ba6692748f4aa8eb545faee117cdd0bcd60958e6a72776c71da6aa3c4764b5c0bf896609e2147a586e38d4e6e90ad85ab03790a21ba32b4e2cbb9802a8f7d1c5dc07ae8e5b2095158288d0a837c04c5d2de16f53e021bb2674654d863405140f00c2e110b12f96fa0879fa0d698498a223117ffb07dfa8ae61220f4f2a000a9e1e93c49e9b151c2a15999515387a3a2f2a586a40346858746caa7448a0ecd11cf4c0a9e1a160f10149a1b393a2d28223667e2eca444c18242c3e2072c2105e8006739f02f8973c37f2ee0405b2310a31c42a6d98f7929459e5da08824b34633a9e4e666f214f992cad56f8549fbd38c14987d5a590267c4c435e74127e5ff7bec10009e96466706760d7a7051652708619e53bdb2bca406e6467e03d2e5455bff3878a3f7e609858b778f142c6cdd09d5a161cfed31a8533daf73d8abc06728915606350387d636576263c11e52b137c2c44e8da2cef1de0acb1f15181bcd339fd96778fcbe8429252872a87b39f1429c47f9e9de06ef57a15a28d232f94698ca78d41c2fdacd1fbc6ab01d69301c90b71c19c6cae65f13830115b43eb367812655a9f837db09ba90fd9df2a78fdaf320177adf93f3833156924b08359c7bef6874a9cadf6f56bed2b4f48cc0b1a7aabb770262530870706891b049cacb8ffebc5cc6409773cc558f1497a4bd0baf61ee3243d91205a90cc67581c9330489208f836c3b8208ab8469d626258360d746744651b147a6885f33091200e23f5bd199084fb95c7c41a845de618fc1f7431b99c9e2716b55931217f2e5ab1a882f11bb58e78c8f14b0d6ba146145d3154b47a5aca6752db89fd9fdb2b561fa0c99bd83b5398fbaed492a32495b0d2baed76c07c11533e7656be8a53fe30a458c4ea90c9867495509767a92ec9713f5b0ab6c899c134fd5364f5e698bcf2a26b5576d855678d9e02eb87edc8e273c4b54cb68cbb820b819a88117bb6c35af649983e751d3df86a5c8942fd8e2519ee33d6d5987a3127dbfcb11f198847b18d5da515886839876c98d5b17099d84f45803007fd38ce754ee2c7dcef789a9de5cb19281dec0bf4d2286521b28393f841b4ab861d9a3618749b0fe118fea51a39733cca30d5d855a47522d32b2f3a7b0ff037de2d43b116a7a766073583f01304e2781e1e242ce9212d9483402f8b2d4e4bf0ad02d56303db6571696458b401c83f86d0d3d8f53b9ca2cd3165c3017730796848115746401cd7f8061ee660ff4b01b27b60c4b28df4d06af4567986908821579a32271185b3d043b5538d7504b0be2f2bbf6c81dbd1524606ea024116fb84bd750dd71428ebdf48aa965c04f9a5446e5de04efb37222481c717c7636bf75140f0fc4413a8b32dfa8ca4e0862991474823484aeeed26b31e60e8e529322de59b16dc92f23ca0fbc07ef0f74a3c815ff5c6135afabd36d0877aca8d43eafd5dbaf3e6a20e99720af24205dafb619f4d84fbcde74dcd1e9ac574515bd617207038d0eac461d63a2f282366ec208ad5a653a99978a420848bc0f611748914192b8352a732917858d9816a247257c49c8e1b19565bc4871155134a5093e1f2af3239ba58558bb7c15a22e8f228540316dc44c554aea1c6d2dc6630a546145495065029acbc3e6dddb31133570e4b830cb8a21e90fa2f48f6f10d0ae603678864ce940a30e0488286f2ae5950da975e98180be564f1d51a2dbab1ba08c3c94d5f21d07536692b9bff8cc91324529a97334b5388f2950851525a981d573c92c2466b110d4329f80d48b543ca12dc61a96819492583ee704959d62c994632d7b6699953325cbdcd22ace4936ab9d125659c60a52e34fc33090925542a8ba92772f4b15847a16d0c50ae9f7258da22db26885ab46653e25a3a011532bf40d8f91e92f2b0bb556f52e6551b023134160e648999654d6055a2fa6c710c8c28a4254c59ab9364b12a398086a594f521a451d2f45ab18e087989725f5afb8a22ccc9a48e390eab284167bf958f2559a5183d878692a8c527e5164d20ef854034a5e0baa0df57ac0299203075dadba3af1c07603b341d468606ab54b12754570b79c9f7d843ad6f47b45ea87143ad85f80696606a698db94224581993a87a8d15c14aae0a9636098908cecd78eeccc80625cb44fc2464dd937ef7664d65b98daabcdb1f751ab17a9d57878df04e54902852b2bb79d06e6aca6def4f49c4ef4d4455f38f5f79daa78394a6716bab9bb3319cc92ce21613c050d1e90095b80612e329e72a0f08eb5af4774671d1c49bb84f22dfc57e0e416338d5d0d0b503a8afba6a9e26e8ba6f09d4f5e2477e30350b0940e08eb5d5510bdf98212f26c81dd1ad4e41e10c8d9b23a6014dfd5b84384fc34d035034b44e790b0a8400b13e81047698b4f0332916204b29b0aaf66e60c5f192d6eec810b428e91002e4f030bdc0b8a147477e1731c21840ce904108529884006d478ff48d421702185e6274c010432a0c4fe8d28e9fd11a903e0064bb33120328b0022168395bb697d64405718690f1e5fb6e64c57541bae8465bdf3b24eb31618696968acb71a4945a1ae9424ea68f894555cebfb4283953c41416942512a6876a3e9f32642d17abc174834eb689fa80ae686cdab99126188847c2f5e6151caf429b72b5e272b690d67e27921e55a6af4c2318da8da10cbc908974060cddab289d06831f8b8262c3a7cd11ecb6bfd98061e9cbbed1a11770da6eebfd5b1028e81dd3de2b76a55d09e1be55699d6d1cd49db4d96e053f3eb6513b62c5d15e2894689428bcd1657cfa972d87b825412f2b859d5a0af65573ca26c6aa4926ac6c139f76b7596cc1d92ef8d884b0652c5669b09a4e5f1d685d74b474d776fc22829644ed86c1e68d7a7e70a5cecad4cd9464ff77d1768c1b17ee61fddbba3ccb4dabc2de351195b53a28c314d657e9956109870a6dcf815d806e6b40fff549d7b455ad07e343874f5e4bb161ab072a76d304389e034c7161820d57af10bcc00abbe2e8504b16944d78764020a9d3d8e100d81dace2d06995edb84d043876cbfb6eb86c152791a9f4e727c1a05422d087078045c06e9ab5799804b27076eeffd1a27558cf050238b99392a6a4b87a5e36932b40220064069c2d8bb2c91b2b8f286f3b1904030056fe9349dd7fc6adba809def7436907c86ac3b7384aecce861c07c55fe33a5d3d899132c91a06e202c8d6dc875787538a6c3dc03b2be7c495cc3fb826750578d6ba7d6708d16b3b486c45f9621c2a42b16acc688e174ec42b3a10aaf531182c531953ee9d4600c7412a16cd8b239f008ea3e62c4c6a0c9c1e28e780606162bc70d61e384e39cd6c718d49209a2c143f5ba834b286f973d82227de2d7a8874c0865573707a8a9fc18de5a4a94b9873cdbd421e2cbf967c073c7384c114c50f90053447103c41ec1059403385c20ac44f4236d37356fec4f8e798e9a7d7ab4264687333c50f4dc1197f55e9a896260d75ece7498b1af9b674ea3841ea8d211f280ad084e5ce23b4b43514abb380b3bd282c0f0583a8a91d7cecb1467a1ea9a6b74754115fa5ec8bd63e9a27354b0bb8f748ac829aeb5064b12eab6eafd2c5696e8f26789785daaec5a3c1fb42fb7e48d9be52906c590c2afec8b3e1cd7ec25c73b9375ba7ac695e351e26ec5ef95d4aa2e38310d734d4c6af0d187d6d5c5b924cbcf34724f574657fb688e7b57e83a89cfc95a93504e33e7734c7a248fa2660ef18f3913cac17d7b59be0c1d8edbb2277b54e7934aa867586f55c21c3164f6ff946dd0d1329db1653148956d2dcf0290d40217a46b5afc315dca1a8d5ee66603d5ea12452b502dc23b7a9c79b12ec25f145a849142b651f0b0a3571f807adb42346453d0a9a34bfc0fdf3d7314d2ad1cfba6b79bb0a07c15d455af9f17b2b23f679212163e8c6c7c7b3a9372fde0b0d8355600a10c14ce335f6caee251f88269192cf58c6d68c7b92f5f7b91762f0ecd606739857091cd30b07c6dac88e4d938e4cada3883d18280c07cf710c9846ffc45092e30cb52c88ebf199aec755c3b9252fff790dceef1b344aca9c897f23ace13981544ee13116dfd4e2452638c07a86aa51f1820b60c61e3ce3948b39c4724c72b7737e06c572cdc2dbc95540b9f420f0bbcb81c65bd03267657d7e4047beb96230b12abb0680c2ac5d71dc8df13055242ee87b0e23238bdadab26dfca7ac74e23a365560994f504ba84c1f15a0b9d40c07009147751933e50cfe57054560b05ff28451278b93a90d34fc689b57a8cda6c92a8d9556c51a2df2e93401fb55709e1307e910ffbca8c15e0747156a9814a2d60ed1ea82689bed5f8c0958307acedd2e4daf78f932740abab06ab4819293f70e5875694d27b5e0d0970061824cccef80884f0b3b9012f0f82559afe0b6db5f2470edd3dd9b649572ac3f12e2892b6f11c0c592c864fe8dfc566e0987853588adebc3cd6ed3840b68714c571ef019c3aa3e91e3fe9ff761c865f92658979a246d63f97c01c5b60df957c3770e6f47bec4a066f025a884bff528d5d82080953cfd24ff9a2d1424b32163bd760114ed12f554d73ef5f2092a4d496c8098b7909027add20336b1c724ee218ce293ff39c2c469a0162725ea35680ca4a7126cece2270a3924f3257fbab5b62b58263bd74136d9f610f377d267107d7c49b0e2d73f27c7bb5cf9b086f70276c1463275f44ea354085a4d0108c9c2f392beef0ee763b160501ae0c1fc03c1072bf742b2c74c1e613af4e3d6434b730ef57e9ba40fc9259990559482f21519fe2f7dc22351b15113216a535c3fb212ed3d03a9a5302509c9e15e688b66ce0e3307ce88c377c562c1fbb0c800ec16545d421d38a61d2d1a06caeb7891038e85489621365212292cf9fb964c699bc8f6b38b534d0cbc6d73aa4a59345c9c49c427b912da9b0ed28c67a68b10f034297f2426656b77b26191cdd8d0a071f20d0384f43e1d58b136845e49bf58201e72ab5d5d2df56bd2b43125263f818153c73ff890b1ded20f1ed140df39c293f20e5e9a84ec8af4926c2542934eab4027a3fd66d505fd1e347abedd878b6d26ee1109ac9aa64f7a4dd95cad62d99271f4e0b1d9ef50e80bff545c8fe15f95d9a3907ef59a030fa4e736ee296c6f9b41e21b465ad267207e4112103777548e0b51c6b07bf492f71069c10ea549a5d3fb230f0c473be42eee35e4c5c5dcd0a4dfcd485f003ce0f4f636d0cb1a9c02cc1ab8d106b9488731c744f3159a601d5afcb48ebc0550970b62f910d2dd5033c44056b57ec1d1f1924b44443ff325b0a9fe1596ced0660c6aded70b544db59c152f78af4970f4eea652145d5b5889332ca7d3a7771f3cc03492e460eb8fca42f2cfad2cd05759211a5727967effe241bdb14048979f5643c86cd6a28179d76567bee6300720f6258cdb49eedf696120daeb75640cbb236688e30507fd948a70b30d84bfd2f067512681698b5d6198f80044b8e65908aa00fa12b71dfcfb9a3f26705ca6082a16234d1da4aad0f63d5efe23cd5647968b1bedac123b57ae1b55dec63e6e96d791fe2d4159ccc547da434107637a2cbda02b165166b1481caad8bb4a3626e485690ce37ed64347f9aea7f7bc4cfd88d538f02c74cfbe8373455d450de039e9e971dcdc58b76f23544e71de1eb1f784dc7a42e173bdb4d43fda8a17810864fd7bef3a42f1b163a96afccd249f751e3ee3f53719b7f4386bafdb2c642ff6b955a1bf0766e6c43501c02a3c9d3d714982f7dd3704f3302f25145adf0c3cf0661fc397bc0b5d4ede7ab603d54afdbb98db3aa8e4762c006b0a6db60e026cd7aa6b78f8db4460e0f0fe20e740c94e162830ebb94811acc17fe6c4cfaaa0500666244aaec0e5770c54f343463f579cca5a51b662ab81ea580704b33a3f788c1073df1e9564be7b7af0af47f56861c51278b0e5bf3d94141372f14ced70761ae0f69b419b8ef586b1be7095fc974496e3ed2726755a3a21f40ba95015e125c79be86f3e939be0f4ba4e8a838e2ecaa41e19807e89c6a91b3c3694c503947c16fa35f75e3d46e2289850aef27e73fc2d947ec62e8c5d3a80348e1fe5e38c5b8543e2d9a46cb4a750d425e5d7d180b7e614fd31fd757b42178d370d3b1c209e0e9fab5abe9513fb3fe5e739af12aa9a3e9f96a99bef4690143bd9d279a006fd6ec5df6cd229938baf26f19d36ba869c836af562ffd9063c08bca744f5b68d9af2d3ea7d9e1c31d6b960cf2119b982c563fc30e3ce0073fd3d3e34ffc45d3c667db060c0f81e450608efa4ff936bd1f25eff2b781b30b6acceff93af45ebdbaece62b5ff439d2a1e896f8a905ff632f945925fec3ba52a12a92f2e5525c50ec77cfff798229c3dab98efe67f252a0ea7b881fbfc7e8c22dba86ca9fed300f2f142b845f2bb19fbfc6f762fc6120f39007a4e4cf378cdc311276b5e7cd21d120728e92e6ae39f808ee75a2c21885212840e7d4562474a1345b0d74252660bd4428661c059f684d10bf2b8cc0a7d099a1b7d805a7c8510d145149ba7bb4404b5a917eb914fd1e13b54624b57d479815d1013246b9d639a436934115099a02243ee542db547584a8e72a4802ed1d6eb47188bc1f2caec5511f6f590983563d6d41fc25072957003ca8c364e5f79400aeb47169f929ce34574a80bb5a8ef11c14daa011b17e29cf83eca0132397d9abcbd92ce2d97256af9116e126de348db27b3898b8ddf6bdfb52677352e505b5bb96c36447d1a1d72978ab0555724d362f7911e434e4f3b4da67f31806485c412831916074856605c218c717140e405c609c31e100f485e20be009c11f100e5c26308c11a110b4c26388e10ac41718132c2e388306f0aa0745cf43064ec870067788d8098e32d0f0e522696981685a52ac4e89a73b74d336e7bf3b91b868c50ac81302d3b6a0cf4041b80086f839098ee3d652e81d02e28bc9244d0cff86117281ade0f8fe905634b3f2e58f84f9a9362867d6b96e96561dcabc2b72b99c48a33fdec75f5e0ffe891ef890bcb2e891eb96a92c86707ff036fa91c24fd7eb3b1a14b5f96ae3684b9382fa42a57efbc669978a9a915fd75a72d0b2837e6c3d8e61acd3a9b41a27ea83317e85692de3c59decff3ad452686e8c7677ca62515126ff5377e9af3ae38d4603a1512bc5c2ab155b1c7f2758180984b934757441a0f67bc223bfb7b92417c11c339aed529b11e51584918507a5d58eb548b60e32acd09eef9f77e5ecc3cedc755858e069012059cf873b33f9b87210f9ebbbfde31571a02836cfeaf48cd447e2b3928bd49919ca6d0c7c126600a670c98099a28beafc09003060e8ef8fc4556fb2bbe039a55e327cf8f68a2c13aeb19935526bb47a01aea6b63f5798544e8eda3510e327f0c20c7660127a3db78b550430936540a3aa31a23e948817753858f7288b322be65099aa9027919371550d0d933fc88341d3b399f25e6a2585380943860287bb2739804c2c4eada5ce591c077db98f47ca8234d2acff2b1e59836ec9e225a6618b8a07cbada2d1d59b2426a8d97529db311b71e0e51f558200c349702b56f3c0a13511afdb031970d64c6c643e1bcd1ea18a4b50c55f04db96641a0f393014f3c0cf857c9c7b21db55f8b696d86a4688959445728b9369a6b857f17a802410cea843c72234d6b2c56b25db69294bc9a6eec843d079355c44a74f661052b12b0e82e655d96b9cd4b847dd3b6c3f1c4d03cf970bb11f155b13fca404b3ecfc549dbefcb84ab55df40c86df50978dc40bca138ea52460e916c3b49be06bfc494c09d44e6b007b43278559805f67f7ef32265175d6d1a4fb00decf643e067a1f73ac6606b7688b617349fd99c9916ce61681667b96dd9255451b8fbf6dd02dfd17674e532b8b8624b8c967e7b27f2f03e19880574ed4ad7bf6ab81d53c324ef276866bd4b92002370d8063aa0b85393d09f227b0c92d942803f2098a29b8075241babe2259d0bccd73e67875692bf504ba52b1390573c185fe37b9422b5fb2858fd73ffa9e65953a7f9f091586b02d1074ad2d8da86ec92692ed4b8a19415287614a431528013baa704dc36d9bd545ad200c8c4d3854a02d5238726886fca231f51ebffcbdda17ba6324f2381bd91796a6f83c865327427357d2010369bd8f2818f2ec80525b9036e30346d481e370e067d56928de2a7223d5ad3b00e2a725d18717da61542f611fb998bac3cbfe2cc20529b2912aeba9aeab86e8937a48f95299b7ef36a3c2676bcf8f9c29fc111e16b29ddf827791269bb57ca26065cba7c7b61baecfd07ec23c59c9b3ff585b3e2de2d9853fbe168077b6dfc27034eb735d6e6f2bd0c901e19e7a6cec970632b5717c34f348de3f414d94d4734e8bdead8a9d1ac4edc4400fa95f868b6cbf4c9d93101b34a2280226e280c2f6f9ae8c751f311d28a0f138a357ae1f60d3f1f530ce4996e9a1e6230b5ec51793edd7da548a74d33d418cc6e2151c7cd38e0b1c94d6a5cb5b886bc0d9bf284c0201a47b3d1a576e0f3171a0670df4d91d2b5e2e54f476f3ee3c3dea6b4a254cdeb83d2b4a11faea6fb630884afd5ef5827198900a410b117123de7bdf59f9be415e8e45589abfe9607857e3b9c4745c45906529df57aa8cfad399fd1f1bda7fae055828cfd76310e1e88418180ede73115d70b945d2438ac71d2b6b74d41bc06fb6797edcfbee648939c31ebf54bab2faa59fa2961f5136a396be911934510aec2bb183af4a17390ca38012b4bd604fd7034e0ccd0d9aada2a73fa3d105830c6bddf541c5cc31c7e23385f6aba0e73d0b29fbbcb921545bbb5458292349c5990bc56a45f3d23bf58b7295e44fd302098aced9fe6370d74a2b9017606f9f4492ba94d75ceee3ac75df46dbb0e7bd25a99b0a434a7b8f4a555dea7dce96a273284b1b044c575b3a950f8e3a02fb3b5d8504ea8e4b04792e31a2cc6500d2fa59ee26f2108bcaba122632c5594c5ddde0491c23c133497a772a1a7643978161ea59023a48817967abca1e72b28dcdcbe61d998a2ace925773216b88c0262cb61aff8526c99ffe4a90fc8aebb5bf2d591d422c0e848c028566e9a1da50aa3e26a0f95fe7c1a2eb00c628810cea4d2b00aa960e4ed993f4e8ca2e60daad703e7781d21942fdbd12206ec64511650dd472ed553dd908205c2cb698dc279415f040a3767f9df21bd6f0918bdaceecd814cec9dc91011a2d7e8bf6a64c2fb391fa477652d91746ef4c0ffe1e3a9e2fd1d3b11baea4d092dfca5696ac7cecaaae278e41b09fff0bcf013096c8474ded0a842a3b7f51b390e539109b27723fb8b9431d3a8e2395bfbff4eca09a04d6356f6e2651a39cfbb0895cdc9a2ef211f3f0f7e997ea2a7050d22696152ba2ea2b8d29c5c6516d36234e5ed892c8eca8c543113c7d90c375964f28e985dd9fab947dfdc878ac2513b23616fa0be0a07b2d920c5faf4a96e93d69d43eaeb2c99677addbd078a56780caf228b9a17a52fd43775cd421b253bf32fa3fe00cc72cd73cce3d7d3a703b1f5aae87b96a48b95a6baaed603afac21ccc3ad1b40d94b5d639dd700e58a2cbd1cc4f5ffe2575bd8781e5744a5d067686aa16fe232b342659d5801a81b6ef61e2296a038728bb5a3ae7494b8a3f0a1169dad977d8527e07cc6a1045801d029cc581464aefaf9ae19810040cbb3ea51b42a6ef14d4f0e0bd8c6bbe041946f5e551b180f5472db9855bc818accfb7b331e544c1fcc04f0a584d433c2bc095eec6a252a946c011e94442f8001c85089c06ed7676073927012e49d9665578b9749305a07a6cd9efa38f634c69e1e4adf40dd259598794caa01913e6a0725b438f5bd0f8f0e2945c1201a879ab336a6b9aebf7efb1c354366afb7038faad3120df4a83aa06fecb9f24dc58ae81960b786ebe06fa44113beb07286bc7cfc9ec743522f05fa9e05cf2902ce800da191098a919d49fa4efeb3e147ca4282649144e6652761cb216cacaf1623b458ccee898d04683e200420357507df599c7dcc3424fc1a1fc3d2247261094bb8e2e1f089413a756b2b47cffc4f27a758f37cd8355933819700abc4a4980b1f518677fe324dcbc349d86bdd25813915ea82be2fb52c4d20bdecd3966015f5547cfddb6507d5912dbe5fe0f7572ab4a7e5fac796300cfa0b7c2d935f525e790d06ca6f3f0a860bcaa5b0c947844c25595985376c3c11535c85dc8c8906fa4daa05b8ecde8657bd6bc5358f5d3b2a9e9a120b11fee6f0923efee3364aa47140beb953c8b005005b04228e3efab124b00d981fa55218e0257f864487090420a8b9dcb420e07aa90ddf42d431dbff12ca1a593bed51902d3a21705d5d477994bcf660eb9ba7a4262325188412685835434170f95cd8b3e3b65c5b5045729dbd0343add8782697a2146269121998cc7f55bd6006c198828e07c19cbfccd1f9fadff4c09f5949509a98736077382a4388e95066ddd837b2101cd48e03b293c7bdbed56e1eb7c3c301b21d05e1f180b487f29fc38eb5cdb1642a971d102ca6939bc03f041345806961e273dd556fd63f59dcfd1086fe6a92ef2825c36d44c2f13f1a0f96aa39e2f9897103520c06718db8639db8dc79e403e6c25adc8950a3f11bc410228c03b0bec25b199a7a83cc593d2aa6c4004481fb46e3313ac622927f33061aaa7accb10ed79de411cd7d5a29b9ae08049c51da101967d110619e77058f17ec7fdddd350274dedaa75489f0fe52dd0e500a2cbd00d4ef3228dbbf76e45eea4549fd8248f06e6178d9a6b186cf684e8a89d0a59035c781d183b458f8053552c5bf09669d27b80f47d8b92d71ae64fe3faecbf2a7edced0f334a4be90400dfdce457098b782460bc50396a98408755ebc316e67e7493adf58b9c8f515f353e6dda0808d0093fe095b04209e8ebffcecbc57e98f1373de5ae0c58bdd755e5406d017237f130428c314b083bde90c0d534fd17309812fbadb1fb1053af5f597dd8e6eea829f3c7e61040817e426f1092376020f1f04b7dc5cf55897ad7594402bf01dbc12d2145dd362fa4967723e5b2a3bce3f31e1fe50416c7c29fe1e74f07601e4e78f631294d7d2aa9aeaaca11d33e04f11c196f252cdb03d733294de3d58a73f237a0ab535ce217d26f0d4460f5f53f4a63eedaae7d7c8e6c16910bc5527a92f1c39d3ca79226d31b50052a20117bfc78e11697b2bc12fcd95246b1929fe0c46f830ff6f91ffc61d067c3a87bb0310b1095f1885f6f40149ace6c949d0e40d27f6df48c997e6e18685787abddced53d98ef3197d8688ef69d4bc5513b9d06b17970e71b1ea72e1be288d8cfe5504422b2899f41bee735860fbfee08f47f6d145afffedaf994509925f362cafe8f7a7c8f05f64b84e85d5396bc70379dad6ec8a3834bea1c073e0c8243bb0d0b61a0df99c8d3235f9fa2772c30522a8c0f5ce93acb8fa9d2d74a409b6f7251330f88c78d9b786500c970159fd6f47b28152e0d36016cef628df964ced584d321679042a183396cd6f0a92d672b53cd0f90d24e2da09b02c939303b4998f3d3fcbadef95fe63a27b6604e4c1946ad2a39047b155ae53fc445375150e8b4b4da1648b94e33480b98ecb6ca4d2e913ef6162867257d268fe617c543e98743cbf028555e136240ccacccc00a18833f1e3e1ebf8e30cb4247de59adf18a4b79b45eda2a2a32f4c85d401590413bec1fa7a248038f4e157d389dc547f540d9d83e18c7b6f3b498e452e40eb02bc22b1f85be99c91e11e1dd0571442efa687e62654bced541d60199e65463195d4d03bbc4f00c5c3045a54f50e0b79904c43a756421183f4252ad3c56c09b0735ea23e5844bceae0f242cf050f196c15e3f321be09f0009e8e711582977dc57e986bd8f13e71acf83703f9ebe4a8fa25bad9f940dec180ddba8b59e240c8f7c0eb5b25165c57a2ef92f09086c610b2f8e5085e2c2e81220423fc25c7d66120e5723bc8504d4207b2cfe4d6f7fccc9d41e842f215e0cd07f94f4ae6f221fda34ed3333b5db548e2e08fb65bab5d620080a7ff4f9e7920a24f8663f532e34202180a243b894b3da665374e0fbbc1504dfdadbc5b90db238c7599cc62df5b2f0372567c8b8ca08c615f605fe0315652c122b08078d65cfbf7247c54b692caa4f15a3bee6b5cccf4c455d6e7cbe233070152dfc68248e29d7e4b0d057410611dad3bbf247d0d537e1b0d860b0b702fc3393040c7aad8db4ef8539d697509a23ae478397912492819c9ea0c142ffc7365722dcf3ed35240f9258a5f0fd90fc2a4601ef46a2fd21f297a8e95d6ca45c9b48173b815b269a1c6088780c6430afdb8d94308fb040ca48e9df176140777a6a02154f80989bdd8525657b76652787d30401b7e8d6ba0fc8f9809bb9d89bff75c8ae58146acc870125efa15489eea452491c206a2d71a1b70edb85e231e416324fcd551290067e54a33866e6d996668f468428714b13dff24f66833a23a061f4cdabdebf1c3c248f16de76110a2d18d6df49de322f5f2d8331738c5a54ccbddb1803e3f0fedc163a66368baaf07b51c97c43723c3c60a1c8f7eb08dea5aacdc3b9e98e56474c8390d8467e746053b757439e2e473c0e4c56458480c467a3058c4b5a8be51e521b34b0f43b6fcc923574f5e3dbfa318c49b53d6a16d796bb1bd779bfc6e51e07ae18b0b057298aed2f09bb646d7d3b2a09f92b8c7d239aeaeb733bbc0c71d1a4bd71836c5670a0fed4c465d094674d82cf3e5e633b16fab46095cf539f80c59139e8cc8b2b467f0382f0e8e6f395438da8f99c5e3c45ef4884f9009b06e0da0e75370e5556076de39b018af7585363a8f33fec0dca319eb52d9589f35f11fd262e9bf34c9aac0c89f01342ce539dddbd6b5b10dad1cda7702b40f70a9eb28b3e31dcbed3d46f4fd8ce7cb8b8d02531f4b75d4d3bbf2c730416f866eab236909cd346f217b77ca0daceff4fcdf35fe5aea5ea45cb829f657424a475de07dc7c0744722943305bb4fec89204ce0d0d02b16dda63ff11a777a11d688a50b63b0f61ccb33da5e5a62cee0febc629cc3e49b5c75de71cd1d14e24f4965a6b83620b4cf0372d407da70bb263b153f83f4b9a9144d2bab4f3f057298c7bf1e72a34c3936dc0d6a123dfe39c5f2c56f53d16da79c0f612783b5b128efbaffd66edbb7ea906bd6c8f56a2d6fdf046d5c19aa0fc59d8c6d4d27f5325dc29ca079d4788f3543f6a0c5f16b39f243cdb09b130d289b48ff77dced2eb33acdf4f1440642e416245f82cfa838c90ba07d9bbc3fe3d17b85e371c14003b6d987c759d7228ab9601207c083f1676608ad1d06e0f9a8c00f08fc4ebdde4a9bde3a5dc460c35899463d476341c95e2cc9716d47c019dd57af55824aa6fe99f92bddcaadd4d504b9bc2206ac510949e5d45a24ca93927c05e0301ec3e200a3d5b50acc9bf9d7fd042fa1f84cc70d640211241ec68df603882d2d2ef0f0462ce3319ad11504c645078ad543e4f4c9210e295a1fb74271a3a5f51d9a2a880b51955dc547e34b395ad251e11f4a3db47b3c096fc6187dac72bc8cfd47bf5ae1030d2e81b6f832d58e422c1e3fc03266d95fe4bd62d36b30ec0a13974701a2561e3631f23a8ef0f2b38d51a4d022cc770979a608a104539e9008b1f0830b90d9c8b8a51c2f5ad42a4ca031868b9ee1994605282a4af063a7e2e5821796a179249d73d6473aac184803222f557511665067e7c8b8da38962431a769c9006c5446ba98fed92cbbd4c186507d69ad45bb1f8196f7fd2052e258bdda74a9d5921626d1e89df2942b2f17063fe4ae6dc8a119f759f1d6f16754f5aeec041a8b26d80646e534c7118270dad1a4044caa83a7401beb375c63e66a8554206845eaba3bde2b8bf5027c2bec829b5a5b57b7f3264a2308397a89627b4dca1775fa50f04a6abcdaae8ae4883eb883a7c0b8ad5f7f7149d00368db9b3e61543208541d8fdeba5a2faa405b33d5a3fcd0012be631bfb3e1d71ca318805f0ff6f9236c5f8134c6476a54f7f03c730a96568c83d72c8bc7af17da6872eae2a6d945c49562597fdc78789fafda72e07c93afc82bd046c4bfffb2d0090687474c4964e9a2962e4a2aab0a557a651592bfe0a861b2973d3d1ea6fc3ff5dedac41a1f6653bd3c6b9fceef20a38b56ac690435982470626970d4a1da9d88ab0b719b829cd1e20784bb390441519a799a3dc85be4c739d72f9b99bd95e9c84ed0121ce6e9a067bce7759ab30671577d56db1a1800476117ee87063c06ac4c325f581b9531606b9b33ba5217123e9ae81db0d6c247633dbdd7a0a05e5000e34b8479dedbf79d2004cc48dd8182702a24df9fe140b2b479abb3a7e449ef5384f624537e664200b14ddde2627e02f68edf88cc966335e5218882e2354f9f8aa35ff3b12e9f35b5671e1106c2ec3cb800ef3cc24f8c9103c39db0e8804cc9e07a38d403f3af492fc9fefeb1c73376c984d2a76934d071450c8b17c2c28fe005dda6a1cc97b738885a219d57a0d30cc21a01d3e36057dc21bc56ba7dd5e9140a78c006d6b22ca5ece568dce352f4b608816da6586cb72a675de37f8a3215813f6d6553cc067c1803ae3b45e10d3730ec26e903300cc3300cc3300cc36c8eff1ff631deb728534a49b3feab8e19ff2232a52453da58db8d9eb87353fdd65a6baddbe0a04210bc0d200e0a0e6fc0259977dfcf3c899d52c0a8547478901dfba30c5588b8612d5fbd90de1ae7572a686041a40d4613329599d07d39371bea709bdbc5b02d9dbc86cb7328eb37a1b6c536a552e9410fd0d89102a40237d8c10e3e20a2864b4b1bdf3e8bf1821c055183042992866ec46e10d23fd526534aa56244d0f09f723167dc8c2567be0e76000181c81938ef9a8d497edc78dc0ccb1e5386505669a5b4ac215286cd453ef59c4f86bd53c6dd60671e351ec31b3e9a73e62acf538ac19040240c5a284f7a5f0c79561b7303113028ae3122ec25ebd89b141d3e82e8f810887c0161f1959d458b8d7b7b41c40b8b8e0965eaa5ce8d491c38d67811e418c3778ce13bbc52d991c6a6f14387ef7000fc41a40ba6a8975c1ad59c3fbd225c383de7a4f66bfa7d4a69886c01eb99b94c19d7c2c185977d836797fde42c74a5b52a63a9d41c453144b0802ccf6d9fc13c85507241e40a57972a9939a9fdcca494d6216205c5ee74b8ed5d0c13542a2b10a9c2aff3b2a8aba7f6f1a2429f05a5436599e7549bc814529dfd4ecdcb7e9f33225240b3888db8bceea0f9149128e41a73d4ca6cc14568532a154b8840e1ffa4c94f3f4d9af93c782921f2845ea4969eed84fdec45135e21347f1069422e97de52a3a36d4bcc0811262cca5acc68bbb91f9429958a224496e0668ff7d9e4fbdea5532a151e0c824a2529a1515d9626cac5bce173089124984fc90717748ba3943a050c30247002164400070e302410011c0e0230d6f8f160e4c871a8468e33fa534208218204f4b918a3e514111ae223e03142a7522d8850fa3442995b1e1fb6f179a322a036cfd969ab5bb6d80e1cb48f11542a950a18224428946ae183776a3994273284f3a91a3fa5722e782b2284ca3bebbb66b6042241288108107ea1a7768b41e5cb2f9b7c81a8d7bcd7fad3da792f0c2d6efb6d9cfa4b9b178c906aa7af2fe8926d17279d23c3de6ffaf71832709491830a21ba78848f6a5e11cf0d2d17a8cf370dfb9bc4cb255c18adb225af19a5ff530e821c006042c82dfc72b13356f5d6a6cf83c78ad121b6a8f26466fa86688d973221b5387e4f4e9be784d0c22464165555e6e669e7ff9cf13f821c3b7e94e1821059b059d4397d2677b4e321b1d0e5d07d969a6f437af63904167df82dd78cda293fabe3dd478f0b79c5f9da849f9bd27c4a9cc30321ae08698539463f5f117b3acdce8a5e7c93fad130a1643a6415aaa577f5ffc910117d04e901821c22085145f9312f5e436afc7d21a9d04b867bdfd7a8d9bb10541cfe4367f99644462f9d024d663aaa83be98c596944ac547901e3b5490c347901e20c8818110535c9f31d3dfc94d2a3c19946001172803066bec8f1f1b528ad43ce69b97cd4f29bd1921a40819458828424211020a18847c22d9d3d147aa07f972be8131fc7bd320638d1741a5f23b7e04d9438827de74c274f3a6bc331347008a10d289b46f6ea9afbe8010c20943798c3b6957e552b7846c62ad934fba34598997d7c46d59f7feb270ab1fcf84deb7a254dcbcbe30268e2996de9feaa24679892573496c0cf314935b8825ced0d72cba94f2d9e554222dbd5e2fe5f808f16a104289cf2e839f95964eed93f05b6633bb983dc72c2e89438b7c96afe3c9f0d291705e8e3fe65b236266334220e1850cb7dd72a9c7a57a843ce2d07a4a8396e5310b9d478823ca1c83529e5f38713b37c218e73a69c6cb1d73068411dec7553919b5991bef0859041e962a429dde35794a218af85a3fb630ea7e2fea4478fa663d33e375b693410822dc98425eb467b8b92ba5522942c82196cfee3d6fd0543f271a420ce1cb16f6828c419c6939434821aa7873c947ade6542784d5c9abbe8476e6be902164106c7bd01c2135b9d629884c884ca725a5591a160b4202f1fabed4d2c6f85cf5d94208203621a46ccbde7bd7d9903f943184a88cb9870f903684f8c1d282b72cc6104a74cc522a951c2c1a3a787c8f20ef013584f421356a27ff9266752af1811bb127eaad293447a208d9c3eb1e5bed2ecb1bbba4876a6f74989efa20743e0fa853a532bb865c4f723ca0324b9619ea6115fa1d94cded2dd59b4e996b3b2c7cf42d973b99a692eb50e9d795ba8fd6cd2d1dd0b29658ee6cbe5f750e87bf8c87759e5295ca2151a3ead2957fcaf0c401d5592e932373e0905251cfce917eda7f43b26e426770c9acaa73839946dc8cbb784e8f1922a40de6dcd936eadecae9381bcc0eff52aa9c385d5ac33199fc20ac05a1b92935bc652ea6329bafe684a48193b54cfbd268d7312168503e8cf0ece4926fda7910720656778496c4e84d15550d2166483fc8f3932dd555d5087aece0e13b3ca40cbf3c72d38529cf59263294372f9bd2eb4429fd18d69c3dead13731b439cb59b24c627c4317067f4566bb89e6d09f81810d596b79a6dfdec5388f1d3fde79ec50630324a843c817ca3599216f5ab11e3ce31f48a5f281102f286e57c23cc6b6bea0944a0507dfa352d1404817cea0c4b6bba08553f1d6f833828470e15d7369a3ba754b65a5542a3a7c04d16146c816d093f1cf2ce56c127a2d682d9e42ceb924b62f29240b97bf8516bdde533efe193d42b0a0bf20bf634ee1e1f39752a96cc81550f94d4ad36b3408b1c249e3c6fac72fb5fecf20a40aa75252d5947b92bb5c09215448f35649513ad3c8f08b11e4c7a241061a37e0409007e23b5c47101e3bce00c01942a680cfa9c9c62c67d35a5a4288143e3966263f796b769c03460889421a9367d8ea2c7f16d61b844001d9148fb1141db71711e40812f284bb47f4e6b95c25b713e284eaa5bdce716964a8439ab0dcb94c5ed29c097574613e08a13b66ac97f086ef8ccb2684ec7195b0676ad164d26f124cc2633495f7fd6908098b237cb54b9bd8d0c9232cb8b441aa951eed16348226e62deb9a67d7ec14e1a4b34a63fbcc0bdf4204d4a512fab57eebc42864086cdba7afcccc623187082191a34d4d5968566f8370dccb62fc8b2a9bf113020493ee97de322bc4aafb051e1f838e1db32fe5ea0b46fbacc81f4f2f922e46fb524f3d7af3e2ec49c9ae5686578bedc2d64f62eab238a294ac0b654cf9faf88a5abab968764eaa565c66d13c5ca43c84e7b89da4e6d66f61fca863bea777c4c7b678d5b39431bb2a948a3eb0510be3963455fa31ea6f891649535ab4ccd2e94b1f6761089367a52c97455a16ec6ccfae366d8ec57a291ab2e9826c178745273b5a8cf239dc98fc8a74c8510d155abdf6b902318f25b4a979cebd15262142bc58725c8eeea6542a40926083155ffaba7a7cd32aead3e26c0b9b45ce3e552c7eded1983f44281924041ba9308f88560769a6e144a84068dbdd1c4f7f8a6a3e8accf4c2a6582e2dfa870fa98d522c6261a3ff56546b9614e896b4e933951905eaf4c5d42ecb7288158942d9f0bba15dd0123aa3051ba140691dd5dd227534462cd800c599e5fe10423f9c56cb27aafdceb917d3879f8d2774bdbbd7cf0c913775a28cc9326849e6665fcb894b74753608db0ccbd8d8c4d59bfdca72be64837aecd81fbeacf122c0b1d41a2f021c05061b9a58fa107642eccbea5767c2b7d13e3ac9147de2c4041b94d252dde7d83f794aa592c60a702c22c05122c8c183ab60e3128ce7a988bf0b59375922a53ae467d2499538b8644a696ce6ab285162f1d3c61117afa19f3489ca5c5c90cf554d5f92c47f1d5a6314a52fa71f09f4b8787ed9b2869c1c12ae656731abacede7fb11d6e6bceea4754778ee9f74436ecb88bc11ac6791a3b3205f7641ce88beb358bc6f26f7b4177187163bc74ac6909e56842e576b32a29ff7ea44eca6c13cfb5aedab46848d43d83044de3572b330d2e7c38540bb70adf3613ea949883de385dfe85ab2db200e4a63f89f790c3a0b0bc2d4ec2abed7a9c481b8325c8769c1c3ad060437faed5e8ee9c519f70f07512f8ba917ed94fb0129eef57631eac3b52ebc58b9f7a2061a3ad6f811c40636f89075eaf9183d7e1684680fbbc8ecb530dab32aa48783cc62c96e1e3d9ed63cf8c9fd2ab3cb5e4b8907b3fcc930df98dddc3bfc6d5a92174bc6602ab4439db6448dce993a24f66755adc4cc63900e8cd0e2a22583d270cf41fb649ba73adc6969399c7cc37f926732e6a01387eab2938e590bba459682860d3820caf74227cd1b639e37d46329f7b1c6daff73432f08cf9269f5daa04b2f6a92dbd96262031ff71ebad4e428790d48d7d325cd5b76646a488c76b52cc9ab14174b03fe62c9fcd9fcefd289865d98751fa11e837a494072b024c0b1c68b00c707d25812ecc0c619da2cbbababa7853599c12a79bb1b71e2b4d4a561a30c96cb72cb9b85af3b3d192e1795223cfd83ce1e0f9471031b634095856f8bfd318e2d8685cb5291bf97695ac2906ad59ce6ac6e36b380e151ae415c6c9bb8fcd8f8424a8d52cfa5a5cf35fe0c1d692c1a3a360636bc60de78db5ccaab4ced820d2e2caa1b43d64766eb6a0bc9162f75b560b28085d7e265514bf5579757383b6fde9011f2d56305326c54e19637eae5c686173e2ad89882e13afa451d6f39683129954a4a901d38a85478ec086c48c1dfdc281eeea3751dc14614ec3e531bffef79254fd101648184018021d880822627ceedc42521f36705384440461a6af88fa143471a6af87b126c3cc1faec72b978ad61d3e807369c706b471ffda24d7696f6818d269c6ef6d1f34f299d494c38a6cdab31f31031a11ed8588271642ced7b59ac74391c64e4e0400e1dd850822fc94caef7d93d4768230977f8a05f7383df4b2a22d84082e969dd53bb684aa522041b47b0618466bc43bccc78a886b060a3086efe9966f4a00d229845b316647091083686a0cb66362bba35b4d460f430010eefb143043870d4c086103e6fed7862c48587c64610ea18b55fa921eb17820d20dc9d2e8ae993993c56950953625f55749e74a9fa9cbd7d35a552f1d143c791a482cbcbe89e540babf14ea101092ace1e26cf94be70e23b85f37945e8a0615a3276068929b05b17ef8338d182d64b71be17c4a9efb072d941420a4fbc463bffe431bd67147970f7b8df0d881924a2a8ff93b6caf0739f6120a1782bed33dbc9f8a276522a95204076f0f8203b5270a023c89b018aefe5dc2cc8e95ddd9fd06e6c3b2e4766bb98276c29536683f4a474e2103a9a0b56e31f74524aa542c20994be87ffe70b6bb935c926187d324e8b2174d55e1cf810a35261018926f033afb04f56a1250d35749ce1c3070f25c9c426a72fb907192e851e05384690234930f15c8986edbe34da5b7c07249740455fd0238389dcd8925822e5a745888d0f53ed740a2a95fe310649253a6fd1d66e44a9c8ba5201e3cde8b12948fb2330838412e7602dba5c4accbded00c924ccdfd2e15c4ca7f6e29268d6d2842ca1a23ddf48f425265bd453d6ed62482061f67dd3a6b7c3f44a8f581ccfa9cc63ef9d4e9338e2d1f12fa8d3199bc53445c78f2069f8f851a97cefe0016421690409234816c1011245902402112487284ead5bba5cebef552a3c787c1be224ebedc59c5d4a7d4b4aa552081242900c82441024818001092048fed08897a3dbeda8e7510d48fcb024c46a5e185d729e93f481840f9cdeedb1edd241d3247bf8f49a72db6bb9b3c9f47078d7962ee40b3207cd0e923c38a357f2566b3c242fb7a6ed542f6649efb09c94db9b6eb92a123bd472e67e97739495cd9248ea70ded513173e3d0b3f4a21a1c359ee3853428bcf81393fb5e666e59ff4247268cb737049c4659a784b1cdc6ce6f2f2a74d91c0016d5efa676197b9bd3690bce1fe8ee9f373c70b246ef0efcd327877e7b54f1b7c2b2d6b0baa45ef91c380840da6f4f4213608174d9f5240b2061235243e36aae5d91f3afe938eef2024696093d052babc65955f532a954a050c1f2468589396cd1d44b64bbf8781e40ce56da738db330c246638ccca65d069446a5049ca70a7cf334a64e3cbee7181840c75befb24837f883ab340328665fd4a73f97454662d018e0fe478028918ce38622e9eec512ec953200943e2f5f4a6ccde1a9b03051230941a938d96ecaa58171e3f5480c34190830364788fc703c917ee10265383edd5e8288e1f1f04c80709f269ac51861839c4000280509078012b2d9d6475ef421a83165f1465a19e1d2ef0a13195ae7a4129cfe520d9c2b2c97af4fefcb065d2c2255ed0b2cb8853597e16dc6f79934e7663c14cae6adeaabe55ed1518794dea59da18a5b582b11ddd73deca7b4fabe0d84bb5dba963cfe99050e1fc8227ab139e5a8c1e9229985c10db7841bfa6cb8941220554cfe3266996b5360848a2806565dcfaeaf5a74c02855cceb2a473b81c6574e7039227183d7f6641c9a7bb3d0a244ef0935a79f9652b6f342995ca0f1f69a0b14387f7d833489a507dccbb1d1b3ddfab1a692c0900600512261c5bf6f19c3273f23c0f902ca1cafcb29c4deb2995ca03e10089120c3275e35fe7c73e8f0e832409b96759fed9fa5c4aed944aa5520123912061e9b5fa74c46793399452a9542a192039028911ccdc1c325bbc97ca4c4a658dfd51060e1c0e021c39d0405204ff252fb1d95a4eeb8a8408fda732993e920ca1d820bd4269d2d14d9208e1ef685ad4b3bebc788270bda0e48dd2da39464c020494acf699f951253f9a60e417864bba335535d63b3dc2882fd09bf35aae5239673a3f7ce8c0915ea49eeb649a2925dea23838906384177a8eb4f24fd9535773f8483d467661d83af9e947d5e5724417966c7769d467ee58aa945ce0c22cc6dc8226b9555d37a5870e1c23b7b08312772332658eb6a6542a608891630723b6d8ecd7d4bf3d291512e01003471939c818a9c572c9fc2a32665974b44768e1e59cd2a6e51132b6562a60b86064167b48dfef35993fc77b44166f69e1dc457b417e5e6251bf68a9ce7c9742bb821158342ea7ce887a3c4ff2572c4957d1627ed1e6cb138411571ce352fca7d8ee609d178cb4422bdd61bc3c5a7788532a6bfc0812c4878f148cb0823dd516f63ca793a55520f24cba68e65481b69e96f5d3e2f9e623a9c0fcfa63b8d094dfdd174650810e9e05b91d645a28a53582ec50c3c8290a5397e6621e8d4d22318c9862397d6fadd97b74bb2023a54043637a08b9b143e6808c908273a965f1c560b261ec515c5a5ece2094ebe71d89c213173e42e7509f7f65c14828121ebf6472138122b90a9973cf9cfaa07fa25bd10f6d31864875473c6130174dff07cd2acdd2092bdd3c8dcc9d4ed6a68a1397ca243aad89e811f1c8261c599fd13af376d01e4d28e7527716cefeb4b33abc08239970dc4b8b1ad74fa9545cc71aaca3878f1d4074a401e4033982e4800323984097dacdebe6327289e245e8acbda1cac327a5520172467f4a8f58c2ecee82ac17d45d8a9d52a9e480031b64c7c8e12395a834c820a7a14ee82c8b8f114ad4b95dd06c15913132891149fcc1efd3c2c491482c5675b84f1f63b5f07f077c943182114860de9269d0d13be72ca68c1b794439a204238dd8fe62e49d32910fe608234616a18891448c2062e41023861829c4082194bfea70ca3389af7610bbb85c393aa4e6b4a320984f623433459c664f20d07ec145b4081098b86939c8fd381eae913fa89a83cbf9f9e3c72cee07dfe5faf6cec2c92abb0f86ae2fed21b42c7a463e8cec2105237a385abf647ad4e8efa44c0163240f760c5ab2ed6e49bec97a8ce0c134aaa5f7ac65feb3df41d362f2ece6a267a86683113b2cf80b426665382dea3aa05b90bb59e2b2b96b3a64a6ebc446df9bbe3b8753aa6a7dbc2a8dc8217d625ad2619959d8390e26a52ee6781b0307840a9db505d3db41ba6fc0eed4d64747d58fce8fb8c19dcfa549e6987cdedbc0a8edb6764126dbccc560840d08cf664aa6a7929efb1a9ab5f6ce27737532590d96165467a3e7cc4d2d60f81849c3c9ef5435e7d4924f0d1098f125a854c048410a72a8a087092a1534762c8503470a72f8d8116453b0c60680fc7720c80e1e699051a900f94f954a8e005462040d07973e9dc67c59aa2ccf5047d9e4e229df5ef2881950590db318d9ccf86661a40cc718e63f559d9645fc1a1821439fe5ce75e2399edad1323206648ba7e5a431073d4a382206f3ce9fce17a38e9d4c1346c280fef4e4df6e4a734e99300206f436b625d12374e8b68c912ffce3e2dececc2618f182d9a537eb31ed6a2f9b52a974c1eed49ec77e6cbc2bc40817da9fd39af49a6aec9552a98051c61a4176e818d9023a724c5c29ed9e2f460b6d76b5fc363a478c640173316b8e80f850c40816d87b17b9e7393ffa2b014d3c9788912b9c316a067b776df558ca8815f0a031a605d960f2b38c54e1d54fa6e3bd5910f38c50c1cea7c233269549461dc3c8147ee1f3f38f65d262b75861440ae770b1e676e4e77534a55291c248144acffd139b3767fcf0810328303af4acea5e8c396a9830f204ddaaadb4a47d53284d8d38414d519aa59a4473504aa9549a30d204644cb3c97b5c739079ca0e278c30e1915b328a6849cd292f450c1c294176b000080f1e61e0c021068ebfc18e258c2cc1a4a29942cbaccbf156230d0d8c28210ddb3ee7a5bbadd440184982f93afc6a34262194f6072348e05cea60dbd246139d3fc288111eadd32e6e5fadbbe04811964bc9ecf967734c978508061db420b5ff84f8ec191942ca93763945ae3c4d1d11029bbb54c898397d83f2c74810f02ecd8d2e6bb1bb49a98c00217942fae7fce639bd6abc1a363881c82f4c6b495d3bcccdcb634aa53246a5a204115f30fa674d0bef994493bde045e52e7e9c5255234513d98535e3927e49a6ba94a32e164727d717f3e47567c9c56f2ed52791ffb2e01a5c2cd86f2e39eac4c65c824104915b18c4dd6bb32c69684cdb820f2fa637d12de8d8b816abe59d756b6acb18448be5fb8358eb37a12793039159746bb5223726cf9e7e3c88c8c2de2db1b9db4145e64080e303383c80a303383880630c1c62e0d8008e3022e022b1c064caf4fe56a2c52d58a01a4d44ed78cab9731179456a6e9b4e0b7ed253fe43c4155f66ce6ad8ed0b6db5222f255fb4114d23754c9f021b88b0c2d8fd345a43be8a2e7c6467bb20ffe325a28a44edab8c964fc595b723d64dcffd6c5d8a87082a4cb29fe64cc37dbd9c532c27eb5077fa5fd26f1d9a220d133d9a41bde4a52f85952db27d34ff4bd792c22462b12d6b5f6b0b9e21320a3cc689975feb175d848828728bd3274d6db8820df0e8f7348034422414efba5ca5fa22e3fa0f8a43aa874fbff14a7eee0c914fb0f956cf4565d2e0bd272ccd0d1f54544b95ae864827dc0afd9694e7e8683c07229c60fe3a4bbea816bbe42eb289b25e6c41bb3676baac0d4434715f790efd1acd187e12c944a5257d1b15a5c74697920213c144e26ffb3b7fe7d1b0f90e442e91eb88cea921e2b631562062893f0bbe49bea575e9f88a518925e5b13f89bda8196a4aa876dac3c7ffdc1af624cad2fbcfa0da49e72049e49e36a7f5c2489c49b39ce9aaf3a48504eab1b3c61683c6f6a854c0f0911ee1766587d30ed94c2311476c6234b3dca24567b47f3c0f1e36106944df9f3ec9e82def569552a9fc781e3cb675acf123082396c4a7966ce1eede4b29954a0e00c0416411778eab61b3fa934c441198278de6224329954a124984e6395d4fe31a882062f9c5af8bdf7759cbdec183d54843070ef64708440e81aaefd9ce75e2c5919e216288b66517b65e373a440af1da89177d3429915d0981ea9131d3c8f31d79552a3b4406a1c68d27bd849023f417849a4f65a8e90f1fa2b1af83062281406ab097468bd6a9b4644aa552a98041460c4400b1867dc1a4e8975b349552a9a021f287cf64b8e7babcebe22b83326090e303227e70fb4798ec91ae9bc52a9557c3063f060744fa801ae1ef7f4a9b8b2d48840ffdfdfc5ffb7a968f51640fa696b7960afb4eb24ca9544e440fc78d9051db848a102a1a2279283cdc41c40e227510a183c81c44e420120711388804d52995caa11a3a1ec88f4de30dbe30b25a929753dc90288f252dae4e5928b521b532fd1d75369b950a19951336dcebc1654f9bd4c9d7c0f6a68cd4f77ae1b429954a18276a48f7deadb6ae834e37c5f704950a901f4fc6491a902bb72b2746831bd3a85ff9b9d2c10f23c7182767c0d48793676b4a4b4a7a6206e3c878923e4a3929c339aeab4919b5621ba6542a40f0840cbe7e9a52429ab6e4e518d0f982ea2ce6135b174f11c3e5724e664a123809c36b35429ebfacab6581e17571f762743c5d86d050a347094ebe90859e3e619f724cfb5e284fc36ecb452db1db4917ccaca519b320b4a467d43b7aec0972a4e0840ba80c4ac9d65353e0640b68b70dc25ab04c97a52a70a285a5ce9979cffdf1d33e7092855cd07d4bb732f92c9f6081174bc7cba5b36ed0d7e81146a5b2468fad932b683ab5e578e606e55d4aa5d280132b9c54e1cf3395f568f52f89397010542a950a90109c5061e9251dd77e3dbad8a6941c62542afe3bd2f0d10ff0713285ae7dbb3bb68639a14bc1d3d23cb2f5bc7398639c44418f9e25d52f4951fe3914b0cfdcd7194bef66cec78f1f3f82d4c9130e93dbca6f4d3ae6b4137a4b4b8f29641a3869821a3a5be8ed2c96c64c48cb669b494cf6c8417ee8e8f13c74e4e05dc7064e96908eae0da73475a28444dd8968b8df2c9752127a51e405a59ad5f55b24a43b0899e2c3d6940c1e215f8f23bcfdfc35798c90b5a6bb8f6999af7345d0e3ac6cd46c21423ac76096563a06e9a9215c2de8e87f1335ff9bf1e3d198c089108038e024083a76a4110690069c0001c5e4170930f185ef18a30026bdf0917a80400c312660c28b0198ec42c78e34c2d81f6a844100135d30c024173a1460828b1d6984c1021330c0e416afc6ab81027f33ccd8322660620b20b55880092d0c60320b1d07309105044c62a163471a612cc004163bd208e3bb870f0498bce286892b0860d20a0198b082c46415f99c49959ff97067abe2247dfdd4f273f73a2a1530c2c8f1e37bf400811826a9f8e3c5167d457fb097ff87064c5051abcb514ca8cb4c271ebc65e0605360728a5cb870e95b4ecdd9180f13532c6cf08dfbdcb26bd8a5d03a6bbc3efbb77c4d0a7484da0be2d351e42f8f292d8e8b3da728ead4397c6a2f4d63652830cfbc1a3ec67fb80e289027aa72deb47c22299ae672ab7deea48a818927f8ccd4c29ea992a97f2738cd9bf446ac290d724e94275ad09f5a9be3765c60b209134d24561a34ac6bdceb981c1c30c9c4967f61279febbb732698484b2356d3acc5e412cf5e68ce5e1fd529636209934a98506212269230898409244c1e61e208f3a7b52edb5310200f28934698f26d7e213f3f7b6cc2089345f0b9fdd46b731c9d3213459c5a34efe8b462ad310e4c126114cf5842e5eb8109224e265b56174cf48c060fb198164d994cbee7db78606208947ed7d0614768517485582aa199a373f6977f238449e6ca8feee93ddc3b885e3f36bafc9edda1e5c79ec04410ab6b162c64ca6ed3bed1814920fe5697ae3bcdca4c87048f3001c49dd594678728dd9cd530f943353b6a3e685235bd4cfca0b596ce3596a9d1df82491fac97b3ec3e7bcfcb271f1eeddbdba142e4dc060b267bb83454bb5927f580f9a889b80699e401f9d2278f6b599e6082075fd816de252ddf0bdbe40e888ecdd8d92d4c7648aae694e965d9bcd4e13d7a98d401fdb210625a74aa3399d00111adfdc9d2673274a0c1640e460e183089835e1e464bfa6f93861d8d6e81f77832906002877c2fce4d6db2ba93a5542a833079831b3268464b10266e70c34a378bf959fa968408933678ea74c670de41c36f1c291d644980e310266c40c668a9ec5d16712dad811126abd684fabc49ab86bb4e75997c6d946bd3804cf2ed5f1221626aa2c1ccfe2c7e788ec919900fda7b7a34c6d566863e97c71951da41689632a0d62ecdcc6d3f8fc8906e5135fc6f4335684cc6b0342afa2df424863f89bb79b1d468dd2b8649187ad12b9b569354913518d8a079255df45577cfe40bfd8fafbe09dfdcad53c050c3c40b58586f36a1774dd4880c265d48c691f9647e630ca372019d774d6743deaa8a417a7c6fc17e590c3a2cb4183b1d95ca18265a306f962c848f32d12cc609265930c1c2b933cb9e7d4e2995ca124caee0668cf9172e6bb8f5532a95357e04a954c058e3471020df3dc2c8f1e341d0c3c78e204f30b1c23f5af4de0d29a77e4f598149155a5917476496cb936a0162420593299848614fcd99bf622c6ed429954afa1f3a3680238c1ccb0f4ca2909a8ae8fe9a541b110a2650388b767cb8a0d3cf5d7e08264f48d7f6e6e6ae105a96240513273c6399abcd4273aa68d204ceb3a0e5dadc628b41ce846ed4c9888acfc2999660b91c7375f0174ceaa904b329995b545bdc0d3a493006ebf01ad478cb9f4a3141827599b32093678d55ab18385a60728493bebe32313dfa3632823129db74abb0087e06593a7db6a0f74b13223c428c526723545ed93228030665980ca11f173d26ed827d0eba1e9808219dd4d4da7e09d1399a046129e5aeb4205c8e6f370d1320a44bb8e74e25a36cbbbf484b3a7cbd204bbae92c65eca0c417e6ef9c61c3a8bd48c34b52cddab4679717ee7a7e410839a263a55d18dee141d96653a7675d24c3b2f3d8783c1d5c7271bc2afdecde5fd31c5cb879835615b5e9a2646ed1e89ae73bd3f2578bb18527f54cc86dac16ae9d59bc7696143580e828a1c592dfc8b8ebd0a8fda751320b3e86bd6ca94ffbb2c8a2cd7613f2454f9e454dca0e1e3c36f5d801819258a02fcb339d9a261779092c4e4f132e5ee85a50f28a43fb35960a217af4e48a4e067139c9f4a5ab61324a5aa18613ba4e0b9ffa5c9e157ccce943c9adc62a5d0a4a56b12cb79c65b1748ee6721c440d12a882d3d9940a71caf376d40425a9b0db3d86074ddea5323630461925a8c85c544f193ac6fd0f9e02f3d2f288de34bae5d214a9398d7936069d84ec4a61e89c5cd719f5826621057e9fefab626390baa9925168b6e1d39bce1bdf3da2d0448b233b7d56e74b87e2bc11a7e308a99a2e4ed1b14178bc4fa00414cbeeb7592c7dfbe4e94f2064a72c5125d46d5c3d91d0ae739af7937c9c2028e984b1efd62e66b4698e138752fa61f1f289ce963246c926f0f82736d25dbebd3d04259a38c724a74a74f9c8369564a24e31e6f9841c994fc244a31af6466efe128e3897aa736ad0d22db12cd6dbd77c12aa645d89fbe448b9daa0fb259112a6dc9cbf1e3593488f991297f7ccb46b8924d0ee929aeb3f1734de29259128814471a133d5e9a47a443a67cf51a1299b83900f4a1c915b86976d364be971542a395680830c1c680401a2460d3c8cff0ef80779337e6c19842869c4b2b6d422a246ddfa99a3841196786fa729b58e39314a16c108f17531272cbeb38a48cd8cdef16eadf79c924420931c193c8a68d7a01244d82e07dbfc2e89992c39a1e410df5ea69746dfc22abe42892110a77b2d680f2e8cda54282944d2ac4e57cd73d01311c2e025fe3fb6246732e9940ca2d17228d791dff97130d000638dfdf1238c3072e4f01cfd2be0c163d120a352c981831241fcb1738be1bccf325b52c078322a151c6bf4f83172acf1a38c1e9f52c61a3d7e8c4a05004f2809043265d525212f3cba1e841240a42a2ffac3f18348abcf728e4db1c40f69a98b5aed397cbea7a40fe930db206c6d1294f0c12c26a5d34fa9f1f08f51b28794d61775b6a5f68f674aa58282123da0d6de45e7c2630f644bf2e081123cb8336ba1ae6549a9545c47c91d1c93b5227275333b4b09a3c40e5d797db636f1fb4f1d2e756af46cbbfc724a532a151594d081191d7e4bf39f87c92899c319ab47f9592a87e51453bfcfa649ed1907c4c5745fbf96b4c7241cea9ce5a04b686994d4cf1b740fbea3e55ccab75bdc906715dde92d6df046ebe347a78bef6cc8dc3db4743ceea406870e20ac2859033aa33c6db618072951c3416617eff4889d96e63454aea35273944e0b150f4ad0a076cd8fe77f3ab19d1c3d283943f39296657edbbf93d9e36ff03328318359506b7193a7b6502d422829837133fecb9db2209490e115f9a54e46690cff7aece96a5c0c6f09b5dc78a563541d86b46c1ae4ea8b77992b18aa1279bd79e317ac7011969fb593688e17b29b8dd1de643c8d5d17ce73b9b4e54a91b9b720255ce0ceadb53a4445b957b20564feb51f9d36868b99122d1c4295f0d8e07277c2229464c158752f3ad389f0920f1d2940f603578285e3456bb10d1af45b6486922ba075cda487c616349facf0c62ccb6963d02ea7f6184aaa70b9877c49dae997745428a102fe993972ebcac3a32553386e092dbb784c42683978ef918512295cb9e71bdc532919a69228f8e94d66ca9d164643285c969ee139e4bbe9fc13ec963a463cce640bba20943861cfb0cfa5eea2ef3a622869c229d47a4e65ca4bbbd42861c279b4a03c99487bf1471f942c011d3ca7cf6239eaa2a404936e6c10e2e3a7e64e42a694cabefdeac70729418299464bfb49bc47284fc85832aff9516204445dfade6d96229826a399164566344f44d05d6553b6afc8e83c843529d39dd4c86fb1a32542d05f0ad3da1a269b2e254140ccc5a0357bfc77684b80a0a7df708d9b79b95b487e91fa38bdbd9d453f974aa9545680430411c8f1c34790ad548240e28b93bc96b4678e415e14f920e985a69308f1b822f3e7ae52e145f2b3647dc609881924bb40eadc6e87689e165d4a044874f1a790b95dbc3835ba6472719f8634151983a5830417c9344fdf9016328ed2d881031990dcc21c56d662f8cf598e313920b1c5d1944b7ae36a90d4a2175e705914f572160121a1859a3fbb383265658a3da5529945692fa66eae1b2def944a4516d59d3099bb526f4bf5832416dc6e29f152e2dedbc3a2ab788f9777a47d9c7d90bc22bdb6535e5a1694f7e681b882333bd599f9ee7334485ad1e7df16f52571caac5d1e69f02061c59f1bfbb32c6c6552130f1e3bce58c53177cd293937387166937146856c65c8797063136df664c2c4bce46bc21b9ac0e4ed474b23dec8c452cb62bed9789e5af26e6082d35c7ff9f17144a72f516dd678d9dc9b3de9372c71f0d4419ffedddb0b55c234a3a67237f306eb28b15a8b9e171b4d367993488fd096256b919a63a5542a92f8d3b477965c537e10a6444251979971a9bd0109b3ad8888b83a1d0f02e483ec086e3c62b9f378dc77b1ec72472094cbd2e7b59891316f047abe2bcfb24fc911328219f1c28fbd998c578bb84f3ddf657237d328220d9f9ed6aab1e1bf91084db98bd6ee4ef23f8c883b852a9dd23373b37508acead4a8fcb82174bb3cfba0fe1bfc2d846e557af37eb86d6925849fbb2e9c105a2c2de906817c49a6290f19d4884c108fbc2474fb7f3cb73310fe966fbaec18c63a0f08364eb698f7663bcefc8315ea4aa9d9a87b66fb01b92f4b1b84a96ed07e1fcc0a65329fb5d926291f4ab3b5eb2ce833f5e93d705fc236b97596bf7f3d386e22334bf672ec5b8370230f8c5b29cdb79683d0301efc1d9963fa7b53a2f53b246352d3b21cd9c1fe1c67d4874d1d96e52ffda3748acc2043073d3b7a68d358a1a5ce0d6ecc6159d2dc59e4c47b166739ec2e86e8550d329fcbc6e1a43bc7ed3f959dbe82c32e42a7cffd33b99adf70dc109be7ef5266ea3c907d1e67dc708361dea599114a64acab0637da50ecc659f78fb281cbd8b04c69aac123e18d352c65bfe81e3af629e42977430dcbd941cfc64da53f4b3c78cdf031820500d905e88d34681f64acb159cd30c3c708d2f051824ac50c1f3c2e70030db5a6772aa14bdb64eec61934f1614dde69f1a514dd3083195243c82464963abf07b22927e01b6530f653e83dad5725ab944ae50619fa511bdceed38bdbf26348b686931d273eda3937c480de4c2de6ff4b9d570d3472b4e04618ec78417765caf22ca8c170d7082d4b9e54881df30bf606912e2aa7f3fae6056f360bd7d99a465d961b5dc8e253269571a536c86f70618da15d4e65d5a833d7b8b1853a4cc7ec5a26b445110f6e6821f1fb3a9dab8c1b59286d3c37364ecd66514a10337afc087270030bbddefd75b8fa2c6e38a552b9c2de1acc378b8ce9fda6542a2cc8c00d2becfeb9e7722899c554ba518532de76f0ec5d0fa1ba41052ebf93967c4ed3d512dc9842775a6ed953c34f674952f8f3ea6749ac9566d1de88429d7a74c818772d557e030ae77a49dd958b3f6177a9733c36a796b39df079cc39feaad9ac33379ab0aca3c5fd0cde60c2929636c6c66abd7a0a841b4b48ee6dc405b9a584f87a704309cbee5fad35f7714ee746129259457d6ef906b2c69ee006122c2d88f1ed8eb3f59e1b47c0636ded87129b65593702eab6372b5acc5d52bc5184c3aa33572897be855d8c1b44d0acebe5f4b94f626bca03cc8d212034b394597ee7df92c10d21f8a2399a983be162bf60a9712308eec617eb5f3be7a45fb0700308fa85163f43771497ca5fb4a2d7a3e2b39cafc7177569ad67cb975ed4e792cfbcfca9f33b2f348ffb604297be602ebb58b3f4a2d44bb22e981975dd20cb18a0e4a2d3b87f933b6d9ec3057bf3afb13e5bbbda5b18f399b9df3cc6abcf167bd8c68c7e2f3952506ab14b6a42d6dacbf7e21aa407087aa0d0021d74d9497f17a149480d94595c1d3a4e7c521bcb451f8dfdb127f834d62843160b9b29f584faf82d985040898521848c32dad3d78b9a125060718be7d94ef34ebf1a2028af48e6b841c33e6c5869e8f011e4878f13a0b8627993d654a3e5e4d974572b484106505ad19ec6978f88f74c5d14505871a990da7154892a5102e00928ab60f426e1b2e8a066e7a2a82297754693d7c8abc65cdd002515e9c7b449ad08d93c9e16a0a002297af6a2d6bc73f64e51c814add97fa19842917d1d32ece719bf9cc7efe88011504aa18f6daaf8f2cca1ed15ac1104004a4021852e9fffbf184e788c7514af7ecaa88c0b451406bf3625a7427c8930050628a1b8e5cc59f296bbab97cb400105b23156962afd9e3122a07ce2d21d5db4502d7c4c2a144f60cac306d98a5327652ca074a28cbd16e75333c47ca880c289a5f81cdd74decdd43018503661a86c96a6cf7cc9c55034816cdf642a941c11172513265393db3496a15c5030d1c97aec56b914273bca2576795eb6171b1b693a8a25ead46f314b45463917a5120b42f78c92594e42e385420983ad76bece92c6e8f224d6bca16c34849230e8cae469f6d3c4c991309d4e2ece69587eaa9040680ca747ec2fe6322ddcf78cfa1d8107352eb25c537f378db035b6a7f0545a83f01981a8b77fda5a97cdf38b30cbe75819978d80a28854864df39b3eeae9a426a02442dbb449dcc8dbb9b031010511e7e69893c9f9fcb62622a01cc2eb1391c9b71b028a212efd0ded6062d494ae10adc730bd2e7f0cdb271442f89944c4e7f8d2a7cf411944e6739fb35bc4d56d288238c50655550f326aee40b0f159cb475380d8d732990633ad31a8ff80b8536d5a1c9985cd951f929dd6aacfb53285bc0f7fe74d3752d4d7bd341f30552f6de77bb2b47f0fd95abf1c6f935effbc1ed2f896730959625f9cf3608ca5e8864cdab4e8287838b318aeb59adfa153b2696a636e07b3877c9316f2daf30205943aac2d726221e262c6130a1d0a973acf9352d562f850e6c0a7e8a473dae630bda1c8a1dc97ffbb37ce4506a1c4e1a0af593cfd8517df84c3226737bf68bb4e2fcf4079c3925e881332ea6c120b07286e389bccaf3127691beece0fddbbbf5dddb1a1d3632d88dccdb72aaec1cca22631ad2e49d10e50d4e0b5c867ac7782a0a4c1d92c7e97afcf9ab50041c3d782322ded78063c4373c8d49cfeaf99a1cdd9ca8f273398b84050ca70c911d3e2a268c9b24321439b5d9d42ded7ddd53f50c6608bc7fdb22e392bf50e143178427b92f32ea9c5b584c1cd2f9f6af7a493321d0d1430982e6276a3a5684f5abe70521b3767b984e2053dc5a4dbda9c3aefcc40e9c231dad209176633b8b0a7e831d9cefd729d521c650b9d163dc696b25ef47dffc7a368c1d4d099a36f4ca95474542a230863032618810752809285448b50a7e5c6745b868285a49ebea82d65c85d87720573c7c57997fe6860a058e1b2eeef2c698f528545484f97ba55da5945a1c2b2ec52dbcb264da24551a670facd931e2b36ca372852587334f6c75ec5ea9b52a9209428205c6ecd9435bf9d210a149251ad7a5dc465841ce509485dcf82d4955dd79db0e837274764e86f3984d204334bfdf7d26572d4008509a7fccd58e7f4f7412c04ca120ef19fa93fc8332de7a4542a3a509450ac5e953c6f3f6575f8308307284938e39b705950ff5916203e52742c105090f0adee6eee3deb181a3d4039824976d2da38235b1a6f14237ca29412327e847e502a42dd92679615a17486aa0c1422e07fc2effc6e3e5b3ae501274019427af487b5133dfa2e882284674583eab5bbf2ad52c64009024a636c0619c4d3f58f0284bc3cef95caebd4dbffe2f52c09254c6495dbee8b94ce2fd5d9328dbcde0ba3dc5eb998f5a337e785237f3757d2466e8befa2ef3fd59be4a70b4e067dfac2460831351788b6cc4169ea9237262efa2c57597dd062524ddec28e75c125fdd116a7ce5431daaeb755acc5f105eff0ded3e2f89dbefd5c76f1456716bda4a3ab9e5645f7278bcf6a3c44d7339b1b0b5347cd1ee644e55a0b2c304b8f1e93901f9aad57fca22dc8b47b2e9aed0a7d74fed37ce6a415a78cd16336b1b92d275971cafccd6c4a45fb64abd853f7b72ca757a84b9fa8c2a08406e17aa6af63cc492a96e58f41488fd9e510ee092ab6dd765174d0e763da140f9c9c029b7f41b678dd89294efd75a984699b76f7a414ff5979950e2e4a6b3d2105c2454dbdf86414e6908d4f426cce97d4334e4481d2b2a0a5f4da4e42817966cd081714797e69d11ee3e80ff527503297fabc6bcaed7be209d4d3cb27d761b4c8f3a413b89f327b79949637bd134e3472d39f5b6f302df1c9264e1f2db92c57673a39bac0892652428c2a99b47422da656259bdde3fd8c9b1db9c6002f13516f3a7fdc1c925b4ca545735e6af2f7862094bfc940c0b4dbd9a7352093635946567517a4a4a89d563d61d793a9434ef641267dee62c86d61395a5064e24a1c6be0fd9d973d6d1934824eab647f53bbebb0a897a536454eaa86d310604278fb0f485cb928b68f11e392299f42c35e65bc8fd34027db1efa73bad6f78c13861841aa46f5669f1161b29094e16b1077939befa27a5523954c46716562a4a285d36aba052f1f1e375d0c3478f129c24e26ba9cc64f87dd9facb0922fe6459dfa975ebef1f4fc68f2064542a3dd238c4b2cecca718fb18d1d0d1e379542a69f86843e0f7ea651946ffb54fa95430705208fd3da8b636032784d8f483f5abf5489dcda6748ee56410d6496d0f269be2849aa203c88e4a4510e87ecbab49294f6f69cafe30a352d920eb3a029167f1f994662db6280a0224479d0022ad39b74d57e8fc01cbd2f288cba28b2fc7e7875388c88fbf31426893f5a1d39f7afe45e542ff0b1ff414d9d6a2881653b99e471a6a04d903dfdfd9318a9645683a7498a106bfeb61d3b04ea6bbc12b1c277938a608fbe89917e3040f96db59a7e6d6ebdc9252a900f9b129adc34eeea0c694d719cfb4614c76786effb4ace14a28199fd44133fd9209e5a229fd99133ae441874ed233ffae8e52e6c0f7dbe79f10a1c5da2c7022073bcbe9cb2194f08ac7fe30e3378d208bc60f1f1d382771b0c3aa54e6be9255975243471034d2044ee070f62c6b7cd8a4a50c8f04a86451e321491c108782a150180000035c0f2b00c31108303050240d4683f1b0541bea0114000049361e52482e262e1a14221489c3016140180a08c38140180c0a86c3a1200ce4612489ba2600eea2006f567fdf9f0621cde9238d0c0f34deedb3d5f49fd516902c13a0a47477217bbba40e528ffbad4b262e54bfd54ed435e1b860639e42f106770ad0aae9369dde357777b3ecbb4917c3472c3442e5619a3a2046326fc00bdc089af94e1284b5a6074b0b9633c5f2729b7d29c1fae9f3fa7d849eb7552052488db351bda027371c7f9d33b129f17ffd720792ccdab8fb476ee5d90d91b79aacbf94aa8f144399800c8ee89bb4ba3512acbae140ffc1934f1b34093c4426fb03284aeaed1cde882449418270b70d71094a71558d195b2b627da468d2fcb75b5795601fe2ae211342873edb77885e01466401be97267ba74ed768a6fb931bbba7b24e829613eb4f7bb81277eaf8a916c9be432eadd781027d922f67378e6f3bb3f907ccbcf8479de9b348403755a02101627022bceaebf342d4a735842b79503aa40b5a9e93d79252326b2607bec6dbe516196ee54f4801f5c0674357cf192d6bba48fc693ab2b8f5fe937368ad192a9c38aa5449fb932b2875d1d7a3869e72ab3a9b482c770500164af4fe38cd04a4907a0b3290ee0d373b2ca15c53e37848d2145bcc4221ec44b85cad584cf7acfe74b054c0af15f05d15c2aff775cfa6e0706ac25ba0d52d70e96a70bd7c6c8c6f6c842f47ae0cabb0e4ec3a05ba85a18444d7236c660e6cacf51abb275cfd862aa221be0393aee5800d24dbf7cd3c741d6ff2e57ffaef3668fa5c274c7452d68407b48dbbf5684684dca99fb5f8d314a1034a8af8990e2b5182a4ca3ba21742ba9dd401733c6a0949f4ac395df4c42413d0d830d14d76069c5c26b28d87c41f0d7b71069f9227311090b6d1fd062f1670fdd74673d91867d4f17fe9a33f907b836ee6a994ea21f765d0fc27c57ad29f6f9c0287687ccf4b1b3f6edf60a9a0ecccb3c3a5a710bcc1579ebab2417b492d1381a2da6b283b4a45c74cfbc2b8b47744220323a8ded9f9dc215b34e4f85bcc7c0017a80c4c9e11e54bff1e3badb68c44decb0e6dfb881159b7a3bbbaa957872529f96edfac40a8c558a6a211d38963d220bf228c718dad6793ff4ba85cbbbb7e11b909bd72c249ce077cd3f981661ae8b3079459638e21162e2007f144f60df0411d7a6124622d0f10e522dd4360ab3df64a6144ebb7527eac721576642b7dc133e6e72c37987896c385cff5b7742db61a725da48addadb208149e01d94f90a87998e74560e56229820dba3cae52e878b8d63bb7508e452576e403d9a4f1af60062be3a2728fda9bfd91dc4d1a6d2090aa6cf6145a92be98bbdb72c0236ce446f4d8b0379786a71c6e47352337ea7a7e4b93d1b87d921b67b5f7e26d47f2d87b029f2938472840f96d1123e01626eda64c57ec44cc7addafb7dca587664ab0e0e42362f29240ae62fc773760fc74d5b294a108632df66bfa60e0450d48ec84adcc473c361b92e9bff49e2e607f306ca9beb9a5a3a87185fcf86d90d96e93553e518889d32885844d5e294f1755226cd7f462a48bde623f952aa9797e95094fd2986e009e0d3bbdf722dadc2d952f1b95803c6bae3ceb4b78b199a4aab80954da72a040ce7ef0ca8d70b78413bfd81b5c96e6dd6238552fe359919d88848053e2afd5a835ff8a950eb60734d500914822cce98208ba100cd84d1e99da22704030f7f2503837b6512fee7fb6b71d5d00b44d968f63c2e7a541b9640efb2abae4b2ea14a919fba97a969a3be885eaea4b1d4b5b7c308fcb125df5d4e252d9ad85a78925634ab6f685afe647a8f66394144687bfb8d9719c991522bd28c4d823595543325d3eb3487594e6fd400bed9725f309410db0b6091639db1a0f83dc9bb7a2e41fc655cb2fa35e6c53bdbf065b84fa36e57f5ae1eb806e5654a3ac3b2a87e30282263ddcfc963b562e124127a8b697d9057b3b507fe1e43d734aab17d242c8b3e2b262ad491c157556ebbe89a19ee0574f266fdb0864942bdb55426529e3ef6ab25c09857006fc5ceb0c1e6cfccbc74ddf563cc3d863bd6a4bb3e18b0b49ad1e4a4af47c575616f08a5e0393b71871e9063631a41dc5d6fdc33833c0f717d32719baeb29c1c7e43449fe401f2774f469386fcb5f1306baf49b5a7bba10d5453c58a4e6f7f542a0a4a0bce1405aea88d65720c41f49773323ddc5045b42bcedff963cf09494269d090d1754fb4dd6703a7eb9350c9e3d2822448cd7313f4e10ab05575f13b75e22b0086f1e3c415a1f4d94aa25fe81e51d4602d90fe0ca6b592f4f2eb33ac2bcecbcedd90350ef156e734eeca99612a7f44aa03b66466891349d5629589982f7c8508f665d1c2eb9b6008a4fa779543ae7ccbb0534f797dabf067fb33c394d0e219fe8c48b9ad09155d2146c30d9b1f81de8e54790336fccb22b40ad100d4231c5436f4859246b86e8abb03e6dea7235c86c20611912ff65474c26ec636e2b5da0d228d150023cd29e66fe522849e4673c86605daef76ab824ddcfce3ce17dab8335dc56d23b42c418ce1a02d05e5a912d06c2d3453211cf08dba02d42c7710c09201ef18d582adceed3e9b83a00ee361e46d05a02e442894d41b015ff14de9366c7ee9204f2b54dea68644c2e13024f376b2c861aca8b6dae7954708e6f2fe2b15d01288866dbf33ba7291b0018f47341a69119b19c8966d3584b4e2e0529543395400d0e659ee9560145c4b2cc70c374376498dc66c6b3010fbb71c1da31bc5c7cd28cdadf105ef131f5424dbe955c672b867cab941c8e0ebb7afa866523fd7b295d6c32575e64a3cf0e8d89969c401b59ce92751bdb17f8558eaadfa12918932658351a4ab0df2ac41e19039d33d99eeebc3e427a21e5ec24c97d2be9e22e3fbbf8a1140bd4a35d1b191ff6f2aa61c507b47d50a653cbd730163e0e6d079dc43976c8b7a450f2338064273d48cad9f82ca466d6d0bf6a9b04b798fc5488ce994fcc09b2f964f938228d13b07cea13f02ccd76fb6755e84c6b71ba41b39c441b77e324838138fda4fe20aa89831f431a1f316ef783087cf6a5ddfab824d9e8c9cf8eecdea7474d67a3826511dbe58abcb6a095ade2b58a9c64a3cf572d6ec192042bdd4eea4b7adec439dea4568aec55ba2b16f587b99db53f53577bbfb6a250456508865d5517f1df52591ee0978f658bf05ed66c54edf47e51f340c19f30f7a0d9348b76dcd77ad27630e74c191301b0bc210a5952ee0442e69a26a7cdab2ac7277a66f8ef322e09559f49ca6c028a6135e6eb9b74eb70b24776a8f05303dcd755793df8b09c727d94d8858500e84aed366ecc29965a9ebf0d1952d3f9aa843bd75d849893d66319508376da22fc322f21d72cee0460a936ec6e5b061e50eeb1062346ea1062d3c6908062cb9eaa96d5dd45d0271fdbd80f01a0664d7a1da0ca2ef796b6941aaaf990800765b4b1891fefffc6474569501c029b59bae132e57797c6b6814b1806062ebed3cd3f5d8b7af8e1000f00308d833f4f3bd5129e873f4ac7471654885ce2b4c3e39b3c6ea11e8f46327a68cc3fd1b202fd1fd570d2688f33fdb3ae85a22838f0ed3a98b2ac738f861162aeb8471198b4b903738bd7c3e3ec6a040ee2a5342a48812a8d34423d7ea48c30760a6d257d9b4d49c1e557e05d702e6b79e23e73891203277914e6a1a12b0d2928bea1fd1ae9f22c55a0d3901785f7c762ef1b78dc0cbe8d307c1f9125a8d484621d8e1f0fbf949f4345541dc58668df048a1169296514eb92993956ca4e6c09429ef707de6deca64f6c02c47d63d5726496d86b593b9ac8d0f1239cd230aea3d6ac4b494ef6524a639b4c0a90cdb1a33274602a71aab68d74e2c7ca5da14c6a9811f42d3b06200ae99a587690e6794b1db19bc9318b0aec801ed26179e6e308c8c307cb1c4878ad7073ba977a2918bdcb31a9fe91d212a6e3b72c60847ab0f6188e3566dc1d75616a8834eea5e641e1be374c58185805a1ec12055cb045e066ad939735afdfa90c19aba687b30acf5070709f19c2dcf283d67dc7fb9f3d547b497bfbe72a22a7ea581e6545bf807645038530575eae886a3388ef89ecc833f1cb4df9ebd992731cdae8d86299949f7cfb3a782c24fd8ce4ae7ddeabba26f830988a93063291072dd34e0b1c78eb4f8986c58474add9b68e0f4d9cd1916d4fb54cd8799dc61879592a065ea14fec9d715be9f2545b04dda867ce515bf78bb968ff54b32650d1f22910b12eb5052210811b4d7197b55e592441d772683dc1f9cc4b254623931b5df0586d30254e13fd78325fc9c37271ed804ac0bec168c3423bde46a2074b484fda6e6dd31290e0ab73821f83df765a610d3a6811c3059d395040977d2bf1222979e3401288c3ff7628e2d2e72ffa4eda8ecd53a8b0f719db2e046bed72d2c4a27075fe119f51b5ac47397051c9c8511e8d172dd1e06992808a457d9dd4ca221b9cc709e5c33c80566c8fc0998248d741211b198a5ecc69e5a9915b91134a25d0b30124b1dcc5dc238a60b2d83032f484353476e9be9f79fd44cbfd0de32f299bea35e8582d1b4eed34e2c20f9fefea28f03be8ea5a4a35361275c86c5e22ea701948c75068a0ecb6190b3326a81fa52365fded4979eb746ad76c88e11184f428e9d020ae169936ce914923f00464e143005184ac9e03e0903bff240b3d089e194dc4e9c8af36d996aa90b8c27e6cf6156332a306878c84877ee2aeb00bbb73f1421f6eadf29897c084f658b23cd624a6fce8d92dcf3aff7995be6b377c589cbd7e363620a70e1711a851c0995a170a888d332c98a1f0501e9a2181b469f749e9058f1363542d39fc90d2c087b7035fd011e187804f50a339496dd09641e82cb41115e170c04620efb3e069b312243802441ebdbb02a9ca543285c46068e89c8f80212e1041678ba65228fe426137054f8b07c94daa936dd721df95dcb3764aba32daf5bfddf593d064def40fc3a57f0dfc888172862b62acb6495d42e2dc881c33048a1250c9806ae25241cf7b1f02934f1c3b9f20b6e13737e61fb5feb304778b6bb245245de90132784f4cbaf5a320e53c08b8ab54c5cd80ef2900bf5f24accac2bc520c3332c3b5ca0eb53f9e223792e13d366524c17d7b2cde6fec14c25b122b236d07ff57d688a7d5e7598ecaeeeae564c2505ac7e301348357a1b8a8faaa8ef575c868cfb9af93e1217f30631a0111bd6fcb414893431e2ab082952898c4fc15b6bfd87b266a2c52205c6bce1fb0ea873c882db1b8531586d0bc84991e9e91b04796d22f95c9cb14f14d50287295183ac7d60840ef7acf6daa8dccbe40f666b3a9eddffc36b81606cfda52dcce2fae2affe22a005ded1c74192ccc3513eadd98ae648356db8d73cf6de5ea630c7c689cb1f18094f25e6eab8043759c3ce4a014ee38dc11ab38b964773b9961ba708b32cea49fece4249ff128f82c414ded303214d92faa2df72969a78bd660af34b15c7ca53194854cbf1d55eee3588b41201c247d63ab6e136379adcb37077201738804a75cfdd60d1b040319ca00ecc51b007ef25501df001a0c2badc9ab3a2c4b023e580617a0b2bc2b25ae640c5872538bdab786fc2a7aba3fccf4926d6f0cfa2344dd04467a21117c3b6bd27f09452b31788bb6d75a09070483bc1769c5562d12dbd9f394dc97e18140ac560050cda5be7d36d6ee1826cef56bdc7fa9cb6bcc6176bc33952326170795788895b3cbd412403af148fadc7c19b02f32b66aca21b18c976ccc9ef10b6968343527c9b534487591c80bb19aee751095c00355f7a5e43d78f795ab3b620539aa94fa266106e30ae77bff465c815c13b4054927a03b42274e6077be5d0f5116b9913682106e96dbee791984a5139687c9eabf6aeeb7b1269cf9689620aa8638bfac226ec3a033d4d78c8d82318b448a2798bed50c09945d09e35111175b455790ac9aa670c576ec0dc26c36314f923db09b0e3c593e8cd547c3e49f4e988256e6d83e91f6c85b3d9f915594474fbee92cb7b7a7e562ab4fca323be5d4ce5d1ebf2a6f4d9cfea289b9140b1fcf82dd52e2bbb3612dca8789ff0c12d754678c01dc8db6cd1cf4a26686b491873e3a628f0b3e1aed955e94a14c0ed194deaba607835c0c37a960814b95056e9647f8c05d552469806959ac182158153018b0fb4dd8bc70013682f5fa1af785617600d7d7044419ea10128c90864f893944fc1021010dd59fd8f8df36180c065eb3f8a58089ff0ea064b4d0ed4d14837572e2e9da2e0c1af99d0aa3129401862b231e8982177513e5eecb71d84e3a3c630ac28bbd1e4e0f4f62f75bedb3f61b6a09b374449bf172096abba9d407f2b641b7c791f3c0abcc04a5c3827dbb5a2c40db9a110437bd67e21910591755300f202b341ce85cb8cc65af5ca19f2bab8d3b4e9a532df1565c73b53b67576448756e686ff66b74856532b9c2ef0ff017ae88dcb9a74183686e05b9e19d63123a0ee87b380063f692c86f21cb64841f02be731d486acf1e88bfebb09d350ce37358fec0d0f4b8f39fc7d15c50bc97604682d87ab0dc55ced58daa8ca7731b8e59207c6b0460e0b5766f9c6e5016afa24951778fced8411563997040384e0aea8bc4a2027a3104ed2d18262d7015712787bebf03cc8330d0ae59b30b7880ec606264a03d0adb5695039f8f6b3bf44da43991bf34db5fb713538ed45c2cb1f193c4e4df58d0c4cd24023c4614518d28ead5f3e0ddd0ada8b8598f1d6461c341187f2b97e6890a9de291c7d051b9eb644887b1eadccb9a94ad237f4aa20893af8cace9b8b97913428903feae1fe9f379110505fac53eb2f033105a96c99555ee6887f6fb51c9023f873b34385d540e40a9b67130c9af7a9df106f037d40baaa47e017644dcd97e379582cb0563c171a028504ce839fd4ec2f11f94d69e3bf337101a0cb7354052fad7e71c8ebedb511e12b7a752b8706352b869b6334525f31aa21dd2c71d945c8e40acd16d1c69f0064b4d839e96acbc64cb419630e845f90ca08cbc13dd0e0865b0b64807953ac22ee0dd75aa880ef6d68fd5c28b9de9eecb508ab391e319dfe68ad988e89fd1dd167133d08b34587c113adf793dafc8777977df450fff16e8c2b1c15bfcc0f59c54bb73d2e63bc1f21f88eddb3ce51786daa468f163cc59c44e8be2eb288881c05eb925ec08f2bdc5e47bd2a04ac60541c92d004a0c92d9b766c8e2ca182d6f024673c991718a41eb0d0c9dc3d1469dc7b53b5f55865cd1bc1ea2be71f3d1491c90664c013f02873a7e198abddcf025dcdd3e70cbfb98a50502e54f0f172263b39b772f2b29608d0cce98c561462fc6bbd678af7f51d84c9de88fb6b0706d24f697f0d4cd9ff597eeaa013d33683dbcc10781cf520c6f5c26dc74cdd1f4d2419765031cd73c327985b4227c3ed6271e3f9817205d31f8f83dce9712a4660bf75c38635abf29dccfb8fcf977968589c3aecb1c4fecd86c7356753738afe1c5f1cbbdd48b02e1496b7a25a0d3024706e8c21334ab3583ca0987ae29c67d18bb1e0e00904aea8115db616610614b342c5b3f6f46af07cd203a441b4b13eb0005a93501a1965090fea07cd72ed4fa43430046466aa680dbffaf6f9c231970f96e47508dd4fce8192351cb02ef3063ee7a6aa7cfd9c108f347893a4cbb5ad474c5c9b78640b845734acc13dfd4a11ccf3501da2a984d5f1a159beddc2b244e74e4653531e46aae10b563a27042573378f9c7c0a3f1a06971e04ce357d7333b721fe86e81b3a7507e3ed51aeb3781fedbbf87fd6c142fe367cdbcf32136f6cf4726f9f03ab65a423cf5350a4ceee16efa0d4e47b47463dca572c63b30b51c4baadcfba18162959004f045fe791cbe93ed0b24e8e314b2c5226a6856b1d77d2bd0df3d56d651d54feab036c03af6e850c4a5b41e6734be2c4da09e9604bfbbad72257289e458d8f962dfc0a0efe973ae84baa7c1d5f3d4a7a6dbde6799f80d67215857ab1fff7e10b4663238df5751d23da02cdee50ff1a4c21a99c5cc765686c0a357a8c9de5055aee1ae727b61d09f380321ac19e3129e718c21d2a93969507f2501b38479a86659cbde631ef5c783b2b729fd57a51adac1cbeca69b0b56a017a0b9192d8955b325e601d0e26183c21cf570e841c5ff21a4e50292b70ea678d0d783da595bb836ca7bdba7378f39935d24b57efa8c0302adc9cd936a144d9cf38a7efe3272cb8d25514d01a6ebf45f73d200716c967e8a94eb1c7a8a16ff15a037067e9fa485904ef7b4f64daeca2531504b1005de472831d8cbcb525813eeebe5b522b7f117d7a3ee69eea65ec8bfc3895f7779d37fc7ea08ca8af3d510c3f45254a07a844437e7f11966813c61898335d2f7bb01591e5842952354719dd1f258afa45b0bc726ddd40d42a2625da47561173024a2d32abbb8136fa95b7ab3ae7bfc3b711b0f66c434d61b8260a5b000084234791acd9634ab872452700d34a3c565d1858b31555cab0f4b11a88d86490c234c4a96e8eae7962ba1aadc7a31c55eb6ac3197b8c51a53dcee36ef0a1340d011e107635461db32ca0748a9b546806408e250af348e41d3ab632f58816831ee7169063cf7d5034c8caa9e074b6aa336480eae2dd4550bca9dc0392665dd25d0b218c11517fb15a2119f594ceb4bb0e0d324f0a02dbe90b1d313cfbcf88088e8f811e9e1e122c75c1d5c8d397491abd5db4d936988fcf1a06b005dc27a6b32e0d74cdaa24c439def656a741b1800c01074b3271d6061dc6ced43de509507f973533b3337f2d0ae13a485e3213c0f418cffad939eb0f04ccdcebe604843a6466487aab599ad276f72f1eb2781b03548dfbaf8b2058e108c9387e6e8b0a13305d3e0d83938a283707a7dea362b4ba907aa53fc2da5807625554976772b20621e32728fe46ee44ebe7b7370013265273c67e2b794332dda79a876c2d10a30edc845b1df505c3822d2bba3ae3ae3bff5198c98813f109f0561b595e76312def46540273a2faa1e03bb3ea5c43e686b13d261947da8226dbb4865cfc5e0768e98ee30fe406004d52f022cf83b6b3837fe1e7a2f83c9ae608ebbfcfb02a0ce2939b57c3fb31bb7bfd46378aabae4bb78b9fd9b512748d85b06a7bcd9bedfca83ecd5de4ab789294628f2dfb272826e9ca4c6b160a51fd23373b4920352eabd0ca8e4e62313911b343888c0f8cbe5dc91e3434933312a9a25a3a2c899eb8b211390156a4a49b8b617a2547bdf6b23a6b767727ea945c5d7b4ead876368f03f4d42f88dbf3d8613be95873f5948bbf0dec51c3a322be5d5ebe0e355d448be7b0111a34aca28486743c2aa3e8ea7b5f9d4f2f9a27a63b1649d06e6df54b1b538f07e969ad3f8d1ae283d9c921f3a98b36c7a0d509a5c60a891c2ff57342c1c84b57d32b5a15f56b22c466d1de42e4695bf1d6a138342ea67282d5b5952c451e5f6bb1387c235e55457045c2e9a66d499070b79b42a4de64db618734bdb918d6c8866ae36ea52c819390c58e715bc8455a2b7edb54482b4873de636c5d8a7a3cfbe6d600c6bda888f8843f39a1137f82739cea6a824375ab659524b7a1e8d4db7a90c9050f9647b457223e4a17cacdf4c01c2d7cfc9dcfaa546ab654fdb249b8d0f152c037a2573bf1c3e51ce4401076debb45bd98503723828af0ab9a7b0454571fe05fe15a0b890d068320ae2cfbc89712166feb4fb0a19ff4825f885bbb2ca64de89b18c322387c84530f2ae82aeae9dbcd648e601b9878dd2bb62bb9c90e8de550ce26c0da14e3984dd4a02a189bcac6495c8b5ca738f75d140ca3c94e5c35fb7014a994d0a871a939a35a37cd43fd222879eedf19b6b44bac7124c9f420562982dd466da73f86794e3b6b6f1aba76d6696bba4d319aabc7684519f3df270a3e437a205a3e0469c09cb2d3112f4d6119653b7ca7787087df041d142320c95cb83dce65d3a5850e8bf5e7bf6c6daa3ed2a14a0f25ce3d90801b680c640be728a4517da1f301a455ca74a183b412cd277c3098ea08ce61fa8a34b3f257934a4e396d1a7d1bc725fa857e25bafc87f259db94503c7da80744be4d0895f7f9c9db92b8c3bc1e62f42f76d39aac957ad945ca04f3a02d7d21f715e62a4f3201987fe9ac5dacf4e9e2ea740a799d47c14b58a49300126616319784deefe9be66463043308d1287cfb15852fbb30ac43457be9ea7c574eedd0ab2a770af4d465ebab5f0edcfb0075bbc7d8c50584fa52c52cd1974f73fcff1d21a86a7f5c3dc4b384334a210d0229930af067fda5a9587dfe295b1764c2b9f3532057638c1b2f9048f1724f42c97554846c64340967049f92a62c3737943724f00d0968af9bd2e85fd3aeae6a71d98a535b2b34da513ad129ac422fd62e5bdca0cc37d0e3ba8aa96ad11622f0f04d6bba8e8e917063cc4cfddd129fecc14947427538c95dd05d045a2631f3ebaff7c38d2c0eb13ed196f8b6aa4d1dd41f284c55d2cbc6c5683227b2ea972087d60be154d4cfe70832d42c0e80e680b84c8c80a9c2516d9c54e2489ec72e5fb7e1a160405da7fc1c022b9a49a9a0949a206dc30028bc8b0034efb72092923559028c069903962284b92db46da69e7c338d9ef6c456045cf217a31531e0ab3e61b38d87d375a16a83c3dadf6f8600b11b71eae2c5b87ffb7ff4dace8bfa8f46727dad67e006f00628f0b1b9cf1d566d48b019d124e37d516bc52ab88b37cc7448a2ae8dbeb8ec3d8bd88c6e6c7a3ffafd1d82f0eb030f9152092e5dfa99335bf883fd079a5c0ce1127a5988ffd9589680107e3787152ab74b796dca1504c6a92d3c5523f200871825bbbe0e277044cac4ce772e2495c3c16653485ded5321c1c2992f3b6a7b61848756e2e272ebf3920b8609a9d34b9cd840fa73e1cec04fc03fef872a7c214e8b832cce403ccaee7a31390741be85e760e588017bc9e14fa56fddb73fefb0f69881cc516f9c94ba4e586de361405d2f101c9f3a21f9fc7177c9bd484db6ec2fd775f9bd739579614f6b22f0d6b92303b014f07f9da028b12d37b4d9ad98a7584351fd5f7d1a429d2724c9893dcc977d27049c30888802f3661c4f8c90b562503bc7b908d181f08807e62a1f54a2dbd263c7ecddcd000c40422c5a22c73d0f3a36496ac560daa3b32e5afd0adb1a5adb5213dd96e852287780ba285288ab215341e062139022fc58199da5489181f443bf1a9f19d689d798728a98b3b350e41596e37145a566d929e309062f62134304bb66e501f0534bbdef0823c64d57aece0489c6e67c52a72e992ac26cdc875c30dbff946a40e54be51933dbb1cd7f11fa5c648cf92779715f944e75d101a1589979aca4db0fb30032650552048b784bcb8e71ad7eca3f52d6f0636b0e447daf20cc5dc0dd7a2a219583e09022794f4c157d48b72230d816e3b0591dc9d2077a67ff2ec5066da4d6b0dba0f4714b642e5bf404e79a6e439390acfe6928c9d4931d0619970b6350d48d1d600c2e427517ef6a3ed74c59819488ae7fd6dec0333f1f954b8cc0531661ab14da25180f093d41d7c31ec5b48c5d9b27f112d2abe44b8a79e2a07b7ac7a2463f1f0ecb638f8b1f08954c31b45cdbd177410b54006659cfeee81cc1c9360d5a454e30e792bab87185fc0e929302d39361c01adc0385e8e49f2cff4c052ddc4dc7a6f12bb2968631cba9323871a084a1d386cc5fa4b81e967a293018c0675d8a3a11cd039716c0c87716202b0978e69239fa9d065e25a5b06f592904ebaf18d5b3b5ff565b030f96301c9e196f798a40baaffc12770ba7ca60c40ae30d1742c1a9de9000dd52760fdfa1c51244a1a7af5d943cb8263ea6b60f319660357c2daff79244d0494de149c3d85f3bde555015d2cf40ecfa9b2b57a01b998d4728b11bf46d437873dde0e0aba061a0cdd8e48440b6e8618cba17fed90dc3f3988d8f01d5dc62eea6f7acdefbdca8049d4425195050a34df4e9401a4720aa10d2134e5780229b8fc0d8239d059770f875805ed85069c256f656cf304e8243bd26861c1522a416580b43886e50f48bf541b045342add026d344b12ef23a5d7281cad6ba69a7754334b3850873ddb9f8510467038e40c382225b755abdcab0d2a2be0ba22c16fb782505d74885499ed531c4748ea1ea70a6eeb3ac4cf5cc54d8e40a966c7b624e6cf37167af7367b13e3bf80ee290f52b172fc5e8cf5634ea88a81f0757eadf2388ce2a4b362d3ccc2b4c41bfbca9cd4464267a1369c00bb75864e08b84248854a5305c51ebcf04f88f223b53dda0f9299a3d1aca8771789fa0f1f94bc27a7df4615d80d2308a6d9fd6bb9beee21db0aea94f4d4e729bbe58013c57eeb65ce452be44c99e6dd34573b9eee874b2539afb0fb09cf89d6b090a502a311754568f0568cec889cc21ea483680f7d14780297098f7957b8a99b308e5073a28902370916305f084d98e7a37ff7ba3d6ba5555d2fd06d7cd63e9d193669f6a3c90af6d2aa3822fe478338791088c0e903c4913546bdf3a88139c702e4a0100ec61731257d202c15bd348b3032ac467dd760a54a7fada3270dbade2b57daf5e300dff299185982b297084c589360a39e28fd952d472b9193470928ce86863428cefb42c9a62679c810c1ad533925c89a219f3cc93ca95a99c009d41ba41d36920355cd9c48beb2e8c2ab46605ed3cda758104ded050b063611b395962f05efcf626417a3540b99a1627a53941c13e83c50c77ff89bbceb15f7f4a0f5931dbedf22e2e7465d37816a9b0127b1bd0b0e12810a1b763e3fb2a5ef270cfc4dbdd7b37a2f18f6b6850ab0ecfb2f2b73664be0ceadb0a412abf048d0c2550383f297ca096025c0a95a195e53c8c5b05e77e2a4eb2625982d950a88cc304f5da78eac25bf7f80bd1dd2e6e3b3be4a26a197e6c21997509cabe2b21db2588fcfd9efe9cae438580ee49c53b8980dcfac9b1ee1d5709ad02839532108e680cfabf0d208a44a2d6160582e8c06c5b0dcc3106564952159d79fdebf849b40013cb910f58bbf988a6fdf9a61a91b037faba0de9de18df3b38fecab3655942848b516528c9ab05aad5aaa48d99d15bb545b0abf149e1eac49960b984a012226ff07fe25faeb5306b12a427e1634fd8d825f3c8c48863cf51b79e818c3e53f8ca52e0c94efa71157f37f2cae20405be64234c5d57236c0e9134700d60c16ac531d89968ba8bb89b2f96b549cca2f8014e674dee57c76554738721cda321b65530d6ad4eaf9a1a351b131b0dfc99b0ae56e1db04ff7577667c5db2ab01f46727237d0a5b508140974b1d5240b110d432505e604ff20246fa97eb44ac911dbae0b75cf860a3de988a71b334e6b4e64c0487b15fab1dfcbd38803ebd74b564dfe2b525f7bd5652be17bbdb2446b74302afe1bd86694e0c42024ee8c82ba684281a64258401ebf95a8950b61e5ad830e64a0a0b54cab50e933f3c024917547b27d6fea6a31ef20bc4bd232e7cc4d709bf31036e5792a30815892664ee4a873437bfe13c32b45216fd3aacb2652eda1e49bc8d1d6bd9220070c70d062e644489ad60b33eb717f34107e1692b900a7585b721a827a2738bd282a915791bda3f1403a864bc15808a380c9b70c63000618f835c2713de239b2fb596bb900677c5bfdfa5f4cba292bbf02f325b1566a5951b7364cd3abb779de6766ff984de1af23a0a8acfcba86685c6c2c3ae2ce5653a360a2238b60f803246e7e9b514f378d64a2093720699179cc494d98ac3b354851a0ec8f0e45e5f988cde001e5705592b9a48b41a810a383deb6eab94153a2de9df88b7a8d22f463a3224b63b443fb5c465dbca3745d146cebc8f3c3adefdd4763a521c43a32ce15c6adda321d5aff51c2c43d2ff7d2c680c5a71f17f9559b85d38f64dee57b76d222f492cf95c119d44c28f39ef8e81902ade2f60a8a433d21032a039d08c2d4d0ff75726b2a9639c4dba6d88bded77dbec525bfbb5299d36ac68bbde36c7a6addc892d8c5d27062a061bbb7b439fb6a6a3301c4dee6be155888cda3232be9318c957f52f44600d4634966a005a4e91dd537b20500c78d3b85e8a35e27e79f5583c3bf9d69990f2cdb9c3218757ca045de674b7506b694bb3c1b5e0a8409a75411016fccb37caad2261ba335992264b76a52eb98034436d61a97a2d496c4bbcbf3c01cc06fd19ffdaff1de11ff483ba71b395cd99921cfa7caa41b03d0b7af0b12e6cb7232209bb08599cc0d3199dbfd69e3a7f6e6a219861ddd8c22d46b732f0ebfd7bd81e5eee6c102e63ec969ca0cc7b7247bf8a9c7c16cdfe66a0e378670a0658201b193b3869055ff76af3b4eb3f4cbab0f293c90064df7ab7c5d5929222b306ae94b49c0c687616c6c9016b372a8051771a8380119dad0e68e87cca5d237e836b1448181f912224aa94e390546fac47574d179701c0faa48b4ee380a52ec19ec96c16d353b0796e04fe2ba9fe3cdb5f52731537ebb270592e954879fa6c5a9b9b94cb38f30c174d6c9ac9069cad974b95d5906708238bc6997dd9aa8375682cef2136616cc1a7c8471c9aca81e3ee0821ded4c1784e6ac4f40a3b063227c4ac2978c2d0258688c394a227fcdfb4ed4600b3d9a348c62d728717cb4610bf134d15ac8768085d86df15039ce187de576ceaf7a7aa971555075b79564c18e5b760f44751b21da9fb1db308b8e294dc1f92e235f69e3c9c1086aca4c4942510725e6a5939134508bb6afadfa98ab396dd5a5387229498c8141464cb6468f977c2a05784e416fbc1ff1f6dac404bfe9325ebdbbafbdbc85a518490b1e9b0e2ac5363ffbe0dc21c8234c9019a6b282956c58d602016d7784fe02a289adfd62dfa52f865cc5ba769339fec206606c2c8b7a647510ad7063ed9003b4a616ccfe474c0b3507d65f431b40ca243f45df779e8ba70ca7048eb12d1fa860b6ab93e5d014ed30fb2773167476e1f961c586ee050bac8354449dee1cfb76ac42971269d53ba752a74d0631785da9d9ab674bb7401fbe8bdae87953bcb99de5a945a3806078feb7ce490602c8ba109ca3166111ea31db1401c7a702faf50653f8e155c12d59cafaa51b0a2520aed7bc1c36f6f6792545fc09d80a2d88403ac3e1f5d87a8b3c5d7dec762b2880c916c485da5c8d1fafb9b908b2d8295e5a70591a9b1261eb82590d366b72ae46863018db907a78dacb5008e403394d23cdec5805cbc76737b47cbfd6c4b326cfeb9e49130628f225f8abb729f8234229355506512e36a4d4a854562724d377d24ce1c72e228b80c7f890a9bea2b269e1a943c055128b9e91311ed102bb39a2ecc717ee62eaeca7e9a86d24b7c4bf858bc8dadb2e3141ad04f549cc8732363635f3121ea40c0595d02fd44717bbd185a481a004774182a19e40cad5d897779de531a08ffd2dea91e060379fb941e037d5fd7c00e00db4977c99902bb035d1c2452bd394d141d7421b27124a2cf1a3c4f3a741c798721c155fab836e1326835e5d17fe93835e419dbdffd72a52578e8a29cddb3b82013229e2ef70fe74674c00d0a52103a4a6052cc9e7a78f435c8a339c1acc654d438de380ce2f11a448d8ef3cfa26c0144761c2062c095d2eee76a296d9998797a5aec8fb8edb33146062c32d0b68a0a484a161cd91f3e15b8f082ccdcf06211c76b074693b52402be2904a60a3240b0a490033c0c3c0c3c0c3c0cac4df42d7bfeff33c64e525232061ec6cecc9476cbd4f071d809f67b5ab36db0fd83ffe8a8c80a030a9a0a272b718eb57547d75852945073d4f39c62a39e0426e6934aaf3d2d23899298795d92d89ca49130bb3af8a8e58b1521d1ea274165664fd6dc238e26535782fb0927e688ab3ed6e355703b1ba16cb4534b53265a8c58bf3cd5ad9f68548b488e7f39534a8bb64811df6589a9ffcee43f11cb678a49d305110557594fdf371a4c921a87704d0ed2195a93f7c56950c31049f199428d7c65c64e8d42248fc49a245b5a99d53aa84108fbc41a8d61dae72aaa31884e122dcf54ca0be218f97df2297764500371e5f565a6a4694edb1a80d042bea6c43435feb05cd23e57918c95fe1c7e70375c960c99bda431c9313282df238d3ee023bba317aad9339a6364840fe5cec135e78fcfb08e1d3df6a05d95f9e6d6f416323d3063b19eeba41836c778e4e19353ff6f62c4446c3ca8f12ac8c7182917a63b542b1537899d3ae5cf1ca86187c5425369c78a678ba9433aa357ad99cda48ce950b8ef30a9f7d226677368e4adc63ea5e039af1cecb9890b929eebff240e64ea99d9ebef3c3a76a0061c12b433ba6b6b8ae39737b82565b0b895d4ae4e724ca0861b6ab421316793c4e4a95225b5b021afb6d13729d3a23e64a051860880b0011e3c34052d181901c2d65883b1c4f79842c590af9b8eff1788e0031fc0e1831a6ab82c869592c49c58eb6aa461339f6a1fcd31c7643e50030dd8c4a7fa94528e91913318c26ae5b5fa3ac54f0e3398b12ae692b4e718192943626d7886faf01129e6181921837f763f1e266cf0c7e0e670e1139652a613d41043e962dcff5fab331cd408035a3627c949647a0283136e1f762774a425a8f18532ce38e30035bcd066e8f08119698c51a30bcfeb8951cd2f4dfcf020c371ec3803071a5ac6c8480d2e745287d3133aacbe4306193a48a0831a5bc8d35af6f9b89dbd2cc7c848086a68418d212d8ac75c2d716da04616aad3f2de8a92371e3274ec000bf5c9c9da67c36a49318f2b98371fd7f2bdc58bd20a892a5f19e3b1d294a8a046158e18bfeaea9c44cf392ea84185c23dae4e363b47735350630a468ead4ea534d535b2a08614d2e0a65aa57621e796418d2898be32abe654ada00614c835c94d3b83c969c21c232320a8f18445ec36bb98effbd4ef811a4ed8b3858e4a85f28fa6086a3461f1389ad2bb7f4e1ac761c60e12d46002aac15e264653e2923596a04ee6bc57b7f70e670d25ac32bfc97392f0dd688d249c33ea7c9a13b3e68584a47b4d724c933334476b1c21213bec3e5cedabc61aa861044eee52bd800db03e8ad14af576aa6452348989e1a6ad8f7132fe7f0a7e0c436dbfccf1709673368ec619cc63031fc2d8477533ed98647c04830bfbe09d92d0d1db0418a5f4b59c6a93ed34a53c9a5d071fbf5093cfbd8c653ed1265f94240fdb41b6e386f8ece0a31746fff43315cdf8e0c52649826f8613db859127b7946825bae0522b2b68698e26c53946463e725189f1bbd2c2f3810bc3b5d577a518a9f56ff1ca7d4c5f1ddfbeb02dd8783955aac35a54c2baa554f2477712a38531674aef953b60f0318b84f08ded27beb2304ab418c737e49264626157e8128f1bd1f5242c0c4d5e62d5969c6743818f575cd1f77aacedf752e80a3bb592983c48dd49951e6790c18233c8e051c6472bf6d874e79a2e5d869c15b86709323925a5a5f42a90b06acb95ac6d2c57059e44d14da1c3a930859b4eddde97a641c5f6129bb29f6c79f43b4551d7f6c418d6faf3e30f535442b4f4e5a7b69c244b918db6c62f135298a4ed482ff9e25ad3a3f8353da33bbfa230fac3bb8dafdca692502cbe396492440d19934171ac4edddd5359a39a4fb05db5a93cc698934e9ef8c49db5bf92b3c4ca0280848f4e181d7368bd1d2d8d4a113e387194dd49daa5738c8cf440477780041f9b48caffecbab1b6929cd584e1cceee36da78cfdc944f2863d738bdfb05183096a74ae52ea4f97d55cc2d6cc49aaf4946331c7810a8ce0c3129490f6613156cce845f05189a2e498ae3787135f3c4aacfb56dad3f1535afe98441be352a3a4ac14432b892479bcf652dbb39e1709a32b2347dde13b5690810f486c5d2d5e66a59e83f4f188fb2c7bb28ad4bf103f1c8166ef9246cd92bb671ac184e77a252965fd3f3f1891b09127bf6d14af7890a1a3471af8b188fdd2c999af7162d2b9e30c1c3b9c031f8a28254d4ab773af98628938fd24f9da6cfb40c4d1f2d8da8b038d3376340e33ced0e139d871c68f8cc8e0e31005a9bf19db1e73f5e418197136c3d3e081b320071f86d02c45af3829ef1d703480d002fd28c49df9f15da14356338478663df547fcaa5592419c1a379b9a9152c14d410576f4b8c1872008cf686d937acfe21788a25f8e27b8a75ce25f1ff80004269a7b579e909de3f3f1074d4a7fff39c9eeb2758e91911e3f0082c2e00c1fb480021f7e7834f6da56a68a79bd3e1ceac4cc30193c27eff0214177bfc2c84931091a041eb0873aa5b72429e362c9b71eeacabffb1db99e7399073ba6db10173ab3b38587cb7ef435ee643ed13fee40a6f03948469bee78b2e0c30e4b5e12b6375fe70e1a32ce38635df051873f5e27e1848d36d331137cd0812aabcdbe24946364a4021f7328423bc7c934213577fa90c3b69b29dfd13cc91ecbd14353303292a387a2313202841e1f71487cb1ce9c9655a31f3814c5f682f94c1f6f584d0ab734629210167eb801f30a9e96d6e4a30d47f355b79febcd7966035a97e7c763b7ebae6be0f2347f7a68d460684f2dbb38395a953474c205cfe8493e9b7d68306ff99550eb39c35f42bf5c86ab663ecd506b92a3a6942a98687b19ca173d49e7754b58ea830c6a4efd4fcdab65153a1f63e84efcd25e3731743797848a3155902e0983b99fb47f26e54a4e81c107188e493dabdecdfae7fe85a2c962369ef44261ded11532b5ec66bb6092533a66298d0b956c4921155665eb640b9e97fc498e49caf3da8a4290830f2d289f6e163e7f394646cc501d64f4e8a1830c2b72c1c8088f0a7c6421398d373945f53129fd81876087fbe08c12980f2cf8b231feeea7c927fd1f5730e7df93c7c838b3e9c30a782661369d9c291bdb8f2abc3f7d5bdefe0715ca9d32bd550a5e99fac714ceb174b77a6e9368f92105f6a4dc9e845ef01185ab6336495adf5ca25705cc38830ce6c10714b0ed8e9ccee7692cf4f184ad622ffa58124aaf5dc28713ccb92dab761237c91b63c24713cef424e551f3b4afeb0713dcdb5fd59b2cd1247509cfbf89569260e6ede18712c8bf9ce564f50ebf98137c24e11ca2723aef3ca9fd23c12c27beee67a2c6207f1cc1908a9a316deac308aa6d9cb08bdb1e461ba3186979a7934bae4cb2350631ced2cf6861c34d1271189e6acb545ada4ea9c238554b8cb4c72cf6d9308c118ca414633d226ab39b070b6300a3fdcb1e4eaccc9b3b4cc218bf28b6f3e44b723f610c5fe8b5e3a1ccb35ebfd68bb344db8fdd9a6d651b831749e73155880a2353d218bbd0a3a5dc6fac0bbdc7d045b3b95edd5db4e49ce7e2d7f2f89cbb1e0317c4be86bcee5419bddfc224b59f4eda6bcc6b620b5359a618e1a7c12e5e0b37d9e6bb141a2dbc4d425fdeca497868168cf647ec7a54b93e6591d07f2547d3142a7e2c1627a94c5ad78e4e30062ccc6955525a48eb9c5330c62b0e0d9e73662c5d4185f29e9dec8cd10a464f2c6a67134ece620527ec94a41d373baaea608c5594ca364cb88b5b7b996364c40363a8e2d3209664ade8515ace313272811e69a0618608cee0b1230d0ef0f01e40d8c010c6488508c6404582e754e9132be514d8e6f27f1bb90f1a638ab2fddc52fa47e5b8942249ad9cb34afcdb1ca3300629922ebd24d48585f87114a5f028a22ebd15bd9d11669a8f898b59d13c1baaa0db4bd22e642c932b16f0501ba9e872bbe666dc1e13b33950e1c56ae57fcd55a1d3364e6130b1e5a4f9899ab76c98022b9193a4db8f679f6f06f448a30c07d828c5fe657294dc26648314b649b1aec7255b7d1f85c1fa44d1cc3989465114c5b774e55b4dc779a128e54cfe341fb3018a53653af94fcada36b2f189a2e5142ac794f0f6b80d4fbc2b25b597be347533746c1967f0c8480f16d8e804b25249cc24646c70e2c912eac793681bfc44053636b178696fe8c9a2c086260ad7a9daf364ffd82725208305363261c6ab918d65593f731b9848ce74f2e612a777327709f54a924a7ae938c13b963885abdc98a2c93153ca096c5482b434b7d3d5f8b22b25b0c8f829acbfc5f04ee26dbd1c4ada984c92441b9238499b632de58e8d48d4c1d2a58b0da9da21f18d988939991cf2fa2392e5b2bb6279c8543ba2ea9fc8dd9f3739dd8852ec8f2671b3a5664614ad5d72516fb3c48b48b013a46ce4ae4a5811e668fe29543569bd8970c34996d23ff78c898853f4ea50e61d02d7107926db8654cd10e7fc213265a9a8a015e28dd1275dca83c6ea099109726b7294946de70791a795987604a157f4fa64d2554c970fc45d6fc9526763ec3820d22877399ea495f91ff014f77cc2f683c96f2fc4d57d205d22f4d5fcb2c47cb0de64ad134fecd3bb87464ecc965ad5c3fa252ada513bd77928566cbd7c3b5f957848d492ad372d9dee780756bdb27592bd4bdbc1681f533c21ac8369f3769d2e3a70e7716f92587275ce1c4a964cbecd8ccba1ba3f31299f781ccc9bb2c7854dda67e270f8fdb6eba2d7c6dcdf804875e58e27aeafee867387e5e64e1b081365d5fb844ccbd9f0c455879d55ffbf0623e4f463fca674d26aa8a653b29c5e63ca6f1a346133f2fe47544443728c9eb3354a3aa367d0d33f73ca659be19ca325296d2c032598a535715c933419dc1cf9119f33743906353fcfc68757b1c4b0e70ed5d95ceb4e2c0c9fb644ce7e76cc183098832513c34b0aef96fe82b72605f1a87462dc0bc50c992b7d16f16817ea889accf6f43b712e14a38adf849d5bd95b404bbcfcd9b236a5570b956c211ba4841223cd8291591d35eaf17d2cecc94d8ec8abe4b1bbc2592d34de436cc30a86c598f161bd652f6ca30afde79e5986cde1a4b00d2a947212a3e668ebe14ed8c614c89c63b8f059839e246c430ae5ad185ae72617fab511053f485ddc1466d7f26b030a9fa831bb4ead869ad7c613cee2b213cad2994baedc269f6c13122a49bdb7ca0442aa531256538a5d2e01f3a0592e8cc79e5209a61e8d2a89d5a964120e9d2fdfc791b0baba7ba88fd1f011b496cc696aa31b9d0d2370f2ef96272da98915e3982d9ed1f2f5e622c6ed39d22fb66ca8698781fb9d24797b9c24c585816aa6933b3a59a41d8c929852977dca2c598171c7f051cbd0f617fc05b5979fc6e458329e2ff8cbd71996f3c6777a61afa7cd0beec962c40b4bd55d2fffba8b72ac8bda65a2ba480c294d17e93af973a1ba5ed676ad50f28e8b042953cf7ce72dcafd78a2c79564694e5b709df3af84f89c2a672d96f9ed7042ee9c24272d6a4fd23d7f269524e72cf27ce2493d2a8b632fe5ad98e40b63c6e2af564de2b57ef3c1a252fdde3bb12b69ee15989826fd48776cffb8a2f461532e68099f3fad287a08ddf09fe4b60d2bc80b37f1d2cbb0d32af48b72826cbadb8b54f1df066ded8994381568bcf467b6266796242ad8f4a2c974735a4c92a7b8e7732531c7f7cc6f0a93c9251b4f3daee6a5c85bf3a38c8c7e8e93c23c2f69d13fcf4a7a145adea9f0b89fcf59145475be4bfdfaf17128925218138df93caf0b0aece247bad44fe099512b7c7ea9333d5125f5bc9f1e7622e924c56905cb2968c8894b53f4c344eb68176ea23e0f95e964348d859a4093f8d1637930136caa9a3e41e64a731013799949695fb6254c7809eed625a3c418ae426889e4d7cab9737f4afd5702cb33121f597a41a74429d6396506d312f2499417b5439f7062dcb4248c1d7baa5372b3ba91786522c3f5a5ace142a24a516673c269ebfa88e4b425dce484673e1d615a66c9551e4f74bb46583b2a21f5ad27db31a2eec99cf4e7323f758b60dcce5bfe3599a74e1149963ea3c67fd4d0b944509acac5920611f78755893116b6398425847b8944476b88f3e5a5f49d53744485287e25bf4b124cee42887c24e3a768923c9adc204c3ad562525f8d2d08d444ffb8fd5b35f9407482586810efde3c20ecbfb892ca301dea3fb0259428bbd5276e7ef0b3ae8925095a1f94b8924443ca074e2ec9ebb23a12e31e581355b78258978b7ad04a12af927bec072d0f898fad99c7e091161ef84edd3955e225b9b23b7c95c2ecdded3e7acc0e86f6f954d9c14e8cb13a24a6e6fa27f4e74e4687af4bfebd98a22d443687f2b85c56bfb3138bc961b9dca826854d4b251607bf538a3ad7f559361cd858b9c41cea3760a576b295299bbe6e78cb4e4dd268f353dbd0e7d0113167593c6583ea31cc3d7c5bc8730d25b14be358cb5c34d5b067bd8a39c3a77e4b43d2bcc525df0a0d89c992672a69e53dab3398e62949c99b2e5eaccce0a74b3297a6fda75365a84e483d592d45b3a9c8708e49d6ffec7362b2d4184cf3b95482450c479f133de7f53f0f837a2163369d708fc150cc62f26b9bc465497de1b7b81893a4d41cbb178acb653964a84ab7bbd06f6fd0dab2de9ab940097fc1db3d98c96de17096e4f4a417ebb35a48f2aefc1cd45dee2c58b93a87fa4af1ab62c1fc7253f6e715ccf3d5942f680563ca55aebdf67a5715e8da70999afe1916154e1fa9215eb297f89982d9c2792c296ad6d49142e2479d4b41130547b552545692fe630e14f2ccc96335c7b837394fb0b6474b8ebd13b0248cf6c5ba183cde84c2c624c89bcc046befc4b38a97e084ca254dc9ec7995b04f6597fdf90d7a12120b769210a951001250154f5229a549098d028ec0765ee9245f7a3ecd28c008e97bee585db61e9729c6eb99c95434c4684aec9c7dbf84f48c194663a2e56612be552f4618e4de6a4acb27099e07e3ba28fda8b3e9630e0cd52cb856ccb43909ffc230ef9bef4dc2b7f505799224dc95acfdaff622db6c7143f64ed69417aed9a51c53db9938eea2b39cb1ff1dc39aa80bf5e6523e7cb930e52ca9e3e9c6142e5c986174bac5265706ab8c6c51fca789ee3116ac528b53329a24478b3b6ae9c4dd348b82e84933969785175b4e922d43efefb1e0649334572cb993ecb0d053ac9264b1bf18f92b341bbfe8586361b52b2e49ea7017368445b7156e904a2143a61c4256a4195e4d4e1a5e345d05b61adb2a55d495ceb2450b59429a8abfa492c3c5ac26cca828d3c55c529aa7a04a4a8ba88e29bc8c730fe6e1c5c752a0e1e9a2dee54b89a43034baaf78388a46fe54fca493754f1427a9b4c4f8d9ed9d85a21839cdea1528d6df8a3f1d9f6f9a4f205fb96e4efc42f7049dde23ec844a27dadc31469593c2097a4e4ad932a93a27299bc0c4bc119dd9d2a45f13ef65892d1b4366fa4cac7362b4f5eea5703191e7e6fc49f65c22213e33c6d44a17564b78e249a10979676a4d5e671a2d8ba231e9c4d51873c9398543d166e94eb55d9129bea050369c7b7c49fe31de4f24c58a490c4d1be7bef584adb9c3f6e74ec1aced04392fd21d543af765397179f989414255f6d54d9852f84c82c77b8aa99a30e7e7d4f395c666d24cf8b5ae9b7a44df4a1413e79cefcc56435f2ad14be027e759c6a025b29273bfc710cf89b2129d9545b53095735e29c18e695b9e70d531370965a437b86ed2949924320d154dfcb40dbf8984f2394be37c7cac21d1a55c6d929ca6632ac147f41e1777937f8e2874fc5387b211d7acf6e5af24d9e618e14666130ffb6d9bdd22f224aa79aaa418163b4578a7d9694dd54d701361ce247d4e951a22caf9e39474792a8bd92112598bf4f0cc1065125b2dcbda7a265688c266534e577267f78440535ee6eca8e4151f4429a7bb5ee7e620a5209e91cee621a1b1a90a842636953726b9a5a20244b14a6754e43ff43a6b72cc7b7292653f18153e6eb6af0feac5a87ffa1c3e9493f9c4ea93b387acc4cea6973df325397af0cc6d3fc939afbecf436d1a734ac7cf17e378a842d95ef00e95d4dca6ca7c26bd7630bb4c54c51c32fe75503cee5faa67e8c05fd67ec98e99836156c9cba4641b6b39b4317d685798e2504cf16c2a9e101cb6f19b13739894ccdf409857254fa35d27ed0663a6acf1c593e47e1bf4f07cdfbc3a936636e47f92debabd6d7c6b48f4bdb49e53dda751039d394c4915ff3ba792866ca636c624e605cfa3e1e09e45bbbcf3657a06e3b364d7b634f14c331834c6e511338fb12b437db752a2f659d61419fe28257f9f654eef1943f5752b339edd1043da29a6924e52f37e0fc28d3094597ce7f57345b80186acffc453d4b81752bdf105a36cfff4de1e0026dcf08291a162929e0c9f2f056f74e10617520bf22399f31c23233a786c018b50ebb90f56255a207242733edd8c951d1bb8910536ab2fbce599142a02c10d2c98bf349b101a3e6ec92a1918b871853356d37ad20b2785ec3bd0f8c00d2b78497ccf55f1192ac73570a30a9b58f0529d75878ee791811b542846efb0dcd953e8cb3c70630a78c793367dd26e48c1cb6c0bea239528b057f2bb86ab396e40c1ade8fcba27de7882369add2fbc6a8ca2a3e086138a493f86e89e949ca24df0b3e2735477e4a4bcc104ea62dd6e9b6c59f3a71b4ba0cbec84d44e9aefc7d79183078e1b4a304484c7d4fec93bec2928379250a8feffb58bc46d490f7c0523233df01d7f030997144a2ed964536e8add38c2962263f48abbbe297ec3085477ca6d1f727fd62a862b6361cd539caca672e06833140719ba0384185cd944ee77ac3c8e616c26c7760f9a4268eaf0506124e8c56d65bc070f25a30620c128ede7ae8bd1f734689ce102106068b24f96f07ec26b87fd0566bc00e417d767a72465f9a47f93e3022c38011a65301920be48fa4dedf6689f2adc3300e905ff214ec5b6dd2dbd3800e1856392541d274779984103905d9877777395a7991c070b4ec0c30c07d1c5f925997f2ec08213e000c985956a4d7c2c6c5d990f828b4745f3e6b7acbb49e816d4e6ec5989b8fae4c100c41696dfe76ca92e1a83f902905a98ed3eda3e4a6871e8a09a939431b3f8e45256d0fd3abb481679da589c8ff6cc2663e19fe47fff267ed21e2cf4a4d12e599e044bd9575065aba9f1c9cd72c515d6cc46ffcd44ec49b542df93eaaac2fc242202082b8acdebe4b295dfcd82830cd5d16387a201b20a53deb749b15662bc1210551cdcc468deee513742905414b3c5f7b8d29b2b2520a868f72feb7d1e93847f19e4147bd213e74bd8184e7d105390d5e14aca4ba577624a51124d397cb59a7c5ae220a4a02ffd67a5503fad9b21808ce21c34cc644d55defb1c2323af4e060d4044516a8bba731b5eb676288adf39f685fb908f19284a9eb3df4e981c35449f48d63f37ffdc143bb127acfd14fc63c78412ad134995e69a375ad4f2e2c4e73797dddae236a6b8082e00b209e25babf3875113b96f0a9f97ce537acdc4d2e297397a7bef2731617fd88fcf9bd3274f977845ccf6240d0bd59d25be385af11fe635f7a512eaf6e8a61bf537bd5b004289a470b1ee23c349b6f224ccf6d8b3691b882430f1a98fa1ec2e361789c47d13652aef3976780f331c129f07ff12426cc793e711a58b8cdeb97b4bf013c41157be98c86ce16a428d50ce829dea7d4eebb706208c304577a24cf0ce90950d401691c58e848dc510ad26340051449296e4f29dddea2d9f08537ded84969718b277010822babc31bcc4703b162730003984b519623453ee148f73a800c410dd5705c9f47db172904218c2c3df5a6c4f004208aaf34cc39c706292c283204ea37db81cee4d3f2082387456ca93b3071208665fba36986a8608cc0001c415262226cd0cf28727f3afaf58955c72ea073fa7cf52e50ecfe1833080f4a1891236dfafa6f34af361b534d93bcd75ae5d7300b2073b9aae97b85a49885f0f6eaefa1b9d5af593cc03be7d213cdb52b09cccf081a2018207b292d5a728eabfeb5ee0053200b983a1b47be34af2cd3ab143b1d3e4b430bb0efdaee8548da7f5f380d0419790d64fbd94fe2e9039747d2561ad22881c4a279820a6614289dfc761bf0e3edf596fbb730e38d4bfb5259aac37dc9d362695e8ad71163794c2740e99eb5c414c4600d2862a69655cca0cc20645633e779a65ed7e206b3896dc2659193baeac1e206a48ecff42e524b5efce6938caab93bedc9a545f8f344cb0c37b888007206828784ad287d37497040be40c896152e9da6b77b62d0188193c0f4b93ef532829bb1c3a7000c10cf5819b8163c719385c005286c4738a9a123d371d840cad7cb05c9b3f9514ebc808c818ea8db3bb6b99363a8d011031dc17a1372b164818d0b3a411562764fb0d0667a2aac72de7f829bfa0b7efa8ff56ccddcd0bd7e7a6bea80c48174a92ab495ddb413b02e1c2f9d96473fa34934b0c640b9f98e0e7a2494eaa71102de0c983bf589c4edf151390a12fb8034816a8ac194f122a27593b738c8cf0c0710a102c14fe522eb54f12433768a091c6158e99c460f2e865c678ef701f9c41068e3643071a4068011640ac7012c272be98bbb672ae0a9e98695126c60a1d325448fafc1335d204640a6e092a1aacb35220db6c2dab941ca3a83946467ab0033f804441cf9a32e7a45b718f42e16c724eb1ecdbc6d3831de020011c409e70acc6cfc52b5d35712774f1a6d7d2a79398343946463c07ed0dd2047bad6e6afddce635266852313e2efc76bc4c8e91111c38005982f12ef54a288d664bef15e5d84103902410aa21ec3ba326cf2c12ae94725e16538e69a91c232364a8f7e081630764a4b1232333003942b225eb7c5795bca9063142d942c72bfde924c7b918bbec6dc5f62eff4c8991945f639225dc82c5cf304cf94ead72920d6194c39214b3ad9d502df7b0118ce2624ab2a5bcbc75290fcf818e0e1cc106300ae5714ba465a7c2cc31324286a6c1030fd8f845a5536e75a2fb8530795f810d5fa8a31d2b69b7367a51fb9fa67c8e9a7fb1eef0c0c888ee7017d8e0856e97311f63bdb697e4b0b10bc33e2e439b94c42ec5862edafffb6de4e20db7932e7314043670b1c8ce89bf1d3aaebc1dd8b805faf7eb29beb2c931d4366c719fe71c1df7e6c0462da870e92f5656dca9976cd002e94dfde1318b457f1649297c683f51637efa65718c746f8e95c5a29857e4c44ffa2689e10ed880c565625648c569dbb0bce22ce14a9c37df15697a54a7993b31946ba3159dae6daa58aa29092a2b12cea41cdb19f6376e36567102103014814b22409410039237ef7f930f600010c8e89123073acc884022816312280de01e3cd2d8418000006123900000f4e091c60a061000cf81a6910333948c030880c70ee734fa8c1d6820c00500e84265784f41e543d7399670d46d2749abb73eb9399450e8bad65571bdac2a2d2009586daa17b1d1e032bc2c000906078e032ce00846478f1d39789081030702166004a3a307193978280e1c08102986d1d1a3cf2883183d9cc730808086304c9ade7aec62790a760ea492c6c84819be03470f74348ee661868e1e64e8486371ec28814830bc07679451869761001160181d3d7aa0a3d3c081030122bf40a30c2ec3cb2880882f76f5b4afab93e493cb5e1465a7755d65d7c3458417e689d39a0dfd2e96d90b992b4153c55817b665bcca7174d2a7cc052e88a824b9449556cadfc212cf45ab73780422b6a8fb5753899f426d33749471446a41d9bd4f5a360d1e1510a145319d6227f1d29998054466e1e7b59cfe3e54e8933220228b52f6a7f1b1db54622ec7c8488ac402af4e3abda2082c5e8f12d462c6c2c99e1c9b068f91111e1810798549f493f74e4cce677311694561c52a8a2a9254a0e2147972e9a928964ceb173145b27e67ea6f87a75872f80eb40523233c444a410a5e2dac5d9864395724328aec3ade58759f6b8645447166dd944aea958c4e2414493926b4955db4984a041474fe50c277682aff14914f9c56b34982df45c413c7ab24a976b83b51d28bded023eb9ab308279a88cf92b18ee6ee6fe2d60e9f3ac911d1c41b2ecbc79cc384cfeb04229838fc674368d7c6fb2fe1c7246c082d292296a0937c174483e7cffa8954e2ba184e3ea97333ef28510a992527c5fb9ea693e82451dbb6dbb469042292487cc94a1b26f394da2210894472dc3da9f81d25e5148840e21187d8c6cf25a5af8dd311441cd1fba5249e72940e263782b4985ba9309e4aea21c288a6f43bb37675d668228bd0e4faa2d4f38ad092aa549eaa1291df7c929592c4142383884318a21089694aa475f64fb00931083cd83c44b0c37b88c073b0c34d2022884000e27d0f37bbb0b1132c227f48b08fde66f92e33d3227e481c8f8afd61f5c1ebb37873758267d7f8b06efaddd441b3073d943ce0e10b97a43c292e4e0ca2c81dec90d0939be4b3255287ccd5473d6fb22949113a247348e41087040e226f70431bdeb89a5e6f64035a59b2b929ac98e0115983ed1d334f8e9093632da286928644040d8a6baaee8c71afa9b783c819a870a9f273fc66e06d63c5f76c17445a9132a0d9e412bcc612021132289a4aca19963ba7931619435f629e4d92eb3639fa41440cc694d6d26bd813743c6128bbbbec498245040c558cb25079b249f655e40bc91d624cea9ca2cf2ba210f142295f7d4e782b613aa70bc48976a516dc3f2ecad143078e00c442840b76ee74f7702ebde117d9423a27ece77c25d45d45440bfdeab68c6ffc76b42259f0b3fde9b9ad66324b040b947b922a44c65730e5c571394113b14272973cd9adf9ebaa16a982594276d65cf2bded294205a6376673ca414e2c2532854e5fb6e3d4c3dd6744a450dcb49c727da6f9f644a2b0c58d6a192ef4a47e50f82a6baa0e26debb710e068c8c9441e409c509224de8d2a74dce9923c28432b458796d59aca96e20b204ae2ebf3d99984ecc39444a30e7bf9463ae983149e2394492604cf24bce0972ee6b95828447379f6c99471a881c414bc924b5fa6eddf7890d448c90a0e6d974f3327b741a0829c6c1b64c96dde98cf08b10420ca44b76666a5c4c689361f851c2bba6d01a63ce243e0811464830125cbe6277868510028cad72de394992b87a1d0821bf60b764b35e325de630c41794659817cb1377a2f762939296a5b09717af453f0b1d963aad276417889b206f39a63bc7bc2344177a92be9893aa6ab6c90f42725170919d67957e69935b9cf2c796b6f4db22a9855b6d1de6a29d839f245708a1459a33b6af2cb5bf89392ed03b50f0829059f099a4bf20f9ba9f343d947590d1de63c7192a0891c52589954bf6101ed26f5142482c8a2997c2c6a7b7e49442082cec3a3186aa4e2641087945c289a135d56674d52e10e28a2c494f495182ade8af5232b98ed866544258f1f75abdc71ca2b4c490206415aa48052af2cabc18f7a5e4483d87034610720aac4cf0b718358553a13aabcd2f45b52676b6786152d4e379526b390a2e5e0aa7278e5f74250ad3e5fbd33ad3ee5486029713d2aea3ef951804856f268689babaca1df389ae2ec63cf17c63df5bd208f144d2894dce490c17fdbc7927019843082712a3ee6e5375a85c3a8f00b82164139a304f35fb750ad9d23413051368ba98cc3a9a7e0ed907422ed189d3ff731b9754b4104b3c616b15f7bac44f7525b2d04bd759d5104a703ade1a5becdaa3350953aae4a77558cb180f9144482420e18e5c5fbd99aa7636c7c88809421ec17cfc24d56546c59c3982924ccefd9d9033e934c237ddeb142f218ca8e3e77c7259322d790a5944c2d4563cf528fd1554441fbe4493d6b993f012d1a536ffb899fab51d0e41c47ed1e5d2447d4cbd11420e51f21232068f1742365a921043fc9a9a72c8ff587f9a6364c483a0e30c3394411052083b9a10117d5154fec402218428b26254934dcaa92f9d7c206410dd7bf6942334c76e920e84082210feb769c693f54acae1104084fc01cb3a1ff262594af9f4c3995fcc3ef49a793f550c912e231fce9f5e439f7782903dd81fa545dc5aff525c0fe6994cd29ed4e9e3dd79b0323fa3ef9a505290f1f09776c81c6eab2e5342ee90f59a24b7872176f8e27b85ce29ab932b1d84d4a1b5bdf48c6ab619ce820ea1c31c984dd1f263d28c9db51c2172f023dca553bbaef51f872b27394a7bff5bd81e0e4997b9a2aab279c9d4819037d89b52a9fbe4a05eb71b8c1b993c87c9944ddb90fc6649cde74ff60eb3a168214e4e79cff2a95d03be7d27692c31c25c359c6b457325fd3a3199864a722ce597b4b13387867366e8943c3d6738dea5ab306d66e5312166e0b35bfc9a7f8f1b97903294829fdc9d997e272d19f4ef7cf284b8c6c7cb18f0e429c9ba5b2737497e102206a3f725a1b2fd9c961f0683dfbce6afca26ae60e8de4bb874e2a5bb72bf40a6fc5f62fe6dccbd79013bd9a5e5c29ca41d0ae9021e15e917ce4b2a7343b8608b9de865c7846cc10a255b297987da662fc0215af82e5d4afdce71d38e2159b862f42455f9a6e4421c2158d0be2a7aaa4f0db9020f2b942a142a942960a26dda29b94cc287611022854acadf1115fe25d6490c42a290261d0dfe7b422139e6e86273e9c404214f28418813b0b8b945b7c3adc9cd2305214d300611cf2829671e3f5710c284902558619f533cf687f9648e158428c1b2ea24a7283fcf1a0d4982e12c32344954ce08410269b6fe73713125851c414b5939ebd8ee9bba39d20831423188a1c6b90c9ef1c33fed617c520ca5e1c1dc27d6228c556b3b977d97d0291c8ce3aa640e934a80b1b8e7ca721dddf88552a1b52d98ec0d5fb4651d5a2cc9f15d33377a919c66333397a0d541fa1bbc787b735ffed26f0ad92e925a3ec630329f71431749b93a695cb869f8243772f1774c5b8dd9a27103178dcb765eef4d784ae61819d1c18d5bb0b9b226bbcc87cfb11c64d2c0918603a470c3167792b995518912dc16c18d5ad829639258ad69b16d078b794d26779f80e0c62c8a9d2d76be7d93dc270bdacda4a7eaa3634ab1282e7e940a267b69c9730316a7cd92848a657531451314dc78459f165a4c4ea6c10d57203ba3e9d6b1dc6277a315f4e69e3ae1e2fef5acf82b2a5f7df8fa185e4529d65fb28bb7a9dd5705b95f2954a74f85eb39e79346b9ededa8482a37ad45b74ff1993c99ba92a7b8cfa6f8c44e8a797a2e4593e2695226b974662645827dce675934f367791401895ca8244dc421a22181482c108bc340004874f16a0400e313080040581c8b8543b1345085e5031480015f281e2c382414281012201412080743e16028100c0402a130281416060302e8300e13977a1feaec004d198daba79fbd966d37c7929ef19d00bc111cddc0d0d46b713b370114187149af2378f155e2bdb7843f3f546705159c5d3ce3b61f5ade1ea3bfa31905a2df5894427c5614402f29ec08e6060772610b103b183b7d1f49a29293cbca593d990eca58f8698c7f2094f590f70d96d91190a7d16033107f61c9eba88a433804c94fcc6743061b8aebeba7095bbe7fcdd56af2a19f1111f866449fe88682413c5788d311ba72273d9824763a89408c95396982ed86d7be241f5e531dbe00b56805fde8512090f616a1abba5594e3468a4a18427034ec82692b2cb11904295c57db60c4413f3be41a347922349d8f1df50eff38654d7a21285cdeaf50583f9a2d8523862b8a2c4d48a75cb042807b22b62a08fddc23af1c3c848a25039782a403090208030569df863d3265c4bef8304408a962eeb7813b65d121358f5e4bb171ada4e7323c94a0fa9b65ce2b02699ca783486f101005061a083ef60cc906c2d6423cd4400b971ce631ed38e47cd217e5c1fa8ecfccc1e4085350d511b400a89157ad5bd3852e936398deb7ea5a862e36341fca1a5c186cb7e2433deae6bfbe026a3b727d5818b566ffb5858ad83c317bb267efb98ce2fb27b27ebf7c0aeea38d3825d4272e94a004e7c22efe70c56cd55999f9ba8dcfbdc6e05e51de19b5284155f503c61d27e2e0d64bedc9bc7d7dab6fa8b7a63764e8b3eaa1e51180648c2b65c6027bd2dc6540822acd2035a552412fb780ffc4ef07281df1639dee991d597a2c21fe34d1db31490973a9a04dfde189190327965311ddad49e4e1f321686ca8fa6e32f1f702898f8e828d651bf7ae3d2cf2aa7ce42d138193d041d9e35482b1cfdcb0873a458aa44d4835b8c3629d6e895997eba12ebe3c01cb820a4a1523784a297ef3a12881b7c420b7c10b87e7a90a1afd9bc254e01f7e8fe2194f9c7794fe70db3ec01d4c27dc4bf2a2d81f0c63683db1bb468c4263fd4e3865242feed5f29c002b9ca5efd36f2bcf6fb2e629021e83a0564646a83883efbf2827d1ed0d4746492244f0e0617e5f41c081e6d2db8c86edb436b8227f87be8779df1c749aaf20fa9d7d25e9613b8a3368bf374c7347fca0717e8513925c1950dfbb2a0d47b039fe23aa3fbfc3d188e2daef1e4aa626cbe3295954a2074bf18a16a8e7dfe4a956355e85fb27fc20409f6e15a7de7408d7ace3b294f5eab01254cae8c2e273e307621f9f1f466896c7755559e18e1df106d163de3000fb4a19a6e06591e71dd0f538ecef8edd543c43313a4b9dc721070636f3ab770f6fdfd972a41e8312c23e62be8839d14fc8441d7dd3c3ff1ecd19e23e336fa4a46023f041dde7aee517253813e752c6c4817b998d9aa045162272b89d8826f5505e2193adf1621e7b388e734b997a24d6f5793b9c30a6ef339fe34a8e98ac807df951e2ac0c5fd7cb3af0428e714650a4ea20149921b28936eca9092aa6d3f5556527da9e44bdf2083074d983afc098ff56b1b9127149a08901d2ce4c4cac9dcafc702a57a6ac2090d5e7b3a5631693174e4722ecc49513c7c189d1ca9f8f924f58ba2204ffb7c8791dc4581d71604d1a4356538b75b48fd0c302c7edb9c8ece40352de0165914c474d4c163fe8bbd3f05b2c99fde254c0ec518ec1f1badbf39eab5dbb5e87668f93003208129c045dd91191b2cf7697ff1899aac13a7381d49d6ca02f25845ae882b8673216455ab7d4244bddad1368d76800e00f214f0567a131be36498b261271359be5bcf3260d16109d74c0f5945d2cd41d5493070ebe34bf6fe020624d3db5cfcce2e0a6e3bac55ee64c6b7d1deaaa454b74d96cdef3d24042ce03c19629360c70dd2c55e7b4c84fa82c41684ebbbd80bc7c5221998a29641dcfb53d40123a1be286b5f0b7d69b34a238a0e2d964fb6355f2fc0e922e271f30c65df5de84b71c37c5ab3f090cf5164ce03ab285c8912fec8f3be5508f650d42b196332cd63960c1e5719b223ac96b1a81c16f71f0e45754daac2d052120d277285a349f72be8a2996d43699d552b6c480fbc74c0178d41b4f1aab0552ae5e749a556cb29b2ff65926e7455f9f98e7438255eee0bc583e0b1ca7cee957ee2ef618beb855fddd30de0a1a6c1c9dd512ec0d122003b3212827f66071376c5a2620d1a49e85c176e19662e2b150de5e205cfbe5529e43c53820a0297e77052ece11f70673a097be7c10b33028f1847f6c88f0b3d8a7e859d593266377f95b8d3096d6dab48b29f5a1b5ebf01e1d1927d51a0d0e3246065f99b726a2444724fcabf2c6075addf380b6a23e86a338cf9c4e730c015cbc814a5b89c3db93ac25773314a9cb500fd61e1f733b0c0aa7a7117fcdea7d169a94b50ecb1413a4a2f9499c1630752426a2e34c6beda385e070218dc25fef74865fa7b721bbdf8a7d045f73b32fd554041117b5f83ba942dd4e10f9c97b2197986dfe6de0648d322596ff9a353939058dca49a5b3848b2e8a5cc5eaeb02a21f4c060d7054368a61956c60c8a13e26be67fb1a4bc1e806ffe3e2b3a4c97f70f54be334fd28ec507bd5da9e63695aabfbce3743b1a8214d90e000160016c6364a14adbdb90e7b089898d8288798351df2c66111b0a7062818ac4f9e70dcf20d2ecfd518174b44c2608c24b71049661b7cda43806d7fd599f782833c4cb0250b99dc22150e93b166a18ed8448cdb2efe3e336c2a21a1f86b729edb9ac72374d3b32e2235ecea04d5cc0cafbdace931c2f3cb89f4cb41c68aa33e68c382d4340a52c6465cac0ba305c5b4ae22f9972e165473273a44fc9cf1bb5929c6c6c7581f8e2a313bfdb56973d718de750d5c14aa0b6cf596f6d5e89adaf8a07a358ac32972d78fadf65a9cc8cecec6f6bc935dc0abff792c60e1f7d03c0829202abc537578b9685713320920fbd75c95483bcc6364b6f82c2710335ca5307c21cb63f9be2b5b71839b589ccb7ccbd551d4469094051da9ec88f22b74bc8099e508f6a7972bd76180df1c9773a8803b7f8fcda15116f678ba0be1ff1ee8c1db949b15c78b00c6de02aed39b54b08b4e09bb3a839a712e48f1b1f7957c36ab29260e55857bb0979a6a82cb94d82ad7c583999ee391db062c69555fcb7d2e18badc0588d2ea7380d0156397666374d73cc7c243eed17ceb9d365ba65b01a7329f83bc78eedde4ad320ce8ed68bfe0cf9500c9d3a1aaf5b3b659c99b5493c62307f9653649f97f5b9569b75e3e6d2bb9b129e31c05a8bd350baefef53e24b6ca9db40e42b691571fb21dc56361647cd196814ae8d2ed48152ad0dd06e87d5003d676605d22c1fbbd7c7897d7a1c77dbf8b4b9f4ebfcaa14f573df9ea14c7be287007df8a4779045c235b5e277cb3150ca20c7c7a375729e9a07a0aec345a8d7d3015605e06e3cfbc07608e23d20c0846ac07ad50018a2790dcfc90e301690088cc0d87867c1ce38727c670ab84a2bad55a072203fc25c2d3a1b810f7e2f54241acb30c889824ac0101b329e9f72b6c1294752a8e3229d4e78669664709dca459e9214437990fb6c11caa1823135e42f96cb183384e13a2876cba086126992a305611ff8a7ab7dda4e7fa8882da9e5dbeda81bea2efb2fad1714aaa5804f16bb13ef1817596310b474e6f79475b58e5b9e24492e5dadd3b4036ff98b95a57ab7cd0083889616b1cf808db088cb301dff2f0c36c9fc18e9ea674926548b788c14c17c771147ebfef6389639df512a5acedaca47ce38ddd33cac6cbb747acfbeed43372af0463fea01dd936966c13da432b74fd05550dc3531cf044d41f284675789a891c64fe3e2e47e406d0db67244f39c35ce3adc4451bf91d05607088de98d897bca7be82488e6eeb6fd2f4ef36a77065c3c15a5844bd08660168bc1b67857cf2420bf6e6e3ad95b169409d07133c23c319327c7951b2e4bad3249490c4af523705a6ba276e726bfac76a5aa5de99f308cd9c33c9de0dbfb1bf59f5831b773ccc6499fdfc523439d6a50ea28e12a53b7326f728b39031417840d22da041a15a014f1cda1fce1dcd808c355b78aead79b39867f4c631e274613ea94db3eccff7c56c6f3a1ed6541b8027ac8b8735a13444b7b65f1b8806fa9e40b9c5be6e96285a9dc140f96528063d760f0ce6d98edb64ad292e8612d2d98f8af97fa56fa33ad4a42aa6bb666b71ab8ba10c79583681508e6bce5ba707834a3dd99a2eee8133eb793d1ae13558fd33619c35f5a548fb3a27ff46a03d2110756348240d700da2755e61c492dce92fba708a9778e9c5c17bd87fccc2ec0556bbfcf2ef82873d7e79b45f8785472363596016456905100094324d81522ddedcf166490caf30926ae7663ab1487158f9100296b6f1ae76b54786e613141aac60e95e7b9002192b020ea3bcc3378b79861faaddacebf91d842100e00206e7043d4fbaa45438d7ceec3a2c37e551c66b93b46eaac4b5b0a1c907b97253462203cc61ab2e180a01cb2d0ea1df8d023730c71241470a46a0068e323439087e990429d91e52578c37ebd0bcdc122866ed0360a9ca96f481513652f96b30f4c10c91c4904651eef416a233a9ea4dc2d612af98dc94f70d729768ed9e179f73c7c2041362387ebcab9319c570f8c6919b7d04f888e393dab4f79845005b8f89bf3da25eac3adb6bbaf69fd0f5d2a02be0f0d1f36021b16481ae50a0148e07be76e1f9571f0fc175fa13a1a90b472a9397c116da61cb8c3d31034eb0a550da1506998b3a0834697f0ccca0b3702cb9c9e7c906fa6946dc1554037c9833e943422ff204bf04671f4ec8fc3a0a6e453317396e8a09c14eb7b338e9e214cd17be4fa4f0af712ccd43f717b8c9c3826c1efcc2ee97b466418f2f4a5cfe4caf2017e1f69801b6a7f760c756511af18b8a56bef62b514aa497731937eb8501e050286996a67124972ed4319efef1323ae2915cbd32b5d6489c3f78e4323bc6ffd708835c0146f4922067aaa6b74c805303a820ac1d3aeb07f48a9b07f46d446b57578acd7e38f15ffae17024463c078937d419871fd4f4e9dcf2c7239e74999881194bb49906011b3224e77ba44aea591584825079a5f2d453f3d2493018d507949fe83b4ddaa7112b5bba1ad6182bf62c547dce3142abdc38346224b0753785c1dc82e3a7cdfde89e4704bdeec5f92254aadaf81ca573aec0e3d38ceae6b6d42cc90dcb9bccfce216ddc8e8e4c356060ed6f0397d84f5c0eb9b3935fc5bf1a69656c50e22281225c8e3d6034260922fa565bee38605ec3730c7a852decc8d991e5de9ec16f405e8a2fc1ce0ccf50617d74f2a27c6dbaccdbee3956f59a7b97b3de72630fc3e5b0fb6c746c41b692e178cd72f8b09ac97d8c1bac85d112f2aeae2a9ffb8f3dd83b5f24521614f9637fdbdb9078a35d9d9dd00f9f6145918a85714e80dcef40af5e1a65d921d9850c4279e16f74d99bcb81104f01aa78bbcf3362cdbcab11dadc3cef8eee2f742ab54b77910341ce6958d63692e5cc239d10f98f2eaef37c8f8d50a6ad132977fb5abdf3ee4d436df8cb679468fd0200ab1656f8da31095db02ab389cd1184060314502a1ad02de5297da576e6bd5529622686b6b81f92ee18a3e90792b5dd874132e5c2e25ada7385a8c00fa862a86321a0f7f900aff15142306392f7a7d00274e62a722449f45f15ef6bc7735d01d4cb636fa6fba040098ec8b20109dd683ac65bf11cc82b68bd184e5faef145c3b96ae5ea0002f2afbabfb0ce56a8d62425865f8165355fb5c36941508614c1772a7e770c3d4111345ef836c717528d8f25608cdf8d71933137d22b4e2f43665d6d6e70bcac0e432aa145380456cd89097d2d39dd1997ad15e5c1868ac7a6c59068c7ad71131936fd694d4a1a46a9d15c44ba2f828b69e3cbfff84feac731316dbf92784fbd00efde2403129ff188ddaefb902a91e2dd18f16e1b401b81a2d4100e905bc3a97f9ae43fb4982c7e57e2e875159d77a49d030034accd7393b534ee8643a6062853054c83d43b8ef593a6d0e634bcbf424f9e2131a4402a202a2eab7165f874d7052a5a1c2ac14026c4f3654ded1d5b4b11519ed9dd7f151923e771f80b934f1b7a302a6ebb0796bbc91aeace235c665debb461665b0dbdde98fdc9df3eda46b9f9d5cf7d18cf0d08e982fd5a5a4703bbc4b5a989feca463c179931351fc4f33cec436e72efaecb16f173dd3c7396dccbf7f7ffdfbf5d3fdbe71f50e0cd394714d4bd7afbc13f7df7eea5ea3625969ef4543a5c9531fa278f6a9a2c983b5eeb071232f90755a56381dc211924ba5e1c2e41782a9172c500d0e5d97f0cc3bf5d07908257a6e4885460b52cc90688acc12a3cecdd47db3d721ab74e37d7b2d22feeb230e9020951fb7cffecd07816c91a68363ba774cca122707fde6bf18ccbdb00becdd19ce4d984b00db6f93e55b7ae7fed5636120a3cf60620cc2fd536a5ae9a9dc955e48cb5fc78229a7002d8cb2dda103b2a195406484a64ff52ad0d4c8743c86844fdd59df529df4ad9dc9ef5d1b0dfbaae5782cff161adae60d2b4312ff70e91876c001716739a5a08f3ff08bd0a617668cbff26ebc786b9dcb77805863196ac47192ae4ac548f7998d68801f9bab1c3c2c5b953f463b8aacb618b7bcb17ffd410cd9e25b757a73ab35a5b64ac051912da12ffc7efd836f9e9910425776bd67bfd8f800628a60fdbd83a3c2e6ca8b3f8d7d61e2db0f39f45aac5748ee0ef632b99b94a85d0cabf7f061a68de503a7b60fd9620bcb8cd4503242af98640c7dfc940a17b93cbbfa85bcb0c4b5a5a8db5b26f567f24ca23b22bde0c7f9197a33396bc50edef35a8ca1aa96e0f35dc36453e3047fc69b08c14a586001853df8b9d36d8a227c9b4facb5229632f9d39ad5163c1743d3cdb5720f3190a0d78c71f9d3073eae1301442ba8719fa6a72b2d731e89e6e3a6a1dbbc1b493c9dda69a4835e5baaae208320a0ef094e5ea32265ae03d12ebb32fa4d6600d12d80c74a9b0204b87e4f49e3888e52f616d9e86ae2dc1cb327716a7c8b696185210c5b5f2c7f496879556e77515c8f294c132ff6e131daed491073e3709683651a885efd3036099c2093ffabe3e7b501b29e33592108494ff1dd2fb2b6e578a3ee97e1e358f62b671b11e378a8d4521c5d9b3236b3f1c0f1ac5fb502a48207ba1b1b69e698602547b38d07562e9f0ce293898d835fb215560d28452cf4d5b8706291a80448be497c82f3252516de68981f6c040c74529c6572031a3199040211db150e253fdf55ac350c59d73ece378acf8f7142be319efc218fd292e0dd5f8d288c07d8f74261159a668c6a992de4fd64ac94231a90942eb6c1f398fa8d0d228230786b96d5e3a39f095b2e40ed7f8fd3fc2bbd133b45612937da2863c8fb2f04a1209a59862a36c997c9369486710c192dc5aef84c0eee9fb98818a0f51beb5ca7be44dba6b13fdc37cf23f8d2af9eaf3bd25f0c5b5ff0a2695cf5e51bb2407a0895771c8b37b831db0edb7f442addf25b1518bd3944b00bb1166290e84fc75f8e06e7d484bafb030d6e82f385e2393d468aa53ddc0fe5f2c3d1f13d650eb109194072b226518150453b126310984ce88ca2d2a40e031b0e886afd2963bf8b915e48a67ab767b1936202b9de6fa4fc9903b134e3e104108635e34b9134936b6f185bfc646e420e2ec8a62b272c7441cec8697099a8e0977b7bee5559da8caf2a45a51d9841ba8753691d39eb588cce2f8a6e1d2b84997a05964fd53a56a52f51a663d270f9ba4ab291aac6db6de3428e85122892149488ae42a299847bde02cff308c12d464aea6f9ab3a8311d38eadd4a9d07c2be31285b9f937da2741d06c67c260fc985dc9df87d1e075a005daccc58593dada1fe5bf52b220fead855f891e67ef39d2e7ac6347abb26daf890832f103a0cd8b81957ec82bc10c8ca441d4d0f7834d2210f094068106d08bbdc9b7f43bf14f7128c84a56ce5ae8cbf9afadf8d970af3ed39365f749f83ade44ef66b8de602e39bc3e888475aa94af6ab62c24388feca758eaced29a8d8a2202b8cae9fd1546fe4aa6afc6286df38a1034dd90f6eea61eafbd1da07849a9303f6ab60fde0a7f77debd6f3904ba55ae4cbb7c088011b3bb60395899facda96583b47042613ce0b3b4b550fcc2c9cfbd73036a0270ec66f14cae2f6290628a1d07c9e06a076fa4034b7997f253ada87f335f01bf7172b3df87c79f4adf760666b62599b2721446eed6f7e0a9f8c73a3164cda5e4b063e937a2a696e5e96400eb1fd5f292af50d08163b5a2cf625a72c823f16345be61bcc48d52818f596cf19965e1351b95e221e51bae813e955e657d4c9a0e5932316631b460e832c5c0c2bffc81a4acbdcb6ba0f19588d027eed73006f848641f754bbd8f982c8e12ed0b5561a0e61124c9199789f1fca117a6c115671489bc7104bcaebf79684285282cc8ee61c8ac7a29004050bd543c33241b12a4db03e9258aa9b2c6517b8fec374c9bd8aa493c9475b60cc1dbe0f109592be502ecd3d8d89a81b71587319e5814dc288dbb6b374c1cad2156855637354a564a97169b613f80d742f6aaea96e62cfbd9c9841670f14310f12fea3c13595631ea64a58c4825439f169e7784250d7f8aab8b5a1fdb7c4090d9db01b01a79d1c1864107d777ea66087541f925a40d3fd9aecb0335c52b08b0bcb588852a1c3c95694d3630a6d33bb4f1854e26a81707a525b514e5081fdd38c60c88f4d5d360627a86721e538db724663b852992f46ecd4de2a14cb4fd6820f617e4b6634003d58bbda37052615805cb0171dec1467ded5e7d0114ddc52c347e2cb1ebef217dd387ebc1d48a8c663c08051011f6c37926608402d6ebbb055c36c7191418ab5ef348ebb768b872db80c4595faa89e8ccdd7ef6e24a3b99e3b199c8d4908145a480b761a5f751280ac26894f7e48f205d5d8044ba20966a2f3277f023b648d6fa417f10c95f0f577f4c8f452295c5826dce794270c5d8faa373da28ff90bb3cc1e7c65baf452596d17bcc9368c87645c89df8aa05ad0d2f66598ef1b502def0b9d7bdba2435ab6b2ae8d7f91f456a44ced58f833e3719fcf227435fe7585af5296b8a254ba7871938d9cf669d668018abaa3ead1963b9c1c2965be0cec6b1be90a66abb17b42b376eb91428ad0ca40caa33b609ec3a2f3e402354479d460361a8ee227abecfc9c43ef9978083d74acf6bdd446a1d1917e30f5ccf1297e49a82c2ab101ca9218f3c4253333454cc68e319e865371e9fe5a07d3cb64", - "0x3a65787472696e7369635f696e646578": "0x00000000", - "0x3c311d57d4daf52904616cf69648081e4e7b9012096b41c4eb3aaf947f6ea429": "0x0000", - "0x3c311d57d4daf52904616cf69648081e5e0621c4869aa60c02be9adcc98a0d1d": "0x0888245cdf5b5b517c48b0057e17c94c7ff71eeb7ba4665b3d07accdc0c3064915487cf837b45261c45c45a38e66be1fb80dc7d755094b44661632ec30d3a5db01", - "0x3f1467a096bcd71a5b6a0c8155e208104e7b9012096b41c4eb3aaf947f6ea429": "0x0000", - "0x45323df7cc47150b3930e2666b0aa3134e7b9012096b41c4eb3aaf947f6ea429": "0x0100", - "0x57f8dc2f5ab09467896f47300f0424384e7b9012096b41c4eb3aaf947f6ea429": "0x0000", - "0x57f8dc2f5ab09467896f47300f0424385e0621c4869aa60c02be9adcc98a0d1d": "0x0888245cdf5b5b517c48b0057e17c94c7ff71eeb7ba4665b3d07accdc0c3064915487cf837b45261c45c45a38e66be1fb80dc7d755094b44661632ec30d3a5db01", - "0x5c0d1176a568c1f92944340dbfed9e9c4e7b9012096b41c4eb3aaf947f6ea429": "0x0000", - "0x5c0d1176a568c1f92944340dbfed9e9c530ebca703c85910e7164cb7d1c9e47b": "0x14ab94d42fb790854e7c4813af55722e2007ce2070177bbe93d64cabe5f6ca6f", - "0x79e2fe5d327165001f8232643023ed8b4e7b9012096b41c4eb3aaf947f6ea429": "0x0000", - "0x7b3237373ffdfeb1cab4222e3b520d6b4e7b9012096b41c4eb3aaf947f6ea429": "0x0100", - "0xc1728aff8713a0128694fcc5292d45494e7b9012096b41c4eb3aaf947f6ea429": "0x0000", - "0xc2261276cc9d1f8598ea4b6a74b15c2f308ce9615de0775a82f8a94dc3d285a1": "0x01", - "0xc2261276cc9d1f8598ea4b6a74b15c2f4e7b9012096b41c4eb3aaf947f6ea429": "0x0000", - "0xc2261276cc9d1f8598ea4b6a74b15c2f57c875e4cff74148e4628f264b974c80": "0x0000e07636a455810600000000000000", - "0xcd5c1f6df63bc97f4a8ce37f14a50ca74e7b9012096b41c4eb3aaf947f6ea429": "0x0000", - "0xcec5070d609dd3497f72bde07fc96ba04c014e6bf8b8c2c011e7290b85696bb32e08c80a03a157175c7c70470cb16b4702921f0b4e2a7109277354bd3d8e11b63bd7ed70510cf57f": "0x487cf837b45261c45c45a38e66be1fb80dc7d755094b44661632ec30d3a5db01", - "0xcec5070d609dd3497f72bde07fc96ba04c014e6bf8b8c2c011e7290b85696bb35884b65da9c67e67d8f775301891bc245f2cbf2d64cf1c0e64d16632c02268fd2199c84b09ff7f7b": "0x88245cdf5b5b517c48b0057e17c94c7ff71eeb7ba4665b3d07accdc0c3064915", - "0xcec5070d609dd3497f72bde07fc96ba04e7b9012096b41c4eb3aaf947f6ea429": "0x0000", - "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa19503258a6a86894e3206175726180487cf837b45261c45c45a38e66be1fb80dc7d755094b44661632ec30d3a5db01": "0x5c7c70470cb16b4702921f0b4e2a7109277354bd3d8e11b63bd7ed70510cf57f", - "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa1950e0bdb19872c269b0617572618088245cdf5b5b517c48b0057e17c94c7ff71eeb7ba4665b3d07accdc0c3064915": "0xd8f775301891bc245f2cbf2d64cf1c0e64d16632c02268fd2199c84b09ff7f7b", - "0xcec5070d609dd3497f72bde07fc96ba088dcde934c658227ee1dfafcd6e16903": "0x08d8f775301891bc245f2cbf2d64cf1c0e64d16632c02268fd2199c84b09ff7f7b5c7c70470cb16b4702921f0b4e2a7109277354bd3d8e11b63bd7ed70510cf57f", - "0xcec5070d609dd3497f72bde07fc96ba0e0cdd062e6eaf24295ad4ccfc41d4609": "0x08d8f775301891bc245f2cbf2d64cf1c0e64d16632c02268fd2199c84b09ff7f7b88245cdf5b5b517c48b0057e17c94c7ff71eeb7ba4665b3d07accdc0c30649155c7c70470cb16b4702921f0b4e2a7109277354bd3d8e11b63bd7ed70510cf57f487cf837b45261c45c45a38e66be1fb80dc7d755094b44661632ec30d3a5db01", - "0xd57bce545fb382c34570e5dfbf338f5e4e7b9012096b41c4eb3aaf947f6ea429": "0x0000", - "0xd5e1a2fa16732ce6906189438c0a82c64e7b9012096b41c4eb3aaf947f6ea429": "0x0000", - "0xe38f185207498abb5c213d0fb059b3d84e7b9012096b41c4eb3aaf947f6ea429": "0x0000", - "0xe38f185207498abb5c213d0fb059b3d86323ae84c43568be0d1394d5d0d522c4": "0x02000000", - "0xf0c365c3cf59d671eb72da0e7a4113c44e7b9012096b41c4eb3aaf947f6ea429": "0x0000" - }, - "childrenDefault": {} - } - } -} diff --git a/nodes/parachain/src/chain_spec.rs b/nodes/parachain/src/chain_spec.rs index 20426c482..42725d5df 100644 --- a/nodes/parachain/src/chain_spec.rs +++ b/nodes/parachain/src/chain_spec.rs @@ -30,7 +30,6 @@ use serde::{Deserialize, Serialize}; use sp_core::{Pair, Public}; use sp_runtime::traits::IdentifyAccount; -pub mod clone; pub mod peregrine; pub mod spiritnet; diff --git a/nodes/parachain/src/chain_spec/clone.rs b/nodes/parachain/src/chain_spec/clone.rs deleted file mode 100644 index a3ca6dee8..000000000 --- a/nodes/parachain/src/chain_spec/clone.rs +++ /dev/null @@ -1,226 +0,0 @@ -// KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2023 BOTLabs GmbH - -// The KILT Blockchain 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. - -// The KILT Blockchain 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 this program. If not, see . - -// If you feel like getting in touch with us, you can do so at info@botlabs.org - -//! KILT chain specification - -use clone_runtime::{ - BalancesConfig, CollatorSelectionConfig, GenesisConfig, ParachainInfoConfig, PolkadotXcmConfig, SessionConfig, - SudoConfig, SystemConfig, WASM_BINARY, -}; -use cumulus_primitives_core::ParaId; -use hex_literal::hex; -use runtime_common::{ - constants::{staking::MinCollatorStake, KILT}, - AccountId, AuthorityId, Balance, -}; -use sc_service::ChainType; -use sc_telemetry::TelemetryEndpoints; -use sp_core::{crypto::UncheckedInto, sr25519}; - -use crate::chain_spec::{get_account_id_from_seed, get_from_seed, DEFAULT_PARA_ID, TELEMETRY_URL}; - -use super::{get_properties, Extensions}; - -const SAFE_XCM_VERSION: u32 = xcm::prelude::XCM_VERSION; - -/// Specialized `ChainSpec` for the normal parachain runtime. -pub type ChainSpec = sc_service::GenericChainSpec; - -pub fn get_chain_spec_dev() -> Result { - let properties = get_properties("KILT", 15, 38); - let wasm = WASM_BINARY.ok_or("No WASM")?; - - Ok(ChainSpec::from_genesis( - "KILT clone Develop", - "cln_kilt_dev", - ChainType::Local, - move || { - testnet_genesis( - wasm, - vec![ - ( - get_account_id_from_seed::("Alice"), - None, - 2 * MinCollatorStake::get(), - ), - ( - get_account_id_from_seed::("Bob"), - None, - 2 * MinCollatorStake::get(), - ), - ], - vec![ - ( - get_account_id_from_seed::("Alice"), - get_from_seed::("Alice"), - ), - ( - get_account_id_from_seed::("Bob"), - get_from_seed::("Bob"), - ), - ], - vec![ - (get_account_id_from_seed::("Alice"), 10000000 * KILT), - (get_account_id_from_seed::("Bob"), 10000000 * KILT), - (get_account_id_from_seed::("Charlie"), 10000000 * KILT), - (get_account_id_from_seed::("Dave"), 10000000 * KILT), - (get_account_id_from_seed::("Eve"), 10000000 * KILT), - (get_account_id_from_seed::("Ferdie"), 10000000 * KILT), - ( - get_account_id_from_seed::("Alice//stash"), - 10000000 * KILT, - ), - ( - get_account_id_from_seed::("Bob//stash"), - 10000000 * KILT, - ), - ( - get_account_id_from_seed::("Charlie//stash"), - 10000000 * KILT, - ), - ( - get_account_id_from_seed::("Dave//stash"), - 10000000 * KILT, - ), - ( - get_account_id_from_seed::("Eve//stash"), - 10000000 * KILT, - ), - ( - get_account_id_from_seed::("Ferdie//stash"), - 10000000 * KILT, - ), - ], - get_account_id_from_seed::("Alice"), - DEFAULT_PARA_ID, - ) - }, - vec![], - None, - None, - None, - Some(properties), - Extensions { - relay_chain: "rococo_local_testnet".into(), - para_id: DEFAULT_PARA_ID.into(), - }, - )) -} - -const CLN_SUDO: [u8; 32] = hex!["14ab94d42fb790854e7c4813af55722e2007ce2070177bbe93d64cabe5f6ca6f"]; -const CLN_COL_ACC_1: [u8; 32] = hex!["d8f775301891bc245f2cbf2d64cf1c0e64d16632c02268fd2199c84b09ff7f7b"]; -const CLN_COL_SESSION_1: [u8; 32] = hex!["88245cdf5b5b517c48b0057e17c94c7ff71eeb7ba4665b3d07accdc0c3064915"]; -const CLN_COL_ACC_2: [u8; 32] = hex!["5c7c70470cb16b4702921f0b4e2a7109277354bd3d8e11b63bd7ed70510cf57f"]; -const CLN_COL_SESSION_2: [u8; 32] = hex!["487cf837b45261c45c45a38e66be1fb80dc7d755094b44661632ec30d3a5db01"]; - -pub fn get_chain_spec_cln() -> Result { - let properties = get_properties("KILT", 15, 38); - let wasm = WASM_BINARY.ok_or("No WASM")?; - let id: ParaId = 2086.into(); - - Ok(ChainSpec::from_genesis( - "Clone2", - "cln_kilt2", - ChainType::Live, - move || { - testnet_genesis( - wasm, - vec![ - (CLN_COL_ACC_1.into(), None, 30000 * KILT), - (CLN_COL_ACC_2.into(), None, 30000 * KILT), - ], - vec![ - (CLN_COL_ACC_1.into(), CLN_COL_SESSION_1.unchecked_into()), - (CLN_COL_ACC_2.into(), CLN_COL_SESSION_2.unchecked_into()), - ], - vec![ - (CLN_COL_ACC_1.into(), 40000 * KILT), - (CLN_COL_ACC_2.into(), 40000 * KILT), - (CLN_SUDO.into(), 40000 * KILT), - ], - CLN_SUDO.into(), - id, - ) - }, - vec![], - Some(TelemetryEndpoints::new(vec![(TELEMETRY_URL.to_string(), 0)]).expect("telemetry url is valid; qed")), - None, - None, - Some(properties), - Extensions { - relay_chain: "polkadot".into(), - para_id: id.into(), - }, - )) -} - -pub fn load_clone_spec() -> Result { - ChainSpec::from_json_bytes(&include_bytes!("../../res/clone.json")[..]) -} - -pub fn load_clone2_spec() -> Result { - ChainSpec::from_json_bytes(&include_bytes!("../../res/clone2.json")[..]) -} - -pub fn load_clone3_spec() -> Result { - ChainSpec::from_json_bytes(&include_bytes!("../../res/clone3.json")[..]) -} - -#[allow(clippy::too_many_arguments)] -fn testnet_genesis( - wasm_binary: &[u8], - stakers: Vec<(AccountId, Option, Balance)>, - initial_authorities: Vec<(AccountId, AuthorityId)>, - endowed_accounts: Vec<(AccountId, Balance)>, - sudo: AccountId, - id: ParaId, -) -> GenesisConfig { - GenesisConfig { - system: SystemConfig { - code: wasm_binary.to_vec(), - }, - balances: BalancesConfig { - balances: endowed_accounts.to_vec(), - }, - parachain_info: ParachainInfoConfig { parachain_id: id }, - aura: Default::default(), - aura_ext: Default::default(), - parachain_system: Default::default(), - collator_selection: CollatorSelectionConfig { - invulnerables: stakers.iter().map(|(acc, _, _)| acc).cloned().collect(), - candidacy_bond: MinCollatorStake::get(), - desired_candidates: 2, - }, - session: SessionConfig { - keys: initial_authorities - .iter() - .map(|(acc, key)| { - ( - acc.clone(), - acc.clone(), - clone_runtime::SessionKeys { aura: key.clone() }, - ) - }) - .collect::>(), - }, - sudo: SudoConfig { key: Some(sudo) }, - polkadot_xcm: PolkadotXcmConfig { - safe_xcm_version: Some(SAFE_XCM_VERSION), - }, - } -} diff --git a/nodes/parachain/src/command.rs b/nodes/parachain/src/command.rs index 1802eab48..caf9be10f 100644 --- a/nodes/parachain/src/command.rs +++ b/nodes/parachain/src/command.rs @@ -19,7 +19,7 @@ use crate::{ chain_spec::{self}, cli::{Cli, RelayChainCli, Subcommand}, - service::{new_partial, CloneRuntimeExecutor, PeregrineRuntimeExecutor, SpiritnetRuntimeExecutor}, + service::{new_partial, PeregrineRuntimeExecutor, SpiritnetRuntimeExecutor}, }; use codec::Encode; use cumulus_client_cli::generate_genesis_block; @@ -41,7 +41,6 @@ use std::net::SocketAddr; trait IdentifyChain { fn is_peregrine(&self) -> bool; fn is_spiritnet(&self) -> bool; - fn is_clone(&self) -> bool; } impl IdentifyChain for dyn sc_service::ChainSpec { @@ -54,9 +53,6 @@ impl IdentifyChain for dyn sc_service::ChainSpec { || self.id().eq("kilt_westend") || self.id().eq("kilt_rococo") } - fn is_clone(&self) -> bool { - self.id().to_lowercase().contains("cln_kilt") || self.id().to_lowercase().contains("clone") - } } impl IdentifyChain for T { @@ -66,9 +62,6 @@ impl IdentifyChain for T { fn is_spiritnet(&self) -> bool { ::is_spiritnet(self) } - fn is_clone(&self) -> bool { - ::is_clone(self) - } } fn load_spec(id: &str) -> std::result::Result, String> { @@ -77,8 +70,6 @@ fn load_spec(id: &str) -> std::result::Result, St || id.to_lowercase().contains("rilt") { "spiritnet" - } else if id.to_lowercase().contains("cln_kilt") || id.to_lowercase().contains("clone") { - "clone" } else { "peregrine" }; @@ -89,22 +80,15 @@ fn load_spec(id: &str) -> std::result::Result, St match (id, runtime) { ("dev", _) => Ok(Box::new(chain_spec::peregrine::make_dev_spec()?)), ("spiritnet-dev", _) => Ok(Box::new(chain_spec::spiritnet::get_chain_spec_dev()?)), - ("clone-dev", _) => Ok(Box::new(chain_spec::clone::get_chain_spec_dev()?)), ("peregrine-new", _) => Ok(Box::new(chain_spec::peregrine::make_new_spec()?)), ("wilt-new", _) => Ok(Box::new(chain_spec::spiritnet::get_chain_spec_wilt()?)), ("rilt-new", _) => Ok(Box::new(chain_spec::spiritnet::get_chain_spec_rilt()?)), - ("clone-new", _) => Ok(Box::new(chain_spec::clone::get_chain_spec_cln()?)), ("rilt", _) => Ok(Box::new(chain_spec::spiritnet::load_rilt_spec()?)), ("spiritnet", _) => Ok(Box::new(chain_spec::spiritnet::load_spiritnet_spec()?)), - ("clone", _) => Ok(Box::new(chain_spec::clone::load_clone_spec()?)), - ("clone2", _) => Ok(Box::new(chain_spec::clone::load_clone2_spec()?)), - ("clone3", _) => Ok(Box::new(chain_spec::clone::load_clone3_spec()?)), ("", "spiritnet") => Ok(Box::new(chain_spec::spiritnet::get_chain_spec_dev()?)), ("", "peregrine") => Ok(Box::new(chain_spec::peregrine::make_dev_spec()?)), - ("", "clone") => Ok(Box::new(chain_spec::clone::get_chain_spec_dev()?)), (path, "spiritnet") => Ok(Box::new(chain_spec::spiritnet::ChainSpec::from_json_file(path.into())?)), (path, "peregrine") => Ok(Box::new(chain_spec::peregrine::ChainSpec::from_json_file(path.into())?)), - (path, "clone") => Ok(Box::new(chain_spec::clone::ChainSpec::from_json_file(path.into())?)), _ => Err("Unknown KILT parachain spec".to_owned()), } } @@ -147,8 +131,6 @@ impl SubstrateCli for Cli { fn native_runtime_version(spec: &Box) -> &'static RuntimeVersion { if spec.is_spiritnet() { &spiritnet_runtime::VERSION - } else if spec.is_clone() { - &clone_runtime::VERSION } else { &peregrine_runtime::VERSION } @@ -218,16 +200,6 @@ macro_rules! construct_async_run { { $( $code )* }.map(|v| (v, task_manager)) }) } - "clone" => { - runner.async_run(|$config| { - let $components = new_partial::( - &$config, - crate::service::build_import_queue::, - )?; - let task_manager = $components.task_manager; - { $( $code )* }.map(|v| (v, task_manager)) - }) - } _ => panic!("unknown runtime"), } }} @@ -306,7 +278,6 @@ pub fn run() -> Result<()> { match runtime { "spiritnet" => runner.sync_run(|config| cmd.run::(config)), "peregrine" => runner.sync_run(|config| cmd.run::(config)), - "clone" => runner.sync_run(|config| cmd.run::(config)), _ => Err("Unknown parachain runtime".into()), } } else { @@ -329,13 +300,6 @@ pub fn run() -> Result<()> { )?; cmd.run(partials.client) }), - (BenchmarkCmd::Block(cmd), "clone") => runner.sync_run(|config| { - let partials = new_partial::( - &config, - crate::service::build_import_queue, - )?; - cmd.run(partials.client) - }), #[cfg(not(feature = "runtime-benchmarks"))] (BenchmarkCmd::Storage(_), _) => Err(sc_cli::Error::Input( "Compile with --features=runtime-benchmarks \ @@ -366,18 +330,6 @@ pub fn run() -> Result<()> { cmd.run(config, partials.client.clone(), db, storage) }), - #[cfg(feature = "runtime-benchmarks")] - (BenchmarkCmd::Storage(cmd), "clone") => runner.sync_run(|config| { - let partials = new_partial::( - &config, - crate::service::build_import_queue, - )?; - - let db = partials.backend.expose_db(); - let storage = partials.backend.expose_storage(); - - cmd.run(config, partials.client.clone(), db, storage) - }), (BenchmarkCmd::Overhead(_), _) => Err("Unsupported benchmarking command".into()), (BenchmarkCmd::Machine(cmd), _) => { runner.sync_run(|config| cmd.run(&config, SUBSTRATE_REFERENCE_HARDWARE.clone())) @@ -385,7 +337,7 @@ pub fn run() -> Result<()> { // NOTE: this allows the Client to leniently implement // new benchmark commands without requiring a companion MR. #[allow(unreachable_patterns)] - (_, "spiritnet") | (_, "peregrine") | (_, "clone") => Err("Benchmarking sub-command unsupported".into()), + (_, "spiritnet") | (_, "peregrine") => Err("Benchmarking sub-command unsupported".into()), (_, _) => Err("Unknown parachain runtime".into()), } } @@ -498,17 +450,6 @@ pub fn run() -> Result<()> { .await .map(|r| r.0) .map_err(Into::into) - } else if config.chain_spec.is_clone() { - crate::service::start_node::( - config, - polkadot_config, - collator_options, - id, - hwbench, - ) - .await - .map(|r| r.0) - .map_err(Into::into) } else { Err("Unknown KILT parachain runtime, neither Spiritnet nor Peregrine".into()) } diff --git a/nodes/parachain/src/service.rs b/nodes/parachain/src/service.rs index fcde8bacc..a916b6443 100644 --- a/nodes/parachain/src/service.rs +++ b/nodes/parachain/src/service.rs @@ -105,21 +105,6 @@ impl sc_executor::NativeExecutionDispatch for PeregrineRuntimeExecutor { } } -/// Native Clone executor instance. -pub struct CloneRuntimeExecutor; - -impl sc_executor::NativeExecutionDispatch for CloneRuntimeExecutor { - type ExtendHostFunctions = frame_benchmarking::benchmarking::HostFunctions; - - fn dispatch(method: &str, data: &[u8]) -> Option> { - clone_runtime::api::dispatch(method, data) - } - - fn native_version() -> sc_executor::NativeVersion { - clone_runtime::native_version() - } -} - /// Starts a `ServiceBuilder` for a full service. /// /// Use this macro if you don't actually need the full service, but just the diff --git a/runtimes/clone/Cargo.toml b/runtimes/clone/Cargo.toml deleted file mode 100644 index 0e3876fd3..000000000 --- a/runtimes/clone/Cargo.toml +++ /dev/null @@ -1,189 +0,0 @@ -[package] -authors.workspace = true -documentation.workspace = true -edition.workspace = true -homepage.workspace = true -license-file.workspace = true -readme.workspace = true -repository.workspace = true -version.workspace = true -name = "clone-runtime" -description = "Parachain runtime for KILT shell chain." - -[build-dependencies] -substrate-wasm-builder.workspace = true - -[dependencies] -# External dependencies -codec = {package = "parity-scale-codec", workspace = true, features = ["derive"]} -log.workspace = true -scale-info = {workspace = true, features = ["derive"]} - -hex-literal = {workspace = true, optional = true} - -# RPC & Runtime API -frame-system-rpc-runtime-api.workspace = true -kilt-runtime-api-did.workspace = true -kilt-runtime-api-public-credentials.workspace = true -pallet-transaction-payment-rpc-runtime-api.workspace = true - -# KILT pallets & primitives -pallet-did-lookup.workspace = true -public-credentials.workspace = true -runtime-common.workspace = true - -# Substrate dependencies -sp-api.workspace = true -sp-block-builder.workspace = true -sp-consensus-aura.workspace = true -sp-core.workspace = true -sp-inherents.workspace = true -sp-offchain.workspace = true -sp-runtime.workspace = true -sp-session.workspace = true -sp-std.workspace = true -sp-transaction-pool.workspace = true -sp-version.workspace = true - -frame-executive.workspace = true -frame-support.workspace = true -frame-system.workspace = true -pallet-aura.workspace = true -pallet-authorship.workspace = true -pallet-balances.workspace = true -pallet-session.workspace = true -pallet-sudo.workspace = true -pallet-timestamp.workspace = true -pallet-transaction-payment.workspace = true -pallet-utility.workspace = true - -# Cumulus dependencies -cumulus-pallet-aura-ext.workspace = true -cumulus-pallet-dmp-queue.workspace = true -cumulus-pallet-parachain-system.workspace = true -cumulus-pallet-solo-to-para.workspace = true -cumulus-pallet-xcm.workspace = true -cumulus-pallet-xcmp-queue.workspace = true -cumulus-primitives-core.workspace = true -cumulus-primitives-timestamp.workspace = true -cumulus-primitives-utility.workspace = true -pallet-collator-selection.workspace = true -parachain-info.workspace = true - -# Polkadot dependencies -pallet-xcm.workspace = true -xcm.workspace = true -xcm-builder.workspace = true -xcm-executor.workspace = true - -# Benchmarking dependencies -cumulus-pallet-session-benchmarking = {workspace = true, optional = true} -frame-benchmarking = {workspace = true, optional = true} -frame-system-benchmarking = {workspace = true, optional = true} - -# Runtime tests -frame-try-runtime = {workspace = true, optional = true} - -[features] -default = ["std"] -fast-gov = ["runtime-common/fast-gov"] -runtime-benchmarks = [ - "cumulus-pallet-parachain-system/runtime-benchmarks", - "cumulus-pallet-xcmp-queue/runtime-benchmarks", - "cumulus-pallet-session-benchmarking/runtime-benchmarks", - "frame-support/runtime-benchmarks", - "frame-benchmarking/runtime-benchmarks", - "frame-system-benchmarking/runtime-benchmarks", - "frame-system/runtime-benchmarks", - "hex-literal", - "pallet-balances/runtime-benchmarks", - "pallet-collator-selection/runtime-benchmarks", - "pallet-did-lookup/runtime-benchmarks", - "pallet-timestamp/runtime-benchmarks", - "pallet-utility/runtime-benchmarks", - "pallet-xcm/runtime-benchmarks", - "public-credentials/runtime-benchmarks", - "runtime-common/runtime-benchmarks", - "sp-runtime/runtime-benchmarks", - "xcm-builder/runtime-benchmarks", - "xcm-executor/runtime-benchmarks", -] -std = [ - "codec/std", - "cumulus-pallet-aura-ext/std", - "cumulus-pallet-dmp-queue/std", - "cumulus-pallet-parachain-system/std", - "cumulus-pallet-session-benchmarking?/std", - "cumulus-pallet-solo-to-para/std", - "cumulus-pallet-xcm/std", - "cumulus-pallet-xcmp-queue/std", - "cumulus-primitives-core/std", - "cumulus-primitives-timestamp/std", - "cumulus-primitives-utility/std", - "frame-benchmarking?/std", - "frame-executive/std", - "frame-support/std", - "frame-system/std", - "frame-system-benchmarking?/std", - "frame-system-rpc-runtime-api/std", - "frame-try-runtime?/std", - "kilt-runtime-api-did/std", - "kilt-runtime-api-public-credentials/std", - "log/std", - "pallet-aura/std", - "pallet-authorship/std", - "pallet-balances/std", - "pallet-collator-selection/std", - "pallet-did-lookup/std", - "pallet-session/std", - "pallet-sudo/std", - "pallet-timestamp/std", - "pallet-transaction-payment-rpc-runtime-api/std", - "pallet-transaction-payment/std", - "pallet-utility/std", - "pallet-xcm/std", - "parachain-info/std", - "public-credentials/std", - "runtime-common/std", - "scale-info/std", - "sp-api/std", - "sp-block-builder/std", - "sp-consensus-aura/std", - "sp-core/std", - "sp-inherents/std", - "sp-offchain/std", - "sp-runtime/std", - "sp-session/std", - "sp-std/std", - "sp-transaction-pool/std", - "sp-version/std", - "xcm-builder/std", - "xcm-executor/std", - "xcm/std", -] -try-runtime = [ - "cumulus-pallet-aura-ext/try-runtime", - "cumulus-pallet-dmp-queue/try-runtime", - "cumulus-pallet-parachain-system/try-runtime", - "cumulus-pallet-solo-to-para/try-runtime", - "cumulus-pallet-xcm/try-runtime", - "cumulus-pallet-xcmp-queue/try-runtime", - "frame-executive/try-runtime", - "frame-support/try-runtime", - "frame-system/try-runtime", - "frame-try-runtime", - "pallet-aura/try-runtime", - "pallet-authorship/try-runtime", - "pallet-balances/try-runtime", - "pallet-collator-selection/try-runtime", - "pallet-did-lookup/try-runtime", - "pallet-session/try-runtime", - "pallet-sudo/try-runtime", - "pallet-timestamp/try-runtime", - "pallet-transaction-payment/try-runtime", - "pallet-utility/try-runtime", - "pallet-xcm/try-runtime", - "parachain-info/try-runtime", - "public-credentials/try-runtime", - "runtime-common/try-runtime", -] diff --git a/runtimes/clone/build.rs b/runtimes/clone/build.rs deleted file mode 100644 index a39438283..000000000 --- a/runtimes/clone/build.rs +++ /dev/null @@ -1,27 +0,0 @@ -// KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2023 BOTLabs GmbH - -// The KILT Blockchain 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. - -// The KILT Blockchain 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 this program. If not, see . - -// If you feel like getting in touch with us, you can do so at info@botlabs.org - -use substrate_wasm_builder::WasmBuilder; - -fn main() { - WasmBuilder::new() - .with_current_project() - .export_heap_base() - .import_memory() - .build() -} diff --git a/runtimes/clone/src/lib.rs b/runtimes/clone/src/lib.rs deleted file mode 100644 index 8ba2428e5..000000000 --- a/runtimes/clone/src/lib.rs +++ /dev/null @@ -1,742 +0,0 @@ -// KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2023 BOTLabs GmbH - -// The KILT Blockchain 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. - -// The KILT Blockchain 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 this program. If not, see . - -// If you feel like getting in touch with us, you can do so at info@botlabs.org - -//! The KILT runtime. This can be compiled with `#[no_std]`, ready for Wasm. -#![cfg_attr(not(feature = "std"), no_std)] -// `construct_runtime!` does a lot of recursion and requires us to increase the limit to 256. -#![recursion_limit = "256"] - -// Make the WASM binary available. -#[cfg(feature = "std")] -include!(concat!(env!("OUT_DIR"), "/wasm_binary.rs")); - -use frame_support::{ - construct_runtime, parameter_types, - traits::Contains, - weights::{constants::RocksDbWeight, ConstantMultiplier, Weight}, - PalletId, -}; -use frame_system::EnsureRoot; - -#[cfg(feature = "try-runtime")] -use frame_try_runtime::UpgradeCheckSelect; - -use pallet_did_lookup::linkable_account::LinkableAccountId; -use sp_api::impl_runtime_apis; -use sp_core::OpaqueMetadata; -use sp_runtime::{ - create_runtime_str, generic, impl_opaque_keys, - traits::{AccountIdLookup, BlakeTwo256, Block as BlockT, OpaqueKeys}, - transaction_validity::{TransactionSource, TransactionValidity}, - ApplyExtrinsicResult, -}; -use sp_std::prelude::*; -use sp_version::RuntimeVersion; -use xcm::opaque::latest::BodyId; -use xcm_executor::XcmExecutor; - -use runtime_common::{ - assets::PublicCredentialsFilter, - authorization::AuthorizationId, - constants::{self, HOURS, MILLI_KILT}, - errors::PublicCredentialsApiError, - fees::{ToAuthor, WeightToFee}, - AccountId, AuthorityId, Balance, BlockHashCount, BlockLength, BlockNumber, BlockWeights, DidIdentifier, FeeSplit, - Hash, Header, Index, Signature, SlowAdjustingFeeUpdate, -}; - -use crate::xcm_config::{XcmConfig, XcmOriginToTransactDispatchOrigin}; - -#[cfg(feature = "std")] -use sp_version::NativeVersion; - -#[cfg(any(feature = "std", test))] -pub use sp_runtime::BuildStorage; - -mod weights; -mod xcm_config; - -impl_opaque_keys! { - pub struct SessionKeys { - pub aura: Aura, - } -} - -/// This runtime version. -#[sp_version::runtime_version] -pub const VERSION: RuntimeVersion = RuntimeVersion { - spec_name: create_runtime_str!("KILT"), - impl_name: create_runtime_str!("KILT"), - authoring_version: 0, - spec_version: 10900, - impl_version: 0, - apis: RUNTIME_API_VERSIONS, - transaction_version: 0, - state_version: 0, -}; - -/// The version information used to identify this runtime when compiled -/// natively. -#[cfg(feature = "std")] -pub fn native_version() -> NativeVersion { - NativeVersion { - runtime_version: VERSION, - can_author_with: Default::default(), - } -} - -parameter_types! { - pub const Version: RuntimeVersion = VERSION; - pub const SS58Prefix: u8 = 38; -} - -pub struct CloneCallFilter; -impl Contains for CloneCallFilter { - fn contains(call: &RuntimeCall) -> bool { - matches!( - call, - RuntimeCall::ParachainSystem(..) | RuntimeCall::Sudo(..) | RuntimeCall::Timestamp(..) - ) - } -} - -impl frame_system::Config for Runtime { - /// The identifier used to distinguish between accounts. - type AccountId = AccountId; - /// The aggregated dispatch type that is available for extrinsics. - type RuntimeCall = RuntimeCall; - /// The lookup mechanism to get account ID from whatever is passed in - /// dispatchers. - type Lookup = AccountIdLookup; - /// The index type for storing how many extrinsics an account has signed. - type Index = Index; - /// The index type for blocks. - type BlockNumber = BlockNumber; - /// The type for hashing blocks and tries. - type Hash = Hash; - /// The hashing algorithm used. - type Hashing = BlakeTwo256; - /// The header type. - type Header = runtime_common::Header; - /// The ubiquitous event type. - type RuntimeEvent = RuntimeEvent; - /// The ubiquitous origin type. - type RuntimeOrigin = RuntimeOrigin; - /// Maximum number of block number to block hash mappings to keep (oldest - /// pruned first). - type BlockHashCount = BlockHashCount; - /// Runtime version. - type Version = Version; - /// Converts a module to an index of this module in the runtime. - type PalletInfo = PalletInfo; - type AccountData = pallet_balances::AccountData; - type OnNewAccount = (); - type OnKilledAccount = (); - type DbWeight = RocksDbWeight; - type BaseCallFilter = CloneCallFilter; - type SystemWeightInfo = weights::frame_system::WeightInfo; - type BlockWeights = BlockWeights; - type BlockLength = BlockLength; - type SS58Prefix = SS58Prefix; - /// The set code logic - type OnSetCode = cumulus_pallet_parachain_system::ParachainSetCode; - type MaxConsumers = frame_support::traits::ConstU32<16>; -} - -parameter_types! { - pub const MinimumPeriod: u64 = constants::SLOT_DURATION / 2; -} - -impl pallet_timestamp::Config for Runtime { - /// A timestamp: milliseconds since the unix epoch. - type Moment = u64; - type OnTimestampSet = (); - type MinimumPeriod = MinimumPeriod; - type WeightInfo = weights::pallet_timestamp::WeightInfo; -} - -parameter_types! { - pub const ExistentialDeposit: u128 = 10 * MILLI_KILT; - pub const MaxLocks: u32 = 50; - pub const MaxReserves: u32 = 50; -} - -impl pallet_balances::Config for Runtime { - /// The type for recording an account's balance. - type Balance = Balance; - /// The ubiquitous event type. - type RuntimeEvent = RuntimeEvent; - type DustRemoval = (); - type ExistentialDeposit = ExistentialDeposit; - type AccountStore = System; - type WeightInfo = weights::pallet_balances::WeightInfo; - type MaxLocks = MaxLocks; - type MaxReserves = MaxReserves; - type ReserveIdentifier = [u8; 8]; -} - -impl pallet_transaction_payment::Config for Runtime { - type RuntimeEvent = RuntimeEvent; - type OnChargeTransaction = - pallet_transaction_payment::CurrencyAdapter>>; - type OperationalFeeMultiplier = constants::fee::OperationalFeeMultiplier; - type WeightToFee = WeightToFee; - type LengthToFee = ConstantMultiplier; - type FeeMultiplierUpdate = SlowAdjustingFeeUpdate; -} - -parameter_types! { - pub const ReservedXcmpWeight: Weight = constants::MAXIMUM_BLOCK_WEIGHT.saturating_div(4); - pub const ReservedDmpWeight: Weight = constants::MAXIMUM_BLOCK_WEIGHT.saturating_div(4); -} - -impl cumulus_pallet_parachain_system::Config for Runtime { - type RuntimeEvent = RuntimeEvent; - type OnSystemEvent = cumulus_pallet_solo_to_para::Pallet; - type SelfParaId = parachain_info::Pallet; - type OutboundXcmpMessageSource = XcmpQueue; - type DmpMessageHandler = DmpQueue; - type ReservedDmpWeight = ReservedDmpWeight; - type XcmpMessageHandler = XcmpQueue; - type ReservedXcmpWeight = ReservedXcmpWeight; - type CheckAssociatedRelayNumber = cumulus_pallet_parachain_system::RelayNumberStrictlyIncreases; -} - -impl parachain_info::Config for Runtime {} - -impl cumulus_pallet_aura_ext::Config for Runtime {} - -impl cumulus_pallet_solo_to_para::Config for Runtime { - type RuntimeEvent = RuntimeEvent; -} - -impl cumulus_pallet_xcmp_queue::Config for Runtime { - type RuntimeEvent = RuntimeEvent; - type XcmExecutor = XcmExecutor; - type ChannelInfo = ParachainSystem; - type VersionWrapper = PolkadotXcm; - type ExecuteOverweightOrigin = EnsureRoot; - type ControllerOrigin = EnsureRoot; - type ControllerOriginConverter = XcmOriginToTransactDispatchOrigin; - type WeightInfo = cumulus_pallet_xcmp_queue::weights::SubstrateWeight; -} - -impl cumulus_pallet_dmp_queue::Config for Runtime { - type RuntimeEvent = RuntimeEvent; - type XcmExecutor = XcmExecutor; - type ExecuteOverweightOrigin = EnsureRoot; -} - -parameter_types! { - pub const MaxAuthorities: u32 = constants::staking::MAX_CANDIDATES; -} - -impl pallet_aura::Config for Runtime { - type AuthorityId = AuthorityId; - //TODO: handle disabled validators - type DisabledValidators = (); - type MaxAuthorities = MaxAuthorities; -} - -parameter_types! { - pub const UncleGenerations: u32 = 0; -} - -impl pallet_authorship::Config for Runtime { - type FindAuthor = pallet_session::FindAccountFromAuthorIndex; - type UncleGenerations = UncleGenerations; - type FilterUncle = (); - type EventHandler = (); -} - -parameter_types! { - pub const Period: u64 = 6 * HOURS; - pub const Offset: u64 = 0; -} - -impl pallet_session::Config for Runtime { - type RuntimeEvent = RuntimeEvent; - type ValidatorId = AccountId; - type ValidatorIdOf = pallet_collator_selection::IdentityCollator; - type ShouldEndSession = pallet_session::PeriodicSessions; - type NextSessionRotation = pallet_session::PeriodicSessions; - type SessionManager = CollatorSelection; - type SessionHandler = ::KeyTypeIdProviders; - type Keys = SessionKeys; - type WeightInfo = weights::pallet_session::WeightInfo; -} - -impl pallet_utility::Config for Runtime { - type RuntimeEvent = RuntimeEvent; - type RuntimeCall = RuntimeCall; - type PalletsOrigin = OriginCaller; - type WeightInfo = weights::pallet_utility::WeightInfo; -} - -parameter_types! { - pub const PotId: PalletId = PalletId(*b"PotStake"); - pub const MaxCandidates: u32 = 1000; - pub const MinCandidates: u32 = 5; - pub const SessionLength: BlockNumber = 6 * HOURS; - pub const MaxInvulnerables: u32 = 100; - pub const ExecutiveBody: BodyId = BodyId::Executive; -} - -impl pallet_collator_selection::Config for Runtime { - type RuntimeEvent = RuntimeEvent; - type Currency = Balances; - type UpdateOrigin = EnsureRoot; - type PotId = PotId; - type MaxCandidates = MaxCandidates; - type MinCandidates = MinCandidates; - type MaxInvulnerables = MaxInvulnerables; - // should be a multiple of session or things will get inconsistent - type KickThreshold = Period; - type ValidatorId = ::AccountId; - type ValidatorIdOf = pallet_collator_selection::IdentityCollator; - type ValidatorRegistration = Session; - type WeightInfo = (); -} - -impl pallet_sudo::Config for Runtime { - type RuntimeEvent = RuntimeEvent; - type RuntimeCall = RuntimeCall; -} - -construct_runtime! { - pub enum Runtime where - Block = Block, - NodeBlock = runtime_common::Block, - UncheckedExtrinsic = UncheckedExtrinsic, - { - System: frame_system = 0, - // RandomnessCollectiveFlip: pallet_randomness_collective_flip = 1, - - Timestamp: pallet_timestamp = 2, - // Indices: pallet_indices::{Pallet, Call, Storage, Event} = 5, - Balances: pallet_balances = 6, - TransactionPayment: pallet_transaction_payment::{Pallet, Storage, Event} = 7, - Sudo: pallet_sudo = 8, - - // Consensus support. - // The following order MUST NOT be changed: Authorship -> Staking -> Session -> Aura -> AuraExt - Authorship: pallet_authorship::{Pallet, Call, Storage} = 20, - // ParachainStaking: parachain_staking = 21, - CollatorSelection: pallet_collator_selection::{Pallet, Call, Storage, Event, Config} = 22, - Session: pallet_session = 23, - Aura: pallet_aura = 24, - AuraExt: cumulus_pallet_aura_ext = 25, - SoloToPara: cumulus_pallet_solo_to_para::{Pallet, Call, Storage, Event} = 26, - - // Governance stuff - // Democracy: pallet_democracy = 30, - // Council: pallet_collective:: = 31, - // TechnicalCommittee: pallet_collective:: = 32, - // parachain council election = 33, - // TechnicalMembership: pallet_membership:: = 34, - // Treasury: pallet_treasury = 35, - - // Utility module. - Utility: pallet_utility = 40, - - // Vesting. Usable initially, but removed once all vesting is finished. - // Vesting: pallet_vesting = 41, - - // System scheduler. - // Scheduler: pallet_scheduler::{Pallet, Call, Storage, Event} = 42, - - // Proxy pallet. - // Proxy: pallet_proxy::{Pallet, Call, Storage, Event} = 43, - - // Preimage registrar - // Preimage: pallet_preimage::{Pallet, Call, Storage, Event} = 44, - - // Tips module to reward contributions to the ecosystem with small amount of KILTs. - // TipsMembership: pallet_membership:: = 45, - // Tips: pallet_tips::{Pallet, Call, Storage, Event} = 46, - - // KILT Pallets. Start indices 60 to leave room - // DELETED: KiltLaunch: kilt_launch = 60, - // Ctype: ctype = 61, - // Attestation: attestation = 62, - // Delegation: delegation = 63, - // Did: did = 64, - // DELETED: CrowdloanContributors = 65, - // Inflation: pallet_inflation = 66, - // DidLookup: pallet_did_lookup = 67, - // Web3Names: pallet_web3_names = 68, - - // Parachains pallets. Start indices at 80 to leave room. - - // Many other things but also: Send and receive DMP and XCMP messages - ParachainSystem: cumulus_pallet_parachain_system = 80, - ParachainInfo: parachain_info::{Pallet, Storage, Config} = 81, - // Wrap and unwrap XCMP messages to send and receive them. Queue them for later processing. - XcmpQueue: cumulus_pallet_xcmp_queue::{Pallet, Call, Storage, Event} = 82, - // Build XCM scripts - PolkadotXcm: pallet_xcm::{Pallet, Call, Event, Origin, Config} = 83, - // Does nothing cool. Provides an origin... - CumulusXcm: cumulus_pallet_xcm::{Pallet, Event, Origin} = 84, - // Queue and DMP messages and pass them on to be executed - DmpQueue: cumulus_pallet_dmp_queue::{Pallet, Call, Storage, Event} = 85, - } -} - -/// The address format for describing accounts. -pub type Address = sp_runtime::MultiAddress; -/// Block header type as expected by this runtime. -/// Block type as expected by this runtime. -pub type Block = generic::Block; -/// A Block signed with a Justification -pub type SignedBlock = generic::SignedBlock; -/// BlockId type as expected by this runtime. -pub type BlockId = generic::BlockId; -/// The SignedExtension to the basic transaction logic. -pub type SignedExtra = ( - frame_system::CheckNonZeroSender, - frame_system::CheckSpecVersion, - frame_system::CheckTxVersion, - frame_system::CheckGenesis, - frame_system::CheckEra, - frame_system::CheckNonce, - frame_system::CheckWeight, - pallet_transaction_payment::ChargeTransactionPayment, - pallet_sudo::CheckOnlySudoAccount, -); -/// Unchecked extrinsic type as expected by this runtime. -pub type UncheckedExtrinsic = generic::UncheckedExtrinsic; -/// Extrinsic type that has already been checked. -pub type CheckedExtrinsic = generic::CheckedExtrinsic; -/// Executive: handles dispatch to the various modules. -pub type Executive = frame_executive::Executive< - Runtime, - Block, - frame_system::ChainContext, - Runtime, - // Executes pallet hooks in the order of definition in construct_runtime - AllPalletsWithSystem, - (), ->; - -// follows Substrate's non destructive way of eliminating otherwise required -// repetion: https://github.com/paritytech/substrate/pull/10592 -#[cfg(feature = "runtime-benchmarks")] -#[macro_use] -extern crate frame_benchmarking; - -#[cfg(feature = "runtime-benchmarks")] -mod benches { - define_benchmarks!( - [frame_benchmarking, Baseline::] - [frame_system, SystemBench::] - [pallet_session, SessionBench::] - [pallet_balances, Balances] - [pallet_timestamp, Timestamp] - [pallet_utility, Utility] - ); -} - -impl_runtime_apis! { - impl sp_api::Core for Runtime { - fn version() -> RuntimeVersion { - VERSION - } - - fn execute_block(block: Block) { - Executive::execute_block(block); - } - - fn initialize_block(header: &::Header) { - Executive::initialize_block(header) - } - } - - impl sp_api::Metadata for Runtime { - fn metadata() -> OpaqueMetadata { - OpaqueMetadata::new(Runtime::metadata().into()) - } - } - - impl frame_system_rpc_runtime_api::AccountNonceApi for Runtime { - fn account_nonce(account: AccountId) -> Index { - frame_system::Pallet::::account_nonce(&account) - } - } - - impl pallet_transaction_payment_rpc_runtime_api::TransactionPaymentApi for Runtime { - fn query_info( - uxt: ::Extrinsic, - len: u32, - ) -> pallet_transaction_payment_rpc_runtime_api::RuntimeDispatchInfo { - TransactionPayment::query_info(uxt, len) - } - - fn query_fee_details(uxt: ::Extrinsic, len: u32) -> pallet_transaction_payment::FeeDetails { - TransactionPayment::query_fee_details(uxt, len) - } - } - - impl pallet_transaction_payment_rpc_runtime_api::TransactionPaymentCallApi - for Runtime - { - fn query_call_info( - call: RuntimeCall, - len: u32, - ) -> pallet_transaction_payment::RuntimeDispatchInfo { - TransactionPayment::query_call_info(call, len) - } - fn query_call_fee_details( - call: RuntimeCall, - len: u32, - ) -> pallet_transaction_payment::FeeDetails { - TransactionPayment::query_call_fee_details(call, len) - } - } - - impl sp_block_builder::BlockBuilder for Runtime { - fn apply_extrinsic( - extrinsic: ::Extrinsic, - ) -> ApplyExtrinsicResult { - Executive::apply_extrinsic(extrinsic) - } - - fn finalize_block() -> ::Header { - Executive::finalize_block() - } - - fn inherent_extrinsics(data: sp_inherents::InherentData) -> Vec<::Extrinsic> { - data.create_extrinsics() - } - - fn check_inherents(block: Block, data: sp_inherents::InherentData) -> sp_inherents::CheckInherentsResult { - data.check_extrinsics(&block) - } - } - - impl sp_transaction_pool::runtime_api::TaggedTransactionQueue for Runtime { - fn validate_transaction( - source: TransactionSource, - tx: ::Extrinsic, - block_hash: ::Hash, - ) -> TransactionValidity { - Executive::validate_transaction(source, tx, block_hash) - } - } - - impl sp_offchain::OffchainWorkerApi for Runtime { - fn offchain_worker(header: &::Header) { - Executive::offchain_worker(header) - } - } - - impl sp_session::SessionKeys for Runtime { - fn decode_session_keys( - encoded: Vec, - ) -> Option, sp_core::crypto::KeyTypeId)>> { - SessionKeys::decode_into_raw_public_keys(&encoded) - } - - fn generate_session_keys(seed: Option>) -> Vec { - SessionKeys::generate(seed) - } - } - - impl sp_consensus_aura::AuraApi for Runtime { - fn slot_duration() -> sp_consensus_aura::SlotDuration { - sp_consensus_aura::SlotDuration::from_millis(Aura::slot_duration()) - } - - fn authorities() -> Vec { - Aura::authorities().into_inner() - } - } - - impl cumulus_primitives_core::CollectCollationInfo for Runtime { - fn collect_collation_info(header: &::Header) -> cumulus_primitives_core::CollationInfo { - ParachainSystem::collect_collation_info(header) - } - } - - // Solely required from parachain client - impl kilt_runtime_api_did::Did< - Block, - AccountId, - AccountId, - LinkableAccountId, - Balance, - Hash, - BlockNumber - > for Runtime { - fn query_by_web3_name(_: Vec) -> Option - > { - None - } - - fn query_by_account(_: LinkableAccountId) -> Option< - kilt_runtime_api_did::RawDidLinkedInfo< - AccountId, - AccountId, - LinkableAccountId, - Balance, - Hash, - BlockNumber - > - > { - None - } - - fn query(_: AccountId) -> Option< - kilt_runtime_api_did::RawDidLinkedInfo< - AccountId, - AccountId, - LinkableAccountId, - Balance, - Hash, - BlockNumber - > - > { - None - } - } - - impl kilt_runtime_api_public_credentials::PublicCredentials, Hash, public_credentials::CredentialEntry>, PublicCredentialsFilter, PublicCredentialsApiError> for Runtime { - fn get_by_id(_credential_id: Hash) -> Option>> { - None - } - - fn get_by_subject(_subject: Vec, _filter: Option>) -> Result>)>, PublicCredentialsApiError> { - Ok(vec![]) - } - } - - #[cfg(feature = "runtime-benchmarks")] - impl frame_benchmarking::Benchmark for Runtime { - fn benchmark_metadata(extra: bool) -> ( - Vec, - Vec, - ) { - use frame_benchmarking::{Benchmarking, BenchmarkList}; - use frame_support::traits::StorageInfoTrait; - - use frame_system_benchmarking::Pallet as SystemBench; - use cumulus_pallet_session_benchmarking::Pallet as SessionBench; - use frame_benchmarking::baseline::Pallet as Baseline; - - let mut list = Vec::::new(); - list_benchmarks!(list, extra); - - let storage_info = AllPalletsWithSystem::storage_info(); - (list, storage_info) - } - - fn dispatch_benchmark( - config: frame_benchmarking::BenchmarkConfig - ) -> Result, sp_runtime::RuntimeString> { - use frame_benchmarking::{Benchmarking, BenchmarkBatch, TrackedStorageKey}; - use frame_system_benchmarking::Pallet as SystemBench; - use cumulus_pallet_session_benchmarking::Pallet as SessionBench; - use frame_benchmarking::baseline::Pallet as Baseline; - - impl frame_system_benchmarking::Config for Runtime {} - impl cumulus_pallet_session_benchmarking::Config for Runtime {} - impl frame_benchmarking::baseline::Config for Runtime {} - - let whitelist: Vec = vec![ - // Block Number - hex_literal::hex!("26aa394eea5630e07c48ae0c9558cef702a5c1b19ab7a04f536c519aca4983ac") - .to_vec().into(), - // Total Issuance - hex_literal::hex!("c2261276cc9d1f8598ea4b6a74b15c2f57c875e4cff74148e4628f264b974c80") - .to_vec().into(), - // Execution Phase - hex_literal::hex!("26aa394eea5630e07c48ae0c9558cef7ff553b5a9862a516939d82b3d3d8661a") - .to_vec().into(), - // Event Count - hex_literal::hex!("26aa394eea5630e07c48ae0c9558cef70a98fdbe9ce6c55837576c60c7af3850") - .to_vec().into(), - // System Events - hex_literal::hex!("26aa394eea5630e07c48ae0c9558cef780d41e5e16056765bc8461851072c9d7") - .to_vec().into(), - ]; - - let mut batches = Vec::::new(); - let params = (&config, &whitelist); - - add_benchmarks!(params, batches); - - if batches.is_empty() { return Err("Benchmark not found for this pallet.".into()) } - Ok(batches) - } - } - - #[cfg(feature = "try-runtime")] - impl frame_try_runtime::TryRuntime for Runtime { - fn on_runtime_upgrade(checks: UpgradeCheckSelect) -> (Weight, Weight) { - log::info!("try-runtime::on_runtime_upgrade clone."); - let weight = Executive::try_runtime_upgrade(checks).unwrap(); - (weight, BlockWeights::get().max_block) - } - - fn execute_block(block: Block, state_root_check: bool, sig_check: bool, select: frame_try_runtime::TryStateSelect) -> Weight { - log::info!( - target: "runtime::clone", "try-runtime: executing block #{} ({:?}) / root checks: {:?} / sig check: {:?} / sanity-checks: {:?}", - block.header.number, - block.header.hash(), - state_root_check, - sig_check, - select, - ); - Executive::try_execute_block(block, state_root_check, sig_check, select).expect("try_execute_block failed") - } - } -} - -struct CheckInherents; - -impl cumulus_pallet_parachain_system::CheckInherents for CheckInherents { - fn check_inherents( - block: &Block, - relay_state_proof: &cumulus_pallet_parachain_system::RelayChainStateProof, - ) -> sp_inherents::CheckInherentsResult { - let relay_chain_slot = relay_state_proof - .read_slot() - .expect("Could not read the relay chain slot from the proof"); - - let inherent_data = cumulus_primitives_timestamp::InherentDataProvider::from_relay_chain_slot_and_duration( - relay_chain_slot, - sp_std::time::Duration::from_secs(6), - ) - .create_inherent_data() - .expect("Could not create the timestamp inherent data"); - - inherent_data.check_extrinsics(block) - } -} - -cumulus_pallet_parachain_system::register_validate_block! { - Runtime = Runtime, - BlockExecutor = cumulus_pallet_aura_ext::BlockExecutor::, - CheckInherents = CheckInherents, -} diff --git a/runtimes/clone/src/weights/frame_system.rs b/runtimes/clone/src/weights/frame_system.rs deleted file mode 100644 index d5243e4ff..000000000 --- a/runtimes/clone/src/weights/frame_system.rs +++ /dev/null @@ -1,87 +0,0 @@ -// KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2023 BOTLabs GmbH - -// The KILT Blockchain 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. - -// The KILT Blockchain 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 this program. If not, see . - -// If you feel like getting in touch with us, you can do so at info@botlabs.org - -//! Autogenerated weights for frame_system -//! -//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-06-23, STEPS: `1`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` -//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("spiritnet-dev"), DB CACHE: 1024 - -// Executed Command: -// ./target/release/kilt-parachain -// benchmark -// pallet -// --chain=spiritnet-dev -// --steps=1 -// --repeat=20 -// --pallet=frame-system -// --extrinsic=* -// --execution=wasm -// --wasm-execution=compiled -// --heap-pages=4096 -// --output=./runtimes/spiritnet/src/weights/frame_system.rs -// --template=.maintain/runtime-weight-template.hbs - -#![cfg_attr(rustfmt, rustfmt_skip)] -#![allow(unused_parens)] -#![allow(unused_imports)] -#![allow(clippy::unnecessary_cast)] - -use frame_support::{traits::Get, weights::Weight}; -use sp_std::marker::PhantomData; - -/// Weight functions for `frame_system`. -pub struct WeightInfo(PhantomData); -impl frame_system::WeightInfo for WeightInfo { - fn remark(_b: u32, ) -> Weight { - Weight::from_ref_time(860_000 as u64) - } - fn remark_with_event(b: u32, ) -> Weight { - Weight::from_ref_time(13_814_000 as u64) - // Standard Error: 0 - .saturating_add(Weight::from_ref_time(1_000 as u64).saturating_mul(b as u64)) - } - // Storage: System Digest (r:1 w:1) - // Storage: unknown [0x3a686561707061676573] (r:0 w:1) - fn set_heap_pages() -> Weight { - Weight::from_ref_time(4_811_000 as u64) - .saturating_add(T::DbWeight::get().reads(1 as u64)) - .saturating_add(T::DbWeight::get().writes(2 as u64)) - } - // Storage: Skipped Metadata (r:0 w:0) - fn set_storage(i: u32, ) -> Weight { - Weight::from_ref_time(1_312_000 as u64) - // Standard Error: 0 - .saturating_add(Weight::from_ref_time(615_000 as u64).saturating_mul(i as u64)) - .saturating_add(T::DbWeight::get().writes((1 as u64).saturating_mul(i as u64))) - } - // Storage: Skipped Metadata (r:0 w:0) - fn kill_storage(i: u32, ) -> Weight { - Weight::from_ref_time(1_523_000 as u64) - // Standard Error: 0 - .saturating_add(Weight::from_ref_time(448_000 as u64).saturating_mul(i as u64)) - .saturating_add(T::DbWeight::get().writes((1 as u64).saturating_mul(i as u64))) - } - // Storage: Skipped Metadata (r:0 w:0) - fn kill_prefix(p: u32, ) -> Weight { - Weight::from_ref_time(4_533_000 as u64) - // Standard Error: 0 - .saturating_add(Weight::from_ref_time(841_000 as u64).saturating_mul(p as u64)) - .saturating_add(T::DbWeight::get().writes((1 as u64).saturating_mul(p as u64))) - } -} diff --git a/runtimes/clone/src/weights/mod.rs b/runtimes/clone/src/weights/mod.rs deleted file mode 100644 index 456b29041..000000000 --- a/runtimes/clone/src/weights/mod.rs +++ /dev/null @@ -1,23 +0,0 @@ -// KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2023 BOTLabs GmbH - -// The KILT Blockchain 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. - -// The KILT Blockchain 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 this program. If not, see . - -// If you feel like getting in touch with us, you can do so at info@botlabs.org - -pub mod frame_system; -pub mod pallet_balances; -pub mod pallet_session; -pub mod pallet_timestamp; -pub mod pallet_utility; diff --git a/runtimes/clone/src/weights/pallet_balances.rs b/runtimes/clone/src/weights/pallet_balances.rs deleted file mode 100644 index 95b20936e..000000000 --- a/runtimes/clone/src/weights/pallet_balances.rs +++ /dev/null @@ -1,93 +0,0 @@ -// KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2023 BOTLabs GmbH - -// The KILT Blockchain 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. - -// The KILT Blockchain 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 this program. If not, see . - -// If you feel like getting in touch with us, you can do so at info@botlabs.org - -//! Autogenerated weights for pallet_balances -//! -//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-06-23, STEPS: `1`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` -//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("spiritnet-dev"), DB CACHE: 1024 - -// Executed Command: -// ./target/release/kilt-parachain -// benchmark -// pallet -// --chain=spiritnet-dev -// --steps=1 -// --repeat=20 -// --pallet=pallet-balances -// --extrinsic=* -// --execution=wasm -// --wasm-execution=compiled -// --heap-pages=4096 -// --output=./runtimes/spiritnet/src/weights/pallet_balances.rs -// --template=.maintain/runtime-weight-template.hbs - -#![cfg_attr(rustfmt, rustfmt_skip)] -#![allow(unused_parens)] -#![allow(unused_imports)] -#![allow(clippy::unnecessary_cast)] - -use frame_support::{traits::Get, weights::Weight}; -use sp_std::marker::PhantomData; - -/// Weight functions for `pallet_balances`. -pub struct WeightInfo(PhantomData); -impl pallet_balances::WeightInfo for WeightInfo { - // Storage: System Account (r:2 w:2) - fn transfer() -> Weight { - Weight::from_ref_time(68_568_000 as u64) - .saturating_add(T::DbWeight::get().reads(2 as u64)) - .saturating_add(T::DbWeight::get().writes(2 as u64)) - } - // Storage: System Account (r:1 w:1) - fn transfer_keep_alive() -> Weight { - Weight::from_ref_time(43_526_000 as u64) - .saturating_add(T::DbWeight::get().reads(1 as u64)) - .saturating_add(T::DbWeight::get().writes(1 as u64)) - } - // Storage: System Account (r:1 w:1) - fn set_balance_creating() -> Weight { - Weight::from_ref_time(27_315_000 as u64) - .saturating_add(T::DbWeight::get().reads(1 as u64)) - .saturating_add(T::DbWeight::get().writes(1 as u64)) - } - // Storage: System Account (r:1 w:1) - fn set_balance_killing() -> Weight { - Weight::from_ref_time(32_217_000 as u64) - .saturating_add(T::DbWeight::get().reads(1 as u64)) - .saturating_add(T::DbWeight::get().writes(1 as u64)) - } - // Storage: System Account (r:3 w:3) - fn force_transfer() -> Weight { - Weight::from_ref_time(68_361_000 as u64) - .saturating_add(T::DbWeight::get().reads(3 as u64)) - .saturating_add(T::DbWeight::get().writes(3 as u64)) - } - // Storage: System Account (r:1 w:1) - fn transfer_all() -> Weight { - Weight::from_ref_time(52_521_000 as u64) - .saturating_add(T::DbWeight::get().reads(1 as u64)) - .saturating_add(T::DbWeight::get().writes(1 as u64)) - } - // Storage: System Account (r:1 w:1) - fn force_unreserve() -> Weight { - Weight::from_ref_time(25_515_000 as u64) - .saturating_add(T::DbWeight::get().reads(1 as u64)) - .saturating_add(T::DbWeight::get().writes(1 as u64)) - } -} diff --git a/runtimes/clone/src/weights/pallet_session.rs b/runtimes/clone/src/weights/pallet_session.rs deleted file mode 100644 index db96fe888..000000000 --- a/runtimes/clone/src/weights/pallet_session.rs +++ /dev/null @@ -1,65 +0,0 @@ -// KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2023 BOTLabs GmbH - -// The KILT Blockchain 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. - -// The KILT Blockchain 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 this program. If not, see . - -// If you feel like getting in touch with us, you can do so at info@botlabs.org - -//! Autogenerated weights for pallet_session -//! -//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-06-23, STEPS: `1`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` -//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("spiritnet-dev"), DB CACHE: 1024 - -// Executed Command: -// ./target/release/kilt-parachain -// benchmark -// pallet -// --chain=spiritnet-dev -// --steps=1 -// --repeat=20 -// --pallet=pallet-session -// --extrinsic=* -// --execution=wasm -// --wasm-execution=compiled -// --heap-pages=4096 -// --output=./runtimes/spiritnet/src/weights/pallet_session.rs -// --template=.maintain/runtime-weight-template.hbs - -#![cfg_attr(rustfmt, rustfmt_skip)] -#![allow(unused_parens)] -#![allow(unused_imports)] -#![allow(clippy::unnecessary_cast)] - -use frame_support::{traits::Get, weights::Weight}; -use sp_std::marker::PhantomData; - -/// Weight functions for `pallet_session`. -pub struct WeightInfo(PhantomData); -impl pallet_session::WeightInfo for WeightInfo { - // Storage: Session NextKeys (r:1 w:1) - // Storage: Session KeyOwner (r:1 w:1) - fn set_keys() -> Weight { - Weight::from_ref_time(21_418_000 as u64) - .saturating_add(T::DbWeight::get().reads(2 as u64)) - .saturating_add(T::DbWeight::get().writes(2 as u64)) - } - // Storage: Session NextKeys (r:1 w:1) - // Storage: Session KeyOwner (r:0 w:1) - fn purge_keys() -> Weight { - Weight::from_ref_time(16_419_000 as u64) - .saturating_add(T::DbWeight::get().reads(1 as u64)) - .saturating_add(T::DbWeight::get().writes(2 as u64)) - } -} diff --git a/runtimes/clone/src/weights/pallet_timestamp.rs b/runtimes/clone/src/weights/pallet_timestamp.rs deleted file mode 100644 index 26ca7ae93..000000000 --- a/runtimes/clone/src/weights/pallet_timestamp.rs +++ /dev/null @@ -1,60 +0,0 @@ -// KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2023 BOTLabs GmbH - -// The KILT Blockchain 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. - -// The KILT Blockchain 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 this program. If not, see . - -// If you feel like getting in touch with us, you can do so at info@botlabs.org - -//! Autogenerated weights for pallet_timestamp -//! -//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-06-23, STEPS: `1`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` -//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("spiritnet-dev"), DB CACHE: 1024 - -// Executed Command: -// ./target/release/kilt-parachain -// benchmark -// pallet -// --chain=spiritnet-dev -// --steps=1 -// --repeat=20 -// --pallet=pallet-timestamp -// --extrinsic=* -// --execution=wasm -// --wasm-execution=compiled -// --heap-pages=4096 -// --output=./runtimes/spiritnet/src/weights/pallet_timestamp.rs -// --template=.maintain/runtime-weight-template.hbs - -#![cfg_attr(rustfmt, rustfmt_skip)] -#![allow(unused_parens)] -#![allow(unused_imports)] -#![allow(clippy::unnecessary_cast)] - -use frame_support::{traits::Get, weights::Weight}; -use sp_std::marker::PhantomData; - -/// Weight functions for `pallet_timestamp`. -pub struct WeightInfo(PhantomData); -impl pallet_timestamp::WeightInfo for WeightInfo { - // Storage: Timestamp Now (r:1 w:1) - fn set() -> Weight { - Weight::from_ref_time(6_990_000 as u64) - .saturating_add(T::DbWeight::get().reads(1 as u64)) - .saturating_add(T::DbWeight::get().writes(1 as u64)) - } - fn on_finalize() -> Weight { - Weight::from_ref_time(4_251_000 as u64) - } -} diff --git a/runtimes/clone/src/weights/pallet_utility.rs b/runtimes/clone/src/weights/pallet_utility.rs deleted file mode 100644 index 966e6221a..000000000 --- a/runtimes/clone/src/weights/pallet_utility.rs +++ /dev/null @@ -1,72 +0,0 @@ -// KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2023 BOTLabs GmbH - -// The KILT Blockchain 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. - -// The KILT Blockchain 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 this program. If not, see . - -// If you feel like getting in touch with us, you can do so at info@botlabs.org - -//! Autogenerated weights for pallet_utility -//! -//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-06-23, STEPS: `1`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` -//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("spiritnet-dev"), DB CACHE: 1024 - -// Executed Command: -// ./target/release/kilt-parachain -// benchmark -// pallet -// --chain=spiritnet-dev -// --steps=1 -// --repeat=20 -// --pallet=pallet-utility -// --extrinsic=* -// --execution=wasm -// --wasm-execution=compiled -// --heap-pages=4096 -// --output=./runtimes/spiritnet/src/weights/pallet_utility.rs -// --template=.maintain/runtime-weight-template.hbs - -#![cfg_attr(rustfmt, rustfmt_skip)] -#![allow(unused_parens)] -#![allow(unused_imports)] -#![allow(clippy::unnecessary_cast)] - -use frame_support::{traits::Get, weights::Weight}; -use sp_std::marker::PhantomData; - -/// Weight functions for `pallet_utility`. -pub struct WeightInfo(PhantomData); -impl pallet_utility::WeightInfo for WeightInfo { - fn batch(c: u32, ) -> Weight { - Weight::from_ref_time(12_999_000 as u64) - // Standard Error: 3_000 - .saturating_add(Weight::from_ref_time(4_094_000 as u64).saturating_mul(c as u64)) - } - fn as_derivative() -> Weight { - Weight::from_ref_time(2_600_000 as u64) - } - fn batch_all(c: u32, ) -> Weight { - Weight::from_ref_time(17_564_000 as u64) - // Standard Error: 3_000 - .saturating_add(Weight::from_ref_time(4_447_000 as u64).saturating_mul(c as u64)) - } - fn dispatch_as() -> Weight { - Weight::from_ref_time(13_814_000 as u64) - } - fn force_batch(c: u32, ) -> Weight { - Weight::from_ref_time(12_779_000 as u64) - // Standard Error: 4_000 - .saturating_add(Weight::from_ref_time(4_112_000 as u64).saturating_mul(c as u64)) - } -} diff --git a/runtimes/clone/src/xcm_config.rs b/runtimes/clone/src/xcm_config.rs deleted file mode 100644 index 69bac8673..000000000 --- a/runtimes/clone/src/xcm_config.rs +++ /dev/null @@ -1,136 +0,0 @@ -// KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2023 BOTLabs GmbH - -// The KILT Blockchain 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. - -// The KILT Blockchain 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 this program. If not, see . - -// If you feel like getting in touch with us, you can do so at info@botlabs.org - -use super::{ - AccountId, Balances, ParachainInfo, ParachainSystem, PolkadotXcm, Runtime, RuntimeCall, RuntimeEvent, - RuntimeOrigin, WeightToFee, XcmpQueue, -}; - -use frame_support::{ - parameter_types, - traits::{Everything, Nothing}, -}; -use pallet_xcm::XcmPassthrough; -use xcm::latest::prelude::*; -use xcm_builder::{ - EnsureXcmOrigin, FixedWeightBounds, LocationInverter, NativeAsset, RelayChainAsNative, SiblingParachainAsNative, - SignedAccountId32AsNative, SignedToAccountId32, UsingComponents, -}; -use xcm_executor::XcmExecutor; - -use runtime_common::xcm_config::{LocalAssetTransactor, MaxInstructions, RelayLocation, UnitWeightCost, XcmBarrier}; - -parameter_types! { - pub RelayChainOrigin: RuntimeOrigin = cumulus_pallet_xcm::Origin::Relay.into(); - pub Ancestry: MultiLocation = Parachain(ParachainInfo::parachain_id().into()).into(); - pub const RelayNetworkId: NetworkId = NetworkId::Polkadot; -} - -/// This is the type we use to convert an (incoming) XCM origin into a local -/// `Origin` instance, ready for dispatching a transaction with Xcm's -/// `Transact`. There is an `OriginKind` which can bias the kind of local -/// `Origin` it will become. -pub type XcmOriginToTransactDispatchOrigin = ( - // We don't include `SovereignSignedViaLocation` since we don't want to allow - // other chains to manage accounts on our network. - - // Native converter for Relay-chain (Parent) location which converts to a `Relay` origin when - // recognized. - RelayChainAsNative, - // Native converter for sibling Parachains which converts to a `SiblingPara` origin when - // recognized. - SiblingParachainAsNative, - // Native signed account converter which just converts an `AccountId32` origin into a normal - // `RuntimeOrigin::signed` origin of the same 32-byte value. - SignedAccountId32AsNative, - // Xcm origins can be represented natively under the Xcm pallet's Xcm origin. - XcmPassthrough, -); - -pub struct XcmConfig; -impl xcm_executor::Config for XcmConfig { - type RuntimeCall = RuntimeCall; - // How we send Xcm messages. - type XcmSender = XcmRouter; - // How to withdraw and deposit an asset. - type AssetTransactor = LocalAssetTransactor; - type OriginConverter = XcmOriginToTransactDispatchOrigin; - // We only trust our own KILT asset reserve. - type IsReserve = NativeAsset; - // Teleporting is disabled. - type IsTeleporter = (); - // Invert a location. - // E.g., the relay chain is described as parent (MultiLocation(1, Here))) - // chain. When we invert that location it would be MultiLocation(0, - // X1(Parachain(2086))) since we are a child chain with ParaId 2086. - type LocationInverter = LocationInverter; - // Which XCM instructions are allowed and which are not on our chain. - type Barrier = XcmBarrier; - // How XCM messages are weighted. Each transaction has a weight of - // `UnitWeightCost`. - type Weigher = FixedWeightBounds; - // How weight is transformed into fees. The fees are not taken out of the - // Balances pallet here. Balances is only used if fees are dropped without being - // used. In that case they are put into the treasury. - type Trader = UsingComponents, RelayLocation, AccountId, Balances, ()>; - type ResponseHandler = PolkadotXcm; - // What happens with assets that are left in the register after the XCM message - // was processed. PolkadotXcm has an AssetTrap that stores a hash of the asset - // location, amount, version, etc. - type AssetTrap = PolkadotXcm; - type AssetClaims = PolkadotXcm; - type SubscriptionService = PolkadotXcm; -} - -/// No local origins on this chain are allowed to dispatch XCM sends/executions. -pub type LocalOriginToLocation = SignedToAccountId32; - -/// The means for routing XCM messages which are not for local execution into -/// the right message queues. -pub type XcmRouter = ( - // Two routers. Use UMP to communicate with the relay chain: - cumulus_primitives_utility::ParentAsUmp, - // .. and XCMP to communicate with the sibling chains. - XcmpQueue, -); - -impl pallet_xcm::Config for Runtime { - type RuntimeEvent = RuntimeEvent; - type SendXcmOrigin = EnsureXcmOrigin; - type XcmRouter = XcmRouter; - type ExecuteXcmOrigin = EnsureXcmOrigin; - // Disable dispatchable execution on the XCM pallet. - // NOTE: For local testing this needs to be `Everything`. - type XcmExecuteFilter = Nothing; - type XcmExecutor = XcmExecutor; - type XcmTeleportFilter = Everything; - type XcmReserveTransferFilter = Nothing; - type Weigher = FixedWeightBounds; - type LocationInverter = LocationInverter; - type RuntimeOrigin = RuntimeOrigin; - type RuntimeCall = RuntimeCall; - - const VERSION_DISCOVERY_QUEUE_SIZE: u32 = 100; - // Our latest supported XCM version. - type AdvertisedXcmVersion = pallet_xcm::CurrentXcmVersion; -} - -impl cumulus_pallet_xcm::Config for Runtime { - type RuntimeEvent = RuntimeEvent; - type XcmExecutor = XcmExecutor; -} From 4353493d4e733fe94b6f77bc5c493ea1b00cf4d5 Mon Sep 17 00:00:00 2001 From: Gerawork Aynekulu Date: Tue, 24 Jan 2023 11:48:20 +0100 Subject: [PATCH 30/38] chore: undo dev-tag image build (#454) ## fixes KILTProtocol/ticket#2388 Since Peregrine fix tags didn't contain `-rc-` the CI pushed them as latest. This commit undo [this commit ](https://github.com/KILTprotocol/kilt-node/commit/3a852e5c4977a1cfb9f406ea3484bc7c08bcd592) ## Checklist: - [ ] I have verified that the code works - [ ] No panics! (checked arithmetic ops, no indexing `array[3]` use `get(3)`, ...) - [ ] I have verified that the code is easy to understand - [ ] If not, I have left a well-balanced amount of inline comments - [ ] I have [left the code in a better state](https://deviq.com/principles/boy-scout-rule) - [ ] I have documented the changes (where applicable) --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index a112ac8b8..f3cd90ee1 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -64,7 +64,7 @@ build: - "if [[ ! -z ${CI_COMMIT_BRANCH} ]]; then ./.maintain/push-image.sh build ${CI_COMMIT_SHORT_SHA}; fi" - "if [[ ! -z ${CI_COMMIT_BRANCH} ]]; then ./.maintain/push-image.sh build latest-${CI_COMMIT_BRANCH}; fi" - "if [[ ! -z ${CI_COMMIT_TAG} ]]; then ./.maintain/push-image.sh build ${CI_COMMIT_TAG}; fi" - - "if [[ ! -z ${CI_COMMIT_TAG} && ! -z ${CI_COMMIT_TAG##*-rc*} ]]; then ./.maintain/push-image.sh build latest; fi" + - "if [[ ! -z ${CI_COMMIT_TAG} && ! -z ${CI_COMMIT_TAG##*-rc*} && ! -z ${CI_COMMIT_TAG##*dev-*} ]]; then ./.maintain/push-image.sh build latest; fi" build-wasm-peregrine: image: From 519ff06d5c2726007fe3046a0631ceb02f5d29cc Mon Sep 17 00:00:00 2001 From: Antonio Date: Thu, 26 Jan 2023 08:42:44 +0100 Subject: [PATCH 31/38] chore: refactor some more XCM config stuff (#457) There were few things that, as far as I have understood, were not 100% consistent with what the chain does and especially does NOT do, right now. More details are provided as comments in the files. --- runtimes/common/src/xcm_config.rs | 14 +++++++------- runtimes/peregrine/src/xcm_config.rs | 22 ++++++++++------------ runtimes/spiritnet/src/xcm_config.rs | 22 ++++++++++------------ 3 files changed, 27 insertions(+), 31 deletions(-) diff --git a/runtimes/common/src/xcm_config.rs b/runtimes/common/src/xcm_config.rs index dcb71522a..bcdad794c 100644 --- a/runtimes/common/src/xcm_config.rs +++ b/runtimes/common/src/xcm_config.rs @@ -72,8 +72,8 @@ pub type XcmBarrier = DenyThenTry< // * TakeWeightCredit // * AllowTopLevelPaidExecutionFrom - // We allow everything from the relay chain if it was send by the relay chain legislative. - // Since the relaychain doesn't own KILTs and missing fees shouldn't prevent calls from the relaychain + // We allow everything from the relay chain if it was sent by the relay chain legislative (i.e., democracy + // vote). Since the relaychain doesn't own KILTs and missing fees shouldn't prevent calls from the relaychain // legislative, we allow unpaid execution. AllowUnpaidExecutionFrom, ), @@ -146,23 +146,23 @@ parameter_types! { /// `AccountId`. This is used when determining ownership of accounts for asset /// transacting and when attempting to use XCM `Transact` in order to determine /// the dispatch Origin. -pub type LocationToAccountId = ( - // The parent (Relay-chain) origin converts to the parent `AccountId`. +pub type LocationToAccountId = ( + // The parent (Relay-chain) origin converts to the b"parent" `AccountId`. ParentIsPreset, // Sibling parachain origins convert to AccountId via the `ParaId::into`. SiblingParachainConvertsVia, // Straight up local `AccountId32` origins just alias directly to `AccountId`. - AccountId32Aliases, + AccountId32Aliases, ); /// Means for transacting assets on this chain. -pub type LocalAssetTransactor = CurrencyAdapter< +pub type LocalAssetTransactor = CurrencyAdapter< // Use this currency: Currency, // Use this currency when it is a fungible asset matching the given location or name: IsConcrete, // Do a simple punn to convert an AccountId32 MultiLocation into a native chain account ID: - LocationToAccountId, + LocationToAccountId, // Our chain's account ID type (we can't get away without mentioning it explicitly): AccountId, // We don't track any teleports. diff --git a/runtimes/peregrine/src/xcm_config.rs b/runtimes/peregrine/src/xcm_config.rs index 951e85fb4..eddc0e7a7 100644 --- a/runtimes/peregrine/src/xcm_config.rs +++ b/runtimes/peregrine/src/xcm_config.rs @@ -21,20 +21,17 @@ use super::{ RuntimeOrigin, Treasury, WeightToFee, XcmpQueue, }; -use frame_support::{ - parameter_types, - traits::{Everything, Nothing}, -}; +use frame_support::{parameter_types, traits::Nothing}; use pallet_xcm::XcmPassthrough; use xcm::latest::prelude::*; use xcm_builder::{ - EnsureXcmOrigin, FixedWeightBounds, LocationInverter, NativeAsset, RelayChainAsNative, SiblingParachainAsNative, + EnsureXcmOrigin, FixedWeightBounds, LocationInverter, RelayChainAsNative, SiblingParachainAsNative, SignedAccountId32AsNative, SignedToAccountId32, SovereignSignedViaLocation, UsingComponents, }; use xcm_executor::XcmExecutor; use runtime_common::xcm_config::{ - LocalAssetTransactor, LocationToAccountId, MaxInstructions, RelayLocation, UnitWeightCost, XcmBarrier, + HereLocation, LocalAssetTransactor, LocationToAccountId, MaxInstructions, UnitWeightCost, XcmBarrier, }; parameter_types! { @@ -75,8 +72,8 @@ impl xcm_executor::Config for XcmConfig { // How to withdraw and deposit an asset. type AssetTransactor = LocalAssetTransactor; type OriginConverter = XcmOriginToTransactDispatchOrigin; - // We only trust our own KILT asset reserve. - type IsReserve = NativeAsset; + // Reserving is disabled. + type IsReserve = (); // Teleporting is disabled. type IsTeleporter = (); // Invert a location. @@ -92,7 +89,7 @@ impl xcm_executor::Config for XcmConfig { // How weight is transformed into fees. The fees are not taken out of the // Balances pallet here. Balances is only used if fees are dropped without being // used. In that case they are put into the treasury. - type Trader = UsingComponents, RelayLocation, AccountId, Balances, Treasury>; + type Trader = UsingComponents, HereLocation, AccountId, Balances, Treasury>; type ResponseHandler = PolkadotXcm; // What happens with assets that are left in the register after the XCM message // was processed. PolkadotXcm has an AssetTrap that stores a hash of the asset @@ -102,7 +99,8 @@ impl xcm_executor::Config for XcmConfig { type SubscriptionService = PolkadotXcm; } -/// No local origins on this chain are allowed to dispatch XCM sends/executions. +/// Allows only local `Signed` origins to be converted into `MultiLocation`s by +/// the XCM executor. pub type LocalOriginToLocation = SignedToAccountId32; /// The means for routing XCM messages which are not for local execution into @@ -122,9 +120,9 @@ impl pallet_xcm::Config for Runtime { // Disable dispatchable execution on the XCM pallet. // NOTE: For local testing this needs to be `Everything`. type XcmExecuteFilter = Nothing; - type XcmExecutor = XcmExecutor; - type XcmTeleportFilter = Everything; + type XcmTeleportFilter = Nothing; type XcmReserveTransferFilter = Nothing; + type XcmExecutor = XcmExecutor; type Weigher = FixedWeightBounds; type LocationInverter = LocationInverter; type RuntimeOrigin = RuntimeOrigin; diff --git a/runtimes/spiritnet/src/xcm_config.rs b/runtimes/spiritnet/src/xcm_config.rs index 5fd40e9d3..a4fb84ab1 100644 --- a/runtimes/spiritnet/src/xcm_config.rs +++ b/runtimes/spiritnet/src/xcm_config.rs @@ -21,19 +21,16 @@ use super::{ RuntimeOrigin, Treasury, WeightToFee, XcmpQueue, }; -use frame_support::{ - parameter_types, - traits::{Everything, Nothing}, -}; +use frame_support::{parameter_types, traits::Nothing}; use pallet_xcm::XcmPassthrough; use xcm::latest::prelude::*; use xcm_builder::{ - EnsureXcmOrigin, FixedWeightBounds, LocationInverter, NativeAsset, RelayChainAsNative, SiblingParachainAsNative, + EnsureXcmOrigin, FixedWeightBounds, LocationInverter, RelayChainAsNative, SiblingParachainAsNative, SignedAccountId32AsNative, SignedToAccountId32, UsingComponents, }; use xcm_executor::XcmExecutor; -use runtime_common::xcm_config::{LocalAssetTransactor, MaxInstructions, RelayLocation, UnitWeightCost, XcmBarrier}; +use runtime_common::xcm_config::{HereLocation, LocalAssetTransactor, MaxInstructions, UnitWeightCost, XcmBarrier}; parameter_types! { pub RelayChainOrigin: RuntimeOrigin = cumulus_pallet_xcm::Origin::Relay.into(); @@ -70,8 +67,8 @@ impl xcm_executor::Config for XcmConfig { // How to withdraw and deposit an asset. type AssetTransactor = LocalAssetTransactor; type OriginConverter = XcmOriginToTransactDispatchOrigin; - // We only trust our own KILT asset reserve. - type IsReserve = NativeAsset; + // Reserving is disabled. + type IsReserve = (); // Teleporting is disabled. type IsTeleporter = (); // Invert a location. @@ -87,7 +84,7 @@ impl xcm_executor::Config for XcmConfig { // How weight is transformed into fees. The fees are not taken out of the // Balances pallet here. Balances is only used if fees are dropped without being // used. In that case they are put into the treasury. - type Trader = UsingComponents, RelayLocation, AccountId, Balances, Treasury>; + type Trader = UsingComponents, HereLocation, AccountId, Balances, Treasury>; type ResponseHandler = PolkadotXcm; // What happens with assets that are left in the register after the XCM message // was processed. PolkadotXcm has an AssetTrap that stores a hash of the asset @@ -97,7 +94,8 @@ impl xcm_executor::Config for XcmConfig { type SubscriptionService = PolkadotXcm; } -/// No local origins on this chain are allowed to dispatch XCM sends/executions. +/// Allows only local `Signed` origins to be converted into `MultiLocation`s by +/// the XCM executor. pub type LocalOriginToLocation = SignedToAccountId32; /// The means for routing XCM messages which are not for local execution into @@ -117,9 +115,9 @@ impl pallet_xcm::Config for Runtime { // Disable dispatchable execution on the XCM pallet. // NOTE: For local testing this needs to be `Everything`. type XcmExecuteFilter = Nothing; - type XcmExecutor = XcmExecutor; - type XcmTeleportFilter = Everything; + type XcmTeleportFilter = Nothing; type XcmReserveTransferFilter = Nothing; + type XcmExecutor = XcmExecutor; type Weigher = FixedWeightBounds; type LocationInverter = LocationInverter; type RuntimeOrigin = RuntimeOrigin; From eff278bc5afe68d9d460feb70972b2d4abb44dd7 Mon Sep 17 00:00:00 2001 From: Antonio Date: Mon, 30 Jan 2023 15:01:59 +0100 Subject: [PATCH 32/38] fix: on-chain storage version for pallets where it is missing (#458) A while ago, we have migrated to using the `StorageVersion` way of declaring the storage version for our pallets. Nevertheless, we were not aware that such a change would only be written to storage either explicitly in a storage migration for live chains, or at genesis for new chains. This means that we have few places where the declared storage version, which is a `const` inside each pallet, does not reflect what is written on chain in the relative entry. This means that, for the future, **every time we add a new pallet we must also include the storage migration to write the value of the storage version on chain**. ### Peregrine The `attestation` and `publicCredentials` pallet expose a `StorageVersion` of 1, but the on-chain value is 0. ### Spiritnet It has the same issue as Peregrine, with the addition of the `web3Names` pallet as well. This PR then exposes a pre-runtime hook that logs with a warning all pallets that suffer from this inconsistency, and a post-runtime check that verifies that everything has been fixed. #### Note The migration that updates the storage version has to be run last, so that pre- and post- runtime hooks don't trigger any unexpected behaviour. ## How to test Compile the `kilt-parachain` binary with `cargo build -p kilt-parachain --features try-runtime`. For Peregrine, run: ```bash ./target/debug/kilt-parachain try-runtime \ --runtime target/debug/wbuild/peregrine-runtime/peregrine_runtime.compact.compressed.wasm \ -lruntime=info \ on-runtime-upgrade --checks \ live --uri wss://peregrine.kilt.io:443/parachain-public-ws ``` For Spiritnet, run: ```bash ./target/debug/kilt-parachain try-runtime \ --runtime target/debug/wbuild/spiritnet-runtime/spiritnet_runtime.compact.compressed.wasm \ -lruntime=info \ on-runtime-upgrade --checks \ live --uri wss://spiritnet.kilt.io:443 ``` --- Cargo.lock | 5 + pallets/ctype/src/lib.rs | 2 +- runtimes/common/Cargo.toml | 9 ++ runtimes/common/src/migrations.rs | 214 +++++++++++++++++++++++++++++- runtimes/peregrine/src/lib.rs | 7 +- runtimes/spiritnet/src/lib.rs | 7 +- 6 files changed, 236 insertions(+), 8 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 7d2aec799..3b18c1ef1 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -8811,6 +8811,8 @@ dependencies = [ "attestation", "ctype", "cumulus-primitives-core", + "delegation", + "did", "frame-support", "frame-system", "kilt-asset-dids", @@ -8818,8 +8820,11 @@ dependencies = [ "log", "pallet-authorship", "pallet-balances", + "pallet-did-lookup", + "pallet-inflation", "pallet-membership", "pallet-transaction-payment", + "pallet-web3-names", "parachain-staking", "parity-scale-codec", "polkadot-parachain", diff --git a/pallets/ctype/src/lib.rs b/pallets/ctype/src/lib.rs index 61758d8a2..5f33bc7a4 100644 --- a/pallets/ctype/src/lib.rs +++ b/pallets/ctype/src/lib.rs @@ -73,7 +73,7 @@ pub mod pallet { use crate::ctype_entry::CtypeEntry; /// The current storage version. - const STORAGE_VERSION: StorageVersion = StorageVersion::new(1); + const STORAGE_VERSION: StorageVersion = StorageVersion::new(2); /// Type of a CType hash. pub type CtypeHashOf = ::Hash; diff --git a/runtimes/common/Cargo.toml b/runtimes/common/Cargo.toml index 91e85925b..97b5fc6f3 100644 --- a/runtimes/common/Cargo.toml +++ b/runtimes/common/Cargo.toml @@ -24,9 +24,14 @@ smallvec.workspace = true # Internal dependencies attestation.workspace = true ctype.workspace = true +delegation = {workspace = true, optional = true} +did = {workspace = true, optional = true} +pallet-did-lookup = {workspace = true, optional = true} +pallet-inflation = {workspace = true, optional = true} kilt-support.workspace = true parachain-staking.workspace = true public-credentials.workspace = true +pallet-web3-names.workspace = true # Substrate dependencies frame-support.workspace = true @@ -97,11 +102,15 @@ std = [ ] try-runtime = [ "attestation/try-runtime", + "delegation", + "did", "frame-support/try-runtime", "frame-system/try-runtime", "kilt-support/try-runtime", "pallet-authorship/try-runtime", "pallet-balances/try-runtime", + "pallet-did-lookup", + "pallet-inflation", "pallet-membership/try-runtime", "pallet-transaction-payment/try-runtime", "parachain-staking/try-runtime", diff --git a/runtimes/common/src/migrations.rs b/runtimes/common/src/migrations.rs index 76f2a8e6b..413e3e822 100644 --- a/runtimes/common/src/migrations.rs +++ b/runtimes/common/src/migrations.rs @@ -30,7 +30,9 @@ pub struct AddCTypeBlockNumber(PhantomData); impl OnRuntimeUpgrade for AddCTypeBlockNumber { #[cfg(feature = "try-runtime")] fn pre_upgrade() -> Result, &'static str> { - assert_eq!(ctype::Pallet::::on_chain_storage_version(), 0,); + // Missed the migration when v1 was introduced, so now Spiritnet and Peregrine + // are on v0 although they should be on v1. + assert!(ctype::Pallet::::on_chain_storage_version() <= 1,); // Use iter_keys() on new storage so it won't try to decode values. let ctypes_to_migrate = ctype::Ctypes::::iter_keys().count() as u64; @@ -44,7 +46,7 @@ impl OnRuntimeUpgrade for AddCTypeBlockNumber { let onchain = ctype::Pallet::::on_chain_storage_version(); log::info!( - "💰 Running migration with current storage version {:?} / onchain {:?}", + "💰 Running CType migration with current storage version {:?} / onchain {:?}", current, onchain ); @@ -67,7 +69,7 @@ impl OnRuntimeUpgrade for AddCTypeBlockNumber { #[cfg(feature = "try-runtime")] fn post_upgrade(state: Vec) -> Result<(), &'static str> { - assert_eq!(ctype::Pallet::::on_chain_storage_version(), 1); + assert_eq!(ctype::Pallet::::on_chain_storage_version(), 2); let initial_ctype_count = u64::from_be_bytes(state.try_into().expect("input state should be 8 bytes")); assert_eq!(initial_ctype_count, ctype::Ctypes::::iter().count() as u64); @@ -81,3 +83,209 @@ impl OnRuntimeUpgrade for AddCTypeBlockNumber { Ok(()) } } + +pub struct MigrateToNewStorageVersion(PhantomData); + +impl MigrateToNewStorageVersion +where + R: attestation::Config + pallet_web3_names::Config + public_credentials::Config, +{ + fn migrate() -> frame_support::weights::Weight { + type AttestationPallet = attestation::Pallet; + type Web3NamesPallet = pallet_web3_names::Pallet; + type PublicCredentialsPallet = public_credentials::Pallet; + + AttestationPallet::::current_storage_version().put::>(); + // Not an issue with Peregrine, but it is with Spiritnet. + Web3NamesPallet::::current_storage_version().put::>(); + PublicCredentialsPallet::::current_storage_version().put::>(); + + ::DbWeight::get().writes(3) + } +} + +#[cfg(feature = "try-runtime")] +impl OnRuntimeUpgrade for MigrateToNewStorageVersion +where + R: attestation::Config + + ctype::Config + + delegation::Config + + did::Config + + pallet_did_lookup::Config + + pallet_inflation::Config + + pallet_web3_names::Config + + parachain_staking::Config + + public_credentials::Config, +{ + fn pre_upgrade() -> Result, &'static str> { + type AttestationPallet = attestation::Pallet; + type DelegationPallet = delegation::Pallet; + type DidPallet = did::Pallet; + type LookupPallet = pallet_did_lookup::Pallet; + type InflationPallet = pallet_inflation::Pallet; + type Web3NamesPallet = pallet_web3_names::Pallet; + type ParachainStakingPallet = parachain_staking::Pallet; + type PublicCredentialsPallet = public_credentials::Pallet; + + log::info!("💿 Storage version pre checks"); + + if AttestationPallet::::on_chain_storage_version() != AttestationPallet::::current_storage_version() { + log::warn!( + "🚨 Attestation pallet on chain version {:?} != declared storage version {:?}.", + AttestationPallet::::on_chain_storage_version(), + AttestationPallet::::current_storage_version() + ) + } + if DelegationPallet::::on_chain_storage_version() != DelegationPallet::::current_storage_version() { + log::warn!( + "🚨 Delegation pallet on chain version {:?} != declared storage version {:?}.", + DelegationPallet::::on_chain_storage_version(), + DelegationPallet::::current_storage_version() + ) + } + if DidPallet::::on_chain_storage_version() != DidPallet::::current_storage_version() { + log::warn!( + "🚨 Did pallet on chain version {:?} != declared storage version {:?}.", + DidPallet::::on_chain_storage_version(), + DidPallet::::current_storage_version() + ) + } + if LookupPallet::::on_chain_storage_version() != LookupPallet::::current_storage_version() { + log::warn!( + "🚨 Lookup pallet on chain version {:?} != declared storage version {:?}.", + LookupPallet::::on_chain_storage_version(), + LookupPallet::::current_storage_version() + ) + } + if InflationPallet::::on_chain_storage_version() != InflationPallet::::current_storage_version() { + log::warn!( + "🚨 Inflation pallet on chain version {:?} != declared storage version {:?}.", + InflationPallet::::on_chain_storage_version(), + InflationPallet::::current_storage_version() + ) + } + if Web3NamesPallet::::on_chain_storage_version() != Web3NamesPallet::::current_storage_version() { + log::warn!( + "🚨 Web3names pallet on chain version {:?} != declared storage version {:?}.", + Web3NamesPallet::::on_chain_storage_version(), + Web3NamesPallet::::current_storage_version() + ) + } + if ParachainStakingPallet::::on_chain_storage_version() + != ParachainStakingPallet::::current_storage_version() + { + log::warn!( + "🚨 Parachain staking pallet on chain version {:?} != declared storage version {:?}.", + ParachainStakingPallet::::on_chain_storage_version(), + ParachainStakingPallet::::current_storage_version() + ) + } + if PublicCredentialsPallet::::on_chain_storage_version() + != PublicCredentialsPallet::::current_storage_version() + { + log::warn!( + "🚨 Public credentials pallet on chain version {:?} != declared storage version {:?}.", + PublicCredentialsPallet::::on_chain_storage_version(), + PublicCredentialsPallet::::current_storage_version() + ) + } + + Ok(Vec::default()) + } + + fn on_runtime_upgrade() -> frame_support::weights::Weight { + Self::migrate() + } + + fn post_upgrade(_state: Vec) -> Result<(), &'static str> { + type AttestationPallet = attestation::Pallet; + type CTypePallet = ctype::Pallet; + type DelegationPallet = delegation::Pallet; + type DidPallet = did::Pallet; + type LookupPallet = pallet_did_lookup::Pallet; + type InflationPallet = pallet_inflation::Pallet; + type Web3NamesPallet = pallet_web3_names::Pallet; + type ParachainStakingPallet = parachain_staking::Pallet; + type PublicCredentialsPallet = public_credentials::Pallet; + + assert_eq!( + AttestationPallet::::on_chain_storage_version(), + AttestationPallet::::current_storage_version(), + "Attestation pallet on chain version {:?} != declared storage version {:?}.", + AttestationPallet::::on_chain_storage_version(), + AttestationPallet::::current_storage_version() + ); + // Although it's part of a different migration, we check that the CType pallet + // storage version is also consistent. + assert_eq!( + CTypePallet::::on_chain_storage_version(), + CTypePallet::::current_storage_version(), + "CType pallet on chain version {:?} != declared storage version {:?}.", + CTypePallet::::on_chain_storage_version(), + CTypePallet::::current_storage_version() + ); + assert_eq!( + DelegationPallet::::on_chain_storage_version(), + DelegationPallet::::current_storage_version(), + "Delegation pallet on chain version {:?} != declared storage version {:?}.", + DelegationPallet::::on_chain_storage_version(), + DelegationPallet::::current_storage_version() + ); + assert_eq!( + DidPallet::::on_chain_storage_version(), + DidPallet::::current_storage_version(), + "Did pallet on chain version {:?} != declared storage version {:?}.", + DidPallet::::on_chain_storage_version(), + DidPallet::::current_storage_version() + ); + assert_eq!( + LookupPallet::::on_chain_storage_version(), + LookupPallet::::current_storage_version(), + "Lookup pallet on chain version {:?} != declared storage version {:?}.", + LookupPallet::::on_chain_storage_version(), + LookupPallet::::current_storage_version() + ); + assert_eq!( + InflationPallet::::on_chain_storage_version(), + InflationPallet::::current_storage_version(), + "Inflation pallet on chain version {:?} != declared storage version {:?}.", + InflationPallet::::on_chain_storage_version(), + InflationPallet::::current_storage_version() + ); + assert_eq!( + Web3NamesPallet::::on_chain_storage_version(), + Web3NamesPallet::::current_storage_version(), + "Web3names pallet on chain version {:?} != declared storage version {:?}.", + Web3NamesPallet::::on_chain_storage_version(), + Web3NamesPallet::::current_storage_version() + ); + assert_eq!( + ParachainStakingPallet::::on_chain_storage_version(), + ParachainStakingPallet::::current_storage_version(), + "Parachain staking pallet on chain version {:?} != declared storage version {:?}.", + ParachainStakingPallet::::on_chain_storage_version(), + ParachainStakingPallet::::current_storage_version() + ); + assert_eq!( + PublicCredentialsPallet::::on_chain_storage_version(), + PublicCredentialsPallet::::current_storage_version(), + "Public credentials pallet on chain version {:?} != declared storage version {:?}.", + PublicCredentialsPallet::::on_chain_storage_version(), + PublicCredentialsPallet::::current_storage_version() + ); + + log::info!("💿 Storage version post checks ok ✅"); + + Ok(()) + } +} + +#[cfg(not(feature = "try-runtime"))] +impl OnRuntimeUpgrade for MigrateToNewStorageVersion +where + R: attestation::Config + pallet_web3_names::Config + public_credentials::Config, +{ + fn on_runtime_upgrade() -> frame_support::weights::Weight { + Self::migrate() + } +} diff --git a/runtimes/peregrine/src/lib.rs b/runtimes/peregrine/src/lib.rs index 9c4309e8f..df4fd561a 100644 --- a/runtimes/peregrine/src/lib.rs +++ b/runtimes/peregrine/src/lib.rs @@ -51,7 +51,7 @@ use xcm_executor::XcmExecutor; use delegation::DelegationAc; use kilt_support::traits::ItemFilter; -use pallet_did_lookup::{linkable_account::LinkableAccountId, migrations::EthereumMigration}; +use pallet_did_lookup::linkable_account::LinkableAccountId; pub use parachain_staking::InflationInfo; pub use public_credentials; @@ -1067,8 +1067,11 @@ pub type Executive = frame_executive::Executive< pallet_preimage::migration::v1::Migration, pallet_scheduler::migration::v3::MigrateToV4, pallet_democracy::migrations::v1::Migration, + pallet_did_lookup::migrations::EthereumMigration, runtime_common::migrations::AddCTypeBlockNumber, - EthereumMigration, + // The migration above must be run as last since it checks that all pallets are using the new StorageVersion + // properly. + runtime_common::migrations::MigrateToNewStorageVersion, ), >; diff --git a/runtimes/spiritnet/src/lib.rs b/runtimes/spiritnet/src/lib.rs index 871038318..13d3750ee 100644 --- a/runtimes/spiritnet/src/lib.rs +++ b/runtimes/spiritnet/src/lib.rs @@ -51,7 +51,7 @@ use xcm_executor::XcmExecutor; use delegation::DelegationAc; use kilt_support::traits::ItemFilter; -use pallet_did_lookup::{linkable_account::LinkableAccountId, migrations::EthereumMigration}; +use pallet_did_lookup::linkable_account::LinkableAccountId; pub use parachain_staking::InflationInfo; pub use public_credentials; @@ -1063,8 +1063,11 @@ pub type Executive = frame_executive::Executive< pallet_preimage::migration::v1::Migration, pallet_scheduler::migration::v3::MigrateToV4, pallet_democracy::migrations::v1::Migration, + pallet_did_lookup::migrations::EthereumMigration, runtime_common::migrations::AddCTypeBlockNumber, - EthereumMigration, + // The migration above must be run as last since it checks that all pallets are using the new StorageVersion + // properly. + runtime_common::migrations::MigrateToNewStorageVersion, ), >; From 1566d8486c312e1fac56649d493e0e3dcdc8aed7 Mon Sep 17 00:00:00 2001 From: weichweich Date: Tue, 31 Jan 2023 09:50:53 +0100 Subject: [PATCH 33/38] chore: remove unused dependency --- Cargo.lock | 1 - pallets/pallet-did-lookup/Cargo.toml | 1 - 2 files changed, 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 3b18c1ef1..475bea620 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -5709,7 +5709,6 @@ dependencies = [ "log", "pallet-balances", "parity-scale-codec", - "rand 0.8.5", "scale-info", "sha3", "sp-core", diff --git a/pallets/pallet-did-lookup/Cargo.toml b/pallets/pallet-did-lookup/Cargo.toml index 45bb612aa..6c1038cfc 100644 --- a/pallets/pallet-did-lookup/Cargo.toml +++ b/pallets/pallet-did-lookup/Cargo.toml @@ -17,7 +17,6 @@ targets = ["x86_64-unknown-linux-gnu"] kilt-support = {workspace = true, features = ["mock"]} pallet-balances = {workspace = true, features = ["std"]} -rand = "0.8" sp-core = {workspace = true, features = ["std"]} sp-io = {workspace = true, features = ["std"]} sp-keystore = {workspace = true, features = ["std"]} From 8964b10fd4b7b618cd59581fae2777abd29845aa Mon Sep 17 00:00:00 2001 From: Antonio Antonino Date: Wed, 1 Feb 2023 09:23:44 +0100 Subject: [PATCH 34/38] Revert "Revert "Revert "feat: support linking ethereum accounts (#355)""" --- pallets/pallet-did-lookup/Cargo.toml | 3 +- pallets/pallet-did-lookup/src/account.rs | 189 ----------------- .../src/associate_account_request.rs | 60 ------ pallets/pallet-did-lookup/src/benchmarking.rs | 194 ++++-------------- .../pallet-did-lookup/src/default_weights.rs | 83 ++------ pallets/pallet-did-lookup/src/lib.rs | 79 ++++--- .../pallet-did-lookup/src/linkable_account.rs | 51 ----- pallets/pallet-did-lookup/src/migrations.rs | 150 +++++--------- pallets/pallet-did-lookup/src/mock.rs | 14 +- pallets/pallet-did-lookup/src/signature.rs | 30 +-- pallets/pallet-did-lookup/src/tests.rs | 186 +++++------------ pallets/parachain-staking/src/migration.rs | 174 +++++++++++++++- runtime-api/did/src/lib.rs | 32 +-- runtimes/peregrine/src/lib.rs | 16 +- runtimes/peregrine/src/tests.rs | 9 +- .../src/weights/pallet_did_lookup.rs | 40 +--- runtimes/spiritnet/src/lib.rs | 18 +- runtimes/spiritnet/src/tests.rs | 9 +- .../src/weights/pallet_did_lookup.rs | 28 +-- runtimes/standalone/src/lib.rs | 17 +- 20 files changed, 423 insertions(+), 959 deletions(-) delete mode 100644 pallets/pallet-did-lookup/src/account.rs delete mode 100644 pallets/pallet-did-lookup/src/associate_account_request.rs delete mode 100644 pallets/pallet-did-lookup/src/linkable_account.rs diff --git a/pallets/pallet-did-lookup/Cargo.toml b/pallets/pallet-did-lookup/Cargo.toml index 6c1038cfc..3d8a0469f 100644 --- a/pallets/pallet-did-lookup/Cargo.toml +++ b/pallets/pallet-did-lookup/Cargo.toml @@ -37,17 +37,18 @@ kilt-support.workspace = true frame-support.workspace = true frame-system.workspace = true sp-core.workspace = true -sp-io.workspace = true sp-runtime.workspace = true sp-std.workspace = true # Benchmarking dependencies frame-benchmarking = {workspace = true, optional = true} +sp-io = {workspace = true, optional = true} [features] default = ["std"] runtime-benchmarks = [ "frame-benchmarking", + "sp-io", "kilt-support/runtime-benchmarks", "frame-support/runtime-benchmarks", "frame-system/runtime-benchmarks", diff --git a/pallets/pallet-did-lookup/src/account.rs b/pallets/pallet-did-lookup/src/account.rs deleted file mode 100644 index b9f5d196f..000000000 --- a/pallets/pallet-did-lookup/src/account.rs +++ /dev/null @@ -1,189 +0,0 @@ -// KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2023 BOTLabs GmbH - -// The KILT Blockchain 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. - -// The KILT Blockchain 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 this program. If not, see . - -// If you feel like getting in touch with us, you can do so at info@botlabs.org - -// This code originally came from the purestake/moonbeam repo. -// see https://github.com/PureStake/moonbeam/blob/74324db0cfacaad555064c839f17072b57cb35e3/primitives/account/src/lib.rs for reference. - -//! The Ethereum Signature implementation. -//! -//! It includes the Verify and IdentifyAccount traits for the AccountId20 - -use codec::{Decode, Encode, MaxEncodedLen}; -use frame_support::{crypto::ecdsa::ECDSAExt, RuntimeDebug}; -use scale_info::TypeInfo; -use sha3::{Digest, Keccak256}; -use sp_core::{ecdsa, H160, H256}; - -/// The AccountId20 type. -/// It is a 20-byte Ethereum address. -#[derive( - Eq, PartialEq, Copy, Clone, Encode, Decode, TypeInfo, MaxEncodedLen, Default, PartialOrd, Ord, RuntimeDebug, -)] -pub struct AccountId20(pub [u8; 20]); - -#[cfg(feature = "std")] -impl std::fmt::Display for AccountId20 { - //TODO This is a pretty quck-n-dirty implementation. Perhaps we should add - // checksum casing here? I bet there is a crate for that. - // Maybe this one https://github.com/miguelmota/rust-eth-checksum - fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(f, "{:?}", self.0) - } -} - -impl From<[u8; 20]> for AccountId20 { - fn from(bytes: [u8; 20]) -> Self { - Self(bytes) - } -} - -impl From for [u8; 20] { - fn from(id: AccountId20) -> Self { - id.0 - } -} - -impl From for AccountId20 { - fn from(h160: H160) -> Self { - Self(h160.0) - } -} - -impl From for H160 { - fn from(id: AccountId20) -> Self { - H160(id.0) - } -} - -#[cfg(feature = "std")] -impl std::str::FromStr for AccountId20 { - type Err = &'static str; - fn from_str(input: &str) -> Result { - H160::from_str(input) - .map(Into::into) - .map_err(|_| "invalid hex address.") - } -} - -/// Public key for an Ethereum / Moonbeam compatible account -#[derive(Eq, PartialEq, Ord, PartialOrd, Clone, Encode, Decode, RuntimeDebug, TypeInfo)] -pub struct EthereumSigner([u8; 20]); - -impl sp_runtime::traits::IdentifyAccount for EthereumSigner { - type AccountId = AccountId20; - fn into_account(self) -> AccountId20 { - AccountId20(self.0) - } -} - -impl From<[u8; 20]> for EthereumSigner { - fn from(x: [u8; 20]) -> Self { - EthereumSigner(x) - } -} - -impl TryFrom for EthereumSigner { - type Error = &'static str; - fn try_from(x: ecdsa::Public) -> Result { - match x.to_eth_address() { - Ok(x) => Ok(Self(x)), - Err(_) => Err("invalid public key"), - } - } -} - -impl From for EthereumSigner { - fn from(x: libsecp256k1::PublicKey) -> Self { - let mut m = [0u8; 64]; - m.copy_from_slice(&x.serialize()[1..65]); - let account = H160::from(H256::from_slice(Keccak256::digest(m).as_slice())); - EthereumSigner(account.into()) - } -} - -#[cfg(feature = "std")] -impl std::fmt::Display for EthereumSigner { - fn fmt(&self, fmt: &mut std::fmt::Formatter) -> std::fmt::Result { - write!(fmt, "ethereum signature: {:?}", H160::from_slice(&self.0)) - } -} - -#[derive(Eq, PartialEq, Clone, Encode, Decode, MaxEncodedLen, RuntimeDebug, TypeInfo)] -pub struct EthereumSignature(ecdsa::Signature); - -impl From for EthereumSignature { - fn from(x: ecdsa::Signature) -> Self { - EthereumSignature(x) - } -} - -impl sp_runtime::traits::Verify for EthereumSignature { - type Signer = EthereumSigner; - fn verify>(&self, mut msg: L, signer: &AccountId20) -> bool { - let mut hashed_message_buffer = [0u8; 32]; - hashed_message_buffer.copy_from_slice(Keccak256::digest(msg.get()).as_slice()); - match sp_io::crypto::secp256k1_ecdsa_recover(self.0.as_ref(), &hashed_message_buffer) { - Ok(pubkey) => { - // TODO This conversion could use a comment. Why H256 first, then H160? - // TODO actually, there is probably just a better way to go from Keccak digest. - AccountId20(H160::from(H256::from_slice(Keccak256::digest(pubkey).as_slice())).0) == *signer - } - Err(_) => { - log::trace!("Error verifying signature"); - false - } - } - } -} - -#[cfg(test)] -mod tests { - use super::*; - use sp_core::{ecdsa, Pair}; - use sp_runtime::traits::IdentifyAccount; - - #[test] - fn test_account_derivation_1() { - // Test from https://asecuritysite.com/encryption/ethadd - // This page generates a private ethereum key, a public key and computes an - // address from it. We take those values as reference point to proof that our - // implementation is correct. - let secret_key = hex::decode("502f97299c472b88754accd412b7c9a6062ef3186fba0c0388365e1edec24875").unwrap(); - let mut expected_hex_account = [0u8; 20]; - hex::decode_to_slice("976f8456e4e2034179b284a23c0e0c8f6d3da50c", &mut expected_hex_account) - .expect("example data is 20 bytes of valid hex"); - - let public_key = ecdsa::Pair::from_seed_slice(&secret_key).unwrap().public(); - let account: EthereumSigner = public_key.try_into().unwrap(); - let expected_account = AccountId20::from(expected_hex_account); - assert_eq!(account.into_account(), expected_account); - } - #[test] - fn test_account_derivation_2() { - // Test from https://asecuritysite.com/encryption/ethadd - let secret_key = hex::decode("0f02ba4d7f83e59eaa32eae9c3c4d99b68ce76decade21cdab7ecce8f4aef81a").unwrap(); - let mut expected_hex_account = [0u8; 20]; - hex::decode_to_slice("420e9f260b40af7e49440cead3069f8e82a5230f", &mut expected_hex_account) - .expect("example data is 20 bytes of valid hex"); - - let public_key = ecdsa::Pair::from_seed_slice(&secret_key).unwrap().public(); - let account: EthereumSigner = public_key.try_into().unwrap(); - let expected_account = AccountId20::from(expected_hex_account); - assert_eq!(account.into_account(), expected_account); - } -} diff --git a/pallets/pallet-did-lookup/src/associate_account_request.rs b/pallets/pallet-did-lookup/src/associate_account_request.rs deleted file mode 100644 index 023f9570d..000000000 --- a/pallets/pallet-did-lookup/src/associate_account_request.rs +++ /dev/null @@ -1,60 +0,0 @@ -// KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2023 BOTLabs GmbH - -// The KILT Blockchain 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. - -// The KILT Blockchain 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 this program. If not, see . - -// If you feel like getting in touch with us, you can do so at info@botlabs.org - -use crate::{ - account::{AccountId20, EthereumSignature}, - linkable_account::LinkableAccountId, - signature::get_wrapped_payload, -}; - -use codec::{Decode, Encode, MaxEncodedLen}; -use scale_info::TypeInfo; -use sp_runtime::{traits::Verify, AccountId32, MultiSignature}; - -#[derive(Clone, Debug, Eq, PartialEq, Encode, Decode, MaxEncodedLen, TypeInfo)] -pub enum AssociateAccountRequest { - Dotsama(AccountId32, MultiSignature), - Ethereum(AccountId20, EthereumSignature), -} - -impl AssociateAccountRequest { - pub fn verify( - &self, - did_identifier: ::DidIdentifier, - expiration: ::BlockNumber, - ) -> bool { - let encoded_payload = (&did_identifier, expiration).encode(); - match self { - AssociateAccountRequest::Dotsama(acc, proof) => proof.verify( - &get_wrapped_payload(&encoded_payload[..], crate::signature::WrapType::Substrate)[..], - acc, - ), - AssociateAccountRequest::Ethereum(acc, proof) => proof.verify( - &get_wrapped_payload(&encoded_payload[..], crate::signature::WrapType::Ethereum)[..], - acc, - ), - } - } - - pub fn get_linkable_account(&self) -> LinkableAccountId { - match self { - AssociateAccountRequest::Dotsama(acc, _) => LinkableAccountId::AccountId32(acc.clone()), - AssociateAccountRequest::Ethereum(acc, _) => LinkableAccountId::AccountId20(*acc), - } - } -} diff --git a/pallets/pallet-did-lookup/src/benchmarking.rs b/pallets/pallet-did-lookup/src/benchmarking.rs index 7e210241c..f3e83b2af 100644 --- a/pallets/pallet-did-lookup/src/benchmarking.rs +++ b/pallets/pallet-did-lookup/src/benchmarking.rs @@ -19,27 +19,17 @@ //! Benchmarking +use crate::{ + signature::get_wrapped_payload, AccountIdOf, Call, Config, ConnectedAccounts, ConnectedDids, CurrencyOf, Pallet, +}; + use codec::Encode; use frame_benchmarking::{account, benchmarks, impl_benchmark_test_suite}; -use frame_support::{ - crypto::ecdsa::ECDSAExt, - traits::{Currency, Get}, -}; +use frame_support::traits::{Currency, Get}; use frame_system::RawOrigin; -use sha3::{Digest, Keccak256}; -use sp_io::crypto::{ecdsa_generate, ed25519_generate, sr25519_generate}; -use sp_runtime::{ - app_crypto::{ed25519, sr25519}, - traits::IdentifyAccount, - AccountId32, KeyTypeId, -}; - use kilt_support::{deposit::Deposit, traits::GenerateBenchmarkOrigin}; - -use crate::{ - account::AccountId20, linkable_account::LinkableAccountId, signature::get_wrapped_payload, AccountIdOf, - AssociateAccountRequest, Call, Config, ConnectedAccounts, ConnectedDids, CurrencyOf, Pallet, -}; +use sp_io::crypto::sr25519_generate; +use sp_runtime::{app_crypto::sr25519, KeyTypeId}; const SEED: u32 = 0; @@ -55,198 +45,88 @@ fn make_free_for_did(account: &AccountIdOf) { benchmarks! { where_clause { where - T::AccountId: From + From + Into + Into, + T::AccountId: From, T::DidIdentifier: From, + T::Signature: From, T::EnsureOrigin: GenerateBenchmarkOrigin, } - associate_account_multisig_sr25519 { + associate_account { let caller: T::AccountId = account("caller", 0, SEED); let did: T::DidIdentifier = account("did", 0, SEED); let previous_did: T::DidIdentifier = account("prev", 0, SEED + 1); let connected_acc = sr25519_generate(KeyTypeId(*b"aura"), None); let connected_acc_id: T::AccountId = connected_acc.into(); - let linkable_id: LinkableAccountId = connected_acc_id.clone().into(); - let bn: ::BlockNumber = 500_u32.into(); - - let sig = sp_io::crypto::sr25519_sign( - KeyTypeId(*b"aura"), - &connected_acc, - &get_wrapped_payload( - &Encode::encode(&(&did, bn))[..], - crate::signature::WrapType::Substrate, - )) - .ok_or("Error while building signature.")?; - - make_free_for_did::(&caller); - - // Add existing connected_acc -> previous_did connection that will be replaced - Pallet::::add_association(caller.clone(), previous_did.clone(), linkable_id.clone()).expect("should create previous association"); - assert!(ConnectedAccounts::::get(&previous_did, linkable_id.clone()).is_some()); - let origin = T::EnsureOrigin::generate_origin(caller, did.clone()); - let id_arg = linkable_id.clone(); - let req = AssociateAccountRequest::Dotsama(connected_acc_id.into(), sig.into()); - }: associate_account(origin, req, bn) - verify { - assert!(ConnectedDids::::get(linkable_id.clone()).is_some()); - assert!(ConnectedAccounts::::get(&previous_did, linkable_id.clone()).is_none()); - assert!(ConnectedAccounts::::get(did, linkable_id).is_some()); - } - - associate_account_multisig_ed25519 { - let caller: T::AccountId = account("caller", 0, SEED); - let did: T::DidIdentifier = account("did", 0, SEED); - let previous_did: T::DidIdentifier = account("prev", 0, SEED + 1); - let connected_acc = ed25519_generate(KeyTypeId(*b"aura"), None); - let connected_acc_id: T::AccountId = connected_acc.into(); - let linkable_id: LinkableAccountId = connected_acc_id.clone().into(); - let bn: ::BlockNumber = 500_u32.into(); - - let sig = sp_io::crypto::ed25519_sign( - KeyTypeId(*b"aura"), - &connected_acc, - &get_wrapped_payload( - &Encode::encode(&(&did, bn))[..], - crate::signature::WrapType::Substrate, - )) - .ok_or("Error while building signature.")?; - - make_free_for_did::(&caller); - - // Add existing connected_acc -> previous_did connection that will be replaced - Pallet::::add_association(caller.clone(), previous_did.clone(), linkable_id.clone()).expect("should create previous association"); - assert!(ConnectedAccounts::::get(&previous_did, linkable_id.clone()).is_some()); - let origin = T::EnsureOrigin::generate_origin(caller, did.clone()); - let id_arg = linkable_id.clone(); - let req = AssociateAccountRequest::Dotsama(connected_acc_id.into(), sig.into()); - }: associate_account(origin, req, bn) - verify { - assert!(ConnectedDids::::get(linkable_id.clone()).is_some()); - assert!(ConnectedAccounts::::get(&previous_did, linkable_id.clone()).is_none()); - assert!(ConnectedAccounts::::get(did, linkable_id).is_some()); - } - - associate_account_multisig_ecdsa { - let caller: T::AccountId = account("caller", 0, SEED); - let did: T::DidIdentifier = account("did", 0, SEED); - let previous_did: T::DidIdentifier = account("prev", 0, SEED + 1); - let connected_acc = ecdsa_generate(KeyTypeId(*b"aura"), None); - let connected_acc_id = sp_runtime::MultiSigner::from(connected_acc).into_account(); - let linkable_id: LinkableAccountId = connected_acc_id.clone().into(); let bn: ::BlockNumber = 500_u32.into(); - let sig = sp_io::crypto::ecdsa_sign( - KeyTypeId(*b"aura"), - &connected_acc, - &get_wrapped_payload( - &Encode::encode(&(&did, bn))[..], - crate::signature::WrapType::Substrate, - )) - .ok_or("Error while building signature.")?; + let sig: T::Signature = sp_io::crypto::sr25519_sign(KeyTypeId(*b"aura"), &connected_acc, &get_wrapped_payload(&Encode::encode(&(&did, bn))[..])) + .ok_or("Error while building signature.")? + .into(); make_free_for_did::(&caller); // Add existing connected_acc -> previous_did connection that will be replaced - Pallet::::add_association(caller.clone(), previous_did.clone(), linkable_id.clone()).expect("should create previous association"); - assert!(ConnectedAccounts::::get(&previous_did, linkable_id.clone()).is_some()); + Pallet::::add_association(caller.clone(), previous_did.clone(), connected_acc_id.clone()).expect("should create previous association"); + assert!(ConnectedAccounts::::get(&previous_did, T::AccountId::from(connected_acc)).is_some()); let origin = T::EnsureOrigin::generate_origin(caller, did.clone()); - let id_arg = linkable_id.clone(); - let req = AssociateAccountRequest::Dotsama(connected_acc_id, sig.into()); - }: associate_account(origin, req, bn) + }: _(origin, connected_acc_id, bn, sig) verify { - assert!(ConnectedDids::::get(linkable_id.clone()).is_some()); - assert!(ConnectedAccounts::::get(&previous_did, linkable_id.clone()).is_none()); - assert!(ConnectedAccounts::::get(did, linkable_id).is_some()); - } - - associate_eth_account { - let caller: T::AccountId = account("caller", 0, SEED); - let did: T::DidIdentifier = account("did", 0, SEED); - let previous_did: T::DidIdentifier = account("prev", 0, SEED + 1); - let expire_at: ::BlockNumber = 500_u32.into(); - - let eth_public_key = ecdsa_generate(KeyTypeId(*b"aura"), None); - let eth_account = AccountId20(eth_public_key.to_eth_address().unwrap()); - - let wrapped_payload = get_wrapped_payload( - &Encode::encode(&(&did, expire_at))[..], - crate::signature::WrapType::Ethereum, - ); - - let sig = sp_io::crypto::ecdsa_sign_prehashed( - KeyTypeId(*b"aura"), - ð_public_key, - &Keccak256::digest(wrapped_payload).try_into().unwrap(), - ).ok_or("Error while building signature.")?; - - make_free_for_did::(&caller); - - // Add existing connected_acc -> previous_did connection that will be replaced - Pallet::::add_association(caller.clone(), previous_did.clone(), eth_account.into()).expect("should create previous association"); - assert!(ConnectedAccounts::::get(&previous_did, LinkableAccountId::from(eth_account)).is_some()); - let origin = T::EnsureOrigin::generate_origin(caller, did.clone()); - let req = AssociateAccountRequest::Ethereum(eth_account, sig.into()); - }: associate_account(origin, req, expire_at) - verify { - assert!(ConnectedDids::::get(LinkableAccountId::from(eth_account)).is_some()); - assert!(ConnectedAccounts::::get(&previous_did, LinkableAccountId::from(eth_account)).is_none()); - assert!(ConnectedAccounts::::get(did, LinkableAccountId::from(eth_account)).is_some()); + assert!(ConnectedDids::::get(T::AccountId::from(connected_acc)).is_some()); + assert!(ConnectedAccounts::::get(&previous_did, T::AccountId::from(connected_acc)).is_none()); + assert!(ConnectedAccounts::::get(did, T::AccountId::from(connected_acc)).is_some()); } associate_sender { let caller: T::AccountId = account("caller", 0, SEED); - let linkable_id: LinkableAccountId = caller.clone().into(); let did: T::DidIdentifier = account("did", 0, SEED); let previous_did: T::DidIdentifier = account("prev", 0, SEED + 1); make_free_for_did::(&caller); // Add existing sender -> previous_did connection that will be replaced - Pallet::::add_association(caller.clone(), previous_did.clone(), caller.clone().into()).expect("should create previous association"); - assert!(ConnectedAccounts::::get(&previous_did, &linkable_id).is_some()); - let origin = T::EnsureOrigin::generate_origin(caller, did.clone()); + Pallet::::add_association(caller.clone(), previous_did.clone(), caller.clone()).expect("should create previous association"); + assert!(ConnectedAccounts::::get(&previous_did, &caller).is_some()); + let origin = T::EnsureOrigin::generate_origin(caller.clone(), did.clone()); }: _(origin) verify { - assert!(ConnectedDids::::get(&linkable_id).is_some()); - assert!(ConnectedAccounts::::get(previous_did, &linkable_id).is_none()); - assert!(ConnectedAccounts::::get(did, linkable_id).is_some()); + assert!(ConnectedDids::::get(&caller).is_some()); + assert!(ConnectedAccounts::::get(previous_did, &caller).is_none()); + assert!(ConnectedAccounts::::get(did, caller).is_some()); } remove_sender_association { let caller: T::AccountId = account("caller", 0, SEED); - let linkable_id: LinkableAccountId = caller.clone().into(); let did: T::DidIdentifier = account("did", 0, SEED); make_free_for_did::(&caller); - Pallet::::add_association(caller.clone(), did.clone(), linkable_id.clone()).expect("should create association"); + Pallet::::add_association(caller.clone(), did.clone(), caller.clone()).expect("should create association"); - let origin = RawOrigin::Signed(caller); + let origin = RawOrigin::Signed(caller.clone()); }: _(origin) verify { - assert!(ConnectedDids::::get(&linkable_id).is_none()); - assert!(ConnectedAccounts::::get(did, linkable_id).is_none()); + assert!(ConnectedDids::::get(&caller).is_none()); + assert!(ConnectedAccounts::::get(did, caller).is_none()); } remove_account_association { let caller: T::AccountId = account("caller", 0, SEED); - let linkable_id: LinkableAccountId = caller.clone().into(); let did: T::DidIdentifier = account("did", 0, SEED); make_free_for_did::(&caller); - Pallet::::add_association(caller.clone(), did.clone(), linkable_id.clone()).expect("should create association"); + Pallet::::add_association(caller.clone(), did.clone(), caller.clone()).expect("should create association"); - let origin = T::EnsureOrigin::generate_origin(caller, did.clone()); - let id_arg = linkable_id.clone(); - }: _(origin, id_arg) + let origin = T::EnsureOrigin::generate_origin(caller.clone(), did.clone()); + let caller_clone = caller.clone(); + }: _(origin, caller_clone) verify { - assert!(ConnectedDids::::get(&linkable_id).is_none()); - assert!(ConnectedAccounts::::get(did, linkable_id).is_none()); + assert!(ConnectedDids::::get(&caller).is_none()); + assert!(ConnectedAccounts::::get(did, caller).is_none()); } change_deposit_owner { let deposit_owner_old: T::AccountId = account("caller", 0, SEED); let deposit_owner_new: T::AccountId = account("caller", 1, SEED); - let linkable_id: LinkableAccountId = deposit_owner_old.clone().into(); + let linkable_id: T::AccountId = deposit_owner_old.clone(); let did: T::DidIdentifier = account("did", 0, SEED); make_free_for_did::(&deposit_owner_old); make_free_for_did::(&deposit_owner_new); @@ -268,7 +148,7 @@ benchmarks! { update_deposit { let deposit_owner: T::AccountId = account("caller", 0, SEED); - let linkable_id: LinkableAccountId = deposit_owner.clone().into(); + let linkable_id: T::AccountId = deposit_owner.clone(); let did: T::DidIdentifier = account("did", 0, SEED); make_free_for_did::(&deposit_owner); diff --git a/pallets/pallet-did-lookup/src/default_weights.rs b/pallets/pallet-did-lookup/src/default_weights.rs index c9caccfbe..b2e44bac5 100644 --- a/pallets/pallet-did-lookup/src/default_weights.rs +++ b/pallets/pallet-did-lookup/src/default_weights.rs @@ -19,7 +19,7 @@ //! Autogenerated weights for pallet_did_lookup //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-10-26, STEPS: {{cmd.steps}}\, REPEAT: {{cmd.repeat}}\, LOW RANGE: {{cmd.lowest_range_values}}\, HIGH RANGE: {{cmd.highest_range_values}}\ +//! DATE: 2022-11-07, STEPS: {{cmd.steps}}\, REPEAT: {{cmd.repeat}}\, LOW RANGE: {{cmd.lowest_range_values}}\, HIGH RANGE: {{cmd.highest_range_values}}\ //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024 // Executed Command: @@ -47,10 +47,7 @@ use sp_std::marker::PhantomData; /// Weight functions needed for pallet_did_lookup. pub trait WeightInfo { - fn associate_account_multisig_sr25519() -> Weight; - fn associate_account_multisig_ed25519() -> Weight; - fn associate_account_multisig_ecdsa() -> Weight; - fn associate_eth_account() -> Weight; + fn associate_account() -> Weight; fn associate_sender() -> Weight; fn remove_sender_association() -> Weight; fn remove_account_association() -> Weight; @@ -64,32 +61,8 @@ impl WeightInfo for SubstrateWeight { // Storage: System Account (r:1 w:1) // Storage: DidLookup ConnectedDids (r:1 w:1) // Storage: DidLookup ConnectedAccounts (r:0 w:2) - fn associate_account_multisig_sr25519() -> Weight { - Weight::from_ref_time(134_000_000 as u64) - .saturating_add(T::DbWeight::get().reads(2 as u64)) - .saturating_add(T::DbWeight::get().writes(4 as u64)) - } - // Storage: System Account (r:1 w:1) - // Storage: DidLookup ConnectedDids (r:1 w:1) - // Storage: DidLookup ConnectedAccounts (r:0 w:2) - fn associate_account_multisig_ed25519() -> Weight { - Weight::from_ref_time(131_536_000 as u64) - .saturating_add(T::DbWeight::get().reads(2 as u64)) - .saturating_add(T::DbWeight::get().writes(4 as u64)) - } - // Storage: System Account (r:1 w:1) - // Storage: DidLookup ConnectedDids (r:1 w:1) - // Storage: DidLookup ConnectedAccounts (r:0 w:2) - fn associate_account_multisig_ecdsa() -> Weight { - Weight::from_ref_time(120_087_000 as u64) - .saturating_add(T::DbWeight::get().reads(2 as u64)) - .saturating_add(T::DbWeight::get().writes(4 as u64)) - } - // Storage: System Account (r:1 w:1) - // Storage: DidLookup ConnectedDids (r:1 w:1) - // Storage: DidLookup ConnectedAccounts (r:0 w:2) - fn associate_eth_account() -> Weight { - Weight::from_ref_time(121_859_000 as u64) + fn associate_account() -> Weight { + Weight::from_ref_time(133_182_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(4 as u64)) } @@ -97,7 +70,7 @@ impl WeightInfo for SubstrateWeight { // Storage: DidLookup ConnectedDids (r:1 w:1) // Storage: DidLookup ConnectedAccounts (r:0 w:2) fn associate_sender() -> Weight { - Weight::from_ref_time(74_489_000 as u64) + Weight::from_ref_time(72_677_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(4 as u64)) } @@ -105,7 +78,7 @@ impl WeightInfo for SubstrateWeight { // Storage: System Account (r:1 w:1) // Storage: DidLookup ConnectedAccounts (r:0 w:1) fn remove_sender_association() -> Weight { - Weight::from_ref_time(52_909_000 as u64) + Weight::from_ref_time(52_639_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } @@ -113,21 +86,21 @@ impl WeightInfo for SubstrateWeight { // Storage: System Account (r:1 w:1) // Storage: DidLookup ConnectedAccounts (r:0 w:1) fn remove_account_association() -> Weight { - Weight::from_ref_time(55_046_000 as u64) + Weight::from_ref_time(54_561_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } // Storage: DidLookup ConnectedDids (r:1 w:1) // Storage: System Account (r:2 w:2) fn change_deposit_owner() -> Weight { - Weight::from_ref_time(67_853_000 as u64) + Weight::from_ref_time(67_094_000 as u64) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } // Storage: DidLookup ConnectedDids (r:1 w:1) // Storage: System Account (r:1 w:1) fn update_deposit() -> Weight { - Weight::from_ref_time(62_103_000 as u64) + Weight::from_ref_time(60_960_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } @@ -138,32 +111,8 @@ impl WeightInfo for () { // Storage: System Account (r:1 w:1) // Storage: DidLookup ConnectedDids (r:1 w:1) // Storage: DidLookup ConnectedAccounts (r:0 w:2) - fn associate_account_multisig_sr25519() -> Weight { - Weight::from_ref_time(134_000_000 as u64) - .saturating_add(RocksDbWeight::get().reads(2 as u64)) - .saturating_add(RocksDbWeight::get().writes(4 as u64)) - } - // Storage: System Account (r:1 w:1) - // Storage: DidLookup ConnectedDids (r:1 w:1) - // Storage: DidLookup ConnectedAccounts (r:0 w:2) - fn associate_account_multisig_ed25519() -> Weight { - Weight::from_ref_time(131_536_000 as u64) - .saturating_add(RocksDbWeight::get().reads(2 as u64)) - .saturating_add(RocksDbWeight::get().writes(4 as u64)) - } - // Storage: System Account (r:1 w:1) - // Storage: DidLookup ConnectedDids (r:1 w:1) - // Storage: DidLookup ConnectedAccounts (r:0 w:2) - fn associate_account_multisig_ecdsa() -> Weight { - Weight::from_ref_time(120_087_000 as u64) - .saturating_add(RocksDbWeight::get().reads(2 as u64)) - .saturating_add(RocksDbWeight::get().writes(4 as u64)) - } - // Storage: System Account (r:1 w:1) - // Storage: DidLookup ConnectedDids (r:1 w:1) - // Storage: DidLookup ConnectedAccounts (r:0 w:2) - fn associate_eth_account() -> Weight { - Weight::from_ref_time(121_859_000 as u64) + fn associate_account() -> Weight { + Weight::from_ref_time(133_182_000 as u64) .saturating_add(RocksDbWeight::get().reads(2 as u64)) .saturating_add(RocksDbWeight::get().writes(4 as u64)) } @@ -171,7 +120,7 @@ impl WeightInfo for () { // Storage: DidLookup ConnectedDids (r:1 w:1) // Storage: DidLookup ConnectedAccounts (r:0 w:2) fn associate_sender() -> Weight { - Weight::from_ref_time(74_489_000 as u64) + Weight::from_ref_time(72_677_000 as u64) .saturating_add(RocksDbWeight::get().reads(2 as u64)) .saturating_add(RocksDbWeight::get().writes(4 as u64)) } @@ -179,7 +128,7 @@ impl WeightInfo for () { // Storage: System Account (r:1 w:1) // Storage: DidLookup ConnectedAccounts (r:0 w:1) fn remove_sender_association() -> Weight { - Weight::from_ref_time(52_909_000 as u64) + Weight::from_ref_time(52_639_000 as u64) .saturating_add(RocksDbWeight::get().reads(2 as u64)) .saturating_add(RocksDbWeight::get().writes(3 as u64)) } @@ -187,21 +136,21 @@ impl WeightInfo for () { // Storage: System Account (r:1 w:1) // Storage: DidLookup ConnectedAccounts (r:0 w:1) fn remove_account_association() -> Weight { - Weight::from_ref_time(55_046_000 as u64) + Weight::from_ref_time(54_561_000 as u64) .saturating_add(RocksDbWeight::get().reads(2 as u64)) .saturating_add(RocksDbWeight::get().writes(3 as u64)) } // Storage: DidLookup ConnectedDids (r:1 w:1) // Storage: System Account (r:2 w:2) fn change_deposit_owner() -> Weight { - Weight::from_ref_time(67_853_000 as u64) + Weight::from_ref_time(67_094_000 as u64) .saturating_add(RocksDbWeight::get().reads(3 as u64)) .saturating_add(RocksDbWeight::get().writes(3 as u64)) } // Storage: DidLookup ConnectedDids (r:1 w:1) // Storage: System Account (r:1 w:1) fn update_deposit() -> Weight { - Weight::from_ref_time(62_103_000 as u64) + Weight::from_ref_time(60_960_000 as u64) .saturating_add(RocksDbWeight::get().reads(2 as u64)) .saturating_add(RocksDbWeight::get().writes(2 as u64)) } diff --git a/pallets/pallet-did-lookup/src/lib.rs b/pallets/pallet-did-lookup/src/lib.rs index 43329fcdb..d086a1d7b 100644 --- a/pallets/pallet-did-lookup/src/lib.rs +++ b/pallets/pallet-did-lookup/src/lib.rs @@ -24,10 +24,7 @@ #![cfg_attr(not(feature = "std"), no_std)] -pub mod account; -pub mod associate_account_request; pub mod default_weights; -pub mod linkable_account; pub mod migrations; mod connection_record; @@ -44,12 +41,9 @@ mod benchmarking; pub use crate::{default_weights::WeightInfo, pallet::*}; -use crate::associate_account_request::AssociateAccountRequest; - #[frame_support::pallet] pub mod pallet { - use super::{linkable_account::LinkableAccountId, AssociateAccountRequest, WeightInfo}; - + use super::WeightInfo; use frame_support::{ ensure, pallet_prelude::*, @@ -64,12 +58,17 @@ pub mod pallet { pub use crate::connection_record::ConnectionRecord; - /// The native identifier for accounts in this runtime. + use crate::signature::get_wrapped_payload; + + /// The identifier to which the accounts can be associated. pub(crate) type AccountIdOf = ::AccountId; /// The identifier to which the accounts can be associated. pub(crate) type DidIdentifierOf = ::DidIdentifier; + /// The signature type of the account that can get connected. + pub(crate) type SignatureOf = ::Signature; + /// The type used to describe a balance. pub(crate) type BalanceOf = <::Currency as Currency>>::Balance; @@ -79,11 +78,13 @@ pub mod pallet { /// The connection record type. pub(crate) type ConnectionRecordOf = ConnectionRecord, AccountIdOf, BalanceOf>; - pub const STORAGE_VERSION: StorageVersion = StorageVersion::new(3); + pub const STORAGE_VERSION: StorageVersion = StorageVersion::new(2); #[pallet::config] pub trait Config: frame_system::Config { type RuntimeEvent: From> + IsType<::RuntimeEvent>; + type Signature: sp_runtime::traits::Verify + Parameter; + type Signer: sp_runtime::traits::IdentifyAccount> + Parameter; /// The origin that can associate accounts to itself. type EnsureOrigin: EnsureOrigin<::RuntimeOrigin, Success = Self::OriginSuccess>; @@ -115,7 +116,7 @@ pub mod pallet { /// Mapping from account identifiers to DIDs. #[pallet::storage] #[pallet::getter(fn connected_dids)] - pub type ConnectedDids = StorageMap<_, Blake2_128Concat, LinkableAccountId, ConnectionRecordOf>; + pub type ConnectedDids = StorageMap<_, Blake2_128Concat, AccountIdOf, ConnectionRecordOf>; /// Mapping from (DID + account identifier) -> (). /// The empty tuple is used as a sentinel value to simply indicate the @@ -123,16 +124,16 @@ pub mod pallet { #[pallet::storage] #[pallet::getter(fn connected_accounts)] pub type ConnectedAccounts = - StorageDoubleMap<_, Blake2_128Concat, DidIdentifierOf, Blake2_128Concat, LinkableAccountId, ()>; + StorageDoubleMap<_, Blake2_128Concat, DidIdentifierOf, Blake2_128Concat, AccountIdOf, ()>; #[pallet::event] #[pallet::generate_deposit(pub(super) fn deposit_event)] pub enum Event { /// A new association between a DID and an account ID was created. - AssociationEstablished(LinkableAccountId, DidIdentifierOf), + AssociationEstablished(AccountIdOf, DidIdentifierOf), /// An association between a DID and an account ID was removed. - AssociationRemoved(LinkableAccountId, DidIdentifierOf), + AssociationRemoved(AccountIdOf, DidIdentifierOf), } #[pallet::error] @@ -153,10 +154,7 @@ pub mod pallet { } #[pallet::call] - impl Pallet - where - T::AccountId: Into, - { + impl Pallet { /// Associate the given account to the DID that authorized this call. /// /// The account has to sign the DID and a blocknumber after which the @@ -175,16 +173,12 @@ pub mod pallet { /// - Writes: ConnectedDids + ConnectedAccounts /// # #[pallet::call_index(0)] - #[pallet::weight( - ::WeightInfo::associate_account_multisig_sr25519().max( - ::WeightInfo::associate_account_multisig_ed25519().max( - ::WeightInfo::associate_account_multisig_ecdsa().max( - ::WeightInfo::associate_eth_account() - ))))] + #[pallet::weight(::WeightInfo::associate_account())] pub fn associate_account( origin: OriginFor, - req: AssociateAccountRequest, + account: AccountIdOf, expiration: ::BlockNumber, + proof: SignatureOf, ) -> DispatchResult { let source = ::EnsureOrigin::ensure_origin(origin)?; let did_identifier = source.subject(); @@ -194,7 +188,11 @@ pub mod pallet { frame_system::Pallet::::current_block_number() <= expiration, Error::::OutdatedProof ); - + let encoded_payload = (&did_identifier, expiration).encode(); + ensure!( + sp_runtime::traits::Verify::verify(&proof, &get_wrapped_payload(&encoded_payload[..])[..], &account), + Error::::NotAuthorized + ); ensure!( >>::can_reserve( &sender, @@ -203,12 +201,7 @@ pub mod pallet { Error::::InsufficientFunds ); - ensure!( - req.verify::(did_identifier.clone(), expiration), - Error::::NotAuthorized - ); - - Self::add_association(sender, did_identifier, req.get_linkable_account())?; + Self::add_association(sender, did_identifier, account)?; Ok(()) } @@ -237,7 +230,7 @@ pub mod pallet { Error::::InsufficientFunds ); - Self::add_association(source.sender(), source.subject(), source.sender().into())?; + Self::add_association(source.sender(), source.subject(), source.sender())?; Ok(()) } @@ -256,7 +249,7 @@ pub mod pallet { pub fn remove_sender_association(origin: OriginFor) -> DispatchResult { let who = ensure_signed(origin)?; - Self::remove_association(who.into()) + Self::remove_association(who) } /// Remove the association of the provided account ID. This call doesn't @@ -272,7 +265,7 @@ pub mod pallet { /// # #[pallet::call_index(3)] #[pallet::weight(::WeightInfo::remove_account_association())] - pub fn remove_account_association(origin: OriginFor, account: LinkableAccountId) -> DispatchResult { + pub fn remove_account_association(origin: OriginFor, account: AccountIdOf) -> DispatchResult { let source = ::EnsureOrigin::ensure_origin(origin)?; let connection_record = ConnectedDids::::get(&account).ok_or(Error::::AssociationNotFound)?; @@ -294,7 +287,7 @@ pub mod pallet { /// # #[pallet::call_index(4)] #[pallet::weight(::WeightInfo::remove_sender_association())] - pub fn reclaim_deposit(origin: OriginFor, account: LinkableAccountId) -> DispatchResult { + pub fn reclaim_deposit(origin: OriginFor, account: AccountIdOf) -> DispatchResult { let who = ensure_signed(origin)?; let record = ConnectedDids::::get(&account).ok_or(Error::::AssociationNotFound)?; @@ -311,7 +304,7 @@ pub mod pallet { /// The sender of the call will be the new deposit owner. #[pallet::call_index(5)] #[pallet::weight(::WeightInfo::change_deposit_owner())] - pub fn change_deposit_owner(origin: OriginFor, account: LinkableAccountId) -> DispatchResult { + pub fn change_deposit_owner(origin: OriginFor, account: AccountIdOf) -> DispatchResult { let source = ::EnsureOrigin::ensure_origin(origin)?; let subject = source.subject(); @@ -326,7 +319,7 @@ pub mod pallet { /// The sender must be the deposit owner. #[pallet::call_index(6)] #[pallet::weight(::WeightInfo::update_deposit())] - pub fn update_deposit(origin: OriginFor, account: LinkableAccountId) -> DispatchResult { + pub fn update_deposit(origin: OriginFor, account: AccountIdOf) -> DispatchResult { let source = ensure_signed(origin)?; let record = ConnectedDids::::get(&account).ok_or(Error::::AssociationNotFound)?; @@ -340,7 +333,7 @@ pub mod pallet { pub(crate) fn add_association( sender: AccountIdOf, did_identifier: DidIdentifierOf, - account: LinkableAccountId, + account: AccountIdOf, ) -> DispatchResult { let deposit = Deposit { owner: sender, @@ -367,7 +360,7 @@ pub mod pallet { Ok(()) } - pub(crate) fn remove_association(account: LinkableAccountId) -> DispatchResult { + pub(crate) fn remove_association(account: AccountIdOf) -> DispatchResult { if let Some(connection) = ConnectedDids::::take(&account) { ConnectedAccounts::::remove(&connection.did, &account); kilt_support::free_deposit::, CurrencyOf>(&connection.deposit); @@ -381,22 +374,22 @@ pub mod pallet { } struct LinkableAccountDepositCollector(PhantomData); - impl StorageDepositCollector, LinkableAccountId> for LinkableAccountDepositCollector { + impl StorageDepositCollector, AccountIdOf> for LinkableAccountDepositCollector { type Currency = T::Currency; fn deposit( - key: &LinkableAccountId, + key: &AccountIdOf, ) -> Result, >>::Balance>, DispatchError> { let record = ConnectedDids::::get(key).ok_or(Error::::AssociationNotFound)?; Ok(record.deposit) } - fn deposit_amount(_key: &LinkableAccountId) -> >>::Balance { + fn deposit_amount(_key: &AccountIdOf) -> >>::Balance { T::Deposit::get() } fn store_deposit( - key: &LinkableAccountId, + key: &AccountIdOf, deposit: Deposit, >>::Balance>, ) -> Result<(), DispatchError> { let record = ConnectedDids::::get(key).ok_or(Error::::AssociationNotFound)?; diff --git a/pallets/pallet-did-lookup/src/linkable_account.rs b/pallets/pallet-did-lookup/src/linkable_account.rs deleted file mode 100644 index 8f62694e0..000000000 --- a/pallets/pallet-did-lookup/src/linkable_account.rs +++ /dev/null @@ -1,51 +0,0 @@ -// KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2023 BOTLabs GmbH - -// The KILT Blockchain 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. - -// The KILT Blockchain 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 this program. If not, see . - -// If you feel like getting in touch with us, you can do so at info@botlabs.org - -use codec::{Decode, Encode, MaxEncodedLen}; -use scale_info::TypeInfo; -use sp_runtime::AccountId32; - -use crate::account::AccountId20; - -#[derive(Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Encode, Decode, MaxEncodedLen, TypeInfo)] -pub enum LinkableAccountId { - AccountId20(AccountId20), - AccountId32(AccountId32), -} - -impl From for LinkableAccountId { - fn from(account_id: AccountId20) -> Self { - Self::AccountId20(account_id) - } -} - -impl From for LinkableAccountId { - fn from(account_id: AccountId32) -> Self { - Self::AccountId32(account_id) - } -} - -#[cfg(feature = "std")] -impl std::fmt::Display for LinkableAccountId { - fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - match self { - Self::AccountId20(account_id) => write!(f, "{}", account_id), - Self::AccountId32(account_id) => write!(f, "{}", account_id), - } - } -} diff --git a/pallets/pallet-did-lookup/src/migrations.rs b/pallets/pallet-did-lookup/src/migrations.rs index 7608fbf93..9b448a13b 100644 --- a/pallets/pallet-did-lookup/src/migrations.rs +++ b/pallets/pallet-did-lookup/src/migrations.rs @@ -16,133 +16,79 @@ // If you feel like getting in touch with us, you can do so at info@botlabs.org -use crate::{linkable_account::LinkableAccountId, AccountIdOf, Config, ConnectionRecordOf, DidIdentifierOf, Pallet}; - -use crate::{ConnectedAccounts as ConnectedAccountsV2, ConnectedDids as ConnectedDidsV2}; - +use crate::{Config, ConnectedAccounts, ConnectedDids, Pallet}; use frame_support::{ - storage_alias, + dispatch::Weight, traits::{Get, GetStorageVersion, OnRuntimeUpgrade}, - Blake2_128Concat, }; -use sp_std::{marker::PhantomData, vec}; +use sp_std::marker::PhantomData; #[cfg(feature = "try-runtime")] -use { - frame_support::{ - codec::{Decode, Encode}, - inherent::Vec, - }, - sp_runtime::SaturatedConversion, -}; - -#[storage_alias] -type ConnectedDids = StorageMap, Blake2_128Concat, AccountIdOf, ConnectionRecordOf>; -#[storage_alias] -type ConnectedAccounts = - StorageDoubleMap, Blake2_128Concat, DidIdentifierOf, Blake2_128Concat, AccountIdOf, ()>; - -pub struct EthereumMigration(PhantomData); +use sp_std::vec; +#[cfg(feature = "try-runtime")] +use sp_std::vec::Vec; -impl OnRuntimeUpgrade for EthereumMigration -where - T::AccountId: Into, -{ - fn on_runtime_upgrade() -> frame_support::weights::Weight { - if Pallet::::on_chain_storage_version() == Pallet::::current_storage_version() { - // already on version 3 - ::DbWeight::get().reads_writes(1, 0) - } else { - log::info!("🔎 DidLookup: Initiating migration"); - let mut connected_dids = 0u64; - let mut connected_accounts = 0u64; - - // Migrate connected DIDs - // We should not write to the same storage item during drain because it can lead - // to undefined results. Thus, we write to a temporary storage and move that at - // the end. Else we iterate over every key more or less twice. - let mut connected_dids_buffer = vec![]; - for (acc_id32, value) in ConnectedDids::::drain() { - let acc_id: LinkableAccountId = acc_id32.into(); - connected_dids_buffer.push((acc_id, value)); - connected_dids = connected_dids.saturating_add(1); - } - for (acc_id, value) in &connected_dids_buffer { - ConnectedDidsV2::::insert(acc_id, value); - } - log::info!("🔎 DidLookup: Migrated all ConnectedDids"); - - // Migrate accounts - let mut connected_accounts_buffer = vec![]; - for (did_id, acc_id32, val) in ConnectedAccounts::::drain() { - let acc_id: LinkableAccountId = acc_id32.into(); - connected_accounts_buffer.push((did_id, acc_id, val)); - connected_accounts = connected_accounts.saturating_add(1); - } - for (did_id, acc_id, val) in &connected_accounts_buffer { - ConnectedAccountsV2::::insert(did_id, acc_id, val); - } - log::info!("🔎 DidLookup: Migrated all ConnectedAccounts"); - - Pallet::::current_storage_version().put::>(); - - ::DbWeight::get().reads_writes( - // read every entry in ConnectedDids and ConnectedAccounts - connected_dids - .saturating_add(connected_accounts) - // read the storage version - .saturating_add(1), - // for every storage entry remove the old + put the new entries - (connected_dids.saturating_add(connected_accounts)) - .saturating_mul(2) - // +1 for updating the storage version - .saturating_add(1), - ) - } - } +pub struct LookupReverseIndexMigration(PhantomData); +impl OnRuntimeUpgrade for LookupReverseIndexMigration { #[cfg(feature = "try-runtime")] fn pre_upgrade() -> Result, &'static str> { assert!(Pallet::::on_chain_storage_version() < Pallet::::current_storage_version()); + assert_eq!(ConnectedAccounts::::iter().count(), 0); - // Store number of connected DIDs in temp storage - let connected_did_count: u64 = ConnectedDids::::iter_keys().count().saturated_into(); log::info!( - "🔎 DidLookup pre migration: Number of connected DIDs {:?}", - connected_did_count + "👥 DID lookup pallet to {:?} passes PRE migrate checks ✅", + Pallet::::current_storage_version() ); - // Store number of connected accounts in temp storage - let connected_account_count: u64 = ConnectedAccounts::::iter_keys().count().saturated_into(); + Ok(vec![]) + } + + fn on_runtime_upgrade() -> frame_support::weights::Weight { + // Account for the new storage version written below. + let initial_weight = T::DbWeight::get().writes(1); + + // Origin was disabled, so there cannot be any existing links. But we check just + // to be sure. + let total_weight: Weight = + ConnectedDids::::iter().fold(initial_weight, |total_weight, (account, record)| { + ConnectedAccounts::::insert(record.did, account, ()); + // One read for the `ConnectedDids` entry, one write for the new + // `ConnectedAccounts` entry. + total_weight.saturating_add(T::DbWeight::get().reads_writes(1, 1)) + }); + + Pallet::::current_storage_version().put::>(); + log::info!( - "🔎 DidLookup pre migration: Number of connected accounts {:?}", - connected_account_count + "👥 completed DID lookup pallet migration to {:?} ✅", + Pallet::::current_storage_version() ); - Ok((connected_did_count, connected_account_count).encode()) + + total_weight } #[cfg(feature = "try-runtime")] - fn post_upgrade(pre_state: Vec) -> Result<(), &'static str> { + fn post_upgrade(_pre_state: Vec) -> Result<(), &'static str> { assert_eq!( Pallet::::on_chain_storage_version(), Pallet::::current_storage_version() ); - // Check number of connected DIDs and accounts against pre-check result - let (pre_connected_did_count, pre_connected_account_count): (u64, u64) = - Decode::decode(&mut pre_state.as_slice()) - .expect("the state parameter should be something that was generated by pre_upgrade"); - assert_eq!( - ConnectedDidsV2::::iter().count().saturated_into::(), - pre_connected_did_count, - "Number of connected DIDs does not match" - ); - assert_eq!( - ConnectedAccountsV2::::iter_keys().count().saturated_into::(), - pre_connected_account_count, - "Number of connected accounts does not match" + // Verify DID -> Account integrity. + ConnectedDids::::iter().for_each(|(account, record)| { + assert!(ConnectedAccounts::::contains_key(record.did, account)); + }); + // Verify Account -> DID integrity. + ConnectedAccounts::::iter().for_each(|(did, account, _)| { + let entry = ConnectedDids::::get(account).expect("Should find a record for the given account."); + assert_eq!(entry.did, did); + }); + + log::info!( + "👥 DID lookup pallet to {:?} passes POST migrate checks ✅", + Pallet::::current_storage_version() ); - log::info!("🔎 DidLookup: Post migration checks successful"); Ok(()) } diff --git a/pallets/pallet-did-lookup/src/mock.rs b/pallets/pallet-did-lookup/src/mock.rs index 34e72d41e..ff73df8eb 100644 --- a/pallets/pallet-did-lookup/src/mock.rs +++ b/pallets/pallet-did-lookup/src/mock.rs @@ -28,10 +28,9 @@ use sp_runtime::{ }; use crate::{ - self as pallet_did_lookup, linkable_account::LinkableAccountId, AccountIdOf, BalanceOf, Config, ConnectedAccounts, - ConnectedDids, ConnectionRecord, CurrencyOf, DidIdentifierOf, + self as pallet_did_lookup, AccountIdOf, BalanceOf, Config, ConnectedAccounts, ConnectedDids, ConnectionRecord, + CurrencyOf, DidIdentifierOf, }; - pub(crate) type UncheckedExtrinsic = frame_system::mocking::MockUncheckedExtrinsic; pub(crate) type Block = frame_system::mocking::MockBlock; pub(crate) type Hash = sp_core::H256; @@ -111,6 +110,8 @@ parameter_types! { impl pallet_did_lookup::Config for Test { type RuntimeEvent = RuntimeEvent; + type Signature = Signature; + type Signer = AccountPublic; type Currency = Balances; type Deposit = DidLookupDeposit; @@ -132,12 +133,11 @@ pub(crate) const ACCOUNT_00: AccountId = AccountId::new([1u8; 32]); pub(crate) const ACCOUNT_01: AccountId = AccountId::new([2u8; 32]); pub(crate) const DID_00: SubjectId = SubjectId(ACCOUNT_00); pub(crate) const DID_01: SubjectId = SubjectId(ACCOUNT_01); -pub(crate) const LINKABLE_ACCOUNT_00: LinkableAccountId = LinkableAccountId::AccountId32(ACCOUNT_00); pub(crate) fn insert_raw_connection( sender: AccountIdOf, did_identifier: DidIdentifierOf, - account: LinkableAccountId, + account: AccountIdOf, deposit: BalanceOf, ) { let deposit = Deposit { @@ -164,7 +164,7 @@ pub(crate) fn insert_raw_connection( pub struct ExtBuilder { balances: Vec<(AccountId, Balance)>, /// list of connection (sender, did, connected address) - connections: Vec<(AccountId, SubjectId, LinkableAccountId)>, + connections: Vec<(AccountId, SubjectId, AccountId)>, } impl ExtBuilder { @@ -176,7 +176,7 @@ impl ExtBuilder { /// Add a connection: (sender, did, connected address) #[must_use] - pub fn with_connections(mut self, connections: Vec<(AccountId, SubjectId, LinkableAccountId)>) -> Self { + pub fn with_connections(mut self, connections: Vec<(AccountId, SubjectId, AccountId)>) -> Self { self.connections = connections; self } diff --git a/pallets/pallet-did-lookup/src/signature.rs b/pallets/pallet-did-lookup/src/signature.rs index 5775506b1..f5bfb8b4a 100644 --- a/pallets/pallet-did-lookup/src/signature.rs +++ b/pallets/pallet-did-lookup/src/signature.rs @@ -16,32 +16,18 @@ // If you feel like getting in touch with us, you can do so at info@botlabs.org -use codec::alloc::string::ToString; use sp_std::vec::Vec; // According to https://github.com/polkadot-js/common/blob/5d5c7e4c0ace06e3301ccadfd3c3351955f1e251/packages/util/src/u8a/wrap.ts#L13 + const PAYLOAD_BYTES_WRAPPER_PREFIX: &[u8; 7] = b""; const PAYLOAD_BYTES_WRAPPER_POSTFIX: &[u8; 8] = b""; -const ETHEREUM_SIGNATURE_PREFIX: &[u8; 26] = b"\x19Ethereum Signed Message:\n"; -pub(crate) enum WrapType { - Substrate, - Ethereum, -} -pub(crate) fn get_wrapped_payload(payload: &[u8], wrap_type: WrapType) -> Vec { - match wrap_type { - WrapType::Substrate => PAYLOAD_BYTES_WRAPPER_PREFIX - .iter() - .chain(payload.iter()) - .chain(PAYLOAD_BYTES_WRAPPER_POSTFIX.iter()) - .copied() - .collect(), - WrapType::Ethereum => ETHEREUM_SIGNATURE_PREFIX - .iter() - // eth wrapping also contains the length of the payload - .chain(payload.len().to_string().as_bytes().iter()) - .chain(payload.iter()) - .copied() - .collect(), - } +pub(crate) fn get_wrapped_payload(payload: &[u8]) -> Vec { + PAYLOAD_BYTES_WRAPPER_PREFIX + .iter() + .chain(payload.iter()) + .chain(PAYLOAD_BYTES_WRAPPER_POSTFIX.iter()) + .copied() + .collect() } diff --git a/pallets/pallet-did-lookup/src/tests.rs b/pallets/pallet-did-lookup/src/tests.rs index b8dc67c7d..6f28175fa 100644 --- a/pallets/pallet-did-lookup/src/tests.rs +++ b/pallets/pallet-did-lookup/src/tests.rs @@ -17,22 +17,15 @@ // If you feel like getting in touch with us, you can do so at info@botlabs.org use codec::Encode; -use frame_support::{assert_noop, assert_ok, crypto::ecdsa::ECDSAExt}; +use frame_support::{assert_noop, assert_ok}; use kilt_support::{deposit::Deposit, mock::mock_origin}; -use sha3::{Digest, Keccak256}; use sp_runtime::{ - app_crypto::{ecdsa, sr25519, Pair}, + app_crypto::{sr25519, Pair}, traits::{IdentifyAccount, Zero}, MultiSignature, MultiSigner, }; -use crate::{ - account::{AccountId20, EthereumSignature}, - linkable_account::LinkableAccountId, - mock::*, - signature::get_wrapped_payload, - AssociateAccountRequest, ConnectedAccounts, ConnectedDids, ConnectionRecord, Error, -}; +use crate::{mock::*, ConnectedAccounts, ConnectedDids, ConnectionRecord, Error}; #[test] fn test_add_association_sender() { @@ -46,7 +39,7 @@ fn test_add_association_sender() { // new association. No overwrite assert!(DidLookup::associate_sender(mock_origin::DoubleOrigin(ACCOUNT_00, DID_00).into()).is_ok()); assert_eq!( - ConnectedDids::::get(LINKABLE_ACCOUNT_00), + ConnectedDids::::get(ACCOUNT_00), Some(ConnectionRecord { did: DID_00, deposit: Deposit { @@ -55,7 +48,7 @@ fn test_add_association_sender() { } }) ); - assert!(ConnectedAccounts::::get(DID_00, LINKABLE_ACCOUNT_00).is_some()); + assert!(ConnectedAccounts::::get(DID_00, ACCOUNT_00).is_some()); assert_eq!( Balances::reserved_balance(ACCOUNT_00), ::Deposit::get() @@ -64,7 +57,7 @@ fn test_add_association_sender() { // overwrite existing association assert!(DidLookup::associate_sender(mock_origin::DoubleOrigin(ACCOUNT_00, DID_01).into()).is_ok()); assert_eq!( - ConnectedDids::::get(LINKABLE_ACCOUNT_00), + ConnectedDids::::get(ACCOUNT_00), Some(ConnectionRecord { did: DID_01, deposit: Deposit { @@ -73,8 +66,8 @@ fn test_add_association_sender() { } }) ); - assert!(ConnectedAccounts::::get(DID_00, LINKABLE_ACCOUNT_00).is_none()); - assert!(ConnectedAccounts::::get(DID_01, LINKABLE_ACCOUNT_00).is_some()); + assert!(ConnectedAccounts::::get(DID_00, ACCOUNT_00).is_none()); + assert!(ConnectedAccounts::::get(DID_01, ACCOUNT_00).is_some()); assert_eq!( Balances::reserved_balance(ACCOUNT_00), ::Deposit::get() @@ -104,12 +97,13 @@ fn test_add_association_account() { // new association. No overwrite assert!(DidLookup::associate_account( mock_origin::DoubleOrigin(ACCOUNT_00, DID_00).into(), - AssociateAccountRequest::Dotsama(account_hash_alice.clone(), sig_alice_0), + account_hash_alice.clone(), expire_at, + sig_alice_0 ) .is_ok()); assert_eq!( - ConnectedDids::::get(LinkableAccountId::from(account_hash_alice.clone())), + ConnectedDids::::get(&account_hash_alice), Some(ConnectionRecord { did: DID_00, deposit: Deposit { @@ -118,26 +112,22 @@ fn test_add_association_account() { } }) ); - assert!( - ConnectedAccounts::::get(DID_00, LinkableAccountId::from(account_hash_alice.clone())).is_some() - ); + assert!(ConnectedAccounts::::get(DID_00, &account_hash_alice).is_some()); assert_eq!( Balances::reserved_balance(ACCOUNT_00), ::Deposit::get() ); // overwrite existing association - let res = DidLookup::associate_account( + assert!(DidLookup::associate_account( mock_origin::DoubleOrigin(ACCOUNT_00, DID_01).into(), - AssociateAccountRequest::Dotsama(account_hash_alice.clone(), sig_alice_1.clone()), + account_hash_alice.clone(), expire_at, - ); - if let Err(err) = res { - println!("Error overwriting association: {:?}", err); - } - assert!(res.is_ok()); + sig_alice_1.clone() + ) + .is_ok()); assert_eq!( - ConnectedDids::::get(LinkableAccountId::from(account_hash_alice.clone())), + ConnectedDids::::get(&account_hash_alice), Some(ConnectionRecord { did: DID_01, deposit: Deposit { @@ -146,12 +136,8 @@ fn test_add_association_account() { } }) ); - assert!( - ConnectedAccounts::::get(DID_00, LinkableAccountId::from(account_hash_alice.clone())).is_none() - ); - assert!( - ConnectedAccounts::::get(DID_01, LinkableAccountId::from(account_hash_alice.clone())).is_some() - ); + assert!(ConnectedAccounts::::get(DID_00, &account_hash_alice).is_none()); + assert!(ConnectedAccounts::::get(DID_01, &account_hash_alice).is_some()); assert_eq!( Balances::reserved_balance(ACCOUNT_00), ::Deposit::get() @@ -160,12 +146,13 @@ fn test_add_association_account() { // overwrite existing deposit assert!(DidLookup::associate_account( mock_origin::DoubleOrigin(ACCOUNT_01, DID_01).into(), - AssociateAccountRequest::Dotsama(account_hash_alice.clone(), sig_alice_1), + account_hash_alice.clone(), expire_at, + sig_alice_1 ) .is_ok()); assert_eq!( - ConnectedDids::::get(LinkableAccountId::from(account_hash_alice.clone())), + ConnectedDids::::get(&account_hash_alice), Some(ConnectionRecord { did: DID_01, deposit: Deposit { @@ -174,10 +161,8 @@ fn test_add_association_account() { } }) ); - assert!( - ConnectedAccounts::::get(DID_00, LinkableAccountId::from(account_hash_alice.clone())).is_none() - ); - assert!(ConnectedAccounts::::get(DID_01, LinkableAccountId::from(account_hash_alice)).is_some()); + assert!(ConnectedAccounts::::get(DID_00, &account_hash_alice).is_none()); + assert!(ConnectedAccounts::::get(DID_01, &account_hash_alice).is_some()); assert_eq!(Balances::reserved_balance(ACCOUNT_00), 0); assert_eq!( Balances::reserved_balance(ACCOUNT_01), @@ -186,51 +171,6 @@ fn test_add_association_account() { }); } -#[test] -fn test_add_eth_association() { - ExtBuilder::default() - .with_balances(vec![ - (ACCOUNT_00, ::Deposit::get() * 50), - (ACCOUNT_01, ::Deposit::get() * 50), - ]) - .build() - .execute_with(|| { - let expire_at: BlockNumber = 500; - let eth_pair = ecdsa::Pair::generate().0; - let eth_account = AccountId20(eth_pair.public().to_eth_address().unwrap()); - - let wrapped_payload = get_wrapped_payload( - &Encode::encode(&(&DID_00, expire_at))[..], - crate::signature::WrapType::Ethereum, - ); - - let sig = eth_pair.sign_prehashed(&Keccak256::digest(wrapped_payload).try_into().unwrap()); - - // new association. No overwrite - let res = DidLookup::associate_account( - mock_origin::DoubleOrigin(ACCOUNT_00, DID_00).into(), - AssociateAccountRequest::Ethereum(eth_account, EthereumSignature::from(sig)), - expire_at, - ); - assert!(res.is_ok()); - assert_eq!( - ConnectedDids::::get(LinkableAccountId::from(eth_account)), - Some(ConnectionRecord { - did: DID_00, - deposit: Deposit { - owner: ACCOUNT_00, - amount: 10, - } - }) - ); - assert!(ConnectedAccounts::::get(DID_00, LinkableAccountId::from(eth_account)).is_some()); - assert_eq!( - Balances::reserved_balance(ACCOUNT_00), - ::Deposit::get() - ); - }); -} - #[test] fn test_add_association_account_invalid_signature() { ExtBuilder::default() @@ -249,8 +189,9 @@ fn test_add_association_account_invalid_signature() { assert_noop!( DidLookup::associate_account( mock_origin::DoubleOrigin(ACCOUNT_00, DID_01).into(), - AssociateAccountRequest::Dotsama(account_hash_alice, sig_alice_0), + account_hash_alice, expire_at, + sig_alice_0 ), Error::::NotAuthorized ); @@ -277,8 +218,9 @@ fn test_add_association_account_expired() { assert_noop!( DidLookup::associate_account( mock_origin::DoubleOrigin(ACCOUNT_00, DID_01).into(), - AssociateAccountRequest::Dotsama(account_hash_alice, sig_alice_0), + account_hash_alice, expire_at, + sig_alice_0 ), Error::::OutdatedProof ); @@ -292,13 +234,13 @@ fn test_remove_association_sender() { (ACCOUNT_00, ::Deposit::get() * 50), (ACCOUNT_01, ::Deposit::get() * 50), ]) - .with_connections(vec![(ACCOUNT_00, DID_01, LINKABLE_ACCOUNT_00)]) + .with_connections(vec![(ACCOUNT_00, DID_01, ACCOUNT_00)]) .build() .execute_with(|| { // remove association assert!(DidLookup::remove_sender_association(RuntimeOrigin::signed(ACCOUNT_00)).is_ok()); - assert_eq!(ConnectedDids::::get(LinkableAccountId::from(ACCOUNT_00)), None); - assert!(ConnectedAccounts::::get(DID_01, LinkableAccountId::from(ACCOUNT_00)).is_none()); + assert_eq!(ConnectedDids::::get(ACCOUNT_00), None); + assert!(ConnectedAccounts::::get(DID_01, ACCOUNT_00).is_none()); assert_eq!(Balances::reserved_balance(ACCOUNT_00), 0); }); } @@ -326,16 +268,16 @@ fn test_remove_association_account() { (ACCOUNT_00, ::Deposit::get() * 50), (ACCOUNT_01, ::Deposit::get() * 50), ]) - .with_connections(vec![(ACCOUNT_01, DID_01, LINKABLE_ACCOUNT_00)]) + .with_connections(vec![(ACCOUNT_01, DID_01, ACCOUNT_00)]) .build() .execute_with(|| { assert!(DidLookup::remove_account_association( mock_origin::DoubleOrigin(ACCOUNT_00, DID_01).into(), - LinkableAccountId::from(ACCOUNT_00.clone()) + ACCOUNT_00 ) .is_ok()); - assert_eq!(ConnectedDids::::get(LinkableAccountId::from(ACCOUNT_00)), None); - assert!(ConnectedAccounts::::get(DID_01, LinkableAccountId::from(ACCOUNT_00)).is_none()); + assert_eq!(ConnectedDids::::get(ACCOUNT_00), None); + assert!(ConnectedAccounts::::get(DID_01, ACCOUNT_00).is_none()); assert_eq!(Balances::reserved_balance(ACCOUNT_01), 0); }); } @@ -349,13 +291,10 @@ fn test_remove_association_account_not_found() { ]) .build() .execute_with(|| { - assert_eq!(ConnectedDids::::get(LinkableAccountId::from(ACCOUNT_00)), None); + assert_eq!(ConnectedDids::::get(ACCOUNT_00), None); assert_noop!( - DidLookup::remove_account_association( - mock_origin::DoubleOrigin(ACCOUNT_01, DID_01).into(), - LinkableAccountId::from(ACCOUNT_00) - ), + DidLookup::remove_account_association(mock_origin::DoubleOrigin(ACCOUNT_01, DID_01).into(), ACCOUNT_00), Error::::AssociationNotFound ); }); @@ -368,14 +307,11 @@ fn test_remove_association_account_not_authorized() { (ACCOUNT_00, ::Deposit::get() * 50), (ACCOUNT_01, ::Deposit::get() * 50), ]) - .with_connections(vec![(ACCOUNT_01, DID_01, LINKABLE_ACCOUNT_00)]) + .with_connections(vec![(ACCOUNT_01, DID_01, ACCOUNT_00)]) .build() .execute_with(|| { assert_noop!( - DidLookup::remove_account_association( - mock_origin::DoubleOrigin(ACCOUNT_01, DID_00).into(), - ACCOUNT_00.into() - ), + DidLookup::remove_account_association(mock_origin::DoubleOrigin(ACCOUNT_01, DID_00).into(), ACCOUNT_00), Error::::NotAuthorized ); assert_eq!( @@ -392,12 +328,12 @@ fn test_reclaim_deposit() { (ACCOUNT_00, ::Deposit::get() * 50), (ACCOUNT_01, ::Deposit::get() * 50), ]) - .with_connections(vec![(ACCOUNT_01, DID_01, LINKABLE_ACCOUNT_00)]) + .with_connections(vec![(ACCOUNT_01, DID_01, ACCOUNT_00)]) .build() .execute_with(|| { assert_ok!(DidLookup::reclaim_deposit( RuntimeOrigin::signed(ACCOUNT_01), - ACCOUNT_00.into() + ACCOUNT_00 )); assert_eq!(Balances::reserved_balance(ACCOUNT_01), 0); }); @@ -410,11 +346,11 @@ fn test_reclaim_deposit_not_authorized() { (ACCOUNT_00, ::Deposit::get() * 50), (ACCOUNT_01, ::Deposit::get() * 50), ]) - .with_connections(vec![(ACCOUNT_01, DID_01, LINKABLE_ACCOUNT_00)]) + .with_connections(vec![(ACCOUNT_01, DID_01, ACCOUNT_00)]) .build() .execute_with(|| { assert_noop!( - DidLookup::reclaim_deposit(RuntimeOrigin::signed(ACCOUNT_00), ACCOUNT_00.into()), + DidLookup::reclaim_deposit(RuntimeOrigin::signed(ACCOUNT_00), ACCOUNT_00), Error::::NotAuthorized ); assert_eq!( @@ -434,12 +370,12 @@ fn test_change_deposit_owner() { (ACCOUNT_00, ::Deposit::get() * 50), (ACCOUNT_01, ::Deposit::get() * 50), ]) - .with_connections(vec![(ACCOUNT_00, DID_00, LINKABLE_ACCOUNT_00)]) + .with_connections(vec![(ACCOUNT_00, DID_00, ACCOUNT_00)]) .build() .execute_with(|| { assert_ok!(DidLookup::change_deposit_owner( mock_origin::DoubleOrigin(ACCOUNT_01, DID_00).into(), - ACCOUNT_00.into() + ACCOUNT_00 )); assert!(Balances::reserved_balance(ACCOUNT_00).is_zero()); assert_eq!( @@ -453,14 +389,11 @@ fn test_change_deposit_owner() { fn test_change_deposit_owner_insufficient_balance() { ExtBuilder::default() .with_balances(vec![(ACCOUNT_00, ::Deposit::get() * 50)]) - .with_connections(vec![(ACCOUNT_00, DID_00, LINKABLE_ACCOUNT_00)]) + .with_connections(vec![(ACCOUNT_00, DID_00, ACCOUNT_00)]) .build() .execute_with(|| { assert_noop!( - DidLookup::change_deposit_owner( - mock_origin::DoubleOrigin(ACCOUNT_01, DID_00).into(), - ACCOUNT_00.into() - ), + DidLookup::change_deposit_owner(mock_origin::DoubleOrigin(ACCOUNT_01, DID_00).into(), ACCOUNT_00), pallet_balances::Error::::InsufficientBalance ); }) @@ -473,10 +406,7 @@ fn test_change_deposit_owner_not_found() { .build() .execute_with(|| { assert_noop!( - DidLookup::change_deposit_owner( - mock_origin::DoubleOrigin(ACCOUNT_01, DID_00).into(), - ACCOUNT_00.into() - ), + DidLookup::change_deposit_owner(mock_origin::DoubleOrigin(ACCOUNT_01, DID_00).into(), ACCOUNT_00), Error::::AssociationNotFound ); }) @@ -486,14 +416,11 @@ fn test_change_deposit_owner_not_found() { fn test_change_deposit_owner_not_authorized() { ExtBuilder::default() .with_balances(vec![(ACCOUNT_00, ::Deposit::get() * 50)]) - .with_connections(vec![(ACCOUNT_00, DID_00, LINKABLE_ACCOUNT_00)]) + .with_connections(vec![(ACCOUNT_00, DID_00, ACCOUNT_00)]) .build() .execute_with(|| { assert_noop!( - DidLookup::change_deposit_owner( - mock_origin::DoubleOrigin(ACCOUNT_01, DID_01).into(), - ACCOUNT_00.into() - ), + DidLookup::change_deposit_owner(mock_origin::DoubleOrigin(ACCOUNT_01, DID_01).into(), ACCOUNT_00), Error::::NotAuthorized ); }) @@ -511,17 +438,14 @@ fn test_update_deposit() { insert_raw_connection::( ACCOUNT_00, DID_00, - ACCOUNT_00.into(), + ACCOUNT_00, ::Deposit::get() * 2, ); assert_eq!( Balances::reserved_balance(ACCOUNT_00), ::Deposit::get() * 2 ); - assert_ok!(DidLookup::update_deposit( - RuntimeOrigin::signed(ACCOUNT_00), - ACCOUNT_00.into() - )); + assert_ok!(DidLookup::update_deposit(RuntimeOrigin::signed(ACCOUNT_00), ACCOUNT_00)); assert_eq!( Balances::reserved_balance(ACCOUNT_00), ::Deposit::get() @@ -541,7 +465,7 @@ fn test_update_deposit_unauthorized() { insert_raw_connection::( ACCOUNT_00, DID_00, - ACCOUNT_00.into(), + ACCOUNT_00, ::Deposit::get() * 2, ); assert_eq!( @@ -549,7 +473,7 @@ fn test_update_deposit_unauthorized() { ::Deposit::get() * 2 ); assert_noop!( - DidLookup::update_deposit(RuntimeOrigin::signed(ACCOUNT_01), ACCOUNT_00.into()), + DidLookup::update_deposit(RuntimeOrigin::signed(ACCOUNT_01), ACCOUNT_00), Error::::NotAuthorized ); }) diff --git a/pallets/parachain-staking/src/migration.rs b/pallets/parachain-staking/src/migration.rs index 79e74681a..14d94159e 100644 --- a/pallets/parachain-staking/src/migration.rs +++ b/pallets/parachain-staking/src/migration.rs @@ -1,5 +1,5 @@ // KILT Blockchain – https://botlabs.org -// Copyright (C) 2019-2023 BOTLabs GmbH +// Copyright (C) 2019-2022 BOTLabs GmbH // The KILT Blockchain is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by @@ -15,3 +15,175 @@ // along with this program. If not, see . // If you feel like getting in touch with us, you can do so at info@botlabs.org + +use crate::{ + set::OrderedSet, + types::{BalanceOf, Delegator, Stake}, +}; + +use super::*; +use codec::{Decode, Encode, MaxEncodedLen}; +use core::marker::PhantomData; +use frame_support::{ + dispatch::GetStorageVersion, + pallet_prelude::{StorageVersion, ValueQuery}, + parameter_types, storage_alias, + traits::{Get, OnRuntimeUpgrade}, + weights::Weight, + Blake2_128Concat, RuntimeDebug, +}; +use scale_info::TypeInfo; +use sp_runtime::traits::Zero; + +#[cfg(feature = "try-runtime")] +use sp_runtime::SaturatedConversion; +#[cfg(feature = "try-runtime")] +use sp_std::vec; +#[cfg(feature = "try-runtime")] +use sp_std::vec::Vec; + +// Old delegator type needed for translating storage map +#[derive(Encode, Decode, Eq, MaxEncodedLen, PartialEq, RuntimeDebug, TypeInfo)] +#[scale_info(skip_type_params(MaxCollatorsPerDelegator))] +#[codec(mel_bound(AccountId: MaxEncodedLen, Balance: MaxEncodedLen))] +pub struct DelegatorOld> { + pub delegations: OrderedSet, MaxCollatorsPerDelegator>, + pub total: Balance, +} +parameter_types! { + const MaxCollatorsPerDelegator: u32 = 1; +} +// Old delegator state map required for pre checks +#[storage_alias] +type DelegatorStateOld = StorageMap< + Pallet, + Blake2_128Concat, + ::AccountId, + DelegatorOld<::AccountId, BalanceOf, MaxCollatorsPerDelegator>, +>; + +/// Number of delegators post migration +#[storage_alias] +type CounterForDelegators = StorageValue, u32, ValueQuery>; + +pub struct StakingPayoutRefactor(PhantomData); +impl OnRuntimeUpgrade for StakingPayoutRefactor { + fn on_runtime_upgrade() -> Weight { + let current = Pallet::::current_storage_version(); + let onchain = Pallet::::on_chain_storage_version(); + + log::info!( + "💰 Running migration with current storage version {:?} / onchain {:?}", + current, + onchain + ); + + if current == 8 && onchain == 7 { + let num_delegators = migrate_delegators::(); + log::info!("💰 Migrated {:?} delegator states", num_delegators); + StorageVersion::new(8).put::>(); + T::DbWeight::get().reads_writes(num_delegators, num_delegators) + } else { + log::info!("💰 StakingPayoutRefactor did not execute. This probably should be removed"); + T::DbWeight::get().reads(1) + } + } + + #[cfg(feature = "try-runtime")] + fn pre_upgrade() -> Result, &'static str> { + let current = Pallet::::on_chain_storage_version(); + + assert_eq!( + current, 7, + "ParachainStaking on-chain StorageVersion is {:?} instead of 7", + current + ); + + // sanity check each old entry + for delegator in DelegatorStateOld::::iter_values() { + assert!( + delegator.delegations.is_empty(), + "There exists a delegator without a collator in pre migration!" + ); + assert!( + !delegator.total.is_zero(), + "There exists a delegator without any self stake in pre migration!", + ) + } + log::info!( + "💰 Staking migration pre check: {:?} delegators", + DelegatorStateOld::::iter().count() + ); + + assert!( + CounterForDelegators::::get().is_zero(), + "CounterForDelegators already set." + ); + // store number of delegators before migration to check against in post + // migration + CounterForDelegators::::put(DelegatorState::::iter_keys().count().saturated_into::()); + + Ok(vec![]) + } + + #[cfg(feature = "try-runtime")] + fn post_upgrade(_pre_data: Vec) -> Result<(), &'static str> { + // new version must be set. + let onchain = Pallet::::on_chain_storage_version(); + + assert_eq!( + onchain, 8, + "ParachainStaking StorageVersion post-migration is not 8, but {:?} instead.", + onchain + ); + + let old_num_delegators: u32 = CounterForDelegators::::get(); + let new_num_delegators: u32 = DelegatorState::::iter_keys().count().saturated_into::(); + assert_eq!( + old_num_delegators, new_num_delegators, + "Number of delegators changed during migration! Before {:?} vs. now {:?}", + old_num_delegators, new_num_delegators + ); + log::info!( + "💰 Number of delegators: Before {:?} vs. after {:?}", + old_num_delegators, + new_num_delegators + ); + + // sanity check each new entry + for delegator in DelegatorState::::iter_values() { + assert!( + !delegator.amount.is_zero(), + "There exists a delegator without any self stake in post migration!", + ) + } + + log::info!("💰 Post staking payout refactor upgrade checks match up."); + Ok(()) + } +} + +/// Translate all values from the DelegatorState StorageMap from old to new +fn migrate_delegators() -> u64 { + let mut num_translations = 0; + DelegatorState::::translate_values( + |old: DelegatorOld, MaxCollatorsPerDelegator>| { + num_translations += 1; + + // Should never occur because of pre checks but let's be save + if old.total.is_zero() { + log::debug!("Translating delegator with 0 stake amount") + } + if old.delegations.get(0).is_none() { + log::debug!("Translating delegator without collator") + } + + old.delegations.get(0).map(|stake| Delegator { + amount: old.total, + owner: stake.owner.clone(), + }) + }, + ); + + num_translations +} diff --git a/runtime-api/did/src/lib.rs b/runtime-api/did/src/lib.rs index 0231d618c..1989b3f48 100644 --- a/runtime-api/did/src/lib.rs +++ b/runtime-api/did/src/lib.rs @@ -32,7 +32,6 @@ pub use service_endpoint::*; pub struct DidLinkedInfo< DidIdentifier, AccountId, - LinkableAccountId, Web3Name, Id, Type, @@ -42,7 +41,7 @@ pub struct DidLinkedInfo< BlockNumber: MaxEncodedLen, > { pub identifier: DidIdentifier, - pub accounts: Vec, + pub accounts: Vec, pub w3n: Option, pub service_endpoints: Vec>, pub details: DidDetails, @@ -52,25 +51,14 @@ pub struct DidLinkedInfo< /// /// This will be returned by the runtime and processed by the client side RPC /// implementation. -pub type RawDidLinkedInfo = DidLinkedInfo< - DidIdentifier, - AccountId, - LinkableAccountId, - Vec, - Vec, - Vec, - Vec, - Balance, - Key, - BlockNumber, ->; +pub type RawDidLinkedInfo = + DidLinkedInfo, Vec, Vec, Vec, Balance, Key, BlockNumber>; sp_api::decl_runtime_apis! { - #[api_version(2)] + #[api_version(1)] pub trait Did where DidIdentifier: Codec, AccountId: Codec, - LinkableAccountId: Codec, BlockNumber: Codec + MaxEncodedLen, Key: Codec, Balance: Codec, @@ -81,26 +69,20 @@ sp_api::decl_runtime_apis! { /// * the web3name (optional) /// * associated accounts /// * service endpoints - #[changed_in(2)] - fn query_by_web3_name(name: Vec) -> Option>; - fn query_by_web3_name(name: Vec) -> Option>; + fn query_by_web3_name(name: Vec) -> Option>; /// Given an account address this returns: /// * the DID /// * public keys stored for the did /// * the web3name (optional) /// * associated accounts /// * service endpoints - #[changed_in(2)] - fn query_by_account(account: AccountId) -> Option>; - fn query_by_account(account: LinkableAccountId) -> Option>; + fn query_by_account(account: AccountId) -> Option>; /// Given a did this returns: /// * the DID /// * public keys stored for the did /// * the web3name (optional) /// * associated accounts /// * service endpoints - #[changed_in(2)] - fn query(did: DidIdentifier) -> Option>; - fn query(did: DidIdentifier) -> Option>; + fn query(did: DidIdentifier) -> Option>; } } diff --git a/runtimes/peregrine/src/lib.rs b/runtimes/peregrine/src/lib.rs index df4fd561a..72dcef23b 100644 --- a/runtimes/peregrine/src/lib.rs +++ b/runtimes/peregrine/src/lib.rs @@ -41,7 +41,7 @@ use sp_api::impl_runtime_apis; use sp_core::OpaqueMetadata; use sp_runtime::{ create_runtime_str, generic, impl_opaque_keys, - traits::{AccountIdLookup, BlakeTwo256, Block as BlockT, ConvertInto, OpaqueKeys}, + traits::{AccountIdLookup, BlakeTwo256, Block as BlockT, ConvertInto, OpaqueKeys, Verify}, transaction_validity::{TransactionSource, TransactionValidity}, ApplyExtrinsicResult, Perbill, Permill, RuntimeDebug, }; @@ -51,7 +51,6 @@ use xcm_executor::XcmExecutor; use delegation::DelegationAc; use kilt_support::traits::ItemFilter; -use pallet_did_lookup::linkable_account::LinkableAccountId; pub use parachain_staking::InflationInfo; pub use public_credentials; @@ -165,7 +164,7 @@ parameter_types! { impl pallet_timestamp::Config for Runtime { /// A timestamp: milliseconds since the unix epoch. type Moment = u64; - type OnTimestampSet = (); + type OnTimestampSet = Aura; type MinimumPeriod = MinimumPeriod; type WeightInfo = weights::pallet_timestamp::WeightInfo; } @@ -607,7 +606,8 @@ impl did::Config for Runtime { impl pallet_did_lookup::Config for Runtime { type RuntimeEvent = RuntimeEvent; - + type Signature = Signature; + type Signer = ::Signer; type DidIdentifier = DidIdentifier; type Currency = Balances; @@ -1067,7 +1067,6 @@ pub type Executive = frame_executive::Executive< pallet_preimage::migration::v1::Migration, pallet_scheduler::migration::v3::MigrateToV4, pallet_democracy::migrations::v1::Migration, - pallet_did_lookup::migrations::EthereumMigration, runtime_common::migrations::AddCTypeBlockNumber, // The migration above must be run as last since it checks that all pallets are using the new StorageVersion // properly. @@ -1240,7 +1239,7 @@ impl_runtime_apis! { Block, DidIdentifier, AccountId, - LinkableAccountId, + AccountId, Balance, Hash, BlockNumber @@ -1248,7 +1247,6 @@ impl_runtime_apis! { fn query_by_web3_name(name: Vec) -> Option Option< + fn query_by_account(account: AccountId) -> Option< kilt_runtime_api_did::RawDidLinkedInfo< DidIdentifier, AccountId, - LinkableAccountId, Balance, Hash, BlockNumber @@ -1308,7 +1305,6 @@ impl_runtime_apis! { kilt_runtime_api_did::RawDidLinkedInfo< DidIdentifier, AccountId, - LinkableAccountId, Balance, Hash, BlockNumber diff --git a/runtimes/peregrine/src/tests.rs b/runtimes/peregrine/src/tests.rs index d3972142e..a2a73e405 100644 --- a/runtimes/peregrine/src/tests.rs +++ b/runtimes/peregrine/src/tests.rs @@ -20,7 +20,6 @@ use codec::MaxEncodedLen; use frame_support::{traits::Currency, BoundedVec}; use did::DeriveDidCallAuthorizationVerificationKeyRelationship; -use pallet_did_lookup::associate_account_request::AssociateAccountRequest; use pallet_treasury::BalanceOf; use pallet_web3_names::{Web3NameOf, Web3OwnershipOf}; use runtime_common::{ @@ -160,11 +159,9 @@ fn test_derive_did_key_web3name() { fn test_derive_did_key_lookup() { assert_eq!( RuntimeCall::DidLookup(pallet_did_lookup::Call::associate_account { - req: AssociateAccountRequest::Dotsama( - AccountId::new([1u8; 32]), - sp_runtime::MultiSignature::from(sp_core::ed25519::Signature([0; 64])) - ), + account: AccountId::new([1u8; 32]), expiration: BlockNumber::default(), + proof: sp_runtime::MultiSignature::from(sp_core::ed25519::Signature([0; 64])), }) .derive_verification_key_relationship(), Ok(did::DidVerificationKeyRelationship::Authentication) @@ -172,7 +169,7 @@ fn test_derive_did_key_lookup() { assert_eq!( RuntimeCall::DidLookup(pallet_did_lookup::Call::remove_account_association { - account: AccountId::new([1u8; 32]).into(), + account: AccountId::new([1u8; 32]), }) .derive_verification_key_relationship(), Ok(did::DidVerificationKeyRelationship::Authentication) diff --git a/runtimes/peregrine/src/weights/pallet_did_lookup.rs b/runtimes/peregrine/src/weights/pallet_did_lookup.rs index 2ec1cd525..d77e2be36 100644 --- a/runtimes/peregrine/src/weights/pallet_did_lookup.rs +++ b/runtimes/peregrine/src/weights/pallet_did_lookup.rs @@ -19,7 +19,7 @@ //! Autogenerated weights for pallet_did_lookup //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-10-26, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2022-11-07, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024 // Executed Command: @@ -51,32 +51,8 @@ impl pallet_did_lookup::WeightInfo for WeightInfo { // Storage: System Account (r:1 w:1) // Storage: DidLookup ConnectedDids (r:1 w:1) // Storage: DidLookup ConnectedAccounts (r:0 w:2) - fn associate_account_multisig_sr25519() -> Weight { - Weight::from_ref_time(133_595_000 as u64) - .saturating_add(T::DbWeight::get().reads(2 as u64)) - .saturating_add(T::DbWeight::get().writes(4 as u64)) - } - // Storage: System Account (r:1 w:1) - // Storage: DidLookup ConnectedDids (r:1 w:1) - // Storage: DidLookup ConnectedAccounts (r:0 w:2) - fn associate_account_multisig_ed25519() -> Weight { - Weight::from_ref_time(131_908_000 as u64) - .saturating_add(T::DbWeight::get().reads(2 as u64)) - .saturating_add(T::DbWeight::get().writes(4 as u64)) - } - // Storage: System Account (r:1 w:1) - // Storage: DidLookup ConnectedDids (r:1 w:1) - // Storage: DidLookup ConnectedAccounts (r:0 w:2) - fn associate_account_multisig_ecdsa() -> Weight { - Weight::from_ref_time(120_240_000 as u64) - .saturating_add(T::DbWeight::get().reads(2 as u64)) - .saturating_add(T::DbWeight::get().writes(4 as u64)) - } - // Storage: System Account (r:1 w:1) - // Storage: DidLookup ConnectedDids (r:1 w:1) - // Storage: DidLookup ConnectedAccounts (r:0 w:2) - fn associate_eth_account() -> Weight { - Weight::from_ref_time(122_215_000 as u64) + fn associate_account() -> Weight { + Weight::from_ref_time(134_609_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(4 as u64)) } @@ -84,7 +60,7 @@ impl pallet_did_lookup::WeightInfo for WeightInfo { // Storage: DidLookup ConnectedDids (r:1 w:1) // Storage: DidLookup ConnectedAccounts (r:0 w:2) fn associate_sender() -> Weight { - Weight::from_ref_time(73_743_000 as u64) + Weight::from_ref_time(74_100_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(4 as u64)) } @@ -92,7 +68,7 @@ impl pallet_did_lookup::WeightInfo for WeightInfo { // Storage: System Account (r:1 w:1) // Storage: DidLookup ConnectedAccounts (r:0 w:1) fn remove_sender_association() -> Weight { - Weight::from_ref_time(53_056_000 as u64) + Weight::from_ref_time(53_384_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } @@ -100,21 +76,21 @@ impl pallet_did_lookup::WeightInfo for WeightInfo { // Storage: System Account (r:1 w:1) // Storage: DidLookup ConnectedAccounts (r:0 w:1) fn remove_account_association() -> Weight { - Weight::from_ref_time(55_317_000 as u64) + Weight::from_ref_time(55_181_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } // Storage: DidLookup ConnectedDids (r:1 w:1) // Storage: System Account (r:2 w:2) fn change_deposit_owner() -> Weight { - Weight::from_ref_time(68_416_000 as u64) + Weight::from_ref_time(68_935_000 as u64) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } // Storage: DidLookup ConnectedDids (r:1 w:1) // Storage: System Account (r:1 w:1) fn update_deposit() -> Weight { - Weight::from_ref_time(62_386_000 as u64) + Weight::from_ref_time(63_024_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } diff --git a/runtimes/spiritnet/src/lib.rs b/runtimes/spiritnet/src/lib.rs index 13d3750ee..0013d01b1 100644 --- a/runtimes/spiritnet/src/lib.rs +++ b/runtimes/spiritnet/src/lib.rs @@ -41,7 +41,7 @@ use sp_api::impl_runtime_apis; use sp_core::OpaqueMetadata; use sp_runtime::{ create_runtime_str, generic, impl_opaque_keys, - traits::{AccountIdLookup, BlakeTwo256, Block as BlockT, ConvertInto, OpaqueKeys}, + traits::{AccountIdLookup, BlakeTwo256, Block as BlockT, ConvertInto, OpaqueKeys, Verify}, transaction_validity::{TransactionSource, TransactionValidity}, ApplyExtrinsicResult, Perbill, Permill, RuntimeDebug, }; @@ -51,7 +51,6 @@ use xcm_executor::XcmExecutor; use delegation::DelegationAc; use kilt_support::traits::ItemFilter; -use pallet_did_lookup::linkable_account::LinkableAccountId; pub use parachain_staking::InflationInfo; pub use public_credentials; @@ -165,7 +164,7 @@ parameter_types! { impl pallet_timestamp::Config for Runtime { /// A timestamp: milliseconds since the unix epoch. type Moment = u64; - type OnTimestampSet = (); + type OnTimestampSet = Aura; type MinimumPeriod = MinimumPeriod; type WeightInfo = weights::pallet_timestamp::WeightInfo; } @@ -561,8 +560,6 @@ impl ctype::Config for Runtime { type EnsureOrigin = did::EnsureDidOrigin; type OriginSuccess = did::DidRawOrigin; - // 3/5 of the technical committees can override the block number of one or more - // CTypes. type OverarchingOrigin = EnsureRoot; type RuntimeEvent = RuntimeEvent; @@ -604,7 +601,8 @@ impl did::Config for Runtime { impl pallet_did_lookup::Config for Runtime { type RuntimeEvent = RuntimeEvent; - + type Signature = Signature; + type Signer = ::Signer; type DidIdentifier = DidIdentifier; type Currency = Balances; @@ -1063,7 +1061,6 @@ pub type Executive = frame_executive::Executive< pallet_preimage::migration::v1::Migration, pallet_scheduler::migration::v3::MigrateToV4, pallet_democracy::migrations::v1::Migration, - pallet_did_lookup::migrations::EthereumMigration, runtime_common::migrations::AddCTypeBlockNumber, // The migration above must be run as last since it checks that all pallets are using the new StorageVersion // properly. @@ -1236,7 +1233,7 @@ impl_runtime_apis! { Block, DidIdentifier, AccountId, - LinkableAccountId, + AccountId, Balance, Hash, BlockNumber @@ -1244,7 +1241,6 @@ impl_runtime_apis! { fn query_by_web3_name(name: Vec) -> Option Option< + fn query_by_account(account: AccountId) -> Option< kilt_runtime_api_did::RawDidLinkedInfo< DidIdentifier, AccountId, - LinkableAccountId, Balance, Hash, BlockNumber @@ -1304,7 +1299,6 @@ impl_runtime_apis! { kilt_runtime_api_did::RawDidLinkedInfo< DidIdentifier, AccountId, - LinkableAccountId, Balance, Hash, BlockNumber diff --git a/runtimes/spiritnet/src/tests.rs b/runtimes/spiritnet/src/tests.rs index 3314a9de6..ac7801ac9 100644 --- a/runtimes/spiritnet/src/tests.rs +++ b/runtimes/spiritnet/src/tests.rs @@ -20,7 +20,6 @@ use codec::MaxEncodedLen; use frame_support::{traits::Currency, BoundedVec}; use did::DeriveDidCallAuthorizationVerificationKeyRelationship; -use pallet_did_lookup::associate_account_request::AssociateAccountRequest; use pallet_treasury::BalanceOf; use pallet_web3_names::{Web3NameOf, Web3OwnershipOf}; use runtime_common::{ @@ -160,11 +159,9 @@ fn test_derive_did_key_web3name() { fn test_derive_did_key_lookup() { assert_eq!( RuntimeCall::DidLookup(pallet_did_lookup::Call::associate_account { - req: AssociateAccountRequest::Dotsama( - AccountId::new([1u8; 32]), - sp_runtime::MultiSignature::from(sp_core::ed25519::Signature([0; 64])) - ), + account: AccountId::new([1u8; 32]), expiration: BlockNumber::default(), + proof: sp_runtime::MultiSignature::from(sp_core::ed25519::Signature([0; 64])), }) .derive_verification_key_relationship(), Ok(did::DidVerificationKeyRelationship::Authentication) @@ -172,7 +169,7 @@ fn test_derive_did_key_lookup() { assert_eq!( RuntimeCall::DidLookup(pallet_did_lookup::Call::remove_account_association { - account: AccountId::new([1u8; 32]).into(), + account: AccountId::new([1u8; 32]), }) .derive_verification_key_relationship(), Ok(did::DidVerificationKeyRelationship::Authentication) diff --git a/runtimes/spiritnet/src/weights/pallet_did_lookup.rs b/runtimes/spiritnet/src/weights/pallet_did_lookup.rs index 760abf377..49e5284af 100644 --- a/runtimes/spiritnet/src/weights/pallet_did_lookup.rs +++ b/runtimes/spiritnet/src/weights/pallet_did_lookup.rs @@ -51,32 +51,8 @@ impl pallet_did_lookup::WeightInfo for WeightInfo { // Storage: System Account (r:1 w:1) // Storage: DidLookup ConnectedDids (r:1 w:1) // Storage: DidLookup ConnectedAccounts (r:0 w:2) - fn associate_account_multisig_sr25519() -> Weight { - Weight::from_ref_time(133_866_000 as u64) - .saturating_add(T::DbWeight::get().reads(2 as u64)) - .saturating_add(T::DbWeight::get().writes(4 as u64)) - } - // Storage: System Account (r:1 w:1) - // Storage: DidLookup ConnectedDids (r:1 w:1) - // Storage: DidLookup ConnectedAccounts (r:0 w:2) - fn associate_account_multisig_ed25519() -> Weight { - Weight::from_ref_time(132_369_000 as u64) - .saturating_add(T::DbWeight::get().reads(2 as u64)) - .saturating_add(T::DbWeight::get().writes(4 as u64)) - } - // Storage: System Account (r:1 w:1) - // Storage: DidLookup ConnectedDids (r:1 w:1) - // Storage: DidLookup ConnectedAccounts (r:0 w:2) - fn associate_account_multisig_ecdsa() -> Weight { - Weight::from_ref_time(121_141_000 as u64) - .saturating_add(T::DbWeight::get().reads(2 as u64)) - .saturating_add(T::DbWeight::get().writes(4 as u64)) - } - // Storage: System Account (r:1 w:1) - // Storage: DidLookup ConnectedDids (r:1 w:1) - // Storage: DidLookup ConnectedAccounts (r:0 w:2) - fn associate_eth_account() -> Weight { - Weight::from_ref_time(122_417_000 as u64) + fn associate_account() -> Weight { + Weight::from_ref_time(131_772_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(4 as u64)) } diff --git a/runtimes/standalone/src/lib.rs b/runtimes/standalone/src/lib.rs index 64a3123a7..597ef943c 100644 --- a/runtimes/standalone/src/lib.rs +++ b/runtimes/standalone/src/lib.rs @@ -46,7 +46,7 @@ use sp_consensus_aura::{ed25519::AuthorityId as AuraId, SlotDuration}; use sp_core::{crypto::KeyTypeId, OpaqueMetadata}; use sp_runtime::{ create_runtime_str, generic, impl_opaque_keys, - traits::{AccountIdLookup, BlakeTwo256, Block as BlockT, NumberFor, OpaqueKeys}, + traits::{AccountIdLookup, BlakeTwo256, Block as BlockT, NumberFor, OpaqueKeys, Verify}, transaction_validity::{TransactionSource, TransactionValidity}, ApplyExtrinsicResult, RuntimeDebug, }; @@ -55,7 +55,6 @@ use sp_version::RuntimeVersion; use delegation::DelegationAc; use kilt_support::traits::ItemFilter; -use pallet_did_lookup::linkable_account::LinkableAccountId; use runtime_common::{ assets::{AssetDid, PublicCredentialsFilter}, authorization::{AuthorizationId, PalletAuthorize}, @@ -417,7 +416,8 @@ impl did::Config for Runtime { impl pallet_did_lookup::Config for Runtime { type RuntimeEvent = RuntimeEvent; - + type Signature = Signature; + type Signer = ::Signer; type DidIdentifier = DidIdentifier; type Currency = Balances; @@ -961,7 +961,7 @@ impl_runtime_apis! { Block, DidIdentifier, AccountId, - LinkableAccountId, + AccountId, Balance, Hash, BlockNumber @@ -969,7 +969,6 @@ impl_runtime_apis! { fn query_by_web3_name(name: Vec) -> Option::get(&owner_info.owner).map(|details| (owner_info, details)) }) .map(|(owner_info, details)| { - let accounts = pallet_did_lookup::ConnectedAccounts::::iter_key_prefix( - &owner_info.owner, - ).collect(); + let accounts = pallet_did_lookup::ConnectedAccounts::::iter_key_prefix(&owner_info.owner).collect(); let service_endpoints = did::ServiceEndpoints::::iter_prefix(&owner_info.owner).map(|e| From::from(e.1)).collect(); kilt_runtime_api_did::RawDidLinkedInfo{ @@ -996,11 +993,10 @@ impl_runtime_apis! { }) } - fn query_by_account(account: LinkableAccountId) -> Option< + fn query_by_account(account: AccountId) -> Option< kilt_runtime_api_did::RawDidLinkedInfo< DidIdentifier, AccountId, - LinkableAccountId, Balance, Hash, BlockNumber @@ -1029,7 +1025,6 @@ impl_runtime_apis! { kilt_runtime_api_did::RawDidLinkedInfo< DidIdentifier, AccountId, - LinkableAccountId, Balance, Hash, BlockNumber From 0f39ffe1ba6824516485cf955f32e9d766c420c0 Mon Sep 17 00:00:00 2001 From: Antonio Antonino Date: Wed, 1 Feb 2023 11:04:44 +0100 Subject: [PATCH 35/38] chore: bump crates version to 1.9.0 and specs version to 1.8.9 (10890) --- Cargo.lock | 40 +++++++++++++++++----------------- Cargo.toml | 2 +- runtimes/peregrine/src/lib.rs | 2 +- runtimes/spiritnet/src/lib.rs | 2 +- runtimes/standalone/src/lib.rs | 2 +- 5 files changed, 24 insertions(+), 24 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 475bea620..c57132a33 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -362,7 +362,7 @@ checksum = "debc29dde2e69f9e47506b525f639ed42300fc014a3e007832592448fa8e4599" [[package]] name = "attestation" -version = "1.9.0-dev" +version = "1.9.0" dependencies = [ "ctype", "frame-benchmarking", @@ -1330,7 +1330,7 @@ dependencies = [ [[package]] name = "ctype" -version = "1.9.0-dev" +version = "1.9.0" dependencies = [ "frame-benchmarking", "frame-support", @@ -1974,7 +1974,7 @@ dependencies = [ [[package]] name = "delegation" -version = "1.9.0-dev" +version = "1.9.0" dependencies = [ "attestation", "bitflags", @@ -2092,7 +2092,7 @@ dependencies = [ [[package]] name = "did" -version = "1.9.0-dev" +version = "1.9.0" dependencies = [ "ctype", "env_logger 0.10.0", @@ -3818,7 +3818,7 @@ dependencies = [ [[package]] name = "kilt-asset-dids" -version = "1.9.0-dev" +version = "1.9.0" dependencies = [ "base58", "frame-support", @@ -3833,7 +3833,7 @@ dependencies = [ [[package]] name = "kilt-parachain" -version = "1.9.0-dev" +version = "1.9.0" dependencies = [ "clap", "cumulus-client-cli", @@ -3898,7 +3898,7 @@ dependencies = [ [[package]] name = "kilt-runtime-api-did" -version = "1.9.0-dev" +version = "1.9.0" dependencies = [ "did", "kilt-support", @@ -3910,7 +3910,7 @@ dependencies = [ [[package]] name = "kilt-runtime-api-public-credentials" -version = "1.9.0-dev" +version = "1.9.0" dependencies = [ "kilt-support", "parity-scale-codec", @@ -3920,7 +3920,7 @@ dependencies = [ [[package]] name = "kilt-runtime-api-staking" -version = "1.9.0-dev" +version = "1.9.0" dependencies = [ "parity-scale-codec", "scale-info", @@ -3930,7 +3930,7 @@ dependencies = [ [[package]] name = "kilt-support" -version = "1.9.0-dev" +version = "1.9.0" dependencies = [ "frame-support", "frame-system", @@ -4719,7 +4719,7 @@ dependencies = [ [[package]] name = "mashnet-node" -version = "1.9.0-dev" +version = "1.9.0" dependencies = [ "clap", "frame-benchmarking", @@ -4764,7 +4764,7 @@ dependencies = [ [[package]] name = "mashnet-node-runtime" -version = "1.9.0-dev" +version = "1.9.0" dependencies = [ "attestation", "ctype", @@ -5698,7 +5698,7 @@ dependencies = [ [[package]] name = "pallet-did-lookup" -version = "1.9.0-dev" +version = "1.9.0" dependencies = [ "frame-benchmarking", "frame-support", @@ -5868,7 +5868,7 @@ dependencies = [ [[package]] name = "pallet-inflation" -version = "1.9.0-dev" +version = "1.9.0" dependencies = [ "frame-benchmarking", "frame-support", @@ -6406,7 +6406,7 @@ dependencies = [ [[package]] name = "pallet-web3-names" -version = "1.9.0-dev" +version = "1.9.0" dependencies = [ "frame-benchmarking", "frame-support", @@ -6486,7 +6486,7 @@ dependencies = [ [[package]] name = "parachain-staking" -version = "1.9.0-dev" +version = "1.9.0" dependencies = [ "frame-benchmarking", "frame-support", @@ -6677,7 +6677,7 @@ checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e" [[package]] name = "peregrine-runtime" -version = "1.9.0-dev" +version = "1.9.0" dependencies = [ "attestation", "ctype", @@ -8286,7 +8286,7 @@ dependencies = [ [[package]] name = "public-credentials" -version = "1.9.0-dev" +version = "1.9.0" dependencies = [ "ctype", "frame-benchmarking", @@ -8805,7 +8805,7 @@ dependencies = [ [[package]] name = "runtime-common" -version = "1.9.0-dev" +version = "1.9.0" dependencies = [ "attestation", "ctype", @@ -11191,7 +11191,7 @@ checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" [[package]] name = "spiritnet-runtime" -version = "1.9.0-dev" +version = "1.9.0" dependencies = [ "attestation", "ctype", diff --git a/Cargo.toml b/Cargo.toml index 3fb0bc4c0..ed1d8efd2 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -19,7 +19,7 @@ homepage = "https://kilt.io/" license-file = "LICENSE" readme = "README.md" repository = "https://github.com/KILTprotocol/kilt-node" -version = "1.9.0-dev" +version = "1.9.0" [workspace.dependencies] # Build deps diff --git a/runtimes/peregrine/src/lib.rs b/runtimes/peregrine/src/lib.rs index 72dcef23b..699683a8c 100644 --- a/runtimes/peregrine/src/lib.rs +++ b/runtimes/peregrine/src/lib.rs @@ -92,7 +92,7 @@ pub const VERSION: RuntimeVersion = RuntimeVersion { spec_name: create_runtime_str!("mashnet-node"), impl_name: create_runtime_str!("mashnet-node"), authoring_version: 4, - spec_version: 10900, + spec_version: 10890, impl_version: 0, apis: RUNTIME_API_VERSIONS, transaction_version: 5, diff --git a/runtimes/spiritnet/src/lib.rs b/runtimes/spiritnet/src/lib.rs index 0013d01b1..723d27756 100644 --- a/runtimes/spiritnet/src/lib.rs +++ b/runtimes/spiritnet/src/lib.rs @@ -92,7 +92,7 @@ pub const VERSION: RuntimeVersion = RuntimeVersion { spec_name: create_runtime_str!("kilt-spiritnet"), impl_name: create_runtime_str!("kilt-spiritnet"), authoring_version: 1, - spec_version: 10900, + spec_version: 10890, impl_version: 0, apis: RUNTIME_API_VERSIONS, transaction_version: 4, diff --git a/runtimes/standalone/src/lib.rs b/runtimes/standalone/src/lib.rs index 597ef943c..75d8f6f91 100644 --- a/runtimes/standalone/src/lib.rs +++ b/runtimes/standalone/src/lib.rs @@ -122,7 +122,7 @@ pub const VERSION: RuntimeVersion = RuntimeVersion { spec_name: create_runtime_str!("mashnet-node"), impl_name: create_runtime_str!("mashnet-node"), authoring_version: 4, - spec_version: 10900, + spec_version: 10890, impl_version: 0, apis: RUNTIME_API_VERSIONS, transaction_version: 4, From 5ea142ee8bec74650baa9e3a1a15e33c15542354 Mon Sep 17 00:00:00 2001 From: Antonio Antonino Date: Wed, 1 Feb 2023 15:14:07 +0100 Subject: [PATCH 36/38] Add missed migrations --- runtimes/peregrine/src/lib.rs | 4 ++++ runtimes/spiritnet/src/lib.rs | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/runtimes/peregrine/src/lib.rs b/runtimes/peregrine/src/lib.rs index 699683a8c..5f03c3f97 100644 --- a/runtimes/peregrine/src/lib.rs +++ b/runtimes/peregrine/src/lib.rs @@ -1067,6 +1067,10 @@ pub type Executive = frame_executive::Executive< pallet_preimage::migration::v1::Migration, pallet_scheduler::migration::v3::MigrateToV4, pallet_democracy::migrations::v1::Migration, + // "Scheduler: remove empty agenda on cancel" https://github.com/paritytech/substrate/pull/12989 + pallet_scheduler::migration::v4::CleanupAgendas, + // NOT INCLUDED: "API for registering inactive funds" https://github.com/paritytech/substrate/pull/12813 + // pallet_balances::migration::MigrateToTrackInactive<...> runtime_common::migrations::AddCTypeBlockNumber, // The migration above must be run as last since it checks that all pallets are using the new StorageVersion // properly. diff --git a/runtimes/spiritnet/src/lib.rs b/runtimes/spiritnet/src/lib.rs index 723d27756..c612f4cad 100644 --- a/runtimes/spiritnet/src/lib.rs +++ b/runtimes/spiritnet/src/lib.rs @@ -1061,6 +1061,10 @@ pub type Executive = frame_executive::Executive< pallet_preimage::migration::v1::Migration, pallet_scheduler::migration::v3::MigrateToV4, pallet_democracy::migrations::v1::Migration, + // "Scheduler: remove empty agenda on cancel" https://github.com/paritytech/substrate/pull/12989 + pallet_scheduler::migration::v4::CleanupAgendas, + // NOT INCLUDED: "API for registering inactive funds" https://github.com/paritytech/substrate/pull/12813 + // pallet_balances::migration::MigrateToTrackInactive<...> runtime_common::migrations::AddCTypeBlockNumber, // The migration above must be run as last since it checks that all pallets are using the new StorageVersion // properly. From c1fd8403f99652d60f5adbd6f2b4df9b2bcdfc82 Mon Sep 17 00:00:00 2001 From: Antonio Antonino Date: Wed, 1 Feb 2023 15:35:05 +0100 Subject: [PATCH 37/38] Add balances pallet migration with no accounts --- runtimes/common/src/migrations.rs | 13 +++++++++++-- runtimes/peregrine/src/lib.rs | 8 ++++++-- runtimes/spiritnet/src/lib.rs | 8 ++++++-- 3 files changed, 23 insertions(+), 6 deletions(-) diff --git a/runtimes/common/src/migrations.rs b/runtimes/common/src/migrations.rs index 413e3e822..8e791e07c 100644 --- a/runtimes/common/src/migrations.rs +++ b/runtimes/common/src/migrations.rs @@ -22,8 +22,9 @@ use sp_std::marker::PhantomData; use ctype::{CtypeCreatorOf, CtypeEntryOf}; -#[cfg(feature = "try-runtime")] -use sp_std::vec::Vec; +use sp_std::{vec, vec::Vec}; + +use crate::AccountId; pub struct AddCTypeBlockNumber(PhantomData); @@ -289,3 +290,11 @@ where Self::migrate() } } + +// Used for the balances pallet migration. +pub struct EmptyAccountlist; +impl Get> for EmptyAccountlist { + fn get() -> Vec { + vec![] + } +} diff --git a/runtimes/peregrine/src/lib.rs b/runtimes/peregrine/src/lib.rs index 5f03c3f97..e789a33b5 100644 --- a/runtimes/peregrine/src/lib.rs +++ b/runtimes/peregrine/src/lib.rs @@ -60,6 +60,7 @@ use runtime_common::{ constants::{self, UnvestedFundsAllowedWithdrawReasons, EXISTENTIAL_DEPOSIT, KILT}, errors::PublicCredentialsApiError, fees::{ToAuthor, WeightToFee}, + migrations::EmptyAccountlist, pallet_id, AccountId, AuthorityId, Balance, BlockHashCount, BlockLength, BlockNumber, BlockWeights, DidIdentifier, FeeSplit, Hash, Header, Index, Signature, SlowAdjustingFeeUpdate, }; @@ -1069,8 +1070,11 @@ pub type Executive = frame_executive::Executive< pallet_democracy::migrations::v1::Migration, // "Scheduler: remove empty agenda on cancel" https://github.com/paritytech/substrate/pull/12989 pallet_scheduler::migration::v4::CleanupAgendas, - // NOT INCLUDED: "API for registering inactive funds" https://github.com/paritytech/substrate/pull/12813 - // pallet_balances::migration::MigrateToTrackInactive<...> + // "API for registering inactive funds" https://github.com/paritytech/substrate/pull/12813 + // We don't consider any account beyond the treasury (done automatically by the treasury) as having funds + // deactivated. + // TODO: Consider to mark the pure proxy funds as deactivated in the next release. + pallet_balances::migration::MigrateManyToTrackInactive, runtime_common::migrations::AddCTypeBlockNumber, // The migration above must be run as last since it checks that all pallets are using the new StorageVersion // properly. diff --git a/runtimes/spiritnet/src/lib.rs b/runtimes/spiritnet/src/lib.rs index c612f4cad..18bb5097b 100644 --- a/runtimes/spiritnet/src/lib.rs +++ b/runtimes/spiritnet/src/lib.rs @@ -60,6 +60,7 @@ use runtime_common::{ constants::{self, UnvestedFundsAllowedWithdrawReasons, EXISTENTIAL_DEPOSIT, KILT}, errors::PublicCredentialsApiError, fees::{ToAuthor, WeightToFee}, + migrations::EmptyAccountlist, pallet_id, AccountId, AuthorityId, Balance, BlockHashCount, BlockLength, BlockNumber, BlockWeights, DidIdentifier, FeeSplit, Hash, Header, Index, Signature, SlowAdjustingFeeUpdate, }; @@ -1063,8 +1064,11 @@ pub type Executive = frame_executive::Executive< pallet_democracy::migrations::v1::Migration, // "Scheduler: remove empty agenda on cancel" https://github.com/paritytech/substrate/pull/12989 pallet_scheduler::migration::v4::CleanupAgendas, - // NOT INCLUDED: "API for registering inactive funds" https://github.com/paritytech/substrate/pull/12813 - // pallet_balances::migration::MigrateToTrackInactive<...> + // "API for registering inactive funds" https://github.com/paritytech/substrate/pull/12813 + // We don't consider any account beyond the treasury (done automatically by the treasury) as having funds + // deactivated. + // TODO: Consider to mark the pure proxy funds as deactivated in the next release. + pallet_balances::migration::MigrateManyToTrackInactive, runtime_common::migrations::AddCTypeBlockNumber, // The migration above must be run as last since it checks that all pallets are using the new StorageVersion // properly. From 82308cea5c80285c24dbee8bdcd8a535fd900cb6 Mon Sep 17 00:00:00 2001 From: command-bot <> Date: Thu, 2 Feb 2023 15:07:18 +0000 Subject: [PATCH 38/38] Benchmarks --- pallets/attestation/src/default_weights.rs | 26 +- pallets/ctype/src/default_weights.rs | 14 +- pallets/delegation/src/default_weights.rs | 110 ++--- pallets/did/src/default_weights.rs | 222 +++++----- .../pallet-did-lookup/src/default_weights.rs | 26 +- .../pallet-inflation/src/default_weights.rs | 10 +- .../pallet-web3-names/src/default_weights.rs | 62 ++- .../parachain-staking/src/default_weights.rs | 388 +++++++++--------- .../public-credentials/src/default_weights.rs | 38 +- runtimes/peregrine/src/weights/attestation.rs | 14 +- runtimes/peregrine/src/weights/ctype.rs | 8 +- runtimes/peregrine/src/weights/delegation.rs | 56 +-- runtimes/peregrine/src/weights/did.rs | 112 ++--- .../peregrine/src/weights/frame_system.rs | 32 +- .../peregrine/src/weights/pallet_balances.rs | 16 +- .../src/weights/pallet_collective.rs | 180 ++++---- .../peregrine/src/weights/pallet_democracy.rs | 122 ++---- .../src/weights/pallet_did_lookup.rs | 14 +- .../peregrine/src/weights/pallet_indices.rs | 12 +- .../peregrine/src/weights/pallet_inflation.rs | 6 +- .../src/weights/pallet_membership.rs | 44 +- .../peregrine/src/weights/pallet_preimage.rs | 59 ++- .../peregrine/src/weights/pallet_proxy.rs | 102 ++--- .../peregrine/src/weights/pallet_scheduler.rs | 66 ++- .../peregrine/src/weights/pallet_session.rs | 6 +- .../peregrine/src/weights/pallet_timestamp.rs | 9 +- runtimes/peregrine/src/weights/pallet_tips.rs | 38 +- .../peregrine/src/weights/pallet_treasury.rs | 28 +- .../peregrine/src/weights/pallet_utility.rs | 24 +- .../peregrine/src/weights/pallet_vesting.rs | 82 ++-- .../src/weights/pallet_web3_names.rs | 32 +- .../src/weights/parachain_staking.rs | 195 ++++----- .../src/weights/public_credentials.rs | 20 +- runtimes/spiritnet/src/weights/attestation.rs | 14 +- runtimes/spiritnet/src/weights/ctype.rs | 10 +- runtimes/spiritnet/src/weights/delegation.rs | 56 +-- runtimes/spiritnet/src/weights/did.rs | 114 ++--- .../spiritnet/src/weights/frame_system.rs | 34 +- .../spiritnet/src/weights/pallet_balances.rs | 16 +- .../src/weights/pallet_collective.rs | 108 +++-- .../spiritnet/src/weights/pallet_democracy.rs | 122 +++--- .../src/weights/pallet_did_lookup.rs | 14 +- .../spiritnet/src/weights/pallet_indices.rs | 12 +- .../spiritnet/src/weights/pallet_inflation.rs | 6 +- .../src/weights/pallet_membership.rs | 44 +- .../spiritnet/src/weights/pallet_preimage.rs | 57 ++- .../spiritnet/src/weights/pallet_proxy.rs | 102 ++--- .../spiritnet/src/weights/pallet_scheduler.rs | 68 ++- .../spiritnet/src/weights/pallet_session.rs | 6 +- .../spiritnet/src/weights/pallet_timestamp.rs | 9 +- runtimes/spiritnet/src/weights/pallet_tips.rs | 38 +- .../spiritnet/src/weights/pallet_treasury.rs | 28 +- .../spiritnet/src/weights/pallet_utility.rs | 24 +- .../spiritnet/src/weights/pallet_vesting.rs | 82 ++-- .../src/weights/pallet_web3_names.rs | 32 +- .../src/weights/parachain_staking.rs | 195 ++++----- .../src/weights/public_credentials.rs | 30 +- 57 files changed, 1616 insertions(+), 1778 deletions(-) diff --git a/pallets/attestation/src/default_weights.rs b/pallets/attestation/src/default_weights.rs index 715e51cae..d10c548f7 100644 --- a/pallets/attestation/src/default_weights.rs +++ b/pallets/attestation/src/default_weights.rs @@ -19,7 +19,7 @@ //! Autogenerated weights for attestation //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-11-07, STEPS: {{cmd.steps}}\, REPEAT: {{cmd.repeat}}\, LOW RANGE: {{cmd.lowest_range_values}}\, HIGH RANGE: {{cmd.highest_range_values}}\ +//! DATE: 2023-02-01, STEPS: {{cmd.steps}}\, REPEAT: {{cmd.repeat}}\, LOW RANGE: {{cmd.lowest_range_values}}\, HIGH RANGE: {{cmd.highest_range_values}}\ //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024 // Executed Command: @@ -62,41 +62,41 @@ impl WeightInfo for SubstrateWeight { // Storage: Attestation Attestations (r:1 w:1) // Storage: System Account (r:1 w:1) fn add() -> Weight { - Weight::from_ref_time(54_325_000 as u64) + Weight::from_ref_time(54_780_000 as u64) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Attestation Attestations (r:1 w:1) fn revoke() -> Weight { - Weight::from_ref_time(33_435_000 as u64) + Weight::from_ref_time(32_733_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Attestation Attestations (r:1 w:1) // Storage: System Account (r:1 w:1) fn remove() -> Weight { - Weight::from_ref_time(51_293_000 as u64) + Weight::from_ref_time(106_759_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Attestation Attestations (r:1 w:1) // Storage: System Account (r:1 w:1) fn reclaim_deposit() -> Weight { - Weight::from_ref_time(51_952_000 as u64) + Weight::from_ref_time(115_795_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Attestation Attestations (r:1 w:1) // Storage: System Account (r:2 w:2) fn change_deposit_owner() -> Weight { - Weight::from_ref_time(67_531_000 as u64) + Weight::from_ref_time(78_288_000 as u64) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } // Storage: Attestation Attestations (r:1 w:1) // Storage: System Account (r:1 w:1) fn update_deposit() -> Weight { - Weight::from_ref_time(61_904_000 as u64) + Weight::from_ref_time(163_101_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } @@ -108,41 +108,41 @@ impl WeightInfo for () { // Storage: Attestation Attestations (r:1 w:1) // Storage: System Account (r:1 w:1) fn add() -> Weight { - Weight::from_ref_time(54_325_000 as u64) + Weight::from_ref_time(54_780_000 as u64) .saturating_add(RocksDbWeight::get().reads(3 as u64)) .saturating_add(RocksDbWeight::get().writes(2 as u64)) } // Storage: Attestation Attestations (r:1 w:1) fn revoke() -> Weight { - Weight::from_ref_time(33_435_000 as u64) + Weight::from_ref_time(32_733_000 as u64) .saturating_add(RocksDbWeight::get().reads(1 as u64)) .saturating_add(RocksDbWeight::get().writes(1 as u64)) } // Storage: Attestation Attestations (r:1 w:1) // Storage: System Account (r:1 w:1) fn remove() -> Weight { - Weight::from_ref_time(51_293_000 as u64) + Weight::from_ref_time(106_759_000 as u64) .saturating_add(RocksDbWeight::get().reads(2 as u64)) .saturating_add(RocksDbWeight::get().writes(2 as u64)) } // Storage: Attestation Attestations (r:1 w:1) // Storage: System Account (r:1 w:1) fn reclaim_deposit() -> Weight { - Weight::from_ref_time(51_952_000 as u64) + Weight::from_ref_time(115_795_000 as u64) .saturating_add(RocksDbWeight::get().reads(2 as u64)) .saturating_add(RocksDbWeight::get().writes(2 as u64)) } // Storage: Attestation Attestations (r:1 w:1) // Storage: System Account (r:2 w:2) fn change_deposit_owner() -> Weight { - Weight::from_ref_time(67_531_000 as u64) + Weight::from_ref_time(78_288_000 as u64) .saturating_add(RocksDbWeight::get().reads(3 as u64)) .saturating_add(RocksDbWeight::get().writes(3 as u64)) } // Storage: Attestation Attestations (r:1 w:1) // Storage: System Account (r:1 w:1) fn update_deposit() -> Weight { - Weight::from_ref_time(61_904_000 as u64) + Weight::from_ref_time(163_101_000 as u64) .saturating_add(RocksDbWeight::get().reads(2 as u64)) .saturating_add(RocksDbWeight::get().writes(2 as u64)) } diff --git a/pallets/ctype/src/default_weights.rs b/pallets/ctype/src/default_weights.rs index 9e2905c44..8256f8dc5 100644 --- a/pallets/ctype/src/default_weights.rs +++ b/pallets/ctype/src/default_weights.rs @@ -19,7 +19,7 @@ //! Autogenerated weights for ctype //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-11-30, STEPS: {{cmd.steps}}\, REPEAT: {{cmd.repeat}}\, LOW RANGE: {{cmd.lowest_range_values}}\, HIGH RANGE: {{cmd.highest_range_values}}\ +//! DATE: 2023-02-01, STEPS: {{cmd.steps}}\, REPEAT: {{cmd.repeat}}\, LOW RANGE: {{cmd.lowest_range_values}}\, HIGH RANGE: {{cmd.highest_range_values}}\ //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024 // Executed Command: @@ -58,15 +58,15 @@ impl WeightInfo for SubstrateWeight { // Storage: Ctype Ctypes (r:1 w:1) /// The range of component `l` is `[1, 5242880]`. fn add(l: u32, ) -> Weight { - Weight::from_ref_time(10_200_000 as u64) + Weight::from_ref_time(33_628_268 as u64) // Standard Error: 0 - .saturating_add(Weight::from_ref_time(2_000 as u64).saturating_mul(l as u64)) + .saturating_add(Weight::from_ref_time(1_946 as u64).saturating_mul(l as u64)) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } // Storage: Ctype Ctypes (r:1 w:1) fn set_block_number() -> Weight { - Weight::from_ref_time(20_685_000 as u64) + Weight::from_ref_time(33_846_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } @@ -78,15 +78,15 @@ impl WeightInfo for () { // Storage: Ctype Ctypes (r:1 w:1) /// The range of component `l` is `[1, 5242880]`. fn add(l: u32, ) -> Weight { - Weight::from_ref_time(10_200_000 as u64) + Weight::from_ref_time(33_628_268 as u64) // Standard Error: 0 - .saturating_add(Weight::from_ref_time(2_000 as u64).saturating_mul(l as u64)) + .saturating_add(Weight::from_ref_time(1_946 as u64).saturating_mul(l as u64)) .saturating_add(RocksDbWeight::get().reads(3 as u64)) .saturating_add(RocksDbWeight::get().writes(3 as u64)) } // Storage: Ctype Ctypes (r:1 w:1) fn set_block_number() -> Weight { - Weight::from_ref_time(20_685_000 as u64) + Weight::from_ref_time(33_846_000 as u64) .saturating_add(RocksDbWeight::get().reads(1 as u64)) .saturating_add(RocksDbWeight::get().writes(1 as u64)) } diff --git a/pallets/delegation/src/default_weights.rs b/pallets/delegation/src/default_weights.rs index 7d021c3cb..d944ced55 100644 --- a/pallets/delegation/src/default_weights.rs +++ b/pallets/delegation/src/default_weights.rs @@ -19,7 +19,7 @@ //! Autogenerated weights for delegation //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-11-07, STEPS: {{cmd.steps}}\, REPEAT: {{cmd.repeat}}\, LOW RANGE: {{cmd.lowest_range_values}}\, HIGH RANGE: {{cmd.highest_range_values}}\ +//! DATE: 2023-02-01, STEPS: {{cmd.steps}}\, REPEAT: {{cmd.repeat}}\, LOW RANGE: {{cmd.lowest_range_values}}\, HIGH RANGE: {{cmd.highest_range_values}}\ //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024 // Executed Command: @@ -68,14 +68,14 @@ impl WeightInfo for SubstrateWeight { // Storage: System Account (r:1 w:1) // Storage: Delegation DelegationNodes (r:0 w:1) fn create_hierarchy() -> Weight { - Weight::from_ref_time(57_306_000 as u64) + Weight::from_ref_time(57_165_000 as u64) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } // Storage: Delegation DelegationNodes (r:2 w:2) // Storage: System Account (r:1 w:1) fn add_delegation() -> Weight { - Weight::from_ref_time(62_800_000 as u64) + Weight::from_ref_time(59_194_000 as u64) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } @@ -84,11 +84,11 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[1, 5]`. /// The range of component `c` is `[1, 5]`. fn revoke_delegation_root_child(r: u32, c: u32, ) -> Weight { - Weight::from_ref_time(32_902_000 as u64) - // Standard Error: 38_000 - .saturating_add(Weight::from_ref_time(13_890_000 as u64).saturating_mul(r as u64)) - // Standard Error: 38_000 - .saturating_add(Weight::from_ref_time(399_000 as u64).saturating_mul(c as u64)) + Weight::from_ref_time(30_362_556 as u64) + // Standard Error: 31_911 + .saturating_add(Weight::from_ref_time(13_672_561 as u64).saturating_mul(r as u64)) + // Standard Error: 31_911 + .saturating_add(Weight::from_ref_time(376_731 as u64).saturating_mul(c as u64)) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(r as u64))) .saturating_add(T::DbWeight::get().writes((1 as u64).saturating_mul(r as u64))) @@ -97,10 +97,12 @@ impl WeightInfo for SubstrateWeight { // Storage: Delegation DelegationHierarchies (r:1 w:0) /// The range of component `r` is `[1, 5]`. /// The range of component `c` is `[1, 5]`. - fn revoke_delegation_leaf(_r: u32, c: u32, ) -> Weight { - Weight::from_ref_time(48_305_000 as u64) - // Standard Error: 7_000 - .saturating_add(Weight::from_ref_time(4_062_000 as u64).saturating_mul(c as u64)) + fn revoke_delegation_leaf(r: u32, c: u32, ) -> Weight { + Weight::from_ref_time(45_294_416 as u64) + // Standard Error: 8_393 + .saturating_add(Weight::from_ref_time(52_151 as u64).saturating_mul(r as u64)) + // Standard Error: 8_393 + .saturating_add(Weight::from_ref_time(3_859_294 as u64).saturating_mul(c as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(c as u64))) .saturating_add(T::DbWeight::get().writes(1 as u64)) @@ -110,9 +112,9 @@ impl WeightInfo for SubstrateWeight { // Storage: Delegation DelegationHierarchies (r:1 w:1) /// The range of component `r` is `[1, 5]`. fn remove_delegation(r: u32, ) -> Weight { - Weight::from_ref_time(68_555_000 as u64) - // Standard Error: 20_000 - .saturating_add(Weight::from_ref_time(24_147_000 as u64).saturating_mul(r as u64)) + Weight::from_ref_time(66_501_212 as u64) + // Standard Error: 22_866 + .saturating_add(Weight::from_ref_time(24_301_511 as u64).saturating_mul(r as u64)) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(r as u64))) .saturating_add(T::DbWeight::get().writes(3 as u64)) @@ -123,9 +125,9 @@ impl WeightInfo for SubstrateWeight { // Storage: Delegation DelegationHierarchies (r:0 w:1) /// The range of component `r` is `[1, 5]`. fn reclaim_deposit(r: u32, ) -> Weight { - Weight::from_ref_time(61_377_000 as u64) - // Standard Error: 19_000 - .saturating_add(Weight::from_ref_time(24_028_000 as u64).saturating_mul(r as u64)) + Weight::from_ref_time(59_266_691 as u64) + // Standard Error: 22_483 + .saturating_add(Weight::from_ref_time(24_188_686 as u64).saturating_mul(r as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(r as u64))) .saturating_add(T::DbWeight::get().writes(3 as u64)) @@ -134,38 +136,38 @@ impl WeightInfo for SubstrateWeight { // Storage: Delegation DelegationNodes (r:1 w:0) // Storage: Delegation DelegationHierarchies (r:1 w:0) fn can_attest() -> Weight { - Weight::from_ref_time(18_398_000 as u64) + Weight::from_ref_time(16_560_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) } // Storage: Delegation DelegationNodes (r:2 w:0) /// The range of component `c` is `[1, 5]`. fn can_revoke(c: u32, ) -> Weight { - Weight::from_ref_time(13_088_000 as u64) - // Standard Error: 8_000 - .saturating_add(Weight::from_ref_time(4_399_000 as u64).saturating_mul(c as u64)) + Weight::from_ref_time(11_488_563 as u64) + // Standard Error: 9_838 + .saturating_add(Weight::from_ref_time(4_191_391 as u64).saturating_mul(c as u64)) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(c as u64))) } // Storage: Delegation DelegationNodes (r:2 w:0) /// The range of component `c` is `[1, 5]`. fn can_remove(c: u32, ) -> Weight { - Weight::from_ref_time(13_085_000 as u64) - // Standard Error: 7_000 - .saturating_add(Weight::from_ref_time(4_401_000 as u64).saturating_mul(c as u64)) + Weight::from_ref_time(11_493_181 as u64) + // Standard Error: 9_161 + .saturating_add(Weight::from_ref_time(4_183_081 as u64).saturating_mul(c as u64)) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(c as u64))) } // Storage: Delegation DelegationNodes (r:1 w:1) // Storage: System Account (r:2 w:2) fn change_deposit_owner() -> Weight { - Weight::from_ref_time(69_043_000 as u64) + Weight::from_ref_time(67_915_000 as u64) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } // Storage: Delegation DelegationNodes (r:1 w:1) // Storage: System Account (r:1 w:1) fn update_deposit() -> Weight { - Weight::from_ref_time(64_426_000 as u64) + Weight::from_ref_time(62_926_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } @@ -178,14 +180,14 @@ impl WeightInfo for () { // Storage: System Account (r:1 w:1) // Storage: Delegation DelegationNodes (r:0 w:1) fn create_hierarchy() -> Weight { - Weight::from_ref_time(57_306_000 as u64) + Weight::from_ref_time(57_165_000 as u64) .saturating_add(RocksDbWeight::get().reads(3 as u64)) .saturating_add(RocksDbWeight::get().writes(3 as u64)) } // Storage: Delegation DelegationNodes (r:2 w:2) // Storage: System Account (r:1 w:1) fn add_delegation() -> Weight { - Weight::from_ref_time(62_800_000 as u64) + Weight::from_ref_time(59_194_000 as u64) .saturating_add(RocksDbWeight::get().reads(3 as u64)) .saturating_add(RocksDbWeight::get().writes(3 as u64)) } @@ -194,11 +196,11 @@ impl WeightInfo for () { /// The range of component `r` is `[1, 5]`. /// The range of component `c` is `[1, 5]`. fn revoke_delegation_root_child(r: u32, c: u32, ) -> Weight { - Weight::from_ref_time(32_902_000 as u64) - // Standard Error: 38_000 - .saturating_add(Weight::from_ref_time(13_890_000 as u64).saturating_mul(r as u64)) - // Standard Error: 38_000 - .saturating_add(Weight::from_ref_time(399_000 as u64).saturating_mul(c as u64)) + Weight::from_ref_time(30_362_556 as u64) + // Standard Error: 31_911 + .saturating_add(Weight::from_ref_time(13_672_561 as u64).saturating_mul(r as u64)) + // Standard Error: 31_911 + .saturating_add(Weight::from_ref_time(376_731 as u64).saturating_mul(c as u64)) .saturating_add(RocksDbWeight::get().reads(1 as u64)) .saturating_add(RocksDbWeight::get().reads((1 as u64).saturating_mul(r as u64))) .saturating_add(RocksDbWeight::get().writes((1 as u64).saturating_mul(r as u64))) @@ -207,10 +209,12 @@ impl WeightInfo for () { // Storage: Delegation DelegationHierarchies (r:1 w:0) /// The range of component `r` is `[1, 5]`. /// The range of component `c` is `[1, 5]`. - fn revoke_delegation_leaf(_r: u32, c: u32, ) -> Weight { - Weight::from_ref_time(48_305_000 as u64) - // Standard Error: 7_000 - .saturating_add(Weight::from_ref_time(4_062_000 as u64).saturating_mul(c as u64)) + fn revoke_delegation_leaf(r: u32, c: u32, ) -> Weight { + Weight::from_ref_time(45_294_416 as u64) + // Standard Error: 8_393 + .saturating_add(Weight::from_ref_time(52_151 as u64).saturating_mul(r as u64)) + // Standard Error: 8_393 + .saturating_add(Weight::from_ref_time(3_859_294 as u64).saturating_mul(c as u64)) .saturating_add(RocksDbWeight::get().reads(2 as u64)) .saturating_add(RocksDbWeight::get().reads((1 as u64).saturating_mul(c as u64))) .saturating_add(RocksDbWeight::get().writes(1 as u64)) @@ -220,9 +224,9 @@ impl WeightInfo for () { // Storage: Delegation DelegationHierarchies (r:1 w:1) /// The range of component `r` is `[1, 5]`. fn remove_delegation(r: u32, ) -> Weight { - Weight::from_ref_time(68_555_000 as u64) - // Standard Error: 20_000 - .saturating_add(Weight::from_ref_time(24_147_000 as u64).saturating_mul(r as u64)) + Weight::from_ref_time(66_501_212 as u64) + // Standard Error: 22_866 + .saturating_add(Weight::from_ref_time(24_301_511 as u64).saturating_mul(r as u64)) .saturating_add(RocksDbWeight::get().reads(3 as u64)) .saturating_add(RocksDbWeight::get().reads((1 as u64).saturating_mul(r as u64))) .saturating_add(RocksDbWeight::get().writes(3 as u64)) @@ -233,9 +237,9 @@ impl WeightInfo for () { // Storage: Delegation DelegationHierarchies (r:0 w:1) /// The range of component `r` is `[1, 5]`. fn reclaim_deposit(r: u32, ) -> Weight { - Weight::from_ref_time(61_377_000 as u64) - // Standard Error: 19_000 - .saturating_add(Weight::from_ref_time(24_028_000 as u64).saturating_mul(r as u64)) + Weight::from_ref_time(59_266_691 as u64) + // Standard Error: 22_483 + .saturating_add(Weight::from_ref_time(24_188_686 as u64).saturating_mul(r as u64)) .saturating_add(RocksDbWeight::get().reads(2 as u64)) .saturating_add(RocksDbWeight::get().reads((1 as u64).saturating_mul(r as u64))) .saturating_add(RocksDbWeight::get().writes(3 as u64)) @@ -244,38 +248,38 @@ impl WeightInfo for () { // Storage: Delegation DelegationNodes (r:1 w:0) // Storage: Delegation DelegationHierarchies (r:1 w:0) fn can_attest() -> Weight { - Weight::from_ref_time(18_398_000 as u64) + Weight::from_ref_time(16_560_000 as u64) .saturating_add(RocksDbWeight::get().reads(2 as u64)) } // Storage: Delegation DelegationNodes (r:2 w:0) /// The range of component `c` is `[1, 5]`. fn can_revoke(c: u32, ) -> Weight { - Weight::from_ref_time(13_088_000 as u64) - // Standard Error: 8_000 - .saturating_add(Weight::from_ref_time(4_399_000 as u64).saturating_mul(c as u64)) + Weight::from_ref_time(11_488_563 as u64) + // Standard Error: 9_838 + .saturating_add(Weight::from_ref_time(4_191_391 as u64).saturating_mul(c as u64)) .saturating_add(RocksDbWeight::get().reads(1 as u64)) .saturating_add(RocksDbWeight::get().reads((1 as u64).saturating_mul(c as u64))) } // Storage: Delegation DelegationNodes (r:2 w:0) /// The range of component `c` is `[1, 5]`. fn can_remove(c: u32, ) -> Weight { - Weight::from_ref_time(13_085_000 as u64) - // Standard Error: 7_000 - .saturating_add(Weight::from_ref_time(4_401_000 as u64).saturating_mul(c as u64)) + Weight::from_ref_time(11_493_181 as u64) + // Standard Error: 9_161 + .saturating_add(Weight::from_ref_time(4_183_081 as u64).saturating_mul(c as u64)) .saturating_add(RocksDbWeight::get().reads(1 as u64)) .saturating_add(RocksDbWeight::get().reads((1 as u64).saturating_mul(c as u64))) } // Storage: Delegation DelegationNodes (r:1 w:1) // Storage: System Account (r:2 w:2) fn change_deposit_owner() -> Weight { - Weight::from_ref_time(69_043_000 as u64) + Weight::from_ref_time(67_915_000 as u64) .saturating_add(RocksDbWeight::get().reads(3 as u64)) .saturating_add(RocksDbWeight::get().writes(3 as u64)) } // Storage: Delegation DelegationNodes (r:1 w:1) // Storage: System Account (r:1 w:1) fn update_deposit() -> Weight { - Weight::from_ref_time(64_426_000 as u64) + Weight::from_ref_time(62_926_000 as u64) .saturating_add(RocksDbWeight::get().reads(2 as u64)) .saturating_add(RocksDbWeight::get().writes(2 as u64)) } diff --git a/pallets/did/src/default_weights.rs b/pallets/did/src/default_weights.rs index 673c7fd65..3a6990ac7 100644 --- a/pallets/did/src/default_weights.rs +++ b/pallets/did/src/default_weights.rs @@ -19,7 +19,7 @@ //! Autogenerated weights for did //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-11-07, STEPS: {{cmd.steps}}\, REPEAT: {{cmd.repeat}}\, LOW RANGE: {{cmd.lowest_range_values}}\, HIGH RANGE: {{cmd.highest_range_values}}\ +//! DATE: 2023-02-01, STEPS: {{cmd.steps}}\, REPEAT: {{cmd.repeat}}\, LOW RANGE: {{cmd.lowest_range_values}}\, HIGH RANGE: {{cmd.highest_range_values}}\ //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024 // Executed Command: @@ -96,11 +96,11 @@ impl WeightInfo for SubstrateWeight { /// The range of component `n` is `[1, 10]`. /// The range of component `c` is `[1, 25]`. fn create_ed25519_keys(n: u32, c: u32, ) -> Weight { - Weight::from_ref_time(159_180_000 as u64) - // Standard Error: 19_000 - .saturating_add(Weight::from_ref_time(1_144_000 as u64).saturating_mul(n as u64)) - // Standard Error: 7_000 - .saturating_add(Weight::from_ref_time(6_080_000 as u64).saturating_mul(c as u64)) + Weight::from_ref_time(155_362_954 as u64) + // Standard Error: 11_821 + .saturating_add(Weight::from_ref_time(1_263_549 as u64).saturating_mul(n as u64)) + // Standard Error: 4_570 + .saturating_add(Weight::from_ref_time(6_149_636 as u64).saturating_mul(c as u64)) .saturating_add(T::DbWeight::get().reads(4 as u64)) .saturating_add(T::DbWeight::get().writes(4 as u64)) .saturating_add(T::DbWeight::get().writes((1 as u64).saturating_mul(c as u64))) @@ -113,11 +113,11 @@ impl WeightInfo for SubstrateWeight { /// The range of component `n` is `[1, 10]`. /// The range of component `c` is `[1, 25]`. fn create_sr25519_keys(n: u32, c: u32, ) -> Weight { - Weight::from_ref_time(159_584_000 as u64) - // Standard Error: 20_000 - .saturating_add(Weight::from_ref_time(1_263_000 as u64).saturating_mul(n as u64)) - // Standard Error: 7_000 - .saturating_add(Weight::from_ref_time(6_550_000 as u64).saturating_mul(c as u64)) + Weight::from_ref_time(155_463_794 as u64) + // Standard Error: 12_431 + .saturating_add(Weight::from_ref_time(1_422_221 as u64).saturating_mul(n as u64)) + // Standard Error: 4_806 + .saturating_add(Weight::from_ref_time(6_691_406 as u64).saturating_mul(c as u64)) .saturating_add(T::DbWeight::get().reads(4 as u64)) .saturating_add(T::DbWeight::get().writes(4 as u64)) .saturating_add(T::DbWeight::get().writes((1 as u64).saturating_mul(c as u64))) @@ -130,11 +130,11 @@ impl WeightInfo for SubstrateWeight { /// The range of component `n` is `[1, 10]`. /// The range of component `c` is `[1, 25]`. fn create_ecdsa_keys(n: u32, c: u32, ) -> Weight { - Weight::from_ref_time(144_697_000 as u64) - // Standard Error: 15_000 - .saturating_add(Weight::from_ref_time(1_346_000 as u64).saturating_mul(n as u64)) - // Standard Error: 5_000 - .saturating_add(Weight::from_ref_time(5_674_000 as u64).saturating_mul(c as u64)) + Weight::from_ref_time(141_772_067 as u64) + // Standard Error: 10_731 + .saturating_add(Weight::from_ref_time(1_239_702 as u64).saturating_mul(n as u64)) + // Standard Error: 4_149 + .saturating_add(Weight::from_ref_time(5_863_721 as u64).saturating_mul(c as u64)) .saturating_add(T::DbWeight::get().reads(4 as u64)) .saturating_add(T::DbWeight::get().writes(4 as u64)) .saturating_add(T::DbWeight::get().writes((1 as u64).saturating_mul(c as u64))) @@ -145,9 +145,9 @@ impl WeightInfo for SubstrateWeight { // Storage: Did ServiceEndpoints (r:0 w:1) /// The range of component `c` is `[1, 25]`. fn delete(c: u32, ) -> Weight { - Weight::from_ref_time(47_977_000 as u64) - // Standard Error: 4_000 - .saturating_add(Weight::from_ref_time(1_644_000 as u64).saturating_mul(c as u64)) + Weight::from_ref_time(45_992_948 as u64) + // Standard Error: 6_651 + .saturating_add(Weight::from_ref_time(1_286_699 as u64).saturating_mul(c as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) .saturating_add(T::DbWeight::get().writes((1 as u64).saturating_mul(c as u64))) @@ -158,154 +158,154 @@ impl WeightInfo for SubstrateWeight { // Storage: Did ServiceEndpoints (r:0 w:1) /// The range of component `c` is `[1, 25]`. fn reclaim_deposit(c: u32, ) -> Weight { - Weight::from_ref_time(50_814_000 as u64) - // Standard Error: 4_000 - .saturating_add(Weight::from_ref_time(1_657_000 as u64).saturating_mul(c as u64)) + Weight::from_ref_time(48_328_567 as u64) + // Standard Error: 7_613 + .saturating_add(Weight::from_ref_time(1_325_701 as u64).saturating_mul(c as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) .saturating_add(T::DbWeight::get().writes((1 as u64).saturating_mul(c as u64))) } // Storage: Did Did (r:1 w:1) fn submit_did_call_ed25519_key() -> Weight { - Weight::from_ref_time(95_185_000 as u64) + Weight::from_ref_time(94_077_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn submit_did_call_sr25519_key() -> Weight { - Weight::from_ref_time(96_880_000 as u64) + Weight::from_ref_time(95_122_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn submit_did_call_ecdsa_key() -> Weight { - Weight::from_ref_time(84_388_000 as u64) + Weight::from_ref_time(80_276_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn set_ed25519_authentication_key() -> Weight { - Weight::from_ref_time(46_019_000 as u64) + Weight::from_ref_time(44_189_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn set_sr25519_authentication_key() -> Weight { - Weight::from_ref_time(46_018_000 as u64) + Weight::from_ref_time(43_575_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn set_ecdsa_authentication_key() -> Weight { - Weight::from_ref_time(46_052_000 as u64) + Weight::from_ref_time(43_395_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn set_ed25519_delegation_key() -> Weight { - Weight::from_ref_time(45_621_000 as u64) + Weight::from_ref_time(43_007_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn set_sr25519_delegation_key() -> Weight { - Weight::from_ref_time(45_414_000 as u64) + Weight::from_ref_time(43_625_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn set_ecdsa_delegation_key() -> Weight { - Weight::from_ref_time(45_478_000 as u64) + Weight::from_ref_time(43_135_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn remove_ed25519_delegation_key() -> Weight { - Weight::from_ref_time(43_012_000 as u64) + Weight::from_ref_time(40_555_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn remove_sr25519_delegation_key() -> Weight { - Weight::from_ref_time(42_950_000 as u64) + Weight::from_ref_time(40_539_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn remove_ecdsa_delegation_key() -> Weight { - Weight::from_ref_time(42_823_000 as u64) + Weight::from_ref_time(40_439_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn set_ed25519_attestation_key() -> Weight { - Weight::from_ref_time(45_531_000 as u64) + Weight::from_ref_time(43_628_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn set_sr25519_attestation_key() -> Weight { - Weight::from_ref_time(45_501_000 as u64) + Weight::from_ref_time(43_908_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn set_ecdsa_attestation_key() -> Weight { - Weight::from_ref_time(45_190_000 as u64) + Weight::from_ref_time(43_418_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn remove_ed25519_attestation_key() -> Weight { - Weight::from_ref_time(43_191_000 as u64) + Weight::from_ref_time(40_519_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn remove_sr25519_attestation_key() -> Weight { - Weight::from_ref_time(43_154_000 as u64) + Weight::from_ref_time(40_720_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn remove_ecdsa_attestation_key() -> Weight { - Weight::from_ref_time(43_091_000 as u64) + Weight::from_ref_time(40_956_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn add_ed25519_key_agreement_key() -> Weight { - Weight::from_ref_time(44_903_000 as u64) + Weight::from_ref_time(42_934_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn add_sr25519_key_agreement_key() -> Weight { - Weight::from_ref_time(44_779_000 as u64) + Weight::from_ref_time(42_870_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn add_ecdsa_key_agreement_key() -> Weight { - Weight::from_ref_time(44_745_000 as u64) + Weight::from_ref_time(42_610_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn remove_ed25519_key_agreement_key() -> Weight { - Weight::from_ref_time(43_437_000 as u64) + Weight::from_ref_time(40_817_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn remove_sr25519_key_agreement_key() -> Weight { - Weight::from_ref_time(43_447_000 as u64) + Weight::from_ref_time(41_022_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn remove_ecdsa_key_agreement_key() -> Weight { - Weight::from_ref_time(43_188_000 as u64) + Weight::from_ref_time(40_682_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } @@ -313,52 +313,52 @@ impl WeightInfo for SubstrateWeight { // Storage: Did DidEndpointsCount (r:1 w:1) // Storage: Did ServiceEndpoints (r:1 w:1) fn add_service_endpoint() -> Weight { - Weight::from_ref_time(52_071_000 as u64) + Weight::from_ref_time(51_035_000 as u64) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Did ServiceEndpoints (r:1 w:1) // Storage: Did DidEndpointsCount (r:1 w:1) fn remove_service_endpoint() -> Weight { - Weight::from_ref_time(44_962_000 as u64) + Weight::from_ref_time(42_794_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Did Did (r:1 w:0) /// The range of component `l` is `[1, 5242880]`. fn signature_verification_sr25519(l: u32, ) -> Weight { - Weight::from_ref_time(29_998_000 as u64) + Weight::from_ref_time(42_471_912 as u64) // Standard Error: 0 - .saturating_add(Weight::from_ref_time(4_000 as u64).saturating_mul(l as u64)) + .saturating_add(Weight::from_ref_time(4_136 as u64).saturating_mul(l as u64)) .saturating_add(T::DbWeight::get().reads(1 as u64)) } // Storage: Did Did (r:1 w:0) /// The range of component `l` is `[1, 5242880]`. fn signature_verification_ed25519(l: u32, ) -> Weight { - Weight::from_ref_time(37_880_000 as u64) + Weight::from_ref_time(44_021_425 as u64) // Standard Error: 0 - .saturating_add(Weight::from_ref_time(2_000 as u64).saturating_mul(l as u64)) + .saturating_add(Weight::from_ref_time(2_466 as u64).saturating_mul(l as u64)) .saturating_add(T::DbWeight::get().reads(1 as u64)) } // Storage: Did Did (r:1 w:0) /// The range of component `l` is `[1, 5242880]`. fn signature_verification_ecdsa(l: u32, ) -> Weight { - Weight::from_ref_time(20_289_000 as u64) + Weight::from_ref_time(25_362_991 as u64) // Standard Error: 0 - .saturating_add(Weight::from_ref_time(1_000 as u64).saturating_mul(l as u64)) + .saturating_add(Weight::from_ref_time(1_491 as u64).saturating_mul(l as u64)) .saturating_add(T::DbWeight::get().reads(1 as u64)) } // Storage: Did Did (r:1 w:1) // Storage: System Account (r:1 w:1) fn change_deposit_owner() -> Weight { - Weight::from_ref_time(61_871_000 as u64) + Weight::from_ref_time(59_406_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Did Did (r:1 w:1) // Storage: System Account (r:1 w:1) fn update_deposit() -> Weight { - Weight::from_ref_time(64_313_000 as u64) + Weight::from_ref_time(63_316_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } @@ -374,11 +374,11 @@ impl WeightInfo for () { /// The range of component `n` is `[1, 10]`. /// The range of component `c` is `[1, 25]`. fn create_ed25519_keys(n: u32, c: u32, ) -> Weight { - Weight::from_ref_time(159_180_000 as u64) - // Standard Error: 19_000 - .saturating_add(Weight::from_ref_time(1_144_000 as u64).saturating_mul(n as u64)) - // Standard Error: 7_000 - .saturating_add(Weight::from_ref_time(6_080_000 as u64).saturating_mul(c as u64)) + Weight::from_ref_time(155_362_954 as u64) + // Standard Error: 11_821 + .saturating_add(Weight::from_ref_time(1_263_549 as u64).saturating_mul(n as u64)) + // Standard Error: 4_570 + .saturating_add(Weight::from_ref_time(6_149_636 as u64).saturating_mul(c as u64)) .saturating_add(RocksDbWeight::get().reads(4 as u64)) .saturating_add(RocksDbWeight::get().writes(4 as u64)) .saturating_add(RocksDbWeight::get().writes((1 as u64).saturating_mul(c as u64))) @@ -391,11 +391,11 @@ impl WeightInfo for () { /// The range of component `n` is `[1, 10]`. /// The range of component `c` is `[1, 25]`. fn create_sr25519_keys(n: u32, c: u32, ) -> Weight { - Weight::from_ref_time(159_584_000 as u64) - // Standard Error: 20_000 - .saturating_add(Weight::from_ref_time(1_263_000 as u64).saturating_mul(n as u64)) - // Standard Error: 7_000 - .saturating_add(Weight::from_ref_time(6_550_000 as u64).saturating_mul(c as u64)) + Weight::from_ref_time(155_463_794 as u64) + // Standard Error: 12_431 + .saturating_add(Weight::from_ref_time(1_422_221 as u64).saturating_mul(n as u64)) + // Standard Error: 4_806 + .saturating_add(Weight::from_ref_time(6_691_406 as u64).saturating_mul(c as u64)) .saturating_add(RocksDbWeight::get().reads(4 as u64)) .saturating_add(RocksDbWeight::get().writes(4 as u64)) .saturating_add(RocksDbWeight::get().writes((1 as u64).saturating_mul(c as u64))) @@ -408,11 +408,11 @@ impl WeightInfo for () { /// The range of component `n` is `[1, 10]`. /// The range of component `c` is `[1, 25]`. fn create_ecdsa_keys(n: u32, c: u32, ) -> Weight { - Weight::from_ref_time(144_697_000 as u64) - // Standard Error: 15_000 - .saturating_add(Weight::from_ref_time(1_346_000 as u64).saturating_mul(n as u64)) - // Standard Error: 5_000 - .saturating_add(Weight::from_ref_time(5_674_000 as u64).saturating_mul(c as u64)) + Weight::from_ref_time(141_772_067 as u64) + // Standard Error: 10_731 + .saturating_add(Weight::from_ref_time(1_239_702 as u64).saturating_mul(n as u64)) + // Standard Error: 4_149 + .saturating_add(Weight::from_ref_time(5_863_721 as u64).saturating_mul(c as u64)) .saturating_add(RocksDbWeight::get().reads(4 as u64)) .saturating_add(RocksDbWeight::get().writes(4 as u64)) .saturating_add(RocksDbWeight::get().writes((1 as u64).saturating_mul(c as u64))) @@ -423,9 +423,9 @@ impl WeightInfo for () { // Storage: Did ServiceEndpoints (r:0 w:1) /// The range of component `c` is `[1, 25]`. fn delete(c: u32, ) -> Weight { - Weight::from_ref_time(47_977_000 as u64) - // Standard Error: 4_000 - .saturating_add(Weight::from_ref_time(1_644_000 as u64).saturating_mul(c as u64)) + Weight::from_ref_time(45_992_948 as u64) + // Standard Error: 6_651 + .saturating_add(Weight::from_ref_time(1_286_699 as u64).saturating_mul(c as u64)) .saturating_add(RocksDbWeight::get().reads(2 as u64)) .saturating_add(RocksDbWeight::get().writes(3 as u64)) .saturating_add(RocksDbWeight::get().writes((1 as u64).saturating_mul(c as u64))) @@ -436,154 +436,154 @@ impl WeightInfo for () { // Storage: Did ServiceEndpoints (r:0 w:1) /// The range of component `c` is `[1, 25]`. fn reclaim_deposit(c: u32, ) -> Weight { - Weight::from_ref_time(50_814_000 as u64) - // Standard Error: 4_000 - .saturating_add(Weight::from_ref_time(1_657_000 as u64).saturating_mul(c as u64)) + Weight::from_ref_time(48_328_567 as u64) + // Standard Error: 7_613 + .saturating_add(Weight::from_ref_time(1_325_701 as u64).saturating_mul(c as u64)) .saturating_add(RocksDbWeight::get().reads(2 as u64)) .saturating_add(RocksDbWeight::get().writes(3 as u64)) .saturating_add(RocksDbWeight::get().writes((1 as u64).saturating_mul(c as u64))) } // Storage: Did Did (r:1 w:1) fn submit_did_call_ed25519_key() -> Weight { - Weight::from_ref_time(95_185_000 as u64) + Weight::from_ref_time(94_077_000 as u64) .saturating_add(RocksDbWeight::get().reads(1 as u64)) .saturating_add(RocksDbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn submit_did_call_sr25519_key() -> Weight { - Weight::from_ref_time(96_880_000 as u64) + Weight::from_ref_time(95_122_000 as u64) .saturating_add(RocksDbWeight::get().reads(1 as u64)) .saturating_add(RocksDbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn submit_did_call_ecdsa_key() -> Weight { - Weight::from_ref_time(84_388_000 as u64) + Weight::from_ref_time(80_276_000 as u64) .saturating_add(RocksDbWeight::get().reads(1 as u64)) .saturating_add(RocksDbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn set_ed25519_authentication_key() -> Weight { - Weight::from_ref_time(46_019_000 as u64) + Weight::from_ref_time(44_189_000 as u64) .saturating_add(RocksDbWeight::get().reads(1 as u64)) .saturating_add(RocksDbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn set_sr25519_authentication_key() -> Weight { - Weight::from_ref_time(46_018_000 as u64) + Weight::from_ref_time(43_575_000 as u64) .saturating_add(RocksDbWeight::get().reads(1 as u64)) .saturating_add(RocksDbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn set_ecdsa_authentication_key() -> Weight { - Weight::from_ref_time(46_052_000 as u64) + Weight::from_ref_time(43_395_000 as u64) .saturating_add(RocksDbWeight::get().reads(1 as u64)) .saturating_add(RocksDbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn set_ed25519_delegation_key() -> Weight { - Weight::from_ref_time(45_621_000 as u64) + Weight::from_ref_time(43_007_000 as u64) .saturating_add(RocksDbWeight::get().reads(1 as u64)) .saturating_add(RocksDbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn set_sr25519_delegation_key() -> Weight { - Weight::from_ref_time(45_414_000 as u64) + Weight::from_ref_time(43_625_000 as u64) .saturating_add(RocksDbWeight::get().reads(1 as u64)) .saturating_add(RocksDbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn set_ecdsa_delegation_key() -> Weight { - Weight::from_ref_time(45_478_000 as u64) + Weight::from_ref_time(43_135_000 as u64) .saturating_add(RocksDbWeight::get().reads(1 as u64)) .saturating_add(RocksDbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn remove_ed25519_delegation_key() -> Weight { - Weight::from_ref_time(43_012_000 as u64) + Weight::from_ref_time(40_555_000 as u64) .saturating_add(RocksDbWeight::get().reads(1 as u64)) .saturating_add(RocksDbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn remove_sr25519_delegation_key() -> Weight { - Weight::from_ref_time(42_950_000 as u64) + Weight::from_ref_time(40_539_000 as u64) .saturating_add(RocksDbWeight::get().reads(1 as u64)) .saturating_add(RocksDbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn remove_ecdsa_delegation_key() -> Weight { - Weight::from_ref_time(42_823_000 as u64) + Weight::from_ref_time(40_439_000 as u64) .saturating_add(RocksDbWeight::get().reads(1 as u64)) .saturating_add(RocksDbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn set_ed25519_attestation_key() -> Weight { - Weight::from_ref_time(45_531_000 as u64) + Weight::from_ref_time(43_628_000 as u64) .saturating_add(RocksDbWeight::get().reads(1 as u64)) .saturating_add(RocksDbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn set_sr25519_attestation_key() -> Weight { - Weight::from_ref_time(45_501_000 as u64) + Weight::from_ref_time(43_908_000 as u64) .saturating_add(RocksDbWeight::get().reads(1 as u64)) .saturating_add(RocksDbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn set_ecdsa_attestation_key() -> Weight { - Weight::from_ref_time(45_190_000 as u64) + Weight::from_ref_time(43_418_000 as u64) .saturating_add(RocksDbWeight::get().reads(1 as u64)) .saturating_add(RocksDbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn remove_ed25519_attestation_key() -> Weight { - Weight::from_ref_time(43_191_000 as u64) + Weight::from_ref_time(40_519_000 as u64) .saturating_add(RocksDbWeight::get().reads(1 as u64)) .saturating_add(RocksDbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn remove_sr25519_attestation_key() -> Weight { - Weight::from_ref_time(43_154_000 as u64) + Weight::from_ref_time(40_720_000 as u64) .saturating_add(RocksDbWeight::get().reads(1 as u64)) .saturating_add(RocksDbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn remove_ecdsa_attestation_key() -> Weight { - Weight::from_ref_time(43_091_000 as u64) + Weight::from_ref_time(40_956_000 as u64) .saturating_add(RocksDbWeight::get().reads(1 as u64)) .saturating_add(RocksDbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn add_ed25519_key_agreement_key() -> Weight { - Weight::from_ref_time(44_903_000 as u64) + Weight::from_ref_time(42_934_000 as u64) .saturating_add(RocksDbWeight::get().reads(1 as u64)) .saturating_add(RocksDbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn add_sr25519_key_agreement_key() -> Weight { - Weight::from_ref_time(44_779_000 as u64) + Weight::from_ref_time(42_870_000 as u64) .saturating_add(RocksDbWeight::get().reads(1 as u64)) .saturating_add(RocksDbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn add_ecdsa_key_agreement_key() -> Weight { - Weight::from_ref_time(44_745_000 as u64) + Weight::from_ref_time(42_610_000 as u64) .saturating_add(RocksDbWeight::get().reads(1 as u64)) .saturating_add(RocksDbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn remove_ed25519_key_agreement_key() -> Weight { - Weight::from_ref_time(43_437_000 as u64) + Weight::from_ref_time(40_817_000 as u64) .saturating_add(RocksDbWeight::get().reads(1 as u64)) .saturating_add(RocksDbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn remove_sr25519_key_agreement_key() -> Weight { - Weight::from_ref_time(43_447_000 as u64) + Weight::from_ref_time(41_022_000 as u64) .saturating_add(RocksDbWeight::get().reads(1 as u64)) .saturating_add(RocksDbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn remove_ecdsa_key_agreement_key() -> Weight { - Weight::from_ref_time(43_188_000 as u64) + Weight::from_ref_time(40_682_000 as u64) .saturating_add(RocksDbWeight::get().reads(1 as u64)) .saturating_add(RocksDbWeight::get().writes(1 as u64)) } @@ -591,52 +591,52 @@ impl WeightInfo for () { // Storage: Did DidEndpointsCount (r:1 w:1) // Storage: Did ServiceEndpoints (r:1 w:1) fn add_service_endpoint() -> Weight { - Weight::from_ref_time(52_071_000 as u64) + Weight::from_ref_time(51_035_000 as u64) .saturating_add(RocksDbWeight::get().reads(3 as u64)) .saturating_add(RocksDbWeight::get().writes(2 as u64)) } // Storage: Did ServiceEndpoints (r:1 w:1) // Storage: Did DidEndpointsCount (r:1 w:1) fn remove_service_endpoint() -> Weight { - Weight::from_ref_time(44_962_000 as u64) + Weight::from_ref_time(42_794_000 as u64) .saturating_add(RocksDbWeight::get().reads(2 as u64)) .saturating_add(RocksDbWeight::get().writes(2 as u64)) } // Storage: Did Did (r:1 w:0) /// The range of component `l` is `[1, 5242880]`. fn signature_verification_sr25519(l: u32, ) -> Weight { - Weight::from_ref_time(29_998_000 as u64) + Weight::from_ref_time(42_471_912 as u64) // Standard Error: 0 - .saturating_add(Weight::from_ref_time(4_000 as u64).saturating_mul(l as u64)) + .saturating_add(Weight::from_ref_time(4_136 as u64).saturating_mul(l as u64)) .saturating_add(RocksDbWeight::get().reads(1 as u64)) } // Storage: Did Did (r:1 w:0) /// The range of component `l` is `[1, 5242880]`. fn signature_verification_ed25519(l: u32, ) -> Weight { - Weight::from_ref_time(37_880_000 as u64) + Weight::from_ref_time(44_021_425 as u64) // Standard Error: 0 - .saturating_add(Weight::from_ref_time(2_000 as u64).saturating_mul(l as u64)) + .saturating_add(Weight::from_ref_time(2_466 as u64).saturating_mul(l as u64)) .saturating_add(RocksDbWeight::get().reads(1 as u64)) } // Storage: Did Did (r:1 w:0) /// The range of component `l` is `[1, 5242880]`. fn signature_verification_ecdsa(l: u32, ) -> Weight { - Weight::from_ref_time(20_289_000 as u64) + Weight::from_ref_time(25_362_991 as u64) // Standard Error: 0 - .saturating_add(Weight::from_ref_time(1_000 as u64).saturating_mul(l as u64)) + .saturating_add(Weight::from_ref_time(1_491 as u64).saturating_mul(l as u64)) .saturating_add(RocksDbWeight::get().reads(1 as u64)) } // Storage: Did Did (r:1 w:1) // Storage: System Account (r:1 w:1) fn change_deposit_owner() -> Weight { - Weight::from_ref_time(61_871_000 as u64) + Weight::from_ref_time(59_406_000 as u64) .saturating_add(RocksDbWeight::get().reads(2 as u64)) .saturating_add(RocksDbWeight::get().writes(2 as u64)) } // Storage: Did Did (r:1 w:1) // Storage: System Account (r:1 w:1) fn update_deposit() -> Weight { - Weight::from_ref_time(64_313_000 as u64) + Weight::from_ref_time(63_316_000 as u64) .saturating_add(RocksDbWeight::get().reads(2 as u64)) .saturating_add(RocksDbWeight::get().writes(2 as u64)) } diff --git a/pallets/pallet-did-lookup/src/default_weights.rs b/pallets/pallet-did-lookup/src/default_weights.rs index b2e44bac5..dbed5d959 100644 --- a/pallets/pallet-did-lookup/src/default_weights.rs +++ b/pallets/pallet-did-lookup/src/default_weights.rs @@ -19,7 +19,7 @@ //! Autogenerated weights for pallet_did_lookup //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-11-07, STEPS: {{cmd.steps}}\, REPEAT: {{cmd.repeat}}\, LOW RANGE: {{cmd.lowest_range_values}}\, HIGH RANGE: {{cmd.highest_range_values}}\ +//! DATE: 2023-02-01, STEPS: {{cmd.steps}}\, REPEAT: {{cmd.repeat}}\, LOW RANGE: {{cmd.lowest_range_values}}\, HIGH RANGE: {{cmd.highest_range_values}}\ //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024 // Executed Command: @@ -62,7 +62,7 @@ impl WeightInfo for SubstrateWeight { // Storage: DidLookup ConnectedDids (r:1 w:1) // Storage: DidLookup ConnectedAccounts (r:0 w:2) fn associate_account() -> Weight { - Weight::from_ref_time(133_182_000 as u64) + Weight::from_ref_time(129_957_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(4 as u64)) } @@ -70,7 +70,7 @@ impl WeightInfo for SubstrateWeight { // Storage: DidLookup ConnectedDids (r:1 w:1) // Storage: DidLookup ConnectedAccounts (r:0 w:2) fn associate_sender() -> Weight { - Weight::from_ref_time(72_677_000 as u64) + Weight::from_ref_time(172_109_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(4 as u64)) } @@ -78,7 +78,7 @@ impl WeightInfo for SubstrateWeight { // Storage: System Account (r:1 w:1) // Storage: DidLookup ConnectedAccounts (r:0 w:1) fn remove_sender_association() -> Weight { - Weight::from_ref_time(52_639_000 as u64) + Weight::from_ref_time(49_665_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } @@ -86,21 +86,21 @@ impl WeightInfo for SubstrateWeight { // Storage: System Account (r:1 w:1) // Storage: DidLookup ConnectedAccounts (r:0 w:1) fn remove_account_association() -> Weight { - Weight::from_ref_time(54_561_000 as u64) + Weight::from_ref_time(111_285_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } // Storage: DidLookup ConnectedDids (r:1 w:1) // Storage: System Account (r:2 w:2) fn change_deposit_owner() -> Weight { - Weight::from_ref_time(67_094_000 as u64) + Weight::from_ref_time(146_508_000 as u64) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } // Storage: DidLookup ConnectedDids (r:1 w:1) // Storage: System Account (r:1 w:1) fn update_deposit() -> Weight { - Weight::from_ref_time(60_960_000 as u64) + Weight::from_ref_time(58_367_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } @@ -112,7 +112,7 @@ impl WeightInfo for () { // Storage: DidLookup ConnectedDids (r:1 w:1) // Storage: DidLookup ConnectedAccounts (r:0 w:2) fn associate_account() -> Weight { - Weight::from_ref_time(133_182_000 as u64) + Weight::from_ref_time(129_957_000 as u64) .saturating_add(RocksDbWeight::get().reads(2 as u64)) .saturating_add(RocksDbWeight::get().writes(4 as u64)) } @@ -120,7 +120,7 @@ impl WeightInfo for () { // Storage: DidLookup ConnectedDids (r:1 w:1) // Storage: DidLookup ConnectedAccounts (r:0 w:2) fn associate_sender() -> Weight { - Weight::from_ref_time(72_677_000 as u64) + Weight::from_ref_time(172_109_000 as u64) .saturating_add(RocksDbWeight::get().reads(2 as u64)) .saturating_add(RocksDbWeight::get().writes(4 as u64)) } @@ -128,7 +128,7 @@ impl WeightInfo for () { // Storage: System Account (r:1 w:1) // Storage: DidLookup ConnectedAccounts (r:0 w:1) fn remove_sender_association() -> Weight { - Weight::from_ref_time(52_639_000 as u64) + Weight::from_ref_time(49_665_000 as u64) .saturating_add(RocksDbWeight::get().reads(2 as u64)) .saturating_add(RocksDbWeight::get().writes(3 as u64)) } @@ -136,21 +136,21 @@ impl WeightInfo for () { // Storage: System Account (r:1 w:1) // Storage: DidLookup ConnectedAccounts (r:0 w:1) fn remove_account_association() -> Weight { - Weight::from_ref_time(54_561_000 as u64) + Weight::from_ref_time(111_285_000 as u64) .saturating_add(RocksDbWeight::get().reads(2 as u64)) .saturating_add(RocksDbWeight::get().writes(3 as u64)) } // Storage: DidLookup ConnectedDids (r:1 w:1) // Storage: System Account (r:2 w:2) fn change_deposit_owner() -> Weight { - Weight::from_ref_time(67_094_000 as u64) + Weight::from_ref_time(146_508_000 as u64) .saturating_add(RocksDbWeight::get().reads(3 as u64)) .saturating_add(RocksDbWeight::get().writes(3 as u64)) } // Storage: DidLookup ConnectedDids (r:1 w:1) // Storage: System Account (r:1 w:1) fn update_deposit() -> Weight { - Weight::from_ref_time(60_960_000 as u64) + Weight::from_ref_time(58_367_000 as u64) .saturating_add(RocksDbWeight::get().reads(2 as u64)) .saturating_add(RocksDbWeight::get().writes(2 as u64)) } diff --git a/pallets/pallet-inflation/src/default_weights.rs b/pallets/pallet-inflation/src/default_weights.rs index b8dbb3c07..24fc931c4 100644 --- a/pallets/pallet-inflation/src/default_weights.rs +++ b/pallets/pallet-inflation/src/default_weights.rs @@ -19,7 +19,7 @@ //! Autogenerated weights for pallet_inflation //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-11-07, STEPS: {{cmd.steps}}\, REPEAT: {{cmd.repeat}}\, LOW RANGE: {{cmd.lowest_range_values}}\, HIGH RANGE: {{cmd.highest_range_values}}\ +//! DATE: 2023-02-01, STEPS: {{cmd.steps}}\, REPEAT: {{cmd.repeat}}\, LOW RANGE: {{cmd.lowest_range_values}}\, HIGH RANGE: {{cmd.highest_range_values}}\ //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024 // Executed Command: @@ -56,12 +56,12 @@ pub struct SubstrateWeight(PhantomData); impl WeightInfo for SubstrateWeight { // Storage: System Account (r:1 w:1) fn on_initialize_mint_to_treasury() -> Weight { - Weight::from_ref_time(37_539_000 as u64) + Weight::from_ref_time(81_256_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } fn on_initialize_no_action() -> Weight { - Weight::from_ref_time(293_000 as u64) + Weight::from_ref_time(871_000 as u64) } } @@ -69,11 +69,11 @@ impl WeightInfo for SubstrateWeight { impl WeightInfo for () { // Storage: System Account (r:1 w:1) fn on_initialize_mint_to_treasury() -> Weight { - Weight::from_ref_time(37_539_000 as u64) + Weight::from_ref_time(81_256_000 as u64) .saturating_add(RocksDbWeight::get().reads(1 as u64)) .saturating_add(RocksDbWeight::get().writes(1 as u64)) } fn on_initialize_no_action() -> Weight { - Weight::from_ref_time(293_000 as u64) + Weight::from_ref_time(871_000 as u64) } } diff --git a/pallets/pallet-web3-names/src/default_weights.rs b/pallets/pallet-web3-names/src/default_weights.rs index bcf992c3d..a0f2e18ed 100644 --- a/pallets/pallet-web3-names/src/default_weights.rs +++ b/pallets/pallet-web3-names/src/default_weights.rs @@ -19,7 +19,7 @@ //! Autogenerated weights for pallet_web3_names //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-11-07, STEPS: {{cmd.steps}}\, REPEAT: {{cmd.repeat}}\, LOW RANGE: {{cmd.lowest_range_values}}\, HIGH RANGE: {{cmd.highest_range_values}}\ +//! DATE: 2023-02-01, STEPS: {{cmd.steps}}\, REPEAT: {{cmd.repeat}}\, LOW RANGE: {{cmd.lowest_range_values}}\, HIGH RANGE: {{cmd.highest_range_values}}\ //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024 // Executed Command: @@ -64,10 +64,8 @@ impl WeightInfo for SubstrateWeight { // Storage: Web3Names Banned (r:1 w:0) // Storage: System Account (r:1 w:1) /// The range of component `n` is `[3, 32]`. - fn claim(n: u32, ) -> Weight { - Weight::from_ref_time(58_711_000 as u64) - // Standard Error: 2_000 - .saturating_add(Weight::from_ref_time(10_000 as u64).saturating_mul(n as u64)) + fn claim(_n: u32, ) -> Weight { + Weight::from_ref_time(79_918_651 as u64) .saturating_add(T::DbWeight::get().reads(4 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } @@ -75,7 +73,7 @@ impl WeightInfo for SubstrateWeight { // Storage: Web3Names Owner (r:1 w:1) // Storage: System Account (r:1 w:1) fn release_by_owner() -> Weight { - Weight::from_ref_time(56_091_000 as u64) + Weight::from_ref_time(115_743_000 as u64) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } @@ -84,9 +82,9 @@ impl WeightInfo for SubstrateWeight { // Storage: Web3Names Names (r:0 w:1) /// The range of component `n` is `[3, 32]`. fn reclaim_deposit(n: u32, ) -> Weight { - Weight::from_ref_time(52_014_000 as u64) - // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(32_000 as u64).saturating_mul(n as u64)) + Weight::from_ref_time(66_014_688 as u64) + // Standard Error: 138_142 + .saturating_add(Weight::from_ref_time(6_118 as u64).saturating_mul(n as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } @@ -95,19 +93,15 @@ impl WeightInfo for SubstrateWeight { // Storage: System Account (r:1 w:1) // Storage: Web3Names Names (r:0 w:1) /// The range of component `n` is `[3, 32]`. - fn ban(n: u32, ) -> Weight { - Weight::from_ref_time(56_989_000 as u64) - // Standard Error: 2_000 - .saturating_add(Weight::from_ref_time(37_000 as u64).saturating_mul(n as u64)) + fn ban(_n: u32, ) -> Weight { + Weight::from_ref_time(65_086_706 as u64) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(4 as u64)) } // Storage: Web3Names Banned (r:1 w:1) /// The range of component `n` is `[3, 32]`. - fn unban(n: u32, ) -> Weight { - Weight::from_ref_time(31_185_000 as u64) - // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(40_000 as u64).saturating_mul(n as u64)) + fn unban(_n: u32, ) -> Weight { + Weight::from_ref_time(38_246_474 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } @@ -115,14 +109,14 @@ impl WeightInfo for SubstrateWeight { // Storage: Web3Names Owner (r:1 w:1) // Storage: System Account (r:2 w:2) fn change_deposit_owner() -> Weight { - Weight::from_ref_time(69_280_000 as u64) + Weight::from_ref_time(67_804_000 as u64) .saturating_add(T::DbWeight::get().reads(4 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } // Storage: Web3Names Owner (r:1 w:1) // Storage: System Account (r:1 w:1) fn update_deposit() -> Weight { - Weight::from_ref_time(60_896_000 as u64) + Weight::from_ref_time(59_442_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } @@ -135,10 +129,8 @@ impl WeightInfo for () { // Storage: Web3Names Banned (r:1 w:0) // Storage: System Account (r:1 w:1) /// The range of component `n` is `[3, 32]`. - fn claim(n: u32, ) -> Weight { - Weight::from_ref_time(58_711_000 as u64) - // Standard Error: 2_000 - .saturating_add(Weight::from_ref_time(10_000 as u64).saturating_mul(n as u64)) + fn claim(_n: u32, ) -> Weight { + Weight::from_ref_time(79_918_651 as u64) .saturating_add(RocksDbWeight::get().reads(4 as u64)) .saturating_add(RocksDbWeight::get().writes(3 as u64)) } @@ -146,7 +138,7 @@ impl WeightInfo for () { // Storage: Web3Names Owner (r:1 w:1) // Storage: System Account (r:1 w:1) fn release_by_owner() -> Weight { - Weight::from_ref_time(56_091_000 as u64) + Weight::from_ref_time(115_743_000 as u64) .saturating_add(RocksDbWeight::get().reads(3 as u64)) .saturating_add(RocksDbWeight::get().writes(3 as u64)) } @@ -155,9 +147,9 @@ impl WeightInfo for () { // Storage: Web3Names Names (r:0 w:1) /// The range of component `n` is `[3, 32]`. fn reclaim_deposit(n: u32, ) -> Weight { - Weight::from_ref_time(52_014_000 as u64) - // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(32_000 as u64).saturating_mul(n as u64)) + Weight::from_ref_time(66_014_688 as u64) + // Standard Error: 138_142 + .saturating_add(Weight::from_ref_time(6_118 as u64).saturating_mul(n as u64)) .saturating_add(RocksDbWeight::get().reads(2 as u64)) .saturating_add(RocksDbWeight::get().writes(3 as u64)) } @@ -166,19 +158,15 @@ impl WeightInfo for () { // Storage: System Account (r:1 w:1) // Storage: Web3Names Names (r:0 w:1) /// The range of component `n` is `[3, 32]`. - fn ban(n: u32, ) -> Weight { - Weight::from_ref_time(56_989_000 as u64) - // Standard Error: 2_000 - .saturating_add(Weight::from_ref_time(37_000 as u64).saturating_mul(n as u64)) + fn ban(_n: u32, ) -> Weight { + Weight::from_ref_time(65_086_706 as u64) .saturating_add(RocksDbWeight::get().reads(3 as u64)) .saturating_add(RocksDbWeight::get().writes(4 as u64)) } // Storage: Web3Names Banned (r:1 w:1) /// The range of component `n` is `[3, 32]`. - fn unban(n: u32, ) -> Weight { - Weight::from_ref_time(31_185_000 as u64) - // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(40_000 as u64).saturating_mul(n as u64)) + fn unban(_n: u32, ) -> Weight { + Weight::from_ref_time(38_246_474 as u64) .saturating_add(RocksDbWeight::get().reads(1 as u64)) .saturating_add(RocksDbWeight::get().writes(1 as u64)) } @@ -186,14 +174,14 @@ impl WeightInfo for () { // Storage: Web3Names Owner (r:1 w:1) // Storage: System Account (r:2 w:2) fn change_deposit_owner() -> Weight { - Weight::from_ref_time(69_280_000 as u64) + Weight::from_ref_time(67_804_000 as u64) .saturating_add(RocksDbWeight::get().reads(4 as u64)) .saturating_add(RocksDbWeight::get().writes(3 as u64)) } // Storage: Web3Names Owner (r:1 w:1) // Storage: System Account (r:1 w:1) fn update_deposit() -> Weight { - Weight::from_ref_time(60_896_000 as u64) + Weight::from_ref_time(59_442_000 as u64) .saturating_add(RocksDbWeight::get().reads(2 as u64)) .saturating_add(RocksDbWeight::get().writes(2 as u64)) } diff --git a/pallets/parachain-staking/src/default_weights.rs b/pallets/parachain-staking/src/default_weights.rs index 40220b9cc..c447564d1 100644 --- a/pallets/parachain-staking/src/default_weights.rs +++ b/pallets/parachain-staking/src/default_weights.rs @@ -19,7 +19,7 @@ //! Autogenerated weights for parachain_staking //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-11-07, STEPS: {{cmd.steps}}\, REPEAT: {{cmd.repeat}}\, LOW RANGE: {{cmd.lowest_range_values}}\, HIGH RANGE: {{cmd.highest_range_values}}\ +//! DATE: 2023-02-01, STEPS: {{cmd.steps}}\, REPEAT: {{cmd.repeat}}\, LOW RANGE: {{cmd.lowest_range_values}}\, HIGH RANGE: {{cmd.highest_range_values}}\ //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024 // Executed Command: @@ -78,12 +78,12 @@ pub struct SubstrateWeight(PhantomData); impl WeightInfo for SubstrateWeight { // Storage: ParachainStaking Round (r:1 w:0) fn on_initialize_no_action() -> Weight { - Weight::from_ref_time(7_687_000 as u64) + Weight::from_ref_time(7_295_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) } // Storage: ParachainStaking Round (r:1 w:1) fn on_initialize_round_update() -> Weight { - Weight::from_ref_time(22_824_000 as u64) + Weight::from_ref_time(20_334_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } @@ -93,13 +93,13 @@ impl WeightInfo for SubstrateWeight { // Storage: ParachainStaking MaxSelectedCandidates (r:1 w:0) // Storage: System Account (r:1 w:1) fn on_initialize_network_rewards() -> Weight { - Weight::from_ref_time(57_477_000 as u64) + Weight::from_ref_time(53_479_000 as u64) .saturating_add(T::DbWeight::get().reads(5 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: ParachainStaking ForceNewRound (r:0 w:1) fn force_new_round() -> Weight { - Weight::from_ref_time(8_703_000 as u64) + Weight::from_ref_time(15_272_000 as u64) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: ParachainStaking CandidatePool (r:3 w:0) @@ -112,15 +112,17 @@ impl WeightInfo for SubstrateWeight { /// The range of component `n` is `[0, 75]`. /// The range of component `m` is `[0, 35]`. fn set_inflation(n: u32, m: u32, ) -> Weight { - Weight::from_ref_time(0 as u64) - // Standard Error: 725_000 - .saturating_add(Weight::from_ref_time(503_847_000 as u64).saturating_mul(n as u64)) - // Standard Error: 1_542_000 - .saturating_add(Weight::from_ref_time(1_032_264_000 as u64).saturating_mul(m as u64)) - .saturating_add(T::DbWeight::get().reads((74 as u64).saturating_mul(n as u64))) - .saturating_add(T::DbWeight::get().reads((150 as u64).saturating_mul(m as u64))) - .saturating_add(T::DbWeight::get().writes((72 as u64).saturating_mul(n as u64))) - .saturating_add(T::DbWeight::get().writes((150 as u64).saturating_mul(m as u64))) + Weight::from_ref_time(880_206_000 as u64) + // Standard Error: 5_316_702 + .saturating_add(Weight::from_ref_time(170_934_184 as u64).saturating_mul(n as u64)) + // Standard Error: 11_414_842 + .saturating_add(Weight::from_ref_time(326_552_012 as u64).saturating_mul(m as u64)) + .saturating_add(T::DbWeight::get().reads(152 as u64)) + .saturating_add(T::DbWeight::get().reads((27 as u64).saturating_mul(n as u64))) + .saturating_add(T::DbWeight::get().reads((51 as u64).saturating_mul(m as u64))) + .saturating_add(T::DbWeight::get().writes(145 as u64)) + .saturating_add(T::DbWeight::get().writes((25 as u64).saturating_mul(n as u64))) + .saturating_add(T::DbWeight::get().writes((51 as u64).saturating_mul(m as u64))) } // Storage: ParachainStaking MaxSelectedCandidates (r:1 w:1) // Storage: ParachainStaking TopCandidates (r:1 w:0) @@ -129,17 +131,18 @@ impl WeightInfo for SubstrateWeight { /// The range of component `n` is `[16, 75]`. /// The range of component `m` is `[0, 35]`. fn set_max_selected_candidates(n: u32, m: u32, ) -> Weight { - Weight::from_ref_time(0 as u64) - // Standard Error: 245_000 - .saturating_add(Weight::from_ref_time(26_950_000 as u64).saturating_mul(n as u64)) - // Standard Error: 412_000 - .saturating_add(Weight::from_ref_time(42_580_000 as u64).saturating_mul(m as u64)) + Weight::from_ref_time(71_790_000 as u64) + // Standard Error: 27_483 + .saturating_add(Weight::from_ref_time(3_582_143 as u64).saturating_mul(n as u64)) + // Standard Error: 60_832 + .saturating_add(Weight::from_ref_time(349_083 as u64).saturating_mul(m as u64)) + .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(n as u64))) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: ParachainStaking Round (r:1 w:1) fn set_blocks_per_round() -> Weight { - Weight::from_ref_time(29_360_000 as u64) + Weight::from_ref_time(56_977_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } @@ -160,11 +163,11 @@ impl WeightInfo for SubstrateWeight { /// The range of component `n` is `[17, 75]`. /// The range of component `m` is `[0, 35]`. fn force_remove_candidate(n: u32, m: u32, ) -> Weight { - Weight::from_ref_time(0 as u64) - // Standard Error: 238_000 - .saturating_add(Weight::from_ref_time(27_688_000 as u64).saturating_mul(n as u64)) - // Standard Error: 393_000 - .saturating_add(Weight::from_ref_time(78_182_000 as u64).saturating_mul(m as u64)) + Weight::from_ref_time(167_630_000 as u64) + // Standard Error: 33_915 + .saturating_add(Weight::from_ref_time(1_267_282 as u64).saturating_mul(n as u64)) + // Standard Error: 75_237 + .saturating_add(Weight::from_ref_time(32_352_601 as u64).saturating_mul(m as u64)) .saturating_add(T::DbWeight::get().reads(29 as u64)) .saturating_add(T::DbWeight::get().reads((4 as u64).saturating_mul(m as u64))) .saturating_add(T::DbWeight::get().writes(10 as u64)) @@ -183,11 +186,11 @@ impl WeightInfo for SubstrateWeight { /// The range of component `n` is `[1, 74]`. /// The range of component `m` is `[0, 35]`. fn join_candidates(n: u32, m: u32, ) -> Weight { - Weight::from_ref_time(0 as u64) - // Standard Error: 225_000 - .saturating_add(Weight::from_ref_time(22_116_000 as u64).saturating_mul(n as u64)) - // Standard Error: 468_000 - .saturating_add(Weight::from_ref_time(45_139_000 as u64).saturating_mul(m as u64)) + Weight::from_ref_time(74_868_992 as u64) + // Standard Error: 15_510 + .saturating_add(Weight::from_ref_time(844_907 as u64).saturating_mul(n as u64)) + // Standard Error: 32_208 + .saturating_add(Weight::from_ref_time(1_664_228 as u64).saturating_mul(m as u64)) .saturating_add(T::DbWeight::get().reads(10 as u64)) .saturating_add(T::DbWeight::get().writes(7 as u64)) } @@ -199,11 +202,11 @@ impl WeightInfo for SubstrateWeight { /// The range of component `n` is `[17, 74]`. /// The range of component `m` is `[0, 35]`. fn init_leave_candidates(n: u32, m: u32, ) -> Weight { - Weight::from_ref_time(0 as u64) - // Standard Error: 253_000 - .saturating_add(Weight::from_ref_time(27_095_000 as u64).saturating_mul(n as u64)) - // Standard Error: 410_000 - .saturating_add(Weight::from_ref_time(50_128_000 as u64).saturating_mul(m as u64)) + Weight::from_ref_time(102_892_381 as u64) + // Standard Error: 15_634 + .saturating_add(Weight::from_ref_time(884_087 as u64).saturating_mul(n as u64)) + // Standard Error: 25_354 + .saturating_add(Weight::from_ref_time(1_951_960 as u64).saturating_mul(m as u64)) .saturating_add(T::DbWeight::get().reads(21 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } @@ -214,11 +217,11 @@ impl WeightInfo for SubstrateWeight { /// The range of component `n` is `[17, 74]`. /// The range of component `m` is `[0, 35]`. fn cancel_leave_candidates(n: u32, m: u32, ) -> Weight { - Weight::from_ref_time(0 as u64) - // Standard Error: 262_000 - .saturating_add(Weight::from_ref_time(27_719_000 as u64).saturating_mul(n as u64)) - // Standard Error: 426_000 - .saturating_add(Weight::from_ref_time(51_151_000 as u64).saturating_mul(m as u64)) + Weight::from_ref_time(62_163_088 as u64) + // Standard Error: 11_849 + .saturating_add(Weight::from_ref_time(470_670 as u64).saturating_mul(n as u64)) + // Standard Error: 19_216 + .saturating_add(Weight::from_ref_time(1_150_199 as u64).saturating_mul(m as u64)) .saturating_add(T::DbWeight::get().reads(5 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } @@ -238,11 +241,11 @@ impl WeightInfo for SubstrateWeight { /// The range of component `n` is `[17, 74]`. /// The range of component `m` is `[0, 35]`. fn execute_leave_candidates(n: u32, m: u32, ) -> Weight { - Weight::from_ref_time(0 as u64) - // Standard Error: 246_000 - .saturating_add(Weight::from_ref_time(31_941_000 as u64).saturating_mul(n as u64)) - // Standard Error: 400_000 - .saturating_add(Weight::from_ref_time(87_138_000 as u64).saturating_mul(m as u64)) + Weight::from_ref_time(101_532_000 as u64) + // Standard Error: 33_213 + .saturating_add(Weight::from_ref_time(1_131_850 as u64).saturating_mul(n as u64)) + // Standard Error: 72_738 + .saturating_add(Weight::from_ref_time(32_258_326 as u64).saturating_mul(m as u64)) .saturating_add(T::DbWeight::get().reads(12 as u64)) .saturating_add(T::DbWeight::get().reads((4 as u64).saturating_mul(m as u64))) .saturating_add(T::DbWeight::get().writes(8 as u64)) @@ -263,12 +266,14 @@ impl WeightInfo for SubstrateWeight { /// The range of component `n` is `[1, 74]`. /// The range of component `m` is `[0, 35]`. /// The range of component `u` is `[0, 9]`. - fn candidate_stake_more(n: u32, m: u32, _u: u32, ) -> Weight { - Weight::from_ref_time(0 as u64) - // Standard Error: 198_000 - .saturating_add(Weight::from_ref_time(28_533_000 as u64).saturating_mul(n as u64)) - // Standard Error: 412_000 - .saturating_add(Weight::from_ref_time(58_754_000 as u64).saturating_mul(m as u64)) + fn candidate_stake_more(n: u32, m: u32, u: u32, ) -> Weight { + Weight::from_ref_time(71_965_734 as u64) + // Standard Error: 13_893 + .saturating_add(Weight::from_ref_time(925_357 as u64).saturating_mul(n as u64)) + // Standard Error: 28_840 + .saturating_add(Weight::from_ref_time(1_887_704 as u64).saturating_mul(m as u64)) + // Standard Error: 106_831 + .saturating_add(Weight::from_ref_time(1_865_718 as u64).saturating_mul(u as u64)) .saturating_add(T::DbWeight::get().reads(12 as u64)) .saturating_add(T::DbWeight::get().writes(8 as u64)) } @@ -284,11 +289,11 @@ impl WeightInfo for SubstrateWeight { /// The range of component `n` is `[1, 74]`. /// The range of component `m` is `[0, 35]`. fn candidate_stake_less(n: u32, m: u32, ) -> Weight { - Weight::from_ref_time(0 as u64) - // Standard Error: 238_000 - .saturating_add(Weight::from_ref_time(27_302_000 as u64).saturating_mul(n as u64)) - // Standard Error: 494_000 - .saturating_add(Weight::from_ref_time(56_407_000 as u64).saturating_mul(m as u64)) + Weight::from_ref_time(62_739_612 as u64) + // Standard Error: 16_793 + .saturating_add(Weight::from_ref_time(864_759 as u64).saturating_mul(n as u64)) + // Standard Error: 34_871 + .saturating_add(Weight::from_ref_time(1_709_617 as u64).saturating_mul(m as u64)) .saturating_add(T::DbWeight::get().reads(9 as u64)) .saturating_add(T::DbWeight::get().writes(6 as u64)) } @@ -307,11 +312,11 @@ impl WeightInfo for SubstrateWeight { /// The range of component `n` is `[1, 75]`. /// The range of component `m` is `[1, 34]`. fn join_delegators(n: u32, m: u32, ) -> Weight { - Weight::from_ref_time(0 as u64) - // Standard Error: 222_000 - .saturating_add(Weight::from_ref_time(26_756_000 as u64).saturating_mul(n as u64)) - // Standard Error: 493_000 - .saturating_add(Weight::from_ref_time(58_560_000 as u64).saturating_mul(m as u64)) + Weight::from_ref_time(77_485_243 as u64) + // Standard Error: 14_703 + .saturating_add(Weight::from_ref_time(1_058_123 as u64).saturating_mul(n as u64)) + // Standard Error: 32_678 + .saturating_add(Weight::from_ref_time(2_182_817 as u64).saturating_mul(m as u64)) .saturating_add(T::DbWeight::get().reads(12 as u64)) .saturating_add(T::DbWeight::get().writes(9 as u64)) } @@ -330,12 +335,14 @@ impl WeightInfo for SubstrateWeight { /// The range of component `n` is `[1, 75]`. /// The range of component `m` is `[1, 34]`. /// The range of component `u` is `[1, 9]`. - fn delegator_stake_more(n: u32, m: u32, _u: u32, ) -> Weight { - Weight::from_ref_time(0 as u64) - // Standard Error: 184_000 - .saturating_add(Weight::from_ref_time(28_310_000 as u64).saturating_mul(n as u64)) - // Standard Error: 409_000 - .saturating_add(Weight::from_ref_time(61_656_000 as u64).saturating_mul(m as u64)) + fn delegator_stake_more(n: u32, m: u32, u: u32, ) -> Weight { + Weight::from_ref_time(82_500_737 as u64) + // Standard Error: 12_571 + .saturating_add(Weight::from_ref_time(971_252 as u64).saturating_mul(n as u64)) + // Standard Error: 27_929 + .saturating_add(Weight::from_ref_time(1_947_599 as u64).saturating_mul(m as u64)) + // Standard Error: 108_324 + .saturating_add(Weight::from_ref_time(1_782_476 as u64).saturating_mul(u as u64)) .saturating_add(T::DbWeight::get().reads(12 as u64)) .saturating_add(T::DbWeight::get().writes(9 as u64)) } @@ -352,11 +359,11 @@ impl WeightInfo for SubstrateWeight { /// The range of component `n` is `[1, 75]`. /// The range of component `m` is `[1, 34]`. fn delegator_stake_less(n: u32, m: u32, ) -> Weight { - Weight::from_ref_time(0 as u64) - // Standard Error: 231_000 - .saturating_add(Weight::from_ref_time(27_176_000 as u64).saturating_mul(n as u64)) - // Standard Error: 515_000 - .saturating_add(Weight::from_ref_time(59_103_000 as u64).saturating_mul(m as u64)) + Weight::from_ref_time(72_772_464 as u64) + // Standard Error: 14_214 + .saturating_add(Weight::from_ref_time(909_175 as u64).saturating_mul(n as u64)) + // Standard Error: 31_591 + .saturating_add(Weight::from_ref_time(1_824_513 as u64).saturating_mul(m as u64)) .saturating_add(T::DbWeight::get().reads(10 as u64)) .saturating_add(T::DbWeight::get().writes(7 as u64)) } @@ -373,11 +380,11 @@ impl WeightInfo for SubstrateWeight { /// The range of component `n` is `[1, 75]`. /// The range of component `m` is `[1, 34]`. fn leave_delegators(n: u32, m: u32, ) -> Weight { - Weight::from_ref_time(0 as u64) - // Standard Error: 225_000 - .saturating_add(Weight::from_ref_time(27_268_000 as u64).saturating_mul(n as u64)) - // Standard Error: 500_000 - .saturating_add(Weight::from_ref_time(59_282_000 as u64).saturating_mul(m as u64)) + Weight::from_ref_time(80_275_828 as u64) + // Standard Error: 14_671 + .saturating_add(Weight::from_ref_time(913_421 as u64).saturating_mul(n as u64)) + // Standard Error: 32_607 + .saturating_add(Weight::from_ref_time(1_764_476 as u64).saturating_mul(m as u64)) .saturating_add(T::DbWeight::get().reads(10 as u64)) .saturating_add(T::DbWeight::get().writes(7 as u64)) } @@ -386,15 +393,15 @@ impl WeightInfo for SubstrateWeight { // Storage: System Account (r:1 w:1) /// The range of component `u` is `[1, 9]`. fn unlock_unstaked(u: u32, ) -> Weight { - Weight::from_ref_time(56_797_000 as u64) - // Standard Error: 12_000 - .saturating_add(Weight::from_ref_time(274_000 as u64).saturating_mul(u as u64)) + Weight::from_ref_time(53_730_996 as u64) + // Standard Error: 18_906 + .saturating_add(Weight::from_ref_time(410_777 as u64).saturating_mul(u as u64)) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } // Storage: ParachainStaking MaxCollatorCandidateStake (r:0 w:1) fn set_max_candidate_stake() -> Weight { - Weight::from_ref_time(23_858_000 as u64) + Weight::from_ref_time(43_109_000 as u64) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: ParachainStaking DelegatorState (r:1 w:0) @@ -404,7 +411,7 @@ impl WeightInfo for SubstrateWeight { // Storage: ParachainStaking TotalCollatorStake (r:1 w:0) // Storage: ParachainStaking InflationConfig (r:1 w:0) fn increment_delegator_rewards() -> Weight { - Weight::from_ref_time(46_081_000 as u64) + Weight::from_ref_time(40_000_000 as u64) .saturating_add(T::DbWeight::get().reads(6 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } @@ -415,14 +422,14 @@ impl WeightInfo for SubstrateWeight { // Storage: ParachainStaking TotalCollatorStake (r:1 w:0) // Storage: ParachainStaking InflationConfig (r:1 w:0) fn increment_collator_rewards() -> Weight { - Weight::from_ref_time(39_423_000 as u64) + Weight::from_ref_time(35_612_000 as u64) .saturating_add(T::DbWeight::get().reads(6 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: ParachainStaking Rewards (r:1 w:1) // Storage: System Account (r:1 w:1) fn claim_rewards() -> Weight { - Weight::from_ref_time(58_622_000 as u64) + Weight::from_ref_time(54_273_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } @@ -437,15 +444,17 @@ impl WeightInfo for SubstrateWeight { /// The range of component `n` is `[0, 75]`. /// The range of component `m` is `[0, 35]`. fn execute_scheduled_reward_change(n: u32, m: u32, ) -> Weight { - Weight::from_ref_time(0 as u64) - // Standard Error: 617_000 - .saturating_add(Weight::from_ref_time(501_562_000 as u64).saturating_mul(n as u64)) - // Standard Error: 1_313_000 - .saturating_add(Weight::from_ref_time(1_032_648_000 as u64).saturating_mul(m as u64)) - .saturating_add(T::DbWeight::get().reads((74 as u64).saturating_mul(n as u64))) - .saturating_add(T::DbWeight::get().reads((150 as u64).saturating_mul(m as u64))) - .saturating_add(T::DbWeight::get().writes((72 as u64).saturating_mul(n as u64))) - .saturating_add(T::DbWeight::get().writes((150 as u64).saturating_mul(m as u64))) + Weight::from_ref_time(869_446_000 as u64) + // Standard Error: 5_211_771 + .saturating_add(Weight::from_ref_time(166_314_407 as u64).saturating_mul(n as u64)) + // Standard Error: 11_189_560 + .saturating_add(Weight::from_ref_time(321_504_163 as u64).saturating_mul(m as u64)) + .saturating_add(T::DbWeight::get().reads(153 as u64)) + .saturating_add(T::DbWeight::get().reads((27 as u64).saturating_mul(n as u64))) + .saturating_add(T::DbWeight::get().reads((51 as u64).saturating_mul(m as u64))) + .saturating_add(T::DbWeight::get().writes(146 as u64)) + .saturating_add(T::DbWeight::get().writes((25 as u64).saturating_mul(n as u64))) + .saturating_add(T::DbWeight::get().writes((51 as u64).saturating_mul(m as u64))) } } @@ -453,12 +462,12 @@ impl WeightInfo for SubstrateWeight { impl WeightInfo for () { // Storage: ParachainStaking Round (r:1 w:0) fn on_initialize_no_action() -> Weight { - Weight::from_ref_time(7_687_000 as u64) + Weight::from_ref_time(7_295_000 as u64) .saturating_add(RocksDbWeight::get().reads(1 as u64)) } // Storage: ParachainStaking Round (r:1 w:1) fn on_initialize_round_update() -> Weight { - Weight::from_ref_time(22_824_000 as u64) + Weight::from_ref_time(20_334_000 as u64) .saturating_add(RocksDbWeight::get().reads(1 as u64)) .saturating_add(RocksDbWeight::get().writes(1 as u64)) } @@ -468,13 +477,13 @@ impl WeightInfo for () { // Storage: ParachainStaking MaxSelectedCandidates (r:1 w:0) // Storage: System Account (r:1 w:1) fn on_initialize_network_rewards() -> Weight { - Weight::from_ref_time(57_477_000 as u64) + Weight::from_ref_time(53_479_000 as u64) .saturating_add(RocksDbWeight::get().reads(5 as u64)) .saturating_add(RocksDbWeight::get().writes(2 as u64)) } // Storage: ParachainStaking ForceNewRound (r:0 w:1) fn force_new_round() -> Weight { - Weight::from_ref_time(8_703_000 as u64) + Weight::from_ref_time(15_272_000 as u64) .saturating_add(RocksDbWeight::get().writes(1 as u64)) } // Storage: ParachainStaking CandidatePool (r:3 w:0) @@ -487,15 +496,17 @@ impl WeightInfo for () { /// The range of component `n` is `[0, 75]`. /// The range of component `m` is `[0, 35]`. fn set_inflation(n: u32, m: u32, ) -> Weight { - Weight::from_ref_time(0 as u64) - // Standard Error: 725_000 - .saturating_add(Weight::from_ref_time(503_847_000 as u64).saturating_mul(n as u64)) - // Standard Error: 1_542_000 - .saturating_add(Weight::from_ref_time(1_032_264_000 as u64).saturating_mul(m as u64)) - .saturating_add(RocksDbWeight::get().reads((74 as u64).saturating_mul(n as u64))) - .saturating_add(RocksDbWeight::get().reads((150 as u64).saturating_mul(m as u64))) - .saturating_add(RocksDbWeight::get().writes((72 as u64).saturating_mul(n as u64))) - .saturating_add(RocksDbWeight::get().writes((150 as u64).saturating_mul(m as u64))) + Weight::from_ref_time(880_206_000 as u64) + // Standard Error: 5_316_702 + .saturating_add(Weight::from_ref_time(170_934_184 as u64).saturating_mul(n as u64)) + // Standard Error: 11_414_842 + .saturating_add(Weight::from_ref_time(326_552_012 as u64).saturating_mul(m as u64)) + .saturating_add(RocksDbWeight::get().reads(152 as u64)) + .saturating_add(RocksDbWeight::get().reads((27 as u64).saturating_mul(n as u64))) + .saturating_add(RocksDbWeight::get().reads((51 as u64).saturating_mul(m as u64))) + .saturating_add(RocksDbWeight::get().writes(145 as u64)) + .saturating_add(RocksDbWeight::get().writes((25 as u64).saturating_mul(n as u64))) + .saturating_add(RocksDbWeight::get().writes((51 as u64).saturating_mul(m as u64))) } // Storage: ParachainStaking MaxSelectedCandidates (r:1 w:1) // Storage: ParachainStaking TopCandidates (r:1 w:0) @@ -504,17 +515,18 @@ impl WeightInfo for () { /// The range of component `n` is `[16, 75]`. /// The range of component `m` is `[0, 35]`. fn set_max_selected_candidates(n: u32, m: u32, ) -> Weight { - Weight::from_ref_time(0 as u64) - // Standard Error: 245_000 - .saturating_add(Weight::from_ref_time(26_950_000 as u64).saturating_mul(n as u64)) - // Standard Error: 412_000 - .saturating_add(Weight::from_ref_time(42_580_000 as u64).saturating_mul(m as u64)) + Weight::from_ref_time(71_790_000 as u64) + // Standard Error: 27_483 + .saturating_add(Weight::from_ref_time(3_582_143 as u64).saturating_mul(n as u64)) + // Standard Error: 60_832 + .saturating_add(Weight::from_ref_time(349_083 as u64).saturating_mul(m as u64)) + .saturating_add(RocksDbWeight::get().reads(3 as u64)) .saturating_add(RocksDbWeight::get().reads((1 as u64).saturating_mul(n as u64))) .saturating_add(RocksDbWeight::get().writes(2 as u64)) } // Storage: ParachainStaking Round (r:1 w:1) fn set_blocks_per_round() -> Weight { - Weight::from_ref_time(29_360_000 as u64) + Weight::from_ref_time(56_977_000 as u64) .saturating_add(RocksDbWeight::get().reads(1 as u64)) .saturating_add(RocksDbWeight::get().writes(1 as u64)) } @@ -535,11 +547,11 @@ impl WeightInfo for () { /// The range of component `n` is `[17, 75]`. /// The range of component `m` is `[0, 35]`. fn force_remove_candidate(n: u32, m: u32, ) -> Weight { - Weight::from_ref_time(0 as u64) - // Standard Error: 238_000 - .saturating_add(Weight::from_ref_time(27_688_000 as u64).saturating_mul(n as u64)) - // Standard Error: 393_000 - .saturating_add(Weight::from_ref_time(78_182_000 as u64).saturating_mul(m as u64)) + Weight::from_ref_time(167_630_000 as u64) + // Standard Error: 33_915 + .saturating_add(Weight::from_ref_time(1_267_282 as u64).saturating_mul(n as u64)) + // Standard Error: 75_237 + .saturating_add(Weight::from_ref_time(32_352_601 as u64).saturating_mul(m as u64)) .saturating_add(RocksDbWeight::get().reads(29 as u64)) .saturating_add(RocksDbWeight::get().reads((4 as u64).saturating_mul(m as u64))) .saturating_add(RocksDbWeight::get().writes(10 as u64)) @@ -558,11 +570,11 @@ impl WeightInfo for () { /// The range of component `n` is `[1, 74]`. /// The range of component `m` is `[0, 35]`. fn join_candidates(n: u32, m: u32, ) -> Weight { - Weight::from_ref_time(0 as u64) - // Standard Error: 225_000 - .saturating_add(Weight::from_ref_time(22_116_000 as u64).saturating_mul(n as u64)) - // Standard Error: 468_000 - .saturating_add(Weight::from_ref_time(45_139_000 as u64).saturating_mul(m as u64)) + Weight::from_ref_time(74_868_992 as u64) + // Standard Error: 15_510 + .saturating_add(Weight::from_ref_time(844_907 as u64).saturating_mul(n as u64)) + // Standard Error: 32_208 + .saturating_add(Weight::from_ref_time(1_664_228 as u64).saturating_mul(m as u64)) .saturating_add(RocksDbWeight::get().reads(10 as u64)) .saturating_add(RocksDbWeight::get().writes(7 as u64)) } @@ -574,11 +586,11 @@ impl WeightInfo for () { /// The range of component `n` is `[17, 74]`. /// The range of component `m` is `[0, 35]`. fn init_leave_candidates(n: u32, m: u32, ) -> Weight { - Weight::from_ref_time(0 as u64) - // Standard Error: 253_000 - .saturating_add(Weight::from_ref_time(27_095_000 as u64).saturating_mul(n as u64)) - // Standard Error: 410_000 - .saturating_add(Weight::from_ref_time(50_128_000 as u64).saturating_mul(m as u64)) + Weight::from_ref_time(102_892_381 as u64) + // Standard Error: 15_634 + .saturating_add(Weight::from_ref_time(884_087 as u64).saturating_mul(n as u64)) + // Standard Error: 25_354 + .saturating_add(Weight::from_ref_time(1_951_960 as u64).saturating_mul(m as u64)) .saturating_add(RocksDbWeight::get().reads(21 as u64)) .saturating_add(RocksDbWeight::get().writes(3 as u64)) } @@ -589,11 +601,11 @@ impl WeightInfo for () { /// The range of component `n` is `[17, 74]`. /// The range of component `m` is `[0, 35]`. fn cancel_leave_candidates(n: u32, m: u32, ) -> Weight { - Weight::from_ref_time(0 as u64) - // Standard Error: 262_000 - .saturating_add(Weight::from_ref_time(27_719_000 as u64).saturating_mul(n as u64)) - // Standard Error: 426_000 - .saturating_add(Weight::from_ref_time(51_151_000 as u64).saturating_mul(m as u64)) + Weight::from_ref_time(62_163_088 as u64) + // Standard Error: 11_849 + .saturating_add(Weight::from_ref_time(470_670 as u64).saturating_mul(n as u64)) + // Standard Error: 19_216 + .saturating_add(Weight::from_ref_time(1_150_199 as u64).saturating_mul(m as u64)) .saturating_add(RocksDbWeight::get().reads(5 as u64)) .saturating_add(RocksDbWeight::get().writes(3 as u64)) } @@ -613,11 +625,11 @@ impl WeightInfo for () { /// The range of component `n` is `[17, 74]`. /// The range of component `m` is `[0, 35]`. fn execute_leave_candidates(n: u32, m: u32, ) -> Weight { - Weight::from_ref_time(0 as u64) - // Standard Error: 246_000 - .saturating_add(Weight::from_ref_time(31_941_000 as u64).saturating_mul(n as u64)) - // Standard Error: 400_000 - .saturating_add(Weight::from_ref_time(87_138_000 as u64).saturating_mul(m as u64)) + Weight::from_ref_time(101_532_000 as u64) + // Standard Error: 33_213 + .saturating_add(Weight::from_ref_time(1_131_850 as u64).saturating_mul(n as u64)) + // Standard Error: 72_738 + .saturating_add(Weight::from_ref_time(32_258_326 as u64).saturating_mul(m as u64)) .saturating_add(RocksDbWeight::get().reads(12 as u64)) .saturating_add(RocksDbWeight::get().reads((4 as u64).saturating_mul(m as u64))) .saturating_add(RocksDbWeight::get().writes(8 as u64)) @@ -638,12 +650,14 @@ impl WeightInfo for () { /// The range of component `n` is `[1, 74]`. /// The range of component `m` is `[0, 35]`. /// The range of component `u` is `[0, 9]`. - fn candidate_stake_more(n: u32, m: u32, _u: u32, ) -> Weight { - Weight::from_ref_time(0 as u64) - // Standard Error: 198_000 - .saturating_add(Weight::from_ref_time(28_533_000 as u64).saturating_mul(n as u64)) - // Standard Error: 412_000 - .saturating_add(Weight::from_ref_time(58_754_000 as u64).saturating_mul(m as u64)) + fn candidate_stake_more(n: u32, m: u32, u: u32, ) -> Weight { + Weight::from_ref_time(71_965_734 as u64) + // Standard Error: 13_893 + .saturating_add(Weight::from_ref_time(925_357 as u64).saturating_mul(n as u64)) + // Standard Error: 28_840 + .saturating_add(Weight::from_ref_time(1_887_704 as u64).saturating_mul(m as u64)) + // Standard Error: 106_831 + .saturating_add(Weight::from_ref_time(1_865_718 as u64).saturating_mul(u as u64)) .saturating_add(RocksDbWeight::get().reads(12 as u64)) .saturating_add(RocksDbWeight::get().writes(8 as u64)) } @@ -659,11 +673,11 @@ impl WeightInfo for () { /// The range of component `n` is `[1, 74]`. /// The range of component `m` is `[0, 35]`. fn candidate_stake_less(n: u32, m: u32, ) -> Weight { - Weight::from_ref_time(0 as u64) - // Standard Error: 238_000 - .saturating_add(Weight::from_ref_time(27_302_000 as u64).saturating_mul(n as u64)) - // Standard Error: 494_000 - .saturating_add(Weight::from_ref_time(56_407_000 as u64).saturating_mul(m as u64)) + Weight::from_ref_time(62_739_612 as u64) + // Standard Error: 16_793 + .saturating_add(Weight::from_ref_time(864_759 as u64).saturating_mul(n as u64)) + // Standard Error: 34_871 + .saturating_add(Weight::from_ref_time(1_709_617 as u64).saturating_mul(m as u64)) .saturating_add(RocksDbWeight::get().reads(9 as u64)) .saturating_add(RocksDbWeight::get().writes(6 as u64)) } @@ -682,11 +696,11 @@ impl WeightInfo for () { /// The range of component `n` is `[1, 75]`. /// The range of component `m` is `[1, 34]`. fn join_delegators(n: u32, m: u32, ) -> Weight { - Weight::from_ref_time(0 as u64) - // Standard Error: 222_000 - .saturating_add(Weight::from_ref_time(26_756_000 as u64).saturating_mul(n as u64)) - // Standard Error: 493_000 - .saturating_add(Weight::from_ref_time(58_560_000 as u64).saturating_mul(m as u64)) + Weight::from_ref_time(77_485_243 as u64) + // Standard Error: 14_703 + .saturating_add(Weight::from_ref_time(1_058_123 as u64).saturating_mul(n as u64)) + // Standard Error: 32_678 + .saturating_add(Weight::from_ref_time(2_182_817 as u64).saturating_mul(m as u64)) .saturating_add(RocksDbWeight::get().reads(12 as u64)) .saturating_add(RocksDbWeight::get().writes(9 as u64)) } @@ -705,12 +719,14 @@ impl WeightInfo for () { /// The range of component `n` is `[1, 75]`. /// The range of component `m` is `[1, 34]`. /// The range of component `u` is `[1, 9]`. - fn delegator_stake_more(n: u32, m: u32, _u: u32, ) -> Weight { - Weight::from_ref_time(0 as u64) - // Standard Error: 184_000 - .saturating_add(Weight::from_ref_time(28_310_000 as u64).saturating_mul(n as u64)) - // Standard Error: 409_000 - .saturating_add(Weight::from_ref_time(61_656_000 as u64).saturating_mul(m as u64)) + fn delegator_stake_more(n: u32, m: u32, u: u32, ) -> Weight { + Weight::from_ref_time(82_500_737 as u64) + // Standard Error: 12_571 + .saturating_add(Weight::from_ref_time(971_252 as u64).saturating_mul(n as u64)) + // Standard Error: 27_929 + .saturating_add(Weight::from_ref_time(1_947_599 as u64).saturating_mul(m as u64)) + // Standard Error: 108_324 + .saturating_add(Weight::from_ref_time(1_782_476 as u64).saturating_mul(u as u64)) .saturating_add(RocksDbWeight::get().reads(12 as u64)) .saturating_add(RocksDbWeight::get().writes(9 as u64)) } @@ -727,11 +743,11 @@ impl WeightInfo for () { /// The range of component `n` is `[1, 75]`. /// The range of component `m` is `[1, 34]`. fn delegator_stake_less(n: u32, m: u32, ) -> Weight { - Weight::from_ref_time(0 as u64) - // Standard Error: 231_000 - .saturating_add(Weight::from_ref_time(27_176_000 as u64).saturating_mul(n as u64)) - // Standard Error: 515_000 - .saturating_add(Weight::from_ref_time(59_103_000 as u64).saturating_mul(m as u64)) + Weight::from_ref_time(72_772_464 as u64) + // Standard Error: 14_214 + .saturating_add(Weight::from_ref_time(909_175 as u64).saturating_mul(n as u64)) + // Standard Error: 31_591 + .saturating_add(Weight::from_ref_time(1_824_513 as u64).saturating_mul(m as u64)) .saturating_add(RocksDbWeight::get().reads(10 as u64)) .saturating_add(RocksDbWeight::get().writes(7 as u64)) } @@ -748,11 +764,11 @@ impl WeightInfo for () { /// The range of component `n` is `[1, 75]`. /// The range of component `m` is `[1, 34]`. fn leave_delegators(n: u32, m: u32, ) -> Weight { - Weight::from_ref_time(0 as u64) - // Standard Error: 225_000 - .saturating_add(Weight::from_ref_time(27_268_000 as u64).saturating_mul(n as u64)) - // Standard Error: 500_000 - .saturating_add(Weight::from_ref_time(59_282_000 as u64).saturating_mul(m as u64)) + Weight::from_ref_time(80_275_828 as u64) + // Standard Error: 14_671 + .saturating_add(Weight::from_ref_time(913_421 as u64).saturating_mul(n as u64)) + // Standard Error: 32_607 + .saturating_add(Weight::from_ref_time(1_764_476 as u64).saturating_mul(m as u64)) .saturating_add(RocksDbWeight::get().reads(10 as u64)) .saturating_add(RocksDbWeight::get().writes(7 as u64)) } @@ -761,15 +777,15 @@ impl WeightInfo for () { // Storage: System Account (r:1 w:1) /// The range of component `u` is `[1, 9]`. fn unlock_unstaked(u: u32, ) -> Weight { - Weight::from_ref_time(56_797_000 as u64) - // Standard Error: 12_000 - .saturating_add(Weight::from_ref_time(274_000 as u64).saturating_mul(u as u64)) + Weight::from_ref_time(53_730_996 as u64) + // Standard Error: 18_906 + .saturating_add(Weight::from_ref_time(410_777 as u64).saturating_mul(u as u64)) .saturating_add(RocksDbWeight::get().reads(3 as u64)) .saturating_add(RocksDbWeight::get().writes(3 as u64)) } // Storage: ParachainStaking MaxCollatorCandidateStake (r:0 w:1) fn set_max_candidate_stake() -> Weight { - Weight::from_ref_time(23_858_000 as u64) + Weight::from_ref_time(43_109_000 as u64) .saturating_add(RocksDbWeight::get().writes(1 as u64)) } // Storage: ParachainStaking DelegatorState (r:1 w:0) @@ -779,7 +795,7 @@ impl WeightInfo for () { // Storage: ParachainStaking TotalCollatorStake (r:1 w:0) // Storage: ParachainStaking InflationConfig (r:1 w:0) fn increment_delegator_rewards() -> Weight { - Weight::from_ref_time(46_081_000 as u64) + Weight::from_ref_time(40_000_000 as u64) .saturating_add(RocksDbWeight::get().reads(6 as u64)) .saturating_add(RocksDbWeight::get().writes(2 as u64)) } @@ -790,14 +806,14 @@ impl WeightInfo for () { // Storage: ParachainStaking TotalCollatorStake (r:1 w:0) // Storage: ParachainStaking InflationConfig (r:1 w:0) fn increment_collator_rewards() -> Weight { - Weight::from_ref_time(39_423_000 as u64) + Weight::from_ref_time(35_612_000 as u64) .saturating_add(RocksDbWeight::get().reads(6 as u64)) .saturating_add(RocksDbWeight::get().writes(2 as u64)) } // Storage: ParachainStaking Rewards (r:1 w:1) // Storage: System Account (r:1 w:1) fn claim_rewards() -> Weight { - Weight::from_ref_time(58_622_000 as u64) + Weight::from_ref_time(54_273_000 as u64) .saturating_add(RocksDbWeight::get().reads(2 as u64)) .saturating_add(RocksDbWeight::get().writes(2 as u64)) } @@ -812,14 +828,16 @@ impl WeightInfo for () { /// The range of component `n` is `[0, 75]`. /// The range of component `m` is `[0, 35]`. fn execute_scheduled_reward_change(n: u32, m: u32, ) -> Weight { - Weight::from_ref_time(0 as u64) - // Standard Error: 617_000 - .saturating_add(Weight::from_ref_time(501_562_000 as u64).saturating_mul(n as u64)) - // Standard Error: 1_313_000 - .saturating_add(Weight::from_ref_time(1_032_648_000 as u64).saturating_mul(m as u64)) - .saturating_add(RocksDbWeight::get().reads((74 as u64).saturating_mul(n as u64))) - .saturating_add(RocksDbWeight::get().reads((150 as u64).saturating_mul(m as u64))) - .saturating_add(RocksDbWeight::get().writes((72 as u64).saturating_mul(n as u64))) - .saturating_add(RocksDbWeight::get().writes((150 as u64).saturating_mul(m as u64))) + Weight::from_ref_time(869_446_000 as u64) + // Standard Error: 5_211_771 + .saturating_add(Weight::from_ref_time(166_314_407 as u64).saturating_mul(n as u64)) + // Standard Error: 11_189_560 + .saturating_add(Weight::from_ref_time(321_504_163 as u64).saturating_mul(m as u64)) + .saturating_add(RocksDbWeight::get().reads(153 as u64)) + .saturating_add(RocksDbWeight::get().reads((27 as u64).saturating_mul(n as u64))) + .saturating_add(RocksDbWeight::get().reads((51 as u64).saturating_mul(m as u64))) + .saturating_add(RocksDbWeight::get().writes(146 as u64)) + .saturating_add(RocksDbWeight::get().writes((25 as u64).saturating_mul(n as u64))) + .saturating_add(RocksDbWeight::get().writes((51 as u64).saturating_mul(m as u64))) } } diff --git a/pallets/public-credentials/src/default_weights.rs b/pallets/public-credentials/src/default_weights.rs index 3a4ab99ef..1486b7698 100644 --- a/pallets/public-credentials/src/default_weights.rs +++ b/pallets/public-credentials/src/default_weights.rs @@ -19,7 +19,7 @@ //! Autogenerated weights for public_credentials //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-11-07, STEPS: {{cmd.steps}}\, REPEAT: {{cmd.repeat}}\, LOW RANGE: {{cmd.lowest_range_values}}\, HIGH RANGE: {{cmd.highest_range_values}}\ +//! DATE: 2023-02-01, STEPS: {{cmd.steps}}\, REPEAT: {{cmd.repeat}}\, LOW RANGE: {{cmd.lowest_range_values}}\, HIGH RANGE: {{cmd.highest_range_values}}\ //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024 // Executed Command: @@ -65,23 +65,23 @@ impl WeightInfo for SubstrateWeight { // Storage: PublicCredentials CredentialSubjects (r:0 w:1) /// The range of component `c` is `[1, 100000]`. fn add(c: u32, ) -> Weight { - Weight::from_ref_time(72_318_000 as u64) - // Standard Error: 0 - .saturating_add(Weight::from_ref_time(2_000 as u64).saturating_mul(c as u64)) + Weight::from_ref_time(96_667_665 as u64) + // Standard Error: 54 + .saturating_add(Weight::from_ref_time(2_659 as u64).saturating_mul(c as u64)) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } // Storage: PublicCredentials CredentialSubjects (r:1 w:0) // Storage: PublicCredentials Credentials (r:1 w:1) fn revoke() -> Weight { - Weight::from_ref_time(45_231_000 as u64) + Weight::from_ref_time(43_871_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: PublicCredentials CredentialSubjects (r:1 w:0) // Storage: PublicCredentials Credentials (r:1 w:1) fn unrevoke() -> Weight { - Weight::from_ref_time(45_143_000 as u64) + Weight::from_ref_time(85_230_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } @@ -89,7 +89,7 @@ impl WeightInfo for SubstrateWeight { // Storage: PublicCredentials Credentials (r:1 w:1) // Storage: System Account (r:1 w:1) fn remove() -> Weight { - Weight::from_ref_time(69_585_000 as u64) + Weight::from_ref_time(69_558_000 as u64) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } @@ -97,7 +97,7 @@ impl WeightInfo for SubstrateWeight { // Storage: PublicCredentials Credentials (r:1 w:1) // Storage: System Account (r:1 w:1) fn reclaim_deposit() -> Weight { - Weight::from_ref_time(69_922_000 as u64) + Weight::from_ref_time(79_250_000 as u64) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } @@ -105,7 +105,7 @@ impl WeightInfo for SubstrateWeight { // Storage: PublicCredentials Credentials (r:1 w:1) // Storage: System Account (r:2 w:2) fn change_deposit_owner() -> Weight { - Weight::from_ref_time(88_236_000 as u64) + Weight::from_ref_time(82_619_000 as u64) .saturating_add(T::DbWeight::get().reads(4 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } @@ -113,7 +113,7 @@ impl WeightInfo for SubstrateWeight { // Storage: PublicCredentials Credentials (r:1 w:1) // Storage: System Account (r:1 w:1) fn update_deposit() -> Weight { - Weight::from_ref_time(82_126_000 as u64) + Weight::from_ref_time(185_610_000 as u64) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } @@ -127,23 +127,23 @@ impl WeightInfo for () { // Storage: PublicCredentials CredentialSubjects (r:0 w:1) /// The range of component `c` is `[1, 100000]`. fn add(c: u32, ) -> Weight { - Weight::from_ref_time(72_318_000 as u64) - // Standard Error: 0 - .saturating_add(Weight::from_ref_time(2_000 as u64).saturating_mul(c as u64)) + Weight::from_ref_time(96_667_665 as u64) + // Standard Error: 54 + .saturating_add(Weight::from_ref_time(2_659 as u64).saturating_mul(c as u64)) .saturating_add(RocksDbWeight::get().reads(3 as u64)) .saturating_add(RocksDbWeight::get().writes(3 as u64)) } // Storage: PublicCredentials CredentialSubjects (r:1 w:0) // Storage: PublicCredentials Credentials (r:1 w:1) fn revoke() -> Weight { - Weight::from_ref_time(45_231_000 as u64) + Weight::from_ref_time(43_871_000 as u64) .saturating_add(RocksDbWeight::get().reads(2 as u64)) .saturating_add(RocksDbWeight::get().writes(1 as u64)) } // Storage: PublicCredentials CredentialSubjects (r:1 w:0) // Storage: PublicCredentials Credentials (r:1 w:1) fn unrevoke() -> Weight { - Weight::from_ref_time(45_143_000 as u64) + Weight::from_ref_time(85_230_000 as u64) .saturating_add(RocksDbWeight::get().reads(2 as u64)) .saturating_add(RocksDbWeight::get().writes(1 as u64)) } @@ -151,7 +151,7 @@ impl WeightInfo for () { // Storage: PublicCredentials Credentials (r:1 w:1) // Storage: System Account (r:1 w:1) fn remove() -> Weight { - Weight::from_ref_time(69_585_000 as u64) + Weight::from_ref_time(69_558_000 as u64) .saturating_add(RocksDbWeight::get().reads(3 as u64)) .saturating_add(RocksDbWeight::get().writes(3 as u64)) } @@ -159,7 +159,7 @@ impl WeightInfo for () { // Storage: PublicCredentials Credentials (r:1 w:1) // Storage: System Account (r:1 w:1) fn reclaim_deposit() -> Weight { - Weight::from_ref_time(69_922_000 as u64) + Weight::from_ref_time(79_250_000 as u64) .saturating_add(RocksDbWeight::get().reads(3 as u64)) .saturating_add(RocksDbWeight::get().writes(3 as u64)) } @@ -167,7 +167,7 @@ impl WeightInfo for () { // Storage: PublicCredentials Credentials (r:1 w:1) // Storage: System Account (r:2 w:2) fn change_deposit_owner() -> Weight { - Weight::from_ref_time(88_236_000 as u64) + Weight::from_ref_time(82_619_000 as u64) .saturating_add(RocksDbWeight::get().reads(4 as u64)) .saturating_add(RocksDbWeight::get().writes(3 as u64)) } @@ -175,7 +175,7 @@ impl WeightInfo for () { // Storage: PublicCredentials Credentials (r:1 w:1) // Storage: System Account (r:1 w:1) fn update_deposit() -> Weight { - Weight::from_ref_time(82_126_000 as u64) + Weight::from_ref_time(185_610_000 as u64) .saturating_add(RocksDbWeight::get().reads(3 as u64)) .saturating_add(RocksDbWeight::get().writes(2 as u64)) } diff --git a/runtimes/peregrine/src/weights/attestation.rs b/runtimes/peregrine/src/weights/attestation.rs index 4cf8085d4..c0ce47292 100644 --- a/runtimes/peregrine/src/weights/attestation.rs +++ b/runtimes/peregrine/src/weights/attestation.rs @@ -19,7 +19,7 @@ //! Autogenerated weights for attestation //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-11-07, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2023-02-02, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024 // Executed Command: @@ -52,41 +52,41 @@ impl attestation::WeightInfo for WeightInfo { // Storage: Attestation Attestations (r:1 w:1) // Storage: System Account (r:1 w:1) fn add() -> Weight { - Weight::from_ref_time(57_114_000 as u64) + Weight::from_ref_time(53_744_000 as u64) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Attestation Attestations (r:1 w:1) fn revoke() -> Weight { - Weight::from_ref_time(34_634_000 as u64) + Weight::from_ref_time(32_562_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Attestation Attestations (r:1 w:1) // Storage: System Account (r:1 w:1) fn remove() -> Weight { - Weight::from_ref_time(52_872_000 as u64) + Weight::from_ref_time(106_038_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Attestation Attestations (r:1 w:1) // Storage: System Account (r:1 w:1) fn reclaim_deposit() -> Weight { - Weight::from_ref_time(52_778_000 as u64) + Weight::from_ref_time(50_583_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Attestation Attestations (r:1 w:1) // Storage: System Account (r:2 w:2) fn change_deposit_owner() -> Weight { - Weight::from_ref_time(69_052_000 as u64) + Weight::from_ref_time(146_133_000 as u64) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } // Storage: Attestation Attestations (r:1 w:1) // Storage: System Account (r:1 w:1) fn update_deposit() -> Weight { - Weight::from_ref_time(62_863_000 as u64) + Weight::from_ref_time(61_290_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } diff --git a/runtimes/peregrine/src/weights/ctype.rs b/runtimes/peregrine/src/weights/ctype.rs index cb9bfddb1..e46ec6508 100644 --- a/runtimes/peregrine/src/weights/ctype.rs +++ b/runtimes/peregrine/src/weights/ctype.rs @@ -19,7 +19,7 @@ //! Autogenerated weights for ctype //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-11-30, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2023-02-02, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024 // Executed Command: @@ -51,15 +51,15 @@ impl ctype::WeightInfo for WeightInfo { // Storage: System Account (r:2 w:2) // Storage: Ctype Ctypes (r:1 w:1) fn add(l: u32, ) -> Weight { - Weight::from_ref_time(6_447_000 as u64) + Weight::from_ref_time(25_806_258 as u64) // Standard Error: 0 - .saturating_add(Weight::from_ref_time(2_000 as u64).saturating_mul(l as u64)) + .saturating_add(Weight::from_ref_time(1_949 as u64).saturating_mul(l as u64)) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } // Storage: Ctype Ctypes (r:1 w:1) fn set_block_number() -> Weight { - Weight::from_ref_time(19_549_000 as u64) + Weight::from_ref_time(33_100_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } diff --git a/runtimes/peregrine/src/weights/delegation.rs b/runtimes/peregrine/src/weights/delegation.rs index b29ea4c60..2ea8ab62c 100644 --- a/runtimes/peregrine/src/weights/delegation.rs +++ b/runtimes/peregrine/src/weights/delegation.rs @@ -19,7 +19,7 @@ //! Autogenerated weights for delegation //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-11-07, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2023-02-02, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024 // Executed Command: @@ -53,35 +53,37 @@ impl delegation::WeightInfo for WeightInfo { // Storage: System Account (r:1 w:1) // Storage: Delegation DelegationNodes (r:0 w:1) fn create_hierarchy() -> Weight { - Weight::from_ref_time(57_917_000 as u64) + Weight::from_ref_time(119_806_000 as u64) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } // Storage: Delegation DelegationNodes (r:2 w:2) // Storage: System Account (r:1 w:1) fn add_delegation() -> Weight { - Weight::from_ref_time(62_749_000 as u64) + Weight::from_ref_time(59_204_000 as u64) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } // Storage: Delegation DelegationNodes (r:1 w:1) // Storage: Delegation DelegationHierarchies (r:1 w:0) fn revoke_delegation_root_child(r: u32, c: u32, ) -> Weight { - Weight::from_ref_time(32_160_000 as u64) - // Standard Error: 37_000 - .saturating_add(Weight::from_ref_time(14_117_000 as u64).saturating_mul(r as u64)) - // Standard Error: 37_000 - .saturating_add(Weight::from_ref_time(467_000 as u64).saturating_mul(c as u64)) + Weight::from_ref_time(30_658_951 as u64) + // Standard Error: 32_764 + .saturating_add(Weight::from_ref_time(13_456_648 as u64).saturating_mul(r as u64)) + // Standard Error: 32_764 + .saturating_add(Weight::from_ref_time(343_360 as u64).saturating_mul(c as u64)) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(r as u64))) .saturating_add(T::DbWeight::get().writes((1 as u64).saturating_mul(r as u64))) } // Storage: Delegation DelegationNodes (r:6 w:1) // Storage: Delegation DelegationHierarchies (r:1 w:0) - fn revoke_delegation_leaf(_r: u32, c: u32, ) -> Weight { - Weight::from_ref_time(48_395_000 as u64) - // Standard Error: 11_000 - .saturating_add(Weight::from_ref_time(4_088_000 as u64).saturating_mul(c as u64)) + fn revoke_delegation_leaf(r: u32, c: u32, ) -> Weight { + Weight::from_ref_time(45_118_263 as u64) + // Standard Error: 8_164 + .saturating_add(Weight::from_ref_time(96_141 as u64).saturating_mul(r as u64)) + // Standard Error: 8_164 + .saturating_add(Weight::from_ref_time(3_856_481 as u64).saturating_mul(c as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(c as u64))) .saturating_add(T::DbWeight::get().writes(1 as u64)) @@ -90,9 +92,9 @@ impl delegation::WeightInfo for WeightInfo { // Storage: System Account (r:1 w:1) // Storage: Delegation DelegationHierarchies (r:1 w:1) fn remove_delegation(r: u32, ) -> Weight { - Weight::from_ref_time(68_696_000 as u64) - // Standard Error: 22_000 - .saturating_add(Weight::from_ref_time(24_154_000 as u64).saturating_mul(r as u64)) + Weight::from_ref_time(65_191_861 as u64) + // Standard Error: 16_842 + .saturating_add(Weight::from_ref_time(23_735_547 as u64).saturating_mul(r as u64)) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(r as u64))) .saturating_add(T::DbWeight::get().writes(3 as u64)) @@ -102,9 +104,9 @@ impl delegation::WeightInfo for WeightInfo { // Storage: System Account (r:1 w:1) // Storage: Delegation DelegationHierarchies (r:0 w:1) fn reclaim_deposit(r: u32, ) -> Weight { - Weight::from_ref_time(60_232_000 as u64) - // Standard Error: 28_000 - .saturating_add(Weight::from_ref_time(24_455_000 as u64).saturating_mul(r as u64)) + Weight::from_ref_time(58_376_138 as u64) + // Standard Error: 15_538 + .saturating_add(Weight::from_ref_time(23_608_366 as u64).saturating_mul(r as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(r as u64))) .saturating_add(T::DbWeight::get().writes(3 as u64)) @@ -113,36 +115,36 @@ impl delegation::WeightInfo for WeightInfo { // Storage: Delegation DelegationNodes (r:1 w:0) // Storage: Delegation DelegationHierarchies (r:1 w:0) fn can_attest() -> Weight { - Weight::from_ref_time(18_381_000 as u64) + Weight::from_ref_time(16_434_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) } // Storage: Delegation DelegationNodes (r:2 w:0) fn can_revoke(c: u32, ) -> Weight { - Weight::from_ref_time(12_919_000 as u64) - // Standard Error: 10_000 - .saturating_add(Weight::from_ref_time(4_488_000 as u64).saturating_mul(c as u64)) + Weight::from_ref_time(11_548_559 as u64) + // Standard Error: 9_366 + .saturating_add(Weight::from_ref_time(4_230_803 as u64).saturating_mul(c as u64)) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(c as u64))) } // Storage: Delegation DelegationNodes (r:2 w:0) fn can_remove(c: u32, ) -> Weight { - Weight::from_ref_time(12_874_000 as u64) - // Standard Error: 9_000 - .saturating_add(Weight::from_ref_time(4_494_000 as u64).saturating_mul(c as u64)) + Weight::from_ref_time(11_525_657 as u64) + // Standard Error: 10_072 + .saturating_add(Weight::from_ref_time(4_202_909 as u64).saturating_mul(c as u64)) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(c as u64))) } // Storage: Delegation DelegationNodes (r:1 w:1) // Storage: System Account (r:2 w:2) fn change_deposit_owner() -> Weight { - Weight::from_ref_time(69_415_000 as u64) + Weight::from_ref_time(66_866_000 as u64) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } // Storage: Delegation DelegationNodes (r:1 w:1) // Storage: System Account (r:1 w:1) fn update_deposit() -> Weight { - Weight::from_ref_time(64_222_000 as u64) + Weight::from_ref_time(62_399_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } diff --git a/runtimes/peregrine/src/weights/did.rs b/runtimes/peregrine/src/weights/did.rs index b7741255e..5bd407fbd 100644 --- a/runtimes/peregrine/src/weights/did.rs +++ b/runtimes/peregrine/src/weights/did.rs @@ -19,7 +19,7 @@ //! Autogenerated weights for did //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-11-07, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2023-02-02, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024 // Executed Command: @@ -54,11 +54,11 @@ impl did::WeightInfo for WeightInfo { // Storage: Did DidEndpointsCount (r:0 w:1) // Storage: Did ServiceEndpoints (r:0 w:25) fn create_ed25519_keys(n: u32, c: u32, ) -> Weight { - Weight::from_ref_time(160_839_000 as u64) - // Standard Error: 17_000 - .saturating_add(Weight::from_ref_time(1_114_000 as u64).saturating_mul(n as u64)) - // Standard Error: 6_000 - .saturating_add(Weight::from_ref_time(6_112_000 as u64).saturating_mul(c as u64)) + Weight::from_ref_time(154_242_538 as u64) + // Standard Error: 11_816 + .saturating_add(Weight::from_ref_time(1_291_514 as u64).saturating_mul(n as u64)) + // Standard Error: 4_568 + .saturating_add(Weight::from_ref_time(6_121_940 as u64).saturating_mul(c as u64)) .saturating_add(T::DbWeight::get().reads(4 as u64)) .saturating_add(T::DbWeight::get().writes(4 as u64)) .saturating_add(T::DbWeight::get().writes((1 as u64).saturating_mul(c as u64))) @@ -69,11 +69,11 @@ impl did::WeightInfo for WeightInfo { // Storage: Did DidEndpointsCount (r:0 w:1) // Storage: Did ServiceEndpoints (r:0 w:25) fn create_sr25519_keys(n: u32, c: u32, ) -> Weight { - Weight::from_ref_time(159_049_000 as u64) - // Standard Error: 16_000 - .saturating_add(Weight::from_ref_time(1_405_000 as u64).saturating_mul(n as u64)) - // Standard Error: 6_000 - .saturating_add(Weight::from_ref_time(6_634_000 as u64).saturating_mul(c as u64)) + Weight::from_ref_time(156_036_020 as u64) + // Standard Error: 12_514 + .saturating_add(Weight::from_ref_time(1_318_211 as u64).saturating_mul(n as u64)) + // Standard Error: 4_838 + .saturating_add(Weight::from_ref_time(6_647_774 as u64).saturating_mul(c as u64)) .saturating_add(T::DbWeight::get().reads(4 as u64)) .saturating_add(T::DbWeight::get().writes(4 as u64)) .saturating_add(T::DbWeight::get().writes((1 as u64).saturating_mul(c as u64))) @@ -84,11 +84,11 @@ impl did::WeightInfo for WeightInfo { // Storage: Did DidEndpointsCount (r:0 w:1) // Storage: Did ServiceEndpoints (r:0 w:25) fn create_ecdsa_keys(n: u32, c: u32, ) -> Weight { - Weight::from_ref_time(145_535_000 as u64) - // Standard Error: 15_000 - .saturating_add(Weight::from_ref_time(1_296_000 as u64).saturating_mul(n as u64)) - // Standard Error: 5_000 - .saturating_add(Weight::from_ref_time(5_790_000 as u64).saturating_mul(c as u64)) + Weight::from_ref_time(140_623_837 as u64) + // Standard Error: 12_354 + .saturating_add(Weight::from_ref_time(1_281_752 as u64).saturating_mul(n as u64)) + // Standard Error: 4_776 + .saturating_add(Weight::from_ref_time(5_831_386 as u64).saturating_mul(c as u64)) .saturating_add(T::DbWeight::get().reads(4 as u64)) .saturating_add(T::DbWeight::get().writes(4 as u64)) .saturating_add(T::DbWeight::get().writes((1 as u64).saturating_mul(c as u64))) @@ -98,9 +98,9 @@ impl did::WeightInfo for WeightInfo { // Storage: Did DidBlacklist (r:0 w:1) // Storage: Did ServiceEndpoints (r:0 w:1) fn delete(c: u32, ) -> Weight { - Weight::from_ref_time(47_954_000 as u64) - // Standard Error: 4_000 - .saturating_add(Weight::from_ref_time(1_580_000 as u64).saturating_mul(c as u64)) + Weight::from_ref_time(46_572_281 as u64) + // Standard Error: 28_609 + .saturating_add(Weight::from_ref_time(1_314_888 as u64).saturating_mul(c as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) .saturating_add(T::DbWeight::get().writes((1 as u64).saturating_mul(c as u64))) @@ -110,154 +110,154 @@ impl did::WeightInfo for WeightInfo { // Storage: Did DidBlacklist (r:0 w:1) // Storage: Did ServiceEndpoints (r:0 w:1) fn reclaim_deposit(c: u32, ) -> Weight { - Weight::from_ref_time(50_904_000 as u64) - // Standard Error: 5_000 - .saturating_add(Weight::from_ref_time(1_597_000 as u64).saturating_mul(c as u64)) + Weight::from_ref_time(51_661_403 as u64) + // Standard Error: 37_610 + .saturating_add(Weight::from_ref_time(1_123_156 as u64).saturating_mul(c as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) .saturating_add(T::DbWeight::get().writes((1 as u64).saturating_mul(c as u64))) } // Storage: Did Did (r:1 w:1) fn submit_did_call_ed25519_key() -> Weight { - Weight::from_ref_time(95_978_000 as u64) + Weight::from_ref_time(96_270_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn submit_did_call_sr25519_key() -> Weight { - Weight::from_ref_time(96_861_000 as u64) + Weight::from_ref_time(96_904_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn submit_did_call_ecdsa_key() -> Weight { - Weight::from_ref_time(85_248_000 as u64) + Weight::from_ref_time(79_920_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn set_ed25519_authentication_key() -> Weight { - Weight::from_ref_time(46_146_000 as u64) + Weight::from_ref_time(43_971_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn set_sr25519_authentication_key() -> Weight { - Weight::from_ref_time(46_260_000 as u64) + Weight::from_ref_time(44_098_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn set_ecdsa_authentication_key() -> Weight { - Weight::from_ref_time(45_864_000 as u64) + Weight::from_ref_time(43_855_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn set_ed25519_delegation_key() -> Weight { - Weight::from_ref_time(45_780_000 as u64) + Weight::from_ref_time(43_560_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn set_sr25519_delegation_key() -> Weight { - Weight::from_ref_time(45_722_000 as u64) + Weight::from_ref_time(43_720_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn set_ecdsa_delegation_key() -> Weight { - Weight::from_ref_time(45_389_000 as u64) + Weight::from_ref_time(43_960_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn remove_ed25519_delegation_key() -> Weight { - Weight::from_ref_time(43_074_000 as u64) + Weight::from_ref_time(40_791_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn remove_sr25519_delegation_key() -> Weight { - Weight::from_ref_time(43_327_000 as u64) + Weight::from_ref_time(40_618_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn remove_ecdsa_delegation_key() -> Weight { - Weight::from_ref_time(43_082_000 as u64) + Weight::from_ref_time(41_272_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn set_ed25519_attestation_key() -> Weight { - Weight::from_ref_time(46_064_000 as u64) + Weight::from_ref_time(44_122_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn set_sr25519_attestation_key() -> Weight { - Weight::from_ref_time(45_833_000 as u64) + Weight::from_ref_time(43_451_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn set_ecdsa_attestation_key() -> Weight { - Weight::from_ref_time(45_778_000 as u64) + Weight::from_ref_time(43_511_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn remove_ed25519_attestation_key() -> Weight { - Weight::from_ref_time(43_047_000 as u64) + Weight::from_ref_time(40_645_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn remove_sr25519_attestation_key() -> Weight { - Weight::from_ref_time(42_916_000 as u64) + Weight::from_ref_time(41_175_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn remove_ecdsa_attestation_key() -> Weight { - Weight::from_ref_time(42_956_000 as u64) + Weight::from_ref_time(40_653_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn add_ed25519_key_agreement_key() -> Weight { - Weight::from_ref_time(45_280_000 as u64) + Weight::from_ref_time(42_519_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn add_sr25519_key_agreement_key() -> Weight { - Weight::from_ref_time(45_296_000 as u64) + Weight::from_ref_time(46_821_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn add_ecdsa_key_agreement_key() -> Weight { - Weight::from_ref_time(45_088_000 as u64) + Weight::from_ref_time(42_646_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn remove_ed25519_key_agreement_key() -> Weight { - Weight::from_ref_time(43_544_000 as u64) + Weight::from_ref_time(40_941_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn remove_sr25519_key_agreement_key() -> Weight { - Weight::from_ref_time(43_816_000 as u64) + Weight::from_ref_time(40_708_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn remove_ecdsa_key_agreement_key() -> Weight { - Weight::from_ref_time(43_364_000 as u64) + Weight::from_ref_time(40_705_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } @@ -265,49 +265,49 @@ impl did::WeightInfo for WeightInfo { // Storage: Did DidEndpointsCount (r:1 w:1) // Storage: Did ServiceEndpoints (r:1 w:1) fn add_service_endpoint() -> Weight { - Weight::from_ref_time(52_376_000 as u64) + Weight::from_ref_time(50_000_000 as u64) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Did ServiceEndpoints (r:1 w:1) // Storage: Did DidEndpointsCount (r:1 w:1) fn remove_service_endpoint() -> Weight { - Weight::from_ref_time(44_781_000 as u64) + Weight::from_ref_time(41_847_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Did Did (r:1 w:0) fn signature_verification_sr25519(l: u32, ) -> Weight { - Weight::from_ref_time(33_808_000 as u64) + Weight::from_ref_time(42_527_787 as u64) // Standard Error: 0 - .saturating_add(Weight::from_ref_time(4_000 as u64).saturating_mul(l as u64)) + .saturating_add(Weight::from_ref_time(4_137 as u64).saturating_mul(l as u64)) .saturating_add(T::DbWeight::get().reads(1 as u64)) } // Storage: Did Did (r:1 w:0) fn signature_verification_ed25519(l: u32, ) -> Weight { - Weight::from_ref_time(33_492_000 as u64) + Weight::from_ref_time(44_941_450 as u64) // Standard Error: 0 - .saturating_add(Weight::from_ref_time(2_000 as u64).saturating_mul(l as u64)) + .saturating_add(Weight::from_ref_time(2_466 as u64).saturating_mul(l as u64)) .saturating_add(T::DbWeight::get().reads(1 as u64)) } // Storage: Did Did (r:1 w:0) fn signature_verification_ecdsa(l: u32, ) -> Weight { - Weight::from_ref_time(17_995_000 as u64) + Weight::from_ref_time(26_159_079 as u64) // Standard Error: 0 - .saturating_add(Weight::from_ref_time(1_000 as u64).saturating_mul(l as u64)) + .saturating_add(Weight::from_ref_time(1_492 as u64).saturating_mul(l as u64)) .saturating_add(T::DbWeight::get().reads(1 as u64)) } // Storage: Did Did (r:1 w:1) // Storage: System Account (r:1 w:1) fn change_deposit_owner() -> Weight { - Weight::from_ref_time(61_888_000 as u64) + Weight::from_ref_time(59_684_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Did Did (r:1 w:1) // Storage: System Account (r:1 w:1) fn update_deposit() -> Weight { - Weight::from_ref_time(64_599_000 as u64) + Weight::from_ref_time(61_777_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } diff --git a/runtimes/peregrine/src/weights/frame_system.rs b/runtimes/peregrine/src/weights/frame_system.rs index 906a163b8..51963a389 100644 --- a/runtimes/peregrine/src/weights/frame_system.rs +++ b/runtimes/peregrine/src/weights/frame_system.rs @@ -19,7 +19,7 @@ //! Autogenerated weights for frame_system //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-11-07, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2023-02-02, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024 // Executed Command: @@ -48,40 +48,42 @@ use sp_std::marker::PhantomData; /// Weights for `frame_system`. pub struct WeightInfo(PhantomData); impl frame_system::WeightInfo for WeightInfo { - fn remark(_b: u32, ) -> Weight { - Weight::from_ref_time(14_175_000 as u64) + fn remark(b: u32, ) -> Weight { + Weight::from_ref_time(9_181_609 as u64) + // Standard Error: 0 + .saturating_add(Weight::from_ref_time(437 as u64).saturating_mul(b as u64)) } fn remark_with_event(b: u32, ) -> Weight { - Weight::from_ref_time(0 as u64) + Weight::from_ref_time(7_764_894 as u64) // Standard Error: 0 - .saturating_add(Weight::from_ref_time(2_000 as u64).saturating_mul(b as u64)) + .saturating_add(Weight::from_ref_time(1_938 as u64).saturating_mul(b as u64)) } // Storage: System Digest (r:1 w:1) // Storage: unknown [0x3a686561707061676573] (r:0 w:1) fn set_heap_pages() -> Weight { - Weight::from_ref_time(13_995_000 as u64) + Weight::from_ref_time(26_362_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Skipped Metadata (r:0 w:0) fn set_storage(i: u32, ) -> Weight { - Weight::from_ref_time(4_415_000 as u64) - // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(813_000 as u64).saturating_mul(i as u64)) + Weight::from_ref_time(12_890_000 as u64) + // Standard Error: 2_647 + .saturating_add(Weight::from_ref_time(881_235 as u64).saturating_mul(i as u64)) .saturating_add(T::DbWeight::get().writes((1 as u64).saturating_mul(i as u64))) } // Storage: Skipped Metadata (r:0 w:0) fn kill_storage(i: u32, ) -> Weight { - Weight::from_ref_time(545_000 as u64) - // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(664_000 as u64).saturating_mul(i as u64)) + Weight::from_ref_time(6_671_000 as u64) + // Standard Error: 1_028 + .saturating_add(Weight::from_ref_time(606_534 as u64).saturating_mul(i as u64)) .saturating_add(T::DbWeight::get().writes((1 as u64).saturating_mul(i as u64))) } // Storage: Skipped Metadata (r:0 w:0) fn kill_prefix(p: u32, ) -> Weight { - Weight::from_ref_time(2_790_000 as u64) - // Standard Error: 2_000 - .saturating_add(Weight::from_ref_time(1_326_000 as u64).saturating_mul(p as u64)) + Weight::from_ref_time(18_655_000 as u64) + // Standard Error: 1_467 + .saturating_add(Weight::from_ref_time(1_102_440 as u64).saturating_mul(p as u64)) .saturating_add(T::DbWeight::get().writes((1 as u64).saturating_mul(p as u64))) } } diff --git a/runtimes/peregrine/src/weights/pallet_balances.rs b/runtimes/peregrine/src/weights/pallet_balances.rs index bcf580e56..fc478b1d0 100644 --- a/runtimes/peregrine/src/weights/pallet_balances.rs +++ b/runtimes/peregrine/src/weights/pallet_balances.rs @@ -19,7 +19,7 @@ //! Autogenerated weights for pallet_balances //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-11-07, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2023-02-02, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024 // Executed Command: @@ -50,43 +50,43 @@ pub struct WeightInfo(PhantomData); impl pallet_balances::WeightInfo for WeightInfo { // Storage: System Account (r:2 w:2) fn transfer() -> Weight { - Weight::from_ref_time(88_189_000 as u64) + Weight::from_ref_time(82_600_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: System Account (r:1 w:1) fn transfer_keep_alive() -> Weight { - Weight::from_ref_time(57_636_000 as u64) + Weight::from_ref_time(54_696_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: System Account (r:1 w:1) fn set_balance_creating() -> Weight { - Weight::from_ref_time(42_797_000 as u64) + Weight::from_ref_time(77_811_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: System Account (r:1 w:1) fn set_balance_killing() -> Weight { - Weight::from_ref_time(47_791_000 as u64) + Weight::from_ref_time(91_737_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: System Account (r:3 w:3) fn force_transfer() -> Weight { - Weight::from_ref_time(85_739_000 as u64) + Weight::from_ref_time(82_272_000 as u64) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } // Storage: System Account (r:1 w:1) fn transfer_all() -> Weight { - Weight::from_ref_time(65_442_000 as u64) + Weight::from_ref_time(67_823_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: System Account (r:1 w:1) fn force_unreserve() -> Weight { - Weight::from_ref_time(36_283_000 as u64) + Weight::from_ref_time(40_680_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } diff --git a/runtimes/peregrine/src/weights/pallet_collective.rs b/runtimes/peregrine/src/weights/pallet_collective.rs index 489fcd877..737effb26 100644 --- a/runtimes/peregrine/src/weights/pallet_collective.rs +++ b/runtimes/peregrine/src/weights/pallet_collective.rs @@ -19,7 +19,7 @@ //! Autogenerated weights for pallet_collective //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-11-07, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2023-02-02, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024 // Executed Command: @@ -48,132 +48,126 @@ use sp_std::marker::PhantomData; /// Weights for `pallet_collective`. pub struct WeightInfo(PhantomData); impl pallet_collective::WeightInfo for WeightInfo { - // Storage: Council Members (r:1 w:1) - // Storage: Council Proposals (r:1 w:0) - // Storage: Council Voting (r:100 w:100) - // Storage: Council Prime (r:0 w:1) - fn set_members(m: u32, n: u32, p: u32, ) -> Weight { - Weight::from_ref_time(0 as u64) - // Standard Error: 7_000 - .saturating_add(Weight::from_ref_time(10_971_000 as u64).saturating_mul(m as u64)) - // Standard Error: 7_000 - .saturating_add(Weight::from_ref_time(4_000 as u64).saturating_mul(n as u64)) - // Standard Error: 7_000 - .saturating_add(Weight::from_ref_time(14_868_000 as u64).saturating_mul(p as u64)) + // Storage: TechnicalCommittee Members (r:1 w:1) + // Storage: TechnicalCommittee Proposals (r:1 w:0) + // Storage: TechnicalCommittee Prime (r:0 w:1) + // Storage: TechnicalCommittee Voting (r:100 w:100) + fn set_members(m: u32, _n: u32, p: u32, ) -> Weight { + Weight::from_ref_time(24_326_000 as u64) + // Standard Error: 52_135 + .saturating_add(Weight::from_ref_time(5_876_570 as u64).saturating_mul(m as u64)) + // Standard Error: 52_135 + .saturating_add(Weight::from_ref_time(9_172_835 as u64).saturating_mul(p as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(p as u64))) .saturating_add(T::DbWeight::get().writes(2 as u64)) .saturating_add(T::DbWeight::get().writes((1 as u64).saturating_mul(p as u64))) } - // Storage: Council Members (r:1 w:0) - fn execute(b: u32, m: u32, ) -> Weight { - Weight::from_ref_time(32_462_000 as u64) - // Standard Error: 0 - .saturating_add(Weight::from_ref_time(2_000 as u64).saturating_mul(b as u64)) - // Standard Error: 0 - .saturating_add(Weight::from_ref_time(19_000 as u64).saturating_mul(m as u64)) + // Storage: TechnicalCommittee Members (r:1 w:0) + fn execute(b: u32, _m: u32, ) -> Weight { + Weight::from_ref_time(37_469_595 as u64) + // Standard Error: 459 + .saturating_add(Weight::from_ref_time(1_367 as u64).saturating_mul(b as u64)) .saturating_add(T::DbWeight::get().reads(1 as u64)) } - // Storage: Council Members (r:1 w:0) - // Storage: Council ProposalOf (r:1 w:0) - fn propose_execute(b: u32, m: u32, ) -> Weight { - Weight::from_ref_time(35_616_000 as u64) - // Standard Error: 0 - .saturating_add(Weight::from_ref_time(2_000 as u64).saturating_mul(b as u64)) - // Standard Error: 0 - .saturating_add(Weight::from_ref_time(34_000 as u64).saturating_mul(m as u64)) + // Storage: TechnicalCommittee Members (r:1 w:0) + // Storage: TechnicalCommittee ProposalOf (r:1 w:0) + fn propose_execute(b: u32, _m: u32, ) -> Weight { + Weight::from_ref_time(42_488_504 as u64) + // Standard Error: 554 + .saturating_add(Weight::from_ref_time(325 as u64).saturating_mul(b as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) } - // Storage: Council Members (r:1 w:0) - // Storage: Council ProposalOf (r:1 w:1) - // Storage: Council Proposals (r:1 w:1) - // Storage: Council ProposalCount (r:1 w:1) - // Storage: Council Voting (r:0 w:1) + // Storage: TechnicalCommittee Members (r:1 w:0) + // Storage: TechnicalCommittee ProposalOf (r:1 w:1) + // Storage: TechnicalCommittee Proposals (r:1 w:1) + // Storage: TechnicalCommittee ProposalCount (r:1 w:1) + // Storage: TechnicalCommittee Voting (r:0 w:1) fn propose_proposed(b: u32, m: u32, p: u32, ) -> Weight { - Weight::from_ref_time(44_296_000 as u64) - // Standard Error: 0 - .saturating_add(Weight::from_ref_time(6_000 as u64).saturating_mul(b as u64)) - // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(38_000 as u64).saturating_mul(m as u64)) - // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(240_000 as u64).saturating_mul(p as u64)) + Weight::from_ref_time(45_053_607 as u64) + // Standard Error: 76 + .saturating_add(Weight::from_ref_time(3_780 as u64).saturating_mul(b as u64)) + // Standard Error: 801 + .saturating_add(Weight::from_ref_time(20_699 as u64).saturating_mul(m as u64)) + // Standard Error: 790 + .saturating_add(Weight::from_ref_time(190_041 as u64).saturating_mul(p as u64)) .saturating_add(T::DbWeight::get().reads(4 as u64)) .saturating_add(T::DbWeight::get().writes(4 as u64)) } - // Storage: Council Members (r:1 w:0) - // Storage: Council Voting (r:1 w:1) + // Storage: TechnicalCommittee Members (r:1 w:0) + // Storage: TechnicalCommittee Voting (r:1 w:1) fn vote(m: u32, ) -> Weight { - Weight::from_ref_time(50_347_000 as u64) - // Standard Error: 2_000 - .saturating_add(Weight::from_ref_time(47_000 as u64).saturating_mul(m as u64)) + Weight::from_ref_time(43_483_325 as u64) + // Standard Error: 610 + .saturating_add(Weight::from_ref_time(41_394 as u64).saturating_mul(m as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } - // Storage: Council Voting (r:1 w:1) - // Storage: Council Members (r:1 w:0) - // Storage: Council Proposals (r:1 w:1) - // Storage: Council ProposalOf (r:0 w:1) + // Storage: TechnicalCommittee Voting (r:1 w:1) + // Storage: TechnicalCommittee Members (r:1 w:0) + // Storage: TechnicalCommittee Proposals (r:1 w:1) + // Storage: TechnicalCommittee ProposalOf (r:0 w:1) fn close_early_disapproved(m: u32, p: u32, ) -> Weight { - Weight::from_ref_time(49_966_000 as u64) - // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(38_000 as u64).saturating_mul(m as u64)) - // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(221_000 as u64).saturating_mul(p as u64)) + Weight::from_ref_time(48_727_116 as u64) + // Standard Error: 553 + .saturating_add(Weight::from_ref_time(24_482 as u64).saturating_mul(m as u64)) + // Standard Error: 539 + .saturating_add(Weight::from_ref_time(159_775 as u64).saturating_mul(p as u64)) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } - // Storage: Council Voting (r:1 w:1) - // Storage: Council Members (r:1 w:0) - // Storage: Council ProposalOf (r:1 w:1) - // Storage: Council Proposals (r:1 w:1) + // Storage: TechnicalCommittee Voting (r:1 w:1) + // Storage: TechnicalCommittee Members (r:1 w:0) + // Storage: TechnicalCommittee ProposalOf (r:1 w:1) + // Storage: TechnicalCommittee Proposals (r:1 w:1) fn close_early_approved(b: u32, m: u32, p: u32, ) -> Weight { - Weight::from_ref_time(63_399_000 as u64) - // Standard Error: 0 - .saturating_add(Weight::from_ref_time(3_000 as u64).saturating_mul(b as u64)) - // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(45_000 as u64).saturating_mul(m as u64)) - // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(233_000 as u64).saturating_mul(p as u64)) + Weight::from_ref_time(62_365_703 as u64) + // Standard Error: 68 + .saturating_add(Weight::from_ref_time(2_573 as u64).saturating_mul(b as u64)) + // Standard Error: 724 + .saturating_add(Weight::from_ref_time(18_799 as u64).saturating_mul(m as u64)) + // Standard Error: 706 + .saturating_add(Weight::from_ref_time(189_113 as u64).saturating_mul(p as u64)) .saturating_add(T::DbWeight::get().reads(4 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } - // Storage: Council Voting (r:1 w:1) - // Storage: Council Members (r:1 w:0) - // Storage: Council Prime (r:1 w:0) - // Storage: Council Proposals (r:1 w:1) - // Storage: Council ProposalOf (r:0 w:1) + // Storage: TechnicalCommittee Voting (r:1 w:1) + // Storage: TechnicalCommittee Members (r:1 w:0) + // Storage: TechnicalCommittee Prime (r:1 w:0) + // Storage: TechnicalCommittee Proposals (r:1 w:1) + // Storage: TechnicalCommittee ProposalOf (r:0 w:1) fn close_disapproved(m: u32, p: u32, ) -> Weight { - Weight::from_ref_time(49_538_000 as u64) - // Standard Error: 3_000 - .saturating_add(Weight::from_ref_time(76_000 as u64).saturating_mul(m as u64)) - // Standard Error: 3_000 - .saturating_add(Weight::from_ref_time(245_000 as u64).saturating_mul(p as u64)) + Weight::from_ref_time(51_595_730 as u64) + // Standard Error: 543 + .saturating_add(Weight::from_ref_time(27_541 as u64).saturating_mul(m as u64)) + // Standard Error: 529 + .saturating_add(Weight::from_ref_time(161_400 as u64).saturating_mul(p as u64)) .saturating_add(T::DbWeight::get().reads(4 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } - // Storage: Council Voting (r:1 w:1) - // Storage: Council Members (r:1 w:0) - // Storage: Council Prime (r:1 w:0) - // Storage: Council ProposalOf (r:1 w:1) - // Storage: Council Proposals (r:1 w:1) + // Storage: TechnicalCommittee Voting (r:1 w:1) + // Storage: TechnicalCommittee Members (r:1 w:0) + // Storage: TechnicalCommittee Prime (r:1 w:0) + // Storage: TechnicalCommittee ProposalOf (r:1 w:1) + // Storage: TechnicalCommittee Proposals (r:1 w:1) fn close_approved(b: u32, m: u32, p: u32, ) -> Weight { - Weight::from_ref_time(64_754_000 as u64) - // Standard Error: 0 - .saturating_add(Weight::from_ref_time(4_000 as u64).saturating_mul(b as u64)) - // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(50_000 as u64).saturating_mul(m as u64)) - // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(240_000 as u64).saturating_mul(p as u64)) + Weight::from_ref_time(65_669_837 as u64) + // Standard Error: 72 + .saturating_add(Weight::from_ref_time(2_523 as u64).saturating_mul(b as u64)) + // Standard Error: 768 + .saturating_add(Weight::from_ref_time(16_601 as u64).saturating_mul(m as u64)) + // Standard Error: 748 + .saturating_add(Weight::from_ref_time(191_574 as u64).saturating_mul(p as u64)) .saturating_add(T::DbWeight::get().reads(5 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } - // Storage: Council Proposals (r:1 w:1) - // Storage: Council Voting (r:0 w:1) - // Storage: Council ProposalOf (r:0 w:1) + // Storage: TechnicalCommittee Proposals (r:1 w:1) + // Storage: TechnicalCommittee Voting (r:0 w:1) + // Storage: TechnicalCommittee ProposalOf (r:0 w:1) fn disapprove_proposal(p: u32, ) -> Weight { - Weight::from_ref_time(36_467_000 as u64) - // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(216_000 as u64).saturating_mul(p as u64)) + Weight::from_ref_time(34_283_418 as u64) + // Standard Error: 774 + .saturating_add(Weight::from_ref_time(163_182 as u64).saturating_mul(p as u64)) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } diff --git a/runtimes/peregrine/src/weights/pallet_democracy.rs b/runtimes/peregrine/src/weights/pallet_democracy.rs index e17c00b76..428764007 100644 --- a/runtimes/peregrine/src/weights/pallet_democracy.rs +++ b/runtimes/peregrine/src/weights/pallet_democracy.rs @@ -19,7 +19,7 @@ //! Autogenerated weights for pallet_democracy //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-11-07, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2023-02-02, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024 // Executed Command: @@ -45,6 +45,7 @@ use frame_support::{traits::Get, weights::Weight}; use sp_std::marker::PhantomData; +/// Weights for `pallet_democracy`. pub struct WeightInfo(PhantomData); impl pallet_democracy::WeightInfo for WeightInfo { // Storage: Democracy PublicPropCount (r:1 w:1) @@ -52,15 +53,13 @@ impl pallet_democracy::WeightInfo for WeightInfo { // Storage: Democracy Blacklist (r:1 w:0) // Storage: Democracy DepositOf (r:0 w:1) fn propose() -> Weight { - // Minimum execution time: 42_035 nanoseconds. - Weight::from_ref_time(42_673_000 as u64) + Weight::from_ref_time(69_080_000 as u64) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } // Storage: Democracy DepositOf (r:1 w:1) fn second() -> Weight { - // Minimum execution time: 37_908 nanoseconds. - Weight::from_ref_time(39_524_000 as u64) + Weight::from_ref_time(63_477_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } @@ -68,8 +67,7 @@ impl pallet_democracy::WeightInfo for WeightInfo { // Storage: Democracy VotingOf (r:1 w:1) // Storage: Balances Locks (r:1 w:1) fn vote_new() -> Weight { - // Minimum execution time: 48_027 nanoseconds. - Weight::from_ref_time(48_672_000 as u64) + Weight::from_ref_time(76_168_000 as u64) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } @@ -77,92 +75,80 @@ impl pallet_democracy::WeightInfo for WeightInfo { // Storage: Democracy VotingOf (r:1 w:1) // Storage: Balances Locks (r:1 w:1) fn vote_existing() -> Weight { - // Minimum execution time: 48_623 nanoseconds. - Weight::from_ref_time(49_248_000 as u64) + Weight::from_ref_time(76_822_000 as u64) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } // Storage: Democracy ReferendumInfoOf (r:1 w:1) // Storage: Democracy Cancellations (r:1 w:1) fn emergency_cancel() -> Weight { - // Minimum execution time: 19_752 nanoseconds. - Weight::from_ref_time(20_235_000 as u64) + Weight::from_ref_time(35_673_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Democracy PublicProps (r:1 w:1) // Storage: Democracy DepositOf (r:1 w:1) - // Storage: System Account (r:1 w:1) + // Storage: System Account (r:2 w:2) // Storage: Democracy NextExternal (r:1 w:1) // Storage: Democracy ReferendumInfoOf (r:1 w:1) // Storage: Democracy Blacklist (r:0 w:1) fn blacklist() -> Weight { - // Minimum execution time: 75_593 nanoseconds. - Weight::from_ref_time(76_707_000 as u64) - .saturating_add(T::DbWeight::get().reads(5 as u64)) - .saturating_add(T::DbWeight::get().writes(6 as u64)) + Weight::from_ref_time(123_234_000 as u64) + .saturating_add(T::DbWeight::get().reads(6 as u64)) + .saturating_add(T::DbWeight::get().writes(7 as u64)) } // Storage: Democracy NextExternal (r:1 w:1) // Storage: Democracy Blacklist (r:1 w:0) fn external_propose() -> Weight { - // Minimum execution time: 15_433 nanoseconds. - Weight::from_ref_time(15_751_000 as u64) + Weight::from_ref_time(50_385_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Democracy NextExternal (r:0 w:1) fn external_propose_majority() -> Weight { - // Minimum execution time: 4_187 nanoseconds. - Weight::from_ref_time(4_344_000 as u64) + Weight::from_ref_time(8_686_000 as u64) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Democracy NextExternal (r:0 w:1) fn external_propose_default() -> Weight { - // Minimum execution time: 4_424 nanoseconds. - Weight::from_ref_time(4_522_000 as u64) + Weight::from_ref_time(8_745_000 as u64) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Democracy NextExternal (r:1 w:1) // Storage: Democracy ReferendumCount (r:1 w:1) // Storage: Democracy ReferendumInfoOf (r:0 w:1) fn fast_track() -> Weight { - // Minimum execution time: 18_919 nanoseconds. - Weight::from_ref_time(19_574_000 as u64) + Weight::from_ref_time(35_068_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } // Storage: Democracy NextExternal (r:1 w:1) // Storage: Democracy Blacklist (r:1 w:1) fn veto_external() -> Weight { - // Minimum execution time: 24_749 nanoseconds. - Weight::from_ref_time(25_443_000 as u64) + Weight::from_ref_time(42_573_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Democracy PublicProps (r:1 w:1) // Storage: Democracy DepositOf (r:1 w:1) - // Storage: System Account (r:1 w:1) + // Storage: System Account (r:2 w:2) fn cancel_proposal() -> Weight { - // Minimum execution time: 63_025 nanoseconds. - Weight::from_ref_time(64_438_000 as u64) - .saturating_add(T::DbWeight::get().reads(3 as u64)) - .saturating_add(T::DbWeight::get().writes(3 as u64)) + Weight::from_ref_time(103_875_000 as u64) + .saturating_add(T::DbWeight::get().reads(4 as u64)) + .saturating_add(T::DbWeight::get().writes(4 as u64)) } // Storage: Democracy ReferendumInfoOf (r:0 w:1) fn cancel_referendum() -> Weight { - // Minimum execution time: 12_754 nanoseconds. - Weight::from_ref_time(13_249_000 as u64) + Weight::from_ref_time(44_940_000 as u64) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Democracy LowestUnbaked (r:1 w:1) // Storage: Democracy ReferendumCount (r:1 w:0) // Storage: Democracy ReferendumInfoOf (r:2 w:0) - /// The range of component `r` is `[0, 99]`. fn on_initialize_base(r: u32, ) -> Weight { - // Minimum execution time: 6_036 nanoseconds. - Weight::from_ref_time(9_221_096 as u64) - // Standard Error: 3_753 - .saturating_add(Weight::from_ref_time(2_068_013 as u64).saturating_mul(r as u64)) + Weight::from_ref_time(31_762_549 as u64) + // Standard Error: 32_532 + .saturating_add(Weight::from_ref_time(2_938_096 as u64).saturating_mul(r as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(r as u64))) .saturating_add(T::DbWeight::get().writes(1 as u64)) @@ -173,12 +159,10 @@ impl pallet_democracy::WeightInfo for WeightInfo { // Storage: Democracy NextExternal (r:1 w:0) // Storage: Democracy PublicProps (r:1 w:0) // Storage: Democracy ReferendumInfoOf (r:2 w:0) - /// The range of component `r` is `[0, 99]`. fn on_initialize_base_with_launch_period(r: u32, ) -> Weight { - // Minimum execution time: 8_435 nanoseconds. - Weight::from_ref_time(11_539_062 as u64) - // Standard Error: 3_966 - .saturating_add(Weight::from_ref_time(2_069_630 as u64).saturating_mul(r as u64)) + Weight::from_ref_time(33_034_575 as u64) + // Standard Error: 26_162 + .saturating_add(Weight::from_ref_time(2_967_740 as u64).saturating_mul(r as u64)) .saturating_add(T::DbWeight::get().reads(5 as u64)) .saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(r as u64))) .saturating_add(T::DbWeight::get().writes(1 as u64)) @@ -186,12 +170,10 @@ impl pallet_democracy::WeightInfo for WeightInfo { // Storage: Democracy VotingOf (r:3 w:3) // Storage: Balances Locks (r:1 w:1) // Storage: Democracy ReferendumInfoOf (r:2 w:2) - /// The range of component `r` is `[0, 99]`. fn delegate(r: u32, ) -> Weight { - // Minimum execution time: 39_949 nanoseconds. - Weight::from_ref_time(46_035_539 as u64) - // Standard Error: 5_044 - .saturating_add(Weight::from_ref_time(2_971_650 as u64).saturating_mul(r as u64)) + Weight::from_ref_time(80_969_030 as u64) + // Standard Error: 16_576 + .saturating_add(Weight::from_ref_time(4_523_562 as u64).saturating_mul(r as u64)) .saturating_add(T::DbWeight::get().reads(4 as u64)) .saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(r as u64))) .saturating_add(T::DbWeight::get().writes(4 as u64)) @@ -199,12 +181,10 @@ impl pallet_democracy::WeightInfo for WeightInfo { } // Storage: Democracy VotingOf (r:2 w:2) // Storage: Democracy ReferendumInfoOf (r:2 w:2) - /// The range of component `r` is `[0, 99]`. fn undelegate(r: u32, ) -> Weight { - // Minimum execution time: 23_826 nanoseconds. - Weight::from_ref_time(27_032_402 as u64) - // Standard Error: 4_525 - .saturating_add(Weight::from_ref_time(2_958_429 as u64).saturating_mul(r as u64)) + Weight::from_ref_time(45_453_004 as u64) + // Standard Error: 6_897 + .saturating_add(Weight::from_ref_time(4_582_266 as u64).saturating_mul(r as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(r as u64))) .saturating_add(T::DbWeight::get().writes(2 as u64)) @@ -212,55 +192,43 @@ impl pallet_democracy::WeightInfo for WeightInfo { } // Storage: Democracy PublicProps (r:0 w:1) fn clear_public_proposals() -> Weight { - // Minimum execution time: 4_775 nanoseconds. - Weight::from_ref_time(5_033_000 as u64) + Weight::from_ref_time(9_510_000 as u64) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Democracy VotingOf (r:1 w:1) // Storage: Balances Locks (r:1 w:1) // Storage: System Account (r:1 w:1) - /// The range of component `r` is `[0, 99]`. - fn unlock_remove(r: u32, ) -> Weight { - // Minimum execution time: 23_245 nanoseconds. - Weight::from_ref_time(30_061_940 as u64) - // Standard Error: 1_523 - .saturating_add(Weight::from_ref_time(34_810 as u64).saturating_mul(r as u64)) + fn unlock_remove(_r: u32, ) -> Weight { + Weight::from_ref_time(53_673_769 as u64) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } // Storage: Democracy VotingOf (r:1 w:1) // Storage: Balances Locks (r:1 w:1) // Storage: System Account (r:1 w:1) - /// The range of component `r` is `[0, 99]`. fn unlock_set(r: u32, ) -> Weight { - // Minimum execution time: 28_063 nanoseconds. - Weight::from_ref_time(30_002_043 as u64) - // Standard Error: 636 - .saturating_add(Weight::from_ref_time(67_182 as u64).saturating_mul(r as u64)) + Weight::from_ref_time(49_547_603 as u64) + // Standard Error: 1_167 + .saturating_add(Weight::from_ref_time(79_485 as u64).saturating_mul(r as u64)) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } // Storage: Democracy ReferendumInfoOf (r:1 w:1) // Storage: Democracy VotingOf (r:1 w:1) - /// The range of component `r` is `[1, 100]`. fn remove_vote(r: u32, ) -> Weight { - // Minimum execution time: 15_306 nanoseconds. - Weight::from_ref_time(17_690_130 as u64) - // Standard Error: 836 - .saturating_add(Weight::from_ref_time(68_122 as u64).saturating_mul(r as u64)) + Weight::from_ref_time(30_024_081 as u64) + // Standard Error: 5_043 + .saturating_add(Weight::from_ref_time(64_309 as u64).saturating_mul(r as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Democracy ReferendumInfoOf (r:1 w:1) // Storage: Democracy VotingOf (r:1 w:1) - /// The range of component `r` is `[1, 100]`. fn remove_other_vote(r: u32, ) -> Weight { - // Minimum execution time: 15_392 nanoseconds. - Weight::from_ref_time(17_610_812 as u64) - // Standard Error: 819 - .saturating_add(Weight::from_ref_time(69_086 as u64).saturating_mul(r as u64)) + Weight::from_ref_time(31_825_914 as u64) + // Standard Error: 7_032 + .saturating_add(Weight::from_ref_time(39_497 as u64).saturating_mul(r as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } } - diff --git a/runtimes/peregrine/src/weights/pallet_did_lookup.rs b/runtimes/peregrine/src/weights/pallet_did_lookup.rs index d77e2be36..9cbc97efa 100644 --- a/runtimes/peregrine/src/weights/pallet_did_lookup.rs +++ b/runtimes/peregrine/src/weights/pallet_did_lookup.rs @@ -19,7 +19,7 @@ //! Autogenerated weights for pallet_did_lookup //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-11-07, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2023-02-02, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024 // Executed Command: @@ -52,7 +52,7 @@ impl pallet_did_lookup::WeightInfo for WeightInfo { // Storage: DidLookup ConnectedDids (r:1 w:1) // Storage: DidLookup ConnectedAccounts (r:0 w:2) fn associate_account() -> Weight { - Weight::from_ref_time(134_609_000 as u64) + Weight::from_ref_time(131_739_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(4 as u64)) } @@ -60,7 +60,7 @@ impl pallet_did_lookup::WeightInfo for WeightInfo { // Storage: DidLookup ConnectedDids (r:1 w:1) // Storage: DidLookup ConnectedAccounts (r:0 w:2) fn associate_sender() -> Weight { - Weight::from_ref_time(74_100_000 as u64) + Weight::from_ref_time(69_855_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(4 as u64)) } @@ -68,7 +68,7 @@ impl pallet_did_lookup::WeightInfo for WeightInfo { // Storage: System Account (r:1 w:1) // Storage: DidLookup ConnectedAccounts (r:0 w:1) fn remove_sender_association() -> Weight { - Weight::from_ref_time(53_384_000 as u64) + Weight::from_ref_time(107_033_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } @@ -76,21 +76,21 @@ impl pallet_did_lookup::WeightInfo for WeightInfo { // Storage: System Account (r:1 w:1) // Storage: DidLookup ConnectedAccounts (r:0 w:1) fn remove_account_association() -> Weight { - Weight::from_ref_time(55_181_000 as u64) + Weight::from_ref_time(52_319_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } // Storage: DidLookup ConnectedDids (r:1 w:1) // Storage: System Account (r:2 w:2) fn change_deposit_owner() -> Weight { - Weight::from_ref_time(68_935_000 as u64) + Weight::from_ref_time(65_110_000 as u64) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } // Storage: DidLookup ConnectedDids (r:1 w:1) // Storage: System Account (r:1 w:1) fn update_deposit() -> Weight { - Weight::from_ref_time(63_024_000 as u64) + Weight::from_ref_time(59_285_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } diff --git a/runtimes/peregrine/src/weights/pallet_indices.rs b/runtimes/peregrine/src/weights/pallet_indices.rs index 40e31460b..c32997aca 100644 --- a/runtimes/peregrine/src/weights/pallet_indices.rs +++ b/runtimes/peregrine/src/weights/pallet_indices.rs @@ -19,7 +19,7 @@ //! Autogenerated weights for pallet_indices //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-11-07, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2023-02-02, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024 // Executed Command: @@ -50,33 +50,33 @@ pub struct WeightInfo(PhantomData); impl pallet_indices::WeightInfo for WeightInfo { // Storage: Indices Accounts (r:1 w:1) fn claim() -> Weight { - Weight::from_ref_time(45_859_000 as u64) + Weight::from_ref_time(43_787_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Indices Accounts (r:1 w:1) // Storage: System Account (r:1 w:1) fn transfer() -> Weight { - Weight::from_ref_time(58_382_000 as u64) + Weight::from_ref_time(53_305_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Indices Accounts (r:1 w:1) fn free() -> Weight { - Weight::from_ref_time(49_802_000 as u64) + Weight::from_ref_time(100_629_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Indices Accounts (r:1 w:1) // Storage: System Account (r:1 w:1) fn force_transfer() -> Weight { - Weight::from_ref_time(50_024_000 as u64) + Weight::from_ref_time(50_909_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Indices Accounts (r:1 w:1) fn freeze() -> Weight { - Weight::from_ref_time(57_560_000 as u64) + Weight::from_ref_time(125_410_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } diff --git a/runtimes/peregrine/src/weights/pallet_inflation.rs b/runtimes/peregrine/src/weights/pallet_inflation.rs index dbee85de2..d6d1b239f 100644 --- a/runtimes/peregrine/src/weights/pallet_inflation.rs +++ b/runtimes/peregrine/src/weights/pallet_inflation.rs @@ -19,7 +19,7 @@ //! Autogenerated weights for pallet_inflation //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-11-07, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2023-02-02, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024 // Executed Command: @@ -50,11 +50,11 @@ pub struct WeightInfo(PhantomData); impl pallet_inflation::WeightInfo for WeightInfo { // Storage: System Account (r:1 w:1) fn on_initialize_mint_to_treasury() -> Weight { - Weight::from_ref_time(37_031_000 as u64) + Weight::from_ref_time(34_563_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } fn on_initialize_no_action() -> Weight { - Weight::from_ref_time(264_000 as u64) + Weight::from_ref_time(365_000 as u64) } } diff --git a/runtimes/peregrine/src/weights/pallet_membership.rs b/runtimes/peregrine/src/weights/pallet_membership.rs index 5e8e7fd6b..e6d676e93 100644 --- a/runtimes/peregrine/src/weights/pallet_membership.rs +++ b/runtimes/peregrine/src/weights/pallet_membership.rs @@ -19,7 +19,7 @@ //! Autogenerated weights for pallet_membership //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-11-07, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2023-02-02, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024 // Executed Command: @@ -53,9 +53,9 @@ impl pallet_membership::WeightInfo for WeightInfo { // Storage: TechnicalCommittee Members (r:0 w:1) // Storage: TechnicalCommittee Prime (r:0 w:1) fn add_member(m: u32, ) -> Weight { - Weight::from_ref_time(35_545_000 as u64) - // Standard Error: 0 - .saturating_add(Weight::from_ref_time(50_000 as u64).saturating_mul(m as u64)) + Weight::from_ref_time(47_155_524 as u64) + // Standard Error: 26_966 + .saturating_add(Weight::from_ref_time(13_730 as u64).saturating_mul(m as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } @@ -65,9 +65,9 @@ impl pallet_membership::WeightInfo for WeightInfo { // Storage: TechnicalCommittee Members (r:0 w:1) // Storage: TechnicalCommittee Prime (r:0 w:1) fn remove_member(m: u32, ) -> Weight { - Weight::from_ref_time(39_516_000 as u64) - // Standard Error: 0 - .saturating_add(Weight::from_ref_time(52_000 as u64).saturating_mul(m as u64)) + Weight::from_ref_time(46_847_496 as u64) + // Standard Error: 28_947 + .saturating_add(Weight::from_ref_time(61_009 as u64).saturating_mul(m as u64)) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } @@ -76,10 +76,8 @@ impl pallet_membership::WeightInfo for WeightInfo { // Storage: TechnicalMembership Prime (r:1 w:0) // Storage: TechnicalCommittee Members (r:0 w:1) // Storage: TechnicalCommittee Prime (r:0 w:1) - fn swap_member(m: u32, ) -> Weight { - Weight::from_ref_time(40_058_000 as u64) - // Standard Error: 0 - .saturating_add(Weight::from_ref_time(59_000 as u64).saturating_mul(m as u64)) + fn swap_member(_m: u32, ) -> Weight { + Weight::from_ref_time(54_007_351 as u64) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } @@ -89,9 +87,9 @@ impl pallet_membership::WeightInfo for WeightInfo { // Storage: TechnicalCommittee Members (r:0 w:1) // Storage: TechnicalCommittee Prime (r:0 w:1) fn reset_member(m: u32, ) -> Weight { - Weight::from_ref_time(39_939_000 as u64) - // Standard Error: 3_000 - .saturating_add(Weight::from_ref_time(183_000 as u64).saturating_mul(m as u64)) + Weight::from_ref_time(45_028_828 as u64) + // Standard Error: 27_390 + .saturating_add(Weight::from_ref_time(180_459 as u64).saturating_mul(m as u64)) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } @@ -101,9 +99,9 @@ impl pallet_membership::WeightInfo for WeightInfo { // Storage: TechnicalCommittee Members (r:0 w:1) // Storage: TechnicalCommittee Prime (r:0 w:1) fn change_key(m: u32, ) -> Weight { - Weight::from_ref_time(40_469_000 as u64) - // Standard Error: 0 - .saturating_add(Weight::from_ref_time(67_000 as u64).saturating_mul(m as u64)) + Weight::from_ref_time(46_080_057 as u64) + // Standard Error: 28_927 + .saturating_add(Weight::from_ref_time(108_376 as u64).saturating_mul(m as u64)) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(4 as u64)) } @@ -111,18 +109,16 @@ impl pallet_membership::WeightInfo for WeightInfo { // Storage: TechnicalMembership Prime (r:0 w:1) // Storage: TechnicalCommittee Prime (r:0 w:1) fn set_prime(m: u32, ) -> Weight { - Weight::from_ref_time(15_927_000 as u64) - // Standard Error: 0 - .saturating_add(Weight::from_ref_time(19_000 as u64).saturating_mul(m as u64)) + Weight::from_ref_time(17_664_638 as u64) + // Standard Error: 10_139 + .saturating_add(Weight::from_ref_time(34_875 as u64).saturating_mul(m as u64)) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: TechnicalMembership Prime (r:0 w:1) // Storage: TechnicalCommittee Prime (r:0 w:1) - fn clear_prime(m: u32, ) -> Weight { - Weight::from_ref_time(9_858_000 as u64) - // Standard Error: 0 - .saturating_add(Weight::from_ref_time(4_000 as u64).saturating_mul(m as u64)) + fn clear_prime(_m: u32, ) -> Weight { + Weight::from_ref_time(10_796_790 as u64) .saturating_add(T::DbWeight::get().writes(2 as u64)) } } diff --git a/runtimes/peregrine/src/weights/pallet_preimage.rs b/runtimes/peregrine/src/weights/pallet_preimage.rs index 589dd9fd8..8d0629b8b 100644 --- a/runtimes/peregrine/src/weights/pallet_preimage.rs +++ b/runtimes/peregrine/src/weights/pallet_preimage.rs @@ -19,7 +19,7 @@ //! Autogenerated weights for pallet_preimage //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-11-07, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2023-02-02, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024 // Executed Command: @@ -48,88 +48,87 @@ use sp_std::marker::PhantomData; /// Weights for `pallet_preimage`. pub struct WeightInfo(PhantomData); impl pallet_preimage::WeightInfo for WeightInfo { - // Storage: Preimage PreimageFor (r:1 w:1) // Storage: Preimage StatusFor (r:1 w:1) + // Storage: Preimage PreimageFor (r:0 w:1) fn note_preimage(s: u32, ) -> Weight { - Weight::from_ref_time(0 as u64) - // Standard Error: 0 - .saturating_add(Weight::from_ref_time(2_000 as u64).saturating_mul(s as u64)) - .saturating_add(T::DbWeight::get().reads(2 as u64)) + Weight::from_ref_time(48_521_000 as u64) + // Standard Error: 1 + .saturating_add(Weight::from_ref_time(2_588 as u64).saturating_mul(s as u64)) + .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } - // Storage: Preimage PreimageFor (r:1 w:1) - // Storage: Preimage StatusFor (r:1 w:0) + // Storage: Preimage StatusFor (r:1 w:1) + // Storage: Preimage PreimageFor (r:0 w:1) fn note_requested_preimage(s: u32, ) -> Weight { - Weight::from_ref_time(0 as u64) - // Standard Error: 0 - .saturating_add(Weight::from_ref_time(2_000 as u64).saturating_mul(s as u64)) - .saturating_add(T::DbWeight::get().reads(2 as u64)) - .saturating_add(T::DbWeight::get().writes(1 as u64)) + Weight::from_ref_time(34_046_000 as u64) + // Standard Error: 1 + .saturating_add(Weight::from_ref_time(2_584 as u64).saturating_mul(s as u64)) + .saturating_add(T::DbWeight::get().reads(1 as u64)) + .saturating_add(T::DbWeight::get().writes(2 as u64)) } - // Storage: Preimage PreimageFor (r:1 w:1) - // Storage: Preimage StatusFor (r:1 w:0) + // Storage: Preimage StatusFor (r:1 w:1) + // Storage: Preimage PreimageFor (r:0 w:1) fn note_no_deposit_preimage(s: u32, ) -> Weight { - Weight::from_ref_time(0 as u64) + Weight::from_ref_time(31_523_000 as u64) // Standard Error: 0 - .saturating_add(Weight::from_ref_time(2_000 as u64).saturating_mul(s as u64)) - .saturating_add(T::DbWeight::get().reads(2 as u64)) - .saturating_add(T::DbWeight::get().writes(1 as u64)) + .saturating_add(Weight::from_ref_time(2_582 as u64).saturating_mul(s as u64)) + .saturating_add(T::DbWeight::get().reads(1 as u64)) + .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Preimage StatusFor (r:1 w:1) // Storage: Preimage PreimageFor (r:0 w:1) fn unnote_preimage() -> Weight { - Weight::from_ref_time(61_090_000 as u64) + Weight::from_ref_time(62_201_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Preimage StatusFor (r:1 w:1) // Storage: Preimage PreimageFor (r:0 w:1) fn unnote_no_deposit_preimage() -> Weight { - Weight::from_ref_time(38_337_000 as u64) + Weight::from_ref_time(41_688_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Preimage StatusFor (r:1 w:1) fn request_preimage() -> Weight { - Weight::from_ref_time(58_161_000 as u64) + Weight::from_ref_time(40_687_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Preimage StatusFor (r:1 w:1) fn request_no_deposit_preimage() -> Weight { - Weight::from_ref_time(36_324_000 as u64) + Weight::from_ref_time(21_245_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Preimage StatusFor (r:1 w:1) fn request_unnoted_preimage() -> Weight { - Weight::from_ref_time(27_788_000 as u64) + Weight::from_ref_time(29_800_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Preimage StatusFor (r:1 w:1) fn request_requested_preimage() -> Weight { - Weight::from_ref_time(14_825_000 as u64) + Weight::from_ref_time(15_020_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Preimage StatusFor (r:1 w:1) // Storage: Preimage PreimageFor (r:0 w:1) fn unrequest_preimage() -> Weight { - Weight::from_ref_time(38_618_000 as u64) + Weight::from_ref_time(40_533_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Preimage StatusFor (r:1 w:1) - // Storage: Preimage PreimageFor (r:0 w:1) fn unrequest_unnoted_preimage() -> Weight { - Weight::from_ref_time(30_731_000 as u64) + Weight::from_ref_time(14_710_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) - .saturating_add(T::DbWeight::get().writes(2 as u64)) + .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Preimage StatusFor (r:1 w:1) fn unrequest_multi_referenced_preimage() -> Weight { - Weight::from_ref_time(15_233_000 as u64) + Weight::from_ref_time(14_968_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } diff --git a/runtimes/peregrine/src/weights/pallet_proxy.rs b/runtimes/peregrine/src/weights/pallet_proxy.rs index 8e78d5a81..12dd9f415 100644 --- a/runtimes/peregrine/src/weights/pallet_proxy.rs +++ b/runtimes/peregrine/src/weights/pallet_proxy.rs @@ -19,7 +19,7 @@ //! Autogenerated weights for pallet_proxy //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-11-07, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2023-02-02, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024 // Executed Command: @@ -49,120 +49,82 @@ use sp_std::marker::PhantomData; pub struct WeightInfo(PhantomData); impl pallet_proxy::WeightInfo for WeightInfo { // Storage: Proxy Proxies (r:1 w:0) - /// The range of component `p` is `[1, 31]`. - fn proxy(p: u32, ) -> Weight { - // Minimum execution time: 19_011 nanoseconds. - Weight::from_ref_time(20_076_741 as u64) - // Standard Error: 1_518 - .saturating_add(Weight::from_ref_time(55_831 as u64).saturating_mul(p as u64)) + fn proxy(_p: u32, ) -> Weight { + Weight::from_ref_time(43_951_574 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) } // Storage: Proxy Proxies (r:1 w:0) // Storage: Proxy Announcements (r:1 w:1) // Storage: System Account (r:1 w:1) - /// The range of component `a` is `[0, 31]`. - /// The range of component `p` is `[1, 31]`. - fn proxy_announced(a: u32, p: u32, ) -> Weight { - // Minimum execution time: 37_088 nanoseconds. - Weight::from_ref_time(36_581_632 as u64) - // Standard Error: 1_964 - .saturating_add(Weight::from_ref_time(116_190 as u64).saturating_mul(a as u64)) - // Standard Error: 2_030 - .saturating_add(Weight::from_ref_time(41_547 as u64).saturating_mul(p as u64)) + fn proxy_announced(a: u32, _p: u32, ) -> Weight { + Weight::from_ref_time(63_213_286 as u64) + // Standard Error: 15_445 + .saturating_add(Weight::from_ref_time(241_730 as u64).saturating_mul(a as u64)) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Proxy Announcements (r:1 w:1) // Storage: System Account (r:1 w:1) - /// The range of component `a` is `[0, 31]`. - /// The range of component `p` is `[1, 31]`. fn remove_announcement(a: u32, p: u32, ) -> Weight { - // Minimum execution time: 25_299 nanoseconds. - Weight::from_ref_time(26_801_993 as u64) - // Standard Error: 2_746 - .saturating_add(Weight::from_ref_time(102_732 as u64).saturating_mul(a as u64)) - // Standard Error: 2_837 - .saturating_add(Weight::from_ref_time(318 as u64).saturating_mul(p as u64)) + Weight::from_ref_time(43_516_965 as u64) + // Standard Error: 14_328 + .saturating_add(Weight::from_ref_time(420_578 as u64).saturating_mul(a as u64)) + // Standard Error: 15_906 + .saturating_add(Weight::from_ref_time(20_131 as u64).saturating_mul(p as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Proxy Announcements (r:1 w:1) // Storage: System Account (r:1 w:1) - /// The range of component `a` is `[0, 31]`. - /// The range of component `p` is `[1, 31]`. - fn reject_announcement(a: u32, p: u32, ) -> Weight { - // Minimum execution time: 25_178 nanoseconds. - Weight::from_ref_time(26_248_780 as u64) - // Standard Error: 1_710 - .saturating_add(Weight::from_ref_time(116_285 as u64).saturating_mul(a as u64)) - // Standard Error: 1_767 - .saturating_add(Weight::from_ref_time(1_860 as u64).saturating_mul(p as u64)) + fn reject_announcement(a: u32, _p: u32, ) -> Weight { + Weight::from_ref_time(44_483_644 as u64) + // Standard Error: 14_999 + .saturating_add(Weight::from_ref_time(439_844 as u64).saturating_mul(a as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Proxy Proxies (r:1 w:0) // Storage: Proxy Announcements (r:1 w:1) // Storage: System Account (r:1 w:1) - /// The range of component `a` is `[0, 31]`. - /// The range of component `p` is `[1, 31]`. - fn announce(a: u32, p: u32, ) -> Weight { - // Minimum execution time: 32_878 nanoseconds. - Weight::from_ref_time(34_386_513 as u64) - // Standard Error: 1_955 - .saturating_add(Weight::from_ref_time(97_872 as u64).saturating_mul(a as u64)) - // Standard Error: 2_020 - .saturating_add(Weight::from_ref_time(25_879 as u64).saturating_mul(p as u64)) + fn announce(a: u32, _p: u32, ) -> Weight { + Weight::from_ref_time(57_249_919 as u64) + // Standard Error: 12_453 + .saturating_add(Weight::from_ref_time(242_767 as u64).saturating_mul(a as u64)) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Proxy Proxies (r:1 w:1) - /// The range of component `p` is `[1, 31]`. - fn add_proxy(p: u32, ) -> Weight { - // Minimum execution time: 26_410 nanoseconds. - Weight::from_ref_time(27_653_752 as u64) - // Standard Error: 2_000 - .saturating_add(Weight::from_ref_time(57_860 as u64).saturating_mul(p as u64)) + fn add_proxy(_p: u32, ) -> Weight { + Weight::from_ref_time(68_443_743 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Proxy Proxies (r:1 w:1) - /// The range of component `p` is `[1, 31]`. - fn remove_proxy(p: u32, ) -> Weight { - // Minimum execution time: 26_506 nanoseconds. - Weight::from_ref_time(27_604_932 as u64) - // Standard Error: 1_863 - .saturating_add(Weight::from_ref_time(78_466 as u64).saturating_mul(p as u64)) + fn remove_proxy(_p: u32, ) -> Weight { + Weight::from_ref_time(81_805_534 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Proxy Proxies (r:1 w:1) - /// The range of component `p` is `[1, 31]`. fn remove_proxies(p: u32, ) -> Weight { - // Minimum execution time: 22_696 nanoseconds. - Weight::from_ref_time(23_736_641 as u64) - // Standard Error: 1_616 - .saturating_add(Weight::from_ref_time(50_577 as u64).saturating_mul(p as u64)) + Weight::from_ref_time(46_263_467 as u64) + // Standard Error: 189_438 + .saturating_add(Weight::from_ref_time(34_374 as u64).saturating_mul(p as u64)) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: unknown [0x3a65787472696e7369635f696e646578] (r:1 w:0) // Storage: Proxy Proxies (r:1 w:1) - /// The range of component `p` is `[1, 31]`. fn create_pure(p: u32, ) -> Weight { - // Minimum execution time: 29_461 nanoseconds. - Weight::from_ref_time(30_835_016 as u64) - // Standard Error: 1_587 - .saturating_add(Weight::from_ref_time(23_834 as u64).saturating_mul(p as u64)) + Weight::from_ref_time(57_427_472 as u64) + // Standard Error: 157_916 + .saturating_add(Weight::from_ref_time(16_598 as u64).saturating_mul(p as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Proxy Proxies (r:1 w:1) - /// The range of component `p` is `[0, 30]`. - fn kill_pure(p: u32, ) -> Weight { - // Minimum execution time: 24_319 nanoseconds. - Weight::from_ref_time(25_652_003 as u64) - // Standard Error: 1_697 - .saturating_add(Weight::from_ref_time(28_118 as u64).saturating_mul(p as u64)) + fn kill_pure(_p: u32, ) -> Weight { + Weight::from_ref_time(49_900_654 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } diff --git a/runtimes/peregrine/src/weights/pallet_scheduler.rs b/runtimes/peregrine/src/weights/pallet_scheduler.rs index f4e945323..0b0c92ae9 100644 --- a/runtimes/peregrine/src/weights/pallet_scheduler.rs +++ b/runtimes/peregrine/src/weights/pallet_scheduler.rs @@ -19,7 +19,7 @@ //! Autogenerated weights for pallet_scheduler //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-11-07, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2023-02-02, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024 // Executed Command: @@ -50,94 +50,76 @@ pub struct WeightInfo(PhantomData); impl pallet_scheduler::WeightInfo for WeightInfo { // Storage: Scheduler IncompleteSince (r:1 w:1) fn service_agendas_base() -> Weight { - // Minimum execution time: 4_236 nanoseconds. - Weight::from_ref_time(4_539_000 as u64) + Weight::from_ref_time(15_089_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Scheduler Agenda (r:1 w:1) - /// The range of component `s` is `[0, 50]`. fn service_agenda_base(s: u32, ) -> Weight { - // Minimum execution time: 3_651 nanoseconds. - Weight::from_ref_time(6_843_488 as u64) - // Standard Error: 1_965 - .saturating_add(Weight::from_ref_time(579_324 as u64).saturating_mul(s as u64)) + Weight::from_ref_time(15_460_154 as u64) + // Standard Error: 13_246 + .saturating_add(Weight::from_ref_time(707_382 as u64).saturating_mul(s as u64)) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } fn service_task_base() -> Weight { - // Minimum execution time: 9_244 nanoseconds. - Weight::from_ref_time(9_537_000 as u64) + Weight::from_ref_time(33_211_000 as u64) } // Storage: Preimage PreimageFor (r:1 w:1) // Storage: Preimage StatusFor (r:1 w:1) - /// The range of component `s` is `[128, 4194304]`. fn service_task_fetched(s: u32, ) -> Weight { - // Minimum execution time: 20_377 nanoseconds. - Weight::from_ref_time(20_733_000 as u64) + Weight::from_ref_time(34_696_000 as u64) // Standard Error: 1 - .saturating_add(Weight::from_ref_time(1_250 as u64).saturating_mul(s as u64)) + .saturating_add(Weight::from_ref_time(1_307 as u64).saturating_mul(s as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Scheduler Lookup (r:0 w:1) fn service_task_named() -> Weight { - // Minimum execution time: 10_526 nanoseconds. - Weight::from_ref_time(10_839_000 as u64) + Weight::from_ref_time(38_120_000 as u64) .saturating_add(T::DbWeight::get().writes(1 as u64)) } fn service_task_periodic() -> Weight { - // Minimum execution time: 9_130 nanoseconds. - Weight::from_ref_time(9_476_000 as u64) + Weight::from_ref_time(32_617_000 as u64) } fn execute_dispatch_signed() -> Weight { - // Minimum execution time: 3_644 nanoseconds. - Weight::from_ref_time(3_761_000 as u64) + Weight::from_ref_time(13_498_000 as u64) } fn execute_dispatch_unsigned() -> Weight { - // Minimum execution time: 3_604 nanoseconds. - Weight::from_ref_time(3_738_000 as u64) + Weight::from_ref_time(13_197_000 as u64) } // Storage: Scheduler Agenda (r:1 w:1) - /// The range of component `s` is `[0, 49]`. fn schedule(s: u32, ) -> Weight { - // Minimum execution time: 16_561 nanoseconds. - Weight::from_ref_time(20_688_245 as u64) - // Standard Error: 2_610 - .saturating_add(Weight::from_ref_time(602_897 as u64).saturating_mul(s as u64)) + Weight::from_ref_time(38_592_205 as u64) + // Standard Error: 26_113 + .saturating_add(Weight::from_ref_time(683_549 as u64).saturating_mul(s as u64)) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Scheduler Agenda (r:1 w:1) // Storage: Scheduler Lookup (r:0 w:1) - /// The range of component `s` is `[1, 50]`. fn cancel(s: u32, ) -> Weight { - // Minimum execution time: 18_830 nanoseconds. - Weight::from_ref_time(20_815_969 as u64) - // Standard Error: 2_132 - .saturating_add(Weight::from_ref_time(598_343 as u64).saturating_mul(s as u64)) + Weight::from_ref_time(41_157_737 as u64) + // Standard Error: 27_005 + .saturating_add(Weight::from_ref_time(1_215_364 as u64).saturating_mul(s as u64)) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Scheduler Lookup (r:1 w:1) // Storage: Scheduler Agenda (r:1 w:1) - /// The range of component `s` is `[0, 49]`. fn schedule_named(s: u32, ) -> Weight { - // Minimum execution time: 18_755 nanoseconds. - Weight::from_ref_time(23_838_238 as u64) - // Standard Error: 3_430 - .saturating_add(Weight::from_ref_time(628_138 as u64).saturating_mul(s as u64)) + Weight::from_ref_time(56_673_990 as u64) + // Standard Error: 43_340 + .saturating_add(Weight::from_ref_time(360_780 as u64).saturating_mul(s as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Scheduler Lookup (r:1 w:1) // Storage: Scheduler Agenda (r:1 w:1) - /// The range of component `s` is `[1, 50]`. fn cancel_named(s: u32, ) -> Weight { - // Minimum execution time: 19_761 nanoseconds. - Weight::from_ref_time(22_583_852 as u64) - // Standard Error: 2_440 - .saturating_add(Weight::from_ref_time(612_208 as u64).saturating_mul(s as u64)) + Weight::from_ref_time(48_779_559 as u64) + // Standard Error: 42_228 + .saturating_add(Weight::from_ref_time(1_122_985 as u64).saturating_mul(s as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } diff --git a/runtimes/peregrine/src/weights/pallet_session.rs b/runtimes/peregrine/src/weights/pallet_session.rs index 0131d60f4..27fb07f45 100644 --- a/runtimes/peregrine/src/weights/pallet_session.rs +++ b/runtimes/peregrine/src/weights/pallet_session.rs @@ -19,7 +19,7 @@ //! Autogenerated weights for pallet_session //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-11-07, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2023-02-02, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024 // Executed Command: @@ -51,14 +51,14 @@ impl pallet_session::WeightInfo for WeightInfo { // Storage: Session NextKeys (r:1 w:1) // Storage: Session KeyOwner (r:1 w:1) fn set_keys() -> Weight { - Weight::from_ref_time(38_292_000 as u64) + Weight::from_ref_time(79_160_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Session NextKeys (r:1 w:1) // Storage: Session KeyOwner (r:0 w:1) fn purge_keys() -> Weight { - Weight::from_ref_time(33_521_000 as u64) + Weight::from_ref_time(31_972_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } diff --git a/runtimes/peregrine/src/weights/pallet_timestamp.rs b/runtimes/peregrine/src/weights/pallet_timestamp.rs index 1ab2378ea..7554734d9 100644 --- a/runtimes/peregrine/src/weights/pallet_timestamp.rs +++ b/runtimes/peregrine/src/weights/pallet_timestamp.rs @@ -19,7 +19,7 @@ //! Autogenerated weights for pallet_timestamp //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-11-07, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2023-02-02, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024 // Executed Command: @@ -49,12 +49,13 @@ use sp_std::marker::PhantomData; pub struct WeightInfo(PhantomData); impl pallet_timestamp::WeightInfo for WeightInfo { // Storage: Timestamp Now (r:1 w:1) + // Storage: Aura CurrentSlot (r:1 w:0) fn set() -> Weight { - Weight::from_ref_time(13_849_000 as u64) - .saturating_add(T::DbWeight::get().reads(1 as u64)) + Weight::from_ref_time(34_113_000 as u64) + .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } fn on_finalize() -> Weight { - Weight::from_ref_time(7_535_000 as u64) + Weight::from_ref_time(7_207_000 as u64) } } diff --git a/runtimes/peregrine/src/weights/pallet_tips.rs b/runtimes/peregrine/src/weights/pallet_tips.rs index a6529f2bf..8e447d9bb 100644 --- a/runtimes/peregrine/src/weights/pallet_tips.rs +++ b/runtimes/peregrine/src/weights/pallet_tips.rs @@ -19,7 +19,7 @@ //! Autogenerated weights for pallet_tips //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-11-07, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2023-02-02, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024 // Executed Command: @@ -51,37 +51,35 @@ impl pallet_tips::WeightInfo for WeightInfo { // Storage: Tips Reasons (r:1 w:1) // Storage: Tips Tips (r:1 w:1) fn report_awesome(r: u32, ) -> Weight { - Weight::from_ref_time(56_984_000 as u64) - // Standard Error: 0 - .saturating_add(Weight::from_ref_time(2_000 as u64).saturating_mul(r as u64)) + Weight::from_ref_time(62_286_684 as u64) + // Standard Error: 233 + .saturating_add(Weight::from_ref_time(2_394 as u64).saturating_mul(r as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Tips Tips (r:1 w:1) // Storage: Tips Reasons (r:0 w:1) fn retract_tip() -> Weight { - Weight::from_ref_time(54_690_000 as u64) + Weight::from_ref_time(108_447_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: TipsMembership Members (r:1 w:0) // Storage: Tips Reasons (r:1 w:1) // Storage: Tips Tips (r:0 w:1) - fn tip_new(r: u32, t: u32, ) -> Weight { - Weight::from_ref_time(39_757_000 as u64) - // Standard Error: 0 - .saturating_add(Weight::from_ref_time(2_000 as u64).saturating_mul(r as u64)) - // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(46_000 as u64).saturating_mul(t as u64)) + fn tip_new(r: u32, _t: u32, ) -> Weight { + Weight::from_ref_time(45_978_192 as u64) + // Standard Error: 70 + .saturating_add(Weight::from_ref_time(1_853 as u64).saturating_mul(r as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: TipsMembership Members (r:1 w:0) // Storage: Tips Tips (r:1 w:1) fn tip(t: u32, ) -> Weight { - Weight::from_ref_time(28_995_000 as u64) - // Standard Error: 0 - .saturating_add(Weight::from_ref_time(185_000 as u64).saturating_mul(t as u64)) + Weight::from_ref_time(32_451_560 as u64) + // Standard Error: 9_650 + .saturating_add(Weight::from_ref_time(58_777 as u64).saturating_mul(t as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } @@ -89,19 +87,15 @@ impl pallet_tips::WeightInfo for WeightInfo { // Storage: TipsMembership Members (r:1 w:0) // Storage: System Account (r:2 w:2) // Storage: Tips Reasons (r:0 w:1) - fn close_tip(t: u32, ) -> Weight { - Weight::from_ref_time(83_983_000 as u64) - // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(137_000 as u64).saturating_mul(t as u64)) + fn close_tip(_t: u32, ) -> Weight { + Weight::from_ref_time(87_692_124 as u64) .saturating_add(T::DbWeight::get().reads(4 as u64)) .saturating_add(T::DbWeight::get().writes(4 as u64)) } // Storage: Tips Tips (r:1 w:1) // Storage: Tips Reasons (r:0 w:1) - fn slash_tip(t: u32, ) -> Weight { - Weight::from_ref_time(34_401_000 as u64) - // Standard Error: 0 - .saturating_add(Weight::from_ref_time(6_000 as u64).saturating_mul(t as u64)) + fn slash_tip(_t: u32, ) -> Weight { + Weight::from_ref_time(34_500_609 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } diff --git a/runtimes/peregrine/src/weights/pallet_treasury.rs b/runtimes/peregrine/src/weights/pallet_treasury.rs index a496b9f21..1672f4b50 100644 --- a/runtimes/peregrine/src/weights/pallet_treasury.rs +++ b/runtimes/peregrine/src/weights/pallet_treasury.rs @@ -19,7 +19,7 @@ //! Autogenerated weights for pallet_treasury //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-11-07, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2023-02-02, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024 // Executed Command: @@ -49,47 +49,49 @@ use sp_std::marker::PhantomData; pub struct WeightInfo(PhantomData); impl pallet_treasury::WeightInfo for WeightInfo { fn spend() -> Weight { - Weight::from_ref_time(338_000 as u64) + Weight::from_ref_time(437_000 as u64) } // Storage: Treasury ProposalCount (r:1 w:1) // Storage: Treasury Proposals (r:0 w:1) fn propose_spend() -> Weight { - Weight::from_ref_time(47_604_000 as u64) + Weight::from_ref_time(43_633_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Treasury Proposals (r:1 w:1) // Storage: System Account (r:2 w:2) fn reject_proposal() -> Weight { - Weight::from_ref_time(67_946_000 as u64) + Weight::from_ref_time(64_800_000 as u64) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } // Storage: Treasury Proposals (r:1 w:0) // Storage: Treasury Approvals (r:1 w:1) fn approve_proposal(p: u32, ) -> Weight { - Weight::from_ref_time(23_094_000 as u64) - // Standard Error: 2_000 - .saturating_add(Weight::from_ref_time(166_000 as u64).saturating_mul(p as u64)) + Weight::from_ref_time(22_986_955 as u64) + // Standard Error: 3_069 + .saturating_add(Weight::from_ref_time(26_278 as u64).saturating_mul(p as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Treasury Approvals (r:1 w:1) fn remove_approval() -> Weight { - Weight::from_ref_time(14_821_000 as u64) + Weight::from_ref_time(25_510_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: System Account (r:1 w:0) + // Storage: Treasury Deactivated (r:1 w:1) + // Storage: Balances InactiveIssuance (r:1 w:1) // Storage: Treasury Approvals (r:1 w:1) // Storage: Treasury Proposals (r:2 w:2) fn on_initialize_proposals(p: u32, ) -> Weight { - Weight::from_ref_time(85_112_000 as u64) - // Standard Error: 21_000 - .saturating_add(Weight::from_ref_time(43_385_000 as u64).saturating_mul(p as u64)) - .saturating_add(T::DbWeight::get().reads(2 as u64)) + Weight::from_ref_time(95_612_296 as u64) + // Standard Error: 43_508 + .saturating_add(Weight::from_ref_time(42_091_030 as u64).saturating_mul(p as u64)) + .saturating_add(T::DbWeight::get().reads(4 as u64)) .saturating_add(T::DbWeight::get().reads((3 as u64).saturating_mul(p as u64))) - .saturating_add(T::DbWeight::get().writes(2 as u64)) + .saturating_add(T::DbWeight::get().writes(4 as u64)) .saturating_add(T::DbWeight::get().writes((3 as u64).saturating_mul(p as u64))) } } diff --git a/runtimes/peregrine/src/weights/pallet_utility.rs b/runtimes/peregrine/src/weights/pallet_utility.rs index 9ac3316a8..893ce673f 100644 --- a/runtimes/peregrine/src/weights/pallet_utility.rs +++ b/runtimes/peregrine/src/weights/pallet_utility.rs @@ -19,7 +19,7 @@ //! Autogenerated weights for pallet_utility //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-11-07, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2023-02-02, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024 // Executed Command: @@ -49,24 +49,24 @@ use sp_std::marker::PhantomData; pub struct WeightInfo(PhantomData); impl pallet_utility::WeightInfo for WeightInfo { fn batch(c: u32, ) -> Weight { - Weight::from_ref_time(50_403_000 as u64) - // Standard Error: 3_000 - .saturating_add(Weight::from_ref_time(5_798_000 as u64).saturating_mul(c as u64)) + Weight::from_ref_time(52_821_151 as u64) + // Standard Error: 3_971 + .saturating_add(Weight::from_ref_time(5_820_388 as u64).saturating_mul(c as u64)) } fn as_derivative() -> Weight { - Weight::from_ref_time(11_073_000 as u64) + Weight::from_ref_time(22_394_000 as u64) } fn batch_all(c: u32, ) -> Weight { - Weight::from_ref_time(45_913_000 as u64) - // Standard Error: 3_000 - .saturating_add(Weight::from_ref_time(6_092_000 as u64).saturating_mul(c as u64)) + Weight::from_ref_time(48_157_222 as u64) + // Standard Error: 4_351 + .saturating_add(Weight::from_ref_time(6_019_497 as u64).saturating_mul(c as u64)) } fn dispatch_as() -> Weight { - Weight::from_ref_time(23_881_000 as u64) + Weight::from_ref_time(23_409_000 as u64) } fn force_batch(c: u32, ) -> Weight { - Weight::from_ref_time(42_182_000 as u64) - // Standard Error: 3_000 - .saturating_add(Weight::from_ref_time(5_800_000 as u64).saturating_mul(c as u64)) + Weight::from_ref_time(44_731_453 as u64) + // Standard Error: 4_395 + .saturating_add(Weight::from_ref_time(5_880_630 as u64).saturating_mul(c as u64)) } } diff --git a/runtimes/peregrine/src/weights/pallet_vesting.rs b/runtimes/peregrine/src/weights/pallet_vesting.rs index a1f9836f7..d1be65327 100644 --- a/runtimes/peregrine/src/weights/pallet_vesting.rs +++ b/runtimes/peregrine/src/weights/pallet_vesting.rs @@ -19,7 +19,7 @@ //! Autogenerated weights for pallet_vesting //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-11-07, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2023-02-02, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024 // Executed Command: @@ -50,23 +50,21 @@ pub struct WeightInfo(PhantomData); impl pallet_vesting::WeightInfo for WeightInfo { // Storage: Vesting Vesting (r:1 w:1) // Storage: Balances Locks (r:1 w:1) - fn vest_locked(l: u32, s: u32, ) -> Weight { - Weight::from_ref_time(66_644_000 as u64) - // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(38_000 as u64).saturating_mul(l as u64)) - // Standard Error: 2_000 - .saturating_add(Weight::from_ref_time(92_000 as u64).saturating_mul(s as u64)) + fn vest_locked(l: u32, _s: u32, ) -> Weight { + Weight::from_ref_time(63_987_681 as u64) + // Standard Error: 3_278 + .saturating_add(Weight::from_ref_time(36_591 as u64).saturating_mul(l as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Vesting Vesting (r:1 w:1) // Storage: Balances Locks (r:1 w:1) fn vest_unlocked(l: u32, s: u32, ) -> Weight { - Weight::from_ref_time(65_664_000 as u64) - // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(35_000 as u64).saturating_mul(l as u64)) - // Standard Error: 3_000 - .saturating_add(Weight::from_ref_time(48_000 as u64).saturating_mul(s as u64)) + Weight::from_ref_time(61_504_039 as u64) + // Standard Error: 3_148 + .saturating_add(Weight::from_ref_time(35_192 as u64).saturating_mul(l as u64)) + // Standard Error: 5_602 + .saturating_add(Weight::from_ref_time(24_314 as u64).saturating_mul(s as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } @@ -74,11 +72,11 @@ impl pallet_vesting::WeightInfo for WeightInfo { // Storage: Balances Locks (r:1 w:1) // Storage: System Account (r:1 w:1) fn vest_other_locked(l: u32, s: u32, ) -> Weight { - Weight::from_ref_time(63_702_000 as u64) - // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(58_000 as u64).saturating_mul(l as u64)) - // Standard Error: 2_000 - .saturating_add(Weight::from_ref_time(98_000 as u64).saturating_mul(s as u64)) + Weight::from_ref_time(62_184_271 as u64) + // Standard Error: 7_688 + .saturating_add(Weight::from_ref_time(33_327 as u64).saturating_mul(l as u64)) + // Standard Error: 13_679 + .saturating_add(Weight::from_ref_time(39_568 as u64).saturating_mul(s as u64)) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } @@ -86,11 +84,11 @@ impl pallet_vesting::WeightInfo for WeightInfo { // Storage: Balances Locks (r:1 w:1) // Storage: System Account (r:1 w:1) fn vest_other_unlocked(l: u32, s: u32, ) -> Weight { - Weight::from_ref_time(63_678_000 as u64) - // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(50_000 as u64).saturating_mul(l as u64)) - // Standard Error: 2_000 - .saturating_add(Weight::from_ref_time(46_000 as u64).saturating_mul(s as u64)) + Weight::from_ref_time(59_553_756 as u64) + // Standard Error: 5_365 + .saturating_add(Weight::from_ref_time(49_155 as u64).saturating_mul(l as u64)) + // Standard Error: 9_545 + .saturating_add(Weight::from_ref_time(54_807 as u64).saturating_mul(s as u64)) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } @@ -98,23 +96,21 @@ impl pallet_vesting::WeightInfo for WeightInfo { // Storage: System Account (r:1 w:1) // Storage: Balances Locks (r:1 w:1) fn vested_transfer(l: u32, s: u32, ) -> Weight { - Weight::from_ref_time(90_513_000 as u64) - // Standard Error: 3_000 - .saturating_add(Weight::from_ref_time(47_000 as u64).saturating_mul(l as u64)) - // Standard Error: 6_000 - .saturating_add(Weight::from_ref_time(62_000 as u64).saturating_mul(s as u64)) + Weight::from_ref_time(87_804_851 as u64) + // Standard Error: 9_387 + .saturating_add(Weight::from_ref_time(25_589 as u64).saturating_mul(l as u64)) + // Standard Error: 16_701 + .saturating_add(Weight::from_ref_time(26_779 as u64).saturating_mul(s as u64)) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } // Storage: Vesting Vesting (r:1 w:1) // Storage: System Account (r:2 w:2) // Storage: Balances Locks (r:1 w:1) - fn force_vested_transfer(l: u32, s: u32, ) -> Weight { - Weight::from_ref_time(90_415_000 as u64) - // Standard Error: 3_000 - .saturating_add(Weight::from_ref_time(35_000 as u64).saturating_mul(l as u64)) - // Standard Error: 6_000 - .saturating_add(Weight::from_ref_time(36_000 as u64).saturating_mul(s as u64)) + fn force_vested_transfer(l: u32, _s: u32, ) -> Weight { + Weight::from_ref_time(86_464_303 as u64) + // Standard Error: 4_308 + .saturating_add(Weight::from_ref_time(39_808 as u64).saturating_mul(l as u64)) .saturating_add(T::DbWeight::get().reads(4 as u64)) .saturating_add(T::DbWeight::get().writes(4 as u64)) } @@ -122,11 +118,11 @@ impl pallet_vesting::WeightInfo for WeightInfo { // Storage: Balances Locks (r:1 w:1) // Storage: System Account (r:1 w:1) fn not_unlocking_merge_schedules(l: u32, s: u32, ) -> Weight { - Weight::from_ref_time(65_717_000 as u64) - // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(55_000 as u64).saturating_mul(l as u64)) - // Standard Error: 2_000 - .saturating_add(Weight::from_ref_time(86_000 as u64).saturating_mul(s as u64)) + Weight::from_ref_time(61_359_175 as u64) + // Standard Error: 6_049 + .saturating_add(Weight::from_ref_time(62_468 as u64).saturating_mul(l as u64)) + // Standard Error: 11_171 + .saturating_add(Weight::from_ref_time(79_331 as u64).saturating_mul(s as u64)) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } @@ -134,11 +130,11 @@ impl pallet_vesting::WeightInfo for WeightInfo { // Storage: Balances Locks (r:1 w:1) // Storage: System Account (r:1 w:1) fn unlocking_merge_schedules(l: u32, s: u32, ) -> Weight { - Weight::from_ref_time(64_815_000 as u64) - // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(62_000 as u64).saturating_mul(l as u64)) - // Standard Error: 2_000 - .saturating_add(Weight::from_ref_time(104_000 as u64).saturating_mul(s as u64)) + Weight::from_ref_time(63_969_317 as u64) + // Standard Error: 9_620 + .saturating_add(Weight::from_ref_time(22_554 as u64).saturating_mul(l as u64)) + // Standard Error: 17_767 + .saturating_add(Weight::from_ref_time(43_010 as u64).saturating_mul(s as u64)) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } diff --git a/runtimes/peregrine/src/weights/pallet_web3_names.rs b/runtimes/peregrine/src/weights/pallet_web3_names.rs index 95b753a9e..cdb1335d6 100644 --- a/runtimes/peregrine/src/weights/pallet_web3_names.rs +++ b/runtimes/peregrine/src/weights/pallet_web3_names.rs @@ -19,7 +19,7 @@ //! Autogenerated weights for pallet_web3_names //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-11-07, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2023-02-02, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024 // Executed Command: @@ -53,9 +53,9 @@ impl pallet_web3_names::WeightInfo for WeightInfo { // Storage: Web3Names Banned (r:1 w:0) // Storage: System Account (r:1 w:1) fn claim(n: u32, ) -> Weight { - Weight::from_ref_time(58_514_000 as u64) - // Standard Error: 2_000 - .saturating_add(Weight::from_ref_time(20_000 as u64).saturating_mul(n as u64)) + Weight::from_ref_time(79_764_153 as u64) + // Standard Error: 176_900 + .saturating_add(Weight::from_ref_time(74_537 as u64).saturating_mul(n as u64)) .saturating_add(T::DbWeight::get().reads(4 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } @@ -63,7 +63,7 @@ impl pallet_web3_names::WeightInfo for WeightInfo { // Storage: Web3Names Owner (r:1 w:1) // Storage: System Account (r:1 w:1) fn release_by_owner() -> Weight { - Weight::from_ref_time(55_643_000 as u64) + Weight::from_ref_time(52_624_000 as u64) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } @@ -71,9 +71,9 @@ impl pallet_web3_names::WeightInfo for WeightInfo { // Storage: System Account (r:1 w:1) // Storage: Web3Names Names (r:0 w:1) fn reclaim_deposit(n: u32, ) -> Weight { - Weight::from_ref_time(52_172_000 as u64) - // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(34_000 as u64).saturating_mul(n as u64)) + Weight::from_ref_time(60_340_147 as u64) + // Standard Error: 117_648 + .saturating_add(Weight::from_ref_time(37_156 as u64).saturating_mul(n as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } @@ -82,17 +82,17 @@ impl pallet_web3_names::WeightInfo for WeightInfo { // Storage: System Account (r:1 w:1) // Storage: Web3Names Names (r:0 w:1) fn ban(n: u32, ) -> Weight { - Weight::from_ref_time(56_687_000 as u64) - // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(30_000 as u64).saturating_mul(n as u64)) + Weight::from_ref_time(60_577_250 as u64) + // Standard Error: 135_135 + .saturating_add(Weight::from_ref_time(453_206 as u64).saturating_mul(n as u64)) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(4 as u64)) } // Storage: Web3Names Banned (r:1 w:1) fn unban(n: u32, ) -> Weight { - Weight::from_ref_time(31_222_000 as u64) - // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(35_000 as u64).saturating_mul(n as u64)) + Weight::from_ref_time(35_477_818 as u64) + // Standard Error: 72_359 + .saturating_add(Weight::from_ref_time(281_365 as u64).saturating_mul(n as u64)) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } @@ -100,14 +100,14 @@ impl pallet_web3_names::WeightInfo for WeightInfo { // Storage: Web3Names Owner (r:1 w:1) // Storage: System Account (r:2 w:2) fn change_deposit_owner() -> Weight { - Weight::from_ref_time(69_280_000 as u64) + Weight::from_ref_time(66_888_000 as u64) .saturating_add(T::DbWeight::get().reads(4 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } // Storage: Web3Names Owner (r:1 w:1) // Storage: System Account (r:1 w:1) fn update_deposit() -> Weight { - Weight::from_ref_time(60_735_000 as u64) + Weight::from_ref_time(56_032_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } diff --git a/runtimes/peregrine/src/weights/parachain_staking.rs b/runtimes/peregrine/src/weights/parachain_staking.rs index 683b8f7fe..4a082f7c0 100644 --- a/runtimes/peregrine/src/weights/parachain_staking.rs +++ b/runtimes/peregrine/src/weights/parachain_staking.rs @@ -19,7 +19,7 @@ //! Autogenerated weights for parachain_staking //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-11-07, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2023-02-02, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024 // Executed Command: @@ -50,12 +50,12 @@ pub struct WeightInfo(PhantomData); impl parachain_staking::WeightInfo for WeightInfo { // Storage: ParachainStaking Round (r:1 w:0) fn on_initialize_no_action() -> Weight { - Weight::from_ref_time(7_466_000 as u64) + Weight::from_ref_time(15_416_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) } // Storage: ParachainStaking Round (r:1 w:1) fn on_initialize_round_update() -> Weight { - Weight::from_ref_time(22_168_000 as u64) + Weight::from_ref_time(21_888_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } @@ -65,13 +65,13 @@ impl parachain_staking::WeightInfo for WeightInfo { // Storage: ParachainStaking MaxSelectedCandidates (r:1 w:0) // Storage: System Account (r:1 w:1) fn on_initialize_network_rewards() -> Weight { - Weight::from_ref_time(58_509_000 as u64) + Weight::from_ref_time(55_752_000 as u64) .saturating_add(T::DbWeight::get().reads(5 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: ParachainStaking ForceNewRound (r:0 w:1) fn force_new_round() -> Weight { - Weight::from_ref_time(8_573_000 as u64) + Weight::from_ref_time(8_317_000 as u64) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: ParachainStaking CandidatePool (r:3 w:0) @@ -82,32 +82,35 @@ impl parachain_staking::WeightInfo for WeightInfo { // Storage: ParachainStaking InflationConfig (r:1 w:1) // Storage: ParachainStaking CounterForCandidatePool (r:1 w:0) fn set_inflation(n: u32, m: u32, ) -> Weight { - Weight::from_ref_time(0 as u64) - // Standard Error: 578_000 - .saturating_add(Weight::from_ref_time(491_280_000 as u64).saturating_mul(n as u64)) - // Standard Error: 1_231_000 - .saturating_add(Weight::from_ref_time(1_022_641_000 as u64).saturating_mul(m as u64)) - .saturating_add(T::DbWeight::get().reads((74 as u64).saturating_mul(n as u64))) - .saturating_add(T::DbWeight::get().reads((150 as u64).saturating_mul(m as u64))) - .saturating_add(T::DbWeight::get().writes((72 as u64).saturating_mul(n as u64))) - .saturating_add(T::DbWeight::get().writes((150 as u64).saturating_mul(m as u64))) + Weight::from_ref_time(875_145_000 as u64) + // Standard Error: 5_299_322 + .saturating_add(Weight::from_ref_time(170_956_626 as u64).saturating_mul(n as u64)) + // Standard Error: 11_377_529 + .saturating_add(Weight::from_ref_time(326_239_282 as u64).saturating_mul(m as u64)) + .saturating_add(T::DbWeight::get().reads(152 as u64)) + .saturating_add(T::DbWeight::get().reads((27 as u64).saturating_mul(n as u64))) + .saturating_add(T::DbWeight::get().reads((51 as u64).saturating_mul(m as u64))) + .saturating_add(T::DbWeight::get().writes(145 as u64)) + .saturating_add(T::DbWeight::get().writes((25 as u64).saturating_mul(n as u64))) + .saturating_add(T::DbWeight::get().writes((51 as u64).saturating_mul(m as u64))) } // Storage: ParachainStaking MaxSelectedCandidates (r:1 w:1) // Storage: ParachainStaking TopCandidates (r:1 w:0) // Storage: ParachainStaking TotalCollatorStake (r:1 w:1) // Storage: ParachainStaking CandidatePool (r:1 w:0) fn set_max_selected_candidates(n: u32, m: u32, ) -> Weight { - Weight::from_ref_time(0 as u64) - // Standard Error: 251_000 - .saturating_add(Weight::from_ref_time(26_691_000 as u64).saturating_mul(n as u64)) - // Standard Error: 421_000 - .saturating_add(Weight::from_ref_time(42_215_000 as u64).saturating_mul(m as u64)) + Weight::from_ref_time(72_087_000 as u64) + // Standard Error: 28_205 + .saturating_add(Weight::from_ref_time(3_571_094 as u64).saturating_mul(n as u64)) + // Standard Error: 62_429 + .saturating_add(Weight::from_ref_time(399_246 as u64).saturating_mul(m as u64)) + .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(n as u64))) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: ParachainStaking Round (r:1 w:1) fn set_blocks_per_round() -> Weight { - Weight::from_ref_time(28_992_000 as u64) + Weight::from_ref_time(28_489_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } @@ -126,11 +129,11 @@ impl parachain_staking::WeightInfo for WeightInfo { // Storage: ParachainStaking CounterForCandidatePool (r:1 w:1) // Storage: ParachainStaking MaxSelectedCandidates (r:1 w:0) fn force_remove_candidate(n: u32, m: u32, ) -> Weight { - Weight::from_ref_time(0 as u64) - // Standard Error: 241_000 - .saturating_add(Weight::from_ref_time(27_473_000 as u64).saturating_mul(n as u64)) - // Standard Error: 398_000 - .saturating_add(Weight::from_ref_time(77_591_000 as u64).saturating_mul(m as u64)) + Weight::from_ref_time(168_253_000 as u64) + // Standard Error: 35_111 + .saturating_add(Weight::from_ref_time(1_274_199 as u64).saturating_mul(n as u64)) + // Standard Error: 77_891 + .saturating_add(Weight::from_ref_time(31_993_356 as u64).saturating_mul(m as u64)) .saturating_add(T::DbWeight::get().reads(29 as u64)) .saturating_add(T::DbWeight::get().reads((4 as u64).saturating_mul(m as u64))) .saturating_add(T::DbWeight::get().writes(10 as u64)) @@ -147,11 +150,11 @@ impl parachain_staking::WeightInfo for WeightInfo { // Storage: ParachainStaking TotalCollatorStake (r:1 w:1) // Storage: ParachainStaking CounterForCandidatePool (r:1 w:1) fn join_candidates(n: u32, m: u32, ) -> Weight { - Weight::from_ref_time(0 as u64) - // Standard Error: 227_000 - .saturating_add(Weight::from_ref_time(22_245_000 as u64).saturating_mul(n as u64)) - // Standard Error: 472_000 - .saturating_add(Weight::from_ref_time(45_433_000 as u64).saturating_mul(m as u64)) + Weight::from_ref_time(76_286_351 as u64) + // Standard Error: 15_995 + .saturating_add(Weight::from_ref_time(837_995 as u64).saturating_mul(n as u64)) + // Standard Error: 33_215 + .saturating_add(Weight::from_ref_time(1_637_780 as u64).saturating_mul(m as u64)) .saturating_add(T::DbWeight::get().reads(10 as u64)) .saturating_add(T::DbWeight::get().writes(7 as u64)) } @@ -161,11 +164,11 @@ impl parachain_staking::WeightInfo for WeightInfo { // Storage: ParachainStaking MaxSelectedCandidates (r:1 w:0) // Storage: ParachainStaking TotalCollatorStake (r:1 w:1) fn init_leave_candidates(n: u32, m: u32, ) -> Weight { - Weight::from_ref_time(0 as u64) - // Standard Error: 251_000 - .saturating_add(Weight::from_ref_time(27_190_000 as u64).saturating_mul(n as u64)) - // Standard Error: 407_000 - .saturating_add(Weight::from_ref_time(50_417_000 as u64).saturating_mul(m as u64)) + Weight::from_ref_time(101_593_616 as u64) + // Standard Error: 16_165 + .saturating_add(Weight::from_ref_time(902_145 as u64).saturating_mul(n as u64)) + // Standard Error: 26_216 + .saturating_add(Weight::from_ref_time(1_971_623 as u64).saturating_mul(m as u64)) .saturating_add(T::DbWeight::get().reads(21 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } @@ -174,11 +177,11 @@ impl parachain_staking::WeightInfo for WeightInfo { // Storage: ParachainStaking MaxSelectedCandidates (r:1 w:0) // Storage: ParachainStaking TotalCollatorStake (r:1 w:1) fn cancel_leave_candidates(n: u32, m: u32, ) -> Weight { - Weight::from_ref_time(0 as u64) - // Standard Error: 261_000 - .saturating_add(Weight::from_ref_time(27_784_000 as u64).saturating_mul(n as u64)) - // Standard Error: 423_000 - .saturating_add(Weight::from_ref_time(51_337_000 as u64).saturating_mul(m as u64)) + Weight::from_ref_time(62_158_723 as u64) + // Standard Error: 12_285 + .saturating_add(Weight::from_ref_time(480_541 as u64).saturating_mul(n as u64)) + // Standard Error: 19_923 + .saturating_add(Weight::from_ref_time(1_140_844 as u64).saturating_mul(m as u64)) .saturating_add(T::DbWeight::get().reads(5 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } @@ -196,11 +199,11 @@ impl parachain_staking::WeightInfo for WeightInfo { // Storage: System Digest (r:1 w:1) // Storage: ParachainStaking CounterForCandidatePool (r:1 w:1) fn execute_leave_candidates(n: u32, m: u32, ) -> Weight { - Weight::from_ref_time(0 as u64) - // Standard Error: 240_000 - .saturating_add(Weight::from_ref_time(31_864_000 as u64).saturating_mul(n as u64)) - // Standard Error: 390_000 - .saturating_add(Weight::from_ref_time(86_748_000 as u64).saturating_mul(m as u64)) + Weight::from_ref_time(101_492_000 as u64) + // Standard Error: 33_053 + .saturating_add(Weight::from_ref_time(1_085_158 as u64).saturating_mul(n as u64)) + // Standard Error: 72_387 + .saturating_add(Weight::from_ref_time(32_098_821 as u64).saturating_mul(m as u64)) .saturating_add(T::DbWeight::get().reads(12 as u64)) .saturating_add(T::DbWeight::get().reads((4 as u64).saturating_mul(m as u64))) .saturating_add(T::DbWeight::get().writes(8 as u64)) @@ -218,12 +221,14 @@ impl parachain_staking::WeightInfo for WeightInfo { // Storage: ParachainStaking BlocksRewarded (r:1 w:1) // Storage: ParachainStaking Rewards (r:1 w:1) // Storage: ParachainStaking InflationConfig (r:1 w:0) - fn candidate_stake_more(n: u32, m: u32, _u: u32, ) -> Weight { - Weight::from_ref_time(0 as u64) - // Standard Error: 197_000 - .saturating_add(Weight::from_ref_time(28_567_000 as u64).saturating_mul(n as u64)) - // Standard Error: 409_000 - .saturating_add(Weight::from_ref_time(58_728_000 as u64).saturating_mul(m as u64)) + fn candidate_stake_more(n: u32, m: u32, u: u32, ) -> Weight { + Weight::from_ref_time(72_993_566 as u64) + // Standard Error: 13_600 + .saturating_add(Weight::from_ref_time(924_637 as u64).saturating_mul(n as u64)) + // Standard Error: 28_232 + .saturating_add(Weight::from_ref_time(1_825_569 as u64).saturating_mul(m as u64)) + // Standard Error: 104_577 + .saturating_add(Weight::from_ref_time(1_832_598 as u64).saturating_mul(u as u64)) .saturating_add(T::DbWeight::get().reads(12 as u64)) .saturating_add(T::DbWeight::get().writes(8 as u64)) } @@ -237,11 +242,11 @@ impl parachain_staking::WeightInfo for WeightInfo { // Storage: ParachainStaking Rewards (r:1 w:1) // Storage: ParachainStaking InflationConfig (r:1 w:0) fn candidate_stake_less(n: u32, m: u32, ) -> Weight { - Weight::from_ref_time(0 as u64) - // Standard Error: 237_000 - .saturating_add(Weight::from_ref_time(27_274_000 as u64).saturating_mul(n as u64)) - // Standard Error: 493_000 - .saturating_add(Weight::from_ref_time(56_335_000 as u64).saturating_mul(m as u64)) + Weight::from_ref_time(62_285_477 as u64) + // Standard Error: 16_246 + .saturating_add(Weight::from_ref_time(856_801 as u64).saturating_mul(n as u64)) + // Standard Error: 33_737 + .saturating_add(Weight::from_ref_time(1_677_444 as u64).saturating_mul(m as u64)) .saturating_add(T::DbWeight::get().reads(9 as u64)) .saturating_add(T::DbWeight::get().writes(6 as u64)) } @@ -258,11 +263,11 @@ impl parachain_staking::WeightInfo for WeightInfo { // Storage: ParachainStaking BlocksAuthored (r:1 w:0) // Storage: ParachainStaking BlocksRewarded (r:0 w:1) fn join_delegators(n: u32, m: u32, ) -> Weight { - Weight::from_ref_time(0 as u64) - // Standard Error: 226_000 - .saturating_add(Weight::from_ref_time(27_049_000 as u64).saturating_mul(n as u64)) - // Standard Error: 503_000 - .saturating_add(Weight::from_ref_time(58_845_000 as u64).saturating_mul(m as u64)) + Weight::from_ref_time(78_554_718 as u64) + // Standard Error: 15_120 + .saturating_add(Weight::from_ref_time(1_074_361 as u64).saturating_mul(n as u64)) + // Standard Error: 33_604 + .saturating_add(Weight::from_ref_time(2_150_600 as u64).saturating_mul(m as u64)) .saturating_add(T::DbWeight::get().reads(12 as u64)) .saturating_add(T::DbWeight::get().writes(9 as u64)) } @@ -278,12 +283,14 @@ impl parachain_staking::WeightInfo for WeightInfo { // Storage: ParachainStaking BlocksRewarded (r:1 w:1) // Storage: ParachainStaking Rewards (r:1 w:1) // Storage: ParachainStaking InflationConfig (r:1 w:0) - fn delegator_stake_more(n: u32, m: u32, _u: u32, ) -> Weight { - Weight::from_ref_time(0 as u64) - // Standard Error: 179_000 - .saturating_add(Weight::from_ref_time(28_220_000 as u64).saturating_mul(n as u64)) - // Standard Error: 399_000 - .saturating_add(Weight::from_ref_time(61_739_000 as u64).saturating_mul(m as u64)) + fn delegator_stake_more(n: u32, m: u32, u: u32, ) -> Weight { + Weight::from_ref_time(83_097_910 as u64) + // Standard Error: 12_550 + .saturating_add(Weight::from_ref_time(977_930 as u64).saturating_mul(n as u64)) + // Standard Error: 27_881 + .saturating_add(Weight::from_ref_time(1_938_416 as u64).saturating_mul(m as u64)) + // Standard Error: 108_137 + .saturating_add(Weight::from_ref_time(1_659_555 as u64).saturating_mul(u as u64)) .saturating_add(T::DbWeight::get().reads(12 as u64)) .saturating_add(T::DbWeight::get().writes(9 as u64)) } @@ -298,11 +305,11 @@ impl parachain_staking::WeightInfo for WeightInfo { // Storage: ParachainStaking Rewards (r:1 w:1) // Storage: ParachainStaking InflationConfig (r:1 w:0) fn delegator_stake_less(n: u32, m: u32, ) -> Weight { - Weight::from_ref_time(0 as u64) - // Standard Error: 224_000 - .saturating_add(Weight::from_ref_time(26_894_000 as u64).saturating_mul(n as u64)) - // Standard Error: 499_000 - .saturating_add(Weight::from_ref_time(58_539_000 as u64).saturating_mul(m as u64)) + Weight::from_ref_time(73_436_463 as u64) + // Standard Error: 14_697 + .saturating_add(Weight::from_ref_time(912_018 as u64).saturating_mul(n as u64)) + // Standard Error: 32_665 + .saturating_add(Weight::from_ref_time(1_780_062 as u64).saturating_mul(m as u64)) .saturating_add(T::DbWeight::get().reads(10 as u64)) .saturating_add(T::DbWeight::get().writes(7 as u64)) } @@ -317,11 +324,11 @@ impl parachain_staking::WeightInfo for WeightInfo { // Storage: ParachainStaking TopCandidates (r:1 w:1) // Storage: ParachainStaking MaxSelectedCandidates (r:1 w:0) fn leave_delegators(n: u32, m: u32, ) -> Weight { - Weight::from_ref_time(0 as u64) - // Standard Error: 227_000 - .saturating_add(Weight::from_ref_time(27_201_000 as u64).saturating_mul(n as u64)) - // Standard Error: 504_000 - .saturating_add(Weight::from_ref_time(59_138_000 as u64).saturating_mul(m as u64)) + Weight::from_ref_time(78_234_816 as u64) + // Standard Error: 15_039 + .saturating_add(Weight::from_ref_time(919_909 as u64).saturating_mul(n as u64)) + // Standard Error: 33_424 + .saturating_add(Weight::from_ref_time(1_806_001 as u64).saturating_mul(m as u64)) .saturating_add(T::DbWeight::get().reads(10 as u64)) .saturating_add(T::DbWeight::get().writes(7 as u64)) } @@ -329,15 +336,15 @@ impl parachain_staking::WeightInfo for WeightInfo { // Storage: Balances Locks (r:1 w:1) // Storage: System Account (r:1 w:1) fn unlock_unstaked(u: u32, ) -> Weight { - Weight::from_ref_time(56_879_000 as u64) - // Standard Error: 13_000 - .saturating_add(Weight::from_ref_time(330_000 as u64).saturating_mul(u as u64)) + Weight::from_ref_time(53_722_447 as u64) + // Standard Error: 21_424 + .saturating_add(Weight::from_ref_time(264_299 as u64).saturating_mul(u as u64)) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } // Storage: ParachainStaking MaxCollatorCandidateStake (r:0 w:1) fn set_max_candidate_stake() -> Weight { - Weight::from_ref_time(23_280_000 as u64) + Weight::from_ref_time(21_167_000 as u64) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: ParachainStaking DelegatorState (r:1 w:0) @@ -347,7 +354,7 @@ impl parachain_staking::WeightInfo for WeightInfo { // Storage: ParachainStaking TotalCollatorStake (r:1 w:0) // Storage: ParachainStaking InflationConfig (r:1 w:0) fn increment_delegator_rewards() -> Weight { - Weight::from_ref_time(46_174_000 as u64) + Weight::from_ref_time(39_789_000 as u64) .saturating_add(T::DbWeight::get().reads(6 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } @@ -358,14 +365,14 @@ impl parachain_staking::WeightInfo for WeightInfo { // Storage: ParachainStaking TotalCollatorStake (r:1 w:0) // Storage: ParachainStaking InflationConfig (r:1 w:0) fn increment_collator_rewards() -> Weight { - Weight::from_ref_time(39_475_000 as u64) + Weight::from_ref_time(35_640_000 as u64) .saturating_add(T::DbWeight::get().reads(6 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: ParachainStaking Rewards (r:1 w:1) // Storage: System Account (r:1 w:1) fn claim_rewards() -> Weight { - Weight::from_ref_time(58_354_000 as u64) + Weight::from_ref_time(113_068_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } @@ -378,14 +385,16 @@ impl parachain_staking::WeightInfo for WeightInfo { // Storage: ParachainStaking TotalCollatorStake (r:1 w:0) // Storage: ParachainStaking CounterForCandidatePool (r:1 w:0) fn execute_scheduled_reward_change(n: u32, m: u32, ) -> Weight { - Weight::from_ref_time(0 as u64) - // Standard Error: 607_000 - .saturating_add(Weight::from_ref_time(495_051_000 as u64).saturating_mul(n as u64)) - // Standard Error: 1_291_000 - .saturating_add(Weight::from_ref_time(1_020_115_000 as u64).saturating_mul(m as u64)) - .saturating_add(T::DbWeight::get().reads((74 as u64).saturating_mul(n as u64))) - .saturating_add(T::DbWeight::get().reads((150 as u64).saturating_mul(m as u64))) - .saturating_add(T::DbWeight::get().writes((72 as u64).saturating_mul(n as u64))) - .saturating_add(T::DbWeight::get().writes((150 as u64).saturating_mul(m as u64))) + Weight::from_ref_time(862_056_000 as u64) + // Standard Error: 5_102_687 + .saturating_add(Weight::from_ref_time(164_232_513 as u64).saturating_mul(n as u64)) + // Standard Error: 10_955_357 + .saturating_add(Weight::from_ref_time(318_222_620 as u64).saturating_mul(m as u64)) + .saturating_add(T::DbWeight::get().reads(153 as u64)) + .saturating_add(T::DbWeight::get().reads((27 as u64).saturating_mul(n as u64))) + .saturating_add(T::DbWeight::get().reads((51 as u64).saturating_mul(m as u64))) + .saturating_add(T::DbWeight::get().writes(146 as u64)) + .saturating_add(T::DbWeight::get().writes((25 as u64).saturating_mul(n as u64))) + .saturating_add(T::DbWeight::get().writes((51 as u64).saturating_mul(m as u64))) } } diff --git a/runtimes/peregrine/src/weights/public_credentials.rs b/runtimes/peregrine/src/weights/public_credentials.rs index 800858e46..20a431e36 100644 --- a/runtimes/peregrine/src/weights/public_credentials.rs +++ b/runtimes/peregrine/src/weights/public_credentials.rs @@ -19,7 +19,7 @@ //! Autogenerated weights for public_credentials //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-11-07, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2023-02-02, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024 // Executed Command: @@ -53,23 +53,23 @@ impl public_credentials::WeightInfo for WeightInfo { // Storage: System Account (r:1 w:1) // Storage: PublicCredentials CredentialSubjects (r:0 w:1) fn add(c: u32, ) -> Weight { - Weight::from_ref_time(72_896_000 as u64) - // Standard Error: 0 - .saturating_add(Weight::from_ref_time(2_000 as u64).saturating_mul(c as u64)) + Weight::from_ref_time(95_650_839 as u64) + // Standard Error: 48 + .saturating_add(Weight::from_ref_time(2_632 as u64).saturating_mul(c as u64)) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } // Storage: PublicCredentials CredentialSubjects (r:1 w:0) // Storage: PublicCredentials Credentials (r:1 w:1) fn revoke() -> Weight { - Weight::from_ref_time(44_712_000 as u64) + Weight::from_ref_time(86_537_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: PublicCredentials CredentialSubjects (r:1 w:0) // Storage: PublicCredentials Credentials (r:1 w:1) fn unrevoke() -> Weight { - Weight::from_ref_time(45_216_000 as u64) + Weight::from_ref_time(42_505_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } @@ -77,7 +77,7 @@ impl public_credentials::WeightInfo for WeightInfo { // Storage: PublicCredentials Credentials (r:1 w:1) // Storage: System Account (r:1 w:1) fn remove() -> Weight { - Weight::from_ref_time(70_155_000 as u64) + Weight::from_ref_time(66_501_000 as u64) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } @@ -85,7 +85,7 @@ impl public_credentials::WeightInfo for WeightInfo { // Storage: PublicCredentials Credentials (r:1 w:1) // Storage: System Account (r:1 w:1) fn reclaim_deposit() -> Weight { - Weight::from_ref_time(69_197_000 as u64) + Weight::from_ref_time(65_748_000 as u64) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } @@ -93,7 +93,7 @@ impl public_credentials::WeightInfo for WeightInfo { // Storage: PublicCredentials Credentials (r:1 w:1) // Storage: System Account (r:2 w:2) fn change_deposit_owner() -> Weight { - Weight::from_ref_time(87_565_000 as u64) + Weight::from_ref_time(85_655_000 as u64) .saturating_add(T::DbWeight::get().reads(4 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } @@ -101,7 +101,7 @@ impl public_credentials::WeightInfo for WeightInfo { // Storage: PublicCredentials Credentials (r:1 w:1) // Storage: System Account (r:1 w:1) fn update_deposit() -> Weight { - Weight::from_ref_time(82_619_000 as u64) + Weight::from_ref_time(79_903_000 as u64) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } diff --git a/runtimes/spiritnet/src/weights/attestation.rs b/runtimes/spiritnet/src/weights/attestation.rs index af73594c8..1feb2bb80 100644 --- a/runtimes/spiritnet/src/weights/attestation.rs +++ b/runtimes/spiritnet/src/weights/attestation.rs @@ -19,7 +19,7 @@ //! Autogenerated weights for attestation //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-11-07, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2023-02-02, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("spiritnet-dev"), DB CACHE: 1024 // Executed Command: @@ -52,41 +52,41 @@ impl attestation::WeightInfo for WeightInfo { // Storage: Attestation Attestations (r:1 w:1) // Storage: System Account (r:1 w:1) fn add() -> Weight { - Weight::from_ref_time(56_234_000 as u64) + Weight::from_ref_time(113_283_000 as u64) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Attestation Attestations (r:1 w:1) fn revoke() -> Weight { - Weight::from_ref_time(34_160_000 as u64) + Weight::from_ref_time(30_825_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Attestation Attestations (r:1 w:1) // Storage: System Account (r:1 w:1) fn remove() -> Weight { - Weight::from_ref_time(52_393_000 as u64) + Weight::from_ref_time(114_584_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Attestation Attestations (r:1 w:1) // Storage: System Account (r:1 w:1) fn reclaim_deposit() -> Weight { - Weight::from_ref_time(52_627_000 as u64) + Weight::from_ref_time(70_854_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Attestation Attestations (r:1 w:1) // Storage: System Account (r:2 w:2) fn change_deposit_owner() -> Weight { - Weight::from_ref_time(68_992_000 as u64) + Weight::from_ref_time(92_317_000 as u64) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } // Storage: Attestation Attestations (r:1 w:1) // Storage: System Account (r:1 w:1) fn update_deposit() -> Weight { - Weight::from_ref_time(62_215_000 as u64) + Weight::from_ref_time(66_250_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } diff --git a/runtimes/spiritnet/src/weights/ctype.rs b/runtimes/spiritnet/src/weights/ctype.rs index 5104c985d..72020b58a 100644 --- a/runtimes/spiritnet/src/weights/ctype.rs +++ b/runtimes/spiritnet/src/weights/ctype.rs @@ -19,7 +19,7 @@ //! Autogenerated weights for ctype //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-11-07, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2023-02-02, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("spiritnet-dev"), DB CACHE: 1024 // Executed Command: @@ -51,15 +51,15 @@ impl ctype::WeightInfo for WeightInfo { // Storage: System Account (r:2 w:2) // Storage: Ctype Ctypes (r:1 w:1) fn add(l: u32, ) -> Weight { - Weight::from_ref_time(7_111_000 as u64) - // Standard Error: 0 - .saturating_add(Weight::from_ref_time(2_000 as u64).saturating_mul(l as u64)) + Weight::from_ref_time(29_733_676 as u64) + // Standard Error: 1 + .saturating_add(Weight::from_ref_time(1_948 as u64).saturating_mul(l as u64)) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } // Storage: Ctype Ctypes (r:1 w:1) fn set_block_number() -> Weight { - Weight::from_ref_time(19_549_000 as u64) + Weight::from_ref_time(33_338_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } diff --git a/runtimes/spiritnet/src/weights/delegation.rs b/runtimes/spiritnet/src/weights/delegation.rs index ce19f2a38..71ab9afac 100644 --- a/runtimes/spiritnet/src/weights/delegation.rs +++ b/runtimes/spiritnet/src/weights/delegation.rs @@ -19,7 +19,7 @@ //! Autogenerated weights for delegation //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-11-07, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2023-02-02, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("spiritnet-dev"), DB CACHE: 1024 // Executed Command: @@ -53,25 +53,25 @@ impl delegation::WeightInfo for WeightInfo { // Storage: System Account (r:1 w:1) // Storage: Delegation DelegationNodes (r:0 w:1) fn create_hierarchy() -> Weight { - Weight::from_ref_time(58_121_000 as u64) + Weight::from_ref_time(54_941_000 as u64) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } // Storage: Delegation DelegationNodes (r:2 w:2) // Storage: System Account (r:1 w:1) fn add_delegation() -> Weight { - Weight::from_ref_time(64_134_000 as u64) + Weight::from_ref_time(59_231_000 as u64) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } // Storage: Delegation DelegationNodes (r:1 w:1) // Storage: Delegation DelegationHierarchies (r:1 w:0) fn revoke_delegation_root_child(r: u32, c: u32, ) -> Weight { - Weight::from_ref_time(34_233_000 as u64) - // Standard Error: 40_000 - .saturating_add(Weight::from_ref_time(13_991_000 as u64).saturating_mul(r as u64)) - // Standard Error: 40_000 - .saturating_add(Weight::from_ref_time(341_000 as u64).saturating_mul(c as u64)) + Weight::from_ref_time(30_232_798 as u64) + // Standard Error: 31_802 + .saturating_add(Weight::from_ref_time(13_748_475 as u64).saturating_mul(r as u64)) + // Standard Error: 31_802 + .saturating_add(Weight::from_ref_time(423_883 as u64).saturating_mul(c as u64)) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(r as u64))) .saturating_add(T::DbWeight::get().writes((1 as u64).saturating_mul(r as u64))) @@ -79,11 +79,11 @@ impl delegation::WeightInfo for WeightInfo { // Storage: Delegation DelegationNodes (r:6 w:1) // Storage: Delegation DelegationHierarchies (r:1 w:0) fn revoke_delegation_leaf(r: u32, c: u32, ) -> Weight { - Weight::from_ref_time(49_062_000 as u64) - // Standard Error: 10_000 - .saturating_add(Weight::from_ref_time(56_000 as u64).saturating_mul(r as u64)) - // Standard Error: 10_000 - .saturating_add(Weight::from_ref_time(4_113_000 as u64).saturating_mul(c as u64)) + Weight::from_ref_time(45_575_921 as u64) + // Standard Error: 8_624 + .saturating_add(Weight::from_ref_time(64_826 as u64).saturating_mul(r as u64)) + // Standard Error: 8_624 + .saturating_add(Weight::from_ref_time(3_971_312 as u64).saturating_mul(c as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(c as u64))) .saturating_add(T::DbWeight::get().writes(1 as u64)) @@ -92,9 +92,9 @@ impl delegation::WeightInfo for WeightInfo { // Storage: System Account (r:1 w:1) // Storage: Delegation DelegationHierarchies (r:1 w:1) fn remove_delegation(r: u32, ) -> Weight { - Weight::from_ref_time(70_044_000 as u64) - // Standard Error: 16_000 - .saturating_add(Weight::from_ref_time(24_079_000 as u64).saturating_mul(r as u64)) + Weight::from_ref_time(65_166_882 as u64) + // Standard Error: 17_183 + .saturating_add(Weight::from_ref_time(23_904_222 as u64).saturating_mul(r as u64)) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(r as u64))) .saturating_add(T::DbWeight::get().writes(3 as u64)) @@ -104,9 +104,9 @@ impl delegation::WeightInfo for WeightInfo { // Storage: System Account (r:1 w:1) // Storage: Delegation DelegationHierarchies (r:0 w:1) fn reclaim_deposit(r: u32, ) -> Weight { - Weight::from_ref_time(62_299_000 as u64) - // Standard Error: 25_000 - .saturating_add(Weight::from_ref_time(24_288_000 as u64).saturating_mul(r as u64)) + Weight::from_ref_time(57_985_404 as u64) + // Standard Error: 16_181 + .saturating_add(Weight::from_ref_time(23_958_950 as u64).saturating_mul(r as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(r as u64))) .saturating_add(T::DbWeight::get().writes(3 as u64)) @@ -115,36 +115,36 @@ impl delegation::WeightInfo for WeightInfo { // Storage: Delegation DelegationNodes (r:1 w:0) // Storage: Delegation DelegationHierarchies (r:1 w:0) fn can_attest() -> Weight { - Weight::from_ref_time(18_851_000 as u64) + Weight::from_ref_time(16_648_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) } // Storage: Delegation DelegationNodes (r:2 w:0) fn can_revoke(c: u32, ) -> Weight { - Weight::from_ref_time(13_473_000 as u64) - // Standard Error: 9_000 - .saturating_add(Weight::from_ref_time(4_511_000 as u64).saturating_mul(c as u64)) + Weight::from_ref_time(11_692_365 as u64) + // Standard Error: 10_162 + .saturating_add(Weight::from_ref_time(4_258_221 as u64).saturating_mul(c as u64)) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(c as u64))) } // Storage: Delegation DelegationNodes (r:2 w:0) fn can_remove(c: u32, ) -> Weight { - Weight::from_ref_time(13_172_000 as u64) - // Standard Error: 9_000 - .saturating_add(Weight::from_ref_time(4_545_000 as u64).saturating_mul(c as u64)) + Weight::from_ref_time(11_631_173 as u64) + // Standard Error: 9_615 + .saturating_add(Weight::from_ref_time(4_268_994 as u64).saturating_mul(c as u64)) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(c as u64))) } // Storage: Delegation DelegationNodes (r:1 w:1) // Storage: System Account (r:2 w:2) fn change_deposit_owner() -> Weight { - Weight::from_ref_time(69_711_000 as u64) + Weight::from_ref_time(67_281_000 as u64) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } // Storage: Delegation DelegationNodes (r:1 w:1) // Storage: System Account (r:1 w:1) fn update_deposit() -> Weight { - Weight::from_ref_time(65_252_000 as u64) + Weight::from_ref_time(62_425_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } diff --git a/runtimes/spiritnet/src/weights/did.rs b/runtimes/spiritnet/src/weights/did.rs index 84f6aa59c..9316e69c0 100644 --- a/runtimes/spiritnet/src/weights/did.rs +++ b/runtimes/spiritnet/src/weights/did.rs @@ -19,7 +19,7 @@ //! Autogenerated weights for did //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-11-07, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2023-02-02, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("spiritnet-dev"), DB CACHE: 1024 // Executed Command: @@ -54,11 +54,11 @@ impl did::WeightInfo for WeightInfo { // Storage: Did DidEndpointsCount (r:0 w:1) // Storage: Did ServiceEndpoints (r:0 w:25) fn create_ed25519_keys(n: u32, c: u32, ) -> Weight { - Weight::from_ref_time(157_848_000 as u64) - // Standard Error: 17_000 - .saturating_add(Weight::from_ref_time(1_354_000 as u64).saturating_mul(n as u64)) - // Standard Error: 6_000 - .saturating_add(Weight::from_ref_time(6_312_000 as u64).saturating_mul(c as u64)) + Weight::from_ref_time(152_856_742 as u64) + // Standard Error: 10_568 + .saturating_add(Weight::from_ref_time(1_357_006 as u64).saturating_mul(n as u64)) + // Standard Error: 4_086 + .saturating_add(Weight::from_ref_time(6_218_978 as u64).saturating_mul(c as u64)) .saturating_add(T::DbWeight::get().reads(4 as u64)) .saturating_add(T::DbWeight::get().writes(4 as u64)) .saturating_add(T::DbWeight::get().writes((1 as u64).saturating_mul(c as u64))) @@ -69,11 +69,11 @@ impl did::WeightInfo for WeightInfo { // Storage: Did DidEndpointsCount (r:0 w:1) // Storage: Did ServiceEndpoints (r:0 w:25) fn create_sr25519_keys(n: u32, c: u32, ) -> Weight { - Weight::from_ref_time(160_459_000 as u64) - // Standard Error: 17_000 - .saturating_add(Weight::from_ref_time(1_324_000 as u64).saturating_mul(n as u64)) - // Standard Error: 6_000 - .saturating_add(Weight::from_ref_time(6_735_000 as u64).saturating_mul(c as u64)) + Weight::from_ref_time(154_309_451 as u64) + // Standard Error: 12_573 + .saturating_add(Weight::from_ref_time(1_445_521 as u64).saturating_mul(n as u64)) + // Standard Error: 4_861 + .saturating_add(Weight::from_ref_time(6_732_194 as u64).saturating_mul(c as u64)) .saturating_add(T::DbWeight::get().reads(4 as u64)) .saturating_add(T::DbWeight::get().writes(4 as u64)) .saturating_add(T::DbWeight::get().writes((1 as u64).saturating_mul(c as u64))) @@ -84,11 +84,11 @@ impl did::WeightInfo for WeightInfo { // Storage: Did DidEndpointsCount (r:0 w:1) // Storage: Did ServiceEndpoints (r:0 w:25) fn create_ecdsa_keys(n: u32, c: u32, ) -> Weight { - Weight::from_ref_time(146_169_000 as u64) - // Standard Error: 17_000 - .saturating_add(Weight::from_ref_time(1_339_000 as u64).saturating_mul(n as u64)) - // Standard Error: 6_000 - .saturating_add(Weight::from_ref_time(5_866_000 as u64).saturating_mul(c as u64)) + Weight::from_ref_time(139_209_322 as u64) + // Standard Error: 10_654 + .saturating_add(Weight::from_ref_time(1_316_116 as u64).saturating_mul(n as u64)) + // Standard Error: 4_119 + .saturating_add(Weight::from_ref_time(5_932_897 as u64).saturating_mul(c as u64)) .saturating_add(T::DbWeight::get().reads(4 as u64)) .saturating_add(T::DbWeight::get().writes(4 as u64)) .saturating_add(T::DbWeight::get().writes((1 as u64).saturating_mul(c as u64))) @@ -98,9 +98,9 @@ impl did::WeightInfo for WeightInfo { // Storage: Did DidBlacklist (r:0 w:1) // Storage: Did ServiceEndpoints (r:0 w:1) fn delete(c: u32, ) -> Weight { - Weight::from_ref_time(47_907_000 as u64) - // Standard Error: 4_000 - .saturating_add(Weight::from_ref_time(1_544_000 as u64).saturating_mul(c as u64)) + Weight::from_ref_time(48_723_822 as u64) + // Standard Error: 34_724 + .saturating_add(Weight::from_ref_time(1_130_217 as u64).saturating_mul(c as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) .saturating_add(T::DbWeight::get().writes((1 as u64).saturating_mul(c as u64))) @@ -110,154 +110,154 @@ impl did::WeightInfo for WeightInfo { // Storage: Did DidBlacklist (r:0 w:1) // Storage: Did ServiceEndpoints (r:0 w:1) fn reclaim_deposit(c: u32, ) -> Weight { - Weight::from_ref_time(50_490_000 as u64) - // Standard Error: 5_000 - .saturating_add(Weight::from_ref_time(1_586_000 as u64).saturating_mul(c as u64)) + Weight::from_ref_time(50_672_745 as u64) + // Standard Error: 38_570 + .saturating_add(Weight::from_ref_time(1_231_395 as u64).saturating_mul(c as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) .saturating_add(T::DbWeight::get().writes((1 as u64).saturating_mul(c as u64))) } // Storage: Did Did (r:1 w:1) fn submit_did_call_ed25519_key() -> Weight { - Weight::from_ref_time(95_824_000 as u64) + Weight::from_ref_time(94_131_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn submit_did_call_sr25519_key() -> Weight { - Weight::from_ref_time(96_937_000 as u64) + Weight::from_ref_time(94_892_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn submit_did_call_ecdsa_key() -> Weight { - Weight::from_ref_time(84_072_000 as u64) + Weight::from_ref_time(80_570_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn set_ed25519_authentication_key() -> Weight { - Weight::from_ref_time(45_271_000 as u64) + Weight::from_ref_time(44_051_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn set_sr25519_authentication_key() -> Weight { - Weight::from_ref_time(45_628_000 as u64) + Weight::from_ref_time(43_300_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn set_ecdsa_authentication_key() -> Weight { - Weight::from_ref_time(45_736_000 as u64) + Weight::from_ref_time(43_508_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn set_ed25519_delegation_key() -> Weight { - Weight::from_ref_time(45_398_000 as u64) + Weight::from_ref_time(43_825_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn set_sr25519_delegation_key() -> Weight { - Weight::from_ref_time(45_459_000 as u64) + Weight::from_ref_time(43_348_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn set_ecdsa_delegation_key() -> Weight { - Weight::from_ref_time(45_286_000 as u64) + Weight::from_ref_time(42_821_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn remove_ed25519_delegation_key() -> Weight { - Weight::from_ref_time(42_640_000 as u64) + Weight::from_ref_time(40_767_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn remove_sr25519_delegation_key() -> Weight { - Weight::from_ref_time(42_787_000 as u64) + Weight::from_ref_time(41_246_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn remove_ecdsa_delegation_key() -> Weight { - Weight::from_ref_time(42_624_000 as u64) + Weight::from_ref_time(40_577_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn set_ed25519_attestation_key() -> Weight { - Weight::from_ref_time(45_667_000 as u64) + Weight::from_ref_time(43_331_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn set_sr25519_attestation_key() -> Weight { - Weight::from_ref_time(45_691_000 as u64) + Weight::from_ref_time(43_510_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn set_ecdsa_attestation_key() -> Weight { - Weight::from_ref_time(45_853_000 as u64) + Weight::from_ref_time(43_529_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn remove_ed25519_attestation_key() -> Weight { - Weight::from_ref_time(42_921_000 as u64) + Weight::from_ref_time(40_836_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn remove_sr25519_attestation_key() -> Weight { - Weight::from_ref_time(42_808_000 as u64) + Weight::from_ref_time(40_544_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn remove_ecdsa_attestation_key() -> Weight { - Weight::from_ref_time(43_103_000 as u64) + Weight::from_ref_time(40_401_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn add_ed25519_key_agreement_key() -> Weight { - Weight::from_ref_time(44_695_000 as u64) + Weight::from_ref_time(42_940_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn add_sr25519_key_agreement_key() -> Weight { - Weight::from_ref_time(44_848_000 as u64) + Weight::from_ref_time(42_556_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn add_ecdsa_key_agreement_key() -> Weight { - Weight::from_ref_time(44_624_000 as u64) + Weight::from_ref_time(42_329_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn remove_ed25519_key_agreement_key() -> Weight { - Weight::from_ref_time(43_110_000 as u64) + Weight::from_ref_time(40_667_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn remove_sr25519_key_agreement_key() -> Weight { - Weight::from_ref_time(43_129_000 as u64) + Weight::from_ref_time(40_930_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Did Did (r:1 w:1) fn remove_ecdsa_key_agreement_key() -> Weight { - Weight::from_ref_time(42_917_000 as u64) + Weight::from_ref_time(41_023_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } @@ -265,49 +265,49 @@ impl did::WeightInfo for WeightInfo { // Storage: Did DidEndpointsCount (r:1 w:1) // Storage: Did ServiceEndpoints (r:1 w:1) fn add_service_endpoint() -> Weight { - Weight::from_ref_time(52_265_000 as u64) + Weight::from_ref_time(49_160_000 as u64) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Did ServiceEndpoints (r:1 w:1) // Storage: Did DidEndpointsCount (r:1 w:1) fn remove_service_endpoint() -> Weight { - Weight::from_ref_time(44_326_000 as u64) + Weight::from_ref_time(41_767_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Did Did (r:1 w:0) fn signature_verification_sr25519(l: u32, ) -> Weight { - Weight::from_ref_time(33_827_000 as u64) - // Standard Error: 0 - .saturating_add(Weight::from_ref_time(4_000 as u64).saturating_mul(l as u64)) + Weight::from_ref_time(46_672_117 as u64) + // Standard Error: 1 + .saturating_add(Weight::from_ref_time(4_144 as u64).saturating_mul(l as u64)) .saturating_add(T::DbWeight::get().reads(1 as u64)) } // Storage: Did Did (r:1 w:0) fn signature_verification_ed25519(l: u32, ) -> Weight { - Weight::from_ref_time(34_785_000 as u64) + Weight::from_ref_time(45_736_322 as u64) // Standard Error: 0 - .saturating_add(Weight::from_ref_time(2_000 as u64).saturating_mul(l as u64)) + .saturating_add(Weight::from_ref_time(2_466 as u64).saturating_mul(l as u64)) .saturating_add(T::DbWeight::get().reads(1 as u64)) } // Storage: Did Did (r:1 w:0) fn signature_verification_ecdsa(l: u32, ) -> Weight { - Weight::from_ref_time(22_588_000 as u64) + Weight::from_ref_time(27_961_488 as u64) // Standard Error: 0 - .saturating_add(Weight::from_ref_time(1_000 as u64).saturating_mul(l as u64)) + .saturating_add(Weight::from_ref_time(1_489 as u64).saturating_mul(l as u64)) .saturating_add(T::DbWeight::get().reads(1 as u64)) } // Storage: Did Did (r:1 w:1) // Storage: System Account (r:1 w:1) fn change_deposit_owner() -> Weight { - Weight::from_ref_time(61_424_000 as u64) + Weight::from_ref_time(58_632_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Did Did (r:1 w:1) // Storage: System Account (r:1 w:1) fn update_deposit() -> Weight { - Weight::from_ref_time(64_415_000 as u64) + Weight::from_ref_time(61_535_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } diff --git a/runtimes/spiritnet/src/weights/frame_system.rs b/runtimes/spiritnet/src/weights/frame_system.rs index 245450a66..9bdbc6731 100644 --- a/runtimes/spiritnet/src/weights/frame_system.rs +++ b/runtimes/spiritnet/src/weights/frame_system.rs @@ -19,7 +19,7 @@ //! Autogenerated weights for frame_system //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-11-07, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2023-02-02, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("spiritnet-dev"), DB CACHE: 1024 // Executed Command: @@ -48,40 +48,42 @@ use sp_std::marker::PhantomData; /// Weights for `frame_system`. pub struct WeightInfo(PhantomData); impl frame_system::WeightInfo for WeightInfo { - fn remark(_b: u32, ) -> Weight { - Weight::from_ref_time(9_086_000 as u64) + fn remark(b: u32, ) -> Weight { + Weight::from_ref_time(16_540_212 as u64) + // Standard Error: 0 + .saturating_add(Weight::from_ref_time(435 as u64).saturating_mul(b as u64)) } fn remark_with_event(b: u32, ) -> Weight { - Weight::from_ref_time(3_476_000 as u64) - // Standard Error: 0 - .saturating_add(Weight::from_ref_time(2_000 as u64).saturating_mul(b as u64)) + Weight::from_ref_time(7_892_540 as u64) + // Standard Error: 1 + .saturating_add(Weight::from_ref_time(1_937 as u64).saturating_mul(b as u64)) } // Storage: System Digest (r:1 w:1) // Storage: unknown [0x3a686561707061676573] (r:0 w:1) fn set_heap_pages() -> Weight { - Weight::from_ref_time(14_301_000 as u64) + Weight::from_ref_time(26_527_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Skipped Metadata (r:0 w:0) fn set_storage(i: u32, ) -> Weight { - Weight::from_ref_time(1_491_000 as u64) - // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(822_000 as u64).saturating_mul(i as u64)) + Weight::from_ref_time(6_863_000 as u64) + // Standard Error: 3_303 + .saturating_add(Weight::from_ref_time(894_443 as u64).saturating_mul(i as u64)) .saturating_add(T::DbWeight::get().writes((1 as u64).saturating_mul(i as u64))) } // Storage: Skipped Metadata (r:0 w:0) fn kill_storage(i: u32, ) -> Weight { - Weight::from_ref_time(0 as u64) - // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(669_000 as u64).saturating_mul(i as u64)) + Weight::from_ref_time(6_717_000 as u64) + // Standard Error: 925 + .saturating_add(Weight::from_ref_time(595_531 as u64).saturating_mul(i as u64)) .saturating_add(T::DbWeight::get().writes((1 as u64).saturating_mul(i as u64))) } // Storage: Skipped Metadata (r:0 w:0) fn kill_prefix(p: u32, ) -> Weight { - Weight::from_ref_time(600_000 as u64) - // Standard Error: 2_000 - .saturating_add(Weight::from_ref_time(1_310_000 as u64).saturating_mul(p as u64)) + Weight::from_ref_time(19_693_000 as u64) + // Standard Error: 1_411 + .saturating_add(Weight::from_ref_time(1_085_503 as u64).saturating_mul(p as u64)) .saturating_add(T::DbWeight::get().writes((1 as u64).saturating_mul(p as u64))) } } diff --git a/runtimes/spiritnet/src/weights/pallet_balances.rs b/runtimes/spiritnet/src/weights/pallet_balances.rs index d32e0648a..323e57623 100644 --- a/runtimes/spiritnet/src/weights/pallet_balances.rs +++ b/runtimes/spiritnet/src/weights/pallet_balances.rs @@ -19,7 +19,7 @@ //! Autogenerated weights for pallet_balances //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-11-07, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2023-02-02, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("spiritnet-dev"), DB CACHE: 1024 // Executed Command: @@ -50,43 +50,43 @@ pub struct WeightInfo(PhantomData); impl pallet_balances::WeightInfo for WeightInfo { // Storage: System Account (r:2 w:2) fn transfer() -> Weight { - Weight::from_ref_time(87_075_000 as u64) + Weight::from_ref_time(207_389_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: System Account (r:1 w:1) fn transfer_keep_alive() -> Weight { - Weight::from_ref_time(56_978_000 as u64) + Weight::from_ref_time(53_012_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: System Account (r:1 w:1) fn set_balance_creating() -> Weight { - Weight::from_ref_time(42_817_000 as u64) + Weight::from_ref_time(40_037_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: System Account (r:1 w:1) fn set_balance_killing() -> Weight { - Weight::from_ref_time(48_020_000 as u64) + Weight::from_ref_time(44_373_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: System Account (r:3 w:3) fn force_transfer() -> Weight { - Weight::from_ref_time(85_916_000 as u64) + Weight::from_ref_time(88_771_000 as u64) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } // Storage: System Account (r:1 w:1) fn transfer_all() -> Weight { - Weight::from_ref_time(65_821_000 as u64) + Weight::from_ref_time(67_798_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: System Account (r:1 w:1) fn force_unreserve() -> Weight { - Weight::from_ref_time(36_697_000 as u64) + Weight::from_ref_time(37_636_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } diff --git a/runtimes/spiritnet/src/weights/pallet_collective.rs b/runtimes/spiritnet/src/weights/pallet_collective.rs index 3da0ecd91..d519a40ad 100644 --- a/runtimes/spiritnet/src/weights/pallet_collective.rs +++ b/runtimes/spiritnet/src/weights/pallet_collective.rs @@ -19,7 +19,7 @@ //! Autogenerated weights for pallet_collective //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-11-07, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2023-02-02, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("spiritnet-dev"), DB CACHE: 1024 // Executed Command: @@ -50,14 +50,14 @@ pub struct WeightInfo(PhantomData); impl pallet_collective::WeightInfo for WeightInfo { // Storage: Council Members (r:1 w:1) // Storage: Council Proposals (r:1 w:0) - // Storage: Council Voting (r:100 w:100) // Storage: Council Prime (r:0 w:1) + // Storage: Council Voting (r:100 w:100) fn set_members(m: u32, _n: u32, p: u32, ) -> Weight { - Weight::from_ref_time(0 as u64) - // Standard Error: 9_000 - .saturating_add(Weight::from_ref_time(9_279_000 as u64).saturating_mul(m as u64)) - // Standard Error: 9_000 - .saturating_add(Weight::from_ref_time(13_278_000 as u64).saturating_mul(p as u64)) + Weight::from_ref_time(25_373_000 as u64) + // Standard Error: 51_629 + .saturating_add(Weight::from_ref_time(5_805_215 as u64).saturating_mul(m as u64)) + // Standard Error: 51_629 + .saturating_add(Weight::from_ref_time(9_262_304 as u64).saturating_mul(p as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(p as u64))) .saturating_add(T::DbWeight::get().writes(2 as u64)) @@ -65,21 +65,19 @@ impl pallet_collective::WeightInfo for WeightInfo { } // Storage: Council Members (r:1 w:0) fn execute(b: u32, m: u32, ) -> Weight { - Weight::from_ref_time(32_650_000 as u64) - // Standard Error: 0 - .saturating_add(Weight::from_ref_time(2_000 as u64).saturating_mul(b as u64)) - // Standard Error: 0 - .saturating_add(Weight::from_ref_time(22_000 as u64).saturating_mul(m as u64)) + Weight::from_ref_time(39_804_546 as u64) + // Standard Error: 1_149 + .saturating_add(Weight::from_ref_time(995 as u64).saturating_mul(b as u64)) + // Standard Error: 11_844 + .saturating_add(Weight::from_ref_time(32_365 as u64).saturating_mul(m as u64)) .saturating_add(T::DbWeight::get().reads(1 as u64)) } // Storage: Council Members (r:1 w:0) // Storage: Council ProposalOf (r:1 w:0) - fn propose_execute(b: u32, m: u32, ) -> Weight { - Weight::from_ref_time(36_100_000 as u64) - // Standard Error: 0 - .saturating_add(Weight::from_ref_time(2_000 as u64).saturating_mul(b as u64)) - // Standard Error: 0 - .saturating_add(Weight::from_ref_time(33_000 as u64).saturating_mul(m as u64)) + fn propose_execute(_b: u32, m: u32, ) -> Weight { + Weight::from_ref_time(47_031_910 as u64) + // Standard Error: 13_123 + .saturating_add(Weight::from_ref_time(30_770 as u64).saturating_mul(m as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) } // Storage: Council Members (r:1 w:0) @@ -88,22 +86,22 @@ impl pallet_collective::WeightInfo for WeightInfo { // Storage: Council ProposalCount (r:1 w:1) // Storage: Council Voting (r:0 w:1) fn propose_proposed(b: u32, m: u32, p: u32, ) -> Weight { - Weight::from_ref_time(46_604_000 as u64) - // Standard Error: 0 - .saturating_add(Weight::from_ref_time(5_000 as u64).saturating_mul(b as u64)) - // Standard Error: 2_000 - .saturating_add(Weight::from_ref_time(28_000 as u64).saturating_mul(m as u64)) - // Standard Error: 2_000 - .saturating_add(Weight::from_ref_time(237_000 as u64).saturating_mul(p as u64)) + Weight::from_ref_time(50_273_549 as u64) + // Standard Error: 326 + .saturating_add(Weight::from_ref_time(3_240 as u64).saturating_mul(b as u64)) + // Standard Error: 3_404 + .saturating_add(Weight::from_ref_time(13_237 as u64).saturating_mul(m as u64)) + // Standard Error: 3_361 + .saturating_add(Weight::from_ref_time(150_228 as u64).saturating_mul(p as u64)) .saturating_add(T::DbWeight::get().reads(4 as u64)) .saturating_add(T::DbWeight::get().writes(4 as u64)) } // Storage: Council Members (r:1 w:0) // Storage: Council Voting (r:1 w:1) fn vote(m: u32, ) -> Weight { - Weight::from_ref_time(51_121_000 as u64) - // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(55_000 as u64).saturating_mul(m as u64)) + Weight::from_ref_time(43_647_171 as u64) + // Standard Error: 619 + .saturating_add(Weight::from_ref_time(42_251 as u64).saturating_mul(m as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } @@ -112,11 +110,11 @@ impl pallet_collective::WeightInfo for WeightInfo { // Storage: Council Proposals (r:1 w:1) // Storage: Council ProposalOf (r:0 w:1) fn close_early_disapproved(m: u32, p: u32, ) -> Weight { - Weight::from_ref_time(49_150_000 as u64) - // Standard Error: 2_000 - .saturating_add(Weight::from_ref_time(56_000 as u64).saturating_mul(m as u64)) - // Standard Error: 2_000 - .saturating_add(Weight::from_ref_time(210_000 as u64).saturating_mul(p as u64)) + Weight::from_ref_time(50_068_227 as u64) + // Standard Error: 629 + .saturating_add(Weight::from_ref_time(22_557 as u64).saturating_mul(m as u64)) + // Standard Error: 613 + .saturating_add(Weight::from_ref_time(154_935 as u64).saturating_mul(p as u64)) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } @@ -125,13 +123,13 @@ impl pallet_collective::WeightInfo for WeightInfo { // Storage: Council ProposalOf (r:1 w:1) // Storage: Council Proposals (r:1 w:1) fn close_early_approved(b: u32, m: u32, p: u32, ) -> Weight { - Weight::from_ref_time(64_393_000 as u64) - // Standard Error: 0 - .saturating_add(Weight::from_ref_time(3_000 as u64).saturating_mul(b as u64)) - // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(44_000 as u64).saturating_mul(m as u64)) - // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(234_000 as u64).saturating_mul(p as u64)) + Weight::from_ref_time(63_912_194 as u64) + // Standard Error: 70 + .saturating_add(Weight::from_ref_time(2_518 as u64).saturating_mul(b as u64)) + // Standard Error: 749 + .saturating_add(Weight::from_ref_time(18_594 as u64).saturating_mul(m as u64)) + // Standard Error: 730 + .saturating_add(Weight::from_ref_time(181_518 as u64).saturating_mul(p as u64)) .saturating_add(T::DbWeight::get().reads(4 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } @@ -141,11 +139,11 @@ impl pallet_collective::WeightInfo for WeightInfo { // Storage: Council Proposals (r:1 w:1) // Storage: Council ProposalOf (r:0 w:1) fn close_disapproved(m: u32, p: u32, ) -> Weight { - Weight::from_ref_time(53_938_000 as u64) - // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(39_000 as u64).saturating_mul(m as u64)) - // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(226_000 as u64).saturating_mul(p as u64)) + Weight::from_ref_time(53_164_398 as u64) + // Standard Error: 1_403 + .saturating_add(Weight::from_ref_time(27_523 as u64).saturating_mul(m as u64)) + // Standard Error: 1_368 + .saturating_add(Weight::from_ref_time(152_597 as u64).saturating_mul(p as u64)) .saturating_add(T::DbWeight::get().reads(4 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } @@ -155,13 +153,13 @@ impl pallet_collective::WeightInfo for WeightInfo { // Storage: Council ProposalOf (r:1 w:1) // Storage: Council Proposals (r:1 w:1) fn close_approved(b: u32, m: u32, p: u32, ) -> Weight { - Weight::from_ref_time(67_728_000 as u64) - // Standard Error: 0 - .saturating_add(Weight::from_ref_time(3_000 as u64).saturating_mul(b as u64)) - // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(39_000 as u64).saturating_mul(m as u64)) - // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(239_000 as u64).saturating_mul(p as u64)) + Weight::from_ref_time(67_969_002 as u64) + // Standard Error: 204 + .saturating_add(Weight::from_ref_time(2_407 as u64).saturating_mul(b as u64)) + // Standard Error: 2_160 + .saturating_add(Weight::from_ref_time(16_262 as u64).saturating_mul(m as u64)) + // Standard Error: 2_105 + .saturating_add(Weight::from_ref_time(177_141 as u64).saturating_mul(p as u64)) .saturating_add(T::DbWeight::get().reads(5 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } @@ -169,9 +167,9 @@ impl pallet_collective::WeightInfo for WeightInfo { // Storage: Council Voting (r:0 w:1) // Storage: Council ProposalOf (r:0 w:1) fn disapprove_proposal(p: u32, ) -> Weight { - Weight::from_ref_time(36_721_000 as u64) - // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(216_000 as u64).saturating_mul(p as u64)) + Weight::from_ref_time(37_377_026 as u64) + // Standard Error: 4_592 + .saturating_add(Weight::from_ref_time(125_202 as u64).saturating_mul(p as u64)) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } diff --git a/runtimes/spiritnet/src/weights/pallet_democracy.rs b/runtimes/spiritnet/src/weights/pallet_democracy.rs index d9106e796..b87c5fc62 100644 --- a/runtimes/spiritnet/src/weights/pallet_democracy.rs +++ b/runtimes/spiritnet/src/weights/pallet_democracy.rs @@ -19,7 +19,7 @@ //! Autogenerated weights for pallet_democracy //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-11-07, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2023-02-02, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("spiritnet-dev"), DB CACHE: 1024 // Executed Command: @@ -45,6 +45,7 @@ use frame_support::{traits::Get, weights::Weight}; use sp_std::marker::PhantomData; +/// Weights for `pallet_democracy`. pub struct WeightInfo(PhantomData); impl pallet_democracy::WeightInfo for WeightInfo { // Storage: Democracy PublicPropCount (r:1 w:1) @@ -52,15 +53,13 @@ impl pallet_democracy::WeightInfo for WeightInfo { // Storage: Democracy Blacklist (r:1 w:0) // Storage: Democracy DepositOf (r:0 w:1) fn propose() -> Weight { - // Minimum execution time: 42_035 nanoseconds. - Weight::from_ref_time(42_673_000 as u64) + Weight::from_ref_time(66_989_000 as u64) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } // Storage: Democracy DepositOf (r:1 w:1) fn second() -> Weight { - // Minimum execution time: 37_908 nanoseconds. - Weight::from_ref_time(39_524_000 as u64) + Weight::from_ref_time(61_757_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } @@ -68,8 +67,7 @@ impl pallet_democracy::WeightInfo for WeightInfo { // Storage: Democracy VotingOf (r:1 w:1) // Storage: Balances Locks (r:1 w:1) fn vote_new() -> Weight { - // Minimum execution time: 48_027 nanoseconds. - Weight::from_ref_time(48_672_000 as u64) + Weight::from_ref_time(75_112_000 as u64) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } @@ -77,92 +75,80 @@ impl pallet_democracy::WeightInfo for WeightInfo { // Storage: Democracy VotingOf (r:1 w:1) // Storage: Balances Locks (r:1 w:1) fn vote_existing() -> Weight { - // Minimum execution time: 48_623 nanoseconds. - Weight::from_ref_time(49_248_000 as u64) + Weight::from_ref_time(75_208_000 as u64) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } // Storage: Democracy ReferendumInfoOf (r:1 w:1) // Storage: Democracy Cancellations (r:1 w:1) fn emergency_cancel() -> Weight { - // Minimum execution time: 19_752 nanoseconds. - Weight::from_ref_time(20_235_000 as u64) + Weight::from_ref_time(35_102_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Democracy PublicProps (r:1 w:1) // Storage: Democracy DepositOf (r:1 w:1) - // Storage: System Account (r:1 w:1) + // Storage: System Account (r:2 w:2) // Storage: Democracy NextExternal (r:1 w:1) // Storage: Democracy ReferendumInfoOf (r:1 w:1) // Storage: Democracy Blacklist (r:0 w:1) fn blacklist() -> Weight { - // Minimum execution time: 75_593 nanoseconds. - Weight::from_ref_time(76_707_000 as u64) - .saturating_add(T::DbWeight::get().reads(5 as u64)) - .saturating_add(T::DbWeight::get().writes(6 as u64)) + Weight::from_ref_time(119_986_000 as u64) + .saturating_add(T::DbWeight::get().reads(6 as u64)) + .saturating_add(T::DbWeight::get().writes(7 as u64)) } // Storage: Democracy NextExternal (r:1 w:1) // Storage: Democracy Blacklist (r:1 w:0) fn external_propose() -> Weight { - // Minimum execution time: 15_433 nanoseconds. - Weight::from_ref_time(15_751_000 as u64) + Weight::from_ref_time(49_694_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Democracy NextExternal (r:0 w:1) fn external_propose_majority() -> Weight { - // Minimum execution time: 4_187 nanoseconds. - Weight::from_ref_time(4_344_000 as u64) + Weight::from_ref_time(16_445_000 as u64) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Democracy NextExternal (r:0 w:1) fn external_propose_default() -> Weight { - // Minimum execution time: 4_424 nanoseconds. - Weight::from_ref_time(4_522_000 as u64) + Weight::from_ref_time(16_079_000 as u64) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Democracy NextExternal (r:1 w:1) // Storage: Democracy ReferendumCount (r:1 w:1) // Storage: Democracy ReferendumInfoOf (r:0 w:1) fn fast_track() -> Weight { - // Minimum execution time: 18_919 nanoseconds. - Weight::from_ref_time(19_574_000 as u64) + Weight::from_ref_time(72_984_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } // Storage: Democracy NextExternal (r:1 w:1) // Storage: Democracy Blacklist (r:1 w:1) fn veto_external() -> Weight { - // Minimum execution time: 24_749 nanoseconds. - Weight::from_ref_time(25_443_000 as u64) + Weight::from_ref_time(41_228_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Democracy PublicProps (r:1 w:1) // Storage: Democracy DepositOf (r:1 w:1) - // Storage: System Account (r:1 w:1) + // Storage: System Account (r:2 w:2) fn cancel_proposal() -> Weight { - // Minimum execution time: 63_025 nanoseconds. - Weight::from_ref_time(64_438_000 as u64) - .saturating_add(T::DbWeight::get().reads(3 as u64)) - .saturating_add(T::DbWeight::get().writes(3 as u64)) + Weight::from_ref_time(101_486_000 as u64) + .saturating_add(T::DbWeight::get().reads(4 as u64)) + .saturating_add(T::DbWeight::get().writes(4 as u64)) } // Storage: Democracy ReferendumInfoOf (r:0 w:1) fn cancel_referendum() -> Weight { - // Minimum execution time: 12_754 nanoseconds. - Weight::from_ref_time(13_249_000 as u64) + Weight::from_ref_time(22_374_000 as u64) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Democracy LowestUnbaked (r:1 w:1) // Storage: Democracy ReferendumCount (r:1 w:0) // Storage: Democracy ReferendumInfoOf (r:2 w:0) - /// The range of component `r` is `[0, 99]`. fn on_initialize_base(r: u32, ) -> Weight { - // Minimum execution time: 6_036 nanoseconds. - Weight::from_ref_time(9_221_096 as u64) - // Standard Error: 3_753 - .saturating_add(Weight::from_ref_time(2_068_013 as u64).saturating_mul(r as u64)) + Weight::from_ref_time(33_584_152 as u64) + // Standard Error: 56_366 + .saturating_add(Weight::from_ref_time(2_843_702 as u64).saturating_mul(r as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(r as u64))) .saturating_add(T::DbWeight::get().writes(1 as u64)) @@ -173,12 +159,10 @@ impl pallet_democracy::WeightInfo for WeightInfo { // Storage: Democracy NextExternal (r:1 w:0) // Storage: Democracy PublicProps (r:1 w:0) // Storage: Democracy ReferendumInfoOf (r:2 w:0) - /// The range of component `r` is `[0, 99]`. fn on_initialize_base_with_launch_period(r: u32, ) -> Weight { - // Minimum execution time: 8_435 nanoseconds. - Weight::from_ref_time(11_539_062 as u64) - // Standard Error: 3_966 - .saturating_add(Weight::from_ref_time(2_069_630 as u64).saturating_mul(r as u64)) + Weight::from_ref_time(28_575_859 as u64) + // Standard Error: 64_874 + .saturating_add(Weight::from_ref_time(3_009_152 as u64).saturating_mul(r as u64)) .saturating_add(T::DbWeight::get().reads(5 as u64)) .saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(r as u64))) .saturating_add(T::DbWeight::get().writes(1 as u64)) @@ -186,12 +170,10 @@ impl pallet_democracy::WeightInfo for WeightInfo { // Storage: Democracy VotingOf (r:3 w:3) // Storage: Balances Locks (r:1 w:1) // Storage: Democracy ReferendumInfoOf (r:2 w:2) - /// The range of component `r` is `[0, 99]`. fn delegate(r: u32, ) -> Weight { - // Minimum execution time: 39_949 nanoseconds. - Weight::from_ref_time(46_035_539 as u64) - // Standard Error: 5_044 - .saturating_add(Weight::from_ref_time(2_971_650 as u64).saturating_mul(r as u64)) + Weight::from_ref_time(77_030_417 as u64) + // Standard Error: 12_412 + .saturating_add(Weight::from_ref_time(4_492_349 as u64).saturating_mul(r as u64)) .saturating_add(T::DbWeight::get().reads(4 as u64)) .saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(r as u64))) .saturating_add(T::DbWeight::get().writes(4 as u64)) @@ -199,12 +181,10 @@ impl pallet_democracy::WeightInfo for WeightInfo { } // Storage: Democracy VotingOf (r:2 w:2) // Storage: Democracy ReferendumInfoOf (r:2 w:2) - /// The range of component `r` is `[0, 99]`. fn undelegate(r: u32, ) -> Weight { - // Minimum execution time: 23_826 nanoseconds. - Weight::from_ref_time(27_032_402 as u64) - // Standard Error: 4_525 - .saturating_add(Weight::from_ref_time(2_958_429 as u64).saturating_mul(r as u64)) + Weight::from_ref_time(52_703_298 as u64) + // Standard Error: 36_509 + .saturating_add(Weight::from_ref_time(4_392_292 as u64).saturating_mul(r as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(r as u64))) .saturating_add(T::DbWeight::get().writes(2 as u64)) @@ -212,55 +192,45 @@ impl pallet_democracy::WeightInfo for WeightInfo { } // Storage: Democracy PublicProps (r:0 w:1) fn clear_public_proposals() -> Weight { - // Minimum execution time: 4_775 nanoseconds. - Weight::from_ref_time(5_033_000 as u64) + Weight::from_ref_time(9_099_000 as u64) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Democracy VotingOf (r:1 w:1) // Storage: Balances Locks (r:1 w:1) // Storage: System Account (r:1 w:1) - /// The range of component `r` is `[0, 99]`. fn unlock_remove(r: u32, ) -> Weight { - // Minimum execution time: 23_245 nanoseconds. - Weight::from_ref_time(30_061_940 as u64) - // Standard Error: 1_523 - .saturating_add(Weight::from_ref_time(34_810 as u64).saturating_mul(r as u64)) + Weight::from_ref_time(50_213_322 as u64) + // Standard Error: 5_842 + .saturating_add(Weight::from_ref_time(16_667 as u64).saturating_mul(r as u64)) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } // Storage: Democracy VotingOf (r:1 w:1) // Storage: Balances Locks (r:1 w:1) // Storage: System Account (r:1 w:1) - /// The range of component `r` is `[0, 99]`. fn unlock_set(r: u32, ) -> Weight { - // Minimum execution time: 28_063 nanoseconds. - Weight::from_ref_time(30_002_043 as u64) - // Standard Error: 636 - .saturating_add(Weight::from_ref_time(67_182 as u64).saturating_mul(r as u64)) + Weight::from_ref_time(53_003_248 as u64) + // Standard Error: 11_664 + .saturating_add(Weight::from_ref_time(11_662 as u64).saturating_mul(r as u64)) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } // Storage: Democracy ReferendumInfoOf (r:1 w:1) // Storage: Democracy VotingOf (r:1 w:1) - /// The range of component `r` is `[1, 100]`. fn remove_vote(r: u32, ) -> Weight { - // Minimum execution time: 15_306 nanoseconds. - Weight::from_ref_time(17_690_130 as u64) - // Standard Error: 836 - .saturating_add(Weight::from_ref_time(68_122 as u64).saturating_mul(r as u64)) + Weight::from_ref_time(30_630_759 as u64) + // Standard Error: 6_111 + .saturating_add(Weight::from_ref_time(46_658 as u64).saturating_mul(r as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Democracy ReferendumInfoOf (r:1 w:1) // Storage: Democracy VotingOf (r:1 w:1) - /// The range of component `r` is `[1, 100]`. fn remove_other_vote(r: u32, ) -> Weight { - // Minimum execution time: 15_392 nanoseconds. - Weight::from_ref_time(17_610_812 as u64) - // Standard Error: 819 - .saturating_add(Weight::from_ref_time(69_086 as u64).saturating_mul(r as u64)) + Weight::from_ref_time(31_577_133 as u64) + // Standard Error: 7_325 + .saturating_add(Weight::from_ref_time(35_570 as u64).saturating_mul(r as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } } - diff --git a/runtimes/spiritnet/src/weights/pallet_did_lookup.rs b/runtimes/spiritnet/src/weights/pallet_did_lookup.rs index 49e5284af..414626663 100644 --- a/runtimes/spiritnet/src/weights/pallet_did_lookup.rs +++ b/runtimes/spiritnet/src/weights/pallet_did_lookup.rs @@ -19,7 +19,7 @@ //! Autogenerated weights for pallet_did_lookup //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-11-07, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2023-02-02, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("spiritnet-dev"), DB CACHE: 1024 // Executed Command: @@ -52,7 +52,7 @@ impl pallet_did_lookup::WeightInfo for WeightInfo { // Storage: DidLookup ConnectedDids (r:1 w:1) // Storage: DidLookup ConnectedAccounts (r:0 w:2) fn associate_account() -> Weight { - Weight::from_ref_time(131_772_000 as u64) + Weight::from_ref_time(128_359_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(4 as u64)) } @@ -60,7 +60,7 @@ impl pallet_did_lookup::WeightInfo for WeightInfo { // Storage: DidLookup ConnectedDids (r:1 w:1) // Storage: DidLookup ConnectedAccounts (r:0 w:2) fn associate_sender() -> Weight { - Weight::from_ref_time(71_784_000 as u64) + Weight::from_ref_time(69_110_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(4 as u64)) } @@ -68,7 +68,7 @@ impl pallet_did_lookup::WeightInfo for WeightInfo { // Storage: System Account (r:1 w:1) // Storage: DidLookup ConnectedAccounts (r:0 w:1) fn remove_sender_association() -> Weight { - Weight::from_ref_time(51_946_000 as u64) + Weight::from_ref_time(48_879_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } @@ -76,21 +76,21 @@ impl pallet_did_lookup::WeightInfo for WeightInfo { // Storage: System Account (r:1 w:1) // Storage: DidLookup ConnectedAccounts (r:0 w:1) fn remove_account_association() -> Weight { - Weight::from_ref_time(53_373_000 as u64) + Weight::from_ref_time(52_132_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } // Storage: DidLookup ConnectedDids (r:1 w:1) // Storage: System Account (r:2 w:2) fn change_deposit_owner() -> Weight { - Weight::from_ref_time(66_673_000 as u64) + Weight::from_ref_time(145_380_000 as u64) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } // Storage: DidLookup ConnectedDids (r:1 w:1) // Storage: System Account (r:1 w:1) fn update_deposit() -> Weight { - Weight::from_ref_time(60_755_000 as u64) + Weight::from_ref_time(58_795_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } diff --git a/runtimes/spiritnet/src/weights/pallet_indices.rs b/runtimes/spiritnet/src/weights/pallet_indices.rs index 97a9dad0c..2a683b06a 100644 --- a/runtimes/spiritnet/src/weights/pallet_indices.rs +++ b/runtimes/spiritnet/src/weights/pallet_indices.rs @@ -19,7 +19,7 @@ //! Autogenerated weights for pallet_indices //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-11-07, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2023-02-02, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("spiritnet-dev"), DB CACHE: 1024 // Executed Command: @@ -50,33 +50,33 @@ pub struct WeightInfo(PhantomData); impl pallet_indices::WeightInfo for WeightInfo { // Storage: Indices Accounts (r:1 w:1) fn claim() -> Weight { - Weight::from_ref_time(46_236_000 as u64) + Weight::from_ref_time(45_273_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Indices Accounts (r:1 w:1) // Storage: System Account (r:1 w:1) fn transfer() -> Weight { - Weight::from_ref_time(59_077_000 as u64) + Weight::from_ref_time(55_561_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Indices Accounts (r:1 w:1) fn free() -> Weight { - Weight::from_ref_time(50_281_000 as u64) + Weight::from_ref_time(47_974_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Indices Accounts (r:1 w:1) // Storage: System Account (r:1 w:1) fn force_transfer() -> Weight { - Weight::from_ref_time(50_355_000 as u64) + Weight::from_ref_time(47_938_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Indices Accounts (r:1 w:1) fn freeze() -> Weight { - Weight::from_ref_time(58_017_000 as u64) + Weight::from_ref_time(116_261_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } diff --git a/runtimes/spiritnet/src/weights/pallet_inflation.rs b/runtimes/spiritnet/src/weights/pallet_inflation.rs index 77ee65b50..e1fc16e14 100644 --- a/runtimes/spiritnet/src/weights/pallet_inflation.rs +++ b/runtimes/spiritnet/src/weights/pallet_inflation.rs @@ -19,7 +19,7 @@ //! Autogenerated weights for pallet_inflation //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-11-07, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2023-02-02, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("spiritnet-dev"), DB CACHE: 1024 // Executed Command: @@ -50,11 +50,11 @@ pub struct WeightInfo(PhantomData); impl pallet_inflation::WeightInfo for WeightInfo { // Storage: System Account (r:1 w:1) fn on_initialize_mint_to_treasury() -> Weight { - Weight::from_ref_time(36_943_000 as u64) + Weight::from_ref_time(79_422_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } fn on_initialize_no_action() -> Weight { - Weight::from_ref_time(295_000 as u64) + Weight::from_ref_time(323_000 as u64) } } diff --git a/runtimes/spiritnet/src/weights/pallet_membership.rs b/runtimes/spiritnet/src/weights/pallet_membership.rs index 865bb4e36..0144e2951 100644 --- a/runtimes/spiritnet/src/weights/pallet_membership.rs +++ b/runtimes/spiritnet/src/weights/pallet_membership.rs @@ -19,7 +19,7 @@ //! Autogenerated weights for pallet_membership //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-11-07, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2023-02-02, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("spiritnet-dev"), DB CACHE: 1024 // Executed Command: @@ -53,9 +53,9 @@ impl pallet_membership::WeightInfo for WeightInfo { // Storage: TechnicalCommittee Members (r:0 w:1) // Storage: TechnicalCommittee Prime (r:0 w:1) fn add_member(m: u32, ) -> Weight { - Weight::from_ref_time(35_511_000 as u64) - // Standard Error: 0 - .saturating_add(Weight::from_ref_time(57_000 as u64).saturating_mul(m as u64)) + Weight::from_ref_time(42_418_090 as u64) + // Standard Error: 23_990 + .saturating_add(Weight::from_ref_time(58_469 as u64).saturating_mul(m as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } @@ -65,9 +65,9 @@ impl pallet_membership::WeightInfo for WeightInfo { // Storage: TechnicalCommittee Members (r:0 w:1) // Storage: TechnicalCommittee Prime (r:0 w:1) fn remove_member(m: u32, ) -> Weight { - Weight::from_ref_time(39_954_000 as u64) - // Standard Error: 0 - .saturating_add(Weight::from_ref_time(52_000 as u64).saturating_mul(m as u64)) + Weight::from_ref_time(47_097_658 as u64) + // Standard Error: 26_923 + .saturating_add(Weight::from_ref_time(54_282 as u64).saturating_mul(m as u64)) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } @@ -76,10 +76,8 @@ impl pallet_membership::WeightInfo for WeightInfo { // Storage: TechnicalMembership Prime (r:1 w:0) // Storage: TechnicalCommittee Members (r:0 w:1) // Storage: TechnicalCommittee Prime (r:0 w:1) - fn swap_member(m: u32, ) -> Weight { - Weight::from_ref_time(40_112_000 as u64) - // Standard Error: 0 - .saturating_add(Weight::from_ref_time(62_000 as u64).saturating_mul(m as u64)) + fn swap_member(_m: u32, ) -> Weight { + Weight::from_ref_time(53_624_018 as u64) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } @@ -89,9 +87,9 @@ impl pallet_membership::WeightInfo for WeightInfo { // Storage: TechnicalCommittee Members (r:0 w:1) // Storage: TechnicalCommittee Prime (r:0 w:1) fn reset_member(m: u32, ) -> Weight { - Weight::from_ref_time(39_708_000 as u64) - // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(189_000 as u64).saturating_mul(m as u64)) + Weight::from_ref_time(37_956_487 as u64) + // Standard Error: 25_943 + .saturating_add(Weight::from_ref_time(348_511 as u64).saturating_mul(m as u64)) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } @@ -101,28 +99,26 @@ impl pallet_membership::WeightInfo for WeightInfo { // Storage: TechnicalCommittee Members (r:0 w:1) // Storage: TechnicalCommittee Prime (r:0 w:1) fn change_key(m: u32, ) -> Weight { - Weight::from_ref_time(41_116_000 as u64) - // Standard Error: 0 - .saturating_add(Weight::from_ref_time(64_000 as u64).saturating_mul(m as u64)) + Weight::from_ref_time(51_052_517 as u64) + // Standard Error: 27_176 + .saturating_add(Weight::from_ref_time(8_587 as u64).saturating_mul(m as u64)) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(4 as u64)) } // Storage: TechnicalMembership Members (r:1 w:0) // Storage: TechnicalMembership Prime (r:0 w:1) // Storage: TechnicalCommittee Prime (r:0 w:1) - fn set_prime(m: u32, ) -> Weight { - Weight::from_ref_time(15_846_000 as u64) - // Standard Error: 0 - .saturating_add(Weight::from_ref_time(20_000 as u64).saturating_mul(m as u64)) + fn set_prime(_m: u32, ) -> Weight { + Weight::from_ref_time(20_105_489 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: TechnicalMembership Prime (r:0 w:1) // Storage: TechnicalCommittee Prime (r:0 w:1) fn clear_prime(m: u32, ) -> Weight { - Weight::from_ref_time(10_145_000 as u64) - // Standard Error: 0 - .saturating_add(Weight::from_ref_time(3_000 as u64).saturating_mul(m as u64)) + Weight::from_ref_time(10_564_779 as u64) + // Standard Error: 5_026 + .saturating_add(Weight::from_ref_time(2_228 as u64).saturating_mul(m as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } } diff --git a/runtimes/spiritnet/src/weights/pallet_preimage.rs b/runtimes/spiritnet/src/weights/pallet_preimage.rs index 64ac7b741..ba34ce8b2 100644 --- a/runtimes/spiritnet/src/weights/pallet_preimage.rs +++ b/runtimes/spiritnet/src/weights/pallet_preimage.rs @@ -19,7 +19,7 @@ //! Autogenerated weights for pallet_preimage //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-11-07, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2023-02-02, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("spiritnet-dev"), DB CACHE: 1024 // Executed Command: @@ -48,88 +48,87 @@ use sp_std::marker::PhantomData; /// Weights for `pallet_preimage`. pub struct WeightInfo(PhantomData); impl pallet_preimage::WeightInfo for WeightInfo { - // Storage: Preimage PreimageFor (r:1 w:1) // Storage: Preimage StatusFor (r:1 w:1) + // Storage: Preimage PreimageFor (r:0 w:1) fn note_preimage(s: u32, ) -> Weight { - Weight::from_ref_time(0 as u64) + Weight::from_ref_time(48_390_000 as u64) // Standard Error: 0 - .saturating_add(Weight::from_ref_time(2_000 as u64).saturating_mul(s as u64)) - .saturating_add(T::DbWeight::get().reads(2 as u64)) + .saturating_add(Weight::from_ref_time(2_586 as u64).saturating_mul(s as u64)) + .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } - // Storage: Preimage PreimageFor (r:1 w:1) - // Storage: Preimage StatusFor (r:1 w:0) + // Storage: Preimage StatusFor (r:1 w:1) + // Storage: Preimage PreimageFor (r:0 w:1) fn note_requested_preimage(s: u32, ) -> Weight { - Weight::from_ref_time(0 as u64) + Weight::from_ref_time(32_483_000 as u64) // Standard Error: 0 - .saturating_add(Weight::from_ref_time(2_000 as u64).saturating_mul(s as u64)) - .saturating_add(T::DbWeight::get().reads(2 as u64)) - .saturating_add(T::DbWeight::get().writes(1 as u64)) + .saturating_add(Weight::from_ref_time(2_584 as u64).saturating_mul(s as u64)) + .saturating_add(T::DbWeight::get().reads(1 as u64)) + .saturating_add(T::DbWeight::get().writes(2 as u64)) } - // Storage: Preimage PreimageFor (r:1 w:1) - // Storage: Preimage StatusFor (r:1 w:0) + // Storage: Preimage StatusFor (r:1 w:1) + // Storage: Preimage PreimageFor (r:0 w:1) fn note_no_deposit_preimage(s: u32, ) -> Weight { - Weight::from_ref_time(0 as u64) - // Standard Error: 0 - .saturating_add(Weight::from_ref_time(2_000 as u64).saturating_mul(s as u64)) - .saturating_add(T::DbWeight::get().reads(2 as u64)) - .saturating_add(T::DbWeight::get().writes(1 as u64)) + Weight::from_ref_time(65_540_000 as u64) + // Standard Error: 1 + .saturating_add(Weight::from_ref_time(2_570 as u64).saturating_mul(s as u64)) + .saturating_add(T::DbWeight::get().reads(1 as u64)) + .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Preimage StatusFor (r:1 w:1) // Storage: Preimage PreimageFor (r:0 w:1) fn unnote_preimage() -> Weight { - Weight::from_ref_time(60_160_000 as u64) + Weight::from_ref_time(58_888_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Preimage StatusFor (r:1 w:1) // Storage: Preimage PreimageFor (r:0 w:1) fn unnote_no_deposit_preimage() -> Weight { - Weight::from_ref_time(37_860_000 as u64) + Weight::from_ref_time(41_889_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Preimage StatusFor (r:1 w:1) fn request_preimage() -> Weight { - Weight::from_ref_time(57_744_000 as u64) + Weight::from_ref_time(40_040_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Preimage StatusFor (r:1 w:1) fn request_no_deposit_preimage() -> Weight { - Weight::from_ref_time(36_343_000 as u64) + Weight::from_ref_time(21_811_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Preimage StatusFor (r:1 w:1) fn request_unnoted_preimage() -> Weight { - Weight::from_ref_time(27_878_000 as u64) + Weight::from_ref_time(28_327_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Preimage StatusFor (r:1 w:1) fn request_requested_preimage() -> Weight { - Weight::from_ref_time(14_923_000 as u64) + Weight::from_ref_time(14_262_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Preimage StatusFor (r:1 w:1) // Storage: Preimage PreimageFor (r:0 w:1) fn unrequest_preimage() -> Weight { - Weight::from_ref_time(37_758_000 as u64) + Weight::from_ref_time(41_142_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Preimage StatusFor (r:1 w:1) - // Storage: Preimage PreimageFor (r:0 w:1) fn unrequest_unnoted_preimage() -> Weight { - Weight::from_ref_time(30_189_000 as u64) + Weight::from_ref_time(14_030_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) - .saturating_add(T::DbWeight::get().writes(2 as u64)) + .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Preimage StatusFor (r:1 w:1) fn unrequest_multi_referenced_preimage() -> Weight { - Weight::from_ref_time(14_878_000 as u64) + Weight::from_ref_time(14_342_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } diff --git a/runtimes/spiritnet/src/weights/pallet_proxy.rs b/runtimes/spiritnet/src/weights/pallet_proxy.rs index e6ff5b7cf..80ab36cbe 100644 --- a/runtimes/spiritnet/src/weights/pallet_proxy.rs +++ b/runtimes/spiritnet/src/weights/pallet_proxy.rs @@ -19,7 +19,7 @@ //! Autogenerated weights for pallet_proxy //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-11-07, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2023-02-02, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("spiritnet-dev"), DB CACHE: 1024 // Executed Command: @@ -49,120 +49,84 @@ use sp_std::marker::PhantomData; pub struct WeightInfo(PhantomData); impl pallet_proxy::WeightInfo for WeightInfo { // Storage: Proxy Proxies (r:1 w:0) - /// The range of component `p` is `[1, 31]`. - fn proxy(p: u32, ) -> Weight { - // Minimum execution time: 19_011 nanoseconds. - Weight::from_ref_time(20_076_741 as u64) - // Standard Error: 1_518 - .saturating_add(Weight::from_ref_time(55_831 as u64).saturating_mul(p as u64)) + fn proxy(_p: u32, ) -> Weight { + Weight::from_ref_time(53_134_172 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) } // Storage: Proxy Proxies (r:1 w:0) // Storage: Proxy Announcements (r:1 w:1) // Storage: System Account (r:1 w:1) - /// The range of component `a` is `[0, 31]`. - /// The range of component `p` is `[1, 31]`. - fn proxy_announced(a: u32, p: u32, ) -> Weight { - // Minimum execution time: 37_088 nanoseconds. - Weight::from_ref_time(36_581_632 as u64) - // Standard Error: 1_964 - .saturating_add(Weight::from_ref_time(116_190 as u64).saturating_mul(a as u64)) - // Standard Error: 2_030 - .saturating_add(Weight::from_ref_time(41_547 as u64).saturating_mul(p as u64)) + fn proxy_announced(a: u32, _p: u32, ) -> Weight { + Weight::from_ref_time(61_777_685 as u64) + // Standard Error: 56_617 + .saturating_add(Weight::from_ref_time(374_981 as u64).saturating_mul(a as u64)) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Proxy Announcements (r:1 w:1) // Storage: System Account (r:1 w:1) - /// The range of component `a` is `[0, 31]`. - /// The range of component `p` is `[1, 31]`. - fn remove_announcement(a: u32, p: u32, ) -> Weight { - // Minimum execution time: 25_299 nanoseconds. - Weight::from_ref_time(26_801_993 as u64) - // Standard Error: 2_746 - .saturating_add(Weight::from_ref_time(102_732 as u64).saturating_mul(a as u64)) - // Standard Error: 2_837 - .saturating_add(Weight::from_ref_time(318 as u64).saturating_mul(p as u64)) + fn remove_announcement(a: u32, _p: u32, ) -> Weight { + Weight::from_ref_time(45_918_956 as u64) + // Standard Error: 13_728 + .saturating_add(Weight::from_ref_time(214_512 as u64).saturating_mul(a as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Proxy Announcements (r:1 w:1) // Storage: System Account (r:1 w:1) - /// The range of component `a` is `[0, 31]`. - /// The range of component `p` is `[1, 31]`. fn reject_announcement(a: u32, p: u32, ) -> Weight { - // Minimum execution time: 25_178 nanoseconds. - Weight::from_ref_time(26_248_780 as u64) - // Standard Error: 1_710 - .saturating_add(Weight::from_ref_time(116_285 as u64).saturating_mul(a as u64)) - // Standard Error: 1_767 - .saturating_add(Weight::from_ref_time(1_860 as u64).saturating_mul(p as u64)) + Weight::from_ref_time(44_755_819 as u64) + // Standard Error: 42_727 + .saturating_add(Weight::from_ref_time(280_891 as u64).saturating_mul(a as u64)) + // Standard Error: 47_433 + .saturating_add(Weight::from_ref_time(26_825 as u64).saturating_mul(p as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Proxy Proxies (r:1 w:0) // Storage: Proxy Announcements (r:1 w:1) // Storage: System Account (r:1 w:1) - /// The range of component `a` is `[0, 31]`. - /// The range of component `p` is `[1, 31]`. fn announce(a: u32, p: u32, ) -> Weight { - // Minimum execution time: 32_878 nanoseconds. - Weight::from_ref_time(34_386_513 as u64) - // Standard Error: 1_955 - .saturating_add(Weight::from_ref_time(97_872 as u64).saturating_mul(a as u64)) - // Standard Error: 2_020 - .saturating_add(Weight::from_ref_time(25_879 as u64).saturating_mul(p as u64)) + Weight::from_ref_time(53_970_695 as u64) + // Standard Error: 47_163 + .saturating_add(Weight::from_ref_time(480_056 as u64).saturating_mul(a as u64)) + // Standard Error: 52_359 + .saturating_add(Weight::from_ref_time(198_844 as u64).saturating_mul(p as u64)) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Proxy Proxies (r:1 w:1) - /// The range of component `p` is `[1, 31]`. fn add_proxy(p: u32, ) -> Weight { - // Minimum execution time: 26_410 nanoseconds. - Weight::from_ref_time(27_653_752 as u64) - // Standard Error: 2_000 - .saturating_add(Weight::from_ref_time(57_860 as u64).saturating_mul(p as u64)) + Weight::from_ref_time(53_398_369 as u64) + // Standard Error: 261_973 + .saturating_add(Weight::from_ref_time(124_664 as u64).saturating_mul(p as u64)) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Proxy Proxies (r:1 w:1) - /// The range of component `p` is `[1, 31]`. - fn remove_proxy(p: u32, ) -> Weight { - // Minimum execution time: 26_506 nanoseconds. - Weight::from_ref_time(27_604_932 as u64) - // Standard Error: 1_863 - .saturating_add(Weight::from_ref_time(78_466 as u64).saturating_mul(p as u64)) + fn remove_proxy(_p: u32, ) -> Weight { + Weight::from_ref_time(54_417_786 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Proxy Proxies (r:1 w:1) - /// The range of component `p` is `[1, 31]`. fn remove_proxies(p: u32, ) -> Weight { - // Minimum execution time: 22_696 nanoseconds. - Weight::from_ref_time(23_736_641 as u64) - // Standard Error: 1_616 - .saturating_add(Weight::from_ref_time(50_577 as u64).saturating_mul(p as u64)) + Weight::from_ref_time(42_988_865 as u64) + // Standard Error: 197_759 + .saturating_add(Weight::from_ref_time(835_465 as u64).saturating_mul(p as u64)) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: unknown [0x3a65787472696e7369635f696e646578] (r:1 w:0) // Storage: Proxy Proxies (r:1 w:1) - /// The range of component `p` is `[1, 31]`. - fn create_pure(p: u32, ) -> Weight { - // Minimum execution time: 29_461 nanoseconds. - Weight::from_ref_time(30_835_016 as u64) - // Standard Error: 1_587 - .saturating_add(Weight::from_ref_time(23_834 as u64).saturating_mul(p as u64)) + fn create_pure(_p: u32, ) -> Weight { + Weight::from_ref_time(57_030_909 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Proxy Proxies (r:1 w:1) - /// The range of component `p` is `[0, 30]`. - fn kill_pure(p: u32, ) -> Weight { - // Minimum execution time: 24_319 nanoseconds. - Weight::from_ref_time(25_652_003 as u64) - // Standard Error: 1_697 - .saturating_add(Weight::from_ref_time(28_118 as u64).saturating_mul(p as u64)) + fn kill_pure(_p: u32, ) -> Weight { + Weight::from_ref_time(54_525_571 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } diff --git a/runtimes/spiritnet/src/weights/pallet_scheduler.rs b/runtimes/spiritnet/src/weights/pallet_scheduler.rs index ee1bfc6c5..c1cfae9e9 100644 --- a/runtimes/spiritnet/src/weights/pallet_scheduler.rs +++ b/runtimes/spiritnet/src/weights/pallet_scheduler.rs @@ -19,7 +19,7 @@ //! Autogenerated weights for pallet_scheduler //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-11-07, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2023-02-02, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("spiritnet-dev"), DB CACHE: 1024 // Executed Command: @@ -50,94 +50,76 @@ pub struct WeightInfo(PhantomData); impl pallet_scheduler::WeightInfo for WeightInfo { // Storage: Scheduler IncompleteSince (r:1 w:1) fn service_agendas_base() -> Weight { - // Minimum execution time: 4_236 nanoseconds. - Weight::from_ref_time(4_539_000 as u64) + Weight::from_ref_time(14_615_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Scheduler Agenda (r:1 w:1) - /// The range of component `s` is `[0, 50]`. fn service_agenda_base(s: u32, ) -> Weight { - // Minimum execution time: 3_651 nanoseconds. - Weight::from_ref_time(6_843_488 as u64) - // Standard Error: 1_965 - .saturating_add(Weight::from_ref_time(579_324 as u64).saturating_mul(s as u64)) + Weight::from_ref_time(14_447_447 as u64) + // Standard Error: 13_498 + .saturating_add(Weight::from_ref_time(712_096 as u64).saturating_mul(s as u64)) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } fn service_task_base() -> Weight { - // Minimum execution time: 9_244 nanoseconds. - Weight::from_ref_time(9_537_000 as u64) + Weight::from_ref_time(33_398_000 as u64) } // Storage: Preimage PreimageFor (r:1 w:1) // Storage: Preimage StatusFor (r:1 w:1) - /// The range of component `s` is `[128, 4194304]`. fn service_task_fetched(s: u32, ) -> Weight { - // Minimum execution time: 20_377 nanoseconds. - Weight::from_ref_time(20_733_000 as u64) - // Standard Error: 1 - .saturating_add(Weight::from_ref_time(1_250 as u64).saturating_mul(s as u64)) + Weight::from_ref_time(33_467_000 as u64) + // Standard Error: 7 + .saturating_add(Weight::from_ref_time(1_350 as u64).saturating_mul(s as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Scheduler Lookup (r:0 w:1) fn service_task_named() -> Weight { - // Minimum execution time: 10_526 nanoseconds. - Weight::from_ref_time(10_839_000 as u64) + Weight::from_ref_time(38_192_000 as u64) .saturating_add(T::DbWeight::get().writes(1 as u64)) } fn service_task_periodic() -> Weight { - // Minimum execution time: 9_130 nanoseconds. - Weight::from_ref_time(9_476_000 as u64) + Weight::from_ref_time(15_582_000 as u64) } fn execute_dispatch_signed() -> Weight { - // Minimum execution time: 3_644 nanoseconds. - Weight::from_ref_time(3_761_000 as u64) + Weight::from_ref_time(7_155_000 as u64) } fn execute_dispatch_unsigned() -> Weight { - // Minimum execution time: 3_604 nanoseconds. - Weight::from_ref_time(3_738_000 as u64) + Weight::from_ref_time(7_263_000 as u64) } // Storage: Scheduler Agenda (r:1 w:1) - /// The range of component `s` is `[0, 49]`. fn schedule(s: u32, ) -> Weight { - // Minimum execution time: 16_561 nanoseconds. - Weight::from_ref_time(20_688_245 as u64) - // Standard Error: 2_610 - .saturating_add(Weight::from_ref_time(602_897 as u64).saturating_mul(s as u64)) + Weight::from_ref_time(45_641_946 as u64) + // Standard Error: 29_637 + .saturating_add(Weight::from_ref_time(453_728 as u64).saturating_mul(s as u64)) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Scheduler Agenda (r:1 w:1) // Storage: Scheduler Lookup (r:0 w:1) - /// The range of component `s` is `[1, 50]`. fn cancel(s: u32, ) -> Weight { - // Minimum execution time: 18_830 nanoseconds. - Weight::from_ref_time(20_815_969 as u64) - // Standard Error: 2_132 - .saturating_add(Weight::from_ref_time(598_343 as u64).saturating_mul(s as u64)) + Weight::from_ref_time(45_445_380 as u64) + // Standard Error: 28_537 + .saturating_add(Weight::from_ref_time(1_072_095 as u64).saturating_mul(s as u64)) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Scheduler Lookup (r:1 w:1) // Storage: Scheduler Agenda (r:1 w:1) - /// The range of component `s` is `[0, 49]`. fn schedule_named(s: u32, ) -> Weight { - // Minimum execution time: 18_755 nanoseconds. - Weight::from_ref_time(23_838_238 as u64) - // Standard Error: 3_430 - .saturating_add(Weight::from_ref_time(628_138 as u64).saturating_mul(s as u64)) + Weight::from_ref_time(46_421_320 as u64) + // Standard Error: 40_921 + .saturating_add(Weight::from_ref_time(690_105 as u64).saturating_mul(s as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Scheduler Lookup (r:1 w:1) // Storage: Scheduler Agenda (r:1 w:1) - /// The range of component `s` is `[1, 50]`. fn cancel_named(s: u32, ) -> Weight { - // Minimum execution time: 19_761 nanoseconds. - Weight::from_ref_time(22_583_852 as u64) - // Standard Error: 2_440 - .saturating_add(Weight::from_ref_time(612_208 as u64).saturating_mul(s as u64)) + Weight::from_ref_time(46_483_172 as u64) + // Standard Error: 38_706 + .saturating_add(Weight::from_ref_time(1_188_628 as u64).saturating_mul(s as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } diff --git a/runtimes/spiritnet/src/weights/pallet_session.rs b/runtimes/spiritnet/src/weights/pallet_session.rs index 734d6d407..5f697c061 100644 --- a/runtimes/spiritnet/src/weights/pallet_session.rs +++ b/runtimes/spiritnet/src/weights/pallet_session.rs @@ -19,7 +19,7 @@ //! Autogenerated weights for pallet_session //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-11-07, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2023-02-02, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("spiritnet-dev"), DB CACHE: 1024 // Executed Command: @@ -51,14 +51,14 @@ impl pallet_session::WeightInfo for WeightInfo { // Storage: Session NextKeys (r:1 w:1) // Storage: Session KeyOwner (r:1 w:1) fn set_keys() -> Weight { - Weight::from_ref_time(38_688_000 as u64) + Weight::from_ref_time(36_431_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Session NextKeys (r:1 w:1) // Storage: Session KeyOwner (r:0 w:1) fn purge_keys() -> Weight { - Weight::from_ref_time(33_508_000 as u64) + Weight::from_ref_time(61_114_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } diff --git a/runtimes/spiritnet/src/weights/pallet_timestamp.rs b/runtimes/spiritnet/src/weights/pallet_timestamp.rs index dc48e569c..9a9a0a08b 100644 --- a/runtimes/spiritnet/src/weights/pallet_timestamp.rs +++ b/runtimes/spiritnet/src/weights/pallet_timestamp.rs @@ -19,7 +19,7 @@ //! Autogenerated weights for pallet_timestamp //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-11-07, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2023-02-02, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("spiritnet-dev"), DB CACHE: 1024 // Executed Command: @@ -49,12 +49,13 @@ use sp_std::marker::PhantomData; pub struct WeightInfo(PhantomData); impl pallet_timestamp::WeightInfo for WeightInfo { // Storage: Timestamp Now (r:1 w:1) + // Storage: Aura CurrentSlot (r:1 w:0) fn set() -> Weight { - Weight::from_ref_time(13_607_000 as u64) - .saturating_add(T::DbWeight::get().reads(1 as u64)) + Weight::from_ref_time(15_478_000 as u64) + .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } fn on_finalize() -> Weight { - Weight::from_ref_time(7_909_000 as u64) + Weight::from_ref_time(6_863_000 as u64) } } diff --git a/runtimes/spiritnet/src/weights/pallet_tips.rs b/runtimes/spiritnet/src/weights/pallet_tips.rs index bdbf8e8a0..d5530214a 100644 --- a/runtimes/spiritnet/src/weights/pallet_tips.rs +++ b/runtimes/spiritnet/src/weights/pallet_tips.rs @@ -19,7 +19,7 @@ //! Autogenerated weights for pallet_tips //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-11-07, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2023-02-02, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("spiritnet-dev"), DB CACHE: 1024 // Executed Command: @@ -51,16 +51,16 @@ impl pallet_tips::WeightInfo for WeightInfo { // Storage: Tips Reasons (r:1 w:1) // Storage: Tips Tips (r:1 w:1) fn report_awesome(r: u32, ) -> Weight { - Weight::from_ref_time(55_330_000 as u64) - // Standard Error: 0 - .saturating_add(Weight::from_ref_time(2_000 as u64).saturating_mul(r as u64)) + Weight::from_ref_time(89_438_258 as u64) + // Standard Error: 285 + .saturating_add(Weight::from_ref_time(302 as u64).saturating_mul(r as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Tips Tips (r:1 w:1) // Storage: Tips Reasons (r:0 w:1) fn retract_tip() -> Weight { - Weight::from_ref_time(53_753_000 as u64) + Weight::from_ref_time(51_633_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } @@ -68,20 +68,20 @@ impl pallet_tips::WeightInfo for WeightInfo { // Storage: Tips Reasons (r:1 w:1) // Storage: Tips Tips (r:0 w:1) fn tip_new(r: u32, t: u32, ) -> Weight { - Weight::from_ref_time(39_281_000 as u64) - // Standard Error: 0 - .saturating_add(Weight::from_ref_time(2_000 as u64).saturating_mul(r as u64)) - // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(46_000 as u64).saturating_mul(t as u64)) + Weight::from_ref_time(40_921_163 as u64) + // Standard Error: 70 + .saturating_add(Weight::from_ref_time(2_034 as u64).saturating_mul(r as u64)) + // Standard Error: 11_620 + .saturating_add(Weight::from_ref_time(64 as u64).saturating_mul(t as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: TipsMembership Members (r:1 w:0) // Storage: Tips Tips (r:1 w:1) fn tip(t: u32, ) -> Weight { - Weight::from_ref_time(28_539_000 as u64) - // Standard Error: 0 - .saturating_add(Weight::from_ref_time(141_000 as u64).saturating_mul(t as u64)) + Weight::from_ref_time(29_152_487 as u64) + // Standard Error: 8_205 + .saturating_add(Weight::from_ref_time(103_273 as u64).saturating_mul(t as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } @@ -89,19 +89,15 @@ impl pallet_tips::WeightInfo for WeightInfo { // Storage: TipsMembership Members (r:1 w:0) // Storage: System Account (r:2 w:2) // Storage: Tips Reasons (r:0 w:1) - fn close_tip(t: u32, ) -> Weight { - Weight::from_ref_time(82_605_000 as u64) - // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(88_000 as u64).saturating_mul(t as u64)) + fn close_tip(_t: u32, ) -> Weight { + Weight::from_ref_time(88_119_169 as u64) .saturating_add(T::DbWeight::get().reads(4 as u64)) .saturating_add(T::DbWeight::get().writes(4 as u64)) } // Storage: Tips Tips (r:1 w:1) // Storage: Tips Reasons (r:0 w:1) - fn slash_tip(t: u32, ) -> Weight { - Weight::from_ref_time(33_891_000 as u64) - // Standard Error: 0 - .saturating_add(Weight::from_ref_time(3_000 as u64).saturating_mul(t as u64)) + fn slash_tip(_t: u32, ) -> Weight { + Weight::from_ref_time(38_561_541 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } diff --git a/runtimes/spiritnet/src/weights/pallet_treasury.rs b/runtimes/spiritnet/src/weights/pallet_treasury.rs index 4b4781b88..24870ae17 100644 --- a/runtimes/spiritnet/src/weights/pallet_treasury.rs +++ b/runtimes/spiritnet/src/weights/pallet_treasury.rs @@ -19,7 +19,7 @@ //! Autogenerated weights for pallet_treasury //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-11-07, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2023-02-02, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("spiritnet-dev"), DB CACHE: 1024 // Executed Command: @@ -49,47 +49,49 @@ use sp_std::marker::PhantomData; pub struct WeightInfo(PhantomData); impl pallet_treasury::WeightInfo for WeightInfo { fn spend() -> Weight { - Weight::from_ref_time(378_000 as u64) + Weight::from_ref_time(418_000 as u64) } // Storage: Treasury ProposalCount (r:1 w:1) // Storage: Treasury Proposals (r:0 w:1) fn propose_spend() -> Weight { - Weight::from_ref_time(46_011_000 as u64) + Weight::from_ref_time(46_295_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Treasury Proposals (r:1 w:1) // Storage: System Account (r:2 w:2) fn reject_proposal() -> Weight { - Weight::from_ref_time(67_932_000 as u64) + Weight::from_ref_time(65_961_000 as u64) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } // Storage: Treasury Proposals (r:1 w:0) // Storage: Treasury Approvals (r:1 w:1) fn approve_proposal(p: u32, ) -> Weight { - Weight::from_ref_time(22_722_000 as u64) - // Standard Error: 2_000 - .saturating_add(Weight::from_ref_time(178_000 as u64).saturating_mul(p as u64)) + Weight::from_ref_time(23_116_505 as u64) + // Standard Error: 3_238 + .saturating_add(Weight::from_ref_time(32_116 as u64).saturating_mul(p as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: Treasury Approvals (r:1 w:1) fn remove_approval() -> Weight { - Weight::from_ref_time(15_033_000 as u64) + Weight::from_ref_time(13_839_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: System Account (r:1 w:0) + // Storage: Treasury Deactivated (r:1 w:1) + // Storage: Balances InactiveIssuance (r:1 w:1) // Storage: Treasury Approvals (r:1 w:1) // Storage: Treasury Proposals (r:2 w:2) fn on_initialize_proposals(p: u32, ) -> Weight { - Weight::from_ref_time(80_026_000 as u64) - // Standard Error: 19_000 - .saturating_add(Weight::from_ref_time(42_946_000 as u64).saturating_mul(p as u64)) - .saturating_add(T::DbWeight::get().reads(2 as u64)) + Weight::from_ref_time(86_421_113 as u64) + // Standard Error: 22_812 + .saturating_add(Weight::from_ref_time(43_276_121 as u64).saturating_mul(p as u64)) + .saturating_add(T::DbWeight::get().reads(4 as u64)) .saturating_add(T::DbWeight::get().reads((3 as u64).saturating_mul(p as u64))) - .saturating_add(T::DbWeight::get().writes(2 as u64)) + .saturating_add(T::DbWeight::get().writes(4 as u64)) .saturating_add(T::DbWeight::get().writes((3 as u64).saturating_mul(p as u64))) } } diff --git a/runtimes/spiritnet/src/weights/pallet_utility.rs b/runtimes/spiritnet/src/weights/pallet_utility.rs index fd8e8586b..382b49f82 100644 --- a/runtimes/spiritnet/src/weights/pallet_utility.rs +++ b/runtimes/spiritnet/src/weights/pallet_utility.rs @@ -19,7 +19,7 @@ //! Autogenerated weights for pallet_utility //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-11-07, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2023-02-02, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("spiritnet-dev"), DB CACHE: 1024 // Executed Command: @@ -49,24 +49,24 @@ use sp_std::marker::PhantomData; pub struct WeightInfo(PhantomData); impl pallet_utility::WeightInfo for WeightInfo { fn batch(c: u32, ) -> Weight { - Weight::from_ref_time(48_283_000 as u64) - // Standard Error: 3_000 - .saturating_add(Weight::from_ref_time(5_918_000 as u64).saturating_mul(c as u64)) + Weight::from_ref_time(64_564_729 as u64) + // Standard Error: 10_513 + .saturating_add(Weight::from_ref_time(5_519_850 as u64).saturating_mul(c as u64)) } fn as_derivative() -> Weight { - Weight::from_ref_time(11_513_000 as u64) + Weight::from_ref_time(22_370_000 as u64) } fn batch_all(c: u32, ) -> Weight { - Weight::from_ref_time(45_007_000 as u64) - // Standard Error: 3_000 - .saturating_add(Weight::from_ref_time(6_183_000 as u64).saturating_mul(c as u64)) + Weight::from_ref_time(31_625_754 as u64) + // Standard Error: 3_454 + .saturating_add(Weight::from_ref_time(5_895_258 as u64).saturating_mul(c as u64)) } fn dispatch_as() -> Weight { - Weight::from_ref_time(24_618_000 as u64) + Weight::from_ref_time(47_924_000 as u64) } fn force_batch(c: u32, ) -> Weight { - Weight::from_ref_time(59_263_000 as u64) - // Standard Error: 3_000 - .saturating_add(Weight::from_ref_time(5_899_000 as u64).saturating_mul(c as u64)) + Weight::from_ref_time(87_550_763 as u64) + // Standard Error: 13_181 + .saturating_add(Weight::from_ref_time(5_513_537 as u64).saturating_mul(c as u64)) } } diff --git a/runtimes/spiritnet/src/weights/pallet_vesting.rs b/runtimes/spiritnet/src/weights/pallet_vesting.rs index 16d08707f..339b86600 100644 --- a/runtimes/spiritnet/src/weights/pallet_vesting.rs +++ b/runtimes/spiritnet/src/weights/pallet_vesting.rs @@ -19,7 +19,7 @@ //! Autogenerated weights for pallet_vesting //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-11-07, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2023-02-02, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("spiritnet-dev"), DB CACHE: 1024 // Executed Command: @@ -51,22 +51,22 @@ impl pallet_vesting::WeightInfo for WeightInfo { // Storage: Vesting Vesting (r:1 w:1) // Storage: Balances Locks (r:1 w:1) fn vest_locked(l: u32, s: u32, ) -> Weight { - Weight::from_ref_time(64_602_000 as u64) - // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(64_000 as u64).saturating_mul(l as u64)) - // Standard Error: 2_000 - .saturating_add(Weight::from_ref_time(89_000 as u64).saturating_mul(s as u64)) + Weight::from_ref_time(61_313_888 as u64) + // Standard Error: 2_599 + .saturating_add(Weight::from_ref_time(47_078 as u64).saturating_mul(l as u64)) + // Standard Error: 4_624 + .saturating_add(Weight::from_ref_time(57_576 as u64).saturating_mul(s as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: Vesting Vesting (r:1 w:1) // Storage: Balances Locks (r:1 w:1) fn vest_unlocked(l: u32, s: u32, ) -> Weight { - Weight::from_ref_time(63_756_000 as u64) - // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(47_000 as u64).saturating_mul(l as u64)) - // Standard Error: 2_000 - .saturating_add(Weight::from_ref_time(53_000 as u64).saturating_mul(s as u64)) + Weight::from_ref_time(59_922_778 as u64) + // Standard Error: 2_511 + .saturating_add(Weight::from_ref_time(46_667 as u64).saturating_mul(l as u64)) + // Standard Error: 4_468 + .saturating_add(Weight::from_ref_time(37_564 as u64).saturating_mul(s as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } @@ -74,11 +74,11 @@ impl pallet_vesting::WeightInfo for WeightInfo { // Storage: Balances Locks (r:1 w:1) // Storage: System Account (r:1 w:1) fn vest_other_locked(l: u32, s: u32, ) -> Weight { - Weight::from_ref_time(63_837_000 as u64) - // Standard Error: 3_000 - .saturating_add(Weight::from_ref_time(48_000 as u64).saturating_mul(l as u64)) - // Standard Error: 5_000 - .saturating_add(Weight::from_ref_time(70_000 as u64).saturating_mul(s as u64)) + Weight::from_ref_time(62_541_122 as u64) + // Standard Error: 10_315 + .saturating_add(Weight::from_ref_time(10_711 as u64).saturating_mul(l as u64)) + // Standard Error: 18_352 + .saturating_add(Weight::from_ref_time(33_974 as u64).saturating_mul(s as u64)) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } @@ -86,23 +86,21 @@ impl pallet_vesting::WeightInfo for WeightInfo { // Storage: Balances Locks (r:1 w:1) // Storage: System Account (r:1 w:1) fn vest_other_unlocked(l: u32, s: u32, ) -> Weight { - Weight::from_ref_time(62_635_000 as u64) - // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(49_000 as u64).saturating_mul(l as u64)) - // Standard Error: 2_000 - .saturating_add(Weight::from_ref_time(28_000 as u64).saturating_mul(s as u64)) + Weight::from_ref_time(59_601_695 as u64) + // Standard Error: 2_556 + .saturating_add(Weight::from_ref_time(48_141 as u64).saturating_mul(l as u64)) + // Standard Error: 4_548 + .saturating_add(Weight::from_ref_time(17_534 as u64).saturating_mul(s as u64)) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } // Storage: Vesting Vesting (r:1 w:1) // Storage: System Account (r:1 w:1) // Storage: Balances Locks (r:1 w:1) - fn vested_transfer(l: u32, s: u32, ) -> Weight { - Weight::from_ref_time(89_798_000 as u64) - // Standard Error: 3_000 - .saturating_add(Weight::from_ref_time(42_000 as u64).saturating_mul(l as u64)) - // Standard Error: 5_000 - .saturating_add(Weight::from_ref_time(39_000 as u64).saturating_mul(s as u64)) + fn vested_transfer(l: u32, _s: u32, ) -> Weight { + Weight::from_ref_time(89_658_151 as u64) + // Standard Error: 15_033 + .saturating_add(Weight::from_ref_time(720 as u64).saturating_mul(l as u64)) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } @@ -110,11 +108,11 @@ impl pallet_vesting::WeightInfo for WeightInfo { // Storage: System Account (r:2 w:2) // Storage: Balances Locks (r:1 w:1) fn force_vested_transfer(l: u32, s: u32, ) -> Weight { - Weight::from_ref_time(88_784_000 as u64) - // Standard Error: 3_000 - .saturating_add(Weight::from_ref_time(37_000 as u64).saturating_mul(l as u64)) - // Standard Error: 6_000 - .saturating_add(Weight::from_ref_time(36_000 as u64).saturating_mul(s as u64)) + Weight::from_ref_time(84_902_216 as u64) + // Standard Error: 15_445 + .saturating_add(Weight::from_ref_time(38_803 as u64).saturating_mul(l as u64)) + // Standard Error: 27_481 + .saturating_add(Weight::from_ref_time(37_567 as u64).saturating_mul(s as u64)) .saturating_add(T::DbWeight::get().reads(4 as u64)) .saturating_add(T::DbWeight::get().writes(4 as u64)) } @@ -122,11 +120,11 @@ impl pallet_vesting::WeightInfo for WeightInfo { // Storage: Balances Locks (r:1 w:1) // Storage: System Account (r:1 w:1) fn not_unlocking_merge_schedules(l: u32, s: u32, ) -> Weight { - Weight::from_ref_time(63_311_000 as u64) - // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(71_000 as u64).saturating_mul(l as u64)) - // Standard Error: 2_000 - .saturating_add(Weight::from_ref_time(107_000 as u64).saturating_mul(s as u64)) + Weight::from_ref_time(61_223_810 as u64) + // Standard Error: 6_045 + .saturating_add(Weight::from_ref_time(43_583 as u64).saturating_mul(l as u64)) + // Standard Error: 11_164 + .saturating_add(Weight::from_ref_time(75_498 as u64).saturating_mul(s as u64)) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } @@ -134,11 +132,11 @@ impl pallet_vesting::WeightInfo for WeightInfo { // Storage: Balances Locks (r:1 w:1) // Storage: System Account (r:1 w:1) fn unlocking_merge_schedules(l: u32, s: u32, ) -> Weight { - Weight::from_ref_time(63_748_000 as u64) - // Standard Error: 2_000 - .saturating_add(Weight::from_ref_time(57_000 as u64).saturating_mul(l as u64)) - // Standard Error: 4_000 - .saturating_add(Weight::from_ref_time(96_000 as u64).saturating_mul(s as u64)) + Weight::from_ref_time(60_655_625 as u64) + // Standard Error: 2_481 + .saturating_add(Weight::from_ref_time(61_436 as u64).saturating_mul(l as u64)) + // Standard Error: 4_583 + .saturating_add(Weight::from_ref_time(66_389 as u64).saturating_mul(s as u64)) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } diff --git a/runtimes/spiritnet/src/weights/pallet_web3_names.rs b/runtimes/spiritnet/src/weights/pallet_web3_names.rs index 514b9b8fc..7f585ba5b 100644 --- a/runtimes/spiritnet/src/weights/pallet_web3_names.rs +++ b/runtimes/spiritnet/src/weights/pallet_web3_names.rs @@ -19,7 +19,7 @@ //! Autogenerated weights for pallet_web3_names //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-11-07, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2023-02-02, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("spiritnet-dev"), DB CACHE: 1024 // Executed Command: @@ -52,10 +52,8 @@ impl pallet_web3_names::WeightInfo for WeightInfo { // Storage: Web3Names Owner (r:1 w:1) // Storage: Web3Names Banned (r:1 w:0) // Storage: System Account (r:1 w:1) - fn claim(n: u32, ) -> Weight { - Weight::from_ref_time(58_244_000 as u64) - // Standard Error: 2_000 - .saturating_add(Weight::from_ref_time(15_000 as u64).saturating_mul(n as u64)) + fn claim(_n: u32, ) -> Weight { + Weight::from_ref_time(102_679_626 as u64) .saturating_add(T::DbWeight::get().reads(4 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } @@ -63,7 +61,7 @@ impl pallet_web3_names::WeightInfo for WeightInfo { // Storage: Web3Names Owner (r:1 w:1) // Storage: System Account (r:1 w:1) fn release_by_owner() -> Weight { - Weight::from_ref_time(56_431_000 as u64) + Weight::from_ref_time(51_802_000 as u64) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } @@ -71,9 +69,9 @@ impl pallet_web3_names::WeightInfo for WeightInfo { // Storage: System Account (r:1 w:1) // Storage: Web3Names Names (r:0 w:1) fn reclaim_deposit(n: u32, ) -> Weight { - Weight::from_ref_time(52_581_000 as u64) - // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(15_000 as u64).saturating_mul(n as u64)) + Weight::from_ref_time(63_332_008 as u64) + // Standard Error: 134_314 + .saturating_add(Weight::from_ref_time(68_210 as u64).saturating_mul(n as u64)) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } @@ -82,17 +80,17 @@ impl pallet_web3_names::WeightInfo for WeightInfo { // Storage: System Account (r:1 w:1) // Storage: Web3Names Names (r:0 w:1) fn ban(n: u32, ) -> Weight { - Weight::from_ref_time(56_484_000 as u64) - // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(48_000 as u64).saturating_mul(n as u64)) + Weight::from_ref_time(59_972_070 as u64) + // Standard Error: 149_718 + .saturating_add(Weight::from_ref_time(725_039 as u64).saturating_mul(n as u64)) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(4 as u64)) } // Storage: Web3Names Banned (r:1 w:1) fn unban(n: u32, ) -> Weight { - Weight::from_ref_time(30_798_000 as u64) - // Standard Error: 1_000 - .saturating_add(Weight::from_ref_time(45_000 as u64).saturating_mul(n as u64)) + Weight::from_ref_time(37_616_960 as u64) + // Standard Error: 67_444 + .saturating_add(Weight::from_ref_time(12_495 as u64).saturating_mul(n as u64)) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } @@ -100,14 +98,14 @@ impl pallet_web3_names::WeightInfo for WeightInfo { // Storage: Web3Names Owner (r:1 w:1) // Storage: System Account (r:2 w:2) fn change_deposit_owner() -> Weight { - Weight::from_ref_time(68_902_000 as u64) + Weight::from_ref_time(65_888_000 as u64) .saturating_add(T::DbWeight::get().reads(4 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } // Storage: Web3Names Owner (r:1 w:1) // Storage: System Account (r:1 w:1) fn update_deposit() -> Weight { - Weight::from_ref_time(60_306_000 as u64) + Weight::from_ref_time(55_963_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } diff --git a/runtimes/spiritnet/src/weights/parachain_staking.rs b/runtimes/spiritnet/src/weights/parachain_staking.rs index 6a8079bed..4e14fbac2 100644 --- a/runtimes/spiritnet/src/weights/parachain_staking.rs +++ b/runtimes/spiritnet/src/weights/parachain_staking.rs @@ -19,7 +19,7 @@ //! Autogenerated weights for parachain_staking //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-11-07, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2023-02-02, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("spiritnet-dev"), DB CACHE: 1024 // Executed Command: @@ -50,12 +50,12 @@ pub struct WeightInfo(PhantomData); impl parachain_staking::WeightInfo for WeightInfo { // Storage: ParachainStaking Round (r:1 w:0) fn on_initialize_no_action() -> Weight { - Weight::from_ref_time(7_704_000 as u64) + Weight::from_ref_time(15_785_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) } // Storage: ParachainStaking Round (r:1 w:1) fn on_initialize_round_update() -> Weight { - Weight::from_ref_time(22_382_000 as u64) + Weight::from_ref_time(46_933_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } @@ -65,13 +65,13 @@ impl parachain_staking::WeightInfo for WeightInfo { // Storage: ParachainStaking MaxSelectedCandidates (r:1 w:0) // Storage: System Account (r:1 w:1) fn on_initialize_network_rewards() -> Weight { - Weight::from_ref_time(58_095_000 as u64) + Weight::from_ref_time(55_668_000 as u64) .saturating_add(T::DbWeight::get().reads(5 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: ParachainStaking ForceNewRound (r:0 w:1) fn force_new_round() -> Weight { - Weight::from_ref_time(8_802_000 as u64) + Weight::from_ref_time(15_433_000 as u64) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: ParachainStaking CandidatePool (r:3 w:0) @@ -82,32 +82,35 @@ impl parachain_staking::WeightInfo for WeightInfo { // Storage: ParachainStaking InflationConfig (r:1 w:1) // Storage: ParachainStaking CounterForCandidatePool (r:1 w:0) fn set_inflation(n: u32, m: u32, ) -> Weight { - Weight::from_ref_time(0 as u64) - // Standard Error: 555_000 - .saturating_add(Weight::from_ref_time(492_148_000 as u64).saturating_mul(n as u64)) - // Standard Error: 1_181_000 - .saturating_add(Weight::from_ref_time(1_020_756_000 as u64).saturating_mul(m as u64)) - .saturating_add(T::DbWeight::get().reads((74 as u64).saturating_mul(n as u64))) - .saturating_add(T::DbWeight::get().reads((150 as u64).saturating_mul(m as u64))) - .saturating_add(T::DbWeight::get().writes((72 as u64).saturating_mul(n as u64))) - .saturating_add(T::DbWeight::get().writes((150 as u64).saturating_mul(m as u64))) + Weight::from_ref_time(860_135_000 as u64) + // Standard Error: 5_204_549 + .saturating_add(Weight::from_ref_time(166_980_678 as u64).saturating_mul(n as u64)) + // Standard Error: 11_174_052 + .saturating_add(Weight::from_ref_time(319_821_281 as u64).saturating_mul(m as u64)) + .saturating_add(T::DbWeight::get().reads(152 as u64)) + .saturating_add(T::DbWeight::get().reads((27 as u64).saturating_mul(n as u64))) + .saturating_add(T::DbWeight::get().reads((51 as u64).saturating_mul(m as u64))) + .saturating_add(T::DbWeight::get().writes(145 as u64)) + .saturating_add(T::DbWeight::get().writes((25 as u64).saturating_mul(n as u64))) + .saturating_add(T::DbWeight::get().writes((51 as u64).saturating_mul(m as u64))) } // Storage: ParachainStaking MaxSelectedCandidates (r:1 w:1) // Storage: ParachainStaking TopCandidates (r:1 w:0) // Storage: ParachainStaking TotalCollatorStake (r:1 w:1) // Storage: ParachainStaking CandidatePool (r:1 w:0) fn set_max_selected_candidates(n: u32, m: u32, ) -> Weight { - Weight::from_ref_time(0 as u64) - // Standard Error: 248_000 - .saturating_add(Weight::from_ref_time(26_647_000 as u64).saturating_mul(n as u64)) - // Standard Error: 416_000 - .saturating_add(Weight::from_ref_time(42_143_000 as u64).saturating_mul(m as u64)) + Weight::from_ref_time(71_385_000 as u64) + // Standard Error: 27_673 + .saturating_add(Weight::from_ref_time(3_574_268 as u64).saturating_mul(n as u64)) + // Standard Error: 61_251 + .saturating_add(Weight::from_ref_time(393_012 as u64).saturating_mul(m as u64)) + .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(n as u64))) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: ParachainStaking Round (r:1 w:1) fn set_blocks_per_round() -> Weight { - Weight::from_ref_time(29_347_000 as u64) + Weight::from_ref_time(28_124_000 as u64) .saturating_add(T::DbWeight::get().reads(1 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } @@ -126,11 +129,11 @@ impl parachain_staking::WeightInfo for WeightInfo { // Storage: ParachainStaking CounterForCandidatePool (r:1 w:1) // Storage: ParachainStaking MaxSelectedCandidates (r:1 w:0) fn force_remove_candidate(n: u32, m: u32, ) -> Weight { - Weight::from_ref_time(0 as u64) - // Standard Error: 242_000 - .saturating_add(Weight::from_ref_time(27_182_000 as u64).saturating_mul(n as u64)) - // Standard Error: 400_000 - .saturating_add(Weight::from_ref_time(77_252_000 as u64).saturating_mul(m as u64)) + Weight::from_ref_time(168_116_000 as u64) + // Standard Error: 34_857 + .saturating_add(Weight::from_ref_time(1_232_650 as u64).saturating_mul(n as u64)) + // Standard Error: 77_327 + .saturating_add(Weight::from_ref_time(31_901_426 as u64).saturating_mul(m as u64)) .saturating_add(T::DbWeight::get().reads(29 as u64)) .saturating_add(T::DbWeight::get().reads((4 as u64).saturating_mul(m as u64))) .saturating_add(T::DbWeight::get().writes(10 as u64)) @@ -147,11 +150,11 @@ impl parachain_staking::WeightInfo for WeightInfo { // Storage: ParachainStaking TotalCollatorStake (r:1 w:1) // Storage: ParachainStaking CounterForCandidatePool (r:1 w:1) fn join_candidates(n: u32, m: u32, ) -> Weight { - Weight::from_ref_time(0 as u64) - // Standard Error: 223_000 - .saturating_add(Weight::from_ref_time(22_119_000 as u64).saturating_mul(n as u64)) - // Standard Error: 464_000 - .saturating_add(Weight::from_ref_time(45_072_000 as u64).saturating_mul(m as u64)) + Weight::from_ref_time(77_165_699 as u64) + // Standard Error: 15_581 + .saturating_add(Weight::from_ref_time(831_262 as u64).saturating_mul(n as u64)) + // Standard Error: 32_355 + .saturating_add(Weight::from_ref_time(1_635_259 as u64).saturating_mul(m as u64)) .saturating_add(T::DbWeight::get().reads(10 as u64)) .saturating_add(T::DbWeight::get().writes(7 as u64)) } @@ -161,11 +164,11 @@ impl parachain_staking::WeightInfo for WeightInfo { // Storage: ParachainStaking MaxSelectedCandidates (r:1 w:0) // Storage: ParachainStaking TotalCollatorStake (r:1 w:1) fn init_leave_candidates(n: u32, m: u32, ) -> Weight { - Weight::from_ref_time(0 as u64) - // Standard Error: 252_000 - .saturating_add(Weight::from_ref_time(27_412_000 as u64).saturating_mul(n as u64)) - // Standard Error: 409_000 - .saturating_add(Weight::from_ref_time(50_493_000 as u64).saturating_mul(m as u64)) + Weight::from_ref_time(101_464_502 as u64) + // Standard Error: 16_047 + .saturating_add(Weight::from_ref_time(888_794 as u64).saturating_mul(n as u64)) + // Standard Error: 26_023 + .saturating_add(Weight::from_ref_time(1_978_806 as u64).saturating_mul(m as u64)) .saturating_add(T::DbWeight::get().reads(21 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } @@ -174,11 +177,11 @@ impl parachain_staking::WeightInfo for WeightInfo { // Storage: ParachainStaking MaxSelectedCandidates (r:1 w:0) // Storage: ParachainStaking TotalCollatorStake (r:1 w:1) fn cancel_leave_candidates(n: u32, m: u32, ) -> Weight { - Weight::from_ref_time(0 as u64) - // Standard Error: 261_000 - .saturating_add(Weight::from_ref_time(27_990_000 as u64).saturating_mul(n as u64)) - // Standard Error: 424_000 - .saturating_add(Weight::from_ref_time(51_790_000 as u64).saturating_mul(m as u64)) + Weight::from_ref_time(62_095_826 as u64) + // Standard Error: 12_132 + .saturating_add(Weight::from_ref_time(476_338 as u64).saturating_mul(n as u64)) + // Standard Error: 19_675 + .saturating_add(Weight::from_ref_time(1_129_496 as u64).saturating_mul(m as u64)) .saturating_add(T::DbWeight::get().reads(5 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } @@ -196,11 +199,11 @@ impl parachain_staking::WeightInfo for WeightInfo { // Storage: System Digest (r:1 w:1) // Storage: ParachainStaking CounterForCandidatePool (r:1 w:1) fn execute_leave_candidates(n: u32, m: u32, ) -> Weight { - Weight::from_ref_time(0 as u64) - // Standard Error: 246_000 - .saturating_add(Weight::from_ref_time(32_258_000 as u64).saturating_mul(n as u64)) - // Standard Error: 399_000 - .saturating_add(Weight::from_ref_time(87_573_000 as u64).saturating_mul(m as u64)) + Weight::from_ref_time(101_890_000 as u64) + // Standard Error: 30_385 + .saturating_add(Weight::from_ref_time(1_040_081 as u64).saturating_mul(n as u64)) + // Standard Error: 66_546 + .saturating_add(Weight::from_ref_time(32_125_693 as u64).saturating_mul(m as u64)) .saturating_add(T::DbWeight::get().reads(12 as u64)) .saturating_add(T::DbWeight::get().reads((4 as u64).saturating_mul(m as u64))) .saturating_add(T::DbWeight::get().writes(8 as u64)) @@ -218,12 +221,14 @@ impl parachain_staking::WeightInfo for WeightInfo { // Storage: ParachainStaking BlocksRewarded (r:1 w:1) // Storage: ParachainStaking Rewards (r:1 w:1) // Storage: ParachainStaking InflationConfig (r:1 w:0) - fn candidate_stake_more(n: u32, m: u32, _u: u32, ) -> Weight { - Weight::from_ref_time(0 as u64) - // Standard Error: 198_000 - .saturating_add(Weight::from_ref_time(28_777_000 as u64).saturating_mul(n as u64)) - // Standard Error: 412_000 - .saturating_add(Weight::from_ref_time(59_236_000 as u64).saturating_mul(m as u64)) + fn candidate_stake_more(n: u32, m: u32, u: u32, ) -> Weight { + Weight::from_ref_time(71_470_018 as u64) + // Standard Error: 13_867 + .saturating_add(Weight::from_ref_time(938_029 as u64).saturating_mul(n as u64)) + // Standard Error: 28_786 + .saturating_add(Weight::from_ref_time(1_857_412 as u64).saturating_mul(m as u64)) + // Standard Error: 106_632 + .saturating_add(Weight::from_ref_time(1_932_519 as u64).saturating_mul(u as u64)) .saturating_add(T::DbWeight::get().reads(12 as u64)) .saturating_add(T::DbWeight::get().writes(8 as u64)) } @@ -237,11 +242,11 @@ impl parachain_staking::WeightInfo for WeightInfo { // Storage: ParachainStaking Rewards (r:1 w:1) // Storage: ParachainStaking InflationConfig (r:1 w:0) fn candidate_stake_less(n: u32, m: u32, ) -> Weight { - Weight::from_ref_time(0 as u64) - // Standard Error: 234_000 - .saturating_add(Weight::from_ref_time(27_385_000 as u64).saturating_mul(n as u64)) - // Standard Error: 486_000 - .saturating_add(Weight::from_ref_time(56_532_000 as u64).saturating_mul(m as u64)) + Weight::from_ref_time(61_169_638 as u64) + // Standard Error: 16_197 + .saturating_add(Weight::from_ref_time(875_175 as u64).saturating_mul(n as u64)) + // Standard Error: 33_635 + .saturating_add(Weight::from_ref_time(1_699_929 as u64).saturating_mul(m as u64)) .saturating_add(T::DbWeight::get().reads(9 as u64)) .saturating_add(T::DbWeight::get().writes(6 as u64)) } @@ -258,11 +263,11 @@ impl parachain_staking::WeightInfo for WeightInfo { // Storage: ParachainStaking BlocksAuthored (r:1 w:0) // Storage: ParachainStaking BlocksRewarded (r:0 w:1) fn join_delegators(n: u32, m: u32, ) -> Weight { - Weight::from_ref_time(0 as u64) - // Standard Error: 229_000 - .saturating_add(Weight::from_ref_time(27_195_000 as u64).saturating_mul(n as u64)) - // Standard Error: 509_000 - .saturating_add(Weight::from_ref_time(59_003_000 as u64).saturating_mul(m as u64)) + Weight::from_ref_time(78_807_697 as u64) + // Standard Error: 14_488 + .saturating_add(Weight::from_ref_time(1_065_735 as u64).saturating_mul(n as u64)) + // Standard Error: 32_201 + .saturating_add(Weight::from_ref_time(2_188_025 as u64).saturating_mul(m as u64)) .saturating_add(T::DbWeight::get().reads(12 as u64)) .saturating_add(T::DbWeight::get().writes(9 as u64)) } @@ -278,12 +283,14 @@ impl parachain_staking::WeightInfo for WeightInfo { // Storage: ParachainStaking BlocksRewarded (r:1 w:1) // Storage: ParachainStaking Rewards (r:1 w:1) // Storage: ParachainStaking InflationConfig (r:1 w:0) - fn delegator_stake_more(n: u32, m: u32, _u: u32, ) -> Weight { - Weight::from_ref_time(0 as u64) - // Standard Error: 183_000 - .saturating_add(Weight::from_ref_time(28_638_000 as u64).saturating_mul(n as u64)) - // Standard Error: 408_000 - .saturating_add(Weight::from_ref_time(62_457_000 as u64).saturating_mul(m as u64)) + fn delegator_stake_more(n: u32, m: u32, u: u32, ) -> Weight { + Weight::from_ref_time(83_685_009 as u64) + // Standard Error: 12_652 + .saturating_add(Weight::from_ref_time(974_920 as u64).saturating_mul(n as u64)) + // Standard Error: 28_109 + .saturating_add(Weight::from_ref_time(1_928_583 as u64).saturating_mul(m as u64)) + // Standard Error: 109_022 + .saturating_add(Weight::from_ref_time(1_733_864 as u64).saturating_mul(u as u64)) .saturating_add(T::DbWeight::get().reads(12 as u64)) .saturating_add(T::DbWeight::get().writes(9 as u64)) } @@ -298,11 +305,11 @@ impl parachain_staking::WeightInfo for WeightInfo { // Storage: ParachainStaking Rewards (r:1 w:1) // Storage: ParachainStaking InflationConfig (r:1 w:0) fn delegator_stake_less(n: u32, m: u32, ) -> Weight { - Weight::from_ref_time(0 as u64) - // Standard Error: 228_000 - .saturating_add(Weight::from_ref_time(27_066_000 as u64).saturating_mul(n as u64)) - // Standard Error: 507_000 - .saturating_add(Weight::from_ref_time(58_897_000 as u64).saturating_mul(m as u64)) + Weight::from_ref_time(74_505_829 as u64) + // Standard Error: 14_680 + .saturating_add(Weight::from_ref_time(892_703 as u64).saturating_mul(n as u64)) + // Standard Error: 32_626 + .saturating_add(Weight::from_ref_time(1_762_577 as u64).saturating_mul(m as u64)) .saturating_add(T::DbWeight::get().reads(10 as u64)) .saturating_add(T::DbWeight::get().writes(7 as u64)) } @@ -317,11 +324,11 @@ impl parachain_staking::WeightInfo for WeightInfo { // Storage: ParachainStaking TopCandidates (r:1 w:1) // Storage: ParachainStaking MaxSelectedCandidates (r:1 w:0) fn leave_delegators(n: u32, m: u32, ) -> Weight { - Weight::from_ref_time(0 as u64) - // Standard Error: 228_000 - .saturating_add(Weight::from_ref_time(27_351_000 as u64).saturating_mul(n as u64)) - // Standard Error: 507_000 - .saturating_add(Weight::from_ref_time(59_344_000 as u64).saturating_mul(m as u64)) + Weight::from_ref_time(79_400_932 as u64) + // Standard Error: 13_884 + .saturating_add(Weight::from_ref_time(898_989 as u64).saturating_mul(n as u64)) + // Standard Error: 30_857 + .saturating_add(Weight::from_ref_time(1_759_657 as u64).saturating_mul(m as u64)) .saturating_add(T::DbWeight::get().reads(10 as u64)) .saturating_add(T::DbWeight::get().writes(7 as u64)) } @@ -329,15 +336,15 @@ impl parachain_staking::WeightInfo for WeightInfo { // Storage: Balances Locks (r:1 w:1) // Storage: System Account (r:1 w:1) fn unlock_unstaked(u: u32, ) -> Weight { - Weight::from_ref_time(56_951_000 as u64) - // Standard Error: 10_000 - .saturating_add(Weight::from_ref_time(251_000 as u64).saturating_mul(u as u64)) + Weight::from_ref_time(54_926_082 as u64) + // Standard Error: 86_974 + .saturating_add(Weight::from_ref_time(202_637 as u64).saturating_mul(u as u64)) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } // Storage: ParachainStaking MaxCollatorCandidateStake (r:0 w:1) fn set_max_candidate_stake() -> Weight { - Weight::from_ref_time(22_776_000 as u64) + Weight::from_ref_time(20_662_000 as u64) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: ParachainStaking DelegatorState (r:1 w:0) @@ -347,7 +354,7 @@ impl parachain_staking::WeightInfo for WeightInfo { // Storage: ParachainStaking TotalCollatorStake (r:1 w:0) // Storage: ParachainStaking InflationConfig (r:1 w:0) fn increment_delegator_rewards() -> Weight { - Weight::from_ref_time(46_254_000 as u64) + Weight::from_ref_time(40_748_000 as u64) .saturating_add(T::DbWeight::get().reads(6 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } @@ -358,14 +365,14 @@ impl parachain_staking::WeightInfo for WeightInfo { // Storage: ParachainStaking TotalCollatorStake (r:1 w:0) // Storage: ParachainStaking InflationConfig (r:1 w:0) fn increment_collator_rewards() -> Weight { - Weight::from_ref_time(39_479_000 as u64) + Weight::from_ref_time(35_860_000 as u64) .saturating_add(T::DbWeight::get().reads(6 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } // Storage: ParachainStaking Rewards (r:1 w:1) // Storage: System Account (r:1 w:1) fn claim_rewards() -> Weight { - Weight::from_ref_time(58_531_000 as u64) + Weight::from_ref_time(53_997_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(2 as u64)) } @@ -378,14 +385,16 @@ impl parachain_staking::WeightInfo for WeightInfo { // Storage: ParachainStaking TotalCollatorStake (r:1 w:0) // Storage: ParachainStaking CounterForCandidatePool (r:1 w:0) fn execute_scheduled_reward_change(n: u32, m: u32, ) -> Weight { - Weight::from_ref_time(0 as u64) - // Standard Error: 598_000 - .saturating_add(Weight::from_ref_time(497_598_000 as u64).saturating_mul(n as u64)) - // Standard Error: 1_271_000 - .saturating_add(Weight::from_ref_time(1_025_730_000 as u64).saturating_mul(m as u64)) - .saturating_add(T::DbWeight::get().reads((74 as u64).saturating_mul(n as u64))) - .saturating_add(T::DbWeight::get().reads((150 as u64).saturating_mul(m as u64))) - .saturating_add(T::DbWeight::get().writes((72 as u64).saturating_mul(n as u64))) - .saturating_add(T::DbWeight::get().writes((150 as u64).saturating_mul(m as u64))) + Weight::from_ref_time(850_431_000 as u64) + // Standard Error: 5_147_003 + .saturating_add(Weight::from_ref_time(163_355_731 as u64).saturating_mul(n as u64)) + // Standard Error: 11_050_503 + .saturating_add(Weight::from_ref_time(316_055_688 as u64).saturating_mul(m as u64)) + .saturating_add(T::DbWeight::get().reads(153 as u64)) + .saturating_add(T::DbWeight::get().reads((27 as u64).saturating_mul(n as u64))) + .saturating_add(T::DbWeight::get().reads((51 as u64).saturating_mul(m as u64))) + .saturating_add(T::DbWeight::get().writes(146 as u64)) + .saturating_add(T::DbWeight::get().writes((25 as u64).saturating_mul(n as u64))) + .saturating_add(T::DbWeight::get().writes((51 as u64).saturating_mul(m as u64))) } } diff --git a/runtimes/spiritnet/src/weights/public_credentials.rs b/runtimes/spiritnet/src/weights/public_credentials.rs index 78f5ca39b..025445dc0 100644 --- a/runtimes/spiritnet/src/weights/public_credentials.rs +++ b/runtimes/spiritnet/src/weights/public_credentials.rs @@ -19,7 +19,7 @@ //! Autogenerated weights for public_credentials //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-10-26, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2023-02-02, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("spiritnet-dev"), DB CACHE: 1024 // Executed Command: @@ -53,23 +53,23 @@ impl public_credentials::WeightInfo for WeightInfo { // Storage: System Account (r:1 w:1) // Storage: PublicCredentials CredentialSubjects (r:0 w:1) fn add(c: u32, ) -> Weight { - Weight::from_ref_time(72_520_000 as u64) - // Standard Error: 0 - .saturating_add(Weight::from_ref_time(2_000 as u64).saturating_mul(c as u64)) + Weight::from_ref_time(89_428_317 as u64) + // Standard Error: 51 + .saturating_add(Weight::from_ref_time(2_738 as u64).saturating_mul(c as u64)) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } // Storage: PublicCredentials CredentialSubjects (r:1 w:0) // Storage: PublicCredentials Credentials (r:1 w:1) fn revoke() -> Weight { - Weight::from_ref_time(44_494_000 as u64) + Weight::from_ref_time(43_997_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } // Storage: PublicCredentials CredentialSubjects (r:1 w:0) // Storage: PublicCredentials Credentials (r:1 w:1) fn unrevoke() -> Weight { - Weight::from_ref_time(44_170_000 as u64) + Weight::from_ref_time(42_235_000 as u64) .saturating_add(T::DbWeight::get().reads(2 as u64)) .saturating_add(T::DbWeight::get().writes(1 as u64)) } @@ -77,7 +77,7 @@ impl public_credentials::WeightInfo for WeightInfo { // Storage: PublicCredentials Credentials (r:1 w:1) // Storage: System Account (r:1 w:1) fn remove() -> Weight { - Weight::from_ref_time(69_989_000 as u64) + Weight::from_ref_time(67_917_000 as u64) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } @@ -85,18 +85,24 @@ impl public_credentials::WeightInfo for WeightInfo { // Storage: PublicCredentials Credentials (r:1 w:1) // Storage: System Account (r:1 w:1) fn reclaim_deposit() -> Weight { - Weight::from_ref_time(69_237_000 as u64) + Weight::from_ref_time(65_727_000 as u64) .saturating_add(T::DbWeight::get().reads(3 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } + // Storage: PublicCredentials CredentialSubjects (r:1 w:0) + // Storage: PublicCredentials Credentials (r:1 w:1) + // Storage: System Account (r:2 w:2) fn change_deposit_owner() -> Weight { - Weight::from_ref_time(68_692_000 as u64) - .saturating_add(T::DbWeight::get().reads(3 as u64)) + Weight::from_ref_time(86_688_000 as u64) + .saturating_add(T::DbWeight::get().reads(4 as u64)) .saturating_add(T::DbWeight::get().writes(3 as u64)) } + // Storage: PublicCredentials CredentialSubjects (r:1 w:0) + // Storage: PublicCredentials Credentials (r:1 w:1) + // Storage: System Account (r:1 w:1) fn update_deposit() -> Weight { - Weight::from_ref_time(68_692_000 as u64) + Weight::from_ref_time(186_280_000 as u64) .saturating_add(T::DbWeight::get().reads(3 as u64)) - .saturating_add(T::DbWeight::get().writes(3 as u64)) + .saturating_add(T::DbWeight::get().writes(2 as u64)) } }